diff --git a/lib/tests/modules/submoduleFiles.nix b/lib/tests/modules/submoduleFiles.nix index c0d9b2cef3e8d..b7ce6828cf5c4 100644 --- a/lib/tests/modules/submoduleFiles.nix +++ b/lib/tests/modules/submoduleFiles.nix @@ -1,14 +1,20 @@ -{ lib, ... }: { +{ lib, ... }: +{ options.submodule = lib.mkOption { - default = {}; + default = { }; type = lib.types.submoduleWith { - modules = [ ({ options, ... }: { - options.value = lib.mkOption {}; + modules = [ + ( + { options, ... }: + { + options.value = lib.mkOption { }; - options.internalFiles = lib.mkOption { - default = options.value.files; - }; - })]; + options.internalFiles = lib.mkOption { + default = options.value.files; + }; + } + ) + ]; }; }; diff --git a/lib/tests/modules/test-mergeAttrDefinitionsWithPrio.nix b/lib/tests/modules/test-mergeAttrDefinitionsWithPrio.nix index 3233f41513687..0086ce9fda103 100644 --- a/lib/tests/modules/test-mergeAttrDefinitionsWithPrio.nix +++ b/lib/tests/modules/test-mergeAttrDefinitionsWithPrio.nix @@ -2,7 +2,9 @@ let defs = lib.modules.mergeAttrDefinitionsWithPrio options._module.args; - assertLazy = pos: throw "${pos.file}:${toString pos.line}:${toString pos.column}: The test must not evaluate this the assertLazy thunk, but it did. Unexpected strictness leads to unexpected errors and performance problems."; + assertLazy = + pos: + throw "${pos.file}:${toString pos.line}:${toString pos.column}: The test must not evaluate this the assertLazy thunk, but it did. Unexpected strictness leads to unexpected errors and performance problems."; in { diff --git a/lib/tests/modules/types-anything/attrs-coercible.nix b/lib/tests/modules/types-anything/attrs-coercible.nix index 085cbd638f17f..75bc2121a22a3 100644 --- a/lib/tests/modules/types-anything/attrs-coercible.nix +++ b/lib/tests/modules/types-anything/attrs-coercible.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ options.value = lib.mkOption { type = lib.types.anything; diff --git a/lib/tests/modules/types-anything/equal-atoms.nix b/lib/tests/modules/types-anything/equal-atoms.nix index 28d2b53ceee34..66d1779d1ffbf 100644 --- a/lib/tests/modules/types-anything/equal-atoms.nix +++ b/lib/tests/modules/types-anything/equal-atoms.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ options.value = lib.mkOption { type = lib.types.anything; @@ -12,7 +13,11 @@ value.path = ./.; value.null = null; value.float = 0.1; - value.list = [1 "a" {x=null;}]; + value.list = [ + 1 + "a" + { x = null; } + ]; } { value.int = 0; @@ -21,7 +26,11 @@ value.path = ./.; value.null = null; value.float = 0.1; - value.list = [1 "a" {x=null;}]; + value.list = [ + 1 + "a" + { x = null; } + ]; } ]; diff --git a/lib/tests/modules/types-anything/functions.nix b/lib/tests/modules/types-anything/functions.nix index 3288b64f9b7eb..c29e3a1c5d8c1 100644 --- a/lib/tests/modules/types-anything/functions.nix +++ b/lib/tests/modules/types-anything/functions.nix @@ -1,4 +1,5 @@ -{ lib, config, ... }: { +{ lib, config, ... }: +{ options.valueIsFunction = lib.mkOption { default = lib.mapAttrs (name: lib.isFunction) config.value; diff --git a/lib/tests/modules/types-anything/lists.nix b/lib/tests/modules/types-anything/lists.nix index 21ca9d24f7a85..de647cd8d1a49 100644 --- a/lib/tests/modules/types-anything/lists.nix +++ b/lib/tests/modules/types-anything/lists.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ options.value = lib.mkOption { type = lib.types.anything; diff --git a/lib/tests/modules/types-anything/mk-mods.nix b/lib/tests/modules/types-anything/mk-mods.nix index f84ad01df0174..36f73ce112366 100644 --- a/lib/tests/modules/types-anything/mk-mods.nix +++ b/lib/tests/modules/types-anything/mk-mods.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ options.value = lib.mkOption { type = lib.types.anything; @@ -6,10 +7,10 @@ config = lib.mkMerge [ { - value.mkiffalse = lib.mkIf false {}; + value.mkiffalse = lib.mkIf false { }; } { - value.mkiftrue = lib.mkIf true {}; + value.mkiftrue = lib.mkIf true { }; } { value.mkdefault = lib.mkDefault 0; @@ -19,7 +20,7 @@ } { value.mkmerge = lib.mkMerge [ - {} + { } ]; } { diff --git a/lib/tests/modules/types-anything/nested-attrs.nix b/lib/tests/modules/types-anything/nested-attrs.nix index e57d33ef8717e..9754aa1fdc9d8 100644 --- a/lib/tests/modules/types-anything/nested-attrs.nix +++ b/lib/tests/modules/types-anything/nested-attrs.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ options.value = lib.mkOption { type = lib.types.anything; diff --git a/lib/tests/modules/types-attrTag-wrong-decl.nix b/lib/tests/modules/types-attrTag-wrong-decl.nix index d03370bc10da4..7e529235e0263 100644 --- a/lib/tests/modules/types-attrTag-wrong-decl.nix +++ b/lib/tests/modules/types-attrTag-wrong-decl.nix @@ -8,7 +8,9 @@ in type = types.attrTag { int = types.int; }; - default = { int = 1; }; + default = { + int = 1; + }; }; }; } diff --git a/lib/tests/modules/types-attrTag.nix b/lib/tests/modules/types-attrTag.nix index b2e5158bb44b6..82d6e3c175906 100644 --- a/lib/tests/modules/types-attrTag.nix +++ b/lib/tests/modules/types-attrTag.nix @@ -1,4 +1,9 @@ -{ lib, config, options, ... }: +{ + lib, + config, + options, + ... +}: let inherit (lib) mkOption types; forceDeep = x: builtins.deepSeq x x; @@ -7,15 +12,16 @@ in { options = { intStrings = mkOption { - type = types.attrsOf - (types.attrTag { + type = types.attrsOf ( + types.attrTag { left = mkOption { type = types.int; }; right = mkOption { type = types.str; }; - }); + } + ); }; nested = mkOption { type = types.attrTag { @@ -65,7 +71,7 @@ in } ); }; - okChecks = mkOption {}; + okChecks = mkOption { }; }; imports = [ ./docs.nix @@ -86,10 +92,19 @@ in ]; config = { intStrings.syntaxError = 1; - intStrings.syntaxError2 = {}; - intStrings.syntaxError3 = { a = true; b = true; }; - intStrings.syntaxError4 = lib.mkMerge [ { a = true; } { b = true; } ]; - intStrings.mergeError = lib.mkMerge [ { int = throw "do not eval"; } { string = throw "do not eval"; } ]; + intStrings.syntaxError2 = { }; + intStrings.syntaxError3 = { + a = true; + b = true; + }; + intStrings.syntaxError4 = lib.mkMerge [ + { a = true; } + { b = true; } + ]; + intStrings.mergeError = lib.mkMerge [ + { int = throw "do not eval"; } + { string = throw "do not eval"; } + ]; intStrings.badTagError.rite = throw "do not eval"; intStrings.badTagTypeError.left = "bad"; intStrings.numberOne.left = 1; @@ -109,7 +124,12 @@ in assert config.docs."submodules..foo.bar".type == "signed integer"; assert config.docs."submodules..qux".type == "string"; assert config.docs."submodules..qux".declarations == [ __curPos.file ]; - assert config.docs."submodules..qux".loc == [ "submodules" "" "qux" ]; + assert + config.docs."submodules..qux".loc == [ + "submodules" + "" + "qux" + ]; assert config.docs."submodules..qux".name == "submodules..qux"; assert config.docs."submodules..qux".description == "A qux for when you don't want a foo"; assert config.docs."submodules..qux".readOnly == false; @@ -119,17 +139,30 @@ in assert options.submodules.declarations == [ __curPos.file ]; assert lib.length options.submodules.declarationPositions == 1; assert (lib.head options.submodules.declarationPositions).file == __curPos.file; - assert options.merged.declarations == [ __curPos.file __curPos.file ]; + assert + options.merged.declarations == [ + __curPos.file + __curPos.file + ]; assert lib.length options.merged.declarationPositions == 2; assert (lib.elemAt options.merged.declarationPositions 0).file == __curPos.file; assert (lib.elemAt options.merged.declarationPositions 1).file == __curPos.file; - assert (lib.elemAt options.merged.declarationPositions 0).line != (lib.elemAt options.merged.declarationPositions 1).line; - assert mergedSubOption.declarations == [ __curPos.file __curPos.file ]; + assert + (lib.elemAt options.merged.declarationPositions 0).line + != (lib.elemAt options.merged.declarationPositions 1).line; + assert + mergedSubOption.declarations == [ + __curPos.file + __curPos.file + ]; assert lib.length mergedSubOption.declarationPositions == 2; assert (lib.elemAt mergedSubOption.declarationPositions 0).file == __curPos.file; assert (lib.elemAt mergedSubOption.declarationPositions 1).file == __curPos.file; - assert (lib.elemAt mergedSubOption.declarationPositions 0).line != (lib.elemAt mergedSubOption.declarationPositions 1).line; + assert + (lib.elemAt mergedSubOption.declarationPositions 0).line + != (lib.elemAt mergedSubOption.declarationPositions 1).line; assert lib.length config.docs."merged..extensible".declarations == 2; - true); + true + ); }; } diff --git a/lib/tests/modules/types-unique.nix b/lib/tests/modules/types-unique.nix index 115be01269759..83efcbbb15952 100644 --- a/lib/tests/modules/types-unique.nix +++ b/lib/tests/modules/types-unique.nix @@ -4,13 +4,18 @@ let in { options.examples = mkOption { - type = types.lazyAttrsOf - (types.unique - { message = "We require a single definition, because seeing the whole value at once helps us maintain critical invariants of our system."; } - (types.attrsOf types.str)); + type = types.lazyAttrsOf ( + types.unique { + message = "We require a single definition, because seeing the whole value at once helps us maintain critical invariants of our system."; + } (types.attrsOf types.str) + ); }; imports = [ - { examples.merged = { b = "bee"; }; } + { + examples.merged = { + b = "bee"; + }; + } { examples.override = lib.mkForce { b = "bee"; }; } ]; config.examples = { diff --git a/lib/tests/nix-for-tests.nix b/lib/tests/nix-for-tests.nix index 69dedece38740..56263feea0e6c 100644 --- a/lib/tests/nix-for-tests.nix +++ b/lib/tests/nix-for-tests.nix @@ -1,4 +1,5 @@ -{ pkgs +{ + pkgs, }: # The aws-sdk-cpp tests are flaky. Since pull requests to staging @@ -10,8 +11,6 @@ # # See also: https://github.com/NixOS/nix/issues/7582 -builtins.mapAttrs (_: pkg: - if builtins.isAttrs pkg - then pkg.override { withAWS = false; } - else pkg) - pkgs.nixVersions +builtins.mapAttrs ( + _: pkg: if builtins.isAttrs pkg then pkg.override { withAWS = false; } else pkg +) pkgs.nixVersions diff --git a/lib/tests/packages-from-directory/a.nix b/lib/tests/packages-from-directory/a.nix index 54f9eafd8e878..0ba3be1fa5a5c 100644 --- a/lib/tests/packages-from-directory/a.nix +++ b/lib/tests/packages-from-directory/a.nix @@ -1,2 +1 @@ -{ }: -"a" +{ }: "a" diff --git a/lib/tests/packages-from-directory/b.nix b/lib/tests/packages-from-directory/b.nix index 345b3c25fa2a9..37d4cc1dffcf5 100644 --- a/lib/tests/packages-from-directory/b.nix +++ b/lib/tests/packages-from-directory/b.nix @@ -1,2 +1 @@ -{ }: -"b" +{ }: "b" diff --git a/lib/tests/packages-from-directory/c/package.nix b/lib/tests/packages-from-directory/c/package.nix index c1203cdde9602..33caddbec8808 100644 --- a/lib/tests/packages-from-directory/c/package.nix +++ b/lib/tests/packages-from-directory/c/package.nix @@ -1,2 +1 @@ -{ }: -"c" +{ }: "c" diff --git a/lib/tests/packages-from-directory/my-namespace/d.nix b/lib/tests/packages-from-directory/my-namespace/d.nix index 6e5eaa09e9956..20596bd6a97c6 100644 --- a/lib/tests/packages-from-directory/my-namespace/d.nix +++ b/lib/tests/packages-from-directory/my-namespace/d.nix @@ -1,2 +1 @@ -{ }: -"d" +{ }: "d" diff --git a/lib/tests/packages-from-directory/my-namespace/e.nix b/lib/tests/packages-from-directory/my-namespace/e.nix index 50bd742f800cb..9e7f6951f5211 100644 --- a/lib/tests/packages-from-directory/my-namespace/e.nix +++ b/lib/tests/packages-from-directory/my-namespace/e.nix @@ -1,2 +1 @@ -{ }: -"e" +{ }: "e" diff --git a/lib/tests/packages-from-directory/my-namespace/f/package.nix b/lib/tests/packages-from-directory/my-namespace/f/package.nix index c9a66c2eb1208..d58cfe01d606b 100644 --- a/lib/tests/packages-from-directory/my-namespace/f/package.nix +++ b/lib/tests/packages-from-directory/my-namespace/f/package.nix @@ -1,2 +1 @@ -{ }: -"f" +{ }: "f" diff --git a/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix index 4ecaffbf1dc73..e8f6b37f3468e 100644 --- a/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix +++ b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix @@ -1,2 +1 @@ -{ }: -"g" +{ }: "g" diff --git a/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix index 3756275ba7524..34a0416e95772 100644 --- a/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix +++ b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix @@ -1,2 +1 @@ -{ }: -"h" +{ }: "h" diff --git a/lib/tests/teams.nix b/lib/tests/teams.nix index 8a0a5d272634b..6cf3aa0ef27c1 100644 --- a/lib/tests/teams.nix +++ b/lib/tests/teams.nix @@ -1,50 +1,61 @@ # to run these tests: # nix-build nixpkgs/lib/tests/teams.nix # If it builds, all tests passed -{ pkgs ? import ../.. {}, lib ? pkgs.lib }: +{ + pkgs ? import ../.. { }, + lib ? pkgs.lib, +}: let inherit (lib) types; - teamModule = { config, ... }: { - options = { - shortName = lib.mkOption { - type = types.str; - }; - scope = lib.mkOption { - type = types.str; - }; - enableFeatureFreezePing = lib.mkOption { - type = types.bool; - default = false; - }; - members = lib.mkOption { - type = types.listOf (types.submodule - (import ./maintainer-module.nix { inherit lib; }) - ); - default = []; - }; - githubTeams = lib.mkOption { - type = types.listOf types.str; - default = []; + teamModule = + { config, ... }: + { + options = { + shortName = lib.mkOption { + type = types.str; + }; + scope = lib.mkOption { + type = types.str; + }; + enableFeatureFreezePing = lib.mkOption { + type = types.bool; + default = false; + }; + members = lib.mkOption { + type = types.listOf (types.submodule (import ./maintainer-module.nix { inherit lib; })); + default = [ ]; + }; + githubTeams = lib.mkOption { + type = types.listOf types.str; + default = [ ]; + }; }; }; - }; - checkTeam = team: uncheckedAttrs: - let - prefix = [ "lib" "maintainer-team" team ]; - checkedAttrs = (lib.modules.evalModules { - inherit prefix; - modules = [ - teamModule - { - _file = toString ../../maintainers/team-list.nix; - config = uncheckedAttrs; - } - ]; - }).config; - in checkedAttrs; + checkTeam = + team: uncheckedAttrs: + let + prefix = [ + "lib" + "maintainer-team" + team + ]; + checkedAttrs = + (lib.modules.evalModules { + inherit prefix; + modules = [ + teamModule + { + _file = toString ../../maintainers/team-list.nix; + config = uncheckedAttrs; + } + ]; + }).config; + in + checkedAttrs; checkedTeams = lib.mapAttrs checkTeam lib.teams; -in pkgs.writeTextDir "maintainer-teams.json" (builtins.toJSON checkedTeams) +in +pkgs.writeTextDir "maintainer-teams.json" (builtins.toJSON checkedTeams) diff --git a/lib/tests/test-with-nix.nix b/lib/tests/test-with-nix.nix index a6aee9859428a..0be65a743f00f 100644 --- a/lib/tests/test-with-nix.nix +++ b/lib/tests/test-with-nix.nix @@ -1,12 +1,12 @@ /** - * Instantiate the library tests for a given Nix version. - * - * IMPORTANT: - * This is used by the github.com/NixOS/nix CI. - * - * Try not to change the interface of this file, or if you need to, ping the - * Nix maintainers for help. Thank you! - */ + Instantiate the library tests for a given Nix version. + + IMPORTANT: + This is used by the github.com/NixOS/nix CI. + + Try not to change the interface of this file, or if you need to, ping the + Nix maintainers for help. Thank you! +*/ { pkgs, lib, @@ -14,67 +14,69 @@ nix, }: -pkgs.runCommand "nixpkgs-lib-tests-nix-${nix.version}" { - buildInputs = [ - (import ./check-eval.nix) - (import ./fetchers.nix) - (import ./maintainers.nix { - inherit pkgs; - lib = import ../.; - }) - (import ./teams.nix { - inherit pkgs; - lib = import ../.; - }) - (import ../path/tests { - inherit pkgs; - }) - ]; - nativeBuildInputs = [ - nix - pkgs.gitMinimal - ] ++ lib.optional pkgs.stdenv.hostPlatform.isLinux pkgs.inotify-tools; - strictDeps = true; -} '' - datadir="${nix}/share" - export TEST_ROOT=$(pwd)/test-tmp - export HOME=$(mktemp -d) - export NIX_BUILD_HOOK= - export NIX_CONF_DIR=$TEST_ROOT/etc - export NIX_LOCALSTATE_DIR=$TEST_ROOT/var - export NIX_LOG_DIR=$TEST_ROOT/var/log/nix - export NIX_STATE_DIR=$TEST_ROOT/var/nix - export NIX_STORE_DIR=$TEST_ROOT/store - export PAGER=cat - cacheDir=$TEST_ROOT/binary-cache +pkgs.runCommand "nixpkgs-lib-tests-nix-${nix.version}" + { + buildInputs = [ + (import ./check-eval.nix) + (import ./fetchers.nix) + (import ./maintainers.nix { + inherit pkgs; + lib = import ../.; + }) + (import ./teams.nix { + inherit pkgs; + lib = import ../.; + }) + (import ../path/tests { + inherit pkgs; + }) + ]; + nativeBuildInputs = [ + nix + pkgs.gitMinimal + ] ++ lib.optional pkgs.stdenv.hostPlatform.isLinux pkgs.inotify-tools; + strictDeps = true; + } + '' + datadir="${nix}/share" + export TEST_ROOT=$(pwd)/test-tmp + export HOME=$(mktemp -d) + export NIX_BUILD_HOOK= + export NIX_CONF_DIR=$TEST_ROOT/etc + export NIX_LOCALSTATE_DIR=$TEST_ROOT/var + export NIX_LOG_DIR=$TEST_ROOT/var/log/nix + export NIX_STATE_DIR=$TEST_ROOT/var/nix + export NIX_STORE_DIR=$TEST_ROOT/store + export PAGER=cat + cacheDir=$TEST_ROOT/binary-cache - nix-store --init + nix-store --init - cp -r ${../.} lib - echo "Running lib/tests/modules.sh" - bash lib/tests/modules.sh + cp -r ${../.} lib + echo "Running lib/tests/modules.sh" + bash lib/tests/modules.sh - echo "Checking lib.version" - nix-instantiate lib -A version --eval || { - echo "lib.version does not evaluate when lib is isolated from the rest of the nixpkgs tree" - exit 1 - } + echo "Checking lib.version" + nix-instantiate lib -A version --eval || { + echo "lib.version does not evaluate when lib is isolated from the rest of the nixpkgs tree" + exit 1 + } - echo "Running lib/tests/filesystem.sh" - TEST_LIB=$PWD/lib bash lib/tests/filesystem.sh + echo "Running lib/tests/filesystem.sh" + TEST_LIB=$PWD/lib bash lib/tests/filesystem.sh - echo "Running lib/tests/sources.sh" - TEST_LIB=$PWD/lib bash lib/tests/sources.sh + echo "Running lib/tests/sources.sh" + TEST_LIB=$PWD/lib bash lib/tests/sources.sh - echo "Running lib/tests/network.sh" - TEST_LIB=$PWD/lib bash lib/tests/network.sh + echo "Running lib/tests/network.sh" + TEST_LIB=$PWD/lib bash lib/tests/network.sh - echo "Running lib/fileset/tests.sh" - TEST_LIB=$PWD/lib bash lib/fileset/tests.sh + echo "Running lib/fileset/tests.sh" + TEST_LIB=$PWD/lib bash lib/fileset/tests.sh - echo "Running lib/tests/systems.nix" - [[ $(nix-instantiate --eval --strict lib/tests/systems.nix | tee /dev/stderr) == '[ ]' ]]; + echo "Running lib/tests/systems.nix" + [[ $(nix-instantiate --eval --strict lib/tests/systems.nix | tee /dev/stderr) == '[ ]' ]]; - mkdir $out - echo success > $out/${nix.version} -'' + mkdir $out + echo success > $out/${nix.version} + '' diff --git a/lib/versions.nix b/lib/versions.nix index 720d19e8ca29f..32b4b5fbf945d 100644 --- a/lib/versions.nix +++ b/lib/versions.nix @@ -1,17 +1,19 @@ -/* Version string functions. */ +# Version string functions. { lib }: rec { - /* Break a version string into its component parts. + /* + Break a version string into its component parts. - Example: - splitVersion "1.2.3" - => ["1" "2" "3"] + Example: + splitVersion "1.2.3" + => ["1" "2" "3"] */ splitVersion = builtins.splitVersion; - /* Get the major version string from a string. + /* + Get the major version string from a string. Example: major "1.2.3" @@ -19,7 +21,8 @@ rec { */ major = v: builtins.elemAt (splitVersion v) 0; - /* Get the minor version string from a string. + /* + Get the minor version string from a string. Example: minor "1.2.3" @@ -27,7 +30,8 @@ rec { */ minor = v: builtins.elemAt (splitVersion v) 1; - /* Get the patch version string from a string. + /* + Get the patch version string from a string. Example: patch "1.2.3" @@ -35,30 +39,34 @@ rec { */ patch = v: builtins.elemAt (splitVersion v) 2; - /* Get string of the first two parts (major and minor) - of a version string. + /* + Get string of the first two parts (major and minor) + of a version string. - Example: - majorMinor "1.2.3" - => "1.2" + Example: + majorMinor "1.2.3" + => "1.2" */ - majorMinor = v: - builtins.concatStringsSep "." - (lib.take 2 (splitVersion v)); + majorMinor = v: builtins.concatStringsSep "." (lib.take 2 (splitVersion v)); - /* Pad a version string with zeros to match the given number of components. + /* + Pad a version string with zeros to match the given number of components. - Example: - pad 3 "1.2" - => "1.2.0" - pad 3 "1.3-rc1" - => "1.3.0-rc1" - pad 3 "1.2.3.4" - => "1.2.3" + Example: + pad 3 "1.2" + => "1.2.0" + pad 3 "1.3-rc1" + => "1.3.0-rc1" + pad 3 "1.2.3.4" + => "1.2.3" */ - pad = n: version: let - numericVersion = lib.head (lib.splitString "-" version); - versionSuffix = lib.removePrefix numericVersion version; - in lib.concatStringsSep "." (lib.take n (lib.splitVersion numericVersion ++ lib.genList (_: "0") n)) + versionSuffix; + pad = + n: version: + let + numericVersion = lib.head (lib.splitString "-" version); + versionSuffix = lib.removePrefix numericVersion version; + in + lib.concatStringsSep "." (lib.take n (lib.splitVersion numericVersion ++ lib.genList (_: "0") n)) + + versionSuffix; } diff --git a/maintainers/scripts/all-tarballs.nix b/maintainers/scripts/all-tarballs.nix index 83236e6fa91e9..df89012c60301 100644 --- a/maintainers/scripts/all-tarballs.nix +++ b/maintainers/scripts/all-tarballs.nix @@ -1,16 +1,17 @@ -/* Helper expression for copy-tarballs. This returns (nearly) all - tarballs used the free packages in Nixpkgs. +/* + Helper expression for copy-tarballs. This returns (nearly) all + tarballs used the free packages in Nixpkgs. - Typical usage: + Typical usage: - $ copy-tarballs.pl --expr 'import ' + $ copy-tarballs.pl --expr 'import ' */ -import ../../pkgs/top-level/release.nix - { # Don't apply ‘hydraJob’ to jobs, because then we can't get to the - # dependency graph. - scrubJobs = false; - # No need to evaluate on i686. - supportedSystems = [ "x86_64-linux" ]; - bootstrapConfigs = []; - } +import ../../pkgs/top-level/release.nix { + # Don't apply ‘hydraJob’ to jobs, because then we can't get to the + # dependency graph. + scrubJobs = false; + # No need to evaluate on i686. + supportedSystems = [ "x86_64-linux" ]; + bootstrapConfigs = [ ]; +} diff --git a/maintainers/scripts/build.nix b/maintainers/scripts/build.nix index 0783651df8f41..969b72f6d8034 100644 --- a/maintainers/scripts/build.nix +++ b/maintainers/scripts/build.nix @@ -1,8 +1,11 @@ -{ maintainer -, localSystem ? { system = args.system or builtins.currentSystem; } -, system ? localSystem.system -, crossSystem ? localSystem -, ... +{ + maintainer, + localSystem ? { + system = args.system or builtins.currentSystem; + }, + system ? localSystem.system, + crossSystem ? localSystem, + ... }@args: # based on update.nix @@ -27,49 +30,51 @@ let file: if builtins.pathExists file then super._internalCallByNamePackageFile file else null; }; - nixpkgsArgs = removeAttrs args [ "maintainer" "overlays" ] // { - overlays = args.overlays or [] ++ [ overlay ]; - }; + nixpkgsArgs = + removeAttrs args [ + "maintainer" + "overlays" + ] + // { + overlays = args.overlays or [ ] ++ [ overlay ]; + }; pkgs = import ./../../default.nix nixpkgsArgs; maintainer_ = pkgs.lib.maintainers.${maintainer}; - packagesWith = cond: return: set: - (pkgs.lib.flatten - (pkgs.lib.mapAttrsToList - (name: pkg: - let - result = builtins.tryEval - ( - if pkgs.lib.isDerivation pkg && cond name pkg then - # Skip packages whose closure fails on evaluation. - # This happens for pkgs like `python27Packages.djangoql` - # that have disabled Python pkgs as dependencies. - builtins.seq pkg.outPath - [ (return name pkg) ] - else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false - then packagesWith cond return pkg - else [ ] - ); - in - if result.success then result.value - else [ ] - ) - set - ) - ); + packagesWith = + cond: return: set: + (pkgs.lib.flatten ( + pkgs.lib.mapAttrsToList ( + name: pkg: + let + result = builtins.tryEval ( + if pkgs.lib.isDerivation pkg && cond name pkg then + # Skip packages whose closure fails on evaluation. + # This happens for pkgs like `python27Packages.djangoql` + # that have disabled Python pkgs as dependencies. + builtins.seq pkg.outPath [ (return name pkg) ] + else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false then + packagesWith cond return pkg + else + [ ] + ); + in + if result.success then result.value else [ ] + ) set + )); in -packagesWith - (name: pkg: - ( - if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta - then ( - if builtins.isList pkg.meta.maintainers - then builtins.elem maintainer_ pkg.meta.maintainers - else maintainer_ == pkg.meta.maintainers +packagesWith ( + name: pkg: + ( + if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta then + ( + if builtins.isList pkg.meta.maintainers then + builtins.elem maintainer_ pkg.meta.maintainers + else + maintainer_ == pkg.meta.maintainers ) - else false - ) + else + false ) - (name: pkg: pkg) - pkgs +) (name: pkg: pkg) pkgs diff --git a/maintainers/scripts/check-hydra-by-maintainer.nix b/maintainers/scripts/check-hydra-by-maintainer.nix index c40729a3974ed..21d5de48f9701 100644 --- a/maintainers/scripts/check-hydra-by-maintainer.nix +++ b/maintainers/scripts/check-hydra-by-maintainer.nix @@ -5,48 +5,45 @@ let }; inherit (pkgs) lib; maintainer_ = pkgs.lib.maintainers.${maintainer}; - packagesWith = cond: return: prefix: set: - (lib.flatten - (lib.mapAttrsToList - (name: pkg: - let - result = builtins.tryEval - ( - if lib.isDerivation pkg && cond name pkg then - # Skip packages whose closure fails on evaluation. - # This happens for pkgs like `python27Packages.djangoql` - # that have disabled Python pkgs as dependencies. - builtins.seq pkg.outPath - [ (return "${prefix}${name}") ] - else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false - # then packagesWith cond return pkg - then packagesWith cond return "${name}." pkg - else [ ] - ); - in - if result.success then result.value - else [ ] - ) - set - ) - ); + packagesWith = + cond: return: prefix: set: + (lib.flatten ( + lib.mapAttrsToList ( + name: pkg: + let + result = builtins.tryEval ( + if lib.isDerivation pkg && cond name pkg then + # Skip packages whose closure fails on evaluation. + # This happens for pkgs like `python27Packages.djangoql` + # that have disabled Python pkgs as dependencies. + builtins.seq pkg.outPath [ (return "${prefix}${name}") ] + else if + pkg.recurseForDerivations or false || pkg.recurseForRelease or false + # then packagesWith cond return pkg + then + packagesWith cond return "${name}." pkg + else + [ ] + ); + in + if result.success then result.value else [ ] + ) set + )); - packages = packagesWith - (name: pkg: - ( - if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta - then - ( - if builtins.isList pkg.meta.maintainers - then builtins.elem maintainer_ pkg.meta.maintainers - else maintainer_ == pkg.meta.maintainers - ) - else false - ) + packages = packagesWith ( + name: pkg: + ( + if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta then + ( + if builtins.isList pkg.meta.maintainers then + builtins.elem maintainer_ pkg.meta.maintainers + else + maintainer_ == pkg.meta.maintainers + ) + else + false ) - (name: name) - "" - pkgs; + ) (name: name) "" pkgs; in pkgs.stdenv.mkDerivation { diff --git a/maintainers/scripts/check-maintainers-sorted.nix b/maintainers/scripts/check-maintainers-sorted.nix index 3de4e07550c42..606a72c0aa9bb 100644 --- a/maintainers/scripts/check-maintainers-sorted.nix +++ b/maintainers/scripts/check-maintainers-sorted.nix @@ -1,38 +1,68 @@ let lib = import ../../lib; inherit (lib) - add attrNames elemAt foldl' genList length replaceStrings sort toLower trace; + add + attrNames + elemAt + foldl' + genList + length + replaceStrings + sort + toLower + trace + ; maintainers = import ../maintainer-list.nix; simplify = replaceStrings [ "-" "_" ] [ "" "" ]; compare = a: b: simplify (toLower a) < simplify (toLower b); - namesSorted = - sort - (a: b: a.key < b.key) - (map - (n: let pos = builtins.unsafeGetAttrPos n maintainers; - in assert pos == null -> throw "maintainers entry ${n} is malformed"; - { name = n; line = pos.line; key = toLower (simplify n); }) - (attrNames maintainers)); - before = { name, line, key }: - foldl' - (acc: n: if n.key < key && (acc == null || n.key > acc.key) then n else acc) - null - namesSorted; - errors = foldl' add 0 - (map - (i: let a = elemAt namesSorted i; - b = elemAt namesSorted (i + 1); - lim = let t = before a; in if t == null then "the initial {" else t.name; - in if a.line >= b.line - then trace - ("maintainer ${a.name} (line ${toString a.line}) should be listed " - + "after ${lim}, not after ${b.name} (line ${toString b.line})") - 1 - else 0) - (genList (i: i) (length namesSorted - 1))); + namesSorted = sort (a: b: a.key < b.key) ( + map ( + n: + let + pos = builtins.unsafeGetAttrPos n maintainers; + in + assert pos == null -> throw "maintainers entry ${n} is malformed"; + { + name = n; + line = pos.line; + key = toLower (simplify n); + } + ) (attrNames maintainers) + ); + before = + { + name, + line, + key, + }: + foldl' ( + acc: n: if n.key < key && (acc == null || n.key > acc.key) then n else acc + ) null namesSorted; + errors = foldl' add 0 ( + map ( + i: + let + a = elemAt namesSorted i; + b = elemAt namesSorted (i + 1); + lim = + let + t = before a; + in + if t == null then "the initial {" else t.name; + in + if a.line >= b.line then + trace ( + "maintainer ${a.name} (line ${toString a.line}) should be listed " + + "after ${lim}, not after ${b.name} (line ${toString b.line})" + ) 1 + else + 0 + ) (genList (i: i) (length namesSorted - 1)) + ); in -assert errors == 0; "all good!" +assert errors == 0; +"all good!" # generate edit commands to sort the list. # may everything following the last current entry (closing } ff) in the wrong place diff --git a/maintainers/scripts/convert-to-import-cargo-lock/default.nix b/maintainers/scripts/convert-to-import-cargo-lock/default.nix index f4c1f553d64f9..954ab840a6548 100644 --- a/maintainers/scripts/convert-to-import-cargo-lock/default.nix +++ b/maintainers/scripts/convert-to-import-cargo-lock/default.nix @@ -5,7 +5,8 @@ rustPlatform.buildRustPackage { src = lib.cleanSourceWith { src = ./.; - filter = name: type: + filter = + name: type: let name' = builtins.baseNameOf name; in diff --git a/maintainers/scripts/eval-release.nix b/maintainers/scripts/eval-release.nix index fb830981683f3..ad8baafd4b0d4 100644 --- a/maintainers/scripts/eval-release.nix +++ b/maintainers/scripts/eval-release.nix @@ -5,20 +5,36 @@ let trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y); - rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" ]; + rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ + "tarball" + "unstable" + ]; # Add the ‘recurseForDerivations’ attribute to ensure that # nix-instantiate recurses into nested attribute sets. - recurse = path: attrs: + recurse = + path: attrs: if (builtins.tryEval attrs).success then - if isDerivation attrs - then - if (builtins.tryEval attrs.drvPath).success - then { inherit (attrs) name drvPath; } - else { failed = true; } - else if attrs == null then {} - else { recurseForDerivations = true; } // - mapAttrs (n: v: let path' = path ++ [n]; in trace path' (recurse path' v)) attrs - else { }; + if isDerivation attrs then + if (builtins.tryEval attrs.drvPath).success then + { inherit (attrs) name drvPath; } + else + { failed = true; } + else if attrs == null then + { } + else + { + recurseForDerivations = true; + } + // mapAttrs ( + n: v: + let + path' = path ++ [ n ]; + in + trace path' (recurse path' v) + ) attrs + else + { }; -in recurse [] rel +in +recurse [ ] rel diff --git a/maintainers/scripts/find-tarballs.nix b/maintainers/scripts/find-tarballs.nix index cae4bec201ce0..2de3cd1a093bd 100644 --- a/maintainers/scripts/find-tarballs.nix +++ b/maintainers/scripts/find-tarballs.nix @@ -1,6 +1,9 @@ # This expression returns a list of all fetchurl calls used by ‘expr’. -{ expr, lib ? import ../../lib }: +{ + expr, + lib ? import ../../lib, +}: let inherit (lib) @@ -21,41 +24,82 @@ let root = expr; uniqueFiles = map (x: x.file) (genericClosure { - startSet = map (file: { key = with file; (if type == null then "" else type + "+") + hash; inherit file; }) files; + startSet = map (file: { + key = with file; (if type == null then "" else type + "+") + hash; + inherit file; + }) files; operator = const [ ]; }); - files = map (drv: { urls = drv.urls or [ drv.url ]; hash = drv.outputHash; isPatch = (drv?postFetch && drv.postFetch != ""); type = drv.outputHashAlgo; name = drv.name; }) fetchurlDependencies; + files = map (drv: { + urls = drv.urls or [ drv.url ]; + hash = drv.outputHash; + isPatch = (drv ? postFetch && drv.postFetch != ""); + type = drv.outputHashAlgo; + name = drv.name; + }) fetchurlDependencies; - fetchurlDependencies = - filter - (drv: drv.outputHash or "" != "" && drv.outputHashMode or "flat" == "flat" - && (drv ? url || drv ? urls)) - dependencies; + fetchurlDependencies = filter ( + drv: + drv.outputHash or "" != "" && drv.outputHashMode or "flat" == "flat" && (drv ? url || drv ? urls) + ) dependencies; dependencies = map (x: x.value) (genericClosure { startSet = map keyDrv (derivationsIn' root); operator = { key, value }: map keyDrv (immediateDependenciesOf value); }); - derivationsIn' = x: - if !canEval x then [] - else if isDerivation x then optional (canEval x.drvPath) x - else if isList x then concatLists (map derivationsIn' x) - else if isAttrs x then concatLists (mapAttrsToList (n: v: addErrorContext "while finding tarballs in '${n}':" (derivationsIn' v)) x) - else [ ]; + derivationsIn' = + x: + if !canEval x then + [ ] + else if isDerivation x then + optional (canEval x.drvPath) x + else if isList x then + concatLists (map derivationsIn' x) + else if isAttrs x then + concatLists ( + mapAttrsToList (n: v: addErrorContext "while finding tarballs in '${n}':" (derivationsIn' v)) x + ) + else + [ ]; - keyDrv = drv: if canEval drv.drvPath then { key = drv.drvPath; value = drv; } else { }; + keyDrv = + drv: + if canEval drv.drvPath then + { + key = drv.drvPath; + value = drv; + } + else + { }; - immediateDependenciesOf = drv: - concatLists (mapAttrsToList (n: v: derivationsIn v) (removeAttrs drv (["meta" "passthru"] ++ optionals (drv?passthru) (attrNames drv.passthru)))); + immediateDependenciesOf = + drv: + concatLists ( + mapAttrsToList (n: v: derivationsIn v) ( + removeAttrs drv ( + [ + "meta" + "passthru" + ] + ++ optionals (drv ? passthru) (attrNames drv.passthru) + ) + ) + ); - derivationsIn = x: - if !canEval x then [] - else if isDerivation x then optional (canEval x.drvPath) x - else if isList x then concatLists (map derivationsIn x) - else [ ]; + derivationsIn = + x: + if !canEval x then + [ ] + else if isDerivation x then + optional (canEval x.drvPath) x + else if isList x then + concatLists (map derivationsIn x) + else + [ ]; canEval = val: (builtins.tryEval val).success; -in uniqueFiles +in +uniqueFiles diff --git a/maintainers/scripts/haskell/dependencies.nix b/maintainers/scripts/haskell/dependencies.nix index 5965b1ba18284..718e626f78600 100644 --- a/maintainers/scripts/haskell/dependencies.nix +++ b/maintainers/scripts/haskell/dependencies.nix @@ -1,12 +1,17 @@ # Nix script to calculate the Haskell dependencies of every haskellPackage. Used by ./hydra-report.hs. let - pkgs = import ../../.. {}; + pkgs = import ../../.. { }; inherit (pkgs) lib; - getDeps = _: pkg: let - pname = pkg.pname or null; - in { - deps = builtins.filter (x: x != null && x != pname) (map (x: x.pname or null) (pkg.propagatedBuildInputs or [])); - broken = (pkg.meta.hydraPlatforms or [null]) == []; - }; + getDeps = + _: pkg: + let + pname = pkg.pname or null; + in + { + deps = builtins.filter (x: x != null && x != pname) ( + map (x: x.pname or null) (pkg.propagatedBuildInputs or [ ]) + ); + broken = (pkg.meta.hydraPlatforms or [ null ]) == [ ]; + }; in - lib.mapAttrs getDeps pkgs.haskellPackages +lib.mapAttrs getDeps pkgs.haskellPackages diff --git a/maintainers/scripts/haskell/maintained-broken-pkgs.nix b/maintainers/scripts/haskell/maintained-broken-pkgs.nix index 7416bfa46ee0d..b4ee9420ee882 100644 --- a/maintainers/scripts/haskell/maintained-broken-pkgs.nix +++ b/maintainers/scripts/haskell/maintained-broken-pkgs.nix @@ -1,15 +1,20 @@ let nixpkgs = import ../../..; - inherit (nixpkgs {}) haskellPackages lib; + inherit (nixpkgs { }) haskellPackages lib; maintainedPkgs = lib.filterAttrs ( - _: v: builtins.length (v.meta.maintainers or []) > 0 + _: v: builtins.length (v.meta.maintainers or [ ]) > 0 ) haskellPackages; brokenPkgs = lib.filterAttrs (_: v: v.meta.broken) maintainedPkgs; - transitiveBrokenPkgs = lib.filterAttrs - (_: v: !(builtins.tryEval (v.outPath or null)).success && !v.meta.broken) - maintainedPkgs; - infoList = pkgs: lib.concatStringsSep "\n" (lib.mapAttrsToList (name: drv: "${name} ${(builtins.elemAt drv.meta.maintainers 0).github}") pkgs); -in { + transitiveBrokenPkgs = lib.filterAttrs ( + _: v: !(builtins.tryEval (v.outPath or null)).success && !v.meta.broken + ) maintainedPkgs; + infoList = + pkgs: + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (name: drv: "${name} ${(builtins.elemAt drv.meta.maintainers 0).github}") pkgs + ); +in +{ report = '' BROKEN: ${infoList brokenPkgs} @@ -17,6 +22,5 @@ in { TRANSITIVE BROKEN: ${infoList transitiveBrokenPkgs} ''; - transitiveErrors = - builtins.attrValues transitiveBrokenPkgs; + transitiveErrors = builtins.attrValues transitiveBrokenPkgs; } diff --git a/maintainers/scripts/haskell/maintainer-handles.nix b/maintainers/scripts/haskell/maintainer-handles.nix index d650e82f8b0c1..ced93a1233be1 100644 --- a/maintainers/scripts/haskell/maintainer-handles.nix +++ b/maintainers/scripts/haskell/maintainer-handles.nix @@ -10,12 +10,14 @@ # This mapping contains all maintainers in ../../mainatainer-list.nix, but it # ignores maintainers who don't have a GitHub account or an email address. let - pkgs = import ../../.. {}; + pkgs = import ../../.. { }; maintainers = import ../../maintainer-list.nix; inherit (pkgs) lib; - mkMailGithubPair = _: maintainer: + mkMailGithubPair = + _: maintainer: if (maintainer ? email) && (maintainer ? github) then { "${maintainer.email}" = maintainer.github; } else - {}; -in lib.zipAttrsWith (_: builtins.head) (lib.mapAttrsToList mkMailGithubPair maintainers) + { }; +in +lib.zipAttrsWith (_: builtins.head) (lib.mapAttrsToList mkMailGithubPair maintainers) diff --git a/maintainers/scripts/haskell/test-configurations.nix b/maintainers/scripts/haskell/test-configurations.nix index 8473ed4db8a2c..94fb4c1e950e6 100644 --- a/maintainers/scripts/haskell/test-configurations.nix +++ b/maintainers/scripts/haskell/test-configurations.nix @@ -1,60 +1,63 @@ -/* Nix expression to test for regressions in the Haskell configuration overlays. +/* + Nix expression to test for regressions in the Haskell configuration overlays. - test-configurations.nix determines all attributes touched by given Haskell - configuration overlays (i. e. pkgs/development/haskell-modules/configuration-*.nix) - and builds all derivations (or at least a reasonable subset) affected by - these overrides. + test-configurations.nix determines all attributes touched by given Haskell + configuration overlays (i. e. pkgs/development/haskell-modules/configuration-*.nix) + and builds all derivations (or at least a reasonable subset) affected by + these overrides. - By default, it checks `configuration-{common,nix,ghc-8.10.x}.nix`. You can - invoke it like this: + By default, it checks `configuration-{common,nix,ghc-8.10.x}.nix`. You can + invoke it like this: - nix-build maintainers/scripts/haskell/test-configurations.nix --keep-going + nix-build maintainers/scripts/haskell/test-configurations.nix --keep-going - It is possible to specify other configurations: + It is possible to specify other configurations: - nix-build maintainers/scripts/haskell/test-configurations.nix \ - --arg files '[ "configuration-ghc-9.0.x.nix" "configuration-ghc-9.2.x.nix" ]' \ - --keep-going + nix-build maintainers/scripts/haskell/test-configurations.nix \ + --arg files '[ "configuration-ghc-9.0.x.nix" "configuration-ghc-9.2.x.nix" ]' \ + --keep-going - You can also just supply a single string: + You can also just supply a single string: - nix-build maintainers/scripts/haskell/test-configurations.nix \ - --argstr files "configuration-arm.nix" --keep-going + nix-build maintainers/scripts/haskell/test-configurations.nix \ + --argstr files "configuration-arm.nix" --keep-going - You can even supply full paths which is handy, as it allows for tab-completing - the configurations: + You can even supply full paths which is handy, as it allows for tab-completing + the configurations: - nix-build maintainers/scripts/haskell/test-configurations.nix \ - --argstr files pkgs/development/haskell-modules/configuration-arm.nix \ - --keep-going + nix-build maintainers/scripts/haskell/test-configurations.nix \ + --argstr files pkgs/development/haskell-modules/configuration-arm.nix \ + --keep-going - By default, derivation that fail to evaluate are skipped, unless they are - “just” marked as broken. You can check for other eval errors like this: + By default, derivation that fail to evaluate are skipped, unless they are + “just” marked as broken. You can check for other eval errors like this: - nix-build maintainers/scripts/haskell/test-configurations.nix \ - --arg skipEvalErrors false --keep-going + nix-build maintainers/scripts/haskell/test-configurations.nix \ + --arg skipEvalErrors false --keep-going - You can also disable checking broken packages by passing a nixpkgs config: + You can also disable checking broken packages by passing a nixpkgs config: - nix-build maintainers/scripts/haskell/test-configurations.nix \ - --arg config '{ allowBroken = false; }' --keep-going + nix-build maintainers/scripts/haskell/test-configurations.nix \ + --arg config '{ allowBroken = false; }' --keep-going - By default the haskell.packages.ghc*Binary sets used for bootstrapping GHC - are _not_ tested. You can change this using: - - nix-build maintainers/scripts/haskell/test-configurations.nix \ - --arg skipBinaryGHCs false --keep-going + By default the haskell.packages.ghc*Binary sets used for bootstrapping GHC + are _not_ tested. You can change this using: + nix-build maintainers/scripts/haskell/test-configurations.nix \ + --arg skipBinaryGHCs false --keep-going */ -{ files ? [ +{ + files ? [ "configuration-common.nix" "configuration-nix.nix" "configuration-ghc-8.10.x.nix" - ] -, nixpkgsPath ? ../../.. -, config ? { allowBroken = true; } -, skipEvalErrors ? true -, skipBinaryGHCs ? true + ], + nixpkgsPath ? ../../.., + config ? { + allowBroken = true; + }, + skipEvalErrors ? true, + skipBinaryGHCs ? true, }: let @@ -62,97 +65,99 @@ let inherit (pkgs) lib; # see usage explanation for the input format `files` allows - files' = builtins.map builtins.baseNameOf ( - if !builtins.isList files then [ files ] else files - ); + files' = builtins.map builtins.baseNameOf (if !builtins.isList files then [ files ] else files); - packageSetsWithVersionedHead = pkgs.haskell.packages // ( - let - headSet = pkgs.haskell.packages.ghcHEAD; - # Determine the next GHC release version following GHC HEAD. - # GHC HEAD always has an uneven, tentative version number, e.g. 9.7. - # GHC releases always have even numbers, i.e. GHC 9.8 is branched off from - # GHC HEAD 9.7. Since we use the to be release number for GHC HEAD's - # configuration file, we need to calculate this here. - headVersion = lib.pipe headSet.ghc.version [ - lib.versions.splitVersion - (lib.take 2) - lib.concatStrings - lib.strings.toInt - (builtins.add 1) - toString - ]; - in - { - "ghc${headVersion}" = headSet; - } - ); + packageSetsWithVersionedHead = + pkgs.haskell.packages + // ( + let + headSet = pkgs.haskell.packages.ghcHEAD; + # Determine the next GHC release version following GHC HEAD. + # GHC HEAD always has an uneven, tentative version number, e.g. 9.7. + # GHC releases always have even numbers, i.e. GHC 9.8 is branched off from + # GHC HEAD 9.7. Since we use the to be release number for GHC HEAD's + # configuration file, we need to calculate this here. + headVersion = lib.pipe headSet.ghc.version [ + lib.versions.splitVersion + (lib.take 2) + lib.concatStrings + lib.strings.toInt + (builtins.add 1) + toString + ]; + in + { + "ghc${headVersion}" = headSet; + } + ); - setsForFile = fileName: + setsForFile = + fileName: let # extract the unique part of the config's file name - configName = builtins.head ( - builtins.match "configuration-(.+).nix" fileName - ); + configName = builtins.head (builtins.match "configuration-(.+).nix" fileName); # match the major and minor version of the GHC the config is intended for, if any - configVersion = lib.concatStrings ( - builtins.match "ghc-([0-9]+).([0-9]+).x" configName - ); + configVersion = lib.concatStrings (builtins.match "ghc-([0-9]+).([0-9]+).x" configName); # return all package sets under haskell.packages matching the version components - setsForVersion = builtins.map (name: packageSetsWithVersionedHead.${name}) ( - builtins.filter (setName: - lib.hasPrefix "ghc${configVersion}" setName - && (skipBinaryGHCs -> !(lib.hasInfix "Binary" setName)) - ) ( - builtins.attrNames packageSetsWithVersionedHead - ) + setsForVersion = builtins.map (name: packageSetsWithVersionedHead.${name}) ( + builtins.filter ( + setName: + lib.hasPrefix "ghc${configVersion}" setName && (skipBinaryGHCs -> !(lib.hasInfix "Binary" setName)) + ) (builtins.attrNames packageSetsWithVersionedHead) ); defaultSets = [ pkgs.haskellPackages ]; - in { + in + { # use plain haskellPackages for the version-agnostic files # TODO(@sternenseemann): also consider currently selected versioned sets "common" = defaultSets; "nix" = defaultSets; "arm" = defaultSets; "darwin" = defaultSets; - }.${configName} or setsForVersion; + } + .${configName} or setsForVersion; # attribute set that has all the attributes of haskellPackages set to null availableHaskellPackages = builtins.listToAttrs ( - builtins.map (attr: lib.nameValuePair attr null) ( - builtins.attrNames pkgs.haskellPackages - ) + builtins.map (attr: lib.nameValuePair attr null) (builtins.attrNames pkgs.haskellPackages) ); # evaluate a configuration and only return the attributes changed by it, # pass availableHaskellPackages as super in case intersectAttrs is used - overriddenAttrs = fileName: builtins.attrNames ( - lib.fix (self: - import (nixpkgsPath + "/pkgs/development/haskell-modules/${fileName}") { - haskellLib = pkgs.haskell.lib.compose; - inherit pkgs; - } self availableHaskellPackages - ) - ); + overriddenAttrs = + fileName: + builtins.attrNames ( + lib.fix ( + self: + import (nixpkgsPath + "/pkgs/development/haskell-modules/${fileName}") { + haskellLib = pkgs.haskell.lib.compose; + inherit pkgs; + } self availableHaskellPackages + ) + ); # list of derivations that are affected by overrides in the given configuration # overlays. For common, nix, darwin etc. only the derivation from the default # package set will be emitted. - packages = builtins.filter (v: - lib.warnIf (v.meta.broken or false) "${v.pname} is marked as broken" ( - v != null - && (skipEvalErrors -> (builtins.tryEval (v.outPath or v)).success) - ) - ) ( - lib.concatMap (fileName: - let - sets = setsForFile fileName; - attrs = overriddenAttrs fileName; - in - lib.concatMap (set: builtins.map (attr: set.${attr}) attrs) sets - ) files' - ); + packages = + builtins.filter + ( + v: + lib.warnIf (v.meta.broken or false) "${v.pname} is marked as broken" ( + v != null && (skipEvalErrors -> (builtins.tryEval (v.outPath or v)).success) + ) + ) + ( + lib.concatMap ( + fileName: + let + sets = setsForFile fileName; + attrs = overriddenAttrs fileName; + in + lib.concatMap (set: builtins.map (attr: set.${attr}) attrs) sets + ) files' + ); in packages diff --git a/maintainers/scripts/haskell/transitive-broken-packages.nix b/maintainers/scripts/haskell/transitive-broken-packages.nix index 50ccb14577bc1..f4a69e6e69a27 100644 --- a/maintainers/scripts/haskell/transitive-broken-packages.nix +++ b/maintainers/scripts/haskell/transitive-broken-packages.nix @@ -1,15 +1,16 @@ let nixpkgs = import ../../..; - inherit (nixpkgs {}) pkgs lib; - getEvaluating = x: + inherit (nixpkgs { }) pkgs lib; + getEvaluating = + x: builtins.attrNames ( lib.filterAttrs ( _: v: (builtins.tryEval (v.outPath or null)).success && lib.isDerivation v && !v.meta.broken ) x ); - brokenDeps = lib.subtractLists - (getEvaluating pkgs.haskellPackages) - (getEvaluating (nixpkgs { config.allowBroken = true; }).haskellPackages); + brokenDeps = lib.subtractLists (getEvaluating pkgs.haskellPackages) ( + getEvaluating (nixpkgs { config.allowBroken = true; }).haskellPackages + ); in '' ${lib.concatMapStringsSep "\n" (x: " - ${x}") brokenDeps} diff --git a/maintainers/scripts/nix-generate-from-cpan.nix b/maintainers/scripts/nix-generate-from-cpan.nix index a8135f4b304a8..c05dedc205df4 100644 --- a/maintainers/scripts/nix-generate-from-cpan.nix +++ b/maintainers/scripts/nix-generate-from-cpan.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, makeWrapper, perl, perlPackages }: +{ + stdenv, + lib, + makeWrapper, + perl, + perlPackages, +}: stdenv.mkDerivation { name = "nix-generate-from-cpan-3"; @@ -6,7 +12,11 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; buildInputs = with perlPackages; [ - perl GetoptLongDescriptive CPANPLUS Readonly LogLog4perl + perl + GetoptLongDescriptive + CPANPLUS + Readonly + LogLog4perl ]; dontUnpack = true; diff --git a/maintainers/scripts/nixpkgs-lint.nix b/maintainers/scripts/nixpkgs-lint.nix index 979ec286d8090..8c67c4b6edb18 100644 --- a/maintainers/scripts/nixpkgs-lint.nix +++ b/maintainers/scripts/nixpkgs-lint.nix @@ -1,24 +1,32 @@ -{ stdenv, lib, makeWrapper, perl, perlPackages }: +{ + stdenv, + lib, + makeWrapper, + perl, + perlPackages, +}: stdenv.mkDerivation { pname = "nixpkgs-lint"; version = "1"; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl perlPackages.XMLSimple ]; + buildInputs = [ + perl + perlPackages.XMLSimple + ]; dontUnpack = true; dontBuild = true; - installPhase = - '' - mkdir -p $out/bin - cp ${./nixpkgs-lint.pl} $out/bin/nixpkgs-lint - # make the built version hermetic - substituteInPlace $out/bin/nixpkgs-lint \ - --replace-fail "#! /usr/bin/env nix-shell" "#! ${lib.getExe perl}" - wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB - ''; + installPhase = '' + mkdir -p $out/bin + cp ${./nixpkgs-lint.pl} $out/bin/nixpkgs-lint + # make the built version hermetic + substituteInPlace $out/bin/nixpkgs-lint \ + --replace-fail "#! /usr/bin/env nix-shell" "#! ${lib.getExe perl}" + wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB + ''; meta = with lib; { maintainers = [ maintainers.eelco ]; diff --git a/maintainers/scripts/update-octave-shell.nix b/maintainers/scripts/update-octave-shell.nix index 51d4844c79f34..e7b6332dfb1e0 100644 --- a/maintainers/scripts/update-octave-shell.nix +++ b/maintainers/scripts/update-octave-shell.nix @@ -1,8 +1,16 @@ -{ nixpkgs ? import ../.. { } +{ + nixpkgs ? import ../.. { }, }: with nixpkgs; let - pyEnv = python3.withPackages(ps: with ps; [ packaging requests toolz pyyaml ]); + pyEnv = python3.withPackages ( + ps: with ps; [ + packaging + requests + toolz + pyyaml + ] + ); in mkShell { packages = [ diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 3af728d46ea48..05fcd6f12d2e2 100644 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -5,42 +5,50 @@ See https://nixos.org/manual/nixpkgs/unstable/#var-passthru-updateScript */ -{ package ? null -, maintainer ? null -, predicate ? null -, get-script ? pkg: pkg.updateScript or null -, path ? null -, max-workers ? null -, include-overlays ? false -, keep-going ? null -, commit ? null -, skip-prompt ? null +{ + package ? null, + maintainer ? null, + predicate ? null, + get-script ? pkg: pkg.updateScript or null, + path ? null, + max-workers ? null, + include-overlays ? false, + keep-going ? null, + commit ? null, + skip-prompt ? null, }: let - pkgs = import ./../../default.nix (( - if include-overlays == false then - { overlays = []; } - else if include-overlays == true then - { } # Let Nixpkgs include overlays impurely. - else { overlays = include-overlays; } - ) // { config.allowAliases = false; }); + pkgs = import ./../../default.nix ( + ( + if include-overlays == false then + { overlays = [ ]; } + else if include-overlays == true then + { } # Let Nixpkgs include overlays impurely. + else + { overlays = include-overlays; } + ) + // { + config.allowAliases = false; + } + ); inherit (pkgs) lib; - /* Remove duplicate elements from the list based on some extracted value. O(n^2) complexity. - */ - nubOn = f: list: - if list == [] then - [] + # Remove duplicate elements from the list based on some extracted value. O(n^2) complexity. + nubOn = + f: list: + if list == [ ] then + [ ] else let x = lib.head list; xs = lib.filter (p: f x != f p) (lib.drop 1 list); in - [x] ++ nubOn f xs; + [ x ] ++ nubOn f xs; - /* Recursively find all packages (derivations) in `pkgs` matching `cond` predicate. + /* + Recursively find all packages (derivations) in `pkgs` matching `cond` predicate. Type: packagesWithPath :: AttrPath → (AttrPath → derivation → bool) → AttrSet → List AttrPath :: [str] @@ -48,15 +56,18 @@ let The packages will be returned as a list of named pairs comprising of: - attrPath: stringified attribute path (based on `rootPath`) - package: corresponding derivation - */ - packagesWithPath = rootPath: cond: pkgs: + */ + packagesWithPath = + rootPath: cond: pkgs: let - packagesWithPathInner = path: pathContent: + packagesWithPathInner = + path: pathContent: let result = builtins.tryEval pathContent; somewhatUniqueRepresentant = - { package, attrPath }: { + { package, attrPath }: + { updateScript = (get-script package); # Some updaters use the same `updateScript` value for all packages. # Also compare `meta.description`. @@ -67,79 +78,95 @@ let dedupResults = lst: nubOn somewhatUniqueRepresentant (lib.concatLists lst); in - if result.success then - let - evaluatedPathContent = result.value; - in - if lib.isDerivation evaluatedPathContent then - lib.optional (cond path evaluatedPathContent) { attrPath = lib.concatStringsSep "." path; package = evaluatedPathContent; } - else if lib.isAttrs evaluatedPathContent then - # If user explicitly points to an attrSet or it is marked for recursion, we recur. - if path == rootPath || evaluatedPathContent.recurseForDerivations or false || evaluatedPathContent.recurseForRelease or false then - dedupResults (lib.mapAttrsToList (name: elem: packagesWithPathInner (path ++ [name]) elem) evaluatedPathContent) - else [] - else [] - else []; + if result.success then + let + evaluatedPathContent = result.value; + in + if lib.isDerivation evaluatedPathContent then + lib.optional (cond path evaluatedPathContent) { + attrPath = lib.concatStringsSep "." path; + package = evaluatedPathContent; + } + else if lib.isAttrs evaluatedPathContent then + # If user explicitly points to an attrSet or it is marked for recursion, we recur. + if + path == rootPath + || evaluatedPathContent.recurseForDerivations or false + || evaluatedPathContent.recurseForRelease or false + then + dedupResults ( + lib.mapAttrsToList (name: elem: packagesWithPathInner (path ++ [ name ]) elem) evaluatedPathContent + ) + else + [ ] + else + [ ] + else + [ ]; in - packagesWithPathInner rootPath pkgs; + packagesWithPathInner rootPath pkgs; - /* Recursively find all packages (derivations) in `pkgs` matching `cond` predicate. - */ - packagesWith = packagesWithPath []; + # Recursively find all packages (derivations) in `pkgs` matching `cond` predicate. + packagesWith = packagesWithPath [ ]; - /* Recursively find all packages in `pkgs` with updateScript matching given predicate. - */ - packagesWithUpdateScriptMatchingPredicate = cond: - packagesWith (path: pkg: (get-script pkg != null) && cond path pkg); + # Recursively find all packages in `pkgs` with updateScript matching given predicate. + packagesWithUpdateScriptMatchingPredicate = + cond: packagesWith (path: pkg: (get-script pkg != null) && cond path pkg); - /* Recursively find all packages in `pkgs` with updateScript by given maintainer. - */ - packagesWithUpdateScriptAndMaintainer = maintainer': + # Recursively find all packages in `pkgs` with updateScript by given maintainer. + packagesWithUpdateScriptAndMaintainer = + maintainer': let maintainer = - if ! builtins.hasAttr maintainer' lib.maintainers then + if !builtins.hasAttr maintainer' lib.maintainers then builtins.throw "Maintainer with name `${maintainer'} does not exist in `maintainers/maintainer-list.nix`." else builtins.getAttr maintainer' lib.maintainers; in - packagesWithUpdateScriptMatchingPredicate (path: pkg: - (if builtins.hasAttr "maintainers" pkg.meta - then (if builtins.isList pkg.meta.maintainers - then builtins.elem maintainer pkg.meta.maintainers - else maintainer == pkg.meta.maintainers - ) - else false - ) - ); - - /* Recursively find all packages under `path` in `pkgs` with updateScript. - */ - packagesWithUpdateScript = path: pkgs: + packagesWithUpdateScriptMatchingPredicate ( + path: pkg: + ( + if builtins.hasAttr "maintainers" pkg.meta then + ( + if builtins.isList pkg.meta.maintainers then + builtins.elem maintainer pkg.meta.maintainers + else + maintainer == pkg.meta.maintainers + ) + else + false + ) + ); + + # Recursively find all packages under `path` in `pkgs` with updateScript. + packagesWithUpdateScript = + path: pkgs: let prefix = lib.splitString "." path; pathContent = lib.attrByPath prefix null pkgs; in - if pathContent == null then - builtins.throw "Attribute path `${path}` does not exist." - else - packagesWithPath prefix (path: pkg: (get-script pkg != null)) - pathContent; + if pathContent == null then + builtins.throw "Attribute path `${path}` does not exist." + else + packagesWithPath prefix (path: pkg: (get-script pkg != null)) pathContent; - /* Find a package under `path` in `pkgs` and require that it has an updateScript. - */ - packageByName = path: pkgs: + # Find a package under `path` in `pkgs` and require that it has an updateScript. + packageByName = + path: pkgs: let - package = lib.attrByPath (lib.splitString "." path) null pkgs; + package = lib.attrByPath (lib.splitString "." path) null pkgs; in - if package == null then - builtins.throw "Package with an attribute name `${path}` does not exist." - else if get-script package == null then - builtins.throw "Package with an attribute name `${path}` does not have a `passthru.updateScript` attribute defined." - else - { attrPath = path; inherit package; }; + if package == null then + builtins.throw "Package with an attribute name `${path}` does not exist." + else if get-script package == null then + builtins.throw "Package with an attribute name `${path}` does not have a `passthru.updateScript` attribute defined." + else + { + attrPath = path; + inherit package; + }; - /* List of packages matched based on the CLI arguments. - */ + # List of packages matched based on the CLI arguments. packages = if package != null then [ (packageByName package pkgs) ] @@ -192,19 +219,22 @@ let --argstr skip-prompt true ''; - /* Transform a matched package into an object for update.py. - */ - packageData = { package, attrPath }: let updateScript = get-script package; in { - name = package.name; - pname = lib.getName package; - oldVersion = lib.getVersion package; - updateScript = map builtins.toString (lib.toList (updateScript.command or updateScript)); - supportedFeatures = updateScript.supportedFeatures or []; - attrPath = updateScript.attrPath or attrPath; - }; - - /* JSON file with data for update.py. - */ + # Transform a matched package into an object for update.py. + packageData = + { package, attrPath }: + let + updateScript = get-script package; + in + { + name = package.name; + pname = lib.getName package; + oldVersion = lib.getVersion package; + updateScript = map builtins.toString (lib.toList (updateScript.command or updateScript)); + supportedFeatures = updateScript.supportedFeatures or [ ]; + attrPath = updateScript.attrPath or attrPath; + }; + + # JSON file with data for update.py. packagesJson = pkgs.writeText "packages.json" (builtins.toJSON (map packageData packages)); optionalArgs = @@ -215,7 +245,8 @@ let args = [ packagesJson ] ++ optionalArgs; -in pkgs.stdenv.mkDerivation { +in +pkgs.stdenv.mkDerivation { name = "nixpkgs-update-script"; buildCommand = '' echo "" @@ -231,5 +262,9 @@ in pkgs.stdenv.mkDerivation { unset shellHook # do not contaminate nested shells exec ${pkgs.python3.interpreter} ${./update.py} ${builtins.concatStringsSep " " args} ''; - nativeBuildInputs = [ pkgs.git pkgs.nix pkgs.cacert ]; + nativeBuildInputs = [ + pkgs.git + pkgs.nix + pkgs.cacert + ]; } diff --git a/nixos/default.nix b/nixos/default.nix index 6beb4cd3a7df7..f338e13fadb05 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,5 +1,6 @@ -{ configuration ? import ./lib/from-env.nix "NIXOS_CONFIG" -, system ? builtins.currentSystem +{ + configuration ? import ./lib/from-env.nix "NIXOS_CONFIG" , + system ? builtins.currentSystem, }: let diff --git a/nixos/lib/default.nix b/nixos/lib/default.nix index 65d91342d4d15..c6970b05514e6 100644 --- a/nixos/lib/default.nix +++ b/nixos/lib/default.nix @@ -4,12 +4,13 @@ let inherit (nonExtendedLib) warn; nonExtendedLib = import ../../lib; in -{ # Optional. Allows an extended `lib` to be used instead of the regular Nixpkgs lib. +{ + # Optional. Allows an extended `lib` to be used instead of the regular Nixpkgs lib. lib ? nonExtendedLib, # Feature flags allow you to opt in to unfinished code. These may change some # behavior or disable warnings. - featureFlags ? {}, + featureFlags ? { }, # This file itself is rather new, so we accept unknown parameters to be forward # compatible. This is generally not recommended, because typos go undetected. @@ -29,7 +30,7 @@ in using a binding like `nixosLib = import (nixpkgs + "/nixos/lib") { }`. */ { - inherit (seqAttrsIf (!featureFlags?minimalModules) minimalModulesWarning eval-config-minimal) + inherit (seqAttrsIf (!featureFlags ? minimalModules) minimalModulesWarning eval-config-minimal) evalModules ; diff --git a/nixos/lib/eval-cacheable-options.nix b/nixos/lib/eval-cacheable-options.nix index d26967ebe09b8..73cf5eda32ec0 100644 --- a/nixos/lib/eval-cacheable-options.nix +++ b/nixos/lib/eval-cacheable-options.nix @@ -1,9 +1,10 @@ -{ libPath -, pkgsLibPath -, nixosPath -, modules -, stateVersion -, release +{ + libPath, + pkgsLibPath, + nixosPath, + modules, + stateVersion, + release, }: let @@ -24,7 +25,7 @@ let # unusable. this causes documentation attributes depending on `config` to fail. config = { _module.check = false; - _module.args = {}; + _module.args = { }; system.stateVersion = stateVersion; }; eval = lib.evalModules { @@ -40,9 +41,8 @@ let pkgs = pkgs // { inherit lib; # duplicate of the declaration in all-packages.nix - buildPackages.nixosOptionsDoc = attrs: - (import "${nixosPath}/lib/make-options-doc") - ({ inherit pkgs lib; } // attrs); + buildPackages.nixosOptionsDoc = + attrs: (import "${nixosPath}/lib/make-options-doc") ({ inherit pkgs lib; } // attrs); }; config = config.config; options = eval.options; @@ -51,4 +51,4 @@ let prefix = modulesPath; }; in - docs.optionsNix +docs.optionsNix diff --git a/nixos/lib/eval-config-minimal.nix b/nixos/lib/eval-config-minimal.nix index 036389121973d..63c2aedc87a97 100644 --- a/nixos/lib/eval-config-minimal.nix +++ b/nixos/lib/eval-config-minimal.nix @@ -1,4 +1,3 @@ - # DO NOT IMPORT. Use nixpkgsFlake.lib.nixos, or import (nixpkgs + "/nixos/lib") { lib }: # read -^ @@ -25,24 +24,24 @@ let An attribute set containing `config.system.build.toplevel` among other attributes. See `lib.evalModules` in the Nixpkgs library. - - */ - evalModules = { - prefix ? [], - modules ? [], - specialArgs ? {}, - }: - # NOTE: Regular NixOS currently does use this function! Don't break it! - # Ideally we don't diverge, unless we learn that we should. - # In other words, only the public interface of nixos.evalModules - # is experimental. - lib.evalModules { - inherit prefix modules; - class = "nixos"; - specialArgs = { - modulesPath = builtins.toString ../modules; - } // specialArgs; - }; + */ + evalModules = + { + prefix ? [ ], + modules ? [ ], + specialArgs ? { }, + }: + # NOTE: Regular NixOS currently does use this function! Don't break it! + # Ideally we don't diverge, unless we learn that we should. + # In other words, only the public interface of nixos.evalModules + # is experimental. + lib.evalModules { + inherit prefix modules; + class = "nixos"; + specialArgs = { + modulesPath = builtins.toString ../modules; + } // specialArgs; + }; in { diff --git a/nixos/lib/from-env.nix b/nixos/lib/from-env.nix index 6bd71e40e9a1a..8afca8468058b 100644 --- a/nixos/lib/from-env.nix +++ b/nixos/lib/from-env.nix @@ -1,4 +1,6 @@ # TODO: remove this file. There is lib.maybeEnv now name: default: -let value = builtins.getEnv name; in +let + value = builtins.getEnv name; +in if value == "" then default else value diff --git a/nixos/lib/make-channel.nix b/nixos/lib/make-channel.nix index 0a511468fb2db..e366006e908ca 100644 --- a/nixos/lib/make-channel.nix +++ b/nixos/lib/make-channel.nix @@ -1,8 +1,14 @@ -/* Build a channel tarball. These contain, in addition to the nixpkgs - * expressions themselves, files that indicate the version of nixpkgs - * that they represent. - */ -{ pkgs, nixpkgs, version, versionSuffix }: +/* + Build a channel tarball. These contain, in addition to the nixpkgs + expressions themselves, files that indicate the version of nixpkgs + that they represent. +*/ +{ + pkgs, + nixpkgs, + version, + versionSuffix, +}: pkgs.releaseTools.makeSourceTarball { name = "nixos-channel"; diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix index 8afc5555ced46..5aa90aacf72e1 100644 --- a/nixos/lib/make-ext4-fs.nix +++ b/nixos/lib/make-ext4-fs.nix @@ -3,21 +3,23 @@ # contents of a directory that can be populated with commands. The # generated image is sized to only fit its contents, with the expectation # that a script resizes the filesystem at boot time. -{ pkgs -, lib -# List of derivations to be included -, storePaths -# Whether or not to compress the resulting image with zstd -, compressImage ? false, zstd -# Shell commands to populate the ./files directory. -# All files in that directory are copied to the root of the FS. -, populateImageCommands ? "" -, volumeLabel -, uuid ? "44444444-4444-4444-8888-888888888888" -, e2fsprogs -, libfaketime -, perl -, fakeroot +{ + pkgs, + lib, + # List of derivations to be included + storePaths, + # Whether or not to compress the resulting image with zstd + compressImage ? false, + zstd, + # Shell commands to populate the ./files directory. + # All files in that directory are copied to the root of the FS. + populateImageCommands ? "", + volumeLabel, + uuid ? "44444444-4444-4444-8888-888888888888", + e2fsprogs, + libfaketime, + perl, + fakeroot, }: let @@ -26,78 +28,81 @@ in pkgs.stdenv.mkDerivation { name = "ext4-fs.img${lib.optionalString compressImage ".zst"}"; - nativeBuildInputs = [ e2fsprogs.bin libfaketime perl fakeroot ] - ++ lib.optional compressImage zstd; - - buildCommand = - '' - ${if compressImage then "img=temp.img" else "img=$out"} - ( - mkdir -p ./files - ${populateImageCommands} - ) - - echo "Preparing store paths for image..." - - # Create nix/store before copying path - mkdir -p ./rootImage/nix/store - - xargs -I % cp -a --reflink=auto % -t ./rootImage/nix/store/ < ${sdClosureInfo}/store-paths - ( - GLOBIGNORE=".:.." - shopt -u dotglob - - for f in ./files/*; do - cp -a --reflink=auto -t ./rootImage/ "$f" - done - ) - - # Also include a manifest of the closures in a format suitable for nix-store --load-db - cp ${sdClosureInfo}/registration ./rootImage/nix-path-registration - - # Make a crude approximation of the size of the target image. - # If the script starts failing, increase the fudge factors here. - numInodes=$(find ./rootImage | wc -l) - numDataBlocks=$(du -s -c -B 4096 --apparent-size ./rootImage | tail -1 | awk '{ print int($1 * 1.20) }') - bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks)) - echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)" - - mebibyte=$(( 1024 * 1024 )) - # Round up to the nearest mebibyte. - # This ensures whole 512 bytes sector sizes in the disk image - # and helps towards aligning partitions optimally. - if (( bytes % mebibyte )); then - bytes=$(( ( bytes / mebibyte + 1) * mebibyte )) - fi - - truncate -s $bytes $img - - faketime -f "1970-01-01 00:00:01" fakeroot mkfs.ext4 -L ${volumeLabel} -U ${uuid} -d ./rootImage $img - - export EXT2FS_NO_MTAB_OK=yes - # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build. - if ! fsck.ext4 -n -f $img; then - echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" - cat errorlog - return 1 - fi - - # We may want to shrink the file system and resize the image to - # get rid of the unnecessary slack here--but see - # https://github.com/NixOS/nixpkgs/issues/125121 for caveats. - - # shrink to fit - resize2fs -M $img - - # Add 16 MebiByte to the current_size - new_size=$(dumpe2fs -h $img | awk -F: \ - '/Block count/{count=$2} /Block size/{size=$2} END{print (count*size+16*2**20)/size}') - - resize2fs $img $new_size - - if [ ${builtins.toString compressImage} ]; then - echo "Compressing image" - zstd -v --no-progress ./$img -o $out - fi - ''; + nativeBuildInputs = [ + e2fsprogs.bin + libfaketime + perl + fakeroot + ] ++ lib.optional compressImage zstd; + + buildCommand = '' + ${if compressImage then "img=temp.img" else "img=$out"} + ( + mkdir -p ./files + ${populateImageCommands} + ) + + echo "Preparing store paths for image..." + + # Create nix/store before copying path + mkdir -p ./rootImage/nix/store + + xargs -I % cp -a --reflink=auto % -t ./rootImage/nix/store/ < ${sdClosureInfo}/store-paths + ( + GLOBIGNORE=".:.." + shopt -u dotglob + + for f in ./files/*; do + cp -a --reflink=auto -t ./rootImage/ "$f" + done + ) + + # Also include a manifest of the closures in a format suitable for nix-store --load-db + cp ${sdClosureInfo}/registration ./rootImage/nix-path-registration + + # Make a crude approximation of the size of the target image. + # If the script starts failing, increase the fudge factors here. + numInodes=$(find ./rootImage | wc -l) + numDataBlocks=$(du -s -c -B 4096 --apparent-size ./rootImage | tail -1 | awk '{ print int($1 * 1.20) }') + bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks)) + echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)" + + mebibyte=$(( 1024 * 1024 )) + # Round up to the nearest mebibyte. + # This ensures whole 512 bytes sector sizes in the disk image + # and helps towards aligning partitions optimally. + if (( bytes % mebibyte )); then + bytes=$(( ( bytes / mebibyte + 1) * mebibyte )) + fi + + truncate -s $bytes $img + + faketime -f "1970-01-01 00:00:01" fakeroot mkfs.ext4 -L ${volumeLabel} -U ${uuid} -d ./rootImage $img + + export EXT2FS_NO_MTAB_OK=yes + # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build. + if ! fsck.ext4 -n -f $img; then + echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" + cat errorlog + return 1 + fi + + # We may want to shrink the file system and resize the image to + # get rid of the unnecessary slack here--but see + # https://github.com/NixOS/nixpkgs/issues/125121 for caveats. + + # shrink to fit + resize2fs -M $img + + # Add 16 MebiByte to the current_size + new_size=$(dumpe2fs -h $img | awk -F: \ + '/Block count/{count=$2} /Block size/{size=$2} END{print (count*size+16*2**20)/size}') + + resize2fs $img $new_size + + if [ ${builtins.toString compressImage} ]; then + echo "Compressing image" + zstd -v --no-progress ./$img -o $out + fi + ''; } diff --git a/nixos/lib/make-iso9660-image.nix b/nixos/lib/make-iso9660-image.nix index ec520f5706822..daf2d14a9ebf5 100644 --- a/nixos/lib/make-iso9660-image.nix +++ b/nixos/lib/make-iso9660-image.nix @@ -1,55 +1,64 @@ -{ lib, stdenv, callPackage, closureInfo, xorriso, syslinux, libossp_uuid, squashfsTools - -, # The file name of the resulting ISO image. - isoName ? "cd.iso" - -, # The files and directories to be placed in the ISO file system. +{ + lib, + stdenv, + callPackage, + closureInfo, + xorriso, + syslinux, + libossp_uuid, + squashfsTools, + + # The file name of the resulting ISO image. + isoName ? "cd.iso", + + # The files and directories to be placed in the ISO file system. # This is a list of attribute sets {source, target} where `source' # is the file system object (regular file or directory) to be # grafted in the file system at path `target'. - contents + contents, -, # In addition to `contents', the closure of the store paths listed + # In addition to `contents', the closure of the store paths listed # in `storeContents' are also placed in the Nix store of the CD. # This is a list of attribute sets {object, symlink} where `object' # is a store path whose closure will be copied, and `symlink' is a # symlink to `object' that will be added to the CD. - storeContents ? [] + storeContents ? [ ], -, # In addition to `contents', the closure of the store paths listed + # In addition to `contents', the closure of the store paths listed # in `squashfsContents' is compressed as squashfs and the result is # placed in /nix-store.squashfs on the CD. # FIXME: This is a performance optimization to avoid Hydra copying # the squashfs between builders and should be removed when Hydra # is smarter about scheduling. - squashfsContents ? [] + squashfsContents ? [ ], -, # Compression settings for squashfs - squashfsCompression ? "xz -Xdict-size 100%" + # Compression settings for squashfs + squashfsCompression ? "xz -Xdict-size 100%", -, # Whether this should be an El-Torito bootable CD. - bootable ? false + # Whether this should be an El-Torito bootable CD. + bootable ? false, -, # Whether this should be an efi-bootable El-Torito CD. - efiBootable ? false + # Whether this should be an efi-bootable El-Torito CD. + efiBootable ? false, -, # Whether this should be an hybrid CD (bootable from USB as well as CD). - usbBootable ? false + # Whether this should be an hybrid CD (bootable from USB as well as CD). + usbBootable ? false, -, # The path (in the ISO file system) of the boot image. - bootImage ? "" + # The path (in the ISO file system) of the boot image. + bootImage ? "", -, # The path (in the ISO file system) of the efi boot image. - efiBootImage ? "" + # The path (in the ISO file system) of the efi boot image. + efiBootImage ? "", -, # The path (outside the ISO file system) of the isohybrid-mbr image. - isohybridMbrImage ? "" + # The path (outside the ISO file system) of the isohybrid-mbr image. + isohybridMbrImage ? "", -, # Whether to compress the resulting ISO image with zstd. - compressImage ? false, zstd + # Whether to compress the resulting ISO image with zstd. + compressImage ? false, + zstd, -, # The volume ID. - volumeID ? "" + # The volume ID. + volumeID ? "", }: assert bootable -> bootImage != ""; @@ -57,7 +66,7 @@ assert efiBootable -> efiBootImage != ""; assert usbBootable -> isohybridMbrImage != ""; let - needSquashfs = squashfsContents != []; + needSquashfs = squashfsContents != [ ]; makeSquashfsDrv = callPackage ./make-squashfs.nix { storeContents = squashfsContents; comp = squashfsCompression; @@ -68,10 +77,24 @@ stdenv.mkDerivation { __structuredAttrs = true; buildCommandPath = ./make-iso9660-image.sh; - nativeBuildInputs = [ xorriso syslinux zstd libossp_uuid ] - ++ lib.optionals needSquashfs makeSquashfsDrv.nativeBuildInputs; - - inherit isoName bootable bootImage compressImage volumeID efiBootImage efiBootable isohybridMbrImage usbBootable; + nativeBuildInputs = [ + xorriso + syslinux + zstd + libossp_uuid + ] ++ lib.optionals needSquashfs makeSquashfsDrv.nativeBuildInputs; + + inherit + isoName + bootable + bootImage + compressImage + volumeID + efiBootImage + efiBootable + isohybridMbrImage + usbBootable + ; sources = map (x: x.source) contents; targets = map (x: x.target) contents; diff --git a/nixos/lib/make-multi-disk-zfs-image.nix b/nixos/lib/make-multi-disk-zfs-image.nix index b2489989092a7..c4d6d69fae14a 100644 --- a/nixos/lib/make-multi-disk-zfs-image.nix +++ b/nixos/lib/make-multi-disk-zfs-image.nix @@ -24,77 +24,81 @@ # presumably because zed doesn’t get an event saying it’s partition grew, # whereas it can and does get an event saying the whole disk it is on is # now larger. -{ lib -, pkgs -, # The NixOS configuration to be installed onto the disk image. - config +{ + lib, + pkgs, + # The NixOS configuration to be installed onto the disk image. + config, -, # size of the FAT boot disk, in megabytes. - bootSize ? 1024 + # size of the FAT boot disk, in megabytes. + bootSize ? 1024, -, # The size of the root disk, in megabytes. - rootSize ? 2048 + # The size of the root disk, in megabytes. + rootSize ? 2048, -, # The name of the ZFS pool - rootPoolName ? "tank" + # The name of the ZFS pool + rootPoolName ? "tank", -, # zpool properties + # zpool properties rootPoolProperties ? { autoexpand = "on"; - } -, # pool-wide filesystem properties + }, + # pool-wide filesystem properties rootPoolFilesystemProperties ? { acltype = "posixacl"; atime = "off"; compression = "on"; mountpoint = "legacy"; xattr = "sa"; - } + }, -, # datasets, with per-attribute options: + # datasets, with per-attribute options: # mount: (optional) mount point in the VM # properties: (optional) ZFS properties on the dataset, like filesystemProperties # Notes: # 1. datasets will be created from shorter to longer names as a simple topo-sort # 2. you should define a root's dataset's mount for `/` - datasets ? { } + datasets ? { }, -, # The files and directories to be placed in the target file system. + # The files and directories to be placed in the target file system. # This is a list of attribute sets {source, target} where `source' # is the file system object (regular file or directory) to be # grafted in the file system at path `target'. - contents ? [] + contents ? [ ], -, # The initial NixOS configuration file to be copied to + # The initial NixOS configuration file to be copied to # /etc/nixos/configuration.nix. This configuration will be embedded # inside a configuration which includes the described ZFS fileSystems. - configFile ? null + configFile ? null, -, # Shell code executed after the VM has finished. - postVM ? "" + # Shell code executed after the VM has finished. + postVM ? "", -, # Guest memory size - memSize ? 1024 + # Guest memory size + memSize ? 1024, -, name ? "nixos-disk-image" + name ? "nixos-disk-image", -, # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw. - format ? "raw" + # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw. + format ? "raw", -, # Include a copy of Nixpkgs in the disk image - includeChannel ? true + # Include a copy of Nixpkgs in the disk image + includeChannel ? true, }: let formatOpt = if format == "qcow2-compressed" then "qcow2" else format; compress = lib.optionalString (format == "qcow2-compressed") "-c"; - filenameSuffix = "." + { - qcow2 = "qcow2"; - vdi = "vdi"; - vpc = "vhd"; - raw = "img"; - }.${formatOpt} or formatOpt; + filenameSuffix = + "." + + { + qcow2 = "qcow2"; + vdi = "vdi"; + vpc = "vhd"; + raw = "img"; + } + .${formatOpt} or formatOpt; bootFilename = "nixos.boot${filenameSuffix}"; rootFilename = "nixos.root${filenameSuffix}"; @@ -103,27 +107,32 @@ let let nixpkgs = lib.cleanSource pkgs.path; in - pkgs.runCommand "nixos-${config.system.nixos.version}" {} '' - mkdir -p $out - cp -prd ${nixpkgs.outPath} $out/nixos - chmod -R u+w $out/nixos - if [ ! -e $out/nixos/nixpkgs ]; then - ln -s . $out/nixos/nixpkgs - fi - rm -rf $out/nixos/.git - echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix - ''; + pkgs.runCommand "nixos-${config.system.nixos.version}" { } '' + mkdir -p $out + cp -prd ${nixpkgs.outPath} $out/nixos + chmod -R u+w $out/nixos + if [ ! -e $out/nixos/nixpkgs ]; then + ln -s . $out/nixos/nixpkgs + fi + rm -rf $out/nixos/.git + echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix + ''; closureInfo = pkgs.closureInfo { - rootPaths = [ config.system.build.toplevel ] - ++ (lib.optional includeChannel channelSources); + rootPaths = [ config.system.build.toplevel ] ++ (lib.optional includeChannel channelSources); }; - modulesTree = pkgs.aggregateModules - (with config.boot.kernelPackages; [ kernel zfs ]); + modulesTree = pkgs.aggregateModules ( + with config.boot.kernelPackages; + [ + kernel + zfs + ] + ); tools = lib.makeBinPath ( - with pkgs; [ + with pkgs; + [ nixos-enter config.system.build.nixos-install dosfstools @@ -136,92 +145,101 @@ let ] ); - hasDefinedMount = disk: ((disk.mount or null) != null); + hasDefinedMount = disk: ((disk.mount or null) != null); - stringifyProperties = prefix: properties: lib.concatStringsSep " \\\n" ( - lib.mapAttrsToList - ( + stringifyProperties = + prefix: properties: + lib.concatStringsSep " \\\n" ( + lib.mapAttrsToList ( property: value: "${prefix} ${lib.escapeShellArg property}=${lib.escapeShellArg value}" - ) - properties - ); + ) properties + ); createDatasets = let datasetlist = lib.mapAttrsToList lib.nameValuePair datasets; - sorted = lib.sort (left: right: (lib.stringLength left.name) < (lib.stringLength right.name)) datasetlist; - cmd = { name, value }: + sorted = lib.sort ( + left: right: (lib.stringLength left.name) < (lib.stringLength right.name) + ) datasetlist; + cmd = + { name, value }: let - properties = stringifyProperties "-o" (value.properties or {}); + properties = stringifyProperties "-o" (value.properties or { }); in - "zfs create -p ${properties} ${name}"; + "zfs create -p ${properties} ${name}"; in - lib.concatMapStringsSep "\n" cmd sorted; + lib.concatMapStringsSep "\n" cmd sorted; mountDatasets = let datasetlist = lib.mapAttrsToList lib.nameValuePair datasets; mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist; - sorted = lib.sort (left: right: (lib.stringLength left.value.mount) < (lib.stringLength right.value.mount)) mounts; - cmd = { name, value }: + sorted = lib.sort ( + left: right: (lib.stringLength left.value.mount) < (lib.stringLength right.value.mount) + ) mounts; + cmd = + { name, value }: '' mkdir -p /mnt${lib.escapeShellArg value.mount} mount -t zfs ${name} /mnt${lib.escapeShellArg value.mount} ''; in - lib.concatMapStringsSep "\n" cmd sorted; + lib.concatMapStringsSep "\n" cmd sorted; unmountDatasets = let datasetlist = lib.mapAttrsToList lib.nameValuePair datasets; mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist; - sorted = lib.sort (left: right: (lib.stringLength left.value.mount) > (lib.stringLength right.value.mount)) mounts; - cmd = { name, value }: + sorted = lib.sort ( + left: right: (lib.stringLength left.value.mount) > (lib.stringLength right.value.mount) + ) mounts; + cmd = + { name, value }: '' umount /mnt${lib.escapeShellArg value.mount} ''; in - lib.concatMapStringsSep "\n" cmd sorted; - + lib.concatMapStringsSep "\n" cmd sorted; fileSystemsCfgFile = let mountable = lib.filterAttrs (_: value: hasDefinedMount value) datasets; in - pkgs.runCommand "filesystem-config.nix" { - buildInputs = with pkgs; [ jq nixpkgs-fmt ]; + pkgs.runCommand "filesystem-config.nix" + { + buildInputs = with pkgs; [ + jq + nixpkgs-fmt + ]; filesystems = builtins.toJSON { - fileSystems = lib.mapAttrs' - ( - dataset: attrs: - { - name = attrs.mount; - value = { - fsType = "zfs"; - device = "${dataset}"; - }; - } - ) - mountable; + fileSystems = lib.mapAttrs' (dataset: attrs: { + name = attrs.mount; + value = { + fsType = "zfs"; + device = "${dataset}"; + }; + }) mountable; }; passAsFile = [ "filesystems" ]; - } '' - ( - echo "builtins.fromJSON '''" - jq . < "$filesystemsPath" - echo "'''" - ) > $out - - nixpkgs-fmt $out - ''; + } + '' + ( + echo "builtins.fromJSON '''" + jq . < "$filesystemsPath" + echo "'''" + ) > $out + + nixpkgs-fmt $out + ''; mergedConfig = - if configFile == null - then fileSystemsCfgFile + if configFile == null then + fileSystemsCfgFile else - pkgs.runCommand "configuration.nix" { - buildInputs = with pkgs; [ nixpkgs-fmt ]; - } + pkgs.runCommand "configuration.nix" + { + buildInputs = with pkgs; [ nixpkgs-fmt ]; + } '' ( echo '{ imports = [' @@ -233,97 +251,109 @@ let nixpkgs-fmt $out ''; - image = ( - pkgs.vmTools.override { - rootModules = - [ "zfs" "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ]; + image = + (pkgs.vmTools.override { + rootModules = [ + "zfs" + "9p" + "9pnet_virtio" + "virtio_pci" + "virtio_blk" + ]; kernel = modulesTree; - } - ).runInLinuxVM ( - pkgs.runCommand name - { - QEMU_OPTS = "-drive file=$bootDiskImage,if=virtio,cache=unsafe,werror=report" - + " -drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report"; - inherit memSize; - preVM = '' - PATH=$PATH:${pkgs.qemu_kvm}/bin - mkdir $out - bootDiskImage=boot.raw - qemu-img create -f raw $bootDiskImage ${toString bootSize}M - - rootDiskImage=root.raw - qemu-img create -f raw $rootDiskImage ${toString rootSize}M - ''; - - postVM = '' - ${if formatOpt == "raw" then '' - mv $bootDiskImage $out/${bootFilename} - mv $rootDiskImage $out/${rootFilename} - '' else '' - ${pkgs.qemu_kvm}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $bootDiskImage $out/${bootFilename} - ${pkgs.qemu_kvm}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $rootDiskImage $out/${rootFilename} - ''} - bootDiskImage=$out/${bootFilename} - rootDiskImage=$out/${rootFilename} - set -x - ${postVM} - ''; - } '' - export PATH=${tools}:$PATH - set -x - - cp -sv /dev/vda /dev/sda - cp -sv /dev/vda /dev/xvda - - parted --script /dev/vda -- \ - mklabel gpt \ - mkpart no-fs 1MiB 2MiB \ - set 1 bios_grub on \ - align-check optimal 1 \ - mkpart ESP fat32 2MiB -1MiB \ - align-check optimal 2 \ - print - - sfdisk --dump /dev/vda - - - zpool create \ - ${stringifyProperties " -o" rootPoolProperties} \ - ${stringifyProperties " -O" rootPoolFilesystemProperties} \ - ${rootPoolName} /dev/vdb - parted --script /dev/vdb -- print - - ${createDatasets} - ${mountDatasets} - - mkdir -p /mnt/boot - mkfs.vfat -n ESP /dev/vda2 - mount /dev/vda2 /mnt/boot - - mount - - # Install a configuration.nix - mkdir -p /mnt/etc/nixos - # `cat` so it is mutable on the fs - cat ${mergedConfig} > /mnt/etc/nixos/configuration.nix - - export NIX_STATE_DIR=$TMPDIR/state - nix-store --load-db < ${closureInfo}/registration - - nixos-install \ - --root /mnt \ - --no-root-passwd \ - --system ${config.system.build.toplevel} \ - --substituters "" \ - ${lib.optionalString includeChannel ''--channel ${channelSources}''} - - df -h - - umount /mnt/boot - ${unmountDatasets} - - zpool export ${rootPoolName} - '' - ); + }).runInLinuxVM + ( + pkgs.runCommand name + { + QEMU_OPTS = + "-drive file=$bootDiskImage,if=virtio,cache=unsafe,werror=report" + + " -drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report"; + inherit memSize; + preVM = '' + PATH=$PATH:${pkgs.qemu_kvm}/bin + mkdir $out + bootDiskImage=boot.raw + qemu-img create -f raw $bootDiskImage ${toString bootSize}M + + rootDiskImage=root.raw + qemu-img create -f raw $rootDiskImage ${toString rootSize}M + ''; + + postVM = '' + ${ + if formatOpt == "raw" then + '' + mv $bootDiskImage $out/${bootFilename} + mv $rootDiskImage $out/${rootFilename} + '' + else + '' + ${pkgs.qemu_kvm}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $bootDiskImage $out/${bootFilename} + ${pkgs.qemu_kvm}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $rootDiskImage $out/${rootFilename} + '' + } + bootDiskImage=$out/${bootFilename} + rootDiskImage=$out/${rootFilename} + set -x + ${postVM} + ''; + } + '' + export PATH=${tools}:$PATH + set -x + + cp -sv /dev/vda /dev/sda + cp -sv /dev/vda /dev/xvda + + parted --script /dev/vda -- \ + mklabel gpt \ + mkpart no-fs 1MiB 2MiB \ + set 1 bios_grub on \ + align-check optimal 1 \ + mkpart ESP fat32 2MiB -1MiB \ + align-check optimal 2 \ + print + + sfdisk --dump /dev/vda + + + zpool create \ + ${stringifyProperties " -o" rootPoolProperties} \ + ${stringifyProperties " -O" rootPoolFilesystemProperties} \ + ${rootPoolName} /dev/vdb + parted --script /dev/vdb -- print + + ${createDatasets} + ${mountDatasets} + + mkdir -p /mnt/boot + mkfs.vfat -n ESP /dev/vda2 + mount /dev/vda2 /mnt/boot + + mount + + # Install a configuration.nix + mkdir -p /mnt/etc/nixos + # `cat` so it is mutable on the fs + cat ${mergedConfig} > /mnt/etc/nixos/configuration.nix + + export NIX_STATE_DIR=$TMPDIR/state + nix-store --load-db < ${closureInfo}/registration + + nixos-install \ + --root /mnt \ + --no-root-passwd \ + --system ${config.system.build.toplevel} \ + --substituters "" \ + ${lib.optionalString includeChannel ''--channel ${channelSources}''} + + df -h + + umount /mnt/boot + ${unmountDatasets} + + zpool export ${rootPoolName} + '' + ); in image diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix index f19847e706d5a..a6ff4be92c802 100644 --- a/nixos/lib/make-options-doc/default.nix +++ b/nixos/lib/make-options-doc/default.nix @@ -87,36 +87,41 @@ } ``` */ -{ pkgs -, lib -, options -, transformOptions ? lib.id # function for additional transformations of the options -, documentType ? "appendix" # TODO deprecate "appendix" in favor of "none" - # and/or rename function to moduleOptionDoc for clean slate +{ + pkgs, + lib, + options, + transformOptions ? lib.id, # function for additional transformations of the options + documentType ? "appendix", + # TODO deprecate "appendix" in favor of "none" + # and/or rename function to moduleOptionDoc for clean slate # If you include more than one option list into a document, you need to # provide different ids. -, variablelistId ? "configuration-variable-list" + variablelistId ? "configuration-variable-list", # String to prefix to the option XML/HTML id attributes. -, optionIdPrefix ? "opt-" -, revision ? "" # Specify revision for the options -# a set of options the docs we are generating will be merged into, as if by recursiveUpdate. -# used to split the options doc build into a static part (nixos/modules) and a dynamic part -# (non-nixos modules imported via configuration.nix, other module sources). -, baseOptionsJSON ? null -# instead of printing warnings for eg options with missing descriptions (which may be lost -# by nix build unless -L is given), emit errors instead and fail the build -, warningsAreErrors ? true + optionIdPrefix ? "opt-", + revision ? "", # Specify revision for the options + # a set of options the docs we are generating will be merged into, as if by recursiveUpdate. + # used to split the options doc build into a static part (nixos/modules) and a dynamic part + # (non-nixos modules imported via configuration.nix, other module sources). + baseOptionsJSON ? null, + # instead of printing warnings for eg options with missing descriptions (which may be lost + # by nix build unless -L is given), emit errors instead and fail the build + warningsAreErrors ? true, }: let rawOpts = lib.optionAttrSetToDocList options; transformedOpts = map transformOptions rawOpts; filteredOpts = lib.filter (opt: opt.visible && !opt.internal) transformedOpts; - optionsList = lib.flip map filteredOpts - (opt: opt - // lib.optionalAttrs (opt ? relatedPackages && opt.relatedPackages != []) { relatedPackages = genRelatedPackages opt.relatedPackages opt.name; } - ); + optionsList = lib.flip map filteredOpts ( + opt: + opt + // lib.optionalAttrs (opt ? relatedPackages && opt.relatedPackages != [ ]) { + relatedPackages = genRelatedPackages opt.relatedPackages opt.name; + } + ); # Generate DocBook documentation for a list of packages. This is # what `relatedPackages` option of `mkOption` from @@ -132,87 +137,110 @@ let # # NOTE: No checks against `pkgs` are made to ensure that the referenced package actually exists. # Such checks are not compatible with option docs caching. - genRelatedPackages = packages: optName: + genRelatedPackages = + packages: optName: let - unpack = p: if lib.isString p then { name = p; } - else if lib.isList p then { path = p; } - else p; - describe = args: + unpack = + p: + if lib.isString p then + { name = p; } + else if lib.isList p then + { path = p; } + else + p; + describe = + args: let title = args.title or null; name = args.name or (lib.concatStringsSep "." args.path); - in '' + in + '' - [${lib.optionalString (title != null) "${title} aka "}`pkgs.${name}`]( https://search.nixos.org/packages?show=${name}&sort=relevance&query=${name} - )${ - lib.optionalString (args ? comment) "\n\n ${args.comment}" - } + )${lib.optionalString (args ? comment) "\n\n ${args.comment}"} ''; - in lib.concatMapStrings (p: describe (unpack p)) packages; - - optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList); + in + lib.concatMapStrings (p: describe (unpack p)) packages; + + optionsNix = builtins.listToAttrs ( + map (o: { + name = o.name; + value = removeAttrs o [ + "name" + "visible" + "internal" + ]; + }) optionsList + ); -in rec { +in +rec { inherit optionsNix; - optionsAsciiDoc = pkgs.runCommand "options.adoc" { - nativeBuildInputs = [ pkgs.nixos-render-docs ]; - } '' - nixos-render-docs -j $NIX_BUILD_CORES options asciidoc \ - --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \ - --revision ${lib.escapeShellArg revision} \ - ${optionsJSON}/share/doc/nixos/options.json \ - $out - ''; - - optionsCommonMark = pkgs.runCommand "options.md" { - nativeBuildInputs = [ pkgs.nixos-render-docs ]; - } '' - nixos-render-docs -j $NIX_BUILD_CORES options commonmark \ - --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \ - --revision ${lib.escapeShellArg revision} \ - ${optionsJSON}/share/doc/nixos/options.json \ - $out - ''; - - optionsJSON = pkgs.runCommand "options.json" - { meta.description = "List of NixOS options in JSON format"; - nativeBuildInputs = [ - pkgs.brotli - pkgs.python3 - ]; - options = builtins.toFile "options.json" - (builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix)); - # merge with an empty set if baseOptionsJSON is null to run markdown - # processing on the input options - baseJSON = - if baseOptionsJSON == null - then builtins.toFile "base.json" "{}" - else baseOptionsJSON; - } - '' - # Export list of options in different format. - dst=$out/share/doc/nixos - mkdir -p $dst - - TOUCH_IF_DB=$dst/.used-docbook \ - python ${./mergeJSON.py} \ - ${lib.optionalString warningsAreErrors "--warnings-are-errors"} \ - $baseJSON $options \ - > $dst/options.json - - if grep /nixpkgs/nixos/modules $dst/options.json; then - echo "The manual appears to depend on the location of Nixpkgs, which is bad" - echo "since this prevents sharing via the NixOS channel. This is typically" - echo "caused by an option default that refers to a relative path (see above" - echo "for hints about the offending path)." - exit 1 - fi - - brotli -9 < $dst/options.json > $dst/options.json.br - - mkdir -p $out/nix-support - echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products - echo "file json-br $dst/options.json.br" >> $out/nix-support/hydra-build-products - ''; + optionsAsciiDoc = + pkgs.runCommand "options.adoc" + { + nativeBuildInputs = [ pkgs.nixos-render-docs ]; + } + '' + nixos-render-docs -j $NIX_BUILD_CORES options asciidoc \ + --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \ + --revision ${lib.escapeShellArg revision} \ + ${optionsJSON}/share/doc/nixos/options.json \ + $out + ''; + + optionsCommonMark = + pkgs.runCommand "options.md" + { + nativeBuildInputs = [ pkgs.nixos-render-docs ]; + } + '' + nixos-render-docs -j $NIX_BUILD_CORES options commonmark \ + --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \ + --revision ${lib.escapeShellArg revision} \ + ${optionsJSON}/share/doc/nixos/options.json \ + $out + ''; + + optionsJSON = + pkgs.runCommand "options.json" + { + meta.description = "List of NixOS options in JSON format"; + nativeBuildInputs = [ + pkgs.brotli + pkgs.python3 + ]; + options = builtins.toFile "options.json" ( + builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix) + ); + # merge with an empty set if baseOptionsJSON is null to run markdown + # processing on the input options + baseJSON = if baseOptionsJSON == null then builtins.toFile "base.json" "{}" else baseOptionsJSON; + } + '' + # Export list of options in different format. + dst=$out/share/doc/nixos + mkdir -p $dst + + TOUCH_IF_DB=$dst/.used-docbook \ + python ${./mergeJSON.py} \ + ${lib.optionalString warningsAreErrors "--warnings-are-errors"} \ + $baseJSON $options \ + > $dst/options.json + + if grep /nixpkgs/nixos/modules $dst/options.json; then + echo "The manual appears to depend on the location of Nixpkgs, which is bad" + echo "since this prevents sharing via the NixOS channel. This is typically" + echo "caused by an option default that refers to a relative path (see above" + echo "for hints about the offending path)." + exit 1 + fi + + brotli -9 < $dst/options.json > $dst/options.json.br + + mkdir -p $out/nix-support + echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products + echo "file json-br $dst/options.json.br" >> $out/nix-support/hydra-build-products + ''; } diff --git a/nixos/lib/make-single-disk-zfs-image.nix b/nixos/lib/make-single-disk-zfs-image.nix index cd65d596e0511..1641a7f799e2a 100644 --- a/nixos/lib/make-single-disk-zfs-image.nix +++ b/nixos/lib/make-single-disk-zfs-image.nix @@ -13,77 +13,81 @@ # This single-disk approach does not satisfy ZFS's requirements for autoexpand, # however automation can expand it anyway. For example, with # `services.zfs.expandOnBoot`. -{ lib -, pkgs -, # The NixOS configuration to be installed onto the disk image. - config +{ + lib, + pkgs, + # The NixOS configuration to be installed onto the disk image. + config, -, # size of the FAT partition, in megabytes. + # size of the FAT partition, in megabytes. bootSize ? 1024 , # memory allocated for virtualized build instance - memSize ? 1024 + memSize ? 1024, -, # The size of the root partition, in megabytes. - rootSize ? 2048 + # The size of the root partition, in megabytes. + rootSize ? 2048, -, # The name of the ZFS pool - rootPoolName ? "tank" + # The name of the ZFS pool + rootPoolName ? "tank", -, # zpool properties + # zpool properties rootPoolProperties ? { autoexpand = "on"; - } -, # pool-wide filesystem properties + }, + # pool-wide filesystem properties rootPoolFilesystemProperties ? { acltype = "posixacl"; atime = "off"; compression = "on"; mountpoint = "legacy"; xattr = "sa"; - } + }, -, # datasets, with per-attribute options: + # datasets, with per-attribute options: # mount: (optional) mount point in the VM # properties: (optional) ZFS properties on the dataset, like filesystemProperties # Notes: # 1. datasets will be created from shorter to longer names as a simple topo-sort # 2. you should define a root's dataset's mount for `/` - datasets ? { } + datasets ? { }, -, # The files and directories to be placed in the target file system. + # The files and directories to be placed in the target file system. # This is a list of attribute sets {source, target} where `source' # is the file system object (regular file or directory) to be # grafted in the file system at path `target'. - contents ? [ ] + contents ? [ ], -, # The initial NixOS configuration file to be copied to + # The initial NixOS configuration file to be copied to # /etc/nixos/configuration.nix. This configuration will be embedded # inside a configuration which includes the described ZFS fileSystems. - configFile ? null + configFile ? null, -, # Shell code executed after the VM has finished. - postVM ? "" + # Shell code executed after the VM has finished. + postVM ? "", -, name ? "nixos-disk-image" + name ? "nixos-disk-image", -, # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw. - format ? "raw" + # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw. + format ? "raw", -, # Include a copy of Nixpkgs in the disk image - includeChannel ? true + # Include a copy of Nixpkgs in the disk image + includeChannel ? true, }: let formatOpt = if format == "qcow2-compressed" then "qcow2" else format; compress = lib.optionalString (format == "qcow2-compressed") "-c"; - filenameSuffix = "." + { - qcow2 = "qcow2"; - vdi = "vdi"; - vpc = "vhd"; - raw = "img"; - }.${formatOpt} or formatOpt; + filenameSuffix = + "." + + { + qcow2 = "qcow2"; + vdi = "vdi"; + vpc = "vhd"; + raw = "img"; + } + .${formatOpt} or formatOpt; rootFilename = "nixos.root${filenameSuffix}"; # FIXME: merge with channel.nix / make-channel.nix. @@ -103,15 +107,20 @@ let ''; closureInfo = pkgs.closureInfo { - rootPaths = [ config.system.build.toplevel ] - ++ (lib.optional includeChannel channelSources); + rootPaths = [ config.system.build.toplevel ] ++ (lib.optional includeChannel channelSources); }; - modulesTree = pkgs.aggregateModules - (with config.boot.kernelPackages; [ kernel zfs ]); + modulesTree = pkgs.aggregateModules ( + with config.boot.kernelPackages; + [ + kernel + zfs + ] + ); tools = lib.makeBinPath ( - with pkgs; [ + with pkgs; + [ nixos-enter config.system.build.nixos-install dosfstools @@ -126,19 +135,22 @@ let hasDefinedMount = disk: ((disk.mount or null) != null); - stringifyProperties = prefix: properties: lib.concatStringsSep " \\\n" ( - lib.mapAttrsToList - ( + stringifyProperties = + prefix: properties: + lib.concatStringsSep " \\\n" ( + lib.mapAttrsToList ( property: value: "${prefix} ${lib.escapeShellArg property}=${lib.escapeShellArg value}" - ) - properties - ); + ) properties + ); createDatasets = let datasetlist = lib.mapAttrsToList lib.nameValuePair datasets; - sorted = lib.sort (left: right: (lib.stringLength left.name) < (lib.stringLength right.name)) datasetlist; - cmd = { name, value }: + sorted = lib.sort ( + left: right: (lib.stringLength left.name) < (lib.stringLength right.name) + ) datasetlist; + cmd = + { name, value }: let properties = stringifyProperties "-o" (value.properties or { }); in @@ -150,8 +162,11 @@ let let datasetlist = lib.mapAttrsToList lib.nameValuePair datasets; mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist; - sorted = lib.sort (left: right: (lib.stringLength left.value.mount) < (lib.stringLength right.value.mount)) mounts; - cmd = { name, value }: + sorted = lib.sort ( + left: right: (lib.stringLength left.value.mount) < (lib.stringLength right.value.mount) + ) mounts; + cmd = + { name, value }: '' mkdir -p /mnt${lib.escapeShellArg value.mount} mount -t zfs ${name} /mnt${lib.escapeShellArg value.mount} @@ -163,50 +178,51 @@ let let datasetlist = lib.mapAttrsToList lib.nameValuePair datasets; mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist; - sorted = lib.sort (left: right: (lib.stringLength left.value.mount) > (lib.stringLength right.value.mount)) mounts; - cmd = { name, value }: + sorted = lib.sort ( + left: right: (lib.stringLength left.value.mount) > (lib.stringLength right.value.mount) + ) mounts; + cmd = + { name, value }: '' umount /mnt${lib.escapeShellArg value.mount} ''; in lib.concatMapStringsSep "\n" cmd sorted; - fileSystemsCfgFile = let mountable = lib.filterAttrs (_: value: hasDefinedMount value) datasets; in pkgs.runCommand "filesystem-config.nix" { - buildInputs = with pkgs; [ jq nixpkgs-fmt ]; + buildInputs = with pkgs; [ + jq + nixpkgs-fmt + ]; filesystems = builtins.toJSON { - fileSystems = lib.mapAttrs' - ( - dataset: attrs: - { - name = attrs.mount; - value = { - fsType = "zfs"; - device = "${dataset}"; - }; - } - ) - mountable; + fileSystems = lib.mapAttrs' (dataset: attrs: { + name = attrs.mount; + value = { + fsType = "zfs"; + device = "${dataset}"; + }; + }) mountable; }; passAsFile = [ "filesystems" ]; - } '' - ( - echo "builtins.fromJSON '''" - jq . < "$filesystemsPath" - echo "'''" - ) > $out + } + '' + ( + echo "builtins.fromJSON '''" + jq . < "$filesystemsPath" + echo "'''" + ) > $out - nixpkgs-fmt $out - ''; + nixpkgs-fmt $out + ''; mergedConfig = - if configFile == null - then fileSystemsCfgFile + if configFile == null then + fileSystemsCfgFile else pkgs.runCommand "configuration.nix" { @@ -223,93 +239,104 @@ let nixpkgs-fmt $out ''; - image = ( - pkgs.vmTools.override { - rootModules = - [ "zfs" "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ]; + image = + (pkgs.vmTools.override { + rootModules = [ + "zfs" + "9p" + "9pnet_virtio" + "virtio_pci" + "virtio_blk" + ]; kernel = modulesTree; - } - ).runInLinuxVM ( - pkgs.runCommand name - { - inherit memSize; - QEMU_OPTS = "-drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report"; - preVM = '' - PATH=$PATH:${pkgs.qemu_kvm}/bin - mkdir $out - - rootDiskImage=root.raw - qemu-img create -f raw $rootDiskImage ${toString (bootSize + rootSize)}M - ''; - - postVM = '' - ${if formatOpt == "raw" then '' - mv $rootDiskImage $out/${rootFilename} - '' else '' - ${pkgs.qemu_kvm}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $rootDiskImage $out/${rootFilename} - ''} - rootDiskImage=$out/${rootFilename} + }).runInLinuxVM + ( + pkgs.runCommand name + { + inherit memSize; + QEMU_OPTS = "-drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report"; + preVM = '' + PATH=$PATH:${pkgs.qemu_kvm}/bin + mkdir $out + + rootDiskImage=root.raw + qemu-img create -f raw $rootDiskImage ${toString (bootSize + rootSize)}M + ''; + + postVM = '' + ${ + if formatOpt == "raw" then + '' + mv $rootDiskImage $out/${rootFilename} + '' + else + '' + ${pkgs.qemu_kvm}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $rootDiskImage $out/${rootFilename} + '' + } + rootDiskImage=$out/${rootFilename} + set -x + ${postVM} + ''; + } + '' + export PATH=${tools}:$PATH set -x - ${postVM} - ''; - } '' - export PATH=${tools}:$PATH - set -x - cp -sv /dev/vda /dev/sda - cp -sv /dev/vda /dev/xvda + cp -sv /dev/vda /dev/sda + cp -sv /dev/vda /dev/xvda - parted --script /dev/vda -- \ - mklabel gpt \ - mkpart no-fs 1MiB 2MiB \ - set 1 bios_grub on \ - align-check optimal 1 \ - mkpart primary fat32 2MiB ${toString bootSize}MiB \ - align-check optimal 2 \ - mkpart primary fat32 ${toString bootSize}MiB -1MiB \ - align-check optimal 3 \ - print + parted --script /dev/vda -- \ + mklabel gpt \ + mkpart no-fs 1MiB 2MiB \ + set 1 bios_grub on \ + align-check optimal 1 \ + mkpart primary fat32 2MiB ${toString bootSize}MiB \ + align-check optimal 2 \ + mkpart primary fat32 ${toString bootSize}MiB -1MiB \ + align-check optimal 3 \ + print - sfdisk --dump /dev/vda + sfdisk --dump /dev/vda - zpool create \ - ${stringifyProperties " -o" rootPoolProperties} \ - ${stringifyProperties " -O" rootPoolFilesystemProperties} \ - ${rootPoolName} /dev/vda3 - parted --script /dev/vda -- print + zpool create \ + ${stringifyProperties " -o" rootPoolProperties} \ + ${stringifyProperties " -O" rootPoolFilesystemProperties} \ + ${rootPoolName} /dev/vda3 + parted --script /dev/vda -- print - ${createDatasets} - ${mountDatasets} + ${createDatasets} + ${mountDatasets} - mkdir -p /mnt/boot - mkfs.vfat -n ESP /dev/vda2 - mount /dev/vda2 /mnt/boot + mkdir -p /mnt/boot + mkfs.vfat -n ESP /dev/vda2 + mount /dev/vda2 /mnt/boot - mount + mount - # Install a configuration.nix - mkdir -p /mnt/etc/nixos - # `cat` so it is mutable on the fs - cat ${mergedConfig} > /mnt/etc/nixos/configuration.nix + # Install a configuration.nix + mkdir -p /mnt/etc/nixos + # `cat` so it is mutable on the fs + cat ${mergedConfig} > /mnt/etc/nixos/configuration.nix - export NIX_STATE_DIR=$TMPDIR/state - nix-store --load-db < ${closureInfo}/registration + export NIX_STATE_DIR=$TMPDIR/state + nix-store --load-db < ${closureInfo}/registration - nixos-install \ - --root /mnt \ - --no-root-passwd \ - --system ${config.system.build.toplevel} \ - --substituters "" \ - ${lib.optionalString includeChannel ''--channel ${channelSources}''} + nixos-install \ + --root /mnt \ + --no-root-passwd \ + --system ${config.system.build.toplevel} \ + --substituters "" \ + ${lib.optionalString includeChannel ''--channel ${channelSources}''} - df -h + df -h - umount /mnt/boot - ${unmountDatasets} + umount /mnt/boot + ${unmountDatasets} - zpool export ${rootPoolName} - '' - ); + zpool export ${rootPoolName} + '' + ); in image diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix index 325792f97e8f3..9fb77230cf636 100644 --- a/nixos/lib/make-system-tarball.nix +++ b/nixos/lib/make-system-tarball.nix @@ -1,32 +1,35 @@ -{ stdenv, closureInfo, pixz +{ + stdenv, + closureInfo, + pixz, -, # The file name of the resulting tarball - fileName ? "nixos-system-${stdenv.hostPlatform.system}" + # The file name of the resulting tarball + fileName ? "nixos-system-${stdenv.hostPlatform.system}", -, # The files and directories to be placed in the tarball. + # The files and directories to be placed in the tarball. # This is a list of attribute sets {source, target} where `source' # is the file system object (regular file or directory) to be # grafted in the file system at path `target'. - contents + contents, -, # In addition to `contents', the closure of the store paths listed + # In addition to `contents', the closure of the store paths listed # in `packages' are also placed in the Nix store of the tarball. This is # a list of attribute sets {object, symlink} where `object' if a # store path whose closure will be copied, and `symlink' is a # symlink to `object' that will be added to the tarball. - storeContents ? [] + storeContents ? [ ], # Extra commands to be executed before archiving files -, extraCommands ? "" + extraCommands ? "", # Extra tar arguments -, extraArgs ? "" + extraArgs ? "", # Command used for compression -, compressCommand ? "pixz -t" + compressCommand ? "pixz -t", # Extension for the compressed tarball -, compressionExtension ? ".xz" + compressionExtension ? ".xz", # extra inputs, like the compressor to use -, extraInputs ? [ pixz ] + extraInputs ? [ pixz ], }: let @@ -39,7 +42,12 @@ stdenv.mkDerivation { builder = ./make-system-tarball.sh; nativeBuildInputs = extraInputs; - inherit fileName extraArgs extraCommands compressCommand; + inherit + fileName + extraArgs + extraCommands + compressCommand + ; # !!! should use XML. sources = map (x: x.source) contents; diff --git a/nixos/lib/qemu-common.nix b/nixos/lib/qemu-common.nix index 5dcdc1c46c8a7..5629b0b81d20f 100644 --- a/nixos/lib/qemu-common.nix +++ b/nixos/lib/qemu-common.nix @@ -2,28 +2,30 @@ { lib, pkgs }: let - zeroPad = n: - lib.optionalString (n < 16) "0" + - (if n > 255 - then throw "Can't have more than 255 nets or nodes!" - else lib.toHexString n); + zeroPad = + n: + lib.optionalString (n < 16) "0" + + (if n > 255 then throw "Can't have more than 255 nets or nodes!" else lib.toHexString n); in rec { qemuNicMac = net: machine: "52:54:00:12:${zeroPad net}:${zeroPad machine}"; - qemuNICFlags = nic: net: machine: - [ - "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}" - ''-netdev vde,id=vlan${toString nic},sock="$QEMU_VDE_SOCKET_${toString net}"'' - ]; + qemuNICFlags = nic: net: machine: [ + "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}" + ''-netdev vde,id=vlan${toString nic},sock="$QEMU_VDE_SOCKET_${toString net}"'' + ]; qemuSerialDevice = - if with pkgs.stdenv.hostPlatform; isx86 || isLoongArch64 || isMips64 || isRiscV then "ttyS0" - else if (with pkgs.stdenv.hostPlatform; isAarch || isPower) then "ttyAMA0" - else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'"; + if with pkgs.stdenv.hostPlatform; isx86 || isLoongArch64 || isMips64 || isRiscV then + "ttyS0" + else if (with pkgs.stdenv.hostPlatform; isAarch || isPower) then + "ttyAMA0" + else + throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'"; - qemuBinary = qemuPkg: + qemuBinary = + qemuPkg: let hostStdenv = qemuPkg.stdenv; hostSystem = hostStdenv.system; @@ -54,7 +56,8 @@ rec { supportedSystems = [ "linux" ] ++ (lib.attrNames otherHostGuestMatrix); in throw "Unsupported host system ${hostSystem}, supported: ${lib.concatStringsSep ", " supportedSystems}"; - throwUnsupportedGuestSystem = guestMap: + throwUnsupportedGuestSystem = + guestMap: throw "Unsupported guest system ${guestSystem} for host ${hostSystem}, supported: ${lib.concatStringsSep ", " (lib.attrNames guestMap)}"; in if hostStdenv.hostPlatform.isLinux then diff --git a/nixos/lib/systemd-network-units.nix b/nixos/lib/systemd-network-units.nix index c35309a6d2628..ffaefa972767f 100644 --- a/nixos/lib/systemd-network-units.nix +++ b/nixos/lib/systemd-network-units.nix @@ -9,252 +9,343 @@ let ; attrsToSection = systemdUtils.lib.attrsToSection; - commonMatchText = def: + commonMatchText = + def: optionalString (def.matchConfig != { }) '' [Match] ${attrsToSection def.matchConfig} ''; -in { - linkToUnit = def: - commonMatchText def + '' +in +{ + linkToUnit = + def: + commonMatchText def + + '' [Link] ${attrsToSection def.linkConfig} - '' + def.extraConfig; + '' + + def.extraConfig; - netdevToUnit = def: - commonMatchText def + '' + netdevToUnit = + def: + commonMatchText def + + '' [NetDev] ${attrsToSection def.netdevConfig} - '' + optionalString (def.bridgeConfig != { }) '' + '' + + optionalString (def.bridgeConfig != { }) '' [Bridge] ${attrsToSection def.bridgeConfig} - '' + optionalString (def.vlanConfig != { }) '' + '' + + optionalString (def.vlanConfig != { }) '' [VLAN] ${attrsToSection def.vlanConfig} - '' + optionalString (def.ipvlanConfig != { }) '' + '' + + optionalString (def.ipvlanConfig != { }) '' [IPVLAN] ${attrsToSection def.ipvlanConfig} - '' + optionalString (def.ipvtapConfig != { }) '' + '' + + optionalString (def.ipvtapConfig != { }) '' [IPVTAP] ${attrsToSection def.ipvtapConfig} - '' + optionalString (def.macvlanConfig != { }) '' + '' + + optionalString (def.macvlanConfig != { }) '' [MACVLAN] ${attrsToSection def.macvlanConfig} - '' + optionalString (def.vxlanConfig != { }) '' + '' + + optionalString (def.vxlanConfig != { }) '' [VXLAN] ${attrsToSection def.vxlanConfig} - '' + optionalString (def.tunnelConfig != { }) '' + '' + + optionalString (def.tunnelConfig != { }) '' [Tunnel] ${attrsToSection def.tunnelConfig} - '' + optionalString (def.fooOverUDPConfig != { }) '' + '' + + optionalString (def.fooOverUDPConfig != { }) '' [FooOverUDP] ${attrsToSection def.fooOverUDPConfig} - '' + optionalString (def.peerConfig != { }) '' + '' + + optionalString (def.peerConfig != { }) '' [Peer] ${attrsToSection def.peerConfig} - '' + optionalString (def.tunConfig != { }) '' + '' + + optionalString (def.tunConfig != { }) '' [Tun] ${attrsToSection def.tunConfig} - '' + optionalString (def.tapConfig != { }) '' + '' + + optionalString (def.tapConfig != { }) '' [Tap] ${attrsToSection def.tapConfig} - '' + optionalString (def.l2tpConfig != { }) '' + '' + + optionalString (def.l2tpConfig != { }) '' [L2TP] ${attrsToSection def.l2tpConfig} - '' + flip concatMapStrings def.l2tpSessions (x: '' + '' + + flip concatMapStrings def.l2tpSessions (x: '' [L2TPSession] ${attrsToSection x} - '') + optionalString (def.wireguardConfig != { }) '' + '') + + optionalString (def.wireguardConfig != { }) '' [WireGuard] ${attrsToSection def.wireguardConfig} - '' + flip concatMapStrings def.wireguardPeers (x: '' + '' + + flip concatMapStrings def.wireguardPeers (x: '' [WireGuardPeer] ${attrsToSection x} - '') + optionalString (def.bondConfig != { }) '' + '') + + optionalString (def.bondConfig != { }) '' [Bond] ${attrsToSection def.bondConfig} - '' + optionalString (def.xfrmConfig != { }) '' + '' + + optionalString (def.xfrmConfig != { }) '' [Xfrm] ${attrsToSection def.xfrmConfig} - '' + optionalString (def.vrfConfig != { }) '' + '' + + optionalString (def.vrfConfig != { }) '' [VRF] ${attrsToSection def.vrfConfig} - '' + optionalString (def.wlanConfig != { }) '' + '' + + optionalString (def.wlanConfig != { }) '' [WLAN] ${attrsToSection def.wlanConfig} - '' + optionalString (def.batmanAdvancedConfig != { }) '' + '' + + optionalString (def.batmanAdvancedConfig != { }) '' [BatmanAdvanced] ${attrsToSection def.batmanAdvancedConfig} - '' + def.extraConfig; + '' + + def.extraConfig; - networkToUnit = def: - commonMatchText def + optionalString (def.linkConfig != { }) '' + networkToUnit = + def: + commonMatchText def + + optionalString (def.linkConfig != { }) '' [Link] ${attrsToSection def.linkConfig} - '' + '' + '' + + '' [Network] - '' + attrsToSection def.networkConfig + '' + + attrsToSection def.networkConfig + optionalString (def.address != [ ]) '' ${concatStringsSep "\n" (map (s: "Address=${s}") def.address)} - '' + optionalString (def.gateway != [ ]) '' + '' + + optionalString (def.gateway != [ ]) '' ${concatStringsSep "\n" (map (s: "Gateway=${s}") def.gateway)} - '' + optionalString (def.dns != [ ]) '' + '' + + optionalString (def.dns != [ ]) '' ${concatStringsSep "\n" (map (s: "DNS=${s}") def.dns)} - '' + optionalString (def.ntp != [ ]) '' + '' + + optionalString (def.ntp != [ ]) '' ${concatStringsSep "\n" (map (s: "NTP=${s}") def.ntp)} - '' + optionalString (def.bridge != [ ]) '' + '' + + optionalString (def.bridge != [ ]) '' ${concatStringsSep "\n" (map (s: "Bridge=${s}") def.bridge)} - '' + optionalString (def.bond != [ ]) '' + '' + + optionalString (def.bond != [ ]) '' ${concatStringsSep "\n" (map (s: "Bond=${s}") def.bond)} - '' + optionalString (def.vrf != [ ]) '' + '' + + optionalString (def.vrf != [ ]) '' ${concatStringsSep "\n" (map (s: "VRF=${s}") def.vrf)} - '' + optionalString (def.vlan != [ ]) '' + '' + + optionalString (def.vlan != [ ]) '' ${concatStringsSep "\n" (map (s: "VLAN=${s}") def.vlan)} - '' + optionalString (def.macvlan != [ ]) '' + '' + + optionalString (def.macvlan != [ ]) '' ${concatStringsSep "\n" (map (s: "MACVLAN=${s}") def.macvlan)} - '' + optionalString (def.macvtap != [ ]) '' + '' + + optionalString (def.macvtap != [ ]) '' ${concatStringsSep "\n" (map (s: "MACVTAP=${s}") def.macvtap)} - '' + optionalString (def.vxlan != [ ]) '' + '' + + optionalString (def.vxlan != [ ]) '' ${concatStringsSep "\n" (map (s: "VXLAN=${s}") def.vxlan)} - '' + optionalString (def.tunnel != [ ]) '' + '' + + optionalString (def.tunnel != [ ]) '' ${concatStringsSep "\n" (map (s: "Tunnel=${s}") def.tunnel)} - '' + optionalString (def.xfrm != [ ]) '' + '' + + optionalString (def.xfrm != [ ]) '' ${concatStringsSep "\n" (map (s: "Xfrm=${s}") def.xfrm)} - '' + "\n" + flip concatMapStrings def.addresses (x: '' + '' + + "\n" + + flip concatMapStrings def.addresses (x: '' [Address] ${attrsToSection x} - '') + flip concatMapStrings def.routingPolicyRules (x: '' + '') + + flip concatMapStrings def.routingPolicyRules (x: '' [RoutingPolicyRule] ${attrsToSection x} - '') + flip concatMapStrings def.routes (x: '' + '') + + flip concatMapStrings def.routes (x: '' [Route] ${attrsToSection x} - '') + optionalString (def.dhcpV4Config != { }) '' + '') + + optionalString (def.dhcpV4Config != { }) '' [DHCPv4] ${attrsToSection def.dhcpV4Config} - '' + optionalString (def.dhcpV6Config != { }) '' + '' + + optionalString (def.dhcpV6Config != { }) '' [DHCPv6] ${attrsToSection def.dhcpV6Config} - '' + optionalString (def.dhcpPrefixDelegationConfig != { }) '' + '' + + optionalString (def.dhcpPrefixDelegationConfig != { }) '' [DHCPPrefixDelegation] ${attrsToSection def.dhcpPrefixDelegationConfig} - '' + optionalString (def.ipv6AcceptRAConfig != { }) '' + '' + + optionalString (def.ipv6AcceptRAConfig != { }) '' [IPv6AcceptRA] ${attrsToSection def.ipv6AcceptRAConfig} - '' + optionalString (def.dhcpServerConfig != { }) '' + '' + + optionalString (def.dhcpServerConfig != { }) '' [DHCPServer] ${attrsToSection def.dhcpServerConfig} - '' + optionalString (def.ipv6SendRAConfig != { }) '' + '' + + optionalString (def.ipv6SendRAConfig != { }) '' [IPv6SendRA] ${attrsToSection def.ipv6SendRAConfig} - '' + flip concatMapStrings def.ipv6PREF64Prefixes (x: '' + '' + + flip concatMapStrings def.ipv6PREF64Prefixes (x: '' [IPv6PREF64Prefix] ${attrsToSection x} - '') + flip concatMapStrings def.ipv6Prefixes (x: '' + '') + + flip concatMapStrings def.ipv6Prefixes (x: '' [IPv6Prefix] ${attrsToSection x} - '') + flip concatMapStrings def.ipv6RoutePrefixes (x: '' + '') + + flip concatMapStrings def.ipv6RoutePrefixes (x: '' [IPv6RoutePrefix] ${attrsToSection x} - '') + flip concatMapStrings def.dhcpServerStaticLeases (x: '' + '') + + flip concatMapStrings def.dhcpServerStaticLeases (x: '' [DHCPServerStaticLease] ${attrsToSection x} - '') + optionalString (def.bridgeConfig != { }) '' + '') + + optionalString (def.bridgeConfig != { }) '' [Bridge] ${attrsToSection def.bridgeConfig} - '' + flip concatMapStrings def.bridgeFDBs (x: '' + '' + + flip concatMapStrings def.bridgeFDBs (x: '' [BridgeFDB] ${attrsToSection x} - '') + flip concatMapStrings def.bridgeMDBs (x: '' + '') + + flip concatMapStrings def.bridgeMDBs (x: '' [BridgeMDB] ${attrsToSection x} - '') + optionalString (def.lldpConfig != { }) '' + '') + + optionalString (def.lldpConfig != { }) '' [LLDP] ${attrsToSection def.lldpConfig} - '' + optionalString (def.canConfig != { }) '' + '' + + optionalString (def.canConfig != { }) '' [CAN] ${attrsToSection def.canConfig} - '' + optionalString (def.ipoIBConfig != { }) '' + '' + + optionalString (def.ipoIBConfig != { }) '' [IPoIB] ${attrsToSection def.ipoIBConfig} - '' + optionalString (def.qdiscConfig != { }) '' + '' + + optionalString (def.qdiscConfig != { }) '' [QDisc] ${attrsToSection def.qdiscConfig} - '' + optionalString (def.networkEmulatorConfig != { }) '' + '' + + optionalString (def.networkEmulatorConfig != { }) '' [NetworkEmulator] ${attrsToSection def.networkEmulatorConfig} - '' + optionalString (def.tokenBucketFilterConfig != { }) '' + '' + + optionalString (def.tokenBucketFilterConfig != { }) '' [TokenBucketFilter] ${attrsToSection def.tokenBucketFilterConfig} - '' + optionalString (def.pieConfig != { }) '' + '' + + optionalString (def.pieConfig != { }) '' [PIE] ${attrsToSection def.pieConfig} - '' + optionalString (def.flowQueuePIEConfig != { }) '' + '' + + optionalString (def.flowQueuePIEConfig != { }) '' [FlowQueuePIE] ${attrsToSection def.flowQueuePIEConfig} - '' + optionalString (def.stochasticFairBlueConfig != { }) '' + '' + + optionalString (def.stochasticFairBlueConfig != { }) '' [StochasticFairBlue] ${attrsToSection def.stochasticFairBlueConfig} - '' + optionalString (def.stochasticFairnessQueueingConfig != { }) '' + '' + + optionalString (def.stochasticFairnessQueueingConfig != { }) '' [StochasticFairnessQueueing] ${attrsToSection def.stochasticFairnessQueueingConfig} - '' + optionalString (def.bfifoConfig != { }) '' + '' + + optionalString (def.bfifoConfig != { }) '' [BFIFO] ${attrsToSection def.bfifoConfig} - '' + optionalString (def.pfifoConfig != { }) '' + '' + + optionalString (def.pfifoConfig != { }) '' [PFIFO] ${attrsToSection def.pfifoConfig} - '' + optionalString (def.pfifoHeadDropConfig != { }) '' + '' + + optionalString (def.pfifoHeadDropConfig != { }) '' [PFIFOHeadDrop] ${attrsToSection def.pfifoHeadDropConfig} - '' + optionalString (def.pfifoFastConfig != { }) '' + '' + + optionalString (def.pfifoFastConfig != { }) '' [PFIFOFast] ${attrsToSection def.pfifoFastConfig} - '' + optionalString (def.cakeConfig != { }) '' + '' + + optionalString (def.cakeConfig != { }) '' [CAKE] ${attrsToSection def.cakeConfig} - '' + optionalString (def.controlledDelayConfig != { }) '' + '' + + optionalString (def.controlledDelayConfig != { }) '' [ControlledDelay] ${attrsToSection def.controlledDelayConfig} - '' + optionalString (def.deficitRoundRobinSchedulerConfig != { }) '' + '' + + optionalString (def.deficitRoundRobinSchedulerConfig != { }) '' [DeficitRoundRobinScheduler] ${attrsToSection def.deficitRoundRobinSchedulerConfig} - '' + optionalString (def.deficitRoundRobinSchedulerClassConfig != { }) '' + '' + + optionalString (def.deficitRoundRobinSchedulerClassConfig != { }) '' [DeficitRoundRobinSchedulerClass] ${attrsToSection def.deficitRoundRobinSchedulerClassConfig} - '' + optionalString (def.enhancedTransmissionSelectionConfig != { }) '' + '' + + optionalString (def.enhancedTransmissionSelectionConfig != { }) '' [EnhancedTransmissionSelection] ${attrsToSection def.enhancedTransmissionSelectionConfig} - '' + optionalString (def.genericRandomEarlyDetectionConfig != { }) '' + '' + + optionalString (def.genericRandomEarlyDetectionConfig != { }) '' [GenericRandomEarlyDetection] ${attrsToSection def.genericRandomEarlyDetectionConfig} - '' + optionalString (def.fairQueueingControlledDelayConfig != { }) '' + '' + + optionalString (def.fairQueueingControlledDelayConfig != { }) '' [FairQueueingControlledDelay] ${attrsToSection def.fairQueueingControlledDelayConfig} - '' + optionalString (def.fairQueueingConfig != { }) '' + '' + + optionalString (def.fairQueueingConfig != { }) '' [FairQueueing] ${attrsToSection def.fairQueueingConfig} - '' + optionalString (def.trivialLinkEqualizerConfig != { }) '' + '' + + optionalString (def.trivialLinkEqualizerConfig != { }) '' [TrivialLinkEqualizer] ${attrsToSection def.trivialLinkEqualizerConfig} - '' + optionalString (def.hierarchyTokenBucketConfig != { }) '' + '' + + optionalString (def.hierarchyTokenBucketConfig != { }) '' [HierarchyTokenBucket] ${attrsToSection def.hierarchyTokenBucketConfig} - '' + optionalString (def.hierarchyTokenBucketClassConfig != { }) '' + '' + + optionalString (def.hierarchyTokenBucketClassConfig != { }) '' [HierarchyTokenBucketClass] ${attrsToSection def.hierarchyTokenBucketClassConfig} - '' + optionalString (def.heavyHitterFilterConfig != { }) '' + '' + + optionalString (def.heavyHitterFilterConfig != { }) '' [HeavyHitterFilter] ${attrsToSection def.heavyHitterFilterConfig} - '' + optionalString (def.quickFairQueueingConfig != { }) '' + '' + + optionalString (def.quickFairQueueingConfig != { }) '' [QuickFairQueueing] ${attrsToSection def.quickFairQueueingConfig} - '' + optionalString (def.quickFairQueueingConfigClass != { }) '' + '' + + optionalString (def.quickFairQueueingConfigClass != { }) '' [QuickFairQueueingClass] ${attrsToSection def.quickFairQueueingConfigClass} - '' + flip concatMapStrings def.bridgeVLANs (x: '' + '' + + flip concatMapStrings def.bridgeVLANs (x: '' [BridgeVLAN] ${attrsToSection x} - '') + def.extraConfig; + '') + + def.extraConfig; } diff --git a/nixos/lib/systemd-types.nix b/nixos/lib/systemd-types.nix index 65ddb2458627c..e3926c14252fc 100644 --- a/nixos/lib/systemd-types.nix +++ b/nixos/lib/systemd-types.nix @@ -1,4 +1,8 @@ -{ lib, systemdUtils, pkgs }: +{ + lib, + systemdUtils, + pkgs, +}: let inherit (systemdUtils.lib) @@ -57,105 +61,196 @@ let submodule ; - initrdStorePathModule = { config, ... }: { - options = { - enable = (mkEnableOption "copying of this file and symlinking it") // { default = true; }; - - target = mkOption { - type = nullOr path; - description = '' - Path of the symlink. - ''; - default = null; - }; - - source = mkOption { - type = path; - description = "Path of the source file."; - }; + initrdStorePathModule = + { config, ... }: + { + options = { + enable = (mkEnableOption "copying of this file and symlinking it") // { + default = true; + }; - dlopen = { - usePriority = mkOption { - type = enum [ "required" "recommended" "suggested" ]; - default = "recommended"; + target = mkOption { + type = nullOr path; description = '' - Priority of dlopen ELF notes to include. "required" is - minimal, "recommended" includes "required", and - "suggested" includes "recommended". - - See: https://systemd.io/ELF_DLOPEN_METADATA/ + Path of the symlink. ''; + default = null; }; - features = mkOption { - type = listOf singleLineStr; - default = [ ]; - description = '' - Features to enable via dlopen ELF notes. These will be in - addition to anything included via 'usePriority', - regardless of their priority. - ''; + source = mkOption { + type = path; + description = "Path of the source file."; + }; + + dlopen = { + usePriority = mkOption { + type = enum [ + "required" + "recommended" + "suggested" + ]; + default = "recommended"; + description = '' + Priority of dlopen ELF notes to include. "required" is + minimal, "recommended" includes "required", and + "suggested" includes "recommended". + + See: https://systemd.io/ELF_DLOPEN_METADATA/ + ''; + }; + + features = mkOption { + type = listOf singleLineStr; + default = [ ]; + description = '' + Features to enable via dlopen ELF notes. These will be in + addition to anything included via 'usePriority', + regardless of their priority. + ''; + }; }; }; }; - }; in { - units = attrsOf (submodule ({ name, config, ... }: { - options = concreteUnitOptions; - config = { - name = mkDefault name; - unit = mkDefault (makeUnit name config); - }; - })); + units = attrsOf ( + submodule ( + { name, config, ... }: + { + options = concreteUnitOptions; + config = { + name = mkDefault name; + unit = mkDefault (makeUnit name config); + }; + } + ) + ); - services = attrsOf (submodule [ stage2ServiceOptions unitConfig stage2ServiceConfig ]); - initrdServices = attrsOf (submodule [ stage1ServiceOptions unitConfig stage1ServiceConfig ]); + services = attrsOf (submodule [ + stage2ServiceOptions + unitConfig + stage2ServiceConfig + ]); + initrdServices = attrsOf (submodule [ + stage1ServiceOptions + unitConfig + stage1ServiceConfig + ]); - targets = attrsOf (submodule [ stage2CommonUnitOptions unitConfig targetConfig ]); - initrdTargets = attrsOf (submodule [ stage1CommonUnitOptions unitConfig targetConfig ]); + targets = attrsOf (submodule [ + stage2CommonUnitOptions + unitConfig + targetConfig + ]); + initrdTargets = attrsOf (submodule [ + stage1CommonUnitOptions + unitConfig + targetConfig + ]); - sockets = attrsOf (submodule [ stage2SocketOptions unitConfig socketConfig]); - initrdSockets = attrsOf (submodule [ stage1SocketOptions unitConfig socketConfig ]); + sockets = attrsOf (submodule [ + stage2SocketOptions + unitConfig + socketConfig + ]); + initrdSockets = attrsOf (submodule [ + stage1SocketOptions + unitConfig + socketConfig + ]); - timers = attrsOf (submodule [ stage2TimerOptions unitConfig timerConfig ]); - initrdTimers = attrsOf (submodule [ stage1TimerOptions unitConfig timerConfig ]); + timers = attrsOf (submodule [ + stage2TimerOptions + unitConfig + timerConfig + ]); + initrdTimers = attrsOf (submodule [ + stage1TimerOptions + unitConfig + timerConfig + ]); - paths = attrsOf (submodule [ stage2PathOptions unitConfig pathConfig ]); - initrdPaths = attrsOf (submodule [ stage1PathOptions unitConfig pathConfig ]); + paths = attrsOf (submodule [ + stage2PathOptions + unitConfig + pathConfig + ]); + initrdPaths = attrsOf (submodule [ + stage1PathOptions + unitConfig + pathConfig + ]); - slices = attrsOf (submodule [ stage2SliceOptions unitConfig sliceConfig ]); - initrdSlices = attrsOf (submodule [ stage1SliceOptions unitConfig sliceConfig ]); + slices = attrsOf (submodule [ + stage2SliceOptions + unitConfig + sliceConfig + ]); + initrdSlices = attrsOf (submodule [ + stage1SliceOptions + unitConfig + sliceConfig + ]); - mounts = listOf (submodule [ stage2MountOptions unitConfig mountConfig ]); - initrdMounts = listOf (submodule [ stage1MountOptions unitConfig mountConfig ]); + mounts = listOf (submodule [ + stage2MountOptions + unitConfig + mountConfig + ]); + initrdMounts = listOf (submodule [ + stage1MountOptions + unitConfig + mountConfig + ]); - automounts = listOf (submodule [ stage2AutomountOptions unitConfig automountConfig ]); - initrdAutomounts = attrsOf (submodule [ stage1AutomountOptions unitConfig automountConfig ]); + automounts = listOf (submodule [ + stage2AutomountOptions + unitConfig + automountConfig + ]); + initrdAutomounts = attrsOf (submodule [ + stage1AutomountOptions + unitConfig + automountConfig + ]); - initrdStorePath = listOf (coercedTo - (oneOf [ singleLineStr package ]) - (source: { inherit source; }) - (submodule initrdStorePathModule)); + initrdStorePath = listOf ( + coercedTo (oneOf [ + singleLineStr + package + ]) (source: { inherit source; }) (submodule initrdStorePathModule) + ); - initrdContents = attrsOf (submodule ({ config, options, name, ... }: { - imports = [ initrdStorePathModule ]; - options = { - text = mkOption { - default = null; - type = nullOr lines; - description = "Text of the file."; - }; - }; + initrdContents = attrsOf ( + submodule ( + { + config, + options, + name, + ... + }: + { + imports = [ initrdStorePathModule ]; + options = { + text = mkOption { + default = null; + type = nullOr lines; + description = "Text of the file."; + }; + }; - config = { - target = mkDefault name; - source = mkIf (config.text != null) ( - let name' = "initrd-" + baseNameOf name; - in mkDerivedConfig options.text (pkgs.writeText name') - ); - }; - })); + config = { + target = mkDefault name; + source = mkIf (config.text != null) ( + let + name' = "initrd-" + baseNameOf name; + in + mkDerivedConfig options.text (pkgs.writeText name') + ); + }; + } + ) + ); } diff --git a/nixos/lib/test-driver/nixos-test-driver-docstrings.nix b/nixos/lib/test-driver/nixos-test-driver-docstrings.nix index a3ef50e4e8205..b76da9ac5fb21 100644 --- a/nixos/lib/test-driver/nixos-test-driver-docstrings.nix +++ b/nixos/lib/test-driver/nixos-test-driver-docstrings.nix @@ -1,9 +1,12 @@ -{ runCommand -, python3 +{ + runCommand, + python3, }: let - env = { nativeBuildInputs = [ python3 ]; }; + env = { + nativeBuildInputs = [ python3 ]; + }; in runCommand "nixos-test-driver-docstrings" env '' diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index f5222351518b5..d01c1d9b5e095 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -1,78 +1,101 @@ -args@ -{ system -, pkgs ? import ../.. { inherit system config; } +args@{ + system, + pkgs ? import ../.. { inherit system config; }, # Use a minimal kernel? -, minimal ? false + minimal ? false, # Ignored -, config ? { } + config ? { }, # !!! See comment about args in lib/modules.nix -, specialArgs ? throw "legacy - do not use, see error below" + specialArgs ? throw "legacy - do not use, see error below", # Modules to add to each VM -, extraConfigurations ? [ ] + extraConfigurations ? [ ], }: let nixos-lib = import ./default.nix { inherit (pkgs) lib; }; in -pkgs.lib.throwIf (args?specialArgs) '' - testing-python.nix: `specialArgs` is not supported anymore. If you're looking - for the public interface to the NixOS test framework, use `runTest`, and - `node.specialArgs`. - See https://nixos.org/manual/nixos/unstable/index.html#sec-calling-nixos-tests - and https://nixos.org/manual/nixos/unstable/index.html#test-opt-node.specialArgs -'' -rec { +pkgs.lib.throwIf (args ? specialArgs) + '' + testing-python.nix: `specialArgs` is not supported anymore. If you're looking + for the public interface to the NixOS test framework, use `runTest`, and + `node.specialArgs`. + See https://nixos.org/manual/nixos/unstable/index.html#sec-calling-nixos-tests + and https://nixos.org/manual/nixos/unstable/index.html#test-opt-node.specialArgs + '' + rec { - inherit pkgs; + inherit pkgs; - evalTest = module: nixos-lib.evalTest { imports = [ extraTestModule module ]; }; - runTest = module: nixos-lib.runTest { imports = [ extraTestModule module ]; }; + evalTest = + module: + nixos-lib.evalTest { + imports = [ + extraTestModule + module + ]; + }; + runTest = + module: + nixos-lib.runTest { + imports = [ + extraTestModule + module + ]; + }; - extraTestModule = { - config = { - hostPkgs = pkgs; + extraTestModule = { + config = { + hostPkgs = pkgs; + }; }; - }; - # Make a full-blown test (legacy) - # For an official public interface to the tests, see - # https://nixos.org/manual/nixos/unstable/index.html#sec-calling-nixos-tests - makeTest = - { machine ? null - , nodes ? {} - , testScript - , enableOCR ? false - , globalTimeout ? (60 * 60) - , name ? "unnamed" - , skipTypeCheck ? false - # Skip linting (mainly intended for faster dev cycles) - , skipLint ? false - , passthru ? {} - , meta ? {} - , # For meta.position - pos ? # position used in error messages and for meta.position - (if meta.description or null != null - then builtins.unsafeGetAttrPos "description" meta - else builtins.unsafeGetAttrPos "testScript" t) - , extraPythonPackages ? (_ : []) - , interactive ? {} - } @ t: let - testConfig = - (evalTest { - imports = [ - { _file = "makeTest parameters"; config = t; } - { - defaults = { - _file = "makeTest: extraConfigurations"; - imports = extraConfigurations; - }; - } - ]; - }).config; - in - testConfig.test # For nix-build - // testConfig; # For all-tests.nix + # Make a full-blown test (legacy) + # For an official public interface to the tests, see + # https://nixos.org/manual/nixos/unstable/index.html#sec-calling-nixos-tests + makeTest = + { + machine ? null, + nodes ? { }, + testScript, + enableOCR ? false, + globalTimeout ? (60 * 60), + name ? "unnamed", + skipTypeCheck ? false, + # Skip linting (mainly intended for faster dev cycles) + skipLint ? false, + passthru ? { }, + meta ? { }, + # For meta.position + pos ? # position used in error messages and for meta.position + ( + if meta.description or null != null then + builtins.unsafeGetAttrPos "description" meta + else + builtins.unsafeGetAttrPos "testScript" t + ), + extraPythonPackages ? (_: [ ]), + interactive ? { }, + }@t: + let + testConfig = + (evalTest { + imports = [ + { + _file = "makeTest parameters"; + config = t; + } + { + defaults = { + _file = "makeTest: extraConfigurations"; + imports = extraConfigurations; + }; + } + ]; + }).config; + in + testConfig.test # For nix-build + // testConfig; # For all-tests.nix - simpleTest = as: (makeTest as).test; + simpleTest = as: (makeTest as).test; -} + } diff --git a/nixos/lib/testing/default.nix b/nixos/lib/testing/default.nix index a89f734b1e645..7fdd454c22b8d 100644 --- a/nixos/lib/testing/default.nix +++ b/nixos/lib/testing/default.nix @@ -1,11 +1,21 @@ { lib }: let - evalTest = module: lib.evalModules { - modules = testModules ++ [ module ]; - class = "nixosTest"; - }; - runTest = module: (evalTest ({ config, ... }: { imports = [ module ]; result = config.test; })).config.result; + evalTest = + module: + lib.evalModules { + modules = testModules ++ [ module ]; + class = "nixosTest"; + }; + runTest = + module: + (evalTest ( + { config, ... }: + { + imports = [ module ]; + result = config.test; + } + )).config.result; testModules = [ ./call-test.nix diff --git a/nixos/lib/testing/interactive.nix b/nixos/lib/testing/interactive.nix index 0b12096692828..959cf463160c3 100644 --- a/nixos/lib/testing/interactive.nix +++ b/nixos/lib/testing/interactive.nix @@ -1,4 +1,10 @@ -{ config, lib, moduleType, hostPkgs, ... }: +{ + config, + lib, + moduleType, + hostPkgs, + ... +}: let inherit (lib) mkOption types; in diff --git a/nixos/lib/testing/legacy.nix b/nixos/lib/testing/legacy.nix index b310575566015..9c901ce061470 100644 --- a/nixos/lib/testing/legacy.nix +++ b/nixos/lib/testing/legacy.nix @@ -1,4 +1,9 @@ -{ config, options, lib, ... }: +{ + config, + options, + lib, + ... +}: let inherit (lib) mkIf mkOption types; in diff --git a/nixos/lib/testing/meta.nix b/nixos/lib/testing/meta.nix index bdf313e5b119f..0a4c89ed4b063 100644 --- a/nixos/lib/testing/meta.nix +++ b/nixos/lib/testing/meta.nix @@ -15,14 +15,14 @@ in options = { maintainers = lib.mkOption { type = types.listOf types.raw; - default = []; + default = [ ]; description = '' The [list of maintainers](https://nixos.org/manual/nixpkgs/stable/#var-meta-maintainers) for this test. ''; }; timeout = lib.mkOption { type = types.nullOr types.int; - default = 3600; # 1 hour + default = 3600; # 1 hour description = '' The [{option}`test`](#test-opt-test)'s [`meta.timeout`](https://nixos.org/manual/nixpkgs/stable/#var-meta-timeout) in seconds. ''; @@ -43,7 +43,7 @@ in }; }; }; - default = {}; + default = { }; }; }; } diff --git a/nixos/lib/testing/network.nix b/nixos/lib/testing/network.nix index 8e6d383e6257f..c393056009d83 100644 --- a/nixos/lib/testing/network.nix +++ b/nixos/lib/testing/network.nix @@ -2,20 +2,33 @@ let inherit (lib) - attrNames concatMap concatMapStrings flip forEach head - listToAttrs mkDefault mkOption nameValuePair optionalString - range toLower types zipListsWith zipLists + attrNames + concatMap + concatMapStrings + flip + forEach + head + listToAttrs + mkDefault + mkOption + nameValuePair + optionalString + range + toLower + types + zipListsWith + zipLists ; - nodeNumbers = - listToAttrs - (zipListsWith - nameValuePair - (attrNames nodes) - (range 1 254) - ); + nodeNumbers = listToAttrs (zipListsWith nameValuePair (attrNames nodes) (range 1 254)); - networkModule = { config, nodes, pkgs, ... }: + networkModule = + { + config, + nodes, + pkgs, + ... + }: let qemu-common = import ../qemu-common.nix { inherit lib pkgs; }; @@ -31,7 +44,8 @@ let # Automatically assign IP addresses to requested interfaces. assignIPs = lib.filter (i: i.assignIP) interfaces; - ipInterfaces = forEach assignIPs (i: + ipInterfaces = forEach assignIPs ( + i: nameValuePair i.name { ipv4.addresses = [ { @@ -45,47 +59,59 @@ let prefixLength = 64; } ]; - }); + } + ); - qemuOptions = lib.flatten (forEach interfacesNumbered ({ fst, snd }: - qemu-common.qemuNICFlags snd fst.vlan config.virtualisation.test.nodeNumber)); - udevRules = forEach interfacesNumbered ({ fst, snd }: + qemuOptions = lib.flatten ( + forEach interfacesNumbered ( + { fst, snd }: qemu-common.qemuNICFlags snd fst.vlan config.virtualisation.test.nodeNumber + ) + ); + udevRules = forEach interfacesNumbered ( + { fst, snd }: # MAC Addresses for QEMU network devices are lowercase, and udev string comparison is case-sensitive. - ''SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="${toLower(qemu-common.qemuNicMac fst.vlan config.virtualisation.test.nodeNumber)}",NAME="${fst.name}"''); - - networkConfig = - { - networking.hostName = mkDefault config.virtualisation.test.nodeName; - - networking.interfaces = listToAttrs ipInterfaces; - - networking.primaryIPAddress = - optionalString (ipInterfaces != [ ]) (head (head ipInterfaces).value.ipv4.addresses).address; - - networking.primaryIPv6Address = - optionalString (ipInterfaces != [ ]) (head (head ipInterfaces).value.ipv6.addresses).address; - - # Put the IP addresses of all VMs in this machine's - # /etc/hosts file. If a machine has multiple - # interfaces, use the IP address corresponding to - # the first interface (i.e. the first network in its - # virtualisation.vlans option). - networking.extraHosts = flip concatMapStrings (attrNames nodes) - (m': - let - config = nodes.${m'}; - hostnames = - optionalString (config.networking.domain != null) "${config.networking.hostName}.${config.networking.domain} " + - "${config.networking.hostName}\n"; - in - optionalString (config.networking.primaryIPAddress != "") - "${config.networking.primaryIPAddress} ${hostnames}" + - optionalString (config.networking.primaryIPv6Address != "") - ("${config.networking.primaryIPv6Address} ${hostnames}")); - - virtualisation.qemu.options = qemuOptions; - boot.initrd.services.udev.rules = concatMapStrings (x: x + "\n") udevRules; - }; + ''SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="${toLower (qemu-common.qemuNicMac fst.vlan config.virtualisation.test.nodeNumber)}",NAME="${fst.name}"'' + ); + + networkConfig = { + networking.hostName = mkDefault config.virtualisation.test.nodeName; + + networking.interfaces = listToAttrs ipInterfaces; + + networking.primaryIPAddress = + optionalString (ipInterfaces != [ ]) + (head (head ipInterfaces).value.ipv4.addresses).address; + + networking.primaryIPv6Address = + optionalString (ipInterfaces != [ ]) + (head (head ipInterfaces).value.ipv6.addresses).address; + + # Put the IP addresses of all VMs in this machine's + # /etc/hosts file. If a machine has multiple + # interfaces, use the IP address corresponding to + # the first interface (i.e. the first network in its + # virtualisation.vlans option). + networking.extraHosts = flip concatMapStrings (attrNames nodes) ( + m': + let + config = nodes.${m'}; + hostnames = + optionalString ( + config.networking.domain != null + ) "${config.networking.hostName}.${config.networking.domain} " + + "${config.networking.hostName}\n"; + in + optionalString ( + config.networking.primaryIPAddress != "" + ) "${config.networking.primaryIPAddress} ${hostnames}" + + optionalString (config.networking.primaryIPv6Address != "") ( + "${config.networking.primaryIPv6Address} ${hostnames}" + ) + ); + + virtualisation.qemu.options = qemuOptions; + boot.initrd.services.udev.rules = concatMapStrings (x: x + "\n") udevRules; + }; in { @@ -97,50 +123,60 @@ let }; }; - nodeNumberModule = (regular@{ config, name, ... }: { - options = { - virtualisation.test.nodeName = mkOption { - internal = true; - default = name; - # We need to force this in specilisations, otherwise it'd be - # readOnly = true; - description = '' - The `name` in `nodes.`; stable across `specialisations`. - ''; - }; - virtualisation.test.nodeNumber = mkOption { - internal = true; - type = types.int; - readOnly = true; - default = nodeNumbers.${config.virtualisation.test.nodeName}; - description = '' - A unique number assigned for each node in `nodes`. - ''; - }; + nodeNumberModule = ( + regular@{ config, name, ... }: + { + options = { + virtualisation.test.nodeName = mkOption { + internal = true; + default = name; + # We need to force this in specilisations, otherwise it'd be + # readOnly = true; + description = '' + The `name` in `nodes.`; stable across `specialisations`. + ''; + }; + virtualisation.test.nodeNumber = mkOption { + internal = true; + type = types.int; + readOnly = true; + default = nodeNumbers.${config.virtualisation.test.nodeName}; + description = '' + A unique number assigned for each node in `nodes`. + ''; + }; - # specialisations override the `name` module argument, - # so we push the real `virtualisation.test.nodeName`. - specialisation = mkOption { - type = types.attrsOf (types.submodule { - options.configuration = mkOption { - type = types.submoduleWith { - modules = [ - { - config.virtualisation.test.nodeName = - # assert regular.config.virtualisation.test.nodeName != "configuration"; - regular.config.virtualisation.test.nodeName; - } - ]; - }; - }; - }); + # specialisations override the `name` module argument, + # so we push the real `virtualisation.test.nodeName`. + specialisation = mkOption { + type = types.attrsOf ( + types.submodule { + options.configuration = mkOption { + type = types.submoduleWith { + modules = [ + { + config.virtualisation.test.nodeName = + # assert regular.config.virtualisation.test.nodeName != "configuration"; + regular.config.virtualisation.test.nodeName; + } + ]; + }; + }; + } + ); + }; }; - }; - }); + } + ); in { config = { - extraBaseModules = { imports = [ networkModule nodeNumberModule ]; }; + extraBaseModules = { + imports = [ + networkModule + nodeNumberModule + ]; + }; }; } diff --git a/nixos/lib/testing/nixos-test-base.nix b/nixos/lib/testing/nixos-test-base.nix index c8b15a0ecce4c..23358f2185b1f 100644 --- a/nixos/lib/testing/nixos-test-base.nix +++ b/nixos/lib/testing/nixos-test-base.nix @@ -9,7 +9,10 @@ in imports = [ ../../modules/virtualisation/qemu-vm.nix ../../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs - { key = "no-manual"; documentation.nixos.enable = false; } + { + key = "no-manual"; + documentation.nixos.enable = false; + } { key = "no-revision"; # Make the revision metadata constant, in order to avoid needless retesting. @@ -22,11 +25,16 @@ in label = mkForce "test"; }; } - ({ config, ... }: { - # Don't pull in switch-to-configuration by default, except when specialisations or early boot shenanigans are involved. - # This is mostly a Hydra optimization, so we don't rebuild all the tests every time switch-to-configuration-ng changes. - key = "no-switch-to-configuration"; - system.switch.enable = mkDefault (config.isSpecialisation || config.specialisation != {} || config.virtualisation.installBootLoader); - }) + ( + { config, ... }: + { + # Don't pull in switch-to-configuration by default, except when specialisations or early boot shenanigans are involved. + # This is mostly a Hydra optimization, so we don't rebuild all the tests every time switch-to-configuration-ng changes. + key = "no-switch-to-configuration"; + system.switch.enable = mkDefault ( + config.isSpecialisation || config.specialisation != { } || config.virtualisation.installBootLoader + ); + } + ) ]; } diff --git a/nixos/lib/testing/nodes.nix b/nixos/lib/testing/nodes.nix index 4c528609fb4e9..caefac6c748ca 100644 --- a/nixos/lib/testing/nodes.nix +++ b/nixos/lib/testing/nodes.nix @@ -1,4 +1,10 @@ -testModuleArgs@{ config, lib, hostPkgs, nodes, ... }: +testModuleArgs@{ + config, + lib, + hostPkgs, + nodes, + ... +}: let inherit (lib) @@ -7,7 +13,8 @@ let mapAttrs mkDefault mkIf - mkOption mkForce + mkOption + mkForce optional optionalAttrs types @@ -16,8 +23,8 @@ let inherit (hostPkgs.stdenv) hostPlatform; guestSystem = - if hostPlatform.isLinux - then hostPlatform.system + if hostPlatform.isLinux then + hostPlatform.system else let hostToGuest = { @@ -27,39 +34,43 @@ let supportedHosts = lib.concatStringsSep ", " (lib.attrNames hostToGuest); - message = - "NixOS Test: don't know which VM guest system to pair with VM host system: ${hostPlatform.system}. Perhaps you intended to run the tests on a Linux host, or one of the following systems that may run NixOS tests: ${supportedHosts}"; + message = "NixOS Test: don't know which VM guest system to pair with VM host system: ${hostPlatform.system}. Perhaps you intended to run the tests on a Linux host, or one of the following systems that may run NixOS tests: ${supportedHosts}"; in - hostToGuest.${hostPlatform.system} or (throw message); - - baseOS = - import ../eval-config.nix { - inherit lib; - system = null; # use modularly defined system - inherit (config.node) specialArgs; - modules = [ config.defaults ]; - baseModules = (import ../../modules/module-list.nix) ++ - [ - ./nixos-test-base.nix - { key = "nodes"; _module.args.nodes = config.nodesCompat; } - ({ config, ... }: - { - virtualisation.qemu.package = testModuleArgs.config.qemu.package; - virtualisation.host.pkgs = hostPkgs; - }) - ({ options, ... }: { - key = "nodes.nix-pkgs"; - config = optionalAttrs (!config.node.pkgsReadOnly) ( - mkIf (!options.nixpkgs.pkgs.isDefined) { - # TODO: switch to nixpkgs.hostPlatform and make sure containers-imperative test still evaluates. - nixpkgs.system = guestSystem; - } - ); - }) - testModuleArgs.config.extraBaseModules - ]; - }; - + hostToGuest.${hostPlatform.system} or (throw message); + + baseOS = import ../eval-config.nix { + inherit lib; + system = null; # use modularly defined system + inherit (config.node) specialArgs; + modules = [ config.defaults ]; + baseModules = (import ../../modules/module-list.nix) ++ [ + ./nixos-test-base.nix + { + key = "nodes"; + _module.args.nodes = config.nodesCompat; + } + ( + { config, ... }: + { + virtualisation.qemu.package = testModuleArgs.config.qemu.package; + virtualisation.host.pkgs = hostPkgs; + } + ) + ( + { options, ... }: + { + key = "nodes.nix-pkgs"; + config = optionalAttrs (!config.node.pkgsReadOnly) ( + mkIf (!options.nixpkgs.pkgs.isDefined) { + # TODO: switch to nixpkgs.hostPlatform and make sure containers-imperative test still evaluates. + nixpkgs.system = guestSystem; + } + ); + } + ) + testModuleArgs.config.extraBaseModules + ]; + }; in @@ -148,14 +159,16 @@ in config = { _module.args.nodes = config.nodesCompat; - nodesCompat = - mapAttrs - (name: config: config // { - config = lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2211) + nodesCompat = mapAttrs ( + name: config: + config + // { + config = + lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2211) "Module argument `nodes.${name}.config` is deprecated. Use `nodes.${name}` instead." config; - }) - config.nodes; + } + ) config.nodes; passthru.nodes = config.nodesCompat; diff --git a/nixos/lib/testing/pkgs.nix b/nixos/lib/testing/pkgs.nix index 46d82c65d26a3..8dae2bbb27d90 100644 --- a/nixos/lib/testing/pkgs.nix +++ b/nixos/lib/testing/pkgs.nix @@ -1,4 +1,9 @@ -{ config, lib, hostPkgs, ... }: +{ + config, + lib, + hostPkgs, + ... +}: { config = { # default pkgs for use in VMs diff --git a/nixos/lib/testing/run.nix b/nixos/lib/testing/run.nix index 218292121ee77..4ea0b1e9a0348 100644 --- a/nixos/lib/testing/run.nix +++ b/nixos/lib/testing/run.nix @@ -1,4 +1,9 @@ -{ config, hostPkgs, lib, ... }: +{ + config, + hostPkgs, + lib, + ... +}: let inherit (lib) types mkOption; in @@ -41,7 +46,8 @@ in rawTestDerivation = hostPkgs.stdenv.mkDerivation { name = "vm-test-run-${config.name}"; - requiredSystemFeatures = [ "nixos-test" ] + requiredSystemFeatures = + [ "nixos-test" ] ++ lib.optionals hostPkgs.stdenv.hostPlatform.isLinux [ "kvm" ] ++ lib.optionals hostPkgs.stdenv.hostPlatform.isDarwin [ "apple-virt" ]; @@ -58,7 +64,8 @@ in meta = config.meta; }; - test = lib.lazyDerivation { # lazyDerivation improves performance when only passthru items and/or meta are used. + test = lib.lazyDerivation { + # lazyDerivation improves performance when only passthru items and/or meta are used. derivation = config.rawTestDerivation; inherit (config) passthru meta; }; diff --git a/nixos/lib/testing/testScript.nix b/nixos/lib/testing/testScript.nix index 09964777bd924..bde7b78607b47 100644 --- a/nixos/lib/testing/testScript.nix +++ b/nixos/lib/testing/testScript.nix @@ -1,4 +1,11 @@ -testModuleArgs@{ config, lib, hostPkgs, nodes, moduleType, ... }: +testModuleArgs@{ + config, + lib, + hostPkgs, + nodes, + moduleType, + ... +}: let inherit (lib) mkOption types; inherit (types) either str functionTo; @@ -37,48 +44,50 @@ in withoutTestScriptReferences.testScript = lib.mkForce "testscript omitted"; testScriptString = - if lib.isFunction config.testScript - then - config.testScript - { - nodes = - lib.mapAttrs - (k: v: - if v.virtualisation.useNixStoreImage - then - # prevent infinite recursion when testScript would - # reference v's toplevel - config.withoutTestScriptReferences.nodesCompat.${k} - else - # reuse memoized config - v - ) - config.nodesCompat; - } - else config.testScript; + if lib.isFunction config.testScript then + config.testScript { + nodes = lib.mapAttrs ( + k: v: + if v.virtualisation.useNixStoreImage then + # prevent infinite recursion when testScript would + # reference v's toplevel + config.withoutTestScriptReferences.nodesCompat.${k} + else + # reuse memoized config + v + ) config.nodesCompat; + } + else + config.testScript; - defaults = { config, name, ... }: { - # Make sure all derivations referenced by the test - # script are available on the nodes. When the store is - # accessed through 9p, this isn't important, since - # everything in the store is available to the guest, - # but when building a root image it is, as all paths - # that should be available to the guest has to be - # copied to the image. - virtualisation.additionalPaths = - lib.optional - # A testScript may evaluate nodes, which has caused - # infinite recursions. The demand cycle involves: - # testScript --> - # nodes --> - # toplevel --> - # additionalPaths --> - # hasContext testScript' --> - # testScript (ad infinitum) - # If we don't need to build an image, we can break this - # cycle by short-circuiting when useNixStoreImage is false. - (config.virtualisation.useNixStoreImage && builtins.hasContext testModuleArgs.config.testScriptString && testModuleArgs.config.includeTestScriptReferences) - (hostPkgs.writeStringReferencesToFile testModuleArgs.config.testScriptString); - }; + defaults = + { config, name, ... }: + { + # Make sure all derivations referenced by the test + # script are available on the nodes. When the store is + # accessed through 9p, this isn't important, since + # everything in the store is available to the guest, + # but when building a root image it is, as all paths + # that should be available to the guest has to be + # copied to the image. + virtualisation.additionalPaths = + lib.optional + # A testScript may evaluate nodes, which has caused + # infinite recursions. The demand cycle involves: + # testScript --> + # nodes --> + # toplevel --> + # additionalPaths --> + # hasContext testScript' --> + # testScript (ad infinitum) + # If we don't need to build an image, we can break this + # cycle by short-circuiting when useNixStoreImage is false. + ( + config.virtualisation.useNixStoreImage + && builtins.hasContext testModuleArgs.config.testScriptString + && testModuleArgs.config.includeTestScriptReferences + ) + (hostPkgs.writeStringReferencesToFile testModuleArgs.config.testScriptString); + }; }; } diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix index a0518660a5112..d0279083bcd71 100644 --- a/nixos/lib/utils.nix +++ b/nixos/lib/utils.nix @@ -1,4 +1,8 @@ -{ lib, config, pkgs }: +{ + lib, + config, + pkgs, +}: let inherit (lib) @@ -37,338 +41,399 @@ let in let -utils = rec { - - # Copy configuration files to avoid having the entire sources in the system closure - copyFile = filePath: pkgs.runCommand (builtins.unsafeDiscardStringContext (baseNameOf filePath)) {} '' - cp ${filePath} $out - ''; - - # Check whenever fileSystem is needed for boot. NOTE: Make sure - # pathsNeededForBoot is closed under the parent relationship, i.e. if /a/b/c - # is in the list, put /a and /a/b in as well. - pathsNeededForBoot = [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/var/lib/nixos" "/etc" "/usr" ]; - fsNeededForBoot = fs: fs.neededForBoot || elem fs.mountPoint pathsNeededForBoot; - - # Check whenever `b` depends on `a` as a fileSystem - fsBefore = a: b: - let - # normalisePath adds a slash at the end of the path if it didn't already - # have one. - # - # The reason slashes are added at the end of each path is to prevent `b` - # from accidentally depending on `a` in cases like - # a = { mountPoint = "/aaa"; ... } - # b = { device = "/aaaa"; ... } - # Here a.mountPoint *is* a prefix of b.device even though a.mountPoint is - # *not* a parent of b.device. If we add a slash at the end of each string, - # though, this is not a problem: "/aaa/" is not a prefix of "/aaaa/". - normalisePath = path: "${path}${optionalString (!(hasSuffix "/" path)) "/"}"; - normalise = mount: mount // { device = normalisePath (toString mount.device); - mountPoint = normalisePath mount.mountPoint; - depends = map normalisePath mount.depends; - }; - - a' = normalise a; - b' = normalise b; - - in hasPrefix a'.mountPoint b'.device - || hasPrefix a'.mountPoint b'.mountPoint - || any (hasPrefix a'.mountPoint) b'.depends; - - # Escape a path according to the systemd rules. FIXME: slow - # The rules are described in systemd.unit(5) as follows: - # The escaping algorithm operates as follows: given a string, any "/" character is replaced by "-", and all other characters which are not ASCII alphanumerics, ":", "_" or "." are replaced by C-style "\x2d" escapes. In addition, "." is replaced with such a C-style escape when it would appear as the first character in the escaped string. - # When the input qualifies as absolute file system path, this algorithm is extended slightly: the path to the root directory "/" is encoded as single dash "-". In addition, any leading, trailing or duplicate "/" characters are removed from the string before transformation. Example: /foo//bar/baz/ becomes "foo-bar-baz". - escapeSystemdPath = s: let - replacePrefix = p: r: s: (if (hasPrefix p s) then r + (removePrefix p s) else s); - trim = s: removeSuffix "/" (removePrefix "/" s); - normalizedPath = normalizePath s; - in - replaceStrings ["/"] ["-"] - (replacePrefix "." (escapeC ["."] ".") - (escapeC (stringToCharacters " !\"#$%&'()*+,;<=>=@[\\]^`{|}~-") - (if normalizedPath == "/" then normalizedPath else trim normalizedPath))); - - # Quotes an argument for use in Exec* service lines. - # systemd accepts "-quoted strings with escape sequences, toJSON produces - # a subset of these. - # Additionally we escape % to disallow expansion of % specifiers. Any lone ; - # in the input will be turned it ";" and thus lose its special meaning. - # Every $ is escaped to $$, this makes it unnecessary to disable environment - # substitution for the directive. - escapeSystemdExecArg = arg: - let - s = if isPath arg then "${arg}" - else if isString arg then arg - else if isInt arg || isFloat arg || isDerivation arg then toString arg - else throw "escapeSystemdExecArg only allows strings, paths, numbers and derivations"; - in + utils = rec { + + # Copy configuration files to avoid having the entire sources in the system closure + copyFile = + filePath: + pkgs.runCommand (builtins.unsafeDiscardStringContext (baseNameOf filePath)) { } '' + cp ${filePath} $out + ''; + + # Check whenever fileSystem is needed for boot. NOTE: Make sure + # pathsNeededForBoot is closed under the parent relationship, i.e. if /a/b/c + # is in the list, put /a and /a/b in as well. + pathsNeededForBoot = [ + "/" + "/nix" + "/nix/store" + "/var" + "/var/log" + "/var/lib" + "/var/lib/nixos" + "/etc" + "/usr" + ]; + fsNeededForBoot = fs: fs.neededForBoot || elem fs.mountPoint pathsNeededForBoot; + + # Check whenever `b` depends on `a` as a fileSystem + fsBefore = + a: b: + let + # normalisePath adds a slash at the end of the path if it didn't already + # have one. + # + # The reason slashes are added at the end of each path is to prevent `b` + # from accidentally depending on `a` in cases like + # a = { mountPoint = "/aaa"; ... } + # b = { device = "/aaaa"; ... } + # Here a.mountPoint *is* a prefix of b.device even though a.mountPoint is + # *not* a parent of b.device. If we add a slash at the end of each string, + # though, this is not a problem: "/aaa/" is not a prefix of "/aaaa/". + normalisePath = path: "${path}${optionalString (!(hasSuffix "/" path)) "/"}"; + normalise = + mount: + mount + // { + device = normalisePath (toString mount.device); + mountPoint = normalisePath mount.mountPoint; + depends = map normalisePath mount.depends; + }; + + a' = normalise a; + b' = normalise b; + + in + hasPrefix a'.mountPoint b'.device + || hasPrefix a'.mountPoint b'.mountPoint + || any (hasPrefix a'.mountPoint) b'.depends; + + # Escape a path according to the systemd rules. FIXME: slow + # The rules are described in systemd.unit(5) as follows: + # The escaping algorithm operates as follows: given a string, any "/" character is replaced by "-", and all other characters which are not ASCII alphanumerics, ":", "_" or "." are replaced by C-style "\x2d" escapes. In addition, "." is replaced with such a C-style escape when it would appear as the first character in the escaped string. + # When the input qualifies as absolute file system path, this algorithm is extended slightly: the path to the root directory "/" is encoded as single dash "-". In addition, any leading, trailing or duplicate "/" characters are removed from the string before transformation. Example: /foo//bar/baz/ becomes "foo-bar-baz". + escapeSystemdPath = + s: + let + replacePrefix = + p: r: s: + (if (hasPrefix p s) then r + (removePrefix p s) else s); + trim = s: removeSuffix "/" (removePrefix "/" s); + normalizedPath = normalizePath s; + in + replaceStrings [ "/" ] [ "-" ] ( + replacePrefix "." (escapeC [ "." ] ".") ( + escapeC (stringToCharacters " !\"#$%&'()*+,;<=>=@[\\]^`{|}~-") ( + if normalizedPath == "/" then normalizedPath else trim normalizedPath + ) + ) + ); + + # Quotes an argument for use in Exec* service lines. + # systemd accepts "-quoted strings with escape sequences, toJSON produces + # a subset of these. + # Additionally we escape % to disallow expansion of % specifiers. Any lone ; + # in the input will be turned it ";" and thus lose its special meaning. + # Every $ is escaped to $$, this makes it unnecessary to disable environment + # substitution for the directive. + escapeSystemdExecArg = + arg: + let + s = + if isPath arg then + "${arg}" + else if isString arg then + arg + else if isInt arg || isFloat arg || isDerivation arg then + toString arg + else + throw "escapeSystemdExecArg only allows strings, paths, numbers and derivations"; + in replaceStrings [ "%" "$" ] [ "%%" "$$" ] (toJSON s); - # Quotes a list of arguments into a single string for use in a Exec* - # line. - escapeSystemdExecArgs = concatMapStringsSep " " escapeSystemdExecArg; - - # Returns a system path for a given shell package - toShellPath = shell: - if types.shellPackage.check shell then - "/run/current-system/sw${shell.shellPath}" - else if types.package.check shell then - throw "${shell} is not a shell package" - else - shell; - - /* Recurse into a list or an attrset, searching for attrs named like - the value of the "attr" parameter, and return an attrset where the - names are the corresponding jq path where the attrs were found and - the values are the values of the attrs. - - Example: - recursiveGetAttrWithJqPrefix { - example = [ - { - irrelevant = "not interesting"; - } - { - ignored = "ignored attr"; - relevant = { - secret = { - _secret = "/path/to/secret"; - }; - }; - } - ]; - } "_secret" -> { ".example[1].relevant.secret" = "/path/to/secret"; } - */ - recursiveGetAttrWithJqPrefix = item: attr: mapAttrs (_name: set: set.${attr}) (recursiveGetAttrsetWithJqPrefix item attr); - - /* Similar to `recursiveGetAttrWithJqPrefix`, but returns the whole - attribute set containing `attr` instead of the value of `attr` in - the set. - - Example: - recursiveGetAttrsetWithJqPrefix { - example = [ - { - irrelevant = "not interesting"; - } - { - ignored = "ignored attr"; - relevant = { - secret = { - _secret = "/path/to/secret"; - quote = true; - }; - }; - } - ]; - } "_secret" -> { ".example[1].relevant.secret" = { _secret = "/path/to/secret"; quote = true; }; } - */ - recursiveGetAttrsetWithJqPrefix = item: attr: - let - recurse = prefix: item: - if item ? ${attr} then - nameValuePair prefix item - else if isDerivation item then [] - else if isAttrs item then - map (name: - let - escapedName = ''"${replaceStrings [''"'' "\\"] [''\"'' "\\\\"] name}"''; - in - recurse (prefix + "." + escapedName) item.${name}) (attrNames item) - else if isList item then - imap0 (index: item: recurse (prefix + "[${toString index}]") item) item - else - []; - in listToAttrs (flatten (recurse "" item)); - - /* Takes an attrset and a file path and generates a bash snippet that - outputs a JSON file at the file path with all instances of - - { _secret = "/path/to/secret" } - - in the attrset replaced with the contents of the file - "/path/to/secret" in the output JSON. - - When a configuration option accepts an attrset that is finally - converted to JSON, this makes it possible to let the user define - arbitrary secret values. - - Example: - If the file "/path/to/secret" contains the string - "topsecretpassword1234", - - genJqSecretsReplacementSnippet { - example = [ - { - irrelevant = "not interesting"; - } - { - ignored = "ignored attr"; - relevant = { - secret = { - _secret = "/path/to/secret"; - }; - }; - } - ]; - } "/path/to/output.json" - - would generate a snippet that, when run, outputs the following - JSON file at "/path/to/output.json": - - { - "example": [ - { - "irrelevant": "not interesting" - }, - { - "ignored": "ignored attr", - "relevant": { - "secret": "topsecretpassword1234" - } - } - ] - } - - The attribute set { _secret = "/path/to/secret"; } can contain extra - options, currently it accepts the `quote = true|false` option. - - If `quote = true` (default behavior), the content of the secret file will - be quoted as a string and embedded. Otherwise, if `quote = false`, the - content of the secret file will be parsed to JSON and then embedded. - - Example: - If the file "/path/to/secret" contains the JSON document: - - [ - { "a": "topsecretpassword1234" }, - { "b": "topsecretpassword5678" } - ] - - genJqSecretsReplacementSnippet { - example = [ - { - irrelevant = "not interesting"; - } - { - ignored = "ignored attr"; - relevant = { - secret = { - _secret = "/path/to/secret"; - quote = false; - }; - }; - } - ]; - } "/path/to/output.json" - - would generate a snippet that, when run, outputs the following - JSON file at "/path/to/output.json": - - { - "example": [ - { - "irrelevant": "not interesting" - }, - { - "ignored": "ignored attr", - "relevant": { - "secret": [ - { "a": "topsecretpassword1234" }, - { "b": "topsecretpassword5678" } - ] - } - } - ] - } - */ - genJqSecretsReplacementSnippet = genJqSecretsReplacementSnippet' "_secret"; - - # Like genJqSecretsReplacementSnippet, but allows the name of the - # attr which identifies the secret to be changed. - genJqSecretsReplacementSnippet' = attr: set: output: - let - secretsRaw = recursiveGetAttrsetWithJqPrefix set attr; - # Set default option values - secrets = mapAttrs (_name: set: { - quote = true; - } // set) secretsRaw; - stringOrDefault = str: def: if str == "" then def else str; - in '' - if [[ -h '${output}' ]]; then - rm '${output}' - fi - - inherit_errexit_enabled=0 - shopt -pq inherit_errexit && inherit_errexit_enabled=1 - shopt -s inherit_errexit - '' - + concatStringsSep - "\n" - (imap1 (index: name: '' - secret${toString index}=$(<'${secrets.${name}.${attr}}') - export secret${toString index} - '') - (attrNames secrets)) - + "\n" - + "${pkgs.jq}/bin/jq >'${output}' " - + escapeShellArg (stringOrDefault - (concatStringsSep - " | " - (imap1 (index: name: ''${name} = ($ENV.secret${toString index}${optionalString (!secrets.${name}.quote) " | fromjson"})'') - (attrNames secrets))) - ".") - + '' - <<'EOF' - ${toJSON set} - EOF - (( ! $inherit_errexit_enabled )) && shopt -u inherit_errexit - ''; - - /* Remove packages of packagesToRemove from packages, based on their names. - Relies on package names and has quadratic complexity so use with caution! - - Type: - removePackagesByName :: [package] -> [package] -> [package] - - Example: - removePackagesByName [ nautilus file-roller ] [ file-roller totem ] - => [ nautilus ] - */ - removePackagesByName = packages: packagesToRemove: - let - namesToRemove = map getName packagesToRemove; - in + # Quotes a list of arguments into a single string for use in a Exec* + # line. + escapeSystemdExecArgs = concatMapStringsSep " " escapeSystemdExecArg; + + # Returns a system path for a given shell package + toShellPath = + shell: + if types.shellPackage.check shell then + "/run/current-system/sw${shell.shellPath}" + else if types.package.check shell then + throw "${shell} is not a shell package" + else + shell; + + /* + Recurse into a list or an attrset, searching for attrs named like + the value of the "attr" parameter, and return an attrset where the + names are the corresponding jq path where the attrs were found and + the values are the values of the attrs. + + Example: + recursiveGetAttrWithJqPrefix { + example = [ + { + irrelevant = "not interesting"; + } + { + ignored = "ignored attr"; + relevant = { + secret = { + _secret = "/path/to/secret"; + }; + }; + } + ]; + } "_secret" -> { ".example[1].relevant.secret" = "/path/to/secret"; } + */ + recursiveGetAttrWithJqPrefix = + item: attr: mapAttrs (_name: set: set.${attr}) (recursiveGetAttrsetWithJqPrefix item attr); + + /* + Similar to `recursiveGetAttrWithJqPrefix`, but returns the whole + attribute set containing `attr` instead of the value of `attr` in + the set. + + Example: + recursiveGetAttrsetWithJqPrefix { + example = [ + { + irrelevant = "not interesting"; + } + { + ignored = "ignored attr"; + relevant = { + secret = { + _secret = "/path/to/secret"; + quote = true; + }; + }; + } + ]; + } "_secret" -> { ".example[1].relevant.secret" = { _secret = "/path/to/secret"; quote = true; }; } + */ + recursiveGetAttrsetWithJqPrefix = + item: attr: + let + recurse = + prefix: item: + if item ? ${attr} then + nameValuePair prefix item + else if isDerivation item then + [ ] + else if isAttrs item then + map ( + name: + let + escapedName = ''"${replaceStrings [ ''"'' "\\" ] [ ''\"'' "\\\\" ] name}"''; + in + recurse (prefix + "." + escapedName) item.${name} + ) (attrNames item) + else if isList item then + imap0 (index: item: recurse (prefix + "[${toString index}]") item) item + else + [ ]; + in + listToAttrs (flatten (recurse "" item)); + + /* + Takes an attrset and a file path and generates a bash snippet that + outputs a JSON file at the file path with all instances of + + { _secret = "/path/to/secret" } + + in the attrset replaced with the contents of the file + "/path/to/secret" in the output JSON. + + When a configuration option accepts an attrset that is finally + converted to JSON, this makes it possible to let the user define + arbitrary secret values. + + Example: + If the file "/path/to/secret" contains the string + "topsecretpassword1234", + + genJqSecretsReplacementSnippet { + example = [ + { + irrelevant = "not interesting"; + } + { + ignored = "ignored attr"; + relevant = { + secret = { + _secret = "/path/to/secret"; + }; + }; + } + ]; + } "/path/to/output.json" + + would generate a snippet that, when run, outputs the following + JSON file at "/path/to/output.json": + + { + "example": [ + { + "irrelevant": "not interesting" + }, + { + "ignored": "ignored attr", + "relevant": { + "secret": "topsecretpassword1234" + } + } + ] + } + + The attribute set { _secret = "/path/to/secret"; } can contain extra + options, currently it accepts the `quote = true|false` option. + + If `quote = true` (default behavior), the content of the secret file will + be quoted as a string and embedded. Otherwise, if `quote = false`, the + content of the secret file will be parsed to JSON and then embedded. + + Example: + If the file "/path/to/secret" contains the JSON document: + + [ + { "a": "topsecretpassword1234" }, + { "b": "topsecretpassword5678" } + ] + + genJqSecretsReplacementSnippet { + example = [ + { + irrelevant = "not interesting"; + } + { + ignored = "ignored attr"; + relevant = { + secret = { + _secret = "/path/to/secret"; + quote = false; + }; + }; + } + ]; + } "/path/to/output.json" + + would generate a snippet that, when run, outputs the following + JSON file at "/path/to/output.json": + + { + "example": [ + { + "irrelevant": "not interesting" + }, + { + "ignored": "ignored attr", + "relevant": { + "secret": [ + { "a": "topsecretpassword1234" }, + { "b": "topsecretpassword5678" } + ] + } + } + ] + } + */ + genJqSecretsReplacementSnippet = genJqSecretsReplacementSnippet' "_secret"; + + # Like genJqSecretsReplacementSnippet, but allows the name of the + # attr which identifies the secret to be changed. + genJqSecretsReplacementSnippet' = + attr: set: output: + let + secretsRaw = recursiveGetAttrsetWithJqPrefix set attr; + # Set default option values + secrets = mapAttrs ( + _name: set: + { + quote = true; + } + // set + ) secretsRaw; + stringOrDefault = str: def: if str == "" then def else str; + in + '' + if [[ -h '${output}' ]]; then + rm '${output}' + fi + + inherit_errexit_enabled=0 + shopt -pq inherit_errexit && inherit_errexit_enabled=1 + shopt -s inherit_errexit + '' + + concatStringsSep "\n" ( + imap1 (index: name: '' + secret${toString index}=$(<'${secrets.${name}.${attr}}') + export secret${toString index} + '') (attrNames secrets) + ) + + "\n" + + "${pkgs.jq}/bin/jq >'${output}' " + + escapeShellArg ( + stringOrDefault (concatStringsSep " | " ( + imap1 ( + index: name: + ''${name} = ($ENV.secret${toString index}${optionalString (!secrets.${name}.quote) " | fromjson"})'' + ) (attrNames secrets) + )) "." + ) + + '' + <<'EOF' + ${toJSON set} + EOF + (( ! $inherit_errexit_enabled )) && shopt -u inherit_errexit + ''; + + /* + Remove packages of packagesToRemove from packages, based on their names. + Relies on package names and has quadratic complexity so use with caution! + + Type: + removePackagesByName :: [package] -> [package] -> [package] + + Example: + removePackagesByName [ nautilus file-roller ] [ file-roller totem ] + => [ nautilus ] + */ + removePackagesByName = + packages: packagesToRemove: + let + namesToRemove = map getName packagesToRemove; + in filter (x: !(elem (getName x) namesToRemove)) packages; - /* Returns false if a package with the same name as the `package` is present in `packagesToDisable`. - - Type: - disablePackageByName :: package -> [package] -> bool - - Example: - disablePackageByName file-roller [ file-roller totem ] - => false - - Example: - disablePackageByName nautilus [ file-roller totem ] - => true - */ - disablePackageByName = package: packagesToDisable: - let - namesToDisable = map getName packagesToDisable; - in + /* + Returns false if a package with the same name as the `package` is present in `packagesToDisable`. + + Type: + disablePackageByName :: package -> [package] -> bool + + Example: + disablePackageByName file-roller [ file-roller totem ] + => false + + Example: + disablePackageByName nautilus [ file-roller totem ] + => true + */ + disablePackageByName = + package: packagesToDisable: + let + namesToDisable = map getName packagesToDisable; + in !elem (getName package) namesToDisable; - systemdUtils = { - lib = import ./systemd-lib.nix { inherit lib config pkgs utils; }; - unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; }; - types = import ./systemd-types.nix { inherit lib systemdUtils pkgs; }; - network = { - units = import ./systemd-network-units.nix { inherit lib systemdUtils; }; + systemdUtils = { + lib = import ./systemd-lib.nix { + inherit + lib + config + pkgs + utils + ; + }; + unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; }; + types = import ./systemd-types.nix { inherit lib systemdUtils pkgs; }; + network = { + units = import ./systemd-network-units.nix { inherit lib systemdUtils; }; + }; }; }; -}; -in utils +in +utils diff --git a/nixos/maintainers/option-usages.nix b/nixos/maintainers/option-usages.nix index e9bafa21a58ae..f53e5272e4237 100644 --- a/nixos/maintainers/option-usages.nix +++ b/nixos/maintainers/option-usages.nix @@ -1,10 +1,11 @@ -{ configuration ? import ../lib/from-env.nix "NIXOS_CONFIG" +{ + configuration ? import ../lib/from-env.nix "NIXOS_CONFIG" , -# provide an option name, as a string literal. -, testOption ? null + # provide an option name, as a string literal. + testOption ? null, -# provide a list of option names, as string literals. -, testOptions ? [ ] + # provide a list of option names, as string literals. + testOptions ? [ ], }: # This file is made to be used as follow: @@ -46,14 +47,16 @@ with import ../../lib; let - evalFun = { - specialArgs ? {} - }: import ../lib/eval-config.nix { - modules = [ configuration ]; - inherit specialArgs; - }; + evalFun = + { + specialArgs ? { }, + }: + import ../lib/eval-config.nix { + modules = [ configuration ]; + inherit specialArgs; + }; - eval = evalFun {}; + eval = evalFun { }; inherit (eval) pkgs; excludedTestOptions = [ @@ -79,21 +82,18 @@ let "systemd.services" "kde.extraPackages" ]; - excludeOptions = list: - filter (opt: !(elem (showOption opt.loc) excludedOptions)) list; + excludeOptions = list: filter (opt: !(elem (showOption opt.loc) excludedOptions)) list; - - reportNewFailures = old: new: + reportNewFailures = + old: new: let - filterChanges = - filter ({fst, snd}: - !(fst.success -> snd.success) - ); + filterChanges = filter ({ fst, snd }: !(fst.success -> snd.success)); - keepNames = - map ({fst, snd}: - /* assert fst.name == snd.name; */ snd.name - ); + keepNames = map ( + { fst, snd }: + # assert fst.name == snd.name; + snd.name + ); # Use tryEval (strict ...) to know if there is any failure while # evaluating the option value. @@ -101,16 +101,13 @@ let # Note, the `strict` function is not strict enough, but using toXML # builtins multiply by 4 the memory usage and the time used to compute # each options. - tryCollectOptions = moduleResult: - forEach (excludeOptions (collect isOption moduleResult)) (opt: - { name = showOption opt.loc; } // builtins.tryEval (strict opt.value)); - in - keepNames ( - filterChanges ( - zipLists (tryCollectOptions old) (tryCollectOptions new) - ) - ); - + tryCollectOptions = + moduleResult: + forEach (excludeOptions (collect isOption moduleResult)) ( + opt: { name = showOption opt.loc; } // builtins.tryEval (strict opt.value) + ); + in + keepNames (filterChanges (zipLists (tryCollectOptions old) (tryCollectOptions new))); # Create a list of modules where each module contains only one failling # options. @@ -119,57 +116,55 @@ let setIntrospection = opt: rec { name = showOption opt.loc; path = opt.loc; - config = setAttrByPath path - (throw "Usage introspection of '${name}' by forced failure."); + config = setAttrByPath path (throw "Usage introspection of '${name}' by forced failure."); }; in - map setIntrospection (collect isOption eval.options); + map setIntrospection (collect isOption eval.options); - overrideConfig = thrower: - recursiveUpdateUntil (path: old: new: + overrideConfig = + thrower: + recursiveUpdateUntil ( + path: old: new: path == thrower.path ) eval.config thrower.config; - - graph = - map (thrower: { - option = thrower.name; - usedBy = assert __trace "Investigate ${thrower.name}" true; - reportNewFailures eval.options (evalFun { + graph = map (thrower: { + option = thrower.name; + usedBy = + assert __trace "Investigate ${thrower.name}" true; + reportNewFailures eval.options + (evalFun { specialArgs = { config = overrideConfig thrower; }; }).options; - }) introspectionModules; + }) introspectionModules; displayOptionsGraph = - let - checkList = - if testOption != null then [ testOption ] - else testOptions; - checkAll = checkList == []; - in - flip filter graph ({option, ...}: - (checkAll || elem option checkList) - && !(elem option excludedTestOptions) - ); + let + checkList = if testOption != null then [ testOption ] else testOptions; + checkAll = checkList == [ ]; + in + flip filter graph ( + { option, ... }: (checkAll || elem option checkList) && !(elem option excludedTestOptions) + ); graphToDot = graph: '' digraph "Option Usages" { - ${concatMapStrings ({option, usedBy}: - concatMapStrings (user: '' - "${option}" -> "${user}"'' - ) usedBy - ) displayOptionsGraph} + ${concatMapStrings ( + { option, usedBy }: concatMapStrings (user: ''"${option}" -> "${user}"'') usedBy + ) displayOptionsGraph} } ''; - graphToText = graph: - concatMapStrings ({usedBy, ...}: - concatMapStrings (user: '' - ${user} - '') usedBy - ) displayOptionsGraph; + graphToText = + graph: + concatMapStrings ( + { usedBy, ... }: + concatMapStrings (user: '' + ${user} + '') usedBy + ) displayOptionsGraph; in diff --git a/nixos/maintainers/scripts/azure-new/examples/basic/image.nix b/nixos/maintainers/scripts/azure-new/examples/basic/image.nix index 310eba3621a64..3f94d09b764b8 100644 --- a/nixos/maintainers/scripts/azure-new/examples/basic/image.nix +++ b/nixos/maintainers/scripts/azure-new/examples/basic/image.nix @@ -1,10 +1,15 @@ let - pkgs = (import ../../../../../../default.nix {}); + pkgs = (import ../../../../../../default.nix { }); machine = import (pkgs.path + "/nixos/lib/eval-config.nix") { system = "x86_64-linux"; modules = [ - ({config, ...}: { imports = [ ./system.nix ]; }) + ( + { config, ... }: + { + imports = [ ./system.nix ]; + } + ) ]; }; in - machine.config.system.build.azureImage +machine.config.system.build.azureImage diff --git a/nixos/maintainers/scripts/azure-new/examples/basic/system.nix b/nixos/maintainers/scripts/azure-new/examples/basic/system.nix index d1044802e1f09..5276e4be388ba 100644 --- a/nixos/maintainers/scripts/azure-new/examples/basic/system.nix +++ b/nixos/maintainers/scripts/azure-new/examples/basic/system.nix @@ -1,6 +1,7 @@ { pkgs, modulesPath, ... }: -let username = "azurenixosuser"; +let + username = "azurenixosuser"; in { imports = [ @@ -28,6 +29,10 @@ in security.sudo.wheelNeedsPassword = false; environment.systemPackages = with pkgs; [ - git file htop wget curl + git + file + htop + wget + curl ]; } diff --git a/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix b/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix index b66ee5d7b9bc9..724c220abaf8b 100644 --- a/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix +++ b/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix @@ -1,20 +1,23 @@ # nix-build '' -A config.system.build.cloudstackImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/cloudstack/cloudstack-image.nix ]; }" -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = - [ ../../../modules/virtualisation/cloudstack-config.nix ]; + imports = [ ../../../modules/virtualisation/cloudstack-config.nix ]; system.build.cloudstackImage = import ../../../lib/make-disk-image.nix { inherit lib config pkgs; format = "qcow2"; - configFile = pkgs.writeText "configuration.nix" - '' - { - imports = [ ]; - } - ''; + configFile = pkgs.writeText "configuration.nix" '' + { + imports = [ ]; + } + ''; }; } diff --git a/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix b/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix index 5468488fafedc..8c643898b89bd 100644 --- a/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix +++ b/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix @@ -5,13 +5,12 @@ { modulesPath, ... }: { - imports = - [ - # Include the default lxd configuration. - "${modulesPath}/virtualisation/lxc-container.nix" - # Include the container-specific autogenerated configuration. - ./lxd.nix - ]; + imports = [ + # Include the default lxd configuration. + "${modulesPath}/virtualisation/lxc-container.nix" + # Include the container-specific autogenerated configuration. + ./lxd.nix + ]; networking = { dhcpcd.enable = false; diff --git a/nixos/maintainers/scripts/lxd/lxd-container-image.nix b/nixos/maintainers/scripts/lxd/lxd-container-image.nix index 8c0e75e84f753..5913ed69a6dbd 100644 --- a/nixos/maintainers/scripts/lxd/lxd-container-image.nix +++ b/nixos/maintainers/scripts/lxd/lxd-container-image.nix @@ -9,20 +9,25 @@ enable = true; target = "/etc/nixos/lxd.nix"; template = ./nix.tpl; - when = [ "create" "copy" ]; + when = [ + "create" + "copy" + ]; }; # copy the config for nixos-rebuild - system.activationScripts.config = let - config = pkgs.substituteAll { - src = ./lxd-container-image-inner.nix; - stateVersion = lib.trivial.release; - }; - in '' - if [ ! -e /etc/nixos/configuration.nix ]; then - install -m 0644 -D ${config} /etc/nixos/configuration.nix - fi - ''; + system.activationScripts.config = + let + config = pkgs.substituteAll { + src = ./lxd-container-image-inner.nix; + stateVersion = lib.trivial.release; + }; + in + '' + if [ ! -e /etc/nixos/configuration.nix ]; then + install -m 0644 -D ${config} /etc/nixos/configuration.nix + fi + ''; networking = { dhcpcd.enable = false; diff --git a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix index 5931a561b31cc..845838d3249d5 100644 --- a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix +++ b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix @@ -5,13 +5,12 @@ { modulesPath, ... }: { - imports = - [ - # Include the default lxd configuration. - "${modulesPath}/virtualisation/lxd-virtual-machine.nix" - # Include the container-specific autogenerated configuration. - ./lxd.nix - ]; + imports = [ + # Include the default lxd configuration. + "${modulesPath}/virtualisation/lxd-virtual-machine.nix" + # Include the container-specific autogenerated configuration. + ./lxd.nix + ]; networking = { dhcpcd.enable = false; diff --git a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix index 8a1c9b0d634cd..1ccecc4c351d3 100644 --- a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix +++ b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix @@ -9,20 +9,25 @@ enable = true; target = "/etc/nixos/lxd.nix"; template = ./nix.tpl; - when = ["create" "copy"]; + when = [ + "create" + "copy" + ]; }; # copy the config for nixos-rebuild - system.activationScripts.config = let - config = pkgs.substituteAll { - src = ./lxd-virtual-machine-image-inner.nix; - stateVersion = lib.trivial.release; - }; - in '' - if [ ! -e /etc/nixos/configuration.nix ]; then - install -m 0644 -D ${config} /etc/nixos/configuration.nix - fi - ''; + system.activationScripts.config = + let + config = pkgs.substituteAll { + src = ./lxd-virtual-machine-image-inner.nix; + stateVersion = lib.trivial.release; + }; + in + '' + if [ ! -e /etc/nixos/configuration.nix ]; then + install -m 0644 -D ${config} /etc/nixos/configuration.nix + fi + ''; # Network networking = { diff --git a/nixos/modules/config/debug-info.nix b/nixos/modules/config/debug-info.nix index 9bf3d82ace2a4..1a2bbd319e578 100644 --- a/nixos/modules/config/debug-info.nix +++ b/nixos/modules/config/debug-info.nix @@ -25,7 +25,6 @@ }; - config = lib.mkIf config.environment.enableDebugInfo { # FIXME: currently disabled because /lib is already in diff --git a/nixos/modules/config/fanout.nix b/nixos/modules/config/fanout.nix index f775d2e9f22d7..1a63ac0705f65 100644 --- a/nixos/modules/config/fanout.nix +++ b/nixos/modules/config/fanout.nix @@ -1,9 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.fanout; - mknodCmds = n: lib.lists.imap0 (i: s: - "mknod /dev/fanout${builtins.toString i} c $MAJOR ${builtins.toString i}" - ) (lib.lists.replicate n ""); + mknodCmds = + n: + lib.lists.imap0 (i: s: "mknod /dev/fanout${builtins.toString i} c $MAJOR ${builtins.toString i}") ( + lib.lists.replicate n "" + ); in { options.services.fanout = { diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 205fd1fa7b960..984daec204315 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -1,28 +1,31 @@ /* + Configuration files are linked to /etc/fonts/conf.d/ -Configuration files are linked to /etc/fonts/conf.d/ + This module generates a package containing configuration files and link it in /etc/fonts. -This module generates a package containing configuration files and link it in /etc/fonts. + Fontconfig reads files in folder name / file name order, so the number prepended to the configuration file name decide the order of parsing. + Low number means high priority. -Fontconfig reads files in folder name / file name order, so the number prepended to the configuration file name decide the order of parsing. -Low number means high priority. + NOTE: Please take extreme care when adjusting the default settings of this module. + People care a lot, and I mean A LOT, about their font rendering, and you will be + The Person That Broke It if it changes in a way people don't like. -NOTE: Please take extreme care when adjusting the default settings of this module. -People care a lot, and I mean A LOT, about their font rendering, and you will be -The Person That Broke It if it changes in a way people don't like. + See prior art: + - https://github.com/NixOS/nixpkgs/pull/194594 + - https://github.com/NixOS/nixpkgs/pull/222236 + - https://github.com/NixOS/nixpkgs/pull/222689 -See prior art: -- https://github.com/NixOS/nixpkgs/pull/194594 -- https://github.com/NixOS/nixpkgs/pull/222236 -- https://github.com/NixOS/nixpkgs/pull/222689 - -And do not repeat our mistakes. - -- @K900, March 2023 + And do not repeat our mistakes. + - @K900, March 2023 */ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.fonts.fontconfig; @@ -31,17 +34,23 @@ let # configuration file to read fontconfig cache # priority 0 - cacheConf = makeCacheConf {}; + cacheConf = makeCacheConf { }; # generate the font cache setting file # When cross-compiling, we can’t generate the cache, so we skip the # part. fontconfig still works but is a little slower in # looking things up. - makeCacheConf = { }: + makeCacheConf = + { }: let - makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.packages; }; - cache = makeCache pkgs.fontconfig; - cache32 = makeCache pkgs.pkgsi686Linux.fontconfig; + makeCache = + fontconfig: + pkgs.makeFontsCache { + inherit fontconfig; + fontDirectories = config.fonts.packages; + }; + cache = makeCache pkgs.fontconfig; + cache32 = makeCache pkgs.pkgsi686Linux.fontconfig; in pkgs.writeText "fc-00-nixos-cache.conf" '' @@ -50,11 +59,11 @@ let ${lib.concatStringsSep "\n" (map (font: "${font}") config.fonts.packages)} ${lib.optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) '' - - ${cache} - ${lib.optionalString (pkgs.stdenv.hostPlatform.isx86_64 && cfg.cache32Bit) '' - ${cache32} - ''} + + ${cache} + ${lib.optionalString (pkgs.stdenv.hostPlatform.isx86_64 && cfg.cache32Bit) '' + ${cache32} + ''} ''} ''; @@ -85,35 +94,38 @@ let # default fonts configuration file # priority 52 defaultFontsConf = - let genDefault = fonts: name: - lib.optionalString (fonts != []) '' - - ${name} - - ${lib.concatStringsSep "" - (map (font: '' - ${font} - '') fonts)} - - - ''; + let + genDefault = + fonts: name: + lib.optionalString (fonts != [ ]) '' + + ${name} + + ${lib.concatStringsSep "" ( + map (font: '' + ${font} + '') fonts + )} + + + ''; in pkgs.writeText "fc-52-nixos-default-fonts.conf" '' - - - + + + - - ${genDefault cfg.defaultFonts.sansSerif "sans-serif"} + + ${genDefault cfg.defaultFonts.sansSerif "sans-serif"} - ${genDefault cfg.defaultFonts.serif "serif"} + ${genDefault cfg.defaultFonts.serif "serif"} - ${genDefault cfg.defaultFonts.monospace "monospace"} + ${genDefault cfg.defaultFonts.monospace "monospace"} - ${genDefault cfg.defaultFonts.emoji "emoji"} + ${genDefault cfg.defaultFonts.emoji "emoji"} - - ''; + + ''; # bitmap font options # priority 53 @@ -123,14 +135,14 @@ let ${lib.optionalString (!cfg.allowBitmaps) '' - - - - - false - - - + + + + + false + + + ''} @@ -170,76 +182,75 @@ let ''; # fontconfig configuration package - confPkg = pkgs.runCommand "fontconfig-conf" { - preferLocalBuild = true; - } '' - dst=$out/etc/fonts/conf.d - mkdir -p $dst - - # fonts.conf - ln -s ${pkg.out}/etc/fonts/fonts.conf \ - $dst/../fonts.conf - # TODO: remove this legacy symlink once people stop using packages built before #95358 was merged - mkdir -p $out/etc/fonts/2.11 - ln -s /etc/fonts/fonts.conf \ - $out/etc/fonts/2.11/fonts.conf - - # fontconfig default config files - ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \ - $dst/ + confPkg = + pkgs.runCommand "fontconfig-conf" + { + preferLocalBuild = true; + } + '' + dst=$out/etc/fonts/conf.d + mkdir -p $dst - ${lib.optionalString (!cfg.antialias) - (replaceDefaultConfig "10-yes-antialias.conf" - "10-no-antialias.conf") - } + # fonts.conf + ln -s ${pkg.out}/etc/fonts/fonts.conf \ + $dst/../fonts.conf + # TODO: remove this legacy symlink once people stop using packages built before #95358 was merged + mkdir -p $out/etc/fonts/2.11 + ln -s /etc/fonts/fonts.conf \ + $out/etc/fonts/2.11/fonts.conf - ${lib.optionalString (cfg.hinting.style != "slight") - (replaceDefaultConfig "10-hinting-slight.conf" - "10-hinting-${cfg.hinting.style}.conf") - } + # fontconfig default config files + ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \ + $dst/ - ${lib.optionalString (cfg.subpixel.rgba != "none") - (replaceDefaultConfig "10-sub-pixel-none.conf" - "10-sub-pixel-${cfg.subpixel.rgba}.conf") - } + ${lib.optionalString (!cfg.antialias) ( + replaceDefaultConfig "10-yes-antialias.conf" "10-no-antialias.conf" + )} - ${lib.optionalString (cfg.subpixel.lcdfilter != "default") - (replaceDefaultConfig "11-lcdfilter-default.conf" - "11-lcdfilter-${cfg.subpixel.lcdfilter}.conf") - } + ${lib.optionalString (cfg.hinting.style != "slight") ( + replaceDefaultConfig "10-hinting-slight.conf" "10-hinting-${cfg.hinting.style}.conf" + )} - # 00-nixos-cache.conf - ln -s ${cacheConf} $dst/00-nixos-cache.conf + ${lib.optionalString (cfg.subpixel.rgba != "none") ( + replaceDefaultConfig "10-sub-pixel-none.conf" "10-sub-pixel-${cfg.subpixel.rgba}.conf" + )} - # 10-nixos-rendering.conf - ln -s ${renderConf} $dst/10-nixos-rendering.conf + ${lib.optionalString (cfg.subpixel.lcdfilter != "default") ( + replaceDefaultConfig "11-lcdfilter-default.conf" "11-lcdfilter-${cfg.subpixel.lcdfilter}.conf" + )} - # 50-user.conf - ${lib.optionalString (!cfg.includeUserConf) '' - rm $dst/50-user.conf - ''} + # 00-nixos-cache.conf + ln -s ${cacheConf} $dst/00-nixos-cache.conf - # local.conf (indirect priority 51) - ${lib.optionalString (cfg.localConf != "") '' - ln -s ${localConf} $dst/../local.conf - ''} + # 10-nixos-rendering.conf + ln -s ${renderConf} $dst/10-nixos-rendering.conf + + # 50-user.conf + ${lib.optionalString (!cfg.includeUserConf) '' + rm $dst/50-user.conf + ''} - # 52-nixos-default-fonts.conf - ln -s ${defaultFontsConf} $dst/52-nixos-default-fonts.conf + # local.conf (indirect priority 51) + ${lib.optionalString (cfg.localConf != "") '' + ln -s ${localConf} $dst/../local.conf + ''} - # 53-no-bitmaps.conf - ln -s ${rejectBitmaps} $dst/53-no-bitmaps.conf + # 52-nixos-default-fonts.conf + ln -s ${defaultFontsConf} $dst/52-nixos-default-fonts.conf - ${lib.optionalString (!cfg.allowType1) '' - # 53-nixos-reject-type1.conf - ln -s ${rejectType1} $dst/53-nixos-reject-type1.conf - ''} - ''; + # 53-no-bitmaps.conf + ln -s ${rejectBitmaps} $dst/53-no-bitmaps.conf + + ${lib.optionalString (!cfg.allowType1) '' + # 53-nixos-reject-type1.conf + ln -s ${rejectType1} $dst/53-nixos-reject-type1.conf + ''} + ''; # Package with configuration files # this merge all the packages in the fonts.fontconfig.confPackages list fontconfigEtc = pkgs.buildEnv { - name = "fontconfig-etc"; + name = "fontconfig-etc"; paths = cfg.confPackages; ignoreCollisions = true; }; @@ -247,25 +258,44 @@ let fontconfigNote = "Consider manually configuring fonts.fontconfig according to personal preference."; in { - imports = [ - (lib.mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "fonts" "fontconfig" "allowBitmaps" ]) - (lib.mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "allowType1" ] [ "fonts" "fontconfig" "allowType1" ]) - (lib.mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "fonts" "fontconfig" "useEmbeddedBitmaps" ]) - (lib.mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "fonts" "fontconfig" "forceAutohint" ]) - (lib.mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ]) - (lib.mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "") - (lib.mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "") - (lib.mkRemovedOptionModule [ "fonts" "fontconfig" "dpi" ] "Use display server-specific options") - (lib.mkRemovedOptionModule [ "hardware" "video" "hidpi" "enable" ] fontconfigNote) - (lib.mkRemovedOptionModule [ "fonts" "optimizeForVeryHighDPI" ] fontconfigNote) - ] ++ lib.forEach [ "enable" "substitutions" "preset" ] - (opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] '' - The fonts.fontconfig.ultimate module and configuration is obsolete. - The repository has since been archived and activity has ceased. - https://github.com/bohoomil/fontconfig-ultimate/issues/171. - No action should be needed for font configuration, as the fonts.fontconfig - module is already used by default. - ''); + imports = + [ + (lib.mkRenamedOptionModule + [ "fonts" "fontconfig" "ultimate" "allowBitmaps" ] + [ "fonts" "fontconfig" "allowBitmaps" ] + ) + (lib.mkRenamedOptionModule + [ "fonts" "fontconfig" "ultimate" "allowType1" ] + [ "fonts" "fontconfig" "allowType1" ] + ) + (lib.mkRenamedOptionModule + [ "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] + [ "fonts" "fontconfig" "useEmbeddedBitmaps" ] + ) + (lib.mkRenamedOptionModule + [ "fonts" "fontconfig" "ultimate" "forceAutohint" ] + [ "fonts" "fontconfig" "forceAutohint" ] + ) + (lib.mkRenamedOptionModule + [ "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] + [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] + ) + (lib.mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "") + (lib.mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "") + (lib.mkRemovedOptionModule [ "fonts" "fontconfig" "dpi" ] "Use display server-specific options") + (lib.mkRemovedOptionModule [ "hardware" "video" "hidpi" "enable" ] fontconfigNote) + (lib.mkRemovedOptionModule [ "fonts" "optimizeForVeryHighDPI" ] fontconfigNote) + ] + ++ lib.forEach [ "enable" "substitutions" "preset" ] ( + opt: + lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] '' + The fonts.fontconfig.ultimate module and configuration is obsolete. + The repository has since been archived and activity has ceased. + https://github.com/bohoomil/fontconfig-ultimate/issues/171. + No action should be needed for font configuration, as the fonts.fontconfig + module is already used by default. + '' + ); options = { @@ -286,8 +316,8 @@ in confPackages = lib.mkOption { internal = true; - type = with lib.types; listOf path; - default = [ ]; + type = with lib.types; listOf path; + default = [ ]; description = '' Fontconfig configuration packages. ''; @@ -315,7 +345,7 @@ in defaultFonts = { monospace = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["DejaVu Sans Mono"]; + default = [ "DejaVu Sans Mono" ]; description = '' System-wide default monospace font(s). Multiple fonts may be listed in case multiple languages must be supported. @@ -324,7 +354,7 @@ in sansSerif = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["DejaVu Sans"]; + default = [ "DejaVu Sans" ]; description = '' System-wide default sans serif font(s). Multiple fonts may be listed in case multiple languages must be supported. @@ -333,7 +363,7 @@ in serif = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["DejaVu Serif"]; + default = [ "DejaVu Serif" ]; description = '' System-wide default serif font(s). Multiple fonts may be listed in case multiple languages must be supported. @@ -342,7 +372,7 @@ in emoji = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["Noto Color Emoji"]; + default = [ "Noto Color Emoji" ]; description = '' System-wide default emoji font(s). Multiple fonts may be listed in case a font does not support all emoji. @@ -379,7 +409,12 @@ in }; style = lib.mkOption { - type = lib.types.enum ["none" "slight" "medium" "full"]; + type = lib.types.enum [ + "none" + "slight" + "medium" + "full" + ]; default = "slight"; description = '' Hintstyle is the amount of font reshaping done to line up @@ -415,7 +450,13 @@ in rgba = lib.mkOption { default = "none"; - type = lib.types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"]; + type = lib.types.enum [ + "rgb" + "bgr" + "vrgb" + "vbgr" + "none" + ]; description = '' Subpixel order. The overwhelming majority of displays are `rgb` in their normal orientation. Select @@ -431,7 +472,12 @@ in lcdfilter = lib.mkOption { default = "default"; - type = lib.types.enum ["none" "default" "light" "legacy"]; + type = lib.types.enum [ + "none" + "default" + "light" + "legacy" + ]; description = '' FreeType LCD filter. At high resolution (> 200 DPI), LCD filtering has no visible effect; users of such displays may want to select @@ -480,8 +526,8 @@ in }; config = lib.mkMerge [ (lib.mkIf cfg.enable { - environment.systemPackages = [ pkgs.fontconfig ]; - environment.etc.fonts.source = "${fontconfigEtc}/etc/fonts/"; + environment.systemPackages = [ pkgs.fontconfig ]; + environment.etc.fonts.source = "${fontconfigEtc}/etc/fonts/"; security.apparmor.includes."abstractions/fonts" = '' # fonts.conf r ${pkg.out}/etc/fonts/fonts.conf, @@ -497,12 +543,12 @@ in # 50-user.conf ${lib.optionalString cfg.includeUserConf '' - r ${pkg.out}/etc/fonts/conf.d.bak/50-user.conf, + r ${pkg.out}/etc/fonts/conf.d.bak/50-user.conf, ''} # local.conf (indirect priority 51) ${lib.optionalString (cfg.localConf != "") '' - r ${localConf}, + r ${localConf}, ''} # 52-nixos-default-fonts.conf @@ -512,8 +558,8 @@ in r ${rejectBitmaps}, ${lib.optionalString (!cfg.allowType1) '' - # 53-nixos-reject-type1.conf - r ${rejectType1}, + # 53-nixos-reject-type1.conf + r ${rejectType1}, ''} ''; }) diff --git a/nixos/modules/config/fonts/fontdir.nix b/nixos/modules/config/fonts/fontdir.nix index 0181883d6c5c8..1d47970d131d9 100644 --- a/nixos/modules/config/fonts/fontdir.nix +++ b/nixos/modules/config/fonts/fontdir.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.fonts.fontDir; diff --git a/nixos/modules/config/fonts/ghostscript.nix b/nixos/modules/config/fonts/ghostscript.nix index dd28c72bba76e..cbef4b4d470bd 100644 --- a/nixos/modules/config/fonts/ghostscript.nix +++ b/nixos/modules/config/fonts/ghostscript.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = { fonts.enableGhostscriptFonts = lib.mkOption { diff --git a/nixos/modules/config/fonts/packages.nix b/nixos/modules/config/fonts/packages.nix index 36eaa5791d677..0e4bf4a886a14 100644 --- a/nixos/modules/config/fonts/packages.nix +++ b/nixos/modules/config/fonts/packages.nix @@ -1,11 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.fonts; in { imports = [ - (lib.mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.packages = [ pkgs.corefonts ]; instead.") + (lib.mkRemovedOptionModule [ + "fonts" + "enableCoreFonts" + ] "Use fonts.packages = [ pkgs.corefonts ]; instead.") (lib.mkRenamedOptionModule [ "fonts" "enableDefaultFonts" ] [ "fonts" "enableDefaultPackages" ]) (lib.mkRenamedOptionModule [ "fonts" "fonts" ] [ "fonts" "packages" ]) ]; @@ -14,7 +22,7 @@ in fonts = { packages = lib.mkOption { type = with lib.types; listOf path; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.dejavu_fonts ]"; description = "List of primary font packages."; }; @@ -31,13 +39,16 @@ in }; config = { - fonts.packages = lib.mkIf cfg.enableDefaultPackages (with pkgs; [ - dejavu_fonts - freefont_ttf - gyre-fonts # TrueType substitutes for standard PostScript fonts - liberation_ttf - unifont - noto-fonts-color-emoji - ]); + fonts.packages = lib.mkIf cfg.enableDefaultPackages ( + with pkgs; + [ + dejavu_fonts + freefont_ttf + gyre-fonts # TrueType substitutes for standard PostScript fonts + liberation_ttf + unifont + noto-fonts-color-emoji + ] + ); }; } diff --git a/nixos/modules/config/gtk/gtk-icon-cache.nix b/nixos/modules/config/gtk/gtk-icon-cache.nix index d9d6031956a6a..5b43417ef6ed4 100644 --- a/nixos/modules/config/gtk/gtk-icon-cache.nix +++ b/nixos/modules/config/gtk/gtk-icon-cache.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = { gtk.iconCache.enable = lib.mkOption { diff --git a/nixos/modules/config/iproute2.nix b/nixos/modules/config/iproute2.nix index 1fa28a7a4c641..cef2a652b94e6 100644 --- a/nixos/modules/config/iproute2.nix +++ b/nixos/modules/config/iproute2.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.networking.iproute2; in diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix index fd26750c273bc..3a63b6d5ca2c7 100644 --- a/nixos/modules/config/ldap.nix +++ b/nixos/modules/config/ldap.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkMerge mkOption mkRenamedOptionModule types; + inherit (lib) + mkEnableOption + mkIf + mkMerge + mkOption + mkRenamedOptionModule + types + ; cfg = config.users.ldap; @@ -21,7 +33,7 @@ let ${lib.optionalString (config.users.ldap.bind.distinguishedName != "") '' binddn ${config.users.ldap.bind.distinguishedName} ''} - ${lib.optionalString (cfg.extraConfig != "") cfg.extraConfig } + ${lib.optionalString (cfg.extraConfig != "") cfg.extraConfig} ''; }; @@ -30,11 +42,9 @@ let base ${cfg.base} timelimit ${toString cfg.timeLimit} bind_timelimit ${toString cfg.bind.timeLimit} - ${lib.optionalString (cfg.bind.distinguishedName != "") - "binddn ${cfg.bind.distinguishedName}" } - ${lib.optionalString (cfg.daemon.rootpwmoddn != "") - "rootpwmoddn ${cfg.daemon.rootpwmoddn}" } - ${lib.optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } + ${lib.optionalString (cfg.bind.distinguishedName != "") "binddn ${cfg.bind.distinguishedName}"} + ${lib.optionalString (cfg.daemon.rootpwmoddn != "") "rootpwmoddn ${cfg.daemon.rootpwmoddn}"} + ${lib.optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig} ''; # nslcd normally reads configuration from /etc/nslcd.conf. @@ -121,13 +131,13 @@ in }; extraConfig = mkOption { - default = ""; + default = ""; type = types.lines; - description = '' + description = '' Extra configuration options that will be added verbatim at the end of the nslcd configuration file (`nslcd.conf(5)`). ''; - } ; + }; rootpwmoddn = mkOption { default = ""; @@ -183,7 +193,11 @@ in policy = mkOption { default = "hard_open"; - type = types.enum [ "hard_open" "hard_init" "soft" ]; + type = types.enum [ + "hard_open" + "hard_init" + "soft" + ]; description = '' Specifies the policy to use for reconnecting to an unavailable LDAP server. The default is `hard_open`, which @@ -203,7 +217,7 @@ in extraConfig = mkOption { default = ""; type = types.lines; - description = '' + description = '' Extra configuration options that will be added verbatim at the end of the ldap configuration file (`ldap.conf(5)`). If {option}`users.ldap.daemon` is enabled, this @@ -224,9 +238,9 @@ in "ldap.conf" = ldapConfig; }; - system.nssModules = mkIf cfg.nsswitch (lib.singleton ( - if cfg.daemon.enable then pkgs.nss_pam_ldapd else pkgs.nss_ldap - )); + system.nssModules = mkIf cfg.nsswitch ( + lib.singleton (if cfg.daemon.enable then pkgs.nss_pam_ldapd else pkgs.nss_ldap) + ); system.nssDatabases.group = lib.optional cfg.nsswitch "ldap"; system.nssDatabases.passwd = lib.optional cfg.nsswitch "ldap"; @@ -248,7 +262,10 @@ in (mkIf (!cfg.daemon.enable) { ldap-password = { wantedBy = [ "sysinit.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; + before = [ + "sysinit.target" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; unitConfig.DefaultDependencies = false; serviceConfig.Type = "oneshot"; @@ -304,7 +321,10 @@ in }; - imports = - [ (mkRenamedOptionModule [ "users" "ldap" "bind" "password"] [ "users" "ldap" "bind" "passwordFile"]) - ]; + imports = [ + (mkRenamedOptionModule + [ "users" "ldap" "bind" "password" ] + [ "users" "ldap" "bind" "passwordFile" ] + ) + ]; } diff --git a/nixos/modules/config/ldso.nix b/nixos/modules/config/ldso.nix index f8d89db0220e3..5ea3842b6e041 100644 --- a/nixos/modules/config/ldso.nix +++ b/nixos/modules/config/ldso.nix @@ -1,15 +1,29 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) last splitString mkOption types optionals; + inherit (lib) + last + splitString + mkOption + types + optionals + ; libDir = pkgs.stdenv.hostPlatform.libDir; - ldsoBasename = builtins.unsafeDiscardStringContext (last (splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker)); + ldsoBasename = builtins.unsafeDiscardStringContext ( + last (splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker) + ); # Hard-code to avoid creating another instance of nixpkgs. Also avoids eval errors in some cases. libDir32 = "lib"; # pkgs.pkgsi686Linux.stdenv.hostPlatform.libDir ldsoBasename32 = "ld-linux.so.2"; # last (splitString "/" pkgs.pkgsi686Linux.stdenv.cc.bintools.dynamicLinker) -in { +in +{ options = { environment.ldso = mkOption { type = types.nullOr types.path; @@ -32,26 +46,35 @@ in { config = { assertions = [ - { assertion = isNull config.environment.ldso32 || pkgs.stdenv.hostPlatform.isx86_64; + { + assertion = isNull config.environment.ldso32 || pkgs.stdenv.hostPlatform.isx86_64; message = "Option environment.ldso32 currently only works on x86_64."; } ]; - systemd.tmpfiles.rules = ( - if isNull config.environment.ldso then [ - "r /${libDir}/${ldsoBasename} - - - - -" - ] else [ - "d /${libDir} 0755 root root - -" - "L+ /${libDir}/${ldsoBasename} - - - - ${config.environment.ldso}" - ] - ) ++ optionals pkgs.stdenv.hostPlatform.isx86_64 ( - if isNull config.environment.ldso32 then [ - "r /${libDir32}/${ldsoBasename32} - - - - -" - ] else [ - "d /${libDir32} 0755 root root - -" - "L+ /${libDir32}/${ldsoBasename32} - - - - ${config.environment.ldso32}" - ] - ); + systemd.tmpfiles.rules = + ( + if isNull config.environment.ldso then + [ + "r /${libDir}/${ldsoBasename} - - - - -" + ] + else + [ + "d /${libDir} 0755 root root - -" + "L+ /${libDir}/${ldsoBasename} - - - - ${config.environment.ldso}" + ] + ) + ++ optionals pkgs.stdenv.hostPlatform.isx86_64 ( + if isNull config.environment.ldso32 then + [ + "r /${libDir32}/${ldsoBasename32} - - - - -" + ] + else + [ + "d /${libDir32} 0755 root root - -" + "L+ /${libDir32}/${ldsoBasename32} - - - - ${config.environment.ldso32}" + ] + ); }; meta.maintainers = with lib.maintainers; [ tejing ]; diff --git a/nixos/modules/config/locale.nix b/nixos/modules/config/locale.nix index 2d64f1bce4bc2..cb4115a57e861 100644 --- a/nixos/modules/config/locale.nix +++ b/nixos/modules/config/locale.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let tzdir = "${pkgs.tzdata}/share/zoneinfo"; - nospace = str: lib.filter (c: c == " ") (lib.stringToCharacters str) == []; - timezone = lib.types.nullOr (lib.types.addCheck lib.types.str nospace) - // { description = "null or string without spaces"; }; + nospace = str: lib.filter (c: c == " ") (lib.stringToCharacters str) == [ ]; + timezone = lib.types.nullOr (lib.types.addCheck lib.types.str nospace) // { + description = "null or string without spaces"; + }; lcfg = config.location; @@ -57,7 +63,10 @@ in }; provider = lib.mkOption { - type = lib.types.enum [ "manual" "geoclue2" ]; + type = lib.types.enum [ + "manual" + "geoclue2" + ]; default = "manual"; description = '' The location provider to use for determining your location. If set to @@ -77,11 +86,15 @@ in # This way services are restarted when tzdata changes. systemd.globalEnvironment.TZDIR = tzdir; - systemd.services.systemd-timedated.environment = lib.optionalAttrs (config.time.timeZone != null) { NIXOS_STATIC_TIMEZONE = "1"; }; + systemd.services.systemd-timedated.environment = lib.optionalAttrs (config.time.timeZone != null) { + NIXOS_STATIC_TIMEZONE = "1"; + }; - environment.etc = { - zoneinfo.source = tzdir; - } // lib.optionalAttrs (config.time.timeZone != null) { + environment.etc = + { + zoneinfo.source = tzdir; + } + // lib.optionalAttrs (config.time.timeZone != null) { localtime.source = "/etc/zoneinfo/${config.time.timeZone}"; localtime.mode = "direct-symlink"; }; diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix index 665cbdd27874c..dfcc6c8159e53 100644 --- a/nixos/modules/config/malloc.nix +++ b/nixos/modules/config/malloc.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.environment.memoryAllocator; @@ -35,21 +40,25 @@ let ''; }; - scudo = let - platformMap = { - aarch64-linux = "aarch64"; - x86_64-linux = "x86_64"; - }; + scudo = + let + platformMap = { + aarch64-linux = "aarch64"; + x86_64-linux = "x86_64"; + }; - systemPlatform = platformMap.${pkgs.stdenv.hostPlatform.system} or (throw "scudo not supported on ${pkgs.stdenv.hostPlatform.system}"); - in { - libPath = "${pkgs.llvmPackages_14.compiler-rt}/lib/linux/libclang_rt.scudo-${systemPlatform}.so"; - description = '' - A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator, - which aims at providing additional mitigations against heap based - vulnerabilities, while maintaining good performance. - ''; - }; + systemPlatform = + platformMap.${pkgs.stdenv.hostPlatform.system} + or (throw "scudo not supported on ${pkgs.stdenv.hostPlatform.system}"); + in + { + libPath = "${pkgs.llvmPackages_14.compiler-rt}/lib/linux/libclang_rt.scudo-${systemPlatform}.so"; + description = '' + A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator, + which aims at providing additional mitigations against heap based + vulnerabilities, while maintaining good performance. + ''; + }; mimalloc = { libPath = "${pkgs.mimalloc}/lib/libmimalloc.so"; @@ -65,17 +74,18 @@ let # An output that contains only the shared library, to avoid # needlessly bloating the system closure - mallocLib = pkgs.runCommand "malloc-provider-${cfg.provider}" - rec { - preferLocalBuild = true; - allowSubstitutes = false; - origLibPath = providerConf.libPath; - libName = baseNameOf origLibPath; - } - '' - mkdir -p $out/lib - cp -L $origLibPath $out/lib/$libName - ''; + mallocLib = + pkgs.runCommand "malloc-provider-${cfg.provider}" + rec { + preferLocalBuild = true; + allowSubstitutes = false; + origLibPath = providerConf.libPath; + libName = baseNameOf origLibPath; + } + '' + mkdir -p $out/lib + cp -L $origLibPath $out/lib/$libName + ''; # The full path to the selected provider shlib. providerLibPath = "${mallocLib}/lib/${mallocLib.libName}"; @@ -96,9 +106,11 @@ in Briefly, the system-wide memory allocator providers are: - `libc`: the standard allocator provided by libc - ${lib.concatStringsSep "\n" (lib.mapAttrsToList - (name: value: "- `${name}`: ${lib.replaceStrings [ "\n" ] [ " " ] value.description}") - providers)} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + name: value: "- `${name}`: ${lib.replaceStrings [ "\n" ] [ " " ] value.description}" + ) providers + )} ::: {.warning} Selecting an alternative allocator (i.e., anything other than @@ -117,10 +129,12 @@ in "abstractions/base" = '' r /etc/ld-nix.so.preload, r ${config.environment.etc."ld-nix.so.preload".source}, - include "${pkgs.apparmorRulesFromClosure { + include "${ + pkgs.apparmorRulesFromClosure { name = "mallocLib"; - baseRules = ["mr $path/lib/**.so*"]; - } [ mallocLib ] }" + baseRules = [ "mr $path/lib/**.so*" ]; + } [ mallocLib ] + }" ''; }; }; diff --git a/nixos/modules/config/mysql.nix b/nixos/modules/config/mysql.nix index 6b82603aa455d..610b03c5e3725 100644 --- a/nixos/modules/config/mysql.nix +++ b/nixos/modules/config/mysql.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.users.mysql; in @@ -79,16 +84,26 @@ in passwordCrypt = lib.mkOption { example = "2"; type = lib.types.enum [ - "0" "plain" - "1" "Y" - "2" "mysql" - "3" "md5" - "4" "sha1" - "5" "drupal7" - "6" "joomla15" - "7" "ssha" - "8" "sha512" - "9" "sha256" + "0" + "plain" + "1" + "Y" + "2" + "mysql" + "3" + "md5" + "4" + "sha1" + "5" + "drupal7" + "6" + "joomla15" + "7" + "ssha" + "8" + "sha512" + "9" + "sha256" ]; description = '' The method to encrypt the user's password: @@ -119,7 +134,14 @@ in ''; }; cryptDefault = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "md5" "sha256" "sha512" "blowfish" ]); + type = lib.types.nullOr ( + lib.types.enum [ + "md5" + "sha256" + "sha512" + "blowfish" + ] + ); default = null; example = "blowfish"; description = "The default encryption method to use for `passwordCrypt = 1`."; @@ -358,64 +380,81 @@ in group = "root"; mode = "0600"; # password will be added from password file in systemd oneshot - text = '' - users.host=${cfg.host} - users.db_user=${cfg.user} - users.database=${cfg.database} - users.table=${cfg.pam.table} - users.user_column=${cfg.pam.userColumn} - users.password_column=${cfg.pam.passwordColumn} - users.password_crypt=${cfg.pam.passwordCrypt} - users.disconnect_every_operation=${if cfg.pam.disconnectEveryOperation then "1" else "0"} - verbose=${if cfg.pam.verbose then "1" else "0"} - '' + lib.optionalString (cfg.pam.cryptDefault != null) '' - users.use_${cfg.pam.cryptDefault}=1 - '' + lib.optionalString (cfg.pam.where != null) '' - users.where_clause=${cfg.pam.where} - '' + lib.optionalString (cfg.pam.statusColumn != null) '' - users.status_column=${cfg.pam.statusColumn} - '' + lib.optionalString (cfg.pam.updateTable != null) '' - users.update_table=${cfg.pam.updateTable} - '' + lib.optionalString cfg.pam.logging.enable '' - log.enabled=true - log.table=${cfg.pam.logging.table} - log.message_column=${cfg.pam.logging.msgColumn} - log.pid_column=${cfg.pam.logging.pidColumn} - log.user_column=${cfg.pam.logging.userColumn} - log.host_column=${cfg.pam.logging.hostColumn} - log.rhost_column=${cfg.pam.logging.rHostColumn} - log.time_column=${cfg.pam.logging.timeColumn} - ''; + text = + '' + users.host=${cfg.host} + users.db_user=${cfg.user} + users.database=${cfg.database} + users.table=${cfg.pam.table} + users.user_column=${cfg.pam.userColumn} + users.password_column=${cfg.pam.passwordColumn} + users.password_crypt=${cfg.pam.passwordCrypt} + users.disconnect_every_operation=${if cfg.pam.disconnectEveryOperation then "1" else "0"} + verbose=${if cfg.pam.verbose then "1" else "0"} + '' + + lib.optionalString (cfg.pam.cryptDefault != null) '' + users.use_${cfg.pam.cryptDefault}=1 + '' + + lib.optionalString (cfg.pam.where != null) '' + users.where_clause=${cfg.pam.where} + '' + + lib.optionalString (cfg.pam.statusColumn != null) '' + users.status_column=${cfg.pam.statusColumn} + '' + + lib.optionalString (cfg.pam.updateTable != null) '' + users.update_table=${cfg.pam.updateTable} + '' + + lib.optionalString cfg.pam.logging.enable '' + log.enabled=true + log.table=${cfg.pam.logging.table} + log.message_column=${cfg.pam.logging.msgColumn} + log.pid_column=${cfg.pam.logging.pidColumn} + log.user_column=${cfg.pam.logging.userColumn} + log.host_column=${cfg.pam.logging.hostColumn} + log.rhost_column=${cfg.pam.logging.rHostColumn} + log.time_column=${cfg.pam.logging.timeColumn} + ''; }; environment.etc."libnss-mysql.cfg" = { mode = "0600"; user = config.services.nscd.user; group = config.services.nscd.group; - text = lib.optionalString (cfg.nss.getpwnam != null) '' - getpwnam ${cfg.nss.getpwnam} - '' + lib.optionalString (cfg.nss.getpwuid != null) '' - getpwuid ${cfg.nss.getpwuid} - '' + lib.optionalString (cfg.nss.getspnam != null) '' - getspnam ${cfg.nss.getspnam} - '' + lib.optionalString (cfg.nss.getpwent != null) '' - getpwent ${cfg.nss.getpwent} - '' + lib.optionalString (cfg.nss.getspent != null) '' - getspent ${cfg.nss.getspent} - '' + lib.optionalString (cfg.nss.getgrnam != null) '' - getgrnam ${cfg.nss.getgrnam} - '' + lib.optionalString (cfg.nss.getgrgid != null) '' - getgrgid ${cfg.nss.getgrgid} - '' + lib.optionalString (cfg.nss.getgrent != null) '' - getgrent ${cfg.nss.getgrent} - '' + lib.optionalString (cfg.nss.memsbygid != null) '' - memsbygid ${cfg.nss.memsbygid} - '' + lib.optionalString (cfg.nss.gidsbymem != null) '' - gidsbymem ${cfg.nss.gidsbymem} - '' + '' - host ${cfg.host} - database ${cfg.database} - ''; + text = + lib.optionalString (cfg.nss.getpwnam != null) '' + getpwnam ${cfg.nss.getpwnam} + '' + + lib.optionalString (cfg.nss.getpwuid != null) '' + getpwuid ${cfg.nss.getpwuid} + '' + + lib.optionalString (cfg.nss.getspnam != null) '' + getspnam ${cfg.nss.getspnam} + '' + + lib.optionalString (cfg.nss.getpwent != null) '' + getpwent ${cfg.nss.getpwent} + '' + + lib.optionalString (cfg.nss.getspent != null) '' + getspent ${cfg.nss.getspent} + '' + + lib.optionalString (cfg.nss.getgrnam != null) '' + getgrnam ${cfg.nss.getgrnam} + '' + + lib.optionalString (cfg.nss.getgrgid != null) '' + getgrgid ${cfg.nss.getgrgid} + '' + + lib.optionalString (cfg.nss.getgrent != null) '' + getgrent ${cfg.nss.getgrent} + '' + + lib.optionalString (cfg.nss.memsbygid != null) '' + memsbygid ${cfg.nss.memsbygid} + '' + + lib.optionalString (cfg.nss.gidsbymem != null) '' + gidsbymem ${cfg.nss.gidsbymem} + '' + + '' + host ${cfg.host} + database ${cfg.database} + ''; }; environment.etc."libnss-mysql-root.cfg" = { diff --git a/nixos/modules/config/nix-flakes.nix b/nixos/modules/config/nix-flakes.nix index 90e207fd4a61e..69388e791154f 100644 --- a/nixos/modules/config/nix-flakes.nix +++ b/nixos/modules/config/nix-flakes.nix @@ -4,7 +4,7 @@ See also - ./nix.nix - ./nix-channel.nix - */ +*/ { config, lib, ... }: let inherit (lib) @@ -24,60 +24,75 @@ in options = { nix = { registry = mkOption { - type = types.attrsOf (types.submodule ( - let - referenceAttrs = with types; attrsOf (oneOf [ - str - int - bool - path - package - ]); - in - { config, name, ... }: - { - options = { - from = mkOption { - type = referenceAttrs; - example = { type = "indirect"; id = "nixpkgs"; }; - description = "The flake reference to be rewritten."; + type = types.attrsOf ( + types.submodule ( + let + referenceAttrs = + with types; + attrsOf (oneOf [ + str + int + bool + path + package + ]); + in + { config, name, ... }: + { + options = { + from = mkOption { + type = referenceAttrs; + example = { + type = "indirect"; + id = "nixpkgs"; + }; + description = "The flake reference to be rewritten."; + }; + to = mkOption { + type = referenceAttrs; + example = { + type = "github"; + owner = "my-org"; + repo = "my-nixpkgs"; + }; + description = "The flake reference {option}`from` is rewritten to."; + }; + flake = mkOption { + type = types.nullOr types.attrs; + default = null; + example = literalExpression "nixpkgs"; + description = '' + The flake input {option}`from` is rewritten to. + ''; + }; + exact = mkOption { + type = types.bool; + default = true; + description = '' + Whether the {option}`from` reference needs to match exactly. If set, + a {option}`from` reference like `nixpkgs` does not + match with a reference like `nixpkgs/nixos-20.03`. + ''; + }; }; - to = mkOption { - type = referenceAttrs; - example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; }; - description = "The flake reference {option}`from` is rewritten to."; + config = { + from = mkDefault { + type = "indirect"; + id = name; + }; + to = mkIf (config.flake != null) ( + mkDefault ( + { + type = "path"; + path = config.flake.outPath; + } + // filterAttrs (n: _: n == "lastModified" || n == "rev" || n == "narHash") config.flake + ) + ); }; - flake = mkOption { - type = types.nullOr types.attrs; - default = null; - example = literalExpression "nixpkgs"; - description = '' - The flake input {option}`from` is rewritten to. - ''; - }; - exact = mkOption { - type = types.bool; - default = true; - description = '' - Whether the {option}`from` reference needs to match exactly. If set, - a {option}`from` reference like `nixpkgs` does not - match with a reference like `nixpkgs/nixos-20.03`. - ''; - }; - }; - config = { - from = mkDefault { type = "indirect"; id = name; }; - to = mkIf (config.flake != null) (mkDefault ( - { - type = "path"; - path = config.flake.outPath; - } // filterAttrs - (n: _: n == "lastModified" || n == "rev" || n == "narHash") - config.flake - )); - }; - } - )); + } + ) + ); default = { }; description = '' A system-wide flake registry. diff --git a/nixos/modules/config/nix-remote-build.nix b/nixos/modules/config/nix-remote-build.nix index e8aa438a262d0..11fcec30ff640 100644 --- a/nixos/modules/config/nix-remote-build.nix +++ b/nixos/modules/config/nix-remote-build.nix @@ -4,7 +4,7 @@ See also - ./nix.nix - nixos/modules/services/system/nix-daemon.nix - */ +*/ { config, lib, ... }: let @@ -29,150 +29,181 @@ let isNixAtLeast = versionAtLeast (getVersion nixPackage); - buildMachinesText = - concatMapStrings - (machine: - (concatStringsSep " " ([ - "${optionalString (machine.protocol != null) "${machine.protocol}://"}${optionalString (machine.sshUser != null) "${machine.sshUser}@"}${machine.hostName}" - (if machine.system != null then machine.system else if machine.systems != [ ] then concatStringsSep "," machine.systems else "-") - (if machine.sshKey != null then machine.sshKey else "-") - (toString machine.maxJobs) - (toString machine.speedFactor) - (let res = (machine.supportedFeatures ++ machine.mandatoryFeatures); - in if (res == []) then "-" else (concatStringsSep "," res)) - (let res = machine.mandatoryFeatures; - in if (res == []) then "-" else (concatStringsSep "," machine.mandatoryFeatures)) - ] - ++ optional (isNixAtLeast "2.4pre") (if machine.publicHostKey != null then machine.publicHostKey else "-"))) - + "\n" + buildMachinesText = concatMapStrings ( + machine: + (concatStringsSep " " ( + [ + "${optionalString (machine.protocol != null) "${machine.protocol}://"}${ + optionalString (machine.sshUser != null) "${machine.sshUser}@" + }${machine.hostName}" + ( + if machine.system != null then + machine.system + else if machine.systems != [ ] then + concatStringsSep "," machine.systems + else + "-" + ) + (if machine.sshKey != null then machine.sshKey else "-") + (toString machine.maxJobs) + (toString machine.speedFactor) + ( + let + res = (machine.supportedFeatures ++ machine.mandatoryFeatures); + in + if (res == [ ]) then "-" else (concatStringsSep "," res) + ) + ( + let + res = machine.mandatoryFeatures; + in + if (res == [ ]) then "-" else (concatStringsSep "," machine.mandatoryFeatures) + ) + ] + ++ optional (isNixAtLeast "2.4pre") ( + if machine.publicHostKey != null then machine.publicHostKey else "-" ) - cfg.buildMachines; + )) + + "\n" + ) cfg.buildMachines; in { options = { nix = { buildMachines = mkOption { - type = types.listOf (types.submodule { - options = { - hostName = mkOption { - type = types.str; - example = "nixbuilder.example.org"; - description = '' - The hostname of the build machine. - ''; - }; - protocol = mkOption { - type = types.enum [ null "ssh" "ssh-ng" ]; - default = "ssh"; - example = "ssh-ng"; - description = '' - The protocol used for communicating with the build machine. - Use `ssh-ng` if your remote builder and your - local Nix version support that improved protocol. + type = types.listOf ( + types.submodule { + options = { + hostName = mkOption { + type = types.str; + example = "nixbuilder.example.org"; + description = '' + The hostname of the build machine. + ''; + }; + protocol = mkOption { + type = types.enum [ + null + "ssh" + "ssh-ng" + ]; + default = "ssh"; + example = "ssh-ng"; + description = '' + The protocol used for communicating with the build machine. + Use `ssh-ng` if your remote builder and your + local Nix version support that improved protocol. - Use `null` when trying to change the special localhost builder - without a protocol which is for example used by hydra. - ''; - }; - system = mkOption { - type = types.nullOr types.str; - default = null; - example = "x86_64-linux"; - description = '' - The system type the build machine can execute derivations on. - Either this attribute or {var}`systems` must be - present, where {var}`system` takes precedence if - both are set. - ''; - }; - systems = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "x86_64-linux" "aarch64-linux" ]; - description = '' - The system types the build machine can execute derivations on. - Either this attribute or {var}`system` must be - present, where {var}`system` takes precedence if - both are set. - ''; - }; - sshUser = mkOption { - type = types.nullOr types.str; - default = null; - example = "builder"; - description = '' - The username to log in as on the remote host. This user must be - able to log in and run nix commands non-interactively. It must - also be privileged to build derivations, so must be included in - {option}`nix.settings.trusted-users`. - ''; - }; - sshKey = mkOption { - type = types.nullOr types.str; - default = null; - example = "/root/.ssh/id_buildhost_builduser"; - description = '' - The path to the SSH private key with which to authenticate on - the build machine. The private key must not have a passphrase. - If null, the building user (root on NixOS machines) must have an - appropriate ssh configuration to log in non-interactively. + Use `null` when trying to change the special localhost builder + without a protocol which is for example used by hydra. + ''; + }; + system = mkOption { + type = types.nullOr types.str; + default = null; + example = "x86_64-linux"; + description = '' + The system type the build machine can execute derivations on. + Either this attribute or {var}`systems` must be + present, where {var}`system` takes precedence if + both are set. + ''; + }; + systems = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "x86_64-linux" + "aarch64-linux" + ]; + description = '' + The system types the build machine can execute derivations on. + Either this attribute or {var}`system` must be + present, where {var}`system` takes precedence if + both are set. + ''; + }; + sshUser = mkOption { + type = types.nullOr types.str; + default = null; + example = "builder"; + description = '' + The username to log in as on the remote host. This user must be + able to log in and run nix commands non-interactively. It must + also be privileged to build derivations, so must be included in + {option}`nix.settings.trusted-users`. + ''; + }; + sshKey = mkOption { + type = types.nullOr types.str; + default = null; + example = "/root/.ssh/id_buildhost_builduser"; + description = '' + The path to the SSH private key with which to authenticate on + the build machine. The private key must not have a passphrase. + If null, the building user (root on NixOS machines) must have an + appropriate ssh configuration to log in non-interactively. - Note that for security reasons, this path must point to a file - in the local filesystem, *not* to the nix store. - ''; + Note that for security reasons, this path must point to a file + in the local filesystem, *not* to the nix store. + ''; + }; + maxJobs = mkOption { + type = types.int; + default = 1; + description = '' + The number of concurrent jobs the build machine supports. The + build machine will enforce its own limits, but this allows hydra + to schedule better since there is no work-stealing between build + machines. + ''; + }; + speedFactor = mkOption { + type = types.int; + default = 1; + description = '' + The relative speed of this builder. This is an arbitrary integer + that indicates the speed of this builder, relative to other + builders. Higher is faster. + ''; + }; + mandatoryFeatures = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "big-parallel" ]; + description = '' + A list of features mandatory for this builder. The builder will + be ignored for derivations that don't require all features in + this list. All mandatory features are automatically included in + {var}`supportedFeatures`. + ''; + }; + supportedFeatures = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "kvm" + "big-parallel" + ]; + description = '' + A list of features supported by this builder. The builder will + be ignored for derivations that require features not in this + list. + ''; + }; + publicHostKey = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The (base64-encoded) public host key of this builder. The field + is calculated via {command}`base64 -w0 /etc/ssh/ssh_host_type_key.pub`. + If null, SSH will use its regular known-hosts file when connecting. + ''; + }; }; - maxJobs = mkOption { - type = types.int; - default = 1; - description = '' - The number of concurrent jobs the build machine supports. The - build machine will enforce its own limits, but this allows hydra - to schedule better since there is no work-stealing between build - machines. - ''; - }; - speedFactor = mkOption { - type = types.int; - default = 1; - description = '' - The relative speed of this builder. This is an arbitrary integer - that indicates the speed of this builder, relative to other - builders. Higher is faster. - ''; - }; - mandatoryFeatures = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "big-parallel" ]; - description = '' - A list of features mandatory for this builder. The builder will - be ignored for derivations that don't require all features in - this list. All mandatory features are automatically included in - {var}`supportedFeatures`. - ''; - }; - supportedFeatures = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "kvm" "big-parallel" ]; - description = '' - A list of features supported by this builder. The builder will - be ignored for derivations that require features not in this - list. - ''; - }; - publicHostKey = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - The (base64-encoded) public host key of this builder. The field - is calculated via {command}`base64 -w0 /etc/ssh/ssh_host_type_key.pub`. - If null, SSH will use its regular known-hosts file when connecting. - ''; - }; - }; - }); + } + ); default = [ ]; description = '' This option lists the machines to be used if distributed builds are @@ -198,27 +229,27 @@ in # override that nix option. config = mkIf cfg.enable { assertions = - let badMachine = m: m.system == null && m.systems == [ ]; + let + badMachine = m: m.system == null && m.systems == [ ]; in [ { assertion = !(any badMachine cfg.buildMachines); - message = '' - At least one system type (via system or - systems) must be set for every build machine. - Invalid machine specifications: - '' + " " + - (concatStringsSep "\n " - (map (m: m.hostName) - (filter (badMachine) cfg.buildMachines))); + message = + '' + At least one system type (via system or + systems) must be set for every build machine. + Invalid machine specifications: + '' + + " " + + (concatStringsSep "\n " (map (m: m.hostName) (filter (badMachine) cfg.buildMachines))); } ]; # List of machines for distributed Nix builds - environment.etc."nix/machines" = - mkIf (cfg.buildMachines != [ ]) { - text = buildMachinesText; - }; + environment.etc."nix/machines" = mkIf (cfg.buildMachines != [ ]) { + text = buildMachinesText; + }; # Legacy configuration conversion. nix.settings = mkIf (!cfg.distributedBuilds) { builders = null; }; diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index 71c79eafeb094..354c506e0ae89 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -1,5 +1,10 @@ # Configuration for the Name Service Switch (/etc/nsswitch.conf). -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = { @@ -14,11 +19,10 @@ several DNS resolution methods to be specified via {file}`/etc/nsswitch.conf`. ''; - apply = list: - { - inherit list; - path = lib.makeLibraryPath list; - }; + apply = list: { + inherit list; + path = lib.makeLibraryPath list; + }; }; system.nssDatabases = { diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index 524a23edab64e..6b2253068c0b4 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -17,9 +17,9 @@ in type = lib.types.bool; default = true; description = '' - Whether to enable power management. This includes support - for suspend-to-RAM and powersave features on laptops. - ''; + Whether to enable power management. This includes support + for suspend-to-RAM and powersave features on laptops. + ''; }; resumeCommands = lib.mkOption { @@ -35,10 +35,10 @@ in "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" ''; description = '' - Commands executed when the machine powers up. That is, - they're executed both when the system first boots and when - it resumes from suspend or hibernation. - ''; + Commands executed when the machine powers up. That is, + they're executed both when the system first boots and when + it resumes from suspend or hibernation. + ''; }; powerDownCommands = lib.mkOption { @@ -48,17 +48,16 @@ in "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" ''; description = '' - Commands executed when the machine powers down. That is, - they're executed both when the system shuts down and when - it goes to suspend or hibernation. - ''; + Commands executed when the machine powers down. That is, + they're executed both when the system shuts down and when + it goes to suspend or hibernation. + ''; }; }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -72,28 +71,31 @@ in }; # Service executed before suspending/hibernating. - systemd.services.pre-sleep = - { description = "Pre-Sleep Actions"; - wantedBy = [ "sleep.target" ]; - before = [ "sleep.target" ]; - script = - '' - ${cfg.powerDownCommands} - ''; - serviceConfig.Type = "oneshot"; - }; + systemd.services.pre-sleep = { + description = "Pre-Sleep Actions"; + wantedBy = [ "sleep.target" ]; + before = [ "sleep.target" ]; + script = '' + ${cfg.powerDownCommands} + ''; + serviceConfig.Type = "oneshot"; + }; - systemd.services.post-resume = - { description = "Post-Resume Actions"; - after = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ]; - script = - '' - /run/current-system/systemd/bin/systemctl try-restart --no-block post-resume.target - ${cfg.resumeCommands} - ${cfg.powerUpCommands} - ''; - serviceConfig.Type = "oneshot"; - }; + systemd.services.post-resume = { + description = "Post-Resume Actions"; + after = [ + "suspend.target" + "hibernate.target" + "hybrid-sleep.target" + "suspend-then-hibernate.target" + ]; + script = '' + /run/current-system/systemd/bin/systemctl try-restart --no-block post-resume.target + ${cfg.resumeCommands} + ${cfg.powerUpCommands} + ''; + serviceConfig.Type = "oneshot"; + }; }; diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 6e6e577e6e204..2a28f26eb2c05 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -1,34 +1,51 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.pulseaudio; - hasZeroconf = let z = cfg.zeroconf; in z.publish.enable || z.discovery.enable; + hasZeroconf = + let + z = cfg.zeroconf; + in + z.publish.enable || z.discovery.enable; - overriddenPackage = cfg.package.override - (lib.optionalAttrs hasZeroconf { zeroconfSupport = true; }); + overriddenPackage = cfg.package.override ( + lib.optionalAttrs hasZeroconf { zeroconfSupport = true; } + ); binary = "${lib.getBin overriddenPackage}/bin/pulseaudio"; binaryNoDaemon = "${binary} --daemonize=no"; # Forces 32bit pulseaudio and alsa-plugins to be built/supported for apps # using 32bit alsa on 64bit linux. - enable32BitAlsaPlugins = cfg.support32Bit && pkgs.stdenv.hostPlatform.isx86_64 && (pkgs.pkgsi686Linux.alsa-lib != null && pkgs.pkgsi686Linux.libpulseaudio != null); - + enable32BitAlsaPlugins = + cfg.support32Bit + && pkgs.stdenv.hostPlatform.isx86_64 + && (pkgs.pkgsi686Linux.alsa-lib != null && pkgs.pkgsi686Linux.libpulseaudio != null); myConfigFile = let addModuleIf = cond: mod: lib.optionalString cond "load-module ${mod}"; allAnon = lib.optional cfg.tcp.anonymousClients.allowAll "auth-anonymous=1"; - ipAnon = let a = cfg.tcp.anonymousClients.allowedIpRanges; - in lib.optional (a != []) ''auth-ip-acl=${lib.concatStringsSep ";" a}''; - in pkgs.writeTextFile { + ipAnon = + let + a = cfg.tcp.anonymousClients.allowedIpRanges; + in + lib.optional (a != [ ]) ''auth-ip-acl=${lib.concatStringsSep ";" a}''; + in + pkgs.writeTextFile { name = "default.pa"; - text = '' + text = '' .include ${cfg.configFile} ${addModuleIf cfg.zeroconf.publish.enable "module-zeroconf-publish"} ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"} - ${addModuleIf cfg.tcp.enable (lib.concatStringsSep " " - ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))} + ${addModuleIf cfg.tcp.enable ( + lib.concatStringsSep " " ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon) + )} ${addModuleIf config.services.jack.jackd.enable "module-jack-sink"} ${addModuleIf config.services.jack.jackd.enable "module-jack-source"} ${cfg.extraConfig} @@ -56,8 +73,7 @@ let alsaConf = '' pcm_type.pulse { libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ; - ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"} + ${lib.optionalString enable32BitAlsaPlugins "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"} } pcm.!default { type pulse @@ -65,15 +81,15 @@ let } ctl_type.pulse { libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ; - ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"} + ${lib.optionalString enable32BitAlsaPlugins "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"} } ctl.!default { type pulse } ''; -in { +in +{ options = { @@ -138,9 +154,7 @@ in { package = lib.mkOption { type = lib.types.package; - default = if config.services.jack.jackd.enable - then pkgs.pulseaudioFull - else pkgs.pulseaudio; + default = if config.services.jack.jackd.enable then pkgs.pulseaudioFull else pkgs.pulseaudio; defaultText = lib.literalExpression "pkgs.pulseaudio"; example = lib.literalExpression "pkgs.pulseaudioFull"; description = '' @@ -152,7 +166,7 @@ in { extraModules = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.pulseaudio-modules-bt ]"; description = '' Extra pulseaudio modules to use. This is intended for out-of-tree @@ -174,17 +188,15 @@ in { config = lib.mkOption { type = lib.types.attrsOf lib.types.unspecified; - default = {}; + default = { }; description = "Config of the pulse daemon. See `man pulse-daemon.conf`."; example = lib.literalExpression ''{ realtime-scheduling = "yes"; }''; }; }; zeroconf = { - discovery.enable = - lib.mkEnableOption "discovery of pulseaudio sinks in the local network"; - publish.enable = - lib.mkEnableOption "publishing the pulseaudio sink in the local network"; + discovery.enable = lib.mkEnableOption "discovery of pulseaudio sinks in the local network"; + publish.enable = lib.mkEnableOption "publishing the pulseaudio sink in the local network"; }; # TODO: enable by default? @@ -195,7 +207,7 @@ in { allowAll = lib.mkEnableOption "all anonymous clients to stream to the server"; allowedIpRanges = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = lib.literalExpression ''[ "127.0.0.1" "192.168.1.0/24" ]''; description = '' A list of IP subnets that are allowed to stream to the server. @@ -208,112 +220,120 @@ in { }; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + environment.etc."pulse/client.conf".source = clientConf; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - environment.etc."pulse/client.conf".source = clientConf; - - environment.systemPackages = [ overriddenPackage ]; + environment.systemPackages = [ overriddenPackage ]; - environment.etc = { - "alsa/conf.d/99-pulseaudio.conf".text = alsaConf; + environment.etc = { + "alsa/conf.d/99-pulseaudio.conf".text = alsaConf; - "pulse/daemon.conf".source = pkgs.writeText "daemon.conf" - (lib.generators.toKeyValue {} cfg.daemon.config); - - "openal/alsoft.conf".source = pkgs.writeText "alsoft.conf" "drivers=pulse"; - - "libao.conf".source = pkgs.writeText "libao.conf" "default_driver=pulse"; - }; + "pulse/daemon.conf".source = pkgs.writeText "daemon.conf" ( + lib.generators.toKeyValue { } cfg.daemon.config + ); - hardware.pulseaudio.configFile = lib.mkDefault "${lib.getBin overriddenPackage}/etc/pulse/default.pa"; + "openal/alsoft.conf".source = pkgs.writeText "alsoft.conf" "drivers=pulse"; - # Disable flat volumes to enable relative ones - hardware.pulseaudio.daemon.config.flat-volumes = lib.mkDefault "no"; - - # Upstream defaults to speex-float-1 which results in audible artifacts - hardware.pulseaudio.daemon.config.resample-method = lib.mkDefault "speex-float-5"; - - # Allow PulseAudio to get realtime priority using rtkit. - security.rtkit.enable = true; + "libao.conf".source = pkgs.writeText "libao.conf" "default_driver=pulse"; + }; - systemd.packages = [ overriddenPackage ]; + hardware.pulseaudio.configFile = lib.mkDefault "${lib.getBin overriddenPackage}/etc/pulse/default.pa"; + + # Disable flat volumes to enable relative ones + hardware.pulseaudio.daemon.config.flat-volumes = lib.mkDefault "no"; + + # Upstream defaults to speex-float-1 which results in audible artifacts + hardware.pulseaudio.daemon.config.resample-method = lib.mkDefault "speex-float-5"; + + # Allow PulseAudio to get realtime priority using rtkit. + security.rtkit.enable = true; + + systemd.packages = [ overriddenPackage ]; + + # PulseAudio is packaged with udev rules to handle various audio device quirks + services.udev.packages = [ overriddenPackage ]; + } + + (lib.mkIf (cfg.extraModules != [ ]) { + hardware.pulseaudio.daemon.config.dl-search-path = + let + overriddenModules = builtins.map ( + drv: drv.override { pulseaudio = overriddenPackage; } + ) cfg.extraModules; + modulePaths = + builtins.map (drv: "${drv}/lib/pulseaudio/modules") + # User-provided extra modules take precedence + (overriddenModules ++ [ overriddenPackage ]); + in + lib.concatStringsSep ":" modulePaths; + }) + + (lib.mkIf hasZeroconf { + services.avahi.enable = true; + }) + (lib.mkIf cfg.zeroconf.publish.enable { + services.avahi.publish.enable = true; + services.avahi.publish.userServices = true; + }) + + (lib.mkIf (!cfg.systemWide) { + environment.etc = { + "pulse/default.pa".source = myConfigFile; + }; + systemd.user = { + services.pulseaudio = + { + restartIfChanged = true; + serviceConfig = { + RestartSec = "500ms"; + PassEnvironment = "DISPLAY"; + }; + } + // lib.optionalAttrs config.services.jack.jackd.enable { + environment.JACK_PROMISCUOUS_SERVER = "jackaudio"; + }; + sockets.pulseaudio = { + wantedBy = [ "sockets.target" ]; + }; + }; + }) + + (lib.mkIf cfg.systemWide { + users.users.pulse = { + # For some reason, PulseAudio wants UID == GID. + uid = + assert uid == gid; + uid; + group = "pulse"; + extraGroups = [ "audio" ]; + description = "PulseAudio system service user"; + home = stateDir; + homeMode = "755"; + createHome = true; + isSystemUser = true; + }; - # PulseAudio is packaged with udev rules to handle various audio device quirks - services.udev.packages = [ overriddenPackage ]; - } + users.groups.pulse.gid = gid; + users.groups.pulse-access = { }; - (lib.mkIf (cfg.extraModules != []) { - hardware.pulseaudio.daemon.config.dl-search-path = let - overriddenModules = builtins.map - (drv: drv.override { pulseaudio = overriddenPackage; }) - cfg.extraModules; - modulePaths = builtins.map - (drv: "${drv}/lib/pulseaudio/modules") - # User-provided extra modules take precedence - (overriddenModules ++ [ overriddenPackage ]); - in lib.concatStringsSep ":" modulePaths; - }) - - (lib.mkIf hasZeroconf { - services.avahi.enable = true; - }) - (lib.mkIf cfg.zeroconf.publish.enable { - services.avahi.publish.enable = true; - services.avahi.publish.userServices = true; - }) - - (lib.mkIf (!cfg.systemWide) { - environment.etc = { - "pulse/default.pa".source = myConfigFile; - }; - systemd.user = { - services.pulseaudio = { - restartIfChanged = true; + systemd.services.pulseaudio = { + description = "PulseAudio System-Wide Server"; + wantedBy = [ "sound.target" ]; + before = [ "sound.target" ]; + environment.PULSE_RUNTIME_PATH = stateDir; serviceConfig = { + Type = "notify"; + ExecStart = "${binaryNoDaemon} --log-level=${cfg.daemon.logLevel} --system -n --file=${myConfigFile}"; + Restart = "on-failure"; RestartSec = "500ms"; - PassEnvironment = "DISPLAY"; }; - } // lib.optionalAttrs config.services.jack.jackd.enable { - environment.JACK_PROMISCUOUS_SERVER = "jackaudio"; - }; - sockets.pulseaudio = { - wantedBy = [ "sockets.target" ]; }; - }; - }) - - (lib.mkIf cfg.systemWide { - users.users.pulse = { - # For some reason, PulseAudio wants UID == GID. - uid = assert uid == gid; uid; - group = "pulse"; - extraGroups = [ "audio" ]; - description = "PulseAudio system service user"; - home = stateDir; - homeMode = "755"; - createHome = true; - isSystemUser = true; - }; - - users.groups.pulse.gid = gid; - users.groups.pulse-access = {}; - - systemd.services.pulseaudio = { - description = "PulseAudio System-Wide Server"; - wantedBy = [ "sound.target" ]; - before = [ "sound.target" ]; - environment.PULSE_RUNTIME_PATH = stateDir; - serviceConfig = { - Type = "notify"; - ExecStart = "${binaryNoDaemon} --log-level=${cfg.daemon.logLevel} --system -n --file=${myConfigFile}"; - Restart = "on-failure"; - RestartSec = "500ms"; - }; - }; - environment.variables.PULSE_COOKIE = "${stateDir}/.config/pulse/cookie"; - }) - ]); + environment.variables.PULSE_COOKIE = "${stateDir}/.config/pulse/cookie"; + }) + ] + ); } diff --git a/nixos/modules/config/qt.nix b/nixos/modules/config/qt.nix index bf050f17620c4..fb10ef5c32387 100644 --- a/nixos/modules/config/qt.nix +++ b/nixos/modules/config/qt.nix @@ -1,14 +1,34 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.qt; platformPackages = with pkgs; { - gnome = [ qgnomeplatform qgnomeplatform-qt6 ]; - gtk2 = [ libsForQt5.qtstyleplugins qt6Packages.qt6gtk2 ]; - kde = [ libsForQt5.plasma-integration libsForQt5.systemsettings ]; - lxqt = [ lxqt.lxqt-qtplugin lxqt.lxqt-config ]; - qt5ct = [ libsForQt5.qt5ct qt6Packages.qt6ct ]; + gnome = [ + qgnomeplatform + qgnomeplatform-qt6 + ]; + gtk2 = [ + libsForQt5.qtstyleplugins + qt6Packages.qt6gtk2 + ]; + kde = [ + libsForQt5.plasma-integration + libsForQt5.systemsettings + ]; + lxqt = [ + lxqt.lxqt-qtplugin + lxqt.lxqt-config + ]; + qt5ct = [ + libsForQt5.qt5ct + qt6Packages.qt6ct + ]; }; stylePackages = with pkgs; { @@ -16,22 +36,43 @@ let bb10dark = [ libsForQt5.qtstyleplugins ]; cde = [ libsForQt5.qtstyleplugins ]; cleanlooks = [ libsForQt5.qtstyleplugins ]; - gtk2 = [ libsForQt5.qtstyleplugins qt6Packages.qt6gtk2 ]; + gtk2 = [ + libsForQt5.qtstyleplugins + qt6Packages.qt6gtk2 + ]; motif = [ libsForQt5.qtstyleplugins ]; plastique = [ libsForQt5.qtstyleplugins ]; - adwaita = [ adwaita-qt adwaita-qt6 ]; - adwaita-dark = [ adwaita-qt adwaita-qt6 ]; - adwaita-highcontrast = [ adwaita-qt adwaita-qt6 ]; - adwaita-highcontrastinverse = [ adwaita-qt adwaita-qt6 ]; + adwaita = [ + adwaita-qt + adwaita-qt6 + ]; + adwaita-dark = [ + adwaita-qt + adwaita-qt6 + ]; + adwaita-highcontrast = [ + adwaita-qt + adwaita-qt6 + ]; + adwaita-highcontrastinverse = [ + adwaita-qt + adwaita-qt6 + ]; breeze = [ libsForQt5.breeze-qt5 ]; - kvantum = [ libsForQt5.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum ]; + kvantum = [ + libsForQt5.qtstyleplugin-kvantum + qt6Packages.qtstyleplugin-kvantum + ]; }; in { - meta.maintainers = with lib.maintainers; [ romildo thiagokokada ]; + meta.maintainers = with lib.maintainers; [ + romildo + thiagokokada + ]; imports = [ (lib.mkRenamedOptionModule [ "qt5" "enable" ] [ "qt" "enable" ]) @@ -57,14 +98,38 @@ in relatedPackages = [ "qgnomeplatform" "qgnomeplatform-qt6" - [ "libsForQt5" "plasma-integration" ] - [ "libsForQt5" "qt5ct" ] - [ "libsForQt5" "qtstyleplugins" ] - [ "libsForQt5" "systemsettings" ] - [ "lxqt" "lxqt-config" ] - [ "lxqt" "lxqt-qtplugin" ] - [ "qt6Packages" "qt6ct" ] - [ "qt6Packages" "qt6gtk2" ] + [ + "libsForQt5" + "plasma-integration" + ] + [ + "libsForQt5" + "qt5ct" + ] + [ + "libsForQt5" + "qtstyleplugins" + ] + [ + "libsForQt5" + "systemsettings" + ] + [ + "lxqt" + "lxqt-config" + ] + [ + "lxqt" + "lxqt-qtplugin" + ] + [ + "qt6Packages" + "qt6ct" + ] + [ + "qt6Packages" + "qt6gtk2" + ] ]; description = '' Selects the platform theme to use for Qt applications. @@ -87,11 +152,26 @@ in relatedPackages = [ "adwaita-qt" "adwaita-qt6" - [ "libsForQt5" "breeze-qt5" ] - [ "libsForQt5" "qtstyleplugin-kvantum" ] - [ "libsForQt5" "qtstyleplugins" ] - [ "qt6Packages" "qt6gtk2" ] - [ "qt6Packages" "qtstyleplugin-kvantum" ] + [ + "libsForQt5" + "breeze-qt5" + ] + [ + "libsForQt5" + "qtstyleplugin-kvantum" + ] + [ + "libsForQt5" + "qtstyleplugins" + ] + [ + "qt6Packages" + "qt6gtk2" + ] + [ + "qt6Packages" + "qtstyleplugin-kvantum" + ] ]; description = '' Selects the style to use for Qt applications. @@ -140,7 +220,10 @@ in environment.profileRelativeSessionVariables = let - qtVersions = with pkgs; [ qt5 qt6 ]; + qtVersions = with pkgs; [ + qt5 + qt6 + ]; in { QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions; diff --git a/nixos/modules/config/resolvconf.nix b/nixos/modules/config/resolvconf.nix index 70ee02421cc34..f9c9d04b3fbea 100644 --- a/nixos/modules/config/resolvconf.nix +++ b/nixos/modules/config/resolvconf.nix @@ -1,10 +1,16 @@ # /etc files related to networking, such as /etc/services. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.networking.resolvconf; - resolvconfOptions = cfg.extraOptions + resolvconfOptions = + cfg.extraOptions ++ lib.optional cfg.dnsSingleRequest "single-request" ++ lib.optional cfg.dnsExtensionMechanism "edns0" ++ lib.optional cfg.useLocalResolver "trust-ad"; @@ -15,27 +21,47 @@ let # a collision with an apparently unrelated environment # variable with the same name exported by dhcpcd. interface_order='lo lo[0-9]*' - '' + lib.optionalString config.services.nscd.enable '' + '' + + lib.optionalString config.services.nscd.enable '' # Invalidate the nscd cache whenever resolv.conf is # regenerated. libc_restart='/run/current-system/systemd/bin/systemctl try-restart --no-block nscd.service 2> /dev/null' - '' + lib.optionalString (lib.length resolvconfOptions > 0) '' + '' + + lib.optionalString (lib.length resolvconfOptions > 0) '' # Options as described in resolv.conf(5) resolv_conf_options='${lib.concatStringsSep " " resolvconfOptions}' - '' + lib.optionalString cfg.useLocalResolver '' + '' + + lib.optionalString cfg.useLocalResolver '' # This hosts runs a full-blown DNS resolver. name_servers='127.0.0.1${lib.optionalString config.networking.enableIPv6 " ::1"}' - '' + cfg.extraConfig; + '' + + cfg.extraConfig; in { imports = [ - (lib.mkRenamedOptionModule [ "networking" "dnsSingleRequest" ] [ "networking" "resolvconf" "dnsSingleRequest" ]) - (lib.mkRenamedOptionModule [ "networking" "dnsExtensionMechanism" ] [ "networking" "resolvconf" "dnsExtensionMechanism" ]) - (lib.mkRenamedOptionModule [ "networking" "extraResolvconfConf" ] [ "networking" "resolvconf" "extraConfig" ]) - (lib.mkRenamedOptionModule [ "networking" "resolvconfOptions" ] [ "networking" "resolvconf" "extraOptions" ]) - (lib.mkRemovedOptionModule [ "networking" "resolvconf" "useHostResolvConf" ] "This option was never used for anything anyways") + (lib.mkRenamedOptionModule + [ "networking" "dnsSingleRequest" ] + [ "networking" "resolvconf" "dnsSingleRequest" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "dnsExtensionMechanism" ] + [ "networking" "resolvconf" "dnsExtensionMechanism" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "extraResolvconfConf" ] + [ "networking" "resolvconf" "extraConfig" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "resolvconfOptions" ] + [ "networking" "resolvconf" "extraOptions" ] + ) + (lib.mkRemovedOptionModule [ + "networking" + "resolvconf" + "useHostResolvConf" + ] "This option was never used for anything anyways") ]; options = { @@ -99,8 +125,11 @@ in extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "ndots:1" "rotate" ]; + default = [ ]; + example = [ + "ndots:1" + "rotate" + ]; description = '' Set the options in {file}`/etc/resolv.conf`. ''; @@ -116,7 +145,7 @@ in subscriberFiles = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' Files written by resolvconf updates ''; @@ -137,11 +166,12 @@ in echo "$0 $*" >&2 exit 1 '' - else configText; + else + configText; } (lib.mkIf cfg.enable { - users.groups.resolvconf = {}; + users.groups.resolvconf = { }; networking.resolvconf.subscriberFiles = [ "/etc/resolv.conf" ]; diff --git a/nixos/modules/config/stub-ld.nix b/nixos/modules/config/stub-ld.nix index 05945852ee45c..836cd129e22f5 100644 --- a/nixos/modules/config/stub-ld.nix +++ b/nixos/modules/config/stub-ld.nix @@ -1,7 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) optionalString mkOption types mkIf mkDefault; + inherit (lib) + optionalString + mkOption + types + mkIf + mkDefault + ; cfg = config.environment.stub-ld; @@ -11,27 +22,32 @@ let https://nix.dev/permalink/stub-ld ''; - stub-ld-for = pkgsArg: messageArg: pkgsArg.pkgsStatic.runCommandCC "stub-ld" { - nativeBuildInputs = [ pkgsArg.unixtools.xxd ]; - inherit messageArg; - } '' - printf "%s" "$messageArg" | xxd -i -n message >main.c - cat <>main.c - #include - int main(int argc, char * argv[]) { - fprintf(stderr, "Could not start dynamically linked executable: %s\n", argv[0]); - fwrite(message, sizeof(unsigned char), message_len, stderr); - return 127; // matches behavior of bash and zsh without a loader. fish uses 139 - } - EOF - $CC -Os main.c -o $out - ''; + stub-ld-for = + pkgsArg: messageArg: + pkgsArg.pkgsStatic.runCommandCC "stub-ld" + { + nativeBuildInputs = [ pkgsArg.unixtools.xxd ]; + inherit messageArg; + } + '' + printf "%s" "$messageArg" | xxd -i -n message >main.c + cat <>main.c + #include + int main(int argc, char * argv[]) { + fprintf(stderr, "Could not start dynamically linked executable: %s\n", argv[0]); + fwrite(message, sizeof(unsigned char), message_len, stderr); + return 127; // matches behavior of bash and zsh without a loader. fish uses 139 + } + EOF + $CC -Os main.c -o $out + ''; pkgs32 = pkgs.pkgsi686Linux; stub-ld = stub-ld-for pkgs message; stub-ld32 = stub-ld-for pkgs32 message; -in { +in +{ options = { environment.stub-ld = { enable = mkOption { diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index 1495215db9029..45f25180e07bd 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -3,11 +3,12 @@ let sysctlOption = lib.mkOptionType { name = "sysctl option value"; - check = val: + check = + val: let checkType = x: lib.isBool x || lib.isString x || lib.isInt x || x == null; in - checkType val || (val._type or "" == "override" && checkType val.content); + checkType val || (val._type or "" == "override" && checkType val.content); merge = loc: defs: lib.mergeOneOption loc (lib.filterOverrides defs); }; @@ -18,31 +19,31 @@ in options = { boot.kernel.sysctl = lib.mkOption { - type = let - highestValueType = lib.types.ints.unsigned // { - merge = loc: defs: - lib.foldl - (a: b: if b.value == null then null else lib.max a b.value) - 0 - (lib.filterOverrides defs); - }; - in lib.types.submodule { - freeformType = lib.types.attrsOf sysctlOption; - options = { - "net.core.rmem_max" = lib.mkOption { - type = lib.types.nullOr highestValueType; - default = null; - description = "The maximum receive socket buffer size in bytes. In case of conflicting values, the highest will be used."; + type = + let + highestValueType = lib.types.ints.unsigned // { + merge = + loc: defs: + lib.foldl (a: b: if b.value == null then null else lib.max a b.value) 0 (lib.filterOverrides defs); }; + in + lib.types.submodule { + freeformType = lib.types.attrsOf sysctlOption; + options = { + "net.core.rmem_max" = lib.mkOption { + type = lib.types.nullOr highestValueType; + default = null; + description = "The maximum receive socket buffer size in bytes. In case of conflicting values, the highest will be used."; + }; - "net.core.wmem_max" = lib.mkOption { - type = lib.types.nullOr highestValueType; - default = null; - description = "The maximum send socket buffer size in bytes. In case of conflicting values, the highest will be used."; + "net.core.wmem_max" = lib.mkOption { + type = lib.types.nullOr highestValueType; + default = null; + description = "The maximum send socket buffer size in bytes. In case of conflicting values, the highest will be used."; + }; }; }; - }; - default = {}; + default = { }; example = lib.literalExpression '' { "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; } ''; @@ -62,15 +63,16 @@ in config = { - environment.etc."sysctl.d/60-nixos.conf".text = - lib.concatStrings (lib.mapAttrsToList (n: v: - lib.optionalString (v != null) "${n}=${if v == false then "0" else toString v}\n" - ) config.boot.kernel.sysctl); + environment.etc."sysctl.d/60-nixos.conf".text = lib.concatStrings ( + lib.mapAttrsToList ( + n: v: lib.optionalString (v != null) "${n}=${if v == false then "0" else toString v}\n" + ) config.boot.kernel.sysctl + ); - systemd.services.systemd-sysctl = - { wantedBy = [ "multi-user.target" ]; - restartTriggers = [ config.environment.etc."sysctl.d/60-nixos.conf".source ]; - }; + systemd.services.systemd-sysctl = { + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ config.environment.etc."sysctl.d/60-nixos.conf".source ]; + }; # Hide kernel pointers (e.g. in /proc/modules) for unprivileged # users as these make it easier to exploit kernel vulnerabilities. diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 6757078dbd9fc..42e40e2af5e44 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -1,52 +1,62 @@ # This module defines the packages that appear in # /run/current-system/sw. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - requiredPackages = map (pkg: lib.setPrio ((pkg.meta.priority or lib.meta.defaultPriority) + 3) pkg) - [ pkgs.acl - pkgs.attr - pkgs.bashInteractive # bash with ncurses support - pkgs.bzip2 - pkgs.coreutils-full - pkgs.cpio - pkgs.curl - pkgs.diffutils - pkgs.findutils - pkgs.gawk - pkgs.stdenv.cc.libc - pkgs.getent - pkgs.getconf - pkgs.gnugrep - pkgs.gnupatch - pkgs.gnused - pkgs.gnutar - pkgs.gzip - pkgs.xz - pkgs.less - pkgs.libcap - pkgs.ncurses - pkgs.netcat - config.programs.ssh.package - pkgs.mkpasswd - pkgs.procps - pkgs.su - pkgs.time - pkgs.util-linux - pkgs.which - pkgs.zstd - ]; + requiredPackages = + map (pkg: lib.setPrio ((pkg.meta.priority or lib.meta.defaultPriority) + 3) pkg) + [ + pkgs.acl + pkgs.attr + pkgs.bashInteractive # bash with ncurses support + pkgs.bzip2 + pkgs.coreutils-full + pkgs.cpio + pkgs.curl + pkgs.diffutils + pkgs.findutils + pkgs.gawk + pkgs.stdenv.cc.libc + pkgs.getent + pkgs.getconf + pkgs.gnugrep + pkgs.gnupatch + pkgs.gnused + pkgs.gnutar + pkgs.gzip + pkgs.xz + pkgs.less + pkgs.libcap + pkgs.ncurses + pkgs.netcat + config.programs.ssh.package + pkgs.mkpasswd + pkgs.procps + pkgs.su + pkgs.time + pkgs.util-linux + pkgs.which + pkgs.zstd + ]; - defaultPackageNames = - [ "perl" - "rsync" - "strace" - ]; - defaultPackages = - map - (n: let pkg = pkgs.${n};in lib.setPrio ((pkg.meta.priority or lib.meta.defaultPriority) + 3) pkg) - defaultPackageNames; - defaultPackagesText = "[ ${lib.concatMapStringsSep " " (n: "pkgs.${n}") defaultPackageNames } ]"; + defaultPackageNames = [ + "perl" + "rsync" + "strace" + ]; + defaultPackages = map ( + n: + let + pkg = pkgs.${n}; + in + lib.setPrio ((pkg.meta.priority or lib.meta.defaultPriority) + 3) pkg + ) defaultPackageNames; + defaultPackagesText = "[ ${lib.concatMapStringsSep " " (n: "pkgs.${n}") defaultPackageNames} ]"; in @@ -57,7 +67,7 @@ in systemPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.firefox pkgs.thunderbird ]"; description = '' The set of packages that appear in @@ -79,7 +89,7 @@ in ${defaultPackagesText} ''; - example = []; + example = [ ]; description = '' Set of default packages that aren't strictly necessary for a running system, entries can be removed for a more @@ -97,15 +107,18 @@ in type = lib.types.listOf lib.types.str; # Note: We need `/lib' to be among `pathsToLink' for NSS modules # to work. - default = []; - example = ["/"]; + default = [ ]; + example = [ "/" ]; description = "List of directories to be symlinked in {file}`/run/current-system/sw`."; }; extraOutputsToInstall = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "dev" "info" ]; + example = [ + "dev" + "info" + ]; description = '' Entries listed here will be appended to the `meta.outputsToInstall` attribute for each package in `environment.systemPackages`, and the files from the corresponding derivation outputs symlinked into {file}`/run/current-system/sw`. @@ -140,24 +153,24 @@ in environment.systemPackages = requiredPackages ++ config.environment.defaultPackages; - environment.pathsToLink = - [ "/bin" - "/etc/xdg" - "/etc/gtk-2.0" - "/etc/gtk-3.0" - "/lib" # FIXME: remove and update debug-info.nix - "/sbin" - "/share/emacs" - "/share/hunspell" - "/share/org" - "/share/themes" - "/share/vulkan" - "/share/kservices5" - "/share/kservicetypes5" - "/share/kxmlgui5" - "/share/systemd" - "/share/thumbnailers" - ]; + environment.pathsToLink = [ + "/bin" + "/etc/xdg" + "/etc/gtk-2.0" + "/etc/gtk-3.0" + "/lib" # FIXME: remove and update debug-info.nix + "/sbin" + "/share/emacs" + "/share/hunspell" + "/share/org" + "/share/themes" + "/share/vulkan" + "/share/kservices5" + "/share/kservicetypes5" + "/share/kxmlgui5" + "/share/systemd" + "/share/thumbnailers" + ]; system.path = pkgs.buildEnv { name = "system-path"; @@ -166,17 +179,16 @@ in ignoreCollisions = true; # !!! Hacky, should modularise. # outputs TODO: note that the tools will often not be linked by default - postBuild = - '' - # Remove wrapped binaries, they shouldn't be accessible via PATH. - find $out/bin -maxdepth 1 -name ".*-wrapped" -type l -delete + postBuild = '' + # Remove wrapped binaries, they shouldn't be accessible via PATH. + find $out/bin -maxdepth 1 -name ".*-wrapped" -type l -delete - if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then - $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas - fi + if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then + $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas + fi - ${config.environment.extraSetup} - ''; + ${config.environment.extraSetup} + ''; }; }; diff --git a/nixos/modules/config/terminfo.nix b/nixos/modules/config/terminfo.nix index 53ae04f236ab2..e61f10d4ec215 100644 --- a/nixos/modules/config/terminfo.nix +++ b/nixos/modules/config/terminfo.nix @@ -1,6 +1,11 @@ # This module manages the terminfo database # and its integration in the system. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = with lib; { diff --git a/nixos/modules/config/unix-odbc-drivers.nix b/nixos/modules/config/unix-odbc-drivers.nix index 8bf7f3b28af6d..ea0ab2785e8eb 100644 --- a/nixos/modules/config/unix-odbc-drivers.nix +++ b/nixos/modules/config/unix-odbc-drivers.nix @@ -9,13 +9,14 @@ let Driver = ${pkg}/${pkg.driver} ''; -in { +in +{ ###### interface options = { environment.unixODBCDrivers = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "with pkgs.unixODBCDrivers; [ sqlite psql ]"; description = '' Specifies Unix ODBC drivers to be registered in @@ -28,8 +29,10 @@ in { ###### implementation - config = lib.mkIf (config.environment.unixODBCDrivers != []) { - environment.etc."odbcinst.ini".text = lib.concatMapStringsSep "\n" iniDescription config.environment.unixODBCDrivers; + config = lib.mkIf (config.environment.unixODBCDrivers != [ ]) { + environment.etc."odbcinst.ini".text = + lib.concatMapStringsSep "\n" iniDescription + config.environment.unixODBCDrivers; }; } diff --git a/nixos/modules/config/vte.nix b/nixos/modules/config/vte.nix index a86a148b54f98..f7c639b627a02 100644 --- a/nixos/modules/config/vte.nix +++ b/nixos/modules/config/vte.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let vteInitSnippet = '' diff --git a/nixos/modules/config/xdg/icons.nix b/nixos/modules/config/xdg/icons.nix index 5fc7b3506a1d0..0deb5fbb80aaf 100644 --- a/nixos/modules/config/xdg/icons.nix +++ b/nixos/modules/config/xdg/icons.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = { maintainers = lib.teams.freedesktop.members; @@ -15,7 +20,7 @@ }; xdg.icons.fallbackCursorThemes = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Names of the fallback cursor themes, in order of preference, to be used when no other icon source can be found. Set to `[]` to disable the fallback entirely. @@ -29,20 +34,22 @@ "/share/pixmaps" ]; - environment.systemPackages = [ - # Empty icon theme that contains index.theme file describing directories - # where toolkits should look for icons installed by apps. - pkgs.hicolor-icon-theme - ] ++ lib.optionals (config.xdg.icons.fallbackCursorThemes != []) [ - (pkgs.writeTextFile { - name = "fallback-cursor-theme"; - text = '' - [Icon Theme] - Inherits=${lib.concatStringsSep "," config.xdg.icons.fallbackCursorThemes} - ''; - destination = "/share/icons/default/index.theme"; - }) - ]; + environment.systemPackages = + [ + # Empty icon theme that contains index.theme file describing directories + # where toolkits should look for icons installed by apps. + pkgs.hicolor-icon-theme + ] + ++ lib.optionals (config.xdg.icons.fallbackCursorThemes != [ ]) [ + (pkgs.writeTextFile { + name = "fallback-cursor-theme"; + text = '' + [Icon Theme] + Inherits=${lib.concatStringsSep "," config.xdg.icons.fallbackCursorThemes} + ''; + destination = "/share/icons/default/index.theme"; + }) + ]; # libXcursor looks for cursors in XCURSOR_PATH # it mostly follows the spec for icons diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix index 7e66a32c7db20..617a342c1a70e 100644 --- a/nixos/modules/config/xdg/portal.nix +++ b/nixos/modules/config/xdg/portal.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let inherit (lib) @@ -8,17 +13,22 @@ let mkRenamedOptionModule mkRemovedOptionModule teams - types; + types + ; - associationOptions = with types; attrsOf ( - coercedTo (either (listOf str) str) (x: lib.concatStringsSep ";" (lib.toList x)) str - ); + associationOptions = + with types; + attrsOf (coercedTo (either (listOf str) str) (x: lib.concatStringsSep ";" (lib.toList x)) str); in { imports = [ (mkRenamedOptionModule [ "services" "flatpak" "extraPortals" ] [ "xdg" "portal" "extraPortals" ]) - (mkRemovedOptionModule [ "xdg" "portal" "gtkUsePortal" ] "This option has been removed due to being unsupported and discouraged by the GTK developers.") + (mkRemovedOptionModule [ + "xdg" + "portal" + "gtkUsePortal" + ] "This option has been removed due to being unsupported and discouraged by the GTK developers.") ]; meta = { @@ -27,7 +37,8 @@ in options.xdg.portal = { enable = - mkEnableOption ''[xdg desktop integration](https://github.com/flatpak/xdg-desktop-portal)'' // { + mkEnableOption ''[xdg desktop integration](https://github.com/flatpak/xdg-desktop-portal)'' + // { default = false; }; @@ -60,10 +71,16 @@ in default = { }; example = { x-cinnamon = { - default = [ "xapp" "gtk" ]; + default = [ + "xapp" + "gtk" + ]; }; pantheon = { - default = [ "pantheon" "gtk" ]; + default = [ + "pantheon" + "gtk" + ]; "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; }; common = { @@ -136,11 +153,15 @@ in NIX_XDG_DESKTOP_PORTAL_DIR = "/run/current-system/sw/share/xdg-desktop-portal/portals"; }; - etc = lib.concatMapAttrs - (desktop: conf: lib.optionalAttrs (conf != { }) { - "xdg/xdg-desktop-portal/${lib.optionalString (desktop != "common") "${desktop}-"}portals.conf".text = + etc = lib.concatMapAttrs ( + desktop: conf: + lib.optionalAttrs (conf != { }) { + "xdg/xdg-desktop-portal/${ + lib.optionalString (desktop != "common") "${desktop}-" + }portals.conf".text = lib.generators.toINI { } { preferred = conf; }; - }) cfg.config; + } + ) cfg.config; }; }; } diff --git a/nixos/modules/config/xdg/portals/lxqt.nix b/nixos/modules/config/xdg/portals/lxqt.nix index 846c9b1994371..7549666cb733e 100644 --- a/nixos/modules/config/xdg/portals/lxqt.nix +++ b/nixos/modules/config/xdg/portals/lxqt.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.xdg.portal.lxqt; @@ -19,12 +24,13 @@ in styles = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; - example = lib.literalExpression ''[ - pkgs.libsForQt5.qtstyleplugin-kvantum - pkgs.breeze-qt5 - pkgs.qtcurve - ]; + default = [ ]; + example = lib.literalExpression '' + [ + pkgs.libsForQt5.qtstyleplugin-kvantum + pkgs.breeze-qt5 + pkgs.qtcurve + ]; ''; description = '' Extra Qt styles that will be available to the diff --git a/nixos/modules/config/xdg/portals/wlr.nix b/nixos/modules/config/xdg/portals/wlr.nix index ed09a31a86d76..1dd1cf6c76886 100644 --- a/nixos/modules/config/xdg/portals/wlr.nix +++ b/nixos/modules/config/xdg/portals/wlr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.xdg.portal.wlr; package = pkgs.xdg-desktop-portal-wlr; diff --git a/nixos/modules/config/xdg/sounds.nix b/nixos/modules/config/xdg/sounds.nix index e19e23d72a476..8b5bb67e4109f 100644 --- a/nixos/modules/config/xdg/sounds.nix +++ b/nixos/modules/config/xdg/sounds.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = { maintainers = lib.teams.freedesktop.members; diff --git a/nixos/modules/config/xdg/terminal-exec.nix b/nixos/modules/config/xdg/terminal-exec.nix index daf2055d2e906..0c8381bc2cde9 100644 --- a/nixos/modules/config/xdg/terminal-exec.nix +++ b/nixos/modules/config/xdg/terminal-exec.nix @@ -7,7 +7,13 @@ let cfg = config.xdg.terminal-exec; - inherit (lib) mkIf mkEnableOption mkOption mkPackageOption types; + inherit (lib) + mkIf + mkEnableOption + mkOption + mkPackageOption + types + ; in { meta.maintainers = with lib.maintainers; [ Cryolitia ]; @@ -30,7 +36,10 @@ in ''; example = { default = [ "kitty.desktop" ]; - GNOME = [ "com.raggesilver.BlackBox.desktop" "org.gnome.Terminal.desktop" ]; + GNOME = [ + "com.raggesilver.BlackBox.desktop" + "org.gnome.Terminal.desktop" + ]; }; }; }; diff --git a/nixos/modules/hardware/acpilight.nix b/nixos/modules/hardware/acpilight.nix index 211d18ceb11a8..1b0f73d33a5a5 100644 --- a/nixos/modules/hardware/acpilight.nix +++ b/nixos/modules/hardware/acpilight.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.acpilight; in diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index 6475cfc843d2a..0b946052b9d3f 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -1,14 +1,35 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "hardware" "enableRedistributableFirmware" ]) - (lib.mkRenamedOptionModule [ "networking" "enableIntel3945ABGFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) - (lib.mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) - (lib.mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) - (lib.mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) + (lib.mkRenamedOptionModule + [ "networking" "enableRT73Firmware" ] + [ "hardware" "enableRedistributableFirmware" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "enableIntel3945ABGFirmware" ] + [ "hardware" "enableRedistributableFirmware" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "enableIntel2100BGFirmware" ] + [ "hardware" "enableRedistributableFirmware" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "enableRalinkFirmware" ] + [ "hardware" "enableRedistributableFirmware" ] + ) + (lib.mkRenamedOptionModule + [ "networking" "enableRTL8192cFirmware" ] + [ "hardware" "enableRedistributableFirmware" ] + ) ]; ###### interface @@ -17,53 +38,64 @@ in { hardware.enableAllFirmware = lib.mkEnableOption "all firmware regardless of license"; - hardware.enableRedistributableFirmware = lib.mkEnableOption "firmware with a license allowing redistribution" // { - default = config.hardware.enableAllFirmware; - defaultText = lib.literalExpression "config.hardware.enableAllFirmware"; - }; + hardware.enableRedistributableFirmware = + lib.mkEnableOption "firmware with a license allowing redistribution" + // { + default = config.hardware.enableAllFirmware; + defaultText = lib.literalExpression "config.hardware.enableAllFirmware"; + }; - hardware.wirelessRegulatoryDatabase = lib.mkEnableOption "loading the wireless regulatory database at boot" // { - default = cfg.enableRedistributableFirmware || cfg.enableAllFirmware; - defaultText = lib.literalMD "Enabled if proprietary firmware is allowed via {option}`enableRedistributableFirmware` or {option}`enableAllFirmware`."; - }; + hardware.wirelessRegulatoryDatabase = + lib.mkEnableOption "loading the wireless regulatory database at boot" + // { + default = cfg.enableRedistributableFirmware || cfg.enableAllFirmware; + defaultText = lib.literalMD "Enabled if proprietary firmware is allowed via {option}`enableRedistributableFirmware` or {option}`enableAllFirmware`."; + }; }; - ###### implementation config = lib.mkMerge [ (lib.mkIf (cfg.enableAllFirmware || cfg.enableRedistributableFirmware) { - hardware.firmware = with pkgs; [ - linux-firmware - intel2200BGFirmware - rtl8192su-firmware - rt5677-firmware - rtl8761b-firmware - zd1211fw - alsa-firmware - sof-firmware - libreelec-dvb-firmware - ] ++ lib.optional pkgs.stdenv.hostPlatform.isAarch raspberrypiWirelessFirmware; + hardware.firmware = + with pkgs; + [ + linux-firmware + intel2200BGFirmware + rtl8192su-firmware + rt5677-firmware + rtl8761b-firmware + zd1211fw + alsa-firmware + sof-firmware + libreelec-dvb-firmware + ] + ++ lib.optional pkgs.stdenv.hostPlatform.isAarch raspberrypiWirelessFirmware; }) (lib.mkIf cfg.enableAllFirmware { - assertions = [{ - assertion = !cfg.enableAllFirmware || pkgs.config.allowUnfree; - message = '' - the list of hardware.enableAllFirmware contains non-redistributable licensed firmware files. - This requires nixpkgs.config.allowUnfree to be true. - An alternative is to use the hardware.enableRedistributableFirmware option. - ''; - }]; - hardware.firmware = with pkgs; [ - broadcom-bt-firmware - b43Firmware_5_1_138 - b43Firmware_6_30_163_46 - xow_dongle-firmware - ] ++ lib.optionals pkgs.stdenv.hostPlatform.isx86 [ - facetimehd-calibration - facetimehd-firmware + assertions = [ + { + assertion = !cfg.enableAllFirmware || pkgs.config.allowUnfree; + message = '' + the list of hardware.enableAllFirmware contains non-redistributable licensed firmware files. + This requires nixpkgs.config.allowUnfree to be true. + An alternative is to use the hardware.enableRedistributableFirmware option. + ''; + } ]; + hardware.firmware = + with pkgs; + [ + broadcom-bt-firmware + b43Firmware_5_1_138 + b43Firmware_6_30_163_46 + xow_dongle-firmware + ] + ++ lib.optionals pkgs.stdenv.hostPlatform.isx86 [ + facetimehd-calibration + facetimehd-firmware + ]; }) (lib.mkIf cfg.wirelessRegulatoryDatabase { hardware.firmware = [ pkgs.wireless-regdb ]; diff --git a/nixos/modules/hardware/bladeRF.nix b/nixos/modules/hardware/bladeRF.nix index 877acbbf598c1..15bd99bc0cdbb 100644 --- a/nixos/modules/hardware/bladeRF.nix +++ b/nixos/modules/hardware/bladeRF.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.bladeRF; @@ -20,6 +25,6 @@ in config = lib.mkIf cfg.enable { services.udev.packages = [ pkgs.libbladeRF ]; - users.groups.bladerf = {}; + users.groups.bladerf = { }; }; } diff --git a/nixos/modules/hardware/brillo.nix b/nixos/modules/hardware/brillo.nix index 915801c137be9..afc31981a3648 100644 --- a/nixos/modules/hardware/brillo.nix +++ b/nixos/modules/hardware/brillo.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.brillo; in diff --git a/nixos/modules/hardware/ckb-next.nix b/nixos/modules/hardware/ckb-next.nix index 5de5666d20c96..c65055d8369e6 100644 --- a/nixos/modules/hardware/ckb-next.nix +++ b/nixos/modules/hardware/ckb-next.nix @@ -1,43 +1,50 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.ckb-next; in - { - imports = [ - (lib.mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ]) - (lib.mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ]) - ]; +{ + imports = [ + (lib.mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ]) + (lib.mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ]) + ]; - options.hardware.ckb-next = { - enable = lib.mkEnableOption "the Corsair keyboard/mouse driver"; + options.hardware.ckb-next = { + enable = lib.mkEnableOption "the Corsair keyboard/mouse driver"; - gid = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - example = 100; - description = '' - Limit access to the ckb daemon to a particular group. - ''; - }; - - package = lib.mkPackageOption pkgs "ckb-next" { }; + gid = lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + example = 100; + description = '' + Limit access to the ckb daemon to a particular group. + ''; }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; + package = lib.mkPackageOption pkgs "ckb-next" { }; + }; - systemd.services.ckb-next = { - description = "Corsair Keyboards and Mice Daemon"; - wantedBy = ["multi-user.target"]; - serviceConfig = { - ExecStart = "${cfg.package}/bin/ckb-next-daemon ${lib.optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}"}"; - Restart = "on-failure"; - }; + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + systemd.services.ckb-next = { + description = "Corsair Keyboards and Mice Daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/ckb-next-daemon ${ + lib.optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}" + }"; + Restart = "on-failure"; }; }; + }; - meta = { - maintainers = [ ]; - }; - } + meta = { + maintainers = [ ]; + }; +} diff --git a/nixos/modules/hardware/cpu/amd-microcode.nix b/nixos/modules/hardware/cpu/amd-microcode.nix index 25ce70a5811dd..1b95373b0b44b 100644 --- a/nixos/modules/hardware/cpu/amd-microcode.nix +++ b/nixos/modules/hardware/cpu/amd-microcode.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface options = { diff --git a/nixos/modules/hardware/cpu/amd-ryzen-smu.nix b/nixos/modules/hardware/cpu/amd-ryzen-smu.nix index b1a5895aaa24a..c87805b18a750 100644 --- a/nixos/modules/hardware/cpu/amd-ryzen-smu.nix +++ b/nixos/modules/hardware/cpu/amd-ryzen-smu.nix @@ -1,6 +1,7 @@ -{ config -, lib -, ... +{ + config, + lib, + ... }: let inherit (lib) mkEnableOption mkIf; @@ -10,10 +11,10 @@ in { options.hardware.cpu.amd.ryzen-smu = { enable = mkEnableOption '' - ryzen_smu, a linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors. + ryzen_smu, a linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors. - WARNING: Damage cause by use of your AMD processor outside of official AMD specifications or outside of factory settings are not covered under any AMD product warranty and may not be covered by your board or system manufacturer's warranty - ''; + WARNING: Damage cause by use of your AMD processor outside of official AMD specifications or outside of factory settings are not covered under any AMD product warranty and may not be covered by your board or system manufacturer's warranty + ''; }; config = mkIf cfg.enable { @@ -22,5 +23,8 @@ in environment.systemPackages = [ ryzen-smu ]; }; - meta.maintainers = with lib.maintainers; [ Cryolitia phdyellow ]; + meta.maintainers = with lib.maintainers; [ + Cryolitia + phdyellow + ]; } diff --git a/nixos/modules/hardware/cpu/amd-sev.nix b/nixos/modules/hardware/cpu/amd-sev.nix index 8dae958bf344a..4bf43f70c70c1 100644 --- a/nixos/modules/hardware/cpu/amd-sev.nix +++ b/nixos/modules/hardware/cpu/amd-sev.nix @@ -1,4 +1,9 @@ -{ config, options, lib, ... }: +{ + config, + options, + lib, + ... +}: let cfgSev = config.hardware.cpu.amd.sev; cfgSevGuest = config.hardware.cpu.amd.sevGuest; @@ -22,7 +27,8 @@ let }; }; in -with lib; { +with lib; +{ options.hardware.cpu.amd.sev = optionsFor "SEV" "sev"; options.hardware.cpu.amd.sevGuest = optionsFor "SEV guest" "sev-guest"; @@ -36,7 +42,9 @@ with lib; { message = "Given user does not exist"; } { - assertion = (cfgSev.group == options.hardware.cpu.amd.sev.group.default) || (lib.hasAttr cfgSev.group config.users.groups); + assertion = + (cfgSev.group == options.hardware.cpu.amd.sev.group.default) + || (lib.hasAttr cfgSev.group config.users.groups); message = "Given group does not exist"; } ]; @@ -62,14 +70,18 @@ with lib; { message = "Given user does not exist"; } { - assertion = (cfgSevGuest.group == options.hardware.cpu.amd.sevGuest.group.default) || (lib.hasAttr cfgSevGuest.group config.users.groups); + assertion = + (cfgSevGuest.group == options.hardware.cpu.amd.sevGuest.group.default) + || (lib.hasAttr cfgSevGuest.group config.users.groups); message = "Given group does not exist"; } ]; - users.groups = lib.optionalAttrs (cfgSevGuest.group == options.hardware.cpu.amd.sevGuest.group.default) { - "${cfgSevGuest.group}" = { }; - }; + users.groups = + lib.optionalAttrs (cfgSevGuest.group == options.hardware.cpu.amd.sevGuest.group.default) + { + "${cfgSevGuest.group}" = { }; + }; services.udev.extraRules = with cfgSevGuest; '' KERNEL=="sev-guest", OWNER="${user}", GROUP="${group}", MODE="${mode}" diff --git a/nixos/modules/hardware/cpu/intel-microcode.nix b/nixos/modules/hardware/cpu/intel-microcode.nix index e708d447910e9..02eeed7695b82 100644 --- a/nixos/modules/hardware/cpu/intel-microcode.nix +++ b/nixos/modules/hardware/cpu/intel-microcode.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface options = { diff --git a/nixos/modules/hardware/cpu/intel-sgx.nix b/nixos/modules/hardware/cpu/intel-sgx.nix index 79d0bc1599eee..60f0bc8d8a569 100644 --- a/nixos/modules/hardware/cpu/intel-sgx.nix +++ b/nixos/modules/hardware/cpu/intel-sgx.nix @@ -45,7 +45,8 @@ in message = "Given user does not exist"; } { - assertion = (cfg.provision.group == defaultPrvGroup) || (lib.hasAttr cfg.provision.group config.users.groups); + assertion = + (cfg.provision.group == defaultPrvGroup) || (lib.hasAttr cfg.provision.group config.users.groups); message = "Given group does not exist"; } ]; diff --git a/nixos/modules/hardware/cpu/x86-msr.nix b/nixos/modules/hardware/cpu/x86-msr.nix index 95e1be23cd956..56f6e23812abc 100644 --- a/nixos/modules/hardware/cpu/x86-msr.nix +++ b/nixos/modules/hardware/cpu/x86-msr.nix @@ -1,7 +1,8 @@ -{ lib -, config -, options -, ... +{ + lib, + config, + options, + ... }: let inherit (builtins) hasAttr; @@ -15,51 +16,70 @@ let # Generates `foo=bar` parameters to pass to the kernel. # If `module = baz` is passed, generates `baz.foo=bar`. # Adds double quotes on demand to handle `foo="bar baz"`. - kernelParam = { module ? null }: name: value: - assert lib.asserts.assertMsg (!lib.strings.hasInfix "=" name) "kernel parameter cannot have '=' in name"; + kernelParam = + { + module ? null, + }: + name: value: + assert lib.asserts.assertMsg ( + !lib.strings.hasInfix "=" name + ) "kernel parameter cannot have '=' in name"; let key = (if module == null then "" else module + ".") + name; - valueString = lib.generators.mkValueStringDefault {} value; - quotedValueString = if lib.strings.hasInfix " " valueString - then lib.strings.escape ["\""] valueString - else valueString; - in "${key}=${quotedValueString}"; + valueString = lib.generators.mkValueStringDefault { } value; + quotedValueString = + if lib.strings.hasInfix " " valueString then + lib.strings.escape [ "\"" ] valueString + else + valueString; + in + "${key}=${quotedValueString}"; msrKernelParam = kernelParam { module = "msr"; }; in { - options.hardware.cpu.x86.msr = with lib.options; with lib.types; { - enable = mkEnableOption "the `msr` (Model-Specific Registers) kernel module and configure `udev` rules for its devices (usually `/dev/cpu/*/msr`)"; - owner = mkOption { - type = str; - default = "root"; - example = "nobody"; - description = "Owner ${set}"; - }; - group = mkOption { - type = str; - default = defaultGroup; - example = "nobody"; - description = "Group ${set}"; - }; - mode = mkOption { - type = str; - default = "0640"; - example = "0660"; - description = "Mode ${set}"; - }; - settings = mkOption { - type = submodule { - freeformType = attrsOf (oneOf [ bool int str ]); - options.allow-writes = mkOption { - type = nullOr (enum ["on" "off"]); - default = null; - description = "Whether to allow writes to MSRs (`\"on\"`) or not (`\"off\"`)."; + options.hardware.cpu.x86.msr = + with lib.options; + with lib.types; + { + enable = mkEnableOption "the `msr` (Model-Specific Registers) kernel module and configure `udev` rules for its devices (usually `/dev/cpu/*/msr`)"; + owner = mkOption { + type = str; + default = "root"; + example = "nobody"; + description = "Owner ${set}"; + }; + group = mkOption { + type = str; + default = defaultGroup; + example = "nobody"; + description = "Group ${set}"; + }; + mode = mkOption { + type = str; + default = "0640"; + example = "0660"; + description = "Mode ${set}"; + }; + settings = mkOption { + type = submodule { + freeformType = attrsOf (oneOf [ + bool + int + str + ]); + options.allow-writes = mkOption { + type = nullOr (enum [ + "on" + "off" + ]); + default = null; + description = "Whether to allow writes to MSRs (`\"on\"`) or not (`\"off\"`)."; + }; }; + default = { }; + description = "Parameters for the `msr` kernel module."; }; - default = {}; - description = "Parameters for the `msr` kernel module."; }; - }; config = mkIf cfg.enable { assertions = [ @@ -75,7 +95,9 @@ in boot = { kernelModules = [ "msr" ]; - kernelParams = lib.attrsets.mapAttrsToList msrKernelParam (lib.attrsets.filterAttrs (_: value: value != null) cfg.settings); + kernelParams = lib.attrsets.mapAttrsToList msrKernelParam ( + lib.attrsets.filterAttrs (_: value: value != null) cfg.settings + ); }; users.groups.${cfg.group} = mkIf isDefaultGroup { }; diff --git a/nixos/modules/hardware/decklink.nix b/nixos/modules/hardware/decklink.nix index ca0ed389f8cc4..a0e05072c6468 100644 --- a/nixos/modules/hardware/decklink.nix +++ b/nixos/modules/hardware/decklink.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.decklink; @@ -10,7 +15,10 @@ in config = lib.mkIf cfg.enable { # snd_blackmagic-io can cause issues with pipewire, # so we do not enable it by default - boot.kernelModules = [ "blackmagic" "blackmagic-io" ]; + boot.kernelModules = [ + "blackmagic" + "blackmagic-io" + ]; boot.extraModulePackages = [ kernelPackages.decklink ]; systemd.packages = [ pkgs.blackmagic-desktop-video ]; systemd.services.DesktopVideoHelper.wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/hardware/digitalbitbox.nix b/nixos/modules/hardware/digitalbitbox.nix index c5c8204e321ab..e34dcbe9fe2de 100644 --- a/nixos/modules/hardware/digitalbitbox.nix +++ b/nixos/modules/hardware/digitalbitbox.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.digitalbitbox; in diff --git a/nixos/modules/hardware/flipperzero.nix b/nixos/modules/hardware/flipperzero.nix index bda2e2c8e0a56..85cf9e10f0dd3 100644 --- a/nixos/modules/hardware/flipperzero.nix +++ b/nixos/modules/hardware/flipperzero.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.flipperzero; diff --git a/nixos/modules/hardware/flirc.nix b/nixos/modules/hardware/flirc.nix index 94ec715b9fa51..a31791743eaa2 100644 --- a/nixos/modules/hardware/flirc.nix +++ b/nixos/modules/hardware/flirc.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.flirc; in diff --git a/nixos/modules/hardware/glasgow.nix b/nixos/modules/hardware/glasgow.nix index e63aa8bdb4bd7..9f67937c5f86a 100644 --- a/nixos/modules/hardware/glasgow.nix +++ b/nixos/modules/hardware/glasgow.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.glasgow; diff --git a/nixos/modules/hardware/gpgsmartcards.nix b/nixos/modules/hardware/gpgsmartcards.nix index 3940efd09e221..6b15cc50068e8 100644 --- a/nixos/modules/hardware/gpgsmartcards.nix +++ b/nixos/modules/hardware/gpgsmartcards.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let # gnupg's manual describes how to setup ccid udev rules: # https://www.gnupg.org/howtos/card-howto/en/ch02s03.html @@ -17,14 +22,15 @@ let # per debian's udev deb hook (https://man7.org/linux/man-pages/man1/dh_installudev.1.html) destination = "60-scdaemon.rules"; - scdaemonUdevRulesPkg = pkgs.runCommand "scdaemon-udev-rules" {} '' + scdaemonUdevRulesPkg = pkgs.runCommand "scdaemon-udev-rules" { } '' loc="$out/lib/udev/rules.d/" mkdir -p "''${loc}" cp "${scdaemonRules}" "''${loc}/${destination}" ''; cfg = config.hardware.gpgSmartcards; -in { +in +{ options.hardware.gpgSmartcards = { enable = lib.mkEnableOption "udev rules for gnupg smart cards"; }; diff --git a/nixos/modules/hardware/hackrf.nix b/nixos/modules/hardware/hackrf.nix index 467fd71ff1b06..ceb560ebea23f 100644 --- a/nixos/modules/hardware/hackrf.nix +++ b/nixos/modules/hardware/hackrf.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.hackrf; diff --git a/nixos/modules/hardware/i2c.nix b/nixos/modules/hardware/i2c.nix index 4dd7a8ccc5310..badb5fbee4b08 100644 --- a/nixos/modules/hardware/i2c.nix +++ b/nixos/modules/hardware/i2c.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.i2c; in @@ -28,14 +33,16 @@ in i2c = { }; }; - services.udev.packages = lib.singleton (pkgs.writeTextFile - { name = "i2c-udev-rules"; + services.udev.packages = lib.singleton ( + pkgs.writeTextFile { + name = "i2c-udev-rules"; text = '' # allow group ${cfg.group} and users with a seat use of i2c devices ACTION=="add", KERNEL=="i2c-[0-9]*", TAG+="uaccess", GROUP="${cfg.group}", MODE="660" ''; destination = "/etc/udev/rules.d/70-i2c.rules"; - }); + } + ); }; diff --git a/nixos/modules/hardware/infiniband.nix b/nixos/modules/hardware/infiniband.nix index b09453116cf97..311b91c5c5b2d 100644 --- a/nixos/modules/hardware/infiniband.nix +++ b/nixos/modules/hardware/infiniband.nix @@ -1,28 +1,37 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.infiniband; - opensm-services = { - "opensm@" = { - enable = true; - description = "Starts OpenSM Infiniband fabric Subnet Managers"; - before = [ "network.target"]; - unitConfig = { - ConditionPathExists = "/sys/class/infiniband_mad/abi_version"; - }; - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.opensm}/bin/opensm --guid %I --log_file /var/log/opensm.%I.log"; + opensm-services = + { + "opensm@" = { + enable = true; + description = "Starts OpenSM Infiniband fabric Subnet Managers"; + before = [ "network.target" ]; + unitConfig = { + ConditionPathExists = "/sys/class/infiniband_mad/abi_version"; + }; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.opensm}/bin/opensm --guid %I --log_file /var/log/opensm.%I.log"; + }; }; - }; - } // (builtins.listToAttrs (map (guid: { - name = "opensm@${guid}"; - value = { - enable = true; - wantedBy = [ "machines.target" ]; - overrideStrategy = "asDropin"; - }; - } ) cfg.guids)); + } + // (builtins.listToAttrs ( + map (guid: { + name = "opensm@${guid}"; + value = { + enable = true; + wantedBy = [ "machines.target" ]; + overrideStrategy = "asDropin"; + }; + }) cfg.guids + )); in @@ -31,7 +40,7 @@ in enable = lib.mkEnableOption "Infiniband support"; guids = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; example = [ "0xe8ebd30000eee2e1" ]; description = '' A list of infiniband port guids on the system. This is discoverable using `ibstat -p` @@ -41,14 +50,23 @@ in config = lib.mkIf cfg.enable { boot.initrd.kernelModules = [ - "mlx5_core" "mlx5_ib" "ib_cm" - "rdma_cm" "rdma_ucm" "rpcrdma" - "ib_ipoib" "ib_isert" "ib_umad" "ib_uverbs" + "mlx5_core" + "mlx5_ib" + "ib_cm" + "rdma_cm" + "rdma_ucm" + "rpcrdma" + "ib_ipoib" + "ib_isert" + "ib_umad" + "ib_uverbs" ]; # rdma-core exposes ibstat, mstflint exposes mstconfig (which can be needed for # setting link configurations), qperf needed to affirm link speeds environment.systemPackages = with pkgs; [ - rdma-core mstflint qperf + rdma-core + mstflint + qperf ]; systemd.services = opensm-services; }; diff --git a/nixos/modules/hardware/keyboard/qmk.nix b/nixos/modules/hardware/keyboard/qmk.nix index b3e752ad66c5d..6690deca35062 100644 --- a/nixos/modules/hardware/keyboard/qmk.nix +++ b/nixos/modules/hardware/keyboard/qmk.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.keyboard.qmk; @@ -12,6 +17,6 @@ in config = mkIf cfg.enable { services.udev.packages = [ pkgs.qmk-udev-rules ]; - users.groups.plugdev = {}; + users.groups.plugdev = { }; }; } diff --git a/nixos/modules/hardware/keyboard/teck.nix b/nixos/modules/hardware/keyboard/teck.nix index 8cb736dedac45..ed1c8abd00777 100644 --- a/nixos/modules/hardware/keyboard/teck.nix +++ b/nixos/modules/hardware/keyboard/teck.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.keyboard.teck; diff --git a/nixos/modules/hardware/keyboard/uhk.nix b/nixos/modules/hardware/keyboard/uhk.nix index a5bd35c2a5502..4332cefe3f9e7 100644 --- a/nixos/modules/hardware/keyboard/uhk.nix +++ b/nixos/modules/hardware/keyboard/uhk.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.keyboard.uhk; diff --git a/nixos/modules/hardware/keyboard/zsa.nix b/nixos/modules/hardware/keyboard/zsa.nix index 42fac3b45bb93..607d1a5dfec0c 100644 --- a/nixos/modules/hardware/keyboard/zsa.nix +++ b/nixos/modules/hardware/keyboard/zsa.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.keyboard.zsa; diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix index 41d61e04697cb..26b6e6049b97f 100644 --- a/nixos/modules/hardware/ksm.nix +++ b/nixos/modules/hardware/ksm.nix @@ -2,7 +2,8 @@ let cfg = config.hardware.ksm; -in { +in +{ imports = [ (lib.mkRenamedOptionModule [ "hardware" "enableKSM" ] [ "hardware" "ksm" "enable" ]) ]; @@ -26,8 +27,8 @@ in { script = '' echo 1 > /sys/kernel/mm/ksm/run - '' + lib.optionalString (cfg.sleep != null) '' + + lib.optionalString (cfg.sleep != null) '' echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs ''; }; diff --git a/nixos/modules/hardware/ledger.nix b/nixos/modules/hardware/ledger.nix index 8510c97c5e389..738a367717c5a 100644 --- a/nixos/modules/hardware/ledger.nix +++ b/nixos/modules/hardware/ledger.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.ledger; -in { +in +{ options.hardware.ledger.enable = lib.mkEnableOption "udev rules for Ledger devices"; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/hardware/logitech.nix b/nixos/modules/hardware/logitech.nix index aeb97a2f9d944..d52236e56f827 100644 --- a/nixos/modules/hardware/logitech.nix +++ b/nixos/modules/hardware/logitech.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.logitech; @@ -9,8 +14,14 @@ let in { imports = [ - (lib.mkRenamedOptionModule [ "hardware" "logitech" "enable" ] [ "hardware" "logitech" "wireless" "enable" ]) - (lib.mkRenamedOptionModule [ "hardware" "logitech" "enableGraphical" ] [ "hardware" "logitech" "wireless" "enableGraphical" ]) + (lib.mkRenamedOptionModule + [ "hardware" "logitech" "enable" ] + [ "hardware" "logitech" "wireless" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "hardware" "logitech" "enableGraphical" ] + [ "hardware" "logitech" "wireless" "enableGraphical" ] + ) ]; options.hardware.logitech = { @@ -28,7 +39,13 @@ in devices = lib.mkOption { type = lib.types.listOf lib.types.str; - default = [ "0a07" "c222" "c225" "c227" "c251" ]; + default = [ + "0a07" + "c222" + "c225" + "c227" + "c251" + ]; description = '' List of USB device ids supported by g15daemon. @@ -49,7 +66,8 @@ in }; config = lib.mkIf (cfg.wireless.enable || cfg.lcd.enable) { - environment.systemPackages = [] + environment.systemPackages = + [ ] ++ lib.optional cfg.wireless.enable pkgs.ltunify ++ lib.optional cfg.wireless.enableGraphical pkgs.solaar; @@ -57,22 +75,25 @@ in # ltunifi and solaar both provide udev rules but the most up-to-date have been split # out into a dedicated derivation - packages = [] - ++ lib.optional cfg.wireless.enable pkgs.logitech-udev-rules - ++ lib.optional cfg.lcd.enable pkgs.g15daemon; - - extraRules = '' - # nixos: hardware.logitech.lcd - '' + lib.concatMapStringsSep "\n" ( - dev: + packages = + [ ] + ++ lib.optional cfg.wireless.enable pkgs.logitech-udev-rules + ++ lib.optional cfg.lcd.enable pkgs.g15daemon; + + extraRules = + '' + # nixos: hardware.logitech.lcd + '' + + lib.concatMapStringsSep "\n" ( + dev: ''ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="${vendor}", ATTRS{idProduct}=="${dev}", TAG+="systemd", ENV{SYSTEMD_WANTS}+="${daemon}.service"'' - ) cfg.lcd.devices; + ) cfg.lcd.devices; }; systemd.services."${daemon}" = lib.mkIf cfg.lcd.enable { description = "Logitech LCD Support Daemon"; documentation = [ "man:g15daemon(1)" ]; - wantedBy = lib.mkIf (! cfg.lcd.startWhenNeeded) "multi-user.target"; + wantedBy = lib.mkIf (!cfg.lcd.startWhenNeeded) "multi-user.target"; serviceConfig = { Type = "forking"; diff --git a/nixos/modules/hardware/mcelog.nix b/nixos/modules/hardware/mcelog.nix index 38629c4ba9452..65d9ad3835f7a 100644 --- a/nixos/modules/hardware/mcelog.nix +++ b/nixos/modules/hardware/mcelog.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta.maintainers = with lib.maintainers; [ grahamc ]; options = { diff --git a/nixos/modules/hardware/network/ath-user-regd.nix b/nixos/modules/hardware/network/ath-user-regd.nix index 4cd3fb69604bd..af484fabb05d6 100644 --- a/nixos/modules/hardware/network/ath-user-regd.nix +++ b/nixos/modules/hardware/network/ath-user-regd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let kernelVersion = config.boot.kernelPackages.kernel.version; linuxKernelMinVersion = "5.8"; diff --git a/nixos/modules/hardware/network/b43.nix b/nixos/modules/hardware/network/b43.nix index fc4020c09a5da..4ced90c29772a 100644 --- a/nixos/modules/hardware/network/b43.nix +++ b/nixos/modules/hardware/network/b43.nix @@ -1,5 +1,12 @@ -{ config, lib, pkgs, ... }: -let kernelVersion = config.boot.kernelPackages.kernel.version; in +{ + config, + lib, + pkgs, + ... +}: +let + kernelVersion = config.boot.kernelPackages.kernel.version; +in { @@ -17,7 +24,6 @@ let kernelVersion = config.boot.kernelPackages.kernel.version; in }; - ###### implementation config = lib.mkIf config.networking.enableB43Firmware { diff --git a/nixos/modules/hardware/network/intel-2200bg.nix b/nixos/modules/hardware/network/intel-2200bg.nix index 17b973474c93b..7a46469033f34 100644 --- a/nixos/modules/hardware/network/intel-2200bg.nix +++ b/nixos/modules/hardware/network/intel-2200bg.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { @@ -18,7 +23,6 @@ }; - ###### implementation config = lib.mkIf config.networking.enableIntel2200BGFirmware { diff --git a/nixos/modules/hardware/network/smc-2632w/default.nix b/nixos/modules/hardware/network/smc-2632w/default.nix index b00286464f348..e26b02fd1ef6e 100644 --- a/nixos/modules/hardware/network/smc-2632w/default.nix +++ b/nixos/modules/hardware/network/smc-2632w/default.nix @@ -1,4 +1,4 @@ -{lib, ...}: +{ lib, ... }: { hardware = { diff --git a/nixos/modules/hardware/network/zydas-zd1211.nix b/nixos/modules/hardware/network/zydas-zd1211.nix index 5dd7f30ed82b1..3c43ccd331170 100644 --- a/nixos/modules/hardware/network/zydas-zd1211.nix +++ b/nixos/modules/hardware/network/zydas-zd1211.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: +{ pkgs, ... }: { hardware.firmware = [ pkgs.zd1211fw ]; diff --git a/nixos/modules/hardware/new-lg4ff.nix b/nixos/modules/hardware/new-lg4ff.nix index ac5d3e77df0b1..acb02d02f3d35 100644 --- a/nixos/modules/hardware/new-lg4ff.nix +++ b/nixos/modules/hardware/new-lg4ff.nix @@ -1,8 +1,14 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.hardware.new-lg4ff; kernelPackages = config.boot.kernelPackages; -in { +in +{ options.hardware.new-lg4ff = { enable = lib.mkOption { type = lib.types.bool; diff --git a/nixos/modules/hardware/nitrokey.nix b/nixos/modules/hardware/nitrokey.nix index 6a11ba0891d7b..9207bd2c41862 100644 --- a/nixos/modules/hardware/nitrokey.nix +++ b/nixos/modules/hardware/nitrokey.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.nitrokey; diff --git a/nixos/modules/hardware/onlykey/default.nix b/nixos/modules/hardware/onlykey/default.nix index 9bf167ba5341c..686d3d270a251 100644 --- a/nixos/modules/hardware/onlykey/default.nix +++ b/nixos/modules/hardware/onlykey/default.nix @@ -26,5 +26,4 @@ services.udev.extraRules = builtins.readFile ./onlykey.udev; }; - } diff --git a/nixos/modules/hardware/openrazer.nix b/nixos/modules/hardware/openrazer.nix index c4a60c619f178..470d451439d4b 100644 --- a/nixos/modules/hardware/openrazer.nix +++ b/nixos/modules/hardware/openrazer.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.hardware.openrazer; kernelPackages = config.boot.kernelPackages; @@ -81,7 +86,7 @@ in description = '' Settings for device battery notifications. ''; - default = {}; + default = { }; type = lib.types.submodule { options = { enable = lib.mkOption { @@ -123,7 +128,7 @@ in users = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Usernames to be added to the "openrazer" group, so that they can start and interact with the OpenRazer userspace daemon. @@ -133,7 +138,10 @@ in }; imports = [ - (lib.mkRenamedOptionModule [ "hardware" "openrazer" "mouseBatteryNotifier" ] [ "hardware" "openrazer" "batteryNotifier" "enable" ]) + (lib.mkRenamedOptionModule + [ "hardware" "openrazer" "mouseBatteryNotifier" ] + [ "hardware" "openrazer" "batteryNotifier" "enable" ] + ) ]; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/hardware/opentabletdriver.nix b/nixos/modules/hardware/opentabletdriver.nix index 993d51d879868..d74e9b8e4dce6 100644 --- a/nixos/modules/hardware/opentabletdriver.nix +++ b/nixos/modules/hardware/opentabletdriver.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.opentabletdriver; in @@ -18,7 +23,10 @@ in blacklistedKernelModules = lib.mkOption { type = lib.types.listOf lib.types.str; - default = [ "hid-uclogic" "wacom" ]; + default = [ + "hid-uclogic" + "wacom" + ]; description = '' Blacklist of kernel modules known to conflict with OpenTabletDriver. ''; @@ -45,16 +53,18 @@ in boot.blacklistedKernelModules = cfg.blacklistedKernelModules; - systemd.user.services.opentabletdriver = with pkgs; lib.mkIf cfg.daemon.enable { - description = "Open source, cross-platform, user-mode tablet driver"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; + systemd.user.services.opentabletdriver = + with pkgs; + lib.mkIf cfg.daemon.enable { + description = "Open source, cross-platform, user-mode tablet driver"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${cfg.package}/bin/otd-daemon"; - Restart = "on-failure"; + serviceConfig = { + Type = "simple"; + ExecStart = "${cfg.package}/bin/otd-daemon"; + Restart = "on-failure"; + }; }; - }; }; } diff --git a/nixos/modules/hardware/pcmcia.nix b/nixos/modules/hardware/pcmcia.nix index 557925018d687..45022f6c124bb 100644 --- a/nixos/modules/hardware/pcmcia.nix +++ b/nixos/modules/hardware/pcmcia.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let pcmciaUtils = pkgs.pcmciaUtils.passthru.function { inherit (config.hardware.pcmcia) firmware config; @@ -20,7 +25,7 @@ in firmware = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' List of firmware used to handle specific PCMCIA card. ''; diff --git a/nixos/modules/hardware/printers.nix b/nixos/modules/hardware/printers.nix index a40822df11f5c..6dc8ceec45dba 100644 --- a/nixos/modules/hardware/printers.nix +++ b/nixos/modules/hardware/printers.nix @@ -1,22 +1,35 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.printers; - ensurePrinter = p: let - args = lib.cli.toGNUCommandLineShell {} ({ - p = p.name; - v = p.deviceUri; - m = p.model; - } // lib.optionalAttrs (p.location != null) { - L = p.location; - } // lib.optionalAttrs (p.description != null) { - D = p.description; - } // lib.optionalAttrs (p.ppdOptions != {}) { - o = lib.mapAttrsToList (name: value: "${name}=${value}") p.ppdOptions; - }); - in '' - ${pkgs.cups}/bin/lpadmin ${args} -E - ''; + ensurePrinter = + p: + let + args = lib.cli.toGNUCommandLineShell { } ( + { + p = p.name; + v = p.deviceUri; + m = p.model; + } + // lib.optionalAttrs (p.location != null) { + L = p.location; + } + // lib.optionalAttrs (p.description != null) { + D = p.description; + } + // lib.optionalAttrs (p.ppdOptions != { }) { + o = lib.mapAttrsToList (name: value: "${name}=${value}") p.ppdOptions; + } + ); + in + '' + ${pkgs.cups}/bin/lpadmin ${args} -E + ''; ensureDefaultPrinter = name: '' ${pkgs.cups}/bin/lpadmin -d '${name}' @@ -24,11 +37,12 @@ let # "graph but not # or /" can't be implemented as regex alone due to missing lookahead support noInvalidChars = str: lib.all (c: c != "#" && c != "/") (lib.stringToCharacters str); - printerName = (lib.types.addCheck (lib.types.strMatching "[[:graph:]]+") noInvalidChars) - // { description = "printable string without spaces, # and /"; }; - + printerName = (lib.types.addCheck (lib.types.strMatching "[[:graph:]]+") noInvalidChars) // { + description = "printable string without spaces, # and /"; + }; -in { +in +{ options = { hardware.printers = { ensureDefaultPrinter = lib.mkOption { @@ -47,73 +61,75 @@ in { and remove printers with {command}`lpadmin -x `. Printers not listed here can still be manually configured. ''; - default = []; - type = lib.types.listOf (lib.types.submodule { - options = { - name = lib.mkOption { - type = printerName; - example = "BrotherHL_Workroom"; - description = '' - Name of the printer / printer queue. - May contain any printable characters except "/", "#", and space. - ''; - }; - location = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "Workroom"; - description = '' - Optional human-readable location. - ''; - }; - description = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "Brother HL-5140"; - description = '' - Optional human-readable description. - ''; - }; - deviceUri = lib.mkOption { - type = lib.types.str; - example = lib.literalExpression '' - "ipp://printserver.local/printers/BrotherHL_Workroom" - "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" - ''; - description = '' - How to reach the printer. - {command}`lpinfo -v` shows a list of supported device URIs and schemes. - ''; - }; - model = lib.mkOption { - type = lib.types.str; - example = lib.literalExpression '' - "gutenprint.''${lib.versions.majorMinor (lib.getVersion pkgs.gutenprint)}://brother-hl-5140/expert" - ''; - description = '' - Location of the ppd driver file for the printer. - {command}`lpinfo -m` shows a list of supported models. - ''; - }; - ppdOptions = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - example = { - PageSize = "A4"; - Duplex = "DuplexNoTumble"; + default = [ ]; + type = lib.types.listOf ( + lib.types.submodule { + options = { + name = lib.mkOption { + type = printerName; + example = "BrotherHL_Workroom"; + description = '' + Name of the printer / printer queue. + May contain any printable characters except "/", "#", and space. + ''; + }; + location = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "Workroom"; + description = '' + Optional human-readable location. + ''; + }; + description = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "Brother HL-5140"; + description = '' + Optional human-readable description. + ''; + }; + deviceUri = lib.mkOption { + type = lib.types.str; + example = lib.literalExpression '' + "ipp://printserver.local/printers/BrotherHL_Workroom" + "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" + ''; + description = '' + How to reach the printer. + {command}`lpinfo -v` shows a list of supported device URIs and schemes. + ''; + }; + model = lib.mkOption { + type = lib.types.str; + example = lib.literalExpression '' + "gutenprint.''${lib.versions.majorMinor (lib.getVersion pkgs.gutenprint)}://brother-hl-5140/expert" + ''; + description = '' + Location of the ppd driver file for the printer. + {command}`lpinfo -m` shows a list of supported models. + ''; + }; + ppdOptions = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + example = { + PageSize = "A4"; + Duplex = "DuplexNoTumble"; + }; + default = { }; + description = '' + Sets PPD options for the printer. + {command}`lpoptions [-p printername] -l` shows supported PPD options for the given printer. + ''; }; - default = {}; - description = '' - Sets PPD options for the printer. - {command}`lpoptions [-p printername] -l` shows supported PPD options for the given printer. - ''; }; - }; - }); + } + ); }; }; }; - config = lib.mkIf (cfg.ensurePrinters != [] && config.services.printing.enable) { + config = lib.mkIf (cfg.ensurePrinters != [ ] && config.services.printing.enable) { systemd.services.ensure-printers = { description = "Ensure NixOS-configured CUPS printers"; wantedBy = [ "multi-user.target" ]; @@ -127,12 +143,14 @@ in { script = lib.concatStringsSep "\n" [ (lib.concatMapStrings ensurePrinter cfg.ensurePrinters) - (lib.optionalString (cfg.ensureDefaultPrinter != null) - (ensureDefaultPrinter cfg.ensureDefaultPrinter)) + (lib.optionalString (cfg.ensureDefaultPrinter != null) ( + ensureDefaultPrinter cfg.ensureDefaultPrinter + )) # Note: if cupsd is "stateless" the service can't be stopped, # otherwise the configuration will be wiped on the next start. - (lib.optionalString (with config.services.printing; startWhenNeeded && !stateless) - "systemctl stop cups.service") + (lib.optionalString ( + with config.services.printing; startWhenNeeded && !stateless + ) "systemctl stop cups.service") ]; }; }; diff --git a/nixos/modules/hardware/raid/hpsa.nix b/nixos/modules/hardware/raid/hpsa.nix index 2ec2398760b6c..effac77bdd5aa 100644 --- a/nixos/modules/hardware/raid/hpsa.nix +++ b/nixos/modules/hardware/raid/hpsa.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let hpssacli = pkgs.stdenv.mkDerivation rec { pname = "hpssacli"; @@ -40,7 +45,8 @@ let maintainers = [ ]; }; }; -in { +in +{ ###### interface options = { @@ -53,7 +59,7 @@ in { config = lib.mkIf config.hardware.raid.HPSmartArray.enable { - boot.initrd.kernelModules = [ "sg" ]; /* hpssacli wants it */ + boot.initrd.kernelModules = [ "sg" ]; # hpssacli wants it boot.initrd.availableKernelModules = [ "hpsa" ]; environment.systemPackages = [ hpssacli ]; diff --git a/nixos/modules/hardware/rtl-sdr.nix b/nixos/modules/hardware/rtl-sdr.nix index e85fc04e29bb6..05a3b54124127 100644 --- a/nixos/modules/hardware/rtl-sdr.nix +++ b/nixos/modules/hardware/rtl-sdr.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.rtl-sdr; -in { +in +{ options.hardware.rtl-sdr = { enable = lib.mkOption { type = lib.types.bool; @@ -11,13 +17,17 @@ in { description = '' Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules. This is a prerequisite to using devices supported by rtl-sdr without being root, since rtl-sdr USB descriptors will be owned by plugdev through udev. - ''; + ''; }; }; config = lib.mkIf cfg.enable { - boot.blacklistedKernelModules = [ "dvb_usb_rtl28xxu" "e4000" "rtl2832" ]; + boot.blacklistedKernelModules = [ + "dvb_usb_rtl28xxu" + "e4000" + "rtl2832" + ]; services.udev.packages = [ pkgs.rtl-sdr ]; - users.groups.plugdev = {}; + users.groups.plugdev = { }; }; } diff --git a/nixos/modules/hardware/saleae-logic.nix b/nixos/modules/hardware/saleae-logic.nix index a3810d640c483..dbfdf64fc2c10 100644 --- a/nixos/modules/hardware/saleae-logic.nix +++ b/nixos/modules/hardware/saleae-logic.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.saleae-logic; diff --git a/nixos/modules/hardware/sata.nix b/nixos/modules/hardware/sata.nix index 81592997d6e3d..752a1a4de8ff3 100644 --- a/nixos/modules/hardware/sata.nix +++ b/nixos/modules/hardware/sata.nix @@ -1,10 +1,21 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption types; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + ; cfg = config.hardware.sata.timeout; - buildRule = d: + buildRule = + d: lib.concatStringsSep ", " [ ''ACTION=="add"'' ''SUBSYSTEM=="block"'' @@ -13,23 +24,20 @@ let ''ENV{SYSTEMD_WANTS}="${unitName d}"'' ]; - devicePath = device: - "/dev/disk/by-${device.idBy}/${device.name}"; + devicePath = device: "/dev/disk/by-${device.idBy}/${device.name}"; - unitName = device: - "sata-timeout-${lib.strings.sanitizeDerivationName device.name}"; + unitName = device: "sata-timeout-${lib.strings.sanitizeDerivationName device.name}"; - startScript = - pkgs.writeShellScript "sata-timeout.sh" '' - set -eEuo pipefail + startScript = pkgs.writeShellScript "sata-timeout.sh" '' + set -eEuo pipefail - device="$1" + device="$1" - ${pkgs.smartmontools}/bin/smartctl \ - -l scterc,${toString cfg.deciSeconds},${toString cfg.deciSeconds} \ - --quietmode errorsonly \ - "$device" - ''; + ${pkgs.smartmontools}/bin/smartctl \ + -l scterc,${toString cfg.deciSeconds},${toString cfg.deciSeconds} \ + --quietmode errorsonly \ + "$device" + ''; in { @@ -54,8 +62,8 @@ in drives = mkOption { description = "List of drives for which to configure the timeout."; - type = types.listOf - (types.submodule { + type = types.listOf ( + types.submodule { options = { name = mkOption { description = "Drive name without the full path."; @@ -64,19 +72,24 @@ in idBy = mkOption { description = "The method to identify the drive."; - type = types.enum [ "path" "wwn" ]; + type = types.enum [ + "path" + "wwn" + ]; default = "path"; }; }; - }); + } + ); }; }; config = mkIf cfg.enable { services.udev.extraRules = lib.concatMapStringsSep "\n" buildRule cfg.drives; - systemd.services = lib.listToAttrs (map - (e: + systemd.services = lib.listToAttrs ( + map ( + e: lib.nameValuePair (unitName e) { description = "SATA timeout for ${e.name}"; wantedBy = [ "sata-timeout.target" ]; @@ -89,8 +102,8 @@ in ProtectSystem = "strict"; }; } - ) - cfg.drives); + ) cfg.drives + ); systemd.targets.sata-timeout = { description = "SATA timeout"; diff --git a/nixos/modules/hardware/sensor/hddtemp.nix b/nixos/modules/hardware/sensor/hddtemp.nix index 8ee60dc4d6dde..8a8a3ad838c31 100644 --- a/nixos/modules/hardware/sensor/hddtemp.nix +++ b/nixos/modules/hardware/sensor/hddtemp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) mkIf mkOption types; @@ -44,7 +49,10 @@ in unit = mkOption { description = "Celsius or Fahrenheit"; - type = types.enum [ "C" "F" ]; + type = types.enum [ + "C" + "F" + ]; default = "C"; }; diff --git a/nixos/modules/hardware/sensor/iio.nix b/nixos/modules/hardware/sensor/iio.nix index fbdc929390f2a..0f7450cf16492 100644 --- a/nixos/modules/hardware/sensor/iio.nix +++ b/nixos/modules/hardware/sensor/iio.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface diff --git a/nixos/modules/hardware/system-76.nix b/nixos/modules/hardware/system-76.nix index d81c59fbc9240..4dc71b9a50988 100644 --- a/nixos/modules/hardware/system-76.nix +++ b/nixos/modules/hardware/system-76.nix @@ -1,12 +1,30 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let - inherit (lib) literalExpression mkOption mkEnableOption types mkIf mkMerge optional versionOlder; + inherit (lib) + literalExpression + mkOption + mkEnableOption + types + mkIf + mkMerge + optional + versionOlder + ; cfg = config.hardware.system76; opt = options.hardware.system76; kpkgs = config.boot.kernelPackages; - modules = [ "system76" "system76-io" ] ++ (optional (versionOlder kpkgs.kernel.version "5.5") "system76-acpi"); + modules = [ + "system76" + "system76-io" + ] ++ (optional (versionOlder kpkgs.kernel.version "5.5") "system76-acpi"); modulePackages = map (m: kpkgs.${m}) modules; moduleConfig = mkIf cfg.kernel-modules.enable { boot.extraModulePackages = modulePackages; @@ -54,7 +72,8 @@ let wantedBy = [ "multi-user.target" ]; }; }; -in { +in +{ options = { hardware.system76 = { enableAll = mkEnableOption "all recommended configuration for system76 systems"; @@ -85,5 +104,9 @@ in { }; }; - config = mkMerge [ moduleConfig firmwareConfig powerConfig ]; + config = mkMerge [ + moduleConfig + firmwareConfig + powerConfig + ]; } diff --git a/nixos/modules/hardware/ubertooth.nix b/nixos/modules/hardware/ubertooth.nix index 98cd0a0fb047c..0d89f7aa8a4c4 100644 --- a/nixos/modules/hardware/ubertooth.nix +++ b/nixos/modules/hardware/ubertooth.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.ubertooth; ubertoothPkg = pkgs.ubertooth.override { udevGroup = cfg.group; }; -in { +in +{ options.hardware.ubertooth = { enable = lib.mkEnableOption "Ubertooth software and its udev rules"; @@ -21,6 +27,6 @@ in { environment.systemPackages = [ ubertoothPkg ]; services.udev.packages = [ ubertoothPkg ]; - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; }; } diff --git a/nixos/modules/hardware/uni-sync.nix b/nixos/modules/hardware/uni-sync.nix index dd230ae419a15..2fc93772562d6 100644 --- a/nixos/modules/hardware/uni-sync.nix +++ b/nixos/modules/hardware/uni-sync.nix @@ -1,9 +1,11 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: -with lib; let +with lib; +let cfg = config.hardware.uni-sync; in { @@ -51,65 +53,74 @@ in ] ''; description = "List of controllers with their configurations."; - type = types.listOf (types.submodule { - options = { - device_id = mkOption { - type = types.str; - example = "VID:1111/PID:11111/SN:1111111111"; - description = "Unique device ID displayed at each startup."; - }; - sync_rgb = mkOption { - type = types.bool; - default = false; - example = true; - description = "Enable ARGB header sync."; - }; - channels = mkOption { - default = [ ]; - example = literalExpression '' - [ - { - mode = "PWM"; - } - { - mode = "Manual"; - speed = 100; - } - { - mode = "Manual"; - speed = 54; - } - { - mode = "Manual"; - speed = 0; + type = types.listOf ( + types.submodule { + options = { + device_id = mkOption { + type = types.str; + example = "VID:1111/PID:11111/SN:1111111111"; + description = "Unique device ID displayed at each startup."; + }; + sync_rgb = mkOption { + type = types.bool; + default = false; + example = true; + description = "Enable ARGB header sync."; + }; + channels = mkOption { + default = [ ]; + example = literalExpression '' + [ + { + mode = "PWM"; + } + { + mode = "Manual"; + speed = 100; + } + { + mode = "Manual"; + speed = 54; + } + { + mode = "Manual"; + speed = 0; + } + ] + ''; + description = "List of channels connected to the controller."; + type = types.listOf ( + types.submodule { + options = { + mode = mkOption { + type = types.enum [ + "Manual" + "PWM" + ]; + default = "Manual"; + example = "PWM"; + description = "\"PWM\" to enable PWM sync. \"Manual\" to set speed."; + }; + speed = mkOption { + type = types.int; + default = "50"; + example = "100"; + description = "Fan speed as percentage (clamped between 0 and 100)."; + }; + }; } - ] - ''; - description = "List of channels connected to the controller."; - type = types.listOf (types.submodule { - options = { - mode = mkOption { - type = types.enum [ "Manual" "PWM" ]; - default = "Manual"; - example = "PWM"; - description = "\"PWM\" to enable PWM sync. \"Manual\" to set speed."; - }; - speed = mkOption { - type = types.int; - default = "50"; - example = "100"; - description = "Fan speed as percentage (clamped between 0 and 100)."; - }; - }; - }); + ); + }; }; - }; - }); + } + ); }; }; config = mkIf cfg.enable { - environment.etc."uni-sync/uni-sync.json".text = mkIf (cfg.devices != [ ]) (builtins.toJSON { configs = cfg.devices; }); + environment.etc."uni-sync/uni-sync.json".text = mkIf (cfg.devices != [ ]) ( + builtins.toJSON { configs = cfg.devices; } + ); environment.systemPackages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; diff --git a/nixos/modules/hardware/usb-modeswitch.nix b/nixos/modules/hardware/usb-modeswitch.nix index cbce5daa840d3..203e86bd2655c 100644 --- a/nixos/modules/hardware/usb-modeswitch.nix +++ b/nixos/modules/hardware/usb-modeswitch.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface @@ -21,7 +26,7 @@ ###### implementation imports = [ - (lib.mkRenamedOptionModule ["hardware" "usbWwan" ] ["hardware" "usb-modeswitch" ]) + (lib.mkRenamedOptionModule [ "hardware" "usbWwan" ] [ "hardware" "usb-modeswitch" ]) ]; config = lib.mkIf config.hardware.usb-modeswitch.enable { diff --git a/nixos/modules/hardware/usb-storage.nix b/nixos/modules/hardware/usb-storage.nix index 32c1707b27168..8cc34e78fdd40 100644 --- a/nixos/modules/hardware/usb-storage.nix +++ b/nixos/modules/hardware/usb-storage.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options.hardware.usbStorage.manageShutdown = lib.mkOption { @@ -17,5 +22,10 @@ ''; }; - imports = [(lib.mkRenamedOptionModule [ "hardware" "usbStorage" "manageStartStop" ] [ "hardware" "usbStorage" "manageShutdown" ])]; + imports = [ + (lib.mkRenamedOptionModule + [ "hardware" "usbStorage" "manageStartStop" ] + [ "hardware" "usbStorage" "manageShutdown" ] + ) + ]; } diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix index b5339f0dda53e..4300130442518 100644 --- a/nixos/modules/hardware/video/bumblebee.nix +++ b/nixos/modules/hardware/video/bumblebee.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.bumblebee; @@ -55,7 +60,10 @@ in driver = lib.mkOption { default = "nvidia"; - type = lib.types.enum [ "nvidia" "nouveau" ]; + type = lib.types.enum [ + "nvidia" + "nouveau" + ]; description = '' Set driver used by bumblebeed. Supported are nouveau and nvidia. ''; @@ -63,7 +71,12 @@ in pmMethod = lib.mkOption { default = "auto"; - type = lib.types.enum [ "auto" "bbswitch" "switcheroo" "none" ]; + type = lib.types.enum [ + "auto" + "bbswitch" + "switcheroo" + "none" + ]; description = '' Set preferred power management method for unused card. ''; @@ -73,11 +86,20 @@ in }; config = lib.mkIf cfg.enable { - boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ]; + boot.blacklistedKernelModules = [ + "nvidia-drm" + "nvidia" + "nouveau" + ]; boot.kernelModules = lib.optional useBbswitch "bbswitch"; - boot.extraModulePackages = lib.optional useBbswitch kernel.bbswitch ++ lib.optional useNvidia kernel.nvidia_x11.bin; - - environment.systemPackages = [ bumblebee primus ]; + boot.extraModulePackages = + lib.optional useBbswitch kernel.bbswitch + ++ lib.optional useNvidia kernel.nvidia_x11.bin; + + environment.systemPackages = [ + bumblebee + primus + ]; systemd.services.bumblebeed = { description = "Bumblebee Hybrid Graphics Switcher"; diff --git a/nixos/modules/hardware/video/displaylink.nix b/nixos/modules/hardware/video/displaylink.nix index 32e5eaf2b978d..9433be89b5d54 100644 --- a/nixos/modules/hardware/video/displaylink.nix +++ b/nixos/modules/hardware/video/displaylink.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let enabled = lib.elem "displaylink" config.services.xserver.videoDrivers; diff --git a/nixos/modules/hardware/video/intel-gpu-tools.nix b/nixos/modules/hardware/video/intel-gpu-tools.nix index b69fefcae1184..691e17be66f3b 100644 --- a/nixos/modules/hardware/video/intel-gpu-tools.nix +++ b/nixos/modules/hardware/video/intel-gpu-tools.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.intel-gpu-tools; diff --git a/nixos/modules/hardware/video/switcheroo-control.nix b/nixos/modules/hardware/video/switcheroo-control.nix index 967120d6744a1..7cc54c032dc3f 100644 --- a/nixos/modules/hardware/video/switcheroo-control.nix +++ b/nixos/modules/hardware/video/switcheroo-control.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.switcherooControl; -in { +in +{ options.services.switcherooControl = { enable = lib.mkEnableOption "switcheroo-control, a D-Bus service to check the availability of dual-GPU"; package = lib.mkPackageOption pkgs "switcheroo-control" { }; diff --git a/nixos/modules/hardware/video/uvcvideo/default.nix b/nixos/modules/hardware/video/uvcvideo/default.nix index 8b9f1244e5b53..0b8d70dcbc0b1 100644 --- a/nixos/modules/hardware/video/uvcvideo/default.nix +++ b/nixos/modules/hardware/video/uvcvideo/default.nix @@ -1,12 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.uvcvideo; - uvcdynctrl-udev-rules = packages: pkgs.callPackage ./uvcdynctrl-udev-rules.nix { - drivers = packages; - udevDebug = false; - }; + uvcdynctrl-udev-rules = + packages: + pkgs.callPackage ./uvcdynctrl-udev-rules.nix { + drivers = packages; + udevDebug = false; + }; in diff --git a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix index 8dadbd53b9891..c1f1c3e15a041 100644 --- a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix +++ b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix @@ -1,9 +1,10 @@ -{ buildEnv -, libwebcam -, makeWrapper -, runCommand -, drivers ? [] -, udevDebug ? false +{ + buildEnv, + libwebcam, + makeWrapper, + runCommand, + drivers ? [ ], + udevDebug ? false, }: let @@ -21,27 +22,26 @@ let in runCommand "uvcdynctrl-udev-rules-${version}" -{ - inherit dataPath; - nativeBuildInputs = [ - makeWrapper - ]; - buildInputs = [ - libwebcam - ]; - dontPatchELF = true; - dontStrip = true; - preferLocalBuild = true; -} -'' - mkdir -p "$out/lib/udev" - makeWrapper "${libwebcam}/lib/udev/uvcdynctrl" "$out/lib/udev/uvcdynctrl" \ - --set NIX_UVCDYNCTRL_DATA_DIR "${dataDir}" \ - --set NIX_UVCDYNCTRL_UDEV_DEBUG "${udevDebugVarValue}" - - mkdir -p "$out/lib/udev/rules.d" - cat "${libwebcam}/lib/udev/rules.d/80-uvcdynctrl.rules" | \ - sed -r "s#RUN\+\=\"([^\"]+)\"#RUN\+\=\"$out/lib/udev/uvcdynctrl\"#g" > \ - "$out/lib/udev/rules.d/80-uvcdynctrl.rules" -'' + { + inherit dataPath; + nativeBuildInputs = [ + makeWrapper + ]; + buildInputs = [ + libwebcam + ]; + dontPatchELF = true; + dontStrip = true; + preferLocalBuild = true; + } + '' + mkdir -p "$out/lib/udev" + makeWrapper "${libwebcam}/lib/udev/uvcdynctrl" "$out/lib/udev/uvcdynctrl" \ + --set NIX_UVCDYNCTRL_DATA_DIR "${dataDir}" \ + --set NIX_UVCDYNCTRL_UDEV_DEBUG "${udevDebugVarValue}" + mkdir -p "$out/lib/udev/rules.d" + cat "${libwebcam}/lib/udev/rules.d/80-uvcdynctrl.rules" | \ + sed -r "s#RUN\+\=\"([^\"]+)\"#RUN\+\=\"$out/lib/udev/uvcdynctrl\"#g" > \ + "$out/lib/udev/rules.d/80-uvcdynctrl.rules" + '' diff --git a/nixos/modules/hardware/video/virtualbox.nix b/nixos/modules/hardware/video/virtualbox.nix index 31ed92b7d148e..e7e557e9c3279 100644 --- a/nixos/modules/hardware/video/virtualbox.nix +++ b/nixos/modules/hardware/video/virtualbox.nix @@ -2,6 +2,9 @@ let inherit (config.boot) kernelPackages; inherit (config.services.xserver) videoDrivers; -in { - boot.extraModulePackages = lib.mkIf (lib.elem "virtualbox" videoDrivers) [ kernelPackages.virtualboxGuestAdditions ]; +in +{ + boot.extraModulePackages = lib.mkIf (lib.elem "virtualbox" videoDrivers) [ + kernelPackages.virtualboxGuestAdditions + ]; } diff --git a/nixos/modules/hardware/video/webcam/facetimehd.nix b/nixos/modules/hardware/video/webcam/facetimehd.nix index 06391ea5425e8..1b666ed955773 100644 --- a/nixos/modules/hardware/video/webcam/facetimehd.nix +++ b/nixos/modules/hardware/video/webcam/facetimehd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.facetimehd; @@ -31,8 +36,9 @@ in boot.extraModulePackages = [ kernelPackages.facetimehd ]; - hardware.firmware = [ pkgs.facetimehd-firmware ] - ++ lib.optional cfg.withCalibration pkgs.facetimehd-calibration; + hardware.firmware = [ + pkgs.facetimehd-firmware + ] ++ lib.optional cfg.withCalibration pkgs.facetimehd-calibration; # unload module during suspend/hibernate as it crashes the whole system powerManagement.powerDownCommands = '' diff --git a/nixos/modules/hardware/video/webcam/ipu6.nix b/nixos/modules/hardware/video/webcam/ipu6.nix index 803902530dd92..aab986251d75d 100644 --- a/nixos/modules/hardware/video/webcam/ipu6.nix +++ b/nixos/modules/hardware/video/webcam/ipu6.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkDefault mkEnableOption mkIf mkOption optional types; + inherit (lib) + mkDefault + mkEnableOption + mkIf + mkOption + optional + types + ; cfg = config.hardware.ipu6; @@ -13,7 +25,11 @@ in enable = mkEnableOption "support for Intel IPU6/MIPI cameras"; platform = mkOption { - type = types.enum [ "ipu6" "ipu6ep" "ipu6epmtl" ]; + type = types.enum [ + "ipu6" + "ipu6ep" + "ipu6epmtl" + ]; description = '' Choose the version for your hardware platform. @@ -44,7 +60,9 @@ in cardLabel = mkDefault "Intel MIPI Camera"; - extraPackages = with pkgs.gst_all_1; [ ] + extraPackages = + with pkgs.gst_all_1; + [ ] ++ optional (cfg.platform == "ipu6") icamerasrc-ipu6 ++ optional (cfg.platform == "ipu6ep") icamerasrc-ipu6ep ++ optional (cfg.platform == "ipu6epmtl") icamerasrc-ipu6epmtl; diff --git a/nixos/modules/hardware/xone.nix b/nixos/modules/hardware/xone.nix index 4a8e692001e43..04216e8260a7b 100644 --- a/nixos/modules/hardware/xone.nix +++ b/nixos/modules/hardware/xone.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.xone; in @@ -9,7 +14,10 @@ in config = lib.mkIf cfg.enable { boot = { - blacklistedKernelModules = [ "xpad" "mt76x2u" ]; + blacklistedKernelModules = [ + "xpad" + "mt76x2u" + ]; extraModulePackages = with config.boot.kernelPackages; [ xone ]; }; hardware.firmware = [ pkgs.xow_dongle-firmware ]; diff --git a/nixos/modules/hardware/xpadneo.nix b/nixos/modules/hardware/xpadneo.nix index d42164060e837..796aa9fc8d4aa 100644 --- a/nixos/modules/hardware/xpadneo.nix +++ b/nixos/modules/hardware/xpadneo.nix @@ -11,11 +11,10 @@ in boot = { # Must disable Enhanced Retransmission Mode to support bluetooth pairing # https://wiki.archlinux.org/index.php/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth - extraModprobeConfig = - lib.mkIf - (config.hardware.bluetooth.enable && - (lib.versionOlder config.boot.kernelPackages.kernel.version "5.12")) - "options bluetooth disable_ertm=1"; + extraModprobeConfig = lib.mkIf ( + config.hardware.bluetooth.enable + && (lib.versionOlder config.boot.kernelPackages.kernel.version "5.12") + ) "options bluetooth disable_ertm=1"; extraModulePackages = with config.boot.kernelPackages; [ xpadneo ]; kernelModules = [ "hid_xpadneo" ]; diff --git a/nixos/modules/i18n/input-method/default.nix b/nixos/modules/i18n/input-method/default.nix index a706b045e377b..d84be512b39f8 100644 --- a/nixos/modules/i18n/input-method/default.nix +++ b/nixos/modules/i18n/input-method/default.nix @@ -1,28 +1,50 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.i18n.inputMethod; - allowedTypes = lib.types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ]; + allowedTypes = lib.types.enum [ + "ibus" + "fcitx5" + "nabi" + "uim" + "hime" + "kime" + ]; - gtk2_cache = pkgs.runCommand "gtk2-immodule.cache" - { preferLocalBuild = true; - allowSubstitutes = false; - buildInputs = [ pkgs.gtk2 cfg.package ]; - } - '' - mkdir -p $out/etc/gtk-2.0/ - GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache - ''; + gtk2_cache = + pkgs.runCommand "gtk2-immodule.cache" + { + preferLocalBuild = true; + allowSubstitutes = false; + buildInputs = [ + pkgs.gtk2 + cfg.package + ]; + } + '' + mkdir -p $out/etc/gtk-2.0/ + GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache + ''; - gtk3_cache = pkgs.runCommand "gtk3-immodule.cache" - { preferLocalBuild = true; - allowSubstitutes = false; - buildInputs = [ pkgs.gtk3 cfg.package ]; - } - '' - mkdir -p $out/etc/gtk-3.0/ - GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache - ''; + gtk3_cache = + pkgs.runCommand "gtk3-immodule.cache" + { + preferLocalBuild = true; + allowSubstitutes = false; + buildInputs = [ + pkgs.gtk3 + cfg.package + ]; + } + '' + mkdir -p $out/etc/gtk-3.0/ + GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache + ''; in { @@ -34,14 +56,14 @@ in }; enabled = lib.mkOption { - type = lib.types.nullOr allowedTypes; + type = lib.types.nullOr allowedTypes; default = null; example = "fcitx5"; description = "Deprecated - use `type` and `enable = true` instead"; }; type = lib.mkOption { - type = lib.types.nullOr allowedTypes; + type = lib.types.nullOr allowedTypes; default = cfg.enabled; defaultText = lib.literalMD "The value of the deprecated option `enabled`, defaulting to null"; example = "fcitx5"; @@ -63,8 +85,8 @@ in package = lib.mkOption { internal = true; - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.nullOr lib.types.path; + default = null; description = '' The input method method package. ''; @@ -73,8 +95,14 @@ in }; config = lib.mkIf cfg.enable { - warnings = lib.optional (cfg.enabled != null) "i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead"; - environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ]; + warnings = + lib.optional (cfg.enabled != null) + "i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead"; + environment.systemPackages = [ + cfg.package + gtk2_cache + gtk3_cache + ]; }; meta = { diff --git a/nixos/modules/i18n/input-method/hime.nix b/nixos/modules/i18n/input-method/hime.nix index b3f49c0e30577..40349972bccb7 100644 --- a/nixos/modules/i18n/input-method/hime.nix +++ b/nixos/modules/i18n/input-method/hime.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let imcfg = config.i18n.inputMethod; in @@ -7,8 +12,8 @@ in i18n.inputMethod.package = pkgs.hime; environment.variables = { GTK_IM_MODULE = "hime"; - QT_IM_MODULE = "hime"; - XMODIFIERS = "@im=hime"; + QT_IM_MODULE = "hime"; + XMODIFIERS = "@im=hime"; }; services.xserver.displayManager.sessionCommands = "${pkgs.hime}/bin/hime &"; }; diff --git a/nixos/modules/i18n/input-method/kime.nix b/nixos/modules/i18n/input-method/kime.nix index 78f5698a80545..92dfe4abba764 100644 --- a/nixos/modules/i18n/input-method/kime.nix +++ b/nixos/modules/i18n/input-method/kime.nix @@ -1,22 +1,50 @@ -{ config, pkgs, lib, generators, ... }: +{ + config, + pkgs, + lib, + generators, + ... +}: let imcfg = config.i18n.inputMethod; -in { +in +{ imports = [ - (lib.mkRemovedOptionModule [ "i18n" "inputMethod" "kime" "config" ] "Use i18n.inputMethod.kime.* instead") + (lib.mkRemovedOptionModule [ + "i18n" + "inputMethod" + "kime" + "config" + ] "Use i18n.inputMethod.kime.* instead") ]; options.i18n.inputMethod.kime = { daemonModules = lib.mkOption { - type = lib.types.listOf (lib.types.enum [ "Xim" "Wayland" "Indicator" ]); - default = [ "Xim" "Wayland" "Indicator" ]; - example = [ "Xim" "Indicator" ]; + type = lib.types.listOf ( + lib.types.enum [ + "Xim" + "Wayland" + "Indicator" + ] + ); + default = [ + "Xim" + "Wayland" + "Indicator" + ]; + example = [ + "Xim" + "Indicator" + ]; description = '' List of enabled daemon modules ''; }; iconColor = lib.mkOption { - type = lib.types.enum [ "Black" "White" ]; + type = lib.types.enum [ + "Black" + "White" + ]; default = "Black"; example = "White"; description = '' @@ -37,16 +65,18 @@ in { environment.variables = { GTK_IM_MODULE = "kime"; - QT_IM_MODULE = "kime"; - XMODIFIERS = "@im=kime"; + QT_IM_MODULE = "kime"; + XMODIFIERS = "@im=kime"; }; - environment.etc."xdg/kime/config.yaml".text = '' - daemon: - modules: [${lib.concatStringsSep "," imcfg.kime.daemonModules}] - indicator: - icon_color: ${imcfg.kime.iconColor} - '' + imcfg.kime.extraConfig; + environment.etc."xdg/kime/config.yaml".text = + '' + daemon: + modules: [${lib.concatStringsSep "," imcfg.kime.daemonModules}] + indicator: + icon_color: ${imcfg.kime.iconColor} + '' + + imcfg.kime.extraConfig; }; # uses attributes of the linked package diff --git a/nixos/modules/i18n/input-method/nabi.nix b/nixos/modules/i18n/input-method/nabi.nix index af01d1b0676d3..b620c3c297d15 100644 --- a/nixos/modules/i18n/input-method/nabi.nix +++ b/nixos/modules/i18n/input-method/nabi.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let imcfg = config.i18n.inputMethod; in @@ -8,8 +13,8 @@ in environment.variables = { GTK_IM_MODULE = "nabi"; - QT_IM_MODULE = "nabi"; - XMODIFIERS = "@im=nabi"; + QT_IM_MODULE = "nabi"; + XMODIFIERS = "@im=nabi"; }; services.xserver.displayManager.sessionCommands = "${pkgs.nabi}/bin/nabi &"; diff --git a/nixos/modules/i18n/input-method/uim.nix b/nixos/modules/i18n/input-method/uim.nix index 4edc121b2ccdf..2f40a94da6a19 100644 --- a/nixos/modules/i18n/input-method/uim.nix +++ b/nixos/modules/i18n/input-method/uim.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let imcfg = config.i18n.inputMethod; cfg = imcfg.uim; @@ -8,7 +13,13 @@ in i18n.inputMethod.uim = { toolbar = lib.mkOption { - type = lib.types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt5" ]; + type = lib.types.enum [ + "gtk" + "gtk3" + "gtk-systray" + "gtk3-systray" + "qt5" + ]; default = "gtk"; example = "gtk-systray"; description = '' @@ -24,8 +35,8 @@ in environment.variables = { GTK_IM_MODULE = "uim"; - QT_IM_MODULE = "uim"; - XMODIFIERS = "@im=uim"; + QT_IM_MODULE = "uim"; + XMODIFIERS = "@im=uim"; }; services.xserver.displayManager.sessionCommands = '' ${pkgs.uim}/bin/uim-xim & diff --git a/nixos/modules/image/repart-verity-store.nix b/nixos/modules/image/repart-verity-store.nix index d270dc069f343..953a5997c5fdd 100644 --- a/nixos/modules/image/repart-verity-store.nix +++ b/nixos/modules/image/repart-verity-store.nix @@ -34,9 +34,12 @@ let flakeIgnore = [ "E501" ]; # ignores PEP8's line length limit of 79 (black defaults to 88 characters) } ( - builtins.replaceStrings [ "@NIX_STORE_VERITY@" ] [ - partitionTypes.usr-verity - ] (builtins.readFile ./assert_uki_repart_match.py) + builtins.replaceStrings + [ "@NIX_STORE_VERITY@" ] + [ + partitionTypes.usr-verity + ] + (builtins.readFile ./assert_uki_repart_match.py) ); in { diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index bc70dc985fe00..e5fa5db420be8 100644 --- a/nixos/modules/installer/cd-dvd/channel.nix +++ b/nixos/modules/installer/cd-dvd/channel.nix @@ -1,7 +1,12 @@ # Provide an initial copy of the NixOS channel so that the user # doesn't need to run "nix-channel --update" first. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let # This is copied into the installer image, so it's important that it is filtered @@ -16,25 +21,29 @@ let # CD. These are installed into the "nixos" channel of the root # user, as expected by nixos-rebuild/nixos-install. FIXME: merge # with make-channel.nix. - channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" - { preferLocalBuild = true; } - '' - mkdir -p $out - cp -prd ${nixpkgs.outPath} $out/nixos - chmod -R u+w $out/nixos - if [ ! -e $out/nixos/nixpkgs ]; then - ln -s . $out/nixos/nixpkgs - fi - ${lib.optionalString (config.system.nixos.revision != null) '' - echo -n ${config.system.nixos.revision} > $out/nixos/.git-revision - ''} - echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix - echo ${config.system.nixos.versionSuffix} | sed -e s/pre// > $out/nixos/svn-revision - ''; + channelSources = + pkgs.runCommand "nixos-${config.system.nixos.version}" { preferLocalBuild = true; } + '' + mkdir -p $out + cp -prd ${nixpkgs.outPath} $out/nixos + chmod -R u+w $out/nixos + if [ ! -e $out/nixos/nixpkgs ]; then + ln -s . $out/nixos/nixpkgs + fi + ${lib.optionalString (config.system.nixos.revision != null) '' + echo -n ${config.system.nixos.revision} > $out/nixos/.git-revision + ''} + echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix + echo ${config.system.nixos.versionSuffix} | sed -e s/pre// > $out/nixos/svn-revision + ''; in { - options.system.installer.channel.enable = (lib.mkEnableOption "bundling NixOS/Nixpkgs channel in the installer") // { default = true; }; + options.system.installer.channel.enable = + (lib.mkEnableOption "bundling NixOS/Nixpkgs channel in the installer") + // { + default = true; + }; config = lib.mkIf config.system.installer.channel.enable { # Pin the nixpkgs flake in the installer to our cleaned up nixpkgs source. # FIXME: this might be surprising and is really only needed for offline installations, @@ -46,19 +55,18 @@ in # Provide the NixOS/Nixpkgs sources in /etc/nixos. This is required # for nixos-install. - boot.postBootCommands = lib.mkAfter - '' - if ! [ -e /var/lib/nixos/did-channel-init ]; then - echo "unpacking the NixOS/Nixpkgs sources..." - mkdir -p /nix/var/nix/profiles/per-user/root - ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/per-user/root/channels \ - -i ${channelSources} --quiet --option build-use-substitutes false \ - ${lib.optionalString config.boot.initrd.systemd.enable "--option sandbox false"} # There's an issue with pivot_root - mkdir -m 0700 -p /root/.nix-defexpr - ln -s /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels - mkdir -m 0755 -p /var/lib/nixos - touch /var/lib/nixos/did-channel-init - fi - ''; + boot.postBootCommands = lib.mkAfter '' + if ! [ -e /var/lib/nixos/did-channel-init ]; then + echo "unpacking the NixOS/Nixpkgs sources..." + mkdir -p /nix/var/nix/profiles/per-user/root + ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/per-user/root/channels \ + -i ${channelSources} --quiet --option build-use-substitutes false \ + ${lib.optionalString config.boot.initrd.systemd.enable "--option sandbox false"} # There's an issue with pivot_root + mkdir -m 0700 -p /root/.nix-defexpr + ln -s /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels + mkdir -m 0755 -p /var/lib/nixos + touch /var/lib/nixos/did-channel-init + fi + ''; }; } diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix index d1a42fc7a713b..c322efb683d6f 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix @@ -26,22 +26,28 @@ plasma5Packages.kate ]; - system.activationScripts.installerDesktop = let - - # Comes from documentation.nix when xserver and nixos.enable are true. - manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop"; - - homeDir = "/home/nixos/"; - desktopDir = homeDir + "Desktop/"; - - in '' - mkdir -p ${desktopDir} - chown nixos ${homeDir} ${desktopDir} - - ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} - ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} - ln -sfT ${pkgs.plasma5Packages.konsole}/share/applications/org.kde.konsole.desktop ${desktopDir + "org.kde.konsole.desktop"} - ln -sfT ${pkgs.calamares-nixos}/share/applications/io.calamares.calamares.desktop ${desktopDir + "io.calamares.calamares.desktop"} - ''; + system.activationScripts.installerDesktop = + let + + # Comes from documentation.nix when xserver and nixos.enable are true. + manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop"; + + homeDir = "/home/nixos/"; + desktopDir = homeDir + "Desktop/"; + + in + '' + mkdir -p ${desktopDir} + chown nixos ${homeDir} ${desktopDir} + + ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} + ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} + ln -sfT ${pkgs.plasma5Packages.konsole}/share/applications/org.kde.konsole.desktop ${ + desktopDir + "org.kde.konsole.desktop" + } + ln -sfT ${pkgs.calamares-nixos}/share/applications/io.calamares.calamares.desktop ${ + desktopDir + "io.calamares.calamares.desktop" + } + ''; } diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix index bdcf751bf6290..e420300e4166e 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix @@ -24,21 +24,25 @@ pkgs.maliit-keyboard ]; - system.activationScripts.installerDesktop = let - - # Comes from documentation.nix when xserver and nixos.enable are true. - manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop"; - - homeDir = "/home/nixos/"; - desktopDir = homeDir + "Desktop/"; - - in '' - mkdir -p ${desktopDir} - chown nixos ${homeDir} ${desktopDir} - - ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} - ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} - ln -sfT ${pkgs.calamares-nixos}/share/applications/io.calamares.calamares.desktop ${desktopDir + "io.calamares.calamares.desktop"} - ''; + system.activationScripts.installerDesktop = + let + + # Comes from documentation.nix when xserver and nixos.enable are true. + manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop"; + + homeDir = "/home/nixos/"; + desktopDir = homeDir + "Desktop/"; + + in + '' + mkdir -p ${desktopDir} + chown nixos ${homeDir} ${desktopDir} + + ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} + ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} + ln -sfT ${pkgs.calamares-nixos}/share/applications/io.calamares.calamares.desktop ${ + desktopDir + "io.calamares.calamares.desktop" + } + ''; } diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix index 3f3571d253825..631342d51ea79 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix @@ -3,7 +3,10 @@ { pkgs, ... }: let - calamares-nixos-autostart = pkgs.makeAutostartItem { name = "io.calamares.calamares"; package = pkgs.calamares-nixos; }; + calamares-nixos-autostart = pkgs.makeAutostartItem { + name = "io.calamares.calamares"; + package = pkgs.calamares-nixos; + }; in { imports = [ ./installation-cd-graphical-base.nix ]; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix index 770df5bb997b9..4f7b7d4b2bf9d 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix @@ -26,21 +26,25 @@ plasma5Packages.kate ]; - system.activationScripts.installerDesktop = let - - # Comes from documentation.nix when xserver and nixos.enable are true. - manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop"; - - homeDir = "/home/nixos/"; - desktopDir = homeDir + "Desktop/"; - - in '' - mkdir -p ${desktopDir} - chown nixos ${homeDir} ${desktopDir} - - ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} - ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} - ln -sfT ${pkgs.plasma5Packages.konsole}/share/applications/org.kde.konsole.desktop ${desktopDir + "org.kde.konsole.desktop"} - ''; + system.activationScripts.installerDesktop = + let + + # Comes from documentation.nix when xserver and nixos.enable are true. + manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop"; + + homeDir = "/home/nixos/"; + desktopDir = homeDir + "Desktop/"; + + in + '' + mkdir -p ${desktopDir} + chown nixos ${homeDir} ${desktopDir} + + ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"} + ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"} + ln -sfT ${pkgs.plasma5Packages.konsole}/share/applications/org.kde.konsole.desktop ${ + desktopDir + "org.kde.konsole.desktop" + } + ''; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix index a669d61571fef..997423e452572 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix @@ -6,8 +6,8 @@ config = { warnings = [ '' - .../cd-dvd/sd-image-aarch64-new-kernel.nix is deprecated and will eventually be removed. - Please switch to .../sd-card/sd-image-aarch64-new-kernel-installer.nix, instead. + .../cd-dvd/sd-image-aarch64-new-kernel.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-aarch64-new-kernel-installer.nix, instead. '' ]; }; diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index 76c1509b8f7e0..e7afffb81a5a3 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -6,8 +6,8 @@ config = { warnings = [ '' - .../cd-dvd/sd-image-aarch64.nix is deprecated and will eventually be removed. - Please switch to .../sd-card/sd-image-aarch64-installer.nix, instead. + .../cd-dvd/sd-image-aarch64.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-aarch64-installer.nix, instead. '' ]; }; diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix index 6ee0eb9e9b8db..c16b82256b4f8 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -6,8 +6,8 @@ config = { warnings = [ '' - .../cd-dvd/sd-image-armv7l-multiplatform.nix is deprecated and will eventually be removed. - Please switch to .../sd-card/sd-image-armv7l-multiplatform-installer.nix, instead. + .../cd-dvd/sd-image-armv7l-multiplatform.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-armv7l-multiplatform-installer.nix, instead. '' ]; }; diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix index 747440ba9c619..b870d3a8b24e1 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -6,8 +6,8 @@ config = { warnings = [ '' - .../cd-dvd/sd-image-raspberrypi.nix is deprecated and will eventually be removed. - Please switch to .../sd-card/sd-image-raspberrypi-installer.nix, instead. + .../cd-dvd/sd-image-raspberrypi.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-raspberrypi-installer.nix, instead. '' ]; }; diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index e2d6dcb3fe3ad..8f8efff4d41dc 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -6,8 +6,8 @@ config = { warnings = [ '' - .../cd-dvd/sd-image.nix is deprecated and will eventually be removed. - Please switch to .../sd-card/sd-image.nix, instead. + .../cd-dvd/sd-image.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image.nix, instead. '' ]; }; diff --git a/nixos/modules/installer/netboot/netboot-base.nix b/nixos/modules/installer/netboot/netboot-base.nix index 7e66a49c73919..b969d2de6b675 100644 --- a/nixos/modules/installer/netboot/netboot-base.nix +++ b/nixos/modules/installer/netboot/netboot-base.nix @@ -6,12 +6,12 @@ with lib; { - imports = - [ ./netboot.nix + imports = [ + ./netboot.nix - # Profiles of this basic netboot media - ../../profiles/all-hardware.nix - ../../profiles/base.nix - ../../profiles/installation-device.nix - ]; + # Profiles of this basic netboot media + ../../profiles/all-hardware.nix + ../../profiles/base.nix + ../../profiles/installation-device.nix + ]; } diff --git a/nixos/modules/installer/netboot/netboot-minimal.nix b/nixos/modules/installer/netboot/netboot-minimal.nix index 5ca255acf35f4..dc881a3369973 100644 --- a/nixos/modules/installer/netboot/netboot-minimal.nix +++ b/nixos/modules/installer/netboot/netboot-minimal.nix @@ -10,6 +10,6 @@ documentation.man.enable = lib.mkOverride 500 true; hardware.enableRedistributableFirmware = lib.mkOverride 70 false; - system.extraDependencies = lib.mkOverride 70 []; + system.extraDependencies = lib.mkOverride 70 [ ]; networking.wireless.enable = lib.mkOverride 500 false; } diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix index 23ed928512966..1fa88ad280efd 100644 --- a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix @@ -1,6 +1,11 @@ # To build, use: # nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ @@ -19,26 +24,35 @@ # - ttyAMA0: for Allwinner (pcDuino3 Nano) and QEMU's -machine virt # - ttyO0: for OMAP (BeagleBone Black) # - ttySAC2: for Exynos (ODROID-XU3) - boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=ttySAC2,115200n8" "console=tty0"]; + boot.kernelParams = [ + "console=ttyS0,115200n8" + "console=ttymxc0,115200n8" + "console=ttyAMA0,115200n8" + "console=ttyO0,115200n8" + "console=ttySAC2,115200n8" + "console=tty0" + ]; sdImage = { - populateFirmwareCommands = let - configTxt = pkgs.writeText "config.txt" '' - # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel - # when attempting to show low-voltage or overtemperature warnings. - avoid_warnings=1 + populateFirmwareCommands = + let + configTxt = pkgs.writeText "config.txt" '' + # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel + # when attempting to show low-voltage or overtemperature warnings. + avoid_warnings=1 - [pi2] - kernel=u-boot-rpi2.bin + [pi2] + kernel=u-boot-rpi2.bin - [pi3] - kernel=u-boot-rpi3.bin + [pi3] + kernel=u-boot-rpi3.bin - # U-Boot used to need this to work, regardless of whether UART is actually used or not. - # TODO: check when/if this can be removed. - enable_uart=1 - ''; - in '' + # U-Boot used to need this to work, regardless of whether UART is actually used or not. + # TODO: check when/if this can be removed. + enable_uart=1 + ''; + in + '' (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) cp ${pkgs.ubootRaspberryPi2}/u-boot.bin firmware/u-boot-rpi2.bin cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin firmware/u-boot-rpi3.bin diff --git a/nixos/modules/installer/sd-card/sd-image-powerpc64le.nix b/nixos/modules/installer/sd-card/sd-image-powerpc64le.nix index 143c678e43fbc..549bd21f6b08f 100644 --- a/nixos/modules/installer/sd-card/sd-image-powerpc64le.nix +++ b/nixos/modules/installer/sd-card/sd-image-powerpc64le.nix @@ -1,6 +1,11 @@ # To build, use: # nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-powerpc64le.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ @@ -25,25 +30,26 @@ sdImage = { populateFirmwareCommands = ""; - populateRootCommands = '' - mkdir -p ./files/boot - ${config.boot.loader.generic-extlinux-compatible.populateCmd} \ - -c ${config.system.build.toplevel} \ - -d ./files/boot - '' - # https://github.com/open-power/petitboot/blob/master/discover/syslinux-parser.c - # petitboot will look in these paths (plus all-caps versions of them): - # /boot/syslinux/syslinux.cfg - # /syslinux/syslinux.cfg - # /syslinux.cfg - + '' - mv ./files/boot/extlinux ./files/boot/syslinux - mv ./files/boot/syslinux/extlinux.conf ./files/boot/syslinux/syslinux.cfg - '' - # petitboot does not support relative paths for LINUX or INITRD; it prepends - # a `/` when parsing these fields - + '' - sed -i 's_^\(\W\W*\(INITRD\|initrd\|LINUX\|linux\)\W\)\.\./_\1/boot/_' ./files/boot/syslinux/syslinux.cfg - ''; + populateRootCommands = + '' + mkdir -p ./files/boot + ${config.boot.loader.generic-extlinux-compatible.populateCmd} \ + -c ${config.system.build.toplevel} \ + -d ./files/boot + '' + # https://github.com/open-power/petitboot/blob/master/discover/syslinux-parser.c + # petitboot will look in these paths (plus all-caps versions of them): + # /boot/syslinux/syslinux.cfg + # /syslinux/syslinux.cfg + # /syslinux.cfg + + '' + mv ./files/boot/extlinux ./files/boot/syslinux + mv ./files/boot/syslinux/extlinux.conf ./files/boot/syslinux/syslinux.cfg + '' + # petitboot does not support relative paths for LINUX or INITRD; it prepends + # a `/` when parsing these fields + + '' + sed -i 's_^\(\W\W*\(INITRD\|initrd\|LINUX\|linux\)\W\)\.\./_\1/boot/_' ./files/boot/syslinux/syslinux.cfg + ''; }; } diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix index 0e6eb251091c0..dcb3fcf79ba71 100644 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix @@ -1,6 +1,11 @@ # To build, use: # nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-raspberrypi.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ @@ -15,23 +20,25 @@ boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi1; sdImage = { - populateFirmwareCommands = let - configTxt = pkgs.writeText "config.txt" '' - # u-boot refuses to start (gets stuck at rainbow polygon) without this, - # at least on Raspberry Pi 0. - enable_uart=1 + populateFirmwareCommands = + let + configTxt = pkgs.writeText "config.txt" '' + # u-boot refuses to start (gets stuck at rainbow polygon) without this, + # at least on Raspberry Pi 0. + enable_uart=1 - # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel - # when attempting to show low-voltage or overtemperature warnings. - avoid_warnings=1 + # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel + # when attempting to show low-voltage or overtemperature warnings. + avoid_warnings=1 - [pi0] - kernel=u-boot-rpi0.bin + [pi0] + kernel=u-boot-rpi0.bin - [pi1] - kernel=u-boot-rpi1.bin - ''; - in '' + [pi1] + kernel=u-boot-rpi1.bin + ''; + in + '' (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf *.dtb $NIX_BUILD_TOP/firmware/) cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin firmware/u-boot-rpi0.bin cp ${pkgs.ubootRaspberryPi}/u-boot.bin firmware/u-boot-rpi1.bin diff --git a/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix b/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix index a3e30768da456..e4bfa7591b629 100644 --- a/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix +++ b/nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix @@ -1,6 +1,11 @@ # To build, use: # nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-riscv64-qemu.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ @@ -20,7 +25,10 @@ }; boot.consoleLogLevel = lib.mkDefault 7; - boot.kernelParams = [ "console=tty0" "console=ttyS0,115200n8" ]; + boot.kernelParams = [ + "console=tty0" + "console=ttyS0,115200n8" + ]; sdImage = { populateFirmwareCommands = ""; diff --git a/nixos/modules/installer/sd-card/sd-image-x86_64.nix b/nixos/modules/installer/sd-card/sd-image-x86_64.nix index b44c0a4eeca5e..731ab0fa88a42 100644 --- a/nixos/modules/installer/sd-card/sd-image-x86_64.nix +++ b/nixos/modules/installer/sd-card/sd-image-x86_64.nix @@ -2,7 +2,12 @@ # nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-x86_64.nix -A config.system.build.sdImage # This image is primarily used in NixOS tests (boot.nix) to test `boot.loader.generic-extlinux-compatible`. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix index 489a2b8085aef..5853f64329c1e 100644 --- a/nixos/modules/misc/assertions.nix +++ b/nixos/modules/misc/assertions.nix @@ -6,8 +6,13 @@ assertions = lib.mkOption { type = lib.types.listOf lib.types.unspecified; internal = true; - default = []; - example = [ { assertion = false; message = "you can't enable this for that reason"; } ]; + default = [ ]; + example = [ + { + assertion = false; + message = "you can't enable this for that reason"; + } + ]; description = '' This option allows modules to express conditions that must hold for the evaluation of the system configuration to @@ -17,7 +22,7 @@ warnings = lib.mkOption { internal = true; - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; example = [ "The `foo' service is deprecated and will go away soon!" ]; description = '' diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix index 28e764bffc791..2582fde5246c6 100644 --- a/nixos/modules/misc/crashdump.nix +++ b/nixos/modules/misc/crashdump.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let crashdump = config.boot.crashDump; @@ -32,7 +37,10 @@ in }; kernelParams = lib.mkOption { type = lib.types.listOf lib.types.str; - default = [ "1" "boot.shell_on_fail" ]; + default = [ + "1" + "boot.shell_on_fail" + ]; description = '' Parameters that will be passed to the kernel kexec-ed on crash. ''; @@ -41,7 +49,7 @@ in }; }; -###### implementation + ###### implementation config = lib.mkIf crashdump.enable { boot = { @@ -53,9 +61,9 @@ in --command-line="init=$(readlink -f /run/current-system/init) irqpoll maxcpus=1 reset_devices ${kernelParams}" ''; kernelParams = [ - "crashkernel=${crashdump.reservedMemory}" - "nmi_watchdog=panic" - "softlockup_panic=1" + "crashkernel=${crashdump.reservedMemory}" + "nmi_watchdog=panic" + "softlockup_panic=1" ]; }; }; diff --git a/nixos/modules/misc/documentation/test.nix b/nixos/modules/misc/documentation/test.nix index 1eaa63b1fb6ca..dcbbdcb54e818 100644 --- a/nixos/modules/misc/documentation/test.nix +++ b/nixos/modules/misc/documentation/test.nix @@ -1,4 +1,8 @@ -{ nixosLib, pkgsModule, runCommand }: +{ + nixosLib, + pkgsModule, + runCommand, +}: let sys = nixosLib.evalModules rec { @@ -7,13 +11,16 @@ let ../documentation.nix ../version.nix - ({ lib, someArg, ... }: { - # Make sure imports from specialArgs are respected - imports = [ someArg.myModule ]; + ( + { lib, someArg, ... }: + { + # Make sure imports from specialArgs are respected + imports = [ someArg.myModule ]; - # TODO test this - meta.doc = ./test-dummy.chapter.xml; - }) + # TODO test this + meta.doc = ./test-dummy.chapter.xml; + } + ) { _module.args = { @@ -27,23 +34,26 @@ let documentation.nixos.includeAllModules = true; } ]; - specialArgs.someArg.myModule = { lib, ... }: { - options.foobar = lib.mkOption { - type = lib.types.str; - description = "The foobar option was added via specialArgs"; - default = "qux"; + specialArgs.someArg.myModule = + { lib, ... }: + { + options.foobar = lib.mkOption { + type = lib.types.str; + description = "The foobar option was added via specialArgs"; + default = "qux"; + }; }; - }; }; in runCommand "documentation-check" -{ - inherit (sys.config.system.build.manual) optionsJSON; -} '' - json="$optionsJSON/share/doc/nixos/options.json" - echo checking $json + { + inherit (sys.config.system.build.manual) optionsJSON; + } + '' + json="$optionsJSON/share/doc/nixos/options.json" + echo checking $json - grep 'The foobar option was added via specialArgs' <"$json" >/dev/null - touch $out -'' + grep 'The foobar option was added via specialArgs' <"$json" >/dev/null + touch $out + '' diff --git a/nixos/modules/misc/extra-arguments.nix b/nixos/modules/misc/extra-arguments.nix index 48891b4404986..a64b885185385 100644 --- a/nixos/modules/misc/extra-arguments.nix +++ b/nixos/modules/misc/extra-arguments.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: { _module.args = { diff --git a/nixos/modules/misc/label.nix b/nixos/modules/misc/label.nix index aba5ae23dc395..3c4c84057dcd4 100644 --- a/nixos/modules/misc/label.nix +++ b/nixos/modules/misc/label.nix @@ -42,7 +42,7 @@ in nixos.tags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "with-xen" ]; description = '' Strings to prefix to the default @@ -65,9 +65,13 @@ in config = { # This is set here rather than up there so that changing it would # not rebuild the manual - system.nixos.label = lib.mkDefault (lib.maybeEnv "NIXOS_LABEL" - (lib.concatStringsSep "-" ((lib.sort (x: y: x < y) cfg.tags) - ++ [ (lib.maybeEnv "NIXOS_LABEL_VERSION" cfg.version) ]))); + system.nixos.label = lib.mkDefault ( + lib.maybeEnv "NIXOS_LABEL" ( + lib.concatStringsSep "-" ( + (lib.sort (x: y: x < y) cfg.tags) ++ [ (lib.maybeEnv "NIXOS_LABEL_VERSION" cfg.version) ] + ) + ) + ); }; } diff --git a/nixos/modules/misc/lib.nix b/nixos/modules/misc/lib.nix index 121f396701eae..e50794ccc5ac6 100644 --- a/nixos/modules/misc/lib.nix +++ b/nixos/modules/misc/lib.nix @@ -3,7 +3,7 @@ { options = { lib = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.attrs; diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix index 0d731dfbaebc6..5b57463bff6e4 100644 --- a/nixos/modules/misc/locate.nix +++ b/nixos/modules/misc/locate.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.locate; @@ -175,7 +180,13 @@ in pruneNames = lib.mkOption { type = lib.types.listOf lib.types.str; - default = lib.optionals (!isFindutils) [ ".bzr" ".cache" ".git" ".hg" ".svn" ]; + default = lib.optionals (!isFindutils) [ + ".bzr" + ".cache" + ".git" + ".hg" + ".svn" + ]; defaultText = lib.literalMD '' `[ ".bzr" ".cache" ".git" ".hg" ".svn" ]`, if supported by the locate implementation (i.e. mlocate or plocate). @@ -219,8 +230,17 @@ in }; in lib.mkIf isMorPLocate { - locate = lib.mkMerge [ common mlocate plocate ]; - plocate = lib.mkIf isPLocate (lib.mkMerge [ common plocate ]); + locate = lib.mkMerge [ + common + mlocate + plocate + ]; + plocate = lib.mkIf isPLocate ( + lib.mkMerge [ + common + plocate + ] + ); }; environment = { @@ -239,12 +259,15 @@ in }; }; - warnings = lib.optional (isMorPLocate && cfg.localuser != null) - "mlocate and plocate do not support the services.locate.localuser option. updatedb will run as root. Silence this warning by setting services.locate.localuser = null." - ++ lib.optional (isFindutils && cfg.pruneNames != [ ]) - "findutils locate does not support pruning by directory component" - ++ lib.optional (isFindutils && cfg.pruneBindMounts) - "findutils locate does not support skipping bind mounts"; + warnings = + lib.optional (isMorPLocate && cfg.localuser != null) + "mlocate and plocate do not support the services.locate.localuser option. updatedb will run as root. Silence this warning by setting services.locate.localuser = null." + ++ lib.optional ( + isFindutils && cfg.pruneNames != [ ] + ) "findutils locate does not support pruning by directory component" + ++ lib.optional ( + isFindutils && cfg.pruneBindMounts + ) "findutils locate does not support skipping bind mounts"; systemd.services.update-locatedb = { description = "Update Locate Database"; @@ -255,10 +278,15 @@ in script = if isMorPLocate then let - toFlags = x: - lib.optional (cfg.${x} != [ ]) - "--${lib.toLower x} '${lib.concatStringsSep " " cfg.${x}}'"; - args = lib.concatLists (map toFlags [ "pruneFS" "pruneNames" "prunePaths" ]); + toFlags = + x: lib.optional (cfg.${x} != [ ]) "--${lib.toLower x} '${lib.concatStringsSep " " cfg.${x}}'"; + args = lib.concatLists ( + map toFlags [ + "pruneFS" + "pruneNames" + "prunePaths" + ] + ); in '' exec ${cfg.package}/bin/updatedb \ @@ -266,11 +294,12 @@ in --prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \ ${lib.concatStringsSep " " cfg.extraFlags} '' - else '' - exec ${cfg.package}/bin/updatedb \ - ${lib.optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \ - --output=${toString cfg.output} ${lib.concatStringsSep " " cfg.extraFlags} - ''; + else + '' + exec ${cfg.package}/bin/updatedb \ + ${lib.optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \ + --output=${toString cfg.output} ${lib.concatStringsSep " " cfg.extraFlags} + ''; environment = lib.optionalAttrs (!isMorPLocate) { PRUNEFS = lib.concatStringsSep " " cfg.pruneFS; PRUNEPATHS = lib.concatStringsSep " " cfg.prunePaths; diff --git a/nixos/modules/misc/man-db.nix b/nixos/modules/misc/man-db.nix index d557b5e20b0f2..56b935c975976 100644 --- a/nixos/modules/misc/man-db.nix +++ b/nixos/modules/misc/man-db.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.documentation.man.man-db; @@ -15,7 +20,7 @@ in skipPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; internal = true; description = '' Packages to *not* include in the man-db. @@ -29,8 +34,7 @@ in name = "man-paths"; paths = lib.subtractLists cfg.skipPackages config.environment.systemPackages; pathsToLink = [ "/share/man" ]; - extraOutputsToInstall = [ "man" ] - ++ lib.optionals config.documentation.dev.enable [ "devman" ]; + extraOutputsToInstall = [ "man" ] ++ lib.optionals config.documentation.dev.enable [ "devman" ]; ignoreCollisions = true; }; defaultText = lib.literalMD "all man pages in {option}`config.environment.systemPackages`"; @@ -55,19 +59,25 @@ in }; imports = [ - (lib.mkRenamedOptionModule [ "documentation" "man" "manualPages" ] [ "documentation" "man" "man-db" "manualPages" ]) + (lib.mkRenamedOptionModule + [ "documentation" "man" "manualPages" ] + [ "documentation" "man" "man-db" "manualPages" ] + ) ]; config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; environment.etc."man_db.conf".text = let - manualCache = pkgs.runCommand "man-cache" { - nativeBuildInputs = [ cfg.package ]; - } '' - echo "MANDB_MAP ${cfg.manualPages}/share/man $out" > man.conf - mandb -C man.conf -psc >/dev/null 2>&1 - ''; + manualCache = + pkgs.runCommand "man-cache" + { + nativeBuildInputs = [ cfg.package ]; + } + '' + echo "MANDB_MAP ${cfg.manualPages}/share/man $out" > man.conf + mandb -C man.conf -psc >/dev/null 2>&1 + ''; in '' # Manual pages paths for NixOS @@ -75,8 +85,8 @@ in MANPATH_MAP /run/wrappers/bin /run/current-system/sw/share/man ${lib.optionalString config.documentation.man.generateCaches '' - # Generated manual pages cache for NixOS (immutable) - MANDB_MAP /run/current-system/sw/share/man ${manualCache} + # Generated manual pages cache for NixOS (immutable) + MANDB_MAP /run/current-system/sw/share/man ${manualCache} ''} # Manual pages caches for NixOS MANDB_MAP /run/current-system/sw/share/man /var/cache/man/nixos diff --git a/nixos/modules/misc/mandoc.nix b/nixos/modules/misc/mandoc.nix index 166693930b5c7..b459b28dad498 100644 --- a/nixos/modules/misc/mandoc.nix +++ b/nixos/modules/misc/mandoc.nix @@ -1,22 +1,30 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let makewhatis = "${lib.getBin cfg.package}/bin/makewhatis"; cfg = config.documentation.man.mandoc; - toMandocOutput = output: ( - lib.mapAttrsToList - ( - name: value: - if lib.isString value || lib.isPath value then "output ${name} ${value}" - else if lib.isInt value then "output ${name} ${builtins.toString value}" - else if lib.isBool value then lib.optionalString value "output ${name}" - else if value == null then "" - else throw "Unrecognized value type ${builtins.typeOf value} of key ${name} in mandoc output settings" - ) - output - ); + toMandocOutput = + output: + (lib.mapAttrsToList ( + name: value: + if lib.isString value || lib.isPath value then + "output ${name} ${value}" + else if lib.isInt value then + "output ${name} ${builtins.toString value}" + else if lib.isBool value then + lib.optionalString value "output ${name}" + else if value == null then + "" + else + throw "Unrecognized value type ${builtins.typeOf value} of key ${name} in mandoc output settings" + ) output); makeLeadingSlashes = map (path: if builtins.substring 0 1 path != "/" then "/${path}" else path); in @@ -208,7 +216,9 @@ in # TODO(@sternenseemman): fix symlinked directories not getting indexed, # see: https://inbox.vuxu.org/mandoc-tech/20210906171231.GF83680@athene.usta.de/T/#e85f773c1781e3fef85562b2794f9cad7b2909a3c extraSetup = lib.mkIf config.documentation.man.generateCaches '' - for man_path in ${lib.concatMapStringsSep " " (path: "$out" + lib.escapeShellArg path) cfg.cachePath} + for man_path in ${ + lib.concatMapStringsSep " " (path: "$out" + lib.escapeShellArg path) cfg.cachePath + } do [[ -d "$man_path" ]] && ${makewhatis} -T utf8 $man_path done diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix index 1569662b403cf..1e75a84452f81 100644 --- a/nixos/modules/misc/meta.nix +++ b/nixos/modules/misc/meta.nix @@ -3,7 +3,9 @@ let maintainer = lib.mkOptionType { name = "maintainer"; check = email: lib.elem email (lib.attrValues lib.maintainers); - merge = loc: defs: lib.listToAttrs (lib.singleton (lib.nameValuePair (lib.last defs).file (lib.last defs).value)); + merge = + loc: defs: + lib.listToAttrs (lib.singleton (lib.nameValuePair (lib.last defs).file (lib.last defs).value)); }; listOfMaintainers = lib.types.listOf maintainer // { @@ -12,11 +14,24 @@ let # "maintainer1 " # "maintainer2 " ]; # } - merge = loc: defs: - lib.zipAttrs - (lib.flatten (lib.imap1 (n: def: lib.imap1 (m: def': - maintainer.merge (loc ++ ["[${toString n}-${toString m}]"]) - [{ inherit (def) file; value = def'; }]) def.value) defs)); + merge = + loc: defs: + lib.zipAttrs ( + lib.flatten ( + lib.imap1 ( + n: def: + lib.imap1 ( + m: def': + maintainer.merge (loc ++ [ "[${toString n}-${toString m}]" ]) [ + { + inherit (def) file; + value = def'; + } + ] + ) def.value + ) defs + ) + ); }; docFile = lib.types.path // { @@ -33,7 +48,7 @@ in maintainers = lib.mkOption { type = listOfMaintainers; internal = true; - default = []; + default = [ ]; example = lib.literalExpression ''[ lib.maintainers.all ]''; description = '' List of maintainers of each module. This option should be defined at diff --git a/nixos/modules/misc/nixops-autoluks.nix b/nixos/modules/misc/nixops-autoluks.nix index 9b5a376027f52..953fea7f38bca 100644 --- a/nixos/modules/misc/nixops-autoluks.nix +++ b/nixos/modules/misc/nixops-autoluks.nix @@ -1,10 +1,19 @@ -{ config, options, lib, ... }: +{ + config, + options, + lib, + ... +}: let - path = [ "deployment" "autoLuks" ]; - hasAutoLuksConfig = lib.hasAttrByPath path config && (lib.attrByPath path {} config) != {}; + path = [ + "deployment" + "autoLuks" + ]; + hasAutoLuksConfig = lib.hasAttrByPath path config && (lib.attrByPath path { } config) != { }; inherit (config.nixops) enableDeprecatedAutoLuks; -in { +in +{ options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption "the deprecated NixOps AutoLuks module"; config = { diff --git a/nixos/modules/misc/nixpkgs-flake.nix b/nixos/modules/misc/nixpkgs-flake.nix index 4c91d5e604f26..912f7a11fa367 100644 --- a/nixos/modules/misc/nixpkgs-flake.nix +++ b/nixos/modules/misc/nixpkgs-flake.nix @@ -1,4 +1,10 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: let cfg = config.nixpkgs.flake; in @@ -72,31 +78,35 @@ in }; }; - config = lib.mkIf (cfg.source != null) (lib.mkMerge [ - { - assertions = [ - { - assertion = cfg.setNixPath -> cfg.setFlakeRegistry; - message = '' - Setting `nixpkgs.flake.setNixPath` requires that `nixpkgs.flake.setFlakeRegistry` also - be set, since it is implemented in terms of indirection through the flake registry. - ''; - } - ]; - } - (lib.mkIf cfg.setFlakeRegistry { - nix.registry.nixpkgs.to = lib.mkDefault { - type = "path"; - path = cfg.source; - }; - }) - (lib.mkIf cfg.setNixPath { - # N.B. This does not include nixos-config in NIX_PATH unlike modules/config/nix-channel.nix - # because we would need some kind of evil shim taking the *calling* flake's self path, - # perhaps, to ever make that work (in order to know where the Nix expr for the system came - # from and how to call it). - nix.nixPath = lib.mkDefault ([ "nixpkgs=flake:nixpkgs" ] - ++ lib.optional config.nix.channel.enable "/nix/var/nix/profiles/per-user/root/channels"); - }) - ]); + config = lib.mkIf (cfg.source != null) ( + lib.mkMerge [ + { + assertions = [ + { + assertion = cfg.setNixPath -> cfg.setFlakeRegistry; + message = '' + Setting `nixpkgs.flake.setNixPath` requires that `nixpkgs.flake.setFlakeRegistry` also + be set, since it is implemented in terms of indirection through the flake registry. + ''; + } + ]; + } + (lib.mkIf cfg.setFlakeRegistry { + nix.registry.nixpkgs.to = lib.mkDefault { + type = "path"; + path = cfg.source; + }; + }) + (lib.mkIf cfg.setNixPath { + # N.B. This does not include nixos-config in NIX_PATH unlike modules/config/nix-channel.nix + # because we would need some kind of evil shim taking the *calling* flake's self path, + # perhaps, to ever make that work (in order to know where the Nix expr for the system came + # from and how to call it). + nix.nixPath = lib.mkDefault ( + [ "nixpkgs=flake:nixpkgs" ] + ++ lib.optional config.nix.channel.enable "/nix/var/nix/profiles/per-user/root/channels" + ); + }) + ] + ); } diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 4048fd6857378..e1c705eef3b5a 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -1,42 +1,47 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: let cfg = config.nixpkgs; opt = options.nixpkgs; - isConfig = x: - builtins.isAttrs x || lib.isFunction x; + isConfig = x: builtins.isAttrs x || lib.isFunction x; - optCall = f: x: - if lib.isFunction f - then f x - else f; + optCall = f: x: if lib.isFunction f then f x else f; - mergeConfig = lhs_: rhs_: + mergeConfig = + lhs_: rhs_: let lhs = optCall lhs_ { inherit pkgs; }; rhs = optCall rhs_ { inherit pkgs; }; in - lib.recursiveUpdate lhs rhs // - lib.optionalAttrs (lhs ? packageOverrides) { - packageOverrides = pkgs: - optCall lhs.packageOverrides pkgs // - optCall (lib.attrByPath [ "packageOverrides" ] { } rhs) pkgs; - } // - lib.optionalAttrs (lhs ? perlPackageOverrides) { - perlPackageOverrides = pkgs: - optCall lhs.perlPackageOverrides pkgs // - optCall (lib.attrByPath [ "perlPackageOverrides" ] { } rhs) pkgs; + lib.recursiveUpdate lhs rhs + // lib.optionalAttrs (lhs ? packageOverrides) { + packageOverrides = + pkgs: + optCall lhs.packageOverrides pkgs // optCall (lib.attrByPath [ "packageOverrides" ] { } rhs) pkgs; + } + // lib.optionalAttrs (lhs ? perlPackageOverrides) { + perlPackageOverrides = + pkgs: + optCall lhs.perlPackageOverrides pkgs + // optCall (lib.attrByPath [ "perlPackageOverrides" ] { } rhs) pkgs; }; configType = lib.mkOptionType { name = "nixpkgs-config"; description = "nixpkgs config"; - check = x: - let traceXIfNot = c: - if c x then true - else lib.traceSeqN 1 x false; - in traceXIfNot isConfig; - merge = args: lib.foldr (def: mergeConfig def.value) {}; + check = + x: + let + traceXIfNot = c: if c x then true else lib.traceSeqN 1 x false; + in + traceXIfNot isConfig; + merge = args: lib.foldr (def: mergeConfig def.value) { }; }; overlayType = lib.mkOptionType { @@ -52,7 +57,7 @@ let description = "An evaluation of Nixpkgs; the top level attribute set of packages"; }; - hasBuildPlatform = opt.buildPlatform.highestPrio < (lib.mkOptionDefault {}).priority; + hasBuildPlatform = opt.buildPlatform.highestPrio < (lib.mkOptionDefault { }).priority; hasHostPlatform = opt.hostPlatform.isDefined; hasPlatform = hasHostPlatform || hasBuildPlatform; @@ -61,31 +66,39 @@ let buildPlatformLine = lib.optionalString hasBuildPlatform "${lib.showOptionWithDefLocs opt.buildPlatform}"; legacyOptionsDefined = - lib.optional (opt.localSystem.highestPrio < (lib.mkDefault {}).priority) opt.system - ++ lib.optional (opt.localSystem.highestPrio < (lib.mkOptionDefault {}).priority) opt.localSystem - ++ lib.optional (opt.crossSystem.highestPrio < (lib.mkOptionDefault {}).priority) opt.crossSystem - ; + lib.optional (opt.localSystem.highestPrio < (lib.mkDefault { }).priority) opt.system + ++ lib.optional (opt.localSystem.highestPrio < (lib.mkOptionDefault { }).priority) opt.localSystem + ++ lib.optional (opt.crossSystem.highestPrio < (lib.mkOptionDefault { }).priority) opt.crossSystem; defaultPkgs = - if opt.hostPlatform.isDefined - then - let isCross = cfg.buildPlatform != cfg.hostPlatform; - systemArgs = - if isCross - then { + if opt.hostPlatform.isDefined then + let + isCross = cfg.buildPlatform != cfg.hostPlatform; + systemArgs = + if isCross then + { localSystem = cfg.buildPlatform; crossSystem = cfg.hostPlatform; } - else { + else + { localSystem = cfg.hostPlatform; }; in - import ../../.. ({ - inherit (cfg) config overlays; - } // systemArgs) + import ../../.. ( + { + inherit (cfg) config overlays; + } + // systemArgs + ) else import ../../.. { - inherit (cfg) config overlays localSystem crossSystem; + inherit (cfg) + config + overlays + localSystem + crossSystem + ; }; finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs; @@ -96,7 +109,9 @@ in imports = [ ./assertions.nix ./meta.nix - (lib.mkRemovedOptionModule [ "nixpkgs" "initialSystem" ] "The NixOS options `nesting.clone` and `nesting.children` have been deleted, and replaced with named specialisation. Therefore `nixpgks.initialSystem` has no effect anymore.") + (lib.mkRemovedOptionModule [ "nixpkgs" "initialSystem" ] + "The NixOS options `nesting.clone` and `nesting.children` have been deleted, and replaced with named specialisation. Therefore `nixpgks.initialSystem` has no effect anymore." + ) ]; options.nixpkgs = { @@ -143,11 +158,10 @@ in }; config = lib.mkOption { - default = {}; - example = lib.literalExpression - '' - { allowBroken = true; allowUnfree = true; } - ''; + default = { }; + example = lib.literalExpression '' + { allowBroken = true; allowUnfree = true; } + ''; type = configType; description = '' Global configuration for Nixpkgs. @@ -158,18 +172,17 @@ in }; overlays = lib.mkOption { - default = []; - example = lib.literalExpression - '' - [ - (self: super: { - openssh = super.openssh.override { - hpnSupport = true; - kerberos = self.libkrb5; - }; - }) - ] - ''; + default = [ ]; + example = lib.literalExpression '' + [ + (self: super: { + openssh = super.openssh.override { + hpnSupport = true; + kerberos = self.libkrb5; + }; + }) + ] + ''; type = lib.types.listOf overlayType; description = '' List of overlays to apply to Nixpkgs. @@ -183,12 +196,13 @@ in hostPlatform = lib.mkOption { type = lib.types.either lib.types.str lib.types.attrs; # TODO utilize lib.systems.parsedPlatform - example = { system = "aarch64-linux"; }; + example = { + system = "aarch64-linux"; + }; # Make sure that the final value has all fields for sake of other modules # referring to this. TODO make `lib.systems` itself use the module system. apply = lib.systems.elaborate; - defaultText = lib.literalExpression - ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform''; + defaultText = lib.literalExpression ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform''; description = '' Specifies the platform where the NixOS configuration will run. @@ -201,16 +215,21 @@ in buildPlatform = lib.mkOption { type = lib.types.either lib.types.str lib.types.attrs; # TODO utilize lib.systems.parsedPlatform default = cfg.hostPlatform; - example = { system = "x86_64-linux"; }; + example = { + system = "x86_64-linux"; + }; # Make sure that the final value has all fields for sake of other modules # referring to this. - apply = inputBuildPlatform: - let elaborated = lib.systems.elaborate inputBuildPlatform; - in if lib.systems.equals elaborated cfg.hostPlatform - then cfg.hostPlatform # make identical, so that `==` equality works; see https://github.com/NixOS/nixpkgs/issues/278001 - else elaborated; - defaultText = lib.literalExpression - ''config.nixpkgs.hostPlatform''; + apply = + inputBuildPlatform: + let + elaborated = lib.systems.elaborate inputBuildPlatform; + in + if lib.systems.equals elaborated cfg.hostPlatform then + cfg.hostPlatform # make identical, so that `==` equality works; see https://github.com/NixOS/nixpkgs/issues/278001 + else + elaborated; + defaultText = lib.literalExpression ''config.nixpkgs.hostPlatform''; description = '' Specifies the platform on which NixOS should be built. By default, NixOS is built on the system where it runs, but you can @@ -228,12 +247,13 @@ in localSystem = lib.mkOption { type = lib.types.attrs; # TODO utilize lib.systems.parsedPlatform default = { inherit (cfg) system; }; - example = { system = "aarch64-linux"; }; + example = { + system = "aarch64-linux"; + }; # Make sure that the final value has all fields for sake of other modules # referring to this. TODO make `lib.systems` itself use the module system. apply = lib.systems.elaborate; - defaultText = lib.literalExpression - ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform''; + defaultText = lib.literalExpression ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform''; description = '' Systems with a recently generated `hardware-configuration.nix` do not need to specify this option, unless cross-compiling, in which case @@ -262,7 +282,9 @@ in crossSystem = lib.mkOption { type = lib.types.nullOr lib.types.attrs; # TODO utilize lib.systems.parsedPlatform default = null; - example = { system = "aarch64-linux"; }; + example = { + system = "aarch64-linux"; + }; description = '' Systems with a recently generated `hardware-configuration.nix` may instead specify *only* {option}`nixpkgs.buildPlatform`, @@ -284,8 +306,7 @@ in type = lib.types.str; example = "i686-linux"; default = - if opt.hostPlatform.isDefined - then + if opt.hostPlatform.isDefined then throw '' Neither ${opt.system} nor any other option in nixpkgs.* is meant to be read by modules and configurations. @@ -335,64 +356,67 @@ in # which is somewhat costly for Nixpkgs. With an explicit priority, we only # evaluate the wrapper to find out that the priority is lower, and then we # don't need to evaluate `finalPkgs`. - lib.mkOverride lib.modules.defaultOverridePriority - finalPkgs.__splicedPackages; + lib.mkOverride lib.modules.defaultOverridePriority finalPkgs.__splicedPackages; }; - assertions = let - # Whether `pkgs` was constructed by this module. This is false when any of - # nixpkgs.pkgs or _module.args.pkgs is set. - constructedByMe = - # We set it with default priority and it can not be merged, so if the - # pkgs module argument has that priority, it's from us. - (lib.modules.mergeAttrDefinitionsWithPrio options._module.args).pkgs.highestPrio + assertions = + let + # Whether `pkgs` was constructed by this module. This is false when any of + # nixpkgs.pkgs or _module.args.pkgs is set. + constructedByMe = + # We set it with default priority and it can not be merged, so if the + # pkgs module argument has that priority, it's from us. + (lib.modules.mergeAttrDefinitionsWithPrio options._module.args).pkgs.highestPrio == lib.modules.defaultOverridePriority - # Although, if nixpkgs.pkgs is set, we did forward it, but we did not construct it. + # Although, if nixpkgs.pkgs is set, we did forward it, but we did not construct it. && !opt.pkgs.isDefined; - in [ - ( - let - nixosExpectedSystem = - if config.nixpkgs.crossSystem != null - then config.nixpkgs.crossSystem.system or (lib.systems.parse.doubleFromSystem (lib.systems.parse.mkSystemFromString config.nixpkgs.crossSystem.config)) - else config.nixpkgs.localSystem.system or (lib.systems.parse.doubleFromSystem (lib.systems.parse.mkSystemFromString config.nixpkgs.localSystem.config)); - nixosOption = - if config.nixpkgs.crossSystem != null - then "nixpkgs.crossSystem" - else "nixpkgs.localSystem"; - pkgsSystem = finalPkgs.stdenv.targetPlatform.system; - in { - assertion = constructedByMe -> !hasPlatform -> nixosExpectedSystem == pkgsSystem; - message = "The NixOS nixpkgs.pkgs option was set to a Nixpkgs invocation that compiles to target system ${pkgsSystem} but NixOS was configured for system ${nixosExpectedSystem} via NixOS option ${nixosOption}. The NixOS system settings must match the Nixpkgs target system."; - } - ) - { - assertion = constructedByMe -> hasPlatform -> legacyOptionsDefined == []; - message = '' - Your system configures nixpkgs with the platform parameter${lib.optionalString hasBuildPlatform "s"}: - ${hostPlatformLine - }${buildPlatformLine + in + [ + ( + let + nixosExpectedSystem = + if config.nixpkgs.crossSystem != null then + config.nixpkgs.crossSystem.system or (lib.systems.parse.doubleFromSystem ( + lib.systems.parse.mkSystemFromString config.nixpkgs.crossSystem.config + )) + else + config.nixpkgs.localSystem.system or (lib.systems.parse.doubleFromSystem ( + lib.systems.parse.mkSystemFromString config.nixpkgs.localSystem.config + )); + nixosOption = + if config.nixpkgs.crossSystem != null then "nixpkgs.crossSystem" else "nixpkgs.localSystem"; + pkgsSystem = finalPkgs.stdenv.targetPlatform.system; + in + { + assertion = constructedByMe -> !hasPlatform -> nixosExpectedSystem == pkgsSystem; + message = "The NixOS nixpkgs.pkgs option was set to a Nixpkgs invocation that compiles to target system ${pkgsSystem} but NixOS was configured for system ${nixosExpectedSystem} via NixOS option ${nixosOption}. The NixOS system settings must match the Nixpkgs target system."; } - However, it also defines the legacy options: - ${lib.concatMapStrings lib.showOptionWithDefLocs legacyOptionsDefined} - For a future proof system configuration, we recommend to remove - the legacy definitions. - ''; - } - { - assertion = opt.pkgs.isDefined -> cfg.config == {}; - message = '' - Your system configures nixpkgs with an externally created instance. - `nixpkgs.config` options should be passed when creating the instance instead. - - Current value: - ${lib.generators.toPretty { multiline = true; } cfg.config} - - Defined in: - ${lib.concatMapStringsSep "\n" (file: " - ${file}") opt.config.files} - ''; - } - ]; + ) + { + assertion = constructedByMe -> hasPlatform -> legacyOptionsDefined == [ ]; + message = '' + Your system configures nixpkgs with the platform parameter${lib.optionalString hasBuildPlatform "s"}: + ${hostPlatformLine}${buildPlatformLine} + However, it also defines the legacy options: + ${lib.concatMapStrings lib.showOptionWithDefLocs legacyOptionsDefined} + For a future proof system configuration, we recommend to remove + the legacy definitions. + ''; + } + { + assertion = opt.pkgs.isDefined -> cfg.config == { }; + message = '' + Your system configures nixpkgs with an externally created instance. + `nixpkgs.config` options should be passed when creating the instance instead. + + Current value: + ${lib.generators.toPretty { multiline = true; } cfg.config} + + Defined in: + ${lib.concatMapStringsSep "\n" (file: " - ${file}") opt.config.files} + ''; + } + ]; }; # needs a full nixpkgs path to import nixpkgs diff --git a/nixos/modules/misc/nixpkgs/read-only.nix b/nixos/modules/misc/nixpkgs/read-only.nix index e3c4525e7db3c..fa372d13e545c 100644 --- a/nixos/modules/misc/nixpkgs/read-only.nix +++ b/nixos/modules/misc/nixpkgs/read-only.nix @@ -61,11 +61,9 @@ in config = { _module.args.pkgs = # find mistaken definitions - builtins.seq cfg.config - builtins.seq cfg.overlays - builtins.seq cfg.hostPlatform - builtins.seq cfg.buildPlatform - cfg.pkgs; + builtins.seq cfg.config builtins.seq cfg.overlays builtins.seq cfg.hostPlatform builtins.seq + cfg.buildPlatform + cfg.pkgs; nixpkgs.config = cfg.pkgs.config; nixpkgs.overlays = cfg.pkgs.overlays; nixpkgs.hostPlatform = cfg.pkgs.stdenv.hostPlatform; diff --git a/nixos/modules/misc/nixpkgs/test.nix b/nixos/modules/misc/nixpkgs/test.nix index e70b7a12e8dd7..1d4eff6a72cdb 100644 --- a/nixos/modules/misc/nixpkgs/test.nix +++ b/nixos/modules/misc/nixpkgs/test.nix @@ -1,10 +1,20 @@ # [nixpkgs]$ nix-build -A nixosTests.nixpkgs --show-trace -{ evalMinimalConfig, pkgs, lib, stdenv }: +{ + evalMinimalConfig, + pkgs, + lib, + stdenv, +}: let - eval = mod: evalMinimalConfig { - imports = [ ../nixpkgs.nix mod ]; - }; + eval = + mod: + evalMinimalConfig { + imports = [ + ../nixpkgs.nix + mod + ]; + }; withHost = eval { nixpkgs.hostPlatform = "aarch64-linux"; }; @@ -29,15 +39,23 @@ let nixpkgs.localSystem.system = "x86_64-darwin"; nixpkgs.crossSystem.system = "i686-linux"; imports = [ - { _file = "repeat.nix"; + { + _file = "repeat.nix"; nixpkgs.hostPlatform = "aarch64-linux"; } ]; }; - getErrors = module: + getErrors = + module: let - uncheckedEval = lib.evalModules { modules = [ ../nixpkgs.nix module ]; }; - in map (ass: ass.message) (lib.filter (ass: !ass.assertion) uncheckedEval.config.assertions); + uncheckedEval = lib.evalModules { + modules = [ + ../nixpkgs.nix + module + ]; + }; + in + map (ass: ass.message) (lib.filter (ass: !ass.assertion) uncheckedEval.config.assertions); readOnlyUndefined = evalMinimalConfig { imports = [ ./read-only.nix ]; @@ -62,7 +80,7 @@ let readOnlyBadOverlays = evalMinimalConfig { imports = [ ./read-only.nix ]; nixpkgs.pkgs = pkgs; - nixpkgs.overlays = [ (_: _: {}) ]; # do in pkgs instead! + nixpkgs.overlays = [ (_: _: { }) ]; # do in pkgs instead! }; readOnlyBadHostPlatform = evalMinimalConfig { @@ -77,7 +95,7 @@ let nixpkgs.buildPlatform = "foo-linux"; # do in pkgs instead! }; - throws = x: ! (builtins.tryEval x).success; + throws = x: !(builtins.tryEval x).success; in lib.recurseIntoAttrs { @@ -90,11 +108,15 @@ lib.recurseIntoAttrs { assert withHost._module.args.pkgs.stdenv.buildPlatform.system == "aarch64-linux"; assert withHostAndBuild._module.args.pkgs.stdenv.hostPlatform.system == "aarch64-linux"; assert withHostAndBuild._module.args.pkgs.stdenv.buildPlatform.system == "aarch64-darwin"; - assert withSameHostAndBuild.config.nixpkgs.buildPlatform == withSameHostAndBuild.config.nixpkgs.hostPlatform; - assert withSameHostAndBuild._module.args.pkgs.stdenv.buildPlatform == withSameHostAndBuild._module.args.pkgs.stdenv.hostPlatform; - assert builtins.trace (lib.head (getErrors ambiguous)) - getErrors ambiguous == - ['' + assert + withSameHostAndBuild.config.nixpkgs.buildPlatform + == withSameHostAndBuild.config.nixpkgs.hostPlatform; + assert + withSameHostAndBuild._module.args.pkgs.stdenv.buildPlatform + == withSameHostAndBuild._module.args.pkgs.stdenv.hostPlatform; + assert + builtins.trace (lib.head (getErrors ambiguous)) getErrors ambiguous == [ + '' Your system configures nixpkgs with the platform parameters: nixpkgs.hostPlatform, with values defined in: - repeat.nix @@ -112,10 +134,11 @@ lib.recurseIntoAttrs { For a future proof system configuration, we recommend to remove the legacy definitions. - '']; - assert builtins.trace (lib.head (getErrors externalPkgsWithConfig)) - getErrors externalPkgsWithConfig == - ['' + '' + ]; + assert + builtins.trace (lib.head (getErrors externalPkgsWithConfig)) getErrors externalPkgsWithConfig == [ + '' Your system configures nixpkgs with an externally created instance. `nixpkgs.config` options should be passed when creating the instance instead. @@ -126,13 +149,14 @@ lib.recurseIntoAttrs { Defined in: - ext-pkgs-config.nix - '']; - assert getErrors { + '' + ]; + assert + getErrors { nixpkgs.localSystem = pkgs.stdenv.hostPlatform; nixpkgs.hostPlatform = pkgs.stdenv.hostPlatform; nixpkgs.pkgs = pkgs; - } == []; - + } == [ ]; # Tests for the read-only.nix module assert readOnly._module.args.pkgs.stdenv.hostPlatform.system == pkgs.stdenv.hostPlatform.system; @@ -145,9 +169,9 @@ lib.recurseIntoAttrs { # read-only.nix does not provide legacy options, for the sake of simplicity # If you're bothered by this, upgrade your configs to use the new *Platform # options. - assert !readOnly.options.nixpkgs?system; - assert !readOnly.options.nixpkgs?localSystem; - assert !readOnly.options.nixpkgs?crossSystem; + assert !readOnly.options.nixpkgs ? system; + assert !readOnly.options.nixpkgs ? localSystem; + assert !readOnly.options.nixpkgs ? crossSystem; pkgs.emptyFile; } diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 2a982b254def1..6688ab9d1ca91 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -1,18 +1,33 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.system.nixos; opt = options.system.nixos; inherit (lib) - concatStringsSep mapAttrsToList toLower optionalString - literalExpression mkRenamedOptionModule mkDefault mkOption trivial types; + concatStringsSep + mapAttrsToList + toLower + optionalString + literalExpression + mkRenamedOptionModule + mkDefault + mkOption + trivial + types + ; needsEscaping = s: null != builtins.match "[a-zA-Z0-9]+" s; escapeIfNecessary = s: if needsEscaping s then s else ''"${lib.escape [ "\$" "\"" "\\" "\`" ] s}"''; - attrsToText = attrs: - concatStringsSep "\n" - (mapAttrsToList (n: v: ''${n}=${escapeIfNecessary (toString v)}'') attrs) + attrsToText = + attrs: + concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}=${escapeIfNecessary (toString v)}'') attrs) + "\n"; osReleaseContents = @@ -42,7 +57,8 @@ let VARIANT = optionalString (cfg.variantName != null) cfg.variantName; VARIANT_ID = optionalString (cfg.variant_id != null) cfg.variant_id; DEFAULT_HOSTNAME = config.system.nixos.distroId; - } // cfg.extraOSReleaseArgs; + } + // cfg.extraOSReleaseArgs; initrdReleaseContents = (removeAttrs osReleaseContents [ "BUILD_ID" ]) // { PRETTY_NAME = "${osReleaseContents.PRETTY_NAME} (Initrd)"; @@ -200,7 +216,8 @@ in type = types.str; # TODO Remove this and drop the default of the option so people are forced to set it. # Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix - apply = v: + apply = + v: lib.warnIf (options.system.stateVersion.highestPrio == (lib.mkOptionDefault { }).priority) "system.stateVersion is not set, defaulting to ${v}. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion." v; @@ -256,13 +273,16 @@ in # https://www.freedesktop.org/software/systemd/man/os-release.html for the # format. environment.etc = { - "lsb-release".text = attrsToText ({ - LSB_VERSION = "${cfg.release} (${cfg.codeName})"; - DISTRIB_ID = "${cfg.distroId}"; - DISTRIB_RELEASE = cfg.release; - DISTRIB_CODENAME = toLower cfg.codeName; - DISTRIB_DESCRIPTION = "${cfg.distroName} ${cfg.release} (${cfg.codeName})"; - } // cfg.extraLSBReleaseArgs); + "lsb-release".text = attrsToText ( + { + LSB_VERSION = "${cfg.release} (${cfg.codeName})"; + DISTRIB_ID = "${cfg.distroId}"; + DISTRIB_RELEASE = cfg.release; + DISTRIB_CODENAME = toLower cfg.codeName; + DISTRIB_DESCRIPTION = "${cfg.distroName} ${cfg.release} (${cfg.codeName})"; + } + // cfg.extraLSBReleaseArgs + ); "os-release".text = attrsToText osReleaseContents; }; diff --git a/nixos/modules/misc/wordlist.nix b/nixos/modules/misc/wordlist.nix index 67c83ff2baaae..0bd1072baa228 100644 --- a/nixos/modules/misc/wordlist.nix +++ b/nixos/modules/misc/wordlist.nix @@ -1,8 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - concatAndSort = name: files: pkgs.runCommand name {} '' - awk 1 ${lib.escapeShellArgs files} | sed '{ /^\s*$/d; s/^\s\+//; s/\s\+$// }' | sort | uniq > $out - ''; + concatAndSort = + name: files: + pkgs.runCommand name { } '' + awk 1 ${lib.escapeShellArgs files} | sed '{ /^\s*$/d; s/^\s\+//; s/\s\+$// }' | sort | uniq > $out + ''; in { options = { @@ -50,9 +57,8 @@ in }; config = lib.mkIf config.environment.wordlist.enable { - environment.variables = - lib.mapAttrs - (name: value: "${concatAndSort "wordlist-${name}" value}") - config.environment.wordlist.lists; + environment.variables = lib.mapAttrs ( + name: value: "${concatAndSort "wordlist-${name}" value}" + ) config.environment.wordlist.lists; }; } diff --git a/nixos/modules/profiles/clone-config.nix b/nixos/modules/profiles/clone-config.nix index 3f669ba7d2e16..2c6377e65c883 100644 --- a/nixos/modules/profiles/clone-config.nix +++ b/nixos/modules/profiles/clone-config.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, modules, ... }: +{ + config, + lib, + pkgs, + modules, + ... +}: with lib; @@ -8,9 +14,12 @@ let nixosPath = toString ../..; # Check if the path is from the NixOS repository - isNixOSFile = path: - let s = toString path; in - removePrefix nixosPath s != s; + isNixOSFile = + path: + let + s = toString path; + in + removePrefix nixosPath s != s; # Copy modules given as extra configuration files. Unfortunately, we # cannot serialized attribute set given in the list of modules (that's why @@ -22,19 +31,24 @@ let # Partition module files because between NixOS and non-NixOS files. NixOS # files may change if the repository is updated. partitionedModuleFiles = - let p = partition isNixOSFile moduleFiles; in - { nixos = p.right; others = p.wrong; }; + let + p = partition isNixOSFile moduleFiles; + in + { + nixos = p.right; + others = p.wrong; + }; # Path transformed to be valid on the installation device. Thus the # device configuration could be rebuild. relocatedModuleFiles = let - relocateNixOS = path: - ""; + relocateNixOS = path: ""; in - { nixos = map relocateNixOS partitionedModuleFiles.nixos; - others = []; # TODO: copy the modules to the install-device repository. - }; + { + nixos = map relocateNixOS partitionedModuleFiles.nixos; + others = [ ]; # TODO: copy the modules to the install-device repository. + }; # A dummy /etc/nixos/configuration.nix in the booted CD that # rebuilds the CD's configuration (and allows the configuration to @@ -42,16 +56,15 @@ let # that we don't really know how the CD was built - the Nix # expression language doesn't allow us to query the expression being # evaluated. So we'll just hope for the best. - configClone = pkgs.writeText "configuration.nix" - '' - { config, pkgs, ... }: + configClone = pkgs.writeText "configuration.nix" '' + { config, pkgs, ... }: - { - imports = [ ${toString config.installer.cloneConfigIncludes} ]; + { + imports = [ ${toString config.installer.cloneConfigIncludes} ]; - ${config.installer.cloneConfigExtra} - } - ''; + ${config.installer.cloneConfigExtra} + } + ''; in @@ -68,7 +81,7 @@ in }; installer.cloneConfigIncludes = mkOption { - default = []; + default = [ ]; example = [ "./nixos/modules/hardware/network/rt73.nix" ]; description = '' List of modules used to re-build this installation device profile. @@ -86,23 +99,21 @@ in config = { - installer.cloneConfigIncludes = - relocatedModuleFiles.nixos ++ relocatedModuleFiles.others; - - boot.postBootCommands = - '' - # Provide a mount point for nixos-install. - mkdir -p /mnt - - ${optionalString config.installer.cloneConfig '' - # Provide a configuration for the CD/DVD itself, to allow users - # to run nixos-rebuild to change the configuration of the - # running system on the CD/DVD. - if ! [ -e /etc/nixos/configuration.nix ]; then - cp ${configClone} /etc/nixos/configuration.nix - fi - ''} - ''; + installer.cloneConfigIncludes = relocatedModuleFiles.nixos ++ relocatedModuleFiles.others; + + boot.postBootCommands = '' + # Provide a mount point for nixos-install. + mkdir -p /mnt + + ${optionalString config.installer.cloneConfig '' + # Provide a configuration for the CD/DVD itself, to allow users + # to run nixos-rebuild to change the configuration of the + # running system on the CD/DVD. + if ! [ -e /etc/nixos/configuration.nix ]; then + cp ${configClone} /etc/nixos/configuration.nix + fi + ''} + ''; }; diff --git a/nixos/modules/profiles/docker-container.nix b/nixos/modules/profiles/docker-container.nix index 199156edfdc60..66d69361d5841 100644 --- a/nixos/modules/profiles/docker-container.nix +++ b/nixos/modules/profiles/docker-container.nix @@ -3,7 +3,10 @@ let inherit (pkgs) writeScript; - pkgs2storeContents = map (x: { object = x; symlink = "none"; }); + pkgs2storeContents = map (x: { + object = x; + symlink = "none"; + }); in { @@ -32,26 +35,27 @@ in # Some container managers like lxc need these extraCommands = - let script = writeScript "extra-commands.sh" '' - rm etc - mkdir -p proc sys dev etc - ''; - in script; + let + script = writeScript "extra-commands.sh" '' + rm etc + mkdir -p proc sys dev etc + ''; + in + script; }; boot.isContainer = true; - boot.postBootCommands = - '' - # After booting, register the contents of the Nix store in the Nix - # database. - if [ -f /nix-path-registration ]; then - ${config.nix.package.out}/bin/nix-store --load-db < /nix-path-registration && - rm /nix-path-registration - fi - - # nixos-rebuild also requires a "system" profile - ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system - ''; + boot.postBootCommands = '' + # After booting, register the contents of the Nix store in the Nix + # database. + if [ -f /nix-path-registration ]; then + ${config.nix.package.out}/bin/nix-store --load-db < /nix-path-registration && + rm /nix-path-registration + fi + + # nixos-rebuild also requires a "system" profile + ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system + ''; # Install new init script system.activationScripts.installInitScript = '' diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix index f96b11b353672..82ddc50e423ca 100644 --- a/nixos/modules/profiles/graphical.nix +++ b/nixos/modules/profiles/graphical.nix @@ -14,5 +14,8 @@ libinput.enable = true; # for touchpad support on many laptops }; - environment.systemPackages = [ pkgs.mesa-demos pkgs.firefox ]; + environment.systemPackages = [ + pkgs.mesa-demos + pkgs.firefox + ]; } diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix index b85a2ac7e69d2..62a9bb90e747c 100644 --- a/nixos/modules/profiles/hardened.nix +++ b/nixos/modules/profiles/hardened.nix @@ -6,13 +6,21 @@ # profile, try disabling it. If you report an issue and use this # profile, always mention that you do. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; { meta = { - maintainers = [ maintainers.joachifm maintainers.emily ]; + maintainers = [ + maintainers.joachifm + maintainers.emily + ]; }; boot.kernelPackages = mkDefault pkgs.linuxPackages_hardened; diff --git a/nixos/modules/profiles/headless.nix b/nixos/modules/profiles/headless.nix index eb29f3d65106c..d6d754462c14f 100644 --- a/nixos/modules/profiles/headless.nix +++ b/nixos/modules/profiles/headless.nix @@ -13,7 +13,12 @@ with lib; systemd.services."autovt@".enable = false; # Since we can't manually respond to a panic, just reboot. - boot.kernelParams = [ "panic=1" "boot.panic_on_fail" "vga=0x317" "nomodeset" ]; + boot.kernelParams = [ + "panic=1" + "boot.panic_on_fail" + "vga=0x317" + "nomodeset" + ]; # Don't allow emergency mode, because we don't have a console. systemd.enableEmergencyMode = false; diff --git a/nixos/modules/profiles/macos-builder.nix b/nixos/modules/profiles/macos-builder.nix index 896bb6bc9fbdf..841c00dc69228 100644 --- a/nixos/modules/profiles/macos-builder.nix +++ b/nixos/modules/profiles/macos-builder.nix @@ -1,5 +1,6 @@ -let lib = import ../../../lib; +let + lib = import ../../../lib; in - lib.warnIf (lib.isInOldestRelease 2411) - "nixos/modules/profiles/macos-builder.nix has moved to nixos/modules/profiles/nix-builder-vm.nix; please update your NixOS imports." - ./nix-builder-vm.nix +lib.warnIf (lib.isInOldestRelease 2411) + "nixos/modules/profiles/macos-builder.nix has moved to nixos/modules/profiles/nix-builder-vm.nix; please update your NixOS imports." + ./nix-builder-vm.nix diff --git a/nixos/modules/profiles/perlless.nix b/nixos/modules/profiles/perlless.nix index c331a90882676..852875e744622 100644 --- a/nixos/modules/profiles/perlless.nix +++ b/nixos/modules/profiles/perlless.nix @@ -18,10 +18,10 @@ # Check that the system does not contain a Nix store path that contains the # string "perl". - system.forbiddenDependenciesRegexes = ["perl"]; + system.forbiddenDependenciesRegexes = [ "perl" ]; # Re-add nixos-rebuild to the systemPackages that was removed by the # `system.disableInstallerTools` option. - environment.systemPackages = [pkgs.nixos-rebuild]; + environment.systemPackages = [ pkgs.nixos-rebuild ]; } diff --git a/nixos/modules/profiles/qemu-guest.nix b/nixos/modules/profiles/qemu-guest.nix index 3dbbbbea182e1..d0290d661cce3 100644 --- a/nixos/modules/profiles/qemu-guest.nix +++ b/nixos/modules/profiles/qemu-guest.nix @@ -4,6 +4,19 @@ { ... }: { - boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ]; - boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" "virtio_gpu" ]; + boot.initrd.availableKernelModules = [ + "virtio_net" + "virtio_pci" + "virtio_mmio" + "virtio_blk" + "virtio_scsi" + "9p" + "9pnet_virtio" + ]; + boot.initrd.kernelModules = [ + "virtio_balloon" + "virtio_console" + "virtio_rng" + "virtio_gpu" + ]; } diff --git a/nixos/modules/programs/_1password-gui.nix b/nixos/modules/programs/_1password-gui.nix index 04f36cf0237ab..f840dbbe8a73f 100644 --- a/nixos/modules/programs/_1password-gui.nix +++ b/nixos/modules/programs/_1password-gui.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let diff --git a/nixos/modules/programs/_1password.nix b/nixos/modules/programs/_1password.nix index 28ddb3b1a43ee..2e08520c90ba9 100644 --- a/nixos/modules/programs/_1password.nix +++ b/nixos/modules/programs/_1password.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix index 62ab6ab4137a1..28182df9cc230 100644 --- a/nixos/modules/programs/adb.nix +++ b/nixos/modules/programs/adb.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta.maintainers = [ lib.maintainers.mic92 ]; @@ -22,6 +27,6 @@ config = lib.mkIf config.programs.adb.enable { services.udev.packages = [ pkgs.android-udev-rules ]; environment.systemPackages = [ pkgs.android-tools ]; - users.groups.adbusers = {}; + users.groups.adbusers = { }; }; } diff --git a/nixos/modules/programs/alvr.nix b/nixos/modules/programs/alvr.nix index da66200cf075b..4cf78a7490b5f 100644 --- a/nixos/modules/programs/alvr.nix +++ b/nixos/modules/programs/alvr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.alvr; @@ -24,8 +29,14 @@ in environment.systemPackages = [ cfg.package ]; networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = [ 9943 9944 ]; - allowedUDPPorts = [ 9943 9944 ]; + allowedTCPPorts = [ + 9943 + 9944 + ]; + allowedUDPPorts = [ + 9943 + 9944 + ]; }; }; diff --git a/nixos/modules/programs/appgate-sdp.nix b/nixos/modules/programs/appgate-sdp.nix index f4d4140571a64..87b5118adb7a7 100644 --- a/nixos/modules/programs/appgate-sdp.nix +++ b/nixos/modules/programs/appgate-sdp.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { options = { @@ -16,7 +21,10 @@ # https://github.com/NixOS/nixpkgs/issues/81138 services.appgatedriver.wantedBy = [ "multi-user.target" ]; services.appgate-dumb-resolver.path = [ pkgs.e2fsprogs ]; - services.appgate-resolver.path = [ pkgs.procps pkgs.e2fsprogs ]; + services.appgate-resolver.path = [ + pkgs.procps + pkgs.e2fsprogs + ]; services.appgatedriver.path = [ pkgs.e2fsprogs ]; }; }; diff --git a/nixos/modules/programs/atop.nix b/nixos/modules/programs/atop.nix index 3738f926ca3d8..ca662d03213d3 100644 --- a/nixos/modules/programs/atop.nix +++ b/nixos/modules/programs/atop.nix @@ -1,8 +1,14 @@ # Global configuration for atop. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.atop; +let + cfg = config.programs.atop; in { @@ -95,40 +101,49 @@ in config = lib.mkIf cfg.enable ( let - atop = - if cfg.atopgpu.enable then - (cfg.package.override { withAtopgpu = true; }) - else - cfg.package; + atop = if cfg.atopgpu.enable then (cfg.package.override { withAtopgpu = true; }) else cfg.package; in { environment.etc = lib.mkIf (cfg.settings != { }) { - atoprc.text = lib.concatStrings - (lib.mapAttrsToList - (n: v: '' - ${n} ${builtins.toString v} - '') - cfg.settings); + atoprc.text = lib.concatStrings ( + lib.mapAttrsToList (n: v: '' + ${n} ${builtins.toString v} + '') cfg.settings + ); }; - environment.systemPackages = [ atop (lib.mkIf cfg.netatop.enable cfg.netatop.package) ]; + environment.systemPackages = [ + atop + (lib.mkIf cfg.netatop.enable cfg.netatop.package) + ]; boot.extraModulePackages = [ (lib.mkIf cfg.netatop.enable cfg.netatop.package) ]; systemd = let mkSystemd = type: name: restartTriggers: { ${name} = { inherit restartTriggers; - wantedBy = [ (if type == "services" then "multi-user.target" else if type == "timers" then "timers.target" else null) ]; + wantedBy = [ + ( + if type == "services" then + "multi-user.target" + else if type == "timers" then + "timers.target" + else + null + ) + ]; }; }; mkService = mkSystemd "services"; mkTimer = mkSystemd "timers"; in { - packages = [ atop (lib.mkIf cfg.netatop.enable cfg.netatop.package) ]; + packages = [ + atop + (lib.mkIf cfg.netatop.enable cfg.netatop.package) + ]; services = lib.mkMerge [ - (lib.mkIf cfg.atopService.enable (lib.recursiveUpdate - (mkService "atop" [ atop ]) - { + (lib.mkIf cfg.atopService.enable ( + lib.recursiveUpdate (mkService "atop" [ atop ]) { # always convert logs to newer version first # XXX might trigger TimeoutStart but restarting atop.service will # convert remainings logs and start eventually @@ -149,7 +164,8 @@ in fi done ''; - })) + } + )) (lib.mkIf cfg.atopacctService.enable (mkService "atopacct" [ atop ])) (lib.mkIf cfg.netatop.enable (mkService "netatop" [ cfg.netatop.package ])) (lib.mkIf cfg.atopgpu.enable (mkService "atopgpu" [ atop ])) diff --git a/nixos/modules/programs/ausweisapp.nix b/nixos/modules/programs/ausweisapp.nix index ebd6a3e13bf66..23b2cb98fa3b1 100644 --- a/nixos/modules/programs/ausweisapp.nix +++ b/nixos/modules/programs/ausweisapp.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.programs.ausweisapp; + cfg = config.programs.ausweisapp; in { options.programs.ausweisapp = { diff --git a/nixos/modules/programs/autojump.nix b/nixos/modules/programs/autojump.nix index 5011d7e142375..309bf6185242d 100644 --- a/nixos/modules/programs/autojump.nix +++ b/nixos/modules/programs/autojump.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.autojump; diff --git a/nixos/modules/programs/bandwhich.nix b/nixos/modules/programs/bandwhich.nix index e2c55ca5bea4a..2136a84c3209d 100644 --- a/nixos/modules/programs/bandwhich.nix +++ b/nixos/modules/programs/bandwhich.nix @@ -1,7 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.bandwhich; -in { +let + cfg = config.programs.bandwhich; +in +{ meta.maintainers = with lib.maintainers; [ Br1ght0ne ]; options = { diff --git a/nixos/modules/programs/bash-my-aws.nix b/nixos/modules/programs/bash-my-aws.nix index 85618ad98f080..bd4685d275526 100644 --- a/nixos/modules/programs/bash-my-aws.nix +++ b/nixos/modules/programs/bash-my-aws.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let prg = config.programs; @@ -8,16 +13,16 @@ let eval $(${pkgs.bash-my-aws}/bin/bma-init) ''; in - { - options = { - programs.bash-my-aws = { - enable = lib.mkEnableOption "bash-my-aws"; - }; +{ + options = { + programs.bash-my-aws = { + enable = lib.mkEnableOption "bash-my-aws"; }; + }; - config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ bash-my-aws ]; + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ bash-my-aws ]; - programs.bash.interactiveShellInit = initScript; - }; - } + programs.bash.interactiveShellInit = initScript; + }; +} diff --git a/nixos/modules/programs/bash/bash-completion.nix b/nixos/modules/programs/bash/bash-completion.nix index f143361bc9331..cfc59d108d3b5 100644 --- a/nixos/modules/programs/bash/bash-completion.nix +++ b/nixos/modules/programs/bash/bash-completion.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.bash; @@ -13,7 +18,10 @@ in }; imports = [ - (lib.mkRenamedOptionModule [ "programs" "bash" "enableCompletion" ] [ "programs" "bash" "completion" "enable" ]) + (lib.mkRenamedOptionModule + [ "programs" "bash" "enableCompletion" ] + [ "programs" "bash" "completion" "enable" ] + ) ]; config = lib.mkIf cfg.completion.enable { diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index 1ffa7fe561093..213f0d2698ae8 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -1,7 +1,12 @@ # This module defines global configuration for the Bash shell, in # particular /etc/bashrc and /etc/profile. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -10,8 +15,9 @@ let cfg = config.programs.bash; bashAliases = builtins.concatStringsSep "\n" ( - lib.mapAttrsToList (k: v: "alias -- ${k}=${lib.escapeShellArg v}") - (lib.filterAttrs (k: v: v != null) cfg.shellAliases) + lib.mapAttrsToList (k: v: "alias -- ${k}=${lib.escapeShellArg v}") ( + lib.filterAttrs (k: v: v != null) cfg.shellAliases + ) ); in @@ -26,22 +32,22 @@ in programs.bash = { /* - enable = lib.mkOption { - default = true; - description = '' - Whenever to configure Bash as an interactive shell. - Note that this tries to make Bash the default - {option}`users.defaultUserShell`, - which in turn means that you might need to explicitly - set this variable if you have another shell configured - with NixOS. - ''; - type = lib.types.bool; - }; + enable = lib.mkOption { + default = true; + description = '' + Whenever to configure Bash as an interactive shell. + Note that this tries to make Bash the default + {option}`users.defaultUserShell`, + which in turn means that you might need to explicitly + set this variable if you have another shell configured + with NixOS. + ''; + type = lib.types.bool; + }; */ shellAliases = lib.mkOption { - default = {}; + default = { }; description = '' Set of aliases for bash shell, which overrides {option}`environment.shellAliases`. See {option}`environment.shellAliases` for an option format description. @@ -109,40 +115,40 @@ in }; - config = /* lib.mkIf cfg.enable */ { + config = # lib.mkIf cfg.enable + { - programs.bash = { + programs.bash = { - shellAliases = builtins.mapAttrs (name: lib.mkDefault) cfge.shellAliases; + shellAliases = builtins.mapAttrs (name: lib.mkDefault) cfge.shellAliases; - shellInit = '' - if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then - . ${config.system.build.setEnvironment} - fi + shellInit = '' + if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then + . ${config.system.build.setEnvironment} + fi - ${cfge.shellInit} - ''; + ${cfge.shellInit} + ''; - loginShellInit = cfge.loginShellInit; + loginShellInit = cfge.loginShellInit; - interactiveShellInit = '' - # Check the window size after every command. - shopt -s checkwinsize + interactiveShellInit = '' + # Check the window size after every command. + shopt -s checkwinsize - # Disable hashing (i.e. caching) of command lookups. - set +h + # Disable hashing (i.e. caching) of command lookups. + set +h - ${cfg.promptInit} - ${cfg.promptPluginInit} - ${bashAliases} + ${cfg.promptInit} + ${cfg.promptPluginInit} + ${bashAliases} - ${cfge.interactiveShellInit} - ''; + ${cfge.interactiveShellInit} + ''; - }; + }; - environment.etc.profile.text = - '' + environment.etc.profile.text = '' # /etc/profile: DO NOT EDIT -- this file has been generated automatically. # This file is read for login shells. @@ -166,8 +172,7 @@ in fi ''; - environment.etc.bashrc.text = - '' + environment.etc.bashrc.text = '' # /etc/bashrc: DO NOT EDIT -- this file has been generated automatically. # Only execute this file once per shell. @@ -192,24 +197,24 @@ in fi ''; - # Configuration for readline in bash. We use "option default" - # priority to allow user override using both .text and .source. - environment.etc.inputrc.source = lib.mkOptionDefault ./inputrc; + # Configuration for readline in bash. We use "option default" + # priority to allow user override using both .text and .source. + environment.etc.inputrc.source = lib.mkOptionDefault ./inputrc; - users.defaultUserShell = lib.mkDefault pkgs.bashInteractive; + users.defaultUserShell = lib.mkDefault pkgs.bashInteractive; - environment.pathsToLink = lib.optionals cfg.completion.enable [ - "/etc/bash_completion.d" - "/share/bash-completion" - ]; + environment.pathsToLink = lib.optionals cfg.completion.enable [ + "/etc/bash_completion.d" + "/share/bash-completion" + ]; - environment.shells = - [ "/run/current-system/sw/bin/bash" + environment.shells = [ + "/run/current-system/sw/bin/bash" "/run/current-system/sw/bin/sh" "${pkgs.bashInteractive}/bin/bash" "${pkgs.bashInteractive}/bin/sh" ]; - }; + }; } diff --git a/nixos/modules/programs/bash/blesh.nix b/nixos/modules/programs/bash/blesh.nix index b5ca83a883bb0..233918f480604 100644 --- a/nixos/modules/programs/bash/blesh.nix +++ b/nixos/modules/programs/bash/blesh.nix @@ -1,7 +1,13 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.programs.bash.blesh; -in { +in +{ options = { programs.bash.blesh.enable = lib.mkEnableOption "blesh, a full-featured line editor written in pure Bash"; }; diff --git a/nixos/modules/programs/bash/ls-colors.nix b/nixos/modules/programs/bash/ls-colors.nix index 3ee00e93d4dae..ea0ac0d392afe 100644 --- a/nixos/modules/programs/bash/ls-colors.nix +++ b/nixos/modules/programs/bash/ls-colors.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let enable = config.programs.bash.enableLsColors; diff --git a/nixos/modules/programs/bash/undistract-me.nix b/nixos/modules/programs/bash/undistract-me.nix index af4f3a737dabd..a68738512efb8 100644 --- a/nixos/modules/programs/bash/undistract-me.nix +++ b/nixos/modules/programs/bash/undistract-me.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.bash.undistractMe; diff --git a/nixos/modules/programs/bcc.nix b/nixos/modules/programs/bcc.nix index f799524b9c074..d7b7d4596773b 100644 --- a/nixos/modules/programs/bcc.nix +++ b/nixos/modules/programs/bcc.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { options.programs.bcc.enable = lib.mkEnableOption "bcc, tools for BPF-based Linux IO analysis, networking, monitoring, and more"; diff --git a/nixos/modules/programs/benchexec.nix b/nixos/modules/programs/benchexec.nix index 08ee67ca90ae5..339953c1737ae 100644 --- a/nixos/modules/programs/benchexec.nix +++ b/nixos/modules/programs/benchexec.nix @@ -1,22 +1,31 @@ -{ lib -, pkgs -, config -, options -, ... +{ + lib, + pkgs, + config, + options, + ... }: let cfg = config.programs.benchexec; opt = options.programs.benchexec; - filterUsers = x: - if builtins.isString x then config.users.users ? ${x} else - if builtins.isInt x then x else - throw "filterUsers expects string (username) or int (UID)"; + filterUsers = + x: + if builtins.isString x then + config.users.users ? ${x} + else if builtins.isInt x then + x + else + throw "filterUsers expects string (username) or int (UID)"; - uid = x: - if builtins.isString x then config.users.users.${x}.uid else - if builtins.isInt x then x else - throw "uid expects string (username) or int (UID)"; + uid = + x: + if builtins.isString x then + config.users.users.${x}.uid + else if builtins.isInt x then + x + else + throw "uid expects string (username) or int (UID)"; in { options.programs.benchexec = { @@ -43,36 +52,32 @@ in }; config = lib.mkIf cfg.enable { - assertions = (map - (user: { + assertions = + (map (user: { assertion = config.users.users ? ${user}; message = '' The user '${user}' intends to use BenchExec (via `${opt.users}`), but is not configured via `${options.users.users}`. ''; - }) - (builtins.filter builtins.isString cfg.users) - ) ++ (map - (id: { + }) (builtins.filter builtins.isString cfg.users)) + ++ (map (id: { assertion = config.users.mutableUsers; message = '' The user with UID '${id}' intends to use BenchExec (via `${opt.users}`), but mutable users are disabled via `${options.users.mutableUsers}`. ''; - }) - (builtins.filter builtins.isInt cfg.users) - ); + }) (builtins.filter builtins.isInt cfg.users)); environment.systemPackages = [ cfg.package ]; # See . - systemd.services = builtins.listToAttrs (map - (user: { + systemd.services = builtins.listToAttrs ( + map (user: { name = "user@${builtins.toString (uid user)}"; value = { serviceConfig.Delegate = "yes"; overrideStrategy = "asDropin"; }; - }) - (builtins.filter filterUsers cfg.users)); + }) (builtins.filter filterUsers cfg.users) + ); # See . virtualisation.lxc.lxcfs.enable = lib.mkDefault true; diff --git a/nixos/modules/programs/browserpass.nix b/nixos/modules/programs/browserpass.nix index ab6be266ea8d6..7053117e914c1 100644 --- a/nixos/modules/programs/browserpass.nix +++ b/nixos/modules/programs/browserpass.nix @@ -1,30 +1,37 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options.programs.browserpass.enable = lib.mkEnableOption "Browserpass native messaging host"; config = lib.mkIf config.programs.browserpass.enable { - environment.etc = let - appId = "com.github.browserpass.native.json"; - source = part: "${pkgs.browserpass}/lib/browserpass/${part}/${appId}"; - in { - # chromium - "chromium/native-messaging-hosts/${appId}".source = source "hosts/chromium"; - "chromium/policies/managed/${appId}".source = source "policies/chromium"; + environment.etc = + let + appId = "com.github.browserpass.native.json"; + source = part: "${pkgs.browserpass}/lib/browserpass/${part}/${appId}"; + in + { + # chromium + "chromium/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "chromium/policies/managed/${appId}".source = source "policies/chromium"; - # chrome - "opt/chrome/native-messaging-hosts/${appId}".source = source "hosts/chromium"; - "opt/chrome/policies/managed/${appId}".source = source "policies/chromium"; + # chrome + "opt/chrome/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/chrome/policies/managed/${appId}".source = source "policies/chromium"; - # vivaldi - "opt/vivaldi/native-messaging-hosts/${appId}".source = source "hosts/chromium"; - "opt/vivaldi/policies/managed/${appId}".source = source "policies/chromium"; + # vivaldi + "opt/vivaldi/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/vivaldi/policies/managed/${appId}".source = source "policies/chromium"; - # brave - "opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium"; - "opt/brave/policies/managed/${appId}".source = source "policies/chromium"; - }; + # brave + "opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/brave/policies/managed/${appId}".source = source "policies/chromium"; + }; programs.firefox.nativeMessagingHosts.packages = [ pkgs.browserpass ]; }; } diff --git a/nixos/modules/programs/calls.nix b/nixos/modules/programs/calls.nix index 36a4c51ddf438..17ab06f959ef2 100644 --- a/nixos/modules/programs/calls.nix +++ b/nixos/modules/programs/calls.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.calls; -in { +in +{ options = { programs.calls = { enable = lib.mkEnableOption '' diff --git a/nixos/modules/programs/captive-browser.nix b/nixos/modules/programs/captive-browser.nix index 8f0aa2fe1e6a0..84eff22a4d346 100644 --- a/nixos/modules/programs/captive-browser.nix +++ b/nixos/modules/programs/captive-browser.nix @@ -1,27 +1,42 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.captive-browser; inherit (lib) - concatStringsSep escapeShellArgs optionalString - literalExpression mkEnableOption mkPackageOption mkIf mkOption - mkOptionDefault types; + concatStringsSep + escapeShellArgs + optionalString + literalExpression + mkEnableOption + mkPackageOption + mkIf + mkOption + mkOptionDefault + types + ; requiresSetcapWrapper = config.boot.kernelPackages.kernelOlder "5.7" && cfg.bindInterface; - browserDefault = chromium: concatStringsSep " " [ - ''env XDG_CONFIG_HOME="$PREV_CONFIG_HOME"'' - ''${chromium}/bin/chromium'' - ''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive'' - ''--proxy-server="socks5://$PROXY"'' - ''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"'' - ''--no-first-run'' - ''--new-window'' - ''--incognito'' - ''-no-default-browser-check'' - ''http://cache.nixos.org/'' - ]; + browserDefault = + chromium: + concatStringsSep " " [ + ''env XDG_CONFIG_HOME="$PREV_CONFIG_HOME"'' + ''${chromium}/bin/chromium'' + ''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive'' + ''--proxy-server="socks5://$PROXY"'' + ''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"'' + ''--no-first-run'' + ''--new-window'' + ''--incognito'' + ''-no-default-browser-check'' + ''http://cache.nixos.org/'' + ]; desktopItem = pkgs.makeDesktopItem { name = "captive-browser"; @@ -116,19 +131,18 @@ in programs.captive-browser.dhcp-dns = let - iface = prefixes: - optionalString cfg.bindInterface (escapeShellArgs (prefixes ++ [ cfg.interface ])); + iface = + prefixes: optionalString cfg.bindInterface (escapeShellArgs (prefixes ++ [ cfg.interface ])); in mkOptionDefault ( if config.networking.networkmanager.enable then - "${pkgs.networkmanager}/bin/nmcli dev show ${iface []} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS" + "${pkgs.networkmanager}/bin/nmcli dev show ${iface [ ]} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS" else if config.networking.dhcpcd.enable then - "${pkgs.dhcpcd}/bin/dhcpcd ${iface ["-U"]} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers" + "${pkgs.dhcpcd}/bin/dhcpcd ${iface [ "-U" ]} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers" else if config.networking.useNetworkd then - "${cfg.package}/bin/systemd-networkd-dns ${iface []}" + "${cfg.package}/bin/systemd-networkd-dns ${iface [ ]}" else - "${config.security.wrapperDir}/udhcpc --quit --now -f ${iface ["-i"]} -O dns --script ${ - pkgs.writeShellScript "udhcp-script" '' + "${config.security.wrapperDir}/udhcpc --quit --now -f ${iface [ "-i" ]} -O dns --script ${pkgs.writeShellScript "udhcp-script" '' if [ "$1" = bound ]; then echo "$dns" fi diff --git a/nixos/modules/programs/ccache.nix b/nixos/modules/programs/ccache.nix index bfcbe39b3ff01..99702f955162e 100644 --- a/nixos/modules/programs/ccache.nix +++ b/nixos/modules/programs/ccache.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.ccache; -in { +in +{ options.programs.ccache = { # host configuration enable = lib.mkEnableOption "CCache, a compiler cache for fast recompilation of C/C++ code"; @@ -15,8 +21,12 @@ in { packageNames = lib.mkOption { type = lib.types.listOf lib.types.str; description = "Nix top-level packages to be compiled using CCache"; - default = []; - example = [ "wxGTK32" "ffmpeg" "libav_all" ]; + default = [ ]; + example = [ + "wxGTK32" + "ffmpeg" + "libav_all" + ]; }; owner = lib.mkOption { type = lib.types.str; @@ -58,9 +68,14 @@ in { }) # target configuration - (lib.mkIf (cfg.packageNames != []) { + (lib.mkIf (cfg.packageNames != [ ]) { nixpkgs.overlays = [ - (self: super: lib.genAttrs cfg.packageNames (pn: super.${pn}.override { stdenv = builtins.trace "with ccache: ${pn}" self.ccacheStdenv; })) + ( + self: super: + lib.genAttrs cfg.packageNames ( + pn: super.${pn}.override { stdenv = builtins.trace "with ccache: ${pn}" self.ccacheStdenv; } + ) + ) (self: super: { ccacheWrapper = super.ccacheWrapper.override { diff --git a/nixos/modules/programs/cdemu.nix b/nixos/modules/programs/cdemu.nix index cdfab3ee9f398..5496f06de2a19 100644 --- a/nixos/modules/programs/cdemu.nix +++ b/nixos/modules/programs/cdemu.nix @@ -1,7 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.cdemu; -in { +let + cfg = config.programs.cdemu; +in +{ options = { programs.cdemu = { @@ -51,7 +58,7 @@ in { dbus.packages = [ pkgs.cdemu-daemon ]; }; - users.groups.${config.programs.cdemu.group} = {}; + users.groups.${config.programs.cdemu.group} = { }; # Systemd User service # manually adapted from example in source package: @@ -65,7 +72,10 @@ in { }; environment.systemPackages = - [ pkgs.cdemu-daemon pkgs.cdemu-client ] + [ + pkgs.cdemu-daemon + pkgs.cdemu-client + ] ++ lib.optional cfg.gui pkgs.gcdemu ++ lib.optional cfg.image-analyzer pkgs.image-analyzer; }; diff --git a/nixos/modules/programs/cfs-zen-tweaks.nix b/nixos/modules/programs/cfs-zen-tweaks.nix index bc16264039352..190b586aba036 100644 --- a/nixos/modules/programs/cfs-zen-tweaks.nix +++ b/nixos/modules/programs/cfs-zen-tweaks.nix @@ -1,6 +1,11 @@ # CFS Zen Tweaks -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let diff --git a/nixos/modules/programs/chromium.nix b/nixos/modules/programs/chromium.nix index 4d248dbe0945f..290808b7bdbe4 100644 --- a/nixos/modules/programs/chromium.nix +++ b/nixos/modules/programs/chromium.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.chromium; @@ -21,7 +26,10 @@ in enablePlasmaBrowserIntegration = lib.mkEnableOption "Native Messaging Host for Plasma Browser Integration"; - plasmaBrowserIntegrationPackage = lib.mkPackageOption pkgs [ "plasma5Packages" "plasma-browser-integration" ] { }; + plasmaBrowserIntegrationPackage = lib.mkPackageOption pkgs [ + "plasma5Packages" + "plasma-browser-integration" + ] { }; extensions = lib.mkOption { type = with lib.types; nullOr (listOf str); @@ -82,7 +90,7 @@ in Make sure the selected policy is supported on Linux and your browser version. ''; - default = {}; + default = { }; example = lib.literalExpression '' { "BrowserSignin" = 0; @@ -105,7 +113,7 @@ in More information can be found in the Chromium documentation: ''; - default = {}; + default = { }; example = lib.literalExpression '' { "first_run_tabs" = [ @@ -122,19 +130,39 @@ in config = { environment.etc = lib.mkIf cfg.enable { # for chromium - "chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json" = lib.mkIf cfg.enablePlasmaBrowserIntegration - { source = "${cfg.plasmaBrowserIntegrationPackage}/etc/chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json"; }; - "chromium/policies/managed/default.json" = lib.mkIf (defaultProfile != {}) { text = builtins.toJSON defaultProfile; }; - "chromium/policies/managed/extra.json" = lib.mkIf (cfg.extraOpts != {}) { text = builtins.toJSON cfg.extraOpts; }; - "chromium/initial_preferences" = lib.mkIf (cfg.initialPrefs != {}) { text = builtins.toJSON cfg.initialPrefs; }; + "chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json" = + lib.mkIf cfg.enablePlasmaBrowserIntegration + { + source = "${cfg.plasmaBrowserIntegrationPackage}/etc/chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json"; + }; + "chromium/policies/managed/default.json" = lib.mkIf (defaultProfile != { }) { + text = builtins.toJSON defaultProfile; + }; + "chromium/policies/managed/extra.json" = lib.mkIf (cfg.extraOpts != { }) { + text = builtins.toJSON cfg.extraOpts; + }; + "chromium/initial_preferences" = lib.mkIf (cfg.initialPrefs != { }) { + text = builtins.toJSON cfg.initialPrefs; + }; # for google-chrome https://www.chromium.org/administrators/linux-quick-start - "opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json" = lib.mkIf cfg.enablePlasmaBrowserIntegration - { source = "${cfg.plasmaBrowserIntegrationPackage}/etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json"; }; - "opt/chrome/policies/managed/default.json" = lib.mkIf (defaultProfile != {}) { text = builtins.toJSON defaultProfile; }; - "opt/chrome/policies/managed/extra.json" = lib.mkIf (cfg.extraOpts != {}) { text = builtins.toJSON cfg.extraOpts; }; + "opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json" = + lib.mkIf cfg.enablePlasmaBrowserIntegration + { + source = "${cfg.plasmaBrowserIntegrationPackage}/etc/opt/chrome/native-messaging-hosts/org.kde.plasma.browser_integration.json"; + }; + "opt/chrome/policies/managed/default.json" = lib.mkIf (defaultProfile != { }) { + text = builtins.toJSON defaultProfile; + }; + "opt/chrome/policies/managed/extra.json" = lib.mkIf (cfg.extraOpts != { }) { + text = builtins.toJSON cfg.extraOpts; + }; # for brave - "brave/policies/managed/default.json" = lib.mkIf (defaultProfile != {}) { text = builtins.toJSON defaultProfile; }; - "brave/policies/managed/extra.json" = lib.mkIf (cfg.extraOpts != {}) { text = builtins.toJSON cfg.extraOpts; }; + "brave/policies/managed/default.json" = lib.mkIf (defaultProfile != { }) { + text = builtins.toJSON defaultProfile; + }; + "brave/policies/managed/extra.json" = lib.mkIf (cfg.extraOpts != { }) { + text = builtins.toJSON cfg.extraOpts; + }; }; }; } diff --git a/nixos/modules/programs/cnping.nix b/nixos/modules/programs/cnping.nix index f4b5aa845b5f2..92e033d0b7dc9 100644 --- a/nixos/modules/programs/cnping.nix +++ b/nixos/modules/programs/cnping.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.cnping; diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index a223e811728dc..8d501f6866602 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -3,7 +3,12 @@ # SQLite database that maps program names to Nix package names (e.g., # "pdflatex" is mapped to "tetex"). -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.command-not-found; @@ -13,7 +18,10 @@ let src = ./command-not-found.pl; isExecutable = true; inherit (cfg) dbPath; - perl = pkgs.perl.withPackages (p: [ p.DBDSQLite p.StringShellQuote ]); + perl = pkgs.perl.withPackages (p: [ + p.DBDSQLite + p.StringShellQuote + ]); }; in @@ -31,7 +39,7 @@ in }; dbPath = lib.mkOption { - default = "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite" ; + default = "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite"; description = '' Absolute path to programs.sqlite. @@ -43,49 +51,47 @@ in }; config = lib.mkIf cfg.enable { - programs.bash.interactiveShellInit = - '' - # This function is called whenever a command is not found. - command_not_found_handle() { - local p='${commandNotFound}/bin/command-not-found' - if [ -x "$p" ] && [ -f '${cfg.dbPath}' ]; then - # Run the helper program. - "$p" "$@" - # Retry the command if we just installed it. - if [ $? = 126 ]; then - "$@" - else - return 127 - fi + programs.bash.interactiveShellInit = '' + # This function is called whenever a command is not found. + command_not_found_handle() { + local p='${commandNotFound}/bin/command-not-found' + if [ -x "$p" ] && [ -f '${cfg.dbPath}' ]; then + # Run the helper program. + "$p" "$@" + # Retry the command if we just installed it. + if [ $? = 126 ]; then + "$@" else - echo "$1: command not found" >&2 return 127 fi - } - ''; + else + echo "$1: command not found" >&2 + return 127 + fi + } + ''; - programs.zsh.interactiveShellInit = - '' - # This function is called whenever a command is not found. - command_not_found_handler() { - local p='${commandNotFound}/bin/command-not-found' - if [ -x "$p" ] && [ -f '${cfg.dbPath}' ]; then - # Run the helper program. - "$p" "$@" + programs.zsh.interactiveShellInit = '' + # This function is called whenever a command is not found. + command_not_found_handler() { + local p='${commandNotFound}/bin/command-not-found' + if [ -x "$p" ] && [ -f '${cfg.dbPath}' ]; then + # Run the helper program. + "$p" "$@" - # Retry the command if we just installed it. - if [ $? = 126 ]; then - "$@" - else - return 127 - fi + # Retry the command if we just installed it. + if [ $? = 126 ]; then + "$@" else - # Indicate than there was an error so ZSH falls back to its default handler - echo "$1: command not found" >&2 return 127 fi - } - ''; + else + # Indicate than there was an error so ZSH falls back to its default handler + echo "$1: command not found" >&2 + return 127 + fi + } + ''; environment.systemPackages = [ commandNotFound ]; }; diff --git a/nixos/modules/programs/coolercontrol.nix b/nixos/modules/programs/coolercontrol.nix index 1c64d46ae2b90..a886118568606 100644 --- a/nixos/modules/programs/coolercontrol.nix +++ b/nixos/modules/programs/coolercontrol.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -25,37 +26,44 @@ in }; ##### implementation - config = lib.mkIf cfg.enable (lib.mkMerge [ - # Common - ({ - environment.systemPackages = with pkgs.coolercontrol; [ - coolercontrol-gui - ]; - - systemd = { - packages = with pkgs.coolercontrol; [ - coolercontrol-liqctld - coolercontrold + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + # Common + ({ + environment.systemPackages = with pkgs.coolercontrol; [ + coolercontrol-gui ]; - # https://github.com/NixOS/nixpkgs/issues/81138 - services = { - coolercontrol-liqctld.wantedBy = [ "multi-user.target" ]; - coolercontrold.wantedBy = [ "multi-user.target" ]; + systemd = { + packages = with pkgs.coolercontrol; [ + coolercontrol-liqctld + coolercontrold + ]; + + # https://github.com/NixOS/nixpkgs/issues/81138 + services = { + coolercontrol-liqctld.wantedBy = [ "multi-user.target" ]; + coolercontrold.wantedBy = [ "multi-user.target" ]; + }; }; - }; - }) + }) - # Nvidia support - (lib.mkIf cfg.nvidiaSupport { - systemd.services.coolercontrold.path = let - nvidiaPkg = config.hardware.nvidia.package; - in [ - nvidiaPkg # nvidia-smi - nvidiaPkg.settings # nvidia-settings - ]; - }) - ]); + # Nvidia support + (lib.mkIf cfg.nvidiaSupport { + systemd.services.coolercontrold.path = + let + nvidiaPkg = config.hardware.nvidia.package; + in + [ + nvidiaPkg # nvidia-smi + nvidiaPkg.settings # nvidia-settings + ]; + }) + ] + ); - meta.maintainers = with lib.maintainers; [ OPNA2608 codifryed ]; + meta.maintainers = with lib.maintainers; [ + OPNA2608 + codifryed + ]; } diff --git a/nixos/modules/programs/cpu-energy-meter.nix b/nixos/modules/programs/cpu-energy-meter.nix index 653ec067492d7..a54519ac8ef16 100644 --- a/nixos/modules/programs/cpu-energy-meter.nix +++ b/nixos/modules/programs/cpu-energy-meter.nix @@ -1,8 +1,10 @@ -{ config -, lib -, pkgs -, ... -}: { +{ + config, + lib, + pkgs, + ... +}: +{ options.programs.cpu-energy-meter = { enable = lib.mkEnableOption "CPU Energy Meter"; package = lib.mkPackageOption pkgs "cpu-energy-meter" { }; diff --git a/nixos/modules/programs/criu.nix b/nixos/modules/programs/criu.nix index 492a158923cb2..8d5d2eb64f2e9 100644 --- a/nixos/modules/programs/criu.nix +++ b/nixos/modules/programs/criu.nix @@ -1,7 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.criu; -in { +let + cfg = config.programs.criu; +in +{ options = { programs.criu = { diff --git a/nixos/modules/programs/darling.nix b/nixos/modules/programs/darling.nix index 194b1648b78f0..fc9a56e1165be 100644 --- a/nixos/modules/programs/darling.nix +++ b/nixos/modules/programs/darling.nix @@ -1,12 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.darling; -in { +in +{ options = { programs.darling = { enable = lib.mkEnableOption "Darling, a Darwin/macOS compatibility layer for Linux"; - package = lib.mkPackageOption pkgs "darling" {}; + package = lib.mkPackageOption pkgs "darling" { }; }; }; diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix index e6738617c8e35..4eaa61051e788 100644 --- a/nixos/modules/programs/dconf.nix +++ b/nixos/modules/programs/dconf.nix @@ -1,69 +1,87 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.dconf; # Compile keyfiles to dconf DB - compileDconfDb = dir: pkgs.runCommand "dconf-db" - { + compileDconfDb = + dir: + pkgs.runCommand "dconf-db" { nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; } "dconf compile $out ${dir}"; # Check if dconf keyfiles are valid - checkDconfKeyfiles = dir: pkgs.runCommand "check-dconf-keyfiles" - { - nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; - } '' - if [[ -f ${dir} ]]; then - echo "dconf keyfiles should be a directory but a file is provided: ${dir}" - exit 1 - fi - - dconf compile db ${dir} || ( - echo "The dconf keyfiles are invalid: ${dir}" - exit 1 - ) - cp -R ${dir} $out - ''; - - mkAllLocks = settings: lib.flatten ( - lib.mapAttrsToList (k: v: lib.mapAttrsToList (k': _: "/${k}/${k'}") v) settings); + checkDconfKeyfiles = + dir: + pkgs.runCommand "check-dconf-keyfiles" + { + nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; + } + '' + if [[ -f ${dir} ]]; then + echo "dconf keyfiles should be a directory but a file is provided: ${dir}" + exit 1 + fi + + dconf compile db ${dir} || ( + echo "The dconf keyfiles are invalid: ${dir}" + exit 1 + ) + cp -R ${dir} $out + ''; + + mkAllLocks = + settings: + lib.flatten (lib.mapAttrsToList (k: v: lib.mapAttrsToList (k': _: "/${k}/${k'}") v) settings); # Generate dconf DB from dconfDatabase and keyfiles - mkDconfDb = val: compileDconfDb (pkgs.symlinkJoin { - name = "nixos-generated-dconf-keyfiles"; - paths = [ - (pkgs.writeTextDir "nixos-generated-dconf-keyfiles" (lib.generators.toDconfINI val.settings)) - (pkgs.writeTextDir "locks/nixos-generated-dconf-locks" (lib.concatStringsSep "\n" - (if val.lockAll then mkAllLocks val.settings else val.locks) - )) - ] ++ (map checkDconfKeyfiles val.keyfiles); - }); + mkDconfDb = + val: + compileDconfDb ( + pkgs.symlinkJoin { + name = "nixos-generated-dconf-keyfiles"; + paths = [ + (pkgs.writeTextDir "nixos-generated-dconf-keyfiles" (lib.generators.toDconfINI val.settings)) + (pkgs.writeTextDir "locks/nixos-generated-dconf-locks" ( + lib.concatStringsSep "\n" (if val.lockAll then mkAllLocks val.settings else val.locks) + )) + ] ++ (map checkDconfKeyfiles val.keyfiles); + } + ); # Check if a dconf DB file is valid. The dconf cli doesn't return 1 when it can't # open the database file so we have to check if the output is empty. - checkDconfDb = file: pkgs.runCommand "check-dconf-db" - { - nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; - } '' - if [[ -d ${file} ]]; then - echo "dconf DB should be a file but a directory is provided: ${file}" - exit 1 - fi - - echo "file-db:${file}" > profile - DCONF_PROFILE=$(pwd)/profile dconf dump / > output 2> error - if [[ ! -s output ]] && [[ -s error ]]; then - cat error - echo "The dconf DB file is invalid: ${file}" - exit 1 - fi - - cp ${file} $out - ''; + checkDconfDb = + file: + pkgs.runCommand "check-dconf-db" + { + nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; + } + '' + if [[ -d ${file} ]]; then + echo "dconf DB should be a file but a directory is provided: ${file}" + exit 1 + fi + + echo "file-db:${file}" > profile + DCONF_PROFILE=$(pwd)/profile dconf dump / > output 2> error + if [[ ! -s output ]] && [[ -s error ]]; then + cat error + echo "The dconf DB file is invalid: ${file}" + exit 1 + fi + + cp ${file} $out + ''; # Generate dconf profile - mkDconfProfile = name: value: + mkDconfProfile = + name: value: if lib.isDerivation value || lib.isPath value then pkgs.runCommand "dconf-profile" { } '' if [[ -d ${value} ]]; then @@ -75,87 +93,95 @@ let '' else pkgs.writeTextDir "etc/dconf/profile/${name}" ( - lib.concatMapStrings (x: "${x}\n") (( - lib.optional value.enableUserDb "user-db:user" - ) ++ ( - map - (value: - let - db = if lib.isAttrs value && !lib.isDerivation value then mkDconfDb value else checkDconfDb value; - in - "file-db:${db}") - value.databases - )) + lib.concatMapStrings (x: "${x}\n") ( + (lib.optional value.enableUserDb "user-db:user") + ++ (map ( + value: + let + db = if lib.isAttrs value && !lib.isDerivation value then mkDconfDb value else checkDconfDb value; + in + "file-db:${db}" + ) value.databases) + ) ); - dconfDatabase = with lib.types; submodule { - options = { - keyfiles = lib.mkOption { - type = listOf (oneOf [ path package ]); - default = [ ]; - description = "A list of dconf keyfile directories."; - }; - settings = lib.mkOption { - type = attrs; - default = { }; - description = "An attrset used to generate dconf keyfile."; - example = literalExpression '' - with lib.gvariant; - { - "com/raggesilver/BlackBox" = { - scrollback-lines = mkUint32 10000; - theme-dark = "Tommorow Night"; - }; - } - ''; - }; - locks = lib.mkOption { - type = with lib.types; listOf str; - default = [ ]; - description = '' - A list of dconf keys to be lockdown. This doesn't take effect if `lockAll` - is set. - ''; - example = literalExpression '' - [ "/org/gnome/desktop/background/picture-uri" ] - ''; - }; - lockAll = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Lockdown all dconf keys in `settings`."; + dconfDatabase = + with lib.types; + submodule { + options = { + keyfiles = lib.mkOption { + type = listOf (oneOf [ + path + package + ]); + default = [ ]; + description = "A list of dconf keyfile directories."; + }; + settings = lib.mkOption { + type = attrs; + default = { }; + description = "An attrset used to generate dconf keyfile."; + example = literalExpression '' + with lib.gvariant; + { + "com/raggesilver/BlackBox" = { + scrollback-lines = mkUint32 10000; + theme-dark = "Tommorow Night"; + }; + } + ''; + }; + locks = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = '' + A list of dconf keys to be lockdown. This doesn't take effect if `lockAll` + is set. + ''; + example = literalExpression '' + [ "/org/gnome/desktop/background/picture-uri" ] + ''; + }; + lockAll = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Lockdown all dconf keys in `settings`."; + }; }; }; - }; - dconfProfile = with lib.types; submodule { - options = { - enableUserDb = lib.mkOption { - type = bool; - default = true; - description = "Add `user-db:user` at the beginning of the profile."; - }; + dconfProfile = + with lib.types; + submodule { + options = { + enableUserDb = lib.mkOption { + type = bool; + default = true; + description = "Add `user-db:user` at the beginning of the profile."; + }; - databases = lib.mkOption { - type = with lib.types; listOf (oneOf [ - path - package - dconfDatabase - ]); - default = [ ]; - description = '' - List of data sources for the profile. An element can be an attrset, - or the path of an already compiled database. Each element is converted - to a file-db. - - A key is searched from up to down and the first result takes the - priority. If a lock for a particular key is installed then the value from - the last database in the profile where the key is locked will be used. - This can be used to enforce mandatory settings. - ''; + databases = lib.mkOption { + type = + with lib.types; + listOf (oneOf [ + path + package + dconfDatabase + ]); + default = [ ]; + description = '' + List of data sources for the profile. An element can be an attrset, + or the path of an already compiled database. Each element is converted + to a file-db. + + A key is searched from up to down and the first result takes the + priority. If a lock for a particular key is installed then the value from + the last database in the profile where the key is locked will be used. + This can be used to enforce mandatory settings. + ''; + }; }; }; - }; in { @@ -164,11 +190,13 @@ in enable = lib.mkEnableOption "dconf"; profiles = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ - path - package - dconfProfile - ]); + type = + with lib.types; + attrsOf (oneOf [ + path + package + dconfProfile + ]); default = { }; description = '' Attrset of dconf profiles. By default the `user` profile is used which diff --git a/nixos/modules/programs/digitalbitbox/default.nix b/nixos/modules/programs/digitalbitbox/default.nix index 06d33966b4a07..73cce23bbaed6 100644 --- a/nixos/modules/programs/digitalbitbox/default.nix +++ b/nixos/modules/programs/digitalbitbox/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.digitalbitbox; diff --git a/nixos/modules/programs/dmrconfig.nix b/nixos/modules/programs/dmrconfig.nix index e2136765093aa..9f9246a51957f 100644 --- a/nixos/modules/programs/dmrconfig.nix +++ b/nixos/modules/programs/dmrconfig.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.dmrconfig; -in { +in +{ meta.maintainers = [ ]; ###### interface diff --git a/nixos/modules/programs/droidcam.nix b/nixos/modules/programs/droidcam.nix index eef3997e6b809..029ca34c8056f 100644 --- a/nixos/modules/programs/droidcam.nix +++ b/nixos/modules/programs/droidcam.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: { options.programs.droidcam = { @@ -9,6 +14,9 @@ environment.systemPackages = [ pkgs.droidcam ]; boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; - boot.kernelModules = [ "v4l2loopback" "snd-aloop" ]; + boot.kernelModules = [ + "v4l2loopback" + "snd-aloop" + ]; }; } diff --git a/nixos/modules/programs/dublin-traceroute.nix b/nixos/modules/programs/dublin-traceroute.nix index c764352843e78..7ba85207c2e73 100644 --- a/nixos/modules/programs/dublin-traceroute.nix +++ b/nixos/modules/programs/dublin-traceroute.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.dublin-traceroute; -in { +in +{ meta.maintainers = pkgs.dublin-traceroute.meta.maintainers; options = { diff --git a/nixos/modules/programs/ecryptfs.nix b/nixos/modules/programs/ecryptfs.nix index 8674f7ec80e0a..37b3699c20a86 100644 --- a/nixos/modules/programs/ecryptfs.nix +++ b/nixos/modules/programs/ecryptfs.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.ecryptfs; -in { +in +{ options.programs.ecryptfs = { enable = lib.mkEnableOption "ecryptfs setuid mount wrappers"; }; diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 8a565b7bcac46..698c61764f4f7 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -14,45 +14,54 @@ in config = { - environment.variables = - { NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix"; - # note: many programs exec() this directly, so default options for less must not - # be specified here; do so in the default value of programs.less.envVariables instead - PAGER = lib.mkDefault "less"; - EDITOR = lib.mkDefault "nano"; - }; + environment.variables = { + NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix"; + # note: many programs exec() this directly, so default options for less must not + # be specified here; do so in the default value of programs.less.envVariables instead + PAGER = lib.mkDefault "less"; + EDITOR = lib.mkDefault "nano"; + }; # since we set PAGER to this above, make sure it's installed programs.less.enable = true; - environment.profiles = lib.mkAfter - [ "/nix/var/nix/profiles/default" - "/run/current-system/sw" - ]; + environment.profiles = lib.mkAfter [ + "/nix/var/nix/profiles/default" + "/run/current-system/sw" + ]; - environment.sessionVariables = - { - XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc - }; + environment.sessionVariables = { + XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc + }; # TODO: move most of these elsewhere - environment.profileRelativeSessionVariables = - { PATH = [ "/bin" ]; - INFOPATH = [ "/info" "/share/info" ]; - QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ]; - GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ]; - XDG_CONFIG_DIRS = [ "/etc/xdg" ]; - XDG_DATA_DIRS = [ "/share" ]; - LIBEXEC_PATH = [ "/libexec" ]; - }; - - environment.pathsToLink = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ]; - - environment.extraInit = - '' - export NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/$USER" - export NIX_PROFILES="${builtins.concatStringsSep " " (lib.reverseList cfg.profiles)}" - ''; + environment.profileRelativeSessionVariables = { + PATH = [ "/bin" ]; + INFOPATH = [ + "/info" + "/share/info" + ]; + QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ]; + GTK_PATH = [ + "/lib/gtk-2.0" + "/lib/gtk-3.0" + "/lib/gtk-4.0" + ]; + XDG_CONFIG_DIRS = [ "/etc/xdg" ]; + XDG_DATA_DIRS = [ "/share" ]; + LIBEXEC_PATH = [ "/libexec" ]; + }; + + environment.pathsToLink = [ + "/lib/gtk-2.0" + "/lib/gtk-3.0" + "/lib/gtk-4.0" + ]; + + environment.extraInit = '' + export NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/$USER" + export NIX_PROFILES="${builtins.concatStringsSep " " (lib.reverseList cfg.profiles)}" + ''; }; diff --git a/nixos/modules/programs/envision.nix b/nixos/modules/programs/envision.nix index 56acd83d7daf8..02f7ba5fdbebc 100644 --- a/nixos/modules/programs/envision.nix +++ b/nixos/modules/programs/envision.nix @@ -14,7 +14,7 @@ in programs.envision = { enable = lib.mkEnableOption "envision"; - package = lib.mkPackageOption pkgs "envision" {}; + package = lib.mkPackageOption pkgs "envision" { }; openFirewall = lib.mkEnableOption "the default ports in the firewall for the WiVRn server" // { default = true; diff --git a/nixos/modules/programs/evince.nix b/nixos/modules/programs/evince.nix index a27e75e6626de..d648c3cb16ef5 100644 --- a/nixos/modules/programs/evince.nix +++ b/nixos/modules/programs/evince.nix @@ -1,10 +1,17 @@ # Evince. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: -let cfg = config.programs.evince; +let + cfg = config.programs.evince; -in { +in +{ ###### interface @@ -20,7 +27,6 @@ in { }; - ###### implementation config = lib.mkIf config.programs.evince.enable { diff --git a/nixos/modules/programs/extra-container.nix b/nixos/modules/programs/extra-container.nix index 6dcfba7971da2..30b0785ad47f2 100644 --- a/nixos/modules/programs/extra-container.nix +++ b/nixos/modules/programs/extra-container.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.extra-container; -in { +in +{ options = { programs.extra-container.enable = lib.mkEnableOption '' extra-container, a tool for running declarative NixOS containers diff --git a/nixos/modules/programs/fcast-receiver.nix b/nixos/modules/programs/fcast-receiver.nix index 73e13cd1bc8dc..1ed44bce2b340 100644 --- a/nixos/modules/programs/fcast-receiver.nix +++ b/nixos/modules/programs/fcast-receiver.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.fcast-receiver; in diff --git a/nixos/modules/programs/feedbackd.nix b/nixos/modules/programs/feedbackd.nix index 0c82c7840c8f1..e114520c48255 100644 --- a/nixos/modules/programs/feedbackd.nix +++ b/nixos/modules/programs/feedbackd.nix @@ -1,8 +1,14 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.programs.feedbackd; -in { +in +{ options = { programs.feedbackd = { enable = lib.mkEnableOption '' @@ -19,6 +25,6 @@ in { services.dbus.packages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; - users.groups.feedbackd = {}; + users.groups.feedbackd = { }; }; } diff --git a/nixos/modules/programs/file-roller.nix b/nixos/modules/programs/file-roller.nix index d58af9cd59a58..d37825558e4af 100644 --- a/nixos/modules/programs/file-roller.nix +++ b/nixos/modules/programs/file-roller.nix @@ -1,10 +1,17 @@ # File Roller. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: -let cfg = config.programs.file-roller; +let + cfg = config.programs.file-roller; -in { +in +{ ###### interface @@ -20,7 +27,6 @@ in { }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/programs/firejail.nix b/nixos/modules/programs/firejail.nix index 90da938182748..8276f2394fd9f 100644 --- a/nixos/modules/programs/firejail.nix +++ b/nixos/modules/programs/firejail.nix @@ -1,74 +1,97 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.firejail; - wrappedBins = pkgs.runCommand "firejail-wrapped-binaries" - { preferLocalBuild = true; - allowSubstitutes = false; - # take precedence over non-firejailed versions - meta.priority = -1; - } - '' - mkdir -p $out/bin - mkdir -p $out/share/applications - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (command: value: - let - opts = if builtins.isAttrs value - then value - else { executable = value; desktop = null; profile = null; extraArgs = []; }; - args = lib.escapeShellArgs ( - opts.extraArgs - ++ (lib.optional (opts.profile != null) "--profile=${builtins.toString opts.profile}") - ); - in + wrappedBins = + pkgs.runCommand "firejail-wrapped-binaries" + { + preferLocalBuild = true; + allowSubstitutes = false; + # take precedence over non-firejailed versions + meta.priority = -1; + } '' - cat <<_EOF >$out/bin/${command} - #! ${pkgs.runtimeShell} -e - exec /run/wrappers/bin/firejail ${args} -- ${builtins.toString opts.executable} "\$@" - _EOF - chmod 0755 $out/bin/${command} + mkdir -p $out/bin + mkdir -p $out/share/applications + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + command: value: + let + opts = + if builtins.isAttrs value then + value + else + { + executable = value; + desktop = null; + profile = null; + extraArgs = [ ]; + }; + args = lib.escapeShellArgs ( + opts.extraArgs + ++ (lib.optional (opts.profile != null) "--profile=${builtins.toString opts.profile}") + ); + in + '' + cat <<_EOF >$out/bin/${command} + #! ${pkgs.runtimeShell} -e + exec /run/wrappers/bin/firejail ${args} -- ${builtins.toString opts.executable} "\$@" + _EOF + chmod 0755 $out/bin/${command} - ${lib.optionalString (opts.desktop != null) '' - substitute ${opts.desktop} $out/share/applications/$(basename ${opts.desktop}) \ - --replace ${opts.executable} $out/bin/${command} - ''} - '') cfg.wrappedBinaries)} - ''; + ${lib.optionalString (opts.desktop != null) '' + substitute ${opts.desktop} $out/share/applications/$(basename ${opts.desktop}) \ + --replace ${opts.executable} $out/bin/${command} + ''} + '' + ) cfg.wrappedBinaries + )} + ''; -in { +in +{ options.programs.firejail = { enable = lib.mkEnableOption "firejail, a sandboxing tool for Linux"; wrappedBinaries = lib.mkOption { - type = lib.types.attrsOf (lib.types.either lib.types.path (lib.types.submodule { - options = { - executable = lib.mkOption { - type = lib.types.path; - description = "Executable to run sandboxed"; - example = lib.literalExpression ''"''${lib.getBin pkgs.firefox}/bin/firefox"''; - }; - desktop = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = ".desktop file to modify. Only necessary if it uses the absolute path to the executable."; - example = lib.literalExpression ''"''${pkgs.firefox}/share/applications/firefox.desktop"''; - }; - profile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = "Profile to use"; - example = lib.literalExpression ''"''${pkgs.firejail}/etc/firejail/firefox.profile"''; - }; - extraArgs = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = "Extra arguments to pass to firejail"; - example = [ "--private=~/.firejail_home" ]; - }; - }; - })); - default = {}; + type = lib.types.attrsOf ( + lib.types.either lib.types.path ( + lib.types.submodule { + options = { + executable = lib.mkOption { + type = lib.types.path; + description = "Executable to run sandboxed"; + example = lib.literalExpression ''"''${lib.getBin pkgs.firefox}/bin/firefox"''; + }; + desktop = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = ".desktop file to modify. Only necessary if it uses the absolute path to the executable."; + example = lib.literalExpression ''"''${pkgs.firefox}/share/applications/firefox.desktop"''; + }; + profile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = "Profile to use"; + example = lib.literalExpression ''"''${pkgs.firejail}/etc/firejail/firefox.profile"''; + }; + extraArgs = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = "Extra arguments to pass to firejail"; + example = [ "--private=~/.firejail_home" ]; + }; + }; + } + ) + ); + default = { }; example = lib.literalExpression '' { firefox = { @@ -88,12 +111,12 @@ in { }; config = lib.mkIf cfg.enable { - security.wrappers.firejail = - { setuid = true; - owner = "root"; - group = "root"; - source = "${lib.getBin pkgs.firejail}/bin/firejail"; - }; + security.wrappers.firejail = { + setuid = true; + owner = "root"; + group = "root"; + source = "${lib.getBin pkgs.firejail}/bin/firejail"; + }; environment.systemPackages = [ pkgs.firejail ] ++ [ wrappedBins ]; }; diff --git a/nixos/modules/programs/flashrom.nix b/nixos/modules/programs/flashrom.nix index dd398497c2d0d..394b4d040a2d8 100644 --- a/nixos/modules/programs/flashrom.nix +++ b/nixos/modules/programs/flashrom.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.flashrom; diff --git a/nixos/modules/programs/flexoptix-app.nix b/nixos/modules/programs/flexoptix-app.nix index baa9e33882cae..33801547bd7db 100644 --- a/nixos/modules/programs/flexoptix-app.nix +++ b/nixos/modules/programs/flexoptix-app.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.flexoptix-app; -in { +in +{ options = { programs.flexoptix-app = { enable = lib.mkEnableOption "FLEXOPTIX app + udev rules"; diff --git a/nixos/modules/programs/freetds.nix b/nixos/modules/programs/freetds.nix index 77daaa8fd3985..9bcae0068919b 100644 --- a/nixos/modules/programs/freetds.nix +++ b/nixos/modules/programs/freetds.nix @@ -1,6 +1,11 @@ # Global configuration for freetds environment. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -14,7 +19,7 @@ in environment.freetds = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = lib.literalExpression '' { MYDATABASE = ''' host = 10.0.2.100 @@ -30,7 +35,7 @@ in the global environment variables FREETDSCONF, FREETDS and SYBASE will be configured to allow the programs that use freetds to find the library and config. - ''; + ''; }; @@ -44,13 +49,15 @@ in environment.variables.FREETDS = "/etc/freetds.conf"; environment.variables.SYBASE = "${pkgs.freetds}"; - environment.etc."freetds.conf" = { text = - (lib.concatStrings (lib.mapAttrsToList (name: value: - '' - [${name}] - ${value} - '' - ) cfg)); + environment.etc."freetds.conf" = { + text = ( + lib.concatStrings ( + lib.mapAttrsToList (name: value: '' + [${name}] + ${value} + '') cfg + ) + ); }; }; diff --git a/nixos/modules/programs/fuse.nix b/nixos/modules/programs/fuse.nix index 7083194bd9894..1f5de484914ba 100644 --- a/nixos/modules/programs/fuse.nix +++ b/nixos/modules/programs/fuse.nix @@ -2,7 +2,8 @@ let cfg = config.programs.fuse; -in { +in +{ meta.maintainers = with lib.maintainers; [ primeos ]; options.programs.fuse = { @@ -26,7 +27,7 @@ in { }; }; - config = { + config = { environment.etc."fuse.conf".text = '' ${lib.optionalString (!cfg.userAllowOther) "#"}user_allow_other mount_max = ${builtins.toString cfg.mountMax} diff --git a/nixos/modules/programs/gamemode.nix b/nixos/modules/programs/gamemode.nix index bd3248c1c5a24..d70419c32023b 100644 --- a/nixos/modules/programs/gamemode.nix +++ b/nixos/modules/programs/gamemode.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.gamemode; @@ -10,9 +15,11 @@ in programs.gamemode = { enable = lib.mkEnableOption "GameMode to optimise system performance on demand"; - enableRenice = lib.mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" // { - default = true; - }; + enableRenice = + lib.mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" + // { + default = true; + }; settings = lib.mkOption { type = settingsFormat.type; @@ -75,12 +82,14 @@ in # # This uses a link farm to make sure other wrapped executables # aren't included in PATH. - environment.PATH = lib.mkForce (pkgs.linkFarm "pkexec" [ - { - name = "pkexec"; - path = "${config.security.wrapperDir}/pkexec"; - } - ]); + environment.PATH = lib.mkForce ( + pkgs.linkFarm "pkexec" [ + { + name = "pkexec"; + path = "${config.security.wrapperDir}/pkexec"; + } + ] + ); serviceConfig.ExecStart = lib.mkIf cfg.enableRenice [ "" # Tell systemd to clear the existing ExecStart list, to prevent appending to it. diff --git a/nixos/modules/programs/gamescope.nix b/nixos/modules/programs/gamescope.nix index ccd4fd448a8f2..f3659ff20a40c 100644 --- a/nixos/modules/programs/gamescope.nix +++ b/nixos/modules/programs/gamescope.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.programs.gamescope; @@ -9,8 +10,7 @@ let gamescope = let wrapperArgs = - lib.optional (cfg.args != [ ]) - ''--add-flags "${builtins.toString cfg.args}"'' + lib.optional (cfg.args != [ ]) ''--add-flags "${builtins.toString cfg.args}"'' ++ builtins.attrValues (builtins.mapAttrs (var: val: "--set-default ${var} ${val}") cfg.env); in pkgs.runCommand "gamescope" { nativeBuildInputs = [ pkgs.makeBinaryWrapper ]; } '' @@ -38,7 +38,10 @@ in args = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "--rt" "--prefer-vk-device 8086:9bc4" ]; + example = [ + "--rt" + "--prefer-vk-device 8086:9bc4" + ]; description = '' Arguments passed to GameScope on startup. ''; diff --git a/nixos/modules/programs/gdk-pixbuf.nix b/nixos/modules/programs/gdk-pixbuf.nix index f96259ccd2c78..9f141b61c2945 100644 --- a/nixos/modules/programs/gdk-pixbuf.nix +++ b/nixos/modules/programs/gdk-pixbuf.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.gdk-pixbuf; @@ -24,7 +29,7 @@ in # If there is any package configured in modulePackages, we generate the # loaders.cache based on that and set the environment variable # GDK_PIXBUF_MODULE_FILE to point to it. - config = lib.mkIf (cfg.modulePackages != []) { + config = lib.mkIf (cfg.modulePackages != [ ]) { environment.sessionVariables = { GDK_PIXBUF_MODULE_FILE = loadersCache; }; diff --git a/nixos/modules/programs/geary.nix b/nixos/modules/programs/geary.nix index 7c22d88a9ad55..0cbfe5b0605ca 100644 --- a/nixos/modules/programs/geary.nix +++ b/nixos/modules/programs/geary.nix @@ -1,9 +1,15 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.geary; -in { +in +{ meta = { maintainers = lib.teams.gnome.members; }; @@ -19,4 +25,3 @@ in { services.gnome.gnome-online-accounts.enable = true; }; } - diff --git a/nixos/modules/programs/gnome-disks.nix b/nixos/modules/programs/gnome-disks.nix index 8c0cee906c564..e6f93c6fdfe6d 100644 --- a/nixos/modules/programs/gnome-disks.nix +++ b/nixos/modules/programs/gnome-disks.nix @@ -1,6 +1,11 @@ # GNOME Disks. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { @@ -27,7 +32,6 @@ }; - ###### implementation config = lib.mkIf config.programs.gnome-disks.enable { diff --git a/nixos/modules/programs/gnome-terminal.nix b/nixos/modules/programs/gnome-terminal.nix index a065adfe61c4f..aea0e97c36340 100644 --- a/nixos/modules/programs/gnome-terminal.nix +++ b/nixos/modules/programs/gnome-terminal.nix @@ -1,6 +1,11 @@ # GNOME Terminal. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix index 97cd47ba3eb8a..a6fbd081f44a7 100644 --- a/nixos/modules/programs/gnupg.nix +++ b/nixos/modules/programs/gnupg.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkRemovedOptionModule mkOption mkPackageOption types mkIf optionalString; + inherit (lib) + mkRemovedOptionModule + mkOption + mkPackageOption + types + mkIf + optionalString + ; cfg = config.programs.gnupg; @@ -11,7 +23,12 @@ let in { imports = [ - (mkRemovedOptionModule [ "programs" "gnupg" "agent" "pinentryFlavor" ] "Use programs.gnupg.agent.pinentryPackage instead") + (mkRemovedOptionModule [ + "programs" + "gnupg" + "agent" + "pinentryFlavor" + ] "Use programs.gnupg.agent.pinentryPackage instead") ]; options.programs.gnupg = { @@ -191,7 +208,9 @@ in wantedBy = [ "sockets.target" ]; }; - services.dbus.packages = mkIf (lib.elem "gnome3" (cfg.agent.pinentryPackage.flavors or [])) [ pkgs.gcr ]; + services.dbus.packages = mkIf (lib.elem "gnome3" (cfg.agent.pinentryPackage.flavors or [ ])) [ + pkgs.gcr + ]; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/programs/goldwarden.nix b/nixos/modules/programs/goldwarden.nix index 26f9a87c1986f..f7f1ece28e9df 100644 --- a/nixos/modules/programs/goldwarden.nix +++ b/nixos/modules/programs/goldwarden.nix @@ -1,24 +1,35 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.programs.goldwarden; in { options.programs.goldwarden = { enable = lib.mkEnableOption "Goldwarden"; - package = lib.mkPackageOption pkgs "goldwarden" {}; - useSshAgent = lib.mkEnableOption "Goldwarden's SSH Agent" // { default = true; }; + package = lib.mkPackageOption pkgs "goldwarden" { }; + useSshAgent = lib.mkEnableOption "Goldwarden's SSH Agent" // { + default = true; + }; }; config = lib.mkIf cfg.enable { - assertions = [{ - assertion = cfg.useSshAgent -> !config.programs.ssh.startAgent; - message = "Only one ssh-agent can be used at a time."; - }]; + assertions = [ + { + assertion = cfg.useSshAgent -> !config.programs.ssh.startAgent; + message = "Only one ssh-agent can be used at a time."; + } + ]; environment = { etc = lib.mkIf config.programs.chromium.enable { - "chromium/native-messaging-hosts/com.8bit.bitwarden.json".source = "${cfg.package}/etc/chromium/native-messaging-hosts/com.8bit.bitwarden.json"; - "opt/chrome/native-messaging-hosts/com.8bit.bitwarden.json".source = "${cfg.package}/etc/chrome/native-messaging-hosts/com.8bit.bitwarden.json"; + "chromium/native-messaging-hosts/com.8bit.bitwarden.json".source = + "${cfg.package}/etc/chromium/native-messaging-hosts/com.8bit.bitwarden.json"; + "opt/chrome/native-messaging-hosts/com.8bit.bitwarden.json".source = + "${cfg.package}/etc/chrome/native-messaging-hosts/com.8bit.bitwarden.json"; }; extraInit = lib.mkIf cfg.useSshAgent '' diff --git a/nixos/modules/programs/gpaste.nix b/nixos/modules/programs/gpaste.nix index f0c3baf10da03..042bd812cca79 100644 --- a/nixos/modules/programs/gpaste.nix +++ b/nixos/modules/programs/gpaste.nix @@ -1,11 +1,16 @@ # GPaste. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface options = { - programs.gpaste = { + programs.gpaste = { enable = lib.mkOption { type = lib.types.bool; default = false; diff --git a/nixos/modules/programs/haguichi.nix b/nixos/modules/programs/haguichi.nix index fd769ac8d0a03..39b28cc7f0472 100644 --- a/nixos/modules/programs/haguichi.nix +++ b/nixos/modules/programs/haguichi.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: { options.programs.haguichi = { diff --git a/nixos/modules/programs/hamster.nix b/nixos/modules/programs/hamster.nix index 90cfc0f86a246..d21ca4825a466 100644 --- a/nixos/modules/programs/hamster.nix +++ b/nixos/modules/programs/hamster.nix @@ -1,10 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta.maintainers = pkgs.hamster.meta.maintainers; - options.programs.hamster.enable = - lib.mkEnableOption "hamster, a time tracking program"; + options.programs.hamster.enable = lib.mkEnableOption "hamster, a time tracking program"; config = lib.mkIf config.programs.hamster.enable { environment.systemPackages = [ pkgs.hamster ]; diff --git a/nixos/modules/programs/htop.nix b/nixos/modules/programs/htop.nix index 1252b41e8b851..62fb4a4fe57bd 100644 --- a/nixos/modules/programs/htop.nix +++ b/nixos/modules/programs/htop.nix @@ -1,15 +1,26 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.htop; - fmt = value: - if builtins.isList value then builtins.concatStringsSep " " (builtins.map fmt value) else - if builtins.isString value then value else - if builtins.isBool value then if value then "1" else "0" else - if builtins.isInt value then builtins.toString value else - throw "Unrecognized type ${builtins.typeOf value} in htop settings"; + fmt = + value: + if builtins.isList value then + builtins.concatStringsSep " " (builtins.map fmt value) + else if builtins.isString value then + value + else if builtins.isBool value then + if value then "1" else "0" + else if builtins.isInt value then + builtins.toString value + else + throw "Unrecognized type ${builtins.typeOf value} in htop settings"; in @@ -21,8 +32,19 @@ in enable = lib.mkEnableOption "htop process monitor"; settings = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]); - default = {}; + type = + with lib.types; + attrsOf (oneOf [ + str + int + bool + (listOf (oneOf [ + str + int + bool + ])) + ]); + default = { }; example = { hide_kernel_threads = true; hide_userland_threads = true; @@ -41,10 +63,14 @@ in cfg.package ]; - environment.etc."htoprc".text = '' - # Global htop configuration - # To change set: programs.htop.settings.KEY = VALUE; - '' + builtins.concatStringsSep "\n" (lib.mapAttrsToList (key: value: "${key}=${fmt value}") cfg.settings); + environment.etc."htoprc".text = + '' + # Global htop configuration + # To change set: programs.htop.settings.KEY = VALUE; + '' + + builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (key: value: "${key}=${fmt value}") cfg.settings + ); }; } diff --git a/nixos/modules/programs/i3lock.nix b/nixos/modules/programs/i3lock.nix index ff616144e2834..1b4091abaac3f 100644 --- a/nixos/modules/programs/i3lock.nix +++ b/nixos/modules/programs/i3lock.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.i3lock; -in { +in +{ ###### interface @@ -20,9 +26,9 @@ in { ''; }; u2fSupport = lib.mkOption { - type = lib.types.bool; - default = false; - example = true; + type = lib.types.bool; + default = false; + example = true; description = '' Whether to enable U2F support in the i3lock program. U2F enables authentication using a hardware device, such as a security key. diff --git a/nixos/modules/programs/iay.nix b/nixos/modules/programs/iay.nix index bbd401144311c..adc8014fbfa29 100644 --- a/nixos/modules/programs/iay.nix +++ b/nixos/modules/programs/iay.nix @@ -1,12 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.iay; - inherit (lib) mkEnableOption mkIf mkOption mkPackageOption optionalString types; -in { + inherit (lib) + mkEnableOption + mkIf + mkOption + mkPackageOption + optionalString + types + ; +in +{ options.programs.iay = { enable = mkEnableOption "iay, a minimalistic shell prompt"; - package = mkPackageOption pkgs "iay" {}; + package = mkPackageOption pkgs "iay" { }; minimalPrompt = mkOption { type = types.bool; diff --git a/nixos/modules/programs/joycond-cemuhook.nix b/nixos/modules/programs/joycond-cemuhook.nix index c01a00478113a..d26aad543c412 100644 --- a/nixos/modules/programs/joycond-cemuhook.nix +++ b/nixos/modules/programs/joycond-cemuhook.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: { options.programs.joycond-cemuhook = { enable = lib.mkEnableOption "joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices"; diff --git a/nixos/modules/programs/k40-whisperer.nix b/nixos/modules/programs/k40-whisperer.nix index 0f29c476cbb79..cd9159d62bdf3 100644 --- a/nixos/modules/programs/k40-whisperer.nix +++ b/nixos/modules/programs/k40-whisperer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.k40-whisperer; @@ -22,7 +27,7 @@ in }; config = lib.mkIf cfg.enable { - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; environment.systemPackages = [ pkg ]; services.udev.packages = [ pkg ]; diff --git a/nixos/modules/programs/kbdlight.nix b/nixos/modules/programs/kbdlight.nix index 934bb214c1166..567f76bdeedad 100644 --- a/nixos/modules/programs/kbdlight.nix +++ b/nixos/modules/programs/kbdlight.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.kbdlight; @@ -9,11 +14,11 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.kbdlight ]; - security.wrappers.kbdlight = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.kbdlight.out}/bin/kbdlight"; - }; + security.wrappers.kbdlight = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.kbdlight.out}/bin/kbdlight"; + }; }; } diff --git a/nixos/modules/programs/kclock.nix b/nixos/modules/programs/kclock.nix index b69f358ec1ff9..9f40d71a90554 100644 --- a/nixos/modules/programs/kclock.nix +++ b/nixos/modules/programs/kclock.nix @@ -1,9 +1,17 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.programs.kclock; kclockPkg = pkgs.libsForQt5.kclock; -in { - options.programs.kclock = { enable = lib.mkEnableOption "KClock"; }; +in +{ + options.programs.kclock = { + enable = lib.mkEnableOption "KClock"; + }; config = lib.mkIf cfg.enable { services.dbus.packages = [ kclockPkg ]; diff --git a/nixos/modules/programs/kde-pim.nix b/nixos/modules/programs/kde-pim.nix index af3c45b690c20..d0acaddd4b874 100644 --- a/nixos/modules/programs/kde-pim.nix +++ b/nixos/modules/programs/kde-pim.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.kde-pim; @@ -12,19 +17,24 @@ in }; config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs.kdePackages; [ - # core packages - akonadi - kdepim-runtime - ] ++ lib.optionals cfg.kmail [ - akonadiconsole - akonadi-search - kmail - kmail-account-wizard - ] ++ lib.optionals cfg.kontact [ - kontact - ] ++ lib.optionals cfg.merkuro [ - merkuro - ]; + environment.systemPackages = + with pkgs.kdePackages; + [ + # core packages + akonadi + kdepim-runtime + ] + ++ lib.optionals cfg.kmail [ + akonadiconsole + akonadi-search + kmail + kmail-account-wizard + ] + ++ lib.optionals cfg.kontact [ + kontact + ] + ++ lib.optionals cfg.merkuro [ + merkuro + ]; }; } diff --git a/nixos/modules/programs/kdeconnect.nix b/nixos/modules/programs/kdeconnect.nix index 76bba40103084..17bb384a9fea6 100644 --- a/nixos/modules/programs/kdeconnect.nix +++ b/nixos/modules/programs/kdeconnect.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { options.programs.kdeconnect = { enable = lib.mkEnableOption '' @@ -18,13 +23,18 @@ let cfg = config.programs.kdeconnect; in - lib.mkIf cfg.enable { - environment.systemPackages = [ - cfg.package + lib.mkIf cfg.enable { + environment.systemPackages = [ + cfg.package + ]; + networking.firewall = rec { + allowedTCPPortRanges = [ + { + from = 1714; + to = 1764; + } ]; - networking.firewall = rec { - allowedTCPPortRanges = [ { from = 1714; to = 1764; } ]; - allowedUDPPortRanges = allowedTCPPortRanges; - }; + allowedUDPPortRanges = allowedTCPPortRanges; }; + }; } diff --git a/nixos/modules/programs/kubeswitch.nix b/nixos/modules/programs/kubeswitch.nix index 9348540022f23..4a86f68a0d0b9 100644 --- a/nixos/modules/programs/kubeswitch.nix +++ b/nixos/modules/programs/kubeswitch.nix @@ -29,7 +29,7 @@ in config = let - shell_files = pkgs.runCommand "kubeswitch-shell-files" {} '' + shell_files = pkgs.runCommand "kubeswitch-shell-files" { } '' mkdir -p $out/share for shell in bash zsh; do ${cfg.package}/bin/switcher init $shell | sed 's/switch(/${cfg.commandName}(/' > $out/share/${cfg.commandName}_init.$shell diff --git a/nixos/modules/programs/ladybird.nix b/nixos/modules/programs/ladybird.nix index 43bfe445ef58e..20183f55c9820 100644 --- a/nixos/modules/programs/ladybird.nix +++ b/nixos/modules/programs/ladybird.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.ladybird; -in { +in +{ options = { programs.ladybird.enable = lib.mkEnableOption "the Ladybird web browser"; }; diff --git a/nixos/modules/programs/lazygit.nix b/nixos/modules/programs/lazygit.nix index 3e36a0e0c4a8f..06252f1f1ef51 100644 --- a/nixos/modules/programs/lazygit.nix +++ b/nixos/modules/programs/lazygit.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.lazygit; diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix index 50ea1586f6880..e0da6bb52bc81 100644 --- a/nixos/modules/programs/less.nix +++ b/nixos/modules/programs/less.nix @@ -1,26 +1,35 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.less; - configText = if (cfg.configFile != null) then (builtins.readFile cfg.configFile) else '' - #command - ${builtins.concatStringsSep "\n" - (lib.mapAttrsToList (command: action: "${command} ${action}") cfg.commands) - } - ${lib.optionalString cfg.clearDefaultCommands "#stop"} - - #line-edit - ${builtins.concatStringsSep "\n" - (lib.mapAttrsToList (command: action: "${command} ${action}") cfg.lineEditingKeys) - } - - #env - ${builtins.concatStringsSep "\n" - (lib.mapAttrsToList (variable: values: "${variable}=${values}") cfg.envVariables) - } - ''; + configText = + if (cfg.configFile != null) then + (builtins.readFile cfg.configFile) + else + '' + #command + ${builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (command: action: "${command} ${action}") cfg.commands + )} + ${lib.optionalString cfg.clearDefaultCommands "#stop"} + + #line-edit + ${builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (command: action: "${command} ${action}") cfg.lineEditingKeys + )} + + #env + ${builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (variable: values: "${variable}=${values}") cfg.envVariables + )} + ''; lessKey = pkgs.writeText "lessconfig" configText; @@ -52,7 +61,7 @@ in commands = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = { h = "noaction 5\\e("; l = "noaction 5\\e)"; @@ -72,7 +81,7 @@ in lineEditingKeys = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = { e = "abort"; }; @@ -114,20 +123,24 @@ in environment.systemPackages = [ cfg.package ]; - environment.variables = { - LESSKEYIN_SYSTEM = builtins.toString lessKey; - } // lib.optionalAttrs (cfg.lessopen != null) { - LESSOPEN = cfg.lessopen; - } // lib.optionalAttrs (cfg.lessclose != null) { - LESSCLOSE = cfg.lessclose; - }; + environment.variables = + { + LESSKEYIN_SYSTEM = builtins.toString lessKey; + } + // lib.optionalAttrs (cfg.lessopen != null) { + LESSOPEN = cfg.lessopen; + } + // lib.optionalAttrs (cfg.lessclose != null) { + LESSCLOSE = cfg.lessclose; + }; - warnings = lib.optional ( - cfg.clearDefaultCommands && (builtins.all (x: x != "quit") (builtins.attrValues cfg.commands)) - ) '' - config.programs.less.clearDefaultCommands clears all default commands of less but there is no alternative binding for exiting. - Consider adding a binding for 'quit'. - ''; + warnings = + lib.optional + (cfg.clearDefaultCommands && (builtins.all (x: x != "quit") (builtins.attrValues cfg.commands))) + '' + config.programs.less.clearDefaultCommands clears all default commands of less but there is no alternative binding for exiting. + Consider adding a binding for 'quit'. + ''; }; meta.maintainers = with lib.maintainers; [ johnazoidberg ]; diff --git a/nixos/modules/programs/liboping.nix b/nixos/modules/programs/liboping.nix index 5ff9ad74b1584..1bab0dcda5b20 100644 --- a/nixos/modules/programs/liboping.nix +++ b/nixos/modules/programs/liboping.nix @@ -1,22 +1,33 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.liboping; -in { +in +{ options.programs.liboping = { enable = lib.mkEnableOption "liboping"; }; config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; [ liboping ]; - security.wrappers = lib.mkMerge (builtins.map ( - exec: { - "${exec}" = { - owner = "root"; - group = "root"; - capabilities = "cap_net_raw+p"; - source = "${pkgs.liboping}/bin/${exec}"; - }; - } - ) [ "oping" "noping" ]); + security.wrappers = lib.mkMerge ( + builtins.map + (exec: { + "${exec}" = { + owner = "root"; + group = "root"; + capabilities = "cap_net_raw+p"; + source = "${pkgs.liboping}/bin/${exec}"; + }; + }) + [ + "oping" + "noping" + ] + ); }; } diff --git a/nixos/modules/programs/light.nix b/nixos/modules/programs/light.nix index 29fcc98a8e0ad..f86aeeb390a74 100644 --- a/nixos/modules/programs/light.nix +++ b/nixos/modules/programs/light.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.light; @@ -54,22 +59,24 @@ in services.udev.packages = [ pkgs.light ]; services.actkbd = lib.mkIf cfg.brightnessKeys.enable { enable = true; - bindings = let - light = "${pkgs.light}/bin/light"; - step = builtins.toString cfg.brightnessKeys.step; - in [ - { - keys = [ 224 ]; - events = [ "key" ]; - # Use minimum brightness 0.1 so the display won't go totally black. - command = "${light} -N 0.1 && ${light} -U ${step}"; - } - { - keys = [ 225 ]; - events = [ "key" ]; - command = "${light} -A ${step}"; - } - ]; + bindings = + let + light = "${pkgs.light}/bin/light"; + step = builtins.toString cfg.brightnessKeys.step; + in + [ + { + keys = [ 224 ]; + events = [ "key" ]; + # Use minimum brightness 0.1 so the display won't go totally black. + command = "${light} -N 0.1 && ${light} -U ${step}"; + } + { + keys = [ 225 ]; + events = [ "key" ]; + command = "${light} -A ${step}"; + } + ]; }; }; } diff --git a/nixos/modules/programs/mdevctl.nix b/nixos/modules/programs/mdevctl.nix index a7e7d01dffdfc..f967b7487b2ab 100644 --- a/nixos/modules/programs/mdevctl.nix +++ b/nixos/modules/programs/mdevctl.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.mdevctl; -in { +in +{ options.programs.mdevctl = { enable = lib.mkEnableOption "Mediated Device Management"; }; diff --git a/nixos/modules/programs/mepo.nix b/nixos/modules/programs/mepo.nix index 783d2ad149626..d28e1941fd567 100644 --- a/nixos/modules/programs/mepo.nix +++ b/nixos/modules/programs/mepo.nix @@ -1,4 +1,9 @@ -{ pkgs, config, lib, ...}: +{ + pkgs, + config, + lib, + ... +}: let cfg = config.programs.mepo; in @@ -25,10 +30,13 @@ in }; config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - mepo - ] ++ lib.optional cfg.locationBackends.geoclue geoclue2-with-demo-agent - ++ lib.optional cfg.locationBackends.gpsd gpsd; + environment.systemPackages = + with pkgs; + [ + mepo + ] + ++ lib.optional cfg.locationBackends.geoclue geoclue2-with-demo-agent + ++ lib.optional cfg.locationBackends.gpsd gpsd; services.geoclue2 = lib.mkIf cfg.locationBackends.geoclue { enable = true; diff --git a/nixos/modules/programs/mininet.nix b/nixos/modules/programs/mininet.nix index ab862b21fe021..e68000f57c999 100644 --- a/nixos/modules/programs/mininet.nix +++ b/nixos/modules/programs/mininet.nix @@ -1,6 +1,11 @@ # Global configuration for mininet # kernel must have NETNS/VETH/SCHED -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.mininet; diff --git a/nixos/modules/programs/minipro.nix b/nixos/modules/programs/minipro.nix index e5846d13fa40f..8b994226e9a01 100644 --- a/nixos/modules/programs/minipro.nix +++ b/nixos/modules/programs/minipro.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.minipro; diff --git a/nixos/modules/programs/miriway.nix b/nixos/modules/programs/miriway.nix index b3d103f8a89d8..ab7bccad18eab 100644 --- a/nixos/modules/programs/miriway.nix +++ b/nixos/modules/programs/miriway.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.miriway; -in { +in +{ options.programs.miriway = { enable = lib.mkEnableOption '' Miriway, a Mir based Wayland compositor. You can manually launch Miriway by diff --git a/nixos/modules/programs/mosh.nix b/nixos/modules/programs/mosh.nix index 897bcf941a5d0..44d990c3a5976 100644 --- a/nixos/modules/programs/mosh.nix +++ b/nixos/modules/programs/mosh.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.programs.mosh; + cfg = config.programs.mosh; in { @@ -25,7 +30,10 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.mosh ]; - networking.firewall.allowedUDPPortRanges = lib.optional cfg.openFirewall { from = 60000; to = 61000; }; + networking.firewall.allowedUDPPortRanges = lib.optional cfg.openFirewall { + from = 60000; + to = 61000; + }; security.wrappers = lib.mkIf cfg.withUtempter { utempter = { source = "${pkgs.libutempter}/lib/utempter/utempter"; diff --git a/nixos/modules/programs/mouse-actions.nix b/nixos/modules/programs/mouse-actions.nix index 297cc4d3bfe79..3022a1059b1f9 100644 --- a/nixos/modules/programs/mouse-actions.nix +++ b/nixos/modules/programs/mouse-actions.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.mouse-actions; @@ -26,7 +31,7 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; - systemd.user.services.mouse-actions = lib.mkIf cfg.autorun { + systemd.user.services.mouse-actions = lib.mkIf cfg.autorun { description = "mouse-actions launcher"; wantedBy = [ "graphical-session.target" ]; bindsTo = [ "graphical-session.target" ]; diff --git a/nixos/modules/programs/msmtp.nix b/nixos/modules/programs/msmtp.nix index 8a04acb3b7ea6..b68f1cbeb9cca 100644 --- a/nixos/modules/programs/msmtp.nix +++ b/nixos/modules/programs/msmtp.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.msmtp; -in { +in +{ meta.maintainers = with lib.maintainers; [ pacien ]; options = { @@ -20,7 +26,7 @@ in { defaults = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; example = { aliases = "/etc/aliases"; port = 587; @@ -34,7 +40,7 @@ in { accounts = lib.mkOption { type = with lib.types; attrsOf attrs; - default = {}; + default = { }; example = { "default" = { host = "smtp.example"; @@ -80,25 +86,31 @@ in { group = "root"; }; - environment.etc."msmtprc".text = let - mkValueString = v: - if v == true then "on" - else if v == false then "off" - else lib.generators.mkValueStringDefault {} v; - mkKeyValueString = k: v: "${k} ${mkValueString v}"; - mkInnerSectionString = - attrs: builtins.concatStringsSep "\n" (lib.mapAttrsToList mkKeyValueString attrs); - mkAccountString = name: attrs: '' - account ${name} - ${mkInnerSectionString attrs} - ''; - in '' - defaults - ${mkInnerSectionString cfg.defaults} + environment.etc."msmtprc".text = + let + mkValueString = + v: + if v == true then + "on" + else if v == false then + "off" + else + lib.generators.mkValueStringDefault { } v; + mkKeyValueString = k: v: "${k} ${mkValueString v}"; + mkInnerSectionString = + attrs: builtins.concatStringsSep "\n" (lib.mapAttrsToList mkKeyValueString attrs); + mkAccountString = name: attrs: '' + account ${name} + ${mkInnerSectionString attrs} + ''; + in + '' + defaults + ${mkInnerSectionString cfg.defaults} - ${builtins.concatStringsSep "\n" (lib.mapAttrsToList mkAccountString cfg.accounts)} + ${builtins.concatStringsSep "\n" (lib.mapAttrsToList mkAccountString cfg.accounts)} - ${cfg.extraConfig} - ''; + ${cfg.extraConfig} + ''; }; } diff --git a/nixos/modules/programs/mtr.nix b/nixos/modules/programs/mtr.nix index 1a9deba989663..a9bdffd9f39d4 100644 --- a/nixos/modules/programs/mtr.nix +++ b/nixos/modules/programs/mtr.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.mtr; -in { +in +{ options = { programs.mtr = { enable = lib.mkOption { diff --git a/nixos/modules/programs/nbd.nix b/nixos/modules/programs/nbd.nix index 1e319f0273455..caf26469ca602 100644 --- a/nixos/modules/programs/nbd.nix +++ b/nixos/modules/programs/nbd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.nbd; diff --git a/nixos/modules/programs/neovim.nix b/nixos/modules/programs/neovim.nix index 142cca9f322a3..9a3e47fb11d66 100644 --- a/nixos/modules/programs/neovim.nix +++ b/nixos/modules/programs/neovim.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.neovim; @@ -102,45 +107,49 @@ in Set of files that have to be linked in {file}`runtime`. ''; - type = with lib.types; attrsOf (submodule ( - { name, config, ... }: - { - options = { - - enable = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Whether this runtime directory should be generated. This - option allows specific runtime files to be disabled. - ''; - }; - - target = lib.mkOption { - type = lib.types.str; - description = '' - Name of symlink. Defaults to the attribute - name. - ''; - }; - - text = lib.mkOption { - default = null; - type = lib.types.nullOr lib.types.lines; - description = "Text of the file."; - }; - - source = lib.mkOption { - default = null; - type = lib.types.nullOr lib.types.path; - description = "Path of the source file."; - }; - - }; - - config.target = lib.mkDefault name; - } - )); + type = + with lib.types; + attrsOf ( + submodule ( + { name, config, ... }: + { + options = { + + enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether this runtime directory should be generated. This + option allows specific runtime files to be disabled. + ''; + }; + + target = lib.mkOption { + type = lib.types.str; + description = '' + Name of symlink. Defaults to the attribute + name. + ''; + }; + + text = lib.mkOption { + default = null; + type = lib.types.nullOr lib.types.lines; + description = "Text of the file."; + }; + + source = lib.mkOption { + default = null; + type = lib.types.nullOr lib.types.path; + description = "Path of the source file."; + }; + + }; + + config.target = lib.mkDefault name; + } + ) + ); }; }; @@ -155,19 +164,29 @@ in # from other packages will be used by neovim. environment.pathsToLink = [ "/share/nvim" ]; - environment.etc = builtins.listToAttrs (builtins.attrValues (builtins.mapAttrs - (name: value: { - name = "xdg/nvim/${name}"; - value = builtins.removeAttrs - (value // { - target = "xdg/nvim/${value.target}"; - }) - (lib.optionals (builtins.isNull value.source) [ "source" ]); - }) - cfg.runtime)); + environment.etc = builtins.listToAttrs ( + builtins.attrValues ( + builtins.mapAttrs (name: value: { + name = "xdg/nvim/${name}"; + value = builtins.removeAttrs ( + value + // { + target = "xdg/nvim/${value.target}"; + } + ) (lib.optionals (builtins.isNull value.source) [ "source" ]); + }) cfg.runtime + ) + ); programs.neovim.finalPackage = pkgs.wrapNeovim cfg.package { - inherit (cfg) viAlias vimAlias withPython3 withNodeJs withRuby configure; + inherit (cfg) + viAlias + vimAlias + withPython3 + withNodeJs + withRuby + configure + ; }; }; } diff --git a/nixos/modules/programs/nethoscope.nix b/nixos/modules/programs/nethoscope.nix index 7bc1f61b31eae..f73d7320819e9 100644 --- a/nixos/modules/programs/nethoscope.nix +++ b/nixos/modules/programs/nethoscope.nix @@ -1,6 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.nethoscope; +let + cfg = config.programs.nethoscope; in { meta.maintainers = with lib.maintainers; [ _0x4A6F ]; diff --git a/nixos/modules/programs/nexttrace.nix b/nixos/modules/programs/nexttrace.nix index 9380a988088bf..b7e5a8838f451 100644 --- a/nixos/modules/programs/nexttrace.nix +++ b/nixos/modules/programs/nexttrace.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.nexttrace; diff --git a/nixos/modules/programs/nh.nix b/nixos/modules/programs/nh.nix index c42fb2fc724a7..21ffa5cc17d2c 100644 --- a/nixos/modules/programs/nh.nix +++ b/nixos/modules/programs/nh.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.programs.nh; @@ -53,9 +54,12 @@ in config = { warnings = - if (!(cfg.clean.enable -> !config.nix.gc.automatic)) then [ - "programs.nh.clean.enable and nix.gc.automatic are both enabled. Please use one or the other to avoid conflict." - ] else [ ]; + if (!(cfg.clean.enable -> !config.nix.gc.automatic)) then + [ + "programs.nh.clean.enable and nix.gc.automatic are both enabled. Please use one or the other to avoid conflict." + ] + else + [ ]; assertions = [ # Not strictly required but probably a good assertion to have diff --git a/nixos/modules/programs/nix-index.nix b/nixos/modules/programs/nix-index.nix index 76d7c3d8c532a..21e9eb9e17656 100644 --- a/nixos/modules/programs/nix-index.nix +++ b/nixos/modules/programs/nix-index.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.nix-index; -in { +in +{ options.programs.nix-index = with lib; { enable = mkEnableOption "nix-index, a file database for nixpkgs"; @@ -21,15 +27,20 @@ in { }; config = lib.mkIf cfg.enable { - assertions = let - checkOpt = name: { - assertion = cfg.${name} -> !config.programs.command-not-found.enable; - message = '' - The 'programs.command-not-found.enable' option is mutually exclusive - with the 'programs.nix-index.${name}' option. - ''; - }; - in [ (checkOpt "enableBashIntegration") (checkOpt "enableZshIntegration") ]; + assertions = + let + checkOpt = name: { + assertion = cfg.${name} -> !config.programs.command-not-found.enable; + message = '' + The 'programs.command-not-found.enable' option is mutually exclusive + with the 'programs.nix-index.${name}' option. + ''; + }; + in + [ + (checkOpt "enableBashIntegration") + (checkOpt "enableZshIntegration") + ]; environment.systemPackages = [ cfg.package ]; @@ -42,16 +53,18 @@ in { ''; # See https://github.com/bennofs/nix-index/issues/126 - programs.fish.interactiveShellInit = let - wrapper = pkgs.writeScript "command-not-found" '' - #!${pkgs.bash}/bin/bash - source ${cfg.package}/etc/profile.d/command-not-found.sh - command_not_found_handle "$@" + programs.fish.interactiveShellInit = + let + wrapper = pkgs.writeScript "command-not-found" '' + #!${pkgs.bash}/bin/bash + source ${cfg.package}/etc/profile.d/command-not-found.sh + command_not_found_handle "$@" + ''; + in + lib.mkIf cfg.enableFishIntegration '' + function __fish_command_not_found_handler --on-event fish_command_not_found + ${wrapper} $argv + end ''; - in lib.mkIf cfg.enableFishIntegration '' - function __fish_command_not_found_handler --on-event fish_command_not_found - ${wrapper} $argv - end - ''; }; } diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index edfe7f1f6a3e1..84e17c65db825 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.programs.nix-ld; diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix index ed048192e2e03..27a95dea57e2a 100644 --- a/nixos/modules/programs/nm-applet.nix +++ b/nixos/modules/programs/nm-applet.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = { diff --git a/nixos/modules/programs/nncp.nix b/nixos/modules/programs/nncp.nix index 08485f0dfc870..dfb4499a615fb 100644 --- a/nixos/modules/programs/nncp.nix +++ b/nixos/modules/programs/nncp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let nncpCfgFile = "/run/nncp.hjson"; @@ -6,11 +11,11 @@ let settingsFormat = pkgs.formats.json { }; jsonCfgFile = settingsFormat.generate "nncp.json" programCfg.settings; pkg = programCfg.package; -in { +in +{ options.programs.nncp = { - enable = - lib.mkEnableOption "NNCP (Node to Node copy) utilities and configuration"; + enable = lib.mkEnableOption "NNCP (Node to Node copy) utilities and configuration"; group = lib.mkOption { type = lib.types.str; diff --git a/nixos/modules/programs/noisetorch.nix b/nixos/modules/programs/noisetorch.nix index 5e37061d9a1d4..ede9e1518e0f8 100644 --- a/nixos/modules/programs/noisetorch.nix +++ b/nixos/modules/programs/noisetorch.nix @@ -1,6 +1,12 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: -let cfg = config.programs.noisetorch; +let + cfg = config.programs.noisetorch; in { options.programs.noisetorch = { diff --git a/nixos/modules/programs/npm.nix b/nixos/modules/programs/npm.nix index 470188b879b6a..2f3a4064ef056 100644 --- a/nixos/modules/programs/npm.nix +++ b/nixos/modules/programs/npm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.npm; diff --git a/nixos/modules/programs/ns-usbloader.nix b/nixos/modules/programs/ns-usbloader.nix index 1f4b931e1cc11..e26f7e5691a68 100644 --- a/nixos/modules/programs/ns-usbloader.nix +++ b/nixos/modules/programs/ns-usbloader.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.ns-usbloader; in diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix index f09fbdc062423..6c83e97ea66b1 100644 --- a/nixos/modules/programs/oblogout.nix +++ b/nixos/modules/programs/oblogout.nix @@ -1,9 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { imports = [ - (lib.mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.") + (lib.mkRemovedOptionModule [ "programs" "oblogout" ] + "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream." + ) ]; } diff --git a/nixos/modules/programs/oddjobd.nix b/nixos/modules/programs/oddjobd.nix index 019ca58a6048e..7eb4f20a3839d 100644 --- a/nixos/modules/programs/oddjobd.nix +++ b/nixos/modules/programs/oddjobd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.oddjobd; @@ -7,17 +12,23 @@ in options = { programs.oddjobd = { enable = lib.mkEnableOption "oddjob, a D-Bus service which runs odd jobs on behalf of client applications"; - package = lib.mkPackageOption pkgs "oddjob" {}; + package = lib.mkPackageOption pkgs "oddjob" { }; }; }; config = lib.mkIf cfg.enable { systemd.services.oddjobd = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "dbus.service" ]; + after = [ + "network.target" + "dbus.service" + ]; description = "DBUS Odd-job Daemon"; enable = true; - documentation = [ "man:oddjobd(8)" "man:oddjobd.conf(5)" ]; + documentation = [ + "man:oddjobd(8)" + "man:oddjobd.conf(5)" + ]; serviceConfig = { Type = "simple"; PIDFile = "/run/oddjobd.pid"; diff --git a/nixos/modules/programs/openvpn3.nix b/nixos/modules/programs/openvpn3.nix index 085775af173b7..2ab5fbfc90839 100644 --- a/nixos/modules/programs/openvpn3.nix +++ b/nixos/modules/programs/openvpn3.nix @@ -1,12 +1,26 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let json = pkgs.formats.json { }; cfg = config.programs.openvpn3; - inherit (lib) mkEnableOption mkPackageOption mkOption literalExpression max options lists; + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + literalExpression + max + options + lists + ; inherit (lib.types) bool submodule ints; -in { +in +{ options.programs.openvpn3 = { enable = mkEnableOption "the openvpn3 client"; package = mkPackageOption pkgs "openvpn3" { }; @@ -60,8 +74,7 @@ in { log_level = mkOption { description = "How verbose should the logging be"; type = (ints.between 0 7) // { - merge = _loc: defs: - lists.foldl max 0 (options.getValues defs); + merge = _loc: defs: lists.foldl max 0 (options.getValues defs); }; default = 3; example = 6; @@ -89,15 +102,15 @@ in { group = "openvpn"; }; - users.groups.openvpn = { gid = config.ids.gids.openvpn; }; + users.groups.openvpn = { + gid = config.ids.gids.openvpn; + }; environment = { systemPackages = [ cfg.package ]; etc = { - "openvpn3/netcfg.json".source = - json.generate "netcfg.json" cfg.netcfg.settings; - "openvpn3/log-service.json".source = - json.generate "log-service.json" cfg.log-service.settings; + "openvpn3/netcfg.json".source = json.generate "netcfg.json" cfg.netcfg.settings; + "openvpn3/log-service.json".source = json.generate "log-service.json" cfg.log-service.settings; }; }; @@ -109,5 +122,8 @@ in { }; }; - meta.maintainers = with lib.maintainers; [ shamilton progrm_jarvis ]; + meta.maintainers = with lib.maintainers; [ + shamilton + progrm_jarvis + ]; } diff --git a/nixos/modules/programs/partition-manager.nix b/nixos/modules/programs/partition-manager.nix index 1a66a3f04c41a..9a4650269e55f 100644 --- a/nixos/modules/programs/partition-manager.nix +++ b/nixos/modules/programs/partition-manager.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.partition-manager; -in { +in +{ meta.maintainers = [ lib.maintainers.oxalica ]; options = { @@ -16,6 +22,9 @@ in { config = lib.mkIf config.programs.partition-manager.enable { services.dbus.packages = [ cfg.package.kpmcore ]; # `kpmcore` need to be installed to pull in polkit actions. - environment.systemPackages = [ cfg.package.kpmcore cfg.package ]; + environment.systemPackages = [ + cfg.package.kpmcore + cfg.package + ]; }; } diff --git a/nixos/modules/programs/plotinus.nix b/nixos/modules/programs/plotinus.nix index 835db049d8628..4867b2f963bdb 100644 --- a/nixos/modules/programs/plotinus.nix +++ b/nixos/modules/programs/plotinus.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.plotinus; @@ -28,7 +33,9 @@ in ###### implementation config = lib.mkIf cfg.enable { - environment.sessionVariables.XDG_DATA_DIRS = [ "${pkgs.plotinus}/share/gsettings-schemas/${pkgs.plotinus.name}" ]; + environment.sessionVariables.XDG_DATA_DIRS = [ + "${pkgs.plotinus}/share/gsettings-schemas/${pkgs.plotinus.name}" + ]; environment.variables.GTK3_MODULES = [ "${pkgs.plotinus}/lib/libplotinus.so" ]; }; } diff --git a/nixos/modules/programs/pqos-wrapper.nix b/nixos/modules/programs/pqos-wrapper.nix index 82023e67a2ae2..06fe81c0b1b20 100644 --- a/nixos/modules/programs/pqos-wrapper.nix +++ b/nixos/modules/programs/pqos-wrapper.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.programs.pqos-wrapper; diff --git a/nixos/modules/programs/projecteur.nix b/nixos/modules/programs/projecteur.nix index af186e3d250bc..7c96403a1f290 100644 --- a/nixos/modules/programs/projecteur.nix +++ b/nixos/modules/programs/projecteur.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.projecteur; @@ -15,6 +20,9 @@ in }; meta = { - maintainers = with lib.maintainers; [ benneti drupol ]; + maintainers = with lib.maintainers; [ + benneti + drupol + ]; }; } diff --git a/nixos/modules/programs/proxychains.nix b/nixos/modules/programs/proxychains.nix index 86bbf16a64ce1..6a3e29487be0d 100644 --- a/nixos/modules/programs/proxychains.nix +++ b/nixos/modules/programs/proxychains.nix @@ -1,12 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.proxychains; configFile = '' ${cfg.chain.type}_chain - ${lib.optionalString (cfg.chain.type == "random") - "chain_len = ${builtins.toString cfg.chain.length}"} + ${lib.optionalString ( + cfg.chain.type == "random" + ) "chain_len = ${builtins.toString cfg.chain.length}"} ${lib.optionalString cfg.proxyDNS "proxy_dns"} ${lib.optionalString cfg.quietMode "quiet_mode"} remote_dns_subnet ${builtins.toString cfg.remoteDNSSubnet} @@ -14,9 +20,11 @@ let tcp_connect_time_out ${builtins.toString cfg.tcpConnectTimeOut} localnet ${cfg.localnet} [ProxyList] - ${builtins.concatStringsSep "\n" - (lib.mapAttrsToList (k: v: "${v.type} ${v.host} ${builtins.toString v.port}") - (lib.filterAttrs (k: v: v.enable) cfg.proxies))} + ${builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (k: v: "${v.type} ${v.host} ${builtins.toString v.port}") ( + lib.filterAttrs (k: v: v.enable) cfg.proxies + ) + )} ''; proxyOptions = { @@ -24,7 +32,11 @@ let enable = lib.mkEnableOption "this proxy"; type = lib.mkOption { - type = lib.types.enum [ "http" "socks4" "socks5" ]; + type = lib.types.enum [ + "http" + "socks4" + "socks5" + ]; description = "Proxy type."; }; @@ -40,7 +52,8 @@ let }; }; -in { +in +{ ###### interface @@ -56,7 +69,11 @@ in { chain = { type = lib.mkOption { - type = lib.types.enum [ "dynamic" "strict" "random" ]; + type = lib.types.enum [ + "dynamic" + "strict" + "random" + ]; default = "strict"; description = '' `dynamic` - Each connection will be done via chained proxies @@ -92,7 +109,11 @@ in { quietMode = lib.mkEnableOption "Quiet mode (no output from the library)"; remoteDNSSubnet = lib.mkOption { - type = lib.types.enum [ 10 127 224 ]; + type = lib.types.enum [ + 10 + 127 + 224 + ]; default = 224; description = '' Set the class A subnet number to use for the internal remote DNS mapping, uses the reserved 224.x.x.x range by default. @@ -151,15 +172,14 @@ in { ''; }; - programs.proxychains.proxies = lib.mkIf config.services.tor.client.enable - { - torproxy = lib.mkDefault { - enable = true; - type = "socks4"; - host = "127.0.0.1"; - port = 9050; - }; + programs.proxychains.proxies = lib.mkIf config.services.tor.client.enable { + torproxy = lib.mkDefault { + enable = true; + type = "socks4"; + host = "127.0.0.1"; + port = 9050; }; + }; environment.etc."proxychains.conf".text = configFile; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/programs/qdmr.nix b/nixos/modules/programs/qdmr.nix index 1444be9c6923a..2d1e990f7f6c4 100644 --- a/nixos/modules/programs/qdmr.nix +++ b/nixos/modules/programs/qdmr.nix @@ -7,7 +7,8 @@ let cfg = config.programs.qdmr; -in { +in +{ meta.maintainers = [ ]; options = { @@ -20,6 +21,6 @@ in { config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; - users.groups.dialout = {}; + users.groups.dialout = { }; }; } diff --git a/nixos/modules/programs/qt5ct.nix b/nixos/modules/programs/qt5ct.nix index bc7b28b9c6e92..6410638a3f909 100644 --- a/nixos/modules/programs/qt5ct.nix +++ b/nixos/modules/programs/qt5ct.nix @@ -2,6 +2,10 @@ { imports = [ - (lib.mkRemovedOptionModule [ "programs" "qt5ct" "enable" ] "Use qt5.platformTheme = \"qt5ct\" instead.") + (lib.mkRemovedOptionModule [ + "programs" + "qt5ct" + "enable" + ] "Use qt5.platformTheme = \"qt5ct\" instead.") ]; } diff --git a/nixos/modules/programs/quark-goldleaf.nix b/nixos/modules/programs/quark-goldleaf.nix index 71aadc8c594e1..a7534368f1ca5 100644 --- a/nixos/modules/programs/quark-goldleaf.nix +++ b/nixos/modules/programs/quark-goldleaf.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.quark-goldleaf; in diff --git a/nixos/modules/programs/regreet.nix b/nixos/modules/programs/regreet.nix index 1f83f610dbf1e..3c8e588359b5a 100644 --- a/nixos/modules/programs/regreet.nix +++ b/nixos/modules/programs/regreet.nix @@ -1,7 +1,8 @@ -{ lib -, pkgs -, config -, ... +{ + lib, + pkgs, + config, + ... }: let cfg = config.programs.regreet; @@ -39,10 +40,9 @@ in cageArgs = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ "-s" ]; - example = lib.literalExpression - '' - [ "-s" "-m" "last" ] - ''; + example = lib.literalExpression '' + [ "-s" "-m" "last" ] + ''; description = '' Additional arguments to be passed to [cage](https://github.com/cage-kiosk/cage). @@ -155,23 +155,22 @@ in environment.etc = { "greetd/regreet.css" = - if lib.isPath cfg.extraCss - then {source = cfg.extraCss;} - else {text = cfg.extraCss;}; + if lib.isPath cfg.extraCss then { source = cfg.extraCss; } else { text = cfg.extraCss; }; - "greetd/regreet.toml".source = - settingsFormat.generate "regreet.toml" cfg.settings; + "greetd/regreet.toml".source = settingsFormat.generate "regreet.toml" cfg.settings; }; - systemd.tmpfiles.settings."10-regreet" = let - defaultConfig = { - user = "greeter"; - group = config.users.users.${config.services.greetd.settings.default_session.user}.group; - mode = "0755"; + systemd.tmpfiles.settings."10-regreet" = + let + defaultConfig = { + user = "greeter"; + group = config.users.users.${config.services.greetd.settings.default_session.user}.group; + mode = "0755"; + }; + in + { + "/var/log/regreet".d = defaultConfig; + "/var/cache/regreet".d = defaultConfig; }; - in { - "/var/log/regreet".d = defaultConfig; - "/var/cache/regreet".d = defaultConfig; - }; }; } diff --git a/nixos/modules/programs/rog-control-center.nix b/nixos/modules/programs/rog-control-center.nix index 7413ca3daf05d..60d3a84cbc457 100644 --- a/nixos/modules/programs/rog-control-center.nix +++ b/nixos/modules/programs/rog-control-center.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.rog-control-center; @@ -19,7 +24,12 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.asusctl - (lib.mkIf cfg.autoStart (pkgs.makeAutostartItem { name = "rog-control-center"; package = pkgs.asusctl; })) + (lib.mkIf cfg.autoStart ( + pkgs.makeAutostartItem { + name = "rog-control-center"; + package = pkgs.asusctl; + } + )) ]; services.asusd.enable = true; diff --git a/nixos/modules/programs/rust-motd.nix b/nixos/modules/programs/rust-motd.nix index 19f98868ee344..ba080aa037e06 100644 --- a/nixos/modules/programs/rust-motd.nix +++ b/nixos/modules/programs/rust-motd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.rust-motd; @@ -6,21 +11,26 @@ let # Order the sections in the TOML according to the order of sections # in `cfg.order`. - motdConf = pkgs.runCommand "motd.conf" - { - __structuredAttrs = true; - inherit (cfg) order settings; - nativeBuildInputs = [ pkgs.remarshal pkgs.jq ]; - } - '' - cat "$NIX_ATTRS_JSON_FILE" \ - | jq '.settings as $settings - | .order - | map({ key: ., value: $settings."\(.)" }) - | from_entries' -r \ - | json2toml /dev/stdin "$out" - ''; -in { + motdConf = + pkgs.runCommand "motd.conf" + { + __structuredAttrs = true; + inherit (cfg) order settings; + nativeBuildInputs = [ + pkgs.remarshal + pkgs.jq + ]; + } + '' + cat "$NIX_ATTRS_JSON_FILE" \ + | jq '.settings as $settings + | .order + | map({ key: ., value: $settings."\(.)" }) + | from_entries' -r \ + | json2toml /dev/stdin "$out" + ''; +in +{ options.programs.rust-motd = { enable = lib.mkEnableOption "rust-motd, a Message Of The Day (MOTD) generator"; enableMotdInSSHD = lib.mkOption { @@ -88,12 +98,14 @@ in { }; config = lib.mkIf cfg.enable { assertions = [ - { assertion = config.users.motd == ""; + { + assertion = config.users.motd == ""; message = '' `programs.rust-motd` is incompatible with `users.motd`! ''; } - { assertion = builtins.sort (a: b: a < b) cfg.order == builtins.attrNames cfg.settings; + { + assertion = builtins.sort (a: b: a < b) cfg.order == builtins.attrNames cfg.settings; message = '' Please ensure that every section from `programs.rust-motd.settings` is present in `programs.rust-motd.order`. @@ -102,7 +114,9 @@ in { ]; systemd.services.rust-motd = { path = with pkgs; [ bash ]; - documentation = [ "https://github.com/rust-motd/rust-motd/blob/v${pkgs.rust-motd.version}/README.md" ]; + documentation = [ + "https://github.com/rust-motd/rust-motd/blob/v${pkgs.rust-motd.version}/README.md" + ]; description = "motd generator"; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -136,12 +150,18 @@ in { wantedBy = [ "timers.target" ]; timerConfig.OnCalendar = cfg.refreshInterval; }; - security.pam.services.sshd.text = lib.mkIf cfg.enableMotdInSSHD (lib.mkDefault (lib.mkAfter '' - session optional ${pkgs.pam}/lib/security/pam_motd.so motd=/var/lib/rust-motd/motd - '')); - services.openssh.extraConfig = lib.mkIf (cfg.settings ? last_login && cfg.settings.last_login != {}) '' - PrintLastLog no - ''; + security.pam.services.sshd.text = lib.mkIf cfg.enableMotdInSSHD ( + lib.mkDefault ( + lib.mkAfter '' + session optional ${pkgs.pam}/lib/security/pam_motd.so motd=/var/lib/rust-motd/motd + '' + ) + ); + services.openssh.extraConfig = + lib.mkIf (cfg.settings ? last_login && cfg.settings.last_login != { }) + '' + PrintLastLog no + ''; }; meta.maintainers = with lib.maintainers; [ ma27 ]; } diff --git a/nixos/modules/programs/ryzen-monitor-ng.nix b/nixos/modules/programs/ryzen-monitor-ng.nix index cb0c391ce6b15..8d9e75928404e 100644 --- a/nixos/modules/programs/ryzen-monitor-ng.nix +++ b/nixos/modules/programs/ryzen-monitor-ng.nix @@ -1,7 +1,8 @@ -{ pkgs -, config -, lib -, ... +{ + pkgs, + config, + lib, + ... }: let inherit (lib) mkEnableOption mkPackageOption mkIf; @@ -10,7 +11,7 @@ in { options = { programs.ryzen-monitor-ng = { - enable = mkEnableOption '' + enable = mkEnableOption '' ryzen_monitor_ng, a userspace application for setting and getting Ryzen SMU (System Management Unit) parameters via the ryzen_smu kernel driver. Monitor power information of Ryzen processors via the PM table of the SMU. @@ -22,7 +23,7 @@ in WARNING: Damage cause by use of your AMD processor outside of official AMD specifications or outside of factory settings are not covered under any AMD product warranty and may not be covered by your board or system manufacturer's warranty ''; - package = mkPackageOption pkgs "ryzen-monitor-ng" {}; + package = mkPackageOption pkgs "ryzen-monitor-ng" { }; }; }; @@ -31,5 +32,8 @@ in hardware.cpu.amd.ryzen-smu.enable = true; }; - meta.maintainers = with lib.maintainers; [ Cryolitia phdyellow ]; + meta.maintainers = with lib.maintainers; [ + Cryolitia + phdyellow + ]; } diff --git a/nixos/modules/programs/screen.nix b/nixos/modules/programs/screen.nix index 7c92500f5a1fd..d6041ea1fe39f 100644 --- a/nixos/modules/programs/screen.nix +++ b/nixos/modules/programs/screen.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.screen; @@ -29,7 +34,7 @@ in text = cfg.screenrc; }; environment.systemPackages = [ cfg.package ]; - security.pam.services.screen = {}; + security.pam.services.screen = { }; }) ]; } diff --git a/nixos/modules/programs/seahorse.nix b/nixos/modules/programs/seahorse.nix index 3f6ec8c1a6a6d..b508c7d66a065 100644 --- a/nixos/modules/programs/seahorse.nix +++ b/nixos/modules/programs/seahorse.nix @@ -1,6 +1,11 @@ # Seahorse. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { @@ -16,7 +21,6 @@ }; - ###### implementation config = lib.mkIf config.programs.seahorse.enable { diff --git a/nixos/modules/programs/sedutil.nix b/nixos/modules/programs/sedutil.nix index 978aaa5c82d5a..14926aefbd2cc 100644 --- a/nixos/modules/programs/sedutil.nix +++ b/nixos/modules/programs/sedutil.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.sedutil; -in { +in +{ options.programs.sedutil.enable = lib.mkEnableOption "sedutil, to manage self encrypting drives that conform to the Trusted Computing Group OPAL 2.0 SSC specification"; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/programs/sharing.nix b/nixos/modules/programs/sharing.nix index 0fe8100bbc569..f427c8a62d979 100644 --- a/nixos/modules/programs/sharing.nix +++ b/nixos/modules/programs/sharing.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { options.programs.sharing = { enable = lib.mkEnableOption '' @@ -11,8 +16,8 @@ let cfg = config.programs.sharing; in - lib.mkIf cfg.enable { - environment.systemPackages = [ pkgs.sharing ]; - networking.firewall.allowedTCPPorts = [ 7478 ]; - }; + lib.mkIf cfg.enable { + environment.systemPackages = [ pkgs.sharing ]; + networking.firewall.allowedTCPPorts = [ 7478 ]; + }; } diff --git a/nixos/modules/programs/skim.nix b/nixos/modules/programs/skim.nix index 9c573b39bbbc7..67d7396d03441 100644 --- a/nixos/modules/programs/skim.nix +++ b/nixos/modules/programs/skim.nix @@ -1,6 +1,16 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption optional optionalString; + inherit (lib) + mkEnableOption + mkPackageOption + optional + optionalString + ; cfg = config.programs.skim; in { @@ -8,24 +18,28 @@ in programs.skim = { fuzzyCompletion = mkEnableOption "fuzzy completion with skim"; keybindings = mkEnableOption "skim keybindings"; - package = mkPackageOption pkgs "skim" {}; + package = mkPackageOption pkgs "skim" { }; }; }; config = { environment.systemPackages = optional (cfg.keybindings || cfg.fuzzyCompletion) cfg.package; - programs.bash.interactiveShellInit = optionalString cfg.fuzzyCompletion '' - source ${cfg.package}/share/skim/completion.bash - '' + optionalString cfg.keybindings '' - source ${cfg.package}/share/skim/key-bindings.bash - ''; + programs.bash.interactiveShellInit = + optionalString cfg.fuzzyCompletion '' + source ${cfg.package}/share/skim/completion.bash + '' + + optionalString cfg.keybindings '' + source ${cfg.package}/share/skim/key-bindings.bash + ''; - programs.zsh.interactiveShellInit = optionalString cfg.fuzzyCompletion '' - source ${cfg.package}/share/skim/completion.zsh - '' + optionalString cfg.keybindings '' - source ${cfg.package}/share/skim/key-bindings.zsh - ''; + programs.zsh.interactiveShellInit = + optionalString cfg.fuzzyCompletion '' + source ${cfg.package}/share/skim/completion.zsh + '' + + optionalString cfg.keybindings '' + source ${cfg.package}/share/skim/key-bindings.zsh + ''; programs.fish.interactiveShellInit = optionalString cfg.keybindings '' source ${cfg.package}/share/skim/key-bindings.fish && skim_key_bindings diff --git a/nixos/modules/programs/slock.nix b/nixos/modules/programs/slock.nix index ce24f662f218c..c4aa6cd16c421 100644 --- a/nixos/modules/programs/slock.nix +++ b/nixos/modules/programs/slock.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.slock; @@ -14,17 +19,17 @@ in Whether to install slock screen locker with setuid wrapper. ''; }; - package = lib.mkPackageOption pkgs "slock" {}; + package = lib.mkPackageOption pkgs "slock" { }; }; }; config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; - security.wrappers.slock = - { setuid = true; - owner = "root"; - group = "root"; - source = lib.getExe cfg.package; - }; + security.wrappers.slock = { + setuid = true; + owner = "root"; + group = "root"; + source = lib.getExe cfg.package; + }; }; } diff --git a/nixos/modules/programs/sniffnet.nix b/nixos/modules/programs/sniffnet.nix index 631a155e35b56..36c298b84e72e 100644 --- a/nixos/modules/programs/sniffnet.nix +++ b/nixos/modules/programs/sniffnet.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.sniffnet; diff --git a/nixos/modules/programs/soundmodem.nix b/nixos/modules/programs/soundmodem.nix index 5f57e24a4524a..a077867a76753 100644 --- a/nixos/modules/programs/soundmodem.nix +++ b/nixos/modules/programs/soundmodem.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.soundmodem; diff --git a/nixos/modules/programs/spacefm.nix b/nixos/modules/programs/spacefm.nix index 73d48cf6a3a83..47f0d60229026 100644 --- a/nixos/modules/programs/spacefm.nix +++ b/nixos/modules/programs/spacefm.nix @@ -1,8 +1,14 @@ # Global configuration for spacefm. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.spacefm; +let + cfg = config.programs.spacefm; in { @@ -47,7 +53,8 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.spaceFM ]; - environment.etc."spacefm/spacefm.conf".text = - lib.concatStrings (lib.mapAttrsToList (n: v: "${n}=${builtins.toString v}\n") cfg.settings); + environment.etc."spacefm/spacefm.conf".text = lib.concatStrings ( + lib.mapAttrsToList (n: v: "${n}=${builtins.toString v}\n") cfg.settings + ); }; } diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index f2ef248d78666..1ae2653ed3e90 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -1,30 +1,40 @@ # Global configuration for the SSH client. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.programs.ssh; + cfg = config.programs.ssh; - askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper" - '' - #! ${pkgs.runtimeShell} -e - export DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^DISPLAY=\(.*\)/\1/; t; d')" - export XAUTHORITY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^XAUTHORITY=\(.*\)/\1/; t; d')" - export WAYLAND_DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^WAYLAND_DISPLAY=\(.*\)/\1/; t; d')" - exec ${cfg.askPassword} "$@" - ''; + askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper" '' + #! ${pkgs.runtimeShell} -e + export DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^DISPLAY=\(.*\)/\1/; t; d')" + export XAUTHORITY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^XAUTHORITY=\(.*\)/\1/; t; d')" + export WAYLAND_DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^WAYLAND_DISPLAY=\(.*\)/\1/; t; d')" + exec ${cfg.askPassword} "$@" + ''; knownHosts = builtins.attrValues cfg.knownHosts; - knownHostsText = (lib.flip (lib.concatMapStringsSep "\n") knownHosts - (h: assert h.hostNames != []; - lib.optionalString h.certAuthority "@cert-authority " + builtins.concatStringsSep "," h.hostNames + " " + knownHostsText = + (lib.flip (lib.concatMapStringsSep "\n") knownHosts ( + h: + assert h.hostNames != [ ]; + lib.optionalString h.certAuthority "@cert-authority " + + builtins.concatStringsSep "," h.hostNames + + " " + (if h.publicKey != null then h.publicKey else builtins.readFile h.publicKeyFile) - )) + "\n"; + )) + + "\n"; - knownHostsFiles = [ "/etc/ssh/ssh_known_hosts" ] - ++ builtins.map pkgs.copyPathToStore cfg.knownHostsFiles; + knownHostsFiles = [ + "/etc/ssh/ssh_known_hosts" + ] ++ builtins.map pkgs.copyPathToStore cfg.knownHostsFiles; in { @@ -73,8 +83,11 @@ in pubkeyAcceptedKeyTypes = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "ssh-ed25519" "ssh-rsa" ]; + default = [ ]; + example = [ + "ssh-ed25519" + "ssh-rsa" + ]; description = '' Specifies the key lib.types that will be used for public key authentication. ''; @@ -82,8 +95,11 @@ in hostKeyAlgorithms = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "ssh-ed25519" "ssh-rsa" ]; + default = [ ]; + example = [ + "ssh-ed25519" + "ssh-rsa" + ]; description = '' Specifies the host key algorithms that the client wants to use in order of preference. ''; @@ -133,67 +149,77 @@ in package = lib.mkPackageOption pkgs "openssh" { }; knownHosts = lib.mkOption { - default = {}; - type = lib.types.attrsOf (lib.types.submodule ({ name, config, options, ... }: { - options = { - certAuthority = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - This public key is an SSH certificate authority, rather than an - individual host's key. - ''; - }; - hostNames = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ name ] ++ config.extraHostNames; - defaultText = lib.literalExpression "[ ${name} ] ++ config.${options.extraHostNames}"; - description = '' - A list of host names and/or IP numbers used for accessing - the host's ssh service. This list includes the name of the - containing `knownHosts` attribute by default - for convenience. If you wish to configure multiple host keys - for the same host use multiple `knownHosts` - entries with different attribute names and the same - `hostNames` list. - ''; - }; - extraHostNames = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - A list of additional host names and/or IP numbers used for - accessing the host's ssh service. This list is ignored if - `hostNames` is set explicitly. - ''; - }; - publicKey = lib.mkOption { - default = null; - type = lib.types.nullOr lib.types.str; - example = "ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg=="; - description = '' - The public key data for the host. You can fetch a public key - from a running SSH server with the {command}`ssh-keyscan` - command. The public key should not include any host names, only - the key type and the key itself. - ''; - }; - publicKeyFile = lib.mkOption { - default = null; - type = lib.types.nullOr lib.types.path; - description = '' - The path to the public key file for the host. The public - key file is read at build time and saved in the Nix store. - You can fetch a public key file from a running SSH server - with the {command}`ssh-keyscan` command. The content - of the file should follow the same format as described for - the `publicKey` option. Only a single key - is supported. If a host has multiple keys, use - {option}`programs.ssh.knownHostsFiles` instead. - ''; - }; - }; - })); + default = { }; + type = lib.types.attrsOf ( + lib.types.submodule ( + { + name, + config, + options, + ... + }: + { + options = { + certAuthority = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + This public key is an SSH certificate authority, rather than an + individual host's key. + ''; + }; + hostNames = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ name ] ++ config.extraHostNames; + defaultText = lib.literalExpression "[ ${name} ] ++ config.${options.extraHostNames}"; + description = '' + A list of host names and/or IP numbers used for accessing + the host's ssh service. This list includes the name of the + containing `knownHosts` attribute by default + for convenience. If you wish to configure multiple host keys + for the same host use multiple `knownHosts` + entries with different attribute names and the same + `hostNames` list. + ''; + }; + extraHostNames = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + A list of additional host names and/or IP numbers used for + accessing the host's ssh service. This list is ignored if + `hostNames` is set explicitly. + ''; + }; + publicKey = lib.mkOption { + default = null; + type = lib.types.nullOr lib.types.str; + example = "ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg=="; + description = '' + The public key data for the host. You can fetch a public key + from a running SSH server with the {command}`ssh-keyscan` + command. The public key should not include any host names, only + the key type and the key itself. + ''; + }; + publicKeyFile = lib.mkOption { + default = null; + type = lib.types.nullOr lib.types.path; + description = '' + The path to the public key file for the host. The public + key file is read at build time and saved in the Nix store. + You can fetch a public key file from a running SSH server + with the {command}`ssh-keyscan` command. The content + of the file should follow the same format as described for + the `publicKey` option. Only a single key + is supported. If a host has multiple keys, use + {option}`programs.ssh.knownHostsFiles` instead. + ''; + }; + }; + } + ) + ); description = '' The set of system-wide known SSH hosts. To make simple setups more convenient the name of an attribute in this set is used as a host name @@ -218,7 +244,7 @@ in }; knownHostsFiles = lib.mkOption { - default = []; + default = [ ]; type = with lib.types; listOf path; description = '' Files containing SSH host keys to set as global known hosts. @@ -241,7 +267,10 @@ in kexAlgorithms = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; - example = [ "curve25519-sha256@libssh.org" "diffie-hellman-group-exchange-sha256" ]; + example = [ + "curve25519-sha256@libssh.org" + "diffie-hellman-group-exchange-sha256" + ]; description = '' Specifies the available KEX (Key Exchange) algorithms. ''; @@ -250,7 +279,10 @@ in ciphers = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; - example = [ "chacha20-poly1305@openssh.com" "aes256-gcm@openssh.com" ]; + example = [ + "chacha20-poly1305@openssh.com" + "aes256-gcm@openssh.com" + ]; description = '' Specifies the ciphers allowed and their order of preference. ''; @@ -259,7 +291,10 @@ in macs = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; - example = [ "hmac-sha2-512-etm@openssh.com" "hmac-sha1" ]; + example = [ + "hmac-sha2-512-etm@openssh.com" + "hmac-sha1" + ]; description = '' Specifies the MAC (message authentication code) algorithms in order of preference. The MAC algorithm is used for data integrity protection. @@ -271,73 +306,88 @@ in config = { - programs.ssh.setXAuthLocation = - lib.mkDefault (config.services.xserver.enable || config.programs.ssh.forwardX11 == true || config.services.openssh.settings.X11Forwarding); + programs.ssh.setXAuthLocation = lib.mkDefault ( + config.services.xserver.enable + || config.programs.ssh.forwardX11 == true + || config.services.openssh.settings.X11Forwarding + ); assertions = - [ { assertion = cfg.forwardX11 == true -> cfg.setXAuthLocation; + [ + { + assertion = cfg.forwardX11 == true -> cfg.setXAuthLocation; message = "cannot enable X11 forwarding without setting XAuth location"; } - ] ++ lib.flip lib.mapAttrsToList cfg.knownHosts (name: data: { - assertion = (data.publicKey == null && data.publicKeyFile != null) || - (data.publicKey != null && data.publicKeyFile == null); - message = "knownHost ${name} must contain either a publicKey or publicKeyFile"; - }); + ] + ++ lib.flip lib.mapAttrsToList cfg.knownHosts ( + name: data: { + assertion = + (data.publicKey == null && data.publicKeyFile != null) + || (data.publicKey != null && data.publicKeyFile == null); + message = "knownHost ${name} must contain either a publicKey or publicKeyFile"; + } + ); # SSH configuration. Slight duplication of the sshd_config # generation in the sshd service. - environment.etc."ssh/ssh_config".text = - '' - # Custom options from `extraConfig`, to override generated options - ${cfg.extraConfig} - - # Generated options from other settings - Host * - GlobalKnownHostsFile ${builtins.concatStringsSep " " knownHostsFiles} - - ${lib.optionalString (!config.networking.enableIPv6) "AddressFamily inet"} - ${lib.optionalString cfg.setXAuthLocation "XAuthLocation ${pkgs.xorg.xauth}/bin/xauth"} - ${lib.optionalString (cfg.forwardX11 != null) "ForwardX11 ${if cfg.forwardX11 then "yes" else "no"}"} - - ${lib.optionalString (cfg.pubkeyAcceptedKeyTypes != []) "PubkeyAcceptedKeyTypes ${builtins.concatStringsSep "," cfg.pubkeyAcceptedKeyTypes}"} - ${lib.optionalString (cfg.hostKeyAlgorithms != []) "HostKeyAlgorithms ${builtins.concatStringsSep "," cfg.hostKeyAlgorithms}"} - ${lib.optionalString (cfg.kexAlgorithms != null) "KexAlgorithms ${builtins.concatStringsSep "," cfg.kexAlgorithms}"} - ${lib.optionalString (cfg.ciphers != null) "Ciphers ${builtins.concatStringsSep "," cfg.ciphers}"} - ${lib.optionalString (cfg.macs != null) "MACs ${builtins.concatStringsSep "," cfg.macs}"} - ''; + environment.etc."ssh/ssh_config".text = '' + # Custom options from `extraConfig`, to override generated options + ${cfg.extraConfig} + + # Generated options from other settings + Host * + GlobalKnownHostsFile ${builtins.concatStringsSep " " knownHostsFiles} + + ${lib.optionalString (!config.networking.enableIPv6) "AddressFamily inet"} + ${lib.optionalString cfg.setXAuthLocation "XAuthLocation ${pkgs.xorg.xauth}/bin/xauth"} + ${lib.optionalString (cfg.forwardX11 != null) + "ForwardX11 ${if cfg.forwardX11 then "yes" else "no"}" + } + + ${lib.optionalString ( + cfg.pubkeyAcceptedKeyTypes != [ ] + ) "PubkeyAcceptedKeyTypes ${builtins.concatStringsSep "," cfg.pubkeyAcceptedKeyTypes}"} + ${lib.optionalString ( + cfg.hostKeyAlgorithms != [ ] + ) "HostKeyAlgorithms ${builtins.concatStringsSep "," cfg.hostKeyAlgorithms}"} + ${lib.optionalString ( + cfg.kexAlgorithms != null + ) "KexAlgorithms ${builtins.concatStringsSep "," cfg.kexAlgorithms}"} + ${lib.optionalString (cfg.ciphers != null) "Ciphers ${builtins.concatStringsSep "," cfg.ciphers}"} + ${lib.optionalString (cfg.macs != null) "MACs ${builtins.concatStringsSep "," cfg.macs}"} + ''; environment.etc."ssh/ssh_known_hosts".text = knownHostsText; # FIXME: this should really be socket-activated for über-awesomeness. - systemd.user.services.ssh-agent = lib.mkIf cfg.startAgent - { description = "SSH Agent"; - wantedBy = [ "default.target" ]; - unitConfig.ConditionUser = "!@system"; - serviceConfig = - { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent"; - ExecStart = - "${cfg.package}/bin/ssh-agent " + - lib.optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") + - lib.optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") + - "-a %t/ssh-agent"; - StandardOutput = "null"; - Type = "forking"; - Restart = "on-failure"; - SuccessExitStatus = "0 2"; - }; - # Allow ssh-agent to ask for confirmation. This requires the - # unit to know about the user's $DISPLAY (via ‘systemctl - # import-environment’). - environment.SSH_ASKPASS = lib.optionalString cfg.enableAskPassword askPasswordWrapper; - environment.DISPLAY = "fake"; # required to make ssh-agent start $SSH_ASKPASS + systemd.user.services.ssh-agent = lib.mkIf cfg.startAgent { + description = "SSH Agent"; + wantedBy = [ "default.target" ]; + unitConfig.ConditionUser = "!@system"; + serviceConfig = { + ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent"; + ExecStart = + "${cfg.package}/bin/ssh-agent " + + lib.optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") + + lib.optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") + + "-a %t/ssh-agent"; + StandardOutput = "null"; + Type = "forking"; + Restart = "on-failure"; + SuccessExitStatus = "0 2"; }; + # Allow ssh-agent to ask for confirmation. This requires the + # unit to know about the user's $DISPLAY (via ‘systemctl + # import-environment’). + environment.SSH_ASKPASS = lib.optionalString cfg.enableAskPassword askPasswordWrapper; + environment.DISPLAY = "fake"; # required to make ssh-agent start $SSH_ASKPASS + }; - environment.extraInit = lib.optionalString cfg.startAgent - '' - if [ -z "$SSH_AUTH_SOCK" -a -n "$XDG_RUNTIME_DIR" ]; then - export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent" - fi - ''; + environment.extraInit = lib.optionalString cfg.startAgent '' + if [ -z "$SSH_AUTH_SOCK" -a -n "$XDG_RUNTIME_DIR" ]; then + export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent" + fi + ''; environment.variables.SSH_ASKPASS = lib.optionalString cfg.enableAskPassword cfg.askPassword; diff --git a/nixos/modules/programs/starship.nix b/nixos/modules/programs/starship.nix index 7f8d9eb3363d7..17a2cf9b86665 100644 --- a/nixos/modules/programs/starship.nix +++ b/nixos/modules/programs/starship.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.starship; @@ -7,21 +12,24 @@ let userSettingsFile = settingsFormat.generate "starship.toml" cfg.settings; - settingsFile = if cfg.presets == [] then userSettingsFile else pkgs.runCommand "starship.toml" - { - nativeBuildInputs = [ pkgs.yq ]; - } '' - tomlq -s -t 'reduce .[] as $item ({}; . * $item)' \ - ${lib.concatStringsSep " " (map (f: "${cfg.package}/share/starship/presets/${f}.toml") cfg.presets)} \ - ${userSettingsFile} \ - > $out - ''; - - initOption = - if cfg.interactiveOnly then - "promptInit" + settingsFile = + if cfg.presets == [ ] then + userSettingsFile else - "shellInit"; + pkgs.runCommand "starship.toml" + { + nativeBuildInputs = [ pkgs.yq ]; + } + '' + tomlq -s -t 'reduce .[] as $item ({}; . * $item)' \ + ${ + lib.concatStringsSep " " (map (f: "${cfg.package}/share/starship/presets/${f}.toml") cfg.presets) + } \ + ${userSettingsFile} \ + > $out + ''; + + initOption = if cfg.interactiveOnly then "promptInit" else "shellInit"; in { @@ -30,10 +38,14 @@ in package = lib.mkPackageOption pkgs "starship" { }; - interactiveOnly = lib.mkEnableOption '' - starship only when the shell is interactive. - Some plugins require this to be set to false to function correctly - '' // { default = true; }; + interactiveOnly = + lib.mkEnableOption '' + starship only when the shell is interactive. + Some plugins require this to be set to false to function correctly + '' + // { + default = true; + }; presets = lib.mkOption { default = [ ]; diff --git a/nixos/modules/programs/streamdeck-ui.nix b/nixos/modules/programs/streamdeck-ui.nix index a1366c42181c2..fc1754a519700 100644 --- a/nixos/modules/programs/streamdeck-ui.nix +++ b/nixos/modules/programs/streamdeck-ui.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.streamdeck-ui; @@ -22,7 +27,12 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package - (lib.mkIf cfg.autoStart (pkgs.makeAutostartItem { name = "streamdeck-ui-noui"; package = cfg.package; })) + (lib.mkIf cfg.autoStart ( + pkgs.makeAutostartItem { + name = "streamdeck-ui-noui"; + package = cfg.package; + } + )) ]; services.udev.packages = [ cfg.package ]; diff --git a/nixos/modules/programs/sysdig.nix b/nixos/modules/programs/sysdig.nix index 47b95ef64e97f..8bb851c17e40e 100644 --- a/nixos/modules/programs/sysdig.nix +++ b/nixos/modules/programs/sysdig.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.sysdig; -in { +in +{ options.programs.sysdig.enable = lib.mkEnableOption "sysdig, a tracing tool"; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/programs/system-config-printer.nix b/nixos/modules/programs/system-config-printer.nix index 68b7897d64c24..bb2b805fb8710 100644 --- a/nixos/modules/programs/system-config-printer.nix +++ b/nixos/modules/programs/system-config-printer.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { @@ -14,7 +19,6 @@ }; - ###### implementation config = lib.mkIf config.programs.system-config-printer.enable { diff --git a/nixos/modules/programs/systemtap.nix b/nixos/modules/programs/systemtap.nix index e61e255e52217..b5a9d5dffc988 100644 --- a/nixos/modules/programs/systemtap.nix +++ b/nixos/modules/programs/systemtap.nix @@ -1,7 +1,9 @@ { config, lib, ... }: -let cfg = config.programs.systemtap; -in { +let + cfg = config.programs.systemtap; +in +{ options = { programs.systemtap = { diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix index 0e65352a1f216..dccc3079d31f4 100644 --- a/nixos/modules/programs/thefuck.nix +++ b/nixos/modules/programs/thefuck.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let prg = config.programs; @@ -11,28 +16,28 @@ let ${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias} | source ''; in - { - options = { - programs.thefuck = { - enable = lib.mkEnableOption "thefuck, an app which corrects your previous console command"; +{ + options = { + programs.thefuck = { + enable = lib.mkEnableOption "thefuck, an app which corrects your previous console command"; - alias = lib.mkOption { - default = "fuck"; - type = lib.types.str; + alias = lib.mkOption { + default = "fuck"; + type = lib.types.str; - description = '' - `thefuck` needs an alias to be configured. - The default value is `fuck`, but you can use anything else as well. - ''; - }; + description = '' + `thefuck` needs an alias to be configured. + The default value is `fuck`, but you can use anything else as well. + ''; }; }; + }; - config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ thefuck ]; + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ thefuck ]; - programs.bash.interactiveShellInit = bashAndZshInitScript; - programs.zsh.interactiveShellInit = lib.mkIf prg.zsh.enable bashAndZshInitScript; - programs.fish.interactiveShellInit = lib.mkIf prg.fish.enable fishInitScript; - }; - } + programs.bash.interactiveShellInit = bashAndZshInitScript; + programs.zsh.interactiveShellInit = lib.mkIf prg.zsh.enable bashAndZshInitScript; + programs.fish.interactiveShellInit = lib.mkIf prg.fish.enable fishInitScript; + }; +} diff --git a/nixos/modules/programs/thunar.nix b/nixos/modules/programs/thunar.nix index 76fcc9d8298f4..57ce59f4e7a55 100644 --- a/nixos/modules/programs/thunar.nix +++ b/nixos/modules/programs/thunar.nix @@ -1,8 +1,15 @@ -{ config, lib, pkgs, ... }: - -let cfg = config.programs.thunar; - -in { +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.programs.thunar; + +in +{ meta = { maintainers = lib.teams.xfce.members; }; @@ -12,7 +19,7 @@ in { enable = lib.mkEnableOption "Thunar, the Xfce file manager"; plugins = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.package; description = "List of thunar plugins to install."; example = lib.literalExpression "with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]"; @@ -22,9 +29,11 @@ in { }; config = lib.mkIf cfg.enable ( - let package = pkgs.xfce.thunar.override { thunarPlugins = cfg.plugins; }; + let + package = pkgs.xfce.thunar.override { thunarPlugins = cfg.plugins; }; - in { + in + { environment.systemPackages = [ package ]; diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix index a157bedc8aae6..fe7a2789f71b8 100644 --- a/nixos/modules/programs/tmux.nix +++ b/nixos/modules/programs/tmux.nix @@ -1,12 +1,22 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) mkOption mkIf types optionalString; + inherit (lib) + mkOption + mkIf + types + optionalString + ; cfg = config.programs.tmux; - defaultKeyMode = "emacs"; - defaultResize = 5; + defaultKeyMode = "emacs"; + defaultResize = 5; defaultShortcut = "b"; defaultTerminal = "screen"; @@ -21,31 +31,31 @@ let ${optionalString cfg.newSession "new-session"} ${optionalString cfg.reverseSplit '' - bind v split-window -h - bind s split-window -v + bind v split-window -h + bind s split-window -v ''} set -g status-keys ${cfg.keyMode} set -g mode-keys ${cfg.keyMode} ${optionalString (cfg.keyMode == "vi" && cfg.customPaneNavigationAndResize) '' - bind h select-pane -L - bind j select-pane -D - bind k select-pane -U - bind l select-pane -R - - bind -r H resize-pane -L ${toString cfg.resizeAmount} - bind -r J resize-pane -D ${toString cfg.resizeAmount} - bind -r K resize-pane -U ${toString cfg.resizeAmount} - bind -r L resize-pane -R ${toString cfg.resizeAmount} + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + bind -r H resize-pane -L ${toString cfg.resizeAmount} + bind -r J resize-pane -D ${toString cfg.resizeAmount} + bind -r K resize-pane -U ${toString cfg.resizeAmount} + bind -r L resize-pane -R ${toString cfg.resizeAmount} ''} ${optionalString (cfg.shortcut != defaultShortcut) '' - # rebind main key: C-${cfg.shortcut} - unbind C-${defaultShortcut} - set -g prefix C-${cfg.shortcut} - bind ${cfg.shortcut} send-prefix - bind C-${cfg.shortcut} last-window + # rebind main key: C-${cfg.shortcut} + unbind C-${defaultShortcut} + set -g prefix C-${cfg.shortcut} + bind ${cfg.shortcut} send-prefix + bind C-${cfg.shortcut} last-window ''} setw -g aggressive-resize ${boolToStr cfg.aggressiveResize} @@ -54,16 +64,17 @@ let ${cfg.extraConfigBeforePlugins} - ${lib.optionalString (cfg.plugins != []) '' - # Run plugins - ${lib.concatMapStringsSep "\n" (x: "run-shell ${x.rtp}") cfg.plugins} + ${lib.optionalString (cfg.plugins != [ ]) '' + # Run plugins + ${lib.concatMapStringsSep "\n" (x: "run-shell ${x.rtp}") cfg.plugins} ''} ${cfg.extraConfig} ''; -in { +in +{ ###### interface options = { @@ -136,7 +147,10 @@ in { keyMode = mkOption { default = defaultKeyMode; example = "vi"; - type = types.enum [ "emacs" "vi" ]; + type = types.enum [ + "emacs" + "vi" + ]; description = "VI or Emacs style shortcuts."; }; @@ -186,7 +200,7 @@ in { }; plugins = mkOption { - default = []; + default = [ ]; type = types.listOf types.package; description = "List of plugins to install."; example = lib.literalExpression "[ pkgs.tmuxPlugins.nord ]"; @@ -228,7 +242,10 @@ in { }; imports = [ - (lib.mkRenamedOptionModule [ "programs" "tmux" "extraTmuxConf" ] [ "programs" "tmux" "extraConfig" ]) + (lib.mkRenamedOptionModule + [ "programs" "tmux" "extraTmuxConf" ] + [ "programs" "tmux" "extraConfig" ] + ) ]; meta.maintainers = with lib.maintainers; [ hxtmdev ]; diff --git a/nixos/modules/programs/trippy.nix b/nixos/modules/programs/trippy.nix index 707370fb31a51..6b906cb58f52e 100644 --- a/nixos/modules/programs/trippy.nix +++ b/nixos/modules/programs/trippy.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.programs.trippy; diff --git a/nixos/modules/programs/tsm-client.nix b/nixos/modules/programs/tsm-client.nix index 1795db5c2470e..9e50e38acc924 100644 --- a/nixos/modules/programs/tsm-client.nix +++ b/nixos/modules/programs/tsm-client.nix @@ -1,115 +1,177 @@ -{ config, lib, options, pkgs, ... }: # XXX migration code for freeform settings: `options` can be removed in 2025 -let optionsGlobal = options; in +{ + config, + lib, + options, + pkgs, + ... +}: # XXX migration code for freeform settings: `options` can be removed in 2025 +let + optionsGlobal = options; +in let - inherit (lib.attrsets) attrNames attrValues mapAttrsToList removeAttrs; - inherit (lib.lists) all allUnique concatLists concatMap elem isList map; + inherit (lib.attrsets) + attrNames + attrValues + mapAttrsToList + removeAttrs + ; + inherit (lib.lists) + all + allUnique + concatLists + concatMap + elem + isList + map + ; inherit (lib.modules) mkDefault mkIf; inherit (lib.options) mkEnableOption mkOption mkPackageOption; - inherit (lib.strings) concatLines match optionalString toLower; + inherit (lib.strings) + concatLines + match + optionalString + toLower + ; inherit (lib.trivial) isInt; - inherit (lib.types) addCheck attrsOf coercedTo either enum int lines listOf nonEmptyStr nullOr oneOf path port singleLineStr strMatching submodule; + inherit (lib.types) + addCheck + attrsOf + coercedTo + either + enum + int + lines + listOf + nonEmptyStr + nullOr + oneOf + path + port + singleLineStr + strMatching + submodule + ; scalarType = # see the option's description below for the # handling/transformation of each possible type - oneOf [ (enum [ true null ]) int path singleLineStr ]; + oneOf [ + (enum [ + true + null + ]) + int + path + singleLineStr + ]; # TSM rejects servername strings longer than 64 chars. servernameType = strMatching "[^[:space:]]{1,64}"; - serverOptions = { name, config, ... }: { - freeformType = attrsOf (either scalarType (listOf scalarType)); - # Client system-options file directives are explained here: - # https://www.ibm.com/docs/en/storage-protect/8.1.24?topic=commands-processing-options - options.servername = mkOption { - type = servernameType; - default = name; - example = "mainTsmServer"; - description = '' - Local name of the IBM TSM server, - must not contain space or more than 64 chars. - ''; - }; - options.tcpserveraddress = mkOption { - type = nonEmptyStr; - example = "tsmserver.company.com"; - description = '' - Host/domain name or IP address of the IBM TSM server. - ''; - }; - options.tcpport = mkOption { - type = addCheck port (p: p<=32767); - default = 1500; # official default - description = '' - TCP port of the IBM TSM server. - TSM does not support ports above 32767. - ''; - }; - options.nodename = mkOption { - type = nonEmptyStr; - example = "MY-TSM-NODE"; - description = '' - Target node name on the IBM TSM server. - ''; - }; - options.genPasswd = mkEnableOption '' - automatic client password generation. - This option does *not* cause a line in - {file}`dsm.sys` by itself, but generates a - corresponding `passwordaccess` directive. - The password will be stored in the directory - given by the option {option}`passworddir`. - *Caution*: - If this option is enabled and the server forces - to renew the password (e.g. on first connection), - a random password will be generated and stored - ''; - options.passwordaccess = mkOption { - type = enum [ "generate" "prompt" ]; - visible = false; - }; - options.passworddir = mkOption { - type = nullOr path; - default = null; - example = "/home/alice/tsm-password"; - description = '' - Directory that holds the TSM - node's password information. - ''; - }; - options.inclexcl = mkOption { - type = coercedTo lines - (pkgs.writeText "inclexcl.dsm.sys") - (nullOr path); - default = null; - example = '' - exclude.dir /nix/store - include.encrypt /home/.../* - ''; - description = '' - Text lines with `include.*` and `exclude.*` directives - to be used when sending files to the IBM TSM server, - or an absolute path pointing to a file with such lines. + serverOptions = + { name, config, ... }: + { + freeformType = attrsOf (either scalarType (listOf scalarType)); + # Client system-options file directives are explained here: + # https://www.ibm.com/docs/en/storage-protect/8.1.24?topic=commands-processing-options + options.servername = mkOption { + type = servernameType; + default = name; + example = "mainTsmServer"; + description = '' + Local name of the IBM TSM server, + must not contain space or more than 64 chars. + ''; + }; + options.tcpserveraddress = mkOption { + type = nonEmptyStr; + example = "tsmserver.company.com"; + description = '' + Host/domain name or IP address of the IBM TSM server. + ''; + }; + options.tcpport = mkOption { + type = addCheck port (p: p <= 32767); + default = 1500; # official default + description = '' + TCP port of the IBM TSM server. + TSM does not support ports above 32767. + ''; + }; + options.nodename = mkOption { + type = nonEmptyStr; + example = "MY-TSM-NODE"; + description = '' + Target node name on the IBM TSM server. + ''; + }; + options.genPasswd = mkEnableOption '' + automatic client password generation. + This option does *not* cause a line in + {file}`dsm.sys` by itself, but generates a + corresponding `passwordaccess` directive. + The password will be stored in the directory + given by the option {option}`passworddir`. + *Caution*: + If this option is enabled and the server forces + to renew the password (e.g. on first connection), + a random password will be generated and stored ''; + options.passwordaccess = mkOption { + type = enum [ + "generate" + "prompt" + ]; + visible = false; + }; + options.passworddir = mkOption { + type = nullOr path; + default = null; + example = "/home/alice/tsm-password"; + description = '' + Directory that holds the TSM + node's password information. + ''; + }; + options.inclexcl = mkOption { + type = coercedTo lines (pkgs.writeText "inclexcl.dsm.sys") (nullOr path); + default = null; + example = '' + exclude.dir /nix/store + include.encrypt /home/.../* + ''; + description = '' + Text lines with `include.*` and `exclude.*` directives + to be used when sending files to the IBM TSM server, + or an absolute path pointing to a file with such lines. + ''; + }; + config.commmethod = mkDefault "v6tcpip"; # uses v4 or v6, based on dns lookup result + config.passwordaccess = if config.genPasswd then "generate" else "prompt"; + # XXX migration code for freeform settings, these can be removed in 2025: + options.warnings = optionsGlobal.warnings; + options.assertions = optionsGlobal.assertions; + imports = + let + inherit (lib.modules) mkRemovedOptionModule mkRenamedOptionModule; + in + [ + (mkRemovedOptionModule [ "extraConfig" ] + "Please just add options directly to the server attribute set, cf. the description of `programs.tsmClient.servers`." + ) + (mkRemovedOptionModule [ "text" ] + "Please just add options directly to the server attribute set, cf. the description of `programs.tsmClient.servers`." + ) + (mkRenamedOptionModule [ "name" ] [ "servername" ]) + (mkRenamedOptionModule [ "server" ] [ "tcpserveraddress" ]) + (mkRenamedOptionModule [ "port" ] [ "tcpport" ]) + (mkRenamedOptionModule [ "node" ] [ "nodename" ]) + (mkRenamedOptionModule [ "passwdDir" ] [ "passworddir" ]) + (mkRenamedOptionModule [ "includeExclude" ] [ "inclexcl" ]) + ]; }; - config.commmethod = mkDefault "v6tcpip"; # uses v4 or v6, based on dns lookup result - config.passwordaccess = if config.genPasswd then "generate" else "prompt"; - # XXX migration code for freeform settings, these can be removed in 2025: - options.warnings = optionsGlobal.warnings; - options.assertions = optionsGlobal.assertions; - imports = let inherit (lib.modules) mkRemovedOptionModule mkRenamedOptionModule; in [ - (mkRemovedOptionModule [ "extraConfig" ] "Please just add options directly to the server attribute set, cf. the description of `programs.tsmClient.servers`.") - (mkRemovedOptionModule [ "text" ] "Please just add options directly to the server attribute set, cf. the description of `programs.tsmClient.servers`.") - (mkRenamedOptionModule [ "name" ] [ "servername" ]) - (mkRenamedOptionModule [ "server" ] [ "tcpserveraddress" ]) - (mkRenamedOptionModule [ "port" ] [ "tcpport" ]) - (mkRenamedOptionModule [ "node" ] [ "nodename" ]) - (mkRenamedOptionModule [ "passwdDir" ] [ "passworddir" ]) - (mkRenamedOptionModule [ "includeExclude" ] [ "inclexcl" ]) - ]; - }; options.programs.tsmClient = { enable = mkEnableOption '' @@ -119,7 +181,7 @@ let ''; servers = mkOption { type = attrsOf (submodule serverOptions); - default = {}; + default = { }; example.mainTsmServer = { tcpserveraddress = "tsmserver.company.com"; nodename = "MY-TSM-NODE"; @@ -173,16 +235,20 @@ let to add paths to the client system-options file. ''; }; - wrappedPackage = mkPackageOption pkgs "tsm-client" { - default = null; - extraDescription = '' - This option is to provide the effective derivation, - wrapped with the path to the - client system-options file "dsm.sys". - It should not be changed, but exists - for other modules that want to call TSM executables. - ''; - } // { readOnly = true; }; + wrappedPackage = + mkPackageOption pkgs "tsm-client" { + default = null; + extraDescription = '' + This option is to provide the effective derivation, + wrapped with the path to the + client system-options file "dsm.sys". + It should not be changed, but exists + for other modules that want to call TSM executables. + ''; + } + // { + readOnly = true; + }; }; cfg = config.programs.tsmClient; @@ -200,7 +266,7 @@ let ''; } { - assertion = (cfg.defaultServername!=null)->(elem cfg.defaultServername servernames); + assertion = (cfg.defaultServername != null) -> (elem cfg.defaultServername servernames); message = '' TSM default server name `programs.tsmClient.defaultServername="${cfg.defaultServername}"` @@ -208,14 +274,16 @@ let `programs.tsmClient.servers`. ''; } - ] ++ (mapAttrsToList (name: serverCfg: { + ] + ++ (mapAttrsToList (name: serverCfg: { assertion = all (key: null != match "[^[:space:]]+" key) (attrNames serverCfg); message = '' TSM server setting names in `programs.tsmClient.servers.${name}.*` contain spaces, but that's not allowed. ''; - }) cfg.servers) ++ (mapAttrsToList (name: serverCfg: { + }) cfg.servers) + ++ (mapAttrsToList (name: serverCfg: { assertion = allUnique (map toLower (attrNames serverCfg)); message = '' TSM server setting names in @@ -225,36 +293,70 @@ let ''; }) cfg.servers) # XXX migration code for freeform settings, this can be removed in 2025: - ++ (enrichMigrationInfos "assertions" (addText: { assertion, message }: { inherit assertion; message = addText message; })); + ++ (enrichMigrationInfos "assertions" ( + addText: + { assertion, message }: + { + inherit assertion; + message = addText message; + } + )); - makeDsmSysLines = key: value: + makeDsmSysLines = + key: value: # Turn a key-value pair from the server options attrset # into zero (value==null), one (scalar value) or # more (value is list) configuration stanza lines. - if isList value then concatMap (makeDsmSysLines key) value else # recurse into list - if value == null then [ ] else # skip `null` value - [ (" ${key}${ - if value == true then "" else # just output key if value is `true` - if isInt value then " ${builtins.toString value}" else - if path.check value then " \"${value}\"" else # enclose path in ".." - if singleLineStr.check value then " ${value}" else - throw "assertion failed: cannot convert type" # should never happen - }") ]; + if isList value then + concatMap (makeDsmSysLines key) value + # recurse into list + else if value == null then + [ ] + # skip `null` value + else + [ + ( + " ${key}${ + if value == true then + "" + # just output key if value is `true` + else if isInt value then + " ${builtins.toString value}" + else if path.check value then + " \"${value}\"" + # enclose path in ".." + else if singleLineStr.check value then + " ${value}" + else + throw "assertion failed: cannot convert type" # should never happen + }" + ) + ]; - makeDsmSysStanza = {servername, ... }@serverCfg: + makeDsmSysStanza = + { servername, ... }@serverCfg: let # drop special values that should not go into server config block - attrs = removeAttrs serverCfg [ "servername" "genPasswd" + attrs = removeAttrs serverCfg [ + "servername" + "genPasswd" # XXX migration code for freeform settings, these can be removed in 2025: - "assertions" "warnings" - "extraConfig" "text" - "name" "server" "port" "node" "passwdDir" "includeExclude" + "assertions" + "warnings" + "extraConfig" + "text" + "name" + "server" + "port" + "node" + "passwdDir" + "includeExclude" ]; in - '' - servername ${servername} - ${concatLines (concatLists (mapAttrsToList makeDsmSysLines attrs))} - ''; + '' + servername ${servername} + ${concatLines (concatLists (mapAttrsToList makeDsmSysLines attrs))} + ''; dsmSysText = '' **** IBM Storage Protect (Tivoli Storage Manager) @@ -262,17 +364,20 @@ let **** Do not edit! **** This file is generated by NixOS configuration. - ${optionalString (cfg.defaultServername!=null) "defaultserver ${cfg.defaultServername}"} + ${optionalString (cfg.defaultServername != null) "defaultserver ${cfg.defaultServername}"} ${concatLines (map makeDsmSysStanza (attrValues cfg.servers))} ''; # XXX migration code for freeform settings, this can be removed in 2025: - enrichMigrationInfos = what: how: concatLists ( - mapAttrsToList - (name: serverCfg: map (how (text: "In `programs.tsmClient.servers.${name}`: ${text}")) serverCfg."${what}") - cfg.servers - ); + enrichMigrationInfos = + what: how: + concatLists ( + mapAttrsToList ( + name: serverCfg: + map (how (text: "In `programs.tsmClient.servers.${name}`: ${text}")) serverCfg."${what}" + ) cfg.servers + ); in diff --git a/nixos/modules/programs/turbovnc.nix b/nixos/modules/programs/turbovnc.nix index c7ab18a2e2886..51550476cc352 100644 --- a/nixos/modules/programs/turbovnc.nix +++ b/nixos/modules/programs/turbovnc.nix @@ -1,6 +1,11 @@ # Global configuration for the SSH client. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.turbovnc; diff --git a/nixos/modules/programs/udevil.nix b/nixos/modules/programs/udevil.nix index e4c0daea72c1b..09d8ca4b288b2 100644 --- a/nixos/modules/programs/udevil.nix +++ b/nixos/modules/programs/udevil.nix @@ -1,17 +1,23 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.udevil; -in { +in +{ options.programs.udevil.enable = lib.mkEnableOption "udevil, to mount filesystems without password"; config = lib.mkIf cfg.enable { - security.wrappers.udevil = - { setuid = true; - owner = "root"; - group = "root"; - source = "${lib.getBin pkgs.udevil}/bin/udevil"; - }; + security.wrappers.udevil = { + setuid = true; + owner = "root"; + group = "root"; + source = "${lib.getBin pkgs.udevil}/bin/udevil"; + }; }; } diff --git a/nixos/modules/programs/usbtop.nix b/nixos/modules/programs/usbtop.nix index 8b77b2bf51c43..6edb8d57b54c3 100644 --- a/nixos/modules/programs/usbtop.nix +++ b/nixos/modules/programs/usbtop.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.usbtop; -in { +in +{ options = { programs.usbtop.enable = lib.mkEnableOption "usbtop and required kernel module, to show estimated USB bandwidth"; }; diff --git a/nixos/modules/programs/virt-manager.nix b/nixos/modules/programs/virt-manager.nix index 9b5fa22268ae9..f0972ab6111c7 100644 --- a/nixos/modules/programs/virt-manager.nix +++ b/nixos/modules/programs/virt-manager.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.virt-manager; diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index be96cf23b3969..e57b4078bfd4b 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -1,8 +1,10 @@ let - msg = "Importing is " - + "deprecated, please use `virtualisation.virtualbox.host.enable = true' " - + "instead."; -in { + msg = + "Importing is " + + "deprecated, please use `virtualisation.virtualbox.host.enable = true' " + + "instead."; +in +{ config.warnings = [ msg ]; config.virtualisation.virtualbox.host.enable = true; } diff --git a/nixos/modules/programs/wavemon.nix b/nixos/modules/programs/wavemon.nix index 86bc7cc097954..2d3e53401897a 100644 --- a/nixos/modules/programs/wavemon.nix +++ b/nixos/modules/programs/wavemon.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.wavemon; -in { +in +{ options = { programs.wavemon = { enable = lib.mkOption { diff --git a/nixos/modules/programs/wayland/cardboard.nix b/nixos/modules/programs/wayland/cardboard.nix index 96089bdf94edb..5d05fc3d96bcc 100644 --- a/nixos/modules/programs/wayland/cardboard.nix +++ b/nixos/modules/programs/wayland/cardboard.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.cardboard; @@ -12,13 +17,15 @@ in package = lib.mkPackageOption pkgs "cardboard" { }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - environment.systemPackages = [ cfg.package ]; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + environment.systemPackages = [ cfg.package ]; - # To make a cardboard session available for certain DMs like SDDM - services.displayManager.sessionPackages = [ cfg.package ]; - } - (import ./wayland-session.nix { inherit lib pkgs; }) - ]); + # To make a cardboard session available for certain DMs like SDDM + services.displayManager.sessionPackages = [ cfg.package ]; + } + (import ./wayland-session.nix { inherit lib pkgs; }) + ] + ); } diff --git a/nixos/modules/programs/wayland/hyprlock.nix b/nixos/modules/programs/wayland/hyprlock.nix index 6c60765e80cc7..1b55c75f08529 100644 --- a/nixos/modules/programs/wayland/hyprlock.nix +++ b/nixos/modules/programs/wayland/hyprlock.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.programs.hyprlock; @@ -18,7 +23,7 @@ in services.hypridle.enable = true; # Hyprlock needs PAM access to authenticate, else it fallbacks to su - security.pam.services.hyprlock = {}; + security.pam.services.hyprlock = { }; }; meta.maintainers = with lib.maintainers; [ johnrtitor ]; diff --git a/nixos/modules/programs/wayland/labwc.nix b/nixos/modules/programs/wayland/labwc.nix index c09ab8240d9f2..247b6b43a73f7 100644 --- a/nixos/modules/programs/wayland/labwc.nix +++ b/nixos/modules/programs/wayland/labwc.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.labwc; @@ -11,15 +16,20 @@ in package = lib.mkPackageOption pkgs "labwc" { }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - environment.systemPackages = [ cfg.package ]; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + environment.systemPackages = [ cfg.package ]; - xdg.portal.config.wlroots.default = lib.mkDefault [ "wlr" "gtk" ]; + xdg.portal.config.wlroots.default = lib.mkDefault [ + "wlr" + "gtk" + ]; - # To make a labwc session available for certain DMs like SDDM - services.displayManager.sessionPackages = [ cfg.package ]; - } - (import ./wayland-session.nix { inherit lib pkgs; }) - ]); + # To make a labwc session available for certain DMs like SDDM + services.displayManager.sessionPackages = [ cfg.package ]; + } + (import ./wayland-session.nix { inherit lib pkgs; }) + ] + ); } diff --git a/nixos/modules/programs/wayland/lib.nix b/nixos/modules/programs/wayland/lib.nix index 0f275d3f18c56..bc639dc6d0e0c 100644 --- a/nixos/modules/programs/wayland/lib.nix +++ b/nixos/modules/programs/wayland/lib.nix @@ -1,12 +1,13 @@ { lib }: { - genFinalPackage = pkg: args: + genFinalPackage = + pkg: args: let - expectedArgs = with lib; - lib.naturalSort (lib.attrNames args); - existingArgs = with lib; + expectedArgs = with lib; lib.naturalSort (lib.attrNames args); + existingArgs = + with lib; naturalSort (intersectLists expectedArgs (attrNames (functionArgs pkg.override))); in - if existingArgs != expectedArgs then pkg else pkg.override args; + if existingArgs != expectedArgs then pkg else pkg.override args; } diff --git a/nixos/modules/programs/wayland/river.nix b/nixos/modules/programs/wayland/river.nix index 6391f00e2f626..c1e62938f2e00 100644 --- a/nixos/modules/programs/wayland/river.nix +++ b/nixos/modules/programs/wayland/river.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.river; @@ -9,27 +14,39 @@ in options.programs.river = { enable = lib.mkEnableOption "river, a dynamic tiling Wayland compositor"; - package = lib.mkPackageOption pkgs "river" { - nullable = true; - extraDescription = '' - If the package is not overridable with `xwaylandSupport`, then the module option - {option}`xwayland` will have no effect. + package = + lib.mkPackageOption pkgs "river" { + nullable = true; + extraDescription = '' + If the package is not overridable with `xwaylandSupport`, then the module option + {option}`xwayland` will have no effect. - Set to `null` to not add any River package to your path. - This should be done if you want to use the Home Manager River module to install River. - ''; - } // { - apply = p: if p == null then null else - wayland-lib.genFinalPackage p { - xwaylandSupport = cfg.xwayland.enable; - }; - }; + Set to `null` to not add any River package to your path. + This should be done if you want to use the Home Manager River module to install River. + ''; + } + // { + apply = + p: + if p == null then + null + else + wayland-lib.genFinalPackage p { + xwaylandSupport = cfg.xwayland.enable; + }; + }; - xwayland.enable = lib.mkEnableOption "XWayland" // { default = true; }; + xwayland.enable = lib.mkEnableOption "XWayland" // { + default = true; + }; extraPackages = lib.mkOption { type = with lib.types; listOf package; - default = with pkgs; [ swaylock foot dmenu ]; + default = with pkgs; [ + swaylock + foot + dmenu + ]; defaultText = lib.literalExpression '' with pkgs; [ swaylock foot dmenu ]; ''; @@ -44,22 +61,27 @@ in }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - environment.systemPackages = lib.optional (cfg.package != null) cfg.package ++ cfg.extraPackages; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + environment.systemPackages = lib.optional (cfg.package != null) cfg.package ++ cfg.extraPackages; - # To make a river session available if a display manager like SDDM is enabled: - services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package; + # To make a river session available if a display manager like SDDM is enabled: + services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package; - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913 - xdg.portal.config.river.default = lib.mkDefault [ "wlr" "gtk" ]; - } + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913 + xdg.portal.config.river.default = lib.mkDefault [ + "wlr" + "gtk" + ]; + } - (import ./wayland-session.nix { - inherit lib pkgs; - enableXWayland = cfg.xwayland.enable; - }) - ]); + (import ./wayland-session.nix { + inherit lib pkgs; + enableXWayland = cfg.xwayland.enable; + }) + ] + ); meta.maintainers = with lib.maintainers; [ GaetanLepage ]; } diff --git a/nixos/modules/programs/wayland/wayland-session.nix b/nixos/modules/programs/wayland/wayland-session.nix index 1f5dc413d377b..de24bf73e6304 100644 --- a/nixos/modules/programs/wayland/wayland-session.nix +++ b/nixos/modules/programs/wayland/wayland-session.nix @@ -9,7 +9,7 @@ { security = { polkit.enable = true; - pam.services.swaylock = {}; + pam.services.swaylock = { }; }; programs = { diff --git a/nixos/modules/programs/weylus.nix b/nixos/modules/programs/weylus.nix index d76e2f81b2c94..b9b23f84e2836 100644 --- a/nixos/modules/programs/weylus.nix +++ b/nixos/modules/programs/weylus.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.weylus; @@ -15,7 +20,7 @@ in ''; }; - users = lib.mkOption { + users = lib.mkOption { type = listOf str; default = [ ]; description = '' @@ -28,7 +33,10 @@ in }; config = lib.mkIf cfg.enable { networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = [ 1701 9001 ]; + allowedTCPPorts = [ + 1701 + 9001 + ]; }; hardware.uinput.enable = true; diff --git a/nixos/modules/programs/winbox.nix b/nixos/modules/programs/winbox.nix index 1337f57839b02..d4be0a08d8716 100644 --- a/nixos/modules/programs/winbox.nix +++ b/nixos/modules/programs/winbox.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.programs.winbox; + cfg = config.programs.winbox; in { options.programs.winbox = { diff --git a/nixos/modules/programs/wireshark.nix b/nixos/modules/programs/wireshark.nix index f5673e5940fea..a804385b834c6 100644 --- a/nixos/modules/programs/wireshark.nix +++ b/nixos/modules/programs/wireshark.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.wireshark; wireshark = cfg.package; -in { +in +{ options = { programs.wireshark = { enable = lib.mkOption { @@ -22,7 +28,7 @@ in { config = lib.mkIf cfg.enable { environment.systemPackages = [ wireshark ]; - users.groups.wireshark = {}; + users.groups.wireshark = { }; security.wrappers.dumpcap = { source = "${wireshark}/bin/dumpcap"; diff --git a/nixos/modules/programs/xastir.nix b/nixos/modules/programs/xastir.nix index 96201eb5455d0..9f6b68b33f993 100644 --- a/nixos/modules/programs/xastir.nix +++ b/nixos/modules/programs/xastir.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.xastir; -in { +in +{ meta.maintainers = with lib.maintainers; [ melling ]; options.programs.xastir = { diff --git a/nixos/modules/programs/xfconf.nix b/nixos/modules/programs/xfconf.nix index f2fda3b692d37..1788b220439ca 100644 --- a/nixos/modules/programs/xfconf.nix +++ b/nixos/modules/programs/xfconf.nix @@ -1,8 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -let cfg = config.programs.xfconf; +let + cfg = config.programs.xfconf; -in { +in +{ meta = { maintainers = lib.teams.xfce.members; }; diff --git a/nixos/modules/programs/xfs_quota.nix b/nixos/modules/programs/xfs_quota.nix index 5ca05f4dc297e..b8f284e4ea1dc 100644 --- a/nixos/modules/programs/xfs_quota.nix +++ b/nixos/modules/programs/xfs_quota.nix @@ -1,15 +1,22 @@ # Configuration for the xfs_quota command -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.xfs_quota; - limitOptions = opts: builtins.concatStringsSep " " [ - (lib.optionalString (opts.sizeSoftLimit != null) "bsoft=${opts.sizeSoftLimit}") - (lib.optionalString (opts.sizeHardLimit != null) "bhard=${opts.sizeHardLimit}") - ]; + limitOptions = + opts: + builtins.concatStringsSep " " [ + (lib.optionalString (opts.sizeSoftLimit != null) "bsoft=${opts.sizeSoftLimit}") + (lib.optionalString (opts.sizeHardLimit != null) "bhard=${opts.sizeHardLimit}") + ]; in @@ -21,40 +28,42 @@ in programs.xfs_quota = { projects = lib.mkOption { - default = {}; - type = lib.types.attrsOf (lib.types.submodule { - options = { - id = lib.mkOption { - type = lib.types.int; - description = "Project ID."; - }; - - fileSystem = lib.mkOption { - type = lib.types.str; - description = "XFS filesystem hosting the xfs_quota project."; - default = "/"; + default = { }; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + id = lib.mkOption { + type = lib.types.int; + description = "Project ID."; + }; + + fileSystem = lib.mkOption { + type = lib.types.str; + description = "XFS filesystem hosting the xfs_quota project."; + default = "/"; + }; + + path = lib.mkOption { + type = lib.types.str; + description = "Project directory."; + }; + + sizeSoftLimit = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "30g"; + description = "Soft limit of the project size"; + }; + + sizeHardLimit = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "50g"; + description = "Hard limit of the project size."; + }; }; - - path = lib.mkOption { - type = lib.types.str; - description = "Project directory."; - }; - - sizeSoftLimit = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "30g"; - description = "Soft limit of the project size"; - }; - - sizeHardLimit = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "50g"; - description = "Hard limit of the project size."; - }; - }; - }); + } + ); description = "Setup of xfs_quota projects. Make sure the filesystem is mounted with the pquota option."; @@ -70,20 +79,24 @@ in }; - ###### implementation - config = lib.mkIf (cfg.projects != {}) { + config = lib.mkIf (cfg.projects != { }) { - environment.etc.projects.source = pkgs.writeText "etc-project" - (builtins.concatStringsSep "\n" (lib.mapAttrsToList - (name: opts: "${builtins.toString opts.id}:${opts.path}") cfg.projects)); + environment.etc.projects.source = pkgs.writeText "etc-project" ( + builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (name: opts: "${builtins.toString opts.id}:${opts.path}") cfg.projects + ) + ); - environment.etc.projid.source = pkgs.writeText "etc-projid" - (builtins.concatStringsSep "\n" (lib.mapAttrsToList - (name: opts: "${name}:${builtins.toString opts.id}") cfg.projects)); + environment.etc.projid.source = pkgs.writeText "etc-projid" ( + builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (name: opts: "${name}:${builtins.toString opts.id}") cfg.projects + ) + ); - systemd.services = lib.mapAttrs' (name: opts: + systemd.services = lib.mapAttrs' ( + name: opts: lib.nameValuePair "xfs_quota-${name}" { description = "Setup xfs_quota for project ${name}"; script = '' diff --git a/nixos/modules/programs/xss-lock.nix b/nixos/modules/programs/xss-lock.nix index b818c52e1442d..537bf60594e65 100644 --- a/nixos/modules/programs/xss-lock.nix +++ b/nixos/modules/programs/xss-lock.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.xss-lock; @@ -31,13 +36,17 @@ in description = "XSS Lock Daemon"; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; - serviceConfig.ExecStart = - builtins.concatStringsSep " " ([ - "${pkgs.xss-lock}/bin/xss-lock" "--session \${XDG_SESSION_ID}" - ] ++ (builtins.map lib.escapeShellArg cfg.extraOptions) ++ [ - "--" - cfg.lockerCommand - ]); + serviceConfig.ExecStart = builtins.concatStringsSep " " ( + [ + "${pkgs.xss-lock}/bin/xss-lock" + "--session \${XDG_SESSION_ID}" + ] + ++ (builtins.map lib.escapeShellArg cfg.extraOptions) + ++ [ + "--" + cfg.lockerCommand + ] + ); serviceConfig.Restart = "always"; }; diff --git a/nixos/modules/programs/xwayland.nix b/nixos/modules/programs/xwayland.nix index 3df3dbf3783f3..6d00d6fe27edd 100644 --- a/nixos/modules/programs/xwayland.nix +++ b/nixos/modules/programs/xwayland.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.xwayland; @@ -12,8 +17,7 @@ in defaultFontPath = lib.mkOption { type = lib.types.str; - default = lib.optionalString config.fonts.fontDir.enable - "/run/current-system/sw/share/X11/fonts"; + default = lib.optionalString config.fonts.fontDir.enable "/run/current-system/sw/share/X11/fonts"; defaultText = lib.literalExpression '' optionalString config.fonts.fontDir.enable "/run/current-system/sw/share/X11/fonts" ''; diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix index e7168f85f41e0..c9275889927bc 100644 --- a/nixos/modules/programs/yabar.nix +++ b/nixos/modules/programs/yabar.nix @@ -1,17 +1,27 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.programs.yabar; - mapExtra = v: lib.concatStringsSep "\n" (lib.mapAttrsToList ( - key: val: "${key} = ${if (builtins.isString val) then "\"${val}\"" else "${builtins.toString val}"};" - ) v); + mapExtra = + v: + lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + key: val: + "${key} = ${if (builtins.isString val) then "\"${val}\"" else "${builtins.toString val}"};" + ) v + ); listKeys = r: builtins.concatStringsSep "," (builtins.map (n: "\"${n}\"") (builtins.attrNames r)); - configFile = let - bars = lib.mapAttrsToList ( - name: cfg: '' + configFile = + let + bars = lib.mapAttrsToList (name: cfg: '' ${name}: { font: "${cfg.font}"; position: "${cfg.position}"; @@ -20,58 +30,64 @@ let block-list: [${listKeys cfg.indicators}] - ${builtins.concatStringsSep "\n" (lib.mapAttrsToList ( - name: cfg: '' + ${builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (name: cfg: '' ${name}: { exec: "${cfg.exec}"; align: "${cfg.align}"; ${mapExtra cfg.extra} }; - '' - ) cfg.indicators)} + '') cfg.indicators + )} }; - '' - ) cfg.bars; - in pkgs.writeText "yabar.conf" '' - bar-list = [${listKeys cfg.bars}]; - ${builtins.concatStringsSep "\n" bars} - ''; + '') cfg.bars; + in + pkgs.writeText "yabar.conf" '' + bar-list = [${listKeys cfg.bars}]; + ${builtins.concatStringsSep "\n" bars} + ''; in - { - options.programs.yabar = { - enable = lib.mkEnableOption "yabar, a status bar for X window managers"; - - package = lib.mkOption { - default = pkgs.yabar-unstable; - defaultText = lib.literalExpression "pkgs.yabar-unstable"; - example = lib.literalExpression "pkgs.yabar"; - type = lib.types.package; - - # `yabar-stable` segfaults under certain conditions. - # remember to update yabar.passthru.tests if nixos switches back to it! - apply = x: if x == pkgs.yabar-unstable then x else lib.flip lib.warn x '' - It's not recommended to use `yabar' with `programs.yabar', the (old) stable release - tends to segfault under certain circumstances: - - * https://github.com/geommer/yabar/issues/86 - * https://github.com/geommer/yabar/issues/68 - * https://github.com/geommer/yabar/issues/143 - - Most of them don't occur on master anymore, until a new release is published, it's recommended - to use `yabar-unstable'. - ''; - - description = '' - The package which contains the `yabar` binary. - - Nixpkgs provides the `yabar` and `yabar-unstable`, - so it's possible to choose. - ''; - }; - - bars = lib.mkOption { - default = {}; - type = lib.types.attrsOf(lib.types.submodule { +{ + options.programs.yabar = { + enable = lib.mkEnableOption "yabar, a status bar for X window managers"; + + package = lib.mkOption { + default = pkgs.yabar-unstable; + defaultText = lib.literalExpression "pkgs.yabar-unstable"; + example = lib.literalExpression "pkgs.yabar"; + type = lib.types.package; + + # `yabar-stable` segfaults under certain conditions. + # remember to update yabar.passthru.tests if nixos switches back to it! + apply = + x: + if x == pkgs.yabar-unstable then + x + else + lib.flip lib.warn x '' + It's not recommended to use `yabar' with `programs.yabar', the (old) stable release + tends to segfault under certain circumstances: + + * https://github.com/geommer/yabar/issues/86 + * https://github.com/geommer/yabar/issues/68 + * https://github.com/geommer/yabar/issues/143 + + Most of them don't occur on master anymore, until a new release is published, it's recommended + to use `yabar-unstable'. + ''; + + description = '' + The package which contains the `yabar` binary. + + Nixpkgs provides the `yabar` and `yabar-unstable`, + so it's possible to choose. + ''; + }; + + bars = lib.mkOption { + default = { }; + type = lib.types.attrsOf ( + lib.types.submodule { options = { font = lib.mkOption { default = "sans bold 9"; @@ -86,7 +102,10 @@ in position = lib.mkOption { default = "top"; example = "bottom"; - type = lib.types.enum [ "top" "bottom" ]; + type = lib.types.enum [ + "top" + "bottom" + ]; description = '' The position where the bar will be rendered. @@ -94,7 +113,7 @@ in }; extra = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.str; description = '' @@ -103,60 +122,67 @@ in }; indicators = lib.mkOption { - default = {}; - type = lib.types.attrsOf(lib.types.submodule { - options.exec = lib.mkOption { - example = "YABAR_DATE"; - type = lib.types.str; - description = '' - The type of the indicator to be executed. - ''; - }; - - options.align = lib.mkOption { - default = "left"; - example = "right"; - type = lib.types.enum [ "left" "center" "right" ]; - - description = '' - Whether to align the indicator at the left or right of the bar. - ''; - }; - - options.extra = lib.mkOption { - default = {}; - type = lib.types.attrsOf (lib.types.either lib.types.str lib.types.int); - - description = '' - An attribute set which contains further attributes of a indicator. - ''; - }; - }); + default = { }; + type = lib.types.attrsOf ( + lib.types.submodule { + options.exec = lib.mkOption { + example = "YABAR_DATE"; + type = lib.types.str; + description = '' + The type of the indicator to be executed. + ''; + }; + + options.align = lib.mkOption { + default = "left"; + example = "right"; + type = lib.types.enum [ + "left" + "center" + "right" + ]; + + description = '' + Whether to align the indicator at the left or right of the bar. + ''; + }; + + options.extra = lib.mkOption { + default = { }; + type = lib.types.attrsOf (lib.types.either lib.types.str lib.types.int); + + description = '' + An attribute set which contains further attributes of a indicator. + ''; + }; + } + ); description = '' Indicators that should be rendered by yabar. ''; }; }; - }); + } + ); - description = '' - List of bars that should be rendered by yabar. - ''; - }; + description = '' + List of bars that should be rendered by yabar. + ''; }; + }; - config = lib.mkIf cfg.enable { - systemd.user.services.yabar = { - description = "yabar service"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; + config = lib.mkIf cfg.enable { + systemd.user.services.yabar = { + description = "yabar service"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; - script = '' - ${cfg.package}/bin/yabar -c ${configFile} - ''; + script = '' + ${cfg.package}/bin/yabar -c ${configFile} + ''; - serviceConfig.Restart = "always"; - }; + serviceConfig.Restart = "always"; }; - } + }; +} diff --git a/nixos/modules/programs/yazi.nix b/nixos/modules/programs/yazi.nix index d9f38d8d81185..b7e56cf630774 100644 --- a/nixos/modules/programs/yazi.nix +++ b/nixos/modules/programs/yazi.nix @@ -1,11 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.yazi; settingsFormat = pkgs.formats.toml { }; - files = [ "yazi" "theme" "keymap" ]; + files = [ + "yazi" + "theme" + "keymap" + ]; in { options.programs.yazi = { @@ -14,19 +23,28 @@ in package = lib.mkPackageOption pkgs "yazi" { }; settings = lib.mkOption { - type = with lib.types; submodule { - options = (lib.listToAttrs (map - (name: lib.nameValuePair name (lib.mkOption { - inherit (settingsFormat) type; - default = { }; - description = '' - Configuration included in `${name}.toml`. + type = + with lib.types; + submodule { + options = ( + lib.listToAttrs ( + map ( + name: + lib.nameValuePair name ( + lib.mkOption { + inherit (settingsFormat) type; + default = { }; + description = '' + Configuration included in `${name}.toml`. - See https://yazi-rs.github.io/docs/configuration/${name}/ for documentation. - ''; - })) - files)); - }; + See https://yazi-rs.github.io/docs/configuration/${name}/ for documentation. + ''; + } + ) + ) files + ) + ); + }; default = { }; description = '' Configuration included in `$YAZI_CONFIG_HOME`. @@ -43,7 +61,12 @@ in }; plugins = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ path package ]); + type = + with lib.types; + attrsOf (oneOf [ + path + package + ]); default = { }; description = '' Lua plugins. @@ -59,7 +82,12 @@ in }; flavors = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ path package ]); + type = + with lib.types; + attrsOf (oneOf [ + path + package + ]); default = { }; description = '' Pre-made themes. @@ -79,7 +107,12 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ (cfg.package.override { - inherit (cfg) settings initLua plugins flavors; + inherit (cfg) + settings + initLua + plugins + flavors + ; }) ]; }; diff --git a/nixos/modules/programs/ydotool.nix b/nixos/modules/programs/ydotool.nix index 3377ae4262610..61322cf3fce51 100644 --- a/nixos/modules/programs/ydotool.nix +++ b/nixos/modules/programs/ydotool.nix @@ -26,66 +26,68 @@ in }; }; - config = let - runtimeDirectory = "ydotoold"; - in lib.mkIf cfg.enable { - users.groups."${config.programs.ydotool.group}" = { }; + config = + let + runtimeDirectory = "ydotoold"; + in + lib.mkIf cfg.enable { + users.groups."${config.programs.ydotool.group}" = { }; - systemd.services.ydotoold = { - description = "ydotoold - backend for ydotool"; - wantedBy = [ "multi-user.target" ]; - partOf = [ "multi-user.target" ]; - serviceConfig = { - Group = config.programs.ydotool.group; - RuntimeDirectory = runtimeDirectory; - RuntimeDirectoryMode = "0750"; - ExecStart = "${lib.getExe' pkgs.ydotool "ydotoold"} --socket-path=${config.environment.variables.YDOTOOL_SOCKET} --socket-perm=0660"; + systemd.services.ydotoold = { + description = "ydotoold - backend for ydotool"; + wantedBy = [ "multi-user.target" ]; + partOf = [ "multi-user.target" ]; + serviceConfig = { + Group = config.programs.ydotool.group; + RuntimeDirectory = runtimeDirectory; + RuntimeDirectoryMode = "0750"; + ExecStart = "${lib.getExe' pkgs.ydotool "ydotoold"} --socket-path=${config.environment.variables.YDOTOOL_SOCKET} --socket-perm=0660"; - # hardening + # hardening - ## allow access to uinput - DeviceAllow = [ "/dev/uinput" ]; - DevicePolicy = "closed"; + ## allow access to uinput + DeviceAllow = [ "/dev/uinput" ]; + DevicePolicy = "closed"; - ## allow creation of unix sockets - RestrictAddressFamilies = [ "AF_UNIX" ]; + ## allow creation of unix sockets + RestrictAddressFamilies = [ "AF_UNIX" ]; - CapabilityBoundingSet = ""; - IPAddressDeny = "any"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateNetwork = true; - PrivateTmp = true; - PrivateUsers = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" - "~@resources" - ]; - UMask = "0077"; + CapabilityBoundingSet = ""; + IPAddressDeny = "any"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateNetwork = true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + UMask = "0077"; - # -> systemd-analyze security score 0.7 SAFE 😀 + # -> systemd-analyze security score 0.7 SAFE 😀 + }; }; - }; - environment.variables = { - YDOTOOL_SOCKET = "/run/${runtimeDirectory}/socket"; + environment.variables = { + YDOTOOL_SOCKET = "/run/${runtimeDirectory}/socket"; + }; + environment.systemPackages = with pkgs; [ ydotool ]; }; - environment.systemPackages = with pkgs; [ ydotool ]; - }; } diff --git a/nixos/modules/programs/zmap.nix b/nixos/modules/programs/zmap.nix index 4f31d42c4add7..a1ce43fe62359 100644 --- a/nixos/modules/programs/zmap.nix +++ b/nixos/modules/programs/zmap.nix @@ -1,8 +1,14 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let cfg = config.programs.zmap; -in { +in +{ options.programs.zmap = { enable = lib.mkEnableOption "ZMap, a network scanner designed for Internet-wide network surveys"; }; diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix index f1ed26ddb569f..a0351d688911b 100644 --- a/nixos/modules/programs/zsh/oh-my-zsh.nix +++ b/nixos/modules/programs/zsh/oh-my-zsh.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.zsh.ohMyZsh; - mkLinkFarmEntry = name: dir: + mkLinkFarmEntry = + name: dir: let env = pkgs.buildEnv { name = "zsh-${name}-env"; @@ -12,135 +18,149 @@ let pathsToLink = "/share/zsh/${dir}"; }; in - { inherit name; path = "${env}/share/zsh/${dir}"; }; + { + inherit name; + path = "${env}/share/zsh/${dir}"; + }; mkLinkFarmEntry' = name: mkLinkFarmEntry name name; custom = - if cfg.custom != null then cfg.custom - else if builtins.length cfg.customPkgs == 0 then null - else pkgs.linkFarm "oh-my-zsh-custom" [ - (mkLinkFarmEntry' "themes") - (mkLinkFarmEntry "completions" "site-functions") - (mkLinkFarmEntry' "plugins") - ]; + if cfg.custom != null then + cfg.custom + else if builtins.length cfg.customPkgs == 0 then + null + else + pkgs.linkFarm "oh-my-zsh-custom" [ + (mkLinkFarmEntry' "themes") + (mkLinkFarmEntry "completions" "site-functions") + (mkLinkFarmEntry' "plugins") + ]; in - { - imports = [ - (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ]) - (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ]) - (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ]) - (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ]) - ]; +{ + imports = [ + (lib.mkRenamedOptionModule + [ "programs" "zsh" "oh-my-zsh" "enable" ] + [ "programs" "zsh" "ohMyZsh" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "oh-my-zsh" "theme" ] + [ "programs" "zsh" "ohMyZsh" "theme" ] + ) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "oh-my-zsh" "custom" ] + [ "programs" "zsh" "ohMyZsh" "custom" ] + ) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "oh-my-zsh" "plugins" ] + [ "programs" "zsh" "ohMyZsh" "plugins" ] + ) + ]; + + options = { + programs.zsh.ohMyZsh = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enable oh-my-zsh. + ''; + }; + + package = lib.mkPackageOption pkgs "oh-my-zsh" { }; + + plugins = lib.mkOption { + default = [ ]; + type = lib.types.listOf (lib.types.str); + description = '' + List of oh-my-zsh plugins + ''; + }; + + custom = lib.mkOption { + default = null; + type = with lib.types; nullOr str; + description = '' + Path to a custom oh-my-zsh package to override config of oh-my-zsh. + (Can't be used along with `customPkgs`). + ''; + }; - options = { - programs.zsh.ohMyZsh = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Enable oh-my-zsh. - ''; - }; - - package = lib.mkPackageOption pkgs "oh-my-zsh" { }; - - plugins = lib.mkOption { - default = []; - type = lib.types.listOf(lib.types.str); - description = '' - List of oh-my-zsh plugins - ''; - }; - - custom = lib.mkOption { - default = null; - type = with lib.types; nullOr str; - description = '' - Path to a custom oh-my-zsh package to override config of oh-my-zsh. - (Can't be used along with `customPkgs`). - ''; - }; - - customPkgs = lib.mkOption { - default = []; - type = lib.types.listOf lib.types.package; - description = '' - List of custom packages that should be loaded into `oh-my-zsh`. - ''; - }; - - theme = lib.mkOption { - default = ""; - type = lib.types.str; - description = '' - Name of the theme to be used by oh-my-zsh. - ''; - }; - - cacheDir = lib.mkOption { - default = "$HOME/.cache/oh-my-zsh"; - type = lib.types.str; - description = '' - Cache directory to be used by `oh-my-zsh`. - Without this option it would default to the read-only nix store. - ''; - }; - - preLoaded = lib.mkOption { - type = lib.types.lines; - default = ""; - description = '' - Shell commands executed before the `oh-my-zsh` is loaded. - For example, to disable async git prompt write `zstyle ':omz:alpha:lib:git' async-prompt no` (more information https://github.com/ohmyzsh/ohmyzsh?tab=readme-ov-file#async-git-prompt) - ''; - }; + customPkgs = lib.mkOption { + default = [ ]; + type = lib.types.listOf lib.types.package; + description = '' + List of custom packages that should be loaded into `oh-my-zsh`. + ''; + }; + + theme = lib.mkOption { + default = ""; + type = lib.types.str; + description = '' + Name of the theme to be used by oh-my-zsh. + ''; + }; + + cacheDir = lib.mkOption { + default = "$HOME/.cache/oh-my-zsh"; + type = lib.types.str; + description = '' + Cache directory to be used by `oh-my-zsh`. + Without this option it would default to the read-only nix store. + ''; + }; + + preLoaded = lib.mkOption { + type = lib.types.lines; + default = ""; + description = '' + Shell commands executed before the `oh-my-zsh` is loaded. + For example, to disable async git prompt write `zstyle ':omz:alpha:lib:git' async-prompt no` (more information https://github.com/ohmyzsh/ohmyzsh?tab=readme-ov-file#async-git-prompt) + ''; }; }; + }; - config = lib.mkIf cfg.enable { + config = lib.mkIf cfg.enable { - # Prevent zsh from overwriting oh-my-zsh's prompt - programs.zsh.promptInit = lib.mkDefault ""; + # Prevent zsh from overwriting oh-my-zsh's prompt + programs.zsh.promptInit = lib.mkDefault ""; - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ cfg.package ]; - programs.zsh.interactiveShellInit = '' - # oh-my-zsh configuration generated by NixOS - export ZSH=${cfg.package}/share/oh-my-zsh + programs.zsh.interactiveShellInit = '' + # oh-my-zsh configuration generated by NixOS + export ZSH=${cfg.package}/share/oh-my-zsh - ${lib.optionalString (builtins.length(cfg.plugins) > 0) - "plugins=(${builtins.concatStringsSep " " cfg.plugins})" - } + ${lib.optionalString ( + builtins.length (cfg.plugins) > 0 + ) "plugins=(${builtins.concatStringsSep " " cfg.plugins})"} - ${lib.optionalString (custom != null) - "ZSH_CUSTOM=\"${custom}\"" - } + ${lib.optionalString (custom != null) "ZSH_CUSTOM=\"${custom}\""} - ${lib.optionalString (builtins.stringLength(cfg.theme) > 0) - "ZSH_THEME=\"${cfg.theme}\"" - } + ${lib.optionalString (builtins.stringLength (cfg.theme) > 0) "ZSH_THEME=\"${cfg.theme}\""} - ${lib.optionalString (cfg.cacheDir != null) '' - if [[ ! -d "${cfg.cacheDir}" ]]; then - mkdir -p "${cfg.cacheDir}" - fi - ZSH_CACHE_DIR=${cfg.cacheDir} - ''} + ${lib.optionalString (cfg.cacheDir != null) '' + if [[ ! -d "${cfg.cacheDir}" ]]; then + mkdir -p "${cfg.cacheDir}" + fi + ZSH_CACHE_DIR=${cfg.cacheDir} + ''} - ${cfg.preLoaded} - source $ZSH/oh-my-zsh.sh - ''; + ${cfg.preLoaded} + source $ZSH/oh-my-zsh.sh + ''; - assertions = [ - { - assertion = cfg.custom != null -> cfg.customPkgs == []; - message = "If `cfg.custom` is set for `ZSH_CUSTOM`, `customPkgs` can't be used!"; - } - ]; + assertions = [ + { + assertion = cfg.custom != null -> cfg.customPkgs == [ ]; + message = "If `cfg.custom` is set for `ZSH_CUSTOM`, `customPkgs` can't be used!"; + } + ]; - }; + }; - meta.doc = ./oh-my-zsh.md; - } + meta.doc = ./oh-my-zsh.md; +} diff --git a/nixos/modules/programs/zsh/zsh-autoenv.nix b/nixos/modules/programs/zsh/zsh-autoenv.nix index 8e0c19f1afea0..7a5d20b92212b 100644 --- a/nixos/modules/programs/zsh/zsh-autoenv.nix +++ b/nixos/modules/programs/zsh/zsh-autoenv.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.zsh.zsh-autoenv; -in { +in +{ options = { programs.zsh.zsh-autoenv = { enable = lib.mkEnableOption "zsh-autoenv"; diff --git a/nixos/modules/programs/zsh/zsh-autosuggestions.nix b/nixos/modules/programs/zsh/zsh-autosuggestions.nix index e046c21025002..531a9bfadc902 100644 --- a/nixos/modules/programs/zsh/zsh-autosuggestions.nix +++ b/nixos/modules/programs/zsh/zsh-autosuggestions.nix @@ -1,11 +1,19 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.zsh.autosuggestions; in { imports = [ - (lib.mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ]) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "enableAutosuggestions" ] + [ "programs" "zsh" "autosuggestions" "enable" ] + ) ]; options.programs.zsh.autosuggestions = { @@ -20,7 +28,13 @@ in }; strategy = lib.mkOption { - type = lib.types.listOf (lib.types.enum [ "history" "completion" "match_prev_cmd" ]); + type = lib.types.listOf ( + lib.types.enum [ + "history" + "completion" + "match_prev_cmd" + ] + ); default = [ "history" ]; description = '' `ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated. @@ -44,7 +58,7 @@ in extraConfig = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; description = "Attribute set with additional configuration values"; example = lib.literalExpression '' { @@ -64,7 +78,9 @@ in export ZSH_AUTOSUGGEST_STRATEGY=(${builtins.concatStringsSep " " cfg.strategy}) ${lib.optionalString (!cfg.async) "unset ZSH_AUTOSUGGEST_USE_ASYNC"} - ${builtins.concatStringsSep "\n" (lib.mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)} + ${builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig + )} ''; }; diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix index 3f70c14048c75..07b4633bccd24 100644 --- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix +++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix @@ -1,14 +1,31 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.programs.zsh.syntaxHighlighting; in { imports = [ - (lib.mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ]) - (lib.mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ]) - (lib.mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ]) - (lib.mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ]) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "enableSyntaxHighlighting" ] + [ "programs" "zsh" "syntaxHighlighting" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "syntax-highlighting" "enable" ] + [ "programs" "zsh" "syntaxHighlighting" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "syntax-highlighting" "highlighters" ] + [ "programs" "zsh" "syntaxHighlighting" "highlighters" ] + ) + (lib.mkRenamedOptionModule + [ "programs" "zsh" "syntax-highlighting" "patterns" ] + [ "programs" "zsh" "syntaxHighlighting" "patterns" ] + ) ]; options = { @@ -19,15 +36,17 @@ in default = [ "main" ]; # https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md - type = lib.types.listOf(lib.types.enum([ - "main" - "brackets" - "pattern" - "cursor" - "regexp" - "root" - "line" - ])); + type = lib.types.listOf ( + lib.types.enum ([ + "main" + "brackets" + "pattern" + "cursor" + "regexp" + "root" + "line" + ]) + ); description = '' Specifies the highlighters to be used by zsh-syntax-highlighting. @@ -38,7 +57,7 @@ in }; patterns = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.str; example = lib.literalExpression '' @@ -55,7 +74,7 @@ in ''; }; styles = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.str; example = lib.literalExpression '' @@ -79,28 +98,31 @@ in assertions = [ { - assertion = builtins.length(builtins.attrNames cfg.patterns) > 0 -> builtins.elem "pattern" cfg.highlighters; + assertion = + builtins.length (builtins.attrNames cfg.patterns) > 0 -> builtins.elem "pattern" cfg.highlighters; message = '' When highlighting patterns, "pattern" needs to be included in the list of highlighters. ''; } ]; - programs.zsh.interactiveShellInit = - lib.mkAfter (lib.concatStringsSep "\n" ([ - "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" - ] ++ lib.optional (builtins.length(cfg.highlighters) > 0) - "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${builtins.concatStringsSep " " cfg.highlighters})" - ++ lib.optionals (builtins.length(builtins.attrNames cfg.patterns) > 0) - (lib.mapAttrsToList ( - pattern: design: - "ZSH_HIGHLIGHT_PATTERNS+=('${pattern}' '${design}')" - ) cfg.patterns) - ++ lib.optionals (builtins.length(builtins.attrNames cfg.styles) > 0) - (lib.mapAttrsToList ( - styles: design: - "ZSH_HIGHLIGHT_STYLES[${styles}]='${design}'" - ) cfg.styles) - )); + programs.zsh.interactiveShellInit = lib.mkAfter ( + lib.concatStringsSep "\n" ( + [ + "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" + ] + ++ lib.optional ( + builtins.length (cfg.highlighters) > 0 + ) "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${builtins.concatStringsSep " " cfg.highlighters})" + ++ lib.optionals (builtins.length (builtins.attrNames cfg.patterns) > 0) ( + lib.mapAttrsToList ( + pattern: design: "ZSH_HIGHLIGHT_PATTERNS+=('${pattern}' '${design}')" + ) cfg.patterns + ) + ++ lib.optionals (builtins.length (builtins.attrNames cfg.styles) > 0) ( + lib.mapAttrsToList (styles: design: "ZSH_HIGHLIGHT_STYLES[${styles}]='${design}'") cfg.styles + ) + ) + ); }; } diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index e932353f89718..ec22be89f1921 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -3,16 +3,17 @@ let inherit (lib) mkAliasOptionModuleMD - mkRemovedOptionModule; + mkRemovedOptionModule + ; in { imports = [ /* - This file defines some renaming/removing options for backwards compatibility + This file defines some renaming/removing options for backwards compatibility - It should ONLY be used when the relevant module can't define these imports - itself, such as when the module was removed completely. - See https://github.com/NixOS/nixpkgs/pull/61570 for explanation + It should ONLY be used when the relevant module can't define these imports + itself, such as when the module was removed completely. + See https://github.com/NixOS/nixpkgs/pull/61570 for explanation */ # This alias module can't be where _module.check is defined because it would @@ -20,13 +21,19 @@ in (mkAliasOptionModuleMD [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]) # Completely removed modules - (mkRemovedOptionModule [ "boot" "loader" "raspberryPi" ] "The raspberryPi boot loader has been removed. See https://github.com/NixOS/nixpkgs/pull/241534 for what to use instead.") + (mkRemovedOptionModule [ "boot" "loader" "raspberryPi" ] + "The raspberryPi boot loader has been removed. See https://github.com/NixOS/nixpkgs/pull/241534 for what to use instead." + ) (mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed") (mkRemovedOptionModule [ "environment" "noXlibs" ] '' The environment.noXlibs option was removed, as it often caused surprising breakages for new users. If you need its functionality, you can apply similar overlays in your own config. '') - (mkRemovedOptionModule [ "fonts" "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.") + (mkRemovedOptionModule [ + "fonts" + "fontconfig" + "penultimate" + ] "The corresponding package has removed from nixpkgs.") (mkRemovedOptionModule [ "hardware" "brightnessctl" ] '' The brightnessctl module was removed because newer versions of brightnessctl don't require the udev rules anymore (they can use the @@ -47,30 +54,64 @@ in the project and users are urged to switch to xone. '') (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.") - (mkRemovedOptionModule [ "networking" "wicd" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "programs" "gnome-documents" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "networking" + "wicd" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "programs" + "gnome-documents" + ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "programs" "pantheon-tweaks" ] '' pantheon-tweaks is no longer a switchboard plugin but an independent app, adding the package to environment.systemPackages is sufficient. '') (mkRemovedOptionModule [ "programs" "tilp2" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " + - "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html")) + (mkRemovedOptionModule [ "programs" "way-cooler" ] ( + "way-cooler is abandoned by its author: " + + "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html" + )) (mkRemovedOptionModule [ "security" "hideProcessInformation" ] '' The hidepid module was removed, since the underlying machinery is broken when using cgroups-v2. '') - (mkRemovedOptionModule [ "services" "antennas" ] "The antennas package and the corresponding module have been removed as they only work with tvheadend, which nobody was willing to maintain and was stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version.") - (mkRemovedOptionModule [ "services" "ankisyncd" ] "`services.ankisyncd` has been replaced by `services.anki-sync-server`.") - (mkRemovedOptionModule [ "services" "baget" "enable" ] "The baget module was removed due to the upstream package being unmaintained.") + (mkRemovedOptionModule [ "services" "antennas" ] + "The antennas package and the corresponding module have been removed as they only work with tvheadend, which nobody was willing to maintain and was stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version." + ) + (mkRemovedOptionModule [ + "services" + "ankisyncd" + ] "`services.ankisyncd` has been replaced by `services.anki-sync-server`.") + (mkRemovedOptionModule [ + "services" + "baget" + "enable" + ] "The baget module was removed due to the upstream package being unmaintained.") (mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed") (mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed") - (mkRemovedOptionModule [ "services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "confluence" ] "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements") - (mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "crowd" ] "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements") - (mkRemovedOptionModule [ "services" "dd-agent" ] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.") + (mkRemovedOptionModule [ + "services" + "cgmanager" + "enable" + ] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "chronos" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ "services" "confluence" ] + "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements" + ) + (mkRemovedOptionModule [ + "services" + "couchpotato" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ "services" "crowd" ] + "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements" + ) + (mkRemovedOptionModule [ + "services" + "dd-agent" + ] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.") (mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead") (mkRemovedOptionModule [ "services" "dnscrypt-wrapper" ] '' The dnscrypt-wrapper module was removed since the project has been effectively unmaintained since 2018; @@ -78,27 +119,65 @@ in To wrap a resolver with DNSCrypt you can instead use dnsdist. See options `services.dnsdist.dnscrypt.*` '') - (mkRemovedOptionModule [ "services" "exhibitor" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.") + (mkRemovedOptionModule [ + "services" + "exhibitor" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "firefox" + "syncserver" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "flashpolicyd" + ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.") (mkRemovedOptionModule [ "services" "fourStore" ] "The fourStore module has been removed") - (mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed") + (mkRemovedOptionModule [ + "services" + "fourStoreEndpoint" + ] "The fourStoreEndpoint module has been removed") (mkRemovedOptionModule [ "services" "fprot" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed") - (mkRemovedOptionModule [ "services" "homeassistant-satellite"] "The `services.homeassistant-satellite` module has been replaced by `services.wyoming-satellite`.") - (mkRemovedOptionModule [ "services" "hydron" ] "The `services.hydron` module has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability.") - (mkRemovedOptionModule [ "services" "ihatemoney" ] "The ihatemoney module has been removed for lack of downstream maintainer") - (mkRemovedOptionModule [ "services" "jira" ] "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements") + (mkRemovedOptionModule [ "services" "homeassistant-satellite" ] + "The `services.homeassistant-satellite` module has been replaced by `services.wyoming-satellite`." + ) + (mkRemovedOptionModule [ "services" "hydron" ] + "The `services.hydron` module has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability." + ) + (mkRemovedOptionModule [ + "services" + "ihatemoney" + ] "The ihatemoney module has been removed for lack of downstream maintainer") + (mkRemovedOptionModule [ "services" "jira" ] + "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements" + ) (mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "lshd" ] "The corresponding package was removed from nixpkgs as it had no maintainer in Nixpkgs and hasn't seen an upstream release in over a decades.") - (mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ "services" "lshd" ] + "The corresponding package was removed from nixpkgs as it had no maintainer in Nixpkgs and hasn't seen an upstream release in over a decades." + ) + (mkRemovedOptionModule [ + "services" + "mailpile" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "marathon" + ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "mathics" ] "The Mathics module has been removed") - (mkRemovedOptionModule [ "services" "matrix-sliding-sync" ] "The matrix-sliding-sync package has been removed, since matrix-synapse incorporated its functionality. Remove `services.sliding-sync` from your NixOS Configuration, and the `.well-known` record for `org.matrix.msc3575.proxy` from your webserver") + (mkRemovedOptionModule [ "services" "matrix-sliding-sync" ] + "The matrix-sliding-sync package has been removed, since matrix-synapse incorporated its functionality. Remove `services.sliding-sync` from your NixOS Configuration, and the `.well-known` record for `org.matrix.msc3575.proxy` from your webserver" + ) (mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs") (mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "mxisd" ] "The mxisd module has been removed as both mxisd and ma1sd got removed.") - (mkRemovedOptionModule [ "services" "moinmoin" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "mxisd" + ] "The mxisd module has been removed as both mxisd and ma1sd got removed.") + (mkRemovedOptionModule [ + "services" + "moinmoin" + ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "mwlib" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "pantheon" "files" ] '' This module was removed, please add pkgs.pantheon.elementary-files to environment.systemPackages directly. @@ -106,21 +185,42 @@ in (mkRemovedOptionModule [ "services" "prey" ] '' prey-bash-client is deprecated upstream '') - (mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs") - (mkRemovedOptionModule [ "services" "railcar" ] "the corresponding package has been removed from nixpkgs") - (mkRemovedOptionModule [ "services" "replay-sorcery" ] "the corresponding package has been removed from nixpkgs as it is unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead.") + (mkRemovedOptionModule [ + "services" + "quagga" + ] "the corresponding package has been removed from nixpkgs") + (mkRemovedOptionModule [ + "services" + "railcar" + ] "the corresponding package has been removed from nixpkgs") + (mkRemovedOptionModule [ "services" "replay-sorcery" ] + "the corresponding package has been removed from nixpkgs as it is unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead." + ) (mkRemovedOptionModule [ "services" "seeks" ] "") - (mkRemovedOptionModule [ "services" "shout" ] "shout was removed because it was deprecated upstream in favor of thelounge.") + (mkRemovedOptionModule [ + "services" + "shout" + ] "shout was removed because it was deprecated upstream in favor of thelounge.") (mkRemovedOptionModule [ "services" "ssmtp" ] '' The ssmtp package and the corresponding module have been removed due to the program being unmaintained. The options `programs.msmtp.*` can be used instead. '') - (mkRemovedOptionModule [ "services" "tvheadend" ] "The tvheadend package and the corresponding module have been removed as nobody was willing to maintain them and they were stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version.") - (mkRemovedOptionModule [ "services" "unifi-video" ] "The unifi-video package and the corresponding module have been removed as the software has been unsupported since 2021 and requires a MongoDB version that has reached end of life.") + (mkRemovedOptionModule [ "services" "tvheadend" ] + "The tvheadend package and the corresponding module have been removed as nobody was willing to maintain them and they were stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version." + ) + (mkRemovedOptionModule [ "services" "unifi-video" ] + "The unifi-video package and the corresponding module have been removed as the software has been unsupported since 2021 and requires a MongoDB version that has reached end of life." + ) (mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces..wakeOnLan") - (mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "wakeonlan" + ] "This module was removed in favor of enabling it with networking.interfaces..wakeOnLan") + (mkRemovedOptionModule [ + "services" + "winstone" + ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "xserver" "displayManager" "auto" ] '' The services.xserver.displayManager.auto module has been removed because it was only intended for use in internal NixOS tests, and gave the @@ -133,21 +233,51 @@ in as the underlying package isn't being maintained. Working alternatives are libinput and synaptics. '') - (mkRemovedOptionModule [ "services" "xmr-stak" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "virtualisation" "rkt" ] "The rkt module has been removed, it was archived by upstream") + (mkRemovedOptionModule [ + "services" + "xmr-stak" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "virtualisation" + "rkt" + ] "The rkt module has been removed, it was archived by upstream") (mkRemovedOptionModule [ "services" "racoon" ] '' The racoon module has been removed, because the software project was abandoned upstream. '') - (mkRemovedOptionModule [ "services" "shellinabox" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "virtuoso" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "openfire" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "shellinabox" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "gogoclient" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "virtuoso" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "openfire" + ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "riak" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "rtsp-simple-server" ] "Package has been completely rebranded by upstream as mediamtx, and thus the service and the package were renamed in NixOS as well.") - (mkRemovedOptionModule [ "services" "prayer" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "services" "restya-board" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ "services" "rtsp-simple-server" ] + "Package has been completely rebranded by upstream as mediamtx, and thus the service and the package were renamed in NixOS as well." + ) + (mkRemovedOptionModule [ + "services" + "prayer" + ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ + "services" + "restya-board" + ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "i18n" "inputMethod" "fcitx" ] "The fcitx module has been removed. Please use fcitx5 instead") + (mkRemovedOptionModule [ + "i18n" + "inputMethod" + "fcitx" + ] "The fcitx module has been removed. Please use fcitx5 instead") (mkRemovedOptionModule [ "services" "dhcpd4" ] '' The dhcpd4 module has been removed because ISC DHCP reached its end of life. See https://www.isc.org/blogs/isc-dhcp-eol/ for details. diff --git a/nixos/modules/security/apparmor/includes.nix b/nixos/modules/security/apparmor/includes.nix index 88051de484c50..ddf6f3a1a7782 100644 --- a/nixos/modules/security/apparmor/includes.nix +++ b/nixos/modules/security/apparmor/includes.nix @@ -1,322 +1,556 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (builtins) attrNames hasAttr isAttrs; inherit (lib) getLib; inherit (config.environment) etc; # Utility to generate an AppArmor rule # only when the given path exists in config.environment.etc - etcRule = arg: - let go = { path ? null, mode ? "r", trail ? "" }: - lib.optionalString (hasAttr path etc) - "${mode} ${config.environment.etc.${path}.source}${trail},"; - in if isAttrs arg - then go arg - else go { path = arg; }; + etcRule = + arg: + let + go = + { + path ? null, + mode ? "r", + trail ? "", + }: + lib.optionalString (hasAttr path etc) "${mode} ${config.environment.etc.${path}.source}${trail},"; + in + if isAttrs arg then go arg else go { path = arg; }; in { -# FIXME: most of the etcRule calls below have been -# written systematically by converting from apparmor-profiles's profiles -# without testing nor deep understanding of their uses, -# and thus may need more rules or can have less rules; -# this remains to be determined case by case, -# some may even be completely useless. -config.security.apparmor.includes = { - # This one is included by - # which is usually included before any profile. - "abstractions/tunables/alias" = '' - alias /bin -> /run/current-system/sw/bin, - alias /lib/modules -> /run/current-system/kernel/lib/modules, - alias /sbin -> /run/current-system/sw/sbin, - alias /usr -> /run/current-system/sw, - ''; - "abstractions/audio" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/audio" - '' + lib.concatMapStringsSep "\n" etcRule [ - "asound.conf" - "esound/esd.conf" - "libao.conf" - { path = "pulse"; trail = "/"; } - { path = "pulse"; trail = "/**"; } - { path = "sound"; trail = "/"; } - { path = "sound"; trail = "/**"; } - { path = "alsa/conf.d"; trail = "/"; } - { path = "alsa/conf.d"; trail = "/*"; } - "openal/alsoft.conf" - "wildmidi/wildmidi.conf" - ]; - "abstractions/authentication" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/authentication" - # Defined in security.pam - include - '' + lib.concatMapStringsSep "\n" etcRule [ - "nologin" - "securetty" - { path = "security"; trail = "/*"; } - "shadow" - "gshadow" - "pwdb.conf" - "default/passwd" - "login.defs" - ]; - "abstractions/base" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/base" - r ${pkgs.stdenv.cc.libc}/share/locale/**, - r ${pkgs.stdenv.cc.libc}/share/locale.alias, - r ${config.i18n.glibcLocales}/lib/locale/locale-archive, - ${etcRule "localtime"} - r ${pkgs.tzdata}/share/zoneinfo/**, - r ${pkgs.stdenv.cc.libc}/share/i18n/**, - ''; - "abstractions/bash" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/bash" + # FIXME: most of the etcRule calls below have been + # written systematically by converting from apparmor-profiles's profiles + # without testing nor deep understanding of their uses, + # and thus may need more rules or can have less rules; + # this remains to be determined case by case, + # some may even be completely useless. + config.security.apparmor.includes = { + # This one is included by + # which is usually included before any profile. + "abstractions/tunables/alias" = '' + alias /bin -> /run/current-system/sw/bin, + alias /lib/modules -> /run/current-system/kernel/lib/modules, + alias /sbin -> /run/current-system/sw/sbin, + alias /usr -> /run/current-system/sw, + ''; + "abstractions/audio" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/audio" + '' + + lib.concatMapStringsSep "\n" etcRule [ + "asound.conf" + "esound/esd.conf" + "libao.conf" + { + path = "pulse"; + trail = "/"; + } + { + path = "pulse"; + trail = "/**"; + } + { + path = "sound"; + trail = "/"; + } + { + path = "sound"; + trail = "/**"; + } + { + path = "alsa/conf.d"; + trail = "/"; + } + { + path = "alsa/conf.d"; + trail = "/*"; + } + "openal/alsoft.conf" + "wildmidi/wildmidi.conf" + ]; + "abstractions/authentication" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/authentication" + # Defined in security.pam + include + '' + + lib.concatMapStringsSep "\n" etcRule [ + "nologin" + "securetty" + { + path = "security"; + trail = "/*"; + } + "shadow" + "gshadow" + "pwdb.conf" + "default/passwd" + "login.defs" + ]; + "abstractions/base" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/base" + r ${pkgs.stdenv.cc.libc}/share/locale/**, + r ${pkgs.stdenv.cc.libc}/share/locale.alias, + r ${config.i18n.glibcLocales}/lib/locale/locale-archive, + ${etcRule "localtime"} + r ${pkgs.tzdata}/share/zoneinfo/**, + r ${pkgs.stdenv.cc.libc}/share/i18n/**, + ''; + "abstractions/bash" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/bash" - # bash inspects filesystems at startup - # and /etc/mtab is linked to /proc/mounts - r @{PROC}/mounts, + # bash inspects filesystems at startup + # and /etc/mtab is linked to /proc/mounts + r @{PROC}/mounts, - # system-wide bash configuration - '' + lib.concatMapStringsSep "\n" etcRule [ - "profile.dos" - "profile" - "profile.d" - { path = "profile.d"; trail = "/*"; } - "bashrc" - "bash.bashrc" - "bash.bashrc.local" - "bash_completion" - "bash_completion.d" - { path = "bash_completion.d"; trail = "/*"; } - # bash relies on system-wide readline configuration - "inputrc" - # run out of /etc/bash.bashrc - "DIR_COLORS" - ]; - "abstractions/consoles" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/consoles" - ''; - "abstractions/cups-client" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/cups-client" - ${etcRule "cups/cups-client.conf"} - ''; - "abstractions/dbus-session-strict" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/dbus-session-strict" - ${etcRule "machine-id"} - ''; - "abstractions/dconf" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/dconf" - ${etcRule { path = "dconf"; trail = "/**"; }} - ''; - "abstractions/dri-common" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/dri-common" - ${etcRule "drirc"} - ''; - # The config.fonts.fontconfig NixOS module adds many files to /etc/fonts/ - # by symlinking them but without exporting them outside of its NixOS module, - # those are therefore added there to this "abstractions/fonts". - "abstractions/fonts" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/fonts" - ${etcRule { path = "fonts"; trail = "/**"; }} - ''; - "abstractions/gnome" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/gnome" - include - '' + lib.concatMapStringsSep "\n" etcRule [ - { path = "gnome"; trail = "/gtkrc*"; } - { path = "gtk"; trail = "/*"; } - { path = "gtk-2.0"; trail = "/*"; } - { path = "gtk-3.0"; trail = "/*"; } - "orbitrc" - { path = "pango"; trail = "/*"; } - { path = "/etc/gnome-vfs-2.0"; trail = "/modules/"; } - { path = "/etc/gnome-vfs-2.0"; trail = "/modules/*"; } - "papersize" - { path = "cups"; trail = "/lpoptions"; } - { path = "gnome"; trail = "/defaults.list"; } - { path = "xdg"; trail = "/{,*-}mimeapps.list"; } - "xdg/mimeapps.list" - ]; - "abstractions/kde" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/kde" - '' + lib.concatMapStringsSep "\n" etcRule [ - { path = "qt3"; trail = "/kstylerc"; } - { path = "qt3"; trail = "/qt_plugins_3.3rc"; } - { path = "qt3"; trail = "/qtrc"; } - "kderc" - { path = "kde3"; trail = "/*"; } - "kde4rc" - { path = "xdg"; trail = "/kdeglobals"; } - { path = "xdg"; trail = "/Trolltech.conf"; } - ]; - "abstractions/kerberosclient" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/kerberosclient" - '' + lib.concatMapStringsSep "\n" etcRule [ - { path = "krb5.keytab"; mode="rk"; } - "krb5.conf" - "krb5.conf.d" - { path = "krb5.conf.d"; trail = "/*"; } + # system-wide bash configuration + '' + + lib.concatMapStringsSep "\n" etcRule [ + "profile.dos" + "profile" + "profile.d" + { + path = "profile.d"; + trail = "/*"; + } + "bashrc" + "bash.bashrc" + "bash.bashrc.local" + "bash_completion" + "bash_completion.d" + { + path = "bash_completion.d"; + trail = "/*"; + } + # bash relies on system-wide readline configuration + "inputrc" + # run out of /etc/bash.bashrc + "DIR_COLORS" + ]; + "abstractions/consoles" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/consoles" + ''; + "abstractions/cups-client" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/cups-client" + ${etcRule "cups/cups-client.conf"} + ''; + "abstractions/dbus-session-strict" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/dbus-session-strict" + ${etcRule "machine-id"} + ''; + "abstractions/dconf" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/dconf" + ${etcRule { + path = "dconf"; + trail = "/**"; + }} + ''; + "abstractions/dri-common" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/dri-common" + ${etcRule "drirc"} + ''; + # The config.fonts.fontconfig NixOS module adds many files to /etc/fonts/ + # by symlinking them but without exporting them outside of its NixOS module, + # those are therefore added there to this "abstractions/fonts". + "abstractions/fonts" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/fonts" + ${etcRule { + path = "fonts"; + trail = "/**"; + }} + ''; + "abstractions/gnome" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/gnome" + include + '' + + lib.concatMapStringsSep "\n" etcRule [ + { + path = "gnome"; + trail = "/gtkrc*"; + } + { + path = "gtk"; + trail = "/*"; + } + { + path = "gtk-2.0"; + trail = "/*"; + } + { + path = "gtk-3.0"; + trail = "/*"; + } + "orbitrc" + { + path = "pango"; + trail = "/*"; + } + { + path = "/etc/gnome-vfs-2.0"; + trail = "/modules/"; + } + { + path = "/etc/gnome-vfs-2.0"; + trail = "/modules/*"; + } + "papersize" + { + path = "cups"; + trail = "/lpoptions"; + } + { + path = "gnome"; + trail = "/defaults.list"; + } + { + path = "xdg"; + trail = "/{,*-}mimeapps.list"; + } + "xdg/mimeapps.list" + ]; + "abstractions/kde" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/kde" + '' + + lib.concatMapStringsSep "\n" etcRule [ + { + path = "qt3"; + trail = "/kstylerc"; + } + { + path = "qt3"; + trail = "/qt_plugins_3.3rc"; + } + { + path = "qt3"; + trail = "/qtrc"; + } + "kderc" + { + path = "kde3"; + trail = "/*"; + } + "kde4rc" + { + path = "xdg"; + trail = "/kdeglobals"; + } + { + path = "xdg"; + trail = "/Trolltech.conf"; + } + ]; + "abstractions/kerberosclient" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/kerberosclient" + '' + + lib.concatMapStringsSep "\n" etcRule [ + { + path = "krb5.keytab"; + mode = "rk"; + } + "krb5.conf" + "krb5.conf.d" + { + path = "krb5.conf.d"; + trail = "/*"; + } - # config files found via strings on libs - "krb.conf" - "krb.realms" - "srvtab" - ]; - "abstractions/ldapclient" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/ldapclient" - '' + lib.concatMapStringsSep "\n" etcRule [ - "ldap.conf" - "ldap.secret" - { path = "openldap"; trail = "/*"; } - { path = "openldap"; trail = "/cacerts/*"; } - { path = "sasl2"; trail = "/*"; } - ]; - "abstractions/likewise" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/likewise" - ''; - "abstractions/mdns" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/mdns" - ${etcRule "nss_mdns.conf"} - ''; - "abstractions/nameservice" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nameservice" + # config files found via strings on libs + "krb.conf" + "krb.realms" + "srvtab" + ]; + "abstractions/ldapclient" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/ldapclient" + '' + + lib.concatMapStringsSep "\n" etcRule [ + "ldap.conf" + "ldap.secret" + { + path = "openldap"; + trail = "/*"; + } + { + path = "openldap"; + trail = "/cacerts/*"; + } + { + path = "sasl2"; + trail = "/*"; + } + ]; + "abstractions/likewise" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/likewise" + ''; + "abstractions/mdns" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/mdns" + ${etcRule "nss_mdns.conf"} + ''; + "abstractions/nameservice" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nameservice" - # Many programs wish to perform nameservice-like operations, such as - # looking up users by name or id, groups by name or id, hosts by name - # or IP, etc. These operations may be performed through files, dns, - # NIS, NIS+, LDAP, hesiod, wins, etc. Allow them all here. - mr ${getLib pkgs.nss}/lib/libnss_*.so*, - mr ${getLib pkgs.nss}/lib64/libnss_*.so*, - '' + lib.concatMapStringsSep "\n" etcRule [ - "group" - "host.conf" - "hosts" - "nsswitch.conf" - "gai.conf" - "passwd" - "protocols" + # Many programs wish to perform nameservice-like operations, such as + # looking up users by name or id, groups by name or id, hosts by name + # or IP, etc. These operations may be performed through files, dns, + # NIS, NIS+, LDAP, hesiod, wins, etc. Allow them all here. + mr ${getLib pkgs.nss}/lib/libnss_*.so*, + mr ${getLib pkgs.nss}/lib64/libnss_*.so*, + '' + + lib.concatMapStringsSep "\n" etcRule [ + "group" + "host.conf" + "hosts" + "nsswitch.conf" + "gai.conf" + "passwd" + "protocols" - # libtirpc (used for NIS/YP login) needs this - "netconfig" + # libtirpc (used for NIS/YP login) needs this + "netconfig" - "resolv.conf" + "resolv.conf" - { path = "samba"; trail = "/lmhosts"; } - "services" + { + path = "samba"; + trail = "/lmhosts"; + } + "services" - "default/nss" + "default/nss" - # libnl-3-200 via libnss-gw-name - { path = "libnl"; trail = "/classid"; } - { path = "libnl-3"; trail = "/classid"; } - ]; - "abstractions/nis" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nis" - ''; - "abstractions/nss-systemd" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nss-systemd" - ''; - "abstractions/nvidia" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nvidia" - ${etcRule "vdpau_wrapper.cfg"} - ''; - "abstractions/opencl-common" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/opencl-common" - ${etcRule { path = "OpenCL"; trail = "/**"; }} - ''; - "abstractions/opencl-mesa" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/opencl-mesa" - ${etcRule "default/drirc"} - ''; - "abstractions/openssl" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/openssl" - ${etcRule { path = "ssl"; trail = "/openssl.cnf"; }} - ''; - "abstractions/p11-kit" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/p11-kit" - '' + lib.concatMapStringsSep "\n" etcRule [ - { path = "pkcs11"; trail = "/"; } - { path = "pkcs11"; trail = "/pkcs11.conf"; } - { path = "pkcs11"; trail = "/modules/"; } - { path = "pkcs11"; trail = "/modules/*"; } - ]; - "abstractions/perl" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/perl" - ${etcRule { path = "perl"; trail = "/**"; }} - ''; - "abstractions/php" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/php" - '' + lib.concatMapStringsSep "\n" etcRule [ - { path = "php"; trail = "/**/"; } - { path = "php5"; trail = "/**/"; } - { path = "php7"; trail = "/**/"; } - { path = "php"; trail = "/**.ini"; } - { path = "php5"; trail = "/**.ini"; } - { path = "php7"; trail = "/**.ini"; } - ]; - "abstractions/postfix-common" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/postfix-common" - '' + lib.concatMapStringsSep "\n" etcRule [ - "mailname" - { path = "postfix"; trail = "/*.cf"; } - "postfix/main.cf" - "postfix/master.cf" - ]; - "abstractions/python" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/python" - ''; - "abstractions/qt5" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/qt5" - '' + lib.concatMapStringsSep "\n" etcRule [ - { path = "xdg"; trail = "/QtProject/qtlogging.ini"; } - { path = "xdg/QtProject"; trail = "/qtlogging.ini"; } - "xdg/QtProject/qtlogging.ini" - ]; - "abstractions/samba" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/samba" - ${etcRule { path = "samba"; trail = "/*"; }} - ''; - "abstractions/ssl_certs" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/ssl_certs" + # libnl-3-200 via libnss-gw-name + { + path = "libnl"; + trail = "/classid"; + } + { + path = "libnl-3"; + trail = "/classid"; + } + ]; + "abstractions/nis" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nis" + ''; + "abstractions/nss-systemd" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nss-systemd" + ''; + "abstractions/nvidia" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/nvidia" + ${etcRule "vdpau_wrapper.cfg"} + ''; + "abstractions/opencl-common" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/opencl-common" + ${etcRule { + path = "OpenCL"; + trail = "/**"; + }} + ''; + "abstractions/opencl-mesa" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/opencl-mesa" + ${etcRule "default/drirc"} + ''; + "abstractions/openssl" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/openssl" + ${etcRule { + path = "ssl"; + trail = "/openssl.cnf"; + }} + ''; + "abstractions/p11-kit" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/p11-kit" + '' + + lib.concatMapStringsSep "\n" etcRule [ + { + path = "pkcs11"; + trail = "/"; + } + { + path = "pkcs11"; + trail = "/pkcs11.conf"; + } + { + path = "pkcs11"; + trail = "/modules/"; + } + { + path = "pkcs11"; + trail = "/modules/*"; + } + ]; + "abstractions/perl" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/perl" + ${etcRule { + path = "perl"; + trail = "/**"; + }} + ''; + "abstractions/php" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/php" + '' + + lib.concatMapStringsSep "\n" etcRule [ + { + path = "php"; + trail = "/**/"; + } + { + path = "php5"; + trail = "/**/"; + } + { + path = "php7"; + trail = "/**/"; + } + { + path = "php"; + trail = "/**.ini"; + } + { + path = "php5"; + trail = "/**.ini"; + } + { + path = "php7"; + trail = "/**.ini"; + } + ]; + "abstractions/postfix-common" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/postfix-common" + '' + + lib.concatMapStringsSep "\n" etcRule [ + "mailname" + { + path = "postfix"; + trail = "/*.cf"; + } + "postfix/main.cf" + "postfix/master.cf" + ]; + "abstractions/python" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/python" + ''; + "abstractions/qt5" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/qt5" + '' + + lib.concatMapStringsSep "\n" etcRule [ + { + path = "xdg"; + trail = "/QtProject/qtlogging.ini"; + } + { + path = "xdg/QtProject"; + trail = "/qtlogging.ini"; + } + "xdg/QtProject/qtlogging.ini" + ]; + "abstractions/samba" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/samba" + ${etcRule { + path = "samba"; + trail = "/*"; + }} + ''; + "abstractions/ssl_certs" = + '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/ssl_certs" - # For the NixOS module: security.acme - r /var/lib/acme/*/cert.pem, - r /var/lib/acme/*/chain.pem, - r /var/lib/acme/*/fullchain.pem, + # For the NixOS module: security.acme + r /var/lib/acme/*/cert.pem, + r /var/lib/acme/*/chain.pem, + r /var/lib/acme/*/fullchain.pem, - r /etc/pki/tls/certs/, + r /etc/pki/tls/certs/, - '' + lib.concatMapStringsSep "\n" etcRule [ - "ssl/certs/ca-certificates.crt" - "ssl/certs/ca-bundle.crt" - "pki/tls/certs/ca-bundle.crt" + '' + + lib.concatMapStringsSep "\n" etcRule [ + "ssl/certs/ca-certificates.crt" + "ssl/certs/ca-bundle.crt" + "pki/tls/certs/ca-bundle.crt" - { path = "ssl/trust"; trail = "/"; } - { path = "ssl/trust"; trail = "/*"; } - { path = "ssl/trust/anchors"; trail = "/"; } - { path = "ssl/trust/anchors"; trail = "/**"; } - { path = "pki/trust"; trail = "/"; } - { path = "pki/trust"; trail = "/*"; } - { path = "pki/trust/anchors"; trail = "/"; } - { path = "pki/trust/anchors"; trail = "/**"; } - ]; - "abstractions/ssl_keys" = '' - # security.acme NixOS module - r /var/lib/acme/*/full.pem, - r /var/lib/acme/*/key.pem, - ''; - "abstractions/vulkan" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/vulkan" - ${etcRule { path = "vulkan/icd.d"; trail = "/"; }} - ${etcRule { path = "vulkan/icd.d"; trail = "/*.json"; }} - ''; - "abstractions/winbind" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/winbind" - ${etcRule { path = "samba"; trail = "/smb.conf"; }} - ${etcRule { path = "samba"; trail = "/dhcp.conf"; }} - ''; - "abstractions/X" = '' - include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/X" - ${etcRule { path = "X11/cursors"; trail = "/"; }} - ${etcRule { path = "X11/cursors"; trail = "/**"; }} - ''; -}; + { + path = "ssl/trust"; + trail = "/"; + } + { + path = "ssl/trust"; + trail = "/*"; + } + { + path = "ssl/trust/anchors"; + trail = "/"; + } + { + path = "ssl/trust/anchors"; + trail = "/**"; + } + { + path = "pki/trust"; + trail = "/"; + } + { + path = "pki/trust"; + trail = "/*"; + } + { + path = "pki/trust/anchors"; + trail = "/"; + } + { + path = "pki/trust/anchors"; + trail = "/**"; + } + ]; + "abstractions/ssl_keys" = '' + # security.acme NixOS module + r /var/lib/acme/*/full.pem, + r /var/lib/acme/*/key.pem, + ''; + "abstractions/vulkan" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/vulkan" + ${etcRule { + path = "vulkan/icd.d"; + trail = "/"; + }} + ${etcRule { + path = "vulkan/icd.d"; + trail = "/*.json"; + }} + ''; + "abstractions/winbind" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/winbind" + ${etcRule { + path = "samba"; + trail = "/smb.conf"; + }} + ${etcRule { + path = "samba"; + trail = "/dhcp.conf"; + }} + ''; + "abstractions/X" = '' + include "${pkgs.apparmor-profiles}/etc/apparmor.d/abstractions/X" + ${etcRule { + path = "X11/cursors"; + trail = "/"; + }} + ${etcRule { + path = "X11/cursors"; + trail = "/**"; + }} + ''; + }; } diff --git a/nixos/modules/security/apparmor/profiles.nix b/nixos/modules/security/apparmor/profiles.nix index 46af0f15f761b..8df70dfaa456f 100644 --- a/nixos/modules/security/apparmor/profiles.nix +++ b/nixos/modules/security/apparmor/profiles.nix @@ -1,5 +1,7 @@ { config, pkgs, ... }: -let apparmor = config.security.apparmor; in +let + apparmor = config.security.apparmor; +in { -config.security.apparmor.packages = [ pkgs.apparmor-profiles ]; + config.security.apparmor.packages = [ pkgs.apparmor-profiles ]; } diff --git a/nixos/modules/security/audit.nix b/nixos/modules/security/audit.nix index f7dde61f8d4b8..16d750c8fbed4 100644 --- a/nixos/modules/security/audit.nix +++ b/nixos/modules/security/audit.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.audit; enabled = cfg.enable == "lock" || cfg.enable; @@ -6,7 +11,7 @@ let failureModes = { silent = 0; printk = 1; - panic = 2; + panic = 2; }; disableScript = pkgs.writeScript "audit-disable" '' @@ -47,12 +52,17 @@ let # Disable auditing auditctl -e 0 ''; -in { +in +{ options = { security.audit = { enable = lib.mkOption { - type = lib.types.enum [ false true "lock" ]; - default = false; + type = lib.types.enum [ + false + true + "lock" + ]; + default = false; description = '' Whether to enable the Linux audit system. The special `lock` value can be used to enable auditing and prevent disabling it until a restart. Be careful about locking @@ -62,14 +72,18 @@ in { }; failureMode = lib.mkOption { - type = lib.types.enum [ "silent" "printk" "panic" ]; - default = "printk"; + type = lib.types.enum [ + "silent" + "printk" + "panic" + ]; + default = "printk"; description = "How to handle critical errors in the auditing system"; }; backlogLimit = lib.mkOption { - type = lib.types.int; - default = 64; # Apparently the kernel default + type = lib.types.int; + default = 64; # Apparently the kernel default description = '' The maximum number of outstanding audit buffers allowed; exceeding this is considered a failure and handled in a manner specified by failureMode. @@ -77,8 +91,8 @@ in { }; rateLimit = lib.mkOption { - type = lib.types.int; - default = 0; + type = lib.types.int; + default = 0; description = '' The maximum messages per second permitted before triggering a failure as specified by failureMode. Setting it to zero disables the limit. @@ -86,9 +100,9 @@ in { }; rules = lib.mkOption { - type = lib.types.listOf lib.types.str; # (types.either types.str (types.submodule rule)); - default = []; - example = [ "-a exit,always -F arch=b64 -S execve" ]; + type = lib.types.listOf lib.types.str; # (types.either types.str (types.submodule rule)); + default = [ ]; + example = [ "-a exit,always -F arch=b64 -S execve" ]; description = '' The ordered audit rules, with each string appearing as one line of the audit.rules file. ''; @@ -106,14 +120,13 @@ in { ConditionSecurity = [ "audit" ]; }; - path = [ pkgs.audit ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; ExecStart = "@${if enabled then startScript else disableScript} audit-start"; - ExecStop = "@${stopScript} audit-stop"; + ExecStop = "@${stopScript} audit-stop"; }; }; }; diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 9e5ad9fcf3a83..5e85fe902de62 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.pki; @@ -35,7 +40,7 @@ in security.pki.certificateFiles = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; example = lib.literalExpression ''[ "''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" ]''; description = '' A list of files containing trusted root certificates in PEM @@ -48,7 +53,7 @@ in security.pki.certificates = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = lib.literalExpression '' [ ''' NixOS.org @@ -68,9 +73,10 @@ in security.pki.caCertificateBlacklist = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ - "WoSign" "WoSign China" + "WoSign" + "WoSign China" "CA WoSign ECC Root" "Certification Authority of WoSign G2" ]; diff --git a/nixos/modules/security/chromium-suid-sandbox.nix b/nixos/modules/security/chromium-suid-sandbox.nix index 146696b05de9a..5d7bc3269b68c 100644 --- a/nixos/modules/security/chromium-suid-sandbox.nix +++ b/nixos/modules/security/chromium-suid-sandbox.nix @@ -1,11 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.security.chromiumSuidSandbox; + cfg = config.security.chromiumSuidSandbox; sandbox = pkgs.chromium.sandbox; in { imports = [ - (lib.mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ]) + (lib.mkRenamedOptionModule + [ "programs" "unity3d" "enable" ] + [ "security" "chromiumSuidSandbox" "enable" ] + ) ]; options.security.chromiumSuidSandbox.enable = lib.mkOption { @@ -25,11 +33,11 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ sandbox ]; - security.wrappers.${sandbox.passthru.sandboxExecutableName} = - { setuid = true; - owner = "root"; - group = "root"; - source = "${sandbox}/bin/${sandbox.passthru.sandboxExecutableName}"; - }; + security.wrappers.${sandbox.passthru.sandboxExecutableName} = { + setuid = true; + owner = "root"; + group = "root"; + source = "${sandbox}/bin/${sandbox.passthru.sandboxExecutableName}"; + }; }; } diff --git a/nixos/modules/security/dhparams.nix b/nixos/modules/security/dhparams.nix index c501ea70d05ce..36bb8398f5423 100644 --- a/nixos/modules/security/dhparams.nix +++ b/nixos/modules/security/dhparams.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let inherit (lib) literalExpression mkOption types; @@ -10,36 +16,41 @@ let description = "integer of at least 16 bits"; }; - paramsSubmodule = { name, config, ... }: { - options.bits = mkOption { - type = bitType; - default = cfg.defaultBitSize; - defaultText = literalExpression "config.${opt.defaultBitSize}"; - description = '' - The bit size for the prime that is used during a Diffie-Hellman - key exchange. - ''; - }; + paramsSubmodule = + { name, config, ... }: + { + options.bits = mkOption { + type = bitType; + default = cfg.defaultBitSize; + defaultText = literalExpression "config.${opt.defaultBitSize}"; + description = '' + The bit size for the prime that is used during a Diffie-Hellman + key exchange. + ''; + }; - options.path = mkOption { - type = types.path; - readOnly = true; - description = '' - The resulting path of the generated Diffie-Hellman parameters - file for other services to reference. This could be either a - store path or a file inside the directory specified by - {option}`security.dhparams.path`. - ''; - }; + options.path = mkOption { + type = types.path; + readOnly = true; + description = '' + The resulting path of the generated Diffie-Hellman parameters + file for other services to reference. This could be either a + store path or a file inside the directory specified by + {option}`security.dhparams.path`. + ''; + }; - config.path = let - generated = pkgs.runCommand "dhparams-${name}.pem" { - nativeBuildInputs = [ pkgs.openssl ]; - } "openssl dhparam -out \"$out\" ${toString config.bits}"; - in if cfg.stateful then "${cfg.path}/${name}.pem" else generated; - }; + config.path = + let + generated = pkgs.runCommand "dhparams-${name}.pem" { + nativeBuildInputs = [ pkgs.openssl ]; + } "openssl dhparam -out \"$out\" ${toString config.bits}"; + in + if cfg.stateful then "${cfg.path}/${name}.pem" else generated; + }; -in { +in +{ options = { security.dhparams = { enable = mkOption { @@ -51,10 +62,13 @@ in { }; params = mkOption { - type = with types; let - coerce = bits: { inherit bits; }; - in attrsOf (coercedTo int coerce (submodule paramsSubmodule)); - default = {}; + type = + with types; + let + coerce = bits: { inherit bits; }; + in + attrsOf (coercedTo int coerce (submodule paramsSubmodule)); + default = { }; example = lib.literalExpression "{ nginx.bits = 3072; }"; description = '' Diffie-Hellman parameters to generate. @@ -130,55 +144,67 @@ in { }; config = lib.mkIf (cfg.enable && cfg.stateful) { - systemd.services = { - dhparams-init = { - description = "Clean Up Old Diffie-Hellman Parameters"; - - # Clean up even when no DH params is set - wantedBy = [ "multi-user.target" ]; + systemd.services = + { + dhparams-init = { + description = "Clean Up Old Diffie-Hellman Parameters"; - serviceConfig.RemainAfterExit = true; - serviceConfig.Type = "oneshot"; + # Clean up even when no DH params is set + wantedBy = [ "multi-user.target" ]; - script = '' - if [ ! -d ${cfg.path} ]; then - mkdir -p ${cfg.path} - fi + serviceConfig.RemainAfterExit = true; + serviceConfig.Type = "oneshot"; - # Remove old dhparams - for file in ${cfg.path}/*; do - if [ ! -f "$file" ]; then - continue + script = '' + if [ ! -d ${cfg.path} ]; then + mkdir -p ${cfg.path} fi - ${lib.concatStrings (lib.mapAttrsToList (name: { bits, path, ... }: '' - if [ "$file" = ${lib.escapeShellArg path} ] && \ - ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text \ - | head -n 1 | grep "(${toString bits} bit)" > /dev/null; then + + # Remove old dhparams + for file in ${cfg.path}/*; do + if [ ! -f "$file" ]; then continue fi - '') cfg.params)} - rm "$file" - done - - # TODO: Ideally this would be removing the *former* cfg.path, though - # this does not seem really important as changes to it are quite - # unlikely - rmdir --ignore-fail-on-non-empty ${cfg.path} - ''; - }; - } // lib.mapAttrs' (name: { bits, path, ... }: lib.nameValuePair "dhparams-gen-${name}" { - description = "Generate Diffie-Hellman Parameters for ${name}"; - after = [ "dhparams-init.service" ]; - before = [ "${name}.service" ]; - wantedBy = [ "multi-user.target" ]; - unitConfig.ConditionPathExists = "!${path}"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir -p ${lib.escapeShellArg cfg.path} - ${pkgs.openssl}/bin/openssl dhparam -out ${lib.escapeShellArg path} \ - ${toString bits} - ''; - }) cfg.params; + ${lib.concatStrings ( + lib.mapAttrsToList ( + name: + { bits, path, ... }: + '' + if [ "$file" = ${lib.escapeShellArg path} ] && \ + ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text \ + | head -n 1 | grep "(${toString bits} bit)" > /dev/null; then + continue + fi + '' + ) cfg.params + )} + rm "$file" + done + + # TODO: Ideally this would be removing the *former* cfg.path, though + # this does not seem really important as changes to it are quite + # unlikely + rmdir --ignore-fail-on-non-empty ${cfg.path} + ''; + }; + } + // lib.mapAttrs' ( + name: + { bits, path, ... }: + lib.nameValuePair "dhparams-gen-${name}" { + description = "Generate Diffie-Hellman Parameters for ${name}"; + after = [ "dhparams-init.service" ]; + before = [ "${name}.service" ]; + wantedBy = [ "multi-user.target" ]; + unitConfig.ConditionPathExists = "!${path}"; + serviceConfig.Type = "oneshot"; + script = '' + mkdir -p ${lib.escapeShellArg cfg.path} + ${pkgs.openssl}/bin/openssl dhparam -out ${lib.escapeShellArg path} \ + ${toString bits} + ''; + } + ) cfg.params; }; meta.maintainers = with lib.maintainers; [ ekleog ]; diff --git a/nixos/modules/security/doas.nix b/nixos/modules/security/doas.nix index f73477e5c6642..659499a242581 100644 --- a/nixos/modules/security/doas.nix +++ b/nixos/modules/security/doas.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.doas; @@ -8,20 +13,27 @@ let mkGrpString = group: ":${toString group}"; - mkOpts = rule: lib.concatStringsSep " " [ - (lib.optionalString rule.noPass "nopass") - (lib.optionalString rule.noLog "nolog") - (lib.optionalString rule.persist "persist") - (lib.optionalString rule.keepEnv "keepenv") - "setenv { SSH_AUTH_SOCK TERMINFO TERMINFO_DIRS ${lib.concatStringsSep " " rule.setEnv} }" - ]; - - mkArgs = rule: - if (rule.args == null) then "" - else if (lib.length rule.args == 0) then "args" - else "args ${lib.concatStringsSep " " rule.args}"; + mkOpts = + rule: + lib.concatStringsSep " " [ + (lib.optionalString rule.noPass "nopass") + (lib.optionalString rule.noLog "nolog") + (lib.optionalString rule.persist "persist") + (lib.optionalString rule.keepEnv "keepenv") + "setenv { SSH_AUTH_SOCK TERMINFO TERMINFO_DIRS ${lib.concatStringsSep " " rule.setEnv} }" + ]; - mkRule = rule: + mkArgs = + rule: + if (rule.args == null) then + "" + else if (lib.length rule.args == 0) then + "args" + else + "args ${lib.concatStringsSep " " rule.args}"; + + mkRule = + rule: let opts = mkOpts rule; @@ -32,14 +44,12 @@ let args = mkArgs rule; in lib.optionals (lib.length cfg.extraRules > 0) [ - ( - lib.optionalString (lib.length rule.users > 0) - (map (usr: "permit ${opts} ${mkUsrString usr} ${as} ${cmd} ${args}") rule.users) - ) - ( - lib.optionalString (lib.length rule.groups > 0) - (map (grp: "permit ${opts} ${mkGrpString grp} ${as} ${cmd} ${args}") rule.groups) - ) + (lib.optionalString (lib.length rule.users > 0) ( + map (usr: "permit ${opts} ${mkUsrString usr} ${as} ${cmd} ${args}") rule.users + )) + (lib.optionalString (lib.length rule.groups > 0) ( + map (grp: "permit ${opts} ${mkGrpString grp} ${as} ${cmd} ${args}") rule.groups + )) ]; in { @@ -67,7 +77,7 @@ in }; extraRules = lib.mkOption { - default = []; + default = [ ]; description = '' Define specific rules to be set in the {file}`/etc/doas.conf` file. More specific rules should @@ -106,8 +116,9 @@ in setEnv = [ "-SSH_AUTH_SOCK" "ALPHA=1" "BETA" ]; } ] ''; - type = with lib.types; listOf ( - submodule { + type = + with lib.types; + listOf (submodule { options = { noPass = lib.mkOption { @@ -151,7 +162,7 @@ in setEnv = lib.mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = '' Keep or set the specified variables. Variables may also be removed with a leading '-' or set using @@ -170,13 +181,13 @@ in users = lib.mkOption { type = with types; listOf (either str int); - default = []; + default = [ ]; description = "The usernames / UIDs this rule should apply for."; }; groups = lib.mkOption { type = with types; listOf (either str int); - default = []; + default = [ ]; description = "The groups / GIDs this rule should apply for."; }; @@ -216,8 +227,7 @@ in ''; }; }; - } - ); + }); }; extraConfig = lib.mkOption { @@ -231,7 +241,6 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -243,12 +252,12 @@ in } ]; - security.wrappers.doas = - { setuid = true; - owner = "root"; - group = "root"; - source = "${doas}/bin/doas"; - }; + security.wrappers.doas = { + setuid = true; + owner = "root"; + group = "root"; + source = "${doas}/bin/doas"; + }; environment.systemPackages = [ doas @@ -260,27 +269,28 @@ in }; environment.etc."doas.conf" = { - source = pkgs.runCommand "doas-conf" - { - src = pkgs.writeText "doas-conf-in" '' - # To modify this file, set the NixOS options - # `security.doas.extraRules` or `security.doas.extraConfig`. To - # completely replace the contents of this file, use - # `environment.etc."doas.conf"`. - - # extraRules - ${lib.concatStringsSep "\n" (lib.lists.flatten (map mkRule cfg.extraRules))} - - # extraConfig - ${cfg.extraConfig} - - # "root" is allowed to do anything. - permit nopass keepenv root - ''; - preferLocalBuild = true; - } - # Make sure that the doas.conf file is syntactically valid. - "${pkgs.buildPackages.doas}/bin/doas -C $src && cp $src $out"; + source = + pkgs.runCommand "doas-conf" + { + src = pkgs.writeText "doas-conf-in" '' + # To modify this file, set the NixOS options + # `security.doas.extraRules` or `security.doas.extraConfig`. To + # completely replace the contents of this file, use + # `environment.etc."doas.conf"`. + + # extraRules + ${lib.concatStringsSep "\n" (lib.lists.flatten (map mkRule cfg.extraRules))} + + # extraConfig + ${cfg.extraConfig} + + # "root" is allowed to do anything. + permit nopass keepenv root + ''; + preferLocalBuild = true; + } + # Make sure that the doas.conf file is syntactically valid. + "${pkgs.buildPackages.doas}/bin/doas -C $src && cp $src $out"; mode = "0440"; }; diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix index 7543179b7fbeb..c1699f0cf3083 100644 --- a/nixos/modules/security/duosec.nix +++ b/nixos/modules/security/duosec.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.duosec; @@ -8,7 +13,7 @@ let [duo] ikey=${cfg.integrationKey} host=${cfg.host} - ${lib.optionalString (cfg.groups != "") ("groups="+cfg.groups)} + ${lib.optionalString (cfg.groups != "") ("groups=" + cfg.groups)} failmode=${cfg.failmode} pushinfo=${boolToStr cfg.pushinfo} autopush=${boolToStr cfg.autopush} @@ -16,16 +21,20 @@ let fallback_local_ip=${boolToStr cfg.fallbackLocalIP} ''; - configFileLogin = configFilePam + '' - motd=${boolToStr cfg.motd} - accept_env_factor=${boolToStr cfg.acceptEnvFactor} - ''; + configFileLogin = + configFilePam + + '' + motd=${boolToStr cfg.motd} + accept_env_factor=${boolToStr cfg.acceptEnvFactor} + ''; in { imports = [ (lib.mkRenamedOptionModule [ "security" "duosec" "group" ] [ "security" "duosec" "groups" ]) (lib.mkRenamedOptionModule [ "security" "duosec" "ikey" ] [ "security" "duosec" "integrationKey" ]) - (lib.mkRemovedOptionModule [ "security" "duosec" "skey" ] "The insecure security.duosec.skey option has been replaced by a new security.duosec.secretKeyFile option. Use this new option to store a secure copy of your key instead.") + (lib.mkRemovedOptionModule [ "security" "duosec" "skey" ] + "The insecure security.duosec.skey option has been replaced by a new security.duosec.secretKeyFile option. Use this new option to store a secure copy of your key instead." + ) ]; options = { @@ -74,7 +83,10 @@ in }; failmode = lib.mkOption { - type = lib.types.enum [ "safe" "secure" ]; + type = lib.types.enum [ + "safe" + "secure" + ]; default = "safe"; description = '' On service or configuration errors that prevent Duo @@ -116,7 +128,11 @@ in }; prompts = lib.mkOption { - type = lib.types.enum [ 1 2 3 ]; + type = lib.types.enum [ + 1 + 2 + 3 + ]; default = 3; description = '' If a user fails to authenticate with a second factor, Duo @@ -183,16 +199,19 @@ in config = lib.mkIf (cfg.ssh.enable || cfg.pam.enable) { environment.systemPackages = [ pkgs.duo-unix ]; - security.wrappers.login_duo = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.duo-unix.out}/bin/login_duo"; - }; + security.wrappers.login_duo = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.duo-unix.out}/bin/login_duo"; + }; systemd.services.login-duo = lib.mkIf cfg.ssh.enable { wantedBy = [ "sysinit.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; + before = [ + "sysinit.target" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; unitConfig.DefaultDependencies = false; script = '' @@ -215,7 +234,10 @@ in systemd.services.pam-duo = lib.mkIf cfg.ssh.enable { wantedBy = [ "sysinit.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; + before = [ + "sysinit.target" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; unitConfig.DefaultDependencies = false; script = '' @@ -235,16 +257,22 @@ in ''; }; - /* If PAM *and* SSH are enabled, then don't do anything special. - If PAM isn't used, set the default SSH-only options. */ + /* + If PAM *and* SSH are enabled, then don't do anything special. + If PAM isn't used, set the default SSH-only options. + */ services.openssh.extraConfig = lib.mkIf (cfg.ssh.enable || cfg.pam.enable) ( - if cfg.pam.enable then "UseDNS no" else '' - # Duo Security configuration - ForceCommand ${config.security.wrapperDir}/login_duo - PermitTunnel no - ${lib.optionalString (!cfg.allowTcpForwarding) '' - AllowTcpForwarding no - ''} - ''); + if cfg.pam.enable then + "UseDNS no" + else + '' + # Duo Security configuration + ForceCommand ${config.security.wrapperDir}/login_duo + PermitTunnel no + ${lib.optionalString (!cfg.allowTcpForwarding) '' + AllowTcpForwarding no + ''} + '' + ); }; } diff --git a/nixos/modules/security/google_oslogin.nix b/nixos/modules/security/google_oslogin.nix index 42dd3b22a0059..61e62b47a7d47 100644 --- a/nixos/modules/security/google_oslogin.nix +++ b/nixos/modules/security/google_oslogin.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.googleOsLogin; @@ -53,8 +58,14 @@ in # enable the nss module, so user lookups etc. work system.nssModules = [ package ]; - system.nssDatabases.passwd = [ "cache_oslogin" "oslogin" ]; - system.nssDatabases.group = [ "cache_oslogin" "oslogin" ]; + system.nssDatabases.passwd = [ + "cache_oslogin" + "oslogin" + ]; + system.nssDatabases.group = [ + "cache_oslogin" + "oslogin" + ]; # Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable. # So indirect by a symlink. diff --git a/nixos/modules/security/isolate.nix b/nixos/modules/security/isolate.nix index 11a6af588b5b4..74274d04c6b83 100644 --- a/nixos/modules/security/isolate.nix +++ b/nixos/modules/security/isolate.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkOption types mkIf maintainers; + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + types + mkIf + maintainers + ; cfg = config.security.isolate; configFile = pkgs.writeText "isolate-config.cf" '' diff --git a/nixos/modules/security/krb5/default.nix b/nixos/modules/security/krb5/default.nix index 6714c41d8a07c..fa7895f4a0a95 100644 --- a/nixos/modules/security/krb5/default.nix +++ b/nixos/modules/security/krb5/default.nix @@ -1,17 +1,30 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkIf mkOption mkPackageOption mkRemovedOptionModule; + inherit (lib) + mkIf + mkOption + mkPackageOption + mkRemovedOptionModule + ; inherit (lib.types) bool; - mkRemovedOptionModule' = name: reason: mkRemovedOptionModule ["krb5" name] reason; - mkRemovedOptionModuleCfg = name: mkRemovedOptionModule' name '' - The option `krb5.${name}' has been removed. Use - `security.krb5.settings.${name}' for structured configuration. - ''; + mkRemovedOptionModule' = name: reason: mkRemovedOptionModule [ "krb5" name ] reason; + mkRemovedOptionModuleCfg = + name: + mkRemovedOptionModule' name '' + The option `krb5.${name}' has been removed. Use + `security.krb5.settings.${name}' for structured configuration. + ''; cfg = config.security.krb5; format = import ./krb5-conf-format.nix { inherit pkgs lib; } { }; -in { +in +{ imports = [ (mkRemovedOptionModuleCfg "libdefaults") (mkRemovedOptionModuleCfg "realms") @@ -78,19 +91,27 @@ in { }; config = { - assertions = mkIf (cfg.enable || config.services.kerberos_server.enable) [(let - implementation = cfg.package.passthru.implementation or ""; - in { - assertion = lib.elem implementation [ "krb5" "heimdal" ]; - message = '' - `security.krb5.package` must be one of: + assertions = mkIf (cfg.enable || config.services.kerberos_server.enable) [ + ( + let + implementation = cfg.package.passthru.implementation or ""; + in + { + assertion = lib.elem implementation [ + "krb5" + "heimdal" + ]; + message = '' + `security.krb5.package` must be one of: - - krb5 - - heimdal + - krb5 + - heimdal - Currently chosen implementation: ${implementation} - ''; - })]; + Currently chosen implementation: ${implementation} + ''; + } + ) + ]; environment = mkIf cfg.enable { systemPackages = [ cfg.package ]; diff --git a/nixos/modules/security/krb5/krb5-conf-format.nix b/nixos/modules/security/krb5/krb5-conf-format.nix index 3e5e64ae0cb04..274e1024209da 100644 --- a/nixos/modules/security/krb5/krb5-conf-format.nix +++ b/nixos/modules/security/krb5/krb5-conf-format.nix @@ -5,141 +5,200 @@ # - https://manpages.debian.org/unstable/heimdal-docs/krb5.conf.5heimdal.en.html let - inherit (lib) boolToString concatMapStringsSep concatStringsSep filter - isAttrs isBool isList mapAttrsToList mkOption singleton splitString; - inherit (lib.types) attrsOf bool coercedTo either enum int listOf oneOf - path str submodule; + inherit (lib) + boolToString + concatMapStringsSep + concatStringsSep + filter + isAttrs + isBool + isList + mapAttrsToList + mkOption + singleton + splitString + ; + inherit (lib.types) + attrsOf + bool + coercedTo + either + enum + int + listOf + oneOf + path + str + submodule + ; in { - enableKdcACLEntries ? false -}: rec { - sectionType = let - relation = oneOf [ - (listOf (attrsOf value)) - (attrsOf value) - value - ]; - value = either (listOf atom) atom; - atom = oneOf [int str bool]; - in attrsOf relation; + enableKdcACLEntries ? false, +}: +rec { + sectionType = + let + relation = oneOf [ + (listOf (attrsOf value)) + (attrsOf value) + value + ]; + value = either (listOf atom) atom; + atom = oneOf [ + int + str + bool + ]; + in + attrsOf relation; - type = let - aclEntry = submodule { - options = { - principal = mkOption { - type = str; - description = "Which principal the rule applies to"; - }; - access = mkOption { - type = either - (listOf (enum ["add" "cpw" "delete" "get" "list" "modify"])) - (enum ["all"]); - default = "all"; - description = "The changes the principal is allowed to make."; - }; - target = mkOption { - type = str; - default = "*"; - description = "The principals that 'access' applies to."; + type = + let + aclEntry = submodule { + options = { + principal = mkOption { + type = str; + description = "Which principal the rule applies to"; + }; + access = mkOption { + type = either (listOf (enum [ + "add" + "cpw" + "delete" + "get" + "list" + "modify" + ])) (enum [ "all" ]); + default = "all"; + description = "The changes the principal is allowed to make."; + }; + target = mkOption { + type = str; + default = "*"; + description = "The principals that 'access' applies to."; + }; }; }; - }; - realm = submodule ({ name, ... }: { - freeformType = sectionType; - options = { - acl = mkOption { - type = listOf aclEntry; - default = [ - { principal = "*/admin"; access = "all"; } - { principal = "admin"; access = "all"; } - ]; - description = '' - The privileges granted to a user. - ''; - }; - }; - }); - in submodule { - freeformType = attrsOf sectionType; - options = { - include = mkOption { - default = [ ]; - description = '' - Files to include in the Kerberos configuration. - ''; - type = coercedTo path singleton (listOf path); - }; - includedir = mkOption { - default = [ ]; - description = '' - Directories containing files to include in the Kerberos configuration. - ''; - type = coercedTo path singleton (listOf path); - }; - module = mkOption { - default = [ ]; - description = '' - Modules to obtain Kerberos configuration from. - ''; - type = coercedTo path singleton (listOf path); - }; + realm = submodule ( + { name, ... }: + { + freeformType = sectionType; + options = { + acl = mkOption { + type = listOf aclEntry; + default = [ + { + principal = "*/admin"; + access = "all"; + } + { + principal = "admin"; + access = "all"; + } + ]; + description = '' + The privileges granted to a user. + ''; + }; + }; + } + ); + in + submodule { + freeformType = attrsOf sectionType; + options = + { + include = mkOption { + default = [ ]; + description = '' + Files to include in the Kerberos configuration. + ''; + type = coercedTo path singleton (listOf path); + }; + includedir = mkOption { + default = [ ]; + description = '' + Directories containing files to include in the Kerberos configuration. + ''; + type = coercedTo path singleton (listOf path); + }; + module = mkOption { + default = [ ]; + description = '' + Modules to obtain Kerberos configuration from. + ''; + type = coercedTo path singleton (listOf path); + }; - } - // - (lib.optionalAttrs enableKdcACLEntries { - realms = mkOption { - type = attrsOf realm; - description = '' - The realm(s) to serve keys for. - ''; - }; - }); - }; + } + // (lib.optionalAttrs enableKdcACLEntries { + realms = mkOption { + type = attrsOf realm; + description = '' + The realm(s) to serve keys for. + ''; + }; + }); + }; - generate = let - indent = str: concatMapStringsSep "\n" (line: " " + line) (splitString "\n" str); + generate = + let + indent = str: concatMapStringsSep "\n" (line: " " + line) (splitString "\n" str); - formatToplevel = args @ { - include ? [ ], - includedir ? [ ], - module ? [ ], - ... - }: let - sections = removeAttrs args [ "include" "includedir" "module" ]; - in concatStringsSep "\n" (filter (x: x != "") [ - (concatStringsSep "\n" (mapAttrsToList formatSection sections)) - (concatMapStringsSep "\n" (m: "module ${m}") module) - (concatMapStringsSep "\n" (i: "include ${i}") include) - (concatMapStringsSep "\n" (i: "includedir ${i}") includedir) - ]); + formatToplevel = + args@{ + include ? [ ], + includedir ? [ ], + module ? [ ], + ... + }: + let + sections = removeAttrs args [ + "include" + "includedir" + "module" + ]; + in + concatStringsSep "\n" ( + filter (x: x != "") [ + (concatStringsSep "\n" (mapAttrsToList formatSection sections)) + (concatMapStringsSep "\n" (m: "module ${m}") module) + (concatMapStringsSep "\n" (i: "include ${i}") include) + (concatMapStringsSep "\n" (i: "includedir ${i}") includedir) + ] + ); - formatSection = name: section: '' - [${name}] - ${indent (concatStringsSep "\n" (mapAttrsToList formatRelation section))} - ''; + formatSection = name: section: '' + [${name}] + ${indent (concatStringsSep "\n" (mapAttrsToList formatRelation section))} + ''; - formatRelation = name: relation: - if isAttrs relation - then '' - ${name} = { - ${indent (concatStringsSep "\n" (mapAttrsToList formatValue relation))} - }'' - else if isList relation - then - concatMapStringsSep "\n" (formatRelation name) relation - else formatValue name relation; + formatRelation = + name: relation: + if isAttrs relation then + '' + ${name} = { + ${indent (concatStringsSep "\n" (mapAttrsToList formatValue relation))} + }'' + else if isList relation then + concatMapStringsSep "\n" (formatRelation name) relation + else + formatValue name relation; - formatValue = name: value: - if isList value - then concatMapStringsSep "\n" (formatAtom name) value - else formatAtom name value; + formatValue = + name: value: + if isList value then concatMapStringsSep "\n" (formatAtom name) value else formatAtom name value; - formatAtom = name: atom: let - v = if isBool atom then boolToString atom else toString atom; - in "${name} = ${v}"; - in - name: value: pkgs.writeText name '' + formatAtom = + name: atom: + let + v = if isBool atom then boolToString atom else toString atom; + in + "${name} = ${v}"; + in + name: value: + pkgs.writeText name '' ${formatToplevel value} ''; } diff --git a/nixos/modules/security/lock-kernel-modules.nix b/nixos/modules/security/lock-kernel-modules.nix index fac7ab87cb98f..6ad2c76785d56 100644 --- a/nixos/modules/security/lock-kernel-modules.nix +++ b/nixos/modules/security/lock-kernel-modules.nix @@ -18,12 +18,19 @@ }; config = lib.mkIf config.security.lockKernelModules { - boot.kernelModules = lib.concatMap (x: + boot.kernelModules = lib.concatMap ( + x: lib.optionals (x.device != null) ( - if x.fsType == "vfat" - then [ "vfat" "nls-cp437" "nls-iso8859-1" ] - else [ x.fsType ]) - ) config.system.build.fileSystems; + if x.fsType == "vfat" then + [ + "vfat" + "nls-cp437" + "nls-iso8859-1" + ] + else + [ x.fsType ] + ) + ) config.system.build.fileSystems; systemd.services.disable-kernel-module-loading = { description = "Disable kernel module loading"; @@ -31,19 +38,19 @@ wants = [ "systemd-udevd.service" ]; wantedBy = [ config.systemd.defaultUnit ]; - after = - [ "firewall.service" - "systemd-modules-load.service" - config.systemd.defaultUnit - ]; + after = [ + "firewall.service" + "systemd-modules-load.service" + config.systemd.defaultUnit + ]; unitConfig.ConditionPathIsReadWrite = "/proc/sys/kernel"; - serviceConfig = - { Type = "oneshot"; - RemainAfterExit = true; - TimeoutSec = 180; - }; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + TimeoutSec = 180; + }; script = '' ${config.systemd.package}/bin/udevadm settle diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix index d3ffefe46fc6f..dc90d60386ebf 100644 --- a/nixos/modules/security/misc.nix +++ b/nixos/modules/security/misc.nix @@ -5,7 +5,10 @@ }; imports = [ - (lib.mkRenamedOptionModule [ "security" "virtualization" "flushL1DataCache" ] [ "security" "virtualisation" "flushL1DataCache" ]) + (lib.mkRenamedOptionModule + [ "security" "virtualization" "flushL1DataCache" ] + [ "security" "virtualisation" "flushL1DataCache" ] + ) ]; options = { @@ -78,7 +81,13 @@ }; security.virtualisation.flushL1DataCache = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "never" "cond" "always" ]); + type = lib.types.nullOr ( + lib.types.enum [ + "never" + "cond" + "always" + ] + ); default = null; description = '' Whether the hypervisor should flush the L1 data cache before @@ -105,7 +114,8 @@ boot.kernel.sysctl."user.max_user_namespaces" = 0; assertions = [ - { assertion = config.nix.settings.sandbox -> config.security.allowUserNamespaces; + { + assertion = config.nix.settings.sandbox -> config.security.allowUserNamespaces; message = "`nix.settings.sandbox = true` conflicts with `!security.allowUserNamespaces`."; } ]; @@ -131,7 +141,9 @@ }) (lib.mkIf (config.security.virtualisation.flushL1DataCache != null) { - boot.kernelParams = [ "kvm-intel.vmentry_l1d_flush=${config.security.virtualisation.flushL1DataCache}" ]; + boot.kernelParams = [ + "kvm-intel.vmentry_l1d_flush=${config.security.virtualisation.flushL1DataCache}" + ]; }) ]; } diff --git a/nixos/modules/security/oath.nix b/nixos/modules/security/oath.nix index acf9440b9b92c..0b29c1b9ae899 100644 --- a/nixos/modules/security/oath.nix +++ b/nixos/modules/security/oath.nix @@ -13,7 +13,11 @@ }; digits = lib.mkOption { - type = lib.types.enum [ 6 7 8 ]; + type = lib.types.enum [ + 6 + 7 + 8 + ]; default = 6; description = '' Specify the lib.length of the one-time password in number of diff --git a/nixos/modules/security/pam_mount.nix b/nixos/modules/security/pam_mount.nix index 2915118eb7b48..d47f2ec055211 100644 --- a/nixos/modules/security/pam_mount.nix +++ b/nixos/modules/security/pam_mount.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.pam.mount; @@ -10,7 +15,9 @@ let ${pkgs.lsof}/bin/lsof | ${pkgs.gnugrep}/bin/grep $MNTPT | ${pkgs.gawk}/bin/awk '{print $2}' | ${pkgs.findutils}/bin/xargs ${pkgs.util-linux}/bin/kill -$SIGNAL ''; - anyPamMount = lib.any (lib.attrByPath ["pamMount"] false) (lib.attrValues config.security.pam.services); + anyPamMount = lib.any (lib.attrByPath [ "pamMount" ] false) ( + lib.attrValues config.security.pam.services + ); in { @@ -27,7 +34,7 @@ in extraVolumes = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' List of volume definitions for pam_mount. For more information, visit . @@ -36,7 +43,7 @@ in additionalSearchPaths = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.bindfs ]"; description = '' Additional programs to include in the search path of pam_mount. @@ -46,7 +53,7 @@ in cryptMountOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = lib.literalExpression '' [ "allow_discard" ] ''; @@ -58,7 +65,7 @@ in fuseMountOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = lib.literalExpression '' [ "nodev" "nosuid" "force-user=%(USER)" "gid=%(USERGID)" "perms=0700" "chmod-deny" "chown-deny" "chgrp-deny" ] ''; @@ -140,42 +147,54 @@ in environment.etc."security/pam_mount.conf.xml" = { source = let - extraUserVolumes = lib.filterAttrs (n: u: u.cryptHomeLuks != null || u.pamMount != {}) config.users.users; + extraUserVolumes = lib.filterAttrs ( + n: u: u.cryptHomeLuks != null || u.pamMount != { } + ) config.users.users; mkAttr = k: v: ''${k}="${v}"''; - userVolumeEntry = user: let - attrs = { - user = user.name; - path = user.cryptHomeLuks; - mountpoint = user.home; - } // user.pamMount; - in + userVolumeEntry = + user: + let + attrs = { + user = user.name; + path = user.cryptHomeLuks; + mountpoint = user.home; + } // user.pamMount; + in "\n"; in - pkgs.writeText "pam_mount.conf.xml" '' + pkgs.writeText "pam_mount.conf.xml" '' - + ${lib.makeBinPath ([ pkgs.util-linux ] ++ cfg.additionalSearchPaths)} - + - ${pkgs.fuse}/bin/mount.fuse %(VOLUME) %(MNTPT) -o ,${lib.concatStringsSep "," (cfg.fuseMountOptions ++ [ "%(OPTIONS)" ])}' + ${pkgs.fuse}/bin/mount.fuse %(VOLUME) %(MNTPT) -o ,${ + lib.concatStringsSep "," (cfg.fuseMountOptions ++ [ "%(OPTIONS)" ]) + }' ${pkgs.fuse}/bin/fusermount -u %(MNTPT) - ${pkgs.pam_mount}/bin/mount.crypt -o ,${lib.concatStringsSep "," (cfg.cryptMountOptions ++ [ "%(OPTIONS)" ])} %(VOLUME) %(MNTPT) + ${pkgs.pam_mount}/bin/mount.crypt -o ,${ + lib.concatStringsSep "," (cfg.cryptMountOptions ++ [ "%(OPTIONS)" ]) + } %(VOLUME) %(MNTPT) ${pkgs.pam_mount}/bin/umount.crypt %(MNTPT) ${pkgs.pam_mount}/bin/pmvarrun -u %(USER) -o %(OPERATION) ${lib.optionalString oflRequired "${fake_ofl}/bin/fake_ofl %(SIGNAL) %(MNTPT)"} ${lib.concatStrings (map userVolumeEntry (lib.attrValues extraUserVolumes))} ${lib.concatStringsSep "\n" cfg.extraVolumes} - ''; + ''; }; }; diff --git a/nixos/modules/security/please.nix b/nixos/modules/security/please.nix index 05a189dfbaaaa..9c3b6c4bca6a9 100644 --- a/nixos/modules/security/please.nix +++ b/nixos/modules/security/please.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.please; ini = pkgs.formats.ini { }; @@ -79,15 +84,20 @@ in rule = ".*"; require_pass = cfg.wheelNeedsPassword; }; - wheel_edit_as_any = wheel_run_as_any // { type = "edit"; }; - wheel_list_as_any = wheel_run_as_any // { type = "list"; }; + wheel_edit_as_any = wheel_run_as_any // { + type = "edit"; + }; + wheel_list_as_any = wheel_run_as_any // { + type = "list"; + }; }; environment = { systemPackages = [ cfg.package ]; - etc."please.ini".source = ini.generate "please.ini" - (cfg.settings // (rec { + etc."please.ini".source = ini.generate "please.ini" ( + cfg.settings + // (rec { # The "root" user is allowed to do anything by default and this cannot # be overridden. root_run_as_any = { @@ -97,9 +107,14 @@ in rule = ".*"; require_pass = false; }; - root_edit_as_any = root_run_as_any // { type = "edit"; }; - root_list_as_any = root_run_as_any // { type = "list"; }; - })); + root_edit_as_any = root_run_as_any // { + type = "edit"; + }; + root_list_as_any = root_run_as_any // { + type = "list"; + }; + }) + ); }; security.pam.services.please = { diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index eb783179af553..5d37cdf651151 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.polkit; @@ -18,45 +23,47 @@ in security.polkit.extraConfig = lib.mkOption { type = lib.types.lines; default = ""; - example = - '' - /* Log authorization checks. */ - polkit.addRule(function(action, subject) { - // Make sure to set { security.polkit.debug = true; } in configuration.nix - polkit.log("user " + subject.user + " is attempting action " + action.id + " from PID " + subject.pid); - }); - - /* Allow any local user to do anything (dangerous!). */ - polkit.addRule(function(action, subject) { - if (subject.local) return "yes"; - }); - ''; - description = - '' - Any polkit rules to be added to config (in JavaScript ;-). See: - - ''; + example = '' + /* Log authorization checks. */ + polkit.addRule(function(action, subject) { + // Make sure to set { security.polkit.debug = true; } in configuration.nix + polkit.log("user " + subject.user + " is attempting action " + action.id + " from PID " + subject.pid); + }); + + /* Allow any local user to do anything (dangerous!). */ + polkit.addRule(function(action, subject) { + if (subject.local) return "yes"; + }); + ''; + description = '' + Any polkit rules to be added to config (in JavaScript ;-). See: + + ''; }; security.polkit.adminIdentities = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ "unix-group:wheel" ]; - example = [ "unix-user:alice" "unix-group:admin" ]; - description = - '' - Specifies which users are considered “administrators”, for those - actions that require the user to authenticate as an - administrator (i.e. have an `auth_admin` - value). By default, this is all users in the `wheel` group. - ''; + example = [ + "unix-user:alice" + "unix-group:admin" + ]; + description = '' + Specifies which users are considered “administrators”, for those + actions that require the user to authenticate as an + administrator (i.e. have an `auth_admin` + value). By default, this is all users in the `wheel` group. + ''; }; }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package.bin cfg.package.out ]; + environment.systemPackages = [ + cfg.package.bin + cfg.package.out + ]; systemd.packages = [ cfg.package.out ]; @@ -72,32 +79,31 @@ in environment.pathsToLink = [ "/share/polkit-1" ]; # PolKit rules for NixOS. - environment.etc."polkit-1/rules.d/10-nixos.rules".text = - '' - polkit.addAdminRule(function(action, subject) { - return [${lib.concatStringsSep ", " (map (i: "\"${i}\"") cfg.adminIdentities)}]; - }); + environment.etc."polkit-1/rules.d/10-nixos.rules".text = '' + polkit.addAdminRule(function(action, subject) { + return [${lib.concatStringsSep ", " (map (i: "\"${i}\"") cfg.adminIdentities)}]; + }); - ${cfg.extraConfig} - ''; #TODO: validation on compilation (at least against typos) + ${cfg.extraConfig} + ''; # TODO: validation on compilation (at least against typos) services.dbus.packages = [ cfg.package.out ]; - security.pam.services.polkit-1 = {}; + security.pam.services.polkit-1 = { }; security.wrappers = { - pkexec = - { setuid = true; - owner = "root"; - group = "root"; - source = "${cfg.package.bin}/bin/pkexec"; - }; - polkit-agent-helper-1 = - { setuid = true; - owner = "root"; - group = "root"; - source = "${cfg.package.out}/lib/polkit-1/polkit-agent-helper-1"; - }; + pkexec = { + setuid = true; + owner = "root"; + group = "root"; + source = "${cfg.package.bin}/bin/pkexec"; + }; + polkit-agent-helper-1 = { + setuid = true; + owner = "root"; + group = "root"; + source = "${cfg.package.out}/lib/polkit-1/polkit-agent-helper-1"; + }; }; systemd.tmpfiles.rules = [ @@ -112,7 +118,7 @@ in group = "polkituser"; }; - users.groups.polkituser = {}; + users.groups.polkituser = { }; }; } diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix index 8cca1c26d683a..63636da4b290a 100644 --- a/nixos/modules/security/rngd.nix +++ b/nixos/modules/security/rngd.nix @@ -1,16 +1,21 @@ { lib, ... }: let - removed = k: lib.mkRemovedOptionModule [ "security" "rngd" k ]; + removed = + k: + lib.mkRemovedOptionModule [ + "security" + "rngd" + k + ]; in { imports = [ (removed "enable" '' - rngd is not necessary for any device that the kernel recognises - as an hardware RNG, as it will automatically run the krngd task - to periodically collect random data from the device and mix it - into the kernel's RNG. + rngd is not necessary for any device that the kernel recognises + as an hardware RNG, as it will automatically run the krngd task + to periodically collect random data from the device and mix it + into the kernel's RNG. '') - (removed "debug" - "The rngd module was removed, so its debug option does nothing.") + (removed "debug" "The rngd module was removed, so its debug option does nothing.") ]; } diff --git a/nixos/modules/security/sudo-rs.nix b/nixos/modules/security/sudo-rs.nix index b920015c49113..342669b4300bd 100644 --- a/nixos/modules/security/sudo-rs.nix +++ b/nixos/modules/security/sudo-rs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.sudo-rs; @@ -6,12 +11,14 @@ let toUserString = user: if (lib.isInt user) then "#${toString user}" else "${user}"; toGroupString = group: if (lib.isInt group) then "%#${toString group}" else "%${group}"; - toCommandOptionsString = options: - "${lib.concatStringsSep ":" options}${lib.optionalString (lib.length options != 0) ":"} "; + toCommandOptionsString = + options: "${lib.concatStringsSep ":" options}${lib.optionalString (lib.length options != 0) ":"} "; - toCommandsString = commands: + toCommandsString = + commands: lib.concatStringsSep ", " ( - map (command: + map ( + command: if (lib.isString command) then command else @@ -29,7 +36,7 @@ in defaultOptions = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Options used for the default rules, granting `root` and the `wheel` group permission to run any command as any user. @@ -50,7 +57,7 @@ in Whether users of the `wheel` group must provide a password to run commands as super user via {command}`sudo`. ''; - }; + }; execWheelOnly = lib.mkOption { type = lib.types.bool; @@ -80,7 +87,7 @@ in yield the expected behavior. You can use `lib.mkBefore`/`lib.mkAfter` to ensure this is the case when configuration options are merged. ''; - default = []; + default = [ ]; example = lib.literalExpression '' [ # Allow execution of any command by all users in group sudo, @@ -100,73 +107,92 @@ in { command = '''/home/baz/cmd2.sh ""'''; options = [ "SETENV" ]; } ]; } ] ''; - type = with lib.types; listOf (submodule { - options = { - users = lib.mkOption { - type = with lib.types; listOf (either str int); - description = '' - The usernames / UIDs this rule should apply for. - ''; - default = []; - }; - - groups = lib.mkOption { - type = with lib.types; listOf (either str int); - description = '' - The groups / GIDs this rule should apply for. - ''; - default = []; - }; - - host = lib.mkOption { - type = lib.types.str; - default = "ALL"; - description = '' - For what host this rule should apply. - ''; + type = + with lib.types; + listOf (submodule { + options = { + users = lib.mkOption { + type = with lib.types; listOf (either str int); + description = '' + The usernames / UIDs this rule should apply for. + ''; + default = [ ]; + }; + + groups = lib.mkOption { + type = with lib.types; listOf (either str int); + description = '' + The groups / GIDs this rule should apply for. + ''; + default = [ ]; + }; + + host = lib.mkOption { + type = lib.types.str; + default = "ALL"; + description = '' + For what host this rule should apply. + ''; + }; + + runAs = lib.mkOption { + type = with lib.types; str; + default = "ALL:ALL"; + description = '' + Under which user/group the specified command is allowed to run. + + A user can be specified using just the username: `"foo"`. + It is also possible to specify a user/group combination using `"foo:bar"` + or to only allow running as a specific group with `":bar"`. + ''; + }; + + commands = lib.mkOption { + description = '' + The commands for which the rule should apply. + ''; + type = + with lib.types; + listOf ( + either str (submodule { + + options = { + command = lib.mkOption { + type = with lib.types; str; + description = '' + A command being either just a path to a binary to allow any arguments, + the full command with arguments pre-set or with `""` used as the argument, + not allowing arguments to the command at all. + ''; + }; + + options = lib.mkOption { + type = + with lib.types; + listOf (enum [ + "NOPASSWD" + "PASSWD" + "NOEXEC" + "EXEC" + "SETENV" + "NOSETENV" + "LOG_INPUT" + "NOLOG_INPUT" + "LOG_OUTPUT" + "NOLOG_OUTPUT" + ]); + description = '' + Options for running the command. Refer to the [sudo manual](https://www.sudo.ws/man/1.7.10/sudoers.man.html). + ''; + default = [ ]; + }; + }; + + }) + ); + }; }; - - runAs = lib.mkOption { - type = with lib.types; str; - default = "ALL:ALL"; - description = '' - Under which user/group the specified command is allowed to run. - - A user can be specified using just the username: `"foo"`. - It is also possible to specify a user/group combination using `"foo:bar"` - or to only allow running as a specific group with `":bar"`. - ''; - }; - - commands = lib.mkOption { - description = '' - The commands for which the rule should apply. - ''; - type = with lib.types; listOf (either str (submodule { - - options = { - command = lib.mkOption { - type = with lib.types; str; - description = '' - A command being either just a path to a binary to allow any arguments, - the full command with arguments pre-set or with `""` used as the argument, - not allowing arguments to the command at all. - ''; - }; - - options = lib.mkOption { - type = with lib.types; listOf (enum [ "NOPASSWD" "PASSWD" "NOEXEC" "EXEC" "SETENV" "NOSETENV" "LOG_INPUT" "NOLOG_INPUT" "LOG_OUTPUT" "NOLOG_OUTPUT" ]); - description = '' - Options for running the command. Refer to the [sudo manual](https://www.sudo.ws/man/1.7.10/sudoers.man.html). - ''; - default = []; - }; - }; - - })); - }; - }; - }); + }); }; extraConfig = lib.mkOption { @@ -178,29 +204,43 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { - assertions = [ { - assertion = ! config.security.sudo.enable; - message = "`security.sudo` and `security.sudo-rs` cannot both be enabled"; - }]; + assertions = [ + { + assertion = !config.security.sudo.enable; + message = "`security.sudo` and `security.sudo-rs` cannot both be enabled"; + } + ]; security.sudo.enable = lib.mkDefault false; security.sudo-rs.extraRules = let - defaultRule = { users ? [], groups ? [], opts ? [] }: [ { - inherit users groups; - commands = [ { - command = "ALL"; - options = opts ++ cfg.defaultOptions; - } ]; - } ]; - in lib.mkMerge [ + defaultRule = + { + users ? [ ], + groups ? [ ], + opts ? [ ], + }: + [ + { + inherit users groups; + commands = [ + { + command = "ALL"; + options = opts ++ cfg.defaultOptions; + } + ]; + } + ]; + in + lib.mkMerge [ # This is ordered before users' `lib.mkBefore` rules, # so as not to introduce unexpected changes. - (lib.mkOrder 400 (defaultRule { users = [ "root" ]; })) + (lib.mkOrder 400 (defaultRule { + users = [ "root" ]; + })) # This is ordered to show before (most) other rules, but # late-enough for a user to `lib.mkBefore` it. @@ -210,54 +250,70 @@ in })) ]; - security.sudo-rs.configFile = lib.concatStringsSep "\n" (lib.filter (s: s != "") [ - '' - # Don't edit this file. Set the NixOS options ‘security.sudo-rs.configFile’ - # or ‘security.sudo-rs.extraRules’ instead. - '' - (lib.pipe cfg.extraRules [ - (lib.filter (rule: lib.length rule.commands != 0)) - (map (rule: [ - (map (user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.users) - (map (group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.groups) - ])) - lib.flatten - (lib.concatStringsSep "\n") - ]) - "\n" - (lib.optionalString (cfg.extraConfig != "") '' - # extraConfig - ${cfg.extraConfig} - '') - ]); - - security.wrappers = let - owner = "root"; - group = if cfg.execWheelOnly then "wheel" else "root"; - setuid = true; - permissions = if cfg.execWheelOnly then "u+rx,g+x" else "u+rx,g+x,o+x"; - in { - sudo = { - source = "${cfg.package.out}/bin/sudo"; - inherit owner group setuid permissions; + security.sudo-rs.configFile = lib.concatStringsSep "\n" ( + lib.filter (s: s != "") [ + '' + # Don't edit this file. Set the NixOS options ‘security.sudo-rs.configFile’ + # or ‘security.sudo-rs.extraRules’ instead. + '' + (lib.pipe cfg.extraRules [ + (lib.filter (rule: lib.length rule.commands != 0)) + (map (rule: [ + (map ( + user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}" + ) rule.users) + (map ( + group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}" + ) rule.groups) + ])) + lib.flatten + (lib.concatStringsSep "\n") + ]) + "\n" + (lib.optionalString (cfg.extraConfig != "") '' + # extraConfig + ${cfg.extraConfig} + '') + ] + ); + + security.wrappers = + let + owner = "root"; + group = if cfg.execWheelOnly then "wheel" else "root"; + setuid = true; + permissions = if cfg.execWheelOnly then "u+rx,g+x" else "u+rx,g+x,o+x"; + in + { + sudo = { + source = "${cfg.package.out}/bin/sudo"; + inherit + owner + group + setuid + permissions + ; + }; }; - }; environment.systemPackages = [ cfg.package ]; - security.pam.services.sudo = { sshAgentAuth = true; usshAuth = true; }; - security.pam.services.sudo-i = { sshAgentAuth = true; usshAuth = true; }; + security.pam.services.sudo = { + sshAgentAuth = true; + usshAuth = true; + }; + security.pam.services.sudo-i = { + sshAgentAuth = true; + usshAuth = true; + }; - environment.etc.sudoers = - { source = - pkgs.runCommand "sudoers" - { - src = pkgs.writeText "sudoers-in" cfg.configFile; - preferLocalBuild = true; - } - "${pkgs.buildPackages.sudo-rs}/bin/visudo -f $src -c && cp $src $out"; - mode = "0440"; - }; + environment.etc.sudoers = { + source = pkgs.runCommand "sudoers" { + src = pkgs.writeText "sudoers-in" cfg.configFile; + preferLocalBuild = true; + } "${pkgs.buildPackages.sudo-rs}/bin/visudo -f $src -c && cp $src $out"; + mode = "0440"; + }; }; diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index 57d1e42ca80c9..f68d31c5a577b 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.security.sudo; @@ -6,12 +11,14 @@ let toUserString = user: if (lib.isInt user) then "#${toString user}" else "${user}"; toGroupString = group: if (lib.isInt group) then "%#${toString group}" else "%${group}"; - toCommandOptionsString = options: - "${lib.concatStringsSep ":" options}${lib.optionalString (lib.length options != 0) ":"} "; + toCommandOptionsString = + options: "${lib.concatStringsSep ":" options}${lib.optionalString (lib.length options != 0) ":"} "; - toCommandsString = commands: + toCommandsString = + commands: lib.concatStringsSep ", " ( - map (command: + map ( + command: if (lib.isString command) then command else @@ -40,9 +47,9 @@ in type = lib.types.bool; default = true; description = '' - Whether to enable the {command}`sudo` command, which - allows non-root users to execute commands as root. - ''; + Whether to enable the {command}`sudo` command, which + allows non-root users to execute commands as root. + ''; }; package = lib.mkPackageOption pkgs "sudo" { }; @@ -54,7 +61,7 @@ in Whether users of the `wheel` group must provide a password to run commands as super user via {command}`sudo`. ''; - }; + }; execWheelOnly = lib.mkOption { type = lib.types.bool; @@ -84,7 +91,7 @@ in yield the expected behavior. You can use mkBefore/mkAfter to ensure this is the case when configuration options are merged. ''; - default = []; + default = [ ]; example = lib.literalExpression '' [ # Allow execution of any command by all users in group sudo, @@ -104,73 +111,98 @@ in { command = '''/home/baz/cmd2.sh ""'''; options = [ "SETENV" ]; } ]; } ] ''; - type = with lib.types; listOf (submodule { - options = { - users = lib.mkOption { - type = with types; listOf (either str int); - description = '' - The usernames / UIDs this rule should apply for. - ''; - default = []; - }; - - groups = lib.mkOption { - type = with types; listOf (either str int); - description = '' - The groups / GIDs this rule should apply for. - ''; - default = []; + type = + with lib.types; + listOf (submodule { + options = { + users = lib.mkOption { + type = with types; listOf (either str int); + description = '' + The usernames / UIDs this rule should apply for. + ''; + default = [ ]; + }; + + groups = lib.mkOption { + type = with types; listOf (either str int); + description = '' + The groups / GIDs this rule should apply for. + ''; + default = [ ]; + }; + + host = lib.mkOption { + type = types.str; + default = "ALL"; + description = '' + For what host this rule should apply. + ''; + }; + + runAs = lib.mkOption { + type = with types; str; + default = "ALL:ALL"; + description = '' + Under which user/group the specified command is allowed to run. + + A user can be specified using just the username: `"foo"`. + It is also possible to specify a user/group combination using `"foo:bar"` + or to only allow running as a specific group with `":bar"`. + ''; + }; + + commands = lib.mkOption { + description = '' + The commands for which the rule should apply. + ''; + type = + with types; + listOf ( + either str (submodule { + + options = { + command = lib.mkOption { + type = with types; str; + description = '' + A command being either just a path to a binary to allow any arguments, + the full command with arguments pre-set or with `""` used as the argument, + not allowing arguments to the command at all. + ''; + }; + + options = lib.mkOption { + type = + with types; + listOf (enum [ + "NOPASSWD" + "PASSWD" + "NOEXEC" + "EXEC" + "SETENV" + "NOSETENV" + "LOG_INPUT" + "NOLOG_INPUT" + "LOG_OUTPUT" + "NOLOG_OUTPUT" + "MAIL" + "NOMAIL" + "FOLLOW" + "NOFLLOW" + "INTERCEPT" + "NOINTERCEPT" + ]); + description = '' + Options for running the command. Refer to the [sudo manual](https://www.sudo.ws/docs/man/1.9.15/sudoers.man/#Tag_Spec). + ''; + default = [ ]; + }; + }; + + }) + ); + }; }; - - host = lib.mkOption { - type = types.str; - default = "ALL"; - description = '' - For what host this rule should apply. - ''; - }; - - runAs = lib.mkOption { - type = with types; str; - default = "ALL:ALL"; - description = '' - Under which user/group the specified command is allowed to run. - - A user can be specified using just the username: `"foo"`. - It is also possible to specify a user/group combination using `"foo:bar"` - or to only allow running as a specific group with `":bar"`. - ''; - }; - - commands = lib.mkOption { - description = '' - The commands for which the rule should apply. - ''; - type = with types; listOf (either str (submodule { - - options = { - command = lib.mkOption { - type = with types; str; - description = '' - A command being either just a path to a binary to allow any arguments, - the full command with arguments pre-set or with `""` used as the argument, - not allowing arguments to the command at all. - ''; - }; - - options = lib.mkOption { - type = with types; listOf (enum [ "NOPASSWD" "PASSWD" "NOEXEC" "EXEC" "SETENV" "NOSETENV" "LOG_INPUT" "NOLOG_INPUT" "LOG_OUTPUT" "NOLOG_OUTPUT" "MAIL" "NOMAIL" "FOLLOW" "NOFLLOW" "INTERCEPT" "NOINTERCEPT"]); - description = '' - Options for running the command. Refer to the [sudo manual](https://www.sudo.ws/docs/man/1.9.15/sudoers.man/#Tag_Spec). - ''; - default = []; - }; - }; - - })); - }; - }; - }); + }); }; extraConfig = lib.mkOption { @@ -182,30 +214,44 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { - assertions = [ { - assertion = cfg.package.pname != "sudo-rs"; - message = '' - NixOS' `sudo` module does not support `sudo-rs`; see `security.sudo-rs` instead. - ''; - } ]; + assertions = [ + { + assertion = cfg.package.pname != "sudo-rs"; + message = '' + NixOS' `sudo` module does not support `sudo-rs`; see `security.sudo-rs` instead. + ''; + } + ]; security.sudo.extraRules = let - defaultRule = { users ? [], groups ? [], opts ? [] }: [ { - inherit users groups; - commands = [ { - command = "ALL"; - options = opts ++ cfg.defaultOptions; - } ]; - } ]; - in lib.mkMerge [ + defaultRule = + { + users ? [ ], + groups ? [ ], + opts ? [ ], + }: + [ + { + inherit users groups; + commands = [ + { + command = "ALL"; + options = opts ++ cfg.defaultOptions; + } + ]; + } + ]; + in + lib.mkMerge [ # This is ordered before users' `mkBefore` rules, # so as not to introduce unexpected changes. - (lib.mkOrder 400 (defaultRule { users = [ "root" ]; })) + (lib.mkOrder 400 (defaultRule { + users = [ "root" ]; + })) # This is ordered to show before (most) other rules, but # late-enough for a user to `mkBefore` it. @@ -215,50 +261,71 @@ in })) ]; - security.sudo.configFile = lib.concatStringsSep "\n" (lib.filter (s: s != "") [ - '' - # Don't edit this file. Set the NixOS options ‘security.sudo.configFile’ - # or ‘security.sudo.extraRules’ instead. - '' - (lib.pipe cfg.extraRules [ - (lib.filter (rule: lib.length rule.commands != 0)) - (map (rule: [ - (map (user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.users) - (map (group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.groups) - ])) - lib.flatten - (lib.concatStringsSep "\n") - ]) - "\n" - (lib.optionalString (cfg.extraConfig != "") '' - # extraConfig - ${cfg.extraConfig} - '') - ]); - - security.wrappers = let - owner = "root"; - group = if cfg.execWheelOnly then "wheel" else "root"; - setuid = true; - permissions = if cfg.execWheelOnly then "u+rx,g+x" else "u+rx,g+x,o+x"; - in { - sudo = { - source = "${cfg.package.out}/bin/sudo"; - inherit owner group setuid permissions; - }; - sudoedit = { - source = "${cfg.package.out}/bin/sudoedit"; - inherit owner group setuid permissions; + security.sudo.configFile = lib.concatStringsSep "\n" ( + lib.filter (s: s != "") [ + '' + # Don't edit this file. Set the NixOS options ‘security.sudo.configFile’ + # or ‘security.sudo.extraRules’ instead. + '' + (lib.pipe cfg.extraRules [ + (lib.filter (rule: lib.length rule.commands != 0)) + (map (rule: [ + (map ( + user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}" + ) rule.users) + (map ( + group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}" + ) rule.groups) + ])) + lib.flatten + (lib.concatStringsSep "\n") + ]) + "\n" + (lib.optionalString (cfg.extraConfig != "") '' + # extraConfig + ${cfg.extraConfig} + '') + ] + ); + + security.wrappers = + let + owner = "root"; + group = if cfg.execWheelOnly then "wheel" else "root"; + setuid = true; + permissions = if cfg.execWheelOnly then "u+rx,g+x" else "u+rx,g+x,o+x"; + in + { + sudo = { + source = "${cfg.package.out}/bin/sudo"; + inherit + owner + group + setuid + permissions + ; + }; + sudoedit = { + source = "${cfg.package.out}/bin/sudoedit"; + inherit + owner + group + setuid + permissions + ; + }; }; - }; environment.systemPackages = [ cfg.package ]; - security.pam.services.sudo = { sshAgentAuth = true; usshAuth = true; }; + security.pam.services.sudo = { + sshAgentAuth = true; + usshAuth = true; + }; - environment.etc.sudoers = - { source = - pkgs.runCommand "sudoers" + environment.etc.sudoers = { + source = + pkgs.runCommand "sudoers" { src = pkgs.writeText "sudoers-in" cfg.configFile; preferLocalBuild = true; @@ -266,8 +333,8 @@ in # Make sure that the sudoers file is syntactically valid. # (currently disabled - NIXOS-66) "${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out"; - mode = "0440"; - }; + mode = "0440"; + }; }; diff --git a/nixos/modules/security/systemd-confinement.nix b/nixos/modules/security/systemd-confinement.nix index 041c900338864..c3c0a1a4975d6 100644 --- a/nixos/modules/security/systemd-confinement.nix +++ b/nixos/modules/security/systemd-confinement.nix @@ -1,205 +1,260 @@ -{ config, pkgs, lib, utils, ... }: +{ + config, + pkgs, + lib, + utils, + ... +}: let toplevelConfig = config; inherit (lib) types; inherit (utils.systemdUtils.lib) mkPathSafeName; -in { +in +{ options.systemd.services = lib.mkOption { - type = types.attrsOf (types.submodule ({ name, config, ... }: { - options.confinement.enable = lib.mkOption { - type = types.bool; - default = false; - description = '' - If set, all the required runtime store paths for this service are - bind-mounted into a `tmpfs`-based - {manpage}`chroot(2)`. - ''; - }; - - options.confinement.fullUnit = lib.mkOption { - type = types.bool; - default = false; - description = '' - Whether to include the full closure of the systemd unit file into the - chroot, instead of just the dependencies for the executables. - - ::: {.warning} - While it may be tempting to just enable this option to - make things work quickly, please be aware that this might add paths - to the closure of the chroot that you didn't anticipate. It's better - to use {option}`confinement.packages` to **explicitly** add additional store paths to the - chroot. - ::: - ''; - }; - - options.confinement.packages = lib.mkOption { - type = types.listOf (types.either types.str types.package); - default = []; - description = let - mkScOption = optName: "{option}`serviceConfig.${optName}`"; - in '' - Additional packages or strings with context to add to the closure of - the chroot. By default, this includes all the packages from the - ${lib.concatMapStringsSep ", " mkScOption [ - "ExecReload" "ExecStartPost" "ExecStartPre" "ExecStop" - "ExecStopPost" - ]} and ${mkScOption "ExecStart"} options. If you want to have all the - dependencies of this systemd unit, you can use - {option}`confinement.fullUnit`. - - ::: {.note} - The store paths listed in {option}`path` are - **not** included in the closure as - well as paths from other options except those listed - above. - ::: - ''; - }; - - options.confinement.binSh = lib.mkOption { - type = types.nullOr types.path; - default = toplevelConfig.environment.binsh; - defaultText = lib.literalExpression "config.environment.binsh"; - example = lib.literalExpression ''"''${pkgs.dash}/bin/dash"''; - description = '' - The program to make available as {file}`/bin/sh` inside - the chroot. If this is set to `null`, no - {file}`/bin/sh` is provided at all. - - This is useful for some applications, which for example use the - {manpage}`system(3)` library function to execute commands. - ''; - }; - - options.confinement.mode = lib.mkOption { - type = types.enum [ "full-apivfs" "chroot-only" ]; - default = "full-apivfs"; - description = '' - The value `full-apivfs` (the default) sets up - private {file}`/dev`, {file}`/proc`, - {file}`/sys`, {file}`/tmp` and {file}`/var/tmp` file systems - in a separate user name space. - - If this is set to `chroot-only`, only the file - system name space is set up along with the call to - {manpage}`chroot(2)`. - - In all cases, unless `serviceConfig.PrivateTmp=true` is set, - both {file}`/tmp` and {file}`/var/tmp` paths are added to `InaccessiblePaths=`. - This is to overcome options like `DynamicUser=true` - implying `PrivateTmp=true` without letting it being turned off. - Beware however that giving processes the `CAP_SYS_ADMIN` and `@mount` privileges - can let them undo the effects of `InaccessiblePaths=`. - - ::: {.note} - This doesn't cover network namespaces and is solely for - file system level isolation. - ::: - ''; - }; - - config = let - inherit (config.confinement) binSh fullUnit; - wantsAPIVFS = lib.mkDefault (config.confinement.mode == "full-apivfs"); - in lib.mkIf config.confinement.enable { - serviceConfig = { - ReadOnlyPaths = [ "+/" ]; - RuntimeDirectory = [ "confinement/${mkPathSafeName name}" ]; - RootDirectory = "/run/confinement/${mkPathSafeName name}"; - InaccessiblePaths = [ - "-+/run/confinement/${mkPathSafeName name}" - ]; - PrivateMounts = lib.mkDefault true; - - # https://github.com/NixOS/nixpkgs/issues/14645 is a future attempt - # to change some of these to default to true. - # - # If we run in chroot-only mode, having something like PrivateDevices - # set to true by default will mount /dev within the chroot, whereas - # with "chroot-only" it's expected that there are no /dev, /proc and - # /sys file systems available. - # - # However, if this suddenly becomes true, the attack surface will - # increase, so let's explicitly set these options to true/false - # depending on the mode. - MountAPIVFS = wantsAPIVFS; - PrivateDevices = wantsAPIVFS; - PrivateTmp = wantsAPIVFS; - PrivateUsers = wantsAPIVFS; - ProtectControlGroups = wantsAPIVFS; - ProtectKernelModules = wantsAPIVFS; - ProtectKernelTunables = wantsAPIVFS; - }; - confinement.packages = let - execOpts = [ - "ExecReload" "ExecStart" "ExecStartPost" "ExecStartPre" "ExecStop" - "ExecStopPost" - ]; - execPkgs = lib.concatMap (opt: let - isSet = config.serviceConfig ? ${opt}; - in lib.flatten (lib.optional isSet config.serviceConfig.${opt})) execOpts; - unitAttrs = toplevelConfig.systemd.units."${name}.service"; - allPkgs = lib.singleton (builtins.toJSON unitAttrs); - unitPkgs = if fullUnit then allPkgs else execPkgs; - in unitPkgs ++ lib.optional (binSh != null) binSh; - }; - })); + type = types.attrsOf ( + types.submodule ( + { name, config, ... }: + { + options.confinement.enable = lib.mkOption { + type = types.bool; + default = false; + description = '' + If set, all the required runtime store paths for this service are + bind-mounted into a `tmpfs`-based + {manpage}`chroot(2)`. + ''; + }; + + options.confinement.fullUnit = lib.mkOption { + type = types.bool; + default = false; + description = '' + Whether to include the full closure of the systemd unit file into the + chroot, instead of just the dependencies for the executables. + + ::: {.warning} + While it may be tempting to just enable this option to + make things work quickly, please be aware that this might add paths + to the closure of the chroot that you didn't anticipate. It's better + to use {option}`confinement.packages` to **explicitly** add additional store paths to the + chroot. + ::: + ''; + }; + + options.confinement.packages = lib.mkOption { + type = types.listOf (types.either types.str types.package); + default = [ ]; + description = + let + mkScOption = optName: "{option}`serviceConfig.${optName}`"; + in + '' + Additional packages or strings with context to add to the closure of + the chroot. By default, this includes all the packages from the + ${ + lib.concatMapStringsSep ", " mkScOption [ + "ExecReload" + "ExecStartPost" + "ExecStartPre" + "ExecStop" + "ExecStopPost" + ] + } and ${mkScOption "ExecStart"} options. If you want to have all the + dependencies of this systemd unit, you can use + {option}`confinement.fullUnit`. + + ::: {.note} + The store paths listed in {option}`path` are + **not** included in the closure as + well as paths from other options except those listed + above. + ::: + ''; + }; + + options.confinement.binSh = lib.mkOption { + type = types.nullOr types.path; + default = toplevelConfig.environment.binsh; + defaultText = lib.literalExpression "config.environment.binsh"; + example = lib.literalExpression ''"''${pkgs.dash}/bin/dash"''; + description = '' + The program to make available as {file}`/bin/sh` inside + the chroot. If this is set to `null`, no + {file}`/bin/sh` is provided at all. + + This is useful for some applications, which for example use the + {manpage}`system(3)` library function to execute commands. + ''; + }; + + options.confinement.mode = lib.mkOption { + type = types.enum [ + "full-apivfs" + "chroot-only" + ]; + default = "full-apivfs"; + description = '' + The value `full-apivfs` (the default) sets up + private {file}`/dev`, {file}`/proc`, + {file}`/sys`, {file}`/tmp` and {file}`/var/tmp` file systems + in a separate user name space. + + If this is set to `chroot-only`, only the file + system name space is set up along with the call to + {manpage}`chroot(2)`. + + In all cases, unless `serviceConfig.PrivateTmp=true` is set, + both {file}`/tmp` and {file}`/var/tmp` paths are added to `InaccessiblePaths=`. + This is to overcome options like `DynamicUser=true` + implying `PrivateTmp=true` without letting it being turned off. + Beware however that giving processes the `CAP_SYS_ADMIN` and `@mount` privileges + can let them undo the effects of `InaccessiblePaths=`. + + ::: {.note} + This doesn't cover network namespaces and is solely for + file system level isolation. + ::: + ''; + }; + + config = + let + inherit (config.confinement) binSh fullUnit; + wantsAPIVFS = lib.mkDefault (config.confinement.mode == "full-apivfs"); + in + lib.mkIf config.confinement.enable { + serviceConfig = { + ReadOnlyPaths = [ "+/" ]; + RuntimeDirectory = [ "confinement/${mkPathSafeName name}" ]; + RootDirectory = "/run/confinement/${mkPathSafeName name}"; + InaccessiblePaths = [ + "-+/run/confinement/${mkPathSafeName name}" + ]; + PrivateMounts = lib.mkDefault true; + + # https://github.com/NixOS/nixpkgs/issues/14645 is a future attempt + # to change some of these to default to true. + # + # If we run in chroot-only mode, having something like PrivateDevices + # set to true by default will mount /dev within the chroot, whereas + # with "chroot-only" it's expected that there are no /dev, /proc and + # /sys file systems available. + # + # However, if this suddenly becomes true, the attack surface will + # increase, so let's explicitly set these options to true/false + # depending on the mode. + MountAPIVFS = wantsAPIVFS; + PrivateDevices = wantsAPIVFS; + PrivateTmp = wantsAPIVFS; + PrivateUsers = wantsAPIVFS; + ProtectControlGroups = wantsAPIVFS; + ProtectKernelModules = wantsAPIVFS; + ProtectKernelTunables = wantsAPIVFS; + }; + confinement.packages = + let + execOpts = [ + "ExecReload" + "ExecStart" + "ExecStartPost" + "ExecStartPre" + "ExecStop" + "ExecStopPost" + ]; + execPkgs = lib.concatMap ( + opt: + let + isSet = config.serviceConfig ? ${opt}; + in + lib.flatten (lib.optional isSet config.serviceConfig.${opt}) + ) execOpts; + unitAttrs = toplevelConfig.systemd.units."${name}.service"; + allPkgs = lib.singleton (builtins.toJSON unitAttrs); + unitPkgs = if fullUnit then allPkgs else execPkgs; + in + unitPkgs ++ lib.optional (binSh != null) binSh; + }; + } + ) + ); }; - config.assertions = lib.concatLists (lib.mapAttrsToList (name: cfg: let - whatOpt = optName: "The 'serviceConfig' option '${optName}' for" - + " service '${name}' is enabled in conjunction with" - + " 'confinement.enable'"; - in lib.optionals cfg.confinement.enable [ - { assertion = !cfg.serviceConfig.RootDirectoryStartOnly or false; - message = "${whatOpt "RootDirectoryStartOnly"}, but right now systemd" - + " doesn't support restricting bind-mounts to 'ExecStart'." - + " Please either define a separate service or find a way to run" - + " commands other than ExecStart within the chroot."; - } - ]) config.systemd.services); - - config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let - rootPaths = let - contents = lib.concatStringsSep "\n" cfg.confinement.packages; - in pkgs.writeText "${mkPathSafeName name}-string-contexts.txt" contents; - - chrootPaths = pkgs.runCommand "${mkPathSafeName name}-chroot-paths" { - closureInfo = pkgs.closureInfo { inherit rootPaths; }; - serviceName = "${name}.service"; - excludedPath = rootPaths; - } '' - mkdir -p "$out/lib/systemd/system/$serviceName.d" - serviceFile="$out/lib/systemd/system/$serviceName.d/confinement.conf" - - echo '[Service]' > "$serviceFile" - - # /bin/sh is special here, because the option value could contain a - # symlink and we need to properly resolve it. - ${lib.optionalString (cfg.confinement.binSh != null) '' - binsh=${lib.escapeShellArg cfg.confinement.binSh} - realprog="$(readlink -e "$binsh")" - echo "BindReadOnlyPaths=$realprog:/bin/sh" >> "$serviceFile" - ''} - - # If DynamicUser= is enabled, PrivateTmp=true is implied (and cannot be turned off). - # so disable them unless PrivateTmp=true is explicitely set. - ${lib.optionalString (!cfg.serviceConfig.PrivateTmp) '' - echo "InaccessiblePaths=-+/tmp" >> "$serviceFile" - echo "InaccessiblePaths=-+/var/tmp" >> "$serviceFile" - ''} - - while read storePath; do - if [ -L "$storePath" ]; then - # Currently, systemd can't cope with symlinks in Bind(ReadOnly)Paths, - # so let's just bind-mount the target to that location. - echo "BindReadOnlyPaths=$(readlink -e "$storePath"):$storePath" - elif [ "$storePath" != "$excludedPath" ]; then - echo "BindReadOnlyPaths=$storePath" - fi - done < "$closureInfo/store-paths" >> "$serviceFile" - ''; - in lib.optional cfg.confinement.enable chrootPaths) config.systemd.services); + config.assertions = lib.concatLists ( + lib.mapAttrsToList ( + name: cfg: + let + whatOpt = + optName: + "The 'serviceConfig' option '${optName}' for" + + " service '${name}' is enabled in conjunction with" + + " 'confinement.enable'"; + in + lib.optionals cfg.confinement.enable [ + { + assertion = !cfg.serviceConfig.RootDirectoryStartOnly or false; + message = + "${whatOpt "RootDirectoryStartOnly"}, but right now systemd" + + " doesn't support restricting bind-mounts to 'ExecStart'." + + " Please either define a separate service or find a way to run" + + " commands other than ExecStart within the chroot."; + } + ] + ) config.systemd.services + ); + + config.systemd.packages = lib.concatLists ( + lib.mapAttrsToList ( + name: cfg: + let + rootPaths = + let + contents = lib.concatStringsSep "\n" cfg.confinement.packages; + in + pkgs.writeText "${mkPathSafeName name}-string-contexts.txt" contents; + + chrootPaths = + pkgs.runCommand "${mkPathSafeName name}-chroot-paths" + { + closureInfo = pkgs.closureInfo { inherit rootPaths; }; + serviceName = "${name}.service"; + excludedPath = rootPaths; + } + '' + mkdir -p "$out/lib/systemd/system/$serviceName.d" + serviceFile="$out/lib/systemd/system/$serviceName.d/confinement.conf" + + echo '[Service]' > "$serviceFile" + + # /bin/sh is special here, because the option value could contain a + # symlink and we need to properly resolve it. + ${lib.optionalString (cfg.confinement.binSh != null) '' + binsh=${lib.escapeShellArg cfg.confinement.binSh} + realprog="$(readlink -e "$binsh")" + echo "BindReadOnlyPaths=$realprog:/bin/sh" >> "$serviceFile" + ''} + + # If DynamicUser= is enabled, PrivateTmp=true is implied (and cannot be turned off). + # so disable them unless PrivateTmp=true is explicitely set. + ${lib.optionalString (!cfg.serviceConfig.PrivateTmp) '' + echo "InaccessiblePaths=-+/tmp" >> "$serviceFile" + echo "InaccessiblePaths=-+/var/tmp" >> "$serviceFile" + ''} + + while read storePath; do + if [ -L "$storePath" ]; then + # Currently, systemd can't cope with symlinks in Bind(ReadOnly)Paths, + # so let's just bind-mount the target to that location. + echo "BindReadOnlyPaths=$(readlink -e "$storePath"):$storePath" + elif [ "$storePath" != "$excludedPath" ]; then + echo "BindReadOnlyPaths=$storePath" + fi + done < "$closureInfo/store-paths" >> "$serviceFile" + ''; + in + lib.optional cfg.confinement.enable chrootPaths + ) config.systemd.services + ); } diff --git a/nixos/modules/security/tpm2.nix b/nixos/modules/security/tpm2.nix index bd3c8a5b0c435..f60adb24cdbee 100644 --- a/nixos/modules/security/tpm2.nix +++ b/nixos/modules/security/tpm2.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.security.tpm2; @@ -8,14 +13,15 @@ let # Therefore, if either of the two are null, the respective part isn't generated udevRules = tssUser: tssGroup: '' ${lib.optionalString (tssUser != null) ''KERNEL=="tpm[0-9]*", MODE="0660", OWNER="${tssUser}"''} - ${lib.optionalString (tssUser != null || tssGroup != null) - ''KERNEL=="tpmrm[0-9]*", MODE="0660"'' + ${ + lib.optionalString (tssUser != null || tssGroup != null) ''KERNEL=="tpmrm[0-9]*", MODE="0660"'' + lib.optionalString (tssUser != null) '', OWNER="${tssUser}"'' + lib.optionalString (tssGroup != null) '', GROUP="${tssGroup}"'' - } + } ''; -in { +in +{ options.security.tpm2 = { enable = lib.mkEnableOption "Trusted Platform Module 2 support"; @@ -91,7 +97,10 @@ in { The name of the TPM command transmission interface (TCTI) library to use. ''; - type = lib.types.enum [ "tabrmd" "device" ]; + type = lib.types.enum [ + "tabrmd" + "device" + ]; default = "device"; }; @@ -121,54 +130,60 @@ in { }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - # PKCS11 tools and library - environment.systemPackages = lib.mkIf cfg.pkcs11.enable [ - (lib.getBin cfg.pkcs11.package) - (lib.getLib cfg.pkcs11.package) - ]; - - services.udev.extraRules = lib.mkIf cfg.applyUdevRules - (udevRules cfg.tssUser cfg.tssGroup); - - # Create the tss user and group only if the default value is used - users.users.${cfg.tssUser} = lib.mkIf (cfg.tssUser == "tss") { - isSystemUser = true; - group = "tss"; - }; - users.groups.${cfg.tssGroup} = lib.mkIf (cfg.tssGroup == "tss") {}; - - environment.variables = lib.mkIf cfg.tctiEnvironment.enable ( - lib.attrsets.genAttrs [ - "TPM2TOOLS_TCTI" - "TPM2_PKCS11_TCTI" - ] (_: ''${cfg.tctiEnvironment.interface}:${ - if cfg.tctiEnvironment.interface == "tabrmd" then - cfg.tctiEnvironment.tabrmdConf - else - cfg.tctiEnvironment.deviceConf - }'') - ); - } - - (lib.mkIf cfg.abrmd.enable { - systemd.services."tpm2-abrmd" = { - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "dbus"; - Restart = "always"; - RestartSec = 30; - BusName = "com.intel.tss2.Tabrmd"; - ExecStart = "${cfg.abrmd.package}/bin/tpm2-abrmd"; - User = "tss"; - Group = "tss"; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + # PKCS11 tools and library + environment.systemPackages = lib.mkIf cfg.pkcs11.enable [ + (lib.getBin cfg.pkcs11.package) + (lib.getLib cfg.pkcs11.package) + ]; + + services.udev.extraRules = lib.mkIf cfg.applyUdevRules (udevRules cfg.tssUser cfg.tssGroup); + + # Create the tss user and group only if the default value is used + users.users.${cfg.tssUser} = lib.mkIf (cfg.tssUser == "tss") { + isSystemUser = true; + group = "tss"; + }; + users.groups.${cfg.tssGroup} = lib.mkIf (cfg.tssGroup == "tss") { }; + + environment.variables = lib.mkIf cfg.tctiEnvironment.enable ( + lib.attrsets.genAttrs + [ + "TPM2TOOLS_TCTI" + "TPM2_PKCS11_TCTI" + ] + ( + _: + ''${cfg.tctiEnvironment.interface}:${ + if cfg.tctiEnvironment.interface == "tabrmd" then + cfg.tctiEnvironment.tabrmdConf + else + cfg.tctiEnvironment.deviceConf + }'' + ) + ); + } + + (lib.mkIf cfg.abrmd.enable { + systemd.services."tpm2-abrmd" = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "dbus"; + Restart = "always"; + RestartSec = 30; + BusName = "com.intel.tss2.Tabrmd"; + ExecStart = "${cfg.abrmd.package}/bin/tpm2-abrmd"; + User = "tss"; + Group = "tss"; + }; }; - }; - services.dbus.packages = lib.singleton cfg.abrmd.package; - }) - ]); + services.dbus.packages = lib.singleton cfg.abrmd.package; + }) + ] + ); meta.maintainers = with lib.maintainers; [ lschuermann ]; } diff --git a/nixos/modules/security/wrappers/wrapper.nix b/nixos/modules/security/wrappers/wrapper.nix index ca4b27bff1801..13e328ffcc378 100644 --- a/nixos/modules/security/wrappers/wrapper.nix +++ b/nixos/modules/security/wrappers/wrapper.nix @@ -1,17 +1,33 @@ -{ stdenv, unsecvars, linuxHeaders, sourceProg, debug ? false }: +{ + stdenv, + unsecvars, + linuxHeaders, + sourceProg, + debug ? false, +}: # For testing: # $ nix-build -E 'with import {}; pkgs.callPackage ./wrapper.nix { sourceProg = "${pkgs.hello}/bin/hello"; debug = true; }' stdenv.mkDerivation { name = "security-wrapper-${baseNameOf sourceProg}"; buildInputs = [ linuxHeaders ]; dontUnpack = true; - CFLAGS = [ - ''-DSOURCE_PROG="${sourceProg}"'' - ] ++ (if debug then [ - "-Werror" "-Og" "-g" - ] else [ - "-Wall" "-O2" - ]); + CFLAGS = + [ + ''-DSOURCE_PROG="${sourceProg}"'' + ] + ++ ( + if debug then + [ + "-Werror" + "-Og" + "-g" + ] + else + [ + "-Wall" + "-O2" + ] + ); dontStrip = debug; installPhase = '' mkdir -p $out/bin diff --git a/nixos/modules/services/admin/docuum.nix b/nixos/modules/services/admin/docuum.nix index 51a21740b276a..a2516cf9eb94e 100644 --- a/nixos/modules/services/admin/docuum.nix +++ b/nixos/modules/services/admin/docuum.nix @@ -1,8 +1,22 @@ -{ config, pkgs, lib, utils, ... }: +{ + config, + pkgs, + lib, + utils, + ... +}: let cfg = config.services.docuum; - inherit (lib) mkIf mkEnableOption mkOption getExe types optionals concatMap; + inherit (lib) + mkIf + mkEnableOption + mkOption + getExe + types + optionals + concatMap + ; in { options.services.docuum = { @@ -25,7 +39,7 @@ in keep = mkOption { description = "Prevents deletion of images for which repository:tag matches the specified regex."; type = types.listOf types.str; - default = []; + default = [ ]; example = [ "^my-image" ]; }; @@ -56,12 +70,22 @@ in DynamicUser = true; StateDirectory = "docuum"; SupplementaryGroups = [ "docker" ]; - ExecStart = utils.escapeSystemdExecArgs ([ - (getExe pkgs.docuum) - "--threshold" cfg.threshold - "--deletion-chunk-size" cfg.deletionChunkSize - ] ++ (concatMap (keep: [ "--keep" keep ]) cfg.keep) - ++ (optionals (cfg.minAge != null) [ "--min-age" cfg.minAge ]) + ExecStart = utils.escapeSystemdExecArgs ( + [ + (getExe pkgs.docuum) + "--threshold" + cfg.threshold + "--deletion-chunk-size" + cfg.deletionChunkSize + ] + ++ (concatMap (keep: [ + "--keep" + keep + ]) cfg.keep) + ++ (optionals (cfg.minAge != null) [ + "--min-age" + cfg.minAge + ]) ); }; }; diff --git a/nixos/modules/services/admin/meshcentral.nix b/nixos/modules/services/admin/meshcentral.nix index 6e0801e1c0894..6d8be447645d8 100644 --- a/nixos/modules/services/admin/meshcentral.nix +++ b/nixos/modules/services/admin/meshcentral.nix @@ -1,9 +1,16 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.meshcentral; - configFormat = pkgs.formats.json {}; + configFormat = pkgs.formats.json { }; configFile = configFormat.generate "meshcentral-config.json" cfg.settings; -in with lib; { +in +with lib; +{ options.services.meshcentral = with types; { enable = mkEnableOption "MeshCentral computer management server"; package = mkPackageOption pkgs "meshcentral" { }; @@ -31,9 +38,10 @@ in with lib; { }; }; config = mkIf cfg.enable { - services.meshcentral.settings.settings.autoBackup.backupPath = lib.mkDefault "/var/lib/meshcentral/backups"; + services.meshcentral.settings.settings.autoBackup.backupPath = + lib.mkDefault "/var/lib/meshcentral/backups"; systemd.services.meshcentral = { - wantedBy = ["multi-user.target"]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/meshcentral --datapath /var/lib/meshcentral --configfile ${configFile}"; DynamicUser = true; diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix index e209940674483..ad151c57666c7 100644 --- a/nixos/modules/services/admin/oxidized.nix +++ b/nixos/modules/services/admin/oxidized.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.oxidized; in @@ -105,7 +110,7 @@ in Group = cfg.group; UMask = "0077"; NoNewPrivileges = true; - Restart = "always"; + Restart = "always"; WorkingDirectory = cfg.dataDir; KillSignal = "SIGKILL"; PIDFile = "${cfg.dataDir}/.config/oxidized/pid"; diff --git a/nixos/modules/services/admin/pgadmin.nix b/nixos/modules/services/admin/pgadmin.nix index c9da556b763df..79cc14b828ec5 100644 --- a/nixos/modules/services/admin/pgadmin.nix +++ b/nixos/modules/services/admin/pgadmin.nix @@ -1,26 +1,65 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.pgadmin; - _base = with lib.types; [ int bool str ]; - base = with lib.types; oneOf ([ (listOf (oneOf _base)) (attrsOf (oneOf _base)) ] ++ _base); - - formatAttrset = attr: - "{${lib.concatStringsSep "\n" (lib.mapAttrsToList (key: value: "${builtins.toJSON key}: ${formatPyValue value},") attr)}}"; - - formatPyValue = value: - if builtins.isString value then builtins.toJSON value - else if value ? _expr then value._expr - else if builtins.isInt value then toString value - else if builtins.isBool value then (if value then "True" else "False") - else if builtins.isAttrs value then (formatAttrset value) - else if builtins.isList value then "[${lib.concatStringsSep "\n" (map (v: "${formatPyValue v},") value)}]" - else throw "Unrecognized type"; - - formatPy = attrs: - lib.concatStringsSep "\n" (lib.mapAttrsToList (key: value: "${key} = ${formatPyValue value}") attrs); - - pyType = with lib.types; attrsOf (oneOf [ (attrsOf base) (listOf base) base ]); + _base = with lib.types; [ + int + bool + str + ]; + base = + with lib.types; + oneOf ( + [ + (listOf (oneOf _base)) + (attrsOf (oneOf _base)) + ] + ++ _base + ); + + formatAttrset = + attr: + "{${ + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (key: value: "${builtins.toJSON key}: ${formatPyValue value},") attr + ) + }}"; + + formatPyValue = + value: + if builtins.isString value then + builtins.toJSON value + else if value ? _expr then + value._expr + else if builtins.isInt value then + toString value + else if builtins.isBool value then + (if value then "True" else "False") + else if builtins.isAttrs value then + (formatAttrset value) + else if builtins.isList value then + "[${lib.concatStringsSep "\n" (map (v: "${formatPyValue v},") value)}]" + else + throw "Unrecognized type"; + + formatPy = + attrs: + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (key: value: "${key} = ${formatPyValue value}") attrs + ); + + pyType = + with lib.types; + attrsOf (oneOf [ + (attrsOf base) + (listOf base) + base + ]); in { options.services.pgadmin = { @@ -118,21 +157,24 @@ in config = lib.mkIf (cfg.enable) { networking.firewall.allowedTCPPorts = lib.mkIf (cfg.openFirewall) [ cfg.port ]; - services.pgadmin.settings = { - DEFAULT_SERVER_PORT = cfg.port; - PASSWORD_LENGTH_MIN = cfg.minimumPasswordLength; - SERVER_MODE = true; - UPGRADE_CHECK_ENABLED = false; - } // (lib.optionalAttrs cfg.openFirewall { - DEFAULT_SERVER = lib.mkDefault "::"; - }) // (lib.optionalAttrs cfg.emailServer.enable { - MAIL_SERVER = cfg.emailServer.address; - MAIL_PORT = cfg.emailServer.port; - MAIL_USE_SSL = cfg.emailServer.useSSL; - MAIL_USE_TLS = cfg.emailServer.useTLS; - MAIL_USERNAME = cfg.emailServer.username; - SECURITY_EMAIL_SENDER = cfg.emailServer.sender; - }); + services.pgadmin.settings = + { + DEFAULT_SERVER_PORT = cfg.port; + PASSWORD_LENGTH_MIN = cfg.minimumPasswordLength; + SERVER_MODE = true; + UPGRADE_CHECK_ENABLED = false; + } + // (lib.optionalAttrs cfg.openFirewall { + DEFAULT_SERVER = lib.mkDefault "::"; + }) + // (lib.optionalAttrs cfg.emailServer.enable { + MAIL_SERVER = cfg.emailServer.address; + MAIL_PORT = cfg.emailServer.port; + MAIL_USE_SSL = cfg.emailServer.useSSL; + MAIL_USE_TLS = cfg.emailServer.useTLS; + MAIL_USERNAME = cfg.emailServer.username; + SECURITY_EMAIL_SENDER = cfg.emailServer.sender; + }); systemd.services.pgadmin = { wantedBy = [ "multi-user.target" ]; @@ -142,7 +184,11 @@ in # in case postgres doesn't start, pgadmin will just start normally wants = [ "postgresql.service" ]; - path = [ config.services.postgresql.package pkgs.coreutils pkgs.bash ]; + path = [ + config.services.postgresql.package + pkgs.coreutils + pkgs.bash + ]; preStart = '' # NOTE: this is idempotent (aka running it twice has no effect) @@ -179,8 +225,9 @@ in LogsDirectory = "pgadmin"; StateDirectory = "pgadmin"; ExecStart = "${cfg.package}/bin/pgadmin4"; - LoadCredential = [ "initial_password:${cfg.initialPasswordFile}" ] - ++ lib.optional cfg.emailServer.enable "email_password:${cfg.emailServer.passwordFile}"; + LoadCredential = [ + "initial_password:${cfg.initialPasswordFile}" + ] ++ lib.optional cfg.emailServer.enable "email_password:${cfg.emailServer.passwordFile}"; }; }; @@ -192,12 +239,14 @@ in users.groups.pgadmin = { }; environment.etc."pgadmin/config_system.py" = { - text = lib.optionalString cfg.emailServer.enable '' - import os - with open(os.path.join(os.environ['CREDENTIALS_DIRECTORY'], 'email_password')) as f: - pw = f.read() - MAIL_PASSWORD = pw - '' + formatPy cfg.settings; + text = + lib.optionalString cfg.emailServer.enable '' + import os + with open(os.path.join(os.environ['CREDENTIALS_DIRECTORY'], 'email_password')) as f: + pw = f.read() + MAIL_PASSWORD = pw + '' + + formatPy cfg.settings; mode = "0600"; user = "pgadmin"; group = "pgadmin"; diff --git a/nixos/modules/services/admin/salt/master.nix b/nixos/modules/services/admin/salt/master.nix index 1ffe6b6cb27aa..9f9eac11eb7a4 100644 --- a/nixos/modules/services/admin/salt/master.nix +++ b/nixos/modules/services/admin/salt/master.nix @@ -1,7 +1,12 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - cfg = config.services.salt.master; + cfg = config.services.salt.master; fullConfig = lib.recursiveUpdate { # Provide defaults for some directories to allow an immutable config dir @@ -20,7 +25,7 @@ in enable = lib.mkEnableOption "Salt configuration management system master service"; configuration = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; description = "Salt master configuration as Nix attribute set."; }; }; @@ -32,9 +37,7 @@ in # The alternatives are # - passing --config-dir to all salt commands, not just the master unit, # - setting a global environment variable, - etc."salt/master".source = pkgs.writeText "master" ( - builtins.toJSON fullConfig - ); + etc."salt/master".source = pkgs.writeText "master" (builtins.toJSON fullConfig); systemPackages = with pkgs; [ salt ]; }; systemd.services.salt-master = { @@ -42,7 +45,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; path = with pkgs; [ - util-linux # for dmesg + util-linux # for dmesg ]; serviceConfig = { ExecStart = "${pkgs.salt}/bin/salt-master"; diff --git a/nixos/modules/services/admin/salt/minion.nix b/nixos/modules/services/admin/salt/minion.nix index fde51a06769a9..55a6bacad8145 100644 --- a/nixos/modules/services/admin/salt/minion.nix +++ b/nixos/modules/services/admin/salt/minion.nix @@ -1,7 +1,12 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - cfg = config.services.salt.minion; + cfg = config.services.salt.minion; fullConfig = lib.recursiveUpdate { # Provide defaults for some directories to allow an immutable config dir @@ -21,7 +26,7 @@ in enable = lib.mkEnableOption "Salt configuration management system minion service"; configuration = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; description = '' Salt minion configuration as Nix attribute set. See @@ -37,9 +42,7 @@ in # The alternatives are # - passing --config-dir to all salt commands, not just the minion unit, # - setting aglobal environment variable. - etc."salt/minion".source = pkgs.writeText "minion" ( - builtins.toJSON fullConfig - ); + etc."salt/minion".source = pkgs.writeText "minion" (builtins.toJSON fullConfig); systemPackages = with pkgs; [ salt ]; }; systemd.services.salt-minion = { @@ -61,4 +64,3 @@ in }; }; } - diff --git a/nixos/modules/services/amqp/activemq/default.nix b/nixos/modules/services/amqp/activemq/default.nix index 53814d71a5ac4..c59cd65fab5c0 100644 --- a/nixos/modules/services/amqp/activemq/default.nix +++ b/nixos/modules/services/amqp/activemq/default.nix @@ -1,18 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.activemq; - activemqBroker = pkgs.runCommand "activemq-broker" - { - nativeBuildInputs = [ pkgs.jdk ]; - } '' - mkdir -p $out/lib - source ${pkgs.activemq}/lib/classpath.env - export CLASSPATH - ln -s "${./ActiveMQBroker.java}" ActiveMQBroker.java - javac -d $out/lib ActiveMQBroker.java - ''; + activemqBroker = + pkgs.runCommand "activemq-broker" + { + nativeBuildInputs = [ pkgs.jdk ]; + } + '' + mkdir -p $out/lib + source ${pkgs.activemq}/lib/classpath.env + export CLASSPATH + ln -s "${./ActiveMQBroker.java}" ActiveMQBroker.java + javac -d $out/lib ActiveMQBroker.java + ''; in { @@ -65,12 +72,15 @@ in "java.net.preferIPv4Stack" = "true"; } ''; - apply = attrs: { - "activemq.base" = "${cfg.baseDir}"; - "activemq.data" = "${cfg.baseDir}/data"; - "activemq.conf" = "${cfg.configurationDir}"; - "activemq.home" = "${pkgs.activemq}"; - } // attrs; + apply = + attrs: + { + "activemq.base" = "${cfg.baseDir}"; + "activemq.data" = "${cfg.baseDir}/data"; + "activemq.conf" = "${cfg.configurationDir}"; + "activemq.home" = "${pkgs.activemq}"; + } + // attrs; description = '' Specifies Java properties that are sent to the ActiveMQ broker service with the "-D" option. You can set properties @@ -120,7 +130,11 @@ in source ${pkgs.activemq}/lib/classpath.env export CLASSPATH=${activemqBroker}/lib:${cfg.configurationDir}:$CLASSPATH exec java \ - ${lib.concatStringsSep " \\\n" (lib.mapAttrsToList (name: value: "-D${name}=${value}") cfg.javaProperties)} \ + ${ + lib.concatStringsSep " \\\n" ( + lib.mapAttrsToList (name: value: "-D${name}=${value}") cfg.javaProperties + ) + } \ ${cfg.extraJavaOptions} ActiveMQBroker "${cfg.configurationURI}" ''; }; diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix index fba26591e0bae..39ff594c9f088 100644 --- a/nixos/modules/services/amqp/rabbitmq.nix +++ b/nixos/modules/services/amqp/rabbitmq.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rabbitmq; @@ -152,7 +157,6 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -171,12 +175,14 @@ in users.groups.rabbitmq.gid = config.ids.gids.rabbitmq; - services.rabbitmq.configItems = { - "listeners.tcp.1" = lib.mkDefault "${cfg.listenAddress}:${toString cfg.port}"; - } // lib.optionalAttrs cfg.managementPlugin.enable { - "management.tcp.port" = toString cfg.managementPlugin.port; - "management.tcp.ip" = cfg.listenAddress; - }; + services.rabbitmq.configItems = + { + "listeners.tcp.1" = lib.mkDefault "${cfg.listenAddress}:${toString cfg.port}"; + } + // lib.optionalAttrs cfg.managementPlugin.enable { + "management.tcp.port" = toString cfg.managementPlugin.port; + "management.tcp.ip" = cfg.listenAddress; + }; services.rabbitmq.plugins = lib.optional cfg.managementPlugin.enable "rabbitmq_management"; @@ -184,8 +190,14 @@ in description = "RabbitMQ Server"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "epmd.socket" ]; - wants = [ "network.target" "epmd.socket" ]; + after = [ + "network.target" + "epmd.socket" + ]; + wants = [ + "network.target" + "epmd.socket" + ]; path = [ cfg.package diff --git a/nixos/modules/services/audio/botamusique.nix b/nixos/modules/services/audio/botamusique.nix index 88ab232efae59..0ee641dd0df05 100644 --- a/nixos/modules/services/audio/botamusique.nix +++ b/nixos/modules/services/audio/botamusique.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.botamusique; - format = pkgs.formats.ini {}; + format = pkgs.formats.ini { }; configFile = format.generate "botamusique.ini" cfg.settings; in { @@ -14,36 +19,38 @@ in package = lib.mkPackageOption pkgs "botamusique" { }; settings = lib.mkOption { - type = with lib.types; submodule { - freeformType = format.type; - options = { - server.host = lib.mkOption { - type = types.str; - default = "localhost"; - example = "mumble.example.com"; - description = "Hostname of the mumble server to connect to."; - }; + type = + with lib.types; + submodule { + freeformType = format.type; + options = { + server.host = lib.mkOption { + type = types.str; + default = "localhost"; + example = "mumble.example.com"; + description = "Hostname of the mumble server to connect to."; + }; - server.port = lib.mkOption { - type = types.port; - default = 64738; - description = "Port of the mumble server to connect to."; - }; + server.port = lib.mkOption { + type = types.port; + default = 64738; + description = "Port of the mumble server to connect to."; + }; - bot.username = lib.mkOption { - type = types.str; - default = "botamusique"; - description = "Name the bot should appear with."; - }; + bot.username = lib.mkOption { + type = types.str; + default = "botamusique"; + description = "Name the bot should appear with."; + }; - bot.comment = lib.mkOption { - type = types.str; - default = "Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!"; - description = "Comment displayed for the bot."; + bot.comment = lib.mkOption { + type = types.str; + default = "Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!"; + description = "Comment displayed for the bot."; + }; }; }; - }; - default = {}; + default = { }; description = '' Your {file}`configuration.ini` as a Nix attribute set. Look up possible options in the [configuration.example.ini](https://github.com/azlux/botamusique/blob/master/configuration.example.ini). diff --git a/nixos/modules/services/audio/gmediarender.nix b/nixos/modules/services/audio/gmediarender.nix index ee16400d48d4a..ce4223880086b 100644 --- a/nixos/modules/services/audio/gmediarender.nix +++ b/nixos/modules/services/audio/gmediarender.nix @@ -1,4 +1,10 @@ -{ pkgs, lib, config, utils, ... }: +{ + pkgs, + lib, + config, + utils, + ... +}: let cfg = config.services.gmediarender; in @@ -74,13 +80,19 @@ in Group = "gmediarender"; SupplementaryGroups = [ "audio" ]; ExecStart = - "${cfg.package}/bin/gmediarender " + - lib.optionalString (cfg.audioDevice != null) ("--gstout-audiodevice=${utils.escapeSystemdExecArg cfg.audioDevice} ") + - lib.optionalString (cfg.audioSink != null) ("--gstout-audiosink=${utils.escapeSystemdExecArg cfg.audioSink} ") + - lib.optionalString (cfg.friendlyName != null) ("--friendly-name=${utils.escapeSystemdExecArg cfg.friendlyName} ") + - lib.optionalString (cfg.initialVolume != 0) ("--initial-volume=${toString cfg.initialVolume} ") + - lib.optionalString (cfg.port != null) ("--port=${toString cfg.port} ") + - lib.optionalString (cfg.uuid != null) ("--uuid=${utils.escapeSystemdExecArg cfg.uuid} "); + "${cfg.package}/bin/gmediarender " + + lib.optionalString (cfg.audioDevice != null) ( + "--gstout-audiodevice=${utils.escapeSystemdExecArg cfg.audioDevice} " + ) + + lib.optionalString (cfg.audioSink != null) ( + "--gstout-audiosink=${utils.escapeSystemdExecArg cfg.audioSink} " + ) + + lib.optionalString (cfg.friendlyName != null) ( + "--friendly-name=${utils.escapeSystemdExecArg cfg.friendlyName} " + ) + + lib.optionalString (cfg.initialVolume != 0) ("--initial-volume=${toString cfg.initialVolume} ") + + lib.optionalString (cfg.port != null) ("--port=${toString cfg.port} ") + + lib.optionalString (cfg.uuid != null) ("--uuid=${utils.escapeSystemdExecArg cfg.uuid} "); Restart = "always"; RuntimeDirectory = "gmediarender"; @@ -105,8 +117,11 @@ in RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; - UMask = 066; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + UMask = 66; }; }; }; diff --git a/nixos/modules/services/audio/goxlr-utility.nix b/nixos/modules/services/audio/goxlr-utility.nix index bd8f285d67393..f277c343e661d 100644 --- a/nixos/modules/services/audio/goxlr-utility.nix +++ b/nixos/modules/services/audio/goxlr-utility.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.goxlr-utility; in @@ -45,11 +50,10 @@ in services.udev.packages = [ cfg.package ]; xdg.autostart.enable = lib.mkIf cfg.autoStart.xdg true; - environment.systemPackages = lib.mkIf cfg.autoStart.xdg - [ - cfg.package - goxlr-autostart - ]; + environment.systemPackages = lib.mkIf cfg.autoStart.xdg [ + cfg.package + goxlr-autostart + ]; }; meta.maintainers = with lib.maintainers; [ errnoh ]; diff --git a/nixos/modules/services/audio/hqplayerd.nix b/nixos/modules/services/audio/hqplayerd.nix index 85e633b64457b..9eb09e86bb76d 100644 --- a/nixos/modules/services/audio/hqplayerd.nix +++ b/nixos/modules/services/audio/hqplayerd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hqplayerd; pkg = pkgs.hqplayerd; @@ -69,22 +74,28 @@ in config = lib.mkIf cfg.enable { assertions = [ { - assertion = (cfg.auth.username != null -> cfg.auth.password != null) - && (cfg.auth.password != null -> cfg.auth.username != null); + assertion = + (cfg.auth.username != null -> cfg.auth.password != null) + && (cfg.auth.password != null -> cfg.auth.username != null); message = "You must set either both services.hqplayer.auth.username and password, or neither."; } ]; environment = { etc = { - "hqplayer/hqplayerd.xml" = lib.mkIf (cfg.config != null) { source = pkgs.writeText "hqplayerd.xml" cfg.config; }; + "hqplayer/hqplayerd.xml" = lib.mkIf (cfg.config != null) { + source = pkgs.writeText "hqplayerd.xml" cfg.config; + }; "hqplayer/hqplayerd4-key.xml" = lib.mkIf (cfg.licenseFile != null) { source = cfg.licenseFile; }; }; systemPackages = [ pkg ]; }; networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = [ 8088 4321 ]; + allowedTCPPorts = [ + 8088 + 4321 + ]; }; systemd = { @@ -102,21 +113,28 @@ in environment.HOME = "${stateDir}/home"; - unitConfig.ConditionPathExists = [ configDir stateDir ]; - - restartTriggers = lib.optionals (cfg.config != null) [ config.environment.etc."hqplayer/hqplayerd.xml".source ]; - - preStart = '' - cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}" - chmod -R u+wX "${stateDir}/web" - - if [ ! -f "${configDir}/hqplayerd.xml" ]; then - echo "creating initial config file" - install -m 0644 "${pkg}/etc/hqplayer/hqplayerd.xml" "${configDir}/hqplayerd.xml" - fi - '' + lib.optionalString (cfg.auth.username != null && cfg.auth.password != null) '' - ${pkg}/bin/hqplayerd -s ${cfg.auth.username} ${cfg.auth.password} - ''; + unitConfig.ConditionPathExists = [ + configDir + stateDir + ]; + + restartTriggers = lib.optionals (cfg.config != null) [ + config.environment.etc."hqplayer/hqplayerd.xml".source + ]; + + preStart = + '' + cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}" + chmod -R u+wX "${stateDir}/web" + + if [ ! -f "${configDir}/hqplayerd.xml" ]; then + echo "creating initial config file" + install -m 0644 "${pkg}/etc/hqplayer/hqplayerd.xml" "${configDir}/hqplayerd.xml" + fi + '' + + lib.optionalString (cfg.auth.username != null && cfg.auth.password != null) '' + ${pkg}/bin/hqplayerd -s ${cfg.auth.username} ${cfg.auth.password} + ''; }; }; @@ -127,7 +145,10 @@ in users.users = { hqplayer = { description = "hqplayer daemon user"; - extraGroups = [ "audio" "video" ]; + extraGroups = [ + "audio" + "video" + ]; group = "hqplayer"; uid = config.ids.uids.hqplayer; }; diff --git a/nixos/modules/services/audio/icecast.nix b/nixos/modules/services/audio/icecast.nix index 820674c4341dc..930b6af004a25 100644 --- a/nixos/modules/services/audio/icecast.nix +++ b/nixos/modules/services/audio/icecast.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.icecast; configFile = pkgs.writeText "icecast.xml" '' @@ -33,7 +38,8 @@ let ${cfg.extraConf} ''; -in { +in +{ ###### interface @@ -105,7 +111,6 @@ in { }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix index c71b8ff13fa6b..476bd40c10e18 100644 --- a/nixos/modules/services/audio/jack.nix +++ b/nixos/modules/services/audio/jack.nix @@ -1,15 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jack; pcmPlugin = cfg.jackd.enable && cfg.alsa.enable; loopback = cfg.jackd.enable && cfg.loopback.enable; - enable32BitAlsaPlugins = cfg.alsa.support32Bit && pkgs.stdenv.hostPlatform.isx86_64 && pkgs.pkgsi686Linux.alsa-lib != null; + enable32BitAlsaPlugins = + cfg.alsa.support32Bit && pkgs.stdenv.hostPlatform.isx86_64 && pkgs.pkgsi686Linux.alsa-lib != null; umaskNeeded = lib.versionOlder cfg.jackd.package.version "1.9.12"; bridgeNeeded = lib.versionAtLeast cfg.jackd.package.version "1.9.12"; -in { +in +{ options = { services.jack = { jackd = { @@ -17,12 +24,14 @@ in { JACK Audio Connection Kit. You need to add yourself to the "jackaudio" group ''; - package = lib.mkPackageOption pkgs "jack2" { - example = "jack1"; - } // { - # until jack1 promiscuous mode is fixed - internal = true; - }; + package = + lib.mkPackageOption pkgs "jack2" { + example = "jack1"; + } + // { + # until jack1 promiscuous mode is fixed + internal = true; + }; extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; @@ -122,8 +131,7 @@ in { environment.etc."alsa/conf.d/98-jack.conf".text = '' pcm_type.jack { libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ; - ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;"} + ${lib.optionalString enable32BitAlsaPlugins "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;"} } pcm.!default { @func getenv @@ -219,10 +227,20 @@ in { }; # https://jackaudio.org/faq/linux_rt_config.html security.pam.loginLimits = [ - { domain = "@jackaudio"; type = "-"; item = "rtprio"; value = "99"; } - { domain = "@jackaudio"; type = "-"; item = "memlock"; value = "unlimited"; } + { + domain = "@jackaudio"; + type = "-"; + item = "rtprio"; + value = "99"; + } + { + domain = "@jackaudio"; + type = "-"; + item = "memlock"; + value = "unlimited"; + } ]; - users.groups.jackaudio = {}; + users.groups.jackaudio = { }; environment = { systemPackages = [ cfg.jackd.package ]; @@ -236,17 +254,19 @@ in { systemd.services.jack = { description = "JACK Audio Connection Kit"; - serviceConfig = { - User = "jackaudio"; - SupplementaryGroups = lib.optional - (config.hardware.pulseaudio.enable - && !config.hardware.pulseaudio.systemWide) "users"; - ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}"; - LimitRTPRIO = 99; - LimitMEMLOCK = "infinity"; - } // lib.optionalAttrs umaskNeeded { - UMask = "007"; - }; + serviceConfig = + { + User = "jackaudio"; + SupplementaryGroups = lib.optional ( + config.hardware.pulseaudio.enable && !config.hardware.pulseaudio.systemWide + ) "users"; + ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}"; + LimitRTPRIO = 99; + LimitMEMLOCK = "infinity"; + } + // lib.optionalAttrs umaskNeeded { + UMask = "007"; + }; path = [ cfg.jackd.package ]; environment = { JACK_PROMISCUOUS_SERVER = "jackaudio"; diff --git a/nixos/modules/services/audio/jmusicbot.nix b/nixos/modules/services/audio/jmusicbot.nix index 6cd348e68e454..e8aae5484aa69 100644 --- a/nixos/modules/services/audio/jmusicbot.nix +++ b/nixos/modules/services/audio/jmusicbot.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jmusicbot; in @@ -27,14 +32,16 @@ in wants = [ "network-online.target" ]; after = [ "network-online.target" ]; description = "Discord music bot that's easy to set up and run yourself!"; - serviceConfig = lib.mkMerge [{ - ExecStart = "${cfg.package}/bin/JMusicBot"; - WorkingDirectory = cfg.stateDir; - Restart = "always"; - RestartSec = 20; - DynamicUser = true; - } - (lib.mkIf (cfg.stateDir == "/var/lib/jmusicbot") { StateDirectory = "jmusicbot"; })]; + serviceConfig = lib.mkMerge [ + { + ExecStart = "${cfg.package}/bin/JMusicBot"; + WorkingDirectory = cfg.stateDir; + Restart = "always"; + RestartSec = 20; + DynamicUser = true; + } + (lib.mkIf (cfg.stateDir == "/var/lib/jmusicbot") { StateDirectory = "jmusicbot"; }) + ]; }; }; diff --git a/nixos/modules/services/audio/liquidsoap.nix b/nixos/modules/services/audio/liquidsoap.nix index ece282f0568ff..5a070a9b2116b 100644 --- a/nixos/modules/services/audio/liquidsoap.nix +++ b/nixos/modules/services/audio/liquidsoap.nix @@ -1,13 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let streams = builtins.attrNames config.services.liquidsoap.streams; streamService = name: - let stream = builtins.getAttr name config.services.liquidsoap.streams; in - { inherit name; + let + stream = builtins.getAttr name config.services.liquidsoap.streams; + in + { + inherit name; value = { - after = [ "network-online.target" "sound.target" ]; + after = [ + "network-online.target" + "sound.target" + ]; description = "${name} liquidsoap stream"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.wget ]; @@ -29,11 +40,11 @@ in services.liquidsoap.streams = lib.mkOption { description = '' - Set of Liquidsoap streams to start, - one systemd service per stream. - ''; + Set of Liquidsoap streams to start, + one systemd service per stream. + ''; - default = {}; + default = { }; example = lib.literalExpression '' { @@ -62,7 +73,7 @@ in users.groups.liquidsoap.gid = config.ids.gids.liquidsoap; - systemd.services = builtins.listToAttrs ( map streamService streams ); + systemd.services = builtins.listToAttrs (map streamService streams); }; } diff --git a/nixos/modules/services/audio/mopidy.nix b/nixos/modules/services/audio/mopidy.nix index 235a5a896e05b..51065c0bf0bfe 100644 --- a/nixos/modules/services/audio/mopidy.nix +++ b/nixos/modules/services/audio/mopidy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let uid = config.ids.uids.mopidy; gid = config.ids.gids.mopidy; @@ -17,7 +22,8 @@ let --prefix PYTHONPATH : $out/${pkgs.mopidyPackages.python.sitePackages} ''; }; -in { +in +{ options = { @@ -34,7 +40,7 @@ in { }; extensionPackages = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.package; example = lib.literalExpression "[ pkgs.mopidy-spotify ]"; description = '' @@ -51,7 +57,7 @@ in { }; extraConfigFiles = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; description = '' Extra config file read by Mopidy when the service starts. @@ -72,11 +78,16 @@ in { systemd.services.mopidy = { wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" "sound.target" ]; + after = [ + "network-online.target" + "sound.target" + ]; wants = [ "network-online.target" ]; description = "mopidy music player daemon"; serviceConfig = { - ExecStart = "${mopidyEnv}/bin/mopidy --config ${lib.concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)}"; + ExecStart = "${mopidyEnv}/bin/mopidy --config ${ + lib.concatStringsSep ":" ([ mopidyConf ] ++ cfg.extraConfigFiles) + }"; Restart = "on-failure"; User = "mopidy"; }; @@ -85,7 +96,9 @@ in { systemd.services.mopidy-scan = { description = "mopidy local files scanner"; serviceConfig = { - ExecStart = "${mopidyEnv}/bin/mopidy --config ${lib.concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)} local scan"; + ExecStart = "${mopidyEnv}/bin/mopidy --config ${ + lib.concatStringsSep ":" ([ mopidyConf ] ++ cfg.extraConfigFiles) + } local scan"; User = "mopidy"; Type = "oneshot"; }; diff --git a/nixos/modules/services/audio/mpdscribble.nix b/nixos/modules/services/audio/mpdscribble.nix index 9e1f2c50a924e..967853ffc85c0 100644 --- a/nixos/modules/services/audio/mpdscribble.nix +++ b/nixos/modules/services/audio/mpdscribble.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.mpdscribble; mpdCfg = config.services.mpd; @@ -55,21 +61,26 @@ let cfgFile = "/run/mpdscribble/mpdscribble.conf"; - replaceSecret = secretFile: placeholder: targetFile: - lib.optionalString (secretFile != null) '' - ${pkgs.replace-secret}/bin/replace-secret '${placeholder}' '${secretFile}' '${targetFile}' ''; + replaceSecret = + secretFile: placeholder: targetFile: + lib.optionalString ( + secretFile != null + ) ''${pkgs.replace-secret}/bin/replace-secret '${placeholder}' '${secretFile}' '${targetFile}' ''; preStart = pkgs.writeShellScript "mpdscribble-pre-start" '' cp -f "${cfgTemplate}" "${cfgFile}" ${replaceSecret cfg.passwordFile "{{MPD_PASSWORD}}" cfgFile} - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (secname: cfg: - replaceSecret cfg.passwordFile "{{${secname}_PASSWORD}}" cfgFile) - cfg.endpoints)} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + secname: cfg: replaceSecret cfg.passwordFile "{{${secname}_PASSWORD}}" cfgFile + ) cfg.endpoints + )} ''; localMpd = (cfg.host == "localhost" || cfg.host == "127.0.0.1"); -in { +in +{ ###### interface options.services.mpdscribble = { @@ -102,10 +113,9 @@ in { }; host = lib.mkOption { - default = (if mpdCfg.network.listenAddress != "any" then - mpdCfg.network.listenAddress - else - "localhost"); + default = ( + if mpdCfg.network.listenAddress != "any" then mpdCfg.network.listenAddress else "localhost" + ); defaultText = lib.literalExpression '' if config.${mpdOpt.network.listenAddress} != "any" then config.${mpdOpt.network.listenAddress} @@ -118,13 +128,13 @@ in { }; passwordFile = lib.mkOption { - default = if localMpd then - (lib.findFirst - (c: lib.any (x: x == "read") c.permissions) - { passwordFile = null; } - mpdCfg.credentials).passwordFile - else - null; + default = + if localMpd then + (lib.findFirst (c: lib.any (x: x == "read") c.permissions) { + passwordFile = null; + } mpdCfg.credentials).passwordFile + else + null; defaultText = lib.literalMD '' The first password file with read access configured for MPD when using a local instance, otherwise `null`. @@ -147,27 +157,32 @@ in { }; endpoints = lib.mkOption { - type = (let - endpoint = { name, ... }: { - options = { - url = lib.mkOption { - type = lib.types.str; - default = endpointUrls.${name} or ""; - description = "The url endpoint where the scrobble API is listening."; + type = ( + let + endpoint = + { name, ... }: + { + options = { + url = lib.mkOption { + type = lib.types.str; + default = endpointUrls.${name} or ""; + description = "The url endpoint where the scrobble API is listening."; + }; + username = lib.mkOption { + type = lib.types.str; + description = '' + Username for the scrobble service. + ''; + }; + passwordFile = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = "File containing the password, either as MD5SUM or cleartext."; + }; + }; }; - username = lib.mkOption { - type = lib.types.str; - description = '' - Username for the scrobble service. - ''; - }; - passwordFile = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = "File containing the password, either as MD5SUM or cleartext."; - }; - }; - }; - in lib.types.attrsOf (lib.types.submodule endpoint)); + in + lib.types.attrsOf (lib.types.submodule endpoint) + ); default = { }; example = { "last.fm" = { @@ -177,9 +192,7 @@ in { }; description = '' Endpoints to scrobble to. - If the endpoint is one of "${ - lib.concatStringsSep "\", \"" (lib.attrNames endpointUrls) - }" the url is set automatically. + If the endpoint is one of "${lib.concatStringsSep "\", \"" (lib.attrNames endpointUrls)}" the url is set automatically. ''; }; @@ -199,8 +212,7 @@ in { RuntimeDirectoryMode = "700"; # TODO use LoadCredential= instead of running preStart with full privileges? ExecStartPre = "+${preStart}"; - ExecStart = - "${pkgs.mpdscribble}/bin/mpdscribble --no-daemon --conf ${cfgFile}"; + ExecStart = "${pkgs.mpdscribble}/bin/mpdscribble --no-daemon --conf ${cfgFile}"; }; }; }; diff --git a/nixos/modules/services/audio/music-assistant.nix b/nixos/modules/services/audio/music-assistant.nix index 90c0b41fc587f..aaabe5c3ac4c3 100644 --- a/nixos/modules/services/audio/music-assistant.nix +++ b/nixos/modules/services/audio/music-assistant.nix @@ -13,13 +13,13 @@ let mkOption mkPackageOption types - ; + ; inherit (types) listOf enum str - ; + ; cfg = config.services.music-assistant; @@ -38,7 +38,10 @@ in extraOptions = mkOption { type = listOf str; - default = [ "--config" "/var/lib/music-assistant" ]; + default = [ + "--config" + "/var/lib/music-assistant" + ]; example = [ "--log-level" "DEBUG" @@ -50,7 +53,7 @@ in providers = mkOption { type = listOf (enum cfg.package.providerNames); - default = []; + default = [ ]; example = [ "opensubsonic" "snapcast" @@ -74,9 +77,12 @@ in }; serviceConfig = { - ExecStart = utils.escapeSystemdExecArgs ([ - (lib.getExe cfg.package) - ] ++ cfg.extraOptions); + ExecStart = utils.escapeSystemdExecArgs ( + [ + (lib.getExe cfg.package) + ] + ++ cfg.extraOptions + ); DynamicUser = true; StateDirectory = "music-assistant"; AmbientCapabilities = ""; diff --git a/nixos/modules/services/audio/mympd.nix b/nixos/modules/services/audio/mympd.nix index cb1357b61a80a..d6507133366da 100644 --- a/nixos/modules/services/audio/mympd.nix +++ b/nixos/modules/services/audio/mympd.nix @@ -1,15 +1,21 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let cfg = config.services.mympd; -in { +in +{ options = { services.mympd = { enable = lib.mkEnableOption "MyMPD server"; - package = lib.mkPackageOption pkgs "mympd" {}; + package = lib.mkPackageOption pkgs "mympd" { }; openFirewall = lib.mkOption { type = lib.types.bool; @@ -30,7 +36,15 @@ in { settings = lib.mkOption { type = lib.types.submodule { - freeformType = with lib.types; attrsOf (nullOr (oneOf [ str bool int ])); + freeformType = + with lib.types; + attrsOf ( + nullOr (oneOf [ + str + bool + int + ]) + ); options = { http_port = lib.mkOption { type = lib.types.port; @@ -76,9 +90,11 @@ in { mkdir -p "$config_dir" ${pipe cfg.settings [ - (mapAttrsToList (name: value: '' - echo -n "${if isBool value then boolToString value else toString value}" > "$config_dir/${name}" - '')) + (mapAttrsToList ( + name: value: '' + echo -n "${if isBool value then boolToString value else toString value}" > "$config_dir/${name}" + '' + )) (concatStringsSep "\n") ]} ''; diff --git a/nixos/modules/services/audio/networkaudiod.nix b/nixos/modules/services/audio/networkaudiod.nix index 09e8fdcaacc32..3f2842f63ceb9 100644 --- a/nixos/modules/services/audio/networkaudiod.nix +++ b/nixos/modules/services/audio/networkaudiod.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let name = "networkaudiod"; cfg = config.services.networkaudiod; -in { +in +{ options = { services.networkaudiod = { enable = lib.mkEnableOption "Networkaudiod (NAA)"; diff --git a/nixos/modules/services/audio/roon-bridge.nix b/nixos/modules/services/audio/roon-bridge.nix index 049e84f02f0c2..8abd3dd7482da 100644 --- a/nixos/modules/services/audio/roon-bridge.nix +++ b/nixos/modules/services/audio/roon-bridge.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let name = "roon-bridge"; cfg = config.services.roon-bridge; -in { +in +{ options = { services.roon-bridge = { enable = lib.mkEnableOption "Roon Bridge"; @@ -48,7 +54,12 @@ in { }; networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPortRanges = [{ from = 9100; to = 9200; }]; + allowedTCPPortRanges = [ + { + from = 9100; + to = 9200; + } + ]; allowedUDPPorts = [ 9003 ]; extraCommands = lib.optionalString (!config.networking.nftables.enable) '' iptables -A INPUT -s 224.0.0.0/4 -j ACCEPT @@ -64,14 +75,12 @@ in { ''; }; - - users.groups.${cfg.group} = {}; - users.users.${cfg.user} = - lib.optionalAttrs (cfg.user == "roon-bridge") { - isSystemUser = true; - description = "Roon Bridge user"; - group = cfg.group; - extraGroups = [ "audio" ]; - }; + users.groups.${cfg.group} = { }; + users.users.${cfg.user} = lib.optionalAttrs (cfg.user == "roon-bridge") { + isSystemUser = true; + description = "Roon Bridge user"; + group = cfg.group; + extraGroups = [ "audio" ]; + }; }; } diff --git a/nixos/modules/services/audio/roon-server.nix b/nixos/modules/services/audio/roon-server.nix index 58763f5ceeeb5..0003482742485 100644 --- a/nixos/modules/services/audio/roon-server.nix +++ b/nixos/modules/services/audio/roon-server.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let name = "roon-server"; cfg = config.services.roon-server; -in { +in +{ options = { services.roon-server = { enable = lib.mkEnableOption "Roon Server"; @@ -51,9 +57,18 @@ in { networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPortRanges = [ - { from = 9100; to = 9200; } - { from = 9330; to = 9339; } - { from = 30000; to = 30010; } + { + from = 9100; + to = 9200; + } + { + from = 9330; + to = 9339; + } + { + from = 30000; + to = 30010; + } ]; allowedUDPPorts = [ 9003 ]; extraCommands = lib.optionalString (!config.networking.nftables.enable) '' @@ -71,14 +86,12 @@ in { ''; }; - - users.groups.${cfg.group} = {}; - users.users.${cfg.user} = - lib.optionalAttrs (cfg.user == "roon-server") { - isSystemUser = true; - description = "Roon Server user"; - group = cfg.group; - extraGroups = [ "audio" ]; - }; + users.groups.${cfg.group} = { }; + users.users.${cfg.user} = lib.optionalAttrs (cfg.user == "roon-server") { + isSystemUser = true; + description = "Roon Server user"; + group = cfg.group; + extraGroups = [ "audio" ]; + }; }; } diff --git a/nixos/modules/services/audio/slimserver.nix b/nixos/modules/services/audio/slimserver.nix index a9b5ed6bac00a..0f124505addfc 100644 --- a/nixos/modules/services/audio/slimserver.nix +++ b/nixos/modules/services/audio/slimserver.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.slimserver; -in { +in +{ options = { services.slimserver = { @@ -29,7 +35,6 @@ in { }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -57,9 +62,8 @@ in { group = "slimserver"; isSystemUser = true; }; - groups.slimserver = {}; + groups.slimserver = { }; }; }; } - diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix index 678a916f2d3a3..86ba7ec7183d8 100644 --- a/nixos/modules/services/audio/snapserver.nix +++ b/nixos/modules/services/audio/snapserver.nix @@ -1,4 +1,10 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: let name = "snapserver"; @@ -24,23 +30,26 @@ let example = "flac"; }; - streamToOption = name: opt: + streamToOption = + name: opt: let - os = val: - lib.optionalString (val != null) "${val}"; - os' = prefix: val: - lib.optionalString (val != null) (prefix + "${val}"); - toQueryString = key: value: - "&${key}=${value}"; + os = val: lib.optionalString (val != null) "${val}"; + os' = prefix: val: lib.optionalString (val != null) (prefix + "${val}"); + toQueryString = key: value: "&${key}=${value}"; in - "--stream.stream=\"${opt.type}://" + os opt.location + "?" + os' "name=" name - + os' "&sampleformat=" opt.sampleFormat + os' "&codec=" opt.codec - + lib.concatStrings (lib.mapAttrsToList toQueryString opt.query) + "\""; - - optionalNull = val: ret: - lib.optional (val != null) ret; - - optionString = lib.concatStringsSep " " (lib.mapAttrsToList streamToOption cfg.streams + "--stream.stream=\"${opt.type}://" + + os opt.location + + "?" + + os' "name=" name + + os' "&sampleformat=" opt.sampleFormat + + os' "&codec=" opt.codec + + lib.concatStrings (lib.mapAttrsToList toQueryString opt.query) + + "\""; + + optionalNull = val: ret: lib.optional (val != null) ret; + + optionString = lib.concatStringsSep " " ( + lib.mapAttrsToList streamToOption cfg.streams # global options ++ [ "--stream.bind_to_address=${cfg.listenAddress}" ] ++ [ "--stream.port=${toString cfg.port}" ] @@ -53,17 +62,24 @@ let ++ [ "--tcp.enabled=${toString cfg.tcp.enable}" ] ++ lib.optionals cfg.tcp.enable [ "--tcp.bind_to_address=${cfg.tcp.listenAddress}" - "--tcp.port=${toString cfg.tcp.port}" ] - # http json rpc + "--tcp.port=${toString cfg.tcp.port}" + ] + # http json rpc ++ [ "--http.enabled=${toString cfg.http.enable}" ] ++ lib.optionals cfg.http.enable [ "--http.bind_to_address=${cfg.http.listenAddress}" "--http.port=${toString cfg.http.port}" - ] ++ lib.optional (cfg.http.docRoot != null) "--http.doc_root=\"${toString cfg.http.docRoot}\""); + ] + ++ lib.optional (cfg.http.docRoot != null) "--http.doc_root=\"${toString cfg.http.docRoot}\"" + ); -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "services" "snapserver" "controlPort" ] [ "services" "snapserver" "tcp" "port" ]) + (lib.mkRenamedOptionModule + [ "services" "snapserver" "controlPort" ] + [ "services" "snapserver" "tcp" "port" ] + ) ]; ###### interface @@ -196,62 +212,79 @@ in { }; streams = lib.mkOption { - type = with lib.types; attrsOf (submodule { - options = { - location = lib.mkOption { - type = lib.types.oneOf [ lib.types.path lib.types.str ]; - description = '' - For type `pipe` or `file`, the path to the pipe or file. - For type `librespot`, `airplay` or `process`, the path to the corresponding binary. - For type `tcp`, the `host:port` address to connect to or listen on. - For type `meta`, a list of stream names in the form `/one/two/...`. Don't forget the leading slash. - For type `alsa`, use an empty string. - ''; - example = lib.literalExpression '' - "/path/to/pipe" - "/path/to/librespot" - "192.168.1.2:4444" - "/MyTCP/Spotify/MyPipe" - ''; - }; - type = lib.mkOption { - type = lib.types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" "meta" ]; - default = "pipe"; - description = '' - The type of input stream. - ''; + type = + with lib.types; + attrsOf (submodule { + options = { + location = lib.mkOption { + type = lib.types.oneOf [ + lib.types.path + lib.types.str + ]; + description = '' + For type `pipe` or `file`, the path to the pipe or file. + For type `librespot`, `airplay` or `process`, the path to the corresponding binary. + For type `tcp`, the `host:port` address to connect to or listen on. + For type `meta`, a list of stream names in the form `/one/two/...`. Don't forget the leading slash. + For type `alsa`, use an empty string. + ''; + example = lib.literalExpression '' + "/path/to/pipe" + "/path/to/librespot" + "192.168.1.2:4444" + "/MyTCP/Spotify/MyPipe" + ''; + }; + type = lib.mkOption { + type = lib.types.enum [ + "pipe" + "librespot" + "airplay" + "file" + "process" + "tcp" + "alsa" + "spotify" + "meta" + ]; + default = "pipe"; + description = '' + The type of input stream. + ''; + }; + query = lib.mkOption { + type = attrsOf str; + default = { }; + description = '' + Key-value pairs that convey additional parameters about a stream. + ''; + example = lib.literalExpression '' + # for type == "pipe": + { + mode = "create"; + }; + # for type == "process": + { + params = "--param1 --param2"; + logStderr = "true"; + }; + # for type == "tcp": + { + mode = "client"; + } + # for type == "alsa": + { + device = "hw:0,0"; + } + ''; + }; + inherit sampleFormat; + inherit codec; }; - query = lib.mkOption { - type = attrsOf str; - default = {}; - description = '' - Key-value pairs that convey additional parameters about a stream. - ''; - example = lib.literalExpression '' - # for type == "pipe": - { - mode = "create"; - }; - # for type == "process": - { - params = "--param1 --param2"; - logStderr = "true"; - }; - # for type == "tcp": - { - mode = "client"; - } - # for type == "alsa": - { - device = "hw:0,0"; - } - ''; - }; - inherit sampleFormat; - inherit codec; - }; - }); - default = { default = {}; }; + }); + default = { + default = { }; + }; description = '' The definition for an input source. ''; @@ -269,22 +302,32 @@ in { }; }; - ###### implementation config = lib.mkIf cfg.enable { warnings = # https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85 - lib.filter (w: w != "") (lib.mapAttrsToList (k: v: lib.optionalString (v.type == "spotify") '' - services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead. - '') cfg.streams); + lib.filter (w: w != "") ( + lib.mapAttrsToList ( + k: v: + lib.optionalString (v.type == "spotify") '' + services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead. + '' + ) cfg.streams + ); systemd.services.snapserver = { - after = [ "network.target" "nss-lookup.target" ]; + after = [ + "network.target" + "nss-lookup.target" + ]; description = "Snapserver"; wantedBy = [ "multi-user.target" ]; - before = [ "mpd.service" "mopidy.service" ]; + before = [ + "mpd.service" + "mopidy.service" + ]; serviceConfig = { DynamicUser = true; diff --git a/nixos/modules/services/audio/spotifyd.nix b/nixos/modules/services/audio/spotifyd.nix index c44617a7d6d7b..1f6ab0b5f75bd 100644 --- a/nixos/modules/services/audio/spotifyd.nix +++ b/nixos/modules/services/audio/spotifyd.nix @@ -1,15 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.spotifyd; - toml = pkgs.formats.toml {}; + toml = pkgs.formats.toml { }; warnConfig = - if cfg.config != "" - then lib.trace "Using the stringly typed .config attribute is discouraged. Use the TOML typed .settings attribute instead." - else lib.id; + if cfg.config != "" then + lib.trace "Using the stringly typed .config attribute is discouraged. Use the TOML typed .settings attribute instead." + else + lib.id; spotifydConf = - if cfg.settings != {} - then toml.generate "spotify.conf" cfg.settings - else warnConfig (pkgs.writeText "spotifyd.conf" cfg.config); + if cfg.settings != { } then + toml.generate "spotify.conf" cfg.settings + else + warnConfig (pkgs.writeText "spotifyd.conf" cfg.config); in { options = { @@ -26,9 +33,11 @@ in }; settings = lib.mkOption { - default = {}; + default = { }; type = toml.type; - example = { global.bitrate = 320; }; + example = { + global.bitrate = 320; + }; description = '' Configuration for Spotifyd. For syntax and directives, see . @@ -40,7 +49,7 @@ in config = lib.mkIf cfg.enable { assertions = [ { - assertion = cfg.config == "" || cfg.settings == {}; + assertion = cfg.config == "" || cfg.settings == { }; message = "At most one of the .config attribute and the .settings attribute may be set"; } ]; @@ -48,7 +57,10 @@ in systemd.services.spotifyd = { wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network-online.target" "sound.target" ]; + after = [ + "network-online.target" + "sound.target" + ]; description = "spotifyd, a Spotify playing daemon"; environment.SHELL = "/bin/sh"; serviceConfig = { @@ -57,7 +69,7 @@ in RestartSec = 12; DynamicUser = true; CacheDirectory = "spotifyd"; - SupplementaryGroups = ["audio"]; + SupplementaryGroups = [ "audio" ]; }; }; }; diff --git a/nixos/modules/services/audio/squeezelite.nix b/nixos/modules/services/audio/squeezelite.nix index 36295e21c60f9..525285d00ca50 100644 --- a/nixos/modules/services/audio/squeezelite.nix +++ b/nixos/modules/services/audio/squeezelite.nix @@ -1,7 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption optionalString types; + inherit (lib) + mkEnableOption + mkIf + mkOption + optionalString + types + ; dataDir = "/var/lib/squeezelite"; cfg = config.services.squeezelite; @@ -27,13 +38,15 @@ in }; }; - ###### implementation config = mkIf cfg.enable { systemd.services.squeezelite = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "sound.target" ]; + after = [ + "network.target" + "sound.target" + ]; description = "Software Squeezebox emulator"; serviceConfig = { DynamicUser = true; diff --git a/nixos/modules/services/audio/tts.nix b/nixos/modules/services/audio/tts.nix index 4db624229aa84..590bdab2f40ae 100644 --- a/nixos/modules/services/audio/tts.nix +++ b/nixos/modules/services/audio/tts.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -9,144 +10,170 @@ let in { - options.services.tts = let - inherit (lib) literalExpression mkOption mkEnableOption types; - in { - servers = mkOption { - type = types.attrsOf (types.submodule ( - { ... }: { - options = { - enable = mkEnableOption "Coqui TTS server"; + options.services.tts = + let + inherit (lib) + literalExpression + mkOption + mkEnableOption + types + ; + in + { + servers = mkOption { + type = types.attrsOf ( + types.submodule ( + { ... }: + { + options = { + enable = mkEnableOption "Coqui TTS server"; - port = mkOption { - type = types.port; - example = 5000; - description = '' - Port to bind the TTS server to. - ''; - }; + port = mkOption { + type = types.port; + example = 5000; + description = '' + Port to bind the TTS server to. + ''; + }; - model = mkOption { - type = types.nullOr types.str; - default = "tts_models/en/ljspeech/tacotron2-DDC"; - example = null; - description = '' - Name of the model to download and use for speech synthesis. + model = mkOption { + type = types.nullOr types.str; + default = "tts_models/en/ljspeech/tacotron2-DDC"; + example = null; + description = '' + Name of the model to download and use for speech synthesis. - Check `tts-server --list_models` for possible values. + Check `tts-server --list_models` for possible values. - Set to `null` to use a custom model. - ''; - }; + Set to `null` to use a custom model. + ''; + }; - useCuda = mkOption { - type = types.bool; - default = false; - example = true; - description = '' - Whether to offload computation onto a CUDA compatible GPU. - ''; - }; + useCuda = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Whether to offload computation onto a CUDA compatible GPU. + ''; + }; - extraArgs = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Extra arguments to pass to the server commandline. - ''; + extraArgs = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + Extra arguments to pass to the server commandline. + ''; + }; + }; + } + ) + ); + default = { }; + example = literalExpression '' + { + english = { + port = 5300; + model = "tts_models/en/ljspeech/tacotron2-DDC"; }; - }; - } - )); - default = {}; - example = literalExpression '' - { - english = { - port = 5300; - model = "tts_models/en/ljspeech/tacotron2-DDC"; - }; - german = { - port = 5301; - model = "tts_models/de/thorsten/tacotron2-DDC"; - }; - dutch = { - port = 5302; - model = "tts_models/nl/mai/tacotron2-DDC"; - }; - } - ''; - description = '' - TTS server instances. - ''; + german = { + port = 5301; + model = "tts_models/de/thorsten/tacotron2-DDC"; + }; + dutch = { + port = 5302; + model = "tts_models/nl/mai/tacotron2-DDC"; + }; + } + ''; + description = '' + TTS server instances. + ''; + }; }; - }; - config = let - inherit (lib) mkIf mapAttrs' nameValuePair optionalString concatMapStringsSep escapeShellArgs; - in mkIf (cfg.servers != {}) { - systemd.services = mapAttrs' (server: options: - nameValuePair "tts-${server}" { - description = "Coqui TTS server instance ${server}"; - after = [ - "network-online.target" - ]; - wantedBy = [ - "multi-user.target" - ]; - path = with pkgs; [ - espeak-ng - ]; - environment.HOME = "/var/lib/tts"; - serviceConfig = { - DynamicUser = true; - User = "tts"; - StateDirectory = "tts"; - ExecStart = "${pkgs.tts}/bin/tts-server --port ${toString options.port}" - + optionalString (options.model != null) " --model_name ${options.model}" - + optionalString (options.useCuda) " --use_cuda" - + (concatMapStringsSep " " escapeShellArgs options.extraArgs); - CapabilityBoundingSet = ""; - DeviceAllow = if options.useCuda then [ - # https://docs.nvidia.com/dgx/pdf/dgx-os-5-user-guide.pdf - "/dev/nvidia1" - "/dev/nvidia2" - "/dev/nvidia3" - "/dev/nvidia4" - "/dev/nvidia-caps/nvidia-cap1" - "/dev/nvidia-caps/nvidia-cap2" - "/dev/nvidiactl" - "/dev/nvidia-modeset" - "/dev/nvidia-uvm" - "/dev/nvidia-uvm-tools" - ] else ""; - DevicePolicy = "closed"; - LockPersonality = true; - # jit via numba->llvmpipe - MemoryDenyWriteExecute = false; - PrivateDevices = true; - PrivateUsers = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectControlGroups = true; - ProtectProc = "invisible"; - ProcSubset = "pid"; - RestrictAddressFamilies = [ - "AF_UNIX" - "AF_INET" - "AF_INET6" + config = + let + inherit (lib) + mkIf + mapAttrs' + nameValuePair + optionalString + concatMapStringsSep + escapeShellArgs + ; + in + mkIf (cfg.servers != { }) { + systemd.services = mapAttrs' ( + server: options: + nameValuePair "tts-${server}" { + description = "Coqui TTS server instance ${server}"; + after = [ + "network-online.target" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" + wantedBy = [ + "multi-user.target" ]; - UMask = "0077"; - }; - }) cfg.servers; - }; + path = with pkgs; [ + espeak-ng + ]; + environment.HOME = "/var/lib/tts"; + serviceConfig = { + DynamicUser = true; + User = "tts"; + StateDirectory = "tts"; + ExecStart = + "${pkgs.tts}/bin/tts-server --port ${toString options.port}" + + optionalString (options.model != null) " --model_name ${options.model}" + + optionalString (options.useCuda) " --use_cuda" + + (concatMapStringsSep " " escapeShellArgs options.extraArgs); + CapabilityBoundingSet = ""; + DeviceAllow = + if options.useCuda then + [ + # https://docs.nvidia.com/dgx/pdf/dgx-os-5-user-guide.pdf + "/dev/nvidia1" + "/dev/nvidia2" + "/dev/nvidia3" + "/dev/nvidia4" + "/dev/nvidia-caps/nvidia-cap1" + "/dev/nvidia-caps/nvidia-cap2" + "/dev/nvidiactl" + "/dev/nvidia-modeset" + "/dev/nvidia-uvm" + "/dev/nvidia-uvm-tools" + ] + else + ""; + DevicePolicy = "closed"; + LockPersonality = true; + # jit via numba->llvmpipe + MemoryDenyWriteExecute = false; + PrivateDevices = true; + PrivateUsers = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + UMask = "0077"; + }; + } + ) cfg.servers; + }; } diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix index 96977581a2453..12672eb935f1e 100644 --- a/nixos/modules/services/audio/ympd.nix +++ b/nixos/modules/services/audio/ympd.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ympd; -in { +in +{ ###### interface @@ -38,7 +44,6 @@ in { }; - ###### implementation config = lib.mkIf cfg.enable { @@ -76,7 +81,10 @@ in { ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/backup/automysqlbackup.nix b/nixos/modules/services/backup/automysqlbackup.nix index d5efda74f26f9..83518f994aebc 100644 --- a/nixos/modules/services/backup/automysqlbackup.nix +++ b/nixos/modules/services/backup/automysqlbackup.nix @@ -1,21 +1,48 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) concatMapStringsSep concatStringsSep isInt isList literalExpression; - inherit (lib) mapAttrs mapAttrsToList mkDefault mkEnableOption mkIf mkOption mkRenamedOptionModule optional types; + inherit (lib) + concatMapStringsSep + concatStringsSep + isInt + isList + literalExpression + ; + inherit (lib) + mapAttrs + mapAttrsToList + mkDefault + mkEnableOption + mkIf + mkOption + mkRenamedOptionModule + optional + types + ; cfg = config.services.automysqlbackup; pkg = pkgs.automysqlbackup; user = "automysqlbackup"; group = "automysqlbackup"; - toStr = val: - if isList val then "( ${concatMapStringsSep " " (val: "'${val}'") val} )" - else if isInt val then toString val - else if true == val then "'yes'" - else if false == val then "'no'" - else "'${toString val}'"; + toStr = + val: + if isList val then + "( ${concatMapStringsSep " " (val: "'${val}'") val} )" + else if isInt val then + toString val + else if true == val then + "'yes'" + else if false == val then + "'no'" + else + "'${toString val}'"; configFile = pkgs.writeText "automysqlbackup.conf" '' #version=${pkg.version} @@ -27,7 +54,10 @@ let in { imports = [ - (mkRenamedOptionModule [ "services" "automysqlbackup" "config" ] [ "services" "automysqlbackup" "settings" ]) + (mkRenamedOptionModule + [ "services" "automysqlbackup" "config" ] + [ "services" "automysqlbackup" "settings" ] + ) ]; # interface @@ -45,8 +75,15 @@ in }; settings = mkOption { - type = with types; attrsOf (oneOf [ str int bool (listOf str) ]); - default = {}; + type = + with types; + attrsOf (oneOf [ + str + int + bool + (listOf str) + ]); + default = { }; description = '' automysqlbackup configuration. Refer to {file}`''${pkgs.automysqlbackup}/etc/automysqlbackup.conf` @@ -69,7 +106,8 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = !config.services.mysqlBackup.enable; + { + assertion = !config.services.mysqlBackup.enable; message = "Please choose one of services.mysqlBackup or services.automysqlbackup."; } ]; @@ -79,7 +117,10 @@ in mysql_dump_host = "localhost"; mysql_dump_socket = "/run/mysqld/mysqld.sock"; backup_dir = "/var/backup/mysql"; - db_exclude = [ "information_schema" "performance_schema" ]; + db_exclude = [ + "information_schema" + "performance_schema" + ]; mailcontent = "stdout"; mysql_dump_single_transaction = true; }; @@ -114,12 +155,14 @@ in "d '${cfg.config.backup_dir}' 0750 ${user} ${group} - -" ]; - services.mysql.ensureUsers = optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") { - name = user; - ensurePermissions = { - "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT"; - }; - }; + services.mysql.ensureUsers = + optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") + { + name = user; + ensurePermissions = { + "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT"; + }; + }; }; } diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix index 0851b5b0bf14f..a35350646c9be 100644 --- a/nixos/modules/services/backup/bacula.nix +++ b/nixos/modules/services/backup/bacula.nix @@ -1,10 +1,13 @@ -{ config, lib, pkgs, ... }: - +{ + config, + lib, + pkgs, + ... +}: # TODO: test configuration when building nixexpr (use -t parameter) # TODO: support sqlite3 (it's deprecate?) and mysql - let inherit (lib) concatStringsSep @@ -19,98 +22,107 @@ let libDir = "/var/lib/bacula"; yes_no = bool: if bool then "yes" else "no"; - tls_conf = tls_cfg: optionalString tls_cfg.enable ( - concatStringsSep - "\n" - ( - ["TLS Enable = yes;"] - ++ optional (tls_cfg.require != null) "TLS Require = ${yes_no tls_cfg.require};" - ++ optional (tls_cfg.certificate != null) ''TLS Certificate = "${tls_cfg.certificate}";'' - ++ [''TLS Key = "${tls_cfg.key}";''] - ++ optional (tls_cfg.verifyPeer != null) "TLS Verify Peer = ${yes_no tls_cfg.verifyPeer};" - ++ optional (tls_cfg.allowedCN != [ ]) "TLS Allowed CN = ${concatStringsSep " " (tls_cfg.allowedCN)};" - ++ optional (tls_cfg.caCertificateFile != null) ''TLS CA Certificate File = "${tls_cfg.caCertificateFile}";'' + tls_conf = + tls_cfg: + optionalString tls_cfg.enable ( + concatStringsSep "\n" ( + [ "TLS Enable = yes;" ] + ++ optional (tls_cfg.require != null) "TLS Require = ${yes_no tls_cfg.require};" + ++ optional (tls_cfg.certificate != null) ''TLS Certificate = "${tls_cfg.certificate}";'' + ++ [ ''TLS Key = "${tls_cfg.key}";'' ] + ++ optional (tls_cfg.verifyPeer != null) "TLS Verify Peer = ${yes_no tls_cfg.verifyPeer};" + ++ optional ( + tls_cfg.allowedCN != [ ] + ) "TLS Allowed CN = ${concatStringsSep " " (tls_cfg.allowedCN)};" + ++ optional ( + tls_cfg.caCertificateFile != null + ) ''TLS CA Certificate File = "${tls_cfg.caCertificateFile}";'' ) - ); + ); fd_cfg = config.services.bacula-fd; - fd_conf = pkgs.writeText "bacula-fd.conf" - '' - Client { - Name = "${fd_cfg.name}"; - FDPort = ${toString fd_cfg.port}; - WorkingDirectory = ${libDir}; - Pid Directory = /run; - ${fd_cfg.extraClientConfig} - ${tls_conf fd_cfg.tls} - } - - ${concatStringsSep "\n" (mapAttrsToList (name: value: '' - Director { - Name = "${name}"; - Password = ${value.password}; - Monitor = ${value.monitor}; - ${tls_conf value.tls} - } - '') fd_cfg.director)} - - Messages { - Name = Standard; - syslog = all, !skipped, !restored - ${fd_cfg.extraMessagesConfig} - } - ''; + fd_conf = pkgs.writeText "bacula-fd.conf" '' + Client { + Name = "${fd_cfg.name}"; + FDPort = ${toString fd_cfg.port}; + WorkingDirectory = ${libDir}; + Pid Directory = /run; + ${fd_cfg.extraClientConfig} + ${tls_conf fd_cfg.tls} + } + + ${concatStringsSep "\n" ( + mapAttrsToList (name: value: '' + Director { + Name = "${name}"; + Password = ${value.password}; + Monitor = ${value.monitor}; + ${tls_conf value.tls} + } + '') fd_cfg.director + )} + + Messages { + Name = Standard; + syslog = all, !skipped, !restored + ${fd_cfg.extraMessagesConfig} + } + ''; sd_cfg = config.services.bacula-sd; - sd_conf = pkgs.writeText "bacula-sd.conf" - '' - Storage { - Name = "${sd_cfg.name}"; - SDPort = ${toString sd_cfg.port}; - WorkingDirectory = ${libDir}; - Pid Directory = /run; - ${sd_cfg.extraStorageConfig} - ${tls_conf sd_cfg.tls} - } - - ${concatStringsSep "\n" (mapAttrsToList (name: value: '' - Autochanger { - Name = "${name}"; - Device = ${concatStringsSep ", " (map (a: "\"${a}\"") value.devices)}; - Changer Device = ${value.changerDevice}; - Changer Command = ${value.changerCommand}; - ${value.extraAutochangerConfig} - } - '') sd_cfg.autochanger)} - - ${concatStringsSep "\n" (mapAttrsToList (name: value: '' - Device { - Name = "${name}"; - Archive Device = ${value.archiveDevice}; - Media Type = ${value.mediaType}; - ${value.extraDeviceConfig} - } - '') sd_cfg.device)} - - ${concatStringsSep "\n" (mapAttrsToList (name: value: '' - Director { - Name = "${name}"; - Password = ${value.password}; - Monitor = ${value.monitor}; - ${tls_conf value.tls} - } - '') sd_cfg.director)} - - Messages { - Name = Standard; - syslog = all, !skipped, !restored - ${sd_cfg.extraMessagesConfig} - } - ''; + sd_conf = pkgs.writeText "bacula-sd.conf" '' + Storage { + Name = "${sd_cfg.name}"; + SDPort = ${toString sd_cfg.port}; + WorkingDirectory = ${libDir}; + Pid Directory = /run; + ${sd_cfg.extraStorageConfig} + ${tls_conf sd_cfg.tls} + } + + ${concatStringsSep "\n" ( + mapAttrsToList (name: value: '' + Autochanger { + Name = "${name}"; + Device = ${concatStringsSep ", " (map (a: "\"${a}\"") value.devices)}; + Changer Device = ${value.changerDevice}; + Changer Command = ${value.changerCommand}; + ${value.extraAutochangerConfig} + } + '') sd_cfg.autochanger + )} + + ${concatStringsSep "\n" ( + mapAttrsToList (name: value: '' + Device { + Name = "${name}"; + Archive Device = ${value.archiveDevice}; + Media Type = ${value.mediaType}; + ${value.extraDeviceConfig} + } + '') sd_cfg.device + )} + + ${concatStringsSep "\n" ( + mapAttrsToList (name: value: '' + Director { + Name = "${name}"; + Password = ${value.password}; + Monitor = ${value.monitor}; + ${tls_conf value.tls} + } + '') sd_cfg.director + )} + + Messages { + Name = Standard; + syslog = all, !skipped, !restored + ${sd_cfg.extraMessagesConfig} + } + ''; dir_cfg = config.services.bacula-dir; - dir_conf = pkgs.writeText "bacula-dir.conf" - '' + dir_conf = pkgs.writeText "bacula-dir.conf" '' Director { Name = "${dir_cfg.name}"; Password = ${dir_cfg.password}; @@ -135,283 +147,295 @@ let } ${dir_cfg.extraConfig} - ''; - - linkOption = name: destination: "[${name}](#opt-${builtins.replaceStrings [ "<" ">"] ["_" "_"] destination})"; - tlsLink = destination: submodulePath: linkOption "${submodulePath}.${destination}" "${submodulePath}.${destination}"; - - tlsOptions = submodulePath: {...}: - { - options = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Specifies if TLS should be enabled. - If this set to `false` TLS will be completely disabled, even if ${tlsLink "tls.require" submodulePath} is true. - ''; - }; - require = mkOption { - type = types.nullOr types.bool; - default = null; - description = '' - Require TLS or TLS-PSK encryption. - This directive is ignored unless one of ${tlsLink "tls.enable" submodulePath} is true or TLS PSK Enable is set to `yes`. - If TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component - will connect with other components either with or without TLS or TLS-PSK - - If ${tlsLink "tls.enable" submodulePath} or TLS-PSK is enabled and TLS is required, then the Bacula - component will refuse any connection request that does not use TLS. - ''; - }; - certificate = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - The full path to the PEM encoded TLS certificate. - It will be used as either a client or server certificate, - depending on the connection direction. - This directive is required in a server context, but it may - not be specified in a client context if ${tlsLink "tls.verifyPeer" submodulePath} is - `false` in the corresponding server context. - ''; - }; - key = mkOption { - type = types.path; - description = '' - The path of a PEM encoded TLS private key. - It must correspond to the TLS certificate. - ''; - }; - verifyPeer = mkOption { - type = types.nullOr types.bool; - default = null; - description = '' - Verify peer certificate. - Instructs server to request and verify the client's X.509 certificate. - Any client certificate signed by a known-CA will be accepted. - Additionally, the client's X509 certificate Common Name must meet the value of the Address directive. - If ${tlsLink "tls.allowedCN" submodulePath} is used, - the client's x509 certificate Common Name must also correspond to - one of the CN specified in the ${tlsLink "tls.allowedCN" submodulePath} directive. - This directive is valid only for a server and not in client context. - - Standard from Bacula is `true`. - ''; - }; - allowedCN = mkOption { - type = types.listOf types.str; - default = [ ]; - description = '' - Common name attribute of allowed peer certificates. - This directive is valid for a server and in a client context. - If this directive is specified, the peer certificate will be verified against this list. - In the case this directive is configured on a server side, the allowed - CN list will not be checked if ${tlsLink "tls.verifyPeer" submodulePath} is false. - ''; - }; - caCertificateFile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - The path specifying a PEM encoded TLS CA certificate(s). - Multiple certificates are permitted in the file. - One of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless - ${tlsLink "tls.verifyPeer" submodulePath} is false, and are always required in a client context. - ''; + ''; + + linkOption = + name: destination: "[${name}](#opt-${builtins.replaceStrings [ "<" ">" ] [ "_" "_" ] destination})"; + tlsLink = + destination: submodulePath: + linkOption "${submodulePath}.${destination}" "${submodulePath}.${destination}"; + + tlsOptions = + submodulePath: + { ... }: + { + options = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Specifies if TLS should be enabled. + If this set to `false` TLS will be completely disabled, even if ${tlsLink "tls.require" submodulePath} is true. + ''; + }; + require = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Require TLS or TLS-PSK encryption. + This directive is ignored unless one of ${tlsLink "tls.enable" submodulePath} is true or TLS PSK Enable is set to `yes`. + If TLS is not required while TLS or TLS-PSK are enabled, then the Bacula component + will connect with other components either with or without TLS or TLS-PSK + + If ${tlsLink "tls.enable" submodulePath} or TLS-PSK is enabled and TLS is required, then the Bacula + component will refuse any connection request that does not use TLS. + ''; + }; + certificate = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The full path to the PEM encoded TLS certificate. + It will be used as either a client or server certificate, + depending on the connection direction. + This directive is required in a server context, but it may + not be specified in a client context if ${tlsLink "tls.verifyPeer" submodulePath} is + `false` in the corresponding server context. + ''; + }; + key = mkOption { + type = types.path; + description = '' + The path of a PEM encoded TLS private key. + It must correspond to the TLS certificate. + ''; + }; + verifyPeer = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Verify peer certificate. + Instructs server to request and verify the client's X.509 certificate. + Any client certificate signed by a known-CA will be accepted. + Additionally, the client's X509 certificate Common Name must meet the value of the Address directive. + If ${tlsLink "tls.allowedCN" submodulePath} is used, + the client's x509 certificate Common Name must also correspond to + one of the CN specified in the ${tlsLink "tls.allowedCN" submodulePath} directive. + This directive is valid only for a server and not in client context. + + Standard from Bacula is `true`. + ''; + }; + allowedCN = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + Common name attribute of allowed peer certificates. + This directive is valid for a server and in a client context. + If this directive is specified, the peer certificate will be verified against this list. + In the case this directive is configured on a server side, the allowed + CN list will not be checked if ${tlsLink "tls.verifyPeer" submodulePath} is false. + ''; + }; + caCertificateFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The path specifying a PEM encoded TLS CA certificate(s). + Multiple certificates are permitted in the file. + One of TLS CA Certificate File or TLS CA Certificate Dir are required in a server context, unless + ${tlsLink "tls.verifyPeer" submodulePath} is false, and are always required in a client context. + ''; + }; }; }; - }; - - directorOptions = submodulePath:{...}: - { - options = { - password = mkOption { - type = types.str; - # TODO: required? - description = '' - Specifies the password that must be supplied for the default Bacula - Console to be authorized. The same password must appear in the - Director resource of the Console configuration file. For added - security, the password is never passed across the network but instead - a challenge response hash code created with the password. This - directive is required. If you have either /dev/random or bc on your - machine, Bacula will generate a random password during the - configuration process, otherwise it will be left blank and you must - manually supply it. - - The password is plain text. It is not generated through any special - process but as noted above, it is better to use random text for - security reasons. - ''; - }; - monitor = mkOption { - type = types.enum [ "no" "yes" ]; - default = "no"; - example = "yes"; - description = '' - If Monitor is set to `no`, this director will have - full access to this Storage daemon. If Monitor is set to - `yes`, this director will only be able to fetch the - current status of this Storage daemon. - - Please note that if this director is being used by a Monitor, we - highly recommend to set this directive to yes to avoid serious - security problems. - ''; - }; + directorOptions = + submodulePath: + { ... }: + { + options = { + password = mkOption { + type = types.str; + # TODO: required? + description = '' + Specifies the password that must be supplied for the default Bacula + Console to be authorized. The same password must appear in the + Director resource of the Console configuration file. For added + security, the password is never passed across the network but instead + a challenge response hash code created with the password. This + directive is required. If you have either /dev/random or bc on your + machine, Bacula will generate a random password during the + configuration process, otherwise it will be left blank and you must + manually supply it. + + The password is plain text. It is not generated through any special + process but as noted above, it is better to use random text for + security reasons. + ''; + }; + + monitor = mkOption { + type = types.enum [ + "no" + "yes" + ]; + default = "no"; + example = "yes"; + description = '' + If Monitor is set to `no`, this director will have + full access to this Storage daemon. If Monitor is set to + `yes`, this director will only be able to fetch the + current status of this Storage daemon. + + Please note that if this director is being used by a Monitor, we + highly recommend to set this directive to yes to avoid serious + security problems. + ''; + }; - tls = mkOption { - type = types.submodule (tlsOptions "${submodulePath}.director."); - description = '' - TLS Options for the Director in this Configuration. - ''; + tls = mkOption { + type = types.submodule (tlsOptions "${submodulePath}.director."); + description = '' + TLS Options for the Director in this Configuration. + ''; + }; }; }; - }; - autochangerOptions = {...}: - { - options = { - changerDevice = mkOption { - type = types.str; - description = '' - The specified name-string must be the generic SCSI device name of the - autochanger that corresponds to the normal read/write Archive Device - specified in the Device resource. This generic SCSI device name - should be specified if you have an autochanger or if you have a - standard tape drive and want to use the Alert Command (see below). - For example, on Linux systems, for an Archive Device name of - `/dev/nst0`, you would specify - `/dev/sg0` for the Changer Device name. Depending - on your exact configuration, and the number of autochangers or the - type of autochanger, what you specify here can vary. This directive - is optional. See the Using AutochangersAutochangersChapter chapter of - this manual for more details of using this and the following - autochanger directives. + autochangerOptions = + { ... }: + { + options = { + changerDevice = mkOption { + type = types.str; + description = '' + The specified name-string must be the generic SCSI device name of the + autochanger that corresponds to the normal read/write Archive Device + specified in the Device resource. This generic SCSI device name + should be specified if you have an autochanger or if you have a + standard tape drive and want to use the Alert Command (see below). + For example, on Linux systems, for an Archive Device name of + `/dev/nst0`, you would specify + `/dev/sg0` for the Changer Device name. Depending + on your exact configuration, and the number of autochangers or the + type of autochanger, what you specify here can vary. This directive + is optional. See the Using AutochangersAutochangersChapter chapter of + this manual for more details of using this and the following + autochanger directives. ''; - }; - - changerCommand = mkOption { - type = types.str; - description = '' - The name-string specifies an external program to be called that will - automatically change volumes as required by Bacula. Normally, this - directive will be specified only in the AutoChanger resource, which - is then used for all devices. However, you may also specify the - different Changer Command in each Device resource. Most frequently, - you will specify the Bacula supplied mtx-changer script as follows: - - `"/path/mtx-changer %c %o %S %a %d"` - - and you will install the mtx on your system (found in the depkgs - release). An example of this command is in the default bacula-sd.conf - file. For more details on the substitution characters that may be - specified to configure your autochanger please see the - AutochangersAutochangersChapter chapter of this manual. For FreeBSD - users, you might want to see one of the several chio scripts in - examples/autochangers. + }; + + changerCommand = mkOption { + type = types.str; + description = '' + The name-string specifies an external program to be called that will + automatically change volumes as required by Bacula. Normally, this + directive will be specified only in the AutoChanger resource, which + is then used for all devices. However, you may also specify the + different Changer Command in each Device resource. Most frequently, + you will specify the Bacula supplied mtx-changer script as follows: + + `"/path/mtx-changer %c %o %S %a %d"` + + and you will install the mtx on your system (found in the depkgs + release). An example of this command is in the default bacula-sd.conf + file. For more details on the substitution characters that may be + specified to configure your autochanger please see the + AutochangersAutochangersChapter chapter of this manual. For FreeBSD + users, you might want to see one of the several chio scripts in + examples/autochangers. ''; - default = "/etc/bacula/mtx-changer %c %o %S %a %d"; - }; - - devices = mkOption { - description = ""; - type = types.listOf types.str; - }; - - extraAutochangerConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Extra configuration to be passed in Autochanger directive. - ''; - example = '' + default = "/etc/bacula/mtx-changer %c %o %S %a %d"; + }; + + devices = mkOption { + description = ""; + type = types.listOf types.str; + }; + + extraAutochangerConfig = mkOption { + default = ""; + type = types.lines; + description = '' + Extra configuration to be passed in Autochanger directive. + ''; + example = '' - ''; + ''; + }; }; }; - }; - - deviceOptions = {...}: - { - options = { - archiveDevice = mkOption { - # TODO: required? - type = types.str; - description = '' - The specified name-string gives the system file name of the storage - device managed by this storage daemon. This will usually be the - device file name of a removable storage device (tape drive), for - example `/dev/nst0` or - `/dev/rmt/0mbn`. For a DVD-writer, it will be for - example `/dev/hdc`. It may also be a directory name - if you are archiving to disk storage. In this case, you must supply - the full absolute path to the directory. When specifying a tape - device, it is preferable that the "non-rewind" variant of the device - file name be given. - ''; - }; - - mediaType = mkOption { - # TODO: required? - type = types.str; - description = '' - The specified name-string names the type of media supported by this - device, for example, `DLT7000`. Media type names are - arbitrary in that you set them to anything you want, but they must be - known to the volume database to keep track of which storage daemons - can read which volumes. In general, each different storage type - should have a unique Media Type associated with it. The same - name-string must appear in the appropriate Storage resource - definition in the Director's configuration file. - - Even though the names you assign are arbitrary (i.e. you choose the - name you want), you should take care in specifying them because the - Media Type is used to determine which storage device Bacula will - select during restore. Thus you should probably use the same Media - Type specification for all drives where the Media can be freely - interchanged. This is not generally an issue if you have a single - Storage daemon, but it is with multiple Storage daemons, especially - if they have incompatible media. - - For example, if you specify a Media Type of `DDS-4` - then during the restore, Bacula will be able to choose any Storage - Daemon that handles `DDS-4`. If you have an - autochanger, you might want to name the Media Type in a way that is - unique to the autochanger, unless you wish to possibly use the - Volumes in other drives. You should also ensure to have unique Media - Type names if the Media is not compatible between drives. This - specification is required for all devices. - - In addition, if you are using disk storage, each Device resource will - generally have a different mount point or directory. In order for - Bacula to select the correct Device resource, each one must have a - unique Media Type. - ''; - }; + deviceOptions = + { ... }: + { + options = { + archiveDevice = mkOption { + # TODO: required? + type = types.str; + description = '' + The specified name-string gives the system file name of the storage + device managed by this storage daemon. This will usually be the + device file name of a removable storage device (tape drive), for + example `/dev/nst0` or + `/dev/rmt/0mbn`. For a DVD-writer, it will be for + example `/dev/hdc`. It may also be a directory name + if you are archiving to disk storage. In this case, you must supply + the full absolute path to the directory. When specifying a tape + device, it is preferable that the "non-rewind" variant of the device + file name be given. + ''; + }; + + mediaType = mkOption { + # TODO: required? + type = types.str; + description = '' + The specified name-string names the type of media supported by this + device, for example, `DLT7000`. Media type names are + arbitrary in that you set them to anything you want, but they must be + known to the volume database to keep track of which storage daemons + can read which volumes. In general, each different storage type + should have a unique Media Type associated with it. The same + name-string must appear in the appropriate Storage resource + definition in the Director's configuration file. + + Even though the names you assign are arbitrary (i.e. you choose the + name you want), you should take care in specifying them because the + Media Type is used to determine which storage device Bacula will + select during restore. Thus you should probably use the same Media + Type specification for all drives where the Media can be freely + interchanged. This is not generally an issue if you have a single + Storage daemon, but it is with multiple Storage daemons, especially + if they have incompatible media. + + For example, if you specify a Media Type of `DDS-4` + then during the restore, Bacula will be able to choose any Storage + Daemon that handles `DDS-4`. If you have an + autochanger, you might want to name the Media Type in a way that is + unique to the autochanger, unless you wish to possibly use the + Volumes in other drives. You should also ensure to have unique Media + Type names if the Media is not compatible between drives. This + specification is required for all devices. + + In addition, if you are using disk storage, each Device resource will + generally have a different mount point or directory. In order for + Bacula to select the correct Device resource, each one must have a + unique Media Type. + ''; + }; - extraDeviceConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Extra configuration to be passed in Device directive. - ''; - example = '' - LabelMedia = yes - Random Access = no - AutomaticMount = no - RemovableMedia = no - MaximumOpenWait = 60 - AlwaysOpen = no - ''; + extraDeviceConfig = mkOption { + default = ""; + type = types.lines; + description = '' + Extra configuration to be passed in Device directive. + ''; + example = '' + LabelMedia = yes + Random Access = no + AutomaticMount = no + RemovableMedia = no + MaximumOpenWait = 60 + AlwaysOpen = no + ''; + }; }; }; - }; -in { +in +{ options = { services.bacula-fd = { enable = mkOption { @@ -445,14 +469,13 @@ in { }; director = mkOption { - default = {}; + default = { }; description = '' This option defines director resources in Bacula File Daemon. ''; type = types.attrsOf (types.submodule (directorOptions "services.bacula-fd")); }; - tls = mkOption { type = types.submodule (tlsOptions "services.bacula-fd"); default = { }; @@ -460,7 +483,7 @@ in { TLS Options for the File Daemon. Important notice: The backup won't be encrypted. ''; - }; + }; extraClientConfig = mkOption { default = ""; @@ -514,7 +537,7 @@ in { }; director = mkOption { - default = {}; + default = { }; description = '' This option defines Director resources in Bacula Storage Daemon. ''; @@ -522,7 +545,7 @@ in { }; device = mkOption { - default = {}; + default = { }; description = '' This option defines Device resources in Bacula Storage Daemon. ''; @@ -530,7 +553,7 @@ in { }; autochanger = mkOption { - default = {}; + default = { }; description = '' This option defines Autochanger resources in Bacula Storage Daemon. ''; @@ -566,7 +589,7 @@ in { TLS Options for the Storage Daemon. Important notice: The backup won't be encrypted. ''; - }; + }; }; @@ -606,7 +629,7 @@ in { # TODO: required? type = types.str; description = '' - Specifies the password that must be supplied for a Director. + Specifies the password that must be supplied for a Director. ''; }; @@ -651,14 +674,17 @@ in { TLS Options for the Director. Important notice: The backup won't be encrypted. ''; - }; + }; }; }; config = mkIf (fd_cfg.enable || sd_cfg.enable || dir_cfg.enable) { systemd.slices.system-bacula = { description = "Bacula Backup System Slice"; - documentation = [ "man:bacula(8)" "https://www.bacula.org/" ]; + documentation = [ + "man:bacula(8)" + "https://www.bacula.org/" + ]; }; systemd.services.bacula-fd = mkIf fd_cfg.enable { @@ -692,7 +718,10 @@ in { services.postgresql.enable = lib.mkIf dir_cfg.enable true; systemd.services.bacula-dir = mkIf dir_cfg.enable { - after = [ "network.target" "postgresql.service" ]; + after = [ + "network.target" + "postgresql.service" + ]; description = "Bacula Director Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.bacula ]; diff --git a/nixos/modules/services/backup/borgmatic.nix b/nixos/modules/services/backup/borgmatic.nix index 1112182e8d231..c05fe208acb30 100644 --- a/nixos/modules/services/backup/borgmatic.nix +++ b/nixos/modules/services/backup/borgmatic.nix @@ -1,56 +1,76 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.borgmatic; settingsFormat = pkgs.formats.yaml { }; - repository = with lib.types; submodule { - options = { - path = lib.mkOption { - type = str; - description = '' - Path to the repository - ''; - }; - label = lib.mkOption { - type = str; - description = '' - Label to the repository - ''; + repository = + with lib.types; + submodule { + options = { + path = lib.mkOption { + type = str; + description = '' + Path to the repository + ''; + }; + label = lib.mkOption { + type = str; + description = '' + Label to the repository + ''; + }; }; }; - }; - cfgType = with lib.types; submodule { - freeformType = settingsFormat.type; - options = { - source_directories = lib.mkOption { - type = listOf str; - default = []; - description = '' - List of source directories and files to backup. Globs and tildes are - expanded. Do not backslash spaces in path names. - ''; - example = [ "/home" "/etc" "/var/log/syslog*" "/home/user/path with spaces" ]; - }; - repositories = lib.mkOption { - type = listOf repository; - default = []; - description = '' - A required list of local or remote repositories with paths and - optional labels (which can be used with the --repository flag to - select a repository). Tildes are expanded. Multiple repositories are - backed up to in sequence. Borg placeholders can be used. See the - output of "borg help placeholders" for details. See ssh_command for - SSH options like identity file or port. If systemd service is used, - then add local repository paths in the systemd service file to the - ReadWritePaths list. - ''; - example = [ - { path="ssh://user@backupserver/./sourcehostname.borg"; label="backupserver"; } - { path="/mnt/backup"; label="local"; } - ]; + cfgType = + with lib.types; + submodule { + freeformType = settingsFormat.type; + options = { + source_directories = lib.mkOption { + type = listOf str; + default = [ ]; + description = '' + List of source directories and files to backup. Globs and tildes are + expanded. Do not backslash spaces in path names. + ''; + example = [ + "/home" + "/etc" + "/var/log/syslog*" + "/home/user/path with spaces" + ]; + }; + repositories = lib.mkOption { + type = listOf repository; + default = [ ]; + description = '' + A required list of local or remote repositories with paths and + optional labels (which can be used with the --repository flag to + select a repository). Tildes are expanded. Multiple repositories are + backed up to in sequence. Borg placeholders can be used. See the + output of "borg help placeholders" for details. See ssh_command for + SSH options like identity file or port. If systemd service is used, + then add local repository paths in the systemd service file to the + ReadWritePaths list. + ''; + example = [ + { + path = "ssh://user@backupserver/./sourcehostname.borg"; + label = "backupserver"; + } + { + path = "/mnt/backup"; + label = "local"; + } + ]; + }; }; }; - }; cfgfile = settingsFormat.generate "config.yaml" cfg.settings; in @@ -74,41 +94,48 @@ in type = lib.types.attrsOf cfgType; }; - enableConfigCheck = lib.mkEnableOption "checking all configurations during build time" // { default = true; }; + enableConfigCheck = lib.mkEnableOption "checking all configurations during build time" // { + default = true; + }; }; config = let configFiles = - (lib.optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; }) // - lib.mapAttrs' - (name: value: lib.nameValuePair - "borgmatic.d/${name}.yaml" - { source = settingsFormat.generate "${name}.yaml" value; }) - cfg.configurations; - borgmaticCheck = name: f: pkgs.runCommandCC "${name} validation" { } '' - ${pkgs.borgmatic}/bin/borgmatic -c ${f.source} config validate - touch $out - ''; + (lib.optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; }) + // lib.mapAttrs' ( + name: value: + lib.nameValuePair "borgmatic.d/${name}.yaml" { + source = settingsFormat.generate "${name}.yaml" value; + } + ) cfg.configurations; + borgmaticCheck = + name: f: + pkgs.runCommandCC "${name} validation" { } '' + ${pkgs.borgmatic}/bin/borgmatic -c ${f.source} config validate + touch $out + ''; in - lib.mkIf cfg.enable { + lib.mkIf cfg.enable { - warnings = [] - ++ lib.optional (cfg.settings != null && cfg.settings ? location) + warnings = + [ ] + ++ + lib.optional (cfg.settings != null && cfg.settings ? location) "`services.borgmatic.settings.location` is deprecated, please move your options out of sections to the global scope" - ++ lib.optional (lib.catAttrs "location" (lib.attrValues cfg.configurations) != []) - "`services.borgmatic.configurations..location` is deprecated, please move your options out of sections to the global scope" - ; + ++ + lib.optional (lib.catAttrs "location" (lib.attrValues cfg.configurations) != [ ]) + "`services.borgmatic.configurations..location` is deprecated, please move your options out of sections to the global scope"; - environment.systemPackages = [ pkgs.borgmatic ]; + environment.systemPackages = [ pkgs.borgmatic ]; - environment.etc = configFiles; + environment.etc = configFiles; - systemd.packages = [ pkgs.borgmatic ]; + systemd.packages = [ pkgs.borgmatic ]; - # Workaround: https://github.com/NixOS/nixpkgs/issues/81138 - systemd.timers.borgmatic.wantedBy = [ "timers.target" ]; + # Workaround: https://github.com/NixOS/nixpkgs/issues/81138 + systemd.timers.borgmatic.wantedBy = [ "timers.target" ]; - system.checks = lib.mkIf cfg.enableConfigCheck (lib.mapAttrsToList borgmaticCheck configFiles); - }; + system.checks = lib.mkIf cfg.enableConfigCheck (lib.mapAttrsToList borgmaticCheck configFiles); + }; } diff --git a/nixos/modules/services/backup/btrbk.nix b/nixos/modules/services/backup/btrbk.nix index fa6c67ff7cbfa..a3745e3e6f716 100644 --- a/nixos/modules/services/backup/btrbk.nix +++ b/nixos/modules/services/backup/btrbk.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let inherit (lib) concatLists @@ -28,64 +33,95 @@ let # 2. Sections that may contain (1). # 3. Sections that may contain (1) or (2). # 4. Etc. - prioOf = { name, value }: - if !isAttrs value then 0 # Leaf options. - else { - target = 1; # Contains: options. - subvolume = 2; # Contains: options, target. - volume = 3; # Contains: options, target, subvolume. - }.${name} or (throw "Unknow section '${name}'"); + prioOf = + { name, value }: + if !isAttrs value then + 0 # Leaf options. + else + { + target = 1; # Contains: options. + subvolume = 2; # Contains: options, target. + volume = 3; # Contains: options, target, subvolume. + } + .${name} or (throw "Unknow section '${name}'"); genConfig' = set: concatStringsSep "\n" (genConfig set); - genConfig = set: + genConfig = + set: let pairs = mapAttrsToList (name: value: { inherit name value; }) set; sortedPairs = sortOn prioOf pairs; in - concatMap genPair sortedPairs; - genSection = sec: secName: value: + concatMap genPair sortedPairs; + genSection = + sec: secName: value: [ "${sec} ${secName}" ] ++ map (x: " " + x) (genConfig value); - genPair = { name, value }: - if !isAttrs value - then [ "${name} ${value}" ] - else concatLists (mapAttrsToList (genSection name) value); + genPair = + { name, value }: + if !isAttrs value then + [ "${name} ${value}" ] + else + concatLists (mapAttrsToList (genSection name) value); sudoRule = { users = [ "btrbk" ]; commands = [ - { command = "${pkgs.btrfs-progs}/bin/btrfs"; options = [ "NOPASSWD" ]; } - { command = "${pkgs.coreutils}/bin/mkdir"; options = [ "NOPASSWD" ]; } - { command = "${pkgs.coreutils}/bin/readlink"; options = [ "NOPASSWD" ]; } + { + command = "${pkgs.btrfs-progs}/bin/btrfs"; + options = [ "NOPASSWD" ]; + } + { + command = "${pkgs.coreutils}/bin/mkdir"; + options = [ "NOPASSWD" ]; + } + { + command = "${pkgs.coreutils}/bin/readlink"; + options = [ "NOPASSWD" ]; + } # for ssh, they are not the same than the one hard coded in ${pkgs.btrbk} - { command = "/run/current-system/sw/bin/btrfs"; options = [ "NOPASSWD" ]; } - { command = "/run/current-system/sw/bin/mkdir"; options = [ "NOPASSWD" ]; } - { command = "/run/current-system/sw/bin/readlink"; options = [ "NOPASSWD" ]; } + { + command = "/run/current-system/sw/bin/btrfs"; + options = [ "NOPASSWD" ]; + } + { + command = "/run/current-system/sw/bin/mkdir"; + options = [ "NOPASSWD" ]; + } + { + command = "/run/current-system/sw/bin/readlink"; + options = [ "NOPASSWD" ]; + } ]; }; sudo_doas = - if config.security.sudo.enable || config.security.sudo-rs.enable then "sudo" - else if config.security.doas.enable then "doas" - else throw "The btrbk nixos module needs either sudo or doas enabled in the configuration"; + if config.security.sudo.enable || config.security.sudo-rs.enable then + "sudo" + else if config.security.doas.enable then + "doas" + else + throw "The btrbk nixos module needs either sudo or doas enabled in the configuration"; addDefaults = settings: { backend = "btrfs-progs-${sudo_doas}"; } // settings; - mkConfigFile = name: settings: pkgs.writeTextFile { - name = "btrbk-${name}.conf"; - text = genConfig' (addDefaults settings); - checkPhase = '' - set +e - ${pkgs.btrbk}/bin/btrbk -c $out dryrun - # According to btrbk(1), exit status 2 means parse error - # for CLI options or the config file. - if [[ $? == 2 ]]; then - echo "Btrbk configuration is invalid:" - cat $out - exit 1 - fi - set -e - ''; - }; + mkConfigFile = + name: settings: + pkgs.writeTextFile { + name = "btrbk-${name}.conf"; + text = genConfig' (addDefaults settings); + checkPhase = '' + set +e + ${pkgs.btrbk}/bin/btrbk -c $out dryrun + # According to btrbk(1), exit status 2 means parse error + # for CLI options or the config file. + if [[ $? == 2 ]]; then + echo "Btrbk configuration is invalid:" + cat $out + exit 1 + fi + set -e + ''; + }; streamCompressMap = { gzip = pkgs.gzip; @@ -128,75 +164,109 @@ in }; ioSchedulingClass = mkOption { description = "IO scheduling class for btrbk (see ionice(1) for a quick description). Applies to local instances, and remote ones connecting by ssh if set to idle."; - type = types.enum [ "idle" "best-effort" "realtime" ]; + type = types.enum [ + "idle" + "best-effort" + "realtime" + ]; default = "best-effort"; }; instances = mkOption { description = "Set of btrbk instances. The instance named `btrbk` is the default one."; - type = with types; - attrsOf ( - submodule { - options = { - onCalendar = mkOption { - type = types.nullOr types.str; - default = "daily"; - description = '' - How often this btrbk instance is started. See systemd.time(7) for more information about the format. - Setting it to null disables the timer, thus this instance can only be started manually. - ''; - }; - settings = mkOption { - type = types.submodule { - freeformType = let t = types.attrsOf (types.either types.str (t // { description = "instances of this type recursively"; })); in t; - options = { - stream_compress = mkOption { - description = '' - Compress the btrfs send stream before transferring it from/to remote locations using a - compression command. - ''; - type = types.enum ["gzip" "pigz" "bzip2" "pbzip2" "bzip3" "xz" "lzo" "lz4" "zstd" "no"]; - default = "no"; - }; + type = + with types; + attrsOf (submodule { + options = { + onCalendar = mkOption { + type = types.nullOr types.str; + default = "daily"; + description = '' + How often this btrbk instance is started. See systemd.time(7) for more information about the format. + Setting it to null disables the timer, thus this instance can only be started manually. + ''; + }; + settings = mkOption { + type = types.submodule { + freeformType = + let + t = types.attrsOf ( + types.either types.str (t // { description = "instances of this type recursively"; }) + ); + in + t; + options = { + stream_compress = mkOption { + description = '' + Compress the btrfs send stream before transferring it from/to remote locations using a + compression command. + ''; + type = types.enum [ + "gzip" + "pigz" + "bzip2" + "pbzip2" + "bzip3" + "xz" + "lzo" + "lz4" + "zstd" + "no" + ]; + default = "no"; }; }; - default = { }; - example = { - snapshot_preserve_min = "2d"; - snapshot_preserve = "14d"; - volume = { - "/mnt/btr_pool" = { - target = "/mnt/btr_backup/mylaptop"; - subvolume = { - "rootfs" = { }; - "home" = { snapshot_create = "always"; }; + }; + default = { }; + example = { + snapshot_preserve_min = "2d"; + snapshot_preserve = "14d"; + volume = { + "/mnt/btr_pool" = { + target = "/mnt/btr_backup/mylaptop"; + subvolume = { + "rootfs" = { }; + "home" = { + snapshot_create = "always"; }; }; }; }; - description = "configuration options for btrbk. Nested attrsets translate to subsections."; }; + description = "configuration options for btrbk. Nested attrsets translate to subsections."; }; - } - ); + }; + }); default = { }; }; sshAccess = mkOption { description = "SSH keys that should be able to make or push snapshots on this system remotely with btrbk"; - type = with types; listOf ( - submodule { + type = + with types; + listOf (submodule { options = { key = mkOption { type = str; description = "SSH public key allowed to login as user `btrbk` to run remote backups."; }; roles = mkOption { - type = listOf (enum [ "info" "source" "target" "delete" "snapshot" "send" "receive" ]); - example = [ "source" "info" "send" ]; + type = listOf (enum [ + "info" + "source" + "target" + "delete" + "snapshot" + "send" + "receive" + ]); + example = [ + "source" + "info" + "send" + ]; description = "What actions can be performed with this SSH key. See ssh_filter_btrbk(1) for details"; }; }; - } - ); + }); default = [ ]; }; }; @@ -210,22 +280,27 @@ in security.sudo-rs.extraRules = mkIf (sudo_doas == "sudo") [ sudoRule ]; security.doas = mkIf (sudo_doas == "doas") { - extraRules = let - doasCmdNoPass = cmd: { users = [ "btrbk" ]; cmd = cmd; noPass = true; }; - in + extraRules = + let + doasCmdNoPass = cmd: { + users = [ "btrbk" ]; + cmd = cmd; + noPass = true; + }; + in [ - (doasCmdNoPass "${pkgs.btrfs-progs}/bin/btrfs") - (doasCmdNoPass "${pkgs.coreutils}/bin/mkdir") - (doasCmdNoPass "${pkgs.coreutils}/bin/readlink") - # for ssh, they are not the same than the one hard coded in ${pkgs.btrbk} - (doasCmdNoPass "/run/current-system/sw/bin/btrfs") - (doasCmdNoPass "/run/current-system/sw/bin/mkdir") - (doasCmdNoPass "/run/current-system/sw/bin/readlink") + (doasCmdNoPass "${pkgs.btrfs-progs}/bin/btrfs") + (doasCmdNoPass "${pkgs.coreutils}/bin/mkdir") + (doasCmdNoPass "${pkgs.coreutils}/bin/readlink") + # for ssh, they are not the same than the one hard coded in ${pkgs.btrbk} + (doasCmdNoPass "/run/current-system/sw/bin/btrfs") + (doasCmdNoPass "/run/current-system/sw/bin/mkdir") + (doasCmdNoPass "/run/current-system/sw/bin/readlink") - # doas matches command, not binary - (doasCmdNoPass "btrfs") - (doasCmdNoPass "mkdir") - (doasCmdNoPass "readlink") + # doas matches command, not binary + (doasCmdNoPass "btrfs") + (doasCmdNoPass "mkdir") + (doasCmdNoPass "readlink") ]; }; users.users.btrbk = { @@ -235,21 +310,23 @@ in createHome = true; shell = "${pkgs.bash}/bin/bash"; group = "btrbk"; - openssh.authorizedKeys.keys = map - ( - v: - let - options = concatMapStringsSep " " (x: "--" + x) v.roles; - ioniceClass = { + openssh.authorizedKeys.keys = map ( + v: + let + options = concatMapStringsSep " " (x: "--" + x) v.roles; + ioniceClass = + { "idle" = 3; "best-effort" = 2; "realtime" = 1; - }.${cfg.ioSchedulingClass}; - sudo_doas_flag = "--${sudo_doas}"; - in - ''command="${pkgs.util-linux}/bin/ionice -t -c ${toString ioniceClass} ${optionalString (cfg.niceness >= 1) "${pkgs.coreutils}/bin/nice -n ${toString cfg.niceness}"} ${pkgs.btrbk}/share/btrbk/scripts/ssh_filter_btrbk.sh ${sudo_doas_flag} ${options}" ${v.key}'' - ) - cfg.sshAccess; + } + .${cfg.ioSchedulingClass}; + sudo_doas_flag = "--${sudo_doas}"; + in + ''command="${pkgs.util-linux}/bin/ionice -t -c ${toString ioniceClass} ${ + optionalString (cfg.niceness >= 1) "${pkgs.coreutils}/bin/nice -n ${toString cfg.niceness}" + } ${pkgs.btrbk}/share/btrbk/scripts/ssh_filter_btrbk.sh ${sudo_doas_flag} ${options}" ${v.key}'' + ) cfg.sshAccess; }; users.groups.btrbk = { }; systemd.tmpfiles.rules = [ @@ -257,56 +334,45 @@ in "d /var/lib/btrbk/.ssh 0700 btrbk btrbk" "f /var/lib/btrbk/.ssh/config 0700 btrbk btrbk - StrictHostKeyChecking=accept-new" ]; - environment.etc = mapAttrs' - ( - name: instance: { - name = "btrbk/${name}.conf"; - value.source = mkConfigFile name instance.settings; - } - ) - cfg.instances; - systemd.services = mapAttrs' - ( - name: instance: { - name = "btrbk-${name}"; - value = { - description = "Takes BTRFS snapshots and maintains retention policies."; - unitConfig.Documentation = "man:btrbk(1)"; - path = [ "/run/wrappers" ] - ++ cfg.extraPackages - ++ optional (instance.settings.stream_compress != "no") - (getAttr instance.settings.stream_compress streamCompressMap); - serviceConfig = { - User = "btrbk"; - Group = "btrbk"; - Type = "oneshot"; - ExecStart = "${pkgs.btrbk}/bin/btrbk -c /etc/btrbk/${name}.conf run"; - Nice = cfg.niceness; - IOSchedulingClass = cfg.ioSchedulingClass; - StateDirectory = "btrbk"; - }; - }; - } - ) - cfg.instances; + environment.etc = mapAttrs' (name: instance: { + name = "btrbk/${name}.conf"; + value.source = mkConfigFile name instance.settings; + }) cfg.instances; + systemd.services = mapAttrs' (name: instance: { + name = "btrbk-${name}"; + value = { + description = "Takes BTRFS snapshots and maintains retention policies."; + unitConfig.Documentation = "man:btrbk(1)"; + path = + [ "/run/wrappers" ] + ++ cfg.extraPackages + ++ optional (instance.settings.stream_compress != "no") ( + getAttr instance.settings.stream_compress streamCompressMap + ); + serviceConfig = { + User = "btrbk"; + Group = "btrbk"; + Type = "oneshot"; + ExecStart = "${pkgs.btrbk}/bin/btrbk -c /etc/btrbk/${name}.conf run"; + Nice = cfg.niceness; + IOSchedulingClass = cfg.ioSchedulingClass; + StateDirectory = "btrbk"; + }; + }; + }) cfg.instances; - systemd.timers = mapAttrs' - ( - name: instance: { - name = "btrbk-${name}"; - value = { - description = "Timer to take BTRFS snapshots and maintain retention policies."; - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = instance.onCalendar; - AccuracySec = "10min"; - Persistent = true; - }; - }; - } - ) - (filterAttrs (name: instance: instance.onCalendar != null) - cfg.instances); + systemd.timers = mapAttrs' (name: instance: { + name = "btrbk-${name}"; + value = { + description = "Timer to take BTRFS snapshots and maintain retention policies."; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = instance.onCalendar; + AccuracySec = "10min"; + Persistent = true; + }; + }; + }) (filterAttrs (name: instance: instance.onCalendar != null) cfg.instances); }; } diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix index 85f508141ba77..bb205d2ac0ddd 100644 --- a/nixos/modules/services/backup/duplicati.nix +++ b/nixos/modules/services/backup/duplicati.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.duplicati; in diff --git a/nixos/modules/services/backup/duplicity.nix b/nixos/modules/services/backup/duplicity.nix index d6927d63ca7ad..22b43c5e131f7 100644 --- a/nixos/modules/services/backup/duplicity.nix +++ b/nixos/modules/services/backup/duplicity.nix @@ -1,12 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.duplicity; stateDirectory = "/var/lib/duplicity"; localTarget = - if lib.hasPrefix "file://" cfg.targetUrl - then lib.removePrefix "file://" cfg.targetUrl else null; + if lib.hasPrefix "file://" cfg.targetUrl then lib.removePrefix "file://" cfg.targetUrl else null; in { @@ -99,7 +103,10 @@ in extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "--backend-retry-delay" "100" ]; + example = [ + "--backend-retry-delay" + "100" + ]; description = '' Extra command-line flags passed to duplicity. See {manpage}`duplicity(1)`. @@ -155,45 +162,82 @@ in config = lib.mkIf cfg.enable { systemd = { - services.duplicity = { - description = "backup files with duplicity"; - - environment.HOME = stateDirectory; - - script = - let - target = lib.escapeShellArg cfg.targetUrl; - extra = lib.escapeShellArgs ([ "--archive-dir" stateDirectory ] ++ cfg.extraFlags); - dup = "${pkgs.duplicity}/bin/duplicity"; - in - '' - set -x - ${dup} cleanup ${target} --force ${extra} - ${lib.optionalString (cfg.cleanup.maxAge != null) "${dup} remove-older-than ${lib.escapeShellArg cfg.cleanup.maxAge} ${target} --force ${extra}"} - ${lib.optionalString (cfg.cleanup.maxFull != null) "${dup} remove-all-but-n-full ${toString cfg.cleanup.maxFull} ${target} --force ${extra}"} - ${lib.optionalString (cfg.cleanup.maxIncr != null) "${dup} remove-all-inc-of-but-n-full ${toString cfg.cleanup.maxIncr} ${target} --force ${extra}"} - exec ${dup} ${if cfg.fullIfOlderThan == "always" then "full" else "incr"} ${lib.escapeShellArgs ( - [ cfg.root cfg.targetUrl ] - ++ lib.optionals (cfg.includeFileList != null) [ "--include-filelist" cfg.includeFileList ] - ++ lib.optionals (cfg.excludeFileList != null) [ "--exclude-filelist" cfg.excludeFileList ] - ++ lib.concatMap (p: [ "--include" p ]) cfg.include - ++ lib.concatMap (p: [ "--exclude" p ]) cfg.exclude - ++ (lib.optionals (cfg.fullIfOlderThan != "never" && cfg.fullIfOlderThan != "always") [ "--full-if-older-than" cfg.fullIfOlderThan ]) - )} ${extra} - ''; - serviceConfig = { - PrivateTmp = true; - ProtectSystem = "strict"; - ProtectHome = "read-only"; - StateDirectory = baseNameOf stateDirectory; - } // lib.optionalAttrs (localTarget != null) { - ReadWritePaths = localTarget; - } // lib.optionalAttrs (cfg.secretFile != null) { - EnvironmentFile = cfg.secretFile; + services.duplicity = + { + description = "backup files with duplicity"; + + environment.HOME = stateDirectory; + + script = + let + target = lib.escapeShellArg cfg.targetUrl; + extra = lib.escapeShellArgs ( + [ + "--archive-dir" + stateDirectory + ] + ++ cfg.extraFlags + ); + dup = "${pkgs.duplicity}/bin/duplicity"; + in + '' + set -x + ${dup} cleanup ${target} --force ${extra} + ${lib.optionalString ( + cfg.cleanup.maxAge != null + ) "${dup} remove-older-than ${lib.escapeShellArg cfg.cleanup.maxAge} ${target} --force ${extra}"} + ${lib.optionalString ( + cfg.cleanup.maxFull != null + ) "${dup} remove-all-but-n-full ${toString cfg.cleanup.maxFull} ${target} --force ${extra}"} + ${lib.optionalString ( + cfg.cleanup.maxIncr != null + ) "${dup} remove-all-inc-of-but-n-full ${toString cfg.cleanup.maxIncr} ${target} --force ${extra}"} + exec ${dup} ${if cfg.fullIfOlderThan == "always" then "full" else "incr"} ${ + lib.escapeShellArgs ( + [ + cfg.root + cfg.targetUrl + ] + ++ lib.optionals (cfg.includeFileList != null) [ + "--include-filelist" + cfg.includeFileList + ] + ++ lib.optionals (cfg.excludeFileList != null) [ + "--exclude-filelist" + cfg.excludeFileList + ] + ++ lib.concatMap (p: [ + "--include" + p + ]) cfg.include + ++ lib.concatMap (p: [ + "--exclude" + p + ]) cfg.exclude + ++ (lib.optionals (cfg.fullIfOlderThan != "never" && cfg.fullIfOlderThan != "always") [ + "--full-if-older-than" + cfg.fullIfOlderThan + ]) + ) + } ${extra} + ''; + serviceConfig = + { + PrivateTmp = true; + ProtectSystem = "strict"; + ProtectHome = "read-only"; + StateDirectory = baseNameOf stateDirectory; + } + // lib.optionalAttrs (localTarget != null) { + ReadWritePaths = localTarget; + } + // lib.optionalAttrs (cfg.secretFile != null) { + EnvironmentFile = cfg.secretFile; + }; + } + // lib.optionalAttrs (cfg.frequency != null) { + startAt = cfg.frequency; }; - } // lib.optionalAttrs (cfg.frequency != null) { - startAt = cfg.frequency; - }; tmpfiles.rules = lib.optional (localTarget != null) "d ${localTarget} 0700 root root -"; }; diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix index 8ad4f98dce8a3..b30579103699e 100644 --- a/nixos/modules/services/backup/mysql-backup.nix +++ b/nixos/modules/services/backup/mysql-backup.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (pkgs) mariadb gzip; @@ -53,7 +58,7 @@ in }; databases = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; description = '' List of database names to dump. @@ -97,15 +102,18 @@ in }; }; - services.mysql.ensureUsers = [{ - name = cfg.user; - ensurePermissions = with lib; - let - privs = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES"; - grant = db: lib.nameValuePair "${db}.*" privs; - in + services.mysql.ensureUsers = [ + { + name = cfg.user; + ensurePermissions = + with lib; + let + privs = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES"; + grant = db: lib.nameValuePair "${db}.*" privs; + in lib.listToAttrs (map grant cfg.databases); - }]; + } + ]; systemd = { timers.mysql-backup = { diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix index 3302375c78899..8a3a8173354ed 100644 --- a/nixos/modules/services/backup/postgresql-backup.nix +++ b/nixos/modules/services/backup/postgresql-backup.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.postgresqlBackup; - postgresqlBackupService = db: dumpCmd: + postgresqlBackupService = + db: dumpCmd: let compressSuffixes = { "none" = ""; @@ -23,14 +29,18 @@ let prevFile = mkSqlPath ".prev" compressSuffix; prevFiles = map (mkSqlPath ".prev") (lib.attrValues compressSuffixes); inProgressFile = mkSqlPath ".in-progress" compressSuffix; - in { + in + { enable = true; description = "Backup of ${db} database(s)"; requires = [ "postgresql.service" ]; - path = [ pkgs.coreutils config.services.postgresql.package ]; + path = [ + pkgs.coreutils + config.services.postgresql.package + ]; script = '' set -e -o pipefail @@ -57,12 +67,13 @@ let startAt = cfg.startAt; }; -in { +in +{ imports = [ (lib.mkRemovedOptionModule [ "services" "postgresqlBackup" "period" ] '' - A systemd timer is now used instead of cron. - The starting time can be configured via services.postgresqlBackup.startAt. + A systemd timer is now used instead of cron. + The starting time can be configured via services.postgresqlBackup.startAt. '') ]; @@ -81,7 +92,7 @@ in { }; backupAll = lib.mkOption { - default = cfg.databases == []; + default = cfg.databases == [ ]; defaultText = lib.literalExpression "services.postgresqlBackup.databases == []"; type = lib.types.bool; description = '' @@ -94,7 +105,7 @@ in { }; databases = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; description = '' List of database names to dump. @@ -121,7 +132,11 @@ in { }; compression = lib.mkOption { - type = lib.types.enum ["none" "gzip" "zstd"]; + type = lib.types.enum [ + "none" + "gzip" + "zstd" + ]; default = "gzip"; description = '' The type of compression to use on the generated database dump. @@ -144,13 +159,14 @@ in { { assertions = [ { - assertion = cfg.backupAll -> cfg.databases == []; + assertion = cfg.backupAll -> cfg.databases == [ ]; message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases"; } { - assertion = cfg.compression == "none" || - (cfg.compression == "gzip" && cfg.compressionLevel >= 1 && cfg.compressionLevel <= 9) || - (cfg.compression == "zstd" && cfg.compressionLevel >= 1 && cfg.compressionLevel <= 19); + assertion = + cfg.compression == "none" + || (cfg.compression == "gzip" && cfg.compressionLevel >= 1 && cfg.compressionLevel <= 9) + || (cfg.compression == "zstd" && cfg.compressionLevel >= 1 && cfg.compressionLevel <= 19); message = "config.services.postgresqlBackup.compressionLevel must be set between 1 and 9 for gzip and 1 and 19 for zstd"; } ]; @@ -161,17 +177,21 @@ in { ]; }) (lib.mkIf (cfg.enable && cfg.backupAll) { - systemd.services.postgresqlBackup = - postgresqlBackupService "all" "pg_dumpall"; + systemd.services.postgresqlBackup = postgresqlBackupService "all" "pg_dumpall"; }) (lib.mkIf (cfg.enable && !cfg.backupAll) { - systemd.services = lib.listToAttrs (map (db: - let - cmd = "pg_dump ${cfg.pgdumpOptions} ${db}"; - in { - name = "postgresqlBackup-${db}"; - value = postgresqlBackupService db cmd; - }) cfg.databases); + systemd.services = lib.listToAttrs ( + map ( + db: + let + cmd = "pg_dump ${cfg.pgdumpOptions} ${db}"; + in + { + name = "postgresqlBackup-${db}"; + value = postgresqlBackupService db cmd; + } + ) cfg.databases + ); }) ]; diff --git a/nixos/modules/services/backup/postgresql-wal-receiver.nix b/nixos/modules/services/backup/postgresql-wal-receiver.nix index b355637ff5a03..361f572d61d6d 100644 --- a/nixos/modules/services/backup/postgresql-wal-receiver.nix +++ b/nixos/modules/services/backup/postgresql-wal-receiver.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let receiverSubmodule = { options = { @@ -108,7 +113,8 @@ let }; }; -in { +in +{ options = { services.postgresqlWalReceiver = { receivers = lib.mkOption { @@ -133,65 +139,76 @@ in { }; }; - config = let - receivers = config.services.postgresqlWalReceiver.receivers; - in lib.mkIf (receivers != { }) { - users = { - users.postgres = { - uid = config.ids.uids.postgres; - group = "postgres"; - description = "PostgreSQL server user"; + config = + let + receivers = config.services.postgresqlWalReceiver.receivers; + in + lib.mkIf (receivers != { }) { + users = { + users.postgres = { + uid = config.ids.uids.postgres; + group = "postgres"; + description = "PostgreSQL server user"; + }; + + groups.postgres = { + gid = config.ids.gids.postgres; + }; }; - groups.postgres = { - gid = config.ids.gids.postgres; - }; + assertions = lib.concatLists ( + lib.attrsets.mapAttrsToList (name: config: [ + { + assertion = config.compress > 0 -> lib.versionAtLeast config.postgresqlPackage.version "10"; + message = "Invalid configuration for WAL receiver \"${name}\": compress requires PostgreSQL version >= 10."; + } + ]) receivers + ); + + systemd.tmpfiles.rules = lib.mapAttrsToList (name: config: '' + d ${lib.escapeShellArg config.directory} 0750 postgres postgres - - + '') receivers; + + systemd.services = lib.mapAttrs' ( + name: config: + lib.nameValuePair "postgresql-wal-receiver-${name}" { + description = "PostgreSQL WAL receiver (${name})"; + wantedBy = [ "multi-user.target" ]; + startLimitIntervalSec = 0; # retry forever, useful in case of network disruption + + serviceConfig = { + User = "postgres"; + Group = "postgres"; + KillSignal = "SIGINT"; + Restart = "always"; + RestartSec = 60; + }; + + inherit (config) environment; + + script = + let + receiverCommand = + postgresqlPackage: + if (lib.versionAtLeast postgresqlPackage.version "10") then + "${postgresqlPackage}/bin/pg_receivewal" + else + "${postgresqlPackage}/bin/pg_receivexlog"; + in + '' + ${receiverCommand config.postgresqlPackage} \ + --no-password \ + --directory=${lib.escapeShellArg config.directory} \ + --status-interval=${toString config.statusInterval} \ + --dbname=${lib.escapeShellArg config.connection} \ + ${lib.optionalString (config.compress > 0) "--compress=${toString config.compress}"} \ + ${lib.optionalString (config.slot != "") "--slot=${lib.escapeShellArg config.slot}"} \ + ${lib.optionalString config.synchronous "--synchronous"} \ + ${lib.concatStringsSep " " config.extraArgs} + ''; + } + ) receivers; }; - assertions = lib.concatLists (lib.attrsets.mapAttrsToList (name: config: [ - { - assertion = config.compress > 0 -> lib.versionAtLeast config.postgresqlPackage.version "10"; - message = "Invalid configuration for WAL receiver \"${name}\": compress requires PostgreSQL version >= 10."; - } - ]) receivers); - - systemd.tmpfiles.rules = lib.mapAttrsToList (name: config: '' - d ${lib.escapeShellArg config.directory} 0750 postgres postgres - - - '') receivers; - - systemd.services = lib.mapAttrs' (name: config: lib.nameValuePair "postgresql-wal-receiver-${name}" { - description = "PostgreSQL WAL receiver (${name})"; - wantedBy = [ "multi-user.target" ]; - startLimitIntervalSec = 0; # retry forever, useful in case of network disruption - - serviceConfig = { - User = "postgres"; - Group = "postgres"; - KillSignal = "SIGINT"; - Restart = "always"; - RestartSec = 60; - }; - - inherit (config) environment; - - script = let - receiverCommand = postgresqlPackage: - if (lib.versionAtLeast postgresqlPackage.version "10") - then "${postgresqlPackage}/bin/pg_receivewal" - else "${postgresqlPackage}/bin/pg_receivexlog"; - in '' - ${receiverCommand config.postgresqlPackage} \ - --no-password \ - --directory=${lib.escapeShellArg config.directory} \ - --status-interval=${toString config.statusInterval} \ - --dbname=${lib.escapeShellArg config.connection} \ - ${lib.optionalString (config.compress > 0) "--compress=${toString config.compress}"} \ - ${lib.optionalString (config.slot != "") "--slot=${lib.escapeShellArg config.slot}"} \ - ${lib.optionalString config.synchronous "--synchronous"} \ - ${lib.concatStringsSep " " config.extraArgs} - ''; - }) receivers; - }; - meta.maintainers = with lib.maintainers; [ pacien ]; } diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index 333609444da2a..5850b17e9cb74 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.restic.server; in @@ -48,7 +53,7 @@ in extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Extra commandline options to pass to Restic REST server. ''; @@ -58,14 +63,21 @@ in }; config = lib.mkIf cfg.enable { - assertions = [{ - assertion = lib.substring 0 1 cfg.listenAddress != ":"; - message = "The restic-rest-server now uses systemd socket activation, which expects only the Port number: services.restic.server.listenAddress = \"${lib.substring 1 6 cfg.listenAddress}\";"; - }]; + assertions = [ + { + assertion = lib.substring 0 1 cfg.listenAddress != ":"; + message = "The restic-rest-server now uses systemd socket activation, which expects only the Port number: services.restic.server.listenAddress = \"${ + lib.substring 1 6 cfg.listenAddress + }\";"; + } + ]; systemd.services.restic-rest-server = { description = "Restic REST Server"; - after = [ "network.target" "restic-rest-server.socket" ]; + after = [ + "network.target" + "restic-rest-server.socket" + ]; requires = [ "restic-rest-server.socket" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -107,7 +119,7 @@ in RestrictSUIDSGID = true; SystemCallArchitectures = "native"; SystemCallFilter = "@system-service"; - UMask = 027; + UMask = 27; }; }; @@ -117,7 +129,7 @@ in }; systemd.tmpfiles.rules = lib.mkIf cfg.privateRepos [ - "f ${cfg.dataDir}/.htpasswd 0700 restic restic -" + "f ${cfg.dataDir}/.htpasswd 0700 restic restic -" ]; users.users.restic = { diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix index aedb8acd60ac1..280c5f7f6184d 100644 --- a/nixos/modules/services/backup/rsnapshot.nix +++ b/nixos/modules/services/backup/rsnapshot.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rsnapshot; cfgfile = pkgs.writeText "rsnapshot.conf" '' @@ -47,8 +52,11 @@ in }; cronIntervals = lib.mkOption { - default = {}; - example = { hourly = "0 * * * *"; daily = "50 21 * * *"; }; + default = { }; + example = { + hourly = "0 * * * *"; + daily = "50 21 * * *"; + }; type = lib.types.attrsOf lib.types.str; description = '' Periodicity at which intervals should be run by cron. @@ -59,14 +67,17 @@ in }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - services.cron.systemCronJobs = - lib.mapAttrsToList (interval: time: "${time} root ${pkgs.rsnapshot}/bin/rsnapshot -c ${cfgfile} ${interval}") cfg.cronIntervals; - } - (lib.mkIf cfg.enableManualRsnapshot { - environment.systemPackages = [ pkgs.rsnapshot ]; - environment.etc."rsnapshot.conf".source = cfgfile; - }) - ]); + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + services.cron.systemCronJobs = lib.mapAttrsToList ( + interval: time: "${time} root ${pkgs.rsnapshot}/bin/rsnapshot -c ${cfgfile} ${interval}" + ) cfg.cronIntervals; + } + (lib.mkIf cfg.enableManualRsnapshot { + environment.systemPackages = [ pkgs.rsnapshot ]; + environment.etc."rsnapshot.conf".source = cfgfile; + }) + ] + ); } diff --git a/nixos/modules/services/backup/snapraid.nix b/nixos/modules/services/backup/snapraid.nix index 72b4d9caef3c3..32e5cf630ffd0 100644 --- a/nixos/modules/services/backup/snapraid.nix +++ b/nixos/modules/services/backup/snapraid.nix @@ -1,5 +1,11 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.snapraid; +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.snapraid; in { imports = [ @@ -44,15 +50,18 @@ in }; exclude = lib.mkOption { default = [ ]; - example = [ "*.unrecoverable" "/tmp/" "/lost+found/" ]; + example = [ + "*.unrecoverable" + "/tmp/" + "/lost+found/" + ]; description = "SnapRAID exclude directives."; type = listOf str; }; touchBeforeSync = lib.mkOption { default = true; example = false; - description = - "Whether {command}`snapraid touch` should be run before {command}`snapraid sync`."; + description = "Whether {command}`snapraid touch` should be run before {command}`snapraid sync`."; type = bool; }; sync.interval = lib.mkOption { @@ -71,15 +80,13 @@ in plan = lib.mkOption { default = 8; example = 5; - description = - "Percent of the array that should be checked by {command}`snapraid scrub`."; + description = "Percent of the array that should be checked by {command}`snapraid scrub`."; type = int; }; olderThan = lib.mkOption { default = 10; example = 20; - description = - "Number of days since data was last scrubbed before it can be scrubbed again."; + description = "Number of days since data was last scrubbed before it can be scrubbed again."; type = int; }; }; @@ -110,8 +117,7 @@ in } { assertion = builtins.length cfg.contentFiles >= nParity + 1; - message = - "There must be at least one SnapRAID content file for each SnapRAID parity file plus one."; + message = "There must be at least one SnapRAID content file for each SnapRAID parity file plus one."; } ]; @@ -119,19 +125,23 @@ in systemPackages = with pkgs; [ snapraid ]; etc."snapraid.conf" = { - text = with cfg; + text = + with cfg; let prependData = mkPrepend "data "; prependContent = mkPrepend "content "; prependExclude = mkPrepend "exclude "; in - lib.concatStringsSep "\n" - (map prependData - ((lib.mapAttrsToList (name: value: name + " " + value)) dataDisks) - ++ lib.zipListsWith (a: b: a + b) - ([ "parity " ] ++ map (i: toString i + "-parity ") (lib.range 2 6)) - parityFiles ++ map prependContent contentFiles - ++ map prependExclude exclude) + "\n" + extraConfig; + lib.concatStringsSep "\n" ( + map prependData ((lib.mapAttrsToList (name: value: name + " " + value)) dataDisks) + ++ lib.zipListsWith (a: b: a + b) ( + [ "parity " ] ++ map (i: toString i + "-parity ") (lib.range 2 6) + ) parityFiles + ++ map prependContent contentFiles + ++ map prependExclude exclude + ) + + "\n" + + extraConfig; }; }; @@ -141,9 +151,7 @@ in startAt = scrub.interval; serviceConfig = { Type = "oneshot"; - ExecStart = "${pkgs.snapraid}/bin/snapraid scrub -p ${ - toString scrub.plan - } -o ${toString scrub.olderThan}"; + ExecStart = "${pkgs.snapraid}/bin/snapraid scrub -p ${toString scrub.plan} -o ${toString scrub.olderThan}"; Nice = 19; IOSchedulingPriority = 7; CPUSchedulingPolicy = "batch"; @@ -176,60 +184,57 @@ in let contentDirs = map dirOf contentFiles; in - lib.unique ( - lib.attrValues dataDisks ++ contentDirs - ); + lib.unique (lib.attrValues dataDisks ++ contentDirs); }; unitConfig.After = "snapraid-sync.service"; }; snapraid-sync = { description = "Synchronize the state of the SnapRAID array"; startAt = sync.interval; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.snapraid}/bin/snapraid sync"; - Nice = 19; - IOSchedulingPriority = 7; - CPUSchedulingPolicy = "batch"; + serviceConfig = + { + Type = "oneshot"; + ExecStart = "${pkgs.snapraid}/bin/snapraid sync"; + Nice = 19; + IOSchedulingPriority = 7; + CPUSchedulingPolicy = "batch"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - RestrictAddressFamilies = "none"; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = "@system-service"; - SystemCallErrorNumber = "EPERM"; - CapabilityBoundingSet = "CAP_DAC_OVERRIDE" + - lib.optionalString cfg.touchBeforeSync " CAP_FOWNER"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "none"; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + SystemCallErrorNumber = "EPERM"; + CapabilityBoundingSet = "CAP_DAC_OVERRIDE" + lib.optionalString cfg.touchBeforeSync " CAP_FOWNER"; - ProtectSystem = "strict"; - ProtectHome = "read-only"; - ReadWritePaths = - # sync requires access to directories containing content files - # to remove them if they are stale - let - contentDirs = map dirOf contentFiles; - # Multiple "split" parity files can be specified in a single - # "parityFile", separated by a comma. - # https://www.snapraid.it/manual#7.1 - splitParityFiles = map (s: lib.splitString "," s) parityFiles; - in - lib.unique ( - lib.attrValues dataDisks ++ splitParityFiles ++ contentDirs - ); - } // lib.optionalAttrs touchBeforeSync { - ExecStartPre = "${pkgs.snapraid}/bin/snapraid touch"; - }; + ProtectSystem = "strict"; + ProtectHome = "read-only"; + ReadWritePaths = + # sync requires access to directories containing content files + # to remove them if they are stale + let + contentDirs = map dirOf contentFiles; + # Multiple "split" parity files can be specified in a single + # "parityFile", separated by a comma. + # https://www.snapraid.it/manual#7.1 + splitParityFiles = map (s: lib.splitString "," s) parityFiles; + in + lib.unique (lib.attrValues dataDisks ++ splitParityFiles ++ contentDirs); + } + // lib.optionalAttrs touchBeforeSync { + ExecStartPre = "${pkgs.snapraid}/bin/snapraid touch"; + }; }; }; }; diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix index 43493997931c1..235042a143e6d 100644 --- a/nixos/modules/services/backup/tarsnap.nix +++ b/nixos/modules/services/backup/tarsnap.nix @@ -1,4 +1,11 @@ -{ config, lib, options, pkgs, utils, ... }: +{ + config, + lib, + options, + pkgs, + utils, + ... +}: let gcfg = config.services.tarsnap; opt = options.services.tarsnap; @@ -9,7 +16,7 @@ let ${lib.optionalString cfg.nodump "nodump"} ${lib.optionalString cfg.printStats "print-stats"} ${lib.optionalString cfg.printStats "humanize-numbers"} - ${lib.optionalString (cfg.checkpointBytes != null) ("checkpoint-bytes "+cfg.checkpointBytes)} + ${lib.optionalString (cfg.checkpointBytes != null) ("checkpoint-bytes " + cfg.checkpointBytes)} ${lib.optionalString cfg.aggressiveNetworking "aggressive-networking"} ${lib.concatStringsSep "\n" (map (v: "exclude ${v}") cfg.excludes)} ${lib.concatStringsSep "\n" (map (v: "include ${v}") cfg.includes)} @@ -22,7 +29,11 @@ let in { imports = [ - (lib.mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives..cachedir") + (lib.mkRemovedOptionModule [ + "services" + "tarsnap" + "cachedir" + ] "Use services.tarsnap.archives..cachedir") ]; options = { @@ -59,205 +70,208 @@ in }; archives = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule ({ config, options, ... }: - { - options = { - keyfile = lib.mkOption { - type = lib.types.str; - default = gcfg.keyfile; - defaultText = lib.literalExpression "config.${opt.keyfile}"; - description = '' - Set a specific keyfile for this archive. This defaults to - `"/root/tarsnap.key"` if left unspecified. - - Use this option if you want to run multiple backups - concurrently - each archive must have a unique key. You can - generate a write-only key derived from your master key (which - is recommended) using `tarsnap-keymgmt(1)`. - - Note: every archive must have an individual master key. You - must generate multiple keys with - `tarsnap-keygen(1)`, and then generate write - only keys from those. - - The keyfile name should be given as a string and not a path, to - avoid the key being copied into the Nix store. - ''; - }; - - cachedir = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = "/var/cache/tarsnap/${utils.escapeSystemdPath config.keyfile}"; - defaultText = lib.literalExpression '' - "/var/cache/tarsnap/''${utils.escapeSystemdPath config.${options.keyfile}}" - ''; - description = '' - The cache allows tarsnap to identify previously stored data - blocks, reducing archival time and bandwidth usage. - - Should the cache become desynchronized or corrupted, tarsnap - will refuse to run until you manually rebuild the cache with - {command}`tarsnap --fsck`. - - Set to `null` to disable caching. - ''; - }; - - nodump = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Exclude files with the `nodump` flag. - ''; - }; - - printStats = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Print global archive statistics upon completion. - The output is available via - {command}`systemctl status tarsnap-archive-name`. - ''; - }; - - checkpointBytes = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = "1GB"; - description = '' - Create a checkpoint every `checkpointBytes` - of uploaded data (optionally specified using an SI prefix). - - 1GB is the minimum value. A higher value is recommended, - as checkpointing is expensive. - - Set to `null` to disable checkpointing. - ''; + type = lib.types.attrsOf ( + lib.types.submodule ( + { config, options, ... }: + { + options = { + keyfile = lib.mkOption { + type = lib.types.str; + default = gcfg.keyfile; + defaultText = lib.literalExpression "config.${opt.keyfile}"; + description = '' + Set a specific keyfile for this archive. This defaults to + `"/root/tarsnap.key"` if left unspecified. + + Use this option if you want to run multiple backups + concurrently - each archive must have a unique key. You can + generate a write-only key derived from your master key (which + is recommended) using `tarsnap-keymgmt(1)`. + + Note: every archive must have an individual master key. You + must generate multiple keys with + `tarsnap-keygen(1)`, and then generate write + only keys from those. + + The keyfile name should be given as a string and not a path, to + avoid the key being copied into the Nix store. + ''; + }; + + cachedir = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = "/var/cache/tarsnap/${utils.escapeSystemdPath config.keyfile}"; + defaultText = lib.literalExpression '' + "/var/cache/tarsnap/''${utils.escapeSystemdPath config.${options.keyfile}}" + ''; + description = '' + The cache allows tarsnap to identify previously stored data + blocks, reducing archival time and bandwidth usage. + + Should the cache become desynchronized or corrupted, tarsnap + will refuse to run until you manually rebuild the cache with + {command}`tarsnap --fsck`. + + Set to `null` to disable caching. + ''; + }; + + nodump = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Exclude files with the `nodump` flag. + ''; + }; + + printStats = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Print global archive statistics upon completion. + The output is available via + {command}`systemctl status tarsnap-archive-name`. + ''; + }; + + checkpointBytes = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = "1GB"; + description = '' + Create a checkpoint every `checkpointBytes` + of uploaded data (optionally specified using an SI prefix). + + 1GB is the minimum value. A higher value is recommended, + as checkpointing is expensive. + + Set to `null` to disable checkpointing. + ''; + }; + + period = lib.mkOption { + type = lib.types.str; + default = "01:15"; + example = "hourly"; + description = '' + Create archive at this interval. + + The format is described in + {manpage}`systemd.time(7)`. + ''; + }; + + aggressiveNetworking = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Upload data over multiple TCP connections, potentially + increasing tarsnap's bandwidth utilisation at the cost + of slowing down all other network traffic. Not + recommended unless TCP congestion is the dominant + limiting factor. + ''; + }; + + directories = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = [ ]; + description = "List of filesystem paths to archive."; + }; + + excludes = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + Exclude files and directories matching these patterns. + ''; + }; + + includes = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + Include only files and directories matching these + patterns (the empty list includes everything). + + Exclusions have precedence over inclusions. + ''; + }; + + lowmem = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Reduce memory consumption by not caching small files. + Possibly beneficial if the average file size is smaller + than 1 MB and the number of files is lower than the + total amount of RAM in KB. + ''; + }; + + verylowmem = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Reduce memory consumption by a factor of 2 beyond what + `lowmem` does, at the cost of significantly + slowing down the archiving process. + ''; + }; + + maxbw = lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + description = '' + Abort archival if upstream bandwidth usage in bytes + exceeds this threshold. + ''; + }; + + maxbwRateUp = lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + example = lib.literalExpression "25 * 1000"; + description = '' + Upload bandwidth rate limit in bytes. + ''; + }; + + maxbwRateDown = lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + example = lib.literalExpression "50 * 1000"; + description = '' + Download bandwidth rate limit in bytes. + ''; + }; + + verbose = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to produce verbose logging output. + ''; + }; + explicitSymlinks = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to follow symlinks specified as archives. + ''; + }; + followSymlinks = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to follow all symlinks in archive trees. + ''; + }; }; + } + ) + ); - period = lib.mkOption { - type = lib.types.str; - default = "01:15"; - example = "hourly"; - description = '' - Create archive at this interval. - - The format is described in - {manpage}`systemd.time(7)`. - ''; - }; - - aggressiveNetworking = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Upload data over multiple TCP connections, potentially - increasing tarsnap's bandwidth utilisation at the cost - of slowing down all other network traffic. Not - recommended unless TCP congestion is the dominant - limiting factor. - ''; - }; - - directories = lib.mkOption { - type = lib.types.listOf lib.types.path; - default = []; - description = "List of filesystem paths to archive."; - }; - - excludes = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - Exclude files and directories matching these patterns. - ''; - }; - - includes = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - Include only files and directories matching these - patterns (the empty list includes everything). - - Exclusions have precedence over inclusions. - ''; - }; - - lowmem = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Reduce memory consumption by not caching small files. - Possibly beneficial if the average file size is smaller - than 1 MB and the number of files is lower than the - total amount of RAM in KB. - ''; - }; - - verylowmem = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Reduce memory consumption by a factor of 2 beyond what - `lowmem` does, at the cost of significantly - slowing down the archiving process. - ''; - }; - - maxbw = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - description = '' - Abort archival if upstream bandwidth usage in bytes - exceeds this threshold. - ''; - }; - - maxbwRateUp = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - example = lib.literalExpression "25 * 1000"; - description = '' - Upload bandwidth rate limit in bytes. - ''; - }; - - maxbwRateDown = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - example = lib.literalExpression "50 * 1000"; - description = '' - Download bandwidth rate limit in bytes. - ''; - }; - - verbose = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to produce verbose logging output. - ''; - }; - explicitSymlinks = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to follow symlinks specified as archives. - ''; - }; - followSymlinks = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to follow all symlinks in archive trees. - ''; - }; - }; - } - )); - - default = {}; + default = { }; example = lib.literalExpression '' { @@ -291,115 +305,146 @@ in config = lib.mkIf gcfg.enable { assertions = - (lib.mapAttrsToList (name: cfg: - { assertion = cfg.directories != []; - message = "Must specify paths for tarsnap to back up"; - }) gcfg.archives) ++ - (lib.mapAttrsToList (name: cfg: - { assertion = !(cfg.lowmem && cfg.verylowmem); - message = "You cannot set both lowmem and verylowmem"; - }) gcfg.archives); + (lib.mapAttrsToList (name: cfg: { + assertion = cfg.directories != [ ]; + message = "Must specify paths for tarsnap to back up"; + }) gcfg.archives) + ++ (lib.mapAttrsToList (name: cfg: { + assertion = !(cfg.lowmem && cfg.verylowmem); + message = "You cannot set both lowmem and verylowmem"; + }) gcfg.archives); systemd.services = - (lib.mapAttrs' (name: cfg: lib.nameValuePair "tarsnap-${name}" { - description = "Tarsnap archive '${name}'"; - requires = [ "network-online.target" ]; - after = [ "network-online.target" ]; - - path = with pkgs; [ iputils gcfg.package util-linux ]; - - # In order for the persistent tarsnap timer to work reliably, we have to - # make sure that the tarsnap server is reachable after systemd starts up - # the service - therefore we sleep in a loop until we can ping the - # endpoint. - preStart = '' - while ! ping -4 -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done - ''; - - script = let - tarsnap = ''${lib.getExe gcfg.package} --configfile "/etc/tarsnap/${name}.conf"''; - run = ''${tarsnap} -c -f "${name}-$(date +"%Y%m%d%H%M%S")" \ - ${lib.optionalString cfg.verbose "-v"} \ - ${lib.optionalString cfg.explicitSymlinks "-H"} \ - ${lib.optionalString cfg.followSymlinks "-L"} \ - ${lib.concatStringsSep " " cfg.directories}''; - cachedir = lib.escapeShellArg cfg.cachedir; - in if (cfg.cachedir != null) then '' - mkdir -p ${cachedir} - chmod 0700 ${cachedir} - - ( flock 9 - if [ ! -e ${cachedir}/firstrun ]; then - ( flock 10 - flock -u 9 - ${tarsnap} --fsck - flock 9 - ) 10>${cachedir}/firstrun - fi - ) 9>${cachedir}/lockf - - exec flock ${cachedir}/firstrun ${run} - '' else "exec ${run}"; - - serviceConfig = { - Type = "oneshot"; - IOSchedulingClass = "idle"; - NoNewPrivileges = "true"; - CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ]; - PermissionsStartOnly = "true"; - }; - }) gcfg.archives) // - - (lib.mapAttrs' (name: cfg: lib.nameValuePair "tarsnap-restore-${name}"{ - description = "Tarsnap restore '${name}'"; - requires = [ "network-online.target" ]; - - path = with pkgs; [ iputils gcfg.package util-linux ]; - - script = let - tarsnap = ''${lib.getExe gcfg.package} --configfile "/etc/tarsnap/${name}.conf"''; - lastArchive = "$(${tarsnap} --list-archives | sort | tail -1)"; - run = ''${tarsnap} -x -f "${lastArchive}" ${lib.optionalString cfg.verbose "-v"}''; - cachedir = lib.escapeShellArg cfg.cachedir; - - in if (cfg.cachedir != null) then '' - mkdir -p ${cachedir} - chmod 0700 ${cachedir} - - ( flock 9 - if [ ! -e ${cachedir}/firstrun ]; then - ( flock 10 - flock -u 9 - ${tarsnap} --fsck - flock 9 - ) 10>${cachedir}/firstrun - fi - ) 9>${cachedir}/lockf - - exec flock ${cachedir}/firstrun ${run} - '' else "exec ${run}"; - - serviceConfig = { - Type = "oneshot"; - IOSchedulingClass = "idle"; - NoNewPrivileges = "true"; - CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ]; - PermissionsStartOnly = "true"; - }; - }) gcfg.archives); + (lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "tarsnap-${name}" { + description = "Tarsnap archive '${name}'"; + requires = [ "network-online.target" ]; + after = [ "network-online.target" ]; + + path = with pkgs; [ + iputils + gcfg.package + util-linux + ]; + + # In order for the persistent tarsnap timer to work reliably, we have to + # make sure that the tarsnap server is reachable after systemd starts up + # the service - therefore we sleep in a loop until we can ping the + # endpoint. + preStart = '' + while ! ping -4 -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done + ''; + + script = + let + tarsnap = ''${lib.getExe gcfg.package} --configfile "/etc/tarsnap/${name}.conf"''; + run = '' + ${tarsnap} -c -f "${name}-$(date +"%Y%m%d%H%M%S")" \ + ${lib.optionalString cfg.verbose "-v"} \ + ${lib.optionalString cfg.explicitSymlinks "-H"} \ + ${lib.optionalString cfg.followSymlinks "-L"} \ + ${lib.concatStringsSep " " cfg.directories}''; + cachedir = lib.escapeShellArg cfg.cachedir; + in + if (cfg.cachedir != null) then + '' + mkdir -p ${cachedir} + chmod 0700 ${cachedir} + + ( flock 9 + if [ ! -e ${cachedir}/firstrun ]; then + ( flock 10 + flock -u 9 + ${tarsnap} --fsck + flock 9 + ) 10>${cachedir}/firstrun + fi + ) 9>${cachedir}/lockf + + exec flock ${cachedir}/firstrun ${run} + '' + else + "exec ${run}"; + + serviceConfig = { + Type = "oneshot"; + IOSchedulingClass = "idle"; + NoNewPrivileges = "true"; + CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ]; + PermissionsStartOnly = "true"; + }; + } + ) gcfg.archives) + // + + (lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "tarsnap-restore-${name}" { + description = "Tarsnap restore '${name}'"; + requires = [ "network-online.target" ]; + + path = with pkgs; [ + iputils + gcfg.package + util-linux + ]; + + script = + let + tarsnap = ''${lib.getExe gcfg.package} --configfile "/etc/tarsnap/${name}.conf"''; + lastArchive = "$(${tarsnap} --list-archives | sort | tail -1)"; + run = ''${tarsnap} -x -f "${lastArchive}" ${lib.optionalString cfg.verbose "-v"}''; + cachedir = lib.escapeShellArg cfg.cachedir; + + in + if (cfg.cachedir != null) then + '' + mkdir -p ${cachedir} + chmod 0700 ${cachedir} + + ( flock 9 + if [ ! -e ${cachedir}/firstrun ]; then + ( flock 10 + flock -u 9 + ${tarsnap} --fsck + flock 9 + ) 10>${cachedir}/firstrun + fi + ) 9>${cachedir}/lockf + + exec flock ${cachedir}/firstrun ${run} + '' + else + "exec ${run}"; + + serviceConfig = { + Type = "oneshot"; + IOSchedulingClass = "idle"; + NoNewPrivileges = "true"; + CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ]; + PermissionsStartOnly = "true"; + }; + } + ) gcfg.archives); # Note: the timer must be Persistent=true, so that systemd will start it even # if e.g. your laptop was asleep while the latest interval occurred. - systemd.timers = lib.mapAttrs' (name: cfg: lib.nameValuePair "tarsnap-${name}" - { timerConfig.OnCalendar = cfg.period; + systemd.timers = lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "tarsnap-${name}" { + timerConfig.OnCalendar = cfg.period; timerConfig.Persistent = "true"; wantedBy = [ "timers.target" ]; - }) gcfg.archives; - - environment.etc = - lib.mapAttrs' (name: cfg: lib.nameValuePair "tarsnap/${name}.conf" - { text = configFile name cfg; - }) gcfg.archives; + } + ) gcfg.archives; + + environment.etc = lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "tarsnap/${name}.conf" { + text = configFile name cfg; + } + ) gcfg.archives; environment.systemPackages = [ gcfg.package ]; }; diff --git a/nixos/modules/services/backup/tsm.nix b/nixos/modules/services/backup/tsm.nix index 6589fcd9466c1..8dd27ccd23424 100644 --- a/nixos/modules/services/backup/tsm.nix +++ b/nixos/modules/services/backup/tsm.nix @@ -79,8 +79,7 @@ in config = mkIf cfg.enable { inherit assertions; programs.tsmClient.enable = true; - programs.tsmClient.servers.${cfg.servername}.passworddir = - mkDefault "/var/lib/tsm-backup/password"; + programs.tsmClient.servers.${cfg.servername}.passworddir = mkDefault "/var/lib/tsm-backup/password"; systemd.services.tsm-backup = { description = "IBM Storage Protect (Tivoli Storage Manager) Backup"; # DSM_LOG needs a trailing slash to have it treated as a directory. @@ -94,8 +93,7 @@ in SuccessExitStatus = "4 8"; # The `-se` option must come after the command. # The `-optfile` option suppresses a `dsm.opt`-not-found warning. - ExecStart = - "${getExe' cfgPrg.wrappedPackage "dsmc"} ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null"; + ExecStart = "${getExe' cfgPrg.wrappedPackage "dsmc"} ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null"; LogsDirectory = "tsm-backup"; StateDirectory = "tsm-backup"; StateDirectoryMode = "0750"; @@ -117,7 +115,7 @@ in RestrictNamespaces = true; RestrictSUIDSGID = true; }; - startAt = mkIf (cfg.autoTime!=null) cfg.autoTime; + startAt = mkIf (cfg.autoTime != null) cfg.autoTime; }; }; diff --git a/nixos/modules/services/backup/zfs-replication.nix b/nixos/modules/services/backup/zfs-replication.nix index 5aefaa35df509..9f048ffdfb1ed 100644 --- a/nixos/modules/services/backup/zfs-replication.nix +++ b/nixos/modules/services/backup/zfs-replication.nix @@ -1,9 +1,15 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.services.zfs.autoReplication; recursive = lib.optionalString cfg.recursive " --recursive"; followDelete = lib.optionalString cfg.followDelete " --follow-delete"; -in { +in +{ options = { services.zfs.autoReplication = { enable = lib.mkEnableOption "ZFS snapshot replication"; diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix index a3ea8b209bb66..a49ff9fa5d664 100644 --- a/nixos/modules/services/backup/znapzend.nix +++ b/nixos/modules/services/backup/znapzend.nix @@ -1,26 +1,31 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let planDescription = '' - The znapzend backup plan to use for the source. + The znapzend backup plan to use for the source. - The plan specifies how often to backup and for how long to keep the - backups. It consists of a series of retention periods to interval - associations: + The plan specifies how often to backup and for how long to keep the + backups. It consists of a series of retention periods to interval + associations: - ``` - retA=>intA,retB=>intB,... - ``` + ``` + retA=>intA,retB=>intB,... + ``` - Both intervals and retention periods are expressed in standard units - of time or multiples of them. You can use both the full name or a - shortcut according to the following listing: + Both intervals and retention periods are expressed in standard units + of time or multiples of them. You can use both the full name or a + shortcut according to the following listing: - ``` - second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y - ``` + ``` + second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y + ``` - See {manpage}`znapzendzetup(1)` for more info. + See {manpage}`znapzendzetup(1)` for more info. ''; planExample = "1h=>10min,1d=>1h,1w=>1d,1m=>1w,1y=>1m"; @@ -30,107 +35,125 @@ let description = "string of the form number{b|k|M|G}"; }; - enabledFeatures = lib.concatLists (lib.mapAttrsToList (name: enabled: lib.optional enabled name) cfg.features); + enabledFeatures = lib.concatLists ( + lib.mapAttrsToList (name: enabled: lib.optional enabled name) cfg.features + ); # Type for a string that must contain certain other strings (the list parameter). # Note that these would need regex escaping. - stringContainingStrings = list: let - matching = s: map (str: builtins.match ".*${str}.*" s) list; - in lib.types.str // { - check = x: lib.types.str.check x && lib.all lib.isList (matching x); - description = "string containing all of the characters ${lib.concatStringsSep ", " list}"; - }; - - timestampType = stringContainingStrings [ "%Y" "%m" "%d" "%H" "%M" "%S" ]; - - destType = srcConfig: lib.types.submodule ({ name, ... }: { - options = { - - label = lib.mkOption { - type = lib.types.str; - description = "Label for this destination. Defaults to the attribute name."; - }; - - plan = lib.mkOption { - type = lib.types.str; - description = planDescription; - example = planExample; - }; - - dataset = lib.mkOption { - type = lib.types.str; - description = "Dataset name to send snapshots to."; - example = "tank/main"; - }; - - host = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Host to use for the destination dataset. Can be prefixed with - `user@` to specify the ssh user. - ''; - default = null; - example = "john@example.com"; - }; + stringContainingStrings = + list: + let + matching = s: map (str: builtins.match ".*${str}.*" s) list; + in + lib.types.str + // { + check = x: lib.types.str.check x && lib.all lib.isList (matching x); + description = "string containing all of the characters ${lib.concatStringsSep ", " list}"; + }; - presend = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Command to run before sending the snapshot to the destination. - Intended to run a remote script via {command}`ssh` on the - destination, e.g. to bring up a backup disk or server or to put a - zpool online/offline. See also {option}`postsend`. - ''; - default = null; - example = "ssh root@bserv zpool import -Nf tank"; - }; + timestampType = stringContainingStrings [ + "%Y" + "%m" + "%d" + "%H" + "%M" + "%S" + ]; + + destType = + srcConfig: + lib.types.submodule ( + { name, ... }: + { + options = { + + label = lib.mkOption { + type = lib.types.str; + description = "Label for this destination. Defaults to the attribute name."; + }; - postsend = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Command to run after sending the snapshot to the destination. - Intended to run a remote script via {command}`ssh` on the - destination, e.g. to bring up a backup disk or server or to put a - zpool online/offline. See also {option}`presend`. - ''; - default = null; - example = "ssh root@bserv zpool export tank"; - }; - }; + plan = lib.mkOption { + type = lib.types.str; + description = planDescription; + example = planExample; + }; - config = { - label = lib.mkDefault name; - plan = lib.mkDefault srcConfig.plan; - }; - }); + dataset = lib.mkOption { + type = lib.types.str; + description = "Dataset name to send snapshots to."; + example = "tank/main"; + }; + host = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Host to use for the destination dataset. Can be prefixed with + `user@` to specify the ssh user. + ''; + default = null; + example = "john@example.com"; + }; + presend = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Command to run before sending the snapshot to the destination. + Intended to run a remote script via {command}`ssh` on the + destination, e.g. to bring up a backup disk or server or to put a + zpool online/offline. See also {option}`postsend`. + ''; + default = null; + example = "ssh root@bserv zpool import -Nf tank"; + }; - srcType = lib.types.submodule ({ name, config, ... }: { - options = { + postsend = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Command to run after sending the snapshot to the destination. + Intended to run a remote script via {command}`ssh` on the + destination, e.g. to bring up a backup disk or server or to put a + zpool online/offline. See also {option}`presend`. + ''; + default = null; + example = "ssh root@bserv zpool export tank"; + }; + }; - enable = lib.mkOption { - type = lib.types.bool; - description = "Whether to enable this source."; - default = true; - }; + config = { + label = lib.mkDefault name; + plan = lib.mkDefault srcConfig.plan; + }; + } + ); - recursive = lib.mkOption { - type = lib.types.bool; - description = "Whether to do recursive snapshots."; - default = false; - }; + srcType = lib.types.submodule ( + { name, config, ... }: + { + options = { - mbuffer = { enable = lib.mkOption { type = lib.types.bool; - description = "Whether to use {command}`mbuffer`."; + description = "Whether to enable this source."; + default = true; + }; + + recursive = lib.mkOption { + type = lib.types.bool; + description = "Whether to do recursive snapshots."; default = false; }; - port = lib.mkOption { - type = lib.types.nullOr lib.types.ints.u16; - description = '' + mbuffer = { + enable = lib.mkOption { + type = lib.types.bool; + description = "Whether to use {command}`mbuffer`."; + default = false; + }; + + port = lib.mkOption { + type = lib.types.nullOr lib.types.ints.u16; + description = '' Port to use for {command}`mbuffer`. If this is null, it will run {command}`mbuffer` through @@ -139,107 +162,108 @@ let If this is not null, it will run {command}`mbuffer` directly through TCP, which is not encrypted but faster. In that case the given port needs to be open on the destination host. + ''; + default = null; + }; + + size = lib.mkOption { + type = mbufferSizeType; + description = '' + The size for {command}`mbuffer`. + Supports the units b, k, M, G. + ''; + default = "1G"; + example = "128M"; + }; + }; + + presnap = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Command to run before snapshots are taken on the source dataset, + e.g. for database locking/flushing. See also + {option}`postsnap`. ''; default = null; + example = lib.literalExpression '' + '''''${pkgs.mariadb}/bin/mysql -e "set autocommit=0;flush tables with read lock;\\! ''${pkgs.coreutils}/bin/sleep 600" & ''${pkgs.coreutils}/bin/echo $! > /tmp/mariadblock.pid ; sleep 10''' + ''; }; - size = lib.mkOption { - type = mbufferSizeType; + postsnap = lib.mkOption { + type = lib.types.nullOr lib.types.str; description = '' - The size for {command}`mbuffer`. - Supports the units b, k, M, G. + Command to run after snapshots are taken on the source dataset, + e.g. for database unlocking. See also {option}`presnap`. + ''; + default = null; + example = lib.literalExpression '' + "''${pkgs.coreutils}/bin/kill `''${pkgs.coreutils}/bin/cat /tmp/mariadblock.pid`;''${pkgs.coreutils}/bin/rm /tmp/mariadblock.pid" ''; - default = "1G"; - example = "128M"; }; - }; - - presnap = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Command to run before snapshots are taken on the source dataset, - e.g. for database locking/flushing. See also - {option}`postsnap`. - ''; - default = null; - example = lib.literalExpression '' - '''''${pkgs.mariadb}/bin/mysql -e "set autocommit=0;flush tables with read lock;\\! ''${pkgs.coreutils}/bin/sleep 600" & ''${pkgs.coreutils}/bin/echo $! > /tmp/mariadblock.pid ; sleep 10''' - ''; - }; - - postsnap = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Command to run after snapshots are taken on the source dataset, - e.g. for database unlocking. See also {option}`presnap`. - ''; - default = null; - example = lib.literalExpression '' - "''${pkgs.coreutils}/bin/kill `''${pkgs.coreutils}/bin/cat /tmp/mariadblock.pid`;''${pkgs.coreutils}/bin/rm /tmp/mariadblock.pid" - ''; - }; - timestampFormat = lib.mkOption { - type = timestampType; - description = '' - The timestamp format to use for constructing snapshot names. - The syntax is `strftime`-like. The string must - consist of the mandatory `%Y %m %d %H %M %S`. - Optionally `- _ . :` characters as well as any - alphanumeric character are allowed. If suffixed by a - `Z`, times will be in UTC. - ''; - default = "%Y-%m-%d-%H%M%S"; - example = "znapzend-%m.%d.%Y-%H%M%SZ"; - }; + timestampFormat = lib.mkOption { + type = timestampType; + description = '' + The timestamp format to use for constructing snapshot names. + The syntax is `strftime`-like. The string must + consist of the mandatory `%Y %m %d %H %M %S`. + Optionally `- _ . :` characters as well as any + alphanumeric character are allowed. If suffixed by a + `Z`, times will be in UTC. + ''; + default = "%Y-%m-%d-%H%M%S"; + example = "znapzend-%m.%d.%Y-%H%M%SZ"; + }; - sendDelay = lib.mkOption { - type = lib.types.int; - description = '' - Specify delay (in seconds) before sending snaps to the destination. - May be useful if you want to control sending time. - ''; - default = 0; - example = 60; - }; + sendDelay = lib.mkOption { + type = lib.types.int; + description = '' + Specify delay (in seconds) before sending snaps to the destination. + May be useful if you want to control sending time. + ''; + default = 0; + example = 60; + }; - plan = lib.mkOption { - type = lib.types.str; - description = planDescription; - example = planExample; - }; + plan = lib.mkOption { + type = lib.types.str; + description = planDescription; + example = planExample; + }; - dataset = lib.mkOption { - type = lib.types.str; - description = "The dataset to use for this source."; - example = "tank/home"; - }; + dataset = lib.mkOption { + type = lib.types.str; + description = "The dataset to use for this source."; + example = "tank/home"; + }; - destinations = lib.mkOption { - type = lib.types.attrsOf (destType config); - description = "Additional destinations."; - default = {}; - example = lib.literalExpression '' - { - local = { - dataset = "btank/backup"; - presend = "zpool import -N btank"; - postsend = "zpool export btank"; - }; - remote = { - host = "john@example.com"; - dataset = "tank/john"; + destinations = lib.mkOption { + type = lib.types.attrsOf (destType config); + description = "Additional destinations."; + default = { }; + example = lib.literalExpression '' + { + local = { + dataset = "btank/backup"; + presend = "zpool import -N btank"; + postsend = "zpool export btank"; + }; + remote = { + host = "john@example.com"; + dataset = "tank/john"; + }; }; - }; - ''; + ''; + }; }; - }; - config = { - dataset = lib.mkDefault name; - }; + config = { + dataset = lib.mkDefault name; + }; - }); + } + ); ### Generating the configuration from here @@ -249,42 +273,55 @@ let nullOff = b: if b == null then "off" else toString b; stripSlashes = lib.replaceStrings [ "/" ] [ "." ]; - attrsToFile = config: lib.concatStringsSep "\n" (builtins.attrValues ( - lib.mapAttrs (n: v: "${n}=${v}") config)); - - mkDestAttrs = dst: with dst; - lib.mapAttrs' (n: v: lib.nameValuePair "dst_${label}${n}" v) ({ - "" = lib.optionalString (host != null) "${host}:" + dataset; - _plan = plan; - } // lib.optionalAttrs (presend != null) { - _precmd = presend; - } // lib.optionalAttrs (postsend != null) { - _pstcmd = postsend; - }); - - mkSrcAttrs = srcCfg: with srcCfg; { - enabled = onOff enable; - # mbuffer is not referenced by its full path to accommodate non-NixOS systems or differing mbuffer versions between source and target - mbuffer = with mbuffer; if enable then "mbuffer" - + lib.optionalString (port != null) ":${toString port}" else "off"; - mbuffer_size = mbuffer.size; - post_znap_cmd = nullOff postsnap; - pre_znap_cmd = nullOff presnap; - recursive = onOff recursive; - src = dataset; - src_plan = plan; - tsformat = timestampFormat; - zend_delay = toString sendDelay; - } // lib.foldr (a: b: a // b) {} ( - map mkDestAttrs (builtins.attrValues destinations) - ); - - files = lib.mapAttrs' (n: srcCfg: let - fileText = attrsToFile (mkSrcAttrs srcCfg); - in { - name = srcCfg.dataset; - value = pkgs.writeText (stripSlashes srcCfg.dataset) fileText; - }) cfg.zetup; + attrsToFile = + config: lib.concatStringsSep "\n" (builtins.attrValues (lib.mapAttrs (n: v: "${n}=${v}") config)); + + mkDestAttrs = + dst: + with dst; + lib.mapAttrs' (n: v: lib.nameValuePair "dst_${label}${n}" v) ( + { + "" = lib.optionalString (host != null) "${host}:" + dataset; + _plan = plan; + } + // lib.optionalAttrs (presend != null) { + _precmd = presend; + } + // lib.optionalAttrs (postsend != null) { + _pstcmd = postsend; + } + ); + + mkSrcAttrs = + srcCfg: + with srcCfg; + { + enabled = onOff enable; + # mbuffer is not referenced by its full path to accommodate non-NixOS systems or differing mbuffer versions between source and target + mbuffer = + with mbuffer; + if enable then "mbuffer" + lib.optionalString (port != null) ":${toString port}" else "off"; + mbuffer_size = mbuffer.size; + post_znap_cmd = nullOff postsnap; + pre_znap_cmd = nullOff presnap; + recursive = onOff recursive; + src = dataset; + src_plan = plan; + tsformat = timestampFormat; + zend_delay = toString sendDelay; + } + // lib.foldr (a: b: a // b) { } (map mkDestAttrs (builtins.attrValues destinations)); + + files = lib.mapAttrs' ( + n: srcCfg: + let + fileText = attrsToFile (mkSrcAttrs srcCfg); + in + { + name = srcCfg.dataset; + value = pkgs.writeText (stripSlashes srcCfg.dataset) fileText; + } + ) cfg.zetup; in { @@ -295,7 +332,13 @@ in logLevel = lib.mkOption { default = "debug"; example = "warning"; - type = lib.types.enum ["debug" "info" "warning" "err" "alert"]; + type = lib.types.enum [ + "debug" + "info" + "warning" + "err" + "alert" + ]; description = '' The log level when logging to file. Any of debug, info, warning, err, alert. Default in daemonized form is debug. @@ -334,7 +377,7 @@ in zetup = lib.mkOption { type = lib.types.attrsOf srcType; description = "Znapzend configuration."; - default = {}; + default = { }; example = lib.literalExpression '' { "tank/home" = { @@ -427,22 +470,31 @@ in systemd.services = { znapzend = { description = "ZnapZend - ZFS Backup System"; - wantedBy = [ "zfs.target" ]; - after = [ "zfs.target" ]; - - path = with pkgs; [ zfs mbuffer openssh ]; - - preStart = lib.optionalString cfg.pure '' - echo Resetting znapzend zetups - ${pkgs.znapzend}/bin/znapzendzetup list \ - | grep -oP '(?<=\*\*\* backup plan: ).*(?= \*\*\*)' \ - | xargs -I{} ${pkgs.znapzend}/bin/znapzendzetup delete "{}" - '' + lib.concatStringsSep "\n" (lib.mapAttrsToList (dataset: config: '' - echo Importing znapzend zetup ${config} for dataset ${dataset} - ${pkgs.znapzend}/bin/znapzendzetup import --write ${dataset} ${config} & - '') files) + '' - wait - ''; + wantedBy = [ "zfs.target" ]; + after = [ "zfs.target" ]; + + path = with pkgs; [ + zfs + mbuffer + openssh + ]; + + preStart = + lib.optionalString cfg.pure '' + echo Resetting znapzend zetups + ${pkgs.znapzend}/bin/znapzendzetup list \ + | grep -oP '(?<=\*\*\* backup plan: ).*(?= \*\*\*)' \ + | xargs -I{} ${pkgs.znapzend}/bin/znapzendzetup delete "{}" + '' + + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (dataset: config: '' + echo Importing znapzend zetup ${config} for dataset ${dataset} + ${pkgs.znapzend}/bin/znapzendzetup import --write ${dataset} ${config} & + '') files + ) + + '' + wait + ''; serviceConfig = { # znapzendzetup --import apparently tries to connect to the backup @@ -453,17 +505,20 @@ in TimeoutStartSec = 180; # Needs to have write access to ZFS User = "root"; - ExecStart = let - args = lib.concatStringsSep " " [ - "--logto=${cfg.logTo}" - "--loglevel=${cfg.logLevel}" - (lib.optionalString cfg.noDestroy "--nodestroy") - (lib.optionalString cfg.autoCreation "--autoCreation") - (lib.optionalString (cfg.mailErrorSummaryTo != "") - "--mailErrorSummaryTo=${cfg.mailErrorSummaryTo}") - (lib.optionalString (enabledFeatures != []) - "--features=${lib.concatStringsSep "," enabledFeatures}") - ]; in "${pkgs.znapzend}/bin/znapzend ${args}"; + ExecStart = + let + args = lib.concatStringsSep " " [ + "--logto=${cfg.logTo}" + "--loglevel=${cfg.logLevel}" + (lib.optionalString cfg.noDestroy "--nodestroy") + (lib.optionalString cfg.autoCreation "--autoCreation") + (lib.optionalString (cfg.mailErrorSummaryTo != "") "--mailErrorSummaryTo=${cfg.mailErrorSummaryTo}") + (lib.optionalString ( + enabledFeatures != [ ] + ) "--features=${lib.concatStringsSep "," enabledFeatures}") + ]; + in + "${pkgs.znapzend}/bin/znapzend ${args}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "on-failure"; }; diff --git a/nixos/modules/services/backup/zrepl.nix b/nixos/modules/services/backup/zrepl.nix index d46823adbadbd..4e8df0ace9fb3 100644 --- a/nixos/modules/services/backup/zrepl.nix +++ b/nixos/modules/services/backup/zrepl.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.zrepl; format = pkgs.formats.yaml { }; diff --git a/nixos/modules/services/blockchain/ethereum/erigon.nix b/nixos/modules/services/blockchain/ethereum/erigon.nix index 5ac9523391519..3d80f33ff2148 100644 --- a/nixos/modules/services/blockchain/ethereum/erigon.nix +++ b/nixos/modules/services/blockchain/ethereum/erigon.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.erigon; settingsFormat = pkgs.formats.toml { }; configFile = settingsFormat.generate "config.toml" cfg.settings; -in { +in +{ options = { services.erigon = { @@ -41,7 +47,14 @@ in { chain = "mainnet"; http = true; "http.port" = 8545; - "http.api" = ["eth" "debug" "net" "trace" "web3" "erigon"]; + "http.api" = [ + "eth" + "debug" + "net" + "trace" + "web3" + "erigon" + ]; ws = true; port = 30303; "authrpc.port" = 8551; @@ -76,7 +89,14 @@ in { chain = lib.mkDefault "mainnet"; http = lib.mkDefault true; "http.port" = lib.mkDefault 8545; - "http.api" = lib.mkDefault ["eth" "debug" "net" "trace" "web3" "erigon"]; + "http.api" = lib.mkDefault [ + "eth" + "debug" + "net" + "trace" + "web3" + "erigon" + ]; ws = lib.mkDefault true; port = lib.mkDefault 30303; "authrpc.port" = lib.mkDefault 8551; @@ -113,7 +133,10 @@ in { RestrictNamespaces = true; LockPersonality = true; RemoveIPC = true; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; }; diff --git a/nixos/modules/services/blockchain/ethereum/geth.nix b/nixos/modules/services/blockchain/ethereum/geth.nix index 52040f2b9ec57..0c406c595a749 100644 --- a/nixos/modules/services/blockchain/ethereum/geth.nix +++ b/nixos/modules/services/blockchain/ethereum/geth.nix @@ -1,140 +1,177 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let eachGeth = config.services.geth; - gethOpts = { config, lib, name, ...}: { - - options = { + gethOpts = + { + config, + lib, + name, + ... + }: + { - enable = lib.mkEnableOption "Go Ethereum Node"; - - port = lib.mkOption { - type = lib.types.port; - default = 30303; - description = "Port number Go Ethereum will be listening on, both TCP and UDP."; - }; + options = { - http = { - enable = lib.mkEnableOption "Go Ethereum HTTP API"; - address = lib.mkOption { - type = lib.types.str; - default = "127.0.0.1"; - description = "Listen address of Go Ethereum HTTP API."; - }; + enable = lib.mkEnableOption "Go Ethereum Node"; port = lib.mkOption { type = lib.types.port; - default = 8545; - description = "Port number of Go Ethereum HTTP API."; - }; - - apis = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - default = null; - description = "APIs to enable over WebSocket"; - example = ["net" "eth"]; + default = 30303; + description = "Port number Go Ethereum will be listening on, both TCP and UDP."; }; - }; - websocket = { - enable = lib.mkEnableOption "Go Ethereum WebSocket API"; - address = lib.mkOption { - type = lib.types.str; - default = "127.0.0.1"; - description = "Listen address of Go Ethereum WebSocket API."; + http = { + enable = lib.mkEnableOption "Go Ethereum HTTP API"; + address = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + description = "Listen address of Go Ethereum HTTP API."; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 8545; + description = "Port number of Go Ethereum HTTP API."; + }; + + apis = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + default = null; + description = "APIs to enable over WebSocket"; + example = [ + "net" + "eth" + ]; + }; }; - port = lib.mkOption { - type = lib.types.port; - default = 8546; - description = "Port number of Go Ethereum WebSocket API."; + websocket = { + enable = lib.mkEnableOption "Go Ethereum WebSocket API"; + address = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + description = "Listen address of Go Ethereum WebSocket API."; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 8546; + description = "Port number of Go Ethereum WebSocket API."; + }; + + apis = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + default = null; + description = "APIs to enable over WebSocket"; + example = [ + "net" + "eth" + ]; + }; }; - apis = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - default = null; - description = "APIs to enable over WebSocket"; - example = ["net" "eth"]; + authrpc = { + enable = lib.mkEnableOption "Go Ethereum Auth RPC API"; + address = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + description = "Listen address of Go Ethereum Auth RPC API."; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 8551; + description = "Port number of Go Ethereum Auth RPC API."; + }; + + vhosts = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + default = [ "localhost" ]; + description = "List of virtual hostnames from which to accept requests."; + example = [ + "localhost" + "geth.example.org" + ]; + }; + + jwtsecret = lib.mkOption { + type = lib.types.str; + default = ""; + description = "Path to a JWT secret for authenticated RPC endpoint."; + example = "/var/run/geth/jwtsecret"; + }; }; - }; - authrpc = { - enable = lib.mkEnableOption "Go Ethereum Auth RPC API"; - address = lib.mkOption { - type = lib.types.str; - default = "127.0.0.1"; - description = "Listen address of Go Ethereum Auth RPC API."; + metrics = { + enable = lib.mkEnableOption "Go Ethereum prometheus metrics"; + address = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + description = "Listen address of Go Ethereum metrics service."; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 6060; + description = "Port number of Go Ethereum metrics service."; + }; }; - port = lib.mkOption { - type = lib.types.port; - default = 8551; - description = "Port number of Go Ethereum Auth RPC API."; + network = lib.mkOption { + type = lib.types.nullOr ( + lib.types.enum [ + "goerli" + "holesky" + "rinkeby" + "yolov2" + "ropsten" + ] + ); + default = null; + description = "The network to connect to. Mainnet (null) is the default ethereum network."; }; - vhosts = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - default = ["localhost"]; - description = "List of virtual hostnames from which to accept requests."; - example = ["localhost" "geth.example.org"]; + syncmode = lib.mkOption { + type = lib.types.enum [ + "snap" + "fast" + "full" + "light" + ]; + default = "snap"; + description = "Blockchain sync mode."; }; - jwtsecret = lib.mkOption { - type = lib.types.str; - default = ""; - description = "Path to a JWT secret for authenticated RPC endpoint."; - example = "/var/run/geth/jwtsecret"; + gcmode = lib.mkOption { + type = lib.types.enum [ + "full" + "archive" + ]; + default = "full"; + description = "Blockchain garbage collection mode."; }; - }; - metrics = { - enable = lib.mkEnableOption "Go Ethereum prometheus metrics"; - address = lib.mkOption { - type = lib.types.str; - default = "127.0.0.1"; - description = "Listen address of Go Ethereum metrics service."; + maxpeers = lib.mkOption { + type = lib.types.int; + default = 50; + description = "Maximum peers to connect to."; }; - port = lib.mkOption { - type = lib.types.port; - default = 6060; - description = "Port number of Go Ethereum metrics service."; + extraArgs = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = "Additional arguments passed to Go Ethereum."; + default = [ ]; }; - }; - - network = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "goerli" "holesky" "rinkeby" "yolov2" "ropsten" ]); - default = null; - description = "The network to connect to. Mainnet (null) is the default ethereum network."; - }; - - syncmode = lib.mkOption { - type = lib.types.enum [ "snap" "fast" "full" "light" ]; - default = "snap"; - description = "Blockchain sync mode."; - }; - gcmode = lib.mkOption { - type = lib.types.enum [ "full" "archive" ]; - default = "full"; - description = "Blockchain garbage collection mode."; + package = lib.mkPackageOption pkgs [ "go-ethereum" "geth" ] { }; }; - - maxpeers = lib.mkOption { - type = lib.types.int; - default = 50; - description = "Maximum peers to connect to."; - }; - - extraArgs = lib.mkOption { - type = lib.types.listOf lib.types.str; - description = "Additional arguments passed to Go Ethereum."; - default = []; - }; - - package = lib.mkPackageOption pkgs [ "go-ethereum" "geth" ] { }; }; - }; in { @@ -144,61 +181,79 @@ in options = { services.geth = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule gethOpts); - default = {}; + default = { }; description = "Specification of one or more geth instances."; }; }; ###### implementation - config = lib.mkIf (eachGeth != {}) { - - environment.systemPackages = lib.flatten (lib.mapAttrsToList (gethName: cfg: [ - cfg.package - ]) eachGeth); - - systemd.services = lib.mapAttrs' (gethName: cfg: let - stateDir = "goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}"; - dataDir = "/var/lib/${stateDir}"; - in ( - lib.nameValuePair "geth-${gethName}" (lib.mkIf cfg.enable { - description = "Go Ethereum node (${gethName})"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - serviceConfig = { - DynamicUser = true; - Restart = "always"; - StateDirectory = stateDir; - - # Hardening measures - PrivateTmp = "true"; - ProtectSystem = "full"; - NoNewPrivileges = "true"; - PrivateDevices = "true"; - MemoryDenyWriteExecute = "true"; - }; - - script = '' - ${cfg.package}/bin/geth \ - --nousb \ - --ipcdisable \ - ${lib.optionalString (cfg.network != null) ''--${cfg.network}''} \ - --syncmode ${cfg.syncmode} \ - --gcmode ${cfg.gcmode} \ - --port ${toString cfg.port} \ - --maxpeers ${toString cfg.maxpeers} \ - ${lib.optionalString cfg.http.enable ''--http --http.addr ${cfg.http.address} --http.port ${toString cfg.http.port}''} \ - ${lib.optionalString (cfg.http.apis != null) ''--http.api ${lib.concatStringsSep "," cfg.http.apis}''} \ - ${lib.optionalString cfg.websocket.enable ''--ws --ws.addr ${cfg.websocket.address} --ws.port ${toString cfg.websocket.port}''} \ - ${lib.optionalString (cfg.websocket.apis != null) ''--ws.api ${lib.concatStringsSep "," cfg.websocket.apis}''} \ - ${lib.optionalString cfg.metrics.enable ''--metrics --metrics.addr ${cfg.metrics.address} --metrics.port ${toString cfg.metrics.port}''} \ - --authrpc.addr ${cfg.authrpc.address} --authrpc.port ${toString cfg.authrpc.port} --authrpc.vhosts ${lib.concatStringsSep "," cfg.authrpc.vhosts} \ - ${if (cfg.authrpc.jwtsecret != "") then ''--authrpc.jwtsecret ${cfg.authrpc.jwtsecret}'' else ''--authrpc.jwtsecret ${dataDir}/geth/jwtsecret''} \ - ${lib.escapeShellArgs cfg.extraArgs} \ - --datadir ${dataDir} - ''; - }))) eachGeth; + config = lib.mkIf (eachGeth != { }) { + + environment.systemPackages = lib.flatten ( + lib.mapAttrsToList (gethName: cfg: [ + cfg.package + ]) eachGeth + ); + + systemd.services = lib.mapAttrs' ( + gethName: cfg: + let + stateDir = "goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}"; + dataDir = "/var/lib/${stateDir}"; + in + (lib.nameValuePair "geth-${gethName}" ( + lib.mkIf cfg.enable { + description = "Go Ethereum node (${gethName})"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + DynamicUser = true; + Restart = "always"; + StateDirectory = stateDir; + + # Hardening measures + PrivateTmp = "true"; + ProtectSystem = "full"; + NoNewPrivileges = "true"; + PrivateDevices = "true"; + MemoryDenyWriteExecute = "true"; + }; + + script = '' + ${cfg.package}/bin/geth \ + --nousb \ + --ipcdisable \ + ${lib.optionalString (cfg.network != null) ''--${cfg.network}''} \ + --syncmode ${cfg.syncmode} \ + --gcmode ${cfg.gcmode} \ + --port ${toString cfg.port} \ + --maxpeers ${toString cfg.maxpeers} \ + ${lib.optionalString cfg.http.enable ''--http --http.addr ${cfg.http.address} --http.port ${toString cfg.http.port}''} \ + ${ + lib.optionalString (cfg.http.apis != null) ''--http.api ${lib.concatStringsSep "," cfg.http.apis}'' + } \ + ${lib.optionalString cfg.websocket.enable ''--ws --ws.addr ${cfg.websocket.address} --ws.port ${toString cfg.websocket.port}''} \ + ${ + lib.optionalString ( + cfg.websocket.apis != null + ) ''--ws.api ${lib.concatStringsSep "," cfg.websocket.apis}'' + } \ + ${lib.optionalString cfg.metrics.enable ''--metrics --metrics.addr ${cfg.metrics.address} --metrics.port ${toString cfg.metrics.port}''} \ + --authrpc.addr ${cfg.authrpc.address} --authrpc.port ${toString cfg.authrpc.port} --authrpc.vhosts ${lib.concatStringsSep "," cfg.authrpc.vhosts} \ + ${ + if (cfg.authrpc.jwtsecret != "") then + ''--authrpc.jwtsecret ${cfg.authrpc.jwtsecret}'' + else + ''--authrpc.jwtsecret ${dataDir}/geth/jwtsecret'' + } \ + ${lib.escapeShellArgs cfg.extraArgs} \ + --datadir ${dataDir} + ''; + } + )) + ) eachGeth; }; diff --git a/nixos/modules/services/cluster/corosync/default.nix b/nixos/modules/services/cluster/corosync/default.nix index d79ee832ff739..ae63b4370cb47 100644 --- a/nixos/modules/services/cluster/corosync/default.nix +++ b/nixos/modules/services/cluster/corosync/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.corosync; in @@ -17,29 +22,31 @@ in extraOptions = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = "Additional options with which to start corosync."; }; nodelist = lib.mkOption { description = "Corosync nodelist: all cluster members."; - default = []; - type = with lib.types; listOf (submodule { - options = { - nodeid = lib.mkOption { - type = int; - description = "Node ID number"; - }; - name = lib.mkOption { - type = str; - description = "Node name"; - }; - ring_addrs = lib.mkOption { - type = listOf str; - description = "List of addresses, one for each ring."; + default = [ ]; + type = + with lib.types; + listOf (submodule { + options = { + nodeid = lib.mkOption { + type = int; + description = "Node ID number"; + }; + name = lib.mkOption { + type = str; + description = "Node name"; + }; + ring_addrs = lib.mkOption { + type = listOf str; + description = "List of addresses, one for each ring."; + }; }; - }; - }); + }); }; }; @@ -56,15 +63,24 @@ in } nodelist { - ${lib.concatMapStrings ({ nodeid, name, ring_addrs }: '' - node { - nodeid: ${toString nodeid} - name: ${name} - ${lib.concatStrings (lib.imap0 (i: addr: '' - ring${toString i}_addr: ${addr} - '') ring_addrs)} - } - '') cfg.nodelist} + ${lib.concatMapStrings ( + { + nodeid, + name, + ring_addrs, + }: + '' + node { + nodeid: ${toString nodeid} + name: ${name} + ${lib.concatStrings ( + lib.imap0 (i: addr: '' + ring${toString i}_addr: ${addr} + '') ring_addrs + )} + } + '' + ) cfg.nodelist} } quorum { @@ -98,7 +114,7 @@ in }; }; - environment.etc."sysconfig/corosync".text = lib.optionalString (cfg.extraOptions != []) '' + environment.etc."sysconfig/corosync".text = lib.optionalString (cfg.extraOptions != [ ]) '' COROSYNC_OPTIONS="${lib.escapeShellArgs cfg.extraOptions}" ''; }; diff --git a/nixos/modules/services/cluster/druid/default.nix b/nixos/modules/services/cluster/druid/default.nix index f28e5c90270cf..d22a3f2236787 100644 --- a/nixos/modules/services/cluster/druid/default.nix +++ b/nixos/modules/services/cluster/druid/default.nix @@ -257,7 +257,8 @@ in allowedTCPPorts = [ (attrByPath [ "druid.plaintextPort" ] 8083 cfg."${name}".config) ]; - extraConfig.services.druid.historical.internalConfig."druid.segmentCache.locations" = builtins.toJSON cfg.historical.segmentLocations; + extraConfig.services.druid.historical.internalConfig."druid.segmentCache.locations" = + builtins.toJSON cfg.historical.segmentLocations; }) (druidServiceConfig rec { diff --git a/nixos/modules/services/cluster/hadoop/conf.nix b/nixos/modules/services/cluster/hadoop/conf.nix index 388eaafcc3621..54524e5ccccac 100644 --- a/nixos/modules/services/cluster/hadoop/conf.nix +++ b/nixos/modules/services/cluster/hadoop/conf.nix @@ -1,25 +1,35 @@ -{ cfg, pkgs, lib }: +{ + cfg, + pkgs, + lib, +}: let - propertyXml = name: value: lib.optionalString (value != null) '' - - ${name} - ${builtins.toString value} - - ''; - siteXml = fileName: properties: pkgs.writeTextDir fileName '' - - - - ${builtins.concatStringsSep "\n" (pkgs.lib.mapAttrsToList propertyXml properties)} - - ''; + propertyXml = + name: value: + lib.optionalString (value != null) '' + + ${name} + ${builtins.toString value} + + ''; + siteXml = + fileName: properties: + pkgs.writeTextDir fileName '' + + + + ${builtins.concatStringsSep "\n" (pkgs.lib.mapAttrsToList propertyXml properties)} + + ''; cfgLine = name: value: '' ${name}=${builtins.toString value} ''; - cfgFile = fileName: properties: pkgs.writeTextDir fileName '' - # generated by NixOS - ${builtins.concatStringsSep "" (pkgs.lib.mapAttrsToList cfgLine properties)} - ''; + cfgFile = + fileName: properties: + pkgs.writeTextDir fileName '' + # generated by NixOS + ${builtins.concatStringsSep "" (pkgs.lib.mapAttrsToList cfgLine properties)} + ''; userFunctions = '' hadoop_verify_logdir() { echo Skipping verification of log directory @@ -29,17 +39,20 @@ let export HADOOP_LOG_DIR=/tmp/hadoop/$USER ''; in -pkgs.runCommand "hadoop-conf" {} (with cfg; '' - mkdir -p $out/ - cp ${siteXml "core-site.xml" (coreSite // coreSiteInternal)}/* $out/ - cp ${siteXml "hdfs-site.xml" (hdfsSiteDefault // hdfsSite // hdfsSiteInternal)}/* $out/ - cp ${siteXml "hbase-site.xml" (hbaseSiteDefault // hbaseSite // hbaseSiteInternal)}/* $out/ - cp ${siteXml "mapred-site.xml" (mapredSiteDefault // mapredSite)}/* $out/ - cp ${siteXml "yarn-site.xml" (yarnSiteDefault // yarnSite // yarnSiteInternal)}/* $out/ - cp ${siteXml "httpfs-site.xml" httpfsSite}/* $out/ - cp ${cfgFile "container-executor.cfg" containerExecutorCfg}/* $out/ - cp ${pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions}/* $out/ - cp ${pkgs.writeTextDir "hadoop-env.sh" hadoopEnv}/* $out/ - cp ${log4jProperties} $out/log4j.properties - ${lib.concatMapStringsSep "\n" (dir: "cp -f -r ${dir}/* $out/") extraConfDirs} -'') +pkgs.runCommand "hadoop-conf" { } ( + with cfg; + '' + mkdir -p $out/ + cp ${siteXml "core-site.xml" (coreSite // coreSiteInternal)}/* $out/ + cp ${siteXml "hdfs-site.xml" (hdfsSiteDefault // hdfsSite // hdfsSiteInternal)}/* $out/ + cp ${siteXml "hbase-site.xml" (hbaseSiteDefault // hbaseSite // hbaseSiteInternal)}/* $out/ + cp ${siteXml "mapred-site.xml" (mapredSiteDefault // mapredSite)}/* $out/ + cp ${siteXml "yarn-site.xml" (yarnSiteDefault // yarnSite // yarnSiteInternal)}/* $out/ + cp ${siteXml "httpfs-site.xml" httpfsSite}/* $out/ + cp ${cfgFile "container-executor.cfg" containerExecutorCfg}/* $out/ + cp ${pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions}/* $out/ + cp ${pkgs.writeTextDir "hadoop-env.sh" hadoopEnv}/* $out/ + cp ${log4jProperties} $out/log4j.properties + ${lib.concatMapStringsSep "\n" (dir: "cp -f -r ${dir}/* $out/") extraConfDirs} + '' +) diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix index b4f89366d5bd3..5ec3fc948d658 100644 --- a/nixos/modules/services/cluster/hadoop/default.nix +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -1,14 +1,24 @@ -{ config, lib, options, pkgs, ...}: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.hadoop; opt = options.services.hadoop; in { - imports = [ ./yarn.nix ./hdfs.nix ./hbase.nix ]; + imports = [ + ./yarn.nix + ./hdfs.nix + ./hbase.nix + ]; options.services.hadoop = { coreSite = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; example = lib.literalExpression '' { @@ -21,7 +31,7 @@ in ''; }; coreSiteInternal = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; internal = true; description = '' @@ -42,7 +52,7 @@ in ''; }; hdfsSite = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; example = lib.literalExpression '' { @@ -55,7 +65,7 @@ in ''; }; hdfsSiteInternal = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; internal = true; description = '' @@ -84,7 +94,7 @@ in ''; }; mapredSite = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; example = lib.literalExpression '' { @@ -103,13 +113,17 @@ in "yarn.nodemanager.aux-services" = "mapreduce_shuffle"; "yarn.nodemanager.aux-services.mapreduce_shuffle.class" = "org.apache.hadoop.mapred.ShuffleHandler"; "yarn.nodemanager.bind-host" = "0.0.0.0"; - "yarn.nodemanager.container-executor.class" = "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor"; - "yarn.nodemanager.env-whitelist" = "JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ"; + "yarn.nodemanager.container-executor.class" = + "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor"; + "yarn.nodemanager.env-whitelist" = + "JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ"; "yarn.nodemanager.linux-container-executor.group" = "hadoop"; - "yarn.nodemanager.linux-container-executor.path" = "/run/wrappers/yarn-nodemanager/bin/container-executor"; + "yarn.nodemanager.linux-container-executor.path" = + "/run/wrappers/yarn-nodemanager/bin/container-executor"; "yarn.nodemanager.log-dirs" = "/var/log/hadoop/yarn/nodemanager"; "yarn.resourcemanager.bind-host" = "0.0.0.0"; - "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler"; + "yarn.resourcemanager.scheduler.class" = + "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler"; }; type = lib.types.attrsOf lib.types.anything; description = '' @@ -117,7 +131,7 @@ in ''; }; yarnSite = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; example = lib.literalExpression '' { @@ -130,7 +144,7 @@ in ''; }; yarnSiteInternal = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; internal = true; description = '' @@ -167,9 +181,9 @@ in containerExecutorCfg = lib.mkOption { default = { # must be the same as yarn.nodemanager.linux-container-executor.group in yarnSite - "yarn.nodemanager.linux-container-executor.group"="hadoop"; - "min.user.id"=1000; - "feature.terminal.enabled"=1; + "yarn.nodemanager.linux-container-executor.group" = "hadoop"; + "min.user.id" = 1000; + "feature.terminal.enabled" = 1; "feature.mount-cgroup.enabled" = 1; }; type = lib.types.attrsOf lib.types.anything; @@ -185,7 +199,7 @@ in }; extraConfDirs = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.path; example = lib.literalExpression '' [ @@ -201,16 +215,17 @@ in package = lib.mkPackageOption pkgs "hadoop" { }; }; - config = lib.mkIf cfg.gatewayRole.enable { users.groups.hadoop = { gid = config.ids.gids.hadoop; }; environment = { systemPackages = [ cfg.package ]; - etc."hadoop-conf".source = let - hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; - in "${hadoopConf}"; + etc."hadoop-conf".source = + let + hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; + in + "${hadoopConf}"; variables.HADOOP_CONF_DIR = "/etc/hadoop-conf/"; }; }; diff --git a/nixos/modules/services/cluster/hadoop/hbase.nix b/nixos/modules/services/cluster/hadoop/hbase.nix index b6b45d57032f7..43b8ff79168d7 100644 --- a/nixos/modules/services/cluster/hadoop/hbase.nix +++ b/nixos/modules/services/cluster/hadoop/hbase.nix @@ -1,92 +1,106 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hadoop; hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; mkIfNotNull = x: lib.mkIf (x != null) x; # generic hbase role options - hbaseRoleOption = name: extraOpts: { - enable = lib.mkEnableOption "HBase ${name}"; + hbaseRoleOption = + name: extraOpts: + { + enable = lib.mkEnableOption "HBase ${name}"; - openFirewall = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Open firewall ports for HBase ${name}."; - }; + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Open firewall ports for HBase ${name}."; + }; - restartIfChanged = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Restart ${name} con config change."; - }; + restartIfChanged = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Restart ${name} con config change."; + }; - extraFlags = lib.mkOption { - type = with lib.types; listOf str; - default = []; - example = lib.literalExpression ''[ "--backup" ]''; - description = "Extra flags for the ${name} service."; - }; + extraFlags = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + example = lib.literalExpression ''[ "--backup" ]''; + description = "Extra flags for the ${name} service."; + }; - environment = lib.mkOption { - type = with lib.types; attrsOf str; - default = {}; - example = lib.literalExpression '' - { - HBASE_MASTER_OPTS = "-Dcom.sun.management.jmxremote.ssl=true"; - } - ''; - description = "Environment variables passed to ${name}."; - }; - } // extraOpts; + environment = lib.mkOption { + type = with lib.types; attrsOf str; + default = { }; + example = lib.literalExpression '' + { + HBASE_MASTER_OPTS = "-Dcom.sun.management.jmxremote.ssl=true"; + } + ''; + description = "Environment variables passed to ${name}."; + }; + } + // extraOpts; # generic hbase role configs - hbaseRoleConfig = name: ports: (lib.mkIf cfg.hbase."${name}".enable { - services.hadoop.gatewayRole = { - enable = true; - enableHbaseCli = lib.mkDefault true; - }; + hbaseRoleConfig = + name: ports: + (lib.mkIf cfg.hbase."${name}".enable { + services.hadoop.gatewayRole = { + enable = true; + enableHbaseCli = lib.mkDefault true; + }; - systemd.services."hbase-${lib.toLower name}" = { - description = "HBase ${name}"; - wantedBy = [ "multi-user.target" ]; - path = with cfg; [ hbase.package ] ++ optional - (with cfg.hbase.master; enable && initHDFS) package; - preStart = lib.mkIf (with cfg.hbase.master; enable && initHDFS) - (lib.concatStringsSep "\n" ( - map (x: "HADOOP_USER_NAME=hdfs hdfs --config /etc/hadoop-conf ${x}")[ - "dfsadmin -safemode wait" - "dfs -mkdir -p ${cfg.hbase.rootdir}" - "dfs -chown hbase ${cfg.hbase.rootdir}" + systemd.services."hbase-${lib.toLower name}" = { + description = "HBase ${name}"; + wantedBy = [ "multi-user.target" ]; + path = with cfg; [ hbase.package ] ++ optional (with cfg.hbase.master; enable && initHDFS) package; + preStart = lib.mkIf (with cfg.hbase.master; enable && initHDFS) ( + lib.concatStringsSep "\n" ( + map (x: "HADOOP_USER_NAME=hdfs hdfs --config /etc/hadoop-conf ${x}") [ + "dfsadmin -safemode wait" + "dfs -mkdir -p ${cfg.hbase.rootdir}" + "dfs -chown hbase ${cfg.hbase.rootdir}" + ] + ) + ); + + inherit (cfg.hbase."${name}") environment; + script = lib.concatStringsSep " " ( + [ + "hbase --config /etc/hadoop-conf/" + "${lib.toLower name} start" ] - )); - - inherit (cfg.hbase."${name}") environment; - script = lib.concatStringsSep " " ( - [ - "hbase --config /etc/hadoop-conf/" - "${lib.toLower name} start" - ] - ++ cfg.hbase."${name}".extraFlags - ++ map (x: "--${lib.toLower x} ${toString cfg.hbase.${name}.${x}}") - (lib.filter (x: lib.hasAttr x cfg.hbase.${name}) ["port" "infoPort"]) - ); - - serviceConfig = { - User = "hbase"; - SyslogIdentifier = "hbase-${lib.toLower name}"; - Restart = "always"; + ++ cfg.hbase."${name}".extraFlags + ++ map (x: "--${lib.toLower x} ${toString cfg.hbase.${name}.${x}}") ( + lib.filter (x: lib.hasAttr x cfg.hbase.${name}) [ + "port" + "infoPort" + ] + ) + ); + + serviceConfig = { + User = "hbase"; + SyslogIdentifier = "hbase-${lib.toLower name}"; + Restart = "always"; + }; }; - }; - services.hadoop.hbaseSiteInternal."hbase.rootdir" = cfg.hbase.rootdir; + services.hadoop.hbaseSiteInternal."hbase.rootdir" = cfg.hbase.rootdir; - networking = { - firewall.allowedTCPPorts = lib.mkIf cfg.hbase."${name}".openFirewall ports; - hosts = lib.mkIf (with cfg.hbase.regionServer; enable && overrideHosts) { - "127.0.0.2" = lib.mkForce [ ]; - "::1" = lib.mkForce [ ]; + networking = { + firewall.allowedTCPPorts = lib.mkIf cfg.hbase."${name}".openFirewall ports; + hosts = lib.mkIf (with cfg.hbase.regionServer; enable && overrideHosts) { + "127.0.0.2" = lib.mkForce [ ]; + "::1" = lib.mkForce [ ]; + }; }; - }; - }); + }); in { options.services.hadoop = { @@ -108,7 +122,7 @@ in ''; }; hbaseSite = lib.mkOption { - default = {}; + default = { }; type = with lib.types; attrsOf anything; example = lib.literalExpression '' { @@ -122,7 +136,7 @@ in ''; }; hbaseSiteInternal = lib.mkOption { - default = {}; + default = { }; type = with lib.types; attrsOf anything; internal = true; description = '' @@ -130,82 +144,102 @@ in ''; }; - hbase = { + hbase = + { - package = lib.mkPackageOption pkgs "hbase" { }; + package = lib.mkPackageOption pkgs "hbase" { }; - rootdir = lib.mkOption { - description = '' - This option will set "hbase.rootdir" in hbase-site.xml and determine - the directory shared by region servers and into which HBase persists. - The URL should be 'fully-qualified' to include the filesystem scheme. - If a core-site.xml is provided, the FS scheme defaults to the value - of "fs.defaultFS". + rootdir = lib.mkOption { + description = '' + This option will set "hbase.rootdir" in hbase-site.xml and determine + the directory shared by region servers and into which HBase persists. + The URL should be 'fully-qualified' to include the filesystem scheme. + If a core-site.xml is provided, the FS scheme defaults to the value + of "fs.defaultFS". - Filesystems other than HDFS (like S3, QFS, Swift) are also supported. - ''; - type = lib.types.str; - example = "hdfs://nameservice1/hbase"; - default = "/hbase"; - }; - zookeeperQuorum = lib.mkOption { - description = '' - This option will set "hbase.zookeeper.quorum" in hbase-site.xml. - Comma separated list of servers in the ZooKeeper ensemble. - ''; - type = with lib.types; nullOr commas; - example = "zk1.internal,zk2.internal,zk3.internal"; - default = null; - }; - } // (let - ports = port: infoPort: { - port = lib.mkOption { - type = lib.types.int; - default = port; - description = "RPC port"; + Filesystems other than HDFS (like S3, QFS, Swift) are also supported. + ''; + type = lib.types.str; + example = "hdfs://nameservice1/hbase"; + default = "/hbase"; }; - infoPort = lib.mkOption { - type = lib.types.int; - default = infoPort; - description = "web UI port"; + zookeeperQuorum = lib.mkOption { + description = '' + This option will set "hbase.zookeeper.quorum" in hbase-site.xml. + Comma separated list of servers in the ZooKeeper ensemble. + ''; + type = with lib.types; nullOr commas; + example = "zk1.internal,zk2.internal,zk3.internal"; + default = null; }; - }; - in lib.mapAttrs hbaseRoleOption { - master.initHDFS = lib.mkEnableOption "initialization of the hbase directory on HDFS"; - regionServer.overrideHosts = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Remove /etc/hosts entries for "127.0.0.2" and "::1" defined in nixos/modules/config/networking.nix - Regionservers must be able to resolve their hostnames to their IP addresses, through PTR records - or /etc/hosts entries. - ''; - }; - thrift = ports 9090 9095; - rest = ports 8080 8085; - }); + } + // ( + let + ports = port: infoPort: { + port = lib.mkOption { + type = lib.types.int; + default = port; + description = "RPC port"; + }; + infoPort = lib.mkOption { + type = lib.types.int; + default = infoPort; + description = "web UI port"; + }; + }; + in + lib.mapAttrs hbaseRoleOption { + master.initHDFS = lib.mkEnableOption "initialization of the hbase directory on HDFS"; + regionServer.overrideHosts = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Remove /etc/hosts entries for "127.0.0.2" and "::1" defined in nixos/modules/config/networking.nix + Regionservers must be able to resolve their hostnames to their IP addresses, through PTR records + or /etc/hosts entries. + ''; + }; + thrift = ports 9090 9095; + rest = ports 8080 8085; + } + ); }; - config = lib.mkMerge ([ + config = lib.mkMerge ( + [ - (lib.mkIf cfg.gatewayRole.enable { + (lib.mkIf cfg.gatewayRole.enable { - environment.systemPackages = lib.mkIf cfg.gatewayRole.enableHbaseCli [ cfg.hbase.package ]; + environment.systemPackages = lib.mkIf cfg.gatewayRole.enableHbaseCli [ cfg.hbase.package ]; - services.hadoop.hbaseSiteInternal = with cfg.hbase; { - "hbase.zookeeper.quorum" = mkIfNotNull zookeeperQuorum; - }; + services.hadoop.hbaseSiteInternal = with cfg.hbase; { + "hbase.zookeeper.quorum" = mkIfNotNull zookeeperQuorum; + }; - users.users.hbase = { - description = "Hadoop HBase user"; - group = "hadoop"; - isSystemUser = true; - }; + users.users.hbase = { + description = "Hadoop HBase user"; + group = "hadoop"; + isSystemUser = true; + }; + }) + ] + ++ (lib.mapAttrsToList hbaseRoleConfig { + master = [ + 16000 + 16010 + ]; + regionServer = [ + 16020 + 16030 + ]; + thrift = with cfg.hbase.thrift; [ + port + infoPort + ]; + rest = with cfg.hbase.rest; [ + port + infoPort + ]; }) - ] ++ (lib.mapAttrsToList hbaseRoleConfig { - master = [ 16000 16010 ]; - regionServer = [ 16020 16030 ]; - thrift = with cfg.hbase.thrift; [ port infoPort ]; - rest = with cfg.hbase.rest; [ port infoPort ]; - })); + ); } diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index 5ca12f4b4c8b8..34370307fd3cd 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hadoop; @@ -6,72 +11,87 @@ let hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; # Generator for HDFS service options - hadoopServiceOption = { serviceName, firewallOption ? true, extraOpts ? null }: { - enable = lib.mkEnableOption serviceName; - restartIfChanged = lib.mkOption { - type = lib.types.bool; - description = '' - Automatically restart the service on config change. - This can be set to false to defer restarts on clusters running critical applications. - Please consider the security implications of inadvertently running an older version, - and the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option. - ''; - default = false; - }; - extraFlags = lib.mkOption{ - type = with lib.types; listOf str; - default = []; - description = "Extra command line flags to pass to ${serviceName}"; - example = [ - "-Dcom.sun.management.jmxremote" - "-Dcom.sun.management.jmxremote.port=8010" - ]; - }; - extraEnv = lib.mkOption{ - type = with lib.types; attrsOf str; - default = {}; - description = "Extra environment variables for ${serviceName}"; - }; - } // (lib.optionalAttrs firewallOption { - openFirewall = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Open firewall ports for ${serviceName}."; - }; - }) // (lib.optionalAttrs (extraOpts != null) extraOpts); + hadoopServiceOption = + { + serviceName, + firewallOption ? true, + extraOpts ? null, + }: + { + enable = lib.mkEnableOption serviceName; + restartIfChanged = lib.mkOption { + type = lib.types.bool; + description = '' + Automatically restart the service on config change. + This can be set to false to defer restarts on clusters running critical applications. + Please consider the security implications of inadvertently running an older version, + and the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option. + ''; + default = false; + }; + extraFlags = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = "Extra command line flags to pass to ${serviceName}"; + example = [ + "-Dcom.sun.management.jmxremote" + "-Dcom.sun.management.jmxremote.port=8010" + ]; + }; + extraEnv = lib.mkOption { + type = with lib.types; attrsOf str; + default = { }; + description = "Extra environment variables for ${serviceName}"; + }; + } + // (lib.optionalAttrs firewallOption { + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Open firewall ports for ${serviceName}."; + }; + }) + // (lib.optionalAttrs (extraOpts != null) extraOpts); # Generator for HDFS service configs hadoopServiceConfig = - { name - , serviceOptions ? cfg.hdfs."${lib.toLower name}" - , description ? "Hadoop HDFS ${name}" - , User ? "hdfs" - , allowedTCPPorts ? [ ] - , preStart ? "" - , environment ? { } - , extraConfig ? { } - }: ( - - lib.mkIf serviceOptions.enable ( lib.mkMerge [{ - systemd.services."hdfs-${lib.toLower name}" = { - inherit description preStart; - environment = environment // serviceOptions.extraEnv; - wantedBy = [ "multi-user.target" ]; - inherit (serviceOptions) restartIfChanged; - serviceConfig = { - inherit User; - SyslogIdentifier = "hdfs-${lib.toLower name}"; - ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} ${lib.toLower name} ${lib.escapeShellArgs serviceOptions.extraFlags}"; - Restart = "always"; - }; - }; - - services.hadoop.gatewayRole.enable = true; - - networking.firewall.allowedTCPPorts = lib.mkIf - ((builtins.hasAttr "openFirewall" serviceOptions) && serviceOptions.openFirewall) - allowedTCPPorts; - } extraConfig]) + { + name, + serviceOptions ? cfg.hdfs."${lib.toLower name}", + description ? "Hadoop HDFS ${name}", + User ? "hdfs", + allowedTCPPorts ? [ ], + preStart ? "", + environment ? { }, + extraConfig ? { }, + }: + ( + + lib.mkIf serviceOptions.enable ( + lib.mkMerge [ + { + systemd.services."hdfs-${lib.toLower name}" = { + inherit description preStart; + environment = environment // serviceOptions.extraEnv; + wantedBy = [ "multi-user.target" ]; + inherit (serviceOptions) restartIfChanged; + serviceConfig = { + inherit User; + SyslogIdentifier = "hdfs-${lib.toLower name}"; + ExecStart = "${cfg.package}/bin/hdfs --config ${hadoopConf} ${lib.toLower name} ${lib.escapeShellArgs serviceOptions.extraFlags}"; + Restart = "always"; + }; + }; + + services.hadoop.gatewayRole.enable = true; + + networking.firewall.allowedTCPPorts = lib.mkIf ( + (builtins.hasAttr "openFirewall" serviceOptions) && serviceOptions.openFirewall + ) allowedTCPPorts; + } + extraConfig + ] + ) ); in @@ -96,21 +116,30 @@ in dataDirs = lib.mkOption { default = null; description = "Tier and path definitions for datanode storage."; - type = with lib.types; nullOr (listOf (submodule { - options = { - type = lib.mkOption { - type = enum [ "SSD" "DISK" "ARCHIVE" "RAM_DISK" ]; - description = '' - Storage types ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]) for HDFS storage policies. - ''; - }; - path = lib.mkOption { - type = path; - example = [ "/var/lib/hadoop/hdfs/dn" ]; - description = "Determines where on the local filesystem a data node should store its blocks."; - }; - }; - })); + type = + with lib.types; + nullOr ( + listOf (submodule { + options = { + type = lib.mkOption { + type = enum [ + "SSD" + "DISK" + "ARCHIVE" + "RAM_DISK" + ]; + description = '' + Storage types ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]) for HDFS storage policies. + ''; + }; + path = lib.mkOption { + type = path; + example = [ "/var/lib/hadoop/hdfs/dn" ]; + description = "Determines where on the local filesystem a data node should store its blocks."; + }; + }; + }) + ); }; }; @@ -140,25 +169,30 @@ in 8022 # namenode.servicerpc-address 8019 # dfs.ha.zkfc.port ]; - preStart = (lib.mkIf cfg.hdfs.namenode.formatOnInit - "${cfg.package}/bin/hdfs --config ${hadoopConf} namenode -format -nonInteractive || true" + preStart = ( + lib.mkIf cfg.hdfs.namenode.formatOnInit "${cfg.package}/bin/hdfs --config ${hadoopConf} namenode -format -nonInteractive || true" ); }) (hadoopServiceConfig { name = "DataNode"; # port numbers for datanode changed between hadoop 2 and 3 - allowedTCPPorts = if lib.versionAtLeast cfg.package.version "3" then [ - 9864 # datanode.http.address - 9866 # datanode.address - 9867 # datanode.ipc.address - ] else [ - 50075 # datanode.http.address - 50010 # datanode.address - 50020 # datanode.ipc.address - ]; - extraConfig.services.hadoop.hdfsSiteInternal."dfs.datanode.data.dir" = lib.mkIf (cfg.hdfs.datanode.dataDirs!= null) - (lib.concatMapStringsSep "," (x: "["+x.type+"]file://"+x.path) cfg.hdfs.datanode.dataDirs); + allowedTCPPorts = + if lib.versionAtLeast cfg.package.version "3" then + [ + 9864 # datanode.http.address + 9866 # datanode.address + 9867 # datanode.ipc.address + ] + else + [ + 50075 # datanode.http.address + 50010 # datanode.address + 50020 # datanode.ipc.address + ]; + extraConfig.services.hadoop.hdfsSiteInternal."dfs.datanode.data.dir" = lib.mkIf ( + cfg.hdfs.datanode.dataDirs != null + ) (lib.concatMapStringsSep "," (x: "[" + x.type + "]file://" + x.path) cfg.hdfs.datanode.dataDirs); }) (hadoopServiceConfig { diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix index 77eb996360735..7c0bc8e972d96 100644 --- a/nixos/modules/services/cluster/hadoop/yarn.nix +++ b/nixos/modules/services/cluster/hadoop/yarn.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hadoop; hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; - restartIfChanged = lib.mkOption { + restartIfChanged = lib.mkOption { type = lib.types.bool; description = '' Automatically restart the service on config change. @@ -12,18 +17,18 @@ let ''; default = false; }; - extraFlags = lib.mkOption{ + extraFlags = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = "Extra command line flags to pass to the service"; example = [ "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.port=8010" ]; }; - extraEnv = lib.mkOption{ + extraEnv = lib.mkOption { type = with lib.types; attrsOf str; - default = {}; + default = { }; description = "Extra environment variables"; }; in @@ -120,21 +125,24 @@ in serviceConfig = { User = "yarn"; SyslogIdentifier = "yarn-resourcemanager"; - ExecStart = "${cfg.package}/bin/yarn --config ${hadoopConf} " + - " resourcemanager ${lib.escapeShellArgs cfg.yarn.resourcemanager.extraFlags}"; + ExecStart = + "${cfg.package}/bin/yarn --config ${hadoopConf} " + + " resourcemanager ${lib.escapeShellArgs cfg.yarn.resourcemanager.extraFlags}"; Restart = "always"; }; }; services.hadoop.gatewayRole.enable = true; - networking.firewall.allowedTCPPorts = (lib.mkIf cfg.yarn.resourcemanager.openFirewall [ - 8088 # resourcemanager.webapp.address - 8030 # resourcemanager.scheduler.address - 8031 # resourcemanager.resource-tracker.address - 8032 # resourcemanager.address - 8033 # resourcemanager.admin.address - ]); + networking.firewall.allowedTCPPorts = ( + lib.mkIf cfg.yarn.resourcemanager.openFirewall [ + 8088 # resourcemanager.webapp.address + 8030 # resourcemanager.scheduler.address + 8031 # resourcemanager.resource-tracker.address + 8032 # resourcemanager.address + 8033 # resourcemanager.admin.address + ] + ); }) (lib.mkIf cfg.yarn.nodemanager.enable { @@ -169,29 +177,40 @@ in User = "yarn"; SyslogIdentifier = "yarn-nodemanager"; PermissionsStartOnly = true; - ExecStart = "${cfg.package}/bin/yarn --config ${hadoopConf} " + - " nodemanager ${lib.escapeShellArgs cfg.yarn.nodemanager.extraFlags}"; + ExecStart = + "${cfg.package}/bin/yarn --config ${hadoopConf} " + + " nodemanager ${lib.escapeShellArgs cfg.yarn.nodemanager.extraFlags}"; Restart = "always"; }; }; services.hadoop.gatewayRole.enable = true; - services.hadoop.yarnSiteInternal = with cfg.yarn.nodemanager; mkMerge [ ({ - "yarn.nodemanager.local-dirs" = mkIf (localDir!= null) (concatStringsSep "," localDir); - "yarn.scheduler.maximum-allocation-vcores" = resource.maximumAllocationVCores; - "yarn.scheduler.maximum-allocation-mb" = resource.maximumAllocationMB; - "yarn.nodemanager.resource.cpu-vcores" = resource.cpuVCores; - "yarn.nodemanager.resource.memory-mb" = resource.memoryMB; - }) (mkIf useCGroups { - "yarn.nodemanager.linux-container-executor.cgroups.hierarchy" = "/hadoop-yarn"; - "yarn.nodemanager.linux-container-executor.resources-handler.class" = "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler"; - "yarn.nodemanager.linux-container-executor.cgroups.mount" = "true"; - "yarn.nodemanager.linux-container-executor.cgroups.mount-path" = "/run/wrappers/yarn-nodemanager/cgroup"; - })]; + services.hadoop.yarnSiteInternal = + with cfg.yarn.nodemanager; + mkMerge [ + ({ + "yarn.nodemanager.local-dirs" = mkIf (localDir != null) (concatStringsSep "," localDir); + "yarn.scheduler.maximum-allocation-vcores" = resource.maximumAllocationVCores; + "yarn.scheduler.maximum-allocation-mb" = resource.maximumAllocationMB; + "yarn.nodemanager.resource.cpu-vcores" = resource.cpuVCores; + "yarn.nodemanager.resource.memory-mb" = resource.memoryMB; + }) + (mkIf useCGroups { + "yarn.nodemanager.linux-container-executor.cgroups.hierarchy" = "/hadoop-yarn"; + "yarn.nodemanager.linux-container-executor.resources-handler.class" = + "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler"; + "yarn.nodemanager.linux-container-executor.cgroups.mount" = "true"; + "yarn.nodemanager.linux-container-executor.cgroups.mount-path" = + "/run/wrappers/yarn-nodemanager/cgroup"; + }) + ]; networking.firewall.allowedTCPPortRanges = [ - (lib.mkIf (cfg.yarn.nodemanager.openFirewall) {from = 1024; to = 65535;}) + (lib.mkIf (cfg.yarn.nodemanager.openFirewall) { + from = 1024; + to = 65535; + }) ]; }) diff --git a/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixos/modules/services/cluster/kubernetes/addon-manager.nix index af4346d3c3ce9..38080b6dd20d7 100644 --- a/nixos/modules/services/cluster/kubernetes/addon-manager.nix +++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let top = config.services.kubernetes; cfg = top.addonManager; @@ -8,9 +13,11 @@ let addons = pkgs.runCommand "kubernetes-addons" { } '' mkdir -p $out # since we are mounting the addons to the addon manager, they need to be copied - ${lib.concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") (lib.mapAttrsToList (name: addon: - pkgs.writeTextDir "${name}.json" (builtins.toJSON addon) - ) (cfg.addons))} + ${lib.concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") ( + lib.mapAttrsToList (name: addon: pkgs.writeTextDir "${name}.json" (builtins.toJSON addon)) ( + cfg.addons + ) + )} ''; in { @@ -86,74 +93,83 @@ in }; }; - services.kubernetes.addonManager.bootstrapAddons = lib.mkIf isRBACEnabled - (let - name = "system:kube-addon-manager"; - namespace = "kube-system"; - in - { + services.kubernetes.addonManager.bootstrapAddons = lib.mkIf isRBACEnabled ( + let + name = "system:kube-addon-manager"; + namespace = "kube-system"; + in + { - kube-addon-manager-r = { - apiVersion = "rbac.authorization.k8s.io/v1"; - kind = "Role"; - metadata = { - inherit name namespace; - }; - rules = [{ - apiGroups = ["*"]; - resources = ["*"]; - verbs = ["*"]; - }]; - }; - - kube-addon-manager-rb = { - apiVersion = "rbac.authorization.k8s.io/v1"; - kind = "RoleBinding"; - metadata = { - inherit name namespace; - }; - roleRef = { - apiGroup = "rbac.authorization.k8s.io"; + kube-addon-manager-r = { + apiVersion = "rbac.authorization.k8s.io/v1"; kind = "Role"; - inherit name; + metadata = { + inherit name namespace; + }; + rules = [ + { + apiGroups = [ "*" ]; + resources = [ "*" ]; + verbs = [ "*" ]; + } + ]; }; - subjects = [{ - apiGroup = "rbac.authorization.k8s.io"; - kind = "User"; - inherit name; - }]; - }; - kube-addon-manager-cluster-lister-cr = { - apiVersion = "rbac.authorization.k8s.io/v1"; - kind = "ClusterRole"; - metadata = { - name = "${name}:cluster-lister"; + kube-addon-manager-rb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "RoleBinding"; + metadata = { + inherit name namespace; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "Role"; + inherit name; + }; + subjects = [ + { + apiGroup = "rbac.authorization.k8s.io"; + kind = "User"; + inherit name; + } + ]; }; - rules = [{ - apiGroups = ["*"]; - resources = ["*"]; - verbs = ["list"]; - }]; - }; - kube-addon-manager-cluster-lister-crb = { - apiVersion = "rbac.authorization.k8s.io/v1"; - kind = "ClusterRoleBinding"; - metadata = { - name = "${name}:cluster-lister"; - }; - roleRef = { - apiGroup = "rbac.authorization.k8s.io"; + kube-addon-manager-cluster-lister-cr = { + apiVersion = "rbac.authorization.k8s.io/v1"; kind = "ClusterRole"; - name = "${name}:cluster-lister"; + metadata = { + name = "${name}:cluster-lister"; + }; + rules = [ + { + apiGroups = [ "*" ]; + resources = [ "*" ]; + verbs = [ "list" ]; + } + ]; }; - subjects = [{ - kind = "User"; - inherit name; - }]; - }; - }); + + kube-addon-manager-cluster-lister-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "${name}:cluster-lister"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "${name}:cluster-lister"; + }; + subjects = [ + { + kind = "User"; + inherit name; + } + ]; + }; + } + ); services.kubernetes.pki.certs = { addonManager = top.lib.mkCert { diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix index 044ae8e42153a..788749cd43304 100644 --- a/nixos/modules/services/cluster/kubernetes/controller-manager.nix +++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let top = config.services.kubernetes; otop = options.services.kubernetes; @@ -6,7 +12,10 @@ let in { imports = [ - (lib.mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"]) + (lib.mkRenamedOptionModule + [ "services" "kubernetes" "controllerManager" "address" ] + [ "services" "kubernetes" "controllerManager" "bindAddress" ] + ) (lib.mkRemovedOptionModule [ "services" "kubernetes" "controllerManager" "insecurePort" ] "") ]; @@ -113,28 +122,35 @@ in RestartSec = "30s"; Restart = "on-failure"; Slice = "kubernetes.slice"; - ExecStart = ''${top.package}/bin/kube-controller-manager \ - --allocate-node-cidrs=${lib.boolToString cfg.allocateNodeCIDRs} \ - --bind-address=${cfg.bindAddress} \ - ${lib.optionalString (cfg.clusterCidr!=null) - "--cluster-cidr=${cfg.clusterCidr}"} \ - ${lib.optionalString (cfg.featureGates != {}) - "--feature-gates=${lib.concatStringsSep "," (builtins.attrValues (lib.mapAttrs (n: v: "${n}=${lib.trivial.boolToString v}") cfg.featureGates))}"} \ - --kubeconfig=${top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig} \ - --leader-elect=${lib.boolToString cfg.leaderElect} \ - ${lib.optionalString (cfg.rootCaFile!=null) - "--root-ca-file=${cfg.rootCaFile}"} \ - --secure-port=${toString cfg.securePort} \ - ${lib.optionalString (cfg.serviceAccountKeyFile!=null) - "--service-account-private-key-file=${cfg.serviceAccountKeyFile}"} \ - ${lib.optionalString (cfg.tlsCertFile!=null) - "--tls-cert-file=${cfg.tlsCertFile}"} \ - ${lib.optionalString (cfg.tlsKeyFile!=null) - "--tls-private-key-file=${cfg.tlsKeyFile}"} \ - ${lib.optionalString (lib.elem "RBAC" top.apiserver.authorizationMode) - "--use-service-account-credentials"} \ - ${lib.optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ - ${cfg.extraOpts} + ExecStart = '' + ${top.package}/bin/kube-controller-manager \ + --allocate-node-cidrs=${lib.boolToString cfg.allocateNodeCIDRs} \ + --bind-address=${cfg.bindAddress} \ + ${lib.optionalString (cfg.clusterCidr != null) "--cluster-cidr=${cfg.clusterCidr}"} \ + ${ + lib.optionalString (cfg.featureGates != { }) + "--feature-gates=${ + lib.concatStringsSep "," ( + builtins.attrValues (lib.mapAttrs (n: v: "${n}=${lib.trivial.boolToString v}") cfg.featureGates) + ) + }" + } \ + --kubeconfig=${top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig} \ + --leader-elect=${lib.boolToString cfg.leaderElect} \ + ${lib.optionalString (cfg.rootCaFile != null) "--root-ca-file=${cfg.rootCaFile}"} \ + --secure-port=${toString cfg.securePort} \ + ${ + lib.optionalString ( + cfg.serviceAccountKeyFile != null + ) "--service-account-private-key-file=${cfg.serviceAccountKeyFile}" + } \ + ${lib.optionalString (cfg.tlsCertFile != null) "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${ + lib.optionalString (cfg.tlsKeyFile != null) "--tls-private-key-file=${cfg.tlsKeyFile}" + } \ + ${lib.optionalString (lib.elem "RBAC" top.apiserver.authorizationMode) "--use-service-account-credentials"} \ + ${lib.optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} ''; WorkingDirectory = top.dataDir; User = "kubernetes"; diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index dea16f2d319bb..86e5e072aa061 100644 --- a/nixos/modules/services/cluster/kubernetes/default.nix +++ b/nixos/modules/services/cluster/kubernetes/default.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.kubernetes; opt = options.services.kubernetes; @@ -28,47 +34,73 @@ let }; }; - mkKubeConfig = name: conf: pkgs.writeText "${name}-kubeconfig" (builtins.toJSON { - apiVersion = "v1"; - kind = "Config"; - clusters = [{ - name = "local"; - cluster.certificate-authority = conf.caFile or cfg.caFile; - cluster.server = conf.server; - }]; - users = [{ - inherit name; - user = { - client-certificate = conf.certFile; - client-key = conf.keyFile; - }; - }]; - contexts = [{ - context = { - cluster = "local"; - user = name; - }; - name = "local"; - }]; - current-context = "local"; - }); + mkKubeConfig = + name: conf: + pkgs.writeText "${name}-kubeconfig" ( + builtins.toJSON { + apiVersion = "v1"; + kind = "Config"; + clusters = [ + { + name = "local"; + cluster.certificate-authority = conf.caFile or cfg.caFile; + cluster.server = conf.server; + } + ]; + users = [ + { + inherit name; + user = { + client-certificate = conf.certFile; + client-key = conf.keyFile; + }; + } + ]; + contexts = [ + { + context = { + cluster = "local"; + user = name; + }; + name = "local"; + } + ]; + current-context = "local"; + } + ); caCert = secret "ca"; - etcdEndpoints = ["https://${cfg.masterAddress}:2379"]; - - mkCert = { name, CN, hosts ? [], fields ? {}, action ? "", - privateKeyOwner ? "kubernetes", privateKeyGroup ? "kubernetes" }: rec { - inherit name caCert CN hosts fields action; - cert = secret name; - key = secret "${name}-key"; - privateKeyOptions = { - owner = privateKeyOwner; - group = privateKeyGroup; - mode = "0600"; - path = key; + etcdEndpoints = [ "https://${cfg.masterAddress}:2379" ]; + + mkCert = + { + name, + CN, + hosts ? [ ], + fields ? { }, + action ? "", + privateKeyOwner ? "kubernetes", + privateKeyGroup ? "kubernetes", + }: + rec { + inherit + name + caCert + CN + hosts + fields + action + ; + cert = secret name; + key = secret "${name}-key"; + privateKeyOptions = { + owner = privateKeyOwner; + group = privateKeyGroup; + mode = "0600"; + path = key; + }; }; - }; secret = name: "${cfg.secretsPath}/${name}.pem"; @@ -97,10 +129,16 @@ let default = null; }; }; -in { +in +{ imports = [ - (lib.mkRemovedOptionModule [ "services" "kubernetes" "addons" "dashboard" ] "Removed due to it being an outdated version") + (lib.mkRemovedOptionModule [ + "services" + "kubernetes" + "addons" + "dashboard" + ] "Removed due to it being an outdated version") (lib.mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "") ]; @@ -115,8 +153,13 @@ in { addon manager, flannel and proxy services. Node role will enable flannel, docker, kubelet and proxy services. ''; - default = []; - type = lib.types.listOf (lib.types.enum ["master" "node"]); + default = [ ]; + type = lib.types.listOf ( + lib.types.enum [ + "master" + "node" + ] + ); }; package = lib.mkPackageOption pkgs "kubernetes" { }; @@ -152,7 +195,7 @@ in { featureGates = lib.mkOption { description = "List set of feature gates."; - default = {}; + default = { }; type = lib.types.attrsOf lib.types.bool; }; @@ -165,7 +208,7 @@ in { path = lib.mkOption { description = "Packages added to the services' PATH environment variable. Both the bin and sbin subdirectories of each package are added."; type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; }; clusterCidr = lib.mkOption { @@ -222,7 +265,6 @@ in { }; }) - (lib.mkIf (lib.all (el: el == "master") cfg.roles) { # if this node is only a master make it unschedulable by default services.kubernetes.kubelet.unschedulable = lib.mkDefault true; @@ -234,7 +276,7 @@ in { }) # Using "services.kubernetes.roles" will automatically enable easyCerts and flannel - (lib.mkIf (cfg.roles != []) { + (lib.mkIf (cfg.roles != [ ]) { services.kubernetes.flannel.enable = lib.mkDefault true; services.flannel.etcd.endpoints = lib.mkDefault etcdEndpoints; services.kubernetes.easyCerts = lib.mkDefault true; @@ -266,42 +308,50 @@ in { }; }) - (lib.mkIf ( - cfg.apiserver.enable || - cfg.scheduler.enable || - cfg.controllerManager.enable || - cfg.kubelet.enable || - cfg.proxy.enable || - cfg.addonManager.enable - ) { - systemd.targets.kubernetes = { - description = "Kubernetes"; - wantedBy = [ "multi-user.target" ]; - }; - - systemd.tmpfiles.rules = [ - "d /opt/cni/bin 0755 root root -" - "d /run/kubernetes 0755 kubernetes kubernetes -" - "d ${cfg.dataDir} 0755 kubernetes kubernetes -" - ]; - - users.users.kubernetes = { - uid = config.ids.uids.kubernetes; - description = "Kubernetes user"; - group = "kubernetes"; - home = cfg.dataDir; - createHome = true; - homeMode = "755"; - }; - users.groups.kubernetes.gid = config.ids.gids.kubernetes; - - # dns addon is enabled by default - services.kubernetes.addons.dns.enable = lib.mkDefault true; + (lib.mkIf + ( + cfg.apiserver.enable + || cfg.scheduler.enable + || cfg.controllerManager.enable + || cfg.kubelet.enable + || cfg.proxy.enable + || cfg.addonManager.enable + ) + { + systemd.targets.kubernetes = { + description = "Kubernetes"; + wantedBy = [ "multi-user.target" ]; + }; - services.kubernetes.apiserverAddress = lib.mkDefault ("https://${if cfg.apiserver.advertiseAddress != null - then cfg.apiserver.advertiseAddress - else "${cfg.masterAddress}:${toString cfg.apiserver.securePort}"}"); - }) + systemd.tmpfiles.rules = [ + "d /opt/cni/bin 0755 root root -" + "d /run/kubernetes 0755 kubernetes kubernetes -" + "d ${cfg.dataDir} 0755 kubernetes kubernetes -" + ]; + + users.users.kubernetes = { + uid = config.ids.uids.kubernetes; + description = "Kubernetes user"; + group = "kubernetes"; + home = cfg.dataDir; + createHome = true; + homeMode = "755"; + }; + users.groups.kubernetes.gid = config.ids.gids.kubernetes; + + # dns addon is enabled by default + services.kubernetes.addons.dns.enable = lib.mkDefault true; + + services.kubernetes.apiserverAddress = lib.mkDefault ( + "https://${ + if cfg.apiserver.advertiseAddress != null then + cfg.apiserver.advertiseAddress + else + "${cfg.masterAddress}:${toString cfg.apiserver.securePort}" + }" + ); + } + ) ]; meta.buildDocsInSandbox = false; diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix index f0269cd0bc21e..7bbb55ba0724e 100644 --- a/nixos/modules/services/cluster/kubernetes/flannel.nix +++ b/nixos/modules/services/cluster/kubernetes/flannel.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let top = config.services.kubernetes; cfg = top.flannel; @@ -12,8 +17,7 @@ in enable = lib.mkEnableOption "flannel networking"; openFirewallPorts = lib.mkOption { - description = '' - Whether to open the Flannel UDP ports in the firewall on all interfaces.''; + description = ''Whether to open the Flannel UDP ports in the firewall on all interfaces.''; type = lib.types.bool; default = true; }; @@ -30,23 +34,28 @@ in }; services.kubernetes.kubelet = { - cni.config = lib.mkDefault [{ - name = "mynet"; - type = "flannel"; - cniVersion = "0.3.1"; - delegate = { - isDefaultGateway = true; - bridge = "mynet"; - }; - }]; + cni.config = lib.mkDefault [ + { + name = "mynet"; + type = "flannel"; + cniVersion = "0.3.1"; + delegate = { + isDefaultGateway = true; + bridge = "mynet"; + }; + } + ]; }; networking = { firewall.allowedUDPPorts = lib.mkIf cfg.openFirewallPorts [ - 8285 # flannel udp - 8472 # flannel vxlan + 8285 # flannel udp + 8472 # flannel vxlan + ]; + dhcpcd.denyInterfaces = [ + "mynet*" + "flannel*" ]; - dhcpcd.denyInterfaces = [ "mynet*" "flannel*" ]; }; services.kubernetes.pki.certs = { @@ -58,45 +67,58 @@ in }; # give flannel some kubernetes rbac permissions if applicable - services.kubernetes.addonManager.bootstrapAddons = lib.mkIf ((storageBackend == "kubernetes") && (lib.elem "RBAC" top.apiserver.authorizationMode)) { - - flannel-cr = { - apiVersion = "rbac.authorization.k8s.io/v1"; - kind = "ClusterRole"; - metadata = { name = "flannel"; }; - rules = [{ - apiGroups = [ "" ]; - resources = [ "pods" ]; - verbs = [ "get" ]; - } + services.kubernetes.addonManager.bootstrapAddons = + lib.mkIf ((storageBackend == "kubernetes") && (lib.elem "RBAC" top.apiserver.authorizationMode)) { - apiGroups = [ "" ]; - resources = [ "nodes" ]; - verbs = [ "list" "watch" ]; - } - { - apiGroups = [ "" ]; - resources = [ "nodes/status" ]; - verbs = [ "patch" ]; - }]; - }; - flannel-crb = { - apiVersion = "rbac.authorization.k8s.io/v1"; - kind = "ClusterRoleBinding"; - metadata = { name = "flannel"; }; - roleRef = { - apiGroup = "rbac.authorization.k8s.io"; - kind = "ClusterRole"; - name = "flannel"; - }; - subjects = [{ - kind = "User"; - name = "flannel-client"; - }]; - }; + flannel-cr = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRole"; + metadata = { + name = "flannel"; + }; + rules = [ + { + apiGroups = [ "" ]; + resources = [ "pods" ]; + verbs = [ "get" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes" ]; + verbs = [ + "list" + "watch" + ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes/status" ]; + verbs = [ "patch" ]; + } + ]; + }; - }; + flannel-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "flannel"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "flannel"; + }; + subjects = [ + { + kind = "User"; + name = "flannel-client"; + } + ]; + }; + + }; }; meta.buildDocsInSandbox = false; diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix index 8fa820ac44e9e..f481f70b84c3d 100644 --- a/nixos/modules/services/cluster/kubernetes/kubelet.nix +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -8,15 +14,15 @@ let cfg = top.kubelet; cniConfig = - if cfg.cni.config != [] && cfg.cni.configDir != null then + if cfg.cni.config != [ ] && cfg.cni.configDir != null then throw "Verbatim CNI-config and CNI configDir cannot both be set." else if cfg.cni.configDir != null then cfg.cni.configDir else (pkgs.buildEnv { name = "kubernetes-cni-config"; - paths = imap (i: entry: - pkgs.writeTextDir "${toString (10+i)}-${entry.type}.conf" (builtins.toJSON entry) + paths = imap ( + i: entry: pkgs.writeTextDir "${toString (10 + i)}-${entry.type}.conf" (builtins.toJSON entry) ) cfg.cni.config; }); @@ -28,7 +34,7 @@ let pathsToLink = [ "/bin" ]; paths = [ top.package.pause ]; }; - config.Cmd = ["/bin/pause"]; + config.Cmd = [ "/bin/pause" ]; }; kubeconfig = top.lib.mkKubeConfig "kubelet" cfg.kubeconfig; @@ -40,58 +46,71 @@ let # NOTE: registerWithTaints requires a []core/v1.Taint, therefore requires # additional work to be put in config format. # - kubeletConfig = pkgs.writeText "kubelet-config" (builtins.toJSON ({ - apiVersion = "kubelet.config.k8s.io/v1beta1"; - kind = "KubeletConfiguration"; - address = cfg.address; - port = cfg.port; - authentication = { - x509 = lib.optionalAttrs (cfg.clientCaFile != null) { clientCAFile = cfg.clientCaFile; }; - webhook = { - enabled = true; - cacheTTL = "10s"; - }; - }; - authorization = { - mode = "Webhook"; - }; - cgroupDriver = "systemd"; - hairpinMode = "hairpin-veth"; - registerNode = cfg.registerNode; - containerRuntimeEndpoint = cfg.containerRuntimeEndpoint; - healthzPort = cfg.healthz.port; - healthzBindAddress = cfg.healthz.bind; - } // lib.optionalAttrs (cfg.tlsCertFile != null) { tlsCertFile = cfg.tlsCertFile; } - // lib.optionalAttrs (cfg.tlsKeyFile != null) { tlsPrivateKeyFile = cfg.tlsKeyFile; } - // lib.optionalAttrs (cfg.clusterDomain != "") { clusterDomain = cfg.clusterDomain; } - // lib.optionalAttrs (cfg.clusterDns != []) { clusterDNS = cfg.clusterDns; } - // lib.optionalAttrs (cfg.featureGates != {}) { featureGates = cfg.featureGates; } - // lib.optionalAttrs (cfg.extraConfig != {}) cfg.extraConfig - )); + kubeletConfig = pkgs.writeText "kubelet-config" ( + builtins.toJSON ( + { + apiVersion = "kubelet.config.k8s.io/v1beta1"; + kind = "KubeletConfiguration"; + address = cfg.address; + port = cfg.port; + authentication = { + x509 = lib.optionalAttrs (cfg.clientCaFile != null) { clientCAFile = cfg.clientCaFile; }; + webhook = { + enabled = true; + cacheTTL = "10s"; + }; + }; + authorization = { + mode = "Webhook"; + }; + cgroupDriver = "systemd"; + hairpinMode = "hairpin-veth"; + registerNode = cfg.registerNode; + containerRuntimeEndpoint = cfg.containerRuntimeEndpoint; + healthzPort = cfg.healthz.port; + healthzBindAddress = cfg.healthz.bind; + } + // lib.optionalAttrs (cfg.tlsCertFile != null) { tlsCertFile = cfg.tlsCertFile; } + // lib.optionalAttrs (cfg.tlsKeyFile != null) { tlsPrivateKeyFile = cfg.tlsKeyFile; } + // lib.optionalAttrs (cfg.clusterDomain != "") { clusterDomain = cfg.clusterDomain; } + // lib.optionalAttrs (cfg.clusterDns != [ ]) { clusterDNS = cfg.clusterDns; } + // lib.optionalAttrs (cfg.featureGates != { }) { featureGates = cfg.featureGates; } + // lib.optionalAttrs (cfg.extraConfig != { }) cfg.extraConfig + ) + ); manifestPath = "kubernetes/manifests"; - taintOptions = with lib.types; { name, ... }: { - options = { - key = mkOption { - description = "Key of taint."; - default = name; - defaultText = literalMD "Name of this submodule."; - type = str; - }; - value = mkOption { - description = "Value of taint."; - type = str; - }; - effect = mkOption { - description = "Effect of taint."; - example = "NoSchedule"; - type = enum ["NoSchedule" "PreferNoSchedule" "NoExecute"]; + taintOptions = + with lib.types; + { name, ... }: + { + options = { + key = mkOption { + description = "Key of taint."; + default = name; + defaultText = literalMD "Name of this submodule."; + type = str; + }; + value = mkOption { + description = "Value of taint."; + type = str; + }; + effect = mkOption { + description = "Effect of taint."; + example = "NoSchedule"; + type = enum [ + "NoSchedule" + "PreferNoSchedule" + "NoExecute" + ]; + }; }; }; - }; - taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.taints); + taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") ( + mapAttrsToList (n: v: v) cfg.taints + ); in { imports = [ @@ -135,13 +154,13 @@ in packages = mkOption { description = "List of network plugin packages to install."; type = listOf package; - default = []; + default = [ ]; }; config = mkOption { description = "Kubernetes CNI configuration."; type = listOf attrs; - default = []; + default = [ ]; example = literalExpression '' [{ "cniVersion": "0.3.1", @@ -187,7 +206,7 @@ in extraConfig = mkOption { description = "Kubernetes kubelet extra configuration file entries."; - default = {}; + default = { }; type = attrsOf attrs; }; @@ -223,7 +242,7 @@ in manifests = mkOption { description = "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)"; type = attrsOf attrs; - default = {}; + default = { }; }; nodeIp = mkOption { @@ -246,13 +265,13 @@ in seedDockerImages = mkOption { description = "List of docker images to preload on system"; - default = []; + default = [ ]; type = listOf package; }; taints = mkOption { description = "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)."; - default = {}; + default = { }; type = attrsOf (submodule [ taintOptions ]); }; @@ -291,35 +310,44 @@ in environment.etc."cni/net.d".source = cniConfig; - services.kubernetes.kubelet.seedDockerImages = [infraContainer]; + services.kubernetes.kubelet.seedDockerImages = [ infraContainer ]; boot.kernel.sysctl = { - "net.bridge.bridge-nf-call-iptables" = 1; - "net.ipv4.ip_forward" = 1; + "net.bridge.bridge-nf-call-iptables" = 1; + "net.ipv4.ip_forward" = 1; "net.bridge.bridge-nf-call-ip6tables" = 1; }; systemd.services.kubelet = { description = "Kubernetes Kubelet Service"; wantedBy = [ "kubernetes.target" ]; - after = [ "containerd.service" "network.target" "kube-apiserver.service" ]; - path = with pkgs; [ - gitMinimal - openssh - util-linux - iproute2 - ethtool - thin-provisioning-tools - iptables - socat - ] ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package ++ top.path; + after = [ + "containerd.service" + "network.target" + "kube-apiserver.service" + ]; + path = + with pkgs; + [ + gitMinimal + openssh + util-linux + iproute2 + ethtool + thin-provisioning-tools + iptables + socat + ] + ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package + ++ top.path; preStart = '' ${concatMapStrings (img: '' echo "Seeding container image: ${img}" - ${if (lib.hasSuffix "gz" img) then - ''${pkgs.gzip}/bin/zcat "${img}" | ${pkgs.containerd}/bin/ctr -n k8s.io image import --all-platforms -'' - else - ''${pkgs.coreutils}/bin/cat "${img}" | ${pkgs.containerd}/bin/ctr -n k8s.io image import --all-platforms -'' + ${ + if (lib.hasSuffix "gz" img) then + ''${pkgs.gzip}/bin/zcat "${img}" | ${pkgs.containerd}/bin/ctr -n k8s.io image import --all-platforms -'' + else + ''${pkgs.coreutils}/bin/cat "${img}" | ${pkgs.containerd}/bin/ctr -n k8s.io image import --all-platforms -'' } '') cfg.seedDockerImages} @@ -335,20 +363,18 @@ in MemoryAccounting = true; Restart = "on-failure"; RestartSec = "1000ms"; - ExecStart = ''${top.package}/bin/kubelet \ - --config=${kubeletConfig} \ - --hostname-override=${cfg.hostname} \ - --kubeconfig=${kubeconfig} \ - ${optionalString (cfg.nodeIp != null) - "--node-ip=${cfg.nodeIp}"} \ - --pod-infra-container-image=pause \ - ${optionalString (cfg.manifests != {}) - "--pod-manifest-path=/etc/${manifestPath}"} \ - ${optionalString (taints != "") - "--register-with-taints=${taints}"} \ - --root-dir=${top.dataDir} \ - ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ - ${cfg.extraOpts} + ExecStart = '' + ${top.package}/bin/kubelet \ + --config=${kubeletConfig} \ + --hostname-override=${cfg.hostname} \ + --kubeconfig=${kubeconfig} \ + ${optionalString (cfg.nodeIp != null) "--node-ip=${cfg.nodeIp}"} \ + --pod-infra-container-image=pause \ + ${optionalString (cfg.manifests != { }) "--pod-manifest-path=/etc/${manifestPath}"} \ + ${optionalString (taints != "") "--register-with-taints=${taints}"} \ + --root-dir=${top.dataDir} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} ''; WorkingDirectory = top.dataDir; }; @@ -358,12 +384,17 @@ in }; # Always include cni plugins - services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins pkgs.cni-plugin-flannel]; + services.kubernetes.kubelet.cni.packages = [ + pkgs.cni-plugins + pkgs.cni-plugin-flannel + ]; - boot.kernelModules = ["br_netfilter" "overlay"]; + boot.kernelModules = [ + "br_netfilter" + "overlay" + ]; - services.kubernetes.kubelet.hostname = - mkDefault (lib.toLower config.networking.fqdnOrHostName); + services.kubernetes.kubelet.hostname = mkDefault (lib.toLower config.networking.fqdnOrHostName); services.kubernetes.pki.certs = with top.lib; { kubelet = mkCert { @@ -385,8 +416,9 @@ in services.kubernetes.kubelet.kubeconfig.server = mkDefault top.apiserverAddress; }) - (mkIf (cfg.enable && cfg.manifests != {}) { - environment.etc = mapAttrs' (name: manifest: + (mkIf (cfg.enable && cfg.manifests != { }) { + environment.etc = mapAttrs' ( + name: manifest: nameValuePair "${manifestPath}/${name}.json" { text = builtins.toJSON manifest; mode = "0755"; diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix index 5e725df41f438..e4f8cf44e7033 100644 --- a/nixos/modules/services/cluster/kubernetes/pki.nix +++ b/nixos/modules/services/cluster/kubernetes/pki.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,33 +11,38 @@ let top = config.services.kubernetes; cfg = top.pki; - csrCA = pkgs.writeText "kube-pki-cacert-csr.json" (builtins.toJSON { - key = { + csrCA = pkgs.writeText "kube-pki-cacert-csr.json" ( + builtins.toJSON { + key = { algo = "rsa"; size = 2048; - }; - names = singleton cfg.caSpec; - }); + }; + names = singleton cfg.caSpec; + } + ); - csrCfssl = pkgs.writeText "kube-pki-cfssl-csr.json" (builtins.toJSON { - key = { + csrCfssl = pkgs.writeText "kube-pki-cfssl-csr.json" ( + builtins.toJSON { + key = { algo = "rsa"; size = 2048; - }; - CN = top.masterAddress; - hosts = [top.masterAddress] ++ cfg.cfsslAPIExtraSANs; - }); + }; + CN = top.masterAddress; + hosts = [ top.masterAddress ] ++ cfg.cfsslAPIExtraSANs; + } + ); cfsslAPITokenBaseName = "apitoken.secret"; cfsslAPITokenPath = "${config.services.cfssl.dataDir}/${cfsslAPITokenBaseName}"; certmgrAPITokenPath = "${top.secretsPath}/${cfsslAPITokenBaseName}"; cfsslAPITokenLength = 32; - clusterAdminKubeconfig = with cfg.certs.clusterAdmin; + clusterAdminKubeconfig = + with cfg.certs.clusterAdmin; top.lib.mkKubeConfig "cluster-admin" { - server = top.apiserverAddress; - certFile = cert; - keyFile = key; + server = top.apiserverAddress; + certFile = cert; + keyFile = key; }; remote = with config.services; "https://${kubernetes.masterAddress}:${toString cfssl.port}"; @@ -45,7 +55,7 @@ in certs = mkOption { description = "List of certificate specs to feed to cert generator."; - default = {}; + default = { }; type = attrs; }; @@ -71,7 +81,7 @@ in description = '' Extra x509 Subject Alternative Names to be added to the cfssl API webserver TLS cert. ''; - default = []; + default = [ ]; example = [ "subdomain.example.com" ]; type = listOf str; }; @@ -125,120 +135,132 @@ in }; ###### implementation - config = mkIf cfg.enable - (let - cfsslCertPathPrefix = "${config.services.cfssl.dataDir}/cfssl"; - cfsslCert = "${cfsslCertPathPrefix}.pem"; - cfsslKey = "${cfsslCertPathPrefix}-key.pem"; - in - { - - services.cfssl = mkIf (top.apiserver.enable) { - enable = true; - address = "0.0.0.0"; - tlsCert = cfsslCert; - tlsKey = cfsslKey; - configFile = toString (pkgs.writeText "cfssl-config.json" (builtins.toJSON { - signing = { - profiles = { - default = { - usages = ["digital signature"]; - auth_key = "default"; - expiry = "720h"; - }; - }; - }; - auth_keys = { - default = { - type = "standard"; - key = "file:${cfsslAPITokenPath}"; - }; - }; - })); - }; + config = mkIf cfg.enable ( + let + cfsslCertPathPrefix = "${config.services.cfssl.dataDir}/cfssl"; + cfsslCert = "${cfsslCertPathPrefix}.pem"; + cfsslKey = "${cfsslCertPathPrefix}-key.pem"; + in + { + + services.cfssl = mkIf (top.apiserver.enable) { + enable = true; + address = "0.0.0.0"; + tlsCert = cfsslCert; + tlsKey = cfsslKey; + configFile = toString ( + pkgs.writeText "cfssl-config.json" ( + builtins.toJSON { + signing = { + profiles = { + default = { + usages = [ "digital signature" ]; + auth_key = "default"; + expiry = "720h"; + }; + }; + }; + auth_keys = { + default = { + type = "standard"; + key = "file:${cfsslAPITokenPath}"; + }; + }; + } + ) + ); + }; - systemd.services.cfssl.preStart = with pkgs; with config.services.cfssl; mkIf (top.apiserver.enable) - (concatStringsSep "\n" [ - "set -e" - (optionalString cfg.genCfsslCACert '' - if [ ! -f "${cfg.caCertPathPrefix}.pem" ]; then - ${cfssl}/bin/cfssl genkey -initca ${csrCA} | \ - ${cfssl}/bin/cfssljson -bare ${cfg.caCertPathPrefix} - fi - '') - (optionalString cfg.genCfsslAPICerts '' - if [ ! -f "${dataDir}/cfssl.pem" ]; then - ${cfssl}/bin/cfssl gencert -ca "${cfg.caCertPathPrefix}.pem" -ca-key "${cfg.caCertPathPrefix}-key.pem" ${csrCfssl} | \ - ${cfssl}/bin/cfssljson -bare ${cfsslCertPathPrefix} - fi - '') - (optionalString cfg.genCfsslAPIToken '' - if [ ! -f "${cfsslAPITokenPath}" ]; then - install -o cfssl -m 400 <(head -c ${toString (cfsslAPITokenLength / 2)} /dev/urandom | od -An -t x | tr -d ' ') "${cfsslAPITokenPath}" - fi - '')]); - - systemd.services.kube-certmgr-bootstrap = { - description = "Kubernetes certmgr bootstrapper"; - wantedBy = [ "certmgr.service" ]; - after = [ "cfssl.target" ]; - script = concatStringsSep "\n" ['' - set -e - - # If there's a cfssl (cert issuer) running locally, then don't rely on user to - # manually paste it in place. Just symlink. - # otherwise, create the target file, ready for users to insert the token - - mkdir -p "$(dirname "${certmgrAPITokenPath}")" - if [ -f "${cfsslAPITokenPath}" ]; then - ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}" - elif [ ! -f "${certmgrAPITokenPath}" ]; then - # Don't remove the token if it already exists - install -m 600 /dev/null "${certmgrAPITokenPath}" - fi - '' - (optionalString (cfg.pkiTrustOnBootstrap) '' - if [ ! -f "${top.caFile}" ] || [ $(cat "${top.caFile}" | wc -c) -lt 1 ]; then - ${pkgs.curl}/bin/curl --fail-early -f -kd '{}' ${remote}/api/v1/cfssl/info | \ - ${pkgs.cfssl}/bin/cfssljson -stdout >${top.caFile} - fi - '') - ]; - serviceConfig = { - RestartSec = "10s"; - Restart = "on-failure"; + systemd.services.cfssl.preStart = + with pkgs; + with config.services.cfssl; + mkIf (top.apiserver.enable) ( + concatStringsSep "\n" [ + "set -e" + (optionalString cfg.genCfsslCACert '' + if [ ! -f "${cfg.caCertPathPrefix}.pem" ]; then + ${cfssl}/bin/cfssl genkey -initca ${csrCA} | \ + ${cfssl}/bin/cfssljson -bare ${cfg.caCertPathPrefix} + fi + '') + (optionalString cfg.genCfsslAPICerts '' + if [ ! -f "${dataDir}/cfssl.pem" ]; then + ${cfssl}/bin/cfssl gencert -ca "${cfg.caCertPathPrefix}.pem" -ca-key "${cfg.caCertPathPrefix}-key.pem" ${csrCfssl} | \ + ${cfssl}/bin/cfssljson -bare ${cfsslCertPathPrefix} + fi + '') + (optionalString cfg.genCfsslAPIToken '' + if [ ! -f "${cfsslAPITokenPath}" ]; then + install -o cfssl -m 400 <(head -c ${ + toString (cfsslAPITokenLength / 2) + } /dev/urandom | od -An -t x | tr -d ' ') "${cfsslAPITokenPath}" + fi + '') + ] + ); + + systemd.services.kube-certmgr-bootstrap = { + description = "Kubernetes certmgr bootstrapper"; + wantedBy = [ "certmgr.service" ]; + after = [ "cfssl.target" ]; + script = concatStringsSep "\n" [ + '' + set -e + + # If there's a cfssl (cert issuer) running locally, then don't rely on user to + # manually paste it in place. Just symlink. + # otherwise, create the target file, ready for users to insert the token + + mkdir -p "$(dirname "${certmgrAPITokenPath}")" + if [ -f "${cfsslAPITokenPath}" ]; then + ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}" + elif [ ! -f "${certmgrAPITokenPath}" ]; then + # Don't remove the token if it already exists + install -m 600 /dev/null "${certmgrAPITokenPath}" + fi + '' + (optionalString (cfg.pkiTrustOnBootstrap) '' + if [ ! -f "${top.caFile}" ] || [ $(cat "${top.caFile}" | wc -c) -lt 1 ]; then + ${pkgs.curl}/bin/curl --fail-early -f -kd '{}' ${remote}/api/v1/cfssl/info | \ + ${pkgs.cfssl}/bin/cfssljson -stdout >${top.caFile} + fi + '') + ]; + serviceConfig = { + RestartSec = "10s"; + Restart = "on-failure"; + }; }; - }; - services.certmgr = { - enable = true; - package = pkgs.certmgr; - svcManager = "command"; - specs = - let - mkSpec = _: cert: { - inherit (cert) action; - authority = { - inherit remote; - root_ca = cert.caCert; - profile = "default"; - auth_key_file = certmgrAPITokenPath; - }; - certificate = { - path = cert.cert; - }; - private_key = cert.privateKeyOptions; - request = { - hosts = [cert.CN] ++ cert.hosts; - inherit (cert) CN; - key = { - algo = "rsa"; - size = 2048; + services.certmgr = { + enable = true; + package = pkgs.certmgr; + svcManager = "command"; + specs = + let + mkSpec = _: cert: { + inherit (cert) action; + authority = { + inherit remote; + root_ca = cert.caCert; + profile = "default"; + auth_key_file = certmgrAPITokenPath; + }; + certificate = { + path = cert.cert; + }; + private_key = cert.privateKeyOptions; + request = { + hosts = [ cert.CN ] ++ cert.hosts; + inherit (cert) CN; + key = { + algo = "rsa"; + size = 2048; + }; + names = [ cert.fields ]; }; - names = [ cert.fields ]; }; - }; - in + in mapAttrs mkSpec cfg.certs; }; @@ -247,91 +269,98 @@ in # - it assumes that it is clusterAdmin or can gain clusterAdmin rights through serviceAccount # - it is designed to be used with k8s system components only # - it would be better with a more Nix-oriented way of managing addons - systemd.services.kube-addon-manager = mkIf top.addonManager.enable (mkMerge [{ - environment.KUBECONFIG = with cfg.certs.addonManager; - top.lib.mkKubeConfig "addon-manager" { - server = top.apiserverAddress; - certFile = cert; - keyFile = key; - }; + systemd.services.kube-addon-manager = mkIf top.addonManager.enable (mkMerge [ + { + environment.KUBECONFIG = + with cfg.certs.addonManager; + top.lib.mkKubeConfig "addon-manager" { + server = top.apiserverAddress; + certFile = cert; + keyFile = key; + }; } - (optionalAttrs (top.addonManager.bootstrapAddons != {}) { + (optionalAttrs (top.addonManager.bootstrapAddons != { }) { serviceConfig.PermissionsStartOnly = true; - preStart = with pkgs; - let - files = mapAttrsToList (n: v: writeText "${n}.json" (builtins.toJSON v)) - top.addonManager.bootstrapAddons; - in - '' - export KUBECONFIG=${clusterAdminKubeconfig} - ${top.package}/bin/kubectl apply -f ${concatStringsSep " \\\n -f " files} - ''; - })]); - - environment.etc.${cfg.etcClusterAdminKubeconfig}.source = mkIf (cfg.etcClusterAdminKubeconfig != null) - clusterAdminKubeconfig; + preStart = + with pkgs; + let + files = mapAttrsToList ( + n: v: writeText "${n}.json" (builtins.toJSON v) + ) top.addonManager.bootstrapAddons; + in + '' + export KUBECONFIG=${clusterAdminKubeconfig} + ${top.package}/bin/kubectl apply -f ${concatStringsSep " \\\n -f " files} + ''; + }) + ]); + + environment.etc.${cfg.etcClusterAdminKubeconfig}.source = mkIf ( + cfg.etcClusterAdminKubeconfig != null + ) clusterAdminKubeconfig; environment.systemPackages = mkIf (top.kubelet.enable || top.proxy.enable) [ - (pkgs.writeScriptBin "nixos-kubernetes-node-join" '' - set -e - exec 1>&2 - - if [ $# -gt 0 ]; then - echo "Usage: $(basename $0)" - echo "" - echo "No args. Apitoken must be provided on stdin." - echo "To get the apitoken, execute: 'sudo cat ${certmgrAPITokenPath}' on the master node." - exit 1 - fi - - if [ $(id -u) != 0 ]; then - echo "Run as root please." - exit 1 - fi - - read -r token - if [ ''${#token} != ${toString cfsslAPITokenLength} ]; then - echo "Token must be of length ${toString cfsslAPITokenLength}." - exit 1 - fi - - install -m 0600 <(echo $token) ${certmgrAPITokenPath} - - echo "Restarting certmgr..." >&1 - systemctl restart certmgr - - echo "Waiting for certs to appear..." >&1 - - ${optionalString top.kubelet.enable '' - while [ ! -f ${cfg.certs.kubelet.cert} ]; do sleep 1; done - echo "Restarting kubelet..." >&1 - systemctl restart kubelet - ''} - - ${optionalString top.proxy.enable '' - while [ ! -f ${cfg.certs.kubeProxyClient.cert} ]; do sleep 1; done - echo "Restarting kube-proxy..." >&1 - systemctl restart kube-proxy - ''} - - ${optionalString top.flannel.enable '' - while [ ! -f ${cfg.certs.flannelClient.cert} ]; do sleep 1; done - echo "Restarting flannel..." >&1 - systemctl restart flannel - ''} - - echo "Node joined successfully" - '')]; + (pkgs.writeScriptBin "nixos-kubernetes-node-join" '' + set -e + exec 1>&2 + + if [ $# -gt 0 ]; then + echo "Usage: $(basename $0)" + echo "" + echo "No args. Apitoken must be provided on stdin." + echo "To get the apitoken, execute: 'sudo cat ${certmgrAPITokenPath}' on the master node." + exit 1 + fi + + if [ $(id -u) != 0 ]; then + echo "Run as root please." + exit 1 + fi + + read -r token + if [ ''${#token} != ${toString cfsslAPITokenLength} ]; then + echo "Token must be of length ${toString cfsslAPITokenLength}." + exit 1 + fi + + install -m 0600 <(echo $token) ${certmgrAPITokenPath} + + echo "Restarting certmgr..." >&1 + systemctl restart certmgr + + echo "Waiting for certs to appear..." >&1 + + ${optionalString top.kubelet.enable '' + while [ ! -f ${cfg.certs.kubelet.cert} ]; do sleep 1; done + echo "Restarting kubelet..." >&1 + systemctl restart kubelet + ''} + + ${optionalString top.proxy.enable '' + while [ ! -f ${cfg.certs.kubeProxyClient.cert} ]; do sleep 1; done + echo "Restarting kube-proxy..." >&1 + systemctl restart kube-proxy + ''} + + ${optionalString top.flannel.enable '' + while [ ! -f ${cfg.certs.flannelClient.cert} ]; do sleep 1; done + echo "Restarting flannel..." >&1 + systemctl restart flannel + ''} + + echo "Node joined successfully" + '') + ]; # isolate etcd on loopback at the master node # easyCerts doesn't support multimaster clusters anyway atm. services.etcd = with cfg.certs.etcd; { - listenClientUrls = ["https://127.0.0.1:2379"]; - listenPeerUrls = ["https://127.0.0.1:2380"]; - advertiseClientUrls = ["https://etcd.local:2379"]; - initialCluster = ["${top.masterAddress}=https://etcd.local:2380"]; - initialAdvertisePeerUrls = ["https://etcd.local:2380"]; + listenClientUrls = [ "https://127.0.0.1:2379" ]; + listenPeerUrls = [ "https://127.0.0.1:2380" ]; + advertiseClientUrls = [ "https://etcd.local:2379" ]; + initialCluster = [ "${top.masterAddress}=https://etcd.local:2380" ]; + initialAdvertisePeerUrls = [ "https://etcd.local:2380" ]; certFile = mkDefault cert; keyFile = mkDefault key; trustedCaFile = mkDefault caCert; @@ -350,24 +379,27 @@ in services.kubernetes = { - apiserver = mkIf top.apiserver.enable (with cfg.certs.apiServer; { - etcd = with cfg.certs.apiserverEtcdClient; { - servers = ["https://etcd.local:2379"]; - certFile = mkDefault cert; - keyFile = mkDefault key; - caFile = mkDefault caCert; - }; - clientCaFile = mkDefault caCert; - tlsCertFile = mkDefault cert; - tlsKeyFile = mkDefault key; - serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.cert; - serviceAccountSigningKeyFile = mkDefault cfg.certs.serviceAccount.key; - kubeletClientCaFile = mkDefault caCert; - kubeletClientCertFile = mkDefault cfg.certs.apiserverKubeletClient.cert; - kubeletClientKeyFile = mkDefault cfg.certs.apiserverKubeletClient.key; - proxyClientCertFile = mkDefault cfg.certs.apiserverProxyClient.cert; - proxyClientKeyFile = mkDefault cfg.certs.apiserverProxyClient.key; - }); + apiserver = mkIf top.apiserver.enable ( + with cfg.certs.apiServer; + { + etcd = with cfg.certs.apiserverEtcdClient; { + servers = [ "https://etcd.local:2379" ]; + certFile = mkDefault cert; + keyFile = mkDefault key; + caFile = mkDefault caCert; + }; + clientCaFile = mkDefault caCert; + tlsCertFile = mkDefault cert; + tlsKeyFile = mkDefault key; + serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.cert; + serviceAccountSigningKeyFile = mkDefault cfg.certs.serviceAccount.key; + kubeletClientCaFile = mkDefault caCert; + kubeletClientCertFile = mkDefault cfg.certs.apiserverKubeletClient.cert; + kubeletClientKeyFile = mkDefault cfg.certs.apiserverKubeletClient.key; + proxyClientCertFile = mkDefault cfg.certs.apiserverProxyClient.cert; + proxyClientKeyFile = mkDefault cfg.certs.apiserverProxyClient.key; + } + ); controllerManager = mkIf top.controllerManager.enable { serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.key; rootCaFile = cfg.certs.controllerManagerClient.caCert; @@ -398,7 +430,8 @@ in }; }; }; - }); + } + ); meta.buildDocsInSandbox = false; } diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix index 05205a529f8d9..3cab4ce492b24 100644 --- a/nixos/modules/services/cluster/kubernetes/scheduler.nix +++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let top = config.services.kubernetes; otop = options.services.kubernetes; @@ -62,15 +68,22 @@ in after = [ "kube-apiserver.service" ]; serviceConfig = { Slice = "kubernetes.slice"; - ExecStart = ''${top.package}/bin/kube-scheduler \ - --bind-address=${cfg.address} \ - ${lib.optionalString (cfg.featureGates != {}) - "--feature-gates=${lib.concatStringsSep "," (builtins.attrValues (lib.mapAttrs (n: v: "${n}=${lib.trivial.boolToString v}") cfg.featureGates))}"} \ - --kubeconfig=${top.lib.mkKubeConfig "kube-scheduler" cfg.kubeconfig} \ - --leader-elect=${lib.boolToString cfg.leaderElect} \ - --secure-port=${toString cfg.port} \ - ${lib.optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ - ${cfg.extraOpts} + ExecStart = '' + ${top.package}/bin/kube-scheduler \ + --bind-address=${cfg.address} \ + ${ + lib.optionalString (cfg.featureGates != { }) + "--feature-gates=${ + lib.concatStringsSep "," ( + builtins.attrValues (lib.mapAttrs (n: v: "${n}=${lib.trivial.boolToString v}") cfg.featureGates) + ) + }" + } \ + --kubeconfig=${top.lib.mkKubeConfig "kube-scheduler" cfg.kubeconfig} \ + --leader-elect=${lib.boolToString cfg.leaderElect} \ + --secure-port=${toString cfg.port} \ + ${lib.optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} ''; WorkingDirectory = top.dataDir; User = "kubernetes"; diff --git a/nixos/modules/services/cluster/pacemaker/default.nix b/nixos/modules/services/cluster/pacemaker/default.nix index 92cd9311eb7d5..2a0866e1363ba 100644 --- a/nixos/modules/services/cluster/pacemaker/default.nix +++ b/nixos/modules/services/cluster/pacemaker/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.pacemaker; in @@ -12,12 +17,14 @@ in # implementation config = lib.mkIf cfg.enable { - assertions = [ { - assertion = config.services.corosync.enable; - message = '' - Enabling services.pacemaker requires a services.corosync configuration. - ''; - } ]; + assertions = [ + { + assertion = config.services.corosync.enable; + message = '' + Enabling services.pacemaker requires a services.corosync configuration. + ''; + } + ]; environment.systemPackages = [ cfg.package ]; @@ -27,7 +34,7 @@ in group = "pacemaker"; home = "/var/lib/pacemaker"; }; - users.groups.pacemaker = {}; + users.groups.pacemaker = { }; systemd.tmpfiles.rules = [ "d /var/log/pacemaker 0700 hacluster pacemaker -" diff --git a/nixos/modules/services/cluster/patroni/default.nix b/nixos/modules/services/cluster/patroni/default.nix index 91eb9214a60e4..bcddcd23a6b53 100644 --- a/nixos/modules/services/cluster/patroni/default.nix +++ b/nixos/modules/services/cluster/patroni/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.patroni; defaultUser = "patroni"; @@ -114,7 +119,10 @@ in otherNodesIps = lib.mkOption { type = lib.types.listOf lib.types.str; - example = [ "192.168.1.2" "192.168.1.3" ]; + example = [ + "192.168.1.2" + "192.168.1.3" + ]; description = '' IP addresses of the other nodes. ''; @@ -148,7 +156,15 @@ in }; environmentFiles = lib.mkOption { - type = with lib.types; attrsOf (nullOr (oneOf [ str path package ])); + type = + with lib.types; + attrsOf ( + nullOr (oneOf [ + str + path + package + ]) + ); default = { }; example = { PATRONI_REPLICATION_PASSWORD = "/secret/file"; @@ -185,7 +201,6 @@ in }; }; - users = { users = lib.mkIf (cfg.user == defaultUser) { patroni = { @@ -206,7 +221,11 @@ in after = [ "network.target" ]; script = '' - ${lib.concatStringsSep "\n" (lib.attrValues (lib.mapAttrs (name: path: ''export ${name}="$(< ${lib.escapeShellArg path})"'') cfg.environmentFiles))} + ${lib.concatStringsSep "\n" ( + lib.attrValues ( + lib.mapAttrs (name: path: ''export ${name}="$(< ${lib.escapeShellArg path})"'') cfg.environmentFiles + ) + )} exec ${pkgs.patroni}/bin/patroni ${configFile} ''; @@ -220,10 +239,16 @@ in ExecReload = "${pkgs.coreutils}/bin/kill -s HUP $MAINPID"; KillMode = "process"; } - (lib.mkIf (cfg.postgresqlDataDir == "/var/lib/postgresql/${cfg.postgresqlPackage.psqlSchema}" && cfg.dataDir == "/var/lib/patroni") { - StateDirectory = "patroni postgresql postgresql/${cfg.postgresqlPackage.psqlSchema}"; - StateDirectoryMode = "0750"; - }) + (lib.mkIf + ( + cfg.postgresqlDataDir == "/var/lib/postgresql/${cfg.postgresqlPackage.psqlSchema}" + && cfg.dataDir == "/var/lib/patroni" + ) + { + StateDirectory = "patroni postgresql postgresql/${cfg.postgresqlPackage.psqlSchema}"; + StateDirectoryMode = "0750"; + } + ) ]; }; }; diff --git a/nixos/modules/services/cluster/rke2/default.nix b/nixos/modules/services/cluster/rke2/default.nix index 2e6816f43374f..1c7ef3af1c8ae 100644 --- a/nixos/modules/services/cluster/rke2/default.nix +++ b/nixos/modules/services/cluster/rke2/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rke2; in @@ -11,7 +16,10 @@ in package = lib.mkPackageOption pkgs "rke2" { }; role = lib.mkOption { - type = lib.types.enum [ "server" "agent" ]; + type = lib.types.enum [ + "server" + "agent" + ]; description = '' Whether rke2 should run as a server or agent. @@ -125,7 +133,13 @@ in }; cni = lib.mkOption { - type = lib.types.enum [ "none" "canal" "cilium" "calico" "flannel" ]; + type = lib.types.enum [ + "none" + "canal" + "cilium" + "calico" + "flannel" + ]; description = '' CNI Plugins to deploy, one of `none`, `calico`, `canal`, `cilium` or `flannel`. @@ -170,7 +184,10 @@ in - [Server Configuration Reference](https://docs.rke2.io/reference/server_config) - [Agent Configuration Reference](https://docs.rke2.io/reference/linux_agent_config) ''; - example = [ "--disable-kube-proxy" "--cluster-cidr=10.24.0.0/16" ]; + example = [ + "--disable-kube-proxy" + "--cluster-cidr=10.24.0.0/16" + ]; default = [ ]; }; @@ -204,19 +221,21 @@ in message = "serverAddr or configPath (with 'server' key) should be set if role is 'agent'"; } { - assertion = cfg.role == "agent" -> (builtins.pathExists cfg.configPath || cfg.tokenFile != null || cfg.token != ""); + assertion = + cfg.role == "agent" + -> (builtins.pathExists cfg.configPath || cfg.tokenFile != null || cfg.token != ""); message = "token or tokenFile or configPath (with 'token' or 'token-file' keys) should be set if role is 'agent'"; } { - assertion = cfg.role == "agent" -> ! (cfg.agentTokenFile != null || cfg.agentToken != ""); + assertion = cfg.role == "agent" -> !(cfg.agentTokenFile != null || cfg.agentToken != ""); message = "agentToken or agentTokenFile should be set if role is 'agent'"; } { - assertion = cfg.role == "agent" -> ! (cfg.disable != [ ]); + assertion = cfg.role == "agent" -> !(cfg.disable != [ ]); message = "disable should not be set if role is 'agent'"; } { - assertion = cfg.role == "agent" -> ! (cfg.cni != "canal"); + assertion = cfg.role == "agent" -> !(cfg.cni != "canal"); message = "cni should not be set if role is 'agent'"; } ]; @@ -275,34 +294,44 @@ in "-${pkgs.kmod}/bin/modprobe br_netfilter" "-${pkgs.kmod}/bin/modprobe overlay" ]; - ExecStart = "${cfg.package}/bin/rke2 '${cfg.role}' ${lib.escapeShellArgs ( - (lib.optional (cfg.configPath != "/etc/rancher/rke2/config.yaml") "--config=${cfg.configPath}") - ++ (lib.optional cfg.debug "--debug") - ++ (lib.optional (cfg.dataDir != "/var/lib/rancher/rke2") "--data-dir=${cfg.dataDir}") - ++ (lib.optional (cfg.token != "") "--token=${cfg.token}") - ++ (lib.optional (cfg.tokenFile != null) "--token-file=${cfg.tokenFile}") - ++ (lib.optionals (cfg.role == "server" && cfg.disable != [ ]) (map (d: "--disable=${d}") cfg.disable)) - ++ (lib.optional (cfg.nodeName != null) "--node-name=${cfg.nodeName}") - ++ (lib.optionals (cfg.nodeLabel != [ ]) (map (l: "--node-label=${l}") cfg.nodeLabel)) - ++ (lib.optionals (cfg.nodeTaint != [ ]) (map (t: "--node-taint=${t}") cfg.nodeTaint)) - ++ (lib.optional (cfg.nodeIP != null) "--node-ip=${cfg.nodeIP}") - ++ (lib.optional (cfg.role == "server" && cfg.agentToken != "") "--agent-token=${cfg.agentToken}") - ++ (lib.optional (cfg.role == "server" && cfg.agentTokenFile != null) "--agent-token-file=${cfg.agentTokenFile}") - ++ (lib.optional (cfg.serverAddr != "") "--server=${cfg.serverAddr}") - ++ (lib.optional cfg.selinux "--selinux") - ++ (lib.optional (cfg.role == "server" && cfg.cni != "canal") "--cni=${cfg.cni}") - ++ (lib.optional cfg.cisHardening "--profile=${if cfg.package.version >= "1.25" then "cis-1.23" else "cis-1.6"}") - ++ cfg.extraFlags - )}"; - ExecStopPost = let - killProcess = pkgs.writeScript "kill-process.sh" '' - #! ${pkgs.runtimeShell} - /run/current-system/systemd/bin/systemd-cgls /system.slice/$1 | \ - ${pkgs.gnugrep}/bin/grep -Eo '[0-9]+ (containerd|kubelet)' | \ - ${pkgs.gawk}/bin/awk '{print $1}' | \ - ${pkgs.findutils}/bin/xargs -r ${pkgs.util-linux}/bin/kill - ''; - in "-${killProcess} %n"; + ExecStart = "${cfg.package}/bin/rke2 '${cfg.role}' ${ + lib.escapeShellArgs ( + (lib.optional (cfg.configPath != "/etc/rancher/rke2/config.yaml") "--config=${cfg.configPath}") + ++ (lib.optional cfg.debug "--debug") + ++ (lib.optional (cfg.dataDir != "/var/lib/rancher/rke2") "--data-dir=${cfg.dataDir}") + ++ (lib.optional (cfg.token != "") "--token=${cfg.token}") + ++ (lib.optional (cfg.tokenFile != null) "--token-file=${cfg.tokenFile}") + ++ (lib.optionals (cfg.role == "server" && cfg.disable != [ ]) ( + map (d: "--disable=${d}") cfg.disable + )) + ++ (lib.optional (cfg.nodeName != null) "--node-name=${cfg.nodeName}") + ++ (lib.optionals (cfg.nodeLabel != [ ]) (map (l: "--node-label=${l}") cfg.nodeLabel)) + ++ (lib.optionals (cfg.nodeTaint != [ ]) (map (t: "--node-taint=${t}") cfg.nodeTaint)) + ++ (lib.optional (cfg.nodeIP != null) "--node-ip=${cfg.nodeIP}") + ++ (lib.optional (cfg.role == "server" && cfg.agentToken != "") "--agent-token=${cfg.agentToken}") + ++ (lib.optional ( + cfg.role == "server" && cfg.agentTokenFile != null + ) "--agent-token-file=${cfg.agentTokenFile}") + ++ (lib.optional (cfg.serverAddr != "") "--server=${cfg.serverAddr}") + ++ (lib.optional cfg.selinux "--selinux") + ++ (lib.optional (cfg.role == "server" && cfg.cni != "canal") "--cni=${cfg.cni}") + ++ (lib.optional cfg.cisHardening "--profile=${ + if cfg.package.version >= "1.25" then "cis-1.23" else "cis-1.6" + }") + ++ cfg.extraFlags + ) + }"; + ExecStopPost = + let + killProcess = pkgs.writeScript "kill-process.sh" '' + #! ${pkgs.runtimeShell} + /run/current-system/systemd/bin/systemd-cgls /system.slice/$1 | \ + ${pkgs.gnugrep}/bin/grep -Eo '[0-9]+ (containerd|kubelet)' | \ + ${pkgs.gawk}/bin/awk '{print $1}' | \ + ${pkgs.findutils}/bin/xargs -r ${pkgs.util-linux}/bin/kill + ''; + in + "-${killProcess} %n"; }; }; }; diff --git a/nixos/modules/services/cluster/spark/default.nix b/nixos/modules/services/cluster/spark/default.nix index c4ebd34243928..ffec1512d42ba 100644 --- a/nixos/modules/services/cluster/spark/default.nix +++ b/nixos/modules/services/cluster/spark/default.nix @@ -1,4 +1,9 @@ -{config, pkgs, lib, ...}: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.spark; in @@ -13,7 +18,7 @@ in default = "127.0.0.1"; example = "0.0.0.0"; }; - restartIfChanged = lib.mkOption { + restartIfChanged = lib.mkOption { type = lib.types.bool; description = '' Automatically restart master service on config change. @@ -26,7 +31,7 @@ in extraEnvironment = lib.mkOption { type = lib.types.attrsOf lib.types.str; description = "Extra environment variables to pass to spark master. See spark-standalone documentation."; - default = {}; + default = { }; example = { SPARK_MASTER_WEBUI_PORT = 8181; SPARK_MASTER_OPTS = "-Dspark.deploy.defaultCores=5"; @@ -45,7 +50,7 @@ in description = "Address of the spark master."; default = "127.0.0.1:7077"; }; - restartIfChanged = lib.mkOption { + restartIfChanged = lib.mkOption { type = lib.types.bool; description = '' Automatically restart worker service on config change. @@ -58,7 +63,7 @@ in extraEnvironment = lib.mkOption { type = lib.types.attrsOf lib.types.str; description = "Extra environment variables to pass to spark worker."; - default = {}; + default = { }; example = { SPARK_WORKER_CORES = 5; SPARK_WORKER_MEMORY = "2g"; @@ -96,7 +101,11 @@ in systemd = { services = { spark-master = lib.mkIf cfg.master.enable { - path = with pkgs; [ procps openssh nettools ]; + path = with pkgs; [ + procps + openssh + nettools + ]; description = "spark master service."; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; @@ -112,14 +121,19 @@ in Group = "spark"; WorkingDirectory = "${cfg.package}/"; ExecStart = "${cfg.package}/sbin/start-master.sh"; - ExecStop = "${cfg.package}/sbin/stop-master.sh"; + ExecStop = "${cfg.package}/sbin/stop-master.sh"; TimeoutSec = 300; - StartLimitBurst=10; + StartLimitBurst = 10; Restart = "always"; }; }; spark-worker = lib.mkIf cfg.worker.enable { - path = with pkgs; [ procps openssh nettools rsync ]; + path = with pkgs; [ + procps + openssh + nettools + rsync + ]; description = "spark master service."; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; @@ -135,9 +149,9 @@ in User = "spark"; WorkingDirectory = "${cfg.package}/"; ExecStart = "${cfg.package}/sbin/start-worker.sh spark://${cfg.worker.master}"; - ExecStop = "${cfg.package}/sbin/stop-worker.sh"; + ExecStop = "${cfg.package}/sbin/stop-worker.sh"; TimeoutSec = 300; - StartLimitBurst=10; + StartLimitBurst = 10; Restart = "always"; }; }; diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix index 9f01a00aad6d4..e7e13160989be 100644 --- a/nixos/modules/services/computing/boinc/client.nix +++ b/nixos/modules/services/computing/boinc/client.nix @@ -1,4 +1,9 @@ -{config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.boinc; allowRemoteGuiRpcFlag = lib.optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc"; @@ -11,100 +16,100 @@ let fhsEnvExecutable = "${fhsEnv}/bin/${fhsEnv.name}"; in - { - options.services.boinc = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to enable the BOINC distributed computing client. If this - option is set to true, the boinc_client daemon will be run as a - background service. The boinccmd command can be used to control the - daemon. - ''; - }; +{ + options.services.boinc = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to enable the BOINC distributed computing client. If this + option is set to true, the boinc_client daemon will be run as a + background service. The boinccmd command can be used to control the + daemon. + ''; + }; - package = lib.mkPackageOption pkgs "boinc" { - example = "boinc-headless"; - }; + package = lib.mkPackageOption pkgs "boinc" { + example = "boinc-headless"; + }; - dataDir = lib.mkOption { - type = lib.types.path; - default = "/var/lib/boinc"; - description = '' - The directory in which to store BOINC's configuration and data files. - ''; - }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/boinc"; + description = '' + The directory in which to store BOINC's configuration and data files. + ''; + }; - allowRemoteGuiRpc = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - If set to true, any remote host can connect to and control this BOINC - client (subject to password authentication). If instead set to false, - only the hosts listed in {var}`dataDir`/remote_hosts.cfg will be allowed to - connect. + allowRemoteGuiRpc = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + If set to true, any remote host can connect to and control this BOINC + client (subject to password authentication). If instead set to false, + only the hosts listed in {var}`dataDir`/remote_hosts.cfg will be allowed to + connect. - See also: - ''; - }; + See also: + ''; + }; - extraEnvPackages = lib.mkOption { - type = lib.types.listOf lib.types.package; - default = []; - example = lib.literalExpression "[ pkgs.virtualbox ]"; - description = '' - Additional packages to make available in the environment in which - BOINC will run. Common choices are: + extraEnvPackages = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = [ ]; + example = lib.literalExpression "[ pkgs.virtualbox ]"; + description = '' + Additional packages to make available in the environment in which + BOINC will run. Common choices are: - - {var}`pkgs.virtualbox`: - The VirtualBox virtual machine framework. Required by some BOINC - projects, such as ATLAS@home. - - {var}`pkgs.ocl-icd`: - OpenCL infrastructure library. Required by BOINC projects that - use OpenCL, in addition to a device-specific OpenCL driver. - - {var}`pkgs.linuxPackages.nvidia_x11`: - Provides CUDA libraries. Required by BOINC projects that use - CUDA. Note that this requires an NVIDIA graphics device to be - present on the system. + - {var}`pkgs.virtualbox`: + The VirtualBox virtual machine framework. Required by some BOINC + projects, such as ATLAS@home. + - {var}`pkgs.ocl-icd`: + OpenCL infrastructure library. Required by BOINC projects that + use OpenCL, in addition to a device-specific OpenCL driver. + - {var}`pkgs.linuxPackages.nvidia_x11`: + Provides CUDA libraries. Required by BOINC projects that use + CUDA. Note that this requires an NVIDIA graphics device to be + present on the system. - Also provides OpenCL drivers for NVIDIA GPUs; - {var}`pkgs.ocl-icd` is also needed in this case. - ''; - }; + Also provides OpenCL drivers for NVIDIA GPUs; + {var}`pkgs.ocl-icd` is also needed in this case. + ''; }; + }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [cfg.package]; + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; - users.users.boinc = { - group = "boinc"; - createHome = false; - description = "BOINC Client"; - home = cfg.dataDir; - isSystemUser = true; - }; - users.groups.boinc = {}; + users.users.boinc = { + group = "boinc"; + createHome = false; + description = "BOINC Client"; + home = cfg.dataDir; + isSystemUser = true; + }; + users.groups.boinc = { }; - systemd.tmpfiles.rules = [ - "d '${cfg.dataDir}' - boinc boinc - -" - ]; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - boinc boinc - -" + ]; - systemd.services.boinc = { - description = "BOINC Client"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - script = '' - exec ${fhsEnvExecutable} --dir ${cfg.dataDir} ${allowRemoteGuiRpcFlag} - ''; - serviceConfig = { - User = "boinc"; - Nice = 10; - }; + systemd.services.boinc = { + description = "BOINC Client"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = '' + exec ${fhsEnvExecutable} --dir ${cfg.dataDir} ${allowRemoteGuiRpcFlag} + ''; + serviceConfig = { + User = "boinc"; + Nice = 10; }; }; + }; - meta = { - maintainers = with lib.maintainers; [ ]; - }; - } + meta = { + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/nixos/modules/services/computing/foldingathome/client.nix b/nixos/modules/services/computing/foldingathome/client.nix index 71fc58669d33b..b1a60416215e7 100644 --- a/nixos/modules/services/computing/foldingathome/client.nix +++ b/nixos/modules/services/computing/foldingathome/client.nix @@ -1,17 +1,30 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.foldingathome; args = - ["--team" "${toString cfg.team}"] - ++ lib.optionals (cfg.user != null) ["--user" cfg.user] - ++ cfg.extraArgs - ; + [ + "--team" + "${toString cfg.team}" + ] + ++ lib.optionals (cfg.user != null) [ + "--user" + cfg.user + ] + ++ cfg.extraArgs; in { imports = [ (lib.mkRenamedOptionModule [ "services" "foldingAtHome" ] [ "services" "foldingathome" ]) - (lib.mkRenamedOptionModule [ "services" "foldingathome" "nickname" ] [ "services" "foldingathome" "user" ]) + (lib.mkRenamedOptionModule + [ "services" "foldingathome" "nickname" ] + [ "services" "foldingathome" "user" ] + ) (lib.mkRemovedOptionModule [ "services" "foldingathome" "config" ] '' Use services.foldingathome.extraArgs instead '') @@ -52,7 +65,7 @@ in extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Extra startup options for the FAHClient. Run `fah-client --help` to find all the available options. diff --git a/nixos/modules/services/computing/torque/mom.nix b/nixos/modules/services/computing/torque/mom.nix index 8bc5fc134fcba..78fa3bf304013 100644 --- a/nixos/modules/services/computing/torque/mom.nix +++ b/nixos/modules/services/computing/torque/mom.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.torque.mom; @@ -29,7 +34,12 @@ in environment.systemPackages = [ pkgs.torque ]; systemd.services.torque-mom-init = { - path = with pkgs; [ torque util-linux procps inetutils ]; + path = with pkgs; [ + torque + util-linux + procps + inetutils + ]; script = '' pbs_mkdirs -v aux @@ -47,7 +57,10 @@ in wantedBy = [ "multi-user.target" ]; requires = [ "torque-mom-init.service" ]; - after = [ "torque-mom-init.service" "network.target" ]; + after = [ + "torque-mom-init.service" + "network.target" + ]; serviceConfig = { Type = "forking"; diff --git a/nixos/modules/services/computing/torque/server.nix b/nixos/modules/services/computing/torque/server.nix index 27be2c65b7e0f..81d09a055a43c 100644 --- a/nixos/modules/services/computing/torque/server.nix +++ b/nixos/modules/services/computing/torque/server.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.torque.server; torque = pkgs.torque; @@ -18,7 +23,12 @@ in environment.systemPackages = [ pkgs.torque ]; systemd.services.torque-server-init = { - path = with pkgs; [ torque util-linux procps inetutils ]; + path = with pkgs; [ + torque + util-linux + procps + inetutils + ]; script = '' tmpsetup=$(mktemp -t torque-XXXX) @@ -63,10 +73,16 @@ in path = [ torque ]; wantedBy = [ "multi-user.target" ]; - wants = [ "torque-scheduler.service" "trqauthd.service" ]; + wants = [ + "torque-scheduler.service" + "trqauthd.service" + ]; before = [ "trqauthd.service" ]; requires = [ "torque-server-init.service" ]; - after = [ "torque-server-init.service" "network.target" ]; + after = [ + "torque-server-init.service" + "network.target" + ]; serviceConfig = { Type = "forking"; diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 617d584503262..398a1c09973e6 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -1,5 +1,11 @@ # NixOS module for Buildbot continuous integration server. -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.buildbot-master; opt = options.services.buildbot-master; @@ -54,14 +60,15 @@ let m.setServiceParent(application) ''; -in { +in +{ options = { services.buildbot-master = { factorySteps = lib.mkOption { type = lib.types.listOf lib.types.str; description = "Factory Steps"; - default = []; + default = [ ]; example = [ "steps.Git(repourl='https://github.com/buildbot/pyflakes.git', mode='incremental')" "steps.ShellCommand(command=['trial', 'pyflakes'])" @@ -71,7 +78,7 @@ in { changeSource = lib.mkOption { type = lib.types.listOf lib.types.str; description = "List of Change Sources."; - default = []; + default = [ ]; example = [ "changes.GitPoller('https://github.com/buildbot/pyflakes.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)" ]; @@ -80,7 +87,7 @@ in { configurators = lib.mkOption { type = lib.types.listOf lib.types.str; description = "Configurator Steps, see https://docs.buildbot.net/latest/manual/configuration/configurators.html"; - default = []; + default = [ ]; example = [ "util.JanitorConfigurator(logHorizon=timedelta(weeks=4), hour=12, dayOfWeek=6)" ]; @@ -137,7 +144,7 @@ in { }; reporters = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; description = "List of reporter objects used to present build status to various users."; }; @@ -156,7 +163,7 @@ in { extraGroups = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "List of extra groups that the buildbot user should be a part of."; }; @@ -266,7 +273,9 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages ++ cfg.pythonPackages python.pkgs; - environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ package ])}/${python.sitePackages}"; + environment.PYTHONPATH = "${ + python.withPackages (self: cfg.pythonPackages self ++ [ package ]) + }/${python.sitePackages}"; preStart = '' mkdir -vp "${cfg.buildbotDir}" @@ -294,7 +303,10 @@ in { }; imports = [ - (lib.mkRenamedOptionModule [ "services" "buildbot-master" "bpPort" ] [ "services" "buildbot-master" "pbPort" ]) + (lib.mkRenamedOptionModule + [ "services" "buildbot-master" "bpPort" ] + [ "services" "buildbot-master" "pbPort" ] + ) (lib.mkRemovedOptionModule [ "services" "buildbot-master" "status" ] '' Since Buildbot 0.9.0, status targets are deprecated and ignored. Review your configuration and migrate to reporters (available at services.buildbot-master.reporters). diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index 62b38d2829aa4..b1e1e7e254b5d 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -1,5 +1,11 @@ # NixOS module for Buildbot Worker. -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.buildbot-worker; opt = options.services.buildbot-worker; @@ -39,7 +45,8 @@ let s.setServiceParent(application) ''; -in { +in +{ options = { services.buildbot-worker = { @@ -63,7 +70,7 @@ in { extraGroups = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "List of extra groups that the Buildbot Worker user should be a part of."; }; @@ -136,7 +143,9 @@ in { }; config = lib.mkIf cfg.enable { - services.buildbot-worker.workerPassFile = lib.mkDefault (pkgs.writeText "buildbot-worker-password" cfg.workerPass); + services.buildbot-worker.workerPassFile = lib.mkDefault ( + pkgs.writeText "buildbot-worker-password" cfg.workerPass + ); users.groups = lib.optionalAttrs (cfg.group == "bbworker") { bbworker = { }; @@ -156,7 +165,10 @@ in { systemd.services.buildbot-worker = { description = "Buildbot Worker."; - after = [ "network.target" "buildbot-master.service" ]; + after = [ + "network.target" + "buildbot-master.service" + ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages; environment.PYTHONPATH = "${python.withPackages (p: [ package ])}/${python.sitePackages}"; diff --git a/nixos/modules/services/continuous-integration/gitea-actions-runner.nix b/nixos/modules/services/continuous-integration/gitea-actions-runner.nix index 30be56f8eeabe..b4bb4d6879200 100644 --- a/nixos/modules/services/continuous-integration/gitea-actions-runner.nix +++ b/nixos/modules/services/continuous-integration/gitea-actions-runner.nix @@ -1,8 +1,9 @@ -{ config -, lib -, pkgs -, utils -, ... +{ + config, + lib, + pkgs, + utils, + ... }: let @@ -23,11 +24,11 @@ let mkIf nameValuePair types - ; + ; inherit (utils) escapeSystemdPath - ; + ; cfg = config.services.gitea-actions-runner; @@ -36,8 +37,8 @@ let # Check whether any runner instance label requires a container runtime # Empty label strings result in the upstream defined defaultLabels, which require docker # https://gitea.com/gitea/act_runner/src/tag/v0.1.5/internal/app/cmd/register.go#L93-L98 - hasDockerScheme = instance: - instance.labels == [] || any (label: hasInfix ":docker:" label) instance.labels; + hasDockerScheme = + instance: instance.labels == [ ] || any (label: hasInfix ":docker:" label) instance.labels; wantsContainerRuntime = any hasDockerScheme (attrValues cfg.instances); hasHostScheme = instance: any (label: hasSuffix ":host" label) instance.labels; @@ -46,9 +47,10 @@ let hasDocker = config.virtualisation.docker.enable; hasPodman = config.virtualisation.podman.enable; - tokenXorTokenFile = instance: - (instance.token == null && instance.tokenFile != null) || - (instance.token != null && instance.tokenFile == null); + tokenXorTokenFile = + instance: + (instance.token == null && instance.tokenFile != null) + || (instance.token != null && instance.tokenFile == null); in { meta.maintainers = with lib.maintainers; [ @@ -59,7 +61,7 @@ in package = mkPackageOption pkgs "gitea-actions-runner" { }; instances = mkOption { - default = {}; + default = { }; description = '' Gitea Actions Runner instances. ''; @@ -168,94 +170,116 @@ in }; }; - config = mkIf (cfg.instances != {}) { - assertions = [ { - assertion = any tokenXorTokenFile (attrValues cfg.instances); - message = "Instances of gitea-actions-runner can have `token` or `tokenFile`, not both."; - } { - assertion = wantsContainerRuntime -> hasDocker || hasPodman; - message = "Label configuration on gitea-actions-runner instance requires either docker or podman."; - } ]; + config = mkIf (cfg.instances != { }) { + assertions = [ + { + assertion = any tokenXorTokenFile (attrValues cfg.instances); + message = "Instances of gitea-actions-runner can have `token` or `tokenFile`, not both."; + } + { + assertion = wantsContainerRuntime -> hasDocker || hasPodman; + message = "Label configuration on gitea-actions-runner instance requires either docker or podman."; + } + ]; - systemd.services = let - mkRunnerService = name: instance: let - wantsContainerRuntime = hasDockerScheme instance; - wantsHost = hasHostScheme instance; - wantsDocker = wantsContainerRuntime && config.virtualisation.docker.enable; - wantsPodman = wantsContainerRuntime && config.virtualisation.podman.enable; - configFile = settingsFormat.generate "config.yaml" instance.settings; - in - nameValuePair "gitea-runner-${escapeSystemdPath name}" { - inherit (instance) enable; - description = "Gitea Actions Runner"; - wants = [ "network-online.target" ]; - after = [ - "network-online.target" - ] ++ optionals (wantsDocker) [ - "docker.service" - ] ++ optionals (wantsPodman) [ - "podman.service" - ]; - wantedBy = [ - "multi-user.target" - ]; - environment = optionalAttrs (instance.token != null) { - TOKEN = "${instance.token}"; - } // optionalAttrs (wantsPodman) { - DOCKER_HOST = "unix:///run/podman/podman.sock"; - } // { - HOME = "/var/lib/gitea-runner/${name}"; - }; - path = with pkgs; [ - coreutils - ] ++ lib.optionals wantsHost instance.hostPackages; - serviceConfig = { - DynamicUser = true; - User = "gitea-runner"; - StateDirectory = "gitea-runner"; - WorkingDirectory = "-/var/lib/gitea-runner/${name}"; + systemd.services = + let + mkRunnerService = + name: instance: + let + wantsContainerRuntime = hasDockerScheme instance; + wantsHost = hasHostScheme instance; + wantsDocker = wantsContainerRuntime && config.virtualisation.docker.enable; + wantsPodman = wantsContainerRuntime && config.virtualisation.podman.enable; + configFile = settingsFormat.generate "config.yaml" instance.settings; + in + nameValuePair "gitea-runner-${escapeSystemdPath name}" { + inherit (instance) enable; + description = "Gitea Actions Runner"; + wants = [ "network-online.target" ]; + after = + [ + "network-online.target" + ] + ++ optionals (wantsDocker) [ + "docker.service" + ] + ++ optionals (wantsPodman) [ + "podman.service" + ]; + wantedBy = [ + "multi-user.target" + ]; + environment = + optionalAttrs (instance.token != null) { + TOKEN = "${instance.token}"; + } + // optionalAttrs (wantsPodman) { + DOCKER_HOST = "unix:///run/podman/podman.sock"; + } + // { + HOME = "/var/lib/gitea-runner/${name}"; + }; + path = + with pkgs; + [ + coreutils + ] + ++ lib.optionals wantsHost instance.hostPackages; + serviceConfig = + { + DynamicUser = true; + User = "gitea-runner"; + StateDirectory = "gitea-runner"; + WorkingDirectory = "-/var/lib/gitea-runner/${name}"; - # gitea-runner might fail when gitea is restarted during upgrade. - Restart = "on-failure"; - RestartSec = 2; + # gitea-runner might fail when gitea is restarted during upgrade. + Restart = "on-failure"; + RestartSec = 2; - ExecStartPre = [(pkgs.writeShellScript "gitea-register-runner-${name}" '' - export INSTANCE_DIR="$STATE_DIRECTORY/${name}" - mkdir -vp "$INSTANCE_DIR" - cd "$INSTANCE_DIR" + ExecStartPre = [ + (pkgs.writeShellScript "gitea-register-runner-${name}" '' + export INSTANCE_DIR="$STATE_DIRECTORY/${name}" + mkdir -vp "$INSTANCE_DIR" + cd "$INSTANCE_DIR" - # force reregistration on changed labels - export LABELS_FILE="$INSTANCE_DIR/.labels" - export LABELS_WANTED="$(echo ${escapeShellArg (concatStringsSep "\n" instance.labels)} | sort)" - export LABELS_CURRENT="$(cat $LABELS_FILE 2>/dev/null || echo 0)" + # force reregistration on changed labels + export LABELS_FILE="$INSTANCE_DIR/.labels" + export LABELS_WANTED="$(echo ${escapeShellArg (concatStringsSep "\n" instance.labels)} | sort)" + export LABELS_CURRENT="$(cat $LABELS_FILE 2>/dev/null || echo 0)" - if [ ! -e "$INSTANCE_DIR/.runner" ] || [ "$LABELS_WANTED" != "$LABELS_CURRENT" ]; then - # remove existing registration file, so that changing the labels forces a re-registration - rm -v "$INSTANCE_DIR/.runner" || true + if [ ! -e "$INSTANCE_DIR/.runner" ] || [ "$LABELS_WANTED" != "$LABELS_CURRENT" ]; then + # remove existing registration file, so that changing the labels forces a re-registration + rm -v "$INSTANCE_DIR/.runner" || true - # perform the registration - ${cfg.package}/bin/act_runner register --no-interactive \ - --instance ${escapeShellArg instance.url} \ - --token "$TOKEN" \ - --name ${escapeShellArg instance.name} \ - --labels ${escapeShellArg (concatStringsSep "," instance.labels)} \ - --config ${configFile} + # perform the registration + ${cfg.package}/bin/act_runner register --no-interactive \ + --instance ${escapeShellArg instance.url} \ + --token "$TOKEN" \ + --name ${escapeShellArg instance.name} \ + --labels ${escapeShellArg (concatStringsSep "," instance.labels)} \ + --config ${configFile} - # and write back the configured labels - echo "$LABELS_WANTED" > "$LABELS_FILE" - fi + # and write back the configured labels + echo "$LABELS_WANTED" > "$LABELS_FILE" + fi - '')]; - ExecStart = "${cfg.package}/bin/act_runner daemon --config ${configFile}"; - SupplementaryGroups = optionals (wantsDocker) [ - "docker" - ] ++ optionals (wantsPodman) [ - "podman" - ]; - } // optionalAttrs (instance.tokenFile != null) { - EnvironmentFile = instance.tokenFile; + '') + ]; + ExecStart = "${cfg.package}/bin/act_runner daemon --config ${configFile}"; + SupplementaryGroups = + optionals (wantsDocker) [ + "docker" + ] + ++ optionals (wantsPodman) [ + "podman" + ]; + } + // optionalAttrs (instance.tokenFile != null) { + EnvironmentFile = instance.tokenFile; + }; }; - }; - in mapAttrs' mkRunnerService cfg.instances; + in + mapAttrs' mkRunnerService cfg.instances; }; } diff --git a/nixos/modules/services/continuous-integration/github-runner/options.nix b/nixos/modules/services/continuous-integration/github-runner/options.nix index db8bba499de70..e20e8c5931fb6 100644 --- a/nixos/modules/services/continuous-integration/github-runner/options.nix +++ b/nixos/modules/services/continuous-integration/github-runner/options.nix @@ -1,6 +1,7 @@ -{ lib -, pkgs -, ... +{ + lib, + pkgs, + ... }: { options.services.github-runners = lib.mkOption { @@ -23,242 +24,247 @@ }; }; default = { }; - type = lib.types.attrsOf (lib.types.submodule ({ name, ... }: { - options = { - enable = lib.mkOption { - default = false; - example = true; - description = '' - Whether to enable GitHub Actions runner. - - Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here: - [About self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners). - ''; - type = lib.types.bool; - }; - - url = lib.mkOption { - type = lib.types.str; - description = '' - Repository to add the runner to. - - Changing this option triggers a new runner registration. - - IMPORTANT: If your token is org-wide (not per repository), you need to - provide a github org link, not a single repository, so do it like this - `https://github.com/nixos`, not like this - `https://github.com/nixos/nixpkgs`. - Otherwise, you are going to get a `404 NotFound` - from `POST https://api.github.com/actions/runner-registration` - in the configure script. - ''; - example = "https://github.com/nixos/nixpkgs"; - }; - - tokenFile = lib.mkOption { - type = lib.types.path; - description = '' - The full path to a file which contains either - - * a fine-grained personal access token (PAT), - * a classic PAT - * or a runner registration token - - Changing this option or the `tokenFile`’s content triggers a new runner registration. - - We suggest using the fine-grained PATs. A runner registration token is valid - only for 1 hour after creation, so the next time the runner configuration changes - this will give you hard-to-debug HTTP 404 errors in the configure step. - - The file should contain exactly one line with the token without any newline. - (Use `echo -n '…token…' > …token file…` to make sure no newlines sneak in.) - - If the file contains a PAT, the service creates a new registration token - on startup as needed. - If a registration token is given, it can be used to re-register a runner of the same - name but is time-limited as noted above. - - For fine-grained PATs: - - Give it "Read and Write access to organization/repository self hosted runners", - depending on whether it is organization wide or per-repository. You might have to - experiment a little, fine-grained PATs are a `beta` Github feature and still subject - to change; nonetheless they are the best option at the moment. - - For classic PATs: - - Make sure the PAT has a scope of `admin:org` for organization-wide registrations - or a scope of `repo` for a single repository. - - For runner registration tokens: - - Nothing special needs to be done, but updating will break after one hour, - so these are not recommended. - ''; - example = "/run/secrets/github-runner/nixos.token"; - }; - - name = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Name of the runner to configure. If null, defaults to the hostname. - - Changing this option triggers a new runner registration. - ''; - example = "nixos"; - default = name; - }; - - runnerGroup = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Name of the runner group to add this runner to (defaults to the default runner group). - - Changing this option triggers a new runner registration. - ''; - default = null; - }; - - extraLabels = lib.mkOption { - type = lib.types.listOf lib.types.str; - description = '' - Extra labels in addition to the default (unless disabled through the `noDefaultLabels` option). - - Changing this option triggers a new runner registration. - ''; - example = lib.literalExpression ''[ "nixos" ]''; - default = [ ]; - }; - - noDefaultLabels = lib.mkOption { - type = lib.types.bool; - description = '' - Disables adding the default labels. Also see the `extraLabels` option. - - Changing this option triggers a new runner registration. - ''; - default = false; - }; - - replace = lib.mkOption { - type = lib.types.bool; - description = '' - Replace any existing runner with the same name. - - Without this flag, registering a new runner with the same name fails. - ''; - default = false; - }; - - extraPackages = lib.mkOption { - type = lib.types.listOf lib.types.package; - description = '' - Extra packages to add to `PATH` of the service to make them available to workflows. - ''; - default = [ ]; - }; - - extraEnvironment = lib.mkOption { - type = lib.types.attrs; - description = '' - Extra environment variables to set for the runner, as an attrset. - ''; - example = { - GIT_CONFIG = "/path/to/git/config"; - }; - default = { }; - }; - - serviceOverrides = lib.mkOption { - type = lib.types.attrs; - description = '' - Modify the systemd service. Can be used to, e.g., adjust the sandboxing options. - See {manpage}`systemd.exec(5)` for more options. - ''; - example = { - ProtectHome = false; - RestrictAddressFamilies = [ "AF_PACKET" ]; + type = lib.types.attrsOf ( + lib.types.submodule ( + { name, ... }: + { + options = { + enable = lib.mkOption { + default = false; + example = true; + description = '' + Whether to enable GitHub Actions runner. + + Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here: + [About self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners). + ''; + type = lib.types.bool; + }; + + url = lib.mkOption { + type = lib.types.str; + description = '' + Repository to add the runner to. + + Changing this option triggers a new runner registration. + + IMPORTANT: If your token is org-wide (not per repository), you need to + provide a github org link, not a single repository, so do it like this + `https://github.com/nixos`, not like this + `https://github.com/nixos/nixpkgs`. + Otherwise, you are going to get a `404 NotFound` + from `POST https://api.github.com/actions/runner-registration` + in the configure script. + ''; + example = "https://github.com/nixos/nixpkgs"; + }; + + tokenFile = lib.mkOption { + type = lib.types.path; + description = '' + The full path to a file which contains either + + * a fine-grained personal access token (PAT), + * a classic PAT + * or a runner registration token + + Changing this option or the `tokenFile`’s content triggers a new runner registration. + + We suggest using the fine-grained PATs. A runner registration token is valid + only for 1 hour after creation, so the next time the runner configuration changes + this will give you hard-to-debug HTTP 404 errors in the configure step. + + The file should contain exactly one line with the token without any newline. + (Use `echo -n '…token…' > …token file…` to make sure no newlines sneak in.) + + If the file contains a PAT, the service creates a new registration token + on startup as needed. + If a registration token is given, it can be used to re-register a runner of the same + name but is time-limited as noted above. + + For fine-grained PATs: + + Give it "Read and Write access to organization/repository self hosted runners", + depending on whether it is organization wide or per-repository. You might have to + experiment a little, fine-grained PATs are a `beta` Github feature and still subject + to change; nonetheless they are the best option at the moment. + + For classic PATs: + + Make sure the PAT has a scope of `admin:org` for organization-wide registrations + or a scope of `repo` for a single repository. + + For runner registration tokens: + + Nothing special needs to be done, but updating will break after one hour, + so these are not recommended. + ''; + example = "/run/secrets/github-runner/nixos.token"; + }; + + name = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Name of the runner to configure. If null, defaults to the hostname. + + Changing this option triggers a new runner registration. + ''; + example = "nixos"; + default = name; + }; + + runnerGroup = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Name of the runner group to add this runner to (defaults to the default runner group). + + Changing this option triggers a new runner registration. + ''; + default = null; + }; + + extraLabels = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = '' + Extra labels in addition to the default (unless disabled through the `noDefaultLabels` option). + + Changing this option triggers a new runner registration. + ''; + example = lib.literalExpression ''[ "nixos" ]''; + default = [ ]; + }; + + noDefaultLabels = lib.mkOption { + type = lib.types.bool; + description = '' + Disables adding the default labels. Also see the `extraLabels` option. + + Changing this option triggers a new runner registration. + ''; + default = false; + }; + + replace = lib.mkOption { + type = lib.types.bool; + description = '' + Replace any existing runner with the same name. + + Without this flag, registering a new runner with the same name fails. + ''; + default = false; + }; + + extraPackages = lib.mkOption { + type = lib.types.listOf lib.types.package; + description = '' + Extra packages to add to `PATH` of the service to make them available to workflows. + ''; + default = [ ]; + }; + + extraEnvironment = lib.mkOption { + type = lib.types.attrs; + description = '' + Extra environment variables to set for the runner, as an attrset. + ''; + example = { + GIT_CONFIG = "/path/to/git/config"; + }; + default = { }; + }; + + serviceOverrides = lib.mkOption { + type = lib.types.attrs; + description = '' + Modify the systemd service. Can be used to, e.g., adjust the sandboxing options. + See {manpage}`systemd.exec(5)` for more options. + ''; + example = { + ProtectHome = false; + RestrictAddressFamilies = [ "AF_PACKET" ]; + }; + default = { }; + }; + + package = lib.mkPackageOption pkgs "github-runner" { }; + + ephemeral = lib.mkOption { + type = lib.types.bool; + description = '' + If enabled, causes the following behavior: + + - Passes the `--ephemeral` flag to the runner configuration script + - De-registers and stops the runner with GitHub after it has processed one job + - On stop, systemd wipes the runtime directory (this always happens, even without using the ephemeral option) + - Restarts the service after its successful exit + - On start, wipes the state directory and configures a new runner + + You should only enable this option if `tokenFile` points to a file which contains a + personal access token (PAT). If you're using the option with a registration token, restarting the + service will fail as soon as the registration token expired. + + Changing this option triggers a new runner registration. + ''; + default = false; + }; + + user = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + User under which to run the service. + + If this option and the `group` option is set to `null`, + the service runs as a dynamically allocated user. + + Also see the `group` option for an overview on the effects of the `user` and `group` settings. + ''; + default = null; + defaultText = lib.literalExpression "username"; + }; + + group = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = '' + Group under which to run the service. + + The effect of this option depends on the value of the `user` option: + + - `group == null` and `user == null`: + The service runs with a dynamically allocated user and group. + - `group == null` and `user != null`: + The service runs as the given user and its default group. + - `group != null` and `user == null`: + This configuration is invalid. In this case, the service would use the given group + but run as root implicitly. If this is really what you want, set `user = "root"` explicitly. + ''; + default = null; + defaultText = lib.literalExpression "groupname"; + }; + + workDir = lib.mkOption { + type = with lib.types; nullOr str; + description = '' + Working directory, available as `$GITHUB_WORKSPACE` during workflow runs + and used as a default for [repository checkouts](https://github.com/actions/checkout). + The service cleans this directory on every service start. + + A value of `null` will default to the systemd `RuntimeDirectory`. + + Changing this option triggers a new runner registration. + ''; + default = null; + }; + + nodeRuntimes = lib.mkOption { + type = with lib.types; nonEmptyListOf (enum [ "node20" ]); + default = [ "node20" ]; + description = '' + List of Node.js runtimes the runner should support. + ''; + }; }; - default = { }; - }; - - package = lib.mkPackageOption pkgs "github-runner" { }; - - ephemeral = lib.mkOption { - type = lib.types.bool; - description = '' - If enabled, causes the following behavior: - - - Passes the `--ephemeral` flag to the runner configuration script - - De-registers and stops the runner with GitHub after it has processed one job - - On stop, systemd wipes the runtime directory (this always happens, even without using the ephemeral option) - - Restarts the service after its successful exit - - On start, wipes the state directory and configures a new runner - - You should only enable this option if `tokenFile` points to a file which contains a - personal access token (PAT). If you're using the option with a registration token, restarting the - service will fail as soon as the registration token expired. - - Changing this option triggers a new runner registration. - ''; - default = false; - }; - - user = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - User under which to run the service. - - If this option and the `group` option is set to `null`, - the service runs as a dynamically allocated user. - - Also see the `group` option for an overview on the effects of the `user` and `group` settings. - ''; - default = null; - defaultText = lib.literalExpression "username"; - }; - - group = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = '' - Group under which to run the service. - - The effect of this option depends on the value of the `user` option: - - - `group == null` and `user == null`: - The service runs with a dynamically allocated user and group. - - `group == null` and `user != null`: - The service runs as the given user and its default group. - - `group != null` and `user == null`: - This configuration is invalid. In this case, the service would use the given group - but run as root implicitly. If this is really what you want, set `user = "root"` explicitly. - ''; - default = null; - defaultText = lib.literalExpression "groupname"; - }; - - workDir = lib.mkOption { - type = with lib.types; nullOr str; - description = '' - Working directory, available as `$GITHUB_WORKSPACE` during workflow runs - and used as a default for [repository checkouts](https://github.com/actions/checkout). - The service cleans this directory on every service start. - - A value of `null` will default to the systemd `RuntimeDirectory`. - - Changing this option triggers a new runner registration. - ''; - default = null; - }; - - nodeRuntimes = lib.mkOption { - type = with lib.types; nonEmptyListOf (enum [ "node20" ]); - default = [ "node20" ]; - description = '' - List of Node.js runtimes the runner should support. - ''; - }; - }; - })); + } + ) + ); }; } diff --git a/nixos/modules/services/continuous-integration/github-runner/service.nix b/nixos/modules/services/continuous-integration/github-runner/service.nix index 045ea41aa5f1a..edf93417d2050 100644 --- a/nixos/modules/services/continuous-integration/github-runner/service.nix +++ b/nixos/modules/services/continuous-integration/github-runner/service.nix @@ -1,300 +1,336 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: { config.assertions = lib.flatten ( - lib.flip lib.mapAttrsToList config.services.github-runners (name: cfg: map (lib.mkIf cfg.enable) [ - { - assertion = !cfg.noDefaultLabels || (cfg.extraLabels != [ ]); - message = "`services.github-runners.${name}`: The `extraLabels` option is mandatory if `noDefaultLabels` is set"; - } - { - assertion = cfg.group == null || cfg.user != null; - message = ''`services.github-runners.${name}`: Setting `group` while leaving `user` unset runs the service as `root`. If this is really what you want, set `user = "root"` explicitly''; - } - ]) + lib.flip lib.mapAttrsToList config.services.github-runners ( + name: cfg: + map (lib.mkIf cfg.enable) [ + { + assertion = !cfg.noDefaultLabels || (cfg.extraLabels != [ ]); + message = "`services.github-runners.${name}`: The `extraLabels` option is mandatory if `noDefaultLabels` is set"; + } + { + assertion = cfg.group == null || cfg.user != null; + message = ''`services.github-runners.${name}`: Setting `group` while leaving `user` unset runs the service as `root`. If this is really what you want, set `user = "root"` explicitly''; + } + ] + ) ); config.systemd.services = - let enabledRunners = lib.filterAttrs (_: cfg: cfg.enable) config.services.github-runners; - in (lib.flip lib.mapAttrs' enabledRunners (name: cfg: let - svcName = "github-runner-${name}"; - systemdDir = "github-runner/${name}"; + enabledRunners = lib.filterAttrs (_: cfg: cfg.enable) config.services.github-runners; + in + (lib.flip lib.mapAttrs' enabledRunners ( + name: cfg: + let + svcName = "github-runner-${name}"; + systemdDir = "github-runner/${name}"; - # %t: Runtime directory root (usually /run); see systemd.unit(5) - runtimeDir = "%t/${systemdDir}"; - # %S: State directory root (usually /var/lib); see systemd.unit(5) - stateDir = "%S/${systemdDir}"; - # %L: Log directory root (usually /var/log); see systemd.unit(5) - logsDir = "%L/${systemdDir}"; - # Name of file stored in service state directory - currentConfigTokenFilename = ".current-token"; + # %t: Runtime directory root (usually /run); see systemd.unit(5) + runtimeDir = "%t/${systemdDir}"; + # %S: State directory root (usually /var/lib); see systemd.unit(5) + stateDir = "%S/${systemdDir}"; + # %L: Log directory root (usually /var/log); see systemd.unit(5) + logsDir = "%L/${systemdDir}"; + # Name of file stored in service state directory + currentConfigTokenFilename = ".current-token"; - workDir = if cfg.workDir == null then runtimeDir else cfg.workDir; - # Support old github-runner versions which don't have the `nodeRuntimes` arg yet. - package = cfg.package.override (old: lib.optionalAttrs (lib.hasAttr "nodeRuntimes" old) { inherit (cfg) nodeRuntimes; }); - in - lib.nameValuePair svcName { - description = "GitHub Actions runner"; + workDir = if cfg.workDir == null then runtimeDir else cfg.workDir; + # Support old github-runner versions which don't have the `nodeRuntimes` arg yet. + package = cfg.package.override ( + old: lib.optionalAttrs (lib.hasAttr "nodeRuntimes" old) { inherit (cfg) nodeRuntimes; } + ); + in + lib.nameValuePair svcName { + description = "GitHub Actions runner"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; - environment = { - HOME = workDir; - RUNNER_ROOT = stateDir; - } // cfg.extraEnvironment; + environment = { + HOME = workDir; + RUNNER_ROOT = stateDir; + } // cfg.extraEnvironment; - path = (with pkgs; [ - bashInteractive - coreutils - git - gnutar - gzip - ]) ++ [ - config.nix.package - ] ++ cfg.extraPackages; + path = + (with pkgs; [ + bashInteractive + coreutils + git + gnutar + gzip + ]) + ++ [ + config.nix.package + ] + ++ cfg.extraPackages; - serviceConfig = lib.mkMerge [ - { - ExecStart = "${package}/bin/Runner.Listener run --startuptype service"; + serviceConfig = lib.mkMerge [ + { + ExecStart = "${package}/bin/Runner.Listener run --startuptype service"; - # Does the following, sequentially: - # - If the module configuration or the token has changed, purge the state directory, - # and create the current and the new token file with the contents of the configured - # token. While both files have the same content, only the later is accessible by - # the service user. - # - Configure the runner using the new token file. When finished, delete it. - # - Set up the directory structure by creating the necessary symlinks. - ExecStartPre = - let - # Wrapper script which expects the full path of the state, working and logs - # directory as arguments. Overrides the respective systemd variables to provide - # unambiguous directory names. This becomes relevant, for example, if the - # caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory= - # to contain more than one directory. This causes systemd to set the respective - # environment variables with the path of all of the given directories, separated - # by a colon. - writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" '' - set -euo pipefail + # Does the following, sequentially: + # - If the module configuration or the token has changed, purge the state directory, + # and create the current and the new token file with the contents of the configured + # token. While both files have the same content, only the later is accessible by + # the service user. + # - Configure the runner using the new token file. When finished, delete it. + # - Set up the directory structure by creating the necessary symlinks. + ExecStartPre = + let + # Wrapper script which expects the full path of the state, working and logs + # directory as arguments. Overrides the respective systemd variables to provide + # unambiguous directory names. This becomes relevant, for example, if the + # caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory= + # to contain more than one directory. This causes systemd to set the respective + # environment variables with the path of all of the given directories, separated + # by a colon. + writeScript = + name: lines: + pkgs.writeShellScript "${svcName}-${name}.sh" '' + set -euo pipefail - STATE_DIRECTORY="$1" - WORK_DIRECTORY="$2" - LOGS_DIRECTORY="$3" + STATE_DIRECTORY="$1" + WORK_DIRECTORY="$2" + LOGS_DIRECTORY="$3" - ${lines} - ''; - runnerRegistrationConfig = lib.getAttrs [ - "ephemeral" - "extraLabels" - "name" - "noDefaultLabels" - "runnerGroup" - "tokenFile" - "url" - "workDir" - ] - cfg; - newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig); - currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json"; - newConfigTokenPath = "$STATE_DIRECTORY/.new-token"; - currentConfigTokenPath = "$STATE_DIRECTORY/${currentConfigTokenFilename}"; + ${lines} + ''; + runnerRegistrationConfig = lib.getAttrs [ + "ephemeral" + "extraLabels" + "name" + "noDefaultLabels" + "runnerGroup" + "tokenFile" + "url" + "workDir" + ] cfg; + newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig); + currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json"; + newConfigTokenPath = "$STATE_DIRECTORY/.new-token"; + currentConfigTokenPath = "$STATE_DIRECTORY/${currentConfigTokenFilename}"; - runnerCredFiles = [ - ".credentials" - ".credentials_rsaparams" - ".runner" - ]; - unconfigureRunner = writeScript "unconfigure" '' - copy_tokens() { - # Copy the configured token file to the state dir and allow the service user to read the file - install --mode=666 ${lib.escapeShellArg cfg.tokenFile} "${newConfigTokenPath}" - # Also copy current file to allow for a diff on the next start - install --mode=600 ${lib.escapeShellArg cfg.tokenFile} "${currentConfigTokenPath}" - } - clean_state() { - find "$STATE_DIRECTORY/" -mindepth 1 -delete - copy_tokens - } - diff_config() { - changed=0 - # Check for module config changes - [[ -f "${currentConfigPath}" ]] \ - && ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 \ - || changed=1 - # Also check the content of the token file - [[ -f "${currentConfigTokenPath}" ]] \ - && ${pkgs.diffutils}/bin/diff -q "${currentConfigTokenPath}" ${lib.escapeShellArg cfg.tokenFile} >/dev/null 2>&1 \ - || changed=1 - # If the config has changed, remove old state and copy tokens - if [[ "$changed" -eq 1 ]]; then - echo "Config has changed, removing old runner state." - echo "The old runner will still appear in the GitHub Actions UI." \ - "You have to remove it manually." + runnerCredFiles = [ + ".credentials" + ".credentials_rsaparams" + ".runner" + ]; + unconfigureRunner = writeScript "unconfigure" '' + copy_tokens() { + # Copy the configured token file to the state dir and allow the service user to read the file + install --mode=666 ${lib.escapeShellArg cfg.tokenFile} "${newConfigTokenPath}" + # Also copy current file to allow for a diff on the next start + install --mode=600 ${lib.escapeShellArg cfg.tokenFile} "${currentConfigTokenPath}" + } + clean_state() { + find "$STATE_DIRECTORY/" -mindepth 1 -delete + copy_tokens + } + diff_config() { + changed=0 + # Check for module config changes + [[ -f "${currentConfigPath}" ]] \ + && ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 \ + || changed=1 + # Also check the content of the token file + [[ -f "${currentConfigTokenPath}" ]] \ + && ${pkgs.diffutils}/bin/diff -q "${currentConfigTokenPath}" ${lib.escapeShellArg cfg.tokenFile} >/dev/null 2>&1 \ + || changed=1 + # If the config has changed, remove old state and copy tokens + if [[ "$changed" -eq 1 ]]; then + echo "Config has changed, removing old runner state." + echo "The old runner will still appear in the GitHub Actions UI." \ + "You have to remove it manually." + clean_state + fi + } + if [[ "${lib.optionalString cfg.ephemeral "1"}" ]]; then + # In ephemeral mode, we always want to start with a clean state clean_state - fi - } - if [[ "${lib.optionalString cfg.ephemeral "1"}" ]]; then - # In ephemeral mode, we always want to start with a clean state - clean_state - elif [[ "$(ls -A "$STATE_DIRECTORY")" ]]; then - # There are state files from a previous run; diff them to decide if we need a new registration - diff_config - else - # The state directory is entirely empty which indicates a first start - copy_tokens - fi - # Always clean workDir - find -H "$WORK_DIRECTORY" -mindepth 1 -delete - ''; - configureRunner = writeScript "configure" /*bash*/'' - if [[ -e "${newConfigTokenPath}" ]]; then - echo "Configuring GitHub Actions Runner" - # shellcheck disable=SC2054 # don't complain about commas in --labels - args=( - --unattended - --disableupdate - --work "$WORK_DIRECTORY" - --url ${lib.escapeShellArg cfg.url} - --labels ${lib.escapeShellArg (lib.concatStringsSep "," cfg.extraLabels)} - ${lib.optionalString (cfg.name != null ) "--name ${lib.escapeShellArg cfg.name}"} - ${lib.optionalString cfg.replace "--replace"} - ${lib.optionalString (cfg.runnerGroup != null) "--runnergroup ${lib.escapeShellArg cfg.runnerGroup}"} - ${lib.optionalString cfg.ephemeral "--ephemeral"} - ${lib.optionalString cfg.noDefaultLabels "--no-default-labels"} - ) - # If the token file contains a PAT (i.e., it starts with "ghp_" or "github_pat_"), we have to use the --pat option, - # if it is not a PAT, we assume it contains a registration token and use the --token option - token=$(<"${newConfigTokenPath}") - if [[ "$token" =~ ^ghp_* ]] || [[ "$token" =~ ^github_pat_* ]]; then - args+=(--pat "$token") + elif [[ "$(ls -A "$STATE_DIRECTORY")" ]]; then + # There are state files from a previous run; diff them to decide if we need a new registration + diff_config else - args+=(--token "$token") + # The state directory is entirely empty which indicates a first start + copy_tokens fi - ${package}/bin/Runner.Listener configure "''${args[@]}" - # Move the automatically created _diag dir to the logs dir - mkdir -p "$STATE_DIRECTORY/_diag" - cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/" - rm -rf "$STATE_DIRECTORY/_diag/" - # Cleanup token from config - rm "${newConfigTokenPath}" - # Symlink to new config - ln -s '${newConfigPath}' "${currentConfigPath}" - fi - ''; - setupWorkDir = writeScript "setup-work-dirs" '' - # Link _diag dir - ln -s "$LOGS_DIRECTORY" "$WORK_DIRECTORY/_diag" + # Always clean workDir + find -H "$WORK_DIRECTORY" -mindepth 1 -delete + ''; + configureRunner = + writeScript "configure" # bash + '' + if [[ -e "${newConfigTokenPath}" ]]; then + echo "Configuring GitHub Actions Runner" + # shellcheck disable=SC2054 # don't complain about commas in --labels + args=( + --unattended + --disableupdate + --work "$WORK_DIRECTORY" + --url ${lib.escapeShellArg cfg.url} + --labels ${lib.escapeShellArg (lib.concatStringsSep "," cfg.extraLabels)} + ${lib.optionalString (cfg.name != null) "--name ${lib.escapeShellArg cfg.name}"} + ${lib.optionalString cfg.replace "--replace"} + ${lib.optionalString ( + cfg.runnerGroup != null + ) "--runnergroup ${lib.escapeShellArg cfg.runnerGroup}"} + ${lib.optionalString cfg.ephemeral "--ephemeral"} + ${lib.optionalString cfg.noDefaultLabels "--no-default-labels"} + ) + # If the token file contains a PAT (i.e., it starts with "ghp_" or "github_pat_"), we have to use the --pat option, + # if it is not a PAT, we assume it contains a registration token and use the --token option + token=$(<"${newConfigTokenPath}") + if [[ "$token" =~ ^ghp_* ]] || [[ "$token" =~ ^github_pat_* ]]; then + args+=(--pat "$token") + else + args+=(--token "$token") + fi + ${package}/bin/Runner.Listener configure "''${args[@]}" + # Move the automatically created _diag dir to the logs dir + mkdir -p "$STATE_DIRECTORY/_diag" + cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/" + rm -rf "$STATE_DIRECTORY/_diag/" + # Cleanup token from config + rm "${newConfigTokenPath}" + # Symlink to new config + ln -s '${newConfigPath}' "${currentConfigPath}" + fi + ''; + setupWorkDir = writeScript "setup-work-dirs" '' + # Link _diag dir + ln -s "$LOGS_DIRECTORY" "$WORK_DIRECTORY/_diag" - # Link the runner credentials to the work dir - ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$WORK_DIRECTORY/" - ''; - in - map (x: "${x} ${lib.escapeShellArgs [ stateDir workDir logsDir ]}") [ - "+${unconfigureRunner}" # runs as root - configureRunner - setupWorkDir - ]; + # Link the runner credentials to the work dir + ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$WORK_DIRECTORY/" + ''; + in + map + ( + x: + "${x} ${ + lib.escapeShellArgs [ + stateDir + workDir + logsDir + ] + }" + ) + [ + "+${unconfigureRunner}" # runs as root + configureRunner + setupWorkDir + ]; - # If running in ephemeral mode, restart the service on-exit (i.e., successful de-registration of the runner) - # to trigger a fresh registration. - Restart = if cfg.ephemeral then "on-success" else "no"; - # If the runner exits with `ReturnCode.RetryableError = 2`, always restart the service: - # https://github.com/actions/runner/blob/40ed7f8/src/Runner.Common/Constants.cs#L146 - RestartForceExitStatus = [ 2 ]; + # If running in ephemeral mode, restart the service on-exit (i.e., successful de-registration of the runner) + # to trigger a fresh registration. + Restart = if cfg.ephemeral then "on-success" else "no"; + # If the runner exits with `ReturnCode.RetryableError = 2`, always restart the service: + # https://github.com/actions/runner/blob/40ed7f8/src/Runner.Common/Constants.cs#L146 + RestartForceExitStatus = [ 2 ]; - # Contains _diag - LogsDirectory = [ systemdDir ]; - # Default RUNNER_ROOT which contains ephemeral Runner data - RuntimeDirectory = [ systemdDir ]; - # Home of persistent runner data, e.g., credentials - StateDirectory = [ systemdDir ]; - StateDirectoryMode = "0700"; - WorkingDirectory = workDir; + # Contains _diag + LogsDirectory = [ systemdDir ]; + # Default RUNNER_ROOT which contains ephemeral Runner data + RuntimeDirectory = [ systemdDir ]; + # Home of persistent runner data, e.g., credentials + StateDirectory = [ systemdDir ]; + StateDirectoryMode = "0700"; + WorkingDirectory = workDir; - InaccessiblePaths = [ - # Token file path given in the configuration, if visible to the service - "-${cfg.tokenFile}" - # Token file in the state directory - "${stateDir}/${currentConfigTokenFilename}" - ]; + InaccessiblePaths = [ + # Token file path given in the configuration, if visible to the service + "-${cfg.tokenFile}" + # Token file in the state directory + "${stateDir}/${currentConfigTokenFilename}" + ]; - KillSignal = "SIGINT"; + KillSignal = "SIGINT"; - # Hardening (may overlap with DynamicUser=) - # The following options are only for optimizing: - # systemd-analyze security github-runner - AmbientCapabilities = lib.mkBefore [ "" ]; - CapabilityBoundingSet = lib.mkBefore [ "" ]; - # ProtectClock= adds DeviceAllow=char-rtc r - DeviceAllow = lib.mkBefore [ "" ]; - NoNewPrivileges = lib.mkDefault true; - PrivateDevices = lib.mkDefault true; - PrivateMounts = lib.mkDefault true; - PrivateTmp = lib.mkDefault true; - PrivateUsers = lib.mkDefault true; - ProtectClock = lib.mkDefault true; - ProtectControlGroups = lib.mkDefault true; - ProtectHome = lib.mkDefault true; - ProtectHostname = lib.mkDefault true; - ProtectKernelLogs = lib.mkDefault true; - ProtectKernelModules = lib.mkDefault true; - ProtectKernelTunables = lib.mkDefault true; - ProtectSystem = lib.mkDefault "strict"; - RemoveIPC = lib.mkDefault true; - RestrictNamespaces = lib.mkDefault true; - RestrictRealtime = lib.mkDefault true; - RestrictSUIDSGID = lib.mkDefault true; - UMask = lib.mkDefault "0066"; - ProtectProc = lib.mkDefault "invisible"; - SystemCallFilter = lib.mkBefore [ - "~@clock" - "~@cpu-emulation" - "~@module" - "~@mount" - "~@obsolete" - "~@raw-io" - "~@reboot" - "~capset" - "~setdomainname" - "~sethostname" - ]; - RestrictAddressFamilies = lib.mkBefore [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ]; + # Hardening (may overlap with DynamicUser=) + # The following options are only for optimizing: + # systemd-analyze security github-runner + AmbientCapabilities = lib.mkBefore [ "" ]; + CapabilityBoundingSet = lib.mkBefore [ "" ]; + # ProtectClock= adds DeviceAllow=char-rtc r + DeviceAllow = lib.mkBefore [ "" ]; + NoNewPrivileges = lib.mkDefault true; + PrivateDevices = lib.mkDefault true; + PrivateMounts = lib.mkDefault true; + PrivateTmp = lib.mkDefault true; + PrivateUsers = lib.mkDefault true; + ProtectClock = lib.mkDefault true; + ProtectControlGroups = lib.mkDefault true; + ProtectHome = lib.mkDefault true; + ProtectHostname = lib.mkDefault true; + ProtectKernelLogs = lib.mkDefault true; + ProtectKernelModules = lib.mkDefault true; + ProtectKernelTunables = lib.mkDefault true; + ProtectSystem = lib.mkDefault "strict"; + RemoveIPC = lib.mkDefault true; + RestrictNamespaces = lib.mkDefault true; + RestrictRealtime = lib.mkDefault true; + RestrictSUIDSGID = lib.mkDefault true; + UMask = lib.mkDefault "0066"; + ProtectProc = lib.mkDefault "invisible"; + SystemCallFilter = lib.mkBefore [ + "~@clock" + "~@cpu-emulation" + "~@module" + "~@mount" + "~@obsolete" + "~@raw-io" + "~@reboot" + "~capset" + "~setdomainname" + "~sethostname" + ]; + RestrictAddressFamilies = lib.mkBefore [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + "AF_NETLINK" + ]; - BindPaths = lib.optionals (cfg.workDir != null) [ cfg.workDir ]; + BindPaths = lib.optionals (cfg.workDir != null) [ cfg.workDir ]; - # Needs network access - PrivateNetwork = lib.mkDefault false; - # Cannot be true due to Node - MemoryDenyWriteExecute = lib.mkDefault false; + # Needs network access + PrivateNetwork = lib.mkDefault false; + # Cannot be true due to Node + MemoryDenyWriteExecute = lib.mkDefault false; - # The more restrictive "pid" option makes `nix` commands in CI emit - # "GC Warning: Couldn't read /proc/stat" - # You may want to set this to "pid" if not using `nix` commands - ProcSubset = lib.mkDefault "all"; - # Coverage programs for compiled code such as `cargo-tarpaulin` disable - # ASLR (address space layout randomization) which requires the - # `personality` syscall - # You may want to set this to `true` if not using coverage tooling on - # compiled code - LockPersonality = lib.mkDefault false; + # The more restrictive "pid" option makes `nix` commands in CI emit + # "GC Warning: Couldn't read /proc/stat" + # You may want to set this to "pid" if not using `nix` commands + ProcSubset = lib.mkDefault "all"; + # Coverage programs for compiled code such as `cargo-tarpaulin` disable + # ASLR (address space layout randomization) which requires the + # `personality` syscall + # You may want to set this to `true` if not using coverage tooling on + # compiled code + LockPersonality = lib.mkDefault false; - DynamicUser = lib.mkDefault true; - } - (lib.mkIf (cfg.user != null) { - DynamicUser = false; - User = cfg.user; - }) - (lib.mkIf (cfg.group != null) { - DynamicUser = false; - Group = cfg.group; - }) - cfg.serviceOverrides - ]; - } - )); + DynamicUser = lib.mkDefault true; + } + (lib.mkIf (cfg.user != null) { + DynamicUser = false; + User = cfg.user; + }) + (lib.mkIf (cfg.group != null) { + DynamicUser = false; + Group = cfg.group; + }) + cfg.serviceOverrides + ]; + } + )); } diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix index 07f0524561b22..895ba66e7ea0c 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (builtins) @@ -42,22 +47,30 @@ let hasDocker = config.virtualisation.docker.enable; hasPodman = config.virtualisation.podman.enable && config.virtualisation.podman.dockerSocket.enable; - /* The whole logic of this module is to diff the hashes of the desired vs existing runners - The hash is recorded in the runner's name because we can't do better yet - See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29350 for more details + /* + The whole logic of this module is to diff the hashes of the desired vs existing runners + The hash is recorded in the runner's name because we can't do better yet + See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29350 for more details */ - genRunnerName = name: service: let + genRunnerName = + name: service: + let hash = substring 0 12 (hashString "md5" (unsafeDiscardStringContext (toJSON service))); - in if service ? description && service.description != null - then "${hash} ${service.description}" - else "${name}_${config.networking.hostName}_${hash}"; - - hashedServices = mapAttrs' - (name: service: nameValuePair (genRunnerName name service) service) cfg.services; + in + if service ? description && service.description != null then + "${hash} ${service.description}" + else + "${name}_${config.networking.hostName}_${hash}"; + + hashedServices = mapAttrs' ( + name: service: nameValuePair (genRunnerName name service) service + ) cfg.services; configPath = ''"$HOME"/.gitlab-runner/config.toml''; configureScript = pkgs.writeShellApplication { name = "gitlab-runner-configure"; - runtimeInputs = [ cfg.package ] ++ (with pkgs; [ + runtimeInputs = + [ cfg.package ] + ++ (with pkgs; [ bash gawk jq @@ -66,133 +79,148 @@ let util-linux perl python3 - ]); - text = if (cfg.configFile != null) then '' - cp ${cfg.configFile} ${configPath} - # make config file readable by service - chown -R --reference="$HOME" "$(dirname ${configPath})" - '' else '' - export CONFIG_FILE=${configPath} - - mkdir -p "$(dirname ${configPath})" - touch ${configPath} - - # update global options - remarshal --if toml --of json --stringify ${configPath} \ - | jq -cM 'with_entries(select([.key] | inside(["runners"])))' \ - | jq -scM '.[0] + .[1]' - <(echo ${escapeShellArg (toJSON cfg.settings)}) \ - | remarshal --if json --of toml \ - | sponge ${configPath} - - # remove no longer existing services - gitlab-runner verify --delete - - ${toShellVar "NEEDED_SERVICES" (lib.mapAttrs (name: value: 1) hashedServices)} - - declare -A REGISTERED_SERVICES - - while IFS="," read -r name token; - do - REGISTERED_SERVICES["$name"]="$token" - done < <(gitlab-runner --log-format json list 2>&1 | grep Token | jq -r '.msg +"," + .Token') - - echo "NEEDED_SERVICES: " "''${!NEEDED_SERVICES[@]}" - echo "REGISTERED_SERVICES:" "''${!REGISTERED_SERVICES[@]}" - - # difference between current and desired state - declare -A NEW_SERVICES - for name in "''${!NEEDED_SERVICES[@]}"; do - if [ ! -v 'REGISTERED_SERVICES[$name]' ]; then - NEW_SERVICES[$name]=1 - fi - done - - declare -A OLD_SERVICES - # shellcheck disable=SC2034 - for name in "''${!REGISTERED_SERVICES[@]}"; do - if [ ! -v 'NEEDED_SERVICES[$name]' ]; then - OLD_SERVICES[$name]=1 - fi - done - - # register new services - ${concatStringsSep "\n" (mapAttrsToList (name: service: '' - # TODO so here we should mention NEW_SERVICES - if [ -v 'NEW_SERVICES["${name}"]' ] ; then - bash -c ${escapeShellArg (concatStringsSep " \\\n " ([ - "set -a && source ${ - if service.registrationConfigFile != null - then service.registrationConfigFile - else service.authenticationTokenConfigFile} &&" - "gitlab-runner register" - "--non-interactive" - "--name '${name}'" - "--executor ${service.executor}" - "--limit ${toString service.limit}" - "--request-concurrency ${toString service.requestConcurrency}" - ] - ++ optional (service.authenticationTokenConfigFile == null) - "--maximum-timeout ${toString service.maximumTimeout}" - ++ service.registrationFlags - ++ optional (service.buildsDir != null) - "--builds-dir ${service.buildsDir}" - ++ optional (service.cloneUrl != null) - "--clone-url ${service.cloneUrl}" - ++ optional (service.preGetSourcesScript != null) - "--pre-get-sources-script ${service.preGetSourcesScript}" - ++ optional (service.postGetSourcesScript != null) - "--post-get-sources-script ${service.postGetSourcesScript}" - ++ optional (service.preBuildScript != null) - "--pre-build-script ${service.preBuildScript}" - ++ optional (service.postBuildScript != null) - "--post-build-script ${service.postBuildScript}" - ++ optional (service.authenticationTokenConfigFile == null && service.tagList != [ ]) - "--tag-list ${concatStringsSep "," service.tagList}" - ++ optional (service.authenticationTokenConfigFile == null && service.runUntagged) - "--run-untagged" - ++ optional (service.authenticationTokenConfigFile == null && service.protected) - "--access-level ref_protected" - ++ optional service.debugTraceDisabled - "--debug-trace-disabled" - ++ map (e: "--env ${escapeShellArg e}") (mapAttrsToList (name: value: "${name}=${value}") service.environmentVariables) - ++ optionals (hasPrefix "docker" service.executor) ( - assert ( - assertMsg (service.dockerImage != null) - "dockerImage option is required for ${service.executor} executor (${name})"); - [ "--docker-image ${service.dockerImage}" ] - ++ optional service.dockerDisableCache - "--docker-disable-cache" - ++ optional service.dockerPrivileged - "--docker-privileged" - ++ map (v: "--docker-volumes ${escapeShellArg v}") service.dockerVolumes - ++ map (v: "--docker-extra-hosts ${escapeShellArg v}") service.dockerExtraHosts - ++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages - ++ map (v: "--docker-allowed-services ${escapeShellArg v}") service.dockerAllowedServices - ) - ))} && sleep 1 || exit 1 - fi - '') hashedServices)} - - # check key is in array https://stackoverflow.com/questions/30353951/how-to-check-if-dictionary-contains-a-key-in-bash - - echo "NEW_SERVICES: ''${NEW_SERVICES[*]}" - echo "OLD_SERVICES: ''${OLD_SERVICES[*]}" - # unregister old services - for NAME in "''${!OLD_SERVICES[@]}" - do - [ -n "$NAME" ] && gitlab-runner unregister \ - --name "$NAME" && sleep 1 - done - - # make config file readable by service - chown -R --reference="$HOME" "$(dirname ${configPath})" - ''; + ]); + text = + if (cfg.configFile != null) then + '' + cp ${cfg.configFile} ${configPath} + # make config file readable by service + chown -R --reference="$HOME" "$(dirname ${configPath})" + '' + else + '' + export CONFIG_FILE=${configPath} + + mkdir -p "$(dirname ${configPath})" + touch ${configPath} + + # update global options + remarshal --if toml --of json --stringify ${configPath} \ + | jq -cM 'with_entries(select([.key] | inside(["runners"])))' \ + | jq -scM '.[0] + .[1]' - <(echo ${escapeShellArg (toJSON cfg.settings)}) \ + | remarshal --if json --of toml \ + | sponge ${configPath} + + # remove no longer existing services + gitlab-runner verify --delete + + ${toShellVar "NEEDED_SERVICES" (lib.mapAttrs (name: value: 1) hashedServices)} + + declare -A REGISTERED_SERVICES + + while IFS="," read -r name token; + do + REGISTERED_SERVICES["$name"]="$token" + done < <(gitlab-runner --log-format json list 2>&1 | grep Token | jq -r '.msg +"," + .Token') + + echo "NEEDED_SERVICES: " "''${!NEEDED_SERVICES[@]}" + echo "REGISTERED_SERVICES:" "''${!REGISTERED_SERVICES[@]}" + + # difference between current and desired state + declare -A NEW_SERVICES + for name in "''${!NEEDED_SERVICES[@]}"; do + if [ ! -v 'REGISTERED_SERVICES[$name]' ]; then + NEW_SERVICES[$name]=1 + fi + done + + declare -A OLD_SERVICES + # shellcheck disable=SC2034 + for name in "''${!REGISTERED_SERVICES[@]}"; do + if [ ! -v 'NEEDED_SERVICES[$name]' ]; then + OLD_SERVICES[$name]=1 + fi + done + + # register new services + ${concatStringsSep "\n" ( + mapAttrsToList (name: service: '' + # TODO so here we should mention NEW_SERVICES + if [ -v 'NEW_SERVICES["${name}"]' ] ; then + bash -c ${ + escapeShellArg ( + concatStringsSep " \\\n " ( + [ + "set -a && source ${ + if service.registrationConfigFile != null then + service.registrationConfigFile + else + service.authenticationTokenConfigFile + } &&" + "gitlab-runner register" + "--non-interactive" + "--name '${name}'" + "--executor ${service.executor}" + "--limit ${toString service.limit}" + "--request-concurrency ${toString service.requestConcurrency}" + ] + ++ optional ( + service.authenticationTokenConfigFile == null + ) "--maximum-timeout ${toString service.maximumTimeout}" + ++ service.registrationFlags + ++ optional (service.buildsDir != null) "--builds-dir ${service.buildsDir}" + ++ optional (service.cloneUrl != null) "--clone-url ${service.cloneUrl}" + ++ optional ( + service.preGetSourcesScript != null + ) "--pre-get-sources-script ${service.preGetSourcesScript}" + ++ optional ( + service.postGetSourcesScript != null + ) "--post-get-sources-script ${service.postGetSourcesScript}" + ++ optional (service.preBuildScript != null) "--pre-build-script ${service.preBuildScript}" + ++ optional (service.postBuildScript != null) "--post-build-script ${service.postBuildScript}" + ++ optional ( + service.authenticationTokenConfigFile == null && service.tagList != [ ] + ) "--tag-list ${concatStringsSep "," service.tagList}" + ++ optional (service.authenticationTokenConfigFile == null && service.runUntagged) "--run-untagged" + ++ optional ( + service.authenticationTokenConfigFile == null && service.protected + ) "--access-level ref_protected" + ++ optional service.debugTraceDisabled "--debug-trace-disabled" + ++ map (e: "--env ${escapeShellArg e}") ( + mapAttrsToList (name: value: "${name}=${value}") service.environmentVariables + ) + ++ optionals (hasPrefix "docker" service.executor) ( + assert ( + assertMsg ( + service.dockerImage != null + ) "dockerImage option is required for ${service.executor} executor (${name})" + ); + [ "--docker-image ${service.dockerImage}" ] + ++ optional service.dockerDisableCache "--docker-disable-cache" + ++ optional service.dockerPrivileged "--docker-privileged" + ++ map (v: "--docker-volumes ${escapeShellArg v}") service.dockerVolumes + ++ map (v: "--docker-extra-hosts ${escapeShellArg v}") service.dockerExtraHosts + ++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages + ++ map (v: "--docker-allowed-services ${escapeShellArg v}") service.dockerAllowedServices + ) + ) + ) + } && sleep 1 || exit 1 + fi + '') hashedServices + )} + + # check key is in array https://stackoverflow.com/questions/30353951/how-to-check-if-dictionary-contains-a-key-in-bash + + echo "NEW_SERVICES: ''${NEW_SERVICES[*]}" + echo "OLD_SERVICES: ''${OLD_SERVICES[*]}" + # unregister old services + for NAME in "''${!OLD_SERVICES[@]}" + do + [ -n "$NAME" ] && gitlab-runner unregister \ + --name "$NAME" && sleep 1 + done + + # make config file readable by service + chown -R --reference="$HOME" "$(dirname ${configPath})" + ''; }; startScript = pkgs.writeShellScriptBin "gitlab-runner-start" '' export CONFIG_FILE=${configPath} exec gitlab-runner run --working-directory $HOME ''; -in { +in +{ options.services.gitlab-runner = { enable = mkEnableOption "Gitlab Runner"; configFile = mkOption { @@ -334,268 +362,281 @@ in { }; } ''; - type = types.attrsOf (types.submodule { - options = { - authenticationTokenConfigFile = mkOption { - type = with types; nullOr path; - default = null; - description = '' - Absolute path to a file containing environment variables used for - gitlab-runner registrations with *runner authentication tokens*. - They replace the deprecated *runner registration tokens*, as - outlined in the [GitLab documentation]. - - A list of all supported environment variables can be found with - `gitlab-runner register --help`. - - The ones you probably want to set are: - - `CI_SERVER_URL=` - - `CI_SERVER_TOKEN=` - - ::: {.warning} - Make sure to use a quoted absolute path, - or it is going to be copied to Nix Store. - ::: - - [GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes - ''; - }; - registrationConfigFile = mkOption { - type = with types; nullOr path; - default = null; - description = '' - Absolute path to a file with environment variables - used for gitlab-runner registration with *runner registration - tokens*. - - A list of all supported environment variables can be found in - `gitlab-runner register --help`. - - The ones you probably want to set are: - - `CI_SERVER_URL=` - - `REGISTRATION_TOKEN=` - - Support for *runner registration tokens* is deprecated since - GitLab 16.0, has been disabled by default in GitLab 17.0 and - will be removed in GitLab 18.0, as outlined in the - [GitLab documentation]. Please consider migrating to - [runner authentication tokens] and check the documentation on - {option}`services.gitlab-runner.services..authenticationTokenConfigFile`. - - ::: {.warning} - Make sure to use a quoted absolute path, - or it is going to be copied to Nix Store. - ::: - - [GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes - [runner authentication tokens]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#the-new-runner-registration-workflow - ''; - }; - registrationFlags = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "--docker-helper-image my/gitlab-runner-helper" ]; - description = '' - Extra command-line flags passed to - `gitlab-runner register`. - Execute `gitlab-runner register --help` - for a list of supported flags. - ''; - }; - environmentVariables = mkOption { - type = types.attrsOf types.str; - default = { }; - example = { NAME = "value"; }; - description = '' - Custom environment variables injected to build environment. - For secrets you can use {option}`registrationConfigFile` - with `RUNNER_ENV` variable set. - ''; - }; - description = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Name/description of the runner. - ''; - }; - executor = mkOption { - type = types.str; - default = "docker"; - description = '' - Select executor, eg. shell, docker, etc. - See [runner documentation](https://docs.gitlab.com/runner/executors/README.html) for more information. - ''; - }; - buildsDir = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/lib/gitlab-runner/builds"; - description = '' - Absolute path to a directory where builds will be stored - in context of selected executor (Locally, Docker, SSH). - ''; - }; - cloneUrl = mkOption { - type = types.nullOr types.str; - default = null; - example = "http://gitlab.example.local"; - description = '' - Overwrite the URL for the GitLab instance. Used if the Runner can’t connect to GitLab on the URL GitLab exposes itself. - ''; - }; - dockerImage = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Docker image to be used. - ''; - }; - dockerVolumes = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "/var/run/docker.sock:/var/run/docker.sock" ]; - description = '' - Bind-mount a volume and create it - if it doesn't exist prior to mounting. - ''; - }; - dockerDisableCache = mkOption { - type = types.bool; - default = false; - description = '' - Disable all container caching. - ''; - }; - dockerPrivileged = mkOption { - type = types.bool; - default = false; - description = '' - Give extended privileges to container. - ''; - }; - dockerExtraHosts = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "other-host:127.0.0.1" ]; - description = '' - Add a custom host-to-IP mapping. - ''; - }; - dockerAllowedImages = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "ruby:*" "python:*" "php:*" "my.registry.tld:5000/*:*" ]; - description = '' - Whitelist allowed images. - ''; - }; - dockerAllowedServices = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "postgres:9" "redis:*" "mysql:*" ]; - description = '' - Whitelist allowed services. - ''; - }; - preGetSourcesScript = mkOption { - type = types.nullOr (types.either types.str types.path); - default = null; - description = '' - Runner-specific command script executed before code is pulled. - ''; - }; - postGetSourcesScript = mkOption { - type = types.nullOr (types.either types.str types.path); - default = null; - description = '' - Runner-specific command script executed after code is pulled. - ''; - }; - preBuildScript = mkOption { - type = types.nullOr (types.either types.str types.path); - default = null; - description = '' - Runner-specific command script executed after code is pulled, - just before build executes. - ''; - }; - postBuildScript = mkOption { - type = types.nullOr (types.either types.str types.path); - default = null; - description = '' - Runner-specific command script executed after code is pulled - and just after build executes. - ''; - }; - tagList = mkOption { - type = types.listOf types.str; - default = [ ]; - description = '' - Tag list. - - This option has no effect for runners registered with an runner - authentication tokens and will be ignored. - ''; - }; - runUntagged = mkOption { - type = types.bool; - default = false; - description = '' - Register to run untagged builds; defaults to - `true` when {option}`tagList` is empty. - - This option has no effect for runners registered with an runner - authentication tokens and will be ignored. - ''; - }; - limit = mkOption { - type = types.int; - default = 0; - description = '' - Limit how many jobs can be handled concurrently by this service. - 0 (default) simply means don't limit. - ''; - }; - requestConcurrency = mkOption { - type = types.int; - default = 0; - description = '' - Limit number of concurrent requests for new jobs from GitLab. - ''; - }; - maximumTimeout = mkOption { - type = types.int; - default = 0; - description = '' - What is the maximum timeout (in seconds) that will be set for - job when using this Runner. 0 (default) simply means don't limit. - - This option has no effect for runners registered with an runner - authentication tokens and will be ignored. - ''; - }; - protected = mkOption { - type = types.bool; - default = false; - description = '' - When set to true Runner will only run on pipelines - triggered on protected branches. - - This option has no effect for runners registered with an runner - authentication tokens and will be ignored. - ''; - }; - debugTraceDisabled = mkOption { - type = types.bool; - default = false; - description = '' - When set to true Runner will disable the possibility of - using the `CI_DEBUG_TRACE` feature. - ''; + type = types.attrsOf ( + types.submodule { + options = { + authenticationTokenConfigFile = mkOption { + type = with types; nullOr path; + default = null; + description = '' + Absolute path to a file containing environment variables used for + gitlab-runner registrations with *runner authentication tokens*. + They replace the deprecated *runner registration tokens*, as + outlined in the [GitLab documentation]. + + A list of all supported environment variables can be found with + `gitlab-runner register --help`. + + The ones you probably want to set are: + - `CI_SERVER_URL=` + - `CI_SERVER_TOKEN=` + + ::: {.warning} + Make sure to use a quoted absolute path, + or it is going to be copied to Nix Store. + ::: + + [GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes + ''; + }; + registrationConfigFile = mkOption { + type = with types; nullOr path; + default = null; + description = '' + Absolute path to a file with environment variables + used for gitlab-runner registration with *runner registration + tokens*. + + A list of all supported environment variables can be found in + `gitlab-runner register --help`. + + The ones you probably want to set are: + - `CI_SERVER_URL=` + - `REGISTRATION_TOKEN=` + + Support for *runner registration tokens* is deprecated since + GitLab 16.0, has been disabled by default in GitLab 17.0 and + will be removed in GitLab 18.0, as outlined in the + [GitLab documentation]. Please consider migrating to + [runner authentication tokens] and check the documentation on + {option}`services.gitlab-runner.services..authenticationTokenConfigFile`. + + ::: {.warning} + Make sure to use a quoted absolute path, + or it is going to be copied to Nix Store. + ::: + + [GitLab documentation]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#estimated-time-frame-for-planned-changes + [runner authentication tokens]: https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html#the-new-runner-registration-workflow + ''; + }; + registrationFlags = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "--docker-helper-image my/gitlab-runner-helper" ]; + description = '' + Extra command-line flags passed to + `gitlab-runner register`. + Execute `gitlab-runner register --help` + for a list of supported flags. + ''; + }; + environmentVariables = mkOption { + type = types.attrsOf types.str; + default = { }; + example = { + NAME = "value"; + }; + description = '' + Custom environment variables injected to build environment. + For secrets you can use {option}`registrationConfigFile` + with `RUNNER_ENV` variable set. + ''; + }; + description = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Name/description of the runner. + ''; + }; + executor = mkOption { + type = types.str; + default = "docker"; + description = '' + Select executor, eg. shell, docker, etc. + See [runner documentation](https://docs.gitlab.com/runner/executors/README.html) for more information. + ''; + }; + buildsDir = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/lib/gitlab-runner/builds"; + description = '' + Absolute path to a directory where builds will be stored + in context of selected executor (Locally, Docker, SSH). + ''; + }; + cloneUrl = mkOption { + type = types.nullOr types.str; + default = null; + example = "http://gitlab.example.local"; + description = '' + Overwrite the URL for the GitLab instance. Used if the Runner can’t connect to GitLab on the URL GitLab exposes itself. + ''; + }; + dockerImage = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Docker image to be used. + ''; + }; + dockerVolumes = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "/var/run/docker.sock:/var/run/docker.sock" ]; + description = '' + Bind-mount a volume and create it + if it doesn't exist prior to mounting. + ''; + }; + dockerDisableCache = mkOption { + type = types.bool; + default = false; + description = '' + Disable all container caching. + ''; + }; + dockerPrivileged = mkOption { + type = types.bool; + default = false; + description = '' + Give extended privileges to container. + ''; + }; + dockerExtraHosts = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "other-host:127.0.0.1" ]; + description = '' + Add a custom host-to-IP mapping. + ''; + }; + dockerAllowedImages = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "ruby:*" + "python:*" + "php:*" + "my.registry.tld:5000/*:*" + ]; + description = '' + Whitelist allowed images. + ''; + }; + dockerAllowedServices = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "postgres:9" + "redis:*" + "mysql:*" + ]; + description = '' + Whitelist allowed services. + ''; + }; + preGetSourcesScript = mkOption { + type = types.nullOr (types.either types.str types.path); + default = null; + description = '' + Runner-specific command script executed before code is pulled. + ''; + }; + postGetSourcesScript = mkOption { + type = types.nullOr (types.either types.str types.path); + default = null; + description = '' + Runner-specific command script executed after code is pulled. + ''; + }; + preBuildScript = mkOption { + type = types.nullOr (types.either types.str types.path); + default = null; + description = '' + Runner-specific command script executed after code is pulled, + just before build executes. + ''; + }; + postBuildScript = mkOption { + type = types.nullOr (types.either types.str types.path); + default = null; + description = '' + Runner-specific command script executed after code is pulled + and just after build executes. + ''; + }; + tagList = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + Tag list. + + This option has no effect for runners registered with an runner + authentication tokens and will be ignored. + ''; + }; + runUntagged = mkOption { + type = types.bool; + default = false; + description = '' + Register to run untagged builds; defaults to + `true` when {option}`tagList` is empty. + + This option has no effect for runners registered with an runner + authentication tokens and will be ignored. + ''; + }; + limit = mkOption { + type = types.int; + default = 0; + description = '' + Limit how many jobs can be handled concurrently by this service. + 0 (default) simply means don't limit. + ''; + }; + requestConcurrency = mkOption { + type = types.int; + default = 0; + description = '' + Limit number of concurrent requests for new jobs from GitLab. + ''; + }; + maximumTimeout = mkOption { + type = types.int; + default = 0; + description = '' + What is the maximum timeout (in seconds) that will be set for + job when using this Runner. 0 (default) simply means don't limit. + + This option has no effect for runners registered with an runner + authentication tokens and will be ignored. + ''; + }; + protected = mkOption { + type = types.bool; + default = false; + description = '' + When set to true Runner will only run on pipelines + triggered on protected branches. + + This option has no effect for runners registered with an runner + authentication tokens and will be ignored. + ''; + }; + debugTraceDisabled = mkOption { + type = types.bool; + default = false; + description = '' + When set to true Runner will disable the possibility of + using the `CI_DEBUG_TRACE` feature. + ''; + }; }; - }; - }); + } + ); }; clear-docker-cache = { enable = mkOption { @@ -636,78 +677,94 @@ in { }; }; config = mkIf cfg.enable { - assertions = - mapAttrsToList (name: serviceConfig: { - assertion = serviceConfig.registrationConfigFile == null || serviceConfig.authenticationTokenConfigFile == null; - message = "`services.gitlab-runner.${name}.registrationConfigFile` and `services.gitlab-runner.services.${name}.authenticationTokenConfigFile` are mutually exclusive."; - }) cfg.services; + assertions = mapAttrsToList (name: serviceConfig: { + assertion = + serviceConfig.registrationConfigFile == null || serviceConfig.authenticationTokenConfigFile == null; + message = "`services.gitlab-runner.${name}.registrationConfigFile` and `services.gitlab-runner.services.${name}.authenticationTokenConfigFile` are mutually exclusive."; + }) cfg.services; warnings = - mapAttrsToList - (name: serviceConfig: "services.gitlab-runner.services.${name}.`registrationConfigFile` points to a file in Nix Store. You should use quoted absolute path to prevent this.") - (filterAttrs (name: serviceConfig: isStorePath serviceConfig.registrationConfigFile) cfg.services) - ++ mapAttrsToList - (name: serviceConfig: "services.gitlab-runner.services.${name}.`authenticationTokenConfigFile` points to a file in Nix Store. You should use quoted absolute path to prevent this.") - (filterAttrs (name: serviceConfig: isStorePath serviceConfig.authenticationTokenConfigFile) cfg.services) - ++ mapAttrsToList - (name: serviceConfig: '' - Runner registration tokens have been deprecated and disabled by default in GitLab >= 17.0. - Consider migrating to runner authentication tokens by setting `services.gitlab-runner.services.${name}.authenticationTokenConfigFile`. - https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html'' - ) - ( - filterAttrs (name: serviceConfig: - serviceConfig.authenticationTokenConfigFile == null - ) cfg.services - ) - ++ mapAttrsToList - (name: serviceConfig: '' - `services.gitlab-runner.services.${name}.protected` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' - ) - ( - filterAttrs (name: serviceConfig: - serviceConfig.authenticationTokenConfigFile != null && serviceConfig.protected == true - ) cfg.services - ) - ++ mapAttrsToList - (name: serviceConfig: '' - `services.gitlab-runner.services.${name}.runUntagged` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' - ) - ( - filterAttrs (name: serviceConfig: - serviceConfig.authenticationTokenConfigFile != null && serviceConfig.runUntagged == true - ) cfg.services - ) - ++ mapAttrsToList - (name: v: '' - `services.gitlab-runner.services.${name}.maximumTimeout` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' - ) - ( - filterAttrs (name: serviceConfig: - serviceConfig.authenticationTokenConfigFile != null && serviceConfig.maximumTimeout != 0 - ) cfg.services - ) - ++ mapAttrsToList - (name: v: '' - `services.gitlab-runner.services.${name}.tagList` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' - ) - ( - filterAttrs (serviceName: serviceConfig: - serviceConfig.authenticationTokenConfigFile != null && serviceConfig.tagList != [ ] - ) cfg.services - ) - ; + mapAttrsToList ( + name: serviceConfig: + "services.gitlab-runner.services.${name}.`registrationConfigFile` points to a file in Nix Store. You should use quoted absolute path to prevent this." + ) (filterAttrs (name: serviceConfig: isStorePath serviceConfig.registrationConfigFile) cfg.services) + ++ + mapAttrsToList + ( + name: serviceConfig: + "services.gitlab-runner.services.${name}.`authenticationTokenConfigFile` points to a file in Nix Store. You should use quoted absolute path to prevent this." + ) + ( + filterAttrs ( + name: serviceConfig: isStorePath serviceConfig.authenticationTokenConfigFile + ) cfg.services + ) + ++ + mapAttrsToList + (name: serviceConfig: '' + Runner registration tokens have been deprecated and disabled by default in GitLab >= 17.0. + Consider migrating to runner authentication tokens by setting `services.gitlab-runner.services.${name}.authenticationTokenConfigFile`. + https://docs.gitlab.com/17.0/ee/ci/runners/new_creation_workflow.html'') + ( + filterAttrs (name: serviceConfig: serviceConfig.authenticationTokenConfigFile == null) cfg.services + ) + ++ + mapAttrsToList + ( + name: serviceConfig: + ''`services.gitlab-runner.services.${name}.protected` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + ) + ( + filterAttrs ( + name: serviceConfig: + serviceConfig.authenticationTokenConfigFile != null && serviceConfig.protected == true + ) cfg.services + ) + ++ + mapAttrsToList + ( + name: serviceConfig: + ''`services.gitlab-runner.services.${name}.runUntagged` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + ) + ( + filterAttrs ( + name: serviceConfig: + serviceConfig.authenticationTokenConfigFile != null && serviceConfig.runUntagged == true + ) cfg.services + ) + ++ + mapAttrsToList + ( + name: v: + ''`services.gitlab-runner.services.${name}.maximumTimeout` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + ) + ( + filterAttrs ( + name: serviceConfig: + serviceConfig.authenticationTokenConfigFile != null && serviceConfig.maximumTimeout != 0 + ) cfg.services + ) + ++ + mapAttrsToList + ( + name: v: + ''`services.gitlab-runner.services.${name}.tagList` with runner authentication tokens has no effect and will be ignored. Please remove it from your configuration.'' + ) + ( + filterAttrs ( + serviceName: serviceConfig: + serviceConfig.authenticationTokenConfigFile != null && serviceConfig.tagList != [ ] + ) cfg.services + ); environment.systemPackages = [ cfg.package ]; systemd.services.gitlab-runner = { description = "Gitlab Runner"; documentation = [ "https://docs.gitlab.com/runner/" ]; - after = [ "network.target" ] - ++ optional hasDocker "docker.service" - ++ optional hasPodman "podman.service"; + after = + [ "network.target" ] ++ optional hasDocker "docker.service" ++ optional hasPodman "podman.service"; - requires = optional hasDocker "docker.service" - ++ optional hasPodman "podman.service"; + requires = optional hasDocker "docker.service" ++ optional hasPodman "podman.service"; wantedBy = [ "multi-user.target" ]; environment = config.networking.proxy.envVars // { HOME = "/var/lib/gitlab-runner"; @@ -726,58 +783,96 @@ in { ++ cfg.extraPackages; reloadIfChanged = true; - serviceConfig = { - # Set `DynamicUser` under `systemd.services.gitlab-runner.serviceConfig` - # to `lib.mkForce false` in your configuration to run this service as root. - # You can also set `User` and `Group` options to run this service as desired user. - # Make sure to restart service or changes won't apply. - DynamicUser = true; - StateDirectory = "gitlab-runner"; - SupplementaryGroups = optional hasDocker "docker" - ++ optional hasPodman "podman"; - ExecStartPre = "!${configureScript}/bin/gitlab-runner-configure"; - ExecStart = "${startScript}/bin/gitlab-runner-start"; - ExecReload = "!${configureScript}/bin/gitlab-runner-configure"; - } // optionalAttrs cfg.gracefulTermination { - TimeoutStopSec = "${cfg.gracefulTimeout}"; - KillSignal = "SIGQUIT"; - KillMode = "process"; - }; + serviceConfig = + { + # Set `DynamicUser` under `systemd.services.gitlab-runner.serviceConfig` + # to `lib.mkForce false` in your configuration to run this service as root. + # You can also set `User` and `Group` options to run this service as desired user. + # Make sure to restart service or changes won't apply. + DynamicUser = true; + StateDirectory = "gitlab-runner"; + SupplementaryGroups = optional hasDocker "docker" ++ optional hasPodman "podman"; + ExecStartPre = "!${configureScript}/bin/gitlab-runner-configure"; + ExecStart = "${startScript}/bin/gitlab-runner-start"; + ExecReload = "!${configureScript}/bin/gitlab-runner-configure"; + } + // optionalAttrs cfg.gracefulTermination { + TimeoutStopSec = "${cfg.gracefulTimeout}"; + KillSignal = "SIGQUIT"; + KillMode = "process"; + }; }; # Enable periodic clear-docker-cache script - systemd.services.gitlab-runner-clear-docker-cache = mkIf (cfg.clear-docker-cache.enable && (any (s: s.executor == "docker") (attrValues cfg.services))) { - description = "Prune gitlab-runner docker resources"; - restartIfChanged = false; - unitConfig.X-StopOnRemoval = false; + systemd.services.gitlab-runner-clear-docker-cache = + mkIf (cfg.clear-docker-cache.enable && (any (s: s.executor == "docker") (attrValues cfg.services))) + { + description = "Prune gitlab-runner docker resources"; + restartIfChanged = false; + unitConfig.X-StopOnRemoval = false; - serviceConfig.Type = "oneshot"; + serviceConfig.Type = "oneshot"; - path = [ cfg.clear-docker-cache.package pkgs.gawk ]; + path = [ + cfg.clear-docker-cache.package + pkgs.gawk + ]; - script = '' - ${pkgs.gitlab-runner}/bin/clear-docker-cache ${toString cfg.clear-docker-cache.flags} - ''; + script = '' + ${pkgs.gitlab-runner}/bin/clear-docker-cache ${toString cfg.clear-docker-cache.flags} + ''; - startAt = cfg.clear-docker-cache.dates; - }; + startAt = cfg.clear-docker-cache.dates; + }; # Enable docker if `docker` executor is used in any service - virtualisation.docker.enable = mkIf ( - any (s: s.executor == "docker") (attrValues cfg.services) - ) (mkDefault true); + virtualisation.docker.enable = mkIf (any (s: s.executor == "docker") (attrValues cfg.services)) ( + mkDefault true + ); }; imports = [ - (mkRenamedOptionModule [ "services" "gitlab-runner" "packages" ] [ "services" "gitlab-runner" "extraPackages" ] ) - (mkRemovedOptionModule [ "services" "gitlab-runner" "configOptions" ] "Use services.gitlab-runner.services option instead" ) - (mkRemovedOptionModule [ "services" "gitlab-runner" "workDir" ] "You should move contents of workDir (if any) to /var/lib/gitlab-runner" ) - - (mkRenamedOptionModule [ "services" "gitlab-runner" "checkInterval" ] [ "services" "gitlab-runner" "settings" "check_interval" ] ) - (mkRenamedOptionModule [ "services" "gitlab-runner" "concurrent" ] [ "services" "gitlab-runner" "settings" "concurrent" ] ) - (mkRenamedOptionModule [ "services" "gitlab-runner" "sentryDSN" ] [ "services" "gitlab-runner" "settings" "sentry_dsn" ] ) - (mkRenamedOptionModule [ "services" "gitlab-runner" "prometheusListenAddress" ] [ "services" "gitlab-runner" "settings" "listen_address" ] ) - - (mkRenamedOptionModule [ "services" "gitlab-runner" "sessionServer" "listenAddress" ] [ "services" "gitlab-runner" "settings" "session_server" "listen_address" ] ) - (mkRenamedOptionModule [ "services" "gitlab-runner" "sessionServer" "advertiseAddress" ] [ "services" "gitlab-runner" "settings" "session_server" "advertise_address" ] ) - (mkRenamedOptionModule [ "services" "gitlab-runner" "sessionServer" "sessionTimeout" ] [ "services" "gitlab-runner" "settings" "session_server" "session_timeout" ] ) + (mkRenamedOptionModule + [ "services" "gitlab-runner" "packages" ] + [ "services" "gitlab-runner" "extraPackages" ] + ) + (mkRemovedOptionModule [ + "services" + "gitlab-runner" + "configOptions" + ] "Use services.gitlab-runner.services option instead") + (mkRemovedOptionModule [ + "services" + "gitlab-runner" + "workDir" + ] "You should move contents of workDir (if any) to /var/lib/gitlab-runner") + + (mkRenamedOptionModule + [ "services" "gitlab-runner" "checkInterval" ] + [ "services" "gitlab-runner" "settings" "check_interval" ] + ) + (mkRenamedOptionModule + [ "services" "gitlab-runner" "concurrent" ] + [ "services" "gitlab-runner" "settings" "concurrent" ] + ) + (mkRenamedOptionModule + [ "services" "gitlab-runner" "sentryDSN" ] + [ "services" "gitlab-runner" "settings" "sentry_dsn" ] + ) + (mkRenamedOptionModule + [ "services" "gitlab-runner" "prometheusListenAddress" ] + [ "services" "gitlab-runner" "settings" "listen_address" ] + ) + + (mkRenamedOptionModule + [ "services" "gitlab-runner" "sessionServer" "listenAddress" ] + [ "services" "gitlab-runner" "settings" "session_server" "listen_address" ] + ) + (mkRenamedOptionModule + [ "services" "gitlab-runner" "sessionServer" "advertiseAddress" ] + [ "services" "gitlab-runner" "settings" "session_server" "advertise_address" ] + ) + (mkRenamedOptionModule + [ "services" "gitlab-runner" "sessionServer" "sessionTimeout" ] + [ "services" "gitlab-runner" "settings" "session_server" "session_timeout" ] + ) ]; meta.maintainers = teams.gitlab.members; diff --git a/nixos/modules/services/continuous-integration/gocd-agent/default.nix b/nixos/modules/services/continuous-integration/gocd-agent/default.nix index 0846c466e22a4..607ac0e6ce9be 100644 --- a/nixos/modules/services/continuous-integration/gocd-agent/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-agent/default.nix @@ -1,8 +1,15 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.gocd-agent; opt = options.services.gocd-agent; -in { +in +{ options = { services.gocd-agent = { enable = lib.mkEnableOption "gocd-agent"; @@ -27,14 +34,23 @@ in { extraGroups = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "wheel" "docker" ]; + example = [ + "wheel" + "docker" + ]; description = '' List of extra groups that the "gocd-agent" user should be a part of. ''; }; packages = lib.mkOption { - default = [ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]; + default = [ + pkgs.stdenv + pkgs.jre + pkgs.git + config.programs.ssh.package + pkgs.nix + ]; defaultText = lib.literalExpression "[ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]"; type = lib.types.listOf lib.types.package; description = '' @@ -167,19 +183,19 @@ in { environment = let - selectedSessionVars = - lib.filterAttrs (n: v: builtins.elem n [ "NIX_PATH" ]) - config.environment.sessionVariables; + selectedSessionVars = lib.filterAttrs ( + n: v: builtins.elem n [ "NIX_PATH" ] + ) config.environment.sessionVariables; in - selectedSessionVars // - { - NIX_REMOTE = "daemon"; - AGENT_WORK_DIR = cfg.workDir; - AGENT_STARTUP_ARGS = ''${lib.concatStringsSep " " cfg.startupOptions}''; - LOG_DIR = cfg.workDir; - LOG_FILE = "${cfg.workDir}/go-agent-start.log"; - } // - cfg.environment; + selectedSessionVars + // { + NIX_REMOTE = "daemon"; + AGENT_WORK_DIR = cfg.workDir; + AGENT_STARTUP_ARGS = ''${lib.concatStringsSep " " cfg.startupOptions}''; + LOG_DIR = cfg.workDir; + LOG_FILE = "${cfg.workDir}/go-agent-start.log"; + } + // cfg.environment; path = cfg.packages; diff --git a/nixos/modules/services/continuous-integration/gocd-server/default.nix b/nixos/modules/services/continuous-integration/gocd-server/default.nix index a1fb740c269d5..0997cb394cbe4 100644 --- a/nixos/modules/services/continuous-integration/gocd-server/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-server/default.nix @@ -1,11 +1,18 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; let cfg = config.services.gocd-server; opt = options.services.gocd-server; -in { +in +{ options = { services.gocd-server = { enable = mkEnableOption "gocd-server"; @@ -29,7 +36,10 @@ in { extraGroups = mkOption { default = [ ]; type = types.listOf types.str; - example = [ "wheel" "docker" ]; + example = [ + "wheel" + "docker" + ]; description = '' List of extra groups that the "gocd-server" user should be a part of. ''; @@ -69,7 +79,13 @@ in { }; packages = mkOption { - default = [ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]; + default = [ + pkgs.stdenv + pkgs.jre + pkgs.git + config.programs.ssh.package + pkgs.nix + ]; defaultText = literalExpression "[ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]"; type = types.listOf types.package; description = '' @@ -188,14 +204,15 @@ in { environment = let - selectedSessionVars = - lib.filterAttrs (n: v: builtins.elem n [ "NIX_PATH" ]) - config.environment.sessionVariables; + selectedSessionVars = lib.filterAttrs ( + n: v: builtins.elem n [ "NIX_PATH" ] + ) config.environment.sessionVariables; in - selectedSessionVars // - { NIX_REMOTE = "daemon"; - } // - cfg.environment; + selectedSessionVars + // { + NIX_REMOTE = "daemon"; + } + // cfg.environment; path = cfg.packages; diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix index a0d4a78a5f345..136ed5102e1a8 100644 --- a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix +++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix @@ -1,12 +1,16 @@ /* - This file is for options that NixOS and nix-darwin have in common. Platform-specific code is in the respective default.nix files. - */ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let inherit (lib) filterAttrs @@ -26,10 +30,21 @@ let in { imports = [ - (mkRenamedOptionModule [ "services" "hercules-ci-agent" "extraOptions" ] [ "services" "hercules-ci-agent" "settings" ]) - (mkRenamedOptionModule [ "services" "hercules-ci-agent" "baseDirectory" ] [ "services" "hercules-ci-agent" "settings" "baseDirectory" ]) - (mkRenamedOptionModule [ "services" "hercules-ci-agent" "concurrentTasks" ] [ "services" "hercules-ci-agent" "settings" "concurrentTasks" ]) - (mkRemovedOptionModule [ "services" "hercules-ci-agent" "patchNix" ] "Nix versions packaged in this version of Nixpkgs don't need a patched nix-daemon to work correctly in Hercules CI Agent clusters.") + (mkRenamedOptionModule + [ "services" "hercules-ci-agent" "extraOptions" ] + [ "services" "hercules-ci-agent" "settings" ] + ) + (mkRenamedOptionModule + [ "services" "hercules-ci-agent" "baseDirectory" ] + [ "services" "hercules-ci-agent" "settings" "baseDirectory" ] + ) + (mkRenamedOptionModule + [ "services" "hercules-ci-agent" "concurrentTasks" ] + [ "services" "hercules-ci-agent" "settings" "concurrentTasks" ] + ) + (mkRemovedOptionModule [ "services" "hercules-ci-agent" "patchNix" ] + "Nix versions packaged in this version of Nixpkgs don't need a patched nix-daemon to work correctly in Hercules CI Agent clusters." + ) ]; options.services.hercules-ci-agent = { @@ -78,8 +93,8 @@ in assertions = [ { assertion = - (cfg.settings.nixUserIsTrusted or false) -> - builtins.match ".*(^|\n)[ \t]*trusted-users[ \t]*=.*" config.nix.extraOptions == null; + (cfg.settings.nixUserIsTrusted or false) + -> builtins.match ".*(^|\n)[ \t]*trusted-users[ \t]*=.*" config.nix.extraOptions == null; message = '' hercules-ci-agent: Please do not set `trusted-users` in `nix.extraOptions`. @@ -100,8 +115,7 @@ in narinfo-cache-negative-ttl = 0 ''; services.hercules-ci-agent = { - tomlFile = - format.generate "hercules-ci-agent.toml" cfg.settings; + tomlFile = format.generate "hercules-ci-agent.toml" cfg.settings; settings.config._module.args = { packageOption = options.services.hercules-ci-agent.package; inherit pkgs; diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix index ad26b5316ddef..20c5deb02e8ec 100644 --- a/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix +++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix @@ -1,12 +1,15 @@ /* - This file is for NixOS-specific options and configs. Code that is shared with nix-darwin goes in common.nix. - */ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let inherit (lib) mkIf mkDefault; @@ -19,7 +22,10 @@ in { imports = [ ./common.nix - (lib.mkRenamedOptionModule [ "services" "hercules-ci-agent" "user" ] [ "systemd" "services" "hercules-ci-agent" "serviceConfig" "User" ]) + (lib.mkRenamedOptionModule + [ "services" "hercules-ci-agent" "user" ] + [ "systemd" "services" "hercules-ci-agent" "serviceConfig" "User" ] + ) ]; config = mkIf cfg.enable { @@ -53,7 +59,10 @@ in wantedBy = [ "hercules-ci-agent.service" ]; pathConfig = { Unit = "hercules-ci-agent-restarter.service"; - PathChanged = [ cfg.settings.clusterJoinTokenPath cfg.settings.binaryCachesPath ]; + PathChanged = [ + cfg.settings.clusterJoinTokenPath + cfg.settings.binaryCachesPath + ]; }; }; systemd.services.hercules-ci-agent-restarter = { diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/settings.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/settings.nix index e6e73090d4be6..a2e2f5d13d68e 100644 --- a/nixos/modules/services/continuous-integration/hercules-ci-agent/settings.nix +++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/settings.nix @@ -9,144 +9,152 @@ let format = pkgs.formats.toml { }; - settingsModule = { config, packageOption, pkgs, ... }: { - freeformType = format.type; - options = { - apiBaseUrl = mkOption { - description = '' - API base URL that the agent will connect to. - - When using Hercules CI Enterprise, set this to the URL where your - Hercules CI server is reachable. - ''; - type = types.str; - default = "https://hercules-ci.com"; + settingsModule = + { + config, + packageOption, + pkgs, + ... + }: + { + freeformType = format.type; + options = { + apiBaseUrl = mkOption { + description = '' + API base URL that the agent will connect to. + + When using Hercules CI Enterprise, set this to the URL where your + Hercules CI server is reachable. + ''; + type = types.str; + default = "https://hercules-ci.com"; + }; + baseDirectory = mkOption { + type = types.path; + default = "/var/lib/hercules-ci-agent"; + description = '' + State directory (secrets, work directory, etc) for agent + ''; + }; + concurrentTasks = mkOption { + description = '' + Number of tasks to perform simultaneously. + + A task is a single derivation build, an evaluation or an effect run. + At minimum, you need 2 concurrent tasks for `x86_64-linux` + in your cluster, to allow for import from derivation. + + `concurrentTasks` can be around the CPU core count or lower if memory is + the bottleneck. + + The optimal value depends on the resource consumption characteristics of your workload, + including memory usage and in-task parallelism. This is typically determined empirically. + + When scaling, it is generally better to have a double-size machine than two machines, + because each split of resources causes inefficiencies; particularly with regards + to build latency because of extra downloads. + ''; + type = types.either types.ints.positive (types.enum [ "auto" ]); + default = "auto"; + defaultText = lib.literalMD '' + `"auto"`, meaning equal to the number of CPU cores. + ''; + }; + labels = mkOption { + description = '' + A key-value map of user data. + + This data will be available to organization members in the dashboard and API. + + The values can be of any TOML type that corresponds to a JSON type, but arrays + can not contain tables/objects due to limitations of the TOML library. Values + involving arrays of non-primitive types may not be representable currently. + ''; + type = format.type; + defaultText = literalExpression '' + { + agent.source = "..."; # One of "nixpkgs", "flake", "override" + lib.version = "..."; + pkgs.version = "..."; + } + ''; + }; + workDirectory = mkOption { + description = '' + The directory in which temporary subdirectories are created for task state. This includes sources for Nix evaluation. + ''; + type = types.path; + default = config.baseDirectory + "/work"; + defaultText = literalExpression ''baseDirectory + "/work"''; + }; + staticSecretsDirectory = mkOption { + description = '' + This is the default directory to look for statically configured secrets like `cluster-join-token.key`. + + See also `clusterJoinTokenPath` and `binaryCachesPath` for fine-grained configuration. + ''; + type = types.path; + default = config.baseDirectory + "/secrets"; + defaultText = literalExpression ''baseDirectory + "/secrets"''; + }; + clusterJoinTokenPath = mkOption { + description = '' + Location of the cluster-join-token.key file. + + You can retrieve the contents of the file when creating a new agent via + . + + As this value is confidential, it should not be in the store, but + installed using other means, such as agenix, NixOps + `deployment.keys`, or manual installation. + + The contents of the file are used for authentication between the agent and the API. + ''; + type = types.path; + default = config.staticSecretsDirectory + "/cluster-join-token.key"; + defaultText = literalExpression ''staticSecretsDirectory + "/cluster-join-token.key"''; + }; + binaryCachesPath = mkOption { + description = '' + Path to a JSON file containing binary cache secret keys. + + As these values are confidential, they should not be in the store, but + copied over using other means, such as agenix, NixOps + `deployment.keys`, or manual installation. + + The format is described on . + ''; + type = types.path; + default = config.staticSecretsDirectory + "/binary-caches.json"; + defaultText = literalExpression ''staticSecretsDirectory + "/binary-caches.json"''; + }; + secretsJsonPath = mkOption { + description = '' + Path to a JSON file containing secrets for effects. + + As these values are confidential, they should not be in the store, but + copied over using other means, such as agenix, NixOps + `deployment.keys`, or manual installation. + + The format is described on . + ''; + type = types.path; + default = config.staticSecretsDirectory + "/secrets.json"; + defaultText = literalExpression ''staticSecretsDirectory + "/secrets.json"''; + }; }; - baseDirectory = mkOption { - type = types.path; - default = "/var/lib/hercules-ci-agent"; - description = '' - State directory (secrets, work directory, etc) for agent - ''; - }; - concurrentTasks = mkOption { - description = '' - Number of tasks to perform simultaneously. - - A task is a single derivation build, an evaluation or an effect run. - At minimum, you need 2 concurrent tasks for `x86_64-linux` - in your cluster, to allow for import from derivation. - - `concurrentTasks` can be around the CPU core count or lower if memory is - the bottleneck. - - The optimal value depends on the resource consumption characteristics of your workload, - including memory usage and in-task parallelism. This is typically determined empirically. - - When scaling, it is generally better to have a double-size machine than two machines, - because each split of resources causes inefficiencies; particularly with regards - to build latency because of extra downloads. - ''; - type = types.either types.ints.positive (types.enum [ "auto" ]); - default = "auto"; - defaultText = lib.literalMD '' - `"auto"`, meaning equal to the number of CPU cores. - ''; - }; - labels = mkOption { - description = '' - A key-value map of user data. - - This data will be available to organization members in the dashboard and API. - - The values can be of any TOML type that corresponds to a JSON type, but arrays - can not contain tables/objects due to limitations of the TOML library. Values - involving arrays of non-primitive types may not be representable currently. - ''; - type = format.type; - defaultText = literalExpression '' - { - agent.source = "..."; # One of "nixpkgs", "flake", "override" - lib.version = "..."; - pkgs.version = "..."; - } - ''; - }; - workDirectory = mkOption { - description = '' - The directory in which temporary subdirectories are created for task state. This includes sources for Nix evaluation. - ''; - type = types.path; - default = config.baseDirectory + "/work"; - defaultText = literalExpression ''baseDirectory + "/work"''; - }; - staticSecretsDirectory = mkOption { - description = '' - This is the default directory to look for statically configured secrets like `cluster-join-token.key`. - - See also `clusterJoinTokenPath` and `binaryCachesPath` for fine-grained configuration. - ''; - type = types.path; - default = config.baseDirectory + "/secrets"; - defaultText = literalExpression ''baseDirectory + "/secrets"''; - }; - clusterJoinTokenPath = mkOption { - description = '' - Location of the cluster-join-token.key file. - - You can retrieve the contents of the file when creating a new agent via - . - - As this value is confidential, it should not be in the store, but - installed using other means, such as agenix, NixOps - `deployment.keys`, or manual installation. - - The contents of the file are used for authentication between the agent and the API. - ''; - type = types.path; - default = config.staticSecretsDirectory + "/cluster-join-token.key"; - defaultText = literalExpression ''staticSecretsDirectory + "/cluster-join-token.key"''; - }; - binaryCachesPath = mkOption { - description = '' - Path to a JSON file containing binary cache secret keys. - - As these values are confidential, they should not be in the store, but - copied over using other means, such as agenix, NixOps - `deployment.keys`, or manual installation. - - The format is described on . - ''; - type = types.path; - default = config.staticSecretsDirectory + "/binary-caches.json"; - defaultText = literalExpression ''staticSecretsDirectory + "/binary-caches.json"''; - }; - secretsJsonPath = mkOption { - description = '' - Path to a JSON file containing secrets for effects. - - As these values are confidential, they should not be in the store, but - copied over using other means, such as agenix, NixOps - `deployment.keys`, or manual installation. - - The format is described on . - ''; - type = types.path; - default = config.staticSecretsDirectory + "/secrets.json"; - defaultText = literalExpression ''staticSecretsDirectory + "/secrets.json"''; - }; - }; - config = { - labels = { - agent.source = - if packageOption.highestPrio == (lib.modules.mkOptionDefault { }).priority - then "nixpkgs" - else lib.mkOptionDefault "override"; - pkgs.version = pkgs.lib.version; - lib.version = lib.version; + config = { + labels = { + agent.source = + if packageOption.highestPrio == (lib.modules.mkOptionDefault { }).priority then + "nixpkgs" + else + lib.mkOptionDefault "override"; + pkgs.version = pkgs.lib.version; + lib.version = lib.version; + }; }; }; - }; in { inherit format settingsModule; diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index cba1a07ed7898..c76aac1fa7ded 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jenkins; jenkinsUrl = "http://${cfg.listenAddress}:${toString cfg.port}${cfg.prefix}"; -in { +in +{ options = { services.jenkins = { enable = lib.mkOption { @@ -33,7 +39,10 @@ in { extraGroups = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "wheel" "dialout" ]; + example = [ + "wheel" + "dialout" + ]; description = '' List of extra groups that the "jenkins" user should be a part of. ''; @@ -81,7 +90,13 @@ in { package = lib.mkPackageOption pkgs "jenkins" { }; packages = lib.mkOption { - default = [ pkgs.stdenv pkgs.git pkgs.jdk17 config.programs.ssh.package pkgs.nix ]; + default = [ + pkgs.stdenv + pkgs.git + pkgs.jdk17 + config.programs.ssh.package + pkgs.nix + ]; defaultText = lib.literalExpression "[ pkgs.stdenv pkgs.git pkgs.jdk17 config.programs.ssh.package pkgs.nix ]"; type = lib.types.listOf lib.types.package; description = '' @@ -158,7 +173,8 @@ in { pkgs.dejavu_fonts ] ++ lib.optional cfg.withCLI cfg.package; - variables = {} + variables = + { } // lib.optionalAttrs cfg.withCLI { # Make it more convenient to use the `jenkins-cli`. JENKINS_URL = jenkinsUrl; @@ -188,32 +204,35 @@ in { environment = let - selectedSessionVars = - lib.filterAttrs (n: v: builtins.elem n [ "NIX_PATH" ]) - config.environment.sessionVariables; + selectedSessionVars = lib.filterAttrs ( + n: v: builtins.elem n [ "NIX_PATH" ] + ) config.environment.sessionVariables; in - selectedSessionVars // - { JENKINS_HOME = cfg.home; - NIX_REMOTE = "daemon"; - } // - cfg.environment; + selectedSessionVars + // { + JENKINS_HOME = cfg.home; + NIX_REMOTE = "daemon"; + } + // cfg.environment; path = cfg.packages; # Force .war (re)extraction, or else we might run stale Jenkins. preStart = - let replacePlugins = - lib.optionalString (cfg.plugins != null) ( - let pluginCmds = lib.mapAttrsToList - (n: v: "cp ${v} ${cfg.home}/plugins/${n}.jpi") - cfg.plugins; - in '' - rm -r ${cfg.home}/plugins || true - mkdir -p ${cfg.home}/plugins - ${lib.concatStringsSep "\n" pluginCmds} - ''); - in '' + let + replacePlugins = lib.optionalString (cfg.plugins != null) ( + let + pluginCmds = lib.mapAttrsToList (n: v: "cp ${v} ${cfg.home}/plugins/${n}.jpi") cfg.plugins; + in + '' + rm -r ${cfg.home}/plugins || true + mkdir -p ${cfg.home}/plugins + ${lib.concatStringsSep "\n" pluginCmds} + '' + ); + in + '' rm -rf ${cfg.home}/war ${replacePlugins} ''; diff --git a/nixos/modules/services/continuous-integration/jenkins/job-builder.nix b/nixos/modules/services/continuous-integration/jenkins/job-builder.nix index ccad25cb92a73..12c1c886c6332 100644 --- a/nixos/modules/services/continuous-integration/jenkins/job-builder.nix +++ b/nixos/modules/services/continuous-integration/jenkins/job-builder.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let jenkinsCfg = config.services.jenkins; cfg = config.services.jenkins.jobBuilder; -in { +in +{ options = { services.jenkins.jobBuilder = { enable = lib.mkEnableOption '' @@ -109,11 +115,13 @@ in { config = lib.mkIf (jenkinsCfg.enable && cfg.enable) { assertions = [ - { assertion = - if cfg.accessUser != "" - then (cfg.accessToken != "" && cfg.accessTokenFile == "") || - (cfg.accessToken == "" && cfg.accessTokenFile != "") - else true; + { + assertion = + if cfg.accessUser != "" then + (cfg.accessToken != "" && cfg.accessTokenFile == "") + || (cfg.accessToken == "" && cfg.accessTokenFile != "") + else + true; message = '' One of accessToken and accessTokenFile options must be non-empty strings, but not both. Current values: @@ -130,7 +138,10 @@ in { after = [ "jenkins.service" ]; wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ jenkins-job-builder curl ]; + path = with pkgs; [ + jenkins-job-builder + curl + ]; # Q: Why manipulate files directly instead of using "jenkins-jobs upload [...]"? # A: Because this module is for administering a local jenkins install, @@ -139,9 +150,9 @@ in { script = let yamlJobsFile = builtins.toFile "jobs.yaml" cfg.yamlJobs; - jsonJobsFiles = - map (x: (builtins.toFile "jobs.json" x)) - (cfg.jsonJobs ++ [(builtins.toJSON cfg.nixJobs)]); + jsonJobsFiles = map (x: (builtins.toFile "jobs.json" x)) ( + cfg.jsonJobs ++ [ (builtins.toJSON cfg.nixJobs) ] + ); jobBuilderOutputDir = "/run/jenkins-job-builder/output"; # Stamp file is placed in $JENKINS_HOME/jobs/$JOB_NAME/ to indicate # ownership. Enables tracking and removal of stale jobs. @@ -149,9 +160,12 @@ in { reloadScript = '' echo "Asking Jenkins to reload config" curl_opts="--silent --fail --show-error" - access_token_file=${if cfg.accessTokenFile != "" - then cfg.accessTokenFile - else "$RUNTIME_DIRECTORY/jenkins_access_token.txt"} + access_token_file=${ + if cfg.accessTokenFile != "" then + cfg.accessTokenFile + else + "$RUNTIME_DIRECTORY/jenkins_access_token.txt" + } if [ "${cfg.accessToken}" != "" ]; then (umask 0077; printf "${cfg.accessToken}" >"$access_token_file") fi @@ -167,74 +181,75 @@ in { fi ''; in - '' - joinByString() - { - local separator="$1" - shift - local first="$1" - shift - printf "%s" "$first" "''${@/#/$separator}" - } + '' + joinByString() + { + local separator="$1" + shift + local first="$1" + shift + printf "%s" "$first" "''${@/#/$separator}" + } - # Map a relative directory path in the output from - # jenkins-job-builder (jobname) to the layout expected by jenkins: - # each directory level gets prepended "jobs/". - getJenkinsJobDir() - { - IFS='/' read -ra input_dirs <<< "$1" - printf "jobs/" - joinByString "/jobs/" "''${input_dirs[@]}" - } + # Map a relative directory path in the output from + # jenkins-job-builder (jobname) to the layout expected by jenkins: + # each directory level gets prepended "jobs/". + getJenkinsJobDir() + { + IFS='/' read -ra input_dirs <<< "$1" + printf "jobs/" + joinByString "/jobs/" "''${input_dirs[@]}" + } - # The inverse of getJenkinsJobDir (remove the "jobs/" prefixes) - getJobname() - { - IFS='/' read -ra input_dirs <<< "$1" - local i=0 - local nelem=''${#input_dirs[@]} - for e in "''${input_dirs[@]}"; do - if [ $((i % 2)) -eq 1 ]; then - printf "$e" - if [ $i -lt $(( nelem - 1 )) ]; then - printf "/" - fi - fi - i=$((i + 1)) - done - } + # The inverse of getJenkinsJobDir (remove the "jobs/" prefixes) + getJobname() + { + IFS='/' read -ra input_dirs <<< "$1" + local i=0 + local nelem=''${#input_dirs[@]} + for e in "''${input_dirs[@]}"; do + if [ $((i % 2)) -eq 1 ]; then + printf "$e" + if [ $i -lt $(( nelem - 1 )) ]; then + printf "/" + fi + fi + i=$((i + 1)) + done + } + + rm -rf ${jobBuilderOutputDir} + cur_decl_jobs=/run/jenkins-job-builder/declarative-jobs + rm -f "$cur_decl_jobs" + + # Create / update jobs + mkdir -p ${jobBuilderOutputDir} + for inputFile in ${yamlJobsFile} ${lib.concatStringsSep " " jsonJobsFiles}; do + HOME="${jenkinsCfg.home}" "${pkgs.jenkins-job-builder}/bin/jenkins-jobs" --ignore-cache test --config-xml -o "${jobBuilderOutputDir}" "$inputFile" + done + + find "${jobBuilderOutputDir}" -type f -name config.xml | while read -r f; do echo "$(dirname "$f")"; done | sort | while read -r dir; do + jobname="$(realpath --relative-to="${jobBuilderOutputDir}" "$dir")" + jenkinsjobname=$(getJenkinsJobDir "$jobname") + jenkinsjobdir="${jenkinsCfg.home}/$jenkinsjobname" + echo "Creating / updating job \"$jobname\"" + mkdir -p "$jenkinsjobdir" + touch "$jenkinsjobdir/${ownerStamp}" + cp "$dir"/config.xml "$jenkinsjobdir/config.xml" + echo "$jenkinsjobname" >> "$cur_decl_jobs" + done - rm -rf ${jobBuilderOutputDir} - cur_decl_jobs=/run/jenkins-job-builder/declarative-jobs - rm -f "$cur_decl_jobs" - - # Create / update jobs - mkdir -p ${jobBuilderOutputDir} - for inputFile in ${yamlJobsFile} ${lib.concatStringsSep " " jsonJobsFiles}; do - HOME="${jenkinsCfg.home}" "${pkgs.jenkins-job-builder}/bin/jenkins-jobs" --ignore-cache test --config-xml -o "${jobBuilderOutputDir}" "$inputFile" - done - - find "${jobBuilderOutputDir}" -type f -name config.xml | while read -r f; do echo "$(dirname "$f")"; done | sort | while read -r dir; do - jobname="$(realpath --relative-to="${jobBuilderOutputDir}" "$dir")" - jenkinsjobname=$(getJenkinsJobDir "$jobname") - jenkinsjobdir="${jenkinsCfg.home}/$jenkinsjobname" - echo "Creating / updating job \"$jobname\"" - mkdir -p "$jenkinsjobdir" - touch "$jenkinsjobdir/${ownerStamp}" - cp "$dir"/config.xml "$jenkinsjobdir/config.xml" - echo "$jenkinsjobname" >> "$cur_decl_jobs" - done - - # Remove stale jobs - find "${jenkinsCfg.home}" -type f -name "${ownerStamp}" | while read -r f; do echo "$(dirname "$f")"; done | sort --reverse | while read -r dir; do - jenkinsjobname="$(realpath --relative-to="${jenkinsCfg.home}" "$dir")" - grep --quiet --line-regexp "$jenkinsjobname" "$cur_decl_jobs" 2>/dev/null && continue - jobname=$(getJobname "$jenkinsjobname") - echo "Deleting stale job \"$jobname\"" - jobdir="${jenkinsCfg.home}/$jenkinsjobname" - rm -rf "$jobdir" - done - '' + (lib.optionalString (cfg.accessUser != "") reloadScript); + # Remove stale jobs + find "${jenkinsCfg.home}" -type f -name "${ownerStamp}" | while read -r f; do echo "$(dirname "$f")"; done | sort --reverse | while read -r dir; do + jenkinsjobname="$(realpath --relative-to="${jenkinsCfg.home}" "$dir")" + grep --quiet --line-regexp "$jenkinsjobname" "$cur_decl_jobs" 2>/dev/null && continue + jobname=$(getJobname "$jenkinsjobname") + echo "Deleting stale job \"$jobname\"" + jobdir="${jenkinsCfg.home}/$jenkinsjobname" + rm -rf "$jobdir" + done + '' + + (lib.optionalString (cfg.accessUser != "") reloadScript); serviceConfig = { Type = "oneshot"; User = jenkinsCfg.user; diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix index d5a6b93a6cf8d..aa374834743a8 100644 --- a/nixos/modules/services/continuous-integration/jenkins/slave.nix +++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) mkIf mkOption types; cfg = config.services.jenkinsSlave; masterCfg = config.services.jenkins; -in { +in +{ options = { services.jenkinsSlave = { # todo: diff --git a/nixos/modules/services/continuous-integration/woodpecker/agents.nix b/nixos/modules/services/continuous-integration/woodpecker/agents.nix index b88bc6a0ccac0..5d18dd9c2f4bf 100644 --- a/nixos/modules/services/continuous-integration/woodpecker/agents.nix +++ b/nixos/modules/services/continuous-integration/woodpecker/agents.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let diff --git a/nixos/modules/services/continuous-integration/woodpecker/server.nix b/nixos/modules/services/continuous-integration/woodpecker/server.nix index 6e3cfb0b0114c..15d2d703c0d54 100644 --- a/nixos/modules/services/continuous-integration/woodpecker/server.nix +++ b/nixos/modules/services/continuous-integration/woodpecker/server.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -10,7 +11,6 @@ in { meta.maintainers = with lib.maintainers; [ ambroisie ]; - options = { services.woodpecker-server = { enable = lib.mkEnableOption "the Woodpecker-Server, a CI/CD application for automatic builds, deployments and tests"; @@ -18,16 +18,15 @@ in environment = lib.mkOption { default = { }; type = lib.types.attrsOf lib.types.str; - example = lib.literalExpression - '' - { - WOODPECKER_HOST = "https://woodpecker.example.com"; - WOODPECKER_OPEN = "true"; - WOODPECKER_GITEA = "true"; - WOODPECKER_GITEA_CLIENT = "ffffffff-ffff-ffff-ffff-ffffffffffff"; - WOODPECKER_GITEA_URL = "https://git.example.com"; - } - ''; + example = lib.literalExpression '' + { + WOODPECKER_HOST = "https://woodpecker.example.com"; + WOODPECKER_OPEN = "true"; + WOODPECKER_GITEA = "true"; + WOODPECKER_GITEA_CLIENT = "ffffffff-ffff-ffff-ffff-ffffffffffff"; + WOODPECKER_GITEA_URL = "https://git.example.com"; + } + ''; description = "woodpecker-server config environment variables, for other options read the [documentation](https://woodpecker-ci.org/docs/administration/server-config)"; }; environmentFile = lib.mkOption { @@ -95,4 +94,3 @@ in }; }; } - diff --git a/nixos/modules/services/databases/aerospike.nix b/nixos/modules/services/databases/aerospike.nix index 6608d105a339f..3e9bb53811481 100644 --- a/nixos/modules/services/databases/aerospike.nix +++ b/nixos/modules/services/databases/aerospike.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.aerospike; @@ -92,7 +97,6 @@ in }; - ###### implementation config = lib.mkIf config.services.aerospike.enable { diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index c8fce9b939db1..0130564778e68 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -36,27 +41,34 @@ let data_file_directories = [ "${cfg.homeDir}/data" ]; commitlog_directory = "${cfg.homeDir}/commitlog"; saved_caches_directory = "${cfg.homeDir}/saved_caches"; - } // optionalAttrs (cfg.seedAddresses != [ ]) { + } + // optionalAttrs (cfg.seedAddresses != [ ]) { seed_provider = [ { class_name = "org.apache.cassandra.locator.SimpleSeedProvider"; - parameters = [{ seeds = concatStringsSep "," cfg.seedAddresses; }]; + parameters = [ { seeds = concatStringsSep "," cfg.seedAddresses; } ]; } ]; - } // optionalAttrs atLeast3 { + } + // optionalAttrs atLeast3 { hints_directory = "${cfg.homeDir}/hints"; } ); - cassandraConfigWithAddresses = cassandraConfig // ( - if cfg.listenAddress == null - then { listen_interface = cfg.listenInterface; } - else { listen_address = cfg.listenAddress; } - ) // ( - if cfg.rpcAddress == null - then { rpc_interface = cfg.rpcInterface; } - else { rpc_address = cfg.rpcAddress; } - ); + cassandraConfigWithAddresses = + cassandraConfig + // ( + if cfg.listenAddress == null then + { listen_interface = cfg.listenInterface; } + else + { listen_address = cfg.listenAddress; } + ) + // ( + if cfg.rpcAddress == null then + { rpc_interface = cfg.rpcInterface; } + else + { rpc_address = cfg.rpcAddress; } + ); cassandraEtc = pkgs.stdenv.mkDerivation { name = "cassandra-etc"; @@ -91,19 +103,20 @@ let ''; }; - defaultJmxRolesFile = - builtins.foldl' - (left: right: left + right) "" - (map (role: "${role.username} ${role.password}") cfg.jmxRoles); + defaultJmxRolesFile = builtins.foldl' (left: right: left + right) "" ( + map (role: "${role.username} ${role.password}") cfg.jmxRoles + ); fullJvmOptions = cfg.jvmOpts ++ optionals (cfg.jmxRoles != [ ]) [ "-Dcom.sun.management.jmxremote.authenticate=true" "-Dcom.sun.management.jmxremote.password.file=${cfg.jmxRolesFile}" - ] ++ optionals cfg.remoteJmx [ + ] + ++ optionals cfg.remoteJmx [ "-Djava.rmi.server.hostname=${cfg.rpcAddress}" - ] ++ optionals atLeast4 [ + ] + ++ optionals atLeast4 [ # Historically, we don't use a log dir, whereas the upstream scripts do # expect this. We override those by providing our own -Xlog:gc flag. "-Xlog:gc=warning,heap*=warning,age*=warning,safepoint=warning,promotion*=warning" @@ -280,10 +293,9 @@ in extraConfig = mkOption { type = types.attrs; default = { }; - example = - { - commitlog_sync_batch_window_in_ms = 3; - }; + example = { + commitlog_sync_batch_window_in_ms = 3; + }; description = '' Extra options to be merged into {file}`cassandra.yaml` as nix attribute set. ''; @@ -432,26 +444,25 @@ in Doesn't work in versions older than 3.11 because they don't like that it's world readable. ''; - type = types.listOf (types.submodule { - options = { - username = mkOption { - type = types.str; - description = "Username for JMX"; - }; - password = mkOption { - type = types.str; - description = "Password for JMX"; + type = types.listOf ( + types.submodule { + options = { + username = mkOption { + type = types.str; + description = "Username for JMX"; + }; + password = mkOption { + type = types.str; + description = "Password for JMX"; + }; }; - }; - }); + } + ); }; jmxRolesFile = mkOption { type = types.nullOr types.path; - default = - if atLeast3_11 - then pkgs.writeText "jmx-roles-file" defaultJmxRolesFile - else null; + default = if atLeast3_11 then pkgs.writeText "jmx-roles-file" defaultJmxRolesFile else null; defaultText = literalMD ''generated configuration file if version is at least 3.11, otherwise `null`''; example = "/var/lib/cassandra/jmx.password"; description = '' @@ -525,26 +536,26 @@ in serviceConfig = { User = cfg.user; Group = cfg.group; - ExecStart = - concatStringsSep " " - ([ - "${cfg.package}/bin/nodetool" - "repair" - "--full" - ] ++ cfg.fullRepairOptions); + ExecStart = concatStringsSep " " ( + [ + "${cfg.package}/bin/nodetool" + "repair" + "--full" + ] + ++ cfg.fullRepairOptions + ); }; }; - systemd.timers.cassandra-full-repair = - mkIf (cfg.fullRepairInterval != null) { - description = "Schedule full repairs on Cassandra"; - wantedBy = [ "timers.target" ]; - timerConfig = { - OnBootSec = cfg.fullRepairInterval; - OnUnitActiveSec = cfg.fullRepairInterval; - Persistent = true; - }; + systemd.timers.cassandra-full-repair = mkIf (cfg.fullRepairInterval != null) { + description = "Schedule full repairs on Cassandra"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = cfg.fullRepairInterval; + OnUnitActiveSec = cfg.fullRepairInterval; + Persistent = true; }; + }; systemd.services.cassandra-incremental-repair = { description = "Perform an incremental repair on this cassandra node."; @@ -554,25 +565,25 @@ in serviceConfig = { User = cfg.user; Group = cfg.group; - ExecStart = - concatStringsSep " " - ([ - "${cfg.package}/bin/nodetool" - "repair" - ] ++ cfg.incrementalRepairOptions); + ExecStart = concatStringsSep " " ( + [ + "${cfg.package}/bin/nodetool" + "repair" + ] + ++ cfg.incrementalRepairOptions + ); }; }; - systemd.timers.cassandra-incremental-repair = - mkIf (cfg.incrementalRepairInterval != null) { - description = "Schedule incremental repairs on Cassandra"; - wantedBy = [ "timers.target" ]; - timerConfig = { - OnBootSec = cfg.incrementalRepairInterval; - OnUnitActiveSec = cfg.incrementalRepairInterval; - Persistent = true; - }; + systemd.timers.cassandra-incremental-repair = mkIf (cfg.incrementalRepairInterval != null) { + description = "Schedule incremental repairs on Cassandra"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = cfg.incrementalRepairInterval; + OnUnitActiveSec = cfg.incrementalRepairInterval; + Persistent = true; }; + }; }; meta.maintainers = with lib.maintainers; [ roberth ]; diff --git a/nixos/modules/services/databases/clickhouse.nix b/nixos/modules/services/databases/clickhouse.nix index 9025b9a869584..18251d2e4d77c 100644 --- a/nixos/modules/services/databases/clickhouse.nix +++ b/nixos/modules/services/databases/clickhouse.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.clickhouse; in @@ -18,7 +23,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/databases/cockroachdb.nix b/nixos/modules/services/databases/cockroachdb.nix index e46a8dd600b3e..f581d7f6d505d 100644 --- a/nixos/modules/services/databases/cockroachdb.nix +++ b/nixos/modules/services/databases/cockroachdb.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.cockroachdb; crdb = cfg.package; - startupCommand = utils.escapeSystemdExecArgs - ([ + startupCommand = utils.escapeSystemdExecArgs ( + [ # Basic startup "${crdb}/bin/cockroach" "start" @@ -26,7 +32,8 @@ let ] ++ lib.optional (cfg.join != null) "--join=${cfg.join}" ++ lib.optional (cfg.locality != null) "--locality=${cfg.locality}" - ++ cfg.extraArgs); + ++ cfg.extraArgs + ); addressOption = descr: defaultPort: { address = lib.mkOption { @@ -152,8 +159,11 @@ in extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "--advertise-addr" "[fe80::f6f2:::]" ]; + default = [ ]; + example = [ + "--advertise-addr" + "[fe80::f6f2:::]" + ]; description = '' Extra CLI arguments passed to {command}`cockroach start`. For the full list of supported arguments, check @@ -164,7 +174,8 @@ in config = lib.mkIf config.services.cockroachdb.enable { assertions = [ - { assertion = !cfg.insecure -> cfg.certsDir != null; + { + assertion = !cfg.insecure -> cfg.certsDir != null; message = "CockroachDB must have a set of SSL certificates (.certsDir), or run in Insecure Mode (.insecure = true)"; } ]; @@ -174,8 +185,8 @@ in users.users = lib.optionalAttrs (cfg.user == "cockroachdb") { cockroachdb = { description = "CockroachDB Server User"; - uid = config.ids.uids.cockroachdb; - group = cfg.group; + uid = config.ids.uids.cockroachdb; + group = cfg.group; }; }; @@ -183,34 +194,42 @@ in cockroachdb.gid = config.ids.gids.cockroachdb; }; - networking.firewall.allowedTCPPorts = lib.optionals cfg.openPorts - [ cfg.http.port cfg.listen.port ]; - - systemd.services.cockroachdb = - { description = "CockroachDB Server"; - documentation = [ "man:cockroach(1)" "https://www.cockroachlabs.com" ]; - - after = [ "network.target" "time-sync.target" ]; - requires = [ "time-sync.target" ]; - wantedBy = [ "multi-user.target" ]; - - unitConfig.RequiresMountsFor = "/var/lib/cockroachdb"; - - serviceConfig = - { ExecStart = startupCommand; - Type = "notify"; - User = cfg.user; - StateDirectory = "cockroachdb"; - StateDirectoryMode = "0700"; - - Restart = "always"; + networking.firewall.allowedTCPPorts = lib.optionals cfg.openPorts [ + cfg.http.port + cfg.listen.port + ]; - # A conservative-ish timeout is alright here, because for Type=notify - # cockroach will send systemd pings during startup to keep it alive - TimeoutStopSec = 60; - RestartSec = 10; - }; + systemd.services.cockroachdb = { + description = "CockroachDB Server"; + documentation = [ + "man:cockroach(1)" + "https://www.cockroachlabs.com" + ]; + + after = [ + "network.target" + "time-sync.target" + ]; + requires = [ "time-sync.target" ]; + wantedBy = [ "multi-user.target" ]; + + unitConfig.RequiresMountsFor = "/var/lib/cockroachdb"; + + serviceConfig = { + ExecStart = startupCommand; + Type = "notify"; + User = cfg.user; + StateDirectory = "cockroachdb"; + StateDirectoryMode = "0700"; + + Restart = "always"; + + # A conservative-ish timeout is alright here, because for Type=notify + # cockroach will send systemd pings during startup to keep it alive + TimeoutStopSec = 60; + RestartSec = 10; }; + }; }; meta.maintainers = with lib.maintainers; [ thoughtpolice ]; diff --git a/nixos/modules/services/databases/dgraph.nix b/nixos/modules/services/databases/dgraph.nix index 20bc56df85a48..81d160052413d 100644 --- a/nixos/modules/services/databases/dgraph.nix +++ b/nixos/modules/services/databases/dgraph.nix @@ -1,50 +1,67 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.dgraph; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; configFile = settingsFormat.generate "config.json" cfg.settings; - dgraphWithNode = pkgs.runCommand "dgraph" { - nativeBuildInputs = [ pkgs.makeWrapper ]; - } - '' - mkdir -p $out/bin - makeWrapper ${cfg.package}/bin/dgraph $out/bin/dgraph \ - --prefix PATH : "${lib.makeBinPath [ pkgs.nodejs ]}" \ - ''; + dgraphWithNode = + pkgs.runCommand "dgraph" + { + nativeBuildInputs = [ pkgs.makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper ${cfg.package}/bin/dgraph $out/bin/dgraph \ + --prefix PATH : "${lib.makeBinPath [ pkgs.nodejs ]}" \ + ''; securityOptions = { - NoNewPrivileges = true; - - AmbientCapabilities = ""; - CapabilityBoundingSet = ""; - - DeviceAllow = ""; - - LockPersonality = true; - - PrivateTmp = true; - PrivateDevices = true; - PrivateUsers = true; - - ProtectClock = true; - ProtectControlGroups = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - - RemoveIPC = true; - - RestrictNamespaces = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; - RestrictRealtime = true; - RestrictSUIDSGID = true; - - SystemCallArchitectures = "native"; - SystemCallErrorNumber = "EPERM"; - SystemCallFilter = [ - "@system-service" - "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid" - ]; + NoNewPrivileges = true; + + AmbientCapabilities = ""; + CapabilityBoundingSet = ""; + + DeviceAllow = ""; + + LockPersonality = true; + + PrivateTmp = true; + PrivateDevices = true; + PrivateUsers = true; + + ProtectClock = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + + RemoveIPC = true; + + RestrictNamespaces = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictRealtime = true; + RestrictSUIDSGID = true; + + SystemCallArchitectures = "native"; + SystemCallErrorNumber = "EPERM"; + SystemCallFilter = [ + "@system-service" + "~@cpu-emulation" + "~@debug" + "~@keyring" + "~@memlock" + "~@obsolete" + "~@privileged" + "~@setuid" + ]; }; in { @@ -56,7 +73,7 @@ in settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Contents of the dgraph config. For more details see https://dgraph.io/docs/deploy/config ''; @@ -121,7 +138,10 @@ in systemd.services.dgraph-alpha = { description = "Dgraph native GraphQL database with a graph backend. Alpha serves data"; - after = [ "network.target" "dgraph-zero.service" ]; + after = [ + "network.target" + "dgraph-zero.service" + ]; requires = [ "dgraph-zero.service" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/databases/dragonflydb.nix b/nixos/modules/services/databases/dragonflydb.nix index 9024b584abc32..3a7f005fce4ff 100644 --- a/nixos/modules/services/databases/dragonflydb.nix +++ b/nixos/modules/services/databases/dragonflydb.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dragonflydb; dragonflydb = pkgs.dragonflydb; @@ -8,13 +13,13 @@ let port = cfg.port; dir = "/var/lib/dragonflydb"; keys_output_limit = cfg.keysOutputLimit; - } // - (lib.optionalAttrs (cfg.bind != null) { bind = cfg.bind; }) // - (lib.optionalAttrs (cfg.requirePass != null) { requirepass = cfg.requirePass; }) // - (lib.optionalAttrs (cfg.maxMemory != null) { maxmemory = cfg.maxMemory; }) // - (lib.optionalAttrs (cfg.memcachePort != null) { memcache_port = cfg.memcachePort; }) // - (lib.optionalAttrs (cfg.dbNum != null) { dbnum = cfg.dbNum; }) // - (lib.optionalAttrs (cfg.cacheMode != null) { cache_mode = cfg.cacheMode; }); + } + // (lib.optionalAttrs (cfg.bind != null) { bind = cfg.bind; }) + // (lib.optionalAttrs (cfg.requirePass != null) { requirepass = cfg.requirePass; }) + // (lib.optionalAttrs (cfg.maxMemory != null) { maxmemory = cfg.maxMemory; }) + // (lib.optionalAttrs (cfg.memcachePort != null) { memcache_port = cfg.memcachePort; }) + // (lib.optionalAttrs (cfg.dbNum != null) { dbnum = cfg.dbNum; }) + // (lib.optionalAttrs (cfg.cacheMode != null) { cache_mode = cfg.cacheMode; }); in { @@ -117,7 +122,9 @@ in after = [ "network.target" ]; serviceConfig = { - ExecStart = "${dragonflydb}/bin/dragonfly --alsologtostderr ${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "--${n} ${lib.escapeShellArg v}") settings)}"; + ExecStart = "${dragonflydb}/bin/dragonfly --alsologtostderr ${ + lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "--${n} ${lib.escapeShellArg v}") settings) + }"; User = cfg.user; @@ -139,7 +146,10 @@ in ProtectKernelModules = true; ProtectControlGroups = true; LockPersonality = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictRealtime = true; PrivateMounts = true; MemoryDenyWriteExecute = true; diff --git a/nixos/modules/services/databases/etcd.nix b/nixos/modules/services/databases/etcd.nix index b10fdb801c501..051547d1dd5a4 100644 --- a/nixos/modules/services/databases/etcd.nix +++ b/nixos/modules/services/databases/etcd.nix @@ -1,9 +1,16 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.etcd; opt = options.services.etcd; -in { +in +{ options.services.etcd = { enable = lib.mkOption { @@ -30,13 +37,13 @@ in { listenClientUrls = lib.mkOption { description = "Etcd list of URLs to listen on for client traffic."; - default = ["http://127.0.0.1:2379"]; + default = [ "http://127.0.0.1:2379" ]; type = lib.types.listOf lib.types.str; }; listenPeerUrls = lib.mkOption { description = "Etcd list of URLs to listen on for peer traffic."; - default = ["http://127.0.0.1:2380"]; + default = [ "http://127.0.0.1:2380" ]; type = lib.types.listOf lib.types.str; }; @@ -49,7 +56,7 @@ in { initialCluster = lib.mkOption { description = "Etcd initial cluster configuration for bootstrapping."; - default = ["${cfg.name}=http://127.0.0.1:2380"]; + default = [ "${cfg.name}=http://127.0.0.1:2380" ]; defaultText = lib.literalExpression ''["''${config.${opt.name}}=http://127.0.0.1:2380"]''; type = lib.types.listOf lib.types.str; }; @@ -57,7 +64,10 @@ in { initialClusterState = lib.mkOption { description = "Etcd initial cluster configuration for bootstrapping."; default = "new"; - type = lib.types.enum ["new" "existing"]; + type = lib.types.enum [ + "new" + "existing" + ]; }; initialClusterToken = lib.mkOption { @@ -140,7 +150,7 @@ in { ''; type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = lib.literalExpression '' { "CORS" = "*"; @@ -168,32 +178,37 @@ in { systemd.services.etcd = { description = "etcd key-value store"; wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" ] - ++ lib.optional config.networking.firewall.enable "firewall.service"; - wants = [ "network-online.target" ] - ++ lib.optional config.networking.firewall.enable "firewall.service"; - - environment = (lib.filterAttrs (n: v: v != null) { - ETCD_NAME = cfg.name; - ETCD_DISCOVERY = cfg.discovery; - ETCD_DATA_DIR = cfg.dataDir; - ETCD_ADVERTISE_CLIENT_URLS = lib.concatStringsSep "," cfg.advertiseClientUrls; - ETCD_LISTEN_CLIENT_URLS = lib.concatStringsSep "," cfg.listenClientUrls; - ETCD_LISTEN_PEER_URLS = lib.concatStringsSep "," cfg.listenPeerUrls; - ETCD_INITIAL_ADVERTISE_PEER_URLS = lib.concatStringsSep "," cfg.initialAdvertisePeerUrls; - ETCD_PEER_CLIENT_CERT_AUTH = toString cfg.peerClientCertAuth; - ETCD_PEER_TRUSTED_CA_FILE = cfg.peerTrustedCaFile; - ETCD_PEER_CERT_FILE = cfg.peerCertFile; - ETCD_PEER_KEY_FILE = cfg.peerKeyFile; - ETCD_CLIENT_CERT_AUTH = toString cfg.clientCertAuth; - ETCD_TRUSTED_CA_FILE = cfg.trustedCaFile; - ETCD_CERT_FILE = cfg.certFile; - ETCD_KEY_FILE = cfg.keyFile; - }) // (lib.optionalAttrs (cfg.discovery == ""){ - ETCD_INITIAL_CLUSTER = lib.concatStringsSep "," cfg.initialCluster; - ETCD_INITIAL_CLUSTER_STATE = cfg.initialClusterState; - ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken; - }) // (lib.mapAttrs' (n: v: lib.nameValuePair "ETCD_${n}" v) cfg.extraConf); + after = [ + "network-online.target" + ] ++ lib.optional config.networking.firewall.enable "firewall.service"; + wants = [ + "network-online.target" + ] ++ lib.optional config.networking.firewall.enable "firewall.service"; + + environment = + (lib.filterAttrs (n: v: v != null) { + ETCD_NAME = cfg.name; + ETCD_DISCOVERY = cfg.discovery; + ETCD_DATA_DIR = cfg.dataDir; + ETCD_ADVERTISE_CLIENT_URLS = lib.concatStringsSep "," cfg.advertiseClientUrls; + ETCD_LISTEN_CLIENT_URLS = lib.concatStringsSep "," cfg.listenClientUrls; + ETCD_LISTEN_PEER_URLS = lib.concatStringsSep "," cfg.listenPeerUrls; + ETCD_INITIAL_ADVERTISE_PEER_URLS = lib.concatStringsSep "," cfg.initialAdvertisePeerUrls; + ETCD_PEER_CLIENT_CERT_AUTH = toString cfg.peerClientCertAuth; + ETCD_PEER_TRUSTED_CA_FILE = cfg.peerTrustedCaFile; + ETCD_PEER_CERT_FILE = cfg.peerCertFile; + ETCD_PEER_KEY_FILE = cfg.peerKeyFile; + ETCD_CLIENT_CERT_AUTH = toString cfg.clientCertAuth; + ETCD_TRUSTED_CA_FILE = cfg.trustedCaFile; + ETCD_CERT_FILE = cfg.certFile; + ETCD_KEY_FILE = cfg.keyFile; + }) + // (lib.optionalAttrs (cfg.discovery == "") { + ETCD_INITIAL_CLUSTER = lib.concatStringsSep "," cfg.initialCluster; + ETCD_INITIAL_CLUSTER_STATE = cfg.initialClusterState; + ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken; + }) + // (lib.mapAttrs' (n: v: lib.nameValuePair "ETCD_${n}" v) cfg.extraConf); unitConfig = { Documentation = "https://github.com/coreos/etcd"; @@ -224,6 +239,6 @@ in { description = "Etcd daemon user"; home = cfg.dataDir; }; - users.groups.etcd = {}; + users.groups.etcd = { }; }; } diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix index 4b2b34ae7b1de..cd129d0aa75af 100644 --- a/nixos/modules/services/databases/firebird.nix +++ b/nixos/modules/services/databases/firebird.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: # TODO: This may file may need additional review, eg which configurations to # expose to the user. @@ -75,49 +80,47 @@ in }; - ###### implementation config = lib.mkIf config.services.firebird.enable { - environment.systemPackages = [cfg.package]; + environment.systemPackages = [ cfg.package ]; systemd.tmpfiles.rules = [ "d '${dataDir}' 0700 ${cfg.user} - - -" "d '${systemDir}' 0700 ${cfg.user} - - -" ]; - systemd.services.firebird = - { description = "Firebird Super-Server"; + systemd.services.firebird = { + description = "Firebird Super-Server"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; - # TODO: moving security2.fdb into the data directory works, maybe there - # is a better way - preStart = - '' - if ! test -e "${systemDir}/security2.fdb"; then - cp ${firebird}/security2.fdb "${systemDir}" - fi + # TODO: moving security2.fdb into the data directory works, maybe there + # is a better way + preStart = '' + if ! test -e "${systemDir}/security2.fdb"; then + cp ${firebird}/security2.fdb "${systemDir}" + fi - if ! test -e "${systemDir}/security3.fdb"; then - cp ${firebird}/security3.fdb "${systemDir}" - fi + if ! test -e "${systemDir}/security3.fdb"; then + cp ${firebird}/security3.fdb "${systemDir}" + fi - if ! test -e "${systemDir}/security4.fdb"; then - cp ${firebird}/security4.fdb "${systemDir}" - fi + if ! test -e "${systemDir}/security4.fdb"; then + cp ${firebird}/security4.fdb "${systemDir}" + fi - chmod -R 700 "${dataDir}" "${systemDir}" /var/log/firebird - ''; + chmod -R 700 "${dataDir}" "${systemDir}" /var/log/firebird + ''; - serviceConfig.User = cfg.user; - serviceConfig.LogsDirectory = "firebird"; - serviceConfig.LogsDirectoryMode = "0700"; - serviceConfig.ExecStart = "${firebird}/bin/fbserver -d"; + serviceConfig.User = cfg.user; + serviceConfig.LogsDirectory = "firebird"; + serviceConfig.LogsDirectoryMode = "0700"; + serviceConfig.ExecStart = "${firebird}/bin/fbserver -d"; - # TODO think about shutdown - }; + # TODO think about shutdown + }; environment.etc."firebird/firebird.msg".source = "${firebird}/firebird.msg"; diff --git a/nixos/modules/services/databases/foundationdb.nix b/nixos/modules/services/databases/foundationdb.nix index 8fc35474b39c5..18f197890b790 100644 --- a/nixos/modules/services/databases/foundationdb.nix +++ b/nixos/modules/services/databases/foundationdb.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.foundationdb; pkg = cfg.package; @@ -6,11 +11,14 @@ let # used for initial cluster configuration initialIpAddr = if (cfg.publicAddress != "auto") then cfg.publicAddress else "127.0.0.1"; - fdbServers = n: - lib.concatStringsSep "\n" (map (x: "[fdbserver.${toString (x+cfg.listenPortStart)}]") (lib.range 0 (n - 1))); + fdbServers = + n: + lib.concatStringsSep "\n" ( + map (x: "[fdbserver.${toString (x + cfg.listenPortStart)}]") (lib.range 0 (n - 1)) + ); - backupAgents = n: - lib.concatStringsSep "\n" (map (x: "[backup_agent.${toString x}]") (lib.range 1 n)); + backupAgents = + n: lib.concatStringsSep "\n" (map (x: "[backup_agent.${toString x}]") (lib.range 1 n)); configFile = pkgs.writeText "foundationdb.conf" '' [general] @@ -34,7 +42,7 @@ let storage_memory = ${cfg.storageMemory} ${lib.optionalString (lib.versionAtLeast cfg.package.version "6.1") '' - trace_format = ${cfg.traceFormat} + trace_format = ${cfg.traceFormat} ''} ${lib.optionalString (cfg.tls != null) '' @@ -44,10 +52,14 @@ let tls_verify_peers = ${cfg.tls.allowedPeers} ''} - ${lib.optionalString (cfg.locality.machineId != null) "locality_machineid=${cfg.locality.machineId}"} - ${lib.optionalString (cfg.locality.zoneId != null) "locality_zoneid=${cfg.locality.zoneId}"} - ${lib.optionalString (cfg.locality.datacenterId != null) "locality_dcid=${cfg.locality.datacenterId}"} - ${lib.optionalString (cfg.locality.dataHall != null) "locality_data_hall=${cfg.locality.dataHall}"} + ${lib.optionalString ( + cfg.locality.machineId != null + ) "locality_machineid=${cfg.locality.machineId}"} + ${lib.optionalString (cfg.locality.zoneId != null) "locality_zoneid=${cfg.locality.zoneId}"} + ${lib.optionalString ( + cfg.locality.datacenterId != null + ) "locality_dcid=${cfg.locality.datacenterId}"} + ${lib.optionalString (cfg.locality.dataHall != null) "locality_data_hall=${cfg.locality.dataHall}"} ${fdbServers cfg.serverProcesses} @@ -62,7 +74,7 @@ in enable = lib.mkEnableOption "FoundationDB Server"; package = lib.mkOption { - type = lib.types.package; + type = lib.types.package; description = '' The FoundationDB package to use for this server. This must be specified by the user in order to ensure migrations and upgrades are controlled appropriately. @@ -70,21 +82,21 @@ in }; publicAddress = lib.mkOption { - type = lib.types.str; - default = "auto"; + type = lib.types.str; + default = "auto"; description = "Publicly visible IP address of the process. Port is determined by process ID"; }; listenAddress = lib.mkOption { - type = lib.types.str; - default = "public"; + type = lib.types.str; + default = "public"; description = "Publicly visible IP address of the process. Port is determined by process ID"; }; listenPortStart = lib.mkOption { - type = lib.types.int; - default = 4500; - description = '' + type = lib.types.int; + default = 4500; + description = '' Starting port number for database listening sockets. Every FDB process binds to a subsequent port, to this number reflects the start of the overall range. e.g. having 8 server processes will use all ports between 4500 and 4507. @@ -92,8 +104,8 @@ in }; openFirewall = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Open the firewall ports corresponding to FoundationDB processes and coordinators using {option}`config.networking.firewall.*`. @@ -101,32 +113,38 @@ in }; dataDir = lib.mkOption { - type = lib.types.path; - default = "/var/lib/foundationdb"; + type = lib.types.path; + default = "/var/lib/foundationdb"; description = "Data directory. All cluster data will be put under here."; }; logDir = lib.mkOption { - type = lib.types.path; - default = "/var/log/foundationdb"; + type = lib.types.path; + default = "/var/log/foundationdb"; description = "Log directory."; }; user = lib.mkOption { - type = lib.types.str; - default = "foundationdb"; + type = lib.types.str; + default = "foundationdb"; description = "User account under which FoundationDB runs."; }; group = lib.mkOption { - type = lib.types.str; - default = "foundationdb"; + type = lib.types.str; + default = "foundationdb"; description = "Group account under which FoundationDB runs."; }; class = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "storage" "transaction" "stateless" ]); - default = null; + type = lib.types.nullOr ( + lib.types.enum [ + "storage" + "transaction" + "stateless" + ] + ); + default = null; description = "Process class"; }; @@ -137,8 +155,8 @@ in }; logSize = lib.mkOption { - type = lib.types.str; - default = "10MiB"; + type = lib.types.str; + default = "10MiB"; description = '' Roll over to a new log file after the current log file reaches the specified size. @@ -146,8 +164,8 @@ in }; maxLogSize = lib.mkOption { - type = lib.types.str; - default = "100MiB"; + type = lib.types.str; + default = "100MiB"; description = '' Delete the oldest log file when the total size of all log files exceeds the specified size. If set to 0, old log files @@ -168,8 +186,8 @@ in }; memory = lib.mkOption { - type = lib.types.str; - default = "8GiB"; + type = lib.types.str; + default = "8GiB"; description = '' Maximum memory used by the process. The default value is `8GiB`. When specified without a unit, @@ -190,8 +208,8 @@ in }; storageMemory = lib.mkOption { - type = lib.types.str; - default = "1GiB"; + type = lib.types.str; + default = "1GiB"; description = '' Maximum memory used for data storage. The default value is `1GiB`. When specified without a unit, @@ -211,43 +229,45 @@ in FoundationDB Transport Security Layer (TLS) settings. ''; - type = lib.types.nullOr (lib.types.submodule ({ - options = { - certificate = lib.mkOption { - type = lib.types.str; - description = '' - Path to the TLS certificate file. This certificate will - be offered to, and may be verified by, clients. - ''; - }; - - key = lib.mkOption { - type = lib.types.str; - description = "Private key file for the certificate."; - }; - - allowedPeers = lib.mkOption { - type = lib.types.str; - default = "Check.Valid=1,Check.Unexpired=1"; - description = '' - "Peer verification string". This may be used to adjust which TLS - client certificates a server will accept, as a form of user - authorization; for example, it may only accept TLS clients who - offer a certificate abiding by some locality or organization name. - - For more information, please see the FoundationDB documentation. - ''; + type = lib.types.nullOr ( + lib.types.submodule ({ + options = { + certificate = lib.mkOption { + type = lib.types.str; + description = '' + Path to the TLS certificate file. This certificate will + be offered to, and may be verified by, clients. + ''; + }; + + key = lib.mkOption { + type = lib.types.str; + description = "Private key file for the certificate."; + }; + + allowedPeers = lib.mkOption { + type = lib.types.str; + default = "Check.Valid=1,Check.Unexpired=1"; + description = '' + "Peer verification string". This may be used to adjust which TLS + client certificates a server will accept, as a form of user + authorization; for example, it may only accept TLS clients who + offer a certificate abiding by some locality or organization name. + + For more information, please see the FoundationDB documentation. + ''; + }; }; - }; - })); + }) + ); }; locality = lib.mkOption { default = { - machineId = null; - zoneId = null; + machineId = null; + zoneId = null; datacenterId = null; - dataHall = null; + dataHall = null; }; description = '' @@ -314,13 +334,16 @@ in }; pidfile = lib.mkOption { - type = lib.types.path; - default = "/run/foundationdb.pid"; + type = lib.types.path; + default = "/run/foundationdb.pid"; description = "Path to pidfile for fdbmonitor."; }; traceFormat = lib.mkOption { - type = lib.types.enum [ "xml" "json" ]; + type = lib.types.enum [ + "xml" + "json" + ]; default = "xml"; description = "Trace logging format."; }; @@ -328,11 +351,16 @@ in config = lib.mkIf cfg.enable { assertions = [ - { assertion = lib.versionOlder cfg.package.version "6.1" -> cfg.traceFormat == "xml"; - message = '' - Versions of FoundationDB before 6.1 do not support configurable trace formats (only XML is supported). - This option has no effect for version '' + cfg.package.version + '', and enabling it is an error. - ''; + { + assertion = lib.versionOlder cfg.package.version "6.1" -> cfg.traceFormat == "xml"; + message = + '' + Versions of FoundationDB before 6.1 do not support configurable trace formats (only XML is supported). + This option has no effect for version '' + + cfg.package.version + + '' + , and enabling it is an error. + ''; } ]; @@ -341,8 +369,8 @@ in users.users = lib.optionalAttrs (cfg.user == "foundationdb") { foundationdb = { description = "FoundationDB User"; - uid = config.ids.uids.foundationdb; - group = cfg.group; + uid = config.ids.uids.foundationdb; + group = cfg.group; }; }; @@ -350,11 +378,12 @@ in foundationdb.gid = config.ids.gids.foundationdb; }; - networking.firewall.allowedTCPPortRanges = lib.mkIf cfg.openFirewall - [ { from = cfg.listenPortStart; - to = (cfg.listenPortStart + cfg.serverProcesses) - 1; - } - ]; + networking.firewall.allowedTCPPortRanges = lib.mkIf cfg.openFirewall [ + { + from = cfg.listenPortStart; + to = (cfg.listenPortStart + cfg.serverProcesses) - 1; + } + ]; systemd.tmpfiles.rules = [ "d /etc/foundationdb 0755 ${cfg.user} ${cfg.group} - -" @@ -364,40 +393,49 @@ in ]; systemd.services.foundationdb = { - description = "FoundationDB Service"; + description = "FoundationDB Service"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - unitConfig = - { RequiresMountsFor = "${cfg.dataDir} ${cfg.logDir}"; - }; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + unitConfig = { + RequiresMountsFor = "${cfg.dataDir} ${cfg.logDir}"; + }; serviceConfig = - let rwpaths = [ cfg.dataDir cfg.logDir cfg.pidfile "/etc/foundationdb" ] - ++ cfg.extraReadWritePaths; + let + rwpaths = [ + cfg.dataDir + cfg.logDir + cfg.pidfile + "/etc/foundationdb" + ] ++ cfg.extraReadWritePaths; in - { Type = "simple"; - Restart = "always"; + { + Type = "simple"; + Restart = "always"; RestartSec = 5; - User = cfg.user; - Group = cfg.group; - PIDFile = "${cfg.pidfile}"; + User = cfg.user; + Group = cfg.group; + PIDFile = "${cfg.pidfile}"; - PermissionsStartOnly = true; # setup needs root perms - TimeoutSec = 120; # give reasonable time to shut down + PermissionsStartOnly = true; # setup needs root perms + TimeoutSec = 120; # give reasonable time to shut down # Security options - NoNewPrivileges = true; - ProtectHome = true; - ProtectSystem = "strict"; + NoNewPrivileges = true; + ProtectHome = true; + ProtectSystem = "strict"; ProtectKernelTunables = true; - ProtectControlGroups = true; - PrivateTmp = true; - PrivateDevices = true; - ReadWritePaths = lib.concatStringsSep " " (map (x: "-" + x) rwpaths); + ProtectControlGroups = true; + PrivateTmp = true; + PrivateDevices = true; + ReadWritePaths = lib.concatStringsSep " " (map (x: "-" + x) rwpaths); }; - path = [ pkg pkgs.coreutils ]; + path = [ + pkg + pkgs.coreutils + ]; preStart = '' if [ ! -f /etc/foundationdb/fdb.cluster ]; then @@ -421,6 +459,6 @@ in }; }; - meta.doc = ./foundationdb.md; + meta.doc = ./foundationdb.md; meta.maintainers = with lib.maintainers; [ thoughtpolice ]; } diff --git a/nixos/modules/services/databases/hbase-standalone.nix b/nixos/modules/services/databases/hbase-standalone.nix index d3d2999eaeed5..57d5e0536bcdb 100644 --- a/nixos/modules/services/databases/hbase-standalone.nix +++ b/nixos/modules/services/databases/hbase-standalone.nix @@ -1,33 +1,40 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: let cfg = config.services.hbase-standalone; opt = options.services.hbase-standalone; - buildProperty = configAttr: - (builtins.concatStringsSep "\n" - (lib.mapAttrsToList - (name: value: '' - - ${name} - ${builtins.toString value} - - '') - configAttr)); - - configFile = pkgs.writeText "hbase-site.xml" - '' - ${buildProperty (opt.settings.default // cfg.settings)} - - ''; + buildProperty = + configAttr: + (builtins.concatStringsSep "\n" ( + lib.mapAttrsToList (name: value: '' + + ${name} + ${builtins.toString value} + + '') configAttr + )); + + configFile = pkgs.writeText "hbase-site.xml" '' + + ${buildProperty (opt.settings.default // cfg.settings)} + + ''; configDir = pkgs.runCommand "hbase-config-dir" { preferLocalBuild = true; } '' mkdir -p $out cp ${cfg.package}/conf/* $out/ rm $out/hbase-site.xml ln -s ${configFile} $out/hbase-site.xml - '' ; + ''; -in { +in +{ imports = [ (lib.mkRenamedOptionModule [ "services" "hbase" ] [ "services" "hbase-standalone" ]) @@ -80,7 +87,13 @@ in { }; settings = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ str int bool ]); + type = + with lib.types; + attrsOf (oneOf [ + str + int + bool + ]); default = { "hbase.rootdir" = "file://${cfg.dataDir}/hbase"; "hbase.zookeeper.property.dataDir" = "${cfg.dataDir}/zookeeper"; diff --git a/nixos/modules/services/databases/influxdb2.nix b/nixos/modules/services/databases/influxdb2.nix index 20a94c03994b8..3dea70f6b8485 100644 --- a/nixos/modules/services/databases/influxdb2.nix +++ b/nixos/modules/services/databases/influxdb2.nix @@ -1,8 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit - (lib) + inherit (lib) any attrNames attrValues @@ -58,21 +62,26 @@ let ]; # Determines whether at least one active api token is defined - anyAuthDefined = - flip any (attrValues cfg.provision.organizations) - (o: o.present && flip any (attrValues o.auths) - (a: a.present && a.tokenFile != null)); - - provisionState = pkgs.writeText "provision_state.json" (builtins.toJSON { - inherit (cfg.provision) organizations users; - }); - - influxHost = "http://${escapeShellArg ( - if ! hasAttr "http-bind-address" cfg.settings - || hasInfix "0.0.0.0" cfg.settings.http-bind-address - then "localhost:8086" - else cfg.settings.http-bind-address - )}"; + anyAuthDefined = flip any (attrValues cfg.provision.organizations) ( + o: o.present && flip any (attrValues o.auths) (a: a.present && a.tokenFile != null) + ); + + provisionState = pkgs.writeText "provision_state.json" ( + builtins.toJSON { + inherit (cfg.provision) organizations users; + } + ); + + influxHost = "http://${ + escapeShellArg ( + if + !hasAttr "http-bind-address" cfg.settings || hasInfix "0.0.0.0" cfg.settings.http-bind-address + then + "localhost:8086" + else + cfg.settings.http-bind-address + ) + }"; waitUntilServiceIsReady = pkgs.writeShellScript "wait-until-service-is-ready" '' set -euo pipefail @@ -129,154 +138,170 @@ let fi ''; - organizationSubmodule = types.submodule (organizationSubmod: let - org = organizationSubmod.config._module.args.name; - in { - options = { - present = mkOption { - description = "Whether to ensure that this organization is present or absent."; - type = types.bool; - default = true; - }; + organizationSubmodule = types.submodule ( + organizationSubmod: + let + org = organizationSubmod.config._module.args.name; + in + { + options = { + present = mkOption { + description = "Whether to ensure that this organization is present or absent."; + type = types.bool; + default = true; + }; - description = mkOption { - description = "Optional description for the organization."; - default = null; - type = types.nullOr types.str; - }; + description = mkOption { + description = "Optional description for the organization."; + default = null; + type = types.nullOr types.str; + }; - buckets = mkOption { - description = "Buckets to provision in this organization."; - default = {}; - type = types.attrsOf (types.submodule (bucketSubmod: let - bucket = bucketSubmod.config._module.args.name; - in { - options = { - present = mkOption { - description = "Whether to ensure that this bucket is present or absent."; - type = types.bool; - default = true; - }; - - description = mkOption { - description = "Optional description for the bucket."; - default = null; - type = types.nullOr types.str; - }; - - retention = mkOption { - type = types.ints.unsigned; - default = 0; - description = "The duration in seconds for which the bucket will retain data (0 is infinite)."; - }; - }; - })); - }; + buckets = mkOption { + description = "Buckets to provision in this organization."; + default = { }; + type = types.attrsOf ( + types.submodule ( + bucketSubmod: + let + bucket = bucketSubmod.config._module.args.name; + in + { + options = { + present = mkOption { + description = "Whether to ensure that this bucket is present or absent."; + type = types.bool; + default = true; + }; + + description = mkOption { + description = "Optional description for the bucket."; + default = null; + type = types.nullOr types.str; + }; + + retention = mkOption { + type = types.ints.unsigned; + default = 0; + description = "The duration in seconds for which the bucket will retain data (0 is infinite)."; + }; + }; + } + ) + ); + }; - auths = mkOption { - description = "API tokens to provision for the user in this organization."; - default = {}; - type = types.attrsOf (types.submodule (authSubmod: let - auth = authSubmod.config._module.args.name; - in { - options = { - id = mkOption { - description = "A unique identifier for this authentication token. Since influx doesn't store names for tokens, this will be hashed and appended to the description to identify the token."; - readOnly = true; - default = builtins.substring 0 32 (builtins.hashString "sha256" "${org}:${auth}"); - defaultText = ""; - type = types.str; - }; - - present = mkOption { - description = "Whether to ensure that this user is present or absent."; - type = types.bool; - default = true; - }; - - description = mkOption { - description = '' - Optional description for the API token. - Note that the actual token will always be created with a descriptionregardless - of whether this is given or not. The name is always added plus a unique suffix - to later identify the token to track whether it has already been created. - ''; - default = null; - type = types.nullOr types.str; - }; - - tokenFile = mkOption { - type = types.nullOr types.path; - default = null; - description = "The token value. If not given, influx will automatically generate one."; - }; - - operator = mkOption { - description = "Grants all permissions in all organizations."; - default = false; - type = types.bool; - }; - - allAccess = mkOption { - description = "Grants all permissions in the associated organization."; - default = false; - type = types.bool; - }; - - readPermissions = mkOption { - description = '' - The read permissions to include for this token. Access is usually granted only - for resources in the associated organization. - - Available permissions are `authorizations`, `buckets`, `dashboards`, - `orgs`, `tasks`, `telegrafs`, `users`, `variables`, `secrets`, `labels`, `views`, - `documents`, `notificationRules`, `notificationEndpoints`, `checks`, `dbrp`, - `annotations`, `sources`, `scrapers`, `notebooks`, `remotes`, `replications`. - - Refer to `influx auth create --help` for a full list with descriptions. - - `buckets` grants read access to all associated buckets. Use `readBuckets` to define - more granular access permissions. - ''; - default = []; - type = types.listOf (types.enum validPermissions); - }; - - writePermissions = mkOption { - description = '' - The read permissions to include for this token. Access is usually granted only - for resources in the associated organization. - - Available permissions are `authorizations`, `buckets`, `dashboards`, - `orgs`, `tasks`, `telegrafs`, `users`, `variables`, `secrets`, `labels`, `views`, - `documents`, `notificationRules`, `notificationEndpoints`, `checks`, `dbrp`, - `annotations`, `sources`, `scrapers`, `notebooks`, `remotes`, `replications`. - - Refer to `influx auth create --help` for a full list with descriptions. - - `buckets` grants write access to all associated buckets. Use `writeBuckets` to define - more granular access permissions. - ''; - default = []; - type = types.listOf (types.enum validPermissions); - }; - - readBuckets = mkOption { - description = "The organization's buckets which should be allowed to be read"; - default = []; - type = types.listOf types.str; - }; - - writeBuckets = mkOption { - description = "The organization's buckets which should be allowed to be written"; - default = []; - type = types.listOf types.str; - }; - }; - })); + auths = mkOption { + description = "API tokens to provision for the user in this organization."; + default = { }; + type = types.attrsOf ( + types.submodule ( + authSubmod: + let + auth = authSubmod.config._module.args.name; + in + { + options = { + id = mkOption { + description = "A unique identifier for this authentication token. Since influx doesn't store names for tokens, this will be hashed and appended to the description to identify the token."; + readOnly = true; + default = builtins.substring 0 32 (builtins.hashString "sha256" "${org}:${auth}"); + defaultText = ""; + type = types.str; + }; + + present = mkOption { + description = "Whether to ensure that this user is present or absent."; + type = types.bool; + default = true; + }; + + description = mkOption { + description = '' + Optional description for the API token. + Note that the actual token will always be created with a descriptionregardless + of whether this is given or not. The name is always added plus a unique suffix + to later identify the token to track whether it has already been created. + ''; + default = null; + type = types.nullOr types.str; + }; + + tokenFile = mkOption { + type = types.nullOr types.path; + default = null; + description = "The token value. If not given, influx will automatically generate one."; + }; + + operator = mkOption { + description = "Grants all permissions in all organizations."; + default = false; + type = types.bool; + }; + + allAccess = mkOption { + description = "Grants all permissions in the associated organization."; + default = false; + type = types.bool; + }; + + readPermissions = mkOption { + description = '' + The read permissions to include for this token. Access is usually granted only + for resources in the associated organization. + + Available permissions are `authorizations`, `buckets`, `dashboards`, + `orgs`, `tasks`, `telegrafs`, `users`, `variables`, `secrets`, `labels`, `views`, + `documents`, `notificationRules`, `notificationEndpoints`, `checks`, `dbrp`, + `annotations`, `sources`, `scrapers`, `notebooks`, `remotes`, `replications`. + + Refer to `influx auth create --help` for a full list with descriptions. + + `buckets` grants read access to all associated buckets. Use `readBuckets` to define + more granular access permissions. + ''; + default = [ ]; + type = types.listOf (types.enum validPermissions); + }; + + writePermissions = mkOption { + description = '' + The read permissions to include for this token. Access is usually granted only + for resources in the associated organization. + + Available permissions are `authorizations`, `buckets`, `dashboards`, + `orgs`, `tasks`, `telegrafs`, `users`, `variables`, `secrets`, `labels`, `views`, + `documents`, `notificationRules`, `notificationEndpoints`, `checks`, `dbrp`, + `annotations`, `sources`, `scrapers`, `notebooks`, `remotes`, `replications`. + + Refer to `influx auth create --help` for a full list with descriptions. + + `buckets` grants write access to all associated buckets. Use `writeBuckets` to define + more granular access permissions. + ''; + default = [ ]; + type = types.listOf (types.enum validPermissions); + }; + + readBuckets = mkOption { + description = "The organization's buckets which should be allowed to be read"; + default = [ ]; + type = types.listOf types.str; + }; + + writeBuckets = mkOption { + description = "The organization's buckets which should be allowed to be written"; + default = [ ]; + type = types.listOf types.str; + }; + }; + } + ) + ); + }; }; - }; - }); + } + ); in { options = { @@ -347,37 +372,43 @@ in }; } ''; - default = {}; + default = { }; type = types.attrsOf organizationSubmodule; }; users = mkOption { description = "Users to provision."; - default = {}; + default = { }; example = literalExpression '' { # admin = {}; /* The initialSetup.username will automatically be added. */ myuser.passwordFile = "/run/secrets/myuser_password"; } ''; - type = types.attrsOf (types.submodule (userSubmod: let - user = userSubmod.config._module.args.name; - org = userSubmod.config.org; - in { - options = { - present = mkOption { - description = "Whether to ensure that this user is present or absent."; - type = types.bool; - default = true; - }; - - passwordFile = mkOption { - description = "Password for the user. If unset, the user will not be able to log in until a password is set by an operator! Don't use a file from the nix store!"; - default = null; - type = types.nullOr types.path; - }; - }; - })); + type = types.attrsOf ( + types.submodule ( + userSubmod: + let + user = userSubmod.config._module.args.name; + org = userSubmod.config.org; + in + { + options = { + present = mkOption { + description = "Whether to ensure that this user is present or absent."; + type = types.bool; + default = true; + }; + + passwordFile = mkOption { + description = "Password for the user. If unset, the user will not be able to log in until a password is set by an operator! Don't use a file from the nix store!"; + default = null; + type = types.nullOr types.path; + }; + }; + } + ) + ); }; }; }; @@ -391,31 +422,47 @@ in message = "services.influxdb2.config: bolt-path and engine-path should not be set as they are managed by systemd"; } ] - ++ flatten (flip mapAttrsToList cfg.provision.organizations (orgName: org: - flip mapAttrsToList org.auths (authName: auth: - [ - { - assertion = 1 == count (x: x) [ - auth.operator - auth.allAccess - (auth.readPermissions != [] - || auth.writePermissions != [] - || auth.readBuckets != [] - || auth.writeBuckets != []) - ]; - message = "influxdb2: provision.organizations.${orgName}.auths.${authName}: The `operator` and `allAccess` options are mutually exclusive with each other and the granular permission settings."; - } - (let unknownBuckets = subtractLists (attrNames org.buckets) auth.readBuckets; in { - assertion = unknownBuckets == []; - message = "influxdb2: provision.organizations.${orgName}.auths.${authName}: Refers to invalid buckets in readBuckets: ${toString unknownBuckets}"; - }) - (let unknownBuckets = subtractLists (attrNames org.buckets) auth.writeBuckets; in { - assertion = unknownBuckets == []; - message = "influxdb2: provision.organizations.${orgName}.auths.${authName}: Refers to invalid buckets in writeBuckets: ${toString unknownBuckets}"; - }) - ] + ++ flatten ( + flip mapAttrsToList cfg.provision.organizations ( + orgName: org: + flip mapAttrsToList org.auths ( + authName: auth: [ + { + assertion = + 1 == count (x: x) [ + auth.operator + auth.allAccess + ( + auth.readPermissions != [ ] + || auth.writePermissions != [ ] + || auth.readBuckets != [ ] + || auth.writeBuckets != [ ] + ) + ]; + message = "influxdb2: provision.organizations.${orgName}.auths.${authName}: The `operator` and `allAccess` options are mutually exclusive with each other and the granular permission settings."; + } + ( + let + unknownBuckets = subtractLists (attrNames org.buckets) auth.readBuckets; + in + { + assertion = unknownBuckets == [ ]; + message = "influxdb2: provision.organizations.${orgName}.auths.${authName}: Refers to invalid buckets in readBuckets: ${toString unknownBuckets}"; + } + ) + ( + let + unknownBuckets = subtractLists (attrNames org.buckets) auth.writeBuckets; + in + { + assertion = unknownBuckets == [ ]; + message = "influxdb2: provision.organizations.${orgName}.auths.${authName}: Refers to invalid buckets in writeBuckets: ${toString unknownBuckets}"; + } + ) + ] + ) ) - )); + ); services.influxdb2.provision = mkIf cfg.provision.enable { organizations.${cfg.provision.initialSetup.organization} = { @@ -453,13 +500,16 @@ in "admin-token:${cfg.provision.initialSetup.tokenFile}" ]; - ExecStartPost = [ - waitUntilServiceIsReady - ] ++ (lib.optionals cfg.provision.enable ( - [provisioningScript] ++ - # Only the restarter runs with elevated privileges - optional anyAuthDefined "+${restarterScript}" - )); + ExecStartPost = + [ + waitUntilServiceIsReady + ] + ++ (lib.optionals cfg.provision.enable ( + [ provisioningScript ] + ++ + # Only the restarter runs with elevated privileges + optional anyAuthDefined "+${restarterScript}" + )); }; path = [ @@ -469,23 +519,32 @@ in # Mark if this is the first startup so postStart can do the initial setup. # Also extract any token secret mappings and apply them if this isn't the first start. - preStart = let - tokenPaths = listToAttrs (flatten - # For all organizations - (flip mapAttrsToList cfg.provision.organizations - # For each contained token that has a token file - (_: org: flip mapAttrsToList (filterAttrs (_: x: x.tokenFile != null) org.auths) - # Collect id -> tokenFile for the mapping - (_: auth: nameValuePair auth.id auth.tokenFile)))); - tokenMappings = pkgs.writeText "token_mappings.json" (builtins.toJSON tokenPaths); - in mkIf cfg.provision.enable '' - if ! test -e "$STATE_DIRECTORY/influxd.bolt"; then - touch "$STATE_DIRECTORY/.first_startup" - else - # Manipulate provisioned api tokens if necessary - ${getExe pkgs.influxdb2-token-manipulator} "$STATE_DIRECTORY/influxd.bolt" ${tokenMappings} - fi - ''; + preStart = + let + tokenPaths = listToAttrs ( + flatten + # For all organizations + ( + flip mapAttrsToList cfg.provision.organizations + # For each contained token that has a token file + ( + _: org: + flip mapAttrsToList (filterAttrs (_: x: x.tokenFile != null) org.auths) + # Collect id -> tokenFile for the mapping + (_: auth: nameValuePair auth.id auth.tokenFile) + ) + ) + ); + tokenMappings = pkgs.writeText "token_mappings.json" (builtins.toJSON tokenPaths); + in + mkIf cfg.provision.enable '' + if ! test -e "$STATE_DIRECTORY/influxd.bolt"; then + touch "$STATE_DIRECTORY/.first_startup" + else + # Manipulate provisioned api tokens if necessary + ${getExe pkgs.influxdb2-token-manipulator} "$STATE_DIRECTORY/influxd.bolt" ${tokenMappings} + fi + ''; }; users.extraUsers.influxdb2 = { @@ -493,8 +552,11 @@ in group = "influxdb2"; }; - users.extraGroups.influxdb2 = {}; + users.extraGroups.influxdb2 = { }; }; - meta.maintainers = with lib.maintainers; [ nickcao oddlama ]; + meta.maintainers = with lib.maintainers; [ + nickcao + oddlama + ]; } diff --git a/nixos/modules/services/databases/lldap.nix b/nixos/modules/services/databases/lldap.nix index e014a88b3c4fa..a9fbe8f7e11a9 100644 --- a/nixos/modules/services/databases/lldap.nix +++ b/nixos/modules/services/databases/lldap.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.lldap; @@ -111,16 +117,18 @@ in # an attacker could create a valid admin jwt access token fairly trivially. # Because there are 3 different ways `jwt_secret` can be provided, we check if any one of them is present, # and if not, bootstrap a secret in `/var/lib/lldap/jwt_secret_file` and give that to lldap. - script = lib.optionalString (!cfg.settings ? jwt_secret) '' - if [[ -z "$LLDAP_JWT_SECRET_FILE" ]] && [[ -z "$LLDAP_JWT_SECRET" ]]; then - if [[ ! -e "./jwt_secret_file" ]]; then - ${lib.getExe pkgs.openssl} rand -base64 -out ./jwt_secret_file 32 + script = + lib.optionalString (!cfg.settings ? jwt_secret) '' + if [[ -z "$LLDAP_JWT_SECRET_FILE" ]] && [[ -z "$LLDAP_JWT_SECRET" ]]; then + if [[ ! -e "./jwt_secret_file" ]]; then + ${lib.getExe pkgs.openssl} rand -base64 -out ./jwt_secret_file 32 + fi + export LLDAP_JWT_SECRET_FILE="./jwt_secret_file" fi - export LLDAP_JWT_SECRET_FILE="./jwt_secret_file" - fi - '' + '' - ${lib.getExe cfg.package} run --config-file ${format.generate "lldap_config.toml" cfg.settings} - ''; + '' + + '' + ${lib.getExe cfg.package} run --config-file ${format.generate "lldap_config.toml" cfg.settings} + ''; serviceConfig = { StateDirectory = "lldap"; StateDirectoryMode = "0750"; diff --git a/nixos/modules/services/databases/memcached.nix b/nixos/modules/services/databases/memcached.nix index 29da763e5751b..a656bd292b469 100644 --- a/nixos/modules/services/databases/memcached.nix +++ b/nixos/modules/services/databases/memcached.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.memcached; @@ -50,7 +55,7 @@ in extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "A list of extra options that will be added as a suffix when running memcached."; }; }; @@ -66,7 +71,7 @@ in memcached.isSystemUser = true; memcached.group = "memcached"; }; - users.groups = lib.optionalAttrs (cfg.user == "memcached") { memcached = {}; }; + users.groups = lib.optionalAttrs (cfg.user == "memcached") { memcached = { }; }; environment.systemPackages = [ memcached ]; @@ -78,11 +83,14 @@ in serviceConfig = { ExecStart = - let - networking = if cfg.enableUnixSocket - then "-s /run/memcached/memcached.sock" - else "-l ${cfg.listen} -p ${toString cfg.port}"; - in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${lib.concatStringsSep " " cfg.extraOptions}"; + let + networking = + if cfg.enableUnixSocket then + "-s /run/memcached/memcached.sock" + else + "-l ${cfg.listen} -p ${toString cfg.port}"; + in + "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${lib.concatStringsSep " " cfg.extraOptions}"; User = cfg.user; @@ -107,7 +115,7 @@ in }; }; imports = [ - (lib.mkRemovedOptionModule ["services" "memcached" "socket"] '' + (lib.mkRemovedOptionModule [ "services" "memcached" "socket" ] '' This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memcached.enableUnixSocket. '') ]; diff --git a/nixos/modules/services/databases/monetdb.nix b/nixos/modules/services/databases/monetdb.nix index 42c9683fdb5e7..9fc79e495678e 100644 --- a/nixos/modules/services/databases/monetdb.nix +++ b/nixos/modules/services/databases/monetdb.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.monetdb; -in { +in +{ meta.maintainers = with lib.maintainers; [ StillerHarpo ]; ###### interface diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix index e3619ad3fe658..90b749574bf57 100644 --- a/nixos/modules/services/databases/mongodb.nix +++ b/nixos/modules/services/databases/mongodb.nix @@ -1,20 +1,26 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mongodb; mongodb = cfg.package; - mongoCnf = cfg: pkgs.writeText "mongodb.conf" - '' - net.bindIp: ${cfg.bind_ip} - ${lib.optionalString cfg.quiet "systemLog.quiet: true"} - systemLog.destination: syslog - storage.dbPath: ${cfg.dbpath} - ${lib.optionalString cfg.enableAuth "security.authorization: enabled"} - ${lib.optionalString (cfg.replSetName != "") "replication.replSetName: ${cfg.replSetName}"} - ${cfg.extraConfig} - ''; + mongoCnf = + cfg: + pkgs.writeText "mongodb.conf" '' + net.bindIp: ${cfg.bind_ip} + ${lib.optionalString cfg.quiet "systemLog.quiet: true"} + systemLog.destination: syslog + storage.dbPath: ${cfg.dbpath} + ${lib.optionalString cfg.enableAuth "security.authorization: enabled"} + ${lib.optionalString (cfg.replSetName != "") "replication.replSetName: ${cfg.replSetName}"} + ${cfg.extraConfig} + ''; in @@ -101,44 +107,49 @@ in }; - ###### implementation config = lib.mkIf config.services.mongodb.enable { assertions = [ - { assertion = !cfg.enableAuth || cfg.initialRootPassword != null; + { + assertion = !cfg.enableAuth || cfg.initialRootPassword != null; message = "`enableAuth` requires `initialRootPassword` to be set."; } ]; - users.users.mongodb = lib.mkIf (cfg.user == "mongodb") - { name = "mongodb"; - isSystemUser = true; - group = "mongodb"; - description = "MongoDB server user"; - }; - users.groups.mongodb = lib.mkIf (cfg.user == "mongodb") {}; + users.users.mongodb = lib.mkIf (cfg.user == "mongodb") { + name = "mongodb"; + isSystemUser = true; + group = "mongodb"; + description = "MongoDB server user"; + }; + users.groups.mongodb = lib.mkIf (cfg.user == "mongodb") { }; environment.systemPackages = [ mongodb ]; - systemd.services.mongodb = - { description = "MongoDB server"; + systemd.services.mongodb = { + description = "MongoDB server"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; - serviceConfig = { - ExecStart = "${mongodb}/bin/mongod --config ${mongoCnf cfg} --fork --pidfilepath ${cfg.pidFile}"; - User = cfg.user; - PIDFile = cfg.pidFile; - Type = "forking"; - TimeoutStartSec=120; # initial creating of journal can take some time - PermissionsStartOnly = true; - }; + serviceConfig = { + ExecStart = "${mongodb}/bin/mongod --config ${mongoCnf cfg} --fork --pidfilepath ${cfg.pidFile}"; + User = cfg.user; + PIDFile = cfg.pidFile; + Type = "forking"; + TimeoutStartSec = 120; # initial creating of journal can take some time + PermissionsStartOnly = true; + }; - preStart = let - cfg_ = cfg // { enableAuth = false; bind_ip = "127.0.0.1"; }; - in '' + preStart = + let + cfg_ = cfg // { + enableAuth = false; + bind_ip = "127.0.0.1"; + }; + in + '' rm ${cfg.dbpath}/mongod.lock || true if ! test -e ${cfg.dbpath}; then install -d -m0700 -o ${cfg.user} ${cfg.dbpath} @@ -147,7 +158,8 @@ in fi if ! test -e ${cfg.pidFile}; then install -D -o ${cfg.user} /dev/null ${cfg.pidFile} - fi '' + lib.optionalString cfg.enableAuth '' + fi '' + + lib.optionalString cfg.enableAuth '' if ! test -e "${cfg.dbpath}/.auth_setup_complete"; then systemd-run --unit=mongodb-for-setup --uid=${cfg.user} ${mongodb}/bin/mongod --config ${mongoCnf cfg_} @@ -172,15 +184,15 @@ in systemctl stop mongodb-for-setup fi ''; - postStart = '' - if test -e "${cfg.dbpath}/.first_startup"; then - ${lib.optionalString (cfg.initialScript != null) '' - ${mongodb}/bin/mongo ${lib.optionalString (cfg.enableAuth) "-u root -p ${cfg.initialRootPassword}"} admin "${cfg.initialScript}" - ''} - rm -f "${cfg.dbpath}/.first_startup" - fi - ''; - }; + postStart = '' + if test -e "${cfg.dbpath}/.first_startup"; then + ${lib.optionalString (cfg.initialScript != null) '' + ${mongodb}/bin/mongo ${lib.optionalString (cfg.enableAuth) "-u root -p ${cfg.initialRootPassword}"} admin "${cfg.initialScript}" + ''} + rm -f "${cfg.dbpath}/.first_startup" + fi + ''; + }; }; diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix index c4e19a47ac7f0..5b0106eb51d0d 100644 --- a/nixos/modules/services/databases/neo4j.nix +++ b/nixos/modules/services/databases/neo4j.nix @@ -1,34 +1,41 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: let cfg = config.services.neo4j; opt = options.services.neo4j; certDirOpt = options.services.neo4j.directories.certificates; - isDefaultPathOption = opt: lib.isOption opt && opt.type == lib.types.path && opt.highestPrio >= 1500; - - sslPolicies = lib.mapAttrsToList ( - name: conf: '' - dbms.ssl.policy.${name}.allow_key_generation=${lib.boolToString conf.allowKeyGeneration} - dbms.ssl.policy.${name}.base_directory=${conf.baseDirectory} - ${lib.optionalString (conf.ciphers != null) '' - dbms.ssl.policy.${name}.ciphers=${lib.concatStringsSep "," conf.ciphers} - ''} - dbms.ssl.policy.${name}.client_auth=${conf.clientAuth} - ${if lib.length (lib.splitString "/" conf.privateKey) > 1 then + isDefaultPathOption = + opt: lib.isOption opt && opt.type == lib.types.path && opt.highestPrio >= 1500; + + sslPolicies = lib.mapAttrsToList (name: conf: '' + dbms.ssl.policy.${name}.allow_key_generation=${lib.boolToString conf.allowKeyGeneration} + dbms.ssl.policy.${name}.base_directory=${conf.baseDirectory} + ${lib.optionalString (conf.ciphers != null) '' + dbms.ssl.policy.${name}.ciphers=${lib.concatStringsSep "," conf.ciphers} + ''} + dbms.ssl.policy.${name}.client_auth=${conf.clientAuth} + ${ + if lib.length (lib.splitString "/" conf.privateKey) > 1 then "dbms.ssl.policy.${name}.private_key=${conf.privateKey}" else "dbms.ssl.policy.${name}.private_key=${conf.baseDirectory}/${conf.privateKey}" - } - ${if lib.length (lib.splitString "/" conf.privateKey) > 1 then + } + ${ + if lib.length (lib.splitString "/" conf.privateKey) > 1 then "dbms.ssl.policy.${name}.public_certificate=${conf.publicCertificate}" else "dbms.ssl.policy.${name}.public_certificate=${conf.baseDirectory}/${conf.publicCertificate}" - } - dbms.ssl.policy.${name}.revoked_dir=${conf.revokedDir} - dbms.ssl.policy.${name}.tls_versions=${lib.concatStringsSep "," conf.tlsVersions} - dbms.ssl.policy.${name}.trust_all=${lib.boolToString conf.trustAll} - dbms.ssl.policy.${name}.trusted_dir=${conf.trustedDir} - '' - ) cfg.ssl.policies; + } + dbms.ssl.policy.${name}.revoked_dir=${conf.revokedDir} + dbms.ssl.policy.${name}.tls_versions=${lib.concatStringsSep "," conf.tlsVersions} + dbms.ssl.policy.${name}.trust_all=${lib.boolToString conf.trustAll} + dbms.ssl.policy.${name}.trusted_dir=${conf.trustedDir} + '') cfg.ssl.policies; serverConfig = pkgs.writeText "neo4j.conf" '' # General @@ -44,7 +51,7 @@ let server.directories.lib=${cfg.package}/share/neo4j/lib ${lib.optionalString (cfg.constrainLoadCsv) '' server.directories.import=${cfg.directories.imports} - ''} + ''} # Directories (read and write) server.directories.data=${cfg.directories.data} @@ -93,20 +100,61 @@ let ${cfg.extraServerConfig} ''; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ]) - (lib.mkRenamedOptionModule [ "services" "neo4j" "listenAddress" ] [ "services" "neo4j" "defaultListenAddress" ]) - (lib.mkRenamedOptionModule [ "services" "neo4j" "enableBolt" ] [ "services" "neo4j" "bolt" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "neo4j" "enableHttps" ] [ "services" "neo4j" "https" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "neo4j" "certDir" ] [ "services" "neo4j" "directories" "certificates" ]) - (lib.mkRenamedOptionModule [ "services" "neo4j" "dataDir" ] [ "services" "neo4j" "directories" "home" ]) - (lib.mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.") - (lib.mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.") - (lib.mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.") - (lib.mkRemovedOptionModule [ "services" "neo4j" "shell" "enabled" ] "shell.enabled was removed upstream") - (lib.mkRemovedOptionModule [ "services" "neo4j" "udc" "enabled" ] "udc.enabled was removed upstream") + (lib.mkRenamedOptionModule + [ "services" "neo4j" "host" ] + [ "services" "neo4j" "defaultListenAddress" ] + ) + (lib.mkRenamedOptionModule + [ "services" "neo4j" "listenAddress" ] + [ "services" "neo4j" "defaultListenAddress" ] + ) + (lib.mkRenamedOptionModule + [ "services" "neo4j" "enableBolt" ] + [ "services" "neo4j" "bolt" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "neo4j" "enableHttps" ] + [ "services" "neo4j" "https" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "neo4j" "certDir" ] + [ "services" "neo4j" "directories" "certificates" ] + ) + (lib.mkRenamedOptionModule + [ "services" "neo4j" "dataDir" ] + [ "services" "neo4j" "directories" "home" ] + ) + (lib.mkRemovedOptionModule [ + "services" + "neo4j" + "port" + ] "Use services.neo4j.http.listenAddress instead.") + (lib.mkRemovedOptionModule [ + "services" + "neo4j" + "boltPort" + ] "Use services.neo4j.bolt.listenAddress instead.") + (lib.mkRemovedOptionModule [ + "services" + "neo4j" + "httpsPort" + ] "Use services.neo4j.https.listenAddress instead.") + (lib.mkRemovedOptionModule [ + "services" + "neo4j" + "shell" + "enabled" + ] "shell.enabled was removed upstream") + (lib.mkRemovedOptionModule [ + "services" + "neo4j" + "udc" + "enabled" + ] "udc.enabled was removed upstream") ]; ###### interface @@ -219,7 +267,11 @@ in { }; tlsLevel = lib.mkOption { - type = lib.types.enum [ "REQUIRED" "OPTIONAL" "DISABLED" ]; + type = lib.types.enum [ + "REQUIRED" + "OPTIONAL" + "DISABLED" + ]; default = "OPTIONAL"; description = '' SSL/TSL requirement level for BOLT traffic. @@ -376,163 +428,179 @@ in { }; ssl.policies = lib.mkOption { - type = with lib.types; attrsOf (submodule ({ name, config, options, ... }: { - options = { - - allowKeyGeneration = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Allows the generation of a private key and associated self-signed - certificate. Only performed when both objects cannot be found for - this policy. It is recommended to turn this off again after keys - have been generated. - - The public certificate is required to be duplicated to the - directory holding trusted certificates as defined by the - {option}`trustedDir` option. - - Keys should in general be generated and distributed offline by a - trusted certificate authority and not by utilizing this mode. - ''; - }; - - baseDirectory = lib.mkOption { - type = lib.types.path; - default = "${cfg.directories.certificates}/${name}"; - defaultText = lib.literalExpression ''"''${config.${opt.directories.certificates}}/''${name}"''; - description = '' - The mandatory base directory for cryptographic objects of this - policy. This path is only automatically generated when this - option as well as {option}`directories.certificates` are - left at their default. Ensure read/write permissions are given - to the Neo4j daemon user `neo4j`. - - It is also possible to override each individual - configuration with absolute paths. See the - {option}`privateKey` and {option}`publicCertificate` - policy options. - ''; - }; - - ciphers = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - default = null; - description = '' - Restrict the allowed ciphers of this policy to those defined - here. The default ciphers are those of the JVM platform. - ''; - }; - - clientAuth = lib.mkOption { - type = lib.types.enum [ "NONE" "OPTIONAL" "REQUIRE" ]; - default = "REQUIRE"; - description = '' - The client authentication stance for this policy. - ''; - }; - - privateKey = lib.mkOption { - type = lib.types.str; - default = "private.key"; - description = '' - The name of private PKCS #8 key file for this policy to be found - in the {option}`baseDirectory`, or the absolute path to - the key file. It is mandatory that a key can be found or generated. - ''; - }; - - publicCertificate = lib.mkOption { - type = lib.types.str; - default = "public.crt"; - description = '' - The name of public X.509 certificate (chain) file in PEM format - for this policy to be found in the {option}`baseDirectory`, - or the absolute path to the certificate file. It is mandatory - that a certificate can be found or generated. - - The public certificate is required to be duplicated to the - directory holding trusted certificates as defined by the - {option}`trustedDir` option. - ''; - }; - - revokedDir = lib.mkOption { - type = lib.types.path; - default = "${config.baseDirectory}/revoked"; - defaultText = lib.literalExpression ''"''${config.${options.baseDirectory}}/revoked"''; - description = '' - Path to directory of CRLs (Certificate Revocation Lists) in - PEM format. Must be an absolute path. The existence of this - directory is mandatory and will need to be created manually when: - setting this option to something other than its default; setting - either this policy's {option}`baseDirectory` or - {option}`directories.certificates` to something other than - their default. Ensure read/write permissions are given to the - Neo4j daemon user `neo4j`. - ''; - }; - - tlsVersions = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ "TLSv1.2" ]; - description = '' - Restrict the TLS protocol versions of this policy to those - defined here. - ''; - }; - - trustAll = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Makes this policy trust all remote parties. Enabling this is not - recommended and the policy's trusted directory will be ignored. - Use of this mode is discouraged. It would offer encryption but - no security. - ''; - }; - - trustedDir = lib.mkOption { - type = lib.types.path; - default = "${config.baseDirectory}/trusted"; - defaultText = lib.literalExpression ''"''${config.${options.baseDirectory}}/trusted"''; - description = '' - Path to directory of X.509 certificates in PEM format for - trusted parties. Must be an absolute path. The existence of this - directory is mandatory and will need to be created manually when: - setting this option to something other than its default; setting - either this policy's {option}`baseDirectory` or - {option}`directories.certificates` to something other than - their default. Ensure read/write permissions are given to the - Neo4j daemon user `neo4j`. - - The public certificate as defined by - {option}`publicCertificate` is required to be duplicated - to this directory. - ''; - }; - - directoriesToCreate = lib.mkOption { - type = lib.types.listOf lib.types.path; - internal = true; - readOnly = true; - description = '' - Directories of this policy that will be created automatically - when the certificates directory is left at its default value. - This includes all options of type path that are left at their - default value. - ''; - }; - - }; - - config.directoriesToCreate = lib.optionals - (certDirOpt.highestPrio >= 1500 && options.baseDirectory.highestPrio >= 1500) - (map (opt: opt.value) (lib.filter isDefaultPathOption (lib.attrValues options))); - - })); - default = {}; + type = + with lib.types; + attrsOf ( + submodule ( + { + name, + config, + options, + ... + }: + { + options = { + + allowKeyGeneration = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Allows the generation of a private key and associated self-signed + certificate. Only performed when both objects cannot be found for + this policy. It is recommended to turn this off again after keys + have been generated. + + The public certificate is required to be duplicated to the + directory holding trusted certificates as defined by the + {option}`trustedDir` option. + + Keys should in general be generated and distributed offline by a + trusted certificate authority and not by utilizing this mode. + ''; + }; + + baseDirectory = lib.mkOption { + type = lib.types.path; + default = "${cfg.directories.certificates}/${name}"; + defaultText = lib.literalExpression ''"''${config.${opt.directories.certificates}}/''${name}"''; + description = '' + The mandatory base directory for cryptographic objects of this + policy. This path is only automatically generated when this + option as well as {option}`directories.certificates` are + left at their default. Ensure read/write permissions are given + to the Neo4j daemon user `neo4j`. + + It is also possible to override each individual + configuration with absolute paths. See the + {option}`privateKey` and {option}`publicCertificate` + policy options. + ''; + }; + + ciphers = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + default = null; + description = '' + Restrict the allowed ciphers of this policy to those defined + here. The default ciphers are those of the JVM platform. + ''; + }; + + clientAuth = lib.mkOption { + type = lib.types.enum [ + "NONE" + "OPTIONAL" + "REQUIRE" + ]; + default = "REQUIRE"; + description = '' + The client authentication stance for this policy. + ''; + }; + + privateKey = lib.mkOption { + type = lib.types.str; + default = "private.key"; + description = '' + The name of private PKCS #8 key file for this policy to be found + in the {option}`baseDirectory`, or the absolute path to + the key file. It is mandatory that a key can be found or generated. + ''; + }; + + publicCertificate = lib.mkOption { + type = lib.types.str; + default = "public.crt"; + description = '' + The name of public X.509 certificate (chain) file in PEM format + for this policy to be found in the {option}`baseDirectory`, + or the absolute path to the certificate file. It is mandatory + that a certificate can be found or generated. + + The public certificate is required to be duplicated to the + directory holding trusted certificates as defined by the + {option}`trustedDir` option. + ''; + }; + + revokedDir = lib.mkOption { + type = lib.types.path; + default = "${config.baseDirectory}/revoked"; + defaultText = lib.literalExpression ''"''${config.${options.baseDirectory}}/revoked"''; + description = '' + Path to directory of CRLs (Certificate Revocation Lists) in + PEM format. Must be an absolute path. The existence of this + directory is mandatory and will need to be created manually when: + setting this option to something other than its default; setting + either this policy's {option}`baseDirectory` or + {option}`directories.certificates` to something other than + their default. Ensure read/write permissions are given to the + Neo4j daemon user `neo4j`. + ''; + }; + + tlsVersions = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ "TLSv1.2" ]; + description = '' + Restrict the TLS protocol versions of this policy to those + defined here. + ''; + }; + + trustAll = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Makes this policy trust all remote parties. Enabling this is not + recommended and the policy's trusted directory will be ignored. + Use of this mode is discouraged. It would offer encryption but + no security. + ''; + }; + + trustedDir = lib.mkOption { + type = lib.types.path; + default = "${config.baseDirectory}/trusted"; + defaultText = lib.literalExpression ''"''${config.${options.baseDirectory}}/trusted"''; + description = '' + Path to directory of X.509 certificates in PEM format for + trusted parties. Must be an absolute path. The existence of this + directory is mandatory and will need to be created manually when: + setting this option to something other than its default; setting + either this policy's {option}`baseDirectory` or + {option}`directories.certificates` to something other than + their default. Ensure read/write permissions are given to the + Neo4j daemon user `neo4j`. + + The public certificate as defined by + {option}`publicCertificate` is required to be duplicated + to this directory. + ''; + }; + + directoriesToCreate = lib.mkOption { + type = lib.types.listOf lib.types.path; + internal = true; + readOnly = true; + description = '' + Directories of this policy that will be created automatically + when the certificates directory is left at its default value. + This includes all options of type path that are left at their + default value. + ''; + }; + + }; + + config.directoriesToCreate = lib.optionals ( + certDirOpt.highestPrio >= 1500 && options.baseDirectory.highestPrio >= 1500 + ) (map (opt: opt.value) (lib.filter isDefaultPathOption (lib.attrValues options))); + + } + ) + ); + default = { }; description = '' Defines the SSL policies for use with Neo4j connectors. Each attribute of this set defines a policy, with the attribute name defining the name @@ -555,18 +623,28 @@ in { validPolicyNameString = lib.concatStringsSep ", " validPolicyNameList; # Capture various directories left at their default so they can be created. - defaultDirectoriesToCreate = map (opt: opt.value) (lib.filter isDefaultPathOption (lib.attrValues options.services.neo4j.directories)); - policyDirectoriesToCreate = lib.concatMap (pol: pol.directoriesToCreate) (lib.attrValues cfg.ssl.policies); + defaultDirectoriesToCreate = map (opt: opt.value) ( + lib.filter isDefaultPathOption (lib.attrValues options.services.neo4j.directories) + ); + policyDirectoriesToCreate = lib.concatMap (pol: pol.directoriesToCreate) ( + lib.attrValues cfg.ssl.policies + ); in lib.mkIf cfg.enable { assertions = [ - { assertion = !lib.elem "legacy" policyNameList; - message = "The policy 'legacy' is special to Neo4j, and its name is reserved."; } - { assertion = lib.elem cfg.bolt.sslPolicy validPolicyNameList; - message = "Invalid policy assigned: `services.neo4j.bolt.sslPolicy = \"${cfg.bolt.sslPolicy}\"`, defined policies are: ${validPolicyNameString}"; } - { assertion = lib.elem cfg.https.sslPolicy validPolicyNameList; - message = "Invalid policy assigned: `services.neo4j.https.sslPolicy = \"${cfg.https.sslPolicy}\"`, defined policies are: ${validPolicyNameString}"; } + { + assertion = !lib.elem "legacy" policyNameList; + message = "The policy 'legacy' is special to Neo4j, and its name is reserved."; + } + { + assertion = lib.elem cfg.bolt.sslPolicy validPolicyNameList; + message = "Invalid policy assigned: `services.neo4j.bolt.sslPolicy = \"${cfg.bolt.sslPolicy}\"`, defined policies are: ${validPolicyNameString}"; + } + { + assertion = lib.elem cfg.https.sslPolicy validPolicyNameList; + message = "Invalid policy assigned: `services.neo4j.https.sslPolicy = \"${cfg.https.sslPolicy}\"`, defined policies are: ${validPolicyNameString}"; + } ]; systemd.services.neo4j = { @@ -590,9 +668,8 @@ in { mkdir -m 0700 -p ${cfg.directories.home}/{conf,logs} # Create other sub-directories and policy directories that have been left at their default. - ${lib.concatMapStringsSep "\n" ( - dir: '' - mkdir -m 0700 -p ${dir} + ${lib.concatMapStringsSep "\n" (dir: '' + mkdir -m 0700 -p ${dir} '') (defaultDirectoriesToCreate ++ policyDirectoriesToCreate)} # Place the configuration where Neo4j can find it. @@ -611,7 +688,7 @@ in { description = "Neo4j daemon user"; home = cfg.directories.home; }; - users.groups.neo4j = {}; + users.groups.neo4j = { }; }; meta = { diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index 20b1f03021f0c..6cf517d9dfdb8 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -1,43 +1,52 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.openldap; openldap = cfg.package; configDir = if cfg.configDir != null then cfg.configDir else "/etc/openldap/slapd.d"; - ldapValueType = let - # Can't do types.either with multiple non-overlapping submodules, so define our own - singleLdapValueType = lib.mkOptionType rec { - name = "LDAP"; - # TODO: It would be nice to define a { secret = ...; } option, using - # systemd's LoadCredentials for secrets. That would remove the last - # barrier to using DynamicUser for openldap. This is blocked on - # systemd/systemd#19604 - description = '' - LDAP value - either a string, or an attrset containing - `path` or `base64` for included - values or base-64 encoded values respectively. - ''; - check = x: lib.isString x || (lib.isAttrs x && (x ? path || x ? base64)); - merge = lib.mergeEqualOption; - }; + ldapValueType = + let + # Can't do types.either with multiple non-overlapping submodules, so define our own + singleLdapValueType = lib.mkOptionType rec { + name = "LDAP"; + # TODO: It would be nice to define a { secret = ...; } option, using + # systemd's LoadCredentials for secrets. That would remove the last + # barrier to using DynamicUser for openldap. This is blocked on + # systemd/systemd#19604 + description = '' + LDAP value - either a string, or an attrset containing + `path` or `base64` for included + values or base-64 encoded values respectively. + ''; + check = x: lib.isString x || (lib.isAttrs x && (x ? path || x ? base64)); + merge = lib.mergeEqualOption; + }; + in # We don't coerce to lists of single values, as some values must be unique - in lib.types.either singleLdapValueType (lib.types.listOf singleLdapValueType); + lib.types.either singleLdapValueType (lib.types.listOf singleLdapValueType); ldapAttrsType = let options = { attrs = lib.mkOption { type = lib.types.attrsOf ldapValueType; - default = {}; + default = { }; description = "Attributes of the parent entry."; }; children = lib.mkOption { # Hide the child attributes, to avoid infinite recursion in e.g. documentation # Actual Nix evaluation is lazy, so this is not an issue there - type = let - hiddenOptions = lib.mapAttrs (name: attr: attr // { visible = false; }) options; - in lib.types.attrsOf (lib.types.submodule { options = hiddenOptions; }); - default = {}; + type = + let + hiddenOptions = lib.mapAttrs (name: attr: attr // { visible = false; }) options; + in + lib.types.attrsOf (lib.types.submodule { options = hiddenOptions; }); + default = { }; description = "Child entries of the current entry, with recursively the same structure."; example = lib.literalExpression '' { @@ -56,31 +65,46 @@ let }; includes = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' LDIF files to include after the parent's attributes but before its children. ''; }; }; - in lib.types.submodule { inherit options; }; + in + lib.types.submodule { inherit options; }; - valueToLdif = attr: values: let - listValues = if lib.isList values then values else lib.singleton values; - in map (value: - if lib.isAttrs value then - if lib.hasAttr "path" value - then "${attr}:< file://${value.path}" - else "${attr}:: ${value.base64}" - else "${attr}: ${lib.replaceStrings [ "\n" ] [ "\n " ] value}" - ) listValues; + valueToLdif = + attr: values: + let + listValues = if lib.isList values then values else lib.singleton values; + in + map ( + value: + if lib.isAttrs value then + if lib.hasAttr "path" value then "${attr}:< file://${value.path}" else "${attr}:: ${value.base64}" + else + "${attr}: ${lib.replaceStrings [ "\n" ] [ "\n " ] value}" + ) listValues; - attrsToLdif = dn: { attrs, children, includes, ... }: ['' - dn: ${dn} - ${lib.concatStringsSep "\n" (lib.flatten (lib.mapAttrsToList valueToLdif attrs))} - ''] ++ (map (path: "include: file://${path}\n") includes) ++ ( - lib.flatten (lib.mapAttrsToList (name: value: attrsToLdif "${name},${dn}" value) children) - ); -in { + attrsToLdif = + dn: + { + attrs, + children, + includes, + ... + }: + [ + '' + dn: ${dn} + ${lib.concatStringsSep "\n" (lib.flatten (lib.mapAttrsToList valueToLdif attrs))} + '' + ] + ++ (map (path: "include: file://${path}\n") includes) + ++ (lib.flatten (lib.mapAttrsToList (name: value: attrsToLdif "${name},${dn}" value) children)); +in +{ options = { services.openldap = { enable = lib.mkOption { @@ -186,7 +210,7 @@ in { declarativeContents = lib.mkOption { type = with lib.types; attrsOf lines; - default = {}; + default = { }; description = '' Declarative contents for the LDAP database, in LDIF format by suffix. @@ -222,115 +246,154 @@ in { meta.maintainers = with lib.maintainers; [ kwohlfahrt ]; - config = let - dbSettings = lib.mapAttrs' (name: { attrs, ... }: lib.nameValuePair attrs.olcSuffix attrs) - (lib.filterAttrs (name: { attrs, ... }: (lib.hasPrefix "olcDatabase=" name) && attrs ? olcSuffix) cfg.settings.children); - settingsFile = pkgs.writeText "config.ldif" (lib.concatStringsSep "\n" (attrsToLdif "cn=config" cfg.settings)); - writeConfig = pkgs.writeShellScript "openldap-config" '' - set -euo pipefail + config = + let + dbSettings = lib.mapAttrs' (name: { attrs, ... }: lib.nameValuePair attrs.olcSuffix attrs) ( + lib.filterAttrs ( + name: { attrs, ... }: (lib.hasPrefix "olcDatabase=" name) && attrs ? olcSuffix + ) cfg.settings.children + ); + settingsFile = pkgs.writeText "config.ldif" ( + lib.concatStringsSep "\n" (attrsToLdif "cn=config" cfg.settings) + ); + writeConfig = pkgs.writeShellScript "openldap-config" '' + set -euo pipefail - ${lib.optionalString (!cfg.mutableConfig) '' - chmod -R u+w ${configDir} - rm -rf ${configDir}/* - ''} - if [ ! -e "${configDir}/cn=config.ldif" ]; then - ${openldap}/bin/slapadd -F ${configDir} -bcn=config -l ${settingsFile} - fi - chmod -R ${if cfg.mutableConfig then "u+rw" else "u+r-w"} ${configDir} - ''; + ${lib.optionalString (!cfg.mutableConfig) '' + chmod -R u+w ${configDir} + rm -rf ${configDir}/* + ''} + if [ ! -e "${configDir}/cn=config.ldif" ]; then + ${openldap}/bin/slapadd -F ${configDir} -bcn=config -l ${settingsFile} + fi + chmod -R ${if cfg.mutableConfig then "u+rw" else "u+r-w"} ${configDir} + ''; - contentsFiles = lib.mapAttrs (dn: ldif: pkgs.writeText "${dn}.ldif" ldif) cfg.declarativeContents; - writeContents = pkgs.writeShellScript "openldap-load" '' - set -euo pipefail + contentsFiles = lib.mapAttrs (dn: ldif: pkgs.writeText "${dn}.ldif" ldif) cfg.declarativeContents; + writeContents = pkgs.writeShellScript "openldap-load" '' + set -euo pipefail - rm -rf $2/* - ${openldap}/bin/slapadd -F ${configDir} -b $1 -l $3 - ''; - in lib.mkIf cfg.enable { - assertions = [{ - assertion = (cfg.declarativeContents != {}) -> cfg.configDir == null; - message = '' - Declarative DB contents (${lib.attrNames cfg.declarativeContents}) are not - supported with user-managed configuration. - ''; - }] ++ (map (dn: { - assertion = (lib.getAttr dn dbSettings) ? "olcDbDirectory"; - # olcDbDirectory is necessary to prepopulate database using `slapadd`. - message = '' - Declarative DB ${dn} does not exist in `services.openldap.settings`, or does not have - `olcDbDirectory` configured. - ''; - }) (lib.attrNames cfg.declarativeContents)) ++ (lib.mapAttrsToList (dn: { olcDbDirectory ? null, ... }: { - # For forward compatibility with `DynamicUser`, and to avoid accidentally clobbering - # directories with `declarativeContents`. - assertion = (olcDbDirectory != null) -> - ((lib.hasPrefix "/var/lib/openldap/" olcDbDirectory) && (olcDbDirectory != "/var/lib/openldap/")); - message = '' - Database ${dn} has `olcDbDirectory` (${olcDbDirectory}) that is not a subdirectory of - `/var/lib/openldap/`. + rm -rf $2/* + ${openldap}/bin/slapadd -F ${configDir} -b $1 -l $3 ''; - }) dbSettings); - environment.systemPackages = [ openldap ]; + in + lib.mkIf cfg.enable { + assertions = + [ + { + assertion = (cfg.declarativeContents != { }) -> cfg.configDir == null; + message = '' + Declarative DB contents (${lib.attrNames cfg.declarativeContents}) are not + supported with user-managed configuration. + ''; + } + ] + ++ (map (dn: { + assertion = (lib.getAttr dn dbSettings) ? "olcDbDirectory"; + # olcDbDirectory is necessary to prepopulate database using `slapadd`. + message = '' + Declarative DB ${dn} does not exist in `services.openldap.settings`, or does not have + `olcDbDirectory` configured. + ''; + }) (lib.attrNames cfg.declarativeContents)) + ++ (lib.mapAttrsToList ( + dn: + { + olcDbDirectory ? null, + ... + }: + { + # For forward compatibility with `DynamicUser`, and to avoid accidentally clobbering + # directories with `declarativeContents`. + assertion = + (olcDbDirectory != null) + -> ( + (lib.hasPrefix "/var/lib/openldap/" olcDbDirectory) && (olcDbDirectory != "/var/lib/openldap/") + ); + message = '' + Database ${dn} has `olcDbDirectory` (${olcDbDirectory}) that is not a subdirectory of + `/var/lib/openldap/`. + ''; + } + ) dbSettings); + environment.systemPackages = [ openldap ]; - # Literal attributes must always be set - services.openldap.settings = { - attrs = { - objectClass = "olcGlobal"; - cn = "config"; - }; - children."cn=schema".attrs = { - cn = "schema"; - objectClass = "olcSchemaConfig"; + # Literal attributes must always be set + services.openldap.settings = { + attrs = { + objectClass = "olcGlobal"; + cn = "config"; + }; + children."cn=schema".attrs = { + cn = "schema"; + objectClass = "olcSchemaConfig"; + }; }; - }; - systemd.services.openldap = { - description = "OpenLDAP Server Daemon"; - documentation = [ - "man:slapd" - "man:slapd-config" - "man:slapd-mdb" - ]; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStartPre = [ - "!${pkgs.coreutils}/bin/mkdir -p ${configDir}" - "+${pkgs.coreutils}/bin/chown $USER ${configDir}" - ] ++ (lib.optional (cfg.configDir == null) writeConfig) - ++ (lib.mapAttrsToList (dn: content: lib.escapeShellArgs [ - writeContents dn (lib.getAttr dn dbSettings).olcDbDirectory content - ]) contentsFiles) - ++ [ "${openldap}/bin/slaptest -u -F ${configDir}" ]; - ExecStart = lib.escapeShellArgs ([ - "${openldap}/libexec/slapd" "-d" "0" "-F" configDir "-h" (lib.concatStringsSep " " cfg.urlList) - ]); - Type = "notify"; - # Fixes an error where openldap attempts to notify from a thread - # outside the main process: - # Got notification message from PID 6378, but reception only permitted for main PID 6377 - NotifyAccess = "all"; - RuntimeDirectory = "openldap"; - StateDirectory = ["openldap"] - ++ (map ({olcDbDirectory, ... }: lib.removePrefix "/var/lib/" olcDbDirectory) (lib.attrValues dbSettings)); - StateDirectoryMode = "700"; - AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; - CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ]; + systemd.services.openldap = { + description = "OpenLDAP Server Daemon"; + documentation = [ + "man:slapd" + "man:slapd-config" + "man:slapd-mdb" + ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStartPre = + [ + "!${pkgs.coreutils}/bin/mkdir -p ${configDir}" + "+${pkgs.coreutils}/bin/chown $USER ${configDir}" + ] + ++ (lib.optional (cfg.configDir == null) writeConfig) + ++ (lib.mapAttrsToList ( + dn: content: + lib.escapeShellArgs [ + writeContents + dn + (lib.getAttr dn dbSettings).olcDbDirectory + content + ] + ) contentsFiles) + ++ [ "${openldap}/bin/slaptest -u -F ${configDir}" ]; + ExecStart = lib.escapeShellArgs ([ + "${openldap}/libexec/slapd" + "-d" + "0" + "-F" + configDir + "-h" + (lib.concatStringsSep " " cfg.urlList) + ]); + Type = "notify"; + # Fixes an error where openldap attempts to notify from a thread + # outside the main process: + # Got notification message from PID 6378, but reception only permitted for main PID 6377 + NotifyAccess = "all"; + RuntimeDirectory = "openldap"; + StateDirectory = + [ "openldap" ] + ++ (map ({ olcDbDirectory, ... }: lib.removePrefix "/var/lib/" olcDbDirectory) ( + lib.attrValues dbSettings + )); + StateDirectoryMode = "700"; + AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; + CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ]; + }; }; - }; - users.users = lib.optionalAttrs (cfg.user == "openldap") { - openldap = { - group = cfg.group; - isSystemUser = true; + users.users = lib.optionalAttrs (cfg.user == "openldap") { + openldap = { + group = cfg.group; + isSystemUser = true; + }; }; - }; - users.groups = lib.optionalAttrs (cfg.group == "openldap") { - openldap = {}; + users.groups = lib.optionalAttrs (cfg.group == "openldap") { + openldap = { }; + }; }; - }; } diff --git a/nixos/modules/services/databases/opentsdb.nix b/nixos/modules/services/databases/opentsdb.nix index 90268daec1d70..00a4d7f0edde6 100644 --- a/nixos/modules/services/databases/opentsdb.nix +++ b/nixos/modules/services/databases/opentsdb.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.opentsdb; configFile = pkgs.writeText "opentsdb.conf" cfg.config; -in { +in +{ ###### interface @@ -67,10 +73,9 @@ in { environment.JAVA_HOME = "${pkgs.jre}"; path = [ pkgs.gnuplot ]; - preStart = - '' + preStart = '' COMPRESSION=NONE HBASE_HOME=${config.services.hbase.package} ${cfg.package}/share/opentsdb/tools/create_table.sh - ''; + ''; serviceConfig = { PermissionsStartOnly = true; diff --git a/nixos/modules/services/databases/pgbouncer.nix b/nixos/modules/services/databases/pgbouncer.nix index 36130d66c685f..378cbc3f81bb5 100644 --- a/nixos/modules/services/databases/pgbouncer.nix +++ b/nixos/modules/services/databases/pgbouncer.nix @@ -1,123 +1,163 @@ -{ config, lib, utils, pkgs, ... }: +{ + config, + lib, + utils, + pkgs, + ... +}: let cfg = config.services.pgbouncer; settingsFormat = pkgs.formats.ini { }; - configFile = settingsFormat.generate "pgbouncer.ini" - (lib.filterAttrsRecursive (_: v: v != null) cfg.settings); + configFile = settingsFormat.generate "pgbouncer.ini" ( + lib.filterAttrsRecursive (_: v: v != null) cfg.settings + ); configPath = "pgbouncer/pgbouncer.ini"; in { imports = [ - (lib.mkRemovedOptionModule - [ "services" "pgbouncer" "logFile" ] - '' - `services.pgbouncer.logFile` has been removed, use `services.pgbouncer.settings.pgbouncer.logfile` - instead. - Please note that the new option expects an absolute path - whereas the old option accepted paths relative to pgbouncer's home dir. - '') + (lib.mkRemovedOptionModule [ "services" "pgbouncer" "logFile" ] '' + `services.pgbouncer.logFile` has been removed, use `services.pgbouncer.settings.pgbouncer.logfile` + instead. + Please note that the new option expects an absolute path + whereas the old option accepted paths relative to pgbouncer's home dir. + '') (lib.mkRenamedOptionModule [ "services" "pgbouncer" "listenAddress" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "listen_addr" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "listen_addr" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "listenPort" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "listen_port" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "listen_port" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "poolMode" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "pool_mode" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "pool_mode" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "maxClientConn" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "max_client_conn" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "max_client_conn" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "defaultPoolSize" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "default_pool_size" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "default_pool_size" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "maxDbConnections" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "max_db_connections" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "max_db_connections" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "maxUserConnections" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "max_user_connections" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "max_user_connections" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "ignoreStartupParameters" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "ignore_startup_parameters" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "ignore_startup_parameters" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "databases" ] - [ "services" "pgbouncer" "settings" "databases" ]) + [ "services" "pgbouncer" "settings" "databases" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "users" ] - [ "services" "pgbouncer" "settings" "users" ]) + [ "services" "pgbouncer" "settings" "users" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "peers" ] - [ "services" "pgbouncer" "settings" "peers" ]) + [ "services" "pgbouncer" "settings" "peers" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "authType" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "auth_type" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "auth_type" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "authHbaFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "auth_hba_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "auth_hba_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "authFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "auth_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "auth_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "authUser" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "auth_user" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "auth_user" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "authQuery" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "auth_query" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "auth_query" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "authDbname" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "auth_dbname" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "auth_dbname" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "adminUsers" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "admin_users" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "admin_users" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "statsUsers" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "stats_users" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "stats_users" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "verbose" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "verbose" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "verbose" ] + ) (lib.mkChangedOptionModule [ "services" "pgbouncer" "syslog" "enable" ] [ "services" "pgbouncer" "settings" "pgbouncer" "syslog" ] - (config: + ( + config: let - enable = lib.getAttrFromPath - [ "services" "pgbouncer" "syslog" "enable" ] - config; + enable = lib.getAttrFromPath [ "services" "pgbouncer" "syslog" "enable" ] config; in - if enable then 1 else 0)) + if enable then 1 else 0 + ) + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "syslog" "syslogIdent" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "syslog_ident" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "syslog_ident" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "syslog" "syslogFacility" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "syslog_facility" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "syslog_facility" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "client" "sslmode" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_sslmode" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_sslmode" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "client" "keyFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_key_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_key_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "client" "certFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_cert_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_cert_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "client" "caFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_ca_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "client_tls_ca_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "server" "sslmode" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_sslmode" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_sslmode" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "server" "keyFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_key_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_key_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "server" "certFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_cert_file" ]) + [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_cert_file" ] + ) (lib.mkRenamedOptionModule [ "services" "pgbouncer" "tls" "server" "caFile" ] - [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_ca_file" ]) - (lib.mkRemovedOptionModule [ "services" "pgbouncer" "extraConfig" ] "Use services.pgbouncer.settings instead.") + [ "services" "pgbouncer" "settings" "pgbouncer" "server_tls_ca_file" ] + ) + (lib.mkRemovedOptionModule [ + "services" + "pgbouncer" + "extraConfig" + ] "Use services.pgbouncer.settings instead.") ]; options.services.pgbouncer = { @@ -160,7 +200,11 @@ in }; pool_mode = lib.mkOption { - type = lib.types.enum [ "session" "transaction" "statement" ]; + type = lib.types.enum [ + "session" + "transaction" + "statement" + ]; default = "session"; description = '' Specifies when a server connection can be reused by other clients. @@ -268,11 +312,11 @@ in }; databases = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = { exampledb = "host=/run/postgresql/ port=5432 auth_user=exampleuser dbname=exampledb sslmode=require"; bardb = "host=localhost dbname=bazdb"; - foodb = "host=host1.example.com port=5432"; + foodb = "host=host1.example.com port=5432"; }; description = '' Detailed information about PostgreSQL database definitions: @@ -281,7 +325,7 @@ in }; users = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = { user1 = "pool_mode=session"; }; @@ -295,7 +339,7 @@ in peers = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = { "1" = "host=host1.example.com"; "2" = "host=/tmp/pgbouncer-2 port=5555"; diff --git a/nixos/modules/services/databases/pgmanage.nix b/nixos/modules/services/databases/pgmanage.nix index fe3d1b5bfb9db..472aefdaade5d 100644 --- a/nixos/modules/services/databases/pgmanage.nix +++ b/nixos/modules/services/databases/pgmanage.nix @@ -1,10 +1,15 @@ -{ lib, pkgs, config, ... } : +{ + lib, + pkgs, + config, + ... +}: let cfg = config.services.pgmanage; confFile = pkgs.writeTextFile { name = "pgmanage.conf"; - text = '' + text = '' connection_file = ${pgmanageConnectionsFile} allow_custom_connections = ${builtins.toJSON cfg.allowCustomConnections} @@ -22,8 +27,8 @@ let sql_root = ${cfg.sqlRoot} ${lib.optionalString (cfg.tls != null) '' - tls_cert = ${cfg.tls.cert} - tls_key = ${cfg.tls.key} + tls_cert = ${cfg.tls.cert} + tls_key = ${cfg.tls.key} ''} log_level = ${cfg.logLevel} @@ -32,13 +37,15 @@ let pgmanageConnectionsFile = pkgs.writeTextFile { name = "pgmanage-connections.conf"; - text = lib.concatStringsSep "\n" - (lib.mapAttrsToList (name : conn : "${name}: ${conn}") cfg.connections); + text = lib.concatStringsSep "\n" ( + lib.mapAttrsToList (name: conn: "${name}: ${conn}") cfg.connections + ); }; pgmanage = "pgmanage"; -in { +in +{ options.services.pgmanage = { enable = lib.mkEnableOption "PostgreSQL Administration for the web"; @@ -47,9 +54,9 @@ in { connections = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; example = { - nuc-server = "hostaddr=192.168.0.100 port=5432 dbname=postgres"; + nuc-server = "hostaddr=192.168.0.100 port=5432 dbname=postgres"; mini-server = "hostaddr=127.0.0.1 port=5432 dbname=postgres sslmode=require"; }; description = '' @@ -133,18 +140,20 @@ in { }; tls = lib.mkOption { - type = lib.types.nullOr (lib.types.submodule { - options = { - cert = lib.mkOption { - type = lib.types.str; - description = "TLS certificate"; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + cert = lib.mkOption { + type = lib.types.str; + description = "TLS certificate"; + }; + key = lib.mkOption { + type = lib.types.str; + description = "TLS key"; + }; }; - key = lib.mkOption { - type = lib.types.str; - description = "TLS key"; - }; - }; - }); + } + ); default = null; description = '' These options tell pgmanage where the TLS Certificate and Key files @@ -160,7 +169,12 @@ in { }; logLevel = lib.mkOption { - type = lib.types.enum ["error" "warn" "notice" "info"]; + type = lib.types.enum [ + "error" + "warn" + "notice" + "info" + ]; default = "error"; description = '' Verbosity of logs @@ -171,21 +185,22 @@ in { config = lib.mkIf cfg.enable { systemd.services.pgmanage = { description = "pgmanage - PostgreSQL Administration for the web"; - wants = [ "postgresql.service" ]; - after = [ "postgresql.service" ]; + wants = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - User = pgmanage; - Group = pgmanage; - ExecStart = "${cfg.package}/sbin/pgmanage -c ${confFile}" + - lib.optionalString cfg.localOnly " --local-only=true"; + User = pgmanage; + Group = pgmanage; + ExecStart = + "${cfg.package}/sbin/pgmanage -c ${confFile}" + + lib.optionalString cfg.localOnly " --local-only=true"; }; }; users = { users.${pgmanage} = { - name = pgmanage; + name = pgmanage; group = pgmanage; - home = cfg.sqlRoot; + home = cfg.sqlRoot; createHome = true; isSystemUser = true; }; diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 004e8130ad6ea..f113bf2d510ac 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -39,24 +44,29 @@ let # package = pkgs.postgresql_; # }; # works. - basePackage = if cfg.enableJIT - then cfg.package.withJIT - else cfg.package.withoutJIT; + basePackage = if cfg.enableJIT then cfg.package.withJIT else cfg.package.withoutJIT; - postgresql = if cfg.extensions == [] - then basePackage - else basePackage.withPackages cfg.extensions; + postgresql = if cfg.extensions == [ ] then basePackage else basePackage.withPackages cfg.extensions; - toStr = value: - if true == value then "yes" - else if false == value then "no" - else if isString value then "'${lib.replaceStrings ["'"] ["''"] value}'" - else builtins.toString value; + toStr = + value: + if true == value then + "yes" + else if false == value then + "no" + else if isString value then + "'${lib.replaceStrings [ "'" ] [ "''" ] value}'" + else + builtins.toString value; # The main PostgreSQL configuration file. - configFile = pkgs.writeTextDir "postgresql.conf" (concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") (filterAttrs (const (x: x != null)) cfg.settings))); + configFile = pkgs.writeTextDir "postgresql.conf" ( + concatStringsSep "\n" ( + mapAttrsToList (n: v: "${n} = ${toStr v}") (filterAttrs (const (x: x != null)) cfg.settings) + ) + ); - configFileCheck = pkgs.runCommand "postgresql-configfile-check" {} '' + configFileCheck = pkgs.runCommand "postgresql-configfile-check" { } '' ${cfg.package}/bin/postgres -D${configFile} -C config_file >/dev/null touch $out ''; @@ -69,11 +79,24 @@ in { imports = [ - (mkRemovedOptionModule [ "services" "postgresql" "extraConfig" ] "Use services.postgresql.settings instead.") - - (mkRenamedOptionModule [ "services" "postgresql" "logLinePrefix" ] [ "services" "postgresql" "settings" "log_line_prefix" ]) - (mkRenamedOptionModule [ "services" "postgresql" "port" ] [ "services" "postgresql" "settings" "port" ]) - (mkRenamedOptionModule [ "services" "postgresql" "extraPlugins" ] [ "services" "postgresql" "extensions" ]) + (mkRemovedOptionModule [ + "services" + "postgresql" + "extraConfig" + ] "Use services.postgresql.settings instead.") + + (mkRenamedOptionModule + [ "services" "postgresql" "logLinePrefix" ] + [ "services" "postgresql" "settings" "log_line_prefix" ] + ) + (mkRenamedOptionModule + [ "services" "postgresql" "port" ] + [ "services" "postgresql" "settings" "port" ] + ) + (mkRenamedOptionModule + [ "services" "postgresql" "extraPlugins" ] + [ "services" "postgresql" "extensions" ] + ) ]; ###### interface @@ -140,8 +163,11 @@ in initdbArgs = mkOption { type = with types; listOf str; - default = []; - example = [ "--data-checksums" "--allow-group-access" ]; + default = [ ]; + example = [ + "--data-checksums" + "--allow-group-access" + ]; description = '' Additional arguments passed to `initdb` during data dir initialisation. @@ -163,7 +189,7 @@ in ensureDatabases = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' Ensures that the specified databases exist. This option will never delete existing databases, especially not when the value of this @@ -177,175 +203,179 @@ in }; ensureUsers = mkOption { - type = types.listOf (types.submodule { - options = { - name = mkOption { - type = types.str; - description = '' - Name of the user to ensure. - ''; - }; + type = types.listOf ( + types.submodule { + options = { + name = mkOption { + type = types.str; + description = '' + Name of the user to ensure. + ''; + }; - ensureDBOwnership = mkOption { - type = types.bool; - default = false; - description = '' - Grants the user ownership to a database with the same name. - This database must be defined manually in - [](#opt-services.postgresql.ensureDatabases). - ''; - }; + ensureDBOwnership = mkOption { + type = types.bool; + default = false; + description = '' + Grants the user ownership to a database with the same name. + This database must be defined manually in + [](#opt-services.postgresql.ensureDatabases). + ''; + }; - ensureClauses = mkOption { - description = '' - An attrset of clauses to grant to the user. Under the hood this uses the - [ALTER USER syntax](https://www.postgresql.org/docs/current/sql-alteruser.html) for each attrName where - the attrValue is true in the attrSet: - `ALTER USER user.name WITH attrName` - ''; - example = literalExpression '' - { - superuser = true; - createrole = true; - createdb = true; - } - ''; - default = {}; - defaultText = lib.literalMD '' - The default, `null`, means that the user created will have the default permissions assigned by PostgreSQL. Subsequent server starts will not set or unset the clause, so imperative changes are preserved. - ''; - type = types.submodule { - options = let - defaultText = lib.literalMD '' - `null`: do not set. For newly created roles, use PostgreSQL's default. For existing roles, do not touch this clause. - ''; - in { - superuser = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user, created by the ensureUser attr, superuser permissions. From the postgres docs: - - A database superuser bypasses all permission checks, - except the right to log in. This is a dangerous privilege - and should not be used carelessly; it is best to do most - of your work as a role that is not a superuser. To create - a new database superuser, use CREATE ROLE name SUPERUSER. - You must do this as a role that is already a superuser. - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; - createrole = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user, created by the ensureUser attr, createrole permissions. From the postgres docs: - - A role must be explicitly given permission to create more - roles (except for superusers, since those bypass all - permission checks). To create such a role, use CREATE - ROLE name CREATEROLE. A role with CREATEROLE privilege - can alter and drop other roles, too, as well as grant or - revoke membership in them. However, to create, alter, - drop, or change membership of a superuser role, superuser - status is required; CREATEROLE is insufficient for that. - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; - createdb = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user, created by the ensureUser attr, createdb permissions. From the postgres docs: - - A role must be explicitly given permission to create - databases (except for superusers, since those bypass all - permission checks). To create such a role, use CREATE - ROLE name CREATEDB. - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; - "inherit" = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user created inherit permissions. From the postgres docs: - - A role is given permission to inherit the privileges of - roles it is a member of, by default. However, to create a - role without the permission, use CREATE ROLE name - NOINHERIT. - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; - login = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user, created by the ensureUser attr, login permissions. From the postgres docs: - - Only roles that have the LOGIN attribute can be used as - the initial role name for a database connection. A role - with the LOGIN attribute can be considered the same as a - “database user”. To create a role with login privilege, - use either: - - CREATE ROLE name LOGIN; CREATE USER name; - - (CREATE USER is equivalent to CREATE ROLE except that - CREATE USER includes LOGIN by default, while CREATE ROLE - does not.) - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; - replication = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: - - A role must explicitly be given permission to initiate - streaming replication (except for superusers, since those - bypass all permission checks). A role used for streaming - replication must have LOGIN permission as well. To create - such a role, use CREATE ROLE name REPLICATION LOGIN. - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; - bypassrls = mkOption { - type = types.nullOr types.bool; - description = '' - Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: - - A role must be explicitly given permission to bypass - every row-level security (RLS) policy (except for - superusers, since those bypass all permission checks). To - create such a role, use CREATE ROLE name BYPASSRLS as a - superuser. - - More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) - ''; - default = null; - inherit defaultText; - }; + ensureClauses = mkOption { + description = '' + An attrset of clauses to grant to the user. Under the hood this uses the + [ALTER USER syntax](https://www.postgresql.org/docs/current/sql-alteruser.html) for each attrName where + the attrValue is true in the attrSet: + `ALTER USER user.name WITH attrName` + ''; + example = literalExpression '' + { + superuser = true; + createrole = true; + createdb = true; + } + ''; + default = { }; + defaultText = lib.literalMD '' + The default, `null`, means that the user created will have the default permissions assigned by PostgreSQL. Subsequent server starts will not set or unset the clause, so imperative changes are preserved. + ''; + type = types.submodule { + options = + let + defaultText = lib.literalMD '' + `null`: do not set. For newly created roles, use PostgreSQL's default. For existing roles, do not touch this clause. + ''; + in + { + superuser = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user, created by the ensureUser attr, superuser permissions. From the postgres docs: + + A database superuser bypasses all permission checks, + except the right to log in. This is a dangerous privilege + and should not be used carelessly; it is best to do most + of your work as a role that is not a superuser. To create + a new database superuser, use CREATE ROLE name SUPERUSER. + You must do this as a role that is already a superuser. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + createrole = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user, created by the ensureUser attr, createrole permissions. From the postgres docs: + + A role must be explicitly given permission to create more + roles (except for superusers, since those bypass all + permission checks). To create such a role, use CREATE + ROLE name CREATEROLE. A role with CREATEROLE privilege + can alter and drop other roles, too, as well as grant or + revoke membership in them. However, to create, alter, + drop, or change membership of a superuser role, superuser + status is required; CREATEROLE is insufficient for that. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + createdb = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user, created by the ensureUser attr, createdb permissions. From the postgres docs: + + A role must be explicitly given permission to create + databases (except for superusers, since those bypass all + permission checks). To create such a role, use CREATE + ROLE name CREATEDB. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + "inherit" = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user created inherit permissions. From the postgres docs: + + A role is given permission to inherit the privileges of + roles it is a member of, by default. However, to create a + role without the permission, use CREATE ROLE name + NOINHERIT. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + login = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user, created by the ensureUser attr, login permissions. From the postgres docs: + + Only roles that have the LOGIN attribute can be used as + the initial role name for a database connection. A role + with the LOGIN attribute can be considered the same as a + “database user”. To create a role with login privilege, + use either: + + CREATE ROLE name LOGIN; CREATE USER name; + + (CREATE USER is equivalent to CREATE ROLE except that + CREATE USER includes LOGIN by default, while CREATE ROLE + does not.) + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + replication = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: + + A role must explicitly be given permission to initiate + streaming replication (except for superusers, since those + bypass all permission checks). A role used for streaming + replication must have LOGIN permission as well. To create + such a role, use CREATE ROLE name REPLICATION LOGIN. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + bypassrls = mkOption { + type = types.nullOr types.bool; + description = '' + Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: + + A role must be explicitly given permission to bypass + every row-level security (RLS) policy (except for + superusers, since those bypass all permission checks). To + create such a role, use CREATE ROLE name BYPASSRLS as a + superuser. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + }; }; }; }; - }; - }); - default = []; + } + ); + default = [ ]; description = '' Ensures that the specified users exist. The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the @@ -379,7 +409,7 @@ in extensions = mkOption { type = with types; coercedTo (listOf path) (path: _ignorePg: path) (functionTo (listOf path)); - default = _: []; + default = _: [ ]; example = literalExpression "ps: with ps; [ postgis pg_repack ]"; description = '' List of PostgreSQL extensions to install. @@ -387,39 +417,46 @@ in }; settings = mkOption { - type = with types; submodule { - freeformType = attrsOf (oneOf [ bool float int str ]); - options = { - shared_preload_libraries = mkOption { - type = nullOr (coercedTo (listOf str) (concatStringsSep ", ") str); - default = null; - example = literalExpression ''[ "auto_explain" "anon" ]''; - description = '' - List of libraries to be preloaded. - ''; - }; + type = + with types; + submodule { + freeformType = attrsOf (oneOf [ + bool + float + int + str + ]); + options = { + shared_preload_libraries = mkOption { + type = nullOr (coercedTo (listOf str) (concatStringsSep ", ") str); + default = null; + example = literalExpression ''[ "auto_explain" "anon" ]''; + description = '' + List of libraries to be preloaded. + ''; + }; - log_line_prefix = mkOption { - type = types.str; - default = "[%p] "; - example = "%m [%p] "; - description = '' - A printf-style string that is output at the beginning of each log line. - Upstream default is `'%m [%p] '`, i.e. it includes the timestamp. We do - not include the timestamp, because journal has it anyway. - ''; - }; + log_line_prefix = mkOption { + type = types.str; + default = "[%p] "; + example = "%m [%p] "; + description = '' + A printf-style string that is output at the beginning of each log line. + Upstream default is `'%m [%p] '`, i.e. it includes the timestamp. We do + not include the timestamp, because journal has it anyway. + ''; + }; - port = mkOption { - type = types.port; - default = 5432; - description = '' - The port on which PostgreSQL listens. - ''; + port = mkOption { + type = types.port; + default = 5432; + description = '' + The port on which PostgreSQL listens. + ''; + }; }; }; - }; - default = {}; + default = { }; description = '' PostgreSQL configuration. Refer to @@ -458,54 +495,66 @@ in PostgreSQL superuser account to use for various operations. Internal since changing this value would lead to breakage while setting up databases. ''; - }; + }; }; }; - ###### implementation config = mkIf cfg.enable { - assertions = map ({ name, ensureDBOwnership, ... }: { - assertion = ensureDBOwnership -> elem name cfg.ensureDatabases; - message = '' - For each database user defined with `services.postgresql.ensureUsers` and - `ensureDBOwnership = true;`, a database with the same name must be defined - in `services.postgresql.ensureDatabases`. - - Offender: ${name} has not been found among databases. - ''; - }) cfg.ensureUsers; - - services.postgresql.settings = + assertions = map ( + { name, ensureDBOwnership, ... }: { - hba_file = "${pkgs.writeText "pg_hba.conf" cfg.authentication}"; - ident_file = "${pkgs.writeText "pg_ident.conf" cfg.identMap}"; - log_destination = "stderr"; - listen_addresses = if cfg.enableTCPIP then "*" else "localhost"; - jit = mkDefault (if cfg.enableJIT then "on" else "off"); - }; + assertion = ensureDBOwnership -> elem name cfg.ensureDatabases; + message = '' + For each database user defined with `services.postgresql.ensureUsers` and + `ensureDBOwnership = true;`, a database with the same name must be defined + in `services.postgresql.ensureDatabases`. - services.postgresql.package = let - mkThrow = ver: throw "postgresql_${ver} was removed, please upgrade your postgresql version."; - mkWarn = ver: warn '' - The postgresql package is not pinned and selected automatically by - `system.stateVersion`. Right now this is `pkgs.postgresql_${ver}`, the - oldest postgresql version available and thus the next that will be - removed when EOL on the next stable cycle. - - See also https://endoflife.date/postgresql + Offender: ${name} has not been found among databases. ''; - base = if versionAtLeast config.system.stateVersion "24.11" then pkgs.postgresql_16 - else if versionAtLeast config.system.stateVersion "23.11" then pkgs.postgresql_15 - else if versionAtLeast config.system.stateVersion "22.05" then pkgs.postgresql_14 - else if versionAtLeast config.system.stateVersion "21.11" then mkWarn "13" pkgs.postgresql_13 - else if versionAtLeast config.system.stateVersion "20.03" then mkThrow "11" - else if versionAtLeast config.system.stateVersion "17.09" then mkThrow "9_6" - else mkThrow "9_5"; - in + } + ) cfg.ensureUsers; + + services.postgresql.settings = { + hba_file = "${pkgs.writeText "pg_hba.conf" cfg.authentication}"; + ident_file = "${pkgs.writeText "pg_ident.conf" cfg.identMap}"; + log_destination = "stderr"; + listen_addresses = if cfg.enableTCPIP then "*" else "localhost"; + jit = mkDefault (if cfg.enableJIT then "on" else "off"); + }; + + services.postgresql.package = + let + mkThrow = ver: throw "postgresql_${ver} was removed, please upgrade your postgresql version."; + mkWarn = + ver: + warn '' + The postgresql package is not pinned and selected automatically by + `system.stateVersion`. Right now this is `pkgs.postgresql_${ver}`, the + oldest postgresql version available and thus the next that will be + removed when EOL on the next stable cycle. + + See also https://endoflife.date/postgresql + ''; + base = + if versionAtLeast config.system.stateVersion "24.11" then + pkgs.postgresql_16 + else if versionAtLeast config.system.stateVersion "23.11" then + pkgs.postgresql_15 + else if versionAtLeast config.system.stateVersion "22.05" then + pkgs.postgresql_14 + else if versionAtLeast config.system.stateVersion "21.11" then + mkWarn "13" pkgs.postgresql_13 + else if versionAtLeast config.system.stateVersion "20.03" then + mkThrow "11" + else if versionAtLeast config.system.stateVersion "17.09" then + mkThrow "9_6" + else + mkThrow "9_5"; + in # Note: when changing the default, make it conditional on # ‘system.stateVersion’ to maintain compatibility with existing # systems! @@ -515,8 +564,7 @@ in services.postgresql.authentication = mkMerge [ (mkBefore "# Generated file; do not edit!") - (mkAfter - '' + (mkAfter '' # default value of services.postgresql.authentication local all all peer host all all 127.0.0.1/32 md5 @@ -524,172 +572,173 @@ in '') ]; - users.users.postgres = - { name = "postgres"; - uid = config.ids.uids.postgres; - group = "postgres"; - description = "PostgreSQL server user"; - home = "${cfg.dataDir}"; - useDefaultShell = true; - }; + users.users.postgres = { + name = "postgres"; + uid = config.ids.uids.postgres; + group = "postgres"; + description = "PostgreSQL server user"; + home = "${cfg.dataDir}"; + useDefaultShell = true; + }; users.groups.postgres.gid = config.ids.gids.postgres; environment.systemPackages = [ postgresql ]; environment.pathsToLink = [ - "/share/postgresql" + "/share/postgresql" ]; - system.checks = lib.optional (cfg.checkConfig && pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) configFileCheck; + system.checks = lib.optional ( + cfg.checkConfig && pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform + ) configFileCheck; - systemd.services.postgresql = - { description = "PostgreSQL Server"; + systemd.services.postgresql = { + description = "PostgreSQL Server"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; - environment.PGDATA = cfg.dataDir; + environment.PGDATA = cfg.dataDir; - path = [ postgresql ]; + path = [ postgresql ]; - preStart = - '' - if ! test -e ${cfg.dataDir}/PG_VERSION; then - # Cleanup the data directory. - rm -f ${cfg.dataDir}/*.conf + preStart = '' + if ! test -e ${cfg.dataDir}/PG_VERSION; then + # Cleanup the data directory. + rm -f ${cfg.dataDir}/*.conf - # Initialise the database. - initdb -U ${cfg.superUser} ${escapeShellArgs cfg.initdbArgs} + # Initialise the database. + initdb -U ${cfg.superUser} ${escapeShellArgs cfg.initdbArgs} - # See postStart! - touch "${cfg.dataDir}/.first_startup" - fi + # See postStart! + touch "${cfg.dataDir}/.first_startup" + fi - ln -sfn "${configFile}/postgresql.conf" "${cfg.dataDir}/postgresql.conf" - ${optionalString (cfg.recoveryConfig != null) '' - ln -sfn "${pkgs.writeText "recovery.conf" cfg.recoveryConfig}" \ - "${cfg.dataDir}/recovery.conf" - ''} - ''; + ln -sfn "${configFile}/postgresql.conf" "${cfg.dataDir}/postgresql.conf" + ${optionalString (cfg.recoveryConfig != null) '' + ln -sfn "${pkgs.writeText "recovery.conf" cfg.recoveryConfig}" \ + "${cfg.dataDir}/recovery.conf" + ''} + ''; - # Wait for PostgreSQL to be ready to accept connections. - postStart = - '' - PSQL="psql --port=${builtins.toString cfg.settings.port}" - - while ! $PSQL -d postgres -c "" 2> /dev/null; do - if ! kill -0 "$MAINPID"; then exit 1; fi - sleep 0.1 - done - - if test -e "${cfg.dataDir}/.first_startup"; then - ${optionalString (cfg.initialScript != null) '' - $PSQL -f "${cfg.initialScript}" -d postgres - ''} - rm -f "${cfg.dataDir}/.first_startup" - fi - '' + optionalString (cfg.ensureDatabases != []) '' - ${concatMapStrings (database: '' - $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"' - '') cfg.ensureDatabases} - '' + '' - ${ - concatMapStrings - (user: - let - dbOwnershipStmt = optionalString - user.ensureDBOwnership - ''$PSQL -tAc 'ALTER DATABASE "${user.name}" OWNER TO "${user.name}";' ''; - - filteredClauses = filterAttrs (name: value: value != null) user.ensureClauses; - - clauseSqlStatements = attrValues (mapAttrs (n: v: if v then n else "no${n}") filteredClauses); - - userClauses = ''$PSQL -tAc 'ALTER ROLE "${user.name}" ${concatStringsSep " " clauseSqlStatements}' ''; - in '' - $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' - ${userClauses} - - ${dbOwnershipStmt} - '' - ) - cfg.ensureUsers - } - ''; + # Wait for PostgreSQL to be ready to accept connections. + postStart = + '' + PSQL="psql --port=${builtins.toString cfg.settings.port}" - serviceConfig = mkMerge [ - { ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - User = "postgres"; - Group = "postgres"; - RuntimeDirectory = "postgresql"; - Type = if versionAtLeast cfg.package.version "9.6" - then "notify" - else "simple"; - - # Shut down Postgres using SIGINT ("Fast Shutdown mode"). See - # https://www.postgresql.org/docs/current/server-shutdown.html - KillSignal = "SIGINT"; - KillMode = "mixed"; - - # Give Postgres a decent amount of time to clean up after - # receiving systemd's SIGINT. - TimeoutSec = 120; - - ExecStart = "${postgresql}/bin/postgres"; - - # Hardening - CapabilityBoundingSet = [ "" ]; - DevicePolicy = "closed"; - PrivateTmp = true; - ProtectHome = true; - ProtectSystem = "strict"; - MemoryDenyWriteExecute = lib.mkDefault (cfg.settings.jit == "off" && (!any extensionInstalled [ "plv8" ])); - NoNewPrivileges = true; - LockPersonality = true; - PrivateDevices = true; - PrivateMounts = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RemoveIPC = true; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_NETLINK" # used for network interface enumeration - "AF_UNIX" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = - [ - "@system-service" - "~@privileged @resources" - ] - ++ lib.optionals (any extensionInstalled [ "plv8" ]) [ "@pkey" ]; - UMask = if groupAccessAvailable then "0027" else "0077"; - } - (mkIf (cfg.dataDir != "/var/lib/postgresql") { - ReadWritePaths = [ cfg.dataDir ]; - }) - (mkIf (cfg.dataDir == "/var/lib/postgresql/${cfg.package.psqlSchema}") { - StateDirectory = "postgresql postgresql/${cfg.package.psqlSchema}"; - StateDirectoryMode = if groupAccessAvailable then "0750" else "0700"; - }) - ]; + while ! $PSQL -d postgres -c "" 2> /dev/null; do + if ! kill -0 "$MAINPID"; then exit 1; fi + sleep 0.1 + done - unitConfig.RequiresMountsFor = "${cfg.dataDir}"; - }; + if test -e "${cfg.dataDir}/.first_startup"; then + ${optionalString (cfg.initialScript != null) '' + $PSQL -f "${cfg.initialScript}" -d postgres + ''} + rm -f "${cfg.dataDir}/.first_startup" + fi + '' + + optionalString (cfg.ensureDatabases != [ ]) '' + ${concatMapStrings (database: '' + $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"' + '') cfg.ensureDatabases} + '' + + '' + ${concatMapStrings ( + user: + let + dbOwnershipStmt = optionalString user.ensureDBOwnership ''$PSQL -tAc 'ALTER DATABASE "${user.name}" OWNER TO "${user.name}";' ''; + + filteredClauses = filterAttrs (name: value: value != null) user.ensureClauses; + + clauseSqlStatements = attrValues (mapAttrs (n: v: if v then n else "no${n}") filteredClauses); + + userClauses = ''$PSQL -tAc 'ALTER ROLE "${user.name}" ${concatStringsSep " " clauseSqlStatements}' ''; + in + '' + $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' + ${userClauses} + + ${dbOwnershipStmt} + '' + ) cfg.ensureUsers} + ''; + + serviceConfig = mkMerge [ + { + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + User = "postgres"; + Group = "postgres"; + RuntimeDirectory = "postgresql"; + Type = if versionAtLeast cfg.package.version "9.6" then "notify" else "simple"; + + # Shut down Postgres using SIGINT ("Fast Shutdown mode"). See + # https://www.postgresql.org/docs/current/server-shutdown.html + KillSignal = "SIGINT"; + KillMode = "mixed"; + + # Give Postgres a decent amount of time to clean up after + # receiving systemd's SIGINT. + TimeoutSec = 120; + + ExecStart = "${postgresql}/bin/postgres"; + + # Hardening + CapabilityBoundingSet = [ "" ]; + DevicePolicy = "closed"; + PrivateTmp = true; + ProtectHome = true; + ProtectSystem = "strict"; + MemoryDenyWriteExecute = lib.mkDefault ( + cfg.settings.jit == "off" && (!any extensionInstalled [ "plv8" ]) + ); + NoNewPrivileges = true; + LockPersonality = true; + PrivateDevices = true; + PrivateMounts = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" # used for network interface enumeration + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ] ++ lib.optionals (any extensionInstalled [ "plv8" ]) [ "@pkey" ]; + UMask = if groupAccessAvailable then "0027" else "0077"; + } + (mkIf (cfg.dataDir != "/var/lib/postgresql") { + ReadWritePaths = [ cfg.dataDir ]; + }) + (mkIf (cfg.dataDir == "/var/lib/postgresql/${cfg.package.psqlSchema}") { + StateDirectory = "postgresql postgresql/${cfg.package.psqlSchema}"; + StateDirectoryMode = if groupAccessAvailable then "0750" else "0700"; + }) + ]; + + unitConfig.RequiresMountsFor = "${cfg.dataDir}"; + }; }; meta.doc = ./postgresql.md; - meta.maintainers = with lib.maintainers; [ thoughtpolice danbst ]; + meta.maintainers = with lib.maintainers; [ + thoughtpolice + danbst + ]; } diff --git a/nixos/modules/services/databases/rethinkdb.nix b/nixos/modules/services/databases/rethinkdb.nix index 1b85fd1bb7bda..43cfc95c58259 100644 --- a/nixos/modules/services/databases/rethinkdb.nix +++ b/nixos/modules/services/databases/rethinkdb.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rethinkdb; rethinkdb = cfg.package; @@ -90,15 +95,17 @@ in ''; }; - users.users.rethinkdb = lib.mkIf (cfg.user == "rethinkdb") - { name = "rethinkdb"; - description = "RethinkDB server user"; - isSystemUser = true; - }; + users.users.rethinkdb = lib.mkIf (cfg.user == "rethinkdb") { + name = "rethinkdb"; + description = "RethinkDB server user"; + isSystemUser = true; + }; - users.groups = lib.optionalAttrs (cfg.group == "rethinkdb") (lib.singleton - { name = "rethinkdb"; - }); + users.groups = lib.optionalAttrs (cfg.group == "rethinkdb") ( + lib.singleton { + name = "rethinkdb"; + } + ); }; diff --git a/nixos/modules/services/databases/surrealdb.nix b/nixos/modules/services/databases/surrealdb.nix index d38b7b311f1f8..d5567f25b7cfd 100644 --- a/nixos/modules/services/databases/surrealdb.nix +++ b/nixos/modules/services/databases/surrealdb.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.surrealdb; -in { +in +{ options = { services.surrealdb = { @@ -40,8 +46,14 @@ in { extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "--allow-all" "--user" "root" "--pass" "root" ]; + default = [ ]; + example = [ + "--allow-all" + "--user" + "root" + "--pass" + "root" + ]; description = '' Specify a list of additional command line flags. ''; @@ -52,7 +64,7 @@ in { config = lib.mkIf cfg.enable { # Used to connect to the running service - environment.systemPackages = [ cfg.package ] ; + environment.systemPackages = [ cfg.package ]; systemd.services.surrealdb = { description = "A scalable, distributed, collaborative, document-graph database, for the realtime web"; @@ -81,7 +93,10 @@ in { RestrictNamespaces = true; LockPersonality = true; RemoveIPC = true; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; }; diff --git a/nixos/modules/services/databases/tigerbeetle.nix b/nixos/modules/services/databases/tigerbeetle.nix index 7b512055e44e5..514652a6c8d14 100644 --- a/nixos/modules/services/databases/tigerbeetle.nix +++ b/nixos/modules/services/databases/tigerbeetle.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.tigerbeetle; in @@ -76,7 +81,11 @@ in } { assertion = cfg.replicaCount == numAddresses; - message = if cfg.replicaCount < numAddresses then "TigerBeetle must not have more addresses than the configured number of replicas" else "TigerBeetle must be configured with the addresses of all replicas"; + message = + if cfg.replicaCount < numAddresses then + "TigerBeetle must not have more addresses than the configured number of replicas" + else + "TigerBeetle must be configured with the addresses of all replicas"; } ]; @@ -110,7 +119,10 @@ in ProtectKernelTunables = true; ProtectProc = "noaccess"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/databases/victoriametrics.nix b/nixos/modules/services/databases/victoriametrics.nix index ba7464ade56c0..e22b85371c3a1 100644 --- a/nixos/modules/services/databases/victoriametrics.nix +++ b/nixos/modules/services/databases/victoriametrics.nix @@ -139,7 +139,7 @@ in serviceConfig = { ExecStart = lib.escapeShellArgs ( startCLIList - ++ lib.optionals (cfg.prometheusConfig != {}) [ "-promscrape.config=${prometheusConfigYml}" ] + ++ lib.optionals (cfg.prometheusConfig != { }) [ "-promscrape.config=${prometheusConfigYml}" ] ); DynamicUser = true; diff --git a/nixos/modules/services/desktop-managers/lomiri.nix b/nixos/modules/services/desktop-managers/lomiri.nix index f48cce7ab210f..4ddc33fd33c37 100644 --- a/nixos/modules/services/desktop-managers/lomiri.nix +++ b/nixos/modules/services/desktop-managers/lomiri.nix @@ -29,9 +29,13 @@ in (lib.mkIf cfg.basics { environment = { # To override the default keyboard layout in Lomiri - etc.${pkgs.lomiri.lomiri.passthru.etcLayoutsFile}.text = lib.strings.replaceStrings [ "," ] [ - "\n" - ] config.services.xserver.xkb.layout; + etc.${pkgs.lomiri.lomiri.passthru.etcLayoutsFile}.text = + lib.strings.replaceStrings + [ "," ] + [ + "\n" + ] + config.services.xserver.xkb.layout; pathsToLink = [ # Data diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index a15a6ebce2910..0ba3cd5dafab9 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -4,17 +4,26 @@ pkgs, utils, ... -}: let +}: +let cfg = config.services.desktopManager.plasma6; inherit (pkgs) kdePackages; - inherit (lib) literalExpression mkDefault mkIf mkOption mkPackageOption types; + inherit (lib) + literalExpression + mkDefault + mkIf + mkOption + mkPackageOption + types + ; activationScript = '' # will be rebuilt automatically rm -fv "$HOME/.cache/ksycoca"* ''; -in { +in +{ options = { services.desktopManager.plasma6 = { enable = mkOption { @@ -30,7 +39,7 @@ in { }; notoPackage = mkPackageOption pkgs "Noto fonts - used for UI by default" { - default = ["noto-fonts"]; + default = [ "noto-fonts" ]; example = "noto-fonts-lgc-plus"; }; }; @@ -38,15 +47,24 @@ in { environment.plasma6.excludePackages = mkOption { description = "List of default packages to exclude from the configuration"; type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.kdePackages.elisa ]"; }; }; imports = [ - (lib.mkRenamedOptionModule [ "services" "xserver" "desktopManager" "plasma6" "enable" ] [ "services" "desktopManager" "plasma6" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "desktopManager" "plasma6" "enableQt5Integration" ] [ "services" "desktopManager" "plasma6" "enableQt5Integration" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "desktopManager" "plasma6" "notoPackage" ] [ "services" "desktopManager" "plasma6" "notoPackage" ]) + (lib.mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "plasma6" "enable" ] + [ "services" "desktopManager" "plasma6" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "plasma6" "enableQt5Integration" ] + [ "services" "desktopManager" "plasma6" "enableQt5Integration" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "plasma6" "notoPackage" ] + [ "services" "desktopManager" "plasma6" "notoPackage" ] + ) ]; config = mkIf cfg.enable { @@ -59,104 +77,108 @@ in { qt.enable = true; programs.xwayland.enable = true; - environment.systemPackages = with kdePackages; let - requiredPackages = [ - qtwayland # Hack? To make everything run on Wayland - qtsvg # Needed to render SVG icons - - # Frameworks with globally loadable bits - frameworkintegration # provides Qt plugin - kauth # provides helper service - kcoreaddons # provides extra mime type info - kded # provides helper service - kfilemetadata # provides Qt plugins - kguiaddons # provides geo URL handlers - kiconthemes # provides Qt plugins - kimageformats # provides Qt plugins - qtimageformats # provides optional image formats such as .webp and .avif - kio # provides helper service + a bunch of other stuff - kio-admin # managing files as admin - kio-extras # stuff for MTP, AFC, etc - kio-fuse # fuse interface for KIO - kpackage # provides kpackagetool tool - kservice # provides kbuildsycoca6 tool - kunifiedpush # provides a background service and a KCM - kwallet # provides helper service - kwallet-pam # provides helper service - kwalletmanager # provides KCMs and stuff - plasma-activities # provides plasma-activities-cli tool - solid # provides solid-hardware6 tool - phonon-vlc # provides Phonon plugin - - # Core Plasma parts - kwin - kscreen - libkscreen - kscreenlocker - kactivitymanagerd - kde-cli-tools - kglobalacceld # keyboard shortcut daemon - kwrited # wall message proxy, not to be confused with kwrite - baloo # system indexer - milou # search engine atop baloo - kdegraphics-thumbnailers # pdf etc thumbnailer - polkit-kde-agent-1 # polkit auth ui - plasma-desktop - plasma-workspace - drkonqi # crash handler - kde-inotify-survey # warns the user on low inotifywatch limits - - # Application integration - libplasma # provides Kirigami platform theme - plasma-integration # provides Qt platform theme - kde-gtk-config # syncs KDE settings to GTK - - # Artwork + themes - breeze - breeze-icons - breeze-gtk - ocean-sound-theme - plasma-workspace-wallpapers - pkgs.hicolor-icon-theme # fallback icons - qqc2-breeze-style - qqc2-desktop-style - - # misc Plasma extras - kdeplasma-addons - pkgs.xdg-user-dirs # recommended upstream - - # Plasma utilities - kmenuedit - kinfocenter - plasma-systemmonitor - ksystemstats - libksysguard - systemsettings - kcmutils - ]; - optionalPackages = [ - plasma-browser-integration - konsole - (lib.getBin qttools) # Expose qdbus in PATH - ark - elisa - gwenview - okular - kate - khelpcenter - dolphin - baloo-widgets # baloo information in Dolphin - dolphin-plugins - spectacle - ffmpegthumbs - krdp - xwaylandvideobridge # exposes Wayland windows to X11 screen capture - ] ++ lib.optionals config.services.flatpak.enable [ - # Since PackageKit Nix support is not there yet, - # only install discover if flatpak is enabled. - discover - ]; - in + environment.systemPackages = + with kdePackages; + let + requiredPackages = [ + qtwayland # Hack? To make everything run on Wayland + qtsvg # Needed to render SVG icons + + # Frameworks with globally loadable bits + frameworkintegration # provides Qt plugin + kauth # provides helper service + kcoreaddons # provides extra mime type info + kded # provides helper service + kfilemetadata # provides Qt plugins + kguiaddons # provides geo URL handlers + kiconthemes # provides Qt plugins + kimageformats # provides Qt plugins + qtimageformats # provides optional image formats such as .webp and .avif + kio # provides helper service + a bunch of other stuff + kio-admin # managing files as admin + kio-extras # stuff for MTP, AFC, etc + kio-fuse # fuse interface for KIO + kpackage # provides kpackagetool tool + kservice # provides kbuildsycoca6 tool + kunifiedpush # provides a background service and a KCM + kwallet # provides helper service + kwallet-pam # provides helper service + kwalletmanager # provides KCMs and stuff + plasma-activities # provides plasma-activities-cli tool + solid # provides solid-hardware6 tool + phonon-vlc # provides Phonon plugin + + # Core Plasma parts + kwin + kscreen + libkscreen + kscreenlocker + kactivitymanagerd + kde-cli-tools + kglobalacceld # keyboard shortcut daemon + kwrited # wall message proxy, not to be confused with kwrite + baloo # system indexer + milou # search engine atop baloo + kdegraphics-thumbnailers # pdf etc thumbnailer + polkit-kde-agent-1 # polkit auth ui + plasma-desktop + plasma-workspace + drkonqi # crash handler + kde-inotify-survey # warns the user on low inotifywatch limits + + # Application integration + libplasma # provides Kirigami platform theme + plasma-integration # provides Qt platform theme + kde-gtk-config # syncs KDE settings to GTK + + # Artwork + themes + breeze + breeze-icons + breeze-gtk + ocean-sound-theme + plasma-workspace-wallpapers + pkgs.hicolor-icon-theme # fallback icons + qqc2-breeze-style + qqc2-desktop-style + + # misc Plasma extras + kdeplasma-addons + pkgs.xdg-user-dirs # recommended upstream + + # Plasma utilities + kmenuedit + kinfocenter + plasma-systemmonitor + ksystemstats + libksysguard + systemsettings + kcmutils + ]; + optionalPackages = + [ + plasma-browser-integration + konsole + (lib.getBin qttools) # Expose qdbus in PATH + ark + elisa + gwenview + okular + kate + khelpcenter + dolphin + baloo-widgets # baloo information in Dolphin + dolphin-plugins + spectacle + ffmpegthumbs + krdp + xwaylandvideobridge # exposes Wayland windows to X11 screen capture + ] + ++ lib.optionals config.services.flatpak.enable [ + # Since PackageKit Nix support is not there yet, + # only install discover if flatpak is enabled. + discover + ]; + in requiredPackages ++ utils.removePackagesByName optionalPackages config.environment.plasma6.excludePackages ++ lib.optionals config.services.desktopManager.plasma6.enableQt5Integration [ @@ -169,7 +191,8 @@ in { let kioPluginPath = "${pkgs.plasma5Packages.qtbase.qtPluginPrefix}/kf5/kio"; inherit (pkgs.plasma5Packages) kio; - in pkgs.runCommand "kio5-plugins-only" {} '' + in + pkgs.runCommand "kio5-plugins-only" { } '' mkdir -p $out/${kioPluginPath} ln -s ${kio}/${kioPluginPath}/* $out/${kioPluginPath} '' @@ -177,7 +200,12 @@ in { kio-extras-kf5 ] # Optional and hardware support features - ++ lib.optionals config.hardware.bluetooth.enable [bluedevil bluez-qt pkgs.openobex pkgs.obexftp] + ++ lib.optionals config.hardware.bluetooth.enable [ + bluedevil + bluez-qt + pkgs.openobex + pkgs.obexftp + ] ++ lib.optional config.networking.networkmanager.enable plasma-nm ++ lib.optional config.hardware.pulseaudio.enable plasma-pa ++ lib.optional config.services.pipewire.pulse.enable plasma-pa @@ -199,7 +227,7 @@ in { # Add ~/.config/kdedefaults to XDG_CONFIG_DIRS for shells, since Plasma sets that. # FIXME: maybe we should append to XDG_CONFIG_DIRS in /etc/set-environment instead? - environment.sessionVariables.XDG_CONFIG_DIRS = ["$HOME/.config/kdedefaults"]; + environment.sessionVariables.XDG_CONFIG_DIRS = [ "$HOME/.config/kdedefaults" ]; # Needed for things that depend on other store.kde.org packages to install correctly, # notably Plasma look-and-feel packages (a.k.a. Global Themes) @@ -211,13 +239,19 @@ in { environment.sessionVariables.KPACKAGE_DEP_RESOLVERS_PATH = "${kdePackages.frameworkintegration.out}/libexec/kf6/kpackagehandlers"; # Enable GTK applications to load SVG icons - programs.gdk-pixbuf.modulePackages = [pkgs.librsvg]; + programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; - fonts.packages = [cfg.notoPackage pkgs.hack-font]; + fonts.packages = [ + cfg.notoPackage + pkgs.hack-font + ]; fonts.fontconfig.defaultFonts = { - monospace = ["Hack" "Noto Sans Mono"]; - sansSerif = ["Noto Sans"]; - serif = ["Noto Serif"]; + monospace = [ + "Hack" + "Noto Sans Mono" + ]; + sansSerif = [ "Noto Sans" ]; + serif = [ "Noto Serif" ]; }; programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-qt; @@ -243,11 +277,11 @@ in { ]; # Set up Dr. Konqi as crash handler - systemd.packages = [kdePackages.drkonqi]; - systemd.services."drkonqi-coredump-processor@".wantedBy = ["systemd-coredump@.service"]; + systemd.packages = [ kdePackages.drkonqi ]; + systemd.services."drkonqi-coredump-processor@".wantedBy = [ "systemd-coredump@.service" ]; xdg.icons.enable = true; - xdg.icons.fallbackCursorThemes = mkDefault ["breeze_cursors"]; + xdg.icons.fallbackCursorThemes = mkDefault [ "breeze_cursors" ]; xdg.portal.enable = true; xdg.portal.extraPortals = [ @@ -255,14 +289,14 @@ in { kdePackages.xdg-desktop-portal-kde pkgs.xdg-desktop-portal-gtk ]; - xdg.portal.configPackages = mkDefault [kdePackages.plasma-workspace]; + xdg.portal.configPackages = mkDefault [ kdePackages.plasma-workspace ]; services.pipewire.enable = mkDefault true; # Enable screen reader by default services.orca.enable = mkDefault true; services.displayManager = { - sessionPackages = [kdePackages.plasma-workspace]; + sessionPackages = [ kdePackages.plasma-workspace ]; defaultSession = mkDefault "plasma"; }; services.displayManager.sddm = { @@ -306,7 +340,7 @@ in { programs.dconf.enable = true; - programs.firefox.nativeMessagingHosts.packages = [kdePackages.plasma-browser-integration]; + programs.firefox.nativeMessagingHosts.packages = [ kdePackages.plasma-browser-integration ]; programs.chromium = { enablePlasmaBrowserIntegration = true; diff --git a/nixos/modules/services/desktops/accountsservice.nix b/nixos/modules/services/desktops/accountsservice.nix index 4c407ca3828a2..758f7383ca634 100644 --- a/nixos/modules/services/desktops/accountsservice.nix +++ b/nixos/modules/services/desktops/accountsservice.nix @@ -1,5 +1,10 @@ # AccountsService daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = { maintainers = lib.teams.freedesktop.members; @@ -35,16 +40,21 @@ systemd.packages = [ pkgs.accountsservice ]; - systemd.services.accounts-daemon = lib.recursiveUpdate { + systemd.services.accounts-daemon = + lib.recursiveUpdate + { - wantedBy = [ "graphical.target" ]; + wantedBy = [ "graphical.target" ]; - # Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice - environment.XDG_DATA_DIRS = "${config.system.path}/share"; + # Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice + environment.XDG_DATA_DIRS = "${config.system.path}/share"; - } (lib.optionalAttrs (!config.users.mutableUsers) { - environment.NIXOS_USERS_PURE = "true"; - }); + } + ( + lib.optionalAttrs (!config.users.mutableUsers) { + environment.NIXOS_USERS_PURE = "true"; + } + ); }; } diff --git a/nixos/modules/services/desktops/blueman.nix b/nixos/modules/services/desktops/blueman.nix index 4f02d288e2dfc..2b92d226dfa48 100644 --- a/nixos/modules/services/desktops/blueman.nix +++ b/nixos/modules/services/desktops/blueman.nix @@ -1,8 +1,14 @@ # blueman service -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.blueman; -in { +in +{ ###### interface options = { services.blueman = { diff --git a/nixos/modules/services/desktops/cpupower-gui.nix b/nixos/modules/services/desktops/cpupower-gui.nix index ceed84da840ea..1a6a371d3fada 100644 --- a/nixos/modules/services/desktops/cpupower-gui.nix +++ b/nixos/modules/services/desktops/cpupower-gui.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.cpupower-gui; -in { +in +{ options = { services.cpupower-gui = { enable = lib.mkOption { diff --git a/nixos/modules/services/desktops/deepin/app-services.nix b/nixos/modules/services/desktops/deepin/app-services.nix index 7d99bd11802f0..270889b66f924 100644 --- a/nixos/modules/services/desktops/deepin/app-services.nix +++ b/nixos/modules/services/desktops/deepin/app-services.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { meta = { @@ -17,7 +22,6 @@ }; - ###### implementation config = lib.mkIf config.services.deepin.app-services.enable { diff --git a/nixos/modules/services/desktops/deepin/dde-api.nix b/nixos/modules/services/desktops/deepin/dde-api.nix index 89889b3530c93..9994c4359e9a3 100644 --- a/nixos/modules/services/desktops/deepin/dde-api.nix +++ b/nixos/modules/services/desktops/deepin/dde-api.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { meta = { @@ -20,27 +25,26 @@ }; - ###### implementation config = lib.mkIf config.services.deepin.dde-api.enable { - environment.systemPackages = [ pkgs.deepin.dde-api ]; + environment.systemPackages = [ pkgs.deepin.dde-api ]; - services.dbus.packages = [ pkgs.deepin.dde-api ]; + services.dbus.packages = [ pkgs.deepin.dde-api ]; - systemd.packages = [ pkgs.deepin.dde-api ]; + systemd.packages = [ pkgs.deepin.dde-api ]; - environment.pathsToLink = [ "/lib/deepin-api" ]; + environment.pathsToLink = [ "/lib/deepin-api" ]; - users.groups.deepin-sound-player = { }; - users.users.deepin-sound-player = { - description = "Deepin sound player"; - home = "/var/lib/deepin-sound-player"; - createHome = true; - group = "deepin-sound-player"; - isSystemUser = true; - }; + users.groups.deepin-sound-player = { }; + users.users.deepin-sound-player = { + description = "Deepin sound player"; + home = "/var/lib/deepin-sound-player"; + createHome = true; + group = "deepin-sound-player"; + isSystemUser = true; + }; }; diff --git a/nixos/modules/services/desktops/deepin/dde-daemon.nix b/nixos/modules/services/desktops/deepin/dde-daemon.nix index 2188276f4b224..809b2a3fec6db 100644 --- a/nixos/modules/services/desktops/deepin/dde-daemon.nix +++ b/nixos/modules/services/desktops/deepin/dde-daemon.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { meta = { @@ -17,7 +22,6 @@ }; - ###### implementation config = lib.mkIf config.services.deepin.dde-daemon.enable { diff --git a/nixos/modules/services/desktops/deepin/deepin-anything.nix b/nixos/modules/services/desktops/deepin/deepin-anything.nix index 4e88a789551b9..9b69e6442edbc 100644 --- a/nixos/modules/services/desktops/deepin/deepin-anything.nix +++ b/nixos/modules/services/desktops/deepin/deepin-anything.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { diff --git a/nixos/modules/services/desktops/dleyna-renderer.nix b/nixos/modules/services/desktops/dleyna-renderer.nix index f36f1fbb1a4ec..78375735e6e1c 100644 --- a/nixos/modules/services/desktops/dleyna-renderer.nix +++ b/nixos/modules/services/desktops/dleyna-renderer.nix @@ -1,5 +1,10 @@ # dleyna-renderer service. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface options = { @@ -15,7 +20,6 @@ }; }; - ###### implementation config = lib.mkIf config.services.dleyna-renderer.enable { environment.systemPackages = [ pkgs.dleyna-renderer ]; diff --git a/nixos/modules/services/desktops/dleyna-server.nix b/nixos/modules/services/desktops/dleyna-server.nix index 812110281ae49..e36340405790c 100644 --- a/nixos/modules/services/desktops/dleyna-server.nix +++ b/nixos/modules/services/desktops/dleyna-server.nix @@ -1,5 +1,10 @@ # dleyna-server service. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface options = { @@ -15,7 +20,6 @@ }; }; - ###### implementation config = lib.mkIf config.services.dleyna-server.enable { environment.systemPackages = [ pkgs.dleyna-server ]; diff --git a/nixos/modules/services/desktops/espanso.nix b/nixos/modules/services/desktops/espanso.nix index 943c6fae86d9e..c2a783b157310 100644 --- a/nixos/modules/services/desktops/espanso.nix +++ b/nixos/modules/services/desktops/espanso.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.espanso; -in { - meta = { maintainers = with lib.maintainers; [ n8henrie numkem ]; }; +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.espanso; +in +{ + meta = { + maintainers = with lib.maintainers; [ + n8henrie + numkem + ]; + }; options = { services.espanso = { diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix index 6d040b71bd916..16d1cb17ca066 100644 --- a/nixos/modules/services/desktops/geoclue2.nix +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -1,53 +1,73 @@ # GeoClue 2 daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.geoclue2; - defaultWhitelist = [ "gnome-shell" "io.elementary.desktop.agent-geoclue2" ]; + defaultWhitelist = [ + "gnome-shell" + "io.elementary.desktop.agent-geoclue2" + ]; + + appConfigModule = lib.types.submodule ( + { name, ... }: + { + options = { + desktopID = lib.mkOption { + type = lib.types.str; + description = "Desktop ID of the application."; + }; - appConfigModule = lib.types.submodule ({ name, ... }: { - options = { - desktopID = lib.mkOption { - type = lib.types.str; - description = "Desktop ID of the application."; - }; + isAllowed = lib.mkOption { + type = lib.types.bool; + description = '' + Whether the application will be allowed access to location information. + ''; + }; - isAllowed = lib.mkOption { - type = lib.types.bool; - description = '' - Whether the application will be allowed access to location information. - ''; - }; + isSystem = lib.mkOption { + type = lib.types.bool; + description = '' + Whether the application is a system component or not. + ''; + }; - isSystem = lib.mkOption { - type = lib.types.bool; - description = '' - Whether the application is a system component or not. - ''; + users = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + List of UIDs of all users for which this application is allowed location + info access, Defaults to an empty string to allow it for all users. + ''; + }; }; - users = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - List of UIDs of all users for which this application is allowed location - info access, Defaults to an empty string to allow it for all users. - ''; + config.desktopID = lib.mkDefault name; + } + ); + + appConfigToINICompatible = + _: + { + desktopID, + isAllowed, + isSystem, + users, + ... + }: + { + name = desktopID; + value = { + allowed = isAllowed; + system = isSystem; + users = lib.concatStringsSep ";" users; }; }; - config.desktopID = lib.mkDefault name; - }); - - appConfigToINICompatible = _: { desktopID, isAllowed, isSystem, users, ... }: { - name = desktopID; - value = { - allowed = isAllowed; - system = isSystem; - users = lib.concatStringsSep ";" users; - }; - }; - in { @@ -129,10 +149,12 @@ in type = lib.types.package; default = pkgs.geoclue2; defaultText = lib.literalExpression "pkgs.geoclue2"; - apply = pkg: pkg.override { - # the demo agent isn't built by default, but we need it here - withDemoAgent = cfg.enableDemoAgent; - }; + apply = + pkg: + pkg.override { + # the demo agent isn't built by default, but we need it here + withDemoAgent = cfg.enableDemoAgent; + }; description = "The geoclue2 package to use"; }; @@ -163,7 +185,7 @@ in appConfig = lib.mkOption { type = lib.types.attrsOf appConfigModule; - default = {}; + default = { }; example = lib.literalExpression '' "com.github.app" = { isAllowed = true; @@ -180,7 +202,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { @@ -200,7 +221,7 @@ in description = "Geoinformation service"; }; - groups.geoclue = {}; + groups.geoclue = { }; }; systemd.services.geoclue = { @@ -244,11 +265,12 @@ in isSystem = false; }; - environment.etc."geoclue/geoclue.conf".text = - lib.generators.toINI {} ({ + environment.etc."geoclue/geoclue.conf".text = lib.generators.toINI { } ( + { agent = { - whitelist = lib.concatStringsSep ";" - (lib.optional cfg.enableDemoAgent "geoclue-demo-agent" ++ defaultWhitelist); + whitelist = lib.concatStringsSep ";" ( + lib.optional cfg.enableDemoAgent "geoclue-demo-agent" ++ defaultWhitelist + ); }; network-nmea = { enable = cfg.enableNmea; @@ -269,7 +291,9 @@ in submission-url = cfg.submissionUrl; submission-nick = cfg.submissionNick; }; - } // lib.mapAttrs' appConfigToINICompatible cfg.appConfig); + } + // lib.mapAttrs' appConfigToINICompatible cfg.appConfig + ); }; meta = with lib; { diff --git a/nixos/modules/services/desktops/gnome/at-spi2-core.nix b/nixos/modules/services/desktops/gnome/at-spi2-core.nix index 6ed5b198fe4f8..293a3166b1872 100644 --- a/nixos/modules/services/desktops/gnome/at-spi2-core.nix +++ b/nixos/modules/services/desktops/gnome/at-spi2-core.nix @@ -1,6 +1,11 @@ # at-spi2-core daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { @@ -29,7 +34,6 @@ }; - ###### implementation config = lib.mkMerge [ diff --git a/nixos/modules/services/desktops/gnome/evolution-data-server.nix b/nixos/modules/services/desktops/gnome/evolution-data-server.nix index a43e8dadb4212..539fcf25342e1 100644 --- a/nixos/modules/services/desktops/gnome/evolution-data-server.nix +++ b/nixos/modules/services/desktops/gnome/evolution-data-server.nix @@ -1,6 +1,11 @@ # Evolution Data Server daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { @@ -36,7 +41,9 @@ config = let - bundle = pkgs.evolutionWithPlugins.override { inherit (config.services.gnome.evolution-data-server) plugins; }; + bundle = pkgs.evolutionWithPlugins.override { + inherit (config.services.gnome.evolution-data-server) plugins; + }; in lib.mkMerge [ (lib.mkIf config.services.gnome.evolution-data-server.enable { diff --git a/nixos/modules/services/desktops/gnome/glib-networking.nix b/nixos/modules/services/desktops/gnome/glib-networking.nix index 905901f470841..558abca0aa315 100644 --- a/nixos/modules/services/desktops/gnome/glib-networking.nix +++ b/nixos/modules/services/desktops/gnome/glib-networking.nix @@ -1,6 +1,11 @@ # GLib Networking -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { diff --git a/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix b/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix index 4f0c36883a3f5..335ebc9a144d3 100644 --- a/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix +++ b/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix @@ -1,7 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkRenamedOptionModule teams; + inherit (lib) + mkEnableOption + mkIf + mkRenamedOptionModule + teams + ; in { @@ -18,11 +28,15 @@ in config = mkIf config.services.gnome.gnome-browser-connector.enable { environment.etc = { - "chromium/native-messaging-hosts/org.gnome.browser_connector.json".source = "${pkgs.gnome-browser-connector}/etc/chromium/native-messaging-hosts/org.gnome.browser_connector.json"; - "opt/chrome/native-messaging-hosts/org.gnome.browser_connector.json".source = "${pkgs.gnome-browser-connector}/etc/opt/chrome/native-messaging-hosts/org.gnome.browser_connector.json"; + "chromium/native-messaging-hosts/org.gnome.browser_connector.json".source = + "${pkgs.gnome-browser-connector}/etc/chromium/native-messaging-hosts/org.gnome.browser_connector.json"; + "opt/chrome/native-messaging-hosts/org.gnome.browser_connector.json".source = + "${pkgs.gnome-browser-connector}/etc/opt/chrome/native-messaging-hosts/org.gnome.browser_connector.json"; # Legacy paths. - "chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.gnome-browser-connector}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; - "opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.gnome-browser-connector}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; + "chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = + "${pkgs.gnome-browser-connector}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; + "opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = + "${pkgs.gnome-browser-connector}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; }; environment.systemPackages = [ pkgs.gnome-browser-connector ]; diff --git a/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix b/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix index 4f1b23c8f36e7..f130b820b7167 100644 --- a/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix +++ b/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix @@ -1,6 +1,11 @@ # GNOME Initial Setup. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let @@ -58,16 +63,15 @@ in }; - ###### implementation config = lib.mkIf config.services.gnome.gnome-initial-setup.enable { - environment.systemPackages = [ - pkgs.gnome-initial-setup - ] - ++ lib.optional (lib.versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart - ; + environment.systemPackages = + [ + pkgs.gnome-initial-setup + ] + ++ lib.optional (lib.versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart; systemd.packages = [ pkgs.gnome-initial-setup diff --git a/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix index de3c3789594a8..920c4cf8133e5 100644 --- a/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix +++ b/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix @@ -1,6 +1,11 @@ # GNOME Online Accounts daemon. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { @@ -27,7 +32,6 @@ }; - ###### implementation config = lib.mkIf config.services.gnome.gnome-online-accounts.enable { diff --git a/nixos/modules/services/desktops/gnome/gnome-online-miners.nix b/nixos/modules/services/desktops/gnome/gnome-online-miners.nix index 3882b90ad78a2..8fb1309abb628 100644 --- a/nixos/modules/services/desktops/gnome/gnome-online-miners.nix +++ b/nixos/modules/services/desktops/gnome/gnome-online-miners.nix @@ -4,6 +4,10 @@ { imports = [ - (lib.mkRemovedOptionModule [ "services" "gnome" "gnome-online-miners" ] "It was broken for a while now.") + (lib.mkRemovedOptionModule [ + "services" + "gnome" + "gnome-online-miners" + ] "It was broken for a while now.") ]; } diff --git a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix index 8ffb4a201e367..6e685557ecf08 100644 --- a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix +++ b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix @@ -1,5 +1,10 @@ # Remote desktop daemon using Pipewire. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = { diff --git a/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix b/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix index 21e7c3b587134..06d001ab81344 100644 --- a/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix +++ b/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix @@ -1,6 +1,11 @@ # GNOME Settings Daemon -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -26,7 +31,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/desktops/gnome/gnome-user-share.nix b/nixos/modules/services/desktops/gnome/gnome-user-share.nix index 518beb80419a9..c6d0f723c047b 100644 --- a/nixos/modules/services/desktops/gnome/gnome-user-share.nix +++ b/nixos/modules/services/desktops/gnome/gnome-user-share.nix @@ -1,6 +1,11 @@ # GNOME User Share daemon. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { @@ -20,7 +25,6 @@ }; - ###### implementation config = lib.mkIf config.services.gnome.gnome-user-share.enable { diff --git a/nixos/modules/services/desktops/gnome/sushi.nix b/nixos/modules/services/desktops/gnome/sushi.nix index 7f7360488eb41..ea99c7ce30f01 100644 --- a/nixos/modules/services/desktops/gnome/sushi.nix +++ b/nixos/modules/services/desktops/gnome/sushi.nix @@ -1,6 +1,11 @@ # GNOME Sushi daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { @@ -26,7 +31,6 @@ }; - ###### implementation config = lib.mkIf config.services.gnome.sushi.enable { diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix index 8a02cdd4a6508..315141705546a 100644 --- a/nixos/modules/services/desktops/gvfs.nix +++ b/nixos/modules/services/desktops/gvfs.nix @@ -1,6 +1,11 @@ # GVfs -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -29,7 +34,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/desktops/malcontent.nix b/nixos/modules/services/desktops/malcontent.nix index fedd84549671d..e299ee73c8576 100644 --- a/nixos/modules/services/desktops/malcontent.nix +++ b/nixos/modules/services/desktops/malcontent.nix @@ -1,5 +1,10 @@ # Malcontent daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface @@ -14,7 +19,6 @@ }; - ###### implementation config = lib.mkIf config.services.malcontent.enable { diff --git a/nixos/modules/services/desktops/neard.nix b/nixos/modules/services/desktops/neard.nix index 21a69a34001f6..56a7578c24349 100644 --- a/nixos/modules/services/desktops/neard.nix +++ b/nixos/modules/services/desktops/neard.nix @@ -11,7 +11,7 @@ let mkIf mkOption types - ; + ; cfg = config.services.neard; format = pkgs.formats.ini { }; configFile = format.generate "neard.conf" cfg.settings; @@ -52,7 +52,7 @@ in }; }; }; - default = {}; + default = { }; description = '' Neard INI-style configuration file as a Nix attribute set. diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix index 50d9d71d14ce6..fcdcd516fadd2 100644 --- a/nixos/modules/services/desktops/pipewire/pipewire.nix +++ b/nixos/modules/services/desktops/pipewire/pipewire.nix @@ -1,71 +1,93 @@ # PipeWire service. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (builtins) attrNames concatMap length; inherit (lib) maintainers teams; - inherit (lib.attrsets) attrByPath attrsToList concatMapAttrs filterAttrs; + inherit (lib.attrsets) + attrByPath + attrsToList + concatMapAttrs + filterAttrs + ; inherit (lib.lists) flatten optional optionals; inherit (lib.modules) mkIf mkRemovedOptionModule; - inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption; + inherit (lib.options) + literalExpression + mkEnableOption + mkOption + mkPackageOption + ; inherit (lib.strings) concatMapStringsSep hasPrefix optionalString; - inherit (lib.types) attrsOf bool listOf package; - - json = pkgs.formats.json {}; - mapToFiles = location: config: concatMapAttrs (name: value: { "share/pipewire/${location}.conf.d/${name}.conf" = json.generate "${name}" value; }) config; - extraConfigPkgFromFiles = locations: filesSet: pkgs.runCommand "pipewire-extra-config" { } '' - mkdir -p ${concatMapStringsSep " " (l: "$out/share/pipewire/${l}.conf.d") locations} - ${concatMapStringsSep ";" ({name, value}: "ln -s ${value} $out/${name}") (attrsToList filesSet)} - ''; + inherit (lib.types) + attrsOf + bool + listOf + package + ; + + json = pkgs.formats.json { }; + mapToFiles = + location: config: + concatMapAttrs (name: value: { + "share/pipewire/${location}.conf.d/${name}.conf" = json.generate "${name}" value; + }) config; + extraConfigPkgFromFiles = + locations: filesSet: + pkgs.runCommand "pipewire-extra-config" { } '' + mkdir -p ${concatMapStringsSep " " (l: "$out/share/pipewire/${l}.conf.d") locations} + ${concatMapStringsSep ";" ({ name, value }: "ln -s ${value} $out/${name}") (attrsToList filesSet)} + ''; cfg = config.services.pipewire; - enable32BitAlsaPlugins = cfg.alsa.support32Bit - && pkgs.stdenv.hostPlatform.isx86_64 - && pkgs.pkgsi686Linux.pipewire != null; + enable32BitAlsaPlugins = + cfg.alsa.support32Bit && pkgs.stdenv.hostPlatform.isx86_64 && pkgs.pkgsi686Linux.pipewire != null; # The package doesn't output to $out/lib/pipewire directly so that the # overlays can use the outputs to replace the originals in FHS environments. # # This doesn't work in general because of missing development information. - jack-libs = pkgs.runCommand "jack-libs" {} '' + jack-libs = pkgs.runCommand "jack-libs" { } '' mkdir -p "$out/lib" ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire" ''; configPackages = cfg.configPackages; - extraConfigPkg = extraConfigPkgFromFiles - [ "pipewire" "client" "client-rt" "jack" "pipewire-pulse" ] - ( - mapToFiles "pipewire" cfg.extraConfig.pipewire - // mapToFiles "client" cfg.extraConfig.client - // mapToFiles "client-rt" cfg.extraConfig.client-rt - // mapToFiles "jack" cfg.extraConfig.jack - // mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse - ); + extraConfigPkg = + extraConfigPkgFromFiles [ "pipewire" "client" "client-rt" "jack" "pipewire-pulse" ] + ( + mapToFiles "pipewire" cfg.extraConfig.pipewire + // mapToFiles "client" cfg.extraConfig.client + // mapToFiles "client-rt" cfg.extraConfig.client-rt + // mapToFiles "jack" cfg.extraConfig.jack + // mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse + ); configs = pkgs.buildEnv { name = "pipewire-configs"; - paths = configPackages + paths = + configPackages ++ [ extraConfigPkg ] ++ optionals cfg.wireplumber.enable cfg.wireplumber.configPackages; pathsToLink = [ "/share/pipewire" ]; }; - requiredLv2Packages = flatten - ( - concatMap - (p: - attrByPath ["passthru" "requiredLv2Packages"] [] p - ) - configPackages - ); + requiredLv2Packages = flatten ( + concatMap (p: attrByPath [ "passthru" "requiredLv2Packages" ] [ ] p) configPackages + ); lv2Plugins = pkgs.buildEnv { name = "pipewire-lv2-plugins"; paths = cfg.extraLv2Packages ++ requiredLv2Packages; pathsToLink = [ "/lib/lv2" ]; }; -in { +in +{ meta.maintainers = teams.freedesktop.members ++ [ maintainers.k900 ]; ###### interface @@ -132,7 +154,7 @@ in { extraConfig = { pipewire = mkOption { type = attrsOf json.type; - default = {}; + default = { }; example = { "10-clock-rate" = { "context.properties" = { @@ -165,7 +187,7 @@ in { }; client = mkOption { type = attrsOf json.type; - default = {}; + default = { }; example = { "10-no-resample" = { "stream.properties" = { @@ -185,7 +207,7 @@ in { }; client-rt = mkOption { type = attrsOf json.type; - default = {}; + default = { }; example = { "10-alsa-linear-volume" = { "alsa.properties" = { @@ -206,7 +228,7 @@ in { }; jack = mkOption { type = attrsOf json.type; - default = {}; + default = { }; example = { "20-hide-midi" = { "jack.properties" = { @@ -226,17 +248,19 @@ in { }; pipewire-pulse = mkOption { type = attrsOf json.type; - default = {}; + default = { }; example = { "15-force-s16-info" = { - "pulse.rules" = [{ - matches = [ - { "application.process.binary" = "my-broken-app"; } - ]; - actions = { - quirks = [ "force-s16-info" ]; - }; - }]; + "pulse.rules" = [ + { + matches = [ + { "application.process.binary" = "my-broken-app"; } + ]; + actions = { + quirks = [ "force-s16-info" ]; + }; + } + ]; }; }; description = '' @@ -257,29 +281,30 @@ in { configPackages = mkOption { type = listOf package; - default = []; - example = literalExpression ''[ - (pkgs.writeTextDir "share/pipewire/pipewire.conf.d/10-loopback.conf" ''' - context.modules = [ - { name = libpipewire-module-loopback - args = { - node.description = "Scarlett Focusrite Line 1" - capture.props = { - audio.position = [ FL ] - stream.dont-remix = true - node.target = "alsa_input.usb-Focusrite_Scarlett_Solo_USB_Y7ZD17C24495BC-00.analog-stereo" - node.passive = true - } - playback.props = { - node.name = "SF_mono_in_1" - media.class = "Audio/Source" - audio.position = [ MONO ] - } - } - } - ] - ''') - ]''; + default = [ ]; + example = literalExpression '' + [ + (pkgs.writeTextDir "share/pipewire/pipewire.conf.d/10-loopback.conf" ''' + context.modules = [ + { name = libpipewire-module-loopback + args = { + node.description = "Scarlett Focusrite Line 1" + capture.props = { + audio.position = [ FL ] + stream.dont-remix = true + node.target = "alsa_input.usb-Focusrite_Scarlett_Solo_USB_Y7ZD17C24495BC-00.analog-stereo" + node.passive = true + } + playback.props = { + node.name = "SF_mono_in_1" + media.class = "Audio/Source" + audio.position = [ MONO ] + } + } + } + ] + ''') + ]''; description = '' List of packages that provide PipeWire configuration, in the form of `share/pipewire/*/*.conf` files. @@ -291,7 +316,7 @@ in { extraLv2Packages = mkOption { type = listOf package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.lsp-plugins ]"; description = '' List of packages that provide LV2 plugins in `lib/lv2` that should @@ -308,11 +333,11 @@ in { }; imports = [ - (mkRemovedOptionModule ["services" "pipewire" "config"] '' + (mkRemovedOptionModule [ "services" "pipewire" "config" ] '' Overriding default PipeWire configuration through NixOS options never worked correctly and is no longer supported. Please create drop-in configuration files via `services.pipewire.extraConfig` instead. '') - (mkRemovedOptionModule ["services" "pipewire" "media-session"] '' + (mkRemovedOptionModule [ "services" "pipewire" "media-session" ] '' pipewire-media-session is no longer supported upstream and has been removed. Please switch to `services.pipewire.wireplumber` instead. '') @@ -335,21 +360,17 @@ in { message = "Using PipeWire's ALSA/PulseAudio compatibility layers requires running PipeWire as the sound server. Either set `services.pipewire.audio.enable` to true to enable audio support, or set both `services.pipewire.pulse.enable` and `services.pipewire.alsa.enable` to false to use pipewire exclusively for the compositor."; } { - assertion = length - (attrNames - ( - filterAttrs - (name: value: - hasPrefix "pipewire/" name || name == "pipewire" - ) - config.environment.etc - )) == 1; + assertion = + length ( + attrNames ( + filterAttrs (name: value: hasPrefix "pipewire/" name || name == "pipewire") config.environment.etc + ) + ) == 1; message = "Using `environment.etc.\"pipewire<...>\"` directly is no longer supported. Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` instead."; } ]; - environment.systemPackages = [ cfg.package ] - ++ optional cfg.jack.enable jack-libs; + environment.systemPackages = [ cfg.package ] ++ optional cfg.jack.enable jack-libs; systemd.packages = [ cfg.package ]; @@ -366,7 +387,9 @@ in { systemd.user.services.pipewire.enable = !cfg.systemWide; systemd.services.pipewire.environment.LV2_PATH = mkIf cfg.systemWide "${lv2Plugins}/lib/lv2"; - systemd.user.services.pipewire.environment.LV2_PATH = mkIf (!cfg.systemWide) "${lv2Plugins}/lib/lv2"; + systemd.user.services.pipewire.environment.LV2_PATH = mkIf ( + !cfg.systemWide + ) "${lv2Plugins}/lib/lv2"; # Mask pw-pulse if it's not wanted systemd.user.services.pipewire-pulse.enable = cfg.pulse.enable; @@ -384,13 +407,11 @@ in { text = '' pcm_type.pipewire { libs.native = ${cfg.package}/lib/alsa-lib/libasound_module_pcm_pipewire.so ; - ${optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"} + ${optionalString enable32BitAlsaPlugins "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"} } ctl_type.pipewire { libs.native = ${cfg.package}/lib/alsa-lib/libasound_module_ctl_pipewire.so ; - ${optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"} + ${optionalString enable32BitAlsaPlugins "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"} } ''; }; @@ -405,10 +426,12 @@ in { pipewire.source = "${configs}/share/pipewire"; }; - environment.sessionVariables.LD_LIBRARY_PATH = - mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ]; + environment.sessionVariables.LD_LIBRARY_PATH = mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ]; - networking.firewall.allowedUDPPorts = mkIf cfg.raopOpenFirewall [ 6001 6002 ]; + networking.firewall.allowedUDPPorts = mkIf cfg.raopOpenFirewall [ + 6001 + 6002 + ]; # See https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/modules/module-rt/25-pw-rlimits.conf.in security.pam.loginLimits = [ diff --git a/nixos/modules/services/desktops/profile-sync-daemon.nix b/nixos/modules/services/desktops/profile-sync-daemon.nix index 48b29a59135c9..17ac1df9baae6 100644 --- a/nixos/modules/services/desktops/profile-sync-daemon.nix +++ b/nixos/modules/services/desktops/profile-sync-daemon.nix @@ -1,7 +1,13 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.psd; -in { +in +{ options.services.psd = with lib.types; { enable = lib.mkOption { type = bool; @@ -33,7 +39,14 @@ in { description = "Profile Sync daemon"; wants = [ "psd-resync.service" ]; wantedBy = [ "default.target" ]; - path = with pkgs; [ rsync kmod gawk nettools util-linux profile-sync-daemon ]; + path = with pkgs; [ + rsync + kmod + gawk + nettools + util-linux + profile-sync-daemon + ]; unitConfig = { RequiresMountsFor = [ "/home/" ]; }; @@ -52,7 +65,14 @@ in { wants = [ "psd-resync.timer" ]; partOf = [ "psd.service" ]; wantedBy = [ "default.target" ]; - path = with pkgs; [ rsync kmod gawk nettools util-linux profile-sync-daemon ]; + path = with pkgs; [ + rsync + kmod + gawk + nettools + util-linux + profile-sync-daemon + ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon resync"; @@ -62,7 +82,10 @@ in { timers.psd-resync = { description = "Timer for profile sync daemon - ${cfg.resyncTimer}"; - partOf = [ "psd-resync.service" "psd.service" ]; + partOf = [ + "psd-resync.service" + "psd.service" + ]; timerConfig = { OnUnitActiveSec = "${cfg.resyncTimer}"; diff --git a/nixos/modules/services/desktops/seatd.nix b/nixos/modules/services/desktops/seatd.nix index fb20750f04291..bedcc9a431204 100644 --- a/nixos/modules/services/desktops/seatd.nix +++ b/nixos/modules/services/desktops/seatd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.seatd; @@ -21,15 +26,23 @@ in description = "Group to own the seatd socket"; }; logLevel = mkOption { - type = types.enum [ "debug" "info" "error" "silent" ]; + type = types.enum [ + "debug" + "info" + "error" + "silent" + ]; default = "info"; description = "Logging verbosity"; }; }; config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ seatd sdnotify-wrapper ]; - users.groups.seat = lib.mkIf (cfg.group == "seat") {}; + environment.systemPackages = with pkgs; [ + seatd + sdnotify-wrapper + ]; + users.groups.seat = lib.mkIf (cfg.group == "seat") { }; systemd.services.seatd = { description = "Seat management daemon"; diff --git a/nixos/modules/services/desktops/system-config-printer.nix b/nixos/modules/services/desktops/system-config-printer.nix index 6a8ff8dd19c60..d4020602713cf 100644 --- a/nixos/modules/services/desktops/system-config-printer.nix +++ b/nixos/modules/services/desktops/system-config-printer.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { ###### interface @@ -13,7 +18,6 @@ }; - ###### implementation config = lib.mkIf config.services.system-config-printer.enable { diff --git a/nixos/modules/services/desktops/system76-scheduler.nix b/nixos/modules/services/desktops/system76-scheduler.nix index b8f80276ef761..1a8abe810cd8b 100644 --- a/nixos/modules/services/desktops/system76-scheduler.nix +++ b/nixos/modules/services/desktops/system76-scheduler.nix @@ -1,17 +1,50 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.system76-scheduler; - inherit (builtins) concatStringsSep map toString attrNames; - inherit (lib) boolToString types mkOption literalExpression optional mkIf mkMerge; - inherit (types) nullOr listOf bool int ints float str enum; + inherit (builtins) + concatStringsSep + map + toString + attrNames + ; + inherit (lib) + boolToString + types + mkOption + literalExpression + optional + mkIf + mkMerge + ; + inherit (types) + nullOr + listOf + bool + int + ints + float + str + enum + ; - withDefaults = optionSpecs: defaults: - lib.genAttrs (attrNames optionSpecs) (name: - mkOption (optionSpecs.${name} // { - default = optionSpecs.${name}.default or defaults.${name} or null; - })); + withDefaults = + optionSpecs: defaults: + lib.genAttrs (attrNames optionSpecs) ( + name: + mkOption ( + optionSpecs.${name} + // { + default = optionSpecs.${name}.default or defaults.${name} or null; + } + ) + ); latencyProfile = withDefaults { latency = { @@ -31,7 +64,11 @@ let description = "`sched_cfs_bandwidth_slice_us`."; }; preempt = { - type = enum [ "none" "voluntary" "full" ]; + type = enum [ + "none" + "voluntary" + "full" + ]; description = "Preemption mode."; }; }; @@ -41,7 +78,13 @@ let description = "Niceness."; }; class = { - type = nullOr (enum [ "idle" "batch" "other" "rr" "fifo" ]); + type = nullOr (enum [ + "idle" + "batch" + "other" + "rr" + "fifo" + ]); example = literalExpression "\"batch\""; description = "CPU scheduler class."; }; @@ -51,7 +94,11 @@ let description = "CPU scheduler priority."; }; ioClass = { - type = nullOr (enum [ "idle" "best-effort" "realtime" ]); + type = nullOr (enum [ + "idle" + "best-effort" + "realtime" + ]); example = literalExpression "\"best-effort\""; description = "IO scheduler class."; }; @@ -62,7 +109,7 @@ let }; matchers = { type = nullOr (listOf str); - default = []; + default = [ ]; example = literalExpression '' [ "include cgroup=\"/user.slice/*.service\" parent=\"systemd\"" @@ -73,22 +120,29 @@ let }; }; - cfsProfileToString = name: let - p = cfg.settings.cfsProfiles.${name}; - in + cfsProfileToString = + name: + let + p = cfg.settings.cfsProfiles.${name}; + in "${name} latency=${toString p.latency} nr-latency=${toString p.nr-latency} wakeup-granularity=${toString p.wakeup-granularity} bandwidth-size=${toString p.bandwidth-size} preempt=\"${p.preempt}\""; prioToString = class: prio: if prio == null then "\"${class}\"" else "(${class})${toString prio}"; - schedulerProfileToString = name: a: indent: - concatStringsSep " " - (["${indent}${name}"] - ++ (optional (a.nice != null) "nice=${toString a.nice}") - ++ (optional (a.class != null) "sched=${prioToString a.class a.prio}") - ++ (optional (a.ioClass != null) "io=${prioToString a.ioClass a.ioPrio}") - ++ (optional ((builtins.length a.matchers) != 0) ("{\n${concatStringsSep "\n" (map (m: " ${indent}${m}") a.matchers)}\n${indent}}"))); + schedulerProfileToString = + name: a: indent: + concatStringsSep " " ( + [ "${indent}${name}" ] + ++ (optional (a.nice != null) "nice=${toString a.nice}") + ++ (optional (a.class != null) "sched=${prioToString a.class a.prio}") + ++ (optional (a.ioClass != null) "io=${prioToString a.ioClass a.ioPrio}") + ++ (optional ((builtins.length a.matchers) != 0) ( + "{\n${concatStringsSep "\n" (map (m: " ${indent}${m}") a.matchers)}\n${indent}}" + )) + ); -in { +in +{ options = { services.system76-scheduler = { enable = lib.mkEnableOption "system76-scheduler"; @@ -193,10 +247,12 @@ in { }; assignments = mkOption { - type = types.attrsOf (types.submodule { - options = schedulerProfile { }; - }); - default = {}; + type = types.attrsOf ( + types.submodule { + options = schedulerProfile { }; + } + ); + default = { }; example = literalExpression '' { nix-builds = { @@ -214,7 +270,7 @@ in { exceptions = mkOption { type = types.listOf str; - default = []; + default = [ ]; example = literalExpression '' [ "include descends=\"schedtool\"" @@ -241,7 +297,7 @@ in { ]; serviceConfig = { Type = "dbus"; - BusName= "com.system76.Scheduler"; + BusName = "com.system76.Scheduler"; ExecStart = "${cfg.package}/bin/system76-scheduler daemon"; ExecReload = "${cfg.package}/bin/system76-scheduler daemon reload"; }; @@ -252,39 +308,59 @@ in { # No custom settings: just use stock configuration with a fix for Pipewire "system76-scheduler/config.kdl".source = "${cfg.package}/data/config.kdl"; "system76-scheduler/process-scheduler/00-dist.kdl".source = "${cfg.package}/data/pop_os.kdl"; - "system76-scheduler/process-scheduler/01-fix-pipewire-paths.kdl".source = ../../../../pkgs/by-name/sy/system76-scheduler/01-fix-pipewire-paths.kdl; + "system76-scheduler/process-scheduler/01-fix-pipewire-paths.kdl".source = + ../../../../pkgs/by-name/sy/system76-scheduler/01-fix-pipewire-paths.kdl; }) - (let - settings = cfg.settings; - cfsp = settings.cfsProfiles; - ps = settings.processScheduler; - in mkIf (!cfg.useStockConfig) { - "system76-scheduler/config.kdl".text = '' - version "2.0" - autogroup-enabled false - cfs-profiles enable=${boolToString cfsp.enable} { - ${cfsProfileToString "default"} - ${cfsProfileToString "responsive"} - } - process-scheduler enable=${boolToString ps.enable} { - execsnoop ${boolToString ps.useExecsnoop} - refresh-rate ${toString ps.refreshInterval} - assignments { - ${if ps.foregroundBoost.enable then (schedulerProfileToString "foreground" ps.foregroundBoost.foreground " ") else ""} - ${if ps.foregroundBoost.enable then (schedulerProfileToString "background" ps.foregroundBoost.background " ") else ""} - ${if ps.pipewireBoost.enable then (schedulerProfileToString "pipewire" ps.pipewireBoost.profile " ") else ""} + ( + let + settings = cfg.settings; + cfsp = settings.cfsProfiles; + ps = settings.processScheduler; + in + mkIf (!cfg.useStockConfig) { + "system76-scheduler/config.kdl".text = '' + version "2.0" + autogroup-enabled false + cfs-profiles enable=${boolToString cfsp.enable} { + ${cfsProfileToString "default"} + ${cfsProfileToString "responsive"} } - } - ''; - }) + process-scheduler enable=${boolToString ps.enable} { + execsnoop ${boolToString ps.useExecsnoop} + refresh-rate ${toString ps.refreshInterval} + assignments { + ${ + if ps.foregroundBoost.enable then + (schedulerProfileToString "foreground" ps.foregroundBoost.foreground " ") + else + "" + } + ${ + if ps.foregroundBoost.enable then + (schedulerProfileToString "background" ps.foregroundBoost.background " ") + else + "" + } + ${ + if ps.pipewireBoost.enable then + (schedulerProfileToString "pipewire" ps.pipewireBoost.profile " ") + else + "" + } + } + } + ''; + } + ) { "system76-scheduler/process-scheduler/02-config.kdl".text = "exceptions {\n${concatStringsSep "\n" (map (e: " ${e}") cfg.exceptions)}\n}\n" + "assignments {\n" - + (concatStringsSep "\n" (map (name: schedulerProfileToString name cfg.assignments.${name} " ") - (attrNames cfg.assignments))) + + (concatStringsSep "\n" ( + map (name: schedulerProfileToString name cfg.assignments.${name} " ") (attrNames cfg.assignments) + )) + "\n}\n"; } ]; diff --git a/nixos/modules/services/desktops/telepathy.nix b/nixos/modules/services/desktops/telepathy.nix index 8f8adf7f4f83d..d4aac1aa0c26f 100644 --- a/nixos/modules/services/desktops/telepathy.nix +++ b/nixos/modules/services/desktops/telepathy.nix @@ -1,5 +1,10 @@ # Telepathy daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = { @@ -25,7 +30,6 @@ }; - ###### implementation config = lib.mkIf config.services.telepathy.enable { diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix index a52767301949c..521f8c0a58f13 100644 --- a/nixos/modules/services/desktops/tumbler.nix +++ b/nixos/modules/services/desktops/tumbler.nix @@ -1,5 +1,10 @@ # Tumbler -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.tumbler; @@ -9,9 +14,7 @@ in { imports = [ - (lib.mkRemovedOptionModule - [ "services" "tumbler" "package" ] - "") + (lib.mkRemovedOptionModule [ "services" "tumbler" "package" ] "") ]; meta = with lib; { @@ -30,7 +33,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/desktops/zeitgeist.nix b/nixos/modules/services/desktops/zeitgeist.nix index 7ca2c6f3739a0..5e9cba9930165 100644 --- a/nixos/modules/services/desktops/zeitgeist.nix +++ b/nixos/modules/services/desktops/zeitgeist.nix @@ -1,5 +1,10 @@ # Zeitgeist -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { meta = with lib; { diff --git a/nixos/modules/services/development/blackfire.nix b/nixos/modules/services/development/blackfire.nix index 9b76cfbca0788..1f804cd4d8830 100644 --- a/nixos/modules/services/development/blackfire.nix +++ b/nixos/modules/services/development/blackfire.nix @@ -1,14 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.blackfire-agent; - agentConfigFile = lib.generators.toINI {} { - blackfire = cfg.settings; + agentConfigFile = lib.generators.toINI { } { + blackfire = cfg.settings; }; agentSock = "blackfire/agent.sock"; -in { +in +{ meta = { maintainers = pkgs.blackfire.meta.maintainers; doc = ./blackfire.md; diff --git a/nixos/modules/services/development/bloop.nix b/nixos/modules/services/development/bloop.nix index b61f543f57138..dcf94f48cf337 100644 --- a/nixos/modules/services/development/bloop.nix +++ b/nixos/modules/services/development/bloop.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bloop; -in { +in +{ options.services.bloop = { extraOptions = lib.mkOption { @@ -40,10 +46,10 @@ in { PATH = lib.mkForce "${lib.makeBinPath [ config.programs.java.package ]}"; }; serviceConfig = { - Type = "forking"; - ExecStart = "${pkgs.bloop}/bin/bloop start"; - ExecStop = "${pkgs.bloop}/bin/bloop exit"; - Restart = "always"; + Type = "forking"; + ExecStart = "${pkgs.bloop}/bin/bloop start"; + ExecStop = "${pkgs.bloop}/bin/bloop exit"; + Restart = "always"; }; }; diff --git a/nixos/modules/services/development/distccd.nix b/nixos/modules/services/development/distccd.nix index 7eb9789b5c38c..46d09911e2b7b 100644 --- a/nixos/modules/services/development/distccd.nix +++ b/nixos/modules/services/development/distccd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.distccd; in @@ -10,7 +15,11 @@ in allowedClients = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ "127.0.0.1" ]; - example = [ "127.0.0.1" "192.168.0.0/24" "10.0.0.0/24" ]; + example = [ + "127.0.0.1" + "192.168.0.0/24" + "10.0.0.0/24" + ]; description = '' Client IPs which are allowed to connect to distccd in CIDR notation. @@ -29,7 +38,16 @@ in }; logLevel = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "critical" "error" "warning" "notice" "info" "debug" ]); + type = lib.types.nullOr ( + lib.types.enum [ + "critical" + "error" + "warning" + "notice" + "info" + "debug" + ] + ); default = "warning"; description = '' Set the minimum severity of error that will be included in the log @@ -46,7 +64,6 @@ in ''; }; - nice = lib.mkOption { type = lib.types.nullOr lib.types.int; default = null; @@ -97,8 +114,7 @@ in config = lib.mkIf cfg.enable { networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = [ cfg.port ] - ++ lib.optionals cfg.stats.enable [ cfg.stats.port ]; + allowedTCPPorts = [ cfg.port ] ++ lib.optionals cfg.stats.enable [ cfg.stats.port ]; }; systemd.services.distccd = { diff --git a/nixos/modules/services/development/gemstash.nix b/nixos/modules/services/development/gemstash.nix index 6184180552aee..442a6630af8df 100644 --- a/nixos/modules/services/development/gemstash.nix +++ b/nixos/modules/services/development/gemstash.nix @@ -1,19 +1,23 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let settingsFormat = pkgs.formats.yaml { }; # gemstash uses a yaml config where the keys are ruby symbols, # which means they start with ':'. This would be annoying to use # on the nix side, so we rewrite plain names instead. - prefixColon = s: lib.listToAttrs (map - (attrName: { - name = ":${attrName}"; - value = - if lib.isAttrs s.${attrName} - then prefixColon s."${attrName}" - else s."${attrName}"; - }) - (lib.attrNames s)); + prefixColon = + s: + lib.listToAttrs ( + map (attrName: { + name = ":${attrName}"; + value = if lib.isAttrs s.${attrName} then prefixColon s."${attrName}" else s."${attrName}"; + }) (lib.attrNames s) + ); # parse the port number out of the tcp://ip:port bind setting string parseBindPort = bind: lib.strings.toInt (lib.last (lib.strings.splitString ":" bind)); @@ -33,7 +37,7 @@ in }; settings = lib.mkOption { - default = {}; + default = { }; description = '' Configuration for Gemstash. The details can be found at in [gemstash documentation](https://github.com/rubygems/gemstash/blob/master/man/gemstash-configuration.5.md). @@ -53,7 +57,14 @@ in description = "Host and port combination for the server to listen on."; }; db_adapter = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "sqlite3" "postgres" "mysql" "mysql2" ]); + type = lib.types.nullOr ( + lib.types.enum [ + "sqlite3" + "postgres" + "mysql" + "mysql2" + ] + ); default = null; description = "Which database type to use. For choices other than sqlite3, the dbUrl has to be specified as well."; }; @@ -67,35 +78,36 @@ in }; }; - config = - lib.mkIf cfg.enable { - users = { - users.gemstash = { - group = "gemstash"; - isSystemUser = true; - }; - groups.gemstash = { }; + config = lib.mkIf cfg.enable { + users = { + users.gemstash = { + group = "gemstash"; + isSystemUser = true; }; + groups.gemstash = { }; + }; - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ (parseBindPort cfg.settings.bind) ]; + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ + (parseBindPort cfg.settings.bind) + ]; - systemd.services.gemstash = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = lib.mkMerge [ - { - ExecStart = "${pkgs.gemstash}/bin/gemstash start --no-daemonize --config-file ${settingsFormat.generate "gemstash.yaml" (prefixColon cfg.settings)}"; - NoNewPrivileges = true; - User = "gemstash"; - Group = "gemstash"; - PrivateTmp = true; - RestrictSUIDSGID = true; - LockPersonality = true; - } - (lib.mkIf (cfg.settings.base_path == "/var/lib/gemstash") { - StateDirectory = "gemstash"; - }) - ]; - }; + systemd.services.gemstash = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = lib.mkMerge [ + { + ExecStart = "${pkgs.gemstash}/bin/gemstash start --no-daemonize --config-file ${settingsFormat.generate "gemstash.yaml" (prefixColon cfg.settings)}"; + NoNewPrivileges = true; + User = "gemstash"; + Group = "gemstash"; + PrivateTmp = true; + RestrictSUIDSGID = true; + LockPersonality = true; + } + (lib.mkIf (cfg.settings.base_path == "/var/lib/gemstash") { + StateDirectory = "gemstash"; + }) + ]; }; + }; } diff --git a/nixos/modules/services/development/hoogle.nix b/nixos/modules/services/development/hoogle.nix index 0a09a339e2bee..49d7cb5c2113f 100644 --- a/nixos/modules/services/development/hoogle.nix +++ b/nixos/modules/services/development/hoogle.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hoogle; @@ -8,7 +13,8 @@ let paths = [ (cfg.haskellPackages.ghcWithHoogle cfg.packages) ]; }; -in { +in +{ options.services.hoogle = { enable = lib.mkEnableOption "Haskell documentation server"; @@ -23,7 +29,7 @@ in { packages = lib.mkOption { type = lib.types.functionTo (lib.types.listOf lib.types.package); - default = hp: []; + default = hp: [ ]; defaultText = lib.literalExpression "hp: []"; example = lib.literalExpression "hp: with hp; [ text lens ]"; description = '' @@ -56,7 +62,7 @@ in { extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "--no-security-headers" ]; description = '' Additional command-line arguments to pass to diff --git a/nixos/modules/services/development/jupyter/default.nix b/nixos/modules/services/development/jupyter/default.nix index d9687fdbf7139..5bcbf34548c11 100644 --- a/nixos/modules/services/development/jupyter/default.nix +++ b/nixos/modules/services/development/jupyter/default.nix @@ -1,15 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jupyter; package = cfg.package; - kernels = (pkgs.jupyter-kernel.create { - definitions = if cfg.kernels != null - then cfg.kernels - else pkgs.jupyter-kernel.default; - }); + kernels = ( + pkgs.jupyter-kernel.create { + definitions = if cfg.kernels != null then cfg.kernels else pkgs.jupyter-kernel.default; + } + ); notebookConfig = pkgs.writeText "jupyter_config.py" '' ${cfg.notebookConfig} @@ -17,7 +22,8 @@ let c.NotebookApp.password = ${cfg.password} ''; -in { +in +{ meta.maintainers = with lib.maintainers; [ aborsu ]; options.services.jupyter = { @@ -43,7 +49,7 @@ in { description = '' Which command the service runs. Note that not all jupyter packages have all commands, e.g. jupyter-lab isn't present in the default package. - ''; + ''; }; port = lib.mkOption { @@ -108,9 +114,15 @@ in { }; kernels = lib.mkOption { - type = lib.types.nullOr (lib.types.attrsOf(lib.types.submodule (import ./kernel-options.nix { - inherit lib pkgs; - }))); + type = lib.types.nullOr ( + lib.types.attrsOf ( + lib.types.submodule ( + import ./kernel-options.nix { + inherit lib pkgs; + } + ) + ) + ); default = null; example = lib.literalExpression '' @@ -151,7 +163,7 @@ in { }; config = lib.mkMerge [ - (lib.mkIf cfg.enable { + (lib.mkIf cfg.enable { systemd.services.jupyter = { description = "Jupyter development server"; @@ -167,12 +179,13 @@ in { serviceConfig = { Restart = "always"; - ExecStart = ''${package}/bin/${cfg.command} \ - --no-browser \ - --ip=${cfg.ip} \ - --port=${toString cfg.port} --port-retries 0 \ - --notebook-dir=${cfg.notebookDir} \ - --NotebookApp.config_file=${notebookConfig} + ExecStart = '' + ${package}/bin/${cfg.command} \ + --no-browser \ + --ip=${cfg.ip} \ + --port=${toString cfg.port} --port-retries 0 \ + --notebook-dir=${cfg.notebookDir} \ + --NotebookApp.config_file=${notebookConfig} ''; User = cfg.user; Group = cfg.group; @@ -181,7 +194,7 @@ in { }; }) (lib.mkIf (cfg.enable && (cfg.group == "jupyter")) { - users.groups.jupyter = {}; + users.groups.jupyter = { }; }) (lib.mkIf (cfg.enable && (cfg.user == "jupyter")) { users.extraUsers.jupyter = { diff --git a/nixos/modules/services/development/jupyter/kernel-options.nix b/nixos/modules/services/development/jupyter/kernel-options.nix index 421e1a0cf51dc..12c94d5d86fdb 100644 --- a/nixos/modules/services/development/jupyter/kernel-options.nix +++ b/nixos/modules/services/development/jupyter/kernel-options.nix @@ -42,7 +42,9 @@ env = lib.mkOption { type = lib.types.attrsOf lib.types.str; default = { }; - example = { OMP_NUM_THREADS = "1"; }; + example = { + OMP_NUM_THREADS = "1"; + }; description = '' Environment variables to set for the kernel. ''; diff --git a/nixos/modules/services/development/livebook.nix b/nixos/modules/services/development/livebook.nix index ca227e2ad22c3..7a6ba52a179cc 100644 --- a/nixos/modules/services/development/livebook.nix +++ b/nixos/modules/services/development/livebook.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.livebook; in @@ -13,7 +18,15 @@ in package = lib.mkPackageOption pkgs "livebook" { }; environment = lib.mkOption { - type = with lib.types; attrsOf (nullOr (oneOf [ bool int str ])); + type = + with lib.types; + attrsOf ( + nullOr (oneOf [ + bool + int + str + ]) + ); default = { }; description = '' Environment variables to set. @@ -95,9 +108,9 @@ in # stuck running a `cat /dev/urandom | tr | fold` pipeline. IgnoreSIGPIPE = false; }; - environment = lib.mapAttrs (name: value: - if lib.isBool value then lib.boolToString value else toString value) - cfg.environment; + environment = lib.mapAttrs ( + name: value: if lib.isBool value then lib.boolToString value else toString value + ) cfg.environment; path = [ pkgs.bash ] ++ cfg.extraPackages; wantedBy = [ "default.target" ]; }; @@ -105,6 +118,9 @@ in meta = { doc = ./livebook.md; - maintainers = with lib.maintainers; [ munksgaard scvalex ]; + maintainers = with lib.maintainers; [ + munksgaard + scvalex + ]; }; } diff --git a/nixos/modules/services/development/lorri.nix b/nixos/modules/services/development/lorri.nix index 4aba3836e3233..899e4f3de1917 100644 --- a/nixos/modules/services/development/lorri.nix +++ b/nixos/modules/services/development/lorri.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.lorri; socketPath = "lorri/daemon.socket"; -in { +in +{ options = { services.lorri = { enable = lib.mkOption { @@ -40,7 +46,12 @@ in { description = "Lorri Daemon"; requires = [ "lorri.socket" ]; after = [ "lorri.socket" ]; - path = with pkgs; [ config.nix.package git gnutar gzip ]; + path = with pkgs; [ + config.nix.package + git + gnutar + gzip + ]; serviceConfig = { ExecStart = "${cfg.package}/bin/lorri daemon"; PrivateTmp = true; @@ -49,6 +60,9 @@ in { }; }; - environment.systemPackages = [ cfg.package pkgs.direnv ]; + environment.systemPackages = [ + cfg.package + pkgs.direnv + ]; }; } diff --git a/nixos/modules/services/development/nixseparatedebuginfod.nix b/nixos/modules/services/development/nixseparatedebuginfod.nix index a2ec0d2c80e1f..63474272ccf03 100644 --- a/nixos/modules/services/development/nixseparatedebuginfod.nix +++ b/nixos/modules/services/development/nixseparatedebuginfod.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.services.nixseparatedebuginfod; url = "127.0.0.1:${toString cfg.port}"; @@ -30,10 +35,12 @@ in }; }; config = lib.mkIf cfg.enable { - assertions = [ { - assertion = cfg.allowOldNix || (lib.versionAtLeast cfg.nixPackage.version "2.18"); - message = "nixseparatedebuginfod works better when `services.nixseparatedebuginfod.nixPackage` is set to nix >= 2.18 (instead of ${cfg.nixPackage.name}). Set `services.nixseparatedebuginfod.allowOldNix` to bypass."; - } ]; + assertions = [ + { + assertion = cfg.allowOldNix || (lib.versionAtLeast cfg.nixPackage.version "2.18"); + message = "nixseparatedebuginfod works better when `services.nixseparatedebuginfod.nixPackage` is set to nix >= 2.18 (instead of ${cfg.nixPackage.name}). Set `services.nixseparatedebuginfod.allowOldNix` to bypass."; + } + ]; systemd.services.nixseparatedebuginfod = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/development/rstudio-server/default.nix b/nixos/modules/services/development/rstudio-server/default.nix index 70f665b09e317..d83029388c3dd 100644 --- a/nixos/modules/services/development/rstudio-server/default.nix +++ b/nixos/modules/services/development/rstudio-server/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rstudio-server; @@ -15,7 +20,10 @@ let in { - meta.maintainers = with lib.maintainers; [ jbedo cfhammill ]; + meta.maintainers = with lib.maintainers; [ + jbedo + cfhammill + ]; options.services.rstudio-server = { enable = lib.mkEnableOption "RStudio server"; @@ -58,41 +66,43 @@ in }; - config = lib.mkIf cfg.enable - { - systemd.services.rstudio-server = { - description = "Rstudio server"; - - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - restartTriggers = [ rserver-conf rsession-conf ]; - - serviceConfig = { - Restart = "on-failure"; - Type = "forking"; - ExecStart = "${cfg.package}/bin/rserver"; - StateDirectory = "rstudio-server"; - RuntimeDirectory = "rstudio-server"; - }; + config = lib.mkIf cfg.enable { + systemd.services.rstudio-server = { + description = "Rstudio server"; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ + rserver-conf + rsession-conf + ]; + + serviceConfig = { + Restart = "on-failure"; + Type = "forking"; + ExecStart = "${cfg.package}/bin/rserver"; + StateDirectory = "rstudio-server"; + RuntimeDirectory = "rstudio-server"; }; + }; + + environment.etc = { + "rstudio/rserver.conf".source = rserver-conf; + "rstudio/rsession.conf".source = rsession-conf; + "pam.d/rstudio".source = "/etc/pam.d/login"; + }; + environment.systemPackages = [ cfg.package ]; - environment.etc = { - "rstudio/rserver.conf".source = rserver-conf; - "rstudio/rsession.conf".source = rsession-conf; - "pam.d/rstudio".source = "/etc/pam.d/login"; + users = { + users.rstudio-server = { + uid = config.ids.uids.rstudio-server; + description = "rstudio-server"; + group = "rstudio-server"; }; - environment.systemPackages = [ cfg.package ]; - - users = { - users.rstudio-server = { - uid = config.ids.uids.rstudio-server; - description = "rstudio-server"; - group = "rstudio-server"; - }; - groups.rstudio-server = { - gid = config.ids.gids.rstudio-server; - }; + groups.rstudio-server = { + gid = config.ids.gids.rstudio-server; }; - }; + + }; } diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 6e0be83aa384b..ac659e9fa5271 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.zammad; @@ -226,7 +231,8 @@ in assertions = [ { - assertion = cfg.database.createLocally -> cfg.database.user == "zammad" && cfg.database.name == "zammad"; + assertion = + cfg.database.createLocally -> cfg.database.user == "zammad" && cfg.database.name == "zammad"; message = "services.zammad.database.user must be set to \"zammad\" if services.zammad.database.createLocally is set to true"; } { @@ -263,14 +269,17 @@ in # loading all the gems takes time TimeoutStartSec = 1200; }; - after = [ - "network.target" - "systemd-tmpfiles-setup.service" - ] ++ lib.optionals (cfg.database.createLocally) [ - "postgresql.service" - ] ++ lib.optionals cfg.redis.createLocally [ - "redis-${cfg.redis.name}.service" - ]; + after = + [ + "network.target" + "systemd-tmpfiles-setup.service" + ] + ++ lib.optionals (cfg.database.createLocally) [ + "postgresql.service" + ] + ++ lib.optionals cfg.redis.createLocally [ + "redis-${cfg.redis.name}.service" + ]; requires = lib.optionals (cfg.database.createLocally) [ "postgresql.service" ]; @@ -280,17 +289,17 @@ in # config file cat ${databaseConfig} > ${cfg.dataDir}/config/database.yml ${lib.optionalString (cfg.database.passwordFile != null) '' - { - echo -n " password: " - cat ${cfg.database.passwordFile} - } >> ${cfg.dataDir}/config/database.yml + { + echo -n " password: " + cat ${cfg.database.passwordFile} + } >> ${cfg.dataDir}/config/database.yml ''} ${lib.optionalString (cfg.secretKeyBaseFile != null) '' - { - echo "production: " - echo -n " secret_key_base: " - cat ${cfg.secretKeyBaseFile} - } > ${cfg.dataDir}/config/secrets.yml + { + echo "production: " + echo -n " secret_key_base: " + cat ${cfg.secretKeyBaseFile} + } > ${cfg.dataDir}/config/secrets.yml ''} # needed for cleanup @@ -349,5 +358,8 @@ in }; }; - meta.maintainers = with lib.maintainers; [ taeer netali ]; + meta.maintainers = with lib.maintainers; [ + taeer + netali + ]; } diff --git a/nixos/modules/services/display-managers/default.nix b/nixos/modules/services/display-managers/default.nix index 81919923ded8c..2bcef6106cc00 100644 --- a/nixos/modules/services/display-managers/default.nix +++ b/nixos/modules/services/display-managers/default.nix @@ -1,34 +1,41 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.displayManager; - installedSessions = pkgs.runCommand "desktops" - { # trivial derivation - preferLocalBuild = true; - allowSubstitutes = false; - } - '' - mkdir -p "$out/share/"{xsessions,wayland-sessions} - - ${lib.concatMapStrings (pkg: '' - for n in ${lib.concatStringsSep " " pkg.providedSessions}; do - if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \ - -f ${pkg}/share/xsessions/$n.desktop; then - echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:" - echo " ${pkg}" - return 1 + installedSessions = + pkgs.runCommand "desktops" + { + # trivial derivation + preferLocalBuild = true; + allowSubstitutes = false; + } + '' + mkdir -p "$out/share/"{xsessions,wayland-sessions} + + ${lib.concatMapStrings (pkg: '' + for n in ${lib.concatStringsSep " " pkg.providedSessions}; do + if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \ + -f ${pkg}/share/xsessions/$n.desktop; then + echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:" + echo " ${pkg}" + return 1 + fi + done + + if test -d ${pkg}/share/xsessions; then + ${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi - done - - if test -d ${pkg}/share/xsessions; then - ${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions - fi - if test -d ${pkg}/share/wayland-sessions; then - ${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions - fi - '') cfg.sessionPackages} - ''; + if test -d ${pkg}/share/wayland-sessions; then + ${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions + fi + '') cfg.sessionPackages} + ''; in { options = { @@ -50,7 +57,7 @@ in environment = lib.mkOption { type = with lib.types; attrsOf unspecified; - default = {}; + default = { }; description = "Additional environment variables needed by the display manager."; }; @@ -82,28 +89,31 @@ in # Configuration for automatic login. Common for all DM. autoLogin = lib.mkOption { - type = lib.types.submodule ({ config, options, ... }: { - options = { - enable = lib.mkOption { - type = lib.types.bool; - default = config.user != null; - defaultText = lib.literalExpression "config.${options.user} != null"; - description = '' - Automatically log in as {option}`autoLogin.user`. - ''; - }; + type = lib.types.submodule ( + { config, options, ... }: + { + options = { + enable = lib.mkOption { + type = lib.types.bool; + default = config.user != null; + defaultText = lib.literalExpression "config.${options.user} != null"; + description = '' + Automatically log in as {option}`autoLogin.user`. + ''; + }; - user = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - User to be used for the automatic login. - ''; + user = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + User to be used for the automatic login. + ''; + }; }; - }; - }); + } + ); - default = {}; + default = { }; description = '' Auto login configuration attrset. ''; @@ -112,12 +122,13 @@ in defaultSession = lib.mkOption { type = lib.types.nullOr lib.types.str // { description = "session name"; - check = d: + check = + d: lib.assertMsg (d != null -> (lib.types.str.check d && lib.elem d cfg.sessionData.sessionNames)) '' - Default graphical session, '${d}', not found. - Valid names for 'services.displayManager.defaultSession' are: - ${lib.concatStringsSep "\n " cfg.sessionData.sessionNames} - ''; + Default graphical session, '${d}', not found. + Valid names for 'services.displayManager.defaultSession' are: + ${lib.concatStringsSep "\n " cfg.sessionData.sessionNames} + ''; }; default = null; example = "gnome"; @@ -133,25 +144,34 @@ in sessionData = lib.mkOption { description = "Data exported for display managers’ convenience"; internal = true; - default = {}; + default = { }; }; sessionPackages = lib.mkOption { - type = lib.types.listOf (lib.types.package // { - description = "package with provided sessions"; - check = p: lib.assertMsg - (lib.types.package.check p && p ? providedSessions - && p.providedSessions != [] && lib.all lib.isString p.providedSessions) - '' - Package, '${p.name}', did not specify any session names, as strings, in - 'passthru.providedSessions'. This is required when used as a session package. - - The session names can be looked up in: - ${p}/share/xsessions - ${p}/share/wayland-sessions - ''; - }); - default = []; + type = lib.types.listOf ( + lib.types.package + // { + description = "package with provided sessions"; + check = + p: + lib.assertMsg + ( + lib.types.package.check p + && p ? providedSessions + && p.providedSessions != [ ] + && lib.all lib.isString p.providedSessions + ) + '' + Package, '${p.name}', did not specify any session names, as strings, in + 'passthru.providedSessions'. This is required when used as a session package. + + The session names can be looked up in: + ${p}/share/xsessions + ${p}/share/wayland-sessions + ''; + } + ); + default = [ ]; description = '' A list of packages containing x11 or wayland session files to be passed to the display manager. ''; @@ -160,21 +180,52 @@ in }; imports = [ - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "autoLogin" ] [ "services" "displayManager" "autoLogin" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "defaultSession" ] [ "services" "displayManager" "defaultSession" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "hiddenUsers" ] [ "services" "displayManager" "hiddenUsers" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "environment" ] [ "services" "displayManager" "environment" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "execCmd" ] [ "services" "displayManager" "execCmd" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logToFile" ] [ "services" "displayManager" "logToFile" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logToJournal" ] [ "services" "displayManager" "logToJournal" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "preStart" ] [ "services" "displayManager" "preStart" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "sessionData" ] [ "services" "displayManager" "sessionData" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "sessionPackages" ] [ "services" "displayManager" "sessionPackages" ]) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "autoLogin" ] + [ "services" "displayManager" "autoLogin" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "defaultSession" ] + [ "services" "displayManager" "defaultSession" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "hiddenUsers" ] + [ "services" "displayManager" "hiddenUsers" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "job" "environment" ] + [ "services" "displayManager" "environment" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "job" "execCmd" ] + [ "services" "displayManager" "execCmd" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "job" "logToFile" ] + [ "services" "displayManager" "logToFile" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "job" "logToJournal" ] + [ "services" "displayManager" "logToJournal" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "job" "preStart" ] + [ "services" "displayManager" "preStart" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sessionData" ] + [ "services" "displayManager" "sessionData" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sessionPackages" ] + [ "services" "displayManager" "sessionPackages" ] + ) ]; config = lib.mkIf cfg.enable { assertions = [ - { assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; + { + assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null; message = '' services.displayManager.autoLogin.enable requires services.displayManager.autoLogin.user to be set ''; @@ -194,7 +245,7 @@ in autologinSession = if cfg.defaultSession != null then cfg.defaultSession - else if cfg.sessionData.sessionNames != [] then + else if cfg.sessionData.sessionNames != [ ] then lib.head cfg.sessionData.sessionNames else null; @@ -202,17 +253,22 @@ in # so that the service won't be enabled when only startx is used systemd.services.display-manager.enable = - let dmConf = config.services.xserver.displayManager; - noDmUsed = !(dmConf.gdm.enable - || cfg.sddm.enable - || dmConf.xpra.enable - || dmConf.lightdm.enable - || cfg.ly.enable); - in lib.mkIf noDmUsed (lib.mkDefault false); + let + dmConf = config.services.xserver.displayManager; + noDmUsed = + !( + dmConf.gdm.enable || cfg.sddm.enable || dmConf.xpra.enable || dmConf.lightdm.enable || cfg.ly.enable + ); + in + lib.mkIf noDmUsed (lib.mkDefault false); systemd.services.display-manager = { description = "Display Manager"; - after = [ "acpid.service" "systemd-logind.service" "systemd-user-sessions.service" ]; + after = [ + "acpid.service" + "systemd-logind.service" + "systemd-user-sessions.service" + ]; restartIfChanged = false; environment = cfg.environment; diff --git a/nixos/modules/services/display-managers/sddm.nix b/nixos/modules/services/display-managers/sddm.nix index ca46d627101ad..9f70867be4231 100644 --- a/nixos/modules/services/display-managers/sddm.nix +++ b/nixos/modules/services/display-managers/sddm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let xcfg = config.services.xserver; @@ -15,9 +20,20 @@ let iniFmt = pkgs.formats.ini { }; inherit (lib) - concatMapStrings concatStringsSep getExe - attrNames getAttr optionalAttrs optionalString - mkRemovedOptionModule mkRenamedOptionModule mkIf mkEnableOption mkOption mkPackageOption types + concatMapStrings + concatStringsSep + getExe + attrNames + getAttr + optionalAttrs + optionalString + mkRemovedOptionModule + mkRenamedOptionModule + mkIf + mkEnableOption + mkOption + mkPackageOption + types ; xserverWrapper = pkgs.writeShellScript "xserver-wrapper" '' @@ -34,67 +50,74 @@ let ${cfg.stopScript} ''; - defaultConfig = { - General = { - HaltCommand = "/run/current-system/systemd/bin/systemctl poweroff"; - RebootCommand = "/run/current-system/systemd/bin/systemctl reboot"; - Numlock = if cfg.autoNumlock then "on" else "none"; # on, off none - - # Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch - DefaultSession = optionalString (config.services.displayManager.defaultSession != null) "${config.services.displayManager.defaultSession}.desktop"; + defaultConfig = + { + General = + { + HaltCommand = "/run/current-system/systemd/bin/systemctl poweroff"; + RebootCommand = "/run/current-system/systemd/bin/systemctl reboot"; + Numlock = if cfg.autoNumlock then "on" else "none"; # on, off none + + # Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch + DefaultSession = optionalString ( + config.services.displayManager.defaultSession != null + ) "${config.services.displayManager.defaultSession}.desktop"; + + DisplayServer = if cfg.wayland.enable then "wayland" else "x11"; + } + // optionalAttrs (cfg.wayland.enable && cfg.wayland.compositor == "kwin") { + GreeterEnvironment = "QT_WAYLAND_SHELL_INTEGRATION=layer-shell"; + InputMethod = ""; # needed if we are using --inputmethod with kwin + }; - DisplayServer = if cfg.wayland.enable then "wayland" else "x11"; - } // optionalAttrs (cfg.wayland.enable && cfg.wayland.compositor == "kwin") { - GreeterEnvironment = "QT_WAYLAND_SHELL_INTEGRATION=layer-shell"; - InputMethod = ""; # needed if we are using --inputmethod with kwin - }; + Theme = + { + Current = cfg.theme; + ThemeDir = "/run/current-system/sw/share/sddm/themes"; + FacesDir = "/run/current-system/sw/share/sddm/faces"; + } + // optionalAttrs (cfg.theme == "breeze") { + CursorTheme = "breeze_cursors"; + CursorSize = 24; + }; - Theme = { - Current = cfg.theme; - ThemeDir = "/run/current-system/sw/share/sddm/themes"; - FacesDir = "/run/current-system/sw/share/sddm/faces"; - } // optionalAttrs (cfg.theme == "breeze") { - CursorTheme = "breeze_cursors"; - CursorSize = 24; - }; + Users = { + MaximumUid = config.ids.uids.nixbld; + HideUsers = concatStringsSep "," dmcfg.hiddenUsers; + HideShells = "/run/current-system/sw/bin/nologin"; + }; - Users = { - MaximumUid = config.ids.uids.nixbld; - HideUsers = concatStringsSep "," dmcfg.hiddenUsers; - HideShells = "/run/current-system/sw/bin/nologin"; - }; + Wayland = { + EnableHiDPI = cfg.enableHidpi; + SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions"; + CompositorCommand = lib.optionalString cfg.wayland.enable cfg.wayland.compositorCommand; + }; - Wayland = { - EnableHiDPI = cfg.enableHidpi; - SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions"; - CompositorCommand = lib.optionalString cfg.wayland.enable cfg.wayland.compositorCommand; + } + // optionalAttrs xcfg.enable { + X11 = { + MinimumVT = if xcfg.tty != null then xcfg.tty else 7; + ServerPath = toString xserverWrapper; + XephyrPath = "${pkgs.xorg.xorgserver.out}/bin/Xephyr"; + SessionCommand = toString dmcfg.sessionData.wrapper; + SessionDir = "${dmcfg.sessionData.desktops}/share/xsessions"; + XauthPath = "${pkgs.xorg.xauth}/bin/xauth"; + DisplayCommand = toString Xsetup; + DisplayStopCommand = toString Xstop; + EnableHiDPI = cfg.enableHidpi; + }; + } + // optionalAttrs dmcfg.autoLogin.enable { + Autologin = { + User = dmcfg.autoLogin.user; + Session = autoLoginSessionName; + Relogin = cfg.autoLogin.relogin; + }; }; - } // optionalAttrs xcfg.enable { - X11 = { - MinimumVT = if xcfg.tty != null then xcfg.tty else 7; - ServerPath = toString xserverWrapper; - XephyrPath = "${pkgs.xorg.xorgserver.out}/bin/Xephyr"; - SessionCommand = toString dmcfg.sessionData.wrapper; - SessionDir = "${dmcfg.sessionData.desktops}/share/xsessions"; - XauthPath = "${pkgs.xorg.xauth}/bin/xauth"; - DisplayCommand = toString Xsetup; - DisplayStopCommand = toString Xstop; - EnableHiDPI = cfg.enableHidpi; - }; - } // optionalAttrs dmcfg.autoLogin.enable { - Autologin = { - User = dmcfg.autoLogin.user; - Session = autoLoginSessionName; - Relogin = cfg.autoLogin.relogin; - }; - }; + cfgFile = iniFmt.generate "sddm.conf" (lib.recursiveUpdate defaultConfig cfg.settings); - cfgFile = - iniFmt.generate "sddm.conf" (lib.recursiveUpdate defaultConfig cfg.settings); - - autoLoginSessionName = - "${dmcfg.sessionData.autologinSession}.desktop"; + autoLoginSessionName = "${dmcfg.sessionData.autologinSession}.desktop"; compositorCmds = { kwin = concatStringsSep " " [ @@ -127,31 +150,75 @@ let in { imports = [ - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoLogin" "minimumUid" ] [ "services" "displayManager" "sddm" "autoLogin" "minimumUid" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoLogin" "relogin" ] [ "services" "displayManager" "sddm" "autoLogin" "relogin" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoNumlock" ] [ "services" "displayManager" "sddm" "autoNumlock" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "enable" ] [ "services" "displayManager" "sddm" "enable" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "enableHidpi" ] [ "services" "displayManager" "sddm" "enableHidpi" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "extraPackages" ] [ "services" "displayManager" "sddm" "extraPackages" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "package" ] [ "services" "displayManager" "sddm" "package" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "settings" ] [ "services" "displayManager" "sddm" "settings" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "setupScript" ] [ "services" "displayManager" "sddm" "setupScript" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "stopScript" ] [ "services" "displayManager" "sddm" "stopScript" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "theme" ] [ "services" "displayManager" "sddm" "theme" ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "wayland" "enable" ] [ "services" "displayManager" "sddm" "wayland" "enable" ]) - - (mkRemovedOptionModule - [ "services" "displayManager" "sddm" "themes" ] - "Set the option `services.displayManager.sddm.package' instead.") + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "autoLogin" "minimumUid" ] + [ "services" "displayManager" "sddm" "autoLogin" "minimumUid" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "autoLogin" "relogin" ] + [ "services" "displayManager" "sddm" "autoLogin" "relogin" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "autoNumlock" ] + [ "services" "displayManager" "sddm" "autoNumlock" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "enable" ] + [ "services" "displayManager" "sddm" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "enableHidpi" ] + [ "services" "displayManager" "sddm" "enableHidpi" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "extraPackages" ] + [ "services" "displayManager" "sddm" "extraPackages" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "package" ] + [ "services" "displayManager" "sddm" "package" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "settings" ] + [ "services" "displayManager" "sddm" "settings" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "setupScript" ] + [ "services" "displayManager" "sddm" "setupScript" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "stopScript" ] + [ "services" "displayManager" "sddm" "stopScript" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "theme" ] + [ "services" "displayManager" "sddm" "theme" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "sddm" "wayland" "enable" ] + [ "services" "displayManager" "sddm" "wayland" "enable" ] + ) + + (mkRemovedOptionModule [ + "services" + "displayManager" + "sddm" + "themes" + ] "Set the option `services.displayManager.sddm.package' instead.") (mkRenamedOptionModule [ "services" "displayManager" "sddm" "autoLogin" "enable" ] - [ "services" "displayManager" "autoLogin" "enable" ]) + [ "services" "displayManager" "autoLogin" "enable" ] + ) (mkRenamedOptionModule [ "services" "displayManager" "sddm" "autoLogin" "user" ] - [ "services" "displayManager" "autoLogin" "user" ]) - (mkRemovedOptionModule - [ "services" "displayManager" "sddm" "extraConfig" ] - "Set the option `services.displayManager.sddm.settings' instead.") + [ "services" "displayManager" "autoLogin" "user" ] + ) + (mkRemovedOptionModule [ + "services" + "displayManager" + "sddm" + "extraConfig" + ] "Set the option `services.displayManager.sddm.settings' instead.") ]; options = { diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix index ee1951e262228..93c814acad2e3 100644 --- a/nixos/modules/services/editors/emacs.nix +++ b/nixos/modules/services/editors/emacs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.emacs; @@ -39,7 +44,6 @@ in ''; }; - package = lib.mkPackageOption pkgs "emacs" { }; defaultEditor = lib.mkOption { @@ -62,24 +66,29 @@ in }; config = lib.mkIf (cfg.enable || cfg.install) { - systemd.user.services.emacs = { - description = "Emacs: the extensible, self-documenting text editor"; - - serviceConfig = { - Type = "notify"; - ExecStart = "${pkgs.runtimeShell} -c 'source ${config.system.build.setEnvironment}; exec ${cfg.package}/bin/emacs --fg-daemon'"; - ExecStop = "${cfg.package}/bin/emacsclient --eval (kill-emacs)"; - Restart = "always"; + systemd.user.services.emacs = + { + description = "Emacs: the extensible, self-documenting text editor"; + + serviceConfig = { + Type = "notify"; + ExecStart = "${pkgs.runtimeShell} -c 'source ${config.system.build.setEnvironment}; exec ${cfg.package}/bin/emacs --fg-daemon'"; + ExecStop = "${cfg.package}/bin/emacsclient --eval (kill-emacs)"; + Restart = "always"; + }; + + unitConfig = lib.optionalAttrs cfg.startWithGraphical { + After = "graphical-session.target"; + }; + } + // lib.optionalAttrs cfg.enable { + wantedBy = if cfg.startWithGraphical then [ "graphical-session.target" ] else [ "default.target" ]; }; - unitConfig = lib.optionalAttrs cfg.startWithGraphical { - After = "graphical-session.target"; - }; - } // lib.optionalAttrs cfg.enable { - wantedBy = if cfg.startWithGraphical then [ "graphical-session.target" ] else [ "default.target" ]; - }; - - environment.systemPackages = [ cfg.package editorScript ]; + environment.systemPackages = [ + cfg.package + editorScript + ]; environment.variables.EDITOR = lib.mkIf cfg.defaultEditor (lib.mkOverride 900 "emacseditor"); }; diff --git a/nixos/modules/services/editors/haste.nix b/nixos/modules/services/editors/haste.nix index cf5bde6a58651..9bedb81736e54 100644 --- a/nixos/modules/services/editors/haste.nix +++ b/nixos/modules/services/editors/haste.nix @@ -1,9 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let pkg = pkgs.haste-server; cfg = config.services.haste-server; - format = pkgs.formats.json {}; + format = pkgs.formats.json { }; in { options.services.haste-server = { @@ -77,7 +82,10 @@ in ExecStart = "${pkg}/bin/haste-server ${format.generate "config.json" cfg.settings}"; }; - path = with pkgs; [ pkg coreutils ]; + path = with pkgs; [ + pkg + coreutils + ]; }; }; } diff --git a/nixos/modules/services/editors/infinoted.nix b/nixos/modules/services/editors/infinoted.nix index b6e353b637e81..fe58552369d73 100644 --- a/nixos/modules/services/editors/infinoted.nix +++ b/nixos/modules/services/editors/infinoted.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.infinoted; -in { +in +{ options.services.infinoted = { enable = lib.mkEnableOption "infinoted"; @@ -33,7 +39,11 @@ in { }; securityPolicy = lib.mkOption { - type = lib.types.enum ["no-tls" "allow-tls" "require-tls"]; + type = lib.types.enum [ + "no-tls" + "allow-tls" + "require-tls" + ]; default = "require-tls"; description = '' How strictly to enforce clients connection with TLS. @@ -58,7 +68,12 @@ in { plugins = lib.mkOption { type = lib.types.listOf lib.types.str; - default = [ "note-text" "note-chat" "logging" "autosave" ]; + default = [ + "note-text" + "note-chat" + "logging" + "autosave" + ]; description = '' Plugins to enable ''; @@ -101,50 +116,50 @@ in { }; config = lib.mkIf (cfg.enable) { - users.users = lib.optionalAttrs (cfg.user == "infinoted") - { infinoted = { - description = "Infinoted user"; - group = cfg.group; - isSystemUser = true; - }; - }; - users.groups = lib.optionalAttrs (cfg.group == "infinoted") - { infinoted = { }; + users.users = lib.optionalAttrs (cfg.user == "infinoted") { + infinoted = { + description = "Infinoted user"; + group = cfg.group; + isSystemUser = true; }; + }; + users.groups = lib.optionalAttrs (cfg.group == "infinoted") { + infinoted = { }; + }; + + systemd.services.infinoted = { + description = "Gobby Dedicated Server"; - systemd.services.infinoted = - { description = "Gobby Dedicated Server"; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - serviceConfig = { - Type = "simple"; - Restart = "always"; - ExecStart = "${cfg.package.infinoted} --config-file=/var/lib/infinoted/infinoted.conf"; - User = cfg.user; - Group = cfg.group; - PermissionsStartOnly = true; - }; - preStart = '' - mkdir -p /var/lib/infinoted - install -o ${cfg.user} -g ${cfg.group} -m 0600 /dev/null /var/lib/infinoted/infinoted.conf - cat >>/var/lib/infinoted/infinoted.conf <>/var/lib/infinoted/infinoted.conf < ''; @@ -50,113 +57,122 @@ in }; }; - config = lib.mkIf (cfg.enable) (let - cfgFile = format.generate "odoo.cfg" cfg.settings; - in { - services.nginx = lib.mkIf (cfg.domain != null) { - upstreams = { - odoo.servers = { - "127.0.0.1:8069" = {}; + config = lib.mkIf (cfg.enable) ( + let + cfgFile = format.generate "odoo.cfg" cfg.settings; + in + { + services.nginx = lib.mkIf (cfg.domain != null) { + upstreams = { + odoo.servers = { + "127.0.0.1:8069" = { }; + }; + + odoochat.servers = { + "127.0.0.1:8072" = { }; + }; }; - odoochat.servers = { - "127.0.0.1:8072" = {}; + virtualHosts."${cfg.domain}" = { + extraConfig = '' + proxy_read_timeout 720s; + proxy_connect_timeout 720s; + proxy_send_timeout 720s; + + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Real-IP $remote_addr; + ''; + + locations = { + "/longpolling" = { + proxyPass = "http://odoochat"; + }; + + "/" = { + proxyPass = "http://odoo"; + extraConfig = '' + proxy_redirect off; + ''; + }; + }; }; }; - virtualHosts."${cfg.domain}" = { - extraConfig = '' - proxy_read_timeout 720s; - proxy_connect_timeout 720s; - proxy_send_timeout 720s; - - proxy_set_header X-Forwarded-Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - ''; + services.odoo.settings.options = + { + data_dir = "/var/lib/private/odoo/data"; + proxy_mode = cfg.domain != null; + } + // (lib.optionalAttrs (cfg.addons != [ ]) { + addons_path = lib.concatMapStringsSep "," lib.escapeShellArg cfg.addons; + }); + + users.users.odoo = { + isSystemUser = true; + group = "odoo"; + }; + users.groups.odoo = { }; - locations = { - "/longpolling" = { - proxyPass = "http://odoochat"; - }; + systemd.services.odoo = { + wantedBy = [ "multi-user.target" ]; + after = [ + "network.target" + "postgresql.service" + ]; - "/" = { - proxyPass = "http://odoo"; - extraConfig = '' - proxy_redirect off; - ''; - }; + # pg_dump + path = [ config.services.postgresql.package ]; + + requires = [ "postgresql.service" ]; + + serviceConfig = { + ExecStart = "${cfg.package}/bin/odoo"; + ExecStartPre = pkgs.writeShellScript "odoo-start-pre.sh" ( + '' + set -euo pipefail + + cd "$STATE_DIRECTORY" + + # Auto-migrate old deployments + if [[ -d .local/share/Odoo ]]; then + echo "pre-start: migrating state directory from $STATE_DIRECTORY/.local/share/Odoo to $STATE_DIRECTORY/data" + mv .local/share/Odoo ./data + rmdir .local/share + rmdir .local + fi + '' + + (lib.optionalString cfg.autoInit '' + echo "pre-start: auto-init" + INITIALIZED="${cfg.settings.options.data_dir}/.odoo.initialized" + if [ ! -e "$INITIALIZED" ]; then + ${cfg.package}/bin/odoo --init=INIT --database=odoo --db_user=odoo --stop-after-init ${lib.concatStringsSep " " cfg.autoInitExtraFlags} + touch "$INITIALIZED" + fi + '') + + "echo pre-start: OK" + ); + DynamicUser = true; + User = "odoo"; + StateDirectory = "odoo"; + Environment = [ + "ODOO_RC=${cfgFile}" + ]; }; }; - }; - services.odoo.settings.options = { - data_dir = "/var/lib/private/odoo/data"; - proxy_mode = cfg.domain != null; - } // (lib.optionalAttrs (cfg.addons != []) { - addons_path = lib.concatMapStringsSep "," lib.escapeShellArg cfg.addons; - }); + services.postgresql = { + enable = true; - users.users.odoo = { - isSystemUser = true; - group = "odoo"; - }; - users.groups.odoo = {}; - - systemd.services.odoo = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "postgresql.service" ]; - - # pg_dump - path = [ config.services.postgresql.package ]; - - requires = [ "postgresql.service" ]; - - serviceConfig = { - ExecStart = "${cfg.package}/bin/odoo"; - ExecStartPre = pkgs.writeShellScript "odoo-start-pre.sh" ( - '' - set -euo pipefail - - cd "$STATE_DIRECTORY" - - # Auto-migrate old deployments - if [[ -d .local/share/Odoo ]]; then - echo "pre-start: migrating state directory from $STATE_DIRECTORY/.local/share/Odoo to $STATE_DIRECTORY/data" - mv .local/share/Odoo ./data - rmdir .local/share - rmdir .local - fi - '' - + (lib.optionalString cfg.autoInit - '' - echo "pre-start: auto-init" - INITIALIZED="${cfg.settings.options.data_dir}/.odoo.initialized" - if [ ! -e "$INITIALIZED" ]; then - ${cfg.package}/bin/odoo --init=INIT --database=odoo --db_user=odoo --stop-after-init ${lib.concatStringsSep " " cfg.autoInitExtraFlags} - touch "$INITIALIZED" - fi - '') - + "echo pre-start: OK" - ); - DynamicUser = true; - User = "odoo"; - StateDirectory = "odoo"; - Environment = [ - "ODOO_RC=${cfgFile}" + ensureDatabases = [ "odoo" ]; + ensureUsers = [ + { + name = "odoo"; + ensureDBOwnership = true; + } ]; }; - }; - - services.postgresql = { - enable = true; - - ensureDatabases = [ "odoo" ]; - ensureUsers = [{ - name = "odoo"; - ensureDBOwnership = true; - }]; - }; - }); + } + ); } diff --git a/nixos/modules/services/games/armagetronad.nix b/nixos/modules/services/games/armagetronad.nix index dfeadb19026f7..17e449beb5477 100644 --- a/nixos/modules/services/games/armagetronad.nix +++ b/nixos/modules/services/games/armagetronad.nix @@ -1,22 +1,47 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption mkMerge literalExpression; - inherit (lib) mapAttrsToList filterAttrs unique recursiveUpdate types; + inherit (lib) + mkEnableOption + mkIf + mkOption + mkMerge + literalExpression + ; + inherit (lib) + mapAttrsToList + filterAttrs + unique + recursiveUpdate + types + ; - mkValueStringArmagetron = with lib; v: - if isInt v then toString v - else if isFloat v then toString v - else if isString v then v - else if true == v then "1" - else if false == v then "0" - else if null == v then "" - else throw "unsupported type: ${builtins.typeOf v}: ${(lib.generators.toPretty {} v)}"; + mkValueStringArmagetron = + with lib; + v: + if isInt v then + toString v + else if isFloat v then + toString v + else if isString v then + v + else if true == v then + "1" + else if false == v then + "0" + else if null == v then + "" + else + throw "unsupported type: ${builtins.typeOf v}: ${(lib.generators.toPretty { } v)}"; settingsFormat = pkgs.formats.keyValue { - mkKeyValue = lib.generators.mkKeyValueDefault - { - mkValueString = mkValueStringArmagetron; - } " "; + mkKeyValue = lib.generators.mkKeyValueDefault { + mkValueString = mkValueStringArmagetron; + } " "; listsAsDuplicateKeys = true; }; @@ -32,96 +57,99 @@ in servers = mkOption { description = "Armagetron server definitions."; default = { }; - type = types.attrsOf (types.submodule { - options = { - enable = mkEnableOption "armagetronad"; + type = types.attrsOf ( + types.submodule { + options = { + enable = mkEnableOption "armagetronad"; - package = lib.mkPackageOption pkgs "armagetronad-dedicated" { - example = '' - pkgs.armagetronad."0.2.9-sty+ct+ap".dedicated - ''; - extraDescription = '' - Ensure that you use a derivation which contains the path `bin/armagetronad-dedicated`. - ''; - }; + package = lib.mkPackageOption pkgs "armagetronad-dedicated" { + example = '' + pkgs.armagetronad."0.2.9-sty+ct+ap".dedicated + ''; + extraDescription = '' + Ensure that you use a derivation which contains the path `bin/armagetronad-dedicated`. + ''; + }; - host = mkOption { - type = types.str; - default = "0.0.0.0"; - description = "Host to listen on. Used for SERVER_IP."; - }; + host = mkOption { + type = types.str; + default = "0.0.0.0"; + description = "Host to listen on. Used for SERVER_IP."; + }; - port = mkOption { - type = types.port; - default = 4534; - description = "Port to listen on. Used for SERVER_PORT."; - }; + port = mkOption { + type = types.port; + default = 4534; + description = "Port to listen on. Used for SERVER_PORT."; + }; - dns = mkOption { - type = types.nullOr types.str; - default = null; - description = "DNS address to use for this server. Optional."; - }; + dns = mkOption { + type = types.nullOr types.str; + default = null; + description = "DNS address to use for this server. Optional."; + }; - openFirewall = mkOption { - type = types.bool; - default = true; - description = "Set to true to open the configured UDP port for Armagetron Advanced."; - }; + openFirewall = mkOption { + type = types.bool; + default = true; + description = "Set to true to open the configured UDP port for Armagetron Advanced."; + }; - name = mkOption { - type = types.str; - description = "The name of this server."; - }; + name = mkOption { + type = types.str; + description = "The name of this server."; + }; - settings = mkOption { - type = settingsFormat.type; - default = { }; - description = '' - Armagetron Advanced server rules configuration. Refer to: - - or `armagetronad-dedicated --doc` for a list. + settings = mkOption { + type = settingsFormat.type; + default = { }; + description = '' + Armagetron Advanced server rules configuration. Refer to: + + or `armagetronad-dedicated --doc` for a list. - This attrset is used to populate `settings_custom.cfg`; see: - - ''; - example = literalExpression '' - { - CYCLE_RUBBER = 40; - } - ''; - }; + This attrset is used to populate `settings_custom.cfg`; see: + + ''; + example = literalExpression '' + { + CYCLE_RUBBER = 40; + } + ''; + }; - roundSettings = mkOption { - type = settingsFormat.type; - default = { }; - description = '' - Armagetron Advanced server per-round configuration. Refer to: - - or `armagetronad-dedicated --doc` for a list. + roundSettings = mkOption { + type = settingsFormat.type; + default = { }; + description = '' + Armagetron Advanced server per-round configuration. Refer to: + + or `armagetronad-dedicated --doc` for a list. - This attrset is used to populate `everytime.cfg`; see: - - ''; - example = literalExpression '' - { - SAY = [ - "Hosted on NixOS" - "https://nixos.org" - "iD Tech High Rubber rul3z!! Happy New Year 2008!!1" - ]; - } - ''; + This attrset is used to populate `everytime.cfg`; see: + + ''; + example = literalExpression '' + { + SAY = [ + "Hosted on NixOS" + "https://nixos.org" + "iD Tech High Rubber rul3z!! Happy New Year 2008!!1" + ]; + } + ''; + }; }; - }; - }); + } + ); }; }; }; config = mkIf (enabledServers != { }) { - systemd.tmpfiles.settings = mkMerge (mapAttrsToList - (serverName: serverCfg: + systemd.tmpfiles.settings = mkMerge ( + mapAttrsToList ( + serverName: serverCfg: let serverId = nameToId serverName; serverRoot = getServerRoot serverName; @@ -130,7 +158,8 @@ in SERVER_IP = serverCfg.host; SERVER_PORT = serverCfg.port; SERVER_NAME = serverCfg.name; - } // (lib.optionalAttrs (serverCfg.dns != null) { SERVER_DNS = serverCfg.dns; }) + } + // (lib.optionalAttrs (serverCfg.dns != null) { SERVER_DNS = serverCfg.dns; }) ); customSettings = serverCfg.settings; everytimeSettings = serverCfg.roundSettings; @@ -193,12 +222,12 @@ in }; }; } - ) - enabledServers + ) enabledServers ); - systemd.services = mkMerge (mapAttrsToList - (serverName: serverCfg: + systemd.services = mkMerge ( + mapAttrsToList ( + serverName: serverCfg: let serverId = nameToId serverName; in @@ -206,7 +235,11 @@ in "armagetronad-${serverName}" = { description = "Armagetron Advanced Dedicated Server for ${serverName}"; wants = [ "basic.target" ]; - after = [ "basic.target" "network.target" "multi-user.target" ]; + after = [ + "basic.target" + "network.target" + "multi-user.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = let @@ -238,31 +271,30 @@ in Group = serverId; }; }; - }) - enabledServers + } + ) enabledServers ); - networking.firewall.allowedUDPPorts = - unique (mapAttrsToList (serverName: serverCfg: serverCfg.port) (filterAttrs (serverName: serverCfg: serverCfg.openFirewall) enabledServers)); + networking.firewall.allowedUDPPorts = unique ( + mapAttrsToList (serverName: serverCfg: serverCfg.port) ( + filterAttrs (serverName: serverCfg: serverCfg.openFirewall) enabledServers + ) + ); - users.users = mkMerge (mapAttrsToList - (serverName: serverCfg: - { - ${nameToId serverName} = { - group = nameToId serverName; - description = "Armagetron Advanced dedicated user for server ${serverName}"; - isSystemUser = true; - }; - }) - enabledServers + users.users = mkMerge ( + mapAttrsToList (serverName: serverCfg: { + ${nameToId serverName} = { + group = nameToId serverName; + description = "Armagetron Advanced dedicated user for server ${serverName}"; + isSystemUser = true; + }; + }) enabledServers ); - users.groups = mkMerge (mapAttrsToList - (serverName: serverCfg: - { - ${nameToId serverName} = { }; - }) - enabledServers + users.groups = mkMerge ( + mapAttrsToList (serverName: serverCfg: { + ${nameToId serverName} = { }; + }) enabledServers ); }; } diff --git a/nixos/modules/services/games/crossfire-server.nix b/nixos/modules/services/games/crossfire-server.nix index 91a684873c2aa..11d572ea3db12 100644 --- a/nixos/modules/services/games/crossfire-server.nix +++ b/nixos/modules/services/games/crossfire-server.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.crossfire-server; serverPort = 13327; -in { +in +{ options.services.crossfire-server = { enable = lib.mkOption { type = lib.types.bool; @@ -94,49 +100,62 @@ in { '''; } ''; - default = {}; + default = { }; }; }; config = lib.mkIf cfg.enable { users.users.crossfire = { - description = "Crossfire server daemon user"; - home = cfg.stateDir; - createHome = false; - isSystemUser = true; - group = "crossfire"; + description = "Crossfire server daemon user"; + home = cfg.stateDir; + createHome = false; + isSystemUser = true; + group = "crossfire"; }; - users.groups.crossfire = {}; + users.groups.crossfire = { }; # Merge the cfg.configFiles setting with the default files shipped with # Crossfire. # For most files this consists of reading ${crossfire}/etc/crossfire/${name} # and appending the user setting to it; the motd, news, and rules are handled # specially, with user-provided values completely replacing the original. - environment.etc = lib.attrsets.mapAttrs' - (name: value: lib.attrsets.nameValuePair "crossfire/${name}" { - mode = "0644"; - text = - (lib.optionalString (!lib.elem name ["motd" "news" "rules"]) - (lib.fileContents "${cfg.package}/etc/crossfire/${name}")) - + "\n${value}"; - }) ({ - ban_file = ""; - dm_file = ""; - exp_table = ""; - forbid = ""; - metaserver2 = ""; - motd = lib.fileContents "${cfg.package}/etc/crossfire/motd"; - news = lib.fileContents "${cfg.package}/etc/crossfire/news"; - rules = lib.fileContents "${cfg.package}/etc/crossfire/rules"; - settings = ""; - stat_bonus = ""; - } // cfg.configFiles); + environment.etc = + lib.attrsets.mapAttrs' + ( + name: value: + lib.attrsets.nameValuePair "crossfire/${name}" { + mode = "0644"; + text = + (lib.optionalString ( + !lib.elem name [ + "motd" + "news" + "rules" + ] + ) (lib.fileContents "${cfg.package}/etc/crossfire/${name}")) + + "\n${value}"; + } + ) + ( + { + ban_file = ""; + dm_file = ""; + exp_table = ""; + forbid = ""; + metaserver2 = ""; + motd = lib.fileContents "${cfg.package}/etc/crossfire/motd"; + news = lib.fileContents "${cfg.package}/etc/crossfire/news"; + rules = lib.fileContents "${cfg.package}/etc/crossfire/rules"; + settings = ""; + stat_bonus = ""; + } + // cfg.configFiles + ); systemd.services.crossfire-server = { - description = "Crossfire Server Daemon"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + description = "Crossfire Server Daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; serviceConfig = lib.mkMerge [ { diff --git a/nixos/modules/services/games/deliantra-server.nix b/nixos/modules/services/games/deliantra-server.nix index 0bb9cea92c7e0..4854731714f73 100644 --- a/nixos/modules/services/games/deliantra-server.nix +++ b/nixos/modules/services/games/deliantra-server.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.deliantra-server; serverPort = 13327; -in { +in +{ options.services.deliantra-server = { enable = lib.mkOption { type = lib.types.bool; @@ -91,44 +97,53 @@ in { config = lib.mkIf cfg.enable { users.users.deliantra = { - description = "Deliantra server daemon user"; - home = cfg.stateDir; - createHome = false; - isSystemUser = true; - group = "deliantra"; + description = "Deliantra server daemon user"; + home = cfg.stateDir; + createHome = false; + isSystemUser = true; + group = "deliantra"; }; - users.groups.deliantra = {}; + users.groups.deliantra = { }; # Merge the cfg.configFiles setting with the default files shipped with # Deliantra. # For most files this consists of reading # ${deliantra}/etc/deliantra-server/${name} and appending the user setting # to it. - environment.etc = lib.attrsets.mapAttrs' - (name: value: lib.attrsets.nameValuePair "deliantra-server/${name}" { - mode = "0644"; - text = - # Deliantra doesn't come with a motd file, but respects it if present - # in /etc. - (lib.optionalString (name != "motd") - (lib.fileContents "${cfg.package}/etc/deliantra-server/${name}")) - + "\n${value}"; - }) ({ - motd = ""; - settings = ""; - config = ""; - dm_file = ""; - } // cfg.configFiles); + environment.etc = + lib.attrsets.mapAttrs' + ( + name: value: + lib.attrsets.nameValuePair "deliantra-server/${name}" { + mode = "0644"; + text = + # Deliantra doesn't come with a motd file, but respects it if present + # in /etc. + (lib.optionalString (name != "motd") ( + lib.fileContents "${cfg.package}/etc/deliantra-server/${name}" + )) + + "\n${value}"; + } + ) + ( + { + motd = ""; + settings = ""; + config = ""; + dm_file = ""; + } + // cfg.configFiles + ); systemd.services.deliantra-server = { - description = "Deliantra Server Daemon"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + description = "Deliantra Server Daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; environment = { - DELIANTRA_DATADIR="${cfg.dataDir}"; - DELIANTRA_LOCALDIR="${cfg.stateDir}"; - DELIANTRA_CONFDIR="/etc/deliantra-server"; + DELIANTRA_DATADIR = "${cfg.dataDir}"; + DELIANTRA_LOCALDIR = "${cfg.stateDir}"; + DELIANTRA_CONFDIR = "/etc/deliantra-server"; }; serviceConfig = lib.mkMerge [ diff --git a/nixos/modules/services/games/freeciv.nix b/nixos/modules/services/games/freeciv.nix index fc73824e69207..ad9b9d2101d1d 100644 --- a/nixos/modules/services/games/freeciv.nix +++ b/nixos/modules/services/games/freeciv.nix @@ -1,24 +1,47 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.freeciv; inherit (config.users) groups; rootDir = "/run/freeciv"; argsFormat = { - type = with lib.types; let - valueType = nullOr (oneOf [ - bool int float str - (listOf valueType) - ]) // { - description = "freeciv-server params"; - }; - in valueType; - generate = name: value: - let mkParam = k: v: - if v == null then [] - else if lib.isBool v then lib.optional v ("--"+k) - else [("--"+k) v]; - mkParams = k: v: map (mkParam k) (if lib.isList v then v else [v]); - in lib.escapeShellArgs (lib.concatLists (lib.concatLists (lib.mapAttrsToList mkParams value))); + type = + with lib.types; + let + valueType = + nullOr (oneOf [ + bool + int + float + str + (listOf valueType) + ]) + // { + description = "freeciv-server params"; + }; + in + valueType; + generate = + name: value: + let + mkParam = + k: v: + if v == null then + [ ] + else if lib.isBool v then + lib.optional v ("--" + k) + else + [ + ("--" + k) + v + ]; + mkParams = k: v: map (mkParam k) (if lib.isList v then v else [ v ]); + in + lib.escapeShellArgs (lib.concatLists (lib.concatLists (lib.mapAttrsToList mkParams value))); }; in { @@ -29,11 +52,15 @@ in description = '' Parameters of freeciv-server. ''; - default = {}; + default = { }; type = lib.types.submodule { freeformType = argsFormat.type; options.Announce = lib.mkOption { - type = lib.types.enum ["IPv4" "IPv6" "none"]; + type = lib.types.enum [ + "IPv4" + "IPv6" + "none" + ]; default = "none"; description = "Announce game in LAN using given protocol."; }; @@ -89,7 +116,7 @@ in }; }; config = lib.mkIf cfg.enable { - users.groups.freeciv = {}; + users.groups.freeciv = { }; # Use with: # journalctl -u freeciv.service -f -o cat & # cat >/run/freeciv.stdin @@ -114,21 +141,30 @@ in StandardInput = "fd:freeciv.socket"; StandardOutput = "journal"; StandardError = "journal"; - ExecStart = pkgs.writeShellScript "freeciv-server" ('' - set -eux - savedir=$(date +%Y-%m-%d_%H-%M-%S) - '' + "${pkgs.freeciv}/bin/freeciv-server" - + " " + lib.optionalString (cfg.settings.saves != null) - (lib.concatStringsSep " " [ "--saves" "${lib.escapeShellArg cfg.settings.saves}/$savedir" ]) - + " " + argsFormat.generate "freeciv-server" (cfg.settings // { saves = null; })); + ExecStart = pkgs.writeShellScript "freeciv-server" ( + '' + set -eux + savedir=$(date +%Y-%m-%d_%H-%M-%S) + '' + + "${pkgs.freeciv}/bin/freeciv-server" + + " " + + lib.optionalString (cfg.settings.saves != null) ( + lib.concatStringsSep " " [ + "--saves" + "${lib.escapeShellArg cfg.settings.saves}/$savedir" + ] + ) + + " " + + argsFormat.generate "freeciv-server" (cfg.settings // { saves = null; }) + ); DynamicUser = true; # Create rootDir in the host's mount namespace. - RuntimeDirectory = [(baseNameOf rootDir)]; + RuntimeDirectory = [ (baseNameOf rootDir) ]; RuntimeDirectoryMode = "755"; StateDirectory = [ "freeciv" ]; WorkingDirectory = "/var/lib/freeciv"; # Avoid mounting rootDir in the own rootDir of ExecStart='s mount namespace. - InaccessiblePaths = ["-+${rootDir}"]; + InaccessiblePaths = [ "-+${rootDir}" ]; # This is for BindPaths= and BindReadOnlyPaths= # to allow traversal of directories they create in RootDirectory=. UMask = "0066"; @@ -163,7 +199,10 @@ in ProtectKernelTunables = true; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -172,15 +211,21 @@ in # Groups in @system-service which do not contain a syscall listed by: # perf stat -x, 2>perf.log -e 'syscalls:sys_enter_*' freeciv-server # in tests, and seem likely not necessary for freeciv-server. - "~@aio" "~@chown" "~@ipc" "~@keyring" "~@memlock" - "~@resources" "~@setuid" "~@sync" "~@timer" + "~@aio" + "~@chown" + "~@ipc" + "~@keyring" + "~@memlock" + "~@resources" + "~@setuid" + "~@sync" + "~@timer" ]; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; }; }; - networking.firewall = lib.mkIf cfg.openFirewall - { allowedTCPPorts = [ cfg.settings.port ]; }; + networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.settings.port ]; }; }; meta.maintainers = with lib.maintainers; [ julm ]; } diff --git a/nixos/modules/services/games/mchprs.nix b/nixos/modules/services/games/mchprs.nix index 169e4ba84f60e..53d070327fd40 100644 --- a/nixos/modules/services/games/mchprs.nix +++ b/nixos/modules/services/games/mchprs.nix @@ -1,15 +1,28 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mchprs; settingsFormat = pkgs.formats.toml { }; - whitelistFile = pkgs.writeText "whitelist.json" - (builtins.toJSON - (lib.mapAttrsToList (n: v: { name = n; uuid = v; }) cfg.whitelist.list)); + whitelistFile = pkgs.writeText "whitelist.json" ( + builtins.toJSON ( + lib.mapAttrsToList (n: v: { + name = n; + uuid = v; + }) cfg.whitelist.list + ) + ); configToml = - (removeAttrs cfg.settings [ "address" "port" ]) // - { + (removeAttrs cfg.settings [ + "address" + "port" + ]) + // { bind_address = cfg.settings.address + ":" + toString cfg.settings.port; whitelist = cfg.whitelist.enable; }; @@ -205,10 +218,11 @@ in list = lib.mkOption { type = let - minecraftUUID = lib.types.strMatching - "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" // { - description = "Minecraft UUID"; - }; + minecraftUUID = + lib.types.strMatching "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + // { + description = "Minecraft UUID"; + }; in lib.types.attrsOf minecraftUUID; default = { }; @@ -273,7 +287,10 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -282,45 +299,56 @@ in }; preStart = - (if cfg.declarativeSettings then '' - if [ -e .declarativeSettings ]; then - - # Settings were declarative before, no need to back up anything - cp -f ${configTomlFile} Config.toml - - else + ( + if cfg.declarativeSettings then + '' + if [ -e .declarativeSettings ]; then - # Declarative settings for the first time, backup stateful files - cp -b --suffix=.stateful ${configTomlFile} Config.toml + # Settings were declarative before, no need to back up anything + cp -f ${configTomlFile} Config.toml - echo "Autogenerated file that implies that this server configuration is managed declaratively by NixOS" \ - > .declarativeSettings + else - fi - '' else '' - if [ -e .declarativeSettings ]; then - rm .declarativeSettings - fi - '') + (if cfg.declarativeWhitelist then '' - if [ -e .declarativeWhitelist ]; then + # Declarative settings for the first time, backup stateful files + cp -b --suffix=.stateful ${configTomlFile} Config.toml - # Whitelist was declarative before, no need to back up anything - ln -sf ${whitelistFile} whitelist.json + echo "Autogenerated file that implies that this server configuration is managed declaratively by NixOS" \ + > .declarativeSettings + fi + '' else - - # Declarative whitelist for the first time, backup stateful files - ln -sb --suffix=.stateful ${whitelistFile} whitelist.json - - echo "Autogenerated file that implies that this server's whitelist is managed declaratively by NixOS" \ - > .declarativeWhitelist - - fi - '' else '' - if [ -e .declarativeWhitelist ]; then - rm .declarativeWhitelist - fi - ''); + '' + if [ -e .declarativeSettings ]; then + rm .declarativeSettings + fi + '' + ) + + ( + if cfg.declarativeWhitelist then + '' + if [ -e .declarativeWhitelist ]; then + + # Whitelist was declarative before, no need to back up anything + ln -sf ${whitelistFile} whitelist.json + + else + + # Declarative whitelist for the first time, backup stateful files + ln -sb --suffix=.stateful ${whitelistFile} whitelist.json + + echo "Autogenerated file that implies that this server's whitelist is managed declaratively by NixOS" \ + > .declarativeWhitelist + + fi + '' + else + '' + if [ -e .declarativeWhitelist ]; then + rm .declarativeWhitelist + fi + '' + ); }; networking.firewall = lib.mkIf (cfg.declarativeSettings && cfg.openFirewall) { diff --git a/nixos/modules/services/games/minetest-server.nix b/nixos/modules/services/games/minetest-server.nix index 98613e4391efe..52a2b31fc6229 100644 --- a/nixos/modules/services/games/minetest-server.nix +++ b/nixos/modules/services/games/minetest-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let CONTAINS_NEWLINE_RE = ".*\n.*"; # The following values are reserved as complete option values: @@ -10,37 +15,57 @@ let # There is no way to encode """ on its own line in a Minetest config. UNESCAPABLE_RE = ".*\n\"\"\"\n.*"; - toConfMultiline = name: value: - assert lib.assertMsg - ((builtins.match UNESCAPABLE_RE value) == null) - ''""" can't be on its own line in a minetest config.''; + toConfMultiline = + name: value: + assert lib.assertMsg ( + (builtins.match UNESCAPABLE_RE value) == null + ) ''""" can't be on its own line in a minetest config.''; "${name} = \"\"\"\n${value}\n\"\"\"\n"; - toConf = values: - lib.concatStrings - (lib.mapAttrsToList - (name: value: { + toConf = + values: + lib.concatStrings ( + lib.mapAttrsToList ( + name: value: + { bool = "${name} = ${toString value}\n"; int = "${name} = ${toString value}\n"; null = ""; set = "${name} = {\n${toConf value}}\n"; string = - if (builtins.match NEEDS_MULTILINE_RE value) != null - then toConfMultiline name value - else "${name} = ${value}\n"; - }.${builtins.typeOf value}) - values); - - cfg = config.services.minetest-server; - flag = val: name: lib.optionals (val != null) ["--${name}" "${toString val}"]; - - flags = [ - "--server" - ] + if (builtins.match NEEDS_MULTILINE_RE value) != null then + toConfMultiline name value + else + "${name} = ${value}\n"; + } + .${builtins.typeOf value} + ) values + ); + + cfg = config.services.minetest-server; + flag = + val: name: + lib.optionals (val != null) [ + "--${name}" + "${toString val}" + ]; + + flags = + [ + "--server" + ] ++ ( - if cfg.configPath != null - then ["--config" cfg.configPath] - else ["--config" (builtins.toFile "minetest.conf" (toConf cfg.config))]) + if cfg.configPath != null then + [ + "--config" + cfg.configPath + ] + else + [ + "--config" + (builtins.toFile "minetest.conf" (toConf cfg.config)) + ] + ) ++ (flag cfg.gameId "gameid") ++ (flag cfg.world "world") ++ (flag cfg.logPath "logfile") @@ -51,14 +76,14 @@ in options = { services.minetest-server = { enable = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = "If enabled, starts a Minetest Server."; }; gameId = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; + type = lib.types.nullOr lib.types.str; + default = null; description = '' Id of the game to use. To list available games run `minetestserver --gameid list`. @@ -68,8 +93,8 @@ in }; world = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.nullOr lib.types.path; + default = null; description = '' Name of the world to use. To list available worlds run `minetestserver --world list`. @@ -79,8 +104,8 @@ in }; configPath = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.nullOr lib.types.path; + default = null; description = '' Path to the config to use. @@ -91,7 +116,7 @@ in config = lib.mkOption { type = lib.types.attrsOf lib.types.anything; - default = {}; + default = { }; description = '' Settings to add to the minetest config file. @@ -100,8 +125,8 @@ in }; logPath = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.nullOr lib.types.path; + default = null; description = '' Path to logfile for logging. @@ -111,8 +136,8 @@ in }; port = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; + type = lib.types.nullOr lib.types.int; + default = null; description = '' Port number to bind to. @@ -122,7 +147,7 @@ in extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Additional command line flags to pass to the minetest executable. ''; @@ -132,22 +157,22 @@ in config = lib.mkIf cfg.enable { users.users.minetest = { - description = "Minetest Server Service user"; - home = "/var/lib/minetest"; - createHome = true; - uid = config.ids.uids.minetest; - group = "minetest"; + description = "Minetest Server Service user"; + home = "/var/lib/minetest"; + createHome = true; + uid = config.ids.uids.minetest; + group = "minetest"; }; users.groups.minetest.gid = config.ids.gids.minetest; systemd.services.minetest-server = { - description = "Minetest Server Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + description = "Minetest Server Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; serviceConfig.Restart = "always"; - serviceConfig.User = "minetest"; - serviceConfig.Group = "minetest"; + serviceConfig.User = "minetest"; + serviceConfig.Group = "minetest"; script = '' cd /var/lib/minetest diff --git a/nixos/modules/services/games/openarena.nix b/nixos/modules/services/games/openarena.nix index a80c427dba5fa..d462bff805fb7 100644 --- a/nixos/modules/services/games/openarena.nix +++ b/nixos/modules/services/games/openarena.nix @@ -1,7 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) concatStringsSep mkEnableOption mkIf mkOption types; + inherit (lib) + concatStringsSep + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.openarena; in { @@ -18,7 +29,7 @@ in extraFlags = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Extra flags to pass to {command}`oa_ded`"; example = [ "+set dedicated 2" diff --git a/nixos/modules/services/games/quake3-server.nix b/nixos/modules/services/games/quake3-server.nix index 7b1a50c313f4f..d0bc521022778 100644 --- a/nixos/modules/services/games/quake3-server.nix +++ b/nixos/modules/services/games/quake3-server.nix @@ -1,7 +1,18 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) literalMD mkEnableOption mkIf mkOption types; + inherit (lib) + literalMD + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.quake3-server; configFile = pkgs.writeText "q3ds-extra.cfg" '' @@ -28,16 +39,17 @@ let ''; }; - home = pkgs.runCommand "quake3-home" {} '' - mkdir -p $out/.q3a/baseq3 + home = pkgs.runCommand "quake3-home" { } '' + mkdir -p $out/.q3a/baseq3 - for file in ${cfg.baseq3}/*; do - ln -s $file $out/.q3a/baseq3/$(basename $file) - done + for file in ${cfg.baseq3}/*; do + ln -s $file $out/.q3a/baseq3/$(basename $file) + done - ln -s ${configFile} $out/.q3a/baseq3/nix.cfg + ln -s ${configFile} $out/.q3a/baseq3/nix.cfg ''; -in { +in +{ options = { services.quake3-server = { enable = mkEnableOption "Quake 3 dedicated server"; @@ -86,31 +98,35 @@ in { }; }; - config = let - baseq3InStore = builtins.typeOf cfg.baseq3 == "set"; - in mkIf cfg.enable { - networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ cfg.port ]; - - systemd.services.q3ds = { - description = "Quake 3 dedicated server"; - wantedBy = [ "multi-user.target" ]; - after = [ "networking.target" ]; - - environment.HOME = if baseq3InStore then home else cfg.baseq3; - - serviceConfig = with lib; { - Restart = "always"; - DynamicUser = true; - WorkingDirectory = home; - - # It is possible to alter configuration files via RCON. To ensure reproducibility we have to prevent this - ReadOnlyPaths = if baseq3InStore then home else cfg.baseq3; - ExecStartPre = optionalString (!baseq3InStore) "+${pkgs.coreutils}/bin/cp ${configFile} ${cfg.baseq3}/.q3a/baseq3/nix.cfg"; - - ExecStart = "${cfg.package}/bin/ioq3ded +exec nix.cfg"; + config = + let + baseq3InStore = builtins.typeOf cfg.baseq3 == "set"; + in + mkIf cfg.enable { + networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ cfg.port ]; + + systemd.services.q3ds = { + description = "Quake 3 dedicated server"; + wantedBy = [ "multi-user.target" ]; + after = [ "networking.target" ]; + + environment.HOME = if baseq3InStore then home else cfg.baseq3; + + serviceConfig = with lib; { + Restart = "always"; + DynamicUser = true; + WorkingDirectory = home; + + # It is possible to alter configuration files via RCON. To ensure reproducibility we have to prevent this + ReadOnlyPaths = if baseq3InStore then home else cfg.baseq3; + ExecStartPre = optionalString ( + !baseq3InStore + ) "+${pkgs.coreutils}/bin/cp ${configFile} ${cfg.baseq3}/.q3a/baseq3/nix.cfg"; + + ExecStart = "${cfg.package}/bin/ioq3ded +exec nix.cfg"; + }; }; }; - }; meta.maintainers = with lib.maintainers; [ f4814n ]; } diff --git a/nixos/modules/services/games/teeworlds.nix b/nixos/modules/services/games/teeworlds.nix index f126471495731..5f69e99ddfc45 100644 --- a/nixos/modules/services/games/teeworlds.nix +++ b/nixos/modules/services/games/teeworlds.nix @@ -1,11 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.teeworlds; register = cfg.register; bool = b: if b != null && b then "1" else "0"; optionalSetting = s: setting: lib.optionalString (s != null) "${setting} ${s}"; - lookup = attrs: key: default: if attrs ? key then attrs."${key}" else default; + lookup = + attrs: key: default: + if attrs ? key then attrs."${key}" else default; inactivePenaltyOptions = { "spectator" = "1"; @@ -19,7 +26,7 @@ let }; tournamentModeOptions = { "disable" = "0"; - "enable" = "1"; + "enable" = "1"; "restrictSpectators" = "2"; }; @@ -151,11 +158,14 @@ in extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Extra configuration lines for the {file}`teeworlds.cfg`. See [Teeworlds Documentation](https://www.teeworlds.com/?page=docs&wiki=server_settings). ''; - example = [ "sv_map dm1" "sv_gametype dm" ]; + example = [ + "sv_map dm1" + "sv_gametype dm" + ]; }; server = { @@ -184,7 +194,11 @@ in }; inactivePenalty = lib.mkOption { - type = lib.types.enum [ "spectator" "spectator/kick" "kick" ]; + type = lib.types.enum [ + "spectator" + "spectator/kick" + "kick" + ]; example = "spectator"; default = "spectator/kick"; description = '' @@ -231,7 +245,11 @@ in }; skillLevel = lib.mkOption { - type = lib.types.enum [ "casual" "normal" "competitive" ]; + type = lib.types.enum [ + "casual" + "normal" + "competitive" + ]; default = "normal"; description = '' The skill level shown in the server browser. @@ -336,7 +354,11 @@ in }; tournamentMode = lib.mkOption { - type = lib.types.enum [ "disable" "enable" "restrictSpectators" ]; + type = lib.types.enum [ + "disable" + "enable" + "restrictSpectators" + ]; default = "disable"; description = '' Whether to enable tournament mode. In tournament mode, players join as spectators. @@ -428,7 +450,10 @@ in ProtectKernelLogs = true; ProtectKernelModules = true; ProtectKernelTunables = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; SystemCallArchitectures = "native"; }; diff --git a/nixos/modules/services/games/terraria.nix b/nixos/modules/services/games/terraria.nix index 144186dc7701f..60aa06f01b2d7 100644 --- a/nixos/modules/services/games/terraria.nix +++ b/nixos/modules/services/games/terraria.nix @@ -1,9 +1,21 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let - cfg = config.services.terraria; - opt = options.services.terraria; - worldSizeMap = { small = 1; medium = 2; large = 3; }; - valFlag = name: val: lib.optionalString (val != null) "-${name} \"${lib.escape ["\\" "\""] (toString val)}\""; + cfg = config.services.terraria; + opt = options.services.terraria; + worldSizeMap = { + small = 1; + medium = 2; + large = 3; + }; + valFlag = + name: val: + lib.optionalString (val != null) "-${name} \"${lib.escape [ "\\" "\"" ] (toString val)}\""; boolFlag = name: val: lib.optionalString val "-${name}"; flags = [ (valFlag "port" cfg.port) @@ -44,8 +56,8 @@ in options = { services.terraria = { enable = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' If enabled, starts a Terraria server. The server can be connected to via `tmux -S ''${config.${opt.dataDir}}/terraria.sock attach` for administration by users who are a part of the `terraria` group (use `C-b d` shortcut to detach again). @@ -53,40 +65,40 @@ in }; port = lib.mkOption { - type = lib.types.port; - default = 7777; + type = lib.types.port; + default = 7777; description = '' Specifies the port to listen on. ''; }; maxPlayers = lib.mkOption { - type = lib.types.ints.u8; - default = 255; + type = lib.types.ints.u8; + default = 255; description = '' Sets the max number of players (between 1 and 255). ''; }; password = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; + type = lib.types.nullOr lib.types.str; + default = null; description = '' Sets the server password. Leave `null` for no password. ''; }; messageOfTheDay = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; + type = lib.types.nullOr lib.types.str; + default = null; description = '' Set the server message of the day text. ''; }; worldPath = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.nullOr lib.types.path; + default = null; description = '' The path to the world file (`.wld`) which should be loaded. If no world exists at this path, one will be created with the size @@ -95,8 +107,12 @@ in }; autoCreatedWorldSize = lib.mkOption { - type = lib.types.enum [ "small" "medium" "large" ]; - default = "medium"; + type = lib.types.enum [ + "small" + "medium" + "large" + ]; + default = "medium"; description = '' Specifies the size of the auto-created world if `worldPath` does not point to an existing world. @@ -104,22 +120,22 @@ in }; banListPath = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + type = lib.types.nullOr lib.types.path; + default = null; description = '' The path to the ban list. ''; }; secure = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = "Adds additional cheat protection to the server."; }; noUPnP = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = "Disables automatic Universal Plug and Play."; }; @@ -130,9 +146,9 @@ in }; dataDir = lib.mkOption { - type = lib.types.str; - default = "/var/lib/terraria"; - example = "/srv/terraria"; + type = lib.types.str; + default = "/var/lib/terraria"; + example = "/srv/terraria"; description = "Path to variable state data directory for terraria."; }; }; @@ -141,10 +157,10 @@ in config = lib.mkIf cfg.enable { users.users.terraria = { description = "Terraria server service user"; - group = "terraria"; - home = cfg.dataDir; - createHome = true; - uid = config.ids.uids.terraria; + group = "terraria"; + home = cfg.dataDir; + createHome = true; + uid = config.ids.uids.terraria; }; users.groups.terraria = { @@ -152,16 +168,16 @@ in }; systemd.services.terraria = { - description = "Terraria Server Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + description = "Terraria Server Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; serviceConfig = { - User = "terraria"; + User = "terraria"; Group = "terraria"; Type = "forking"; GuessMainPID = true; - UMask = 007; + UMask = 7; ExecStart = "${tmuxCmd} new -d ${pkgs.terraria-server}/bin/TerrariaServer ${lib.concatStringsSep " " flags}"; ExecStop = "${stopScript} $MAINPID"; }; diff --git a/nixos/modules/services/games/xonotic.nix b/nixos/modules/services/games/xonotic.nix index 2b79e11838062..736440b5123e5 100644 --- a/nixos/modules/services/games/xonotic.nix +++ b/nixos/modules/services/games/xonotic.nix @@ -1,7 +1,8 @@ -{ config -, pkgs -, lib -, ... +{ + config, + pkgs, + lib, + ... }: let @@ -9,28 +10,28 @@ let serverCfg = pkgs.writeText "xonotic-server.cfg" ( toString cfg.prependConfig - + "\n" - + builtins.concatStringsSep "\n" ( - lib.mapAttrsToList (key: option: - let - escape = s: lib.escape [ "\"" ] s; - quote = s: "\"${s}\""; - - toValue = x: quote (escape (toString x)); - - value = (if lib.isList option then - builtins.concatStringsSep - " " - (builtins.map (x: toValue x) option) + + "\n" + + builtins.concatStringsSep "\n" ( + lib.mapAttrsToList ( + key: option: + let + escape = s: lib.escape [ "\"" ] s; + quote = s: "\"${s}\""; + + toValue = x: quote (escape (toString x)); + + value = ( + if lib.isList option then + builtins.concatStringsSep " " (builtins.map (x: toValue x) option) else toValue option - ); - in - "${key} ${value}" - ) cfg.settings - ) - + "\n" - + toString cfg.appendConfig + ); + in + "${key} ${value}" + ) cfg.settings + ) + + "\n" + + toString cfg.appendConfig ); in @@ -38,7 +39,7 @@ in options.services.xonotic = { enable = lib.mkEnableOption "Xonotic dedicated server"; - package = lib.mkPackageOption pkgs "xonotic-dedicated" {}; + package = lib.mkPackageOption pkgs "xonotic-dedicated" { }; openFirewall = lib.mkOption { type = lib.types.bool; @@ -64,17 +65,29 @@ in [0]: https://gitlab.com/xonotic/xonotic/-/blob/master/server/server.cfg ''; - default = {}; + default = { }; type = lib.types.submodule { - freeformType = with lib.types; let - scalars = oneOf [ singleLineStr int float ]; - in - attrsOf (oneOf [ scalars (nonEmptyListOf scalars) ]); + freeformType = + with lib.types; + let + scalars = oneOf [ + singleLineStr + int + float + ]; + in + attrsOf (oneOf [ + scalars + (nonEmptyListOf scalars) + ]); options.sv_public = lib.mkOption { type = lib.types.int; default = 0; - example = [ (-1) 1 ]; + example = [ + (-1) + 1 + ]; description = '' Controls whether the server will be publicly listed. ''; diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix index 357f692801b4f..0f0b1c1410620 100644 --- a/nixos/modules/services/hardware/acpid.nix +++ b/nixos/modules/services/hardware/acpid.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.acpid; @@ -19,21 +24,21 @@ let }; }; - acpiConfDir = pkgs.runCommand "acpi-events" { preferLocalBuild = true; } - '' - mkdir -p $out - ${ - # Generate a configuration file for each event. (You can't have - # multiple events in one config file...) - let f = name: handler: - '' - fn=$out/${name} - echo "event=${handler.event}" > $fn - echo "action=${pkgs.writeShellScriptBin "${name}.sh" handler.action }/bin/${name}.sh '%e'" >> $fn - ''; - in lib.concatStringsSep "\n" (lib.mapAttrsToList f (canonicalHandlers // cfg.handlers)) - } - ''; + acpiConfDir = pkgs.runCommand "acpi-events" { preferLocalBuild = true; } '' + mkdir -p $out + ${ + # Generate a configuration file for each event. (You can't have + # multiple events in one config file...) + let + f = name: handler: '' + fn=$out/${name} + echo "event=${handler.event}" > $fn + echo "action=${pkgs.writeShellScriptBin "${name}.sh" handler.action}/bin/${name}.sh '%e'" >> $fn + ''; + in + lib.concatStringsSep "\n" (lib.mapAttrsToList f (canonicalHandlers // cfg.handlers)) + } + ''; in @@ -54,20 +59,22 @@ in }; handlers = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule { - options = { - event = lib.mkOption { - type = lib.types.str; - example = lib.literalExpression ''"button/power.*" "button/lid.*" "ac_adapter.*" "button/mute.*" "button/volumedown.*" "cd/play.*" "cd/next.*"''; - description = "Event type."; - }; - - action = lib.mkOption { - type = lib.types.lines; - description = "Shell commands to execute when the event is triggered."; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + event = lib.mkOption { + type = lib.types.str; + example = lib.literalExpression ''"button/power.*" "button/lid.*" "ac_adapter.*" "button/mute.*" "button/volumedown.*" "cd/play.*" "cd/next.*"''; + description = "Event type."; + }; + + action = lib.mkOption { + type = lib.types.lines; + description = "Shell commands to execute when the event is triggered."; + }; }; - }; - }); + } + ); description = '' Event handlers. @@ -76,7 +83,7 @@ in Handler can be a single command. ::: ''; - default = {}; + default = { }; example = { ac-power = { event = "ac_adapter/*"; @@ -120,7 +127,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { @@ -132,13 +138,16 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = lib.escapeShellArgs - ([ "${pkgs.acpid}/bin/acpid" - "--foreground" - "--netlink" - "--confdir" "${acpiConfDir}" - ] ++ lib.optional cfg.logEvents "--logevents" - ); + ExecStart = lib.escapeShellArgs ( + [ + "${pkgs.acpid}/bin/acpid" + "--foreground" + "--netlink" + "--confdir" + "${acpiConfDir}" + ] + ++ lib.optional cfg.logEvents "--logevents" + ); }; unitConfig = { ConditionVirtualization = "!systemd-nspawn"; diff --git a/nixos/modules/services/hardware/actkbd.nix b/nixos/modules/services/hardware/actkbd.nix index 1bd8c4090d3c5..73bc586451e67 100644 --- a/nixos/modules/services/hardware/actkbd.nix +++ b/nixos/modules/services/hardware/actkbd.nix @@ -1,45 +1,65 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.actkbd; configFile = pkgs.writeText "actkbd.conf" '' - ${lib.concatMapStringsSep "\n" - ({ keys, events, attributes, command, ... }: - ''${lib.concatMapStringsSep "+" toString keys}:${lib.concatStringsSep "," events}:${lib.concatStringsSep "," attributes}:${command}'' - ) - cfg.bindings} + ${lib.concatMapStringsSep "\n" ( + { + keys, + events, + attributes, + command, + ... + }: + ''${ + lib.concatMapStringsSep "+" toString keys + }:${lib.concatStringsSep "," events}:${lib.concatStringsSep "," attributes}:${command}'' + ) cfg.bindings} ${cfg.extraConfig} ''; - bindingCfg = { ... }: { - options = { - - keys = lib.mkOption { - type = lib.types.listOf lib.types.int; - description = "List of keycodes to match."; - }; - - events = lib.mkOption { - type = lib.types.listOf (lib.types.enum ["key" "rep" "rel"]); - default = [ "key" ]; - description = "List of events to match."; - }; - - attributes = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ "exec" ]; - description = "List of attributes."; - }; + bindingCfg = + { ... }: + { + options = { + + keys = lib.mkOption { + type = lib.types.listOf lib.types.int; + description = "List of keycodes to match."; + }; + + events = lib.mkOption { + type = lib.types.listOf ( + lib.types.enum [ + "key" + "rep" + "rel" + ] + ); + default = [ "key" ]; + description = "List of events to match."; + }; + + attributes = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ "exec" ]; + description = "List of attributes."; + }; + + command = lib.mkOption { + type = lib.types.str; + default = ""; + description = "What to run."; + }; - command = lib.mkOption { - type = lib.types.str; - default = ""; - description = "What to run."; }; - }; - }; in @@ -70,7 +90,7 @@ in bindings = lib.mkOption { type = lib.types.listOf (lib.types.submodule bindingCfg); - default = []; + default = [ ]; example = lib.literalExpression '' [ { keys = [ 113 ]; events = [ "key" ]; command = "''${pkgs.alsa-utils}/bin/amixer -q set Master toggle"; } ] @@ -96,18 +116,19 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { - services.udev.packages = lib.singleton (pkgs.writeTextFile { - name = "actkbd-udev-rules"; - destination = "/etc/udev/rules.d/61-actkbd.rules"; - text = '' - ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ENV{ID_INPUT_KEY}=="1", TAG+="systemd", ENV{SYSTEMD_WANTS}+="actkbd@$env{DEVNAME}.service" - ''; - }); + services.udev.packages = lib.singleton ( + pkgs.writeTextFile { + name = "actkbd-udev-rules"; + destination = "/etc/udev/rules.d/61-actkbd.rules"; + text = '' + ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ENV{ID_INPUT_KEY}=="1", TAG+="systemd", ENV{SYSTEMD_WANTS}+="actkbd@$env{DEVNAME}.service" + ''; + } + ); systemd.services."actkbd@" = { enable = true; diff --git a/nixos/modules/services/hardware/amdvlk.nix b/nixos/modules/services/hardware/amdvlk.nix index e2fd91811d01f..295f7ed64ea2f 100644 --- a/nixos/modules/services/hardware/amdvlk.nix +++ b/nixos/modules/services/hardware/amdvlk.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.amdgpu.amdvlk; -in { +in +{ options.hardware.amdgpu.amdvlk = { enable = lib.mkEnableOption "AMDVLK Vulkan driver"; @@ -42,12 +48,11 @@ in { }; environment.etc = lib.mkIf (cfg.settings != { }) { - "amd/amdVulkanSettings.cfg".text = lib.concatStrings - (lib.mapAttrsToList - (n: v: '' - ${n},${builtins.toString v} - '') - cfg.settings); + "amd/amdVulkanSettings.cfg".text = lib.concatStrings ( + lib.mapAttrsToList (n: v: '' + ${n},${builtins.toString v} + '') cfg.settings + ); }; }; diff --git a/nixos/modules/services/hardware/argonone.nix b/nixos/modules/services/hardware/argonone.nix index b767388128c85..bdbe27a199c87 100644 --- a/nixos/modules/services/hardware/argonone.nix +++ b/nixos/modules/services/hardware/argonone.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hardware.argonone; diff --git a/nixos/modules/services/hardware/asusd.nix b/nixos/modules/services/hardware/asusd.nix index 9a3f47dae3e48..316164562b80d 100644 --- a/nixos/modules/services/hardware/asusd.nix +++ b/nixos/modules/services/hardware/asusd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.asusd; @@ -55,9 +60,9 @@ in }; fanCurvesConfig = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - description = '' + type = lib.types.nullOr lib.types.str; + default = null; + description = '' The content of /etc/asusd/fan_curves.ron. See https://asus-linux.org/asusctl/#fan-curves. ''; @@ -79,10 +84,12 @@ in environment.etc = let - maybeConfig = name: cfg: lib.mkIf (cfg != null) { - source = pkgs.writeText name cfg; - mode = "0644"; - }; + maybeConfig = + name: cfg: + lib.mkIf (cfg != null) { + source = pkgs.writeText name cfg; + mode = "0644"; + }; in { "asusd/anime.ron" = maybeConfig "anime.ron" cfg.animeConfig; diff --git a/nixos/modules/services/hardware/auto-cpufreq.nix b/nixos/modules/services/hardware/auto-cpufreq.nix index ed24c656c5438..e79d1542f252c 100644 --- a/nixos/modules/services/hardware/auto-cpufreq.nix +++ b/nixos/modules/services/hardware/auto-cpufreq.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.auto-cpufreq; cfgFilename = "auto-cpufreq.conf"; cfgFile = format.generate cfgFilename cfg.settings; - format = pkgs.formats.ini {}; -in { + format = pkgs.formats.ini { }; +in +{ options = { services.auto-cpufreq = { enable = lib.mkEnableOption "auto-cpufreq daemon"; @@ -15,9 +21,9 @@ in { Configuration for `auto-cpufreq`. The available options can be found in [the example configuration file](https://github.com/AdnanHodzic/auto-cpufreq/blob/v${pkgs.auto-cpufreq.version}/auto-cpufreq.conf-example). - ''; + ''; - default = {}; + default = { }; type = lib.types.submodule { freeformType = format.type; }; }; }; @@ -31,7 +37,10 @@ in { services.auto-cpufreq = { # Workaround for https://github.com/NixOS/nixpkgs/issues/81138 wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ bash coreutils ]; + path = with pkgs; [ + bash + coreutils + ]; serviceConfig.WorkingDirectory = ""; serviceConfig.ExecStart = [ diff --git a/nixos/modules/services/hardware/auto-epp.nix b/nixos/modules/services/hardware/auto-epp.nix index 1d939a98142e0..88f49106a258c 100644 --- a/nixos/modules/services/hardware/auto-epp.nix +++ b/nixos/modules/services/hardware/auto-epp.nix @@ -1,16 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.auto-epp; - format = pkgs.formats.ini {}; + format = pkgs.formats.ini { }; inherit (lib) mkOption types; -in { +in +{ options = { services.auto-epp = { enable = lib.mkEnableOption "auto-epp for amd active pstate"; - package = lib.mkPackageOption pkgs "auto-epp" {}; + package = lib.mkPackageOption pkgs "auto-epp" { }; settings = mkOption { type = types.submodule { @@ -45,7 +51,7 @@ in { }; }; }; - default = {}; + default = { }; description = '' Settings for the auto-epp application. See upstream example: @@ -65,7 +71,7 @@ in { systemd.services.auto-epp = { after = [ "multi-user.target" ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; description = "auto-epp - Automatic EPP Changer for amd-pstate-epp"; serviceConfig = { Type = "simple"; diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix index 741abfba30b6f..e90a612700cc1 100644 --- a/nixos/modules/services/hardware/bluetooth.nix +++ b/nixos/modules/services/hardware/bluetooth.nix @@ -1,13 +1,30 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.bluetooth; package = cfg.package; inherit (lib) - mkDefault mkEnableOption mkIf mkOption mkPackageOption - mkRenamedOptionModule mkRemovedOptionModule - concatStringsSep escapeShellArgs literalExpression - optional optionals optionalAttrs recursiveUpdate types; + mkDefault + mkEnableOption + mkIf + mkOption + mkPackageOption + mkRenamedOptionModule + mkRemovedOptionModule + concatStringsSep + escapeShellArgs + literalExpression + optional + optionals + optionalAttrs + recursiveUpdate + types + ; cfgFmt = pkgs.formats.ini { }; @@ -102,63 +119,63 @@ in ###### implementation config = mkIf cfg.enable { - environment.systemPackages = [ package ] - ++ optional cfg.hsphfpd.enable pkgs.hsphfpd; - - environment.etc."bluetooth/input.conf".source = - cfgFmt.generate "input.conf" cfg.input; - environment.etc."bluetooth/network.conf".source = - cfgFmt.generate "network.conf" cfg.network; - environment.etc."bluetooth/main.conf".source = - cfgFmt.generate "main.conf" (recursiveUpdate defaults cfg.settings); + environment.systemPackages = [ package ] ++ optional cfg.hsphfpd.enable pkgs.hsphfpd; + + environment.etc."bluetooth/input.conf".source = cfgFmt.generate "input.conf" cfg.input; + environment.etc."bluetooth/network.conf".source = cfgFmt.generate "network.conf" cfg.network; + environment.etc."bluetooth/main.conf".source = cfgFmt.generate "main.conf" ( + recursiveUpdate defaults cfg.settings + ); services.udev.packages = [ package ]; - services.dbus.packages = [ package ] - ++ optional cfg.hsphfpd.enable pkgs.hsphfpd; + services.dbus.packages = [ package ] ++ optional cfg.hsphfpd.enable pkgs.hsphfpd; systemd.packages = [ package ]; - systemd.services = { - bluetooth = - let - # `man bluetoothd` will refer to main.conf in the nix store but bluez - # will in fact load the configuration file at /etc/bluetooth/main.conf - # so force it here to avoid any ambiguity and things suddenly breaking - # if/when the bluez derivation is changed. - args = [ "-f" "/etc/bluetooth/main.conf" ] - ++ optional hasDisabledPlugins - "--noplugin=${concatStringsSep "," cfg.disabledPlugins}"; - in - { + systemd.services = + { + bluetooth = + let + # `man bluetoothd` will refer to main.conf in the nix store but bluez + # will in fact load the configuration file at /etc/bluetooth/main.conf + # so force it here to avoid any ambiguity and things suddenly breaking + # if/when the bluez derivation is changed. + args = [ + "-f" + "/etc/bluetooth/main.conf" + ] ++ optional hasDisabledPlugins "--noplugin=${concatStringsSep "," cfg.disabledPlugins}"; + in + { + wantedBy = [ "bluetooth.target" ]; + aliases = [ "dbus-org.bluez.service" ]; + serviceConfig.ExecStart = [ + "" + "${package}/libexec/bluetooth/bluetoothd ${escapeShellArgs args}" + ]; + # restarting can leave people without a mouse/keyboard + unitConfig.X-RestartIfChanged = false; + }; + } + // (optionalAttrs cfg.hsphfpd.enable { + hsphfpd = { + after = [ "bluetooth.service" ]; + requires = [ "bluetooth.service" ]; wantedBy = [ "bluetooth.target" ]; - aliases = [ "dbus-org.bluez.service" ]; - serviceConfig.ExecStart = [ - "" - "${package}/libexec/bluetooth/bluetoothd ${escapeShellArgs args}" - ]; - # restarting can leave people without a mouse/keyboard - unitConfig.X-RestartIfChanged = false; - }; - } - // (optionalAttrs cfg.hsphfpd.enable { - hsphfpd = { - after = [ "bluetooth.service" ]; - requires = [ "bluetooth.service" ]; - wantedBy = [ "bluetooth.target" ]; - - description = "A prototype implementation used for connecting HSP/HFP Bluetooth devices"; - serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/hsphfpd.pl"; - }; - }); - systemd.user.services = { - obex.aliases = [ "dbus-org.bluez.obex.service" ]; - } - // optionalAttrs cfg.hsphfpd.enable { - telephony_client = { - wantedBy = [ "default.target" ]; - - description = "telephony_client for hsphfpd"; - serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/telephony_client.pl"; + description = "A prototype implementation used for connecting HSP/HFP Bluetooth devices"; + serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/hsphfpd.pl"; + }; + }); + + systemd.user.services = + { + obex.aliases = [ "dbus-org.bluez.obex.service" ]; + } + // optionalAttrs cfg.hsphfpd.enable { + telephony_client = { + wantedBy = [ "default.target" ]; + + description = "telephony_client for hsphfpd"; + serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/telephony_client.pl"; + }; }; - }; }; } diff --git a/nixos/modules/services/hardware/bolt.nix b/nixos/modules/services/hardware/bolt.nix index f005d24e08835..3c024b0245658 100644 --- a/nixos/modules/services/hardware/bolt.nix +++ b/nixos/modules/services/hardware/bolt.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hardware.bolt; in diff --git a/nixos/modules/services/hardware/brltty.nix b/nixos/modules/services/hardware/brltty.nix index c4ded927345d1..95245d584d180 100644 --- a/nixos/modules/services/hardware/brltty.nix +++ b/nixos/modules/services/hardware/brltty.nix @@ -1,10 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.brltty; targets = [ - "default.target" "multi-user.target" - "rescue.target" "emergency.target" + "default.target" + "multi-user.target" + "rescue.target" + "emergency.target" ]; genApiKey = pkgs.writers.writeDash "generate-brlapi-key" '' @@ -15,7 +22,8 @@ let fi ''; -in { +in +{ options = { @@ -38,8 +46,9 @@ in { brlapi = { }; }; - systemd.services."brltty@".serviceConfig = - { ExecStartPre = "!${genApiKey}"; }; + systemd.services."brltty@".serviceConfig = { + ExecStartPre = "!${genApiKey}"; + }; # Install all upstream-provided files systemd.packages = [ pkgs.brltty ]; diff --git a/nixos/modules/services/hardware/ddccontrol.nix b/nixos/modules/services/hardware/ddccontrol.nix index f0b5a9c819600..b9ad851333a4e 100644 --- a/nixos/modules/services/hardware/ddccontrol.nix +++ b/nixos/modules/services/hardware/ddccontrol.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let diff --git a/nixos/modules/services/hardware/display.nix b/nixos/modules/services/hardware/display.nix index 3b3118f132e92..9aeb9d8fab095 100644 --- a/nixos/modules/services/hardware/display.nix +++ b/nixos/modules/services/hardware/display.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.display; in @@ -38,16 +43,20 @@ in ''') ] ''; - apply = list: - if list == [ ] then null else - (pkgs.buildEnv { - name = "firmware-edid"; - paths = list; - pathsToLink = [ "/lib/firmware/edid" ]; - ignoreCollisions = true; - }) // { - compressFirmware = false; - }; + apply = + list: + if list == [ ] then + null + else + (pkgs.buildEnv { + name = "firmware-edid"; + paths = list; + pathsToLink = [ "/lib/firmware/edid" ]; + ignoreCollisions = true; + }) + // { + compressFirmware = false; + }; }; hardware.display.edid.linuxhw = lib.mkOption { @@ -79,9 +88,9 @@ in PG278Q_2014 = [ "PG278Q" "2014" ]; } ''; - apply = displays: - if displays == { } then null else - pkgs.linuxhw-edid-fetcher.override { inherit displays; }; + apply = + displays: + if displays == { } then null else pkgs.linuxhw-edid-fetcher.override { inherit displays; }; }; hardware.display.edid.modelines = lib.mkOption { @@ -100,53 +109,60 @@ in "U2711_60" = " 241.50 2560 2600 2632 2720 1440 1443 1448 1481 -hsync +vsync"; } ''; - apply = modelines: - if modelines == { } then null else - pkgs.edid-generator.overrideAttrs { - clean = true; - passthru.config = modelines; - modelines = lib.trivial.pipe modelines [ - (lib.mapAttrsToList (name: value: - lib.throwIfNot (builtins.stringLength name <= 12) "Modeline name must be 12 characters or less" - ''Modeline "${name}" ${value}'' - )) - (builtins.map (line: "${line}\n")) - (lib.strings.concatStringsSep "") - ]; - }; + apply = + modelines: + if modelines == { } then + null + else + pkgs.edid-generator.overrideAttrs { + clean = true; + passthru.config = modelines; + modelines = lib.trivial.pipe modelines [ + (lib.mapAttrsToList ( + name: value: + lib.throwIfNot ( + builtins.stringLength name <= 12 + ) "Modeline name must be 12 characters or less" ''Modeline "${name}" ${value}'' + )) + (builtins.map (line: "${line}\n")) + (lib.strings.concatStringsSep "") + ]; + }; }; hardware.display.outputs = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule ({ - options = { - edid = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - An EDID filename to be used for configured display, as in `edid/`. - See for more information: - - `hardware.display.edid.packages` - - https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID - ''; - }; - mode = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - A `video` kernel parameter (framebuffer mode) configuration for the specific output: + type = lib.types.attrsOf ( + lib.types.submodule ({ + options = { + edid = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + An EDID filename to be used for configured display, as in `edid/`. + See for more information: + - `hardware.display.edid.packages` + - https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID + ''; + }; + mode = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + A `video` kernel parameter (framebuffer mode) configuration for the specific output: - x[M][R][-][@][i][m][eDd] + x[M][R][-][@][i][m][eDd] - See for more information: - - https://docs.kernel.org/fb/modedb.html - - https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes - ''; - example = lib.literalExpression '' - "e" - ''; + See for more information: + - https://docs.kernel.org/fb/modedb.html + - https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes + ''; + example = lib.literalExpression '' + "e" + ''; + }; }; - }; - })); + }) + ); description = '' Hardware/kernel-level configuration of specific outputs. ''; @@ -174,15 +190,13 @@ in (lib.attrsets.filterAttrs (_: spec: spec.mode != null)) (lib.mapAttrsToList (output: spec: "video=${output}:${spec.mode}")) ] - ++ # selecting EDID for displays - lib.trivial.pipe cfg.outputs [ + ++ lib.trivial.pipe cfg.outputs [ (lib.attrsets.filterAttrs (_: spec: spec.edid != null)) (lib.mapAttrsToList (output: spec: "${output}:edid/${spec.edid}")) (builtins.concatStringsSep ",") (p: lib.optional (p != "") "drm.edid_firmware=${p}") - ] - ; + ]; } (lib.mkIf (cfg.edid.packages != null) { # services.udev implements hardware.firmware option diff --git a/nixos/modules/services/hardware/fancontrol.nix b/nixos/modules/services/hardware/fancontrol.nix index 06c217b4d3c9b..dd3cd54cc31c1 100644 --- a/nixos/modules/services/hardware/fancontrol.nix +++ b/nixos/modules/services/hardware/fancontrol.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.fancontrol; configFile = pkgs.writeText "fancontrol.conf" cfg.config; diff --git a/nixos/modules/services/hardware/freefall.nix b/nixos/modules/services/hardware/freefall.nix index fe017bb17f7e4..53756531412b6 100644 --- a/nixos/modules/services/hardware/freefall.nix +++ b/nixos/modules/services/hardware/freefall.nix @@ -1,9 +1,16 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.freefall; -in { +in +{ options.services.freefall = { @@ -27,28 +34,33 @@ in { }; - config = let - - mkService = dev: - assert dev != ""; - let dev' = utils.escapeSystemdPath dev; in - lib.nameValuePair "freefall-${dev'}" { - description = "Free-fall protection for ${dev}"; - after = [ "${dev'}.device" ]; - wantedBy = [ "${dev'}.device" ]; - serviceConfig = { - ExecStart = "${cfg.package}/bin/freefall ${dev}"; - Restart = "on-failure"; - Type = "forking"; + config = + let + + mkService = + dev: + assert dev != ""; + let + dev' = utils.escapeSystemdPath dev; + in + lib.nameValuePair "freefall-${dev'}" { + description = "Free-fall protection for ${dev}"; + after = [ "${dev'}.device" ]; + wantedBy = [ "${dev'}.device" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/freefall ${dev}"; + Restart = "on-failure"; + Type = "forking"; + }; }; - }; - in lib.mkIf cfg.enable { + in + lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ cfg.package ]; - systemd.services = builtins.listToAttrs (map mkService cfg.devices); + systemd.services = builtins.listToAttrs (map mkService cfg.devices); - }; + }; } diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix index 09a55ad280527..1c059bf39e641 100644 --- a/nixos/modules/services/hardware/fwupd.nix +++ b/nixos/modules/services/hardware/fwupd.nix @@ -1,20 +1,28 @@ # fwupd daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.fwupd; format = pkgs.formats.ini { - listToValue = l: lib.concatStringsSep ";" (map (s: lib.generators.mkValueStringDefault {} s) l); - mkKeyValue = lib.generators.mkKeyValueDefault {} "="; + listToValue = l: lib.concatStringsSep ";" (map (s: lib.generators.mkValueStringDefault { } s) l); + mkKeyValue = lib.generators.mkKeyValueDefault { } "="; }; customEtc = { "fwupd/fwupd.conf" = { - source = format.generate "fwupd.conf" ({ - fwupd = cfg.daemonSettings; - } // lib.optionalAttrs (lib.length (lib.attrNames cfg.uefiCapsuleSettings) != 0) { - uefi_capsule = cfg.uefiCapsuleSettings; - }); + source = format.generate "fwupd.conf" ( + { + fwupd = cfg.daemonSettings; + } + // lib.optionalAttrs (lib.length (lib.attrNames cfg.uefiCapsuleSettings) != 0) { + uefi_capsule = cfg.uefiCapsuleSettings; + } + ); # fwupd tries to chmod the file if it doesn't have the right permissions mode = "0640"; }; @@ -23,36 +31,39 @@ let originalEtc = let mkEtcFile = n: lib.nameValuePair n { source = "${cfg.package}/etc/${n}"; }; - in lib.listToAttrs (map mkEtcFile cfg.package.filesInstalledToEtc); + in + lib.listToAttrs (map mkEtcFile cfg.package.filesInstalledToEtc); extraTrustedKeys = let mkName = p: "pki/fwupd/${baseNameOf (toString p)}"; mkEtcFile = p: lib.nameValuePair (mkName p) { source = p; }; - in lib.listToAttrs (map mkEtcFile cfg.extraTrustedKeys); + in + lib.listToAttrs (map mkEtcFile cfg.extraTrustedKeys); enableRemote = base: remote: { "fwupd/remotes.d/${remote}.conf" = { - source = pkgs.runCommand "${remote}-enabled.conf" {} '' + source = pkgs.runCommand "${remote}-enabled.conf" { } '' sed "s,^Enabled=false,Enabled=true," \ "${base}/etc/fwupd/remotes.d/${remote}.conf" > "$out" ''; }; }; - remotes = (lib.foldl' - (configFiles: remote: configFiles // (enableRemote cfg.package remote)) - {} - cfg.extraRemotes - ) // ( - # We cannot include the file in $out and rely on filesInstalledToEtc - # to install it because it would create a cyclic dependency between - # the outputs. We also need to enable the remote, - # which should not be done by default. - lib.optionalAttrs - (cfg.daemonSettings.TestDevices or false) - (enableRemote cfg.package.installedTests "fwupd-tests") - ); - -in { + remotes = + (lib.foldl' ( + configFiles: remote: configFiles // (enableRemote cfg.package remote) + ) { } cfg.extraRemotes) + // ( + # We cannot include the file in $out and rely on filesInstalledToEtc + # to install it because it would create a cyclic dependency between + # the outputs. We also need to enable the remote, + # which should not be done by default. + lib.optionalAttrs (cfg.daemonSettings.TestDevices or false) ( + enableRemote cfg.package.installedTests "fwupd-tests" + ) + ); + +in +{ ###### interface options = { @@ -68,7 +79,7 @@ in { extraTrustedKeys = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; example = lib.literalExpression "[ /etc/nixos/fwupd/myfirmware.pem ]"; description = '' Installing a public key allows firmware signed with a matching private key to be recognized as trusted, which may require less authentication to install than for untrusted files. By default trusted firmware can be upgraded (but not downgraded) without the user or administrator password. Only very few keys are installed by default. @@ -77,7 +88,7 @@ in { extraRemotes = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; example = [ "lvfs-testing" ]; description = '' Enables extra remotes in fwupd. See `/etc/fwupd/remotes.d`. @@ -92,7 +103,7 @@ in { options = { DisabledDevices = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ]; description = '' List of device GUIDs to be disabled. @@ -101,7 +112,7 @@ in { DisabledPlugins = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "udev" ]; description = '' List of plugins to be disabled. @@ -129,7 +140,7 @@ in { }; }; }; - default = {}; + default = { }; description = '' Configurations for the fwupd daemon. ''; @@ -139,7 +150,7 @@ in { type = lib.types.submodule { freeformType = format.type.nestedTypes.elemType; }; - default = {}; + default = { }; description = '' UEFI capsule configurations for the fwupd daemon. ''; @@ -148,11 +159,25 @@ in { }; imports = [ - (lib.mkRenamedOptionModule [ "services" "fwupd" "blacklistDevices"] [ "services" "fwupd" "daemonSettings" "DisabledDevices" ]) - (lib.mkRenamedOptionModule [ "services" "fwupd" "blacklistPlugins"] [ "services" "fwupd" "daemonSettings" "DisabledPlugins" ]) - (lib.mkRenamedOptionModule [ "services" "fwupd" "disabledDevices" ] [ "services" "fwupd" "daemonSettings" "DisabledDevices" ]) - (lib.mkRenamedOptionModule [ "services" "fwupd" "disabledPlugins" ] [ "services" "fwupd" "daemonSettings" "DisabledPlugins" ]) - (lib.mkRemovedOptionModule [ "services" "fwupd" "enableTestRemote" ] "This option was removed after being removed upstream. It only provided a method for testing fwupd functionality, and should not have been exposed for use outside of nix tests.") + (lib.mkRenamedOptionModule + [ "services" "fwupd" "blacklistDevices" ] + [ "services" "fwupd" "daemonSettings" "DisabledDevices" ] + ) + (lib.mkRenamedOptionModule + [ "services" "fwupd" "blacklistPlugins" ] + [ "services" "fwupd" "daemonSettings" "DisabledPlugins" ] + ) + (lib.mkRenamedOptionModule + [ "services" "fwupd" "disabledDevices" ] + [ "services" "fwupd" "daemonSettings" "DisabledDevices" ] + ) + (lib.mkRenamedOptionModule + [ "services" "fwupd" "disabledPlugins" ] + [ "services" "fwupd" "daemonSettings" "DisabledPlugins" ] + ) + (lib.mkRemovedOptionModule [ "services" "fwupd" "enableTestRemote" ] + "This option was removed after being removed upstream. It only provided a method for testing fwupd functionality, and should not have been exposed for use outside of nix tests." + ) ]; ###### implementation @@ -192,7 +217,7 @@ in { isSystemUser = true; group = "fwupd-refresh"; }; - users.groups.fwupd-refresh = {}; + users.groups.fwupd-refresh = { }; security.polkit.enable = true; }; diff --git a/nixos/modules/services/hardware/handheld-daemon.nix b/nixos/modules/services/hardware/handheld-daemon.nix index c1a628e1697d3..4ea5eb79593fd 100644 --- a/nixos/modules/services/hardware/handheld-daemon.nix +++ b/nixos/modules/services/hardware/handheld-daemon.nix @@ -1,9 +1,11 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: -with lib; let +with lib; +let cfg = config.services.handheld-daemon; in { @@ -45,7 +47,7 @@ in ]; serviceConfig = { - ExecStart = "${ lib.getExe cfg.package } --user ${ cfg.user }"; + ExecStart = "${lib.getExe cfg.package} --user ${cfg.user}"; Nice = "-12"; Restart = "on-failure"; RestartSec = "10"; diff --git a/nixos/modules/services/hardware/hddfancontrol.nix b/nixos/modules/services/hardware/hddfancontrol.nix index e8cab0e22befd..8705109dd0359 100644 --- a/nixos/modules/services/hardware/hddfancontrol.nix +++ b/nixos/modules/services/hardware/hddfancontrol.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hddfancontrol; @@ -12,20 +17,20 @@ in services.hddfancontrol.disks = lib.mkOption { type = with types; listOf path; - default = []; + default = [ ]; description = '' Drive(s) to get temperature from ''; - example = ["/dev/sda"]; + example = [ "/dev/sda" ]; }; services.hddfancontrol.pwmPaths = lib.mkOption { type = with types; listOf path; - default = []; + default = [ ]; description = '' PWM filepath(s) to control fan speed (under /sys) ''; - example = ["/sys/class/hwmon/hwmon2/pwm1"]; + example = [ "/sys/class/hwmon/hwmon2/pwm1" ]; }; services.hddfancontrol.smartctl = lib.mkOption { @@ -38,24 +43,31 @@ in services.hddfancontrol.extraArgs = lib.mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = '' Extra commandline arguments for hddfancontrol ''; - example = ["--pwm-start-value=32" - "--pwm-stop-value=0" - "--spin-down-time=900"]; + example = [ + "--pwm-start-value=32" + "--pwm-stop-value=0" + "--spin-down-time=900" + ]; }; }; config = lib.mkIf cfg.enable ( - let args = lib.concatLists [ - ["-d"] cfg.disks - ["-p"] cfg.pwmPaths - (lib.optional cfg.smartctl "--smartctl") - cfg.extraArgs - ]; in { - systemd.packages = [pkgs.hddfancontrol]; + let + args = lib.concatLists [ + [ "-d" ] + cfg.disks + [ "-p" ] + cfg.pwmPaths + (lib.optional cfg.smartctl "--smartctl") + cfg.extraArgs + ]; + in + { + systemd.packages = [ pkgs.hddfancontrol ]; systemd.services.hddfancontrol = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/hardware/illum.nix b/nixos/modules/services/hardware/illum.nix index 61ab24a5de7c7..c36143a9975ca 100644 --- a/nixos/modules/services/hardware/illum.nix +++ b/nixos/modules/services/hardware/illum.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.illum; -in { +in +{ options = { diff --git a/nixos/modules/services/hardware/interception-tools.nix b/nixos/modules/services/hardware/interception-tools.nix index d60e7ca595478..9bba517ecff8d 100644 --- a/nixos/modules/services/hardware/interception-tools.nix +++ b/nixos/modules/services/hardware/interception-tools.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.interception-tools; -in { +in +{ options.services.interception-tools = { enable = lib.mkOption { type = lib.types.bool; @@ -43,13 +49,19 @@ in { config = lib.mkIf cfg.enable { systemd.services.interception-tools = { description = "Interception tools"; - path = [ pkgs.bash pkgs.interception-tools ] ++ cfg.plugins; + path = [ + pkgs.bash + pkgs.interception-tools + ] ++ cfg.plugins; serviceConfig = { ExecStart = '' ${pkgs.interception-tools}/bin/udevmon -c \ - ${if builtins.typeOf cfg.udevmonConfig == "path" - then cfg.udevmonConfig - else pkgs.writeText "udevmon.yaml" cfg.udevmonConfig} + ${ + if builtins.typeOf cfg.udevmonConfig == "path" then + cfg.udevmonConfig + else + pkgs.writeText "udevmon.yaml" cfg.udevmonConfig + } ''; Nice = -20; }; diff --git a/nixos/modules/services/hardware/iptsd.nix b/nixos/modules/services/hardware/iptsd.nix index bfd4b35227923..cecf88ec33d8d 100644 --- a/nixos/modules/services/hardware/iptsd.nix +++ b/nixos/modules/services/hardware/iptsd.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.iptsd; format = pkgs.formats.ini { }; configFile = format.generate "iptsd.conf" cfg.config; -in { +in +{ options.services.iptsd = { enable = lib.mkEnableOption "the userspace daemon for Intel Precise Touch & Stylus"; diff --git a/nixos/modules/services/hardware/irqbalance.nix b/nixos/modules/services/hardware/irqbalance.nix index 42878725cca3a..56a5db930d068 100644 --- a/nixos/modules/services/hardware/irqbalance.nix +++ b/nixos/modules/services/hardware/irqbalance.nix @@ -1,5 +1,10 @@ # -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.irqbalance; @@ -12,7 +17,7 @@ in environment.systemPackages = [ pkgs.irqbalance ]; - systemd.services.irqbalance.wantedBy = ["multi-user.target"]; + systemd.services.irqbalance.wantedBy = [ "multi-user.target" ]; systemd.packages = [ pkgs.irqbalance ]; diff --git a/nixos/modules/services/hardware/joycond.nix b/nixos/modules/services/hardware/joycond.nix index b6d2b8328af71..d380036047415 100644 --- a/nixos/modules/services/hardware/joycond.nix +++ b/nixos/modules/services/hardware/joycond.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.joycond; in diff --git a/nixos/modules/services/hardware/kanata.nix b/nixos/modules/services/hardware/kanata.nix index 7557b1ae55f90..08829cdf0351e 100644 --- a/nixos/modules/services/hardware/kanata.nix +++ b/nixos/modules/services/hardware/kanata.nix @@ -1,84 +1,92 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.kanata; upstreamDoc = "See [the upstream documentation](https://github.com/jtroo/kanata/blob/main/docs/config.adoc) and [example config files](https://github.com/jtroo/kanata/tree/main/cfg_samples) for more information."; - keyboard = { name, config, ... }: { - options = { - devices = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ]; - description = '' - Paths to keyboard devices. - - An empty list, the default value, lets kanata detect which - input devices are keyboards and intercept them all. - ''; - }; - config = lib.mkOption { - type = lib.types.lines; - example = '' - (defsrc - caps) - - (deflayermap (default-layer) - ;; tap caps lock as caps lock, hold caps lock as left control - caps (tap-hold 100 100 caps lctl)) - ''; - description = '' - Configuration other than `defcfg`. - - ${upstreamDoc} - ''; - }; - extraDefCfg = lib.mkOption { - type = lib.types.lines; - default = ""; - example = "danger-enable-cmd yes"; - description = '' - Configuration of `defcfg` other than `linux-dev` (generated - from the devices option) and - `linux-continue-if-no-devs-found` (hardcoded to be yes). - - ${upstreamDoc} - ''; - }; - configFile = lib.mkOption { - type = lib.types.path; - default = mkConfig name config; - defaultText = - "A config file generated by values from other kanata module options."; - description = '' - The config file. - - By default, it is generated by values from other kanata - module options. - - You can also set it to your own full config file which - overrides all other kanata module options. ${upstreamDoc} - ''; - }; - extraArgs = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - description = "Extra command line arguments passed to kanata."; - }; - port = lib.mkOption { - type = lib.types.nullOr lib.types.port; - default = null; - example = 6666; - description = '' - Port to run the TCP server on. `null` will not run the server. - ''; + keyboard = + { name, config, ... }: + { + options = { + devices = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ]; + description = '' + Paths to keyboard devices. + + An empty list, the default value, lets kanata detect which + input devices are keyboards and intercept them all. + ''; + }; + config = lib.mkOption { + type = lib.types.lines; + example = '' + (defsrc + caps) + + (deflayermap (default-layer) + ;; tap caps lock as caps lock, hold caps lock as left control + caps (tap-hold 100 100 caps lctl)) + ''; + description = '' + Configuration other than `defcfg`. + + ${upstreamDoc} + ''; + }; + extraDefCfg = lib.mkOption { + type = lib.types.lines; + default = ""; + example = "danger-enable-cmd yes"; + description = '' + Configuration of `defcfg` other than `linux-dev` (generated + from the devices option) and + `linux-continue-if-no-devs-found` (hardcoded to be yes). + + ${upstreamDoc} + ''; + }; + configFile = lib.mkOption { + type = lib.types.path; + default = mkConfig name config; + defaultText = "A config file generated by values from other kanata module options."; + description = '' + The config file. + + By default, it is generated by values from other kanata + module options. + + You can also set it to your own full config file which + overrides all other kanata module options. ${upstreamDoc} + ''; + }; + extraArgs = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = "Extra command line arguments passed to kanata."; + }; + port = lib.mkOption { + type = lib.types.nullOr lib.types.port; + default = null; + example = 6666; + description = '' + Port to run the TCP server on. `null` will not run the server. + ''; + }; }; }; - }; mkName = name: "kanata-${name}"; - mkDevices = devices: + mkDevices = + devices: let devicesString = lib.pipe devices [ (map (device: "\"" + device + "\"")) @@ -87,78 +95,82 @@ let in lib.optionalString ((lib.length devices) > 0) "linux-dev (${devicesString})"; - mkConfig = name: keyboard: pkgs.writeTextFile { - name = "${mkName name}-config.kdb"; - text = '' - (defcfg - ${keyboard.extraDefCfg} - ${mkDevices keyboard.devices} - linux-continue-if-no-devs-found yes) - - ${keyboard.config} - ''; - # Only the config file generated by this module is checked. A - # user-provided one is not checked because it may not be available - # at build time. I think this is a good balance between module - # complexity and functionality. - checkPhase = '' - ${lib.getExe cfg.package} --cfg "$target" --check --debug - ''; - }; - - mkService = name: keyboard: lib.nameValuePair (mkName name) { - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "notify"; - ExecStart = '' - ${lib.getExe cfg.package} \ - --cfg ${keyboard.configFile} \ - --symlink-path ''${RUNTIME_DIRECTORY}/${name} \ - ${lib.optionalString (keyboard.port != null) "--port ${toString keyboard.port}"} \ - ${utils.escapeSystemdExecArgs keyboard.extraArgs} + mkConfig = + name: keyboard: + pkgs.writeTextFile { + name = "${mkName name}-config.kdb"; + text = '' + (defcfg + ${keyboard.extraDefCfg} + ${mkDevices keyboard.devices} + linux-continue-if-no-devs-found yes) + + ${keyboard.config} + ''; + # Only the config file generated by this module is checked. A + # user-provided one is not checked because it may not be available + # at build time. I think this is a good balance between module + # complexity and functionality. + checkPhase = '' + ${lib.getExe cfg.package} --cfg "$target" --check --debug ''; + }; - DynamicUser = true; - RuntimeDirectory = mkName name; - SupplementaryGroups = with config.users.groups; [ - input.name - uinput.name - ]; + mkService = + name: keyboard: + lib.nameValuePair (mkName name) { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "notify"; + ExecStart = '' + ${lib.getExe cfg.package} \ + --cfg ${keyboard.configFile} \ + --symlink-path ''${RUNTIME_DIRECTORY}/${name} \ + ${lib.optionalString (keyboard.port != null) "--port ${toString keyboard.port}"} \ + ${utils.escapeSystemdExecArgs keyboard.extraArgs} + ''; - # hardening - DeviceAllow = [ - "/dev/uinput rw" - "char-input r" - ]; - CapabilityBoundingSet = [ "" ]; - DevicePolicy = "closed"; - IPAddressAllow = lib.optional (keyboard.port != null) "localhost"; - IPAddressDeny = [ "any" ]; - LockPersonality = true; - MemoryDenyWriteExecute = true; - PrivateNetwork = keyboard.port == null; - PrivateUsers = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_UNIX" ] ++ lib.optional (keyboard.port != null) "AF_INET"; - RestrictNamespaces = true; - RestrictRealtime = true; - SystemCallArchitectures = [ "native" ]; - SystemCallFilter = [ - "@system-service" - "~@privileged" - "~@resources" - ]; - UMask = "0077"; + DynamicUser = true; + RuntimeDirectory = mkName name; + SupplementaryGroups = with config.users.groups; [ + input.name + uinput.name + ]; + + # hardening + DeviceAllow = [ + "/dev/uinput rw" + "char-input r" + ]; + CapabilityBoundingSet = [ "" ]; + DevicePolicy = "closed"; + IPAddressAllow = lib.optional (keyboard.port != null) "localhost"; + IPAddressDeny = [ "any" ]; + LockPersonality = true; + MemoryDenyWriteExecute = true; + PrivateNetwork = keyboard.port == null; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RestrictAddressFamilies = [ "AF_UNIX" ] ++ lib.optional (keyboard.port != null) "AF_INET"; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = [ "native" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + UMask = "0077"; + }; }; - }; in { options.services.kanata = { @@ -186,7 +198,8 @@ in existEmptyDevices = lib.length (lib.attrNames keyboardsWithEmptyDevices) > 0; moreThanOneKeyboard = lib.length (lib.attrNames cfg.keyboards) > 1; in - lib.optional (existEmptyDevices && moreThanOneKeyboard) "One device can only be intercepted by one kanata instance. Setting services.kanata.keyboards.${lib.head (lib.attrNames keyboardsWithEmptyDevices)}.devices = [ ] and using more than one services.kanata.keyboards may cause a race condition."; + lib.optional (existEmptyDevices && moreThanOneKeyboard) + "One device can only be intercepted by one kanata instance. Setting services.kanata.keyboards.${lib.head (lib.attrNames keyboardsWithEmptyDevices)}.devices = [ ] and using more than one services.kanata.keyboards may cause a race condition."; hardware.uinput.enable = true; diff --git a/nixos/modules/services/hardware/keyd.nix b/nixos/modules/services/hardware/keyd.nix index 92b62fe2e9775..795a640b791e3 100644 --- a/nixos/modules/services/hardware/keyd.nix +++ b/nixos/modules/services/hardware/keyd.nix @@ -1,63 +1,75 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.keyd; - keyboardOptions = { ... }: { - options = { - ids = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ "*" ]; - example = [ "*" "-0123:0456" ]; - description = '' - Device identifiers, as shown by {manpage}`keyd(1)`. - ''; - }; + keyboardOptions = + { ... }: + { + options = { + ids = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ "*" ]; + example = [ + "*" + "-0123:0456" + ]; + description = '' + Device identifiers, as shown by {manpage}`keyd(1)`. + ''; + }; - settings = lib.mkOption { - type = (pkgs.formats.ini { }).type; - default = { }; - example = { - main = { - capslock = "overload(control, esc)"; - rightalt = "layer(rightalt)"; - }; + settings = lib.mkOption { + type = (pkgs.formats.ini { }).type; + default = { }; + example = { + main = { + capslock = "overload(control, esc)"; + rightalt = "layer(rightalt)"; + }; - rightalt = { - j = "down"; - k = "up"; - h = "left"; - l = "right"; + rightalt = { + j = "down"; + k = "up"; + h = "left"; + l = "right"; + }; }; + description = '' + Configuration, except `ids` section, that is written to {file}`/etc/keyd/.conf`. + Appropriate names can be used to write non-alpha keys, for example "equal" instead of "=" sign (see ). + See how to configure. + ''; }; - description = '' - Configuration, except `ids` section, that is written to {file}`/etc/keyd/.conf`. - Appropriate names can be used to write non-alpha keys, for example "equal" instead of "=" sign (see ). - See how to configure. - ''; - }; - extraConfig = lib.mkOption { - type = lib.types.lines; - default = ""; - example = '' - [control+shift] - h = left - ''; - description = '' - Extra configuration that is appended to the end of the file. - **Do not** write `ids` section here, use a separate option for it. - You can use this option to define compound layers that must always be defined after the layer they are comprised. - ''; + extraConfig = lib.mkOption { + type = lib.types.lines; + default = ""; + example = '' + [control+shift] + h = left + ''; + description = '' + Extra configuration that is appended to the end of the file. + **Do not** write `ids` section here, use a separate option for it. + You can use this option to define compound layers that must always be defined after the layer they are comprised. + ''; + }; }; }; - }; in { imports = [ (lib.mkRemovedOptionModule [ "services" "keyd" "ids" ] - ''Use keyboards..ids instead. If you don't need a multi-file configuration, just add keyboards.default before the ids. See https://github.com/NixOS/nixpkgs/pull/243271.'') + ''Use keyboards..ids instead. If you don't need a multi-file configuration, just add keyboards.default before the ids. See https://github.com/NixOS/nixpkgs/pull/243271.'' + ) (lib.mkRemovedOptionModule [ "services" "keyd" "settings" ] - ''Use keyboards..settings instead. If you don't need a multi-file configuration, just add keyboards.default before the settings. See https://github.com/NixOS/nixpkgs/pull/243271.'') + ''Use keyboards..settings instead. If you don't need a multi-file configuration, just add keyboards.default before the settings. See https://github.com/NixOS/nixpkgs/pull/243271.'' + ) ]; options.services.keyd = { @@ -94,18 +106,18 @@ in config = lib.mkIf cfg.enable { # Creates separate files in the `/etc/keyd/` directory for each key in the dictionary - environment.etc = lib.mapAttrs' - (name: options: - lib.nameValuePair "keyd/${name}.conf" { - text = '' - [ids] - ${lib.concatStringsSep "\n" options.ids} - - ${lib.generators.toINI {} options.settings} - ${options.extraConfig} - ''; - }) - cfg.keyboards; + environment.etc = lib.mapAttrs' ( + name: options: + lib.nameValuePair "keyd/${name}.conf" { + text = '' + [ids] + ${lib.concatStringsSep "\n" options.ids} + + ${lib.generators.toINI { } options.settings} + ${options.extraConfig} + ''; + } + ) cfg.keyboards; hardware.uinput.enable = lib.mkDefault true; @@ -115,11 +127,9 @@ in wantedBy = [ "multi-user.target" ]; - restartTriggers = lib.mapAttrsToList - (name: options: - config.environment.etc."keyd/${name}.conf".source - ) - cfg.keyboards; + restartTriggers = lib.mapAttrsToList ( + name: options: config.environment.etc."keyd/${name}.conf".source + ) cfg.keyboards; # this is configurable in 2.4.2, later versions seem to remove this option. # post-2.4.2 may need to set makeFlags in the derivation: diff --git a/nixos/modules/services/hardware/kmonad.nix b/nixos/modules/services/hardware/kmonad.nix index bc1b5409f9ddc..fc548d51603ee 100644 --- a/nixos/modules/services/hardware/kmonad.nix +++ b/nixos/modules/services/hardware/kmonad.nix @@ -85,12 +85,10 @@ let (defcfg input (device-file "${keyboard.device}") output (uinput-sink "kmonad-${keyboard.name}") - ${ - lib.optionalString (keyboard.defcfg.compose.key != null) '' - cmp-seq ${keyboard.defcfg.compose.key} - cmp-seq-delay ${toString keyboard.defcfg.compose.delay} - '' - } + ${lib.optionalString (keyboard.defcfg.compose.key != null) '' + cmp-seq ${keyboard.defcfg.compose.key} + cmp-seq-delay ${toString keyboard.defcfg.compose.delay} + ''} fallthrough ${lib.boolToString keyboard.defcfg.fallthrough} allow-cmd ${lib.boolToString keyboard.defcfg.allowCommands} ) @@ -122,11 +120,14 @@ let mkService = keyboard: let - cmd = [ - (lib.getExe cfg.package) - "--input" - ''device-file "${keyboard.device}"'' - ] ++ cfg.extraArgs ++ [ "${mkCfg keyboard}" ]; + cmd = + [ + (lib.getExe cfg.package) + "--input" + ''device-file "${keyboard.device}"'' + ] + ++ cfg.extraArgs + ++ [ "${mkCfg keyboard}" ]; in lib.nameValuePair "kmonad-${keyboard.name}" { description = "KMonad for ${keyboard.device}"; diff --git a/nixos/modules/services/hardware/lcd.nix b/nixos/modules/services/hardware/lcd.nix index d52d5f391911d..0b39281667cc7 100644 --- a/nixos/modules/services/hardware/lcd.nix +++ b/nixos/modules/services/hardware/lcd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hardware.lcd; @@ -27,7 +32,9 @@ let Slice = "lcd.slice"; }; -in with lib; { +in +with lib; +{ meta.maintainers = with maintainers; [ peterhoeg ]; @@ -128,7 +135,9 @@ in with lib; { }; config = mkIf (cfg.server.enable || cfg.client.enable) { - networking.firewall.allowedTCPPorts = mkIf (cfg.server.enable && cfg.server.openPorts) [ cfg.serverPort ]; + networking.firewall.allowedTCPPorts = mkIf (cfg.server.enable && cfg.server.openPorts) [ + cfg.serverPort + ]; services.udev.extraRules = mkIf (cfg.server.enable && cfg.server.usbPermissions) '' ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="${cfg.server.usbVid}", ATTRS{idProduct}=="${cfg.server.usbPid}", MODE="660", GROUP="${cfg.server.usbGroup}" @@ -161,7 +170,10 @@ in with lib; { systemd.targets.lcd = { description = "LCD client/server"; - after = [ "lcdd.service" "lcdproc.service" ]; + after = [ + "lcdd.service" + "lcdproc.service" + ]; wantedBy = [ "multi-user.target" ]; }; }; diff --git a/nixos/modules/services/hardware/libinput.nix b/nixos/modules/services/hardware/libinput.nix index e8169af40637f..1ef62640ecce0 100644 --- a/nixos/modules/services/hardware/libinput.nix +++ b/nixos/modules/services/hardware/libinput.nix @@ -1,323 +1,422 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.libinput; - - xorgBool = v: if v then "on" else "off"; - - mkConfigForDevice = deviceType: { - dev = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "/dev/input/event0"; - description = '' - Path for ${deviceType} device. Set to `null` to apply to any - auto-detected ${deviceType}. - ''; - }; +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.libinput; + + xorgBool = v: if v then "on" else "off"; + + mkConfigForDevice = deviceType: { + dev = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "/dev/input/event0"; + description = '' + Path for ${deviceType} device. Set to `null` to apply to any + auto-detected ${deviceType}. + ''; + }; - accelProfile = lib.mkOption { - type = lib.types.enum [ "flat" "adaptive" "custom" ]; - default = "adaptive"; - example = "flat"; - description = '' - Sets the pointer acceleration profile to the given profile. - Permitted values are `adaptive`, `flat`, `custom`. - Not all devices support this option or all profiles. - If a profile is unsupported, the default profile for this is used. - `flat`: Pointer motion is accelerated by a constant - (device-specific) factor, depending on the current speed. - `adaptive`: Pointer acceleration depends on the input speed. - This is the default profile for most devices. - `custom`: Allows the user to define a custom acceleration function. - To define custom functions use the accelPoints - and accelStep options. - ''; - }; + accelProfile = lib.mkOption { + type = lib.types.enum [ + "flat" + "adaptive" + "custom" + ]; + default = "adaptive"; + example = "flat"; + description = '' + Sets the pointer acceleration profile to the given profile. + Permitted values are `adaptive`, `flat`, `custom`. + Not all devices support this option or all profiles. + If a profile is unsupported, the default profile for this is used. + `flat`: Pointer motion is accelerated by a constant + (device-specific) factor, depending on the current speed. + `adaptive`: Pointer acceleration depends on the input speed. + This is the default profile for most devices. + `custom`: Allows the user to define a custom acceleration function. + To define custom functions use the accelPoints + and accelStep options. + ''; + }; - accelSpeed = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "-0.5"; - description = '' - Cursor acceleration (how fast speed increases from minSpeed to maxSpeed). - This only applies to the flat or adaptive profile. - ''; - }; + accelSpeed = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "-0.5"; + description = '' + Cursor acceleration (how fast speed increases from minSpeed to maxSpeed). + This only applies to the flat or adaptive profile. + ''; + }; - accelPointsFallback = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.number); - default = null; - example = [ 0.0 1.0 2.4 2.5 ]; - description = '' - Sets the points of the fallback acceleration function. The value must be a list of - floating point non-negative numbers. This only applies to the custom profile. - ''; - }; + accelPointsFallback = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.number); + default = null; + example = [ + 0.0 + 1.0 + 2.4 + 2.5 + ]; + description = '' + Sets the points of the fallback acceleration function. The value must be a list of + floating point non-negative numbers. This only applies to the custom profile. + ''; + }; - accelPointsMotion = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.number); - default = null; - example = [ 0.0 1.0 2.4 2.5 ]; - description = '' - Sets the points of the (pointer) motion acceleration function. The value must be a - list of floating point non-negative numbers. This only applies to the custom profile. - ''; - }; + accelPointsMotion = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.number); + default = null; + example = [ + 0.0 + 1.0 + 2.4 + 2.5 + ]; + description = '' + Sets the points of the (pointer) motion acceleration function. The value must be a + list of floating point non-negative numbers. This only applies to the custom profile. + ''; + }; - accelPointsScroll = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.number); - default = null; - example = [ 0.0 1.0 2.4 2.5 ]; - description = '' - Sets the points of the scroll acceleration function. The value must be a list of - floating point non-negative numbers. This only applies to the custom profile. - ''; - }; + accelPointsScroll = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.number); + default = null; + example = [ + 0.0 + 1.0 + 2.4 + 2.5 + ]; + description = '' + Sets the points of the scroll acceleration function. The value must be a list of + floating point non-negative numbers. This only applies to the custom profile. + ''; + }; - accelStepFallback = lib.mkOption { - type = lib.types.nullOr lib.types.number; - default = null; - example = 0.1; - description = '' - Sets the step between the points of the fallback acceleration function. When a step of - 0.0 is provided, libinput's Fallback acceleration function is used. This only applies - to the custom profile. - ''; - }; + accelStepFallback = lib.mkOption { + type = lib.types.nullOr lib.types.number; + default = null; + example = 0.1; + description = '' + Sets the step between the points of the fallback acceleration function. When a step of + 0.0 is provided, libinput's Fallback acceleration function is used. This only applies + to the custom profile. + ''; + }; - accelStepMotion = lib.mkOption { - type = lib.types.nullOr lib.types.number; - default = null; - example = 0.1; - description = '' - Sets the step between the points of the (pointer) motion acceleration function. When a - step of 0.0 is provided, libinput's Fallback acceleration function is used. This only - applies to the custom profile. - ''; - }; + accelStepMotion = lib.mkOption { + type = lib.types.nullOr lib.types.number; + default = null; + example = 0.1; + description = '' + Sets the step between the points of the (pointer) motion acceleration function. When a + step of 0.0 is provided, libinput's Fallback acceleration function is used. This only + applies to the custom profile. + ''; + }; - accelStepScroll = lib.mkOption { - type = lib.types.nullOr lib.types.number; - default = null; - example = 0.1; - description = '' - Sets the step between the points of the scroll acceleration function. When a step of - 0.0 is provided, libinput's Fallback acceleration function is used. This only applies - to the custom profile. - ''; - }; + accelStepScroll = lib.mkOption { + type = lib.types.nullOr lib.types.number; + default = null; + example = 0.1; + description = '' + Sets the step between the points of the scroll acceleration function. When a step of + 0.0 is provided, libinput's Fallback acceleration function is used. This only applies + to the custom profile. + ''; + }; - buttonMapping = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "1 6 3 4 5 0 7"; - description = '' - Sets the logical button mapping for this device, see XSetPointerMapping(3). The string must - be a space-separated list of button mappings in the order of the logical buttons on the - device, starting with button 1. The default mapping is "1 2 3 ... 32". A mapping of 0 deac‐ - tivates the button. Multiple buttons can have the same mapping. Invalid mapping strings are - discarded and the default mapping is used for all buttons. Buttons not specified in the - user's mapping use the default mapping. See section BUTTON MAPPING for more details. - ''; - }; + buttonMapping = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "1 6 3 4 5 0 7"; + description = '' + Sets the logical button mapping for this device, see XSetPointerMapping(3). The string must + be a space-separated list of button mappings in the order of the logical buttons on the + device, starting with button 1. The default mapping is "1 2 3 ... 32". A mapping of 0 deac‐ + tivates the button. Multiple buttons can have the same mapping. Invalid mapping strings are + discarded and the default mapping is used for all buttons. Buttons not specified in the + user's mapping use the default mapping. See section BUTTON MAPPING for more details. + ''; + }; - calibrationMatrix = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "0.5 0 0 0 0.8 0.1 0 0 1"; - description = '' - A string of 9 space-separated floating point numbers. Sets the calibration matrix to the - 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi). - ''; - }; + calibrationMatrix = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "0.5 0 0 0 0.8 0.1 0 0 1"; + description = '' + A string of 9 space-separated floating point numbers. Sets the calibration matrix to the + 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi). + ''; + }; - clickMethod = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "none" "buttonareas" "clickfinger" ]); - default = null; - example = "buttonareas"; - description = '' - Enables a click method. Permitted values are `none`, - `buttonareas`, `clickfinger`. - Not all devices support all methods, if an option is unsupported, - the default click method for this device is used. - ''; - }; + clickMethod = lib.mkOption { + type = lib.types.nullOr ( + lib.types.enum [ + "none" + "buttonareas" + "clickfinger" + ] + ); + default = null; + example = "buttonareas"; + description = '' + Enables a click method. Permitted values are `none`, + `buttonareas`, `clickfinger`. + Not all devices support all methods, if an option is unsupported, + the default click method for this device is used. + ''; + }; - leftHanded = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enables left-handed button orientation, i.e. swapping left and right buttons."; - }; + leftHanded = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enables left-handed button orientation, i.e. swapping left and right buttons."; + }; - middleEmulation = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Enables middle button emulation. When enabled, pressing the left and right buttons - simultaneously produces a middle mouse button click. - ''; - }; + middleEmulation = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Enables middle button emulation. When enabled, pressing the left and right buttons + simultaneously produces a middle mouse button click. + ''; + }; - naturalScrolling = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enables or disables natural scrolling behavior."; - }; + naturalScrolling = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enables or disables natural scrolling behavior."; + }; - scrollButton = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - example = 1; - description = '' - Designates a button as scroll button. If the ScrollMethod is button and the button is logically - held down, x/y axis movement is converted into scroll events. - ''; - }; + scrollButton = lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + example = 1; + description = '' + Designates a button as scroll button. If the ScrollMethod is button and the button is logically + held down, x/y axis movement is converted into scroll events. + ''; + }; - scrollMethod = lib.mkOption { - type = lib.types.enum [ "twofinger" "edge" "button" "none" ]; - default = "twofinger"; - example = "edge"; - description = '' - Specify the scrolling method: `twofinger`, `edge`, - `button`, or `none` - ''; - }; + scrollMethod = lib.mkOption { + type = lib.types.enum [ + "twofinger" + "edge" + "button" + "none" + ]; + default = "twofinger"; + example = "edge"; + description = '' + Specify the scrolling method: `twofinger`, `edge`, + `button`, or `none` + ''; + }; - horizontalScrolling = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Enables or disables horizontal scrolling. When disabled, this driver will discard any - horizontal scroll events from libinput. This does not disable horizontal scroll events - from libinput; it merely discards the horizontal axis from any scroll events. - ''; - }; + horizontalScrolling = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Enables or disables horizontal scrolling. When disabled, this driver will discard any + horizontal scroll events from libinput. This does not disable horizontal scroll events + from libinput; it merely discards the horizontal axis from any scroll events. + ''; + }; - sendEventsMode = lib.mkOption { - type = lib.types.enum [ "disabled" "enabled" "disabled-on-external-mouse" ]; - default = "enabled"; - example = "disabled"; - description = '' - Sets the send events mode to `disabled`, `enabled`, - or `disabled-on-external-mouse` - ''; - }; + sendEventsMode = lib.mkOption { + type = lib.types.enum [ + "disabled" + "enabled" + "disabled-on-external-mouse" + ]; + default = "enabled"; + example = "disabled"; + description = '' + Sets the send events mode to `disabled`, `enabled`, + or `disabled-on-external-mouse` + ''; + }; - tapping = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Enables or disables tap-to-click behavior. - ''; - }; + tapping = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Enables or disables tap-to-click behavior. + ''; + }; - tappingButtonMap = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "lrm" "lmr" ]); - default = null; - description = '' - Set the button mapping for 1/2/3-finger taps to left/right/middle or left/middle/right, respectively. - ''; - }; + tappingButtonMap = lib.mkOption { + type = lib.types.nullOr ( + lib.types.enum [ + "lrm" + "lmr" + ] + ); + default = null; + description = '' + Set the button mapping for 1/2/3-finger taps to left/right/middle or left/middle/right, respectively. + ''; + }; - tappingDragLock = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Enables or disables drag lock during tapping behavior. When enabled, a finger up during tap- - and-drag will not immediately release the button. If the finger is set down again within the - timeout, the dragging process continues. - ''; - }; + tappingDragLock = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Enables or disables drag lock during tapping behavior. When enabled, a finger up during tap- + and-drag will not immediately release the button. If the finger is set down again within the + timeout, the dragging process continues. + ''; + }; - transformationMatrix = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "0.5 0 0 0 0.8 0.1 0 0 1"; - description = '' - A string of 9 space-separated floating point numbers. Sets the transformation matrix to - the 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi). - ''; - }; + transformationMatrix = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "0.5 0 0 0 0.8 0.1 0 0 1"; + description = '' + A string of 9 space-separated floating point numbers. Sets the transformation matrix to + the 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi). + ''; + }; - disableWhileTyping = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Disable input method while typing. - ''; - }; + disableWhileTyping = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Disable input method while typing. + ''; + }; - additionalOptions = lib.mkOption { - type = lib.types.lines; - default = ""; - example = - '' - Option "DragLockButtons" "L1 B1 L2 B2" - ''; - description = '' - Additional options for libinput ${deviceType} driver. See - {manpage}`libinput(4)` - for available options."; - ''; - }; + additionalOptions = lib.mkOption { + type = lib.types.lines; + default = ""; + example = '' + Option "DragLockButtons" "L1 B1 L2 B2" + ''; + description = '' + Additional options for libinput ${deviceType} driver. See + {manpage}`libinput(4)` + for available options."; + ''; }; + }; - mkX11ConfigForDevice = deviceType: matchIs: '' - Identifier "libinput ${deviceType} configuration" - MatchDriver "libinput" - MatchIs${matchIs} "${xorgBool true}" - ${lib.optionalString (cfg.${deviceType}.dev != null) ''MatchDevicePath "${cfg.${deviceType}.dev}"''} - Option "AccelProfile" "${cfg.${deviceType}.accelProfile}" - ${lib.optionalString (cfg.${deviceType}.accelSpeed != null) ''Option "AccelSpeed" "${cfg.${deviceType}.accelSpeed}"''} - ${lib.optionalString (cfg.${deviceType}.accelPointsFallback != null) ''Option "AccelPointsFallback" "${toString cfg.${deviceType}.accelPointsFallback}"''} - ${lib.optionalString (cfg.${deviceType}.accelPointsMotion != null) ''Option "AccelPointsMotion" "${toString cfg.${deviceType}.accelPointsMotion}"''} - ${lib.optionalString (cfg.${deviceType}.accelPointsScroll != null) ''Option "AccelPointsScroll" "${toString cfg.${deviceType}.accelPointsScroll}"''} - ${lib.optionalString (cfg.${deviceType}.accelStepFallback != null) ''Option "AccelStepFallback" "${toString cfg.${deviceType}.accelStepFallback}"''} - ${lib.optionalString (cfg.${deviceType}.accelStepMotion != null) ''Option "AccelStepMotion" "${toString cfg.${deviceType}.accelStepMotion}"''} - ${lib.optionalString (cfg.${deviceType}.accelStepScroll != null) ''Option "AccelStepScroll" "${toString cfg.${deviceType}.accelStepScroll}"''} - ${lib.optionalString (cfg.${deviceType}.buttonMapping != null) ''Option "ButtonMapping" "${cfg.${deviceType}.buttonMapping}"''} - ${lib.optionalString (cfg.${deviceType}.calibrationMatrix != null) ''Option "CalibrationMatrix" "${cfg.${deviceType}.calibrationMatrix}"''} - ${lib.optionalString (cfg.${deviceType}.transformationMatrix != null) ''Option "TransformationMatrix" "${cfg.${deviceType}.transformationMatrix}"''} - ${lib.optionalString (cfg.${deviceType}.clickMethod != null) ''Option "ClickMethod" "${cfg.${deviceType}.clickMethod}"''} - Option "LeftHanded" "${xorgBool cfg.${deviceType}.leftHanded}" - Option "MiddleEmulation" "${xorgBool cfg.${deviceType}.middleEmulation}" - Option "NaturalScrolling" "${xorgBool cfg.${deviceType}.naturalScrolling}" - ${lib.optionalString (cfg.${deviceType}.scrollButton != null) ''Option "ScrollButton" "${toString cfg.${deviceType}.scrollButton}"''} - Option "ScrollMethod" "${cfg.${deviceType}.scrollMethod}" - Option "HorizontalScrolling" "${xorgBool cfg.${deviceType}.horizontalScrolling}" - Option "SendEventsMode" "${cfg.${deviceType}.sendEventsMode}" - Option "Tapping" "${xorgBool cfg.${deviceType}.tapping}" - ${lib.optionalString (cfg.${deviceType}.tappingButtonMap != null) ''Option "TappingButtonMap" "${cfg.${deviceType}.tappingButtonMap}"''} - Option "TappingDragLock" "${xorgBool cfg.${deviceType}.tappingDragLock}" - Option "DisableWhileTyping" "${xorgBool cfg.${deviceType}.disableWhileTyping}" - ${cfg.${deviceType}.additionalOptions} - ''; -in { + mkX11ConfigForDevice = deviceType: matchIs: '' + Identifier "libinput ${deviceType} configuration" + MatchDriver "libinput" + MatchIs${matchIs} "${xorgBool true}" + ${lib.optionalString (cfg.${deviceType}.dev != null) ''MatchDevicePath "${cfg.${deviceType}.dev}"''} + Option "AccelProfile" "${cfg.${deviceType}.accelProfile}" + ${lib.optionalString ( + cfg.${deviceType}.accelSpeed != null + ) ''Option "AccelSpeed" "${cfg.${deviceType}.accelSpeed}"''} + ${lib.optionalString ( + cfg.${deviceType}.accelPointsFallback != null + ) ''Option "AccelPointsFallback" "${toString cfg.${deviceType}.accelPointsFallback}"''} + ${lib.optionalString (cfg.${deviceType}.accelPointsMotion != null) + ''Option "AccelPointsMotion" "${toString cfg.${deviceType}.accelPointsMotion}"'' + } + ${lib.optionalString (cfg.${deviceType}.accelPointsScroll != null) + ''Option "AccelPointsScroll" "${toString cfg.${deviceType}.accelPointsScroll}"'' + } + ${lib.optionalString (cfg.${deviceType}.accelStepFallback != null) + ''Option "AccelStepFallback" "${toString cfg.${deviceType}.accelStepFallback}"'' + } + ${lib.optionalString (cfg.${deviceType}.accelStepMotion != null) + ''Option "AccelStepMotion" "${toString cfg.${deviceType}.accelStepMotion}"'' + } + ${lib.optionalString (cfg.${deviceType}.accelStepScroll != null) + ''Option "AccelStepScroll" "${toString cfg.${deviceType}.accelStepScroll}"'' + } + ${lib.optionalString (cfg.${deviceType}.buttonMapping != null) + ''Option "ButtonMapping" "${cfg.${deviceType}.buttonMapping}"'' + } + ${lib.optionalString (cfg.${deviceType}.calibrationMatrix != null) + ''Option "CalibrationMatrix" "${cfg.${deviceType}.calibrationMatrix}"'' + } + ${lib.optionalString ( + cfg.${deviceType}.transformationMatrix != null + ) ''Option "TransformationMatrix" "${cfg.${deviceType}.transformationMatrix}"''} + ${lib.optionalString ( + cfg.${deviceType}.clickMethod != null + ) ''Option "ClickMethod" "${cfg.${deviceType}.clickMethod}"''} + Option "LeftHanded" "${xorgBool cfg.${deviceType}.leftHanded}" + Option "MiddleEmulation" "${xorgBool cfg.${deviceType}.middleEmulation}" + Option "NaturalScrolling" "${xorgBool cfg.${deviceType}.naturalScrolling}" + ${lib.optionalString (cfg.${deviceType}.scrollButton != null) + ''Option "ScrollButton" "${toString cfg.${deviceType}.scrollButton}"'' + } + Option "ScrollMethod" "${cfg.${deviceType}.scrollMethod}" + Option "HorizontalScrolling" "${xorgBool cfg.${deviceType}.horizontalScrolling}" + Option "SendEventsMode" "${cfg.${deviceType}.sendEventsMode}" + Option "Tapping" "${xorgBool cfg.${deviceType}.tapping}" + ${lib.optionalString (cfg.${deviceType}.tappingButtonMap != null) + ''Option "TappingButtonMap" "${cfg.${deviceType}.tappingButtonMap}"'' + } + Option "TappingDragLock" "${xorgBool cfg.${deviceType}.tappingDragLock}" + Option "DisableWhileTyping" "${xorgBool cfg.${deviceType}.disableWhileTyping}" + ${cfg.${deviceType}.additionalOptions} + ''; +in +{ imports = - (map (option: lib.mkRenamedOptionModule ([ "services" "xserver" "libinput" option ]) [ "services" "libinput" "touchpad" option ]) [ - "accelProfile" - "accelSpeed" - "buttonMapping" - "calibrationMatrix" - "clickMethod" - "leftHanded" - "middleEmulation" - "naturalScrolling" - "scrollButton" - "scrollMethod" - "horizontalScrolling" - "sendEventsMode" - "tapping" - "tappingButtonMap" - "tappingDragLock" - "transformationMatrix" - "disableWhileTyping" - "additionalOptions" - ]) ++ [ - (lib.mkRenamedOptionModule [ "services" "xserver" "libinput" "enable" ] [ "services" "libinput" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "libinput" "mouse" ] [ "services" "libinput" "mouse" ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "libinput" "touchpad" ] [ "services" "libinput" "touchpad" ]) + (map + ( + option: + lib.mkRenamedOptionModule + ([ + "services" + "xserver" + "libinput" + option + ]) + [ + "services" + "libinput" + "touchpad" + option + ] + ) + [ + "accelProfile" + "accelSpeed" + "buttonMapping" + "calibrationMatrix" + "clickMethod" + "leftHanded" + "middleEmulation" + "naturalScrolling" + "scrollButton" + "scrollMethod" + "horizontalScrolling" + "sendEventsMode" + "tapping" + "tappingButtonMap" + "tappingDragLock" + "transformationMatrix" + "disableWhileTyping" + "additionalOptions" + ] + ) + ++ [ + (lib.mkRenamedOptionModule + [ "services" "xserver" "libinput" "enable" ] + [ "services" "libinput" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "libinput" "mouse" ] + [ "services" "libinput" "mouse" ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "libinput" "touchpad" ] + [ "services" "libinput" "touchpad" ] + ) ]; options = { @@ -332,7 +431,6 @@ in { }; }; - config = lib.mkIf cfg.enable { services.xserver.modules = [ pkgs.xorg.xf86inputlibinput ]; @@ -340,8 +438,10 @@ in { environment.systemPackages = [ pkgs.xorg.xf86inputlibinput ]; environment.etc = - let cfgPath = "X11/xorg.conf.d/40-libinput.conf"; - in { + let + cfgPath = "X11/xorg.conf.d/40-libinput.conf"; + in + { ${cfgPath} = { source = pkgs.xorg.xf86inputlibinput.out + "/share/" + cfgPath; }; @@ -356,10 +456,12 @@ in { assertions = [ # already present in synaptics.nix - /* { - assertion = !config.services.xserver.synaptics.enable; - message = "Synaptics and libinput are incompatible, you cannot enable both (in services.xserver)."; - } */ + /* + { + assertion = !config.services.xserver.synaptics.enable; + message = "Synaptics and libinput are incompatible, you cannot enable both (in services.xserver)."; + } + */ ]; }; diff --git a/nixos/modules/services/hardware/lirc.nix b/nixos/modules/services/hardware/lirc.nix index 9942b9a97513a..6cc7c4ef19044 100644 --- a/nixos/modules/services/hardware/lirc.nix +++ b/nixos/modules/services/hardware/lirc.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.lirc; -in { +in +{ ###### interface @@ -26,7 +32,7 @@ in { extraArguments = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "Extra arguments to lircd."; }; }; @@ -53,38 +59,43 @@ in { }; }; - systemd.services.lircd = let - configFile = pkgs.writeText "lircd.conf" (builtins.concatStringsSep "\n" cfg.configs); - in { - description = "LIRC daemon service"; - after = [ "network.target" ]; - - unitConfig.Documentation = [ "man:lircd(8)" ]; - - serviceConfig = { - RuntimeDirectory = ["lirc" "lirc/lock"]; - - # Service runtime directory and socket share same folder. - # Following hacks are necessary to get everything right: - - # 1. prevent socket deletion during stop and restart - RuntimeDirectoryPreserve = true; - - # 2. fix runtime folder owner-ship, happens when socket activation - # creates the folder - PermissionsStartOnly = true; - ExecStartPre = [ - "${pkgs.coreutils}/bin/chown lirc /run/lirc/" - ]; - - ExecStart = '' - ${pkgs.lirc}/bin/lircd --nodaemon \ - ${lib.escapeShellArgs cfg.extraArguments} \ - ${configFile} - ''; - User = "lirc"; + systemd.services.lircd = + let + configFile = pkgs.writeText "lircd.conf" (builtins.concatStringsSep "\n" cfg.configs); + in + { + description = "LIRC daemon service"; + after = [ "network.target" ]; + + unitConfig.Documentation = [ "man:lircd(8)" ]; + + serviceConfig = { + RuntimeDirectory = [ + "lirc" + "lirc/lock" + ]; + + # Service runtime directory and socket share same folder. + # Following hacks are necessary to get everything right: + + # 1. prevent socket deletion during stop and restart + RuntimeDirectoryPreserve = true; + + # 2. fix runtime folder owner-ship, happens when socket activation + # creates the folder + PermissionsStartOnly = true; + ExecStartPre = [ + "${pkgs.coreutils}/bin/chown lirc /run/lirc/" + ]; + + ExecStart = '' + ${pkgs.lirc}/bin/lircd --nodaemon \ + ${lib.escapeShellArgs cfg.extraArguments} \ + ${configFile} + ''; + User = "lirc"; + }; }; - }; users.users.lirc = { uid = config.ids.uids.lirc; diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix index 6a04fa0ff7502..78b7ec080289b 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix @@ -8,45 +8,52 @@ nvidia-driver, runtimeShell, writeScriptBin, -}: let - mkMount = {hostPath, containerPath, mountOptions}: { - inherit hostPath containerPath; - options = mountOptions; - }; - mountToCommand = mount: +}: +let + mkMount = + { + hostPath, + containerPath, + mountOptions, + }: + { + inherit hostPath containerPath; + options = mountOptions; + }; + mountToCommand = + mount: "additionalMount \"${mount.hostPath}\" \"${mount.containerPath}\" '${builtins.toJSON mount.mountOptions}'"; - mountsToCommands = mounts: + mountsToCommands = + mounts: if (builtins.length mounts) == 0 then "cat" else - (lib.strings.concatMapStringsSep " | \\\n" - mountToCommand mounts); + (lib.strings.concatMapStringsSep " | \\\n" mountToCommand mounts); in -writeScriptBin "nvidia-cdi-generator" -'' -#! ${runtimeShell} +writeScriptBin "nvidia-cdi-generator" '' + #! ${runtimeShell} -function cdiGenerate { - ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \ - --format json \ - --device-name-strategy ${deviceNameStrategy} \ - --ldconfig-path ${lib.getExe' glibc "ldconfig"} \ - --library-search-path ${lib.getLib nvidia-driver}/lib \ - --nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} -} + function cdiGenerate { + ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} cdi generate \ + --format json \ + --device-name-strategy ${deviceNameStrategy} \ + --ldconfig-path ${lib.getExe' glibc "ldconfig"} \ + --library-search-path ${lib.getLib nvidia-driver}/lib \ + --nvidia-ctk-path ${lib.getExe' nvidia-container-toolkit "nvidia-ctk"} + } -function additionalMount { - local hostPath="$1" - local containerPath="$2" - local mountOptions="$3" - if [ -e "$hostPath" ]; then - ${lib.getExe jq} ".containerEdits.mounts[.containerEdits.mounts | length] = { \"hostPath\": \"$hostPath\", \"containerPath\": \"$containerPath\", \"options\": $mountOptions }" - else - echo "Mount $hostPath ignored: could not find path in the host machine" >&2 - cat - fi -} + function additionalMount { + local hostPath="$1" + local containerPath="$2" + local mountOptions="$3" + if [ -e "$hostPath" ]; then + ${lib.getExe jq} ".containerEdits.mounts[.containerEdits.mounts | length] = { \"hostPath\": \"$hostPath\", \"containerPath\": \"$containerPath\", \"options\": $mountOptions }" + else + echo "Mount $hostPath ignored: could not find path in the host machine" >&2 + cat + fi + } -cdiGenerate | - ${mountsToCommands mounts} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json + cdiGenerate | + ${mountsToCommands mounts} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json '' diff --git a/nixos/modules/services/hardware/nvidia-optimus.nix b/nixos/modules/services/hardware/nvidia-optimus.nix index 307bc78098d14..7c16cb9676ee9 100644 --- a/nixos/modules/services/hardware/nvidia-optimus.nix +++ b/nixos/modules/services/hardware/nvidia-optimus.nix @@ -1,6 +1,8 @@ { config, lib, ... }: -let kernel = config.boot.kernelPackages; in +let + kernel = config.boot.kernelPackages; +in { @@ -19,11 +21,16 @@ let kernel = config.boot.kernelPackages; in }; - ###### implementation config = lib.mkIf config.hardware.nvidiaOptimus.disable { - boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb" "nvidia-drm" "nvidia-modeset"]; + boot.blacklistedKernelModules = [ + "nouveau" + "nvidia" + "nvidiafb" + "nvidia-drm" + "nvidia-modeset" + ]; boot.kernelModules = [ "bbswitch" ]; boot.extraModulePackages = [ kernel.bbswitch ]; diff --git a/nixos/modules/services/hardware/openrgb.nix b/nixos/modules/services/hardware/openrgb.nix index 0e06f9720ac10..ec5750a229042 100644 --- a/nixos/modules/services/hardware/openrgb.nix +++ b/nixos/modules/services/hardware/openrgb.nix @@ -1,17 +1,32 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.services.hardware.openrgb; -in { +in +{ options.services.hardware.openrgb = { enable = lib.mkEnableOption "OpenRGB server, for RGB lighting control"; package = lib.mkPackageOption pkgs "openrgb" { }; motherboard = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "amd" "intel" ]); - default = if config.hardware.cpu.intel.updateMicrocode then "intel" - else if config.hardware.cpu.amd.updateMicrocode then "amd" - else null; + type = lib.types.nullOr ( + lib.types.enum [ + "amd" + "intel" + ] + ); + default = + if config.hardware.cpu.intel.updateMicrocode then + "intel" + else if config.hardware.cpu.amd.updateMicrocode then + "amd" + else + null; defaultText = lib.literalMD '' if config.hardware.cpu.intel.updateMicrocode then "intel" else if config.hardware.cpu.amd.updateMicrocode then "amd" @@ -32,9 +47,10 @@ in { environment.systemPackages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; - boot.kernelModules = [ "i2c-dev" ] - ++ lib.optionals (cfg.motherboard == "amd") [ "i2c-piix4" ] - ++ lib.optionals (cfg.motherboard == "intel") [ "i2c-i801" ]; + boot.kernelModules = + [ "i2c-dev" ] + ++ lib.optionals (cfg.motherboard == "amd") [ "i2c-piix4" ] + ++ lib.optionals (cfg.motherboard == "intel") [ "i2c-i801" ]; systemd.services.openrgb = { description = "OpenRGB server daemon"; diff --git a/nixos/modules/services/hardware/pommed.nix b/nixos/modules/services/hardware/pommed.nix index c5efb76d6eece..3bb53ce4603a4 100644 --- a/nixos/modules/services/hardware/pommed.nix +++ b/nixos/modules/services/hardware/pommed.nix @@ -1,7 +1,14 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.hardware.pommed; - defaultConf = "${pkgs.pommed_light}/etc/pommed.conf.mactel"; -in { +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.hardware.pommed; + defaultConf = "${pkgs.pommed_light}/etc/pommed.conf.mactel"; +in +{ options = { @@ -33,7 +40,10 @@ in { }; config = lib.mkIf cfg.enable { - environment.systemPackages = [ pkgs.polkit pkgs.pommed_light ]; + environment.systemPackages = [ + pkgs.polkit + pkgs.pommed_light + ]; environment.etc."pommed.conf".source = if cfg.configFile == null then defaultConf else cfg.configFile; diff --git a/nixos/modules/services/hardware/power-profiles-daemon.nix b/nixos/modules/services/hardware/power-profiles-daemon.nix index 7651c65b9f181..c3a9853b8c331 100644 --- a/nixos/modules/services/hardware/power-profiles-daemon.nix +++ b/nixos/modules/services/hardware/power-profiles-daemon.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.power-profiles-daemon; @@ -27,19 +32,20 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { assertions = [ - { assertion = !config.services.tlp.enable; + { + assertion = !config.services.tlp.enable; message = '' You have set services.power-profiles-daemon.enable = true; which conflicts with services.tlp.enable = true; ''; } - { assertion = !config.services.auto-cpufreq.enable; + { + assertion = !config.services.auto-cpufreq.enable; message = '' You have set services.power-profiles-daemon.enable = true; which conflicts with services.auto-cpufreq.enable = true; diff --git a/nixos/modules/services/hardware/rasdaemon.nix b/nixos/modules/services/hardware/rasdaemon.nix index ac3c675a7fbed..53a0780e4e341 100644 --- a/nixos/modules/services/hardware/rasdaemon.nix +++ b/nixos/modules/services/hardware/rasdaemon.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.rasdaemon; @@ -68,7 +73,7 @@ in extraModules = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "extra kernel modules to load"; example = [ "i7core_edac" ]; }; @@ -83,7 +88,7 @@ in enable = cfg.mainboard != ""; text = cfg.mainboard; }; - # TODO, handle multiple cfg.labels.brand = " "; + # TODO, handle multiple cfg.labels.brand = " "; "ras/dimm_labels.d/labels" = { enable = cfg.labels != ""; text = cfg.labels; @@ -93,14 +98,19 @@ in text = cfg.config; }; }; - environment.systemPackages = [ pkgs.rasdaemon ] - ++ lib.optionals (cfg.testing) (with pkgs.error-inject; [ - edac-inject - mce-inject - aer-inject - ]); - - boot.initrd.kernelModules = cfg.extraModules + environment.systemPackages = + [ pkgs.rasdaemon ] + ++ lib.optionals (cfg.testing) ( + with pkgs.error-inject; + [ + edac-inject + mce-inject + aer-inject + ] + ); + + boot.initrd.kernelModules = + cfg.extraModules ++ lib.optionals (cfg.testing) [ # edac_core and amd64_edac should get loaded automatically # i7core_edac may not be, and may not be required, but should load successfully @@ -111,18 +121,20 @@ in "aer-inject" ]; - boot.kernelPatches = lib.optionals (cfg.testing) [{ - name = "rasdaemon-tests"; - patch = null; - extraConfig = '' - EDAC_DEBUG y - X86_MCE_INJECT y - - PCIEPORTBUS y - PCIEAER y - PCIEAER_INJECT y - ''; - }]; + boot.kernelPatches = lib.optionals (cfg.testing) [ + { + name = "rasdaemon-tests"; + patch = null; + extraConfig = '' + EDAC_DEBUG y + X86_MCE_INJECT y + + PCIEPORTBUS y + PCIEAER y + PCIEAER_INJECT y + ''; + } + ]; # i tried to set up a group for this # but rasdaemon needs higher permissions? @@ -138,8 +150,8 @@ in serviceConfig = { StateDirectory = lib.optionalString (cfg.record) "rasdaemon"; - ExecStart = "${pkgs.rasdaemon}/bin/rasdaemon --foreground" - + lib.optionalString (cfg.record) " --record"; + ExecStart = + "${pkgs.rasdaemon}/bin/rasdaemon --foreground" + lib.optionalString (cfg.record) " --record"; ExecStop = "${pkgs.rasdaemon}/bin/rasdaemon --disable"; Restart = "on-abort"; diff --git a/nixos/modules/services/hardware/ratbagd.nix b/nixos/modules/services/hardware/ratbagd.nix index c7a6e9093b478..d77a6e9f933bf 100644 --- a/nixos/modules/services/hardware/ratbagd.nix +++ b/nixos/modules/services/hardware/ratbagd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ratbagd; in diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix index 98207ada78c39..7afdb630b0a73 100644 --- a/nixos/modules/services/hardware/sane.nix +++ b/nixos/modules/services/hardware/sane.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let pkg = config.hardware.sane.backends-package.override { @@ -29,8 +34,17 @@ let LD_LIBRARY_PATH = [ "/etc/sane-libs" ]; }; - backends = [ pkg netConf ] ++ lib.optional config.services.saned.enable sanedConf ++ config.hardware.sane.extraBackends; - saneConfig = pkgs.mkSaneConfig { paths = backends; inherit (config.hardware.sane) disabledDefaultBackends; }; + backends = + [ + pkg + netConf + ] + ++ lib.optional config.services.saned.enable sanedConf + ++ config.hardware.sane.extraBackends; + saneConfig = pkgs.mkSaneConfig { + paths = backends; + inherit (config.hardware.sane) disabledDefaultBackends; + }; enabled = config.hardware.sane.enable || config.services.saned.enable; @@ -69,7 +83,7 @@ in hardware.sane.extraBackends = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' Packages providing extra SANE backends to enable. @@ -84,7 +98,7 @@ in hardware.sane.disabledDefaultBackends = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "v4l" ]; description = '' Names of backends which are enabled by default but should be disabled. @@ -159,7 +173,6 @@ in }; - ###### implementation config = lib.mkMerge [ @@ -196,7 +209,10 @@ in systemd.sockets.saned = { description = "saned incoming socket"; wantedBy = [ "sockets.target" ]; - listenStreams = [ "0.0.0.0:6566" "[::]:6566" ]; + listenStreams = [ + "0.0.0.0:6566" + "[::]:6566" + ]; socketConfig = { # saned needs to distinguish between IPv4 and IPv6 to open matching data sockets. BindIPv6Only = "ipv6-only"; diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix index 377216d1f4313..c9428d51676dc 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.sane.brscan4; @@ -6,66 +11,66 @@ let etcFiles = pkgs.callPackage ./brscan4_etc_files.nix { netDevices = netDeviceList; }; - netDeviceOpts = { name, ... }: { + netDeviceOpts = + { name, ... }: + { - options = { + options = { - name = lib.mkOption { - type = lib.types.str; - description = '' - The friendly name you give to the network device. If undefined, - the name of attribute will be used. - ''; + name = lib.mkOption { + type = lib.types.str; + description = '' + The friendly name you give to the network device. If undefined, + the name of attribute will be used. + ''; - example = "office1"; - }; + example = "office1"; + }; - model = lib.mkOption { - type = lib.types.str; - description = '' - The model of the network device. - ''; + model = lib.mkOption { + type = lib.types.str; + description = '' + The model of the network device. + ''; - example = "MFC-7860DW"; - }; + example = "MFC-7860DW"; + }; - ip = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - The ip address of the device. If undefined, you will have to - provide a nodename. - ''; + ip = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + The ip address of the device. If undefined, you will have to + provide a nodename. + ''; - example = "192.168.1.2"; - }; - - nodename = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - The node name of the device. If undefined, you will have to - provide an ip. - ''; + example = "192.168.1.2"; + }; - example = "BRW0080927AFBCE"; - }; + nodename = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + The node name of the device. If undefined, you will have to + provide an ip. + ''; - }; + example = "BRW0080927AFBCE"; + }; + }; - config = - { name = lib.mkDefault name; + config = { + name = lib.mkDefault name; }; - }; + }; in { options = { - hardware.sane.brscan4.enable = - lib.mkEnableOption "Brother's brscan4 scan backend" // { + hardware.sane.brscan4.enable = lib.mkEnableOption "Brother's brscan4 scan backend" // { description = '' When enabled, will automatically register the "brscan4" sane backend and bring configuration files to their expected location. @@ -73,11 +78,17 @@ in }; hardware.sane.brscan4.netDevices = lib.mkOption { - default = {}; - example = - { office1 = { model = "MFC-7860DW"; ip = "192.168.1.2"; }; - office2 = { model = "MFC-7860DW"; nodename = "BRW0080927AFBCE"; }; + default = { }; + example = { + office1 = { + model = "MFC-7860DW"; + ip = "192.168.1.2"; + }; + office2 = { + model = "MFC-7860DW"; + nodename = "BRW0080927AFBCE"; }; + }; type = with lib.types; attrsOf (submodule netDeviceOpts); description = '' The list of network devices that will be registered against the brscan4 @@ -92,11 +103,13 @@ in pkgs.brscan4 ]; - environment.etc."opt/brother/scanner/brscan4" = - { source = "${etcFiles}/etc/opt/brother/scanner/brscan4"; }; + environment.etc."opt/brother/scanner/brscan4" = { + source = "${etcFiles}/etc/opt/brother/scanner/brscan4"; + }; assertions = [ - { assertion = lib.all (x: !(null != x.ip && null != x.nodename)) netDeviceList; + { + assertion = lib.all (x: !(null != x.ip && null != x.nodename)) netDeviceList; message = '' When describing a network device as part of the attribute list `hardware.sane.brscan4.netDevices`, only one of its `ip` or `nodename` diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix index f76ab701c5b9b..8ec6b72cb5ea5 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix @@ -1,22 +1,25 @@ -{ stdenv, lib, brscan4, netDevices ? [] }: +{ + stdenv, + lib, + brscan4, + netDevices ? [ ], +}: /* + Testing + ------- -Testing -------- + No net devices: -No net devices: + ~~~ + nix-shell -E 'with import { }; brscan4-etc-files' + ~~~ -~~~ -nix-shell -E 'with import { }; brscan4-etc-files' -~~~ - -Two net devices: - -~~~ -nix-shell -E 'with import { }; brscan4-etc-files.override{netDevices=[{name="a"; model="MFC-7860DW"; nodename="BRW0080927AFBCE";} {name="b"; model="MFC-7860DW"; ip="192.168.1.2";}];}' -~~~ + Two net devices: + ~~~ + nix-shell -E 'with import { }; brscan4-etc-files.override{netDevices=[{name="a"; model="MFC-7860DW"; nodename="BRW0080927AFBCE";} {name="b"; model="MFC-7860DW"; ip="192.168.1.2";}];}' + ~~~ */ let @@ -25,9 +28,12 @@ let brsaneconfig4 -a \ name="${nd.name}" \ model="${nd.model}" \ - ${if (lib.hasAttr "nodename" nd && nd.nodename != null) then - ''nodename="${nd.nodename}"'' else - ''ip="${nd.ip}"''}''; + ${ + if (lib.hasAttr "nodename" nd && nd.nodename != null) then + ''nodename="${nd.nodename}"'' + else + ''ip="${nd.ip}"'' + }''; addAllNetDev = xs: lib.concatStringsSep "\n" (map addNetDev xs); in diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix index 38330eb692156..99c79c0a8bd50 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan5.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.sane.brscan5; @@ -6,73 +11,79 @@ let etcFiles = pkgs.callPackage ./brscan5_etc_files.nix { netDevices = netDeviceList; }; - netDeviceOpts = { name, ... }: { + netDeviceOpts = + { name, ... }: + { - options = { + options = { - name = lib.mkOption { - type = lib.types.str; - description = '' - The friendly name you give to the network device. If undefined, - the name of attribute will be used. - ''; + name = lib.mkOption { + type = lib.types.str; + description = '' + The friendly name you give to the network device. If undefined, + the name of attribute will be used. + ''; - example = "office1"; - }; + example = "office1"; + }; - model = lib.mkOption { - type = lib.types.str; - description = '' - The model of the network device. - ''; + model = lib.mkOption { + type = lib.types.str; + description = '' + The model of the network device. + ''; - example = "ADS-1200"; - }; + example = "ADS-1200"; + }; - ip = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - The ip address of the device. If undefined, you will have to - provide a nodename. - ''; + ip = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + The ip address of the device. If undefined, you will have to + provide a nodename. + ''; - example = "192.168.1.2"; - }; - - nodename = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - The node name of the device. If undefined, you will have to - provide an ip. - ''; + example = "192.168.1.2"; + }; - example = "BRW0080927AFBCE"; - }; + nodename = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + The node name of the device. If undefined, you will have to + provide an ip. + ''; - }; + example = "BRW0080927AFBCE"; + }; + }; - config = - { name = lib.mkDefault name; + config = { + name = lib.mkDefault name; }; - }; + }; in { options = { - hardware.sane.brscan5.enable = - lib.mkEnableOption "the Brother brscan5 sane backend"; + hardware.sane.brscan5.enable = lib.mkEnableOption "the Brother brscan5 sane backend"; hardware.sane.brscan5.netDevices = lib.mkOption { - default = {}; - example = - { office1 = { model = "MFC-7860DW"; ip = "192.168.1.2"; }; - office2 = { model = "MFC-7860DW"; nodename = "BRW0080927AFBCE"; }; + default = { }; + example = { + office1 = { + model = "MFC-7860DW"; + ip = "192.168.1.2"; + }; + office2 = { + model = "MFC-7860DW"; + nodename = "BRW0080927AFBCE"; }; + }; type = with lib.types; attrsOf (submodule netDeviceOpts); description = '' The list of network devices that will be registered against the brscan5 @@ -87,14 +98,18 @@ in pkgs.brscan5 ]; - environment.etc."opt/brother/scanner/brscan5" = - { source = "${etcFiles}/etc/opt/brother/scanner/brscan5"; }; - environment.etc."opt/brother/scanner/models" = - { source = "${etcFiles}/etc/opt/brother/scanner/brscan5/models"; }; - environment.etc."sane.d/dll.d/brother5.conf".source = "${pkgs.brscan5}/etc/sane.d/dll.d/brother5.conf"; + environment.etc."opt/brother/scanner/brscan5" = { + source = "${etcFiles}/etc/opt/brother/scanner/brscan5"; + }; + environment.etc."opt/brother/scanner/models" = { + source = "${etcFiles}/etc/opt/brother/scanner/brscan5/models"; + }; + environment.etc."sane.d/dll.d/brother5.conf".source = + "${pkgs.brscan5}/etc/sane.d/dll.d/brother5.conf"; assertions = [ - { assertion = lib.all (x: !(null != x.ip && null != x.nodename)) netDeviceList; + { + assertion = lib.all (x: !(null != x.ip && null != x.nodename)) netDeviceList; message = '' When describing a network device as part of the attribute list `hardware.sane.brscan5.netDevices`, only one of its `ip` or `nodename` diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix index 432f0316a4fa8..9ad64c41ee69d 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix @@ -1,32 +1,35 @@ -{ stdenv, lib, brscan5, netDevices ? [] }: +{ + stdenv, + lib, + brscan5, + netDevices ? [ ], +}: /* - -Testing -------- -From nixpkgs repo - -No net devices: - -~~~ -nix-build -E 'let pkgs = import ./. {}; - brscan5-etc-files = pkgs.callPackage (import ./nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix) {}; - in brscan5-etc-files' -~~~ - -Two net devices: - -~~~ -nix-build -E 'let pkgs = import ./. {}; - brscan5-etc-files = pkgs.callPackage (import ./nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix) {}; - in brscan5-etc-files.override { - netDevices = [ - {name="a"; model="ADS-1200"; nodename="BRW0080927AFBCE";} - {name="b"; model="ADS-1200"; ip="192.168.1.2";} - ]; - }' -~~~ - + Testing + ------- + From nixpkgs repo + + No net devices: + + ~~~ + nix-build -E 'let pkgs = import ./. {}; + brscan5-etc-files = pkgs.callPackage (import ./nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix) {}; + in brscan5-etc-files' + ~~~ + + Two net devices: + + ~~~ + nix-build -E 'let pkgs = import ./. {}; + brscan5-etc-files = pkgs.callPackage (import ./nixos/modules/services/hardware/sane_extra_backends/brscan5_etc_files.nix) {}; + in brscan5-etc-files.override { + netDevices = [ + {name="a"; model="ADS-1200"; nodename="BRW0080927AFBCE";} + {name="b"; model="ADS-1200"; ip="192.168.1.2";} + ]; + }' + ~~~ */ let @@ -35,9 +38,12 @@ let brsaneconfig5 -a \ name="${nd.name}" \ model="${nd.model}" \ - ${if (lib.hasAttr "nodename" nd && nd.nodename != null) then - ''nodename="${nd.nodename}"'' else - ''ip="${nd.ip}"''}''; + ${ + if (lib.hasAttr "nodename" nd && nd.nodename != null) then + ''nodename="${nd.nodename}"'' + else + ''ip="${nd.ip}"'' + }''; addAllNetDev = xs: lib.concatStringsSep "\n" (map addNetDev xs); in diff --git a/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix b/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix index 49de9d94b427d..0ec2eff956bec 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/dsseries.nix @@ -1,9 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = { - hardware.sane.dsseries.enable = - lib.mkEnableOption "Brother DSSeries scan backend" // { + hardware.sane.dsseries.enable = lib.mkEnableOption "Brother DSSeries scan backend" // { description = '' When enabled, will automatically register the "dsseries" SANE backend. diff --git a/nixos/modules/services/hardware/supergfxd.nix b/nixos/modules/services/hardware/supergfxd.nix index 62296014a8dc3..dd571b4fa546b 100644 --- a/nixos/modules/services/hardware/supergfxd.nix +++ b/nixos/modules/services/hardware/supergfxd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.supergfxd; @@ -32,7 +37,10 @@ in systemd.packages = [ pkgs.supergfxctl ]; systemd.services.supergfxd.wantedBy = [ "multi-user.target" ]; - systemd.services.supergfxd.path = [ pkgs.kmod pkgs.pciutils ]; + systemd.services.supergfxd.path = [ + pkgs.kmod + pkgs.pciutils + ]; services.dbus.packages = [ pkgs.supergfxctl ]; services.udev.packages = [ pkgs.supergfxctl ]; diff --git a/nixos/modules/services/hardware/tcsd.nix b/nixos/modules/services/hardware/tcsd.nix index 24bb20b0146de..7451e58b016e3 100644 --- a/nixos/modules/services/hardware/tcsd.nix +++ b/nixos/modules/services/hardware/tcsd.nix @@ -1,5 +1,11 @@ # tcsd daemon. -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: let cfg = config.services.tcsd; @@ -154,6 +160,6 @@ in }; }; - users.groups = lib.optionalAttrs (cfg.group == "tss") { tss = {}; }; + users.groups = lib.optionalAttrs (cfg.group == "tss") { tss = { }; }; }; } diff --git a/nixos/modules/services/hardware/thermald.nix b/nixos/modules/services/hardware/thermald.nix index d7f706f1ef052..9df57e8650e11 100644 --- a/nixos/modules/services/hardware/thermald.nix +++ b/nixos/modules/services/hardware/thermald.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.thermald; in @@ -16,7 +21,7 @@ in ''; }; - ignoreCpuidCheck = lib.mkOption { + ignoreCpuidCheck = lib.mkOption { type = lib.types.bool; default = false; description = "Whether to ignore the cpuid check to allow running on unsupported platforms"; diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix index 9733fbe5aa15e..01c61a0e81476 100644 --- a/nixos/modules/services/hardware/thinkfan.nix +++ b/nixos/modules/services/hardware/thinkfan.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.thinkfan; @@ -7,77 +12,107 @@ let thinkfan = pkgs.thinkfan.override { inherit (cfg) smartSupport; }; # fan-speed and temperature levels - levelType = with lib.types; + levelType = + with lib.types; let - tuple = ts: lib.mkOptionType { - name = "tuple"; - merge = lib.mergeOneOption; - check = xs: lib.all lib.id (lib.zipListsWith (t: x: t.check x) ts xs); - description = "tuple of" + lib.concatMapStrings (t: " (${t.description})") ts; - }; + tuple = + ts: + lib.mkOptionType { + name = "tuple"; + merge = lib.mergeOneOption; + check = xs: lib.all lib.id (lib.zipListsWith (t: x: t.check x) ts xs); + description = "tuple of" + lib.concatMapStrings (t: " (${t.description})") ts; + }; level = ints.unsigned; - special = enum [ "level auto" "level full-speed" "level disengaged" ]; + special = enum [ + "level auto" + "level full-speed" + "level disengaged" + ]; in - tuple [ (either level special) level level ]; + tuple [ + (either level special) + level + level + ]; # sensor or fan config - sensorType = name: lib.types.submodule { - freeformType = lib.types.attrsOf settingsFormat.type; - options = { - type = lib.mkOption { - type = lib.types.enum [ "hwmon" "atasmart" "tpacpi" "nvml" ]; - description = '' - The ${name} type, can be - `hwmon` for standard ${name}s, - - `atasmart` to read the temperature via - S.M.A.R.T (requires smartSupport to be enabled), - - `tpacpi` for the legacy thinkpac_acpi driver, or - - `nvml` for the (proprietary) nVidia driver. - ''; - }; - query = lib.mkOption { - type = lib.types.str; - description = '' - The query string used to match one or more ${name}s: can be - a fullpath to the temperature file (single ${name}) or a fullpath - to a driver directory (multiple ${name}s). - - ::: {.note} - When multiple ${name}s match, the query can be restricted using the - {option}`name` or {option}`indices` options. - ::: - ''; - }; - indices = lib.mkOption { - type = with lib.types; nullOr (listOf ints.unsigned); - default = null; - description = '' - A list of ${name}s to pick in case multiple ${name}s match the query. - - ::: {.note} - Indices start from 0. - ::: - ''; - }; - } // lib.optionalAttrs (name == "sensor") { - correction = lib.mkOption { - type = with lib.types; nullOr (listOf int); - default = null; - description = '' - A list of values to be added to the temperature of each sensor, - can be used to equalize small discrepancies in temperature ratings. - ''; - }; + sensorType = + name: + lib.types.submodule { + freeformType = lib.types.attrsOf settingsFormat.type; + options = + { + type = lib.mkOption { + type = lib.types.enum [ + "hwmon" + "atasmart" + "tpacpi" + "nvml" + ]; + description = '' + The ${name} type, can be + `hwmon` for standard ${name}s, + + `atasmart` to read the temperature via + S.M.A.R.T (requires smartSupport to be enabled), + + `tpacpi` for the legacy thinkpac_acpi driver, or + + `nvml` for the (proprietary) nVidia driver. + ''; + }; + query = lib.mkOption { + type = lib.types.str; + description = '' + The query string used to match one or more ${name}s: can be + a fullpath to the temperature file (single ${name}) or a fullpath + to a driver directory (multiple ${name}s). + + ::: {.note} + When multiple ${name}s match, the query can be restricted using the + {option}`name` or {option}`indices` options. + ::: + ''; + }; + indices = lib.mkOption { + type = with lib.types; nullOr (listOf ints.unsigned); + default = null; + description = '' + A list of ${name}s to pick in case multiple ${name}s match the query. + + ::: {.note} + Indices start from 0. + ::: + ''; + }; + } + // lib.optionalAttrs (name == "sensor") { + correction = lib.mkOption { + type = with lib.types; nullOr (listOf int); + default = null; + description = '' + A list of values to be added to the temperature of each sensor, + can be used to equalize small discrepancies in temperature ratings. + ''; + }; + }; }; - }; # removes NixOS special and unused attributes - sensorToConf = { type, query, ... }@args: - (lib.filterAttrs (k: v: v != null && !(lib.elem k ["type" "query"])) args) - // { "${type}" = query; }; + sensorToConf = + { type, query, ... }@args: + (lib.filterAttrs ( + k: v: + v != null + && !(lib.elem k [ + "type" + "query" + ]) + ) args) + // { + "${type}" = query; + }; syntaxNote = name: '' ::: {.note} @@ -94,7 +129,8 @@ let ::: ''; -in { +in +{ options = { @@ -126,7 +162,8 @@ in { sensors = lib.mkOption { type = lib.types.listOf (sensorType "sensor"); default = [ - { type = "tpacpi"; + { + type = "tpacpi"; query = "/proc/acpi/ibm/thermal"; } ]; @@ -140,7 +177,8 @@ in { fans = lib.mkOption { type = lib.types.listOf (sensorType "fan"); default = [ - { type = "tpacpi"; + { + type = "tpacpi"; query = "/proc/acpi/ibm/fan"; } ]; @@ -154,13 +192,41 @@ in { levels = lib.mkOption { type = lib.types.listOf levelType; default = [ - [0 0 55] - [1 48 60] - [2 50 61] - [3 52 63] - [6 56 65] - [7 60 85] - ["level auto" 80 32767] + [ + 0 + 0 + 55 + ] + [ + 1 + 48 + 60 + ] + [ + 2 + 50 + 61 + ] + [ + 3 + 52 + 63 + ] + [ + 6 + 56 + 65 + ] + [ + 7 + 60 + 85 + ] + [ + "level auto" + 80 + 32767 + ] ]; description = '' [LEVEL LOW HIGH] @@ -177,7 +243,10 @@ in { extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "-b" "0" ]; + example = [ + "-b" + "0" + ]; description = '' A list of extra command line arguments to pass to thinkfan. Check the thinkfan(1) manpage for available arguments. @@ -206,14 +275,20 @@ in { services.thinkfan.settings = lib.mapAttrs (k: v: lib.mkDefault v) { sensors = map sensorToConf cfg.sensors; - fans = map sensorToConf cfg.fans; - levels = cfg.levels; + fans = map sensorToConf cfg.fans; + levels = cfg.levels; }; systemd.packages = [ thinkfan ]; systemd.services = { - thinkfan.environment.THINKFAN_ARGS = lib.escapeShellArgs ([ "-c" configFile ] ++ cfg.extraArgs); + thinkfan.environment.THINKFAN_ARGS = lib.escapeShellArgs ( + [ + "-c" + configFile + ] + ++ cfg.extraArgs + ); thinkfan.serviceConfig = { Restart = "on-failure"; RestartSec = "30s"; diff --git a/nixos/modules/services/hardware/throttled.nix b/nixos/modules/services/hardware/throttled.nix index 30f10b3361a60..c3f391515e5ca 100644 --- a/nixos/modules/services/hardware/throttled.nix +++ b/nixos/modules/services/hardware/throttled.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.throttled; -in { +in +{ options = { services.throttled = { enable = lib.mkEnableOption "fix for Intel CPU throttling"; @@ -20,9 +26,10 @@ in { systemd.services.throttled.wantedBy = [ "multi-user.target" ]; environment.etc."throttled.conf".source = - if cfg.extraConfig != "" - then pkgs.writeText "throttled.conf" cfg.extraConfig - else "${pkgs.throttled}/etc/throttled.conf"; + if cfg.extraConfig != "" then + pkgs.writeText "throttled.conf" cfg.extraConfig + else + "${pkgs.throttled}/etc/throttled.conf"; hardware.cpu.x86.msr.enable = true; # Kernel 5.9 spams warnings whenever userspace writes to CPU MSRs. diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix index b7642e476936a..d9f342d6ea46c 100644 --- a/nixos/modules/services/hardware/trezord.nix +++ b/nixos/modules/services/hardware/trezord.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.trezord; -in { +in +{ ### docs @@ -26,15 +32,15 @@ in { default = false; description = '' Enable Trezor emulator support. - ''; - }; + ''; + }; emulator.port = lib.mkOption { type = lib.types.port; default = 21324; description = '' Listening port for the Trezor emulator. - ''; + ''; }; }; }; @@ -48,7 +54,7 @@ in { description = "Trezor Bridge"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = []; + path = [ ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.trezord}/bin/trezord-go ${lib.optionalString cfg.emulator.enable "-e ${builtins.toString cfg.emulator.port}"}"; @@ -62,7 +68,6 @@ in { isSystemUser = true; }; - users.groups.trezord = {}; + users.groups.trezord = { }; }; } - diff --git a/nixos/modules/services/hardware/tuxedo-rs.nix b/nixos/modules/services/hardware/tuxedo-rs.nix index 4ba7825ae8a53..aa292f305151e 100644 --- a/nixos/modules/services/hardware/tuxedo-rs.nix +++ b/nixos/modules/services/hardware/tuxedo-rs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.hardware.tuxedo-rs; @@ -12,35 +17,37 @@ in }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - hardware.tuxedo-drivers.enable = true; - - systemd = { - services.tailord = { - enable = true; - description = "Tuxedo Tailor hardware control service"; - after = [ "systemd-logind.service" ]; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = { - Type = "dbus"; - BusName = "com.tux.Tailor"; - ExecStart = "${pkgs.tuxedo-rs}/bin/tailord"; - Environment = "RUST_BACKTRACE=1"; - Restart = "on-failure"; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + hardware.tuxedo-drivers.enable = true; + + systemd = { + services.tailord = { + enable = true; + description = "Tuxedo Tailor hardware control service"; + after = [ "systemd-logind.service" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "dbus"; + BusName = "com.tux.Tailor"; + ExecStart = "${pkgs.tuxedo-rs}/bin/tailord"; + Environment = "RUST_BACKTRACE=1"; + Restart = "on-failure"; + }; }; }; - }; - services.dbus.packages = [ pkgs.tuxedo-rs ]; + services.dbus.packages = [ pkgs.tuxedo-rs ]; - environment.systemPackages = [ pkgs.tuxedo-rs ]; - } - (lib.mkIf cfg.tailor-gui.enable { - environment.systemPackages = [ pkgs.tailor-gui ]; - }) - ]); + environment.systemPackages = [ pkgs.tuxedo-rs ]; + } + (lib.mkIf cfg.tailor-gui.enable { + environment.systemPackages = [ pkgs.tailor-gui ]; + }) + ] + ); meta.maintainers = with lib.maintainers; [ mrcjkb ]; } diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix index 1cdb70c24ee34..88e24fea6c72c 100644 --- a/nixos/modules/services/hardware/udisks2.nix +++ b/nixos/modules/services/hardware/udisks2.nix @@ -1,11 +1,18 @@ # Udisks daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.udisks2; settingsFormat = pkgs.formats.ini { - listToValue = lib.concatMapStringsSep "," (lib.generators.mkValueStringDefault {}); + listToValue = lib.concatMapStringsSep "," (lib.generators.mkValueStringDefault { }); }; - configFiles = lib.mapAttrs (name: value: (settingsFormat.generate name value)) (lib.mapAttrs' (name: value: lib.nameValuePair name value ) config.services.udisks2.settings); + configFiles = lib.mapAttrs (name: value: (settingsFormat.generate name value)) ( + lib.mapAttrs' (name: value: lib.nameValuePair name value) config.services.udisks2.settings + ); in { @@ -18,7 +25,7 @@ in enable = lib.mkEnableOption "udisks2, a DBus service that allows applications to query and manipulate storage devices"; - package = lib.mkPackageOption pkgs "udisks2" {}; + package = lib.mkPackageOption pkgs "udisks2" { }; mountOnMedia = lib.mkOption { type = lib.types.bool; @@ -45,13 +52,13 @@ in }; }; example = lib.literalExpression '' - { - "WDC-WD10EZEX-60M2NA0-WD-WCC3F3SJ0698.conf" = { - ATA = { - StandbyTimeout = 50; + { + "WDC-WD10EZEX-60M2NA0-WD-WCC3F3SJ0698.conf" = { + ATA = { + StandbyTimeout = 50; + }; }; }; - }; ''; description = '' Options passed to udisksd. @@ -64,30 +71,36 @@ in }; - ###### implementation config = lib.mkIf config.services.udisks2.enable { environment.systemPackages = [ cfg.package ]; - environment.etc = (lib.mapAttrs' (name: value: lib.nameValuePair "udisks2/${name}" { source = value; } ) configFiles) // ( - let - libblockdev = cfg.package.libblockdev; - majorVer = lib.versions.major libblockdev.version; - in { - # We need to make sure /etc/libblockdev/@major_ver@/conf.d is populated to avoid - # warnings - "libblockdev/${majorVer}/conf.d/00-default.cfg".source = "${libblockdev}/etc/libblockdev/${majorVer}/conf.d/00-default.cfg"; - "libblockdev/${majorVer}/conf.d/10-lvm-dbus.cfg".source = "${libblockdev}/etc/libblockdev/${majorVer}/conf.d/10-lvm-dbus.cfg"; - }); + environment.etc = + (lib.mapAttrs' (name: value: lib.nameValuePair "udisks2/${name}" { source = value; }) configFiles) + // ( + let + libblockdev = cfg.package.libblockdev; + majorVer = lib.versions.major libblockdev.version; + in + { + # We need to make sure /etc/libblockdev/@major_ver@/conf.d is populated to avoid + # warnings + "libblockdev/${majorVer}/conf.d/00-default.cfg".source = + "${libblockdev}/etc/libblockdev/${majorVer}/conf.d/00-default.cfg"; + "libblockdev/${majorVer}/conf.d/10-lvm-dbus.cfg".source = + "${libblockdev}/etc/libblockdev/${majorVer}/conf.d/10-lvm-dbus.cfg"; + } + ); security.polkit.enable = true; services.dbus.packages = [ cfg.package ]; - systemd.tmpfiles.rules = [ "d /var/lib/udisks2 0755 root root -" ] - ++ lib.optional cfg.mountOnMedia "D! /media 0755 root root -"; + systemd.tmpfiles.rules = [ + "d /var/lib/udisks2 0755 root root -" + ] ++ lib.optional cfg.mountOnMedia "D! /media 0755 root root -"; services.udev.packages = [ cfg.package ]; diff --git a/nixos/modules/services/hardware/undervolt.nix b/nixos/modules/services/hardware/undervolt.nix index 1fce225db3669..5a8ad9806ef1d 100644 --- a/nixos/modules/services/hardware/undervolt.nix +++ b/nixos/modules/services/hardware/undervolt.nix @@ -1,12 +1,22 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.undervolt; - mkPLimit = limit: window: - if (limit == null && window == null) then null - else assert lib.asserts.assertMsg (limit != null && window != null) "Both power limit and window must be set"; + mkPLimit = + limit: window: + if (limit == null && window == null) then + null + else + assert lib.asserts.assertMsg ( + limit != null && window != null + ) "Both power limit and window must be set"; "${toString limit} ${toString window}"; - cliArgs = lib.cli.toGNUCommandLine {} { + cliArgs = lib.cli.toGNUCommandLine { } { inherit (cfg) verbose temp @@ -33,9 +43,9 @@ in { options.services.undervolt = { enable = lib.mkEnableOption '' - Undervolting service for Intel CPUs. + Undervolting service for Intel CPUs. - Warning: This service is not endorsed by Intel and may permanently damage your hardware. Use at your own risk + Warning: This service is not endorsed by Intel and may permanently damage your hardware. Use at your own risk ''; verbose = lib.mkOption { @@ -121,7 +131,12 @@ in ''; }; p1.window = lib.mkOption { - type = with lib.types; nullOr (oneOf [ float int ]); + type = + with lib.types; + nullOr (oneOf [ + float + int + ]); default = null; description = '' The P1 Time Window in seconds. @@ -138,7 +153,12 @@ in ''; }; p2.window = lib.mkOption { - type = with lib.types; nullOr (oneOf [ float int ]); + type = + with lib.types; + nullOr (oneOf [ + float + int + ]); default = null; description = '' The P2 Time Window in seconds. @@ -167,7 +187,10 @@ in description = "Intel Undervolting Service"; # Apply undervolt on boot, nixos generation switch and resume - wantedBy = [ "multi-user.target" "post-resume.target" ]; + wantedBy = [ + "multi-user.target" + "post-resume.target" + ]; after = [ "post-resume.target" ]; # Not sure why but it won't work without this serviceConfig = { diff --git a/nixos/modules/services/hardware/usbmuxd.nix b/nixos/modules/services/hardware/usbmuxd.nix index c1b76ddce3b71..23c54bab54b00 100644 --- a/nixos/modules/services/hardware/usbmuxd.nix +++ b/nixos/modules/services/hardware/usbmuxd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let defaultUserGroup = "usbmux"; @@ -43,7 +48,10 @@ in default = pkgs.usbmuxd; defaultText = lib.literalExpression "pkgs.usbmuxd"; description = "Which package to use for the usbmuxd daemon."; - relatedPackages = [ "usbmuxd" "usbmuxd2" ]; + relatedPackages = [ + "usbmuxd" + "usbmuxd2" + ]; }; }; diff --git a/nixos/modules/services/hardware/usbrelayd.nix b/nixos/modules/services/hardware/usbrelayd.nix index 38047c4e44cab..67c5e132e2ece 100644 --- a/nixos/modules/services/hardware/usbrelayd.nix +++ b/nixos/modules/services/hardware/usbrelayd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.usbrelayd; in diff --git a/nixos/modules/services/hardware/vdr.nix b/nixos/modules/services/hardware/vdr.nix index 6adab680257ff..59aaffcb12646 100644 --- a/nixos/modules/services/hardware/vdr.nix +++ b/nixos/modules/services/hardware/vdr.nix @@ -1,9 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.vdr; inherit (lib) - mkEnableOption mkPackageOption mkOption types mkIf optional; + mkEnableOption + mkPackageOption + mkOption + types + mkIf + optional + ; in { options = { @@ -59,16 +70,16 @@ in description = "VDR"; wantedBy = [ "multi-user.target" ]; wants = optional cfg.enableLirc "lircd.service"; - after = [ "network.target" ] - ++ optional cfg.enableLirc "lircd.service"; + after = [ "network.target" ] ++ optional cfg.enableLirc "lircd.service"; serviceConfig = { ExecStart = let - args = [ - "--video=${cfg.videoDir}" - ] - ++ optional cfg.enableLirc "--lirc=${config.passthru.lirc.socket}" - ++ cfg.extraArguments; + args = + [ + "--video=${cfg.videoDir}" + ] + ++ optional cfg.enableLirc "--lirc=${config.passthru.lirc.socket}" + ++ cfg.extraArguments; in "${cfg.package}/bin/vdr ${lib.escapeShellArgs args}"; User = cfg.user; @@ -90,8 +101,7 @@ in extraGroups = [ "video" "audio" - ] - ++ optional cfg.enableLirc "lirc"; + ] ++ optional cfg.enableLirc "lirc"; }; }; diff --git a/nixos/modules/services/home-automation/ebusd.nix b/nixos/modules/services/home-automation/ebusd.nix index 0a83bed6ff011..b04da56b6d14c 100644 --- a/nixos/modules/services/home-automation/ebusd.nix +++ b/nixos/modules/services/home-automation/ebusd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ebusd; in @@ -38,7 +43,7 @@ in type = lib.types.bool; default = false; description = '' - Only read from device, never write to it + Only read from device, never write to it ''; }; @@ -60,18 +65,40 @@ in ''; }; - logs = let - # "all" must come first so it can be overridden by more specific areas - areas = [ "all" "main" "network" "bus" "update" "other" ]; - levels = [ "none" "error" "notice" "info" "debug" ]; - in lib.listToAttrs (map (area: lib.nameValuePair area (lib.mkOption { - type = lib.types.enum levels; - default = "notice"; - example = "debug"; - description = '' - Only write log for matching `AREA`s (${lib.concatStringsSep "|" areas}) below or equal to `LEVEL` (${lib.concatStringsSep "|" levels}) - ''; - })) areas); + logs = + let + # "all" must come first so it can be overridden by more specific areas + areas = [ + "all" + "main" + "network" + "bus" + "update" + "other" + ]; + levels = [ + "none" + "error" + "notice" + "info" + "debug" + ]; + in + lib.listToAttrs ( + map ( + area: + lib.nameValuePair area ( + lib.mkOption { + type = lib.types.enum levels; + default = "notice"; + example = "debug"; + description = '' + Only write log for matching `AREA`s (${lib.concatStringsSep "|" areas}) below or equal to `LEVEL` (${lib.concatStringsSep "|" levels}) + ''; + } + ) + ) areas + ); mqtt = { enable = lib.mkEnableOption "support for MQTT"; @@ -119,82 +146,94 @@ in extraArguments = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Extra arguments to the ebus daemon ''; }; }; - config = let - usesDev = lib.hasPrefix "/" cfg.device; - in lib.mkIf cfg.enable { - systemd.services.ebusd = { - description = "EBUSd Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = { - ExecStart = let - args = lib.cli.toGNUCommandLineShell { optionValueSeparator = "="; } (lib.foldr (a: b: a // b) { } [ - { - inherit (cfg) device port configpath scanconfig readonly; - foreground = true; - updatecheck = "off"; - log = lib.mapAttrsToList (name: value: "${name}:${value}") cfg.logs; - mqttretain = cfg.mqtt.retain; - } - (lib.optionalAttrs cfg.mqtt.enable { - mqtthost = cfg.mqtt.host; - mqttport = cfg.mqtt.port; - mqttuser = cfg.mqtt.user; - mqttpass = cfg.mqtt.password; - }) - (lib.optionalAttrs cfg.mqtt.home-assistant { - mqttint = "${cfg.package}/etc/ebusd/mqtt-hassio.cfg"; - mqttjson = true; - }) - ]); - in "${cfg.package}/bin/ebusd ${args} ${lib.escapeShellArgs cfg.extraArguments}"; - - DynamicUser = true; - Restart = "on-failure"; - - # Hardening - CapabilityBoundingSet = ""; - DeviceAllow = lib.optionals usesDev [ cfg.device ]; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = false; - NoNewPrivileges = true; - PrivateDevices = usesDev; - PrivateUsers = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProcSubset = "pid"; - ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SupplementaryGroups = [ "dialout" ]; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service @pkey" - "~@privileged @resources" - ]; - UMask = "0077"; + config = + let + usesDev = lib.hasPrefix "/" cfg.device; + in + lib.mkIf cfg.enable { + systemd.services.ebusd = { + description = "EBUSd Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = + let + args = lib.cli.toGNUCommandLineShell { optionValueSeparator = "="; } ( + lib.foldr (a: b: a // b) { } [ + { + inherit (cfg) + device + port + configpath + scanconfig + readonly + ; + foreground = true; + updatecheck = "off"; + log = lib.mapAttrsToList (name: value: "${name}:${value}") cfg.logs; + mqttretain = cfg.mqtt.retain; + } + (lib.optionalAttrs cfg.mqtt.enable { + mqtthost = cfg.mqtt.host; + mqttport = cfg.mqtt.port; + mqttuser = cfg.mqtt.user; + mqttpass = cfg.mqtt.password; + }) + (lib.optionalAttrs cfg.mqtt.home-assistant { + mqttint = "${cfg.package}/etc/ebusd/mqtt-hassio.cfg"; + mqttjson = true; + }) + ] + ); + in + "${cfg.package}/bin/ebusd ${args} ${lib.escapeShellArgs cfg.extraArguments}"; + + DynamicUser = true; + Restart = "on-failure"; + + # Hardening + CapabilityBoundingSet = ""; + DeviceAllow = lib.optionals usesDev [ cfg.device ]; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = false; + NoNewPrivileges = true; + PrivateDevices = usesDev; + PrivateUsers = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SupplementaryGroups = [ "dialout" ]; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service @pkey" + "~@privileged @resources" + ]; + UMask = "0077"; + }; }; }; - }; } diff --git a/nixos/modules/services/home-automation/esphome.nix b/nixos/modules/services/home-automation/esphome.nix index faae5ec8ff45c..0673454aab89c 100644 --- a/nixos/modules/services/home-automation/esphome.nix +++ b/nixos/modules/services/home-automation/esphome.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -15,9 +20,10 @@ let stateDir = "/var/lib/esphome"; esphomeParams = - if cfg.enableUnixSocket - then "--socket /run/esphome/esphome.sock" - else "--address ${cfg.address} --port ${toString cfg.port}"; + if cfg.enableUnixSocket then + "--socket /run/esphome/esphome.sock" + else + "--address ${cfg.address} --port ${toString cfg.port}"; in { meta.maintainers = with maintainers; [ oddlama ]; @@ -52,8 +58,13 @@ in }; allowedDevices = mkOption { - default = ["char-ttyS" "char-ttyUSB"]; - example = ["/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0"]; + default = [ + "char-ttyS" + "char-ttyUSB" + ]; + example = [ + "/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0" + ]; description = '' A list of device nodes to which {command}`esphome` has access to. Refer to DeviceAllow in systemd.resource-control(5) for more information. @@ -71,13 +82,13 @@ in }; config = mkIf cfg.enable { - networking.firewall.allowedTCPPorts = mkIf (cfg.openFirewall && !cfg.enableUnixSocket) [cfg.port]; + networking.firewall.allowedTCPPorts = mkIf (cfg.openFirewall && !cfg.enableUnixSocket) [ cfg.port ]; systemd.services.esphome = { description = "ESPHome dashboard"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - path = [cfg.package]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ cfg.package ]; environment = { # platformio fails to determine the home directory when using DynamicUser @@ -102,7 +113,7 @@ in MemoryDenyWriteExecute = true; DevicePolicy = "closed"; DeviceAllow = map (d: "${d} rw") cfg.allowedDevices; - SupplementaryGroups = ["dialout"]; + SupplementaryGroups = [ "dialout" ]; #NoNewPrivileges = true; # Implied by DynamicUser PrivateUsers = true; #PrivateTmp = true; # Implied by DynamicUser diff --git a/nixos/modules/services/home-automation/evcc.nix b/nixos/modules/services/home-automation/evcc.nix index 5e97b8c90d238..df64f99f5b024 100644 --- a/nixos/modules/services/home-automation/evcc.nix +++ b/nixos/modules/services/home-automation/evcc.nix @@ -1,12 +1,13 @@ -{ lib -, pkgs -, config -, ... +{ + lib, + pkgs, + config, + ... }: let cfg = config.services.evcc; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; configFile = format.generate "evcc.yml" cfg.settings; package = pkgs.evcc; @@ -20,7 +21,7 @@ in extraArgs = lib.mkOption { type = listOf str; - default = []; + default = [ ]; description = '' Extra arguments to pass to the evcc executable. ''; @@ -72,7 +73,7 @@ in PrivateUsers = true; ProcSubset = "pid"; ProtectClock = true; - ProtectControlGroups= true; + ProtectControlGroups = true; ProtectHome = true; ProtectHostname = true; ProtectKernelLogs = true; diff --git a/nixos/modules/services/home-automation/govee2mqtt.nix b/nixos/modules/services/home-automation/govee2mqtt.nix index 1dee5999fa3be..fe4063935adc4 100644 --- a/nixos/modules/services/home-automation/govee2mqtt.nix +++ b/nixos/modules/services/home-automation/govee2mqtt.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.govee2mqtt; -in { +in +{ meta.maintainers = with lib.maintainers; [ SuperSandro2000 ]; options.services.govee2mqtt = { @@ -53,7 +59,8 @@ in { "GOVEE_CACHE_DIR=/var/cache/govee2mqtt" ]; EnvironmentFile = cfg.environmentFile; - ExecStart = "${lib.getExe cfg.package} serve --govee-iot-key=/var/lib/govee2mqtt/iot.key --govee-iot-cert=/var/lib/govee2mqtt/iot.cert" + ExecStart = + "${lib.getExe cfg.package} serve --govee-iot-key=/var/lib/govee2mqtt/iot.key --govee-iot-cert=/var/lib/govee2mqtt/iot.cert" + " --amazon-root-ca=${pkgs.cacert.unbundled}/etc/ssl/certs/Amazon_Root_CA_1:66c9fcf99bf8c0a39e2f0788a43e696365bca.crt"; Group = cfg.group; Restart = "on-failure"; diff --git a/nixos/modules/services/home-automation/matter-server.nix b/nixos/modules/services/home-automation/matter-server.nix index 8a59815eec66d..b05991148c4ee 100644 --- a/nixos/modules/services/home-automation/matter-server.nix +++ b/nixos/modules/services/home-automation/matter-server.nix @@ -1,7 +1,8 @@ -{ lib -, pkgs -, config -, ... +{ + lib, + pkgs, + config, + ... }: let cfg = config.services.matter-server; @@ -25,14 +26,20 @@ in }; logLevel = lib.mkOption { - type = lib.types.enum [ "critical" "error" "warning" "info" "debug" ]; + type = lib.types.enum [ + "critical" + "error" + "warning" + "info" + "debug" + ]; default = "info"; description = "Verbosity of logs from the matter-server"; }; extraArgs = lib.mkOption { type = listOf str; - default = []; + default = [ ]; description = '' Extra arguments to pass to the matter-server executable. See https://github.com/home-assistant-libs/python-matter-server?tab=readme-ov-file#running-the-development-server for options. @@ -49,14 +56,20 @@ in description = "Matter Server"; environment.HOME = storagePath; serviceConfig = { - ExecStart = (lib.concatStringsSep " " [ - "${cfg.package}/bin/matter-server" - "--port" (toString cfg.port) - "--vendorid" vendorId - "--storage-path" storagePath - "--log-level" "${cfg.logLevel}" - "${lib.escapeShellArgs cfg.extraArgs}" - ]); + ExecStart = ( + lib.concatStringsSep " " [ + "${cfg.package}/bin/matter-server" + "--port" + (toString cfg.port) + "--vendorid" + vendorId + "--storage-path" + storagePath + "--log-level" + "${cfg.logLevel}" + "${lib.escapeShellArgs cfg.extraArgs}" + ] + ); # Start with a clean root filesystem, and allowlist what the container # is permitted to access. TemporaryFileSystem = "/"; @@ -119,4 +132,3 @@ in }; }; } - diff --git a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix index 691ffab6464ad..69407efba0c61 100644 --- a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix +++ b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -26,153 +27,268 @@ in package = mkPackageOption pkgs "wyoming-faster-whisper" { }; servers = mkOption { - default = {}; + default = { }; description = '' Attribute set of faster-whisper instances to spawn. ''; - type = types.attrsOf (types.submodule ( - { ... }: { - options = { - enable = mkEnableOption "Wyoming faster-whisper server"; + type = types.attrsOf ( + types.submodule ( + { ... }: + { + options = { + enable = mkEnableOption "Wyoming faster-whisper server"; - model = mkOption { - type = str; - default = "tiny-int8"; - example = "Systran/faster-distil-whisper-small.en"; - description = '' - Name of the voice model to use. + model = mkOption { + type = str; + default = "tiny-int8"; + example = "Systran/faster-distil-whisper-small.en"; + description = '' + Name of the voice model to use. - Check the [2.0.0 release notes](https://github.com/rhasspy/wyoming-faster-whisper/releases/tag/v2.0.0) for possible values. - ''; - }; + Check the [2.0.0 release notes](https://github.com/rhasspy/wyoming-faster-whisper/releases/tag/v2.0.0) for possible values. + ''; + }; - uri = mkOption { - type = strMatching "^(tcp|unix)://.*$"; - example = "tcp://0.0.0.0:10300"; - description = '' - URI to bind the wyoming server to. - ''; - }; + uri = mkOption { + type = strMatching "^(tcp|unix)://.*$"; + example = "tcp://0.0.0.0:10300"; + description = '' + URI to bind the wyoming server to. + ''; + }; - device = mkOption { - # https://opennmt.net/CTranslate2/python/ctranslate2.models.Whisper.html# - type = types.enum [ - "cpu" - "cuda" - "auto" - ]; - default = "cpu"; - description = '' - Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU. - ''; - }; + device = mkOption { + # https://opennmt.net/CTranslate2/python/ctranslate2.models.Whisper.html# + type = types.enum [ + "cpu" + "cuda" + "auto" + ]; + default = "cpu"; + description = '' + Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU. + ''; + }; - language = mkOption { - type = enum [ - # https://github.com/home-assistant/addons/blob/master/whisper/config.yaml#L20 - "auto" "af" "am" "ar" "as" "az" "ba" "be" "bg" "bn" "bo" "br" "bs" "ca" "cs" "cy" "da" "de" "el" "en" "es" "et" "eu" "fa" "fi" "fo" "fr" "gl" "gu" "ha" "haw" "he" "hi" "hr" "ht" "hu" "hy" "id" "is" "it" "ja" "jw" "ka" "kk" "km" "kn" "ko" "la" "lb" "ln" "lo" "lt" "lv" "mg" "mi" "mk" "ml" "mn" "mr" "ms" "mt" "my" "ne" "nl" "nn" "no" "oc" "pa" "pl" "ps" "pt" "ro" "ru" "sa" "sd" "si" "sk" "sl" "sn" "so" "sq" "sr" "su" "sv" "sw" "ta" "te" "tg" "th" "tk" "tl" "tr" "tt" "uk" "ur" "uz" "vi" "yi" "yo" "zh" - ]; - example = "en"; - description = '' - The language used to to parse words and sentences. - ''; - }; + language = mkOption { + type = enum [ + # https://github.com/home-assistant/addons/blob/master/whisper/config.yaml#L20 + "auto" + "af" + "am" + "ar" + "as" + "az" + "ba" + "be" + "bg" + "bn" + "bo" + "br" + "bs" + "ca" + "cs" + "cy" + "da" + "de" + "el" + "en" + "es" + "et" + "eu" + "fa" + "fi" + "fo" + "fr" + "gl" + "gu" + "ha" + "haw" + "he" + "hi" + "hr" + "ht" + "hu" + "hy" + "id" + "is" + "it" + "ja" + "jw" + "ka" + "kk" + "km" + "kn" + "ko" + "la" + "lb" + "ln" + "lo" + "lt" + "lv" + "mg" + "mi" + "mk" + "ml" + "mn" + "mr" + "ms" + "mt" + "my" + "ne" + "nl" + "nn" + "no" + "oc" + "pa" + "pl" + "ps" + "pt" + "ro" + "ru" + "sa" + "sd" + "si" + "sk" + "sl" + "sn" + "so" + "sq" + "sr" + "su" + "sv" + "sw" + "ta" + "te" + "tg" + "th" + "tk" + "tl" + "tr" + "tt" + "uk" + "ur" + "uz" + "vi" + "yi" + "yo" + "zh" + ]; + example = "en"; + description = '' + The language used to to parse words and sentences. + ''; + }; - beamSize = mkOption { - type = ints.unsigned; - default = 1; - example = 5; - description = '' - The number of beams to use in beam search. - ''; - apply = toString; - }; + beamSize = mkOption { + type = ints.unsigned; + default = 1; + example = 5; + description = '' + The number of beams to use in beam search. + ''; + apply = toString; + }; - extraArgs = mkOption { - type = listOf str; - default = [ ]; - description = '' - Extra arguments to pass to the server commandline. - ''; - apply = escapeShellArgs; + extraArgs = mkOption { + type = listOf str; + default = [ ]; + description = '' + Extra arguments to pass to the server commandline. + ''; + apply = escapeShellArgs; + }; }; - }; - } - )); + } + ) + ); }; }; - config = let - inherit (lib) - mapAttrs' - mkIf - nameValuePair - ; - in mkIf (cfg.servers != {}) { - systemd.services = mapAttrs' (server: options: - nameValuePair "wyoming-faster-whisper-${server}" { - inherit (options) enable; - description = "Wyoming faster-whisper server instance ${server}"; - wants = [ - "network-online.target" - ]; - after = [ - "network-online.target" - ]; - wantedBy = [ - "multi-user.target" - ]; - # https://github.com/rhasspy/wyoming-faster-whisper/issues/27 - environment."HF_HUB_CACHE" = "/tmp"; - serviceConfig = { - DynamicUser = true; - User = "wyoming-faster-whisper"; - StateDirectory = "wyoming/faster-whisper"; - # https://github.com/home-assistant/addons/blob/master/whisper/rootfs/etc/s6-overlay/s6-rc.d/whisper/run - ExecStart = '' - ${cfg.package}/bin/wyoming-faster-whisper \ - --data-dir $STATE_DIRECTORY \ - --download-dir $STATE_DIRECTORY \ - --uri ${options.uri} \ - --device ${options.device} \ - --model ${options.model} \ - --language ${options.language} \ - --beam-size ${options.beamSize} ${options.extraArgs} - ''; - CapabilityBoundingSet = ""; - DeviceAllow = if builtins.elem options.device [ "cuda" "auto" ] then [ - # https://docs.nvidia.com/dgx/pdf/dgx-os-5-user-guide.pdf - "char-nvidia-uvm" - "char-nvidia-frontend" - "char-nvidia-caps" - "char-nvidiactl" - ] else ""; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - PrivateUsers = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectControlGroups = true; - ProtectProc = "invisible"; - ProcSubset = "pid"; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" + config = + let + inherit (lib) + mapAttrs' + mkIf + nameValuePair + ; + in + mkIf (cfg.servers != { }) { + systemd.services = mapAttrs' ( + server: options: + nameValuePair "wyoming-faster-whisper-${server}" { + inherit (options) enable; + description = "Wyoming faster-whisper server instance ${server}"; + wants = [ + "network-online.target" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" + after = [ + "network-online.target" ]; - UMask = "0077"; - }; - }) cfg.servers; - }; + wantedBy = [ + "multi-user.target" + ]; + # https://github.com/rhasspy/wyoming-faster-whisper/issues/27 + environment."HF_HUB_CACHE" = "/tmp"; + serviceConfig = { + DynamicUser = true; + User = "wyoming-faster-whisper"; + StateDirectory = "wyoming/faster-whisper"; + # https://github.com/home-assistant/addons/blob/master/whisper/rootfs/etc/s6-overlay/s6-rc.d/whisper/run + ExecStart = '' + ${cfg.package}/bin/wyoming-faster-whisper \ + --data-dir $STATE_DIRECTORY \ + --download-dir $STATE_DIRECTORY \ + --uri ${options.uri} \ + --device ${options.device} \ + --model ${options.model} \ + --language ${options.language} \ + --beam-size ${options.beamSize} ${options.extraArgs} + ''; + CapabilityBoundingSet = ""; + DeviceAllow = + if + builtins.elem options.device [ + "cuda" + "auto" + ] + then + [ + # https://docs.nvidia.com/dgx/pdf/dgx-os-5-user-guide.pdf + "char-nvidia-uvm" + "char-nvidia-frontend" + "char-nvidia-caps" + "char-nvidiactl" + ] + else + ""; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + PrivateUsers = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + UMask = "0077"; + }; + } + ) cfg.servers; + }; } diff --git a/nixos/modules/services/home-automation/wyoming/openwakeword.nix b/nixos/modules/services/home-automation/wyoming/openwakeword.nix index f9848970bf734..be6c2b74e1222 100644 --- a/nixos/modules/services/home-automation/wyoming/openwakeword.nix +++ b/nixos/modules/services/home-automation/wyoming/openwakeword.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -27,7 +28,12 @@ in { imports = [ - (mkRemovedOptionModule [ "services" "wyoming" "openwakeword" "models" ] "Configuring models has been removed, they are now dynamically discovered and loaded at runtime") + (mkRemovedOptionModule [ + "services" + "wyoming" + "openwakeword" + "models" + ] "Configuring models has been removed, they are now dynamically discovered and loaded at runtime") ]; meta.buildDocsInSandbox = false; @@ -48,7 +54,7 @@ in customModelsDirectories = mkOption { type = listOf types.path; - default = []; + default = [ ]; description = '' Paths to directories with custom wake word models (*.tflite model files). ''; diff --git a/nixos/modules/services/home-automation/wyoming/piper.nix b/nixos/modules/services/home-automation/wyoming/piper.nix index a26fe8e84f609..0f3af57e3aea8 100644 --- a/nixos/modules/services/home-automation/wyoming/piper.nix +++ b/nixos/modules/services/home-automation/wyoming/piper.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -28,150 +29,157 @@ in package = mkPackageOption pkgs "wyoming-piper" { }; servers = mkOption { - default = {}; + default = { }; description = '' Attribute set of piper instances to spawn. ''; - type = types.attrsOf (types.submodule ( - { ... }: { - options = { - enable = mkEnableOption "Wyoming Piper server"; - - piper = mkPackageOption pkgs "piper-tts" { }; - - voice = mkOption { - type = str; - example = "en-us-ryan-medium"; - description = '' - Name of the voice model to use. See the following website for samples: - https://rhasspy.github.io/piper-samples/ - ''; - }; - - uri = mkOption { - type = strMatching "^(tcp|unix)://.*$"; - example = "tcp://0.0.0.0:10200"; - description = '' - URI to bind the wyoming server to. - ''; - }; - - speaker = mkOption { - type = ints.unsigned; - default = 0; - description = '' - ID of a specific speaker in a multi-speaker model. - ''; - apply = toString; - }; - - noiseScale = mkOption { - type = float; - default = 0.667; - description = '' - Generator noise value. - ''; - apply = toString; - }; - - noiseWidth = mkOption { - type = float; - default = 0.333; - description = '' - Phoneme width noise value. - ''; - apply = toString; - }; - - lengthScale = mkOption { - type = float; - default = 1.0; - description = '' - Phoneme length value. - ''; - apply = toString; + type = types.attrsOf ( + types.submodule ( + { ... }: + { + options = { + enable = mkEnableOption "Wyoming Piper server"; + + piper = mkPackageOption pkgs "piper-tts" { }; + + voice = mkOption { + type = str; + example = "en-us-ryan-medium"; + description = '' + Name of the voice model to use. See the following website for samples: + https://rhasspy.github.io/piper-samples/ + ''; + }; + + uri = mkOption { + type = strMatching "^(tcp|unix)://.*$"; + example = "tcp://0.0.0.0:10200"; + description = '' + URI to bind the wyoming server to. + ''; + }; + + speaker = mkOption { + type = ints.unsigned; + default = 0; + description = '' + ID of a specific speaker in a multi-speaker model. + ''; + apply = toString; + }; + + noiseScale = mkOption { + type = float; + default = 0.667; + description = '' + Generator noise value. + ''; + apply = toString; + }; + + noiseWidth = mkOption { + type = float; + default = 0.333; + description = '' + Phoneme width noise value. + ''; + apply = toString; + }; + + lengthScale = mkOption { + type = float; + default = 1.0; + description = '' + Phoneme length value. + ''; + apply = toString; + }; + + extraArgs = mkOption { + type = listOf str; + default = [ ]; + description = '' + Extra arguments to pass to the server commandline. + ''; + apply = escapeShellArgs; + }; }; - - extraArgs = mkOption { - type = listOf str; - default = [ ]; - description = '' - Extra arguments to pass to the server commandline. - ''; - apply = escapeShellArgs; - }; - }; - } - )); + } + ) + ); }; }; - config = let - inherit (lib) - mapAttrs' - mkIf - nameValuePair - ; - in mkIf (cfg.servers != {}) { - systemd.services = mapAttrs' (server: options: - nameValuePair "wyoming-piper-${server}" { - inherit (options) enable; - description = "Wyoming Piper server instance ${server}"; - wants = [ - "network-online.target" - ]; - after = [ - "network-online.target" - ]; - wantedBy = [ - "multi-user.target" - ]; - serviceConfig = { - DynamicUser = true; - User = "wyoming-piper"; - StateDirectory = "wyoming/piper"; - # https://github.com/home-assistant/addons/blob/master/piper/rootfs/etc/s6-overlay/s6-rc.d/piper/run - ExecStart = '' - ${cfg.package}/bin/wyoming-piper \ - --data-dir $STATE_DIRECTORY \ - --download-dir $STATE_DIRECTORY \ - --uri ${options.uri} \ - --piper ${options.piper}/bin/piper \ - --voice ${options.voice} \ - --speaker ${options.speaker} \ - --length-scale ${options.lengthScale} \ - --noise-scale ${options.noiseScale} \ - --noise-w ${options.noiseWidth} ${options.extraArgs} - ''; - CapabilityBoundingSet = ""; - DeviceAllow = ""; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - PrivateDevices = true; - PrivateUsers = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectControlGroups = true; - ProtectProc = "invisible"; - ProcSubset = "pid"; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" + config = + let + inherit (lib) + mapAttrs' + mkIf + nameValuePair + ; + in + mkIf (cfg.servers != { }) { + systemd.services = mapAttrs' ( + server: options: + nameValuePair "wyoming-piper-${server}" { + inherit (options) enable; + description = "Wyoming Piper server instance ${server}"; + wants = [ + "network-online.target" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" + after = [ + "network-online.target" ]; - UMask = "0077"; - }; - }) cfg.servers; - }; + wantedBy = [ + "multi-user.target" + ]; + serviceConfig = { + DynamicUser = true; + User = "wyoming-piper"; + StateDirectory = "wyoming/piper"; + # https://github.com/home-assistant/addons/blob/master/piper/rootfs/etc/s6-overlay/s6-rc.d/piper/run + ExecStart = '' + ${cfg.package}/bin/wyoming-piper \ + --data-dir $STATE_DIRECTORY \ + --download-dir $STATE_DIRECTORY \ + --uri ${options.uri} \ + --piper ${options.piper}/bin/piper \ + --voice ${options.voice} \ + --speaker ${options.speaker} \ + --length-scale ${options.lengthScale} \ + --noise-scale ${options.noiseScale} \ + --noise-w ${options.noiseWidth} ${options.extraArgs} + ''; + CapabilityBoundingSet = ""; + DeviceAllow = ""; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + PrivateDevices = true; + PrivateUsers = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + UMask = "0077"; + }; + } + ) cfg.servers; + }; } diff --git a/nixos/modules/services/home-automation/wyoming/satellite.nix b/nixos/modules/services/home-automation/wyoming/satellite.nix index 531d375e703a3..b0064569cc325 100644 --- a/nixos/modules/services/home-automation/wyoming/satellite.nix +++ b/nixos/modules/services/home-automation/wyoming/satellite.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -19,15 +20,16 @@ let optional optionals types - ; + ; finalPackage = cfg.package.overridePythonAttrs (oldAttrs: { - propagatedBuildInputs = oldAttrs.propagatedBuildInputs + propagatedBuildInputs = + oldAttrs.propagatedBuildInputs # for audio enhancements like auto-gain, noise suppression ++ cfg.package.optional-dependencies.webrtc # vad is currently optional, because it is broken on aarch64-linux ++ optionals cfg.vad.enable cfg.package.optional-dependencies.silerovad; - }); + }); in { @@ -180,27 +182,45 @@ in path = with pkgs; [ alsa-utils ]; - script = let - optionalParam = param: argument: optionals (!elem argument [ null 0 false ]) [ - param argument - ]; - in '' - export XDG_RUNTIME_DIR=/run/user/$UID - ${escapeShellArgs ([ - (getExe finalPackage) - "--uri" cfg.uri - "--name" cfg.name - "--mic-command" cfg.microphone.command - ] - ++ optionalParam "--mic-auto-gain" cfg.microphone.autoGain - ++ optionalParam "--mic-noise-suppression" cfg.microphone.noiseSuppression - ++ optionalParam "--area" cfg.area - ++ optionalParam "--snd-command" cfg.sound.command - ++ optionalParam "--awake-wav" cfg.sounds.awake - ++ optionalParam "--done-wav" cfg.sounds.done - ++ optional cfg.vad.enable "--vad" - ++ cfg.extraArgs)} - ''; + script = + let + optionalParam = + param: argument: + optionals + ( + !elem argument [ + null + 0 + false + ] + ) + [ + param + argument + ]; + in + '' + export XDG_RUNTIME_DIR=/run/user/$UID + ${escapeShellArgs ( + [ + (getExe finalPackage) + "--uri" + cfg.uri + "--name" + cfg.name + "--mic-command" + cfg.microphone.command + ] + ++ optionalParam "--mic-auto-gain" cfg.microphone.autoGain + ++ optionalParam "--mic-noise-suppression" cfg.microphone.noiseSuppression + ++ optionalParam "--area" cfg.area + ++ optionalParam "--snd-command" cfg.sound.command + ++ optionalParam "--awake-wav" cfg.sounds.awake + ++ optionalParam "--done-wav" cfg.sounds.done + ++ optional cfg.vad.enable "--vad" + ++ cfg.extraArgs + )} + ''; serviceConfig = { User = cfg.user; Group = cfg.group; diff --git a/nixos/modules/services/home-automation/zigbee2mqtt.nix b/nixos/modules/services/home-automation/zigbee2mqtt.nix index b8be0acfda56b..c76c1c86da755 100644 --- a/nixos/modules/services/home-automation/zigbee2mqtt.nix +++ b/nixos/modules/services/home-automation/zigbee2mqtt.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.zigbee2mqtt; @@ -7,10 +12,17 @@ let in { - meta.maintainers = with lib.maintainers; [ sweber hexa ]; + meta.maintainers = with lib.maintainers; [ + sweber + hexa + ]; imports = [ - (lib.mkRemovedOptionModule [ "services" "zigbee2mqtt" "config" ] "The option services.zigbee2mqtt.config was renamed to services.zigbee2mqtt.settings.") + (lib.mkRemovedOptionModule [ + "services" + "zigbee2mqtt" + "config" + ] "The option services.zigbee2mqtt.config was renamed to services.zigbee2mqtt.settings.") ]; options.services.zigbee2mqtt = { @@ -75,7 +87,9 @@ in # Hardening CapabilityBoundingSet = ""; - DeviceAllow = lib.optionals (lib.hasPrefix "/" cfg.settings.serial.port) [ cfg.settings.serial.port ]; + DeviceAllow = lib.optionals (lib.hasPrefix "/" cfg.settings.serial.port) [ + cfg.settings.serial.port + ]; DevicePolicy = "closed"; LockPersonality = true; MemoryDenyWriteExecute = false; diff --git a/nixos/modules/services/home-automation/zwave-js.nix b/nixos/modules/services/home-automation/zwave-js.nix index 4ce7926242697..3d04ad7fa5589 100644 --- a/nixos/modules/services/home-automation/zwave-js.nix +++ b/nixos/modules/services/home-automation/zwave-js.nix @@ -1,9 +1,15 @@ -{config, pkgs, lib, ...}: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.zwave-js; mergedConfigFile = "/run/zwave-js/config.json"; - settingsFormat = pkgs.formats.json {}; -in { + settingsFormat = pkgs.formats.json { }; +in +{ options.services.zwave-js = { enable = lib.mkEnableOption "the zwave-js server on boot"; @@ -74,7 +80,7 @@ in { }; }; }; - default = {}; + default = { }; description = '' Configuration settings for the generated config file. @@ -92,57 +98,59 @@ in { }; config = lib.mkIf cfg.enable { - systemd.services.zwave-js = let - configFile = settingsFormat.generate "zwave-js-config.json" cfg.settings; - in { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - description = "Z-Wave JS Server"; - serviceConfig = { - ExecStartPre = '' - /bin/sh -c "${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${configFile} ${cfg.secretsConfigFile} > ${mergedConfigFile}" - ''; - ExecStart = lib.concatStringsSep " " [ - "${cfg.package}/bin/zwave-server" - "--config ${mergedConfigFile}" - "--port ${toString cfg.port}" - cfg.serialPort - (lib.escapeShellArgs cfg.extraFlags) - ]; - Restart = "on-failure"; - User = "zwave-js"; - SupplementaryGroups = [ "dialout" ]; - CacheDirectory = "zwave-js"; - RuntimeDirectory = "zwave-js"; - - # Hardening - CapabilityBoundingSet = ""; - DeviceAllow = [cfg.serialPort]; - DevicePolicy = "closed"; - DynamicUser = true; - LockPersonality = true; - MemoryDenyWriteExecute = false; - NoNewPrivileges = true; - PrivateUsers = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - RemoveIPC = true; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service @pkey" - "~@privileged @resources" - ]; - UMask = "0077"; + systemd.services.zwave-js = + let + configFile = settingsFormat.generate "zwave-js-config.json" cfg.settings; + in + { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + description = "Z-Wave JS Server"; + serviceConfig = { + ExecStartPre = '' + /bin/sh -c "${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${configFile} ${cfg.secretsConfigFile} > ${mergedConfigFile}" + ''; + ExecStart = lib.concatStringsSep " " [ + "${cfg.package}/bin/zwave-server" + "--config ${mergedConfigFile}" + "--port ${toString cfg.port}" + cfg.serialPort + (lib.escapeShellArgs cfg.extraFlags) + ]; + Restart = "on-failure"; + User = "zwave-js"; + SupplementaryGroups = [ "dialout" ]; + CacheDirectory = "zwave-js"; + RuntimeDirectory = "zwave-js"; + + # Hardening + CapabilityBoundingSet = ""; + DeviceAllow = [ cfg.serialPort ]; + DevicePolicy = "closed"; + DynamicUser = true; + LockPersonality = true; + MemoryDenyWriteExecute = false; + NoNewPrivileges = true; + PrivateUsers = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + RemoveIPC = true; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service @pkey" + "~@privileged @resources" + ]; + UMask = "0077"; + }; }; - }; }; meta.maintainers = with lib.maintainers; [ graham33 ]; diff --git a/nixos/modules/services/logging/SystemdJournal2Gelf.nix b/nixos/modules/services/logging/SystemdJournal2Gelf.nix index 5b2f05f8c0f15..dabff91691b95 100644 --- a/nixos/modules/services/logging/SystemdJournal2Gelf.nix +++ b/nixos/modules/services/logging/SystemdJournal2Gelf.nix @@ -1,8 +1,15 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.SystemdJournal2Gelf; +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.SystemdJournal2Gelf; in -{ options = { +{ + options = { services.SystemdJournal2Gelf = { enable = lib.mkOption { type = lib.types.bool; diff --git a/nixos/modules/services/logging/awstats.nix b/nixos/modules/services/logging/awstats.nix index d6d1fd64bd52a..5cd2eee77d5d8 100644 --- a/nixos/modules/services/logging/awstats.nix +++ b/nixos/modules/services/logging/awstats.nix @@ -1,93 +1,113 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.awstats; package = pkgs.awstats; - configOpts = {name, config, ...}: { - options = { - type = lib.mkOption{ - type = lib.types.enum [ "mail" "web" ]; - default = "web"; - example = "mail"; - description = '' - The type of log being collected. - ''; - }; - domain = lib.mkOption { - type = lib.types.str; - default = name; - description = "The domain name to collect stats for."; - example = "example.com"; - }; + configOpts = + { name, config, ... }: + { + options = { + type = lib.mkOption { + type = lib.types.enum [ + "mail" + "web" + ]; + default = "web"; + example = "mail"; + description = '' + The type of log being collected. + ''; + }; + domain = lib.mkOption { + type = lib.types.str; + default = name; + description = "The domain name to collect stats for."; + example = "example.com"; + }; - logFile = lib.mkOption { - type = lib.types.str; - example = "/var/log/nginx/access.log"; - description = '' - The log file to be scanned. - - For mail, set this to - ``` - journalctl $OLD_CURSOR -u postfix.service | ''${pkgs.perl}/bin/perl ''${pkgs.awstats.out}/share/awstats/tools/maillogconvert.pl standard | - ``` - ''; - }; + logFile = lib.mkOption { + type = lib.types.str; + example = "/var/log/nginx/access.log"; + description = '' + The log file to be scanned. - logFormat = lib.mkOption { - type = lib.types.str; - default = "1"; - description = '' - The log format being used. - - For mail, set this to - ``` - %time2 %email %email_r %host %host_r %method %url %code %bytesd - ``` - ''; - }; + For mail, set this to + ``` + journalctl $OLD_CURSOR -u postfix.service | ''${pkgs.perl}/bin/perl ''${pkgs.awstats.out}/share/awstats/tools/maillogconvert.pl standard | + ``` + ''; + }; - hostAliases = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - example = [ "www.example.org" ]; - description = '' - List of aliases the site has. - ''; - }; + logFormat = lib.mkOption { + type = lib.types.str; + default = "1"; + description = '' + The log format being used. - extraConfig = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - default = {}; - example = lib.literalExpression '' - { - "ValidHTTPCodes" = "404"; - } - ''; - description = "Extra configuration to be appended to awstats.\${name}.conf."; - }; + For mail, set this to + ``` + %time2 %email %email_r %host %host_r %method %url %code %bytesd + ``` + ''; + }; - webService = { - enable = lib.mkEnableOption "awstats web service"; + hostAliases = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ "www.example.org" ]; + description = '' + List of aliases the site has. + ''; + }; - hostname = lib.mkOption { - type = lib.types.str; - default = config.domain; - description = "The hostname the web service appears under."; + extraConfig = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + default = { }; + example = lib.literalExpression '' + { + "ValidHTTPCodes" = "404"; + } + ''; + description = "Extra configuration to be appended to awstats.\${name}.conf."; }; - urlPrefix = lib.mkOption { - type = lib.types.str; - default = "/awstats"; - description = "The URL prefix under which the awstats pages appear."; + webService = { + enable = lib.mkEnableOption "awstats web service"; + + hostname = lib.mkOption { + type = lib.types.str; + default = config.domain; + description = "The hostname the web service appears under."; + }; + + urlPrefix = lib.mkOption { + type = lib.types.str; + default = "/awstats"; + description = "The URL prefix under which the awstats pages appear."; + }; }; }; }; - }; webServices = lib.filterAttrs (name: value: value.webService.enable) cfg.configs; in { imports = [ - (lib.mkRemovedOptionModule [ "services" "awstats" "service" "enable" ] "Please enable per domain with `services.awstats.configs..webService.enable`") - (lib.mkRemovedOptionModule [ "services" "awstats" "service" "urlPrefix" ] "Please set per domain with `services.awstats.configs..webService.urlPrefix`") + (lib.mkRemovedOptionModule [ + "services" + "awstats" + "service" + "enable" + ] "Please enable per domain with `services.awstats.configs..webService.enable`") + (lib.mkRemovedOptionModule [ + "services" + "awstats" + "service" + "urlPrefix" + ] "Please set per domain with `services.awstats.configs..webService.urlPrefix`") (lib.mkRenamedOptionModule [ "services" "awstats" "vardir" ] [ "services" "awstats" "dataDir" ]) ]; @@ -102,7 +122,7 @@ in configs = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule configOpts); - default = {}; + default = { }; example = lib.literalExpression '' { "mysite" = { @@ -125,82 +145,83 @@ in }; }; - config = lib.mkIf cfg.enable { environment.systemPackages = [ package.bin ]; - environment.etc = lib.mapAttrs' (name: opts: - lib.nameValuePair "awstats/awstats.${name}.conf" { - source = pkgs.runCommand "awstats.${name}.conf" - { preferLocalBuild = true; } - ('' - sed \ - '' - # set up mail stats - + lib.optionalString (opts.type == "mail") - '' - -e 's|^\(LogType\)=.*$|\1=M|' \ - -e 's|^\(LevelForBrowsersDetection\)=.*$|\1=0|' \ - -e 's|^\(LevelForOSDetection\)=.*$|\1=0|' \ - -e 's|^\(LevelForRefererAnalyze\)=.*$|\1=0|' \ - -e 's|^\(LevelForRobotsDetection\)=.*$|\1=0|' \ - -e 's|^\(LevelForSearchEnginesDetection\)=.*$|\1=0|' \ - -e 's|^\(LevelForFileTypesDetection\)=.*$|\1=0|' \ - -e 's|^\(LevelForWormsDetection\)=.*$|\1=0|' \ - -e 's|^\(ShowMenu\)=.*$|\1=1|' \ - -e 's|^\(ShowSummary\)=.*$|\1=HB|' \ - -e 's|^\(ShowMonthStats\)=.*$|\1=HB|' \ - -e 's|^\(ShowDaysOfMonthStats\)=.*$|\1=HB|' \ - -e 's|^\(ShowDaysOfWeekStats\)=.*$|\1=HB|' \ - -e 's|^\(ShowHoursStats\)=.*$|\1=HB|' \ - -e 's|^\(ShowDomainsStats\)=.*$|\1=0|' \ - -e 's|^\(ShowHostsStats\)=.*$|\1=HB|' \ - -e 's|^\(ShowAuthenticatedUsers\)=.*$|\1=0|' \ - -e 's|^\(ShowRobotsStats\)=.*$|\1=0|' \ - -e 's|^\(ShowEMailSenders\)=.*$|\1=HBML|' \ - -e 's|^\(ShowEMailReceivers\)=.*$|\1=HBML|' \ - -e 's|^\(ShowSessionsStats\)=.*$|\1=0|' \ - -e 's|^\(ShowPagesStats\)=.*$|\1=0|' \ - -e 's|^\(ShowFileTypesStats\)=.*$|\1=0|' \ - -e 's|^\(ShowFileSizesStats\)=.*$|\1=0|' \ - -e 's|^\(ShowBrowsersStats\)=.*$|\1=0|' \ - -e 's|^\(ShowOSStats\)=.*$|\1=0|' \ - -e 's|^\(ShowOriginStats\)=.*$|\1=0|' \ - -e 's|^\(ShowKeyphrasesStats\)=.*$|\1=0|' \ - -e 's|^\(ShowKeywordsStats\)=.*$|\1=0|' \ - -e 's|^\(ShowMiscStats\)=.*$|\1=0|' \ - -e 's|^\(ShowHTTPErrorsStats\)=.*$|\1=0|' \ - -e 's|^\(ShowSMTPErrorsStats\)=.*$|\1=1|' \ - '' - + - # common options - '' - -e 's|^\(DirData\)=.*$|\1="${cfg.dataDir}/${name}"|' \ - -e 's|^\(DirIcons\)=.*$|\1="icons"|' \ - -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \ - -e 's|^\(SiteDomain\)=.*$|\1="${name}"|' \ - -e 's|^\(LogFile\)=.*$|\1="${opts.logFile}"|' \ - -e 's|^\(LogFormat\)=.*$|\1="${opts.logFormat}"|' \ - '' - + - # extra config - lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: '' - -e 's|^\(${n}\)=.*$|\1="${v}"|' \ - '') opts.extraConfig) - + - '' - < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out" - ''); - }) cfg.configs; + environment.etc = lib.mapAttrs' ( + name: opts: + lib.nameValuePair "awstats/awstats.${name}.conf" { + source = pkgs.runCommand "awstats.${name}.conf" { preferLocalBuild = true; } ( + '' + sed \ + '' + # set up mail stats + + lib.optionalString (opts.type == "mail") '' + -e 's|^\(LogType\)=.*$|\1=M|' \ + -e 's|^\(LevelForBrowsersDetection\)=.*$|\1=0|' \ + -e 's|^\(LevelForOSDetection\)=.*$|\1=0|' \ + -e 's|^\(LevelForRefererAnalyze\)=.*$|\1=0|' \ + -e 's|^\(LevelForRobotsDetection\)=.*$|\1=0|' \ + -e 's|^\(LevelForSearchEnginesDetection\)=.*$|\1=0|' \ + -e 's|^\(LevelForFileTypesDetection\)=.*$|\1=0|' \ + -e 's|^\(LevelForWormsDetection\)=.*$|\1=0|' \ + -e 's|^\(ShowMenu\)=.*$|\1=1|' \ + -e 's|^\(ShowSummary\)=.*$|\1=HB|' \ + -e 's|^\(ShowMonthStats\)=.*$|\1=HB|' \ + -e 's|^\(ShowDaysOfMonthStats\)=.*$|\1=HB|' \ + -e 's|^\(ShowDaysOfWeekStats\)=.*$|\1=HB|' \ + -e 's|^\(ShowHoursStats\)=.*$|\1=HB|' \ + -e 's|^\(ShowDomainsStats\)=.*$|\1=0|' \ + -e 's|^\(ShowHostsStats\)=.*$|\1=HB|' \ + -e 's|^\(ShowAuthenticatedUsers\)=.*$|\1=0|' \ + -e 's|^\(ShowRobotsStats\)=.*$|\1=0|' \ + -e 's|^\(ShowEMailSenders\)=.*$|\1=HBML|' \ + -e 's|^\(ShowEMailReceivers\)=.*$|\1=HBML|' \ + -e 's|^\(ShowSessionsStats\)=.*$|\1=0|' \ + -e 's|^\(ShowPagesStats\)=.*$|\1=0|' \ + -e 's|^\(ShowFileTypesStats\)=.*$|\1=0|' \ + -e 's|^\(ShowFileSizesStats\)=.*$|\1=0|' \ + -e 's|^\(ShowBrowsersStats\)=.*$|\1=0|' \ + -e 's|^\(ShowOSStats\)=.*$|\1=0|' \ + -e 's|^\(ShowOriginStats\)=.*$|\1=0|' \ + -e 's|^\(ShowKeyphrasesStats\)=.*$|\1=0|' \ + -e 's|^\(ShowKeywordsStats\)=.*$|\1=0|' \ + -e 's|^\(ShowMiscStats\)=.*$|\1=0|' \ + -e 's|^\(ShowHTTPErrorsStats\)=.*$|\1=0|' \ + -e 's|^\(ShowSMTPErrorsStats\)=.*$|\1=1|' \ + '' + + + # common options + '' + -e 's|^\(DirData\)=.*$|\1="${cfg.dataDir}/${name}"|' \ + -e 's|^\(DirIcons\)=.*$|\1="icons"|' \ + -e 's|^\(CreateDirDataIfNotExists\)=.*$|\1=1|' \ + -e 's|^\(SiteDomain\)=.*$|\1="${name}"|' \ + -e 's|^\(LogFile\)=.*$|\1="${opts.logFile}"|' \ + -e 's|^\(LogFormat\)=.*$|\1="${opts.logFormat}"|' \ + '' + + + # extra config + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (n: v: '' + -e 's|^\(${n}\)=.*$|\1="${v}"|' \ + '') opts.extraConfig + ) + + '' + < '${package.out}/wwwroot/cgi-bin/awstats.model.conf' > "$out" + '' + ); + } + ) cfg.configs; # create data directory with the correct permissions systemd.tmpfiles.rules = - [ "d '${cfg.dataDir}' 755 root root - -" ] ++ - lib.mapAttrsToList (name: opts: "d '${cfg.dataDir}/${name}' 755 root root - -") cfg.configs ++ - [ "Z '${cfg.dataDir}' 755 root root - -" ]; + [ "d '${cfg.dataDir}' 755 root root - -" ] + ++ lib.mapAttrsToList (name: opts: "d '${cfg.dataDir}/${name}' 755 root root - -") cfg.configs + ++ [ "Z '${cfg.dataDir}' 755 root root - -" ]; # nginx options - services.nginx.virtualHosts = lib.mapAttrs'(name: opts: { + services.nginx.virtualHosts = lib.mapAttrs' (name: opts: { name = opts.webService.hostname; value = { locations = { @@ -221,32 +242,36 @@ in }) webServices; # update awstats - systemd.services = lib.mkIf (cfg.updateAt != null) (lib.mapAttrs' (name: opts: - lib.nameValuePair "awstats-${name}-update" { - description = "update awstats for ${name}"; - script = lib.optionalString (opts.type == "mail") - '' - if [[ -f "${cfg.dataDir}/${name}-cursor" ]]; then - CURSOR="$(cat "${cfg.dataDir}/${name}-cursor" | tr -d '\n')" - if [[ -n "$CURSOR" ]]; then - echo "Using cursor: $CURSOR" - export OLD_CURSOR="--cursor $CURSOR" - fi - fi - NEW_CURSOR="$(journalctl $OLD_CURSOR -u postfix.service --show-cursor | tail -n 1 | tr -d '\n' | sed -e 's#^-- cursor: \(.*\)#\1#')" - echo "New cursor: $NEW_CURSOR" - ${package.bin}/bin/awstats -update -config=${name} - if [ -n "$NEW_CURSOR" ]; then - echo -n "$NEW_CURSOR" > ${cfg.dataDir}/${name}-cursor - fi - '' + '' - ${package.out}/share/awstats/tools/awstats_buildstaticpages.pl \ - -config=${name} -update -dir=${cfg.dataDir}/${name} \ - -awstatsprog=${package.bin}/bin/awstats - ''; - startAt = cfg.updateAt; - }) cfg.configs); + systemd.services = lib.mkIf (cfg.updateAt != null) ( + lib.mapAttrs' ( + name: opts: + lib.nameValuePair "awstats-${name}-update" { + description = "update awstats for ${name}"; + script = + lib.optionalString (opts.type == "mail") '' + if [[ -f "${cfg.dataDir}/${name}-cursor" ]]; then + CURSOR="$(cat "${cfg.dataDir}/${name}-cursor" | tr -d '\n')" + if [[ -n "$CURSOR" ]]; then + echo "Using cursor: $CURSOR" + export OLD_CURSOR="--cursor $CURSOR" + fi + fi + NEW_CURSOR="$(journalctl $OLD_CURSOR -u postfix.service --show-cursor | tail -n 1 | tr -d '\n' | sed -e 's#^-- cursor: \(.*\)#\1#')" + echo "New cursor: $NEW_CURSOR" + ${package.bin}/bin/awstats -update -config=${name} + if [ -n "$NEW_CURSOR" ]; then + echo -n "$NEW_CURSOR" > ${cfg.dataDir}/${name}-cursor + fi + '' + + '' + ${package.out}/share/awstats/tools/awstats_buildstaticpages.pl \ + -config=${name} -update -dir=${cfg.dataDir}/${name} \ + -awstatsprog=${package.bin}/bin/awstats + ''; + startAt = cfg.updateAt; + } + ) cfg.configs + ); }; } - diff --git a/nixos/modules/services/logging/filebeat.nix b/nixos/modules/services/logging/filebeat.nix index 57e0c60735780..53a00be860d7e 100644 --- a/nixos/modules/services/logging/filebeat.nix +++ b/nixos/modules/services/logging/filebeat.nix @@ -1,4 +1,10 @@ -{ config, lib, utils, pkgs, ... }: +{ + config, + lib, + utils, + pkgs, + ... +}: let inherit (lib) @@ -8,11 +14,12 @@ let mkPackageOption mkIf mkOption - types; + types + ; cfg = config.services.filebeat; - json = pkgs.formats.json {}; + json = pkgs.formats.json { }; in { options = { @@ -41,23 +48,28 @@ in See . ''; - default = {}; - type = types.attrsOf (types.submodule ({ name, ... }: { - freeformType = json.type; - options = { - type = mkOption { - type = types.str; - default = name; - description = '' - The input type. + default = { }; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { + freeformType = json.type; + options = { + type = mkOption { + type = types.str; + default = name; + description = '' + The input type. - Look for the value after `type:` on - the individual input pages linked from - . - ''; - }; - }; - })); + Look for the value after `type:` on + the individual input pages linked from + . + ''; + }; + }; + } + ) + ); example = literalExpression '' { journald.id = "everything"; # Only for filebeat7 @@ -91,23 +103,28 @@ in See . ''; - default = {}; - type = types.attrsOf (types.submodule ({ name, ... }: { - freeformType = json.type; - options = { - module = mkOption { - type = types.str; - default = name; - description = '' - The name of the module. + default = { }; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { + freeformType = json.type; + options = { + module = mkOption { + type = types.str; + default = name; + description = '' + The name of the module. - Look for the value after `module:` on - the individual input pages linked from - . - ''; - }; - }; - })); + Look for the value after `module:` on + the individual input pages linked from + . + ''; + }; + }; + } + ) + ); example = literalExpression '' { nginx = { @@ -152,7 +169,7 @@ in filebeat = { inputs = mkOption { type = types.listOf json.type; - default = []; + default = [ ]; internal = true; description = '' Inputs specify how Filebeat locates and processes @@ -163,7 +180,7 @@ in }; modules = mkOption { type = types.listOf json.type; - default = []; + default = [ ]; internal = true; description = '' Filebeat modules provide a quick way to get started @@ -180,7 +197,7 @@ in }; }; }; - default = {}; + default = { }; example = literalExpression '' { settings = { @@ -229,10 +246,7 @@ in umask u=rwx,g=,o= - ${utils.genJqSecretsReplacementSnippet - cfg.settings - "/var/lib/filebeat/filebeat.yml" - } + ${utils.genJqSecretsReplacementSnippet cfg.settings "/var/lib/filebeat/filebeat.yml"} ''; ExecStart = '' ${cfg.package}/bin/filebeat -e \ diff --git a/nixos/modules/services/logging/fluentd.nix b/nixos/modules/services/logging/fluentd.nix index fed5cacac37e3..5047a0be031e2 100644 --- a/nixos/modules/services/logging/fluentd.nix +++ b/nixos/modules/services/logging/fluentd.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.fluentd; pluginArgs = lib.concatStringsSep " " (map (x: "-p ${x}") cfg.plugins); -in { +in +{ ###### interface options = { @@ -21,7 +27,7 @@ in { plugins = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' A list of plugin paths to pass into fluentd. It will make plugins defined in ruby files there available in your config. @@ -30,7 +36,6 @@ in { }; }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/logging/graylog.nix b/nixos/modules/services/logging/graylog.nix index ff1860e99a757..dac7c10aa7da5 100644 --- a/nixos/modules/services/logging/graylog.nix +++ b/nixos/modules/services/logging/graylog.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.graylog; @@ -35,8 +40,14 @@ in package = lib.mkOption { type = lib.types.package; - default = if lib.versionOlder config.system.stateVersion "23.05" then pkgs.graylog-3_3 else pkgs.graylog-5_1; - defaultText = lib.literalExpression (if lib.versionOlder config.system.stateVersion "23.05" then "pkgs.graylog-3_3" else "pkgs.graylog-5_1"); + default = + if lib.versionOlder config.system.stateVersion "23.05" then pkgs.graylog-3_3 else pkgs.graylog-5_1; + defaultText = lib.literalExpression ( + if lib.versionOlder config.system.stateVersion "23.05" then + "pkgs.graylog-3_3" + else + "pkgs.graylog-5_1" + ); description = "Graylog package to use."; }; @@ -124,7 +135,6 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -136,7 +146,7 @@ in description = "Graylog server daemon user"; }; }; - users.groups = lib.mkIf (cfg.user == "graylog") { graylog = {}; }; + users.groups = lib.mkIf (cfg.user == "graylog") { graylog = { }; }; systemd.tmpfiles.rules = [ "d '${cfg.messageJournalDir}' - ${cfg.user} - - -" @@ -148,7 +158,10 @@ in environment = { GRAYLOG_CONF = "${confFile}"; }; - path = [ pkgs.which pkgs.procps ]; + path = [ + pkgs.which + pkgs.procps + ]; preStart = '' rm -rf /var/lib/graylog/plugins || true mkdir -p /var/lib/graylog/plugins -m 755 @@ -164,7 +177,7 @@ in done ''; serviceConfig = { - User="${cfg.user}"; + User = "${cfg.user}"; StateDirectory = "graylog"; ExecStart = "${cfg.package}/bin/graylogctl run"; }; diff --git a/nixos/modules/services/logging/heartbeat.nix b/nixos/modules/services/logging/heartbeat.nix index a9fa644d550df..e0b475e8a284f 100644 --- a/nixos/modules/services/logging/heartbeat.nix +++ b/nixos/modules/services/logging/heartbeat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.heartbeat; @@ -29,7 +34,7 @@ in tags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "Tags to place on the shipped log messages"; }; diff --git a/nixos/modules/services/logging/journalbeat.nix b/nixos/modules/services/logging/journalbeat.nix index 5c35e84f88e09..af178a3838d26 100644 --- a/nixos/modules/services/logging/journalbeat.nix +++ b/nixos/modules/services/logging/journalbeat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.journalbeat; @@ -27,7 +32,7 @@ in tags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "Tags to place on the shipped log messages"; }; @@ -56,8 +61,8 @@ in { assertion = !lib.hasPrefix "/" cfg.stateDir; message = - "The option services.journalbeat.stateDir shouldn't be an absolute directory." + - " It should be a directory relative to /var/lib/."; + "The option services.journalbeat.stateDir shouldn't be an absolute directory." + + " It should be a directory relative to /var/lib/."; } ]; diff --git a/nixos/modules/services/logging/journaldriver.nix b/nixos/modules/services/logging/journaldriver.nix index bb82f8cf30ccd..efb53de0b4842 100644 --- a/nixos/modules/services/logging/journaldriver.nix +++ b/nixos/modules/services/logging/journaldriver.nix @@ -9,14 +9,22 @@ # For further information please consult the documentation in the # upstream repository at: https://github.com/tazjin/journaldriver/ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: -with lib; let cfg = config.services.journaldriver; -in { +with lib; +let + cfg = config.services.journaldriver; +in +{ options.services.journaldriver = { enable = mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = '' Whether to enable journaldriver to forward journald logs to Stackdriver Logging. @@ -24,16 +32,16 @@ in { }; logLevel = mkOption { - type = types.str; - default = "info"; + type = types.str; + default = "info"; description = '' Log level at which journaldriver logs its own output. ''; }; logName = mkOption { - type = with types; nullOr str; - default = null; + type = with types; nullOr str; + default = null; description = '' Configures the name of the target log in Stackdriver Logging. This option can be set to, for example, the hostname of a @@ -43,8 +51,8 @@ in { }; googleCloudProject = mkOption { - type = with types; nullOr str; - default = null; + type = with types; nullOr str; + default = null; description = '' Configures the name of the Google Cloud project to which to forward journald logs. @@ -55,8 +63,8 @@ in { }; logStream = mkOption { - type = with types; nullOr str; - default = null; + type = with types; nullOr str; + default = null; description = '' Configures the name of the Stackdriver Logging log stream into which to write journald entries. @@ -67,8 +75,8 @@ in { }; applicationCredentials = mkOption { - type = with types; nullOr path; - default = null; + type = with types; nullOr path; + default = null; description = '' Path to the service account private key (in JSON-format) used to forward log entries to Stackdriver Logging on non-GCP @@ -83,14 +91,14 @@ in { config = mkIf cfg.enable { systemd.services.journaldriver = { description = "Stackdriver Logging journal forwarder"; - script = "${pkgs.journaldriver}/bin/journaldriver"; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; + script = "${pkgs.journaldriver}/bin/journaldriver"; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { - Restart = "always"; - DynamicUser = true; + Restart = "always"; + DynamicUser = true; # This directive lets systemd automatically configure # permissions on /var/lib/journaldriver, the directory in @@ -102,10 +110,10 @@ in { }; environment = { - RUST_LOG = cfg.logLevel; - LOG_NAME = cfg.logName; - LOG_STREAM = cfg.logStream; - GOOGLE_CLOUD_PROJECT = cfg.googleCloudProject; + RUST_LOG = cfg.logLevel; + LOG_NAME = cfg.logName; + LOG_STREAM = cfg.logStream; + GOOGLE_CLOUD_PROJECT = cfg.googleCloudProject; GOOGLE_APPLICATION_CREDENTIALS = cfg.applicationCredentials; }; }; diff --git a/nixos/modules/services/logging/journalwatch.nix b/nixos/modules/services/logging/journalwatch.nix index ab75ed656c190..cfecf9c294282 100644 --- a/nixos/modules/services/logging/journalwatch.nix +++ b/nixos/modules/services/logging/journalwatch.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.journalwatch; user = "journalwatch"; @@ -6,17 +11,19 @@ let group = "systemd-journal"; dataDir = "/var/lib/${user}"; - journalwatchConfig = pkgs.writeText "config" ('' - # (File Generated by NixOS journalwatch module.) - [DEFAULT] - mail_binary = ${cfg.mailBinary} - priority = ${toString cfg.priority} - mail_from = ${cfg.mailFrom} - '' - + lib.optionalString (cfg.mailTo != null) '' - mail_to = ${cfg.mailTo} - '' - + cfg.extraConfig); + journalwatchConfig = pkgs.writeText "config" ( + '' + # (File Generated by NixOS journalwatch module.) + [DEFAULT] + mail_binary = ${cfg.mailBinary} + priority = ${toString cfg.priority} + mail_from = ${cfg.mailFrom} + '' + + lib.optionalString (cfg.mailTo != null) '' + mail_to = ${cfg.mailTo} + '' + + cfg.extraConfig + ); journalwatchPatterns = pkgs.writeText "patterns" '' # (File Generated by NixOS journalwatch module.) @@ -25,25 +32,33 @@ let ''; # empty line at the end needed to to separate the blocks - mkPatterns = filterBlocks: lib.concatStringsSep "\n" (map (block: '' - ${block.match} - ${block.filters} + mkPatterns = + filterBlocks: + lib.concatStringsSep "\n" ( + map (block: '' + ${block.match} + ${block.filters} - '') filterBlocks); + '') filterBlocks + ); # can't use joinSymlinks directly, because when we point $XDG_CONFIG_HOME # to the /nix/store path, we still need the subdirectory "journalwatch" inside that # to match journalwatch's expectations - journalwatchConfigDir = pkgs.runCommand "journalwatch-config" - { preferLocalBuild = true; allowSubstitutes = false; } - '' - mkdir -p $out/journalwatch - ln -sf ${journalwatchConfig} $out/journalwatch/config - ln -sf ${journalwatchPatterns} $out/journalwatch/patterns - ''; - - -in { + journalwatchConfigDir = + pkgs.runCommand "journalwatch-config" + { + preferLocalBuild = true; + allowSubstitutes = false; + } + '' + mkdir -p $out/journalwatch + ln -sf ${journalwatchConfig} $out/journalwatch/config + ln -sf ${journalwatchPatterns} $out/journalwatch/patterns + ''; + +in +{ options = { services.journalwatch = { enable = lib.mkOption { @@ -103,42 +118,44 @@ in { Extra lines to be added verbatim to the journalwatch/config configuration file. You can add any commandline argument to the config, without the '--'. See `journalwatch --help` for all arguments and their description. - ''; + ''; }; filterBlocks = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - match = lib.mkOption { - type = lib.types.str; - example = "SYSLOG_IDENTIFIER = systemd"; - description = '' - Syntax: `field = value` - Specifies the log entry `field` this block should apply to. - If the `field` of a message matches this `value`, - this patternBlock's {option}`filters` are applied. - If `value` starts and ends with a slash, it is interpreted as - an extended python regular expression, if not, it's an exact match. - The journal fields are explained in systemd.journal-fields(7). - ''; - }; - - filters = lib.mkOption { - type = lib.types.str; - example = '' - (Stopped|Stopping|Starting|Started) .* - (Reached target|Stopped target) .* - ''; - description = '' - The filters to apply on all messages which satisfy {option}`match`. - Any of those messages that match any specified filter will be removed from journalwatch's output. - Each filter is an extended Python regular expression. - You can specify multiple filters and separate them by newlines. - Lines starting with '#' are comments. Inline-comments are not permitted. - ''; + type = lib.types.listOf ( + lib.types.submodule { + options = { + match = lib.mkOption { + type = lib.types.str; + example = "SYSLOG_IDENTIFIER = systemd"; + description = '' + Syntax: `field = value` + Specifies the log entry `field` this block should apply to. + If the `field` of a message matches this `value`, + this patternBlock's {option}`filters` are applied. + If `value` starts and ends with a slash, it is interpreted as + an extended python regular expression, if not, it's an exact match. + The journal fields are explained in systemd.journal-fields(7). + ''; + }; + + filters = lib.mkOption { + type = lib.types.str; + example = '' + (Stopped|Stopping|Starting|Started) .* + (Reached target|Stopped target) .* + ''; + description = '' + The filters to apply on all messages which satisfy {option}`match`. + Any of those messages that match any specified filter will be removed from journalwatch's output. + Each filter is an extended Python regular expression. + You can specify multiple filters and separate them by newlines. + Lines starting with '#' are comments. Inline-comments are not permitted. + ''; + }; }; - }; - }); + } + ); example = [ # examples taken from upstream @@ -174,7 +191,6 @@ in { } ]; - description = '' filterBlocks can be defined to blacklist journal messages which are not errors. Each block matches on a log entry field, and the filters in that block then are matched @@ -242,8 +258,8 @@ in { StateDirectoryMode = "0750"; ExecStart = "${lib.getExe cfg.package} mail"; # lowest CPU and IO priority, but both still in best-effort class to prevent starvation - Nice=19; - IOSchedulingPriority=7; + Nice = 19; + IOSchedulingPriority = 7; }; }; diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index d937a523c8661..81b8ccb3f15f1 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -1,17 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.logcheck; defaultRules = pkgs.runCommand "logcheck-default-rules" { preferLocalBuild = true; } '' - cp -prd ${pkgs.logcheck}/etc/logcheck $out - chmod u+w $out - rm -r $out/logcheck.* - ''; - - rulesDir = pkgs.symlinkJoin - { name = "logcheck-rules-dir"; - paths = ([ defaultRules ] ++ cfg.extraRulesDirs); - }; + cp -prd ${pkgs.logcheck}/etc/logcheck $out + chmod u+w $out + rm -r $out/logcheck.* + ''; + + rulesDir = pkgs.symlinkJoin { + name = "logcheck-rules-dir"; + paths = ([ defaultRules ] ++ cfg.extraRulesDirs); + }; configFile = pkgs.writeText "logcheck.conf" cfg.config; @@ -19,31 +24,49 @@ let flags = "-r ${rulesDir} -c ${configFile} -L ${logFiles} -${levelFlag} -m ${cfg.mailTo}"; - levelFlag = lib.getAttrFromPath [cfg.level] - { paranoid = "p"; - server = "s"; - workstation = "w"; - }; + levelFlag = lib.getAttrFromPath [ cfg.level ] { + paranoid = "p"; + server = "s"; + workstation = "w"; + }; cronJob = '' @reboot logcheck env PATH=/run/wrappers/bin:$PATH nice -n10 ${pkgs.logcheck}/sbin/logcheck -R ${flags} 2 ${cfg.timeOfDay} * * * logcheck env PATH=/run/wrappers/bin:$PATH nice -n10 ${pkgs.logcheck}/sbin/logcheck ${flags} ''; - writeIgnoreRule = name: {level, regex, ...}: - pkgs.writeTextFile - { inherit name; - destination = "/ignore.d.${level}/${name}"; - text = '' - ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ ${regex} - ''; - }; + writeIgnoreRule = + name: + { level, regex, ... }: + pkgs.writeTextFile { + inherit name; + destination = "/ignore.d.${level}/${name}"; + text = '' + ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ ${regex} + ''; + }; - writeIgnoreCronRule = name: {level, user, regex, cmdline, ...}: - let escapeRegex = lib.escape (lib.stringToCharacters "\\[]{}()^$?*+|."); - cmdline_ = builtins.unsafeDiscardStringContext cmdline; - re = if regex != "" then regex else if cmdline_ == "" then ".*" else escapeRegex cmdline_; - in writeIgnoreRule "cron-${name}" { + writeIgnoreCronRule = + name: + { + level, + user, + regex, + cmdline, + ... + }: + let + escapeRegex = lib.escape (lib.stringToCharacters "\\[]{}()^$?*+|."); + cmdline_ = builtins.unsafeDiscardStringContext cmdline; + re = + if regex != "" then + regex + else if cmdline_ == "" then + ".*" + else + escapeRegex cmdline_; + in + writeIgnoreRule "cron-${name}" { inherit level; regex = '' (/usr/bin/)?cron\[[0-9]+\]: \(${user}\) CMD \(${re}\)$ @@ -52,7 +75,11 @@ let levelOption = lib.mkOption { default = "server"; - type = lib.types.enum [ "workstation" "server" "paranoid" ]; + type = lib.types.enum [ + "workstation" + "server" + "paranoid" + ]; description = '' Set the logcheck level. ''; @@ -155,14 +182,17 @@ in files = lib.mkOption { default = [ "/var/log/messages" ]; type = lib.types.listOf lib.types.path; - example = [ "/var/log/messages" "/var/log/mail" ]; + example = [ + "/var/log/messages" + "/var/log/mail" + ]; description = '' Which log files to check. ''; }; extraRulesDirs = lib.mkOption { - default = []; + default = [ ]; example = [ "/etc/logcheck" ]; type = lib.types.listOf lib.types.path; description = '' @@ -171,7 +201,7 @@ in }; ignore = lib.mkOption { - default = {}; + default = { }; description = '' This option defines extra ignore rules. ''; @@ -179,7 +209,7 @@ in }; ignoreCron = lib.mkOption { - default = {}; + default = { }; description = '' This option defines extra ignore rules for cronjobs. ''; @@ -187,9 +217,12 @@ in }; extraGroups = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; - example = [ "postdrop" "mongodb" ]; + example = [ + "postdrop" + "mongodb" + ]; description = '' Extra groups for the logcheck user, for example to be able to use sendmail, or to access certain log files. @@ -201,8 +234,8 @@ in config = lib.mkIf cfg.enable { services.logcheck.extraRulesDirs = - lib.mapAttrsToList writeIgnoreRule cfg.ignore - ++ lib.mapAttrsToList writeIgnoreCronRule cfg.ignoreCron; + lib.mapAttrsToList writeIgnoreRule cfg.ignore + ++ lib.mapAttrsToList writeIgnoreCronRule cfg.ignoreCron; users.users = lib.optionalAttrs (cfg.user == "logcheck") { logcheck = { @@ -214,7 +247,7 @@ in }; }; users.groups = lib.optionalAttrs (cfg.user == "logcheck") { - logcheck = {}; + logcheck = { }; }; systemd.tmpfiles.settings.logcheck = { @@ -229,11 +262,20 @@ in }; services.cron.systemCronJobs = - let withTime = name: {timeArgs, ...}: timeArgs != null; - mkCron = name: {user, cmdline, timeArgs, ...}: '' - ${timeArgs} ${user} ${cmdline} - ''; - in lib.mapAttrsToList mkCron (lib.filterAttrs withTime cfg.ignoreCron) - ++ [ cronJob ]; + let + withTime = name: { timeArgs, ... }: timeArgs != null; + mkCron = + name: + { + user, + cmdline, + timeArgs, + ... + }: + '' + ${timeArgs} ${user} ${cmdline} + ''; + in + lib.mapAttrsToList mkCron (lib.filterAttrs withTime cfg.ignoreCron) ++ [ cronJob ]; }; } diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index 31f0eef77c461..1bf3e6f81eaab 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.logstash; ops = lib.optionalString; @@ -22,21 +27,31 @@ let logstashJvmOptionsFile = pkgs.writeText "jvm.options" cfg.extraJvmOptions; - logstashSettingsDir = pkgs.runCommand "logstash-settings" { - inherit logstashJvmOptionsFile; - inherit logstashSettingsYml; - preferLocalBuild = true; - } '' - mkdir -p $out - ln -s $logstashSettingsYml $out/logstash.yml - ln -s $logstashJvmOptionsFile $out/jvm.options - ''; + logstashSettingsDir = + pkgs.runCommand "logstash-settings" + { + inherit logstashJvmOptionsFile; + inherit logstashSettingsYml; + preferLocalBuild = true; + } + '' + mkdir -p $out + ln -s $logstashSettingsYml $out/logstash.yml + ln -s $logstashJvmOptionsFile $out/jvm.options + ''; in { imports = [ - (lib.mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ]) - (lib.mkRemovedOptionModule [ "services" "logstash" "enableWeb" ] "The web interface was removed from logstash") + (lib.mkRenamedOptionModule + [ "services" "logstash" "address" ] + [ "services" "logstash" "listenAddress" ] + ) + (lib.mkRemovedOptionModule [ + "services" + "logstash" + "enableWeb" + ] "The web interface was removed from logstash") ]; ###### interface @@ -70,7 +85,13 @@ in }; logLevel = lib.mkOption { - type = lib.types.enum [ "debug" "info" "warn" "error" "fatal" ]; + type = lib.types.enum [ + "debug" + "info" + "warn" + "error" + "fatal" + ]; default = "warn"; description = "Logging verbosity level."; }; @@ -161,7 +182,6 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -171,15 +191,17 @@ in path = [ pkgs.bash ]; serviceConfig = { ExecStartPre = ''${pkgs.coreutils}/bin/mkdir -p "${cfg.dataDir}" ; ${pkgs.coreutils}/bin/chmod 700 "${cfg.dataDir}"''; - ExecStart = lib.concatStringsSep " " (lib.filter (s: lib.stringLength s != 0) [ - "${cfg.package}/bin/logstash" - "-w ${toString cfg.filterWorkers}" - (lib.concatMapStringsSep " " (x: "--path.plugins ${x}") cfg.plugins) - "${verbosityFlag}" - "-f ${logstashConf}" - "--path.settings ${logstashSettingsDir}" - "--path.data ${cfg.dataDir}" - ]); + ExecStart = lib.concatStringsSep " " ( + lib.filter (s: lib.stringLength s != 0) [ + "${cfg.package}/bin/logstash" + "-w ${toString cfg.filterWorkers}" + (lib.concatMapStringsSep " " (x: "--path.plugins ${x}") cfg.plugins) + "${verbosityFlag}" + "-f ${logstashConf}" + "--path.settings ${logstashSettingsDir}" + "--path.data ${cfg.dataDir}" + ] + ); }; }; }; diff --git a/nixos/modules/services/logging/rsyslogd.nix b/nixos/modules/services/logging/rsyslogd.nix index 88a8ff840682e..01a94c549dfc8 100644 --- a/nixos/modules/services/logging/rsyslogd.nix +++ b/nixos/modules/services/logging/rsyslogd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rsyslogd; @@ -75,27 +80,26 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.rsyslog ]; - systemd.services.syslog = - { description = "Syslog Daemon"; + systemd.services.syslog = { + description = "Syslog Daemon"; - requires = [ "syslog.socket" ]; + requires = [ "syslog.socket" ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; - serviceConfig = - { ExecStart = "${pkgs.rsyslog}/sbin/rsyslogd ${toString cfg.extraParams} -f ${syslogConf} -n"; - ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/spool/rsyslog"; - # Prevent syslogd output looping back through journald. - StandardOutput = "null"; - }; + serviceConfig = { + ExecStart = "${pkgs.rsyslog}/sbin/rsyslogd ${toString cfg.extraParams} -f ${syslogConf} -n"; + ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/spool/rsyslog"; + # Prevent syslogd output looping back through journald. + StandardOutput = "null"; }; + }; }; diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix index d9d4b0cdb94a8..4c04d1f1f5ddd 100644 --- a/nixos/modules/services/logging/syslog-ng.nix +++ b/nixos/modules/services/logging/syslog-ng.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.syslog-ng; @@ -14,14 +19,17 @@ let syslogngOptions = [ "--foreground" - "--module-path=${lib.concatStringsSep ":" (["${cfg.package}/lib/syslog-ng"] ++ cfg.extraModulePaths)}" + "--module-path=${ + lib.concatStringsSep ":" ([ "${cfg.package}/lib/syslog-ng" ] ++ cfg.extraModulePaths) + }" "--cfgfile=${syslogngConfig}" "--control=${ctrlSocket}" "--persist-file=${persistFile}" "--pidfile=${pidFile}" ]; -in { +in +{ imports = [ (lib.mkRemovedOptionModule [ "services" "syslog-ng" "serviceName" ] "") (lib.mkRemovedOptionModule [ "services" "syslog-ng" "listenToJournal" ] "") @@ -40,7 +48,7 @@ in { package = lib.mkPackageOption pkgs "syslogng" { }; extraModulePaths = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' A list of paths that should be included in syslog-ng's `--module-path` option. They should usually diff --git a/nixos/modules/services/logging/syslogd.nix b/nixos/modules/services/logging/syslogd.nix index ad2d09b5a8de6..d1994c9f1b8e6 100644 --- a/nixos/modules/services/logging/syslogd.nix +++ b/nixos/modules/services/logging/syslogd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.syslogd; @@ -92,35 +97,35 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { - assertions = - [ { assertion = !config.services.rsyslogd.enable; - message = "rsyslogd conflicts with syslogd"; - } - ]; + assertions = [ + { + assertion = !config.services.rsyslogd.enable; + message = "rsyslogd conflicts with syslogd"; + } + ]; environment.systemPackages = [ pkgs.sysklogd ]; services.syslogd.extraParams = lib.optional cfg.enableNetworkInput "-r"; # FIXME: restarting syslog seems to break journal logging. - systemd.services.syslog = - { description = "Syslog Daemon"; + systemd.services.syslog = { + description = "Syslog Daemon"; - requires = [ "syslog.socket" ]; + requires = [ "syslog.socket" ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; - serviceConfig = - { ExecStart = "${pkgs.sysklogd}/sbin/syslogd ${toString cfg.extraParams} -f ${syslogConf} -n"; - # Prevent syslogd output looping back through journald. - StandardOutput = "null"; - }; + serviceConfig = { + ExecStart = "${pkgs.sysklogd}/sbin/syslogd ${toString cfg.extraParams} -f ${syslogConf} -n"; + # Prevent syslogd output looping back through journald. + StandardOutput = "null"; }; + }; }; diff --git a/nixos/modules/services/logging/ulogd.nix b/nixos/modules/services/logging/ulogd.nix index 9d1d8e61231dc..76fa40284f759 100644 --- a/nixos/modules/services/logging/ulogd.nix +++ b/nixos/modules/services/logging/ulogd.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ulogd; settingsFormat = pkgs.formats.ini { listsAsDuplicateKeys = true; }; settingsFile = settingsFormat.generate "ulogd.conf" cfg.settings; -in { +in +{ options = { services.ulogd = { enable = lib.mkEnableOption "ulogd, a userspace logging daemon for netfilter/iptables related logging"; @@ -29,15 +35,19 @@ in { }; type = settingsFormat.type; default = { }; - description = - "Configuration for ulogd. See {file}`/share/doc/ulogd/` in `pkgs.ulogd.doc`."; + description = "Configuration for ulogd. See {file}`/share/doc/ulogd/` in `pkgs.ulogd.doc`."; }; logLevel = lib.mkOption { - type = lib.types.enum [ 1 3 5 7 8 ]; + type = lib.types.enum [ + 1 + 3 + 5 + 7 + 8 + ]; default = 5; - description = - "Log level (1 = debug, 3 = info, 5 = notice, 7 = error, 8 = fatal)"; + description = "Log level (1 = debug, 3 = info, 5 = notice, 7 = error, 8 = fatal)"; }; }; }; @@ -50,10 +60,7 @@ in { before = [ "network-pre.target" ]; serviceConfig = { - ExecStart = - "${pkgs.ulogd}/bin/ulogd -c ${settingsFile} --verbose --loglevel ${ - toString cfg.logLevel - }"; + ExecStart = "${pkgs.ulogd}/bin/ulogd -c ${settingsFile} --verbose --loglevel ${toString cfg.logLevel}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; }; diff --git a/nixos/modules/services/logging/vector.nix b/nixos/modules/services/logging/vector.nix index 7c69e790171f2..dd9aa769ee592 100644 --- a/nixos/modules/services/logging/vector.nix +++ b/nixos/modules/services/logging/vector.nix @@ -1,5 +1,11 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.vector; +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.vector; in { @@ -38,13 +44,16 @@ in let format = pkgs.formats.toml { }; conf = format.generate "vector.toml" cfg.settings; - validateConfig = file: - pkgs.runCommand "validate-vector-conf" { - nativeBuildInputs = [ cfg.package ]; - } '' - vector validate --no-environment "${file}" - ln -s "${file}" "$out" - ''; + validateConfig = + file: + pkgs.runCommand "validate-vector-conf" + { + nativeBuildInputs = [ cfg.package ]; + } + '' + vector validate --no-environment "${file}" + ln -s "${file}" "$out" + ''; in { ExecStart = "${lib.getExe cfg.package} --config ${validateConfig conf}"; diff --git a/nixos/modules/services/mail/clamsmtp.nix b/nixos/modules/services/mail/clamsmtp.nix index d40ed7bf6e2de..e54d8893a3b6e 100644 --- a/nixos/modules/services/mail/clamsmtp.nix +++ b/nixos/modules/services/mail/clamsmtp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.clamsmtp; clamdSocket = "/run/clamav/clamd.ctl"; # See services/security/clamav.nix @@ -15,155 +20,169 @@ in instances = lib.mkOption { description = "Instances of clamsmtp to run."; - type = lib.types.listOf (lib.types.submodule { options = { - action = lib.mkOption { - type = lib.types.enum [ "bounce" "drop" "pass" ]; - default = "drop"; - description = '' - Action to take when a virus is detected. - - Note that viruses often spoof sender addresses, so bouncing is - in most cases not a good idea. - ''; - }; - - header = lib.mkOption { - type = lib.types.str; - default = ""; - example = "X-Virus-Scanned: ClamAV using ClamSMTP"; - description = '' - A header to add to scanned messages. See clamsmtpd.conf(5) for - more details. Empty means no header. - ''; - }; - - keepAlives = lib.mkOption { - type = lib.types.int; - default = 0; - description = '' - Number of seconds to wait between each NOOP sent to the sending - server. 0 to disable. - - This is meant for slow servers where the sending MTA times out - waiting for clamd to scan the file. - ''; - }; - - listen = lib.mkOption { - type = lib.types.str; - example = "127.0.0.1:10025"; - description = '' - Address to wait for incoming SMTP connections on. See - clamsmtpd.conf(5) for more details. - ''; - }; - - quarantine = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to quarantine files that contain viruses by leaving them - in the temporary directory. - ''; - }; - - maxConnections = lib.mkOption { - type = lib.types.int; - default = 64; - description = "Maximum number of connections to accept at once."; - }; - - outAddress = lib.mkOption { - type = lib.types.str; - description = '' - Address of the SMTP server to send email to once it has been - scanned. - ''; - }; - - tempDirectory = lib.mkOption { - type = lib.types.str; - default = "/tmp"; - description = '' - Temporary directory that needs to be accessible to both clamd - and clamsmtpd. - ''; - }; - - timeout = lib.mkOption { - type = lib.types.int; - default = 180; - description = "Time-out for network connections."; - }; - - transparentProxy = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable clamsmtp's transparent proxy support."; - }; - - virusAction = lib.mkOption { - type = with lib.types; nullOr path; - default = null; - description = '' - Command to run when a virus is found. Please see VIRUS ACTION in - clamsmtpd(8) for a discussion of this option and its safe use. - ''; - }; - - xClient = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Send the XCLIENT command to the receiving server, for forwarding - client addresses and connection information if the receiving - server supports this feature. - ''; - }; - };}); + type = lib.types.listOf ( + lib.types.submodule { + options = { + action = lib.mkOption { + type = lib.types.enum [ + "bounce" + "drop" + "pass" + ]; + default = "drop"; + description = '' + Action to take when a virus is detected. + + Note that viruses often spoof sender addresses, so bouncing is + in most cases not a good idea. + ''; + }; + + header = lib.mkOption { + type = lib.types.str; + default = ""; + example = "X-Virus-Scanned: ClamAV using ClamSMTP"; + description = '' + A header to add to scanned messages. See clamsmtpd.conf(5) for + more details. Empty means no header. + ''; + }; + + keepAlives = lib.mkOption { + type = lib.types.int; + default = 0; + description = '' + Number of seconds to wait between each NOOP sent to the sending + server. 0 to disable. + + This is meant for slow servers where the sending MTA times out + waiting for clamd to scan the file. + ''; + }; + + listen = lib.mkOption { + type = lib.types.str; + example = "127.0.0.1:10025"; + description = '' + Address to wait for incoming SMTP connections on. See + clamsmtpd.conf(5) for more details. + ''; + }; + + quarantine = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to quarantine files that contain viruses by leaving them + in the temporary directory. + ''; + }; + + maxConnections = lib.mkOption { + type = lib.types.int; + default = 64; + description = "Maximum number of connections to accept at once."; + }; + + outAddress = lib.mkOption { + type = lib.types.str; + description = '' + Address of the SMTP server to send email to once it has been + scanned. + ''; + }; + + tempDirectory = lib.mkOption { + type = lib.types.str; + default = "/tmp"; + description = '' + Temporary directory that needs to be accessible to both clamd + and clamsmtpd. + ''; + }; + + timeout = lib.mkOption { + type = lib.types.int; + default = 180; + description = "Time-out for network connections."; + }; + + transparentProxy = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable clamsmtp's transparent proxy support."; + }; + + virusAction = lib.mkOption { + type = with lib.types; nullOr path; + default = null; + description = '' + Command to run when a virus is found. Please see VIRUS ACTION in + clamsmtpd(8) for a discussion of this option and its safe use. + ''; + }; + + xClient = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Send the XCLIENT command to the receiving server, for forwarding + client addresses and connection information if the receiving + server supports this feature. + ''; + }; + }; + } + ); }; }; }; ##### implementation - config = let - configfile = conf: pkgs.writeText "clamsmtpd.conf" - '' - Action: ${conf.action} - ClamAddress: ${clamdSocket} - Header: ${conf.header} - KeepAlives: ${toString conf.keepAlives} - Listen: ${conf.listen} - Quarantine: ${if conf.quarantine then "on" else "off"} - MaxConnections: ${toString conf.maxConnections} - OutAddress: ${conf.outAddress} - TempDirectory: ${conf.tempDirectory} - TimeOut: ${toString conf.timeout} - TransparentProxy: ${if conf.transparentProxy then "on" else "off"} - User: clamav - ${lib.optionalString (conf.virusAction != null) "VirusAction: ${conf.virusAction}"} - XClient: ${if conf.xClient then "on" else "off"} - ''; - in + config = + let + configfile = + conf: + pkgs.writeText "clamsmtpd.conf" '' + Action: ${conf.action} + ClamAddress: ${clamdSocket} + Header: ${conf.header} + KeepAlives: ${toString conf.keepAlives} + Listen: ${conf.listen} + Quarantine: ${if conf.quarantine then "on" else "off"} + MaxConnections: ${toString conf.maxConnections} + OutAddress: ${conf.outAddress} + TempDirectory: ${conf.tempDirectory} + TimeOut: ${toString conf.timeout} + TransparentProxy: ${if conf.transparentProxy then "on" else "off"} + User: clamav + ${lib.optionalString (conf.virusAction != null) "VirusAction: ${conf.virusAction}"} + XClient: ${if conf.xClient then "on" else "off"} + ''; + in lib.mkIf cfg.enable { assertions = [ - { assertion = config.services.clamav.daemon.enable; + { + assertion = config.services.clamav.daemon.enable; message = "clamsmtp requires clamav to be enabled"; } ]; - systemd.services = lib.listToAttrs (lib.imap1 (i: conf: - lib.nameValuePair "clamsmtp-${toString i}" { - description = "ClamSMTP instance ${toString i}"; - wantedBy = [ "multi-user.target" ]; - script = "exec ${pkgs.clamsmtp}/bin/clamsmtpd -f ${configfile conf}"; - after = [ "clamav-daemon.service" ]; - requires = [ "clamav-daemon.service" ]; - serviceConfig.Type = "forking"; - serviceConfig.PrivateTmp = "yes"; - unitConfig.JoinsNamespaceOf = "clamav-daemon.service"; - } - ) cfg.instances); + systemd.services = lib.listToAttrs ( + lib.imap1 ( + i: conf: + lib.nameValuePair "clamsmtp-${toString i}" { + description = "ClamSMTP instance ${toString i}"; + wantedBy = [ "multi-user.target" ]; + script = "exec ${pkgs.clamsmtp}/bin/clamsmtpd -f ${configfile conf}"; + after = [ "clamav-daemon.service" ]; + requires = [ "clamav-daemon.service" ]; + serviceConfig.Type = "forking"; + serviceConfig.PrivateTmp = "yes"; + unitConfig.JoinsNamespaceOf = "clamav-daemon.service"; + } + ) cfg.instances + ); }; meta.maintainers = with lib.maintainers; [ ekleog ]; diff --git a/nixos/modules/services/mail/davmail.nix b/nixos/modules/services/mail/davmail.nix index 00e1ecb3852b3..4f97e8a5966dc 100644 --- a/nixos/modules/services/mail/davmail.nix +++ b/nixos/modules/services/mail/davmail.nix @@ -1,123 +1,147 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.davmail; - configType = with lib.types; - oneOf [ (attrsOf configType) str int bool ] // { + configType = + with lib.types; + oneOf [ + (attrsOf configType) + str + int + bool + ] + // { description = "davmail config type (str, int, bool or attribute set thereof)"; }; toStr = val: if lib.isBool val then lib.boolToString val else toString val; - linesForAttrs = attrs: lib.concatMap (name: let value = attrs.${name}; in - if lib.isAttrs value - then map (line: name + "." + line) (linesForAttrs value) - else [ "${name}=${toStr value}" ] - ) (lib.attrNames attrs); - - configFile = pkgs.writeText "davmail.properties" (lib.concatStringsSep "\n" (linesForAttrs cfg.config)); + linesForAttrs = + attrs: + lib.concatMap ( + name: + let + value = attrs.${name}; + in + if lib.isAttrs value then + map (line: name + "." + line) (linesForAttrs value) + else + [ "${name}=${toStr value}" ] + ) (lib.attrNames attrs); + + configFile = pkgs.writeText "davmail.properties" ( + lib.concatStringsSep "\n" (linesForAttrs cfg.config) + ); in - { - options.services.davmail = { - enable = lib.mkEnableOption "davmail, an MS Exchange gateway"; +{ + options.services.davmail = { + enable = lib.mkEnableOption "davmail, an MS Exchange gateway"; - url = lib.mkOption { - type = lib.types.str; - description = "Outlook Web Access URL to access the exchange server, i.e. the base webmail URL."; - example = "https://outlook.office365.com/EWS/Exchange.asmx"; - }; + url = lib.mkOption { + type = lib.types.str; + description = "Outlook Web Access URL to access the exchange server, i.e. the base webmail URL."; + example = "https://outlook.office365.com/EWS/Exchange.asmx"; + }; - config = lib.mkOption { - type = configType; - default = {}; - description = '' - Davmail configuration. Refer to - - and - for details on supported values. - ''; - example = lib.literalExpression '' - { - davmail.allowRemote = true; - davmail.imapPort = 55555; - davmail.bindAddress = "10.0.1.2"; - davmail.smtpSaveInSent = true; - davmail.folderSizeLimit = 10; - davmail.caldavAutoSchedule = false; - log4j.logger.rootLogger = "DEBUG"; - } - ''; + config = lib.mkOption { + type = configType; + default = { }; + description = '' + Davmail configuration. Refer to + + and + for details on supported values. + ''; + example = lib.literalExpression '' + { + davmail.allowRemote = true; + davmail.imapPort = 55555; + davmail.bindAddress = "10.0.1.2"; + davmail.smtpSaveInSent = true; + davmail.folderSizeLimit = 10; + davmail.caldavAutoSchedule = false; + log4j.logger.rootLogger = "DEBUG"; + } + ''; + }; + }; + + config = lib.mkIf cfg.enable { + + services.davmail.config = { + davmail = lib.mapAttrs (name: lib.mkDefault) { + server = true; + disableUpdateCheck = true; + logFilePath = "/var/log/davmail/davmail.log"; + logFileSize = "1MB"; + mode = "auto"; + url = cfg.url; + caldavPort = 1080; + imapPort = 1143; + ldapPort = 1389; + popPort = 1110; + smtpPort = 1025; + }; + log4j = { + logger.davmail = lib.mkDefault "WARN"; + logger.httpclient.wire = lib.mkDefault "WARN"; + logger.org.apache.commons.httpclient = lib.mkDefault "WARN"; + rootLogger = lib.mkDefault "WARN"; }; }; - config = lib.mkIf cfg.enable { - - services.davmail.config = { - davmail = lib.mapAttrs (name: lib.mkDefault) { - server = true; - disableUpdateCheck = true; - logFilePath = "/var/log/davmail/davmail.log"; - logFileSize = "1MB"; - mode = "auto"; - url = cfg.url; - caldavPort = 1080; - imapPort = 1143; - ldapPort = 1389; - popPort = 1110; - smtpPort = 1025; - }; - log4j = { - logger.davmail = lib.mkDefault "WARN"; - logger.httpclient.wire = lib.mkDefault "WARN"; - logger.org.apache.commons.httpclient = lib.mkDefault "WARN"; - rootLogger = lib.mkDefault "WARN"; - }; - }; + systemd.services.davmail = { + description = "DavMail POP/IMAP/SMTP Exchange Gateway"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.davmail}/bin/davmail ${configFile}"; + Restart = "on-failure"; + DynamicUser = "yes"; + LogsDirectory = "davmail"; + + CapabilityBoundingSet = [ "" ]; + DeviceAllow = [ "" ]; + LockPersonality = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectSystem = "strict"; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + SystemCallErrorNumber = "EPERM"; + UMask = "0077"; - systemd.services.davmail = { - description = "DavMail POP/IMAP/SMTP Exchange Gateway"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.davmail}/bin/davmail ${configFile}"; - Restart = "on-failure"; - DynamicUser = "yes"; - LogsDirectory = "davmail"; - - CapabilityBoundingSet = [ "" ]; - DeviceAllow = [ "" ]; - LockPersonality = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectSystem = "strict"; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = "@system-service"; - SystemCallErrorNumber = "EPERM"; - UMask = "0077"; - - }; }; - - environment.systemPackages = [ pkgs.davmail ]; }; - } + + environment.systemPackages = [ pkgs.davmail ]; + }; +} diff --git a/nixos/modules/services/mail/dkimproxy-out.nix b/nixos/modules/services/mail/dkimproxy-out.nix index 1d6a143dc8363..2fefcd6b68a26 100644 --- a/nixos/modules/services/mail/dkimproxy-out.nix +++ b/nixos/modules/services/mail/dkimproxy-out.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dkimproxy-out; keydir = "/var/lib/dkimproxy-out"; @@ -13,11 +18,11 @@ in type = lib.types.bool; default = false; description = '' - Whether to enable dkimproxy_out. + Whether to enable dkimproxy_out. - Note that a key will be auto-generated, and can be found in - ${keydir}. - ''; + Note that a key will be auto-generated, and can be found in + ${keydir}. + ''; }; listen = lib.mkOption { @@ -34,7 +39,10 @@ in domains = lib.mkOption { type = with lib.types; listOf str; - example = [ "example.org" "example.com" ]; + example = [ + "example.org" + "example.com" + ]; description = "List of domains DKIMproxy can sign for."; }; @@ -42,22 +50,22 @@ in type = lib.types.str; example = "selector1"; description = '' - The selector to use for DKIM key identification. + The selector to use for DKIM key identification. - For example, if 'selector1' is used here, then for each domain - 'example.org' given in `domain`, 'selector1._domainkey.example.org' - should contain the TXT record indicating the public key is the one - in ${pubkey}: "v=DKIM1; t=s; p=[THE PUBLIC KEY]". - ''; + For example, if 'selector1' is used here, then for each domain + 'example.org' given in `domain`, 'selector1._domainkey.example.org' + should contain the TXT record indicating the public key is the one + in ${pubkey}: "v=DKIM1; t=s; p=[THE PUBLIC KEY]". + ''; }; keySize = lib.mkOption { type = lib.types.int; default = 2048; description = '' - Size of the RSA key to use to sign outgoing emails. Note that the - maximum mandatorily verified as per RFC6376 is 2048. - ''; + Size of the RSA key to use to sign outgoing emails. Note that the + maximum mandatorily verified as per RFC6376 is 2048. + ''; }; # TODO: allow signature for other schemes than dkim(c=relaxed/relaxed)? @@ -67,9 +75,9 @@ in }; ##### implementation - config = let - configfile = pkgs.writeText "dkimproxy_out.conf" - '' + config = + let + configfile = pkgs.writeText "dkimproxy_out.conf" '' listen ${cfg.listen} relay ${cfg.relay} @@ -80,9 +88,9 @@ in keyfile ${privkey} ''; - in + in lib.mkIf cfg.enable { - users.groups.dkimproxy-out = {}; + users.groups.dkimproxy-out = { }; users.users.dkimproxy-out = { description = "DKIMproxy_out daemon"; group = "dkimproxy-out"; diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 1d17dd66e0716..4388be30a9350 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -1,11 +1,35 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) attrValues concatMapStringsSep concatStrings - concatStringsSep flatten imap1 literalExpression mapAttrsToList - mkEnableOption mkIf mkOption mkRemovedOptionModule optional optionalAttrs - optionalString singleton types mkRenamedOptionModule nameValuePair - mapAttrs' listToAttrs filter; + inherit (lib) + attrValues + concatMapStringsSep + concatStrings + concatStringsSep + flatten + imap1 + literalExpression + mapAttrsToList + mkEnableOption + mkIf + mkOption + mkRemovedOptionModule + optional + optionalAttrs + optionalString + singleton + types + mkRenamedOptionModule + nameValuePair + mapAttrs' + listToAttrs + filter + ; inherit (lib.strings) match; cfg = config.services.dovecot2; @@ -14,25 +38,36 @@ let baseDir = "/run/dovecot2"; stateDir = "/var/lib/dovecot"; - sieveScriptSettings = mapAttrs' (to: _: nameValuePair "sieve_${to}" "${stateDir}/sieve/${to}") cfg.sieve.scripts; - imapSieveMailboxSettings = listToAttrs (flatten (imap1 (idx: el: - singleton { - name = "imapsieve_mailbox${toString idx}_name"; - value = el.name; - } ++ optional (el.from != null) { - name = "imapsieve_mailbox${toString idx}_from"; - value = el.from; - } ++ optional (el.causes != []) { - name = "imapsieve_mailbox${toString idx}_causes"; - value = concatStringsSep "," el.causes; - } ++ optional (el.before != null) { - name = "imapsieve_mailbox${toString idx}_before"; - value = "file:${stateDir}/imapsieve/before/${baseNameOf el.before}"; - } ++ optional (el.after != null) { - name = "imapsieve_mailbox${toString idx}_after"; - value = "file:${stateDir}/imapsieve/after/${baseNameOf el.after}"; - } - ) cfg.imapsieve.mailbox)); + sieveScriptSettings = mapAttrs' ( + to: _: nameValuePair "sieve_${to}" "${stateDir}/sieve/${to}" + ) cfg.sieve.scripts; + imapSieveMailboxSettings = listToAttrs ( + flatten ( + imap1 ( + idx: el: + singleton { + name = "imapsieve_mailbox${toString idx}_name"; + value = el.name; + } + ++ optional (el.from != null) { + name = "imapsieve_mailbox${toString idx}_from"; + value = el.from; + } + ++ optional (el.causes != [ ]) { + name = "imapsieve_mailbox${toString idx}_causes"; + value = concatStringsSep "," el.causes; + } + ++ optional (el.before != null) { + name = "imapsieve_mailbox${toString idx}_before"; + value = "file:${stateDir}/imapsieve/before/${baseNameOf el.before}"; + } + ++ optional (el.after != null) { + name = "imapsieve_mailbox${toString idx}_after"; + value = "file:${stateDir}/imapsieve/after/${baseNameOf el.after}"; + } + ) cfg.imapsieve.mailbox + ) + ); mkExtraConfigCollisionWarning = term: '' You referred to ${term} in `services.dovecot2.extraConfig`. @@ -45,26 +80,31 @@ let # Those settings are automatically set based on other parts # of this module. - automaticallySetPluginSettings = [ - "sieve_plugins" - "sieve_extensions" - "sieve_global_extensions" - "sieve_pipe_bin_dir" - ] - ++ (builtins.attrNames sieveScriptSettings) - ++ (builtins.attrNames imapSieveMailboxSettings); + automaticallySetPluginSettings = + [ + "sieve_plugins" + "sieve_extensions" + "sieve_global_extensions" + "sieve_pipe_bin_dir" + ] + ++ (builtins.attrNames sieveScriptSettings) + ++ (builtins.attrNames imapSieveMailboxSettings); # The idea is to match everything that looks like `$term =` # but not `# $term something something` # or `# $term = some value` because those are comments. configContainsSetting = lines: term: (match "^[^#]*\b${term}\b.*=" lines) != null; - warnAboutExtraConfigCollisions = map mkExtraConfigCollisionWarning (filter (configContainsSetting cfg.extraConfig) automaticallySetPluginSettings); + warnAboutExtraConfigCollisions = map mkExtraConfigCollisionWarning ( + filter (configContainsSetting cfg.extraConfig) automaticallySetPluginSettings + ); - sievePipeBinScriptDirectory = pkgs.linkFarm "sieve-pipe-bins" (map (el: { + sievePipeBinScriptDirectory = pkgs.linkFarm "sieve-pipe-bins" ( + map (el: { name = builtins.unsafeDiscardStringContext (baseNameOf el); path = el; - }) cfg.sieve.pipeBins); + }) cfg.sieve.pipeBins + ); dovecotConf = concatStrings [ '' @@ -75,29 +115,28 @@ let mail_plugins = $mail_plugins ${concatStringsSep " " cfg.mailPlugins.globally.enable} '' - ( - concatStringsSep "\n" ( - mapAttrsToList ( - protocol: plugins: '' - protocol ${protocol} { - mail_plugins = $mail_plugins ${concatStringsSep " " plugins.enable} - } - '' - ) cfg.mailPlugins.perProtocol - ) - ) + (concatStringsSep "\n" ( + mapAttrsToList (protocol: plugins: '' + protocol ${protocol} { + mail_plugins = $mail_plugins ${concatStringsSep " " plugins.enable} + } + '') cfg.mailPlugins.perProtocol + )) ( - if cfg.sslServerCert == null then '' - ssl = no - disable_plaintext_auth = no - '' else '' - ssl_cert = <${cfg.sslServerCert} - ssl_key = <${cfg.sslServerKey} - ${optionalString (cfg.sslCACert != null) ("ssl_ca = <" + cfg.sslCACert)} - ${optionalString cfg.enableDHE ''ssl_dh = <${config.security.dhparams.params.dovecot2.path}''} - disable_plaintext_auth = yes - '' + if cfg.sslServerCert == null then + '' + ssl = no + disable_plaintext_auth = no + '' + else + '' + ssl_cert = <${cfg.sslServerCert} + ssl_key = <${cfg.sslServerKey} + ${optionalString (cfg.sslCACert != null) ("ssl_ca = <" + cfg.sslCACert)} + ${optionalString cfg.enableDHE ''ssl_dh = <${config.security.dhparams.params.dovecot2.path}''} + disable_plaintext_auth = yes + '' ) '' @@ -118,49 +157,43 @@ let } '' - ( - optionalString cfg.enablePAM '' - userdb { - driver = passwd - } + (optionalString cfg.enablePAM '' + userdb { + driver = passwd + } - passdb { - driver = pam - args = ${optionalString cfg.showPAMFailure "failure_show_msg=yes"} dovecot2 - } - '' - ) + passdb { + driver = pam + args = ${optionalString cfg.showPAMFailure "failure_show_msg=yes"} dovecot2 + } + '') - ( - optionalString (cfg.mailboxes != {}) '' - namespace inbox { - inbox=yes - ${concatStringsSep "\n" (map mailboxConfig (attrValues cfg.mailboxes))} - } - '' - ) + (optionalString (cfg.mailboxes != { }) '' + namespace inbox { + inbox=yes + ${concatStringsSep "\n" (map mailboxConfig (attrValues cfg.mailboxes))} + } + '') - ( - optionalString cfg.enableQuota '' - service quota-status { - executable = ${dovecotPkg}/libexec/dovecot/quota-status -p postfix - inet_listener { - port = ${cfg.quotaPort} - } - client_limit = 1 + (optionalString cfg.enableQuota '' + service quota-status { + executable = ${dovecotPkg}/libexec/dovecot/quota-status -p postfix + inet_listener { + port = ${cfg.quotaPort} } + client_limit = 1 + } - plugin { - quota_rule = *:storage=${cfg.quotaGlobalPerUser} - quota = count:User quota # per virtual mail user quota - quota_status_success = DUNNO - quota_status_nouser = DUNNO - quota_status_overquota = "552 5.2.2 Mailbox is full" - quota_grace = 10%% - quota_vsizes = yes - } - '' - ) + plugin { + quota_rule = *:storage=${cfg.quotaGlobalPerUser} + quota = count:User quota # per virtual mail user quota + quota_status_success = DUNNO + quota_status_nouser = DUNNO + quota_status_overquota = "552 5.2.2 Mailbox is full" + quota_grace = 10%% + quota_vsizes = yes + } + '') # General plugin settings: # - sieve is mostly generated here, refer to `pluginSettings` to follow @@ -176,55 +209,81 @@ let modulesDir = pkgs.symlinkJoin { name = "dovecot-modules"; - paths = map (pkg: "${pkg}/lib/dovecot") ([ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules); + paths = map (pkg: "${pkg}/lib/dovecot") ( + [ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules + ); }; - mailboxConfig = mailbox: '' - mailbox "${mailbox.name}" { - auto = ${toString mailbox.auto} - '' + optionalString (mailbox.autoexpunge != null) '' - autoexpunge = ${mailbox.autoexpunge} - '' + optionalString (mailbox.specialUse != null) '' - special_use = \${toString mailbox.specialUse} - '' + "}"; - - mailboxes = { name, ... }: { - options = { - name = mkOption { - type = types.strMatching ''[^"]+''; - example = "Spam"; - default = name; - readOnly = true; - description = "The name of the mailbox."; - }; - auto = mkOption { - type = types.enum [ "no" "create" "subscribe" ]; - default = "no"; - example = "subscribe"; - description = "Whether to automatically create or create and subscribe to the mailbox or not."; - }; - specialUse = mkOption { - type = types.nullOr (types.enum [ "All" "Archive" "Drafts" "Flagged" "Junk" "Sent" "Trash" ]); - default = null; - example = "Junk"; - description = "Null if no special use flag is set. Other than that every use flag mentioned in the RFC is valid."; - }; - autoexpunge = mkOption { - type = types.nullOr types.str; - default = null; - example = "60d"; - description = '' - To automatically remove all email from the mailbox which is older than the - specified time. - ''; + mailboxConfig = + mailbox: + '' + mailbox "${mailbox.name}" { + auto = ${toString mailbox.auto} + '' + + optionalString (mailbox.autoexpunge != null) '' + autoexpunge = ${mailbox.autoexpunge} + '' + + optionalString (mailbox.specialUse != null) '' + special_use = \${toString mailbox.specialUse} + '' + + "}"; + + mailboxes = + { name, ... }: + { + options = { + name = mkOption { + type = types.strMatching ''[^"]+''; + example = "Spam"; + default = name; + readOnly = true; + description = "The name of the mailbox."; + }; + auto = mkOption { + type = types.enum [ + "no" + "create" + "subscribe" + ]; + default = "no"; + example = "subscribe"; + description = "Whether to automatically create or create and subscribe to the mailbox or not."; + }; + specialUse = mkOption { + type = types.nullOr ( + types.enum [ + "All" + "Archive" + "Drafts" + "Flagged" + "Junk" + "Sent" + "Trash" + ] + ); + default = null; + example = "Junk"; + description = "Null if no special use flag is set. Other than that every use flag mentioned in the RFC is valid."; + }; + autoexpunge = mkOption { + type = types.nullOr types.str; + default = null; + example = "60d"; + description = '' + To automatically remove all email from the mailbox which is older than the + specified time. + ''; + }; }; }; - }; in { imports = [ (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "") - (mkRenamedOptionModule [ "services" "dovecot2" "sieveScripts" ] [ "services" "dovecot2" "sieve" "scripts" ]) + (mkRenamedOptionModule + [ "services" "dovecot2" "sieveScripts" ] + [ "services" "dovecot2" "sieve" "scripts" ] + ) ]; options.services.dovecot2 = { @@ -232,13 +291,15 @@ in enablePop3 = mkEnableOption "starting the POP3 listener (when Dovecot is enabled)"; - enableImap = mkEnableOption "starting the IMAP listener (when Dovecot is enabled)" // { default = true; }; + enableImap = mkEnableOption "starting the IMAP listener (when Dovecot is enabled)" // { + default = true; + }; enableLmtp = mkEnableOption "starting the LMTP listener (when Dovecot is enabled)"; protocols = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Additional listeners to start when Dovecot is enabled."; }; @@ -263,40 +324,53 @@ in mailPlugins = let - plugins = hint: types.submodule { - options = { - enable = mkOption { - type = types.listOf types.str; - default = []; - description = "mail plugins to enable as a list of strings to append to the ${hint} `$mail_plugins` configuration variable"; + plugins = + hint: + types.submodule { + options = { + enable = mkOption { + type = types.listOf types.str; + default = [ ]; + description = "mail plugins to enable as a list of strings to append to the ${hint} `$mail_plugins` configuration variable"; + }; }; }; - }; in - mkOption { - type = with types; submodule { + mkOption { + type = + with types; + submodule { options = { globally = mkOption { description = "Additional entries to add to the mail_plugins variable for all protocols"; type = plugins "top-level"; - example = { enable = [ "virtual" ]; }; - default = { enable = []; }; + example = { + enable = [ "virtual" ]; + }; + default = { + enable = [ ]; + }; }; perProtocol = mkOption { description = "Additional entries to add to the mail_plugins variable, per protocol"; type = attrsOf (plugins "corresponding per-protocol"); - default = {}; - example = { imap = [ "imap_acl" ]; }; + default = { }; + example = { + imap = [ "imap_acl" ]; + }; }; }; }; - description = "Additional entries to add to the mail_plugins variable, globally and per protocol"; - example = { - globally.enable = [ "acl" ]; - perProtocol.imap.enable = [ "imap_acl" ]; - }; - default = { globally.enable = []; perProtocol = {}; }; + description = "Additional entries to add to the mail_plugins variable, globally and per protocol"; + example = { + globally.enable = [ "acl" ]; + perProtocol.imap.enable = [ "imap_acl" ]; }; + default = { + globally.enable = [ ]; + perProtocol = { }; + }; + }; configFile = mkOption { type = types.nullOr types.path; @@ -307,7 +381,7 @@ in mailLocation = mkOption { type = types.str; - default = "maildir:/var/spool/mail/%u"; /* Same as inbox, as postfix */ + default = "maildir:/var/spool/mail/%u"; # Same as inbox, as postfix example = "maildir:~/mail:INBOX=/var/spool/mail/%u"; description = '' Location that dovecot will use for mail folders. Dovecot mail_location option. @@ -326,13 +400,18 @@ in description = "Default group to store mail for virtual users."; }; - createMailUser = mkEnableOption ''automatically creating the user - given in {option}`services.dovecot.user` and the group - given in {option}`services.dovecot.group`'' // { default = true; }; + createMailUser = + mkEnableOption '' + automatically creating the user + given in {option}`services.dovecot.user` and the group + given in {option}`services.dovecot.group`'' + // { + default = true; + }; modules = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.dovecot_pigeonhole ]"; description = '' Symlinks the contents of lib/dovecot of every given package into @@ -359,18 +438,29 @@ in description = "Path to the server's private key."; }; - enablePAM = mkEnableOption "creating a own Dovecot PAM service and configure PAM user logins" // { default = true; }; + enablePAM = mkEnableOption "creating a own Dovecot PAM service and configure PAM user logins" // { + default = true; + }; - enableDHE = mkEnableOption "ssl_dh and generation of primes for the key exchange" // { default = true; }; + enableDHE = mkEnableOption "ssl_dh and generation of primes for the key exchange" // { + default = true; + }; showPAMFailure = mkEnableOption "showing the PAM failure message on authentication error (useful for OTPW)"; mailboxes = mkOption { - type = with types; coercedTo - (listOf unspecified) - (list: listToAttrs (map (entry: { name = entry.name; value = removeAttrs entry ["name"]; }) list)) - (attrsOf (submodule mailboxes)); - default = {}; + type = + with types; + coercedTo (listOf unspecified) ( + list: + listToAttrs ( + map (entry: { + name = entry.name; + value = removeAttrs entry [ "name" ]; + }) list + ) + ) (attrsOf (submodule mailboxes)); + default = { }; example = literalExpression '' { Spam = { specialUse = "Junk"; auto = "create"; }; @@ -396,11 +486,15 @@ in description = "Quota limit for the user in bytes. Supports suffixes b, k, M, G, T and %."; }; - pluginSettings = mkOption { # types.str does not coerce from packages, like `sievePipeBinScriptDirectory`. - type = types.attrsOf (types.oneOf [ types.str types.package ]); - default = {}; + type = types.attrsOf ( + types.oneOf [ + types.str + types.package + ] + ); + default = { }; example = literalExpression '' { sieve = "file:~/sieve;active=~/.dovecot.sieve"; @@ -417,86 +511,104 @@ in }; imapsieve.mailbox = mkOption { - default = []; + default = [ ]; description = "Configure Sieve filtering rules on IMAP actions"; - type = types.listOf (types.submodule ({ config, ... }: { - options = { - name = mkOption { - description = '' - This setting configures the name of a mailbox for which administrator scripts are configured. - - The settings defined hereafter with matching sequence numbers apply to the mailbox named by this setting. - - This setting supports wildcards with a syntax compatible with the IMAP LIST command, meaning that this setting can apply to multiple or even all ("*") mailboxes. - ''; - example = "Junk"; - type = types.str; - }; + type = types.listOf ( + types.submodule ( + { config, ... }: + { + options = { + name = mkOption { + description = '' + This setting configures the name of a mailbox for which administrator scripts are configured. - from = mkOption { - default = null; - description = '' - Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox..name when the message originates from the indicated mailbox. + The settings defined hereafter with matching sequence numbers apply to the mailbox named by this setting. - This setting supports wildcards with a syntax compatible with the IMAP LIST command, meaning that this setting can apply to multiple or even all ("*") mailboxes. - ''; - example = "*"; - type = types.nullOr types.str; - }; + This setting supports wildcards with a syntax compatible with the IMAP LIST command, meaning that this setting can apply to multiple or even all ("*") mailboxes. + ''; + example = "Junk"; + type = types.str; + }; - causes = mkOption { - default = [ ]; - description = '' - Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox..name when one of the listed IMAPSIEVE causes apply. + from = mkOption { + default = null; + description = '' + Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox..name when the message originates from the indicated mailbox. - This has no effect on the user script, which is always executed no matter the cause. - ''; - example = [ "COPY" "APPEND" ]; - type = types.listOf (types.enum [ "APPEND" "COPY" "FLAG" ]); - }; + This setting supports wildcards with a syntax compatible with the IMAP LIST command, meaning that this setting can apply to multiple or even all ("*") mailboxes. + ''; + example = "*"; + type = types.nullOr types.str; + }; - before = mkOption { - default = null; - description = '' - When an IMAP event of interest occurs, this sieve script is executed before any user script respectively. + causes = mkOption { + default = [ ]; + description = '' + Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox..name when one of the listed IMAPSIEVE causes apply. + + This has no effect on the user script, which is always executed no matter the cause. + ''; + example = [ + "COPY" + "APPEND" + ]; + type = types.listOf ( + types.enum [ + "APPEND" + "COPY" + "FLAG" + ] + ); + }; - This setting each specify the location of a single sieve script. The semantics of this setting is similar to sieve_before: the specified scripts form a sequence together with the user script in which the next script is only executed when an (implicit) keep action is executed. - ''; - example = literalExpression "./report-spam.sieve"; - type = types.nullOr types.path; - }; + before = mkOption { + default = null; + description = '' + When an IMAP event of interest occurs, this sieve script is executed before any user script respectively. - after = mkOption { - default = null; - description = '' - When an IMAP event of interest occurs, this sieve script is executed after any user script respectively. + This setting each specify the location of a single sieve script. The semantics of this setting is similar to sieve_before: the specified scripts form a sequence together with the user script in which the next script is only executed when an (implicit) keep action is executed. + ''; + example = literalExpression "./report-spam.sieve"; + type = types.nullOr types.path; + }; - This setting each specify the location of a single sieve script. The semantics of this setting is similar to sieve_after: the specified scripts form a sequence together with the user script in which the next script is only executed when an (implicit) keep action is executed. - ''; - example = literalExpression "./report-spam.sieve"; - type = types.nullOr types.path; - }; - }; - })); + after = mkOption { + default = null; + description = '' + When an IMAP event of interest occurs, this sieve script is executed after any user script respectively. + + This setting each specify the location of a single sieve script. The semantics of this setting is similar to sieve_after: the specified scripts form a sequence together with the user script in which the next script is only executed when an (implicit) keep action is executed. + ''; + example = literalExpression "./report-spam.sieve"; + type = types.nullOr types.path; + }; + }; + } + ) + ); }; sieve = { plugins = mkOption { - default = []; + default = [ ]; example = [ "sieve_extprograms" ]; description = "Sieve plugins to load"; type = types.listOf types.str; }; extensions = mkOption { - default = []; + default = [ ]; description = "Sieve extensions for use in user scripts"; - example = [ "notify" "imapflags" "vnd.dovecot.filter" ]; + example = [ + "notify" + "imapflags" + "vnd.dovecot.filter" + ]; type = types.listOf types.str; }; globalExtensions = mkOption { - default = []; + default = [ ]; example = [ "vnd.dovecot.environment" ]; description = "Sieve extensions for use in global scripts"; type = types.listOf types.str; @@ -504,12 +616,12 @@ in scripts = mkOption { type = types.attrsOf types.path; - default = {}; + default = { }; description = "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc."; }; pipeBins = mkOption { - default = []; + default = [ ]; example = literalExpression '' map lib.getExe [ (pkgs.writeShellScriptBin "learn-ham.sh" "exec ''${pkgs.rspamd}/bin/rspamc learn_ham") @@ -523,18 +635,16 @@ in }; config = mkIf cfg.enable { - security.pam.services.dovecot2 = mkIf cfg.enablePAM {}; + security.pam.services.dovecot2 = mkIf cfg.enablePAM { }; security.dhparams = mkIf (cfg.sslServerCert != null && cfg.enableDHE) { enable = true; - params.dovecot2 = {}; + params.dovecot2 = { }; }; services.dovecot2 = { protocols = - optional cfg.enableImap "imap" - ++ optional cfg.enablePop3 "pop3" - ++ optional cfg.enableLmtp "lmtp"; + optional cfg.enableImap "imap" ++ optional cfg.enablePop3 "pop3" ++ optional cfg.enableLmtp "lmtp"; mailPlugins = mkIf cfg.enableQuota { globally.enable = [ "quota" ]; @@ -542,46 +652,55 @@ in }; sieve.plugins = - optional (cfg.imapsieve.mailbox != []) "sieve_imapsieve" - ++ optional (cfg.sieve.pipeBins != []) "sieve_extprograms"; + optional (cfg.imapsieve.mailbox != [ ]) "sieve_imapsieve" + ++ optional (cfg.sieve.pipeBins != [ ]) "sieve_extprograms"; - sieve.globalExtensions = optional (cfg.sieve.pipeBins != []) "vnd.dovecot.pipe"; + sieve.globalExtensions = optional (cfg.sieve.pipeBins != [ ]) "vnd.dovecot.pipe"; - pluginSettings = lib.mapAttrs (n: lib.mkDefault) ({ - sieve_plugins = concatStringsSep " " cfg.sieve.plugins; - sieve_extensions = concatStringsSep " " (map (el: "+${el}") cfg.sieve.extensions); - sieve_global_extensions = concatStringsSep " " (map (el: "+${el}") cfg.sieve.globalExtensions); - sieve_pipe_bin_dir = sievePipeBinScriptDirectory; - } // sieveScriptSettings // imapSieveMailboxSettings); + pluginSettings = lib.mapAttrs (n: lib.mkDefault) ( + { + sieve_plugins = concatStringsSep " " cfg.sieve.plugins; + sieve_extensions = concatStringsSep " " (map (el: "+${el}") cfg.sieve.extensions); + sieve_global_extensions = concatStringsSep " " (map (el: "+${el}") cfg.sieve.globalExtensions); + sieve_pipe_bin_dir = sievePipeBinScriptDirectory; + } + // sieveScriptSettings + // imapSieveMailboxSettings + ); }; - users.users = { - dovenull = - { + users.users = + { + dovenull = { uid = config.ids.uids.dovenull2; description = "Dovecot user for untrusted logins"; group = "dovenull"; }; - } // optionalAttrs (cfg.user == "dovecot2") { - dovecot2 = - { + } + // optionalAttrs (cfg.user == "dovecot2") { + dovecot2 = { uid = config.ids.uids.dovecot2; description = "Dovecot user"; group = cfg.group; }; - } // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) { - ${cfg.mailUser} = - { description = "Virtual Mail User"; isSystemUser = true; } // optionalAttrs (cfg.mailGroup != null) - { group = cfg.mailGroup; }; - }; + } + // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) { + ${cfg.mailUser} = { + description = "Virtual Mail User"; + isSystemUser = true; + } // optionalAttrs (cfg.mailGroup != null) { group = cfg.mailGroup; }; + }; - users.groups = { - dovenull.gid = config.ids.gids.dovenull2; - } // optionalAttrs (cfg.group == "dovecot2") { - dovecot2.gid = config.ids.gids.dovecot2; - } // optionalAttrs (cfg.createMailUser && cfg.mailGroup != null) { - ${cfg.mailGroup} = {}; - }; + users.groups = + { + dovenull.gid = config.ids.gids.dovenull2; + } + // optionalAttrs (cfg.group == "dovecot2") { + dovecot2.gid = config.ids.gids.dovecot2; + } + // optionalAttrs (cfg.createMailUser && cfg.mailGroup != null) { + ${cfg.mailGroup} = { }; + }; environment.etc."dovecot/modules".source = modulesDir; environment.etc."dovecot/dovecot.conf".source = cfg.configFile; @@ -591,9 +710,12 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - restartTriggers = [ cfg.configFile modulesDir ]; + restartTriggers = [ + cfg.configFile + modulesDir + ]; - startLimitIntervalSec = 60; # 1 min + startLimitIntervalSec = 60; # 1 min serviceConfig = { Type = "notify"; ExecStart = "${dovecotPkg}/sbin/dovecot -F"; @@ -606,48 +728,44 @@ in # When copying sieve scripts preserve the original time stamp # (should be 0) so that the compiled sieve script is newer than # the source file and Dovecot won't try to compile it. - preStart = '' - rm -rf ${stateDir}/sieve ${stateDir}/imapsieve - '' + optionalString (cfg.sieve.scripts != {}) '' - mkdir -p ${stateDir}/sieve - ${concatStringsSep "\n" ( - mapAttrsToList ( - to: from: '' - if [ -d '${from}' ]; then - mkdir '${stateDir}/sieve/${to}' - cp -p "${from}/"*.sieve '${stateDir}/sieve/${to}' - else - cp -p '${from}' '${stateDir}/sieve/${to}' - fi - ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}' - '' - ) cfg.sieve.scripts - )} - chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/sieve' - '' - + optionalString (cfg.imapsieve.mailbox != []) '' - mkdir -p ${stateDir}/imapsieve/{before,after} - - ${ - concatMapStringsSep "\n" - (el: - optionalString (el.before != null) '' - cp -p ${el.before} ${stateDir}/imapsieve/before/${baseNameOf el.before} - ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/imapsieve/before/${baseNameOf el.before}' - '' - + optionalString (el.after != null) '' - cp -p ${el.after} ${stateDir}/imapsieve/after/${baseNameOf el.after} - ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/imapsieve/after/${baseNameOf el.after}' - '' - ) - cfg.imapsieve.mailbox - } - - ${ - optionalString (cfg.mailUser != null && cfg.mailGroup != null) - "chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/imapsieve'" - } - ''; + preStart = + '' + rm -rf ${stateDir}/sieve ${stateDir}/imapsieve + '' + + optionalString (cfg.sieve.scripts != { }) '' + mkdir -p ${stateDir}/sieve + ${concatStringsSep "\n" ( + mapAttrsToList (to: from: '' + if [ -d '${from}' ]; then + mkdir '${stateDir}/sieve/${to}' + cp -p "${from}/"*.sieve '${stateDir}/sieve/${to}' + else + cp -p '${from}' '${stateDir}/sieve/${to}' + fi + ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}' + '') cfg.sieve.scripts + )} + chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/sieve' + '' + + optionalString (cfg.imapsieve.mailbox != [ ]) '' + mkdir -p ${stateDir}/imapsieve/{before,after} + + ${concatMapStringsSep "\n" ( + el: + optionalString (el.before != null) '' + cp -p ${el.before} ${stateDir}/imapsieve/before/${baseNameOf el.before} + ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/imapsieve/before/${baseNameOf el.before}' + '' + + optionalString (el.after != null) '' + cp -p ${el.after} ${stateDir}/imapsieve/after/${baseNameOf el.after} + ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/imapsieve/after/${baseNameOf el.after}' + '' + ) cfg.imapsieve.mailbox} + + ${optionalString ( + cfg.mailUser != null && cfg.mailGroup != null + ) "chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/imapsieve'"} + ''; }; environment.systemPackages = [ dovecotPkg ]; @@ -656,8 +774,9 @@ in assertions = [ { - assertion = (cfg.sslServerCert == null) == (cfg.sslServerKey == null) - && (cfg.sslCACert != null -> !(cfg.sslServerCert == null || cfg.sslServerKey == null)); + assertion = + (cfg.sslServerCert == null) == (cfg.sslServerKey == null) + && (cfg.sslCACert != null -> !(cfg.sslServerCert == null || cfg.sslServerKey == null)); message = "dovecot needs both sslServerCert and sslServerKey defined for working crypto"; } { @@ -665,7 +784,7 @@ in message = "dovecot is configured with showPAMFailure while enablePAM is disabled"; } { - assertion = cfg.sieve.scripts != {} -> (cfg.mailUser != null && cfg.mailGroup != null); + assertion = cfg.sieve.scripts != { } -> (cfg.mailUser != null && cfg.mailGroup != null); message = "dovecot requires mailUser and mailGroup to be set when `sieve.scripts` is set"; } ]; diff --git a/nixos/modules/services/mail/dspam.nix b/nixos/modules/services/mail/dspam.nix index 76bcc0af7e8b3..7baae1f78e479 100644 --- a/nixos/modules/services/mail/dspam.nix +++ b/nixos/modules/services/mail/dspam.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dspam; @@ -24,7 +29,8 @@ let ${cfg.extraConfig} ''; -in { +in +{ ###### interface @@ -78,70 +84,71 @@ in { }; - ###### implementation - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - users.users = lib.optionalAttrs (cfg.user == "dspam") { - dspam = { - group = cfg.group; - uid = config.ids.uids.dspam; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + users.users = lib.optionalAttrs (cfg.user == "dspam") { + dspam = { + group = cfg.group; + uid = config.ids.uids.dspam; + }; }; - }; - users.groups = lib.optionalAttrs (cfg.group == "dspam") { - dspam.gid = config.ids.gids.dspam; - }; + users.groups = lib.optionalAttrs (cfg.group == "dspam") { + dspam.gid = config.ids.gids.dspam; + }; - environment.systemPackages = [ dspam ]; - - environment.etc."dspam/dspam.conf".source = cfgfile; - - systemd.services.dspam = { - description = "dspam spam filtering daemon"; - wantedBy = [ "multi-user.target" ]; - after = [ "postgresql.service" ]; - restartTriggers = [ cfgfile ]; - - serviceConfig = { - ExecStart = "${dspam}/bin/dspam --daemon --nofork"; - User = cfg.user; - Group = cfg.group; - RuntimeDirectory = lib.optional (cfg.domainSocket == defaultSock) "dspam"; - RuntimeDirectoryMode = lib.optional (cfg.domainSocket == defaultSock) "0750"; - StateDirectory = "dspam"; - StateDirectoryMode = "0750"; - LogsDirectory = "dspam"; - LogsDirectoryMode = "0750"; - # DSPAM segfaults on just about every error - Restart = "on-abort"; - RestartSec = "1s"; + environment.systemPackages = [ dspam ]; + + environment.etc."dspam/dspam.conf".source = cfgfile; + + systemd.services.dspam = { + description = "dspam spam filtering daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "postgresql.service" ]; + restartTriggers = [ cfgfile ]; + + serviceConfig = { + ExecStart = "${dspam}/bin/dspam --daemon --nofork"; + User = cfg.user; + Group = cfg.group; + RuntimeDirectory = lib.optional (cfg.domainSocket == defaultSock) "dspam"; + RuntimeDirectoryMode = lib.optional (cfg.domainSocket == defaultSock) "0750"; + StateDirectory = "dspam"; + StateDirectoryMode = "0750"; + LogsDirectory = "dspam"; + LogsDirectoryMode = "0750"; + # DSPAM segfaults on just about every error + Restart = "on-abort"; + RestartSec = "1s"; + }; }; - }; - } - - (lib.mkIf (cfg.maintenanceInterval != null) { - systemd.timers.dspam-maintenance = { - description = "Timer for dspam maintenance script"; - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = cfg.maintenanceInterval; - Unit = "dspam-maintenance.service"; + } + + (lib.mkIf (cfg.maintenanceInterval != null) { + systemd.timers.dspam-maintenance = { + description = "Timer for dspam maintenance script"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = cfg.maintenanceInterval; + Unit = "dspam-maintenance.service"; + }; }; - }; - systemd.services.dspam-maintenance = { - description = "dspam maintenance script"; - restartTriggers = [ cfgfile ]; + systemd.services.dspam-maintenance = { + description = "dspam maintenance script"; + restartTriggers = [ cfgfile ]; - serviceConfig = { - ExecStart = "${dspam}/bin/dspam_maintenance --verbose"; - Type = "oneshot"; - User = cfg.user; - Group = cfg.group; + serviceConfig = { + ExecStart = "${dspam}/bin/dspam_maintenance --verbose"; + Type = "oneshot"; + User = cfg.user; + Group = cfg.group; + }; }; - }; - }) - ]); + }) + ] + ); } diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix index 0a5ba9d76d157..77f8bd4b0dca3 100644 --- a/nixos/modules/services/mail/exim.nix +++ b/nixos/modules/services/mail/exim.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) literalExpression mkIf mkOption singleton types mkPackageOption; + inherit (lib) + literalExpression + mkIf + mkOption + singleton + types + mkPackageOption + ; inherit (pkgs) coreutils; cfg = config.services.exim; in @@ -74,7 +86,6 @@ in }; - ###### implementation config = mkIf cfg.enable { @@ -100,21 +111,21 @@ in gid = config.ids.gids.exim; }; - security.wrappers.exim = - { setuid = true; - owner = "root"; - group = "root"; - source = "${cfg.package}/bin/exim"; - }; + security.wrappers.exim = { + setuid = true; + owner = "root"; + group = "root"; + source = "${cfg.package}/bin/exim"; + }; systemd.services.exim = { description = "Exim Mail Daemon"; wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."exim.conf".source ]; serviceConfig = { - ExecStart = "!${cfg.package}/bin/exim -bdf -q${cfg.queueRunnerInterval}"; - ExecReload = "!${coreutils}/bin/kill -HUP $MAINPID"; - User = cfg.user; + ExecStart = "!${cfg.package}/bin/exim -bdf -q${cfg.queueRunnerInterval}"; + ExecReload = "!${coreutils}/bin/kill -HUP $MAINPID"; + User = cfg.user; }; preStart = '' if ! test -d ${cfg.spoolDir}; then diff --git a/nixos/modules/services/mail/goeland.nix b/nixos/modules/services/mail/goeland.nix index 42f64b3632b5e..b6f5e8ae2fc49 100644 --- a/nixos/modules/services/mail/goeland.nix +++ b/nixos/modules/services/mail/goeland.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.goeland; tomlFormat = pkgs.formats.toml { }; @@ -37,17 +42,21 @@ in services.goeland.settings.database = "${cfg.stateDir}/goeland.db"; systemd.services.goeland = { - serviceConfig = let confFile = tomlFormat.generate "config.toml" cfg.settings; in lib.mkMerge [ - { - ExecStart = "${pkgs.goeland}/bin/goeland run -c ${confFile}"; - User = "goeland"; - Group = "goeland"; - } - (lib.mkIf (cfg.stateDir == "/var/lib/goeland") { - StateDirectory = "goeland"; - StateDirectoryMode = "0750"; - }) - ]; + serviceConfig = + let + confFile = tomlFormat.generate "config.toml" cfg.settings; + in + lib.mkMerge [ + { + ExecStart = "${pkgs.goeland}/bin/goeland run -c ${confFile}"; + User = "goeland"; + Group = "goeland"; + } + (lib.mkIf (cfg.stateDir == "/var/lib/goeland") { + StateDirectory = "goeland"; + StateDirectoryMode = "0750"; + }) + ]; startAt = cfg.schedule; }; diff --git a/nixos/modules/services/mail/listmonk.nix b/nixos/modules/services/mail/listmonk.nix index 82c94ad4bb8f3..1000bce88d61a 100644 --- a/nixos/modules/services/mail/listmonk.nix +++ b/nixos/modules/services/mail/listmonk.nix @@ -1,33 +1,48 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.listmonk; tomlFormat = pkgs.formats.toml { }; cfgFile = tomlFormat.generate "listmonk.toml" cfg.settings; # Escaping is done according to https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS - setDatabaseOption = key: value: + setDatabaseOption = + key: value: "UPDATE settings SET value = '${ lib.replaceStrings [ "'" ] [ "''" ] (builtins.toJSON value) }' WHERE key = '${key}';"; - updateDatabaseConfigSQL = pkgs.writeText "update-database-config.sql" - (lib.concatStringsSep "\n" (lib.mapAttrsToList setDatabaseOption - (if (cfg.database.settings != null) then - cfg.database.settings + updateDatabaseConfigSQL = pkgs.writeText "update-database-config.sql" ( + lib.concatStringsSep "\n" ( + lib.mapAttrsToList setDatabaseOption ( + if (cfg.database.settings != null) then cfg.database.settings else { } + ) + ) + ); + updateDatabaseConfigScript = pkgs.writeShellScriptBin "update-database-config.sh" '' + ${ + if cfg.database.mutableSettings then + '' + if [ ! -f /var/lib/listmonk/.db_settings_initialized ]; then + ${pkgs.postgresql}/bin/psql -d listmonk -f ${updateDatabaseConfigSQL} ; + touch /var/lib/listmonk/.db_settings_initialized + fi + '' else - { }))); - updateDatabaseConfigScript = - pkgs.writeShellScriptBin "update-database-config.sh" '' - ${if cfg.database.mutableSettings then '' - if [ ! -f /var/lib/listmonk/.db_settings_initialized ]; then - ${pkgs.postgresql}/bin/psql -d listmonk -f ${updateDatabaseConfigSQL} ; - touch /var/lib/listmonk/.db_settings_initialized - fi - '' else - "${pkgs.postgresql}/bin/psql -d listmonk -f ${updateDatabaseConfigSQL}"} - ''; + "${pkgs.postgresql}/bin/psql -d listmonk -f ${updateDatabaseConfigSQL}" + } + ''; databaseSettingsOpts = with lib.types; { - freeformType = - oneOf [ (listOf str) (listOf (attrsOf anything)) str int bool ]; + freeformType = oneOf [ + (listOf str) + (listOf (attrsOf anything)) + str + int + bool + ]; options = { "app.notify_emails" = lib.mkOption { @@ -38,16 +53,19 @@ let "privacy.exportable" = lib.mkOption { type = listOf str; - default = [ "profile" "subscriptions" "campaign_views" "link_clicks" ]; - description = - "List of fields which can be exported through an automatic export request"; + default = [ + "profile" + "subscriptions" + "campaign_views" + "link_clicks" + ]; + description = "List of fields which can be exported through an automatic export request"; }; "privacy.domain_blocklist" = lib.mkOption { type = listOf str; default = [ ]; - description = - "E-mail addresses with these domains are disallowed from subscribing."; + description = "E-mail addresses with these domains are disallowed from subscribing."; }; smtp = lib.mkOption { @@ -66,12 +84,15 @@ let }; max_conns = lib.mkOption { type = lib.types.int; - description = - "Maximum number of simultaneous connections, defaults to 1"; + description = "Maximum number of simultaneous connections, defaults to 1"; default = 1; }; tls_type = lib.mkOption { - type = lib.types.enum [ "none" "STARTTLS" "TLS" ]; + type = lib.types.enum [ + "none" + "STARTTLS" + "TLS" + ]; description = "Type of TLS authentication with the SMTP server"; }; }; @@ -82,8 +103,9 @@ let # TODO: refine this type based on the smtp one. "bounce.mailboxes" = lib.mkOption { - type = listOf - (submodule { freeformType = with lib.types; listOf (attrsOf anything); }); + type = listOf (submodule { + freeformType = with lib.types; listOf (attrsOf anything); + }); default = [ ]; description = "List of bounce mailboxes"; }; @@ -91,12 +113,12 @@ let messengers = lib.mkOption { type = listOf str; default = [ ]; - description = - "List of messengers, see: for options."; + description = "List of messengers, see: for options."; }; }; }; -in { +in +{ ###### interface options = { services.listmonk = { @@ -105,15 +127,13 @@ in { createLocally = lib.mkOption { type = lib.types.bool; default = false; - description = - "Create the PostgreSQL database and database user locally."; + description = "Create the PostgreSQL database and database user locally."; }; settings = lib.mkOption { default = null; type = with lib.types; nullOr (submodule databaseSettingsOpts); - description = - "Dynamic settings in the PostgreSQL database, set by a SQL script, see for details."; + description = "Dynamic settings in the PostgreSQL database, set by a SQL script, see for details."; }; mutableSettings = lib.mkOption { type = lib.types.bool; @@ -124,7 +144,7 @@ in { ''; }; }; - package = lib.mkPackageOption pkgs "listmonk" {}; + package = lib.mkPackageOption pkgs "listmonk" { }; settings = lib.mkOption { type = lib.types.submodule { freeformType = tomlFormat.type; }; description = '' @@ -135,8 +155,7 @@ in { secretFile = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = - "A file containing secrets as environment variables. See for details on supported values."; + description = "A file containing secrets as environment variables. See for details on supported values."; }; }; }; @@ -162,18 +181,19 @@ in { services.postgresql = lib.mkIf cfg.database.createLocally { enable = true; - ensureUsers = [{ - name = "listmonk"; - ensureDBOwnership = true; - }]; + ensureUsers = [ + { + name = "listmonk"; + ensureDBOwnership = true; + } + ]; ensureDatabases = [ "listmonk" ]; }; systemd.services.listmonk = { description = "Listmonk - newsletter and mailing list manager"; - after = [ "network.target" ] - ++ lib.optional cfg.database.createLocally "postgresql.service"; + after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "exec"; @@ -202,7 +222,10 @@ in { NoNewPrivileges = true; CapabilityBoundingSet = ""; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; PrivateDevices = true; ProtectControlGroups = true; ProtectKernelTunables = true; @@ -212,7 +235,11 @@ in { UMask = "0027"; MemoryDenyWriteExecute = true; LockPersonality = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; ProtectKernelModules = true; PrivateUsers = true; }; diff --git a/nixos/modules/services/mail/maddy.nix b/nixos/modules/services/mail/maddy.nix index ab0e1f40f5b09..41d25eaf7885f 100644 --- a/nixos/modules/services/mail/maddy.nix +++ b/nixos/modules/services/mail/maddy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let name = "maddy"; @@ -131,7 +136,8 @@ let } ''; -in { +in +{ options = { services.maddy = { @@ -185,7 +191,7 @@ in { localDomains = lib.mkOption { type = with lib.types; listOf str; - default = ["$(primary_domain)"]; + default = [ "$(primary_domain)" ]; example = [ "$(primary_domain)" "example.com" @@ -213,7 +219,13 @@ in { tls = { loader = lib.mkOption { - type = with lib.types; nullOr (enum [ "off" "file" "acme" ]); + type = + with lib.types; + nullOr (enum [ + "off" + "file" + "acme" + ]); default = "off"; description = '' TLS certificates are obtained by modules called "certificate @@ -235,25 +247,27 @@ in { }; certificates = lib.mkOption { - type = with lib.types; listOf (submodule { - options = { - keyPath = lib.mkOption { - type = lib.types.path; - example = "/etc/ssl/mx1.example.org.key"; - description = '' - Path to the private key used for TLS. - ''; + type = + with lib.types; + listOf (submodule { + options = { + keyPath = lib.mkOption { + type = lib.types.path; + example = "/etc/ssl/mx1.example.org.key"; + description = '' + Path to the private key used for TLS. + ''; + }; + certPath = lib.mkOption { + type = lib.types.path; + example = "/etc/ssl/mx1.example.org.crt"; + description = '' + Path to the certificate used for TLS. + ''; + }; }; - certPath = lib.mkOption { - type = lib.types.path; - example = "/etc/ssl/mx1.example.org.crt"; - description = '' - Path to the certificate used for TLS. - ''; - }; - }; - }); - default = []; + }); + default = [ ]; example = lib.literalExpression '' [{ keyPath = "/etc/ssl/mx1.example.org.key"; @@ -291,7 +305,7 @@ in { ensureAccounts = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' List of IMAP accounts which get automatically created. Note that for a complete setup, user credentials for these accounts are required @@ -305,7 +319,7 @@ in { }; ensureCredentials = lib.mkOption { - default = {}; + default = { }; description = '' List of user accounts which get automatically created if they don't exist yet. Note that for a complete setup, corresponding mail boxes @@ -316,19 +330,21 @@ in { "user1@localhost".passwordFile = /secrets/user1-localhost; "user2@localhost".passwordFile = /secrets/user2-localhost; }; - type = lib.types.attrsOf (lib.types.submodule { - options = { - passwordFile = lib.mkOption { - type = lib.types.path; - example = "/path/to/file"; - default = null; - description = '' - Specifies the path to a file containing the - clear text password for the user. - ''; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + passwordFile = lib.mkOption { + type = lib.types.path; + example = "/path/to/file"; + default = null; + description = '' + Specifies the path to a file containing the + clear text password for the user. + ''; + }; }; - }; - }); + } + ); }; secrets = lib.mkOption { @@ -348,7 +364,7 @@ in { assertions = [ { - assertion = cfg.tls.loader == "file" -> cfg.tls.certificates != []; + assertion = cfg.tls.loader == "file" -> cfg.tls.certificates != [ ]; message = '' If Maddy is configured to use TLS, tls.certificates with attribute sets of certPath and keyPath must be provided. @@ -384,24 +400,26 @@ in { }; maddy-ensure-accounts = { script = '' - ${lib.optionalString (cfg.ensureAccounts != []) '' + ${lib.optionalString (cfg.ensureAccounts != [ ]) '' ${lib.concatMapStrings (account: '' if ! ${pkgs.maddy}/bin/maddyctl imap-acct list | grep "${account}"; then ${pkgs.maddy}/bin/maddyctl imap-acct create ${account} fi '') cfg.ensureAccounts} ''} - ${lib.optionalString (cfg.ensureCredentials != {}) '' - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: cfg: '' - if ! ${pkgs.maddy}/bin/maddyctl creds list | grep "${name}"; then - ${pkgs.maddy}/bin/maddyctl creds create --password $(cat ${lib.escapeShellArg cfg.passwordFile}) ${name} - fi - '') cfg.ensureCredentials)} + ${lib.optionalString (cfg.ensureCredentials != { }) '' + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (name: cfg: '' + if ! ${pkgs.maddy}/bin/maddyctl creds list | grep "${name}"; then + ${pkgs.maddy}/bin/maddyctl creds create --password $(cat ${lib.escapeShellArg cfg.passwordFile}) ${name} + fi + '') cfg.ensureCredentials + )} ''} ''; serviceConfig = { Type = "oneshot"; - User= "maddy"; + User = "maddy"; }; after = [ "maddy.service" ]; wantedBy = [ "multi-user.target" ]; @@ -418,21 +436,30 @@ in { $(local_domains) = ${toString cfg.localDomains} hostname ${cfg.hostname} - ${if (cfg.tls.loader == "file") then '' - tls file ${lib.concatStringsSep " " ( - map (x: x.certPath + " " + x.keyPath - ) cfg.tls.certificates)} ${lib.optionalString (cfg.tls.extraConfig != "") '' - { ${cfg.tls.extraConfig} } - ''} - '' else if (cfg.tls.loader == "acme") then '' - tls { - loader acme { - ${cfg.tls.extraConfig} - } - } - '' else if (cfg.tls.loader == "off") then '' - tls off - '' else ""} + ${ + if (cfg.tls.loader == "file") then + '' + tls file ${lib.concatStringsSep " " (map (x: x.certPath + " " + x.keyPath) cfg.tls.certificates)} ${ + lib.optionalString (cfg.tls.extraConfig != "") '' + { ${cfg.tls.extraConfig} } + '' + } + '' + else if (cfg.tls.loader == "acme") then + '' + tls { + loader acme { + ${cfg.tls.extraConfig} + } + } + '' + else if (cfg.tls.loader == "off") then + '' + tls off + '' + else + "" + } ${cfg.config} ''; @@ -451,7 +478,11 @@ in { }; networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = [ 25 143 587 ]; + allowedTCPPorts = [ + 25 + 143 + 587 + ]; }; environment.systemPackages = [ diff --git a/nixos/modules/services/mail/mail.nix b/nixos/modules/services/mail/mail.nix index afa5b242b2988..71773e7ff7dee 100644 --- a/nixos/modules/services/mail/mail.nix +++ b/nixos/modules/services/mail/mail.nix @@ -1,4 +1,9 @@ -{ config, options, lib, ... }: +{ + config, + options, + lib, + ... +}: { ###### interface diff --git a/nixos/modules/services/mail/mailcatcher.nix b/nixos/modules/services/mail/mailcatcher.nix index 6728bbcd3b8e2..9232e0f1d7e28 100644 --- a/nixos/modules/services/mail/mailcatcher.nix +++ b/nixos/modules/services/mail/mailcatcher.nix @@ -1,9 +1,20 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.mailcatcher; - inherit (lib) mkEnableOption mkIf mkOption types optionalString; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + optionalString + ; in { # interface @@ -60,8 +71,12 @@ in serviceConfig = { DynamicUser = true; Restart = "always"; - ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}" + optionalString (cfg.http.path != null) " --http-path ${cfg.http.path}"; - AmbientCapabilities = optionalString (cfg.http.port < 1024 || cfg.smtp.port < 1024) "cap_net_bind_service"; + ExecStart = + "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}" + + optionalString (cfg.http.path != null) " --http-path ${cfg.http.path}"; + AmbientCapabilities = optionalString ( + cfg.http.port < 1024 || cfg.smtp.port < 1024 + ) "cap_net_bind_service"; }; }; }; diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix index ea0a7ad3144b5..2d0bf1291e0d7 100644 --- a/nixos/modules/services/mail/mlmmj.nix +++ b/nixos/modules/services/mail/mlmmj.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let concatMapLines = f: l: lib.concatStringsSep "\n" (map f l); @@ -22,8 +27,11 @@ let "List-Unsubscribe: " ]; footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}"; - createList = d: l: - let ctlDir = listCtl d l; in + createList = + d: l: + let + ctlDir = listCtl d l; + in '' for DIR in incoming queue queue/discarded archive text subconf unsubconf \ bounce control moderation subscribers.d digesters.d requeue \ @@ -76,7 +84,7 @@ in mailLists = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "The collection of hosted maillists"; }; @@ -112,7 +120,7 @@ in services.postfix = { enable = true; - recipientDelimiter= "+"; + recipientDelimiter = "+"; masterConfig.mlmmj = { type = "unix"; private = true; diff --git a/nixos/modules/services/mail/nullmailer.nix b/nixos/modules/services/mail/nullmailer.nix index eb982ad00bd75..6dc278f89f290 100644 --- a/nixos/modules/services/mail/nullmailer.nix +++ b/nixos/modules/services/mail/nullmailer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = { @@ -70,10 +75,10 @@ type = lib.types.nullOr lib.types.str; default = null; description = '' - The content of this attribute is appended to any host name that - does not contain a period (except localhost), including defaulthost - and idhost. Defaults to the value of the me attribute, if it exists, - otherwise the literal name defauldomain. + The content of this attribute is appended to any host name that + does not contain a period (except localhost), including defaulthost + and idhost. Defaults to the value of the me attribute, if it exists, + otherwise the literal name defauldomain. ''; }; @@ -81,9 +86,9 @@ type = lib.types.nullOr lib.types.str; default = null; description = '' - The content of this attribute is appended to any address that - is missing a host name. Defaults to the value of the me control - attribute, if it exists, otherwise the literal name defaulthost. + The content of this attribute is appended to any address that + is missing a host name. Defaults to the value of the me control + attribute, if it exists, otherwise the literal name defaulthost. ''; }; @@ -117,11 +122,16 @@ }; maxpause = lib.mkOption { - type = with lib.types; nullOr (oneOf [ str int ]); + type = + with lib.types; + nullOr (oneOf [ + str + int + ]); default = null; description = '' - The maximum time to pause between successive queue runs, in seconds. - Defaults to 24 hours (86400). + The maximum time to pause between successive queue runs, in seconds. + Defaults to 24 hours (86400). ''; }; @@ -129,13 +139,18 @@ type = lib.types.nullOr lib.types.str; default = null; description = '' - The fully-qualifiled host name of the computer running nullmailer. - Defaults to the literal name me. + The fully-qualifiled host name of the computer running nullmailer. + Defaults to the literal name me. ''; }; pausetime = lib.mkOption { - type = with lib.types; nullOr (oneOf [ str int ]); + type = + with lib.types; + nullOr (oneOf [ + str + int + ]); default = null; description = '' The minimum time to pause between successive queue runs when there @@ -165,7 +180,12 @@ }; sendtimeout = lib.mkOption { - type = with lib.types; nullOr (oneOf [ str int ]); + type = + with lib.types; + nullOr (oneOf [ + str + int + ]); default = null; description = '' The time to wait for a remote module listed above to complete sending @@ -178,66 +198,72 @@ }; }; - config = let - cfg = config.services.nullmailer; - in lib.mkIf cfg.enable { - - assertions = [ - { assertion = cfg.config.remotes == null || cfg.remotesFile == null; - message = "Only one of `remotesFile` or `config.remotes` may be used at a time."; - } - ]; - - environment = { - systemPackages = [ pkgs.nullmailer ]; - etc = let - validAttrs = lib.mapAttrs (_: toString) (lib.filterAttrs (_: value: value != null) cfg.config); - in - (lib.foldl' (as: name: as // { "nullmailer/${name}".text = validAttrs.${name}; }) {} (lib.attrNames validAttrs)) + config = + let + cfg = config.services.nullmailer; + in + lib.mkIf cfg.enable { + + assertions = [ + { + assertion = cfg.config.remotes == null || cfg.remotesFile == null; + message = "Only one of `remotesFile` or `config.remotes` may be used at a time."; + } + ]; + + environment = { + systemPackages = [ pkgs.nullmailer ]; + etc = + let + validAttrs = lib.mapAttrs (_: toString) (lib.filterAttrs (_: value: value != null) cfg.config); + in + (lib.foldl' (as: name: as // { "nullmailer/${name}".text = validAttrs.${name}; }) { } ( + lib.attrNames validAttrs + )) // lib.optionalAttrs (cfg.remotesFile != null) { "nullmailer/remotes".source = cfg.remotesFile; }; - }; + }; - users = { - users.${cfg.user} = { - description = "Nullmailer relay-only mta user"; - inherit (cfg) group; - isSystemUser = true; + users = { + users.${cfg.user} = { + description = "Nullmailer relay-only mta user"; + inherit (cfg) group; + isSystemUser = true; + }; + + groups.${cfg.group} = { }; }; - groups.${cfg.group} = { }; - }; + systemd.tmpfiles.rules = [ + "d /var/spool/nullmailer - ${cfg.user} ${cfg.group} - -" + "d /var/spool/nullmailer/failed 770 ${cfg.user} ${cfg.group} - -" + "d /var/spool/nullmailer/queue 770 ${cfg.user} ${cfg.group} - -" + "d /var/spool/nullmailer/tmp 770 ${cfg.user} ${cfg.group} - -" + ]; - systemd.tmpfiles.rules = [ - "d /var/spool/nullmailer - ${cfg.user} ${cfg.group} - -" - "d /var/spool/nullmailer/failed 770 ${cfg.user} ${cfg.group} - -" - "d /var/spool/nullmailer/queue 770 ${cfg.user} ${cfg.group} - -" - "d /var/spool/nullmailer/tmp 770 ${cfg.user} ${cfg.group} - -" - ]; - - systemd.services.nullmailer = { - description = "nullmailer"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - preStart = '' - rm -f /var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger - ''; - - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send"; - Restart = "always"; + systemd.services.nullmailer = { + description = "nullmailer"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + preStart = '' + rm -f /var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger + ''; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send"; + Restart = "always"; + }; }; - }; - services.mail.sendmailSetuidWrapper = lib.mkIf cfg.setSendmail { - program = "sendmail"; - source = "${pkgs.nullmailer}/bin/sendmail"; - owner = cfg.user; - inherit (cfg) group; - setuid = true; - setgid = true; + services.mail.sendmailSetuidWrapper = lib.mkIf cfg.setSendmail { + program = "sendmail"; + source = "${pkgs.nullmailer}/bin/sendmail"; + owner = cfg.user; + inherit (cfg) group; + setuid = true; + setgid = true; + }; }; - }; } diff --git a/nixos/modules/services/mail/offlineimap.nix b/nixos/modules/services/mail/offlineimap.nix index 6566a3cee11e0..419c84739a02c 100644 --- a/nixos/modules/services/mail/offlineimap.nix +++ b/nixos/modules/services/mail/offlineimap.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.offlineimap; -in { +in +{ options.services.offlineimap = { enable = lib.mkEnableOption "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)"; @@ -23,7 +29,7 @@ in { path = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.pass pkgs.bash pkgs.notmuch ]"; description = "List of derivations to put in Offlineimap's path."; }; @@ -44,7 +50,7 @@ in { systemd.user.services.offlineimap = { description = "Offlineimap: a software to dispose your mailbox(es) as a local Maildir(s)"; serviceConfig = { - Type = "oneshot"; + Type = "oneshot"; ExecStart = "${cfg.package}/bin/offlineimap -u syslog -o -1"; TimeoutStartSec = cfg.timeoutStartSec; }; @@ -53,7 +59,7 @@ in { environment.systemPackages = [ cfg.package ]; systemd.user.timers.offlineimap = { description = "offlineimap timer"; - timerConfig = { + timerConfig = { Unit = "offlineimap.service"; OnCalendar = cfg.onCalendar; # start immediately after computer is started: diff --git a/nixos/modules/services/mail/opendkim.nix b/nixos/modules/services/mail/opendkim.nix index 0aed4d9bee014..b2fbd6ce5413a 100644 --- a/nixos/modules/services/mail/opendkim.nix +++ b/nixos/modules/services/mail/opendkim.nix @@ -1,20 +1,38 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.opendkim; defaultSock = "local:/run/opendkim/opendkim.sock"; - args = [ "-f" "-l" - "-p" cfg.socket - "-d" cfg.domains - "-k" "${cfg.keyPath}/${cfg.selector}.private" - "-s" cfg.selector - ] ++ lib.optionals (cfg.configFile != null) [ "-x" cfg.configFile ]; + args = + [ + "-f" + "-l" + "-p" + cfg.socket + "-d" + cfg.domains + "-k" + "${cfg.keyPath}/${cfg.selector}.private" + "-s" + cfg.selector + ] + ++ lib.optionals (cfg.configFile != null) [ + "-x" + cfg.configFile + ]; - configFile = pkgs.writeText "opendkim.conf" - (lib.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "${name} ${value}") cfg.settings)); -in { + configFile = pkgs.writeText "opendkim.conf" ( + lib.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "${name} ${value}") cfg.settings) + ); +in +{ imports = [ (lib.mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ]) ]; @@ -74,9 +92,11 @@ in { }; settings = lib.mkOption { - type = with lib.types; submodule { - freeformType = attrsOf str; - }; + type = + with lib.types; + submodule { + freeformType = attrsOf str; + }; default = { }; description = "Additional opendkim configuration"; }; @@ -133,7 +153,7 @@ in { StateDirectoryMode = "0700"; ReadWritePaths = [ cfg.keyPath ]; - AmbientCapabilities = []; + AmbientCapabilities = [ ]; CapabilityBoundingSet = ""; DevicePolicy = "closed"; LockPersonality = true; @@ -152,12 +172,18 @@ in { ProtectKernelTunables = true; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6 AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6 AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ]; UMask = "0077"; }; }; diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index 07cf189fb28e5..1e846e6e55649 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.opensmtpd; @@ -10,12 +15,16 @@ let ln -s ${cfg.package}/sbin/smtpctl $out/bin/sendmail ''; -in { +in +{ ###### interface imports = [ - (lib.mkRenamedOptionModule [ "services" "opensmtpd" "addSendmailToSystemPath" ] [ "services" "opensmtpd" "setSendmail" ]) + (lib.mkRenamedOptionModule + [ "services" "opensmtpd" "addSendmailToSystemPath" ] + [ "services" "opensmtpd" "setSendmail" ] + ) ]; options = { @@ -38,8 +47,11 @@ in { extraServerArgs = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "-v" "-P mta" ]; + default = [ ]; + example = [ + "-v" + "-P mta" + ]; description = '' Extra command line arguments provided when the smtpd process is started. @@ -60,7 +72,7 @@ in { procPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; description = '' Packages to search for filters, tables, queues, and schedulers. @@ -72,7 +84,6 @@ in { }; - ###### implementation config = lib.mkIf cfg.enable rec { @@ -102,8 +113,9 @@ in { source = "${cfg.package}/bin/smtpctl"; }; - services.mail.sendmailSetuidWrapper = lib.mkIf cfg.setSendmail - (security.wrappers.smtpctl // { program = "sendmail"; }); + services.mail.sendmailSetuidWrapper = lib.mkIf cfg.setSendmail ( + security.wrappers.smtpctl // { program = "sendmail"; } + ); systemd.tmpfiles.rules = [ "d /var/spool/smtpd 711 root - - -" @@ -111,17 +123,19 @@ in { "d /var/spool/smtpd/purge 700 smtpq root - -" ]; - systemd.services.opensmtpd = let - procEnv = pkgs.buildEnv { - name = "opensmtpd-procs"; - paths = [ cfg.package ] ++ cfg.procPackages; - pathsToLink = [ "/libexec/opensmtpd" ]; + systemd.services.opensmtpd = + let + procEnv = pkgs.buildEnv { + name = "opensmtpd-procs"; + paths = [ cfg.package ] ++ cfg.procPackages; + pathsToLink = [ "/libexec/opensmtpd" ]; + }; + in + { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}"; + environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd"; }; - in { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}"; - environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd"; - }; }; } diff --git a/nixos/modules/services/mail/pfix-srsd.nix b/nixos/modules/services/mail/pfix-srsd.nix index d4176c509d7a4..fb6a395e3ab82 100644 --- a/nixos/modules/services/mail/pfix-srsd.nix +++ b/nixos/modules/services/mail/pfix-srsd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { ###### interface diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index f842a219910de..75e8d8838a098 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.postfix; @@ -6,245 +11,317 @@ let group = cfg.group; setgidGroup = cfg.setgidGroup; - haveAliases = cfg.postmasterAlias != "" || cfg.rootAlias != "" - || cfg.extraAliases != ""; + haveAliases = cfg.postmasterAlias != "" || cfg.rootAlias != "" || cfg.extraAliases != ""; haveCanonical = cfg.canonical != ""; haveTransport = cfg.transport != ""; haveVirtual = cfg.virtual != ""; haveLocalRecipients = cfg.localRecipients != null; - clientAccess = - lib.optional (cfg.dnsBlacklistOverrides != "") - "check_client_access hash:/etc/postfix/client_access"; + clientAccess = lib.optional ( + cfg.dnsBlacklistOverrides != "" + ) "check_client_access hash:/etc/postfix/client_access"; - dnsBl = - lib.optionals (cfg.dnsBlacklists != []) - (map (s: "reject_rbl_client " + s) cfg.dnsBlacklists); + dnsBl = lib.optionals (cfg.dnsBlacklists != [ ]) ( + map (s: "reject_rbl_client " + s) cfg.dnsBlacklists + ); clientRestrictions = lib.concatStringsSep ", " (clientAccess ++ dnsBl); - mainCf = let - escape = lib.replaceStrings ["$"] ["$$"]; - mkList = items: "\n " + lib.concatStringsSep ",\n " items; - mkVal = value: - if lib.isList value then mkList value - else " " + (if value == true then "yes" - else if value == false then "no" - else toString value); - mkEntry = name: value: "${escape name} =${mkVal value}"; - in - lib.concatStringsSep "\n" (lib.mapAttrsToList mkEntry cfg.config) - + "\n" + cfg.extraConfig; - - masterCfOptions = { options, config, name, ... }: { - options = { - name = lib.mkOption { - type = lib.types.str; - default = name; - example = "smtp"; - description = '' - The name of the service to run. Defaults to the attribute set key. - ''; - }; + mainCf = + let + escape = lib.replaceStrings [ "$" ] [ "$$" ]; + mkList = items: "\n " + lib.concatStringsSep ",\n " items; + mkVal = + value: + if lib.isList value then + mkList value + else + " " + + ( + if value == true then + "yes" + else if value == false then + "no" + else + toString value + ); + mkEntry = name: value: "${escape name} =${mkVal value}"; + in + lib.concatStringsSep "\n" (lib.mapAttrsToList mkEntry cfg.config) + "\n" + cfg.extraConfig; + + masterCfOptions = + { + options, + config, + name, + ... + }: + { + options = { + name = lib.mkOption { + type = lib.types.str; + default = name; + example = "smtp"; + description = '' + The name of the service to run. Defaults to the attribute set key. + ''; + }; - type = lib.mkOption { - type = lib.types.enum [ "inet" "unix" "unix-dgram" "fifo" "pass" ]; - default = "unix"; - example = "inet"; - description = "The type of the service"; - }; + type = lib.mkOption { + type = lib.types.enum [ + "inet" + "unix" + "unix-dgram" + "fifo" + "pass" + ]; + default = "unix"; + example = "inet"; + description = "The type of the service"; + }; - private = lib.mkOption { - type = lib.types.bool; - example = false; - description = '' - Whether the service's sockets and storage directory is restricted to - be only available via the mail system. If `null` is - given it uses the postfix default `true`. - ''; - }; + private = lib.mkOption { + type = lib.types.bool; + example = false; + description = '' + Whether the service's sockets and storage directory is restricted to + be only available via the mail system. If `null` is + given it uses the postfix default `true`. + ''; + }; - privileged = lib.mkOption { - type = lib.types.bool; - example = true; - description = ""; - }; + privileged = lib.mkOption { + type = lib.types.bool; + example = true; + description = ""; + }; - chroot = lib.mkOption { - type = lib.types.bool; - example = true; - description = '' - Whether the service is chrooted to have only access to the - {option}`services.postfix.queueDir` and the closure of - store paths specified by the {option}`program` option. - ''; - }; + chroot = lib.mkOption { + type = lib.types.bool; + example = true; + description = '' + Whether the service is chrooted to have only access to the + {option}`services.postfix.queueDir` and the closure of + store paths specified by the {option}`program` option. + ''; + }; - wakeup = lib.mkOption { - type = lib.types.int; - example = 60; - description = '' - Automatically wake up the service after the specified number of - seconds. If `0` is given, never wake the service - up. - ''; - }; + wakeup = lib.mkOption { + type = lib.types.int; + example = 60; + description = '' + Automatically wake up the service after the specified number of + seconds. If `0` is given, never wake the service + up. + ''; + }; - wakeupUnusedComponent = lib.mkOption { - type = lib.types.bool; - example = false; - description = '' - If set to `false` the component will only be woken - up if it is used. This is equivalent to postfix' notion of adding a - question mark behind the wakeup time in - {file}`master.cf` - ''; - }; + wakeupUnusedComponent = lib.mkOption { + type = lib.types.bool; + example = false; + description = '' + If set to `false` the component will only be woken + up if it is used. This is equivalent to postfix' notion of adding a + question mark behind the wakeup time in + {file}`master.cf` + ''; + }; - maxproc = lib.mkOption { - type = lib.types.int; - example = 1; - description = '' - The maximum number of processes to spawn for this service. If the - value is `0` it doesn't have any limit. If - `null` is given it uses the postfix default of - `100`. - ''; - }; + maxproc = lib.mkOption { + type = lib.types.int; + example = 1; + description = '' + The maximum number of processes to spawn for this service. If the + value is `0` it doesn't have any limit. If + `null` is given it uses the postfix default of + `100`. + ''; + }; - command = lib.mkOption { - type = lib.types.str; - default = name; - example = "smtpd"; - description = '' - A program name specifying a Postfix service/daemon process. - By default it's the attribute {option}`name`. - ''; - }; + command = lib.mkOption { + type = lib.types.str; + default = name; + example = "smtpd"; + description = '' + A program name specifying a Postfix service/daemon process. + By default it's the attribute {option}`name`. + ''; + }; - args = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - example = [ "-o" "smtp_helo_timeout=5" ]; - description = '' - Arguments to pass to the {option}`command`. There is no shell - processing involved and shell syntax is passed verbatim to the - process. - ''; - }; + args = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "-o" + "smtp_helo_timeout=5" + ]; + description = '' + Arguments to pass to the {option}`command`. There is no shell + processing involved and shell syntax is passed verbatim to the + process. + ''; + }; - rawEntry = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - internal = true; - description = '' - The raw configuration line for the {file}`master.cf`. - ''; + rawEntry = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + internal = true; + description = '' + The raw configuration line for the {file}`master.cf`. + ''; + }; }; - }; - - config.rawEntry = let - mkBool = bool: if bool then "y" else "n"; - mkArg = arg: "${lib.optionalString (lib.hasPrefix "-" arg) "\n "}${arg}"; - - maybeOption = fun: option: - if options.${option}.isDefined then fun config.${option} else "-"; - - # This is special, because we have two options for this value. - wakeup = let - wakeupDefined = options.wakeup.isDefined; - wakeupUCDefined = options.wakeupUnusedComponent.isDefined; - finalValue = toString config.wakeup - + lib.optionalString (wakeupUCDefined && !config.wakeupUnusedComponent) "?"; - in if wakeupDefined then finalValue else "-"; - - in [ - config.name - config.type - (maybeOption mkBool "private") - (maybeOption (b: mkBool (!b)) "privileged") - (maybeOption mkBool "chroot") - wakeup - (maybeOption toString "maxproc") - (config.command + " " + lib.concatMapStringsSep " " mkArg config.args) - ]; - }; - - masterCfContent = let - - labels = [ - "# service" "type" "private" "unpriv" "chroot" "wakeup" "maxproc" - "command + args" - ]; - - labelDefaults = [ - "# " "" "(yes)" "(yes)" "(no)" "(never)" "(100)" "" "" - ]; - - masterCf = lib.mapAttrsToList (lib.const (lib.getAttr "rawEntry")) cfg.masterConfig; - - # A list of the maximum width of the columns across all lines and labels - maxWidths = let - foldLine = line: acc: let - columnLengths = map lib.stringLength line; - in lib.zipListsWith lib.max acc columnLengths; - # We need to handle the last column specially here, because it's - # open-ended (command + args). - lines = [ labels labelDefaults ] ++ (map (l: lib.init l ++ [""]) masterCf); - in lib.foldr foldLine (lib.genList (lib.const 0) (lib.length labels)) lines; - # Pad a string with spaces from the right (opposite of fixedWidthString). - pad = width: str: let - padWidth = width - lib.stringLength str; - padding = lib.concatStrings (lib.genList (lib.const " ") padWidth); - in str + lib.optionalString (padWidth > 0) padding; - - # It's + 2 here, because that's the amount of spacing between columns. - fullWidth = lib.foldr (width: acc: acc + width + 2) 0 maxWidths; - - formatLine = line: lib.concatStringsSep " " (lib.zipListsWith pad maxWidths line); - - formattedLabels = let - sep = "# " + lib.concatStrings (lib.genList (lib.const "=") (fullWidth + 5)); - lines = [ sep (formatLine labels) (formatLine labelDefaults) sep ]; - in lib.concatStringsSep "\n" lines; - - in formattedLabels + "\n" + lib.concatMapStringsSep "\n" formatLine masterCf + "\n" + cfg.extraMasterConf; + config.rawEntry = + let + mkBool = bool: if bool then "y" else "n"; + mkArg = arg: "${lib.optionalString (lib.hasPrefix "-" arg) "\n "}${arg}"; + + maybeOption = fun: option: if options.${option}.isDefined then fun config.${option} else "-"; + + # This is special, because we have two options for this value. + wakeup = + let + wakeupDefined = options.wakeup.isDefined; + wakeupUCDefined = options.wakeupUnusedComponent.isDefined; + finalValue = + toString config.wakeup + lib.optionalString (wakeupUCDefined && !config.wakeupUnusedComponent) "?"; + in + if wakeupDefined then finalValue else "-"; + + in + [ + config.name + config.type + (maybeOption mkBool "private") + (maybeOption (b: mkBool (!b)) "privileged") + (maybeOption mkBool "chroot") + wakeup + (maybeOption toString "maxproc") + (config.command + " " + lib.concatMapStringsSep " " mkArg config.args) + ]; + }; - headerCheckOptions = { ... }: - { - options = { - pattern = lib.mkOption { - type = lib.types.str; - default = "/^.*/"; - example = "/^X-Mailer:/"; - description = "A regexp pattern matching the header"; - }; - action = lib.mkOption { - type = lib.types.str; - default = "DUNNO"; - example = "BCC mail@example.com"; - description = "The action to be executed when the pattern is matched"; + masterCfContent = + let + + labels = [ + "# service" + "type" + "private" + "unpriv" + "chroot" + "wakeup" + "maxproc" + "command + args" + ]; + + labelDefaults = [ + "# " + "" + "(yes)" + "(yes)" + "(no)" + "(never)" + "(100)" + "" + "" + ]; + + masterCf = lib.mapAttrsToList (lib.const (lib.getAttr "rawEntry")) cfg.masterConfig; + + # A list of the maximum width of the columns across all lines and labels + maxWidths = + let + foldLine = + line: acc: + let + columnLengths = map lib.stringLength line; + in + lib.zipListsWith lib.max acc columnLengths; + # We need to handle the last column specially here, because it's + # open-ended (command + args). + lines = [ + labels + labelDefaults + ] ++ (map (l: lib.init l ++ [ "" ]) masterCf); + in + lib.foldr foldLine (lib.genList (lib.const 0) (lib.length labels)) lines; + + # Pad a string with spaces from the right (opposite of fixedWidthString). + pad = + width: str: + let + padWidth = width - lib.stringLength str; + padding = lib.concatStrings (lib.genList (lib.const " ") padWidth); + in + str + lib.optionalString (padWidth > 0) padding; + + # It's + 2 here, because that's the amount of spacing between columns. + fullWidth = lib.foldr (width: acc: acc + width + 2) 0 maxWidths; + + formatLine = line: lib.concatStringsSep " " (lib.zipListsWith pad maxWidths line); + + formattedLabels = + let + sep = "# " + lib.concatStrings (lib.genList (lib.const "=") (fullWidth + 5)); + lines = [ + sep + (formatLine labels) + (formatLine labelDefaults) + sep + ]; + in + lib.concatStringsSep "\n" lines; + + in + formattedLabels + + "\n" + + lib.concatMapStringsSep "\n" formatLine masterCf + + "\n" + + cfg.extraMasterConf; + + headerCheckOptions = + { ... }: + { + options = { + pattern = lib.mkOption { + type = lib.types.str; + default = "/^.*/"; + example = "/^X-Mailer:/"; + description = "A regexp pattern matching the header"; + }; + action = lib.mkOption { + type = lib.types.str; + default = "DUNNO"; + example = "BCC mail@example.com"; + description = "The action to be executed when the pattern is matched"; + }; }; }; - }; - headerChecks = lib.concatStringsSep "\n" (map (x: "${x.pattern} ${x.action}") cfg.headerChecks) + cfg.extraHeaderChecks; + headerChecks = + lib.concatStringsSep "\n" (map (x: "${x.pattern} ${x.action}") cfg.headerChecks) + + cfg.extraHeaderChecks; - aliases = let separator = lib.optionalString (cfg.aliasMapType == "hash") ":"; in + aliases = + let + separator = lib.optionalString (cfg.aliasMapType == "hash") ":"; + in lib.optionalString (cfg.postmasterAlias != "") '' postmaster${separator} ${cfg.postmasterAlias} '' + lib.optionalString (cfg.rootAlias != "") '' root${separator} ${cfg.rootAlias} '' - + cfg.extraAliases - ; + + cfg.extraAliases; aliasesFile = pkgs.writeText "postfix-aliases" aliases; canonicalFile = pkgs.writeText "postfix-canonical" cfg.canonical; virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual; - localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (lib.concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); + localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" ( + lib.concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients + ); checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides; mainCfFile = pkgs.writeText "postfix-main.cf" mainCf; masterCfFile = pkgs.writeText "postfix-master.cf" masterCfContent; @@ -361,7 +438,7 @@ in networks = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; - example = ["192.168.0.1/24"]; + example = [ "192.168.0.1/24" ]; description = '' Net masks for trusted - allowed to relay mail to third parties - hosts. Leave empty to use mynetworks_style configuration or use @@ -407,7 +484,7 @@ in destination = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; - example = ["localhost"]; + example = [ "localhost" ]; description = '' Full (!) list of domains we deliver locally. Leave blank for acceptable Postfix default. @@ -417,7 +494,7 @@ in relayDomains = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; - example = ["localdomain"]; + example = [ "localdomain" ]; description = '' List of domains we agree to relay to. Default is empty. ''; @@ -474,14 +551,27 @@ in }; aliasMapType = lib.mkOption { - type = with lib.types; enum [ "hash" "regexp" "pcre" ]; + type = + with lib.types; + enum [ + "hash" + "regexp" + "pcre" + ]; default = "hash"; example = "regexp"; description = "The format the alias map should have. Use regexp if you want to use regular expressions."; }; config = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ bool int str (listOf str) ]); + type = + with lib.types; + attrsOf (oneOf [ + bool + int + str + (listOf str) + ]); description = '' The main.cf configuration file as key value set. ''; @@ -546,7 +636,11 @@ in }; virtualMapType = lib.mkOption { - type = lib.types.enum ["hash" "regexp" "pcre"]; + type = lib.types.enum [ + "hash" + "regexp" + "pcre" + ]; default = "hash"; description = '' What type of virtual alias map file to use. Use `"regexp"` for regular expressions. @@ -575,7 +669,7 @@ in }; dnsBlacklists = lib.mkOption { - default = []; + default = [ ]; type = with lib.types; listOf str; description = "dns blacklist servers to use with smtpd_client_restrictions"; }; @@ -588,13 +682,16 @@ in masterConfig = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule masterCfOptions); - default = {}; - example = - { submission = { - type = "inet"; - args = [ "-o" "smtpd_tls_security_level=encrypt" ]; - }; + default = { }; + example = { + submission = { + type = "inet"; + args = [ + "-o" + "smtpd_tls_security_level=encrypt" + ]; }; + }; description = '' An attribute set of service options, which correspond to the service definitions usually done within the Postfix @@ -618,8 +715,13 @@ in headerChecks = lib.mkOption { type = lib.types.listOf (lib.types.submodule headerCheckOptions); - default = []; - example = [ { pattern = "/^X-Spam-Flag:/"; action = "REDIRECT spam@example.com"; } ]; + default = [ ]; + example = [ + { + pattern = "/^X-Spam-Flag:/"; + action = "REDIRECT spam@example.com"; + } + ]; description = "Postfix header checks."; }; @@ -632,13 +734,13 @@ in aliasFiles = lib.mkOption { type = lib.types.attrsOf lib.types.path; - default = {}; + default = { }; description = "Aliases' tables to be compiled and placed into /var/lib/postfix/conf."; }; mapFiles = lib.mkOption { type = lib.types.attrsOf lib.types.path; - default = {}; + default = { }; description = "Maps to be compiled and placed into /var/lib/postfix/conf."; }; @@ -652,75 +754,75 @@ in }; - ###### implementation - config = lib.mkIf config.services.postfix.enable (lib.mkMerge [ - { + config = lib.mkIf config.services.postfix.enable ( + lib.mkMerge [ + { - environment = { - etc.postfix.source = "/var/lib/postfix/conf"; + environment = { + etc.postfix.source = "/var/lib/postfix/conf"; - # This makes it comfortable to run 'postqueue/postdrop' for example. - systemPackages = [ pkgs.postfix ]; - }; + # This makes it comfortable to run 'postqueue/postdrop' for example. + systemPackages = [ pkgs.postfix ]; + }; - services.pfix-srsd.enable = config.services.postfix.useSrs; + services.pfix-srsd.enable = config.services.postfix.useSrs; - services.mail.sendmailSetuidWrapper = lib.mkIf config.services.postfix.setSendmail { - program = "sendmail"; - source = "${pkgs.postfix}/bin/sendmail"; - owner = "root"; - group = setgidGroup; - setuid = false; - setgid = true; - }; + services.mail.sendmailSetuidWrapper = lib.mkIf config.services.postfix.setSendmail { + program = "sendmail"; + source = "${pkgs.postfix}/bin/sendmail"; + owner = "root"; + group = setgidGroup; + setuid = false; + setgid = true; + }; - security.wrappers.mailq = { - program = "mailq"; - source = "${pkgs.postfix}/bin/mailq"; - owner = "root"; - group = setgidGroup; - setuid = false; - setgid = true; - }; + security.wrappers.mailq = { + program = "mailq"; + source = "${pkgs.postfix}/bin/mailq"; + owner = "root"; + group = setgidGroup; + setuid = false; + setgid = true; + }; - security.wrappers.postqueue = { - program = "postqueue"; - source = "${pkgs.postfix}/bin/postqueue"; - owner = "root"; - group = setgidGroup; - setuid = false; - setgid = true; - }; + security.wrappers.postqueue = { + program = "postqueue"; + source = "${pkgs.postfix}/bin/postqueue"; + owner = "root"; + group = setgidGroup; + setuid = false; + setgid = true; + }; - security.wrappers.postdrop = { - program = "postdrop"; - source = "${pkgs.postfix}/bin/postdrop"; - owner = "root"; - group = setgidGroup; - setuid = false; - setgid = true; - }; + security.wrappers.postdrop = { + program = "postdrop"; + source = "${pkgs.postfix}/bin/postdrop"; + owner = "root"; + group = setgidGroup; + setuid = false; + setgid = true; + }; - users.users = lib.optionalAttrs (user == "postfix") - { postfix = { + users.users = lib.optionalAttrs (user == "postfix") { + postfix = { description = "Postfix mail server user"; uid = config.ids.uids.postfix; group = group; }; }; - users.groups = - lib.optionalAttrs (group == "postfix") - { ${group}.gid = config.ids.gids.postfix; - } - // lib.optionalAttrs (setgidGroup == "postdrop") - { ${setgidGroup}.gid = config.ids.gids.postdrop; - }; + users.groups = + lib.optionalAttrs (group == "postfix") { + ${group}.gid = config.ids.gids.postfix; + } + // lib.optionalAttrs (setgidGroup == "postdrop") { + ${setgidGroup}.gid = config.ids.gids.postdrop; + }; - systemd.services.postfix-setup = - { description = "Setup for Postfix mail server"; + systemd.services.postfix-setup = { + description = "Setup for Postfix mail server"; serviceConfig.RemainAfterExit = true; serviceConfig.Type = "oneshot"; script = '' @@ -742,14 +844,18 @@ in ln -sf ${mainCfFile} /var/lib/postfix/conf/main.cf ln -sf ${masterCfFile} /var/lib/postfix/conf/master.cf - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (to: from: '' - ln -sf ${from} /var/lib/postfix/conf/${to} - ${pkgs.postfix}/bin/postalias -o -p /var/lib/postfix/conf/${to} - '') cfg.aliasFiles)} - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (to: from: '' - ln -sf ${from} /var/lib/postfix/conf/${to} - ${pkgs.postfix}/bin/postmap /var/lib/postfix/conf/${to} - '') cfg.mapFiles)} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (to: from: '' + ln -sf ${from} /var/lib/postfix/conf/${to} + ${pkgs.postfix}/bin/postalias -o -p /var/lib/postfix/conf/${to} + '') cfg.aliasFiles + )} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (to: from: '' + ln -sf ${from} /var/lib/postfix/conf/${to} + ${pkgs.postfix}/bin/postmap /var/lib/postfix/conf/${to} + '') cfg.mapFiles + )} mkdir -p /var/spool/mail chown root:root /var/spool/mail @@ -761,11 +867,14 @@ in ''; }; - systemd.services.postfix = - { description = "Postfix mail server"; + systemd.services.postfix = { + description = "Postfix mail server"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "postfix-setup.service" ]; + after = [ + "network.target" + "postfix-setup.service" + ]; requires = [ "postfix-setup.service" ]; path = [ pkgs.postfix ]; @@ -786,219 +895,264 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_NETLINK" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; }; }; - services.postfix.config = (lib.mapAttrs (_: v: lib.mkDefault v) { - compatibility_level = pkgs.postfix.version; - mail_owner = cfg.user; - default_privs = "nobody"; - - # NixOS specific locations - data_directory = "/var/lib/postfix/data"; - queue_directory = "/var/lib/postfix/queue"; - - # Default location of everything in package - meta_directory = "${pkgs.postfix}/etc/postfix"; - command_directory = "${pkgs.postfix}/bin"; - sample_directory = "/etc/postfix"; - newaliases_path = "${pkgs.postfix}/bin/newaliases"; - mailq_path = "${pkgs.postfix}/bin/mailq"; - readme_directory = false; - sendmail_path = "${pkgs.postfix}/bin/sendmail"; - daemon_directory = "${pkgs.postfix}/libexec/postfix"; - manpage_directory = "${pkgs.postfix}/share/man"; - html_directory = "${pkgs.postfix}/share/postfix/doc/html"; - shlib_directory = false; - mail_spool_directory = "/var/spool/mail/"; - setgid_group = cfg.setgidGroup; - }) - // lib.optionalAttrs (cfg.relayHost != "") { relayhost = if cfg.lookupMX - then "${cfg.relayHost}:${toString cfg.relayPort}" - else "[${cfg.relayHost}]:${toString cfg.relayPort}"; } - // lib.optionalAttrs (!config.networking.enableIPv6) { inet_protocols = lib.mkDefault "ipv4"; } - // lib.optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; } - // lib.optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; } - // lib.optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; } - // lib.optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; } - // lib.optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; } - // lib.optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; } - // lib.optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; } - // lib.optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; } - // lib.optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } - // lib.optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } - // lib.optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; } - // lib.optionalAttrs haveLocalRecipients { local_recipient_maps = [ "hash:/etc/postfix/local_recipients" ] ++ lib.optional haveAliases "$alias_maps"; } - // lib.optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; } - // lib.optionalAttrs cfg.useSrs { - sender_canonical_maps = [ "tcp:127.0.0.1:10001" ]; - sender_canonical_classes = [ "envelope_sender" ]; - recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ]; - recipient_canonical_classes = [ "envelope_recipient" ]; - } - // lib.optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; } - // lib.optionalAttrs (cfg.tlsTrustedAuthorities != "") { - smtp_tls_CAfile = cfg.tlsTrustedAuthorities; - smtp_tls_security_level = lib.mkDefault "may"; - } - // lib.optionalAttrs (cfg.sslCert != "") { - smtp_tls_cert_file = cfg.sslCert; - smtp_tls_key_file = cfg.sslKey; - - smtp_tls_security_level = lib.mkDefault "may"; - - smtpd_tls_cert_file = cfg.sslCert; - smtpd_tls_key_file = cfg.sslKey; - - smtpd_tls_security_level = lib.mkDefault "may"; + services.postfix.config = + (lib.mapAttrs (_: v: lib.mkDefault v) { + compatibility_level = pkgs.postfix.version; + mail_owner = cfg.user; + default_privs = "nobody"; + + # NixOS specific locations + data_directory = "/var/lib/postfix/data"; + queue_directory = "/var/lib/postfix/queue"; + + # Default location of everything in package + meta_directory = "${pkgs.postfix}/etc/postfix"; + command_directory = "${pkgs.postfix}/bin"; + sample_directory = "/etc/postfix"; + newaliases_path = "${pkgs.postfix}/bin/newaliases"; + mailq_path = "${pkgs.postfix}/bin/mailq"; + readme_directory = false; + sendmail_path = "${pkgs.postfix}/bin/sendmail"; + daemon_directory = "${pkgs.postfix}/libexec/postfix"; + manpage_directory = "${pkgs.postfix}/share/man"; + html_directory = "${pkgs.postfix}/share/postfix/doc/html"; + shlib_directory = false; + mail_spool_directory = "/var/spool/mail/"; + setgid_group = cfg.setgidGroup; + }) + // lib.optionalAttrs (cfg.relayHost != "") { + relayhost = + if cfg.lookupMX then + "${cfg.relayHost}:${toString cfg.relayPort}" + else + "[${cfg.relayHost}]:${toString cfg.relayPort}"; + } + // lib.optionalAttrs (!config.networking.enableIPv6) { inet_protocols = lib.mkDefault "ipv4"; } + // lib.optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; } + // lib.optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; } + // lib.optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; } + // lib.optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; } + // lib.optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; } + // lib.optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; } + // lib.optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; } + // lib.optionalAttrs (cfg.recipientDelimiter != "") { + recipient_delimiter = cfg.recipientDelimiter; + } + // lib.optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } + // lib.optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } + // lib.optionalAttrs haveVirtual { + virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; + } + // lib.optionalAttrs haveLocalRecipients { + local_recipient_maps = [ + "hash:/etc/postfix/local_recipients" + ] ++ lib.optional haveAliases "$alias_maps"; + } + // lib.optionalAttrs (cfg.dnsBlacklists != [ ]) { smtpd_client_restrictions = clientRestrictions; } + // lib.optionalAttrs cfg.useSrs { + sender_canonical_maps = [ "tcp:127.0.0.1:10001" ]; + sender_canonical_classes = [ "envelope_sender" ]; + recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ]; + recipient_canonical_classes = [ "envelope_recipient" ]; + } + // lib.optionalAttrs cfg.enableHeaderChecks { + header_checks = [ "regexp:/etc/postfix/header_checks" ]; + } + // lib.optionalAttrs (cfg.tlsTrustedAuthorities != "") { + smtp_tls_CAfile = cfg.tlsTrustedAuthorities; + smtp_tls_security_level = lib.mkDefault "may"; + } + // lib.optionalAttrs (cfg.sslCert != "") { + smtp_tls_cert_file = cfg.sslCert; + smtp_tls_key_file = cfg.sslKey; + + smtp_tls_security_level = lib.mkDefault "may"; + + smtpd_tls_cert_file = cfg.sslCert; + smtpd_tls_key_file = cfg.sslKey; + + smtpd_tls_security_level = lib.mkDefault "may"; - }; + }; - services.postfix.masterConfig = { - pickup = { - private = false; - wakeup = 60; - maxproc = 1; - }; - cleanup = { - private = false; - maxproc = 0; - }; - qmgr = { - private = false; - wakeup = 300; - maxproc = 1; - }; - tlsmgr = { - wakeup = 1000; - wakeupUnusedComponent = false; - maxproc = 1; - }; - rewrite = { - command = "trivial-rewrite"; - }; - bounce = { - maxproc = 0; - }; - defer = { - maxproc = 0; - command = "bounce"; - }; - trace = { - maxproc = 0; - command = "bounce"; - }; - verify = { - maxproc = 1; - }; - flush = { - private = false; - wakeup = 1000; - wakeupUnusedComponent = false; - maxproc = 0; - }; - proxymap = { - command = "proxymap"; - }; - proxywrite = { - maxproc = 1; - command = "proxymap"; - }; - showq = { - private = false; - }; - error = {}; - retry = { - command = "error"; - }; - discard = {}; - local = { - privileged = true; - }; - virtual = { - privileged = true; - }; - lmtp = { - }; - anvil = { - maxproc = 1; - }; - scache = { - maxproc = 1; - }; - } // lib.optionalAttrs cfg.enableSubmission { - submission = { - type = "inet"; - private = false; - command = "smtpd"; - args = let - mkKeyVal = opt: val: [ "-o" (opt + "=" + val) ]; - in lib.concatLists (lib.mapAttrsToList mkKeyVal cfg.submissionOptions); - }; - } // lib.optionalAttrs cfg.enableSmtp { - smtp_inet = { - name = "smtp"; - type = "inet"; - private = false; - command = "smtpd"; - }; - smtp = {}; - relay = { - command = "smtp"; - args = [ "-o" "smtp_fallback_relay=" ]; - }; - } // lib.optionalAttrs cfg.enableSubmissions { - submissions = { - type = "inet"; - private = false; - command = "smtpd"; - args = let - mkKeyVal = opt: val: [ "-o" (opt + "=" + val) ]; - adjustSmtpTlsSecurityLevel = !(cfg.submissionsOptions ? smtpd_tls_security_level) || - cfg.submissionsOptions.smtpd_tls_security_level == "none" || - cfg.submissionsOptions.smtpd_tls_security_level == "may"; - submissionsOptions = cfg.submissionsOptions // { - smtpd_tls_wrappermode = "yes"; - } // lib.optionalAttrs adjustSmtpTlsSecurityLevel { - smtpd_tls_security_level = "encrypt"; + services.postfix.masterConfig = + { + pickup = { + private = false; + wakeup = 60; + maxproc = 1; }; - in lib.concatLists (lib.mapAttrsToList mkKeyVal submissionsOptions); - }; - }; - } - - (lib.mkIf haveAliases { - services.postfix.aliasFiles.aliases = aliasesFile; - }) - (lib.mkIf haveCanonical { - services.postfix.mapFiles.canonical = canonicalFile; - }) - (lib.mkIf haveTransport { - services.postfix.mapFiles.transport = transportFile; - }) - (lib.mkIf haveVirtual { - services.postfix.mapFiles.virtual = virtualFile; - }) - (lib.mkIf haveLocalRecipients { - services.postfix.mapFiles.local_recipients = localRecipientMapFile; - }) - (lib.mkIf cfg.enableHeaderChecks { - services.postfix.mapFiles.header_checks = headerChecksFile; - }) - (lib.mkIf (cfg.dnsBlacklists != []) { - services.postfix.mapFiles.client_access = checkClientAccessFile; - }) - ]); + cleanup = { + private = false; + maxproc = 0; + }; + qmgr = { + private = false; + wakeup = 300; + maxproc = 1; + }; + tlsmgr = { + wakeup = 1000; + wakeupUnusedComponent = false; + maxproc = 1; + }; + rewrite = { + command = "trivial-rewrite"; + }; + bounce = { + maxproc = 0; + }; + defer = { + maxproc = 0; + command = "bounce"; + }; + trace = { + maxproc = 0; + command = "bounce"; + }; + verify = { + maxproc = 1; + }; + flush = { + private = false; + wakeup = 1000; + wakeupUnusedComponent = false; + maxproc = 0; + }; + proxymap = { + command = "proxymap"; + }; + proxywrite = { + maxproc = 1; + command = "proxymap"; + }; + showq = { + private = false; + }; + error = { }; + retry = { + command = "error"; + }; + discard = { }; + local = { + privileged = true; + }; + virtual = { + privileged = true; + }; + lmtp = { + }; + anvil = { + maxproc = 1; + }; + scache = { + maxproc = 1; + }; + } + // lib.optionalAttrs cfg.enableSubmission { + submission = { + type = "inet"; + private = false; + command = "smtpd"; + args = + let + mkKeyVal = opt: val: [ + "-o" + (opt + "=" + val) + ]; + in + lib.concatLists (lib.mapAttrsToList mkKeyVal cfg.submissionOptions); + }; + } + // lib.optionalAttrs cfg.enableSmtp { + smtp_inet = { + name = "smtp"; + type = "inet"; + private = false; + command = "smtpd"; + }; + smtp = { }; + relay = { + command = "smtp"; + args = [ + "-o" + "smtp_fallback_relay=" + ]; + }; + } + // lib.optionalAttrs cfg.enableSubmissions { + submissions = { + type = "inet"; + private = false; + command = "smtpd"; + args = + let + mkKeyVal = opt: val: [ + "-o" + (opt + "=" + val) + ]; + adjustSmtpTlsSecurityLevel = + !(cfg.submissionsOptions ? smtpd_tls_security_level) + || cfg.submissionsOptions.smtpd_tls_security_level == "none" + || cfg.submissionsOptions.smtpd_tls_security_level == "may"; + submissionsOptions = + cfg.submissionsOptions + // { + smtpd_tls_wrappermode = "yes"; + } + // lib.optionalAttrs adjustSmtpTlsSecurityLevel { + smtpd_tls_security_level = "encrypt"; + }; + in + lib.concatLists (lib.mapAttrsToList mkKeyVal submissionsOptions); + }; + }; + } - imports = [ - (lib.mkRemovedOptionModule [ "services" "postfix" "sslCACert" ] - "services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.extraConfig.") + (lib.mkIf haveAliases { + services.postfix.aliasFiles.aliases = aliasesFile; + }) + (lib.mkIf haveCanonical { + services.postfix.mapFiles.canonical = canonicalFile; + }) + (lib.mkIf haveTransport { + services.postfix.mapFiles.transport = transportFile; + }) + (lib.mkIf haveVirtual { + services.postfix.mapFiles.virtual = virtualFile; + }) + (lib.mkIf haveLocalRecipients { + services.postfix.mapFiles.local_recipients = localRecipientMapFile; + }) + (lib.mkIf cfg.enableHeaderChecks { + services.postfix.mapFiles.header_checks = headerChecksFile; + }) + (lib.mkIf (cfg.dnsBlacklists != [ ]) { + services.postfix.mapFiles.client_access = checkClientAccessFile; + }) + ] + ); - (lib.mkChangedOptionModule [ "services" "postfix" "useDane" ] - [ "services" "postfix" "config" "smtp_tls_security_level" ] - (config: lib.mkIf config.services.postfix.useDane "dane")) + imports = [ + (lib.mkRemovedOptionModule [ "services" "postfix" "sslCACert" ] + "services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.extraConfig." + ) + + (lib.mkChangedOptionModule + [ "services" "postfix" "useDane" ] + [ "services" "postfix" "config" "smtp_tls_security_level" ] + (config: lib.mkIf config.services.postfix.useDane "dane") + ) ]; } diff --git a/nixos/modules/services/mail/postgrey.nix b/nixos/modules/services/mail/postgrey.nix index 7c206e3725e6b..7ce9d40a912af 100644 --- a/nixos/modules/services/mail/postgrey.nix +++ b/nixos/modules/services/mail/postgrey.nix @@ -1,13 +1,21 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -with lib; let +with lib; +let cfg = config.services.postgrey; natural = with types; addCheck int (x: x >= 0); natural' = with types; addCheck int (x: x > 0); - socket = with types; addCheck (either (submodule unixSocket) (submodule inetSocket)) (x: x ? path || x ? port); + socket = + with types; + addCheck (either (submodule unixSocket) (submodule inetSocket)) (x: x ? path || x ? port); inetSocket = with types; { options = { @@ -41,17 +49,47 @@ with lib; let }; }; -in { +in +{ imports = [ - (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let - value = p: getAttrFromPath p config; - inetAddr = [ "services" "postgrey" "inetAddr" ]; - inetPort = [ "services" "postgrey" "inetPort" ]; - in - if value inetAddr == null - then { path = "/run/postgrey.sock"; } - else { addr = value inetAddr; port = value inetPort; } - )) + (mkMergedOptionModule + [ + [ + "services" + "postgrey" + "inetAddr" + ] + [ + "services" + "postgrey" + "inetPort" + ] + ] + [ "services" "postgrey" "socket" ] + ( + config: + let + value = p: getAttrFromPath p config; + inetAddr = [ + "services" + "postgrey" + "inetAddr" + ]; + inetPort = [ + "services" + "postgrey" + "inetPort" + ]; + in + if value inetAddr == null then + { path = "/run/postgrey.sock"; } + else + { + addr = value inetAddr; + port = value inetPort; + } + ) + ) ]; options = { @@ -131,12 +169,12 @@ in { }; whitelistClients = mkOption { type = listOf path; - default = []; + default = [ ]; description = "Client address whitelist files (see postgrey(8))"; }; whitelistRecipients = mkOption { type = listOf path; - default = []; + default = [ ]; description = "Recipient address whitelist files (see postgrey(8))"; }; }; @@ -161,44 +199,52 @@ in { }; }; - systemd.services.postgrey = let - bind-flag = if cfg.socket ? path then - "--unix=${cfg.socket.path} --socketmode=${cfg.socket.mode}" - else - ''--inet=${optionalString (cfg.socket.addr != null) (cfg.socket.addr + ":")}${toString cfg.socket.port}''; - in { - description = "Postfix Greylisting Service"; - wantedBy = [ "multi-user.target" ]; - before = [ "postfix.service" ]; - preStart = '' - mkdir -p /var/postgrey - chown postgrey:postgrey /var/postgrey - chmod 0770 /var/postgrey - ''; - serviceConfig = { - Type = "simple"; - ExecStart = ''${pkgs.postgrey}/bin/postgrey \ - ${bind-flag} \ - --group=postgrey --user=postgrey \ - --dbdir=/var/postgrey \ - --delay=${toString cfg.delay} \ - --max-age=${toString cfg.maxAge} \ - --retry-window=${toString cfg.retryWindow} \ - ${if cfg.lookupBySubnet then "--lookup-by-subnet" else "--lookup-by-host"} \ - --ipv4cidr=${toString cfg.IPv4CIDR} --ipv6cidr=${toString cfg.IPv6CIDR} \ - ${optionalString cfg.privacy "--privacy"} \ - --auto-whitelist-clients=${toString (if cfg.autoWhitelist == null then 0 else cfg.autoWhitelist)} \ - --greylist-action=${cfg.greylistAction} \ - --greylist-text="${cfg.greylistText}" \ - --x-greylist-header="${cfg.greylistHeader}" \ - ${concatMapStringsSep " " (x: "--whitelist-clients=" + x) cfg.whitelistClients} \ - ${concatMapStringsSep " " (x: "--whitelist-recipients=" + x) cfg.whitelistRecipients} + systemd.services.postgrey = + let + bind-flag = + if cfg.socket ? path then + "--unix=${cfg.socket.path} --socketmode=${cfg.socket.mode}" + else + ''--inet=${ + optionalString (cfg.socket.addr != null) (cfg.socket.addr + ":") + }${toString cfg.socket.port}''; + in + { + description = "Postfix Greylisting Service"; + wantedBy = [ "multi-user.target" ]; + before = [ "postfix.service" ]; + preStart = '' + mkdir -p /var/postgrey + chown postgrey:postgrey /var/postgrey + chmod 0770 /var/postgrey ''; - Restart = "always"; - RestartSec = 5; - TimeoutSec = 10; + serviceConfig = { + Type = "simple"; + ExecStart = '' + ${pkgs.postgrey}/bin/postgrey \ + ${bind-flag} \ + --group=postgrey --user=postgrey \ + --dbdir=/var/postgrey \ + --delay=${toString cfg.delay} \ + --max-age=${toString cfg.maxAge} \ + --retry-window=${toString cfg.retryWindow} \ + ${if cfg.lookupBySubnet then "--lookup-by-subnet" else "--lookup-by-host"} \ + --ipv4cidr=${toString cfg.IPv4CIDR} --ipv6cidr=${toString cfg.IPv6CIDR} \ + ${optionalString cfg.privacy "--privacy"} \ + --auto-whitelist-clients=${ + toString (if cfg.autoWhitelist == null then 0 else cfg.autoWhitelist) + } \ + --greylist-action=${cfg.greylistAction} \ + --greylist-text="${cfg.greylistText}" \ + --x-greylist-header="${cfg.greylistHeader}" \ + ${concatMapStringsSep " " (x: "--whitelist-clients=" + x) cfg.whitelistClients} \ + ${concatMapStringsSep " " (x: "--whitelist-recipients=" + x) cfg.whitelistRecipients} + ''; + Restart = "always"; + RestartSec = 5; + TimeoutSec = 10; + }; }; - }; }; diff --git a/nixos/modules/services/mail/postsrsd.nix b/nixos/modules/services/mail/postsrsd.nix index f94d3942b5e3b..3f0db2d91c000 100644 --- a/nixos/modules/services/mail/postsrsd.nix +++ b/nixos/modules/services/mail/postsrsd.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.postsrsd; -in { +in +{ ###### interface @@ -29,7 +35,11 @@ in { }; separator = lib.mkOption { - type = lib.types.enum ["-" "=" "+"]; + type = lib.types.enum [ + "-" + "=" + "+" + ]; default = "="; description = "First separator character in generated addresses"; }; @@ -60,7 +70,7 @@ in { excludeDomains = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "Origin domains to exclude from rewriting in addition to primary domain"; }; @@ -80,7 +90,6 @@ in { }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/mail/public-inbox.nix b/nixos/modules/services/mail/public-inbox.nix index 1f7c8c44ace15..b1e4daa9f0e41 100644 --- a/nixos/modules/services/mail/public-inbox.nix +++ b/nixos/modules/services/mail/public-inbox.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: with lib; @@ -9,13 +14,14 @@ let gitIni = pkgs.formats.gitIni { listsAsDuplicateKeys = true; }; iniAtom = gitIni.lib.types.atom; - useSpamAssassin = cfg.settings.publicinboxmda.spamcheck == "spamc" || - cfg.settings.publicinboxwatch.spamcheck == "spamc"; + useSpamAssassin = + cfg.settings.publicinboxmda.spamcheck == "spamc" + || cfg.settings.publicinboxwatch.spamcheck == "spamc"; publicInboxDaemonOptions = proto: defaultPort: { args = mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = "Command-line arguments to pass to {manpage}`public-inbox-${proto}d(1)`."; }; port = mkOption { @@ -42,103 +48,116 @@ let }; }; - serviceConfig = srv: - let proto = removeSuffix "d" srv; - needNetwork = builtins.hasAttr proto cfg && cfg.${proto}.port == null; - in { - serviceConfig = { - # Enable JIT-compiled C (via Inline::C) - Environment = [ "PERL_INLINE_DIRECTORY=/run/public-inbox-${srv}/perl-inline" ]; - # NonBlocking is REQUIRED to avoid a race condition - # if running simultaneous services. - NonBlocking = true; - #LimitNOFILE = 30000; - User = config.users.users."public-inbox".name; - Group = config.users.groups."public-inbox".name; - RuntimeDirectory = [ + serviceConfig = + srv: + let + proto = removeSuffix "d" srv; + needNetwork = builtins.hasAttr proto cfg && cfg.${proto}.port == null; + in + { + serviceConfig = { + # Enable JIT-compiled C (via Inline::C) + Environment = [ "PERL_INLINE_DIRECTORY=/run/public-inbox-${srv}/perl-inline" ]; + # NonBlocking is REQUIRED to avoid a race condition + # if running simultaneous services. + NonBlocking = true; + #LimitNOFILE = 30000; + User = config.users.users."public-inbox".name; + Group = config.users.groups."public-inbox".name; + RuntimeDirectory = [ "public-inbox-${srv}/perl-inline" ]; - RuntimeDirectoryMode = "700"; - # This is for BindPaths= and BindReadOnlyPaths= - # to allow traversal of directories they create inside RootDirectory= - UMask = "0066"; - StateDirectory = ["public-inbox"]; - StateDirectoryMode = "0750"; - WorkingDirectory = stateDir; - BindReadOnlyPaths = [ - "/etc" - "/run/systemd" - "${config.i18n.glibcLocales}" - ] ++ - mapAttrsToList (name: inbox: inbox.description) cfg.inboxes ++ - # Without confinement the whole Nix store - # is made available to the service - optionals (!config.systemd.services."public-inbox-${srv}".confinement.enable) [ - "${pkgs.dash}/bin/dash:/bin/sh" - builtins.storeDir + RuntimeDirectoryMode = "700"; + # This is for BindPaths= and BindReadOnlyPaths= + # to allow traversal of directories they create inside RootDirectory= + UMask = "0066"; + StateDirectory = [ "public-inbox" ]; + StateDirectoryMode = "0750"; + WorkingDirectory = stateDir; + BindReadOnlyPaths = + [ + "/etc" + "/run/systemd" + "${config.i18n.glibcLocales}" + ] + ++ mapAttrsToList (name: inbox: inbox.description) cfg.inboxes + ++ + # Without confinement the whole Nix store + # is made available to the service + optionals (!config.systemd.services."public-inbox-${srv}".confinement.enable) [ + "${pkgs.dash}/bin/dash:/bin/sh" + builtins.storeDir + ]; + # The following options are only for optimizing: + # systemd-analyze security public-inbox-'*' + AmbientCapabilities = ""; + CapabilityBoundingSet = ""; + # ProtectClock= adds DeviceAllow=char-rtc r + DeviceAllow = ""; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateNetwork = mkDefault (!needNetwork); + ProcSubset = "pid"; + ProtectClock = true; + ProtectHome = "tmpfs"; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectProc = "invisible"; + #ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = + [ "AF_UNIX" ] + ++ optionals needNetwork [ + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallFilter = [ + "@system-service" + "~@aio" + "~@chown" + "~@keyring" + "~@memlock" + "~@resources" + # Not removing @setuid and @privileged because Inline::C needs them. + # Not removing @timer because git upload-pack needs it. ]; - # The following options are only for optimizing: - # systemd-analyze security public-inbox-'*' - AmbientCapabilities = ""; - CapabilityBoundingSet = ""; - # ProtectClock= adds DeviceAllow=char-rtc r - DeviceAllow = ""; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateNetwork = mkDefault (!needNetwork); - ProcSubset = "pid"; - ProtectClock = true; - ProtectHome = "tmpfs"; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectProc = "invisible"; - #ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ "AF_UNIX" ] ++ - optionals needNetwork [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallFilter = [ - "@system-service" - "~@aio" "~@chown" "~@keyring" "~@memlock" "~@resources" - # Not removing @setuid and @privileged because Inline::C needs them. - # Not removing @timer because git upload-pack needs it. - ]; - SystemCallArchitectures = "native"; + SystemCallArchitectures = "native"; - # The following options are redundant when confinement is enabled - RootDirectory = "/var/empty"; - TemporaryFileSystem = "/"; - PrivateMounts = true; - MountAPIVFS = true; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectControlGroups = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - }; - confinement = { - # Until we agree upon doing it directly here in NixOS - # https://github.com/NixOS/nixpkgs/pull/104457#issuecomment-1115768447 - # let the user choose to enable the confinement with: - # systemd.services.public-inbox-httpd.confinement.enable = true; - # systemd.services.public-inbox-imapd.confinement.enable = true; - # systemd.services.public-inbox-init.confinement.enable = true; - # systemd.services.public-inbox-nntpd.confinement.enable = true; - #enable = true; - mode = "full-apivfs"; - # Inline::C needs a /bin/sh, and dash is enough - binSh = "${pkgs.dash}/bin/dash"; - packages = [ + # The following options are redundant when confinement is enabled + RootDirectory = "/var/empty"; + TemporaryFileSystem = "/"; + PrivateMounts = true; + MountAPIVFS = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectControlGroups = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + }; + confinement = { + # Until we agree upon doing it directly here in NixOS + # https://github.com/NixOS/nixpkgs/pull/104457#issuecomment-1115768447 + # let the user choose to enable the confinement with: + # systemd.services.public-inbox-httpd.confinement.enable = true; + # systemd.services.public-inbox-imapd.confinement.enable = true; + # systemd.services.public-inbox-init.confinement.enable = true; + # systemd.services.public-inbox-nntpd.confinement.enable = true; + #enable = true; + mode = "full-apivfs"; + # Inline::C needs a /bin/sh, and dash is enough + binSh = "${pkgs.dash}/bin/dash"; + packages = [ pkgs.iana-etc (getLib pkgs.nss) pkgs.tzdata ]; + }; }; - }; in { @@ -147,7 +166,7 @@ in package = mkPackageOption pkgs "public-inbox" { }; path = mkOption { type = with types; listOf package; - default = []; + default = [ ]; example = literalExpression "with pkgs; [ spamassassin ]"; description = '' Additional packages to place in the path of public-inbox-mda, @@ -158,58 +177,63 @@ in description = '' Inboxes to configure, where attribute names are inbox names. ''; - default = {}; - type = types.attrsOf (types.submodule ({name, ...}: { - freeformType = types.attrsOf iniAtom; - options.inboxdir = mkOption { - type = types.str; - default = "${stateDir}/inboxes/${name}"; - description = "The absolute path to the directory which hosts the public-inbox."; - }; - options.address = mkOption { - type = with types; listOf str; - example = "example-discuss@example.org"; - description = "The email addresses of the public-inbox."; - }; - options.url = mkOption { - type = types.nonEmptyStr; - example = "https://example.org/lists/example-discuss"; - description = "URL where this inbox can be accessed over HTTP."; - }; - options.description = mkOption { - type = types.str; - example = "user/dev discussion of public-inbox itself"; - description = "User-visible description for the repository."; - apply = pkgs.writeText "public-inbox-description-${name}"; - }; - options.newsgroup = mkOption { - type = with types; nullOr str; - default = null; - description = "NNTP group name for the inbox."; - }; - options.watch = mkOption { - type = with types; listOf str; - default = []; - description = "Paths for {manpage}`public-inbox-watch(1)` to monitor for new mail."; - example = [ "maildir:/path/to/test.example.com.git" ]; - }; - options.watchheader = mkOption { - type = with types; nullOr str; - default = null; - example = "List-Id:"; - description = '' - If specified, {manpage}`public-inbox-watch(1)` will only process - mail containing a matching header. - ''; - }; - options.coderepo = mkOption { - type = (types.listOf (types.enum (attrNames cfg.settings.coderepo))) // { - description = "list of coderepo names"; - }; - default = []; - description = "Nicknames of a 'coderepo' section associated with the inbox."; - }; - })); + default = { }; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { + freeformType = types.attrsOf iniAtom; + options.inboxdir = mkOption { + type = types.str; + default = "${stateDir}/inboxes/${name}"; + description = "The absolute path to the directory which hosts the public-inbox."; + }; + options.address = mkOption { + type = with types; listOf str; + example = "example-discuss@example.org"; + description = "The email addresses of the public-inbox."; + }; + options.url = mkOption { + type = types.nonEmptyStr; + example = "https://example.org/lists/example-discuss"; + description = "URL where this inbox can be accessed over HTTP."; + }; + options.description = mkOption { + type = types.str; + example = "user/dev discussion of public-inbox itself"; + description = "User-visible description for the repository."; + apply = pkgs.writeText "public-inbox-description-${name}"; + }; + options.newsgroup = mkOption { + type = with types; nullOr str; + default = null; + description = "NNTP group name for the inbox."; + }; + options.watch = mkOption { + type = with types; listOf str; + default = [ ]; + description = "Paths for {manpage}`public-inbox-watch(1)` to monitor for new mail."; + example = [ "maildir:/path/to/test.example.com.git" ]; + }; + options.watchheader = mkOption { + type = with types; nullOr str; + default = null; + example = "List-Id:"; + description = '' + If specified, {manpage}`public-inbox-watch(1)` will only process + mail containing a matching header. + ''; + }; + options.coderepo = mkOption { + type = (types.listOf (types.enum (attrNames cfg.settings.coderepo))) // { + description = "list of coderepo names"; + }; + default = [ ]; + description = "Nicknames of a 'coderepo' section associated with the inbox."; + }; + } + ) + ); }; imap = { enable = mkEnableOption "the public-inbox IMAP server"; @@ -244,7 +268,7 @@ in enable = mkEnableOption "the public-inbox Mail Delivery Agent"; args = mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = "Command-line arguments to pass to {manpage}`public-inbox-mda(1)`."; }; }; @@ -262,42 +286,56 @@ in description = '' Settings for the [public-inbox config file](https://public-inbox.org/public-inbox-config.html). ''; - default = {}; + default = { }; type = types.submodule { freeformType = gitIni.type; options.publicinbox = mkOption { - default = {}; + default = { }; description = "public inboxes"; type = types.submodule { # Support both global options like `services.public-inbox.settings.publicinbox.imapserver` # and inbox specific options like `services.public-inbox.settings.publicinbox.foo.address`. - freeformType = with types; attrsOf (oneOf [ iniAtom (attrsOf iniAtom) ]); + freeformType = + with types; + attrsOf (oneOf [ + iniAtom + (attrsOf iniAtom) + ]); options.css = mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = "The local path name of a CSS file for the PSGI web interface."; }; options.imapserver = mkOption { type = with types; listOf str; - default = []; + default = [ ]; example = [ "imap.public-inbox.org" ]; description = "IMAP URLs to this public-inbox instance"; }; options.nntpserver = mkOption { type = with types; listOf str; - default = []; - example = [ "nntp://news.public-inbox.org" "nntps://news.public-inbox.org" ]; + default = [ ]; + example = [ + "nntp://news.public-inbox.org" + "nntps://news.public-inbox.org" + ]; description = "NNTP URLs to this public-inbox instance"; }; options.pop3server = mkOption { type = with types; listOf str; - default = []; + default = [ ]; example = [ "pop.public-inbox.org" ]; description = "POP3 URLs to this public-inbox instance"; }; options.wwwlisting = mkOption { - type = with types; enum [ "all" "404" "match=domain" ]; + type = + with types; + enum [ + "all" + "404" + "match=domain" + ]; default = "404"; description = '' Controls which lists (if any) are listed for when the root @@ -307,7 +345,12 @@ in }; }; options.publicinboxmda.spamcheck = mkOption { - type = with types; enum [ "spamc" "none" ]; + type = + with types; + enum [ + "spamc" + "none" + ]; default = "none"; description = '' If set to spamc, {manpage}`public-inbox-watch(1)` will filter spam @@ -315,7 +358,12 @@ in ''; }; options.publicinboxwatch.spamcheck = mkOption { - type = with types; enum [ "spamc" "none" ]; + type = + with types; + enum [ + "spamc" + "none" + ]; default = "none"; description = '' If set to spamc, {manpage}`public-inbox-watch(1)` will filter spam @@ -332,19 +380,21 @@ in ''; }; options.coderepo = mkOption { - default = {}; + default = { }; description = "code repositories"; - type = types.attrsOf (types.submodule { - freeformType = types.attrsOf iniAtom; - options.cgitUrl = mkOption { - type = types.str; - description = "URL of a cgit instance"; - }; - options.dir = mkOption { - type = types.str; - description = "Path to a git repository"; - }; - }); + type = types.attrsOf ( + types.submodule { + freeformType = types.attrsOf iniAtom; + options.cgitUrl = mkOption { + type = types.str; + description = "URL of a cgit instance"; + }; + options.dir = mkOption { + type = types.str; + description = "Path to a git repository"; + }; + } + ); }; }; }; @@ -352,7 +402,8 @@ in }; config = mkIf cfg.enable { assertions = [ - { assertion = config.services.spamassassin.enable || !useSpamAssassin; + { + assertion = config.services.spamassassin.enable || !useSpamAssassin; message = '' public-inbox is configured to use SpamAssassin, but services.spamassassin.enable is false. If you don't need @@ -360,7 +411,8 @@ in `services.public-inbox.settings.publicinboxwatch.spamcheck' to null. ''; } - { assertion = cfg.path != [] || !useSpamAssassin; + { + assertion = cfg.path != [ ] || !useSpamAssassin; message = '' public-inbox is configured to use SpamAssassin, but there is no spamc executable in services.public-inbox.path. If you @@ -370,9 +422,8 @@ in ''; } ]; - services.public-inbox.settings = - filterAttrsRecursive (n: v: v != null) { - publicinbox = mapAttrs (n: filterAttrs (n: v: n != "description")) cfg.inboxes; + services.public-inbox.settings = filterAttrsRecursive (n: v: v != null) { + publicinbox = mapAttrs (n: filterAttrs (n: v: n != "description")) cfg.inboxes; }; users = { users.public-inbox = { @@ -380,32 +431,36 @@ in group = "public-inbox"; isSystemUser = true; }; - groups.public-inbox = {}; + groups.public-inbox = { }; + }; + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = mkMerge ( + map + (proto: (mkIf (cfg.${proto}.enable && types.port.check cfg.${proto}.port) [ cfg.${proto}.port ])) + [ + "imap" + "http" + "nntp" + ] + ); }; - networking.firewall = mkIf cfg.openFirewall - { allowedTCPPorts = mkMerge - (map (proto: (mkIf (cfg.${proto}.enable && types.port.check cfg.${proto}.port) [ cfg.${proto}.port ])) - ["imap" "http" "nntp"]); - }; services.postfix = mkIf (cfg.postfix.enable && cfg.mda.enable) { # Not sure limiting to 1 is necessary, but better safe than sorry. config.public-inbox_destination_recipient_limit = "1"; # Register the addresses as existing - virtual = - concatStringsSep "\n" (mapAttrsToList (_: inbox: - concatMapStringsSep "\n" (address: - "${address} ${address}" - ) inbox.address - ) cfg.inboxes); + virtual = concatStringsSep "\n" ( + mapAttrsToList ( + _: inbox: concatMapStringsSep "\n" (address: "${address} ${address}") inbox.address + ) cfg.inboxes + ); # Deliver the addresses with the public-inbox transport - transport = - concatStringsSep "\n" (mapAttrsToList (_: inbox: - concatMapStringsSep "\n" (address: - "${address} public-inbox:${address}" - ) inbox.address - ) cfg.inboxes); + transport = concatStringsSep "\n" ( + mapAttrsToList ( + _: inbox: concatMapStringsSep "\n" (address: "${address} public-inbox:${address}") inbox.address + ) cfg.inboxes + ); # The public-inbox transport masterConfig.public-inbox = { @@ -427,153 +482,224 @@ in ]; }; }; - systemd.sockets = mkMerge (map (proto: - mkIf (cfg.${proto}.enable && cfg.${proto}.port != null) - { "public-inbox-${proto}d" = { - listenStreams = [ (toString cfg.${proto}.port) ]; - wantedBy = [ "sockets.target" ]; - }; - } - ) [ "imap" "http" "nntp" ]); + systemd.sockets = mkMerge ( + map + ( + proto: + mkIf (cfg.${proto}.enable && cfg.${proto}.port != null) { + "public-inbox-${proto}d" = { + listenStreams = [ (toString cfg.${proto}.port) ]; + wantedBy = [ "sockets.target" ]; + }; + } + ) + [ + "imap" + "http" + "nntp" + ] + ); systemd.services = mkMerge [ - (mkIf cfg.imap.enable - { public-inbox-imapd = mkMerge [(serviceConfig "imapd") { - after = [ "public-inbox-init.service" "public-inbox-watch.service" ]; - requires = [ "public-inbox-init.service" ]; - serviceConfig = { - ExecStart = escapeShellArgs ( - [ "${cfg.package}/bin/public-inbox-imapd" ] ++ - cfg.imap.args ++ - optionals (cfg.imap.cert != null) [ "--cert" cfg.imap.cert ] ++ - optionals (cfg.imap.key != null) [ "--key" cfg.imap.key ] - ); - }; - }]; + (mkIf cfg.imap.enable { + public-inbox-imapd = mkMerge [ + (serviceConfig "imapd") + { + after = [ + "public-inbox-init.service" + "public-inbox-watch.service" + ]; + requires = [ "public-inbox-init.service" ]; + serviceConfig = { + ExecStart = escapeShellArgs ( + [ "${cfg.package}/bin/public-inbox-imapd" ] + ++ cfg.imap.args + ++ optionals (cfg.imap.cert != null) [ + "--cert" + cfg.imap.cert + ] + ++ optionals (cfg.imap.key != null) [ + "--key" + cfg.imap.key + ] + ); + }; + } + ]; }) - (mkIf cfg.http.enable - { public-inbox-httpd = mkMerge [(serviceConfig "httpd") { - after = [ "public-inbox-init.service" "public-inbox-watch.service" ]; - requires = [ "public-inbox-init.service" ]; - serviceConfig = { - BindReadOnlyPaths = - map (c: c.dir) (lib.attrValues cfg.settings.coderepo); - ExecStart = escapeShellArgs ( - [ "${cfg.package}/bin/public-inbox-httpd" ] ++ - cfg.http.args ++ - # See https://public-inbox.org/public-inbox.git/tree/examples/public-inbox.psgi - # for upstream's example. - [ (pkgs.writeText "public-inbox.psgi" '' - #!${cfg.package.fullperl} -w - use strict; - use warnings; - use Plack::Builder; - use PublicInbox::WWW; + (mkIf cfg.http.enable { + public-inbox-httpd = mkMerge [ + (serviceConfig "httpd") + { + after = [ + "public-inbox-init.service" + "public-inbox-watch.service" + ]; + requires = [ "public-inbox-init.service" ]; + serviceConfig = { + BindReadOnlyPaths = map (c: c.dir) (lib.attrValues cfg.settings.coderepo); + ExecStart = escapeShellArgs ( + [ "${cfg.package}/bin/public-inbox-httpd" ] + ++ cfg.http.args + ++ + # See https://public-inbox.org/public-inbox.git/tree/examples/public-inbox.psgi + # for upstream's example. + [ + (pkgs.writeText "public-inbox.psgi" '' + #!${cfg.package.fullperl} -w + use strict; + use warnings; + use Plack::Builder; + use PublicInbox::WWW; - my $www = PublicInbox::WWW->new; - $www->preload; + my $www = PublicInbox::WWW->new; + $www->preload; - builder { - # If reached through a reverse proxy, - # make it transparent by resetting some HTTP headers - # used by public-inbox to generate URIs. - enable 'ReverseProxy'; + builder { + # If reached through a reverse proxy, + # make it transparent by resetting some HTTP headers + # used by public-inbox to generate URIs. + enable 'ReverseProxy'; - # No need to send a response body if it's an HTTP HEAD requests. - enable 'Head'; + # No need to send a response body if it's an HTTP HEAD requests. + enable 'Head'; - # Route according to configured domains and root paths. - ${concatMapStrings (path: '' - mount q(${path}) => sub { $www->call(@_); }; - '') cfg.http.mounts} - } - '') ] - ); - }; - }]; - }) - (mkIf cfg.nntp.enable - { public-inbox-nntpd = mkMerge [(serviceConfig "nntpd") { - after = [ "public-inbox-init.service" "public-inbox-watch.service" ]; - requires = [ "public-inbox-init.service" ]; - serviceConfig = { - ExecStart = escapeShellArgs ( - [ "${cfg.package}/bin/public-inbox-nntpd" ] ++ - cfg.nntp.args ++ - optionals (cfg.nntp.cert != null) [ "--cert" cfg.nntp.cert ] ++ - optionals (cfg.nntp.key != null) [ "--key" cfg.nntp.key ] - ); - }; - }]; + # Route according to configured domains and root paths. + ${concatMapStrings (path: '' + mount q(${path}) => sub { $www->call(@_); }; + '') cfg.http.mounts} + } + '') + ] + ); + }; + } + ]; }) - (mkIf (any (inbox: inbox.watch != []) (attrValues cfg.inboxes) - || cfg.settings.publicinboxwatch.watchspam != null) - { public-inbox-watch = mkMerge [(serviceConfig "watch") { - inherit (cfg) path; - wants = [ "public-inbox-init.service" ]; - requires = [ "public-inbox-init.service" ] ++ - optional (cfg.settings.publicinboxwatch.spamcheck == "spamc") "spamassassin.service"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${cfg.package}/bin/public-inbox-watch"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - }; - }]; + (mkIf cfg.nntp.enable { + public-inbox-nntpd = mkMerge [ + (serviceConfig "nntpd") + { + after = [ + "public-inbox-init.service" + "public-inbox-watch.service" + ]; + requires = [ "public-inbox-init.service" ]; + serviceConfig = { + ExecStart = escapeShellArgs ( + [ "${cfg.package}/bin/public-inbox-nntpd" ] + ++ cfg.nntp.args + ++ optionals (cfg.nntp.cert != null) [ + "--cert" + cfg.nntp.cert + ] + ++ optionals (cfg.nntp.key != null) [ + "--key" + cfg.nntp.key + ] + ); + }; + } + ]; }) - ({ public-inbox-init = let - PI_CONFIG = gitIni.generate "public-inbox.ini" - (filterAttrsRecursive (n: v: v != null) cfg.settings); - in mkMerge [(serviceConfig "init") { - wantedBy = [ "multi-user.target" ]; - restartIfChanged = true; - restartTriggers = [ PI_CONFIG ]; - script = '' - set -ux - install -D -p ${PI_CONFIG} ${stateDir}/.public-inbox/config - '' + optionalString useSpamAssassin '' - install -m 0700 -o spamd -d ${stateDir}/.spamassassin - ${optionalString (cfg.spamAssassinRules != null) '' - ln -sf ${cfg.spamAssassinRules} ${stateDir}/.spamassassin/user_prefs - ''} - '' + concatStrings (mapAttrsToList (name: inbox: '' - if [ ! -e ${stateDir}/inboxes/${escapeShellArg name} ]; then - # public-inbox-init creates an inbox and adds it to a config file. - # It tries to atomically write the config file by creating - # another file in the same directory, and renaming it. - # This has the sad consequence that we can't use - # /dev/null, or it would try to create a file in /dev. - conf_dir="$(mktemp -d)" + (mkIf + ( + any (inbox: inbox.watch != [ ]) (attrValues cfg.inboxes) + || cfg.settings.publicinboxwatch.watchspam != null + ) + { + public-inbox-watch = mkMerge [ + (serviceConfig "watch") + { + inherit (cfg) path; + wants = [ "public-inbox-init.service" ]; + requires = [ + "public-inbox-init.service" + ] ++ optional (cfg.settings.publicinboxwatch.spamcheck == "spamc") "spamassassin.service"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/public-inbox-watch"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + } + ]; + } + ) + ({ + public-inbox-init = + let + PI_CONFIG = gitIni.generate "public-inbox.ini" ( + filterAttrsRecursive (n: v: v != null) cfg.settings + ); + in + mkMerge [ + (serviceConfig "init") + { + wantedBy = [ "multi-user.target" ]; + restartIfChanged = true; + restartTriggers = [ PI_CONFIG ]; + script = + '' + set -ux + install -D -p ${PI_CONFIG} ${stateDir}/.public-inbox/config + '' + + optionalString useSpamAssassin '' + install -m 0700 -o spamd -d ${stateDir}/.spamassassin + ${optionalString (cfg.spamAssassinRules != null) '' + ln -sf ${cfg.spamAssassinRules} ${stateDir}/.spamassassin/user_prefs + ''} + '' + + concatStrings ( + mapAttrsToList (name: inbox: '' + if [ ! -e ${stateDir}/inboxes/${escapeShellArg name} ]; then + # public-inbox-init creates an inbox and adds it to a config file. + # It tries to atomically write the config file by creating + # another file in the same directory, and renaming it. + # This has the sad consequence that we can't use + # /dev/null, or it would try to create a file in /dev. + conf_dir="$(mktemp -d)" - PI_CONFIG=$conf_dir/conf \ - ${cfg.package}/bin/public-inbox-init -V2 \ - ${escapeShellArgs ([ name "${stateDir}/inboxes/${name}" inbox.url ] ++ inbox.address)} + PI_CONFIG=$conf_dir/conf \ + ${cfg.package}/bin/public-inbox-init -V2 \ + ${escapeShellArgs ( + [ + name + "${stateDir}/inboxes/${name}" + inbox.url + ] + ++ inbox.address + )} - rm -rf $conf_dir - fi + rm -rf $conf_dir + fi - ln -sf ${inbox.description} \ - ${stateDir}/inboxes/${escapeShellArg name}/description + ln -sf ${inbox.description} \ + ${stateDir}/inboxes/${escapeShellArg name}/description - export GIT_DIR=${stateDir}/inboxes/${escapeShellArg name}/all.git - if test -d "$GIT_DIR"; then - # Config is inherited by each epoch repository, - # so just needs to be set for all.git. - ${pkgs.git}/bin/git config core.sharedRepository 0640 - fi - '') cfg.inboxes - ); - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - StateDirectory = [ - "public-inbox/.public-inbox" - "public-inbox/.public-inbox/emergency" - "public-inbox/inboxes" - ]; - }; - }]; + export GIT_DIR=${stateDir}/inboxes/${escapeShellArg name}/all.git + if test -d "$GIT_DIR"; then + # Config is inherited by each epoch repository, + # so just needs to be set for all.git. + ${pkgs.git}/bin/git config core.sharedRepository 0640 + fi + '') cfg.inboxes + ); + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + StateDirectory = [ + "public-inbox/.public-inbox" + "public-inbox/.public-inbox/emergency" + "public-inbox/inboxes" + ]; + }; + } + ]; }) ]; environment.systemPackages = with pkgs; [ cfg.package ]; }; - meta.maintainers = with lib.maintainers; [ julm qyliss ]; + meta.maintainers = with lib.maintainers; [ + julm + qyliss + ]; } diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix index 337734488e314..7cb723e3172c5 100644 --- a/nixos/modules/services/mail/roundcube.nix +++ b/nixos/modules/services/mail/roundcube.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.roundcube; fpm = config.services.phpfpm.pools.roundcube; @@ -77,7 +82,7 @@ in plugins = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' List of roundcube plugins to enable. Currently, only those directly shipped with Roundcube are supported. ''; @@ -85,7 +90,7 @@ in dicts = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "with pkgs.aspellDicts; [ en fr de ]"; description = '' List of aspell dictionaries for spell checking. If empty, spell checking is disabled. @@ -123,8 +128,12 @@ in config = lib.mkIf cfg.enable { # backward compatibility: if password is set but not passwordFile, make one. - services.roundcube.database.passwordFile = lib.mkIf (!localDB && cfg.database.password != "") (lib.mkDefault ("${pkgs.writeText "roundcube-password" cfg.database.password}")); - warnings = lib.optional (!localDB && cfg.database.password != "") "services.roundcube.database.password is deprecated and insecure; use services.roundcube.database.passwordFile instead"; + services.roundcube.database.passwordFile = lib.mkIf (!localDB && cfg.database.password != "") ( + lib.mkDefault ("${pkgs.writeText "roundcube-password" cfg.database.password}") + ); + warnings = + lib.optional (!localDB && cfg.database.password != "") + "services.roundcube.database.password is deprecated and insecure; use services.roundcube.database.passwordFile instead"; environment.etc."roundcube/config.inc.php".text = '' '${dict.fullName}'") cfg.dicts}); + $config['spellcheck_languages'] = array(${ + lib.concatMapStringsSep ", " ( + dict: + let + p = builtins.parseDrvName dict.shortName; + in + "'${p.name}' => '${dict.fullName}'" + ) cfg.dicts + }); ${cfg.extraConfig} ''; @@ -174,12 +193,13 @@ in return 404; ''; }; - locations."~ ^/(CHANGELOG.md|INSTALL|LICENSE|README.md|SECURITY.md|UPGRADING|composer.json|composer.lock)" = { - priority = 3120; - extraConfig = '' - return 404; - ''; - }; + locations."~ ^/(CHANGELOG.md|INSTALL|LICENSE|README.md|SECURITY.md|UPGRADING|composer.json|composer.lock)" = + { + priority = 3120; + extraConfig = '' + return 404; + ''; + }; locations."~* \\.php(/|$)" = { priority = 3130; extraConfig = '' @@ -206,10 +226,12 @@ in services.postgresql = lib.mkIf localDB { enable = true; ensureDatabases = [ cfg.database.dbname ]; - ensureUsers = [ { - name = cfg.database.username; - ensureDBOwnership = true; - } ]; + ensureUsers = [ + { + name = cfg.database.username; + ensureDBOwnership = true; + } + ]; }; users.users.${user} = lib.mkIf localDB { @@ -217,7 +239,7 @@ in isSystemUser = true; createHome = false; }; - users.groups.${user} = lib.mkIf localDB {}; + users.groups.${user} = lib.mkIf localDB { }; services.phpfpm.pools.roundcube = { user = if localDB then user else "nginx"; @@ -260,24 +282,27 @@ in wantedBy = [ "multi-user.target" ]; path = [ config.services.postgresql.package ]; - script = let - psql = "${lib.optionalString (!localDB) "PGPASSFILE=${cfg.database.passwordFile}"} psql ${lib.optionalString (!localDB) "-h ${cfg.database.host} -U ${cfg.database.username} "} ${cfg.database.dbname}"; - in - '' - version="$(${psql} -t <<< "select value from system where name = 'roundcube-version';" || true)" - if ! (grep -E '[a-zA-Z0-9]' <<< "$version"); then - ${psql} -f ${cfg.package}/SQL/postgres.initial.sql - fi + script = + let + psql = "${lib.optionalString (!localDB) "PGPASSFILE=${cfg.database.passwordFile}"} psql ${ + lib.optionalString (!localDB) "-h ${cfg.database.host} -U ${cfg.database.username} " + } ${cfg.database.dbname}"; + in + '' + version="$(${psql} -t <<< "select value from system where name = 'roundcube-version';" || true)" + if ! (grep -E '[a-zA-Z0-9]' <<< "$version"); then + ${psql} -f ${cfg.package}/SQL/postgres.initial.sql + fi - if [ ! -f /var/lib/roundcube/des_key ]; then - base64 /dev/urandom | head -c 24 > /var/lib/roundcube/des_key; - # we need to log out everyone in case change the des_key - # from the default when upgrading from nixos 19.09 - ${psql} <<< 'TRUNCATE TABLE session;' - fi + if [ ! -f /var/lib/roundcube/des_key ]; then + base64 /dev/urandom | head -c 24 > /var/lib/roundcube/des_key; + # we need to log out everyone in case change the des_key + # from the default when upgrading from nixos 19.09 + ${psql} <<< 'TRUNCATE TABLE session;' + fi - ${phpWithPspell}/bin/php ${cfg.package}/bin/update.sh - ''; + ${phpWithPspell}/bin/php ${cfg.package}/bin/update.sh + ''; serviceConfig = { Type = "oneshot"; StateDirectory = "roundcube"; diff --git a/nixos/modules/services/mail/rspamd-trainer.nix b/nixos/modules/services/mail/rspamd-trainer.nix index 11c4363cc1d58..14d35e3da340e 100644 --- a/nixos/modules/services/mail/rspamd-trainer.nix +++ b/nixos/modules/services/mail/rspamd-trainer.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rspamd-trainer; format = pkgs.formats.toml { }; -in { +in +{ options.services.rspamd-trainer = { enable = lib.mkEnableOption "Spam/ham trainer for rspamd"; @@ -51,7 +57,7 @@ in { Type = "oneshot"; DynamicUser = true; EnvironmentFile = [ - ( format.generate "rspamd-trainer-env" cfg.settings ) + (format.generate "rspamd-trainer-env" cfg.settings) cfg.secrets ]; }; diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix index c61ddcac954ad..323339af97e92 100644 --- a/nixos/modules/services/mail/rspamd.nix +++ b/nixos/modules/services/mail/rspamd.nix @@ -1,4 +1,10 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: with lib; @@ -8,213 +14,285 @@ let opt = options.services.rspamd; postfixCfg = config.services.postfix; - bindSocketOpts = {options, config, ... }: { - options = { - socket = mkOption { - type = types.str; - example = "localhost:11333"; - description = '' - Socket for this worker to listen on in a format acceptable by rspamd. - ''; - }; - mode = mkOption { - type = types.str; - default = "0644"; - description = "Mode to set on unix socket"; - }; - owner = mkOption { - type = types.str; - default = "${cfg.user}"; - description = "Owner to set on unix socket"; - }; - group = mkOption { - type = types.str; - default = "${cfg.group}"; - description = "Group to set on unix socket"; - }; - rawEntry = mkOption { - type = types.str; - internal = true; + bindSocketOpts = + { options, config, ... }: + { + options = { + socket = mkOption { + type = types.str; + example = "localhost:11333"; + description = '' + Socket for this worker to listen on in a format acceptable by rspamd. + ''; + }; + mode = mkOption { + type = types.str; + default = "0644"; + description = "Mode to set on unix socket"; + }; + owner = mkOption { + type = types.str; + default = "${cfg.user}"; + description = "Owner to set on unix socket"; + }; + group = mkOption { + type = types.str; + default = "${cfg.group}"; + description = "Group to set on unix socket"; + }; + rawEntry = mkOption { + type = types.str; + internal = true; + }; }; + config.rawEntry = + let + maybeOption = option: optionalString options.${option}.isDefined " ${option}=${config.${option}}"; + in + if (!(hasPrefix "/" config.socket)) then + "${config.socket}" + else + "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}"; }; - config.rawEntry = let - maybeOption = option: - optionalString options.${option}.isDefined " ${option}=${config.${option}}"; - in - if (!(hasPrefix "/" config.socket)) then "${config.socket}" - else "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}"; - }; traceWarning = w: x: builtins.trace "warning: ${w}" x; - workerOpts = { name, options, ... }: { - options = { - enable = mkOption { - type = types.nullOr types.bool; - default = null; - description = "Whether to run the rspamd worker."; - }; - name = mkOption { - type = types.nullOr types.str; - default = name; - description = "Name of the worker"; - }; - type = mkOption { - type = types.nullOr (types.enum [ - "normal" "controller" "fuzzy" "rspamd_proxy" "lua" "proxy" - ]); - description = '' - The type of this worker. The type `proxy` is - deprecated and only kept for backwards compatibility and should be - replaced with `rspamd_proxy`. - ''; - apply = let - from = "services.rspamd.workers.\"${name}\".type"; - files = options.type.files; - warning = "The option `${from}` defined in ${showFiles files} has enum value `proxy` which has been renamed to `rspamd_proxy`"; - in x: if x == "proxy" then traceWarning warning "rspamd_proxy" else x; - }; - bindSockets = mkOption { - type = types.listOf (types.either types.str (types.submodule bindSocketOpts)); - default = []; - description = '' - List of sockets to listen, in format acceptable by rspamd - ''; - example = [{ - socket = "/run/rspamd.sock"; - mode = "0666"; - owner = "rspamd"; - } "*:11333"]; - apply = value: map (each: if (isString each) - then if (isUnixSocket each) - then {socket = each; owner = cfg.user; group = cfg.group; mode = "0644"; rawEntry = "${each}";} - else {socket = each; rawEntry = "${each}";} - else each) value; - }; - count = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - Number of worker instances to run - ''; - }; - includes = mkOption { - type = types.listOf types.str; - default = []; - description = '' - List of files to include in configuration - ''; - }; - extraConfig = mkOption { - type = types.lines; - default = ""; - description = "Additional entries to put verbatim into worker section of rspamd config file."; + workerOpts = + { name, options, ... }: + { + options = { + enable = mkOption { + type = types.nullOr types.bool; + default = null; + description = "Whether to run the rspamd worker."; + }; + name = mkOption { + type = types.nullOr types.str; + default = name; + description = "Name of the worker"; + }; + type = mkOption { + type = types.nullOr ( + types.enum [ + "normal" + "controller" + "fuzzy" + "rspamd_proxy" + "lua" + "proxy" + ] + ); + description = '' + The type of this worker. The type `proxy` is + deprecated and only kept for backwards compatibility and should be + replaced with `rspamd_proxy`. + ''; + apply = + let + from = "services.rspamd.workers.\"${name}\".type"; + files = options.type.files; + warning = "The option `${from}` defined in ${showFiles files} has enum value `proxy` which has been renamed to `rspamd_proxy`"; + in + x: if x == "proxy" then traceWarning warning "rspamd_proxy" else x; + }; + bindSockets = mkOption { + type = types.listOf (types.either types.str (types.submodule bindSocketOpts)); + default = [ ]; + description = '' + List of sockets to listen, in format acceptable by rspamd + ''; + example = [ + { + socket = "/run/rspamd.sock"; + mode = "0666"; + owner = "rspamd"; + } + "*:11333" + ]; + apply = + value: + map ( + each: + if (isString each) then + if (isUnixSocket each) then + { + socket = each; + owner = cfg.user; + group = cfg.group; + mode = "0644"; + rawEntry = "${each}"; + } + else + { + socket = each; + rawEntry = "${each}"; + } + else + each + ) value; + }; + count = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Number of worker instances to run + ''; + }; + includes = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + List of files to include in configuration + ''; + }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = "Additional entries to put verbatim into worker section of rspamd config file."; + }; }; - }; - config = mkIf (name == "normal" || name == "controller" || name == "fuzzy" || name == "rspamd_proxy") { - type = mkDefault name; - includes = mkDefault [ "$CONFDIR/worker-${if name == "rspamd_proxy" then "proxy" else name}.inc" ]; - bindSockets = - let - unixSocket = name: { - mode = "0660"; - socket = "/run/rspamd/${name}.sock"; - owner = cfg.user; - group = cfg.group; + config = + mkIf (name == "normal" || name == "controller" || name == "fuzzy" || name == "rspamd_proxy") + { + type = mkDefault name; + includes = mkDefault [ "$CONFDIR/worker-${if name == "rspamd_proxy" then "proxy" else name}.inc" ]; + bindSockets = + let + unixSocket = name: { + mode = "0660"; + socket = "/run/rspamd/${name}.sock"; + owner = cfg.user; + group = cfg.group; + }; + in + mkDefault ( + if name == "normal" then + [ (unixSocket "rspamd") ] + else if name == "controller" then + [ "localhost:11334" ] + else if name == "rspamd_proxy" then + [ (unixSocket "proxy") ] + else + [ ] + ); }; - in mkDefault (if name == "normal" then [(unixSocket "rspamd")] - else if name == "controller" then [ "localhost:11334" ] - else if name == "rspamd_proxy" then [ (unixSocket "proxy") ] - else [] ); }; - }; isUnixSocket = socket: hasPrefix "/" (if (isString socket) then socket else socket.socket); - mkBindSockets = enabled: socks: concatStringsSep "\n " - (flatten (map (each: "bind_socket = \"${each.rawEntry}\";") socks)); - - rspamdConfFile = pkgs.writeText "rspamd.conf" - '' - .include "$CONFDIR/common.conf" - - options { - pidfile = "$RUNDIR/rspamd.pid"; - .include "$CONFDIR/options.inc" - .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/options.inc" - .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/options.inc" - } - - logging { - type = "syslog"; - .include "$CONFDIR/logging.inc" - .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/logging.inc" - .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/logging.inc" - } - - ${concatStringsSep "\n" (mapAttrsToList (name: value: let + mkBindSockets = + enabled: socks: + concatStringsSep "\n " (flatten (map (each: "bind_socket = \"${each.rawEntry}\";") socks)); + + rspamdConfFile = pkgs.writeText "rspamd.conf" '' + .include "$CONFDIR/common.conf" + + options { + pidfile = "$RUNDIR/rspamd.pid"; + .include "$CONFDIR/options.inc" + .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/options.inc" + .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/options.inc" + } + + logging { + type = "syslog"; + .include "$CONFDIR/logging.inc" + .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/logging.inc" + .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/logging.inc" + } + + ${concatStringsSep "\n" ( + mapAttrsToList ( + name: value: + let includeName = if name == "rspamd_proxy" then "proxy" else name; tryOverride = boolToString (value.extraConfig == ""); - in '' - worker "${value.type}" { - type = "${value.type}"; - ${optionalString (value.enable != null) - "enabled = ${if value.enable != false then "yes" else "no"};"} - ${mkBindSockets value.enable value.bindSockets} - ${optionalString (value.count != null) "count = ${toString value.count};"} - ${concatStringsSep "\n " (map (each: ".include \"${each}\"") value.includes)} - .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/worker-${includeName}.inc" - .include(try=${tryOverride}; priority=10) "$LOCAL_CONFDIR/override.d/worker-${includeName}.inc" - } - '') cfg.workers)} - - ${optionalString (cfg.extraConfig != "") '' - .include(priority=10) "$LOCAL_CONFDIR/override.d/extra-config.inc" - ''} - ''; + in + '' + worker "${value.type}" { + type = "${value.type}"; + ${optionalString (value.enable != null) + "enabled = ${if value.enable != false then "yes" else "no"};" + } + ${mkBindSockets value.enable value.bindSockets} + ${optionalString (value.count != null) "count = ${toString value.count};"} + ${concatStringsSep "\n " (map (each: ".include \"${each}\"") value.includes)} + .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/worker-${includeName}.inc" + .include(try=${tryOverride}; priority=10) "$LOCAL_CONFDIR/override.d/worker-${includeName}.inc" + } + '' + ) cfg.workers + )} + + ${optionalString (cfg.extraConfig != "") '' + .include(priority=10) "$LOCAL_CONFDIR/override.d/extra-config.inc" + ''} + ''; filterFiles = files: filterAttrs (n: v: v.enable) files; rspamdDir = pkgs.linkFarm "etc-rspamd-dir" ( - (mapAttrsToList (name: file: { name = "local.d/${name}"; path = file.source; }) (filterFiles cfg.locals)) ++ - (mapAttrsToList (name: file: { name = "override.d/${name}"; path = file.source; }) (filterFiles cfg.overrides)) ++ - (optional (cfg.localLuaRules != null) { name = "rspamd.local.lua"; path = cfg.localLuaRules; }) ++ - [ { name = "rspamd.conf"; path = rspamdConfFile; } ] + (mapAttrsToList (name: file: { + name = "local.d/${name}"; + path = file.source; + }) (filterFiles cfg.locals)) + ++ (mapAttrsToList (name: file: { + name = "override.d/${name}"; + path = file.source; + }) (filterFiles cfg.overrides)) + ++ (optional (cfg.localLuaRules != null) { + name = "rspamd.local.lua"; + path = cfg.localLuaRules; + }) + ++ [ + { + name = "rspamd.conf"; + path = rspamdConfFile; + } + ] ); - configFileModule = prefix: { name, config, ... }: { - options = { - enable = mkOption { - type = types.bool; - default = true; - description = '' - Whether this file ${prefix} should be generated. This - option allows specific ${prefix} files to be disabled. - ''; - }; + configFileModule = + prefix: + { name, config, ... }: + { + options = { + enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether this file ${prefix} should be generated. This + option allows specific ${prefix} files to be disabled. + ''; + }; - text = mkOption { - default = null; - type = types.nullOr types.lines; - description = "Text of the file."; - }; + text = mkOption { + default = null; + type = types.nullOr types.lines; + description = "Text of the file."; + }; - source = mkOption { - type = types.path; - description = "Path of the source file."; + source = mkOption { + type = types.path; + description = "Path of the source file."; + }; + }; + config = { + source = mkIf (config.text != null) ( + let + name' = "rspamd-${prefix}-" + baseNameOf name; + in + mkDefault (pkgs.writeText name' config.text) + ); }; }; - config = { - source = mkIf (config.text != null) ( - let name' = "rspamd-${prefix}-" + baseNameOf name; - in mkDefault (pkgs.writeText name' config.text)); - }; - }; configOverrides = - (mapAttrs' (n: v: nameValuePair "worker-${if n == "rspamd_proxy" then "proxy" else n}.inc" { - text = v.extraConfig; - }) - (filterAttrs (n: v: v.extraConfig != "") cfg.workers)) + (mapAttrs' ( + n: v: + nameValuePair "worker-${if n == "rspamd_proxy" then "proxy" else n}.inc" { + text = v.extraConfig; + } + ) (filterAttrs (n: v: v.extraConfig != "") cfg.workers)) // (lib.optionalAttrs (cfg.extraConfig != "") { "extra-config.inc".text = cfg.extraConfig; }); @@ -237,7 +315,7 @@ in locals = mkOption { type = with types; attrsOf (submodule (configFileModule "locals")); - default = {}; + default = { }; description = '' Local configuration files, written into {file}`/etc/rspamd/local.d/{name}`. ''; @@ -250,7 +328,7 @@ in overrides = mkOption { type = with types; attrsOf (submodule (configFileModule "overrides")); - default = {}; + default = { }; description = '' Overridden configuration files, written into {file}`/etc/rspamd/override.d/{name}`. ''; @@ -276,8 +354,8 @@ in Attribute set of workers to start. ''; default = { - normal = {}; - controller = {}; + normal = { }; + controller = { }; }; example = literalExpression '' { @@ -331,33 +409,40 @@ in }; config = mkOption { - type = with types; attrsOf (oneOf [ bool str (listOf str) ]); + type = + with types; + attrsOf (oneOf [ + bool + str + (listOf str) + ]); description = '' Addon to postfix configuration ''; default = { - smtpd_milters = ["unix:/run/rspamd/rspamd-milter.sock"]; - non_smtpd_milters = ["unix:/run/rspamd/rspamd-milter.sock"]; + smtpd_milters = [ "unix:/run/rspamd/rspamd-milter.sock" ]; + non_smtpd_milters = [ "unix:/run/rspamd/rspamd-milter.sock" ]; }; }; }; }; }; - ###### implementation config = mkIf cfg.enable { services.rspamd.overrides = configOverrides; services.rspamd.workers = mkIf cfg.postfix.enable { - controller = {}; + controller = { }; rspamd_proxy = { - bindSockets = [ { - mode = "0660"; - socket = "/run/rspamd/rspamd-milter.sock"; - owner = cfg.user; - group = postfixCfg.group; - } ]; + bindSockets = [ + { + mode = "0660"; + socket = "/run/rspamd/rspamd-milter.sock"; + owner = cfg.user; + group = postfixCfg.group; + } + ]; extraConfig = '' upstream "local" { default = yes; # Self-scan upstreams are always default @@ -407,7 +492,7 @@ in StateDirectory = "rspamd"; StateDirectoryMode = "0700"; - AmbientCapabilities = []; + AmbientCapabilities = [ ]; CapabilityBoundingSet = ""; DevicePolicy = "closed"; LockPersonality = true; @@ -426,7 +511,11 @@ in ProtectKernelTunables = true; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -437,10 +526,22 @@ in }; }; imports = [ - (mkRemovedOptionModule [ "services" "rspamd" "socketActivation" ] - "Socket activation never worked correctly and could at this time not be fixed and so was removed") - (mkRenamedOptionModule [ "services" "rspamd" "bindSocket" ] [ "services" "rspamd" "workers" "normal" "bindSockets" ]) - (mkRenamedOptionModule [ "services" "rspamd" "bindUISocket" ] [ "services" "rspamd" "workers" "controller" "bindSockets" ]) - (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service") + (mkRemovedOptionModule [ + "services" + "rspamd" + "socketActivation" + ] "Socket activation never worked correctly and could at this time not be fixed and so was removed") + (mkRenamedOptionModule + [ "services" "rspamd" "bindSocket" ] + [ "services" "rspamd" "workers" "normal" "bindSockets" ] + ) + (mkRenamedOptionModule + [ "services" "rspamd" "bindUISocket" ] + [ "services" "rspamd" "workers" "controller" "bindSockets" ] + ) + (mkRemovedOptionModule [ + "services" + "rmilter" + ] "Use services.rspamd.* instead to set up milter service") ]; } diff --git a/nixos/modules/services/mail/rss2email.nix b/nixos/modules/services/mail/rss2email.nix index 12553b9d8919a..e67ca27dadfe1 100644 --- a/nixos/modules/services/mail/rss2email.nix +++ b/nixos/modules/services/mail/rss2email.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rss2email; -in { +in +{ ###### interface @@ -27,8 +33,14 @@ in { }; config = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ str int bool ]); - default = {}; + type = + with lib.types; + attrsOf (oneOf [ + str + int + bool + ]); + default = { }; description = '' The configuration to give rss2email. @@ -47,32 +59,33 @@ in { feeds = lib.mkOption { description = "The feeds to watch."; - type = lib.types.attrsOf (lib.types.submodule { - options = { - url = lib.mkOption { - type = lib.types.str; - description = "The URL at which to fetch the feed."; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + url = lib.mkOption { + type = lib.types.str; + description = "The URL at which to fetch the feed."; + }; + + to = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + Email address to which to send feed items. + + If `null`, this will not be set in the + configuration file, and rss2email will make it default to + `rss2email.to`. + ''; + }; }; - - to = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - Email address to which to send feed items. - - If `null`, this will not be set in the - configuration file, and rss2email will make it default to - `rss2email.to`. - ''; - }; - }; - }); + } + ); }; }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -98,28 +111,34 @@ in { mode = "0700"; }; - systemd.services.rss2email = let - conf = pkgs.writeText "rss2email.cfg" (lib.generators.toINI {} ({ - DEFAULT = cfg.config; - } // lib.mapAttrs' (name: feed: lib.nameValuePair "feed.${name}" ( - { inherit (feed) url; } // - lib.optionalAttrs (feed.to != null) { inherit (feed) to; } - )) cfg.feeds - )); - in - { - preStart = '' - if [ ! -f /var/rss2email/db.json ]; then - echo '{"version":2,"feeds":[]}' > /var/rss2email/db.json - fi - ''; - path = [ pkgs.system-sendmail ]; - serviceConfig = { - ExecStart = - "${pkgs.rss2email}/bin/r2e -c ${conf} -d /var/rss2email/db.json run"; - User = "rss2email"; + systemd.services.rss2email = + let + conf = pkgs.writeText "rss2email.cfg" ( + lib.generators.toINI { } ( + { + DEFAULT = cfg.config; + } + // lib.mapAttrs' ( + name: feed: + lib.nameValuePair "feed.${name}" ( + { inherit (feed) url; } // lib.optionalAttrs (feed.to != null) { inherit (feed) to; } + ) + ) cfg.feeds + ) + ); + in + { + preStart = '' + if [ ! -f /var/rss2email/db.json ]; then + echo '{"version":2,"feeds":[]}' > /var/rss2email/db.json + fi + ''; + path = [ pkgs.system-sendmail ]; + serviceConfig = { + ExecStart = "${pkgs.rss2email}/bin/r2e -c ${conf} -d /var/rss2email/db.json run"; + User = "rss2email"; + }; }; - }; systemd.timers.rss2email = { partOf = [ "rss2email.service" ]; diff --git a/nixos/modules/services/mail/schleuder.nix b/nixos/modules/services/mail/schleuder.nix index ca07b879071ca..d5dd9091e674c 100644 --- a/nixos/modules/services/mail/schleuder.nix +++ b/nixos/modules/services/mail/schleuder.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.schleuder; settingsFormat = pkgs.formats.yaml { }; - postfixMap = entries: lib.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "${name} ${value}") entries); + postfixMap = + entries: lib.concatStringsSep "\n" (lib.mapAttrsToList (name: value: "${name} ${value}") entries); writePostfixMap = name: entries: pkgs.writeText name (postfixMap entries); configScript = pkgs.writeScript "schleuder-cfg" '' #!${pkgs.runtimeShell} @@ -19,7 +25,9 @@ in { options.services.schleuder = { enable = lib.mkEnableOption "Schleuder secure remailer"; - enablePostfix = lib.mkEnableOption "automatic postfix integration" // { default = true; }; + enablePostfix = lib.mkEnableOption "automatic postfix integration" // { + default = true; + }; lists = lib.mkOption { description = '' List of list addresses that should be handled by Schleuder. @@ -31,9 +39,13 @@ in ''; type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "widget-team@example.com" "security@example.com" ]; + example = [ + "widget-team@example.com" + "security@example.com" + ]; }; - /* maybe one day.... + /* + maybe one day.... domains = lib.mkOption { description = "Domains for which all mail should be handled by Schleuder."; type = lib.types.listOf lib.types.str; @@ -85,7 +97,7 @@ in ''; } { - assertion = !(lib.any (db: db ? password) (lib.attrValues cfg.settings.database or {})); + assertion = !(lib.any (db: db ? password) (lib.attrValues cfg.settings.database or { })); message = '' A password is defined for at least one database in services.schleuder.settings.database. Defining passwords via NixOS config results in them being copied to the world-readable Nix store. Please use the extraSettingsFile option to store database passwords in a non-public location. ''; @@ -93,7 +105,7 @@ in ]; users.users.schleuder.isSystemUser = true; users.users.schleuder.group = "schleuder"; - users.groups.schleuder = {}; + users.groups.schleuder = { }; environment.systemPackages = [ pkgs.schleuder-cli ]; @@ -109,15 +121,18 @@ in # review: does this make sense? localRecipients = lib.mkIf (cfg.lists != [ ]) cfg.lists; }; - systemd.services = let commonServiceConfig = { - # We would have liked to use DynamicUser, but since the default - # database is SQLite and lives in StateDirectory, and that same - # database needs to be readable from the postfix service, this - # isn't trivial to do. - User = "schleuder"; - StateDirectory = "schleuder"; - StateDirectoryMode = "0700"; - }; in + systemd.services = + let + commonServiceConfig = { + # We would have liked to use DynamicUser, but since the default + # database is SQLite and lives in StateDirectory, and that same + # database needs to be readable from the postfix service, this + # isn't trivial to do. + User = "schleuder"; + StateDirectory = "schleuder"; + StateDirectoryMode = "0700"; + }; + in { schleuder-init = { serviceConfig = commonServiceConfig // { @@ -129,7 +144,11 @@ in }; }; schleuder-api-daemon = { - after = [ "local-fs.target" "network.target" "schleuder-init.service" ]; + after = [ + "local-fs.target" + "network.target" + "schleuder-init.service" + ]; wantedBy = [ "multi-user.target" ]; requires = [ "schleuder-init.service" ]; serviceConfig = commonServiceConfig // { @@ -137,7 +156,10 @@ in }; }; schleuder-weekly-key-maintenance = { - after = [ "local-fs.target" "network.target" ]; + after = [ + "local-fs.target" + "network.target" + ]; startAt = "weekly"; serviceConfig = commonServiceConfig // { ExecStart = [ @@ -151,7 +173,8 @@ in environment.etc."schleuder/schleuder.yml" = lib.mkIf (cfg.extraSettingsFile == null) { source = settingsFormat.generate "schleuder.yml" cfg.settings; }; - environment.etc."schleuder/list-defaults.yml".source = settingsFormat.generate "list-defaults.yml" cfg.listDefaults; + environment.etc."schleuder/list-defaults.yml".source = + settingsFormat.generate "list-defaults.yml" cfg.listDefaults; services.schleuder = { #lists_dir = "/var/lib/schleuder.lists"; diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix index fbe4cc82adb93..f34fad9b1606d 100644 --- a/nixos/modules/services/mail/spamassassin.nix +++ b/nixos/modules/services/mail/spamassassin.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.spamassassin; spamassassin-local-cf = pkgs.writeText "local.cf" cfg.config; @@ -56,8 +61,7 @@ in type = with lib.types; either str path; description = "The SpamAssassin init.pre config."; apply = val: if builtins.isPath val then val else pkgs.writeText "init.pre" val; - default = - '' + default = '' # # to update this list, run this command in the rules directory: # grep 'loadplugin.*Mail::SpamAssassin::Plugin::.*' -o -h * | sort | uniq @@ -161,8 +165,8 @@ in systemd.timers.sa-update = { description = "sa-update-service"; - partOf = [ "sa-update.service" ]; - wantedBy = [ "timers.target" ]; + partOf = [ "sa-update.service" ]; + wantedBy = [ "timers.target" ]; timerConfig = { OnCalendar = "1:*"; Persistent = true; diff --git a/nixos/modules/services/mail/stalwart-mail.nix b/nixos/modules/services/mail/stalwart-mail.nix index 9985e49067a94..46c4bd7bf6824 100644 --- a/nixos/modules/services/mail/stalwart-mail.nix +++ b/nixos/modules/services/mail/stalwart-mail.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.stalwart-mail; configFormat = pkgs.formats.toml { }; @@ -6,14 +11,17 @@ let dataDir = "/var/lib/stalwart-mail"; useLegacyStorage = lib.versionOlder config.system.stateVersion "24.11"; - parsePorts = listeners: let - parseAddresses = listeners: lib.flatten(lib.mapAttrsToList (name: value: value.bind) listeners); - splitAddress = addr: lib.splitString ":" addr; - extractPort = addr: lib.toInt(builtins.foldl' (a: b: b) "" (splitAddress addr)); - in - builtins.map(address: extractPort address) (parseAddresses listeners); - -in { + parsePorts = + listeners: + let + parseAddresses = listeners: lib.flatten (lib.mapAttrsToList (name: value: value.bind) listeners); + splitAddress = addr: lib.splitString ":" addr; + extractPort = addr: lib.toInt (builtins.foldl' (a: b: b) "" (splitAddress addr)); + in + builtins.map (address: extractPort address) (parseAddresses listeners); + +in +{ options.services.stalwart-mail = { enable = lib.mkEnableOption "the Stalwart all-in-one email server"; @@ -47,21 +55,25 @@ in { tracer.stdout = { type = lib.mkDefault "stdout"; level = lib.mkDefault "info"; - ansi = lib.mkDefault false; # no colour markers to journald + ansi = lib.mkDefault false; # no colour markers to journald enable = lib.mkDefault true; }; - store = if useLegacyStorage then { - # structured data in SQLite, blobs on filesystem - db.type = lib.mkDefault "sqlite"; - db.path = lib.mkDefault "${dataDir}/data/index.sqlite3"; - fs.type = lib.mkDefault "fs"; - fs.path = lib.mkDefault "${dataDir}/data/blobs"; - } else { - # everything in RocksDB - db.type = lib.mkDefault "rocksdb"; - db.path = lib.mkDefault "${dataDir}/db"; - db.compression = lib.mkDefault "lz4"; - }; + store = + if useLegacyStorage then + { + # structured data in SQLite, blobs on filesystem + db.type = lib.mkDefault "sqlite"; + db.path = lib.mkDefault "${dataDir}/data/index.sqlite3"; + fs.type = lib.mkDefault "fs"; + fs.path = lib.mkDefault "${dataDir}/data/blobs"; + } + else + { + # everything in RocksDB + db.type = lib.mkDefault "rocksdb"; + db.path = lib.mkDefault "${dataDir}/db"; + db.compression = lib.mkDefault "lz4"; + }; storage.data = lib.mkDefault "db"; storage.fts = lib.mkDefault "db"; storage.lookup = lib.mkDefault "db"; @@ -73,15 +85,18 @@ in { resolver.public-suffix = lib.mkDefault [ "file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat" ]; - config.resource = let - hasHttpListener = builtins.any (listener: listener.protocol == "http") (lib.attrValues cfg.settings.server.listener); - in { - spam-filter = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml"; - } // lib.optionalAttrs ( - (builtins.hasAttr "listener" cfg.settings.server) && hasHttpListener - ) { - webadmin = lib.mkDefault "file://${cfg.package.webadmin}/webadmin.zip"; - }; + config.resource = + let + hasHttpListener = builtins.any (listener: listener.protocol == "http") ( + lib.attrValues cfg.settings.server.listener + ); + in + { + spam-filter = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml"; + } + // lib.optionalAttrs ((builtins.hasAttr "listener" cfg.settings.server) && hasHttpListener) { + webadmin = lib.mkDefault "file://${cfg.package.webadmin}/webadmin.zip"; + }; webadmin.path = "/var/cache/stalwart-mail"; }; @@ -101,13 +116,20 @@ in { packages = [ cfg.package ]; services.stalwart-mail = { wantedBy = [ "multi-user.target" ]; - after = [ "local-fs.target" "network.target" ]; + after = [ + "local-fs.target" + "network.target" + ]; - preStart = if useLegacyStorage then '' - mkdir -p ${dataDir}/data/blobs - '' else '' - mkdir -p ${dataDir}/db - ''; + preStart = + if useLegacyStorage then + '' + mkdir -p ${dataDir}/data/blobs + '' + else + '' + mkdir -p ${dataDir}/db + ''; serviceConfig = { ExecStart = [ @@ -130,7 +152,7 @@ in { LockPersonality = true; MemoryDenyWriteExecute = true; PrivateDevices = true; - PrivateUsers = false; # incompatible with CAP_NET_BIND_SERVICE + PrivateUsers = false; # incompatible with CAP_NET_BIND_SERVICE ProcSubset = "pid"; PrivateTmp = true; ProtectClock = true; @@ -142,12 +164,18 @@ in { ProtectKernelTunables = true; ProtectProc = "invisible"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; UMask = "0077"; }; unitConfig.ConditionPathExists = [ @@ -160,13 +188,18 @@ in { # Make admin commands available in the shell environment.systemPackages = [ cfg.package ]; - networking.firewall = lib.mkIf (cfg.openFirewall - && (builtins.hasAttr "listener" cfg.settings.server)) { - allowedTCPPorts = parsePorts cfg.settings.server.listener; - }; + networking.firewall = + lib.mkIf (cfg.openFirewall && (builtins.hasAttr "listener" cfg.settings.server)) + { + allowedTCPPorts = parsePorts cfg.settings.server.listener; + }; }; meta = { - maintainers = with lib.maintainers; [ happysalada pacien onny ]; + maintainers = with lib.maintainers; [ + happysalada + pacien + onny + ]; }; } diff --git a/nixos/modules/services/mail/sympa.nix b/nixos/modules/services/mail/sympa.nix index c83844516557c..c1a833528b0fa 100644 --- a/nixos/modules/services/mail/sympa.nix +++ b/nixos/modules/services/mail/sympa.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.sympa; dataDir = "/var/lib/sympa"; @@ -26,39 +31,48 @@ let }; # wwsympa has its own service config - sympaServiceConfig = srv: { - Type = "simple"; - Restart = "always"; - ExecStart = "${pkg}/bin/${srv}.pl --foreground"; - PIDFile = "/run/sympa/${srv}.pid"; - User = user; - Group = group; - - # avoid duplicating log messageges in journal - StandardError = "null"; - } // commonServiceConfig; - - configVal = value: - if lib.isBool value then - if value then "on" else "off" - else toString value; - configGenerator = c: lib.concatStrings (lib.flip lib.mapAttrsToList c (key: val: "${key}\t${configVal val}\n")); + sympaServiceConfig = + srv: + { + Type = "simple"; + Restart = "always"; + ExecStart = "${pkg}/bin/${srv}.pl --foreground"; + PIDFile = "/run/sympa/${srv}.pid"; + User = user; + Group = group; + + # avoid duplicating log messageges in journal + StandardError = "null"; + } + // commonServiceConfig; + + configVal = value: if lib.isBool value then if value then "on" else "off" else toString value; + configGenerator = + c: lib.concatStrings (lib.flip lib.mapAttrsToList c (key: val: "${key}\t${configVal val}\n")); mainConfig = pkgs.writeText "sympa.conf" (configGenerator cfg.settings); robotConfig = fqdn: domain: pkgs.writeText "${fqdn}-robot.conf" (configGenerator domain.settings); - transport = pkgs.writeText "transport.sympa" (lib.concatStringsSep "\n" (lib.flip map fqdns (domain: '' - ${domain} error:User unknown in recipient table - sympa@${domain} sympa:sympa@${domain} - listmaster@${domain} sympa:listmaster@${domain} - bounce@${domain} sympabounce:sympa@${domain} - abuse-feedback-report@${domain} sympabounce:sympa@${domain} - ''))); - - virtual = pkgs.writeText "virtual.sympa" (lib.concatStringsSep "\n" (lib.flip map fqdns (domain: '' - sympa-request@${domain} postmaster@localhost - sympa-owner@${domain} postmaster@localhost - ''))); + transport = pkgs.writeText "transport.sympa" ( + lib.concatStringsSep "\n" ( + lib.flip map fqdns (domain: '' + ${domain} error:User unknown in recipient table + sympa@${domain} sympa:sympa@${domain} + listmaster@${domain} sympa:listmaster@${domain} + bounce@${domain} sympabounce:sympa@${domain} + abuse-feedback-report@${domain} sympabounce:sympa@${domain} + '') + ) + ); + + virtual = pkgs.writeText "virtual.sympa" ( + lib.concatStringsSep "\n" ( + lib.flip map fqdns (domain: '' + sympa-request@${domain} postmaster@localhost + sympa-owner@${domain} postmaster@localhost + '') + ) + ); listAliases = pkgs.writeText "list_aliases.tt2" '' #--- [% list.name %]@[% list.domain %]: list transport map created at [% date %] @@ -110,41 +124,50 @@ in }; domains = lib.mkOption { - type = attrsOf (submodule ({ name, config, ... }: { - options = { - webHost = lib.mkOption { - type = nullOr str; - default = null; - example = "archive.example.org"; - description = '' - Domain part of the web interface URL (no web interface for this domain if `null`). - DNS record of type A (or AAAA or CNAME) has to exist with this value. - ''; - }; - webLocation = lib.mkOption { - type = str; - default = "/"; - example = "/sympa"; - description = "URL path part of the web interface."; - }; - settings = lib.mkOption { - type = attrsOf (oneOf [ str int bool ]); - default = {}; - example = { - default_max_list_members = 3; + type = attrsOf ( + submodule ( + { name, config, ... }: + { + options = { + webHost = lib.mkOption { + type = nullOr str; + default = null; + example = "archive.example.org"; + description = '' + Domain part of the web interface URL (no web interface for this domain if `null`). + DNS record of type A (or AAAA or CNAME) has to exist with this value. + ''; + }; + webLocation = lib.mkOption { + type = str; + default = "/"; + example = "/sympa"; + description = "URL path part of the web interface."; + }; + settings = lib.mkOption { + type = attrsOf (oneOf [ + str + int + bool + ]); + default = { }; + example = { + default_max_list_members = 3; + }; + description = '' + The {file}`robot.conf` configuration file as key value set. + See + for list of configuration parameters. + ''; + }; }; - description = '' - The {file}`robot.conf` configuration file as key value set. - See - for list of configuration parameters. - ''; - }; - }; - config.settings = lib.mkIf (cfg.web.enable && config.webHost != null) { - wwsympa_url = lib.mkDefault "https://${config.webHost}${lib.removeSuffix "/" config.webLocation}"; - }; - })); + config.settings = lib.mkIf (cfg.web.enable && config.webHost != null) { + wwsympa_url = lib.mkDefault "https://${config.webHost}${lib.removeSuffix "/" config.webLocation}"; + }; + } + ) + ); description = '' Email domains handled by this instance. There have @@ -166,7 +189,11 @@ in database = { type = lib.mkOption { - type = enum [ "SQLite" "PostgreSQL" "MySQL" ]; + type = enum [ + "SQLite" + "PostgreSQL" + "MySQL" + ]; default = "SQLite"; example = "MySQL"; description = "Database engine to use."; @@ -234,7 +261,10 @@ in }; server = lib.mkOption { - type = enum [ "nginx" "none" ]; + type = enum [ + "nginx" + "none" + ]; default = "nginx"; description = '' The webserver used for the Sympa web interface. Set it to `none` if you want to configure it yourself. @@ -261,7 +291,10 @@ in mta = { type = lib.mkOption { - type = enum [ "postfix" "none" ]; + type = enum [ + "postfix" + "none" + ]; default = "postfix"; description = '' Mail transfer agent (MTA) integration. Use `none` if you want to configure it yourself. @@ -274,8 +307,12 @@ in }; settings = lib.mkOption { - type = attrsOf (oneOf [ str int bool ]); - default = {}; + type = attrsOf (oneOf [ + str + int + bool + ]); + default = { }; example = lib.literalExpression '' { default_home = "lists"; @@ -290,27 +327,34 @@ in }; settingsFile = lib.mkOption { - type = attrsOf (submodule ({ name, config, ... }: { - options = { - enable = lib.mkOption { - type = bool; - default = true; - description = "Whether this file should be generated. This option allows specific files to be disabled."; - }; - text = lib.mkOption { - default = null; - type = nullOr lines; - description = "Text of the file."; - }; - source = lib.mkOption { - type = path; - description = "Path of the source file."; - }; - }; + type = attrsOf ( + submodule ( + { name, config, ... }: + { + options = { + enable = lib.mkOption { + type = bool; + default = true; + description = "Whether this file should be generated. This option allows specific files to be disabled."; + }; + text = lib.mkOption { + default = null; + type = nullOr lines; + description = "Text of the file."; + }; + source = lib.mkOption { + type = path; + description = "Path of the source file."; + }; + }; - config.source = lib.mkIf (config.text != null) (lib.mkDefault (pkgs.writeText "sympa-${baseNameOf name}" config.text)); - })); - default = {}; + config.source = lib.mkIf (config.text != null) ( + lib.mkDefault (pkgs.writeText "sympa-${baseNameOf name}" config.text) + ); + } + ) + ); + default = { }; example = lib.literalExpression '' { "list_data/lists.example.org/help" = { @@ -326,52 +370,57 @@ in config = lib.mkIf cfg.enable { - services.sympa.settings = (lib.mapAttrs (_: v: lib.mkDefault v) { - domain = if cfg.mainDomain != null then cfg.mainDomain else lib.head fqdns; - listmaster = lib.concatStringsSep "," cfg.listMasters; - lang = cfg.lang; + services.sympa.settings = ( + lib.mapAttrs (_: v: lib.mkDefault v) { + domain = if cfg.mainDomain != null then cfg.mainDomain else lib.head fqdns; + listmaster = lib.concatStringsSep "," cfg.listMasters; + lang = cfg.lang; - home = "${dataDir}/list_data"; - arc_path = "${dataDir}/arc"; - bounce_path = "${dataDir}/bounce"; + home = "${dataDir}/list_data"; + arc_path = "${dataDir}/arc"; + bounce_path = "${dataDir}/bounce"; - sendmail = "${pkgs.system-sendmail}/bin/sendmail"; + sendmail = "${pkgs.system-sendmail}/bin/sendmail"; - db_type = cfg.database.type; - db_name = cfg.database.name; - db_user = cfg.database.name; - } - // (lib.optionalAttrs (cfg.database.host != null) { - db_host = cfg.database.host; - }) - // (lib.optionalAttrs mysqlLocal { - db_host = "localhost"; # use unix domain socket - }) - // (lib.optionalAttrs pgsqlLocal { - db_host = "/run/postgresql"; # use unix domain socket - }) - // (lib.optionalAttrs (cfg.database.port != null) { - db_port = cfg.database.port; - }) - // (lib.optionalAttrs (cfg.mta.type == "postfix") { - sendmail_aliases = "${dataDir}/sympa_transport"; - aliases_program = "${pkgs.postfix}/bin/postmap"; - aliases_db_type = "hash"; - }) - // (lib.optionalAttrs cfg.web.enable { - static_content_path = "${dataDir}/static_content"; - css_path = "${dataDir}/static_content/css"; - pictures_path = "${dataDir}/static_content/pictures"; - mhonarc = "${pkgs.perlPackages.MHonArc}/bin/mhonarc"; - })); - - services.sympa.settingsFile = { - "virtual.sympa" = lib.mkDefault { source = virtual; }; - "transport.sympa" = lib.mkDefault { source = transport; }; - "etc/list_aliases.tt2" = lib.mkDefault { source = listAliases; }; - } - // (lib.flip lib.mapAttrs' cfg.domains (fqdn: domain: - lib.nameValuePair "etc/${fqdn}/robot.conf" (lib.mkDefault { source = robotConfig fqdn domain; }))); + db_type = cfg.database.type; + db_name = cfg.database.name; + db_user = cfg.database.name; + } + // (lib.optionalAttrs (cfg.database.host != null) { + db_host = cfg.database.host; + }) + // (lib.optionalAttrs mysqlLocal { + db_host = "localhost"; # use unix domain socket + }) + // (lib.optionalAttrs pgsqlLocal { + db_host = "/run/postgresql"; # use unix domain socket + }) + // (lib.optionalAttrs (cfg.database.port != null) { + db_port = cfg.database.port; + }) + // (lib.optionalAttrs (cfg.mta.type == "postfix") { + sendmail_aliases = "${dataDir}/sympa_transport"; + aliases_program = "${pkgs.postfix}/bin/postmap"; + aliases_db_type = "hash"; + }) + // (lib.optionalAttrs cfg.web.enable { + static_content_path = "${dataDir}/static_content"; + css_path = "${dataDir}/static_content/css"; + pictures_path = "${dataDir}/static_content/pictures"; + mhonarc = "${pkgs.perlPackages.MHonArc}/bin/mhonarc"; + }) + ); + + services.sympa.settingsFile = + { + "virtual.sympa" = lib.mkDefault { source = virtual; }; + "transport.sympa" = lib.mkDefault { source = transport; }; + "etc/list_aliases.tt2" = lib.mkDefault { source = listAliases; }; + } + // (lib.flip lib.mapAttrs' cfg.domains ( + fqdn: domain: + lib.nameValuePair "etc/${fqdn}/robot.conf" (lib.mkDefault { source = robotConfig fqdn domain; }) + )); environment = { systemPackages = [ pkg ]; @@ -385,47 +434,55 @@ in isSystemUser = true; }; - users.groups.${group} = {}; + users.groups.${group} = { }; assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; + { + assertion = + cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; message = "services.sympa.database.user must be set to ${user} if services.sympa.database.createLocally is set to true"; } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; message = "a password cannot be specified if services.sympa.database.createLocally is set to true"; } ]; - systemd.tmpfiles.rules = [ - "d ${dataDir} 0711 ${user} ${group} - -" - "d ${dataDir}/etc 0700 ${user} ${group} - -" - "d ${dataDir}/spool 0700 ${user} ${group} - -" - "d ${dataDir}/list_data 0700 ${user} ${group} - -" - "d ${dataDir}/arc 0700 ${user} ${group} - -" - "d ${dataDir}/bounce 0700 ${user} ${group} - -" - "f ${dataDir}/sympa_transport 0600 ${user} ${group} - -" - - # force-copy static_content so it's up to date with package - # set permissions for wwsympa which needs write access (...) - "R ${dataDir}/static_content - - - - -" - "C ${dataDir}/static_content 0711 ${user} ${group} - ${pkg}/var/lib/sympa/static_content" - "e ${dataDir}/static_content/* 0711 ${user} ${group} - -" - - "d /run/sympa 0755 ${user} ${group} - -" - ] - ++ (lib.flip lib.concatMap fqdns (fqdn: [ - "d ${dataDir}/etc/${fqdn} 0700 ${user} ${group} - -" - "d ${dataDir}/list_data/${fqdn} 0700 ${user} ${group} - -" - ])) - #++ (lib.flip lib.mapAttrsToList enabledFiles (k: v: - # "L+ ${dataDir}/${k} - - - - ${v.source}" - #)) - ++ (lib.concatLists (lib.flip lib.mapAttrsToList enabledFiles (k: v: [ - # sympa doesn't handle symlinks well (e.g. fails to create locks) - # force-copy instead - "R ${dataDir}/${k} - - - - -" - "C ${dataDir}/${k} 0700 ${user} ${group} - ${v.source}" - ]))); + systemd.tmpfiles.rules = + [ + "d ${dataDir} 0711 ${user} ${group} - -" + "d ${dataDir}/etc 0700 ${user} ${group} - -" + "d ${dataDir}/spool 0700 ${user} ${group} - -" + "d ${dataDir}/list_data 0700 ${user} ${group} - -" + "d ${dataDir}/arc 0700 ${user} ${group} - -" + "d ${dataDir}/bounce 0700 ${user} ${group} - -" + "f ${dataDir}/sympa_transport 0600 ${user} ${group} - -" + + # force-copy static_content so it's up to date with package + # set permissions for wwsympa which needs write access (...) + "R ${dataDir}/static_content - - - - -" + "C ${dataDir}/static_content 0711 ${user} ${group} - ${pkg}/var/lib/sympa/static_content" + "e ${dataDir}/static_content/* 0711 ${user} ${group} - -" + + "d /run/sympa 0755 ${user} ${group} - -" + ] + ++ (lib.flip lib.concatMap fqdns (fqdn: [ + "d ${dataDir}/etc/${fqdn} 0700 ${user} ${group} - -" + "d ${dataDir}/list_data/${fqdn} 0700 ${user} ${group} - -" + ])) + #++ (lib.flip lib.mapAttrsToList enabledFiles (k: v: + # "L+ ${dataDir}/${k} - - - - ${v.source}" + #)) + ++ (lib.concatLists ( + lib.flip lib.mapAttrsToList enabledFiles ( + k: v: [ + # sympa doesn't handle symlinks well (e.g. fails to create locks) + # force-copy instead + "R ${dataDir}/${k} - - - - -" + "C ${dataDir}/${k} 0700 ${user} ${group} - ${v.source}" + ] + ) + )); systemd.services.sympa = { description = "Sympa mailing list manager"; @@ -482,37 +539,50 @@ in Type = "forking"; PIDFile = "/run/sympa/wwsympa.pid"; Restart = "always"; - ExecStart = ''${pkgs.spawn_fcgi}/bin/spawn-fcgi \ - -u ${user} \ - -g ${group} \ - -U nginx \ - -M 0600 \ - -F ${toString cfg.web.fcgiProcs} \ - -P /run/sympa/wwsympa.pid \ - -s /run/sympa/wwsympa.socket \ - -- ${pkg}/lib/sympa/cgi/wwsympa.fcgi + ExecStart = '' + ${pkgs.spawn_fcgi}/bin/spawn-fcgi \ + -u ${user} \ + -g ${group} \ + -U nginx \ + -M 0600 \ + -F ${toString cfg.web.fcgiProcs} \ + -P /run/sympa/wwsympa.pid \ + -s /run/sympa/wwsympa.socket \ + -- ${pkg}/lib/sympa/cgi/wwsympa.fcgi ''; } // commonServiceConfig; }; services.nginx.enable = lib.mkIf usingNginx true; - services.nginx.virtualHosts = lib.mkIf usingNginx (let - vHosts = lib.unique (lib.remove null (lib.mapAttrsToList (_k: v: v.webHost) cfg.domains)); - hostLocations = host: map (v: v.webLocation) (lib.filter (v: v.webHost == host) (lib.attrValues cfg.domains)); - httpsOpts = lib.optionalAttrs cfg.web.https { forceSSL = lib.mkDefault true; enableACME = lib.mkDefault true; }; - in - lib.genAttrs vHosts (host: { - locations = lib.genAttrs (hostLocations host) (loc: { - extraConfig = '' - include ${config.services.nginx.package}/conf/fastcgi_params; - - fastcgi_pass unix:/run/sympa/wwsympa.socket; - ''; - }) // { - "/static-sympa/".alias = "${dataDir}/static_content/"; - }; - } // httpsOpts)); + services.nginx.virtualHosts = lib.mkIf usingNginx ( + let + vHosts = lib.unique (lib.remove null (lib.mapAttrsToList (_k: v: v.webHost) cfg.domains)); + hostLocations = + host: map (v: v.webLocation) (lib.filter (v: v.webHost == host) (lib.attrValues cfg.domains)); + httpsOpts = lib.optionalAttrs cfg.web.https { + forceSSL = lib.mkDefault true; + enableACME = lib.mkDefault true; + }; + in + lib.genAttrs vHosts ( + host: + { + locations = + lib.genAttrs (hostLocations host) (loc: { + extraConfig = '' + include ${config.services.nginx.package}/conf/fastcgi_params; + + fastcgi_pass unix:/run/sympa/wwsympa.socket; + ''; + }) + // { + "/static-sympa/".alias = "${dataDir}/static_content/"; + }; + } + // httpsOpts + ) + ); services.postfix = lib.mkIf (cfg.mta.type == "postfix") { enable = true; @@ -563,8 +633,11 @@ in package = lib.mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; - ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; } ]; }; @@ -573,7 +646,8 @@ in enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensureDBOwnership = true; } ]; @@ -581,5 +655,8 @@ in }; - meta.maintainers = with lib.maintainers; [ mmilata sorki ]; + meta.maintainers = with lib.maintainers; [ + mmilata + sorki + ]; } diff --git a/nixos/modules/services/mail/zeyple.nix b/nixos/modules/services/mail/zeyple.nix index 2f9164f700fec..dfc8d7ff3a508 100644 --- a/nixos/modules/services/mail/zeyple.nix +++ b/nixos/modules/services/mail/zeyple.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.zeyple; ini = pkgs.formats.ini { }; @@ -12,7 +17,8 @@ let # Remove socket files rm -f $out/S.* ''; -in { +in +{ options.services.zeyple = { enable = lib.mkEnableOption "Zeyple, an utility program to automatically encrypt outgoing emails with GPG"; diff --git a/nixos/modules/services/matrix/appservice-discord.nix b/nixos/modules/services/matrix/appservice-discord.nix index cbe265d359441..5e7930a73c4c0 100644 --- a/nixos/modules/services/matrix/appservice-discord.nix +++ b/nixos/modules/services/matrix/appservice-discord.nix @@ -1,13 +1,22 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: let dataDir = "/var/lib/matrix-appservice-discord"; registrationFile = "${dataDir}/discord-registration.yaml"; cfg = config.services.matrix-appservice-discord; opt = options.services.matrix-appservice-discord; # TODO: switch to configGen.json once RFC42 is implemented - settingsFile = pkgs.writeText "matrix-appservice-discord-settings.json" (builtins.toJSON cfg.settings); + settingsFile = pkgs.writeText "matrix-appservice-discord-settings.json" ( + builtins.toJSON cfg.settings + ); -in { +in +{ options = { services.matrix-appservice-discord = { enable = lib.mkEnableOption "a bridge between Matrix and Discord"; @@ -115,7 +124,9 @@ in { ${cfg.package}/bin/matrix-appservice-discord \ --generate-registration \ --url=${lib.escapeShellArg cfg.url} \ - ${lib.optionalString (cfg.localpart != null) "--localpart=${lib.escapeShellArg cfg.localpart}"} \ + ${ + lib.optionalString (cfg.localpart != null) "--localpart=${lib.escapeShellArg cfg.localpart}" + } \ --config='${settingsFile}' \ --file='${registrationFile}' fi diff --git a/nixos/modules/services/matrix/appservice-irc.nix b/nixos/modules/services/matrix/appservice-irc.nix index ac8d4250b9acf..c7cd341a92291 100644 --- a/nixos/modules/services/matrix/appservice-irc.nix +++ b/nixos/modules/services/matrix/appservice-irc.nix @@ -1,27 +1,39 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.matrix-appservice-irc; pkg = pkgs.matrix-appservice-irc; bin = "${pkg}/bin/matrix-appservice-irc"; - jsonType = (pkgs.formats.json {}).type; + jsonType = (pkgs.formats.json { }).type; - configFile = pkgs.runCommand "matrix-appservice-irc.yml" { - # Because this program will be run at build time, we need `nativeBuildInputs` - nativeBuildInputs = [ (pkgs.python3.withPackages (ps: [ ps.jsonschema ])) pkgs.remarshal ]; - preferLocalBuild = true; + configFile = + pkgs.runCommand "matrix-appservice-irc.yml" + { + # Because this program will be run at build time, we need `nativeBuildInputs` + nativeBuildInputs = [ + (pkgs.python3.withPackages (ps: [ ps.jsonschema ])) + pkgs.remarshal + ]; + preferLocalBuild = true; - config = builtins.toJSON cfg.settings; - passAsFile = [ "config" ]; - } '' - # The schema is given as yaml, we need to convert it to json - remarshal --if yaml --of json -i ${pkg}/config.schema.yml -o config.schema.json - python -m jsonschema config.schema.json -i $configPath - cp "$configPath" "$out" - ''; + config = builtins.toJSON cfg.settings; + passAsFile = [ "config" ]; + } + '' + # The schema is given as yaml, we need to convert it to json + remarshal --if yaml --of json -i ${pkg}/config.schema.yml -o config.schema.json + python -m jsonschema config.schema.json -i $configPath + cp "$configPath" "$out" + ''; registrationFile = "/var/lib/matrix-appservice-irc/registration.yml"; -in { +in +{ options.services.matrix-appservice-irc = with lib.types; { enable = lib.mkEnableOption "the Matrix/IRC bridge"; @@ -65,14 +77,14 @@ in { for supported values ''; - default = {}; + default = { }; type = submodule { freeformType = jsonType; options = { homeserver = lib.mkOption { description = "Homeserver configuration"; - default = {}; + default = { }; type = submodule { freeformType = jsonType; @@ -94,7 +106,7 @@ in { }; database = lib.mkOption { - default = {}; + default = { }; description = "Configuration for the database"; type = submodule { freeformType = jsonType; @@ -118,7 +130,7 @@ in { }; ircService = lib.mkOption { - default = {}; + default = { }; description = "IRC bridge configuration"; type = submodule { freeformType = jsonType; @@ -259,7 +271,7 @@ in { }; }; - users.groups.matrix-appservice-irc = {}; + users.groups.matrix-appservice-irc = { }; users.users.matrix-appservice-irc = { description = "Service user for the Matrix-IRC bridge"; group = "matrix-appservice-irc"; diff --git a/nixos/modules/services/matrix/conduit.nix b/nixos/modules/services/matrix/conduit.nix index 98ed19abd3669..3d2738c4c3d81 100644 --- a/nixos/modules/services/matrix/conduit.nix +++ b/nixos/modules/services/matrix/conduit.nix @@ -1,152 +1,165 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.matrix-conduit; - format = pkgs.formats.toml {}; + format = pkgs.formats.toml { }; configFile = format.generate "conduit.toml" cfg.settings; in - { - meta.maintainers = with lib.maintainers; [ pstn ]; - options.services.matrix-conduit = { - enable = lib.mkEnableOption "matrix-conduit"; +{ + meta.maintainers = with lib.maintainers; [ pstn ]; + options.services.matrix-conduit = { + enable = lib.mkEnableOption "matrix-conduit"; - extraEnvironment = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - description = "Extra Environment variables to pass to the conduit server."; - default = {}; - example = { RUST_BACKTRACE="yes"; }; + extraEnvironment = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + description = "Extra Environment variables to pass to the conduit server."; + default = { }; + example = { + RUST_BACKTRACE = "yes"; }; + }; - package = lib.mkPackageOption pkgs "matrix-conduit" { }; + package = lib.mkPackageOption pkgs "matrix-conduit" { }; - settings = lib.mkOption { - type = lib.types.submodule { - freeformType = format.type; - options = { - global.server_name = lib.mkOption { - type = lib.types.str; - example = "example.com"; - description = "The server_name is the name of this server. It is used as a suffix for user # and room ids."; - }; - global.port = lib.mkOption { - type = lib.types.port; - default = 6167; - description = "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port"; - }; - global.max_request_size = lib.mkOption { - type = lib.types.ints.positive; - default = 20000000; - description = "Max request size in bytes. Don't forget to also change it in the proxy."; - }; - global.allow_registration = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Whether new users can register on this server."; - }; - global.allow_encryption = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Whether new encrypted rooms can be created. Note: existing rooms will continue to work."; - }; - global.allow_federation = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Whether this server federates with other servers. - ''; - }; - global.trusted_servers = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ "matrix.org" ]; - description = "Servers trusted with signing server keys."; - }; - global.address = lib.mkOption { - type = lib.types.str; - default = "::1"; - description = "Address to listen on for connections by the reverse proxy/tls terminator."; - }; - global.database_path = lib.mkOption { - type = lib.types.str; - default = "/var/lib/matrix-conduit/"; - readOnly = true; - description = '' - Path to the conduit database, the directory where conduit will save its data. - Note that due to using the DynamicUser feature of systemd, this value should not be changed - and is set to be read only. - ''; - }; - global.database_backend = lib.mkOption { - type = lib.types.enum [ "sqlite" "rocksdb" ]; - default = "sqlite"; - example = "rocksdb"; - description = '' - The database backend for the service. Switching it on an existing - instance will require manual migration of data. - ''; - }; - global.allow_check_for_updates = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to allow Conduit to automatically contact - hourly to check for important Conduit news. + settings = lib.mkOption { + type = lib.types.submodule { + freeformType = format.type; + options = { + global.server_name = lib.mkOption { + type = lib.types.str; + example = "example.com"; + description = "The server_name is the name of this server. It is used as a suffix for user # and room ids."; + }; + global.port = lib.mkOption { + type = lib.types.port; + default = 6167; + description = "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port"; + }; + global.max_request_size = lib.mkOption { + type = lib.types.ints.positive; + default = 20000000; + description = "Max request size in bytes. Don't forget to also change it in the proxy."; + }; + global.allow_registration = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether new users can register on this server."; + }; + global.allow_encryption = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Whether new encrypted rooms can be created. Note: existing rooms will continue to work."; + }; + global.allow_federation = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether this server federates with other servers. + ''; + }; + global.trusted_servers = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ "matrix.org" ]; + description = "Servers trusted with signing server keys."; + }; + global.address = lib.mkOption { + type = lib.types.str; + default = "::1"; + description = "Address to listen on for connections by the reverse proxy/tls terminator."; + }; + global.database_path = lib.mkOption { + type = lib.types.str; + default = "/var/lib/matrix-conduit/"; + readOnly = true; + description = '' + Path to the conduit database, the directory where conduit will save its data. + Note that due to using the DynamicUser feature of systemd, this value should not be changed + and is set to be read only. + ''; + }; + global.database_backend = lib.mkOption { + type = lib.types.enum [ + "sqlite" + "rocksdb" + ]; + default = "sqlite"; + example = "rocksdb"; + description = '' + The database backend for the service. Switching it on an existing + instance will require manual migration of data. + ''; + }; + global.allow_check_for_updates = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to allow Conduit to automatically contact + hourly to check for important Conduit news. - Disabled by default because nixpkgs handles updates. - ''; - }; + Disabled by default because nixpkgs handles updates. + ''; }; }; - default = {}; - description = '' - Generates the conduit.toml configuration file. Refer to - - for details on supported values. - Note that database_path can not be edited because the service's reliance on systemd StateDir. - ''; }; + default = { }; + description = '' + Generates the conduit.toml configuration file. Refer to + + for details on supported values. + Note that database_path can not be edited because the service's reliance on systemd StateDir. + ''; }; + }; - config = lib.mkIf cfg.enable { - systemd.services.conduit = { - description = "Conduit Matrix Server"; - documentation = [ "https://gitlab.com/famedly/conduit/" ]; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - environment = lib.mkMerge ([ - { CONDUIT_CONFIG = configFile; } - cfg.extraEnvironment - ]); - serviceConfig = { - DynamicUser = true; - User = "conduit"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - PrivateDevices = true; - PrivateMounts = true; - PrivateUsers = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" - ]; - StateDirectory = "matrix-conduit"; - StateDirectoryMode = "0700"; - ExecStart = "${cfg.package}/bin/conduit"; - Restart = "on-failure"; - RestartSec = 10; - StartLimitBurst = 5; - UMask = "077"; - }; + config = lib.mkIf cfg.enable { + systemd.services.conduit = { + description = "Conduit Matrix Server"; + documentation = [ "https://gitlab.com/famedly/conduit/" ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + environment = lib.mkMerge ([ + { CONDUIT_CONFIG = configFile; } + cfg.extraEnvironment + ]); + serviceConfig = { + DynamicUser = true; + User = "conduit"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateUsers = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + StateDirectory = "matrix-conduit"; + StateDirectoryMode = "0700"; + ExecStart = "${cfg.package}/bin/conduit"; + Restart = "on-failure"; + RestartSec = 10; + StartLimitBurst = 5; + UMask = "077"; }; }; - } + }; +} diff --git a/nixos/modules/services/matrix/dendrite.nix b/nixos/modules/services/matrix/dendrite.nix index fdd91d7762547..2f17bb9f07276 100644 --- a/nixos/modules/services/matrix/dendrite.nix +++ b/nixos/modules/services/matrix/dendrite.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dendrite; settingsFormat = pkgs.formats.yaml { }; @@ -98,9 +103,7 @@ in ''; }; private_key = lib.mkOption { - type = lib.types.either - lib.types.path - (lib.types.strMatching "^\\$CREDENTIALS_DIRECTORY/.+"); + type = lib.types.either lib.types.path (lib.types.strMatching "^\\$CREDENTIALS_DIRECTORY/.+"); example = "$CREDENTIALS_DIRECTORY/private_key"; description = '' The path to the signing private key file, used to sign @@ -114,7 +117,10 @@ in trusted_third_party_id_servers = lib.mkOption { type = lib.types.listOf lib.types.str; example = [ "matrix.org" ]; - default = [ "matrix.org" "vector.im" ]; + default = [ + "matrix.org" + "vector.im" + ]; description = '' Lists of domains that the server will trust as identity servers to verify third party identifiers such as phone @@ -272,14 +278,16 @@ in }; config = lib.mkIf cfg.enable { - assertions = [{ - assertion = cfg.httpsPort != null -> (cfg.tlsCert != null && cfg.tlsKey != null); - message = '' - If Dendrite is configured to use https, tlsCert and tlsKey must be provided. + assertions = [ + { + assertion = cfg.httpsPort != null -> (cfg.tlsCert != null && cfg.tlsKey != null); + message = '' + If Dendrite is configured to use https, tlsCert and tlsKey must be provided. - nix-shell -p dendrite --command "generate-keys --tls-cert server.crt --tls-key server.key" - ''; - }]; + nix-shell -p dendrite --command "generate-keys --tls-cert server.crt --tls-key server.key" + ''; + } + ]; systemd.services.dendrite = { description = "Dendrite Matrix homeserver"; @@ -297,23 +305,30 @@ in LimitNOFILE = 65535; EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; LoadCredential = cfg.loadCredential; - ExecStartPre = ['' - ${pkgs.envsubst}/bin/envsubst \ - -i ${configurationYaml} \ - -o /run/dendrite/dendrite.yaml - '']; - ExecStart = lib.strings.concatStringsSep " " ([ - "${pkgs.dendrite}/bin/dendrite" - "--config /run/dendrite/dendrite.yaml" - ] ++ lib.optionals (cfg.httpPort != null) [ - "--http-bind-address :${builtins.toString cfg.httpPort}" - ] ++ lib.optionals (cfg.httpsPort != null) [ - "--https-bind-address :${builtins.toString cfg.httpsPort}" - "--tls-cert ${cfg.tlsCert}" - "--tls-key ${cfg.tlsKey}" - ] ++ lib.optionals cfg.openRegistration [ - "--really-enable-open-registration" - ]); + ExecStartPre = [ + '' + ${pkgs.envsubst}/bin/envsubst \ + -i ${configurationYaml} \ + -o /run/dendrite/dendrite.yaml + '' + ]; + ExecStart = lib.strings.concatStringsSep " " ( + [ + "${pkgs.dendrite}/bin/dendrite" + "--config /run/dendrite/dendrite.yaml" + ] + ++ lib.optionals (cfg.httpPort != null) [ + "--http-bind-address :${builtins.toString cfg.httpPort}" + ] + ++ lib.optionals (cfg.httpsPort != null) [ + "--https-bind-address :${builtins.toString cfg.httpsPort}" + "--tls-cert ${cfg.tlsCert}" + "--tls-key ${cfg.tlsKey}" + ] + ++ lib.optionals cfg.openRegistration [ + "--really-enable-open-registration" + ] + ); ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "on-failure"; }; diff --git a/nixos/modules/services/matrix/maubot.nix b/nixos/modules/services/matrix/maubot.nix index 7aea88bd273d5..6a7f36378e3d5 100644 --- a/nixos/modules/services/matrix/maubot.nix +++ b/nixos/modules/services/matrix/maubot.nix @@ -1,43 +1,45 @@ -{ lib -, config -, pkgs -, ... +{ + lib, + config, + pkgs, + ... }: let cfg = config.services.maubot; - wrapper1 = - if cfg.plugins == [ ] - then cfg.package - else cfg.package.withPlugins (_: cfg.plugins); + wrapper1 = if cfg.plugins == [ ] then cfg.package else cfg.package.withPlugins (_: cfg.plugins); wrapper2 = - if cfg.pythonPackages == [ ] - then wrapper1 - else wrapper1.withPythonPackages (_: cfg.pythonPackages); + if cfg.pythonPackages == [ ] then wrapper1 else wrapper1.withPythonPackages (_: cfg.pythonPackages); settings = lib.recursiveUpdate cfg.settings { plugin_directories.trash = - if cfg.settings.plugin_directories.trash == null - then "delete" - else cfg.settings.plugin_directories.trash; + if cfg.settings.plugin_directories.trash == null then + "delete" + else + cfg.settings.plugin_directories.trash; server.unshared_secret = "generate"; }; finalPackage = wrapper2.withBaseConfig settings; isPostgresql = db: builtins.isString db && lib.hasPrefix "postgresql://" db; - isLocalPostgresDB = db: isPostgresql db && builtins.any (x: lib.hasInfix x db) [ - "@127.0.0.1/" - "@::1/" - "@[::1]/" - "@localhost/" - ]; - parsePostgresDB = db: + isLocalPostgresDB = + db: + isPostgresql db + && builtins.any (x: lib.hasInfix x db) [ + "@127.0.0.1/" + "@::1/" + "@[::1]/" + "@localhost/" + ]; + parsePostgresDB = + db: let noSchema = lib.removePrefix "postgresql://" db; - in { + in + { username = builtins.head (lib.splitString "@" noSchema); database = lib.last (lib.splitString "/" noSchema); }; @@ -124,265 +126,274 @@ in Secrets should be passed in by using `extraConfigFile`. ''; - type = with types; submodule { - options = { - database = mkOption { - type = str; - default = "sqlite:maubot.db"; - example = "postgresql://username:password@hostname/dbname"; - description = '' - The full URI to the database. SQLite and Postgres are fully supported. - Other DBMSes supported by SQLAlchemy may or may not work. - ''; - }; + type = + with types; + submodule { + options = { + database = mkOption { + type = str; + default = "sqlite:maubot.db"; + example = "postgresql://username:password@hostname/dbname"; + description = '' + The full URI to the database. SQLite and Postgres are fully supported. + Other DBMSes supported by SQLAlchemy may or may not work. + ''; + }; - crypto_database = mkOption { - type = str; - default = "default"; - example = "postgresql://username:password@hostname/dbname"; - description = '' - Separate database URL for the crypto database. By default, the regular database is also used for crypto. - ''; - }; + crypto_database = mkOption { + type = str; + default = "default"; + example = "postgresql://username:password@hostname/dbname"; + description = '' + Separate database URL for the crypto database. By default, the regular database is also used for crypto. + ''; + }; - database_opts = mkOption { - type = types.attrs; - default = { }; - description = '' - Additional arguments for asyncpg.create_pool() or sqlite3.connect() - ''; - }; + database_opts = mkOption { + type = types.attrs; + default = { }; + description = '' + Additional arguments for asyncpg.create_pool() or sqlite3.connect() + ''; + }; - plugin_directories = mkOption { - default = { }; - description = "Plugin directory paths"; - type = submodule { - options = { - upload = mkOption { - type = types.str; - default = "./plugins"; - defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"''; - description = '' - The directory where uploaded new plugins should be stored. - ''; - }; - load = mkOption { - type = types.listOf types.str; - default = [ "./plugins" ]; - defaultText = literalExpression ''[ "''${config.services.maubot.dataDir}/plugins" ]''; - description = '' - The directories from which plugins should be loaded. Duplicate plugin IDs will be moved to the trash. - ''; - }; - trash = mkOption { - type = with types; nullOr str; - default = "./trash"; - defaultText = literalExpression ''"''${config.services.maubot.dataDir}/trash"''; - description = '' - The directory where old plugin versions and conflicting plugins should be moved. Set to null to delete files immediately. - ''; + plugin_directories = mkOption { + default = { }; + description = "Plugin directory paths"; + type = submodule { + options = { + upload = mkOption { + type = types.str; + default = "./plugins"; + defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"''; + description = '' + The directory where uploaded new plugins should be stored. + ''; + }; + load = mkOption { + type = types.listOf types.str; + default = [ "./plugins" ]; + defaultText = literalExpression ''[ "''${config.services.maubot.dataDir}/plugins" ]''; + description = '' + The directories from which plugins should be loaded. Duplicate plugin IDs will be moved to the trash. + ''; + }; + trash = mkOption { + type = with types; nullOr str; + default = "./trash"; + defaultText = literalExpression ''"''${config.services.maubot.dataDir}/trash"''; + description = '' + The directory where old plugin versions and conflicting plugins should be moved. Set to null to delete files immediately. + ''; + }; }; }; }; - }; - - plugin_databases = mkOption { - description = "Plugin database settings"; - default = { }; - type = submodule { - options = { - sqlite = mkOption { - type = types.str; - default = "./plugins"; - defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"''; - description = '' - The directory where SQLite plugin databases should be stored. - ''; - }; - - postgres = mkOption { - type = types.nullOr types.str; - default = if isPostgresql cfg.settings.database then "default" else null; - defaultText = literalExpression ''if isPostgresql config.services.maubot.settings.database then "default" else null''; - description = '' - The connection URL for plugin database. See [example config](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml) for exact format. - ''; - }; - - postgres_max_conns_per_plugin = mkOption { - type = types.nullOr types.int; - default = 3; - description = '' - Maximum number of connections per plugin instance. - ''; - }; - postgres_opts = mkOption { - type = types.attrs; - default = { }; - description = '' - Overrides for the default database_opts when using a non-default postgres connection URL. - ''; + plugin_databases = mkOption { + description = "Plugin database settings"; + default = { }; + type = submodule { + options = { + sqlite = mkOption { + type = types.str; + default = "./plugins"; + defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"''; + description = '' + The directory where SQLite plugin databases should be stored. + ''; + }; + + postgres = mkOption { + type = types.nullOr types.str; + default = if isPostgresql cfg.settings.database then "default" else null; + defaultText = literalExpression ''if isPostgresql config.services.maubot.settings.database then "default" else null''; + description = '' + The connection URL for plugin database. See [example config](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml) for exact format. + ''; + }; + + postgres_max_conns_per_plugin = mkOption { + type = types.nullOr types.int; + default = 3; + description = '' + Maximum number of connections per plugin instance. + ''; + }; + + postgres_opts = mkOption { + type = types.attrs; + default = { }; + description = '' + Overrides for the default database_opts when using a non-default postgres connection URL. + ''; + }; }; }; }; - }; - server = mkOption { - default = { }; - description = "Listener config"; - type = submodule { - options = { - hostname = mkOption { - type = types.str; - default = "127.0.0.1"; - description = '' - The IP to listen on - ''; - }; - port = mkOption { - type = types.port; - default = 29316; - description = '' - The port to listen on - ''; - }; - public_url = mkOption { - type = types.str; - default = "http://${cfg.settings.server.hostname}:${toString cfg.settings.server.port}"; - defaultText = literalExpression ''"http://''${config.services.maubot.settings.server.hostname}:''${toString config.services.maubot.settings.server.port}"''; - description = '' - Public base URL where the server is visible. - ''; - }; - ui_base_path = mkOption { - type = types.str; - default = "/_matrix/maubot"; - description = '' - The base path for the UI. - ''; - }; - plugin_base_path = mkOption { - type = types.str; - default = "${config.services.maubot.settings.server.ui_base_path}/plugin/"; - defaultText = literalExpression '' - "''${config.services.maubot.settings.server.ui_base_path}/plugin/" - ''; - description = '' - The base path for plugin endpoints. The instance ID will be appended directly. - ''; - }; - override_resource_path = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Override path from where to load UI resources. - ''; + server = mkOption { + default = { }; + description = "Listener config"; + type = submodule { + options = { + hostname = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + The IP to listen on + ''; + }; + port = mkOption { + type = types.port; + default = 29316; + description = '' + The port to listen on + ''; + }; + public_url = mkOption { + type = types.str; + default = "http://${cfg.settings.server.hostname}:${toString cfg.settings.server.port}"; + defaultText = literalExpression ''"http://''${config.services.maubot.settings.server.hostname}:''${toString config.services.maubot.settings.server.port}"''; + description = '' + Public base URL where the server is visible. + ''; + }; + ui_base_path = mkOption { + type = types.str; + default = "/_matrix/maubot"; + description = '' + The base path for the UI. + ''; + }; + plugin_base_path = mkOption { + type = types.str; + default = "${config.services.maubot.settings.server.ui_base_path}/plugin/"; + defaultText = literalExpression '' + "''${config.services.maubot.settings.server.ui_base_path}/plugin/" + ''; + description = '' + The base path for plugin endpoints. The instance ID will be appended directly. + ''; + }; + override_resource_path = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Override path from where to load UI resources. + ''; + }; }; }; }; - }; - homeservers = mkOption { - type = types.attrsOf (types.submodule { - options = { - url = mkOption { - type = types.str; - description = '' - Client-server API URL - ''; + homeservers = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + url = mkOption { + type = types.str; + description = '' + Client-server API URL + ''; + }; + }; + } + ); + default = { + "matrix.org" = { + url = "https://matrix-client.matrix.org"; }; }; - }); - default = { - "matrix.org" = { - url = "https://matrix-client.matrix.org"; - }; + description = '' + Known homeservers. This is required for the `mbc auth` command and also allows more convenient access from the management UI. + If you want to specify registration secrets, pass this via extraConfigFile instead. + ''; }; - description = '' - Known homeservers. This is required for the `mbc auth` command and also allows more convenient access from the management UI. - If you want to specify registration secrets, pass this via extraConfigFile instead. - ''; - }; - admins = mkOption { - type = types.attrsOf types.str; - default = { root = ""; }; - description = '' - List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password - to prevent normal login. Root is a special user that can't have a password and will always exist. - ''; - }; - - api_features = mkOption { - type = types.attrsOf bool; - default = { - login = true; - plugin = true; - plugin_upload = true; - instance = true; - instance_database = true; - client = true; - client_proxy = true; - client_auth = true; - dev_open = true; - log = true; + admins = mkOption { + type = types.attrsOf types.str; + default = { + root = ""; + }; + description = '' + List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password + to prevent normal login. Root is a special user that can't have a password and will always exist. + ''; }; - description = '' - API feature switches. - ''; - }; - logging = mkOption { - type = types.attrs; - description = '' - Python logging configuration. See [section 16.7.2 of the Python - documentation](https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema) - for more info. - ''; - default = { - version = 1; - formatters = { - colored = { - "()" = "maubot.lib.color_log.ColorFormatter"; - format = "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"; - }; - normal = { - format = "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"; - }; + api_features = mkOption { + type = types.attrsOf bool; + default = { + login = true; + plugin = true; + plugin_upload = true; + instance = true; + instance_database = true; + client = true; + client_proxy = true; + client_auth = true; + dev_open = true; + log = true; }; - handlers = { - file = { - class = "logging.handlers.RotatingFileHandler"; - formatter = "normal"; - filename = "./maubot.log"; - maxBytes = 10485760; - backupCount = 10; + description = '' + API feature switches. + ''; + }; + + logging = mkOption { + type = types.attrs; + description = '' + Python logging configuration. See [section 16.7.2 of the Python + documentation](https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema) + for more info. + ''; + default = { + version = 1; + formatters = { + colored = { + "()" = "maubot.lib.color_log.ColorFormatter"; + format = "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"; + }; + normal = { + format = "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"; + }; }; - console = { - class = "logging.StreamHandler"; - formatter = "colored"; + handlers = { + file = { + class = "logging.handlers.RotatingFileHandler"; + formatter = "normal"; + filename = "./maubot.log"; + maxBytes = 10485760; + backupCount = 10; + }; + console = { + class = "logging.StreamHandler"; + formatter = "colored"; + }; }; - }; - loggers = { - maubot = { - level = "DEBUG"; + loggers = { + maubot = { + level = "DEBUG"; + }; + mau = { + level = "DEBUG"; + }; + aiohttp = { + level = "INFO"; + }; }; - mau = { + root = { level = "DEBUG"; - }; - aiohttp = { - level = "INFO"; + handlers = [ + "file" + "console" + ]; }; }; - root = { - level = "DEBUG"; - handlers = [ "file" "console" ]; - }; }; }; }; - }; }; }; @@ -443,7 +454,9 @@ in ''; serviceConfig = { - ExecStart = "${finalPackage}/bin/maubot --config ${cfg.extraConfigFile}" + lib.optionalString (!cfg.configMutable) " --no-update"; + ExecStart = + "${finalPackage}/bin/maubot --config ${cfg.extraConfigFile}" + + lib.optionalString (!cfg.configMutable) " --no-update"; User = "maubot"; Group = "maubot"; Restart = "on-failure"; diff --git a/nixos/modules/services/matrix/mautrix-facebook.nix b/nixos/modules/services/matrix/mautrix-facebook.nix index 0e81b390732a9..2368e4e39d190 100644 --- a/nixos/modules/services/matrix/mautrix-facebook.nix +++ b/nixos/modules/services/matrix/mautrix-facebook.nix @@ -1,17 +1,19 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.mautrix-facebook; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; settingsFile = settingsFormat.generate "mautrix-facebook-config.json" cfg.settings; - puppetRegex = lib.concatStringsSep - ".*" - (map - lib.escapeRegex - (lib.splitString - "{userid}" - cfg.settings.bridge.username_template)); -in { + puppetRegex = lib.concatStringsSep ".*" ( + map lib.escapeRegex (lib.splitString "{userid}" cfg.settings.bridge.username_template) + ); +in +{ options = { services.mautrix-facebook = { enable = lib.mkEnableOption "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge"; @@ -63,7 +65,7 @@ in { }; root = { level = "INFO"; - handlers = ["journal"]; + handlers = [ "journal" ]; }; }; }; @@ -110,7 +112,7 @@ in { registrationData = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; description = '' Output data for appservice registration. Simply make any desired changes and serialize to JSON. Note that this data contains secrets so think twice before putting it into the nix store. @@ -121,7 +123,7 @@ in { }; config = lib.mkIf cfg.enable { - users.groups.mautrix-facebook = {}; + users.groups.mautrix-facebook = { }; users.users.mautrix-facebook = { group = "mautrix-facebook"; @@ -129,18 +131,22 @@ in { }; services.postgresql = lib.mkIf cfg.configurePostgresql { - ensureDatabases = ["mautrix-facebook"]; - ensureUsers = [{ - name = "mautrix-facebook"; - ensureDBOwnership = true; - }]; + ensureDatabases = [ "mautrix-facebook" ]; + ensureUsers = [ + { + name = "mautrix-facebook"; + ensureDBOwnership = true; + } + ]; }; systemd.services.mautrix-facebook = rec { wantedBy = [ "multi-user.target" ]; - wants = [ - "network-online.target" - ] ++ lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit + wants = + [ + "network-online.target" + ] + ++ lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit ++ lib.optional cfg.configurePostgresql "postgresql.service"; after = wants; @@ -180,7 +186,7 @@ in { regex = "@${puppetRegex}:${lib.escapeRegex cfg.settings.homeserver.domain}"; } ]; - aliases = []; + aliases = [ ]; }; url = cfg.settings.appservice.address; diff --git a/nixos/modules/services/matrix/mautrix-meta.nix b/nixos/modules/services/matrix/mautrix-meta.nix index 79f7239df9e5d..e64f1d923564a 100644 --- a/nixos/modules/services/matrix/mautrix-meta.nix +++ b/nixos/modules/services/matrix/mautrix-meta.nix @@ -1,7 +1,12 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; upperConfig = config; cfg = config.services.mautrix-meta; @@ -14,254 +19,264 @@ let metaName = name: "mautrix-meta-${name}"; - enabledInstances = lib.filterAttrs (name: config: config.enable) config.services.mautrix-meta.instances; - registerToSynapseInstances = lib.filterAttrs (name: config: config.enable && config.registerToSynapse) config.services.mautrix-meta.instances; -in { + enabledInstances = lib.filterAttrs ( + name: config: config.enable + ) config.services.mautrix-meta.instances; + registerToSynapseInstances = lib.filterAttrs ( + name: config: config.enable && config.registerToSynapse + ) config.services.mautrix-meta.instances; +in +{ options = { services.mautrix-meta = { package = lib.mkPackageOption pkgs "mautrix-meta" { }; instances = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule ({ config, name, ... }: { - - options = { - - enable = lib.mkEnableOption "Mautrix-Meta, a Matrix <-> Facebook and Matrix <-> Instagram hybrid puppeting/relaybot bridge"; - - dataDir = lib.mkOption { - type = lib.types.str; - default = metaName name; - description = '' - Path to the directory with database, registration, and other data for the bridge service. - This path is relative to `/var/lib`, it cannot start with `../` (it cannot be outside of `/var/lib`). - ''; - }; - - registrationFile = lib.mkOption { - type = lib.types.path; - readOnly = true; - description = '' - Path to the yaml registration file of the appservice. - ''; - }; - - registerToSynapse = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Whether to add registration file to `services.matrix-synapse.settings.app_service_config_files` and - make Synapse wait for registration service. - ''; - }; - - settings = lib.mkOption rec { - apply = lib.recursiveUpdate default; - inherit (settingsFormat) type; - default = { - homeserver = { - software = "standard"; - - domain = ""; - address = ""; + type = lib.types.attrsOf ( + lib.types.submodule ( + { config, name, ... }: + { + + options = { + + enable = lib.mkEnableOption "Mautrix-Meta, a Matrix <-> Facebook and Matrix <-> Instagram hybrid puppeting/relaybot bridge"; + + dataDir = lib.mkOption { + type = lib.types.str; + default = metaName name; + description = '' + Path to the directory with database, registration, and other data for the bridge service. + This path is relative to `/var/lib`, it cannot start with `../` (it cannot be outside of `/var/lib`). + ''; }; - appservice = { - id = ""; - - bot = { - username = ""; - }; - - hostname = "localhost"; - port = 29319; - address = "http://${config.settings.appservice.hostname}:${toString config.settings.appservice.port}"; + registrationFile = lib.mkOption { + type = lib.types.path; + readOnly = true; + description = '' + Path to the yaml registration file of the appservice. + ''; }; - bridge = { - permissions = {}; + registerToSynapse = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether to add registration file to `services.matrix-synapse.settings.app_service_config_files` and + make Synapse wait for registration service. + ''; }; - database = { - type = "sqlite3-fk-wal"; - uri = "file:${fullDataDir config}/mautrix-meta.db?_txlock=immediate"; - }; + settings = lib.mkOption rec { + apply = lib.recursiveUpdate default; + inherit (settingsFormat) type; + default = { + homeserver = { + software = "standard"; - # Enable encryption by default to make the bridge more secure - encryption = { - allow = true; - default = true; - require = true; - - # Recommended options from mautrix documentation - # for additional security. - delete_keys = { - dont_store_outbound = true; - ratchet_on_decrypt = true; - delete_fully_used_on_decrypt = true; - delete_prev_on_new_session = true; - delete_on_device_delete = true; - periodically_delete_expired = true; - delete_outdated_inbound = true; - }; + domain = ""; + address = ""; + }; - # TODO: This effectively disables encryption. But this is the value provided when a <0.4 config is migrated. Changing it will corrupt the database. - # https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L24 - # If you wish to encrypt the local database you should set this to an environment variable substitution and reset the bridge or somehow migrate the DB. - pickle_key = "mautrix.bridge.e2ee"; + appservice = { + id = ""; - verification_levels = { - receive = "cross-signed-tofu"; - send = "cross-signed-tofu"; - share = "cross-signed-tofu"; - }; - }; + bot = { + username = ""; + }; - logging = { - min_level = "info"; - writers = lib.singleton { - type = "stdout"; - format = "pretty-colored"; - time_format = " "; - }; - }; - - network = { - mode = ""; - }; - }; - defaultText = '' - { - homeserver = { - software = "standard"; - address = "https://''${config.settings.homeserver.domain}"; - }; + hostname = "localhost"; + port = 29319; + address = "http://${config.settings.appservice.hostname}:${toString config.settings.appservice.port}"; + }; - appservice = { - database = { - type = "sqlite3-fk-wal"; - uri = "file:''${fullDataDir config}/mautrix-meta.db?_txlock=immediate"; - }; + bridge = { + permissions = { }; + }; - hostname = "localhost"; - port = 29319; - address = "http://''${config.settings.appservice.hostname}:''${toString config.settings.appservice.port}"; - }; + database = { + type = "sqlite3-fk-wal"; + uri = "file:${fullDataDir config}/mautrix-meta.db?_txlock=immediate"; + }; - bridge = { - # Require encryption by default to make the bridge more secure - encryption = { - allow = true; - default = true; - require = true; - - # Recommended options from mautrix documentation - # for optimal security. - delete_keys = { - dont_store_outbound = true; - ratchet_on_decrypt = true; - delete_fully_used_on_decrypt = true; - delete_prev_on_new_session = true; - delete_on_device_delete = true; - periodically_delete_expired = true; - delete_outdated_inbound = true; + # Enable encryption by default to make the bridge more secure + encryption = { + allow = true; + default = true; + require = true; + + # Recommended options from mautrix documentation + # for additional security. + delete_keys = { + dont_store_outbound = true; + ratchet_on_decrypt = true; + delete_fully_used_on_decrypt = true; + delete_prev_on_new_session = true; + delete_on_device_delete = true; + periodically_delete_expired = true; + delete_outdated_inbound = true; + }; + + # TODO: This effectively disables encryption. But this is the value provided when a <0.4 config is migrated. Changing it will corrupt the database. + # https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L24 + # If you wish to encrypt the local database you should set this to an environment variable substitution and reset the bridge or somehow migrate the DB. + pickle_key = "mautrix.bridge.e2ee"; + + verification_levels = { + receive = "cross-signed-tofu"; + send = "cross-signed-tofu"; + share = "cross-signed-tofu"; + }; }; - verification_levels = { - receive = "cross-signed-tofu"; - send = "cross-signed-tofu"; - share = "cross-signed-tofu"; + logging = { + min_level = "info"; + writers = lib.singleton { + type = "stdout"; + format = "pretty-colored"; + time_format = " "; + }; }; - }; - }; - logging = { - min_level = "info"; - writers = lib.singleton { - type = "stdout"; - format = "pretty-colored"; - time_format = " "; + network = { + mode = ""; + }; }; + defaultText = '' + { + homeserver = { + software = "standard"; + address = "https://''${config.settings.homeserver.domain}"; + }; + + appservice = { + database = { + type = "sqlite3-fk-wal"; + uri = "file:''${fullDataDir config}/mautrix-meta.db?_txlock=immediate"; + }; + + hostname = "localhost"; + port = 29319; + address = "http://''${config.settings.appservice.hostname}:''${toString config.settings.appservice.port}"; + }; + + bridge = { + # Require encryption by default to make the bridge more secure + encryption = { + allow = true; + default = true; + require = true; + + # Recommended options from mautrix documentation + # for optimal security. + delete_keys = { + dont_store_outbound = true; + ratchet_on_decrypt = true; + delete_fully_used_on_decrypt = true; + delete_prev_on_new_session = true; + delete_on_device_delete = true; + periodically_delete_expired = true; + delete_outdated_inbound = true; + }; + + verification_levels = { + receive = "cross-signed-tofu"; + send = "cross-signed-tofu"; + share = "cross-signed-tofu"; + }; + }; + }; + + logging = { + min_level = "info"; + writers = lib.singleton { + type = "stdout"; + format = "pretty-colored"; + time_format = " "; + }; + }; + }; + ''; + description = '' + {file}`config.yaml` configuration as a Nix attribute set. + Configuration options should match those described in + [example-config.yaml](https://github.com/mautrix/meta/blob/main/example-config.yaml). + + Secret tokens should be specified using {option}`environmentFile` + instead + ''; }; - }; - ''; - description = '' - {file}`config.yaml` configuration as a Nix attribute set. - Configuration options should match those described in - [example-config.yaml](https://github.com/mautrix/meta/blob/main/example-config.yaml). - - Secret tokens should be specified using {option}`environmentFile` - instead - ''; - }; - environmentFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = '' - File containing environment variables to substitute when copying the configuration - out of Nix store to the `services.mautrix-meta.dataDir`. + environmentFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + File containing environment variables to substitute when copying the configuration + out of Nix store to the `services.mautrix-meta.dataDir`. - Can be used for storing the secrets without making them available in the Nix store. + Can be used for storing the secrets without making them available in the Nix store. - For example, you can set `services.mautrix-meta.settings.appservice.as_token = "$MAUTRIX_META_APPSERVICE_AS_TOKEN"` - and then specify `MAUTRIX_META_APPSERVICE_AS_TOKEN="{token}"` in the environment file. - This value will get substituted into the configuration file as as token. - ''; - }; + For example, you can set `services.mautrix-meta.settings.appservice.as_token = "$MAUTRIX_META_APPSERVICE_AS_TOKEN"` + and then specify `MAUTRIX_META_APPSERVICE_AS_TOKEN="{token}"` in the environment file. + This value will get substituted into the configuration file as as token. + ''; + }; - serviceDependencies = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = - [ config.registrationServiceUnit ] ++ - (lib.lists.optional upperConfig.services.matrix-synapse.enable upperConfig.services.matrix-synapse.serviceUnit) ++ - (lib.lists.optional upperConfig.services.matrix-conduit.enable "matrix-conduit.service") ++ - (lib.lists.optional upperConfig.services.dendrite.enable "dendrite.service"); - - defaultText = '' - [ config.registrationServiceUnit ] ++ - (lib.lists.optional upperConfig.services.matrix-synapse.enable upperConfig.services.matrix-synapse.serviceUnit) ++ - (lib.lists.optional upperConfig.services.matrix-conduit.enable "matrix-conduit.service") ++ - (lib.lists.optional upperConfig.services.dendrite.enable "dendrite.service"); - ''; - description = '' - List of Systemd services to require and wait for when starting the application service. - ''; - }; + serviceDependencies = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = + [ config.registrationServiceUnit ] + ++ (lib.lists.optional upperConfig.services.matrix-synapse.enable upperConfig.services.matrix-synapse.serviceUnit) + ++ (lib.lists.optional upperConfig.services.matrix-conduit.enable "matrix-conduit.service") + ++ (lib.lists.optional upperConfig.services.dendrite.enable "dendrite.service"); + + defaultText = '' + [ config.registrationServiceUnit ] ++ + (lib.lists.optional upperConfig.services.matrix-synapse.enable upperConfig.services.matrix-synapse.serviceUnit) ++ + (lib.lists.optional upperConfig.services.matrix-conduit.enable "matrix-conduit.service") ++ + (lib.lists.optional upperConfig.services.dendrite.enable "dendrite.service"); + ''; + description = '' + List of Systemd services to require and wait for when starting the application service. + ''; + }; - serviceUnit = lib.mkOption { - type = lib.types.str; - readOnly = true; - description = '' - The systemd unit (a service or a target) for other services to depend on if they - need to be started after matrix-synapse. + serviceUnit = lib.mkOption { + type = lib.types.str; + readOnly = true; + description = '' + The systemd unit (a service or a target) for other services to depend on if they + need to be started after matrix-synapse. - This option is useful as the actual parent unit for all matrix-synapse processes - changes when configuring workers. - ''; - }; + This option is useful as the actual parent unit for all matrix-synapse processes + changes when configuring workers. + ''; + }; - registrationServiceUnit = lib.mkOption { - type = lib.types.str; - readOnly = true; - description = '' - The registration service that generates the registration file. + registrationServiceUnit = lib.mkOption { + type = lib.types.str; + readOnly = true; + description = '' + The registration service that generates the registration file. - Systemd unit (a service or a target) for other services to depend on if they - need to be started after mautrix-meta registration service. + Systemd unit (a service or a target) for other services to depend on if they + need to be started after mautrix-meta registration service. - This option is useful as the actual parent unit for all matrix-synapse processes - changes when configuring workers. - ''; - }; - }; + This option is useful as the actual parent unit for all matrix-synapse processes + changes when configuring workers. + ''; + }; + }; - config = { - serviceUnit = (metaName name) + ".service"; - registrationServiceUnit = (metaName name) + "-registration.service"; - registrationFile = (fullDataDir config) + "/meta-registration.yaml"; - }; - })); + config = { + serviceUnit = (metaName name) + ".service"; + registrationServiceUnit = (metaName name) + "-registration.service"; + registrationFile = (fullDataDir config) + "/meta-registration.yaml"; + }; + } + ) + ); description = '' Configuration of multiple `mautrix-meta` instances. @@ -307,271 +322,299 @@ in { }; config = lib.mkMerge [ - (lib.mkIf (enabledInstances != {}) { - assertions = lib.mkMerge (lib.attrValues (lib.mapAttrs (name: cfg: [ - { - assertion = cfg.settings.homeserver.domain != "" && cfg.settings.homeserver.address != ""; - message = '' - The options with information about the homeserver: - `services.mautrix-meta.instances.${name}.settings.homeserver.domain` and - `services.mautrix-meta.instances.${name}.settings.homeserver.address` have to be set. - ''; - } - { - assertion = builtins.elem cfg.settings.network.mode [ "facebook" "facebook-tor" "messenger" "instagram" ]; - message = '' - The option `services.mautrix-meta.instances.${name}.settings.network.mode` has to be set - to one of: facebook, facebook-tor, messenger, instagram. - This configures the mode of the bridge. - ''; - } - { - assertion = cfg.settings.bridge.permissions != {}; - message = '' - The option `services.mautrix-meta.instances.${name}.settings.bridge.permissions` has to be set. - ''; - } - { - assertion = cfg.settings.appservice.id != ""; - message = '' - The option `services.mautrix-meta.instances.${name}.settings.appservice.id` has to be set. - ''; - } - { - assertion = cfg.settings.appservice.bot.username != ""; - message = '' - The option `services.mautrix-meta.instances.${name}.settings.appservice.bot.username` has to be set. - ''; - } - { - assertion = !(cfg.settings ? bridge.disable_xma); - message = '' - The option `bridge.disable_xma` has been moved to `network.disable_xma_always`. Please [migrate your configuration](https://github.com/mautrix/meta/releases/tag/v0.4.0). You may wish to use [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) for reference. - ''; - } - { - assertion = !(cfg.settings ? bridge.displayname_template); - message = '' - The option `bridge.displayname_template` has been moved to `network.displayname_template`. Please [migrate your configuration](https://github.com/mautrix/meta/releases/tag/v0.4.0). You may wish to use [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) for reference. - ''; - } - { - assertion = !(cfg.settings ? meta); - message = '' - The options in `meta` have been moved to `network`. Please [migrate your configuration](https://github.com/mautrix/meta/releases/tag/v0.4.0). You may wish to use [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) for reference. - ''; + (lib.mkIf (enabledInstances != { }) { + assertions = lib.mkMerge ( + lib.attrValues ( + lib.mapAttrs (name: cfg: [ + { + assertion = cfg.settings.homeserver.domain != "" && cfg.settings.homeserver.address != ""; + message = '' + The options with information about the homeserver: + `services.mautrix-meta.instances.${name}.settings.homeserver.domain` and + `services.mautrix-meta.instances.${name}.settings.homeserver.address` have to be set. + ''; + } + { + assertion = builtins.elem cfg.settings.network.mode [ + "facebook" + "facebook-tor" + "messenger" + "instagram" + ]; + message = '' + The option `services.mautrix-meta.instances.${name}.settings.network.mode` has to be set + to one of: facebook, facebook-tor, messenger, instagram. + This configures the mode of the bridge. + ''; + } + { + assertion = cfg.settings.bridge.permissions != { }; + message = '' + The option `services.mautrix-meta.instances.${name}.settings.bridge.permissions` has to be set. + ''; + } + { + assertion = cfg.settings.appservice.id != ""; + message = '' + The option `services.mautrix-meta.instances.${name}.settings.appservice.id` has to be set. + ''; + } + { + assertion = cfg.settings.appservice.bot.username != ""; + message = '' + The option `services.mautrix-meta.instances.${name}.settings.appservice.bot.username` has to be set. + ''; + } + { + assertion = !(cfg.settings ? bridge.disable_xma); + message = '' + The option `bridge.disable_xma` has been moved to `network.disable_xma_always`. Please [migrate your configuration](https://github.com/mautrix/meta/releases/tag/v0.4.0). You may wish to use [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) for reference. + ''; + } + { + assertion = !(cfg.settings ? bridge.displayname_template); + message = '' + The option `bridge.displayname_template` has been moved to `network.displayname_template`. Please [migrate your configuration](https://github.com/mautrix/meta/releases/tag/v0.4.0). You may wish to use [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) for reference. + ''; + } + { + assertion = !(cfg.settings ? meta); + message = '' + The options in `meta` have been moved to `network`. Please [migrate your configuration](https://github.com/mautrix/meta/releases/tag/v0.4.0). You may wish to use [the auto-migration code](https://github.com/mautrix/meta/blob/f5440b05aac125b4c95b1af85635a717cbc6dd0e/cmd/mautrix-meta/legacymigrate.go#L23) for reference. + ''; + } + ]) enabledInstances + ) + ); + + users.users = lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "mautrix-meta-${name}" { + isSystemUser = true; + group = "mautrix-meta"; + extraGroups = [ "mautrix-meta-registration" ]; + description = "Mautrix-Meta-${name} bridge user"; } - ]) enabledInstances)); - - users.users = lib.mapAttrs' (name: cfg: lib.nameValuePair "mautrix-meta-${name}" { - isSystemUser = true; - group = "mautrix-meta"; - extraGroups = [ "mautrix-meta-registration" ]; - description = "Mautrix-Meta-${name} bridge user"; - }) enabledInstances; + ) enabledInstances; - users.groups.mautrix-meta = {}; + users.groups.mautrix-meta = { }; users.groups.mautrix-meta-registration = { members = lib.lists.optional config.services.matrix-synapse.enable "matrix-synapse"; }; - services.matrix-synapse = lib.mkIf (config.services.matrix-synapse.enable) (let - registrationFiles = lib.attrValues - (lib.mapAttrs (name: cfg: cfg.registrationFile) registerToSynapseInstances); - in { - settings.app_service_config_files = registrationFiles; - }); + services.matrix-synapse = lib.mkIf (config.services.matrix-synapse.enable) ( + let + registrationFiles = lib.attrValues ( + lib.mapAttrs (name: cfg: cfg.registrationFile) registerToSynapseInstances + ); + in + { + settings.app_service_config_files = registrationFiles; + } + ); systemd.services = lib.mkMerge [ { - matrix-synapse = lib.mkIf (config.services.matrix-synapse.enable) (let - registrationServices = lib.attrValues - (lib.mapAttrs (name: cfg: cfg.registrationServiceUnit) registerToSynapseInstances); - in { - wants = registrationServices; - after = registrationServices; - }); + matrix-synapse = lib.mkIf (config.services.matrix-synapse.enable) ( + let + registrationServices = lib.attrValues ( + lib.mapAttrs (name: cfg: cfg.registrationServiceUnit) registerToSynapseInstances + ); + in + { + wants = registrationServices; + after = registrationServices; + } + ); } - (lib.mapAttrs' (name: cfg: lib.nameValuePair "${metaName name}-registration" { - description = "Mautrix-Meta registration generation service - ${metaName name}"; - - path = [ - pkgs.yq - pkgs.envsubst - upperCfg.package - ]; - - script = '' - # substitute the settings file by environment variables - # in this case read from EnvironmentFile - rm -f '${settingsFile cfg}' - old_umask=$(umask) - umask 0177 - envsubst \ - -o '${settingsFile cfg}' \ - -i '${settingsFileUnsubstituted cfg}' - - config_has_tokens=$(yq '.appservice | has("as_token") and has("hs_token")' '${settingsFile cfg}') - registration_already_exists=$([[ -f '${cfg.registrationFile}' ]] && echo "true" || echo "false") - - echo "There are tokens in the config: $config_has_tokens" - echo "Registration already existed: $registration_already_exists" - - # tokens not configured from config/environment file, and registration file - # is already generated, override tokens in config to make sure they are not lost - if [[ $config_has_tokens == "false" && $registration_already_exists == "true" ]]; then - echo "Copying as_token, hs_token from registration into configuration" - yq -sY '.[0].appservice.as_token = .[1].as_token - | .[0].appservice.hs_token = .[1].hs_token - | .[0]' '${settingsFile cfg}' '${cfg.registrationFile}' \ - > '${settingsFile cfg}.tmp' - mv '${settingsFile cfg}.tmp' '${settingsFile cfg}' - fi - - # make sure --generate-registration does not affect config.yaml - cp '${settingsFile cfg}' '${settingsFile cfg}.tmp' - - echo "Generating registration file" - mautrix-meta \ - --generate-registration \ - --config='${settingsFile cfg}.tmp' \ - --registration='${cfg.registrationFile}' - - rm '${settingsFile cfg}.tmp' - - # no tokens configured, and new were just generated by generate registration for first time - if [[ $config_has_tokens == "false" && $registration_already_exists == "false" ]]; then - echo "Copying newly generated as_token, hs_token from registration into configuration" - yq -sY '.[0].appservice.as_token = .[1].as_token - | .[0].appservice.hs_token = .[1].hs_token - | .[0]' '${settingsFile cfg}' '${cfg.registrationFile}' \ - > '${settingsFile cfg}.tmp' - mv '${settingsFile cfg}.tmp' '${settingsFile cfg}' - fi - - # Make sure correct tokens are in the registration file - if [[ $config_has_tokens == "true" || $registration_already_exists == "true" ]]; then - echo "Copying as_token, hs_token from configuration to the registration file" - yq -sY '.[1].as_token = .[0].appservice.as_token - | .[1].hs_token = .[0].appservice.hs_token - | .[1]' '${settingsFile cfg}' '${cfg.registrationFile}' \ - > '${cfg.registrationFile}.tmp' - mv '${cfg.registrationFile}.tmp' '${cfg.registrationFile}' - fi - - umask $old_umask - - chown :mautrix-meta-registration '${cfg.registrationFile}' - chmod 640 '${cfg.registrationFile}' - ''; - - serviceConfig = { - Type = "oneshot"; - UMask = 0027; - - User = "mautrix-meta-${name}"; - Group = "mautrix-meta"; - - SystemCallFilter = [ "@system-service" ]; - - ProtectSystem = "strict"; - ProtectHome = true; - - ReadWritePaths = fullDataDir cfg; - StateDirectory = cfg.dataDir; - EnvironmentFile = cfg.environmentFile; - }; + (lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "${metaName name}-registration" { + description = "Mautrix-Meta registration generation service - ${metaName name}"; - restartTriggers = [ (settingsFileUnsubstituted cfg) ]; - }) enabledInstances) - - (lib.mapAttrs' (name: cfg: lib.nameValuePair "${metaName name}" { - description = "Mautrix-Meta bridge - ${metaName name}"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ] ++ cfg.serviceDependencies; - after = [ "network-online.target" ] ++ cfg.serviceDependencies; - - serviceConfig = { - Type = "simple"; - - User = "mautrix-meta-${name}"; - Group = "mautrix-meta"; - PrivateUsers = true; - - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectSystem = "strict"; - Restart = "on-failure"; - RestartSec = "30s"; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallErrorNumber = "EPERM"; - SystemCallFilter = ["@system-service"]; - UMask = 0027; - - WorkingDirectory = fullDataDir cfg; - ReadWritePaths = fullDataDir cfg; - StateDirectory = cfg.dataDir; - EnvironmentFile = cfg.environmentFile; - - ExecStart = lib.escapeShellArgs [ - (lib.getExe upperCfg.package) - "--config=${settingsFile cfg}" + path = [ + pkgs.yq + pkgs.envsubst + upperCfg.package ]; - }; - restartTriggers = [ (settingsFileUnsubstituted cfg) ]; - }) enabledInstances) + + script = '' + # substitute the settings file by environment variables + # in this case read from EnvironmentFile + rm -f '${settingsFile cfg}' + old_umask=$(umask) + umask 0177 + envsubst \ + -o '${settingsFile cfg}' \ + -i '${settingsFileUnsubstituted cfg}' + + config_has_tokens=$(yq '.appservice | has("as_token") and has("hs_token")' '${settingsFile cfg}') + registration_already_exists=$([[ -f '${cfg.registrationFile}' ]] && echo "true" || echo "false") + + echo "There are tokens in the config: $config_has_tokens" + echo "Registration already existed: $registration_already_exists" + + # tokens not configured from config/environment file, and registration file + # is already generated, override tokens in config to make sure they are not lost + if [[ $config_has_tokens == "false" && $registration_already_exists == "true" ]]; then + echo "Copying as_token, hs_token from registration into configuration" + yq -sY '.[0].appservice.as_token = .[1].as_token + | .[0].appservice.hs_token = .[1].hs_token + | .[0]' '${settingsFile cfg}' '${cfg.registrationFile}' \ + > '${settingsFile cfg}.tmp' + mv '${settingsFile cfg}.tmp' '${settingsFile cfg}' + fi + + # make sure --generate-registration does not affect config.yaml + cp '${settingsFile cfg}' '${settingsFile cfg}.tmp' + + echo "Generating registration file" + mautrix-meta \ + --generate-registration \ + --config='${settingsFile cfg}.tmp' \ + --registration='${cfg.registrationFile}' + + rm '${settingsFile cfg}.tmp' + + # no tokens configured, and new were just generated by generate registration for first time + if [[ $config_has_tokens == "false" && $registration_already_exists == "false" ]]; then + echo "Copying newly generated as_token, hs_token from registration into configuration" + yq -sY '.[0].appservice.as_token = .[1].as_token + | .[0].appservice.hs_token = .[1].hs_token + | .[0]' '${settingsFile cfg}' '${cfg.registrationFile}' \ + > '${settingsFile cfg}.tmp' + mv '${settingsFile cfg}.tmp' '${settingsFile cfg}' + fi + + # Make sure correct tokens are in the registration file + if [[ $config_has_tokens == "true" || $registration_already_exists == "true" ]]; then + echo "Copying as_token, hs_token from configuration to the registration file" + yq -sY '.[1].as_token = .[0].appservice.as_token + | .[1].hs_token = .[0].appservice.hs_token + | .[1]' '${settingsFile cfg}' '${cfg.registrationFile}' \ + > '${cfg.registrationFile}.tmp' + mv '${cfg.registrationFile}.tmp' '${cfg.registrationFile}' + fi + + umask $old_umask + + chown :mautrix-meta-registration '${cfg.registrationFile}' + chmod 640 '${cfg.registrationFile}' + ''; + + serviceConfig = { + Type = "oneshot"; + UMask = 27; + + User = "mautrix-meta-${name}"; + Group = "mautrix-meta"; + + SystemCallFilter = [ "@system-service" ]; + + ProtectSystem = "strict"; + ProtectHome = true; + + ReadWritePaths = fullDataDir cfg; + StateDirectory = cfg.dataDir; + EnvironmentFile = cfg.environmentFile; + }; + + restartTriggers = [ (settingsFileUnsubstituted cfg) ]; + } + ) enabledInstances) + + (lib.mapAttrs' ( + name: cfg: + lib.nameValuePair "${metaName name}" { + description = "Mautrix-Meta bridge - ${metaName name}"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ] ++ cfg.serviceDependencies; + after = [ "network-online.target" ] ++ cfg.serviceDependencies; + + serviceConfig = { + Type = "simple"; + + User = "mautrix-meta-${name}"; + Group = "mautrix-meta"; + PrivateUsers = true; + + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectSystem = "strict"; + Restart = "on-failure"; + RestartSec = "30s"; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallErrorNumber = "EPERM"; + SystemCallFilter = [ "@system-service" ]; + UMask = 27; + + WorkingDirectory = fullDataDir cfg; + ReadWritePaths = fullDataDir cfg; + StateDirectory = cfg.dataDir; + EnvironmentFile = cfg.environmentFile; + + ExecStart = lib.escapeShellArgs [ + (lib.getExe upperCfg.package) + "--config=${settingsFile cfg}" + ]; + }; + restartTriggers = [ (settingsFileUnsubstituted cfg) ]; + } + ) enabledInstances) ]; }) { - services.mautrix-meta.instances = let - inherit (lib.modules) mkDefault; - in { - instagram = { - settings = { - network.mode = mkDefault "instagram"; - - appservice = { - id = mkDefault "instagram"; - port = mkDefault 29320; - bot = { - username = mkDefault "instagrambot"; - displayname = mkDefault "Instagram bridge bot"; - avatar = mkDefault "mxc://maunium.net/JxjlbZUlCPULEeHZSwleUXQv"; + services.mautrix-meta.instances = + let + inherit (lib.modules) mkDefault; + in + { + instagram = { + settings = { + network.mode = mkDefault "instagram"; + + appservice = { + id = mkDefault "instagram"; + port = mkDefault 29320; + bot = { + username = mkDefault "instagrambot"; + displayname = mkDefault "Instagram bridge bot"; + avatar = mkDefault "mxc://maunium.net/JxjlbZUlCPULEeHZSwleUXQv"; + }; + username_template = mkDefault "instagram_{{.}}"; }; - username_template = mkDefault "instagram_{{.}}"; }; }; - }; - facebook = { - settings = { - network.mode = mkDefault "facebook"; - - appservice = { - id = mkDefault "facebook"; - port = mkDefault 29321; - bot = { - username = mkDefault "facebookbot"; - displayname = mkDefault "Facebook bridge bot"; - avatar = mkDefault "mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak"; + facebook = { + settings = { + network.mode = mkDefault "facebook"; + + appservice = { + id = mkDefault "facebook"; + port = mkDefault 29321; + bot = { + username = mkDefault "facebookbot"; + displayname = mkDefault "Facebook bridge bot"; + avatar = mkDefault "mxc://maunium.net/ygtkteZsXnGJLJHRchUwYWak"; + }; + username_template = mkDefault "facebook_{{.}}"; }; - username_template = mkDefault "facebook_{{.}}"; }; }; }; - }; } ]; diff --git a/nixos/modules/services/matrix/mautrix-telegram.nix b/nixos/modules/services/matrix/mautrix-telegram.nix index 699f5dfa0a2b4..0dd0636bf6f01 100644 --- a/nixos/modules/services/matrix/mautrix-telegram.nix +++ b/nixos/modules/services/matrix/mautrix-telegram.nix @@ -1,13 +1,18 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let dataDir = "/var/lib/mautrix-telegram"; registrationFile = "${dataDir}/telegram-registration.yaml"; cfg = config.services.mautrix-telegram; - settingsFormat = pkgs.formats.json {}; - settingsFile = - settingsFormat.generate "mautrix-telegram-config.json" cfg.settings; + settingsFormat = pkgs.formats.json { }; + settingsFile = settingsFormat.generate "mautrix-telegram-config.json" cfg.settings; -in { +in +{ options = { services.mautrix-telegram = { enable = lib.mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge"; @@ -22,7 +27,7 @@ in { appservice = rec { database = "sqlite:///${dataDir}/mautrix-telegram.db"; - database_opts = {}; + database_opts = { }; hostname = "0.0.0.0"; port = 8080; address = "http://localhost:${toString port}"; @@ -31,8 +36,8 @@ in { bridge = { permissions."*" = "relaybot"; relaybot.whitelist = [ ]; - double_puppet_server_map = {}; - login_shared_secret_map = {}; + double_puppet_server_map = { }; + login_shared_secret_map = { }; }; logging = { @@ -137,7 +142,10 @@ in { wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ] ++ cfg.serviceDependencies; after = [ "network-online.target" ] ++ cfg.serviceDependencies; - path = [ pkgs.lottieconverter pkgs.ffmpeg-headless ]; + path = [ + pkgs.lottieconverter + pkgs.ffmpeg-headless + ]; # mautrix-telegram tries to generate a dotfile in the home directory of # the running user if using a postgresql database: @@ -151,18 +159,20 @@ in { # RuntimeError: Could not determine home directory. environment.HOME = dataDir; - preStart = '' - # generate the appservice's registration file if absent - if [ ! -f '${registrationFile}' ]; then - ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ - --generate-registration \ - --config='${settingsFile}' \ - --registration='${registrationFile}' - fi - '' + lib.optionalString (pkgs.mautrix-telegram ? alembic) '' - # run automatic database init and migration scripts - ${pkgs.mautrix-telegram.alembic}/bin/alembic -x config='${settingsFile}' upgrade head - ''; + preStart = + '' + # generate the appservice's registration file if absent + if [ ! -f '${registrationFile}' ]; then + ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ + --generate-registration \ + --config='${settingsFile}' \ + --registration='${registrationFile}' + fi + '' + + lib.optionalString (pkgs.mautrix-telegram ? alembic) '' + # run automatic database init and migration scripts + ${pkgs.mautrix-telegram.alembic}/bin/alembic -x config='${settingsFile}' upgrade head + ''; serviceConfig = { Type = "simple"; @@ -189,5 +199,8 @@ in { }; }; - meta.maintainers = with lib.maintainers; [ pacien vskilet ]; + meta.maintainers = with lib.maintainers; [ + pacien + vskilet + ]; } diff --git a/nixos/modules/services/matrix/mx-puppet-discord.nix b/nixos/modules/services/matrix/mx-puppet-discord.nix index c6af1e3ff0222..b7425350d8bf2 100644 --- a/nixos/modules/services/matrix/mx-puppet-discord.nix +++ b/nixos/modules/services/matrix/mx-puppet-discord.nix @@ -1,12 +1,18 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let dataDir = "/var/lib/mx-puppet-discord"; registrationFile = "${dataDir}/discord-registration.yaml"; cfg = config.services.mx-puppet-discord; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; settingsFile = settingsFormat.generate "mx-puppet-discord-config.json" cfg.settings; -in { +in +{ options = { services.mx-puppet-discord = { enable = lib.mkEnableOption '' diff --git a/nixos/modules/services/matrix/pantalaimon-options.nix b/nixos/modules/services/matrix/pantalaimon-options.nix index b3a663f599312..8574409d4f114 100644 --- a/nixos/modules/services/matrix/pantalaimon-options.nix +++ b/nixos/modules/services/matrix/pantalaimon-options.nix @@ -1,4 +1,9 @@ -{ config, lib, name, ... }: +{ + config, + lib, + name, + ... +}: { options = { dataPath = lib.mkOption { @@ -10,7 +15,12 @@ }; logLevel = lib.mkOption { - type = lib.types.enum [ "info" "warning" "error" "debug" ]; + type = lib.types.enum [ + "info" + "warning" + "error" + "debug" + ]; default = "warning"; description = '' Set the log level of the daemon. diff --git a/nixos/modules/services/matrix/pantalaimon.nix b/nixos/modules/services/matrix/pantalaimon.nix index 28fcdcee973f2..120baab41fb05 100644 --- a/nixos/modules/services/matrix/pantalaimon.nix +++ b/nixos/modules/services/matrix/pantalaimon.nix @@ -1,31 +1,38 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.pantalaimon-headless; iniFmt = pkgs.formats.ini { }; - mkConfigFile = name: instanceConfig: iniFmt.generate "pantalaimon.conf" { - Default = { - LogLevel = instanceConfig.logLevel; - Notifications = false; - }; + mkConfigFile = + name: instanceConfig: + iniFmt.generate "pantalaimon.conf" { + Default = { + LogLevel = instanceConfig.logLevel; + Notifications = false; + }; - ${name} = (lib.recursiveUpdate - { - Homeserver = instanceConfig.homeserver; - ListenAddress = instanceConfig.listenAddress; - ListenPort = instanceConfig.listenPort; - SSL = instanceConfig.ssl; + ${name} = ( + lib.recursiveUpdate { + Homeserver = instanceConfig.homeserver; + ListenAddress = instanceConfig.listenAddress; + ListenPort = instanceConfig.listenPort; + SSL = instanceConfig.ssl; - # Set some settings to prevent user interaction for headless operation - IgnoreVerification = true; - UseKeyring = false; - } - instanceConfig.extraSettings - ); - }; + # Set some settings to prevent user interaction for headless operation + IgnoreVerification = true; + UseKeyring = false; + } instanceConfig.extraSettings + ); + }; - mkPantalaimonService = name: instanceConfig: + mkPantalaimonService = + name: instanceConfig: lib.nameValuePair "pantalaimon-${name}" { description = "pantalaimon instance ${name} - E2EE aware proxy daemon for matrix clients"; wants = [ "network-online.target" ]; @@ -57,10 +64,9 @@ in ''; }; - config = lib.mkIf (config.services.pantalaimon-headless.instances != { }) - { - systemd.services = lib.mapAttrs' mkPantalaimonService config.services.pantalaimon-headless.instances; - }; + config = lib.mkIf (config.services.pantalaimon-headless.instances != { }) { + systemd.services = lib.mapAttrs' mkPantalaimonService config.services.pantalaimon-headless.instances; + }; meta = { maintainers = with lib.maintainers; [ jojosch ]; diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix index 6d2e6201d66d3..2b0eb43605d8e 100644 --- a/nixos/modules/services/matrix/synapse.nix +++ b/nixos/modules/services/matrix/synapse.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -6,7 +12,8 @@ let cfg = config.services.matrix-synapse; format = pkgs.formats.yaml { }; - filterRecursiveNull = o: + filterRecursiveNull = + o: if isAttrs o then mapAttrs (_: v: filterRecursiveNull v) (filterAttrs (_: v: v != null) o) else if isList o then @@ -19,20 +26,29 @@ let configFile = format.generate "homeserver.yaml" finalSettings; usePostgresql = cfg.settings.database.name == "psycopg2"; - hasLocalPostgresDB = let args = cfg.settings.database.args; in + hasLocalPostgresDB = + let + args = cfg.settings.database.args; + in usePostgresql - && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ])) + && ( + !(args ? host) + || (elem args.host [ + "localhost" + "127.0.0.1" + "::1" + ]) + ) && config.services.postgresql.enable; hasWorkers = cfg.workers != { }; - listenerSupportsResource = resource: listener: - lib.any ({ names, ... }: builtins.elem resource names) listener.resources; + listenerSupportsResource = + resource: listener: lib.any ({ names, ... }: builtins.elem resource names) listener.resources; - clientListener = findFirst - (listenerSupportsResource "client") - null - (cfg.settings.listeners - ++ concatMap ({ worker_listeners, ... }: worker_listeners) (attrValues cfg.workers)); + clientListener = findFirst (listenerSupportsResource "client") null ( + cfg.settings.listeners + ++ concatMap ({ worker_listeners, ... }: worker_listeners) (attrValues cfg.workers) + ); registerNewMatrixUser = let @@ -40,20 +56,17 @@ let # add a tail, so that without any bind_addresses we still have a useable address bindAddress = head (clientListener.bind_addresses ++ [ "127.0.0.1" ]); - listenerProtocol = if clientListener.tls - then "https" - else "http"; + listenerProtocol = if clientListener.tls then "https" else "http"; in - assert assertMsg (clientListener != null) "No client listener found in synapse or one of its workers"; + assert assertMsg ( + clientListener != null + ) "No client listener found in synapse or one of its workers"; pkgs.writeShellScriptBin "matrix-synapse-register_new_matrix_user" '' exec ${cfg.package}/bin/register_new_matrix_user \ $@ \ ${lib.concatMapStringsSep " " (x: "-c ${x}") ([ configFile ] ++ cfg.extraConfigFiles)} \ "${listenerProtocol}://${ - if (isIpv6 bindAddress) then - "[${bindAddress}]" - else - "${bindAddress}" + if (isIpv6 bindAddress) then "[${bindAddress}]" else "${bindAddress}" }:${builtins.toString clientListener.port}/" ''; @@ -64,7 +77,8 @@ let "user-search" ]; - wantedExtras = cfg.extras + wantedExtras = + cfg.extras ++ lib.optional (cfg.settings ? oidc_providers) "oidc" ++ lib.optional (cfg.settings ? jwt_config) "jwt" ++ lib.optional (cfg.settings ? saml2_config) "saml2" @@ -95,7 +109,8 @@ let defaultCommonLogConfigText = generators.toPretty { } defaultCommonLogConfig; - logConfigText = logName: + logConfigText = + logName: lib.literalMD '' Path to a yaml file generated from this Nix expression: @@ -106,27 +121,28 @@ let ``` ''; - genLogConfigFile = logName: format.generate - "synapse-log-${logName}.yaml" - (cfg.log // optionalAttrs (cfg.log?handlers.journal) { - handlers.journal = cfg.log.handlers.journal // { - SYSLOG_IDENTIFIER = logName; - }; - }); + genLogConfigFile = + logName: + format.generate "synapse-log-${logName}.yaml" ( + cfg.log + // optionalAttrs (cfg.log ? handlers.journal) { + handlers.journal = cfg.log.handlers.journal // { + SYSLOG_IDENTIFIER = logName; + }; + } + ); - toIntBase8 = str: + toIntBase8 = + str: lib.pipe str [ lib.stringToCharacters (map lib.toInt) (lib.foldl (acc: digit: acc * 8 + digit) 0) ]; - toDecimalFilePermission = value: - if value == null then - null - else - toIntBase8 value; -in { + toDecimalFilePermission = value: if value == null then null else toIntBase8 value; +in +{ imports = [ @@ -147,1015 +163,1258 @@ in { '') # options that don't exist in synapse anymore - (mkRemovedOptionModule [ "services" "matrix-synapse" "bind_host" ] "Use listener settings instead." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "bind_port" ] "Use listener settings instead." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "expire_access_tokens" ] "" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "no_tls" ] "It is no longer supported by synapse." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "tls_dh_param_path" ] "It was removed from synapse." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "unsecure_port" ] "Use settings.listeners instead." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "user_creation_max_duration" ] "It is no longer supported by synapse." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "verbose" ] "Use a log config instead." ) + (mkRemovedOptionModule [ "services" "matrix-synapse" "bind_host" ] "Use listener settings instead.") + (mkRemovedOptionModule [ "services" "matrix-synapse" "bind_port" ] "Use listener settings instead.") + (mkRemovedOptionModule [ "services" "matrix-synapse" "expire_access_tokens" ] "") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "no_tls" + ] "It is no longer supported by synapse.") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "tls_dh_param_path" + ] "It was removed from synapse.") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "unsecure_port" + ] "Use settings.listeners instead.") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "user_creation_max_duration" + ] "It is no longer supported by synapse.") + (mkRemovedOptionModule [ "services" "matrix-synapse" "verbose" ] "Use a log config instead.") # options that were moved into rfc42 style settings - (mkRemovedOptionModule [ "services" "matrix-synapse" "app_service_config_files" ] "Use settings.app_service_config_files instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "database_args" ] "Use settings.database.args instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "database_name" ] "Use settings.database.args.database instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "database_type" ] "Use settings.database.name instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "database_user" ] "Use settings.database.args.user instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "dynamic_thumbnails" ] "Use settings.dynamic_thumbnails instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "enable_metrics" ] "Use settings.enable_metrics instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "enable_registration" ] "Use settings.enable_registration instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "extraConfig" ] "Use settings instead." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "listeners" ] "Use settings.listeners instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "logConfig" ] "Use settings.log_config instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "max_image_pixels" ] "Use settings.max_image_pixels instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "max_upload_size" ] "Use settings.max_upload_size instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "presence" "enabled" ] "Use settings.presence.enabled instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "public_baseurl" ] "Use settings.public_baseurl instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "report_stats" ] "Use settings.report_stats instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "server_name" ] "Use settings.server_name instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "servers" ] "Use settings.trusted_key_servers instead." ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "tls_certificate_path" ] "Use settings.tls_certificate_path instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "tls_private_key_path" ] "Use settings.tls_private_key_path instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "turn_shared_secret" ] "Use settings.turn_shared_secret instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "turn_uris" ] "Use settings.turn_uris instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "turn_user_lifetime" ] "Use settings.turn_user_lifetime instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "url_preview_enabled" ] "Use settings.url_preview_enabled instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "url_preview_ip_range_blacklist" ] "Use settings.url_preview_ip_range_blacklist instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "url_preview_ip_range_whitelist" ] "Use settings.url_preview_ip_range_whitelist instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "url_preview_url_blacklist" ] "Use settings.url_preview_url_blacklist instead" ) + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "app_service_config_files" + ] "Use settings.app_service_config_files instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "database_args" + ] "Use settings.database.args instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "database_name" + ] "Use settings.database.args.database instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "database_type" + ] "Use settings.database.name instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "database_user" + ] "Use settings.database.args.user instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "dynamic_thumbnails" + ] "Use settings.dynamic_thumbnails instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "enable_metrics" + ] "Use settings.enable_metrics instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "enable_registration" + ] "Use settings.enable_registration instead") + (mkRemovedOptionModule [ "services" "matrix-synapse" "extraConfig" ] "Use settings instead.") + (mkRemovedOptionModule [ "services" "matrix-synapse" "listeners" ] "Use settings.listeners instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "logConfig" + ] "Use settings.log_config instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "max_image_pixels" + ] "Use settings.max_image_pixels instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "max_upload_size" + ] "Use settings.max_upload_size instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "presence" + "enabled" + ] "Use settings.presence.enabled instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "public_baseurl" + ] "Use settings.public_baseurl instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "report_stats" + ] "Use settings.report_stats instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "server_name" + ] "Use settings.server_name instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "servers" + ] "Use settings.trusted_key_servers instead.") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "tls_certificate_path" + ] "Use settings.tls_certificate_path instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "tls_private_key_path" + ] "Use settings.tls_private_key_path instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "turn_shared_secret" + ] "Use settings.turn_shared_secret instead") + (mkRemovedOptionModule [ "services" "matrix-synapse" "turn_uris" ] "Use settings.turn_uris instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "turn_user_lifetime" + ] "Use settings.turn_user_lifetime instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "url_preview_enabled" + ] "Use settings.url_preview_enabled instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "url_preview_ip_range_blacklist" + ] "Use settings.url_preview_ip_range_blacklist instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "url_preview_ip_range_whitelist" + ] "Use settings.url_preview_ip_range_whitelist instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "url_preview_url_blacklist" + ] "Use settings.url_preview_url_blacklist instead") # options that are too specific to mention them explicitly in settings - (mkRemovedOptionModule [ "services" "matrix-synapse" "account_threepid_delegates" "email" ] "Use settings.account_threepid_delegates.email instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "account_threepid_delegates" "msisdn" ] "Use settings.account_threepid_delegates.msisdn instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "allow_guest_access" ] "Use settings.allow_guest_access instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "bcrypt_rounds" ] "Use settings.bcrypt_rounds instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "enable_registration_captcha" ] "Use settings.enable_registration_captcha instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "event_cache_size" ] "Use settings.event_cache_size instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "federation_rc_concurrent" ] "Use settings.rc_federation.concurrent instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "federation_rc_reject_limit" ] "Use settings.rc_federation.reject_limit instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "federation_rc_sleep_delay" ] "Use settings.rc_federation.sleep_delay instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "federation_rc_sleep_limit" ] "Use settings.rc_federation.sleep_limit instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "federation_rc_window_size" ] "Use settings.rc_federation.window_size instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "key_refresh_interval" ] "Use settings.key_refresh_interval instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "rc_messages_burst_count" ] "Use settings.rc_messages.burst_count instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "rc_messages_per_second" ] "Use settings.rc_messages.per_second instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "recaptcha_private_key" ] "Use settings.recaptcha_private_key instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "recaptcha_public_key" ] "Use settings.recaptcha_public_key instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "redaction_retention_period" ] "Use settings.redaction_retention_period instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "room_prejoin_state" "additional_event_types" ] "Use settings.room_prejoin_state.additional_event_types instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "room_prejoin_state" "disable_default_event_types" ] "Use settings.room_prejoin-state.disable_default_event_types instead" ) + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "account_threepid_delegates" + "email" + ] "Use settings.account_threepid_delegates.email instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "account_threepid_delegates" + "msisdn" + ] "Use settings.account_threepid_delegates.msisdn instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "allow_guest_access" + ] "Use settings.allow_guest_access instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "bcrypt_rounds" + ] "Use settings.bcrypt_rounds instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "enable_registration_captcha" + ] "Use settings.enable_registration_captcha instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "event_cache_size" + ] "Use settings.event_cache_size instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "federation_rc_concurrent" + ] "Use settings.rc_federation.concurrent instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "federation_rc_reject_limit" + ] "Use settings.rc_federation.reject_limit instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "federation_rc_sleep_delay" + ] "Use settings.rc_federation.sleep_delay instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "federation_rc_sleep_limit" + ] "Use settings.rc_federation.sleep_limit instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "federation_rc_window_size" + ] "Use settings.rc_federation.window_size instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "key_refresh_interval" + ] "Use settings.key_refresh_interval instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "rc_messages_burst_count" + ] "Use settings.rc_messages.burst_count instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "rc_messages_per_second" + ] "Use settings.rc_messages.per_second instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "recaptcha_private_key" + ] "Use settings.recaptcha_private_key instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "recaptcha_public_key" + ] "Use settings.recaptcha_public_key instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "redaction_retention_period" + ] "Use settings.redaction_retention_period instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "room_prejoin_state" + "additional_event_types" + ] "Use settings.room_prejoin_state.additional_event_types instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "room_prejoin_state" + "disable_default_event_types" + ] "Use settings.room_prejoin-state.disable_default_event_types instead") # Options that should be passed via extraConfigFiles, so they are not persisted into the nix store - (mkRemovedOptionModule [ "services" "matrix-synapse" "macaroon_secret_key" ] "Pass this value via extraConfigFiles instead" ) - (mkRemovedOptionModule [ "services" "matrix-synapse" "registration_shared_secret" ] "Pass this value via extraConfigFiles instead" ) + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "macaroon_secret_key" + ] "Pass this value via extraConfigFiles instead") + (mkRemovedOptionModule [ + "services" + "matrix-synapse" + "registration_shared_secret" + ] "Pass this value via extraConfigFiles instead") ]; - options = let - listenerType = workerContext: types.submodule ({ config, ... }: { - options = { - port = mkOption { - type = types.nullOr types.port; - default = null; - example = 8448; - description = '' - The port to listen for HTTP(S) requests on. - ''; - }; + options = + let + listenerType = + workerContext: + types.submodule ( + { config, ... }: + { + options = { + port = mkOption { + type = types.nullOr types.port; + default = null; + example = 8448; + description = '' + The port to listen for HTTP(S) requests on. + ''; + }; - bind_addresses = mkOption { - type = types.nullOr (types.listOf types.str); - default = if config.path != null then null else [ - "::1" - "127.0.0.1" - ]; - defaultText = literalExpression '' - if path != null then - null - else - [ - "::1" - "127.0.0.1" - ] - ''; - example = literalExpression '' - [ - "::" - "0.0.0.0" - ] + bind_addresses = mkOption { + type = types.nullOr (types.listOf types.str); + default = + if config.path != null then + null + else + [ + "::1" + "127.0.0.1" + ]; + defaultText = literalExpression '' + if path != null then + null + else + [ + "::1" + "127.0.0.1" + ] + ''; + example = literalExpression '' + [ + "::" + "0.0.0.0" + ] + ''; + description = '' + IP addresses to bind the listener to. + ''; + }; + + path = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Unix domain socket path to bind this listener to. + + ::: {.note} + This option is incompatible with {option}`bind_addresses`, {option}`port`, {option}`tls` + and also does not support the `metrics` and `manhole` listener {option}`type`. + ::: + ''; + }; + + mode = mkOption { + type = types.nullOr (types.strMatching "^[0,2-7]{3,4}$"); + default = if config.path != null then "660" else null; + defaultText = literalExpression '' + if path != null then + "660" + else + null + ''; + example = "660"; + description = '' + File permissions on the UNIX domain socket. + ''; + apply = toDecimalFilePermission; + }; + + type = mkOption { + type = types.enum [ + "http" + "manhole" + "metrics" + "replication" + ]; + default = "http"; + example = "metrics"; + description = '' + The type of the listener, usually http. + ''; + }; + + tls = mkOption { + type = types.nullOr types.bool; + default = if config.path != null then null else !workerContext; + defaultText = '' + Enabled for the main instance listener, unless it is configured with a UNIX domain socket path. + ''; + example = false; + description = '' + Whether to enable TLS on the listener socket. + + ::: {.note} + This option will be ignored for UNIX domain sockets. + ::: + ''; + }; + + x_forwarded = mkOption { + type = types.bool; + default = config.path != null; + defaultText = '' + Enabled if the listener is configured with a UNIX domain socket path + ''; + example = true; + description = '' + Use the X-Forwarded-For (XFF) header as the client IP and not the + actual client IP. + ''; + }; + + resources = mkOption { + type = types.listOf ( + types.submodule { + options = { + names = mkOption { + type = types.listOf ( + types.enum [ + "client" + "consent" + "federation" + "health" + "keys" + "media" + "metrics" + "openid" + "replication" + "static" + ] + ); + description = '' + List of resources to host on this listener. + ''; + example = [ + "client" + ]; + }; + compress = mkOption { + default = false; + type = types.bool; + description = '' + Whether synapse should compress HTTP responses to clients that support it. + This should be disabled if running synapse behind a load balancer + that can do automatic compression. + ''; + }; + }; + } + ); + description = '' + List of HTTP resources to serve on this listener. + ''; + }; + }; + } + ); + in + { + services.matrix-synapse = { + enable = mkEnableOption "matrix.org synapse, the reference homeserver"; + + enableRegistrationScript = mkOption { + type = types.bool; + default = clientListener.bind_addresses != [ ]; + example = false; + defaultText = '' + Enabled if the client listener uses TCP sockets ''; description = '' - IP addresses to bind the listener to. + Whether to install the `register_new_matrix_user` script, that + allows account creation on the terminal. + + ::: {.note} + This script does not work when the client listener uses UNIX domain sockets + ::: ''; }; - path = mkOption { - type = types.nullOr types.path; - default = null; + serviceUnit = lib.mkOption { + type = lib.types.str; + readOnly = true; description = '' - Unix domain socket path to bind this listener to. + The systemd unit (a service or a target) for other services to depend on if they + need to be started after matrix-synapse. - ::: {.note} - This option is incompatible with {option}`bind_addresses`, {option}`port`, {option}`tls` - and also does not support the `metrics` and `manhole` listener {option}`type`. - ::: + This option is useful as the actual parent unit for all matrix-synapse processes + changes when configuring workers. ''; }; - mode = mkOption { - type = types.nullOr (types.strMatching "^[0,2-7]{3,4}$"); - default = if config.path != null then "660" else null; - defaultText = literalExpression '' - if path != null then - "660" - else - null - ''; - example = "660"; + configFile = mkOption { + type = types.path; + readOnly = true; description = '' - File permissions on the UNIX domain socket. + Path to the configuration file on the target system. Useful to configure e.g. workers + that also need this. ''; - apply = toDecimalFilePermission; }; - type = mkOption { - type = types.enum [ - "http" - "manhole" - "metrics" - "replication" - ]; - default = "http"; - example = "metrics"; + package = mkOption { + type = types.package; + readOnly = true; description = '' - The type of the listener, usually http. + Reference to the `matrix-synapse` wrapper with all extras + (e.g. for `oidc` or `saml2`) added to the `PYTHONPATH` of all executables. + + This option is useful to reference the "final" `matrix-synapse` package that's + actually used by `matrix-synapse.service`. For instance, when using + workers, it's possible to run + `''${config.services.matrix-synapse.package}/bin/synapse_worker` and + no additional PYTHONPATH needs to be specified for extras or plugins configured + via `services.matrix-synapse`. + + However, this means that this option is supposed to be only declared + by the `services.matrix-synapse` module itself and is thus read-only. + In order to modify `matrix-synapse` itself, use an overlay to override + `pkgs.matrix-synapse-unwrapped`. ''; }; - tls = mkOption { - type = types.nullOr types.bool; - default = if config.path != null then - null - else - !workerContext; - defaultText = '' - Enabled for the main instance listener, unless it is configured with a UNIX domain socket path. + extras = mkOption { + type = types.listOf ( + types.enum (lib.attrNames pkgs.matrix-synapse-unwrapped.optional-dependencies) + ); + default = defaultExtras; + example = literalExpression '' + [ + "cache-memory" # Provide statistics about caching memory consumption + "jwt" # JSON Web Token authentication + "oidc" # OpenID Connect authentication + "postgres" # PostgreSQL database backend + "redis" # Redis support for the replication stream between worker processes + "saml2" # SAML2 authentication + "sentry" # Error tracking and performance metrics + "systemd" # Provide the JournalHandler used in the default log_config + "url-preview" # Support for oEmbed URL previews + "user-search" # Support internationalized domain names in user-search + ] ''; - example = false; description = '' - Whether to enable TLS on the listener socket. + Explicitly install extras provided by matrix-synapse. Most + will require some additional configuration. - ::: {.note} - This option will be ignored for UNIX domain sockets. - ::: + Extras will automatically be enabled, when the relevant + configuration sections are present. + + Please note that this option is additive: i.e. when adding a new item + to this list, the defaults are still kept. To override the defaults as well, + use `lib.mkForce`. ''; }; - x_forwarded = mkOption { - type = types.bool; - default = config.path != null; - defaultText = '' - Enabled if the listener is configured with a UNIX domain socket path + plugins = mkOption { + type = types.listOf types.package; + default = [ ]; + example = literalExpression '' + with config.services.matrix-synapse.package.plugins; [ + matrix-synapse-ldap3 + matrix-synapse-pam + ]; ''; - example = true; description = '' - Use the X-Forwarded-For (XFF) header as the client IP and not the - actual client IP. + List of additional Matrix plugins to make available. ''; }; - resources = mkOption { - type = types.listOf (types.submodule { - options = { - names = mkOption { - type = types.listOf (types.enum [ - "client" - "consent" - "federation" - "health" - "keys" - "media" - "metrics" - "openid" - "replication" - "static" - ]); - description = '' - List of resources to host on this listener. - ''; - example = [ - "client" - ]; - }; - compress = mkOption { - default = false; - type = types.bool; - description = '' - Whether synapse should compress HTTP responses to clients that support it. - This should be disabled if running synapse behind a load balancer - that can do automatic compression. - ''; - }; - }; - }); + withJemalloc = mkOption { + type = types.bool; + default = false; description = '' - List of HTTP resources to serve on this listener. + Whether to preload jemalloc to reduce memory fragmentation and overall usage. ''; }; - }; - }); - in { - services.matrix-synapse = { - enable = mkEnableOption "matrix.org synapse, the reference homeserver"; - - enableRegistrationScript = mkOption { - type = types.bool; - default = clientListener.bind_addresses != []; - example = false; - defaultText = '' - Enabled if the client listener uses TCP sockets - ''; - description = '' - Whether to install the `register_new_matrix_user` script, that - allows account creation on the terminal. - ::: {.note} - This script does not work when the client listener uses UNIX domain sockets - ::: - ''; - }; - - serviceUnit = lib.mkOption { - type = lib.types.str; - readOnly = true; - description = '' - The systemd unit (a service or a target) for other services to depend on if they - need to be started after matrix-synapse. - - This option is useful as the actual parent unit for all matrix-synapse processes - changes when configuring workers. - ''; - }; - - configFile = mkOption { - type = types.path; - readOnly = true; - description = '' - Path to the configuration file on the target system. Useful to configure e.g. workers - that also need this. - ''; - }; - - package = mkOption { - type = types.package; - readOnly = true; - description = '' - Reference to the `matrix-synapse` wrapper with all extras - (e.g. for `oidc` or `saml2`) added to the `PYTHONPATH` of all executables. - - This option is useful to reference the "final" `matrix-synapse` package that's - actually used by `matrix-synapse.service`. For instance, when using - workers, it's possible to run - `''${config.services.matrix-synapse.package}/bin/synapse_worker` and - no additional PYTHONPATH needs to be specified for extras or plugins configured - via `services.matrix-synapse`. - - However, this means that this option is supposed to be only declared - by the `services.matrix-synapse` module itself and is thus read-only. - In order to modify `matrix-synapse` itself, use an overlay to override - `pkgs.matrix-synapse-unwrapped`. - ''; - }; - - extras = mkOption { - type = types.listOf (types.enum (lib.attrNames pkgs.matrix-synapse-unwrapped.optional-dependencies)); - default = defaultExtras; - example = literalExpression '' - [ - "cache-memory" # Provide statistics about caching memory consumption - "jwt" # JSON Web Token authentication - "oidc" # OpenID Connect authentication - "postgres" # PostgreSQL database backend - "redis" # Redis support for the replication stream between worker processes - "saml2" # SAML2 authentication - "sentry" # Error tracking and performance metrics - "systemd" # Provide the JournalHandler used in the default log_config - "url-preview" # Support for oEmbed URL previews - "user-search" # Support internationalized domain names in user-search - ] - ''; - description = '' - Explicitly install extras provided by matrix-synapse. Most - will require some additional configuration. - - Extras will automatically be enabled, when the relevant - configuration sections are present. - - Please note that this option is additive: i.e. when adding a new item - to this list, the defaults are still kept. To override the defaults as well, - use `lib.mkForce`. - ''; - }; + dataDir = mkOption { + type = types.str; + default = "/var/lib/matrix-synapse"; + description = '' + The directory where matrix-synapse stores its stateful data such as + certificates, media and uploads. + ''; + }; - plugins = mkOption { - type = types.listOf types.package; - default = [ ]; - example = literalExpression '' - with config.services.matrix-synapse.package.plugins; [ - matrix-synapse-ldap3 - matrix-synapse-pam - ]; - ''; - description = '' - List of additional Matrix plugins to make available. - ''; - }; + log = mkOption { + type = types.attrsOf format.type; + defaultText = literalExpression defaultCommonLogConfigText; + description = '' + Default configuration for the loggers used by `matrix-synapse` and its workers. + The defaults are added with the default priority which means that + these will be merged with additional declarations. These additional + declarations also take precedence over the defaults when declared + with at least normal priority. For instance + the log-level for synapse and its workers can be changed like this: + + ```nix + { lib, ... }: { + services.matrix-synapse.log.root.level = "WARNING"; + } + ``` + + And another field can be added like this: + + ```nix + { + services.matrix-synapse.log = { + loggers."synapse.http.matrixfederationclient".level = "DEBUG"; + }; + } + ``` - withJemalloc = mkOption { - type = types.bool; - default = false; - description = '' - Whether to preload jemalloc to reduce memory fragmentation and overall usage. - ''; - }; + Additionally, the field `handlers.journal.SYSLOG_IDENTIFIER` will be added to + each log config, i.e. + * `synapse` for `matrix-synapse.service` + * `synapse-` for `matrix-synapse-worker-.service` - dataDir = mkOption { - type = types.str; - default = "/var/lib/matrix-synapse"; - description = '' - The directory where matrix-synapse stores its stateful data such as - certificates, media and uploads. - ''; - }; + This is only done if this option has a `handlers.journal` field declared. - log = mkOption { - type = types.attrsOf format.type; - defaultText = literalExpression defaultCommonLogConfigText; - description = '' - Default configuration for the loggers used by `matrix-synapse` and its workers. - The defaults are added with the default priority which means that - these will be merged with additional declarations. These additional - declarations also take precedence over the defaults when declared - with at least normal priority. For instance - the log-level for synapse and its workers can be changed like this: - - ```nix - { lib, ... }: { - services.matrix-synapse.log.root.level = "WARNING"; - } - ``` + To discard all settings declared by this option for each worker and synapse, + `lib.mkForce` can be used. - And another field can be added like this: + To discard all settings declared by this option for a single worker or synapse only, + [](#opt-services.matrix-synapse.workers._name_.worker_log_config) or + [](#opt-services.matrix-synapse.settings.log_config) can be used. + ''; + }; - ```nix - { - services.matrix-synapse.log = { - loggers."synapse.http.matrixfederationclient".level = "DEBUG"; - }; - } - ``` + settings = mkOption { + default = { }; + description = '' + The primary synapse configuration. See the + [sample configuration](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml) + for possible values. - Additionally, the field `handlers.journal.SYSLOG_IDENTIFIER` will be added to - each log config, i.e. - * `synapse` for `matrix-synapse.service` - * `synapse-` for `matrix-synapse-worker-.service` + Secrets should be passed in by using the `extraConfigFiles` option. + ''; + type = + with types; + submodule { + freeformType = format.type; + options = { + # This is a reduced set of popular options and defaults + # Do not add every available option here, they can be specified + # by the user at their own discretion. This is a freeform type! + + server_name = mkOption { + type = types.str; + example = "example.com"; + default = config.networking.hostName; + defaultText = literalExpression "config.networking.hostName"; + description = '' + The domain name of the server, with optional explicit port. + This is used by remote servers to look up the server address. + This is also the last part of your UserID. + + The server_name cannot be changed later so it is important to configure this correctly before you start Synapse. + ''; + }; - This is only done if this option has a `handlers.journal` field declared. + enable_registration = mkOption { + type = types.bool; + default = false; + description = '' + Enable registration for new users. + ''; + }; - To discard all settings declared by this option for each worker and synapse, - `lib.mkForce` can be used. + registration_shared_secret = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + If set, allows registration by anyone who also has the shared + secret, even if registration is otherwise disabled. - To discard all settings declared by this option for a single worker or synapse only, - [](#opt-services.matrix-synapse.workers._name_.worker_log_config) or - [](#opt-services.matrix-synapse.settings.log_config) can be used. - ''; - }; + Secrets should be passed in via `extraConfigFiles`! + ''; + }; - settings = mkOption { - default = { }; - description = '' - The primary synapse configuration. See the - [sample configuration](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml) - for possible values. + macaroon_secret_key = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Secret key for authentication tokens. If none is specified, + the registration_shared_secret is used, if one is given; otherwise, + a secret key is derived from the signing key. - Secrets should be passed in by using the `extraConfigFiles` option. - ''; - type = with types; submodule { - freeformType = format.type; - options = { - # This is a reduced set of popular options and defaults - # Do not add every available option here, they can be specified - # by the user at their own discretion. This is a freeform type! - - server_name = mkOption { - type = types.str; - example = "example.com"; - default = config.networking.hostName; - defaultText = literalExpression "config.networking.hostName"; - description = '' - The domain name of the server, with optional explicit port. - This is used by remote servers to look up the server address. - This is also the last part of your UserID. - - The server_name cannot be changed later so it is important to configure this correctly before you start Synapse. - ''; - }; + Secrets should be passed in via `extraConfigFiles`! + ''; + }; - enable_registration = mkOption { - type = types.bool; - default = false; - description = '' - Enable registration for new users. - ''; - }; + enable_metrics = mkOption { + type = types.bool; + default = false; + description = '' + Enable collection and rendering of performance metrics + ''; + }; - registration_shared_secret = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - If set, allows registration by anyone who also has the shared - secret, even if registration is otherwise disabled. + report_stats = mkOption { + type = types.bool; + default = false; + description = '' + Whether or not to report anonymized homeserver usage statistics. + ''; + }; - Secrets should be passed in via `extraConfigFiles`! - ''; - }; + signing_key_path = mkOption { + type = types.path; + default = "${cfg.dataDir}/homeserver.signing.key"; + description = '' + Path to the signing key to sign messages with. + ''; + }; - macaroon_secret_key = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Secret key for authentication tokens. If none is specified, - the registration_shared_secret is used, if one is given; otherwise, - a secret key is derived from the signing key. + pid_file = mkOption { + type = types.path; + default = "/run/matrix-synapse.pid"; + readOnly = true; + description = '' + The file to store the PID in. + ''; + }; - Secrets should be passed in via `extraConfigFiles`! - ''; - }; + log_config = mkOption { + type = types.path; + default = genLogConfigFile "synapse"; + defaultText = logConfigText "synapse"; + description = '' + The file that holds the logging configuration. + ''; + }; - enable_metrics = mkOption { - type = types.bool; - default = false; - description = '' - Enable collection and rendering of performance metrics - ''; - }; + media_store_path = mkOption { + type = types.path; + default = + if lib.versionAtLeast config.system.stateVersion "22.05" then + "${cfg.dataDir}/media_store" + else + "${cfg.dataDir}/media"; + defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05"; + description = '' + Directory where uploaded images and attachments are stored. + ''; + }; - report_stats = mkOption { - type = types.bool; - default = false; - description = '' - Whether or not to report anonymized homeserver usage statistics. - ''; - }; + public_baseurl = mkOption { + type = types.nullOr types.str; + default = null; + example = "https://example.com:8448/"; + description = '' + The public-facing base URL for the client API (not including _matrix/...) + ''; + }; - signing_key_path = mkOption { - type = types.path; - default = "${cfg.dataDir}/homeserver.signing.key"; - description = '' - Path to the signing key to sign messages with. - ''; - }; + tls_certificate_path = mkOption { + type = types.nullOr types.str; + default = null; + example = "/var/lib/acme/example.com/fullchain.pem"; + description = '' + PEM encoded X509 certificate for TLS. + You can replace the self-signed certificate that synapse + autogenerates on launch with your own SSL certificate + key pair + if you like. Any required intermediary certificates can be + appended after the primary certificate in hierarchical order. + ''; + }; - pid_file = mkOption { - type = types.path; - default = "/run/matrix-synapse.pid"; - readOnly = true; - description = '' - The file to store the PID in. - ''; - }; + tls_private_key_path = mkOption { + type = types.nullOr types.str; + default = null; + example = "/var/lib/acme/example.com/key.pem"; + description = '' + PEM encoded private key for TLS. Specify null if synapse is not + speaking TLS directly. + ''; + }; - log_config = mkOption { - type = types.path; - default = genLogConfigFile "synapse"; - defaultText = logConfigText "synapse"; - description = '' - The file that holds the logging configuration. - ''; - }; + presence.enabled = mkOption { + type = types.bool; + default = true; + example = false; + description = '' + Whether to enable presence tracking. - media_store_path = mkOption { - type = types.path; - default = if lib.versionAtLeast config.system.stateVersion "22.05" - then "${cfg.dataDir}/media_store" - else "${cfg.dataDir}/media"; - defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05"; - description = '' - Directory where uploaded images and attachments are stored. - ''; - }; + Presence tracking allows users to see the state (e.g online/offline) + of other local and remote users. + ''; + }; - public_baseurl = mkOption { - type = types.nullOr types.str; - default = null; - example = "https://example.com:8448/"; - description = '' - The public-facing base URL for the client API (not including _matrix/...) - ''; - }; + listeners = mkOption { + type = types.listOf (listenerType false); + default = + [ + { + port = 8008; + bind_addresses = [ "127.0.0.1" ]; + type = "http"; + tls = false; + x_forwarded = true; + resources = [ + { + names = [ "client" ]; + compress = true; + } + { + names = [ "federation" ]; + compress = false; + } + ]; + } + ] + ++ lib.optional hasWorkers { + path = "/run/matrix-synapse/main_replication.sock"; + type = "http"; + resources = [ + { + names = [ "replication" ]; + compress = false; + } + ]; + }; + description = '' + List of ports that Synapse should listen on, their purpose and their configuration. + + By default, synapse will be configured for client and federation traffic on port 8008, and + use a UNIX domain socket for worker replication. See [`services.matrix-synapse.workers`](#opt-services.matrix-synapse.workers) + for more details. + ''; + }; - tls_certificate_path = mkOption { - type = types.nullOr types.str; - default = null; - example = "/var/lib/acme/example.com/fullchain.pem"; - description = '' - PEM encoded X509 certificate for TLS. - You can replace the self-signed certificate that synapse - autogenerates on launch with your own SSL certificate + key pair - if you like. Any required intermediary certificates can be - appended after the primary certificate in hierarchical order. - ''; - }; + database.name = mkOption { + type = types.enum [ + "sqlite3" + "psycopg2" + ]; + default = if versionAtLeast config.system.stateVersion "18.03" then "psycopg2" else "sqlite3"; + defaultText = literalExpression '' + if versionAtLeast config.system.stateVersion "18.03" + then "psycopg2" + else "sqlite3" + ''; + description = '' + The database engine name. Can be sqlite3 or psycopg2. + ''; + }; - tls_private_key_path = mkOption { - type = types.nullOr types.str; - default = null; - example = "/var/lib/acme/example.com/key.pem"; - description = '' - PEM encoded private key for TLS. Specify null if synapse is not - speaking TLS directly. - ''; - }; + database.args.database = mkOption { + type = types.str; + default = + { + sqlite3 = "${cfg.dataDir}/homeserver.db"; + psycopg2 = "matrix-synapse"; + } + .${cfg.settings.database.name}; + defaultText = literalExpression '' + { + sqlite3 = "''${${options.services.matrix-synapse.dataDir}}/homeserver.db"; + psycopg2 = "matrix-synapse"; + }.''${${options.services.matrix-synapse.settings}.database.name}; + ''; + description = '' + Name of the database when using the psycopg2 backend, + path to the database location when using sqlite3. + ''; + }; - presence.enabled = mkOption { - type = types.bool; - default = true; - example = false; - description = '' - Whether to enable presence tracking. + database.args.user = mkOption { + type = types.nullOr types.str; + default = + { + sqlite3 = null; + psycopg2 = "matrix-synapse"; + } + .${cfg.settings.database.name}; + defaultText = lib.literalExpression '' + { + sqlite3 = null; + psycopg2 = "matrix-synapse"; + }.''${cfg.settings.database.name}; + ''; + description = '' + Username to connect with psycopg2, set to null + when using sqlite3. + ''; + }; - Presence tracking allows users to see the state (e.g online/offline) - of other local and remote users. - ''; - }; + url_preview_enabled = mkOption { + type = types.bool; + default = true; + example = false; + description = '' + Is the preview URL API enabled? If enabled, you *must* specify an + explicit url_preview_ip_range_blacklist of IPs that the spider is + denied from accessing. + ''; + }; - listeners = mkOption { - type = types.listOf (listenerType false); - default = [{ - port = 8008; - bind_addresses = [ "127.0.0.1" ]; - type = "http"; - tls = false; - x_forwarded = true; - resources = [{ - names = [ "client" ]; - compress = true; - } { - names = [ "federation" ]; - compress = false; - }]; - }] ++ lib.optional hasWorkers { - path = "/run/matrix-synapse/main_replication.sock"; - type = "http"; - resources = [{ - names = [ "replication" ]; - compress = false; - }]; - }; - description = '' - List of ports that Synapse should listen on, their purpose and their configuration. + url_preview_ip_range_blacklist = mkOption { + type = types.listOf types.str; + default = [ + "10.0.0.0/8" + "100.64.0.0/10" + "127.0.0.0/8" + "169.254.0.0/16" + "172.16.0.0/12" + "192.0.0.0/24" + "192.0.2.0/24" + "192.168.0.0/16" + "192.88.99.0/24" + "198.18.0.0/15" + "198.51.100.0/24" + "2001:db8::/32" + "203.0.113.0/24" + "224.0.0.0/4" + "::1/128" + "fc00::/7" + "fe80::/10" + "fec0::/10" + "ff00::/8" + ]; + description = '' + List of IP address CIDR ranges that the URL preview spider is denied + from accessing. + ''; + }; - By default, synapse will be configured for client and federation traffic on port 8008, and - use a UNIX domain socket for worker replication. See [`services.matrix-synapse.workers`](#opt-services.matrix-synapse.workers) - for more details. - ''; - }; + url_preview_ip_range_whitelist = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + List of IP address CIDR ranges that the URL preview spider is allowed + to access even if they are specified in url_preview_ip_range_blacklist. + ''; + }; - database.name = mkOption { - type = types.enum [ - "sqlite3" - "psycopg2" - ]; - default = if versionAtLeast config.system.stateVersion "18.03" - then "psycopg2" - else "sqlite3"; - defaultText = literalExpression '' - if versionAtLeast config.system.stateVersion "18.03" - then "psycopg2" - else "sqlite3" - ''; - description = '' - The database engine name. Can be sqlite3 or psycopg2. - ''; - }; + url_preview_url_blacklist = mkOption { + # FIXME revert to just `listOf (attrsOf str)` after some time(tm). + type = types.listOf ( + types.coercedTo types.str (const (throw '' + Setting `config.services.matrix-synapse.settings.url_preview_url_blacklist` + to a list of strings has never worked. Due to a bug, this was the type accepted + by the module, but in practice it broke on runtime and as a result, no URL + preview worked anywhere if this was set. + + See https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_url_blacklist + on how to configure it properly. + '')) (types.attrsOf types.str) + ); + default = [ ]; + example = literalExpression '' + [ + { scheme = "http"; } # no http previews + { netloc = "www.acme.com"; path = "/foo"; } # block http(s)://www.acme.com/foo + ] + ''; + description = '' + Optional list of URL matches that the URL preview spider is + denied from accessing. + ''; + }; - database.args.database = mkOption { - type = types.str; - default = { - sqlite3 = "${cfg.dataDir}/homeserver.db"; - psycopg2 = "matrix-synapse"; - }.${cfg.settings.database.name}; - defaultText = literalExpression '' - { - sqlite3 = "''${${options.services.matrix-synapse.dataDir}}/homeserver.db"; - psycopg2 = "matrix-synapse"; - }.''${${options.services.matrix-synapse.settings}.database.name}; - ''; - description = '' - Name of the database when using the psycopg2 backend, - path to the database location when using sqlite3. - ''; - }; + max_upload_size = mkOption { + type = types.str; + default = "50M"; + example = "100M"; + description = '' + The largest allowed upload size in bytes + ''; + }; - database.args.user = mkOption { - type = types.nullOr types.str; - default = { - sqlite3 = null; - psycopg2 = "matrix-synapse"; - }.${cfg.settings.database.name}; - defaultText = lib.literalExpression '' - { - sqlite3 = null; - psycopg2 = "matrix-synapse"; - }.''${cfg.settings.database.name}; - ''; - description = '' - Username to connect with psycopg2, set to null - when using sqlite3. - ''; - }; + max_image_pixels = mkOption { + type = types.str; + default = "32M"; + example = "64M"; + description = '' + Maximum number of pixels that will be thumbnailed + ''; + }; - url_preview_enabled = mkOption { - type = types.bool; - default = true; - example = false; - description = '' - Is the preview URL API enabled? If enabled, you *must* specify an - explicit url_preview_ip_range_blacklist of IPs that the spider is - denied from accessing. - ''; - }; + dynamic_thumbnails = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Whether to generate new thumbnails on the fly to precisely match + the resolution requested by the client. If true then whenever + a new resolution is requested by the client the server will + generate a new thumbnail. If false the server will pick a thumbnail + from a precalculated list. + ''; + }; - url_preview_ip_range_blacklist = mkOption { - type = types.listOf types.str; - default = [ - "10.0.0.0/8" - "100.64.0.0/10" - "127.0.0.0/8" - "169.254.0.0/16" - "172.16.0.0/12" - "192.0.0.0/24" - "192.0.2.0/24" - "192.168.0.0/16" - "192.88.99.0/24" - "198.18.0.0/15" - "198.51.100.0/24" - "2001:db8::/32" - "203.0.113.0/24" - "224.0.0.0/4" - "::1/128" - "fc00::/7" - "fe80::/10" - "fec0::/10" - "ff00::/8" - ]; - description = '' - List of IP address CIDR ranges that the URL preview spider is denied - from accessing. - ''; - }; + turn_uris = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "turn:turn.example.com:3487?transport=udp" + "turn:turn.example.com:3487?transport=tcp" + "turns:turn.example.com:5349?transport=udp" + "turns:turn.example.com:5349?transport=tcp" + ]; + description = '' + The public URIs of the TURN server to give to clients + ''; + }; + turn_shared_secret = mkOption { + type = types.str; + default = ""; + example = literalExpression '' + config.services.coturn.static-auth-secret + ''; + description = '' + The shared secret used to compute passwords for the TURN server. - url_preview_ip_range_whitelist = mkOption { - type = types.listOf types.str; - default = [ ]; - description = '' - List of IP address CIDR ranges that the URL preview spider is allowed - to access even if they are specified in url_preview_ip_range_blacklist. - ''; - }; + Secrets should be passed in via `extraConfigFiles`! + ''; + }; - url_preview_url_blacklist = mkOption { - # FIXME revert to just `listOf (attrsOf str)` after some time(tm). - type = types.listOf ( - types.coercedTo - types.str - (const (throw '' - Setting `config.services.matrix-synapse.settings.url_preview_url_blacklist` - to a list of strings has never worked. Due to a bug, this was the type accepted - by the module, but in practice it broke on runtime and as a result, no URL - preview worked anywhere if this was set. - - See https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_url_blacklist - on how to configure it properly. - '')) - (types.attrsOf types.str)); - default = [ ]; - example = literalExpression '' - [ - { scheme = "http"; } # no http previews - { netloc = "www.acme.com"; path = "/foo"; } # block http(s)://www.acme.com/foo - ] - ''; - description = '' - Optional list of URL matches that the URL preview spider is - denied from accessing. - ''; - }; + trusted_key_servers = mkOption { + type = types.listOf ( + types.submodule { + freeformType = format.type; + options = { + server_name = mkOption { + type = types.str; + example = "matrix.org"; + description = '' + Hostname of the trusted server. + ''; + }; + }; + } + ); + default = [ + { + server_name = "matrix.org"; + verify_keys = { + "ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"; + }; + } + ]; + description = '' + The trusted servers to download signing keys from. + ''; + }; - max_upload_size = mkOption { - type = types.str; - default = "50M"; - example = "100M"; - description = '' - The largest allowed upload size in bytes - ''; - }; + app_service_config_files = mkOption { + type = types.listOf types.path; + default = [ ]; + description = '' + A list of application service config file to use + ''; + }; - max_image_pixels = mkOption { - type = types.str; - default = "32M"; - example = "64M"; - description = '' - Maximum number of pixels that will be thumbnailed - ''; - }; + redis = lib.mkOption { + type = types.submodule { + freeformType = format.type; + options = { + enabled = lib.mkOption { + type = types.bool; + default = false; + description = '' + Whether to use redis support + ''; + }; + }; + }; + default = { }; + description = '' + Redis configuration for synapse. - dynamic_thumbnails = mkOption { - type = types.bool; - default = false; - example = true; - description = '' - Whether to generate new thumbnails on the fly to precisely match - the resolution requested by the client. If true then whenever - a new resolution is requested by the client the server will - generate a new thumbnail. If false the server will pick a thumbnail - from a precalculated list. - ''; + See the + [upstream documentation](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/usage/configuration/config_documentation.md#redis) + for available options. + ''; + }; + }; }; + }; - turn_uris = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ - "turn:turn.example.com:3487?transport=udp" - "turn:turn.example.com:3487?transport=tcp" - "turns:turn.example.com:5349?transport=udp" - "turns:turn.example.com:5349?transport=tcp" - ]; - description = '' - The public URIs of the TURN server to give to clients - ''; - }; - turn_shared_secret = mkOption { - type = types.str; - default = ""; - example = literalExpression '' - config.services.coturn.static-auth-secret - ''; - description = '' - The shared secret used to compute passwords for the TURN server. + workers = lib.mkOption { + default = { }; + description = '' + Options for configuring workers. Worker support will be enabled if at least one worker is configured here. - Secrets should be passed in via `extraConfigFiles`! - ''; - }; + See the [worker documention](https://element-hq.github.io/synapse/latest/workers.html#worker-configuration) + for possible options for each worker. Worker-specific options overriding the shared homeserver configuration can be + specified here for each worker. - trusted_key_servers = mkOption { - type = types.listOf (types.submodule { + ::: {.note} + Worker support will add a replication listener on port 9093 to the main synapse process using the default + value of [`services.matrix-synapse.settings.listeners`](#opt-services.matrix-synapse.settings.listeners) and configure that + listener as `services.matrix-synapse.settings.instance_map.main`. + If you set either of those options, make sure to configure a replication listener yourself. + + A redis server is required for running workers. A local one can be enabled + using [`services.matrix-synapse.configureRedisLocally`](#opt-services.matrix-synapse.configureRedisLocally). + + Workers also require a proper reverse proxy setup to direct incoming requests to the appropriate process. See + the [reverse proxy documentation](https://element-hq.github.io/synapse/latest/reverse_proxy.html) for a + general reverse proxying setup and + the [worker documentation](https://element-hq.github.io/synapse/latest/workers.html#available-worker-applications) + for the available endpoints per worker application. + ::: + ''; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { freeformType = format.type; options = { - server_name = mkOption { - type = types.str; - example = "matrix.org"; + worker_app = lib.mkOption { + type = types.enum [ + "synapse.app.generic_worker" + "synapse.app.media_repository" + ]; + description = "Type of this worker"; + default = "synapse.app.generic_worker"; + }; + worker_listeners = lib.mkOption { + default = [ ]; + type = types.listOf (listenerType true); description = '' - Hostname of the trusted server. + List of ports that this worker should listen on, their purpose and their configuration. ''; }; - }; - }); - default = [{ - server_name = "matrix.org"; - verify_keys = { - "ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"; - }; - }]; - description = '' - The trusted servers to download signing keys from. - ''; - }; - - app_service_config_files = mkOption { - type = types.listOf types.path; - default = [ ]; - description = '' - A list of application service config file to use - ''; - }; - - redis = lib.mkOption { - type = types.submodule { - freeformType = format.type; - options = { - enabled = lib.mkOption { - type = types.bool; - default = false; + worker_log_config = lib.mkOption { + type = types.path; + default = genLogConfigFile "synapse-${name}"; + defaultText = logConfigText "synapse-${name}"; description = '' - Whether to use redis support + The file for log configuration. + + See the [python documentation](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema) + for the schema and the [upstream repository](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_log_config.yaml) + for an example. ''; }; }; + } + ) + ); + default = { }; + example = lib.literalExpression '' + { + "federation_sender" = { }; + "federation_receiver" = { + worker_listeners = [ + { + type = "http"; + port = 8009; + bind_addresses = [ "127.0.0.1" ]; + tls = false; + x_forwarded = true; + resources = [{ + names = [ "federation" ]; + }]; + } + ]; }; - default = { }; - description = '' - Redis configuration for synapse. - - See the - [upstream documentation](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/usage/configuration/config_documentation.md#redis) - for available options. - ''; - }; - }; + } + ''; }; - }; - - workers = lib.mkOption { - default = { }; - description = '' - Options for configuring workers. Worker support will be enabled if at least one worker is configured here. - - See the [worker documention](https://element-hq.github.io/synapse/latest/workers.html#worker-configuration) - for possible options for each worker. Worker-specific options overriding the shared homeserver configuration can be - specified here for each worker. - - ::: {.note} - Worker support will add a replication listener on port 9093 to the main synapse process using the default - value of [`services.matrix-synapse.settings.listeners`](#opt-services.matrix-synapse.settings.listeners) and configure that - listener as `services.matrix-synapse.settings.instance_map.main`. - If you set either of those options, make sure to configure a replication listener yourself. - - A redis server is required for running workers. A local one can be enabled - using [`services.matrix-synapse.configureRedisLocally`](#opt-services.matrix-synapse.configureRedisLocally). - - Workers also require a proper reverse proxy setup to direct incoming requests to the appropriate process. See - the [reverse proxy documentation](https://element-hq.github.io/synapse/latest/reverse_proxy.html) for a - general reverse proxying setup and - the [worker documentation](https://element-hq.github.io/synapse/latest/workers.html#available-worker-applications) - for the available endpoints per worker application. - ::: - ''; - type = types.attrsOf (types.submodule ({name, ...}: { - freeformType = format.type; - options = { - worker_app = lib.mkOption { - type = types.enum [ - "synapse.app.generic_worker" - "synapse.app.media_repository" - ]; - description = "Type of this worker"; - default = "synapse.app.generic_worker"; - }; - worker_listeners = lib.mkOption { - default = [ ]; - type = types.listOf (listenerType true); - description = '' - List of ports that this worker should listen on, their purpose and their configuration. - ''; - }; - worker_log_config = lib.mkOption { - type = types.path; - default = genLogConfigFile "synapse-${name}"; - defaultText = logConfigText "synapse-${name}"; - description = '' - The file for log configuration. - - See the [python documentation](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema) - for the schema and the [upstream repository](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_log_config.yaml) - for an example. - ''; - }; - }; - })); - default = { }; - example = lib.literalExpression '' - { - "federation_sender" = { }; - "federation_receiver" = { - worker_listeners = [ - { - type = "http"; - port = 8009; - bind_addresses = [ "127.0.0.1" ]; - tls = false; - x_forwarded = true; - resources = [{ - names = [ "federation" ]; - }]; - } - ]; - }; - } - ''; - }; - extraConfigFiles = mkOption { - type = types.listOf types.path; - default = [ ]; - description = '' - Extra config files to include. + extraConfigFiles = mkOption { + type = types.listOf types.path; + default = [ ]; + description = '' + Extra config files to include. - The configuration files will be included based on the command line - argument --config-path. This allows to configure secrets without - having to go through the Nix store, e.g. based on deployment keys if - NixOps is in use. - ''; - }; + The configuration files will be included based on the command line + argument --config-path. This allows to configure secrets without + having to go through the Nix store, e.g. based on deployment keys if + NixOps is in use. + ''; + }; - configureRedisLocally = lib.mkOption { - type = types.bool; - default = false; - description = '' - Whether to automatically configure a local redis server for matrix-synapse. - ''; + configureRedisLocally = lib.mkOption { + type = types.bool; + default = false; + description = '' + Whether to automatically configure a local redis server for matrix-synapse. + ''; + }; }; }; - }; config = mkIf cfg.enable { - assertions = [ - { - assertion = clientListener != null; - message = '' - At least one listener which serves the `client` resource via HTTP is required - by synapse in `services.matrix-synapse.settings.listeners` or in one of the workers! - ''; - } - { - assertion = hasWorkers -> cfg.settings.redis.enabled; + assertions = + [ + { + assertion = clientListener != null; + message = '' + At least one listener which serves the `client` resource via HTTP is required + by synapse in `services.matrix-synapse.settings.listeners` or in one of the workers! + ''; + } + { + assertion = hasWorkers -> cfg.settings.redis.enabled; + message = '' + Workers for matrix-synapse require configuring a redis instance. This can be done + automatically by setting `services.matrix-synapse.configureRedisLocally = true`. + ''; + } + { + assertion = + let + main = cfg.settings.instance_map.main; + listener = lib.findFirst ( + listener: + ( + lib.hasAttr "port" main && listener.port or null == main.port + || lib.hasAttr "path" main && listener.path or null == main.path + ) + && listenerSupportsResource "replication" listener + && ( + lib.hasAttr "host" main + && lib.any (bind: bind == main.host || bind == "0.0.0.0" || bind == "::") listener.bind_addresses + || lib.hasAttr "path" main + ) + ) null cfg.settings.listeners; + in + hasWorkers -> (cfg.settings.instance_map ? main && listener != null); + message = '' + Workers for matrix-synapse require setting `services.matrix-synapse.settings.instance_map.main` + to any listener configured in `services.matrix-synapse.settings.listeners` with a `"replication"` + resource. + + This is done by default unless you manually configure either of those settings. + ''; + } + { + assertion = cfg.enableRegistrationScript -> clientListener.path == null; + message = '' + The client listener on matrix-synapse is configured to use UNIX domain sockets. + This configuration is incompatible with the `register_new_matrix_user` script. + + Disable `services.matrix-synapse.enableRegistrationScript` to continue. + ''; + } + ] + ++ (map (listener: { + assertion = (listener.path == null) != (listener.bind_addresses == null); message = '' - Workers for matrix-synapse require configuring a redis instance. This can be done - automatically by setting `services.matrix-synapse.configureRedisLocally = true`. + Listeners require either a UNIX domain socket `path` or `bind_addresses` for a TCP socket. ''; - } - { + }) cfg.settings.listeners) + ++ (map (listener: { assertion = + listener.path != null + -> (listener.bind_addresses == null && listener.port == null && listener.tls == null); + message = let - main = cfg.settings.instance_map.main; - listener = lib.findFirst - ( - listener: - ( - lib.hasAttr "port" main && listener.port or null == main.port - || lib.hasAttr "path" main && listener.path or null == main.path - ) - && listenerSupportsResource "replication" listener - && ( - lib.hasAttr "host" main && lib.any (bind: bind == main.host || bind == "0.0.0.0" || bind == "::") listener.bind_addresses - || lib.hasAttr "path" main - ) - ) - null - cfg.settings.listeners; + formatKeyValue = key: value: lib.optionalString (value != null) " - ${key}=${toString value}\n"; in - hasWorkers -> (cfg.settings.instance_map ? main && listener != null); - message = '' - Workers for matrix-synapse require setting `services.matrix-synapse.settings.instance_map.main` - to any listener configured in `services.matrix-synapse.settings.listeners` with a `"replication"` - resource. - - This is done by default unless you manually configure either of those settings. - ''; - } - { - assertion = cfg.enableRegistrationScript -> clientListener.path == null; + '' + Listener configured with UNIX domain socket (${toString listener.path}) ignores the following options: + ${formatKeyValue "bind_addresses" listener.bind_addresses}${formatKeyValue "port" listener.port}${formatKeyValue "tls" listener.tls} + ''; + }) cfg.settings.listeners) + ++ (map (listener: { + assertion = listener.path == null || listener.type == "http"; message = '' - The client listener on matrix-synapse is configured to use UNIX domain sockets. - This configuration is incompatible with the `register_new_matrix_user` script. - - Disable `services.matrix-synapse.enableRegistrationScript` to continue. + Listener configured with UNIX domain socket (${toString listener.path}) only supports the "http" listener type. ''; - } - ] - ++ (map (listener: { - assertion = (listener.path == null) != (listener.bind_addresses == null); - message = '' - Listeners require either a UNIX domain socket `path` or `bind_addresses` for a TCP socket. - ''; - }) cfg.settings.listeners) - ++ (map (listener: { - assertion = listener.path != null -> (listener.bind_addresses == null && listener.port == null && listener.tls == null); - message = let - formatKeyValue = key: value: lib.optionalString (value != null) " - ${key}=${toString value}\n"; - in '' - Listener configured with UNIX domain socket (${toString listener.path}) ignores the following options: - ${formatKeyValue "bind_addresses" listener.bind_addresses}${formatKeyValue "port" listener.port}${formatKeyValue "tls" listener.tls} - ''; - }) cfg.settings.listeners) - ++ (map (listener: { - assertion = listener.path == null || listener.type == "http"; - message = '' - Listener configured with UNIX domain socket (${toString listener.path}) only supports the "http" listener type. - ''; - }) cfg.settings.listeners); + }) cfg.settings.listeners); services.matrix-synapse.settings.redis = lib.mkIf cfg.configureRedisLocally { enabled = true; path = config.services.redis.servers.matrix-synapse.unixSocket; }; - services.matrix-synapse.settings.instance_map.main = lib.mkIf hasWorkers (lib.mkDefault { - path = "/run/matrix-synapse/main_replication.sock"; - }); + services.matrix-synapse.settings.instance_map.main = lib.mkIf hasWorkers ( + lib.mkDefault { + path = "/run/matrix-synapse/main_replication.sock"; + } + ); - services.matrix-synapse.serviceUnit = if hasWorkers then "matrix-synapse.target" else "matrix-synapse.service"; + services.matrix-synapse.serviceUnit = + if hasWorkers then "matrix-synapse.target" else "matrix-synapse.service"; services.matrix-synapse.configFile = configFile; services.matrix-synapse.package = wrapped; @@ -1186,19 +1445,20 @@ in { systemd.services = let targetConfig = - if hasWorkers - then { - partOf = [ "matrix-synapse.target" ]; - wantedBy = [ "matrix-synapse.target" ]; - unitConfig.ReloadPropagatedFrom = "matrix-synapse.target"; - requires = optional hasLocalPostgresDB "postgresql.service"; - } - else { - wants = [ "network-online.target" ]; - after = [ "network-online.target" ] ++ optional hasLocalPostgresDB "postgresql.service"; - requires = optional hasLocalPostgresDB "postgresql.service"; - wantedBy = [ "multi-user.target" ]; - }; + if hasWorkers then + { + partOf = [ "matrix-synapse.target" ]; + wantedBy = [ "matrix-synapse.target" ]; + unitConfig.ReloadPropagatedFrom = "matrix-synapse.target"; + requires = optional hasLocalPostgresDB "postgresql.service"; + } + else + { + wants = [ "network-online.target" ]; + after = [ "network-online.target" ] ++ optional hasLocalPostgresDB "postgresql.service"; + requires = optional hasLocalPostgresDB "postgresql.service"; + wantedBy = [ "multi-user.target" ]; + }; baseServiceConfig = { environment = optionalAttrs (cfg.withJemalloc) { LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so"; @@ -1232,21 +1492,37 @@ in { ProtectKernelTunables = true; ProtectProc = "invisible"; ProtectSystem = "strict"; - ReadWritePaths = [ cfg.dataDir cfg.settings.media_store_path ] ++ - (map (listener: dirOf listener.path) (filter (listener: listener.path != null) cfg.settings.listeners)); + ReadWritePaths = + [ + cfg.dataDir + cfg.settings.media_store_path + ] + ++ (map (listener: dirOf listener.path) ( + filter (listener: listener.path != null) cfg.settings.listeners + )); RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@resources" + "~@privileged" + ]; }; - } - // targetConfig; - genWorkerService = name: workerCfg: + } // targetConfig; + genWorkerService = + name: workerCfg: let - finalWorkerCfg = workerCfg // { worker_name = name; }; + finalWorkerCfg = workerCfg // { + worker_name = name; + }; workerConfigFile = format.generate "worker-${name}.yaml" finalWorkerCfg; in { @@ -1261,7 +1537,13 @@ in { serviceConfig = { ExecStart = '' ${cfg.package}/bin/synapse_worker \ - ${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile workerConfigFile ] ++ cfg.extraConfigFiles) } + ${concatMapStringsSep "\n " (x: "--config-path ${x} \\") ( + [ + configFile + workerConfigFile + ] + ++ cfg.extraConfigFiles + )} --keys-directory ${cfg.dataDir} ''; }; @@ -1282,14 +1564,19 @@ in { ''; serviceConfig = { ExecStartPre = [ - ("+" + (pkgs.writeShellScript "matrix-synapse-fix-permissions" '' - chown matrix-synapse:matrix-synapse ${cfg.settings.signing_key_path} - chmod 0600 ${cfg.settings.signing_key_path} - '')) + ( + "+" + + (pkgs.writeShellScript "matrix-synapse-fix-permissions" '' + chown matrix-synapse:matrix-synapse ${cfg.settings.signing_key_path} + chmod 0600 ${cfg.settings.signing_key_path} + '') + ) ]; ExecStart = '' ${cfg.package}/bin/synapse_homeserver \ - ${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) } + ${concatMapStringsSep "\n " (x: "--config-path ${x} \\") ( + [ configFile ] ++ cfg.extraConfigFiles + )} --keys-directory ${cfg.dataDir} ''; }; diff --git a/nixos/modules/services/misc/airsonic.nix b/nixos/modules/services/misc/airsonic.nix index 3231fce35dabe..653903933257d 100644 --- a/nixos/modules/services/misc/airsonic.nix +++ b/nixos/modules/services/misc/airsonic.nix @@ -1,8 +1,15 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.airsonic; opt = options.services.airsonic; -in { +in +{ options = { services.airsonic = { @@ -140,8 +147,7 @@ in { -Dserver.port=${toString cfg.port} \ -Dserver.context-path=${cfg.contextPath} \ -Djava.awt.headless=true \ - ${lib.optionalString (cfg.virtualHost != null) - "-Dserver.use-forward-headers=true"} \ + ${lib.optionalString (cfg.virtualHost != null) "-Dserver.use-forward-headers=true"} \ ${toString cfg.jvmOptions} \ -verbose:gc \ -jar ${cfg.war} @@ -168,6 +174,6 @@ in { createHome = true; isSystemUser = true; }; - users.groups.airsonic = {}; + users.groups.airsonic = { }; }; } diff --git a/nixos/modules/services/misc/amazon-ssm-agent.nix b/nixos/modules/services/misc/amazon-ssm-agent.nix index 8267f9c42f8ce..e95bea72c7d77 100644 --- a/nixos/modules/services/misc/amazon-ssm-agent.nix +++ b/nixos/modules/services/misc/amazon-ssm-agent.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.amazon-ssm-agent; @@ -16,25 +21,37 @@ let sudoRule = { users = [ "ssm-user" ]; - commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; + commands = [ + { + command = "ALL"; + options = [ "NOPASSWD" ]; + } + ]; }; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "services" "ssm-agent" "enable" ] [ "services" "amazon-ssm-agent" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "ssm-agent" "package" ] [ "services" "amazon-ssm-agent" "package" ]) + (lib.mkRenamedOptionModule + [ "services" "ssm-agent" "enable" ] + [ "services" "amazon-ssm-agent" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ssm-agent" "package" ] + [ "services" "amazon-ssm-agent" "package" ] + ) ]; options.services.amazon-ssm-agent = { enable = lib.mkEnableOption "Amazon SSM agent"; - package = lib.mkPackageOption pkgs "amazon-ssm-agent" {}; + package = lib.mkPackageOption pkgs "amazon-ssm-agent" { }; }; config = lib.mkIf cfg.enable { # See https://github.com/aws/amazon-ssm-agent/blob/mainline/packaging/linux/amazon-ssm-agent.service systemd.services.amazon-ssm-agent = { inherit (cfg.package.meta) description; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; path = [ @@ -62,15 +79,17 @@ in { # On Amazon Linux 2 images, the ssm-user user is pretty much a # normal user with its own group. We do the same. - users.groups.ssm-user = {}; + users.groups.ssm-user = { }; users.users.ssm-user = { isNormalUser = true; group = "ssm-user"; }; - environment.etc."amazon/ssm/seelog.xml".source = "${cfg.package}/etc/amazon/ssm/seelog.xml.template"; + environment.etc."amazon/ssm/seelog.xml".source = + "${cfg.package}/etc/amazon/ssm/seelog.xml.template"; - environment.etc."amazon/ssm/amazon-ssm-agent.json".source = "${cfg.package}/etc/amazon/ssm/amazon-ssm-agent.json.template"; + environment.etc."amazon/ssm/amazon-ssm-agent.json".source = + "${cfg.package}/etc/amazon/ssm/amazon-ssm-agent.json.template"; }; } diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix index 0ed20961c57be..1937be8a26b68 100644 --- a/nixos/modules/services/misc/apache-kafka.nix +++ b/nixos/modules/services/misc/apache-kafka.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.apache-kafka; @@ -12,21 +17,24 @@ let # Make sure every `freeformType` and any specific option type in `settings` is # supported here. - mkPropertyString = let - render = { - bool = lib.boolToString; - int = toString; - list = lib.concatMapStringsSep "," mkPropertyString; - string = lib.id; - }; - in + mkPropertyString = + let + render = { + bool = lib.boolToString; + int = toString; + list = lib.concatMapStringsSep "," mkPropertyString; + string = lib.id; + }; + in v: render.${builtins.typeOf v} v; - stringlySettings = lib.mapAttrs (_: mkPropertyString) - (lib.filterAttrs (_: v: v != null) cfg.settings); + stringlySettings = lib.mapAttrs (_: mkPropertyString) ( + lib.filterAttrs (_: v: v != null) cfg.settings + ); - generator = (pkgs.formats.javaProperties {}).generate; -in { + generator = (pkgs.formats.javaProperties { }).generate; +in +{ options.services.apache-kafka = { enable = lib.mkEnableOption "Apache Kafka event streaming broker"; @@ -40,11 +48,18 @@ in { Keys with dots are NOT represented by nested attrs in these settings, but instead as quoted strings (ie. `settings."broker.id"`, NOT `settings.broker.id`). - ''; + ''; type = lib.types.submodule { - freeformType = with lib.types; let - primitive = oneOf [bool int str]; - in lazyAttrsOf (nullOr (either primitive (listOf primitive))); + freeformType = + with lib.types; + let + primitive = oneOf [ + bool + int + str + ]; + in + lazyAttrsOf (nullOr (either primitive (listOf primitive))); options = { "broker.id" = lib.mkOption { @@ -129,7 +144,7 @@ in { jvmOptions = lib.mkOption { description = "Extra command line options for the JVM running Kafka."; - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; example = [ "-Djava.net.preferIPv4Stack=true" @@ -151,22 +166,37 @@ in { imports = [ (lib.mkRenamedOptionModule [ "services" "apache-kafka" "brokerId" ] - [ "services" "apache-kafka" "settings" ''broker.id'' ]) + [ "services" "apache-kafka" "settings" ''broker.id'' ] + ) (lib.mkRenamedOptionModule [ "services" "apache-kafka" "logDirs" ] - [ "services" "apache-kafka" "settings" ''log.dirs'' ]) + [ "services" "apache-kafka" "settings" ''log.dirs'' ] + ) (lib.mkRenamedOptionModule [ "services" "apache-kafka" "zookeeper" ] - [ "services" "apache-kafka" "settings" ''zookeeper.connect'' ]) - - (lib.mkRemovedOptionModule [ "services" "apache-kafka" "port" ] - "Please see services.apache-kafka.settings.listeners and its documentation instead") - (lib.mkRemovedOptionModule [ "services" "apache-kafka" "hostname" ] - "Please see services.apache-kafka.settings.listeners and its documentation instead") - (lib.mkRemovedOptionModule [ "services" "apache-kafka" "extraProperties" ] - "Please see services.apache-kafka.settings and its documentation instead") - (lib.mkRemovedOptionModule [ "services" "apache-kafka" "serverProperties" ] - "Please see services.apache-kafka.settings and its documentation instead") + [ "services" "apache-kafka" "settings" ''zookeeper.connect'' ] + ) + + (lib.mkRemovedOptionModule [ + "services" + "apache-kafka" + "port" + ] "Please see services.apache-kafka.settings.listeners and its documentation instead") + (lib.mkRemovedOptionModule [ + "services" + "apache-kafka" + "hostname" + ] "Please see services.apache-kafka.settings.listeners and its documentation instead") + (lib.mkRemovedOptionModule [ + "services" + "apache-kafka" + "extraProperties" + ] "Please see services.apache-kafka.settings and its documentation instead") + (lib.mkRemovedOptionModule [ + "services" + "apache-kafka" + "serverProperties" + ] "Please see services.apache-kafka.settings and its documentation instead") ]; config = lib.mkIf cfg.enable { @@ -177,22 +207,30 @@ in { group = "apache-kafka"; description = "Apache Kafka daemon user"; }; - users.groups.apache-kafka = {}; + users.groups.apache-kafka = { }; - systemd.tmpfiles.rules = map (logDir: "d '${logDir}' 0700 apache-kafka - - -") cfg.settings."log.dirs"; + systemd.tmpfiles.rules = map ( + logDir: "d '${logDir}' 0700 apache-kafka - - -" + ) cfg.settings."log.dirs"; systemd.services.apache-kafka = { description = "Apache Kafka Daemon"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - preStart = lib.mkIf cfg.formatLogDirs - (if cfg.formatLogDirsIgnoreFormatted then '' - ${cfg.package}/bin/kafka-storage.sh format -t "${cfg.clusterId}" -c ${cfg.configFiles.serverProperties} --ignore-formatted - '' else '' - if ${lib.concatMapStringsSep " && " (l: ''[ ! -f "${l}/meta.properties" ]'') cfg.settings."log.dirs"}; then - ${cfg.package}/bin/kafka-storage.sh format -t "${cfg.clusterId}" -c ${cfg.configFiles.serverProperties} - fi - ''); + preStart = lib.mkIf cfg.formatLogDirs ( + if cfg.formatLogDirsIgnoreFormatted then + '' + ${cfg.package}/bin/kafka-storage.sh format -t "${cfg.clusterId}" -c ${cfg.configFiles.serverProperties} --ignore-formatted + '' + else + '' + if ${ + lib.concatMapStringsSep " && " (l: ''[ ! -f "${l}/meta.properties" ]'') cfg.settings."log.dirs" + }; then + ${cfg.package}/bin/kafka-storage.sh format -t "${cfg.clusterId}" -c ${cfg.configFiles.serverProperties} + fi + '' + ); serviceConfig = { ExecStart = '' ${cfg.jre}/bin/java \ diff --git a/nixos/modules/services/misc/atuin.nix b/nixos/modules/services/misc/atuin.nix index 79c2c2a171e8d..59bdae6388704 100644 --- a/nixos/modules/services/misc/atuin.nix +++ b/nixos/modules/services/misc/atuin.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let inherit (lib) mkOption types mkIf; cfg = config.services.atuin; @@ -76,10 +81,12 @@ in services.postgresql = mkIf cfg.database.createLocally { enable = true; - ensureUsers = [{ - name = "atuin"; - ensureDBOwnership = true; - }]; + ensureUsers = [ + { + name = "atuin"; + ensureDBOwnership = true; + } + ]; ensureDatabases = [ "atuin" ]; }; @@ -132,16 +139,18 @@ in UMask = "0077"; }; - environment = { - ATUIN_HOST = cfg.host; - ATUIN_PORT = toString cfg.port; - ATUIN_MAX_HISTORY_LENGTH = toString cfg.maxHistoryLength; - ATUIN_OPEN_REGISTRATION = lib.boolToString cfg.openRegistration; - ATUIN_PATH = cfg.path; - ATUIN_CONFIG_DIR = "/run/atuin"; # required to start, but not used as configuration is via environment variables - } // lib.optionalAttrs (cfg.database.uri != null) { - ATUIN_DB_URI = cfg.database.uri; - }; + environment = + { + ATUIN_HOST = cfg.host; + ATUIN_PORT = toString cfg.port; + ATUIN_MAX_HISTORY_LENGTH = toString cfg.maxHistoryLength; + ATUIN_OPEN_REGISTRATION = lib.boolToString cfg.openRegistration; + ATUIN_PATH = cfg.path; + ATUIN_CONFIG_DIR = "/run/atuin"; # required to start, but not used as configuration is via environment variables + } + // lib.optionalAttrs (cfg.database.uri != null) { + ATUIN_DB_URI = cfg.database.uri; + }; }; networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ]; diff --git a/nixos/modules/services/misc/autofs.nix b/nixos/modules/services/misc/autofs.nix index 6c3ab8e57df90..cdb6d606d57ed 100644 --- a/nixos/modules/services/misc/autofs.nix +++ b/nixos/modules/services/misc/autofs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.autofs; @@ -66,31 +71,35 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { boot.kernelModules = [ "autofs" ]; - systemd.services.autofs = - { description = "Automounts filesystems on demand"; - after = [ "network.target" "ypbind.service" "sssd.service" "network-online.target" ]; - wants = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - - preStart = '' - # There should be only one autofs service managed by systemd, so this should be safe. - rm -f /tmp/autofs-running - ''; - - serviceConfig = { - Type = "forking"; - PIDFile = "/run/autofs.pid"; - ExecStart = "${pkgs.autofs5}/bin/automount ${lib.optionalString cfg.debug "-d"} -p /run/autofs.pid -t ${builtins.toString cfg.timeout} ${autoMaster}"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - }; + systemd.services.autofs = { + description = "Automounts filesystems on demand"; + after = [ + "network.target" + "ypbind.service" + "sssd.service" + "network-online.target" + ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + + preStart = '' + # There should be only one autofs service managed by systemd, so this should be safe. + rm -f /tmp/autofs-running + ''; + + serviceConfig = { + Type = "forking"; + PIDFile = "/run/autofs.pid"; + ExecStart = "${pkgs.autofs5}/bin/automount ${lib.optionalString cfg.debug "-d"} -p /run/autofs.pid -t ${builtins.toString cfg.timeout} ${autoMaster}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; + }; }; diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix index f0490d63ad7fc..4eb59340fc9c5 100644 --- a/nixos/modules/services/misc/autorandr.nix +++ b/nixos/modules/services/misc/autorandr.nix @@ -1,24 +1,41 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.autorandr; hookType = lib.types.lines; - matrixOf = n: m: elemType: - lib.mkOptionType rec { - name = "matrixOf"; - description = - "${toString n}×${toString m} matrix of ${elemType.description}s"; - check = xss: - let listOfSize = l: xs: lib.isList xs && lib.length xs == l; - in listOfSize n xss - && lib.all (xs: listOfSize m xs && lib.all elemType.check xs) xss; - merge = lib.mergeOneOption; - getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" "*" ]); - getSubModules = elemType.getSubModules; - substSubModules = mod: matrixOf n m (elemType.substSubModules mod); - functor = (lib.defaultFunctor name) // { wrapped = elemType; }; - }; + matrixOf = + n: m: elemType: + lib.mkOptionType rec { + name = "matrixOf"; + description = "${toString n}×${toString m} matrix of ${elemType.description}s"; + check = + xss: + let + listOfSize = l: xs: lib.isList xs && lib.length xs == l; + in + listOfSize n xss && lib.all (xs: listOfSize m xs && lib.all elemType.check xs) xss; + merge = lib.mergeOneOption; + getSubOptions = + prefix: + elemType.getSubOptions ( + prefix + ++ [ + "*" + "*" + ] + ); + getSubModules = elemType.getSubModules; + substSubModules = mod: matrixOf n m (elemType.substSubModules mod); + functor = (lib.defaultFunctor name) // { + wrapped = elemType; + }; + }; profileModule = lib.types.submodule { options = { @@ -95,7 +112,14 @@ let }; rotate = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "normal" "left" "right" "inverted" ]); + type = lib.types.nullOr ( + lib.types.enum [ + "normal" + "left" + "right" + "inverted" + ] + ); description = "Output rotate configuration."; default = null; example = "left"; @@ -126,26 +150,31 @@ let }; scale = lib.mkOption { - type = lib.types.nullOr (lib.types.submodule { - options = { - method = lib.mkOption { - type = lib.types.enum [ "factor" "pixel" ]; - description = "Output scaling method."; - default = "factor"; - example = "pixel"; - }; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + method = lib.mkOption { + type = lib.types.enum [ + "factor" + "pixel" + ]; + description = "Output scaling method."; + default = "factor"; + example = "pixel"; + }; - x = lib.mkOption { - type = lib.types.either lib.types.float lib.types.ints.positive; - description = "Horizontal scaling factor/pixels."; - }; + x = lib.mkOption { + type = lib.types.either lib.types.float lib.types.ints.positive; + description = "Horizontal scaling factor/pixels."; + }; - y = lib.mkOption { - type = lib.types.either lib.types.float lib.types.ints.positive; - description = "Vertical scaling factor/pixels."; + y = lib.mkOption { + type = lib.types.either lib.types.float lib.types.ints.positive; + description = "Vertical scaling factor/pixels."; + }; }; - }; - }); + } + ); description = '' Output scale configuration. @@ -195,27 +224,33 @@ let }; }; - hookToFile = folder: name: hook: + hookToFile = + folder: name: hook: lib.nameValuePair "xdg/autorandr/${folder}/${name}" { source = "${pkgs.writeShellScriptBin "hook" hook}/bin/hook"; }; - profileToFiles = name: profile: + profileToFiles = + name: profile: with profile; lib.mkMerge ([ { - "xdg/autorandr/${name}/setup".text = lib.concatStringsSep "\n" - (lib.mapAttrsToList fingerprintToString fingerprint); - "xdg/autorandr/${name}/config".text = - lib.concatStringsSep "\n" (lib.mapAttrsToList configToString profile.config); + "xdg/autorandr/${name}/setup".text = lib.concatStringsSep "\n" ( + lib.mapAttrsToList fingerprintToString fingerprint + ); + "xdg/autorandr/${name}/config".text = lib.concatStringsSep "\n" ( + lib.mapAttrsToList configToString profile.config + ); } (lib.mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch) (lib.mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch) (lib.mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect) ]); fingerprintToString = name: edid: "${name} ${edid}"; - configToString = name: config: + configToString = + name: config: if config.enable then - lib.concatStringsSep "\n" ([ "output ${name}" ] + lib.concatStringsSep "\n" ( + [ "output ${name}" ] ++ lib.optional (config.position != "") "pos ${config.position}" ++ lib.optional (config.crtc != null) "crtc ${toString config.crtc}" ++ lib.optional config.primary "primary" @@ -224,17 +259,22 @@ let ++ lib.optional (config.mode != "") "mode ${config.mode}" ++ lib.optional (config.rate != "") "rate ${config.rate}" ++ lib.optional (config.rotate != null) "rotate ${config.rotate}" - ++ lib.optional (config.transform != null) ("transform " - + lib.concatMapStringsSep "," toString (lib.flatten config.transform)) - ++ lib.optional (config.scale != null) - ((if config.scale.method == "factor" then "scale" else "scale-from") - + " ${toString config.scale.x}x${toString config.scale.y}")) - else '' - output ${name} - off - ''; - -in { + ++ lib.optional (config.transform != null) ( + "transform " + lib.concatMapStringsSep "," toString (lib.flatten config.transform) + ) + ++ lib.optional (config.scale != null) ( + (if config.scale.method == "factor" then "scale" else "scale-from") + + " ${toString config.scale.x}x${toString config.scale.y}" + ) + ) + else + '' + output ${name} + off + ''; + +in +{ options = { diff --git a/nixos/modules/services/misc/autosuspend.nix b/nixos/modules/services/misc/autosuspend.nix index a41ad43c44297..53f872d3e040f 100644 --- a/nixos/modules/services/misc/autosuspend.nix +++ b/nixos/modules/services/misc/autosuspend.nix @@ -1,66 +1,85 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) mapAttrs' nameValuePair filterAttrs types mkEnableOption - mkPackageOption mkOption literalExpression mkIf flatten - maintainers attrValues; + inherit (lib) + mapAttrs' + nameValuePair + filterAttrs + types + mkEnableOption + mkPackageOption + mkOption + literalExpression + mkIf + flatten + maintainers + attrValues + ; cfg = config.services.autosuspend; settingsFormat = pkgs.formats.ini { }; - checks = - mapAttrs' - (n: v: nameValuePair "check.${n}" (filterAttrs (_: v: v != null) v)) - cfg.checks; - wakeups = - mapAttrs' - (n: v: nameValuePair "wakeup.${n}" (filterAttrs (_: v: v != null) v)) - cfg.wakeups; + checks = mapAttrs' (n: v: nameValuePair "check.${n}" (filterAttrs (_: v: v != null) v)) cfg.checks; + wakeups = mapAttrs' ( + n: v: nameValuePair "wakeup.${n}" (filterAttrs (_: v: v != null) v) + ) cfg.wakeups; # Whether the given check is enabled - hasCheck = class: - (filterAttrs - (n: v: v.enabled && (if v.class == null then n else v.class) == class) - cfg.checks) + hasCheck = + class: + (filterAttrs (n: v: v.enabled && (if v.class == null then n else v.class) == class) cfg.checks) != { }; # Dependencies needed by specific checks dependenciesForChecks = { "Smb" = pkgs.samba; - "XIdleTime" = [ pkgs.xprintidle pkgs.sudo ]; + "XIdleTime" = [ + pkgs.xprintidle + pkgs.sudo + ]; }; - autosuspend-conf = - settingsFormat.generate "autosuspend.conf" ({ general = cfg.settings; } // checks // wakeups); + autosuspend-conf = settingsFormat.generate "autosuspend.conf" ( + { general = cfg.settings; } // checks // wakeups + ); autosuspend = cfg.package; checkType = types.submodule { freeformType = settingsFormat.type.nestedTypes.elemType; - options.enabled = mkEnableOption "this activity check" // { default = true; }; + options.enabled = mkEnableOption "this activity check" // { + default = true; + }; options.class = mkOption { default = null; - type = with types; nullOr (enum [ - "ActiveCalendarEvent" - "ActiveConnection" - "ExternalCommand" - "JsonPath" - "Kodi" - "KodiIdleTime" - "LastLogActivity" - "Load" - "LogindSessionsIdle" - "Mpd" - "NetworkBandwidth" - "Ping" - "Processes" - "Smb" - "Users" - "XIdleTime" - "XPath" - ]); + type = + with types; + nullOr (enum [ + "ActiveCalendarEvent" + "ActiveConnection" + "ExternalCommand" + "JsonPath" + "Kodi" + "KodiIdleTime" + "LastLogActivity" + "Load" + "LogindSessionsIdle" + "Mpd" + "NetworkBandwidth" + "Ping" + "Processes" + "Smb" + "Users" + "XIdleTime" + "XPath" + ]); description = '' Name of the class implementing the check. If this option is not specified, the check's name must represent a valid internal check class. @@ -71,19 +90,23 @@ let wakeupType = types.submodule { freeformType = settingsFormat.type.nestedTypes.elemType; - options.enabled = mkEnableOption "this wake-up check" // { default = true; }; + options.enabled = mkEnableOption "this wake-up check" // { + default = true; + }; options.class = mkOption { default = null; - type = with types; nullOr (enum [ - "Calendar" - "Command" - "File" - "Periodic" - "SystemdTimer" - "XPath" - "XPathDelta" - ]); + type = + with types; + nullOr (enum [ + "Calendar" + "Command" + "File" + "Periodic" + "SystemdTimer" + "XPath" + "XPathDelta" + ]); description = '' Name of the class implementing the check. If this option is not specified, the check's name must represent a valid internal check class. diff --git a/nixos/modules/services/misc/bcg.nix b/nixos/modules/services/misc/bcg.nix index 98193fcafb3e4..002ff03ab068a 100644 --- a/nixos/modules/services/misc/bcg.nix +++ b/nixos/modules/services/misc/bcg.nix @@ -6,7 +6,7 @@ }: let cfg = config.services.bcg; - configFile = (pkgs.formats.yaml {}).generate "bcg.conf.yaml" ( + configFile = (pkgs.formats.yaml { }).generate "bcg.conf.yaml" ( lib.filterAttrsRecursive (n: v: v != null) { inherit (cfg) device name mqtt; retain_node_messages = cfg.retainNodeMessages; @@ -26,7 +26,7 @@ in package = lib.mkPackageOption pkgs [ "python3Packages" "bcg" ] { }; environmentFiles = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; example = [ "/run/keys/bcg.env" ]; description = '' File to load as environment file. Environment variables from this file @@ -36,7 +36,13 @@ in ''; }; verbose = lib.mkOption { - type = lib.types.enum ["CRITICAL" "ERROR" "WARNING" "INFO" "DEBUG"]; + type = lib.types.enum [ + "CRITICAL" + "ERROR" + "WARNING" + "INFO" + "DEBUG" + ]; default = "WARNING"; description = "Verbosity level."; }; @@ -131,7 +137,7 @@ in }; rename = lib.mkOption { type = with lib.types; attrsOf str; - default = {}; + default = { }; description = "Rename nodes to different name."; }; }; @@ -143,25 +149,27 @@ in python3Packages.bch ]; - systemd.services.bcg = let - envConfig = cfg.environmentFiles != []; - finalConfig = if envConfig - then "\${RUNTIME_DIRECTORY}/bcg.config.yaml" - else configFile; - in { - description = "BigClown Gateway"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ] ++ lib.optional config.services.mosquitto.enable "mosquitto.service"; - after = [ "network-online.target" ]; - preStart = lib.mkIf envConfig '' - umask 077 - ${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}" + systemd.services.bcg = + let + envConfig = cfg.environmentFiles != [ ]; + finalConfig = if envConfig then "\${RUNTIME_DIRECTORY}/bcg.config.yaml" else configFile; + in + { + description = "BigClown Gateway"; + wantedBy = [ "multi-user.target" ]; + wants = [ + "network-online.target" + ] ++ lib.optional config.services.mosquitto.enable "mosquitto.service"; + after = [ "network-online.target" ]; + preStart = lib.mkIf envConfig '' + umask 077 + ${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}" ''; - serviceConfig = { - EnvironmentFile = cfg.environmentFiles; - ExecStart = "${cfg.package}/bin/bcg -c ${finalConfig} -v ${cfg.verbose}"; - RuntimeDirectory = "bcg"; + serviceConfig = { + EnvironmentFile = cfg.environmentFiles; + ExecStart = "${cfg.package}/bin/bcg -c ${finalConfig} -v ${cfg.verbose}"; + RuntimeDirectory = "bcg"; + }; }; - }; }; } diff --git a/nixos/modules/services/misc/beanstalkd.nix b/nixos/modules/services/misc/beanstalkd.nix index 5f7e4be34daa6..d2a652e5372d7 100644 --- a/nixos/modules/services/misc/beanstalkd.nix +++ b/nixos/modules/services/misc/beanstalkd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.beanstalkd; pkg = pkgs.beanstalkd; diff --git a/nixos/modules/services/misc/bepasty.nix b/nixos/modules/services/misc/bepasty.nix index 76e85a91317c2..d890fe507ae7c 100644 --- a/nixos/modules/services/misc/bepasty.nix +++ b/nixos/modules/services/misc/bepasty.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let gunicorn = pkgs.python3Packages.gunicorn; bepasty = pkgs.bepasty; @@ -14,105 +19,115 @@ in enable = lib.mkEnableOption "bepasty, a binary pastebin server"; servers = lib.mkOption { - default = {}; + default = { }; description = '' configure a number of bepasty servers which will be started with gunicorn. - ''; - type = with lib.types ; attrsOf (submodule ({ config, ... } : { - - options = { - - bind = lib.mkOption { - type = lib.types.str; - description = '' - Bind address to be used for this server. - ''; - example = "0.0.0.0:8000"; - default = "127.0.0.1:8000"; - }; - - dataDir = lib.mkOption { - type = lib.types.str; - description = '' - Path to the directory where the pastes will be saved to - ''; - default = default_home+"/data"; - }; - - defaultPermissions = lib.mkOption { - type = lib.types.str; - description = '' - default permissions for all unauthenticated accesses. - ''; - example = "read,create,delete"; - default = "read"; - }; - - extraConfig = lib.mkOption { - type = lib.types.lines; - description = '' - Extra configuration for bepasty server to be appended on the - configuration. - see https://bepasty-server.readthedocs.org/en/latest/quickstart.html#configuring-bepasty - for all options. - ''; - default = ""; - example = '' - PERMISSIONS = { - 'myadminsecret': 'admin,list,create,read,delete', - } - MAX_ALLOWED_FILE_SIZE = 5 * 1000 * 1000 - ''; - }; - - secretKey = lib.mkOption { - type = lib.types.str; - description = '' - server secret for safe session cookies, must be set. - - Warning: this secret is stored in the WORLD-READABLE Nix store! - - It's recommended to use {option}`secretKeyFile` - which takes precedence over {option}`secretKey`. - ''; - default = ""; - }; - - secretKeyFile = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - description = '' - A file that contains the server secret for safe session cookies, must be set. - - {option}`secretKeyFile` takes precedence over {option}`secretKey`. - - Warning: when {option}`secretKey` is non-empty {option}`secretKeyFile` - defaults to a file in the WORLD-READABLE Nix store containing that secret. - ''; - }; - - workDir = lib.mkOption { - type = lib.types.str; - description = '' - Path to the working directory (used for config and pidfile). - Defaults to the users home directory. - ''; - default = default_home; - }; - - }; - config = { - secretKeyFile = lib.mkDefault ( - if config.secretKey != "" - then toString (pkgs.writeTextFile { - name = "bepasty-secret-key"; - text = config.secretKey; - }) - else null - ); - }; - })); + ''; + type = + with lib.types; + attrsOf ( + submodule ( + { config, ... }: + { + + options = { + + bind = lib.mkOption { + type = lib.types.str; + description = '' + Bind address to be used for this server. + ''; + example = "0.0.0.0:8000"; + default = "127.0.0.1:8000"; + }; + + dataDir = lib.mkOption { + type = lib.types.str; + description = '' + Path to the directory where the pastes will be saved to + ''; + default = default_home + "/data"; + }; + + defaultPermissions = lib.mkOption { + type = lib.types.str; + description = '' + default permissions for all unauthenticated accesses. + ''; + example = "read,create,delete"; + default = "read"; + }; + + extraConfig = lib.mkOption { + type = lib.types.lines; + description = '' + Extra configuration for bepasty server to be appended on the + configuration. + see https://bepasty-server.readthedocs.org/en/latest/quickstart.html#configuring-bepasty + for all options. + ''; + default = ""; + example = '' + PERMISSIONS = { + 'myadminsecret': 'admin,list,create,read,delete', + } + MAX_ALLOWED_FILE_SIZE = 5 * 1000 * 1000 + ''; + }; + + secretKey = lib.mkOption { + type = lib.types.str; + description = '' + server secret for safe session cookies, must be set. + + Warning: this secret is stored in the WORLD-READABLE Nix store! + + It's recommended to use {option}`secretKeyFile` + which takes precedence over {option}`secretKey`. + ''; + default = ""; + }; + + secretKeyFile = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + description = '' + A file that contains the server secret for safe session cookies, must be set. + + {option}`secretKeyFile` takes precedence over {option}`secretKey`. + + Warning: when {option}`secretKey` is non-empty {option}`secretKeyFile` + defaults to a file in the WORLD-READABLE Nix store containing that secret. + ''; + }; + + workDir = lib.mkOption { + type = lib.types.str; + description = '' + Path to the working directory (used for config and pidfile). + Defaults to the users home directory. + ''; + default = default_home; + }; + + }; + config = { + secretKeyFile = lib.mkDefault ( + if config.secretKey != "" then + toString ( + pkgs.writeTextFile { + name = "bepasty-secret-key"; + text = config.secretKey; + } + ) + else + null + ); + }; + } + ) + ); }; }; @@ -121,27 +136,34 @@ in environment.systemPackages = [ bepasty ]; # creates gunicorn systemd service for each configured server - systemd.services = lib.mapAttrs' (name: server: - lib.nameValuePair ("bepasty-server-${name}-gunicorn") - ({ - description = "Bepasty Server ${name}"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - restartIfChanged = true; - - environment = let + systemd.services = lib.mapAttrs' ( + name: server: + lib.nameValuePair ("bepasty-server-${name}-gunicorn") ({ + description = "Bepasty Server ${name}"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + restartIfChanged = true; + + environment = + let penv = python.buildEnv.override { - extraLibs = [ bepasty gevent ]; + extraLibs = [ + bepasty + gevent + ]; }; - in { + in + { BEPASTY_CONFIG = "${server.workDir}/bepasty-${name}.conf"; - PYTHONPATH= "${penv}/${python.sitePackages}/"; + PYTHONPATH = "${penv}/${python.sitePackages}/"; }; - serviceConfig = { - Type = "simple"; - PrivateTmp = true; - ExecStartPre = assert server.secretKeyFile != null; pkgs.writeScript "bepasty-server.${name}-init" '' + serviceConfig = { + Type = "simple"; + PrivateTmp = true; + ExecStartPre = + assert server.secretKeyFile != null; + pkgs.writeScript "bepasty-server.${name}-init" '' #!/bin/sh mkdir -p "${server.workDir}" mkdir -p "${server.dataDir}" @@ -154,23 +176,24 @@ in ${server.extraConfig} EOF ''; - ExecStart = ''${gunicorn}/bin/gunicorn bepasty.wsgi --name ${name} \ - -u ${user} \ - -g ${group} \ - --workers 3 --log-level=info \ - --bind=${server.bind} \ - --pid ${server.workDir}/gunicorn-${name}.pid \ - -k gevent - ''; - }; - }) + ExecStart = '' + ${gunicorn}/bin/gunicorn bepasty.wsgi --name ${name} \ + -u ${user} \ + -g ${group} \ + --workers 3 --log-level=info \ + --bind=${server.bind} \ + --pid ${server.workDir}/gunicorn-${name}.pid \ + -k gevent + ''; + }; + }) ) cfg.servers; - users.users.${user} = - { uid = config.ids.uids.bepasty; - group = group; - home = default_home; - }; + users.users.${user} = { + uid = config.ids.uids.bepasty; + group = group; + home = default_home; + }; users.groups.${group}.gid = config.ids.gids.bepasty; }; diff --git a/nixos/modules/services/misc/blenderfarm.nix b/nixos/modules/services/misc/blenderfarm.nix index 0d8ecf7af8e20..dbe6bcad13654 100644 --- a/nixos/modules/services/misc/blenderfarm.nix +++ b/nixos/modules/services/misc/blenderfarm.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.services.blendfarm; @@ -35,8 +36,9 @@ in }; basicSecurityPasswordFile = lib.mkOption { - description = ''Path to the password file the client needs to connect to the server. - The password must not contain a forward slash.''; + description = '' + Path to the password file the client needs to connect to the server. + The password must not contain a forward slash.''; default = null; type = nullOr str; }; @@ -83,20 +85,21 @@ in wants = [ "network-online.target" ]; description = "blendfarm server"; path = [ cfg.blenderPackage ]; - preStart = '' - rm -f ServerSettings - install -m640 ${configFile} ServerSettings - if [ ! -d "BlenderData/nix-blender-linux64" ]; then - mkdir -p BlenderData/nix-blender-linux64 - echo "nix-blender" > VersionCustom - fi - rm -f BlenderData/nix-blender-linux64/blender - ln -s ${lib.getExe cfg.blenderPackage} BlenderData/nix-blender-linux64/blender - '' + - lib.optionalString (cfg.basicSecurityPasswordFile != null) '' - BLENDFARM_PASSWORD=$(${pkgs.systemd}/bin/systemd-creds cat BLENDFARM_PASS_FILE) - sed -i "s/null/\"$BLENDFARM_PASSWORD\"/g" ServerSettings - ''; + preStart = + '' + rm -f ServerSettings + install -m640 ${configFile} ServerSettings + if [ ! -d "BlenderData/nix-blender-linux64" ]; then + mkdir -p BlenderData/nix-blender-linux64 + echo "nix-blender" > VersionCustom + fi + rm -f BlenderData/nix-blender-linux64/blender + ln -s ${lib.getExe cfg.blenderPackage} BlenderData/nix-blender-linux64/blender + '' + + lib.optionalString (cfg.basicSecurityPasswordFile != null) '' + BLENDFARM_PASSWORD=$(${pkgs.systemd}/bin/systemd-creds cat BLENDFARM_PASS_FILE) + sed -i "s/null/\"$BLENDFARM_PASSWORD\"/g" ServerSettings + ''; serviceConfig = { ExecStart = "${cfg.package}/bin/LogicReinc.BlendFarm.Server"; DynamicUser = true; @@ -106,10 +109,16 @@ in User = cfg.user; Group = cfg.group; StateDirectoryMode = "0755"; - LoadCredential = lib.optional (cfg.basicSecurityPasswordFile != null) "BLENDFARM_PASS_FILE:${cfg.basicSecurityPasswordFile}"; + LoadCredential = lib.optional ( + cfg.basicSecurityPasswordFile != null + ) "BLENDFARM_PASS_FILE:${cfg.basicSecurityPasswordFile}"; ReadWritePaths = ""; CapabilityBoundingSet = ""; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; PrivateDevices = true; PrivateUsers = true; diff --git a/nixos/modules/services/misc/calibre-server.nix b/nixos/modules/services/misc/calibre-server.nix index 160a1c1e53c4a..10da80b8c4982 100644 --- a/nixos/modules/services/misc/calibre-server.nix +++ b/nixos/modules/services/misc/calibre-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.calibre-server; @@ -6,22 +11,33 @@ let documentationLink = "https://manual.calibre-ebook.com"; generatedDocumentationLink = documentationLink + "/generated/en/calibre-server.html"; - execFlags = (lib.concatStringsSep " " - (lib.mapAttrsToList (k: v: "${k} ${toString v}") (lib.filterAttrs (name: value: value != null) { - "--listen-on" = cfg.host; - "--port" = cfg.port; - "--auth-mode" = cfg.auth.mode; - "--userdb" = cfg.auth.userDb; - }) ++ [ (lib.optionalString (cfg.auth.enable == true) "--enable-auth") ] ++ cfg.extraFlags) + execFlags = ( + lib.concatStringsSep " " ( + lib.mapAttrsToList (k: v: "${k} ${toString v}") ( + lib.filterAttrs (name: value: value != null) { + "--listen-on" = cfg.host; + "--port" = cfg.port; + "--auth-mode" = cfg.auth.mode; + "--userdb" = cfg.auth.userDb; + } + ) + ++ [ (lib.optionalString (cfg.auth.enable == true) "--enable-auth") ] + ++ cfg.extraFlags + ) ); in { imports = [ - (lib.mkChangedOptionModule [ "services" "calibre-server" "libraryDir" ] [ "services" "calibre-server" "libraries" ] - (config: - let libraryDir = lib.getAttrFromPath [ "services" "calibre-server" "libraryDir" ] config; - in [ libraryDir ] + (lib.mkChangedOptionModule + [ "services" "calibre-server" "libraryDir" ] + [ "services" "calibre-server" "libraries" ] + ( + config: + let + libraryDir = lib.getAttrFromPath [ "services" "calibre-server" "libraryDir" ] config; + in + [ libraryDir ] ) ) ]; @@ -85,8 +101,7 @@ in openFirewall = lib.mkOption { type = lib.types.bool; default = false; - description = - "Open ports in the firewall for the Calibre Server web interface."; + description = "Open ports in the firewall for the Calibre Server web interface."; }; auth = { @@ -100,7 +115,11 @@ in }; mode = lib.mkOption { - type = lib.types.enum [ "auto" "basic" "digest" ]; + type = lib.types.enum [ + "auto" + "basic" + "digest" + ]; default = "auto"; description = '' Choose the type of authentication used. @@ -153,8 +172,7 @@ in }; }; - networking.firewall = - lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; }; + networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; }; }; diff --git a/nixos/modules/services/misc/canto-daemon.nix b/nixos/modules/services/misc/canto-daemon.nix index c5a702b79e447..1fc4e3d0944f8 100644 --- a/nixos/modules/services/misc/canto-daemon.nix +++ b/nixos/modules/services/misc/canto-daemon.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let -cfg = config.services.canto-daemon; + cfg = config.services.canto-daemon; -in { +in +{ -##### interface + ##### interface options = { @@ -19,7 +25,7 @@ in { }; -##### implementation + ##### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/misc/cfdyndns.nix b/nixos/modules/services/misc/cfdyndns.nix index a34e5d6d39135..bd870c2acdda2 100644 --- a/nixos/modules/services/misc/cfdyndns.nix +++ b/nixos/modules/services/misc/cfdyndns.nix @@ -1,12 +1,19 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.cfdyndns; in { imports = [ - (lib.mkRemovedOptionModule - [ "services" "cfdyndns" "apikey" ] - "Use services.cfdyndns.apikeyFile instead.") + (lib.mkRemovedOptionModule [ + "services" + "cfdyndns" + "apikey" + ] "Use services.cfdyndns.apikeyFile instead.") ]; options = { @@ -39,7 +46,7 @@ in }; records = lib.mkOption { - default = []; + default = [ ]; example = [ "host.tld" ]; type = lib.types.listOf lib.types.str; description = '' @@ -57,11 +64,13 @@ in startAt = "*:0/5"; serviceConfig = { Type = "simple"; - LoadCredential = lib.optional (cfg.apiTokenFile != null) "CLOUDFLARE_APITOKEN_FILE:${cfg.apiTokenFile}"; + LoadCredential = lib.optional ( + cfg.apiTokenFile != null + ) "CLOUDFLARE_APITOKEN_FILE:${cfg.apiTokenFile}"; DynamicUser = true; }; environment = { - CLOUDFLARE_RECORDS="${lib.concatStringsSep "," cfg.records}"; + CLOUDFLARE_RECORDS = "${lib.concatStringsSep "," cfg.records}"; }; script = '' ${lib.optionalString (cfg.apikeyFile != null) '' diff --git a/nixos/modules/services/misc/cgminer.nix b/nixos/modules/services/misc/cgminer.nix index 6aa6bc63c99c8..f87a05d00fc1a 100644 --- a/nixos/modules/services/misc/cgminer.nix +++ b/nixos/modules/services/misc/cgminer.nix @@ -1,25 +1,33 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.cgminer; - convType = with builtins; - v: if lib.isBool v then lib.boolToString v else toString v; - mergedHwConfig = - lib.mapAttrsToList (n: v: ''"${n}": "${(lib.concatStringsSep "," (map convType v))}"'') - (lib.foldAttrs (n: a: [n] ++ a) [] cfg.hardware); - mergedConfig = with builtins; - lib.mapAttrsToList (n: v: ''"${n}": ${if lib.isBool v then convType v else ''"${convType v}"''}'') - cfg.config; + convType = with builtins; v: if lib.isBool v then lib.boolToString v else toString v; + mergedHwConfig = lib.mapAttrsToList ( + n: v: ''"${n}": "${(lib.concatStringsSep "," (map convType v))}"'' + ) (lib.foldAttrs (n: a: [ n ] ++ a) [ ] cfg.hardware); + mergedConfig = + with builtins; + lib.mapAttrsToList ( + n: v: ''"${n}": ${if lib.isBool v then convType v else ''"${convType v}"''}'' + ) cfg.config; cgminerConfig = pkgs.writeText "cgminer.conf" '' - { - ${lib.concatStringsSep ",\n" mergedHwConfig}, - ${lib.concatStringsSep ",\n" mergedConfig}, - "pools": [ - ${lib.concatStringsSep ",\n" - (map (v: ''{"url": "${v.url}", "user": "${v.user}", "pass": "${v.pass}"}'') - cfg.pools)}] - } + { + ${lib.concatStringsSep ",\n" mergedHwConfig}, + ${lib.concatStringsSep ",\n" mergedConfig}, + "pools": [ + ${ + lib.concatStringsSep ",\n" ( + map (v: ''{"url": "${v.url}", "user": "${v.user}", "pass": "${v.pass}"}'') cfg.pools + ) + }] + } ''; in { @@ -39,45 +47,48 @@ in }; pools = lib.mkOption { - default = []; # Run benchmark + default = [ ]; # Run benchmark type = lib.types.listOf (lib.types.attrsOf lib.types.str); description = "List of pools where to mine"; - example = [{ - url = "http://p2pool.org:9332"; - username = "17EUZxTvs9uRmPsjPZSYUU3zCz9iwstudk"; - password="X"; - }]; + example = [ + { + url = "http://p2pool.org:9332"; + username = "17EUZxTvs9uRmPsjPZSYUU3zCz9iwstudk"; + password = "X"; + } + ]; }; hardware = lib.mkOption { - default = []; # Run without options + default = [ ]; # Run without options type = lib.types.listOf (lib.types.attrsOf (lib.types.either lib.types.str lib.types.int)); - description= "List of config options for every GPU"; + description = "List of config options for every GPU"; example = [ - { - intensity = 9; - gpu-engine = "0-985"; - gpu-fan = "0-85"; - gpu-memclock = 860; - gpu-powertune = 20; - temp-cutoff = 95; - temp-overheat = 85; - temp-target = 75; - } - { - intensity = 9; - gpu-engine = "0-950"; - gpu-fan = "0-85"; - gpu-memclock = 825; - gpu-powertune = 20; - temp-cutoff = 95; - temp-overheat = 85; - temp-target = 75; - }]; + { + intensity = 9; + gpu-engine = "0-985"; + gpu-fan = "0-85"; + gpu-memclock = 860; + gpu-powertune = 20; + temp-cutoff = 95; + temp-overheat = 85; + temp-target = 75; + } + { + intensity = 9; + gpu-engine = "0-950"; + gpu-fan = "0-85"; + gpu-memclock = 825; + gpu-powertune = 20; + temp-cutoff = 95; + temp-overheat = 85; + temp-target = 75; + } + ]; }; config = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf (lib.types.either lib.types.bool lib.types.int); description = "Additional config"; example = { @@ -95,7 +106,6 @@ in }; }; - ###### implementation config = lib.mkIf config.services.cgminer.enable { @@ -108,7 +118,7 @@ in }; }; users.groups = lib.optionalAttrs (cfg.user == "cgminer") { - cgminer = {}; + cgminer = { }; }; environment.systemPackages = [ cfg.package ]; @@ -116,7 +126,10 @@ in systemd.services.cgminer = { path = [ pkgs.cgminer ]; - after = [ "network.target" "display-manager.service" ]; + after = [ + "network.target" + "display-manager.service" + ]; wantedBy = [ "multi-user.target" ]; environment = { @@ -126,7 +139,7 @@ in GPU_USE_SYNC_OBJECTS = "1"; }; - startLimitIntervalSec = 60; # 1 min + startLimitIntervalSec = 60; # 1 min serviceConfig = { ExecStart = "${pkgs.cgminer}/bin/cgminer --syslog --text-only --config ${cgminerConfig}"; User = cfg.user; diff --git a/nixos/modules/services/misc/clipcat.nix b/nixos/modules/services/misc/clipcat.nix index 4a46adc0758a9..4860f023c9e5e 100644 --- a/nixos/modules/services/misc/clipcat.nix +++ b/nixos/modules/services/misc/clipcat.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.clipcat; -in { +in +{ - options.services.clipcat= { + options.services.clipcat = { enable = lib.mkEnableOption "Clipcat clipboard daemon"; package = lib.mkPackageOption pkgs "clipcat" { }; @@ -11,10 +17,10 @@ in { config = lib.mkIf cfg.enable { systemd.user.services.clipcat = { - enable = true; + enable = true; description = "clipcat daemon"; wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; serviceConfig.ExecStart = "${cfg.package}/bin/clipcatd --no-daemon"; }; diff --git a/nixos/modules/services/misc/clipmenu.nix b/nixos/modules/services/misc/clipmenu.nix index 559917b7a2bfb..cf17a443ed97f 100644 --- a/nixos/modules/services/misc/clipmenu.nix +++ b/nixos/modules/services/misc/clipmenu.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.clipmenu; -in { +in +{ options.services.clipmenu = { enable = lib.mkEnableOption "clipmenu, the clipboard management daemon"; @@ -11,10 +17,10 @@ in { config = lib.mkIf cfg.enable { systemd.user.services.clipmenu = { - enable = true; + enable = true; description = "Clipboard management daemon"; wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; serviceConfig.ExecStart = "${cfg.package}/bin/clipmenud"; }; diff --git a/nixos/modules/services/misc/confd.nix b/nixos/modules/services/misc/confd.nix index 7744cee320499..fc24c01a89409 100644 --- a/nixos/modules/services/misc/confd.nix +++ b/nixos/modules/services/misc/confd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.confd; @@ -12,14 +17,20 @@ let watch = ${lib.boolToString cfg.watch} ''; -in { +in +{ options.services.confd = { enable = lib.mkEnableOption "confd, a service to manage local application configuration files using templates and data from etcd/consul/redis/zookeeper"; backend = lib.mkOption { description = "Confd config storage backend to use."; default = "etcd"; - type = lib.types.enum ["etcd" "consul" "redis" "zookeeper"]; + type = lib.types.enum [ + "etcd" + "consul" + "redis" + "zookeeper" + ]; }; interval = lib.mkOption { @@ -49,7 +60,10 @@ in { logLevel = lib.mkOption { description = "Confd log level."; default = "info"; - type = lib.types.enum ["info" "debug"]; + type = lib.types.enum [ + "info" + "debug" + ]; }; confDir = lib.mkOption { diff --git a/nixos/modules/services/misc/cpuminer-cryptonight.nix b/nixos/modules/services/misc/cpuminer-cryptonight.nix index c61c0d7c34bdd..adaee2bbb2157 100644 --- a/nixos/modules/services/misc/cpuminer-cryptonight.nix +++ b/nixos/modules/services/misc/cpuminer-cryptonight.nix @@ -1,12 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.cpuminer-cryptonight; json = builtins.toJSON ( - cfg // { - enable = null; - threads = - if cfg.threads == 0 then null else toString cfg.threads; + cfg + // { + enable = null; + threads = if cfg.threads == 0 then null else toString cfg.threads; } ); diff --git a/nixos/modules/services/misc/db-rest.nix b/nixos/modules/services/misc/db-rest.nix index fbf8b327af049..6cb9dd3da5772 100644 --- a/nixos/modules/services/misc/db-rest.nix +++ b/nixos/modules/services/misc/db-rest.nix @@ -1,6 +1,20 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) mkOption types mkIf mkMerge mkDefault mkEnableOption mkPackageOption maintainers; + inherit (lib) + mkOption + types + mkIf + mkMerge + mkDefault + mkEnableOption + mkPackageOption + maintainers + ; cfg = config.services.db-rest; in { @@ -84,7 +98,9 @@ in config = mkIf cfg.enable { assertions = [ { - assertion = (cfg.redis.enable && !cfg.redis.createLocally) -> (cfg.redis.host != null && cfg.redis.port != null); + assertion = + (cfg.redis.enable && !cfg.redis.createLocally) + -> (cfg.redis.host != null && cfg.redis.port != null); message = '' {option}`services.db-rest.redis.createLocally` and redis network connection ({option}`services.db-rest.redis.host` or {option}`services.db-rest.redis.port`) enabled. Disable either of them. ''; @@ -100,8 +116,7 @@ in systemd.services.db-rest = mkMerge [ { description = "db-rest service"; - after = [ "network.target" ] - ++ lib.optional cfg.redis.createLocally "redis-db-rest.service"; + after = [ "network.target" ] ++ lib.optional cfg.redis.createLocally "redis-db-rest.service"; requires = lib.optional cfg.redis.createLocally "redis-db-rest.service"; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -111,9 +126,15 @@ in WorkingDirectory = cfg.package; User = cfg.user; Group = cfg.group; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; MemoryDenyWriteExecute = false; - LoadCredential = lib.optional (cfg.redis.enable && cfg.redis.passwordFile != null) "REDIS_PASSWORD:${cfg.redis.passwordFile}"; + LoadCredential = lib.optional ( + cfg.redis.enable && cfg.redis.passwordFile != null + ) "REDIS_PASSWORD:${cfg.redis.passwordFile}"; ExecStart = mkDefault "${cfg.package}/bin/db-rest"; RemoveIPC = true; @@ -146,22 +167,24 @@ in PORT = toString cfg.port; }; } - (mkIf cfg.redis.enable (if cfg.redis.createLocally then - { environment.REDIS_URL = config.services.redis.servers.db-rest.unixSocket; } - else - { - script = - let - username = lib.optionalString (cfg.redis.user != null) (cfg.redis.user); - host = cfg.redis.host; - port = toString cfg.redis.port; - protocol = if cfg.redis.useSSL then "rediss" else "redis"; - in - '' - export REDIS_URL="${protocol}://${username}:$(${config.systemd.package}/bin/systemd-creds cat REDIS_PASSWORD)@${host}:${port}" - exec ${cfg.package}/bin/db-rest - ''; - })) + (mkIf cfg.redis.enable ( + if cfg.redis.createLocally then + { environment.REDIS_URL = config.services.redis.servers.db-rest.unixSocket; } + else + { + script = + let + username = lib.optionalString (cfg.redis.user != null) (cfg.redis.user); + host = cfg.redis.host; + port = toString cfg.redis.port; + protocol = if cfg.redis.useSSL then "rediss" else "redis"; + in + '' + export REDIS_URL="${protocol}://${username}:$(${config.systemd.package}/bin/systemd-creds cat REDIS_PASSWORD)@${host}:${port}" + exec ${cfg.package}/bin/db-rest + ''; + } + )) ]; users.users = lib.mkMerge [ diff --git a/nixos/modules/services/misc/devmon.nix b/nixos/modules/services/misc/devmon.nix index 13e2ab7f31c25..7bf801c6a4f5b 100644 --- a/nixos/modules/services/misc/devmon.nix +++ b/nixos/modules/services/misc/devmon.nix @@ -1,8 +1,14 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let cfg = config.services.devmon; -in { +in +{ options = { services.devmon = { enable = lib.mkEnableOption "devmon, an automatic device mounting daemon"; @@ -13,7 +19,12 @@ in { systemd.user.services.devmon = { description = "devmon automatic device mounting daemon"; wantedBy = [ "default.target" ]; - path = [ pkgs.udevil pkgs.procps pkgs.udisks2 pkgs.which ]; + path = [ + pkgs.udevil + pkgs.procps + pkgs.udisks2 + pkgs.which + ]; serviceConfig.ExecStart = "${pkgs.udevil}/bin/devmon"; }; diff --git a/nixos/modules/services/misc/devpi-server.nix b/nixos/modules/services/misc/devpi-server.nix index ad72a8ced69a3..309ef8325f9fa 100644 --- a/nixos/modules/services/misc/devpi-server.nix +++ b/nixos/modules/services/misc/devpi-server.nix @@ -73,9 +73,9 @@ in # have 0600 permissions. preStart = '' - ${lib.optionalString (!isNull cfg.secretFile) - "install -Dm 0600 \${CREDENTIALS_DIRECTORY}/devpi-secret ${runtimeDir}/${secretsFileName}" - } + ${lib.optionalString ( + !isNull cfg.secretFile + ) "install -Dm 0600 \${CREDENTIALS_DIRECTORY}/devpi-secret ${runtimeDir}/${secretsFileName}"} if [ -f ${serverDir}/.nodeinfo ]; then # already initialized the package index, exit gracefully @@ -85,7 +85,7 @@ in + lib.optionalString cfg.replica "--role=replica --master-url=${cfg.primaryUrl}"; serviceConfig = { - LoadCredential = lib.mkIf (! isNull cfg.secretFile) [ + LoadCredential = lib.mkIf (!isNull cfg.secretFile) [ "devpi-secret:${cfg.secretFile}" ]; Restart = "always"; @@ -98,7 +98,7 @@ in "--host=${cfg.host}" "--port=${builtins.toString cfg.port}" ] - ++ lib.optionals (! isNull cfg.secretFile) [ + ++ lib.optionals (!isNull cfg.secretFile) [ "--secretfile=${runtimeDir}/${secretsFileName}" ] ++ ( diff --git a/nixos/modules/services/misc/dictd.nix b/nixos/modules/services/misc/dictd.nix index b11a87f289051..b216459b2d9b9 100644 --- a/nixos/modules/services/misc/dictd.nix +++ b/nixos/modules/services/misc/dictd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dictd; in @@ -21,7 +26,10 @@ in DBs = lib.mkOption { type = lib.types.listOf lib.types.package; - default = with pkgs.dictdDBs; [ wiktionary wordnet ]; + default = with pkgs.dictdDBs; [ + wiktionary + wordnet + ]; defaultText = lib.literalExpression "with pkgs.dictdDBs; [ wiktionary wordnet ]"; example = lib.literalExpression "[ pkgs.dictdDBs.nld2eng ]"; description = "List of databases to make available."; @@ -31,39 +39,46 @@ in }; - ###### implementation - config = let dictdb = pkgs.dictDBCollector { dictlist = map (x: { - name = x.name; - filename = x; } ) cfg.DBs; }; - in lib.mkIf cfg.enable { + config = + let + dictdb = pkgs.dictDBCollector { + dictlist = map (x: { + name = x.name; + filename = x; + }) cfg.DBs; + }; + in + lib.mkIf cfg.enable { - # get the command line client on system path to make some use of the service - environment.systemPackages = [ pkgs.dict ]; + # get the command line client on system path to make some use of the service + environment.systemPackages = [ pkgs.dict ]; - environment.etc."dict.conf".text = '' - server localhost - ''; + environment.etc."dict.conf".text = '' + server localhost + ''; - users.users.dictd = - { group = "dictd"; + users.users.dictd = { + group = "dictd"; description = "DICT.org dictd server"; home = "${dictdb}/share/dictd"; uid = config.ids.uids.dictd; }; - users.groups.dictd.gid = config.ids.gids.dictd; - - systemd.services.dictd = { - description = "DICT.org Dictionary Server"; - wantedBy = [ "multi-user.target" ]; - environment = { LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; }; - # Work around the fact that dictd doesn't handle SIGTERM; it terminates - # with code 143 instead of exiting with code 0. - serviceConfig.SuccessExitStatus = [ 143 ]; - serviceConfig.Type = "forking"; - script = "${pkgs.dict}/sbin/dictd -s -c ${dictdb}/share/dictd/dictd.conf --locale en_US.UTF-8"; + users.groups.dictd.gid = config.ids.gids.dictd; + + systemd.services.dictd = { + description = "DICT.org Dictionary Server"; + wantedBy = [ "multi-user.target" ]; + environment = { + LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; + }; + # Work around the fact that dictd doesn't handle SIGTERM; it terminates + # with code 143 instead of exiting with code 0. + serviceConfig.SuccessExitStatus = [ 143 ]; + serviceConfig.Type = "forking"; + script = "${pkgs.dict}/sbin/dictd -s -c ${dictdb}/share/dictd/dictd.conf --locale en_US.UTF-8"; + }; }; - }; } diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix index 1869822a07f3e..8c808d5143e02 100644 --- a/nixos/modules/services/misc/disnix.nix +++ b/nixos/modules/services/misc/disnix.nix @@ -1,5 +1,10 @@ # Disnix server -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.disnix; @@ -24,7 +29,7 @@ in useWebServiceInterface = lib.mkEnableOption "the DisnixWebService interface running on Apache Tomcat"; - package = lib.mkPackageOption pkgs "disnix" {}; + package = lib.mkPackageOption pkgs "disnix" { }; enableProfilePath = lib.mkEnableOption "exposing the Disnix profiles in the system's PATH"; @@ -42,8 +47,12 @@ in config = lib.mkIf cfg.enable { services.dysnomia.enable = true; - environment.systemPackages = [ pkgs.disnix ] ++ lib.optional cfg.useWebServiceInterface pkgs.DisnixWebService; - environment.variables.PATH = lib.optionals cfg.enableProfilePath (map (profileName: "/nix/var/nix/profiles/disnix/${profileName}/bin" ) cfg.profiles); + environment.systemPackages = [ + pkgs.disnix + ] ++ lib.optional cfg.useWebServiceInterface pkgs.DisnixWebService; + environment.variables.PATH = lib.optionals cfg.enableProfilePath ( + map (profileName: "/nix/var/nix/profiles/disnix/${profileName}/bin") cfg.profiles + ); environment.variables.DISNIX_REMOTE_CLIENT = lib.optionalString (cfg.enableMultiUser) "disnix-client"; services.dbus.enable = true; @@ -52,7 +61,8 @@ in services.tomcat.enable = cfg.useWebServiceInterface; services.tomcat.extraGroups = [ "disnix" ]; services.tomcat.javaOpts = "${lib.optionalString cfg.useWebServiceInterface "-Djava.library.path=${pkgs.libmatthew_java}/lib/jni"} "; - services.tomcat.sharedLibs = lib.optional cfg.useWebServiceInterface "${pkgs.DisnixWebService}/share/java/DisnixConnection.jar" + services.tomcat.sharedLibs = + lib.optional cfg.useWebServiceInterface "${pkgs.DisnixWebService}/share/java/DisnixConnection.jar" ++ lib.optional cfg.useWebServiceInterface "${pkgs.dbus_java}/share/java/dbus.jar"; services.tomcat.webapps = lib.optional cfg.useWebServiceInterface pkgs.DisnixWebService; @@ -63,7 +73,8 @@ in description = "Disnix server"; wants = [ "dysnomia.target" ]; wantedBy = [ "multi-user.target" ]; - after = [ "dbus.service" ] + after = + [ "dbus.service" ] ++ lib.optional config.services.httpd.enable "httpd.service" ++ lib.optional config.services.mysql.enable "mysql.service" ++ lib.optional config.services.postgresql.enable "postgresql.service" @@ -74,13 +85,23 @@ in restartIfChanged = false; - path = [ config.nix.package cfg.package config.services.dysnomia.package "/run/current-system/sw" ]; - - environment = { - HOME = "/root"; - } - // (lib.optionalAttrs (config.environment.variables ? DYSNOMIA_CONTAINERS_PATH) { inherit (config.environment.variables) DYSNOMIA_CONTAINERS_PATH; }) - // (lib.optionalAttrs (config.environment.variables ? DYSNOMIA_MODULES_PATH) { inherit (config.environment.variables) DYSNOMIA_MODULES_PATH; }); + path = [ + config.nix.package + cfg.package + config.services.dysnomia.package + "/run/current-system/sw" + ]; + + environment = + { + HOME = "/root"; + } + // (lib.optionalAttrs (config.environment.variables ? DYSNOMIA_CONTAINERS_PATH) { + inherit (config.environment.variables) DYSNOMIA_CONTAINERS_PATH; + }) + // (lib.optionalAttrs (config.environment.variables ? DYSNOMIA_MODULES_PATH) { + inherit (config.environment.variables) DYSNOMIA_MODULES_PATH; + }); serviceConfig.ExecStart = "${cfg.package}/bin/disnix-service"; }; diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix index 76fc16020d32f..66a131332e781 100644 --- a/nixos/modules/services/misc/docker-registry.nix +++ b/nixos/modules/services/misc/docker-registry.nix @@ -1,13 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dockerRegistry; - blobCache = if cfg.enableRedisCache - then "redis" - else "inmemory"; + blobCache = if cfg.enableRedisCache then "redis" else "inmemory"; registryConfig = { - version = "0.1"; + version = "0.1"; log.fields.service = "registry"; storage = { cache.blobdescriptor = blobCache; @@ -15,7 +18,7 @@ let } // (lib.optionalAttrs (cfg.storagePath != null) { filesystem.rootdirectory = cfg.storagePath; }); http = { addr = "${cfg.listenAddress}:${builtins.toString cfg.port}"; - headers.X-Content-Type-Options = ["nosniff"]; + headers.X-Content-Type-Options = [ "nosniff" ]; }; health.storagedriver = { enabled = true; @@ -39,7 +42,8 @@ let }; configFile = cfg.configFile; -in { +in +{ options.services.dockerRegistry = { enable = lib.mkEnableOption "Docker Registry"; @@ -103,19 +107,21 @@ in { log.level = "debug"; } ''; - default = {}; + default = { }; type = lib.types.attrs; }; configFile = lib.mkOption { - default = pkgs.writeText "docker-registry-config.yml" (builtins.toJSON (lib.recursiveUpdate registryConfig cfg.extraConfig)); + default = pkgs.writeText "docker-registry-config.yml" ( + builtins.toJSON (lib.recursiveUpdate registryConfig cfg.extraConfig) + ); defaultText = lib.literalExpression ''pkgs.writeText "docker-registry-config.yml" "# my custom docker-registry-config.yml ..."''; description = '' - Path to CNCF distribution config file. + Path to CNCF distribution config file. - Setting this option will override any configuration applied by the extraConfig option. + Setting this option will override any configuration applied by the extraConfig option. ''; - type = lib.types.path; + type = lib.types.path; }; enableGarbageCollect = lib.mkEnableOption "garbage collect"; @@ -167,11 +173,12 @@ in { (lib.optionalAttrs (cfg.storagePath != null) { createHome = true; home = cfg.storagePath; - }) // { + }) + // { group = "docker-registry"; isSystemUser = true; }; - users.groups.docker-registry = {}; + users.groups.docker-registry = { }; networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; diff --git a/nixos/modules/services/misc/duckling.nix b/nixos/modules/services/misc/duckling.nix index ed0b7b37d8c85..70e9066eb3382 100644 --- a/nixos/modules/services/misc/duckling.nix +++ b/nixos/modules/services/misc/duckling.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.duckling; -in { +in +{ options = { services.duckling = { enable = lib.mkEnableOption "duckling"; @@ -19,8 +25,8 @@ in { config = lib.mkIf cfg.enable { systemd.services.duckling = { description = "Duckling server service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; environment = { PORT = builtins.toString cfg.port; diff --git a/nixos/modules/services/misc/dysnomia.nix b/nixos/modules/services/misc/dysnomia.nix index 36b6293843c40..8d96f4264ede0 100644 --- a/nixos/modules/services/misc/dysnomia.nix +++ b/nixos/modules/services/misc/dysnomia.nix @@ -1,14 +1,25 @@ -{pkgs, lib, config, ...}: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.services.dysnomia; - printProperties = properties: - lib.concatMapStrings (propertyName: + printProperties = + properties: + lib.concatMapStrings ( + propertyName: let property = properties.${propertyName}; in - if lib.isList property then "${propertyName}=(${lib.concatMapStrings (elem: "\"${toString elem}\" ") (properties.${propertyName})})\n" - else "${propertyName}=\"${toString property}\"\n" + if lib.isList property then + "${propertyName}=(${ + lib.concatMapStrings (elem: "\"${toString elem}\" ") (properties.${propertyName}) + })\n" + else + "${propertyName}=\"${toString property}\"\n" ) (builtins.attrNames properties); properties = pkgs.stdenv.mkDerivation { @@ -26,7 +37,8 @@ let mkdir -p $out cd $out - ${lib.concatMapStrings (containerName: + ${lib.concatMapStrings ( + containerName: let containerProperties = cfg.containers.${containerName}; in @@ -40,16 +52,18 @@ let ''; }; - linkMutableComponents = {containerName}: + linkMutableComponents = + { containerName }: '' mkdir ${containerName} - ${lib.concatMapStrings (componentName: + ${lib.concatMapStrings ( + componentName: let component = cfg.components.${containerName}.${componentName}; in "ln -s ${component} ${containerName}/${componentName}\n" - ) (builtins.attrNames (cfg.components.${containerName} or {}))} + ) (builtins.attrNames (cfg.components.${containerName} or { }))} ''; componentsDir = pkgs.stdenv.mkDerivation { @@ -58,9 +72,9 @@ let mkdir -p $out cd $out - ${lib.concatMapStrings (containerName: - linkMutableComponents { inherit containerName; } - ) (builtins.attrNames cfg.components)} + ${lib.concatMapStrings (containerName: linkMutableComponents { inherit containerName; }) ( + builtins.attrNames cfg.components + )} ''; }; @@ -100,37 +114,37 @@ in properties = lib.mkOption { description = "An attribute set in which each attribute represents a machine property. Optionally, these values can be shell substitutions."; - default = {}; + default = { }; type = lib.types.attrs; }; containers = lib.mkOption { description = "An attribute set in which each key represents a container and each value an attribute set providing its configuration properties"; - default = {}; + default = { }; type = lib.types.attrsOf lib.types.attrs; }; components = lib.mkOption { description = "An attribute set in which each key represents a container and each value an attribute set in which each key represents a component and each value a derivation constructing its initial state"; - default = {}; + default = { }; type = lib.types.attrsOf lib.types.attrs; }; extraContainerProperties = lib.mkOption { description = "An attribute set providing additional container settings in addition to the default properties"; - default = {}; + default = { }; type = lib.types.attrs; }; extraContainerPaths = lib.mkOption { description = "A list of paths containing additional container configurations that are added to the search folders"; - default = []; + default = [ ]; type = lib.types.listOf lib.types.path; }; extraModulePaths = lib.mkOption { description = "A list of paths containing additional modules that are added to the search folders"; - default = []; + default = [ ]; type = lib.types.listOf lib.types.path; }; @@ -143,7 +157,7 @@ in }; imports = [ - (lib.mkRenamedOptionModule ["dysnomia"] ["services" "dysnomia"]) + (lib.mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ]) ]; config = lib.mkIf cfg.enable { @@ -162,93 +176,118 @@ in environment.variables = { DYSNOMIA_STATEDIR = "/var/state/dysnomia-nixos"; - DYSNOMIA_CONTAINERS_PATH = "${lib.concatMapStrings (containerPath: "${containerPath}:") cfg.extraContainerPaths}/etc/dysnomia/containers"; - DYSNOMIA_MODULES_PATH = "${lib.concatMapStrings (modulePath: "${modulePath}:") cfg.extraModulePaths}/etc/dysnomia/modules"; + DYSNOMIA_CONTAINERS_PATH = "${ + lib.concatMapStrings (containerPath: "${containerPath}:") cfg.extraContainerPaths + }/etc/dysnomia/containers"; + DYSNOMIA_MODULES_PATH = "${ + lib.concatMapStrings (modulePath: "${modulePath}:") cfg.extraModulePaths + }/etc/dysnomia/modules"; }; environment.systemPackages = [ cfg.package ]; - services.dysnomia.package = pkgs.dysnomia.override (origArgs: dysnomiaFlags // lib.optionalAttrs (cfg.enableLegacyModules) { - enableLegacy = builtins.trace '' - WARNING: Dysnomia has been configured to use the legacy 'process' and 'wrapper' - modules for compatibility reasons! If you rely on these modules, consider - migrating to better alternatives. + services.dysnomia.package = pkgs.dysnomia.override ( + origArgs: + dysnomiaFlags + // lib.optionalAttrs (cfg.enableLegacyModules) { + enableLegacy = builtins.trace '' + WARNING: Dysnomia has been configured to use the legacy 'process' and 'wrapper' + modules for compatibility reasons! If you rely on these modules, consider + migrating to better alternatives. - More information: https://raw.githubusercontent.com/svanderburg/dysnomia/f65a9a84827bcc4024d6b16527098b33b02e4054/README-legacy.md + More information: https://raw.githubusercontent.com/svanderburg/dysnomia/f65a9a84827bcc4024d6b16527098b33b02e4054/README-legacy.md - If you have migrated already or don't rely on these Dysnomia modules, you can - disable legacy mode with the following NixOS configuration option: + If you have migrated already or don't rely on these Dysnomia modules, you can + disable legacy mode with the following NixOS configuration option: - dysnomia.enableLegacyModules = false; + dysnomia.enableLegacyModules = false; - In a future version of Dysnomia (and NixOS) the legacy option will go away! - '' true; - }); + In a future version of Dysnomia (and NixOS) the legacy option will go away! + '' true; + } + ); services.dysnomia.properties = { hostname = config.networking.hostName; inherit (pkgs.stdenv.hostPlatform) system; - supportedTypes = [ - "echo" - "fileset" - "process" - "wrapper" - - # These are not base modules, but they are still enabled because they work with technology that are always enabled in NixOS - "systemd-unit" - "sysvinit-script" - "nixos-configuration" - ] - ++ lib.optional (dysnomiaFlags.enableApacheWebApplication) "apache-webapplication" - ++ lib.optional (dysnomiaFlags.enableAxis2WebService) "axis2-webservice" - ++ lib.optional (dysnomiaFlags.enableDockerContainer) "docker-container" - ++ lib.optional (dysnomiaFlags.enableEjabberdDump) "ejabberd-dump" - ++ lib.optional (dysnomiaFlags.enableInfluxDatabase) "influx-database" - ++ lib.optional (dysnomiaFlags.enableMySQLDatabase) "mysql-database" - ++ lib.optional (dysnomiaFlags.enablePostgreSQLDatabase) "postgresql-database" - ++ lib.optional (dysnomiaFlags.enableTomcatWebApplication) "tomcat-webapplication" - ++ lib.optional (dysnomiaFlags.enableMongoDatabase) "mongo-database" - ++ lib.optional (dysnomiaFlags.enableSubversionRepository) "subversion-repository"; + supportedTypes = + [ + "echo" + "fileset" + "process" + "wrapper" + + # These are not base modules, but they are still enabled because they work with technology that are always enabled in NixOS + "systemd-unit" + "sysvinit-script" + "nixos-configuration" + ] + ++ lib.optional (dysnomiaFlags.enableApacheWebApplication) "apache-webapplication" + ++ lib.optional (dysnomiaFlags.enableAxis2WebService) "axis2-webservice" + ++ lib.optional (dysnomiaFlags.enableDockerContainer) "docker-container" + ++ lib.optional (dysnomiaFlags.enableEjabberdDump) "ejabberd-dump" + ++ lib.optional (dysnomiaFlags.enableInfluxDatabase) "influx-database" + ++ lib.optional (dysnomiaFlags.enableMySQLDatabase) "mysql-database" + ++ lib.optional (dysnomiaFlags.enablePostgreSQLDatabase) "postgresql-database" + ++ lib.optional (dysnomiaFlags.enableTomcatWebApplication) "tomcat-webapplication" + ++ lib.optional (dysnomiaFlags.enableMongoDatabase) "mongo-database" + ++ lib.optional (dysnomiaFlags.enableSubversionRepository) "subversion-repository"; }; - services.dysnomia.containers = lib.recursiveUpdate ({ - process = {}; - wrapper = {}; - } - // lib.optionalAttrs (config.services.httpd.enable) { apache-webapplication = { - documentRoot = config.services.httpd.virtualHosts.localhost.documentRoot; - }; } - // lib.optionalAttrs (config.services.tomcat.axis2.enable) { axis2-webservice = {}; } - // lib.optionalAttrs (config.services.ejabberd.enable) { ejabberd-dump = { - ejabberdUser = config.services.ejabberd.user; - }; } - // lib.optionalAttrs (config.services.mysql.enable) { mysql-database = { - mysqlPort = config.services.mysql.settings.mysqld.port; - mysqlSocket = "/run/mysqld/mysqld.sock"; - } // lib.optionalAttrs cfg.enableAuthentication { - mysqlUsername = "root"; - }; - } - // lib.optionalAttrs (config.services.postgresql.enable) { postgresql-database = { - } // lib.optionalAttrs (cfg.enableAuthentication) { - postgresqlUsername = "postgres"; - }; - } - // lib.optionalAttrs (config.services.tomcat.enable) { tomcat-webapplication = { - tomcatPort = 8080; - }; } - // lib.optionalAttrs (config.services.mongodb.enable) { mongo-database = {}; } - // lib.optionalAttrs (config.services.influxdb.enable) { - influx-database = { - influxdbUsername = config.services.influxdb.user; - influxdbDataDir = "${config.services.influxdb.dataDir}/data"; - influxdbMetaDir = "${config.services.influxdb.dataDir}/meta"; - }; - } - // lib.optionalAttrs (config.services.svnserve.enable) { subversion-repository = { - svnBaseDir = config.services.svnserve.svnBaseDir; - }; }) cfg.extraContainerProperties; + services.dysnomia.containers = lib.recursiveUpdate ( + { + process = { }; + wrapper = { }; + } + // lib.optionalAttrs (config.services.httpd.enable) { + apache-webapplication = { + documentRoot = config.services.httpd.virtualHosts.localhost.documentRoot; + }; + } + // lib.optionalAttrs (config.services.tomcat.axis2.enable) { axis2-webservice = { }; } + // lib.optionalAttrs (config.services.ejabberd.enable) { + ejabberd-dump = { + ejabberdUser = config.services.ejabberd.user; + }; + } + // lib.optionalAttrs (config.services.mysql.enable) { + mysql-database = + { + mysqlPort = config.services.mysql.settings.mysqld.port; + mysqlSocket = "/run/mysqld/mysqld.sock"; + } + // lib.optionalAttrs cfg.enableAuthentication { + mysqlUsername = "root"; + }; + } + // lib.optionalAttrs (config.services.postgresql.enable) { + postgresql-database = + { + } + // lib.optionalAttrs (cfg.enableAuthentication) { + postgresqlUsername = "postgres"; + }; + } + // lib.optionalAttrs (config.services.tomcat.enable) { + tomcat-webapplication = { + tomcatPort = 8080; + }; + } + // lib.optionalAttrs (config.services.mongodb.enable) { mongo-database = { }; } + // lib.optionalAttrs (config.services.influxdb.enable) { + influx-database = { + influxdbUsername = config.services.influxdb.user; + influxdbDataDir = "${config.services.influxdb.dataDir}/data"; + influxdbMetaDir = "${config.services.influxdb.dataDir}/meta"; + }; + } + // lib.optionalAttrs (config.services.svnserve.enable) { + subversion-repository = { + svnBaseDir = config.services.svnserve.svnBaseDir; + }; + } + ) cfg.extraContainerProperties; boot.extraSystemdUnitPaths = [ "/etc/systemd-mutable/system" ]; diff --git a/nixos/modules/services/misc/errbot.nix b/nixos/modules/services/misc/errbot.nix index 1c7135e774e83..d9f52af7fe723 100644 --- a/nixos/modules/services/misc/errbot.nix +++ b/nixos/modules/services/misc/errbot.nix @@ -1,101 +1,117 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.errbot; - pluginEnv = plugins: pkgs.buildEnv { - name = "errbot-plugins"; - paths = plugins; - }; - mkConfigDir = instanceCfg: dataDir: pkgs.writeTextDir "config.py" '' - import logging - BACKEND = '${instanceCfg.backend}' - BOT_DATA_DIR = '${dataDir}' - BOT_EXTRA_PLUGIN_DIR = '${pluginEnv instanceCfg.plugins}' + pluginEnv = + plugins: + pkgs.buildEnv { + name = "errbot-plugins"; + paths = plugins; + }; + mkConfigDir = + instanceCfg: dataDir: + pkgs.writeTextDir "config.py" '' + import logging + BACKEND = '${instanceCfg.backend}' + BOT_DATA_DIR = '${dataDir}' + BOT_EXTRA_PLUGIN_DIR = '${pluginEnv instanceCfg.plugins}' - BOT_LOG_LEVEL = logging.${instanceCfg.logLevel} - BOT_LOG_FILE = False + BOT_LOG_LEVEL = logging.${instanceCfg.logLevel} + BOT_LOG_FILE = False - BOT_ADMINS = (${lib.concatMapStringsSep "," (name: "'${name}'") instanceCfg.admins}) + BOT_ADMINS = (${lib.concatMapStringsSep "," (name: "'${name}'") instanceCfg.admins}) - BOT_IDENTITY = ${builtins.toJSON instanceCfg.identity} + BOT_IDENTITY = ${builtins.toJSON instanceCfg.identity} - ${instanceCfg.extraConfig} - ''; -in { + ${instanceCfg.extraConfig} + ''; +in +{ options = { services.errbot.instances = lib.mkOption { - default = {}; + default = { }; description = "Errbot instance configs"; - type = lib.types.attrsOf (lib.types.submodule { - options = { - dataDir = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = "Data directory for errbot instance."; - }; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + dataDir = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = "Data directory for errbot instance."; + }; - plugins = lib.mkOption { - type = lib.types.listOf lib.types.package; - default = []; - description = "List of errbot plugin derivations."; - }; + plugins = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = [ ]; + description = "List of errbot plugin derivations."; + }; - logLevel = lib.mkOption { - type = lib.types.str; - default = "INFO"; - description = "Errbot log level"; - }; + logLevel = lib.mkOption { + type = lib.types.str; + default = "INFO"; + description = "Errbot log level"; + }; - admins = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = "List of identifiers of errbot admins."; - }; + admins = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = "List of identifiers of errbot admins."; + }; - backend = lib.mkOption { - type = lib.types.str; - default = "XMPP"; - description = "Errbot backend name."; - }; + backend = lib.mkOption { + type = lib.types.str; + default = "XMPP"; + description = "Errbot backend name."; + }; - identity = lib.mkOption { - type = lib.types.attrs; - description = "Errbot identity configuration"; - }; + identity = lib.mkOption { + type = lib.types.attrs; + description = "Errbot identity configuration"; + }; - extraConfig = lib.mkOption { - type = lib.types.lines; - default = ""; - description = "String to be appended to the config verbatim"; + extraConfig = lib.mkOption { + type = lib.types.lines; + default = ""; + description = "String to be appended to the config verbatim"; + }; }; - }; - }); + } + ); }; }; - config = lib.mkIf (cfg.instances != {}) { + config = lib.mkIf (cfg.instances != { }) { users.users.errbot = { group = "errbot"; isSystemUser = true; }; - users.groups.errbot = {}; + users.groups.errbot = { }; - systemd.services = lib.mapAttrs' (name: instanceCfg: lib.nameValuePair "errbot-${name}" ( - let - dataDir = if instanceCfg.dataDir != null then instanceCfg.dataDir else - "/var/lib/errbot/${name}"; - in { - after = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -p ${dataDir} - chown -R errbot:errbot ${dataDir} - ''; - serviceConfig = { - User = "errbot"; - Restart = "on-failure"; - ExecStart = "${pkgs.errbot}/bin/errbot -c ${mkConfigDir instanceCfg dataDir}/config.py"; - PermissionsStartOnly = true; - }; - })) cfg.instances; + systemd.services = lib.mapAttrs' ( + name: instanceCfg: + lib.nameValuePair "errbot-${name}" ( + let + dataDir = if instanceCfg.dataDir != null then instanceCfg.dataDir else "/var/lib/errbot/${name}"; + in + { + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -p ${dataDir} + chown -R errbot:errbot ${dataDir} + ''; + serviceConfig = { + User = "errbot"; + Restart = "on-failure"; + ExecStart = "${pkgs.errbot}/bin/errbot -c ${mkConfigDir instanceCfg dataDir}/config.py"; + PermissionsStartOnly = true; + }; + } + ) + ) cfg.instances; }; } diff --git a/nixos/modules/services/misc/etebase-server.nix b/nixos/modules/services/misc/etebase-server.nix index ba45a1703ac27..cd1cf88452319 100644 --- a/nixos/modules/services/misc/etebase-server.nix +++ b/nixos/modules/services/misc/etebase-server.nix @@ -1,8 +1,13 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.etebase-server; - iniFmt = pkgs.formats.ini {}; + iniFmt = pkgs.formats.ini { }; configIni = iniFmt.generate "etebase-server.ini" cfg.settings; @@ -10,18 +15,24 @@ let in { imports = [ - (lib.mkRemovedOptionModule - [ "services" "etebase-server" "customIni" ] - "Set the option `services.etebase-server.settings' instead.") - (lib.mkRemovedOptionModule - [ "services" "etebase-server" "database" ] - "Set the option `services.etebase-server.settings.database' instead.") + (lib.mkRemovedOptionModule [ + "services" + "etebase-server" + "customIni" + ] "Set the option `services.etebase-server.settings' instead.") + (lib.mkRemovedOptionModule [ + "services" + "etebase-server" + "database" + ] "Set the option `services.etebase-server.settings.database' instead.") (lib.mkRenamedOptionModule [ "services" "etebase-server" "secretFile" ] - [ "services" "etebase-server" "settings" "secret_file" ]) + [ "services" "etebase-server" "settings" "secret_file" ] + ) (lib.mkRenamedOptionModule [ "services" "etebase-server" "host" ] - [ "services" "etebase-server" "settings" "allowed_hosts" "allowed_host1" ]) + [ "services" "etebase-server" "settings" "allowed_hosts" "allowed_host1" ] + ) ]; options = { @@ -120,7 +131,10 @@ in }; database = { engine = lib.mkOption { - type = lib.types.enum [ "django.db.backends.sqlite3" "django.db.backends.postgresql" ]; + type = lib.types.enum [ + "django.db.backends.sqlite3" + "django.db.backends.postgresql" + ]; default = "django.db.backends.sqlite3"; description = "The database engine to use."; }; @@ -133,7 +147,7 @@ in }; }; }; - default = {}; + default = { }; description = '' Configuration for `etebase-server`. Refer to @@ -162,25 +176,33 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; [ - (runCommand "etebase-server" { - nativeBuildInputs = [ makeWrapper ]; - } '' - makeWrapper ${cfg.package}/bin/etebase-server \ - $out/bin/etebase-server \ - --chdir ${lib.escapeShellArg cfg.dataDir} \ - --prefix ETEBASE_EASY_CONFIG_PATH : "${configIni}" - '') + (runCommand "etebase-server" + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + makeWrapper ${cfg.package}/bin/etebase-server \ + $out/bin/etebase-server \ + --chdir ${lib.escapeShellArg cfg.dataDir} \ + --prefix ETEBASE_EASY_CONFIG_PATH : "${configIni}" + '' + ) ]; - systemd.tmpfiles.rules = [ - "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" - ] ++ lib.optionals (cfg.unixSocket != null) [ - "d '${builtins.dirOf cfg.unixSocket}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" - ]; + systemd.tmpfiles.rules = + [ + "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" + ] + ++ lib.optionals (cfg.unixSocket != null) [ + "d '${builtins.dirOf cfg.unixSocket}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" + ]; systemd.services.etebase-server = { description = "An Etebase (EteSync 2.0) server"; - after = [ "network.target" "systemd-tmpfiles-setup.service" ]; + after = [ + "network.target" + "systemd-tmpfiles-setup.service" + ]; path = [ cfg.package ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -204,10 +226,13 @@ in script = let python = cfg.package.python; - networking = if cfg.unixSocket != null - then "--uds ${cfg.unixSocket}" - else "--host 0.0.0.0 --port ${toString cfg.port}"; - in '' + networking = + if cfg.unixSocket != null then + "--uds ${cfg.unixSocket}" + else + "--host 0.0.0.0 --port ${toString cfg.port}"; + in + '' ${python.pkgs.uvicorn}/bin/uvicorn ${networking} \ --app-dir ${cfg.package}/${cfg.package.python.sitePackages} \ etebase_server.asgi:application @@ -221,7 +246,7 @@ in home = cfg.dataDir; }; - groups.${defaultUser} = {}; + groups.${defaultUser} = { }; }; networking.firewall = lib.mkIf cfg.openFirewall { diff --git a/nixos/modules/services/misc/etesync-dav.nix b/nixos/modules/services/misc/etesync-dav.nix index d9a8a137e82e6..489bd5557a877 100644 --- a/nixos/modules/services/misc/etesync-dav.nix +++ b/nixos/modules/services/misc/etesync-dav.nix @@ -1,90 +1,95 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.etesync-dav; in - { - options.services.etesync-dav = { - enable = lib.mkEnableOption "etesync-dav, end-to-end encrypted sync for contacts, calendars and tasks"; +{ + options.services.etesync-dav = { + enable = lib.mkEnableOption "etesync-dav, end-to-end encrypted sync for contacts, calendars and tasks"; - host = lib.mkOption { - type = lib.types.str; - default = "localhost"; - description = "The server host address."; - }; + host = lib.mkOption { + type = lib.types.str; + default = "localhost"; + description = "The server host address."; + }; - port = lib.mkOption { - type = lib.types.port; - default = 37358; - description = "The server host port."; - }; + port = lib.mkOption { + type = lib.types.port; + default = 37358; + description = "The server host port."; + }; - apiUrl = lib.mkOption { - type = lib.types.str; - default = "https://api.etebase.com/partner/etesync/"; - description = "The url to the etesync API."; - }; + apiUrl = lib.mkOption { + type = lib.types.str; + default = "https://api.etebase.com/partner/etesync/"; + description = "The url to the etesync API."; + }; - openFirewall = lib.mkOption { - default = false; - type = lib.types.bool; - description = "Whether to open the firewall for the specified port."; - }; + openFirewall = lib.mkOption { + default = false; + type = lib.types.bool; + description = "Whether to open the firewall for the specified port."; + }; - sslCertificate = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - example = "/var/etesync.crt"; - description = '' - Path to server SSL certificate. It will be copied into - etesync-dav's data directory. - ''; - }; + sslCertificate = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + example = "/var/etesync.crt"; + description = '' + Path to server SSL certificate. It will be copied into + etesync-dav's data directory. + ''; + }; - sslCertificateKey = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - example = "/var/etesync.key"; - description = '' - Path to server SSL certificate key. It will be copied into - etesync-dav's data directory. - ''; - }; + sslCertificateKey = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + example = "/var/etesync.key"; + description = '' + Path to server SSL certificate key. It will be copied into + etesync-dav's data directory. + ''; }; + }; - config = lib.mkIf cfg.enable { - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ]; + config = lib.mkIf cfg.enable { + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ]; - systemd.services.etesync-dav = { - description = "etesync-dav - A CalDAV and CardDAV adapter for EteSync"; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - path = [ pkgs.etesync-dav ]; - environment = { - ETESYNC_LISTEN_ADDRESS = cfg.host; - ETESYNC_LISTEN_PORT = toString cfg.port; - ETESYNC_URL = cfg.apiUrl; - ETESYNC_DATA_DIR = "/var/lib/etesync-dav"; - }; + systemd.services.etesync-dav = { + description = "etesync-dav - A CalDAV and CardDAV adapter for EteSync"; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.etesync-dav ]; + environment = { + ETESYNC_LISTEN_ADDRESS = cfg.host; + ETESYNC_LISTEN_PORT = toString cfg.port; + ETESYNC_URL = cfg.apiUrl; + ETESYNC_DATA_DIR = "/var/lib/etesync-dav"; + }; - serviceConfig = { - Type = "simple"; - DynamicUser = true; - StateDirectory = "etesync-dav"; - ExecStart = "${pkgs.etesync-dav}/bin/etesync-dav"; - ExecStartPre = lib.mkIf (cfg.sslCertificate != null || cfg.sslCertificateKey != null) ( - pkgs.writers.writeBash "etesync-dav-copy-keys" '' - ${lib.optionalString (cfg.sslCertificate != null) '' - cp ${toString cfg.sslCertificate} $STATE_DIRECTORY/etesync.crt - ''} - ${lib.optionalString (cfg.sslCertificateKey != null) '' - cp ${toString cfg.sslCertificateKey} $STATE_DIRECTORY/etesync.key - ''} - '' - ); - Restart = "on-failure"; - RestartSec = "30min 1s"; - }; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + StateDirectory = "etesync-dav"; + ExecStart = "${pkgs.etesync-dav}/bin/etesync-dav"; + ExecStartPre = lib.mkIf (cfg.sslCertificate != null || cfg.sslCertificateKey != null) ( + pkgs.writers.writeBash "etesync-dav-copy-keys" '' + ${lib.optionalString (cfg.sslCertificate != null) '' + cp ${toString cfg.sslCertificate} $STATE_DIRECTORY/etesync.crt + ''} + ${lib.optionalString (cfg.sslCertificateKey != null) '' + cp ${toString cfg.sslCertificateKey} $STATE_DIRECTORY/etesync.key + ''} + '' + ); + Restart = "on-failure"; + RestartSec = "30min 1s"; }; }; - } + }; +} diff --git a/nixos/modules/services/misc/evdevremapkeys.nix b/nixos/modules/services/misc/evdevremapkeys.nix index 754bce9f03d28..122afda2f86c9 100644 --- a/nixos/modules/services/misc/evdevremapkeys.nix +++ b/nixos/modules/services/misc/evdevremapkeys.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let format = pkgs.formats.yaml { }; cfg = config.services.evdevremapkeys; diff --git a/nixos/modules/services/misc/felix.nix b/nixos/modules/services/misc/felix.nix index 3def12e3adef9..c0bfb54bfa752 100644 --- a/nixos/modules/services/misc/felix.nix +++ b/nixos/modules/services/misc/felix.nix @@ -1,5 +1,10 @@ # Felix server -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.felix; @@ -39,17 +44,16 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { users.groups.osgi.gid = config.ids.gids.osgi; - users.users.osgi = - { uid = config.ids.uids.osgi; - description = "OSGi user"; - home = "/homeless-shelter"; - }; + users.users.osgi = { + uid = config.ids.uids.osgi; + description = "OSGi user"; + home = "/homeless-shelter"; + }; systemd.services.felix = { description = "Felix server"; diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 9aa7b13b02e19..299b574b4400b 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.forgejo; @@ -12,14 +18,19 @@ let usePostgresql = cfg.database.type == "postgres"; useSqlite = cfg.database.type == "sqlite3"; - secrets = let - mkSecret = section: values: lib.mapAttrsToList (key: value: { - env = envEscape "FORGEJO__${section}__${key}__FILE"; - path = value; - }) values; - # https://codeberg.org/forgejo/forgejo/src/tag/v7.0.2/contrib/environment-to-ini/environment-to-ini.go - envEscape = string: lib.replaceStrings [ "." "-" ] [ "_0X2E_" "_0X2D_" ] (lib.strings.toUpper string); - in lib.flatten (lib.mapAttrsToList mkSecret cfg.secrets); + secrets = + let + mkSecret = + section: values: + lib.mapAttrsToList (key: value: { + env = envEscape "FORGEJO__${section}__${key}__FILE"; + path = value; + }) values; + # https://codeberg.org/forgejo/forgejo/src/tag/v7.0.2/contrib/environment-to-ini/environment-to-ini.go + envEscape = + string: lib.replaceStrings [ "." "-" ] [ "_0X2E_" "_0X2D_" ] (lib.strings.toUpper string); + in + lib.flatten (lib.mapAttrsToList mkSecret cfg.secrets); inherit (lib) literalExpression @@ -40,26 +51,70 @@ let in { imports = [ - (mkRenamedOptionModule [ "services" "forgejo" "appName" ] [ "services" "forgejo" "settings" "DEFAULT" "APP_NAME" ]) - (mkRemovedOptionModule [ "services" "forgejo" "extraConfig" ] "services.forgejo.extraConfig has been removed. Please use the freeform services.forgejo.settings option instead") - (mkRemovedOptionModule [ "services" "forgejo" "database" "password" ] "services.forgejo.database.password has been removed. Please use services.forgejo.database.passwordFile instead") - (mkRenamedOptionModule [ "services" "forgejo" "mailerPasswordFile" ] [ "services" "forgejo" "secrets" "mailer" "PASSWD" ]) + (mkRenamedOptionModule + [ "services" "forgejo" "appName" ] + [ "services" "forgejo" "settings" "DEFAULT" "APP_NAME" ] + ) + (mkRemovedOptionModule [ "services" "forgejo" "extraConfig" ] + "services.forgejo.extraConfig has been removed. Please use the freeform services.forgejo.settings option instead" + ) + (mkRemovedOptionModule [ "services" "forgejo" "database" "password" ] + "services.forgejo.database.password has been removed. Please use services.forgejo.database.passwordFile instead" + ) + (mkRenamedOptionModule + [ "services" "forgejo" "mailerPasswordFile" ] + [ "services" "forgejo" "secrets" "mailer" "PASSWD" ] + ) # copied from services.gitea; remove at some point - (mkRenamedOptionModule [ "services" "forgejo" "cookieSecure" ] [ "services" "forgejo" "settings" "session" "COOKIE_SECURE" ]) - (mkRenamedOptionModule [ "services" "forgejo" "disableRegistration" ] [ "services" "forgejo" "settings" "service" "DISABLE_REGISTRATION" ]) - (mkRenamedOptionModule [ "services" "forgejo" "domain" ] [ "services" "forgejo" "settings" "server" "DOMAIN" ]) - (mkRenamedOptionModule [ "services" "forgejo" "httpAddress" ] [ "services" "forgejo" "settings" "server" "HTTP_ADDR" ]) - (mkRenamedOptionModule [ "services" "forgejo" "httpPort" ] [ "services" "forgejo" "settings" "server" "HTTP_PORT" ]) - (mkRenamedOptionModule [ "services" "forgejo" "log" "level" ] [ "services" "forgejo" "settings" "log" "LEVEL" ]) - (mkRenamedOptionModule [ "services" "forgejo" "log" "rootPath" ] [ "services" "forgejo" "settings" "log" "ROOT_PATH" ]) - (mkRenamedOptionModule [ "services" "forgejo" "rootUrl" ] [ "services" "forgejo" "settings" "server" "ROOT_URL" ]) - (mkRenamedOptionModule [ "services" "forgejo" "ssh" "clonePort" ] [ "services" "forgejo" "settings" "server" "SSH_PORT" ]) - (mkRenamedOptionModule [ "services" "forgejo" "staticRootPath" ] [ "services" "forgejo" "settings" "server" "STATIC_ROOT_PATH" ]) - (mkChangedOptionModule [ "services" "forgejo" "enableUnixSocket" ] [ "services" "forgejo" "settings" "server" "PROTOCOL" ] ( - config: if config.services.forgejo.enableUnixSocket then "http+unix" else "http" - )) - (mkRemovedOptionModule [ "services" "forgejo" "ssh" "enable" ] "services.forgejo.ssh.enable has been migrated into freeform setting services.forgejo.settings.server.DISABLE_SSH. Keep in mind that the setting is inverted") + (mkRenamedOptionModule + [ "services" "forgejo" "cookieSecure" ] + [ "services" "forgejo" "settings" "session" "COOKIE_SECURE" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "disableRegistration" ] + [ "services" "forgejo" "settings" "service" "DISABLE_REGISTRATION" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "domain" ] + [ "services" "forgejo" "settings" "server" "DOMAIN" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "httpAddress" ] + [ "services" "forgejo" "settings" "server" "HTTP_ADDR" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "httpPort" ] + [ "services" "forgejo" "settings" "server" "HTTP_PORT" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "log" "level" ] + [ "services" "forgejo" "settings" "log" "LEVEL" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "log" "rootPath" ] + [ "services" "forgejo" "settings" "log" "ROOT_PATH" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "rootUrl" ] + [ "services" "forgejo" "settings" "server" "ROOT_URL" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "ssh" "clonePort" ] + [ "services" "forgejo" "settings" "server" "SSH_PORT" ] + ) + (mkRenamedOptionModule + [ "services" "forgejo" "staticRootPath" ] + [ "services" "forgejo" "settings" "server" "STATIC_ROOT_PATH" ] + ) + (mkChangedOptionModule + [ "services" "forgejo" "enableUnixSocket" ] + [ "services" "forgejo" "settings" "server" "PROTOCOL" ] + (config: if config.services.forgejo.enableUnixSocket then "http+unix" else "http") + ) + (mkRemovedOptionModule [ "services" "forgejo" "ssh" "enable" ] + "services.forgejo.ssh.enable has been migrated into freeform setting services.forgejo.settings.server.DISABLE_SSH. Keep in mind that the setting is inverted" + ) ]; options = { @@ -109,7 +164,11 @@ in database = { type = mkOption { - type = types.enum [ "sqlite3" "mysql" "postgres" ]; + type = types.enum [ + "sqlite3" + "mysql" + "postgres" + ]; example = "mysql"; default = "sqlite3"; description = "Database engine to use."; @@ -156,7 +215,13 @@ in socket = mkOption { type = types.nullOr types.path; - default = if (cfg.database.createDatabase && usePostgresql) then "/run/postgresql" else if (cfg.database.createDatabase && useMysql) then "/run/mysqld/mysqld.sock" else null; + default = + if (cfg.database.createDatabase && usePostgresql) then + "/run/postgresql" + else if (cfg.database.createDatabase && useMysql) then + "/run/mysqld/mysqld.sock" + else + null; defaultText = literalExpression "null"; example = "/run/mysqld/mysqld.sock"; description = "Path to the unix socket file to use for authentication."; @@ -199,7 +264,17 @@ in }; type = mkOption { - type = types.enum [ "zip" "tar" "tar.sz" "tar.gz" "tar.xz" "tar.bz2" "tar.br" "tar.lz4" "tar.zst" ]; + type = types.enum [ + "zip" + "tar" + "tar.sz" + "tar.gz" + "tar.xz" + "tar.bz2" + "tar.br" + "tar.lz4" + "tar.zst" + ]; default = "zip"; description = "Archive format used to store the dump file."; }; @@ -273,21 +348,38 @@ in }; LEVEL = mkOption { default = "Info"; - type = types.enum [ "Trace" "Debug" "Info" "Warn" "Error" "Critical" ]; + type = types.enum [ + "Trace" + "Debug" + "Info" + "Warn" + "Error" + "Critical" + ]; description = "General log level."; }; }; server = { PROTOCOL = mkOption { - type = types.enum [ "http" "https" "fcgi" "http+unix" "fcgi+unix" ]; + type = types.enum [ + "http" + "https" + "fcgi" + "http+unix" + "fcgi+unix" + ]; default = "http"; description = ''Listen protocol. `+unix` means "over unix", not "in addition to."''; }; HTTP_ADDR = mkOption { type = types.either types.str types.path; - default = if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then "/run/forgejo/forgejo.sock" else "0.0.0.0"; + default = + if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then + "/run/forgejo/forgejo.sock" + else + "0.0.0.0"; defaultText = literalExpression ''if lib.hasSuffix "+unix" cfg.settings.server.PROTOCOL then "/run/forgejo/forgejo.sock" else "0.0.0.0"''; description = "Listen address. Must be a path when using a unix socket."; }; @@ -370,18 +462,18 @@ in ::: ''; example = literalExpression '' - { - metrics = { - TOKEN = "/run/keys/forgejo-metrics-token"; - }; - camo = { - HMAC_KEY = "/run/keys/forgejo-camo-hmac"; - }; - service = { - HCAPTCHA_SECRET = "/run/keys/forgejo-hcaptcha-secret"; - HCAPTCHA_SITEKEY = "/run/keys/forgejo-hcaptcha-sitekey"; - }; - } + { + metrics = { + TOKEN = "/run/keys/forgejo-metrics-token"; + }; + camo = { + HMAC_KEY = "/run/keys/forgejo-camo-hmac"; + }; + service = { + HCAPTCHA_SECRET = "/run/keys/forgejo-hcaptcha-secret"; + HCAPTCHA_SITEKEY = "/run/keys/forgejo-hcaptcha-sitekey"; + }; + } ''; type = types.submodule { freeformType = with types; attrsOf (attrsOf path); @@ -397,7 +489,8 @@ in assertion = cfg.database.createDatabase -> useSqlite || cfg.database.user == cfg.user; message = "services.forgejo.database.user must match services.forgejo.user if the database is to be automatically provisioned"; } - { assertion = cfg.database.createDatabase && usePostgresql -> cfg.database.user == cfg.database.name; + { + assertion = cfg.database.createDatabase && usePostgresql -> cfg.database.user == cfg.database.name; message = '' When creating a database via NixOS, the db user and db name must be equal! If you already have an existing DB+user and this assertion is new, you can safely set @@ -419,7 +512,11 @@ in DB_TYPE = cfg.database.type; } (mkIf (useMysql || usePostgresql) { - HOST = if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port; + HOST = + if cfg.database.socket != null then + cfg.database.socket + else + cfg.database.host + ":" + toString cfg.database.port; NAME = cfg.database.name; USER = cfg.database.user; }) @@ -491,38 +588,42 @@ in ensureUsers = [ { name = cfg.database.user; - ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; } ]; }; - systemd.tmpfiles.rules = [ - "d '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.stateDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.customDir}' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.customDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.stateDir}/data' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.stateDir}/log' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.stateDir}/.ssh' 0700 ${cfg.user} ${cfg.group} - -" - "z '${cfg.stateDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.customDir}' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.customDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.stateDir}/data' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.stateDir}/log' 0750 ${cfg.user} ${cfg.group} - -" - - # If we have a folder or symlink with Forgejo locales, remove it - # And symlink the current Forgejo locales in place - "L+ '${cfg.stateDir}/conf/locale' - - - - ${cfg.package.out}/locale" - - ] ++ optionals cfg.lfs.enable [ - "d '${cfg.lfs.contentDir}' 0750 ${cfg.user} ${cfg.group} - -" - "z '${cfg.lfs.contentDir}' 0750 ${cfg.user} ${cfg.group} - -" - ]; + systemd.tmpfiles.rules = + [ + "d '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.customDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.customDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/data' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.stateDir}/log' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.stateDir}/.ssh' 0700 ${cfg.user} ${cfg.group} - -" + "z '${cfg.stateDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.customDir}' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.customDir}/conf' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.stateDir}/data' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.stateDir}/log' 0750 ${cfg.user} ${cfg.group} - -" + + # If we have a folder or symlink with Forgejo locales, remove it + # And symlink the current Forgejo locales in place + "L+ '${cfg.stateDir}/conf/locale' - - - - ${cfg.package.out}/locale" + + ] + ++ optionals cfg.lfs.enable [ + "d '${cfg.lfs.contentDir}' 0750 ${cfg.user} ${cfg.group} - -" + "z '${cfg.lfs.contentDir}' 0750 ${cfg.user} ${cfg.group} - -" + ]; systemd.services.forgejo-secrets = mkIf (!cfg.useWizard) { description = "Forgejo secret bootstrap helper"; @@ -536,9 +637,9 @@ in fi ${optionalString cfg.lfs.enable '' - if [ ! -s '${cfg.secrets.server.LFS_JWT_SECRET}' ]; then - ${exe} generate secret LFS_JWT_SECRET > '${cfg.secrets.server.LFS_JWT_SECRET}' - fi + if [ ! -s '${cfg.secrets.server.LFS_JWT_SECRET}' ]; then + ${exe} generate secret LFS_JWT_SECRET > '${cfg.secrets.server.LFS_JWT_SECRET}' + fi ''} if [ ! -s '${cfg.secrets.security.INTERNAL_TOKEN}' ]; then @@ -557,24 +658,35 @@ in systemd.services.forgejo = { description = "Forgejo (Beyond coding. We forge.)"; - after = [ - "network.target" - ] ++ optionals usePostgresql [ - "postgresql.service" - ] ++ optionals useMysql [ - "mysql.service" - ] ++ optionals (!cfg.useWizard) [ - "forgejo-secrets.service" - ]; - requires = optionals (cfg.database.createDatabase && usePostgresql) [ - "postgresql.service" - ] ++ optionals (cfg.database.createDatabase && useMysql) [ - "mysql.service" - ] ++ optionals (!cfg.useWizard) [ - "forgejo-secrets.service" - ]; + after = + [ + "network.target" + ] + ++ optionals usePostgresql [ + "postgresql.service" + ] + ++ optionals useMysql [ + "mysql.service" + ] + ++ optionals (!cfg.useWizard) [ + "forgejo-secrets.service" + ]; + requires = + optionals (cfg.database.createDatabase && usePostgresql) [ + "postgresql.service" + ] + ++ optionals (cfg.database.createDatabase && useMysql) [ + "mysql.service" + ] + ++ optionals (!cfg.useWizard) [ + "forgejo-secrets.service" + ]; wantedBy = [ "multi-user.target" ]; - path = [ cfg.package pkgs.git pkgs.gnupg ]; + path = [ + cfg.package + pkgs.git + pkgs.gnupg + ]; # In older versions the secret naming for JWT was kind of confusing. # The file jwt_secret hold the value for LFS_JWT_SECRET and JWT_SECRET @@ -583,32 +695,31 @@ in # values for JWT_SECRET and the file jwt_secret gets renamed to # lfs_jwt_secret. # We have to consider this to stay compatible with older installations. - preStart = - '' - ${optionalString (!cfg.useWizard) '' - function forgejo_setup { - config='${cfg.customDir}/conf/app.ini' - cp -f '${format.generate "app.ini" cfg.settings}' "$config" - - chmod u+w "$config" - ${lib.getExe' cfg.package "environment-to-ini"} --config "$config" - chmod u-w "$config" - } - (umask 027; forgejo_setup) - ''} - - # run migrations/init the database - ${exe} migrate - - # update all hooks' binary paths - ${exe} admin regenerate hooks - - # update command option in authorized_keys - if [ -r ${cfg.stateDir}/.ssh/authorized_keys ] - then - ${exe} admin regenerate keys - fi - ''; + preStart = '' + ${optionalString (!cfg.useWizard) '' + function forgejo_setup { + config='${cfg.customDir}/conf/app.ini' + cp -f '${format.generate "app.ini" cfg.settings}' "$config" + + chmod u+w "$config" + ${lib.getExe' cfg.package "environment-to-ini"} --config "$config" + chmod u-w "$config" + } + (umask 027; forgejo_setup) + ''} + + # run migrations/init the database + ${exe} migrate + + # update all hooks' binary paths + ${exe} admin regenerate hooks + + # update command option in authorized_keys + if [ -r ${cfg.stateDir}/.ssh/authorized_keys ] + then + ${exe} admin regenerate keys + fi + ''; serviceConfig = { Type = "simple"; @@ -624,7 +735,13 @@ in ProcSubset = "pid"; ProtectProc = "invisible"; # Access write directories - ReadWritePaths = [ cfg.customDir cfg.dump.backupDir cfg.repositoryRoot cfg.stateDir cfg.lfs.contentDir ]; + ReadWritePaths = [ + cfg.customDir + cfg.dump.backupDir + cfg.repositoryRoot + cfg.stateDir + cfg.lfs.contentDir + ]; UMask = "0027"; # Capabilities CapabilityBoundingSet = ""; @@ -642,7 +759,11 @@ in ProtectKernelModules = true; ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; LockPersonality = true; MemoryDenyWriteExecute = true; @@ -652,7 +773,10 @@ in PrivateMounts = true; # System Call Filtering SystemCallArchitectures = "native"; - SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid" "setrlimit" ]; + SystemCallFilter = [ + "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid" + "setrlimit" + ]; # cfg.secrets LoadCredential = map (e: "${e.env}:${e.path}") secrets; }; @@ -699,7 +823,9 @@ in serviceConfig = { Type = "oneshot"; User = cfg.user; - ExecStart = "${exe} dump --type ${cfg.dump.type}" + optionalString (cfg.dump.file != null) " --file ${cfg.dump.file}"; + ExecStart = + "${exe} dump --type ${cfg.dump.type}" + + optionalString (cfg.dump.file != null) " --file ${cfg.dump.file}"; WorkingDirectory = cfg.dump.backupDir; }; }; @@ -713,5 +839,8 @@ in }; meta.doc = ./forgejo.md; - meta.maintainers = with lib.maintainers; [ bendlas emilylange ]; + meta.maintainers = with lib.maintainers; [ + bendlas + emilylange + ]; } diff --git a/nixos/modules/services/misc/freeswitch.nix b/nixos/modules/services/misc/freeswitch.nix index eace38229ca52..e9d3bb5c05da6 100644 --- a/nixos/modules/services/misc/freeswitch.nix +++ b/nixos/modules/services/misc/freeswitch.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.freeswitch; pkg = cfg.package; @@ -6,15 +11,16 @@ let mkdir -p $out cp -rT ${cfg.configTemplate} $out chmod -R +w $out - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (fileName: filePath: '' - mkdir -p $out/$(dirname ${fileName}) - cp ${filePath} $out/${fileName} - '') cfg.configDir)} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (fileName: filePath: '' + mkdir -p $out/$(dirname ${fileName}) + cp ${filePath} $out/${fileName} + '') cfg.configDir + )} ''; - configPath = if cfg.enableReload - then "/etc/freeswitch" - else configDirectory; -in { + configPath = if cfg.enableReload then "/etc/freeswitch" else configDirectory; +in +{ options = { services.freeswitch = { enable = lib.mkEnableOption "FreeSWITCH"; diff --git a/nixos/modules/services/misc/fstrim.nix b/nixos/modules/services/misc/fstrim.nix index f22505841fa39..6e115d99dcd94 100644 --- a/nixos/modules/services/misc/fstrim.nix +++ b/nixos/modules/services/misc/fstrim.nix @@ -1,16 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.fstrim; -in { +in +{ options = { services.fstrim = { - enable = (lib.mkEnableOption "periodic SSD TRIM of mounted partitions in background" // { - default = true; - }); + enable = ( + lib.mkEnableOption "periodic SSD TRIM of mounted partitions in background" + // { + default = true; + } + ); interval = lib.mkOption { type = lib.types.str; @@ -33,7 +42,10 @@ in { systemd.timers.fstrim = { timerConfig = { - OnCalendar = [ "" cfg.interval ]; + OnCalendar = [ + "" + cfg.interval + ]; }; wantedBy = [ "timers.target" ]; }; diff --git a/nixos/modules/services/misc/gammu-smsd.nix b/nixos/modules/services/misc/gammu-smsd.nix index 78f4e53815f2f..ea237e78d99ff 100644 --- a/nixos/modules/services/misc/gammu-smsd.nix +++ b/nixos/modules/services/misc/gammu-smsd.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.services.gammu-smsd; @@ -29,25 +34,30 @@ let ''} ${lib.optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "native_pgsql") ( - with cfg.backend; '' + with cfg.backend; + '' Driver = ${sql.driver} - ${lib.optionalString (sql.database!= null) "Database = ${sql.database}"} + ${lib.optionalString (sql.database != null) "Database = ${sql.database}"} ${lib.optionalString (sql.host != null) "Host = ${sql.host}"} ${lib.optionalString (sql.user != null) "User = ${sql.user}"} ${lib.optionalString (sql.password != null) "Password = ${sql.password}"} - '')} + '' + )} ${cfg.extraConfig.smsd} ''; initDBDir = "share/doc/gammu/examples/sql"; - gammuPackage = with cfg.backend; (pkgs.gammu.override { - dbiSupport = service == "sql" && sql.driver == "sqlite"; - postgresSupport = service == "sql" && sql.driver == "native_pgsql"; - }); + gammuPackage = + with cfg.backend; + (pkgs.gammu.override { + dbiSupport = service == "sql" && sql.driver == "sqlite"; + postgresSupport = service == "sql" && sql.driver == "native_pgsql"; + }); -in { +in +{ options = { services.gammu-smsd = { @@ -92,7 +102,6 @@ in { }; }; - log = { file = lib.mkOption { type = lib.types.str; @@ -101,13 +110,20 @@ in { }; format = lib.mkOption { - type = lib.types.enum [ "nothing" "text" "textall" "textalldate" "errors" "errorsdate" "binary" ]; + type = lib.types.enum [ + "nothing" + "text" + "textall" + "textalldate" + "errors" + "errorsdate" + "binary" + ]; default = "errors"; description = "Determines what will be logged to the LogFile"; }; }; - extraConfig = { gammu = lib.mkOption { type = lib.types.lines; @@ -115,7 +131,6 @@ in { description = "Extra config lines to be added into [gammu] section"; }; - smsd = lib.mkOption { type = lib.types.lines; default = ""; @@ -123,10 +138,13 @@ in { }; }; - backend = { service = lib.mkOption { - type = lib.types.enum [ "null" "files" "sql" ]; + type = lib.types.enum [ + "null" + "files" + "sql" + ]; default = "null"; description = "Service to use to store sms data."; }; @@ -159,7 +177,12 @@ in { sql = { driver = lib.mkOption { - type = lib.types.enum [ "native_mysql" "native_pgsql" "odbc" "dbi" ]; + type = lib.types.enum [ + "native_mysql" + "native_pgsql" + "odbc" + "dbi" + ]; description = "DB driver to use"; }; @@ -204,40 +227,53 @@ in { group = cfg.device.group; }; - environment.systemPackages = with cfg.backend; [ gammuPackage ] - ++ lib.optionals (service == "sql" && sql.driver == "sqlite") [ pkgs.sqlite ]; + environment.systemPackages = + with cfg.backend; + [ gammuPackage ] ++ lib.optionals (service == "sql" && sql.driver == "sqlite") [ pkgs.sqlite ]; systemd.services.gammu-smsd = { description = "gammu-smsd daemon"; wantedBy = [ "multi-user.target" ]; - wants = with cfg.backend; [ ] - ++ lib.optionals (service == "sql" && sql.driver == "native_pgsql") [ "postgresql.service" ]; - - preStart = with cfg.backend; - - lib.optionalString (service == "files") (with files; '' - mkdir -m 755 -p ${inboxPath} ${outboxPath} ${sentSMSPath} ${errorSMSPath} - chown ${cfg.user} -R ${inboxPath} - chown ${cfg.user} -R ${outboxPath} - chown ${cfg.user} -R ${sentSMSPath} - chown ${cfg.user} -R ${errorSMSPath} - '') - + lib.optionalString (service == "sql" && sql.driver == "sqlite") '' - cat "${gammuPackage}/${initDBDir}/sqlite.sql" \ - | ${pkgs.sqlite.bin}/bin/sqlite3 ${sql.database} + wants = + with cfg.backend; + [ ] ++ lib.optionals (service == "sql" && sql.driver == "native_pgsql") [ "postgresql.service" ]; + + preStart = + with cfg.backend; + + lib.optionalString (service == "files") ( + with files; + '' + mkdir -m 755 -p ${inboxPath} ${outboxPath} ${sentSMSPath} ${errorSMSPath} + chown ${cfg.user} -R ${inboxPath} + chown ${cfg.user} -R ${outboxPath} + chown ${cfg.user} -R ${sentSMSPath} + chown ${cfg.user} -R ${errorSMSPath} + '' + ) + + lib.optionalString (service == "sql" && sql.driver == "sqlite") '' + cat "${gammuPackage}/${initDBDir}/sqlite.sql" \ + | ${pkgs.sqlite.bin}/bin/sqlite3 ${sql.database} '' - + (let execPsql = extraArgs: lib.concatStringsSep " " [ - (lib.optionalString (sql.password != null) "PGPASSWORD=${sql.password}") - "${config.services.postgresql.package}/bin/psql" - (lib.optionalString (sql.host != null) "-h ${sql.host}") - (lib.optionalString (sql.user != null) "-U ${sql.user}") - "$extraArgs" - "${sql.database}" - ]; in lib.optionalString (service == "sql" && sql.driver == "native_pgsql") '' - echo '\i '"${gammuPackage}/${initDBDir}/pgsql.sql" | ${execPsql ""} - ''); + + ( + let + execPsql = + extraArgs: + lib.concatStringsSep " " [ + (lib.optionalString (sql.password != null) "PGPASSWORD=${sql.password}") + "${config.services.postgresql.package}/bin/psql" + (lib.optionalString (sql.host != null) "-h ${sql.host}") + (lib.optionalString (sql.user != null) "-U ${sql.user}") + "$extraArgs" + "${sql.database}" + ]; + in + lib.optionalString (service == "sql" && sql.driver == "native_pgsql") '' + echo '\i '"${gammuPackage}/${initDBDir}/pgsql.sql" | ${execPsql ""} + '' + ); serviceConfig = { User = "${cfg.user}"; diff --git a/nixos/modules/services/misc/geoipupdate.nix b/nixos/modules/services/misc/geoipupdate.nix index f46bf7b394fea..c53450f0afc40 100644 --- a/nixos/modules/services/misc/geoipupdate.nix +++ b/nixos/modules/services/misc/geoipupdate.nix @@ -1,12 +1,27 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.geoipupdate; - inherit (builtins) isAttrs isString isInt isList typeOf hashString; + inherit (builtins) + isAttrs + isString + isInt + isList + typeOf + hashString + ; in { imports = [ - (lib.mkRemovedOptionModule [ "services" "geoip-updater" ] "services.geoip-updater has been removed, use services.geoipupdate instead.") + (lib.mkRemovedOptionModule [ + "services" + "geoip-updater" + ] "services.geoip-updater has been removed, use services.geoipupdate instead.") ]; options = { @@ -54,9 +69,13 @@ in freeformType = with lib.types; let - type = oneOf [str int bool]; + type = oneOf [ + str + int + bool + ]; in - attrsOf (either type (listOf type)); + attrsOf (either type (listOf type)); options = { @@ -149,19 +168,33 @@ in isSecret = v: isAttrs v && v ? _secret && isString v._secret; geoipupdateKeyValue = lib.generators.toKeyValue { mkKeyValue = lib.flip lib.generators.mkKeyValueDefault " " rec { - mkValueString = v: - if isInt v then toString v - else if isString v then v - else if true == v then "1" - else if false == v then "0" - else if isList v then lib.concatMapStringsSep " " mkValueString v - else if isSecret v then hashString "sha256" v._secret - else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; + mkValueString = + v: + if isInt v then + toString v + else if isString v then + v + else if true == v then + "1" + else if false == v then + "0" + else if isList v then + lib.concatMapStringsSep " " mkValueString v + else if isSecret v then + hashString "sha256" v._secret + else + throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty { }) v}"; }; }; secretPaths = lib.catAttrs "_secret" (lib.collect isSecret cfg.settings); mkSecretReplacement = file: '' - replace-secret ${lib.escapeShellArgs [ (hashString "sha256" file) file "/run/geoipupdate/GeoIP.conf" ]} + replace-secret ${ + lib.escapeShellArgs [ + (hashString "sha256" file) + file + "/run/geoipupdate/GeoIP.conf" + ] + } ''; secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; @@ -177,7 +210,7 @@ in ${secretReplacements} ''; in - "+${pkgs.writeShellScript "start-pre-full-privileges" script}"; + "+${pkgs.writeShellScript "start-pre-full-privileges" script}"; ExecStart = "${pkgs.geoipupdate}/bin/geoipupdate -f /run/geoipupdate/GeoIP.conf"; User = "geoip"; DynamicUser = true; @@ -197,8 +230,14 @@ in ProtectKernelTunables = true; ProtectProc = "invisible"; ProcSubset = "pid"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictRealtime = true; RestrictNamespaces = true; MemoryDenyWriteExecute = true; diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix index 779a9ac9929db..9cb7bc769e86b 100644 --- a/nixos/modules/services/misc/gitolite.nix +++ b/nixos/modules/services/misc/gitolite.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gitolite; # Use writeTextDir to not leak Nix store hash into file name @@ -51,7 +56,7 @@ in commonHooks = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' A list of custom git hooks that get copied to `~/.gitolite/hooks/common`. ''; @@ -117,122 +122,141 @@ in }; config = lib.mkIf cfg.enable ( - let - manageGitoliteRc = cfg.extraGitoliteRc != ""; - rcDir = pkgs.runCommand "gitolite-rc" { preferLocalBuild = true; } rcDirScript; - rcDirScript = - '' - mkdir "$out" - export HOME=temp-home - mkdir -p "$HOME/.gitolite/logs" # gitolite can't run without it - '${pkgs.gitolite}'/bin/gitolite print-default-rc >>"$out/gitolite.rc.default" - cat <>"$out/gitolite.rc" - # This file is managed by NixOS. - # Use services.gitolite options to control it. - - END - cat "$out/gitolite.rc.default" >>"$out/gitolite.rc" - '' + - lib.optionalString (cfg.extraGitoliteRc != "") '' - echo -n ${lib.escapeShellArg '' - - # Added by NixOS: - ${lib.removeSuffix "\n" cfg.extraGitoliteRc} - - # per perl rules, this should be the last line in such a file: - 1; - ''} >>"$out/gitolite.rc" - ''; - in { - services.gitolite.extraGitoliteRc = lib.optionalString cfg.enableGitAnnex '' - # Enable git-annex support: - push( @{$RC{ENABLE}}, 'git-annex-shell ua'); - ''; - - users.users.${cfg.user} = { - description = cfg.description; - home = cfg.dataDir; - uid = config.ids.uids.gitolite; - group = cfg.group; - useDefaultShell = true; - }; - users.groups.${cfg.group}.gid = config.ids.gids.gitolite; + let + manageGitoliteRc = cfg.extraGitoliteRc != ""; + rcDir = pkgs.runCommand "gitolite-rc" { preferLocalBuild = true; } rcDirScript; + rcDirScript = + '' + mkdir "$out" + export HOME=temp-home + mkdir -p "$HOME/.gitolite/logs" # gitolite can't run without it + '${pkgs.gitolite}'/bin/gitolite print-default-rc >>"$out/gitolite.rc.default" + cat <>"$out/gitolite.rc" + # This file is managed by NixOS. + # Use services.gitolite options to control it. + + END + cat "$out/gitolite.rc.default" >>"$out/gitolite.rc" + '' + + lib.optionalString (cfg.extraGitoliteRc != "") '' + echo -n ${lib.escapeShellArg '' - systemd.services.gitolite-init = { - description = "Gitolite initialization"; - wantedBy = [ "multi-user.target" ]; - unitConfig.RequiresMountsFor = cfg.dataDir; + # Added by NixOS: + ${lib.removeSuffix "\n" cfg.extraGitoliteRc} - environment = { - GITOLITE_RC = ".gitolite.rc"; - GITOLITE_RC_DEFAULT = "${rcDir}/gitolite.rc.default"; + # per perl rules, this should be the last line in such a file: + 1; + ''} >>"$out/gitolite.rc" + ''; + in + { + services.gitolite.extraGitoliteRc = lib.optionalString cfg.enableGitAnnex '' + # Enable git-annex support: + push( @{$RC{ENABLE}}, 'git-annex-shell ua'); + ''; + + users.users.${cfg.user} = { + description = cfg.description; + home = cfg.dataDir; + uid = config.ids.uids.gitolite; + group = cfg.group; + useDefaultShell = true; }; + users.groups.${cfg.group}.gid = config.ids.gids.gitolite; - serviceConfig = lib.mkMerge [ - (lib.mkIf (cfg.dataDir == "/var/lib/gitolite") { - StateDirectory = "gitolite gitolite/.gitolite gitolite/.gitolite/logs"; - StateDirectoryMode = "0750"; - }) - { - Type = "oneshot"; - User = cfg.user; - Group = cfg.group; - WorkingDirectory = "~"; - RemainAfterExit = true; - } - ]; - - path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.diffutils config.programs.ssh.package ]; - script = - let - rcSetupScriptIfCustomFile = - if manageGitoliteRc then '' - cat <ERROR: NixOS can't apply declarative configuration - <3>to your .gitolite.rc file, because it seems to be - <3>already customized manually. - <3>See the services.gitolite.extraGitoliteRc option - <3>in "man configuration.nix" for more information. - END - # Not sure if the line below addresses the issue directly or just - # adds a delay, but without it our error message often doesn't - # show up in `systemctl status gitolite-init`. - journalctl --flush - exit 1 - '' else '' - : - ''; - rcSetupScriptIfDefaultFileOrStoreSymlink = - if manageGitoliteRc then '' - ln -sf "${rcDir}/gitolite.rc" "$GITOLITE_RC" - '' else '' - [[ -L "$GITOLITE_RC" ]] && rm -f "$GITOLITE_RC" + systemd.services.gitolite-init = { + description = "Gitolite initialization"; + wantedBy = [ "multi-user.target" ]; + unitConfig.RequiresMountsFor = cfg.dataDir; + + environment = { + GITOLITE_RC = ".gitolite.rc"; + GITOLITE_RC_DEFAULT = "${rcDir}/gitolite.rc.default"; + }; + + serviceConfig = lib.mkMerge [ + (lib.mkIf (cfg.dataDir == "/var/lib/gitolite") { + StateDirectory = "gitolite gitolite/.gitolite gitolite/.gitolite/logs"; + StateDirectoryMode = "0750"; + }) + { + Type = "oneshot"; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = "~"; + RemainAfterExit = true; + } + ]; + + path = [ + pkgs.gitolite + pkgs.git + pkgs.perl + pkgs.bash + pkgs.diffutils + config.programs.ssh.package + ]; + script = + let + rcSetupScriptIfCustomFile = + if manageGitoliteRc then + '' + cat <ERROR: NixOS can't apply declarative configuration + <3>to your .gitolite.rc file, because it seems to be + <3>already customized manually. + <3>See the services.gitolite.extraGitoliteRc option + <3>in "man configuration.nix" for more information. + END + # Not sure if the line below addresses the issue directly or just + # adds a delay, but without it our error message often doesn't + # show up in `systemctl status gitolite-init`. + journalctl --flush + exit 1 + '' + else + '' + : + ''; + rcSetupScriptIfDefaultFileOrStoreSymlink = + if manageGitoliteRc then + '' + ln -sf "${rcDir}/gitolite.rc" "$GITOLITE_RC" + '' + else + '' + [[ -L "$GITOLITE_RC" ]] && rm -f "$GITOLITE_RC" + ''; + in + '' + if ( [[ ! -e "$GITOLITE_RC" ]] && [[ ! -L "$GITOLITE_RC" ]] ) || + ( [[ -f "$GITOLITE_RC" ]] && diff -q "$GITOLITE_RC" "$GITOLITE_RC_DEFAULT" >/dev/null ) || + ( [[ -L "$GITOLITE_RC" ]] && [[ "$(readlink "$GITOLITE_RC")" =~ ^/nix/store/ ]] ) + then + '' + + rcSetupScriptIfDefaultFileOrStoreSymlink + + '' + else + '' + + rcSetupScriptIfCustomFile + + '' + fi + + if [ ! -d repositories ]; then + gitolite setup -pk ${pubkeyFile} + fi + if [ -n "${hooks}" ]; then + cp -f ${hooks} .gitolite/hooks/common/ + chmod +x .gitolite/hooks/common/* + fi + gitolite setup # Upgrade if needed ''; - in - '' - if ( [[ ! -e "$GITOLITE_RC" ]] && [[ ! -L "$GITOLITE_RC" ]] ) || - ( [[ -f "$GITOLITE_RC" ]] && diff -q "$GITOLITE_RC" "$GITOLITE_RC_DEFAULT" >/dev/null ) || - ( [[ -L "$GITOLITE_RC" ]] && [[ "$(readlink "$GITOLITE_RC")" =~ ^/nix/store/ ]] ) - then - '' + rcSetupScriptIfDefaultFileOrStoreSymlink + - '' - else - '' + rcSetupScriptIfCustomFile + - '' - fi - - if [ ! -d repositories ]; then - gitolite setup -pk ${pubkeyFile} - fi - if [ -n "${hooks}" ]; then - cp -f ${hooks} .gitolite/hooks/common/ - chmod +x .gitolite/hooks/common/* - fi - gitolite setup # Upgrade if needed - ''; - }; + }; - environment.systemPackages = [ pkgs.gitolite pkgs.git ] - ++ lib.optional cfg.enableGitAnnex pkgs.git-annex; - }); + environment.systemPackages = [ + pkgs.gitolite + pkgs.git + ] ++ lib.optional cfg.enableGitAnnex pkgs.git-annex; + } + ); } diff --git a/nixos/modules/services/misc/gitweb.nix b/nixos/modules/services/misc/gitweb.nix index fb31deb8538ac..3030dc5c8285d 100644 --- a/nixos/modules/services/misc/gitweb.nix +++ b/nixos/modules/services/misc/gitweb.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gitweb; diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix index 76aa151f204ad..75a323332f369 100644 --- a/nixos/modules/services/misc/gpsd.nix +++ b/nixos/modules/services/misc/gpsd.nix @@ -1,17 +1,23 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let uid = config.ids.uids.gpsd; gid = config.ids.gids.gpsd; cfg = config.services.gpsd; -in { +in +{ ###### interface imports = [ - (lib.mkRemovedOptionModule [ "services" "gpsd" "device" ] - "Use `services.gpsd.devices` instead.") + (lib.mkRemovedOptionModule [ "services" "gpsd" "device" ] "Use `services.gpsd.devices` instead.") ]; options = { @@ -92,7 +98,11 @@ in { extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "-r" "-s" "19200" ]; + example = [ + "-r" + "-s" + "19200" + ]; description = '' A list of extra command line arguments to pass to gpsd. Check gpsd(8) mangpage for possible arguments. @@ -122,18 +132,20 @@ in { after = [ "network.target" ]; serviceConfig = { Type = "forking"; - ExecStart = let - devices = utils.escapeSystemdExecArgs cfg.devices; - extraArgs = utils.escapeSystemdExecArgs cfg.extraArgs; - in '' - ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \ - -S "${toString cfg.port}" \ - ${lib.optionalString cfg.readonly "-b"} \ - ${lib.optionalString cfg.nowait "-n"} \ - ${lib.optionalString cfg.listenany "-G"} \ - ${extraArgs} \ - ${devices} - ''; + ExecStart = + let + devices = utils.escapeSystemdExecArgs cfg.devices; + extraArgs = utils.escapeSystemdExecArgs cfg.extraArgs; + in + '' + ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \ + -S "${toString cfg.port}" \ + ${lib.optionalString cfg.readonly "-b"} \ + ${lib.optionalString cfg.nowait "-n"} \ + ${lib.optionalString cfg.listenany "-G"} \ + ${extraArgs} \ + ${devices} + ''; }; }; diff --git a/nixos/modules/services/misc/greenclip.nix b/nixos/modules/services/misc/greenclip.nix index ce44ad4f66634..878fb52c584b3 100644 --- a/nixos/modules/services/misc/greenclip.nix +++ b/nixos/modules/services/misc/greenclip.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.greenclip; -in { +in +{ options.services.greenclip = { enable = lib.mkEnableOption "Greenclip, a clipboard manager"; @@ -11,10 +17,10 @@ in { config = lib.mkIf cfg.enable { systemd.user.services.greenclip = { - enable = true; + enable = true; description = "greenclip daemon"; wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/greenclip daemon"; Restart = "always"; diff --git a/nixos/modules/services/misc/guix/default.nix b/nixos/modules/services/misc/guix/default.nix index 9cd346a92b51e..049a6a5b42223 100644 --- a/nixos/modules/services/misc/guix/default.nix +++ b/nixos/modules/services/misc/guix/default.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.guix; @@ -14,13 +19,14 @@ let isSystemUser = true; }; - guixBuildUsers = numberOfUsers: - builtins.listToAttrs (map - (user: { + guixBuildUsers = + numberOfUsers: + builtins.listToAttrs ( + map (user: { name = user.name; value = user; - }) - (builtins.genList guixBuildUser numberOfUsers)); + }) (builtins.genList guixBuildUser numberOfUsers) + ); # A set of Guix user profiles to be linked at activation. All of these should # be default profiles managed by Guix CLI and the profiles are located in @@ -85,7 +91,10 @@ in extraArgs = mkOption { type = with types; listOf str; default = [ ]; - example = [ "--max-jobs=4" "--debug" ]; + example = [ + "--max-jobs=4" + "--debug" + ]; description = '' Extra flags to pass to the Guix daemon service. ''; @@ -217,7 +226,7 @@ in description = '' Extra flags to pass to the substitute server. ''; - default = []; + default = [ ]; example = [ "--compression=zstd:6" "--discover=no" @@ -257,208 +266,224 @@ in }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - environment.systemPackages = [ package ]; - - users.users = guixBuildUsers cfg.nrBuildUsers; - users.groups.${cfg.group} = { }; - - # Guix uses Avahi (through guile-avahi) both for the auto-discovering and - # advertising substitute servers in the local network. - services.avahi.enable = lib.mkDefault true; - services.avahi.publish.enable = lib.mkDefault true; - services.avahi.publish.userServices = lib.mkDefault true; - - # It's similar to Nix daemon so there's no question whether or not this - # should be sandboxed. - systemd.services.guix-daemon = { - environment = serviceEnv; - script = '' - exec ${lib.getExe' package "guix-daemon"} \ - --build-users-group=${cfg.group} \ - ${lib.optionalString (cfg.substituters.urls != [ ]) - "--substitute-urls='${lib.concatStringsSep " " cfg.substituters.urls}'"} \ - ${lib.escapeShellArgs cfg.extraArgs} - ''; - serviceConfig = { - OOMPolicy = "continue"; - RemainAfterExit = "yes"; - Restart = "always"; - TasksMax = 8192; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + environment.systemPackages = [ package ]; + + users.users = guixBuildUsers cfg.nrBuildUsers; + users.groups.${cfg.group} = { }; + + # Guix uses Avahi (through guile-avahi) both for the auto-discovering and + # advertising substitute servers in the local network. + services.avahi.enable = lib.mkDefault true; + services.avahi.publish.enable = lib.mkDefault true; + services.avahi.publish.userServices = lib.mkDefault true; + + # It's similar to Nix daemon so there's no question whether or not this + # should be sandboxed. + systemd.services.guix-daemon = { + environment = serviceEnv; + script = '' + exec ${lib.getExe' package "guix-daemon"} \ + --build-users-group=${cfg.group} \ + ${ + lib.optionalString ( + cfg.substituters.urls != [ ] + ) "--substitute-urls='${lib.concatStringsSep " " cfg.substituters.urls}'" + } \ + ${lib.escapeShellArgs cfg.extraArgs} + ''; + serviceConfig = { + OOMPolicy = "continue"; + RemainAfterExit = "yes"; + Restart = "always"; + TasksMax = 8192; + }; + unitConfig.RequiresMountsFor = [ + cfg.storeDir + cfg.stateDir + ]; + wantedBy = [ "multi-user.target" ]; }; - unitConfig.RequiresMountsFor = [ - cfg.storeDir - cfg.stateDir - ]; - wantedBy = [ "multi-user.target" ]; - }; - - # This is based from Nix daemon socket unit from upstream Nix package. - # Guix build daemon has support for systemd-style socket activation. - systemd.sockets.guix-daemon = { - description = "Guix daemon socket"; - before = [ "multi-user.target" ]; - listenStreams = [ "${cfg.stateDir}/guix/daemon-socket/socket" ]; - unitConfig.RequiresMountsFor = [ cfg.storeDir cfg.stateDir ]; - wantedBy = [ "sockets.target" ]; - }; - - systemd.mounts = [{ - description = "Guix read-only store directory"; - before = [ "guix-daemon.service" ]; - what = cfg.storeDir; - where = cfg.storeDir; - type = "none"; - options = "bind,ro"; - - unitConfig.DefaultDependencies = false; - wantedBy = [ "guix-daemon.service" ]; - }]; - - # Make transferring files from one store to another easier with the usual - # case being of most substitutes from the official Guix CI instance. - environment.etc."guix/acl".source = aclFile; - - # Link the usual Guix profiles to the home directory. This is useful in - # ephemeral setups where only certain part of the filesystem is - # persistent (e.g., "Erase my darlings"-type of setup). - system.userActivationScripts.guix-activate-user-profiles.text = let - guixProfile = profile: "${cfg.stateDir}/guix/profiles/per-user/\${USER}/${profile}"; - linkProfile = profile: location: let - userProfile = guixProfile profile; - in '' - [ -d "${userProfile}" ] && ln -sfn "${userProfile}" "${location}" - ''; - linkProfileToPath = acc: profile: location: - acc + (linkProfile profile location); - - # This should contain export-only Guix user profiles. The rest of it is - # handled manually in the activation script. - guixUserProfiles' = lib.attrsets.removeAttrs guixUserProfiles [ "guix-home" ]; - - linkExportsScript = lib.foldlAttrs linkProfileToPath "" guixUserProfiles'; - in '' - # Don't export this please! It is only expected to be used for this - # activation script and nothing else. - XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-$HOME/.config} - - # Linking the usual Guix profiles into the home directory. - ${linkExportsScript} - - # Activate all of the default Guix non-exports profiles manually. - ${linkProfile "guix-home" "$HOME/.guix-home"} - [ -L "$HOME/.guix-home" ] && "$HOME/.guix-home/activate" - ''; - # GUIX_LOCPATH is basically LOCPATH but for Guix libc which in turn used by - # virtually every Guix-built packages. This is so that Guix-installed - # applications wouldn't use incompatible locale data and not touch its host - # system. - environment.sessionVariables.GUIX_LOCPATH = lib.makeSearchPath "lib/locale" guixProfiles; - - # What Guix profiles export is very similar to Nix profiles so it is - # acceptable to list it here. Also, it is more likely that the user would - # want to use packages explicitly installed from Guix so we're putting it - # first. - environment.profiles = lib.mkBefore guixProfiles; - } - - (lib.mkIf cfg.publish.enable { - systemd.services.guix-publish = { - description = "Guix remote store"; - environment = serviceEnv; - - # Mounts will be required by the daemon service anyways so there's no - # need add RequiresMountsFor= or something similar. - requires = [ "guix-daemon.service" ]; - after = [ "guix-daemon.service" ]; - partOf = [ "guix-daemon.service" ]; - - preStart = lib.mkIf cfg.publish.generateKeyPair '' - # Generate the keypair if it's missing. - [ -f "/etc/guix/signing-key.sec" ] && [ -f "/etc/guix/signing-key.pub" ] || \ - ${lib.getExe' package "guix"} archive --generate-key || { - rm /etc/guix/signing-key.*; - ${lib.getExe' package "guix"} archive --generate-key; - } - ''; - script = '' - exec ${lib.getExe' package "guix"} publish \ - --user=${cfg.publish.user} --port=${builtins.toString cfg.publish.port} \ - ${lib.escapeShellArgs cfg.publish.extraArgs} - ''; - - serviceConfig = { - Restart = "always"; - RestartSec = 10; - - ProtectClock = true; - ProtectHostname = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - SystemCallFilter = [ - "@system-service" - "@debug" - "@setuid" + # This is based from Nix daemon socket unit from upstream Nix package. + # Guix build daemon has support for systemd-style socket activation. + systemd.sockets.guix-daemon = { + description = "Guix daemon socket"; + before = [ "multi-user.target" ]; + listenStreams = [ "${cfg.stateDir}/guix/daemon-socket/socket" ]; + unitConfig.RequiresMountsFor = [ + cfg.storeDir + cfg.stateDir ]; + wantedBy = [ "sockets.target" ]; + }; - RestrictNamespaces = true; - RestrictAddressFamilies = [ - "AF_UNIX" - "AF_INET" - "AF_INET6" - ]; + systemd.mounts = [ + { + description = "Guix read-only store directory"; + before = [ "guix-daemon.service" ]; + what = cfg.storeDir; + where = cfg.storeDir; + type = "none"; + options = "bind,ro"; + + unitConfig.DefaultDependencies = false; + wantedBy = [ "guix-daemon.service" ]; + } + ]; - # While the permissions can be set, it is assumed to be taken by Guix - # daemon service which it has already done the setup. - ConfigurationDirectory = "guix"; + # Make transferring files from one store to another easier with the usual + # case being of most substitutes from the official Guix CI instance. + environment.etc."guix/acl".source = aclFile; + + # Link the usual Guix profiles to the home directory. This is useful in + # ephemeral setups where only certain part of the filesystem is + # persistent (e.g., "Erase my darlings"-type of setup). + system.userActivationScripts.guix-activate-user-profiles.text = + let + guixProfile = profile: "${cfg.stateDir}/guix/profiles/per-user/\${USER}/${profile}"; + linkProfile = + profile: location: + let + userProfile = guixProfile profile; + in + '' + [ -d "${userProfile}" ] && ln -sfn "${userProfile}" "${location}" + ''; + linkProfileToPath = + acc: profile: location: + acc + (linkProfile profile location); + + # This should contain export-only Guix user profiles. The rest of it is + # handled manually in the activation script. + guixUserProfiles' = lib.attrsets.removeAttrs guixUserProfiles [ "guix-home" ]; + + linkExportsScript = lib.foldlAttrs linkProfileToPath "" guixUserProfiles'; + in + '' + # Don't export this please! It is only expected to be used for this + # activation script and nothing else. + XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-$HOME/.config} + + # Linking the usual Guix profiles into the home directory. + ${linkExportsScript} + + # Activate all of the default Guix non-exports profiles manually. + ${linkProfile "guix-home" "$HOME/.guix-home"} + [ -L "$HOME/.guix-home" ] && "$HOME/.guix-home/activate" + ''; + + # GUIX_LOCPATH is basically LOCPATH but for Guix libc which in turn used by + # virtually every Guix-built packages. This is so that Guix-installed + # applications wouldn't use incompatible locale data and not touch its host + # system. + environment.sessionVariables.GUIX_LOCPATH = lib.makeSearchPath "lib/locale" guixProfiles; + + # What Guix profiles export is very similar to Nix profiles so it is + # acceptable to list it here. Also, it is more likely that the user would + # want to use packages explicitly installed from Guix so we're putting it + # first. + environment.profiles = lib.mkBefore guixProfiles; + } + + (lib.mkIf cfg.publish.enable { + systemd.services.guix-publish = { + description = "Guix remote store"; + environment = serviceEnv; + + # Mounts will be required by the daemon service anyways so there's no + # need add RequiresMountsFor= or something similar. + requires = [ "guix-daemon.service" ]; + after = [ "guix-daemon.service" ]; + partOf = [ "guix-daemon.service" ]; + + preStart = lib.mkIf cfg.publish.generateKeyPair '' + # Generate the keypair if it's missing. + [ -f "/etc/guix/signing-key.sec" ] && [ -f "/etc/guix/signing-key.pub" ] || \ + ${lib.getExe' package "guix"} archive --generate-key || { + rm /etc/guix/signing-key.*; + ${lib.getExe' package "guix"} archive --generate-key; + } + ''; + script = '' + exec ${lib.getExe' package "guix"} publish \ + --user=${cfg.publish.user} --port=${builtins.toString cfg.publish.port} \ + ${lib.escapeShellArgs cfg.publish.extraArgs} + ''; + + serviceConfig = { + Restart = "always"; + RestartSec = 10; + + ProtectClock = true; + ProtectHostname = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + SystemCallFilter = [ + "@system-service" + "@debug" + "@setuid" + ]; + + RestrictNamespaces = true; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; + + # While the permissions can be set, it is assumed to be taken by Guix + # daemon service which it has already done the setup. + ConfigurationDirectory = "guix"; + + AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + "CAP_SETUID" + "CAP_SETGID" + ]; + }; + wantedBy = [ "multi-user.target" ]; + }; - AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - "CAP_SETUID" - "CAP_SETGID" - ]; + users.users.guix-publish = lib.mkIf (cfg.publish.user == "guix-publish") { + description = "Guix publish user"; + group = config.users.groups.guix-publish.name; + isSystemUser = true; }; - wantedBy = [ "multi-user.target" ]; - }; + users.groups.guix-publish = { }; + }) - users.users.guix-publish = lib.mkIf (cfg.publish.user == "guix-publish") { - description = "Guix publish user"; - group = config.users.groups.guix-publish.name; - isSystemUser = true; - }; - users.groups.guix-publish = {}; - }) - - (lib.mkIf cfg.gc.enable { - # This service should be handled by root to collect all garbage by all - # users. - systemd.services.guix-gc = { - description = "Guix garbage collection"; - startAt = cfg.gc.dates; - script = '' - exec ${lib.getExe' package "guix"} gc ${lib.escapeShellArgs cfg.gc.extraArgs} - ''; - serviceConfig = { - Type = "oneshot"; - PrivateDevices = true; - PrivateNetwork = true; - ProtectControlGroups = true; - ProtectHostname = true; - ProtectKernelTunables = true; - SystemCallFilter = [ - "@default" - "@file-system" - "@basic-io" - "@system-service" - ]; + (lib.mkIf cfg.gc.enable { + # This service should be handled by root to collect all garbage by all + # users. + systemd.services.guix-gc = { + description = "Guix garbage collection"; + startAt = cfg.gc.dates; + script = '' + exec ${lib.getExe' package "guix"} gc ${lib.escapeShellArgs cfg.gc.extraArgs} + ''; + serviceConfig = { + Type = "oneshot"; + PrivateDevices = true; + PrivateNetwork = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelTunables = true; + SystemCallFilter = [ + "@default" + "@file-system" + "@basic-io" + "@system-service" + ]; + }; }; - }; - systemd.timers.guix-gc.timerConfig.Persistent = true; - }) - ]); + systemd.timers.guix-gc.timerConfig.Persistent = true; + }) + ] + ); } diff --git a/nixos/modules/services/misc/headphones.nix b/nixos/modules/services/misc/headphones.nix index b56322b0cbccf..8440c114ca72e 100644 --- a/nixos/modules/services/misc/headphones.nix +++ b/nixos/modules/services/misc/headphones.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let name = "headphones"; @@ -53,7 +59,6 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -73,14 +78,14 @@ in }; systemd.services.headphones = { - description = "Headphones Server"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStart = "${pkgs.headphones}/bin/headphones --datadir ${cfg.dataDir} --config ${cfg.configFile} --host ${cfg.host} --port ${toString cfg.port}"; - }; + description = "Headphones Server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${pkgs.headphones}/bin/headphones --datadir ${cfg.dataDir} --config ${cfg.configFile} --host ${cfg.host} --port ${toString cfg.port}"; + }; }; }; } diff --git a/nixos/modules/services/misc/heisenbridge.nix b/nixos/modules/services/misc/heisenbridge.nix index d8c5ec80e892f..6460b90e84f15 100644 --- a/nixos/modules/services/misc/heisenbridge.nix +++ b/nixos/modules/services/misc/heisenbridge.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.heisenbridge; @@ -9,14 +14,16 @@ let registrationFile = "/var/lib/heisenbridge/registration.yml"; # JSON is a proper subset of YAML - bridgeConfig = builtins.toFile "heisenbridge-registration.yml" (builtins.toJSON { - id = "heisenbridge"; - url = cfg.registrationUrl; - # Don't specify as_token and hs_token - rate_limited = false; - sender_localpart = "heisenbridge"; - namespaces = cfg.namespaces; - }); + bridgeConfig = builtins.toFile "heisenbridge-registration.yml" ( + builtins.toJSON { + id = "heisenbridge"; + url = cfg.registrationUrl; + # Don't specify as_token and hs_token + rate_limited = false; + sender_localpart = "heisenbridge"; + namespaces = cfg.namespaces; + } + ); in { options.services.heisenbridge = { @@ -188,18 +195,26 @@ in RemoveIPC = true; UMask = "0077"; - CapabilityBoundingSet = [ "CAP_CHOWN" ] ++ lib.optional (cfg.port < 1024 || (cfg.identd.enable && cfg.identd.port < 1024)) "CAP_NET_BIND_SERVICE"; + CapabilityBoundingSet = + [ "CAP_CHOWN" ] + ++ lib.optional ( + cfg.port < 1024 || (cfg.identd.enable && cfg.identd.port < 1024) + ) "CAP_NET_BIND_SERVICE"; AmbientCapabilities = CapabilityBoundingSet; NoNewPrivileges = true; LockPersonality = true; RestrictRealtime = true; - SystemCallFilter = ["@system-service" "~@privileged" "@chown"]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "@chown" + ]; SystemCallArchitectures = "native"; RestrictAddressFamilies = "AF_INET AF_INET6"; }; }; - users.groups.heisenbridge = {}; + users.groups.heisenbridge = { }; users.users.heisenbridge = { description = "Service user for the Heisenbridge"; group = "heisenbridge"; diff --git a/nixos/modules/services/misc/homepage-dashboard.nix b/nixos/modules/services/misc/homepage-dashboard.nix index b29a53d2f1cff..612a88ed48b53 100644 --- a/nixos/modules/services/misc/homepage-dashboard.nix +++ b/nixos/modules/services/misc/homepage-dashboard.nix @@ -1,7 +1,8 @@ -{ config -, pkgs -, lib -, ... +{ + config, + pkgs, + lib, + ... }: let @@ -73,12 +74,26 @@ in example = [ { Developer = [ - { Github = [{ abbr = "GH"; href = "https://github.com/"; }]; } + { + Github = [ + { + abbr = "GH"; + href = "https://github.com/"; + } + ]; + } ]; } { Entertainment = [ - { YouTube = [{ abbr = "YT"; href = "https://youtube.com/"; }]; } + { + YouTube = [ + { + abbr = "YT"; + href = "https://youtube.com/"; + } + ]; + } ]; } ]; @@ -183,20 +198,22 @@ in # then default to "unmanaged" configuration which is manually updated in # var/lib/homepage-dashboard. This is to maintain backwards compatibility, and should be # deprecated in a future release. - managedConfig = !( - cfg.bookmarks == [ ] && - cfg.customCSS == "" && - cfg.customJS == "" && - cfg.docker == { } && - cfg.kubernetes == { } && - cfg.services == [ ] && - cfg.settings == { } && - cfg.widgets == [ ] - ); + managedConfig = + !( + cfg.bookmarks == [ ] + && cfg.customCSS == "" + && cfg.customJS == "" + && cfg.docker == { } + && cfg.kubernetes == { } + && cfg.services == [ ] + && cfg.settings == { } + && cfg.widgets == [ ] + ); configDir = if managedConfig then "/etc/homepage-dashboard" else "/var/lib/homepage-dashboard"; - msg = "using unmanaged configuration for homepage-dashboard is deprecated and will be removed" + msg = + "using unmanaged configuration for homepage-dashboard is deprecated and will be removed" + " in 24.05. please see the NixOS documentation for `services.homepage-dashboard' and add" + " your bookmarks, services, widgets, and other configuration using the options provided."; in @@ -209,7 +226,8 @@ in "homepage-dashboard/bookmarks.yaml".source = settingsFormat.generate "bookmarks.yaml" cfg.bookmarks; "homepage-dashboard/docker.yaml".source = settingsFormat.generate "docker.yaml" cfg.docker; - "homepage-dashboard/kubernetes.yaml".source = settingsFormat.generate "kubernetes.yaml" cfg.kubernetes; + "homepage-dashboard/kubernetes.yaml".source = + settingsFormat.generate "kubernetes.yaml" cfg.kubernetes; "homepage-dashboard/services.yaml".source = settingsFormat.generate "services.yaml" cfg.services; "homepage-dashboard/settings.yaml".source = settingsFormat.generate "settings.yaml" cfg.settings; "homepage-dashboard/widgets.yaml".source = settingsFormat.generate "widgets.yaml" cfg.widgets; diff --git a/nixos/modules/services/misc/ihaskell.nix b/nixos/modules/services/misc/ihaskell.nix index b2ea3e70dede5..b977ee124e3c7 100644 --- a/nixos/modules/services/misc/ihaskell.nix +++ b/nixos/modules/services/misc/ihaskell.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.services.ihaskell; @@ -19,7 +24,7 @@ in extraPackages = lib.mkOption { type = lib.types.functionTo (lib.types.listOf lib.types.package); - default = haskellPackages: []; + default = haskellPackages: [ ]; defaultText = lib.literalExpression "haskellPackages: []"; example = lib.literalExpression '' haskellPackages: [ diff --git a/nixos/modules/services/misc/input-remapper.nix b/nixos/modules/services/misc/input-remapper.nix index cf335dacb4ff1..9ab41547705a1 100644 --- a/nixos/modules/services/misc/input-remapper.nix +++ b/nixos/modules/services/misc/input-remapper.nix @@ -1,5 +1,12 @@ -{ pkgs, lib, config, ... }: -let cfg = config.services.input-remapper; in +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.services.input-remapper; +in { options = { services.input-remapper = { diff --git a/nixos/modules/services/misc/invidious-router.nix b/nixos/modules/services/misc/invidious-router.nix index 7a90c6ab9ddc0..0300d1190f6b7 100644 --- a/nixos/modules/services/misc/invidious-router.nix +++ b/nixos/modules/services/misc/invidious-router.nix @@ -3,12 +3,14 @@ lib, pkgs, ... -}: let +}: +let cfg = config.services.invidious-router; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "config.yaml" cfg.settings; -in { - meta.maintainers = [lib.maintainers.sils]; +in +{ + meta.maintainers = [ lib.maintainers.sils ]; options.services.invidious-router = { enable = lib.mkEnableOption "the invidious-router service"; @@ -89,7 +91,7 @@ in { }; extraDomains = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Additional domains to serve invidious-router on. ''; @@ -98,7 +100,7 @@ in { }; config = lib.mkIf cfg.enable { systemd.services.invidious-router = { - wantedBy = ["multi-user.target"]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Restart = "on-failure"; ExecStart = "${lib.getExe cfg.package} --configfile ${configFile}"; diff --git a/nixos/modules/services/misc/irkerd.nix b/nixos/modules/services/misc/irkerd.nix index 28966c4ae226a..ed99fcd871daa 100644 --- a/nixos/modules/services/misc/irkerd.nix +++ b/nixos/modules/services/misc/irkerd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.irkerd; ports = [ 6659 ]; @@ -40,7 +45,11 @@ in config = lib.mkIf cfg.enable { systemd.services.irkerd = { description = "Internet Relay Chat (IRC) notification daemon"; - documentation = [ "man:irkerd(8)" "man:irkerhook(1)" "man:irk(1)" ]; + documentation = [ + "man:irkerd(8)" + "man:irkerhook(1)" + "man:irk(1)" + ]; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -56,7 +65,7 @@ in isSystemUser = true; group = "irkerd"; }; - users.groups.irkerd = {}; + users.groups.irkerd = { }; networking.firewall.allowedTCPPorts = lib.mkIf cfg.openPorts ports; networking.firewall.allowedUDPPorts = lib.mkIf cfg.openPorts ports; diff --git a/nixos/modules/services/misc/jellyfin.nix b/nixos/modules/services/misc/jellyfin.nix index a006090878422..89640b9a32118 100644 --- a/nixos/modules/services/misc/jellyfin.nix +++ b/nixos/modules/services/misc/jellyfin.nix @@ -1,7 +1,19 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) mkIf getExe maintainers mkEnableOption mkOption mkPackageOption; + inherit (lib) + mkIf + getExe + maintainers + mkEnableOption + mkOption + mkPackageOption + ; inherit (lib.types) str path bool; cfg = config.services.jellyfin; in @@ -111,13 +123,21 @@ in ExecStart = "${getExe cfg.package} --datadir '${cfg.dataDir}' --configdir '${cfg.configDir}' --cachedir '${cfg.cacheDir}' --logdir '${cfg.logDir}'"; Restart = "on-failure"; TimeoutSec = 15; - SuccessExitStatus = ["0" "143"]; + SuccessExitStatus = [ + "0" + "143" + ]; # Security options: NoNewPrivileges = true; SystemCallArchitectures = "native"; # AF_NETLINK needed because Jellyfin monitors the network connection - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; RestrictNamespaces = !config.boot.isContainer; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -134,7 +154,21 @@ in RemoveIPC = true; SystemCallFilter = [ - "~@clock" "~@aio" "~@chown" "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@module" "~@mount" "~@obsolete" "~@privileged" "~@raw-io" "~@reboot" "~@setuid" "~@swap" + "~@clock" + "~@aio" + "~@chown" + "~@cpu-emulation" + "~@debug" + "~@keyring" + "~@memlock" + "~@module" + "~@mount" + "~@obsolete" + "~@privileged" + "~@raw-io" + "~@reboot" + "~@setuid" + "~@swap" ]; SystemCallErrorNumber = "EPERM"; }; @@ -149,16 +183,25 @@ in }; users.groups = mkIf (cfg.group == "jellyfin") { - jellyfin = {}; + jellyfin = { }; }; networking.firewall = mkIf cfg.openFirewall { # from https://jellyfin.org/docs/general/networking/index.html - allowedTCPPorts = [ 8096 8920 ]; - allowedUDPPorts = [ 1900 7359 ]; + allowedTCPPorts = [ + 8096 + 8920 + ]; + allowedUDPPorts = [ + 1900 + 7359 + ]; }; }; - meta.maintainers = with maintainers; [ minijackson fsnkty ]; + meta.maintainers = with maintainers; [ + minijackson + fsnkty + ]; } diff --git a/nixos/modules/services/misc/klipper.nix b/nixos/modules/services/misc/klipper.nix index d9eef161eb727..b2345cbf7f337 100644 --- a/nixos/modules/services/misc/klipper.nix +++ b/nixos/modules/services/misc/klipper.nix @@ -1,11 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.klipper; format = pkgs.formats.ini { # https://github.com/NixOS/nixpkgs/pull/121613#issuecomment-885241996 - listToValue = l: - if builtins.length l == 1 then lib.generators.mkValueStringDefault { } (lib.head l) - else lib.concatMapStrings (s: "\n ${lib.generators.mkValueStringDefault {} s}") l; + listToValue = + l: + if builtins.length l == 1 then + lib.generators.mkValueStringDefault { } (lib.head l) + else + lib.concatMapStrings (s: "\n ${lib.generators.mkValueStringDefault { } s}") l; mkKeyValue = lib.generators.mkKeyValueDefault { } ":"; }; in @@ -101,8 +109,9 @@ in firmwares = lib.mkOption { description = "Firmwares klipper should manage"; default = { }; - type = with lib.types; attrsOf - (submodule { + type = + with lib.types; + attrsOf (submodule { options = { enable = lib.mkEnableOption '' building of firmware for manual flashing @@ -138,7 +147,13 @@ in message = "Option services.klipper.group is not set when services.klipper.user is specified."; } { - assertion = cfg.settings != null -> lib.foldl (a: b: a && b) true (lib.mapAttrsToList (mcu: _: mcu != null -> (lib.hasAttrByPath [ "${mcu}" "serial" ] cfg.settings)) cfg.firmwares); + assertion = + cfg.settings != null + -> lib.foldl (a: b: a && b) true ( + lib.mapAttrsToList ( + mcu: _: mcu != null -> (lib.hasAttrByPath [ "${mcu}" "serial" ] cfg.settings) + ) cfg.firmwares + ); message = "Option services.klipper.settings.$mcu.serial must be set when settings.klipper.firmware.$mcu is specified"; } { @@ -148,7 +163,8 @@ in ]; environment.etc = lib.mkIf (!cfg.mutableConfig) { - "klipper.cfg".source = if cfg.settings != null then format.generate "klipper.cfg" cfg.settings else cfg.configFile; + "klipper.cfg".source = + if cfg.settings != null then format.generate "klipper.cfg" cfg.settings else cfg.configFile; }; services.klipper = lib.mkIf cfg.octoprintIntegration { @@ -158,18 +174,14 @@ in systemd.services.klipper = let - klippyArgs = "--input-tty=${cfg.inputTTY}" + klippyArgs = + "--input-tty=${cfg.inputTTY}" + lib.optionalString (cfg.apiSocket != null) " --api-server=${cfg.apiSocket}" - + lib.optionalString (cfg.logFile != null) " --logfile=${cfg.logFile}" - ; + + lib.optionalString (cfg.logFile != null) " --logfile=${cfg.logFile}"; printerConfigPath = - if cfg.mutableConfig - then cfg.mutableConfigFolder + "/printer.cfg" - else "/etc/klipper.cfg"; + if cfg.mutableConfig then cfg.mutableConfigFolder + "/printer.cfg" else "/etc/klipper.cfg"; printerConfigFile = - if cfg.settings != null - then format.generate "klipper.cfg" cfg.settings - else cfg.configFile; + if cfg.settings != null then format.generate "klipper.cfg" cfg.settings else cfg.configFile; in { description = "Klipper 3D Printer Firmware"; @@ -186,48 +198,65 @@ in mkdir -p ${cfg.mutableConfigFolder}/gcodes ''; - serviceConfig = { - ExecStart = "${cfg.package}/bin/klippy ${klippyArgs} ${printerConfigPath}"; - RuntimeDirectory = "klipper"; - StateDirectory = "klipper"; - SupplementaryGroups = [ "dialout" ]; - WorkingDirectory = "${cfg.package}/lib"; - OOMScoreAdjust = "-999"; - CPUSchedulingPolicy = "rr"; - CPUSchedulingPriority = 99; - IOSchedulingClass = "realtime"; - IOSchedulingPriority = 0; - UMask = "0002"; - } // (if cfg.user != null then { - Group = cfg.group; - User = cfg.user; - } else { - DynamicUser = true; - User = "klipper"; - }); + serviceConfig = + { + ExecStart = "${cfg.package}/bin/klippy ${klippyArgs} ${printerConfigPath}"; + RuntimeDirectory = "klipper"; + StateDirectory = "klipper"; + SupplementaryGroups = [ "dialout" ]; + WorkingDirectory = "${cfg.package}/lib"; + OOMScoreAdjust = "-999"; + CPUSchedulingPolicy = "rr"; + CPUSchedulingPriority = 99; + IOSchedulingClass = "realtime"; + IOSchedulingPriority = 0; + UMask = "0002"; + } + // ( + if cfg.user != null then + { + Group = cfg.group; + User = cfg.user; + } + else + { + DynamicUser = true; + User = "klipper"; + } + ); }; environment.systemPackages = with pkgs; let default = a: b: if a != null then a else b; - firmwares = lib.filterAttrs (n: v: v != null) (lib.mapAttrs - (mcu: { enable, enableKlipperFlash, configFile, serial }: + firmwares = lib.filterAttrs (n: v: v != null) ( + lib.mapAttrs ( + mcu: + { + enable, + enableKlipperFlash, + configFile, + serial, + }: if enable then - pkgs.klipper-firmware.override - { - mcu = lib.strings.sanitizeDerivationName mcu; - firmwareConfig = configFile; - } else null) - cfg.firmwares); - firmwareFlasher = lib.mapAttrsToList - (mcu: firmware: pkgs.klipper-flash.override { + pkgs.klipper-firmware.override { + mcu = lib.strings.sanitizeDerivationName mcu; + firmwareConfig = configFile; + } + else + null + ) cfg.firmwares + ); + firmwareFlasher = lib.mapAttrsToList ( + mcu: firmware: + pkgs.klipper-flash.override { mcu = lib.strings.sanitizeDerivationName mcu; klipper-firmware = firmware; flashDevice = default cfg.firmwares."${mcu}".serial cfg.settings."${mcu}".serial; firmwareConfig = cfg.firmwares."${mcu}".configFile; - }) - (lib.filterAttrs (mcu: firmware: cfg.firmwares."${mcu}".enableKlipperFlash) firmwares); + } + ) (lib.filterAttrs (mcu: firmware: cfg.firmwares."${mcu}".enableKlipperFlash) firmwares); in [ klipper-genconf ] ++ firmwareFlasher ++ lib.attrValues firmwares; }; diff --git a/nixos/modules/services/misc/languagetool.nix b/nixos/modules/services/misc/languagetool.nix index c1bc2c1958a26..feb2d0d90f9db 100644 --- a/nixos/modules/services/misc/languagetool.nix +++ b/nixos/modules/services/misc/languagetool.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.languagetool; settingsFormat = pkgs.formats.javaProperties { }; @@ -42,7 +47,7 @@ in description = "Number of sentences cached."; }; }; - default = {}; + default = { }; description = '' Configuration file options for LanguageTool, see 'languagetool-http-server --help' @@ -77,7 +82,10 @@ in Group = "languagetool"; CapabilityBoundingSet = [ "" ]; RestrictNamespaces = [ "" ]; - SystemCallFilter = [ "@system-service" "~ @privileged" ]; + SystemCallFilter = [ + "@system-service" + "~ @privileged" + ]; ProtectHome = "yes"; Restart = "on-failure"; ExecStart = '' diff --git a/nixos/modules/services/misc/leaps.nix b/nixos/modules/services/misc/leaps.nix index 10d332fb74ad6..a62ce86ada8f0 100644 --- a/nixos/modules/services/misc/leaps.nix +++ b/nixos/modules/services/misc/leaps.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.leaps; stateDir = "/var/lib/leaps/"; @@ -29,11 +34,11 @@ in config = lib.mkIf cfg.enable { users = { users.leaps = { - uid = config.ids.uids.leaps; - description = "Leaps server user"; - group = "leaps"; - home = stateDir; - createHome = true; + uid = config.ids.uids.leaps; + description = "Leaps server user"; + group = "leaps"; + home = stateDir; + createHome = true; }; groups.leaps = { @@ -42,9 +47,9 @@ in }; systemd.services.leaps = { - description = "leaps service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + description = "leaps service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; serviceConfig = { User = "leaps"; diff --git a/nixos/modules/services/misc/lidarr.nix b/nixos/modules/services/misc/lidarr.nix index fd94f6536b22d..1ca0697205b55 100644 --- a/nixos/modules/services/misc/lidarr.nix +++ b/nixos/modules/services/misc/lidarr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.lidarr; in diff --git a/nixos/modules/services/misc/lifecycled.nix b/nixos/modules/services/misc/lifecycled.nix index c58b4f7525f53..0f4df5d02b642 100644 --- a/nixos/modules/services/misc/lifecycled.nix +++ b/nixos/modules/services/misc/lifecycled.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.lifecycled; @@ -8,8 +13,12 @@ let # systemd.services.lifecycled.serviceConfig.Environment configFile = pkgs.writeText "lifecycled" '' LIFECYCLED_HANDLER=${cfg.handler} - ${lib.optionalString (cfg.cloudwatchGroup != null) "LIFECYCLED_CLOUDWATCH_GROUP=${cfg.cloudwatchGroup}"} - ${lib.optionalString (cfg.cloudwatchStream != null) "LIFECYCLED_CLOUDWATCH_STREAM=${cfg.cloudwatchStream}"} + ${lib.optionalString ( + cfg.cloudwatchGroup != null + ) "LIFECYCLED_CLOUDWATCH_GROUP=${cfg.cloudwatchGroup}"} + ${lib.optionalString ( + cfg.cloudwatchStream != null + ) "LIFECYCLED_CLOUDWATCH_STREAM=${cfg.cloudwatchStream}"} ${lib.optionalString cfg.debug "LIFECYCLED_DEBUG=${lib.boolToString cfg.debug}"} ${lib.optionalString (cfg.instanceId != null) "LIFECYCLED_INSTANCE_ID=${cfg.instanceId}"} ${lib.optionalString cfg.json "LIFECYCLED_JSON=${lib.boolToString cfg.json}"} @@ -19,7 +28,10 @@ let ''; in { - meta.maintainers = with lib.maintainers; [ cole-h grahamc ]; + meta.maintainers = with lib.maintainers; [ + cole-h + grahamc + ]; options = { services.lifecycled = { diff --git a/nixos/modules/services/misc/llama-cpp.nix b/nixos/modules/services/misc/llama-cpp.nix index 2fa1a7b28e3b1..90d6cedda0f97 100644 --- a/nixos/modules/services/misc/llama-cpp.nix +++ b/nixos/modules/services/misc/llama-cpp.nix @@ -1,8 +1,15 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.llama-cpp; -in { +in +{ options = { @@ -20,8 +27,15 @@ in { extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; description = "Extra flags passed to llama-cpp-server."; - example = ["-c" "4096" "-ngl" "32" "--numa" "numactl"]; - default = []; + example = [ + "-c" + "4096" + "-ngl" + "32" + "--numa" + "numactl" + ]; + default = [ ]; }; host = lib.mkOption { @@ -50,8 +64,8 @@ in { systemd.services.llama-cpp = { description = "LLaMA C++ server"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "idle"; diff --git a/nixos/modules/services/misc/logkeys.nix b/nixos/modules/services/misc/logkeys.nix index 428ce626b715b..2e2bd42c02501 100644 --- a/nixos/modules/services/misc/logkeys.nix +++ b/nixos/modules/services/misc/logkeys.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.logkeys; -in { +in +{ options.services.logkeys = { enable = lib.mkEnableOption "logkeys, a keylogger service"; @@ -18,7 +24,9 @@ in { description = "LogKeys Keylogger Daemon"; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${pkgs.logkeys}/bin/logkeys -s${lib.optionalString (cfg.device != null) " -d ${cfg.device}"}"; + ExecStart = "${pkgs.logkeys}/bin/logkeys -s${ + lib.optionalString (cfg.device != null) " -d ${cfg.device}" + }"; ExecStop = "${pkgs.logkeys}/bin/logkeys -k"; Type = "forking"; }; diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix index ed98ef3ed8a64..378ec6d6132f3 100644 --- a/nixos/modules/services/misc/mame.nix +++ b/nixos/modules/services/misc/mame.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mame; mame = "mame${lib.optionalString pkgs.stdenv.hostPlatform.is64bit "64"}"; diff --git a/nixos/modules/services/misc/mbpfan.nix b/nixos/modules/services/misc/mbpfan.nix index 3061f68bb6e28..54981fa09d04b 100644 --- a/nixos/modules/services/misc/mbpfan.nix +++ b/nixos/modules/services/misc/mbpfan.nix @@ -1,14 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mbpfan; verbose = lib.optionalString cfg.verbose "v"; - format = pkgs.formats.ini {}; + format = pkgs.formats.ini { }; cfgfile = format.generate "mbpfan.ini" cfg.settings; -in { +in +{ options.services.mbpfan = { enable = lib.mkEnableOption "mbpfan, fan controller daemon for Apple Macs and MacBooks"; - package = lib.mkPackageOption pkgs "mbpfan" {}; + package = lib.mkPackageOption pkgs "mbpfan" { }; verbose = lib.mkOption { type = lib.types.bool; @@ -23,7 +29,7 @@ in { }; settings = lib.mkOption { - default = {}; + default = { }; description = "INI configuration for Mbpfan."; type = lib.types.submodule { freeformType = format.type; @@ -56,16 +62,37 @@ in { }; imports = [ - (lib.mkRenamedOptionModule [ "services" "mbpfan" "pollingInterval" ] [ "services" "mbpfan" "settings" "general" "polling_interval" ]) - (lib.mkRenamedOptionModule [ "services" "mbpfan" "maxTemp" ] [ "services" "mbpfan" "settings" "general" "max_temp" ]) - (lib.mkRenamedOptionModule [ "services" "mbpfan" "lowTemp" ] [ "services" "mbpfan" "settings" "general" "low_temp" ]) - (lib.mkRenamedOptionModule [ "services" "mbpfan" "highTemp" ] [ "services" "mbpfan" "settings" "general" "high_temp" ]) - (lib.mkRenamedOptionModule [ "services" "mbpfan" "minFanSpeed" ] [ "services" "mbpfan" "settings" "general" "min_fan1_speed" ]) - (lib.mkRenamedOptionModule [ "services" "mbpfan" "maxFanSpeed" ] [ "services" "mbpfan" "settings" "general" "max_fan1_speed" ]) + (lib.mkRenamedOptionModule + [ "services" "mbpfan" "pollingInterval" ] + [ "services" "mbpfan" "settings" "general" "polling_interval" ] + ) + (lib.mkRenamedOptionModule + [ "services" "mbpfan" "maxTemp" ] + [ "services" "mbpfan" "settings" "general" "max_temp" ] + ) + (lib.mkRenamedOptionModule + [ "services" "mbpfan" "lowTemp" ] + [ "services" "mbpfan" "settings" "general" "low_temp" ] + ) + (lib.mkRenamedOptionModule + [ "services" "mbpfan" "highTemp" ] + [ "services" "mbpfan" "settings" "general" "high_temp" ] + ) + (lib.mkRenamedOptionModule + [ "services" "mbpfan" "minFanSpeed" ] + [ "services" "mbpfan" "settings" "general" "min_fan1_speed" ] + ) + (lib.mkRenamedOptionModule + [ "services" "mbpfan" "maxFanSpeed" ] + [ "services" "mbpfan" "settings" "general" "max_fan1_speed" ] + ) ]; config = lib.mkIf cfg.enable { - boot.kernelModules = [ "coretemp" "applesmc" ]; + boot.kernelModules = [ + "coretemp" + "applesmc" + ]; environment.systemPackages = [ cfg.package ]; environment.etc."mbpfan.conf".source = cfgfile; diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix index ae9d1fa31be21..eac446817ae79 100644 --- a/nixos/modules/services/misc/mediatomb.nix +++ b/nixos/modules/services/misc/mediatomb.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let gid = config.ids.gids.mediatomb; @@ -28,166 +34,177 @@ let }; }; }; - toMediaDirectory = d: "\n"; - - transcodingConfig = if cfg.transcoding then with pkgs; '' - - - - - - - - - audio/mpeg - no - yes - no - - - - - video/mpeg - yes - yes - yes - - - - - -'' else '' - - -''; - - configText = lib.optionalString (! cfg.customCfg) '' - - - - - - - - - ${cfg.serverName} - uuid:${cfg.uuid} - ${cfg.dataDir} - ${cfg.interface} - ${pkg}/share/${name}/web - - - - ${name}.db - - - - ${lib.optionalString cfg.dsmSupport '' - - - - - redsonic.com - 105 - ''} - ${lib.optionalString cfg.tg100Support '' - 101 - ''} - - - * - - video - - - - - - - ${lib.concatMapStrings toMediaDirectory cfg.mediaDirectories} - - - ${pkg}/share/${name}/js/common.js - ${pkg}/share/${name}/js/playlists.js - - ${pkg}/share/${name}/js/import.js - - - - - - - - - - - - - - - - - - - - - - - - ${lib.optionalString cfg.ps3Support '' - - ''} + toMediaDirectory = + d: + "\n"; + + transcodingConfig = + if cfg.transcoding then + with pkgs; + '' + + + + + + + + + audio/mpeg + no + yes + no + + + + + video/mpeg + yes + yes + yes + + + + + + '' + else + '' + + + ''; + + configText = lib.optionalString (!cfg.customCfg) '' + + + + + + + + + ${cfg.serverName} + uuid:${cfg.uuid} + ${cfg.dataDir} + ${cfg.interface} + ${pkg}/share/${name}/web + + + + ${name}.db + + + ${lib.optionalString cfg.dsmSupport '' - + + + + + redsonic.com + 105 ''} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${transcodingConfig} - -''; + ${lib.optionalString cfg.tg100Support '' + 101 + ''} + + + * + + video + + + + + + + ${lib.concatMapStrings toMediaDirectory cfg.mediaDirectories} + + + ${pkg}/share/${name}/js/common.js + ${pkg}/share/${name}/js/playlists.js + + ${pkg}/share/${name}/js/import.js + + + + + + + + + + + + + + + + + + + + + + + + ${lib.optionalString cfg.ps3Support '' + + ''} + ${lib.optionalString cfg.dsmSupport '' + + ''} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${transcodingConfig} + + ''; defaultFirewallRules = { # udp 1900 port needs to be opened for SSDP (not configurable within # mediatomb/gerbera) cf. # https://docs.gerbera.io/en/latest/run.html?highlight=udp%20port#network-setup - allowedUDPPorts = [ 1900 cfg.port ]; + allowedUDPPorts = [ + 1900 + cfg.port + ]; allowedTCPPorts = [ cfg.port ]; }; -in { +in +{ ###### interface @@ -316,13 +333,21 @@ in { mediaDirectories = lib.mkOption { type = with lib.types; listOf (submodule mediaDirectory); - default = []; + default = [ ]; description = '' Declare media directories to index. ''; example = [ - { path = "/data/pictures"; recursive = false; hidden-files = false; } - { path = "/data/audio"; recursive = true; hidden-files = false; } + { + path = "/data/pictures"; + recursive = false; + hidden-files = false; + } + { + path = "/data/audio"; + recursive = true; + hidden-files = false; + } ]; }; @@ -342,45 +367,52 @@ in { }; }; - ###### implementation - config = let binaryCommand = "${pkg}/bin/${name}"; - interfaceFlag = lib.optionalString ( cfg.interface != "") "--interface ${cfg.interface}"; - configFlag = lib.optionalString (! cfg.customCfg) "--config ${pkgs.writeText "config.xml" configText}"; - in lib.mkIf cfg.enable { - systemd.services.mediatomb = { - description = "${cfg.serverName} media Server"; - # Gerbera might fail if the network interface is not available on startup - # https://github.com/gerbera/gerbera/issues/1324 - wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "${binaryCommand} --port ${toString cfg.port} ${interfaceFlag} ${configFlag} --home ${cfg.dataDir}"; - serviceConfig.User = cfg.user; - serviceConfig.Group = cfg.group; - }; + config = + let + binaryCommand = "${pkg}/bin/${name}"; + interfaceFlag = lib.optionalString (cfg.interface != "") "--interface ${cfg.interface}"; + configFlag = lib.optionalString ( + !cfg.customCfg + ) "--config ${pkgs.writeText "config.xml" configText}"; + in + lib.mkIf cfg.enable { + systemd.services.mediatomb = { + description = "${cfg.serverName} media Server"; + # Gerbera might fail if the network interface is not available on startup + # https://github.com/gerbera/gerbera/issues/1324 + wants = [ "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${binaryCommand} --port ${toString cfg.port} ${interfaceFlag} ${configFlag} --home ${cfg.dataDir}"; + serviceConfig.User = cfg.user; + serviceConfig.Group = cfg.group; + }; - users.groups = lib.optionalAttrs (cfg.group == "mediatomb") { - mediatomb.gid = gid; - }; + users.groups = lib.optionalAttrs (cfg.group == "mediatomb") { + mediatomb.gid = gid; + }; - users.users = lib.optionalAttrs (cfg.user == "mediatomb") { - mediatomb = { - isSystemUser = true; - group = cfg.group; - home = cfg.dataDir; - createHome = true; - description = "${name} DLNA Server User"; + users.users = lib.optionalAttrs (cfg.user == "mediatomb") { + mediatomb = { + isSystemUser = true; + group = cfg.group; + home = cfg.dataDir; + createHome = true; + description = "${name} DLNA Server User"; + }; }; - }; - # Open firewall only if users enable it - networking.firewall = lib.mkMerge [ - (lib.mkIf (cfg.openFirewall && cfg.interface != "") { - interfaces."${cfg.interface}" = defaultFirewallRules; - }) - (lib.mkIf (cfg.openFirewall && cfg.interface == "") defaultFirewallRules) - ]; - }; + # Open firewall only if users enable it + networking.firewall = lib.mkMerge [ + (lib.mkIf (cfg.openFirewall && cfg.interface != "") { + interfaces."${cfg.interface}" = defaultFirewallRules; + }) + (lib.mkIf (cfg.openFirewall && cfg.interface == "") defaultFirewallRules) + ]; + }; } diff --git a/nixos/modules/services/misc/mollysocket.nix b/nixos/modules/services/misc/mollysocket.nix index 460e8aa05266b..9f733612578b0 100644 --- a/nixos/modules/services/misc/mollysocket.nix +++ b/nixos/modules/services/misc/mollysocket.nix @@ -1,7 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) getExe mkIf mkOption mkEnableOption types; + inherit (lib) + getExe + mkIf + mkOption + mkEnableOption + types + ; cfg = config.services.mollysocket; configuration = format.generate "mollysocket.conf" cfg.settings; @@ -9,7 +20,8 @@ let package = pkgs.writeShellScriptBin "mollysocket" '' MOLLY_CONF=${configuration} exec ${getExe pkgs.mollysocket} "$@" ''; -in { +in +{ options.services.mollysocket = { enable = mkEnableOption '' [MollySocket](https://github.com/mollyim/mollysocket) for getting Signal @@ -114,12 +126,19 @@ in { ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@resources" + "~@privileged" + ]; UMask = "0077"; }; }; diff --git a/nixos/modules/services/misc/moonraker.nix b/nixos/modules/services/misc/moonraker.nix index b9ddace19e915..620eb71bd74f0 100644 --- a/nixos/modules/services/misc/moonraker.nix +++ b/nixos/modules/services/misc/moonraker.nix @@ -1,18 +1,28 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.moonraker; pkg = cfg.package; opt = options.services.moonraker; format = pkgs.formats.ini { # https://github.com/NixOS/nixpkgs/pull/121613#issuecomment-885241996 - listToValue = l: - if builtins.length l == 1 then lib.generators.mkValueStringDefault {} (lib.head l) - else lib.concatMapStrings (s: "\n ${lib.generators.mkValueStringDefault {} s}") l; - mkKeyValue = lib.generators.mkKeyValueDefault {} ":"; + listToValue = + l: + if builtins.length l == 1 then + lib.generators.mkValueStringDefault { } (lib.head l) + else + lib.concatMapStrings (s: "\n ${lib.generators.mkValueStringDefault { } s}") l; + mkKeyValue = lib.generators.mkKeyValueDefault { } ":"; }; unifiedConfigDir = cfg.stateDir + "/config"; -in { +in +{ options = { services.moonraker = { enable = lib.mkEnableOption "Moonraker, an API web server for Klipper"; @@ -76,7 +86,10 @@ in { example = { authorization = { trusted_clients = [ "10.0.0.0/24" ]; - cors_domains = [ "https://app.fluidd.xyz" "https://my.mainsail.xyz" ]; + cors_domains = [ + "https://app.fluidd.xyz" + "https://my.mainsail.xyz" + ]; }; }; description = '' @@ -101,19 +114,21 @@ in { }; config = lib.mkIf cfg.enable { - warnings = [] - ++ (lib.optional (lib.head (cfg.settings.update_manager.enable_system_updates or [false])) '' + warnings = + [ ] + ++ (lib.optional (lib.head (cfg.settings.update_manager.enable_system_updates or [ false ])) '' Enabling system updates is not supported on NixOS and will lead to non-removable warnings in some clients. '') ++ (lib.optional (cfg.configDir != null) '' services.moonraker.configDir has been deprecated upstream and will be removed. Action: ${ - if cfg.configDir == unifiedConfigDir - then "Simply remove services.moonraker.configDir from your config." - else "Move files from `${cfg.configDir}` to `${unifiedConfigDir}` then remove services.moonraker.configDir from your config." + if cfg.configDir == unifiedConfigDir then + "Simply remove services.moonraker.configDir from your config." + else + "Move files from `${cfg.configDir}` to `${unifiedConfigDir}` then remove services.moonraker.configDir from your config." } - ''); + ''); assertions = [ { @@ -133,23 +148,27 @@ in { moonraker.gid = config.ids.gids.moonraker; }; - environment.etc."moonraker.cfg".source = let - forcedConfig = { - server = { - host = cfg.address; - port = cfg.port; - klippy_uds_address = cfg.klipperSocket; - }; - machine = { - validate_service = false; - }; - } // (lib.optionalAttrs (cfg.configDir != null) { - file_manager = { - config_path = cfg.configDir; - }; - }); - fullConfig = lib.recursiveUpdate cfg.settings forcedConfig; - in format.generate "moonraker.cfg" fullConfig; + environment.etc."moonraker.cfg".source = + let + forcedConfig = + { + server = { + host = cfg.address; + port = cfg.port; + klippy_uds_address = cfg.klipperSocket; + }; + machine = { + validate_service = false; + }; + } + // (lib.optionalAttrs (cfg.configDir != null) { + file_manager = { + config_path = cfg.configDir; + }; + }); + fullConfig = lib.recursiveUpdate cfg.settings forcedConfig; + in + format.generate "moonraker.cfg" fullConfig; systemd.tmpfiles.rules = [ "d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -" @@ -158,16 +177,17 @@ in { systemd.services.moonraker = { description = "Moonraker, an API web server for Klipper"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] - ++ lib.optional config.services.klipper.enable "klipper.service"; + after = [ "network.target" ] ++ lib.optional config.services.klipper.enable "klipper.service"; # Moonraker really wants its own config to be writable... script = '' config_path=${ # Deprecated separate config dir - if cfg.configDir != null then "${cfg.configDir}/moonraker-temp.cfg" + if cfg.configDir != null then + "${cfg.configDir}/moonraker-temp.cfg" # Config in unified data path - else "${unifiedConfigDir}/moonraker-temp.cfg" + else + "${unifiedConfigDir}/moonraker-temp.cfg" } mkdir -p $(dirname "$config_path") cp /etc/moonraker.cfg "$config_path" diff --git a/nixos/modules/services/misc/mqtt2influxdb.nix b/nixos/modules/services/misc/mqtt2influxdb.nix index cefe7acbba2fb..6e54fb05839b6 100644 --- a/nixos/modules/services/misc/mqtt2influxdb.nix +++ b/nixos/modules/services/misc/mqtt2influxdb.nix @@ -7,12 +7,10 @@ let cfg = config.services.mqtt2influxdb; filterNull = lib.filterAttrsRecursive (n: v: v != null); - configFile = (pkgs.formats.yaml {}).generate "mqtt2influxdb.config.yaml" ( - filterNull { - inherit (cfg) mqtt influxdb; - points = map filterNull cfg.points; - } - ); + configFile = (pkgs.formats.yaml { }).generate "mqtt2influxdb.config.yaml" (filterNull { + inherit (cfg) mqtt influxdb; + points = map filterNull cfg.points; + }); pointType = lib.types.submodule { options = { @@ -43,7 +41,7 @@ let }; tags = lib.mkOption { type = with lib.types; attrsOf str; - default = {}; + default = { }; description = "Tags applied"; }; }; @@ -118,14 +116,15 @@ let }; } ]; -in { +in +{ options = { services.mqtt2influxdb = { enable = lib.mkEnableOption "BigClown MQTT to InfluxDB bridge"; - package = lib.mkPackageOption pkgs ["python3Packages" "mqtt2influxdb"] {}; + package = lib.mkPackageOption pkgs [ "python3Packages" "mqtt2influxdb" ] { }; environmentFiles = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; example = [ "/run/keys/mqtt2influxdb.env" ]; description = '' File to load as environment file. Environment variables from this file @@ -206,7 +205,7 @@ in { It is highly suggested to use here replacement through environmentFiles as otherwise the password is put world readable to the store. - ''; + ''; }; ssl = lib.mkOption { type = lib.types.bool; @@ -228,24 +227,24 @@ in { }; config = lib.mkIf cfg.enable { - systemd.services.bigclown-mqtt2influxdb = let - envConfig = cfg.environmentFiles != []; - finalConfig = if envConfig - then "$RUNTIME_DIRECTORY/mqtt2influxdb.config.yaml" - else configFile; - in { - description = "BigClown MQTT to InfluxDB bridge"; - wantedBy = ["multi-user.target"]; - wants = lib.mkIf config.services.mosquitto.enable ["mosquitto.service"]; - preStart = '' - umask 077 - ${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}" - ''; - serviceConfig = { - EnvironmentFile = cfg.environmentFiles; - ExecStart = "${lib.getExe cfg.package} -dc ${finalConfig}"; - RuntimeDirectory = "mqtt2influxdb"; + systemd.services.bigclown-mqtt2influxdb = + let + envConfig = cfg.environmentFiles != [ ]; + finalConfig = if envConfig then "$RUNTIME_DIRECTORY/mqtt2influxdb.config.yaml" else configFile; + in + { + description = "BigClown MQTT to InfluxDB bridge"; + wantedBy = [ "multi-user.target" ]; + wants = lib.mkIf config.services.mosquitto.enable [ "mosquitto.service" ]; + preStart = '' + umask 077 + ${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}" + ''; + serviceConfig = { + EnvironmentFile = cfg.environmentFiles; + ExecStart = "${lib.getExe cfg.package} -dc ${finalConfig}"; + RuntimeDirectory = "mqtt2influxdb"; + }; }; - }; }; } diff --git a/nixos/modules/services/misc/n8n.nix b/nixos/modules/services/misc/n8n.nix index 623c9a3be8a92..f3e9f698e35fa 100644 --- a/nixos/modules/services/misc/n8n.nix +++ b/nixos/modules/services/misc/n8n.nix @@ -1,7 +1,12 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.n8n; - format = pkgs.formats.json {}; + format = pkgs.formats.json { }; configFile = format.generate "n8n.json" cfg.settings; in { @@ -16,7 +21,7 @@ in settings = lib.mkOption { type = format.type; - default = {}; + default = { }; description = '' Configuration for n8n, see for supported values. diff --git a/nixos/modules/services/misc/nitter.nix b/nixos/modules/services/misc/nitter.nix index 40a4b157aee11..65aea391bcb52 100644 --- a/nixos/modules/services/misc/nitter.nix +++ b/nixos/modules/services/misc/nitter.nix @@ -1,26 +1,41 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.nitter; configFile = pkgs.writeText "nitter.conf" '' - ${lib.generators.toINI { - # String values need to be quoted - mkKeyValue = lib.generators.mkKeyValueDefault { - mkValueString = v: - if lib.isString v then "\"" + (lib.escape ["\""] (toString v)) + "\"" - else lib.generators.mkValueStringDefault {} v; - } " = "; - } (lib.recursiveUpdate { - Server = cfg.server; - Cache = cfg.cache; - Config = cfg.config // { hmacKey = "@hmac@"; }; - Preferences = cfg.preferences; - } cfg.settings)} + ${lib.generators.toINI + { + # String values need to be quoted + mkKeyValue = lib.generators.mkKeyValueDefault { + mkValueString = + v: + if lib.isString v then + "\"" + (lib.escape [ "\"" ] (toString v)) + "\"" + else + lib.generators.mkValueStringDefault { } v; + } " = "; + } + ( + lib.recursiveUpdate { + Server = cfg.server; + Cache = cfg.cache; + Config = cfg.config // { + hmacKey = "@hmac@"; + }; + Preferences = cfg.preferences; + } cfg.settings + ) + } ''; # `hmac` is a secret used for cryptographic signing of video URLs. # Generate it on first launch, then copy configuration and replace # `@hmac@` with this value. # We are not using sed as it would leak the value in the command line. - preStart = pkgs.writers.writePython3 "nitter-prestart" {} '' + preStart = pkgs.writers.writePython3 "nitter-prestart" { } '' import os import secrets @@ -44,7 +59,11 @@ in { imports = [ # https://github.com/zedeus/nitter/pull/772 - (lib.mkRemovedOptionModule [ "services" "nitter" "replaceInstagram" ] "Nitter no longer supports this option as Bibliogram has been discontinued.") + (lib.mkRemovedOptionModule [ + "services" + "nitter" + "replaceInstagram" + ] "Nitter no longer supports this option as Bibliogram has been discontinued.") ]; options = { @@ -55,7 +74,7 @@ in server = { address = lib.mkOption { - type = lib.types.str; + type = lib.types.str; default = "0.0.0.0"; example = "127.0.0.1"; description = "The address to listen on."; @@ -152,7 +171,9 @@ in description = "Use base64 encoding for proxied media URLs."; }; - enableRSS = lib.mkEnableOption "RSS feeds" // { default = true; }; + enableRSS = lib.mkEnableOption "RSS feeds" // { + default = true; + }; enableDebug = lib.mkEnableOption "request logs and debug endpoints"; @@ -292,7 +313,7 @@ in settings = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; description = '' Add settings here to override NixOS module generated settings. @@ -335,58 +356,66 @@ in config = lib.mkIf cfg.enable { assertions = [ { - assertion = !cfg.redisCreateLocally || (cfg.cache.redisHost == "localhost" && cfg.cache.redisPort == 6379); + assertion = + !cfg.redisCreateLocally || (cfg.cache.redisHost == "localhost" && cfg.cache.redisPort == 6379); message = "When services.nitter.redisCreateLocally is enabled, you need to use localhost:6379 as a cache server."; } ]; systemd.services.nitter = { - description = "Nitter (An alternative Twitter front-end)"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - serviceConfig = { - DynamicUser = true; - LoadCredential="guestAccountsFile:${cfg.guestAccounts}"; - StateDirectory = "nitter"; - Environment = [ - "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" - "NITTER_ACCOUNTS_FILE=%d/guestAccountsFile" - ]; - # Some parts of Nitter expect `public` folder in working directory, - # see https://github.com/zedeus/nitter/issues/414 - WorkingDirectory = "${cfg.package}/share/nitter"; - ExecStart = "${cfg.package}/bin/nitter"; - ExecStartPre = "${preStart}"; - AmbientCapabilities = lib.mkIf (cfg.server.port < 1024) [ "CAP_NET_BIND_SERVICE" ]; - Restart = "on-failure"; - RestartSec = "5s"; - # Hardening - CapabilityBoundingSet = if (cfg.server.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ]; - DeviceAllow = [ "" ]; - LockPersonality = true; - MemoryDenyWriteExecute = true; - PrivateDevices = true; - # A private user cannot have process capabilities on the host's user - # namespace and thus CAP_NET_BIND_SERVICE has no effect. - PrivateUsers = (cfg.server.port >= 1024); - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; - UMask = "0077"; - }; + description = "Nitter (An alternative Twitter front-end)"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { + DynamicUser = true; + LoadCredential = "guestAccountsFile:${cfg.guestAccounts}"; + StateDirectory = "nitter"; + Environment = [ + "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" + "NITTER_ACCOUNTS_FILE=%d/guestAccountsFile" + ]; + # Some parts of Nitter expect `public` folder in working directory, + # see https://github.com/zedeus/nitter/issues/414 + WorkingDirectory = "${cfg.package}/share/nitter"; + ExecStart = "${cfg.package}/bin/nitter"; + ExecStartPre = "${preStart}"; + AmbientCapabilities = lib.mkIf (cfg.server.port < 1024) [ "CAP_NET_BIND_SERVICE" ]; + Restart = "on-failure"; + RestartSec = "5s"; + # Hardening + CapabilityBoundingSet = if (cfg.server.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ]; + DeviceAllow = [ "" ]; + LockPersonality = true; + MemoryDenyWriteExecute = true; + PrivateDevices = true; + # A private user cannot have process capabilities on the host's user + # namespace and thus CAP_NET_BIND_SERVICE has no effect. + PrivateUsers = (cfg.server.port >= 1024); + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + UMask = "0077"; + }; }; services.redis.servers.nitter = lib.mkIf (cfg.redisCreateLocally) { diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix index 69b25d6ae648e..56d176d81d36a 100644 --- a/nixos/modules/services/misc/nix-gc.nix +++ b/nixos/modules/services/misc/nix-gc.nix @@ -72,7 +72,6 @@ in }; - ###### implementation config = { diff --git a/nixos/modules/services/misc/nix-ssh-serve.nix b/nixos/modules/services/misc/nix-ssh-serve.nix index b0ccf495c7eb0..b27ef03dae6f4 100644 --- a/nixos/modules/services/misc/nix-ssh-serve.nix +++ b/nixos/modules/services/misc/nix-ssh-serve.nix @@ -1,10 +1,18 @@ -{ config, lib, pkgs, ... }: -let cfg = config.nix.sshServe; - command = - if cfg.protocol == "ssh" - then "nix-store --serve ${lib.optionalString cfg.write "--write"}" - else "nix-daemon --stdio"; -in { +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.nix.sshServe; + command = + if cfg.protocol == "ssh" then + "nix-store --serve ${lib.optionalString cfg.write "--write"}" + else + "nix-daemon --stdio"; +in +{ options = { nix.sshServe = { @@ -23,13 +31,16 @@ in { keys = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "ssh-dss AAAAB3NzaC1k... alice@example.org" ]; description = "A list of SSH public keys allowed to access the binary cache via SSH."; }; protocol = lib.mkOption { - type = lib.types.enum [ "ssh" "ssh-ng" ]; + type = lib.types.enum [ + "ssh" + "ssh-ng" + ]; default = "ssh"; description = "The specific Nix-over-SSH protocol to use."; }; @@ -46,7 +57,7 @@ in { group = "nix-ssh"; shell = pkgs.bashInteractive; }; - users.groups.nix-ssh = {}; + users.groups.nix-ssh = { }; services.openssh.enable = true; diff --git a/nixos/modules/services/misc/novacomd.nix b/nixos/modules/services/misc/novacomd.nix index 52423ff0668f6..c8c13df0b6cd8 100644 --- a/nixos/modules/services/misc/novacomd.nix +++ b/nixos/modules/services/misc/novacomd.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.novacomd; -in { +in +{ options = { services.novacomd = { diff --git a/nixos/modules/services/misc/nzbget.nix b/nixos/modules/services/misc/nzbget.nix index 4738baf6d3e5c..3891486311f15 100644 --- a/nixos/modules/services/misc/nzbget.nix +++ b/nixos/modules/services/misc/nzbget.nix @@ -1,20 +1,44 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.nzbget; stateDir = "/var/lib/nzbget"; configFile = "${stateDir}/nzbget.conf"; - configOpts = lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "-o ${name}=${lib.escapeShellArg (toStr value)}") cfg.settings); - toStr = v: - if v == true then "yes" - else if v == false then "no" - else if lib.isInt v then toString v - else v; + configOpts = lib.concatStringsSep " " ( + lib.mapAttrsToList (name: value: "-o ${name}=${lib.escapeShellArg (toStr value)}") cfg.settings + ); + toStr = + v: + if v == true then + "yes" + else if v == false then + "no" + else if lib.isInt v then + toString v + else + v; in { imports = [ - (lib.mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.") - (lib.mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.") - (lib.mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.") + (lib.mkRemovedOptionModule [ + "services" + "misc" + "nzbget" + "configFile" + ] "The configuration of nzbget is now managed by users through the web interface.") + (lib.mkRemovedOptionModule [ + "services" + "misc" + "nzbget" + "dataDir" + ] "The data directory for nzbget is now /var/lib/nzbget.") + (lib.mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] + "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly." + ) ]; # interface @@ -38,8 +62,14 @@ in }; settings = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ bool int str ]); - default = {}; + type = + with lib.types; + attrsOf (oneOf [ + bool + int + str + ]); + default = { }; description = '' NZBGet configuration, passed via command line using switch -o. Refer to diff --git a/nixos/modules/services/misc/nzbhydra2.nix b/nixos/modules/services/misc/nzbhydra2.nix index c71e8a92b7274..5636f1a422a1e 100644 --- a/nixos/modules/services/misc/nzbhydra2.nix +++ b/nixos/modules/services/misc/nzbhydra2.nix @@ -1,7 +1,14 @@ -{ config, pkgs, lib, ... }: -let cfg = config.services.nzbhydra2; +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.services.nzbhydra2; -in { +in +{ options = { services.nzbhydra2 = { enable = lib.mkEnableOption "NZBHydra2, Usenet meta search"; @@ -23,8 +30,7 @@ in { }; config = lib.mkIf cfg.enable { - systemd.tmpfiles.rules = - [ "d '${cfg.dataDir}' 0700 nzbhydra2 nzbhydra2 - -" ]; + systemd.tmpfiles.rules = [ "d '${cfg.dataDir}' 0700 nzbhydra2 nzbhydra2 - -" ]; systemd.services.nzbhydra2 = { description = "NZBHydra2"; @@ -35,8 +41,7 @@ in { Type = "simple"; User = "nzbhydra2"; Group = "nzbhydra2"; - ExecStart = - "${cfg.package}/bin/nzbhydra2 --nobrowser --datafolder '${cfg.dataDir}'"; + ExecStart = "${cfg.package}/bin/nzbhydra2 --nobrowser --datafolder '${cfg.dataDir}'"; Restart = "on-failure"; # Hardening NoNewPrivileges = true; @@ -49,7 +54,7 @@ in { ProtectControlGroups = true; ProtectKernelModules = true; ProtectKernelTunables = true; - RestrictAddressFamilies ="AF_UNIX AF_INET AF_INET6 AF_NETLINK"; + RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK"; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -64,6 +69,6 @@ in { isSystemUser = true; }; - users.groups.nzbhydra2 = {}; + users.groups.nzbhydra2 = { }; }; } diff --git a/nixos/modules/services/misc/octoprint.nix b/nixos/modules/services/misc/octoprint.nix index d8e4c9c302b38..193e4222a37e7 100644 --- a/nixos/modules/services/misc/octoprint.nix +++ b/nixos/modules/services/misc/octoprint.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.octoprint; @@ -7,7 +12,7 @@ let plugins.curalegacy.cura_engine = "${pkgs.curaengine_stable}/bin/CuraEngine"; server.port = cfg.port; webcam.ffmpeg = "${pkgs.ffmpeg.bin}/bin/ffmpeg"; - } // lib.optionalAttrs (cfg.host != null) {server.host = cfg.host;}; + } // lib.optionalAttrs (cfg.host != null) { server.host = cfg.host; }; fullConfig = lib.recursiveUpdate cfg.extraConfig baseConfig; diff --git a/nixos/modules/services/misc/ombi.nix b/nixos/modules/services/misc/ombi.nix index 89d8b5c537634..ea57a33d84fa3 100644 --- a/nixos/modules/services/misc/ombi.nix +++ b/nixos/modules/services/misc/ombi.nix @@ -1,7 +1,14 @@ -{ config, pkgs, lib, ... }: -let cfg = config.services.ombi; +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.services.ombi; -in { +in +{ options = { services.ombi = { enable = lib.mkEnableOption '' diff --git a/nixos/modules/services/misc/osrm.nix b/nixos/modules/services/misc/osrm.nix index 8feccbbfa7261..60b18362ddbe4 100644 --- a/nixos/modules/services/misc/osrm.nix +++ b/nixos/modules/services/misc/osrm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.osrm; in @@ -30,15 +35,22 @@ in }; algorithm = lib.mkOption { - type = lib.types.enum [ "CH" "CoreCH" "MLD" ]; + type = lib.types.enum [ + "CH" + "CoreCH" + "MLD" + ]; default = "MLD"; description = "Algorithm to use for the data. Must be one of CH, CoreCH, MLD"; }; extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "--max-table-size 1000" "--max-matching-size 1000" ]; + default = [ ]; + example = [ + "--max-table-size 1000" + "--max-matching-size 1000" + ]; description = "Extra command line arguments passed to osrm-routed"; }; diff --git a/nixos/modules/services/misc/owncast.nix b/nixos/modules/services/misc/owncast.nix index debbd90d42a7d..fcb3deed6fe66 100644 --- a/nixos/modules/services/misc/owncast.nix +++ b/nixos/modules/services/misc/owncast.nix @@ -1,6 +1,13 @@ -{ lib, pkgs, config, ... }: -let cfg = config.services.owncast; -in { +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.services.owncast; +in +{ options.services.owncast = { @@ -89,9 +96,12 @@ in { users.groups = lib.mkIf (cfg.group == "owncast") { owncast = { }; }; - networking.firewall = - lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.rtmp-port ] ++ lib.optional (cfg.listen != "127.0.0.1") cfg.port; }; + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.rtmp-port ] ++ lib.optional (cfg.listen != "127.0.0.1") cfg.port; + }; }; - meta = { maintainers = with lib.maintainers; [ MayNiklas ]; }; + meta = { + maintainers = with lib.maintainers; [ MayNiklas ]; + }; } diff --git a/nixos/modules/services/misc/packagekit.nix b/nixos/modules/services/misc/packagekit.nix index 1be689794d9fb..d55f736b3bed1 100644 --- a/nixos/modules/services/misc/packagekit.nix +++ b/nixos/modules/services/misc/packagekit.nix @@ -1,26 +1,37 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.packagekit; inherit (lib) - mkEnableOption mkOption mkIf mkRemovedOptionModule types - listToAttrs recursiveUpdate; + mkEnableOption + mkOption + mkIf + mkRemovedOptionModule + types + listToAttrs + recursiveUpdate + ; iniFmt = pkgs.formats.ini { }; confFiles = [ - (iniFmt.generate "PackageKit.conf" (recursiveUpdate - { + (iniFmt.generate "PackageKit.conf" ( + recursiveUpdate { Daemon = { DefaultBackend = "test_nop"; KeepCache = false; }; - } - cfg.settings)) + } cfg.settings + )) - (iniFmt.generate "Vendor.conf" (recursiveUpdate - { + (iniFmt.generate "Vendor.conf" ( + recursiveUpdate { PackagesNotFound = rec { DefaultUrl = "https://github.com/NixOS/nixpkgs"; CodecUrl = DefaultUrl; @@ -28,14 +39,18 @@ let FontUrl = DefaultUrl; MimeUrl = DefaultUrl; }; - } - cfg.vendorSettings)) + } cfg.vendorSettings + )) ]; in { imports = [ - (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to test_nop, Nix backend is broken see #177946.") + (mkRemovedOptionModule [ + "services" + "packagekit" + "backend" + ] "Always set to test_nop, Nix backend is broken see #177946.") ]; options.services.packagekit = { @@ -66,9 +81,8 @@ in systemd.packages = with pkgs; [ packagekit ]; - environment.etc = listToAttrs (map - (e: - lib.nameValuePair "PackageKit/${e.name}" { source = e; }) - confFiles); + environment.etc = listToAttrs ( + map (e: lib.nameValuePair "PackageKit/${e.name}" { source = e; }) confFiles + ); }; } diff --git a/nixos/modules/services/misc/parsoid.nix b/nixos/modules/services/misc/parsoid.nix index bb168c4eca85b..b839309419d68 100644 --- a/nixos/modules/services/misc/parsoid.nix +++ b/nixos/modules/services/misc/parsoid.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.parsoid; @@ -7,24 +12,34 @@ let confTree = { worker_heartbeat_timeout = 300000; - logging = { level = "info"; }; - services = [{ - module = "lib/index.js"; - entrypoint = "apiServiceWorker"; - conf = { - mwApis = map (x: if lib.isAttrs x then x else { uri = x; }) cfg.wikis; - serverInterface = cfg.interface; - serverPort = cfg.port; - }; - }]; + logging = { + level = "info"; + }; + services = [ + { + module = "lib/index.js"; + entrypoint = "apiServiceWorker"; + conf = { + mwApis = map (x: if lib.isAttrs x then x else { uri = x; }) cfg.wikis; + serverInterface = cfg.interface; + serverPort = cfg.port; + }; + } + ]; }; - confFile = pkgs.writeText "config.yml" (builtins.toJSON (lib.recursiveUpdate confTree cfg.extraConfig)); + confFile = pkgs.writeText "config.yml" ( + builtins.toJSON (lib.recursiveUpdate confTree cfg.extraConfig) + ); in { imports = [ - (lib.mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] "Use services.parsoid.wikis instead") + (lib.mkRemovedOptionModule [ + "services" + "parsoid" + "interwikis" + ] "Use services.parsoid.wikis instead") ]; ##### interface @@ -76,7 +91,7 @@ in extraConfig = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; description = '' Extra configuration to add to parsoid configuration. ''; @@ -111,7 +126,10 @@ in ProtectKernelTunables = true; ProtectKernelModules = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; LockPersonality = true; #MemoryDenyWriteExecute = true; diff --git a/nixos/modules/services/misc/persistent-evdev.nix b/nixos/modules/services/misc/persistent-evdev.nix index 650752abd2151..afc57482f7ffa 100644 --- a/nixos/modules/services/misc/persistent-evdev.nix +++ b/nixos/modules/services/misc/persistent-evdev.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.persistent-evdev; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; configFile = settingsFormat.generate "persistent-evdev-config" { cache = "/var/cache/persistent-evdev"; @@ -14,7 +19,7 @@ in enable = lib.mkEnableOption "virtual input devices that persist even if the backing device is hotplugged"; devices = lib.mkOption { - default = {}; + default = { }; type = with lib.types; attrsOf str; description = '' A set of virtual proxy device labels with backing physical device ids. diff --git a/nixos/modules/services/misc/pghero.nix b/nixos/modules/services/misc/pghero.nix index 39515f10c8e1d..121c606a817c8 100644 --- a/nixos/modules/services/misc/pghero.nix +++ b/nixos/modules/services/misc/pghero.nix @@ -1,4 +1,10 @@ -{ config, pkgs, lib, utils, ... }: +{ + config, + pkgs, + lib, + utils, + ... +}: let cfg = config.services.pghero; settingsFormat = pkgs.formats.yaml { }; @@ -88,7 +94,10 @@ in description = "PgHero performance dashboard for PostgreSQL"; wantedBy = [ "multi-user.target" ]; requires = [ "pghero.socket" ]; - after = [ "pghero.socket" "network.target" ]; + after = [ + "pghero.socket" + "network.target" + ]; environment = { RAILS_ENV = "production"; @@ -99,11 +108,14 @@ in Type = "notify"; WatchdogSec = "10"; - ExecStart = utils.escapeSystemdExecArgs ([ - (lib.getExe cfg.package) - "--bind-to-activated-sockets" - "only" - ] ++ cfg.extraArgs); + ExecStart = utils.escapeSystemdExecArgs ( + [ + (lib.getExe cfg.package) + "--bind-to-activated-sockets" + "only" + ] + ++ cfg.extraArgs + ); Restart = "always"; WorkingDirectory = "${cfg.package}/share/pghero"; @@ -127,7 +139,11 @@ in PrivateDevices = true; RestrictRealtime = true; RestrictNamespaces = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; DeviceAllow = [ "" ]; DevicePolicy = "closed"; CapabilityBoundingSet = [ "" ]; diff --git a/nixos/modules/services/misc/pinnwand.nix b/nixos/modules/services/misc/pinnwand.nix index 3a5c47aeefd29..1e54a35b4d82b 100644 --- a/nixos/modules/services/misc/pinnwand.nix +++ b/nixos/modules/services/misc/pinnwand.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.pinnwand; - format = pkgs.formats.toml {}; + format = pkgs.formats.toml { }; configFile = format.generate "pinnwand.toml" cfg.settings; in { @@ -16,7 +21,7 @@ in }; settings = lib.mkOption { - default = {}; + default = { }; description = '' Your {file}`pinnwand.toml` as a Nix attribute set. Look up possible options in the [documentation](https://pinnwand.readthedocs.io/en/v${pkgs.pinnwand.version}/configuration.html). @@ -47,7 +52,7 @@ in type = lib.types.str; default = ''

Welcome to pinnwand, this site is a pastebin. It allows you to share code with others. If you write code in the text area below and press the paste button you will be given a link you can share with others so they can view your code as well.

People with the link can view your pasted code, only you can remove your paste and it expires automatically. Note that anyone could guess the URI to your paste so don't rely on it being private.

- ''; + ''; description = '' Raw HTML help text shown in the header area. ''; @@ -82,7 +87,7 @@ in StateDirectory = "pinnwand"; StateDirectoryMode = "0700"; - AmbientCapabilities = []; + AmbientCapabilities = [ ]; CapabilityBoundingSet = ""; DevicePolicy = "closed"; LockPersonality = true; diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix index d1524aaae2a37..b058732e47920 100644 --- a/nixos/modules/services/misc/plex.nix +++ b/nixos/modules/services/misc/plex.nix @@ -1,10 +1,19 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.plex; in { imports = [ - (lib.mkRemovedOptionModule [ "services" "plex" "managePlugins" ] "Please omit or define the option: `services.plex.extraPlugins' instead.") + (lib.mkRemovedOptionModule [ + "services" + "plex" + "managePlugins" + ] "Please omit or define the option: `services.plex.extraPlugins' instead.") ]; options = { @@ -45,7 +54,7 @@ in extraPlugins = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' A list of paths to extra plugin bundles to install in Plex's plugin directory. Every time the systemd unit for Plex starts up, all of the @@ -69,7 +78,7 @@ in extraScanners = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' A list of paths to extra scanners to install in Plex's scanners directory. @@ -92,7 +101,7 @@ in accelerationDevices = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["*"]; + default = [ "*" ]; example = [ "/dev/dri/renderD128" ]; description = '' A list of device paths to hardware acceleration devices that Plex should @@ -124,17 +133,18 @@ in # Run the pre-start script with full permissions (the "!" prefix) so it # can create the data directory if necessary. - ExecStartPre = let - preStartScript = pkgs.writeScript "plex-run-prestart" '' - #!${pkgs.bash}/bin/bash - - # Create data directory if it doesn't exist - if ! test -d "$PLEX_DATADIR"; then - echo "Creating initial Plex data directory in: $PLEX_DATADIR" - install -d -m 0755 -o "${cfg.user}" -g "${cfg.group}" "$PLEX_DATADIR" - fi - ''; - in + ExecStartPre = + let + preStartScript = pkgs.writeScript "plex-run-prestart" '' + #!${pkgs.bash}/bin/bash + + # Create data directory if it doesn't exist + if ! test -d "$PLEX_DATADIR"; then + echo "Creating initial Plex data directory in: $PLEX_DATADIR" + install -d -m 0755 -o "${cfg.user}" -g "${cfg.group}" "$PLEX_DATADIR" + fi + ''; + in "!${preStartScript}"; ExecStart = "${cfg.package}/bin/plexmediaserver"; @@ -145,14 +155,21 @@ in # Hardening NoNewPrivileges = true; PrivateTmp = true; - PrivateDevices = cfg.accelerationDevices == []; - DeviceAllow = lib.mkIf (cfg.accelerationDevices != [] && !lib.elem "*" cfg.accelerationDevices) cfg.accelerationDevices; + PrivateDevices = cfg.accelerationDevices == [ ]; + DeviceAllow = lib.mkIf ( + cfg.accelerationDevices != [ ] && !lib.elem "*" cfg.accelerationDevices + ) cfg.accelerationDevices; ProtectSystem = true; ProtectHome = true; ProtectControlGroups = true; ProtectKernelModules = true; ProtectKernelTunables = true; - RestrictAddressFamilies = ["AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK"]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; # This could be made to work if the namespaces needed were known # RestrictNamespaces = true; RestrictRealtime = true; @@ -163,9 +180,9 @@ in environment = { # Configuration for our FHS userenv script - PLEX_DATADIR=cfg.dataDir; - PLEX_PLUGINS=lib.concatMapStringsSep ":" builtins.toString cfg.extraPlugins; - PLEX_SCANNERS=lib.concatMapStringsSep ":" builtins.toString cfg.extraScanners; + PLEX_DATADIR = cfg.dataDir; + PLEX_PLUGINS = lib.concatMapStringsSep ":" builtins.toString cfg.extraPlugins; + PLEX_SCANNERS = lib.concatMapStringsSep ":" builtins.toString cfg.extraScanners; # The following variables should be set by the FHS userenv script: # PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR @@ -173,19 +190,31 @@ in # Allow access to GPU acceleration; the Plex LD_LIBRARY_PATH is added # by the FHS userenv script. - LD_LIBRARY_PATH="/run/opengl-driver/lib"; + LD_LIBRARY_PATH = "/run/opengl-driver/lib"; - PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6"; - PLEX_MEDIA_SERVER_TMPDIR="/tmp"; - PLEX_MEDIA_SERVER_USE_SYSLOG="true"; - LC_ALL="en_US.UTF-8"; - LANG="en_US.UTF-8"; + PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS = "6"; + PLEX_MEDIA_SERVER_TMPDIR = "/tmp"; + PLEX_MEDIA_SERVER_USE_SYSLOG = "true"; + LC_ALL = "en_US.UTF-8"; + LANG = "en_US.UTF-8"; }; }; networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = [ 32400 3005 8324 32469 ]; - allowedUDPPorts = [ 1900 5353 32410 32412 32413 32414 ]; + allowedTCPPorts = [ + 32400 + 3005 + 8324 + 32469 + ]; + allowedUDPPorts = [ + 1900 + 5353 + 32410 + 32412 + 32413 + 32414 + ]; }; users.users = lib.mkIf (cfg.user == "plex") { diff --git a/nixos/modules/services/misc/plikd.nix b/nixos/modules/services/misc/plikd.nix index 477c1b413fd0e..f86c178ce2d92 100644 --- a/nixos/modules/services/misc/plikd.nix +++ b/nixos/modules/services/misc/plikd.nix @@ -1,8 +1,13 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.plikd; - format = pkgs.formats.toml {}; + format = pkgs.formats.toml { }; plikdCfg = format.generate "plikd.cfg" cfg.settings; in { @@ -18,7 +23,7 @@ in settings = lib.mkOption { type = format.type; - default = {}; + default = { }; description = '' Configuration for plikd, see for supported values. @@ -33,7 +38,7 @@ in ListenAddress = "localhost"; DataBackend = "file"; DataBackendConfig = { - Directory = "/var/lib/plikd"; + Directory = "/var/lib/plikd"; }; MetadataBackendConfig = { Driver = "sqlite3"; diff --git a/nixos/modules/services/misc/podgrab.nix b/nixos/modules/services/misc/podgrab.nix index 50dc70e2bd767..af4f4eacb53e1 100644 --- a/nixos/modules/services/misc/podgrab.nix +++ b/nixos/modules/services/misc/podgrab.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.podgrab; diff --git a/nixos/modules/services/misc/polaris.nix b/nixos/modules/services/misc/polaris.nix index 70c478d193e93..c6aebe1cc66cc 100644 --- a/nixos/modules/services/misc/polaris.nix +++ b/nixos/modules/services/misc/polaris.nix @@ -1,10 +1,12 @@ -{ config -, pkgs -, lib -, ...}: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.polaris; - settingsFormat = pkgs.formats.toml {}; + settingsFormat = pkgs.formats.toml { }; in { options = { @@ -27,7 +29,7 @@ in extraGroups = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "Polaris' auxiliary groups."; example = lib.literalExpression ''["media" "music"]''; }; @@ -43,7 +45,7 @@ in settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Contents for the TOML Polaris config, applied each start. Although poorly documented, an example may be found here: @@ -91,15 +93,22 @@ in SupplementaryGroups = cfg.extraGroups; StateDirectory = "polaris"; CacheDirectory = "polaris"; - ExecStart = lib.escapeShellArgs ([ - "${cfg.package}/bin/polaris" - "--foreground" - "--port" cfg.port - "--database" "/var/lib/${StateDirectory}/db.sqlite" - "--cache" "/var/cache/${CacheDirectory}" - ] ++ lib.optionals (cfg.settings != {}) [ - "--config" (settingsFormat.generate "polaris-config.toml" cfg.settings) - ]); + ExecStart = lib.escapeShellArgs ( + [ + "${cfg.package}/bin/polaris" + "--foreground" + "--port" + cfg.port + "--database" + "/var/lib/${StateDirectory}/db.sqlite" + "--cache" + "/var/cache/${CacheDirectory}" + ] + ++ lib.optionals (cfg.settings != { }) [ + "--config" + (settingsFormat.generate "polaris-config.toml" cfg.settings) + ] + ); Restart = "on-failure"; # Security options: @@ -126,7 +135,11 @@ in ProtectKernelTunables = true; RestrictNamespaces = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictRealtime = true; #RestrictSUIDSGID = true; # implied by DynamicUser @@ -134,7 +147,13 @@ in SystemCallErrorNumber = "EPERM"; SystemCallFilter = [ "@system-service" - "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid" + "~@cpu-emulation" + "~@debug" + "~@keyring" + "~@memlock" + "~@obsolete" + "~@privileged" + "~@setuid" ]; }; }; diff --git a/nixos/modules/services/misc/portunus.nix b/nixos/modules/services/misc/portunus.nix index 20486f0212f7b..6f2ca0a83c8d8 100644 --- a/nixos/modules/services/misc/portunus.nix +++ b/nixos/modules/services/misc/portunus.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.portunus; @@ -71,18 +76,20 @@ in ''; oidcClients = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - callbackURL = lib.mkOption { - type = lib.types.str; - description = "URL where the OIDC client should redirect"; - }; - id = lib.mkOption { - type = lib.types.str; - description = "ID of the OIDC client"; + type = lib.types.listOf ( + lib.types.submodule { + options = { + callbackURL = lib.mkOption { + type = lib.types.str; + description = "URL where the OIDC client should redirect"; + }; + id = lib.mkOption { + type = lib.types.str; + description = "ID of the OIDC client"; + }; }; - }; - }); + } + ); default = [ ]; example = [ { @@ -190,31 +197,38 @@ in config.file = "/var/lib/dex/dex.db"; }; enablePasswordDB = false; - connectors = [{ - type = "ldap"; - id = "ldap"; - name = "LDAP"; - config = { - host = "${cfg.domain}:636"; - bindDN = "uid=${cfg.ldap.searchUserName},ou=users,${cfg.ldap.suffix}"; - bindPW = "$DEX_SEARCH_USER_PASSWORD"; - userSearch = { - baseDN = "ou=users,${cfg.ldap.suffix}"; - filter = "(objectclass=person)"; - username = "uid"; - idAttr = "uid"; - emailAttr = "mail"; - nameAttr = "cn"; - preferredUsernameAttr = "uid"; - }; - groupSearch = { - baseDN = "ou=groups,${cfg.ldap.suffix}"; - filter = "(objectclass=groupOfNames)"; - nameAttr = "cn"; - userMatchers = [{ userAttr = "DN"; groupAttr = "member"; }]; + connectors = [ + { + type = "ldap"; + id = "ldap"; + name = "LDAP"; + config = { + host = "${cfg.domain}:636"; + bindDN = "uid=${cfg.ldap.searchUserName},ou=users,${cfg.ldap.suffix}"; + bindPW = "$DEX_SEARCH_USER_PASSWORD"; + userSearch = { + baseDN = "ou=users,${cfg.ldap.suffix}"; + filter = "(objectclass=person)"; + username = "uid"; + idAttr = "uid"; + emailAttr = "mail"; + nameAttr = "cn"; + preferredUsernameAttr = "uid"; + }; + groupSearch = { + baseDN = "ou=groups,${cfg.ldap.suffix}"; + filter = "(objectclass=groupOfNames)"; + nameAttr = "cn"; + userMatchers = [ + { + userAttr = "DN"; + groupAttr = "member"; + } + ]; + }; }; - }; - }]; + } + ]; staticClients = lib.forEach cfg.dex.oidcClients (client: { inherit (client) id; @@ -225,7 +239,9 @@ in }; }; - portunus.seedPath = lib.mkIf (cfg.seedSettings != null) (pkgs.writeText "seed.json" (builtins.toJSON cfg.seedSettings)); + portunus.seedPath = lib.mkIf (cfg.seedSettings != null) ( + pkgs.writeText "seed.json" (builtins.toJSON cfg.seedSettings) + ); }; systemd.services = { @@ -247,30 +263,34 @@ in ExecStart = "${cfg.package}/bin/portunus-orchestrator"; Restart = "on-failure"; }; - environment = { - PORTUNUS_LDAP_SUFFIX = cfg.ldap.suffix; - PORTUNUS_SERVER_BINARY = "${cfg.package}/bin/portunus-server"; - PORTUNUS_SERVER_GROUP = cfg.group; - PORTUNUS_SERVER_USER = cfg.user; - PORTUNUS_SERVER_HTTP_LISTEN = "127.0.0.1:${toString cfg.port}"; - PORTUNUS_SERVER_STATE_DIR = cfg.stateDir; - PORTUNUS_SLAPD_BINARY = "${cfg.ldap.package}/libexec/slapd"; - PORTUNUS_SLAPD_GROUP = cfg.ldap.group; - PORTUNUS_SLAPD_USER = cfg.ldap.user; - PORTUNUS_SLAPD_SCHEMA_DIR = "${cfg.ldap.package}/etc/schema"; - } // (lib.optionalAttrs (cfg.seedPath != null) ({ - PORTUNUS_SEED_PATH = cfg.seedPath; - })) // (lib.optionalAttrs cfg.ldap.tls ( - let - acmeDirectory = config.security.acme.certs."${cfg.domain}".directory; - in + environment = { - PORTUNUS_SERVER_HTTP_SECURE = "true"; - PORTUNUS_SLAPD_TLS_CA_CERTIFICATE = "/etc/ssl/certs/ca-certificates.crt"; - PORTUNUS_SLAPD_TLS_CERTIFICATE = "${acmeDirectory}/cert.pem"; - PORTUNUS_SLAPD_TLS_DOMAIN_NAME = cfg.domain; - PORTUNUS_SLAPD_TLS_PRIVATE_KEY = "${acmeDirectory}/key.pem"; - })); + PORTUNUS_LDAP_SUFFIX = cfg.ldap.suffix; + PORTUNUS_SERVER_BINARY = "${cfg.package}/bin/portunus-server"; + PORTUNUS_SERVER_GROUP = cfg.group; + PORTUNUS_SERVER_USER = cfg.user; + PORTUNUS_SERVER_HTTP_LISTEN = "127.0.0.1:${toString cfg.port}"; + PORTUNUS_SERVER_STATE_DIR = cfg.stateDir; + PORTUNUS_SLAPD_BINARY = "${cfg.ldap.package}/libexec/slapd"; + PORTUNUS_SLAPD_GROUP = cfg.ldap.group; + PORTUNUS_SLAPD_USER = cfg.ldap.user; + PORTUNUS_SLAPD_SCHEMA_DIR = "${cfg.ldap.package}/etc/schema"; + } + // (lib.optionalAttrs (cfg.seedPath != null) ({ + PORTUNUS_SEED_PATH = cfg.seedPath; + })) + // (lib.optionalAttrs cfg.ldap.tls ( + let + acmeDirectory = config.security.acme.certs."${cfg.domain}".directory; + in + { + PORTUNUS_SERVER_HTTP_SECURE = "true"; + PORTUNUS_SLAPD_TLS_CA_CERTIFICATE = "/etc/ssl/certs/ca-certificates.crt"; + PORTUNUS_SLAPD_TLS_CERTIFICATE = "${acmeDirectory}/cert.pem"; + PORTUNUS_SLAPD_TLS_DOMAIN_NAME = cfg.domain; + PORTUNUS_SLAPD_TLS_PRIVATE_KEY = "${acmeDirectory}/key.pem"; + } + )); }; }; diff --git a/nixos/modules/services/misc/preload.nix b/nixos/modules/services/misc/preload.nix index 4dadd0e26b16b..9a9de0f65d374 100644 --- a/nixos/modules/services/misc/preload.nix +++ b/nixos/modules/services/misc/preload.nix @@ -1,8 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.preload; -in { - meta = { maintainers = pkgs.preload.meta.maintainers; }; +in +{ + meta = { + maintainers = pkgs.preload.meta.maintainers; + }; options.services.preload = { enable = lib.mkEnableOption "preload"; diff --git a/nixos/modules/services/misc/private-gpt.nix b/nixos/modules/services/misc/private-gpt.nix index 7bd2e492f5b56..e7974f93d66a6 100644 --- a/nixos/modules/services/misc/private-gpt.nix +++ b/nixos/modules/services/misc/private-gpt.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let inherit (lib) types; diff --git a/nixos/modules/services/misc/prowlarr.nix b/nixos/modules/services/misc/prowlarr.nix index 906f75516abd8..21296985b3ef9 100644 --- a/nixos/modules/services/misc/prowlarr.nix +++ b/nixos/modules/services/misc/prowlarr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.prowlarr; diff --git a/nixos/modules/services/misc/pufferpanel.nix b/nixos/modules/services/misc/pufferpanel.nix index 3679d25861e66..eb070f0767c22 100644 --- a/nixos/modules/services/misc/pufferpanel.nix +++ b/nixos/modules/services/misc/pufferpanel.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.pufferpanel; in @@ -116,14 +121,18 @@ in # would set PUFFER_LOGS to $LOGS_DIRECTORY if PUFFER_LOGS environment # variable is not defined. script = '' - ${lib.concatLines (lib.mapAttrsToList (name: value: '' - export ${name}="''${${name}-${value}}" - '') { - PUFFER_LOGS = "$LOGS_DIRECTORY"; - PUFFER_DAEMON_DATA_CACHE = "$CACHE_DIRECTORY"; - PUFFER_DAEMON_DATA_SERVERS = "$STATE_DIRECTORY/servers"; - PUFFER_DAEMON_DATA_BINARIES = "$STATE_DIRECTORY/binaries"; - })} + ${lib.concatLines ( + lib.mapAttrsToList + (name: value: '' + export ${name}="''${${name}-${value}}" + '') + { + PUFFER_LOGS = "$LOGS_DIRECTORY"; + PUFFER_DAEMON_DATA_CACHE = "$CACHE_DIRECTORY"; + PUFFER_DAEMON_DATA_SERVERS = "$STATE_DIRECTORY/servers"; + PUFFER_DAEMON_DATA_BINARIES = "$STATE_DIRECTORY/binaries"; + } + )} exec ${lib.getExe cfg.package} run --workDir "$STATE_DIRECTORY" ''; @@ -162,8 +171,15 @@ in PrivateUsers = true; PrivateDevices = true; RestrictRealtime = true; - RestrictNamespaces = [ "user" "mnt" ]; # allow buildFHSEnv - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictNamespaces = [ + "user" + "mnt" + ]; # allow buildFHSEnv + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; LockPersonality = true; DeviceAllow = [ "" ]; DevicePolicy = "closed"; diff --git a/nixos/modules/services/misc/pykms.nix b/nixos/modules/services/misc/pykms.nix index 19985229f548c..c9613f684e842 100644 --- a/nixos/modules/services/misc/pykms.nix +++ b/nixos/modules/services/misc/pykms.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.pykms; libDir = "/var/lib/pykms"; @@ -44,7 +49,14 @@ in }; logLevel = lib.mkOption { - type = lib.types.enum [ "CRITICAL" "ERROR" "WARNING" "INFO" "DEBUG" "MININFO" ]; + type = lib.types.enum [ + "CRITICAL" + "ERROR" + "WARNING" + "INFO" + "DEBUG" + "MININFO" + ]; default = "INFO"; description = "How much to log"; }; @@ -70,15 +82,19 @@ in DynamicUser = true; StateDirectory = baseNameOf libDir; ExecStartPre = "${lib.getBin pykms}/libexec/create_pykms_db.sh ${libDir}/clients.db"; - ExecStart = lib.concatStringsSep " " ([ - "${lib.getBin pykms}/bin/server" - "--logfile=STDOUT" - "--loglevel=${cfg.logLevel}" - "--sqlite=${libDir}/clients.db" - ] ++ cfg.extraArgs ++ [ - cfg.listenAddress - (toString cfg.port) - ]); + ExecStart = lib.concatStringsSep " " ( + [ + "${lib.getBin pykms}/bin/server" + "--logfile=STDOUT" + "--loglevel=${cfg.logLevel}" + "--sqlite=${libDir}/clients.db" + ] + ++ cfg.extraArgs + ++ [ + cfg.listenAddress + (toString cfg.port) + ] + ); ProtectHome = "tmpfs"; WorkingDirectory = libDir; SyslogIdentifier = "pykms"; diff --git a/nixos/modules/services/misc/radarr.nix b/nixos/modules/services/misc/radarr.nix index 54c6e9577b314..bb645acd5f92f 100644 --- a/nixos/modules/services/misc/radarr.nix +++ b/nixos/modules/services/misc/radarr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.radarr; diff --git a/nixos/modules/services/misc/readarr.nix b/nixos/modules/services/misc/readarr.nix index 15f1bde2cdfc7..49a3fde81a9d7 100644 --- a/nixos/modules/services/misc/readarr.nix +++ b/nixos/modules/services/misc/readarr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.readarr; in diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index d3d329f059444..eceabc317d1a2 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -1,28 +1,50 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkBefore mkDefault mkEnableOption mkPackageOption - mkIf mkOption mkRemovedOptionModule types; + inherit (lib) + mkBefore + mkDefault + mkEnableOption + mkPackageOption + mkIf + mkOption + mkRemovedOptionModule + types + ; inherit (lib) concatStringsSep literalExpression mapAttrsToList; inherit (lib) optional optionalAttrs optionalString; cfg = config.services.redmine; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; bundle = "${cfg.package}/share/redmine/bin/bundle"; databaseSettings = { - production = { - adapter = cfg.database.type; - database = if cfg.database.type == "sqlite3" then "${cfg.stateDir}/database.sqlite3" else cfg.database.name; - } // optionalAttrs (cfg.database.type != "sqlite3") { - host = if (cfg.database.type == "postgresql" && cfg.database.socket != null) then cfg.database.socket else cfg.database.host; - port = cfg.database.port; - username = cfg.database.user; - } // optionalAttrs (cfg.database.type != "sqlite3" && cfg.database.passwordFile != null) { - password = "#dbpass#"; - } // optionalAttrs (cfg.database.type == "mysql2" && cfg.database.socket != null) { - socket = cfg.database.socket; - }; + production = + { + adapter = cfg.database.type; + database = + if cfg.database.type == "sqlite3" then "${cfg.stateDir}/database.sqlite3" else cfg.database.name; + } + // optionalAttrs (cfg.database.type != "sqlite3") { + host = + if (cfg.database.type == "postgresql" && cfg.database.socket != null) then + cfg.database.socket + else + cfg.database.host; + port = cfg.database.port; + username = cfg.database.user; + } + // optionalAttrs (cfg.database.type != "sqlite3" && cfg.database.passwordFile != null) { + password = "#dbpass#"; + } + // optionalAttrs (cfg.database.type == "mysql2" && cfg.database.socket != null) { + socket = cfg.database.socket; + }; }; databaseYml = format.generate "database.yml" databaseSettings; @@ -32,16 +54,20 @@ let unpackTheme = unpack "theme"; unpackPlugin = unpack "plugin"; - unpack = id: (name: source: - pkgs.stdenv.mkDerivation { - name = "redmine-${id}-${name}"; - nativeBuildInputs = [ pkgs.unzip ]; - buildCommand = '' - mkdir -p $out - cd $out - unpackFile ${source} - ''; - }); + unpack = + id: + ( + name: source: + pkgs.stdenv.mkDerivation { + name = "redmine-${id}-${name}"; + nativeBuildInputs = [ pkgs.unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unpackFile ${source} + ''; + } + ); mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql2"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "postgresql"; @@ -49,8 +75,17 @@ let in { imports = [ - (mkRemovedOptionModule [ "services" "redmine" "extraConfig" ] "Use services.redmine.settings instead.") - (mkRemovedOptionModule [ "services" "redmine" "database" "password" ] "Use services.redmine.database.passwordFile instead.") + (mkRemovedOptionModule [ + "services" + "redmine" + "extraConfig" + ] "Use services.redmine.settings instead.") + (mkRemovedOptionModule [ + "services" + "redmine" + "database" + "password" + ] "Use services.redmine.database.passwordFile instead.") ]; # interface @@ -94,7 +129,7 @@ in settings = mkOption { type = format.type; - default = {}; + default = { }; description = '' Redmine configuration ({file}`configuration.yml`). Refer to @@ -129,7 +164,7 @@ in themes = mkOption { type = types.attrsOf types.path; - default = {}; + default = { }; description = "Set of themes."; example = literalExpression '' { @@ -143,7 +178,7 @@ in plugins = mkOption { type = types.attrsOf types.path; - default = {}; + default = { }; description = "Set of plugins."; example = literalExpression '' { @@ -157,7 +192,11 @@ in database = { type = mkOption { - type = types.enum [ "mysql2" "postgresql" "sqlite3" ]; + type = types.enum [ + "mysql2" + "postgresql" + "sqlite3" + ]; example = "postgresql"; default = "mysql2"; description = "Database engine to use."; @@ -201,9 +240,12 @@ in socket = mkOption { type = types.nullOr types.path; default = - if mysqlLocal then "/run/mysqld/mysqld.sock" - else if pgsqlLocal then "/run/postgresql" - else null; + if mysqlLocal then + "/run/mysqld/mysqld.sock" + else if pgsqlLocal then + "/run/postgresql" + else + null; defaultText = literalExpression "/run/mysqld/mysqld.sock"; example = "/run/mysqld/mysqld.sock"; description = "Path to the unix socket file to use for authentication."; @@ -273,22 +315,30 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.type != "sqlite3" -> cfg.database.passwordFile != null || cfg.database.socket != null; + { + assertion = + cfg.database.type != "sqlite3" -> cfg.database.passwordFile != null || cfg.database.socket != null; message = "one of services.redmine.database.socket or services.redmine.database.passwordFile must be set"; } - { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; + { + assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; message = "services.redmine.database.user must be set to ${cfg.user} if services.redmine.database.createLocally is set true"; } - { assertion = pgsqlLocal -> cfg.database.user == cfg.database.name; + { + assertion = pgsqlLocal -> cfg.database.user == cfg.database.name; message = "services.redmine.database.user and services.redmine.database.name must be the same when using a local postgresql database"; } - { assertion = (cfg.database.createLocally && cfg.database.type != "sqlite3") -> cfg.database.socket != null; + { + assertion = + (cfg.database.createLocally && cfg.database.type != "sqlite3") -> cfg.database.socket != null; message = "services.redmine.database.socket must be set if services.redmine.database.createLocally is set to true and no sqlite database is used"; } - { assertion = cfg.database.createLocally -> cfg.database.host == "localhost"; + { + assertion = cfg.database.createLocally -> cfg.database.host == "localhost"; message = "services.redmine.database.host must be set to localhost if services.redmine.database.createLocally is set to true"; } - { assertion = cfg.components.imagemagick -> cfg.components.minimagick_font_path != ""; + { + assertion = cfg.components.imagemagick -> cfg.components.minimagick_font_path != ""; message = "services.redmine.components.minimagick_font_path must be configured with a path to a font file if services.redmine.components.imagemagick is set to true."; } ]; @@ -316,8 +366,11 @@ in package = mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; - ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; + { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; } ]; }; @@ -326,7 +379,8 @@ in enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensureDBOwnership = true; } ]; @@ -357,21 +411,26 @@ in ]; systemd.services.redmine = { - after = [ "network.target" ] ++ optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + after = + [ "network.target" ] + ++ optional mysqlLocal "mysql.service" + ++ optional pgsqlLocal "postgresql.service"; wantedBy = [ "multi-user.target" ]; environment.RAILS_ENV = "production"; environment.RAILS_CACHE = "${cfg.stateDir}/cache"; environment.REDMINE_LANG = "en"; environment.SCHEMA = "${cfg.stateDir}/cache/schema.db"; - path = with pkgs; [ - ] - ++ optional cfg.components.subversion subversion - ++ optional cfg.components.mercurial mercurial - ++ optional cfg.components.git git - ++ optional cfg.components.cvs cvs - ++ optional cfg.components.breezy breezy - ++ optional cfg.components.imagemagick imagemagick - ++ optional cfg.components.ghostscript ghostscript; + path = + with pkgs; + [ + ] + ++ optional cfg.components.subversion subversion + ++ optional cfg.components.mercurial mercurial + ++ optional cfg.components.git git + ++ optional cfg.components.cvs cvs + ++ optional cfg.components.breezy breezy + ++ optional cfg.components.imagemagick imagemagick + ++ optional cfg.components.ghostscript ghostscript; preStart = '' rm -rf "${cfg.stateDir}/plugins/"* @@ -435,7 +494,7 @@ in Group = cfg.group; TimeoutSec = "300"; WorkingDirectory = "${cfg.package}/share/redmine"; - ExecStart="${bundle} exec rails server -u webrick -e production -b ${toString cfg.address} -p ${toString cfg.port} -P '${cfg.stateDir}/redmine.pid'"; + ExecStart = "${bundle} exec rails server -u webrick -e production -b ${toString cfg.address} -p ${toString cfg.port} -P '${cfg.stateDir}/redmine.pid'"; AmbientCapabilities = ""; CapabilityBoundingSet = ""; LockPersonality = true; @@ -455,12 +514,15 @@ in ProtectProc = "noaccess"; ProtectSystem = "full"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - UMask = 027; + UMask = 27; }; }; diff --git a/nixos/modules/services/misc/renovate.nix b/nixos/modules/services/misc/renovate.nix index 18a0e817b9d7c..cc1185fb0580d 100644 --- a/nixos/modules/services/misc/renovate.nix +++ b/nixos/modules/services/misc/renovate.nix @@ -36,7 +36,10 @@ let generateConfig = if cfg.validateSettings then generateValidatedConfig else json.generate; in { - meta.maintainers = with lib.maintainers; [ marie natsukium ]; + meta.maintainers = with lib.maintainers; [ + marie + natsukium + ]; options.services.renovate = { enable = mkEnableOption "renovate"; diff --git a/nixos/modules/services/misc/ripple-data-api.nix b/nixos/modules/services/misc/ripple-data-api.nix index e01e891c95a84..dd48cdeead07b 100644 --- a/nixos/modules/services/misc/ripple-data-api.nix +++ b/nixos/modules/services/misc/ripple-data-api.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rippleDataApi; @@ -29,7 +34,8 @@ let }; }; -in { +in +{ options = { services.rippleDataApi = { enable = lib.mkEnableOption "ripple data api"; @@ -43,7 +49,10 @@ in { importMode = lib.mkOption { description = "Ripple data api import mode."; default = "liveOnly"; - type = lib.types.enum ["live" "liveOnly"]; + type = lib.types.enum [ + "live" + "liveOnly" + ]; }; minLedger = lib.mkOption { @@ -133,7 +142,11 @@ in { services.redis.enable = lib.mkDefault true; systemd.services.ripple-data-api = { - after = [ "couchdb.service" "redis.service" "ripple-data-api-importer.service" ]; + after = [ + "couchdb.service" + "redis.service" + "ripple-data-api-importer.service" + ]; wantedBy = [ "multi-user.target" ]; environment = { @@ -161,32 +174,36 @@ in { LOG_FILE = "/dev/null"; }; - serviceConfig = let - importMode = - if cfg.minLedger != null && cfg.maxLedger != null then - "${toString cfg.minLedger} ${toString cfg.maxLedger}" - else - cfg.importMode; - in { - ExecStart = "${pkgs.ripple-data-api}/bin/importer ${importMode} debug"; - Restart = "always"; - User = "ripple-data-api"; - }; + serviceConfig = + let + importMode = + if cfg.minLedger != null && cfg.maxLedger != null then + "${toString cfg.minLedger} ${toString cfg.maxLedger}" + else + cfg.importMode; + in + { + ExecStart = "${pkgs.ripple-data-api}/bin/importer ${importMode} debug"; + Restart = "always"; + User = "ripple-data-api"; + }; preStart = lib.mkMerge [ (lib.mkIf (cfg.couchdb.create) '' - HOST="http://${lib.optionalString (cfg.couchdb.pass != "") "${cfg.couchdb.user}:${cfg.couchdb.pass}@"}${cfg.couchdb.host}:${toString cfg.couchdb.port}" + HOST="http://${ + lib.optionalString (cfg.couchdb.pass != "") "${cfg.couchdb.user}:${cfg.couchdb.pass}@" + }${cfg.couchdb.host}:${toString cfg.couchdb.port}" curl -X PUT $HOST/${cfg.couchdb.db} || true '') "${pkgs.ripple-data-api}/bin/update-views" ]; }; - users.users.ripple-data-api = - { description = "Ripple data api user"; - isSystemUser = true; - group = "ripple-data-api"; - }; - users.groups.ripple-data-api = {}; + users.users.ripple-data-api = { + description = "Ripple data api user"; + isSystemUser = true; + group = "ripple-data-api"; + }; + users.groups.ripple-data-api = { }; }; } diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix index 5f011dbee4a6e..8b1f3c7df1178 100644 --- a/nixos/modules/services/misc/rippled.nix +++ b/nixos/modules/services/misc/rippled.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.rippled; opt = options.services.rippled; @@ -8,154 +14,169 @@ let dbCfg = db: '' type=${db.type} path=${db.path} - ${lib.optionalString (db.compression != null) ("compression=${b2i db.compression}") } + ${lib.optionalString (db.compression != null) ("compression=${b2i db.compression}")} ${lib.optionalString (db.onlineDelete != null) ("online_delete=${toString db.onlineDelete}")} ${lib.optionalString (db.advisoryDelete != null) ("advisory_delete=${b2i db.advisoryDelete}")} ${db.extraOpts} ''; - rippledCfg = '' - [server] - ${lib.concatMapStringsSep "\n" (n: "port_${n}") (lib.attrNames cfg.ports)} - - ${lib.concatMapStrings (p: '' - [port_${p.name}] - ip=${p.ip} - port=${toString p.port} - protocol=${lib.concatStringsSep "," p.protocol} - ${lib.optionalString (p.user != "") "user=${p.user}"} - ${lib.optionalString (p.password != "") "user=${p.password}"} - admin=${lib.concatStringsSep "," p.admin} - ${lib.optionalString (p.ssl.key != null) "ssl_key=${p.ssl.key}"} - ${lib.optionalString (p.ssl.cert != null) "ssl_cert=${p.ssl.cert}"} - ${lib.optionalString (p.ssl.chain != null) "ssl_chain=${p.ssl.chain}"} - '') (lib.attrValues cfg.ports)} - - [database_path] - ${cfg.databasePath} - - [node_db] - ${dbCfg cfg.nodeDb} - - ${lib.optionalString (cfg.tempDb != null) '' - [temp_db] - ${dbCfg cfg.tempDb}''} - - ${lib.optionalString (cfg.importDb != null) '' - [import_db] - ${dbCfg cfg.importDb}''} - - [ips] - ${lib.concatStringsSep "\n" cfg.ips} - - [ips_fixed] - ${lib.concatStringsSep "\n" cfg.ipsFixed} - - [validators] - ${lib.concatStringsSep "\n" cfg.validators} - - [node_size] - ${cfg.nodeSize} - - [ledger_history] - ${toString cfg.ledgerHistory} - - [fetch_depth] - ${toString cfg.fetchDepth} - - [validation_quorum] - ${toString cfg.validationQuorum} - - [sntp_servers] - ${lib.concatStringsSep "\n" cfg.sntpServers} - - ${lib.optionalString cfg.statsd.enable '' - [insight] - server=statsd - address=${cfg.statsd.address} - prefix=${cfg.statsd.prefix} - ''} - - [rpc_startup] - { "command": "log_level", "severity": "${cfg.logLevel}" } - '' + cfg.extraConfig; - - portOptions = { name, ...}: { - options = { - name = lib.mkOption { - internal = true; - default = name; - }; - - ip = lib.mkOption { - default = "127.0.0.1"; - description = "Ip where rippled listens."; - type = lib.types.str; - }; - - port = lib.mkOption { - description = "Port where rippled listens."; - type = lib.types.port; - }; + rippledCfg = + '' + [server] + ${lib.concatMapStringsSep "\n" (n: "port_${n}") (lib.attrNames cfg.ports)} + + ${lib.concatMapStrings (p: '' + [port_${p.name}] + ip=${p.ip} + port=${toString p.port} + protocol=${lib.concatStringsSep "," p.protocol} + ${lib.optionalString (p.user != "") "user=${p.user}"} + ${lib.optionalString (p.password != "") "user=${p.password}"} + admin=${lib.concatStringsSep "," p.admin} + ${lib.optionalString (p.ssl.key != null) "ssl_key=${p.ssl.key}"} + ${lib.optionalString (p.ssl.cert != null) "ssl_cert=${p.ssl.cert}"} + ${lib.optionalString (p.ssl.chain != null) "ssl_chain=${p.ssl.chain}"} + '') (lib.attrValues cfg.ports)} + + [database_path] + ${cfg.databasePath} + + [node_db] + ${dbCfg cfg.nodeDb} + + ${lib.optionalString (cfg.tempDb != null) '' + [temp_db] + ${dbCfg cfg.tempDb}''} + + ${lib.optionalString (cfg.importDb != null) '' + [import_db] + ${dbCfg cfg.importDb}''} + + [ips] + ${lib.concatStringsSep "\n" cfg.ips} + + [ips_fixed] + ${lib.concatStringsSep "\n" cfg.ipsFixed} + + [validators] + ${lib.concatStringsSep "\n" cfg.validators} + + [node_size] + ${cfg.nodeSize} + + [ledger_history] + ${toString cfg.ledgerHistory} + + [fetch_depth] + ${toString cfg.fetchDepth} + + [validation_quorum] + ${toString cfg.validationQuorum} + + [sntp_servers] + ${lib.concatStringsSep "\n" cfg.sntpServers} + + ${lib.optionalString cfg.statsd.enable '' + [insight] + server=statsd + address=${cfg.statsd.address} + prefix=${cfg.statsd.prefix} + ''} + + [rpc_startup] + { "command": "log_level", "severity": "${cfg.logLevel}" } + '' + + cfg.extraConfig; + + portOptions = + { name, ... }: + { + options = { + name = lib.mkOption { + internal = true; + default = name; + }; - protocol = lib.mkOption { - description = "Protocols expose by rippled."; - type = lib.types.listOf (lib.types.enum ["http" "https" "ws" "wss" "peer"]); - }; + ip = lib.mkOption { + default = "127.0.0.1"; + description = "Ip where rippled listens."; + type = lib.types.str; + }; - user = lib.mkOption { - description = "When set, these credentials will be required on HTTP/S requests."; - type = lib.types.str; - default = ""; - }; + port = lib.mkOption { + description = "Port where rippled listens."; + type = lib.types.port; + }; - password = lib.mkOption { - description = "When set, these credentials will be required on HTTP/S requests."; - type = lib.types.str; - default = ""; - }; + protocol = lib.mkOption { + description = "Protocols expose by rippled."; + type = lib.types.listOf ( + lib.types.enum [ + "http" + "https" + "ws" + "wss" + "peer" + ] + ); + }; - admin = lib.mkOption { - description = "A comma-separated list of admin IP addresses."; - type = lib.types.listOf lib.types.str; - default = ["127.0.0.1"]; - }; + user = lib.mkOption { + description = "When set, these credentials will be required on HTTP/S requests."; + type = lib.types.str; + default = ""; + }; - ssl = { - key = lib.mkOption { - description = '' - Specifies the filename holding the SSL key in PEM format. - ''; - default = null; - type = lib.types.nullOr lib.types.path; + password = lib.mkOption { + description = "When set, these credentials will be required on HTTP/S requests."; + type = lib.types.str; + default = ""; }; - cert = lib.mkOption { - description = '' - Specifies the path to the SSL certificate file in PEM format. - This is not needed if the chain includes it. - ''; - default = null; - type = lib.types.nullOr lib.types.path; + admin = lib.mkOption { + description = "A comma-separated list of admin IP addresses."; + type = lib.types.listOf lib.types.str; + default = [ "127.0.0.1" ]; }; - chain = lib.mkOption { - description = '' - If you need a certificate chain, specify the path to the - certificate chain here. The chain may include the end certificate. - ''; - default = null; - type = lib.types.nullOr lib.types.path; + ssl = { + key = lib.mkOption { + description = '' + Specifies the filename holding the SSL key in PEM format. + ''; + default = null; + type = lib.types.nullOr lib.types.path; + }; + + cert = lib.mkOption { + description = '' + Specifies the path to the SSL certificate file in PEM format. + This is not needed if the chain includes it. + ''; + default = null; + type = lib.types.nullOr lib.types.path; + }; + + chain = lib.mkOption { + description = '' + If you need a certificate chain, specify the path to the + certificate chain here. The chain may include the end certificate. + ''; + default = null; + type = lib.types.nullOr lib.types.path; + }; }; }; }; - }; dbOptions = { options = { type = lib.mkOption { description = "Rippled database type."; - type = lib.types.enum ["rocksdb" "nudb"]; + type = lib.types.enum [ + "rocksdb" + "nudb" + ]; default = "rocksdb"; }; @@ -214,20 +235,23 @@ in default = { rpc = { port = 5005; - admin = ["127.0.0.1"]; - protocol = ["http"]; + admin = [ "127.0.0.1" ]; + protocol = [ "http" ]; }; peer = { port = 51235; ip = "0.0.0.0"; - protocol = ["peer"]; + protocol = [ "peer" ]; }; ws_public = { port = 5006; ip = "0.0.0.0"; - protocol = ["ws" "wss"]; + protocol = [ + "ws" + "wss" + ]; }; }; }; @@ -264,7 +288,13 @@ in Rippled size of the node you are running. "tiny", "small", "medium", "large", and "huge" ''; - type = lib.types.enum ["tiny" "small" "medium" "large" "huge"]; + type = lib.types.enum [ + "tiny" + "small" + "medium" + "large" + "huge" + ]; default = "small"; }; @@ -280,7 +310,7 @@ in to least trusted. ''; type = lib.types.listOf lib.types.str; - default = ["r.ripple.com 51235"]; + default = [ "r.ripple.com 51235" ]; }; ipsFixed = lib.mkOption { @@ -294,7 +324,7 @@ in A port may optionally be specified after adding a space to the address ''; type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; }; validators = lib.mkOption { @@ -334,7 +364,7 @@ in The number of past ledgers to acquire on server startup and the minimum to maintain while running. ''; - type = lib.types.either lib.types.int (lib.types.enum ["full"]); + type = lib.types.either lib.types.int (lib.types.enum [ "full" ]); default = 1296000; # 1 month }; @@ -343,7 +373,7 @@ in The number of past ledgers to serve to other peers that request historical ledger data (or "full" for no limit). ''; - type = lib.types.either lib.types.int (lib.types.enum ["full"]); + type = lib.types.either lib.types.int (lib.types.enum [ "full" ]); default = "full"; }; @@ -362,7 +392,11 @@ in logLevel = lib.mkOption { description = "Logging verbosity."; - type = lib.types.enum ["debug" "error" "info"]; + type = lib.types.enum [ + "debug" + "error" + "info" + ]; default = "error"; }; @@ -398,19 +432,18 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { users.users.rippled = { - description = "Ripple server user"; - isSystemUser = true; - group = "rippled"; - home = cfg.databasePath; - createHome = true; - }; - users.groups.rippled = {}; + description = "Ripple server user"; + isSystemUser = true; + group = "rippled"; + home = cfg.databasePath; + createHome = true; + }; + users.groups.rippled = { }; systemd.services.rippled = { after = [ "network.target" ]; @@ -420,7 +453,7 @@ in ExecStart = "${cfg.package}/bin/rippled --fg --conf ${cfg.config}"; User = "rippled"; Restart = "on-failure"; - LimitNOFILE=10000; + LimitNOFILE = 10000; }; }; diff --git a/nixos/modules/services/misc/rkvm.nix b/nixos/modules/services/misc/rkvm.nix index 805b2923bb0f6..f2f0d95ecf235 100644 --- a/nixos/modules/services/misc/rkvm.nix +++ b/nixos/modules/services/misc/rkvm.nix @@ -1,4 +1,10 @@ -{ options, config, pkgs, lib, ... }: +{ + options, + config, + pkgs, + lib, + ... +}: let opt = options.services.rkvm; cfg = config.services.rkvm; @@ -23,61 +29,63 @@ in enable = lib.mkEnableOption "the rkvm server daemon (input transmitter)"; settings = lib.mkOption { - type = lib.types.submodule - { - freeformType = toml.type; - options = { - listen = lib.mkOption { - type = lib.types.str; - default = "0.0.0.0:5258"; - description = '' - An internet socket address to listen on, either IPv4 or IPv6. - ''; - }; - - switch-keys = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ "left-alt" "left-ctrl" ]; - description = '' - A key list specifying a host switch combination. - - _A list of key names is available in ._ - ''; - }; - - certificate = lib.mkOption { - type = lib.types.path; - default = "/etc/rkvm/certificate.pem"; - description = '' - TLS certificate path. - - ::: {.note} - This should be generated with {command}`rkvm-certificate-gen`. - ::: - ''; - }; - - key = lib.mkOption { - type = lib.types.path; - default = "/etc/rkvm/key.pem"; - description = '' - TLS key path. - - ::: {.note} - This should be generated with {command}`rkvm-certificate-gen`. - ::: - ''; - }; - - password = lib.mkOption { - type = lib.types.str; - description = '' - Shared secret token to authenticate the client. - Make sure this matches your client's config. - ''; - }; + type = lib.types.submodule { + freeformType = toml.type; + options = { + listen = lib.mkOption { + type = lib.types.str; + default = "0.0.0.0:5258"; + description = '' + An internet socket address to listen on, either IPv4 or IPv6. + ''; + }; + + switch-keys = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ + "left-alt" + "left-ctrl" + ]; + description = '' + A key list specifying a host switch combination. + + _A list of key names is available in ._ + ''; + }; + + certificate = lib.mkOption { + type = lib.types.path; + default = "/etc/rkvm/certificate.pem"; + description = '' + TLS certificate path. + + ::: {.note} + This should be generated with {command}`rkvm-certificate-gen`. + ::: + ''; + }; + + key = lib.mkOption { + type = lib.types.path; + default = "/etc/rkvm/key.pem"; + description = '' + TLS key path. + + ::: {.note} + This should be generated with {command}`rkvm-certificate-gen`. + ::: + ''; + }; + + password = lib.mkOption { + type = lib.types.str; + description = '' + Shared secret token to authenticate the client. + Make sure this matches your client's config. + ''; }; }; + }; default = { }; description = "Structured server daemon configuration"; @@ -88,41 +96,40 @@ in enable = lib.mkEnableOption "the rkvm client daemon (input receiver)"; settings = lib.mkOption { - type = lib.types.submodule - { - freeformType = toml.type; - options = { - server = lib.mkOption { - type = lib.types.str; - example = "192.168.0.123:5258"; - description = '' - An RKVM server's internet socket address, either IPv4 or IPv6. - ''; - }; - - certificate = lib.mkOption { - type = lib.types.path; - default = "/etc/rkvm/certificate.pem"; - description = '' - TLS ceritficate path. - - ::: {.note} - This should be generated with {command}`rkvm-certificate-gen`. - ::: - ''; - }; - - password = lib.mkOption { - type = lib.types.str; - description = '' - Shared secret token to authenticate the client. - Make sure this matches your server's config. - ''; - }; + type = lib.types.submodule { + freeformType = toml.type; + options = { + server = lib.mkOption { + type = lib.types.str; + example = "192.168.0.123:5258"; + description = '' + An RKVM server's internet socket address, either IPv4 or IPv6. + ''; + }; + + certificate = lib.mkOption { + type = lib.types.path; + default = "/etc/rkvm/certificate.pem"; + description = '' + TLS ceritficate path. + + ::: {.note} + This should be generated with {command}`rkvm-certificate-gen`. + ::: + ''; + }; + + password = lib.mkOption { + type = lib.types.str; + description = '' + Shared secret token to authenticate the client. + Make sure this matches your server's config. + ''; }; }; + }; - default = {}; + default = { }; description = "Structured client daemon configuration"; }; }; @@ -137,16 +144,22 @@ in mkBase = component: { description = "RKVM ${component}"; wantedBy = [ "multi-user.target" ]; - after = { - server = [ "network.target" ]; - client = [ "network-online.target" ]; - }.${component}; - wants = { - server = [ ]; - client = [ "network-online.target" ]; - }.${component}; + after = + { + server = [ "network.target" ]; + client = [ "network-online.target" ]; + } + .${component}; + wants = + { + server = [ ]; + client = [ "network-online.target" ]; + } + .${component}; serviceConfig = { - ExecStart = "${cfg.package}/bin/rkvm-${component} ${toml.generate "rkvm-${component}.toml" cfg.${component}.settings}"; + ExecStart = "${cfg.package}/bin/rkvm-${component} ${ + toml.generate "rkvm-${component}.toml" cfg.${component}.settings + }"; Restart = "always"; RestartSec = 5; Type = "simple"; diff --git a/nixos/modules/services/misc/rshim.nix b/nixos/modules/services/misc/rshim.nix index 4a66f61fa40a7..e52135893b411 100644 --- a/nixos/modules/services/misc/rshim.nix +++ b/nixos/modules/services/misc/rshim.nix @@ -1,14 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.rshim; - rshimCommand = [ "${cfg.package}/bin/rshim" ] + rshimCommand = + [ "${cfg.package}/bin/rshim" ] ++ lib.optionals (cfg.backend != null) [ "--backend ${cfg.backend}" ] ++ lib.optionals (cfg.device != null) [ "--device ${cfg.device}" ] ++ lib.optionals (cfg.index != null) [ "--index ${builtins.toString cfg.index}" ] - ++ [ "--log-level ${builtins.toString cfg.log-level}" ] - ; + ++ [ "--log-level ${builtins.toString cfg.log-level}" ]; in { options.services.rshim = { @@ -17,7 +22,13 @@ in package = lib.mkPackageOption pkgs "rshim-user-space" { }; backend = lib.mkOption { - type = with lib.types; nullOr (enum [ "usb" "pcie" "pcie_lf" ]); + type = + with lib.types; + nullOr (enum [ + "usb" + "pcie" + "pcie_lf" + ]); description = '' Specify the backend to attach. If not specified, the driver will scan all rshim backends unless the `device` option is given with a device @@ -58,7 +69,12 @@ in }; config = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ int str ]); + type = + with lib.types; + attrsOf (oneOf [ + int + str + ]); description = '' Structural setting for the rshim configuration file (`/etc/rshim.conf`). It can be used to specify the static mapping @@ -76,9 +92,9 @@ in config = lib.mkIf cfg.enable { environment.etc = lib.mkIf (cfg.config != { }) { - "rshim.conf".text = lib.generators.toKeyValue - { mkKeyValue = lib.generators.mkKeyValueDefault { } " "; } - cfg.config; + "rshim.conf".text = lib.generators.toKeyValue { + mkKeyValue = lib.generators.mkKeyValueDefault { } " "; + } cfg.config; }; systemd.services.rshim = { diff --git a/nixos/modules/services/misc/safeeyes.nix b/nixos/modules/services/misc/safeeyes.nix index 1d225e4b39d93..c3c8d7b8a3ff6 100644 --- a/nixos/modules/services/misc/safeeyes.nix +++ b/nixos/modules/services/misc/safeeyes.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.safeeyes; @@ -29,7 +34,7 @@ in description = "Safeeyes"; wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; startLimitIntervalSec = 350; startLimitBurst = 10; diff --git a/nixos/modules/services/misc/serviio.nix b/nixos/modules/services/misc/serviio.nix index 60b6113c5e090..4553a125418e0 100644 --- a/nixos/modules/services/misc/serviio.nix +++ b/nixos/modules/services/misc/serviio.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.serviio; @@ -19,7 +24,8 @@ let exec ${pkgs.jre}/bin/java -Xmx512M -Xms20M -XX:+UseG1GC -XX:GCTimeRatio=1 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 $JAVA_OPTS -classpath "$SERVIIO_CLASS_PATH" org.serviio.MediaServer "$@" ''; -in { +in +{ ###### interface options = { @@ -60,19 +66,19 @@ in { }; }; - users.users.serviio = - { group = "serviio"; - home = cfg.dataDir; - description = "Serviio Media Server User"; - createHome = true; - isSystemUser = true; - }; + users.users.serviio = { + group = "serviio"; + home = cfg.dataDir; + description = "Serviio Media Server User"; + createHome = true; + isSystemUser = true; + }; users.groups.serviio = { }; networking.firewall = { allowedTCPPorts = [ - 8895 # serve UPnP responses + 8895 # serve UPnP responses 23423 # console 23424 # mediabrowser ]; diff --git a/nixos/modules/services/misc/sickbeard.nix b/nixos/modules/services/misc/sickbeard.nix index 237abf7185a32..7c6205c7793ac 100644 --- a/nixos/modules/services/misc/sickbeard.nix +++ b/nixos/modules/services/misc/sickbeard.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let name = "sickbeard"; @@ -55,7 +61,6 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -76,7 +81,7 @@ in systemd.services.sickbeard = { description = "Sickbeard Server"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { diff --git a/nixos/modules/services/misc/signald.nix b/nixos/modules/services/misc/signald.nix index 8a4ce1cc17b63..90b1844019174 100644 --- a/nixos/modules/services/misc/signald.nix +++ b/nixos/modules/services/misc/signald.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.signald; dataDir = "/var/lib/signald"; @@ -89,12 +94,19 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources @setuid @keyring" + ]; TemporaryFileSystem = "/:ro"; # Does not work well with the temporary root #UMask = "0066"; diff --git a/nixos/modules/services/misc/siproxd.nix b/nixos/modules/services/misc/siproxd.nix index f941ded123957..822fc7b8d4806 100644 --- a/nixos/modules/services/misc/siproxd.nix +++ b/nixos/modules/services/misc/siproxd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.siproxd; @@ -14,9 +19,15 @@ let rtp_port_high = ${toString cfg.rtpPortHigh} rtp_dscp = ${toString cfg.rtpDscp} sip_dscp = ${toString cfg.sipDscp} - ${lib.optionalString (cfg.hostsAllowReg != []) "hosts_allow_reg = ${lib.concatStringsSep "," cfg.hostsAllowReg}"} - ${lib.optionalString (cfg.hostsAllowSip != []) "hosts_allow_sip = ${lib.concatStringsSep "," cfg.hostsAllowSip}"} - ${lib.optionalString (cfg.hostsDenySip != []) "hosts_deny_sip = ${lib.concatStringsSep "," cfg.hostsDenySip}"} + ${lib.optionalString ( + cfg.hostsAllowReg != [ ] + ) "hosts_allow_reg = ${lib.concatStringsSep "," cfg.hostsAllowReg}"} + ${lib.optionalString ( + cfg.hostsAllowSip != [ ] + ) "hosts_allow_sip = ${lib.concatStringsSep "," cfg.hostsAllowSip}"} + ${lib.optionalString ( + cfg.hostsDenySip != [ ] + ) "hosts_deny_sip = ${lib.concatStringsSep "," cfg.hostsDenySip}"} ${lib.optionalString (cfg.passwordFile != "") "proxy_auth_pwfile = ${cfg.passwordFile}"} ${cfg.extraConfig} ''; @@ -55,7 +66,10 @@ in hostsAllowReg = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "192.168.1.0/24" "192.168.2.0/24" ]; + example = [ + "192.168.1.0/24" + "192.168.2.0/24" + ]; description = '' Access control list for incoming SIP registrations. ''; @@ -64,7 +78,10 @@ in hostsAllowSip = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "123.45.0.0/16" "123.46.0.0/16" ]; + example = [ + "123.45.0.0/16" + "123.46.0.0/16" + ]; description = '' Access control list for incoming SIP traffic. ''; @@ -73,7 +90,10 @@ in hostsDenySip = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "10.0.0.0/8" "11.0.0.0/8" ]; + example = [ + "10.0.0.0/8" + "11.0.0.0/8" + ]; description = '' Access control list for denying incoming SIP registrations and traffic. @@ -92,7 +112,7 @@ in type = lib.types.int; default = 7070; description = '' - Bottom of UDP port range for incoming and outgoing RTP traffic + Bottom of UDP port range for incoming and outgoing RTP traffic ''; }; @@ -100,7 +120,7 @@ in type = lib.types.int; default = 7089; description = '' - Top of UDP port range for incoming and outgoing RTP traffic + Top of UDP port range for incoming and outgoing RTP traffic ''; }; diff --git a/nixos/modules/services/misc/soft-serve.nix b/nixos/modules/services/misc/soft-serve.nix index 9a3fb1af9b813..e9719c02e41e6 100644 --- a/nixos/modules/services/misc/soft-serve.nix +++ b/nixos/modules/services/misc/soft-serve.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.soft-serve; configFile = format.generate "config.yaml" cfg.settings; @@ -76,7 +81,11 @@ in ProtectKernelModules = true; ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; LockPersonality = true; MemoryDenyWriteExecute = true; diff --git a/nixos/modules/services/misc/sonarr.nix b/nixos/modules/services/misc/sonarr.nix index b147bf9e69f49..65f43df08312e 100644 --- a/nixos/modules/services/misc/sonarr.nix +++ b/nixos/modules/services/misc/sonarr.nix @@ -1,4 +1,10 @@ -{ config, pkgs, lib, utils, ... }: +{ + config, + pkgs, + lib, + utils, + ... +}: let cfg = config.services.sonarr; in diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix index 94a96dba6790f..ebce033fd55c1 100644 --- a/nixos/modules/services/misc/sourcehut/default.nix +++ b/nixos/modules/services/misc/sourcehut/default.nix @@ -1,59 +1,113 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let inherit (builtins) head tail; inherit (lib) generators maintainers types; - inherit (lib.attrsets) attrValues filterAttrs mapAttrs mapAttrsToList recursiveUpdate; + inherit (lib.attrsets) + attrValues + filterAttrs + mapAttrs + mapAttrsToList + recursiveUpdate + ; inherit (lib.lists) flatten optional optionals; - inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption; - inherit (lib.strings) concatMapStringsSep concatStringsSep optionalString versionOlder; + inherit (lib.options) + literalExpression + mkEnableOption + mkOption + mkPackageOption + ; + inherit (lib.strings) + concatMapStringsSep + concatStringsSep + optionalString + versionOlder + ; inherit (lib.trivial) mapNullable; - inherit (lib.modules) mkBefore mkDefault mkForce mkIf mkMerge - mkRemovedOptionModule mkRenamedOptionModule; - inherit (config.services) nginx postfix postgresql redis; + inherit (lib.modules) + mkBefore + mkDefault + mkForce + mkIf + mkMerge + mkRemovedOptionModule + mkRenamedOptionModule + ; + inherit (config.services) + nginx + postfix + postgresql + redis + ; inherit (config.users) users groups; cfg = config.services.sourcehut; domain = cfg.settings."sr.ht".global-domain; settingsFormat = pkgs.formats.ini { - listToValue = concatMapStringsSep "," (generators.mkValueStringDefault {}); - mkKeyValue = k: v: - optionalString (v != null) - (generators.mkKeyValueDefault { - mkValueString = v: - if v == true then "yes" - else if v == false then "no" - else generators.mkValueStringDefault {} v; - } "=" k v); + listToValue = concatMapStringsSep "," (generators.mkValueStringDefault { }); + mkKeyValue = + k: v: + optionalString (v != null) ( + generators.mkKeyValueDefault { + mkValueString = + v: + if v == true then + "yes" + else if v == false then + "no" + else + generators.mkValueStringDefault { } v; + } "=" k v + ); }; - configIniOfService = srv: settingsFormat.generate "sourcehut-${srv}-config.ini" - # Each service needs access to only a subset of sections (and secrets). - (filterAttrs (k: v: v != null) - (mapAttrs (section: v: - let srvMatch = builtins.match "^([a-z]*)\\.sr\\.ht(::.*)?$" section; in - if srvMatch == null # Include sections shared by all services - || head srvMatch == srv # Include sections for the service being configured - then v - # Enable Web links and integrations between services. - else if tail srvMatch == [ null ] && cfg.${head srvMatch}.enable - then { - inherit (v) origin; - # mansrht crashes without it - oauth-client-id = v.oauth-client-id or null; - } - # Drop sub-sections of other services - else null) - (recursiveUpdate cfg.settings { - # Those paths are mounted using BindPaths= or BindReadOnlyPaths= - # for services needing access to them. - "builds.sr.ht::worker".buildlogs = "/var/log/sourcehut/buildsrht-worker"; - "git.sr.ht".post-update-script = "/usr/bin/gitsrht-update-hook"; - "git.sr.ht".repos = cfg.settings."git.sr.ht".repos; - "hg.sr.ht".changegroup-script = "/usr/bin/hgsrht-hook-changegroup"; - "hg.sr.ht".repos = cfg.settings."hg.sr.ht".repos; - # Making this a per service option despite being in a global section, - # so that it uses the redis-server used by the service. - "sr.ht".redis-host = cfg.${srv}.redis.host; - }))); + configIniOfService = + srv: + settingsFormat.generate "sourcehut-${srv}-config.ini" + # Each service needs access to only a subset of sections (and secrets). + ( + filterAttrs (k: v: v != null) ( + mapAttrs + ( + section: v: + let + srvMatch = builtins.match "^([a-z]*)\\.sr\\.ht(::.*)?$" section; + in + if + srvMatch == null # Include sections shared by all services + || head srvMatch == srv # Include sections for the service being configured + then + v + # Enable Web links and integrations between services. + else if tail srvMatch == [ null ] && cfg.${head srvMatch}.enable then + { + inherit (v) origin; + # mansrht crashes without it + oauth-client-id = v.oauth-client-id or null; + } + # Drop sub-sections of other services + else + null + ) + ( + recursiveUpdate cfg.settings { + # Those paths are mounted using BindPaths= or BindReadOnlyPaths= + # for services needing access to them. + "builds.sr.ht::worker".buildlogs = "/var/log/sourcehut/buildsrht-worker"; + "git.sr.ht".post-update-script = "/usr/bin/gitsrht-update-hook"; + "git.sr.ht".repos = cfg.settings."git.sr.ht".repos; + "hg.sr.ht".changegroup-script = "/usr/bin/hgsrht-hook-changegroup"; + "hg.sr.ht".repos = cfg.settings."hg.sr.ht".repos; + # Making this a per service option despite being in a global section, + # so that it uses the redis-server used by the service. + "sr.ht".redis-host = cfg.${srv}.redis.host; + } + ) + ) + ); commonServiceSettings = srv: { origin = mkOption { description = "URL ${srv}.sr.ht is being served at (protocol://domain)"; @@ -76,7 +130,9 @@ let type = types.str; default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql"; }; - migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { default = true; }; + migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { + default = true; + }; oauth-client-id = mkOption { description = "${srv}.sr.ht's OAuth client id for meta.sr.ht."; type = types.str; @@ -97,30 +153,34 @@ let }; # Specialized python containing all the modules - python = pkgs.sourcehut.python.withPackages (ps: with ps; [ - gunicorn - eventlet - # For monitoring Celery: sudo -u listssrht celery --app listssrht.process -b redis+socket:///run/redis-sourcehut/redis.sock?virtual_host=1 flower - flower - # Sourcehut services - srht - buildsrht - gitsrht - hgsrht - hubsrht - listssrht - mansrht - metasrht - # Not a python package - #pagessrht - pastesrht - todosrht - ]); - mkOptionNullOrStr = description: mkOption { - description = description; - type = with types; nullOr str; - default = null; - }; + python = pkgs.sourcehut.python.withPackages ( + ps: with ps; [ + gunicorn + eventlet + # For monitoring Celery: sudo -u listssrht celery --app listssrht.process -b redis+socket:///run/redis-sourcehut/redis.sock?virtual_host=1 flower + flower + # Sourcehut services + srht + buildsrht + gitsrht + hgsrht + hubsrht + listssrht + mansrht + metasrht + # Not a python package + #pagessrht + pastesrht + todosrht + ] + ); + mkOptionNullOrStr = + description: + mkOption { + description = description; + type = with types; nullOr str; + default = null; + }; in { options.services.sourcehut = { @@ -153,7 +213,7 @@ in enable = mkEnableOption ''local nginx integration''; virtualHost = mkOption { type = types.attrs; - default = {}; + default = { }; description = "Virtual-host configuration merged with all Sourcehut's virtual-hosts."; }; }; @@ -181,7 +241,10 @@ in }; environment = mkOption { description = "Values other than \"production\" adds a banner to each page."; - type = types.enum [ "development" "production" ]; + type = types.enum [ + "development" + "production" + ]; default = "development"; }; network-key = mkOption { @@ -323,7 +386,10 @@ in If master and worker are on the same system set to `/usr/bin/runner-shell`. ''; - type = types.enum ["/usr/bin/master-shell" "/usr/bin/runner-shell"]; + type = types.enum [ + "/usr/bin/master-shell" + "/usr/bin/runner-shell" + ]; default = "/usr/bin/master-shell"; }; }; @@ -397,7 +463,10 @@ in See [](#opt-services.sourcehut.listenAddress). ''; type = with types; listOf str; - default = [ "127.0.0.0/8" "::1/128" ]; + default = [ + "127.0.0.0/8" + "::1/128" + ]; }; }; @@ -478,7 +547,7 @@ in Uses fnmatch for wildcard expansion. ''; type = with types; listOf str; - default = ["text/html"]; + default = [ "text/html" ]; }; reject-url = mkOption { description = "Reject URL."; @@ -507,15 +576,18 @@ in }; options."meta.sr.ht" = - removeAttrs (commonServiceSettings "meta") - ["oauth-client-id" "oauth-client-secret"] // { - webhooks = mkOption { - description = "The Redis connection used for the webhooks worker."; - type = types.str; - default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1"; + removeAttrs (commonServiceSettings "meta") [ + "oauth-client-id" + "oauth-client-secret" + ] + // { + webhooks = mkOption { + description = "The Redis connection used for the webhooks worker."; + type = types.str; + default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1"; + }; + welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup"; }; - welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup"; - }; options."meta.sr.ht::api" = { internal-ipnet = mkOption { description = '' @@ -525,24 +597,31 @@ in See [](#opt-services.sourcehut.listenAddress). ''; type = with types; listOf str; - default = [ "127.0.0.0/8" "::1/128" ]; + default = [ + "127.0.0.0/8" + "::1/128" + ]; }; }; options."meta.sr.ht::aliases" = mkOption { description = "Aliases for the client IDs of commonly used OAuth clients."; type = with types; attrsOf int; - default = {}; - example = { "git.sr.ht" = 12345; }; + default = { }; + example = { + "git.sr.ht" = 12345; + }; }; options."meta.sr.ht::billing" = { enabled = mkEnableOption "the billing system"; stripe-public-key = mkOptionNullOrStr "Public key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys"; - stripe-secret-key = mkOptionNullOrStr '' - An absolute file path (which should be outside the Nix-store) - to a secret key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys - '' // { - apply = mapNullable (s: "<" + toString s); - }; + stripe-secret-key = + mkOptionNullOrStr '' + An absolute file path (which should be outside the Nix-store) + to a secret key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys + '' + // { + apply = mapNullable (s: "<" + toString s); + }; }; options."meta.sr.ht::settings" = { registration = mkEnableOption "public registration"; @@ -593,7 +672,10 @@ in See [](#opt-services.sourcehut.listenAddress). ''; type = with types; listOf str; - default = [ "127.0.0.0/8" "::1/128" ]; + default = [ + "127.0.0.0/8" + "::1/128" + ]; }; }; @@ -658,21 +740,22 @@ in images = mkOption { type = with types; attrsOf (attrsOf (attrsOf package)); default = { }; - example = lib.literalExpression ''(let - # Pinning unstable to allow usage with flakes and limit rebuilds. - pkgs_unstable = builtins.fetchGit { - url = "https://github.com/NixOS/nixpkgs"; - rev = "ff96a0fa5635770390b184ae74debea75c3fd534"; - ref = "nixos-unstable"; - }; - image_from_nixpkgs = (import ("''${pkgs.sourcehut.buildsrht}/lib/images/nixos/image.nix") { - pkgs = (import pkgs_unstable {}); - }); - in - { - nixos.unstable.x86_64 = image_from_nixpkgs; - } - )''; + example = lib.literalExpression '' + (let + # Pinning unstable to allow usage with flakes and limit rebuilds. + pkgs_unstable = builtins.fetchGit { + url = "https://github.com/NixOS/nixpkgs"; + rev = "ff96a0fa5635770390b184ae74debea75c3fd534"; + ref = "nixos-unstable"; + }; + image_from_nixpkgs = (import ("''${pkgs.sourcehut.buildsrht}/lib/images/nixos/image.nix") { + pkgs = (import pkgs_unstable {}); + }); + in + { + nixos.unstable.x86_64 = image_from_nixpkgs; + } + )''; description = '' Images for builds.sr.ht. Each package should be distro.release.arch and point to a /nix/store/package/root.img.qcow2. ''; @@ -705,7 +788,11 @@ in process = { extraArgs = mkOption { type = with types; listOf str; - default = [ "--loglevel DEBUG" "--pool eventlet" "--without-heartbeat" ]; + default = [ + "--loglevel DEBUG" + "--pool eventlet" + "--without-heartbeat" + ]; description = "Extra arguments passed to the Celery responsible for processing mails."; }; celeryConfig = mkOption { @@ -732,14 +819,16 @@ in } (mkIf cfg.postgresql.enable { assertions = [ - { assertion = postgresql.enable; + { + assertion = postgresql.enable; message = "postgresql must be enabled and configured"; } ]; }) (mkIf cfg.postfix.enable { assertions = [ - { assertion = postfix.enable; + { + assertion = postfix.enable; message = "postfix must be enabled and configured"; } ]; @@ -751,7 +840,8 @@ in }) (mkIf cfg.nginx.enable { assertions = [ - { assertion = nginx.enable; + { + assertion = nginx.enable; message = "nginx must be enabled and configured"; } ]; @@ -777,8 +867,7 @@ in }; environment.etc."ssh/sourcehut/config.ini".source = settingsFormat.generate "sourcehut-dispatch-config.ini" - (filterAttrs (k: v: k == "git.sr.ht::dispatch") - cfg.settings); + (filterAttrs (k: v: k == "git.sr.ht::dispatch") cfg.settings); environment.etc."ssh/sourcehut/subdir/srht-dispatch" = { # sshd_config(5): The program must be owned by root, not writable by group or others mode = "0755"; @@ -789,23 +878,29 @@ in ${pkgs.sourcehut.gitsrht}/bin/gitsrht-dispatch "$@" ''; }; - systemd.tmpfiles.settings."10-sourcehut-gitsrht" = mkIf cfg.git.enable ( - mkMerge [ - (builtins.listToAttrs (map (name: { - name = "/var/log/sourcehut/gitsrht-${name}"; - value.f = { - inherit (cfg.git) user group; - mode = "0644"; - }; - }) [ "keys" "shell" "update-hook" ])) - { - ${cfg.settings."git.sr.ht".repos}.d = { - inherit (cfg.git) user group; - mode = "0644"; - }; - } - ] - ); + systemd.tmpfiles.settings."10-sourcehut-gitsrht" = mkIf cfg.git.enable (mkMerge [ + (builtins.listToAttrs ( + map + (name: { + name = "/var/log/sourcehut/gitsrht-${name}"; + value.f = { + inherit (cfg.git) user group; + mode = "0644"; + }; + }) + [ + "keys" + "shell" + "update-hook" + ] + )) + { + ${cfg.settings."git.sr.ht".repos}.d = { + inherit (cfg.git) user group; + mode = "0644"; + }; + } + ]); systemd.services.sshd = { preStart = mkIf cfg.hg.enable '' chown ${cfg.hg.user}:${cfg.hg.group} /var/log/sourcehut/hgsrht-keys @@ -828,8 +923,8 @@ in ''}:/usr/bin/buildsrht-keys" "${pkgs.sourcehut.buildsrht}/bin/master-shell:/usr/bin/master-shell" "${pkgs.sourcehut.buildsrht}/bin/runner-shell:/usr/bin/runner-shell" - ] ++ - optionals cfg.git.enable [ + ] + ++ optionals cfg.git.enable [ # /path/to/gitsrht-keys calls /path/to/gitsrht-shell, # or [git.sr.ht] shell= if set. "${pkgs.writeShellScript "gitsrht-keys-wrapper" '' @@ -858,8 +953,8 @@ in exec -a "$0" ${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook "$@" fi ''}:/usr/bin/gitsrht-update-hook" - ] ++ - optionals cfg.hg.enable [ + ] + ++ optionals cfg.hg.enable [ # /path/to/hgsrht-keys calls /path/to/hgsrht-shell, # or [hg.sr.ht] shell= if set. "${pkgs.writeShellScript "hgsrht-keys-wrapper" '' @@ -895,336 +990,394 @@ in extraServices.buildsrht-api = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.buildsrht}/bin/buildsrht-api -b ${cfg.listenAddress}:${toString (cfg.builds.port + 100)}"; + serviceConfig.ExecStart = "${pkgs.sourcehut.buildsrht}/bin/buildsrht-api -b ${cfg.listenAddress}:${ + toString (cfg.builds.port + 100) + }"; }; # TODO: a celery worker on the master and worker are apparently needed - extraServices.buildsrht-worker = let - qemuPackage = pkgs.qemu_kvm; - serviceName = "buildsrht-worker"; - statePath = "/var/lib/sourcehut/${serviceName}"; - in mkIf cfg.builds.enableWorker { - path = [ pkgs.openssh pkgs.docker ]; - preStart = '' - set -x - if test -z "$(docker images -q qemu:latest 2>/dev/null)" \ - || test "$(cat ${statePath}/docker-image-qemu)" != "${qemuPackage.version}" - then - # Create and import qemu:latest image for docker - ${pkgs.dockerTools.streamLayeredImage { - name = "qemu"; - tag = "latest"; - contents = [ qemuPackage ]; - }} | docker load - # Mark down current package version - echo '${qemuPackage.version}' >${statePath}/docker-image-qemu - fi - ''; - serviceConfig = { - ExecStart = "${pkgs.sourcehut.buildsrht}/bin/buildsrht-worker"; - BindPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ]; - LogsDirectory = [ "sourcehut/${serviceName}" ]; - RuntimeDirectory = [ "sourcehut/${serviceName}/subdir" ]; - StateDirectory = [ "sourcehut/${serviceName}" ]; - TimeoutStartSec = "1800s"; - # buildsrht-worker looks up ../config.ini - WorkingDirectory = "-"+"/run/sourcehut/${serviceName}/subdir"; + extraServices.buildsrht-worker = + let + qemuPackage = pkgs.qemu_kvm; + serviceName = "buildsrht-worker"; + statePath = "/var/lib/sourcehut/${serviceName}"; + in + mkIf cfg.builds.enableWorker { + path = [ + pkgs.openssh + pkgs.docker + ]; + preStart = '' + set -x + if test -z "$(docker images -q qemu:latest 2>/dev/null)" \ + || test "$(cat ${statePath}/docker-image-qemu)" != "${qemuPackage.version}" + then + # Create and import qemu:latest image for docker + ${ + pkgs.dockerTools.streamLayeredImage { + name = "qemu"; + tag = "latest"; + contents = [ qemuPackage ]; + } + } | docker load + # Mark down current package version + echo '${qemuPackage.version}' >${statePath}/docker-image-qemu + fi + ''; + serviceConfig = { + ExecStart = "${pkgs.sourcehut.buildsrht}/bin/buildsrht-worker"; + BindPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ]; + LogsDirectory = [ "sourcehut/${serviceName}" ]; + RuntimeDirectory = [ "sourcehut/${serviceName}/subdir" ]; + StateDirectory = [ "sourcehut/${serviceName}" ]; + TimeoutStartSec = "1800s"; + # buildsrht-worker looks up ../config.ini + WorkingDirectory = "-" + "/run/sourcehut/${serviceName}/subdir"; + }; }; - }; - extraConfig = let - image_dirs = flatten ( - mapAttrsToList (distro: revs: - mapAttrsToList (rev: archs: - mapAttrsToList (arch: image: - pkgs.runCommand "buildsrht-images" { } '' - mkdir -p $out/${distro}/${rev}/${arch} - ln -s ${image}/*.qcow2 $out/${distro}/${rev}/${arch}/root.img.qcow2 - '' - ) archs - ) revs - ) cfg.builds.images - ); - image_dir_pre = pkgs.symlinkJoin { - name = "buildsrht-worker-images-pre"; - paths = image_dirs; + extraConfig = + let + image_dirs = flatten ( + mapAttrsToList ( + distro: revs: + mapAttrsToList ( + rev: archs: + mapAttrsToList ( + arch: image: + pkgs.runCommand "buildsrht-images" { } '' + mkdir -p $out/${distro}/${rev}/${arch} + ln -s ${image}/*.qcow2 $out/${distro}/${rev}/${arch}/root.img.qcow2 + '' + ) archs + ) revs + ) cfg.builds.images + ); + image_dir_pre = pkgs.symlinkJoin { + name = "buildsrht-worker-images-pre"; + paths = image_dirs; # FIXME: not working, apparently because ubuntu/latest is a broken link # ++ [ "${pkgs.sourcehut.buildsrht}/lib/images" ]; - }; - image_dir = pkgs.runCommand "buildsrht-worker-images" { } '' - mkdir -p $out/images - cp -Lr ${image_dir_pre}/* $out/images - ''; - in mkMerge [ - { - users.users.${cfg.builds.user}.shell = pkgs.bash; + }; + image_dir = pkgs.runCommand "buildsrht-worker-images" { } '' + mkdir -p $out/images + cp -Lr ${image_dir_pre}/* $out/images + ''; + in + mkMerge [ + { + users.users.${cfg.builds.user}.shell = pkgs.bash; - virtualisation.docker.enable = true; + virtualisation.docker.enable = true; - services.sourcehut.settings = mkMerge [ - { # Note that git.sr.ht::dispatch is not a typo, - # gitsrht-dispatch always use this section - "git.sr.ht::dispatch"."/usr/bin/buildsrht-keys" = - mkDefault "${cfg.builds.user}:${cfg.builds.group}"; - } - (mkIf cfg.builds.enableWorker { - "builds.sr.ht::worker".shell = "/usr/bin/runner-shell"; - "builds.sr.ht::worker".images = mkDefault "${image_dir}/images"; - "builds.sr.ht::worker".controlcmd = mkDefault "${image_dir}/images/control"; - }) - ]; - } - (mkIf cfg.builds.enableWorker { - users.groups = { - docker.members = [ cfg.builds.user ]; - }; - }) - (mkIf (cfg.builds.enableWorker && cfg.nginx.enable) { - # Allow nginx access to buildlogs - users.users.${nginx.user}.extraGroups = [ cfg.builds.group ]; - systemd.services.nginx = { - serviceConfig.BindReadOnlyPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ]; - }; - services.nginx.virtualHosts."logs.${domain}" = mkMerge [ { - /* FIXME: is a listen needed? - listen = with builtins; - # FIXME: not compatible with IPv6 - let address = split ":" cfg.settings."builds.sr.ht::worker".name; in - [{ addr = elemAt address 0; port = lib.toInt (elemAt address 2); }]; - */ - locations."/logs/".alias = cfg.settings."builds.sr.ht::worker".buildlogs + "/"; - } cfg.nginx.virtualHost ]; - }) - ]; + services.sourcehut.settings = mkMerge [ + { + # Note that git.sr.ht::dispatch is not a typo, + # gitsrht-dispatch always use this section + "git.sr.ht::dispatch"."/usr/bin/buildsrht-keys" = + mkDefault "${cfg.builds.user}:${cfg.builds.group}"; + } + (mkIf cfg.builds.enableWorker { + "builds.sr.ht::worker".shell = "/usr/bin/runner-shell"; + "builds.sr.ht::worker".images = mkDefault "${image_dir}/images"; + "builds.sr.ht::worker".controlcmd = mkDefault "${image_dir}/images/control"; + }) + ]; + } + (mkIf cfg.builds.enableWorker { + users.groups = { + docker.members = [ cfg.builds.user ]; + }; + }) + (mkIf (cfg.builds.enableWorker && cfg.nginx.enable) { + # Allow nginx access to buildlogs + users.users.${nginx.user}.extraGroups = [ cfg.builds.group ]; + systemd.services.nginx = { + serviceConfig.BindReadOnlyPaths = [ cfg.settings."builds.sr.ht::worker".buildlogs ]; + }; + services.nginx.virtualHosts."logs.${domain}" = mkMerge [ + { + /* + FIXME: is a listen needed? + listen = with builtins; + # FIXME: not compatible with IPv6 + let address = split ":" cfg.settings."builds.sr.ht::worker".name; in + [{ addr = elemAt address 0; port = lib.toInt (elemAt address 2); }]; + */ + locations."/logs/".alias = cfg.settings."builds.sr.ht::worker".buildlogs + "/"; + } + cfg.nginx.virtualHost + ]; + }) + ]; }) - (import ./service.nix "git" (let - baseService = { - path = [ cfg.git.package ]; - serviceConfig.BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; - }; - in { - inherit configIniOfService; - mainService = mkMerge [ baseService { - serviceConfig.StateDirectory = [ "sourcehut/gitsrht" "sourcehut/gitsrht/repos" ]; - preStart = mkIf (versionOlder config.system.stateVersion "22.05") (mkBefore '' - # Fix Git hooks of repositories pre-dating https://github.com/NixOS/nixpkgs/pull/133984 - ( - set +f - shopt -s nullglob - for h in /var/lib/sourcehut/gitsrht/repos/~*/*/hooks/{pre-receive,update,post-update} - do ln -fnsv /usr/bin/gitsrht-update-hook "$h"; done - ) - ''); - } ]; - port = 5001; - webhooks = true; - extraTimers.gitsrht-periodic = { - service = baseService; - timerConfig.OnCalendar = ["*:0/20"]; - }; - extraConfig = mkMerge [ - { - # https://stackoverflow.com/questions/22314298/git-push-results-in-fatal-protocol-error-bad-line-length-character-this - # Probably could use gitsrht-shell if output is restricted to just parameters... - users.users.${cfg.git.user}.shell = pkgs.bash; - services.sourcehut.settings = { - "git.sr.ht::dispatch"."/usr/bin/gitsrht-keys" = - mkDefault "${cfg.git.user}:${cfg.git.group}"; - }; - systemd.services.sshd = baseService; - } - (mkIf cfg.nginx.enable { - services.nginx.virtualHosts."git.${domain}" = { - locations."/authorize" = { - proxyPass = "http://${cfg.listenAddress}:${toString cfg.git.port}"; - extraConfig = '' - proxy_pass_request_body off; - proxy_set_header Content-Length ""; - proxy_set_header X-Original-URI $request_uri; - ''; + (import ./service.nix "git" ( + let + baseService = { + path = [ cfg.git.package ]; + serviceConfig.BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; + }; + in + { + inherit configIniOfService; + mainService = mkMerge [ + baseService + { + serviceConfig.StateDirectory = [ + "sourcehut/gitsrht" + "sourcehut/gitsrht/repos" + ]; + preStart = mkIf (versionOlder config.system.stateVersion "22.05") (mkBefore '' + # Fix Git hooks of repositories pre-dating https://github.com/NixOS/nixpkgs/pull/133984 + ( + set +f + shopt -s nullglob + for h in /var/lib/sourcehut/gitsrht/repos/~*/*/hooks/{pre-receive,update,post-update} + do ln -fnsv /usr/bin/gitsrht-update-hook "$h"; done + ) + ''); + } + ]; + port = 5001; + webhooks = true; + extraTimers.gitsrht-periodic = { + service = baseService; + timerConfig.OnCalendar = [ "*:0/20" ]; + }; + extraConfig = mkMerge [ + { + # https://stackoverflow.com/questions/22314298/git-push-results-in-fatal-protocol-error-bad-line-length-character-this + # Probably could use gitsrht-shell if output is restricted to just parameters... + users.users.${cfg.git.user}.shell = pkgs.bash; + services.sourcehut.settings = { + "git.sr.ht::dispatch"."/usr/bin/gitsrht-keys" = mkDefault "${cfg.git.user}:${cfg.git.group}"; }; - locations."~ ^/([^/]+)/([^/]+)/(HEAD|info/refs|objects/info/.*|git-upload-pack).*$" = { - root = "/var/lib/sourcehut/gitsrht/repos"; - fastcgiParams = { - GIT_HTTP_EXPORT_ALL = ""; - GIT_PROJECT_ROOT = "$document_root"; - PATH_INFO = "$uri"; - SCRIPT_FILENAME = "${cfg.git.package}/bin/git-http-backend"; + systemd.services.sshd = baseService; + } + (mkIf cfg.nginx.enable { + services.nginx.virtualHosts."git.${domain}" = { + locations."/authorize" = { + proxyPass = "http://${cfg.listenAddress}:${toString cfg.git.port}"; + extraConfig = '' + proxy_pass_request_body off; + proxy_set_header Content-Length ""; + proxy_set_header X-Original-URI $request_uri; + ''; + }; + locations."~ ^/([^/]+)/([^/]+)/(HEAD|info/refs|objects/info/.*|git-upload-pack).*$" = { + root = "/var/lib/sourcehut/gitsrht/repos"; + fastcgiParams = { + GIT_HTTP_EXPORT_ALL = ""; + GIT_PROJECT_ROOT = "$document_root"; + PATH_INFO = "$uri"; + SCRIPT_FILENAME = "${cfg.git.package}/bin/git-http-backend"; + }; + extraConfig = '' + auth_request /authorize; + fastcgi_read_timeout 500s; + fastcgi_pass unix:/run/gitsrht-fcgiwrap.sock; + gzip off; + ''; }; - extraConfig = '' - auth_request /authorize; - fastcgi_read_timeout 500s; - fastcgi_pass unix:/run/gitsrht-fcgiwrap.sock; - gzip off; - ''; }; + systemd.sockets.gitsrht-fcgiwrap = { + before = [ "nginx.service" ]; + wantedBy = [ + "sockets.target" + "gitsrht.service" + ]; + # This path remains accessible to nginx.service, which has no RootDirectory= + socketConfig.ListenStream = "/run/gitsrht-fcgiwrap.sock"; + socketConfig.SocketUser = nginx.user; + socketConfig.SocketMode = "600"; + }; + }) + ]; + extraServices.gitsrht-api.serviceConfig = { + Restart = "always"; + RestartSec = "5s"; + ExecStart = "${pkgs.sourcehut.gitsrht}/bin/gitsrht-api -b ${cfg.listenAddress}:${toString (cfg.git.port + 100)}"; + BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; + }; + extraServices.gitsrht-fcgiwrap = mkIf cfg.nginx.enable { + serviceConfig = { + # Socket is passed by gitsrht-fcgiwrap.socket + ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${toString cfg.git.fcgiwrap.preforkProcess}"; + # No need for config.ini + ExecStartPre = mkForce [ ]; + User = null; + DynamicUser = true; + BindReadOnlyPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; + IPAddressDeny = "any"; + InaccessiblePaths = [ + "-+/run/postgresql" + "-+/run/redis-sourcehut" + ]; + PrivateNetwork = true; + RestrictAddressFamilies = mkForce [ "none" ]; + SystemCallFilter = mkForce [ + "@system-service" + "~@aio" + "~@keyring" + "~@memlock" + "~@privileged" + "~@resources" + "~@setuid" + # @timer is needed for alarm() + ]; }; - systemd.sockets.gitsrht-fcgiwrap = { - before = [ "nginx.service" ]; - wantedBy = [ "sockets.target" "gitsrht.service" ]; - # This path remains accessible to nginx.service, which has no RootDirectory= - socketConfig.ListenStream = "/run/gitsrht-fcgiwrap.sock"; - socketConfig.SocketUser = nginx.user; - socketConfig.SocketMode = "600"; - }; - }) - ]; - extraServices.gitsrht-api.serviceConfig = { - Restart = "always"; - RestartSec = "5s"; - ExecStart = "${pkgs.sourcehut.gitsrht}/bin/gitsrht-api -b ${cfg.listenAddress}:${toString (cfg.git.port + 100)}"; - BindPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; - }; - extraServices.gitsrht-fcgiwrap = mkIf cfg.nginx.enable { - serviceConfig = { - # Socket is passed by gitsrht-fcgiwrap.socket - ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${toString cfg.git.fcgiwrap.preforkProcess}"; - # No need for config.ini - ExecStartPre = mkForce []; - User = null; - DynamicUser = true; - BindReadOnlyPaths = [ "${cfg.settings."git.sr.ht".repos}:/var/lib/sourcehut/gitsrht/repos" ]; - IPAddressDeny = "any"; - InaccessiblePaths = [ "-+/run/postgresql" "-+/run/redis-sourcehut" ]; - PrivateNetwork = true; - RestrictAddressFamilies = mkForce [ "none" ]; - SystemCallFilter = mkForce [ - "@system-service" - "~@aio" "~@keyring" "~@memlock" "~@privileged" "~@resources" "~@setuid" - # @timer is needed for alarm() - ]; }; - }; - })) + } + )) - (import ./service.nix "hg" (let - baseService = { - path = [ cfg.hg.package ]; - serviceConfig.BindPaths = [ "${cfg.settings."hg.sr.ht".repos}:/var/lib/sourcehut/hgsrht/repos" ]; - }; - in { - inherit configIniOfService; - mainService = mkMerge [ baseService { - serviceConfig.StateDirectory = [ "sourcehut/hgsrht" "sourcehut/hgsrht/repos" ]; - } ]; - port = 5010; - webhooks = true; - extraTimers.hgsrht-periodic = { - service = baseService; - timerConfig.OnCalendar = ["*:0/20"]; - }; - extraTimers.hgsrht-clonebundles = mkIf cfg.hg.cloneBundles { - service = baseService; - timerConfig.OnCalendar = ["daily"]; - timerConfig.AccuracySec = "1h"; - }; - extraServices.hgsrht-api = { - serviceConfig.Restart = "always"; - serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.hgsrht}/bin/hgsrht-api -b ${cfg.listenAddress}:${toString (cfg.hg.port + 100)}"; - }; - extraConfig = mkMerge [ - { - users.users.${cfg.hg.user}.shell = pkgs.bash; - services.sourcehut.settings = { - # Note that git.sr.ht::dispatch is not a typo, - # gitsrht-dispatch always uses this section. - "git.sr.ht::dispatch"."/usr/bin/hgsrht-keys" = - mkDefault "${cfg.hg.user}:${cfg.hg.group}"; - }; - systemd.services.sshd = baseService; - } - (mkIf cfg.nginx.enable { - # Allow nginx access to repositories - users.users.${nginx.user}.extraGroups = [ cfg.hg.group ]; - services.nginx.virtualHosts."hg.${domain}" = { - locations."/authorize" = { - proxyPass = "http://${cfg.listenAddress}:${toString cfg.hg.port}"; - extraConfig = '' - proxy_pass_request_body off; - proxy_set_header Content-Length ""; - proxy_set_header X-Original-URI $request_uri; - ''; + (import ./service.nix "hg" ( + let + baseService = { + path = [ cfg.hg.package ]; + serviceConfig.BindPaths = [ "${cfg.settings."hg.sr.ht".repos}:/var/lib/sourcehut/hgsrht/repos" ]; + }; + in + { + inherit configIniOfService; + mainService = mkMerge [ + baseService + { + serviceConfig.StateDirectory = [ + "sourcehut/hgsrht" + "sourcehut/hgsrht/repos" + ]; + } + ]; + port = 5010; + webhooks = true; + extraTimers.hgsrht-periodic = { + service = baseService; + timerConfig.OnCalendar = [ "*:0/20" ]; + }; + extraTimers.hgsrht-clonebundles = mkIf cfg.hg.cloneBundles { + service = baseService; + timerConfig.OnCalendar = [ "daily" ]; + timerConfig.AccuracySec = "1h"; + }; + extraServices.hgsrht-api = { + serviceConfig.Restart = "always"; + serviceConfig.RestartSec = "5s"; + serviceConfig.ExecStart = "${pkgs.sourcehut.hgsrht}/bin/hgsrht-api -b ${cfg.listenAddress}:${toString (cfg.hg.port + 100)}"; + }; + extraConfig = mkMerge [ + { + users.users.${cfg.hg.user}.shell = pkgs.bash; + services.sourcehut.settings = { + # Note that git.sr.ht::dispatch is not a typo, + # gitsrht-dispatch always uses this section. + "git.sr.ht::dispatch"."/usr/bin/hgsrht-keys" = mkDefault "${cfg.hg.user}:${cfg.hg.group}"; }; - # Let clients reach pull bundles. We don't really need to lock this down even for - # private repos because the bundles are named after the revision hashes... - # so someone would need to know or guess a SHA value to download anything. - # TODO: proxyPass to an hg serve service? - locations."~ ^/[~^][a-z0-9_]+/[a-zA-Z0-9_.-]+/\\.hg/bundles/.*$" = { - root = "/var/lib/nginx/hgsrht/repos"; - extraConfig = '' - auth_request /authorize; - gzip off; - ''; + systemd.services.sshd = baseService; + } + (mkIf cfg.nginx.enable { + # Allow nginx access to repositories + users.users.${nginx.user}.extraGroups = [ cfg.hg.group ]; + services.nginx.virtualHosts."hg.${domain}" = { + locations."/authorize" = { + proxyPass = "http://${cfg.listenAddress}:${toString cfg.hg.port}"; + extraConfig = '' + proxy_pass_request_body off; + proxy_set_header Content-Length ""; + proxy_set_header X-Original-URI $request_uri; + ''; + }; + # Let clients reach pull bundles. We don't really need to lock this down even for + # private repos because the bundles are named after the revision hashes... + # so someone would need to know or guess a SHA value to download anything. + # TODO: proxyPass to an hg serve service? + locations."~ ^/[~^][a-z0-9_]+/[a-zA-Z0-9_.-]+/\\.hg/bundles/.*$" = { + root = "/var/lib/nginx/hgsrht/repos"; + extraConfig = '' + auth_request /authorize; + gzip off; + ''; + }; }; - }; - systemd.services.nginx = { - serviceConfig.BindReadOnlyPaths = [ "${cfg.settings."hg.sr.ht".repos}:/var/lib/nginx/hgsrht/repos" ]; - }; - }) - ]; - })) + systemd.services.nginx = { + serviceConfig.BindReadOnlyPaths = [ + "${cfg.settings."hg.sr.ht".repos}:/var/lib/nginx/hgsrht/repos" + ]; + }; + }) + ]; + } + )) (import ./service.nix "hub" { inherit configIniOfService; port = 5014; extraConfig = { services.nginx = mkIf cfg.nginx.enable { - virtualHosts."hub.${domain}" = mkMerge [ { - serverAliases = [ domain ]; - } cfg.nginx.virtualHost ]; + virtualHosts."hub.${domain}" = mkMerge [ + { + serverAliases = [ domain ]; + } + cfg.nginx.virtualHost + ]; }; }; }) - (import ./service.nix "lists" (let - srvsrht = "listssrht"; - in { - inherit configIniOfService; - port = 5006; - webhooks = true; - extraServices.listssrht-api = { - serviceConfig.Restart = "always"; - serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.listssrht}/bin/listssrht-api -b ${cfg.listenAddress}:${toString (cfg.lists.port + 100)}"; - }; - # Receive the mail from Postfix and enqueue them into Redis and PostgreSQL - extraServices.listssrht-lmtp = { - wants = [ "postfix.service" ]; - unitConfig.JoinsNamespaceOf = optional cfg.postfix.enable "postfix.service"; - serviceConfig.ExecStart = "${pkgs.sourcehut.listssrht}/bin/listssrht-lmtp"; - # Avoid crashing: os.chown(sock, os.getuid(), sock_gid) - serviceConfig.PrivateUsers = mkForce false; - }; - # Dequeue the mails from Redis and dispatch them - extraServices.listssrht-process = { - serviceConfig = { - preStart = '' - cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" cfg.lists.process.celeryConfig} \ - /run/sourcehut/${srvsrht}-webhooks/celeryconfig.py - ''; - ExecStart = "${cfg.python}/bin/celery --app listssrht.process worker --hostname listssrht-process@%%h " + concatStringsSep " " cfg.lists.process.extraArgs; - # Avoid crashing: os.getloadavg() - ProcSubset = mkForce "all"; + (import ./service.nix "lists" ( + let + srvsrht = "listssrht"; + in + { + inherit configIniOfService; + port = 5006; + webhooks = true; + extraServices.listssrht-api = { + serviceConfig.Restart = "always"; + serviceConfig.RestartSec = "5s"; + serviceConfig.ExecStart = "${pkgs.sourcehut.listssrht}/bin/listssrht-api -b ${cfg.listenAddress}:${ + toString (cfg.lists.port + 100) + }"; }; - }; - extraConfig = mkIf cfg.postfix.enable { - users.groups.${postfix.group}.members = [ cfg.lists.user ]; - services.sourcehut.settings."lists.sr.ht::mail".sock-group = postfix.group; - services.postfix = { - destination = [ "lists.${domain}" ]; - # FIXME: an accurate recipient list should be queried - # from the lists.sr.ht PostgreSQL database to avoid backscattering. - # But usernames are unfortunately not in that database but in meta.sr.ht. - # Note that two syntaxes are allowed: - # - ~username/list-name@lists.${domain} - # - u.username.list-name@lists.${domain} - localRecipients = [ "@lists.${domain}" ]; - transport = '' - lists.${domain} lmtp:unix:${cfg.settings."lists.sr.ht::worker".sock} - ''; + # Receive the mail from Postfix and enqueue them into Redis and PostgreSQL + extraServices.listssrht-lmtp = { + wants = [ "postfix.service" ]; + unitConfig.JoinsNamespaceOf = optional cfg.postfix.enable "postfix.service"; + serviceConfig.ExecStart = "${pkgs.sourcehut.listssrht}/bin/listssrht-lmtp"; + # Avoid crashing: os.chown(sock, os.getuid(), sock_gid) + serviceConfig.PrivateUsers = mkForce false; }; - }; - })) + # Dequeue the mails from Redis and dispatch them + extraServices.listssrht-process = { + serviceConfig = { + preStart = '' + cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" cfg.lists.process.celeryConfig} \ + /run/sourcehut/${srvsrht}-webhooks/celeryconfig.py + ''; + ExecStart = + "${cfg.python}/bin/celery --app listssrht.process worker --hostname listssrht-process@%%h " + + concatStringsSep " " cfg.lists.process.extraArgs; + # Avoid crashing: os.getloadavg() + ProcSubset = mkForce "all"; + }; + }; + extraConfig = mkIf cfg.postfix.enable { + users.groups.${postfix.group}.members = [ cfg.lists.user ]; + services.sourcehut.settings."lists.sr.ht::mail".sock-group = postfix.group; + services.postfix = { + destination = [ "lists.${domain}" ]; + # FIXME: an accurate recipient list should be queried + # from the lists.sr.ht PostgreSQL database to avoid backscattering. + # But usernames are unfortunately not in that database but in meta.sr.ht. + # Note that two syntaxes are allowed: + # - ~username/list-name@lists.${domain} + # - u.username.list-name@lists.${domain} + localRecipients = [ "@lists.${domain}" ]; + transport = '' + lists.${domain} lmtp:unix:${cfg.settings."lists.sr.ht::worker".sock} + ''; + }; + }; + } + )) (import ./service.nix "man" { inherit configIniOfService; @@ -1236,34 +1389,46 @@ in port = 5000; webhooks = true; extraTimers.metasrht-daily.timerConfig = { - OnCalendar = ["daily"]; + OnCalendar = [ "daily" ]; AccuracySec = "1h"; }; extraServices.metasrht-api = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - preStart = "set -x\n" + concatStringsSep "\n\n" (attrValues (mapAttrs (k: s: - let srvMatch = builtins.match "^([a-z]*)\\.sr\\.ht$" k; - srv = head srvMatch; - in - # Configure client(s) as "preauthorized" - optionalString (srvMatch != null && cfg.${srv}.enable && ((s.oauth-client-id or null) != null)) '' - # Configure ${srv}'s OAuth client as "preauthorized" - ${postgresql.package}/bin/psql '${cfg.settings."meta.sr.ht".connection-string}' \ - -c "UPDATE oauthclient SET preauthorized = true WHERE client_id = '${s.oauth-client-id}'" - '' - ) cfg.settings)); + preStart = + "set -x\n" + + concatStringsSep "\n\n" ( + attrValues ( + mapAttrs ( + k: s: + let + srvMatch = builtins.match "^([a-z]*)\\.sr\\.ht$" k; + srv = head srvMatch; + in + # Configure client(s) as "preauthorized" + optionalString (srvMatch != null && cfg.${srv}.enable && ((s.oauth-client-id or null) != null)) '' + # Configure ${srv}'s OAuth client as "preauthorized" + ${postgresql.package}/bin/psql '${cfg.settings."meta.sr.ht".connection-string}' \ + -c "UPDATE oauthclient SET preauthorized = true WHERE client_id = '${s.oauth-client-id}'" + '' + ) cfg.settings + ) + ); serviceConfig.ExecStart = "${pkgs.sourcehut.metasrht}/bin/metasrht-api -b ${cfg.listenAddress}:${toString (cfg.meta.port + 100)}"; }; extraConfig = { assertions = [ - { assertion = let s = cfg.settings."meta.sr.ht::billing"; in - s.enabled == "yes" -> (s.stripe-public-key != null && s.stripe-secret-key != null); + { + assertion = + let + s = cfg.settings."meta.sr.ht::billing"; + in + s.enabled == "yes" -> (s.stripe-public-key != null && s.stripe-secret-key != null); message = "If meta.sr.ht::billing is enabled, the keys must be defined."; } ]; - environment.systemPackages = optional cfg.meta.enable - (pkgs.writeShellScriptBin "metasrht-manageuser" '' + environment.systemPackages = optional cfg.meta.enable ( + pkgs.writeShellScriptBin "metasrht-manageuser" '' set -eux if test "$(${pkgs.coreutils}/bin/id -n -u)" != '${cfg.meta.user}' then exec sudo -u '${cfg.meta.user}' "$0" "$@" @@ -1277,44 +1442,49 @@ in exit 1 fi fi - ''); + '' + ); }; }) (import ./service.nix "pages" { inherit configIniOfService; port = 5112; - mainService = let - srvsrht = "pagessrht"; - version = pkgs.sourcehut.${srvsrht}.version; - stateDir = "/var/lib/sourcehut/${srvsrht}"; - iniKey = "pages.sr.ht"; - in { - preStart = mkBefore '' - set -x - # Use the /run/sourcehut/${srvsrht}/config.ini - # installed by a previous ExecStartPre= in baseService - cd /run/sourcehut/${srvsrht} + mainService = + let + srvsrht = "pagessrht"; + version = pkgs.sourcehut.${srvsrht}.version; + stateDir = "/var/lib/sourcehut/${srvsrht}"; + iniKey = "pages.sr.ht"; + in + { + preStart = mkBefore '' + set -x + # Use the /run/sourcehut/${srvsrht}/config.ini + # installed by a previous ExecStartPre= in baseService + cd /run/sourcehut/${srvsrht} - if test ! -e ${stateDir}/db; then - ${postgresql.package}/bin/psql '${cfg.settings.${iniKey}.connection-string}' -f ${pkgs.sourcehut.pagessrht}/share/sql/schema.sql - echo ${version} >${stateDir}/db - fi + if test ! -e ${stateDir}/db; then + ${postgresql.package}/bin/psql '${ + cfg.settings.${iniKey}.connection-string + }' -f ${pkgs.sourcehut.pagessrht}/share/sql/schema.sql + echo ${version} >${stateDir}/db + fi - ${optionalString cfg.settings.${iniKey}.migrate-on-upgrade '' - # Just try all the migrations because they're not linked to the version - for sql in ${pkgs.sourcehut.pagessrht}/share/sql/migrations/*.sql; do - ${postgresql.package}/bin/psql '${cfg.settings.${iniKey}.connection-string}' -f "$sql" || true - done - ''} + ${optionalString cfg.settings.${iniKey}.migrate-on-upgrade '' + # Just try all the migrations because they're not linked to the version + for sql in ${pkgs.sourcehut.pagessrht}/share/sql/migrations/*.sql; do + ${postgresql.package}/bin/psql '${cfg.settings.${iniKey}.connection-string}' -f "$sql" || true + done + ''} - # Disable webhook - touch ${stateDir}/webhook - ''; - serviceConfig = { - ExecStart = mkForce "${pkgs.sourcehut.pagessrht}/bin/pages.sr.ht -b ${cfg.listenAddress}:${toString cfg.pages.port}"; + # Disable webhook + touch ${stateDir}/webhook + ''; + serviceConfig = { + ExecStart = mkForce "${pkgs.sourcehut.pagessrht}/bin/pages.sr.ht -b ${cfg.listenAddress}:${toString cfg.pages.port}"; + }; }; - }; }) (import ./service.nix "paste" { @@ -1323,7 +1493,9 @@ in extraServices.pastesrht-api = { serviceConfig.Restart = "always"; serviceConfig.RestartSec = "5s"; - serviceConfig.ExecStart = "${pkgs.sourcehut.pastesrht}/bin/pastesrht-api -b ${cfg.listenAddress}:${toString (cfg.paste.port + 100)}"; + serviceConfig.ExecStart = "${pkgs.sourcehut.pastesrht}/bin/pastesrht-api -b ${cfg.listenAddress}:${ + toString (cfg.paste.port + 100) + }"; }; }) @@ -1362,21 +1534,29 @@ in }; }) - (mkRenamedOptionModule [ "services" "sourcehut" "originBase" ] - [ "services" "sourcehut" "settings" "sr.ht" "global-domain" ]) - (mkRenamedOptionModule [ "services" "sourcehut" "address" ] - [ "services" "sourcehut" "listenAddress" ]) + (mkRenamedOptionModule + [ "services" "sourcehut" "originBase" ] + [ "services" "sourcehut" "settings" "sr.ht" "global-domain" ] + ) + (mkRenamedOptionModule + [ "services" "sourcehut" "address" ] + [ "services" "sourcehut" "listenAddress" ] + ) (mkRemovedOptionModule [ "services" "sourcehut" "dispatch" ] '' - dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ - for more information. + dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ + for more information. '') - (mkRemovedOptionModule [ "services" "sourcehut" "services"] '' - This option was removed in favor of individual .enable flags. + (mkRemovedOptionModule [ "services" "sourcehut" "services" ] '' + This option was removed in favor of individual .enable flags. '') ]; meta.doc = ./default.md; - meta.maintainers = with maintainers; [ tomberek nessdoor christoph-heiss ]; + meta.maintainers = with maintainers; [ + tomberek + nessdoor + christoph-heiss + ]; } diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix index 3507a49ea13a8..37040c5e8661b 100644 --- a/nixos/modules/services/misc/sourcehut/service.nix +++ b/nixos/modules/services/misc/sourcehut/service.nix @@ -1,21 +1,33 @@ srv: -{ configIniOfService -, srvsrht ? "${srv}srht" # Because "buildsrht" does not follow that pattern (missing an "s"). -, iniKey ? "${srv}.sr.ht" -, webhooks ? false -, extraTimers ? { } -, mainService ? { } -, extraServices ? { } -, extraConfig ? { } -, port +{ + configIniOfService, + srvsrht ? "${srv}srht", # Because "buildsrht" does not follow that pattern (missing an "s"). + iniKey ? "${srv}.sr.ht", + webhooks ? false, + extraTimers ? { }, + mainService ? { }, + extraServices ? { }, + extraConfig ? { }, + port, +}: +{ + config, + lib, + pkgs, + ... }: -{ config, lib, pkgs, ... }: let inherit (lib) types; inherit (lib.attrsets) mapAttrs optionalAttrs; inherit (lib.lists) optional; - inherit (lib.modules) mkBefore mkDefault mkForce mkIf mkMerge; + inherit (lib.modules) + mkBefore + mkDefault + mkForce + mkIf + mkMerge + ; inherit (lib.options) mkEnableOption mkOption; inherit (lib.strings) concatStringsSep hasSuffix optionalString; inherit (config.services) postgresql; @@ -24,7 +36,12 @@ let cfg = config.services.sourcehut; configIni = configIniOfService srv; srvCfg = cfg.${srv}; - baseService = serviceName: { allowStripe ? false }: extraService: + baseService = + serviceName: + { + allowStripe ? false, + }: + extraService: let runDir = "/run/sourcehut/${serviceName}"; rootDir = "/run/sourcehut/chroots/${serviceName}"; @@ -32,12 +49,13 @@ let mkMerge [ extraService { - after = [ "network.target" ] ++ - optional cfg.postgresql.enable "postgresql.service" ++ - optional cfg.redis.enable "redis-sourcehut-${srvsrht}.service"; + after = + [ "network.target" ] + ++ optional cfg.postgresql.enable "postgresql.service" + ++ optional cfg.redis.enable "redis-sourcehut-${srvsrht}.service"; requires = - optional cfg.postgresql.enable "postgresql.service" ++ - optional cfg.redis.enable "redis-sourcehut-${srvsrht}.service"; + optional cfg.postgresql.enable "postgresql.service" + ++ optional cfg.redis.enable "redis-sourcehut-${srvsrht}.service"; path = [ pkgs.gawk ]; environment.HOME = runDir; serviceConfig = { @@ -64,27 +82,31 @@ let # config.ini is looked up in there, before /etc/srht/config.ini # Note that it fails to be set in ExecStartPre= WorkingDirectory = mkDefault ("-" + runDir); - BindReadOnlyPaths = [ - builtins.storeDir - "/etc" - "/run/booted-system" - "/run/current-system" - "/run/systemd" - ] ++ - optional cfg.postgresql.enable "/run/postgresql" ++ - optional cfg.redis.enable "/run/redis-sourcehut-${srvsrht}"; + BindReadOnlyPaths = + [ + builtins.storeDir + "/etc" + "/run/booted-system" + "/run/current-system" + "/run/systemd" + ] + ++ optional cfg.postgresql.enable "/run/postgresql" + ++ optional cfg.redis.enable "/run/redis-sourcehut-${srvsrht}"; # LoadCredential= are unfortunately not available in ExecStartPre= # Hence this one is run as root (the +) with RootDirectoryStartOnly= # to reach credentials wherever they are. # Note that each systemd service gets its own ${runDir}/config.ini file. ExecStartPre = mkBefore [ - ("+" + pkgs.writeShellScript "${serviceName}-credentials" '' - set -x - # Replace values beginning with a '<' by the content of the file whose name is after. - gawk '{ if (match($0,/^([^=]+=)<(.+)/,m)) { getline f < m[2]; print m[1] f } else print $0 }' ${configIni} | - ${optionalString (!allowStripe) "gawk '!/^stripe-secret-key=/' |"} - install -o ${srvCfg.user} -g root -m 400 /dev/stdin ${runDir}/config.ini - '') + ( + "+" + + pkgs.writeShellScript "${serviceName}-credentials" '' + set -x + # Replace values beginning with a '<' by the content of the file whose name is after. + gawk '{ if (match($0,/^([^=]+=)<(.+)/,m)) { getline f < m[2]; print m[1] f } else print $0 }' ${configIni} | + ${optionalString (!allowStripe) "gawk '!/^stripe-secret-key=/' |"} + install -o ${srvCfg.user} -g root -m 400 /dev/stdin ${runDir}/config.ini + '' + ) ]; # The following options are only for optimizing: # systemd-analyze security @@ -110,7 +132,11 @@ let ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -132,81 +158,91 @@ let ]; in { - options.services.sourcehut.${srv} = { - enable = mkEnableOption "${srv} service"; - - user = mkOption { - type = types.str; - default = srvsrht; - description = '' - User for ${srv}.sr.ht. - ''; - }; - - group = mkOption { - type = types.str; - default = srvsrht; - description = '' - Group for ${srv}.sr.ht. - Membership grants access to the Git/Mercurial repositories by default, - but not to the config.ini file (where secrets are). - ''; - }; - - port = mkOption { - type = types.port; - default = port; - description = '' - Port on which the "${srv}" backend should listen. - ''; - }; + options.services.sourcehut.${srv} = + { + enable = mkEnableOption "${srv} service"; - redis = { - host = mkOption { + user = mkOption { type = types.str; - default = "unix:///run/redis-sourcehut-${srvsrht}/redis.sock?db=0"; - example = "redis://shared.wireguard:6379/0"; + default = srvsrht; description = '' - The redis host URL. This is used for caching and temporary storage, and must - be shared between nodes (e.g. git1.sr.ht and git2.sr.ht), but need not be - shared between services. It may be shared between services, however, with no - ill effect, if this better suits your infrastructure. + User for ${srv}.sr.ht. ''; }; - }; - postgresql = { - database = mkOption { + group = mkOption { type = types.str; - default = "${srv}.sr.ht"; + default = srvsrht; description = '' - PostgreSQL database name for the ${srv}.sr.ht service, - used if [](#opt-services.sourcehut.postgresql.enable) is `true`. + Group for ${srv}.sr.ht. + Membership grants access to the Git/Mercurial repositories by default, + but not to the config.ini file (where secrets are). + ''; + }; + + port = mkOption { + type = types.port; + default = port; + description = '' + Port on which the "${srv}" backend should listen. ''; }; - }; - gunicorn = { - extraArgs = mkOption { - type = with types; listOf str; - default = [ "--timeout 120" "--workers 1" "--log-level=info" ]; - description = "Extra arguments passed to Gunicorn."; + redis = { + host = mkOption { + type = types.str; + default = "unix:///run/redis-sourcehut-${srvsrht}/redis.sock?db=0"; + example = "redis://shared.wireguard:6379/0"; + description = '' + The redis host URL. This is used for caching and temporary storage, and must + be shared between nodes (e.g. git1.sr.ht and git2.sr.ht), but need not be + shared between services. It may be shared between services, however, with no + ill effect, if this better suits your infrastructure. + ''; + }; }; - }; - } // optionalAttrs webhooks { - webhooks = { - extraArgs = mkOption { - type = with types; listOf str; - default = [ "--loglevel DEBUG" "--pool eventlet" "--without-heartbeat" ]; - description = "Extra arguments passed to the Celery responsible for webhooks."; + + postgresql = { + database = mkOption { + type = types.str; + default = "${srv}.sr.ht"; + description = '' + PostgreSQL database name for the ${srv}.sr.ht service, + used if [](#opt-services.sourcehut.postgresql.enable) is `true`. + ''; + }; }; - celeryConfig = mkOption { - type = types.lines; - default = ""; - description = "Content of the `celeryconfig.py` used by the Celery responsible for webhooks."; + + gunicorn = { + extraArgs = mkOption { + type = with types; listOf str; + default = [ + "--timeout 120" + "--workers 1" + "--log-level=info" + ]; + description = "Extra arguments passed to Gunicorn."; + }; + }; + } + // optionalAttrs webhooks { + webhooks = { + extraArgs = mkOption { + type = with types; listOf str; + default = [ + "--loglevel DEBUG" + "--pool eventlet" + "--without-heartbeat" + ]; + description = "Extra arguments passed to the Celery responsible for webhooks."; + }; + celeryConfig = mkOption { + type = types.lines; + default = ""; + description = "Content of the `celeryconfig.py` used by the Celery responsible for webhooks."; + }; }; }; - }; config = lib.mkIf (cfg.enable && srvCfg.enable) (mkMerge [ extraConfig @@ -219,50 +255,52 @@ in description = mkDefault "sourcehut user for ${srv}.sr.ht"; }; }; - groups = { - "${srvCfg.group}" = { }; - } // optionalAttrs - (cfg.postgresql.enable - && hasSuffix "0" (postgresql.settings.unix_socket_permissions or "")) - { - "postgres".members = [ srvCfg.user ]; - } // optionalAttrs - (cfg.redis.enable - && hasSuffix "0" (redis.settings.unixsocketperm or "")) + groups = { + "${srvCfg.group}" = { }; + } + // + optionalAttrs + (cfg.postgresql.enable && hasSuffix "0" (postgresql.settings.unix_socket_permissions or "")) + { + "postgres".members = [ srvCfg.user ]; + } + // optionalAttrs (cfg.redis.enable && hasSuffix "0" (redis.settings.unixsocketperm or "")) { "redis-sourcehut-${srvsrht}".members = [ srvCfg.user ]; }; }; services.nginx = mkIf cfg.nginx.enable { - virtualHosts."${srv}.${cfg.settings."sr.ht".global-domain}" = mkMerge [{ - forceSSL = mkDefault true; - locations."/".proxyPass = "http://${cfg.listenAddress}:${toString srvCfg.port}"; - locations."/static" = { - root = "${pkgs.sourcehut.${srvsrht}}/${pkgs.sourcehut.python.sitePackages}/${srvsrht}"; - extraConfig = mkDefault '' - expires 30d; - ''; - }; - locations."/query" = mkIf (cfg.settings.${iniKey} ? api-origin) { - proxyPass = cfg.settings.${iniKey}.api-origin; - extraConfig = '' - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; - add_header 'Access-Control-Allow-Headers' 'User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; + virtualHosts."${srv}.${cfg.settings."sr.ht".global-domain}" = mkMerge [ + { + forceSSL = mkDefault true; + locations."/".proxyPass = "http://${cfg.listenAddress}:${toString srvCfg.port}"; + locations."/static" = { + root = "${pkgs.sourcehut.${srvsrht}}/${pkgs.sourcehut.python.sitePackages}/${srvsrht}"; + extraConfig = mkDefault '' + expires 30d; + ''; + }; + locations."/query" = mkIf (cfg.settings.${iniKey} ? api-origin) { + proxyPass = cfg.settings.${iniKey}.api-origin; + extraConfig = '' + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; - if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Type' 'text/plain; charset=utf-8'; - add_header 'Content-Length' 0; - return 204; - } + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } - add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; - ''; - }; - } - cfg.nginx.virtualHost]; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; + ''; + }; + } + cfg.nginx.virtualHost + ]; }; services.postgresql = mkIf cfg.postgresql.enable { @@ -270,23 +308,22 @@ in local ${srvCfg.postgresql.database} ${srvCfg.user} trust ''; ensureDatabases = [ srvCfg.postgresql.database ]; - ensureUsers = map - (name: { - inherit name; - # We don't use it because we have a special default database name with dots. - # TODO(for maintainers of sourcehut): migrate away from custom preStart script. - ensureDBOwnership = false; - }) [ srvCfg.user ]; + ensureUsers = map (name: { + inherit name; + # We don't use it because we have a special default database name with dots. + # TODO(for maintainers of sourcehut): migrate away from custom preStart script. + ensureDBOwnership = false; + }) [ srvCfg.user ]; }; - services.sourcehut.settings = mkMerge [ { "${srv}.sr.ht".origin = mkDefault "https://${srv}.${cfg.settings."sr.ht".global-domain}"; } (mkIf cfg.postgresql.enable { - "${srv}.sr.ht".connection-string = mkDefault "postgresql:///${srvCfg.postgresql.database}?user=${srvCfg.user}&host=/run/postgresql"; + "${srv}.sr.ht".connection-string = + mkDefault "postgresql:///${srvCfg.postgresql.database}?user=${srvCfg.user}&host=/run/postgresql"; }) ]; @@ -295,7 +332,16 @@ in databases = 3; syslog = true; # TODO: set a more informed value - save = mkDefault [ [ 1800 10 ] [ 300 100 ] ]; + save = mkDefault [ + [ + 1800 + 10 + ] + [ + 300 + 100 + ] + ]; settings = { # TODO: set a more informed value maxmemory = "128MB"; @@ -320,7 +366,9 @@ in #RestartSec = mkDefault "2min"; StateDirectory = [ "sourcehut/${srvsrht}" ]; StateDirectoryMode = "2750"; - ExecStart = "${cfg.python}/bin/gunicorn ${srvsrht}.app:app --name ${srvsrht} --bind ${cfg.listenAddress}:${toString srvCfg.port} " + concatStringsSep " " srvCfg.gunicorn.extraArgs; + ExecStart = + "${cfg.python}/bin/gunicorn ${srvsrht}.app:app --name ${srvsrht} --bind ${cfg.listenAddress}:${toString srvCfg.port} " + + concatStringsSep " " srvCfg.gunicorn.extraArgs; }; preStart = let @@ -363,42 +411,48 @@ in } (mkIf webhooks { - "${srvsrht}-webhooks" = baseService "${srvsrht}-webhooks" { } - { - description = "sourcehut ${srv}.sr.ht webhooks service"; - after = [ "${srvsrht}.service" ]; - wantedBy = [ "${srvsrht}.service" ]; - partOf = [ "${srvsrht}.service" ]; - preStart = '' - cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" srvCfg.webhooks.celeryConfig} \ - /run/sourcehut/${srvsrht}-webhooks/celeryconfig.py - ''; - serviceConfig = { - Type = "simple"; - Restart = "always"; - ExecStart = "${cfg.python}/bin/celery --app ${srvsrht}.webhooks worker --hostname ${srvsrht}-webhooks@%%h " + concatStringsSep " " srvCfg.webhooks.extraArgs; - # Avoid crashing: os.getloadavg() - ProcSubset = mkForce "all"; - }; + "${srvsrht}-webhooks" = baseService "${srvsrht}-webhooks" { } { + description = "sourcehut ${srv}.sr.ht webhooks service"; + after = [ "${srvsrht}.service" ]; + wantedBy = [ "${srvsrht}.service" ]; + partOf = [ "${srvsrht}.service" ]; + preStart = '' + cp ${pkgs.writeText "${srvsrht}-webhooks-celeryconfig.py" srvCfg.webhooks.celeryConfig} \ + /run/sourcehut/${srvsrht}-webhooks/celeryconfig.py + ''; + serviceConfig = { + Type = "simple"; + Restart = "always"; + ExecStart = + "${cfg.python}/bin/celery --app ${srvsrht}.webhooks worker --hostname ${srvsrht}-webhooks@%%h " + + concatStringsSep " " srvCfg.webhooks.extraArgs; + # Avoid crashing: os.getloadavg() + ProcSubset = mkForce "all"; }; + }; }) - (mapAttrs - (timerName: timer: (baseService timerName { } (mkMerge [ + (mapAttrs ( + timerName: timer: + (baseService timerName { } (mkMerge [ { description = "sourcehut ${timerName} service"; - after = [ "network.target" "${srvsrht}.service" ]; + after = [ + "network.target" + "${srvsrht}.service" + ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.sourcehut.${srvsrht}}/bin/${timerName}"; }; } (timer.service or { }) - ]))) - extraTimers) + ])) + ) extraTimers) - (mapAttrs - (serviceName: extraService: baseService serviceName { } (mkMerge [ + (mapAttrs ( + serviceName: extraService: + baseService serviceName { } (mkMerge [ { description = "sourcehut ${serviceName} service"; # So that extraServices have the PostgreSQL database initialized. @@ -411,8 +465,8 @@ in }; } extraService - ])) - extraServices) + ]) + ) extraServices) # Work around 'pq: permission denied for schema public' with postgres v15. # See https://github.com/NixOS/nixpkgs/issues/216989 @@ -425,21 +479,20 @@ in && lib.strings.versionAtLeast config.services.postgresql.package.version "15.0" ) { - postgresql.postStart = (lib.mkAfter '' - $PSQL -tAc 'ALTER DATABASE "${srvCfg.postgresql.database}" OWNER TO "${srvCfg.user}";' - ''); + postgresql.postStart = ( + lib.mkAfter '' + $PSQL -tAc 'ALTER DATABASE "${srvCfg.postgresql.database}" OWNER TO "${srvCfg.user}";' + '' + ); } ) ]; - systemd.timers = mapAttrs - (timerName: timer: - { - description = "sourcehut timer for ${timerName}"; - wantedBy = [ "timers.target" ]; - inherit (timer) timerConfig; - }) - extraTimers; + systemd.timers = mapAttrs (timerName: timer: { + description = "sourcehut timer for ${timerName}"; + wantedBy = [ "timers.target" ]; + inherit (timer) timerConfig; + }) extraTimers; } ]); } diff --git a/nixos/modules/services/misc/spice-autorandr.nix b/nixos/modules/services/misc/spice-autorandr.nix index 92b8a15e93c5d..c2be651fcd283 100644 --- a/nixos/modules/services/misc/spice-autorandr.nix +++ b/nixos/modules/services/misc/spice-autorandr.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.spice-autorandr; diff --git a/nixos/modules/services/misc/spice-vdagentd.nix b/nixos/modules/services/misc/spice-vdagentd.nix index 762f9c95b615d..e829f733c401b 100644 --- a/nixos/modules/services/misc/spice-vdagentd.nix +++ b/nixos/modules/services/misc/spice-vdagentd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.spice-vdagentd; in diff --git a/nixos/modules/services/misc/spice-webdavd.nix b/nixos/modules/services/misc/spice-webdavd.nix index 6f12f4418aaa4..878ec7a644484 100644 --- a/nixos/modules/services/misc/spice-webdavd.nix +++ b/nixos/modules/services/misc/spice-webdavd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.spice-webdavd; in diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix index 6d6f855c57f1c..babc76621a0f3 100644 --- a/nixos/modules/services/misc/sssd.nix +++ b/nixos/modules/services/misc/sssd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.sssd; nscd = config.services.nscd; @@ -6,7 +11,8 @@ let dataDir = "/var/lib/sssd"; settingsFile = "${dataDir}/sssd.conf"; settingsFileUnsubstituted = pkgs.writeText "${dataDir}/sssd-unsubstituted.conf" cfg.config; -in { +in +{ options = { services.sssd = { enable = lib.mkEnableOption "the System Security Services Daemon"; @@ -82,10 +88,19 @@ in { systemd.services.sssd = { description = "System Security Services Daemon"; - wantedBy = [ "multi-user.target" ]; - before = [ "systemd-user-sessions.service" "nss-user-lookup.target" ]; - after = [ "network-online.target" "nscd.service" ]; - requires = [ "network-online.target" "nscd.service" ]; + wantedBy = [ "multi-user.target" ]; + before = [ + "systemd-user-sessions.service" + "nss-user-lookup.target" + ]; + after = [ + "network-online.target" + "nscd.service" + ]; + requires = [ + "network-online.target" + "nscd.service" + ]; wants = [ "nss-user-lookup.target" ]; restartTriggers = [ config.environment.etc."nscd.conf".source @@ -148,18 +163,19 @@ in { }) (lib.mkIf cfg.sshAuthorizedKeysIntegration { - # Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable. - # So indirect by a symlink. - environment.etc."ssh/authorized_keys_command" = { - mode = "0755"; - text = '' - #!/bin/sh - exec ${pkgs.sssd}/bin/sss_ssh_authorizedkeys "$@" - ''; - }; - services.openssh.authorizedKeysCommand = "/etc/ssh/authorized_keys_command"; - services.openssh.authorizedKeysCommandUser = "nobody"; - })]; + # Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable. + # So indirect by a symlink. + environment.etc."ssh/authorized_keys_command" = { + mode = "0755"; + text = '' + #!/bin/sh + exec ${pkgs.sssd}/bin/sss_ssh_authorizedkeys "$@" + ''; + }; + services.openssh.authorizedKeysCommand = "/etc/ssh/authorized_keys_command"; + services.openssh.authorizedKeysCommandUser = "nobody"; + }) + ]; meta.maintainers = with lib.maintainers; [ bbigras ]; } diff --git a/nixos/modules/services/misc/subsonic.nix b/nixos/modules/services/misc/subsonic.nix index 8d2ddf724f706..fb160497b56e2 100644 --- a/nixos/modules/services/misc/subsonic.nix +++ b/nixos/modules/services/misc/subsonic.nix @@ -1,8 +1,15 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.subsonic; opt = options.services.subsonic; -in { +in +{ options = { services.subsonic = { enable = lib.mkEnableOption "Subsonic daemon"; diff --git a/nixos/modules/services/misc/sundtek.nix b/nixos/modules/services/misc/sundtek.nix index 089d86cb5972f..4c518011c4f16 100644 --- a/nixos/modules/services/misc/sundtek.nix +++ b/nixos/modules/services/misc/sundtek.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.sundtek; @@ -21,7 +26,7 @@ in ExecStart = '' ${pkgs.sundtek}/bin/mediasrv -d -v -p ${pkgs.sundtek}/bin ;\ ${pkgs.sundtek}/bin/mediaclient --start --wait-for-devices - ''; + ''; ExecStop = "${pkgs.sundtek}/bin/mediaclient --shutdown"; RemainAfterExit = true; }; diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix index 8e0aee51754c6..b72e6186c1cd4 100644 --- a/nixos/modules/services/misc/svnserve.nix +++ b/nixos/modules/services/misc/svnserve.nix @@ -1,5 +1,10 @@ # SVN server -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.svnserve; @@ -29,7 +34,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/misc/synergy.nix b/nixos/modules/services/misc/synergy.nix index 495f29ba1f915..f4f2f22a8b487 100644 --- a/nixos/modules/services/misc/synergy.nix +++ b/nixos/modules/services/misc/synergy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfgC = config.services.synergy.client; @@ -92,27 +97,40 @@ in }; - ###### implementation config = lib.mkMerge [ (lib.mkIf cfgC.enable { systemd.user.services.synergy-client = { - after = [ "network.target" "graphical-session.target" ]; + after = [ + "network.target" + "graphical-session.target" + ]; description = "Synergy client"; wantedBy = lib.optional cfgC.autoStart "graphical-session.target"; path = [ pkgs.synergy ]; - serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergyc -f ${lib.optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}"} ${cfgC.serverAddress}''; + serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergyc -f ${ + lib.optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}" + } ${cfgC.serverAddress}''; serviceConfig.Restart = "on-failure"; }; }) (lib.mkIf cfgS.enable { systemd.user.services.synergy-server = { - after = [ "network.target" "graphical-session.target" ]; + after = [ + "network.target" + "graphical-session.target" + ]; description = "Synergy server"; wantedBy = lib.optional cfgS.autoStart "graphical-session.target"; path = [ pkgs.synergy ]; - serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergys -c ${cfgS.configFile} -f${lib.optionalString (cfgS.address != "") " -a ${cfgS.address}"}${lib.optionalString (cfgS.screenName != "") " -n ${cfgS.screenName}"}${lib.optionalString cfgS.tls.enable " --enable-crypto"}${lib.optionalString (cfgS.tls.cert != null) (" --tls-cert ${cfgS.tls.cert}")}''; + serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergys -c ${cfgS.configFile} -f${ + lib.optionalString (cfgS.address != "") " -a ${cfgS.address}" + }${ + lib.optionalString (cfgS.screenName != "") " -n ${cfgS.screenName}" + }${lib.optionalString cfgS.tls.enable " --enable-crypto"}${ + lib.optionalString (cfgS.tls.cert != null) (" --tls-cert ${cfgS.tls.cert}") + }''; serviceConfig.Restart = "on-failure"; }; }) @@ -120,27 +138,28 @@ in } -/* SYNERGY SERVER example configuration file -section: screens - laptop: - dm: - win: -end -section: aliases +/* + SYNERGY SERVER example configuration file + section: screens laptop: - 192.168.5.5 dm: - 192.168.5.78 win: - 192.168.5.54 -end -section: links - laptop: - left = dm - dm: - right = laptop - left = win - win: - right = dm -end + end + section: aliases + laptop: + 192.168.5.5 + dm: + 192.168.5.78 + win: + 192.168.5.54 + end + section: links + laptop: + left = dm + dm: + right = laptop + left = win + win: + right = dm + end */ diff --git a/nixos/modules/services/misc/sysprof.nix b/nixos/modules/services/misc/sysprof.nix index ab91a8b586a23..f5b12d3de7ebd 100644 --- a/nixos/modules/services/misc/sysprof.nix +++ b/nixos/modules/services/misc/sysprof.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options = { diff --git a/nixos/modules/services/misc/tabby.nix b/nixos/modules/services/misc/tabby.nix index f84ceccc424e2..53cd553e649ff 100644 --- a/nixos/modules/services/misc/tabby.nix +++ b/nixos/modules/services/misc/tabby.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) types; @@ -55,7 +60,14 @@ in }; acceleration = lib.mkOption { - type = types.nullOr (types.enum [ "cpu" "rocm" "cuda" "metal" ]); + type = types.nullOr ( + types.enum [ + "cpu" + "rocm" + "cuda" + "metal" + ] + ); default = null; example = "rocm"; description = '' @@ -140,61 +152,61 @@ in systemPackages = [ tabbyPackage ]; }; - - systemd = let - serviceUser = { - WorkingDirectory = "/var/lib/tabby"; - StateDirectory = [ "tabby" ]; - ConfigurationDirectory = [ "tabby" ]; - DynamicUser = true; - User = "tabby"; - Group = "tabby"; - }; - - serviceEnv = lib.mkMerge [ - { - TABBY_ROOT = "%S/tabby"; - } - (lib.mkIf (!cfg.usageCollection) { - TABBY_DISABLE_USAGE_COLLECTION = "1"; - }) - ]; - in { - services.tabby = { - wantedBy = [ "multi-user.target" ]; - description = "Self-hosted AI coding assistant using large language models"; - after = [ "network.target" ]; - environment = serviceEnv; - serviceConfig = lib.mkMerge [ - serviceUser + systemd = + let + serviceUser = { + WorkingDirectory = "/var/lib/tabby"; + StateDirectory = [ "tabby" ]; + ConfigurationDirectory = [ "tabby" ]; + DynamicUser = true; + User = "tabby"; + Group = "tabby"; + }; + + serviceEnv = lib.mkMerge [ { - ExecStart = - "${lib.getExe tabbyPackage} serve --model ${cfg.model} --port ${toString cfg.port} --device ${tabbyPackage.featureDevice}"; + TABBY_ROOT = "%S/tabby"; } + (lib.mkIf (!cfg.usageCollection) { + TABBY_DISABLE_USAGE_COLLECTION = "1"; + }) ]; + in + { + services.tabby = { + wantedBy = [ "multi-user.target" ]; + description = "Self-hosted AI coding assistant using large language models"; + after = [ "network.target" ]; + environment = serviceEnv; + serviceConfig = lib.mkMerge [ + serviceUser + { + ExecStart = "${lib.getExe tabbyPackage} serve --model ${cfg.model} --port ${toString cfg.port} --device ${tabbyPackage.featureDevice}"; + } + ]; + }; + + services.tabby-scheduler = lib.mkIf (cfg.indexInterval != "never") { + wantedBy = [ "multi-user.target" ]; + description = "Tabby repository indexing service"; + after = [ "network.target" ]; + environment = serviceEnv; + preStart = "cp -f /etc/tabby/config.toml \${TABBY_ROOT}/config.toml"; + serviceConfig = lib.mkMerge [ + serviceUser + { + # Type = "oneshot"; + ExecStart = "${lib.getExe tabbyPackage} scheduler --now"; + } + ]; + }; + timers.tabby-scheduler = lib.mkIf (cfg.indexInterval != "never") { + description = "Update timer for tabby-scheduler"; + partOf = [ "tabby-scheduler.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig.OnUnitInactiveSec = cfg.indexInterval; + }; }; - - services.tabby-scheduler = lib.mkIf (cfg.indexInterval != "never") { - wantedBy = [ "multi-user.target" ]; - description = "Tabby repository indexing service"; - after = [ "network.target" ]; - environment = serviceEnv; - preStart = "cp -f /etc/tabby/config.toml \${TABBY_ROOT}/config.toml"; - serviceConfig = lib.mkMerge [ - serviceUser - { - # Type = "oneshot"; - ExecStart = "${lib.getExe tabbyPackage} scheduler --now"; - } - ]; - }; - timers.tabby-scheduler = lib.mkIf (cfg.indexInterval != "never") { - description = "Update timer for tabby-scheduler"; - partOf = [ "tabby-scheduler.service" ]; - wantedBy = [ "timers.target" ]; - timerConfig.OnUnitInactiveSec = cfg.indexInterval; - }; - }; }; meta.maintainers = with lib.maintainers; [ ghthor ]; diff --git a/nixos/modules/services/misc/tandoor-recipes.nix b/nixos/modules/services/misc/tandoor-recipes.nix index 0d211c946d5f7..1baa60f9f9cd0 100644 --- a/nixos/modules/services/misc/tandoor-recipes.nix +++ b/nixos/modules/services/misc/tandoor-recipes.nix @@ -1,19 +1,25 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.tandoor-recipes; pkg = cfg.package; # SECRET_KEY through an env file - env = { - GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}"; - DEBUG = "0"; - DEBUG_TOOLBAR = "0"; - MEDIA_ROOT = "/var/lib/tandoor-recipes"; - } // lib.optionalAttrs (config.time.timeZone != null) { - TZ = config.time.timeZone; - } // ( - lib.mapAttrs (_: toString) cfg.extraConfig - ); + env = + { + GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}"; + DEBUG = "0"; + DEBUG_TOOLBAR = "0"; + MEDIA_ROOT = "/var/lib/tandoor-recipes"; + } + // lib.optionalAttrs (config.time.timeZone != null) { + TZ = config.time.timeZone; + } + // (lib.mapAttrs (_: toString) cfg.extraConfig); manage = pkgs.writeShellScript "manage" '' set -o allexport # Export the following env vars @@ -90,7 +96,9 @@ in RuntimeDirectory = "tandoor-recipes"; BindReadOnlyPaths = [ - "${config.environment.etc."ssl/certs/ca-certificates.crt".source}:/etc/ssl/certs/ca-certificates.crt" + "${ + config.environment.etc."ssl/certs/ca-certificates.crt".source + }:/etc/ssl/certs/ca-certificates.crt" builtins.storeDir "-/etc/resolv.conf" "-/etc/nsswitch.conf" @@ -110,12 +118,22 @@ in ProtectKernelLogs = true; ProtectKernelModules = true; ProtectKernelTunables = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; # gunicorn needs setuid - SystemCallFilter = [ "@system-service" "~@privileged" "@resources" "@setuid" "@keyring" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "@resources" + "@setuid" + "@keyring" + ]; UMask = "0066"; }; diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix index 618d369be21f4..64ff7437fb089 100644 --- a/nixos/modules/services/misc/taskserver/default.nix +++ b/nixos/modules/services/misc/taskserver/default.nix @@ -1,20 +1,27 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.taskserver; taskd = "${pkgs.taskserver}/bin/taskd"; - mkManualPkiOption = desc: lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = '' - ${desc} + mkManualPkiOption = + desc: + lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + ${desc} - ::: {.note} - Setting this option will prevent automatic CA creation and handling. - ::: - ''; - }; + ::: {.note} + Setting this option will prevent automatic CA creation and handling. + ::: + ''; + }; manualPkiOptions = { ca.cert = mkManualPkiOption '' @@ -43,16 +50,18 @@ let ::: ''; - mkExpireOption = desc: lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - example = 365; - apply = val: if val == null then -1 else val; - description = mkAutoDesc '' - The expiration time of ${desc} in days or `null` for no - expiration time. - ''; - }; + mkExpireOption = + desc: + lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + example = 365; + apply = val: if val == null then -1 else val; + description = mkAutoDesc '' + The expiration time of ${desc} in days or `null` for no + expiration time. + ''; + }; autoPkiOptions = { bits = lib.mkOption { @@ -70,81 +79,113 @@ let }; }; - needToCreateCA = let - notFound = path: let - dotted = lib.concatStringsSep "." path; - in throw "Can't find option definitions for path `${dotted}'."; - findPkiDefinitions = path: attrs: let - mkSublist = key: val: let - newPath = path ++ lib.singleton key; - in if lib.isOption val - then lib.attrByPath newPath (notFound newPath) cfg.pki.manual - else findPkiDefinitions newPath val; - in lib.flatten (lib.mapAttrsToList mkSublist attrs); - in lib.all (x: x == null) (findPkiDefinitions [] manualPkiOptions); - - orgOptions = { ... }: { - options.users = lib.mkOption { - type = lib.types.uniq (lib.types.listOf lib.types.str); - default = []; - example = [ "alice" "bob" ]; - description = '' - A list of user names that belong to the organization. - ''; - }; + needToCreateCA = + let + notFound = + path: + let + dotted = lib.concatStringsSep "." path; + in + throw "Can't find option definitions for path `${dotted}'."; + findPkiDefinitions = + path: attrs: + let + mkSublist = + key: val: + let + newPath = path ++ lib.singleton key; + in + if lib.isOption val then + lib.attrByPath newPath (notFound newPath) cfg.pki.manual + else + findPkiDefinitions newPath val; + in + lib.flatten (lib.mapAttrsToList mkSublist attrs); + in + lib.all (x: x == null) (findPkiDefinitions [ ] manualPkiOptions); + + orgOptions = + { ... }: + { + options.users = lib.mkOption { + type = lib.types.uniq (lib.types.listOf lib.types.str); + default = [ ]; + example = [ + "alice" + "bob" + ]; + description = '' + A list of user names that belong to the organization. + ''; + }; - options.groups = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - example = [ "workers" "slackers" ]; - description = '' - A list of group names that belong to the organization. - ''; + options.groups = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "workers" + "slackers" + ]; + description = '' + A list of group names that belong to the organization. + ''; + }; }; - }; certtool = "${pkgs.gnutls.bin}/bin/certtool"; - nixos-taskserver = with pkgs.python3.pkgs; buildPythonApplication { - name = "nixos-taskserver"; - - src = pkgs.runCommand "nixos-taskserver-src" { preferLocalBuild = true; } '' - mkdir -p "$out" - cat "${pkgs.substituteAll { - src = ./helper-tool.py; - inherit taskd certtool; - inherit (cfg) dataDir user group fqdn; - certBits = cfg.pki.auto.bits; - clientExpiration = cfg.pki.auto.expiration.client; - crlExpiration = cfg.pki.auto.expiration.crl; - isAutoConfig = if needToCreateCA then "True" else "False"; - }}" > "$out/main.py" - cat > "$out/setup.py" < "$out/main.py" + cat > "$out/setup.py" < for full details. - ''; + description = + let + url = "https://gnutls.org/manual/html_node/Priority-Strings.html"; + in + '' + List of GnuTLS ciphers to use. See the GnuTLS documentation about + priority strings at <${url}> for full details. + ''; }; organisations = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule orgOptions); - default = {}; - example.myShinyOrganisation.users = [ "alice" "bob" ]; - example.myShinyOrganisation.groups = [ "staff" "outsiders" ]; - example.yetAnotherOrganisation.users = [ "foo" "bar" ]; + default = { }; + example.myShinyOrganisation.users = [ + "alice" + "bob" + ]; + example.myShinyOrganisation.groups = [ + "staff" + "outsiders" + ]; + example.yetAnotherOrganisation.users = [ + "foo" + "bar" + ]; description = '' An attribute set where the keys name the organisation and the values are a set of lists of {option}`users` and @@ -241,7 +293,7 @@ in { allowedClientIDs = lib.mkOption { type = with lib.types; either str (listOf str); - default = []; + default = [ ]; example = [ "[Tt]ask [2-9]+" ]; description = '' A list of regular expressions that are matched against the reported @@ -255,7 +307,7 @@ in { disallowedClientIDs = lib.mkOption { type = with lib.types; either str (listOf str); - default = []; + default = [ ]; example = [ "[Tt]ask [2-9]+" ]; description = '' A list of regular expressions that are matched against the reported @@ -302,7 +354,10 @@ in { }; trust = lib.mkOption { - type = lib.types.enum [ "allow all" "strict" ]; + type = lib.types.enum [ + "allow all" + "strict" + ]; default = "strict"; description = '' Determines how client certificates are validated. @@ -335,25 +390,45 @@ in { Nix types like integers or booleans are automatically converted to the right values Taskserver would expect. ''; - apply = let - mkKey = path: if path == ["server" "listen"] then "server" - else lib.concatStringsSep "." path; - recurse = path: attrs: let - mapper = name: val: let - newPath = path ++ [ name ]; - scalar = if val == true then "true" - else if val == false then "false" - else toString val; - in if lib.isAttrs val then recurse newPath val - else [ "${mkKey newPath}=${scalar}" ]; - in lib.concatLists (lib.mapAttrsToList mapper attrs); - in recurse []; + apply = + let + mkKey = + path: + if + path == [ + "server" + "listen" + ] + then + "server" + else + lib.concatStringsSep "." path; + recurse = + path: attrs: + let + mapper = + name: val: + let + newPath = path ++ [ name ]; + scalar = + if val == true then + "true" + else if val == false then + "false" + else + toString val; + in + if lib.isAttrs val then recurse newPath val else [ "${mkKey newPath}=${scalar}" ]; + in + lib.concatLists (lib.mapAttrsToList mapper attrs); + in + recurse [ ]; }; }; }; imports = [ - (lib.mkRemovedOptionModule ["services" "taskserver" "extraConfig"] '' + (lib.mkRemovedOptionModule [ "services" "taskserver" "extraConfig" ] '' This option was removed in favor of `services.taskserver.config` with different semantics (it's now a list of attributes instead of lines). @@ -401,20 +476,26 @@ in { # server trust = cfg.trust; - server = { - listen = "${cfg.listenHost}:${toString cfg.listenPort}"; - } // (if needToCreateCA then { - cert = "${cfg.dataDir}/keys/server.cert"; - key = "${cfg.dataDir}/keys/server.key"; - crl = "${cfg.dataDir}/keys/server.crl"; - } else { - cert = "${cfg.pki.manual.server.cert}"; - key = "${cfg.pki.manual.server.key}"; - ${lib.mapNullable (_: "crl") cfg.pki.manual.server.crl} = "${cfg.pki.manual.server.crl}"; - }); - - ca.cert = if needToCreateCA then "${cfg.dataDir}/keys/ca.cert" - else "${cfg.pki.manual.ca.cert}"; + server = + { + listen = "${cfg.listenHost}:${toString cfg.listenPort}"; + } + // ( + if needToCreateCA then + { + cert = "${cfg.dataDir}/keys/server.cert"; + key = "${cfg.dataDir}/keys/server.key"; + crl = "${cfg.dataDir}/keys/server.crl"; + } + else + { + cert = "${cfg.pki.manual.server.cert}"; + key = "${cfg.pki.manual.server.key}"; + ${lib.mapNullable (_: "crl") cfg.pki.manual.server.crl} = "${cfg.pki.manual.server.crl}"; + } + ); + + ca.cert = if needToCreateCA then "${cfg.dataDir}/keys/ca.cert" else "${cfg.pki.manual.ca.cert}"; }; systemd.services.taskserver-init = { @@ -453,17 +534,21 @@ in { environment.TASKDDATA = cfg.dataDir; - preStart = let - jsonOrgs = builtins.toJSON cfg.organisations; - jsonFile = pkgs.writeText "orgs.json" jsonOrgs; - helperTool = "${nixos-taskserver}/bin/nixos-taskserver"; - in "${helperTool} process-json '${jsonFile}'"; + preStart = + let + jsonOrgs = builtins.toJSON cfg.organisations; + jsonFile = pkgs.writeText "orgs.json" jsonOrgs; + helperTool = "${nixos-taskserver}/bin/nixos-taskserver"; + in + "${helperTool} process-json '${jsonFile}'"; serviceConfig = { - ExecStart = let - mkCfgFlag = flag: lib.escapeShellArg "--${flag}"; - cfgFlags = lib.concatMapStringsSep " " mkCfgFlag cfg.config; - in "@${taskd} taskd server ${cfgFlags}"; + ExecStart = + let + mkCfgFlag = flag: lib.escapeShellArg "--${flag}"; + cfgFlags = lib.concatMapStringsSep " " mkCfgFlag cfg.config; + in + "@${taskd} taskd server ${cfgFlags}"; ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID"; Restart = "on-failure"; PermissionsStartOnly = true; diff --git a/nixos/modules/services/misc/tautulli.nix b/nixos/modules/services/misc/tautulli.nix index 467a632c72801..dc3559ea94e0e 100644 --- a/nixos/modules/services/misc/tautulli.nix +++ b/nixos/modules/services/misc/tautulli.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.tautulli; in @@ -73,7 +78,10 @@ in networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ]; users.users = lib.mkIf (cfg.user == "plexpy") { - plexpy = { group = cfg.group; uid = config.ids.uids.plexpy; }; + plexpy = { + group = cfg.group; + uid = config.ids.uids.plexpy; + }; }; }; } diff --git a/nixos/modules/services/misc/tiddlywiki.nix b/nixos/modules/services/misc/tiddlywiki.nix index 4cff412132d1a..a6fe03ea69bb8 100644 --- a/nixos/modules/services/misc/tiddlywiki.nix +++ b/nixos/modules/services/misc/tiddlywiki.nix @@ -1,13 +1,21 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.tiddlywiki; - listenParams = lib.concatStrings (lib.mapAttrsToList (n: v: " '${n}=${toString v}' ") cfg.listenOptions); + listenParams = lib.concatStrings ( + lib.mapAttrsToList (n: v: " '${n}=${toString v}' ") cfg.listenOptions + ); exe = "${pkgs.nodePackages.tiddlywiki}/lib/node_modules/.bin/tiddlywiki"; name = "tiddlywiki"; dataDir = "/var/lib/" + name; -in { +in +{ options.services.tiddlywiki = { @@ -15,10 +23,10 @@ in { listenOptions = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; example = { credentials = "../credentials.csv"; - readers="(authenticated)"; + readers = "(authenticated)"; port = 3456; }; description = '' diff --git a/nixos/modules/services/misc/tp-auto-kbbl.nix b/nixos/modules/services/misc/tp-auto-kbbl.nix index fe0192116982b..6db22e5aa8405 100644 --- a/nixos/modules/services/misc/tp-auto-kbbl.nix +++ b/nixos/modules/services/misc/tp-auto-kbbl.nix @@ -1,7 +1,14 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.tp-auto-kbbl; - -in { +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.tp-auto-kbbl; + +in +{ meta.maintainers = with lib.maintainers; [ sebtm ]; options = { @@ -32,8 +39,13 @@ in { systemd.services.tp-auto-kbbl = { serviceConfig = { - ExecStart = lib.concatStringsSep " " - ([ "${cfg.package}/bin/tp-auto-kbbl" "--device ${cfg.device}" ] ++ cfg.arguments); + ExecStart = lib.concatStringsSep " " ( + [ + "${cfg.package}/bin/tp-auto-kbbl" + "--device ${cfg.device}" + ] + ++ cfg.arguments + ); Restart = "always"; Type = "simple"; }; diff --git a/nixos/modules/services/misc/transfer-sh.nix b/nixos/modules/services/misc/transfer-sh.nix index b0d1b724d7271..0433f8971507d 100644 --- a/nixos/modules/services/misc/transfer-sh.nix +++ b/nixos/modules/services/misc/transfer-sh.nix @@ -1,10 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.transfer-sh; inherit (lib) - mkDefault mkEnableOption mkPackageOption mkIf mkOption - types mapAttrs isBool getExe boolToString optionalAttrs; + mkDefault + mkEnableOption + mkPackageOption + mkIf + mkOption + types + mapAttrs + isBool + getExe + boolToString + optionalAttrs + ; in { options.services.transfer-sh = { @@ -13,7 +28,15 @@ in package = mkPackageOption pkgs "transfer-sh" { }; settings = mkOption { - type = types.submodule { freeformType = with types; attrsOf (oneOf [ bool int str ]); }; + type = types.submodule { + freeformType = + with types; + attrsOf (oneOf [ + bool + int + str + ]); + }; default = { }; example = { LISTENER = ":8080"; @@ -30,7 +53,12 @@ in }; provider = mkOption { - type = types.enum [ "local" "s3" "storj" "gdrive" ]; + type = types.enum [ + "local" + "s3" + "storj" + "gdrive" + ]; default = "local"; description = "Storage providers to use"; }; @@ -56,19 +84,21 @@ in localProvider = (cfg.provider == "local"); stateDirectory = "/var/lib/transfer.sh"; in - mkIf cfg.enable - { - services.transfer-sh.settings = { + mkIf cfg.enable { + services.transfer-sh.settings = + { LISTENER = mkDefault ":8080"; - } // optionalAttrs localProvider { + } + // optionalAttrs localProvider { BASEDIR = mkDefault stateDirectory; }; - systemd.services.transfer-sh = { - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - environment = mapAttrs (_: v: if isBool v then boolToString v else toString v) cfg.settings; - serviceConfig = { + systemd.services.transfer-sh = { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment = mapAttrs (_: v: if isBool v then boolToString v else toString v) cfg.settings; + serviceConfig = + { DevicePolicy = "closed"; DynamicUser = true; ExecStart = "${getExe cfg.package} --provider ${cfg.provider}"; @@ -83,19 +113,24 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = [ "native" ]; SystemCallFilter = [ "@system-service" ]; StateDirectory = baseNameOf stateDirectory; - } // optionalAttrs (cfg.secretFile != null) { + } + // optionalAttrs (cfg.secretFile != null) { EnvironmentFile = cfg.secretFile; - } // optionalAttrs localProvider { + } + // optionalAttrs localProvider { ReadWritePaths = cfg.settings.BASEDIR; }; - }; }; + }; meta.maintainers = with lib.maintainers; [ ocfox ]; } diff --git a/nixos/modules/services/misc/tuxclocker.nix b/nixos/modules/services/misc/tuxclocker.nix index ccbd4c6980e0f..f316994314bec 100644 --- a/nixos/modules/services/misc/tuxclocker.nix +++ b/nixos/modules/services/misc/tuxclocker.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.programs.tuxclocker; in @@ -16,7 +21,10 @@ in enabledNVIDIADevices = lib.mkOption { type = lib.types.listOf lib.types.int; default = [ ]; - example = [ 0 1 ]; + example = [ + 0 + 1 + ]; description = '' Enable NVIDIA GPU controls for a device by index. Sets the `Coolbits` Xorg option to enable all TuxClocker controls. @@ -34,35 +42,39 @@ in }; }; - config = let + config = + let package = if cfg.useUnfree then pkgs.tuxclocker else pkgs.tuxclocker-without-unfree; in - lib.mkIf cfg.enable { - environment.systemPackages = [ - package - ]; + lib.mkIf cfg.enable { + environment.systemPackages = [ + package + ]; - services.dbus.packages = [ - package - ]; + services.dbus.packages = [ + package + ]; - # MSR is used for some features - boot.kernelModules = [ "msr" ]; + # MSR is used for some features + boot.kernelModules = [ "msr" ]; - # https://download.nvidia.com/XFree86/Linux-x86_64/430.14/README/xconfigoptions.html#Coolbits - services.xserver.config = let - configSection = (i: '' - Section "Device" - Driver "nvidia" - Option "Coolbits" "31" - Identifier "Device-nvidia[${toString i}]" - EndSection - ''); + # https://download.nvidia.com/XFree86/Linux-x86_64/430.14/README/xconfigoptions.html#Coolbits + services.xserver.config = + let + configSection = ( + i: '' + Section "Device" + Driver "nvidia" + Option "Coolbits" "31" + Identifier "Device-nvidia[${toString i}]" + EndSection + '' + ); in - lib.concatStrings (map configSection cfg.enabledNVIDIADevices); + lib.concatStrings (map configSection cfg.enabledNVIDIADevices); - # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n207 - # Enable everything modifiable in TuxClocker - boot.kernelParams = lib.mkIf cfg.enableAMD [ "amdgpu.ppfeaturemask=0xfffd7fff" ]; - }; + # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n207 + # Enable everything modifiable in TuxClocker + boot.kernelParams = lib.mkIf cfg.enableAMD [ "amdgpu.ppfeaturemask=0xfffd7fff" ]; + }; } diff --git a/nixos/modules/services/misc/uhub.nix b/nixos/modules/services/misc/uhub.nix index 58bf6a2c2ed7a..befebdc20cdbd 100644 --- a/nixos/modules/services/misc/uhub.nix +++ b/nixos/modules/services/misc/uhub.nix @@ -1,113 +1,144 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let settingsFormat = { - type = with lib.types; attrsOf (oneOf [ bool int str ]); - generate = name: attrs: - pkgs.writeText name (lib.strings.concatStringsSep "\n" - (lib.attrsets.mapAttrsToList - (key: value: "${key}=${builtins.toJSON value}") attrs)); + type = + with lib.types; + attrsOf (oneOf [ + bool + int + str + ]); + generate = + name: attrs: + pkgs.writeText name ( + lib.strings.concatStringsSep "\n" ( + lib.attrsets.mapAttrsToList (key: value: "${key}=${builtins.toJSON value}") attrs + ) + ); }; -in { +in +{ options = { services.uhub = lib.mkOption { default = { }; description = "Uhub ADC hub instances"; - type = lib.types.attrsOf (lib.types.submodule { - options = { + type = lib.types.attrsOf ( + lib.types.submodule { + options = { - enable = lib.mkEnableOption "hub instance" // { default = true; }; + enable = lib.mkEnableOption "hub instance" // { + default = true; + }; - enableTLS = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Whether to enable TLS support."; - }; + enableTLS = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether to enable TLS support."; + }; - settings = lib.mkOption { - inherit (settingsFormat) type; - description = '' - Configuration of uhub. - See https://www.uhub.org/doc/config.php for a list of options. - ''; - default = { }; - example = { - server_bind_addr = "any"; - server_port = 1511; - hub_name = "My Public Hub"; - hub_description = "Yet another ADC hub"; - max_users = 150; + settings = lib.mkOption { + inherit (settingsFormat) type; + description = '' + Configuration of uhub. + See https://www.uhub.org/doc/config.php for a list of options. + ''; + default = { }; + example = { + server_bind_addr = "any"; + server_port = 1511; + hub_name = "My Public Hub"; + hub_description = "Yet another ADC hub"; + max_users = 150; + }; }; - }; - plugins = lib.mkOption { - description = "Uhub plugin configuration."; - type = with lib.types; - listOf (submodule { - options = { - plugin = lib.mkOption { - type = path; - example = lib.literalExpression - "$${pkgs.uhub}/plugins/mod_auth_sqlite.so"; - description = "Path to plugin file."; + plugins = lib.mkOption { + description = "Uhub plugin configuration."; + type = + with lib.types; + listOf (submodule { + options = { + plugin = lib.mkOption { + type = path; + example = lib.literalExpression "$${pkgs.uhub}/plugins/mod_auth_sqlite.so"; + description = "Path to plugin file."; + }; + settings = lib.mkOption { + description = "Settings specific to this plugin."; + type = with types; attrsOf str; + example = { + file = "/etc/uhub/users.db"; + }; + }; }; - settings = lib.mkOption { - description = "Settings specific to this plugin."; - type = with types; attrsOf str; - example = { file = "/etc/uhub/users.db"; }; - }; - }; - }); - default = [ ]; - }; + }); + default = [ ]; + }; - }; - }); + }; + } + ); }; }; - config = let - hubs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.uhub; - in { + config = + let + hubs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.uhub; + in + { - environment.etc = lib.attrsets.mapAttrs' (name: cfg: - let - settings' = cfg.settings // { - tls_enable = cfg.enableTLS; - file_plugins = pkgs.writeText "uhub-plugins.conf" - (lib.strings.concatStringsSep "\n" (map ({ plugin, settings }: - '' - plugin ${plugin} "${ - toString - (lib.attrsets.mapAttrsToList (key: value: "${key}=${value}") - settings) - }"'') cfg.plugins)); - }; - in { - name = "uhub/${name}.conf"; - value.source = settingsFormat.generate "uhub-${name}.conf" settings'; - }) hubs; + environment.etc = lib.attrsets.mapAttrs' ( + name: cfg: + let + settings' = cfg.settings // { + tls_enable = cfg.enableTLS; + file_plugins = pkgs.writeText "uhub-plugins.conf" ( + lib.strings.concatStringsSep "\n" ( + map ( + { plugin, settings }: + ''plugin ${plugin} "${ + toString (lib.attrsets.mapAttrsToList (key: value: "${key}=${value}") settings) + }"'' + ) cfg.plugins + ) + ); + }; + in + { + name = "uhub/${name}.conf"; + value.source = settingsFormat.generate "uhub-${name}.conf" settings'; + } + ) hubs; - systemd.services = lib.attrsets.mapAttrs' (name: cfg: { - name = "uhub-${name}"; - value = let pkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; }; - in { - description = "high performance peer-to-peer hub for the ADC network"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - reloadIfChanged = true; - serviceConfig = { - Type = "notify"; - ExecStart = "${pkg}/bin/uhub -c /etc/uhub/${name}.conf -L"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - DynamicUser = true; + systemd.services = lib.attrsets.mapAttrs' (name: cfg: { + name = "uhub-${name}"; + value = + let + pkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; }; + in + { + description = "high performance peer-to-peer hub for the ADC network"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + reloadIfChanged = true; + serviceConfig = { + Type = "notify"; + ExecStart = "${pkg}/bin/uhub -c /etc/uhub/${name}.conf -L"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + DynamicUser = true; - AmbientCapabilities = "CAP_NET_BIND_SERVICE"; - CapabilityBoundingSet = "CAP_NET_BIND_SERVICE"; - }; - }; - }) hubs; - }; + AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + CapabilityBoundingSet = "CAP_NET_BIND_SERVICE"; + }; + }; + }) hubs; + }; } diff --git a/nixos/modules/services/misc/wastebin.nix b/nixos/modules/services/misc/wastebin.nix index 51dfe625c0107..499b071e4f3e6 100644 --- a/nixos/modules/services/misc/wastebin.nix +++ b/nixos/modules/services/misc/wastebin.nix @@ -1,10 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.wastebin; inherit (lib) - mkEnableOption mkPackageOption mkIf mkOption - types mapAttrs isBool getExe boolToString optionalAttrs; + mkEnableOption + mkPackageOption + mkIf + mkOption + types + mapAttrs + isBool + getExe + boolToString + optionalAttrs + ; in { @@ -48,7 +62,13 @@ in type = types.submodule { - freeformType = with types; attrsOf (oneOf [ bool int str ]); + freeformType = + with types; + attrsOf (oneOf [ + bool + int + str + ]); options = { @@ -101,12 +121,11 @@ in RUST_LOG = mkOption { default = "info"; type = types.str; - description = - '' - Influences logging. Besides the typical trace, debug, info etc. - keys, you can also set the tower_http key to some log level to get - additional information request and response logs. - ''; + description = '' + Influences logging. Besides the typical trace, debug, info etc. + keys, you can also set the tower_http key to some log level to get + additional information request and response logs. + ''; }; }; }; @@ -119,13 +138,13 @@ in }; }; - config = mkIf cfg.enable - { - systemd.services.wastebin = { - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - environment = mapAttrs (_: v: if isBool v then boolToString v else toString v) cfg.settings; - serviceConfig = { + config = mkIf cfg.enable { + systemd.services.wastebin = { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment = mapAttrs (_: v: if isBool v then boolToString v else toString v) cfg.settings; + serviceConfig = + { DevicePolicy = "closed"; DynamicUser = true; ExecStart = "${getExe cfg.package}"; @@ -140,18 +159,22 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = [ "native" ]; SystemCallFilter = [ "@system-service" ]; StateDirectory = baseNameOf cfg.stateDir; ReadWritePaths = cfg.stateDir; - } // optionalAttrs (cfg.secretFile != null) { + } + // optionalAttrs (cfg.secretFile != null) { EnvironmentFile = cfg.secretFile; }; - }; }; + }; meta.maintainers = with lib.maintainers; [ pinpox ]; } diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix index 45180e2bbd5fd..4b7f9dc4e022d 100644 --- a/nixos/modules/services/misc/weechat.nix +++ b/nixos/modules/services/misc/weechat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.weechat; in @@ -27,7 +32,7 @@ in config = lib.mkIf cfg.enable { users = { - groups.weechat = {}; + groups.weechat = { }; users.weechat = { createHome = true; group = "weechat"; @@ -48,12 +53,12 @@ in wants = [ "network.target" ]; }; - security.wrappers.screen = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.screen}/bin/screen"; - }; + security.wrappers.screen = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.screen}/bin/screen"; + }; }; meta.doc = ./weechat.md; diff --git a/nixos/modules/services/misc/xmrig.nix b/nixos/modules/services/misc/xmrig.nix index 4317f197d008f..1d1c0724a892c 100644 --- a/nixos/modules/services/misc/xmrig.nix +++ b/nixos/modules/services/misc/xmrig.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.xmrig; json = pkgs.formats.json { }; diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix index 5b0b1448f6856..c6299d654e288 100644 --- a/nixos/modules/services/misc/zoneminder.nix +++ b/nixos/modules/services/misc/zoneminder.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.zoneminder; @@ -8,10 +13,12 @@ let dirName = pkg.dirName; user = "zoneminder"; - group = { - nginx = config.services.nginx.group; - none = user; - }.${cfg.webserver}; + group = + { + nginx = config.services.nginx.group; + none = user; + } + .${cfg.webserver}; useNginx = cfg.webserver == "nginx"; @@ -25,12 +32,15 @@ let dirs = dirList: [ dirName ] ++ map (e: "${dirName}/${e}") dirList; cacheDirs = [ "swap" ]; - libDirs = [ "events" "exports" "images" "sounds" ]; + libDirs = [ + "events" + "exports" + "images" + "sounds" + ]; - dirStanzas = baseDir: - lib.concatStringsSep "\n" (map (e: - "ZM_DIR_${lib.toUpper e}=${baseDir}/${e}" - ) libDirs); + dirStanzas = + baseDir: lib.concatStringsSep "\n" (map (e: "ZM_DIR_${lib.toUpper e}=${baseDir}/${e}") libDirs); defaultsFile = pkgs.writeText "60-defaults.conf" '' # 01-system-paths.conf @@ -63,7 +73,8 @@ let ${cfg.extraConfig} ''; -in { +in +{ options = { services.zoneminder = with lib; { enable = lib.mkEnableOption '' @@ -78,7 +89,10 @@ in { ''; webserver = mkOption { - type = types.enum [ "nginx" "none" ]; + type = types.enum [ + "nginx" + "none" + ]; default = "nginx"; description = '' The webserver to configure for the PHP frontend. @@ -186,14 +200,15 @@ in { config = lib.mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.username == user; + { + assertion = cfg.database.createLocally -> cfg.database.username == user; message = "services.zoneminder.database.username must be set to ${user} if services.zoneminder.database.createLocally is set true"; } ]; environment.etc = { "zoneminder/60-defaults.conf".source = defaultsFile; - "zoneminder/80-nixos.conf".source = configFile; + "zoneminder/80-nixos.conf".source = configFile; }; networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ @@ -213,10 +228,14 @@ in { enable = true; package = lib.mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; - ensureUsers = [{ - name = cfg.database.username; - ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; - }]; + ensureUsers = [ + { + name = cfg.database.username; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; + } + ]; }; nginx = lib.mkIf useNginx { @@ -225,7 +244,12 @@ in { ${cfg.hostname} = { default = true; root = "${pkg}/share/zoneminder/www"; - listen = [ { addr = "0.0.0.0"; inherit (cfg) port; } ]; + listen = [ + { + addr = "0.0.0.0"; + inherit (cfg) port; + } + ]; extraConfig = '' index index.php; @@ -283,7 +307,13 @@ in { pools.zoneminder = { inherit user group; phpPackage = pkgs.php.withExtensions ( - { enabled, all }: enabled ++ [ all.apcu all.sysvsem ]); + { enabled, all }: + enabled + ++ [ + all.apcu + all.sysvsem + ] + ); phpOptions = '' date.timezone = "${config.time.timeZone}" ''; @@ -316,32 +346,37 @@ in { ]; after = [ "nginx.service" ] ++ lib.optional cfg.database.createLocally "mysql.service"; wantedBy = [ "multi-user.target" ]; - restartTriggers = [ defaultsFile configFile ]; - preStart = lib.optionalString useCustomDir '' - install -dm775 -o ${user} -g ${group} ${cfg.storageDir}/{${lib.concatStringsSep "," libDirs}} - '' + lib.optionalString cfg.database.createLocally '' - if ! test -e "/var/lib/${dirName}/db-created"; then - ${config.services.mysql.package}/bin/mysql < ${pkg}/share/zoneminder/db/zm_create.sql - touch "/var/lib/${dirName}/db-created" - fi - - ${zoneminder}/bin/zmupdate.pl -nointeractive - ${zoneminder}/bin/zmupdate.pl --nointeractive -f - - # Update ZM's Nix store path in the configuration table. Do nothing if the config doesn't - # contain ZM's Nix store path. - ${config.services.mysql.package}/bin/mysql -u zoneminder zm << EOF - UPDATE Config - SET Value = REGEXP_REPLACE(Value, "^/nix/store/[^-/]+-zoneminder-[^/]+", "${pkgs.zoneminder}") - WHERE Name = "ZM_FONT_FILE_LOCATION"; - EOF - ''; + restartTriggers = [ + defaultsFile + configFile + ]; + preStart = + lib.optionalString useCustomDir '' + install -dm775 -o ${user} -g ${group} ${cfg.storageDir}/{${lib.concatStringsSep "," libDirs}} + '' + + lib.optionalString cfg.database.createLocally '' + if ! test -e "/var/lib/${dirName}/db-created"; then + ${config.services.mysql.package}/bin/mysql < ${pkg}/share/zoneminder/db/zm_create.sql + touch "/var/lib/${dirName}/db-created" + fi + + ${zoneminder}/bin/zmupdate.pl -nointeractive + ${zoneminder}/bin/zmupdate.pl --nointeractive -f + + # Update ZM's Nix store path in the configuration table. Do nothing if the config doesn't + # contain ZM's Nix store path. + ${config.services.mysql.package}/bin/mysql -u zoneminder zm << EOF + UPDATE Config + SET Value = REGEXP_REPLACE(Value, "^/nix/store/[^-/]+-zoneminder-[^/]+", "${pkgs.zoneminder}") + WHERE Name = "ZM_FONT_FILE_LOCATION"; + EOF + ''; serviceConfig = { User = user; Group = group; SupplementaryGroups = [ "video" ]; - ExecStart = "${zoneminder}/bin/zmpkg.pl start"; - ExecStop = "${zoneminder}/bin/zmpkg.pl stop"; + ExecStart = "${zoneminder}/bin/zmpkg.pl start"; + ExecStop = "${zoneminder}/bin/zmpkg.pl stop"; ExecReload = "${zoneminder}/bin/zmpkg.pl restart"; PIDFile = "/run/${dirName}/zm.pid"; Type = "forking"; diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix index fc06d56b0d5a8..498eab040f26e 100644 --- a/nixos/modules/services/misc/zookeeper.nix +++ b/nixos/modules/services/misc/zookeeper.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.zookeeper; @@ -18,7 +23,8 @@ let ]; }; -in { +in +{ options.services.zookeeper = { enable = lib.mkEnableOption "Zookeeper"; @@ -87,9 +93,16 @@ in { extraCmdLineOptions = lib.mkOption { description = "Extra command line options for the Zookeeper launcher."; - default = [ "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ]; + default = [ + "-Dcom.sun.management.jmxremote" + "-Dcom.sun.management.jmxremote.local.only=true" + ]; type = lib.types.listOf lib.types.str; - example = [ "-Djava.net.preferIPv4Stack=true" "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ]; + example = [ + "-Djava.net.preferIPv4Stack=true" + "-Dcom.sun.management.jmxremote" + "-Dcom.sun.management.jmxremote.local.only=true" + ]; }; preferIPv4 = lib.mkOption { @@ -111,9 +124,8 @@ in { }; }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [cfg.package]; + environment.systemPackages = [ cfg.package ]; systemd.tmpfiles.rules = [ "d '${cfg.dataDir}' 0700 zookeeper - - -" @@ -148,6 +160,6 @@ in { description = "Zookeeper daemon user"; home = cfg.dataDir; }; - users.groups.zookeeper = {}; + users.groups.zookeeper = { }; }; } diff --git a/nixos/modules/services/monitoring/alerta.nix b/nixos/modules/services/monitoring/alerta.nix index 54aff7d6a92c3..ea8694727c633 100644 --- a/nixos/modules/services/monitoring/alerta.nix +++ b/nixos/modules/services/monitoring/alerta.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.alerta; @@ -53,7 +58,10 @@ in corsOrigins = lib.mkOption { type = lib.types.listOf lib.types.str; description = "List of URLs that can access the API for Cross-Origin Resource Sharing (CORS)"; - default = [ "http://localhost" "http://localhost:5000" ]; + default = [ + "http://localhost" + "http://localhost:5000" + ]; }; authenticationRequired = lib.mkOption { diff --git a/nixos/modules/services/monitoring/alloy.nix b/nixos/modules/services/monitoring/alloy.nix index 8507900756b63..25ca8eb1a74b3 100644 --- a/nixos/modules/services/monitoring/alloy.nix +++ b/nixos/modules/services/monitoring/alloy.nix @@ -1,10 +1,18 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.services.alloy; in { meta = { - maintainers = with lib.maintainers; [ flokli hbjydev ]; + maintainers = with lib.maintainers; [ + flokli + hbjydev + ]; }; options.services.alloy = { @@ -45,7 +53,10 @@ in extraFlags = lib.mkOption { type = with lib.types; listOf str; default = [ ]; - example = [ "--server.http.listen-addr=127.0.0.1:12346" "--disable-reporting" ]; + example = [ + "--server.http.listen-addr=127.0.0.1:12346" + "--disable-reporting" + ]; description = '' Extra command-line flags passed to {command}`alloy run`. @@ -54,7 +65,6 @@ in }; }; - config = lib.mkIf cfg.enable { systemd.services.alloy = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/monitoring/arbtt.nix b/nixos/modules/services/monitoring/arbtt.nix index 9c04e4447c733..fce2945e6685a 100644 --- a/nixos/modules/services/monitoring/arbtt.nix +++ b/nixos/modules/services/monitoring/arbtt.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.arbtt; -in { +in +{ options = { services.arbtt = { enable = lib.mkEnableOption "Arbtt statistics capture service"; diff --git a/nixos/modules/services/monitoring/below.nix b/nixos/modules/services/monitoring/below.nix index 26a38e5f82a42..79f9badf65fe7 100644 --- a/nixos/modules/services/monitoring/below.nix +++ b/nixos/modules/services/monitoring/below.nix @@ -1,28 +1,43 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.below; cfgContents = lib.concatStringsSep "\n" ( - lib.mapAttrsToList (n: v: ''${n} = "${v}"'') (lib.filterAttrs (_k: v: v != null) { - log_dir = cfg.dirs.log; - store_dir = cfg.dirs.store; - cgroup_filter_out = cfg.cgroupFilterOut; - }) + lib.mapAttrsToList (n: v: ''${n} = "${v}"'') ( + lib.filterAttrs (_k: v: v != null) { + log_dir = cfg.dirs.log; + store_dir = cfg.dirs.store; + cgroup_filter_out = cfg.cgroupFilterOut; + } + ) ); - mkDisableOption = n: lib.mkOption { - type = lib.types.bool; - default = true; - description = "Whether to enable ${n}."; - }; - optionalType = ty: x: lib.mkOption (x // { - description = x.description; - type = (lib.types.nullOr ty); - default = null; - }); + mkDisableOption = + n: + lib.mkOption { + type = lib.types.bool; + default = true; + description = "Whether to enable ${n}."; + }; + optionalType = + ty: x: + lib.mkOption ( + x + // { + description = x.description; + type = (lib.types.nullOr ty); + default = null; + } + ); optionalPath = optionalType lib.types.path; optionalStr = optionalType lib.types.str; optionalInt = optionalType lib.types.int; -in { +in +{ options = { services.below = { enable = lib.mkEnableOption "'below' resource monitor"; @@ -33,7 +48,7 @@ in { }; collect = { diskStats = mkDisableOption "dist_stat collection"; - ioStats = lib.mkEnableOption "io.stat collection for cgroups"; + ioStats = lib.mkEnableOption "io.stat collection for cgroups"; exitStats = mkDisableOption "eBPF-based exitstats"; }; compression.enable = lib.mkEnableOption "data compression"; @@ -89,15 +104,19 @@ in { serviceConfig.ExecStart = [ "" - ("${lib.getExe pkgs.below} record " + (lib.concatStringsSep " " ( - lib.optional (!cfg.collect.diskStats) "--disable-disk-stat" ++ - lib.optional cfg.collect.ioStats "--collect-io-stat" ++ - lib.optional (!cfg.collect.exitStats) "--disable-exitstats" ++ - lib.optional cfg.compression.enable "--compress" ++ + ( + "${lib.getExe pkgs.below} record " + + (lib.concatStringsSep " " ( + lib.optional (!cfg.collect.diskStats) "--disable-disk-stat" + ++ lib.optional cfg.collect.ioStats "--collect-io-stat" + ++ lib.optional (!cfg.collect.exitStats) "--disable-exitstats" + ++ lib.optional cfg.compression.enable "--compress" + ++ - lib.optional (cfg.retention.size != null) "--store-size-limit ${toString cfg.retention.size}" ++ - lib.optional (cfg.retention.time != null) "--retain-for-s ${toString cfg.retention.time}" - ))) + lib.optional (cfg.retention.size != null) "--store-size-limit ${toString cfg.retention.size}" + ++ lib.optional (cfg.retention.time != null) "--retain-for-s ${toString cfg.retention.time}" + )) + ) ]; }; }; diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix index 08288f644e777..d701a1a525442 100644 --- a/nixos/modules/services/monitoring/bosun.nix +++ b/nixos/modules/services/monitoring/bosun.nix @@ -1,10 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bosun; configFile = pkgs.writeText "bosun.conf" '' - ${lib.optionalString (cfg.opentsdbHost !=null) "tsdbHost = ${cfg.opentsdbHost}"} - ${lib.optionalString (cfg.influxHost !=null) "influxHost = ${cfg.influxHost}"} + ${lib.optionalString (cfg.opentsdbHost != null) "tsdbHost = ${cfg.opentsdbHost}"} + ${lib.optionalString (cfg.influxHost != null) "influxHost = ${cfg.influxHost}"} httpListen = ${cfg.listenAddress} stateFile = ${cfg.stateFile} ledisDir = ${cfg.ledisDir} @@ -13,7 +18,8 @@ let ${cfg.extraConfig} ''; -in { +in +{ options = { @@ -53,7 +59,7 @@ in { default = null; example = "localhost:8086"; description = '' - Host and port of the influxdb database. + Host and port of the influxdb database. ''; }; diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix index b801cde833d6e..c376fad895fe9 100644 --- a/nixos/modules/services/monitoring/cadvisor.nix +++ b/nixos/modules/services/monitoring/cadvisor.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.cadvisor; -in { +in +{ options = { services.cadvisor = { enable = lib.mkEnableOption "Cadvisor service"; @@ -80,7 +86,7 @@ in { extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Additional cadvisor options. @@ -91,18 +97,27 @@ in { }; config = lib.mkMerge [ - { services.cadvisor.storageDriverPasswordFile = lib.mkIf (cfg.storageDriverPassword != "") ( - lib.mkDefault (toString (pkgs.writeTextFile { - name = "cadvisor-storage-driver-password"; - text = cfg.storageDriverPassword; - })) + { + services.cadvisor.storageDriverPasswordFile = lib.mkIf (cfg.storageDriverPassword != "") ( + lib.mkDefault ( + toString ( + pkgs.writeTextFile { + name = "cadvisor-storage-driver-password"; + text = cfg.storageDriverPassword; + } + ) + ) ); } (lib.mkIf cfg.enable { systemd.services.cadvisor = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "docker.service" "influxdb.service" ]; + after = [ + "network.target" + "docker.service" + "influxdb.service" + ]; path = lib.optionals config.boot.zfs.enabled [ pkgs.zfs ]; @@ -128,7 +143,7 @@ in { ''} ''; - serviceConfig.TimeoutStartSec=300; + serviceConfig.TimeoutStartSec = 300; }; }) ]; diff --git a/nixos/modules/services/monitoring/certspotter.nix b/nixos/modules/services/monitoring/certspotter.nix index 5551f0e37c512..7d27844f61245 100644 --- a/nixos/modules/services/monitoring/certspotter.nix +++ b/nixos/modules/services/monitoring/certspotter.nix @@ -1,7 +1,9 @@ -{ config -, lib -, pkgs -, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.certspotter; @@ -13,16 +15,21 @@ let } ++ lib.optional (cfg.emailRecipients != [ ]) { name = "email_recipients"; - path = pkgs.writeText "certspotter-email_recipients" (builtins.concatStringsSep "\n" cfg.emailRecipients); + path = pkgs.writeText "certspotter-email_recipients" ( + builtins.concatStringsSep "\n" cfg.emailRecipients + ); } # always generate hooks dir when no emails are provided to allow running cert spotter with no hooks/emails ++ lib.optional (cfg.emailRecipients == [ ] || cfg.hooks != [ ]) { name = "hooks.d"; - path = pkgs.linkFarm "certspotter-hooks" (lib.imap1 (i: path: { - inherit path; - name = "hook${toString i}"; - }) cfg.hooks); - }); + path = pkgs.linkFarm "certspotter-hooks" ( + lib.imap1 (i: path: { + inherit path; + name = "hook${toString i}"; + }) cfg.hooks + ); + } + ); in { options.services.certspotter = { @@ -52,7 +59,10 @@ in type = with lib.types; listOf str; description = "Domain names to watch. To monitor a domain with all subdomains, prefix its name with `.` (e.g. `.example.org`)."; default = [ ]; - example = [ ".example.org" "another.example.com" ]; + example = [ + ".example.org" + "another.example.com" + ]; }; emailRecipients = lib.mkOption { @@ -65,7 +75,9 @@ in type = with lib.types; listOf path; description = '' Scripts to run upon the detection of a new certificate. See `man 8 certspotter-script` or - [the GitHub page](https://github.com/SSLMate/certspotter/blob/${pkgs.certspotter.src.rev or "master"}/man/certspotter-script.md) + [the GitHub page](https://github.com/SSLMate/certspotter/blob/${ + pkgs.certspotter.src.rev or "master" + }/man/certspotter-script.md) for more info. ''; default = [ ]; @@ -97,13 +109,17 @@ in } ]; - services.certspotter.sendmailPath = let - inherit (config.security) wrapperDir; - inherit (config.services.mail) sendmailSetuidWrapper; - in lib.mkMerge [ - (lib.mkIf (sendmailSetuidWrapper != null) (lib.mkOptionDefault "${wrapperDir}/${sendmailSetuidWrapper.program}")) - (lib.mkIf (sendmailSetuidWrapper == null) (lib.mkOptionDefault null)) - ]; + services.certspotter.sendmailPath = + let + inherit (config.security) wrapperDir; + inherit (config.services.mail) sendmailSetuidWrapper; + in + lib.mkMerge [ + (lib.mkIf (sendmailSetuidWrapper != null) ( + lib.mkOptionDefault "${wrapperDir}/${sendmailSetuidWrapper.program}" + )) + (lib.mkIf (sendmailSetuidWrapper == null) (lib.mkOptionDefault null)) + ]; users.users.certspotter = { description = "Cert Spotter user"; @@ -118,7 +134,8 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; environment.CERTSPOTTER_CONFIG_DIR = configDir; - environment.SENDMAIL_PATH = if cfg.sendmailPath != null then cfg.sendmailPath else "/run/current-system/sw/bin/false"; + environment.SENDMAIL_PATH = + if cfg.sendmailPath != null then cfg.sendmailPath else "/run/current-system/sw/bin/false"; script = '' export CERTSPOTTER_STATE_DIR="$STATE_DIRECTORY" cd "$CERTSPOTTER_STATE_DIR" diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix index 1bd7da52fef82..fc97d4f63e6c4 100644 --- a/nixos/modules/services/monitoring/collectd.nix +++ b/nixos/modules/services/monitoring/collectd.nix @@ -1,30 +1,36 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.collectd; baseDirLine = ''BaseDir "${cfg.dataDir}"''; unvalidated_conf = pkgs.writeText "collectd-unvalidated.conf" cfg.extraConfig; - conf = if cfg.validateConfig then - pkgs.runCommand "collectd.conf" {} '' - echo testing ${unvalidated_conf} - cp ${unvalidated_conf} collectd.conf - # collectd -t fails if BaseDir does not exist. - substituteInPlace collectd.conf --replace ${lib.escapeShellArgs [ baseDirLine ]} 'BaseDir "."' - ${package}/bin/collectd -t -C collectd.conf - cp ${unvalidated_conf} $out - '' else unvalidated_conf; - - package = - if cfg.buildMinimalPackage - then minimalPackage - else cfg.package; + conf = + if cfg.validateConfig then + pkgs.runCommand "collectd.conf" { } '' + echo testing ${unvalidated_conf} + cp ${unvalidated_conf} collectd.conf + # collectd -t fails if BaseDir does not exist. + substituteInPlace collectd.conf --replace ${lib.escapeShellArgs [ baseDirLine ]} 'BaseDir "."' + ${package}/bin/collectd -t -C collectd.conf + cp ${unvalidated_conf} $out + '' + else + unvalidated_conf; + + package = if cfg.buildMinimalPackage then minimalPackage else cfg.package; minimalPackage = cfg.package.override { enabledPlugins = [ "syslog" ] ++ builtins.attrNames cfg.plugins; }; -in { +in +{ options.services.collectd = with lib.types; { enable = lib.mkEnableOption "collectd agent"; @@ -73,7 +79,7 @@ in { }; include = lib.mkOption { - default = []; + default = [ ]; description = '' Additional paths to load config from. ''; @@ -81,8 +87,12 @@ in { }; plugins = lib.mkOption { - default = {}; - example = { cpu = ""; memory = ""; network = "Server 192.168.1.1 25826"; }; + default = { }; + example = { + cpu = ""; + memory = ""; + network = "Server 192.168.1.1 25826"; + }; description = '' Attribute set of plugin names to plugin config segments ''; @@ -113,12 +123,14 @@ in { NotifyLevel "OKAY" - ${lib.concatStrings (lib.mapAttrsToList (plugin: pluginConfig: '' - LoadPlugin ${plugin} - - ${pluginConfig} - - '') cfg.plugins)} + ${lib.concatStrings ( + lib.mapAttrsToList (plugin: pluginConfig: '' + LoadPlugin ${plugin} + + ${pluginConfig} + + '') cfg.plugins + )} ${lib.concatMapStrings (f: '' Include "${f}" @@ -150,7 +162,7 @@ in { }; users.groups = lib.optionalAttrs (cfg.user == "collectd") { - collectd = {}; + collectd = { }; }; }; } diff --git a/nixos/modules/services/monitoring/das_watchdog.nix b/nixos/modules/services/monitoring/das_watchdog.nix index e076bf64364e1..82c9fea168d12 100644 --- a/nixos/modules/services/monitoring/das_watchdog.nix +++ b/nixos/modules/services/monitoring/das_watchdog.nix @@ -1,11 +1,17 @@ # A general watchdog for the linux operating system that should run in the # background at all times to ensure a realtime process won't hang the machine -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (pkgs) das_watchdog; -in { +in +{ ###### interface options = { @@ -18,7 +24,10 @@ in { environment.systemPackages = [ das_watchdog ]; systemd.services.das_watchdog = { description = "Watchdog to ensure a realtime process won't hang the machine"; - after = [ "multi-user.target" "sound.target" ]; + after = [ + "multi-user.target" + "sound.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "root"; diff --git a/nixos/modules/services/monitoring/do-agent.nix b/nixos/modules/services/monitoring/do-agent.nix index e5f1bdf7fdfc4..23595ac00c323 100644 --- a/nixos/modules/services/monitoring/do-agent.nix +++ b/nixos/modules/services/monitoring/do-agent.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.do-agent; @@ -14,7 +19,10 @@ in systemd.services.do-agent = { wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = [ "" "${pkgs.do-agent}/bin/do-agent --syslog" ]; + ExecStart = [ + "" + "${pkgs.do-agent}/bin/do-agent --syslog" + ]; DynamicUser = true; }; }; diff --git a/nixos/modules/services/monitoring/goss.nix b/nixos/modules/services/monitoring/goss.nix index 00246752a7cd6..b53df0806d26d 100644 --- a/nixos/modules/services/monitoring/goss.nix +++ b/nixos/modules/services/monitoring/goss.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.goss; @@ -6,7 +11,8 @@ let settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "goss.yaml" cfg.settings; -in { +in +{ meta = { doc = ./goss.md; maintainers = [ lib.maintainers.anthonyroussel ]; diff --git a/nixos/modules/services/monitoring/grafana-agent.nix b/nixos/modules/services/monitoring/grafana-agent.nix index f82675c8c6cb7..f00514d61936c 100644 --- a/nixos/modules/services/monitoring/grafana-agent.nix +++ b/nixos/modules/services/monitoring/grafana-agent.nix @@ -1,4 +1,10 @@ -{ lib, pkgs, config, generators, ... }: +{ + lib, + pkgs, + config, + generators, + ... +}: let cfg = config.services.grafana-agent; settingsFormat = pkgs.formats.yaml { }; @@ -6,7 +12,10 @@ let in { meta = { - maintainers = with lib.maintainers; [ flokli zimbatm ]; + maintainers = with lib.maintainers; [ + flokli + zimbatm + ]; }; options.services.grafana-agent = { @@ -34,7 +43,10 @@ in extraFlags = lib.mkOption { type = with lib.types; listOf str; default = [ ]; - example = [ "-enable-features=integrations-next" "-disable-reporting" ]; + example = [ + "-enable-features=integrations-next" + "-disable-reporting" + ]; description = '' Extra command-line flags passed to {command}`grafana-agent`. @@ -68,43 +80,49 @@ in } ''; example = { - metrics.global.remote_write = [{ - url = "\${METRICS_REMOTE_WRITE_URL}"; - basic_auth.username = "\${METRICS_REMOTE_WRITE_USERNAME}"; - basic_auth.password_file = "\${CREDENTIALS_DIRECTORY}/metrics_remote_write_password"; - }]; - logs.configs = [{ - name = "default"; - scrape_configs = [ - { - job_name = "journal"; - journal = { - max_age = "12h"; - labels.job = "systemd-journal"; - }; - relabel_configs = [ - { - source_labels = [ "__journal__systemd_unit" ]; - target_label = "systemd_unit"; - } - { - source_labels = [ "__journal__hostname" ]; - target_label = "nodename"; - } - { - source_labels = [ "__journal_syslog_identifier" ]; - target_label = "syslog_identifier"; - } - ]; - } - ]; - positions.filename = "\${STATE_DIRECTORY}/loki_positions.yaml"; - clients = [{ - url = "\${LOGS_REMOTE_WRITE_URL}"; - basic_auth.username = "\${LOGS_REMOTE_WRITE_USERNAME}"; - basic_auth.password_file = "\${CREDENTIALS_DIRECTORY}/logs_remote_write_password"; - }]; - }]; + metrics.global.remote_write = [ + { + url = "\${METRICS_REMOTE_WRITE_URL}"; + basic_auth.username = "\${METRICS_REMOTE_WRITE_USERNAME}"; + basic_auth.password_file = "\${CREDENTIALS_DIRECTORY}/metrics_remote_write_password"; + } + ]; + logs.configs = [ + { + name = "default"; + scrape_configs = [ + { + job_name = "journal"; + journal = { + max_age = "12h"; + labels.job = "systemd-journal"; + }; + relabel_configs = [ + { + source_labels = [ "__journal__systemd_unit" ]; + target_label = "systemd_unit"; + } + { + source_labels = [ "__journal__hostname" ]; + target_label = "nodename"; + } + { + source_labels = [ "__journal_syslog_identifier" ]; + target_label = "syslog_identifier"; + } + ]; + } + ]; + positions.filename = "\${STATE_DIRECTORY}/loki_positions.yaml"; + clients = [ + { + url = "\${LOGS_REMOTE_WRITE_URL}"; + basic_auth.username = "\${LOGS_REMOTE_WRITE_USERNAME}"; + basic_auth.password_file = "\${CREDENTIALS_DIRECTORY}/logs_remote_write_password"; + } + ]; + } + ]; }; }; }; diff --git a/nixos/modules/services/monitoring/grafana-image-renderer.nix b/nixos/modules/services/monitoring/grafana-image-renderer.nix index e477f73adaa13..9ec6cc9d97aee 100644 --- a/nixos/modules/services/monitoring/grafana-image-renderer.nix +++ b/nixos/modules/services/monitoring/grafana-image-renderer.nix @@ -1,11 +1,17 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.services.grafana-image-renderer; format = pkgs.formats.json { }; configFile = format.generate "grafana-image-renderer-config.json" cfg.settings; -in { +in +{ options.services.grafana-image-renderer = { enable = lib.mkEnableOption "grafana-image-renderer"; @@ -34,7 +40,12 @@ in { ''; }; logging.level = lib.mkOption { - type = lib.types.enum [ "error" "warning" "info" "debug" ]; + type = lib.types.enum [ + "error" + "warning" + "info" + "debug" + ]; default = "info"; description = '' The log-level of the {file}`grafana-image-renderer.service`-unit. @@ -58,7 +69,11 @@ in { }; mode = lib.mkOption { default = "default"; - type = lib.types.enum [ "default" "reusable" "clustered" ]; + type = lib.types.enum [ + "default" + "reusable" + "clustered" + ]; description = '' Rendering mode of `grafana-image-renderer`: @@ -82,7 +97,7 @@ in { }; }; - default = {}; + default = { }; description = '' Configuration attributes for `grafana-image-renderer`. @@ -95,7 +110,8 @@ in { config = lib.mkIf cfg.enable { assertions = [ - { assertion = cfg.provisionGrafana -> config.services.grafana.enable; + { + assertion = cfg.provisionGrafana -> config.services.grafana.enable; message = '' To provision a Grafana instance to use grafana-image-renderer, `services.grafana.enable` must be set to `true`! diff --git a/nixos/modules/services/monitoring/grafana-reporter.nix b/nixos/modules/services/monitoring/grafana-reporter.nix index 91725206ea12a..3b3c3cc3887a2 100644 --- a/nixos/modules/services/monitoring/grafana-reporter.nix +++ b/nixos/modules/services/monitoring/grafana-reporter.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.grafana_reporter; -in { +in +{ options.services.grafana_reporter = { enable = lib.mkEnableOption "grafana_reporter"; @@ -10,7 +16,10 @@ in { protocol = lib.mkOption { description = "Grafana protocol."; default = "http"; - type = lib.types.enum ["http" "https"]; + type = lib.types.enum [ + "http" + "https" + ]; }; addr = lib.mkOption { description = "Grafana address."; @@ -47,18 +56,20 @@ in { config = lib.mkIf cfg.enable { systemd.services.grafana_reporter = { description = "Grafana Reporter Service Daemon"; - wantedBy = ["multi-user.target"]; - after = ["network.target"]; - serviceConfig = let - args = lib.concatStringsSep " " [ - "-proto ${cfg.grafana.protocol}://" - "-ip ${cfg.grafana.addr}:${toString cfg.grafana.port}" - "-port :${toString cfg.port}" - "-templates ${cfg.templateDir}" - ]; - in { - ExecStart = "${pkgs.grafana-reporter}/bin/grafana-reporter ${args}"; - }; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = + let + args = lib.concatStringsSep " " [ + "-proto ${cfg.grafana.protocol}://" + "-ip ${cfg.grafana.addr}:${toString cfg.grafana.port}" + "-port :${toString cfg.port}" + "-templates ${cfg.templateDir}" + ]; + in + { + ExecStart = "${pkgs.grafana-reporter}/bin/grafana-reporter ${args}"; + }; }; }; } diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 7987f34f1278b..162d9ce679bec 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.graphite; opt = options.services.graphite; @@ -7,17 +13,20 @@ let dataDir = cfg.dataDir; staticDir = cfg.dataDir + "/static"; - graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" { - inherit graphiteLocalSettings; - preferLocalBuild = true; - } '' - mkdir -p $out - ln -s $graphiteLocalSettings $out/graphite_local_settings.py - ''; + graphiteLocalSettingsDir = + pkgs.runCommand "graphite_local_settings" + { + inherit graphiteLocalSettings; + preferLocalBuild = true; + } + '' + mkdir -p $out + ln -s $graphiteLocalSettings $out/graphite_local_settings.py + ''; graphiteLocalSettings = pkgs.writeText "graphite_local_settings.py" ( - "STATIC_ROOT = '${staticDir}'\n" + - lib.optionalString (config.time.timeZone != null) "TIME_ZONE = '${config.time.timeZone}'\n" + "STATIC_ROOT = '${staticDir}'\n" + + lib.optionalString (config.time.timeZone != null) "TIME_ZONE = '${config.time.timeZone}'\n" + cfg.web.extraConfig ); @@ -41,27 +50,31 @@ let ]; }; - carbonOpts = name: with config.ids; '' - --nodaemon --syslog --prefix=${name} --pidfile /run/${name}/${name}.pid ${name} - ''; + carbonOpts = + name: with config.ids; '' + --nodaemon --syslog --prefix=${name} --pidfile /run/${name}/${name}.pid ${name} + ''; carbonEnv = { - PYTHONPATH = let - cenv = pkgs.python3.buildEnv.override { - extraLibs = [ pkgs.python3Packages.carbon ]; - }; - in "${cenv}/${pkgs.python3.sitePackages}"; + PYTHONPATH = + let + cenv = pkgs.python3.buildEnv.override { + extraLibs = [ pkgs.python3Packages.carbon ]; + }; + in + "${cenv}/${pkgs.python3.sitePackages}"; GRAPHITE_ROOT = dataDir; GRAPHITE_CONF_DIR = configDir; GRAPHITE_STORAGE_DIR = dataDir; }; -in { +in +{ imports = [ - (lib.mkRemovedOptionModule ["services" "graphite" "api"] "") - (lib.mkRemovedOptionModule ["services" "graphite" "beacon"] "") - (lib.mkRemovedOptionModule ["services" "graphite" "pager"] "") + (lib.mkRemovedOptionModule [ "services" "graphite" "api" ] "") + (lib.mkRemovedOptionModule [ "services" "graphite" "beacon" ] "") + (lib.mkRemovedOptionModule [ "services" "graphite" "pager" ] "") ]; ###### interface @@ -247,7 +260,7 @@ in { }; extraConfig = lib.mkOption { - default = {}; + default = { }; description = '' Extra seyren configuration. See @@ -267,60 +280,72 @@ in { config = lib.mkMerge [ (lib.mkIf cfg.carbon.enableCache { - systemd.services.carbonCache = let name = "carbon-cache"; in { - description = "Graphite Data Storage Backend"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - environment = carbonEnv; - serviceConfig = { - Slice = "system-graphite.slice"; - RuntimeDirectory = name; - ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}"; - User = "graphite"; - Group = "graphite"; - PermissionsStartOnly = true; - PIDFile="/run/${name}/${name}.pid"; + systemd.services.carbonCache = + let + name = "carbon-cache"; + in + { + description = "Graphite Data Storage Backend"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = carbonEnv; + serviceConfig = { + Slice = "system-graphite.slice"; + RuntimeDirectory = name; + ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}"; + User = "graphite"; + Group = "graphite"; + PermissionsStartOnly = true; + PIDFile = "/run/${name}/${name}.pid"; + }; + preStart = '' + install -dm0700 -o graphite -g graphite ${cfg.dataDir} + install -dm0700 -o graphite -g graphite ${cfg.dataDir}/whisper + ''; }; - preStart = '' - install -dm0700 -o graphite -g graphite ${cfg.dataDir} - install -dm0700 -o graphite -g graphite ${cfg.dataDir}/whisper - ''; - }; }) (lib.mkIf cfg.carbon.enableAggregator { - systemd.services.carbonAggregator = let name = "carbon-aggregator"; in { - enable = cfg.carbon.enableAggregator; - description = "Carbon Data Aggregator"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - environment = carbonEnv; - serviceConfig = { - Slice = "system-graphite.slice"; - RuntimeDirectory = name; - ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}"; - User = "graphite"; - Group = "graphite"; - PIDFile="/run/${name}/${name}.pid"; + systemd.services.carbonAggregator = + let + name = "carbon-aggregator"; + in + { + enable = cfg.carbon.enableAggregator; + description = "Carbon Data Aggregator"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = carbonEnv; + serviceConfig = { + Slice = "system-graphite.slice"; + RuntimeDirectory = name; + ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}"; + User = "graphite"; + Group = "graphite"; + PIDFile = "/run/${name}/${name}.pid"; + }; }; - }; }) (lib.mkIf cfg.carbon.enableRelay { - systemd.services.carbonRelay = let name = "carbon-relay"; in { - description = "Carbon Data Relay"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - environment = carbonEnv; - serviceConfig = { - Slice = "system-graphite.slice"; - RuntimeDirectory = name; - ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}"; - User = "graphite"; - Group = "graphite"; - PIDFile="/run/${name}/${name}.pid"; + systemd.services.carbonRelay = + let + name = "carbon-relay"; + in + { + description = "Carbon Data Relay"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = carbonEnv; + serviceConfig = { + Slice = "system-graphite.slice"; + RuntimeDirectory = name; + ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}"; + User = "graphite"; + Group = "graphite"; + PIDFile = "/run/${name}/${name}.pid"; + }; }; - }; }) (lib.mkIf (cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay) { @@ -336,19 +361,21 @@ in { after = [ "network.target" ]; path = [ pkgs.perl ]; environment = { - PYTHONPATH = let + PYTHONPATH = + let penv = pkgs.python3.buildEnv.override { extraLibs = [ pkgs.python3Packages.graphite-web ]; }; penvPack = "${penv}/${pkgs.python3.sitePackages}"; - in lib.concatStringsSep ":" [ - "${graphiteLocalSettingsDir}" - "${penvPack}" - # explicitly adding pycairo in path because it cannot be imported via buildEnv - "${pkgs.python3Packages.pycairo}/${pkgs.python3.sitePackages}" - ]; + in + lib.concatStringsSep ":" [ + "${graphiteLocalSettingsDir}" + "${penvPack}" + # explicitly adding pycairo in path because it cannot be imported via buildEnv + "${pkgs.python3Packages.pycairo}/${pkgs.python3.sitePackages}" + ]; DJANGO_SETTINGS_MODULE = "graphite.settings"; GRAPHITE_SETTINGS_MODULE = "graphite_local_settings"; GRAPHITE_CONF_DIR = configDir; @@ -394,7 +421,10 @@ in { systemd.services.seyren = { description = "Graphite Alerting Dashboard"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "mongodb.service" ]; + after = [ + "network.target" + "mongodb.service" + ]; environment = seyrenConfig; serviceConfig = { ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}"; @@ -414,22 +444,28 @@ in { services.mongodb.enable = lib.mkDefault true; }) - (lib.mkIf ( - cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay || - cfg.web.enable || cfg.seyren.enable - ) { - systemd.slices.system-graphite = { - description = "Graphite Graphing System Slice"; - documentation = [ "https://graphite.readthedocs.io/en/latest/overview.html" ]; - }; + (lib.mkIf + ( + cfg.carbon.enableCache + || cfg.carbon.enableAggregator + || cfg.carbon.enableRelay + || cfg.web.enable + || cfg.seyren.enable + ) + { + systemd.slices.system-graphite = { + description = "Graphite Graphing System Slice"; + documentation = [ "https://graphite.readthedocs.io/en/latest/overview.html" ]; + }; - users.users.graphite = { - uid = config.ids.uids.graphite; - group = "graphite"; - description = "Graphite daemon user"; - home = dataDir; - }; - users.groups.graphite.gid = config.ids.gids.graphite; - }) + users.users.graphite = { + uid = config.ids.uids.graphite; + group = "graphite"; + description = "Graphite daemon user"; + home = dataDir; + }; + users.groups.graphite.gid = config.ids.gids.graphite; + } + ) ]; } diff --git a/nixos/modules/services/monitoring/hdaps.nix b/nixos/modules/services/monitoring/hdaps.nix index ee9b85a50ae48..54520737ead00 100644 --- a/nixos/modules/services/monitoring/hdaps.nix +++ b/nixos/modules/services/monitoring/hdaps.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hdapsd; hdapsd = [ pkgs.hdapsd ]; @@ -6,9 +11,9 @@ in { options = { services.hdapsd.enable = lib.mkEnableOption '' - Hard Drive Active Protection System Daemon, - devices are detected and managed automatically by udev and systemd - ''; + Hard Drive Active Protection System Daemon, + devices are detected and managed automatically by udev and systemd + ''; }; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/monitoring/heapster.nix b/nixos/modules/services/monitoring/heapster.nix index ea03ec46c55c7..df28f62066a81 100644 --- a/nixos/modules/services/monitoring/heapster.nix +++ b/nixos/modules/services/monitoring/heapster.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.heapster; -in { +in +{ options.services.heapster = { enable = lib.mkEnableOption "Heapster monitoring"; @@ -28,8 +34,11 @@ in { config = lib.mkIf cfg.enable { systemd.services.heapster = { - wantedBy = ["multi-user.target"]; - after = ["cadvisor.service" "kube-apiserver.service"]; + wantedBy = [ "multi-user.target" ]; + after = [ + "cadvisor.service" + "kube-apiserver.service" + ]; serviceConfig = { ExecStart = "${cfg.package}/bin/heapster --source=${cfg.source} --sink=${cfg.sink} ${cfg.extraOpts}"; @@ -42,6 +51,6 @@ in { group = "heapster"; description = "Heapster user"; }; - users.groups.heapster = {}; + users.groups.heapster = { }; }; } diff --git a/nixos/modules/services/monitoring/incron.nix b/nixos/modules/services/monitoring/incron.nix index f7370e4eac23b..a3739beb8fbed 100644 --- a/nixos/modules/services/monitoring/incron.nix +++ b/nixos/modules/services/monitoring/incron.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.incron; @@ -51,7 +56,7 @@ in extraPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.rsync ]"; description = "Extra packages available to the system incrontab."; }; @@ -62,13 +67,14 @@ in config = lib.mkIf cfg.enable { - warnings = lib.optional (cfg.allow != null && cfg.deny != null) - "If `services.incron.allow` is set then `services.incron.deny` will be ignored."; + warnings = lib.optional ( + cfg.allow != null && cfg.deny != null + ) "If `services.incron.allow` is set then `services.incron.deny` will be ignored."; environment.systemPackages = [ pkgs.incron ]; - security.wrappers.incrontab = - { setuid = true; + security.wrappers.incrontab = { + setuid = true; owner = "root"; group = "root"; source = "${pkgs.incron}/bin/incrontab"; diff --git a/nixos/modules/services/monitoring/kapacitor.nix b/nixos/modules/services/monitoring/kapacitor.nix index f42dfff623a09..db4ed1beb12b5 100644 --- a/nixos/modules/services/monitoring/kapacitor.nix +++ b/nixos/modules/services/monitoring/kapacitor.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.kapacitor; diff --git a/nixos/modules/services/monitoring/karma.nix b/nixos/modules/services/monitoring/karma.nix index 2300067719fff..50b8d384a4a36 100644 --- a/nixos/modules/services/monitoring/karma.nix +++ b/nixos/modules/services/monitoring/karma.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.karma; yaml = pkgs.formats.yaml { }; @@ -21,13 +26,13 @@ in environment = lib.mkOption { type = with lib.types; attrsOf str; - default = {}; + default = { }; description = '' Additional environment variables to provide to karma. ''; example = { ALERTMANAGER_URI = "https://alertmanager.example.com"; - ALERTMANAGER_NAME= "single"; + ALERTMANAGER_NAME = "single"; }; }; @@ -41,7 +46,7 @@ in extraOptions = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Extra command line options. ''; diff --git a/nixos/modules/services/monitoring/kthxbye.nix b/nixos/modules/services/monitoring/kthxbye.nix index a4ea97f0fa755..e2232597736a3 100644 --- a/nixos/modules/services/monitoring/kthxbye.nix +++ b/nixos/modules/services/monitoring/kthxbye.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.kthxbye; in @@ -19,7 +24,7 @@ in extraOptions = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Extra command line options. diff --git a/nixos/modules/services/monitoring/loki.nix b/nixos/modules/services/monitoring/loki.nix index 892605fa70163..b3daf470ad9c5 100644 --- a/nixos/modules/services/monitoring/loki.nix +++ b/nixos/modules/services/monitoring/loki.nix @@ -1,16 +1,29 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) escapeShellArgs mkEnableOption mkIf mkOption types; + inherit (lib) + escapeShellArgs + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.loki; - prettyJSON = conf: + prettyJSON = + conf: pkgs.runCommand "loki-config.json" { } '' echo '${builtins.toJSON conf}' | ${pkgs.jq}/bin/jq 'del(._module)' > $out ''; -in { +in +{ options.services.loki = { enable = mkEnableOption "loki"; @@ -41,8 +54,8 @@ in { }; configuration = mkOption { - type = (pkgs.formats.json {}).type; - default = {}; + type = (pkgs.formats.json { }).type; + default = { }; description = '' Specify the configuration for Loki in Nix. ''; @@ -58,7 +71,7 @@ in { extraFlags = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "--server.http-listen-port=3101" ]; description = '' Specify a list of additional command line flags, @@ -68,17 +81,19 @@ in { }; config = mkIf cfg.enable { - assertions = [{ - assertion = ( - (cfg.configuration == {} -> cfg.configFile != null) && - (cfg.configFile != null -> cfg.configuration == {}) - ); - message = '' - Please specify either - 'services.loki.configuration' or - 'services.loki.configFile'. - ''; - }]; + assertions = [ + { + assertion = ( + (cfg.configuration == { } -> cfg.configFile != null) + && (cfg.configFile != null -> cfg.configuration == { }) + ); + message = '' + Please specify either + 'services.loki.configuration' or + 'services.loki.configFile'. + ''; + } + ]; environment.systemPackages = [ cfg.package ]; # logcli @@ -97,34 +112,40 @@ in { after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = let - conf = if cfg.configFile == null - then - # Config validation may fail when using extraFlags = [ "-config.expand-env=true" ]. - # To work around this, we simply skip it when extraFlags is not empty. - if cfg.extraFlags == [] - then validateConfig (prettyJSON cfg.configuration) - else prettyJSON cfg.configuration - else cfg.configFile; - validateConfig = file: - pkgs.runCommand "validate-loki-conf" { - nativeBuildInputs = [ cfg.package ]; - } '' - loki -verify-config -config.file "${file}" - ln -s "${file}" "$out" - ''; - in - { - ExecStart = "${cfg.package}/bin/loki --config.file=${conf} ${escapeShellArgs cfg.extraFlags}"; - User = cfg.user; - Restart = "always"; - PrivateTmp = true; - ProtectHome = true; - ProtectSystem = "full"; - DevicePolicy = "closed"; - NoNewPrivileges = true; - WorkingDirectory = cfg.dataDir; - }; + serviceConfig = + let + conf = + if cfg.configFile == null then + # Config validation may fail when using extraFlags = [ "-config.expand-env=true" ]. + # To work around this, we simply skip it when extraFlags is not empty. + if cfg.extraFlags == [ ] then + validateConfig (prettyJSON cfg.configuration) + else + prettyJSON cfg.configuration + else + cfg.configFile; + validateConfig = + file: + pkgs.runCommand "validate-loki-conf" + { + nativeBuildInputs = [ cfg.package ]; + } + '' + loki -verify-config -config.file "${file}" + ln -s "${file}" "$out" + ''; + in + { + ExecStart = "${cfg.package}/bin/loki --config.file=${conf} ${escapeShellArgs cfg.extraFlags}"; + User = cfg.user; + Restart = "always"; + PrivateTmp = true; + ProtectHome = true; + ProtectSystem = "full"; + DevicePolicy = "closed"; + NoNewPrivileges = true; + WorkingDirectory = cfg.dataDir; + }; }; }; } diff --git a/nixos/modules/services/monitoring/longview.nix b/nixos/modules/services/monitoring/longview.nix index ecb4836169db6..6123b2ccbaed7 100644 --- a/nixos/modules/services/monitoring/longview.nix +++ b/nixos/modules/services/monitoring/longview.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.longview; runDir = "/run/longview"; configsDir = "${runDir}/longview.d"; -in { +in +{ options = { services.longview = { @@ -101,57 +107,78 @@ in { }; config = lib.mkIf cfg.enable { - systemd.services.longview = - { description = "Longview Metrics Collection"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig.Type = "forking"; - serviceConfig.ExecStop = "-${pkgs.coreutils}/bin/kill -TERM $MAINPID"; - serviceConfig.ExecReload = "-${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - serviceConfig.PIDFile = "${runDir}/longview.pid"; - serviceConfig.ExecStart = "${pkgs.longview}/bin/longview"; - preStart = '' + systemd.services.longview = { + description = "Longview Metrics Collection"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "forking"; + serviceConfig.ExecStop = "-${pkgs.coreutils}/bin/kill -TERM $MAINPID"; + serviceConfig.ExecReload = "-${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + serviceConfig.PIDFile = "${runDir}/longview.pid"; + serviceConfig.ExecStart = "${pkgs.longview}/bin/longview"; + preStart = + '' umask 077 mkdir -p ${configsDir} - '' + (lib.optionalString (cfg.apiKeyFile != null) '' + '' + + (lib.optionalString (cfg.apiKeyFile != null) '' cp --no-preserve=all "${cfg.apiKeyFile}" ${runDir}/longview.key - '') + (lib.optionalString (cfg.apacheStatusUrl != "") '' + '') + + (lib.optionalString (cfg.apacheStatusUrl != "") '' cat > ${configsDir}/Apache.conf < ${configsDir}/MySQL.conf < ${configsDir}/Nginx.conf < ''; - default = {}; + default = { }; example = { verbose = false; silent = false; @@ -44,19 +50,28 @@ in { options.host_status = { on_start = lib.mkOption { - type = lib.types.enum [ "working" "standby" "maintenance" "poweroff" ]; + type = lib.types.enum [ + "working" + "standby" + "maintenance" + "poweroff" + ]; description = "Host status after agent startup."; default = "working"; }; on_stop = lib.mkOption { - type = lib.types.enum [ "working" "standby" "maintenance" "poweroff" ]; + type = lib.types.enum [ + "working" + "standby" + "maintenance" + "poweroff" + ]; description = "Host status after agent shutdown."; default = "poweroff"; }; }; - options.diagnostic = - lib.mkEnableOption "collecting memory usage for the agent itself"; + options.diagnostic = lib.mkEnableOption "collecting memory usage for the agent itself"; }; }; }; @@ -82,7 +97,10 @@ in { systemd.services.mackerel-agent = { description = "mackerel.io agent"; wants = [ "network-online.target" ]; - after = [ "network-online.target" "nss-lookup.target" ]; + after = [ + "network-online.target" + "nss-lookup.target" + ]; wantedBy = [ "multi-user.target" ]; environment = { MACKEREL_PLUGIN_WORKDIR = lib.mkDefault "%C/mackerel-agent"; diff --git a/nixos/modules/services/monitoring/metricbeat.nix b/nixos/modules/services/monitoring/metricbeat.nix index fe6f7f1cfcfae..c8e2f4c7773ce 100644 --- a/nixos/modules/services/monitoring/metricbeat.nix +++ b/nixos/modules/services/monitoring/metricbeat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -12,7 +17,7 @@ let ; cfg = config.services.metricbeat; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; in { @@ -39,30 +44,47 @@ in See . ''; - default = {}; - type = types.attrsOf (types.submodule ({ name, ... }: { - freeformType = settingsFormat.type; - options = { - module = mkOption { - type = types.str; - default = name; - description = '' - The name of the module. - - Look for the value after `module:` on the individual - module pages linked from . - ''; - }; - }; - })); + default = { }; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { + freeformType = settingsFormat.type; + options = { + module = mkOption { + type = types.str; + default = name; + description = '' + The name of the module. + + Look for the value after `module:` on the individual + module pages linked from . + ''; + }; + }; + } + ) + ); example = { system = { - metricsets = ["cpu" "load" "memory" "network" "process" "process_summary" "uptime" "socket_summary"]; + metricsets = [ + "cpu" + "load" + "memory" + "network" + "process" + "process_summary" + "uptime" + "socket_summary" + ]; enabled = true; period = "10s"; - processes = [".*"]; - cpu.metrics = ["percentages" "normalized_percentages"]; - core.metrics = ["percentages"]; + processes = [ ".*" ]; + cpu.metrics = [ + "percentages" + "normalized_percentages" + ]; + core.metrics = [ "percentages" ]; }; }; }; @@ -83,7 +105,7 @@ in tags = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' Tags to place on the shipped metrics. See . @@ -92,7 +114,7 @@ in metricbeat.modules = mkOption { type = types.listOf settingsFormat.type; - default = []; + default = [ ]; internal = true; description = '' The metric collecting modules. Use [](#opt-services.metricbeat.modules) instead. @@ -102,7 +124,7 @@ in }; }; }; - default = {}; + default = { }; description = '' Configuration for metricbeat. See for supported values. ''; @@ -116,7 +138,7 @@ in assertions = [ { # empty modules would cause a failure at runtime - assertion = cfg.settings.metricbeat.modules != []; + assertion = cfg.settings.metricbeat.modules != [ ]; message = "services.metricbeat: You must configure one or more modules."; } ]; diff --git a/nixos/modules/services/monitoring/mimir.nix b/nixos/modules/services/monitoring/mimir.nix index 76fff95ae597b..ffb87610f4182 100644 --- a/nixos/modules/services/monitoring/mimir.nix +++ b/nixos/modules/services/monitoring/mimir.nix @@ -1,18 +1,31 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) escapeShellArgs mkEnableOption mkPackageOption mkIf mkOption types; + inherit (lib) + escapeShellArgs + mkEnableOption + mkPackageOption + mkIf + mkOption + types + ; cfg = config.services.mimir; - settingsFormat = pkgs.formats.yaml {}; -in { + settingsFormat = pkgs.formats.yaml { }; +in +{ options.services.mimir = { enable = mkEnableOption "mimir"; configuration = mkOption { - type = (pkgs.formats.json {}).type; - default = {}; + type = (pkgs.formats.json { }).type; + default = { }; description = '' Specify the configuration for Mimir in Nix. ''; @@ -30,7 +43,7 @@ in { extraFlags = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "--config.expand-env=true" ]; description = '' Specify a list of additional command line flags, @@ -43,37 +56,42 @@ in { # for mimirtool environment.systemPackages = [ cfg.package ]; - assertions = [{ - assertion = ( - (cfg.configuration == {} -> cfg.configFile != null) && - (cfg.configFile != null -> cfg.configuration == {}) - ); - message = '' - Please specify either - 'services.mimir.configuration' or - 'services.mimir.configFile'. - ''; - }]; + assertions = [ + { + assertion = ( + (cfg.configuration == { } -> cfg.configFile != null) + && (cfg.configFile != null -> cfg.configuration == { }) + ); + message = '' + Please specify either + 'services.mimir.configuration' or + 'services.mimir.configFile'. + ''; + } + ]; systemd.services.mimir = { description = "mimir Service Daemon"; wantedBy = [ "multi-user.target" ]; - serviceConfig = let - conf = if cfg.configFile == null - then settingsFormat.generate "config.yaml" cfg.configuration - else cfg.configFile; - in - { - ExecStart = "${cfg.package}/bin/mimir --config.file=${conf} ${escapeShellArgs cfg.extraFlags}"; - DynamicUser = true; - Restart = "always"; - ProtectSystem = "full"; - DevicePolicy = "closed"; - NoNewPrivileges = true; - WorkingDirectory = "/var/lib/mimir"; - StateDirectory = "mimir"; - }; + serviceConfig = + let + conf = + if cfg.configFile == null then + settingsFormat.generate "config.yaml" cfg.configuration + else + cfg.configFile; + in + { + ExecStart = "${cfg.package}/bin/mimir --config.file=${conf} ${escapeShellArgs cfg.extraFlags}"; + DynamicUser = true; + Restart = "always"; + ProtectSystem = "full"; + DevicePolicy = "closed"; + NoNewPrivileges = true; + WorkingDirectory = "/var/lib/mimir"; + StateDirectory = "mimir"; + }; }; }; } diff --git a/nixos/modules/services/monitoring/monit.nix b/nixos/modules/services/monitoring/monit.nix index 3fa4e178b113c..d1de417dd90c9 100644 --- a/nixos/modules/services/monitoring/monit.nix +++ b/nixos/modules/services/monitoring/monit.nix @@ -1,4 +1,9 @@ -{config, pkgs, lib, ...}: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.monit; in diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 91a000ade87bc..8551ec6c9c7a9 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: # TODO: support munin-async # TODO: LWP/Pg perl libs aren't recognized # TODO: support fastcgi @@ -11,60 +16,57 @@ let nodeCfg = config.services.munin-node; cronCfg = config.services.munin-cron; - muninConf = pkgs.writeText "munin.conf" - '' - dbdir /var/lib/munin - htmldir /var/www/munin - logdir /var/log/munin - rundir /run/munin + muninConf = pkgs.writeText "munin.conf" '' + dbdir /var/lib/munin + htmldir /var/www/munin + logdir /var/log/munin + rundir /run/munin - ${lib.optionalString (cronCfg.extraCSS != "") "staticdir ${customStaticDir}"} + ${lib.optionalString (cronCfg.extraCSS != "") "staticdir ${customStaticDir}"} - ${cronCfg.extraGlobalConfig} + ${cronCfg.extraGlobalConfig} - ${cronCfg.hosts} - ''; + ${cronCfg.hosts} + ''; - nodeConf = pkgs.writeText "munin-node.conf" - '' - log_level 3 - log_file Sys::Syslog - port 4949 - host * - background 0 - user root - group root - host_name ${config.networking.hostName} - setsid 0 - - # wrapped plugins by makeWrapper being with dots - ignore_file ^\. - - allow ^::1$ - allow ^127\.0\.0\.1$ - - ${nodeCfg.extraConfig} - ''; + nodeConf = pkgs.writeText "munin-node.conf" '' + log_level 3 + log_file Sys::Syslog + port 4949 + host * + background 0 + user root + group root + host_name ${config.networking.hostName} + setsid 0 + + # wrapped plugins by makeWrapper being with dots + ignore_file ^\. - pluginConf = pkgs.writeText "munin-plugin-conf" - '' - [hddtemp_smartctl] - user root - group root + allow ^::1$ + allow ^127\.0\.0\.1$ - [meminfo] - user root - group root + ${nodeCfg.extraConfig} + ''; - [ipmi*] - user root - group root + pluginConf = pkgs.writeText "munin-plugin-conf" '' + [hddtemp_smartctl] + user root + group root - [munin*] - env.UPDATE_STATSFILE /var/lib/munin/munin-update.stats + [meminfo] + user root + group root - ${nodeCfg.extraPluginConfig} - ''; + [ipmi*] + user root + group root + + [munin*] + env.UPDATE_STATSFILE /var/lib/munin/munin-update.stats + + ${nodeCfg.extraPluginConfig} + ''; pluginConfDir = pkgs.stdenv.mkDerivation { name = "munin-plugin-conf.d"; @@ -77,16 +79,14 @@ let # Copy one Munin plugin into the Nix store with a specific name. # This is suitable for use with plugins going directly into /etc/munin/plugins, # i.e. munin.extraPlugins. - internOnePlugin = { name, path }: - "cp -a '${path}' '${name}'"; + internOnePlugin = { name, path }: "cp -a '${path}' '${name}'"; # Copy an entire tree of Munin plugins into a single directory in the Nix # store, with no renaming. The output is suitable for use with # munin-node-configure --suggest, i.e. munin.extraAutoPlugins. # Note that this flattens the input; this is intentional, as # munin-node-configure won't recurse into subdirectories. - internManyPlugins = path: - "find '${path}' -type f -perm /a+x -exec cp -a -t . '{}' '+'"; + internManyPlugins = path: "find '${path}' -type f -perm /a+x -exec cp -a -t . '{}' '+'"; # Use the appropriate intern-fn to copy the plugins into the store and patch # them afterwards in an attempt to get them to run on NixOS. @@ -98,8 +98,9 @@ let # For now we make the simplifying assumption that no file will contain lines # which mix store paths and FHS paths, and thus run our substitution only on # lines which do not contain store paths. - internAndFixPlugins = name: intern-fn: paths: - pkgs.runCommand name {} '' + internAndFixPlugins = + name: intern-fn: paths: + pkgs.runCommand name { } '' mkdir -p "$out" cd "$out" ${lib.concatStringsSep "\n" (map intern-fn paths)} @@ -112,14 +113,18 @@ let # TODO: write a derivation for munin-contrib, so that for contrib plugins # you can just refer to them by name rather than needing to include a copy # of munin-contrib in your nixos configuration. - extraPluginDir = internAndFixPlugins "munin-extra-plugins.d" - internOnePlugin - (lib.attrsets.mapAttrsToList (k: v: { name = k; path = v; }) nodeCfg.extraPlugins); - - extraAutoPluginDir = internAndFixPlugins "munin-extra-auto-plugins.d" - internManyPlugins nodeCfg.extraAutoPlugins; - - customStaticDir = pkgs.runCommand "munin-custom-static-data" {} '' + extraPluginDir = internAndFixPlugins "munin-extra-plugins.d" internOnePlugin ( + lib.attrsets.mapAttrsToList (k: v: { + name = k; + path = v; + }) nodeCfg.extraPlugins + ); + + extraAutoPluginDir = + internAndFixPlugins "munin-extra-auto-plugins.d" internManyPlugins + nodeCfg.extraAutoPlugins; + + customStaticDir = pkgs.runCommand "munin-custom-static-data" { } '' cp -a "${pkgs.munin}/etc/opt/munin/static" "$out" cd "$out" chmod -R u+w . @@ -168,7 +173,7 @@ in }; extraPlugins = lib.mkOption { - default = {}; + default = { }; type = with lib.types; attrsOf path; description = '' Additional Munin plugins to activate. Keys are the name of the plugin @@ -198,7 +203,7 @@ in }; extraAutoPlugins = lib.mkOption { - default = []; + default = [ ]; type = with lib.types; listOf path; description = '' Additional Munin plugins to autoconfigure, using @@ -243,7 +248,10 @@ in `/var/log/munin/munin-update.log` for timing information, and the NixOS build of Munin does not write this file. ''; - example = [ "diskstats" "zfs_usage_*" ]; + example = [ + "diskstats" + "zfs_usage_*" + ]; }; }; @@ -314,100 +322,111 @@ in }; - config = lib.mkMerge [ (lib.mkIf (nodeCfg.enable || cronCfg.enable) { - - environment.systemPackages = [ pkgs.munin ]; - - users.users.munin = { - description = "Munin monitoring user"; - group = "munin"; - uid = config.ids.uids.munin; - home = "/var/lib/munin"; - }; - - users.groups.munin = { - gid = config.ids.gids.munin; - }; - - }) (lib.mkIf nodeCfg.enable { - - systemd.services.munin-node = { - description = "Munin Node"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ]; - environment.MUNIN_LIBDIR = "${pkgs.munin}/lib"; - environment.MUNIN_PLUGSTATE = "/run/munin"; - environment.MUNIN_LOGDIR = "/var/log/munin"; - preStart = '' - echo "Updating munin plugins..." + config = lib.mkMerge [ + (lib.mkIf (nodeCfg.enable || cronCfg.enable) { - mkdir -p /etc/munin/plugins - rm -rf /etc/munin/plugins/* + environment.systemPackages = [ pkgs.munin ]; - # Autoconfigure builtin plugins - ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash + users.users.munin = { + description = "Munin monitoring user"; + group = "munin"; + uid = config.ids.uids.munin; + home = "/var/lib/munin"; + }; - # Autoconfigure extra plugins - ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${extraAutoPluginDir} --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash + users.groups.munin = { + gid = config.ids.gids.munin; + }; - ${lib.optionalString (nodeCfg.extraPlugins != {}) '' + }) + (lib.mkIf nodeCfg.enable { + + systemd.services.munin-node = { + description = "Munin Node"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ + munin + smartmontools + "/run/current-system/sw" + "/run/wrappers" + ]; + environment.MUNIN_LIBDIR = "${pkgs.munin}/lib"; + environment.MUNIN_PLUGSTATE = "/run/munin"; + environment.MUNIN_LOGDIR = "/var/log/munin"; + preStart = '' + echo "Updating munin plugins..." + + mkdir -p /etc/munin/plugins + rm -rf /etc/munin/plugins/* + + # Autoconfigure builtin plugins + ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash + + # Autoconfigure extra plugins + ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${extraAutoPluginDir} --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash + + ${lib.optionalString (nodeCfg.extraPlugins != { }) '' # Link in manually enabled plugins ln -f -s -t /etc/munin/plugins ${extraPluginDir}/* ''} - ${lib.optionalString (nodeCfg.disabledPlugins != []) '' + ${lib.optionalString (nodeCfg.disabledPlugins != [ ]) '' # Disable plugins cd /etc/munin/plugins rm -f ${toString nodeCfg.disabledPlugins} ''} - ''; - serviceConfig = { - ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}"; + ''; + serviceConfig = { + ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}"; + }; }; - }; - # munin_stats plugin breaks as of 2.0.33 when this doesn't exist - systemd.tmpfiles.settings."10-munin"."/run/munin".d = { - mode = "0755"; - user = "munin"; - group = "munin"; - }; + # munin_stats plugin breaks as of 2.0.33 when this doesn't exist + systemd.tmpfiles.settings."10-munin"."/run/munin".d = { + mode = "0755"; + user = "munin"; + group = "munin"; + }; - }) (lib.mkIf cronCfg.enable { + }) + (lib.mkIf cronCfg.enable { - # Munin is hardcoded to use DejaVu Mono and the graphs come out wrong if - # it's not available. - fonts.packages = [ pkgs.dejavu_fonts ]; + # Munin is hardcoded to use DejaVu Mono and the graphs come out wrong if + # it's not available. + fonts.packages = [ pkgs.dejavu_fonts ]; - systemd.timers.munin-cron = { - description = "batch Munin master programs"; - wantedBy = [ "timers.target" ]; - timerConfig.OnCalendar = "*:0/5"; - }; + systemd.timers.munin-cron = { + description = "batch Munin master programs"; + wantedBy = [ "timers.target" ]; + timerConfig.OnCalendar = "*:0/5"; + }; - systemd.services.munin-cron = { - description = "batch Munin master programs"; - unitConfig.Documentation = "man:munin-cron(8)"; + systemd.services.munin-cron = { + description = "batch Munin master programs"; + unitConfig.Documentation = "man:munin-cron(8)"; - serviceConfig = { - Type = "oneshot"; - User = "munin"; - ExecStart = "${pkgs.munin}/bin/munin-cron --config ${muninConf}"; + serviceConfig = { + Type = "oneshot"; + User = "munin"; + ExecStart = "${pkgs.munin}/bin/munin-cron --config ${muninConf}"; + }; }; - }; - systemd.tmpfiles.settings."20-munin" = let - defaultConfig = { - mode = "0755"; - user = "munin"; - group = "munin"; - }; - in { - "/run/munin".d = defaultConfig; - "/var/log/munin".d = defaultConfig; - "/var/www/munin".d = defaultConfig; - "/var/lib/munin".d = defaultConfig; - }; - })]; + systemd.tmpfiles.settings."20-munin" = + let + defaultConfig = { + mode = "0755"; + user = "munin"; + group = "munin"; + }; + in + { + "/run/munin".d = defaultConfig; + "/var/log/munin".d = defaultConfig; + "/var/www/munin".d = defaultConfig; + "/var/lib/munin".d = defaultConfig; + }; + }) + ]; } diff --git a/nixos/modules/services/monitoring/ocsinventory-agent.nix b/nixos/modules/services/monitoring/ocsinventory-agent.nix index 591738ed4ef78..83fec3b2b57d6 100644 --- a/nixos/modules/services/monitoring/ocsinventory-agent.nix +++ b/nixos/modules/services/monitoring/ocsinventory-agent.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ocsinventory-agent; @@ -98,7 +103,8 @@ in let configFile = settingsFormat.generate "ocsinventory-agent.cfg" cfg.settings; - in lib.mkIf cfg.enable { + in + lib.mkIf cfg.enable { # Path of the configuration file is hard-coded and cannot be changed # https://github.com/OCSInventory-NG/UnixAgent/blob/v2.10.0/lib/Ocsinventory/Agent/Config.pm#L78 # diff --git a/nixos/modules/services/monitoring/opentelemetry-collector.nix b/nixos/modules/services/monitoring/opentelemetry-collector.nix index d9b8c27ccdfe3..55502a77366bf 100644 --- a/nixos/modules/services/monitoring/opentelemetry-collector.nix +++ b/nixos/modules/services/monitoring/opentelemetry-collector.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkIf mkOption types getExe; + inherit (lib) + mkEnableOption + mkPackageOption + mkIf + mkOption + types + getExe + ; cfg = config.services.opentelemetry-collector; opentelemetry-collector = cfg.package; @@ -34,16 +46,16 @@ in }; config = mkIf cfg.enable { - assertions = [{ - assertion = ( - (cfg.settings == { }) != (cfg.configFile == null) - ); - message = '' - Please specify a configuration for Opentelemetry Collector with either - 'services.opentelemetry-collector.settings' or - 'services.opentelemetry-collector.configFile'. - ''; - }]; + assertions = [ + { + assertion = ((cfg.settings == { }) != (cfg.configFile == null)); + message = '' + Please specify a configuration for Opentelemetry Collector with either + 'services.opentelemetry-collector.settings' or + 'services.opentelemetry-collector.configFile'. + ''; + } + ]; systemd.services.opentelemetry-collector = { description = "Opentelemetry Collector Service Daemon"; @@ -52,9 +64,10 @@ in serviceConfig = let conf = - if cfg.configFile == null - then settingsFormat.generate "config.yaml" cfg.settings - else cfg.configFile; + if cfg.configFile == null then + settingsFormat.generate "config.yaml" cfg.settings + else + cfg.configFile; in { ExecStart = "${getExe opentelemetry-collector} --config=file:${conf}"; diff --git a/nixos/modules/services/monitoring/osquery.nix b/nixos/modules/services/monitoring/osquery.nix index 8f728ebab1157..fbe6f45b9d8e3 100644 --- a/nixos/modules/services/monitoring/osquery.nix +++ b/nixos/modules/services/monitoring/osquery.nix @@ -1,8 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.osquery; - dirname = path: with lib.strings; with lib.lists; concatStringsSep "/" - (init (splitString "/" (normalizePath path))); + dirname = + path: + with lib.strings; + with lib.lists; + concatStringsSep "/" (init (splitString "/" (normalizePath path))); # conf is the osquery configuration file used when the --config_plugin=filesystem. # filesystem is the osquery default value for the config_plugin flag. @@ -10,11 +18,13 @@ let # flagfile is the file containing osquery command line flags to be # provided to the application using the special --flagfile option. - flagfile = pkgs.writeText "osquery.flags" - (lib.concatStringsSep "\n" - (lib.mapAttrsToList (name: value: "--${name}=${value}") + flagfile = pkgs.writeText "osquery.flags" ( + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (name: value: "--${name}=${value}") # Use the conf derivation if not otherwise specified. - ({ config_path = conf; } // cfg.flags))); + ({ config_path = conf; } // cfg.flags) + ) + ); osqueryi = pkgs.runCommand "osqueryi" { nativeBuildInputs = [ pkgs.makeWrapper ]; } '' mkdir -p $out/bin @@ -47,7 +57,8 @@ in example = { config_refresh = "10"; }; - type = with lib.types; + type = + with lib.types; submodule { freeformType = attrsOf str; options = { @@ -77,7 +88,10 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ osqueryi ]; systemd.services.osqueryd = { - after = [ "network.target" "syslog.service" ]; + after = [ + "network.target" + "syslog.service" + ]; description = "The osquery daemon"; serviceConfig = { ExecStart = "${pkgs.osquery}/bin/osqueryd --flagfile ${flagfile}"; diff --git a/nixos/modules/services/monitoring/parsedmarc.nix b/nixos/modules/services/monitoring/parsedmarc.nix index a14ade59c29eb..22c37f3e26e22 100644 --- a/nixos/modules/services/monitoring/parsedmarc.nix +++ b/nixos/modules/services/monitoring/parsedmarc.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.parsedmarc; @@ -6,16 +12,31 @@ let isSecret = v: isAttrs v && v ? _secret && isString v._secret; ini = pkgs.formats.ini { mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" rec { - mkValueString = v: - if isInt v then toString v - else if isString v then v - else if true == v then "True" - else if false == v then "False" - else if isSecret v then hashString "sha256" v._secret - else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; + mkValueString = + v: + if isInt v then + toString v + else if isString v then + v + else if true == v then + "True" + else if false == v then + "False" + else if isSecret v then + hashString "sha256" v._secret + else + throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty { }) v}"; }; }; - inherit (builtins) elem isAttrs isString isInt isList typeOf hashString; + inherit (builtins) + elem + isAttrs + isString + isInt + isList + typeOf + hashString + ; in { options.services.parsedmarc = { @@ -301,15 +322,15 @@ in description = '' The addresses to send outgoing mail to. ''; - apply = x: if x == [] || x == null then null else lib.concatStringsSep "," x; + apply = x: if x == [ ] || x == null then null else lib.concatStringsSep "," x; }; }; elasticsearch = { hosts = lib.mkOption { - default = []; + default = [ ]; type = with lib.types; listOf str; - apply = x: if x == [] then null else lib.concatStringsSep "," x; + apply = x: if x == [ ] then null else lib.concatStringsSep "," x; description = '' A list of Elasticsearch hosts to push parsed reports to. @@ -366,12 +387,23 @@ in config = lib.mkIf cfg.enable { - warnings = let - deprecationWarning = optname: "Starting in 8.0.0, the `${optname}` option has been moved from the `services.parsedmarc.settings.imap`" - + "configuration section to the `services.parsedmarc.settings.mailbox` configuration section."; - hasImapOpt = lib.flip builtins.hasAttr cfg.settings.imap; - movedOptions = [ "reports_folder" "archive_folder" "watch" "delete" "test" "batch_size" ]; - in builtins.map deprecationWarning (builtins.filter hasImapOpt movedOptions); + warnings = + let + deprecationWarning = + optname: + "Starting in 8.0.0, the `${optname}` option has been moved from the `services.parsedmarc.settings.imap`" + + "configuration section to the `services.parsedmarc.settings.mailbox` configuration section."; + hasImapOpt = lib.flip builtins.hasAttr cfg.settings.imap; + movedOptions = [ + "reports_folder" + "archive_folder" + "watch" + "delete" + "test" + "batch_size" + ]; + in + builtins.map deprecationWarning (builtins.filter hasImapOpt movedOptions); services.elasticsearch.enable = lib.mkDefault cfg.provision.elasticsearch; @@ -402,7 +434,8 @@ in }; services.grafana = { - declarativePlugins = with pkgs.grafanaPlugins; + declarativePlugins = + with pkgs.grafanaPlugins; lib.mkIf cfg.provision.grafana.dashboard [ grafana-worldmap-panel grafana-piechart-panel @@ -414,32 +447,34 @@ in let esVersion = lib.getVersion config.services.elasticsearch.package; in - lib.mkIf cfg.provision.grafana.datasource [ - { - name = "dmarc-ag"; - type = "elasticsearch"; - access = "proxy"; - url = "http://localhost:9200"; - jsonData = { - timeField = "date_range"; - inherit esVersion; - }; - } - { - name = "dmarc-fo"; - type = "elasticsearch"; - access = "proxy"; - url = "http://localhost:9200"; - jsonData = { - timeField = "date_range"; - inherit esVersion; - }; - } - ]; - dashboards.settings.providers = lib.mkIf cfg.provision.grafana.dashboard [{ - name = "parsedmarc"; - options.path = "${pkgs.parsedmarc.dashboard}"; - }]; + lib.mkIf cfg.provision.grafana.datasource [ + { + name = "dmarc-ag"; + type = "elasticsearch"; + access = "proxy"; + url = "http://localhost:9200"; + jsonData = { + timeField = "date_range"; + inherit esVersion; + }; + } + { + name = "dmarc-fo"; + type = "elasticsearch"; + access = "proxy"; + url = "http://localhost:9200"; + jsonData = { + timeField = "date_range"; + inherit esVersion; + }; + } + ]; + dashboards.settings.providers = lib.mkIf cfg.provision.grafana.dashboard [ + { + name = "parsedmarc"; + options.path = "${pkgs.parsedmarc.dashboard}"; + } + ]; }; }; @@ -470,7 +505,14 @@ in # lists, empty attrsets and null. This makes it possible to # list interesting options in `settings` without them always # ending up in the resulting config. - filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ null [] {} ])) cfg.settings; + filteredConfig = lib.converge (lib.filterAttrsRecursive ( + _: v: + !elem v [ + null + [ ] + { } + ] + )) cfg.settings; # Extract secrets (attributes set to an attrset with a # "_secret" key) from the settings and generate the commands @@ -478,61 +520,86 @@ in secretPaths = lib.catAttrs "_secret" (lib.collect isSecret filteredConfig); parsedmarcConfig = ini.generate "parsedmarc.ini" filteredConfig; mkSecretReplacement = file: '' - replace-secret ${lib.escapeShellArgs [ (hashString "sha256" file) file "/run/parsedmarc/parsedmarc.ini" ]} + replace-secret ${ + lib.escapeShellArgs [ + (hashString "sha256" file) + file + "/run/parsedmarc/parsedmarc.ini" + ] + } ''; secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; in - { - wantedBy = [ "multi-user.target" ]; - after = [ "postfix.service" "dovecot2.service" "elasticsearch.service" ]; - path = with pkgs; [ replace-secret openssl shadow ]; - serviceConfig = { - ExecStartPre = let - startPreFullPrivileges = '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - - umask u=rwx,g=,o= - cp ${parsedmarcConfig} /run/parsedmarc/parsedmarc.ini - chown parsedmarc:parsedmarc /run/parsedmarc/parsedmarc.ini - ${secretReplacements} - '' + lib.optionalString cfg.provision.localMail.enable '' - openssl rand -hex 64 >/run/parsedmarc/dmarc_user_passwd - replace-secret '@imap-password@' '/run/parsedmarc/dmarc_user_passwd' /run/parsedmarc/parsedmarc.ini - echo "Setting new randomized password for user '${cfg.provision.localMail.recipientName}'." - cat <(echo -n "${cfg.provision.localMail.recipientName}:") /run/parsedmarc/dmarc_user_passwd | chpasswd - ''; + { + wantedBy = [ "multi-user.target" ]; + after = [ + "postfix.service" + "dovecot2.service" + "elasticsearch.service" + ]; + path = with pkgs; [ + replace-secret + openssl + shadow + ]; + serviceConfig = { + ExecStartPre = + let + startPreFullPrivileges = + '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + + umask u=rwx,g=,o= + cp ${parsedmarcConfig} /run/parsedmarc/parsedmarc.ini + chown parsedmarc:parsedmarc /run/parsedmarc/parsedmarc.ini + ${secretReplacements} + '' + + lib.optionalString cfg.provision.localMail.enable '' + openssl rand -hex 64 >/run/parsedmarc/dmarc_user_passwd + replace-secret '@imap-password@' '/run/parsedmarc/dmarc_user_passwd' /run/parsedmarc/parsedmarc.ini + echo "Setting new randomized password for user '${cfg.provision.localMail.recipientName}'." + cat <(echo -n "${cfg.provision.localMail.recipientName}:") /run/parsedmarc/dmarc_user_passwd | chpasswd + ''; in - "+${pkgs.writeShellScript "parsedmarc-start-pre-full-privileges" startPreFullPrivileges}"; - Type = "simple"; - User = "parsedmarc"; - Group = "parsedmarc"; - DynamicUser = true; - RuntimeDirectory = "parsedmarc"; - RuntimeDirectoryMode = "0700"; - CapabilityBoundingSet = ""; - PrivateDevices = true; - PrivateMounts = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProcSubset = "pid"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; - RestrictRealtime = true; - RestrictNamespaces = true; - MemoryDenyWriteExecute = true; - LockPersonality = true; - SystemCallArchitectures = "native"; - ExecStart = "${lib.getExe pkgs.parsedmarc} -c /run/parsedmarc/parsedmarc.ini"; - }; + "+${pkgs.writeShellScript "parsedmarc-start-pre-full-privileges" startPreFullPrivileges}"; + Type = "simple"; + User = "parsedmarc"; + Group = "parsedmarc"; + DynamicUser = true; + RuntimeDirectory = "parsedmarc"; + RuntimeDirectoryMode = "0700"; + CapabilityBoundingSet = ""; + PrivateDevices = true; + PrivateMounts = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; + RestrictRealtime = true; + RestrictNamespaces = true; + MemoryDenyWriteExecute = true; + LockPersonality = true; + SystemCallArchitectures = "native"; + ExecStart = "${lib.getExe pkgs.parsedmarc} -c /run/parsedmarc/parsedmarc.ini"; }; + }; users.users.${cfg.provision.localMail.recipientName} = lib.mkIf cfg.provision.localMail.enable { isNormalUser = true; diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager-webhook-logger.nix b/nixos/modules/services/monitoring/prometheus/alertmanager-webhook-logger.nix index 1761e63051078..5dd0b59011cab 100644 --- a/nixos/modules/services/monitoring/prometheus/alertmanager-webhook-logger.nix +++ b/nixos/modules/services/monitoring/prometheus/alertmanager-webhook-logger.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.prometheus.alertmanagerWebhookLogger; in @@ -10,7 +15,7 @@ in extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = "Extra command line options to pass to alertmanager-webhook-logger."; }; }; @@ -55,9 +60,12 @@ in ProtectKernelLogs = true; ProtectControlGroups = true; - Restart = "on-failure"; + Restart = "on-failure"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix index 70bd07c598205..078abf9a1ff95 100644 --- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix +++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix @@ -1,36 +1,50 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.prometheus.alertmanager; mkConfigFile = pkgs.writeText "alertmanager.yml" (builtins.toJSON cfg.configuration); - checkedConfig = file: + checkedConfig = + file: if cfg.checkConfig then pkgs.runCommand "checked-config" { nativeBuildInputs = [ cfg.package ]; } '' ln -s ${file} $out amtool check-config $out - '' else file; - - alertmanagerYml = let - yml = if cfg.configText != null then - pkgs.writeText "alertmanager.yml" cfg.configText - else mkConfigFile; - in checkedConfig yml; - - cmdlineArgs = cfg.extraFlags ++ [ - "--config.file /tmp/alert-manager-substituted.yaml" - "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}" - "--log.level ${cfg.logLevel}" - "--storage.path /var/lib/alertmanager" - (toString (map (peer: "--cluster.peer ${peer}:9094") cfg.clusterPeers)) - ] ++ (lib.optional (cfg.webExternalUrl != null) - "--web.external-url ${cfg.webExternalUrl}" - ) ++ (lib.optional (cfg.logFormat != null) - "--log.format ${cfg.logFormat}" - ); -in { + '' + else + file; + + alertmanagerYml = + let + yml = + if cfg.configText != null then pkgs.writeText "alertmanager.yml" cfg.configText else mkConfigFile; + in + checkedConfig yml; + + cmdlineArgs = + cfg.extraFlags + ++ [ + "--config.file /tmp/alert-manager-substituted.yaml" + "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}" + "--log.level ${cfg.logLevel}" + "--storage.path /var/lib/alertmanager" + (toString (map (peer: "--cluster.peer ${peer}:9094") cfg.clusterPeers)) + ] + ++ (lib.optional (cfg.webExternalUrl != null) "--web.external-url ${cfg.webExternalUrl}") + ++ (lib.optional (cfg.logFormat != null) "--log.format ${cfg.logFormat}"); +in +{ imports = [ - (lib.mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.") - (lib.mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.") + (lib.mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] + "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting." + ) + (lib.mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] + "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting." + ) (lib.mkRemovedOptionModule [ "services" "prometheus" "alertmanagerURL" ] '' Due to incompatibility, the alertmanagerURL option has been removed, please use 'services.prometheus.alertmanagers' instead. @@ -91,7 +105,13 @@ in { }; logLevel = lib.mkOption { - type = lib.types.enum ["debug" "info" "warn" "error" "fatal"]; + type = lib.types.enum [ + "debug" + "info" + "warn" + "error" + "fatal" + ]; default = "warn"; description = '' Only log messages with the given severity or above. @@ -136,7 +156,7 @@ in { clusterPeers = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Initial peers for HA cluster. ''; @@ -144,7 +164,7 @@ in { extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Extra commandline options when launching the Alertmanager. ''; @@ -168,8 +188,9 @@ in { (lib.mkIf cfg.enable { assertions = lib.singleton { assertion = cfg.configuration != null || cfg.configText != null; - message = "Can not enable alertmanager without a configuration. " - + "Set either the `configuration` or `configText` attribute."; + message = + "Can not enable alertmanager without a configuration. " + + "Set either the `configuration` or `configText` attribute."; }; }) (lib.mkIf cfg.enable { @@ -177,16 +198,18 @@ in { systemd.services.alertmanager = { wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; preStart = '' - ${lib.getBin pkgs.envsubst}/bin/envsubst -o "/tmp/alert-manager-substituted.yaml" \ - -i "${alertmanagerYml}" + ${lib.getBin pkgs.envsubst}/bin/envsubst -o "/tmp/alert-manager-substituted.yaml" \ + -i "${alertmanagerYml}" ''; serviceConfig = { - ExecStart = "${cfg.package}/bin/alertmanager" + - lib.optionalString (lib.length cmdlineArgs != 0) (" \\\n " + - lib.concatStringsSep " \\\n " cmdlineArgs); + ExecStart = + "${cfg.package}/bin/alertmanager" + + lib.optionalString (lib.length cmdlineArgs != 0) ( + " \\\n " + lib.concatStringsSep " \\\n " cmdlineArgs + ); ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; @@ -217,9 +240,13 @@ in { ProtectKernelLogs = true; ProtectControlGroups = true; - Restart = "always"; + Restart = "always"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix index f188fe1f68fb8..3f5d66b0168f9 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.apcupsd; @@ -16,7 +22,11 @@ in }; apcupsdNetwork = mkOption { - type = types.enum ["tcp" "tcp4" "tcp6"]; + type = types.enum [ + "tcp" + "tcp4" + "tcp6" + ]; default = "tcp"; description = '' Network of the apcupsd Network Information Server (NIS): one of "tcp", "tcp4", or "tcp6". diff --git a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix index e98982c0dd312..5b329117dea44 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.artifactory; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix index 1c7dcf8b1ef03..3390374172c4a 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.bind; @@ -22,15 +28,28 @@ in ''; }; bindVersion = mkOption { - type = types.enum [ "xml.v2" "xml.v3" "auto" ]; + type = types.enum [ + "xml.v2" + "xml.v3" + "auto" + ]; default = "auto"; description = '' BIND statistics version. Can be detected automatically. ''; }; bindGroups = mkOption { - type = types.listOf (types.enum [ "server" "view" "tasks" ]); - default = [ "server" "view" ]; + type = types.listOf ( + types.enum [ + "server" + "view" + "tasks" + ] + ); + default = [ + "server" + "view" + ]; description = '' List of statistics to collect. Available: [server, view, tasks] ''; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix index 5d91eeed106d4..00b217e1fd2ab 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.bird; @@ -13,7 +19,10 @@ in port = 9324; extraOpts = { birdVersion = mkOption { - type = types.enum [ 1 2 ]; + type = types.enum [ + 1 + 2 + ]; default = 2; description = '' Specifies whether BIRD1 or BIRD2 is in use. diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix index e1b7dc91a0d77..ca1e0f7aaa953 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.bitcoin; @@ -25,7 +31,10 @@ in }; rpcScheme = mkOption { - type = types.enum [ "http" "https" ]; + type = types.enum [ + "http" + "https" + ]; default = "http"; description = '' Whether to connect to bitcoind over http or https. @@ -58,7 +67,7 @@ in extraEnv = mkOption { type = types.attrsOf types.str; - default = {}; + default = { }; description = '' Extra environment variables for the exporter. ''; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix index 33a1fdc528053..c053fc5417c11 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let logPrefix = "services.prometheus.exporter.blackbox"; @@ -12,29 +18,37 @@ let # This ensures that we can deal with string paths, path types and # store-path strings with context. - coerceConfigFile = file: + coerceConfigFile = + file: if (builtins.isPath file) || (lib.isStorePath file) then file else - (lib.warn '' - ${logPrefix}: configuration file "${file}" is being copied to the nix-store. - If you would like to avoid that, please set enableConfigCheck to false. - '' /. + file); - checkConfigLocation = file: + ( + lib.warn '' + ${logPrefix}: configuration file "${file}" is being copied to the nix-store. + If you would like to avoid that, please set enableConfigCheck to false. + '' /. + + file + ); + checkConfigLocation = + file: if lib.hasPrefix "/tmp/" file then - throw - "${logPrefix}: configuration file must not reside within /tmp - it won't be visible to the systemd service." + throw "${logPrefix}: configuration file must not reside within /tmp - it won't be visible to the systemd service." else file; - checkConfig = file: - pkgs.runCommand "checked-blackbox-exporter.conf" { - preferLocalBuild = true; - nativeBuildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ]; - } '' - ln -s ${coerceConfigFile file} $out - blackbox_exporter --config.check --config.file $out - ''; -in { + checkConfig = + file: + pkgs.runCommand "checked-blackbox-exporter.conf" + { + preferLocalBuild = true; + nativeBuildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ]; + } + '' + ln -s ${coerceConfigFile file} $out + blackbox_exporter --config.check --config.file $out + ''; +in +{ port = 9115; extraOpts = { configFile = mkOption { @@ -54,21 +68,21 @@ in { }; }; - serviceOpts = let - adjustedConfigFile = if cfg.enableConfigCheck then - checkConfig cfg.configFile - else - checkConfigLocation cfg.configFile; - in { - serviceConfig = { - AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes - ExecStart = '' - ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - --config.file ${escapeShellArg adjustedConfigFile} \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + serviceOpts = + let + adjustedConfigFile = + if cfg.enableConfigCheck then checkConfig cfg.configFile else checkConfigLocation cfg.configFile; + in + { + serviceConfig = { + AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes + ExecStart = '' + ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --config.file ${escapeShellArg adjustedConfigFile} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; }; - }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix index 0af1e33b2c445..6a2b441e11eba 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.buildkite-agent; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix index 6f4c936fd4093..b67ac32b443af 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.collectd; @@ -34,11 +40,15 @@ in default = "0.0.0.0"; description = '' Address to listen on for binary network packets. - ''; + ''; }; securityLevel = mkOption { - type = types.enum ["None" "Sign" "Encrypt"]; + type = types.enum [ + "None" + "Sign" + "Encrypt" + ]; default = "None"; description = '' Minimum required security level for accepted packets. @@ -47,7 +57,10 @@ in }; logFormat = mkOption { - type = types.enum [ "logfmt" "json" ]; + type = types.enum [ + "logfmt" + "json" + ]; default = "logfmt"; example = "json"; description = '' @@ -56,28 +69,36 @@ in }; logLevel = mkOption { - type = types.enum ["debug" "info" "warn" "error" "fatal"]; + type = types.enum [ + "debug" + "info" + "warn" + "error" + "fatal" + ]; default = "info"; description = '' Only log messages with the given severity or above. ''; }; }; - serviceOpts = let - collectSettingsArgs = optionalString (cfg.collectdBinary.enable) '' - --collectd.listen-address ${cfg.collectdBinary.listenAddress}:${toString cfg.collectdBinary.port} \ - --collectd.security-level ${cfg.collectdBinary.securityLevel} \ - ''; - in { - serviceConfig = { - ExecStart = '' - ${pkgs.prometheus-collectd-exporter}/bin/collectd_exporter \ - --log.format ${escapeShellArg cfg.logFormat} \ - --log.level ${cfg.logLevel} \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - ${collectSettingsArgs} \ - ${concatStringsSep " \\\n " cfg.extraFlags} + serviceOpts = + let + collectSettingsArgs = optionalString (cfg.collectdBinary.enable) '' + --collectd.listen-address ${cfg.collectdBinary.listenAddress}:${toString cfg.collectdBinary.port} \ + --collectd.security-level ${cfg.collectdBinary.securityLevel} \ ''; + in + { + serviceConfig = { + ExecStart = '' + ${pkgs.prometheus-collectd-exporter}/bin/collectd_exporter \ + --log.format ${escapeShellArg cfg.logFormat} \ + --log.level ${cfg.logLevel} \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + ${collectSettingsArgs} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; }; - }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/deluge.nix b/nixos/modules/services/monitoring/prometheus/exporters/deluge.nix index 5943b46eeb5fc..ec3cbaf9c40e0 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/deluge.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/deluge.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.prometheus.exporters.deluge; @@ -67,19 +72,24 @@ in ExecStart = '' ${pkgs.prometheus-deluge-exporter}/bin/deluge-exporter ''; - Environment = [ - "LISTEN_PORT=${toString cfg.port}" - "LISTEN_ADDRESS=${toString cfg.listenAddress}" + Environment = + [ + "LISTEN_PORT=${toString cfg.port}" + "LISTEN_ADDRESS=${toString cfg.listenAddress}" - "DELUGE_HOST=${cfg.delugeHost}" - "DELUGE_USER=${cfg.delugeUser}" - "DELUGE_PORT=${toString cfg.delugePort}" - ] ++ lib.optionals (cfg.delugePassword != null) [ - "DELUGE_PASSWORD=${cfg.delugePassword}" - ] ++ lib.optionals cfg.exportPerTorrentMetrics [ - "PER_TORRENT_METRICS=1" - ]; - EnvironmentFile = lib.optionalString (cfg.delugePasswordFile != null) "/etc/deluge-exporter/password"; + "DELUGE_HOST=${cfg.delugeHost}" + "DELUGE_USER=${cfg.delugeUser}" + "DELUGE_PORT=${toString cfg.delugePort}" + ] + ++ lib.optionals (cfg.delugePassword != null) [ + "DELUGE_PASSWORD=${cfg.delugePassword}" + ] + ++ lib.optionals cfg.exportPerTorrentMetrics [ + "PER_TORRENT_METRICS=1" + ]; + EnvironmentFile = lib.optionalString ( + cfg.delugePasswordFile != null + ) "/etc/deluge-exporter/password"; }; }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix index 3674fab1e4f83..4cb11fbaa45a4 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.dmarc; @@ -8,7 +14,10 @@ let inherit (cfg) folders port; listen_addr = cfg.listenAddress; storage_path = "$STATE_DIRECTORY"; - imap = (builtins.removeAttrs cfg.imap [ "passwordFile" ]) // { password = "$IMAP_PASSWORD"; use_ssl = true; }; + imap = (builtins.removeAttrs cfg.imap [ "passwordFile" ]) // { + password = "$IMAP_PASSWORD"; + use_ssl = true; + }; poll_interval_seconds = cfg.pollIntervalSeconds; deduplication_max_seconds = cfg.deduplicationMaxSeconds; logging = { @@ -16,7 +25,8 @@ let disable_existing_loggers = false; }; }; -in { +in +{ port = 9797; extraOpts = { imap = { @@ -97,7 +107,10 @@ in { }; }; serviceOpts = { - path = with pkgs; [ envsubst coreutils ]; + path = with pkgs; [ + envsubst + coreutils + ]; serviceConfig = { StateDirectory = "prometheus-dmarc-exporter"; WorkingDirectory = "/var/lib/prometheus-dmarc-exporter"; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix index 9028d1fd5a663..504af0d70d092 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.dnsmasq; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnssec.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnssec.nix index dda1ad1988a61..067d7dacfa272 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dnssec.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dnssec.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.prometheus.exporters.dnssec; configFormat = pkgs.formats.toml { }; configFile = configFormat.generate "dnssec-checks.toml" cfg.configuration; -in { +in +{ port = 9204; extraOpts = { configuration = lib.mkOption { @@ -70,21 +76,26 @@ in { }; serviceOpts = { - serviceConfig = let - startScript = pkgs.writeShellScriptBin "prometheus-dnssec-exporter-start" - "${lib.concatStringsSep " " - ([ "${pkgs.prometheus-dnssec-exporter}/bin/prometheus-dnssec-exporter" ] - ++ lib.optionals (cfg.configuration != null) - [ "-config ${configFile}" ] - ++ lib.optionals (cfg.listenAddress != null) - [ "-listen-address ${lib.escapeShellArg cfg.listenAddress}" ] - ++ lib.optionals (cfg.resolvers != [ ]) [ - "-resolvers ${ - lib.escapeShellArg (lib.concatStringsSep "," cfg.resolvers) - }" - ] ++ lib.optionals (cfg.timeout != null) - [ "-timeout ${lib.escapeShellArg cfg.timeout}" ] ++ cfg.extraFlags)}"; - in { ExecStart = lib.getExe startScript; }; + serviceConfig = + let + startScript = pkgs.writeShellScriptBin "prometheus-dnssec-exporter-start" "${lib.concatStringsSep + " " + ( + [ "${pkgs.prometheus-dnssec-exporter}/bin/prometheus-dnssec-exporter" ] + ++ lib.optionals (cfg.configuration != null) [ "-config ${configFile}" ] + ++ lib.optionals (cfg.listenAddress != null) [ + "-listen-address ${lib.escapeShellArg cfg.listenAddress}" + ] + ++ lib.optionals (cfg.resolvers != [ ]) [ + "-resolvers ${lib.escapeShellArg (lib.concatStringsSep "," cfg.resolvers)}" + ] + ++ lib.optionals (cfg.timeout != null) [ "-timeout ${lib.escapeShellArg cfg.timeout}" ] + ++ cfg.extraFlags + ) + }"; + in + { + ExecStart = lib.getExe startScript; + }; }; } - diff --git a/nixos/modules/services/monitoring/prometheus/exporters/domain.nix b/nixos/modules/services/monitoring/prometheus/exporters/domain.nix index c271a040d288f..3fe7ebc0f6447 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/domain.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/domain.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.domain; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix index f11e91fd761a9..701bf800d7184 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.dovecot; @@ -70,7 +76,10 @@ in scopes = mkOption { type = types.listOf types.str; default = [ "user" ]; - example = [ "user" "global" ]; + example = [ + "user" + "global" + ]; description = '' Stats scopes to query. ''; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix b/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix index 45c2c697519cf..d5b076daf925d 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix @@ -1,10 +1,15 @@ -{ config, lib, pkgs, options, type, ... }: +{ + config, + lib, + pkgs, + options, + type, + ... +}: let cfg = config.services.prometheus.exporters."exportarr-${type}"; - exportarrEnvironment = ( - lib.mapAttrs (_: toString) cfg.environment - ) // { + exportarrEnvironment = (lib.mapAttrs (_: toString) cfg.environment) // { PORT = toString cfg.port; URL = cfg.url; API_KEY_FILE = lib.mkIf (cfg.apiKeyFile != null) "%d/api-key"; @@ -48,7 +53,10 @@ in ExecStart = ''${cfg.package}/bin/exportarr ${type} "$@"''; ProcSubset = "pid"; ProtectProc = "invisible"; - SystemCallFilter = ["@system-service" "~@privileged"]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; environment = exportarrEnvironment; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix index 7719215952a53..372a91dd01e35 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.flow; @@ -9,7 +15,8 @@ let concatStringsSep optionalString ; -in { +in +{ port = 9590; extraOpts = { brokers = mkOption { @@ -26,7 +33,7 @@ in { partitions = mkOption { type = types.listOf types.int; - default = []; + default = [ ]; description = '' The number of the partitions to consume, none means all. ''; @@ -47,7 +54,7 @@ in { -asn ${toString cfg.asn} \ -topic ${cfg.topic} \ -brokers ${concatStringsSep "," cfg.brokers} \ - ${optionalString (cfg.partitions != []) "-partitions ${concatStringsSep "," cfg.partitions}"} \ + ${optionalString (cfg.partitions != [ ]) "-partitions ${concatStringsSep "," cfg.partitions}"} \ -addr ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags} ''; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritz.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritz.nix index fcf7e8784f602..386a89a0ba2ed 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/fritz.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/fritz.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let inherit (lib) mkOption types; cfg = config.services.prometheus.exporters.fritz; @@ -30,55 +36,63 @@ in visible = false; }; log_level = mkOption { - type = types.enum [ "DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" ]; + type = types.enum [ + "DEBUG" + "INFO" + "WARNING" + "ERROR" + "CRITICAL" + ]; default = "INFO"; description = '' Log level to use for the exporter. ''; }; devices = mkOption { - default = []; + default = [ ]; description = "Fritz!-devices to monitor using the exporter."; - type = with types; listOf (submodule { - freeformType = yaml.type; + type = + with types; + listOf (submodule { + freeformType = yaml.type; - options = { - name = mkOption { - type = types.str; - default = ""; - description = '' - Name to use for the device. - ''; - }; - hostname = mkOption { - type = types.str; - default = "fritz.box"; - description = '' - Hostname under which the target device is reachable. - ''; - }; - username = mkOption { - type = types.str; - description = '' - Username to authenticate with the target device. - ''; - }; - password_file = mkOption { - type = types.path; - description = '' - Path to a file which contains the password to authenticate with the target device. - Needs to be readable by the user the exporter runs under. - ''; - }; - host_info = mkOption { - type = types.bool; - description = '' - Enable extended host info for this device. *Warning*: This will heavily increase scrape time. - ''; - default = false; + options = { + name = mkOption { + type = types.str; + default = ""; + description = '' + Name to use for the device. + ''; + }; + hostname = mkOption { + type = types.str; + default = "fritz.box"; + description = '' + Hostname under which the target device is reachable. + ''; + }; + username = mkOption { + type = types.str; + description = '' + Username to authenticate with the target device. + ''; + }; + password_file = mkOption { + type = types.path; + description = '' + Path to a file which contains the password to authenticate with the target device. + Needs to be readable by the user the exporter runs under. + ''; + }; + host_info = mkOption { + type = types.bool; + description = '' + Enable extended host info for this device. *Warning*: This will heavily increase scrape time. + ''; + default = false; + }; }; - }; - }); + }); }; }; }; @@ -87,10 +101,14 @@ in serviceOpts = { serviceConfig = { - ExecStart = utils.escapeSystemdExecArgs ([ - (lib.getExe pkgs.fritz-exporter) - "--config" configFile - ] ++ cfg.extraFlags); + ExecStart = utils.escapeSystemdExecArgs ( + [ + (lib.getExe pkgs.fritz-exporter) + "--config" + configFile + ] + ++ cfg.extraFlags + ); DynamicUser = false; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix index 29470147c13f2..7c91e79958031 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.fritzbox; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix b/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix index 523a720425c03..f79afcd1f03b6 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.graphite; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix b/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix index 54696187feb15..58bb4954c2539 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix @@ -1,12 +1,20 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.idrac; inherit (lib) mkOption types; - configFile = if cfg.configurationPath != null - then cfg.configurationPath - else pkgs.writeText "idrac.yml" (builtins.toJSON cfg.configuration); + configFile = + if cfg.configurationPath != null then + cfg.configurationPath + else + pkgs.writeText "idrac.yml" (builtins.toJSON cfg.configuration); in { port = 9348; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix b/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix index 92d02a3f14635..c5d97dc122388 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix @@ -1,16 +1,29 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.imap-mailstat; - valueToString = value: - if (builtins.typeOf value == "string") then "\"${value}\"" - else ( - if (builtins.typeOf value == "int") then "${toString value}" - else ( - if (builtins.typeOf value == "bool") then (if value then "true" else "false") - else "XXX ${toString value}" - ) - ); + valueToString = + value: + if (builtins.typeOf value == "string") then + "\"${value}\"" + else + ( + if (builtins.typeOf value == "int") then + "${toString value}" + else + ( + if (builtins.typeOf value == "bool") then + (if value then "true" else "false") + else + "XXX ${toString value}" + ) + ); inherit (lib) mkOption types @@ -20,17 +33,29 @@ let mapAttrs optionalString ; - createConfigFile = accounts: + createConfigFile = + accounts: # unfortunately on toTOML yet # https://github.com/NixOS/nix/issues/3929 pkgs.writeText "imap-mailstat-exporter.conf" '' - ${concatStrings (attrValues (mapAttrs (name: config: "[[Accounts]]\nname = \"${name}\"\n${concatStrings (attrValues (mapAttrs (k: v: "${k} = ${valueToString v}\n") config))}") accounts))} + ${concatStrings ( + attrValues ( + mapAttrs ( + name: config: + "[[Accounts]]\nname = \"${name}\"\n${ + concatStrings (attrValues (mapAttrs (k: v: "${k} = ${valueToString v}\n") config)) + }" + ) accounts + ) + )} ''; - mkOpt = type: description: mkOption { - type = types.nullOr type; - default = null; - description = description; - }; + mkOpt = + type: description: + mkOption { + type = types.nullOr type; + default = null; + description = description; + }; accountOptions.options = { mailaddress = mkOpt types.str "Your email address (at the moment used as login name)"; username = mkOpt types.str "If empty string mailaddress value is used"; @@ -52,7 +77,7 @@ in }; accounts = mkOption { type = types.attrsOf (types.submodule accountOptions); - default = {}; + default = { }; description = '' Accounts to monitor ''; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix index 3a5680439d4c2..254e2e157e49f 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.influxdb; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix index 51db6059081fb..57ee1e9b2a210 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let logPrefix = "services.prometheus.exporter.ipmi"; @@ -10,7 +16,8 @@ let optionals escapeShellArg ; -in { +in +{ port = 9290; extraOpts = { @@ -32,16 +39,27 @@ in { }; serviceOpts.serviceConfig = { - ExecStart = with cfg; concatStringsSep " " ([ - "${pkgs.prometheus-ipmi-exporter}/bin/ipmi_exporter" - "--web.listen-address ${listenAddress}:${toString port}" - ] ++ optionals (cfg.webConfigFile != null) [ - "--web.config.file ${escapeShellArg cfg.webConfigFile}" - ] ++ optionals (cfg.configFile != null) [ - "--config.file ${escapeShellArg cfg.configFile}" - ] ++ extraFlags); + ExecStart = + with cfg; + concatStringsSep " " ( + [ + "${pkgs.prometheus-ipmi-exporter}/bin/ipmi_exporter" + "--web.listen-address ${listenAddress}:${toString port}" + ] + ++ optionals (cfg.webConfigFile != null) [ + "--web.config.file ${escapeShellArg cfg.webConfigFile}" + ] + ++ optionals (cfg.configFile != null) [ + "--config.file ${escapeShellArg cfg.configFile}" + ] + ++ extraFlags + ); ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix index 6a6c003c19776..47bd923be7dfc 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.jitsi; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix index 1c8db0ea3e0b1..46aed2ba47934 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/json.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.json; @@ -43,6 +49,9 @@ in For more information, take a look at the official documentation (https://github.com/prometheus-community/json_exporter) of the json_exporter. '') - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix b/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix index 3519cce6e821b..ea3ee895f15c7 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.junos-czerwonk; @@ -10,9 +16,12 @@ let concatStringsSep ; - configFile = if cfg.configuration != null then configurationFile else (escapeShellArg cfg.configurationFile); + configFile = + if cfg.configuration != null then configurationFile else (escapeShellArg cfg.configurationFile); - configurationFile = pkgs.writeText "prometheus-junos-czerwonk-exporter.conf" (builtins.toJSON (cfg.configuration)); + configurationFile = pkgs.writeText "prometheus-junos-czerwonk-exporter.conf" ( + builtins.toJSON (cfg.configuration) + ); in { port = 9326; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix index d0f2eb6b8a3c0..f40cae4492e03 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @@ -1,8 +1,9 @@ -{ config -, lib -, pkgs -, utils -, ... +{ + config, + lib, + pkgs, + utils, + ... }: let @@ -13,7 +14,8 @@ let mkRenamedOptionModule literalExpression ; -in { +in +{ imports = [ (mkRenamedOptionModule [ "controlSocketPaths" ] [ "targets" ]) ]; @@ -41,11 +43,17 @@ in { serviceConfig = { User = "kea"; DynamicUser = true; - ExecStart = utils.escapeSystemdExecArgs ([ - (lib.getExe pkgs.prometheus-kea-exporter) - "--address" cfg.listenAddress - "--port" cfg.port - ] ++ cfg.extraFlags ++ cfg.targets); + ExecStart = utils.escapeSystemdExecArgs ( + [ + (lib.getExe pkgs.prometheus-kea-exporter) + "--address" + cfg.listenAddress + "--port" + cfg.port + ] + ++ cfg.extraFlags + ++ cfg.targets + ); RuntimeDirectory = "kea"; RuntimeDirectoryPreserve = true; RestrictAddressFamilies = [ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix b/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix index 44169cce6745e..27fa925988a40 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.keylight; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix index ed902fc27c152..df42ca726bcd1 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.knot; @@ -8,7 +14,8 @@ let literalExpression concatStringsSep ; -in { +in +{ port = 9433; extraOpts = { knotLibraryPath = mkOption { diff --git a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix index edface276f541..d690ddeee498f 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.lnd; @@ -40,6 +46,9 @@ in ${concatStringsSep " \\\n " cfg.extraFlags} ''; LogsDirectory = "prometheus-lnd-exporter"; - ReadOnlyPaths = [ cfg.lndTlsPath cfg.lndMacaroonDir ]; + ReadOnlyPaths = [ + cfg.lndTlsPath + cfg.lndMacaroonDir + ]; }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix index f6dd6f7eb994a..7dc40293d4642 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.mail; @@ -15,19 +21,29 @@ let concatStringsSep ; - configFile = if cfg.configuration != null then configurationFile else (escapeShellArg cfg.configFile); + configFile = + if cfg.configuration != null then configurationFile else (escapeShellArg cfg.configFile); - configurationFile = pkgs.writeText "prometheus-mail-exporter.conf" (builtins.toJSON ( - # removes the _module attribute, null values and converts attrNames to lowercase - mapAttrs' (name: value: - if name == "servers" - then nameValuePair (toLower name) - ((map (srv: (mapAttrs' (n: v: nameValuePair (toLower n) v) - (filterAttrs (n: v: !(n == "_module" || v == null)) srv) - ))) value) - else nameValuePair (toLower name) value - ) (filterAttrs (n: _: !(n == "_module")) cfg.configuration) - )); + configurationFile = pkgs.writeText "prometheus-mail-exporter.conf" ( + builtins.toJSON ( + # removes the _module attribute, null values and converts attrNames to lowercase + mapAttrs' ( + name: value: + if name == "servers" then + nameValuePair (toLower name) ( + (map ( + srv: + (mapAttrs' (n: v: nameValuePair (toLower n) v) ( + filterAttrs (n: v: !(n == "_module" || v == null)) srv + )) + )) + value + ) + else + nameValuePair (toLower name) value + ) (filterAttrs (n: _: !(n == "_module")) cfg.configuration) + ) + ); serverOptions.options = { name = mkOption { @@ -111,7 +127,7 @@ let }; servers = mkOption { type = types.listOf (types.submodule serverOptions); - default = []; + default = [ ]; example = literalExpression '' [ { name = "testserver"; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix index cd438f13edd25..b3b27380778c0 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.mikrotik; @@ -53,19 +59,23 @@ in ''; }; }; - serviceOpts = let - configFile = if cfg.configFile != null - then cfg.configFile - else "${pkgs.writeText "mikrotik-exporter.yml" (builtins.toJSON cfg.configuration)}"; - in { - serviceConfig = { - # -port is misleading name, it actually accepts address too - ExecStart = '' - ${pkgs.prometheus-mikrotik-exporter}/bin/mikrotik-exporter \ - -config-file=${escapeShellArg configFile} \ - -port=${cfg.listenAddress}:${toString cfg.port} \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; + serviceOpts = + let + configFile = + if cfg.configFile != null then + cfg.configFile + else + "${pkgs.writeText "mikrotik-exporter.yml" (builtins.toJSON cfg.configuration)}"; + in + { + serviceConfig = { + # -port is misleading name, it actually accepts address too + ExecStart = '' + ${pkgs.prometheus-mikrotik-exporter}/bin/mikrotik-exporter \ + -config-file=${escapeShellArg configFile} \ + -port=${cfg.listenAddress}:${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; }; - }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix index 37ff49b27000f..91e83126b8c17 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.modemmanager; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix index 288434e93abb0..83b9c6a7d7d05 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.mongodb; @@ -25,7 +31,10 @@ in collStats = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "db1.coll1" "db2" ]; + example = [ + "db1.coll1" + "db2" + ]; description = '' List of comma separared databases.collections to get $collStats ''; @@ -33,7 +42,10 @@ in indexStats = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "db1.coll1" "db2" ]; + example = [ + "db1.coll1" + "db2" + ]; description = '' List of comma separared databases.collections to get $indexStats ''; @@ -41,7 +53,16 @@ in collector = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "diagnosticdata" "replicasetstatus" "dbstats" "topmetrics" "currentopmetrics" "indexstats" "dbstats" "profile" ]; + example = [ + "diagnosticdata" + "replicasetstatus" + "dbstats" + "topmetrics" + "currentopmetrics" + "indexstats" + "dbstats" + "profile" + ]; description = "Enabled collectors"; }; collectAll = mkOption { @@ -64,9 +85,22 @@ in ExecStart = '' ${getExe pkgs.prometheus-mongodb-exporter} \ --mongodb.uri="${cfg.uri}" \ - ${if cfg.collectAll then "--collect-all" else concatMapStringsSep " " (x: "--collect.${x}") cfg.collector} \ - ${optionalString (length cfg.collStats > 0) "--mongodb.collstats-colls=${concatStringsSep "," cfg.collStats}"} \ - ${optionalString (length cfg.indexStats > 0) "--mongodb.indexstats-colls=${concatStringsSep "," cfg.indexStats}"} \ + ${ + if cfg.collectAll then + "--collect-all" + else + concatMapStringsSep " " (x: "--collect.${x}") cfg.collector + } \ + ${ + optionalString ( + length cfg.collStats > 0 + ) "--mongodb.collstats-colls=${concatStringsSep "," cfg.collStats}" + } \ + ${ + optionalString ( + length cfg.indexStats > 0 + ) "--mongodb.indexstats-colls=${concatStringsSep "," cfg.indexStats}" + } \ --web.listen-address="${cfg.listenAddress}:${toString cfg.port}" \ --web.telemetry-path="${cfg.telemetryPath}" \ ${escapeShellArgs cfg.extraFlags} diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix b/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix index 5b2c2274f0539..5a2b2ab47ccd6 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix @@ -1,8 +1,24 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.mysqld; - inherit (lib) types mkOption mkIf mkForce cli concatStringsSep optionalString escapeShellArgs; -in { + inherit (lib) + types + mkOption + mkIf + mkForce + cli + concatStringsSep + optionalString + escapeShellArgs + ; +in +{ port = 9104; extraOpts = { telemetryPath = mkOption { @@ -57,4 +73,3 @@ in { }; }; } - diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nats.nix b/nixos/modules/services/monitoring/prometheus/exporters/nats.nix index 224ce474d5377..d02cc72aa8969 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nats.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nats.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.nats; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix index d221bac8421ac..fba902b599901 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.nextcloud; @@ -64,12 +70,17 @@ in --addr ${cfg.listenAddress}:${toString cfg.port} \ --timeout ${cfg.timeout} \ --server ${cfg.url} \ - ${if cfg.passwordFile != null then '' - --username ${cfg.username} \ - --password ${escapeShellArg "@${cfg.passwordFile}"} \ - '' else '' - --auth-token ${escapeShellArg "@${cfg.tokenFile}"} \ - ''} \ + ${ + if cfg.passwordFile != null then + '' + --username ${cfg.username} \ + --password ${escapeShellArg "@${cfg.passwordFile}"} \ + '' + else + '' + --auth-token ${escapeShellArg "@${cfg.tokenFile}"} \ + '' + } \ ${concatStringsSep " \\\n " cfg.extraFlags}''; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix index 091ad2291d2a6..ec918e165f5aa 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.nginx; @@ -39,7 +45,7 @@ in }; constLabels = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "label1=value1" "label2=value2" @@ -49,27 +55,37 @@ in ''; }; }; - serviceOpts = mkMerge ([{ - environment.CONST_LABELS = concatStringsSep "," cfg.constLabels; - serviceConfig = { - ExecStart = '' - ${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \ - --nginx.scrape-uri='${cfg.scrapeUri}' \ - --${lib.optionalString (!cfg.sslVerify) "no-"}nginx.ssl-verify \ - --web.listen-address=${cfg.listenAddress}:${toString cfg.port} \ - --web.telemetry-path=${cfg.telemetryPath} \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; - }; - }] ++ [(mkIf config.services.nginx.enable { - after = [ "nginx.service" ]; - requires = [ "nginx.service" ]; - })]); + serviceOpts = mkMerge ( + [ + { + environment.CONST_LABELS = concatStringsSep "," cfg.constLabels; + serviceConfig = { + ExecStart = '' + ${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \ + --nginx.scrape-uri='${cfg.scrapeUri}' \ + --${lib.optionalString (!cfg.sslVerify) "no-"}nginx.ssl-verify \ + --web.listen-address=${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path=${cfg.telemetryPath} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + } + ] + ++ [ + (mkIf config.services.nginx.enable { + after = [ "nginx.service" ]; + requires = [ "nginx.service" ]; + }) + ] + ); imports = [ (mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ]) (mkRemovedOptionModule [ "insecure" ] '' This option was replaced by 'prometheus.exporters.nginx.sslVerify'. '') - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix index 63d25f3d88fb3..8a01b07d9fec5 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix @@ -1,9 +1,16 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.nginxlog; inherit (lib) mkOption types; -in { +in +{ port = 9117; extraOpts = { settings = mkOption { @@ -19,7 +26,7 @@ in { ''; }; namespaces = mkOption { - default = []; + default = [ ]; type = types.listOf (types.attrsOf types.anything); description = '' @@ -28,7 +35,7 @@ in { }; }; }; - default = {}; + default = { }; description = '' All settings of nginxlog expressed as an Nix attrset. @@ -49,22 +56,26 @@ in { }; }; - serviceOpts = let - listenConfig = { - listen = { - port = cfg.port; - address = cfg.listenAddress; - metrics_endpoint = cfg.metricsEndpoint; + serviceOpts = + let + listenConfig = { + listen = { + port = cfg.port; + address = cfg.listenAddress; + metrics_endpoint = cfg.metricsEndpoint; + }; + }; + completeConfig = pkgs.writeText "nginxlog-exporter.yaml" ( + builtins.toJSON (lib.recursiveUpdate listenConfig cfg.settings) + ); + in + { + serviceConfig = { + ExecStart = '' + ${pkgs.prometheus-nginxlog-exporter}/bin/prometheus-nginxlog-exporter -config-file ${completeConfig} + ''; + Restart = "always"; + ProtectSystem = "full"; }; }; - completeConfig = pkgs.writeText "nginxlog-exporter.yaml" (builtins.toJSON (lib.recursiveUpdate listenConfig cfg.settings)); - in { - serviceConfig = { - ExecStart = '' - ${pkgs.prometheus-nginxlog-exporter}/bin/prometheus-nginxlog-exporter -config-file ${completeConfig} - ''; - Restart="always"; - ProtectSystem="full"; - }; - }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix index 9d6b51ad140d0..d2245fb930627 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.node; @@ -18,7 +24,7 @@ in extraOpts = { enabledCollectors = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "systemd" ]; description = '' Collectors to enable. The collectors listed here are enabled in addition to the default ones. @@ -26,7 +32,7 @@ in }; disabledCollectors = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "timex" ]; description = '' Collectors to disable which are enabled by default. @@ -43,13 +49,17 @@ in ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags} ''; - RestrictAddressFamilies = optionals (collectorIsEnabled "logind" || collectorIsEnabled "systemd") [ - # needs access to dbus via unix sockets (logind/systemd) - "AF_UNIX" - ] ++ optionals (collectorIsEnabled "network_route" || collectorIsEnabled "wifi" || ! collectorIsDisabled "netdev") [ - # needs netlink sockets for wireless collector - "AF_NETLINK" - ]; + RestrictAddressFamilies = + optionals (collectorIsEnabled "logind" || collectorIsEnabled "systemd") [ + # needs access to dbus via unix sockets (logind/systemd) + "AF_UNIX" + ] + ++ optionals + (collectorIsEnabled "network_route" || collectorIsEnabled "wifi" || !collectorIsDisabled "netdev") + [ + # needs netlink sockets for wireless collector + "AF_NETLINK" + ]; # The timex collector needs to access clock APIs ProtectClock = collectorIsDisabled "timex"; # Allow space monitoring under /home diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nut.nix b/nixos/modules/services/monitoring/prometheus/exporters/nut.nix index 157bdadddfc99..47b45d46f99e9 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/nut.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/nut.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.nut; @@ -54,13 +60,18 @@ in }; serviceOpts = { script = '' - ${optionalString (cfg.passwordPath != null) - "export NUT_EXPORTER_PASSWORD=$(cat ${toString cfg.passwordPath})"} + ${optionalString ( + cfg.passwordPath != null + ) "export NUT_EXPORTER_PASSWORD=$(cat ${toString cfg.passwordPath})"} ${pkgs.prometheus-nut-exporter}/bin/nut_exporter \ --nut.server=${cfg.nutServer} \ --web.listen-address="${cfg.listenAddress}:${toString cfg.port}" \ ${optionalString (cfg.nutUser != "") "--nut.username=${cfg.nutUser}"} \ - ${optionalString (cfg.nutVariables != []) "--nut.vars_enable=${concatStringsSep "," cfg.nutVariables}"} \ + ${ + optionalString ( + cfg.nutVariables != [ ] + ) "--nut.vars_enable=${concatStringsSep "," cfg.nutVariables}" + } \ ${concatStringsSep " " cfg.extraFlags} ''; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix index 5c111687c1d75..945a950ed85de 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.pgbouncer; @@ -90,7 +96,12 @@ in }; logLevel = mkOption { - type = types.enum [ "debug" "info" "warn" "error" ]; + type = types.enum [ + "debug" + "info" + "warn" + "error" + ]; default = "info"; description = '' Only log messages with the given severity or above. @@ -98,7 +109,10 @@ in }; logFormat = mkOption { - type = types.enum [ "logfmt" "json" ]; + type = types.enum [ + "logfmt" + "json" + ]; default = "logfmt"; description = '' Output format of log messages. One of: [logfmt, json] @@ -125,26 +139,40 @@ in serviceOpts = { after = [ "pgbouncer.service" ]; - script = concatStringsSep " " ([ - "exec -- ${escapeShellArg (getExe cfg.package)}" - "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}" - ] ++ optionals (cfg.connectionString != null) [ - "--pgBouncer.connectionString ${escapeShellArg cfg.connectionString}" - ] ++ optionals (cfg.telemetryPath != null) [ - "--web.telemetry-path ${escapeShellArg cfg.telemetryPath}" - ] ++ optionals (cfg.pidFile != null) [ - "--pgBouncer.pid-file ${escapeShellArg cfg.pidFile}" - ] ++ optionals (cfg.logLevel != null) [ - "--log.level ${escapeShellArg cfg.logLevel}" - ] ++ optionals (cfg.logFormat != null) [ - "--log.format ${escapeShellArg cfg.logFormat}" - ] ++ optionals (cfg.webSystemdSocket != false) [ - "--web.systemd-socket ${escapeShellArg cfg.webSystemdSocket}" - ] ++ optionals (cfg.webConfigFile != null) [ - "--web.config.file ${escapeShellArg cfg.webConfigFile}" - ] ++ cfg.extraFlags); - - serviceConfig.RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + script = concatStringsSep " " ( + [ + "exec -- ${escapeShellArg (getExe cfg.package)}" + "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}" + ] + ++ optionals (cfg.connectionString != null) [ + "--pgBouncer.connectionString ${escapeShellArg cfg.connectionString}" + ] + ++ optionals (cfg.telemetryPath != null) [ + "--web.telemetry-path ${escapeShellArg cfg.telemetryPath}" + ] + ++ optionals (cfg.pidFile != null) [ + "--pgBouncer.pid-file ${escapeShellArg cfg.pidFile}" + ] + ++ optionals (cfg.logLevel != null) [ + "--log.level ${escapeShellArg cfg.logLevel}" + ] + ++ optionals (cfg.logFormat != null) [ + "--log.format ${escapeShellArg cfg.logFormat}" + ] + ++ optionals (cfg.webSystemdSocket != false) [ + "--web.systemd-socket ${escapeShellArg cfg.webSystemdSocket}" + ] + ++ optionals (cfg.webConfigFile != null) [ + "--web.config.file ${escapeShellArg cfg.webConfigFile}" + ] + ++ cfg.extraFlags + ); + + serviceConfig.RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; serviceConfig.EnvironmentFile = lib.mkIf (cfg.connectionEnvFile != null) [ cfg.connectionEnvFile ]; @@ -160,6 +188,9 @@ in into the cmdline of the exporter making the connection string effectively world-readable. '') - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix b/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix index 5d8253f26c436..e93ccf50ac6de 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix @@ -1,17 +1,19 @@ -{ config -, lib -, pkgs -, options -, ... +{ + config, + lib, + pkgs, + options, + ... }: let logPrefix = "services.prometheus.exporter.php-fpm"; cfg = config.services.prometheus.exporters.php-fpm; -in { +in +{ port = 9253; extraOpts = { - package = lib.mkPackageOption pkgs "prometheus-php-fpm-exporter" {}; + package = lib.mkPackageOption pkgs "prometheus-php-fpm-exporter" { }; telemetryPath = lib.mkOption { type = lib.types.str; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix index 30b260dc3792a..f2d37c6b95e60 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.pihole; @@ -11,8 +17,11 @@ let in { imports = [ - (mkRemovedOptionModule [ "interval"] "This option has been removed.") - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + (mkRemovedOptionModule [ "interval" ] "This option has been removed.") + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; port = 9617; @@ -50,7 +59,10 @@ in ''; }; protocol = mkOption { - type = types.enum [ "http" "https" ]; + type = types.enum [ + "http" + "https" + ]; default = "http"; example = "https"; description = '' diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix index 9122a6be66e66..90fb3470eef8b 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix @@ -1,11 +1,16 @@ -{ config, lib, pkgs, options, ... }: - +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.ping; inherit (lib) mkOption types concatStringsSep; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "config.yml" cfg.settings; in { @@ -21,7 +26,7 @@ in settings = mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Configuration for ping_exporter, see diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix index fdd7a0453603c..53a4056b86dda 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix @@ -98,22 +98,20 @@ in --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ --web.telemetry-path ${cfg.telemetryPath} \ --postfix.showq_path ${escapeShellArg cfg.showqPath} \ - ${ - concatStringsSep " \\\n " ( - cfg.extraFlags - ++ optional cfg.systemd.enable "--systemd.enable" - ++ optional cfg.systemd.enable ( - if cfg.systemd.slice != null then - "--systemd.slice ${cfg.systemd.slice}" - else - "--systemd.unit ${cfg.systemd.unit}" - ) - ++ optional ( - cfg.systemd.enable && (cfg.systemd.journalPath != null) - ) "--systemd.journal_path ${escapeShellArg cfg.systemd.journalPath}" - ++ optional (!cfg.systemd.enable) "--postfix.logfile_path ${escapeShellArg cfg.logfilePath}" + ${concatStringsSep " \\\n " ( + cfg.extraFlags + ++ optional cfg.systemd.enable "--systemd.enable" + ++ optional cfg.systemd.enable ( + if cfg.systemd.slice != null then + "--systemd.slice ${cfg.systemd.slice}" + else + "--systemd.unit ${cfg.systemd.unit}" ) - } + ++ optional ( + cfg.systemd.enable && (cfg.systemd.journalPath != null) + ) "--systemd.journal_path ${escapeShellArg cfg.systemd.journalPath}" + ++ optional (!cfg.systemd.enable) "--postfix.logfile_path ${escapeShellArg cfg.logfilePath}" + )} ''; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix index bf392382660ab..8450d79e7fb3b 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.postgres; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/process.nix b/nixos/modules/services/monitoring/prometheus/exporters/process.nix index 8e5eceee067ce..eb6bce56b4851 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/process.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/process.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.process; @@ -15,7 +21,7 @@ in extraOpts = { settings.process_names = mkOption { type = types.listOf types.anything; - default = []; + default = [ ]; example = literalExpression '' [ # Remove nix store path from process name diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix index fa5852a4999dd..c13dc71cf3406 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.pve; @@ -124,25 +130,27 @@ in }; }; serviceOpts = { - serviceConfig = { - DynamicUser = cfg.environmentFile == null; - LoadCredential = "configFile:${computedConfigFile}"; - ExecStart = '' - ${cfg.package}/bin/pve_exporter \ - --${optionalString (!cfg.collectors.status) "no-"}collector.status \ - --${optionalString (!cfg.collectors.version) "no-"}collector.version \ - --${optionalString (!cfg.collectors.node) "no-"}collector.node \ - --${optionalString (!cfg.collectors.cluster) "no-"}collector.cluster \ - --${optionalString (!cfg.collectors.resources) "no-"}collector.resources \ - --${optionalString (!cfg.collectors.config) "no-"}collector.config \ - --${optionalString (!cfg.collectors.replication) "no-"}collector.replication \ - ${optionalString (cfg.server.keyFile != null) "--server.keyfile ${cfg.server.keyFile}"} \ - ${optionalString (cfg.server.certFile != null) "--server.certfile ${cfg.server.certFile}"} \ - --config.file %d/configFile \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} - ''; - } // optionalAttrs (cfg.environmentFile != null) { - EnvironmentFile = cfg.environmentFile; - }; + serviceConfig = + { + DynamicUser = cfg.environmentFile == null; + LoadCredential = "configFile:${computedConfigFile}"; + ExecStart = '' + ${cfg.package}/bin/pve_exporter \ + --${optionalString (!cfg.collectors.status) "no-"}collector.status \ + --${optionalString (!cfg.collectors.version) "no-"}collector.version \ + --${optionalString (!cfg.collectors.node) "no-"}collector.node \ + --${optionalString (!cfg.collectors.cluster) "no-"}collector.cluster \ + --${optionalString (!cfg.collectors.resources) "no-"}collector.resources \ + --${optionalString (!cfg.collectors.config) "no-"}collector.config \ + --${optionalString (!cfg.collectors.replication) "no-"}collector.replication \ + ${optionalString (cfg.server.keyFile != null) "--server.keyfile ${cfg.server.keyFile}"} \ + ${optionalString (cfg.server.certFile != null) "--server.certfile ${cfg.server.certFile}"} \ + --config.file %d/configFile \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} + ''; + } + // optionalAttrs (cfg.environmentFile != null) { + EnvironmentFile = cfg.environmentFile; + }; }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix index d788ce363d614..773506195001a 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.py-air-control; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix index 672e3dfe7b059..7ed7a7b51228a 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.redis; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix index 2eeb76f6f12bf..99cdaf81305b2 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.restic; @@ -62,7 +68,12 @@ in }; rcloneOptions = mkOption { - type = with types; attrsOf (oneOf [ str bool ]); + type = + with types; + attrsOf (oneOf [ + str + bool + ]); default = { }; description = '' Options to pass to rclone to control its behavior. @@ -75,7 +86,12 @@ in }; rcloneConfig = mkOption { - type = with types; attrsOf (oneOf [ str bool ]); + type = + with types; + attrsOf (oneOf [ + str + bool + ]); default = { }; description = '' Configuration for the rclone remote being used for backup. @@ -114,9 +130,10 @@ in serviceOpts = { script = '' export RESTIC_REPOSITORY=${ - if cfg.repositoryFile != null - then "$(cat $CREDENTIALS_DIRECTORY/RESTIC_REPOSITORY)" - else "${cfg.repository}" + if cfg.repositoryFile != null then + "$(cat $CREDENTIALS_DIRECTORY/RESTIC_REPOSITORY)" + else + "${cfg.repository}" } export RESTIC_PASSWORD_FILE=$CREDENTIALS_DIRECTORY/RESTIC_PASSWORD_FILE ${pkgs.prometheus-restic-exporter}/bin/restic-exporter.py \ @@ -124,10 +141,9 @@ in ''; serviceConfig = { EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile; - LoadCredential = - [ "RESTIC_PASSWORD_FILE:${cfg.passwordFile}" ] - ++ optional (cfg.repositoryFile != null) - [ "RESTIC_REPOSITORY:${cfg.repositoryFile}" ]; + LoadCredential = [ + "RESTIC_PASSWORD_FILE:${cfg.passwordFile}" + ] ++ optional (cfg.repositoryFile != null) [ "RESTIC_REPOSITORY:${cfg.repositoryFile}" ]; }; environment = let @@ -141,18 +157,14 @@ in LISTEN_PORT = toString cfg.port; REFRESH_INTERVAL = toString cfg.refreshInterval; } - // (mapAttrs' - (name: value: - nameValuePair (rcloneAttrToOpt name) (toRcloneVal value) - ) - cfg.rcloneOptions) + // (mapAttrs' ( + name: value: nameValuePair (rcloneAttrToOpt name) (toRcloneVal value) + ) cfg.rcloneOptions) // optionalAttrs (cfg.rcloneConfigFile != null) { RCLONE_CONFIG = cfg.rcloneConfigFile; } - // (mapAttrs' - (name: value: - nameValuePair (rcloneAttrToConf name) (toRcloneVal value) - ) - cfg.rcloneConfig); + // (mapAttrs' ( + name: value: nameValuePair (rcloneAttrToConf name) (toRcloneVal value) + ) cfg.rcloneConfig); }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix index 8993aee5d2482..21e03154a88f2 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.rspamd; @@ -12,53 +18,59 @@ let literalExpression ; - mkFile = conf: - pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf); + mkFile = conf: pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf); generateConfig = extraLabels: { - modules.default.metrics = (map (path: { - name = "rspamd_${replaceStrings [ "[" "." " " "]" "\\" "'" ] [ "_" "_" "_" "" "" "" ] path}"; - path = "{ .${path} }"; - labels = extraLabels; - }) [ - "actions['add\\ header']" - "actions['no\\ action']" - "actions['rewrite\\ subject']" - "actions['soft\\ reject']" - "actions.greylist" - "actions.reject" - "bytes_allocated" - "chunks_allocated" - "chunks_freed" - "chunks_oversized" - "connections" - "control_connections" - "ham_count" - "learned" - "pools_allocated" - "pools_freed" - "read_only" - "scanned" - "shared_chunks_allocated" - "spam_count" - "total_learns" - ]) ++ [{ - name = "rspamd_statfiles"; - type = "object"; - path = "{.statfiles[*]}"; - labels = recursiveUpdate { - symbol = "{.symbol}"; - type = "{.type}"; - } extraLabels; - values = { - revision = "{.revision}"; - size = "{.size}"; - total = "{.total}"; - used = "{.used}"; - languages = "{.languages}"; - users = "{.users}"; - }; - }]; + modules.default.metrics = + (map + (path: { + name = "rspamd_${replaceStrings [ "[" "." " " "]" "\\" "'" ] [ "_" "_" "_" "" "" "" ] path}"; + path = "{ .${path} }"; + labels = extraLabels; + }) + [ + "actions['add\\ header']" + "actions['no\\ action']" + "actions['rewrite\\ subject']" + "actions['soft\\ reject']" + "actions.greylist" + "actions.reject" + "bytes_allocated" + "chunks_allocated" + "chunks_freed" + "chunks_oversized" + "connections" + "control_connections" + "ham_count" + "learned" + "pools_allocated" + "pools_freed" + "read_only" + "scanned" + "shared_chunks_allocated" + "spam_count" + "total_learns" + ] + ) + ++ [ + { + name = "rspamd_statfiles"; + type = "object"; + path = "{.statfiles[*]}"; + labels = recursiveUpdate { + symbol = "{.symbol}"; + type = "{.type}"; + } extraLabels; + values = { + revision = "{.revision}"; + size = "{.size}"; + total = "{.total}"; + used = "{.used}"; + languages = "{.languages}"; + users = "{.users}"; + }; + } + ]; }; in { @@ -99,6 +111,9 @@ in For more information, take a look at the official documentation (https://github.com/prometheus-community/json_exporter) of the json_exporter. '') - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix b/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix index 02624a0e80e76..d07497686cf14 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.rtl_433; @@ -6,56 +12,67 @@ in { port = 9550; - extraOpts = let - mkMatcherOptionType = field: description: with lib.types; - listOf (submodule { - options = { - name = lib.mkOption { - type = str; - description = "Name to match."; - }; - "${field}" = lib.mkOption { - type = int; - description = description; - }; - location = lib.mkOption { - type = str; - description = "Location to match."; + extraOpts = + let + mkMatcherOptionType = + field: description: + with lib.types; + listOf (submodule { + options = { + name = lib.mkOption { + type = str; + description = "Name to match."; + }; + "${field}" = lib.mkOption { + type = int; + description = description; + }; + location = lib.mkOption { + type = str; + description = "Location to match."; + }; }; - }; - }); - in - { - rtl433Flags = lib.mkOption { - type = lib.types.str; - default = "-C si"; - example = "-C si -R 19"; - description = '' - Flags passed verbatim to rtl_433 binary. - Having `-C si` (the default) is recommended since only Celsius temperatures are parsed. - ''; + }); + in + { + rtl433Flags = lib.mkOption { + type = lib.types.str; + default = "-C si"; + example = "-C si -R 19"; + description = '' + Flags passed verbatim to rtl_433 binary. + Having `-C si` (the default) is recommended since only Celsius temperatures are parsed. + ''; + }; + channels = lib.mkOption { + type = mkMatcherOptionType "channel" "Channel to match."; + default = [ ]; + example = [ + { + name = "Acurite"; + channel = 6543; + location = "Kitchen"; + } + ]; + description = '' + List of channel matchers to export. + ''; + }; + ids = lib.mkOption { + type = mkMatcherOptionType "id" "ID to match."; + default = [ ]; + example = [ + { + name = "Nexus"; + id = 1; + location = "Bedroom"; + } + ]; + description = '' + List of ID matchers to export. + ''; + }; }; - channels = lib.mkOption { - type = mkMatcherOptionType "channel" "Channel to match."; - default = []; - example = [ - { name = "Acurite"; channel = 6543; location = "Kitchen"; } - ]; - description = '' - List of channel matchers to export. - ''; - }; - ids = lib.mkOption { - type = mkMatcherOptionType "id" "ID to match."; - default = []; - example = [ - { name = "Nexus"; id = 1; location = "Bedroom"; } - ]; - description = '' - List of ID matchers to export. - ''; - }; - }; serviceOpts = { serviceConfig = { @@ -66,18 +83,19 @@ in DeviceAllow = lib.mkForce "char-usb_device rw"; RestrictAddressFamilies = [ "AF_NETLINK" ]; - ExecStart = let - matchers = (map (m: - "--channel_matcher '${m.name},${toString m.channel},${m.location}'" - ) cfg.channels) ++ (map (m: - "--id_matcher '${m.name},${toString m.id},${m.location}'" - ) cfg.ids); in '' - ${pkgs.prometheus-rtl_433-exporter}/bin/rtl_433_prometheus \ - -listen ${cfg.listenAddress}:${toString cfg.port} \ - -subprocess "${pkgs.rtl_433}/bin/rtl_433 -F json ${cfg.rtl433Flags}" \ - ${lib.concatStringsSep " \\\n " matchers} \ - ${lib.concatStringsSep " \\\n " cfg.extraFlags} - ''; + ExecStart = + let + matchers = + (map (m: "--channel_matcher '${m.name},${toString m.channel},${m.location}'") cfg.channels) + ++ (map (m: "--id_matcher '${m.name},${toString m.id},${m.location}'") cfg.ids); + in + '' + ${pkgs.prometheus-rtl_433-exporter}/bin/rtl_433_prometheus \ + -listen ${cfg.listenAddress}:${toString cfg.port} \ + -subprocess "${pkgs.rtl_433}/bin/rtl_433 -F json ${cfg.rtl433Flags}" \ + ${lib.concatStringsSep " \\\n " matchers} \ + ${lib.concatStringsSep " \\\n " cfg.extraFlags} + ''; }; }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix b/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix index 0d937ac6673f8..900074c60821e 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let inherit (lib) mkOption types; @@ -10,31 +16,36 @@ in extraOpts = { servers = mkOption { description = "List of sabnzbd servers to connect to."; - type = types.listOf (types.submodule { - options = { - baseUrl = mkOption { - type = types.str; - description = "Base URL of the sabnzbd server."; - example = "http://localhost:8080/sabnzbd"; - }; - apiKeyFile = mkOption { - type = types.str; - description = '' - The path to a file containing the API key. - The file is securely passed to the service by leveraging systemd credentials. - No special permissions need to be set on this file. - ''; - example = "/run/secrets/sabnzbd_apikey"; + type = types.listOf ( + types.submodule { + options = { + baseUrl = mkOption { + type = types.str; + description = "Base URL of the sabnzbd server."; + example = "http://localhost:8080/sabnzbd"; + }; + apiKeyFile = mkOption { + type = types.str; + description = '' + The path to a file containing the API key. + The file is securely passed to the service by leveraging systemd credentials. + No special permissions need to be set on this file. + ''; + example = "/run/secrets/sabnzbd_apikey"; + }; }; - }; - }); + } + ); }; }; serviceOpts = let servers = lib.zipAttrs cfg.servers; - credentials = lib.imap0 (i: v: { name = "apikey-${toString i}"; path = v; }) servers.apiKeyFile; + credentials = lib.imap0 (i: v: { + name = "apikey-${toString i}"; + path = v; + }) servers.apiKeyFile; in { serviceConfig.LoadCredential = builtins.map ({ name, path }: "${name}:${path}") credentials; @@ -47,7 +58,9 @@ in script = let - apiKeys = lib.concatStringsSep "," (builtins.map (cred: "$(< $CREDENTIALS_DIRECTORY/${cred.name})") credentials); + apiKeys = lib.concatStringsSep "," ( + builtins.map (cred: "$(< $CREDENTIALS_DIRECTORY/${cred.name})") credentials + ); in '' export SABNZBD_APIKEYS="${apiKeys}" diff --git a/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix b/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix index fbee2850db744..a3dadccfda197 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix @@ -1,14 +1,16 @@ -{ config -, lib -, pkgs -, options -, ... +{ + config, + lib, + pkgs, + options, + ... }: let logPrefix = "services.prometheus.exporter.scaphandre"; cfg = config.services.prometheus.exporters.scaphandre; -in { +in +{ port = 8080; extraOpts = { telemetryPath = lib.mkOption { diff --git a/nixos/modules/services/monitoring/prometheus/exporters/script.nix b/nixos/modules/services/monitoring/prometheus/exporters/script.nix index 0967ce236a62e..57113c2e24908 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/script.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/script.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.script; @@ -14,26 +20,28 @@ in port = 9172; extraOpts = { settings.scripts = mkOption { - type = with types; listOf (submodule { - options = { - name = mkOption { - type = str; - example = "sleep"; - description = "Name of the script."; - }; - script = mkOption { - type = str; - example = "sleep 5"; - description = "Shell script to execute when metrics are requested."; - }; - timeout = mkOption { - type = nullOr int; - default = null; - example = 60; - description = "Optional timeout for the script in seconds."; + type = + with types; + listOf (submodule { + options = { + name = mkOption { + type = str; + example = "sleep"; + description = "Name of the script."; + }; + script = mkOption { + type = str; + example = "sleep 5"; + description = "Shell script to execute when metrics are requested."; + }; + timeout = mkOption { + type = nullOr int; + default = null; + example = 60; + description = "Optional timeout for the script in seconds."; + }; }; - }; - }); + }); example = literalExpression '' { scripts = [ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix b/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix index be3e483c6ee19..e6d5885c660a0 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.shelly; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix index 90adfe911a737..94f2a3731f470 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix @@ -1,15 +1,24 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.smartctl; inherit (lib) mkOption types literalExpression; - args = lib.escapeShellArgs ([ - "--web.listen-address=${cfg.listenAddress}:${toString cfg.port}" - "--smartctl.interval=${cfg.maxInterval}" - ] ++ map (device: "--smartctl.device=${device}") cfg.devices - ++ cfg.extraFlags); + args = lib.escapeShellArgs ( + [ + "--web.listen-address=${cfg.listenAddress}:${toString cfg.port}" + "--smartctl.interval=${cfg.maxInterval}" + ] + ++ map (device: "--smartctl.device=${device}") cfg.devices + ++ cfg.extraFlags + ); in { @@ -58,8 +67,14 @@ in PrivateDevices = lib.mkForce false; ProtectProc = "invisible"; ProcSubset = "pid"; - SupplementaryGroups = [ "disk" "smartctl-exporter-access" ]; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SupplementaryGroups = [ + "disk" + "smartctl-exporter-access" + ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix index c3baed1503764..0a3ceba88d201 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.smokeping; @@ -6,7 +12,8 @@ let goDuration = types.mkOptionType { name = "goDuration"; description = "Go duration (https://golang.org/pkg/time/#ParseDuration)"; - check = x: types.str.check x && builtins.match "(-?[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+" x != null; + check = + x: types.str.check x && builtins.match "(-?[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+" x != null; inherit (types.str) merge; }; in diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix index 59715f5d33e24..765ee10c48094 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.sql; inherit (lib) @@ -32,7 +38,7 @@ let }; startupSql = mkOption { type = listOf str; - default = []; + default = [ ]; description = "A list of SQL statements to execute once after making a connection."; }; queries = mkOption { @@ -65,15 +71,16 @@ let }; configFile = - if cfg.configFile != null - then cfg.configFile + if cfg.configFile != null then + cfg.configFile else let nameInline = mapAttrsToList (k: v: v // { name = k; }); renameStartupSql = j: removeAttrs (j // { startup_sql = j.startupSql; }) [ "startupSql" ]; configuration = { - jobs = map renameStartupSql - (nameInline (mapAttrs (k: v: (v // { queries = nameInline v.queries; })) cfg.configuration.jobs)); + jobs = map renameStartupSql ( + nameInline (mapAttrs (k: v: (v // { queries = nameInline v.queries; })) cfg.configuration.jobs) + ); }; in builtins.toFile "config.yaml" (builtins.toJSON configuration); diff --git a/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix index b1bc65c9a492f..5069302aef8e7 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.statsd; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix index d848e263a3b64..4306b813c5789 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.surfboard; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix b/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix index 52bad81ed7d51..5dab7e3728501 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/systemd.nix @@ -1,9 +1,15 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.prometheus.exporters.systemd; inherit (lib) concatStringsSep; -in { +in +{ port = 9558; serviceOpts = { diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix index df6011e2434b1..80a97d42e9727 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix @@ -1,8 +1,9 @@ -{ config -, lib -, pkgs -, options -, ... +{ + config, + lib, + pkgs, + options, + ... }: let @@ -19,9 +20,16 @@ let in { imports = [ - (mkRemovedOptionModule [ "controlInterface" ] "This option was removed, use the `unbound.host` option instead.") - (mkRemovedOptionModule [ "fetchType" ] "This option was removed, use the `unbound.host` option instead.") - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + (mkRemovedOptionModule [ + "controlInterface" + ] "This option was removed, use the `unbound.host` option instead.") + (mkRemovedOptionModule [ + "fetchType" + ] "This option was removed, use the `unbound.host` option instead.") + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; port = 9167; @@ -73,31 +81,38 @@ in }; }; - serviceOpts = mkMerge ([{ - serviceConfig = { - User = "unbound"; # to access the unbound_control.key - ExecStart = '' - ${pkgs.prometheus-unbound-exporter}/bin/unbound_exporter \ - --unbound.host "${cfg.unbound.host}" \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - --web.telemetry-path ${cfg.telemetryPath} \ - ${optionalString (cfg.unbound.ca != null) "--unbound.ca ${cfg.unbound.ca}"} \ - ${optionalString (cfg.unbound.certificate != null) "--unbound.cert ${cfg.unbound.certificate}"} \ - ${optionalString (cfg.unbound.key != null) "--unbound.key ${cfg.unbound.key}"} \ - ${toString cfg.extraFlags} - ''; - RestrictAddressFamilies = [ - "AF_UNIX" - "AF_INET" - "AF_INET6" - ]; - } // optionalAttrs (!config.services.unbound.enable) { - DynamicUser = true; - }; - }] ++ [ - (mkIf config.services.unbound.enable { - after = [ "unbound.service" ]; - requires = [ "unbound.service" ]; - }) - ]); + serviceOpts = mkMerge ( + [ + { + serviceConfig = + { + User = "unbound"; # to access the unbound_control.key + ExecStart = '' + ${pkgs.prometheus-unbound-exporter}/bin/unbound_exporter \ + --unbound.host "${cfg.unbound.host}" \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ + ${optionalString (cfg.unbound.ca != null) "--unbound.ca ${cfg.unbound.ca}"} \ + ${optionalString (cfg.unbound.certificate != null) "--unbound.cert ${cfg.unbound.certificate}"} \ + ${optionalString (cfg.unbound.key != null) "--unbound.key ${cfg.unbound.key}"} \ + ${toString cfg.extraFlags} + ''; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; + } + // optionalAttrs (!config.services.unbound.enable) { + DynamicUser = true; + }; + } + ] + ++ [ + (mkIf config.services.unbound.enable { + after = [ "unbound.service" ]; + requires = [ "unbound.service" ]; + }) + ] + ); } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix index 7b9ba4c5d1edb..81a79ad64b608 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix @@ -1,22 +1,31 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.unpoller; inherit (lib) mkEnableOption generators; - configFile = pkgs.writeText "prometheus-unpoller-exporter.json" (generators.toJSON {} { - poller = { inherit (cfg.log) debug quiet; }; - unifi = { inherit (cfg) controllers; }; - influxdb.disable = true; - datadog.disable = true; # workaround for https://github.com/unpoller/unpoller/issues/442 - prometheus = { - http_listen = "${cfg.listenAddress}:${toString cfg.port}"; - report_errors = cfg.log.prometheusErrors; - }; - inherit (cfg) loki; - }); + configFile = pkgs.writeText "prometheus-unpoller-exporter.json" ( + generators.toJSON { } { + poller = { inherit (cfg.log) debug quiet; }; + unifi = { inherit (cfg) controllers; }; + influxdb.disable = true; + datadog.disable = true; # workaround for https://github.com/unpoller/unpoller/issues/442 + prometheus = { + http_listen = "${cfg.listenAddress}:${toString cfg.port}"; + report_errors = cfg.log.prometheusErrors; + }; + inherit (cfg) loki; + } + ); -in { +in +{ port = 9130; extraOpts = { diff --git a/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix b/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix index 4fda15c9ee4ea..6b03454030bc3 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.v2ray; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix index e94c513ae84f1..b132122f253f3 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.varnish; @@ -82,13 +88,15 @@ in --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ --web.telemetry-path ${cfg.telemetryPath} \ --varnishstat-path ${escapeShellArg cfg.varnishStatPath} \ - ${concatStringsSep " \\\n " (cfg.extraFlags + ${concatStringsSep " \\\n " ( + cfg.extraFlags ++ optional (cfg.healthPath != null) "--web.health-path ${cfg.healthPath}" ++ optional (cfg.instance != null) "-n ${escapeShellArg cfg.instance}" ++ optional cfg.noExit "--no-exit" ++ optional cfg.withGoMetrics "--with-go-metrics" ++ optional cfg.verbose "--verbose" - ++ optional cfg.raw "--raw")} + ++ optional cfg.raw "--raw" + )} ''; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix index 7a48c836425ff..4c9269f34cfd4 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.wireguard; @@ -10,11 +16,15 @@ let optionalString escapeShellArg ; -in { +in +{ port = 9586; imports = [ (mkRenamedOptionModule [ "addr" ] [ "listenAddress" ]) - ({ options.warnings = options.warnings; options.assertions = options.assertions; }) + ({ + options.warnings = options.warnings; + options.assertions = options.assertions; + }) ]; extraOpts = { verbose = mkEnableOption "verbose logging mode for prometheus-wireguard-exporter"; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix b/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix index a685b94b827f4..40e11e65b18f0 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix @@ -1,5 +1,10 @@ -{ config, lib, pkgs, options, ... }: - +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.prometheus.exporters.zfs; diff --git a/nixos/modules/services/monitoring/prometheus/pushgateway.nix b/nixos/modules/services/monitoring/prometheus/pushgateway.nix index ebc8b9d889dcb..c86a3f84c952c 100644 --- a/nixos/modules/services/monitoring/prometheus/pushgateway.nix +++ b/nixos/modules/services/monitoring/prometheus/pushgateway.nix @@ -1,9 +1,14 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.prometheus.pushgateway; cmdlineArgs = - opt "web.listen-address" cfg.web.listen-address + opt "web.listen-address" cfg.web.listen-address ++ opt "web.telemetry-path" cfg.web.telemetry-path ++ opt "web.external-url" cfg.web.external-url ++ opt "web.route-prefix" cfg.web.route-prefix @@ -13,9 +18,10 @@ let ++ opt "log.format" cfg.log.format ++ cfg.extraFlags; - opt = k : v : lib.optional (v != null) ''--${k}="${v}"''; + opt = k: v: lib.optional (v != null) ''--${k}="${v}"''; -in { +in +{ options = { services.prometheus.pushgateway = { enable = lib.mkEnableOption "Prometheus Pushgateway"; @@ -73,7 +79,15 @@ in { }; log.level = lib.mkOption { - type = lib.types.nullOr (lib.types.enum ["debug" "info" "warn" "error" "fatal"]); + type = lib.types.nullOr ( + lib.types.enum [ + "debug" + "info" + "warn" + "error" + "fatal" + ] + ); default = null; description = '' Only log messages with the given severity or above. @@ -95,7 +109,7 @@ in { extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Extra commandline options when launching the Pushgateway. ''; @@ -135,18 +149,20 @@ in { { assertion = !lib.hasPrefix "/" cfg.stateDir; message = - "The option services.prometheus.pushgateway.stateDir" + - " shouldn't be an absolute directory." + - " It should be a directory relative to /var/lib."; + "The option services.prometheus.pushgateway.stateDir" + + " shouldn't be an absolute directory." + + " It should be a directory relative to /var/lib."; } ]; systemd.services.pushgateway = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + after = [ "network.target" ]; serviceConfig = { - ExecStart = "${cfg.package}/bin/pushgateway" + - lib.optionalString (lib.length cmdlineArgs != 0) (" \\\n " + - lib.concatStringsSep " \\\n " cmdlineArgs); + ExecStart = + "${cfg.package}/bin/pushgateway" + + lib.optionalString (lib.length cmdlineArgs != 0) ( + " \\\n " + lib.concatStringsSep " \\\n " cmdlineArgs + ); CapabilityBoundingSet = [ "" ]; DeviceAllow = [ "" ]; @@ -174,9 +190,12 @@ in { ProtectKernelLogs = true; ProtectControlGroups = true; - Restart = "always"; + Restart = "always"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/monitoring/prometheus/sachet.nix b/nixos/modules/services/monitoring/prometheus/sachet.nix index bc1416308f16f..799a6859a7e73 100644 --- a/nixos/modules/services/monitoring/prometheus/sachet.nix +++ b/nixos/modules/services/monitoring/prometheus/sachet.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.prometheus.sachet; configFile = pkgs.writeText "sachet.yml" (builtins.toJSON cfg.configuration); @@ -61,7 +66,10 @@ in systemd.services.sachet = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; script = '' ${pkgs.envsubst}/bin/envsubst -i "${configFile}" > /tmp/sachet.yaml exec ${pkgs.prometheus-sachet}/bin/sachet -config /tmp/sachet.yaml -listen-address ${cfg.address}:${builtins.toString cfg.port} diff --git a/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix b/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix index 2e367e47cc61a..4e726b8b56402 100644 --- a/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix +++ b/nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix @@ -1,14 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.prometheus.xmpp-alerts; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "prometheus-xmpp-alerts.yml" cfg.settings; in { imports = [ (lib.mkRenamedOptionModule [ "services" "prometheus" "xmpp-alerts" "configuration" ] - [ "services" "prometheus" "xmpp-alerts" "settings" ]) + [ "services" "prometheus" "xmpp-alerts" "settings" ] + ) ]; options.services.prometheus.xmpp-alerts = { @@ -16,7 +22,7 @@ in settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Configuration for prometheus xmpp-alerts, see @@ -44,7 +50,10 @@ in ProtectControlGroups = true; NoNewPrivileges = true; SystemCallArchitectures = "native"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; SystemCallFilter = [ "@system-service" ]; }; }; diff --git a/nixos/modules/services/monitoring/riemann-dash.nix b/nixos/modules/services/monitoring/riemann-dash.nix index 47db86035e402..1a713ab7e72ff 100644 --- a/nixos/modules/services/monitoring/riemann-dash.nix +++ b/nixos/modules/services/monitoring/riemann-dash.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.riemann-dash; @@ -14,7 +19,8 @@ let exec ${pkgs.riemann-dash}/bin/riemann-dash ${conf} ''; -in { +in +{ options = { diff --git a/nixos/modules/services/monitoring/riemann-tools.nix b/nixos/modules/services/monitoring/riemann-tools.nix index fc15dcf853447..5fd7dd9082b30 100644 --- a/nixos/modules/services/monitoring/riemann-tools.nix +++ b/nixos/modules/services/monitoring/riemann-tools.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.riemann-tools; @@ -10,8 +15,8 @@ let exec ${pkgs.riemann-tools}/bin/riemann-health ${builtins.concatStringsSep " " cfg.extraArgs} --host ${riemannHost} ''; - -in { +in +{ options = { @@ -32,12 +37,16 @@ in { }; extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' A list of commandline-switches forwarded to a riemann-tool. See for example `riemann-health --help` for available options. ''; - example = ["-p 5555" "--timeout=30" "--attribute=myattribute=42"]; + example = [ + "-p 5555" + "--timeout=30" + "--attribute=myattribute=42" + ]; }; }; }; diff --git a/nixos/modules/services/monitoring/riemann.nix b/nixos/modules/services/monitoring/riemann.nix index 97ae9e2211af3..84e522307a5f2 100644 --- a/nixos/modules/services/monitoring/riemann.nix +++ b/nixos/modules/services/monitoring/riemann.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.riemann; @@ -8,7 +13,7 @@ let ); riemannConfig = lib.concatStringsSep "\n" ( - [cfg.config] ++ (map (f: ''(load-file "${f}")'') cfg.configFiles) + [ cfg.config ] ++ (map (f: ''(load-file "${f}")'') cfg.configFiles) ); launcher = pkgs.writeScriptBin "riemann" '' @@ -18,7 +23,8 @@ let riemann.bin ${cfg.configFile} ''; -in { +in +{ options = { @@ -34,7 +40,7 @@ in { }; configFiles = lib.mkOption { type = with lib.types; listOf path; - default = []; + default = [ ]; description = '' Extra files containing Riemann configuration. These files will be loaded at runtime by Riemann (with Clojure's @@ -52,14 +58,14 @@ in { }; extraClasspathEntries = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Extra entries added to the Java classpath when running Riemann. ''; }; extraJavaOpts = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Extra Java options used when launching Riemann. ''; @@ -77,9 +83,7 @@ in { group = "riemann"; }; - services.riemann.configFile = lib.mkDefault ( - pkgs.writeText "riemann-config.clj" riemannConfig - ); + services.riemann.configFile = lib.mkDefault (pkgs.writeText "riemann-config.clj" riemannConfig); systemd.services.riemann = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/monitoring/rustdesk-server.nix b/nixos/modules/services/monitoring/rustdesk-server.nix index 10495ee0618de..695000495cc68 100644 --- a/nixos/modules/services/monitoring/rustdesk-server.nix +++ b/nixos/modules/services/monitoring/rustdesk-server.nix @@ -1,142 +1,185 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let - TCPPorts = [21115 21116 21117 21118 21119]; - UDPPorts = [21116]; -in { + TCPPorts = [ + 21115 + 21116 + 21117 + 21118 + 21119 + ]; + UDPPorts = [ 21116 ]; +in +{ imports = [ - (lib.mkRemovedOptionModule [ "services" "rustdesk-server" "relayIP" ] "This option has been replaced by services.rustdesk-server.signal.relayHosts") - (lib.mkRenamedOptionModule [ "services" "rustdesk-server" "extraRelayArgs" ] [ "services" "rustdesk-server" "relay" "extraArgs" ]) - (lib.mkRenamedOptionModule [ "services" "rustdesk-server" "extraSignalArgs" ] [ "services" "rustdesk-server" "signal" "extraArgs" ]) + (lib.mkRemovedOptionModule [ + "services" + "rustdesk-server" + "relayIP" + ] "This option has been replaced by services.rustdesk-server.signal.relayHosts") + (lib.mkRenamedOptionModule + [ "services" "rustdesk-server" "extraRelayArgs" ] + [ "services" "rustdesk-server" "relay" "extraArgs" ] + ) + (lib.mkRenamedOptionModule + [ "services" "rustdesk-server" "extraSignalArgs" ] + [ "services" "rustdesk-server" "signal" "extraArgs" ] + ) ]; - options.services.rustdesk-server = with lib; with types; { - enable = mkEnableOption "RustDesk, a remote access and remote control software, allowing maintenance of computers and other devices"; - - package = mkPackageOption pkgs "rustdesk-server" {}; + options.services.rustdesk-server = + with lib; + with types; + { + enable = mkEnableOption "RustDesk, a remote access and remote control software, allowing maintenance of computers and other devices"; - openFirewall = mkOption { - type = types.bool; - default = false; - description = '' - Open the connection ports. - TCP (${lib.concatStringsSep ", " (map toString TCPPorts)}) - UDP (${lib.concatStringsSep ", " (map toString UDPPorts)}) - ''; - }; + package = mkPackageOption pkgs "rustdesk-server" { }; - signal = { - enable = mkOption { - type = bool; - default = true; + openFirewall = mkOption { + type = types.bool; + default = false; description = '' - Whether to enable the RustDesk signal server. + Open the connection ports. + TCP (${lib.concatStringsSep ", " (map toString TCPPorts)}) + UDP (${lib.concatStringsSep ", " (map toString UDPPorts)}) ''; }; - relayHosts = mkOption { - type = listOf str; - default = []; - # reference: https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/relay/ - description = '' - The relay server IP addresses or DNS names of the RustDesk relay. - ''; + signal = { + enable = mkOption { + type = bool; + default = true; + description = '' + Whether to enable the RustDesk signal server. + ''; + }; + + relayHosts = mkOption { + type = listOf str; + default = [ ]; + # reference: https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/relay/ + description = '' + The relay server IP addresses or DNS names of the RustDesk relay. + ''; + }; + + extraArgs = mkOption { + type = listOf str; + default = [ ]; + example = [ + "-k" + "_" + ]; + description = '' + A list of extra command line arguments to pass to the `hbbs` process. + ''; + }; + }; - extraArgs = mkOption { - type = listOf str; - default = []; - example = [ "-k" "_" ]; - description = '' - A list of extra command line arguments to pass to the `hbbs` process. - ''; + relay = { + enable = mkOption { + type = bool; + default = true; + description = '' + Whether to enable the RustDesk relay server. + ''; + }; + extraArgs = mkOption { + type = listOf str; + default = [ ]; + example = [ + "-k" + "_" + ]; + description = '' + A list of extra command line arguments to pass to the `hbbr` process. + ''; + }; }; }; - relay = { - enable = mkOption { - type = bool; - default = true; - description = '' - Whether to enable the RustDesk relay server. - ''; + config = + let + cfg = config.services.rustdesk-server; + serviceDefaults = { + enable = true; + requiredBy = [ "rustdesk.target" ]; + serviceConfig = { + Slice = "system-rustdesk.slice"; + User = "rustdesk"; + Group = "rustdesk"; + DynamicUser = "yes"; + Environment = [ ]; + WorkingDirectory = "/var/lib/rustdesk"; + StateDirectory = "rustdesk"; + StateDirectoryMode = "0750"; + LockPersonality = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RestrictNamespaces = true; + }; }; - extraArgs = mkOption { - type = listOf str; - default = []; - example = [ "-k" "_" ]; - description = '' - A list of extra command line arguments to pass to the `hbbr` process. - ''; + in + lib.mkIf cfg.enable { + users.users.rustdesk = { + description = "System user for RustDesk"; + isSystemUser = true; + group = "rustdesk"; }; - }; + users.groups.rustdesk = { }; - }; - - config = let - cfg = config.services.rustdesk-server; - serviceDefaults = { - enable = true; - requiredBy = [ "rustdesk.target" ]; - serviceConfig = { - Slice = "system-rustdesk.slice"; - User = "rustdesk"; - Group = "rustdesk"; - DynamicUser = "yes"; - Environment = []; - WorkingDirectory = "/var/lib/rustdesk"; - StateDirectory = "rustdesk"; - StateDirectoryMode = "0750"; - LockPersonality = true; - PrivateDevices = true; - PrivateMounts = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RestrictNamespaces = true; - }; - }; - in lib.mkIf cfg.enable { - users.users.rustdesk = { - description = "System user for RustDesk"; - isSystemUser = true; - group = "rustdesk"; - }; - users.groups.rustdesk = {}; + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall TCPPorts; + networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall UDPPorts; - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall TCPPorts; - networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall UDPPorts; + systemd.slices.system-rustdesk = { + enable = true; + description = "RustDesk Remote Desktop Slice"; + }; - systemd.slices.system-rustdesk = { - enable = true; - description = "RustDesk Remote Desktop Slice"; - }; + systemd.targets.rustdesk = { + enable = true; + description = "Target designed to group RustDesk Signal & RustDesk Relay"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + }; - systemd.targets.rustdesk = { - enable = true; - description = "Target designed to group RustDesk Signal & RustDesk Relay"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + systemd.services.rustdesk-signal = + let + relayArg = builtins.concatStringsSep ":" cfg.signal.relayHosts; + in + lib.mkIf cfg.signal.enable ( + lib.mkMerge [ + serviceDefaults + { + serviceConfig.ExecStart = "${cfg.package}/bin/hbbs --relay-servers ${relayArg} ${lib.escapeShellArgs cfg.signal.extraArgs}"; + } + ] + ); + + systemd.services.rustdesk-relay = lib.mkIf cfg.relay.enable ( + lib.mkMerge [ + serviceDefaults + { + serviceConfig.ExecStart = "${cfg.package}/bin/hbbr ${lib.escapeShellArgs cfg.relay.extraArgs}"; + } + ] + ); }; - systemd.services.rustdesk-signal = - let - relayArg = builtins.concatStringsSep ":" cfg.signal.relayHosts; - in - lib.mkIf cfg.signal.enable (lib.mkMerge [ serviceDefaults { - serviceConfig.ExecStart = "${cfg.package}/bin/hbbs --relay-servers ${relayArg} ${lib.escapeShellArgs cfg.signal.extraArgs}"; - } ]); - - systemd.services.rustdesk-relay = lib.mkIf cfg.relay.enable (lib.mkMerge [ serviceDefaults { - serviceConfig.ExecStart = "${cfg.package}/bin/hbbr ${lib.escapeShellArgs cfg.relay.extraArgs}"; - } ]); - }; - meta.maintainers = with lib.maintainers; [ ppom ]; } diff --git a/nixos/modules/services/monitoring/scollector.nix b/nixos/modules/services/monitoring/scollector.nix index 19625e057436b..9ebf852e4a77c 100644 --- a/nixos/modules/services/monitoring/scollector.nix +++ b/nixos/modules/services/monitoring/scollector.nix @@ -1,21 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.scollector; - collectors = pkgs.runCommand "collectors" { preferLocalBuild = true; } - '' + collectors = pkgs.runCommand "collectors" { preferLocalBuild = true; } '' mkdir -p $out - ${lib.concatStringsSep - "\n" - (lib.mapAttrsToList - (frequency: binaries: - "mkdir -p $out/${frequency}\n" + - (lib.concatStringsSep - "\n" - (map (path: "ln -s ${path} $out/${frequency}/$(basename ${path})") - binaries))) - cfg.collectors)} - ''; + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + frequency: binaries: + "mkdir -p $out/${frequency}\n" + + (lib.concatStringsSep "\n" ( + map (path: "ln -s ${path} $out/${frequency}/$(basename ${path})") binaries + )) + ) cfg.collectors + )} + ''; conf = pkgs.writeText "scollector.toml" '' Host = "${cfg.bosunHost}" @@ -23,7 +26,8 @@ let ${cfg.extraConfig} ''; -in { +in +{ options = { @@ -66,7 +70,7 @@ in { collectors = lib.mkOption { type = with lib.types; attrsOf (listOf path); - default = {}; + default = { }; example = lib.literalExpression ''{ "0" = [ "''${postgresStats}/bin/collect-stats" ]; }''; description = '' An attribute set mapping the frequency of collection to a list of @@ -77,7 +81,7 @@ in { extraOpts = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; example = [ "-d" ]; description = '' Extra scollector command line options @@ -102,7 +106,10 @@ in { description = "scollector metrics collector (part of Bosun)"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.coreutils pkgs.iproute2 ]; + path = [ + pkgs.coreutils + pkgs.iproute2 + ]; serviceConfig = { User = cfg.user; diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index 2cb5897f5d4c0..388b0829f7425 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let host = config.networking.fqdnOrHostName; @@ -55,8 +61,9 @@ let ''} ''; - notifyOpts = lib.optionalString (nm.enable || nw.enable || nx.enable) - ("-m -M exec ${smartdNotify} " + lib.optionalString cfg.notifications.test "-M test "); + notifyOpts = lib.optionalString (nm.enable || nw.enable || nx.enable) ( + "-m -M exec ${smartdNotify} " + lib.optionalString cfg.notifications.test "-M test " + ); smartdConf = pkgs.writeText "smartd.conf" '' # Autogenerated smartd startup config file @@ -64,31 +71,32 @@ let ${lib.concatMapStringsSep "\n" (d: "${d.device} ${d.options}") cfg.devices} - ${lib.optionalString cfg.autodetect - "DEVICESCAN ${notifyOpts}${cfg.defaults.autodetected}"} + ${lib.optionalString cfg.autodetect "DEVICESCAN ${notifyOpts}${cfg.defaults.autodetected}"} ''; - smartdDeviceOpts = { ... }: { + smartdDeviceOpts = + { ... }: + { - options = { + options = { - device = lib.mkOption { - example = "/dev/sda"; - type = lib.types.str; - description = "Location of the device."; - }; + device = lib.mkOption { + example = "/dev/sda"; + type = lib.types.str; + description = "Location of the device."; + }; + + options = lib.mkOption { + default = ""; + example = "-d sat"; + type = lib.types.separatedString " "; + description = "Options that determine how smartd monitors the device."; + }; - options = lib.mkOption { - default = ""; - example = "-d sat"; - type = lib.types.separatedString " "; - description = "Options that determine how smartd monitors the device."; }; }; - }; - in { @@ -113,9 +121,12 @@ in }; extraOptions = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; - example = ["-A /var/log/smartd/" "--interval=3600"]; + example = [ + "-A /var/log/smartd/" + "--interval=3600" + ]; description = '' Extra command-line options passed to the `smartd` daemon on startup. @@ -243,8 +254,14 @@ in }; devices = lib.mkOption { - default = []; - example = [ { device = "/dev/sda"; } { device = "/dev/sdb"; options = "-d sat"; } ]; + default = [ ]; + example = [ + { device = "/dev/sda"; } + { + device = "/dev/sdb"; + options = "-d sat"; + } + ]; type = with lib.types; listOf (submodule smartdDeviceOpts); description = "List of devices to monitor."; }; @@ -253,15 +270,16 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { - assertions = [ { - assertion = cfg.autodetect || cfg.devices != []; - message = "smartd can't run with both disabled autodetect and an empty list of devices to monitor."; - } ]; + assertions = [ + { + assertion = cfg.autodetect || cfg.devices != [ ]; + message = "smartd can't run with both disabled autodetect and an empty list of devices to monitor."; + } + ]; systemd.services.smartd = { description = "S.M.A.R.T. Daemon"; diff --git a/nixos/modules/services/monitoring/snmpd.nix b/nixos/modules/services/monitoring/snmpd.nix index bff9ce3fbc88b..b4e0d4f8aeb27 100644 --- a/nixos/modules/services/monitoring/snmpd.nix +++ b/nixos/modules/services/monitoring/snmpd.nix @@ -1,16 +1,25 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let cfg = config.services.snmpd; - configFile = if cfg.configText != "" then - pkgs.writeText "snmpd.cfg" '' - ${cfg.configText} - '' else null; -in { + configFile = + if cfg.configText != "" then + pkgs.writeText "snmpd.cfg" '' + ${cfg.configText} + '' + else + null; +in +{ options.services.snmpd = { enable = lib.mkEnableOption "snmpd"; - package = lib.mkPackageOption pkgs "net-snmp" {}; + package = lib.mkPackageOption pkgs "net-snmp" { }; listenAddress = lib.mkOption { type = lib.types.str; diff --git a/nixos/modules/services/monitoring/statsd.nix b/nixos/modules/services/monitoring/statsd.nix index e0bd332e2418a..43462a95ccae7 100644 --- a/nixos/modules/services/monitoring/statsd.nix +++ b/nixos/modules/services/monitoring/statsd.nix @@ -1,16 +1,26 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.statsd; - isBuiltinBackend = name: - builtins.elem name [ "graphite" "console" "repeater" ]; + isBuiltinBackend = + name: + builtins.elem name [ + "graphite" + "console" + "repeater" + ]; - backendsToPackages = let - mkMap = list: name: - if isBuiltinBackend name then list - else list ++ [ pkgs.nodePackages.${name} ]; - in lib.foldl mkMap []; + backendsToPackages = + let + mkMap = list: name: if isBuiltinBackend name then list else list ++ [ pkgs.nodePackages.${name} ]; + in + lib.foldl mkMap [ ]; configFile = pkgs.writeText "statsd.conf" '' { @@ -19,13 +29,12 @@ let mgmt_address: "${cfg.mgmt_address}", mgmt_port: "${toString cfg.mgmt_port}", backends: [${ - lib.concatMapStringsSep "," (name: - if (isBuiltinBackend name) - then ''"./backends/${name}"'' - else ''"${name}"'' - ) cfg.backends}], - ${lib.optionalString (cfg.graphiteHost!=null) ''graphiteHost: "${cfg.graphiteHost}",''} - ${lib.optionalString (cfg.graphitePort!=null) ''graphitePort: "${toString cfg.graphitePort}",''} + lib.concatMapStringsSep "," ( + name: if (isBuiltinBackend name) then ''"./backends/${name}"'' else ''"${name}"'' + ) cfg.backends + }], + ${lib.optionalString (cfg.graphiteHost != null) ''graphiteHost: "${cfg.graphiteHost}",''} + ${lib.optionalString (cfg.graphitePort != null) ''graphitePort: "${toString cfg.graphitePort}",''} console: { prettyprint: false }, @@ -81,7 +90,7 @@ in backends = lib.mkOption { description = "List of backends statsd will use for data persistence"; - default = []; + default = [ ]; example = [ "graphite" "console" diff --git a/nixos/modules/services/monitoring/sysstat.nix b/nixos/modules/services/monitoring/sysstat.nix index ca674defd65ee..d4a702aad1678 100644 --- a/nixos/modules/services/monitoring/sysstat.nix +++ b/nixos/modules/services/monitoring/sysstat.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.sysstat; -in { +in +{ options = { services.sysstat = { enable = lib.mkEnableOption "sar system activity collection"; diff --git a/nixos/modules/services/monitoring/teamviewer.nix b/nixos/modules/services/monitoring/teamviewer.nix index 45bb45a53c1b0..e7e86ff84ff88 100644 --- a/nixos/modules/services/monitoring/teamviewer.nix +++ b/nixos/modules/services/monitoring/teamviewer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.teamviewer; diff --git a/nixos/modules/services/monitoring/telegraf.nix b/nixos/modules/services/monitoring/telegraf.nix index 06339269b4277..bcdd2ece57184 100644 --- a/nixos/modules/services/monitoring/telegraf.nix +++ b/nixos/modules/services/monitoring/telegraf.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.telegraf; - settingsFormat = pkgs.formats.toml {}; + settingsFormat = pkgs.formats.toml { }; configFile = settingsFormat.generate "config.toml" cfg.extraConfig; -in { +in +{ ###### interface options = { services.telegraf = { @@ -14,7 +20,7 @@ in { environmentFiles = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; example = [ "/run/keys/telegraf.env" ]; description = '' File to load as environment file. Environment variables from this file @@ -25,12 +31,12 @@ in { }; extraConfig = lib.mkOption { - default = {}; + default = { }; description = "Extra configuration options for telegraf"; type = settingsFormat.type; example = { outputs.influxdb = { - urls = ["http://localhost:8086"]; + urls = [ "http://localhost:8086" ]; database = "telegraf"; }; inputs.statsd = { @@ -42,41 +48,46 @@ in { }; }; - ###### implementation config = lib.mkIf config.services.telegraf.enable { services.telegraf.extraConfig = { - inputs = {}; - outputs = {}; + inputs = { }; + outputs = { }; }; - systemd.services.telegraf = let - finalConfigFile = if config.services.telegraf.environmentFiles == [] - then configFile - else "/var/run/telegraf/config.toml"; - in { - description = "Telegraf Agent"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - path = lib.optional (config.services.telegraf.extraConfig.inputs ? procstat) pkgs.procps - ++ lib.optional (config.services.telegraf.extraConfig.inputs ? ping) pkgs.iputils; - serviceConfig = { - EnvironmentFile = config.services.telegraf.environmentFiles; - ExecStartPre = lib.optional (config.services.telegraf.environmentFiles != []) - (pkgs.writeShellScript "pre-start" '' - umask 077 - ${pkgs.envsubst}/bin/envsubst -i "${configFile}" > /var/run/telegraf/config.toml - ''); - ExecStart="${cfg.package}/bin/telegraf -config ${finalConfigFile}"; - ExecReload="${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - RuntimeDirectory = "telegraf"; - User = "telegraf"; - Group = "telegraf"; - Restart = "on-failure"; - # for ping probes - AmbientCapabilities = [ "CAP_NET_RAW" ]; + systemd.services.telegraf = + let + finalConfigFile = + if config.services.telegraf.environmentFiles == [ ] then + configFile + else + "/var/run/telegraf/config.toml"; + in + { + description = "Telegraf Agent"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + path = + lib.optional (config.services.telegraf.extraConfig.inputs ? procstat) pkgs.procps + ++ lib.optional (config.services.telegraf.extraConfig.inputs ? ping) pkgs.iputils; + serviceConfig = { + EnvironmentFile = config.services.telegraf.environmentFiles; + ExecStartPre = lib.optional (config.services.telegraf.environmentFiles != [ ]) ( + pkgs.writeShellScript "pre-start" '' + umask 077 + ${pkgs.envsubst}/bin/envsubst -i "${configFile}" > /var/run/telegraf/config.toml + '' + ); + ExecStart = "${cfg.package}/bin/telegraf -config ${finalConfigFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + RuntimeDirectory = "telegraf"; + User = "telegraf"; + Group = "telegraf"; + Restart = "on-failure"; + # for ping probes + AmbientCapabilities = [ "CAP_NET_RAW" ]; + }; }; - }; users.users.telegraf = { uid = config.ids.uids.telegraf; @@ -84,6 +95,6 @@ in { description = "telegraf daemon user"; }; - users.groups.telegraf = {}; + users.groups.telegraf = { }; }; } diff --git a/nixos/modules/services/monitoring/tremor-rs.nix b/nixos/modules/services/monitoring/tremor-rs.nix index ebd27771c2393..1797062e876c0 100644 --- a/nixos/modules/services/monitoring/tremor-rs.nix +++ b/nixos/modules/services/monitoring/tremor-rs.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.tremor-rs; loggerSettingsFormat = pkgs.formats.yaml { }; loggerConfigFile = loggerSettingsFormat.generate "logger.yaml" cfg.loggerSettings; -in { +in +{ options = { services.tremor-rs = { @@ -13,7 +19,7 @@ in { troyFileList = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = "List of troy files to load."; }; @@ -37,7 +43,7 @@ in { loggerSettings = lib.mkOption { description = "Tremor logger configuration"; - default = {}; + default = { }; type = loggerSettingsFormat.type; example = { @@ -90,7 +96,7 @@ in { config = lib.mkIf (cfg.enable) { - environment.systemPackages = [ pkgs.tremor-rs ] ; + environment.systemPackages = [ pkgs.tremor-rs ]; systemd.services.tremor-rs = { description = "Tremor event- or stream-processing system"; @@ -120,7 +126,10 @@ in { RestrictNamespaces = true; LockPersonality = true; RemoveIPC = true; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; }; diff --git a/nixos/modules/services/monitoring/tuptime.nix b/nixos/modules/services/monitoring/tuptime.nix index 07ada853760b4..58094a1851825 100644 --- a/nixos/modules/services/monitoring/tuptime.nix +++ b/nixos/modules/services/monitoring/tuptime.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.tuptime; -in { +in +{ options.services.tuptime = { @@ -24,7 +30,6 @@ in { }; }; - config = lib.mkIf cfg.enable { environment.systemPackages = [ pkgs.tuptime ]; @@ -70,7 +75,10 @@ in { description = "Tuptime scheduled sync timer"; # this timer should be started if the service is started # even if the timer was previously stopped - wantedBy = [ "tuptime.service" "timers.target" ]; + wantedBy = [ + "tuptime.service" + "timers.target" + ]; # this timer should be stopped if the service is stopped partOf = [ "tuptime.service" ]; timerConfig = { diff --git a/nixos/modules/services/monitoring/unpoller.nix b/nixos/modules/services/monitoring/unpoller.nix index 1cdd8a78ea8ff..514afb2fe8b27 100644 --- a/nixos/modules/services/monitoring/unpoller.nix +++ b/nixos/modules/services/monitoring/unpoller.nix @@ -1,12 +1,26 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.unpoller; - configFile = pkgs.writeText "unpoller.json" (lib.generators.toJSON {} { - inherit (cfg) poller influxdb loki prometheus unifi; - }); + configFile = pkgs.writeText "unpoller.json" ( + lib.generators.toJSON { } { + inherit (cfg) + poller + influxdb + loki + prometheus + unifi + ; + } + ); -in { +in +{ imports = [ (lib.mkRenamedOptionModule [ "services" "unifi-poller" ] [ "services" "unpoller" ]) ]; @@ -32,7 +46,7 @@ in { }; plugins = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = '' Load additional plugins. ''; @@ -174,122 +188,133 @@ in { }; }; - unifi = let - controllerOptions = { - user = lib.mkOption { - type = lib.types.str; - default = "unifi"; - description = '' - Unifi service user name. - ''; - }; - pass = lib.mkOption { - type = lib.types.path; - default = pkgs.writeText "unpoller-unifi-default.password" "unifi"; - defaultText = lib.literalExpression "unpoller-unifi-default.password"; - description = '' - Path of a file containing the password for the unifi service user. - This file needs to be readable by the unifi-poller user. - ''; - apply = v: "file://${v}"; - }; - url = lib.mkOption { - type = lib.types.str; - default = "https://unifi:8443"; - description = '' - URL of the Unifi controller. - ''; - }; - sites = lib.mkOption { - type = with lib.types; either (enum [ "default" "all" ]) (listOf str); - default = "all"; - description = '' - List of site names for which statistics should be exported. - Or the string "default" for the default site or the string "all" for all sites. - ''; - apply = lib.toList; - }; - save_ids = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Collect and save data from the intrusion detection system to influxdb and Loki. - ''; - }; - save_events = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Collect and save data from UniFi events to influxdb and Loki. - ''; - }; - save_alarms = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Collect and save data from UniFi alarms to influxdb and Loki. - ''; - }; - save_anomalies = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Collect and save data from UniFi anomalies to influxdb and Loki. - ''; - }; - save_dpi = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Collect and save data from deep packet inspection. - Adds around 150 data points and impacts performance. - ''; + unifi = + let + controllerOptions = { + user = lib.mkOption { + type = lib.types.str; + default = "unifi"; + description = '' + Unifi service user name. + ''; + }; + pass = lib.mkOption { + type = lib.types.path; + default = pkgs.writeText "unpoller-unifi-default.password" "unifi"; + defaultText = lib.literalExpression "unpoller-unifi-default.password"; + description = '' + Path of a file containing the password for the unifi service user. + This file needs to be readable by the unifi-poller user. + ''; + apply = v: "file://${v}"; + }; + url = lib.mkOption { + type = lib.types.str; + default = "https://unifi:8443"; + description = '' + URL of the Unifi controller. + ''; + }; + sites = lib.mkOption { + type = + with lib.types; + either (enum [ + "default" + "all" + ]) (listOf str); + default = "all"; + description = '' + List of site names for which statistics should be exported. + Or the string "default" for the default site or the string "all" for all sites. + ''; + apply = lib.toList; + }; + save_ids = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Collect and save data from the intrusion detection system to influxdb and Loki. + ''; + }; + save_events = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Collect and save data from UniFi events to influxdb and Loki. + ''; + }; + save_alarms = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Collect and save data from UniFi alarms to influxdb and Loki. + ''; + }; + save_anomalies = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Collect and save data from UniFi anomalies to influxdb and Loki. + ''; + }; + save_dpi = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Collect and save data from deep packet inspection. + Adds around 150 data points and impacts performance. + ''; + }; + save_sites = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Collect and save site data. + ''; + }; + hash_pii = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Hash, with md5, client names and MAC addresses. This attempts + to protect personally identifiable information. + ''; + }; + verify_ssl = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Verify the Unifi controller's certificate. + ''; + }; }; - save_sites = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Collect and save site data. - ''; - }; - hash_pii = lib.mkOption { + + in + { + dynamic = lib.mkOption { type = lib.types.bool; default = false; description = '' - Hash, with md5, client names and MAC addresses. This attempts - to protect personally identifiable information. + Let prometheus select which controller to poll when scraping. + Use with default credentials. See unifi-poller wiki for more. ''; }; - verify_ssl = lib.mkOption { - type = lib.types.bool; - default = true; + + defaults = controllerOptions; + + controllers = lib.mkOption { + type = + with lib.types; + listOf (submodule { + options = controllerOptions; + }); + default = [ ]; description = '' - Verify the Unifi controller's certificate. + List of Unifi controllers to poll. Use defaults if empty. ''; + apply = map (lib.flip removeAttrs [ "_module" ]); }; }; - - in { - dynamic = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Let prometheus select which controller to poll when scraping. - Use with default credentials. See unifi-poller wiki for more. - ''; - }; - - defaults = controllerOptions; - - controllers = lib.mkOption { - type = with lib.types; listOf (submodule { options = controllerOptions; }); - default = []; - description = '' - List of Unifi controllers to poll. Use defaults if empty. - ''; - apply = map (lib.flip removeAttrs [ "_module" ]); - }; - }; }; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/monitoring/uptime-kuma.nix b/nixos/modules/services/monitoring/uptime-kuma.nix index 0dd636fe1cc32..3b15cb80a8612 100644 --- a/nixos/modules/services/monitoring/uptime-kuma.nix +++ b/nixos/modules/services/monitoring/uptime-kuma.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.uptime-kuma; in @@ -69,14 +74,18 @@ in ProtectProc = "noaccess"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + "AF_NETLINK" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - UMask = 027; + UMask = 27; }; }; }; } - diff --git a/nixos/modules/services/monitoring/uptime.nix b/nixos/modules/services/monitoring/uptime.nix index 79b86be6cc715..c7c77d6a09e12 100644 --- a/nixos/modules/services/monitoring/uptime.nix +++ b/nixos/modules/services/monitoring/uptime.nix @@ -1,29 +1,48 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: let - inherit (lib) literalExpression mkOption mkEnableOption mkIf mkMerge types optional; + inherit (lib) + literalExpression + mkOption + mkEnableOption + mkIf + mkMerge + types + optional + ; cfg = config.services.uptime; opt = options.services.uptime; - configDir = pkgs.runCommand "config" { preferLocalBuild = true; } - (if cfg.configFile != null then '' - mkdir $out - ext=`echo ${cfg.configFile} | grep -o \\..*` - ln -sv ${cfg.configFile} $out/default$ext - ln -sv /var/lib/uptime/runtime.json $out/runtime.json - '' else '' - mkdir $out - cat ${pkgs.nodePackages.node-uptime}/lib/node_modules/node-uptime/config/default.yaml > $out/default.yaml - cat >> $out/default.yaml < $out/default.yaml + cat >> $out/default.yaml < @@ -115,7 +137,7 @@ in { CacheDirectory = "vmagent"; ExecStart = lib.escapeShellArgs ( startCLIList - ++ lib.optionals (cfg.prometheusConfig != {}) ["-promscrape.config=${prometheusConfigYml}"] + ++ lib.optionals (cfg.prometheusConfig != { }) [ "-promscrape.config=${prometheusConfigYml}" ] ); LoadCredential = lib.optional (cfg.remoteWrite.basicAuthPasswordFile != null) [ "remote_write_basic_auth_password:${cfg.remoteWrite.basicAuthPasswordFile}" diff --git a/nixos/modules/services/monitoring/vmalert.nix b/nixos/modules/services/monitoring/vmalert.nix index 14fdfbbda29ac..438d067643fba 100644 --- a/nixos/modules/services/monitoring/vmalert.nix +++ b/nixos/modules/services/monitoring/vmalert.nix @@ -1,21 +1,38 @@ -{ config, pkgs, lib, ... }: with lib; +{ + config, + pkgs, + lib, + ... +}: +with lib; let cfg = config.services.vmalert; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; - confOpts = concatStringsSep " \\\n" (mapAttrsToList mkLine (filterAttrs (_: v: v != false) cfg.settings)); - confType = with types; + confOpts = concatStringsSep " \\\n" ( + mapAttrsToList mkLine (filterAttrs (_: v: v != false) cfg.settings) + ); + confType = + with types; let - valueType = oneOf [ bool int path str ]; + valueType = oneOf [ + bool + int + path + str + ]; in attrsOf (either valueType (listOf valueType)); - mkLine = key: value: - if value == true then "-${key}" - else if isList value then concatMapStringsSep " " (v: "-${key}=${escapeShellArg (toString v)}") value - else "-${key}=${escapeShellArg (toString value)}" - ; + mkLine = + key: value: + if value == true then + "-${key}" + else if isList value then + concatMapStringsSep " " (v: "-${key}=${escapeShellArg (toString v)}") value + else + "-${key}=${escapeShellArg (toString value)}"; in { # interface @@ -47,7 +64,7 @@ in "notifier.url" = mkOption { type = with types; listOf nonEmptyStr; - default = []; + default = [ ]; example = [ "http://127.0.0.1:9093" ]; description = '' Prometheus Alertmanager URL. List all Alertmanager URLs if it runs in the cluster mode to ensure high availability. @@ -87,12 +104,14 @@ in rules = mkOption { type = format.type; - default = {}; + default = { }; example = { group = [ - { name = "TestGroup"; + { + name = "TestGroup"; rules = [ - { alert = "ExampleAlertAlwaysFiring"; + { + alert = "ExampleAlertAlwaysFiring"; expr = '' sum by(job) (up == 1) diff --git a/nixos/modules/services/monitoring/vnstat.nix b/nixos/modules/services/monitoring/vnstat.nix index afacb696420b0..958a46e817308 100644 --- a/nixos/modules/services/monitoring/vnstat.nix +++ b/nixos/modules/services/monitoring/vnstat.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.vnstat; -in { +in +{ options.services.vnstat = { enable = lib.mkEnableOption "update of network usage statistics via vnstatd"; }; @@ -11,7 +17,7 @@ in { environment.systemPackages = [ pkgs.vnstat ]; users = { - groups.vnstatd = {}; + groups.vnstatd = { }; users.vnstatd = { isSystemUser = true; diff --git a/nixos/modules/services/monitoring/watchdogd.nix b/nixos/modules/services/monitoring/watchdogd.nix index f54d7aa80b18c..1aa290a467cba 100644 --- a/nixos/modules/services/monitoring/watchdogd.nix +++ b/nixos/modules/services/monitoring/watchdogd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.watchdogd; @@ -33,54 +38,59 @@ let ''; }; }; -in { +in +{ options.services.watchdogd = { enable = lib.mkEnableOption "watchdogd, an advanced system & process supervisor"; package = lib.mkPackageOption pkgs "watchdogd" { }; settings = lib.mkOption { - type = with lib.types; submodule { - freeformType = let - valueType = oneOf [ - bool - int - float - str - ]; - in attrsOf (either valueType (attrsOf valueType)); + type = + with lib.types; + submodule { + freeformType = + let + valueType = oneOf [ + bool + int + float + str + ]; + in + attrsOf (either valueType (attrsOf valueType)); - options = { - timeout = lib.mkOption { - type = types.ints.unsigned; - default = 15; - description = '' - The WDT timeout before reset. - ''; - }; - interval = lib.mkOption { - type = types.ints.unsigned; - default = 5; - description = '' - The kick interval, i.e. how often {manpage}`watchdogd(8)` should reset the WDT timer. - ''; - }; + options = { + timeout = lib.mkOption { + type = types.ints.unsigned; + default = 15; + description = '' + The WDT timeout before reset. + ''; + }; + interval = lib.mkOption { + type = types.ints.unsigned; + default = 5; + description = '' + The kick interval, i.e. how often {manpage}`watchdogd(8)` should reset the WDT timer. + ''; + }; - safe-exit = lib.mkOption { - type = types.bool; - default = true; - description = '' - With {var}`safeExit` enabled, the daemon will ask the driver to disable the WDT before exiting. - However, some WDT drivers (or hardware) may not support this. - ''; - }; + safe-exit = lib.mkOption { + type = types.bool; + default = true; + description = '' + With {var}`safeExit` enabled, the daemon will ask the driver to disable the WDT before exiting. + However, some WDT drivers (or hardware) may not support this. + ''; + }; - filenr = mkPluginOpts "filenr" 0.9 1.0; + filenr = mkPluginOpts "filenr" 0.9 1.0; - loadavg = mkPluginOpts "loadavg" 1.0 2.0; + loadavg = mkPluginOpts "loadavg" 1.0 2.0; - meminfo = mkPluginOpts "meminfo" 0.9 0.95; + meminfo = mkPluginOpts "meminfo" 0.9 0.95; + }; }; - }; default = { }; description = '' Configuration to put in {file}`watchdogd.conf`. @@ -89,42 +99,52 @@ in { }; }; - config = let - toConfig = attrs: lib.concatStringsSep "\n" (lib.mapAttrsToList toValue attrs); + config = + let + toConfig = attrs: lib.concatStringsSep "\n" (lib.mapAttrsToList toValue attrs); - toValue = name: value: - if lib.isAttrs value - then lib.pipe value [ - (lib.mapAttrsToList toValue) - (map (s: " ${s}")) - (lib.concatStringsSep "\n") - (s: "${name} {\n${s}\n}") - ] - else if lib.isBool value - then "${name} = ${lib.boolToString value}" - else if lib.any (f: f value) [lib.isString lib.isInt lib.isFloat] - then "${name} = ${toString value}" - else throw '' - Found invalid type in `services.watchdogd.settings`: '${lib.typeOf value}' - ''; + toValue = + name: value: + if lib.isAttrs value then + lib.pipe value [ + (lib.mapAttrsToList toValue) + (map (s: " ${s}")) + (lib.concatStringsSep "\n") + (s: "${name} {\n${s}\n}") + ] + else if lib.isBool value then + "${name} = ${lib.boolToString value}" + else if + lib.any (f: f value) [ + lib.isString + lib.isInt + lib.isFloat + ] + then + "${name} = ${toString value}" + else + throw '' + Found invalid type in `services.watchdogd.settings`: '${lib.typeOf value}' + ''; - watchdogdConf = pkgs.writeText "watchdogd.conf" (toConfig cfg.settings); - in lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; + watchdogdConf = pkgs.writeText "watchdogd.conf" (toConfig cfg.settings); + in + lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; - systemd.services.watchdogd = { - documentation = [ - "man:watchdogd(8)" - "man:watchdogd.conf(5)" - ]; - wantedBy = [ "multi-user.target" ]; - description = "Advanced system & process supervisor"; - serviceConfig = { - Type = "simple"; - ExecStart = "${cfg.package}/bin/watchdogd -n -f ${watchdogdConf}"; + systemd.services.watchdogd = { + documentation = [ + "man:watchdogd(8)" + "man:watchdogd.conf(5)" + ]; + wantedBy = [ "multi-user.target" ]; + description = "Advanced system & process supervisor"; + serviceConfig = { + Type = "simple"; + ExecStart = "${cfg.package}/bin/watchdogd -n -f ${watchdogdConf}"; + }; }; }; - }; meta.maintainers = with lib.maintainers; [ vifino ]; } diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix index b3850baa738b3..8a8afcb501c8e 100644 --- a/nixos/modules/services/monitoring/zabbix-agent.nix +++ b/nixos/modules/services/monitoring/zabbix-agent.nix @@ -1,10 +1,28 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.zabbixAgent; - inherit (lib) mkDefault mkEnableOption mkPackageOption mkIf mkMerge mkOption; - inherit (lib) attrValues concatMapStringsSep literalExpression optionalString types; + inherit (lib) + mkDefault + mkEnableOption + mkPackageOption + mkIf + mkMerge + mkOption + ; + inherit (lib) + attrValues + concatMapStringsSep + literalExpression + optionalString + types + ; inherit (lib.generators) toKeyValue; user = "zabbix-agent"; @@ -15,13 +33,19 @@ let paths = attrValues cfg.modules; }; - configFile = pkgs.writeText "zabbix_agent.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings); + configFile = pkgs.writeText "zabbix_agent.conf" ( + toKeyValue { listsAsDuplicateKeys = true; } cfg.settings + ); in { imports = [ - (lib.mkRemovedOptionModule [ "services" "zabbixAgent" "extraConfig" ] "Use services.zabbixAgent.settings instead.") + (lib.mkRemovedOptionModule [ + "services" + "zabbixAgent" + "extraConfig" + ] "Use services.zabbixAgent.settings instead.") ]; # interface @@ -47,7 +71,7 @@ in modules = mkOption { type = types.attrsOf types.package; description = "A set of modules to load."; - default = {}; + default = { }; example = literalExpression '' { "dummy.so" = pkgs.stdenv.mkDerivation { @@ -98,8 +122,14 @@ in }; settings = mkOption { - type = with types; attrsOf (oneOf [ int str (listOf str) ]); - default = {}; + type = + with types; + attrsOf (oneOf [ + int + str + (listOf str) + ]); + default = { }; description = '' Zabbix Agent configuration. Refer to @@ -125,7 +155,7 @@ in Server = cfg.server; ListenPort = cfg.listen.port; } - (mkIf (cfg.modules != {}) { + (mkIf (cfg.modules != { }) { LoadModule = builtins.attrNames cfg.modules; LoadModulePath = "${moduleEnv}/lib"; }) @@ -155,7 +185,13 @@ in # https://www.zabbix.com/documentation/current/manual/config/items/userparameters # > User parameters are commands executed by Zabbix agent. # > /bin/sh is used as a command line interpreter under UNIX operating systems. - path = with pkgs; [ bash "/run/wrappers" ] ++ cfg.extraPackages; + path = + with pkgs; + [ + bash + "/run/wrappers" + ] + ++ cfg.extraPackages; serviceConfig = { ExecStart = "@${cfg.package}/sbin/zabbix_agentd zabbix_agentd -f --config ${configFile}"; diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix index dec403df85ea8..2336446d6f473 100644 --- a/nixos/modules/services/monitoring/zabbix-proxy.nix +++ b/nixos/modules/services/monitoring/zabbix-proxy.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.zabbixProxy; @@ -6,8 +12,24 @@ let pgsql = config.services.postgresql; mysql = config.services.mysql; - inherit (lib) mkAfter mkDefault mkEnableOption mkIf mkMerge mkOption; - inherit (lib) attrValues concatMapStringsSep getName literalExpression optional optionalAttrs optionalString types; + inherit (lib) + mkAfter + mkDefault + mkEnableOption + mkIf + mkMerge + mkOption + ; + inherit (lib) + attrValues + concatMapStringsSep + getName + literalExpression + optional + optionalAttrs + optionalString + types + ; inherit (lib.generators) toKeyValue; user = "zabbix"; @@ -21,7 +43,9 @@ let paths = attrValues cfg.modules; }; - configFile = pkgs.writeText "zabbix_proxy.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings); + configFile = pkgs.writeText "zabbix_proxy.conf" ( + toKeyValue { listsAsDuplicateKeys = true; } cfg.settings + ); mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; @@ -30,7 +54,11 @@ in { imports = [ - (lib.mkRemovedOptionModule [ "services" "zabbixProxy" "extraConfig" ] "Use services.zabbixProxy.settings instead.") + (lib.mkRemovedOptionModule [ + "services" + "zabbixProxy" + "extraConfig" + ] "Use services.zabbixProxy.settings instead.") ]; # interface @@ -44,22 +72,29 @@ in type = types.str; description = '' The IP address or hostname of the Zabbix server to connect to. - ''; - }; + ''; + }; package = mkOption { type = types.package; default = - if cfg.database.type == "mysql" then pkgs.zabbix.proxy-mysql - else if cfg.database.type == "pgsql" then pkgs.zabbix.proxy-pgsql - else pkgs.zabbix.proxy-sqlite; + if cfg.database.type == "mysql" then + pkgs.zabbix.proxy-mysql + else if cfg.database.type == "pgsql" then + pkgs.zabbix.proxy-pgsql + else + pkgs.zabbix.proxy-sqlite; defaultText = literalExpression "pkgs.zabbix.proxy-pgsql"; description = "The Zabbix package to use."; }; extraPackages = mkOption { type = types.listOf types.package; - default = with pkgs; [ nettools nmap traceroute ]; + default = with pkgs; [ + nettools + nmap + traceroute + ]; defaultText = literalExpression "[ nettools nmap traceroute ]"; description = '' Packages to be added to the Zabbix {env}`PATH`. @@ -70,7 +105,7 @@ in modules = mkOption { type = types.attrsOf types.package; description = "A set of modules to load."; - default = {}; + default = { }; example = literalExpression '' { "dummy.so" = pkgs.stdenv.mkDerivation { @@ -89,7 +124,11 @@ in database = { type = mkOption { - type = types.enum [ "mysql" "pgsql" "sqlite" ]; + type = types.enum [ + "mysql" + "pgsql" + "sqlite" + ]; example = "mysql"; default = "pgsql"; description = "Database engine to use."; @@ -177,8 +216,14 @@ in }; settings = mkOption { - type = with types; attrsOf (oneOf [ int str (listOf str) ]); - default = {}; + type = + with types; + attrsOf (oneOf [ + int + str + (listOf str) + ]); + default = { }; description = '' Zabbix Proxy configuration. Refer to @@ -200,13 +245,17 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = !config.services.zabbixServer.enable; + { + assertion = !config.services.zabbixServer.enable; message = "Please choose one of services.zabbixServer or services.zabbixProxy."; } - { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; + { + assertion = + cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user; message = "services.zabbixProxy.database.user must be set to ${user} if services.zabbixProxy.database.createLocally is set true"; } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; message = "a password cannot be specified if services.zabbixProxy.database.createLocally is set to true"; } ]; @@ -228,7 +277,7 @@ in (mkIf (cfg.database.createLocally != true) { DBPort = cfg.database.port; }) (mkIf (cfg.database.passwordFile != null) { Include = [ "${passwordFile}" ]; }) (mkIf (mysqlLocal && cfg.database.socket != null) { DBSocket = cfg.database.socket; }) - (mkIf (cfg.modules != {}) { LoadModulePath = "${moduleEnv}/lib"; }) + (mkIf (cfg.modules != { }) { LoadModulePath = "${moduleEnv}/lib"; }) ]; networking.firewall = mkIf cfg.openFirewall { @@ -240,18 +289,26 @@ in package = mkDefault pkgs.mariadb; }; - systemd.services.mysql.postStart = mkAfter (optionalString mysqlLocal '' - ( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;" - echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${if (getName config.services.mysql.package == getName pkgs.mariadb) then "unix_socket" else "auth_socket"};" - echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';" - ) | ${config.services.mysql.package}/bin/mysql -N - ''); + systemd.services.mysql.postStart = mkAfter ( + optionalString mysqlLocal '' + ( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;" + echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${ + if (getName config.services.mysql.package == getName pkgs.mariadb) then + "unix_socket" + else + "auth_socket" + };" + echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';" + ) | ${config.services.mysql.package}/bin/mysql -N + '' + ); services.postgresql = optionalAttrs pgsqlLocal { enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensureDBOwnership = true; } ]; @@ -268,12 +325,12 @@ in }; security.wrappers = { - fping = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.fping}/bin/fping"; - }; + fping = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.fping}/bin/fping"; + }; }; systemd.services.zabbix-proxy = { @@ -283,24 +340,28 @@ in after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; path = [ "/run/wrappers" ] ++ cfg.extraPackages; - preStart = optionalString pgsqlLocal '' - if ! test -e "${stateDir}/db-created"; then - cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name} - touch "${stateDir}/db-created" - fi - '' + optionalString mysqlLocal '' - if ! test -e "${stateDir}/db-created"; then - cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name} - touch "${stateDir}/db-created" - fi - '' + optionalString (cfg.database.type == "sqlite") '' - if ! test -e "${cfg.database.name}"; then - ${pkgs.sqlite}/bin/sqlite3 "${cfg.database.name}" < ${cfg.package}/share/zabbix/database/sqlite3/schema.sql - fi - '' + optionalString (cfg.database.passwordFile != null) '' - # create a copy of the supplied password file in a format zabbix can consume - install -m 0600 <(echo "DBPassword = $(cat ${cfg.database.passwordFile})") ${passwordFile} - ''; + preStart = + optionalString pgsqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + + optionalString mysqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + + optionalString (cfg.database.type == "sqlite") '' + if ! test -e "${cfg.database.name}"; then + ${pkgs.sqlite}/bin/sqlite3 "${cfg.database.name}" < ${cfg.package}/share/zabbix/database/sqlite3/schema.sql + fi + '' + + optionalString (cfg.database.passwordFile != null) '' + # create a copy of the supplied password file in a format zabbix can consume + install -m 0600 <(echo "DBPassword = $(cat ${cfg.database.passwordFile})") ${passwordFile} + ''; serviceConfig = { ExecStart = "@${cfg.package}/sbin/zabbix_proxy zabbix_proxy -f --config ${configFile}"; diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index 3c6f60b9d722e..3fd18ce2d6d1e 100644 --- a/nixos/modules/services/monitoring/zabbix-server.nix +++ b/nixos/modules/services/monitoring/zabbix-server.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.zabbixServer; @@ -6,8 +12,24 @@ let pgsql = config.services.postgresql; mysql = config.services.mysql; - inherit (lib) mkAfter mkDefault mkEnableOption mkIf mkMerge mkOption; - inherit (lib) attrValues concatMapStringsSep getName literalExpression optional optionalAttrs optionalString types; + inherit (lib) + mkAfter + mkDefault + mkEnableOption + mkIf + mkMerge + mkOption + ; + inherit (lib) + attrValues + concatMapStringsSep + getName + literalExpression + optional + optionalAttrs + optionalString + types + ; inherit (lib.generators) toKeyValue; user = "zabbix"; @@ -21,7 +43,9 @@ let paths = attrValues cfg.modules; }; - configFile = pkgs.writeText "zabbix_server.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings); + configFile = pkgs.writeText "zabbix_server.conf" ( + toKeyValue { listsAsDuplicateKeys = true; } cfg.settings + ); mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; @@ -30,9 +54,20 @@ in { imports = [ - (lib.mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ]) - (lib.mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.") - (lib.mkRemovedOptionModule [ "services" "zabbixServer" "extraConfig" ] "Use services.zabbixServer.settings instead.") + (lib.mkRenamedOptionModule + [ "services" "zabbixServer" "dbServer" ] + [ "services" "zabbixServer" "database" "host" ] + ) + (lib.mkRemovedOptionModule [ + "services" + "zabbixServer" + "dbPassword" + ] "Use services.zabbixServer.database.passwordFile instead.") + (lib.mkRemovedOptionModule [ + "services" + "zabbixServer" + "extraConfig" + ] "Use services.zabbixServer.settings instead.") ]; # interface @@ -44,14 +79,19 @@ in package = mkOption { type = types.package; - default = if cfg.database.type == "mysql" then pkgs.zabbix.server-mysql else pkgs.zabbix.server-pgsql; + default = + if cfg.database.type == "mysql" then pkgs.zabbix.server-mysql else pkgs.zabbix.server-pgsql; defaultText = literalExpression "pkgs.zabbix.server-pgsql"; description = "The Zabbix package to use."; }; extraPackages = mkOption { type = types.listOf types.package; - default = with pkgs; [ nettools nmap traceroute ]; + default = with pkgs; [ + nettools + nmap + traceroute + ]; defaultText = literalExpression "[ nettools nmap traceroute ]"; description = '' Packages to be added to the Zabbix {env}`PATH`. @@ -62,7 +102,7 @@ in modules = mkOption { type = types.attrsOf types.package; description = "A set of modules to load."; - default = {}; + default = { }; example = literalExpression '' { "dummy.so" = pkgs.stdenv.mkDerivation { @@ -81,7 +121,10 @@ in database = { type = mkOption { - type = types.enum [ "mysql" "pgsql" ]; + type = types.enum [ + "mysql" + "pgsql" + ]; example = "mysql"; default = "pgsql"; description = "Database engine to use."; @@ -168,8 +211,14 @@ in }; settings = mkOption { - type = with types; attrsOf (oneOf [ int str (listOf str) ]); - default = {}; + type = + with types; + attrsOf (oneOf [ + int + str + (listOf str) + ]); + default = { }; description = '' Zabbix Server configuration. Refer to @@ -191,10 +240,13 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name; + { + assertion = + cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name; message = "services.zabbixServer.database.user must be set to ${user} if services.zabbixServer.database.createLocally is set true"; } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; message = "a password cannot be specified if services.zabbixServer.database.createLocally is set to true"; } ]; @@ -216,7 +268,7 @@ in (mkIf (cfg.database.createLocally != true) { DBPort = cfg.database.port; }) (mkIf (cfg.database.passwordFile != null) { Include = [ "${passwordFile}" ]; }) (mkIf (mysqlLocal && cfg.database.socket != null) { DBSocket = cfg.database.socket; }) - (mkIf (cfg.modules != {}) { LoadModulePath = "${moduleEnv}/lib"; }) + (mkIf (cfg.modules != { }) { LoadModulePath = "${moduleEnv}/lib"; }) ]; networking.firewall = mkIf cfg.openFirewall { @@ -228,18 +280,26 @@ in package = mkDefault pkgs.mariadb; }; - systemd.services.mysql.postStart = mkAfter (optionalString mysqlLocal '' - ( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;" - echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${if (getName config.services.mysql.package == getName pkgs.mariadb) then "unix_socket" else "auth_socket"};" - echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';" - ) | ${config.services.mysql.package}/bin/mysql -N - ''); + systemd.services.mysql.postStart = mkAfter ( + optionalString mysqlLocal '' + ( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;" + echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${ + if (getName config.services.mysql.package == getName pkgs.mariadb) then + "unix_socket" + else + "auth_socket" + };" + echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';" + ) | ${config.services.mysql.package}/bin/mysql -N + '' + ); services.postgresql = optionalAttrs pgsqlLocal { enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensureDBOwnership = true; } ]; @@ -256,12 +316,12 @@ in }; security.wrappers = { - fping = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.fping}/bin/fping"; - }; + fping = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.fping}/bin/fping"; + }; }; systemd.services.zabbix-server = { @@ -271,29 +331,33 @@ in after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; path = [ "/run/wrappers" ] ++ cfg.extraPackages; - preStart = '' - # pre 19.09 compatibility - if test -e "${runtimeDir}/db-created"; then - mv "${runtimeDir}/db-created" "${stateDir}/" - fi - '' + optionalString pgsqlLocal '' - if ! test -e "${stateDir}/db-created"; then - cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name} - cat ${cfg.package}/share/zabbix/database/postgresql/images.sql | ${pgsql.package}/bin/psql ${cfg.database.name} - cat ${cfg.package}/share/zabbix/database/postgresql/data.sql | ${pgsql.package}/bin/psql ${cfg.database.name} - touch "${stateDir}/db-created" - fi - '' + optionalString mysqlLocal '' - if ! test -e "${stateDir}/db-created"; then - cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name} - cat ${cfg.package}/share/zabbix/database/mysql/images.sql | ${mysql.package}/bin/mysql ${cfg.database.name} - cat ${cfg.package}/share/zabbix/database/mysql/data.sql | ${mysql.package}/bin/mysql ${cfg.database.name} - touch "${stateDir}/db-created" - fi - '' + optionalString (cfg.database.passwordFile != null) '' - # create a copy of the supplied password file in a format zabbix can consume - install -m 0600 <(echo "DBPassword = $(cat ${cfg.database.passwordFile})") ${passwordFile} - ''; + preStart = + '' + # pre 19.09 compatibility + if test -e "${runtimeDir}/db-created"; then + mv "${runtimeDir}/db-created" "${stateDir}/" + fi + '' + + optionalString pgsqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/postgresql/images.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/postgresql/data.sql | ${pgsql.package}/bin/psql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + + optionalString mysqlLocal '' + if ! test -e "${stateDir}/db-created"; then + cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/mysql/images.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + cat ${cfg.package}/share/zabbix/database/mysql/data.sql | ${mysql.package}/bin/mysql ${cfg.database.name} + touch "${stateDir}/db-created" + fi + '' + + optionalString (cfg.database.passwordFile != null) '' + # create a copy of the supplied password file in a format zabbix can consume + install -m 0600 <(echo "DBPassword = $(cat ${cfg.database.passwordFile})") ${passwordFile} + ''; serviceConfig = { ExecStart = "@${cfg.package}/sbin/zabbix_server zabbix_server -f --config ${configFile}"; @@ -309,8 +373,8 @@ in }; systemd.services.httpd.after = - optional (config.services.zabbixWeb.enable && mysqlLocal) "mysql.service" ++ - optional (config.services.zabbixWeb.enable && pgsqlLocal) "postgresql.service"; + optional (config.services.zabbixWeb.enable && mysqlLocal) "mysql.service" + ++ optional (config.services.zabbixWeb.enable && pgsqlLocal) "postgresql.service"; }; diff --git a/nixos/modules/services/network-filesystems/cachefilesd.nix b/nixos/modules/services/network-filesystems/cachefilesd.nix index b1c13cf41501c..6408e59498743 100644 --- a/nixos/modules/services/network-filesystems/cachefilesd.nix +++ b/nixos/modules/services/network-filesystems/cachefilesd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.cachefilesd; diff --git a/nixos/modules/services/network-filesystems/davfs2.nix b/nixos/modules/services/network-filesystems/davfs2.nix index 49a363476c975..2a1460a8eef03 100644 --- a/nixos/modules/services/network-filesystems/davfs2.nix +++ b/nixos/modules/services/network-filesystems/davfs2.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib.attrsets) optionalAttrs; @@ -7,23 +12,40 @@ let inherit (lib.modules) mkIf mkRemovedOptionModule; inherit (lib.options) literalExpression mkEnableOption mkOption; inherit (lib.strings) escape; - inherit (lib.types) attrsOf bool int lines oneOf str submodule; + inherit (lib.types) + attrsOf + bool + int + lines + oneOf + str + submodule + ; cfg = config.services.davfs2; - escapeString = escape ["\"" "\\"]; + escapeString = escape [ + "\"" + "\\" + ]; - formatValue = value: - if true == value then "1" - else if false == value then "0" - else if builtins.isString value then "\"${escapeString value}\"" - else toString value; + formatValue = + value: + if true == value then + "1" + else if false == value then + "0" + else if builtins.isString value then + "\"${escapeString value}\"" + else + toString value; configFile = pkgs.writeText "davfs2.conf" ( toINIWithGlobalSection { mkSectionName = escapeString; mkKeyValue = k: v: "${k} ${formatValue v}"; - } cfg.settings); + } cfg.settings + ); in { @@ -58,10 +80,15 @@ in settings = mkOption { type = submodule { - freeformType = let - valueTypes = [ bool int str ]; - in - attrsOf (attrsOf (oneOf (valueTypes ++ [ (attrsOf (oneOf valueTypes)) ] ))); + freeformType = + let + valueTypes = [ + bool + int + str + ]; + in + attrsOf (attrsOf (oneOf (valueTypes ++ [ (attrsOf (oneOf valueTypes)) ]))); }; default = { }; example = literalExpression '' @@ -83,7 +110,7 @@ in description = '' Extra settings appended to the configuration of davfs2. See {manpage}`davfs2.conf(5)` for available settings. - '' ; + ''; }; }; diff --git a/nixos/modules/services/network-filesystems/diod.nix b/nixos/modules/services/network-filesystems/diod.nix index 8b3f4f9bd8c5f..8ad0d6e53893d 100644 --- a/nixos/modules/services/network-filesystems/diod.nix +++ b/nixos/modules/services/network-filesystems/diod.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.diod; @@ -9,8 +14,8 @@ let auth_required = ${diodBool cfg.authRequired} exportall = ${diodBool cfg.exportall} exportopts = "${lib.concatStringsSep "," cfg.exportopts}" - exports = { ${lib.concatStringsSep ", " (map (s: ''"${s}"'' ) cfg.exports)} } - listen = { ${lib.concatStringsSep ", " (map (s: ''"${s}"'' ) cfg.listen)} } + exports = { ${lib.concatStringsSep ", " (map (s: ''"${s}"'') cfg.exports)} } + listen = { ${lib.concatStringsSep ", " (map (s: ''"${s}"'') cfg.listen)} } logdest = "${cfg.logdest}" nwthreads = ${toString cfg.nwthreads} squashuser = "${cfg.squashuser}" @@ -39,7 +44,7 @@ in exports = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' List the file systems that clients will be allowed to mount. All paths should be fully qualified. The exports table can include two types of element: @@ -66,7 +71,7 @@ in exportopts = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Establish a default set of export options. These are overridden, not appended to, by opts attributes in an "exports" entry. @@ -125,7 +130,6 @@ in ''; }; - statfsPassthru = lib.mkOption { type = lib.types.bool; default = false; diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix index 2ecf8558a10ff..973ed80d82b91 100644 --- a/nixos/modules/services/network-filesystems/drbd.nix +++ b/nixos/modules/services/network-filesystems/drbd.nix @@ -1,6 +1,13 @@ # Support for DRBD, the Distributed Replicated Block Device. -{ config, lib, pkgs, ... }: -let cfg = config.services.drbd; in +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.drbd; +in { @@ -27,7 +34,6 @@ let cfg = config.services.drbd; in }; - ###### implementation config = lib.mkIf cfg.enable { @@ -38,16 +44,19 @@ let cfg = config.services.drbd; in boot.kernelModules = [ "drbd" ]; - boot.extraModprobeConfig = - '' - options drbd usermode_helper=/run/current-system/sw/bin/drbdadm - ''; + boot.extraModprobeConfig = '' + options drbd usermode_helper=/run/current-system/sw/bin/drbdadm + ''; - environment.etc."drbd.conf" = - { source = pkgs.writeText "drbd.conf" cfg.config; }; + environment.etc."drbd.conf" = { + source = pkgs.writeText "drbd.conf" cfg.config; + }; systemd.services.drbd = { - after = [ "systemd-udev.settle.service" "network.target" ]; + after = [ + "systemd-udev.settle.service" + "network.target" + ]; wants = [ "systemd-udev.settle.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/network-filesystems/eris-server.nix b/nixos/modules/services/network-filesystems/eris-server.nix index 7ad190c62f0a0..688222a114ff0 100644 --- a/nixos/modules/services/network-filesystems/eris-server.nix +++ b/nixos/modules/services/network-filesystems/eris-server.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.eris-server; stateDirectoryPath = "\${STATE_DIRECTORY}"; nullOrStr = with lib.types; nullOr str; -in { +in +{ options.services.eris-server = { @@ -70,45 +76,52 @@ in { }; config = lib.mkIf cfg.enable { - assertions = [{ - assertion = lib.strings.versionAtLeast cfg.package.version "20231219"; - message = - "Version of `config.services.eris-server.package` is incompatible with this module"; - }]; + assertions = [ + { + assertion = lib.strings.versionAtLeast cfg.package.version "20231219"; + message = "Version of `config.services.eris-server.package` is incompatible with this module"; + } + ]; - systemd.services.eris-server = let - cmd = "${cfg.package}/bin/eris-go server" - + (lib.optionalString (cfg.listenCoap != null) - " --coap '${cfg.listenCoap}'") - + (lib.optionalString (cfg.listenHttp != null) - " --http '${cfg.listenHttp}'") - + (lib.optionalString cfg.decode " --decode") - + (lib.optionalString (cfg.mountpoint != null) - " --mountpoint '${cfg.mountpoint}'"); - in { - description = "ERIS block server"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - environment.ERIS_STORE_URL = toString cfg.backends; - script = lib.mkIf (cfg.mountpoint != null) '' - export PATH=${config.security.wrapperDir}:$PATH - ${cmd} - ''; - serviceConfig = let - umounter = lib.mkIf (cfg.mountpoint != null) - "-${config.security.wrapperDir}/fusermount -uz ${cfg.mountpoint}"; - in if (cfg.mountpoint == null) then { - ExecStart = cmd; - } else - { - ExecStartPre = umounter; - ExecStopPost = umounter; - } // { - Restart = "always"; - RestartSec = 20; - AmbientCapabilities = "CAP_NET_BIND_SERVICE"; - }; - }; + systemd.services.eris-server = + let + cmd = + "${cfg.package}/bin/eris-go server" + + (lib.optionalString (cfg.listenCoap != null) " --coap '${cfg.listenCoap}'") + + (lib.optionalString (cfg.listenHttp != null) " --http '${cfg.listenHttp}'") + + (lib.optionalString cfg.decode " --decode") + + (lib.optionalString (cfg.mountpoint != null) " --mountpoint '${cfg.mountpoint}'"); + in + { + description = "ERIS block server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment.ERIS_STORE_URL = toString cfg.backends; + script = lib.mkIf (cfg.mountpoint != null) '' + export PATH=${config.security.wrapperDir}:$PATH + ${cmd} + ''; + serviceConfig = + let + umounter = lib.mkIf ( + cfg.mountpoint != null + ) "-${config.security.wrapperDir}/fusermount -uz ${cfg.mountpoint}"; + in + if (cfg.mountpoint == null) then + { + ExecStart = cmd; + } + else + { + ExecStartPre = umounter; + ExecStopPost = umounter; + } + // { + Restart = "always"; + RestartSec = 20; + AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + }; + }; }; meta.maintainers = with lib.maintainers; [ ehmry ]; diff --git a/nixos/modules/services/network-filesystems/glusterfs.nix b/nixos/modules/services/network-filesystems/glusterfs.nix index d34370875f6bd..87a979f79a872 100644 --- a/nixos/modules/services/network-filesystems/glusterfs.nix +++ b/nixos/modules/services/network-filesystems/glusterfs.nix @@ -1,16 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (pkgs) glusterfs rsync; - tlsCmd = if (cfg.tlsSettings != null) then - '' - mkdir -p /var/lib/glusterd - touch /var/lib/glusterd/secure-access - '' - else - '' - rm -f /var/lib/glusterd/secure-access - ''; + tlsCmd = + if (cfg.tlsSettings != null) then + '' + mkdir -p /var/lib/glusterd + touch /var/lib/glusterd/secure-access + '' + else + '' + rm -f /var/lib/glusterd/secure-access + ''; restartTriggers = lib.optionals (cfg.tlsSettings != null) [ config.environment.etc."ssl/glusterfs.pem".source @@ -33,7 +39,15 @@ in enable = lib.mkEnableOption "GlusterFS Daemon"; logLevel = lib.mkOption { - type = lib.types.enum ["DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" "TRACE" "NONE"]; + type = lib.types.enum [ + "DEBUG" + "INFO" + "WARNING" + "ERROR" + "CRITICAL" + "TRACE" + "NONE" + ]; description = "Log level used by the GlusterFS daemon"; default = "INFO"; }; @@ -58,7 +72,12 @@ in }; killMode = lib.mkOption { - type = lib.types.enum ["control-group" "process" "mixed" "none"]; + type = lib.types.enum [ + "control-group" + "process" + "mixed" + "none" + ]; description = '' The systemd KillMode to use for glusterd. @@ -92,7 +111,7 @@ in extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; description = "Extra flags passed to the GlusterFS daemon"; - default = []; + default = [ ]; }; tlsSettings = lib.mkOption { @@ -107,24 +126,26 @@ in See also: https://gluster.readthedocs.io/en/latest/Administrator%20Guide/SSL/ ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - tlsKeyPath = lib.mkOption { - type = lib.types.str; - description = "Path to the private key used for TLS."; - }; - - tlsPem = lib.mkOption { - type = lib.types.path; - description = "Path to the certificate used for TLS."; - }; - - caCert = lib.mkOption { - type = lib.types.path; - description = "Path certificate authority used to sign the cluster certificates."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + tlsKeyPath = lib.mkOption { + type = lib.types.str; + description = "Path to the private key used for TLS."; + }; + + tlsPem = lib.mkOption { + type = lib.types.path; + description = "Path to the certificate used for TLS."; + }; + + caCert = lib.mkOption { + type = lib.types.path; + description = "Path certificate authority used to sign the cluster certificates."; + }; }; - }; - }); + } + ); }; }; }; @@ -152,29 +173,30 @@ in requires = lib.optional cfg.useRpcbind "rpcbind.service"; after = [ "network.target" ] ++ lib.optional cfg.useRpcbind "rpcbind.service"; - preStart = '' - install -m 0755 -d /var/log/glusterfs - '' - # The copying of hooks is due to upstream bug https://bugzilla.redhat.com/show_bug.cgi?id=1452761 - # Excludes one hook due to missing SELinux binaries. - + '' - mkdir -p /var/lib/glusterd/hooks/ - ${rsync}/bin/rsync -a --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/ - - ${tlsCmd} - '' - # `glusterfind` needs dirs that upstream installs at `make install` phase - # https://github.com/gluster/glusterfs/blob/v3.10.2/tools/glusterfind/Makefile.am#L16-L17 - + '' - mkdir -p /var/lib/glusterd/glusterfind/.keys - mkdir -p /var/lib/glusterd/hooks/1/delete/post/ - ''; + preStart = + '' + install -m 0755 -d /var/log/glusterfs + '' + # The copying of hooks is due to upstream bug https://bugzilla.redhat.com/show_bug.cgi?id=1452761 + # Excludes one hook due to missing SELinux binaries. + + '' + mkdir -p /var/lib/glusterd/hooks/ + ${rsync}/bin/rsync -a --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/ + + ${tlsCmd} + '' + # `glusterfind` needs dirs that upstream installs at `make install` phase + # https://github.com/gluster/glusterfs/blob/v3.10.2/tools/glusterfind/Makefile.am#L16-L17 + + '' + mkdir -p /var/lib/glusterd/glusterfind/.keys + mkdir -p /var/lib/glusterd/hooks/1/delete/post/ + ''; serviceConfig = { - LimitNOFILE=65536; - ExecStart="${glusterfs}/sbin/glusterd --no-daemon --log-level=${cfg.logLevel} ${toString cfg.extraFlags}"; - KillMode=cfg.killMode; - TimeoutStopSec=cfg.stopKillTimeout; + LimitNOFILE = 65536; + ExecStart = "${glusterfs}/sbin/glusterd --no-daemon --log-level=${cfg.logLevel} ${toString cfg.extraFlags}"; + KillMode = cfg.killMode; + TimeoutStopSec = cfg.stopKillTimeout; }; }; @@ -195,11 +217,11 @@ in path = [ glusterfs ]; serviceConfig = { - Type="simple"; - PIDFile="/run/glustereventsd.pid"; - ExecStart="${glusterfs}/sbin/glustereventsd --pid-file /run/glustereventsd.pid"; - ExecReload="/bin/kill -SIGUSR2 $MAINPID"; - KillMode="control-group"; + Type = "simple"; + PIDFile = "/run/glustereventsd.pid"; + ExecStart = "${glusterfs}/sbin/glustereventsd --pid-file /run/glustereventsd.pid"; + ExecReload = "/bin/kill -SIGUSR2 $MAINPID"; + KillMode = "control-group"; }; }; }; diff --git a/nixos/modules/services/network-filesystems/kbfs.nix b/nixos/modules/services/network-filesystems/kbfs.nix index 034fc95765061..c0501ae01eb16 100644 --- a/nixos/modules/services/network-filesystems/kbfs.nix +++ b/nixos/modules/services/network-filesystems/kbfs.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (config.security) wrapperDir; cfg = config.services.kbfs; -in { +in +{ ###### interface @@ -36,7 +42,7 @@ in { extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "-label kbfs" "-mount-type normal" @@ -51,72 +57,74 @@ in { ###### implementation - config = lib.mkIf cfg.enable (lib.mkMerge [ - { - # Upstream: https://github.com/keybase/client/blob/master/packaging/linux/systemd/kbfs.service - systemd.user.services.kbfs = { - description = "Keybase File System"; - - # Note that the "Requires" directive will cause a unit to be restarted whenever its dependency is restarted. - # Do not issue a hard dependency on keybase, because kbfs can reconnect to a restarted service. - # Do not issue a hard dependency on keybase-redirector, because it's ok if it fails (e.g., if it is disabled). - wants = [ "keybase.service" ] ++ lib.optional cfg.enableRedirector "keybase-redirector.service"; - path = [ "/run/wrappers" ]; - unitConfig.ConditionUser = "!@system"; - - serviceConfig = { - Type = "notify"; - # Keybase notifies from a forked process - EnvironmentFile = [ - "-%E/keybase/keybase.autogen.env" - "-%E/keybase/keybase.env" - ]; - ExecStartPre = [ - "${pkgs.coreutils}/bin/mkdir -p \"${cfg.mountPoint}\"" - "-${wrapperDir}/fusermount -uz \"${cfg.mountPoint}\"" - ]; - ExecStart = "${pkgs.kbfs}/bin/kbfsfuse ${toString cfg.extraFlags} \"${cfg.mountPoint}\""; - ExecStop = "${wrapperDir}/fusermount -uz \"${cfg.mountPoint}\""; - Restart = "on-failure"; - PrivateTmp = true; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + # Upstream: https://github.com/keybase/client/blob/master/packaging/linux/systemd/kbfs.service + systemd.user.services.kbfs = { + description = "Keybase File System"; + + # Note that the "Requires" directive will cause a unit to be restarted whenever its dependency is restarted. + # Do not issue a hard dependency on keybase, because kbfs can reconnect to a restarted service. + # Do not issue a hard dependency on keybase-redirector, because it's ok if it fails (e.g., if it is disabled). + wants = [ "keybase.service" ] ++ lib.optional cfg.enableRedirector "keybase-redirector.service"; + path = [ "/run/wrappers" ]; + unitConfig.ConditionUser = "!@system"; + + serviceConfig = { + Type = "notify"; + # Keybase notifies from a forked process + EnvironmentFile = [ + "-%E/keybase/keybase.autogen.env" + "-%E/keybase/keybase.env" + ]; + ExecStartPre = [ + "${pkgs.coreutils}/bin/mkdir -p \"${cfg.mountPoint}\"" + "-${wrapperDir}/fusermount -uz \"${cfg.mountPoint}\"" + ]; + ExecStart = "${pkgs.kbfs}/bin/kbfsfuse ${toString cfg.extraFlags} \"${cfg.mountPoint}\""; + ExecStop = "${wrapperDir}/fusermount -uz \"${cfg.mountPoint}\""; + Restart = "on-failure"; + PrivateTmp = true; + }; + wantedBy = [ "default.target" ]; }; - wantedBy = [ "default.target" ]; - }; - - services.keybase.enable = true; - environment.systemPackages = [ pkgs.kbfs ]; - } + services.keybase.enable = true; - (lib.mkIf cfg.enableRedirector { - security.wrappers."keybase-redirector".source = "${pkgs.kbfs}/bin/redirector"; + environment.systemPackages = [ pkgs.kbfs ]; + } - systemd.tmpfiles.settings."10-kbfs"."/keybase".d = { - user = "root"; - group = "root"; - mode = "0755"; - age = "0"; - }; + (lib.mkIf cfg.enableRedirector { + security.wrappers."keybase-redirector".source = "${pkgs.kbfs}/bin/redirector"; - # Upstream: https://github.com/keybase/client/blob/master/packaging/linux/systemd/keybase-redirector.service - systemd.user.services.keybase-redirector = { - description = "Keybase Root Redirector for KBFS"; - wants = [ "keybase.service" ]; - unitConfig.ConditionUser = "!@system"; - - serviceConfig = { - EnvironmentFile = [ - "-%E/keybase/keybase.autogen.env" - "-%E/keybase/keybase.env" - ]; - # Note: The /keybase mount point is not currently configurable upstream. - ExecStart = "${wrapperDir}/keybase-redirector /keybase"; - Restart = "on-failure"; - PrivateTmp = true; + systemd.tmpfiles.settings."10-kbfs"."/keybase".d = { + user = "root"; + group = "root"; + mode = "0755"; + age = "0"; }; - wantedBy = [ "default.target" ]; - }; - }) - ]); + # Upstream: https://github.com/keybase/client/blob/master/packaging/linux/systemd/keybase-redirector.service + systemd.user.services.keybase-redirector = { + description = "Keybase Root Redirector for KBFS"; + wants = [ "keybase.service" ]; + unitConfig.ConditionUser = "!@system"; + + serviceConfig = { + EnvironmentFile = [ + "-%E/keybase/keybase.autogen.env" + "-%E/keybase/keybase.env" + ]; + # Note: The /keybase mount point is not currently configurable upstream. + ExecStart = "${wrapperDir}/keybase-redirector /keybase"; + Restart = "on-failure"; + PrivateTmp = true; + }; + + wantedBy = [ "default.target" ]; + }; + }) + ] + ); } diff --git a/nixos/modules/services/network-filesystems/kubo.nix b/nixos/modules/services/network-filesystems/kubo.nix index 0c2e14c3a2b30..e13bd0b9c1056 100644 --- a/nixos/modules/services/network-filesystems/kubo.nix +++ b/nixos/modules/services/network-filesystems/kubo.nix @@ -1,21 +1,34 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.kubo; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; - rawDefaultConfig = lib.importJSON (pkgs.runCommand "kubo-default-config" { - nativeBuildInputs = [ cfg.package ]; - } '' - export IPFS_PATH="$TMPDIR" - ipfs init --empty-repo --profile=${profile} - ipfs --offline config show > "$out" - ''); + rawDefaultConfig = lib.importJSON ( + pkgs.runCommand "kubo-default-config" + { + nativeBuildInputs = [ cfg.package ]; + } + '' + export IPFS_PATH="$TMPDIR" + ipfs init --empty-repo --profile=${profile} + ipfs --offline config show > "$out" + '' + ); # Remove the PeerID (an attribute of "Identity") of the temporary Kubo repo. # The "Pinning" section contains the "RemoteServices" section, which would prevent # the daemon from starting as that setting can't be changed via ipfs config replace. - defaultConfig = builtins.removeAttrs rawDefaultConfig [ "Identity" "Pinning" ]; + defaultConfig = builtins.removeAttrs rawDefaultConfig [ + "Identity" + "Pinning" + ]; customizedConfig = lib.recursiveUpdate defaultConfig cfg.settings; @@ -34,60 +47,61 @@ let ''; kuboFlags = utils.escapeSystemdExecArgs ( - lib.optional cfg.autoMount "--mount" ++ - lib.optional cfg.enableGC "--enable-gc" ++ - lib.optional (cfg.serviceFdlimit != null) "--manage-fdlimit=false" ++ - lib.optional (cfg.defaultMode == "offline") "--offline" ++ - lib.optional (cfg.defaultMode == "norouting") "--routing=none" ++ - cfg.extraFlags + lib.optional cfg.autoMount "--mount" + ++ lib.optional cfg.enableGC "--enable-gc" + ++ lib.optional (cfg.serviceFdlimit != null) "--manage-fdlimit=false" + ++ lib.optional (cfg.defaultMode == "offline") "--offline" + ++ lib.optional (cfg.defaultMode == "norouting") "--routing=none" + ++ cfg.extraFlags ); - profile = - if cfg.localDiscovery - then "local-discovery" - else "server"; + profile = if cfg.localDiscovery then "local-discovery" else "server"; splitMulitaddr = addrRaw: lib.tail (lib.splitString "/" addrRaw); - multiaddrsToListenStreams = addrIn: + multiaddrsToListenStreams = + addrIn: let - addrs = if builtins.isList addrIn - then addrIn else [ addrIn ]; + addrs = if builtins.isList addrIn then addrIn else [ addrIn ]; unfilteredResult = map multiaddrToListenStream addrs; in - builtins.filter (addr: addr != null) unfilteredResult; + builtins.filter (addr: addr != null) unfilteredResult; - multiaddrsToListenDatagrams = addrIn: + multiaddrsToListenDatagrams = + addrIn: let - addrs = if builtins.isList addrIn - then addrIn else [ addrIn ]; + addrs = if builtins.isList addrIn then addrIn else [ addrIn ]; unfilteredResult = map multiaddrToListenDatagram addrs; in - builtins.filter (addr: addr != null) unfilteredResult; + builtins.filter (addr: addr != null) unfilteredResult; - multiaddrToListenStream = addrRaw: + multiaddrToListenStream = + addrRaw: let addr = splitMulitaddr addrRaw; s = builtins.elemAt addr; in - if s 0 == "ip4" && s 2 == "tcp" - then "${s 1}:${s 3}" - else if s 0 == "ip6" && s 2 == "tcp" - then "[${s 1}]:${s 3}" - else if s 0 == "unix" - then "/${lib.concatStringsSep "/" (lib.tail addr)}" - else null; # not valid for listen stream, skip - - multiaddrToListenDatagram = addrRaw: + if s 0 == "ip4" && s 2 == "tcp" then + "${s 1}:${s 3}" + else if s 0 == "ip6" && s 2 == "tcp" then + "[${s 1}]:${s 3}" + else if s 0 == "unix" then + "/${lib.concatStringsSep "/" (lib.tail addr)}" + else + null; # not valid for listen stream, skip + + multiaddrToListenDatagram = + addrRaw: let addr = splitMulitaddr addrRaw; s = builtins.elemAt addr; in - if s 0 == "ip4" && s 2 == "udp" - then "${s 1}:${s 3}" - else if s 0 == "ip6" && s 2 == "udp" - then "[${s 1}]:${s 3}" - else null; # not valid for listen datagram, skip + if s 0 == "ip4" && s 2 == "udp" then + "${s 1}:${s 3}" + else if s 0 == "ip6" && s 2 == "udp" then + "[${s 1}]:${s 3}" + else + null; # not valid for listen datagram, skip in { @@ -122,9 +136,10 @@ in dataDir = lib.mkOption { type = lib.types.str; default = - if lib.versionAtLeast config.system.stateVersion "17.09" - then "/var/lib/ipfs" - else "/var/lib/ipfs/.ipfs"; + if lib.versionAtLeast config.system.stateVersion "17.09" then + "/var/lib/ipfs" + else + "/var/lib/ipfs/.ipfs"; defaultText = lib.literalExpression '' if lib.versionAtLeast config.system.stateVersion "17.09" then "/var/lib/ipfs" @@ -134,7 +149,11 @@ in }; defaultMode = lib.mkOption { - type = lib.types.enum [ "online" "offline" "norouting" ]; + type = lib.types.enum [ + "online" + "offline" + "norouting" + ]; default = "online"; description = "systemd service that is enabled by default"; }; @@ -169,7 +188,10 @@ in options = { Addresses.API = lib.mkOption { - type = lib.types.oneOf [ lib.types.str (lib.types.listOf lib.types.str) ]; + type = lib.types.oneOf [ + lib.types.str + (lib.types.listOf lib.types.str) + ]; default = [ ]; description = '' Multiaddr or array of multiaddrs describing the address to serve the local HTTP API on. @@ -180,7 +202,10 @@ in }; Addresses.Gateway = lib.mkOption { - type = lib.types.oneOf [ lib.types.str (lib.types.listOf lib.types.str) ]; + type = lib.types.oneOf [ + lib.types.str + (lib.types.listOf lib.types.str) + ]; default = "/ip4/127.0.0.1/tcp/8080"; description = "Where the IPFS Gateway can be reached"; }; @@ -239,8 +264,9 @@ in localDiscovery = lib.mkOption { type = lib.types.bool; - description = ''Whether to enable local discovery for the Kubo daemon. - This will allow Kubo to scan ports on your local network. Some hosting services will ban you if you do this. + description = '' + Whether to enable local discovery for the Kubo daemon. + This will allow Kubo to scan ports on your local network. Some hosting services will ban you if you do this. ''; default = false; }; @@ -272,13 +298,22 @@ in ''; } { - assertion = !((builtins.hasAttr "Pinning" cfg.settings) && (builtins.hasAttr "RemoteServices" cfg.settings.Pinning)); + assertion = + !( + (builtins.hasAttr "Pinning" cfg.settings) + && (builtins.hasAttr "RemoteServices" cfg.settings.Pinning) + ); message = '' You can't set services.kubo.settings.Pinning.RemoteServices because the ``config replace`` subcommand used at startup does not work with it. ''; } { - assertion = !((lib.versionAtLeast cfg.package.version "0.21") && (builtins.hasAttr "Experimental" cfg.settings) && (builtins.hasAttr "AcceleratedDHTClient" cfg.settings.Experimental)); + assertion = + !( + (lib.versionAtLeast cfg.package.version "0.21") + && (builtins.hasAttr "Experimental" cfg.settings) + && (builtins.hasAttr "AcceleratedDHTClient" cfg.settings.Experimental) + ); message = '' The `services.kubo.settings.Experimental.AcceleratedDHTClient` option was renamed to `services.kubo.settings.Routing.AcceleratedDHTClient` in Kubo 0.21. ''; @@ -313,74 +348,90 @@ in ipfs.gid = config.ids.gids.ipfs; }; - systemd.tmpfiles.settings."10-kubo" = let - defaultConfig = { inherit (cfg) user group; }; - in { - ${cfg.dataDir}.d = defaultConfig; - ${cfg.settings.Mounts.IPFS}.d = lib.mkIf (cfg.autoMount) defaultConfig; - ${cfg.settings.Mounts.IPNS}.d = lib.mkIf (cfg.autoMount) defaultConfig; - }; + systemd.tmpfiles.settings."10-kubo" = + let + defaultConfig = { inherit (cfg) user group; }; + in + { + ${cfg.dataDir}.d = defaultConfig; + ${cfg.settings.Mounts.IPFS}.d = lib.mkIf (cfg.autoMount) defaultConfig; + ${cfg.settings.Mounts.IPNS}.d = lib.mkIf (cfg.autoMount) defaultConfig; + }; # The hardened systemd unit breaks the fuse-mount function according to documentation in the unit file itself - systemd.packages = if cfg.autoMount - then [ cfg.package.systemd_unit ] - else [ cfg.package.systemd_unit_hardened ]; + systemd.packages = + if cfg.autoMount then [ cfg.package.systemd_unit ] else [ cfg.package.systemd_unit_hardened ]; services.kubo.settings = lib.mkIf cfg.autoMount { Mounts.FuseAllowOther = lib.mkDefault true; }; - systemd.services.ipfs = { - path = [ "/run/wrappers" cfg.package ]; - environment.IPFS_PATH = cfg.dataDir; - - preStart = '' - if [[ ! -f "$IPFS_PATH/config" ]]; then - ipfs init --empty-repo=${lib.boolToString cfg.emptyRepo} - else - # After an unclean shutdown this file may exist which will cause the config command to attempt to talk to the daemon. This will hang forever if systemd is holding our sockets open. - rm -vf "$IPFS_PATH/api" - '' + lib.optionalString cfg.autoMigrate '' - '${lib.getExe pkgs.kubo-migrator}' -to '${cfg.package.repoVersion}' -y - '' + '' - fi - ipfs --offline config show | - ${pkgs.jq}/bin/jq -s '.[0].Pinning as $Pinning | .[0].Identity as $Identity | .[1] + {$Identity,$Pinning}' - '${configFile}' | - - # This command automatically injects the private key and other secrets from - # the old config file back into the new config file. - # Unfortunately, it doesn't keep the original `Identity.PeerID`, - # so we need `ipfs config show` and jq above. - # See https://github.com/ipfs/kubo/issues/8993 for progress on fixing this problem. - # Kubo also wants a specific version of the original "Pinning.RemoteServices" - # section (redacted by `ipfs config show`), such that that section doesn't - # change when the changes are applied. Whyyyyyy..... - ipfs --offline config replace - - ''; - postStop = lib.mkIf cfg.autoMount '' - # After an unclean shutdown the fuse mounts at cfg.settings.Mounts.IPFS and cfg.settings.Mounts.IPNS are locked - umount --quiet '${cfg.settings.Mounts.IPFS}' '${cfg.settings.Mounts.IPNS}' || true - ''; - serviceConfig = { - ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${kuboFlags}" ]; - User = cfg.user; - Group = cfg.group; - StateDirectory = ""; - ReadWritePaths = lib.optionals (!cfg.autoMount) [ "" cfg.dataDir ]; - # Make sure the socket units are started before ipfs.service - Sockets = [ "ipfs-gateway.socket" "ipfs-api.socket" ]; - } // lib.optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; }; - } // lib.optionalAttrs (!cfg.startWhenNeeded) { - wantedBy = [ "default.target" ]; - }; + systemd.services.ipfs = + { + path = [ + "/run/wrappers" + cfg.package + ]; + environment.IPFS_PATH = cfg.dataDir; + + preStart = + '' + if [[ ! -f "$IPFS_PATH/config" ]]; then + ipfs init --empty-repo=${lib.boolToString cfg.emptyRepo} + else + # After an unclean shutdown this file may exist which will cause the config command to attempt to talk to the daemon. This will hang forever if systemd is holding our sockets open. + rm -vf "$IPFS_PATH/api" + '' + + lib.optionalString cfg.autoMigrate '' + '${lib.getExe pkgs.kubo-migrator}' -to '${cfg.package.repoVersion}' -y + '' + + '' + fi + ipfs --offline config show | + ${pkgs.jq}/bin/jq -s '.[0].Pinning as $Pinning | .[0].Identity as $Identity | .[1] + {$Identity,$Pinning}' - '${configFile}' | + + # This command automatically injects the private key and other secrets from + # the old config file back into the new config file. + # Unfortunately, it doesn't keep the original `Identity.PeerID`, + # so we need `ipfs config show` and jq above. + # See https://github.com/ipfs/kubo/issues/8993 for progress on fixing this problem. + # Kubo also wants a specific version of the original "Pinning.RemoteServices" + # section (redacted by `ipfs config show`), such that that section doesn't + # change when the changes are applied. Whyyyyyy..... + ipfs --offline config replace - + ''; + postStop = lib.mkIf cfg.autoMount '' + # After an unclean shutdown the fuse mounts at cfg.settings.Mounts.IPFS and cfg.settings.Mounts.IPNS are locked + umount --quiet '${cfg.settings.Mounts.IPFS}' '${cfg.settings.Mounts.IPNS}' || true + ''; + serviceConfig = { + ExecStart = [ + "" + "${cfg.package}/bin/ipfs daemon ${kuboFlags}" + ]; + User = cfg.user; + Group = cfg.group; + StateDirectory = ""; + ReadWritePaths = lib.optionals (!cfg.autoMount) [ + "" + cfg.dataDir + ]; + # Make sure the socket units are started before ipfs.service + Sockets = [ + "ipfs-gateway.socket" + "ipfs-api.socket" + ]; + } // lib.optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; }; + } + // lib.optionalAttrs (!cfg.startWhenNeeded) { + wantedBy = [ "default.target" ]; + }; systemd.sockets.ipfs-gateway = { wantedBy = [ "sockets.target" ]; socketConfig = { - ListenStream = - [ "" ] ++ (multiaddrsToListenStreams cfg.settings.Addresses.Gateway); - ListenDatagram = - [ "" ] ++ (multiaddrsToListenDatagrams cfg.settings.Addresses.Gateway); + ListenStream = [ "" ] ++ (multiaddrsToListenStreams cfg.settings.Addresses.Gateway); + ListenDatagram = [ "" ] ++ (multiaddrsToListenDatagrams cfg.settings.Addresses.Gateway); }; }; @@ -389,8 +440,10 @@ in socketConfig = { # We also include "%t/ipfs.sock" because there is no way to put the "%t" # in the multiaddr. - ListenStream = - [ "" "%t/ipfs.sock" ] ++ (multiaddrsToListenStreams cfg.settings.Addresses.API); + ListenStream = [ + "" + "%t/ipfs.sock" + ] ++ (multiaddrsToListenStreams cfg.settings.Addresses.API); SocketMode = "0660"; SocketUser = cfg.user; SocketGroup = cfg.group; @@ -411,23 +464,62 @@ in (lib.mkRenamedOptionModule [ "services" "ipfs" "defaultMode" ] [ "services" "kubo" "defaultMode" ]) (lib.mkRenamedOptionModule [ "services" "ipfs" "autoMount" ] [ "services" "kubo" "autoMount" ]) (lib.mkRenamedOptionModule [ "services" "ipfs" "autoMigrate" ] [ "services" "kubo" "autoMigrate" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "ipfsMountDir" ] [ "services" "kubo" "settings" "Mounts" "IPFS" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "ipnsMountDir" ] [ "services" "kubo" "settings" "Mounts" "IPNS" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "gatewayAddress" ] [ "services" "kubo" "settings" "Addresses" "Gateway" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "apiAddress" ] [ "services" "kubo" "settings" "Addresses" "API" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "swarmAddress" ] [ "services" "kubo" "settings" "Addresses" "Swarm" ]) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "ipfsMountDir" ] + [ "services" "kubo" "settings" "Mounts" "IPFS" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "ipnsMountDir" ] + [ "services" "kubo" "settings" "Mounts" "IPNS" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "gatewayAddress" ] + [ "services" "kubo" "settings" "Addresses" "Gateway" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "apiAddress" ] + [ "services" "kubo" "settings" "Addresses" "API" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "swarmAddress" ] + [ "services" "kubo" "settings" "Addresses" "Swarm" ] + ) (lib.mkRenamedOptionModule [ "services" "ipfs" "enableGC" ] [ "services" "kubo" "enableGC" ]) (lib.mkRenamedOptionModule [ "services" "ipfs" "emptyRepo" ] [ "services" "kubo" "emptyRepo" ]) (lib.mkRenamedOptionModule [ "services" "ipfs" "extraConfig" ] [ "services" "kubo" "settings" ]) (lib.mkRenamedOptionModule [ "services" "ipfs" "extraFlags" ] [ "services" "kubo" "extraFlags" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "localDiscovery" ] [ "services" "kubo" "localDiscovery" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "serviceFdlimit" ] [ "services" "kubo" "serviceFdlimit" ]) - (lib.mkRenamedOptionModule [ "services" "ipfs" "startWhenNeeded" ] [ "services" "kubo" "startWhenNeeded" ]) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "localDiscovery" ] + [ "services" "kubo" "localDiscovery" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "serviceFdlimit" ] + [ "services" "kubo" "serviceFdlimit" ] + ) + (lib.mkRenamedOptionModule + [ "services" "ipfs" "startWhenNeeded" ] + [ "services" "kubo" "startWhenNeeded" ] + ) (lib.mkRenamedOptionModule [ "services" "kubo" "extraConfig" ] [ "services" "kubo" "settings" ]) - (lib.mkRenamedOptionModule [ "services" "kubo" "gatewayAddress" ] [ "services" "kubo" "settings" "Addresses" "Gateway" ]) - (lib.mkRenamedOptionModule [ "services" "kubo" "apiAddress" ] [ "services" "kubo" "settings" "Addresses" "API" ]) - (lib.mkRenamedOptionModule [ "services" "kubo" "swarmAddress" ] [ "services" "kubo" "settings" "Addresses" "Swarm" ]) - (lib.mkRenamedOptionModule [ "services" "kubo" "ipfsMountDir" ] [ "services" "kubo" "settings" "Mounts" "IPFS" ]) - (lib.mkRenamedOptionModule [ "services" "kubo" "ipnsMountDir" ] [ "services" "kubo" "settings" "Mounts" "IPNS" ]) + (lib.mkRenamedOptionModule + [ "services" "kubo" "gatewayAddress" ] + [ "services" "kubo" "settings" "Addresses" "Gateway" ] + ) + (lib.mkRenamedOptionModule + [ "services" "kubo" "apiAddress" ] + [ "services" "kubo" "settings" "Addresses" "API" ] + ) + (lib.mkRenamedOptionModule + [ "services" "kubo" "swarmAddress" ] + [ "services" "kubo" "settings" "Addresses" "Swarm" ] + ) + (lib.mkRenamedOptionModule + [ "services" "kubo" "ipfsMountDir" ] + [ "services" "kubo" "settings" "Mounts" "IPFS" ] + ) + (lib.mkRenamedOptionModule + [ "services" "kubo" "ipnsMountDir" ] + [ "services" "kubo" "settings" "Mounts" "IPNS" ] + ) ]; } diff --git a/nixos/modules/services/network-filesystems/litestream/default.nix b/nixos/modules/services/network-filesystems/litestream/default.nix index f4b0281ebbe20..d8d3440c25d34 100644 --- a/nixos/modules/services/network-filesystems/litestream/default.nix +++ b/nixos/modules/services/network-filesystems/litestream/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.litestream; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; in { options.services.litestream = { @@ -84,7 +89,7 @@ in group = "litestream"; isSystemUser = true; }; - users.groups.litestream = {}; + users.groups.litestream = { }; }; meta.doc = ./default.md; diff --git a/nixos/modules/services/network-filesystems/netatalk.nix b/nixos/modules/services/network-filesystems/netatalk.nix index e8c97df3151b2..b8475c05ccb7f 100644 --- a/nixos/modules/services/network-filesystems/netatalk.nix +++ b/nixos/modules/services/network-filesystems/netatalk.nix @@ -1,9 +1,15 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.netatalk; settingsFormat = pkgs.formats.ini { }; afpConfFile = settingsFormat.generate "afp.conf" cfg.settings; -in { +in +{ options = { services.netatalk = { @@ -19,7 +25,9 @@ in { inherit (settingsFormat) type; default = { }; example = { - Global = { "uam list" = "uams_guest.so"; }; + Global = { + "uam list" = "uams_guest.so"; + }; Homes = { path = "afp-data"; "basedir regex" = "/home"; @@ -47,13 +55,22 @@ in { }; }; - imports = (map (option: - lib.mkRemovedOptionModule [ "services" "netatalk" option ] - "This option was removed in favor of `services.netatalk.settings`.") [ - "extraConfig" - "homes" - "volumes" - ]); + imports = ( + map + ( + option: + lib.mkRemovedOptionModule [ + "services" + "netatalk" + option + ] "This option was removed in favor of `services.netatalk.settings`." + ) + [ + "extraConfig" + "homes" + "volumes" + ] + ); config = lib.mkIf cfg.enable { @@ -64,9 +81,11 @@ in { systemd.services.netatalk = { description = "Netatalk AFP fileserver for Macintosh clients"; - unitConfig.Documentation = - "man:afp.conf(5) man:netatalk(8) man:afpd(8) man:cnid_metad(8) man:cnid_dbd(8)"; - after = [ "network.target" "avahi-daemon.service" ]; + unitConfig.Documentation = "man:afp.conf(5) man:netatalk(8) man:afpd(8) man:cnid_metad(8) man:cnid_dbd(8)"; + after = [ + "network.target" + "avahi-daemon.service" + ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.netatalk ]; diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix index 67597d37813fe..8729945fc3fd2 100644 --- a/nixos/modules/services/network-filesystems/nfsd.nix +++ b/nixos/modules/services/network-filesystems/nfsd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.nfs.server; @@ -9,8 +14,14 @@ in { imports = [ - (lib.mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ]) - (lib.mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ]) + (lib.mkRenamedOptionModule + [ "services" "nfs" "lockdPort" ] + [ "services" "nfs" "server" "lockdPort" ] + ) + (lib.mkRenamedOptionModule + [ "services" "nfs" "statdPort" ] + [ "services" "nfs" "server" "statdPort" ] + ) ]; ###### interface @@ -105,7 +116,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { @@ -116,35 +126,31 @@ in environment.etc.exports.source = exports; - systemd.services.nfs-server = - { enable = true; - wantedBy = [ "multi-user.target" ]; + systemd.services.nfs-server = { + enable = true; + wantedBy = [ "multi-user.target" ]; - preStart = - '' - mkdir -p /var/lib/nfs/v4recovery - ''; - }; + preStart = '' + mkdir -p /var/lib/nfs/v4recovery + ''; + }; - systemd.services.nfs-mountd = - { enable = true; - restartTriggers = [ exports ]; - - preStart = - '' - mkdir -p /var/lib/nfs - - ${lib.optionalString cfg.createMountPoints - '' - # create export directories: - # skip comments, take first col which may either be a quoted - # "foo bar" or just foo (-> man export) - sed '/^#.*/d;s/^"\([^"]*\)".*/\1/;t;s/[ ].*//' ${exports} \ - | xargs -d '\n' mkdir -p - '' - } - ''; - }; + systemd.services.nfs-mountd = { + enable = true; + restartTriggers = [ exports ]; + + preStart = '' + mkdir -p /var/lib/nfs + + ${lib.optionalString cfg.createMountPoints '' + # create export directories: + # skip comments, take first col which may either be a quoted + # "foo bar" or just foo (-> man export) + sed '/^#.*/d;s/^"\([^"]*\)".*/\1/;t;s/[ ].*//' ${exports} \ + | xargs -d '\n' mkdir -p + ''} + ''; + }; }; diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix index e7c2b95263284..d0989253576b2 100644 --- a/nixos/modules/services/network-filesystems/openafs/client.nix +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -1,10 +1,23 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: # openafsMod, openafsBin, mkCellServDB with import ./lib.nix { inherit config lib pkgs; }; let - inherit (lib) getBin literalExpression mkOption mkIf optionalString singleton types; + inherit (lib) + getBin + literalExpression + mkOption + mkIf + optionalString + singleton + types + ; cfg = config.services.openafsClient; @@ -13,7 +26,9 @@ let sha256 = "1wmjn6mmyy2r8p10nlbdzs4nrqxy8a9pjyrdciy5nmppg4053rk2"; }; - clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB); + clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" ( + mkCellServDB cfg.cellName cfg.cellServDB + ); afsConfig = pkgs.runCommand "afsconfig" { preferLocalBuild = true; } '' mkdir -p $out @@ -50,16 +65,26 @@ in }; cellServDB = mkOption { - default = []; - type = with types; listOf (submodule { options = cellServDBConfig; }); + default = [ ]; + type = + with types; + listOf (submodule { + options = cellServDBConfig; + }); description = '' This cell's database server records, added to the global CellServDB. See CellServDB(5) man page for syntax. Ignored when `afsdb` is set to `true`. ''; example = [ - { ip = "1.2.3.4"; dnsname = "first.afsdb.server.dns.fqdn.org"; } - { ip = "2.3.4.5"; dnsname = "second.afsdb.server.dns.fqdn.org"; } + { + ip = "1.2.3.4"; + dnsname = "first.afsdb.server.dns.fqdn.org"; + } + { + ip = "2.3.4.5"; + dnsname = "second.afsdb.server.dns.fqdn.org"; + } ]; }; @@ -179,16 +204,17 @@ in }; }; - ###### implementation config = mkIf cfg.enable { assertions = [ - { assertion = cfg.afsdb || cfg.cellServDB != []; + { + assertion = cfg.afsdb || cfg.cellServDB != [ ]; message = "You should specify all cell-local database servers in config.services.openafsClient.cellServDB or set config.services.openafsClient.afsdb."; } - { assertion = cfg.cellName != ""; + { + assertion = cfg.cellName != ""; message = "You must specify the local cell name in config.services.openafsClient.cellName."; } ]; @@ -216,8 +242,10 @@ in description = "AFS client"; wantedBy = [ "multi-user.target" ]; wants = lib.optional (!cfg.startDisconnected) "network-online.target"; - after = singleton (if cfg.startDisconnected then "network.target" else "network-online.target"); - serviceConfig = { RemainAfterExit = true; }; + after = singleton (if cfg.startDisconnected then "network.target" else "network-online.target"); + serviceConfig = { + RemainAfterExit = true; + }; restartIfChanged = false; preStart = '' diff --git a/nixos/modules/services/network-filesystems/openafs/lib.nix b/nixos/modules/services/network-filesystems/openafs/lib.nix index 726c47b705755..abf59226abfe0 100644 --- a/nixos/modules/services/network-filesystems/openafs/lib.nix +++ b/nixos/modules/services/network-filesystems/openafs/lib.nix @@ -1,15 +1,25 @@ -{ config, lib, ...}: +{ config, lib, ... }: let - inherit (lib) concatStringsSep mkOption types optionalString; + inherit (lib) + concatStringsSep + mkOption + types + optionalString + ; -in { +in +{ - mkCellServDB = cellName: db: '' - >${cellName} - '' + (concatStringsSep "\n" (map (dbm: optionalString (dbm.ip != "" && dbm.dnsname != "") "${dbm.ip} #${dbm.dnsname}") - db)) - + "\n"; + mkCellServDB = + cellName: db: + '' + >${cellName} + '' + + (concatStringsSep "\n" ( + map (dbm: optionalString (dbm.ip != "" && dbm.dnsname != "") "${dbm.ip} #${dbm.dnsname}") db + )) + + "\n"; # CellServDB configuration type cellServDBConfig = { diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix index 8186277b47775..4286bc7dbd548 100644 --- a/nixos/modules/services/network-filesystems/openafs/server.nix +++ b/nixos/modules/services/network-filesystems/openafs/server.nix @@ -1,68 +1,100 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: # openafsBin, openafsSrv, mkCellServDB with import ./lib.nix { inherit config lib pkgs; }; let - inherit (lib) concatStringsSep literalExpression mkIf mkOption mkEnableOption - mkPackageOption optionalString types; - - bosConfig = pkgs.writeText "BosConfig" ('' - restrictmode 1 - restarttime 16 0 0 0 0 - checkbintime 3 0 5 0 0 - '' + (optionalString cfg.roles.database.enable '' - bnode simple vlserver 1 - parm ${openafsSrv}/libexec/openafs/vlserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.vlserverArgs} - end - bnode simple ptserver 1 - parm ${openafsSrv}/libexec/openafs/ptserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.ptserverArgs} - end - '') + (optionalString cfg.roles.fileserver.enable '' - bnode dafs dafs 1 - parm ${openafsSrv}/libexec/openafs/dafileserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.fileserverArgs} - parm ${openafsSrv}/libexec/openafs/davolserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.volserverArgs} - parm ${openafsSrv}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs} - parm ${openafsSrv}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs} - end - '') + (optionalString (cfg.roles.database.enable && cfg.roles.backup.enable && (!cfg.roles.backup.enableFabs)) '' - bnode simple buserver 1 - parm ${openafsSrv}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString useBuCellServDB "-cellservdb /etc/openafs/backup/"} - end - '') + (optionalString (cfg.roles.database.enable && - cfg.roles.backup.enable && - cfg.roles.backup.enableFabs) '' - bnode simple buserver 1 - parm ${lib.getBin pkgs.fabs}/bin/fabsys server --config ${fabsConfFile} ${cfg.roles.backup.fabsArgs} - end - '')); - - netInfo = if (cfg.advertisedAddresses != []) then - pkgs.writeText "NetInfo" ((concatStringsSep "\nf " cfg.advertisedAddresses) + "\n") - else null; - - buCellServDB = pkgs.writeText "backup-cellServDB-${cfg.cellName}" - (mkCellServDB cfg.cellName cfg.roles.backup.cellServDB); - - useBuCellServDB = (cfg.roles.backup.cellServDB != []) && (!cfg.roles.backup.enableFabs); + inherit (lib) + concatStringsSep + literalExpression + mkIf + mkOption + mkEnableOption + mkPackageOption + optionalString + types + ; + + bosConfig = pkgs.writeText "BosConfig" ( + '' + restrictmode 1 + restarttime 16 0 0 0 0 + checkbintime 3 0 5 0 0 + '' + + (optionalString cfg.roles.database.enable '' + bnode simple vlserver 1 + parm ${openafsSrv}/libexec/openafs/vlserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.vlserverArgs} + end + bnode simple ptserver 1 + parm ${openafsSrv}/libexec/openafs/ptserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.ptserverArgs} + end + '') + + (optionalString cfg.roles.fileserver.enable '' + bnode dafs dafs 1 + parm ${openafsSrv}/libexec/openafs/dafileserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.fileserverArgs} + parm ${openafsSrv}/libexec/openafs/davolserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.volserverArgs} + parm ${openafsSrv}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs} + parm ${openafsSrv}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs} + end + '') + + (optionalString + (cfg.roles.database.enable && cfg.roles.backup.enable && (!cfg.roles.backup.enableFabs)) + '' + bnode simple buserver 1 + parm ${openafsSrv}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString useBuCellServDB "-cellservdb /etc/openafs/backup/"} + end + '' + ) + + (optionalString + (cfg.roles.database.enable && cfg.roles.backup.enable && cfg.roles.backup.enableFabs) + '' + bnode simple buserver 1 + parm ${lib.getBin pkgs.fabs}/bin/fabsys server --config ${fabsConfFile} ${cfg.roles.backup.fabsArgs} + end + '' + ) + ); + + netInfo = + if (cfg.advertisedAddresses != [ ]) then + pkgs.writeText "NetInfo" ((concatStringsSep "\nf " cfg.advertisedAddresses) + "\n") + else + null; + + buCellServDB = pkgs.writeText "backup-cellServDB-${cfg.cellName}" ( + mkCellServDB cfg.cellName cfg.roles.backup.cellServDB + ); + + useBuCellServDB = (cfg.roles.backup.cellServDB != [ ]) && (!cfg.roles.backup.enableFabs); cfg = config.services.openafsServer; udpSizeStr = toString cfg.udpPacketSize; - fabsConfFile = pkgs.writeText "fabs.yaml" (builtins.toJSON ({ - afs = { - aklog = cfg.package + "/bin/aklog"; - cell = cfg.cellName; - dumpscan = cfg.package + "/bin/afsdump_scan"; - fs = cfg.package + "/bin/fs"; - pts = cfg.package + "/bin/pts"; - vos = cfg.package + "/bin/vos"; - }; - k5start.command = (lib.getBin pkgs.kstart) + "/bin/k5start"; - } // cfg.roles.backup.fabsExtraConfig)); + fabsConfFile = pkgs.writeText "fabs.yaml" ( + builtins.toJSON ( + { + afs = { + aklog = cfg.package + "/bin/aklog"; + cell = cfg.cellName; + dumpscan = cfg.package + "/bin/afsdump_scan"; + fs = cfg.package + "/bin/fs"; + pts = cfg.package + "/bin/pts"; + vos = cfg.package + "/bin/vos"; + }; + k5start.command = (lib.getBin pkgs.kstart) + "/bin/k5start"; + } + // cfg.roles.backup.fabsExtraConfig + ) + ); -in { +in +{ options = { @@ -84,7 +116,7 @@ in { advertisedAddresses = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "List of IP addresses this server is advertised under. See NetInfo(5)"; }; @@ -96,8 +128,8 @@ in { }; cellServDB = mkOption { - default = []; - type = with types; listOf (submodule [ { options = cellServDBConfig;} ]); + default = [ ]; + type = with types; listOf (submodule [ { options = cellServDBConfig; } ]); description = "Definition of all cell-local database server machines."; }; @@ -194,8 +226,8 @@ in { }; cellServDB = mkOption { - default = []; - type = with types; listOf (submodule [ { options = cellServDBConfig;} ]); + default = [ ]; + type = with types; listOf (submodule [ { options = cellServDBConfig; } ]); description = '' Definition of all cell-local backup database server machines. Use this when your cell uses less backup database servers than @@ -214,22 +246,22 @@ in { }; fabsExtraConfig = mkOption { - default = {}; + default = { }; type = types.attrs; description = '' Additional configuration parameters for the FABS backup server. ''; example = literalExpression '' - { - afs.localauth = true; - afs.keytab = config.sops.secrets.fabsKeytab.path; - } + { + afs.localauth = true; + afs.keytab = config.sops.secrets.fabsKeytab.path; + } ''; }; }; }; - dottedPrincipals= mkOption { + dottedPrincipals = mkOption { default = false; type = types.bool; description = '' @@ -257,10 +289,12 @@ in { config = mkIf cfg.enable { assertions = [ - { assertion = cfg.cellServDB != []; + { + assertion = cfg.cellServDB != [ ]; message = "You must specify all cell-local database servers in config.services.openafsServer.cellServDB."; } - { assertion = cfg.cellName != ""; + { + assertion = cfg.cellName != ""; message = "You must specify the local cell name in config.services.openafsServer.cellName."; } ]; diff --git a/nixos/modules/services/network-filesystems/orangefs/client.nix b/nixos/modules/services/network-filesystems/orangefs/client.nix index 3923289e6f641..d1e2535f4bde2 100644 --- a/nixos/modules/services/network-filesystems/orangefs/client.nix +++ b/nixos/modules/services/network-filesystems/orangefs/client.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ...} : +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.orangefs.client; -in { +in +{ ###### interface options = { @@ -11,7 +17,7 @@ in { extraOptions = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; description = "Extra command line options for pvfs2-client."; }; @@ -22,38 +28,46 @@ in { the pvfs client service needs to be running for it to be mounted. ''; - example = [{ - mountPoint = "/orangefs"; - target = "tcp://server:3334/orangefs"; - }]; - - type = with lib.types; listOf (submodule ({ ... } : { - options = { - - mountPoint = lib.mkOption { - type = lib.types.str; - default = "/orangefs"; - description = "Mount point."; - }; - - options = lib.mkOption { - type = with lib.types; listOf str; - default = []; - description = "Mount options"; - }; - - target = lib.mkOption { - type = lib.types.str; - example = "tcp://server:3334/orangefs"; - description = "Target URL"; - }; - }; - })); + example = [ + { + mountPoint = "/orangefs"; + target = "tcp://server:3334/orangefs"; + } + ]; + + type = + with lib.types; + listOf ( + submodule ( + { ... }: + { + options = { + + mountPoint = lib.mkOption { + type = lib.types.str; + default = "/orangefs"; + description = "Mount point."; + }; + + options = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = "Mount options"; + }; + + target = lib.mkOption { + type = lib.types.str; + example = "tcp://server:3334/orangefs"; + description = "Target URL"; + }; + }; + } + ) + ); }; }; }; - ###### implementation config = lib.mkIf cfg.enable { @@ -69,9 +83,9 @@ in { serviceConfig = { Type = "simple"; - ExecStart = '' - ${pkgs.orangefs}/bin/pvfs2-client-core \ - --logtype=syslog ${lib.concatStringsSep " " cfg.extraOptions} + ExecStart = '' + ${pkgs.orangefs}/bin/pvfs2-client-core \ + --logtype=syslog ${lib.concatStringsSep " " cfg.extraOptions} ''; TimeoutStopSec = "120"; @@ -90,4 +104,3 @@ in { }) cfg.fileSystems; }; } - diff --git a/nixos/modules/services/network-filesystems/orangefs/server.nix b/nixos/modules/services/network-filesystems/orangefs/server.nix index c198d47645592..99d7b27011c25 100644 --- a/nixos/modules/services/network-filesystems/orangefs/server.nix +++ b/nixos/modules/services/network-filesystems/orangefs/server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ...} : +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.orangefs.server; @@ -20,22 +25,28 @@ let ${lib.concatStringsSep "\n" ( - lib.imap0 (i: alias: - let - begin = i * handleStep + 3; - end = begin + handleStep - 1; - in "Range ${alias} ${toString begin}-${toString end}") aliases - )} + lib.imap0 ( + i: alias: + let + begin = i * handleStep + 3; + end = begin + handleStep - 1; + in + "Range ${alias} ${toString begin}-${toString end}" + ) aliases + )} ${lib.concatStringsSep "\n" ( - lib.imap0 (i: alias: - let - begin = i * handleStep + 3 + (lib.length aliases) * handleStep; - end = begin + handleStep - 1; - in "Range ${alias} ${toString begin}-${toString end}") aliases - )} + lib.imap0 ( + i: alias: + let + begin = i * handleStep + 3 + (lib.length aliases) * handleStep; + end = begin + handleStep - 1; + in + "Range ${alias} ${toString begin}-${toString end}" + ) aliases + )} @@ -66,7 +77,8 @@ let ${lib.concatStringsSep "\n" fileSystems} ''; -in { +in +{ ###### interface options = { @@ -74,7 +86,12 @@ in { enable = lib.mkEnableOption "OrangeFS server"; logType = lib.mkOption { - type = with lib.types; enum [ "file" "syslog" ]; + type = + with lib.types; + enum [ + "file" + "syslog" + ]; default = "syslog"; description = "Destination for log messages."; }; @@ -96,7 +113,10 @@ in { BMIModules = lib.mkOption { type = with lib.types; listOf str; default = [ "bmi_tcp" ]; - example = [ "bmi_tcp" "bmi_ib"]; + example = [ + "bmi_tcp" + "bmi_ib" + ]; description = "List of BMI modules to load."; }; @@ -114,7 +134,7 @@ in { servers = lib.mkOption { type = with lib.types; attrsOf lib.types.str; - default = {}; + default = { }; example = { node1 = "tcp://node1:3334"; node2 = "tcp://node2:3334"; @@ -126,7 +146,9 @@ in { description = '' These options will create the `` sections of config file. ''; - default = { orangefs = {}; }; + default = { + orangefs = { }; + }; example = lib.literalExpression '' { fs1 = { @@ -138,45 +160,52 @@ in { }; } ''; - type = with lib.types; attrsOf (submodule ({ ... } : { - options = { - id = lib.mkOption { - type = lib.types.int; - default = 1; - description = "File system ID (must be unique within configuration)."; - }; - - rootHandle = lib.mkOption { - type = lib.types.int; - default = 3; - description = "File system root ID."; - }; - - extraConfig = lib.mkOption { - type = lib.types.lines; - default = ""; - description = "Extra config for `` section."; - }; - - troveSyncMeta = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Sync meta data."; - }; - - troveSyncData = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Sync data."; - }; - - extraStorageHints = lib.mkOption { - type = lib.types.lines; - default = ""; - description = "Extra config for `` section."; - }; - }; - })); + type = + with lib.types; + attrsOf ( + submodule ( + { ... }: + { + options = { + id = lib.mkOption { + type = lib.types.int; + default = 1; + description = "File system ID (must be unique within configuration)."; + }; + + rootHandle = lib.mkOption { + type = lib.types.int; + default = 3; + description = "File system root ID."; + }; + + extraConfig = lib.mkOption { + type = lib.types.lines; + default = ""; + description = "Extra config for `` section."; + }; + + troveSyncMeta = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Sync meta data."; + }; + + troveSyncData = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Sync data."; + }; + + extraStorageHints = lib.mkOption { + type = lib.types.lines; + default = ""; + description = "Extra config for `` section."; + }; + }; + } + ) + ); }; }; }; @@ -191,7 +220,7 @@ in { isSystemUser = true; group = "orangefs"; }; - users.groups.orangefs = {}; + users.groups.orangefs = { }; # To format the file system the config file is needed. environment.etc."orangefs/server.conf" = { diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix index 93dc41c3c956e..810ed10b695da 100644 --- a/nixos/modules/services/network-filesystems/rsyncd.nix +++ b/nixos/modules/services/network-filesystems/rsyncd.nix @@ -1,9 +1,15 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.rsyncd; settingsFormat = pkgs.formats.ini { }; configFile = settingsFormat.generate "rsyncd.conf" cfg.settings; -in { +in +{ options = { services.rsyncd = { @@ -32,7 +38,10 @@ in { cvs = { path = "/data/cvs"; comment = "CVS repository (requires authentication)"; - "auth users" = [ "tridge" "susan" ]; + "auth users" = [ + "tridge" + "susan" + ]; "secrets file" = "/etc/rsyncd.secrets"; }; }; @@ -51,68 +60,81 @@ in { }; }; - imports = (map (option: - lib.mkRemovedOptionModule [ "services" "rsyncd" option ] - "This option was removed in favor of `services.rsyncd.settings`.") [ - "address" - "extraConfig" - "motd" - "user" - "group" - ]); + imports = ( + map + ( + option: + lib.mkRemovedOptionModule [ + "services" + "rsyncd" + option + ] "This option was removed in favor of `services.rsyncd.settings`." + ) + [ + "address" + "extraConfig" + "motd" + "user" + "group" + ] + ); config = lib.mkIf cfg.enable { services.rsyncd.settings.global.port = toString cfg.port; - systemd = let - serviceConfigSecurity = { - ProtectSystem = "full"; - PrivateDevices = "on"; - NoNewPrivileges = "on"; - }; - in { - services.rsync = { - enable = !cfg.socketActivated; - aliases = [ "rsyncd.service" ]; - - description = "fast remote file copy program daemon"; - after = [ "network.target" ]; - documentation = [ "man:rsync(1)" "man:rsyncd.conf(5)" ]; - - serviceConfig = serviceConfigSecurity // { - ExecStart = - "${pkgs.rsync}/bin/rsync --daemon --no-detach --config=${configFile}"; - RestartSec = 1; + systemd = + let + serviceConfigSecurity = { + ProtectSystem = "full"; + PrivateDevices = "on"; + NoNewPrivileges = "on"; }; + in + { + services.rsync = { + enable = !cfg.socketActivated; + aliases = [ "rsyncd.service" ]; + + description = "fast remote file copy program daemon"; + after = [ "network.target" ]; + documentation = [ + "man:rsync(1)" + "man:rsyncd.conf(5)" + ]; + + serviceConfig = serviceConfigSecurity // { + ExecStart = "${pkgs.rsync}/bin/rsync --daemon --no-detach --config=${configFile}"; + RestartSec = 1; + }; - wantedBy = [ "multi-user.target" ]; - }; + wantedBy = [ "multi-user.target" ]; + }; - services."rsync@" = { - description = "fast remote file copy program daemon"; - after = [ "network.target" ]; + services."rsync@" = { + description = "fast remote file copy program daemon"; + after = [ "network.target" ]; - serviceConfig = serviceConfigSecurity // { - ExecStart = "${pkgs.rsync}/bin/rsync --daemon --config=${configFile}"; - StandardInput = "socket"; - StandardOutput = "inherit"; - StandardError = "journal"; + serviceConfig = serviceConfigSecurity // { + ExecStart = "${pkgs.rsync}/bin/rsync --daemon --config=${configFile}"; + StandardInput = "socket"; + StandardOutput = "inherit"; + StandardError = "journal"; + }; }; - }; - sockets.rsync = { - enable = cfg.socketActivated; + sockets.rsync = { + enable = cfg.socketActivated; - description = "socket for fast remote file copy program daemon"; - conflicts = [ "rsync.service" ]; + description = "socket for fast remote file copy program daemon"; + conflicts = [ "rsync.service" ]; - listenStreams = [ (toString cfg.port) ]; - socketConfig.Accept = true; + listenStreams = [ (toString cfg.port) ]; + socketConfig.Accept = true; - wantedBy = [ "sockets.target" ]; + wantedBy = [ "sockets.target" ]; + }; }; - }; }; diff --git a/nixos/modules/services/network-filesystems/samba-wsdd.nix b/nixos/modules/services/network-filesystems/samba-wsdd.nix index 60ede5a1bda21..22c4f503109fa 100644 --- a/nixos/modules/services/network-filesystems/samba-wsdd.nix +++ b/nixos/modules/services/network-filesystems/samba-wsdd.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.samba-wsdd; -in { +in +{ options = { services.samba-wsdd = { enable = lib.mkEnableOption '' @@ -58,7 +64,12 @@ in { extraOptions = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ "--shortlog" ]; - example = [ "--verbose" "--no-http" "--ipv4only" "--no-host" ]; + example = [ + "--verbose" + "--no-http" + "--ipv4only" + "--no-host" + ]; description = "Additional wsdd options."; }; }; @@ -76,9 +87,15 @@ in { DynamicUser = true; Type = "simple"; ExecStart = '' - ${pkgs.wsdd}/bin/wsdd ${lib.optionalString (cfg.interface != null) "--interface '${cfg.interface}'"} \ - ${lib.optionalString (cfg.hoplimit != null) "--hoplimit '${toString cfg.hoplimit}'"} \ - ${lib.optionalString (cfg.workgroup != null) "--workgroup '${cfg.workgroup}'"} \ + ${pkgs.wsdd}/bin/wsdd ${ + lib.optionalString (cfg.interface != null) "--interface '${cfg.interface}'" + } \ + ${ + lib.optionalString (cfg.hoplimit != null) "--hoplimit '${toString cfg.hoplimit}'" + } \ + ${ + lib.optionalString (cfg.workgroup != null) "--workgroup '${cfg.workgroup}'" + } \ ${lib.optionalString (cfg.hostname != null) "--hostname '${cfg.hostname}'"} \ ${lib.optionalString (cfg.domain != null) "--domain '${cfg.domain}'"} \ ${lib.optionalString cfg.discovery "--discovery --listen '${cfg.listen}'"} \ @@ -105,7 +122,12 @@ in { ProtectKernelModules = true; ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; RestrictNamespaces = true; LockPersonality = true; MemoryDenyWriteExecute = true; diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index c0d12586dec83..9cc5a49168f67 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.samba; @@ -7,9 +12,14 @@ let }; # Ensure the global section is always first globalConfigFile = settingsFormat.generate "smb-global.conf" { global = cfg.settings.global; }; - sharesConfigFile = settingsFormat.generate "smb-shares.conf" (lib.removeAttrs cfg.settings [ "global" ]); + sharesConfigFile = settingsFormat.generate "smb-shares.conf" ( + lib.removeAttrs cfg.settings [ "global" ] + ); - configFile = pkgs.concatText "smb.conf" [ globalConfigFile sharesConfigFile ]; + configFile = pkgs.concatText "smb.conf" [ + globalConfigFile + sharesConfigFile + ]; in @@ -21,7 +31,9 @@ in imports = [ (lib.mkRemovedOptionModule [ "services" "samba" "defaultShare" ] "") - (lib.mkRemovedOptionModule [ "services" "samba" "syncPasswordsByPam" ] "This option has been removed by upstream, see https://bugzilla.samba.org/show_bug.cgi?id=10669#c10") + (lib.mkRemovedOptionModule [ "services" "samba" "syncPasswordsByPam" ] + "This option has been removed by upstream, see https://bugzilla.samba.org/show_bug.cgi?id=10669#c10" + ) (lib.mkRemovedOptionModule [ "services" "samba" "configText" ] '' Use services.samba.settings instead. @@ -30,13 +42,29 @@ in text for config as introduced by RFC0042: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md '') - (lib.mkRemovedOptionModule [ "services" "samba" "extraConfig" ] "Use services.samba.settings instead.") - (lib.mkRenamedOptionModule [ "services" "samba" "invalidUsers" ] [ "services" "samba" "settings" "global" "invalid users" ]) - (lib.mkRenamedOptionModule [ "services" "samba" "securityType" ] [ "services" "samba" "settings" "global" "security" ]) + (lib.mkRemovedOptionModule [ + "services" + "samba" + "extraConfig" + ] "Use services.samba.settings instead.") + (lib.mkRenamedOptionModule + [ "services" "samba" "invalidUsers" ] + [ "services" "samba" "settings" "global" "invalid users" ] + ) + (lib.mkRenamedOptionModule + [ "services" "samba" "securityType" ] + [ "services" "samba" "settings" "global" "security" ] + ) (lib.mkRenamedOptionModule [ "services" "samba" "shares" ] [ "services" "samba" "settings" ]) - (lib.mkRenamedOptionModule [ "services" "samba" "enableWinbindd" ] [ "services" "samba" "winbindd" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "samba" "enableNmbd" ] [ "services" "samba" "nmbd" "enable" ]) + (lib.mkRenamedOptionModule + [ "services" "samba" "enableWinbindd" ] + [ "services" "samba" "winbindd" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "samba" "enableNmbd" ] + [ "services" "samba" "nmbd" "enable" ] + ) ]; ###### interface @@ -126,7 +154,12 @@ in freeformType = settingsFormat.type; options = { global.security = lib.mkOption { - type = lib.types.enum [ "auto" "user" "domain" "ads" ]; + type = lib.types.enum [ + "auto" + "user" + "domain" + "ads" + ]; default = "user"; description = "Samba security type."; }; @@ -176,167 +209,192 @@ in ###### implementation - config = lib.mkMerge - [ { assertions = - [ { assertion = cfg.nsswins -> cfg.winbindd.enable; - message = "If services.samba.nsswins is enabled, then services.samba.winbindd.enable must also be enabled"; - } - ]; - } - - (lib.mkIf cfg.enable { - environment.etc."samba/smb.conf".source = configFile; - - system.nssModules = lib.optional cfg.nsswins cfg.package; - system.nssDatabases.hosts = lib.optional cfg.nsswins "wins"; - - systemd = { - slices.system-samba = { - description = "Samba (SMB Networking Protocol) Slice"; - }; - targets.samba = { - description = "Samba Server"; - after = [ "network.target" ]; - wants = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - }; - tmpfiles.rules = [ - "d /var/lock/samba - - - - -" - "d /var/log/samba - - - - -" - "d /var/cache/samba - - - - -" - "d /var/lib/samba/private - - - - -" - ]; - }; - - security.pam.services.samba = {}; - environment.systemPackages = [ cfg.package ]; - # Like other mount* related commands that need the setuid bit, this is - # required too. - security.wrappers."mount.cifs" = { - program = "mount.cifs"; - source = "${lib.getBin pkgs.cifs-utils}/bin/mount.cifs"; - owner = "root"; - group = "root"; - setuid = true; + config = lib.mkMerge [ + { + assertions = [ + { + assertion = cfg.nsswins -> cfg.winbindd.enable; + message = "If services.samba.nsswins is enabled, then services.samba.winbindd.enable must also be enabled"; + } + ]; + } + + (lib.mkIf cfg.enable { + environment.etc."samba/smb.conf".source = configFile; + + system.nssModules = lib.optional cfg.nsswins cfg.package; + system.nssDatabases.hosts = lib.optional cfg.nsswins "wins"; + + systemd = { + slices.system-samba = { + description = "Samba (SMB Networking Protocol) Slice"; }; - - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ 139 445 ]; - networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall [ 137 138 ]; - }) - - (lib.mkIf (cfg.enable && cfg.nmbd.enable) { - systemd.services.samba-nmbd = { - description = "Samba NMB Daemon"; - documentation = [ "man:nmbd(8)" "man:samba(7)" "man:smb.conf(5)" ]; - - after = [ - "network.target" - "network-online.target" - ]; - - partOf = [ "samba.target" ]; - wantedBy = [ "samba.target" ]; + targets.samba = { + description = "Samba Server"; + after = [ "network.target" ]; wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + }; + tmpfiles.rules = [ + "d /var/lock/samba - - - - -" + "d /var/log/samba - - - - -" + "d /var/cache/samba - - - - -" + "d /var/lib/samba/private - - - - -" + ]; + }; - environment.LD_LIBRARY_PATH = config.system.nssModules.path; - - serviceConfig = { - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - ExecStart = "${cfg.package}/sbin/nmbd --foreground --no-process-group ${lib.escapeShellArgs cfg.nmbd.extraArgs}"; - LimitCORE = "infinity"; - PIDFile = "/run/samba/nmbd.pid"; - Slice = "system-samba.slice"; - Type = "notify"; - }; - - unitConfig.RequiresMountsFor = "/var/lib/samba"; + security.pam.services.samba = { }; + environment.systemPackages = [ cfg.package ]; + # Like other mount* related commands that need the setuid bit, this is + # required too. + security.wrappers."mount.cifs" = { + program = "mount.cifs"; + source = "${lib.getBin pkgs.cifs-utils}/bin/mount.cifs"; + owner = "root"; + group = "root"; + setuid = true; + }; - restartTriggers = [ configFile ]; + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ + 139 + 445 + ]; + networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall [ + 137 + 138 + ]; + }) + + (lib.mkIf (cfg.enable && cfg.nmbd.enable) { + systemd.services.samba-nmbd = { + description = "Samba NMB Daemon"; + documentation = [ + "man:nmbd(8)" + "man:samba(7)" + "man:smb.conf(5)" + ]; + + after = [ + "network.target" + "network-online.target" + ]; + + partOf = [ "samba.target" ]; + wantedBy = [ "samba.target" ]; + wants = [ "network-online.target" ]; + + environment.LD_LIBRARY_PATH = config.system.nssModules.path; + + serviceConfig = { + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + ExecStart = "${cfg.package}/sbin/nmbd --foreground --no-process-group ${lib.escapeShellArgs cfg.nmbd.extraArgs}"; + LimitCORE = "infinity"; + PIDFile = "/run/samba/nmbd.pid"; + Slice = "system-samba.slice"; + Type = "notify"; }; - }) - (lib.mkIf (cfg.enable && cfg.smbd.enable) { - systemd.services.samba-smbd = { - description = "Samba SMB Daemon"; - documentation = [ "man:smbd(8)" "man:samba(7)" "man:smb.conf(5)" ]; + unitConfig.RequiresMountsFor = "/var/lib/samba"; - after = [ + restartTriggers = [ configFile ]; + }; + }) + + (lib.mkIf (cfg.enable && cfg.smbd.enable) { + systemd.services.samba-smbd = { + description = "Samba SMB Daemon"; + documentation = [ + "man:smbd(8)" + "man:samba(7)" + "man:smb.conf(5)" + ]; + + after = + [ "network.target" "network-online.target" - ] ++ lib.optionals (cfg.nmbd.enable) [ + ] + ++ lib.optionals (cfg.nmbd.enable) [ "samba-nmbd.service" - ] ++ lib.optionals (cfg.winbindd.enable) [ + ] + ++ lib.optionals (cfg.winbindd.enable) [ "samba-winbindd.service" ]; - partOf = [ "samba.target" ]; - wantedBy = [ "samba.target" ]; - wants = [ "network-online.target" ]; - - environment.LD_LIBRARY_PATH = config.system.nssModules.path; + partOf = [ "samba.target" ]; + wantedBy = [ "samba.target" ]; + wants = [ "network-online.target" ]; - serviceConfig = { - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - ExecStart = "${cfg.package}/sbin/smbd --foreground --no-process-group ${lib.escapeShellArgs cfg.smbd.extraArgs}"; - LimitCORE = "infinity"; - LimitNOFILE = 16384; - PIDFile = "/run/samba/smbd.pid"; - Slice = "system-samba.slice"; - Type = "notify"; - }; + environment.LD_LIBRARY_PATH = config.system.nssModules.path; - unitConfig.RequiresMountsFor = "/var/lib/samba"; - - restartTriggers = [ configFile ]; + serviceConfig = { + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + ExecStart = "${cfg.package}/sbin/smbd --foreground --no-process-group ${lib.escapeShellArgs cfg.smbd.extraArgs}"; + LimitCORE = "infinity"; + LimitNOFILE = 16384; + PIDFile = "/run/samba/smbd.pid"; + Slice = "system-samba.slice"; + Type = "notify"; }; - }) - (lib.mkIf (cfg.enable && cfg.winbindd.enable) { - systemd.services.samba-winbindd = { - description = "Samba Winbind Daemon"; - documentation = [ "man:winbindd(8)" "man:samba(7)" "man:smb.conf(5)" ]; + unitConfig.RequiresMountsFor = "/var/lib/samba"; - after = [ + restartTriggers = [ configFile ]; + }; + }) + + (lib.mkIf (cfg.enable && cfg.winbindd.enable) { + systemd.services.samba-winbindd = { + description = "Samba Winbind Daemon"; + documentation = [ + "man:winbindd(8)" + "man:samba(7)" + "man:smb.conf(5)" + ]; + + after = + [ "network.target" - ] ++ lib.optionals (cfg.nmbd.enable) [ + ] + ++ lib.optionals (cfg.nmbd.enable) [ "samba-nmbd.service" ]; - partOf = [ "samba.target" ]; - wantedBy = [ "samba.target" ]; + partOf = [ "samba.target" ]; + wantedBy = [ "samba.target" ]; - environment.LD_LIBRARY_PATH = config.system.nssModules.path; + environment.LD_LIBRARY_PATH = config.system.nssModules.path; - serviceConfig = { - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - ExecStart = "${cfg.package}/sbin/winbindd --foreground --no-process-group ${lib.escapeShellArgs cfg.winbindd.extraArgs}"; - LimitCORE = "infinity"; - PIDFile = "/run/samba/winbindd.pid"; - Slice = "system-samba.slice"; - Type = "notify"; - }; + serviceConfig = { + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + ExecStart = "${cfg.package}/sbin/winbindd --foreground --no-process-group ${lib.escapeShellArgs cfg.winbindd.extraArgs}"; + LimitCORE = "infinity"; + PIDFile = "/run/samba/winbindd.pid"; + Slice = "system-samba.slice"; + Type = "notify"; + }; - unitConfig.RequiresMountsFor = "/var/lib/samba"; + unitConfig.RequiresMountsFor = "/var/lib/samba"; - restartTriggers = [ configFile ]; - }; - }) + restartTriggers = [ configFile ]; + }; + }) - (lib.mkIf (cfg.enable && cfg.usershares.enable) { - users.groups.${cfg.usershares.group} = {}; + (lib.mkIf (cfg.enable && cfg.usershares.enable) { + users.groups.${cfg.usershares.group} = { }; - systemd.tmpfiles.settings."50-samba-usershares"."/var/lib/samba/usershares".d = { - user = "root"; - group = cfg.usershares.group; - mode = "1775"; # sticky so users can't delete others' shares - }; + systemd.tmpfiles.settings."50-samba-usershares"."/var/lib/samba/usershares".d = { + user = "root"; + group = cfg.usershares.group; + mode = "1775"; # sticky so users can't delete others' shares + }; - # set some reasonable defaults - services.samba.settings.global = lib.mkDefault { - "usershare path" = "/var/lib/samba/usershares"; - "usershare max shares" = 100; # high enough to be considered ~unlimited - "usershare allow guests" = true; - }; - }) - ]; + # set some reasonable defaults + services.samba.settings.global = lib.mkDefault { + "usershare path" = "/var/lib/samba/usershares"; + "usershare max shares" = 100; # high enough to be considered ~unlimited + "usershare allow guests" = true; + }; + }) + ]; } diff --git a/nixos/modules/services/network-filesystems/tahoe.nix b/nixos/modules/services/network-filesystems/tahoe.nix index e3296e6f66d54..9b99f4ce5a446 100644 --- a/nixos/modules/services/network-filesystems/tahoe.nix +++ b/nixos/modules/services/network-filesystems/tahoe.nix @@ -1,12 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.tahoe; in - { - options.services.tahoe = { - introducers = lib.mkOption { - default = {}; - type = with lib.types; attrsOf (submodule { +{ + options.services.tahoe = { + introducers = lib.mkOption { + default = { }; + type = + with lib.types; + attrsOf (submodule { options = { nickname = lib.mkOption { type = lib.types.str; @@ -33,13 +40,15 @@ in package = lib.mkPackageOption pkgs "tahoelafs" { }; }; }); - description = '' - The Tahoe introducers. - ''; - }; - nodes = lib.mkOption { - default = {}; - type = with lib.types; attrsOf (submodule { + description = '' + The Tahoe introducers. + ''; + }; + nodes = lib.mkOption { + default = { }; + type = + with lib.types; + attrsOf (submodule { options = { nickname = lib.mkOption { type = lib.types.str; @@ -170,181 +179,194 @@ in package = lib.mkPackageOption pkgs "tahoelafs" { }; }; }); - description = '' - The Tahoe nodes. - ''; - }; + description = '' + The Tahoe nodes. + ''; }; - config = lib.mkMerge [ - (lib.mkIf (cfg.introducers != {}) { - environment = { - etc = lib.flip lib.mapAttrs' cfg.introducers (node: settings: - lib.nameValuePair "tahoe-lafs/introducer-${node}.cfg" { - mode = "0444"; - text = '' - # This configuration is generated by Nix. Edit at your own - # peril; here be dragons. + }; + config = lib.mkMerge [ + (lib.mkIf (cfg.introducers != { }) { + environment = { + etc = lib.flip lib.mapAttrs' cfg.introducers ( + node: settings: + lib.nameValuePair "tahoe-lafs/introducer-${node}.cfg" { + mode = "0444"; + text = '' + # This configuration is generated by Nix. Edit at your own + # peril; here be dragons. - [node] - nickname = ${settings.nickname} - tub.port = ${toString settings.tub.port} - ${lib.optionalString (settings.tub.location != null) - "tub.location = ${settings.tub.location}"} - ''; - }); - # Actually require Tahoe, so that we will have it installed. - systemPackages = lib.flip lib.mapAttrsToList cfg.introducers (node: settings: - settings.package - ); - }; - # Open up the firewall. - # networking.firewall.allowedTCPPorts = lib.flip lib.mapAttrsToList cfg.introducers - # (node: settings: settings.tub.port); - systemd.services = lib.flip lib.mapAttrs' cfg.introducers (node: settings: - let - pidfile = "/run/tahoe.introducer-${node}.pid"; - # This is a directory, but it has no trailing slash. Tahoe commands - # get antsy when there's a trailing slash. - nodedir = "/var/db/tahoe-lafs/introducer-${node}"; - in lib.nameValuePair "tahoe.introducer-${node}" { - description = "Tahoe LAFS node ${node}"; - wantedBy = [ "multi-user.target" ]; - path = [ settings.package ]; - restartTriggers = [ - config.environment.etc."tahoe-lafs/introducer-${node}.cfg".source ]; - serviceConfig = { - Type = "simple"; - PIDFile = pidfile; - # Believe it or not, Tahoe is very brittle about the order of - # arguments to $(tahoe run). The node directory must come first, - # and arguments which alter Twisted's behavior come afterwards. - ExecStart = '' - ${settings.package}/bin/tahoe run ${lib.escapeShellArg nodedir} --pidfile=${lib.escapeShellArg pidfile} - ''; - }; - preStart = '' - if [ ! -d ${lib.escapeShellArg nodedir} ]; then - mkdir -p /var/db/tahoe-lafs - # See https://github.com/NixOS/nixpkgs/issues/25273 - tahoe create-introducer \ - --hostname="${config.networking.hostName}" \ - ${lib.escapeShellArg nodedir} - fi - - # Tahoe has created a predefined tahoe.cfg which we must now - # scribble over. - # XXX I thought that a symlink would work here, but it doesn't, so - # we must do this on every prestart. Fixes welcome. - # rm ${nodedir}/tahoe.cfg - # ln -s /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg - cp /etc/tahoe-lafs/introducer-"${node}".cfg ${lib.escapeShellArg nodedir}/tahoe.cfg + [node] + nickname = ${settings.nickname} + tub.port = ${toString settings.tub.port} + ${lib.optionalString (settings.tub.location != null) "tub.location = ${settings.tub.location}"} + ''; + } + ); + # Actually require Tahoe, so that we will have it installed. + systemPackages = lib.flip lib.mapAttrsToList cfg.introducers (node: settings: settings.package); + }; + # Open up the firewall. + # networking.firewall.allowedTCPPorts = lib.flip lib.mapAttrsToList cfg.introducers + # (node: settings: settings.tub.port); + systemd.services = lib.flip lib.mapAttrs' cfg.introducers ( + node: settings: + let + pidfile = "/run/tahoe.introducer-${node}.pid"; + # This is a directory, but it has no trailing slash. Tahoe commands + # get antsy when there's a trailing slash. + nodedir = "/var/db/tahoe-lafs/introducer-${node}"; + in + lib.nameValuePair "tahoe.introducer-${node}" { + description = "Tahoe LAFS node ${node}"; + wantedBy = [ "multi-user.target" ]; + path = [ settings.package ]; + restartTriggers = [ + config.environment.etc."tahoe-lafs/introducer-${node}.cfg".source + ]; + serviceConfig = { + Type = "simple"; + PIDFile = pidfile; + # Believe it or not, Tahoe is very brittle about the order of + # arguments to $(tahoe run). The node directory must come first, + # and arguments which alter Twisted's behavior come afterwards. + ExecStart = '' + ${settings.package}/bin/tahoe run ${lib.escapeShellArg nodedir} --pidfile=${lib.escapeShellArg pidfile} ''; - }); - users.users = lib.flip lib.mapAttrs' cfg.introducers (node: _: - lib.nameValuePair "tahoe.introducer-${node}" { - description = "Tahoe node user for introducer ${node}"; - isSystemUser = true; - }); - }) - (lib.mkIf (cfg.nodes != {}) { - environment = { - etc = lib.flip lib.mapAttrs' cfg.nodes (node: settings: - lib.nameValuePair "tahoe-lafs/${node}.cfg" { - mode = "0444"; - text = '' - # This configuration is generated by Nix. Edit at your own - # peril; here be dragons. + }; + preStart = '' + if [ ! -d ${lib.escapeShellArg nodedir} ]; then + mkdir -p /var/db/tahoe-lafs + # See https://github.com/NixOS/nixpkgs/issues/25273 + tahoe create-introducer \ + --hostname="${config.networking.hostName}" \ + ${lib.escapeShellArg nodedir} + fi - [node] - nickname = ${settings.nickname} - tub.port = ${toString settings.tub.port} - ${lib.optionalString (settings.tub.location != null) - "tub.location = ${settings.tub.location}"} - # This is a Twisted endpoint. Twisted Web doesn't work on - # non-TCP. ~ C. - web.port = tcp:${toString settings.web.port} + # Tahoe has created a predefined tahoe.cfg which we must now + # scribble over. + # XXX I thought that a symlink would work here, but it doesn't, so + # we must do this on every prestart. Fixes welcome. + # rm ${nodedir}/tahoe.cfg + # ln -s /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg + cp /etc/tahoe-lafs/introducer-"${node}".cfg ${lib.escapeShellArg nodedir}/tahoe.cfg + ''; + } + ); + users.users = lib.flip lib.mapAttrs' cfg.introducers ( + node: _: + lib.nameValuePair "tahoe.introducer-${node}" { + description = "Tahoe node user for introducer ${node}"; + isSystemUser = true; + } + ); + }) + (lib.mkIf (cfg.nodes != { }) { + environment = { + etc = lib.flip lib.mapAttrs' cfg.nodes ( + node: settings: + lib.nameValuePair "tahoe-lafs/${node}.cfg" { + mode = "0444"; + text = '' + # This configuration is generated by Nix. Edit at your own + # peril; here be dragons. - [client] - ${lib.optionalString (settings.client.introducer != null) - "introducer.furl = ${settings.client.introducer}"} - ${lib.optionalString (settings.client.helper != null) - "helper.furl = ${settings.client.helper}"} + [node] + nickname = ${settings.nickname} + tub.port = ${toString settings.tub.port} + ${lib.optionalString (settings.tub.location != null) "tub.location = ${settings.tub.location}"} + # This is a Twisted endpoint. Twisted Web doesn't work on + # non-TCP. ~ C. + web.port = tcp:${toString settings.web.port} - shares.needed = ${toString settings.client.shares.needed} - shares.happy = ${toString settings.client.shares.happy} - shares.total = ${toString settings.client.shares.total} + [client] + ${lib.optionalString ( + settings.client.introducer != null + ) "introducer.furl = ${settings.client.introducer}"} + ${lib.optionalString (settings.client.helper != null) "helper.furl = ${settings.client.helper}"} - [storage] - enabled = ${lib.boolToString settings.storage.enable} - reserved_space = ${settings.storage.reservedSpace} + shares.needed = ${toString settings.client.shares.needed} + shares.happy = ${toString settings.client.shares.happy} + shares.total = ${toString settings.client.shares.total} - [helper] - enabled = ${lib.boolToString settings.helper.enable} + [storage] + enabled = ${lib.boolToString settings.storage.enable} + reserved_space = ${settings.storage.reservedSpace} - [sftpd] - enabled = ${lib.boolToString settings.sftpd.enable} - ${lib.optionalString (settings.sftpd.port != null) - "port = ${toString settings.sftpd.port}"} - ${lib.optionalString (settings.sftpd.hostPublicKeyFile != null) - "host_pubkey_file = ${settings.sftpd.hostPublicKeyFile}"} - ${lib.optionalString (settings.sftpd.hostPrivateKeyFile != null) - "host_privkey_file = ${settings.sftpd.hostPrivateKeyFile}"} - ${lib.optionalString (settings.sftpd.accounts.file != null) - "accounts.file = ${settings.sftpd.accounts.file}"} - ${lib.optionalString (settings.sftpd.accounts.url != null) - "accounts.url = ${settings.sftpd.accounts.url}"} - ''; - }); - # Actually require Tahoe, so that we will have it installed. - systemPackages = lib.flip lib.mapAttrsToList cfg.nodes (node: settings: - settings.package - ); - }; - # Open up the firewall. - # networking.firewall.allowedTCPPorts = lib.flip lib.mapAttrsToList cfg.nodes - # (node: settings: settings.tub.port); - systemd.services = lib.flip lib.mapAttrs' cfg.nodes (node: settings: - let - pidfile = "/run/tahoe.${node}.pid"; - # This is a directory, but it has no trailing slash. Tahoe commands - # get antsy when there's a trailing slash. - nodedir = "/var/db/tahoe-lafs/${node}"; - in lib.nameValuePair "tahoe.${node}" { - description = "Tahoe LAFS node ${node}"; - wantedBy = [ "multi-user.target" ]; - path = [ settings.package ]; - restartTriggers = [ - config.environment.etc."tahoe-lafs/${node}.cfg".source ]; - serviceConfig = { - Type = "simple"; - PIDFile = pidfile; - # Believe it or not, Tahoe is very brittle about the order of - # arguments to $(tahoe run). The node directory must come first, - # and arguments which alter Twisted's behavior come afterwards. - ExecStart = '' - ${settings.package}/bin/tahoe run ${lib.escapeShellArg nodedir} --pidfile=${lib.escapeShellArg pidfile} - ''; - }; - preStart = '' - if [ ! -d ${lib.escapeShellArg nodedir} ]; then - mkdir -p /var/db/tahoe-lafs - tahoe create-node --hostname=localhost ${lib.escapeShellArg nodedir} - fi + [helper] + enabled = ${lib.boolToString settings.helper.enable} - # Tahoe has created a predefined tahoe.cfg which we must now - # scribble over. - # XXX I thought that a symlink would work here, but it doesn't, so - # we must do this on every prestart. Fixes welcome. - # rm ${nodedir}/tahoe.cfg - # ln -s /etc/tahoe-lafs/${lib.escapeShellArg node}.cfg ${nodedir}/tahoe.cfg - cp /etc/tahoe-lafs/${lib.escapeShellArg node}.cfg ${lib.escapeShellArg nodedir}/tahoe.cfg + [sftpd] + enabled = ${lib.boolToString settings.sftpd.enable} + ${lib.optionalString (settings.sftpd.port != null) "port = ${toString settings.sftpd.port}"} + ${lib.optionalString ( + settings.sftpd.hostPublicKeyFile != null + ) "host_pubkey_file = ${settings.sftpd.hostPublicKeyFile}"} + ${lib.optionalString ( + settings.sftpd.hostPrivateKeyFile != null + ) "host_privkey_file = ${settings.sftpd.hostPrivateKeyFile}"} + ${lib.optionalString ( + settings.sftpd.accounts.file != null + ) "accounts.file = ${settings.sftpd.accounts.file}"} + ${lib.optionalString ( + settings.sftpd.accounts.url != null + ) "accounts.url = ${settings.sftpd.accounts.url}"} ''; - }); - users.users = lib.flip lib.mapAttrs' cfg.nodes (node: _: - lib.nameValuePair "tahoe.${node}" { - description = "Tahoe node user for node ${node}"; - isSystemUser = true; - }); - }) - ]; - } + } + ); + # Actually require Tahoe, so that we will have it installed. + systemPackages = lib.flip lib.mapAttrsToList cfg.nodes (node: settings: settings.package); + }; + # Open up the firewall. + # networking.firewall.allowedTCPPorts = lib.flip lib.mapAttrsToList cfg.nodes + # (node: settings: settings.tub.port); + systemd.services = lib.flip lib.mapAttrs' cfg.nodes ( + node: settings: + let + pidfile = "/run/tahoe.${node}.pid"; + # This is a directory, but it has no trailing slash. Tahoe commands + # get antsy when there's a trailing slash. + nodedir = "/var/db/tahoe-lafs/${node}"; + in + lib.nameValuePair "tahoe.${node}" { + description = "Tahoe LAFS node ${node}"; + wantedBy = [ "multi-user.target" ]; + path = [ settings.package ]; + restartTriggers = [ + config.environment.etc."tahoe-lafs/${node}.cfg".source + ]; + serviceConfig = { + Type = "simple"; + PIDFile = pidfile; + # Believe it or not, Tahoe is very brittle about the order of + # arguments to $(tahoe run). The node directory must come first, + # and arguments which alter Twisted's behavior come afterwards. + ExecStart = '' + ${settings.package}/bin/tahoe run ${lib.escapeShellArg nodedir} --pidfile=${lib.escapeShellArg pidfile} + ''; + }; + preStart = '' + if [ ! -d ${lib.escapeShellArg nodedir} ]; then + mkdir -p /var/db/tahoe-lafs + tahoe create-node --hostname=localhost ${lib.escapeShellArg nodedir} + fi + + # Tahoe has created a predefined tahoe.cfg which we must now + # scribble over. + # XXX I thought that a symlink would work here, but it doesn't, so + # we must do this on every prestart. Fixes welcome. + # rm ${nodedir}/tahoe.cfg + # ln -s /etc/tahoe-lafs/${lib.escapeShellArg node}.cfg ${nodedir}/tahoe.cfg + cp /etc/tahoe-lafs/${lib.escapeShellArg node}.cfg ${lib.escapeShellArg nodedir}/tahoe.cfg + ''; + } + ); + users.users = lib.flip lib.mapAttrs' cfg.nodes ( + node: _: + lib.nameValuePair "tahoe.${node}" { + description = "Tahoe node user for node ${node}"; + isSystemUser = true; + } + ); + }) + ]; +} diff --git a/nixos/modules/services/network-filesystems/u9fs.nix b/nixos/modules/services/network-filesystems/u9fs.nix index 346705f5e3d00..4d568599275a0 100644 --- a/nixos/modules/services/network-filesystems/u9fs.nix +++ b/nixos/modules/services/network-filesystems/u9fs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.u9fs; in @@ -35,9 +40,9 @@ in default = ""; example = "-a none"; description = '' - Extra arguments to pass on invocation, - see {command}`man 4 u9fs` - ''; + Extra arguments to pass on invocation, + see {command}`man 4 u9fs` + ''; }; }; @@ -58,13 +63,13 @@ in description = "9P Protocol Server"; reloadIfChanged = true; requires = [ "u9fs.socket" ]; - serviceConfig = - { ExecStart = "-${pkgs.u9fs}/bin/u9fs ${cfg.extraArgs}"; - StandardInput = "socket"; - StandardError = "journal"; - User = cfg.user; - AmbientCapabilities = "cap_setuid cap_setgid"; - }; + serviceConfig = { + ExecStart = "-${pkgs.u9fs}/bin/u9fs ${cfg.extraArgs}"; + StandardInput = "socket"; + StandardError = "journal"; + User = cfg.user; + AmbientCapabilities = "cap_setuid cap_setgid"; + }; }; }; diff --git a/nixos/modules/services/network-filesystems/webdav-server-rs.nix b/nixos/modules/services/network-filesystems/webdav-server-rs.nix index 31f641a82d797..79fae8021d7d9 100644 --- a/nixos/modules/services/network-filesystems/webdav-server-rs.nix +++ b/nixos/modules/services/network-filesystems/webdav-server-rs.nix @@ -1,13 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.webdav-server-rs; format = pkgs.formats.toml { }; - settings = lib.recursiveUpdate - { - server.uid = config.users.users."${cfg.user}".uid; - server.gid = config.users.groups."${cfg.group}".gid; - } - cfg.settings; + settings = lib.recursiveUpdate { + server.uid = config.users.users."${cfg.user}".uid; + server.gid = config.users.groups."${cfg.group}".gid; + } cfg.settings; in { options = { @@ -93,7 +96,8 @@ in message = "users.users.${cfg.user} and users.users.${cfg.user}.uid must be defined."; } { - assertion = lib.hasAttr cfg.group config.users.groups && config.users.groups."${cfg.group}".gid != null; + assertion = + lib.hasAttr cfg.group config.users.groups && config.users.groups."${cfg.group}".gid != null; message = "users.groups.${cfg.group} and users.groups.${cfg.group}.gid must be defined."; } ]; diff --git a/nixos/modules/services/network-filesystems/webdav.nix b/nixos/modules/services/network-filesystems/webdav.nix index 28f129fc12d29..d0ae780a3aec5 100644 --- a/nixos/modules/services/network-filesystems/webdav.nix +++ b/nixos/modules/services/network-filesystems/webdav.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.webdav; format = pkgs.formats.yaml { }; diff --git a/nixos/modules/services/network-filesystems/xtreemfs.nix b/nixos/modules/services/network-filesystems/xtreemfs.nix index e2cde1903edd2..24ce5f7c224ff 100644 --- a/nixos/modules/services/network-filesystems/xtreemfs.nix +++ b/nixos/modules/services/network-filesystems/xtreemfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.xtreemfs; @@ -7,13 +12,15 @@ let home = cfg.homeDir; - startupScript = class: configPath: pkgs.writeScript "xtreemfs-osd.sh" '' - #! ${pkgs.runtimeShell} - JAVA_HOME="${pkgs.jdk}" - JAVADIR="${xtreemfs}/share/java" - JAVA_CALL="$JAVA_HOME/bin/java -ea -cp $JAVADIR/XtreemFS.jar:$JAVADIR/BabuDB.jar:$JAVADIR/Flease.jar:$JAVADIR/protobuf-java-2.5.0.jar:$JAVADIR/Foundation.jar:$JAVADIR/jdmkrt.jar:$JAVADIR/jdmktk.jar:$JAVADIR/commons-codec-1.3.jar" - $JAVA_CALL ${class} ${configPath} - ''; + startupScript = + class: configPath: + pkgs.writeScript "xtreemfs-osd.sh" '' + #! ${pkgs.runtimeShell} + JAVA_HOME="${pkgs.jdk}" + JAVADIR="${xtreemfs}/share/java" + JAVA_CALL="$JAVA_HOME/bin/java -ea -cp $JAVADIR/XtreemFS.jar:$JAVADIR/BabuDB.jar:$JAVADIR/Flease.jar:$JAVADIR/protobuf-java-2.5.0.jar:$JAVADIR/Foundation.jar:$JAVADIR/jdmkrt.jar:$JAVADIR/jdmktk.jar:$JAVADIR/commons-codec-1.3.jar" + $JAVA_CALL ${class} ${configPath} + ''; dirReplicationConfig = pkgs.writeText "xtreemfs-dir-replication-plugin.properties" '' babudb.repl.backupDir = ${home}/server-repl-dir @@ -69,7 +76,7 @@ let ${cfg.osd.extraConfig} ''; - optionalDir = lib.optionals cfg.dir.enable ["xtreemfs-dir.service"]; + optionalDir = lib.optionals cfg.dir.enable [ "xtreemfs-dir.service" ]; systemdOptionalDependencies = { after = [ "network.target" ] ++ optionalDir; @@ -139,7 +146,13 @@ in ''; }; syncMode = lib.mkOption { - type = lib.types.enum [ "ASYNC" "SYNC_WRITE_METADATA" "SYNC_WRITE" "FDATASYNC" "FSYNC" ]; + type = lib.types.enum [ + "ASYNC" + "SYNC_WRITE_METADATA" + "SYNC_WRITE" + "FDATASYNC" + "FSYNC" + ]; default = "FSYNC"; example = "FDATASYNC"; description = '' @@ -265,7 +278,13 @@ in }; syncMode = lib.mkOption { default = "FSYNC"; - type = lib.types.enum [ "ASYNC" "SYNC_WRITE_METADATA" "SYNC_WRITE" "FDATASYNC" "FSYNC" ]; + type = lib.types.enum [ + "ASYNC" + "SYNC_WRITE_METADATA" + "SYNC_WRITE" + "FDATASYNC" + "FSYNC" + ]; example = "FDATASYNC"; description = '' The sync mode influences how operations are committed to the disk @@ -443,23 +462,22 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { environment.systemPackages = [ xtreemfs ]; - users.users.xtreemfs = - { uid = config.ids.uids.xtreemfs; - description = "XtreemFS user"; - createHome = true; - home = home; - }; + users.users.xtreemfs = { + uid = config.ids.uids.xtreemfs; + description = "XtreemFS user"; + createHome = true; + home = home; + }; - users.groups.xtreemfs = - { gid = config.ids.gids.xtreemfs; - }; + users.groups.xtreemfs = { + gid = config.ids.gids.xtreemfs; + }; systemd.services.xtreemfs-dir = lib.mkIf cfg.dir.enable { description = "XtreemFS-DIR Server"; @@ -471,21 +489,27 @@ in }; }; - systemd.services.xtreemfs-mrc = lib.mkIf cfg.mrc.enable ({ - description = "XtreemFS-MRC Server"; - serviceConfig = { - User = "xtreemfs"; - ExecStart = "${startupScript "org.xtreemfs.mrc.MRC" mrcConfig}"; - }; - } // systemdOptionalDependencies); - - systemd.services.xtreemfs-osd = lib.mkIf cfg.osd.enable ({ - description = "XtreemFS-OSD Server"; - serviceConfig = { - User = "xtreemfs"; - ExecStart = "${startupScript "org.xtreemfs.osd.OSD" osdConfig}"; - }; - } // systemdOptionalDependencies); + systemd.services.xtreemfs-mrc = lib.mkIf cfg.mrc.enable ( + { + description = "XtreemFS-MRC Server"; + serviceConfig = { + User = "xtreemfs"; + ExecStart = "${startupScript "org.xtreemfs.mrc.MRC" mrcConfig}"; + }; + } + // systemdOptionalDependencies + ); + + systemd.services.xtreemfs-osd = lib.mkIf cfg.osd.enable ( + { + description = "XtreemFS-OSD Server"; + serviceConfig = { + User = "xtreemfs"; + ExecStart = "${startupScript "org.xtreemfs.osd.OSD" osdConfig}"; + }; + } + // systemdOptionalDependencies + ); }; diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix index ee9b58b081a37..c2364898f9984 100644 --- a/nixos/modules/services/network-filesystems/yandex-disk.nix +++ b/nixos/modules/services/network-filesystems/yandex-disk.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.yandex-disk; @@ -68,17 +73,18 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { - users.users = lib.mkIf (cfg.user == null) [ { - name = u; - uid = config.ids.uids.yandexdisk; - group = "nogroup"; - home = dir; - } ]; + users.users = lib.mkIf (cfg.user == null) [ + { + name = u; + uid = config.ids.uids.yandexdisk; + group = "nogroup"; + home = dir; + } + ]; systemd.services.yandex-disk = { description = "Yandex-disk server"; @@ -110,4 +116,3 @@ in }; } - diff --git a/nixos/modules/services/networking/3proxy.nix b/nixos/modules/services/networking/3proxy.nix index 03c67ed2f6f8f..e15abb63aec49 100644 --- a/nixos/modules/services/networking/3proxy.nix +++ b/nixos/modules/services/networking/3proxy.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let pkg = pkgs._3proxy; cfg = config.services._3proxy; optionalList = list: if list == [ ] then "*" else lib.concatMapStringsSep "," toString list; -in { +in +{ options.services._3proxy = { enable = lib.mkEnableOption "3proxy"; confFile = lib.mkOption { @@ -40,176 +46,205 @@ in { ''; }; services = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - type = lib.mkOption { - type = lib.types.enum [ - "proxy" - "socks" - "pop3p" - "ftppr" - "admin" - "dnspr" - "tcppm" - "udppm" - ]; - example = "proxy"; - description = '' - Service type. The following values are valid: + type = lib.types.listOf ( + lib.types.submodule { + options = { + type = lib.mkOption { + type = lib.types.enum [ + "proxy" + "socks" + "pop3p" + "ftppr" + "admin" + "dnspr" + "tcppm" + "udppm" + ]; + example = "proxy"; + description = '' + Service type. The following values are valid: - - `"proxy"`: HTTP/HTTPS proxy (default port 3128). - - `"socks"`: SOCKS 4/4.5/5 proxy (default port 1080). - - `"pop3p"`: POP3 proxy (default port 110). - - `"ftppr"`: FTP proxy (default port 21). - - `"admin"`: Web interface (default port 80). - - `"dnspr"`: Caching DNS proxy (default port 53). - - `"tcppm"`: TCP portmapper. - - `"udppm"`: UDP portmapper. - ''; - }; - bindAddress = lib.mkOption { - type = lib.types.str; - default = "[::]"; - example = "127.0.0.1"; - description = '' - Address used for service. - ''; - }; - bindPort = lib.mkOption { - type = lib.types.nullOr lib.types.int; - default = null; - example = 3128; - description = '' - Override default port used for service. - ''; - }; - maxConnections = lib.mkOption { - type = lib.types.int; - default = 100; - example = 1000; - description = '' - Maximum number of simulationeous connections to this service. - ''; - }; - auth = lib.mkOption { - type = lib.types.listOf (lib.types.enum [ "none" "iponly" "strong" ]); - example = [ "iponly" "strong" ]; - description = '' - Authentication type. The following values are valid: + - `"proxy"`: HTTP/HTTPS proxy (default port 3128). + - `"socks"`: SOCKS 4/4.5/5 proxy (default port 1080). + - `"pop3p"`: POP3 proxy (default port 110). + - `"ftppr"`: FTP proxy (default port 21). + - `"admin"`: Web interface (default port 80). + - `"dnspr"`: Caching DNS proxy (default port 53). + - `"tcppm"`: TCP portmapper. + - `"udppm"`: UDP portmapper. + ''; + }; + bindAddress = lib.mkOption { + type = lib.types.str; + default = "[::]"; + example = "127.0.0.1"; + description = '' + Address used for service. + ''; + }; + bindPort = lib.mkOption { + type = lib.types.nullOr lib.types.int; + default = null; + example = 3128; + description = '' + Override default port used for service. + ''; + }; + maxConnections = lib.mkOption { + type = lib.types.int; + default = 100; + example = 1000; + description = '' + Maximum number of simulationeous connections to this service. + ''; + }; + auth = lib.mkOption { + type = lib.types.listOf ( + lib.types.enum [ + "none" + "iponly" + "strong" + ] + ); + example = [ + "iponly" + "strong" + ]; + description = '' + Authentication type. The following values are valid: - - `"none"`: disables both authentication and authorization. You can not use ACLs. - - `"iponly"`: specifies no authentication. ACLs authorization is used. - - `"strong"`: authentication by username/password. If user is not registered their access is denied regardless of ACLs. + - `"none"`: disables both authentication and authorization. You can not use ACLs. + - `"iponly"`: specifies no authentication. ACLs authorization is used. + - `"strong"`: authentication by username/password. If user is not registered their access is denied regardless of ACLs. - Double authentication is possible, e.g. + Double authentication is possible, e.g. - ``` - { - auth = [ "iponly" "strong" ]; - acl = [ - { - rule = "allow"; - targets = [ "192.168.0.0/16" ]; - } - { - rule = "allow" - users = [ "user1" "user2" ]; - } - ]; - } - ``` - In this example strong username authentication is not required to access 192.168.0.0/16. - ''; - }; - acl = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - rule = lib.mkOption { - type = lib.types.enum [ "allow" "deny" ]; - example = "allow"; - description = '' - ACL rule. The following values are valid: + ``` + { + auth = [ "iponly" "strong" ]; + acl = [ + { + rule = "allow"; + targets = [ "192.168.0.0/16" ]; + } + { + rule = "allow" + users = [ "user1" "user2" ]; + } + ]; + } + ``` + In this example strong username authentication is not required to access 192.168.0.0/16. + ''; + }; + acl = lib.mkOption { + type = lib.types.listOf ( + lib.types.submodule { + options = { + rule = lib.mkOption { + type = lib.types.enum [ + "allow" + "deny" + ]; + example = "allow"; + description = '' + ACL rule. The following values are valid: - - `"allow"`: connections allowed. - - `"deny"`: connections not allowed. - ''; - }; - users = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - example = [ "user1" "user2" "user3" ]; - description = '' - List of users, use empty list for any. - ''; - }; - sources = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - example = [ "127.0.0.1" "192.168.1.0/24" ]; - description = '' - List of source IP range, use empty list for any. - ''; - }; - targets = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ ]; - example = [ "127.0.0.1" "192.168.1.0/24" ]; - description = '' - List of target IP ranges, use empty list for any. - May also contain host names instead of addresses. - It's possible to use wildmask in the beginning and in the the end of hostname, e.g. `*badsite.com` or `*badcontent*`. - Hostname is only checked if hostname presents in request. - ''; - }; - targetPorts = lib.mkOption { - type = lib.types.listOf lib.types.int; - default = [ ]; - example = [ 80 443 ]; - description = '' - List of target ports, use empty list for any. - ''; - }; - }; - }); - default = [ ]; - example = lib.literalExpression '' - [ - { - rule = "allow"; - users = [ "user1" ]; - } - { - rule = "allow"; - sources = [ "192.168.1.0/24" ]; + - `"allow"`: connections allowed. + - `"deny"`: connections not allowed. + ''; + }; + users = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "user1" + "user2" + "user3" + ]; + description = '' + List of users, use empty list for any. + ''; + }; + sources = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "127.0.0.1" + "192.168.1.0/24" + ]; + description = '' + List of source IP range, use empty list for any. + ''; + }; + targets = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "127.0.0.1" + "192.168.1.0/24" + ]; + description = '' + List of target IP ranges, use empty list for any. + May also contain host names instead of addresses. + It's possible to use wildmask in the beginning and in the the end of hostname, e.g. `*badsite.com` or `*badcontent*`. + Hostname is only checked if hostname presents in request. + ''; + }; + targetPorts = lib.mkOption { + type = lib.types.listOf lib.types.int; + default = [ ]; + example = [ + 80 + 443 + ]; + description = '' + List of target ports, use empty list for any. + ''; + }; + }; } - { - rule = "deny"; - } - ] - ''; - description = '' - Use this option to limit user access to resources. - ''; + ); + default = [ ]; + example = lib.literalExpression '' + [ + { + rule = "allow"; + users = [ "user1" ]; + } + { + rule = "allow"; + sources = [ "192.168.1.0/24" ]; + } + { + rule = "deny"; + } + ] + ''; + description = '' + Use this option to limit user access to resources. + ''; + }; + extraArguments = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "-46"; + description = '' + Extra arguments for service. + Consult "Options" section in [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available arguments. + ''; + }; + extraConfig = lib.mkOption { + type = lib.types.nullOr lib.types.lines; + default = null; + description = '' + Extra configuration for service. Use this to configure things like bandwidth limiter or ACL-based redirection. + Consult [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available options. + ''; + }; }; - extraArguments = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - example = "-46"; - description = '' - Extra arguments for service. - Consult "Options" section in [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available arguments. - ''; - }; - extraConfig = lib.mkOption { - type = lib.types.nullOr lib.types.lines; - default = null; - description = '' - Extra configuration for service. Use this to configure things like bandwidth limiter or ACL-based redirection. - Consult [documentation](https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg) for available options. - ''; - }; - }; - }); + } + ); default = [ ]; example = lib.literalExpression '' [ @@ -267,7 +302,10 @@ in { nserver = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "127.0.0.53" "192.168.1.3:5353/tcp" ]; + example = [ + "127.0.0.53" + "192.168.1.3:5353/tcp" + ]; description = '' List of nameservers to use. @@ -314,54 +352,52 @@ in { }; config = lib.mkIf cfg.enable { - services._3proxy.confFile = lib.mkDefault (pkgs.writeText "3proxy.conf" '' - # log to stdout - log + services._3proxy.confFile = lib.mkDefault ( + pkgs.writeText "3proxy.conf" '' + # log to stdout + log - ${lib.concatMapStringsSep "\n" (x: "nserver " + x) cfg.resolution.nserver} + ${lib.concatMapStringsSep "\n" (x: "nserver " + x) cfg.resolution.nserver} - nscache ${toString cfg.resolution.nscache} - nscache6 ${toString cfg.resolution.nscache6} + nscache ${toString cfg.resolution.nscache} + nscache6 ${toString cfg.resolution.nscache6} - ${lib.concatMapStringsSep "\n" (x: "nsrecord " + x) - (lib.mapAttrsToList (name: value: "${name} ${value}") - cfg.resolution.nsrecord)} + ${lib.concatMapStringsSep "\n" (x: "nsrecord " + x) ( + lib.mapAttrsToList (name: value: "${name} ${value}") cfg.resolution.nsrecord + )} - ${lib.optionalString (cfg.usersFile != null) - ''users $"${cfg.usersFile}"'' - } + ${lib.optionalString (cfg.usersFile != null) ''users $"${cfg.usersFile}"''} - ${lib.concatMapStringsSep "\n" (service: '' - auth ${lib.concatStringsSep " " service.auth} + ${lib.concatMapStringsSep "\n" (service: '' + auth ${lib.concatStringsSep " " service.auth} - ${lib.optionalString (cfg.denyPrivate) - "deny * * ${optionalList cfg.privateRanges}"} + ${lib.optionalString (cfg.denyPrivate) "deny * * ${optionalList cfg.privateRanges}"} - ${lib.concatMapStringsSep "\n" (acl: - "${acl.rule} ${ - lib.concatMapStringsSep " " optionalList [ - acl.users - acl.sources - acl.targets - acl.targetPorts - ] - }") service.acl} + ${lib.concatMapStringsSep "\n" ( + acl: + "${acl.rule} ${ + lib.concatMapStringsSep " " optionalList [ + acl.users + acl.sources + acl.targets + acl.targetPorts + ] + }" + ) service.acl} - maxconn ${toString service.maxConnections} + maxconn ${toString service.maxConnections} - ${lib.optionalString (service.extraConfig != null) service.extraConfig} + ${lib.optionalString (service.extraConfig != null) service.extraConfig} - ${service.type} -i${toString service.bindAddress} ${ - lib.optionalString (service.bindPort != null) - "-p${toString service.bindPort}" - } ${ - lib.optionalString (service.extraArguments != null) service.extraArguments - } + ${service.type} -i${toString service.bindAddress} ${ + lib.optionalString (service.bindPort != null) "-p${toString service.bindPort}" + } ${lib.optionalString (service.extraArguments != null) service.extraArguments} - flush - '') cfg.services} - ${lib.optionalString (cfg.extraConfig != null) cfg.extraConfig} - ''); + flush + '') cfg.services} + ${lib.optionalString (cfg.extraConfig != null) cfg.extraConfig} + '' + ); systemd.services."3proxy" = { description = "Tiny free proxy server"; documentation = [ "https://github.com/z3APA3A/3proxy/wiki" ]; diff --git a/nixos/modules/services/networking/acme-dns.nix b/nixos/modules/services/networking/acme-dns.nix index 08e0e1d173173..665f0bd8fd927 100644 --- a/nixos/modules/services/networking/acme-dns.nix +++ b/nixos/modules/services/networking/acme-dns.nix @@ -1,7 +1,8 @@ -{ lib -, config -, pkgs -, ... +{ + lib, + config, + pkgs, + ... }: let @@ -42,7 +43,17 @@ in }; protocol = mkOption { - type = types.enum [ "both" "both4" "both6" "udp" "udp4" "udp6" "tcp" "tcp4" "tcp6" ]; + type = types.enum [ + "both" + "both4" + "both6" + "udp" + "udp4" + "udp6" + "tcp" + "tcp4" + "tcp6" + ]; description = "Protocols to serve DNS responses on."; default = "both"; }; @@ -83,7 +94,10 @@ in database = { engine = mkOption { - type = types.enum [ "sqlite3" "postgres" ]; + type = types.enum [ + "sqlite3" + "postgres" + ]; description = "Database engine to use."; default = "sqlite3"; }; @@ -119,16 +133,25 @@ in }; tls = mkOption { - type = types.enum [ "letsencrypt" "letsencryptstaging" "cert" "none" ]; + type = types.enum [ + "letsencrypt" + "letsencryptstaging" + "cert" + "none" + ]; description = "TLS backend to use."; default = "none"; }; }; - logconfig = { loglevel = mkOption { - type = types.enum [ "error" "warning" "info" "debug" ]; + type = types.enum [ + "error" + "warning" + "info" + "debug" + ]; description = "Level to log on."; default = "info"; }; @@ -143,7 +166,10 @@ in systemd.services.acme-dns = { wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = [ "" "${lib.getExe cfg.package} -c ${format.generate "acme-dns.toml" cfg.settings}" ]; + ExecStart = [ + "" + "${lib.getExe cfg.package} -c ${format.generate "acme-dns.toml" cfg.settings}" + ]; StateDirectory = "acme-dns"; WorkingDirectory = "%S/acme-dns"; DynamicUser = true; diff --git a/nixos/modules/services/networking/adguardhome.nix b/nixos/modules/services/networking/adguardhome.nix index dab81ce18b299..fc23d2af0b22d 100644 --- a/nixos/modules/services/networking/adguardhome.nix +++ b/nixos/modules/services/networking/adguardhome.nix @@ -1,30 +1,45 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.adguardhome; settingsFormat = pkgs.formats.yaml { }; - args = lib.concatStringsSep " " ([ - "--no-check-update" - "--pidfile /run/AdGuardHome/AdGuardHome.pid" - "--work-dir /var/lib/AdGuardHome/" - "--config /var/lib/AdGuardHome/AdGuardHome.yaml" - ] ++ cfg.extraArgs); - - settings = if (cfg.settings != null) then - cfg.settings // (if cfg.settings.schema_version < 23 then { - bind_host = cfg.host; - bind_port = cfg.port; - } else { - http.address = "${cfg.host}:${toString cfg.port}"; - }) - else - null; - - configFile = - (settingsFormat.generate "AdGuardHome.yaml" settings).overrideAttrs (_: { - checkPhase = "${cfg.package}/bin/adguardhome -c $out --check-config"; - }); -in { + args = lib.concatStringsSep " " ( + [ + "--no-check-update" + "--pidfile /run/AdGuardHome/AdGuardHome.pid" + "--work-dir /var/lib/AdGuardHome/" + "--config /var/lib/AdGuardHome/AdGuardHome.yaml" + ] + ++ cfg.extraArgs + ); + + settings = + if (cfg.settings != null) then + cfg.settings + // ( + if cfg.settings.schema_version < 23 then + { + bind_host = cfg.host; + bind_port = cfg.port; + } + else + { + http.address = "${cfg.host}:${toString cfg.port}"; + } + ) + else + null; + + configFile = (settingsFormat.generate "AdGuardHome.yaml" settings).overrideAttrs (_: { + checkPhase = "${cfg.package}/bin/adguardhome -c $out --check-config"; + }); +in +{ options.services.adguardhome = with lib.types; { enable = lib.mkEnableOption "AdGuard Home network-wide ad blocker"; @@ -130,24 +145,24 @@ in { config = lib.mkIf cfg.enable { assertions = [ { - assertion = cfg.settings != null - -> !(lib.hasAttrByPath [ "bind_host" ] cfg.settings); + assertion = cfg.settings != null -> !(lib.hasAttrByPath [ "bind_host" ] cfg.settings); message = "AdGuard option `settings.bind_host' has been superseded by `services.adguardhome.host'"; } { - assertion = cfg.settings != null - -> !(lib.hasAttrByPath [ "bind_port" ] cfg.settings); + assertion = cfg.settings != null -> !(lib.hasAttrByPath [ "bind_port" ] cfg.settings); message = "AdGuard option `settings.bind_port' has been superseded by `services.adguardhome.port'"; } { - assertion = settings != null -> cfg.mutableSettings - || lib.hasAttrByPath [ "dns" "bootstrap_dns" ] settings; + assertion = + settings != null -> cfg.mutableSettings || lib.hasAttrByPath [ "dns" "bootstrap_dns" ] settings; message = "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration"; } { - assertion = settings != null -> cfg.mutableSettings - || lib.hasAttrByPath [ "dns" "bootstrap_dns" ] settings - && lib.isList settings.dns.bootstrap_dns; + assertion = + settings != null + -> + cfg.mutableSettings + || lib.hasAttrByPath [ "dns" "bootstrap_dns" ] settings && lib.isList settings.dns.bootstrap_dns; message = "AdGuard setting dns.bootstrap_dns needs to be a list"; } ]; @@ -181,8 +196,7 @@ in { serviceConfig = { DynamicUser = true; ExecStart = "${lib.getExe cfg.package} ${args}"; - AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ] - ++ lib.optionals cfg.allowDHCP [ "CAP_NET_RAW" ]; + AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ] ++ lib.optionals cfg.allowDHCP [ "CAP_NET_RAW" ]; Restart = "always"; RestartSec = 10; RuntimeDirectory = "AdGuardHome"; diff --git a/nixos/modules/services/networking/alice-lg.nix b/nixos/modules/services/networking/alice-lg.nix index c43f898bd7d3d..6c322f4cf633b 100644 --- a/nixos/modules/services/networking/alice-lg.nix +++ b/nixos/modules/services/networking/alice-lg.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.alice-lg; settingsFormat = pkgs.formats.ini { }; diff --git a/nixos/modules/services/networking/aria2.nix b/nixos/modules/services/networking/aria2.nix index e0a41491e61c5..3e0961c753cbc 100644 --- a/nixos/modules/services/networking/aria2.nix +++ b/nixos/modules/services/networking/aria2.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.aria2; @@ -7,30 +12,49 @@ let defaultRpcListenPort = 6800; defaultDir = "${homeDir}/Downloads"; - portRangesToString = ranges: lib.concatStringsSep "," (map - (x: - if x.from == x.to - then builtins.toString x.from - else builtins.toString x.from + "-" + builtins.toString x.to - ) - ranges); + portRangesToString = + ranges: + lib.concatStringsSep "," ( + map ( + x: + if x.from == x.to then + builtins.toString x.from + else + builtins.toString x.from + "-" + builtins.toString x.to + ) ranges + ); customToKeyValue = lib.generators.toKeyValue { - mkKeyValue = lib.generators.mkKeyValueDefault - { - mkValueString = v: - if builtins.isList v then portRangesToString v - else lib.generators.mkValueStringDefault { } v; - } "="; + mkKeyValue = lib.generators.mkKeyValueDefault { + mkValueString = + v: if builtins.isList v then portRangesToString v else lib.generators.mkValueStringDefault { } v; + } "="; }; in { imports = [ - (lib.mkRemovedOptionModule [ "services" "aria2" "rpcSecret" ] "Use services.aria2.rpcSecretFile instead") - (lib.mkRemovedOptionModule [ "services" "aria2" "extraArguments" ] "Use services.aria2.settings instead") - (lib.mkRenamedOptionModule [ "services" "aria2" "downloadDir" ] [ "services" "aria2" "settings" "dir" ]) - (lib.mkRenamedOptionModule [ "services" "aria2" "listenPortRange" ] [ "services" "aria2" "settings" "listen-port" ]) - (lib.mkRenamedOptionModule [ "services" "aria2" "rpcListenPort" ] [ "services" "aria2" "settings" "rpc-listen-port" ]) + (lib.mkRemovedOptionModule [ + "services" + "aria2" + "rpcSecret" + ] "Use services.aria2.rpcSecretFile instead") + (lib.mkRemovedOptionModule [ + "services" + "aria2" + "extraArguments" + ] "Use services.aria2.settings instead") + (lib.mkRenamedOptionModule + [ "services" "aria2" "downloadDir" ] + [ "services" "aria2" "settings" "dir" ] + ) + (lib.mkRenamedOptionModule + [ "services" "aria2" "listenPortRange" ] + [ "services" "aria2" "settings" "listen-port" ] + ) + (lib.mkRenamedOptionModule + [ "services" "aria2" "rpcListenPort" ] + [ "services" "aria2" "settings" "rpc-listen-port" ] + ) ]; options = { @@ -101,7 +125,14 @@ in ''; default = { }; type = lib.types.submodule { - freeformType = with lib.types; attrsOf (oneOf [ bool int float singleLineStr ]); + freeformType = + with lib.types; + attrsOf (oneOf [ + bool + int + float + singleLineStr + ]); options = { save-session = lib.mkOption { type = lib.types.singleLineStr; @@ -125,7 +156,12 @@ in }; listen-port = lib.mkOption { type = with lib.types; listOf (attrsOf port); - default = [{ from = 6881; to = 6999; }]; + default = [ + { + from = 6881; + to = 6999; + } + ]; description = "Set UDP listening port range used by DHT(IPv4, IPv6) and UDP tracker."; }; rpc-listen-port = lib.mkOption { diff --git a/nixos/modules/services/networking/asterisk.nix b/nixos/modules/services/networking/asterisk.nix index f165974f2ae72..28b169f097827 100644 --- a/nixos/modules/services/networking/asterisk.nix +++ b/nixos/modules/services/networking/asterisk.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.asterisk; @@ -11,42 +16,45 @@ let # Add filecontents from files of useTheseDefaultConfFiles to confFiles, do not override defaultConfFiles = lib.subtractLists (lib.attrNames cfg.confFiles) cfg.useTheseDefaultConfFiles; - allConfFiles = { - # Default asterisk.conf file - "asterisk.conf".text = '' - [directories] - astetcdir => /etc/asterisk - astmoddir => ${cfg.package}/lib/asterisk/modules - astvarlibdir => /var/lib/asterisk - astdbdir => /var/lib/asterisk - astkeydir => /var/lib/asterisk - astdatadir => /var/lib/asterisk - astagidir => /var/lib/asterisk/agi-bin - astspooldir => /var/spool/asterisk - astrundir => /run/asterisk - astlogdir => /var/log/asterisk - astsbindir => ${cfg.package}/sbin - ${cfg.extraConfig} - ''; - - # Loading all modules by default is considered sensible by the authors of - # "Asterisk: The Definitive Guide". Secure sites will likely want to - # specify their own "modules.conf" in the confFiles option. - "modules.conf".text = '' - [modules] - autoload=yes - ''; - - # Use syslog for logging so logs can be viewed with journalctl - "logger.conf".text = '' - [general] - - [logfiles] - syslog.local0 => notice,warning,error - ''; - } // - lib.mapAttrs (name: text: { inherit text; }) cfg.confFiles // - lib.listToAttrs (map (x: lib.nameValuePair x { source = cfg.package + "/etc/asterisk/" + x; }) defaultConfFiles); + allConfFiles = + { + # Default asterisk.conf file + "asterisk.conf".text = '' + [directories] + astetcdir => /etc/asterisk + astmoddir => ${cfg.package}/lib/asterisk/modules + astvarlibdir => /var/lib/asterisk + astdbdir => /var/lib/asterisk + astkeydir => /var/lib/asterisk + astdatadir => /var/lib/asterisk + astagidir => /var/lib/asterisk/agi-bin + astspooldir => /var/spool/asterisk + astrundir => /run/asterisk + astlogdir => /var/log/asterisk + astsbindir => ${cfg.package}/sbin + ${cfg.extraConfig} + ''; + + # Loading all modules by default is considered sensible by the authors of + # "Asterisk: The Definitive Guide". Secure sites will likely want to + # specify their own "modules.conf" in the confFiles option. + "modules.conf".text = '' + [modules] + autoload=yes + ''; + + # Use syslog for logging so logs can be viewed with journalctl + "logger.conf".text = '' + [general] + + [logfiles] + syslog.local0 => notice,warning,error + ''; + } + // lib.mapAttrs (name: text: { inherit text; }) cfg.confFiles + // lib.listToAttrs ( + map (x: lib.nameValuePair x { source = cfg.package + "/etc/asterisk/" + x; }) defaultConfFiles + ); in @@ -76,53 +84,52 @@ in }; confFiles = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.str; - example = lib.literalExpression - '' - { - "extensions.conf" = ''' - [tests] - ; Dial 100 for "hello, world" - exten => 100,1,Answer() - same => n,Wait(1) - same => n,Playback(hello-world) - same => n,Hangup() - - [softphones] - include => tests - - [unauthorized] - '''; - "sip.conf" = ''' - [general] - allowguest=no ; Require authentication - context=unauthorized ; Send unauthorized users to /dev/null - srvlookup=no ; Don't do DNS lookup - udpbindaddr=0.0.0.0 ; Listen on all interfaces - nat=force_rport,comedia ; Assume device is behind NAT - - [softphone](!) - type=friend ; Match on username first, IP second - context=softphones ; Send to softphones context in - ; extensions.conf file - host=dynamic ; Device will register with asterisk - disallow=all ; Manually specify codecs to allow - allow=g722 - allow=ulaw - allow=alaw - - [myphone](softphone) - secret=GhoshevFew ; Change this password! - '''; - "logger.conf" = ''' - [general] - - [logfiles] - ; Add debug output to log - syslog.local0 => notice,warning,error,debug - '''; - } + example = lib.literalExpression '' + { + "extensions.conf" = ''' + [tests] + ; Dial 100 for "hello, world" + exten => 100,1,Answer() + same => n,Wait(1) + same => n,Playback(hello-world) + same => n,Hangup() + + [softphones] + include => tests + + [unauthorized] + '''; + "sip.conf" = ''' + [general] + allowguest=no ; Require authentication + context=unauthorized ; Send unauthorized users to /dev/null + srvlookup=no ; Don't do DNS lookup + udpbindaddr=0.0.0.0 ; Listen on all interfaces + nat=force_rport,comedia ; Assume device is behind NAT + + [softphone](!) + type=friend ; Match on username first, IP second + context=softphones ; Send to softphones context in + ; extensions.conf file + host=dynamic ; Device will register with asterisk + disallow=all ; Manually specify codecs to allow + allow=g722 + allow=ulaw + allow=alaw + + [myphone](softphone) + secret=GhoshevFew ; Change this password! + '''; + "logger.conf" = ''' + [general] + + [logfiles] + ; Add debug output to log + syslog.local0 => notice,warning,error,debug + '''; + } ''; description = '' Sets the content of config files (typically ending with @@ -142,20 +149,54 @@ in }; useTheseDefaultConfFiles = lib.mkOption { - default = [ "ari.conf" "acl.conf" "agents.conf" "amd.conf" "calendar.conf" "cdr.conf" "cdr_syslog.conf" "cdr_custom.conf" "cel.conf" "cel_custom.conf" "cli_aliases.conf" "confbridge.conf" "dundi.conf" "features.conf" "hep.conf" "iax.conf" "pjsip.conf" "pjsip_wizard.conf" "phone.conf" "phoneprov.conf" "queues.conf" "res_config_sqlite3.conf" "res_parking.conf" "statsd.conf" "udptl.conf" "unistim.conf" ]; + default = [ + "ari.conf" + "acl.conf" + "agents.conf" + "amd.conf" + "calendar.conf" + "cdr.conf" + "cdr_syslog.conf" + "cdr_custom.conf" + "cel.conf" + "cel_custom.conf" + "cli_aliases.conf" + "confbridge.conf" + "dundi.conf" + "features.conf" + "hep.conf" + "iax.conf" + "pjsip.conf" + "pjsip_wizard.conf" + "phone.conf" + "phoneprov.conf" + "queues.conf" + "res_config_sqlite3.conf" + "res_parking.conf" + "statsd.conf" + "udptl.conf" + "unistim.conf" + ]; type = lib.types.listOf lib.types.str; - example = [ "sip.conf" "dundi.conf" ]; - description = ''Sets these config files to the default content. The default value for - this option contains all necesscary files to avoid errors at startup. - This does not override settings via {option}`services.asterisk.confFiles`. + example = [ + "sip.conf" + "dundi.conf" + ]; + description = '' + Sets these config files to the default content. The default value for + this option contains all necesscary files to avoid errors at startup. + This does not override settings via {option}`services.asterisk.confFiles`. ''; }; extraArguments = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; - example = - [ "-vvvddd" "-e" "1024" ]; + example = [ + "-vvvddd" + "-e" + "1024" + ]; description = '' Additional command line arguments to pass to Asterisk. ''; @@ -167,22 +208,22 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; - environment.etc = lib.mapAttrs' (name: value: - lib.nameValuePair "asterisk/${name}" value + environment.etc = lib.mapAttrs' ( + name: value: lib.nameValuePair "asterisk/${name}" value ) allConfFiles; - users.users.asterisk = - { name = asteriskUser; - group = asteriskGroup; - uid = config.ids.uids.asterisk; - description = "Asterisk daemon user"; - home = varlibdir; - }; + users.users.asterisk = { + name = asteriskUser; + group = asteriskGroup; + uid = config.ids.uids.asterisk; + description = "Asterisk daemon user"; + home = varlibdir; + }; - users.groups.asterisk = - { name = asteriskGroup; - gid = config.ids.gids.asterisk; - }; + users.groups.asterisk = { + name = asteriskGroup; + gid = config.ids.gids.asterisk; + }; systemd.services.asterisk = { description = '' @@ -214,8 +255,9 @@ in argString = lib.concatStringsSep " " cfg.extraArguments; in "${cfg.package}/bin/asterisk -U ${asteriskUser} -C /etc/asterisk/asterisk.conf ${argString} -F"; - ExecReload = ''${cfg.package}/bin/asterisk -x "core reload" - ''; + ExecReload = '' + ${cfg.package}/bin/asterisk -x "core reload" + ''; Type = "forking"; PIDFile = "/run/asterisk/asterisk.pid"; }; diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix index ab674d85715c6..b2446dcbd65b8 100644 --- a/nixos/modules/services/networking/atftpd.nix +++ b/nixos/modules/services/networking/atftpd.nix @@ -1,5 +1,10 @@ # NixOS module for atftpd TFTP server -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.atftpd; @@ -22,7 +27,7 @@ in }; extraOptions = lib.mkOption { - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; example = lib.literalExpression '' [ "--bind-address 192.168.9.1" diff --git a/nixos/modules/services/networking/autossh.nix b/nixos/modules/services/networking/autossh.nix index f8934845c28e2..d40c7b5cb4153 100644 --- a/nixos/modules/services/networking/autossh.nix +++ b/nixos/modules/services/networking/autossh.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.autossh; @@ -14,43 +19,45 @@ in services.autossh = { sessions = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - name = lib.mkOption { - type = lib.types.str; - example = "socks-peer"; - description = "Name of the local AutoSSH session"; - }; - user = lib.mkOption { - type = lib.types.str; - example = "bill"; - description = "Name of the user the AutoSSH session should run as"; - }; - monitoringPort = lib.mkOption { - type = lib.types.int; - default = 0; - example = 20000; - description = '' - Port to be used by AutoSSH for peer monitoring. Note, that - AutoSSH also uses mport+1. Value of 0 disables the keep-alive - style monitoring - ''; - }; - extraArguments = lib.mkOption { - type = lib.types.separatedString " "; - example = "-N -D4343 bill@socks.example.net"; - description = '' - Arguments to be passed to AutoSSH and retransmitted to SSH - process. Some meaningful options include -N (don't run remote - command), -D (open SOCKS proxy on local port), -R (forward - remote port), -L (forward local port), -v (Enable debug). Check - ssh manual for the complete list. - ''; + type = lib.types.listOf ( + lib.types.submodule { + options = { + name = lib.mkOption { + type = lib.types.str; + example = "socks-peer"; + description = "Name of the local AutoSSH session"; + }; + user = lib.mkOption { + type = lib.types.str; + example = "bill"; + description = "Name of the user the AutoSSH session should run as"; + }; + monitoringPort = lib.mkOption { + type = lib.types.int; + default = 0; + example = 20000; + description = '' + Port to be used by AutoSSH for peer monitoring. Note, that + AutoSSH also uses mport+1. Value of 0 disables the keep-alive + style monitoring + ''; + }; + extraArguments = lib.mkOption { + type = lib.types.separatedString " "; + example = "-N -D4343 bill@socks.example.net"; + description = '' + Arguments to be passed to AutoSSH and retransmitted to SSH + process. Some meaningful options include -N (don't run remote + command), -D (open SOCKS proxy on local port), -R (forward + remote port), -L (forward local port), -v (Enable debug). Check + ssh manual for the complete list. + ''; + }; }; - }; - }); + } + ); - default = []; + default = [ ]; description = '' List of AutoSSH sessions to start as systemd services. Each service is named 'autossh-{session.name}'. @@ -58,10 +65,10 @@ in example = [ { - name="socks-peer"; - user="bill"; + name = "socks-peer"; + user = "bill"; monitoringPort = 20000; - extraArguments="-N -D4343 billremote@socks.host.net"; + extraArguments = "-N -D4343 billremote@socks.host.net"; } ]; @@ -72,12 +79,14 @@ in ###### implementation - config = lib.mkIf (cfg.sessions != []) { + config = lib.mkIf (cfg.sessions != [ ]) { systemd.services = - lib.foldr ( s : acc : acc // - { + lib.foldr ( + s: acc: + acc + // { "autossh-${s.name}" = let mport = if s ? monitoringPort then s.monitoringPort else 0; @@ -89,20 +98,21 @@ in wantedBy = [ "multi-user.target" ]; # To be able to start the service with no network connection - environment.AUTOSSH_GATETIME="0"; + environment.AUTOSSH_GATETIME = "0"; # How often AutoSSH checks the network, in seconds - environment.AUTOSSH_POLL="30"; + environment.AUTOSSH_POLL = "30"; serviceConfig = { - User = "${s.user}"; - # AutoSSH may exit with 0 code if the SSH session was - # gracefully terminated by either local or remote side. - Restart = "on-success"; - ExecStart = "${pkgs.autossh}/bin/autossh -M ${toString mport} ${s.extraArguments}"; + User = "${s.user}"; + # AutoSSH may exit with 0 code if the SSH session was + # gracefully terminated by either local or remote side. + Restart = "on-success"; + ExecStart = "${pkgs.autossh}/bin/autossh -M ${toString mport} ${s.extraArguments}"; }; }; - }) {} cfg.sessions; + } + ) { } cfg.sessions; environment.systemPackages = [ pkgs.autossh ]; diff --git a/nixos/modules/services/networking/babeld.nix b/nixos/modules/services/networking/babeld.nix index 538654f90ae4c..bc5574139d35f 100644 --- a/nixos/modules/services/networking/babeld.nix +++ b/nixos/modules/services/networking/babeld.nix @@ -1,29 +1,41 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.babeld; - conditionalBoolToString = value: if (lib.isBool value) then (lib.boolToString value) else (toString value); + conditionalBoolToString = + value: if (lib.isBool value) then (lib.boolToString value) else (toString value); - paramsString = params: - lib.concatMapStringsSep " " (name: "${name} ${conditionalBoolToString (lib.getAttr name params)}") - (lib.attrNames params); + paramsString = + params: + lib.concatMapStringsSep " " (name: "${name} ${conditionalBoolToString (lib.getAttr name params)}") ( + lib.attrNames params + ); - interfaceConfig = name: + interfaceConfig = + name: let interface = lib.getAttr name cfg.interfaces; in "interface ${name} ${paramsString interface}\n"; - configFile = with cfg; pkgs.writeText "babeld.conf" ( - '' - skip-kernel-setup true - '' - + (lib.optionalString (cfg.interfaceDefaults != null) '' - default ${paramsString cfg.interfaceDefaults} - '') - + (lib.concatMapStrings interfaceConfig (lib.attrNames cfg.interfaces)) - + extraConfig); + configFile = + with cfg; + pkgs.writeText "babeld.conf" ( + '' + skip-kernel-setup true + '' + + (lib.optionalString (cfg.interfaceDefaults != null) '' + default ${paramsString cfg.interfaceDefaults} + '') + + (lib.concatMapStrings interfaceConfig (lib.attrNames cfg.interfaces)) + + extraConfig + ); in @@ -46,27 +58,26 @@ in See {manpage}`babeld(8)` for options. ''; type = lib.types.nullOr (lib.types.attrsOf lib.types.unspecified); - example = - { - type = "tunnel"; - split-horizon = true; - }; + example = { + type = "tunnel"; + split-horizon = true; + }; }; interfaces = lib.mkOption { - default = {}; + default = { }; description = '' A set describing babeld interfaces. See {manpage}`babeld(8)` for options. ''; type = lib.types.attrsOf (lib.types.attrsOf lib.types.unspecified); - example = - { enp0s2 = - { type = "wired"; - hello-interval = 5; - split-horizon = "auto"; - }; + example = { + enp0s2 = { + type = "wired"; + hello-interval = 5; + split-horizon = "auto"; }; + }; }; extraConfig = lib.mkOption { @@ -81,17 +92,20 @@ in }; - ###### implementation config = lib.mkIf config.services.babeld.enable { - boot.kernel.sysctl = { - "net.ipv6.conf.all.forwarding" = 1; - "net.ipv6.conf.all.accept_redirects" = 0; - "net.ipv4.conf.all.forwarding" = 1; - "net.ipv4.conf.all.rp_filter" = 0; - } // lib.mapAttrs' (ifname: _: lib.nameValuePair "net.ipv4.conf.${ifname}.rp_filter" (lib.mkDefault 0)) config.services.babeld.interfaces; + boot.kernel.sysctl = + { + "net.ipv6.conf.all.forwarding" = 1; + "net.ipv6.conf.all.accept_redirects" = 0; + "net.ipv4.conf.all.forwarding" = 1; + "net.ipv4.conf.all.rp_filter" = 0; + } + // lib.mapAttrs' ( + ifname: _: lib.nameValuePair "net.ipv4.conf.${ifname}.rp_filter" (lib.mkDefault 0) + ) config.services.babeld.interfaces; systemd.services.babeld = { description = "Babel routing daemon"; @@ -103,7 +117,12 @@ in CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; DevicePolicy = "closed"; DynamicUser = true; - IPAddressAllow = [ "fe80::/64" "ff00::/8" "::1/128" "127.0.0.0/8" ]; + IPAddressAllow = [ + "fe80::/64" + "ff00::/8" + "::1/128" + "127.0.0.0/8" + ]; IPAddressDeny = "any"; LockPersonality = true; NoNewPrivileges = true; @@ -114,7 +133,11 @@ in ProtectKernelModules = true; ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_NETLINK" "AF_INET6" "AF_INET" ]; + RestrictAddressFamilies = [ + "AF_NETLINK" + "AF_INET6" + "AF_INET" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/networking/bee.nix b/nixos/modules/services/networking/bee.nix index 6f3f7af607fbf..82710ca45570d 100644 --- a/nixos/modules/services/networking/bee.nix +++ b/nixos/modules/services/networking/bee.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bee; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; configFile = format.generate "bee.yaml" cfg.settings; -in { +in +{ meta = { # doc = ./bee.xml; maintainers = [ ]; @@ -59,12 +65,15 @@ in { config = lib.mkIf cfg.enable { assertions = [ - { assertion = (lib.hasAttr "password" cfg.settings) != true; + { + assertion = (lib.hasAttr "password" cfg.settings) != true; message = '' `services.bee.settings.password` is insecure. Use `services.bee.settings.password-file` or `systemd.services.bee.serviceConfig.EnvironmentFile` instead. ''; } - { assertion = (lib.hasAttr "swap-endpoint" cfg.settings) || (cfg.settings.swap-enable or true == false); + { + assertion = + (lib.hasAttr "swap-endpoint" cfg.settings) || (cfg.settings.swap-enable or true == false); message = '' In a swap-enabled network a working Ethereum blockchain node is required. You must specify one using `services.bee.settings.swap-endpoint`, or disable `services.bee.settings.swap-enable` = false. ''; @@ -72,10 +81,10 @@ in { ]; services.bee.settings = { - data-dir = lib.mkDefault "/var/lib/bee"; - password-file = lib.mkDefault "/var/lib/bee/password"; - clef-signer-enable = lib.mkDefault true; - swap-endpoint = lib.mkDefault "https://rpc.slock.it/goerli"; + data-dir = lib.mkDefault "/var/lib/bee"; + password-file = lib.mkDefault "/var/lib/bee/password"; + clef-signer-enable = lib.mkDefault true; + swap-endpoint = lib.mkDefault "https://rpc.slock.it/goerli"; }; systemd.packages = [ cfg.package ]; # include the upstream bee.service file @@ -98,22 +107,22 @@ in { }; preStart = with cfg.settings; '' - if ! test -f ${password-file}; then - < /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 | install -m 600 /dev/stdin ${password-file} - echo "Initialized ${password-file} from /dev/urandom" - fi - if [ ! -f ${data-dir}/keys/libp2p.key ]; then - ${cfg.package}/bin/bee init --config=${configFile} >/dev/null - echo " -Logs: journalctl -f -u bee.service - -Bee has SWAP enabled by default and it needs ethereum endpoint to operate. -It is recommended to use external signer with bee. -Check documentation for more info: -- SWAP https://docs.ethswarm.org/docs/installation/manual#swap-bandwidth-incentives - -After you finish configuration run 'sudo bee-get-addr'." - fi + if ! test -f ${password-file}; then + < /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 | install -m 600 /dev/stdin ${password-file} + echo "Initialized ${password-file} from /dev/urandom" + fi + if [ ! -f ${data-dir}/keys/libp2p.key ]; then + ${cfg.package}/bin/bee init --config=${configFile} >/dev/null + echo " + Logs: journalctl -f -u bee.service + + Bee has SWAP enabled by default and it needs ethereum endpoint to operate. + It is recommended to use external signer with bee. + Check documentation for more info: + - SWAP https://docs.ethswarm.org/docs/installation/manual#swap-bandwidth-incentives + + After you finish configuration run 'sudo bee-get-addr'." + fi ''; }; @@ -127,7 +136,7 @@ After you finish configuration run 'sudo bee-get-addr'." }; users.groups = lib.optionalAttrs (cfg.group == "bee") { - bee = {}; + bee = { }; }; }; } diff --git a/nixos/modules/services/networking/biboumi.nix b/nixos/modules/services/networking/biboumi.nix index 33cb1d95bc51f..c9259cf82ccbf 100644 --- a/nixos/modules/services/networking/biboumi.nix +++ b/nixos/modules/services/networking/biboumi.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, options, ... }: +{ + config, + lib, + pkgs, + options, + ... +}: let cfg = config.services.biboumi; inherit (config.environment) etc; @@ -6,9 +12,9 @@ let stateDir = "/var/lib/biboumi"; settingsFile = pkgs.writeText "biboumi.cfg" ( lib.generators.toKeyValue { - mkKeyValue = k: v: - lib.optionalString (v != null) (lib.generators.mkKeyValueDefault {} "=" k v); - } cfg.settings); + mkKeyValue = k: v: lib.optionalString (v != null) (lib.generators.mkKeyValueDefault { } "=" k v); + } cfg.settings + ); need_CAP_NET_BIND_SERVICE = cfg.settings.identd_port != 0 && cfg.settings.identd_port < 1024; in { @@ -21,16 +27,24 @@ in See [biboumi 8.5](https://lab.louiz.org/louiz/biboumi/blob/8.5/doc/biboumi.1.rst) for documentation. ''; - default = {}; + default = { }; type = lib.types.submodule { - freeformType = with lib.types; - (attrsOf (nullOr (oneOf [str int bool]))) // { + freeformType = + with lib.types; + (attrsOf ( + nullOr (oneOf [ + str + int + bool + ]) + )) + // { description = "settings option"; }; options.admin = lib.mkOption { type = with lib.types; listOf str; - default = []; - example = ["admin@example.org"]; + default = [ ]; + example = [ "admin@example.org" ]; apply = lib.concatStringsSep ":"; description = '' The bare JID of the gateway administrator. This JID will have more @@ -169,8 +183,9 @@ in }; config = lib.mkIf cfg.enable { - networking.firewall = lib.mkIf (cfg.openFirewall && cfg.settings.identd_port != 0) - { allowedTCPPorts = [ cfg.settings.identd_port ]; }; + networking.firewall = lib.mkIf (cfg.openFirewall && cfg.settings.identd_port != 0) { + allowedTCPPorts = [ cfg.settings.identd_port ]; + }; systemd.services.biboumi = { description = "Biboumi, XMPP to IRC gateway"; @@ -183,11 +198,16 @@ in WatchdogSec = 20; Restart = "always"; # Use "+" because credentialsFile may not be accessible to User= or Group=. - ExecStartPre = [("+" + pkgs.writeShellScript "biboumi-prestart" '' - set -eux - cat ${settingsFile} '${cfg.credentialsFile}' | - install -m 644 /dev/stdin /run/biboumi/biboumi.cfg - '')]; + ExecStartPre = [ + ( + "+" + + pkgs.writeShellScript "biboumi-prestart" '' + set -eux + cat ${settingsFile} '${cfg.credentialsFile}' | + install -m 644 /dev/stdin /run/biboumi/biboumi.cfg + '' + ) + ]; ExecStart = "${pkgs.biboumi}/bin/biboumi /run/biboumi/biboumi.cfg"; ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID"; # Firewalls needing opening for output connections can still do that @@ -201,7 +221,10 @@ in RootDirectory = rootDir; RootDirectoryStartOnly = true; InaccessiblePaths = [ "-+${rootDir}" ]; - RuntimeDirectory = [ "biboumi" (lib.removePrefix "/run/" rootDir) ]; + RuntimeDirectory = [ + "biboumi" + (lib.removePrefix "/run/" rootDir) + ]; RuntimeDirectoryMode = "700"; StateDirectory = "biboumi"; StateDirectoryMode = "700"; @@ -244,7 +267,11 @@ in ProtectSystem = "strict"; RemoveIPC = true; # AF_UNIX is for /run/systemd/notify - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -256,7 +283,13 @@ in # To run such a perf in ExecStart=, you have to: # - AmbientCapabilities="CAP_SYS_ADMIN" # - mount -o remount,mode=755 /sys/kernel/debug/{,tracing} - "~@aio" "~@chown" "~@ipc" "~@keyring" "~@resources" "~@setuid" "~@timer" + "~@aio" + "~@chown" + "~@ipc" + "~@keyring" + "~@resources" + "~@setuid" + "~@timer" ]; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; diff --git a/nixos/modules/services/networking/bird-lg.nix b/nixos/modules/services/networking/bird-lg.nix index f73c0b796e6f1..ed296b98943f3 100644 --- a/nixos/modules/services/networking/bird-lg.nix +++ b/nixos/modules/services/networking/bird-lg.nix @@ -1,49 +1,61 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bird-lg; stringOrConcat = sep: v: if builtins.isString v then v else lib.concatStringsSep sep v; - frontend_args = let - fe = cfg.frontend; - in { - "--servers" = lib.concatStringsSep "," fe.servers; - "--domain" = fe.domain; - "--listen" = fe.listenAddress; - "--proxy-port" = fe.proxyPort; - "--whois" = fe.whois; - "--dns-interface" = fe.dnsInterface; - "--bgpmap-info" = lib.concatStringsSep "," cfg.frontend.bgpMapInfo; - "--title-brand" = fe.titleBrand; - "--navbar-brand" = fe.navbar.brand; - "--navbar-brand-url" = fe.navbar.brandURL; - "--navbar-all-servers" = fe.navbar.allServers; - "--navbar-all-url" = fe.navbar.allServersURL; - "--net-specific-mode" = fe.netSpecificMode; - "--protocol-filter" = lib.concatStringsSep "," cfg.frontend.protocolFilter; - }; + frontend_args = + let + fe = cfg.frontend; + in + { + "--servers" = lib.concatStringsSep "," fe.servers; + "--domain" = fe.domain; + "--listen" = fe.listenAddress; + "--proxy-port" = fe.proxyPort; + "--whois" = fe.whois; + "--dns-interface" = fe.dnsInterface; + "--bgpmap-info" = lib.concatStringsSep "," cfg.frontend.bgpMapInfo; + "--title-brand" = fe.titleBrand; + "--navbar-brand" = fe.navbar.brand; + "--navbar-brand-url" = fe.navbar.brandURL; + "--navbar-all-servers" = fe.navbar.allServers; + "--navbar-all-url" = fe.navbar.allServersURL; + "--net-specific-mode" = fe.netSpecificMode; + "--protocol-filter" = lib.concatStringsSep "," cfg.frontend.protocolFilter; + }; - proxy_args = let - px = cfg.proxy; - in { - "--allowed" = lib.concatStringsSep "," px.allowedIPs; - "--bird" = px.birdSocket; - "--listen" = px.listenAddress; - "--traceroute_bin" = px.traceroute.binary; - "--traceroute_flags" = lib.concatStringsSep " " px.traceroute.flags; - "--traceroute_raw" = px.traceroute.rawOutput; - }; + proxy_args = + let + px = cfg.proxy; + in + { + "--allowed" = lib.concatStringsSep "," px.allowedIPs; + "--bird" = px.birdSocket; + "--listen" = px.listenAddress; + "--traceroute_bin" = px.traceroute.binary; + "--traceroute_flags" = lib.concatStringsSep " " px.traceroute.flags; + "--traceroute_raw" = px.traceroute.rawOutput; + }; - mkArgValue = value: - if lib.isString value - then lib.escapeShellArg value - else if lib.isBool value - then lib.boolToString value - else toString value; + mkArgValue = + value: + if lib.isString value then + lib.escapeShellArg value + else if lib.isBool value then + lib.boolToString value + else + toString value; - filterNull = lib.filterAttrs (_: v: v != "" && v != null && v != []); + filterNull = lib.filterAttrs (_: v: v != "" && v != null && v != [ ]); - argsAttrToList = args: lib.mapAttrsToList (name: value: "${name} " + mkArgValue value ) (filterNull args); + argsAttrToList = + args: lib.mapAttrsToList (name: value: "${name} " + mkArgValue value) (filterNull args); in { options = { @@ -85,7 +97,10 @@ in servers = lib.mkOption { type = lib.types.listOf lib.types.str; - example = [ "gigsgigscloud" "hostdare" ]; + example = [ + "gigsgigscloud" + "hostdare" + ]; description = "Server name prefixes."; }; @@ -103,7 +118,12 @@ in bgpMapInfo = lib.mkOption { type = lib.types.listOf lib.types.str; - default = [ "asn" "as-name" "ASName" "descr" ]; + default = [ + "asn" + "as-name" + "ASName" + "descr" + ]; description = "Information displayed in bgpmap."; }; @@ -191,7 +211,11 @@ in allowedIPs = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "192.168.25.52" "192.168.25.53" "192.168.0.0/24" ]; + example = [ + "192.168.25.52" + "192.168.25.53" + "192.168.0.0/24" + ]; description = "List of IPs or networks to allow (default all allowed)."; }; @@ -242,13 +266,12 @@ in config = { warnings = - lib.optional (cfg.frontend.enable && builtins.isString cfg.frontend.extraArgs) '' + lib.optional (cfg.frontend.enable && builtins.isString cfg.frontend.extraArgs) '' Passing strings to `services.bird-lg.frontend.extraOptions' is deprecated. Please pass a list of strings instead. '' - ++ lib.optional (cfg.proxy.enable && builtins.isString cfg.proxy.extraArgs) '' + ++ lib.optional (cfg.proxy.enable && builtins.isString cfg.proxy.extraArgs) '' Passing strings to `services.bird-lg.proxy.extraOptions' is deprecated. Please pass a list of strings instead. - '' - ; + ''; systemd.services = { bird-lg-frontend = lib.mkIf cfg.frontend.enable { diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix index 01a5a48f1ed51..4588e39ea37ca 100644 --- a/nixos/modules/services/networking/bird.nix +++ b/nixos/modules/services/networking/bird.nix @@ -1,10 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption optionalString types; + inherit (lib) + mkEnableOption + mkIf + mkOption + optionalString + types + ; cfg = config.services.bird2; - caps = [ "CAP_NET_ADMIN" "CAP_NET_BIND_SERVICE" "CAP_NET_RAW" ]; + caps = [ + "CAP_NET_ADMIN" + "CAP_NET_BIND_SERVICE" + "CAP_NET_RAW" + ]; in { ###### interface @@ -52,7 +67,6 @@ in }; }; - imports = [ (lib.mkRemovedOptionModule [ "services" "bird" ] "Use services.bird2 instead") (lib.mkRemovedOptionModule [ "services" "bird6" ] "Use services.bird2 instead") diff --git a/nixos/modules/services/networking/birdwatcher.nix b/nixos/modules/services/networking/birdwatcher.nix index 434f0e2095f30..07df2ee624443 100644 --- a/nixos/modules/services/networking/birdwatcher.nix +++ b/nixos/modules/services/networking/birdwatcher.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.birdwatcher; in @@ -10,7 +15,10 @@ in flags = lib.mkOption { default = [ ]; type = lib.types.listOf lib.types.str; - example = [ "-worker-pool-size 16" "-6" ]; + example = [ + "-worker-pool-size 16" + "-6" + ]; description = '' Flags to append to the program call ''; @@ -69,8 +77,10 @@ in }; config = - let flagsStr = lib.escapeShellArgs cfg.flags; - in lib.mkIf cfg.enable { + let + flagsStr = lib.escapeShellArgs cfg.flags; + in + lib.mkIf cfg.enable { environment.etc."birdwatcher/birdwatcher.conf".source = pkgs.writeTextFile { name = "birdwatcher.conf"; text = cfg.settings; diff --git a/nixos/modules/services/networking/bitcoind.nix b/nixos/modules/services/networking/bitcoind.nix index 36cdcd49ea156..e46a101c20435 100644 --- a/nixos/modules/services/networking/bitcoind.nix +++ b/nixos/modules/services/networking/bitcoind.nix @@ -1,253 +1,282 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let eachBitcoind = filterAttrs (bitcoindName: cfg: cfg.enable) config.services.bitcoind; - rpcUserOpts = { name, ... }: { - options = { - name = mkOption { - type = types.str; - example = "alice"; - description = '' - Username for JSON-RPC connections. - ''; - }; - passwordHMAC = mkOption { - type = types.uniq (types.strMatching "[0-9a-f]+\\$[0-9a-f]{64}"); - example = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae"; - description = '' - Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the - format \$\. + rpcUserOpts = + { name, ... }: + { + options = { + name = mkOption { + type = types.str; + example = "alice"; + description = '' + Username for JSON-RPC connections. + ''; + }; + passwordHMAC = mkOption { + type = types.uniq (types.strMatching "[0-9a-f]+\\$[0-9a-f]{64}"); + example = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae"; + description = '' + Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the + format \$\. - Tool (Python script) for HMAC generation is available here: - - ''; + Tool (Python script) for HMAC generation is available here: + + ''; + }; + }; + config = { + name = mkDefault name; }; }; - config = { - name = mkDefault name; - }; - }; - - bitcoindOpts = { config, lib, name, ...}: { - options = { - enable = mkEnableOption "Bitcoin daemon"; + bitcoindOpts = + { + config, + lib, + name, + ... + }: + { + options = { - package = mkPackageOption pkgs "bitcoind" { }; + enable = mkEnableOption "Bitcoin daemon"; - configFile = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/lib/${name}/bitcoin.conf"; - description = "The configuration file path to supply bitcoind."; - }; + package = mkPackageOption pkgs "bitcoind" { }; - extraConfig = mkOption { - type = types.lines; - default = ""; - example = '' - par=16 - rpcthreads=16 - logips=1 - ''; - description = "Additional configurations to be appended to {file}`bitcoin.conf`."; - }; + configFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/lib/${name}/bitcoin.conf"; + description = "The configuration file path to supply bitcoind."; + }; - dataDir = mkOption { - type = types.path; - default = "/var/lib/bitcoind-${name}"; - description = "The data directory for bitcoind."; - }; + extraConfig = mkOption { + type = types.lines; + default = ""; + example = '' + par=16 + rpcthreads=16 + logips=1 + ''; + description = "Additional configurations to be appended to {file}`bitcoin.conf`."; + }; - user = mkOption { - type = types.str; - default = "bitcoind-${name}"; - description = "The user as which to run bitcoind."; - }; + dataDir = mkOption { + type = types.path; + default = "/var/lib/bitcoind-${name}"; + description = "The data directory for bitcoind."; + }; - group = mkOption { - type = types.str; - default = config.user; - description = "The group as which to run bitcoind."; - }; + user = mkOption { + type = types.str; + default = "bitcoind-${name}"; + description = "The user as which to run bitcoind."; + }; - rpc = { - port = mkOption { - type = types.nullOr types.port; - default = null; - description = "Override the default port on which to listen for JSON-RPC connections."; + group = mkOption { + type = types.str; + default = config.user; + description = "The group as which to run bitcoind."; }; - users = mkOption { - default = {}; - example = literalExpression '' - { - alice.passwordHMAC = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae"; - bob.passwordHMAC = "b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99"; - } - ''; - type = types.attrsOf (types.submodule rpcUserOpts); - description = "RPC user information for JSON-RPC connections."; + + rpc = { + port = mkOption { + type = types.nullOr types.port; + default = null; + description = "Override the default port on which to listen for JSON-RPC connections."; + }; + users = mkOption { + default = { }; + example = literalExpression '' + { + alice.passwordHMAC = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae"; + bob.passwordHMAC = "b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99"; + } + ''; + type = types.attrsOf (types.submodule rpcUserOpts); + description = "RPC user information for JSON-RPC connections."; + }; }; - }; - pidFile = mkOption { - type = types.path; - default = "${config.dataDir}/bitcoind.pid"; - description = "Location of bitcoind pid file."; - }; + pidFile = mkOption { + type = types.path; + default = "${config.dataDir}/bitcoind.pid"; + description = "Location of bitcoind pid file."; + }; - testnet = mkOption { - type = types.bool; - default = false; - description = "Whether to use the testnet instead of mainnet."; - }; + testnet = mkOption { + type = types.bool; + default = false; + description = "Whether to use the testnet instead of mainnet."; + }; - port = mkOption { - type = types.nullOr types.port; - default = null; - description = "Override the default port on which to listen for connections."; - }; + port = mkOption { + type = types.nullOr types.port; + default = null; + description = "Override the default port on which to listen for connections."; + }; - dbCache = mkOption { - type = types.nullOr (types.ints.between 4 16384); - default = null; - example = 4000; - description = "Override the default database cache size in MiB."; - }; + dbCache = mkOption { + type = types.nullOr (types.ints.between 4 16384); + default = null; + example = 4000; + description = "Override the default database cache size in MiB."; + }; - prune = mkOption { - type = types.nullOr (types.coercedTo - (types.enum [ "disable" "manual" ]) - (x: if x == "disable" then 0 else 1) - types.ints.unsigned - ); - default = null; - example = 10000; - description = '' - Reduce storage requirements by enabling pruning (deleting) of old - blocks. This allows the pruneblockchain RPC to be called to delete - specific blocks, and enables automatic pruning of old blocks if a - target size in MiB is provided. This mode is incompatible with -txindex - and -rescan. Warning: Reverting this setting requires re-downloading - the entire blockchain. ("disable" = disable pruning blocks, "manual" - = allow manual pruning via RPC, >=550 = automatically prune block files - to stay under the specified target size in MiB). - ''; - }; + prune = mkOption { + type = types.nullOr ( + types.coercedTo (types.enum [ + "disable" + "manual" + ]) (x: if x == "disable" then 0 else 1) types.ints.unsigned + ); + default = null; + example = 10000; + description = '' + Reduce storage requirements by enabling pruning (deleting) of old + blocks. This allows the pruneblockchain RPC to be called to delete + specific blocks, and enables automatic pruning of old blocks if a + target size in MiB is provided. This mode is incompatible with -txindex + and -rescan. Warning: Reverting this setting requires re-downloading + the entire blockchain. ("disable" = disable pruning blocks, "manual" + = allow manual pruning via RPC, >=550 = automatically prune block files + to stay under the specified target size in MiB). + ''; + }; - extraCmdlineOptions = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Extra command line options to pass to bitcoind. - Run bitcoind --help to list all available options. - ''; + extraCmdlineOptions = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + Extra command line options to pass to bitcoind. + Run bitcoind --help to list all available options. + ''; + }; }; }; - }; in { options = { services.bitcoind = mkOption { type = types.attrsOf (types.submodule bitcoindOpts); - default = {}; + default = { }; description = "Specification of one or more bitcoind instances."; }; }; - config = mkIf (eachBitcoind != {}) { + config = mkIf (eachBitcoind != { }) { - assertions = flatten (mapAttrsToList (bitcoindName: cfg: [ - { - assertion = (cfg.prune != null) -> (builtins.elem cfg.prune [ "disable" "manual" 0 1 ] || (builtins.isInt cfg.prune && cfg.prune >= 550)); - message = '' - If set, services.bitcoind.${bitcoindName}.prune has to be "disable", "manual", 0 , 1 or >= 550. - ''; - } - { - assertion = (cfg.rpc.users != {}) -> (cfg.configFile == null); - message = '' - You cannot set both services.bitcoind.${bitcoindName}.rpc.users and services.bitcoind.${bitcoindName}.configFile - as they are exclusive. RPC user setting would have no effect if custom configFile would be used. - ''; - } - ]) eachBitcoind); + assertions = flatten ( + mapAttrsToList (bitcoindName: cfg: [ + { + assertion = + (cfg.prune != null) + -> ( + builtins.elem cfg.prune [ + "disable" + "manual" + 0 + 1 + ] + || (builtins.isInt cfg.prune && cfg.prune >= 550) + ); + message = '' + If set, services.bitcoind.${bitcoindName}.prune has to be "disable", "manual", 0 , 1 or >= 550. + ''; + } + { + assertion = (cfg.rpc.users != { }) -> (cfg.configFile == null); + message = '' + You cannot set both services.bitcoind.${bitcoindName}.rpc.users and services.bitcoind.${bitcoindName}.configFile + as they are exclusive. RPC user setting would have no effect if custom configFile would be used. + ''; + } + ]) eachBitcoind + ); - environment.systemPackages = flatten (mapAttrsToList (bitcoindName: cfg: [ - cfg.package - ]) eachBitcoind); + environment.systemPackages = flatten ( + mapAttrsToList (bitcoindName: cfg: [ + cfg.package + ]) eachBitcoind + ); - systemd.services = mapAttrs' (bitcoindName: cfg: ( - nameValuePair "bitcoind-${bitcoindName}" ( - let - configFile = pkgs.writeText "bitcoin.conf" '' - # If Testnet is enabled, we need to add [test] section - # otherwise, some options (e.g.: custom RPC port) will not work - ${optionalString cfg.testnet "[test]"} - # RPC users - ${concatMapStringsSep "\n" - (rpcUser: "rpcauth=${rpcUser.name}:${rpcUser.passwordHMAC}") - (attrValues cfg.rpc.users) - } - # Extra config options (from bitcoind nixos service) - ${cfg.extraConfig} - ''; - in { - description = "Bitcoin daemon"; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStart = '' - ${cfg.package}/bin/bitcoind \ - ${if (cfg.configFile != null) then - "-conf=${cfg.configFile}" - else - "-conf=${configFile}" - } \ - -datadir=${cfg.dataDir} \ - -pid=${cfg.pidFile} \ - ${optionalString cfg.testnet "-testnet"}\ - ${optionalString (cfg.port != null) "-port=${toString cfg.port}"}\ - ${optionalString (cfg.prune != null) "-prune=${toString cfg.prune}"}\ - ${optionalString (cfg.dbCache != null) "-dbcache=${toString cfg.dbCache}"}\ - ${optionalString (cfg.rpc.port != null) "-rpcport=${toString cfg.rpc.port}"}\ - ${toString cfg.extraCmdlineOptions} + systemd.services = mapAttrs' ( + bitcoindName: cfg: + (nameValuePair "bitcoind-${bitcoindName}" ( + let + configFile = pkgs.writeText "bitcoin.conf" '' + # If Testnet is enabled, we need to add [test] section + # otherwise, some options (e.g.: custom RPC port) will not work + ${optionalString cfg.testnet "[test]"} + # RPC users + ${concatMapStringsSep "\n" (rpcUser: "rpcauth=${rpcUser.name}:${rpcUser.passwordHMAC}") ( + attrValues cfg.rpc.users + )} + # Extra config options (from bitcoind nixos service) + ${cfg.extraConfig} ''; - Restart = "on-failure"; + in + { + description = "Bitcoin daemon"; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = '' + ${cfg.package}/bin/bitcoind \ + ${if (cfg.configFile != null) then "-conf=${cfg.configFile}" else "-conf=${configFile}"} \ + -datadir=${cfg.dataDir} \ + -pid=${cfg.pidFile} \ + ${optionalString cfg.testnet "-testnet"}\ + ${optionalString (cfg.port != null) "-port=${toString cfg.port}"}\ + ${optionalString (cfg.prune != null) "-prune=${toString cfg.prune}"}\ + ${optionalString (cfg.dbCache != null) "-dbcache=${toString cfg.dbCache}"}\ + ${optionalString (cfg.rpc.port != null) "-rpcport=${toString cfg.rpc.port}"}\ + ${toString cfg.extraCmdlineOptions} + ''; + Restart = "on-failure"; - # Hardening measures - PrivateTmp = "true"; - ProtectSystem = "full"; - NoNewPrivileges = "true"; - PrivateDevices = "true"; - MemoryDenyWriteExecute = "true"; - }; - } - ))) eachBitcoind; + # Hardening measures + PrivateTmp = "true"; + ProtectSystem = "full"; + NoNewPrivileges = "true"; + PrivateDevices = "true"; + MemoryDenyWriteExecute = "true"; + }; + } + )) + ) eachBitcoind; - systemd.tmpfiles.rules = flatten (mapAttrsToList (bitcoindName: cfg: [ - "d '${cfg.dataDir}' 0770 '${cfg.user}' '${cfg.group}' - -" - ]) eachBitcoind); + systemd.tmpfiles.rules = flatten ( + mapAttrsToList (bitcoindName: cfg: [ + "d '${cfg.dataDir}' 0770 '${cfg.user}' '${cfg.group}' - -" + ]) eachBitcoind + ); - users.users = mapAttrs' (bitcoindName: cfg: ( - nameValuePair "bitcoind-${bitcoindName}" { - name = cfg.user; - group = cfg.group; - description = "Bitcoin daemon user"; - home = cfg.dataDir; - isSystemUser = true; - })) eachBitcoind; + users.users = mapAttrs' ( + bitcoindName: cfg: + (nameValuePair "bitcoind-${bitcoindName}" { + name = cfg.user; + group = cfg.group; + description = "Bitcoin daemon user"; + home = cfg.dataDir; + isSystemUser = true; + }) + ) eachBitcoind; - users.groups = mapAttrs' (bitcoindName: cfg: ( - nameValuePair "${cfg.group}" { } - )) eachBitcoind; + users.groups = mapAttrs' (bitcoindName: cfg: (nameValuePair "${cfg.group}" { })) eachBitcoind; }; diff --git a/nixos/modules/services/networking/bitlbee.nix b/nixos/modules/services/networking/bitlbee.nix index 3ebbab97b68e1..27182bb5cca9d 100644 --- a/nixos/modules/services/networking/bitlbee.nix +++ b/nixos/modules/services/networking/bitlbee.nix @@ -1,16 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bitlbee; bitlbeeUid = config.ids.uids.bitlbee; bitlbeePkg = pkgs.bitlbee.override { - enableLibPurple = cfg.libpurple_plugins != []; + enableLibPurple = cfg.libpurple_plugins != [ ]; enablePam = cfg.authBackend == "pam"; }; - bitlbeeConfig = pkgs.writeText "bitlbee.conf" - '' + bitlbeeConfig = pkgs.writeText "bitlbee.conf" '' [settings] RunMode = Daemon ConfigDir = ${cfg.configDir} @@ -25,13 +29,11 @@ let [defaults] ${cfg.extraDefaults} - ''; + ''; - purple_plugin_path = - lib.concatMapStringsSep ":" - (plugin: "${plugin}/lib/pidgin/:${plugin}/lib/purple-2/") - cfg.libpurple_plugins - ; + purple_plugin_path = lib.concatMapStringsSep ":" ( + plugin: "${plugin}/lib/pidgin/:${plugin}/lib/purple-2/" + ) cfg.libpurple_plugins; in @@ -73,7 +75,10 @@ in authBackend = lib.mkOption { default = "storage"; - type = lib.types.enum [ "storage" "pam" ]; + type = lib.types.enum [ + "storage" + "pam" + ]; description = '' How users are authenticated storage -- save passwords internally @@ -83,7 +88,11 @@ in authMode = lib.mkOption { default = "Open"; - type = lib.types.enum [ "Open" "Closed" "Registered" ]; + type = lib.types.enum [ + "Open" + "Closed" + "Registered" + ]; description = '' The following authentication modes are available: Open -- Accept connections from anyone, use NickServ for user authentication. @@ -104,7 +113,7 @@ in plugins = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.bitlbee-facebook ]"; description = '' The list of bitlbee plugins to install. @@ -113,7 +122,7 @@ in libpurple_plugins = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression "[ pkgs.purple-matrix ]"; description = '' The list of libpurple plugins to install. @@ -160,7 +169,7 @@ in ###### implementation - config = lib.mkMerge [ + config = lib.mkMerge [ (lib.mkIf config.services.bitlbee.enable { systemd.services.bitlbee = { environment.PURPLE_PLUGIN_PATH = purple_plugin_path; @@ -180,7 +189,7 @@ in }) (lib.mkIf (config.services.bitlbee.authBackend == "pam") { - security.pam.services.bitlbee = {}; + security.pam.services.bitlbee = { }; }) ]; diff --git a/nixos/modules/services/networking/blockbook-frontend.nix b/nixos/modules/services/networking/blockbook-frontend.nix index 6200a098c34a0..bc9a3633fc69c 100644 --- a/nixos/modules/services/networking/blockbook-frontend.nix +++ b/nixos/modules/services/networking/blockbook-frontend.nix @@ -1,187 +1,204 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let eachBlockbook = config.services.blockbook-frontend; - blockbookOpts = { config, lib, name, ...}: { + blockbookOpts = + { + config, + lib, + name, + ... + }: + { - options = { + options = { - enable = lib.mkEnableOption "blockbook-frontend application"; + enable = lib.mkEnableOption "blockbook-frontend application"; - package = lib.mkPackageOption pkgs "blockbook" { }; + package = lib.mkPackageOption pkgs "blockbook" { }; - user = lib.mkOption { - type = lib.types.str; - default = "blockbook-frontend-${name}"; - description = "The user as which to run blockbook-frontend-${name}."; - }; + user = lib.mkOption { + type = lib.types.str; + default = "blockbook-frontend-${name}"; + description = "The user as which to run blockbook-frontend-${name}."; + }; - group = lib.mkOption { - type = lib.types.str; - default = "${config.user}"; - description = "The group as which to run blockbook-frontend-${name}."; - }; + group = lib.mkOption { + type = lib.types.str; + default = "${config.user}"; + description = "The group as which to run blockbook-frontend-${name}."; + }; - certFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - example = "/etc/secrets/blockbook-frontend-${name}/certFile"; - description = '' - To enable SSL, specify path to the name of certificate files without extension. - Expecting {file}`certFile.crt` and {file}`certFile.key`. - ''; - }; + certFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + example = "/etc/secrets/blockbook-frontend-${name}/certFile"; + description = '' + To enable SSL, specify path to the name of certificate files without extension. + Expecting {file}`certFile.crt` and {file}`certFile.key`. + ''; + }; - configFile = lib.mkOption { - type = with lib.types; nullOr path; - default = null; - example = "${config.dataDir}/config.json"; - description = "Location of the blockbook configuration file."; - }; + configFile = lib.mkOption { + type = with lib.types; nullOr path; + default = null; + example = "${config.dataDir}/config.json"; + description = "Location of the blockbook configuration file."; + }; - coinName = lib.mkOption { - type = lib.types.str; - default = "Bitcoin"; - description = '' - See - for current of coins supported in master (Note: may differ from release). - ''; - }; + coinName = lib.mkOption { + type = lib.types.str; + default = "Bitcoin"; + description = '' + See + for current of coins supported in master (Note: may differ from release). + ''; + }; - cssDir = lib.mkOption { - type = lib.types.path; - default = "${config.package}/share/css/"; - defaultText = lib.literalExpression ''"''${package}/share/css/"''; - example = lib.literalExpression ''"''${dataDir}/static/css/"''; - description = '' - Location of the dir with {file}`main.css` CSS file. - By default, the one shipped with the package is used. - ''; - }; + cssDir = lib.mkOption { + type = lib.types.path; + default = "${config.package}/share/css/"; + defaultText = lib.literalExpression ''"''${package}/share/css/"''; + example = lib.literalExpression ''"''${dataDir}/static/css/"''; + description = '' + Location of the dir with {file}`main.css` CSS file. + By default, the one shipped with the package is used. + ''; + }; - dataDir = lib.mkOption { - type = lib.types.path; - default = "/var/lib/blockbook-frontend-${name}"; - description = "Location of blockbook-frontend-${name} data directory."; - }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/blockbook-frontend-${name}"; + description = "Location of blockbook-frontend-${name} data directory."; + }; - debug = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Debug mode, return more verbose errors, reload templates on each request."; - }; + debug = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Debug mode, return more verbose errors, reload templates on each request."; + }; - internal = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = ":9030"; - description = "Internal http server binding `[address]:port`."; - }; + internal = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = ":9030"; + description = "Internal http server binding `[address]:port`."; + }; - messageQueueBinding = lib.mkOption { - type = lib.types.str; - default = "tcp://127.0.0.1:38330"; - description = "Message Queue Binding `address:port`."; - }; + messageQueueBinding = lib.mkOption { + type = lib.types.str; + default = "tcp://127.0.0.1:38330"; + description = "Message Queue Binding `address:port`."; + }; - public = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = ":9130"; - description = "Public http server binding `[address]:port`."; - }; + public = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = ":9130"; + description = "Public http server binding `[address]:port`."; + }; - rpc = { - url = lib.mkOption { - type = lib.types.str; - default = "http://127.0.0.1"; - description = "URL for JSON-RPC connections."; + rpc = { + url = lib.mkOption { + type = lib.types.str; + default = "http://127.0.0.1"; + description = "URL for JSON-RPC connections."; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 8030; + description = "Port for JSON-RPC connections."; + }; + + user = lib.mkOption { + type = lib.types.str; + default = "rpc"; + description = "Username for JSON-RPC connections."; + }; + + password = lib.mkOption { + type = lib.types.str; + default = "rpc"; + description = '' + RPC password for JSON-RPC connections. + Warning: this is stored in cleartext in the Nix store!!! + Use `configFile` or `passwordFile` if needed. + ''; + }; + + passwordFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + File containing password of the RPC user. + Note: This options is ignored when `configFile` is used. + ''; + }; }; - port = lib.mkOption { - type = lib.types.port; - default = 8030; - description = "Port for JSON-RPC connections."; + sync = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Synchronizes until tip, if together with zeromq, keeps index synchronized."; }; - user = lib.mkOption { - type = lib.types.str; - default = "rpc"; - description = "Username for JSON-RPC connections."; + templateDir = lib.mkOption { + type = lib.types.path; + default = "${config.package}/share/templates/"; + defaultText = lib.literalExpression ''"''${package}/share/templates/"''; + example = lib.literalExpression ''"''${dataDir}/templates/static/"''; + description = "Location of the HTML templates. By default, ones shipped with the package are used."; }; - password = lib.mkOption { - type = lib.types.str; - default = "rpc"; + extraConfig = lib.mkOption { + type = lib.types.attrs; + default = { }; + example = lib.literalExpression '' + { + "alternative_estimate_fee" = "whatthefee-disabled"; + "alternative_estimate_fee_params" = "{\"url\": \"https://whatthefee.io/data.json\", \"periodSeconds\": 60}"; + "fiat_rates" = "coingecko"; + "fiat_rates_params" = "{\"url\": \"https://api.coingecko.com/api/v3\", \"coin\": \"bitcoin\", \"periodSeconds\": 60}"; + "coin_shortcut" = "BTC"; + "coin_label" = "Bitcoin"; + "parse" = true; + "subversion" = ""; + "address_format" = ""; + "xpub_magic" = 76067358; + "xpub_magic_segwit_p2sh" = 77429938; + "xpub_magic_segwit_native" = 78792518; + "mempool_workers" = 8; + "mempool_sub_workers" = 2; + "block_addresses_to_keep" = 300; + }''; description = '' - RPC password for JSON-RPC connections. - Warning: this is stored in cleartext in the Nix store!!! - Use `configFile` or `passwordFile` if needed. + Additional configurations to be appended to {file}`coin.conf`. + Overrides any already defined configuration options. + See + for current configuration options supported in master (Note: may differ from release). ''; }; - passwordFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; + extraCmdLineOptions = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ + "-workers=1" + "-dbcache=0" + "-logtosderr" + ]; description = '' - File containing password of the RPC user. - Note: This options is ignored when `configFile` is used. + Extra command line options to pass to Blockbook. + Run blockbook --help to list all available options. ''; }; }; - - sync = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Synchronizes until tip, if together with zeromq, keeps index synchronized."; - }; - - templateDir = lib.mkOption { - type = lib.types.path; - default = "${config.package}/share/templates/"; - defaultText = lib.literalExpression ''"''${package}/share/templates/"''; - example = lib.literalExpression ''"''${dataDir}/templates/static/"''; - description = "Location of the HTML templates. By default, ones shipped with the package are used."; - }; - - extraConfig = lib.mkOption { - type = lib.types.attrs; - default = {}; - example = lib.literalExpression '' { - "alternative_estimate_fee" = "whatthefee-disabled"; - "alternative_estimate_fee_params" = "{\"url\": \"https://whatthefee.io/data.json\", \"periodSeconds\": 60}"; - "fiat_rates" = "coingecko"; - "fiat_rates_params" = "{\"url\": \"https://api.coingecko.com/api/v3\", \"coin\": \"bitcoin\", \"periodSeconds\": 60}"; - "coin_shortcut" = "BTC"; - "coin_label" = "Bitcoin"; - "parse" = true; - "subversion" = ""; - "address_format" = ""; - "xpub_magic" = 76067358; - "xpub_magic_segwit_p2sh" = 77429938; - "xpub_magic_segwit_native" = 78792518; - "mempool_workers" = 8; - "mempool_sub_workers" = 2; - "block_addresses_to_keep" = 300; - }''; - description = '' - Additional configurations to be appended to {file}`coin.conf`. - Overrides any already defined configuration options. - See - for current configuration options supported in master (Note: may differ from release). - ''; - }; - - extraCmdLineOptions = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - example = [ "-workers=1" "-dbcache=0" "-logtosderr" ]; - description = '' - Extra command line options to pass to Blockbook. - Run blockbook --help to list all available options. - ''; - }; }; - }; in { # interface @@ -189,28 +206,37 @@ in options = { services.blockbook-frontend = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule blockbookOpts); - default = {}; + default = { }; description = "Specification of one or more blockbook-frontend instances."; }; }; # implementation - config = lib.mkIf (eachBlockbook != {}) { + config = lib.mkIf (eachBlockbook != { }) { - systemd.services = lib.mapAttrs' (blockbookName: cfg: ( - lib.nameValuePair "blockbook-frontend-${blockbookName}" ( + systemd.services = lib.mapAttrs' ( + blockbookName: cfg: + (lib.nameValuePair "blockbook-frontend-${blockbookName}" ( let - configFile = if cfg.configFile != null then cfg.configFile else - pkgs.writeText "config.conf" (builtins.toJSON ( { - coin_name = "${cfg.coinName}"; - rpc_user = "${cfg.rpc.user}"; - rpc_pass = "${cfg.rpc.password}"; - rpc_url = "${cfg.rpc.url}:${toString cfg.rpc.port}"; - message_queue_binding = "${cfg.messageQueueBinding}"; - } // cfg.extraConfig) - ); - in { + configFile = + if cfg.configFile != null then + cfg.configFile + else + pkgs.writeText "config.conf" ( + builtins.toJSON ( + { + coin_name = "${cfg.coinName}"; + rpc_user = "${cfg.rpc.user}"; + rpc_pass = "${cfg.rpc.password}"; + rpc_url = "${cfg.rpc.url}:${toString cfg.rpc.port}"; + message_queue_binding = "${cfg.messageQueueBinding}"; + } + // cfg.extraConfig + ) + ); + in + { description = "blockbook-frontend-${blockbookName} daemon"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; @@ -227,42 +253,49 @@ in User = cfg.user; Group = cfg.group; ExecStart = '' - ${cfg.package}/bin/blockbook \ - ${if (cfg.rpc.passwordFile != null && cfg.configFile == null) then - "-blockchaincfg=${cfg.dataDir}/${blockbookName}-config.json" - else - "-blockchaincfg=${configFile}" - } \ - -datadir=${cfg.dataDir} \ - ${lib.optionalString (cfg.sync != false) "-sync"} \ - ${lib.optionalString (cfg.certFile != null) "-certfile=${toString cfg.certFile}"} \ - ${lib.optionalString (cfg.debug != false) "-debug"} \ - ${lib.optionalString (cfg.internal != null) "-internal=${toString cfg.internal}"} \ - ${lib.optionalString (cfg.public != null) "-public=${toString cfg.public}"} \ - ${toString cfg.extraCmdLineOptions} + ${cfg.package}/bin/blockbook \ + ${ + if (cfg.rpc.passwordFile != null && cfg.configFile == null) then + "-blockchaincfg=${cfg.dataDir}/${blockbookName}-config.json" + else + "-blockchaincfg=${configFile}" + } \ + -datadir=${cfg.dataDir} \ + ${lib.optionalString (cfg.sync != false) "-sync"} \ + ${lib.optionalString (cfg.certFile != null) "-certfile=${toString cfg.certFile}"} \ + ${lib.optionalString (cfg.debug != false) "-debug"} \ + ${lib.optionalString (cfg.internal != null) "-internal=${toString cfg.internal}"} \ + ${lib.optionalString (cfg.public != null) "-public=${toString cfg.public}"} \ + ${toString cfg.extraCmdLineOptions} ''; Restart = "on-failure"; WorkingDirectory = cfg.dataDir; LimitNOFILE = 65536; }; } - ) )) eachBlockbook; - - systemd.tmpfiles.rules = lib.flatten (lib.mapAttrsToList (blockbookName: cfg: [ - "d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -" - "d ${cfg.dataDir}/static 0750 ${cfg.user} ${cfg.group} - -" - ]) eachBlockbook); - - users.users = lib.mapAttrs' (blockbookName: cfg: ( - lib.nameValuePair "blockbook-frontend-${blockbookName}" { - name = cfg.user; - group = cfg.group; - home = cfg.dataDir; - isSystemUser = true; - })) eachBlockbook; - - users.groups = lib.mapAttrs' (instanceName: cfg: ( - lib.nameValuePair "${cfg.group}" { })) eachBlockbook; + )) + ) eachBlockbook; + + systemd.tmpfiles.rules = lib.flatten ( + lib.mapAttrsToList (blockbookName: cfg: [ + "d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -" + "d ${cfg.dataDir}/static 0750 ${cfg.user} ${cfg.group} - -" + ]) eachBlockbook + ); + + users.users = lib.mapAttrs' ( + blockbookName: cfg: + (lib.nameValuePair "blockbook-frontend-${blockbookName}" { + name = cfg.user; + group = cfg.group; + home = cfg.dataDir; + isSystemUser = true; + }) + ) eachBlockbook; + + users.groups = lib.mapAttrs' ( + instanceName: cfg: (lib.nameValuePair "${cfg.group}" { }) + ) eachBlockbook; }; meta.maintainers = with lib.maintainers; [ _1000101 ]; diff --git a/nixos/modules/services/networking/blocky.nix b/nixos/modules/services/networking/blocky.nix index 1260d9da7ac29..1920a5c11c569 100644 --- a/nixos/modules/services/networking/blocky.nix +++ b/nixos/modules/services/networking/blocky.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.blocky; diff --git a/nixos/modules/services/networking/centrifugo.nix b/nixos/modules/services/networking/centrifugo.nix index 65df02513d6e8..7b9a05069498a 100644 --- a/nixos/modules/services/networking/centrifugo.nix +++ b/nixos/modules/services/networking/centrifugo.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.centrifugo; diff --git a/nixos/modules/services/networking/cgit.nix b/nixos/modules/services/networking/cgit.nix index 208979364684d..126070aa26cc4 100644 --- a/nixos/modules/services/networking/cgit.nix +++ b/nixos/modules/services/networking/cgit.nix @@ -1,9 +1,25 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfgs = config.services.cgit; - settingType = with lib.types; oneOf [ bool int str ]; - repeatedSettingType = with lib.types; oneOf [ settingType (listOf settingType) ]; + settingType = + with lib.types; + oneOf [ + bool + int + str + ]; + repeatedSettingType = + with lib.types; + oneOf [ + settingType + (listOf settingType) + ]; genAttrs' = names: f: lib.listToAttrs (map f names); @@ -11,227 +27,262 @@ let let # taken from https://github.com/python/cpython/blob/05cb728d68a278d11466f9a6c8258d914135c96c/Lib/re.py#L251-L266 special = [ - "(" ")" "[" "]" "{" "}" "?" "*" "+" "-" "|" "^" "$" "\\" "." "&" "~" - "#" " " "\t" "\n" "\r" + "(" + ")" + "[" + "]" + "{" + "}" + "?" + "*" + "+" + "-" + "|" + "^" + "$" + "\\" + "." + "&" + "~" + "#" + " " + "\t" + "\n" + "\r" " " # \v / 0x0B " " # \f / 0x0C ]; in - lib.replaceStrings special (map (c: "\\${c}") special); + lib.replaceStrings special (map (c: "\\${c}") special); stripLocation = cfg: lib.removeSuffix "/" cfg.nginx.location; regexLocation = cfg: regexEscape (stripLocation cfg); mkFastcgiPass = name: cfg: '' - ${if cfg.nginx.location == "/" then '' - fastcgi_param PATH_INFO $uri; - '' else '' - fastcgi_split_path_info ^(${regexLocation cfg})(/.+)$; - fastcgi_param PATH_INFO $fastcgi_path_info; - '' + ${ + if cfg.nginx.location == "/" then + '' + fastcgi_param PATH_INFO $uri; + '' + else + '' + fastcgi_split_path_info ^(${regexLocation cfg})(/.+)$; + fastcgi_param PATH_INFO $fastcgi_path_info; + '' }fastcgi_pass unix:${config.services.fcgiwrap.instances."cgit-${name}".socket.address}; ''; - cgitrcLine = name: value: "${name}=${ - if value == true then - "1" - else if value == false then - "0" - else - toString value - }"; + cgitrcLine = + name: value: + "${name}=${ + if value == true then + "1" + else if value == false then + "0" + else + toString value + }"; # list value as multiple lines (for "readme" for example) - cgitrcEntry = name: value: - if lib.isList value then - map (cgitrcLine name) value - else - [ (cgitrcLine name value) ]; - - mkCgitrc = cfg: pkgs.writeText "cgitrc" '' - # global settings - ${lib.concatStringsSep "\n" ( - lib.flatten (lib.mapAttrsToList - cgitrcEntry - ({ virtual-root = cfg.nginx.location; } // cfg.settings) + cgitrcEntry = + name: value: if lib.isList value then map (cgitrcLine name) value else [ (cgitrcLine name value) ]; + + mkCgitrc = + cfg: + pkgs.writeText "cgitrc" '' + # global settings + ${lib.concatStringsSep "\n" ( + lib.flatten ( + lib.mapAttrsToList cgitrcEntry ({ virtual-root = cfg.nginx.location; } // cfg.settings) ) - ) - } - ${lib.optionalString (cfg.scanPath != null) (cgitrcLine "scan-path" cfg.scanPath)} - - # repository settings - ${lib.concatStrings ( - lib.mapAttrsToList - (url: settings: '' - ${cgitrcLine "repo.url" url} - ${lib.concatStringsSep "\n" ( - lib.mapAttrsToList (name: cgitrcLine "repo.${name}") settings - ) - } - '') - cfg.repos - ) - } + )} + ${lib.optionalString (cfg.scanPath != null) (cgitrcLine "scan-path" cfg.scanPath)} - # extra config - ${cfg.extraConfig} - ''; + # repository settings + ${lib.concatStrings ( + lib.mapAttrsToList (url: settings: '' + ${cgitrcLine "repo.url" url} + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: cgitrcLine "repo.${name}") settings)} + '') cfg.repos + )} + + # extra config + ${cfg.extraConfig} + ''; fcgiwrapUnitName = name: "fcgiwrap-cgit-${name}"; fcgiwrapRuntimeDir = name: "/run/${fcgiwrapUnitName name}"; - gitProjectRoot = name: cfg: if cfg.scanPath != null - then cfg.scanPath - else "${fcgiwrapRuntimeDir name}/repos"; + gitProjectRoot = + name: cfg: if cfg.scanPath != null then cfg.scanPath else "${fcgiwrapRuntimeDir name}/repos"; in { options = { services.cgit = lib.mkOption { description = "Configure cgit instances."; - default = {}; - type = lib.types.attrsOf (lib.types.submodule ({ config, ... }: { - options = { - enable = lib.mkEnableOption "cgit"; - - package = lib.mkPackageOption pkgs "cgit" {}; - - nginx.virtualHost = lib.mkOption { - description = "VirtualHost to serve cgit on, defaults to the attribute name."; - type = lib.types.str; - default = config._module.args.name; - example = "git.example.com"; - }; + default = { }; + type = lib.types.attrsOf ( + lib.types.submodule ( + { config, ... }: + { + options = { + enable = lib.mkEnableOption "cgit"; - nginx.location = lib.mkOption { - description = "Location to serve cgit under."; - type = lib.types.str; - default = "/"; - example = "/git/"; - }; + package = lib.mkPackageOption pkgs "cgit" { }; - repos = lib.mkOption { - description = "cgit repository settings, see cgitrc(5)"; - type = with lib.types; attrsOf (attrsOf settingType); - default = {}; - example = { - blah = { - path = "/var/lib/git/example"; - desc = "An example repository"; + nginx.virtualHost = lib.mkOption { + description = "VirtualHost to serve cgit on, defaults to the attribute name."; + type = lib.types.str; + default = config._module.args.name; + example = "git.example.com"; }; - }; - }; - scanPath = lib.mkOption { - description = "A path which will be scanned for repositories."; - type = lib.types.nullOr lib.types.path; - default = null; - example = "/var/lib/git"; - }; + nginx.location = lib.mkOption { + description = "Location to serve cgit under."; + type = lib.types.str; + default = "/"; + example = "/git/"; + }; - settings = lib.mkOption { - description = "cgit configuration, see cgitrc(5)"; - type = lib.types.attrsOf repeatedSettingType; - default = {}; - example = lib.literalExpression '' - { - enable-follow-links = true; - source-filter = "''${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py"; - } - ''; - }; + repos = lib.mkOption { + description = "cgit repository settings, see cgitrc(5)"; + type = with lib.types; attrsOf (attrsOf settingType); + default = { }; + example = { + blah = { + path = "/var/lib/git/example"; + desc = "An example repository"; + }; + }; + }; - extraConfig = lib.mkOption { - description = "These lines go to the end of cgitrc verbatim."; - type = lib.types.lines; - default = ""; - }; + scanPath = lib.mkOption { + description = "A path which will be scanned for repositories."; + type = lib.types.nullOr lib.types.path; + default = null; + example = "/var/lib/git"; + }; - user = lib.mkOption { - description = "User to run the cgit service as."; - type = lib.types.str; - default = "cgit"; - }; + settings = lib.mkOption { + description = "cgit configuration, see cgitrc(5)"; + type = lib.types.attrsOf repeatedSettingType; + default = { }; + example = lib.literalExpression '' + { + enable-follow-links = true; + source-filter = "''${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py"; + } + ''; + }; - group = lib.mkOption { - description = "Group to run the cgit service as."; - type = lib.types.str; - default = "cgit"; - }; - }; - })); + extraConfig = lib.mkOption { + description = "These lines go to the end of cgitrc verbatim."; + type = lib.types.lines; + default = ""; + }; + + user = lib.mkOption { + description = "User to run the cgit service as."; + type = lib.types.str; + default = "cgit"; + }; + + group = lib.mkOption { + description = "Group to run the cgit service as."; + type = lib.types.str; + default = "cgit"; + }; + }; + } + ) + ); }; }; config = lib.mkIf (lib.any (cfg: cfg.enable) (lib.attrValues cfgs)) { assertions = lib.mapAttrsToList (vhost: cfg: { - assertion = !cfg.enable || (cfg.scanPath == null) != (cfg.repos == {}); + assertion = !cfg.enable || (cfg.scanPath == null) != (cfg.repos == { }); message = "Exactly one of services.cgit.${vhost}.scanPath or services.cgit.${vhost}.repos must be set."; }) cfgs; - users = lib.mkMerge (lib.flip lib.mapAttrsToList cfgs (_: cfg: { - users.${cfg.user} = { - isSystemUser = true; - inherit (cfg) group; - }; - groups.${cfg.group} = { }; - })); + users = lib.mkMerge ( + lib.flip lib.mapAttrsToList cfgs ( + _: cfg: { + users.${cfg.user} = { + isSystemUser = true; + inherit (cfg) group; + }; + groups.${cfg.group} = { }; + } + ) + ); - services.fcgiwrap.instances = lib.flip lib.mapAttrs' cfgs (name: cfg: + services.fcgiwrap.instances = lib.flip lib.mapAttrs' cfgs ( + name: cfg: lib.nameValuePair "cgit-${name}" { process = { inherit (cfg) user group; }; socket = { inherit (config.services.nginx) user group; }; } ); - systemd.services = lib.flip lib.mapAttrs' cfgs (name: cfg: - lib.nameValuePair (fcgiwrapUnitName name) - (lib.mkIf (cfg.repos != { }) { - serviceConfig.RuntimeDirectory = fcgiwrapUnitName name; - preStart = '' - GIT_PROJECT_ROOT=${lib.escapeShellArg (gitProjectRoot name cfg)} - mkdir -p "$GIT_PROJECT_ROOT" - cd "$GIT_PROJECT_ROOT" - ${lib.concatLines (lib.flip lib.mapAttrsToList cfg.repos (name: repo: '' - ln -s ${lib.escapeShellArg repo.path} ${lib.escapeShellArg name} - ''))} - ''; - } - )); + systemd.services = lib.flip lib.mapAttrs' cfgs ( + name: cfg: + lib.nameValuePair (fcgiwrapUnitName name) ( + lib.mkIf (cfg.repos != { }) { + serviceConfig.RuntimeDirectory = fcgiwrapUnitName name; + preStart = '' + GIT_PROJECT_ROOT=${lib.escapeShellArg (gitProjectRoot name cfg)} + mkdir -p "$GIT_PROJECT_ROOT" + cd "$GIT_PROJECT_ROOT" + ${lib.concatLines ( + lib.flip lib.mapAttrsToList cfg.repos ( + name: repo: '' + ln -s ${lib.escapeShellArg repo.path} ${lib.escapeShellArg name} + '' + ) + )} + ''; + } + ) + ); services.nginx.enable = true; - services.nginx.virtualHosts = lib.mkMerge (lib.mapAttrsToList (name: cfg: { - ${cfg.nginx.virtualHost} = { - locations = ( - genAttrs' - [ "cgit.css" "cgit.png" "favicon.ico" "robots.txt" ] - (fileName: lib.nameValuePair "= ${stripLocation cfg}/${fileName}" { - extraConfig = '' - alias ${cfg.package}/cgit/${fileName}; - ''; - }) - ) // { - "~ ${regexLocation cfg}/.+/(info/refs|git-upload-pack)" = { - fastcgiParams = rec { - SCRIPT_FILENAME = "${pkgs.git}/libexec/git-core/git-http-backend"; - GIT_HTTP_EXPORT_ALL = "1"; - GIT_PROJECT_ROOT = gitProjectRoot name cfg; - HOME = GIT_PROJECT_ROOT; - }; - extraConfig = mkFastcgiPass name cfg; - }; - "${stripLocation cfg}/" = { - fastcgiParams = { - SCRIPT_FILENAME = "${cfg.package}/cgit/cgit.cgi"; - QUERY_STRING = "$args"; - HTTP_HOST = "$server_name"; - CGIT_CONFIG = mkCgitrc cfg; + services.nginx.virtualHosts = lib.mkMerge ( + lib.mapAttrsToList (name: cfg: { + ${cfg.nginx.virtualHost} = { + locations = + (genAttrs' [ "cgit.css" "cgit.png" "favicon.ico" "robots.txt" ] ( + fileName: + lib.nameValuePair "= ${stripLocation cfg}/${fileName}" { + extraConfig = '' + alias ${cfg.package}/cgit/${fileName}; + ''; + } + )) + // { + "~ ${regexLocation cfg}/.+/(info/refs|git-upload-pack)" = { + fastcgiParams = rec { + SCRIPT_FILENAME = "${pkgs.git}/libexec/git-core/git-http-backend"; + GIT_HTTP_EXPORT_ALL = "1"; + GIT_PROJECT_ROOT = gitProjectRoot name cfg; + HOME = GIT_PROJECT_ROOT; + }; + extraConfig = mkFastcgiPass name cfg; + }; + "${stripLocation cfg}/" = { + fastcgiParams = { + SCRIPT_FILENAME = "${cfg.package}/cgit/cgit.cgi"; + QUERY_STRING = "$args"; + HTTP_HOST = "$server_name"; + CGIT_CONFIG = mkCgitrc cfg; + }; + extraConfig = mkFastcgiPass name cfg; + }; }; - extraConfig = mkFastcgiPass name cfg; - }; }; - }; - }) cfgs); + }) cfgs + ); }; } diff --git a/nixos/modules/services/networking/charybdis.nix b/nixos/modules/services/networking/charybdis.nix index 6aaad823702ca..9f07abfdeadb9 100644 --- a/nixos/modules/services/networking/charybdis.nix +++ b/nixos/modules/services/networking/charybdis.nix @@ -1,7 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption singleton types; + inherit (lib) + mkEnableOption + mkIf + mkOption + singleton + types + ; inherit (pkgs) coreutils charybdis; cfg = config.services.charybdis; @@ -66,49 +77,50 @@ in }; - ###### implementation - config = mkIf cfg.enable (lib.mkMerge [ - { - users.users.${cfg.user} = { - description = "Charybdis IRC daemon user"; - uid = config.ids.uids.ircd; - group = cfg.group; - }; - - users.groups.${cfg.group} = { - gid = config.ids.gids.ircd; - }; + config = mkIf cfg.enable ( + lib.mkMerge [ + { + users.users.${cfg.user} = { + description = "Charybdis IRC daemon user"; + uid = config.ids.uids.ircd; + group = cfg.group; + }; - systemd.tmpfiles.settings."10-charybdis".${cfg.statedir}.d = { - inherit (cfg) user group; - }; + users.groups.${cfg.group} = { + gid = config.ids.gids.ircd; + }; - environment.etc."charybdis/ircd.conf".source = configFile; - - systemd.services.charybdis = { - description = "Charybdis IRC daemon"; - wantedBy = [ "multi-user.target" ]; - reloadIfChanged = true; - restartTriggers = [ - configFile - ]; - environment = { - BANDB_DBPATH = "${cfg.statedir}/ban.db"; + systemd.tmpfiles.settings."10-charybdis".${cfg.statedir}.d = { + inherit (cfg) user group; }; - serviceConfig = { - ExecStart = "${charybdis}/bin/charybdis -foreground -logfile /dev/stdout -configfile /etc/charybdis/ircd.conf"; - ExecReload = "${coreutils}/bin/kill -HUP $MAINPID"; - Group = cfg.group; - User = cfg.user; + + environment.etc."charybdis/ircd.conf".source = configFile; + + systemd.services.charybdis = { + description = "Charybdis IRC daemon"; + wantedBy = [ "multi-user.target" ]; + reloadIfChanged = true; + restartTriggers = [ + configFile + ]; + environment = { + BANDB_DBPATH = "${cfg.statedir}/ban.db"; + }; + serviceConfig = { + ExecStart = "${charybdis}/bin/charybdis -foreground -logfile /dev/stdout -configfile /etc/charybdis/ircd.conf"; + ExecReload = "${coreutils}/bin/kill -HUP $MAINPID"; + Group = cfg.group; + User = cfg.user; + }; }; - }; - } + } - (mkIf (cfg.motd != null) { - environment.etc."charybdis/ircd.motd".text = cfg.motd; - }) - ]); + (mkIf (cfg.motd != null) { + environment.etc."charybdis/ircd.motd".text = cfg.motd; + }) + ] + ); } diff --git a/nixos/modules/services/networking/chisel-server.nix b/nixos/modules/services/networking/chisel-server.nix index 2b585c22f304d..b2f07c8d16882 100644 --- a/nixos/modules/services/networking/chisel-server.nix +++ b/nixos/modules/services/networking/chisel-server.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.chisel-server; -in { +in +{ options = { services.chisel-server = { enable = lib.mkEnableOption "Chisel Tunnel Server"; @@ -22,7 +28,7 @@ in { type = with lib.types; nullOr path; default = null; }; - keepalive = lib.mkOption { + keepalive = lib.mkOption { description = "Keepalive interval, falls back to 25s"; type = with lib.types; nullOr str; default = null; @@ -53,15 +59,17 @@ in { wantedBy = [ "network-online.target" ]; serviceConfig = { - ExecStart = "${pkgs.chisel}/bin/chisel server " + lib.concatStringsSep " " ( - lib.optional (cfg.host != null) "--host ${cfg.host}" - ++ lib.optional (cfg.port != null) "--port ${builtins.toString cfg.port}" - ++ lib.optional (cfg.authfile != null) "--authfile ${cfg.authfile}" - ++ lib.optional (cfg.keepalive != null) "--keepalive ${cfg.keepalive}" - ++ lib.optional (cfg.backend != null) "--backend ${cfg.backend}" - ++ lib.optional cfg.socks5 "--socks5" - ++ lib.optional cfg.reverse "--reverse" - ); + ExecStart = + "${pkgs.chisel}/bin/chisel server " + + lib.concatStringsSep " " ( + lib.optional (cfg.host != null) "--host ${cfg.host}" + ++ lib.optional (cfg.port != null) "--port ${builtins.toString cfg.port}" + ++ lib.optional (cfg.authfile != null) "--authfile ${cfg.authfile}" + ++ lib.optional (cfg.keepalive != null) "--keepalive ${cfg.keepalive}" + ++ lib.optional (cfg.backend != null) "--backend ${cfg.backend}" + ++ lib.optional cfg.socks5 "--socks5" + ++ lib.optional cfg.reverse "--reverse" + ); # Security Hardening # Refer to systemd.exec(5) for option descriptions. @@ -82,7 +90,11 @@ in { ProtectProc = "invisible"; ProtectKernelModules = true; ProtectKernelTunables = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index 6aaaf62950689..1b9f53c9b28a5 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let pkg = pkgs.cjdns; @@ -6,73 +11,91 @@ let cfg = config.services.cjdns; connectToSubmodule = - { ... }: - { options = - { password = lib.mkOption { - type = lib.types.str; - description = "Authorized password to the opposite end of the tunnel."; - }; - login = lib.mkOption { - default = ""; - type = lib.types.str; - description = "(optional) name your peer has for you"; - }; - peerName = lib.mkOption { - default = ""; - type = lib.types.str; - description = "(optional) human-readable name for peer"; - }; - publicKey = lib.mkOption { - type = lib.types.str; - description = "Public key at the opposite end of the tunnel."; - }; - hostname = lib.mkOption { - default = ""; - example = "foobar.hype"; - type = lib.types.str; - description = "Optional hostname to add to /etc/hosts; prevents reverse lookup failures."; + { ... }: + { + options = { + password = lib.mkOption { + type = lib.types.str; + description = "Authorized password to the opposite end of the tunnel."; + }; + login = lib.mkOption { + default = ""; + type = lib.types.str; + description = "(optional) name your peer has for you"; + }; + peerName = lib.mkOption { + default = ""; + type = lib.types.str; + description = "(optional) human-readable name for peer"; + }; + publicKey = lib.mkOption { + type = lib.types.str; + description = "Public key at the opposite end of the tunnel."; + }; + hostname = lib.mkOption { + default = ""; + example = "foobar.hype"; + type = lib.types.str; + description = "Optional hostname to add to /etc/hosts; prevents reverse lookup failures."; + }; }; }; - }; # Additional /etc/hosts entries for peers with an associated hostname - cjdnsExtraHosts = pkgs.runCommand "cjdns-hosts" {} '' + cjdnsExtraHosts = pkgs.runCommand "cjdns-hosts" { } '' exec >$out - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (k: v: - lib.optionalString (v.hostname != "") - "echo $(${pkgs.cjdns}/bin/publictoip6 ${v.publicKey}) ${v.hostname}") - (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo))} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + k: v: + lib.optionalString ( + v.hostname != "" + ) "echo $(${pkgs.cjdns}/bin/publictoip6 ${v.publicKey}) ${v.hostname}" + ) (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo) + )} ''; - parseModules = x: - x // { connectTo = lib.mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; }; - - cjdrouteConf = builtins.toJSON ( lib.recursiveUpdate { - admin = { - bind = cfg.admin.bind; - password = "@CJDNS_ADMIN_PASSWORD@"; - }; - authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords; - interfaces = { - ETHInterface = if (cfg.ETHInterface.bind != "") then [ (parseModules cfg.ETHInterface) ] else [ ]; - UDPInterface = if (cfg.UDPInterface.bind != "") then [ (parseModules cfg.UDPInterface) ] else [ ]; + parseModules = + x: + x + // { + connectTo = lib.mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; }; - privateKey = "@CJDNS_PRIVATE_KEY@"; + cjdrouteConf = builtins.toJSON ( + lib.recursiveUpdate { + admin = { + bind = cfg.admin.bind; + password = "@CJDNS_ADMIN_PASSWORD@"; + }; + authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords; + interfaces = { + ETHInterface = if (cfg.ETHInterface.bind != "") then [ (parseModules cfg.ETHInterface) ] else [ ]; + UDPInterface = if (cfg.UDPInterface.bind != "") then [ (parseModules cfg.UDPInterface) ] else [ ]; + }; + + privateKey = "@CJDNS_PRIVATE_KEY@"; - resetAfterInactivitySeconds = 100; + resetAfterInactivitySeconds = 100; - router = { - interface = { type = "TUNInterface"; }; - ipTunnel = { - allowedConnections = []; - outgoingConnections = []; + router = { + interface = { + type = "TUNInterface"; + }; + ipTunnel = { + allowedConnections = [ ]; + outgoingConnections = [ ]; + }; }; - }; - security = [ { exemptAngel = 1; setuser = "nobody"; } ]; + security = [ + { + exemptAngel = 1; + setuser = "nobody"; + } + ]; - } cfg.extraConfig); + } cfg.extraConfig + ); in @@ -94,8 +117,10 @@ in extraConfig = lib.mkOption { type = lib.types.attrs; - default = {}; - example = { router.interface.tunDevice = "tun10"; }; + default = { }; + example = { + router.interface.tunDevice = "tun10"; + }; description = '' Extra configuration, given as attrs, that will be merged recursively with the rest of the JSON generated by this module, at the root node. @@ -143,9 +168,9 @@ in description = '' Address and port to bind UDP tunnels to. ''; - }; + }; connectTo = lib.mkOption { - type = lib.types.attrsOf ( lib.types.submodule ( connectToSubmodule ) ); + type = lib.types.attrsOf (lib.types.submodule (connectToSubmodule)); default = { }; example = lib.literalExpression '' { @@ -168,9 +193,9 @@ in default = ""; example = "eth0"; description = '' - Bind to this device for native ethernet operation. - `all` is a pseudo-name which will try to connect to all devices. - ''; + Bind to this device for native ethernet operation. + `all` is a pseudo-name which will try to connect to all devices. + ''; }; beacon = lib.mkOption { @@ -191,7 +216,7 @@ in }; connectTo = lib.mkOption { - type = lib.types.attrsOf ( lib.types.submodule ( connectToSubmodule ) ); + type = lib.types.attrsOf (lib.types.submodule (connectToSubmodule)); default = { }; example = lib.literalExpression '' { @@ -231,7 +256,10 @@ in systemd.services.cjdns = { description = "cjdns: routing engine designed for security, scalability, speed and ease of use"; - wantedBy = [ "multi-user.target" "sleep.target"]; + wantedBy = [ + "multi-user.target" + "sleep.target" + ]; after = [ "network-online.target" ]; bindsTo = [ "network-online.target" ]; @@ -253,7 +281,9 @@ in ''; script = ( - if cfg.confFile != null then "${pkg}/bin/cjdroute < ${cfg.confFile}" else + if cfg.confFile != null then + "${pkg}/bin/cjdroute < ${cfg.confFile}" + else '' source /etc/cjdns.keys (cat <<'EOF' @@ -263,7 +293,7 @@ in -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \ -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \ | ${pkg}/bin/cjdroute - '' + '' ); startLimitIntervalSec = 0; @@ -283,10 +313,12 @@ in networking.hostFiles = lib.mkIf cfg.addExtraHosts [ cjdnsExtraHosts ]; assertions = [ - { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile != null ); + { + assertion = (cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile != null); message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined."; } - { assertion = config.networking.enableIPv6; + { + assertion = config.networking.enableIPv6; message = "networking.enableIPv6 must be enabled for CJDNS to work"; } ]; diff --git a/nixos/modules/services/networking/clatd.nix b/nixos/modules/services/networking/clatd.nix index 8c7f8e76feff8..8ddeb51479e47 100644 --- a/nixos/modules/services/networking/clatd.nix +++ b/nixos/modules/services/networking/clatd.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.clatd; - settingsFormat = pkgs.formats.keyValue {}; + settingsFormat = pkgs.formats.keyValue { }; configFile = settingsFormat.generate "clatd.conf" cfg.settings; in @@ -19,9 +24,12 @@ in }; settings = lib.mkOption { - type = lib.types.submodule ({ name, ... }: { - freeformType = settingsFormat.type; - }); + type = lib.types.submodule ( + { name, ... }: + { + freeformType = settingsFormat.type; + } + ); default = { }; example = lib.literalExpression '' { diff --git a/nixos/modules/services/networking/cloudflare-dyndns.nix b/nixos/modules/services/networking/cloudflare-dyndns.nix index 0f035362742ef..e6e9388dd22b2 100644 --- a/nixos/modules/services/networking/cloudflare-dyndns.nix +++ b/nixos/modules/services/networking/cloudflare-dyndns.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.cloudflare-dyndns; in @@ -72,32 +77,35 @@ in }; config = lib.mkIf cfg.enable { - systemd.services.cloudflare-dyndns = { - description = "CloudFlare Dynamic DNS Client"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + systemd.services.cloudflare-dyndns = + { + description = "CloudFlare Dynamic DNS Client"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; - environment = { - CLOUDFLARE_DOMAINS = toString cfg.domains; - }; + environment = { + CLOUDFLARE_DOMAINS = toString cfg.domains; + }; - serviceConfig = { - Type = "simple"; - DynamicUser = true; - StateDirectory = "cloudflare-dyndns"; - EnvironmentFile = cfg.apiTokenFile; - ExecStart = - let - args = [ "--cache-file /var/lib/cloudflare-dyndns/ip.cache" ] - ++ (if cfg.ipv4 then [ "-4" ] else [ "-no-4" ]) - ++ (if cfg.ipv6 then [ "-6" ] else [ "-no-6" ]) - ++ lib.optional cfg.deleteMissing "--delete-missing" - ++ lib.optional cfg.proxied "--proxied"; - in - "${lib.getExe cfg.package} ${toString args}"; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + StateDirectory = "cloudflare-dyndns"; + EnvironmentFile = cfg.apiTokenFile; + ExecStart = + let + args = + [ "--cache-file /var/lib/cloudflare-dyndns/ip.cache" ] + ++ (if cfg.ipv4 then [ "-4" ] else [ "-no-4" ]) + ++ (if cfg.ipv6 then [ "-6" ] else [ "-no-6" ]) + ++ lib.optional cfg.deleteMissing "--delete-missing" + ++ lib.optional cfg.proxied "--proxied"; + in + "${lib.getExe cfg.package} ${toString args}"; + }; + } + // lib.optionalAttrs (cfg.frequency != null) { + startAt = cfg.frequency; }; - } // lib.optionalAttrs (cfg.frequency != null) { - startAt = cfg.frequency; - }; }; } diff --git a/nixos/modules/services/networking/cloudflare-warp.nix b/nixos/modules/services/networking/cloudflare-warp.nix index 2ab5f287ac496..9cd946903adc0 100644 --- a/nixos/modules/services/networking/cloudflare-warp.nix +++ b/nixos/modules/services/networking/cloudflare-warp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.cloudflare-warp; in @@ -64,7 +69,10 @@ in { Type = "simple"; ExecStart = "${cfg.package}/bin/warp-svc"; - ReadWritePaths = [ "${cfg.rootDir}" "/etc/resolv.conf" ]; + ReadWritePaths = [ + "${cfg.rootDir}" + "/etc/resolv.conf" + ]; CapabilityBoundingSet = caps; AmbientCapabilities = caps; Restart = "always"; diff --git a/nixos/modules/services/networking/cloudflared.nix b/nixos/modules/services/networking/cloudflared.nix index 7023e79d31f92..12eaf35e5fdff 100644 --- a/nixos/modules/services/networking/cloudflared.nix +++ b/nixos/modules/services/networking/cloudflared.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.cloudflared; @@ -121,7 +126,12 @@ let }; proxyType = lib.mkOption { - type = with lib.types; nullOr (enum [ "" "socks" ]); + type = + with lib.types; + nullOr (enum [ + "" + "socks" + ]); default = null; example = ""; description = '' @@ -155,83 +165,97 @@ in description = '' Cloudflare tunnels. ''; - type = lib.types.attrsOf (lib.types.submodule ({ name, ... }: { - options = { - inherit originRequest; - - credentialsFile = lib.mkOption { - type = lib.types.str; - description = '' - Credential file. - - See [Credentials file](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms/#credentials-file). - ''; - }; - - warp-routing = { - enabled = lib.mkOption { - type = with lib.types; nullOr bool; - default = null; - description = '' - Enable warp routing. - - See [Connect from WARP to a private network on Cloudflare using Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/tutorials/warp-to-tunnel/). - ''; - }; - }; - - default = lib.mkOption { - type = lib.types.str; - description = '' - Catch-all service if no ingress matches. - - See `service`. - ''; - example = "http_status:404"; - }; - - ingress = lib.mkOption { - type = with lib.types; attrsOf (either str (submodule ({ hostname, ... }: { - options = { - inherit originRequest; + type = lib.types.attrsOf ( + lib.types.submodule ( + { name, ... }: + { + options = { + inherit originRequest; + + credentialsFile = lib.mkOption { + type = lib.types.str; + description = '' + Credential file. + + See [Credentials file](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms/#credentials-file). + ''; + }; - service = lib.mkOption { - type = with lib.types; nullOr str; + warp-routing = { + enabled = lib.mkOption { + type = with lib.types; nullOr bool; default = null; description = '' - Service to pass the traffic. + Enable warp routing. - See [Supported protocols](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/local-management/ingress/#supported-protocols). + See [Connect from WARP to a private network on Cloudflare using Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/tutorials/warp-to-tunnel/). ''; - example = "http://localhost:80, tcp://localhost:8000, unix:/home/production/echo.sock, hello_world or http_status:404"; }; + }; - path = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - description = '' - Path filter. + default = lib.mkOption { + type = lib.types.str; + description = '' + Catch-all service if no ingress matches. - If not specified, all paths will be matched. - ''; - example = "/*.(jpg|png|css|js)"; - }; + See `service`. + ''; + example = "http_status:404"; + }; + ingress = lib.mkOption { + type = + with lib.types; + attrsOf ( + either str ( + submodule ( + { hostname, ... }: + { + options = { + inherit originRequest; + + service = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + Service to pass the traffic. + + See [Supported protocols](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/local-management/ingress/#supported-protocols). + ''; + example = "http://localhost:80, tcp://localhost:8000, unix:/home/production/echo.sock, hello_world or http_status:404"; + }; + + path = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + Path filter. + + If not specified, all paths will be matched. + ''; + example = "/*.(jpg|png|css|js)"; + }; + + }; + } + ) + ) + ); + default = { }; + description = '' + Ingress rules. + + See [Ingress rules](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/local-management/ingress/). + ''; + example = { + "*.domain.com" = "http://localhost:80"; + "*.anotherone.com" = "http://localhost:80"; + }; }; - }))); - default = { }; - description = '' - Ingress rules. - - See [Ingress rules](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/local-management/ingress/). - ''; - example = { - "*.domain.com" = "http://localhost:80"; - "*.anotherone.com" = "http://localhost:80"; }; - }; - }; - })); + } + ) + ); default = { }; example = { @@ -249,66 +273,74 @@ in }; config = lib.mkIf cfg.enable { - systemd.targets = - lib.mapAttrs' - (name: tunnel: - lib.nameValuePair "cloudflared-tunnel-${name}" { - description = "Cloudflare tunnel '${name}' target"; - requires = [ "cloudflared-tunnel-${name}.service" ]; - after = [ "cloudflared-tunnel-${name}.service" ]; - unitConfig.StopWhenUnneeded = true; - } - ) - config.services.cloudflared.tunnels; - - systemd.services = - lib.mapAttrs' - (name: tunnel: - let - filterConfig = lib.attrsets.filterAttrsRecursive (_: v: ! builtins.elem v [ null [ ] { } ]); - - filterIngressSet = lib.filterAttrs (_: v: builtins.typeOf v == "set"); - filterIngressStr = lib.filterAttrs (_: v: builtins.typeOf v == "string"); - - ingressesSet = filterIngressSet tunnel.ingress; - ingressesStr = filterIngressStr tunnel.ingress; - - fullConfig = filterConfig { - tunnel = name; - "credentials-file" = tunnel.credentialsFile; - warp-routing = filterConfig tunnel.warp-routing; - originRequest = filterConfig tunnel.originRequest; - ingress = - (map - (key: { - hostname = key; - } // lib.getAttr key (filterConfig (filterConfig ingressesSet))) - (lib.attrNames ingressesSet)) - ++ - (map - (key: { - hostname = key; - service = lib.getAttr key ingressesStr; - }) - (lib.attrNames ingressesStr)) - ++ [{ service = tunnel.default; }]; - }; + systemd.targets = lib.mapAttrs' ( + name: tunnel: + lib.nameValuePair "cloudflared-tunnel-${name}" { + description = "Cloudflare tunnel '${name}' target"; + requires = [ "cloudflared-tunnel-${name}.service" ]; + after = [ "cloudflared-tunnel-${name}.service" ]; + unitConfig.StopWhenUnneeded = true; + } + ) config.services.cloudflared.tunnels; + + systemd.services = lib.mapAttrs' ( + name: tunnel: + let + filterConfig = lib.attrsets.filterAttrsRecursive ( + _: v: + !builtins.elem v [ + null + [ ] + { } + ] + ); + + filterIngressSet = lib.filterAttrs (_: v: builtins.typeOf v == "set"); + filterIngressStr = lib.filterAttrs (_: v: builtins.typeOf v == "string"); + + ingressesSet = filterIngressSet tunnel.ingress; + ingressesStr = filterIngressStr tunnel.ingress; + + fullConfig = filterConfig { + tunnel = name; + "credentials-file" = tunnel.credentialsFile; + warp-routing = filterConfig tunnel.warp-routing; + originRequest = filterConfig tunnel.originRequest; + ingress = + (map ( + key: + { + hostname = key; + } + // lib.getAttr key (filterConfig (filterConfig ingressesSet)) + ) (lib.attrNames ingressesSet)) + ++ (map (key: { + hostname = key; + service = lib.getAttr key ingressesStr; + }) (lib.attrNames ingressesStr)) + ++ [ { service = tunnel.default; } ]; + }; - mkConfigFile = pkgs.writeText "cloudflared.yml" (builtins.toJSON fullConfig); - in - lib.nameValuePair "cloudflared-tunnel-${name}" ({ - after = [ "network.target" "network-online.target" ]; - wants = [ "network.target" "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStart = "${cfg.package}/bin/cloudflared tunnel --config=${mkConfigFile} --no-autoupdate run"; - Restart = "on-failure"; - }; - }) - ) - config.services.cloudflared.tunnels; + mkConfigFile = pkgs.writeText "cloudflared.yml" (builtins.toJSON fullConfig); + in + lib.nameValuePair "cloudflared-tunnel-${name}" ({ + after = [ + "network.target" + "network-online.target" + ]; + wants = [ + "network.target" + "network-online.target" + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${cfg.package}/bin/cloudflared tunnel --config=${mkConfigFile} --no-autoupdate run"; + Restart = "on-failure"; + }; + }) + ) config.services.cloudflared.tunnels; users.users = lib.mkIf (cfg.user == "cloudflared") { cloudflared = { @@ -322,5 +354,8 @@ in }; }; - meta.maintainers = with lib.maintainers; [ bbigras anpin ]; + meta.maintainers = with lib.maintainers; [ + bbigras + anpin + ]; } diff --git a/nixos/modules/services/networking/cntlm.nix b/nixos/modules/services/networking/cntlm.nix index 4615380c41ebe..13a9bb7b04ec6 100644 --- a/nixos/modules/services/networking/cntlm.nix +++ b/nixos/modules/services/networking/cntlm.nix @@ -1,28 +1,34 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.cntlm; - configFile = if cfg.configText != "" then - pkgs.writeText "cntlm.conf" '' - ${cfg.configText} - '' + configFile = + if cfg.configText != "" then + pkgs.writeText "cntlm.conf" '' + ${cfg.configText} + '' else - pkgs.writeText "lighttpd.conf" '' - # Cntlm Authentication Proxy Configuration - Username ${cfg.username} - Domain ${cfg.domain} - Password ${cfg.password} - ${lib.optionalString (cfg.netbios_hostname != "") "Workstation ${cfg.netbios_hostname}"} - ${lib.concatMapStrings (entry: "Proxy ${entry}\n") cfg.proxy} - ${lib.optionalString (cfg.noproxy != []) "NoProxy ${lib.concatStringsSep ", " cfg.noproxy}"} - - ${lib.concatMapStrings (port: '' - Listen ${toString port} - '') cfg.port} - - ${cfg.extraConfig} - ''; + pkgs.writeText "lighttpd.conf" '' + # Cntlm Authentication Proxy Configuration + Username ${cfg.username} + Domain ${cfg.domain} + Password ${cfg.password} + ${lib.optionalString (cfg.netbios_hostname != "") "Workstation ${cfg.netbios_hostname}"} + ${lib.concatMapStrings (entry: "Proxy ${entry}\n") cfg.proxy} + ${lib.optionalString (cfg.noproxy != [ ]) "NoProxy ${lib.concatStringsSep ", " cfg.noproxy}"} + + ${lib.concatMapStrings (port: '' + Listen ${toString port} + '') cfg.port} + + ${cfg.extraConfig} + ''; in @@ -74,13 +80,16 @@ in description = '' A list of domains where the proxy is skipped. ''; - default = []; + default = [ ]; type = lib.types.listOf lib.types.str; - example = [ "*.example.com" "example.com" ]; + example = [ + "*.example.com" + "example.com" + ]; }; port = lib.mkOption { - default = [3128]; + default = [ 3128 ]; type = lib.types.listOf lib.types.port; description = "Specifies on which ports the cntlm daemon listens."; }; @@ -92,9 +101,9 @@ in }; configText = lib.mkOption { - type = lib.types.lines; - default = ""; - description = "Verbatim contents of {file}`cntlm.conf`."; + type = lib.types.lines; + default = ""; + description = "Verbatim contents of {file}`cntlm.conf`."; }; }; diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix index 2391f11c1cbd5..427b9c409c928 100644 --- a/nixos/modules/services/networking/connman.nix +++ b/nixos/modules/services/networking/connman.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.connman; @@ -9,7 +14,8 @@ let ${cfg.extraConfig} ''; enableIwd = cfg.wifi.backend == "iwd"; -in { +in +{ meta.maintainers = with lib.maintainers; [ AndersonTorres ]; imports = [ @@ -54,7 +60,13 @@ in { networkInterfaceBlacklist = lib.mkOption { type = with lib.types; listOf str; - default = [ "vmnet" "vboxnet" "virbr" "ifb" "ve" ]; + default = [ + "vmnet" + "vboxnet" + "virbr" + "ifb" + "ve" + ]; description = '' Default blacklisted interfaces, this includes NixOS containers interfaces (ve). ''; @@ -62,7 +74,10 @@ in { wifi = { backend = lib.mkOption { - type = lib.types.enum [ "wpa_supplicant" "iwd" ]; + type = lib.types.enum [ + "wpa_supplicant" + "iwd" + ]; default = "wpa_supplicant"; description = '' Specify the Wi-Fi backend used. @@ -85,15 +100,18 @@ in { ###### implementation config = lib.mkIf cfg.enable { - assertions = [{ - assertion = !config.networking.useDHCP; - message = "You can not use services.connman with networking.useDHCP"; - }{ - # TODO: connman seemingly can be used along network manager and - # connmanFull supports this - so this should be worked out somehow - assertion = !config.networking.networkmanager.enable; - message = "You can not use services.connman with networking.networkmanager"; - }]; + assertions = [ + { + assertion = !config.networking.useDHCP; + message = "You can not use services.connman with networking.useDHCP"; + } + { + # TODO: connman seemingly can be used along network manager and + # connmanFull supports this - so this should be worked out somehow + assertion = !config.networking.networkmanager.enable; + message = "You can not use services.connman with networking.networkmanager"; + } + ]; environment.systemPackages = [ cfg.package ]; @@ -106,12 +124,15 @@ in { Type = "dbus"; BusName = "net.connman"; Restart = "on-failure"; - ExecStart = toString ([ - "${cfg.package}/sbin/connmand" - "--config=${configFile}" - "--nodaemon" - ] ++ lib.optional enableIwd "--wifi=iwd_agent" - ++ cfg.extraFlags); + ExecStart = toString ( + [ + "${cfg.package}/sbin/connmand" + "--config=${configFile}" + "--nodaemon" + ] + ++ lib.optional enableIwd "--wifi=iwd_agent" + ++ cfg.extraFlags + ); StandardOutput = "null"; }; }; diff --git a/nixos/modules/services/networking/consul.nix b/nixos/modules/services/networking/consul.nix index 855d3872aa62e..74fcaaaddcdc4 100644 --- a/nixos/modules/services/networking/consul.nix +++ b/nixos/modules/services/networking/consul.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let dataDir = "/var/lib/consul"; @@ -11,12 +17,15 @@ let }; } // cfg.extraConfig; - configFiles = [ "/etc/consul.json" "/etc/consul-addrs.json" ] - ++ cfg.extraConfigFiles; + configFiles = [ + "/etc/consul.json" + "/etc/consul-addrs.json" + ] ++ cfg.extraConfigFiles; devices = lib.attrValues (lib.filterAttrs (_: i: i != null) cfg.interface); - systemdDevices = lib.forEach devices - (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device"); + systemdDevices = lib.forEach devices ( + i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device" + ); in { options = { @@ -73,7 +82,11 @@ in }; forceAddrFamily = lib.mkOption { - type = lib.types.enum [ "any" "ipv4" "ipv6" ]; + type = lib.types.enum [ + "any" + "ipv4" + "ipv6" + ]; default = "any"; description = '' Whether to bind ipv4/ipv6 or both kind of addresses. @@ -150,121 +163,139 @@ in }; config = lib.mkIf cfg.enable ( - lib.mkMerge [{ - - users.users.consul = { - description = "Consul agent daemon user"; - isSystemUser = true; - group = "consul"; - # The shell is needed for health checks - shell = "/run/current-system/sw/bin/bash"; - }; - users.groups.consul = {}; + lib.mkMerge [ + { + + users.users.consul = { + description = "Consul agent daemon user"; + isSystemUser = true; + group = "consul"; + # The shell is needed for health checks + shell = "/run/current-system/sw/bin/bash"; + }; + users.groups.consul = { }; - environment = { - etc."consul.json".text = builtins.toJSON configOptions; - # We need consul.d to exist for consul to start - etc."consul.d/dummy.json".text = "{ }"; - systemPackages = [ cfg.package ]; - }; + environment = { + etc."consul.json".text = builtins.toJSON configOptions; + # We need consul.d to exist for consul to start + etc."consul.d/dummy.json".text = "{ }"; + systemPackages = [ cfg.package ]; + }; - warnings = lib.flatten [ - (lib.optional (cfg.forceIpv4 != null) '' - The option consul.forceIpv4 is deprecated, please use - consul.forceAddrFamily instead. - '') - ]; - - systemd.services.consul = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] ++ systemdDevices; - bindsTo = systemdDevices; - restartTriggers = [ config.environment.etc."consul.json".source ] - ++ lib.mapAttrsToList (_: d: d.source) - (lib.filterAttrs (n: _: lib.hasPrefix "consul.d/" n) config.environment.etc); - - serviceConfig = { - ExecStart = "@${lib.getExe cfg.package} consul agent -config-dir /etc/consul.d" - + lib.concatMapStrings (n: " -config-file ${n}") configFiles; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - PermissionsStartOnly = true; - User = if cfg.dropPrivileges then "consul" else null; - Restart = "on-failure"; - TimeoutStartSec = "infinity"; - } // (lib.optionalAttrs (cfg.leaveOnStop) { - ExecStop = "${lib.getExe cfg.package} leave"; - }); - - path = with pkgs; [ iproute2 gawk cfg.package ]; - preStart = let - family = if cfg.forceAddrFamily == "ipv6" then - "-6" - else if cfg.forceAddrFamily == "ipv4" then - "-4" - else - ""; - in '' - mkdir -m 0700 -p ${dataDir} - chown -R consul ${dataDir} - - # Determine interface addresses - getAddrOnce () { - ip ${family} addr show dev "$1" scope global \ - | awk -F '[ /\t]*' '/inet/ {print $3}' | head -n 1 - } - getAddr () { - ADDR="$(getAddrOnce $1)" - LEFT=60 # Die after 1 minute - while [ -z "$ADDR" ]; do - sleep 1 - LEFT=$(expr $LEFT - 1) - if [ "$LEFT" -eq "0" ]; then - echo "Address lookup timed out" - exit 1 - fi - ADDR="$(getAddrOnce $1)" - done - echo "$ADDR" - } - echo "{" > /etc/consul-addrs.json - delim=" " - '' - + lib.concatStrings (lib.flip lib.mapAttrsToList cfg.interface (name: i: - lib.optionalString (i != null) '' - echo "$delim \"${name}_addr\": \"$(getAddr "${i}")\"" >> /etc/consul-addrs.json - delim="," - '')) - + '' - echo "}" >> /etc/consul-addrs.json - ''; - }; - } - - # deprecated - (lib.mkIf (cfg.forceIpv4 != null && cfg.forceIpv4) { - services.consul.forceAddrFamily = "ipv4"; - }) - - (lib.mkIf (cfg.alerts.enable) { - systemd.services.consul-alerts = { - wantedBy = [ "multi-user.target" ]; - after = [ "consul.service" ]; - - path = [ cfg.package ]; - - serviceConfig = { - ExecStart = '' - ${lib.getExe cfg.alerts.package} start \ - --alert-addr=${cfg.alerts.listenAddr} \ - --consul-addr=${cfg.alerts.consulAddr} \ - ${lib.optionalString cfg.alerts.watchChecks "--watch-checks"} \ - ${lib.optionalString cfg.alerts.watchEvents "--watch-events"} - ''; - User = if cfg.dropPrivileges then "consul" else null; - Restart = "on-failure"; + warnings = lib.flatten [ + (lib.optional (cfg.forceIpv4 != null) '' + The option consul.forceIpv4 is deprecated, please use + consul.forceAddrFamily instead. + '') + ]; + + systemd.services.consul = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ] ++ systemdDevices; + bindsTo = systemdDevices; + restartTriggers = + [ config.environment.etc."consul.json".source ] + ++ lib.mapAttrsToList (_: d: d.source) ( + lib.filterAttrs (n: _: lib.hasPrefix "consul.d/" n) config.environment.etc + ); + + serviceConfig = + { + ExecStart = + "@${lib.getExe cfg.package} consul agent -config-dir /etc/consul.d" + + lib.concatMapStrings (n: " -config-file ${n}") configFiles; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + PermissionsStartOnly = true; + User = if cfg.dropPrivileges then "consul" else null; + Restart = "on-failure"; + TimeoutStartSec = "infinity"; + } + // (lib.optionalAttrs (cfg.leaveOnStop) { + ExecStop = "${lib.getExe cfg.package} leave"; + }); + + path = with pkgs; [ + iproute2 + gawk + cfg.package + ]; + preStart = + let + family = + if cfg.forceAddrFamily == "ipv6" then + "-6" + else if cfg.forceAddrFamily == "ipv4" then + "-4" + else + ""; + in + '' + mkdir -m 0700 -p ${dataDir} + chown -R consul ${dataDir} + + # Determine interface addresses + getAddrOnce () { + ip ${family} addr show dev "$1" scope global \ + | awk -F '[ /\t]*' '/inet/ {print $3}' | head -n 1 + } + getAddr () { + ADDR="$(getAddrOnce $1)" + LEFT=60 # Die after 1 minute + while [ -z "$ADDR" ]; do + sleep 1 + LEFT=$(expr $LEFT - 1) + if [ "$LEFT" -eq "0" ]; then + echo "Address lookup timed out" + exit 1 + fi + ADDR="$(getAddrOnce $1)" + done + echo "$ADDR" + } + echo "{" > /etc/consul-addrs.json + delim=" " + '' + + lib.concatStrings ( + lib.flip lib.mapAttrsToList cfg.interface ( + name: i: + lib.optionalString (i != null) '' + echo "$delim \"${name}_addr\": \"$(getAddr "${i}")\"" >> /etc/consul-addrs.json + delim="," + '' + ) + ) + + '' + echo "}" >> /etc/consul-addrs.json + ''; }; - }; - }) + } + + # deprecated + (lib.mkIf (cfg.forceIpv4 != null && cfg.forceIpv4) { + services.consul.forceAddrFamily = "ipv4"; + }) + + (lib.mkIf (cfg.alerts.enable) { + systemd.services.consul-alerts = { + wantedBy = [ "multi-user.target" ]; + after = [ "consul.service" ]; + + path = [ cfg.package ]; + + serviceConfig = { + ExecStart = '' + ${lib.getExe cfg.alerts.package} start \ + --alert-addr=${cfg.alerts.listenAddr} \ + --consul-addr=${cfg.alerts.consulAddr} \ + ${lib.optionalString cfg.alerts.watchChecks "--watch-checks"} \ + ${lib.optionalString cfg.alerts.watchEvents "--watch-events"} + ''; + User = if cfg.dropPrivileges then "consul" else null; + Restart = "on-failure"; + }; + }; + }) - ]); + ] + ); } diff --git a/nixos/modules/services/networking/coredns.nix b/nixos/modules/services/networking/coredns.nix index 14602e06fe820..46202fa088f19 100644 --- a/nixos/modules/services/networking/coredns.nix +++ b/nixos/modules/services/networking/coredns.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.coredns; configFile = pkgs.writeText "Corefile" cfg.config; -in { +in +{ options.services.coredns = { enable = lib.mkEnableOption "Coredns dns server"; @@ -23,7 +29,7 @@ in { package = lib.mkPackageOption pkgs "coredns" { }; extraArgs = lib.mkOption { - default = []; + default = [ ]; example = [ "-dns.port=53" ]; type = lib.types.listOf lib.types.str; description = "Extra arguments to pass to coredns."; diff --git a/nixos/modules/services/networking/corerad.nix b/nixos/modules/services/networking/corerad.nix index edeee881008fc..3851c22f6eeca 100644 --- a/nixos/modules/services/networking/corerad.nix +++ b/nixos/modules/services/networking/corerad.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.corerad; - settingsFormat = pkgs.formats.toml {}; + settingsFormat = pkgs.formats.toml { }; -in { +in +{ meta.maintainers = with lib.maintainers; [ mdlayher ]; options.services.corerad = { diff --git a/nixos/modules/services/networking/coturn.nix b/nixos/modules/services/networking/coturn.nix index ab8806dc03a18..b50aad89871b8 100644 --- a/nixos/modules/services/networking/coturn.nix +++ b/nixos/modules/services/networking/coturn.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.coturn; pidfile = "/run/turnserver/turnserver.pid"; @@ -14,8 +20,12 @@ let ${lib.optionalString cfg.lt-cred-mech "lt-cred-mech"} ${lib.optionalString cfg.no-auth "no-auth"} ${lib.optionalString cfg.use-auth-secret "use-auth-secret"} - ${lib.optionalString (cfg.static-auth-secret != null) "static-auth-secret=${cfg.static-auth-secret}"} - ${lib.optionalString (cfg.static-auth-secret-file != null) "static-auth-secret=#static-auth-secret#"} + ${lib.optionalString ( + cfg.static-auth-secret != null + ) "static-auth-secret=${cfg.static-auth-secret}"} + ${lib.optionalString ( + cfg.static-auth-secret-file != null + ) "static-auth-secret=#static-auth-secret#"} realm=${cfg.realm} ${lib.optionalString cfg.no-udp "no-udp"} ${lib.optionalString cfg.no-tcp "no-tcp"} @@ -36,7 +46,8 @@ let ${lib.optionalString (cfg.cli-password != null) "cli-password=${cfg.cli-password}"} ${cfg.extraConfig} ''; -in { +in +{ options = { services.coturn = { enable = lib.mkEnableOption "coturn TURN server"; @@ -89,8 +100,11 @@ in { }; listening-ips = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "203.0.113.42" "2001:DB8::42" ]; + default = [ ]; + example = [ + "203.0.113.42" + "2001:DB8::42" + ]; description = '' Listener IP addresses of relay server. If no IP(s) specified in the config file or in the command line options, @@ -99,8 +113,11 @@ in { }; relay-ips = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "203.0.113.42" "2001:DB8::42" ]; + default = [ ]; + example = [ + "203.0.113.42" + "2001:DB8::42" + ]; description = '' Relay address (the local IP address that will be used to relay the packets to the peer). @@ -301,106 +318,120 @@ in { }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - { assertions = [ - { assertion = cfg.static-auth-secret != null -> cfg.static-auth-secret-file == null ; - message = "static-auth-secret and static-auth-secret-file cannot be set at the same time"; + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + assertions = [ + { + assertion = cfg.static-auth-secret != null -> cfg.static-auth-secret-file == null; + message = "static-auth-secret and static-auth-secret-file cannot be set at the same time"; + } + ]; } - ];} - { - users.users.turnserver = - { uid = config.ids.uids.turnserver; + { + users.users.turnserver = { + uid = config.ids.uids.turnserver; group = "turnserver"; description = "coturn TURN server user"; }; - users.groups.turnserver = - { gid = config.ids.gids.turnserver; + users.groups.turnserver = { + gid = config.ids.gids.turnserver; members = [ "turnserver" ]; }; - systemd.services.coturn = let - runConfig = "/run/coturn/turnserver.cfg"; - in { - description = "coturn TURN server"; - after = [ "network-online.target" ]; - wants = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; + systemd.services.coturn = + let + runConfig = "/run/coturn/turnserver.cfg"; + in + { + description = "coturn TURN server"; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; - unitConfig = { - Documentation = "man:coturn(1) man:turnadmin(1) man:turnserver(1)"; - }; + unitConfig = { + Documentation = "man:coturn(1) man:turnadmin(1) man:turnserver(1)"; + }; - preStart = '' - cat ${configFile} > ${runConfig} - ${lib.optionalString (cfg.static-auth-secret-file != null) '' - ${pkgs.replace-secret}/bin/replace-secret \ - "#static-auth-secret#" \ - ${cfg.static-auth-secret-file} \ - ${runConfig} - '' } - chmod 640 ${runConfig} - ''; - serviceConfig = rec { - Type = "simple"; - ExecStart = utils.escapeSystemdExecArgs [ - (lib.getExe' pkgs.coturn "turnserver") - "-c" - runConfig - ]; - User = "turnserver"; - Group = "turnserver"; - RuntimeDirectory = [ - "coturn" - "turnserver" - ]; - RuntimeDirectoryMode = "0700"; - Restart = "on-abort"; + preStart = '' + cat ${configFile} > ${runConfig} + ${lib.optionalString (cfg.static-auth-secret-file != null) '' + ${pkgs.replace-secret}/bin/replace-secret \ + "#static-auth-secret#" \ + ${cfg.static-auth-secret-file} \ + ${runConfig} + ''} + chmod 640 ${runConfig} + ''; + serviceConfig = rec { + Type = "simple"; + ExecStart = utils.escapeSystemdExecArgs [ + (lib.getExe' pkgs.coturn "turnserver") + "-c" + runConfig + ]; + User = "turnserver"; + Group = "turnserver"; + RuntimeDirectory = [ + "coturn" + "turnserver" + ]; + RuntimeDirectoryMode = "0700"; + Restart = "on-abort"; - # Hardening - AmbientCapabilities = if - cfg.listening-port < 1024 || - cfg.alt-listening-port < 1024 || - cfg.tls-listening-port < 1024 || - cfg.alt-tls-listening-port < 1024 || - cfg.min-port < 1024 - then [ "CAP_NET_BIND_SERVICE" ] else [ "" ]; - CapabilityBoundingSet = AmbientCapabilities; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - ] ++ lib.optionals (cfg.listening-ips == [ ]) [ - # only used for interface discovery when no listening ips are configured - "AF_NETLINK" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged @resources" - ]; - UMask = "0077"; - }; - }; - }]); + # Hardening + AmbientCapabilities = + if + cfg.listening-port < 1024 + || cfg.alt-listening-port < 1024 + || cfg.tls-listening-port < 1024 + || cfg.alt-tls-listening-port < 1024 + || cfg.min-port < 1024 + then + [ "CAP_NET_BIND_SERVICE" ] + else + [ "" ]; + CapabilityBoundingSet = AmbientCapabilities; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = + [ + "AF_INET" + "AF_INET6" + ] + ++ lib.optionals (cfg.listening-ips == [ ]) [ + # only used for interface discovery when no listening ips are configured + "AF_NETLINK" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ]; + UMask = "0077"; + }; + }; + } + ] + ); } diff --git a/nixos/modules/services/networking/create_ap.nix b/nixos/modules/services/networking/create_ap.nix index cebea3c9059cc..a67f11f2a6ac8 100644 --- a/nixos/modules/services/networking/create_ap.nix +++ b/nixos/modules/services/networking/create_ap.nix @@ -1,14 +1,26 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.create_ap; configFile = pkgs.writeText "create_ap.conf" (lib.generators.toKeyValue { } cfg.settings); -in { +in +{ options = { services.create_ap = { enable = lib.mkEnableOption "setting up wifi hotspots using create_ap"; settings = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ int bool str ]); - default = {}; + type = + with lib.types; + attrsOf (oneOf [ + int + bool + str + ]); + default = { }; description = '' Configuration for `create_ap`. See [upstream example configuration](https://raw.githubusercontent.com/lakinduakash/linux-wifi-hotspot/master/src/scripts/create_ap.conf) diff --git a/nixos/modules/services/networking/croc.nix b/nixos/modules/services/networking/croc.nix index 799bf390d526c..b6395992af82d 100644 --- a/nixos/modules/services/networking/croc.nix +++ b/nixos/modules/services/networking/croc.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) types; cfg = config.services.croc; @@ -9,7 +14,13 @@ in enable = lib.mkEnableOption "croc relay"; ports = lib.mkOption { type = with types; listOf port; - default = [9009 9010 9011 9012 9013]; + default = [ + 9009 + 9010 + 9011 + 9012 + 9013 + ]; description = "Ports of the relay."; }; pass = lib.mkOption { @@ -26,7 +37,9 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${pkgs.croc}/bin/croc --pass '${cfg.pass}' ${lib.optionalString cfg.debug "--debug"} relay --ports ${lib.concatMapStringsSep "," toString cfg.ports}"; + ExecStart = "${pkgs.croc}/bin/croc --pass '${cfg.pass}' ${lib.optionalString cfg.debug "--debug"} relay --ports ${ + lib.concatMapStringsSep "," toString cfg.ports + }"; # The following options are only for optimizing: # systemd-analyze security croc AmbientCapabilities = ""; @@ -54,7 +67,10 @@ in ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -68,11 +84,17 @@ in # to allow traversal of directories they create in RootDirectory=. UMask = "0066"; # Create rootDir in the host's mount namespace. - RuntimeDirectory = [(baseNameOf rootDir)]; + RuntimeDirectory = [ (baseNameOf rootDir) ]; RuntimeDirectoryMode = "700"; SystemCallFilter = [ "@system-service" - "~@aio" "~@keyring" "~@memlock" "~@privileged" "~@setuid" "~@sync" "~@timer" + "~@aio" + "~@keyring" + "~@memlock" + "~@privileged" + "~@setuid" + "~@sync" + "~@timer" ]; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; @@ -82,5 +104,8 @@ in networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall cfg.ports; }; - meta.maintainers = with lib.maintainers; [ hax404 julm ]; + meta.maintainers = with lib.maintainers; [ + hax404 + julm + ]; } diff --git a/nixos/modules/services/networking/dae.nix b/nixos/modules/services/networking/dae.nix index 34ebb47c18e77..328db5850dcc3 100644 --- a/nixos/modules/services/networking/dae.nix +++ b/nixos/modules/services/networking/dae.nix @@ -1,26 +1,38 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dae; assets = cfg.assets; - genAssetsDrv = paths: pkgs.symlinkJoin { - name = "dae-assets"; - inherit paths; - }; + genAssetsDrv = + paths: + pkgs.symlinkJoin { + name = "dae-assets"; + inherit paths; + }; in { - meta.maintainers = with lib.maintainers; [ pokon548 oluceps ]; + meta.maintainers = with lib.maintainers; [ + pokon548 + oluceps + ]; options = { - services.dae = with lib;{ + services.dae = with lib; { enable = mkEnableOption "dae, a Linux high-performance transparent proxy solution based on eBPF"; package = mkPackageOption pkgs "dae" { }; - assets = mkOption { - type = with types;(listOf path); - default = with pkgs; [ v2ray-geoip v2ray-domain-list-community ]; + type = with types; (listOf path); + default = with pkgs; [ + v2ray-geoip + v2ray-domain-list-community + ]; defaultText = literalExpression "with pkgs; [ v2ray-geoip v2ray-domain-list-community ]"; description = '' Assets required to run dae. @@ -43,17 +55,19 @@ in }; openFirewall = mkOption { - type = with types; submodule { - options = { - enable = mkEnableOption "opening {option}`port` in the firewall"; - port = mkOption { - type = types.port; - description = '' - Port to be opened. Consist with field `tproxy_port` in config file. - ''; + type = + with types; + submodule { + options = { + enable = mkEnableOption "opening {option}`port` in the firewall"; + port = mkOption { + type = types.port; + description = '' + Port to be opened. Consist with field `tproxy_port` in config file. + ''; + }; }; }; - }; default = { enable = true; port = 12345; @@ -89,81 +103,87 @@ in ''; }; - disableTxChecksumIpGeneric = - mkEnableOption "" // { description = "See "; }; + disableTxChecksumIpGeneric = mkEnableOption "" // { + description = "See "; + }; }; }; - config = lib.mkIf cfg.enable - - { - environment.systemPackages = [ cfg.package ]; - systemd.packages = [ cfg.package ]; + config = + lib.mkIf cfg.enable + + { + environment.systemPackages = [ cfg.package ]; + systemd.packages = [ cfg.package ]; + + networking = lib.mkIf cfg.openFirewall.enable { + firewall = + let + portToOpen = cfg.openFirewall.port; + in + { + allowedTCPPorts = [ portToOpen ]; + allowedUDPPorts = [ portToOpen ]; + }; + }; - networking = lib.mkIf cfg.openFirewall.enable { - firewall = - let portToOpen = cfg.openFirewall.port; + systemd.services.dae = + let + daeBin = lib.getExe cfg.package; + + configPath = + if cfg.configFile != null then cfg.configFile else pkgs.writeText "config.dae" cfg.config; + + TxChecksumIpGenericWorkaround = + with lib; + (getExe pkgs.writeShellApplication { + name = "disable-tx-checksum-ip-generic"; + text = with pkgs; '' + iface=$(${iproute2}/bin/ip route | ${lib.getExe gawk} '/default/ {print $5}') + ${lib.getExe ethtool} -K "$iface" tx-checksum-ip-generic off + ''; + }); in { - allowedTCPPorts = [ portToOpen ]; - allowedUDPPorts = [ portToOpen ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + LoadCredential = [ "config.dae:${configPath}" ]; + ExecStartPre = [ + "" + "${daeBin} validate -c \${CREDENTIALS_DIRECTORY}/config.dae" + ] ++ (with lib; optional cfg.disableTxChecksumIpGeneric TxChecksumIpGenericWorkaround); + ExecStart = [ + "" + "${daeBin} run --disable-timestamp -c \${CREDENTIALS_DIRECTORY}/config.dae" + ]; + Environment = "DAE_LOCATION_ASSET=${cfg.assetsPath}"; + }; }; - }; - systemd.services.dae = - let - daeBin = lib.getExe cfg.package; - - configPath = - if cfg.configFile != null - then cfg.configFile else pkgs.writeText "config.dae" cfg.config; - - TxChecksumIpGenericWorkaround = with lib; - (getExe pkgs.writeShellApplication { - name = "disable-tx-checksum-ip-generic"; - text = with pkgs; '' - iface=$(${iproute2}/bin/ip route | ${lib.getExe gawk} '/default/ {print $5}') - ${lib.getExe ethtool} -K "$iface" tx-checksum-ip-generic off - ''; - }); - in - { - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - LoadCredential = [ "config.dae:${configPath}" ]; - ExecStartPre = [ "" "${daeBin} validate -c \${CREDENTIALS_DIRECTORY}/config.dae" ] - ++ (with lib; optional cfg.disableTxChecksumIpGeneric TxChecksumIpGenericWorkaround); - ExecStart = [ "" "${daeBin} run --disable-timestamp -c \${CREDENTIALS_DIRECTORY}/config.dae" ]; - Environment = "DAE_LOCATION_ASSET=${cfg.assetsPath}"; - }; - }; + assertions = [ + { + assertion = lib.pathExists (toString (genAssetsDrv cfg.assets) + "/share/v2ray"); + message = '' + Packages in `assets` has no preset paths included. + Please set `assetsPath` instead. + ''; + } - assertions = [ - { - assertion = lib.pathExists (toString (genAssetsDrv cfg.assets) + "/share/v2ray"); - message = '' - Packages in `assets` has no preset paths included. - Please set `assetsPath` instead. - ''; - } - - { - assertion = !((config.services.dae.config != null) - && (config.services.dae.configFile != null)); - message = '' - Option `config` and `configFile` could not be set - at the same time. - ''; - } - - { - assertion = !((config.services.dae.config == null) - && (config.services.dae.configFile == null)); - message = '' - Either `config` or `configFile` should be set. - ''; - } - ]; - }; + { + assertion = !((config.services.dae.config != null) && (config.services.dae.configFile != null)); + message = '' + Option `config` and `configFile` could not be set + at the same time. + ''; + } + + { + assertion = !((config.services.dae.config == null) && (config.services.dae.configFile == null)); + message = '' + Either `config` or `configFile` should be set. + ''; + } + ]; + }; } diff --git a/nixos/modules/services/networking/dante.nix b/nixos/modules/services/networking/dante.nix index aef518ddbfd97..3cb08a6c23a95 100644 --- a/nixos/modules/services/networking/dante.nix +++ b/nixos/modules/services/networking/dante.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dante; confFile = pkgs.writeText "dante-sockd.conf" '' @@ -20,7 +25,7 @@ in enable = lib.mkEnableOption "Dante SOCKS proxy"; config = lib.mkOption { - type = lib.types.lines; + type = lib.types.lines; description = '' Contents of Dante's configuration file. NOTE: user.privileged, user.unprivileged and logoutput are set by the service. @@ -31,30 +36,31 @@ in config = lib.mkIf cfg.enable { assertions = [ - { assertion = cfg.config != ""; - message = "please provide Dante configuration file contents"; + { + assertion = cfg.config != ""; + message = "please provide Dante configuration file contents"; } ]; users.users.dante = { - description = "Dante SOCKS proxy daemon user"; - isSystemUser = true; - group = "dante"; + description = "Dante SOCKS proxy daemon user"; + isSystemUser = true; + group = "dante"; }; - users.groups.dante = {}; + users.groups.dante = { }; systemd.services.dante = { - description = "Dante SOCKS v4 and v5 compatible proxy server"; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; + description = "Dante SOCKS v4 and v5 compatible proxy server"; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.dante}/bin/sockd -f ${confFile}"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + Type = "simple"; + ExecStart = "${pkgs.dante}/bin/sockd -f ${confFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; # Can crash sometimes; see https://github.com/NixOS/nixpkgs/pull/39005#issuecomment-381828708 - Restart = "on-failure"; + Restart = "on-failure"; }; }; }; diff --git a/nixos/modules/services/networking/deconz.nix b/nixos/modules/services/networking/deconz.nix index d8908470bb231..88e294f86c2de 100644 --- a/nixos/modules/services/networking/deconz.nix +++ b/nixos/modules/services/networking/deconz.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.deconz; @@ -113,7 +118,8 @@ in + " --ws-port=${toString cfg.wsPort}" + " --auto-connect=1" + (lib.optionalString (cfg.device != null) " --dev=${cfg.device}") - + " " + (lib.escapeShellArgs cfg.extraArgs); + + " " + + (lib.escapeShellArgs cfg.extraArgs); Restart = "on-failure"; AmbientCapabilities = capabilities; CapabilityBoundingSet = capabilities; diff --git a/nixos/modules/services/networking/dnscache.nix b/nixos/modules/services/networking/dnscache.nix index e743d1c543239..f360aa86c7b8d 100644 --- a/nixos/modules/services/networking/dnscache.nix +++ b/nixos/modules/services/networking/dnscache.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dnscache; @@ -9,11 +14,13 @@ let touch "$out/ip/"${lib.escapeShellArg ip} '') cfg.clientIps} - ${lib.concatStrings (lib.mapAttrsToList (host: ips: '' - ${lib.concatMapStrings (ip: '' - echo ${lib.escapeShellArg ip} >> "$out/servers/"${lib.escapeShellArg host} - '') ips} - '') cfg.domainServers)} + ${lib.concatStrings ( + lib.mapAttrsToList (host: ips: '' + ${lib.concatMapStrings (ip: '' + echo ${lib.escapeShellArg ip} >> "$out/servers/"${lib.escapeShellArg host} + '') ips} + '') cfg.domainServers + )} # if a list of root servers was not provided in config, copy it # over. (this is also done by dnscache-conf, but we 'rm -rf @@ -25,7 +32,8 @@ let fi ''; -in { +in +{ ###### interface @@ -48,7 +56,10 @@ in { default = [ "127.0.0.1" ]; type = lib.types.listOf lib.types.str; description = "Client IP addresses (or prefixes) from which to accept connections."; - example = ["192.168" "172.23.75.82"]; + example = [ + "192.168" + "172.23.75.82" + ]; }; domainServers = lib.mkOption { @@ -84,15 +95,19 @@ in { config = lib.mkIf config.services.dnscache.enable { environment.systemPackages = [ pkgs.djbdns ]; users.users.dnscache = { - isSystemUser = true; - group = "dnscache"; + isSystemUser = true; + group = "dnscache"; }; - users.groups.dnscache = {}; + users.groups.dnscache = { }; systemd.services.dnscache = { description = "djbdns dnscache server"; wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ bash daemontools djbdns ]; + path = with pkgs; [ + bash + daemontools + djbdns + ]; preStart = '' rm -rf /var/lib/dnscache dnscache-conf dnscache dnscache /var/lib/dnscache ${config.services.dnscache.ip} diff --git a/nixos/modules/services/networking/dnscrypt-proxy2.nix b/nixos/modules/services/networking/dnscrypt-proxy2.nix index 980eda117b1eb..273d0b3a6bbb2 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy2.nix +++ b/nixos/modules/services/networking/dnscrypt-proxy2.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, ... }: with lib; +{ + config, + lib, + pkgs, + ... +}: +with lib; let cfg = config.services.dnscrypt-proxy2; @@ -24,7 +30,7 @@ in } ''; type = types.attrs; - default = {}; + default = { }; }; upstreamDefaults = mkOption { @@ -44,18 +50,26 @@ in ''; example = "/etc/dnscrypt-proxy/dnscrypt-proxy.toml"; type = types.path; - default = pkgs.runCommand "dnscrypt-proxy.toml" { - json = builtins.toJSON cfg.settings; - passAsFile = [ "json" ]; - } '' - ${if cfg.upstreamDefaults then '' - ${pkgs.buildPackages.remarshal}/bin/toml2json ${pkgs.dnscrypt-proxy.src}/dnscrypt-proxy/example-dnscrypt-proxy.toml > example.json - ${pkgs.buildPackages.jq}/bin/jq --slurp add example.json $jsonPath > config.json # merges the two - '' else '' - cp $jsonPath config.json - ''} - ${pkgs.buildPackages.remarshal}/bin/json2toml < config.json > $out - ''; + default = + pkgs.runCommand "dnscrypt-proxy.toml" + { + json = builtins.toJSON cfg.settings; + passAsFile = [ "json" ]; + } + '' + ${ + if cfg.upstreamDefaults then + '' + ${pkgs.buildPackages.remarshal}/bin/toml2json ${pkgs.dnscrypt-proxy.src}/dnscrypt-proxy/example-dnscrypt-proxy.toml > example.json + ${pkgs.buildPackages.jq}/bin/jq --slurp add example.json $jsonPath > config.json # merges the two + '' + else + '' + cp $jsonPath config.json + '' + } + ${pkgs.buildPackages.remarshal}/bin/json2toml < config.json > $out + ''; defaultText = literalMD "TOML file generated from {option}`services.dnscrypt-proxy2.settings`"; }; }; diff --git a/nixos/modules/services/networking/dnsdist.nix b/nixos/modules/services/networking/dnsdist.nix index cd87abb3d0725..761dcea67de5d 100644 --- a/nixos/modules/services/networking/dnsdist.nix +++ b/nixos/modules/services/networking/dnsdist.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.dnsdist; - toLua = lib.generators.toLua {}; + toLua = lib.generators.toLua { }; mkBind = cfg: toLua "${cfg.listenAddress}:${toString cfg.listenPort}"; @@ -74,7 +79,8 @@ let dnscrypt_setup() ''; -in { +in +{ options = { services.dnsdist = { enable = lib.mkEnableOption "dnsdist domain name server"; @@ -161,7 +167,7 @@ in { group = "dnsdist"; }; - users.groups.dnsdist = {}; + users.groups.dnsdist = { }; systemd.packages = [ pkgs.dnsdist ]; @@ -175,8 +181,14 @@ in { RuntimeDirectory = "dnsdist"; StateDirectory = "dnsdist"; # upstream overrides for better nixos compatibility - ExecStartPre = [ "" "${pkgs.dnsdist}/bin/dnsdist --check-config --config ${configFile}" ]; - ExecStart = [ "" "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}" ]; + ExecStartPre = [ + "" + "${pkgs.dnsdist}/bin/dnsdist --check-config --config ${configFile}" + ]; + ExecStart = [ + "" + "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}" + ]; }; }; }; diff --git a/nixos/modules/services/networking/dnsproxy.nix b/nixos/modules/services/networking/dnsproxy.nix index 80b66743ce9d6..1d1666e0941e3 100644 --- a/nixos/modules/services/networking/dnsproxy.nix +++ b/nixos/modules/services/networking/dnsproxy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -11,7 +16,8 @@ let mkIf mkOption mkPackageOption - types; + types + ; cfg = config.services.dnsproxy; @@ -72,7 +78,10 @@ in config = mkIf cfg.enable { systemd.services.dnsproxy = { description = "Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support"; - after = [ "network.target" "nss-lookup.target" ]; + after = [ + "network.target" + "nss-lookup.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${getExe cfg.package} ${escapeShellArgs finalFlags}"; @@ -89,13 +98,19 @@ in ProtectHostname = true; ProtectKernelLogs = true; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; - SystemCallFilter = [ "@system-service" "~@privileged @resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ]; }; }; }; diff --git a/nixos/modules/services/networking/doh-proxy-rust.nix b/nixos/modules/services/networking/doh-proxy-rust.nix index 32b7a3750480a..a0ac643f2532f 100644 --- a/nixos/modules/services/networking/doh-proxy-rust.nix +++ b/nixos/modules/services/networking/doh-proxy-rust.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.doh-proxy-rust; -in { +in +{ options.services.doh-proxy-rust = { @@ -11,7 +17,7 @@ in { flags = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; example = [ "--server-address=9.9.9.9:53" ]; description = '' A list of command-line flags to pass to doh-proxy. For details on the @@ -24,7 +30,10 @@ in { config = lib.mkIf cfg.enable { systemd.services.doh-proxy-rust = { description = "doh-proxy-rust"; - after = [ "network.target" "nss-lookup.target" ]; + after = [ + "network.target" + "nss-lookup.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.doh-proxy-rust}/bin/doh-proxy ${lib.escapeShellArgs cfg.flags}"; @@ -47,7 +56,10 @@ in { RestrictSUIDSGID = true; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; - SystemCallFilter = [ "@system-service" "~@privileged @resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ]; }; }; }; diff --git a/nixos/modules/services/networking/envoy.nix b/nixos/modules/services/networking/envoy.nix index 876c05755936e..87e84b2031ad0 100644 --- a/nixos/modules/services/networking/envoy.nix +++ b/nixos/modules/services/networking/envoy.nix @@ -1,11 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.envoy; format = pkgs.formats.json { }; conf = format.generate "envoy.json" cfg.settings; - validateConfig = required: file: + validateConfig = + required: file: pkgs.runCommand "validate-envoy-conf" { } '' - ${cfg.package}/bin/envoy --log-level error --mode validate -c "${file}" ${lib.optionalString (!required) "|| true"} + ${cfg.package}/bin/envoy --log-level error --mode validate -c "${file}" ${ + lib.optionalString (!required) "|| true" + } cp "${file}" "$out" ''; in @@ -85,12 +93,22 @@ in ProtectKernelTunables = true; ProtectProc = "ptraceable"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" "AF_XDP" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_XDP" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; UMask = "0066"; }; }; diff --git a/nixos/modules/services/networking/epmd.nix b/nixos/modules/services/networking/epmd.nix index 90876a67f74da..d1794e8c2e26a 100644 --- a/nixos/modules/services/networking/epmd.nix +++ b/nixos/modules/services/networking/epmd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.epmd; in @@ -15,25 +20,26 @@ in ''; }; package = lib.mkPackageOption pkgs "erlang" { }; - listenStream = lib.mkOption - { - type = lib.types.str; - default = "[::]:4369"; - description = '' - the listenStream used by the systemd socket. - see https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream= for more information. - use this to change the port epmd will run on. - if not defined, epmd will use "[::]:4369" - ''; - }; + listenStream = lib.mkOption { + type = lib.types.str; + default = "[::]:4369"; + description = '' + the listenStream used by the systemd socket. + see https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream= for more information. + use this to change the port epmd will run on. + if not defined, epmd will use "[::]:4369" + ''; + }; }; ###### implementation config = lib.mkIf cfg.enable { - assertions = [{ - assertion = cfg.listenStream == "[::]:4369" -> config.networking.enableIPv6; - message = "epmd listens by default on ipv6, enable ipv6 or change config.services.epmd.listenStream"; - }]; + assertions = [ + { + assertion = cfg.listenStream == "[::]:4369" -> config.networking.enableIPv6; + message = "epmd listens by default on ipv6, enable ipv6 or change config.services.epmd.listenStream"; + } + ]; systemd.sockets.epmd = rec { description = "Erlang Port Mapper Daemon Activation Socket"; wantedBy = [ "sockets.target" ]; diff --git a/nixos/modules/services/networking/ergo.nix b/nixos/modules/services/networking/ergo.nix index 7e06b7d76b202..4bda05a41728a 100644 --- a/nixos/modules/services/networking/ergo.nix +++ b/nixos/modules/services/networking/ergo.nix @@ -1,34 +1,52 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.ergo; opt = options.services.ergo; - inherit (lib) literalExpression mkEnableOption mkIf mkOption optionalString types; - - configFile = pkgs.writeText "ergo.conf" ('' -ergo { - directory = "${cfg.dataDir}" - node { - mining = false - } - wallet.secretStorage.secretDir = "${cfg.dataDir}/wallet/keystore" -} - -scorex { - network { - bindAddress = "${cfg.listen.ip}:${toString cfg.listen.port}" - } -'' + optionalString (cfg.api.keyHash != null) '' - restApi { - apiKeyHash = "${cfg.api.keyHash}" - bindAddress = "${cfg.api.listen.ip}:${toString cfg.api.listen.port}" - } -'' + '' -} -''); - -in { + inherit (lib) + literalExpression + mkEnableOption + mkIf + mkOption + optionalString + types + ; + + configFile = pkgs.writeText "ergo.conf" ( + '' + ergo { + directory = "${cfg.dataDir}" + node { + mining = false + } + wallet.secretStorage.secretDir = "${cfg.dataDir}/wallet/keystore" + } + + scorex { + network { + bindAddress = "${cfg.listen.ip}:${toString cfg.listen.port}" + } + '' + + optionalString (cfg.api.keyHash != null) '' + restApi { + apiKeyHash = "${cfg.api.keyHash}" + bindAddress = "${cfg.api.listen.ip}:${toString cfg.api.listen.port}" + } + '' + + '' + } + '' + ); + +in +{ options = { @@ -56,32 +74,32 @@ in { }; api = { - keyHash = mkOption { - type = types.nullOr types.str; - default = null; - example = "324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf"; - description = "Hex-encoded Blake2b256 hash of an API key as a 64-chars long Base16 string."; - }; - - listen = { - ip = mkOption { - type = types.str; - default = "0.0.0.0"; - description = "IP address that the Ergo node API should listen on if {option}`api.keyHash` is defined."; + keyHash = mkOption { + type = types.nullOr types.str; + default = null; + example = "324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf"; + description = "Hex-encoded Blake2b256 hash of an API key as a 64-chars long Base16 string."; + }; + + listen = { + ip = mkOption { + type = types.str; + default = "0.0.0.0"; + description = "IP address that the Ergo node API should listen on if {option}`api.keyHash` is defined."; }; - port = mkOption { - type = types.port; - default = 9052; - description = "Listen port for the API endpoint if {option}`api.keyHash` is defined."; + port = mkOption { + type = types.port; + default = 9052; + description = "Listen port for the API endpoint if {option}`api.keyHash` is defined."; + }; }; - }; }; testnet = mkOption { - type = types.bool; - default = false; - description = "Connect to testnet network instead of the default mainnet."; + type = types.bool; + default = false; + description = "Connect to testnet network instead of the default mainnet."; }; user = mkOption { @@ -119,10 +137,10 @@ in { serviceConfig = { User = cfg.user; Group = cfg.group; - ExecStart = ''${pkgs.ergo}/bin/ergo \ - ${optionalString (!cfg.testnet) - "--mainnet"} \ - -c ${configFile}''; + ExecStart = '' + ${pkgs.ergo}/bin/ergo \ + ${optionalString (!cfg.testnet) "--mainnet"} \ + -c ${configFile}''; }; }; @@ -138,7 +156,7 @@ in { isSystemUser = true; }; - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; }; } diff --git a/nixos/modules/services/networking/ergochat.nix b/nixos/modules/services/networking/ergochat.nix index b4b4e488fc115..0ad9a2c41c75c 100644 --- a/nixos/modules/services/networking/ergochat.nix +++ b/nixos/modules/services/networking/ergochat.nix @@ -1,6 +1,14 @@ -{ config, lib, options, pkgs, ... }: let +{ + config, + lib, + options, + pkgs, + ... +}: +let cfg = config.services.ergochat; -in { +in +{ options = { services.ergochat = { @@ -16,7 +24,7 @@ in { configFile = lib.mkOption { type = lib.types.path; - default = (pkgs.formats.yaml {}).generate "ergo.conf" cfg.settings; + default = (pkgs.formats.yaml { }).generate "ergo.conf" cfg.settings; defaultText = lib.literalMD "generated config file from `settings`"; description = '' Path to configuration file. @@ -25,7 +33,7 @@ in { }; settings = lib.mkOption { - type = (pkgs.formats.yaml {}).type; + type = (pkgs.formats.yaml { }).type; description = '' Ergo IRC daemon configuration file. https://raw.githubusercontent.com/ergochat/ergo/master/default.yaml @@ -37,7 +45,7 @@ in { server = { name = "example.com"; listeners = { - ":6667" = {}; + ":6667" = { }; }; casemapping = "permissive"; enforce-utf = true; @@ -130,8 +138,9 @@ in { environment.etc."ergo.yaml".source = cfg.configFile; # merge configured values with default values - services.ergochat.settings = - lib.mapAttrsRecursive (_: lib.mkDefault) options.services.ergochat.settings.default; + services.ergochat.settings = lib.mapAttrsRecursive ( + _: lib.mkDefault + ) options.services.ergochat.settings.default; systemd.services.ergochat = { description = "Ergo IRC daemon"; @@ -151,5 +160,8 @@ in { }; }; - meta.maintainers = with lib.maintainers; [ lassulus tv ]; + meta.maintainers = with lib.maintainers; [ + lassulus + tv + ]; } diff --git a/nixos/modules/services/networking/eternal-terminal.nix b/nixos/modules/services/networking/eternal-terminal.nix index 584eafd2962cf..0c1a339929bd4 100644 --- a/nixos/modules/services/networking/eternal-terminal.nix +++ b/nixos/modules/services/networking/eternal-terminal.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.eternal-terminal; diff --git a/nixos/modules/services/networking/expressvpn.nix b/nixos/modules/services/networking/expressvpn.nix index 431a1da70b955..d78f20effb5ed 100644 --- a/nixos/modules/services/networking/expressvpn.nix +++ b/nixos/modules/services/networking/expressvpn.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options.services.expressvpn.enable = lib.mkOption { type = lib.types.bool; @@ -20,7 +25,10 @@ }; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; }; }; diff --git a/nixos/modules/services/networking/fakeroute.nix b/nixos/modules/services/networking/fakeroute.nix index c832a33ffedd7..a877a0d7d211e 100644 --- a/nixos/modules/services/networking/fakeroute.nix +++ b/nixos/modules/services/networking/fakeroute.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.fakeroute; @@ -18,7 +23,7 @@ in route = lib.mkOption { type = with lib.types; listOf str; - default = []; + default = [ ]; example = [ "216.102.187.130" "4.0.1.122" @@ -26,8 +31,8 @@ in "63.199.8.242" ]; description = '' - Fake route that will appear after the real - one to any host running a traceroute. + Fake route that will appear after the real + one to any host running a traceroute. ''; }; @@ -35,7 +40,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/networking/fastnetmon-advanced.nix b/nixos/modules/services/networking/fastnetmon-advanced.nix index d534c7fbc0585..c57b5a6b66003 100644 --- a/nixos/modules/services/networking/fastnetmon-advanced.nix +++ b/nixos/modules/services/networking/fastnetmon-advanced.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let # Background information: FastNetMon requires a MongoDB to start. This is because @@ -12,47 +17,56 @@ let settingsFormat = pkgs.formats.yaml { }; # obtain the default configs by starting up ferretdb and fcli in a derivation - default_configs = pkgs.runCommand "default-configs" { - nativeBuildInputs = [ - pkgs.ferretdb - pkgs.fastnetmon-advanced # for fcli - pkgs.proot - ]; - } '' - mkdir ferretdb fastnetmon $out - FERRETDB_TELEMETRY="disable" FERRETDB_HANDLER="sqlite" FERRETDB_STATE_DIR="$PWD/ferretdb" FERRETDB_SQLITE_URL="file:$PWD/ferretdb/" ferretdb & - - cat << EOF > fastnetmon/fastnetmon.conf - ${builtins.toJSON { - mongodb_username = ""; - }} - EOF - proot -b fastnetmon:/etc/fastnetmon -0 fcli create_configuration - proot -b fastnetmon:/etc/fastnetmon -0 fcli set bgp default - proot -b fastnetmon:/etc/fastnetmon -0 fcli export_configuration backup.tar - tar -C $out --no-same-owner -xvf backup.tar - ''; + default_configs = + pkgs.runCommand "default-configs" + { + nativeBuildInputs = [ + pkgs.ferretdb + pkgs.fastnetmon-advanced # for fcli + pkgs.proot + ]; + } + '' + mkdir ferretdb fastnetmon $out + FERRETDB_TELEMETRY="disable" FERRETDB_HANDLER="sqlite" FERRETDB_STATE_DIR="$PWD/ferretdb" FERRETDB_SQLITE_URL="file:$PWD/ferretdb/" ferretdb & + + cat << EOF > fastnetmon/fastnetmon.conf + ${builtins.toJSON { + mongodb_username = ""; + }} + EOF + proot -b fastnetmon:/etc/fastnetmon -0 fcli create_configuration + proot -b fastnetmon:/etc/fastnetmon -0 fcli set bgp default + proot -b fastnetmon:/etc/fastnetmon -0 fcli export_configuration backup.tar + tar -C $out --no-same-owner -xvf backup.tar + ''; # merge the user configs into the default configs - config_tar = pkgs.runCommand "fastnetmon-config.tar" { - nativeBuildInputs = with pkgs; [ jq ]; - } '' - jq -s add ${default_configs}/main.json ${pkgs.writeText "main-add.json" (builtins.toJSON cfg.settings)} > main.json - mkdir hostgroup - ${lib.concatImapStringsSep "\n" (pos: hostgroup: '' - jq -s add ${default_configs}/hostgroup/0.json ${pkgs.writeText "hostgroup-${toString (pos - 1)}-add.json" (builtins.toJSON hostgroup)} > hostgroup/${toString (pos - 1)}.json - '') hostgroups} - mkdir bgp - ${lib.concatImapStringsSep "\n" (pos: bgp: '' - jq -s add ${default_configs}/bgp/0.json ${pkgs.writeText "bgp-${toString (pos - 1)}-add.json" (builtins.toJSON bgp)} > bgp/${toString (pos - 1)}.json - '') bgpPeers} - tar -cf $out main.json ${lib.concatImapStringsSep " " (pos: _: "hostgroup/${toString (pos - 1)}.json") hostgroups} ${lib.concatImapStringsSep " " (pos: _: "bgp/${toString (pos - 1)}.json") bgpPeers} - ''; + config_tar = + pkgs.runCommand "fastnetmon-config.tar" + { + nativeBuildInputs = with pkgs; [ jq ]; + } + '' + jq -s add ${default_configs}/main.json ${pkgs.writeText "main-add.json" (builtins.toJSON cfg.settings)} > main.json + mkdir hostgroup + ${lib.concatImapStringsSep "\n" (pos: hostgroup: '' + jq -s add ${default_configs}/hostgroup/0.json ${pkgs.writeText "hostgroup-${toString (pos - 1)}-add.json" (builtins.toJSON hostgroup)} > hostgroup/${toString (pos - 1)}.json + '') hostgroups} + mkdir bgp + ${lib.concatImapStringsSep "\n" (pos: bgp: '' + jq -s add ${default_configs}/bgp/0.json ${pkgs.writeText "bgp-${toString (pos - 1)}-add.json" (builtins.toJSON bgp)} > bgp/${toString (pos - 1)}.json + '') bgpPeers} + tar -cf $out main.json ${ + lib.concatImapStringsSep " " (pos: _: "hostgroup/${toString (pos - 1)}.json") hostgroups + } ${lib.concatImapStringsSep " " (pos: _: "bgp/${toString (pos - 1)}.json") bgpPeers} + ''; hostgroups = lib.mapAttrsToList (name: hostgroup: { inherit name; } // hostgroup) cfg.hostgroups; bgpPeers = lib.mapAttrsToList (name: bgpPeer: { inherit name; } // bgpPeer) cfg.bgpPeers; -in { +in +{ options.services.fastnetmon-advanced = with lib; { enable = mkEnableOption "the fastnetmon-advanced DDoS Protection daemon"; @@ -63,7 +77,7 @@ in { See the [FastNetMon Advanced Configuration options reference](https://fastnetmon.com/docs-fnm-advanced/fastnetmon-advanced-configuration-options/) for more details. ''; type = settingsFormat.type; - default = {}; + default = { }; example = literalExpression '' { networks_list = [ "192.0.2.0/24" ]; @@ -75,12 +89,12 @@ in { hostgroups = mkOption { description = "Hostgroups to declaratively load into FastNetMon Advanced"; type = types.attrsOf settingsFormat.type; - default = {}; + default = { }; }; bgpPeers = mkOption { description = "BGP Peers to declaratively load into FastNetMon Advanced"; type = types.attrsOf settingsFormat.type; - default = {}; + default = { }; }; enableAdvancedTrafficPersistence = mkOption { @@ -95,130 +109,141 @@ in { }; }; - config = lib.mkMerge [ (lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - fastnetmon-advanced # for fcli - ]; - - environment.etc."fastnetmon/license.lic".source = "/var/lib/fastnetmon/license.lic"; - environment.etc."fastnetmon/gobgpd.conf".source = "/run/fastnetmon/gobgpd.conf"; - environment.etc."fastnetmon/fastnetmon.conf".source = pkgs.writeText "fastnetmon.conf" (builtins.toJSON { - mongodb_username = ""; - }); - - services.ferretdb.enable = true; - - systemd.services.fastnetmon-setup = { - wantedBy = [ "multi-user.target" ]; - after = [ "ferretdb.service" ]; - path = with pkgs; [ fastnetmon-advanced config.systemd.package ]; - script = '' - fcli create_configuration - fcli delete hostgroup global - fcli import_configuration ${config_tar} - systemctl --no-block try-restart fastnetmon - ''; - serviceConfig.Type = "oneshot"; - }; - - systemd.services.fastnetmon = { - wantedBy = [ "multi-user.target" ]; - after = [ "ferretdb.service" "fastnetmon-setup.service" "polkit.service" ]; - path = with pkgs; [ iproute2 ]; - unitConfig = { - # Disable logic which shuts service when we do too many restarts - # We do restarts from sudo fcli commit and it's expected that we may have many restarts - # Details: https://github.com/systemd/systemd/issues/2416 - StartLimitInterval = 0; + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + fastnetmon-advanced # for fcli + ]; + + environment.etc."fastnetmon/license.lic".source = "/var/lib/fastnetmon/license.lic"; + environment.etc."fastnetmon/gobgpd.conf".source = "/run/fastnetmon/gobgpd.conf"; + environment.etc."fastnetmon/fastnetmon.conf".source = pkgs.writeText "fastnetmon.conf" ( + builtins.toJSON { + mongodb_username = ""; + } + ); + + services.ferretdb.enable = true; + + systemd.services.fastnetmon-setup = { + wantedBy = [ "multi-user.target" ]; + after = [ "ferretdb.service" ]; + path = with pkgs; [ + fastnetmon-advanced + config.systemd.package + ]; + script = '' + fcli create_configuration + fcli delete hostgroup global + fcli import_configuration ${config_tar} + systemctl --no-block try-restart fastnetmon + ''; + serviceConfig.Type = "oneshot"; }; - serviceConfig = { - ExecStart = "${pkgs.fastnetmon-advanced}/bin/fastnetmon --log_to_console"; - - LimitNOFILE = 65535; - # Restart service when it fails due to any reasons, we need to keep processing traffic no matter what happened - Restart= "on-failure"; - RestartSec= "5s"; - - DynamicUser = true; - CacheDirectory = "fastnetmon"; - RuntimeDirectory = "fastnetmon"; # for gobgpd config - StateDirectory = "fastnetmon"; # for license file + + systemd.services.fastnetmon = { + wantedBy = [ "multi-user.target" ]; + after = [ + "ferretdb.service" + "fastnetmon-setup.service" + "polkit.service" + ]; + path = with pkgs; [ iproute2 ]; + unitConfig = { + # Disable logic which shuts service when we do too many restarts + # We do restarts from sudo fcli commit and it's expected that we may have many restarts + # Details: https://github.com/systemd/systemd/issues/2416 + StartLimitInterval = 0; + }; + serviceConfig = { + ExecStart = "${pkgs.fastnetmon-advanced}/bin/fastnetmon --log_to_console"; + + LimitNOFILE = 65535; + # Restart service when it fails due to any reasons, we need to keep processing traffic no matter what happened + Restart = "on-failure"; + RestartSec = "5s"; + + DynamicUser = true; + CacheDirectory = "fastnetmon"; + RuntimeDirectory = "fastnetmon"; # for gobgpd config + StateDirectory = "fastnetmon"; # for license file + }; }; - }; - security.polkit.enable = true; - security.polkit.extraConfig = '' - polkit.addRule(function(action, subject) { - if (action.id == "org.freedesktop.systemd1.manage-units" && - subject.isInGroup("fastnetmon")) { - if (action.lookup("unit") == "gobgp.service") { - var verb = action.lookup("verb"); - if (verb == "start" || verb == "stop" || verb == "restart") { - return polkit.Result.YES; + security.polkit.enable = true; + security.polkit.extraConfig = '' + polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.systemd1.manage-units" && + subject.isInGroup("fastnetmon")) { + if (action.lookup("unit") == "gobgp.service") { + var verb = action.lookup("verb"); + if (verb == "start" || verb == "stop" || verb == "restart") { + return polkit.Result.YES; + } } } - } - }); - ''; - # dbus/polkit with DynamicUser is broken with the default implementation - services.dbus.implementation = "broker"; - - # We don't use the existing gobgp NixOS module and package, because the gobgp - # version might not be compatible with fastnetmon. Also, the service name - # _must_ be 'gobgp' and not 'gobgpd', so that fastnetmon can reload the config. - systemd.services.gobgp = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - description = "GoBGP Routing Daemon"; - unitConfig = { - ConditionPathExists = "/run/fastnetmon/gobgpd.conf"; - }; - serviceConfig = { - Type = "notify"; - ExecStartPre = "${pkgs.fastnetmon-advanced}/bin/fnm-gobgpd -f /run/fastnetmon/gobgpd.conf -d"; - SupplementaryGroups = [ "fastnetmon" ]; - ExecStart = "${pkgs.fastnetmon-advanced}/bin/fnm-gobgpd -f /run/fastnetmon/gobgpd.conf --sdnotify"; - ExecReload = "${pkgs.fastnetmon-advanced}/bin/fnm-gobgpd -r"; - DynamicUser = true; - AmbientCapabilities = "cap_net_bind_service"; + }); + ''; + # dbus/polkit with DynamicUser is broken with the default implementation + services.dbus.implementation = "broker"; + + # We don't use the existing gobgp NixOS module and package, because the gobgp + # version might not be compatible with fastnetmon. Also, the service name + # _must_ be 'gobgp' and not 'gobgpd', so that fastnetmon can reload the config. + systemd.services.gobgp = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + description = "GoBGP Routing Daemon"; + unitConfig = { + ConditionPathExists = "/run/fastnetmon/gobgpd.conf"; + }; + serviceConfig = { + Type = "notify"; + ExecStartPre = "${pkgs.fastnetmon-advanced}/bin/fnm-gobgpd -f /run/fastnetmon/gobgpd.conf -d"; + SupplementaryGroups = [ "fastnetmon" ]; + ExecStart = "${pkgs.fastnetmon-advanced}/bin/fnm-gobgpd -f /run/fastnetmon/gobgpd.conf --sdnotify"; + ExecReload = "${pkgs.fastnetmon-advanced}/bin/fnm-gobgpd -r"; + DynamicUser = true; + AmbientCapabilities = "cap_net_bind_service"; + }; }; - }; - }) + }) - (lib.mkIf (cfg.enable && cfg.enableAdvancedTrafficPersistence) { - ## Advanced Traffic persistence - ## https://fastnetmon.com/docs-fnm-advanced/fastnetmon-advanced-traffic-persistency/ + (lib.mkIf (cfg.enable && cfg.enableAdvancedTrafficPersistence) { + ## Advanced Traffic persistence + ## https://fastnetmon.com/docs-fnm-advanced/fastnetmon-advanced-traffic-persistency/ - services.clickhouse.enable = true; + services.clickhouse.enable = true; - services.fastnetmon-advanced.settings.traffic_db = true; + services.fastnetmon-advanced.settings.traffic_db = true; - services.fastnetmon-advanced.traffic_db.settings = { - clickhouse_batch_size = lib.mkDefault 1000; - clickhouse_batch_delay = lib.mkDefault 1; - traffic_db_host = lib.mkDefault "127.0.0.1"; - traffic_db_port = lib.mkDefault 8100; - clickhouse_host = lib.mkDefault "127.0.0.1"; - clickhouse_port = lib.mkDefault 9000; - clickhouse_user = lib.mkDefault "default"; - clickhouse_password = lib.mkDefault ""; - }; - environment.etc."fastnetmon/traffic_db.conf".text = builtins.toJSON cfg.traffic_db.settings; - - systemd.services.traffic_db = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = { - ExecStart = "${pkgs.fastnetmon-advanced}/bin/traffic_db"; - # Restart service when it fails due to any reasons, we need to keep processing traffic no matter what happened - Restart= "on-failure"; - RestartSec= "5s"; - - DynamicUser = true; + services.fastnetmon-advanced.traffic_db.settings = { + clickhouse_batch_size = lib.mkDefault 1000; + clickhouse_batch_delay = lib.mkDefault 1; + traffic_db_host = lib.mkDefault "127.0.0.1"; + traffic_db_port = lib.mkDefault 8100; + clickhouse_host = lib.mkDefault "127.0.0.1"; + clickhouse_port = lib.mkDefault 9000; + clickhouse_user = lib.mkDefault "default"; + clickhouse_password = lib.mkDefault ""; + }; + environment.etc."fastnetmon/traffic_db.conf".text = builtins.toJSON cfg.traffic_db.settings; + + systemd.services.traffic_db = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${pkgs.fastnetmon-advanced}/bin/traffic_db"; + # Restart service when it fails due to any reasons, we need to keep processing traffic no matter what happened + Restart = "on-failure"; + RestartSec = "5s"; + + DynamicUser = true; + }; }; - }; - }) ]; + }) + ]; meta.maintainers = lib.teams.wdz.members; } diff --git a/nixos/modules/services/networking/ferm.nix b/nixos/modules/services/networking/ferm.nix index 1fc982d8e9c8e..f107d5b1f3047 100644 --- a/nixos/modules/services/networking/ferm.nix +++ b/nixos/modules/services/networking/ferm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ferm; @@ -11,7 +16,8 @@ let ${cfg.package}/bin/ferm --noexec $out ''; }; -in { +in +{ options = { services.ferm = { enable = lib.mkOption { @@ -44,7 +50,7 @@ in { wantedBy = [ "multi-user.target" ]; reloadIfChanged = true; serviceConfig = { - Type="oneshot"; + Type = "oneshot"; RemainAfterExit = "yes"; ExecStart = "${cfg.package}/bin/ferm ${configFile}"; ExecReload = "${cfg.package}/bin/ferm ${configFile}"; diff --git a/nixos/modules/services/networking/firefox-syncserver.nix b/nixos/modules/services/networking/firefox-syncserver.nix index 2f706c3bc3f98..352faed492dc3 100644 --- a/nixos/modules/services/networking/firefox-syncserver.nix +++ b/nixos/modules/services/networking/firefox-syncserver.nix @@ -1,4 +1,10 @@ -{ config, pkgs, lib, options, ... }: +{ + config, + pkgs, + lib, + options, + ... +}: let cfg = config.services.firefox-syncserver; @@ -9,69 +15,71 @@ let dbIsLocal = cfg.database.host == "localhost"; dbURL = "mysql://${cfg.database.user}@${cfg.database.host}/${cfg.database.name}"; - format = pkgs.formats.toml {}; + format = pkgs.formats.toml { }; settings = { human_logs = true; syncstorage = { database_url = dbURL; }; - tokenserver = { - node_type = "mysql"; - database_url = dbURL; - fxa_email_domain = "api.accounts.firefox.com"; - fxa_oauth_server_url = "https://oauth.accounts.firefox.com/v1"; - run_migrations = true; - # if JWK caching is not enabled the token server must verify tokens - # using the fxa api, on a thread pool with a static size. - additional_blocking_threads_for_fxa_requests = 10; - } // lib.optionalAttrs cfg.singleNode.enable { - # Single-node mode is likely to be used on small instances with little - # capacity. The default value (0.1) can only ever release capacity when - # accounts are removed if the total capacity is 10 or larger to begin - # with. - # https://github.com/mozilla-services/syncstorage-rs/issues/1313#issuecomment-1145293375 - node_capacity_release_rate = 1; - }; + tokenserver = + { + node_type = "mysql"; + database_url = dbURL; + fxa_email_domain = "api.accounts.firefox.com"; + fxa_oauth_server_url = "https://oauth.accounts.firefox.com/v1"; + run_migrations = true; + # if JWK caching is not enabled the token server must verify tokens + # using the fxa api, on a thread pool with a static size. + additional_blocking_threads_for_fxa_requests = 10; + } + // lib.optionalAttrs cfg.singleNode.enable { + # Single-node mode is likely to be used on small instances with little + # capacity. The default value (0.1) can only ever release capacity when + # accounts are removed if the total capacity is 10 or larger to begin + # with. + # https://github.com/mozilla-services/syncstorage-rs/issues/1313#issuecomment-1145293375 + node_capacity_release_rate = 1; + }; }; configFile = format.generate "syncstorage.toml" (lib.recursiveUpdate settings cfg.settings); setupScript = pkgs.writeShellScript "firefox-syncserver-setup" '' - set -euo pipefail - shopt -s inherit_errexit - - schema_configured() { - mysql ${cfg.database.name} -Ne 'SHOW TABLES' | grep -q services - } - - update_config() { - mysql ${cfg.database.name} <<"EOF" - BEGIN; - - INSERT INTO `services` (`id`, `service`, `pattern`) - VALUES (1, 'sync-1.5', '{node}/1.5/{uid}') - ON DUPLICATE KEY UPDATE service='sync-1.5', pattern='{node}/1.5/{uid}'; - INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`, - `capacity`, `downed`, `backoff`) - VALUES (1, 1, '${cfg.singleNode.url}', ${toString cfg.singleNode.capacity}, - 0, ${toString cfg.singleNode.capacity}, 0, 0) - ON DUPLICATE KEY UPDATE node = '${cfg.singleNode.url}', capacity=${toString cfg.singleNode.capacity}; - - COMMIT; - EOF - } - - - for (( try = 0; try < 60; try++ )); do - if ! schema_configured; then - sleep 2 - else - update_config - exit 0 - fi - done - - echo "Single-node setup failed" - exit 1 - ''; + set -euo pipefail + shopt -s inherit_errexit + + schema_configured() { + mysql ${cfg.database.name} -Ne 'SHOW TABLES' | grep -q services + } + + update_config() { + mysql ${cfg.database.name} <<"EOF" + BEGIN; + + INSERT INTO `services` (`id`, `service`, `pattern`) + VALUES (1, 'sync-1.5', '{node}/1.5/{uid}') + ON DUPLICATE KEY UPDATE service='sync-1.5', pattern='{node}/1.5/{uid}'; + INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`, + `capacity`, `downed`, `backoff`) + VALUES (1, 1, '${cfg.singleNode.url}', ${toString cfg.singleNode.capacity}, + 0, ${toString cfg.singleNode.capacity}, 0, 0) + ON DUPLICATE KEY UPDATE node = '${cfg.singleNode.url}', capacity=${toString cfg.singleNode.capacity}; + + COMMIT; + EOF + } + + + for (( try = 0; try < 60; try++ )); do + if ! schema_configured; then + sleep 2 + else + update_config + exit 0 + fi + done + + echo "Single-node setup failed" + exit 1 + ''; in { @@ -240,12 +248,14 @@ in services.mysql = lib.mkIf cfg.database.createLocally { enable = true; ensureDatabases = [ cfg.database.name ]; - ensureUsers = [{ - name = cfg.database.user; - ensurePermissions = { - "${cfg.database.name}.*" = "all privileges"; - }; - }]; + ensureUsers = [ + { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "all privileges"; + }; + } + ]; }; systemd.services.firefox-syncserver = { @@ -279,7 +289,11 @@ in ProtectHostname = true; LockPersonality = true; ProtectKernelTunables = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictRealtime = true; ProtectSystem = "strict"; ProtectProc = "invisible"; @@ -287,7 +301,10 @@ in ProtectHome = true; PrivateUsers = true; PrivateTmp = true; - SystemCallFilter = [ "@system-service" "~ @privileged @resources" ]; + SystemCallFilter = [ + "@system-service" + "~ @privileged @resources" + ]; UMask = "0077"; }; }; diff --git a/nixos/modules/services/networking/firewall-iptables.nix b/nixos/modules/services/networking/firewall-iptables.nix index 086106f0d8d2b..53d7d3434daee 100644 --- a/nixos/modules/services/networking/firewall-iptables.nix +++ b/nixos/modules/services/networking/firewall-iptables.nix @@ -1,46 +1,54 @@ -/* This module enables a simple firewall. - - The firewall can be customised in arbitrary ways by setting - ‘networking.firewall.extraCommands’. For modularity, the firewall - uses several chains: - - - ‘nixos-fw’ is the main chain for input packet processing. - - - ‘nixos-fw-accept’ is called for accepted packets. If you want - additional logging, or want to reject certain packets anyway, you - can insert rules at the start of this chain. - - - ‘nixos-fw-log-refuse’ and ‘nixos-fw-refuse’ are called for - refused packets. (The former jumps to the latter after logging - the packet.) If you want additional logging, or want to accept - certain packets anyway, you can insert rules at the start of - this chain. - - - ‘nixos-fw-rpfilter’ is used as the main chain in the mangle table, - called from the built-in ‘PREROUTING’ chain. If the kernel - supports it and `cfg.checkReversePath` is set this chain will - perform a reverse path filter test. - - - ‘nixos-drop’ is used while reloading the firewall in order to drop - all traffic. Since reloading isn't implemented in an atomic way - this'll prevent any traffic from leaking through while reloading - the firewall. However, if the reloading fails, the ‘firewall-stop’ - script will be called which in return will effectively disable the - complete firewall (in the default configuration). - +/* + This module enables a simple firewall. + + The firewall can be customised in arbitrary ways by setting + ‘networking.firewall.extraCommands’. For modularity, the firewall + uses several chains: + + - ‘nixos-fw’ is the main chain for input packet processing. + + - ‘nixos-fw-accept’ is called for accepted packets. If you want + additional logging, or want to reject certain packets anyway, you + can insert rules at the start of this chain. + + - ‘nixos-fw-log-refuse’ and ‘nixos-fw-refuse’ are called for + refused packets. (The former jumps to the latter after logging + the packet.) If you want additional logging, or want to accept + certain packets anyway, you can insert rules at the start of + this chain. + + - ‘nixos-fw-rpfilter’ is used as the main chain in the mangle table, + called from the built-in ‘PREROUTING’ chain. If the kernel + supports it and `cfg.checkReversePath` is set this chain will + perform a reverse path filter test. + + - ‘nixos-drop’ is used while reloading the firewall in order to drop + all traffic. Since reloading isn't implemented in an atomic way + this'll prevent any traffic from leaking through while reloading + the firewall. However, if the reloading fails, the ‘firewall-stop’ + script will be called which in return will effectively disable the + complete firewall (in the default configuration). */ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.networking.firewall; inherit (config.boot.kernelPackages) kernel; - kernelHasRPFilter = ((kernel.config.isEnabled or (x: false)) "IP_NF_MATCH_RPFILTER") || (kernel.features.netfilterRPFilter or false); + kernelHasRPFilter = + ((kernel.config.isEnabled or (x: false)) "IP_NF_MATCH_RPFILTER") + || (kernel.features.netfilterRPFilter or false); helpers = import ./helpers.nix { inherit config lib; }; - writeShScript = name: text: + writeShScript = + name: text: let dir = pkgs.writeScriptBin name '' #! ${pkgs.runtimeShell} -e @@ -70,15 +78,20 @@ let # The "nixos-fw-refuse" chain rejects or drops packets. ip46tables -N nixos-fw-refuse - ${if cfg.rejectPackets then '' - # Send a reset for existing TCP connections that we've - # somehow forgotten about. Send ICMP "port unreachable" - # for everything else. - ip46tables -A nixos-fw-refuse -p tcp ! --syn -j REJECT --reject-with tcp-reset - ip46tables -A nixos-fw-refuse -j REJECT - '' else '' - ip46tables -A nixos-fw-refuse -j DROP - ''} + ${ + if cfg.rejectPackets then + '' + # Send a reset for existing TCP connections that we've + # somehow forgotten about. Send ICMP "port unreachable" + # for everything else. + ip46tables -A nixos-fw-refuse -p tcp ! --syn -j REJECT --reject-with tcp-reset + ip46tables -A nixos-fw-refuse -j REJECT + '' + else + '' + ip46tables -A nixos-fw-refuse -j DROP + '' + } # The "nixos-fw-log-refuse" chain performs logging, then @@ -114,7 +127,9 @@ let # Perform a reverse-path test to refuse spoofers # For now, we just drop, as the mangle table doesn't have a log-refuse yet ip46tables -t mangle -N nixos-fw-rpfilter 2> /dev/null || true - ip46tables -t mangle -A nixos-fw-rpfilter -m rpfilter --validmark ${lib.optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN + ip46tables -t mangle -A nixos-fw-rpfilter -m rpfilter --validmark ${ + lib.optionalString (cfg.checkReversePath == "loose") "--loose" + } -j RETURN # Allows this host to act as a DHCP4 client without first having to use APIPA iptables -t mangle -A nixos-fw-rpfilter -p udp --sport 67 --dport 68 -j RETURN @@ -139,47 +154,69 @@ let ip46tables -A nixos-fw -m conntrack --ctstate ESTABLISHED,RELATED -j nixos-fw-accept # Accept connections to the allowed TCP ports. - ${lib.concatStrings (lib.mapAttrsToList (iface: cfg: - lib.concatMapStrings (port: - '' - ip46tables -A nixos-fw -p tcp --dport ${toString port} -j nixos-fw-accept ${lib.optionalString (iface != "default") "-i ${iface}"} - '' - ) cfg.allowedTCPPorts - ) cfg.allInterfaces)} + ${lib.concatStrings ( + lib.mapAttrsToList ( + iface: cfg: + lib.concatMapStrings (port: '' + ip46tables -A nixos-fw -p tcp --dport ${toString port} -j nixos-fw-accept ${ + lib.optionalString (iface != "default") "-i ${iface}" + } + '') cfg.allowedTCPPorts + ) cfg.allInterfaces + )} # Accept connections to the allowed TCP port ranges. - ${lib.concatStrings (lib.mapAttrsToList (iface: cfg: - lib.concatMapStrings (rangeAttr: - let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in - '' - ip46tables -A nixos-fw -p tcp --dport ${range} -j nixos-fw-accept ${lib.optionalString (iface != "default") "-i ${iface}"} - '' - ) cfg.allowedTCPPortRanges - ) cfg.allInterfaces)} + ${lib.concatStrings ( + lib.mapAttrsToList ( + iface: cfg: + lib.concatMapStrings ( + rangeAttr: + let + range = toString rangeAttr.from + ":" + toString rangeAttr.to; + in + '' + ip46tables -A nixos-fw -p tcp --dport ${range} -j nixos-fw-accept ${ + lib.optionalString (iface != "default") "-i ${iface}" + } + '' + ) cfg.allowedTCPPortRanges + ) cfg.allInterfaces + )} # Accept packets on the allowed UDP ports. - ${lib.concatStrings (lib.mapAttrsToList (iface: cfg: - lib.concatMapStrings (port: - '' - ip46tables -A nixos-fw -p udp --dport ${toString port} -j nixos-fw-accept ${lib.optionalString (iface != "default") "-i ${iface}"} - '' - ) cfg.allowedUDPPorts - ) cfg.allInterfaces)} + ${lib.concatStrings ( + lib.mapAttrsToList ( + iface: cfg: + lib.concatMapStrings (port: '' + ip46tables -A nixos-fw -p udp --dport ${toString port} -j nixos-fw-accept ${ + lib.optionalString (iface != "default") "-i ${iface}" + } + '') cfg.allowedUDPPorts + ) cfg.allInterfaces + )} # Accept packets on the allowed UDP port ranges. - ${lib.concatStrings (lib.mapAttrsToList (iface: cfg: - lib.concatMapStrings (rangeAttr: - let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in - '' - ip46tables -A nixos-fw -p udp --dport ${range} -j nixos-fw-accept ${lib.optionalString (iface != "default") "-i ${iface}"} - '' - ) cfg.allowedUDPPortRanges - ) cfg.allInterfaces)} + ${lib.concatStrings ( + lib.mapAttrsToList ( + iface: cfg: + lib.concatMapStrings ( + rangeAttr: + let + range = toString rangeAttr.from + ":" + toString rangeAttr.to; + in + '' + ip46tables -A nixos-fw -p udp --dport ${range} -j nixos-fw-accept ${ + lib.optionalString (iface != "default") "-i ${iface}" + } + '' + ) cfg.allowedUDPPortRanges + ) cfg.allInterfaces + )} # Optionally respond to ICMPv4 pings. ${lib.optionalString cfg.allowPing '' - iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${lib.optionalString (cfg.pingLimit != null) - "-m limit ${cfg.pingLimit} " + iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${ + lib.optionalString (cfg.pingLimit != null) "-m limit ${cfg.pingLimit} " }-j nixos-fw-accept ''} @@ -304,7 +341,10 @@ in wantedBy = [ "sysinit.target" ]; wants = [ "network-pre.target" ]; after = [ "systemd-modules-load.service" ]; - before = [ "network-pre.target" "shutdown.target" ]; + before = [ + "network-pre.target" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; path = [ cfg.package ] ++ cfg.extraPackages; diff --git a/nixos/modules/services/networking/firewall-nftables.nix b/nixos/modules/services/networking/firewall-nftables.nix index 06f070caf25aa..d9695c0e4d272 100644 --- a/nixos/modules/services/networking/firewall-nftables.nix +++ b/nixos/modules/services/networking/firewall-nftables.nix @@ -1,16 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.networking.firewall; - ifaceSet = lib.concatStringsSep ", " ( - map (x: ''"${x}"'') cfg.trustedInterfaces - ); + ifaceSet = lib.concatStringsSep ", " (map (x: ''"${x}"'') cfg.trustedInterfaces); - portsToNftSet = ports: portRanges: lib.concatStringsSep ", " ( - map (x: toString x) ports - ++ map (x: "${toString x.from}-${toString x.to}") portRanges - ); + portsToNftSet = + ports: portRanges: + lib.concatStringsSep ", " ( + map (x: toString x) ports ++ map (x: "${toString x.from}-${toString x.to}") portRanges + ); in @@ -81,68 +85,72 @@ in networking.nftables.tables."nixos-fw".family = "inet"; networking.nftables.tables."nixos-fw".content = '' - set temp-ports { - comment "Temporarily opened ports" - type inet_proto . inet_service - flags interval - auto-merge - } - - ${lib.optionalString (cfg.checkReversePath != false) '' - chain rpfilter { - type filter hook prerouting priority mangle + 10; policy drop; + set temp-ports { + comment "Temporarily opened ports" + type inet_proto . inet_service + flags interval + auto-merge + } - meta nfproto ipv4 udp sport . udp dport { 67 . 68, 68 . 67 } accept comment "DHCPv4 client/server" - fib saddr . mark ${lib.optionalString (cfg.checkReversePath != "loose") ". iif"} oif exists accept + ${lib.optionalString (cfg.checkReversePath != false) '' + chain rpfilter { + type filter hook prerouting priority mangle + 10; policy drop; - jump rpfilter-allow + meta nfproto ipv4 udp sport . udp dport { 67 . 68, 68 . 67 } accept comment "DHCPv4 client/server" + fib saddr . mark ${lib.optionalString (cfg.checkReversePath != "loose") ". iif"} oif exists accept - ${lib.optionalString cfg.logReversePathDrops '' - log level info prefix "rpfilter drop: " - ''} + jump rpfilter-allow - } - ''} + ${lib.optionalString cfg.logReversePathDrops '' + log level info prefix "rpfilter drop: " + ''} - chain rpfilter-allow { - ${cfg.extraReversePathFilterRules} } + ''} - chain input { - type filter hook input priority filter; policy drop; + chain rpfilter-allow { + ${cfg.extraReversePathFilterRules} + } - ${lib.optionalString (ifaceSet != "") ''iifname { ${ifaceSet} } accept comment "trusted interfaces"''} + chain input { + type filter hook input priority filter; policy drop; - # Some ICMPv6 types like NDP is untracked - ct state vmap { - invalid : drop, - established : accept, - related : accept, - new : jump input-allow, - untracked: jump input-allow, - } + ${lib.optionalString ( + ifaceSet != "" + ) ''iifname { ${ifaceSet} } accept comment "trusted interfaces"''} - ${lib.optionalString cfg.logRefusedConnections '' - tcp flags syn / fin,syn,rst,ack log level info prefix "refused connection: " - ''} - ${lib.optionalString (cfg.logRefusedPackets && !cfg.logRefusedUnicastsOnly) '' - pkttype broadcast log level info prefix "refused broadcast: " - pkttype multicast log level info prefix "refused multicast: " - ''} - ${lib.optionalString cfg.logRefusedPackets '' - pkttype host log level info prefix "refused packet: " - ''} + # Some ICMPv6 types like NDP is untracked + ct state vmap { + invalid : drop, + established : accept, + related : accept, + new : jump input-allow, + untracked: jump input-allow, + } - ${lib.optionalString cfg.rejectPackets '' - meta l4proto tcp reject with tcp reset - reject - ''} + ${lib.optionalString cfg.logRefusedConnections '' + tcp flags syn / fin,syn,rst,ack log level info prefix "refused connection: " + ''} + ${lib.optionalString (cfg.logRefusedPackets && !cfg.logRefusedUnicastsOnly) '' + pkttype broadcast log level info prefix "refused broadcast: " + pkttype multicast log level info prefix "refused multicast: " + ''} + ${lib.optionalString cfg.logRefusedPackets '' + pkttype host log level info prefix "refused packet: " + ''} - } + ${lib.optionalString cfg.rejectPackets '' + meta l4proto tcp reject with tcp reset + reject + ''} + + } - chain input-allow { + chain input-allow { - ${lib.concatStrings (lib.mapAttrsToList (iface: cfg: + ${lib.concatStrings ( + lib.mapAttrsToList ( + iface: cfg: let ifaceExpr = lib.optionalString (iface != "default") "iifname ${iface}"; tcpSet = portsToNftSet cfg.allowedTCPPorts cfg.allowedTCPPortRanges; @@ -152,45 +160,48 @@ in ${lib.optionalString (tcpSet != "") "${ifaceExpr} tcp dport { ${tcpSet} } accept"} ${lib.optionalString (udpSet != "") "${ifaceExpr} udp dport { ${udpSet} } accept"} '' - ) cfg.allInterfaces)} + ) cfg.allInterfaces + )} - meta l4proto . th dport @temp-ports accept + meta l4proto . th dport @temp-ports accept - ${lib.optionalString cfg.allowPing '' - icmp type echo-request ${lib.optionalString (cfg.pingLimit != null) "limit rate ${cfg.pingLimit}"} accept comment "allow ping" - ''} + ${lib.optionalString cfg.allowPing '' + icmp type echo-request ${ + lib.optionalString (cfg.pingLimit != null) "limit rate ${cfg.pingLimit}" + } accept comment "allow ping" + ''} - icmpv6 type != { nd-redirect, 139 } accept comment "Accept all ICMPv6 messages except redirects and node information queries (type 139). See RFC 4890, section 4.4." - ip6 daddr fe80::/64 udp dport 546 accept comment "DHCPv6 client" + icmpv6 type != { nd-redirect, 139 } accept comment "Accept all ICMPv6 messages except redirects and node information queries (type 139). See RFC 4890, section 4.4." + ip6 daddr fe80::/64 udp dport 546 accept comment "DHCPv6 client" - ${cfg.extraInputRules} + ${cfg.extraInputRules} - } - - ${lib.optionalString cfg.filterForward '' - chain forward { - type filter hook forward priority filter; policy drop; + } - ct state vmap { - invalid : drop, - established : accept, - related : accept, - new : jump forward-allow, - untracked : jump forward-allow, - } + ${lib.optionalString cfg.filterForward '' + chain forward { + type filter hook forward priority filter; policy drop; + ct state vmap { + invalid : drop, + established : accept, + related : accept, + new : jump forward-allow, + untracked : jump forward-allow, } - chain forward-allow { + } - icmpv6 type != { router-renumbering, 139 } accept comment "Accept all ICMPv6 messages except renumbering and node information queries (type 139). See RFC 4890, section 4.3." + chain forward-allow { - ct status dnat accept comment "allow port forward" + icmpv6 type != { router-renumbering, 139 } accept comment "Accept all ICMPv6 messages except renumbering and node information queries (type 139). See RFC 4890, section 4.3." - ${cfg.extraForwardRules} + ct status dnat accept comment "allow port forward" - } - ''} + ${cfg.extraForwardRules} + + } + ''} ''; }; diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index ab575b884a71b..bf3119292eeeb 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -1,17 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.networking.firewall; - canonicalizePortList = - ports: lib.unique (builtins.sort builtins.lessThan ports); + canonicalizePortList = ports: lib.unique (builtins.sort builtins.lessThan ports); commonOptions = { allowedTCPPorts = lib.mkOption { type = lib.types.listOf lib.types.port; default = [ ]; apply = canonicalizePortList; - example = [ 22 80 ]; + example = [ + 22 + 80 + ]; description = '' List of TCP ports on which incoming connections are accepted. @@ -21,7 +28,12 @@ let allowedTCPPortRanges = lib.mkOption { type = lib.types.listOf (lib.types.attrsOf lib.types.port); default = [ ]; - example = [{ from = 8999; to = 9003; }]; + example = [ + { + from = 8999; + to = 9003; + } + ]; description = '' A range of TCP ports on which incoming connections are accepted. @@ -41,7 +53,12 @@ let allowedUDPPortRanges = lib.mkOption { type = lib.types.listOf (lib.types.attrsOf lib.types.port); default = [ ]; - example = [{ from = 60000; to = 61000; }]; + example = [ + { + from = 60000; + to = 61000; + } + ]; description = '' Range of open UDP ports. ''; @@ -158,7 +175,12 @@ in }; checkReversePath = lib.mkOption { - type = lib.types.either lib.types.bool (lib.types.enum [ "strict" "loose" ]); + type = lib.types.either lib.types.bool ( + lib.types.enum [ + "strict" + "loose" + ] + ); default = true; defaultText = lib.literalMD "`true` except if the iptables based firewall is in use and the kernel lacks rpfilter support"; example = "loose"; @@ -199,7 +221,18 @@ in connectionTrackingModules = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; - example = [ "ftp" "irc" "sane" "sip" "tftp" "amanda" "h323" "netbios_sn" "pptp" "snmp" ]; + example = [ + "ftp" + "irc" + "sane" + "sip" + "tftp" + "amanda" + "h323" + "netbios_sn" + "pptp" + "snmp" + ]; description = '' List of connection-tracking helpers that are auto-loaded. The complete list of possible values is given in the example. @@ -239,7 +272,7 @@ in interfaces = lib.mkOption { default = { }; - type = with lib.types; attrsOf (submodule [{ options = commonOptions; }]); + type = with lib.types; attrsOf (submodule [ { options = commonOptions; } ]); description = '' Interface-specific open ports. ''; @@ -248,8 +281,10 @@ in allInterfaces = lib.mkOption { internal = true; visible = false; - default = { default = lib.mapAttrs (name: value: cfg.${name}) commonOptions; } // cfg.interfaces; - type = with lib.types; attrsOf (submodule [{ options = commonOptions; }]); + default = { + default = lib.mapAttrs (name: value: cfg.${name}) commonOptions; + } // cfg.interfaces; + type = with lib.types; attrsOf (submodule [ { options = commonOptions; } ]); description = '' All open ports. ''; @@ -258,7 +293,6 @@ in }; - config = lib.mkIf cfg.enable { assertions = [ @@ -267,7 +301,8 @@ in message = "filterForward only works with the nftables based firewall"; } { - assertion = cfg.autoLoadConntrackHelpers -> lib.versionOlder config.boot.kernelPackages.kernel.version "6"; + assertion = + cfg.autoLoadConntrackHelpers -> lib.versionOlder config.boot.kernelPackages.kernel.version "6"; message = "conntrack helper autoloading has been removed from kernel 6.0 and newer"; } ]; @@ -279,7 +314,8 @@ in pkgs.nixos-firewall-tool ] ++ cfg.extraPackages; - boot.kernelModules = (lib.optional cfg.autoLoadConntrackHelpers "nf_conntrack") + boot.kernelModules = + (lib.optional cfg.autoLoadConntrackHelpers "nf_conntrack") ++ map (x: "nf_conntrack_${x}") cfg.connectionTrackingModules; boot.extraModprobeConfig = lib.optionalString cfg.autoLoadConntrackHelpers '' options nf_conntrack nf_conntrack_helper=1 diff --git a/nixos/modules/services/networking/flannel.nix b/nixos/modules/services/networking/flannel.nix index 05987df88c187..95ad9d8374c09 100644 --- a/nixos/modules/services/networking/flannel.nix +++ b/nixos/modules/services/networking/flannel.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.flannel; @@ -9,7 +14,8 @@ let SubnetMax = cfg.subnetMax; Backend = cfg.backend; }; -in { +in +{ options.services.flannel = { enable = lib.mkEnableOption "flannel"; @@ -37,7 +43,7 @@ in { endpoints = lib.mkOption { description = "Etcd endpoints"; type = lib.types.listOf lib.types.str; - default = ["http://127.0.0.1:2379"]; + default = [ "http://127.0.0.1:2379" ]; }; prefix = lib.mkOption { @@ -91,7 +97,10 @@ in { storageBackend = lib.mkOption { description = "Determines where flannel stores its configuration at runtime"; - type = lib.types.enum ["etcd" "kubernetes"]; + type = lib.types.enum [ + "etcd" + "kubernetes" + ]; default = "etcd"; }; @@ -137,24 +146,27 @@ in { description = "Flannel Service"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - environment = { - FLANNELD_PUBLIC_IP = cfg.publicIp; - FLANNELD_IFACE = cfg.iface; - } // lib.optionalAttrs (cfg.storageBackend == "etcd") { - FLANNELD_ETCD_ENDPOINTS = lib.concatStringsSep "," cfg.etcd.endpoints; - FLANNELD_ETCD_KEYFILE = cfg.etcd.keyFile; - FLANNELD_ETCD_CERTFILE = cfg.etcd.certFile; - FLANNELD_ETCD_CAFILE = cfg.etcd.caFile; - ETCDCTL_CERT = cfg.etcd.certFile; - ETCDCTL_KEY = cfg.etcd.keyFile; - ETCDCTL_CACERT = cfg.etcd.caFile; - ETCDCTL_ENDPOINTS = lib.concatStringsSep "," cfg.etcd.endpoints; - ETCDCTL_API = "3"; - } // lib.optionalAttrs (cfg.storageBackend == "kubernetes") { - FLANNELD_KUBE_SUBNET_MGR = "true"; - FLANNELD_KUBECONFIG_FILE = cfg.kubeconfig; - NODE_NAME = cfg.nodeName; - }; + environment = + { + FLANNELD_PUBLIC_IP = cfg.publicIp; + FLANNELD_IFACE = cfg.iface; + } + // lib.optionalAttrs (cfg.storageBackend == "etcd") { + FLANNELD_ETCD_ENDPOINTS = lib.concatStringsSep "," cfg.etcd.endpoints; + FLANNELD_ETCD_KEYFILE = cfg.etcd.keyFile; + FLANNELD_ETCD_CERTFILE = cfg.etcd.certFile; + FLANNELD_ETCD_CAFILE = cfg.etcd.caFile; + ETCDCTL_CERT = cfg.etcd.certFile; + ETCDCTL_KEY = cfg.etcd.keyFile; + ETCDCTL_CACERT = cfg.etcd.caFile; + ETCDCTL_ENDPOINTS = lib.concatStringsSep "," cfg.etcd.endpoints; + ETCDCTL_API = "3"; + } + // lib.optionalAttrs (cfg.storageBackend == "kubernetes") { + FLANNELD_KUBE_SUBNET_MGR = "true"; + FLANNELD_KUBECONFIG_FILE = cfg.kubeconfig; + NODE_NAME = cfg.nodeName; + }; path = [ pkgs.iptables ]; preStart = lib.optionalString (cfg.storageBackend == "etcd") '' echo "setting network configuration" @@ -172,7 +184,9 @@ in { }; }; - services.etcd.enable = lib.mkDefault (cfg.storageBackend == "etcd" && cfg.etcd.endpoints == ["http://127.0.0.1:2379"]); + services.etcd.enable = lib.mkDefault ( + cfg.storageBackend == "etcd" && cfg.etcd.endpoints == [ "http://127.0.0.1:2379" ] + ); # for some reason, flannel doesn't let you configure this path # see: https://github.com/coreos/flannel/blob/master/Documentation/configuration.md#configuration diff --git a/nixos/modules/services/networking/freenet.nix b/nixos/modules/services/networking/freenet.nix index 4323b98d67075..1c9b0ef66618a 100644 --- a/nixos/modules/services/networking/freenet.nix +++ b/nixos/modules/services/networking/freenet.nix @@ -1,5 +1,10 @@ # NixOS module for Freenet daemon -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.freenet; diff --git a/nixos/modules/services/networking/freeradius.nix b/nixos/modules/services/networking/freeradius.nix index d747219b29cb6..cd766f9195790 100644 --- a/nixos/modules/services/networking/freeradius.nix +++ b/nixos/modules/services/networking/freeradius.nix @@ -1,31 +1,35 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.freeradius; - freeradiusService = cfg: - { + freeradiusService = cfg: { description = "FreeRadius server"; - wantedBy = ["multi-user.target"]; - after = ["network.target"]; - wants = ["network.target"]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + wants = [ "network.target" ]; preStart = '' ${cfg.package}/bin/radiusd -C -d ${cfg.configDir} -l stdout ''; serviceConfig = { - ExecStart = "${cfg.package}/bin/radiusd -f -d ${cfg.configDir} -l stdout" + - lib.optionalString cfg.debug " -xx"; - ExecReload = [ - "${cfg.package}/bin/radiusd -C -d ${cfg.configDir} -l stdout" - "${pkgs.coreutils}/bin/kill -HUP $MAINPID" - ]; - User = "radius"; - ProtectSystem = "full"; - ProtectHome = "on"; - Restart = "on-failure"; - RestartSec = 2; - LogsDirectory = "radius"; + ExecStart = + "${cfg.package}/bin/radiusd -f -d ${cfg.configDir} -l stdout" + lib.optionalString cfg.debug " -xx"; + ExecReload = [ + "${cfg.package}/bin/radiusd -C -d ${cfg.configDir} -l stdout" + "${pkgs.coreutils}/bin/kill -HUP $MAINPID" + ]; + User = "radius"; + ProtectSystem = "full"; + ProtectHome = "on"; + Restart = "on-failure"; + RestartSec = 2; + LogsDirectory = "radius"; }; }; @@ -64,19 +68,18 @@ in services.freeradius = freeradiusConfig; }; - ###### implementation config = lib.mkIf (cfg.enable) { users = { users.radius = { - /*uid = config.ids.uids.radius;*/ + # uid = config.ids.uids.radius; description = "Radius daemon user"; isSystemUser = true; group = "radius"; }; - groups.radius = {}; + groups.radius = { }; }; systemd.services.freeradius = freeradiusService cfg; diff --git a/nixos/modules/services/networking/frp.nix b/nixos/modules/services/networking/frp.nix index 56af543b845ba..b09d54f47827a 100644 --- a/nixos/modules/services/networking/frp.nix +++ b/nixos/modules/services/networking/frp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.frp; settingsFormat = pkgs.formats.toml { }; @@ -14,7 +19,10 @@ in package = lib.mkPackageOption pkgs "frp" { }; role = lib.mkOption { - type = lib.types.enum [ "server" "client" ]; + type = lib.types.enum [ + "server" + "client" + ]; description = '' The frp consists of `client` and `server`. The server is usually deployed on the machine with a public IP address, and @@ -32,9 +40,9 @@ in or [server](https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml) on github. ''; example = { - serverAddr = "x.x.x.x"; - serverPort = 7000; - }; + serverAddr = "x.x.x.x"; + serverPort = 7000; + }; }; }; }; @@ -69,7 +77,10 @@ in ProtectKernelModules = true; ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ] ++ lib.optionals isClient [ "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ] ++ lib.optionals isClient [ "AF_UNIX" ]; LockPersonality = true; MemoryDenyWriteExecute = true; RestrictRealtime = true; diff --git a/nixos/modules/services/networking/frr.nix b/nixos/modules/services/networking/frr.nix index 3ffd1c3f070a5..e26385802af16 100644 --- a/nixos/modules/services/networking/frr.nix +++ b/nixos/modules/services/networking/frr.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -67,7 +72,11 @@ let "fabric" ]; - obsoleteServices = renamedServices ++ [ "static" "mgmt" "zebra" ]; + obsoleteServices = renamedServices ++ [ + "static" + "mgmt" + "zebra" + ]; allDaemons = builtins.attrNames daemonDefaultOptions; @@ -110,7 +119,9 @@ let ''; }; } - // (if (builtins.elem service daemons) then { enable = lib.mkEnableOption "FRR ${service}"; } else { }); + // ( + if (builtins.elem service daemons) then { enable = lib.mkEnableOption "FRR ${service}"; } else { } + ); in @@ -159,21 +170,66 @@ in { options.services.frr = (lib.genAttrs allDaemons serviceOptions); } (lib.mkRemovedOptionModule [ "services" "frr" "zebra" "enable" ] "FRR zebra is always enabled") ] - ++ (map (d: lib.mkRenamedOptionModule [ "services" "frr" d "enable" ] [ "services" "frr" "${d}d" "enable" ]) renamedServices) - ++ (map (d: lib.mkRenamedOptionModule [ "services" "frr" d "extraOptions" ] [ "services" "frr" "${d}d" "extraOptions" ]) (renamedServices ++ [ "static" "mgmt" ])) - ++ (map (d: lib.mkRemovedOptionModule [ "services" "frr" d "enable" ] "FRR ${d}d is always enabled") [ "static" "mgmt" ]) - ++ (map (d: lib.mkRemovedOptionModule [ "services" "frr" d "config" ] "FRR switched to integrated-vtysh-config, please use services.frr.config") obsoleteServices) - ++ (map (d: lib.mkRemovedOptionModule [ "services" "frr" d "configFile" ] "FRR switched to integrated-vtysh-config, please use services.frr.config or services.frr.configFile") obsoleteServices) - ++ (map (d: lib.mkRemovedOptionModule [ "services" "frr" d "vtyListenAddress" ] "Please change -A option in services.frr.${d}.options instead") obsoleteServices) - ++ (map (d: lib.mkRemovedOptionModule [ "services" "frr" d "vtyListenPort" ] "Please use `-P «vtyListenPort»` option with services.frr.${d}.extraOptions instead, or change services.frr.${d}.options accordingly") obsoleteServices) - ; + ++ (map ( + d: lib.mkRenamedOptionModule [ "services" "frr" d "enable" ] [ "services" "frr" "${d}d" "enable" ] + ) renamedServices) + ++ (map + ( + d: + lib.mkRenamedOptionModule + [ "services" "frr" d "extraOptions" ] + [ "services" "frr" "${d}d" "extraOptions" ] + ) + ( + renamedServices + ++ [ + "static" + "mgmt" + ] + ) + ) + ++ (map (d: lib.mkRemovedOptionModule [ "services" "frr" d "enable" ] "FRR ${d}d is always enabled") + [ + "static" + "mgmt" + ] + ) + ++ (map ( + d: + lib.mkRemovedOptionModule [ + "services" + "frr" + d + "config" + ] "FRR switched to integrated-vtysh-config, please use services.frr.config" + ) obsoleteServices) + ++ (map ( + d: + lib.mkRemovedOptionModule [ "services" "frr" d "configFile" ] + "FRR switched to integrated-vtysh-config, please use services.frr.config or services.frr.configFile" + ) obsoleteServices) + ++ (map ( + d: + lib.mkRemovedOptionModule [ + "services" + "frr" + d + "vtyListenAddress" + ] "Please change -A option in services.frr.${d}.options instead" + ) obsoleteServices) + ++ (map ( + d: + lib.mkRemovedOptionModule [ "services" "frr" d "vtyListenPort" ] + "Please use `-P «vtyListenPort»` option with services.frr.${d}.extraOptions instead, or change services.frr.${d}.options accordingly" + ) obsoleteServices); ###### implementation config = let daemonList = lib.concatStringsSep "\n" (map daemonLine daemons); - daemonOptionLine = d: "${d}_options=\"${lib.concatStringsSep " " (cfg.${d}.options ++ cfg.${d}.extraOptions)}\""; + daemonOptionLine = + d: "${d}_options=\"${lib.concatStringsSep " " (cfg.${d}.options ++ cfg.${d}.extraOptions)}\""; daemonOptions = lib.concatStringsSep "\n" (map daemonOptionLine allDaemons); in lib.mkIf (lib.any isEnabled daemons || cfg.configFile != null || cfg.config != "") { diff --git a/nixos/modules/services/networking/gateone.nix b/nixos/modules/services/networking/gateone.nix index 83a7ea2485943..51817124cb1d6 100644 --- a/nixos/modules/services/networking/gateone.nix +++ b/nixos/modules/services/networking/gateone.nix @@ -1,9 +1,14 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gateone; in { -options = { + options = { services.gateone = { enable = lib.mkEnableOption "GateOne server"; pidDir = lib.mkOption { @@ -17,42 +22,52 @@ options = { description = "Path of configuration files for GateOne."; }; }; -}; -config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs.pythonPackages; [ - gateone pkgs.openssh pkgs.procps pkgs.coreutils pkgs.cacert]; - - users.users.gateone = { - description = "GateOne privilege separation user"; - uid = config.ids.uids.gateone; - home = cfg.settingsDir; }; - users.groups.gateone.gid = config.ids.gids.gateone; + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs.pythonPackages; [ + gateone + pkgs.openssh + pkgs.procps + pkgs.coreutils + pkgs.cacert + ]; - systemd.services.gateone = with pkgs; { - description = "GateOne web-based terminal"; - path = [ pythonPackages.gateone nix openssh procps coreutils ]; - preStart = '' - if [ ! -d ${cfg.settingsDir} ] ; then - mkdir -m 0750 -p ${cfg.settingsDir} - chown -R gateone:gateone ${cfg.settingsDir} - fi - if [ ! -d ${cfg.pidDir} ] ; then - mkdir -m 0750 -p ${cfg.pidDir} - chown -R gateone:gateone ${cfg.pidDir} - fi - ''; - #unitConfig.RequiresMountsFor = "${cfg.settingsDir}"; - serviceConfig = { - ExecStart = ''${pythonPackages.gateone}/bin/gateone --settings_dir=${cfg.settingsDir} --pid_file=${cfg.pidDir}/gateone.pid --gid=${toString config.ids.gids.gateone} --uid=${toString config.ids.uids.gateone}''; - User = "gateone"; - Group = "gateone"; - WorkingDirectory = cfg.settingsDir; + users.users.gateone = { + description = "GateOne privilege separation user"; + uid = config.ids.uids.gateone; + home = cfg.settingsDir; }; + users.groups.gateone.gid = config.ids.gids.gateone; + + systemd.services.gateone = with pkgs; { + description = "GateOne web-based terminal"; + path = [ + pythonPackages.gateone + nix + openssh + procps + coreutils + ]; + preStart = '' + if [ ! -d ${cfg.settingsDir} ] ; then + mkdir -m 0750 -p ${cfg.settingsDir} + chown -R gateone:gateone ${cfg.settingsDir} + fi + if [ ! -d ${cfg.pidDir} ] ; then + mkdir -m 0750 -p ${cfg.pidDir} + chown -R gateone:gateone ${cfg.pidDir} + fi + ''; + #unitConfig.RequiresMountsFor = "${cfg.settingsDir}"; + serviceConfig = { + ExecStart = ''${pythonPackages.gateone}/bin/gateone --settings_dir=${cfg.settingsDir} --pid_file=${cfg.pidDir}/gateone.pid --gid=${toString config.ids.gids.gateone} --uid=${toString config.ids.uids.gateone}''; + User = "gateone"; + Group = "gateone"; + WorkingDirectory = cfg.settingsDir; + }; - wantedBy = [ "multi-user.target" ]; - requires = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + requires = [ "network.target" ]; + }; }; -}; } - diff --git a/nixos/modules/services/networking/gdomap.nix b/nixos/modules/services/networking/gdomap.nix index b7d6e2a2b690f..bfec51c616bb1 100644 --- a/nixos/modules/services/networking/gdomap.nix +++ b/nixos/modules/services/networking/gdomap.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { # # interface @@ -6,7 +11,7 @@ options = { services.gdomap = { enable = lib.mkEnableOption "GNUstep Distributed Objects name server"; - }; + }; }; # @@ -19,7 +24,7 @@ description = "gdomap server"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - path = [ pkgs.gnustep.base ]; + path = [ pkgs.gnustep.base ]; serviceConfig.ExecStart = "${pkgs.gnustep.base}/bin/gdomap -f"; }; }; diff --git a/nixos/modules/services/networking/ghostunnel.nix b/nixos/modules/services/networking/ghostunnel.nix index b8d3cc3629790..ea087d699e703 100644 --- a/nixos/modules/services/networking/ghostunnel.nix +++ b/nixos/modules/services/networking/ghostunnel.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) attrValues @@ -19,7 +24,8 @@ let mainCfg = config.services.ghostunnel; - module = { config, name, ... }: + module = + { config, name, ... }: { options = { @@ -97,7 +103,7 @@ let Allow client if common name appears in the list. ''; type = types.listOf types.str; - default = []; + default = [ ]; }; allowOU = mkOption { @@ -105,7 +111,7 @@ let Allow client if organizational unit name appears in the list. ''; type = types.listOf types.str; - default = []; + default = [ ]; }; allowDNS = mkOption { @@ -113,7 +119,7 @@ let Allow client if DNS subject alternative name appears in the list. ''; type = types.listOf types.str; - default = []; + default = [ ]; }; allowURI = mkOption { @@ -121,7 +127,7 @@ let Allow client if URI subject alternative name appears in the list. ''; type = types.listOf types.str; - default = []; + default = [ ]; }; extraArguments = mkOption { @@ -154,7 +160,8 @@ let config.atRoot = { assertions = [ - { message = '' + { + message = '' services.ghostunnel.servers.${name}: At least one access control flag is required. Set at least one of: - services.ghostunnel.servers.${name}.disableAuthentication @@ -164,13 +171,13 @@ let - services.ghostunnel.servers.${name}.allowDNS - services.ghostunnel.servers.${name}.allowURI ''; - assertion = config.disableAuthentication + assertion = + config.disableAuthentication || config.allowAll - || config.allowCN != [] - || config.allowOU != [] - || config.allowDNS != [] - || config.allowURI != [] - ; + || config.allowCN != [ ] + || config.allowOU != [ ] + || config.allowDNS != [ ] + || config.allowURI != [ ]; } ]; @@ -180,13 +187,14 @@ let wantedBy = [ "multi-user.target" ]; serviceConfig = { Restart = "always"; - AmbientCapabilities = ["CAP_NET_BIND_SERVICE"]; + AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; DynamicUser = true; - LoadCredential = optional (config.keystore != null) "keystore:${config.keystore}" + LoadCredential = + optional (config.keystore != null) "keystore:${config.keystore}" ++ optional (config.cert != null) "cert:${config.cert}" ++ optional (config.key != null) "key:${config.key}" ++ optional (config.cacert != null) "cacert:${config.cacert}"; - }; + }; script = concatStringsSep " " ( [ "${mainCfg.package}/bin/ghostunnel" ] ++ optional (config.keystore != null) "--keystore=$CREDENTIALS_DIRECTORY/keystore" @@ -197,14 +205,15 @@ let "server" "--listen ${config.listen}" "--target ${config.target}" - ] ++ optional config.allowAll "--allow-all" - ++ map (v: "--allow-cn=${escapeShellArg v}") config.allowCN - ++ map (v: "--allow-ou=${escapeShellArg v}") config.allowOU - ++ map (v: "--allow-dns=${escapeShellArg v}") config.allowDNS - ++ map (v: "--allow-uri=${escapeShellArg v}") config.allowURI - ++ optional config.disableAuthentication "--disable-authentication" - ++ optional config.unsafeTarget "--unsafe-target" - ++ [ config.extraArguments ] + ] + ++ optional config.allowAll "--allow-all" + ++ map (v: "--allow-cn=${escapeShellArg v}") config.allowCN + ++ map (v: "--allow-ou=${escapeShellArg v}") config.allowOU + ++ map (v: "--allow-dns=${escapeShellArg v}") config.allowDNS + ++ map (v: "--allow-uri=${escapeShellArg v}") config.allowURI + ++ optional config.disableAuthentication "--disable-authentication" + ++ optional config.unsafeTarget "--unsafe-target" + ++ [ config.extraArguments ] ); }; }; @@ -223,7 +232,7 @@ in Server mode ghostunnels (TLS listener -> plain TCP/UNIX target) ''; type = types.attrsOf (types.submodule module); - default = {}; + default = { }; }; }; diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix index 215d7f79a52cf..d1b492ec61c0c 100644 --- a/nixos/modules/services/networking/git-daemon.nix +++ b/nixos/modules/services/networking/git-daemon.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gitDaemon; @@ -56,8 +61,11 @@ in repositories = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "/srv/git" "/home/user/git/repo2" ]; + default = [ ]; + example = [ + "/srv/git" + "/home/user/git/repo2" + ]; description = '' A whitelist of paths of git repositories, or directories containing repositories all of which would be published. Paths must not end in "/". @@ -120,11 +128,14 @@ in systemd.services.git-daemon = { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - script = "${lib.getExe cfg.package} daemon --reuseaddr " + script = + "${lib.getExe cfg.package} daemon --reuseaddr " + (lib.optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ") + (lib.optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ") + "--port=${toString cfg.port} --user=${cfg.user} --group=${cfg.group} ${cfg.options} " - + "--verbose " + (lib.optionalString cfg.exportAll "--export-all ") + lib.concatStringsSep " " cfg.repositories; + + "--verbose " + + (lib.optionalString cfg.exportAll "--export-all ") + + lib.concatStringsSep " " cfg.repositories; }; }; diff --git a/nixos/modules/services/networking/gns3-server.nix b/nixos/modules/services/networking/gns3-server.nix index 71980f52df2d4..769cde21bc201 100644 --- a/nixos/modules/services/networking/gns3-server.nix +++ b/nixos/modules/services/networking/gns3-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gns3-server; @@ -6,7 +11,8 @@ let settingsFormat = pkgs.formats.ini { }; configFile = settingsFormat.generate "gns3-server.conf" cfg.settings; -in { +in +{ meta = { doc = ./gns3-server.md; maintainers = [ lib.maintainers.anthonyroussel ]; @@ -45,8 +51,11 @@ in { settings = lib.mkOption { type = lib.types.submodule { freeformType = settingsFormat.type; }; - default = {}; - example = { host = "127.0.0.1"; port = 3080; }; + default = { }; + example = { + host = "127.0.0.1"; + port = 3080; + }; description = '' The global options in `config` file in ini format. @@ -103,179 +112,188 @@ in { }; }; - config = let - flags = { - enableDocker = config.virtualisation.docker.enable; - enableLibvirtd = config.virtualisation.libvirtd.enable; - }; + config = + let + flags = { + enableDocker = config.virtualisation.docker.enable; + enableLibvirtd = config.virtualisation.libvirtd.enable; + }; - in lib.mkIf cfg.enable { - assertions = [ - { - assertion = cfg.ssl.enable -> cfg.ssl.certFile != null; - message = "Please provide a certificate to use for SSL encryption."; - } - { - assertion = cfg.ssl.enable -> cfg.ssl.keyFile != null; - message = "Please provide a private key to use for SSL encryption."; - } - { - assertion = cfg.auth.enable -> cfg.auth.user != null; - message = "Please provide a username to use for HTTP authentication."; - } - { - assertion = cfg.auth.enable -> cfg.auth.passwordFile != null; - message = "Please provide a password file to use for HTTP authentication."; - } - ]; - - users.groups.gns3 = { }; - - users.groups.ubridge = lib.mkIf cfg.ubridge.enable { }; - - users.users.gns3 = { - group = "gns3"; - isSystemUser = true; - }; + in + lib.mkIf cfg.enable { + assertions = [ + { + assertion = cfg.ssl.enable -> cfg.ssl.certFile != null; + message = "Please provide a certificate to use for SSL encryption."; + } + { + assertion = cfg.ssl.enable -> cfg.ssl.keyFile != null; + message = "Please provide a private key to use for SSL encryption."; + } + { + assertion = cfg.auth.enable -> cfg.auth.user != null; + message = "Please provide a username to use for HTTP authentication."; + } + { + assertion = cfg.auth.enable -> cfg.auth.passwordFile != null; + message = "Please provide a password file to use for HTTP authentication."; + } + ]; + + users.groups.gns3 = { }; + + users.groups.ubridge = lib.mkIf cfg.ubridge.enable { }; + + users.users.gns3 = { + group = "gns3"; + isSystemUser = true; + }; - security.wrappers.ubridge = lib.mkIf cfg.ubridge.enable { - capabilities = "cap_net_raw,cap_net_admin=eip"; - group = "ubridge"; - owner = "root"; - permissions = "u=rwx,g=rx,o=r"; - source = lib.getExe cfg.ubridge.package; - }; + security.wrappers.ubridge = lib.mkIf cfg.ubridge.enable { + capabilities = "cap_net_raw,cap_net_admin=eip"; + group = "ubridge"; + owner = "root"; + permissions = "u=rwx,g=rx,o=r"; + source = lib.getExe cfg.ubridge.package; + }; - services.gns3-server.settings = lib.mkMerge [ - { - Server = { - appliances_path = lib.mkDefault "/var/lib/gns3/appliances"; - configs_path = lib.mkDefault "/var/lib/gns3/configs"; - images_path = lib.mkDefault "/var/lib/gns3/images"; - projects_path = lib.mkDefault "/var/lib/gns3/projects"; - symbols_path = lib.mkDefault "/var/lib/gns3/symbols"; - }; - } - (lib.mkIf (cfg.ubridge.enable) { - Server.ubridge_path = lib.mkDefault "/run/wrappers/bin/ubridge"; - }) - (lib.mkIf (cfg.auth.enable) { - Server = { - auth = lib.mkDefault (lib.boolToString cfg.auth.enable); - user = lib.mkDefault cfg.auth.user; - password = lib.mkDefault "@AUTH_PASSWORD@"; + services.gns3-server.settings = lib.mkMerge [ + { + Server = { + appliances_path = lib.mkDefault "/var/lib/gns3/appliances"; + configs_path = lib.mkDefault "/var/lib/gns3/configs"; + images_path = lib.mkDefault "/var/lib/gns3/images"; + projects_path = lib.mkDefault "/var/lib/gns3/projects"; + symbols_path = lib.mkDefault "/var/lib/gns3/symbols"; + }; + } + (lib.mkIf (cfg.ubridge.enable) { + Server.ubridge_path = lib.mkDefault "/run/wrappers/bin/ubridge"; + }) + (lib.mkIf (cfg.auth.enable) { + Server = { + auth = lib.mkDefault (lib.boolToString cfg.auth.enable); + user = lib.mkDefault cfg.auth.user; + password = lib.mkDefault "@AUTH_PASSWORD@"; + }; + }) + (lib.mkIf (cfg.vpcs.enable) { + VPCS.vpcs_path = lib.mkDefault (lib.getExe cfg.vpcs.package); + }) + (lib.mkIf (cfg.dynamips.enable) { + Dynamips.dynamips_path = lib.mkDefault (lib.getExe cfg.dynamips.package); + }) + ]; + + systemd.services.gns3-server = + let + commandArgs = lib.cli.toGNUCommandLineShell { } { + config = "/etc/gns3/gns3_server.conf"; + pid = "/run/gns3/server.pid"; + log = cfg.log.file; + ssl = cfg.ssl.enable; + # These are implicitly not set if `null` + certfile = cfg.ssl.certFile; + certkey = cfg.ssl.keyFile; + }; + in + { + description = "GNS3 Server"; + + after = [ + "network.target" + "network-online.target" + ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + + # configFile cannot be stored in RuntimeDirectory, because GNS3 + # uses the `--config` base path to stores supplementary configuration files at runtime. + # + preStart = '' + install -m660 ${configFile} /etc/gns3/gns3_server.conf + + ${lib.optionalString cfg.auth.enable '' + ${pkgs.replace-secret}/bin/replace-secret \ + '@AUTH_PASSWORD@' \ + "''${CREDENTIALS_DIRECTORY}/AUTH_PASSWORD" \ + /etc/gns3/gns3_server.conf + ''} + ''; + + path = lib.optional flags.enableLibvirtd pkgs.qemu; + + reloadTriggers = [ configFile ]; + + serviceConfig = { + ConfigurationDirectory = "gns3"; + ConfigurationDirectoryMode = "0750"; + Environment = "HOME=%S/gns3"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + ExecStart = "${lib.getExe cfg.package} ${commandArgs}"; + Group = "gns3"; + LimitNOFILE = 16384; + LoadCredential = lib.mkIf cfg.auth.enable [ "AUTH_PASSWORD:${cfg.auth.passwordFile}" ]; + LogsDirectory = "gns3"; + LogsDirectoryMode = "0750"; + PIDFile = "/run/gns3/server.pid"; + Restart = "on-failure"; + RestartSec = 5; + RuntimeDirectory = "gns3"; + StateDirectory = "gns3"; + StateDirectoryMode = "0750"; + SupplementaryGroups = + lib.optional flags.enableDocker "docker" + ++ lib.optional flags.enableLibvirtd "libvirtd" + ++ lib.optional cfg.ubridge.enable "ubridge"; + User = "gns3"; + WorkingDirectory = "%S/gns3"; + + # Required for ubridge integration to work + # + # GNS3 needs to run SUID binaries (ubridge) + # but NoNewPrivileges breaks execution of SUID binaries + DynamicUser = false; + NoNewPrivileges = false; + RestrictSUIDSGID = false; + PrivateUsers = false; + + # Hardening + DeviceAllow = + [ + # ubridge needs access to tun/tap devices + "/dev/net/tap rw" + "/dev/net/tun rw" + ] + ++ lib.optionals flags.enableLibvirtd [ + "/dev/kvm" + ]; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + PrivateTmp = true; + # Don't restrict ProcSubset because python3Packages.psutil requires read access to /proc/stat + # ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + "AF_PACKET" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + UMask = "0022"; + }; }; - }) - (lib.mkIf (cfg.vpcs.enable) { - VPCS.vpcs_path = lib.mkDefault (lib.getExe cfg.vpcs.package); - }) - (lib.mkIf (cfg.dynamips.enable) { - Dynamips.dynamips_path = lib.mkDefault (lib.getExe cfg.dynamips.package); - }) - ]; - - systemd.services.gns3-server = let - commandArgs = lib.cli.toGNUCommandLineShell { } { - config = "/etc/gns3/gns3_server.conf"; - pid = "/run/gns3/server.pid"; - log = cfg.log.file; - ssl = cfg.ssl.enable; - # These are implicitly not set if `null` - certfile = cfg.ssl.certFile; - certkey = cfg.ssl.keyFile; - }; - in - { - description = "GNS3 Server"; - - after = [ "network.target" "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - - # configFile cannot be stored in RuntimeDirectory, because GNS3 - # uses the `--config` base path to stores supplementary configuration files at runtime. - # - preStart = '' - install -m660 ${configFile} /etc/gns3/gns3_server.conf - - ${lib.optionalString cfg.auth.enable '' - ${pkgs.replace-secret}/bin/replace-secret \ - '@AUTH_PASSWORD@' \ - "''${CREDENTIALS_DIRECTORY}/AUTH_PASSWORD" \ - /etc/gns3/gns3_server.conf - ''} - ''; - - path = lib.optional flags.enableLibvirtd pkgs.qemu; - - reloadTriggers = [ configFile ]; - - serviceConfig = { - ConfigurationDirectory = "gns3"; - ConfigurationDirectoryMode = "0750"; - Environment = "HOME=%S/gns3"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - ExecStart = "${lib.getExe cfg.package} ${commandArgs}"; - Group = "gns3"; - LimitNOFILE = 16384; - LoadCredential = lib.mkIf cfg.auth.enable [ "AUTH_PASSWORD:${cfg.auth.passwordFile}" ]; - LogsDirectory = "gns3"; - LogsDirectoryMode = "0750"; - PIDFile = "/run/gns3/server.pid"; - Restart = "on-failure"; - RestartSec = 5; - RuntimeDirectory = "gns3"; - StateDirectory = "gns3"; - StateDirectoryMode = "0750"; - SupplementaryGroups = lib.optional flags.enableDocker "docker" - ++ lib.optional flags.enableLibvirtd "libvirtd" - ++ lib.optional cfg.ubridge.enable "ubridge"; - User = "gns3"; - WorkingDirectory = "%S/gns3"; - - # Required for ubridge integration to work - # - # GNS3 needs to run SUID binaries (ubridge) - # but NoNewPrivileges breaks execution of SUID binaries - DynamicUser = false; - NoNewPrivileges = false; - RestrictSUIDSGID = false; - PrivateUsers = false; - - # Hardening - DeviceAllow = [ - # ubridge needs access to tun/tap devices - "/dev/net/tap rw" - "/dev/net/tun rw" - ] ++ lib.optionals flags.enableLibvirtd [ - "/dev/kvm" - ]; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - PrivateTmp = true; - # Don't restrict ProcSubset because python3Packages.psutil requires read access to /proc/stat - # ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_NETLINK" - "AF_UNIX" - "AF_PACKET" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - UMask = "0022"; - }; }; - }; } diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 7380f22c13f2f..a00c0e8e923d7 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -1,35 +1,39 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gnunet; stateDir = "/var/lib/gnunet"; - configFile = with cfg; - '' - [PATHS] - GNUNET_HOME = ${stateDir} - GNUNET_RUNTIME_DIR = /run/gnunet - GNUNET_USER_RUNTIME_DIR = /run/gnunet - GNUNET_DATA_HOME = ${stateDir}/data + configFile = with cfg; '' + [PATHS] + GNUNET_HOME = ${stateDir} + GNUNET_RUNTIME_DIR = /run/gnunet + GNUNET_USER_RUNTIME_DIR = /run/gnunet + GNUNET_DATA_HOME = ${stateDir}/data - [ats] - WAN_QUOTA_IN = ${toString load.maxNetDownBandwidth} b - WAN_QUOTA_OUT = ${toString load.maxNetUpBandwidth} b + [ats] + WAN_QUOTA_IN = ${toString load.maxNetDownBandwidth} b + WAN_QUOTA_OUT = ${toString load.maxNetUpBandwidth} b - [datastore] - QUOTA = ${toString fileSharing.quota} MB + [datastore] + QUOTA = ${toString fileSharing.quota} MB - [transport-udp] - PORT = ${toString udp.port} - ADVERTISED_PORT = ${toString udp.port} + [transport-udp] + PORT = ${toString udp.port} + ADVERTISED_PORT = ${toString udp.port} - [transport-tcp] - PORT = ${toString tcp.port} - ADVERTISED_PORT = ${toString tcp.port} + [transport-tcp] + PORT = ${toString tcp.port} + ADVERTISED_PORT = ${toString tcp.port} - ${extraOptions} - ''; + ${extraOptions} + ''; in @@ -63,7 +67,7 @@ in udp = { port = lib.mkOption { type = lib.types.port; - default = 2086; # assigned by IANA + default = 2086; # assigned by IANA description = '' The UDP port for use by GNUnet. ''; @@ -73,7 +77,7 @@ in tcp = { port = lib.mkOption { type = lib.types.port; - default = 2086; # assigned by IANA + default = 2086; # assigned by IANA description = '' The TCP port for use by GNUnet. ''; @@ -125,7 +129,6 @@ in }; - ###### implementation config = lib.mkIf config.services.gnunet.enable { @@ -149,7 +152,10 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."gnunet.conf".source ]; - path = [ cfg.package pkgs.miniupnpc ]; + path = [ + cfg.package + pkgs.miniupnpc + ]; serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf"; serviceConfig.User = "gnunet"; serviceConfig.UMask = "0007"; diff --git a/nixos/modules/services/networking/go-autoconfig.nix b/nixos/modules/services/networking/go-autoconfig.nix index b31ef227c587f..b7ed11405003c 100644 --- a/nixos/modules/services/networking/go-autoconfig.nix +++ b/nixos/modules/services/networking/go-autoconfig.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.go-autoconfig; format = pkgs.formats.yaml { }; configFile = format.generate "config.yml" cfg.settings; -in { +in +{ options = { services.go-autoconfig = { diff --git a/nixos/modules/services/networking/go-camo.nix b/nixos/modules/services/networking/go-camo.nix index adf80901cdc98..3bf4687895f2b 100644 --- a/nixos/modules/services/networking/go-camo.nix +++ b/nixos/modules/services/networking/go-camo.nix @@ -1,8 +1,20 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.services.go-camo; - inherit (lib) mkOption mkEnableOption mkIf mkMerge types optionalString; + inherit (lib) + mkOption + mkEnableOption + mkIf + mkMerge + types + optionalString + ; in { options.services.go-camo = { @@ -41,7 +53,7 @@ in }; extraOptions = mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = "Extra options passed to the go-camo command."; }; }; @@ -57,7 +69,20 @@ in script = '' GOCAMO_HMAC="$(cat "$GOCAMO_HMAC_FILE")" export GOCAMO_HMAC - exec ${lib.escapeShellArgs(lib.lists.remove "" ([ "${pkgs.go-camo}/bin/go-camo" cfg.listen cfg.sslListen cfg.sslKey cfg.sslCert ] ++ cfg.extraOptions))} + exec ${ + lib.escapeShellArgs ( + lib.lists.remove "" ( + [ + "${pkgs.go-camo}/bin/go-camo" + cfg.listen + cfg.sslListen + cfg.sslKey + cfg.sslCert + ] + ++ cfg.extraOptions + ) + ) + } ''; serviceConfig = { NoNewPrivileges = true; diff --git a/nixos/modules/services/networking/go-neb.nix b/nixos/modules/services/networking/go-neb.nix index 4a43c574ff530..ae0ce8147e628 100644 --- a/nixos/modules/services/networking/go-neb.nix +++ b/nixos/modules/services/networking/go-neb.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.go-neb; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "config.yaml" cfg.config; -in { +in +{ options.services.go-neb = { enable = lib.mkEnableOption "an extensible matrix bot written in Go"; @@ -43,33 +49,40 @@ in { }; config = lib.mkIf cfg.enable { - systemd.services.go-neb = let - finalConfigFile = if cfg.secretFile == null then configFile else "/var/run/go-neb/config.yaml"; - in { - description = "Extensible matrix bot written in Go"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - environment = { - BASE_URL = cfg.baseUrl; - BIND_ADDRESS = cfg.bindAddress; - CONFIG_FILE = finalConfigFile; - }; + systemd.services.go-neb = + let + finalConfigFile = if cfg.secretFile == null then configFile else "/var/run/go-neb/config.yaml"; + in + { + description = "Extensible matrix bot written in Go"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment = { + BASE_URL = cfg.baseUrl; + BIND_ADDRESS = cfg.bindAddress; + CONFIG_FILE = finalConfigFile; + }; - serviceConfig = { - ExecStartPre = lib.optional (cfg.secretFile != null) - ("+" + pkgs.writeShellScript "pre-start" '' - umask 077 - export $(xargs < ${cfg.secretFile}) - ${pkgs.envsubst}/bin/envsubst -i "${configFile}" > ${finalConfigFile} - chown go-neb ${finalConfigFile} - ''); - RuntimeDirectory = "go-neb"; - ExecStart = "${pkgs.go-neb}/bin/go-neb"; - User = "go-neb"; - DynamicUser = true; + serviceConfig = { + ExecStartPre = lib.optional (cfg.secretFile != null) ( + "+" + + pkgs.writeShellScript "pre-start" '' + umask 077 + export $(xargs < ${cfg.secretFile}) + ${pkgs.envsubst}/bin/envsubst -i "${configFile}" > ${finalConfigFile} + chown go-neb ${finalConfigFile} + '' + ); + RuntimeDirectory = "go-neb"; + ExecStart = "${pkgs.go-neb}/bin/go-neb"; + User = "go-neb"; + DynamicUser = true; + }; }; - }; }; - meta.maintainers = with lib.maintainers; [ hexa maralorn ]; + meta.maintainers = with lib.maintainers; [ + hexa + maralorn + ]; } diff --git a/nixos/modules/services/networking/go-shadowsocks2.nix b/nixos/modules/services/networking/go-shadowsocks2.nix index 438d3fb1c0a60..810c3b48eae17 100644 --- a/nixos/modules/services/networking/go-shadowsocks2.nix +++ b/nixos/modules/services/networking/go-shadowsocks2.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.go-shadowsocks2.server; -in { +in +{ options.services.go-shadowsocks2.server = { enable = lib.mkEnableOption "go-shadowsocks2 server"; diff --git a/nixos/modules/services/networking/gobgpd.nix b/nixos/modules/services/networking/gobgpd.nix index 79f1adf4e314d..bc56927ee28c6 100644 --- a/nixos/modules/services/networking/gobgpd.nix +++ b/nixos/modules/services/networking/gobgpd.nix @@ -1,9 +1,15 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.gobgpd; format = pkgs.formats.toml { }; confFile = format.generate "gobgpd.conf" cfg.settings; -in { +in +{ options.services.gobgpd = { enable = lib.mkEnableOption "GoBGP Routing Daemon"; diff --git a/nixos/modules/services/networking/gvpe.nix b/nixos/modules/services/networking/gvpe.nix index 275146ada2d0f..dc948d50788dc 100644 --- a/nixos/modules/services/networking/gvpe.nix +++ b/nixos/modules/services/networking/gvpe.nix @@ -1,42 +1,49 @@ # GNU Virtual Private Ethernet -{config, pkgs, lib, ...}: +{ + config, + pkgs, + lib, + ... +}: let inherit (lib) mkOption mkIf types; cfg = config.services.gvpe; - finalConfig = if cfg.configFile != null then - cfg.configFile - else if cfg.configText != null then - pkgs.writeTextFile { - name = "gvpe.conf"; - text = cfg.configText; - } - else - throw "You must either specify contents of the config file or the config file itself for GVPE"; + finalConfig = + if cfg.configFile != null then + cfg.configFile + else if cfg.configText != null then + pkgs.writeTextFile { + name = "gvpe.conf"; + text = cfg.configText; + } + else + throw "You must either specify contents of the config file or the config file itself for GVPE"; - ifupScript = if cfg.ipAddress == null || cfg.subnet == null then - throw "Specify IP address and subnet (with mask) for GVPE" - else if cfg.nodename == null then - throw "You must set node name for GVPE" - else - (pkgs.writeTextFile { - name = "gvpe-if-up"; - text = '' - #! /bin/sh + ifupScript = + if cfg.ipAddress == null || cfg.subnet == null then + throw "Specify IP address and subnet (with mask) for GVPE" + else if cfg.nodename == null then + throw "You must set node name for GVPE" + else + (pkgs.writeTextFile { + name = "gvpe-if-up"; + text = '' + #! /bin/sh - export PATH=$PATH:${pkgs.iproute2}/sbin + export PATH=$PATH:${pkgs.iproute2}/sbin - ip link set dev $IFNAME up - ip address add ${cfg.ipAddress} dev $IFNAME - ip route add ${cfg.subnet} dev $IFNAME + ip link set dev $IFNAME up + ip address add ${cfg.ipAddress} dev $IFNAME + ip route add ${cfg.subnet} dev $IFNAME - ${cfg.customIFSetup} - ''; - executable = true; - }); + ${cfg.customIFSetup} + ''; + executable = true; + }); in { @@ -119,7 +126,8 @@ in cp ${ifupScript} /var/gvpe/if-up ''; - script = "${pkgs.gvpe}/sbin/gvpe -c /var/gvpe -D ${cfg.nodename} " + script = + "${pkgs.gvpe}/sbin/gvpe -c /var/gvpe -D ${cfg.nodename} " + " ${cfg.nodename}.pid-file=/var/gvpe/gvpe.pid" + " ${cfg.nodename}.if-up=if-up" + " &> /var/log/gvpe"; diff --git a/nixos/modules/services/networking/hans.nix b/nixos/modules/services/networking/hans.nix index b1cb37158a043..82cd3e8a00dd9 100644 --- a/nixos/modules/services/networking/hans.nix +++ b/nixos/modules/services/networking/hans.nix @@ -1,5 +1,10 @@ # NixOS module for hans, ip over icmp daemon -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hans; @@ -14,7 +19,7 @@ in services.hans = { clients = lib.mkOption { - default = {}; + default = { }; description = '' Each attribute of this option defines a systemd service that runs hans. Many or none may be defined. @@ -24,38 +29,39 @@ in corresponding attribute name. ''; example = lib.literalExpression '' - { - foo = { - server = "192.0.2.1"; - extraConfig = "-v"; + { + foo = { + server = "192.0.2.1"; + extraConfig = "-v"; + } } - } ''; - type = lib.types.attrsOf (lib.types.submodule ( - { - options = { - server = lib.mkOption { - type = lib.types.str; - default = ""; - description = "IP address of server running hans"; - example = "192.0.2.1"; - }; + type = lib.types.attrsOf ( + lib.types.submodule ({ + options = { + server = lib.mkOption { + type = lib.types.str; + default = ""; + description = "IP address of server running hans"; + example = "192.0.2.1"; + }; + + extraConfig = lib.mkOption { + type = lib.types.str; + default = ""; + description = "Additional command line parameters"; + example = "-v"; + }; + + passwordFile = lib.mkOption { + type = lib.types.str; + default = ""; + description = "File that contains password"; + }; - extraConfig = lib.mkOption { - type = lib.types.str; - default = ""; - description = "Additional command line parameters"; - example = "-v"; }; - - passwordFile = lib.mkOption { - type = lib.types.str; - default = ""; - description = "File that contains password"; - }; - - }; - })); + }) + ); }; server = { @@ -97,7 +103,7 @@ in ### implementation - config = lib.mkIf (cfg.server.enable || cfg.clients != {}) { + config = lib.mkIf (cfg.server.enable || cfg.clients != { }) { boot.kernel.sysctl = lib.optionalAttrs cfg.server.respondToSystemPings { "net.ipv4.icmp_echo_ignore_all" = 1; }; @@ -105,31 +111,35 @@ in boot.kernelModules = [ "tun" ]; systemd.services = - let - createHansClientService = name: cfg: - { - description = "hans client - ${name}"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - script = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.extraConfig} -c ${cfg.server} ${lib.optionalString (cfg.passwordFile != "") "-p $(cat \"${cfg.passwordFile}\")"}"; - serviceConfig = { - RestartSec = "30s"; - Restart = "always"; + let + createHansClientService = name: cfg: { + description = "hans client - ${name}"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.extraConfig} -c ${cfg.server} ${ + lib.optionalString (cfg.passwordFile != "") "-p $(cat \"${cfg.passwordFile}\")" + }"; + serviceConfig = { + RestartSec = "30s"; + Restart = "always"; + }; + }; + in + lib.listToAttrs ( + lib.mapAttrsToList ( + name: value: lib.nameValuePair "hans-${name}" (createHansClientService name value) + ) cfg.clients + ) + // { + hans = lib.mkIf (cfg.server.enable) { + description = "hans, ip over icmp server daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.server.extraConfig} -s ${cfg.server.ip} ${lib.optionalString cfg.server.respondToSystemPings "-r"} ${ + lib.optionalString (cfg.server.passwordFile != "") "-p $(cat \"${cfg.server.passwordFile}\")" + }"; }; }; - in - lib.listToAttrs ( - lib.mapAttrsToList - (name: value: lib.nameValuePair "hans-${name}" (createHansClientService name value)) - cfg.clients - ) // { - hans = lib.mkIf (cfg.server.enable) { - description = "hans, ip over icmp server daemon"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - script = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.server.extraConfig} -s ${cfg.server.ip} ${lib.optionalString cfg.server.respondToSystemPings "-r"} ${lib.optionalString (cfg.server.passwordFile != "") "-p $(cat \"${cfg.server.passwordFile}\")"}"; - }; - }; users.users.${hansUser} = { description = "Hans daemon user"; diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix index 23c06f2949808..0397b5f2d6413 100644 --- a/nixos/modules/services/networking/haproxy.nix +++ b/nixos/modules/services/networking/haproxy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.haproxy; haproxyCfg = pkgs.writeText "haproxy.conf" '' @@ -41,10 +46,12 @@ in config = lib.mkIf cfg.enable { - assertions = [{ - assertion = cfg.config != null; - message = "You must provide services.haproxy.config."; - }]; + assertions = [ + { + assertion = cfg.config != null; + message = "You must provide services.haproxy.config."; + } + ]; # configuration file indirection is needed to support reloading environment.etc."haproxy.cfg".source = haproxyCfg; @@ -82,7 +89,7 @@ in ProtectKernelTunables = true; ProtectKernelModules = true; ProtectControlGroups = true; - SystemCallFilter= "~@cpu-emulation @keyring @module @obsolete @raw-io @reboot @swap @sync"; + SystemCallFilter = "~@cpu-emulation @keyring @module @obsolete @raw-io @reboot @swap @sync"; # needed in case we bind to port < 1024 AmbientCapabilities = "CAP_NET_BIND_SERVICE"; }; @@ -96,7 +103,7 @@ in }; users.groups = lib.optionalAttrs (cfg.group == "haproxy") { - haproxy = {}; + haproxy = { }; }; }; } diff --git a/nixos/modules/services/networking/harmonia.nix b/nixos/modules/services/networking/harmonia.nix index ac5c35ddb280b..8f495bb0cca16 100644 --- a/nixos/modules/services/networking/harmonia.nix +++ b/nixos/modules/services/networking/harmonia.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.harmonia; format = pkgs.formats.toml { }; @@ -40,8 +45,9 @@ in }; config = lib.mkIf cfg.enable { - warnings = lib.optional (cfg.signKeyPath != null) - "`services.harmonia.signKeyPath` is deprecated, use `services.harmonia.signKeyPaths` instead"; + warnings = lib.optional ( + cfg.signKeyPath != null + ) "`services.harmonia.signKeyPath` is deprecated, use `services.harmonia.signKeyPaths` instead"; nix.settings.extra-allowed-users = [ "harmonia" ]; users.users.harmonia = { isSystemUser = true; diff --git a/nixos/modules/services/networking/headscale.nix b/nixos/modules/services/networking/headscale.nix index 9261ec03c5325..495dc6650e60b 100644 --- a/nixos/modules/services/networking/headscale.nix +++ b/nixos/modules/services/networking/headscale.nix @@ -3,7 +3,8 @@ lib, pkgs, ... -}: let +}: +let cfg = config.services.headscale; dataDir = "/var/lib/headscale"; @@ -17,20 +18,22 @@ unix_socket = "${runDir}/headscale.sock"; }; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "headscale.yaml" cfg.settings; cliConfigFile = settingsFormat.generate "headscale.yaml" cliConfig; assertRemovedOption = option: message: { assertion = !lib.hasAttrByPath option cfg; - message = "The option `services.headscale.${lib.options.showOption option}` was removed. " + message; + message = + "The option `services.headscale.${lib.options.showOption option}` was removed. " + message; }; -in { +in +{ options = { services.headscale = { enable = lib.mkEnableOption "headscale, Open Source coordination server for Tailscale"; - package = lib.mkPackageOption pkgs "headscale" {}; + package = lib.mkPackageOption pkgs "headscale" { }; user = lib.mkOption { default = "headscale"; @@ -105,42 +108,47 @@ in { ''; }; - prefixes = let - prefDesc = '' - Each prefix consists of either an IPv4 or IPv6 address, - and the associated prefix length, delimited by a slash. - It must be within IP ranges supported by the Tailscale - client - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48. - ''; - in { - v4 = lib.mkOption { - type = lib.types.str; - default = "100.64.0.0/10"; - description = prefDesc; - }; + prefixes = + let + prefDesc = '' + Each prefix consists of either an IPv4 or IPv6 address, + and the associated prefix length, delimited by a slash. + It must be within IP ranges supported by the Tailscale + client - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48. + ''; + in + { + v4 = lib.mkOption { + type = lib.types.str; + default = "100.64.0.0/10"; + description = prefDesc; + }; - v6 = lib.mkOption { - type = lib.types.str; - default = "fd7a:115c:a1e0::/48"; - description = prefDesc; - }; + v6 = lib.mkOption { + type = lib.types.str; + default = "fd7a:115c:a1e0::/48"; + description = prefDesc; + }; - allocation = lib.mkOption { - type = lib.types.enum ["sequential" "random"]; - example = "random"; - default = "sequential"; - description = '' - Strategy used for allocation of IPs to nodes, available options: - - sequential (default): assigns the next free IP from the previous given IP. - - random: assigns the next free IP from a pseudo-random IP generator (crypto/rand). - ''; + allocation = lib.mkOption { + type = lib.types.enum [ + "sequential" + "random" + ]; + example = "random"; + default = "sequential"; + description = '' + Strategy used for allocation of IPs to nodes, available options: + - sequential (default): assigns the next free IP from the previous given IP. + - random: assigns the next free IP from a pseudo-random IP generator (crypto/rand). + ''; + }; }; - }; derp = { urls = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["https://controlplane.tailscale.com/derpmap/default"]; + default = [ "https://controlplane.tailscale.com/derpmap/default" ]; description = '' List of urls containing DERP maps. See [How Tailscale works](https://tailscale.com/blog/how-tailscale-works/) for more information on DERP maps. @@ -149,7 +157,7 @@ in { paths = lib.mkOption { type = lib.types.listOf lib.types.path; - default = []; + default = [ ]; description = '' List of file paths containing DERP maps. See [How Tailscale works](https://tailscale.com/blog/how-tailscale-works/) for more information on DERP maps. @@ -194,7 +202,11 @@ in { database = { type = lib.mkOption { - type = lib.types.enum ["sqlite" "sqlite3" "postgres"]; + type = lib.types.enum [ + "sqlite" + "sqlite3" + "postgres" + ]; example = "postgres"; default = "sqlite"; description = '' @@ -310,7 +322,7 @@ in { nameservers = { global = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' List of nameservers to pass to Tailscale clients. ''; @@ -319,11 +331,11 @@ in { search_domains = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Search domains to inject to Tailscale clients. ''; - example = ["mydomain.internal"]; + example = [ "mydomain.internal" ]; }; }; @@ -355,7 +367,11 @@ in { scope = lib.mkOption { type = lib.types.listOf lib.types.str; - default = ["openid" "profile" "email"]; + default = [ + "openid" + "profile" + "email" + ]; description = '' Scopes used in the OIDC flow. ''; @@ -363,7 +379,7 @@ in { extra_params = lib.mkOption { type = lib.types.attrsOf lib.types.str; - default = {}; + default = { }; description = '' Custom query parameters to send with the Authorize Endpoint request. ''; @@ -374,21 +390,21 @@ in { allowed_domains = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Allowed principal domains. if an authenticated user's domain is not in this list authentication request will be rejected. ''; - example = ["example.com"]; + example = [ "example.com" ]; }; allowed_users = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Users allowed to authenticate even if not in allowedDomains. ''; - example = ["alice@example.com"]; + example = [ "alice@example.com" ]; }; strip_email_domain = lib.mkOption { @@ -409,7 +425,10 @@ in { }; tls_letsencrypt_challenge_type = lib.mkOption { - type = lib.types.enum ["TLS-ALPN-01" "HTTP-01"]; + type = lib.types.enum [ + "TLS-ALPN-01" + "HTTP-01" + ]; default = "HTTP-01"; description = '' Type of ACME challenge to use, currently supported types: @@ -445,7 +464,10 @@ in { policy = { mode = lib.mkOption { - type = lib.types.enum ["file" "database"]; + type = lib.types.enum [ + "file" + "database" + ]; default = "file"; description = '' The mode can be "file" or "database" that defines @@ -469,23 +491,68 @@ in { }; imports = with lib; [ - (mkRenamedOptionModule ["services" "headscale" "derp" "autoUpdate"] ["services" "headscale" "settings" "derp" "auto_update_enable"]) - (mkRenamedOptionModule ["services" "headscale" "derp" "paths"] ["services" "headscale" "settings" "derp" "paths"]) - (mkRenamedOptionModule ["services" "headscale" "derp" "updateFrequency"] ["services" "headscale" "settings" "derp" "update_frequency"]) - (mkRenamedOptionModule ["services" "headscale" "derp" "urls"] ["services" "headscale" "settings" "derp" "urls"]) - (mkRenamedOptionModule ["services" "headscale" "ephemeralNodeInactivityTimeout"] ["services" "headscale" "settings" "ephemeral_node_inactivity_timeout"]) - (mkRenamedOptionModule ["services" "headscale" "logLevel"] ["services" "headscale" "settings" "log" "level"]) - (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientId"] ["services" "headscale" "settings" "oidc" "client_id"]) - (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientSecretFile"] ["services" "headscale" "settings" "oidc" "client_secret_path"]) - (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "issuer"] ["services" "headscale" "settings" "oidc" "issuer"]) - (mkRenamedOptionModule ["services" "headscale" "serverUrl"] ["services" "headscale" "settings" "server_url"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "certFile"] ["services" "headscale" "settings" "tls_cert_path"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "keyFile"] ["services" "headscale" "settings" "tls_key_path"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "challengeType"] ["services" "headscale" "settings" "tls_letsencrypt_challenge_type"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "hostname"] ["services" "headscale" "settings" "tls_letsencrypt_hostname"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "httpListen"] ["services" "headscale" "settings" "tls_letsencrypt_listen"]) - - (mkRemovedOptionModule ["services" "headscale" "openIdConnect" "domainMap"] '' + (mkRenamedOptionModule + [ "services" "headscale" "derp" "autoUpdate" ] + [ "services" "headscale" "settings" "derp" "auto_update_enable" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "derp" "paths" ] + [ "services" "headscale" "settings" "derp" "paths" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "derp" "updateFrequency" ] + [ "services" "headscale" "settings" "derp" "update_frequency" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "derp" "urls" ] + [ "services" "headscale" "settings" "derp" "urls" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "ephemeralNodeInactivityTimeout" ] + [ "services" "headscale" "settings" "ephemeral_node_inactivity_timeout" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "logLevel" ] + [ "services" "headscale" "settings" "log" "level" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "openIdConnect" "clientId" ] + [ "services" "headscale" "settings" "oidc" "client_id" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "openIdConnect" "clientSecretFile" ] + [ "services" "headscale" "settings" "oidc" "client_secret_path" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "openIdConnect" "issuer" ] + [ "services" "headscale" "settings" "oidc" "issuer" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "serverUrl" ] + [ "services" "headscale" "settings" "server_url" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "tls" "certFile" ] + [ "services" "headscale" "settings" "tls_cert_path" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "tls" "keyFile" ] + [ "services" "headscale" "settings" "tls_key_path" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "tls" "letsencrypt" "challengeType" ] + [ "services" "headscale" "settings" "tls_letsencrypt_challenge_type" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "tls" "letsencrypt" "hostname" ] + [ "services" "headscale" "settings" "tls_letsencrypt_hostname" ] + ) + (mkRenamedOptionModule + [ "services" "headscale" "tls" "letsencrypt" "httpListen" ] + [ "services" "headscale" "settings" "tls_letsencrypt_listen" ] + ) + + (mkRemovedOptionModule [ "services" "headscale" "openIdConnect" "domainMap" ] '' Headscale no longer uses domain_map. If you're using an old version of headscale you can still set this option via services.headscale.settings.oidc.domain_map. '') ]; @@ -495,24 +562,35 @@ in { { # This is stricter than it needs to be but is exactly what upstream does: # https://github.com/kradalby/headscale/blob/adc084f20f843d7963c999764fa83939668d2d2c/hscontrol/types/config.go#L799 - assertion = with cfg.settings; dns.use_username_in_magic_dns or false || dns.base_domain == "" || !lib.hasInfix dns.base_domain server_url; + assertion = + with cfg.settings; + dns.use_username_in_magic_dns or false + || dns.base_domain == "" + || !lib.hasInfix dns.base_domain server_url; message = "server_url cannot contain the base_domain, this will cause the headscale server and embedded DERP to become unreachable from the Tailscale node."; } { assertion = with cfg.settings; dns.magic_dns -> dns.base_domain != ""; message = "dns.base_domain must be set when using MagicDNS"; } - (assertRemovedOption ["settings" "acl_policy_path"] "Use `policy.path` instead.") - (assertRemovedOption ["settings" "db_host"] "Use `database.postgres.host` instead.") - (assertRemovedOption ["settings" "db_name"] "Use `database.postgres.name` instead.") - (assertRemovedOption ["settings" "db_password_file"] "Use `database.postgres.password_file` instead.") - (assertRemovedOption ["settings" "db_path"] "Use `database.sqlite.path` instead.") - (assertRemovedOption ["settings" "db_port"] "Use `database.postgres.port` instead.") - (assertRemovedOption ["settings" "db_type"] "Use `database.type` instead.") - (assertRemovedOption ["settings" "db_user"] "Use `database.postgres.user` instead.") - (assertRemovedOption ["settings" "dns_config"] "Use `dns` instead.") - (assertRemovedOption ["settings" "dns_config" "domains"] "Use `dns.search_domains` instead.") - (assertRemovedOption ["settings" "dns_config" "nameservers"] "Use `dns.nameservers.global` instead.") + (assertRemovedOption [ "settings" "acl_policy_path" ] "Use `policy.path` instead.") + (assertRemovedOption [ "settings" "db_host" ] "Use `database.postgres.host` instead.") + (assertRemovedOption [ "settings" "db_name" ] "Use `database.postgres.name` instead.") + (assertRemovedOption [ + "settings" + "db_password_file" + ] "Use `database.postgres.password_file` instead.") + (assertRemovedOption [ "settings" "db_path" ] "Use `database.sqlite.path` instead.") + (assertRemovedOption [ "settings" "db_port" ] "Use `database.postgres.port` instead.") + (assertRemovedOption [ "settings" "db_type" ] "Use `database.type` instead.") + (assertRemovedOption [ "settings" "db_user" ] "Use `database.postgres.user` instead.") + (assertRemovedOption [ "settings" "dns_config" ] "Use `dns` instead.") + (assertRemovedOption [ "settings" "dns_config" "domains" ] "Use `dns.search_domains` instead.") + (assertRemovedOption [ + "settings" + "dns_config" + "nameservers" + ] "Use `dns.nameservers.global` instead.") ]; services.headscale.settings = lib.mkMerge [ @@ -529,10 +607,10 @@ in { # to talk to the server instance. etc."headscale/config.yaml".source = cliConfigFile; - systemPackages = [cfg.package]; + systemPackages = [ cfg.package ]; }; - users.groups.headscale = lib.mkIf (cfg.group == "headscale") {}; + users.groups.headscale = lib.mkIf (cfg.group == "headscale") { }; users.users.headscale = lib.mkIf (cfg.user == "headscale") { description = "headscale user"; @@ -543,9 +621,9 @@ in { systemd.services.headscale = { description = "headscale coordination server for Tailscale"; - wants = ["network-online.target"]; - after = ["network-online.target"]; - wantedBy = ["multi-user.target"]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; script = '' ${lib.optionalString (cfg.settings.database.postgres.password_file != null) '' @@ -555,51 +633,60 @@ in { exec ${lib.getExe cfg.package} serve --config ${configFile} ''; - serviceConfig = let - capabilityBoundingSet = ["CAP_CHOWN"] ++ lib.optional (cfg.port < 1024) "CAP_NET_BIND_SERVICE"; - in { - Restart = "always"; - Type = "simple"; - User = cfg.user; - Group = cfg.group; - - # Hardening options - RuntimeDirectory = "headscale"; - # Allow headscale group access so users can be added and use the CLI. - RuntimeDirectoryMode = "0750"; - - StateDirectory = "headscale"; - StateDirectoryMode = "0750"; - - ProtectSystem = "strict"; - ProtectHome = true; - PrivateTmp = true; - PrivateDevices = true; - ProtectKernelTunables = true; - ProtectControlGroups = true; - RestrictSUIDSGID = true; - PrivateMounts = true; - ProtectKernelModules = true; - ProtectKernelLogs = true; - ProtectHostname = true; - ProtectClock = true; - ProtectProc = "invisible"; - ProcSubset = "pid"; - RestrictNamespaces = true; - RemoveIPC = true; - UMask = "0077"; - - CapabilityBoundingSet = capabilityBoundingSet; - AmbientCapabilities = capabilityBoundingSet; - NoNewPrivileges = true; - LockPersonality = true; - RestrictRealtime = true; - SystemCallFilter = ["@system-service" "~@privileged" "@chown"]; - SystemCallArchitectures = "native"; - RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; - }; + serviceConfig = + let + capabilityBoundingSet = [ "CAP_CHOWN" ] ++ lib.optional (cfg.port < 1024) "CAP_NET_BIND_SERVICE"; + in + { + Restart = "always"; + Type = "simple"; + User = cfg.user; + Group = cfg.group; + + # Hardening options + RuntimeDirectory = "headscale"; + # Allow headscale group access so users can be added and use the CLI. + RuntimeDirectoryMode = "0750"; + + StateDirectory = "headscale"; + StateDirectoryMode = "0750"; + + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectKernelTunables = true; + ProtectControlGroups = true; + RestrictSUIDSGID = true; + PrivateMounts = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectHostname = true; + ProtectClock = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + RestrictNamespaces = true; + RemoveIPC = true; + UMask = "0077"; + + CapabilityBoundingSet = capabilityBoundingSet; + AmbientCapabilities = capabilityBoundingSet; + NoNewPrivileges = true; + LockPersonality = true; + RestrictRealtime = true; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "@chown" + ]; + SystemCallArchitectures = "native"; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + }; }; }; - meta.maintainers = with lib.maintainers; [kradalby misterio77]; + meta.maintainers = with lib.maintainers; [ + kradalby + misterio77 + ]; } diff --git a/nixos/modules/services/networking/helpers.nix b/nixos/modules/services/networking/helpers.nix index d7d42de0e3a86..9b3539de63b11 100644 --- a/nixos/modules/services/networking/helpers.nix +++ b/nixos/modules/services/networking/helpers.nix @@ -1,11 +1,10 @@ -{ config, lib, ... }: '' +{ config, lib, ... }: +'' # Helper command to manipulate both the IPv4 and IPv6 tables. ip46tables() { iptables -w "$@" - ${ - lib.optionalString config.networking.enableIPv6 '' - ip6tables -w "$@" - '' - } + ${lib.optionalString config.networking.enableIPv6 '' + ip6tables -w "$@" + ''} } '' diff --git a/nixos/modules/services/networking/htpdate.nix b/nixos/modules/services/networking/htpdate.nix index fa422854872c6..39ccac19e14a3 100644 --- a/nixos/modules/services/networking/htpdate.nix +++ b/nixos/modules/services/networking/htpdate.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (pkgs) htpdate; diff --git a/nixos/modules/services/networking/https-dns-proxy.nix b/nixos/modules/services/networking/https-dns-proxy.nix index 63c38d20ac8f2..2476edf4a469e 100644 --- a/nixos/modules/services/networking/https-dns-proxy.nix +++ b/nixos/modules/services/networking/https-dns-proxy.nix @@ -1,27 +1,48 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) concatStringsSep - mkEnableOption mkIf mkOption types; + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.https-dns-proxy; providers = { cloudflare = { - ips = [ "1.1.1.1" "1.0.0.1" ]; + ips = [ + "1.1.1.1" + "1.0.0.1" + ]; url = "https://cloudflare-dns.com/dns-query"; }; google = { - ips = [ "8.8.8.8" "8.8.4.4" ]; + ips = [ + "8.8.8.8" + "8.8.4.4" + ]; url = "https://dns.google/dns-query"; }; quad9 = { - ips = [ "9.9.9.9" "149.112.112.112" ]; + ips = [ + "9.9.9.9" + "149.112.112.112" + ]; url = "https://dns.quad9.net/dns-query"; }; opendns = { - ips = [ "208.67.222.222" "208.67.220.220" ]; + ips = [ + "208.67.222.222" + "208.67.220.220" + ]; url = "https://doh.opendns.com/dns-query"; }; custom = { @@ -31,13 +52,12 @@ let defaultProvider = "quad9"; - providerCfg = - concatStringsSep " " [ - "-b" - (concatStringsSep "," providers."${cfg.provider.kind}".ips) - "-r" - providers."${cfg.provider.kind}".url - ]; + providerCfg = concatStringsSep " " [ + "-b" + (concatStringsSep "," providers."${cfg.provider.kind}".ips) + "-r" + providers."${cfg.provider.kind}".url + ]; in { diff --git a/nixos/modules/services/networking/hylafax/default.nix b/nixos/modules/services/networking/hylafax/default.nix index d8ffa3fc04d20..9880612c73aef 100644 --- a/nixos/modules/services/networking/hylafax/default.nix +++ b/nixos/modules/services/networking/hylafax/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { @@ -16,14 +21,16 @@ isSystemUser = true; inherit (config.users.users.nobody) home; }; - assertions = [{ - assertion = config.services.hylafax.modems != {}; - message = '' - HylaFAX cannot be used without modems. - Please define at least one modem with - . - ''; - }]; + assertions = [ + { + assertion = config.services.hylafax.modems != { }; + message = '' + HylaFAX cannot be used without modems. + Please define at least one modem with + . + ''; + } + ]; }; meta.maintainers = [ lib.maintainers.yarny ]; diff --git a/nixos/modules/services/networking/hylafax/modem-default.nix b/nixos/modules/services/networking/hylafax/modem-default.nix index 707b82092829a..9251f9d048c32 100644 --- a/nixos/modules/services/networking/hylafax/modem-default.nix +++ b/nixos/modules/services/networking/hylafax/modem-default.nix @@ -7,8 +7,8 @@ TagLineFont = "etc/LiberationSans-25.pcf"; TagLineLocale = "en_US.UTF-8"; - AdminGroup = "root"; # groups that can change server config - AnswerRotary = "fax"; # don't accept anything else but faxes + AdminGroup = "root"; # groups that can change server config + AnswerRotary = "fax"; # don't accept anything else but faxes LogFileMode = "0640"; PriorityScheduling = true; RecvFileMode = "0640"; @@ -16,7 +16,7 @@ SessionTracing = "0x78701"; UUCPLockDir = "/var/lock"; - SendPageCmd = "${pkgs.coreutils}/bin/false"; # prevent pager transmit - SendUUCPCmd = "${pkgs.coreutils}/bin/false"; # prevent UUCP transmit + SendPageCmd = "${pkgs.coreutils}/bin/false"; # prevent pager transmit + SendUUCPCmd = "${pkgs.coreutils}/bin/false"; # prevent UUCP transmit } diff --git a/nixos/modules/services/networking/hylafax/options.nix b/nixos/modules/services/networking/hylafax/options.nix index 973dfa054afcb..8248f2a82eb08 100644 --- a/nixos/modules/services/networking/hylafax/options.nix +++ b/nixos/modules/services/networking/hylafax/options.nix @@ -1,9 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib.options) literalExpression mkEnableOption mkOption; - inherit (lib.types) bool enum ints lines attrsOf nonEmptyStr nullOr path str submodule; + inherit (lib.types) + bool + enum + ints + lines + attrsOf + nonEmptyStr + nullOr + path + str + submodule + ; inherit (lib.modules) mkDefault mkIf mkMerge; commonDescr = '' @@ -24,59 +40,65 @@ let # This type definition resolves all # those types into a list of strings. let - inherit (lib.types) attrsOf coercedTo int listOf; - innerType = coercedTo bool (x: if x then "Yes" else "No") - (coercedTo int (toString) str); + inherit (lib.types) + attrsOf + coercedTo + int + listOf + ; + innerType = coercedTo bool (x: if x then "Yes" else "No") (coercedTo int (toString) str); in - attrsOf (coercedTo innerType lib.singleton (listOf innerType)); + attrsOf (coercedTo innerType lib.singleton (listOf innerType)); cfg = config.services.hylafax; - modemConfigOptions = { name, config, ... }: { - options = { - name = mkOption { - type = nonEmptyStr; - example = "ttyS1"; - description = '' - Name of modem device, - will be searched for in {file}`/dev`. - ''; - }; - type = mkOption { - type = nonEmptyStr; - example = "cirrus"; - description = '' - Name of modem configuration file, - will be searched for in {file}`config` - in the spooling area directory. - ''; - }; - config = mkOption { - type = configAttrType; - example = { - AreaCode = "49"; - LocalCode = "30"; - FAXNumber = "123456"; - LocalIdentifier = "LostInBerlin"; + modemConfigOptions = + { name, config, ... }: + { + options = { + name = mkOption { + type = nonEmptyStr; + example = "ttyS1"; + description = '' + Name of modem device, + will be searched for in {file}`/dev`. + ''; + }; + type = mkOption { + type = nonEmptyStr; + example = "cirrus"; + description = '' + Name of modem configuration file, + will be searched for in {file}`config` + in the spooling area directory. + ''; + }; + config = mkOption { + type = configAttrType; + example = { + AreaCode = "49"; + LocalCode = "30"; + FAXNumber = "123456"; + LocalIdentifier = "LostInBerlin"; + }; + description = '' + Attribute set of values for the given modem. + ${commonDescr} + Options defined here override options in + {option}`commonModemConfig` for this modem. + ''; }; - description = '' - Attribute set of values for the given modem. - ${commonDescr} - Options defined here override options in - {option}`commonModemConfig` for this modem. - ''; }; + config.name = mkDefault name; + config.config.Include = [ "config/${config.type}" ]; }; - config.name = mkDefault name; - config.config.Include = [ "config/${config.type}" ]; - }; defaultConfig = let inherit (config.security) wrapperDir; inherit (config.services.mail.sendmailSetuidWrapper) program; mkIfDefault = cond: value: mkIf cond (mkDefault value); - noWrapper = config.services.mail.sendmailSetuidWrapper==null; + noWrapper = config.services.mail.sendmailSetuidWrapper == null; # If a sendmail setuid wrapper exists, # we add the path to the default configuration file. # Otherwise, we use `false` to provoke @@ -85,37 +107,31 @@ let (mkIfDefault noWrapper "${pkgs.coreutils}/bin/false") (mkIfDefault (!noWrapper) "${wrapperDir}/${program}") ]; - importDefaultConfig = file: - lib.attrsets.mapAttrs - (lib.trivial.const mkDefault) - (import file { inherit pkgs; }); + importDefaultConfig = + file: lib.attrsets.mapAttrs (lib.trivial.const mkDefault) (import file { inherit pkgs; }); c.commonModemConfig = importDefaultConfig ./modem-default.nix; c.faxqConfig = importDefaultConfig ./faxq-default.nix; c.hfaxdConfig = importDefaultConfig ./hfaxd-default.nix; in - c; + c; localConfig = let c.hfaxdConfig.UserAccessFile = cfg.userAccessFile; - c.faxqConfig = lib.attrsets.mapAttrs - (lib.trivial.const (v: mkIf (v!=null) v)) - { - AreaCode = cfg.areaCode; - CountryCode = cfg.countryCode; - LongDistancePrefix = cfg.longDistancePrefix; - InternationalPrefix = cfg.internationalPrefix; - }; + c.faxqConfig = lib.attrsets.mapAttrs (lib.trivial.const (v: mkIf (v != null) v)) { + AreaCode = cfg.areaCode; + CountryCode = cfg.countryCode; + LongDistancePrefix = cfg.longDistancePrefix; + InternationalPrefix = cfg.internationalPrefix; + }; c.commonModemConfig = c.faxqConfig; in - c; + c; in - { - options.services.hylafax = { enable = mkEnableOption "HylaFAX server"; @@ -246,7 +262,7 @@ in modems = mkOption { type = attrsOf (submodule [ modemConfigOptions ]); - default = {}; + default = { }; example.ttyS1 = { type = "cirrus"; config = { @@ -327,7 +343,11 @@ in ''; }; faxqclean.archiving = mkOption { - type = enum [ "never" "as-flagged" "always" ]; + type = enum [ + "never" + "as-flagged" + "always" + ]; default = "as-flagged"; example = "always"; description = '' @@ -362,11 +382,9 @@ in }; - - config.services.hylafax = - mkIf - (config.services.hylafax.enable) - (mkMerge [ defaultConfig localConfig ]) - ; + config.services.hylafax = mkIf (config.services.hylafax.enable) (mkMerge [ + defaultConfig + localConfig + ]); } diff --git a/nixos/modules/services/networking/hylafax/systemd.nix b/nixos/modules/services/networking/hylafax/systemd.nix index df6d0f49eec48..8850d961e63d4 100644 --- a/nixos/modules/services/networking/hylafax/systemd.nix +++ b/nixos/modules/services/networking/hylafax/systemd.nix @@ -1,5 +1,9 @@ -{ config, lib, pkgs, ... }: - +{ + config, + lib, + pkgs, + ... +}: let @@ -9,7 +13,8 @@ let cfg = config.services.hylafax; mapModems = lib.forEach (lib.attrValues cfg.modems); - mkConfigFile = name: conf: + mkConfigFile = + name: conf: # creates hylafax config file, # makes sure "Include" is listed *first* let @@ -17,31 +22,32 @@ let (lib.mapAttrsToList (key: map (val: "${key}: ${val}"))) lib.concatLists ]; - include = mkLines { Include = conf.Include or []; }; - other = mkLines ( conf // { Include = []; } ); + include = mkLines { Include = conf.Include or [ ]; }; + other = mkLines (conf // { Include = [ ]; }); in - pkgs.writeText "hylafax-config${name}" - (concatStringsSep "\n" (include ++ other)); + pkgs.writeText "hylafax-config${name}" (concatStringsSep "\n" (include ++ other)); globalConfigPath = mkConfigFile "" cfg.faxqConfig; modemConfigPath = let - mkModemConfigFile = { config, name, ... }: - mkConfigFile ".${name}" - (cfg.commonModemConfig // config); - mkLine = { name, type, ... }@modem: '' - # check if modem config file exists: - test -f "${pkgs.hylafaxplus}/spool/config/${type}" - ln \ - --symbolic \ - --no-target-directory \ - "${mkModemConfigFile modem}" \ - "$out/config.${name}" - ''; + mkModemConfigFile = + { config, name, ... }: mkConfigFile ".${name}" (cfg.commonModemConfig // config); + mkLine = + { name, type, ... }@modem: + '' + # check if modem config file exists: + test -f "${pkgs.hylafaxplus}/spool/config/${type}" + ln \ + --symbolic \ + --no-target-directory \ + "${mkModemConfigFile modem}" \ + "$out/config.${name}" + ''; in - pkgs.runCommand "hylafax-config-modems" { preferLocalBuild = true; } - ''mkdir --parents "$out/" ${concatStringsSep "\n" (mapModems mkLine)}''; + pkgs.runCommand "hylafax-config-modems" { + preferLocalBuild = true; + } ''mkdir --parents "$out/" ${concatStringsSep "\n" (mapModems mkLine)}''; setupSpoolScript = pkgs.substituteAll { name = "hylafax-setup-spool.sh"; @@ -77,20 +83,17 @@ let paths.hylafax-faxq = { description = "HylaFAX queue manager sendq watch"; - documentation = [ "man:faxq(8)" "man:sendq(5)" ]; + documentation = [ + "man:faxq(8)" + "man:sendq(5)" + ]; wantedBy = [ "multi-user.target" ]; pathConfig.PathExistsGlob = [ "${cfg.spoolAreaPath}/sendq/q*" ]; }; timers = mkMerge [ - ( - mkIf (cfg.faxcron.enable.frequency!=null) - { hylafax-faxcron.timerConfig.Persistent = true; } - ) - ( - mkIf (cfg.faxqclean.enable.frequency!=null) - { hylafax-faxqclean.timerConfig.Persistent = true; } - ) + (mkIf (cfg.faxcron.enable.frequency != null) { hylafax-faxcron.timerConfig.Persistent = true; }) + (mkIf (cfg.faxqclean.enable.frequency != null) { hylafax-faxqclean.timerConfig.Persistent = true; }) ]; hardenService = @@ -103,7 +106,7 @@ let # with some options to customize it. let hardening = { - PrivateDevices = true; # breaks /dev/tty... + PrivateDevices = true; # breaks /dev/tty... PrivateNetwork = true; PrivateTmp = true; #ProtectClock = true; # breaks /dev/tty... (why?) @@ -116,10 +119,10 @@ let RestrictNamespaces = true; RestrictRealtime = true; }; - filter = key: value: (value != null) || ! (lib.hasAttr key hardening); - apply = service: lib.filterAttrs filter (hardening // (service.serviceConfig or {})); + filter = key: value: (value != null) || !(lib.hasAttr key hardening); + apply = service: lib.filterAttrs filter (hardening // (service.serviceConfig or { })); in - service: service // { serviceConfig = apply service; }; + service: service // { serviceConfig = apply service; }; services.hylafax-spool = { description = "HylaFAX spool area preparation"; @@ -145,7 +148,7 @@ let documentation = [ "man:faxq(8)" ]; requires = [ "hylafax-spool.service" ]; after = [ "hylafax-spool.service" ]; - wants = mapModems ( { name, ... }: "hylafax-faxgetty@${name}.service" ); + wants = mapModems ({ name, ... }: "hylafax-faxgetty@${name}.service"); wantedBy = mkIf cfg.autostart [ "multi-user.target" ]; serviceConfig.Type = "forking"; serviceConfig.ExecStart = ''${pkgs.hylafaxplus}/spool/bin/faxq -q "${cfg.spoolAreaPath}"''; @@ -184,7 +187,7 @@ let after = [ "hylafax-spool.service" ]; requires = [ "hylafax-spool.service" ]; wantedBy = mkIf cfg.faxcron.enable.spoolInit requires; - startAt = mkIf (cfg.faxcron.enable.frequency!=null) cfg.faxcron.enable.frequency; + startAt = mkIf (cfg.faxcron.enable.frequency != null) cfg.faxcron.enable.frequency; serviceConfig.ExecStart = concatStringsSep " " [ "${pkgs.hylafaxplus}/spool/bin/faxcron" ''-q "${cfg.spoolAreaPath}"'' @@ -200,26 +203,30 @@ let after = [ "hylafax-spool.service" ]; requires = [ "hylafax-spool.service" ]; wantedBy = mkIf cfg.faxqclean.enable.spoolInit requires; - startAt = mkIf (cfg.faxqclean.enable.frequency!=null) cfg.faxqclean.enable.frequency; + startAt = mkIf (cfg.faxqclean.enable.frequency != null) cfg.faxqclean.enable.frequency; serviceConfig.ExecStart = concatStringsSep " " [ "${pkgs.hylafaxplus}/spool/bin/faxqclean" ''-q "${cfg.spoolAreaPath}"'' "-v" - (optionalString (cfg.faxqclean.archiving!="never") "-a") - (optionalString (cfg.faxqclean.archiving=="always") "-A") - ''-j ${toString (cfg.faxqclean.doneqMinutes*60)}'' - ''-d ${toString (cfg.faxqclean.docqMinutes*60)}'' + (optionalString (cfg.faxqclean.archiving != "never") "-a") + (optionalString (cfg.faxqclean.archiving == "always") "-A") + ''-j ${toString (cfg.faxqclean.doneqMinutes * 60)}'' + ''-d ${toString (cfg.faxqclean.docqMinutes * 60)}'' ]; }; - mkFaxgettyService = { name, ... }: + mkFaxgettyService = + { name, ... }: lib.nameValuePair "hylafax-faxgetty@${name}" rec { description = "HylaFAX faxgetty for %I"; documentation = [ "man:faxgetty(8)" ]; bindsTo = [ "dev-%i.device" ]; requires = [ "hylafax-spool.service" ]; after = bindsTo ++ requires; - before = [ "hylafax-faxq.service" "getty.target" ]; + before = [ + "hylafax-faxq.service" + "getty.target" + ]; unitConfig.StopWhenUnneeded = true; unitConfig.AssertFileNotEmpty = "${cfg.spoolAreaPath}/etc/config.%I"; serviceConfig.UtmpIdentifier = "%I"; @@ -236,8 +243,7 @@ let serviceConfig.RestrictRealtime = null; }; - modemServices = - lib.listToAttrs (mapModems mkFaxgettyService); + modemServices = lib.listToAttrs (mapModems mkFaxgettyService); in diff --git a/nixos/modules/services/networking/i2p.nix b/nixos/modules/services/networking/i2p.nix index 5d7b339dc01b5..09d14a759b24f 100644 --- a/nixos/modules/services/networking/i2p.nix +++ b/nixos/modules/services/networking/i2p.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.i2p; homeDir = "/var/lib/i2p"; diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix index 72069e609ac28..d7784b0a1c886 100644 --- a/nixos/modules/services/networking/i2pd.nix +++ b/nixos/modules/services/networking/i2pd.nix @@ -1,8 +1,28 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkIf mkOption mkDefault mkEnableOption types optional optionals; - inherit (lib.types) nullOr bool listOf str attrsOf submodule; + inherit (lib) + mkIf + mkOption + mkDefault + mkEnableOption + types + optional + optionals + ; + inherit (lib.types) + nullOr + bool + listOf + str + attrsOf + submodule + ; cfg = config.services.i2pd; @@ -15,7 +35,7 @@ let optionalNullString = o: s: optional (s != null) (strOpt o s); optionalNullBool = o: b: optional (b != null) (boolOpt o b); optionalNullInt = o: i: optional (i != null) (intOpt o i); - optionalEmptyList = o: l: optional ([] != l) (lstOpt o l); + optionalEmptyList = o: l: optional ([ ] != l) (lstOpt o l); mkEnableTrueOption = name: mkEnableOption name // { default = true; }; @@ -51,8 +71,10 @@ let }; }; - mkKeyedEndpointOpt = name: addr: port: keyloc: - (mkEndpointOpt name addr port) // { + mkKeyedEndpointOpt = + name: addr: port: keyloc: + (mkEndpointOpt name addr port) + // { keys = mkOption { type = nullOr str; default = keyloc; @@ -74,161 +96,186 @@ let }; }; - commonTunOpts = name: { - outbound = i2cpOpts name; - inbound = i2cpOpts name; - crypto.tagsToSend = mkOption { - type = types.int; - description = "Number of ElGamal/AES tags to send."; - default = 40; - }; - destination = mkOption { - type = types.str; - description = "Remote endpoint, I2P hostname or b32.i2p address."; - }; - keys = mkOption { - type = types.str; - default = name + "-keys.dat"; - description = "Keyset used for tunnel identity."; - }; - } // mkEndpointOpt name "127.0.0.1" 0; + commonTunOpts = + name: + { + outbound = i2cpOpts name; + inbound = i2cpOpts name; + crypto.tagsToSend = mkOption { + type = types.int; + description = "Number of ElGamal/AES tags to send."; + default = 40; + }; + destination = mkOption { + type = types.str; + description = "Remote endpoint, I2P hostname or b32.i2p address."; + }; + keys = mkOption { + type = types.str; + default = name + "-keys.dat"; + description = "Keyset used for tunnel identity."; + }; + } + // mkEndpointOpt name "127.0.0.1" 0; sec = name: "\n[" + name + "]"; notice = "# DO NOT EDIT -- this file has been generated automatically."; - i2pdConf = let - opts = [ - notice - (strOpt "loglevel" cfg.logLevel) - (boolOpt "logclftime" cfg.logCLFTime) - (boolOpt "ipv4" cfg.enableIPv4) - (boolOpt "ipv6" cfg.enableIPv6) - (boolOpt "notransit" cfg.notransit) - (boolOpt "floodfill" cfg.floodfill) - (intOpt "netid" cfg.netid) - ] ++ (optionalNullInt "bandwidth" cfg.bandwidth) - ++ (optionalNullInt "port" cfg.port) - ++ (optionalNullString "family" cfg.family) - ++ (optionalNullString "datadir" cfg.dataDir) - ++ (optionalNullInt "share" cfg.share) - ++ (optionalNullBool "ssu" cfg.ssu) - ++ (optionalNullBool "ntcp" cfg.ntcp) - ++ (optionalNullString "ntcpproxy" cfg.ntcpProxy) - ++ (optionalNullString "ifname" cfg.ifname) - ++ (optionalNullString "ifname4" cfg.ifname4) - ++ (optionalNullString "ifname6" cfg.ifname6) - ++ [ - (sec "limits") - (intOpt "transittunnels" cfg.limits.transittunnels) - (intOpt "coresize" cfg.limits.coreSize) - (intOpt "openfiles" cfg.limits.openFiles) - (intOpt "ntcphard" cfg.limits.ntcpHard) - (intOpt "ntcpsoft" cfg.limits.ntcpSoft) - (intOpt "ntcpthreads" cfg.limits.ntcpThreads) - (sec "upnp") - (boolOpt "enabled" cfg.upnp.enable) - (sec "precomputation") - (boolOpt "elgamal" cfg.precomputation.elgamal) - (sec "reseed") - (boolOpt "verify" cfg.reseed.verify) - ] ++ (optionalNullString "file" cfg.reseed.file) - ++ (optionalEmptyList "urls" cfg.reseed.urls) - ++ (optionalNullString "floodfill" cfg.reseed.floodfill) - ++ (optionalNullString "zipfile" cfg.reseed.zipfile) - ++ (optionalNullString "proxy" cfg.reseed.proxy) - ++ [ - (sec "trust") - (boolOpt "enabled" cfg.trust.enable) - (boolOpt "hidden" cfg.trust.hidden) - ] ++ (optionalEmptyList "routers" cfg.trust.routers) - ++ (optionalNullString "family" cfg.trust.family) - ++ [ - (sec "websockets") - (boolOpt "enabled" cfg.websocket.enable) - (strOpt "address" cfg.websocket.address) - (intOpt "port" cfg.websocket.port) - (sec "exploratory") - (intOpt "inbound.length" cfg.exploratory.inbound.length) - (intOpt "inbound.quantity" cfg.exploratory.inbound.quantity) - (intOpt "outbound.length" cfg.exploratory.outbound.length) - (intOpt "outbound.quantity" cfg.exploratory.outbound.quantity) - (sec "ntcp2") - (boolOpt "enabled" cfg.ntcp2.enable) - (boolOpt "published" cfg.ntcp2.published) - (intOpt "port" cfg.ntcp2.port) - (sec "addressbook") - (strOpt "defaulturl" cfg.addressbook.defaulturl) - ] ++ (optionalEmptyList "subscriptions" cfg.addressbook.subscriptions) - ++ [ - (sec "meshnets") - (boolOpt "yggdrasil" cfg.yggdrasil.enable) - ] ++ (optionalNullString "yggaddress" cfg.yggdrasil.address) - ++ (lib.flip map - (lib.collect (proto: proto ? port && proto ? address) cfg.proto) - (proto: let protoOpts = [ - (sec proto.name) - (boolOpt "enabled" proto.enable) - (strOpt "address" proto.address) - (intOpt "port" proto.port) - ] ++ (optionals (proto ? keys) (optionalNullString "keys" proto.keys)) - ++ (optionals (proto ? auth) (optionalNullBool "auth" proto.auth)) - ++ (optionals (proto ? user) (optionalNullString "user" proto.user)) - ++ (optionals (proto ? pass) (optionalNullString "pass" proto.pass)) - ++ (optionals (proto ? strictHeaders) (optionalNullBool "strictheaders" proto.strictHeaders)) - ++ (optionals (proto ? hostname) (optionalNullString "hostname" proto.hostname)) - ++ (optionals (proto ? outproxy) (optionalNullString "outproxy" proto.outproxy)) - ++ (optionals (proto ? outproxyPort) (optionalNullInt "outproxyport" proto.outproxyPort)) - ++ (optionals (proto ? outproxyEnable) (optionalNullBool "outproxy.enabled" proto.outproxyEnable)); - in (lib.concatStringsSep "\n" protoOpts) - )); - in + i2pdConf = + let + opts = + [ + notice + (strOpt "loglevel" cfg.logLevel) + (boolOpt "logclftime" cfg.logCLFTime) + (boolOpt "ipv4" cfg.enableIPv4) + (boolOpt "ipv6" cfg.enableIPv6) + (boolOpt "notransit" cfg.notransit) + (boolOpt "floodfill" cfg.floodfill) + (intOpt "netid" cfg.netid) + ] + ++ (optionalNullInt "bandwidth" cfg.bandwidth) + ++ (optionalNullInt "port" cfg.port) + ++ (optionalNullString "family" cfg.family) + ++ (optionalNullString "datadir" cfg.dataDir) + ++ (optionalNullInt "share" cfg.share) + ++ (optionalNullBool "ssu" cfg.ssu) + ++ (optionalNullBool "ntcp" cfg.ntcp) + ++ (optionalNullString "ntcpproxy" cfg.ntcpProxy) + ++ (optionalNullString "ifname" cfg.ifname) + ++ (optionalNullString "ifname4" cfg.ifname4) + ++ (optionalNullString "ifname6" cfg.ifname6) + ++ [ + (sec "limits") + (intOpt "transittunnels" cfg.limits.transittunnels) + (intOpt "coresize" cfg.limits.coreSize) + (intOpt "openfiles" cfg.limits.openFiles) + (intOpt "ntcphard" cfg.limits.ntcpHard) + (intOpt "ntcpsoft" cfg.limits.ntcpSoft) + (intOpt "ntcpthreads" cfg.limits.ntcpThreads) + (sec "upnp") + (boolOpt "enabled" cfg.upnp.enable) + (sec "precomputation") + (boolOpt "elgamal" cfg.precomputation.elgamal) + (sec "reseed") + (boolOpt "verify" cfg.reseed.verify) + ] + ++ (optionalNullString "file" cfg.reseed.file) + ++ (optionalEmptyList "urls" cfg.reseed.urls) + ++ (optionalNullString "floodfill" cfg.reseed.floodfill) + ++ (optionalNullString "zipfile" cfg.reseed.zipfile) + ++ (optionalNullString "proxy" cfg.reseed.proxy) + ++ [ + (sec "trust") + (boolOpt "enabled" cfg.trust.enable) + (boolOpt "hidden" cfg.trust.hidden) + ] + ++ (optionalEmptyList "routers" cfg.trust.routers) + ++ (optionalNullString "family" cfg.trust.family) + ++ [ + (sec "websockets") + (boolOpt "enabled" cfg.websocket.enable) + (strOpt "address" cfg.websocket.address) + (intOpt "port" cfg.websocket.port) + (sec "exploratory") + (intOpt "inbound.length" cfg.exploratory.inbound.length) + (intOpt "inbound.quantity" cfg.exploratory.inbound.quantity) + (intOpt "outbound.length" cfg.exploratory.outbound.length) + (intOpt "outbound.quantity" cfg.exploratory.outbound.quantity) + (sec "ntcp2") + (boolOpt "enabled" cfg.ntcp2.enable) + (boolOpt "published" cfg.ntcp2.published) + (intOpt "port" cfg.ntcp2.port) + (sec "addressbook") + (strOpt "defaulturl" cfg.addressbook.defaulturl) + ] + ++ (optionalEmptyList "subscriptions" cfg.addressbook.subscriptions) + ++ [ + (sec "meshnets") + (boolOpt "yggdrasil" cfg.yggdrasil.enable) + ] + ++ (optionalNullString "yggaddress" cfg.yggdrasil.address) + ++ (lib.flip map (lib.collect (proto: proto ? port && proto ? address) cfg.proto) ( + proto: + let + protoOpts = + [ + (sec proto.name) + (boolOpt "enabled" proto.enable) + (strOpt "address" proto.address) + (intOpt "port" proto.port) + ] + ++ (optionals (proto ? keys) (optionalNullString "keys" proto.keys)) + ++ (optionals (proto ? auth) (optionalNullBool "auth" proto.auth)) + ++ (optionals (proto ? user) (optionalNullString "user" proto.user)) + ++ (optionals (proto ? pass) (optionalNullString "pass" proto.pass)) + ++ (optionals (proto ? strictHeaders) (optionalNullBool "strictheaders" proto.strictHeaders)) + ++ (optionals (proto ? hostname) (optionalNullString "hostname" proto.hostname)) + ++ (optionals (proto ? outproxy) (optionalNullString "outproxy" proto.outproxy)) + ++ (optionals (proto ? outproxyPort) (optionalNullInt "outproxyport" proto.outproxyPort)) + ++ (optionals (proto ? outproxyEnable) (optionalNullBool "outproxy.enabled" proto.outproxyEnable)); + in + (lib.concatStringsSep "\n" protoOpts) + )); + in pkgs.writeText "i2pd.conf" (lib.concatStringsSep "\n" opts); - tunnelConf = let - mkOutTunnel = tun: - let - outTunOpts = [ - (sec tun.name) - "type = client" - (intOpt "port" tun.port) - (strOpt "destination" tun.destination) - ] ++ (optionals (tun ? destinationPort) (optionalNullInt "destinationport" tun.destinationPort)) - ++ (optionals (tun ? keys) (optionalNullString "keys" tun.keys)) - ++ (optionals (tun ? address) (optionalNullString "address" tun.address)) - ++ (optionals (tun ? inbound.length) (optionalNullInt "inbound.length" tun.inbound.length)) - ++ (optionals (tun ? inbound.quantity) (optionalNullInt "inbound.quantity" tun.inbound.quantity)) - ++ (optionals (tun ? outbound.length) (optionalNullInt "outbound.length" tun.outbound.length)) - ++ (optionals (tun ? outbound.quantity) (optionalNullInt "outbound.quantity" tun.outbound.quantity)) - ++ (optionals (tun ? crypto.tagsToSend) (optionalNullInt "crypto.tagstosend" tun.crypto.tagsToSend)); - in + tunnelConf = + let + mkOutTunnel = + tun: + let + outTunOpts = + [ + (sec tun.name) + "type = client" + (intOpt "port" tun.port) + (strOpt "destination" tun.destination) + ] + ++ (optionals (tun ? destinationPort) (optionalNullInt "destinationport" tun.destinationPort)) + ++ (optionals (tun ? keys) (optionalNullString "keys" tun.keys)) + ++ (optionals (tun ? address) (optionalNullString "address" tun.address)) + ++ (optionals (tun ? inbound.length) (optionalNullInt "inbound.length" tun.inbound.length)) + ++ (optionals (tun ? inbound.quantity) (optionalNullInt "inbound.quantity" tun.inbound.quantity)) + ++ (optionals (tun ? outbound.length) (optionalNullInt "outbound.length" tun.outbound.length)) + ++ (optionals (tun ? outbound.quantity) (optionalNullInt "outbound.quantity" tun.outbound.quantity)) + ++ (optionals (tun ? crypto.tagsToSend) ( + optionalNullInt "crypto.tagstosend" tun.crypto.tagsToSend + )); + in lib.concatStringsSep "\n" outTunOpts; - mkInTunnel = tun: - let - inTunOpts = [ - (sec tun.name) - "type = server" - (intOpt "port" tun.port) - (strOpt "host" tun.address) - ] ++ (optionals (tun ? destination) (optionalNullString "destination" tun.destination)) - ++ (optionals (tun ? keys) (optionalNullString "keys" tun.keys)) - ++ (optionals (tun ? inPort) (optionalNullInt "inport" tun.inPort)) - ++ (optionals (tun ? accessList) (optionalEmptyList "accesslist" tun.accessList)); - in + mkInTunnel = + tun: + let + inTunOpts = + [ + (sec tun.name) + "type = server" + (intOpt "port" tun.port) + (strOpt "host" tun.address) + ] + ++ (optionals (tun ? destination) (optionalNullString "destination" tun.destination)) + ++ (optionals (tun ? keys) (optionalNullString "keys" tun.keys)) + ++ (optionals (tun ? inPort) (optionalNullInt "inport" tun.inPort)) + ++ (optionals (tun ? accessList) (optionalEmptyList "accesslist" tun.accessList)); + in lib.concatStringsSep "\n" inTunOpts; - allOutTunnels = lib.collect (tun: tun ? port && tun ? destination) cfg.outTunnels; - allInTunnels = lib.collect (tun: tun ? port && tun ? address) cfg.inTunnels; + allOutTunnels = lib.collect (tun: tun ? port && tun ? destination) cfg.outTunnels; + allInTunnels = lib.collect (tun: tun ? port && tun ? address) cfg.inTunnels; - opts = [ notice ] ++ (map mkOutTunnel allOutTunnels) ++ (map mkInTunnel allInTunnels); - in + opts = [ notice ] ++ (map mkOutTunnel allOutTunnels) ++ (map mkInTunnel allInTunnels); + in pkgs.writeText "i2pd-tunnels.conf" (lib.concatStringsSep "\n" opts); i2pdFlags = lib.concatStringsSep " " ( - optional (cfg.address != null) ("--host=" + cfg.address) ++ [ - "--service" - ("--conf=" + i2pdConf) - ("--tunconf=" + tunnelConf) - ]); + optional (cfg.address != null) ("--host=" + cfg.address) + ++ [ + "--service" + ("--conf=" + i2pdConf) + ("--tunconf=" + tunnelConf) + ] + ); in @@ -255,7 +302,12 @@ in package = lib.mkPackageOption pkgs "i2pd" { }; logLevel = mkOption { - type = types.enum ["debug" "info" "warn" "error"]; + type = types.enum [ + "debug" + "info" + "warn" + "error" + ]; default = "error"; description = '' The log level. {command}`i2pd` defaults to "info" @@ -359,8 +411,8 @@ in type = with types; nullOr int; default = null; description = '' - Set a router bandwidth limit integer in KBps. - If not set, {command}`i2pd` defaults to 32KBps. + Set a router bandwidth limit integer in KBps. + If not set, {command}`i2pd` defaults to 32KBps. ''; }; @@ -408,7 +460,7 @@ in reseed.urls = mkOption { type = listOf str; - default = []; + default = [ ]; description = '' Reseed URLs. ''; @@ -438,14 +490,14 @@ in ''; }; - addressbook.defaulturl = mkOption { + addressbook.defaulturl = mkOption { type = types.str; default = "http://joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq.b32.i2p/export/alive-hosts.txt"; description = '' AddressBook subscription URL for initial setup ''; }; - addressbook.subscriptions = mkOption { + addressbook.subscriptions = mkOption { type = listOf str; default = [ "http://inr.i2p/export/alive-hosts.txt" @@ -469,7 +521,7 @@ in trust.routers = mkOption { type = listOf str; - default = []; + default = [ ]; description = '' Only connect to the listed routers. ''; @@ -588,16 +640,14 @@ in }; }; - proto.httpProxy = (mkKeyedEndpointOpt "httpproxy" "127.0.0.1" 4444 "httpproxy-keys.dat") - // { + proto.httpProxy = (mkKeyedEndpointOpt "httpproxy" "127.0.0.1" 4444 "httpproxy-keys.dat") // { outproxy = mkOption { type = nullOr str; default = null; description = "Upstream outproxy bind address."; }; }; - proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "socksproxy-keys.dat") - // { + proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "socksproxy-keys.dat") // { outproxyEnable = mkEnableOption "SOCKS outproxy"; outproxy = mkOption { type = types.str; @@ -617,47 +667,53 @@ in proto.i2pControl = mkEndpointOpt "i2pcontrol" "127.0.0.1" 7650; outTunnels = mkOption { - default = {}; - type = attrsOf (submodule ( - { name, ... }: { - options = { - destinationPort = mkOption { - type = with types; nullOr int; - default = null; - description = "Connect to particular port at destination."; + default = { }; + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + destinationPort = mkOption { + type = with types; nullOr int; + default = null; + description = "Connect to particular port at destination."; + }; + } // commonTunOpts name; + config = { + name = mkDefault name; }; - } // commonTunOpts name; - config = { - name = mkDefault name; - }; - } - )); + } + ) + ); description = '' Connect to someone as a client and establish a local accept endpoint ''; }; inTunnels = mkOption { - default = {}; - type = attrsOf (submodule ( - { name, ... }: { - options = { - inPort = mkOption { - type = types.int; - default = 0; - description = "Service port. Default to the tunnel's listen port."; - }; - accessList = mkOption { - type = listOf str; - default = []; - description = "I2P nodes that are allowed to connect to this service."; + default = { }; + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + inPort = mkOption { + type = types.int; + default = 0; + description = "Service port. Default to the tunnel's listen port."; + }; + accessList = mkOption { + type = listOf str; + default = [ ]; + description = "I2P nodes that are allowed to connect to this service."; + }; + } // commonTunOpts name; + config = { + name = mkDefault name; }; - } // commonTunOpts name; - config = { - name = mkDefault name; - }; - } - )); + } + ) + ); description = '' Serve something on I2P network at port and delegate requests to address inPort. ''; @@ -665,7 +721,6 @@ in }; }; - ###### implementation config = mkIf cfg.enable { @@ -684,8 +739,7 @@ in description = "Minimal I2P router"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = - { + serviceConfig = { User = "i2pd"; WorkingDirectory = homeDir; Restart = "on-abort"; diff --git a/nixos/modules/services/networking/icecream/daemon.nix b/nixos/modules/services/networking/icecream/daemon.nix index 0626766eddd07..789ff377bbaf2 100644 --- a/nixos/modules/services/networking/icecream/daemon.nix +++ b/nixos/modules/services/networking/icecream/daemon.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.icecream.daemon; -in { +in +{ ###### interface @@ -12,7 +18,7 @@ in { services.icecream.daemon = { - enable = mkEnableOption "Icecream Daemon"; + enable = mkEnableOption "Icecream Daemon"; openFirewall = mkOption { type = types.bool; @@ -103,7 +109,7 @@ in { extraArgs = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Additional command line parameters."; example = [ "-v" ]; }; @@ -122,19 +128,38 @@ in { wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = escapeShellArgs ([ - "${getBin cfg.package}/bin/iceccd" - "-b" "$STATE_DIRECTORY" - "-u" "icecc" - (toString cfg.nice) - ] - ++ optionals (cfg.schedulerHost != null) ["-s" cfg.schedulerHost] - ++ optionals (cfg.netName != null) [ "-n" cfg.netName ] - ++ optionals (cfg.cacheLimit != null) [ "--cache-limit" (toString cfg.cacheLimit) ] - ++ optionals (cfg.maxProcesses != null) [ "-m" (toString cfg.maxProcesses) ] - ++ optionals (cfg.hostname != null) [ "-N" (cfg.hostname) ] - ++ optional cfg.noRemote "--no-remote" - ++ cfg.extraArgs); + ExecStart = escapeShellArgs ( + [ + "${getBin cfg.package}/bin/iceccd" + "-b" + "$STATE_DIRECTORY" + "-u" + "icecc" + (toString cfg.nice) + ] + ++ optionals (cfg.schedulerHost != null) [ + "-s" + cfg.schedulerHost + ] + ++ optionals (cfg.netName != null) [ + "-n" + cfg.netName + ] + ++ optionals (cfg.cacheLimit != null) [ + "--cache-limit" + (toString cfg.cacheLimit) + ] + ++ optionals (cfg.maxProcesses != null) [ + "-m" + (toString cfg.maxProcesses) + ] + ++ optionals (cfg.hostname != null) [ + "-N" + (cfg.hostname) + ] + ++ optional cfg.noRemote "--no-remote" + ++ cfg.extraArgs + ); DynamicUser = true; User = "icecc"; Group = "icecc"; diff --git a/nixos/modules/services/networking/icecream/scheduler.nix b/nixos/modules/services/networking/icecream/scheduler.nix index 597a554d0b87e..69548f013a840 100644 --- a/nixos/modules/services/networking/icecream/scheduler.nix +++ b/nixos/modules/services/networking/icecream/scheduler.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.icecream.scheduler; -in { +in +{ ###### interface @@ -58,7 +64,7 @@ in { extraArgs = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Additional command line parameters"; example = [ "-v" ]; }; @@ -79,13 +85,19 @@ in { wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = escapeShellArgs ([ - "${getBin cfg.package}/bin/icecc-scheduler" - "-p" (toString cfg.port) - ] - ++ optionals (cfg.netName != null) [ "-n" (toString cfg.netName) ] - ++ optional cfg.persistentClientConnection "-r" - ++ cfg.extraArgs); + ExecStart = escapeShellArgs ( + [ + "${getBin cfg.package}/bin/icecc-scheduler" + "-p" + (toString cfg.port) + ] + ++ optionals (cfg.netName != null) [ + "-n" + (toString cfg.netName) + ] + ++ optional cfg.persistentClientConnection "-r" + ++ cfg.extraArgs + ); DynamicUser = true; }; diff --git a/nixos/modules/services/networking/imaginary.nix b/nixos/modules/services/networking/imaginary.nix index cb2fb62f34b39..3b4fd07d56e07 100644 --- a/nixos/modules/services/networking/imaginary.nix +++ b/nixos/modules/services/networking/imaginary.nix @@ -1,10 +1,22 @@ -{ lib, config, pkgs, utils, ... }: +{ + lib, + config, + pkgs, + utils, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption types; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.imaginary; -in { +in +{ options.services.imaginary = { enable = mkEnableOption "imaginary image processing microservice"; @@ -32,12 +44,14 @@ in { options. ''; type = types.submodule { - freeformType = with types; attrsOf (oneOf [ - bool - int - (nonEmptyListOf str) - str - ]); + freeformType = + with types; + attrsOf (oneOf [ + bool + int + (nonEmptyListOf str) + str + ]); options = { return-size = mkOption { @@ -51,29 +65,38 @@ in { }; config = mkIf cfg.enable { - assertions = [ { - assertion = ! lib.hasAttr "a" cfg.settings; - message = "Use services.imaginary.address to specify the -a flag."; - } { - assertion = ! lib.hasAttr "p" cfg.settings; - message = "Use services.imaginary.port to specify the -p flag."; - } ]; + assertions = [ + { + assertion = !lib.hasAttr "a" cfg.settings; + message = "Use services.imaginary.address to specify the -a flag."; + } + { + assertion = !lib.hasAttr "p" cfg.settings; + message = "Use services.imaginary.port to specify the -p flag."; + } + ]; systemd.services.imaginary = { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = rec { - ExecStart = let - args = lib.mapAttrsToList (key: val: - "-" + key + "=" + lib.concatStringsSep "," (map toString (lib.toList val)) - ) (cfg.settings // { a = cfg.address; p = cfg.port; }); - in "${pkgs.imaginary}/bin/imaginary ${utils.escapeSystemdExecArgs args}"; + ExecStart = + let + args = + lib.mapAttrsToList + (key: val: "-" + key + "=" + lib.concatStringsSep "," (map toString (lib.toList val))) + ( + cfg.settings + // { + a = cfg.address; + p = cfg.port; + } + ); + in + "${pkgs.imaginary}/bin/imaginary ${utils.escapeSystemdExecArgs args}"; ProtectProc = "invisible"; BindReadOnlyPaths = lib.optional (cfg.settings ? mount) cfg.settings.mount; - CapabilityBoundingSet = if cfg.port < 1024 then - [ "CAP_NET_BIND_SERVICE" ] - else - [ "" ]; + CapabilityBoundingSet = if cfg.port < 1024 then [ "CAP_NET_BIND_SERVICE" ] else [ "" ]; AmbientCapabilities = CapabilityBoundingSet; NoNewPrivileges = true; DynamicUser = true; diff --git a/nixos/modules/services/networking/inadyn.nix b/nixos/modules/services/networking/inadyn.nix index c98d6a2315061..a2684f2aee4d8 100644 --- a/nixos/modules/services/networking/inadyn.nix +++ b/nixos/modules/services/networking/inadyn.nix @@ -1,19 +1,31 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.inadyn; # check if a value of an attrset is not null or an empty collection nonEmptyValue = _: v: v != null && v != [ ] && v != { }; - renderOption = k: v: - if builtins.elem k [ "provider" "custom" ] then - lib.concatStringsSep "\n" - (lib.mapAttrsToList - (name: config: '' - ${k} ${name} { - ${lib.concatStringsSep "\n " (lib.mapAttrsToList renderOption (lib.filterAttrs nonEmptyValue config))} - }'') - v) + renderOption = + k: v: + if + builtins.elem k [ + "provider" + "custom" + ] + then + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (name: config: '' + ${k} ${name} { + ${lib.concatStringsSep "\n " ( + lib.mapAttrsToList renderOption (lib.filterAttrs nonEmptyValue config) + )} + }'') v + ) else if k == "include" then "${k}(\"${v}\")" else if k == "hostname" && builtins.isList v then @@ -25,53 +37,56 @@ let else "${k} = ${toString v}"; - configFile' = pkgs.writeText "inadyn.conf" - '' - # This file was generated by nix - # do not edit + configFile' = pkgs.writeText "inadyn.conf" '' + # This file was generated by nix + # do not edit - ${(lib.concatStringsSep "\n" (lib.mapAttrsToList renderOption (lib.filterAttrs nonEmptyValue cfg.settings)))} - ''; + ${ + (lib.concatStringsSep "\n" ( + lib.mapAttrsToList renderOption (lib.filterAttrs nonEmptyValue cfg.settings) + )) + } + ''; configFile = if (cfg.configFile != null) then cfg.configFile else configFile'; in { - options.services.inadyn = with lib.types; + options.services.inadyn = + with lib.types; let - providerOptions = - { - include = lib.mkOption { - default = null; - description = "File to include additional settings for this provider from."; - type = nullOr path; - }; - ssl = lib.mkOption { - default = true; - description = "Whether to use HTTPS for this DDNS provider."; - type = bool; - }; - username = lib.mkOption { - default = null; - description = "Username for this DDNS provider."; - type = nullOr str; - }; - password = lib.mkOption { - default = null; - description = '' - Password for this DDNS provider. - - WARNING: This will be world-readable in the nix store. - To store credentials securely, use the `include` or `configFile` options. - ''; - type = nullOr str; - }; - hostname = lib.mkOption { - default = "*"; - example = "your.cool-domain.com"; - description = "Hostname alias(es)."; - type = either str (listOf str); - }; + providerOptions = { + include = lib.mkOption { + default = null; + description = "File to include additional settings for this provider from."; + type = nullOr path; + }; + ssl = lib.mkOption { + default = true; + description = "Whether to use HTTPS for this DDNS provider."; + type = bool; }; + username = lib.mkOption { + default = null; + description = "Username for this DDNS provider."; + type = nullOr str; + }; + password = lib.mkOption { + default = null; + description = '' + Password for this DDNS provider. + + WARNING: This will be world-readable in the nix store. + To store credentials securely, use the `include` or `configFile` options. + ''; + type = nullOr str; + }; + hostname = lib.mkOption { + default = "*"; + example = "your.cool-domain.com"; + description = "Hostname alias(es)."; + type = either str (listOf str); + }; + }; in { enable = lib.mkEnableOption ('' @@ -112,7 +127,14 @@ in type = str; }; logLevel = lib.mkOption { - type = lib.types.enum [ "none" "err" "warning" "info" "notice" "debug" ]; + type = lib.types.enum [ + "none" + "err" + "warning" + "info" + "notice" + "debug" + ]; default = "notice"; description = "Set inadyn's log level."; }; diff --git a/nixos/modules/services/networking/inspircd.nix b/nixos/modules/services/networking/inspircd.nix index 5838b76d1da5d..5ae169dd41554 100644 --- a/nixos/modules/services/networking/inspircd.nix +++ b/nixos/modules/services/networking/inspircd.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.inspircd; configFile = pkgs.writeText "inspircd.conf" cfg.config; -in { +in +{ meta = { maintainers = [ lib.maintainers.sternenseemann ]; }; diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix index 2bdfa6f1b844a..ed3ff28cd5f4d 100644 --- a/nixos/modules/services/networking/iodine.nix +++ b/nixos/modules/services/networking/iodine.nix @@ -1,19 +1,33 @@ # NixOS module for iodine, ip over dns daemon -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.iodine; iodinedUser = "iodined"; - /* is this path made unreadable by ProtectHome = true ? */ + # is this path made unreadable by ProtectHome = true ? isProtected = x: lib.hasPrefix "/root" x || lib.hasPrefix "/home" x; in { imports = [ - (lib.mkRenamedOptionModule [ "services" "iodined" "enable" ] [ "services" "iodine" "server" "enable" ]) - (lib.mkRenamedOptionModule [ "services" "iodined" "domain" ] [ "services" "iodine" "server" "domain" ]) + (lib.mkRenamedOptionModule + [ "services" "iodined" "enable" ] + [ "services" "iodine" "server" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "iodined" "domain" ] + [ "services" "iodine" "server" "domain" ] + ) (lib.mkRenamedOptionModule [ "services" "iodined" "ip" ] [ "services" "iodine" "server" "ip" ]) - (lib.mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ]) + (lib.mkRenamedOptionModule + [ "services" "iodined" "extraConfig" ] + [ "services" "iodine" "server" "extraConfig" ] + ) (lib.mkRemovedOptionModule [ "services" "iodined" "client" ] "") ]; @@ -23,7 +37,7 @@ in services.iodine = { clients = lib.mkOption { - default = {}; + default = { }; description = '' Each attribute of this option defines a systemd service that runs iodine. Many or none may be defined. @@ -42,38 +56,36 @@ in } ''; type = lib.types.attrsOf ( - lib.types.submodule ( - { - options = { - server = lib.mkOption { - type = lib.types.str; - default = ""; - description = "Hostname of server running iodined"; - example = "tunnel.mydomain.com"; - }; - - relay = lib.mkOption { - type = lib.types.str; - default = ""; - description = "DNS server to use as an intermediate relay to the iodined server"; - example = "8.8.8.8"; - }; - - extraConfig = lib.mkOption { - type = lib.types.str; - default = ""; - description = "Additional command line parameters"; - example = "-l 192.168.1.10 -p 23"; - }; - - passwordFile = lib.mkOption { - type = lib.types.str; - default = ""; - description = "Path to a file containing the password."; - }; + lib.types.submodule ({ + options = { + server = lib.mkOption { + type = lib.types.str; + default = ""; + description = "Hostname of server running iodined"; + example = "tunnel.mydomain.com"; }; - } - ) + + relay = lib.mkOption { + type = lib.types.str; + default = ""; + description = "DNS server to use as an intermediate relay to the iodined server"; + example = "8.8.8.8"; + }; + + extraConfig = lib.mkOption { + type = lib.types.str; + default = ""; + description = "Additional command line parameters"; + example = "-l 192.168.1.10 -p 23"; + }; + + passwordFile = lib.mkOption { + type = lib.types.str; + default = ""; + description = "Path to a file containing the password."; + }; + }; + }) ); }; @@ -117,72 +129,78 @@ in ### implementation - config = lib.mkIf (cfg.server.enable || cfg.clients != {}) { + config = lib.mkIf (cfg.server.enable || cfg.clients != { }) { environment.systemPackages = [ pkgs.iodine ]; boot.kernelModules = [ "tun" ]; systemd.services = let - createIodineClientService = name: cfg: - { - description = "iodine client - ${name}"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - script = "exec ${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${lib.optionalString (cfg.passwordFile != "") "< \"${builtins.toString cfg.passwordFile}\""} ${cfg.relay} ${cfg.server}"; - serviceConfig = { - RestartSec = "30s"; - Restart = "always"; - - # hardening : - # Filesystem access - ProtectSystem = "strict"; - ProtectHome = if isProtected cfg.passwordFile then "read-only" else "true" ; - PrivateTmp = true; - ReadWritePaths = "/dev/net/tun"; - PrivateDevices = false; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - # Caps - NoNewPrivileges = true; - # Misc. - LockPersonality = true; - RestrictRealtime = true; - PrivateMounts = true; - MemoryDenyWriteExecute = true; - }; + createIodineClientService = name: cfg: { + description = "iodine client - ${name}"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = "exec ${pkgs.iodine}/bin/iodine -f -u ${iodinedUser} ${cfg.extraConfig} ${ + lib.optionalString (cfg.passwordFile != "") "< \"${builtins.toString cfg.passwordFile}\"" + } ${cfg.relay} ${cfg.server}"; + serviceConfig = { + RestartSec = "30s"; + Restart = "always"; + + # hardening : + # Filesystem access + ProtectSystem = "strict"; + ProtectHome = if isProtected cfg.passwordFile then "read-only" else "true"; + PrivateTmp = true; + ReadWritePaths = "/dev/net/tun"; + PrivateDevices = false; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + # Caps + NoNewPrivileges = true; + # Misc. + LockPersonality = true; + RestrictRealtime = true; + PrivateMounts = true; + MemoryDenyWriteExecute = true; }; + }; in - lib.listToAttrs ( - lib.mapAttrsToList - (name: value: lib.nameValuePair "iodine-${name}" (createIodineClientService name value)) - cfg.clients - ) // { - iodined = lib.mkIf (cfg.server.enable) { - description = "iodine, ip over dns server daemon"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - script = "exec ${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${lib.optionalString (cfg.server.passwordFile != "") "< \"${builtins.toString cfg.server.passwordFile}\""} ${cfg.server.ip} ${cfg.server.domain}"; - serviceConfig = { - # Filesystem access - ProtectSystem = "strict"; - ProtectHome = if isProtected cfg.server.passwordFile then "read-only" else "true" ; - PrivateTmp = true; - ReadWritePaths = "/dev/net/tun"; - PrivateDevices = false; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - # Caps - NoNewPrivileges = true; - # Misc. - LockPersonality = true; - RestrictRealtime = true; - PrivateMounts = true; - MemoryDenyWriteExecute = true; - }; + lib.listToAttrs ( + lib.mapAttrsToList ( + name: value: lib.nameValuePair "iodine-${name}" (createIodineClientService name value) + ) cfg.clients + ) + // { + iodined = lib.mkIf (cfg.server.enable) { + description = "iodine, ip over dns server daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = "exec ${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${ + lib.optionalString ( + cfg.server.passwordFile != "" + ) "< \"${builtins.toString cfg.server.passwordFile}\"" + } ${cfg.server.ip} ${cfg.server.domain}"; + serviceConfig = { + # Filesystem access + ProtectSystem = "strict"; + ProtectHome = if isProtected cfg.server.passwordFile then "read-only" else "true"; + PrivateTmp = true; + ReadWritePaths = "/dev/net/tun"; + PrivateDevices = false; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + # Caps + NoNewPrivileges = true; + # Misc. + LockPersonality = true; + RestrictRealtime = true; + PrivateMounts = true; + MemoryDenyWriteExecute = true; }; }; + }; users.users.${iodinedUser} = { uid = config.ids.uids.iodined; diff --git a/nixos/modules/services/networking/iperf3.nix b/nixos/modules/services/networking/iperf3.nix index 2b1ee71f14212..6bcf17306e1d1 100644 --- a/nixos/modules/services/networking/iperf3.nix +++ b/nixos/modules/services/networking/iperf3.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, ... }: with lib; +{ + config, + lib, + pkgs, + ... +}: +with lib; let cfg = config.services.iperf3; @@ -6,18 +12,18 @@ let enable = mkEnableOption "iperf3 network throughput testing server"; package = mkPackageOption pkgs "iperf3" { }; port = mkOption { - type = types.ints.u16; - default = 5201; + type = types.ints.u16; + default = 5201; description = "Server port to listen on for iperf3 client requests."; }; affinity = mkOption { - type = types.nullOr types.ints.unsigned; - default = null; + type = types.nullOr types.ints.unsigned; + default = null; description = "CPU affinity for the process."; }; bind = mkOption { - type = types.nullOr types.str; - default = null; + type = types.nullOr types.str; + default = null; description = "Bind to the specific interface associated with the given address."; }; openFirewall = mkOption { @@ -26,33 +32,33 @@ let description = "Open ports in the firewall for iperf3."; }; verbose = mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = "Give more detailed output."; }; forceFlush = mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = "Force flushing output at every interval."; }; debug = mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = "Emit debugging output."; }; rsaPrivateKey = mkOption { - type = types.nullOr types.path; - default = null; + type = types.nullOr types.path; + default = null; description = "Path to the RSA private key (not password-protected) used to decrypt authentication credentials from the client."; }; authorizedUsersFile = mkOption { - type = types.nullOr types.path; - default = null; + type = types.nullOr types.path; + default = null; description = "Path to the configuration file containing authorized users credentials to run iperf tests."; }; extraFlags = mkOption { - type = types.listOf types.str; - default = [ ]; + type = types.listOf types.str; + default = [ ]; description = "Extra flags to pass to iperf3(1)."; }; }; @@ -83,7 +89,11 @@ let ${optionalString (cfg.affinity != null) "--affinity ${toString cfg.affinity}"} \ ${optionalString (cfg.bind != null) "--bind ${cfg.bind}"} \ ${optionalString (cfg.rsaPrivateKey != null) "--rsa-private-key-path ${cfg.rsaPrivateKey}"} \ - ${optionalString (cfg.authorizedUsersFile != null) "--authorized-users-path ${cfg.authorizedUsersFile}"} \ + ${ + optionalString ( + cfg.authorizedUsersFile != null + ) "--authorized-users-path ${cfg.authorizedUsersFile}" + } \ ${optionalString cfg.verbose "--verbose"} \ ${optionalString cfg.debug "--debug"} \ ${optionalString cfg.forceFlush "--forceflush"} \ @@ -92,7 +102,8 @@ let }; }; }; -in { +in +{ options.services.iperf3 = api; config = mkIf cfg.enable imp; } diff --git a/nixos/modules/services/networking/ircd-hybrid/default.nix b/nixos/modules/services/networking/ircd-hybrid/default.nix index 6422e31a7bddf..95e19636edaf3 100644 --- a/nixos/modules/services/networking/ircd-hybrid/default.nix +++ b/nixos/modules/services/networking/ircd-hybrid/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -8,20 +13,40 @@ let ircdService = pkgs.stdenv.mkDerivation rec { name = "ircd-hybrid-service"; - scripts = [ "=>/bin" ./control.in ]; - substFiles = [ "=>/conf" ./ircd.conf ]; - inherit (pkgs) ircdHybrid coreutils su iproute2 gnugrep procps; + scripts = [ + "=>/bin" + ./control.in + ]; + substFiles = [ + "=>/conf" + ./ircd.conf + ]; + inherit (pkgs) + ircdHybrid + coreutils + su + iproute2 + gnugrep + procps + ; ipv6Enabled = boolToString config.networking.enableIPv6; - inherit (cfg) serverName sid description adminEmail - extraPort; + inherit (cfg) + serverName + sid + description + adminEmail + extraPort + ; cryptoSettings = - (optionalString (cfg.rsaKey != null) "rsa_private_key_file = \"${cfg.rsaKey}\";\n") + - (optionalString (cfg.certificate != null) "ssl_certificate_file = \"${cfg.certificate}\";\n"); + (optionalString (cfg.rsaKey != null) "rsa_private_key_file = \"${cfg.rsaKey}\";\n") + + (optionalString (cfg.certificate != null) "ssl_certificate_file = \"${cfg.certificate}\";\n"); - extraListen = map (ip: "host = \""+ip+"\";\nport = 6665 .. 6669, "+extraPort+"; ") cfg.extraIPs; + extraListen = map ( + ip: "host = \"" + ip + "\";\nport = 6665 .. 6669, " + extraPort + "; " + ) cfg.extraIPs; builder = ./builder.sh; }; @@ -90,8 +115,8 @@ in }; extraIPs = mkOption { - default = []; - example = ["127.0.0.1"]; + default = [ ]; + example = [ "127.0.0.1" ]; type = types.listOf types.str; description = '' Extra IP's to bind. @@ -110,16 +135,15 @@ in }; - ###### implementation config = mkIf config.services.ircdHybrid.enable { - users.users.ircd = - { description = "IRCD owner"; - group = "ircd"; - uid = config.ids.uids.ircd; - }; + users.users.ircd = { + description = "IRCD owner"; + group = "ircd"; + uid = config.ids.uids.ircd; + }; users.groups.ircd.gid = config.ids.gids.ircd; diff --git a/nixos/modules/services/networking/iscsi/initiator.nix b/nixos/modules/services/networking/iscsi/initiator.nix index a89d58403c6bc..7a4ca5d58254d 100644 --- a/nixos/modules/services/networking/iscsi/initiator.nix +++ b/nixos/modules/services/networking/iscsi/initiator.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, ... }: with lib; +{ + config, + lib, + pkgs, + ... +}: +with lib; let cfg = config.services.openiscsi; in @@ -38,7 +44,7 @@ in }; config = mkIf cfg.enable { - environment.etc."iscsi/iscsid.conf.fragment".source = pkgs.runCommand "iscsid.conf" {} '' + environment.etc."iscsi/iscsid.conf.fragment".source = pkgs.runCommand "iscsid.conf" { } '' cat "${cfg.package}/etc/iscsi/iscsid.conf" > $out cat << 'EOF' >> $out ${cfg.extraConfig} @@ -61,7 +67,8 @@ in echo "Warning: services.openiscsi.extraConfigFile ${cfg.extraConfigFile} does not exist!" >&2 fi ''; - in '' + in + '' ( cat ${config.environment.etc."iscsi/iscsid.conf.fragment".source} ${extraCfgDumper} @@ -72,7 +79,9 @@ in systemd.services."iscsi" = mkIf cfg.enableAutoLoginOut { wantedBy = [ "remote-fs.target" ]; - serviceConfig.ExecStartPre = mkIf (cfg.discoverPortal != null) "${cfg.package}/bin/iscsiadm --mode discoverydb --type sendtargets --portal ${escapeShellArg cfg.discoverPortal} --discover"; + serviceConfig.ExecStartPre = + mkIf (cfg.discoverPortal != null) + "${cfg.package}/bin/iscsiadm --mode discoverydb --type sendtargets --portal ${escapeShellArg cfg.discoverPortal} --discover"; }; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/services/networking/iscsi/root-initiator.nix b/nixos/modules/services/networking/iscsi/root-initiator.nix index 3d80d1c575524..86396ae1e24fa 100644 --- a/nixos/modules/services/networking/iscsi/root-initiator.nix +++ b/nixos/modules/services/networking/iscsi/root-initiator.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, ... }: with lib; +{ + config, + lib, + pkgs, + ... +}: +with lib; let cfg = config.boot.iscsi-initiator; in @@ -113,7 +119,9 @@ in extraUtilsCommands = '' copy_bin_and_libs ${pkgs.openiscsi}/bin/iscsid copy_bin_and_libs ${pkgs.openiscsi}/bin/iscsiadm - ${optionalString (!config.boot.initrd.network.ssh.enable) "cp -pv ${pkgs.glibc.out}/lib/libnss_files.so.* $out/lib"} + ${optionalString ( + !config.boot.initrd.network.ssh.enable + ) "cp -pv ${pkgs.glibc.out}/lib/libnss_files.so.* $out/lib"} mkdir -p $out/etc/iscsi cp ${config.environment.etc.hosts.source} $out/etc/hosts @@ -128,51 +136,58 @@ in $out/bin/iscsiadm --version ''; - preLVMCommands = let - extraCfgDumper = optionalString (cfg.extraConfigFile != null) '' - if [ -f "${cfg.extraConfigFile}" ]; then - printf "\n# The following is from ${cfg.extraConfigFile}:\n" - cat "${cfg.extraConfigFile}" - else - echo "Warning: boot.iscsi-initiator.extraConfigFile ${cfg.extraConfigFile} does not exist!" >&2 - fi + preLVMCommands = + let + extraCfgDumper = optionalString (cfg.extraConfigFile != null) '' + if [ -f "${cfg.extraConfigFile}" ]; then + printf "\n# The following is from ${cfg.extraConfigFile}:\n" + cat "${cfg.extraConfigFile}" + else + echo "Warning: boot.iscsi-initiator.extraConfigFile ${cfg.extraConfigFile} does not exist!" >&2 + fi + ''; + in + '' + ${optionalString (!config.boot.initrd.network.ssh.enable) '' + # stolen from initrd-ssh.nix + echo 'root:x:0:0:root:/root:/bin/ash' > /etc/passwd + echo 'passwd: files' > /etc/nsswitch.conf + ''} + + cp -f $extraUtils/etc/hosts /etc/hosts + + mkdir -p /etc/iscsi /run/lock/iscsi + echo "InitiatorName=${cfg.name}" > /etc/iscsi/initiatorname.iscsi + + ( + cat "$extraUtils/etc/iscsi/iscsid.fragment.conf" + printf "\n" + ${optionalString cfg.loginAll ''echo "node.startup = automatic"''} + ${extraCfgDumper} + ) > /etc/iscsi/iscsid.conf + + iscsid --foreground --no-pid-file --debug ${toString cfg.logLevel} & + iscsiadm --mode discoverydb \ + --type sendtargets \ + --discover \ + --portal ${escapeShellArg cfg.discoverPortal} \ + --debug ${toString cfg.logLevel} + + ${ + if cfg.loginAll then + '' + iscsiadm --mode node --loginall all + '' + else + '' + iscsiadm --mode node --targetname ${escapeShellArg cfg.target} --login + '' + } + + ${cfg.extraIscsiCommands} + + pkill -9 iscsid ''; - in '' - ${optionalString (!config.boot.initrd.network.ssh.enable) '' - # stolen from initrd-ssh.nix - echo 'root:x:0:0:root:/root:/bin/ash' > /etc/passwd - echo 'passwd: files' > /etc/nsswitch.conf - ''} - - cp -f $extraUtils/etc/hosts /etc/hosts - - mkdir -p /etc/iscsi /run/lock/iscsi - echo "InitiatorName=${cfg.name}" > /etc/iscsi/initiatorname.iscsi - - ( - cat "$extraUtils/etc/iscsi/iscsid.fragment.conf" - printf "\n" - ${optionalString cfg.loginAll ''echo "node.startup = automatic"''} - ${extraCfgDumper} - ) > /etc/iscsi/iscsid.conf - - iscsid --foreground --no-pid-file --debug ${toString cfg.logLevel} & - iscsiadm --mode discoverydb \ - --type sendtargets \ - --discover \ - --portal ${escapeShellArg cfg.discoverPortal} \ - --debug ${toString cfg.logLevel} - - ${if cfg.loginAll then '' - iscsiadm --mode node --loginall all - '' else '' - iscsiadm --mode node --targetname ${escapeShellArg cfg.target} --login - ''} - - ${cfg.extraIscsiCommands} - - pkill -9 iscsid - ''; }; services.openiscsi = { diff --git a/nixos/modules/services/networking/iscsi/target.nix b/nixos/modules/services/networking/iscsi/target.nix index 8a10e7d346ae3..bfc2293768954 100644 --- a/nixos/modules/services/networking/iscsi/target.nix +++ b/nixos/modules/services/networking/iscsi/target.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,7 +18,7 @@ in config = mkOption { type = attrs; - default = {}; + default = { }; description = '' Content of /etc/target/saveconfig.json This file is normally read and written by targetcli @@ -31,11 +36,18 @@ in environment.systemPackages = with pkgs; [ targetcli ]; - boot.kernelModules = [ "configfs" "target_core_mod" "iscsi_target_mod" ]; + boot.kernelModules = [ + "configfs" + "target_core_mod" + "iscsi_target_mod" + ]; systemd.services.iscsi-target = { enable = true; - after = [ "network.target" "local-fs.target" ]; + after = [ + "network.target" + "local-fs.target" + ]; requires = [ "sys-kernel-config.mount" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/networking/ivpn.nix b/nixos/modules/services/networking/ivpn.nix index 6482bbadaeb2a..7bf96d38afbe4 100644 --- a/nixos/modules/services/networking/ivpn.nix +++ b/nixos/modules/services/networking/ivpn.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.ivpn; in @@ -17,7 +22,10 @@ in config = lib.mkIf cfg.enable { boot.kernelModules = [ "tun" ]; - environment.systemPackages = with pkgs; [ ivpn ivpn-service ]; + environment.systemPackages = with pkgs; [ + ivpn + ivpn-service + ]; # iVPN writes to /etc/iproute2/rt_tables networking.iproute2.enable = true; @@ -26,7 +34,10 @@ in systemd.services.ivpn-service = { description = "iVPN daemon"; wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" "network-online.target" ]; + wants = [ + "network.target" + "network-online.target" + ]; after = [ "network-online.target" "NetworkManager.service" diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix index 5ee0db32d65d8..2209841678b31 100644 --- a/nixos/modules/services/networking/iwd.nix +++ b/nixos/modules/services/networking/iwd.nix @@ -1,16 +1,28 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) - mkEnableOption mkPackageOption mkIf mkOption types - recursiveUpdate; + mkEnableOption + mkPackageOption + mkIf + mkOption + types + recursiveUpdate + ; cfg = config.networking.wireless.iwd; ini = pkgs.formats.ini { }; defaults = { # without UseDefaultInterface, sometimes wlan0 simply goes AWOL with NetworkManager # https://iwd.wiki.kernel.org/interface_lifecycle#interface_management_in_iwd - General.UseDefaultInterface = with config.networking.networkmanager; (enable && (wifi.backend == "iwd")); + General.UseDefaultInterface = + with config.networking.networkmanager; + (enable && (wifi.backend == "iwd")); }; configFile = ini.generate "main.conf" (recursiveUpdate defaults cfg.settings); @@ -42,12 +54,14 @@ in }; config = mkIf cfg.enable { - assertions = [{ - assertion = !config.networking.wireless.enable; - message = '' - Only one wireless daemon is allowed at the time: networking.wireless.enable and networking.wireless.iwd.enable are mutually exclusive. - ''; - }]; + assertions = [ + { + assertion = !config.networking.wireless.enable; + message = '' + Only one wireless daemon is allowed at the time: networking.wireless.enable and networking.wireless.iwd.enable are mutually exclusive. + ''; + } + ]; environment.etc."iwd/${configFile.name}".source = configFile; diff --git a/nixos/modules/services/networking/jibri/default.nix b/nixos/modules/services/networking/jibri/default.nix index b8cddafb74f97..94018ef99f4b1 100644 --- a/nixos/modules/services/networking/jibri/default.nix +++ b/nixos/modules/services/networking/jibri/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,7 +14,9 @@ let # We're passing passwords in environment variables that have names generated # from an attribute name, which may not be a valid bash identifier. - toVarName = s: "XMPP_PASSWORD_" + stringAsChars (c: if builtins.match "[A-Za-z0-9]" c != null then c else "_") s; + toVarName = + s: + "XMPP_PASSWORD_" + stringAsChars (c: if builtins.match "[A-Za-z0-9]" c != null then c else "_") s; defaultJibriConfig = { id = ""; @@ -19,33 +26,35 @@ let http.external-api-port = 2222; http.internal-api-port = 3333; - xmpp.environments = flip mapAttrsToList cfg.xmppEnvironments (name: env: { - inherit name; + xmpp.environments = flip mapAttrsToList cfg.xmppEnvironments ( + name: env: { + inherit name; - xmpp-server-hosts = env.xmppServerHosts; - xmpp-domain = env.xmppDomain; - control-muc = { - domain = env.control.muc.domain; - room-name = env.control.muc.roomName; - nickname = env.control.muc.nickname; - }; + xmpp-server-hosts = env.xmppServerHosts; + xmpp-domain = env.xmppDomain; + control-muc = { + domain = env.control.muc.domain; + room-name = env.control.muc.roomName; + nickname = env.control.muc.nickname; + }; - control-login = { - domain = env.control.login.domain; - username = env.control.login.username; - password = format.lib.mkSubstitution (toVarName "${name}_control"); - }; + control-login = { + domain = env.control.login.domain; + username = env.control.login.username; + password = format.lib.mkSubstitution (toVarName "${name}_control"); + }; - call-login = { - domain = env.call.login.domain; - username = env.call.login.username; - password = format.lib.mkSubstitution (toVarName "${name}_call"); - }; + call-login = { + domain = env.call.login.domain; + username = env.call.login.username; + password = format.lib.mkSubstitution (toVarName "${name}_call"); + }; - strip-from-room-domain = env.stripFromRoomDomain; - usage-timeout = env.usageTimeout; - trust-all-xmpp-certs = env.disableCertificateVerification; - }); + strip-from-room-domain = env.stripFromRoomDomain; + usage-timeout = env.usageTimeout; + trust-all-xmpp-certs = env.disableCertificateVerification; + } + ); }; recording = { @@ -62,10 +71,7 @@ let "--enabled" "--disable-infobars" "--autoplay-policy=no-user-gesture-required" - ] - ++ lists.optional cfg.ignoreCert - "--ignore-certificate-errors"; - + ] ++ lists.optional cfg.ignoreCert "--ignore-certificate-errors"; stats.enable-stats-d = true; webhook.subscribers = [ ]; @@ -179,122 +185,130 @@ in }; ''; default = { }; - type = attrsOf (submodule ({ name, ... }: { - options = { - xmppServerHosts = mkOption { - type = listOf str; - example = [ "xmpp.example.org" ]; - description = '' - Hostnames of the XMPP servers to connect to. - ''; - }; - xmppDomain = mkOption { - type = str; - example = "xmpp.example.org"; - description = '' - The base XMPP domain. - ''; - }; - control.muc.domain = mkOption { - type = str; - description = '' - The domain part of the MUC to connect to for control. - ''; - }; - control.muc.roomName = mkOption { - type = str; - default = "JibriBrewery"; - description = '' - The room name of the MUC to connect to for control. - ''; - }; - control.muc.nickname = mkOption { - type = str; - default = "jibri"; - description = '' - The nickname for this Jibri instance in the MUC. - ''; - }; - control.login.domain = mkOption { - type = str; - description = '' - The domain part of the JID for this Jibri instance. - ''; - }; - control.login.username = mkOption { - type = str; - default = "jvb"; - description = '' - User part of the JID. - ''; - }; - control.login.passwordFile = mkOption { - type = str; - example = "/run/keys/jibri-xmpp1"; - description = '' - File containing the password for the user. - ''; - }; - - call.login.domain = mkOption { - type = str; - example = "recorder.xmpp.example.org"; - description = '' - The domain part of the JID for the recorder. - ''; - }; - call.login.username = mkOption { - type = str; - default = "recorder"; - description = '' - User part of the JID for the recorder. - ''; - }; - call.login.passwordFile = mkOption { - type = str; - example = "/run/keys/jibri-recorder-xmpp1"; - description = '' - File containing the password for the user. - ''; - }; - disableCertificateVerification = mkOption { - type = bool; - default = false; - description = '' - Whether to skip validation of the server's certificate. - ''; - }; - - stripFromRoomDomain = mkOption { - type = str; - default = "0"; - example = "conference."; - description = '' - The prefix to strip from the room's JID domain to derive the call URL. - ''; - }; - usageTimeout = mkOption { - type = str; - default = "0"; - example = "1 hour"; - description = '' - The duration that the Jibri session can be. - A value of zero means indefinitely. - ''; - }; - }; - - config = - let - nick = mkDefault (builtins.replaceStrings [ "." ] [ "-" ] ( - config.networking.hostName + optionalString (config.networking.domain != null) ".${config.networking.domain}" - )); - in + type = attrsOf ( + submodule ( + { name, ... }: { - call.login.username = nick; - control.muc.nickname = nick; - }; - })); + options = { + xmppServerHosts = mkOption { + type = listOf str; + example = [ "xmpp.example.org" ]; + description = '' + Hostnames of the XMPP servers to connect to. + ''; + }; + xmppDomain = mkOption { + type = str; + example = "xmpp.example.org"; + description = '' + The base XMPP domain. + ''; + }; + control.muc.domain = mkOption { + type = str; + description = '' + The domain part of the MUC to connect to for control. + ''; + }; + control.muc.roomName = mkOption { + type = str; + default = "JibriBrewery"; + description = '' + The room name of the MUC to connect to for control. + ''; + }; + control.muc.nickname = mkOption { + type = str; + default = "jibri"; + description = '' + The nickname for this Jibri instance in the MUC. + ''; + }; + control.login.domain = mkOption { + type = str; + description = '' + The domain part of the JID for this Jibri instance. + ''; + }; + control.login.username = mkOption { + type = str; + default = "jvb"; + description = '' + User part of the JID. + ''; + }; + control.login.passwordFile = mkOption { + type = str; + example = "/run/keys/jibri-xmpp1"; + description = '' + File containing the password for the user. + ''; + }; + + call.login.domain = mkOption { + type = str; + example = "recorder.xmpp.example.org"; + description = '' + The domain part of the JID for the recorder. + ''; + }; + call.login.username = mkOption { + type = str; + default = "recorder"; + description = '' + User part of the JID for the recorder. + ''; + }; + call.login.passwordFile = mkOption { + type = str; + example = "/run/keys/jibri-recorder-xmpp1"; + description = '' + File containing the password for the user. + ''; + }; + disableCertificateVerification = mkOption { + type = bool; + default = false; + description = '' + Whether to skip validation of the server's certificate. + ''; + }; + + stripFromRoomDomain = mkOption { + type = str; + default = "0"; + example = "conference."; + description = '' + The prefix to strip from the room's JID domain to derive the call URL. + ''; + }; + usageTimeout = mkOption { + type = str; + default = "0"; + example = "1 hour"; + description = '' + The duration that the Jibri session can be. + A value of zero means indefinitely. + ''; + }; + }; + + config = + let + nick = mkDefault ( + builtins.replaceStrings [ "." ] [ "-" ] ( + config.networking.hostName + + optionalString (config.networking.domain != null) ".${config.networking.domain}" + ) + ); + in + { + call.login.username = nick; + control.muc.nickname = nick; + }; + } + ) + ); }; }; @@ -305,14 +319,23 @@ in isSystemUser = true; group = "jibri"; home = "/var/lib/jibri"; - extraGroups = [ "jitsi-meet" "adm" "audio" "video" "plugdev" ]; + extraGroups = [ + "jitsi-meet" + "adm" + "audio" + "video" + "plugdev" + ]; }; systemd.services.jibri-xorg = { description = "Jitsi Xorg Process"; after = [ "network.target" ]; - wantedBy = [ "jibri.service" "jibri-icewm.service" ]; + wantedBy = [ + "jibri.service" + "jibri-icewm.service" + ]; preStart = '' cp --no-preserve=mode,ownership ${pkgs.jibri}/etc/jitsi/jibri/* /var/lib/jibri @@ -360,21 +383,29 @@ in systemd.services.jibri = { description = "Jibri Process"; - requires = [ "jibri-icewm.service" "jibri-xorg.service" ]; + requires = [ + "jibri-icewm.service" + "jibri-xorg.service" + ]; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ chromedriver chromium ffmpeg-full ]; - - script = (concatStrings (mapAttrsToList - (name: env: '' - export ${toVarName "${name}_control"}=$(cat ${env.control.login.passwordFile}) - export ${toVarName "${name}_call"}=$(cat ${env.call.login.passwordFile}) - '') - cfg.xmppEnvironments)) - + '' - ${pkgs.jdk11_headless}/bin/java -Djava.util.logging.config.file=${./logging.properties-journal} -Dconfig.file=${configFile} -jar ${pkgs.jibri}/opt/jitsi/jibri/jibri.jar --config /var/lib/jibri/jibri.json - ''; + path = with pkgs; [ + chromedriver + chromium + ffmpeg-full + ]; + + script = + (concatStrings ( + mapAttrsToList (name: env: '' + export ${toVarName "${name}_control"}=$(cat ${env.control.login.passwordFile}) + export ${toVarName "${name}_call"}=$(cat ${env.call.login.passwordFile}) + '') cfg.xmppEnvironments + )) + + '' + ${pkgs.jdk11_headless}/bin/java -Djava.util.logging.config.file=${./logging.properties-journal} -Dconfig.file=${configFile} -jar ${pkgs.jibri}/opt/jitsi/jibri/jibri.jar --config /var/lib/jibri/jibri.json + ''; environment.HOME = "/var/lib/jibri"; @@ -397,8 +428,12 @@ in }; # Configure Chromium to not show the "Chrome is being controlled by automatic test software" message. - environment.etc."chromium/policies/managed/managed_policies.json".text = builtins.toJSON { CommandLineFlagSecurityWarningsEnabled = false; }; - warnings = [ "All security warnings for Chromium have been disabled. This is necessary for Jibri, but it also impacts all other uses of Chromium on this system." ]; + environment.etc."chromium/policies/managed/managed_policies.json".text = builtins.toJSON { + CommandLineFlagSecurityWarningsEnabled = false; + }; + warnings = [ + "All security warnings for Chromium have been disabled. This is necessary for Jibri, but it also impacts all other uses of Chromium on this system." + ]; boot = { extraModprobeConfig = '' diff --git a/nixos/modules/services/networking/jicofo.nix b/nixos/modules/services/networking/jicofo.nix index 91906e417361d..9d0fbfd74081e 100644 --- a/nixos/modules/services/networking/jicofo.nix +++ b/nixos/modules/services/networking/jicofo.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jicofo; @@ -99,55 +104,62 @@ in }; }; - users.groups.jitsi-meet = {}; - - systemd.services.jicofo = let - jicofoProps = { - "-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION" = "/etc/jitsi"; - "-Dnet.java.sip.communicator.SC_HOME_DIR_NAME" = "jicofo"; - "-Djava.util.logging.config.file" = "/etc/jitsi/jicofo/logging.properties"; - "-Dconfig.file" = configFile; - }; - in - { - description = "JItsi COnference FOcus"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - restartTriggers = [ - configFile - ]; - environment.JAVA_SYS_PROPS = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "${k}=${toString v}") jicofoProps); - - script = '' - export JICOFO_AUTH_PASS="$(<${cfg.userPasswordFile})" - exec "${pkgs.jicofo}/bin/jicofo" - ''; + users.groups.jitsi-meet = { }; - serviceConfig = { - Type = "exec"; - - DynamicUser = true; - User = "jicofo"; - Group = "jitsi-meet"; - - CapabilityBoundingSet = ""; - NoNewPrivileges = true; - ProtectSystem = "strict"; - ProtectHome = true; - PrivateTmp = true; - PrivateDevices = true; - ProtectHostname = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; - RestrictNamespaces = true; - LockPersonality = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; + systemd.services.jicofo = + let + jicofoProps = { + "-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION" = "/etc/jitsi"; + "-Dnet.java.sip.communicator.SC_HOME_DIR_NAME" = "jicofo"; + "-Djava.util.logging.config.file" = "/etc/jitsi/jicofo/logging.properties"; + "-Dconfig.file" = configFile; + }; + in + { + description = "JItsi COnference FOcus"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + restartTriggers = [ + configFile + ]; + environment.JAVA_SYS_PROPS = lib.concatStringsSep " " ( + lib.mapAttrsToList (k: v: "${k}=${toString v}") jicofoProps + ); + + script = '' + export JICOFO_AUTH_PASS="$(<${cfg.userPasswordFile})" + exec "${pkgs.jicofo}/bin/jicofo" + ''; + + serviceConfig = { + Type = "exec"; + + DynamicUser = true; + User = "jicofo"; + Group = "jitsi-meet"; + + CapabilityBoundingSet = ""; + NoNewPrivileges = true; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectHostname = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + LockPersonality = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + }; }; - }; environment.etc."jitsi/jicofo/sip-communicator.properties".text = ""; environment.etc."jitsi/jicofo/logging.properties".source = diff --git a/nixos/modules/services/networking/jigasi.nix b/nixos/modules/services/networking/jigasi.nix index d69d905788f40..54b2f36685f6a 100644 --- a/nixos/modules/services/networking/jigasi.nix +++ b/nixos/modules/services/networking/jigasi.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jigasi; homeDirName = "jigasi-home"; @@ -113,119 +118,127 @@ in "org.jitsi.jigasi.BRIDGE_MUC" = cfg.bridgeMuc; }; - users.groups.jitsi-meet = {}; - - systemd.services.jigasi = let - jigasiProps = { - "-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION" = "${stateDir}"; - "-Dnet.java.sip.communicator.SC_HOME_DIR_NAME" = "${homeDirName}"; - "-Djava.util.logging.config.file" = "${pkgs.jigasi}/etc/jitsi/jigasi/logging.properties"; - }; - in - { - description = "Jitsi Gateway to SIP"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - preStart = '' - [ -f "${sipCommunicatorPropertiesFile}" ] && rm -f "${sipCommunicatorPropertiesFile}" - mkdir -p "$(dirname ${sipCommunicatorPropertiesFile})" - temp="${sipCommunicatorPropertiesFile}.unsubstituted" - - export DOMAIN_BASE="${cfg.xmppDomain}" - export JIGASI_XMPP_PASSWORD=$(cat "${cfg.userPasswordFile}") - export JIGASI_DEFAULT_JVB_ROOM_NAME="${cfg.defaultJvbRoomName}" - - # encode the credentials to base64 - export JIGASI_SIPPWD=$(echo -n "$JIGASI_SIPPWD" | base64 -w 0) - export JIGASI_XMPP_PASSWORD_BASE64=$(cat "${cfg.userPasswordFile}" | base64 -w 0) - - cp "${sipCommunicatorPropertiesFileUnsubstituted}" "$temp" - chmod 644 "$temp" - cat <>"$temp" - net.java.sip.communicator.impl.protocol.sip.acc1403273890647.SERVER_PORT=$JIGASI_SIPPORT - net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREFERRED_TRANSPORT=udp - EOF - chmod 444 "$temp" - - # Replace <<$VAR_NAME>> from example config to $VAR_NAME for environment substitution - sed -i -E \ - 's/<<([^>]+)>>/\$\1/g' \ - "$temp" - - sed -i \ - 's|\(net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc-xmpp-1\.PASSWORD=\).*|\1\$JIGASI_XMPP_PASSWORD_BASE64|g' \ - "$temp" - - sed -i \ - 's|\(#\)\(org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=\).*|\2\$JIGASI_DEFAULT_JVB_ROOM_NAME|g' \ - "$temp" - - ${pkgs.envsubst}/bin/envsubst \ - -o "${sipCommunicatorPropertiesFile}" \ - -i "$temp" - - # Set the brewery room name - sed -i \ - 's|\(net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc-xmpp-1\.BREWERY=\).*|\1${cfg.bridgeMuc}|g' \ - "${sipCommunicatorPropertiesFile}" - sed -i \ - 's|\(org\.jitsi\.jigasi\.ALLOWED_JID=\).*|\1${cfg.bridgeMuc}|g' \ - "${sipCommunicatorPropertiesFile}" - - - # Disable certificate verification for self-signed certificates - sed -i \ - 's|\(# \)\(net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true\)|\2|g' \ - "${sipCommunicatorPropertiesFile}" - ''; - - restartTriggers = [ - config.environment.etc."jitsi/jigasi/sip-communicator.properties".source - ]; - environment.JAVA_SYS_PROPS = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "${k}=${toString v}") jigasiProps); - - script = '' - ${pkgs.jigasi}/bin/jigasi \ - --host="${cfg.xmppHost}" \ - --domain="${if cfg.xmppDomain == null then cfg.xmppHost else cfg.xmppDomain}" \ - --secret="$(cat ${cfg.componentPasswordFile})" \ - --user_name="${cfg.userName}" \ - --user_domain="${cfg.userDomain}" \ - --user_password="$(cat ${cfg.userPasswordFile})" \ - --configdir="${stateDir}" \ - --configdirname="${homeDirName}" - ''; - - serviceConfig = { - Type = "exec"; - - DynamicUser = true; - User = "jigasi"; - Group = "jitsi-meet"; - - CapabilityBoundingSet = ""; - NoNewPrivileges = true; - ProtectSystem = "strict"; - ProtectHome = true; - PrivateTmp = true; - PrivateDevices = true; - ProtectHostname = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; - RestrictNamespaces = true; - LockPersonality = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - StateDirectory = baseNameOf stateDir; - EnvironmentFile = cfg.environmentFile; + users.groups.jitsi-meet = { }; + + systemd.services.jigasi = + let + jigasiProps = { + "-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION" = "${stateDir}"; + "-Dnet.java.sip.communicator.SC_HOME_DIR_NAME" = "${homeDirName}"; + "-Djava.util.logging.config.file" = "${pkgs.jigasi}/etc/jitsi/jigasi/logging.properties"; + }; + in + { + description = "Jitsi Gateway to SIP"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + preStart = '' + [ -f "${sipCommunicatorPropertiesFile}" ] && rm -f "${sipCommunicatorPropertiesFile}" + mkdir -p "$(dirname ${sipCommunicatorPropertiesFile})" + temp="${sipCommunicatorPropertiesFile}.unsubstituted" + + export DOMAIN_BASE="${cfg.xmppDomain}" + export JIGASI_XMPP_PASSWORD=$(cat "${cfg.userPasswordFile}") + export JIGASI_DEFAULT_JVB_ROOM_NAME="${cfg.defaultJvbRoomName}" + + # encode the credentials to base64 + export JIGASI_SIPPWD=$(echo -n "$JIGASI_SIPPWD" | base64 -w 0) + export JIGASI_XMPP_PASSWORD_BASE64=$(cat "${cfg.userPasswordFile}" | base64 -w 0) + + cp "${sipCommunicatorPropertiesFileUnsubstituted}" "$temp" + chmod 644 "$temp" + cat <>"$temp" + net.java.sip.communicator.impl.protocol.sip.acc1403273890647.SERVER_PORT=$JIGASI_SIPPORT + net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREFERRED_TRANSPORT=udp + EOF + chmod 444 "$temp" + + # Replace <<$VAR_NAME>> from example config to $VAR_NAME for environment substitution + sed -i -E \ + 's/<<([^>]+)>>/\$\1/g' \ + "$temp" + + sed -i \ + 's|\(net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc-xmpp-1\.PASSWORD=\).*|\1\$JIGASI_XMPP_PASSWORD_BASE64|g' \ + "$temp" + + sed -i \ + 's|\(#\)\(org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=\).*|\2\$JIGASI_DEFAULT_JVB_ROOM_NAME|g' \ + "$temp" + + ${pkgs.envsubst}/bin/envsubst \ + -o "${sipCommunicatorPropertiesFile}" \ + -i "$temp" + + # Set the brewery room name + sed -i \ + 's|\(net\.java\.sip\.communicator\.impl\.protocol\.jabber\.acc-xmpp-1\.BREWERY=\).*|\1${cfg.bridgeMuc}|g' \ + "${sipCommunicatorPropertiesFile}" + sed -i \ + 's|\(org\.jitsi\.jigasi\.ALLOWED_JID=\).*|\1${cfg.bridgeMuc}|g' \ + "${sipCommunicatorPropertiesFile}" + + + # Disable certificate verification for self-signed certificates + sed -i \ + 's|\(# \)\(net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true\)|\2|g' \ + "${sipCommunicatorPropertiesFile}" + ''; + + restartTriggers = [ + config.environment.etc."jitsi/jigasi/sip-communicator.properties".source + ]; + environment.JAVA_SYS_PROPS = lib.concatStringsSep " " ( + lib.mapAttrsToList (k: v: "${k}=${toString v}") jigasiProps + ); + + script = '' + ${pkgs.jigasi}/bin/jigasi \ + --host="${cfg.xmppHost}" \ + --domain="${if cfg.xmppDomain == null then cfg.xmppHost else cfg.xmppDomain}" \ + --secret="$(cat ${cfg.componentPasswordFile})" \ + --user_name="${cfg.userName}" \ + --user_domain="${cfg.userDomain}" \ + --user_password="$(cat ${cfg.userPasswordFile})" \ + --configdir="${stateDir}" \ + --configdirname="${homeDirName}" + ''; + + serviceConfig = { + Type = "exec"; + + DynamicUser = true; + User = "jigasi"; + Group = "jitsi-meet"; + + CapabilityBoundingSet = ""; + NoNewPrivileges = true; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectHostname = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + LockPersonality = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + StateDirectory = baseNameOf stateDir; + EnvironmentFile = cfg.environmentFile; + }; }; - }; - environment.etc."jitsi/jigasi/sip-communicator.properties".source = - lib.mkDefault "${sipCommunicatorPropertiesFile}"; + environment.etc."jitsi/jigasi/sip-communicator.properties".source = lib.mkDefault "${ + sipCommunicatorPropertiesFile + }"; environment.etc."jitsi/jigasi/logging.properties".source = lib.mkDefault "${stateDir}/logging.properties-journal"; }; diff --git a/nixos/modules/services/networking/jitsi-videobridge.nix b/nixos/modules/services/networking/jitsi-videobridge.nix index 14eb64eae2535..3303aeb7f78cd 100644 --- a/nixos/modules/services/networking/jitsi-videobridge.nix +++ b/nixos/modules/services/networking/jitsi-videobridge.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.jitsi-videobridge; attrsToArgs = a: lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "${k}=${toString v}") a); @@ -7,7 +12,10 @@ let # We're passing passwords in environment variables that have names generated # from an attribute name, which may not be a valid bash identifier. - toVarName = s: "XMPP_PASSWORD_" + lib.stringAsChars (c: if builtins.match "[A-Za-z0-9]" c != null then c else "_") s; + toVarName = + s: + "XMPP_PASSWORD_" + + lib.stringAsChars (c: if builtins.match "[A-Za-z0-9]" c != null then c else "_") s; defaultJvbConfig = { videobridge = { @@ -22,15 +30,17 @@ let enabled = true; transports = [ { type = "muc"; } ]; }; - apis.xmpp-client.configs = lib.flip lib.mapAttrs cfg.xmppConfigs (name: xmppConfig: { - hostname = xmppConfig.hostName; - domain = xmppConfig.domain; - username = xmppConfig.userName; - password = format.lib.mkSubstitution (toVarName name); - muc_jids = xmppConfig.mucJids; - muc_nickname = xmppConfig.mucNickname; - disable_certificate_verification = xmppConfig.disableCertificateVerification; - }); + apis.xmpp-client.configs = lib.flip lib.mapAttrs cfg.xmppConfigs ( + name: xmppConfig: { + hostname = xmppConfig.hostName; + domain = xmppConfig.domain; + username = xmppConfig.userName; + password = format.lib.mkSubstitution (toVarName name); + muc_jids = xmppConfig.mucJids; + muc_nickname = xmppConfig.mucNickname; + disable_certificate_verification = xmppConfig.disableCertificateVerification; + } + ); apis.rest.enabled = cfg.colibriRestApi; }; }; @@ -87,67 +97,72 @@ in }; } ''; - type = attrsOf (submodule ({ name, ... }: { - options = { - hostName = lib.mkOption { - type = str; - example = "xmpp.example.org"; - description = '' - Hostname of the XMPP server to connect to. Name of the attribute set is used by default. - ''; - }; - domain = lib.mkOption { - type = nullOr str; - default = null; - example = "auth.xmpp.example.org"; - description = '' - Domain part of JID of the XMPP user, if it is different from hostName. - ''; - }; - userName = lib.mkOption { - type = str; - default = "jvb"; - description = '' - User part of the JID. - ''; - }; - passwordFile = lib.mkOption { - type = str; - example = "/run/keys/jitsi-videobridge-xmpp1"; - description = '' - File containing the password for the user. - ''; - }; - mucJids = lib.mkOption { - type = str; - example = "jvbbrewery@internal.xmpp.example.org"; - description = '' - JID of the MUC to join. JiCoFo needs to be configured to join the same MUC. - ''; - }; - mucNickname = lib.mkOption { - # Upstream DEBs use UUID, let's use hostname instead. - type = str; - description = '' - Videobridges use the same XMPP account and need to be distinguished by the - nickname (aka resource part of the JID). By default, system hostname is used. - ''; - }; - disableCertificateVerification = lib.mkOption { - type = bool; - default = false; - description = '' - Whether to skip validation of the server's certificate. - ''; - }; - }; - config = { - hostName = lib.mkDefault name; - mucNickname = lib.mkDefault (builtins.replaceStrings [ "." ] [ "-" ] ( - config.networking.fqdnOrHostName - )); - }; - })); + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + hostName = lib.mkOption { + type = str; + example = "xmpp.example.org"; + description = '' + Hostname of the XMPP server to connect to. Name of the attribute set is used by default. + ''; + }; + domain = lib.mkOption { + type = nullOr str; + default = null; + example = "auth.xmpp.example.org"; + description = '' + Domain part of JID of the XMPP user, if it is different from hostName. + ''; + }; + userName = lib.mkOption { + type = str; + default = "jvb"; + description = '' + User part of the JID. + ''; + }; + passwordFile = lib.mkOption { + type = str; + example = "/run/keys/jitsi-videobridge-xmpp1"; + description = '' + File containing the password for the user. + ''; + }; + mucJids = lib.mkOption { + type = str; + example = "jvbbrewery@internal.xmpp.example.org"; + description = '' + JID of the MUC to join. JiCoFo needs to be configured to join the same MUC. + ''; + }; + mucNickname = lib.mkOption { + # Upstream DEBs use UUID, let's use hostname instead. + type = str; + description = '' + Videobridges use the same XMPP account and need to be distinguished by the + nickname (aka resource part of the JID). By default, system hostname is used. + ''; + }; + disableCertificateVerification = lib.mkOption { + type = bool; + default = false; + description = '' + Whether to skip validation of the server's certificate. + ''; + }; + }; + config = { + hostName = lib.mkDefault name; + mucNickname = lib.mkDefault ( + builtins.replaceStrings [ "." ] [ "-" ] (config.networking.fqdnOrHostName) + ); + }; + } + ) + ); }; nat = { @@ -176,7 +191,7 @@ in "stun.framasoft.org:3478" "meet-jit-si-turnrelay.jitsi.net:443" ]; - example = []; + example = [ ]; description = '' Addresses of public STUN services to use to automatically find the public and local addresses of this Jitsi-Videobridge instance @@ -215,69 +230,81 @@ in }; config = lib.mkIf cfg.enable { - users.groups.jitsi-meet = {}; + users.groups.jitsi-meet = { }; services.jitsi-videobridge.extraProperties = - if (cfg.nat.localAddress != null) then { - "org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS" = cfg.nat.localAddress; - "org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS" = cfg.nat.publicAddress; - } else { - "org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES" = lib.concatStringsSep "," cfg.nat.harvesterAddresses; - }; + if (cfg.nat.localAddress != null) then + { + "org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS" = cfg.nat.localAddress; + "org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS" = cfg.nat.publicAddress; + } + else + { + "org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES" = + lib.concatStringsSep "," cfg.nat.harvesterAddresses; + }; - systemd.services.jitsi-videobridge2 = let - jvbProps = { - "-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION" = "/etc/jitsi"; - "-Dnet.java.sip.communicator.SC_HOME_DIR_NAME" = "videobridge"; - "-Djava.util.logging.config.file" = "/etc/jitsi/videobridge/logging.properties"; - "-Dconfig.file" = format.generate "jvb.conf" jvbConfig; - # Mitigate CVE-2021-44228 - "-Dlog4j2.formatMsgNoLookups" = true; - } // (lib.mapAttrs' (k: v: lib.nameValuePair "-D${k}" v) cfg.extraProperties); - in - { - aliases = [ "jitsi-videobridge.service" ]; - description = "Jitsi Videobridge"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + systemd.services.jitsi-videobridge2 = + let + jvbProps = { + "-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION" = "/etc/jitsi"; + "-Dnet.java.sip.communicator.SC_HOME_DIR_NAME" = "videobridge"; + "-Djava.util.logging.config.file" = "/etc/jitsi/videobridge/logging.properties"; + "-Dconfig.file" = format.generate "jvb.conf" jvbConfig; + # Mitigate CVE-2021-44228 + "-Dlog4j2.formatMsgNoLookups" = true; + } // (lib.mapAttrs' (k: v: lib.nameValuePair "-D${k}" v) cfg.extraProperties); + in + { + aliases = [ "jitsi-videobridge.service" ]; + description = "Jitsi Videobridge"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; - environment.JAVA_SYS_PROPS = attrsToArgs jvbProps; + environment.JAVA_SYS_PROPS = attrsToArgs jvbProps; - script = (lib.concatStrings (lib.mapAttrsToList (name: xmppConfig: - "export ${toVarName name}=$(cat ${xmppConfig.passwordFile})\n" - ) cfg.xmppConfigs)) - + '' - ${pkgs.jitsi-videobridge}/bin/jitsi-videobridge - ''; + script = + (lib.concatStrings ( + lib.mapAttrsToList ( + name: xmppConfig: "export ${toVarName name}=$(cat ${xmppConfig.passwordFile})\n" + ) cfg.xmppConfigs + )) + + '' + ${pkgs.jitsi-videobridge}/bin/jitsi-videobridge + ''; - serviceConfig = { - Type = "exec"; + serviceConfig = { + Type = "exec"; - DynamicUser = true; - User = "jitsi-videobridge"; - Group = "jitsi-meet"; + DynamicUser = true; + User = "jitsi-videobridge"; + Group = "jitsi-meet"; - CapabilityBoundingSet = ""; - NoNewPrivileges = true; - ProtectSystem = "strict"; - ProtectHome = true; - PrivateTmp = true; - PrivateDevices = true; - ProtectHostname = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; - RestrictNamespaces = true; - LockPersonality = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; + CapabilityBoundingSet = ""; + NoNewPrivileges = true; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + ProtectHostname = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + LockPersonality = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; - TasksMax = 65000; - LimitNPROC = 65000; - LimitNOFILE = 65000; + TasksMax = 65000; + LimitNPROC = 65000; + LimitNOFILE = 65000; + }; }; - }; environment.etc."jitsi/videobridge/logging.properties".source = lib.mkDefault "${pkgs.jitsi-videobridge}/etc/jitsi/videobridge/logging.properties-journal"; @@ -287,15 +314,19 @@ in boot.kernel.sysctl."net.core.rmem_max" = lib.mkDefault 10485760; boot.kernel.sysctl."net.core.netdev_max_backlog" = lib.mkDefault 100000; - networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall - [ jvbConfig.videobridge.ice.tcp.port ]; - networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall - [ jvbConfig.videobridge.ice.udp.port ]; + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ + jvbConfig.videobridge.ice.tcp.port + ]; + networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall [ + jvbConfig.videobridge.ice.udp.port + ]; - assertions = [{ - message = "publicAddress must be set if and only if localAddress is set"; - assertion = (cfg.nat.publicAddress == null) == (cfg.nat.localAddress == null); - }]; + assertions = [ + { + message = "publicAddress must be set if and only if localAddress is set"; + assertion = (cfg.nat.publicAddress == null) == (cfg.nat.localAddress == null); + } + ]; }; meta.maintainers = lib.teams.jitsi.members; diff --git a/nixos/modules/services/networking/jool.nix b/nixos/modules/services/networking/jool.nix index 8db947db6a458..e782bd587fc5c 100644 --- a/nixos/modules/services/networking/jool.nix +++ b/nixos/modules/services/networking/jool.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.networking.jool; @@ -20,24 +25,31 @@ let ]; # Give capabilities to load the module and configure it - AmbientCapabilities = [ "CAP_SYS_MODULE" "CAP_NET_ADMIN" ]; + AmbientCapabilities = [ + "CAP_SYS_MODULE" + "CAP_NET_ADMIN" + ]; RestrictAddressFamilies = [ "AF_NETLINK" ]; # Other restrictions RestrictNamespaces = [ "net" ]; - SystemCallFilter = [ "@system-service" "@module" ]; - CapabilityBoundingSet = [ "CAP_SYS_MODULE" "CAP_NET_ADMIN" ]; + SystemCallFilter = [ + "@system-service" + "@module" + ]; + CapabilityBoundingSet = [ + "CAP_SYS_MODULE" + "CAP_NET_ADMIN" + ]; }; - configFormat = pkgs.formats.json {}; + configFormat = pkgs.formats.json { }; # Generate the config file of instance `name` - nat64Conf = name: - configFormat.generate "jool-nat64-${name}.conf" - (cfg.nat64.${name} // { instance = name; }); - siitConf = name: - configFormat.generate "jool-siit-${name}.conf" - (cfg.siit.${name} // { instance = name; }); + nat64Conf = + name: configFormat.generate "jool-nat64-${name}.conf" (cfg.nat64.${name} // { instance = name; }); + siitConf = + name: configFormat.generate "jool-siit-${name}.conf" (cfg.siit.${name} // { instance = name; }); # NAT64 config type nat64Options = lib.types.submodule { @@ -45,7 +57,10 @@ let freeformType = configFormat.type; # Some options with a default value options.framework = lib.mkOption { - type = lib.types.enum [ "netfilter" "iptables" ]; + type = lib.types.enum [ + "netfilter" + "iptables" + ]; default = "netfilter"; description = '' The framework to use for attaching Jool's translation to the exist @@ -55,8 +70,9 @@ let ''; }; options.global.pool6 = lib.mkOption { - type = lib.types.strMatching "[[:xdigit:]:]+/[[:digit:]]+" - // { description = "Network prefix in CIDR notation"; }; + type = lib.types.strMatching "[[:xdigit:]:]+/[[:digit:]]+" // { + description = "Network prefix in CIDR notation"; + }; default = "64:ff9b::/96"; description = '' The prefix used for embedding IPv4 into IPv6 addresses. @@ -71,7 +87,7 @@ let # The format is, again, plain JSON freeformType = configFormat.type; # Some options with a default value - options = { inherit (nat64Options.getSubOptions []) framework; }; + options = { inherit (nat64Options.getSubOptions [ ]) framework; }; }; makeNat64Unit = name: opts: { @@ -84,8 +100,8 @@ let Type = "oneshot"; RemainAfterExit = true; ExecStartPre = "${pkgs.kmod}/bin/modprobe jool"; - ExecStart = "${jool-cli}/bin/jool file handle ${nat64Conf name}"; - ExecStop = "${jool-cli}/bin/jool -f ${nat64Conf name} instance remove"; + ExecStart = "${jool-cli}/bin/jool file handle ${nat64Conf name}"; + ExecStop = "${jool-cli}/bin/jool -f ${nat64Conf name} instance remove"; } // hardening; }; }; @@ -100,8 +116,8 @@ let Type = "oneshot"; RemainAfterExit = true; ExecStartPre = "${pkgs.kmod}/bin/modprobe jool_siit"; - ExecStart = "${jool-cli}/bin/jool_siit file handle ${siitConf name}"; - ExecStop = "${jool-cli}/bin/jool_siit -f ${siitConf name} instance remove"; + ExecStart = "${jool-cli}/bin/jool_siit file handle ${siitConf name}"; + ExecStop = "${jool-cli}/bin/jool_siit -f ${siitConf name} instance remove"; } // hardening; }; }; @@ -125,7 +141,10 @@ in networking.jool.enable = lib.mkOption { type = lib.types.bool; default = false; - relatedPackages = [ "linuxPackages.jool" "jool-cli" ]; + relatedPackages = [ + "linuxPackages.jool" + "jool-cli" + ]; description = '' Whether to enable Jool, an Open Source implementation of IPv4/IPv6 translation on Linux. @@ -260,20 +279,21 @@ in environment.systemPackages = [ jool-cli ]; # Install services for each instance - systemd.services = lib.mkMerge - (lib.mapAttrsToList makeNat64Unit cfg.nat64 ++ - lib.mapAttrsToList makeSiitUnit cfg.siit); + systemd.services = lib.mkMerge ( + lib.mapAttrsToList makeNat64Unit cfg.nat64 ++ lib.mapAttrsToList makeSiitUnit cfg.siit + ); # Check the configuration of each instance - system.checks = lib.optional (cfg.nat64 != {} || cfg.siit != {}) - (pkgs.runCommand "jool-validated" + system.checks = lib.optional (cfg.nat64 != { } || cfg.siit != { }) ( + pkgs.runCommand "jool-validated" { nativeBuildInputs = with pkgs.buildPackages; [ jool-cli ]; preferLocalBuild = true; } - (lib.concatStrings - (lib.mapAttrsToList checkNat64 cfg.nat64 ++ - lib.mapAttrsToList checkSiit cfg.siit))); + ( + lib.concatStrings (lib.mapAttrsToList checkNat64 cfg.nat64 ++ lib.mapAttrsToList checkSiit cfg.siit) + ) + ); }; meta.maintainers = with lib.maintainers; [ rnhmjoj ]; diff --git a/nixos/modules/services/networking/jotta-cli.nix b/nixos/modules/services/networking/jotta-cli.nix index 566e7fc503a6d..0f2a561909a4e 100644 --- a/nixos/modules/services/networking/jotta-cli.nix +++ b/nixos/modules/services/networking/jotta-cli.nix @@ -1,13 +1,24 @@ -{ config, lib, pkgs, ... }: -let cfg = config.services.jotta-cli; -in { +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.jotta-cli; +in +{ options = { services.jotta-cli = { enable = lib.mkEnableOption "Jottacloud Command-line Tool"; options = lib.mkOption { - default = [ "stdoutlog" "datadir" "%h/.jottad/" ]; + default = [ + "stdoutlog" + "datadir" + "%h/.jottad/" + ]; example = [ ]; type = with lib.types; listOf str; description = "Command-line options passed to jottad."; diff --git a/nixos/modules/services/networking/kea.nix b/nixos/modules/services/networking/kea.nix index 33e578cadc97c..39b2380cadd34 100644 --- a/nixos/modules/services/networking/kea.nix +++ b/nixos/modules/services/networking/kea.nix @@ -1,30 +1,39 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.services.kea; - format = pkgs.formats.json {}; + format = pkgs.formats.json { }; chooseNotNull = x: y: if x != null then x else y; - ctrlAgentConfig = chooseNotNull cfg.ctrl-agent.configFile (format.generate "kea-ctrl-agent.conf" { - Control-agent = cfg.ctrl-agent.settings; - }); - - dhcp4Config = chooseNotNull cfg.dhcp4.configFile (format.generate "kea-dhcp4.conf" { - Dhcp4 = cfg.dhcp4.settings; - }); - - dhcp6Config = chooseNotNull cfg.dhcp6.configFile (format.generate "kea-dhcp6.conf" { - Dhcp6 = cfg.dhcp6.settings; - }); - - dhcpDdnsConfig = chooseNotNull cfg.dhcp-ddns.configFile (format.generate "kea-dhcp-ddns.conf" { - DhcpDdns = cfg.dhcp-ddns.settings; - }); + ctrlAgentConfig = chooseNotNull cfg.ctrl-agent.configFile ( + format.generate "kea-ctrl-agent.conf" { + Control-agent = cfg.ctrl-agent.settings; + } + ); + + dhcp4Config = chooseNotNull cfg.dhcp4.configFile ( + format.generate "kea-dhcp4.conf" { + Dhcp4 = cfg.dhcp4.settings; + } + ); + + dhcp6Config = chooseNotNull cfg.dhcp6.configFile ( + format.generate "kea-dhcp6.conf" { + Dhcp6 = cfg.dhcp6.settings; + } + ); + + dhcpDdnsConfig = chooseNotNull cfg.dhcp-ddns.configFile ( + format.generate "kea-dhcp-ddns.conf" { + DhcpDdns = cfg.dhcp-ddns.settings; + } + ); package = pkgs.kea; in @@ -34,14 +43,14 @@ in description = '' Kea Control Agent configuration ''; - default = {}; + default = { }; type = submodule { options = { enable = lib.mkEnableOption "Kea Control Agent"; extraArgs = lib.mkOption { type = listOf str; - default = []; + default = [ ]; description = '' List of additional arguments to pass to the daemon. ''; @@ -73,14 +82,14 @@ in description = '' DHCP4 Server configuration ''; - default = {}; + default = { }; type = submodule { options = { enable = lib.mkEnableOption "Kea DHCP4 server"; extraArgs = lib.mkOption { type = listOf str; - default = []; + default = [ ]; description = '' List of additional arguments to pass to the daemon. ''; @@ -114,13 +123,17 @@ in persist = true; name = "/var/lib/kea/dhcp4.leases"; }; - subnet4 = [ { - id = 1; - subnet = "192.0.2.0/24"; - pools = [ { - pool = "192.0.2.100 - 192.0.2.240"; - } ]; - } ]; + subnet4 = [ + { + id = 1; + subnet = "192.0.2.0/24"; + pools = [ + { + pool = "192.0.2.100 - 192.0.2.240"; + } + ]; + } + ]; }; description = '' Kea DHCP4 configuration as an attribute set, see . @@ -134,14 +147,14 @@ in description = '' DHCP6 Server configuration ''; - default = {}; + default = { }; type = submodule { options = { enable = lib.mkEnableOption "Kea DHCP6 server"; extraArgs = lib.mkOption { type = listOf str; - default = []; + default = [ ]; description = '' List of additional arguments to pass to the daemon. ''; @@ -176,13 +189,17 @@ in persist = true; name = "/var/lib/kea/dhcp6.leases"; }; - subnet6 = [ { - id = 1; - subnet = "2001:db8:1::/64"; - pools = [ { - pool = "2001:db8:1::1-2001:db8:1::ffff"; - } ]; - } ]; + subnet6 = [ + { + id = 1; + subnet = "2001:db8:1::/64"; + pools = [ + { + pool = "2001:db8:1::1-2001:db8:1::ffff"; + } + ]; + } + ]; }; description = '' Kea DHCP6 configuration as an attribute set, see . @@ -196,14 +213,14 @@ in description = '' Kea DHCP-DDNS configuration ''; - default = {}; + default = { }; type = submodule { options = { enable = lib.mkEnableOption "Kea DDNS server"; extraArgs = lib.mkOption { type = listOf str; - default = []; + default = [ ]; description = '' List of additional arguments to pass to the daemon. ''; @@ -246,211 +263,223 @@ in }; }; - config = let - commonServiceConfig = { - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - DynamicUser = true; - User = "kea"; - ConfigurationDirectory = "kea"; - RuntimeDirectory = "kea"; - RuntimeDirectoryPreserve = true; - StateDirectory = "kea"; - UMask = "0077"; - }; - in lib.mkIf (cfg.ctrl-agent.enable || cfg.dhcp4.enable || cfg.dhcp6.enable || cfg.dhcp-ddns.enable) (lib.mkMerge [ - { - environment.systemPackages = [ package ]; - } - - (lib.mkIf cfg.ctrl-agent.enable { - assertions = [{ - assertion = lib.xor (cfg.ctrl-agent.settings == null) (cfg.ctrl-agent.configFile == null); - message = "Either services.kea.ctrl-agent.settings or services.kea.ctrl-agent.configFile must be set to a non-null value."; - }]; - - environment.etc."kea/ctrl-agent.conf".source = ctrlAgentConfig; - - systemd.services.kea-ctrl-agent = { - description = "Kea Control Agent"; - documentation = [ - "man:kea-ctrl-agent(8)" - "https://kea.readthedocs.io/en/kea-${package.version}/arm/agent.html" - ]; - - wants = [ - "network-online.target" - ]; - after = [ - "network-online.target" - "time-sync.target" - ]; - wantedBy = [ - "kea-dhcp4-server.service" - "kea-dhcp6-server.service" - "kea-dhcp-ddns-server.service" - ]; - - environment = { - KEA_PIDFILE_DIR = "/run/kea"; - KEA_LOCKFILE_DIR = "/run/kea"; + config = + let + commonServiceConfig = { + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + DynamicUser = true; + User = "kea"; + ConfigurationDirectory = "kea"; + RuntimeDirectory = "kea"; + RuntimeDirectoryPreserve = true; + StateDirectory = "kea"; + UMask = "0077"; }; + in + lib.mkIf (cfg.ctrl-agent.enable || cfg.dhcp4.enable || cfg.dhcp6.enable || cfg.dhcp-ddns.enable) ( + lib.mkMerge [ + { + environment.systemPackages = [ package ]; + } + + (lib.mkIf cfg.ctrl-agent.enable { + assertions = [ + { + assertion = lib.xor (cfg.ctrl-agent.settings == null) (cfg.ctrl-agent.configFile == null); + message = "Either services.kea.ctrl-agent.settings or services.kea.ctrl-agent.configFile must be set to a non-null value."; + } + ]; + + environment.etc."kea/ctrl-agent.conf".source = ctrlAgentConfig; + + systemd.services.kea-ctrl-agent = { + description = "Kea Control Agent"; + documentation = [ + "man:kea-ctrl-agent(8)" + "https://kea.readthedocs.io/en/kea-${package.version}/arm/agent.html" + ]; + + wants = [ + "network-online.target" + ]; + after = [ + "network-online.target" + "time-sync.target" + ]; + wantedBy = [ + "kea-dhcp4-server.service" + "kea-dhcp6-server.service" + "kea-dhcp-ddns-server.service" + ]; + + environment = { + KEA_PIDFILE_DIR = "/run/kea"; + KEA_LOCKFILE_DIR = "/run/kea"; + }; - restartTriggers = [ - ctrlAgentConfig - ]; + restartTriggers = [ + ctrlAgentConfig + ]; - serviceConfig = { - ExecStart = "${package}/bin/kea-ctrl-agent -c /etc/kea/ctrl-agent.conf ${lib.escapeShellArgs cfg.ctrl-agent.extraArgs}"; - KillMode = "process"; - Restart = "on-failure"; - } // commonServiceConfig; - }; - }) - - (lib.mkIf cfg.dhcp4.enable { - assertions = [{ - assertion = lib.xor (cfg.dhcp4.settings == null) (cfg.dhcp4.configFile == null); - message = "Either services.kea.dhcp4.settings or services.kea.dhcp4.configFile must be set to a non-null value."; - }]; - - environment.etc."kea/dhcp4-server.conf".source = dhcp4Config; - - systemd.services.kea-dhcp4-server = { - description = "Kea DHCP4 Server"; - documentation = [ - "man:kea-dhcp4(8)" - "https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp4-srv.html" - ]; - - after = [ - "network-online.target" - "time-sync.target" - ]; - wants = [ - "network-online.target" - ]; - wantedBy = [ - "multi-user.target" - ]; - - environment = { - KEA_PIDFILE_DIR = "/run/kea"; - KEA_LOCKFILE_DIR = "/run/kea"; - }; + serviceConfig = { + ExecStart = "${package}/bin/kea-ctrl-agent -c /etc/kea/ctrl-agent.conf ${lib.escapeShellArgs cfg.ctrl-agent.extraArgs}"; + KillMode = "process"; + Restart = "on-failure"; + } // commonServiceConfig; + }; + }) + + (lib.mkIf cfg.dhcp4.enable { + assertions = [ + { + assertion = lib.xor (cfg.dhcp4.settings == null) (cfg.dhcp4.configFile == null); + message = "Either services.kea.dhcp4.settings or services.kea.dhcp4.configFile must be set to a non-null value."; + } + ]; + + environment.etc."kea/dhcp4-server.conf".source = dhcp4Config; + + systemd.services.kea-dhcp4-server = { + description = "Kea DHCP4 Server"; + documentation = [ + "man:kea-dhcp4(8)" + "https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp4-srv.html" + ]; + + after = [ + "network-online.target" + "time-sync.target" + ]; + wants = [ + "network-online.target" + ]; + wantedBy = [ + "multi-user.target" + ]; + + environment = { + KEA_PIDFILE_DIR = "/run/kea"; + KEA_LOCKFILE_DIR = "/run/kea"; + }; - restartTriggers = [ - dhcp4Config - ]; - - serviceConfig = { - ExecStart = "${package}/bin/kea-dhcp4 -c /etc/kea/dhcp4-server.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}"; - # Kea does not request capabilities by itself - AmbientCapabilities = [ - "CAP_NET_BIND_SERVICE" - "CAP_NET_RAW" - ]; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - "CAP_NET_RAW" - ]; - } // commonServiceConfig; - }; - }) - - (lib.mkIf cfg.dhcp6.enable { - assertions = [{ - assertion = lib.xor (cfg.dhcp6.settings == null) (cfg.dhcp6.configFile == null); - message = "Either services.kea.dhcp6.settings or services.kea.dhcp6.configFile must be set to a non-null value."; - }]; - - environment.etc."kea/dhcp6-server.conf".source = dhcp6Config; - - systemd.services.kea-dhcp6-server = { - description = "Kea DHCP6 Server"; - documentation = [ - "man:kea-dhcp6(8)" - "https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp6-srv.html" - ]; - - after = [ - "network-online.target" - "time-sync.target" - ]; - wants = [ - "network-online.target" - ]; - wantedBy = [ - "multi-user.target" - ]; - - environment = { - KEA_PIDFILE_DIR = "/run/kea"; - KEA_LOCKFILE_DIR = "/run/kea"; - }; + restartTriggers = [ + dhcp4Config + ]; + + serviceConfig = { + ExecStart = "${package}/bin/kea-dhcp4 -c /etc/kea/dhcp4-server.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}"; + # Kea does not request capabilities by itself + AmbientCapabilities = [ + "CAP_NET_BIND_SERVICE" + "CAP_NET_RAW" + ]; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + "CAP_NET_RAW" + ]; + } // commonServiceConfig; + }; + }) + + (lib.mkIf cfg.dhcp6.enable { + assertions = [ + { + assertion = lib.xor (cfg.dhcp6.settings == null) (cfg.dhcp6.configFile == null); + message = "Either services.kea.dhcp6.settings or services.kea.dhcp6.configFile must be set to a non-null value."; + } + ]; + + environment.etc."kea/dhcp6-server.conf".source = dhcp6Config; + + systemd.services.kea-dhcp6-server = { + description = "Kea DHCP6 Server"; + documentation = [ + "man:kea-dhcp6(8)" + "https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp6-srv.html" + ]; + + after = [ + "network-online.target" + "time-sync.target" + ]; + wants = [ + "network-online.target" + ]; + wantedBy = [ + "multi-user.target" + ]; + + environment = { + KEA_PIDFILE_DIR = "/run/kea"; + KEA_LOCKFILE_DIR = "/run/kea"; + }; - restartTriggers = [ - dhcp6Config - ]; - - serviceConfig = { - ExecStart = "${package}/bin/kea-dhcp6 -c /etc/kea/dhcp6-server.conf ${lib.escapeShellArgs cfg.dhcp6.extraArgs}"; - # Kea does not request capabilities by itself - AmbientCapabilities = [ - "CAP_NET_BIND_SERVICE" - ]; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - ]; - } // commonServiceConfig; - }; - }) - - (lib.mkIf cfg.dhcp-ddns.enable { - assertions = [{ - assertion = lib.xor (cfg.dhcp-ddns.settings == null) (cfg.dhcp-ddns.configFile == null); - message = "Either services.kea.dhcp-ddns.settings or services.kea.dhcp-ddns.configFile must be set to a non-null value."; - }]; - - environment.etc."kea/dhcp-ddns.conf".source = dhcpDdnsConfig; - - systemd.services.kea-dhcp-ddns-server = { - description = "Kea DHCP-DDNS Server"; - documentation = [ - "man:kea-dhcp-ddns(8)" - "https://kea.readthedocs.io/en/kea-${package.version}/arm/ddns.html" - ]; - - wants = [ "network-online.target" ]; - after = [ - "network-online.target" - "time-sync.target" - ]; - wantedBy = [ - "multi-user.target" - ]; - - environment = { - KEA_PIDFILE_DIR = "/run/kea"; - KEA_LOCKFILE_DIR = "/run/kea"; - }; + restartTriggers = [ + dhcp6Config + ]; + + serviceConfig = { + ExecStart = "${package}/bin/kea-dhcp6 -c /etc/kea/dhcp6-server.conf ${lib.escapeShellArgs cfg.dhcp6.extraArgs}"; + # Kea does not request capabilities by itself + AmbientCapabilities = [ + "CAP_NET_BIND_SERVICE" + ]; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + ]; + } // commonServiceConfig; + }; + }) + + (lib.mkIf cfg.dhcp-ddns.enable { + assertions = [ + { + assertion = lib.xor (cfg.dhcp-ddns.settings == null) (cfg.dhcp-ddns.configFile == null); + message = "Either services.kea.dhcp-ddns.settings or services.kea.dhcp-ddns.configFile must be set to a non-null value."; + } + ]; + + environment.etc."kea/dhcp-ddns.conf".source = dhcpDdnsConfig; + + systemd.services.kea-dhcp-ddns-server = { + description = "Kea DHCP-DDNS Server"; + documentation = [ + "man:kea-dhcp-ddns(8)" + "https://kea.readthedocs.io/en/kea-${package.version}/arm/ddns.html" + ]; + + wants = [ "network-online.target" ]; + after = [ + "network-online.target" + "time-sync.target" + ]; + wantedBy = [ + "multi-user.target" + ]; + + environment = { + KEA_PIDFILE_DIR = "/run/kea"; + KEA_LOCKFILE_DIR = "/run/kea"; + }; - restartTriggers = [ - dhcpDdnsConfig - ]; - - serviceConfig = { - ExecStart = "${package}/bin/kea-dhcp-ddns -c /etc/kea/dhcp-ddns.conf ${lib.escapeShellArgs cfg.dhcp-ddns.extraArgs}"; - AmbientCapabilities = [ - "CAP_NET_BIND_SERVICE" - ]; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - ]; - } // commonServiceConfig; - }; - }) + restartTriggers = [ + dhcpDdnsConfig + ]; + + serviceConfig = { + ExecStart = "${package}/bin/kea-dhcp-ddns -c /etc/kea/dhcp-ddns.conf ${lib.escapeShellArgs cfg.dhcp-ddns.extraArgs}"; + AmbientCapabilities = [ + "CAP_NET_BIND_SERVICE" + ]; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + ]; + } // commonServiceConfig; + }; + }) - ]); + ] + ); meta.maintainers = with lib.maintainers; [ hexa ]; # uses attributes of the linked package diff --git a/nixos/modules/services/networking/keepalived/virtual-ip-options.nix b/nixos/modules/services/networking/keepalived/virtual-ip-options.nix index 1b8889b1b4724..36863d93736dd 100644 --- a/nixos/modules/services/networking/keepalived/virtual-ip-options.nix +++ b/nixos/modules/services/networking/keepalived/virtual-ip-options.nix @@ -1,4 +1,4 @@ -{ lib } : +{ lib }: with lib; { diff --git a/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix index da681e74ff3c1..8f1799efcb552 100644 --- a/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix +++ b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix @@ -1,4 +1,4 @@ -{ lib } : +{ lib }: with lib; { @@ -12,7 +12,10 @@ with lib; }; state = mkOption { - type = types.enum [ "MASTER" "BACKUP" ]; + type = types.enum [ + "MASTER" + "BACKUP" + ]; default = "BACKUP"; description = '' Initial state. As soon as the other machine(s) come up, an election will @@ -62,8 +65,8 @@ with lib; type = types.nullOr types.str; default = null; description = '' - Name of the vmac interface to use. keepalived will come up with a name - if you don't specify one. + Name of the vmac interface to use. keepalived will come up with a name + if you don't specify one. ''; }; @@ -79,15 +82,15 @@ with lib; type = types.nullOr types.str; default = null; description = '' - Default IP for binding vrrpd is the primary IP on interface. If you - want to hide location of vrrpd, use this IP as src_addr for unicast - vrrp packets. + Default IP for binding vrrpd is the primary IP on interface. If you + want to hide location of vrrpd, use this IP as src_addr for unicast + vrrp packets. ''; }; unicastPeers = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' Do not send VRRP adverts over VRRP multicast group. Instead it sends adverts to the following list of ip addresses using unicast design @@ -98,25 +101,35 @@ with lib; }; virtualIps = mkOption { - type = types.listOf (types.submodule (import ./virtual-ip-options.nix { - inherit lib; - })); - default = []; + type = types.listOf ( + types.submodule ( + import ./virtual-ip-options.nix { + inherit lib; + } + ) + ); + default = [ ]; # TODO: example description = "Declarative vhost config"; }; trackScripts = mkOption { type = types.listOf types.str; - default = []; - example = [ "chk_cmd1" "chk_cmd2" ]; + default = [ ]; + example = [ + "chk_cmd1" + "chk_cmd2" + ]; description = "List of script names to invoke for health tracking."; }; trackInterfaces = mkOption { type = types.listOf types.str; - default = []; - example = [ "eth0" "eth1" ]; + default = [ ]; + example = [ + "eth0" + "eth1" + ]; description = "List of network interfaces to monitor for health tracking."; }; diff --git a/nixos/modules/services/networking/keepalived/vrrp-script-options.nix b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix index df7a89cff8cdd..22e01b6509b2e 100644 --- a/nixos/modules/services/networking/keepalived/vrrp-script-options.nix +++ b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix @@ -1,4 +1,4 @@ -{ lib } : +{ lib }: with lib; with lib.types; diff --git a/nixos/modules/services/networking/keybase.nix b/nixos/modules/services/networking/keybase.nix index 9bb7ad3844a06..86868ef7c219f 100644 --- a/nixos/modules/services/networking/keybase.nix +++ b/nixos/modules/services/networking/keybase.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.keybase; -in { +in +{ ###### interface diff --git a/nixos/modules/services/networking/knot.nix b/nixos/modules/services/networking/knot.nix index a992fd99694ef..12a72bfe02c79 100644 --- a/nixos/modules/services/networking/knot.nix +++ b/nixos/modules/services/networking/knot.nix @@ -1,5 +1,10 @@ -{ config, lib, pkgs, utils, ... }: - +{ + config, + lib, + pkgs, + utils, + ... +}: let inherit (lib) @@ -25,126 +30,177 @@ let mkPackageOption optionals types - ; + ; inherit (utils) escapeSystemdExecArgs - ; + ; cfg = config.services.knot; - yamlConfig = let - result = assert secsCheck; nix2yaml cfg.settings; - - secAllow = n: hasPrefix "mod-" n || elem n [ - "module" - "server" "xdp" "control" - "log" - "statistics" "database" - "keystore" "key" "remote" "remotes" "acl" "submission" "policy" - "template" - "zone" - "include" - ]; - secsCheck = let - secsBad = filter (n: !secAllow n) (attrNames cfg.settings); - in if secsBad == [] then true else throw - ("services.knot.settings contains unknown sections: " + toString secsBad); - - nix2yaml = nix_def: concatStrings ( - # We output the config section in the upstream-mandated order. - # Ordering is important due to forward-references not being allowed. - # See definition of conf_export and 'const yp_item_t conf_schema' - # upstream for reference. Last updated for 3.3. - # When changing the set of sections, also update secAllow above. - [ (sec_list_fa "id" nix_def "module") ] - ++ map (sec_plain nix_def) - [ "server" "xdp" "control" ] - ++ [ (sec_list_fa "target" nix_def "log") ] - ++ map (sec_plain nix_def) - [ "statistics" "database" ] - ++ map (sec_list_fa "id" nix_def) - [ "keystore" "key" "remote" "remotes" "acl" "submission" "policy" ] - - # Export module sections before the template section. - ++ map (sec_list_fa "id" nix_def) (filter (hasPrefix "mod-") (attrNames nix_def)) - - ++ [ (sec_list_fa "id" nix_def "template") ] - ++ [ (sec_list_fa "domain" nix_def "zone") ] - ++ [ (sec_plain nix_def "include") ] - ++ [ (sec_plain nix_def "clear") ] - ); - - # A plain section contains directly attributes (we don't really check that ATM). - sec_plain = nix_def: sec_name: if !hasAttr sec_name nix_def then "" else - n2y "" { ${sec_name} = nix_def.${sec_name}; }; - - # This section contains a list of attribute sets. In each of the sets - # there's an attribute (`fa_name`, typically "id") that must exist and come first. - # Alternatively we support using attribute sets instead of lists; example diff: - # -template = [ { id = "default"; /* other attributes */ } { id = "foo"; } ] - # +template = { default = { /* those attributes */ }; foo = { }; } - sec_list_fa = fa_name: nix_def: sec_name: if !hasAttr sec_name nix_def then "" else - let - elem2yaml = fa_val: other_attrs: - " - " + n2y "" { ${fa_name} = fa_val; } - + " " + n2y " " other_attrs - + "\n"; - sec = nix_def.${sec_name}; - in - sec_name + ":\n" + - (if isList sec - then flip concatMapStrings sec - (elem: elem2yaml elem.${fa_name} (removeAttrs elem [ fa_name ])) - else concatStrings (mapAttrsToList elem2yaml sec) + yamlConfig = + let + result = + assert secsCheck; + nix2yaml cfg.settings; + + secAllow = + n: + hasPrefix "mod-" n + || elem n [ + "module" + "server" + "xdp" + "control" + "log" + "statistics" + "database" + "keystore" + "key" + "remote" + "remotes" + "acl" + "submission" + "policy" + "template" + "zone" + "include" + ]; + secsCheck = + let + secsBad = filter (n: !secAllow n) (attrNames cfg.settings); + in + if secsBad == [ ] then + true + else + throw ("services.knot.settings contains unknown sections: " + toString secsBad); + + nix2yaml = + nix_def: + concatStrings ( + # We output the config section in the upstream-mandated order. + # Ordering is important due to forward-references not being allowed. + # See definition of conf_export and 'const yp_item_t conf_schema' + # upstream for reference. Last updated for 3.3. + # When changing the set of sections, also update secAllow above. + [ (sec_list_fa "id" nix_def "module") ] + ++ map (sec_plain nix_def) [ + "server" + "xdp" + "control" + ] + ++ [ (sec_list_fa "target" nix_def "log") ] + ++ map (sec_plain nix_def) [ + "statistics" + "database" + ] + ++ map (sec_list_fa "id" nix_def) [ + "keystore" + "key" + "remote" + "remotes" + "acl" + "submission" + "policy" + ] + + # Export module sections before the template section. + ++ map (sec_list_fa "id" nix_def) (filter (hasPrefix "mod-") (attrNames nix_def)) + + ++ [ (sec_list_fa "id" nix_def "template") ] + ++ [ (sec_list_fa "domain" nix_def "zone") ] + ++ [ (sec_plain nix_def "include") ] + ++ [ (sec_plain nix_def "clear") ] + ); + + # A plain section contains directly attributes (we don't really check that ATM). + sec_plain = + nix_def: sec_name: + if !hasAttr sec_name nix_def then "" else n2y "" { ${sec_name} = nix_def.${sec_name}; }; + + # This section contains a list of attribute sets. In each of the sets + # there's an attribute (`fa_name`, typically "id") that must exist and come first. + # Alternatively we support using attribute sets instead of lists; example diff: + # -template = [ { id = "default"; /* other attributes */ } { id = "foo"; } ] + # +template = { default = { /* those attributes */ }; foo = { }; } + sec_list_fa = + fa_name: nix_def: sec_name: + if !hasAttr sec_name nix_def then + "" + else + let + elem2yaml = + fa_val: other_attrs: + " - " + n2y "" { ${fa_name} = fa_val; } + " " + n2y " " other_attrs + "\n"; + sec = nix_def.${sec_name}; + in + sec_name + + ":\n" + + ( + if isList sec then + flip concatMapStrings sec (elem: elem2yaml elem.${fa_name} (removeAttrs elem [ fa_name ])) + else + concatStrings (mapAttrsToList elem2yaml sec) ); - # This convertor doesn't care about ordering of attributes. - # TODO: it could probably be simplified even more, now that it's not - # to be used directly, but we might want some other tweaks, too. - n2y = indent: val: - if doRecurse val then concatStringsSep "\n${indent}" - (mapAttrsToList - # This is a bit wacky - set directly under a set would start on bad indent, - # so we start those on a new line, but not other types of attribute values. - (aname: aval: "${aname}:${if doRecurse aval then "\n${indent} " else " "}" - + n2y (indent + " ") aval) - val - ) - + "\n" + # This convertor doesn't care about ordering of attributes. + # TODO: it could probably be simplified even more, now that it's not + # to be used directly, but we might want some other tweaks, too. + n2y = + indent: val: + if doRecurse val then + concatStringsSep "\n${indent}" ( + mapAttrsToList + # This is a bit wacky - set directly under a set would start on bad indent, + # so we start those on a new line, but not other types of attribute values. + ( + aname: aval: + "${aname}:${if doRecurse aval then "\n${indent} " else " "}" + n2y (indent + " ") aval + ) + val + ) + + "\n" else - /* - if isList val && stringLength indent < 4 then concatMapStrings - (elem: "\n${indent}- " + n2y (indent + " ") elem) - val + /* + if isList val && stringLength indent < 4 then concatMapStrings + (elem: "\n${indent}- " + n2y (indent + " ") elem) + val + else + */ + if + isList val # and long indent + then + "[ " + concatMapStringsSep ", " quoteString val + " ]" + else if isBool val then + (if val then "on" else "off") else - */ - if isList val /* and long indent */ then - "[ " + concatMapStringsSep ", " quoteString val + " ]" else - if isBool val then (if val then "on" else "off") else - quoteString val; - - # We don't want paths like ./my-zone.txt be converted to plain strings. - quoteString = s: ''"${if builtins.typeOf s == "path" then s else toString s}"''; - # We don't want to walk the insides of derivation attributes. - doRecurse = val: isAttrs val && !isDerivation val; - - in result; - - configFile = if cfg.settingsFile != null then - # Note: with extraConfig, the 23.05 compat code did include keyFiles from settingsFile. - assert cfg.settings == {} && (cfg.keyFiles == [] || cfg.extraConfig != null); - cfg.settingsFile - else - mkConfigFile yamlConfig; - - mkConfigFile = configString: pkgs.writeTextFile { - name = "knot.conf"; - text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + configString; - checkPhase = lib.optionalString cfg.checkConfig '' - ${cfg.package}/bin/knotc --config=$out conf-check - ''; - }; + quoteString val; + + # We don't want paths like ./my-zone.txt be converted to plain strings. + quoteString = s: ''"${if builtins.typeOf s == "path" then s else toString s}"''; + # We don't want to walk the insides of derivation attributes. + doRecurse = val: isAttrs val && !isDerivation val; + + in + result; + + configFile = + if cfg.settingsFile != null then + # Note: with extraConfig, the 23.05 compat code did include keyFiles from settingsFile. + assert cfg.settings == { } && (cfg.keyFiles == [ ] || cfg.extraConfig != null); + cfg.settingsFile + else + mkConfigFile yamlConfig; + + mkConfigFile = + configString: + pkgs.writeTextFile { + name = "knot.conf"; + text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + configString; + checkPhase = lib.optionalString cfg.checkConfig '' + ${cfg.package}/bin/knotc --config=$out conf-check + ''; + }; socketFile = "/run/knot/knot.sock"; @@ -170,7 +226,8 @@ let ln -s '${cfg.package}/share/man' "$out/share/" ''; }; -in { +in +{ options = { services.knot = { enable = mkEnableOption "Knot authoritative-only DNS server"; @@ -197,7 +254,7 @@ in { type = types.bool; # TODO: maybe we could do some checks even when private keys complicate this? # conf-check fails hard on missing IPs/devices with XDP - default = cfg.keyFiles == [] && !cfg.enableXDP; + default = cfg.keyFiles == [ ] && !cfg.enableXDP; defaultText = '' Disabled when the config uses `keyFiles` or `enableXDP`. ''; @@ -210,7 +267,7 @@ in { extraArgs = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' List of additional command line parameters for knotd ''; @@ -218,7 +275,7 @@ in { keyFiles = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = '' A list of files containing additional configuration to be included using the include directive. This option @@ -230,8 +287,8 @@ in { }; settings = mkOption { - type = (pkgs.formats.yaml {}).type; - default = {}; + type = (pkgs.formats.yaml { }).type; + default = { }; description = '' Extra configuration as nix values. ''; @@ -252,13 +309,13 @@ in { }; imports = [ # Compatibility with NixOS 23.05. - (mkChangedOptionModule [ "services" "knot" "extraConfig" ] [ "services" "knot" "settingsFile" ] - (config: mkConfigFile config.services.knot.extraConfig) - ) + (mkChangedOptionModule [ "services" "knot" "extraConfig" ] [ "services" "knot" "settingsFile" ] ( + config: mkConfigFile config.services.knot.extraConfig + )) ]; config = mkIf config.services.knot.enable { - users.groups.knot = {}; + users.groups.knot = { }; users.users.knot = { isSystemUser = true; group = "knot"; @@ -272,81 +329,93 @@ in { description = cfg.package.meta.description; wantedBy = [ "multi-user.target" ]; wants = [ "network.target" ]; - after = ["network.target" ]; - - serviceConfig = let - # https://www.knot-dns.cz/docs/3.3/singlehtml/index.html#pre-requisites - xdpCapabilities = lib.optionals (cfg.enableXDP) [ - "CAP_NET_ADMIN" - "CAP_NET_RAW" - "CAP_SYS_ADMIN" - "CAP_IPC_LOCK" - ] ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "5.11") [ - "CAP_SYS_RESOURCE" - ]; - in { - Type = "notify"; - ExecStart = escapeSystemdExecArgs ([ - (lib.getExe cfg.package) - "--config=${configFile}" - "--socket=${socketFile}" - ] ++ cfg.extraArgs); - ExecReload = escapeSystemdExecArgs [ - "${knot-cli-wrappers}/bin/knotc" "reload" - ]; - User = "knot"; - Group = "knot"; - - AmbientCapabilities = [ - "CAP_NET_BIND_SERVICE" - ] ++ xdpCapabilities; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - ] ++ xdpCapabilities; - DeviceAllow = ""; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = false; # breaks capability passing - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RemoveIPC = true; - Restart = "on-abort"; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" - ] ++ optionals (cfg.enableXDP) [ - "AF_NETLINK" - "AF_XDP" - ]; - RestrictNamespaces = true; - RestrictRealtime =true; - RestrictSUIDSGID = true; - RuntimeDirectory = "knot"; - StateDirectory = "knot"; - StateDirectoryMode = "0700"; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" - "@chown" - ] ++ optionals (cfg.enableXDP) [ - "bpf" - ]; - UMask = "0077"; - }; + after = [ "network.target" ]; + + serviceConfig = + let + # https://www.knot-dns.cz/docs/3.3/singlehtml/index.html#pre-requisites + xdpCapabilities = + lib.optionals (cfg.enableXDP) [ + "CAP_NET_ADMIN" + "CAP_NET_RAW" + "CAP_SYS_ADMIN" + "CAP_IPC_LOCK" + ] + ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "5.11") [ + "CAP_SYS_RESOURCE" + ]; + in + { + Type = "notify"; + ExecStart = escapeSystemdExecArgs ( + [ + (lib.getExe cfg.package) + "--config=${configFile}" + "--socket=${socketFile}" + ] + ++ cfg.extraArgs + ); + ExecReload = escapeSystemdExecArgs [ + "${knot-cli-wrappers}/bin/knotc" + "reload" + ]; + User = "knot"; + Group = "knot"; + + AmbientCapabilities = [ + "CAP_NET_BIND_SERVICE" + ] ++ xdpCapabilities; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + ] ++ xdpCapabilities; + DeviceAllow = ""; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = false; # breaks capability passing + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + Restart = "on-abort"; + RestrictAddressFamilies = + [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ] + ++ optionals (cfg.enableXDP) [ + "AF_NETLINK" + "AF_XDP" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RuntimeDirectory = "knot"; + StateDirectory = "knot"; + StateDirectoryMode = "0700"; + SystemCallArchitectures = "native"; + SystemCallFilter = + [ + "@system-service" + "~@privileged" + "@chown" + ] + ++ optionals (cfg.enableXDP) [ + "bpf" + ]; + UMask = "0077"; + }; }; environment.systemPackages = [ knot-cli-wrappers ]; diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix index 4c1d6c50d8305..c93b591701a73 100644 --- a/nixos/modules/services/networking/kresd.nix +++ b/nixos/modules/services/networking/kresd.nix @@ -1,24 +1,37 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.kresd; # Convert systemd-style address specification to kresd config line(s). # On Nix level we don't attempt to precisely validate the address specifications. # The optional IPv6 scope spec comes *after* port, perhaps surprisingly. - mkListen = kind: addr: let - al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr; - al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr; - al_portOnly = builtins.match "(^)([0-9]+)" addr; - al = lib.findFirst (a: a != null) - (throw "services.kresd.*: incorrect address specification '${addr}'") - [ al_v4 al_v6 al_portOnly ]; - port = lib.elemAt al 1; - addrSpec = if al_portOnly == null then "'${lib.head al}${lib.elemAt al 2}'" else "{'::', '0.0.0.0'}"; - in # freebind is set for compatibility with earlier kresd services; - # it could be configurable, for example. - '' - net.listen(${addrSpec}, ${port}, { kind = '${kind}', freebind = true }) - ''; + mkListen = + kind: addr: + let + al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr; + al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr; + al_portOnly = builtins.match "(^)([0-9]+)" addr; + al = + lib.findFirst (a: a != null) (throw "services.kresd.*: incorrect address specification '${addr}'") + [ + al_v4 + al_v6 + al_portOnly + ]; + port = lib.elemAt al 1; + addrSpec = + if al_portOnly == null then "'${lib.head al}${lib.elemAt al 2}'" else "{'::', '0.0.0.0'}"; + in + # freebind is set for compatibility with earlier kresd services; + # it could be configurable, for example. + '' + net.listen(${addrSpec}, ${port}, { kind = '${kind}', freebind = true }) + ''; configFile = pkgs.writeText "kresd.conf" ( "" @@ -27,15 +40,20 @@ let + lib.concatMapStrings (mkListen "doh2") cfg.listenDoH + cfg.extraConfig ); -in { - meta.maintainers = [ lib.maintainers.vcunat /* upstream developer */ ]; +in +{ + meta.maintainers = [ + lib.maintainers.vcunat # upstream developer + ]; imports = [ (lib.mkChangedOptionModule [ "services" "kresd" "interfaces" ] [ "services" "kresd" "listenPlain" ] - (config: - let value = lib.getAttrFromPath [ "services" "kresd" "interfaces" ] config; - in map - (iface: if lib.elem ":" (lib.stringToCharacters iface) then "[${iface}]:53" else "${iface}:53") # Syntax depends on being IPv6 or IPv4. + ( + config: + let + value = lib.getAttrFromPath [ "services" "kresd" "interfaces" ] config; + in + map (iface: if lib.elem ":" (lib.stringToCharacters iface) then "[${iface}]:53" else "${iface}:53") # Syntax depends on being IPv6 or IPv4. value ) ) @@ -67,7 +85,10 @@ in { }; listenPlain = lib.mkOption { type = with lib.types; listOf str; - default = [ "[::1]:53" "127.0.0.1:53" ]; + default = [ + "[::1]:53" + "127.0.0.1:53" + ]; example = [ "53" ]; description = '' What addresses and ports the server should listen on. @@ -76,8 +97,12 @@ in { }; listenTLS = lib.mkOption { type = with lib.types; listOf str; - default = []; - example = [ "198.51.100.1:853" "[2001:db8::1]:853" "853" ]; + default = [ ]; + example = [ + "198.51.100.1:853" + "[2001:db8::1]:853" + "853" + ]; description = '' Addresses and ports on which kresd should provide DNS over TLS (see RFC 7858). For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`. @@ -85,8 +110,12 @@ in { }; listenDoH = lib.mkOption { type = with lib.types; listOf str; - default = []; - example = [ "198.51.100.1:443" "[2001:db8::1]:443" "443" ]; + default = [ ]; + example = [ + "198.51.100.1:443" + "[2001:db8::1]:443" + "443" + ]; description = '' Addresses and ports on which kresd should provide DNS over HTTPS/2 (see RFC 8484). For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`. @@ -110,22 +139,25 @@ in { networking.resolvconf.useLocalResolver = lib.mkDefault true; - users.users.knot-resolver = - { isSystemUser = true; - group = "knot-resolver"; - description = "Knot-resolver daemon user"; - }; + users.users.knot-resolver = { + isSystemUser = true; + group = "knot-resolver"; + description = "Knot-resolver daemon user"; + }; users.groups.knot-resolver.gid = null; systemd.packages = [ cfg.package ]; # the units are patched inside the package a bit - systemd.targets.kresd = { # configure units started by default + systemd.targets.kresd = { + # configure units started by default wantedBy = [ "multi-user.target" ]; - wants = [ "kres-cache-gc.service" ] - ++ map (i: "kresd@${toString i}.service") (lib.range 1 cfg.instances); + wants = [ + "kres-cache-gc.service" + ] ++ map (i: "kresd@${toString i}.service") (lib.range 1 cfg.instances); }; systemd.services."kresd@".serviceConfig = { - ExecStart = "${cfg.package}/bin/kresd --noninteractive " + ExecStart = + "${cfg.package}/bin/kresd --noninteractive " + "-c ${cfg.package}/lib/knot-resolver/distro-preconfig.lua -c ${configFile}"; # Ensure /run/knot-resolver exists RuntimeDirectory = "knot-resolver"; diff --git a/nixos/modules/services/networking/lambdabot.nix b/nixos/modules/services/networking/lambdabot.nix index 8c8e5648450c4..c029fcc858064 100644 --- a/nixos/modules/services/networking/lambdabot.nix +++ b/nixos/modules/services/networking/lambdabot.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.lambdabot; diff --git a/nixos/modules/services/networking/legit.nix b/nixos/modules/services/networking/legit.nix index 412f8275800b7..2a4024a9fd286 100644 --- a/nixos/modules/services/networking/legit.nix +++ b/nixos/modules/services/networking/legit.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -9,7 +14,8 @@ let mkPackageOption optionalAttrs optional - types; + types + ; cfg = config.services.legit; @@ -59,7 +65,10 @@ in }; mainBranch = mkOption { type = types.listOf types.str; - default = [ "main" "master" ]; + default = [ + "main" + "master" + ]; description = "Main branch to look for."; }; ignore = mkOption { @@ -142,10 +151,11 @@ in Restart = "always"; WorkingDirectory = cfg.settings.repo.scanPath; - StateDirectory = [ ] ++ - optional (cfg.settings.repo.scanPath == defaultStateDir) "legit" ++ - optional (cfg.settings.dirs.static == defaultStaticDir) "legit/static" ++ - optional (cfg.settings.dirs.templates == defaultTemplatesDir) "legit/templates"; + StateDirectory = + [ ] + ++ optional (cfg.settings.repo.scanPath == defaultStateDir) "legit" + ++ optional (cfg.settings.dirs.static == defaultStaticDir) "legit/static" + ++ optional (cfg.settings.dirs.templates == defaultTemplatesDir) "legit/templates"; # Hardening CapabilityBoundingSet = [ "" ]; @@ -168,12 +178,18 @@ in ProtectSystem = "strict"; ReadWritePaths = cfg.settings.repo.scanPath; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; UMask = "0077"; }; }; diff --git a/nixos/modules/services/networking/libreswan.nix b/nixos/modules/services/networking/libreswan.nix index 04f565a2bf8f0..916b6f8293d06 100644 --- a/nixos/modules/services/networking/libreswan.nix +++ b/nixos/modules/services/networking/libreswan.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.libreswan; @@ -6,33 +11,49 @@ let libexec = "${pkgs.libreswan}/libexec/ipsec"; ipsec = "${pkgs.libreswan}/sbin/ipsec"; - trim = chars: str: - let - nonchars = lib.filter (x : !(lib.elem x.value chars)) - (lib.imap0 (i: v: {ind = i; value = v;}) (lib.stringToCharacters str)); - in - lib.optionalString (nonchars != [ ]) - (lib.substring (lib.head nonchars).ind (lib.add 1 (lib.sub (lib.last nonchars).ind (lib.head nonchars).ind)) str); - indent = str: lib.concatStrings (lib.concatMap (s: [" " (trim [" " "\t"] s) "\n"]) (lib.splitString "\n" str)); + trim = + chars: str: + let + nonchars = lib.filter (x: !(lib.elem x.value chars)) ( + lib.imap0 (i: v: { + ind = i; + value = v; + }) (lib.stringToCharacters str) + ); + in + lib.optionalString (nonchars != [ ]) ( + lib.substring (lib.head nonchars).ind (lib.add 1 ( + lib.sub (lib.last nonchars).ind (lib.head nonchars).ind + )) str + ); + indent = + str: + lib.concatStrings ( + lib.concatMap (s: [ + " " + (trim [ " " "\t" ] s) + "\n" + ]) (lib.splitString "\n" str) + ); configText = indent (toString cfg.configSetup); - connectionText = lib.concatStrings (lib.mapAttrsToList (n: v: - '' + connectionText = lib.concatStrings ( + lib.mapAttrsToList (n: v: '' conn ${n} ${indent v} - '') cfg.connections); + '') cfg.connections + ); - configFile = pkgs.writeText "ipsec-nixos.conf" - '' - config setup - ${configText} + configFile = pkgs.writeText "ipsec-nixos.conf" '' + config setup + ${configText} - ${connectionText} - ''; + ${connectionText} + ''; - policyFiles = lib.mapAttrs' (name: text: - { name = "ipsec.d/policies/${name}"; - value.source = pkgs.writeText "ipsec-policy-${name}" text; - }) cfg.policies; + policyFiles = lib.mapAttrs' (name: text: { + name = "ipsec.d/policies/${name}"; + value.source = pkgs.writeText "ipsec-policy-${name}" text; + }) cfg.policies; in @@ -49,20 +70,20 @@ in configSetup = lib.mkOption { type = lib.types.lines; default = '' - protostack=netkey - virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10 + protostack=netkey + virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10 ''; example = '' - secretsfile=/root/ipsec.secrets - protostack=netkey - virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10 + secretsfile=/root/ipsec.secrets + protostack=netkey + virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10 ''; description = "Options to go in the 'config setup' section of the Libreswan IPsec configuration"; }; connections = lib.mkOption { type = lib.types.attrsOf lib.types.lines; - default = {}; + default = { }; example = lib.literalExpression '' { myconnection = ''' auto=add @@ -81,7 +102,7 @@ in policies = lib.mkOption { type = lib.types.attrsOf lib.types.lines; - default = {}; + default = { }; example = lib.literalExpression '' { private-or-clear = ''' # Attempt opportunistic IPsec for the entire Internet @@ -113,13 +134,15 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { # Install package, systemd units, etc. - environment.systemPackages = [ pkgs.libreswan pkgs.iproute2 ]; + environment.systemPackages = [ + pkgs.libreswan + pkgs.iproute2 + ]; systemd.packages = [ pkgs.libreswan ]; systemd.tmpfiles.packages = [ pkgs.libreswan ]; @@ -151,7 +174,7 @@ in ''; serviceConfig = { StateDirectory = "ipsec/nss"; - StateDirectoryMode = 0700; + StateDirectoryMode = 700; }; }; diff --git a/nixos/modules/services/networking/lldpd.nix b/nixos/modules/services/networking/lldpd.nix index 98a4cff265f14..7c030728f4fe1 100644 --- a/nixos/modules/services/networking/lldpd.nix +++ b/nixos/modules/services/networking/lldpd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.lldpd; @@ -10,8 +15,12 @@ in extraArgs = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; - example = [ "-c" "-k" "-I eth0" ]; + default = [ ]; + example = [ + "-c" + "-k" + "-I eth0" + ]; description = "List of command line parameters for lldpd"; }; }; @@ -23,7 +32,7 @@ in home = "/run/lldpd"; isSystemUser = true; }; - users.groups._lldpd = {}; + users.groups._lldpd = { }; environment.systemPackages = [ pkgs.lldpd ]; systemd.packages = [ pkgs.lldpd ]; diff --git a/nixos/modules/services/networking/logmein-hamachi.nix b/nixos/modules/services/networking/logmein-hamachi.nix index 852101f09dffc..d0ce1b53267e4 100644 --- a/nixos/modules/services/networking/logmein-hamachi.nix +++ b/nixos/modules/services/networking/logmein-hamachi.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.logmein-hamachi; @@ -15,14 +20,13 @@ in type = lib.types.bool; default = false; description = '' - Whether to enable LogMeIn Hamachi, a proprietary - (closed source) commercial VPN software. - ''; + Whether to enable LogMeIn Hamachi, a proprietary + (closed source) commercial VPN software. + ''; }; }; - ###### implementation config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/networking/lokinet.nix b/nixos/modules/services/networking/lokinet.nix index 76203c61b504e..5c06011822aee 100644 --- a/nixos/modules/services/networking/lokinet.nix +++ b/nixos/modules/services/networking/lokinet.nix @@ -1,11 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.lokinet; dataDir = "/var/lib/lokinet"; settingsFormat = pkgs.formats.ini { listsAsDuplicateKeys = true; }; - configFile = settingsFormat.generate "lokinet.ini" (lib.filterAttrsRecursive (n: v: v != null) cfg.settings); -in with lib; { + configFile = settingsFormat.generate "lokinet.ini" ( + lib.filterAttrsRecursive (n: v: v != null) cfg.settings + ); +in +with lib; +{ options.services.lokinet = { enable = mkEnableOption "Lokinet daemon"; @@ -19,7 +28,8 @@ in with lib; { }; settings = mkOption { - type = with types; + type = + with types; submodule { freeformType = settingsFormat.type; @@ -34,7 +44,10 @@ in with lib; { upstream = mkOption { type = listOf str; default = [ "9.9.9.10" ]; - example = [ "1.1.1.1" "8.8.8.8" ]; + example = [ + "1.1.1.1" + "8.8.8.8" + ]; description = '' Upstream resolver(s) to use as fallback for non-loki addresses. Multiple values accepted. @@ -105,8 +118,14 @@ in with lib; { systemd.services.lokinet = { description = "Lokinet"; - after = [ "network-online.target" "network.target" ]; - wants = [ "network-online.target" "network.target" ]; + after = [ + "network-online.target" + "network.target" + ]; + wants = [ + "network-online.target" + "network.target" + ]; wantedBy = [ "multi-user.target" ]; preStart = '' @@ -121,7 +140,10 @@ in with lib; { serviceConfig = { DynamicUser = true; StateDirectory = "lokinet"; - AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_BIND_SERVICE" ]; + AmbientCapabilities = [ + "CAP_NET_ADMIN" + "CAP_NET_BIND_SERVICE" + ]; ExecStart = "${cfg.package}/bin/lokinet ${dataDir}/lokinet.ini"; Restart = "always"; RestartSec = "5s"; @@ -140,7 +162,12 @@ in with lib; { ProtectKernelTunables = true; ProtectSystem = "strict"; ReadWritePaths = "/dev/net/tun"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/networking/lxd-image-server.nix b/nixos/modules/services/networking/lxd-image-server.nix index 4712a3c1b3db9..98906262ce1eb 100644 --- a/nixos/modules/services/networking/lxd-image-server.nix +++ b/nixos/modules/services/networking/lxd-image-server.nix @@ -1,7 +1,12 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.lxd-image-server; - format = pkgs.formats.toml {}; + format = pkgs.formats.toml { }; location = "/var/www/simplestreams"; in @@ -24,7 +29,7 @@ in Example see . ''; - default = {}; + default = { }; }; nginx = { @@ -44,7 +49,7 @@ in isSystemUser = true; group = cfg.group; }; - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; environment.etc."lxd-image-server/config.toml".source = format.generate "config.toml" cfg.settings; diff --git a/nixos/modules/services/networking/matterbridge.nix b/nixos/modules/services/networking/matterbridge.nix index 74b388d684085..4f995d500f3f5 100644 --- a/nixos/modules/services/networking/matterbridge.nix +++ b/nixos/modules/services/networking/matterbridge.nix @@ -1,4 +1,10 @@ -{ options, config, pkgs, lib, ... }: +{ + options, + config, + pkgs, + lib, + ... +}: let cfg = config.services.matterbridge; @@ -88,19 +94,18 @@ in }; config = lib.mkIf cfg.enable { - warnings = lib.optional options.services.matterbridge.configFile.isDefined - "The option services.matterbridge.configFile is insecure and should be replaced with services.matterbridge.configPath"; - - users.users = lib.optionalAttrs (cfg.user == "matterbridge") - { matterbridge = { - group = "matterbridge"; - isSystemUser = true; - }; - }; + warnings = lib.optional options.services.matterbridge.configFile.isDefined "The option services.matterbridge.configFile is insecure and should be replaced with services.matterbridge.configPath"; - users.groups = lib.optionalAttrs (cfg.group == "matterbridge") - { matterbridge = { }; + users.users = lib.optionalAttrs (cfg.user == "matterbridge") { + matterbridge = { + group = "matterbridge"; + isSystemUser = true; }; + }; + + users.groups = lib.optionalAttrs (cfg.group == "matterbridge") { + matterbridge = { }; + }; systemd.services.matterbridge = { description = "Matterbridge chat platform bridge"; diff --git a/nixos/modules/services/networking/microsocks.nix b/nixos/modules/services/networking/microsocks.nix index 09afaf6edf031..9956b8f158eb8 100644 --- a/nixos/modules/services/networking/microsocks.nix +++ b/nixos/modules/services/networking/microsocks.nix @@ -1,4 +1,5 @@ -{ config, +{ + config, lib, pkgs, ... @@ -8,16 +9,29 @@ let cfg = config.services.microsocks; cmd = - if cfg.execWrapper != null - then "${cfg.execWrapper} ${cfg.package}/bin/microsocks" - else "${cfg.package}/bin/microsocks"; + if cfg.execWrapper != null then + "${cfg.execWrapper} ${cfg.package}/bin/microsocks" + else + "${cfg.package}/bin/microsocks"; args = - [ "-i" cfg.ip "-p" (toString cfg.port) ] + [ + "-i" + cfg.ip + "-p" + (toString cfg.port) + ] ++ lib.optionals (cfg.authOnce) [ "-1" ] ++ lib.optionals (cfg.disableLogging) [ "-q" ] - ++ lib.optionals (cfg.outgoingBindIp != null) [ "-b" cfg.outgoingBindIp ] - ++ lib.optionals (cfg.authUsername != null) [ "-u" cfg.authUsername ]; -in { + ++ lib.optionals (cfg.outgoingBindIp != null) [ + "-b" + cfg.outgoingBindIp + ] + ++ lib.optionals (cfg.authUsername != null) [ + "-u" + cfg.authUsername + ]; +in +{ options.services.microsocks = { enable = lib.mkEnableOption "Tiny, portable SOCKS5 server with very moderate resource usage"; user = lib.mkOption { @@ -30,7 +44,7 @@ in { description = "Group microsocks runs as."; type = lib.types.str; }; - package = lib.mkPackageOption pkgs "microsocks" {}; + package = lib.mkPackageOption pkgs "microsocks" { }; ip = lib.mkOption { type = lib.types.str; default = "127.0.0.1"; @@ -100,7 +114,7 @@ in { }; }; groups = lib.mkIf (cfg.group == "microsocks") { - microsocks = {}; + microsocks = { }; }; }; systemd.services.microsocks = { @@ -113,7 +127,9 @@ in { Group = cfg.group; Restart = "on-failure"; RestartSec = 10; - LoadCredential = lib.optionalString (cfg.authPasswordFile != null) "MICROSOCKS_PASSWORD_FILE:${cfg.authPasswordFile}"; + LoadCredential = lib.optionalString ( + cfg.authPasswordFile != null + ) "MICROSOCKS_PASSWORD_FILE:${cfg.authPasswordFile}"; MemoryDenyWriteExecute = true; SystemCallArchitectures = "native"; PrivateTmp = true; @@ -133,14 +149,15 @@ in { ]; }; script = - if cfg.authPasswordFile != null - then '' - PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/MICROSOCKS_PASSWORD_FILE") - ${cmd} ${lib.escapeShellArgs args} -P "$PASSWORD" - '' - else '' - ${cmd} ${lib.escapeShellArgs args} - ''; + if cfg.authPasswordFile != null then + '' + PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/MICROSOCKS_PASSWORD_FILE") + ${cmd} ${lib.escapeShellArgs args} -P "$PASSWORD" + '' + else + '' + ${cmd} ${lib.escapeShellArgs args} + ''; }; }; } diff --git a/nixos/modules/services/networking/miniupnpd.nix b/nixos/modules/services/networking/miniupnpd.nix index 9494d6f68e090..ccbddbf3d5a18 100644 --- a/nixos/modules/services/networking/miniupnpd.nix +++ b/nixos/modules/services/networking/miniupnpd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -22,8 +27,9 @@ let ''; firewall = if config.networking.nftables.enable then "nftables" else "iptables"; miniupnpd = pkgs.miniupnpd.override { inherit firewall; }; - firewallScripts = lib.optionals (firewall == "iptables") - ([ "iptables"] ++ lib.optional (config.networking.enableIPv6) "ip6tables"); + firewallScripts = lib.optionals (firewall == "iptables") ( + [ "iptables" ] ++ lib.optional (config.networking.enableIPv6) "ip6tables" + ); in { options = { @@ -39,7 +45,10 @@ in internalIPs = mkOption { type = types.listOf types.str; - example = [ "192.168.1.1/24" "enp1s0" ]; + example = [ + "192.168.1.1/24" + "enp1s0" + ]; description = '' The IP address ranges to listen on. ''; @@ -66,13 +75,21 @@ in }; config = mkIf cfg.enable { - networking.firewall.extraCommands = lib.mkIf (firewallScripts != []) (builtins.concatStringsSep "\n" (map (fw: '' - EXTIF=${cfg.externalInterface} ${pkgs.bash}/bin/bash -x ${miniupnpd}/etc/miniupnpd/${fw}_init.sh - '') firewallScripts)); + networking.firewall.extraCommands = lib.mkIf (firewallScripts != [ ]) ( + builtins.concatStringsSep "\n" ( + map (fw: '' + EXTIF=${cfg.externalInterface} ${pkgs.bash}/bin/bash -x ${miniupnpd}/etc/miniupnpd/${fw}_init.sh + '') firewallScripts + ) + ); - networking.firewall.extraStopCommands = lib.mkIf (firewallScripts != []) (builtins.concatStringsSep "\n" (map (fw: '' - EXTIF=${cfg.externalInterface} ${pkgs.bash}/bin/bash -x ${miniupnpd}/etc/miniupnpd/${fw}_removeall.sh - '') firewallScripts)); + networking.firewall.extraStopCommands = lib.mkIf (firewallScripts != [ ]) ( + builtins.concatStringsSep "\n" ( + map (fw: '' + EXTIF=${cfg.externalInterface} ${pkgs.bash}/bin/bash -x ${miniupnpd}/etc/miniupnpd/${fw}_removeall.sh + '') firewallScripts + ) + ); networking.nftables = lib.mkIf (firewall == "nftables") { # see nft_init in ${miniupnpd-nftables}/etc/miniupnpd diff --git a/nixos/modules/services/networking/miredo.nix b/nixos/modules/services/networking/miredo.nix index 12be41b7e7b6b..d931421671798 100644 --- a/nixos/modules/services/networking/miredo.nix +++ b/nixos/modules/services/networking/miredo.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -63,7 +68,6 @@ in }; }; - ###### implementation config = mkIf cfg.enable { diff --git a/nixos/modules/services/networking/mjpg-streamer.nix b/nixos/modules/services/networking/mjpg-streamer.nix index 7867a5af1e514..4f0747d8a262f 100644 --- a/nixos/modules/services/networking/mjpg-streamer.nix +++ b/nixos/modules/services/networking/mjpg-streamer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.services.mjpg-streamer; -in { +in +{ options = { diff --git a/nixos/modules/services/networking/mmsd.nix b/nixos/modules/services/networking/mmsd.nix index e801150a3fc98..5e65d46e0b5a6 100644 --- a/nixos/modules/services/networking/mmsd.nix +++ b/nixos/modules/services/networking/mmsd.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: with lib; let cfg = config.services.mmsd; @@ -18,8 +23,8 @@ in extraArgs = mkOption { type = with types; listOf str; description = "Extra arguments passed to `mmsd-tng`"; - default = []; - example = ["--debug"]; + default = [ ]; + example = [ "--debug" ]; }; }; config = mkIf cfg.enable { diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix index 5cb418a9f1e62..1ef0c696e2c8b 100644 --- a/nixos/modules/services/networking/monero.nix +++ b/nixos/modules/services/networking/monero.nix @@ -1,42 +1,48 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.services.monero; + cfg = config.services.monero; - listToConf = option: list: - lib.concatMapStrings (value: "${option}=${value}\n") list; + listToConf = option: list: lib.concatMapStrings (value: "${option}=${value}\n") list; login = (cfg.rpc.user != null && cfg.rpc.password != null); - configFile = with cfg; pkgs.writeText "monero.conf" '' - log-file=/dev/stdout - data-dir=${dataDir} - - ${lib.optionalString mining.enable '' - start-mining=${mining.address} - mining-threads=${toString mining.threads} - ''} - - rpc-bind-ip=${rpc.address} - rpc-bind-port=${toString rpc.port} - ${lib.optionalString login '' - rpc-login=${rpc.user}:${rpc.password} - ''} - ${lib.optionalString rpc.restricted '' - restricted-rpc=1 - ''} - - limit-rate-up=${toString limits.upload} - limit-rate-down=${toString limits.download} - max-concurrency=${toString limits.threads} - block-sync-size=${toString limits.syncSize} - - ${listToConf "add-peer" extraNodes} - ${listToConf "add-priority-node" priorityNodes} - ${listToConf "add-exclusive-node" exclusiveNodes} - - ${extraConfig} - ''; + configFile = + with cfg; + pkgs.writeText "monero.conf" '' + log-file=/dev/stdout + data-dir=${dataDir} + + ${lib.optionalString mining.enable '' + start-mining=${mining.address} + mining-threads=${toString mining.threads} + ''} + + rpc-bind-ip=${rpc.address} + rpc-bind-port=${toString rpc.port} + ${lib.optionalString login '' + rpc-login=${rpc.user}:${rpc.password} + ''} + ${lib.optionalString rpc.restricted '' + restricted-rpc=1 + ''} + + limit-rate-up=${toString limits.upload} + limit-rate-down=${toString limits.download} + max-concurrency=${toString limits.threads} + block-sync-size=${toString limits.syncSize} + + ${listToConf "add-peer" extraNodes} + ${listToConf "add-priority-node" priorityNodes} + ${listToConf "add-exclusive-node" exclusiveNodes} + + ${extraConfig} + ''; in @@ -75,7 +81,7 @@ in }; mining.threads = lib.mkOption { - type = lib.types.addCheck lib.types.int (x: x>=0); + type = lib.types.addCheck lib.types.int (x: x >= 0); default = 0; description = '' Number of threads used for mining. @@ -124,7 +130,7 @@ in }; limits.upload = lib.mkOption { - type = lib.types.addCheck lib.types.int (x: x>=-1); + type = lib.types.addCheck lib.types.int (x: x >= -1); default = -1; description = '' Limit of the upload rate in kB/s. @@ -133,7 +139,7 @@ in }; limits.download = lib.mkOption { - type = lib.types.addCheck lib.types.int (x: x>=-1); + type = lib.types.addCheck lib.types.int (x: x >= -1); default = -1; description = '' Limit of the download rate in kB/s. @@ -142,7 +148,7 @@ in }; limits.threads = lib.mkOption { - type = lib.types.addCheck lib.types.int (x: x>=0); + type = lib.types.addCheck lib.types.int (x: x >= 0); default = 0; description = '' Maximum number of threads used for a parallel job. @@ -151,7 +157,7 @@ in }; limits.syncSize = lib.mkOption { - type = lib.types.addCheck lib.types.int (x: x>=0); + type = lib.types.addCheck lib.types.int (x: x >= 0); default = 0; description = '' Maximum number of blocks to sync at once. @@ -197,7 +203,6 @@ in }; - ###### implementation config = lib.mkIf cfg.enable { @@ -214,23 +219,26 @@ in systemd.services.monero = { description = "monero daemon"; - after = [ "network.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - User = "monero"; + User = "monero"; Group = "monero"; ExecStart = "${pkgs.monero-cli}/bin/monerod --config-file=${configFile} --non-interactive"; Restart = "always"; - SuccessExitStatus = [ 0 1 ]; + SuccessExitStatus = [ + 0 + 1 + ]; }; }; assertions = lib.singleton { assertion = cfg.mining.enable -> cfg.mining.address != ""; - message = '' - You need a Monero address to receive mining rewards: - specify one using option monero.mining.address. + message = '' + You need a Monero address to receive mining rewards: + specify one using option monero.mining.address. ''; }; @@ -239,4 +247,3 @@ in meta.maintainers = with lib.maintainers; [ rnhmjoj ]; } - diff --git a/nixos/modules/services/networking/morty.nix b/nixos/modules/services/networking/morty.nix index c3ed718fe8d84..8f672162a3c42 100644 --- a/nixos/modules/services/networking/morty.nix +++ b/nixos/modules/services/networking/morty.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -63,29 +68,29 @@ in config = mkIf config.services.morty.enable { - users.users.morty = - { description = "Morty user"; - createHome = true; - home = "/var/lib/morty"; - isSystemUser = true; - group = "morty"; - }; - users.groups.morty = {}; - - systemd.services.morty = - { - description = "Morty sanitizing proxy server."; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = "morty"; - ExecStart = ''${cfg.package}/bin/morty \ - -listen ${cfg.listenAddress}:${toString cfg.port} \ - ${optionalString cfg.ipv6 "-ipv6"} \ - ${optionalString (cfg.key != "") "-key " + cfg.key} \ - ''; - }; + users.users.morty = { + description = "Morty user"; + createHome = true; + home = "/var/lib/morty"; + isSystemUser = true; + group = "morty"; + }; + users.groups.morty = { }; + + systemd.services.morty = { + description = "Morty sanitizing proxy server."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "morty"; + ExecStart = '' + ${cfg.package}/bin/morty \ + -listen ${cfg.listenAddress}:${toString cfg.port} \ + ${optionalString cfg.ipv6 "-ipv6"} \ + ${optionalString (cfg.key != "") "-key " + cfg.key} \ + ''; }; + }; environment.systemPackages = [ cfg.package ]; }; diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix index e628be0d5b1b3..9753d0a4a5426 100644 --- a/nixos/modules/services/networking/mosquitto.nix +++ b/nixos/modules/services/networking/mosquitto.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mosquitto; @@ -10,208 +15,247 @@ let }; path = lib.types.addCheck lib.types.path (p: str.check "${p}"); configKey = lib.types.strMatching "[^\r\n\t ]+"; - optionType = with lib.types; oneOf [ str path bool int ] // { - description = "string, path, bool, or integer"; - }; - optionToString = v: - if lib.isBool v then lib.boolToString v - else if path.check v then "${v}" - else toString v; - - assertKeysValid = prefix: valid: config: - lib.mapAttrsToList - (n: _: { - assertion = valid ? ${n}; - message = "Invalid config key ${prefix}.${n}."; - }) - config; - - formatFreeform = { prefix ? "" }: lib.mapAttrsToList (n: v: "${prefix}${n} ${optionToString v}"); - - userOptions = with lib.types; submodule { - options = { - password = lib.mkOption { - type = uniq (nullOr str); - default = null; - description = '' - Specifies the (clear text) password for the MQTT User. - ''; - }; + optionType = + with lib.types; + oneOf [ + str + path + bool + int + ] + // { + description = "string, path, bool, or integer"; + }; + optionToString = + v: + if lib.isBool v then + lib.boolToString v + else if path.check v then + "${v}" + else + toString v; + + assertKeysValid = + prefix: valid: config: + lib.mapAttrsToList (n: _: { + assertion = valid ? ${n}; + message = "Invalid config key ${prefix}.${n}."; + }) config; + + formatFreeform = + { + prefix ? "", + }: + lib.mapAttrsToList (n: v: "${prefix}${n} ${optionToString v}"); + + userOptions = + with lib.types; + submodule { + options = { + password = lib.mkOption { + type = uniq (nullOr str); + default = null; + description = '' + Specifies the (clear text) password for the MQTT User. + ''; + }; - passwordFile = lib.mkOption { - type = uniq (nullOr path); - example = "/path/to/file"; - default = null; - description = '' - Specifies the path to a file containing the - clear text password for the MQTT user. - The file is securely passed to mosquitto by - leveraging systemd credentials. No special - permissions need to be set on this file. - ''; - }; + passwordFile = lib.mkOption { + type = uniq (nullOr path); + example = "/path/to/file"; + default = null; + description = '' + Specifies the path to a file containing the + clear text password for the MQTT user. + The file is securely passed to mosquitto by + leveraging systemd credentials. No special + permissions need to be set on this file. + ''; + }; - hashedPassword = lib.mkOption { - type = uniq (nullOr str); - default = null; - description = '' - Specifies the hashed password for the MQTT User. - To generate hashed password install the `mosquitto` - package and use `mosquitto_passwd`, then extract - the second field (after the `:`) from the generated - file. - ''; - }; + hashedPassword = lib.mkOption { + type = uniq (nullOr str); + default = null; + description = '' + Specifies the hashed password for the MQTT User. + To generate hashed password install the `mosquitto` + package and use `mosquitto_passwd`, then extract + the second field (after the `:`) from the generated + file. + ''; + }; - hashedPasswordFile = lib.mkOption { - type = uniq (nullOr path); - example = "/path/to/file"; - default = null; - description = '' - Specifies the path to a file containing the - hashed password for the MQTT user. - To generate hashed password install the `mosquitto` - package and use `mosquitto_passwd`, then remove the - `username:` prefix from the generated file. - The file is securely passed to mosquitto by - leveraging systemd credentials. No special - permissions need to be set on this file. - ''; - }; + hashedPasswordFile = lib.mkOption { + type = uniq (nullOr path); + example = "/path/to/file"; + default = null; + description = '' + Specifies the path to a file containing the + hashed password for the MQTT user. + To generate hashed password install the `mosquitto` + package and use `mosquitto_passwd`, then remove the + `username:` prefix from the generated file. + The file is securely passed to mosquitto by + leveraging systemd credentials. No special + permissions need to be set on this file. + ''; + }; - acl = lib.mkOption { - type = listOf str; - example = [ "read A/B" "readwrite A/#" ]; - default = []; - description = '' - Control client access to topics on the broker. - ''; + acl = lib.mkOption { + type = listOf str; + example = [ + "read A/B" + "readwrite A/#" + ]; + default = [ ]; + description = '' + Control client access to topics on the broker. + ''; + }; }; }; - }; - userAsserts = prefix: users: - lib.mapAttrsToList - (n: _: { - assertion = builtins.match "[^:\r\n]+" n != null; - message = "Invalid user name ${n} in ${prefix}"; - }) - users - ++ lib.mapAttrsToList - (n: u: { - assertion = lib.count (s: s != null) [ - u.password u.passwordFile u.hashedPassword u.hashedPasswordFile + userAsserts = + prefix: users: + lib.mapAttrsToList (n: _: { + assertion = builtins.match "[^:\r\n]+" n != null; + message = "Invalid user name ${n} in ${prefix}"; + }) users + ++ lib.mapAttrsToList (n: u: { + assertion = + lib.count (s: s != null) [ + u.password + u.passwordFile + u.hashedPassword + u.hashedPasswordFile ] <= 1; - message = "Cannot set more than one password option for user ${n} in ${prefix}"; - }) users; + message = "Cannot set more than one password option for user ${n} in ${prefix}"; + }) users; listenerScope = index: "listener-${toString index}"; userScope = prefix: index: "${prefix}-user-${toString index}"; credentialID = prefix: credential: "${prefix}-${credential}"; - toScopedUsers = listenerScope: users: lib.pipe users [ - lib.attrNames - (lib.imap0 (index: user: lib.nameValuePair user - (users.${user} // { scope = userScope listenerScope index; }) - )) - lib.listToAttrs - ]; - - userCredentials = user: credentials: lib.pipe credentials [ - (lib.filter (credential: user.${credential} != null)) - (map (credential: "${credentialID user.scope credential}:${user.${credential}}")) - ]; - usersCredentials = listenerScope: users: credentials: lib.pipe users [ - (toScopedUsers listenerScope) - (lib.mapAttrsToList (_: user: userCredentials user credentials)) - lib.concatLists - ]; - systemdCredentials = listeners: listenerCredentials: lib.pipe listeners [ - (lib.imap0 (index: listener: listenerCredentials (listenerScope index) listener)) - lib.concatLists - ]; - - makePasswordFile = listenerScope: users: path: + toScopedUsers = + listenerScope: users: + lib.pipe users [ + lib.attrNames + (lib.imap0 ( + index: user: lib.nameValuePair user (users.${user} // { scope = userScope listenerScope index; }) + )) + lib.listToAttrs + ]; + + userCredentials = + user: credentials: + lib.pipe credentials [ + (lib.filter (credential: user.${credential} != null)) + (map (credential: "${credentialID user.scope credential}:${user.${credential}}")) + ]; + usersCredentials = + listenerScope: users: credentials: + lib.pipe users [ + (toScopedUsers listenerScope) + (lib.mapAttrsToList (_: user: userCredentials user credentials)) + lib.concatLists + ]; + systemdCredentials = + listeners: listenerCredentials: + lib.pipe listeners [ + (lib.imap0 (index: listener: listenerCredentials (listenerScope index) listener)) + lib.concatLists + ]; + + makePasswordFile = + listenerScope: users: path: let - makeLines = store: file: let - scopedUsers = toScopedUsers listenerScope users; - in - lib.mapAttrsToList - (name: user: ''addLine ${lib.escapeShellArg name} "''$(systemd-creds cat ${credentialID user.scope store})"'') - (lib.filterAttrs (_: user: user.${store} != null) scopedUsers) - ++ lib.mapAttrsToList - (name: user: ''addFile ${lib.escapeShellArg name} "''${CREDENTIALS_DIRECTORY}/${credentialID user.scope file}"'') - (lib.filterAttrs (_: user: user.${file} != null) scopedUsers); + makeLines = + store: file: + let + scopedUsers = toScopedUsers listenerScope users; + in + lib.mapAttrsToList ( + name: user: + ''addLine ${lib.escapeShellArg name} "''$(systemd-creds cat ${credentialID user.scope store})"'' + ) (lib.filterAttrs (_: user: user.${store} != null) scopedUsers) + ++ lib.mapAttrsToList ( + name: user: + ''addFile ${lib.escapeShellArg name} "''${CREDENTIALS_DIRECTORY}/${credentialID user.scope file}"'' + ) (lib.filterAttrs (_: user: user.${file} != null) scopedUsers); plainLines = makeLines "password" "passwordFile"; hashedLines = makeLines "hashedPassword" "hashedPasswordFile"; in - pkgs.writeScript "make-mosquitto-passwd" - ('' - #! ${pkgs.runtimeShell} - - set -eu - - file=${lib.escapeShellArg path} - - rm -f "$file" - touch "$file" - - addLine() { - echo "$1:$2" >> "$file" - } - addFile() { - if [ $(wc -l <"$2") -gt 1 ]; then - echo "invalid mosquitto password file $2" >&2 - return 1 - fi - echo "$1:$(cat "$2")" >> "$file" - } + pkgs.writeScript "make-mosquitto-passwd" ( + '' + #! ${pkgs.runtimeShell} + + set -eu + + file=${lib.escapeShellArg path} + + rm -f "$file" + touch "$file" + + addLine() { + echo "$1:$2" >> "$file" + } + addFile() { + if [ $(wc -l <"$2") -gt 1 ]; then + echo "invalid mosquitto password file $2" >&2 + return 1 + fi + echo "$1:$(cat "$2")" >> "$file" + } + '' + + lib.concatStringsSep "\n" ( + plainLines + ++ lib.optional (plainLines != [ ]) '' + ${cfg.package}/bin/mosquitto_passwd -U "$file" '' - + lib.concatStringsSep "\n" - (plainLines - ++ lib.optional (plainLines != []) '' - ${cfg.package}/bin/mosquitto_passwd -U "$file" - '' - ++ hashedLines)); - - authPluginOptions = with lib.types; submodule { - options = { - plugin = lib.mkOption { - type = path; - description = '' - Plugin path to load, should be a `.so` file. - ''; - }; + ++ hashedLines + ) + ); - denySpecialChars = lib.mkOption { - type = bool; - description = '' - Automatically disallow all clients using `#` - or `+` in their name/id. - ''; - default = true; - }; + authPluginOptions = + with lib.types; + submodule { + options = { + plugin = lib.mkOption { + type = path; + description = '' + Plugin path to load, should be a `.so` file. + ''; + }; + + denySpecialChars = lib.mkOption { + type = bool; + description = '' + Automatically disallow all clients using `#` + or `+` in their name/id. + ''; + default = true; + }; - options = lib.mkOption { - type = attrsOf optionType; - description = '' - Options for the auth plugin. Each key turns into a `auth_opt_*` - line in the config. - ''; - default = {}; + options = lib.mkOption { + type = attrsOf optionType; + description = '' + Options for the auth plugin. Each key turns into a `auth_opt_*` + line in the config. + ''; + default = { }; + }; }; }; - }; - authAsserts = prefix: auth: - lib.mapAttrsToList - (n: _: { - assertion = configKey.check n; - message = "Invalid auth plugin key ${prefix}.${n}"; - }) - auth; + authAsserts = + prefix: auth: + lib.mapAttrsToList (n: _: { + assertion = configKey.check n; + message = "Invalid auth plugin key ${prefix}.${n}"; + }) auth; - formatAuthPlugin = plugin: + formatAuthPlugin = + plugin: [ "auth_plugin ${plugin.plugin}" "auth_plugin_deny_special_chars ${optionToString plugin.denySpecialChars}" @@ -250,88 +294,98 @@ let use_username_as_clientid = 1; }; - listenerOptions = with lib.types; submodule { - options = { - port = lib.mkOption { - type = port; - description = '' - Port to listen on. Must be set to 0 to listen on a unix domain socket. - ''; - default = 1883; - }; + listenerOptions = + with lib.types; + submodule { + options = { + port = lib.mkOption { + type = port; + description = '' + Port to listen on. Must be set to 0 to listen on a unix domain socket. + ''; + default = 1883; + }; - address = lib.mkOption { - type = nullOr str; - description = '' - Address to listen on. Listen on `0.0.0.0`/`::` - when unset. - ''; - default = null; - }; + address = lib.mkOption { + type = nullOr str; + description = '' + Address to listen on. Listen on `0.0.0.0`/`::` + when unset. + ''; + default = null; + }; - authPlugins = lib.mkOption { - type = listOf authPluginOptions; - description = '' - Authentication plugin to attach to this listener. - Refer to the [mosquitto.conf documentation](https://mosquitto.org/man/mosquitto-conf-5.html) - for details on authentication plugins. - ''; - default = []; - }; + authPlugins = lib.mkOption { + type = listOf authPluginOptions; + description = '' + Authentication plugin to attach to this listener. + Refer to the [mosquitto.conf documentation](https://mosquitto.org/man/mosquitto-conf-5.html) + for details on authentication plugins. + ''; + default = [ ]; + }; - users = lib.mkOption { - type = attrsOf userOptions; - example = { john = { password = "123456"; acl = [ "readwrite john/#" ]; }; }; - description = '' - A set of users and their passwords and ACLs. - ''; - default = {}; - }; + users = lib.mkOption { + type = attrsOf userOptions; + example = { + john = { + password = "123456"; + acl = [ "readwrite john/#" ]; + }; + }; + description = '' + A set of users and their passwords and ACLs. + ''; + default = { }; + }; - omitPasswordAuth = lib.mkOption { - type = bool; - description = '' - Omits password checking, allowing anyone to log in with any user name unless - other mandatory authentication methods (eg TLS client certificates) are configured. - ''; - default = false; - }; + omitPasswordAuth = lib.mkOption { + type = bool; + description = '' + Omits password checking, allowing anyone to log in with any user name unless + other mandatory authentication methods (eg TLS client certificates) are configured. + ''; + default = false; + }; - acl = lib.mkOption { - type = listOf str; - description = '' - Additional ACL items to prepend to the generated ACL file. - ''; - example = [ "pattern read #" "topic readwrite anon/report/#" ]; - default = []; - }; + acl = lib.mkOption { + type = listOf str; + description = '' + Additional ACL items to prepend to the generated ACL file. + ''; + example = [ + "pattern read #" + "topic readwrite anon/report/#" + ]; + default = [ ]; + }; - settings = lib.mkOption { - type = submodule { - freeformType = attrsOf optionType; + settings = lib.mkOption { + type = submodule { + freeformType = attrsOf optionType; + }; + description = '' + Additional settings for this listener. + ''; + default = { }; }; - description = '' - Additional settings for this listener. - ''; - default = {}; }; }; - }; - listenerAsserts = prefix: listener: + listenerAsserts = + prefix: listener: assertKeysValid "${prefix}.settings" freeformListenerKeys listener.settings ++ userAsserts prefix listener.users - ++ lib.imap0 - (i: v: authAsserts "${prefix}.authPlugins.${toString i}" v) - listener.authPlugins; + ++ lib.imap0 (i: v: authAsserts "${prefix}.authPlugins.${toString i}" v) listener.authPlugins; - formatListener = idx: listener: + formatListener = + idx: listener: [ "listener ${toString listener.port} ${toString listener.address}" "acl_file /etc/mosquitto/acl-${toString idx}.conf" ] - ++ lib.optional (! listener.omitPasswordAuth) "password_file ${cfg.dataDir}/passwd-${toString idx}" - ++ formatFreeform {} listener.settings + ++ lib.optional (!listener.omitPasswordAuth) "password_file ${cfg.dataDir}/passwd-${toString idx}" + ++ formatFreeform { } listener.settings ++ lib.concatMap formatAuthPlugin listener.authPlugins; freeformBridgeKeys = { @@ -370,70 +424,76 @@ let try_private = 1; }; - bridgeOptions = with lib.types; submodule { - options = { - addresses = lib.mkOption { - type = listOf (submodule { - options = { - address = lib.mkOption { - type = str; - description = '' - Address of the remote MQTT broker. - ''; + bridgeOptions = + with lib.types; + submodule { + options = { + addresses = lib.mkOption { + type = listOf (submodule { + options = { + address = lib.mkOption { + type = str; + description = '' + Address of the remote MQTT broker. + ''; + }; + + port = lib.mkOption { + type = port; + description = '' + Port of the remote MQTT broker. + ''; + default = 1883; + }; }; + }); + default = [ ]; + description = '' + Remote endpoints for the bridge. + ''; + }; - port = lib.mkOption { - type = port; - description = '' - Port of the remote MQTT broker. - ''; - default = 1883; - }; - }; - }); - default = []; - description = '' - Remote endpoints for the bridge. - ''; - }; - - topics = lib.mkOption { - type = listOf str; - description = '' - Topic patterns to be shared between the two brokers. - Refer to the [ - mosquitto.conf documentation](https://mosquitto.org/man/mosquitto-conf-5.html) for details on the format. - ''; - default = []; - example = [ "# both 2 local/topic/ remote/topic/" ]; - }; + topics = lib.mkOption { + type = listOf str; + description = '' + Topic patterns to be shared between the two brokers. + Refer to the [ + mosquitto.conf documentation](https://mosquitto.org/man/mosquitto-conf-5.html) for details on the format. + ''; + default = [ ]; + example = [ "# both 2 local/topic/ remote/topic/" ]; + }; - settings = lib.mkOption { - type = submodule { - freeformType = attrsOf optionType; + settings = lib.mkOption { + type = submodule { + freeformType = attrsOf optionType; + }; + description = '' + Additional settings for this bridge. + ''; + default = { }; }; - description = '' - Additional settings for this bridge. - ''; - default = {}; }; }; - }; - bridgeAsserts = prefix: bridge: + bridgeAsserts = + prefix: bridge: assertKeysValid "${prefix}.settings" freeformBridgeKeys bridge.settings - ++ [ { - assertion = lib.length bridge.addresses > 0; - message = "Bridge ${prefix} needs remote broker addresses"; - } ]; + ++ [ + { + assertion = lib.length bridge.addresses > 0; + message = "Bridge ${prefix} needs remote broker addresses"; + } + ]; - formatBridge = name: bridge: + formatBridge = + name: bridge: [ "connection ${name}" "addresses ${lib.concatMapStringsSep " " (a: "${a.address}:${toString a.port}") bridge.addresses}" ] ++ map (t: "topic ${t}") bridge.topics - ++ formatFreeform {} bridge.settings; + ++ formatFreeform { } bridge.settings; freeformGlobalKeys = { allow_duplicate_messages = 1; @@ -472,7 +532,7 @@ let bridges = lib.mkOption { type = attrsOf bridgeOptions; - default = {}; + default = { }; description = '' Bridges to build to other MQTT brokers. ''; @@ -480,7 +540,7 @@ let listeners = lib.mkOption { type = listOf listenerOptions; - default = []; + default = [ ]; description = '' Listeners to configure on this broker. ''; @@ -494,11 +554,19 @@ let `*.conf` files in the directory will be read in case-sensitive alphabetical order. ''; - default = []; + default = [ ]; }; logDest = lib.mkOption { - type = listOf (either path (enum [ "stdout" "stderr" "syslog" "topic" "dlt" ])); + type = listOf ( + either path (enum [ + "stdout" + "stderr" + "syslog" + "topic" + "dlt" + ]) + ); description = '' Destinations to send log messages to. ''; @@ -506,12 +574,22 @@ let }; logType = lib.mkOption { - type = listOf (enum [ "debug" "error" "warning" "notice" "information" - "subscribe" "unsubscribe" "websockets" "none" "all" ]); + type = listOf (enum [ + "debug" + "error" + "warning" + "notice" + "information" + "subscribe" + "unsubscribe" + "websockets" + "none" + "all" + ]); description = '' Types of messages to log. ''; - default = []; + default = [ ]; }; persistence = lib.mkOption { @@ -537,33 +615,32 @@ let description = '' Global configuration options for the mosquitto broker. ''; - default = {}; + default = { }; }; }; - globalAsserts = prefix: cfg: + globalAsserts = + prefix: cfg: lib.flatten [ (assertKeysValid "${prefix}.settings" freeformGlobalKeys cfg.settings) (lib.imap0 (n: l: listenerAsserts "${prefix}.listener.${toString n}" l) cfg.listeners) (lib.mapAttrsToList (n: b: bridgeAsserts "${prefix}.bridge.${n}" b) cfg.bridges) ]; - formatGlobal = cfg: + formatGlobal = + cfg: [ "per_listener_settings true" "persistence ${optionToString cfg.persistence}" ] - ++ map - (d: if path.check d then "log_dest file ${d}" else "log_dest ${d}") - cfg.logDest + ++ map (d: if path.check d then "log_dest file ${d}" else "log_dest ${d}") cfg.logDest ++ map (t: "log_type ${t}") cfg.logType - ++ formatFreeform {} cfg.settings + ++ formatFreeform { } cfg.settings ++ lib.concatLists (lib.imap0 formatListener cfg.listeners) ++ lib.concatLists (lib.mapAttrsToList formatBridge cfg.bridges) ++ map (d: "include_dir ${d}") cfg.includeDirs; - configFile = pkgs.writeText "mosquitto.conf" - (lib.concatStringsSep "\n" (formatGlobal cfg)); + configFile = pkgs.writeText "mosquitto.conf" (lib.concatStringsSep "\n" (formatGlobal cfg)); in @@ -596,16 +673,26 @@ in ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; # Credentials - SetCredential = let - listenerCredentials = listenerScope: listener: - usersCredentials listenerScope listener.users [ "password" "hashedPassword" ]; - in + SetCredential = + let + listenerCredentials = + listenerScope: listener: + usersCredentials listenerScope listener.users [ + "password" + "hashedPassword" + ]; + in systemdCredentials cfg.listeners listenerCredentials; - LoadCredential = let - listenerCredentials = listenerScope: listener: - usersCredentials listenerScope listener.users [ "passwordFile" "hashedPasswordFile" ]; - in + LoadCredential = + let + listenerCredentials = + listenerScope: listener: + usersCredentials listenerScope listener.users [ + "passwordFile" + "hashedPasswordFile" + ]; + in systemdCredentials cfg.listeners listenerCredentials; # Hardening @@ -629,35 +716,31 @@ in ProtectSystem = "strict"; ReadWritePaths = [ cfg.dataDir - "/tmp" # mosquitto_passwd creates files in /tmp before moving them + "/tmp" # mosquitto_passwd creates files in /tmp before moving them ] ++ lib.filter path.check cfg.logDest; - ReadOnlyPaths = - map (p: "${p}") - (cfg.includeDirs - ++ lib.filter - (v: v != null) - (lib.flatten [ - (map - (l: [ - (l.settings.psk_file or null) - (l.settings.http_dir or null) - (l.settings.cafile or null) - (l.settings.capath or null) - (l.settings.certfile or null) - (l.settings.crlfile or null) - (l.settings.dhparamfile or null) - (l.settings.keyfile or null) - ]) - cfg.listeners) - (lib.mapAttrsToList - (_: b: [ - (b.settings.bridge_cafile or null) - (b.settings.bridge_capath or null) - (b.settings.bridge_certfile or null) - (b.settings.bridge_keyfile or null) - ]) - cfg.bridges) - ])); + ReadOnlyPaths = map (p: "${p}") ( + cfg.includeDirs + ++ lib.filter (v: v != null) ( + lib.flatten [ + (map (l: [ + (l.settings.psk_file or null) + (l.settings.http_dir or null) + (l.settings.cafile or null) + (l.settings.capath or null) + (l.settings.certfile or null) + (l.settings.crlfile or null) + (l.settings.dhparamfile or null) + (l.settings.keyfile or null) + ]) cfg.listeners) + (lib.mapAttrsToList (_: b: [ + (b.settings.bridge_cafile or null) + (b.settings.bridge_capath or null) + (b.settings.bridge_certfile or null) + (b.settings.bridge_keyfile or null) + ]) cfg.bridges) + ] + ) + ); RemoveIPC = true; RestrictAddressFamilies = [ "AF_UNIX" @@ -676,33 +759,31 @@ in ]; UMask = "0077"; }; - preStart = - lib.concatStringsSep - "\n" - (lib.imap0 - (idx: listener: makePasswordFile (listenerScope idx) listener.users "${cfg.dataDir}/passwd-${toString idx}") - cfg.listeners); + preStart = lib.concatStringsSep "\n" ( + lib.imap0 ( + idx: listener: + makePasswordFile (listenerScope idx) listener.users "${cfg.dataDir}/passwd-${toString idx}" + ) cfg.listeners + ); }; environment.etc = lib.listToAttrs ( - lib.imap0 - (idx: listener: { - name = "mosquitto/acl-${toString idx}.conf"; - value = { - user = config.users.users.mosquitto.name; - group = config.users.users.mosquitto.group; - mode = "0400"; - text = (lib.concatStringsSep - "\n" - (lib.flatten [ + lib.imap0 (idx: listener: { + name = "mosquitto/acl-${toString idx}.conf"; + value = { + user = config.users.users.mosquitto.name; + group = config.users.users.mosquitto.group; + mode = "0400"; + text = ( + lib.concatStringsSep "\n" ( + lib.flatten [ listener.acl - (lib.mapAttrsToList - (n: u: [ "user ${n}" ] ++ map (t: "topic ${t}") u.acl) - listener.users) - ])); - }; - }) - cfg.listeners + (lib.mapAttrsToList (n: u: [ "user ${n}" ] ++ map (t: "topic ${t}") u.acl) listener.users) + ] + ) + ); + }; + }) cfg.listeners ); users.users.mosquitto = { diff --git a/nixos/modules/services/networking/mozillavpn.nix b/nixos/modules/services/networking/mozillavpn.nix index c10272b4d7fff..d53beb6cb8842 100644 --- a/nixos/modules/services/networking/mozillavpn.nix +++ b/nixos/modules/services/networking/mozillavpn.nix @@ -1,8 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - options.services.mozillavpn.enable = - lib.mkEnableOption "Mozilla VPN daemon"; + options.services.mozillavpn.enable = lib.mkEnableOption "Mozilla VPN daemon"; config = lib.mkIf config.services.mozillavpn.enable { environment.systemPackages = [ pkgs.mozillavpn ]; diff --git a/nixos/modules/services/networking/mstpd.nix b/nixos/modules/services/networking/mstpd.nix index bd71010ce549c..eeb717530f9ce 100644 --- a/nixos/modules/services/networking/mstpd.nix +++ b/nixos/modules/services/networking/mstpd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mstpd; in diff --git a/nixos/modules/services/networking/mtprotoproxy.nix b/nixos/modules/services/networking/mtprotoproxy.nix index 679e84458b20b..fa97131b737ad 100644 --- a/nixos/modules/services/networking/mtprotoproxy.nix +++ b/nixos/modules/services/networking/mtprotoproxy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,14 +11,17 @@ let cfg = config.services.mtprotoproxy; - configOpts = { - PORT = cfg.port; - USERS = cfg.users; - SECURE_ONLY = cfg.secureOnly; - } // lib.optionalAttrs (cfg.adTag != null) { AD_TAG = cfg.adTag; } + configOpts = + { + PORT = cfg.port; + USERS = cfg.users; + SECURE_ONLY = cfg.secureOnly; + } + // lib.optionalAttrs (cfg.adTag != null) { AD_TAG = cfg.adTag; } // cfg.extraConfig; - convertOption = opt: + convertOption = + opt: if isString opt || isInt opt then builtins.toJSON opt else if isBool opt then @@ -21,11 +29,17 @@ let else if isList opt then "[" + concatMapStringsSep "," convertOption opt + "]" else if isAttrs opt then - "{" + concatStringsSep "," (mapAttrsToList (name: opt: "${builtins.toJSON name}: ${convertOption opt}") opt) + "}" + "{" + + concatStringsSep "," ( + mapAttrsToList (name: opt: "${builtins.toJSON name}: ${convertOption opt}") opt + ) + + "}" else throw "Invalid option type"; - configFile = pkgs.writeText "config.py" (concatStringsSep "\n" (mapAttrsToList (name: opt: "${name} = ${convertOption opt}") configOpts)); + configFile = pkgs.writeText "config.py" ( + concatStringsSep "\n" (mapAttrsToList (name: opt: "${name} = ${convertOption opt}") configOpts) + ); in @@ -78,7 +92,7 @@ in extraConfig = mkOption { type = types.attrs; - default = {}; + default = { }; example = { STATS_PRINT_PERIOD = 600; }; @@ -91,7 +105,6 @@ in }; - ###### implementation config = mkIf cfg.enable { diff --git a/nixos/modules/services/networking/mtr-exporter.nix b/nixos/modules/services/networking/mtr-exporter.nix index 2b96cb2491acd..e7c8bea4499ba 100644 --- a/nixos/modules/services/networking/mtr-exporter.nix +++ b/nixos/modules/services/networking/mtr-exporter.nix @@ -1,21 +1,47 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) - maintainers types literalExpression - escapeShellArg escapeShellArgs - mkEnableOption mkOption mkRemovedOptionModule mkIf - mkPackageOption optionalString concatMapStrings concatStringsSep; + maintainers + types + literalExpression + escapeShellArg + escapeShellArgs + mkEnableOption + mkOption + mkRemovedOptionModule + mkIf + mkPackageOption + optionalString + concatMapStrings + concatStringsSep + ; cfg = config.services.mtr-exporter; - jobsConfig = pkgs.writeText "mtr-exporter.conf" (concatMapStrings (job: '' - ${job.name} -- ${job.schedule} -- ${concatStringsSep " " job.flags} ${job.address} - '') cfg.jobs); -in { + jobsConfig = pkgs.writeText "mtr-exporter.conf" ( + concatMapStrings (job: '' + ${job.name} -- ${job.schedule} -- ${concatStringsSep " " job.flags} ${job.address} + '') cfg.jobs + ); +in +{ imports = [ - (mkRemovedOptionModule [ "services" "mtr-exporter" "target" ] "Use services.mtr-exporter.jobs instead.") - (mkRemovedOptionModule [ "services" "mtr-exporter" "mtrFlags" ] "Use services.mtr-exporter.jobs..flags instead.") + (mkRemovedOptionModule [ + "services" + "mtr-exporter" + "target" + ] "Use services.mtr-exporter.jobs instead.") + (mkRemovedOptionModule [ + "services" + "mtr-exporter" + "mtrFlags" + ] "Use services.mtr-exporter.jobs..flags instead.") ]; options = { @@ -37,8 +63,8 @@ in { extraFlags = mkOption { type = types.listOf types.str; - default = []; - example = ["-flag.deprecatedMetrics"]; + default = [ ]; + example = [ "-flag.deprecatedMetrics" ]; description = '' Extra command line options to pass to MTR exporter. ''; @@ -50,34 +76,36 @@ in { jobs = mkOption { description = "List of MTR jobs. Will be added to /etc/mtr-exporter.conf"; - type = types.nonEmptyListOf (types.submodule { - options = { - name = mkOption { - type = types.str; - description = "Name of ICMP pinging job."; + type = types.nonEmptyListOf ( + types.submodule { + options = { + name = mkOption { + type = types.str; + description = "Name of ICMP pinging job."; + }; + + address = mkOption { + type = types.str; + example = "host.example.org:1234"; + description = "Target address for MTR client."; + }; + + schedule = mkOption { + type = types.str; + default = "@every 60s"; + example = "@hourly"; + description = "Schedule of MTR checks. Also accepts Cron format."; + }; + + flags = mkOption { + type = with types; listOf str; + default = [ ]; + example = [ "-G1" ]; + description = "Additional flags to pass to MTR."; + }; }; - - address = mkOption { - type = types.str; - example = "host.example.org:1234"; - description = "Target address for MTR client."; - }; - - schedule = mkOption { - type = types.str; - default = "@every 60s"; - example = "@hourly"; - description = "Schedule of MTR checks. Also accepts Cron format."; - }; - - flags = mkOption { - type = with types; listOf str; - default = []; - example = ["-G1"]; - description = "Additional flags to pass to MTR."; - }; - }; - }); + } + ); }; }; }; diff --git a/nixos/modules/services/networking/multipath.nix b/nixos/modules/services/networking/multipath.nix index 85cc11a316834..5fef5725f9e00 100644 --- a/nixos/modules/services/networking/multipath.nix +++ b/nixos/modules/services/networking/multipath.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, ... }: with lib; +{ + config, + lib, + pkgs, + ... +}: +with lib; # See http://christophe.varoqui.free.fr/usage.html and # https://github.com/opensvc/multipath-tools/blob/master/multipath/multipath.conf.5 @@ -6,19 +12,21 @@ let cfg = config.services.multipath; - indentLines = n: str: concatStringsSep "\n" ( - map (line: "${fixedWidthString n " " " "}${line}") ( - filter ( x: x != "" ) ( splitString "\n" str ) - ) - ); + indentLines = + n: str: + concatStringsSep "\n" ( + map (line: "${fixedWidthString n " " " "}${line}") (filter (x: x != "") (splitString "\n" str)) + ); - addCheckDesc = desc: elemType: check: types.addCheck elemType check - // { description = "${elemType.description} (with check: ${desc})"; }; + addCheckDesc = + desc: elemType: check: + types.addCheck elemType check // { description = "${elemType.description} (with check: ${desc})"; }; hexChars = stringToCharacters "0123456789abcdef"; isHexString = s: all (c: elem c hexChars) (stringToCharacters (toLower s)); hexStr = addCheckDesc "hexadecimal string" types.str isHexString; -in { +in +{ options.services.multipath = with types; { @@ -83,14 +91,26 @@ in { }; hardware_handler = mkOption { - type = nullOr (enum [ "emc" "rdac" "hp_sw" "alua" "ana" ]); + type = nullOr (enum [ + "emc" + "rdac" + "hp_sw" + "alua" + "ana" + ]); default = null; description = "The hardware handler to use for this device type"; }; # Optional arguments path_grouping_policy = mkOption { - type = nullOr (enum [ "failover" "multibus" "group_by_serial" "group_by_prio" "group_by_node_name" ]); + type = nullOr (enum [ + "failover" + "multibus" + "group_by_serial" + "group_by_prio" + "group_by_node_name" + ]); default = null; # real default: "failover" description = "The default path grouping policy to apply to unspecified multipaths"; }; @@ -122,15 +142,37 @@ in { }; path_checker = mkOption { - type = enum [ "readsector0" "tur" "emc_clariion" "hp_sw" "rdac" "directio" "cciss_tur" "none" ]; + type = enum [ + "readsector0" + "tur" + "emc_clariion" + "hp_sw" + "rdac" + "directio" + "cciss_tur" + "none" + ]; default = "tur"; description = "The default method used to determine the paths state"; }; prio = mkOption { type = nullOr (enum [ - "none" "const" "sysfs" "emc" "alua" "ontap" "rdac" "hp_sw" "hds" - "random" "weightedpath" "path_latency" "ana" "datacore" "iet" + "none" + "const" + "sysfs" + "emc" + "alua" + "ontap" + "rdac" + "hp_sw" + "hds" + "random" + "weightedpath" + "path_latency" + "ana" + "datacore" + "iet" ]); default = null; # real default: "const" description = "The name of the path priority routine"; @@ -155,7 +197,10 @@ in { }; rr_weight = mkOption { - type = nullOr (enum [ "priorities" "uniform" ]); + type = nullOr (enum [ + "priorities" + "uniform" + ]); default = null; # real default: "uniform" description = '' If set to priorities the multipath configurator will assign path weights @@ -217,7 +262,10 @@ in { }; flush_on_last_del = mkOption { - type = nullOr (enum [ "yes" "no" ]); + type = nullOr (enum [ + "yes" + "no" + ]); default = null; # real default: "no" description = '' If set to "yes" multipathd will disable queueing when the last path to a @@ -226,7 +274,10 @@ in { }; user_friendly_names = mkOption { - type = nullOr (enum [ "yes" "no" ]); + type = nullOr (enum [ + "yes" + "no" + ]); default = null; # real default: "no" description = '' If set to "yes", using the bindings file /etc/multipath/bindings @@ -238,7 +289,10 @@ in { }; detect_prio = mkOption { - type = nullOr (enum [ "yes" "no" ]); + type = nullOr (enum [ + "yes" + "no" + ]); default = null; # real default: "yes" description = '' If set to "yes", multipath will try to detect if the device supports @@ -250,7 +304,10 @@ in { }; detect_checker = mkOption { - type = nullOr (enum [ "yes" "no" ]); + type = nullOr (enum [ + "yes" + "no" + ]); default = null; # real default: "yes" description = '' If set to "yes", multipath will try to detect if the device supports @@ -260,7 +317,10 @@ in { }; deferred_remove = mkOption { - type = nullOr (enum [ "yes" "no" ]); + type = nullOr (enum [ + "yes" + "no" + ]); default = null; # real default: "no" description = '' If set to "yes", multipathd will do a deferred remove instead of a @@ -345,7 +405,10 @@ in { }; skip_kpartx = mkOption { - type = nullOr (enum [ "yes" "no" ]); + type = nullOr (enum [ + "yes" + "no" + ]); default = null; # real default: "no" description = "If set to yes, kpartx will not automatically create partitions on the device"; }; @@ -483,16 +546,24 @@ in { config = mkIf cfg.enable { environment.etc."multipath.conf".text = let - inherit (cfg) defaults blacklist blacklist_exceptions overrides; - - mkDeviceBlock = cfg: let - nonNullCfg = lib.filterAttrs (k: v: v != null) cfg; - attrs = lib.mapAttrsToList (name: value: " ${name} ${toString value}") nonNullCfg; - in '' - device { - ${lib.concatStringsSep "\n" attrs} - } - ''; + inherit (cfg) + defaults + blacklist + blacklist_exceptions + overrides + ; + + mkDeviceBlock = + cfg: + let + nonNullCfg = lib.filterAttrs (k: v: v != null) cfg; + attrs = lib.mapAttrsToList (name: value: " ${name} ${toString value}") nonNullCfg; + in + '' + device { + ${lib.concatStringsSep "\n" attrs} + } + ''; devices = lib.concatMapStringsSep "\n" mkDeviceBlock cfg.devices; mkMultipathBlock = m: '' @@ -503,7 +574,8 @@ in { ''; multipaths = lib.concatMapStringsSep "\n" mkMultipathBlock cfg.pathGroups; - in '' + in + '' devices { ${indentLines 2 devices} } @@ -536,13 +608,19 @@ in { systemd.packages = [ cfg.package ]; environment.systemPackages = [ cfg.package ]; - boot.kernelModules = [ "dm-multipath" "dm-service-time" ]; + boot.kernelModules = [ + "dm-multipath" + "dm-service-time" + ]; # We do not have systemd in stage-1 boot so must invoke `multipathd` # with the `-1` argument which disables systemd calls. Invoke `multipath` # to display the multipath mappings in the output of `journalctl -b`. # TODO: Implement for systemd stage 1 - boot.initrd.kernelModules = [ "dm-multipath" "dm-service-time" ]; + boot.initrd.kernelModules = [ + "dm-multipath" + "dm-service-time" + ]; boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) '' modprobe -a dm-multipath dm-service-time multipathd -s diff --git a/nixos/modules/services/networking/mycelium.nix b/nixos/modules/services/networking/mycelium.nix index 0d0b2945af4c1..26c9be290fed5 100644 --- a/nixos/modules/services/networking/mycelium.nix +++ b/nixos/modules/services/networking/mycelium.nix @@ -1,4 +1,10 @@ -{ config, pkgs, lib, utils, ... }: +{ + config, + pkgs, + lib, + utils, + ... +}: let cfg = config.services.mycelium; @@ -58,7 +64,10 @@ in }; config = lib.mkIf cfg.enable { networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ 9651 ]; - networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 9650 9651 ]; + networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ + 9650 + 9651 + ]; environment.systemPackages = [ cfg.package ]; @@ -89,49 +98,57 @@ in RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @keyring" ]; - ExecStart = lib.concatStringsSep " " ([ - (lib.getExe cfg.package) - (if (cfg.keyFile != null) then - "--key-file \${CREDENTIALS_DIRECTORY}/keyfile" else - "--key-file %S/mycelium/key.bin" - ) - "--tun-name" - "mycelium" - "${utils.escapeSystemdExecArgs cfg.extraArgs}" - ] ++ - (lib.optional (cfg.addHostedPublicNodes || cfg.peers != [ ]) "--peers") - ++ cfg.peers ++ (lib.optionals cfg.addHostedPublicNodes [ - "tcp://188.40.132.242:9651" # DE 01 - "tcp://[2a01:4f8:221:1e0b::2]:9651" - "quic://188.40.132.242:9651" - "quic://[2a01:4f8:221:1e0b::2]:9651" + SystemCallFilter = [ + "@system-service" + "~@privileged @keyring" + ]; + ExecStart = lib.concatStringsSep " " ( + [ + (lib.getExe cfg.package) + ( + if (cfg.keyFile != null) then + "--key-file \${CREDENTIALS_DIRECTORY}/keyfile" + else + "--key-file %S/mycelium/key.bin" + ) + "--tun-name" + "mycelium" + "${utils.escapeSystemdExecArgs cfg.extraArgs}" + ] + ++ (lib.optional (cfg.addHostedPublicNodes || cfg.peers != [ ]) "--peers") + ++ cfg.peers + ++ (lib.optionals cfg.addHostedPublicNodes [ + "tcp://188.40.132.242:9651" # DE 01 + "tcp://[2a01:4f8:221:1e0b::2]:9651" + "quic://188.40.132.242:9651" + "quic://[2a01:4f8:221:1e0b::2]:9651" - "tcp://136.243.47.186:9651" # DE 02 - "tcp://[2a01:4f8:212:fa6::2]:9651" - "quic://136.243.47.186:9651" - "quic://[2a01:4f8:212:fa6::2]:9651" + "tcp://136.243.47.186:9651" # DE 02 + "tcp://[2a01:4f8:212:fa6::2]:9651" + "quic://136.243.47.186:9651" + "quic://[2a01:4f8:212:fa6::2]:9651" - "tcp://185.69.166.7:9651" # BE 03 - "tcp://[2a02:1802:5e:0:8478:51ff:fee2:3331]:9651" - "quic://185.69.166.7:9651" - "quic://[2a02:1802:5e:0:8478:51ff:fee2:3331]:9651" + "tcp://185.69.166.7:9651" # BE 03 + "tcp://[2a02:1802:5e:0:8478:51ff:fee2:3331]:9651" + "quic://185.69.166.7:9651" + "quic://[2a02:1802:5e:0:8478:51ff:fee2:3331]:9651" - "tcp://185.69.166.8:9651" # BE 04 - "tcp://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" - "quic://185.69.166.8:9651" - "quic://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" + "tcp://185.69.166.8:9651" # BE 04 + "tcp://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" + "quic://185.69.166.8:9651" + "quic://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" - "tcp://65.21.231.58:9651" # FI 05 - "tcp://[2a01:4f9:6a:1dc5::2]:9651" - "quic://65.21.231.58:9651" - "quic://[2a01:4f9:6a:1dc5::2]:9651" + "tcp://65.21.231.58:9651" # FI 05 + "tcp://[2a01:4f9:6a:1dc5::2]:9651" + "quic://65.21.231.58:9651" + "quic://[2a01:4f9:6a:1dc5::2]:9651" - "tcp://65.109.18.113:9651" # FI 06 - "tcp://[2a01:4f9:5a:1042::2]:9651" - "quic://65.109.18.113:9651" - "quic://[2a01:4f9:5a:1042::2]:9651" - ])); + "tcp://65.109.18.113:9651" # FI 06 + "tcp://[2a01:4f9:5a:1042::2]:9651" + "quic://65.109.18.113:9651" + "quic://[2a01:4f9:5a:1042::2]:9651" + ]) + ); Restart = "always"; RestartSec = 5; TimeoutStopSec = 5; @@ -139,6 +156,9 @@ in }; }; meta = { - maintainers = with lib.maintainers; [ flokli lassulus ]; + maintainers = with lib.maintainers; [ + flokli + lassulus + ]; }; } diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix index 8f7a5123f7e18..77de4fa6cb6f1 100644 --- a/nixos/modules/services/networking/namecoind.nix +++ b/nixos/modules/services/networking/namecoind.nix @@ -1,38 +1,45 @@ - -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let - cfg = config.services.namecoind; + cfg = config.services.namecoind; dataDir = "/var/lib/namecoind"; - useSSL = (cfg.rpc.certificate != null) && (cfg.rpc.key != null); - useRPC = (cfg.rpc.user != null) && (cfg.rpc.password != null); - - listToConf = option: list: - concatMapStrings (value :"${option}=${value}\n") list; - - configFile = pkgs.writeText "namecoin.conf" ('' - server=1 - daemon=0 - txindex=1 - txprevcache=1 - walletpath=${cfg.wallet} - gen=${if cfg.generate then "1" else "0"} - ${listToConf "addnode" cfg.extraNodes} - ${listToConf "connect" cfg.trustedNodes} - '' + optionalString useRPC '' - rpcbind=${cfg.rpc.address} - rpcport=${toString cfg.rpc.port} - rpcuser=${cfg.rpc.user} - rpcpassword=${cfg.rpc.password} - ${listToConf "rpcallowip" cfg.rpc.allowFrom} - '' + optionalString useSSL '' - rpcssl=1 - rpcsslcertificatechainfile=${cfg.rpc.certificate} - rpcsslprivatekeyfile=${cfg.rpc.key} - rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH - ''); + useSSL = (cfg.rpc.certificate != null) && (cfg.rpc.key != null); + useRPC = (cfg.rpc.user != null) && (cfg.rpc.password != null); + + listToConf = option: list: concatMapStrings (value: "${option}=${value}\n") list; + + configFile = pkgs.writeText "namecoin.conf" ( + '' + server=1 + daemon=0 + txindex=1 + txprevcache=1 + walletpath=${cfg.wallet} + gen=${if cfg.generate then "1" else "0"} + ${listToConf "addnode" cfg.extraNodes} + ${listToConf "connect" cfg.trustedNodes} + '' + + optionalString useRPC '' + rpcbind=${cfg.rpc.address} + rpcport=${toString cfg.rpc.port} + rpcuser=${cfg.rpc.user} + rpcpassword=${cfg.rpc.password} + ${listToConf "rpcallowip" cfg.rpc.allowFrom} + '' + + optionalString useSSL '' + rpcssl=1 + rpcsslcertificatechainfile=${cfg.rpc.certificate} + rpcsslprivatekeyfile=${cfg.rpc.key} + rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH + '' + ); in @@ -130,7 +137,6 @@ in ''; }; - rpc.allowFrom = mkOption { type = types.listOf types.str; default = [ "127.0.0.1" ]; @@ -144,43 +150,42 @@ in }; - ###### implementation config = mkIf cfg.enable { users.users.namecoin = { - uid = config.ids.uids.namecoin; + uid = config.ids.uids.namecoin; description = "Namecoin daemon user"; home = dataDir; createHome = true; }; users.groups.namecoin = { - gid = config.ids.gids.namecoin; + gid = config.ids.gids.namecoin; }; systemd.services.namecoind = { description = "Namecoind daemon"; - after = [ "network.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; startLimitIntervalSec = 120; startLimitBurst = 5; serviceConfig = { - User = "namecoin"; + User = "namecoin"; Group = "namecoin"; - ExecStart = "${pkgs.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole"; - ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID"; + ExecStart = "${pkgs.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole"; + ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Nice = "10"; PrivateTmp = true; - TimeoutStopSec = "60s"; - TimeoutStartSec = "2s"; - Restart = "always"; + TimeoutStopSec = "60s"; + TimeoutStartSec = "2s"; + Restart = "always"; }; - preStart = optionalString (cfg.wallet != "${dataDir}/wallet.dat") '' + preStart = optionalString (cfg.wallet != "${dataDir}/wallet.dat") '' # check wallet file permissions if [ "$(stat --printf '%u' ${cfg.wallet})" != "${toString config.ids.uids.namecoin}" \ -o "$(stat --printf '%g' ${cfg.wallet})" != "${toString config.ids.gids.namecoin}" \ diff --git a/nixos/modules/services/networking/nar-serve.nix b/nixos/modules/services/networking/nar-serve.nix index ea5be25a4d26b..9982e75e68a7d 100644 --- a/nixos/modules/services/networking/nar-serve.nix +++ b/nixos/modules/services/networking/nar-serve.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let inherit (lib) mkOption types; @@ -6,7 +11,10 @@ let in { meta = { - maintainers = with lib.maintainers; [ rizary zimbatm ]; + maintainers = with lib.maintainers; [ + rizary + zimbatm + ]; }; options = { services.nar-serve = { diff --git a/nixos/modules/services/networking/nat-iptables.nix b/nixos/modules/services/networking/nat-iptables.nix index 4a4d1f2a258db..804dc0e0340c0 100644 --- a/nixos/modules/services/networking/nat-iptables.nix +++ b/nixos/modules/services/networking/nat-iptables.nix @@ -2,17 +2,20 @@ # XXX: todo: support multiple upstream links # see http://yesican.chsoft.biz/lartc/MultihomedLinuxNetworking.html -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.networking.nat; - mkDest = externalIP: - if externalIP == null - then "-j MASQUERADE" - else "-j SNAT --to-source ${externalIP}"; + mkDest = + externalIP: if externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${externalIP}"; dest = mkDest cfg.externalIP; destIPv6 = mkDest cfg.externalIPv6; @@ -39,87 +42,110 @@ let ${cfg.extraStopCommands} ''; - mkSetupNat = { iptables, dest, internalIPs, forwardPorts, externalIp }: '' - # We can't match on incoming interface in POSTROUTING, so - # mark packets coming from the internal interfaces. - ${concatMapStrings (iface: '' - ${iptables} -w -t nat -A nixos-nat-pre \ - -i '${iface}' -j MARK --set-mark 1 - ${iptables} -w -t filter -A nixos-filter-forward \ - -i '${iface}' ${optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}"} -j ACCEPT - '') cfg.internalInterfaces} - - # NAT the marked packets. - ${optionalString (cfg.internalInterfaces != []) '' - ${iptables} -w -t nat -A nixos-nat-post -m mark --mark 1 \ - ${optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}"} ${dest} - ''} - - # NAT packets coming from the internal IPs. - ${concatMapStrings (range: '' - ${iptables} -w -t nat -A nixos-nat-post \ - -s '${range}' ${optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}"} ${dest} + mkSetupNat = + { + iptables, + dest, + internalIPs, + forwardPorts, + externalIp, + }: + '' + # We can't match on incoming interface in POSTROUTING, so + # mark packets coming from the internal interfaces. + ${concatMapStrings (iface: '' + ${iptables} -w -t nat -A nixos-nat-pre \ + -i '${iface}' -j MARK --set-mark 1 + ${iptables} -w -t filter -A nixos-filter-forward \ + -i '${iface}' ${ + optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}" + } -j ACCEPT + '') cfg.internalInterfaces} + + # NAT the marked packets. + ${optionalString (cfg.internalInterfaces != [ ]) '' + ${iptables} -w -t nat -A nixos-nat-post -m mark --mark 1 \ + ${optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}"} ${dest} + ''} + + # NAT packets coming from the internal IPs. + ${concatMapStrings (range: '' + ${iptables} -w -t nat -A nixos-nat-post \ + -s '${range}' ${ + optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}" + } ${dest} + ${iptables} -w -t filter -A nixos-filter-forward \ + -s '${range}' ${ + optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}" + } -j ACCEPT + '') internalIPs} + + # Related connections are allowed ${iptables} -w -t filter -A nixos-filter-forward \ - -s '${range}' ${optionalString (cfg.externalInterface != null) "-o ${cfg.externalInterface}"} -j ACCEPT - '') internalIPs} - - # Related connections are allowed - ${iptables} -w -t filter -A nixos-filter-forward \ - -m state --state ESTABLISHED,RELATED -j ACCEPT - - # NAT from external ports to internal ports. - ${concatMapStrings (fwd: '' - ${iptables} -w -t nat -A nixos-nat-pre \ - -i ${toString cfg.externalInterface} -p ${fwd.proto} \ - ${optionalString (externalIp != null) "-d ${externalIp}"} --dport ${builtins.toString fwd.sourcePort} \ - -j DNAT --to-destination ${fwd.destination} - ${iptables} -w -t filter -A nixos-filter-forward \ - -i ${toString cfg.externalInterface} -p ${fwd.proto} \ - --dport ${builtins.toString fwd.sourcePort} -j ACCEPT - - ${concatMapStrings (loopbackip: - let - matchIP = if isIPv6 fwd.destination then "[[]([0-9a-fA-F:]+)[]]" else "([0-9.]+)"; - m = builtins.match "${matchIP}:([0-9-]+)" fwd.destination; - destinationIP = if m == null then throw "bad ip:ports `${fwd.destination}'" else elemAt m 0; - destinationPorts = if m == null then throw "bad ip:ports `${fwd.destination}'" else builtins.replaceStrings ["-"] [":"] (elemAt m 1); - in '' - # Allow connections to ${loopbackip}:${toString fwd.sourcePort} from the host itself - ${iptables} -w -t nat -A nixos-nat-out \ - -d ${loopbackip} -p ${fwd.proto} \ - --dport ${builtins.toString fwd.sourcePort} \ - -j DNAT --to-destination ${fwd.destination} - - # Allow connections to ${loopbackip}:${toString fwd.sourcePort} from other hosts behind NAT - ${concatMapStrings (range: '' - ${iptables} -w -t nat -A nixos-nat-pre \ - -d ${loopbackip} -p ${fwd.proto} -s '${range}' \ - --dport ${builtins.toString fwd.sourcePort} \ - -j DNAT --to-destination ${fwd.destination} - ${iptables} -w -t nat -A nixos-nat-post \ - -d ${destinationIP} -p ${fwd.proto} \ - -s '${range}' --dport ${destinationPorts} \ - -j SNAT --to-source ${loopbackip} - ${iptables} -w -t filter -A nixos-filter-forward \ - -d ${destinationIP} -p ${fwd.proto} \ - -s '${range}' --dport ${destinationPorts} -j ACCEPT - '') internalIPs} - ${concatMapStrings (iface: '' - ${iptables} -w -t nat -A nixos-nat-pre \ - -d ${loopbackip} -p ${fwd.proto} -i '${iface}' \ + -m state --state ESTABLISHED,RELATED -j ACCEPT + + # NAT from external ports to internal ports. + ${concatMapStrings (fwd: '' + ${iptables} -w -t nat -A nixos-nat-pre \ + -i ${toString cfg.externalInterface} -p ${fwd.proto} \ + ${ + optionalString (externalIp != null) "-d ${externalIp}" + } --dport ${builtins.toString fwd.sourcePort} \ + -j DNAT --to-destination ${fwd.destination} + ${iptables} -w -t filter -A nixos-filter-forward \ + -i ${toString cfg.externalInterface} -p ${fwd.proto} \ + --dport ${builtins.toString fwd.sourcePort} -j ACCEPT + + ${concatMapStrings ( + loopbackip: + let + matchIP = if isIPv6 fwd.destination then "[[]([0-9a-fA-F:]+)[]]" else "([0-9.]+)"; + m = builtins.match "${matchIP}:([0-9-]+)" fwd.destination; + destinationIP = if m == null then throw "bad ip:ports `${fwd.destination}'" else elemAt m 0; + destinationPorts = + if m == null then + throw "bad ip:ports `${fwd.destination}'" + else + builtins.replaceStrings [ "-" ] [ ":" ] (elemAt m 1); + in + '' + # Allow connections to ${loopbackip}:${toString fwd.sourcePort} from the host itself + ${iptables} -w -t nat -A nixos-nat-out \ + -d ${loopbackip} -p ${fwd.proto} \ --dport ${builtins.toString fwd.sourcePort} \ -j DNAT --to-destination ${fwd.destination} - ${iptables} -w -t nat -A nixos-nat-post \ - -d ${destinationIP} -p ${fwd.proto} \ - -i '${iface}' --dport ${destinationPorts} \ - -j SNAT --to-source ${loopbackip} - ${iptables} -w -t filter -A nixos-filter-forward \ - -d ${destinationIP} -p ${fwd.proto} \ - -i '${iface}' --dport ${destinationPorts} -j ACCEPT - '') cfg.internalInterfaces} - '') fwd.loopbackIPs} - '') forwardPorts} - ''; + + # Allow connections to ${loopbackip}:${toString fwd.sourcePort} from other hosts behind NAT + ${concatMapStrings (range: '' + ${iptables} -w -t nat -A nixos-nat-pre \ + -d ${loopbackip} -p ${fwd.proto} -s '${range}' \ + --dport ${builtins.toString fwd.sourcePort} \ + -j DNAT --to-destination ${fwd.destination} + ${iptables} -w -t nat -A nixos-nat-post \ + -d ${destinationIP} -p ${fwd.proto} \ + -s '${range}' --dport ${destinationPorts} \ + -j SNAT --to-source ${loopbackip} + ${iptables} -w -t filter -A nixos-filter-forward \ + -d ${destinationIP} -p ${fwd.proto} \ + -s '${range}' --dport ${destinationPorts} -j ACCEPT + '') internalIPs} + ${concatMapStrings (iface: '' + ${iptables} -w -t nat -A nixos-nat-pre \ + -d ${loopbackip} -p ${fwd.proto} -i '${iface}' \ + --dport ${builtins.toString fwd.sourcePort} \ + -j DNAT --to-destination ${fwd.destination} + ${iptables} -w -t nat -A nixos-nat-post \ + -d ${destinationIP} -p ${fwd.proto} \ + -i '${iface}' --dport ${destinationPorts} \ + -j SNAT --to-source ${loopbackip} + ${iptables} -w -t filter -A nixos-filter-forward \ + -d ${destinationIP} -p ${fwd.proto} \ + -i '${iface}' --dport ${destinationPorts} -j ACCEPT + '') cfg.internalInterfaces} + '' + ) fwd.loopbackIPs} + '') forwardPorts} + ''; setupNat = '' ${helpers} @@ -192,35 +218,36 @@ in }; + config = mkIf (!config.networking.nftables.enable) (mkMerge [ + ({ networking.firewall.extraCommands = mkBefore flushNat; }) + (mkIf config.networking.nat.enable { + + networking.firewall = mkIf config.networking.firewall.enable { + extraCommands = setupNat; + extraStopCommands = flushNat; + }; + + systemd.services = mkIf (!config.networking.firewall.enable) { + nat = { + description = "Network Address Translation"; + wantedBy = [ "network.target" ]; + after = [ + "network-pre.target" + "systemd-modules-load.service" + ]; + path = [ config.networking.firewall.package ]; + unitConfig.ConditionCapability = "CAP_NET_ADMIN"; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; - config = mkIf (!config.networking.nftables.enable) - (mkMerge [ - ({ networking.firewall.extraCommands = mkBefore flushNat; }) - (mkIf config.networking.nat.enable { - - networking.firewall = mkIf config.networking.firewall.enable { - extraCommands = setupNat; - extraStopCommands = flushNat; - }; - - systemd.services = mkIf (!config.networking.firewall.enable) { - nat = { - description = "Network Address Translation"; - wantedBy = [ "network.target" ]; - after = [ "network-pre.target" "systemd-modules-load.service" ]; - path = [ config.networking.firewall.package ]; - unitConfig.ConditionCapability = "CAP_NET_ADMIN"; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = flushNat + setupNat; + script = flushNat + setupNat; - postStop = flushNat; - }; + postStop = flushNat; }; - }) - ]); + }; + }) + ]); } diff --git a/nixos/modules/services/networking/nat-nftables.nix b/nixos/modules/services/networking/nat-nftables.nix index 951b14cec7912..891559071c9e8 100644 --- a/nixos/modules/services/networking/nat-nftables.nix +++ b/nixos/modules/services/networking/nat-nftables.nix @@ -5,10 +5,7 @@ with lib; let cfg = config.networking.nat; - mkDest = externalIP: - if externalIP == null - then "masquerade" - else "snat ${externalIP}"; + mkDest = externalIP: if externalIP == null then "masquerade" else "snat ${externalIP}"; dest = mkDest cfg.externalIP; destIPv6 = mkDest cfg.externalIPv6; @@ -23,7 +20,8 @@ let # Whether given IP (plus optional port) is an IPv6. isIPv6 = ip: length (lib.splitString ":" ip) > 2; - splitIPPorts = IPPorts: + splitIPPorts = + IPPorts: let matchIP = if isIPv6 IPPorts then "[[]([0-9a-fA-F:]+)[]]" else "([0-9.]+)"; m = builtins.match "${matchIP}:([0-9-]+)" IPPorts; @@ -33,43 +31,55 @@ let ports = if m == null then throw "bad ip:ports `${IPPorts}'" else elemAt m 1; }; - mkTable = { ipVer, dest, ipSet, forwardPorts, dmzHost, externalIP }: + mkTable = + { + ipVer, + dest, + ipSet, + forwardPorts, + dmzHost, + externalIP, + }: let # nftables maps for port forward # [daddr .] l4proto . dport : addr . port - fwdMap = toNftSet (map - (fwd: + fwdMap = toNftSet ( + map ( + fwd: with (splitIPPorts fwd.destination); - "${optionalString (externalIP != null) "${externalIP} . "}${fwd.proto} . ${toNftRange fwd.sourcePort} : ${IP} . ${ports}" - ) - forwardPorts); + "${ + optionalString (externalIP != null) "${externalIP} . " + }${fwd.proto} . ${toNftRange fwd.sourcePort} : ${IP} . ${ports}" + ) forwardPorts + ); # nftables maps for port forward loopback dnat # daddr . l4proto . dport : addr . port - fwdLoopDnatMap = toNftSet (concatMap - (fwd: map - (loopbackip: + fwdLoopDnatMap = toNftSet ( + concatMap ( + fwd: + map ( + loopbackip: with (splitIPPorts fwd.destination); "${loopbackip} . ${fwd.proto} . ${toNftRange fwd.sourcePort} : ${IP} . ${ports}" - ) - fwd.loopbackIPs) - forwardPorts); + ) fwd.loopbackIPs + ) forwardPorts + ); # nftables set for port forward loopback snat # daddr . l4proto . dport - fwdLoopSnatSet = toNftSet (map - (fwd: - with (splitIPPorts fwd.destination); - "${IP} . ${fwd.proto} . ${ports}" - ) - forwardPorts); + fwdLoopSnatSet = toNftSet ( + map (fwd: with (splitIPPorts fwd.destination); "${IP} . ${fwd.proto} . ${ports}") forwardPorts + ); in '' chain pre { type nat hook prerouting priority dstnat; ${optionalString (fwdMap != "") '' - iifname "${cfg.externalInterface}" meta l4proto { tcp, udp } dnat ${optionalString (externalIP != null) "${ipVer} daddr . "}meta l4proto . th dport map { ${fwdMap} } comment "port forward" + iifname "${cfg.externalInterface}" meta l4proto { tcp, udp } dnat ${ + optionalString (externalIP != null) "${ipVer} daddr . " + }meta l4proto . th dport map { ${fwdMap} } comment "port forward" ''} ${optionalString (fwdLoopDnatMap != "") '' diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 8cd2464d33580..71a719d6d8db8 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -2,7 +2,12 @@ # XXX: todo: support multiple upstream links # see http://yesican.chsoft.biz/lartc/MultihomedLinuxNetworking.html -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -104,39 +109,49 @@ in }; networking.nat.forwardPorts = mkOption { - type = with types; listOf (submodule { - options = { - sourcePort = mkOption { - type = types.either types.int (types.strMatching "[[:digit:]]+:[[:digit:]]+"); - example = 8080; - description = "Source port of the external interface; to specify a port range, use a string with a colon (e.g. \"60000:61000\")"; - }; - - destination = mkOption { - type = types.str; - example = "10.0.0.1:80"; - description = "Forward connection to destination ip:port (or [ipv6]:port); to specify a port range, use ip:start-end"; - }; - - proto = mkOption { - type = types.str; - default = "tcp"; - example = "udp"; - description = "Protocol of forwarded connection"; + type = + with types; + listOf (submodule { + options = { + sourcePort = mkOption { + type = types.either types.int (types.strMatching "[[:digit:]]+:[[:digit:]]+"); + example = 8080; + description = "Source port of the external interface; to specify a port range, use a string with a colon (e.g. \"60000:61000\")"; + }; + + destination = mkOption { + type = types.str; + example = "10.0.0.1:80"; + description = "Forward connection to destination ip:port (or [ipv6]:port); to specify a port range, use ip:start-end"; + }; + + proto = mkOption { + type = types.str; + default = "tcp"; + example = "udp"; + description = "Protocol of forwarded connection"; + }; + + loopbackIPs = mkOption { + type = types.listOf types.str; + default = [ ]; + example = literalExpression ''[ "55.1.2.3" ]''; + description = "Public IPs for NAT reflection; for connections to `loopbackip:sourcePort` from the host itself and from other hosts behind NAT"; + }; }; - - loopbackIPs = mkOption { - type = types.listOf types.str; - default = [ ]; - example = literalExpression ''[ "55.1.2.3" ]''; - description = "Public IPs for NAT reflection; for connections to `loopbackip:sourcePort` from the host itself and from other hosts behind NAT"; - }; - }; - }); + }); default = [ ]; example = [ - { sourcePort = 8080; destination = "10.0.0.1:80"; proto = "tcp"; } - { sourcePort = 8080; destination = "[fc00::2]:80"; proto = "tcp"; } + { + sourcePort = 8080; + destination = "10.0.0.1:80"; + proto = "tcp"; + } + { + sourcePort = 8080; + destination = "[fc00::2]:80"; + proto = "tcp"; + } ]; description = '' List of forwarded ports from the external interface to @@ -157,7 +172,6 @@ in }; - config = mkIf config.networking.nat.enable { assertions = [ @@ -182,19 +196,21 @@ in boot = { kernelModules = [ "nf_nat_ftp" ]; - kernel.sysctl = { - "net.ipv4.conf.all.forwarding" = mkOverride 99 true; - "net.ipv4.conf.default.forwarding" = mkOverride 99 true; - } // optionalAttrs cfg.enableIPv6 { - # Do not prevent IPv6 autoconfiguration. - # See . - "net.ipv6.conf.all.accept_ra" = mkOverride 99 2; - "net.ipv6.conf.default.accept_ra" = mkOverride 99 2; - - # Forward IPv6 packets. - "net.ipv6.conf.all.forwarding" = mkOverride 99 true; - "net.ipv6.conf.default.forwarding" = mkOverride 99 true; - }; + kernel.sysctl = + { + "net.ipv4.conf.all.forwarding" = mkOverride 99 true; + "net.ipv4.conf.default.forwarding" = mkOverride 99 true; + } + // optionalAttrs cfg.enableIPv6 { + # Do not prevent IPv6 autoconfiguration. + # See . + "net.ipv6.conf.all.accept_ra" = mkOverride 99 2; + "net.ipv6.conf.default.accept_ra" = mkOverride 99 2; + + # Forward IPv6 packets. + "net.ipv6.conf.all.forwarding" = mkOverride 99 true; + "net.ipv6.conf.default.forwarding" = mkOverride 99 true; + }; }; }; diff --git a/nixos/modules/services/networking/nats.nix b/nixos/modules/services/networking/nats.nix index 4851daae4dbab..0ab9d9f015c20 100644 --- a/nixos/modules/services/networking/nats.nix +++ b/nixos/modules/services/networking/nats.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -10,14 +15,18 @@ let configFile = format.generate "nats.conf" cfg.settings; - validateConfig = file: - pkgs.runCommand "validate-nats-conf" { - nativeBuildInputs = [ pkgs.nats-server ]; - } '' - nats-server --config "${configFile}" -t - ln -s "${configFile}" "$out" - ''; -in { + validateConfig = + file: + pkgs.runCommand "validate-nats-conf" + { + nativeBuildInputs = [ pkgs.nats-server ]; + } + '' + nats-server --config "${configFile}" -t + ln -s "${configFile}" "$out" + ''; +in +{ ### Interface @@ -140,11 +149,17 @@ in { ProtectSystem = "strict"; ReadOnlyPaths = [ ]; ReadWritePaths = [ cfg.dataDir ]; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; UMask = "0077"; } ]; diff --git a/nixos/modules/services/networking/nbd.nix b/nixos/modules/services/networking/nbd.nix index c2cf1612296ae..1fcbc1969543f 100644 --- a/nixos/modules/services/networking/nbd.nix +++ b/nixos/modules/services/networking/nbd.nix @@ -1,41 +1,72 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkIf mkOption types optionalAttrs; - inherit (lib.types) nullOr listOf str attrsOf submodule; + inherit (lib) + mkIf + mkOption + types + optionalAttrs + ; + inherit (lib.types) + nullOr + listOf + str + attrsOf + submodule + ; cfg = config.services.nbd; - iniFields = with types; attrsOf (oneOf [ bool int float str ]); + iniFields = + with types; + attrsOf (oneOf [ + bool + int + float + str + ]); # The `[generic]` section must come before all the others in the # config file. This means we can't just dump an attrset to INI # because that sorts the sections by name. Instead, we serialize it # on its own first. genericSection = { - generic = (cfg.server.extraOptions // { - user = "root"; - group = "root"; - port = cfg.server.listenPort; - } // (optionalAttrs (cfg.server.listenAddress != null) { - listenaddr = cfg.server.listenAddress; - })); + generic = ( + cfg.server.extraOptions + // { + user = "root"; + group = "root"; + port = cfg.server.listenPort; + } + // (optionalAttrs (cfg.server.listenAddress != null) { + listenaddr = cfg.server.listenAddress; + }) + ); }; - exportSections = - lib.mapAttrs - (_: { path, allowAddresses, extraOptions }: - extraOptions // { - exportname = path; - } // (optionalAttrs (allowAddresses != null) { - authfile = pkgs.writeText "authfile" (lib.concatStringsSep "\n" allowAddresses); - })) - cfg.server.exports; - serverConfig = - pkgs.writeText "nbd-server-config" '' - ${lib.generators.toINI {} genericSection} - ${lib.generators.toINI {} exportSections} - ''; - splitLists = - lib.partition - (path: lib.hasPrefix "/dev/" path) - (lib.mapAttrsToList (_: { path, ... }: path) cfg.server.exports); + exportSections = lib.mapAttrs ( + _: + { + path, + allowAddresses, + extraOptions, + }: + extraOptions + // { + exportname = path; + } + // (optionalAttrs (allowAddresses != null) { + authfile = pkgs.writeText "authfile" (lib.concatStringsSep "\n" allowAddresses); + }) + ) cfg.server.exports; + serverConfig = pkgs.writeText "nbd-server-config" '' + ${lib.generators.toINI { } genericSection} + ${lib.generators.toINI { } exportSections} + ''; + splitLists = lib.partition (path: lib.hasPrefix "/dev/" path) ( + lib.mapAttrsToList (_: { path, ... }: path) cfg.server.exports + ); allowedDevices = splitLists.right; boundPaths = splitLists.wrong; in @@ -65,35 +96,37 @@ in exports = mkOption { description = "Files or block devices to make available over the network."; default = { }; - type = attrsOf - (submodule { - options = { - path = mkOption { - type = str; - description = "File or block device to export."; - example = "/dev/sdb1"; - }; + type = attrsOf (submodule { + options = { + path = mkOption { + type = str; + description = "File or block device to export."; + example = "/dev/sdb1"; + }; - allowAddresses = mkOption { - type = nullOr (listOf str); - default = null; - example = [ "10.10.0.0/24" "127.0.0.1" ]; - description = "IPs and subnets that are authorized to connect for this device. If not specified, the server will allow all connections."; - }; + allowAddresses = mkOption { + type = nullOr (listOf str); + default = null; + example = [ + "10.10.0.0/24" + "127.0.0.1" + ]; + description = "IPs and subnets that are authorized to connect for this device. If not specified, the server will allow all connections."; + }; - extraOptions = mkOption { - type = iniFields; - default = { - flush = true; - fua = true; - }; - description = '' - Extra options for this export. See - {manpage}`nbd-server(5)`. - ''; + extraOptions = mkOption { + type = iniFields; + default = { + flush = true; + fua = true; }; + description = '' + Extra options for this export. See + {manpage}`nbd-server(5)`. + ''; }; - }); + }; + }); }; listenAddress = mkOption { diff --git a/nixos/modules/services/networking/nebula.nix b/nixos/modules/services/networking/nebula.nix index 2ddad4e4094c6..35d7fafb43b57 100644 --- a/nixos/modules/services/networking/nebula.nix +++ b/nixos/modules/services/networking/nebula.nix @@ -1,19 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.nebula; enabledNetworks = lib.filterAttrs (n: v: v.enable) cfg.networks; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; nameToId = netName: "nebula-${netName}"; - resolveFinalPort = netCfg: + resolveFinalPort = + netCfg: if netCfg.listen.port == null then - if (netCfg.isLighthouse || netCfg.isRelay) then - 4242 - else - 0 + if (netCfg.isLighthouse || netCfg.isRelay) then 4242 else 0 else netCfg.listen.port; in @@ -24,188 +27,209 @@ in services.nebula = { networks = lib.mkOption { description = "Nebula network definitions."; - default = {}; - type = lib.types.attrsOf (lib.types.submodule { - options = { - enable = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Enable or disable this network."; - }; + default = { }; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable or disable this network."; + }; - package = lib.mkPackageOption pkgs "nebula" { }; + package = lib.mkPackageOption pkgs "nebula" { }; - ca = lib.mkOption { - type = lib.types.path; - description = "Path to the certificate authority certificate."; - example = "/etc/nebula/ca.crt"; - }; + ca = lib.mkOption { + type = lib.types.path; + description = "Path to the certificate authority certificate."; + example = "/etc/nebula/ca.crt"; + }; - cert = lib.mkOption { - type = lib.types.path; - description = "Path to the host certificate."; - example = "/etc/nebula/host.crt"; - }; + cert = lib.mkOption { + type = lib.types.path; + description = "Path to the host certificate."; + example = "/etc/nebula/host.crt"; + }; - key = lib.mkOption { - type = lib.types.oneOf [lib.types.nonEmptyStr lib.types.path]; - description = "Path or reference to the host key."; - example = "/etc/nebula/host.key"; - }; + key = lib.mkOption { + type = lib.types.oneOf [ + lib.types.nonEmptyStr + lib.types.path + ]; + description = "Path or reference to the host key."; + example = "/etc/nebula/host.key"; + }; - staticHostMap = lib.mkOption { - type = lib.types.attrsOf (lib.types.listOf (lib.types.str)); - default = {}; - description = '' - The static host map defines a set of hosts with fixed IP addresses on the internet (or any network). - A host can have multiple fixed IP addresses defined here, and nebula will try each when establishing a tunnel. - ''; - example = { "192.168.100.1" = [ "100.64.22.11:4242" ]; }; - }; + staticHostMap = lib.mkOption { + type = lib.types.attrsOf (lib.types.listOf (lib.types.str)); + default = { }; + description = '' + The static host map defines a set of hosts with fixed IP addresses on the internet (or any network). + A host can have multiple fixed IP addresses defined here, and nebula will try each when establishing a tunnel. + ''; + example = { + "192.168.100.1" = [ "100.64.22.11:4242" ]; + }; + }; - isLighthouse = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Whether this node is a lighthouse."; - }; + isLighthouse = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether this node is a lighthouse."; + }; - isRelay = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Whether this node is a relay."; - }; + isRelay = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether this node is a relay."; + }; - lighthouses = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - List of IPs of lighthouse hosts this node should report to and query from. This should be empty on lighthouse - nodes. The IPs should be the lighthouse's Nebula IPs, not their external IPs. - ''; - example = [ "192.168.100.1" ]; - }; + lighthouses = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + List of IPs of lighthouse hosts this node should report to and query from. This should be empty on lighthouse + nodes. The IPs should be the lighthouse's Nebula IPs, not their external IPs. + ''; + example = [ "192.168.100.1" ]; + }; - relays = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - List of IPs of relays that this node should allow traffic from. - ''; - example = [ "192.168.100.1" ]; - }; + relays = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + List of IPs of relays that this node should allow traffic from. + ''; + example = [ "192.168.100.1" ]; + }; - listen.host = lib.mkOption { - type = lib.types.str; - default = "0.0.0.0"; - description = "IP address to listen on."; - }; + listen.host = lib.mkOption { + type = lib.types.str; + default = "0.0.0.0"; + description = "IP address to listen on."; + }; - listen.port = lib.mkOption { - type = lib.types.nullOr lib.types.port; - default = null; - defaultText = lib.literalExpression '' - if (config.services.nebula.networks.''${name}.isLighthouse || - config.services.nebula.networks.''${name}.isRelay) then - 4242 - else - 0; - ''; - description = "Port number to listen on."; - }; + listen.port = lib.mkOption { + type = lib.types.nullOr lib.types.port; + default = null; + defaultText = lib.literalExpression '' + if (config.services.nebula.networks.''${name}.isLighthouse || + config.services.nebula.networks.''${name}.isRelay) then + 4242 + else + 0; + ''; + description = "Port number to listen on."; + }; - tun.disable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - When tun is disabled, a lighthouse can be started without a local tun interface (and therefore without root). - ''; - }; + tun.disable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + When tun is disabled, a lighthouse can be started without a local tun interface (and therefore without root). + ''; + }; - tun.device = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - description = "Name of the tun device. Defaults to nebula.\${networkName}."; - }; + tun.device = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + description = "Name of the tun device. Defaults to nebula.\${networkName}."; + }; - firewall.outbound = lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = []; - description = "Firewall rules for outbound traffic."; - example = [ { port = "any"; proto = "any"; host = "any"; } ]; - }; + firewall.outbound = lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ ]; + description = "Firewall rules for outbound traffic."; + example = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + }; - firewall.inbound = lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = []; - description = "Firewall rules for inbound traffic."; - example = [ { port = "any"; proto = "any"; host = "any"; } ]; - }; + firewall.inbound = lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ ]; + description = "Firewall rules for inbound traffic."; + example = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + }; - settings = lib.mkOption { - type = format.type; - default = {}; - description = '' - Nebula configuration. Refer to - - for details on supported values. - ''; - example = lib.literalExpression '' - { - lighthouse.dns = { - host = "0.0.0.0"; - port = 53; - }; - } - ''; + settings = lib.mkOption { + type = format.type; + default = { }; + description = '' + Nebula configuration. Refer to + + for details on supported values. + ''; + example = lib.literalExpression '' + { + lighthouse.dns = { + host = "0.0.0.0"; + port = 53; + }; + } + ''; + }; }; - }; - }); + } + ); }; }; }; # Implementation - config = lib.mkIf (enabledNetworks != {}) { - systemd.services = lib.mkMerge (lib.mapAttrsToList (netName: netCfg: - let - networkId = nameToId netName; - settings = lib.recursiveUpdate { - pki = { - ca = netCfg.ca; - cert = netCfg.cert; - key = netCfg.key; - }; - static_host_map = netCfg.staticHostMap; - lighthouse = { - am_lighthouse = netCfg.isLighthouse; - hosts = netCfg.lighthouses; - }; - relay = { - am_relay = netCfg.isRelay; - relays = netCfg.relays; - use_relays = true; - }; - listen = { - host = netCfg.listen.host; - port = resolveFinalPort netCfg; - }; - tun = { - disabled = netCfg.tun.disable; - dev = if (netCfg.tun.device != null) then netCfg.tun.device else "nebula.${netName}"; - }; - firewall = { - inbound = netCfg.firewall.inbound; - outbound = netCfg.firewall.outbound; - }; - } netCfg.settings; - configFile = format.generate "nebula-config-${netName}.yml" ( - lib.warnIf - ((settings.lighthouse.am_lighthouse || settings.relay.am_relay) && settings.listen.port == 0) - '' - Nebula network '${netName}' is configured as a lighthouse or relay, and its port is ${builtins.toString settings.listen.port}. - You will likely experience connectivity issues: https://nebula.defined.net/docs/config/listen/#listenport - '' - settings + config = lib.mkIf (enabledNetworks != { }) { + systemd.services = lib.mkMerge ( + lib.mapAttrsToList ( + netName: netCfg: + let + networkId = nameToId netName; + settings = lib.recursiveUpdate { + pki = { + ca = netCfg.ca; + cert = netCfg.cert; + key = netCfg.key; + }; + static_host_map = netCfg.staticHostMap; + lighthouse = { + am_lighthouse = netCfg.isLighthouse; + hosts = netCfg.lighthouses; + }; + relay = { + am_relay = netCfg.isRelay; + relays = netCfg.relays; + use_relays = true; + }; + listen = { + host = netCfg.listen.host; + port = resolveFinalPort netCfg; + }; + tun = { + disabled = netCfg.tun.disable; + dev = if (netCfg.tun.device != null) then netCfg.tun.device else "nebula.${netName}"; + }; + firewall = { + inbound = netCfg.firewall.inbound; + outbound = netCfg.firewall.outbound; + }; + } netCfg.settings; + configFile = format.generate "nebula-config-${netName}.yml" ( + lib.warnIf + ((settings.lighthouse.am_lighthouse || settings.relay.am_relay) && settings.listen.port == 0) + '' + Nebula network '${netName}' is configured as a lighthouse or relay, and its port is ${builtins.toString settings.listen.port}. + You will likely experience connectivity issues: https://nebula.defined.net/docs/config/listen/#listenport + '' + settings ); in { @@ -213,7 +237,10 @@ in "nebula@${netName}" = { description = "Nebula VPN service for ${netName}"; wants = [ "basic.target" ]; - after = [ "basic.target" "network.target" ]; + after = [ + "basic.target" + "network.target" + ]; before = [ "sshd.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -246,25 +273,33 @@ in }; unitConfig.StartLimitIntervalSec = 0; # ensure Restart=always is always honoured (networks can go down for arbitrarily long) }; - }) enabledNetworks); + } + ) enabledNetworks + ); # Open the chosen ports for UDP. - networking.firewall.allowedUDPPorts = - lib.unique (lib.filter (port: port > 0) (lib.mapAttrsToList (netName: netCfg: resolveFinalPort netCfg) enabledNetworks)); + networking.firewall.allowedUDPPorts = lib.unique ( + lib.filter (port: port > 0) ( + lib.mapAttrsToList (netName: netCfg: resolveFinalPort netCfg) enabledNetworks + ) + ); # Create the service users and groups. - users.users = lib.mkMerge (lib.mapAttrsToList (netName: netCfg: - { + users.users = lib.mkMerge ( + lib.mapAttrsToList (netName: netCfg: { ${nameToId netName} = { group = nameToId netName; description = "Nebula service user for network ${netName}"; isSystemUser = true; }; - }) enabledNetworks); + }) enabledNetworks + ); - users.groups = lib.mkMerge (lib.mapAttrsToList (netName: netCfg: { - ${nameToId netName} = {}; - }) enabledNetworks); + users.groups = lib.mkMerge ( + lib.mapAttrsToList (netName: netCfg: { + ${nameToId netName} = { }; + }) enabledNetworks + ); }; meta.maintainers = with lib.maintainers; [ numinit ]; diff --git a/nixos/modules/services/networking/netbird.nix b/nixos/modules/services/networking/netbird.nix index d39c373dbc94c..9771503e14e28 100644 --- a/nixos/modules/services/networking/netbird.nix +++ b/nixos/modules/services/networking/netbird.nix @@ -112,57 +112,52 @@ in networking.dhcpcd.denyInterfaces = attrNames cfg.tunnels; systemd.network.networks = mkIf config.networking.useNetworkd ( - mapAttrs' - ( - name: _: - nameValuePair "50-netbird-${name}" { - matchConfig = { - Name = name; - }; - linkConfig = { - Unmanaged = true; - ActivationPolicy = "manual"; - }; - } - ) - cfg.tunnels + mapAttrs' ( + name: _: + nameValuePair "50-netbird-${name}" { + matchConfig = { + Name = name; + }; + linkConfig = { + Unmanaged = true; + ActivationPolicy = "manual"; + }; + } + ) cfg.tunnels ); - systemd.services = - mapAttrs' - ( - name: - { environment, stateDir, ... }: - nameValuePair "netbird-${name}" { - description = "A WireGuard-based mesh network that connects your devices into a single private network"; + systemd.services = mapAttrs' ( + name: + { environment, stateDir, ... }: + nameValuePair "netbird-${name}" { + description = "A WireGuard-based mesh network that connects your devices into a single private network"; - documentation = [ "https://netbird.io/docs/" ]; + documentation = [ "https://netbird.io/docs/" ]; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ openresolv ]; + path = with pkgs; [ openresolv ]; - inherit environment; + inherit environment; - serviceConfig = { - ExecStart = "${getExe cfg.package} service run"; - Restart = "always"; - RuntimeDirectory = stateDir; - StateDirectory = stateDir; - StateDirectoryMode = "0700"; - WorkingDirectory = "/var/lib/${stateDir}"; - }; + serviceConfig = { + ExecStart = "${getExe cfg.package} service run"; + Restart = "always"; + RuntimeDirectory = stateDir; + StateDirectory = stateDir; + StateDirectoryMode = "0700"; + WorkingDirectory = "/var/lib/${stateDir}"; + }; - unitConfig = { - StartLimitInterval = 5; - StartLimitBurst = 10; - }; + unitConfig = { + StartLimitInterval = 5; + StartLimitBurst = 10; + }; - stopIfChanged = false; - } - ) - cfg.tunnels; + stopIfChanged = false; + } + ) cfg.tunnels; }) ]; } diff --git a/nixos/modules/services/networking/netclient.nix b/nixos/modules/services/networking/netclient.nix index b4819f84bab2c..1c3336fd19c6b 100644 --- a/nixos/modules/services/networking/netclient.nix +++ b/nixos/modules/services/networking/netclient.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.netclient; in diff --git a/nixos/modules/services/networking/networkd-dispatcher.nix b/nixos/modules/services/networking/networkd-dispatcher.nix index 2cf3fa4cce98f..49d5cd545656a 100644 --- a/nixos/modules/services/networking/networkd-dispatcher.nix +++ b/nixos/modules/services/networking/networkd-dispatcher.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.services.networkd-dispatcher; -in { +in +{ options = { services.networkd-dispatcher = { @@ -18,7 +24,7 @@ in { ''; rules = mkOption { - default = {}; + default = { }; example = lib.literalExpression '' { "restart-tor" = { onState = ["routable" "off"]; @@ -38,28 +44,38 @@ in { [upstream instructions](https://gitlab.com/craftyguy/networkd-dispatcher) for an introduction and example scripts. ''; - type = types.attrsOf (types.submodule { - options = { - onState = mkOption { - type = types.listOf (types.enum [ - "routable" "dormant" "no-carrier" "off" "carrier" "degraded" - "configuring" "configured" - ]); - default = null; - description = '' - List of names of the systemd-networkd operational states which - should trigger the script. See - for a description of the specific state type. - ''; + type = types.attrsOf ( + types.submodule { + options = { + onState = mkOption { + type = types.listOf ( + types.enum [ + "routable" + "dormant" + "no-carrier" + "off" + "carrier" + "degraded" + "configuring" + "configured" + ] + ); + default = null; + description = '' + List of names of the systemd-networkd operational states which + should trigger the script. See + for a description of the specific state type. + ''; + }; + script = mkOption { + type = types.lines; + description = '' + Shell commands executed on specified operational states. + ''; + }; }; - script = mkOption { - type = types.lines; - description = '' - Shell commands executed on specified operational states. - ''; - }; - }; - }); + } + ); }; extraArgs = mkOption { @@ -84,25 +100,29 @@ in { }; }; - services.networkd-dispatcher.extraArgs = let - scriptDir = pkgs.symlinkJoin { - name = "networkd-dispatcher-script-dir"; - paths = lib.mapAttrsToList (name: cfg: - (map(state: - pkgs.writeTextFile { - inherit name; - text = cfg.script; - destination = "/${state}.d/${name}"; - executable = true; - } - ) cfg.onState) - ) cfg.rules; - }; - in [ - "--verbose" - "--script-dir" "${scriptDir}" - ]; + services.networkd-dispatcher.extraArgs = + let + scriptDir = pkgs.symlinkJoin { + name = "networkd-dispatcher-script-dir"; + paths = lib.mapAttrsToList ( + name: cfg: + (map ( + state: + pkgs.writeTextFile { + inherit name; + text = cfg.script; + destination = "/${state}.d/${name}"; + executable = true; + } + ) cfg.onState) + ) cfg.rules; + }; + in + [ + "--verbose" + "--script-dir" + "${scriptDir}" + ]; }; } - diff --git a/nixos/modules/services/networking/nextdns.nix b/nixos/modules/services/networking/nextdns.nix index b070eeec894fe..d8ba2930446cf 100644 --- a/nixos/modules/services/networking/nextdns.nix +++ b/nixos/modules/services/networking/nextdns.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.nextdns; -in { +in +{ options = { services.nextdns = { enable = mkOption { @@ -14,8 +20,11 @@ in { }; arguments = mkOption { type = types.listOf types.str; - default = []; - example = [ "-config" "10.0.3.0/24=abcdef" ]; + default = [ ]; + example = [ + "-config" + "10.0.3.0/24=abcdef" + ]; description = "Additional arguments to be passed to nextdns run."; }; }; diff --git a/nixos/modules/services/networking/nftables.nix b/nixos/modules/services/networking/nftables.nix index 0c1725f12b3d7..7ee1b7caafed1 100644 --- a/nixos/modules/services/networking/nftables.nix +++ b/nixos/modules/services/networking/nftables.nix @@ -1,35 +1,49 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.networking.nftables; - tableSubmodule = { name, ... }: { - options = { - enable = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Enable this table."; - }; + tableSubmodule = + { name, ... }: + { + options = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable this table."; + }; - name = lib.mkOption { - type = lib.types.str; - description = "Table name."; - }; + name = lib.mkOption { + type = lib.types.str; + description = "Table name."; + }; - content = lib.mkOption { - type = lib.types.lines; - description = "The table content."; - }; + content = lib.mkOption { + type = lib.types.lines; + description = "The table content."; + }; - family = lib.mkOption { - description = "Table family."; - type = lib.types.enum [ "ip" "ip6" "inet" "arp" "bridge" "netdev" ]; + family = lib.mkOption { + description = "Table family."; + type = lib.types.enum [ + "ip" + "ip6" + "inet" + "arp" + "bridge" + "netdev" + ]; + }; }; - }; - config = { - name = lib.mkDefault name; + config = { + name = lib.mkDefault name; + }; }; - }; in { ###### interface @@ -39,21 +53,21 @@ in type = lib.types.bool; default = false; description = '' - Whether to enable nftables and use nftables based firewall if enabled. - nftables is a Linux-based packet filtering framework intended to - replace frameworks like iptables. - - Note that if you have Docker enabled you will not be able to use - nftables without intervention. Docker uses iptables internally to - setup NAT for containers. This module disables the ip_tables kernel - module, however Docker automatically loads the module. Please see - - for more information. - - There are other programs that use iptables internally too, such as - libvirt. For information on how the two firewalls interact, see - . - ''; + Whether to enable nftables and use nftables based firewall if enabled. + nftables is a Linux-based packet filtering framework intended to + replace frameworks like iptables. + + Note that if you have Docker enabled you will not be able to use + nftables without intervention. Docker uses iptables internally to + setup NAT for containers. This module disables the ip_tables kernel + module, however Docker automatically loads the module. Please see + + for more information. + + There are other programs that use iptables internally too, such as + libvirt. For information on how the two firewalls interact, see + . + ''; }; networking.nftables.checkRuleset = lib.mkOption { @@ -69,7 +83,9 @@ in }; networking.nftables.checkRulesetRedirects = lib.mkOption { - type = lib.types.addCheck (lib.types.attrsOf lib.types.path) (attrs: lib.all lib.types.path.check (lib.attrNames attrs)); + type = lib.types.addCheck (lib.types.attrsOf lib.types.path) ( + attrs: lib.all lib.types.path.check (lib.attrNames attrs) + ); default = { "/etc/hosts" = config.environment.etc.hosts.source; "/etc/protocols" = config.environment.etc.protocols.source; @@ -113,9 +129,9 @@ in delete table inet some-table; ''; description = '' - Extra deletion commands to be run on every firewall start, reload - and after stopping the firewall. - ''; + Extra deletion commands to be run on every firewall start, reload + and after stopping the firewall. + ''; }; networking.nftables.ruleset = lib.mkOption { @@ -164,21 +180,21 @@ in } ''; description = '' - The ruleset to be used with nftables. Should be in a format that - can be loaded using "/bin/nft -f". The ruleset is updated atomically. - Note that if the tables should be cleaned first, either: - - networking.nftables.flushRuleset = true; needs to be set (flushes all tables) - - networking.nftables.extraDeletions needs to be set - - or networking.nftables.tables can be used, which will clean up the table automatically - ''; + The ruleset to be used with nftables. Should be in a format that + can be loaded using "/bin/nft -f". The ruleset is updated atomically. + Note that if the tables should be cleaned first, either: + - networking.nftables.flushRuleset = true; needs to be set (flushes all tables) + - networking.nftables.extraDeletions needs to be set + - or networking.nftables.tables can be used, which will clean up the table automatically + ''; }; networking.nftables.rulesetFile = lib.mkOption { type = lib.types.nullOr lib.types.path; default = null; description = '' - The ruleset file to be used with nftables. Should be in a format that - can be loaded using "nft -f". The ruleset is updated atomically. - ''; + The ruleset file to be used with nftables. Should be in a format that + can be loaded using "nft -f". The ruleset is updated atomically. + ''; }; networking.nftables.flattenRulesetFile = lib.mkOption { @@ -196,7 +212,7 @@ in networking.nftables.tables = lib.mkOption { type = lib.types.attrsOf (lib.types.submodule tableSubmodule); - default = {}; + default = { }; description = '' Tables to be added to ruleset. @@ -257,78 +273,115 @@ in boot.blacklistedKernelModules = [ "ip_tables" ]; environment.systemPackages = [ pkgs.nftables ]; # versionOlder for backportability, remove afterwards - networking.nftables.flushRuleset = lib.mkDefault (lib.versionOlder config.system.stateVersion "23.11" || (cfg.rulesetFile != null || cfg.ruleset != "")); + networking.nftables.flushRuleset = lib.mkDefault ( + lib.versionOlder config.system.stateVersion "23.11" + || (cfg.rulesetFile != null || cfg.ruleset != "") + ); systemd.services.nftables = { description = "nftables firewall"; after = [ "sysinit.target" ]; - before = [ "network-pre.target" "shutdown.target" ]; + before = [ + "network-pre.target" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; - wants = [ "network-pre.target" "sysinit.target" ]; + wants = [ + "network-pre.target" + "sysinit.target" + ]; wantedBy = [ "multi-user.target" ]; reloadIfChanged = true; - serviceConfig = let - enabledTables = lib.filterAttrs (_: table: table.enable) cfg.tables; - deletionsScript = pkgs.writeScript "nftables-deletions" '' - #! ${pkgs.nftables}/bin/nft -f - ${if cfg.flushRuleset then "flush ruleset" - else lib.concatStringsSep "\n" (lib.mapAttrsToList (_: table: '' - table ${table.family} ${table.name} - delete table ${table.family} ${table.name} - '') enabledTables)} - ${cfg.extraDeletions} - ''; - deletionsScriptVar = "/var/lib/nftables/deletions.nft"; - ensureDeletions = pkgs.writeShellScript "nftables-ensure-deletions" '' - touch ${deletionsScriptVar} - chmod +x ${deletionsScriptVar} - ''; - saveDeletionsScript = pkgs.writeShellScript "nftables-save-deletions" '' - cp ${deletionsScript} ${deletionsScriptVar} - ''; - cleanupDeletionsScript = pkgs.writeShellScript "nftables-cleanup-deletions" '' - rm ${deletionsScriptVar} - ''; - rulesScript = pkgs.writeTextFile { - name = "nftables-rules"; - executable = true; - text = '' + serviceConfig = + let + enabledTables = lib.filterAttrs (_: table: table.enable) cfg.tables; + deletionsScript = pkgs.writeScript "nftables-deletions" '' #! ${pkgs.nftables}/bin/nft -f - # previous deletions, if any - include "${deletionsScriptVar}" - # current deletions - include "${deletionsScript}" - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (_: table: '' - table ${table.family} ${table.name} { - ${table.content} - } - '') enabledTables)} - ${cfg.ruleset} - ${if cfg.rulesetFile != null then - if cfg.flattenRulesetFile then - builtins.readFile cfg.rulesetFile - else '' - include "${cfg.rulesetFile}" - '' - else ""} + ${ + if cfg.flushRuleset then + "flush ruleset" + else + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (_: table: '' + table ${table.family} ${table.name} + delete table ${table.family} ${table.name} + '') enabledTables + ) + } + ${cfg.extraDeletions} + ''; + deletionsScriptVar = "/var/lib/nftables/deletions.nft"; + ensureDeletions = pkgs.writeShellScript "nftables-ensure-deletions" '' + touch ${deletionsScriptVar} + chmod +x ${deletionsScriptVar} ''; - checkPhase = lib.optionalString cfg.checkRuleset '' - cp $out ruleset.conf - sed 's|include "${deletionsScriptVar}"||' -i ruleset.conf - ${cfg.preCheckRuleset} - export NIX_REDIRECTS=${lib.escapeShellArg (lib.concatStringsSep ":" (lib.mapAttrsToList (n: v: "${n}=${v}") cfg.checkRulesetRedirects))} - LD_PRELOAD="${pkgs.buildPackages.libredirect}/lib/libredirect.so ${pkgs.buildPackages.lklWithFirewall.lib}/lib/liblkl-hijack.so" \ - ${pkgs.buildPackages.nftables}/bin/nft --check --file ruleset.conf + saveDeletionsScript = pkgs.writeShellScript "nftables-save-deletions" '' + cp ${deletionsScript} ${deletionsScriptVar} ''; + cleanupDeletionsScript = pkgs.writeShellScript "nftables-cleanup-deletions" '' + rm ${deletionsScriptVar} + ''; + rulesScript = pkgs.writeTextFile { + name = "nftables-rules"; + executable = true; + text = '' + #! ${pkgs.nftables}/bin/nft -f + # previous deletions, if any + include "${deletionsScriptVar}" + # current deletions + include "${deletionsScript}" + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (_: table: '' + table ${table.family} ${table.name} { + ${table.content} + } + '') enabledTables + )} + ${cfg.ruleset} + ${ + if cfg.rulesetFile != null then + if cfg.flattenRulesetFile then + builtins.readFile cfg.rulesetFile + else + '' + include "${cfg.rulesetFile}" + '' + else + "" + } + ''; + checkPhase = lib.optionalString cfg.checkRuleset '' + cp $out ruleset.conf + sed 's|include "${deletionsScriptVar}"||' -i ruleset.conf + ${cfg.preCheckRuleset} + export NIX_REDIRECTS=${ + lib.escapeShellArg ( + lib.concatStringsSep ":" (lib.mapAttrsToList (n: v: "${n}=${v}") cfg.checkRulesetRedirects) + ) + } + LD_PRELOAD="${pkgs.buildPackages.libredirect}/lib/libredirect.so ${pkgs.buildPackages.lklWithFirewall.lib}/lib/liblkl-hijack.so" \ + ${pkgs.buildPackages.nftables}/bin/nft --check --file ruleset.conf + ''; + }; + in + { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = [ + ensureDeletions + rulesScript + ]; + ExecStartPost = saveDeletionsScript; + ExecReload = [ + ensureDeletions + rulesScript + saveDeletionsScript + ]; + ExecStop = [ + deletionsScriptVar + cleanupDeletionsScript + ]; + StateDirectory = "nftables"; }; - in { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = [ ensureDeletions rulesScript ]; - ExecStartPost = saveDeletionsScript; - ExecReload = [ ensureDeletions rulesScript saveDeletionsScript ]; - ExecStop = [ deletionsScriptVar cleanupDeletionsScript ]; - StateDirectory = "nftables"; - }; unitConfig.DefaultDependencies = false; }; }; diff --git a/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix b/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix index 6523f4b8b9e0f..bbf8691bb6784 100644 --- a/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix +++ b/nixos/modules/services/networking/nghttpx/backend-params-submodule.nix @@ -1,8 +1,12 @@ -{ lib, ...}: -{ options = { +{ lib, ... }: +{ + options = { proto = lib.mkOption { - type = lib.types.enum [ "h2" "http/1.1" ]; - default = "http/1.1"; + type = lib.types.enum [ + "h2" + "http/1.1" + ]; + default = "http/1.1"; description = '' This option configures the protocol the backend server expects to use. @@ -13,8 +17,8 @@ }; tls = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' This option determines whether nghttpx will negotiate its connection with a backend server using TLS or not. The burden @@ -26,8 +30,8 @@ }; sni = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; + type = lib.types.nullOr lib.types.str; + default = null; description = '' Override the TLS SNI field value. This value (in nghttpx) defaults to the host value of the backend configuration. @@ -38,8 +42,8 @@ }; fall = lib.mkOption { - type = lib.types.int; - default = 0; + type = lib.types.int; + default = 0; description = '' If nghttpx cannot connect to the backend N times in a row, the backend is assumed to be offline and is excluded from load @@ -52,8 +56,8 @@ }; rise = lib.mkOption { - type = lib.types.int; - default = 0; + type = lib.types.int; + default = 0; description = '' If the backend is excluded from load balancing, nghttpx will periodically attempt to make a connection to the backend. If @@ -67,8 +71,11 @@ }; affinity = lib.mkOption { - type = lib.types.enum [ "ip" "none" ]; - default = "none"; + type = lib.types.enum [ + "ip" + "none" + ]; + default = "none"; description = '' If "ip" is given, client IP based session affinity is enabled. If "none" is given, session affinity is disabled. @@ -89,8 +96,8 @@ }; dns = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Name resolution of a backends host name is done at start up, or configuration reload. If "dns" is true, name resolution @@ -106,8 +113,8 @@ }; redirect-if-not-tls = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' If true, a backend match requires the frontend connection be TLS encrypted. If it is not, nghttpx responds to the request diff --git a/nixos/modules/services/networking/nghttpx/backend-submodule.nix b/nixos/modules/services/networking/nghttpx/backend-submodule.nix index eb559e926e76b..19829f59ea91d 100644 --- a/nixos/modules/services/networking/nghttpx/backend-submodule.nix +++ b/nixos/modules/services/networking/nghttpx/backend-submodule.nix @@ -1,10 +1,8 @@ { lib, ... }: -{ options = { +{ + options = { server = lib.mkOption { - type = - lib.types.either - (lib.types.submodule (import ./server-options.nix)) - (lib.types.path); + type = lib.types.either (lib.types.submodule (import ./server-options.nix)) (lib.types.path); example = { host = "127.0.0.1"; port = 8888; @@ -20,13 +18,13 @@ }; patterns = lib.mkOption { - type = lib.types.listOf lib.types.str; + type = lib.types.listOf lib.types.str; example = [ "*.host.net/v1/" "host.org/v2/mypath" "/somepath" ]; - default = []; + default = [ ]; description = '' List of nghttpx backend patterns. @@ -36,12 +34,12 @@ }; params = lib.mkOption { - type = lib.types.nullOr (lib.types.submodule (import ./backend-params-submodule.nix)); + type = lib.types.nullOr (lib.types.submodule (import ./backend-params-submodule.nix)); example = { proto = "h2"; - tls = true; + tls = true; }; - default = null; + default = null; description = '' Parameters to configure a backend. ''; diff --git a/nixos/modules/services/networking/nghttpx/default.nix b/nixos/modules/services/networking/nghttpx/default.nix index b8a0a24e3aad1..40eba4849adc6 100644 --- a/nixos/modules/services/networking/nghttpx/default.nix +++ b/nixos/modules/services/networking/nghttpx/default.nix @@ -1,24 +1,33 @@ -{config, pkgs, lib, ...}: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.nghttpx; # renderHost :: Either ServerOptions Path -> String - renderHost = server: - if builtins.isString server - then "unix://${server}" - else "${server.host},${builtins.toString server.port}"; + renderHost = + server: + if builtins.isString server then + "unix://${server}" + else + "${server.host},${builtins.toString server.port}"; # Filter out submodule parameters whose value is null or false or is # the key _module. # # filterParams :: ParamsSubmodule -> ParamsSubmodule - filterParams = p: - lib.filterAttrs - (n: v: ("_module" != n) && (null != v) && (false != v)) - (lib.optionalAttrs (null != p) p); + filterParams = + p: + lib.filterAttrs (n: v: ("_module" != n) && (null != v) && (false != v)) ( + lib.optionalAttrs (null != p) p + ); # renderBackend :: BackendSubmodule -> String - renderBackend = backend: + renderBackend = + backend: let host = renderHost backend.server; patterns = lib.concatStringsSep ":" backend.patterns; @@ -27,53 +36,55 @@ let # complicated because nghttpx backend patterns can be entirely # omitted and the params may be given as a mixed collection of # 'key=val' pairs or atoms (e.g: 'proto=h2;tls') - params = - lib.mapAttrsToList - (n: v: - if builtins.isBool v - then n - else if builtins.isString v - then "${n}=${v}" - else "${n}=${builtins.toString v}") - (filterParams backend.params); + params = lib.mapAttrsToList ( + n: v: + if builtins.isBool v then + n + else if builtins.isString v then + "${n}=${v}" + else + "${n}=${builtins.toString v}" + ) (filterParams backend.params); # NB: params are delimited by a ";" which is the same delimiter # to separate the host;[pattern];[params] sections of a backend - sections = - builtins.filter (e: "" != e) ([ + sections = builtins.filter (e: "" != e) ( + [ host patterns - ]++params); + ] + ++ params + ); formattedSections = lib.concatStringsSep ";" sections; in - "backend=${formattedSections}"; + "backend=${formattedSections}"; # renderFrontend :: FrontendSubmodule -> String - renderFrontend = frontend: + renderFrontend = + frontend: let - host = renderHost frontend.server; - params0 = - lib.mapAttrsToList - (n: v: if builtins.isBool v then n else v) - (filterParams frontend.params); + host = renderHost frontend.server; + params0 = lib.mapAttrsToList (n: v: if builtins.isBool v then n else v) ( + filterParams frontend.params + ); # NB: nghttpx doesn't accept "tls", you must omit "no-tls" for # the default behavior of turning on TLS. params1 = lib.remove "tls" params0; - sections = [ host] ++ params1; + sections = [ host ] ++ params1; formattedSections = lib.concatStringsSep ";" sections; in - "frontend=${formattedSections}"; + "frontend=${formattedSections}"; configurationFile = pkgs.writeText "nghttpx.conf" '' - ${lib.optionalString (null != cfg.tls) ("private-key-file="+cfg.tls.key)} - ${lib.optionalString (null != cfg.tls) ("certificate-file="+cfg.tls.crt)} + ${lib.optionalString (null != cfg.tls) ("private-key-file=" + cfg.tls.key)} + ${lib.optionalString (null != cfg.tls) ("certificate-file=" + cfg.tls.crt)} user=nghttpx ${lib.concatMapStringsSep "\n" renderFrontend cfg.frontends} - ${lib.concatMapStringsSep "\n" renderBackend cfg.backends} + ${lib.concatMapStringsSep "\n" renderBackend cfg.backends} backlog=${builtins.toString cfg.backlog} backend-address-family=${cfg.backend-address-family} @@ -87,7 +98,8 @@ let ${cfg.extraConfig} ''; in -{ imports = [ +{ + imports = [ ./nghttpx-options.nix ]; @@ -99,17 +111,16 @@ in isSystemUser = true; }; - systemd.services = { nghttpx = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - script = '' + after = [ "network.target" ]; + script = '' ${pkgs.nghttp2}/bin/nghttpx --conf=${configurationFile} ''; serviceConfig = { - Restart = "on-failure"; + Restart = "on-failure"; RestartSec = 60; }; }; diff --git a/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix b/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix index 33c8572bd14fc..2addc3e6e867a 100644 --- a/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix +++ b/nixos/modules/services/networking/nghttpx/frontend-params-submodule.nix @@ -1,8 +1,12 @@ -{ lib, ...}: -{ options = { +{ lib, ... }: +{ + options = { tls = lib.mkOption { - type = lib.types.enum [ "tls" "no-tls" ]; - default = "tls"; + type = lib.types.enum [ + "tls" + "no-tls" + ]; + default = "tls"; description = '' Enable or disable TLS. If true (enabled) the key and certificate must be configured for nghttpx. @@ -13,7 +17,7 @@ }; sni-fwd = lib.mkOption { - type = lib.types.bool; + type = lib.types.bool; default = false; description = '' When performing a match to select a backend server, SNI host @@ -26,8 +30,8 @@ }; api = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Enable API access for this frontend. This enables you to dynamically modify nghttpx at run-time therefore this feature @@ -39,8 +43,8 @@ }; healthmon = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Make this frontend a health monitor endpoint. Any request received on this frontend is responded to with a 200 OK. @@ -51,8 +55,8 @@ }; proxyproto = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Accept PROXY protocol version 1 on frontend connection. diff --git a/nixos/modules/services/networking/nghttpx/frontend-submodule.nix b/nixos/modules/services/networking/nghttpx/frontend-submodule.nix index 887ef45021319..3083b4e2b986a 100644 --- a/nixos/modules/services/networking/nghttpx/frontend-submodule.nix +++ b/nixos/modules/services/networking/nghttpx/frontend-submodule.nix @@ -1,10 +1,8 @@ { lib, ... }: -{ options = { +{ + options = { server = lib.mkOption { - type = - lib.types.either - (lib.types.submodule (import ./server-options.nix)) - (lib.types.path); + type = lib.types.either (lib.types.submodule (import ./server-options.nix)) (lib.types.path); example = { host = "127.0.0.1"; port = 8888; @@ -23,11 +21,11 @@ }; params = lib.mkOption { - type = lib.types.nullOr (lib.types.submodule (import ./frontend-params-submodule.nix)); + type = lib.types.nullOr (lib.types.submodule (import ./frontend-params-submodule.nix)); example = { - tls = "tls"; + tls = "tls"; }; - default = null; + default = null; description = '' Parameters to configure a backend. ''; diff --git a/nixos/modules/services/networking/nghttpx/nghttpx-options.nix b/nixos/modules/services/networking/nghttpx/nghttpx-options.nix index cb77c0c6d1cd0..79fd8b57c3eb5 100644 --- a/nixos/modules/services/networking/nghttpx/nghttpx-options.nix +++ b/nixos/modules/services/networking/nghttpx/nghttpx-options.nix @@ -1,14 +1,16 @@ { lib, ... }: -{ options.services.nghttpx = { +{ + options.services.nghttpx = { enable = lib.mkEnableOption "nghttpx"; frontends = lib.mkOption { - type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix)); + type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix)); description = '' A list of frontend listener specifications. ''; example = [ - { server = { + { + server = { host = "*"; port = 80; }; @@ -20,19 +22,20 @@ ]; }; - backends = lib.mkOption { + backends = lib.mkOption { type = lib.types.listOf (lib.types.submodule (import ./backend-submodule.nix)); description = '' A list of backend specifications. ''; example = [ - { server = { + { + server = { host = "172.16.0.22"; port = 8443; }; patterns = [ "/" ]; - params = { - proto = "http/1.1"; + params = { + proto = "http/1.1"; redirect-if-not-tls = true; }; } @@ -40,8 +43,8 @@ }; tls = lib.mkOption { - type = lib.types.nullOr (lib.types.submodule (import ./tls-submodule.nix)); - default = null; + type = lib.types.nullOr (lib.types.submodule (import ./tls-submodule.nix)); + default = null; description = '' TLS certificate and key paths. Note that this does not enable TLS for a frontend listener, to do so, a frontend @@ -54,8 +57,8 @@ }; extraConfig = lib.mkOption { - type = lib.types.lines; - default = ""; + type = lib.types.lines; + default = ""; description = '' Extra configuration options to be appended to the generated configuration file. @@ -63,8 +66,8 @@ }; single-process = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Run this program in a single process mode for debugging purpose. Without this option, nghttpx creates at least 2 @@ -79,8 +82,8 @@ }; backlog = lib.mkOption { - type = lib.types.int; - default = 65536; + type = lib.types.int; + default = 65536; description = '' Listen backlog size. @@ -106,8 +109,8 @@ }; workers = lib.mkOption { - type = lib.types.int; - default = 1; + type = lib.types.int; + default = 1; description = '' Set the number of worker threads. @@ -116,8 +119,8 @@ }; single-thread = lib.mkOption { - type = lib.types.bool; - default = false; + type = lib.types.bool; + default = false; description = '' Run everything in one thread inside the worker process. This feature is provided for better debugging experience, or for @@ -129,8 +132,8 @@ }; rlimit-nofile = lib.mkOption { - type = lib.types.int; - default = 0; + type = lib.types.int; + default = 0; description = '' Set maximum number of open files (RLIMIT_NOFILE) to \. If 0 is given, nghttpx does not set the limit. diff --git a/nixos/modules/services/networking/nghttpx/server-options.nix b/nixos/modules/services/networking/nghttpx/server-options.nix index ef23bfd793c5c..19e03cac557dc 100644 --- a/nixos/modules/services/networking/nghttpx/server-options.nix +++ b/nixos/modules/services/networking/nghttpx/server-options.nix @@ -1,15 +1,16 @@ { lib, ... }: -{ options = { +{ + options = { host = lib.mkOption { - type = lib.types.str; - example = "127.0.0.1"; + type = lib.types.str; + example = "127.0.0.1"; description = '' Server host address. ''; }; port = lib.mkOption { - type = lib.types.int; - example = 5088; + type = lib.types.int; + example = 5088; description = '' Server host port. ''; diff --git a/nixos/modules/services/networking/nghttpx/tls-submodule.nix b/nixos/modules/services/networking/nghttpx/tls-submodule.nix index 8f3cdaae2c818..2b9cdf92114ed 100644 --- a/nixos/modules/services/networking/nghttpx/tls-submodule.nix +++ b/nixos/modules/services/networking/nghttpx/tls-submodule.nix @@ -1,18 +1,19 @@ -{lib, ...}: -{ options = { +{ lib, ... }: +{ + options = { key = lib.mkOption { - type = lib.types.str; - example = "/etc/ssl/keys/mykeyfile.key"; - default = "/etc/ssl/keys/server.key"; + type = lib.types.str; + example = "/etc/ssl/keys/mykeyfile.key"; + default = "/etc/ssl/keys/server.key"; description = '' Path to the TLS key file. ''; }; crt = lib.mkOption { - type = lib.types.str; - example = "/etc/ssl/certs/mycert.crt"; - default = "/etc/ssl/certs/server.crt"; + type = lib.types.str; + example = "/etc/ssl/certs/mycert.crt"; + default = "/etc/ssl/certs/server.crt"; description = '' Path to the TLS certificate file. ''; diff --git a/nixos/modules/services/networking/ngircd.nix b/nixos/modules/services/networking/ngircd.nix index 76e4642c86194..5b2009e049154 100644 --- a/nixos/modules/services/networking/ngircd.nix +++ b/nixos/modules/services/networking/ngircd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -17,7 +22,8 @@ let ${cfg.package}/sbin/ngircd --config $out --configtest ''; }; -in { +in +{ options = { services.ngircd = { enable = mkEnableOption "the ngircd IRC server"; @@ -49,7 +55,7 @@ in { group = "ngircd"; description = "ngircd user."; }; - users.groups.ngircd = {}; + users.groups.ngircd = { }; }; } diff --git a/nixos/modules/services/networking/nix-serve.nix b/nixos/modules/services/networking/nix-serve.nix index 9f1c54adcfb4a..22a4db19bdee2 100644 --- a/nixos/modules/services/networking/nix-serve.nix +++ b/nixos/modules/services/networking/nix-serve.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -69,7 +74,10 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ config.nix.package.out pkgs.bzip2.bin ]; + path = [ + config.nix.package.out + pkgs.bzip2.bin + ]; environment.NIX_REMOTE = "daemon"; script = '' @@ -85,8 +93,9 @@ in User = "nix-serve"; Group = "nix-serve"; DynamicUser = true; - LoadCredential = lib.optionalString (cfg.secretKeyFile != null) - "NIX_SECRET_KEY_FILE:${cfg.secretKeyFile}"; + LoadCredential = lib.optionalString ( + cfg.secretKeyFile != null + ) "NIX_SECRET_KEY_FILE:${cfg.secretKeyFile}"; }; }; diff --git a/nixos/modules/services/networking/nix-store-gcs-proxy.nix b/nixos/modules/services/networking/nix-store-gcs-proxy.nix index 0012302db2e3c..828f4d5c244dc 100644 --- a/nixos/modules/services/networking/nix-store-gcs-proxy.nix +++ b/nixos/modules/services/networking/nix-store-gcs-proxy.nix @@ -1,75 +1,84 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let - opts = { name, config, ... }: { - options = { - enable = mkOption { - default = true; - type = types.bool; - example = true; - description = "Whether to enable proxy for this bucket"; - }; - bucketName = mkOption { - type = types.str; - default = name; - example = "my-bucket-name"; - description = "Name of Google storage bucket"; - }; - address = mkOption { - type = types.str; - example = "localhost:3000"; - description = "The address of the proxy."; + opts = + { name, config, ... }: + { + options = { + enable = mkOption { + default = true; + type = types.bool; + example = true; + description = "Whether to enable proxy for this bucket"; + }; + bucketName = mkOption { + type = types.str; + default = name; + example = "my-bucket-name"; + description = "Name of Google storage bucket"; + }; + address = mkOption { + type = types.str; + example = "localhost:3000"; + description = "The address of the proxy."; + }; }; }; - }; enabledProxies = lib.filterAttrs (n: v: v.enable) config.services.nix-store-gcs-proxy; mapProxies = function: lib.mkMerge (lib.mapAttrsToList function enabledProxies); in { options.services.nix-store-gcs-proxy = mkOption { type = types.attrsOf (types.submodule opts); - default = {}; + default = { }; description = '' An attribute set describing an HTTP to GCS proxy that allows us to use GCS bucket via HTTP protocol. ''; }; - config.systemd.services = mapProxies (name: cfg: { - "nix-store-gcs-proxy-${name}" = { - description = "A HTTP nix store that proxies requests to Google Storage"; - wantedBy = ["multi-user.target"]; + config.systemd.services = mapProxies ( + name: cfg: { + "nix-store-gcs-proxy-${name}" = { + description = "A HTTP nix store that proxies requests to Google Storage"; + wantedBy = [ "multi-user.target" ]; - startLimitIntervalSec = 10; - serviceConfig = { - RestartSec = 5; - ExecStart = '' - ${pkgs.nix-store-gcs-proxy}/bin/nix-store-gcs-proxy \ - --bucket-name ${cfg.bucketName} \ - --addr ${cfg.address} - ''; + startLimitIntervalSec = 10; + serviceConfig = { + RestartSec = 5; + ExecStart = '' + ${pkgs.nix-store-gcs-proxy}/bin/nix-store-gcs-proxy \ + --bucket-name ${cfg.bucketName} \ + --addr ${cfg.address} + ''; - DynamicUser = true; + DynamicUser = true; - ProtectSystem = "strict"; - ProtectHome = true; - PrivateTmp = true; - PrivateDevices = true; - PrivateMounts = true; - PrivateUsers = true; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateUsers = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; - NoNewPrivileges = true; - LockPersonality = true; - RestrictRealtime = true; + NoNewPrivileges = true; + LockPersonality = true; + RestrictRealtime = true; + }; }; - }; - }); + } + ); meta.maintainers = [ maintainers.mrkkrp ]; } diff --git a/nixos/modules/services/networking/nixops-dns.nix b/nixos/modules/services/networking/nixops-dns.nix index 5d009d6d30845..55434c4fa53fe 100644 --- a/nixos/modules/services/networking/nixops-dns.nix +++ b/nixos/modules/services/networking/nixops-dns.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -58,7 +63,7 @@ in serviceConfig = { Type = "simple"; User = cfg.user; - ExecStart="${pkg}/bin/nixops-dns --domain=.${cfg.domain}"; + ExecStart = "${pkg}/bin/nixops-dns --domain=.${cfg.domain}"; }; }; diff --git a/nixos/modules/services/networking/nncp.nix b/nixos/modules/services/networking/nncp.nix index 8c5b5a61a181d..5ea42905d86ab 100644 --- a/nixos/modules/services/networking/nncp.nix +++ b/nixos/modules/services/networking/nncp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -9,7 +14,8 @@ let settingsFormat = pkgs.formats.json { }; jsonCfgFile = settingsFormat.generate "nncp.json" programCfg.settings; pkg = programCfg.package; -in { +in +{ options = { services.nncp = { @@ -57,16 +63,21 @@ in { config = mkIf (programCfg.enable or callerCfg.enable or daemonCfg.enable) { - assertions = [{ - assertion = with builtins; - let - callerCongfigured = - let neigh = config.programs.nncp.settings.neigh or { }; - in lib.lists.any (x: hasAttr "calls" x && x.calls != [ ]) - (attrValues neigh); - in !callerCfg.enable || callerCongfigured; - message = "NNCP caller enabled but call configuration is missing"; - }]; + assertions = [ + { + assertion = + with builtins; + let + callerCongfigured = + let + neigh = config.programs.nncp.settings.neigh or { }; + in + lib.lists.any (x: hasAttr "calls" x && x.calls != [ ]) (attrValues neigh); + in + !callerCfg.enable || callerCongfigured; + message = "NNCP caller enabled but call configuration is missing"; + } + ]; systemd.services."nncp-caller" = { inherit (callerCfg) enable; @@ -75,10 +86,7 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = '' - ${pkg}/bin/nncp-caller -noprogress -cfg "${nncpCfgFile}" ${ - lib.strings.escapeShellArgs callerCfg.extraArgs - }''; + ExecStart = ''${pkg}/bin/nncp-caller -noprogress -cfg "${nncpCfgFile}" ${lib.strings.escapeShellArgs callerCfg.extraArgs}''; Group = "uucp"; UMask = "0002"; }; @@ -91,10 +99,7 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = '' - ${pkg}/bin/nncp-daemon -noprogress -cfg "${nncpCfgFile}" ${ - lib.strings.escapeShellArgs daemonCfg.extraArgs - }''; + ExecStart = ''${pkg}/bin/nncp-daemon -noprogress -cfg "${nncpCfgFile}" ${lib.strings.escapeShellArgs daemonCfg.extraArgs}''; Restart = "on-failure"; Group = "uucp"; UMask = "0002"; @@ -106,10 +111,7 @@ in { documentation = [ "http://www.nncpgo.org/nncp_002ddaemon.html" ]; after = [ "network.target" ]; serviceConfig = { - ExecStart = '' - ${pkg}/bin/nncp-daemon -noprogress -ucspi -cfg "${nncpCfgFile}" ${ - lib.strings.escapeShellArgs daemonCfg.extraArgs - }''; + ExecStart = ''${pkg}/bin/nncp-daemon -noprogress -ucspi -cfg "${nncpCfgFile}" ${lib.strings.escapeShellArgs daemonCfg.extraArgs}''; Group = "uucp"; UMask = "0002"; StandardInput = "socket"; diff --git a/nixos/modules/services/networking/nntp-proxy.nix b/nixos/modules/services/networking/nntp-proxy.nix index 0a174ec346642..7495004021111 100644 --- a/nixos/modules/services/networking/nntp-proxy.nix +++ b/nixos/modules/services/networking/nntp-proxy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -39,14 +44,17 @@ let # Verbose levels: ERROR, WARNING, NOTICE, INFO, DEBUG verbose = "${toUpper cfg.verbosity}"; # Password is made with: 'mkpasswd -m sha-512 ' - users = (${concatStringsSep ",\n" (mapAttrsToList (username: userConfig: - '' - { - username = "${username}"; - password = "${userConfig.passwordHash}"; - max_connections = ${toString userConfig.maxConnections}; - } - '') cfg.users)}); + users = (${ + concatStringsSep ",\n" ( + mapAttrsToList (username: userConfig: '' + { + username = "${username}"; + password = "${userConfig.passwordHash}"; + max_connections = ${toString userConfig.maxConnections}; + } + '') cfg.users + ) + }); }; ''; @@ -146,7 +154,13 @@ in }; verbosity = mkOption { - type = types.enum [ "error" "warning" "notice" "info" "debug" ]; + type = types.enum [ + "error" + "warning" + "notice" + "info" + "debug" + ]; default = "info"; example = "error"; description = '' @@ -155,38 +169,40 @@ in }; users = mkOption { - type = types.attrsOf (types.submodule { - options = { - username = mkOption { - type = types.str; - description = '' - Username - ''; - }; - - passwordHash = mkOption { - type = types.str; - example = "$6$GtzE7FrpE$wwuVgFYU.TZH4Rz.Snjxk9XGua89IeVwPQ/fEUD8eujr40q5Y021yhn0aNcsQ2Ifw.BLclyzvzgegopgKcneL0"; - description = '' - SHA-512 password hash (can be generated by - `mkpasswd -m sha-512 `) - ''; + type = types.attrsOf ( + types.submodule { + options = { + username = mkOption { + type = types.str; + description = '' + Username + ''; + }; + + passwordHash = mkOption { + type = types.str; + example = "$6$GtzE7FrpE$wwuVgFYU.TZH4Rz.Snjxk9XGua89IeVwPQ/fEUD8eujr40q5Y021yhn0aNcsQ2Ifw.BLclyzvzgegopgKcneL0"; + description = '' + SHA-512 password hash (can be generated by + `mkpasswd -m sha-512 `) + ''; + }; + + maxConnections = mkOption { + type = types.int; + default = 1; + description = '' + Maximum number of concurrent connections to the proxy for this user + ''; + }; }; - - maxConnections = mkOption { - type = types.int; - default = 1; - description = '' - Maximum number of concurrent connections to the proxy for this user - ''; - }; - }; - }); + } + ); description = '' NNTP-Proxy user configuration ''; - default = {}; + default = { }; example = literalExpression '' { "user1" = { @@ -213,13 +229,18 @@ in group = "nntp-proxy"; description = "NNTP-Proxy daemon user"; }; - users.groups.nntp-proxy = {}; + users.groups.nntp-proxy = { }; systemd.services.nntp-proxy = { description = "NNTP proxy"; - after = [ "network.target" "nss-lookup.target" ]; + after = [ + "network.target" + "nss-lookup.target" + ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = { User="nntp-proxy"; }; + serviceConfig = { + User = "nntp-proxy"; + }; serviceConfig.ExecStart = "${nntp-proxy}/bin/nntp-proxy ${confFile}"; preStart = '' if [ ! \( -f ${cfg.sslCert} -a -f ${cfg.sslKey} \) ]; then diff --git a/nixos/modules/services/networking/nomad.nix b/nixos/modules/services/networking/nomad.nix index a30622ac8548a..f66e82e7143b8 100644 --- a/nixos/modules/services/networking/nomad.nix +++ b/nixos/modules/services/networking/nomad.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.nomad; @@ -132,12 +137,14 @@ in after = [ "network-online.target" ]; restartTriggers = [ config.environment.etc."nomad.json".source ]; - path = cfg.extraPackages ++ (with pkgs; [ - # Client mode requires at least the following: - coreutils - iproute2 - iptables - ]); + path = + cfg.extraPackages + ++ (with pkgs; [ + # Client mode requires at least the following: + coreutils + iproute2 + iptables + ]); serviceConfig = mkMerge [ { @@ -145,15 +152,16 @@ in ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecStart = let - pluginsDir = pkgs.symlinkJoin - { - name = "nomad-plugins"; - paths = cfg.extraSettingsPlugins; - }; + pluginsDir = pkgs.symlinkJoin { + name = "nomad-plugins"; + paths = cfg.extraSettingsPlugins; + }; in - "${cfg.package}/bin/nomad agent -config=/etc/nomad.json -plugin-dir=${pluginsDir}/bin" + - concatMapStrings (path: " -config=${path}") cfg.extraSettingsPaths + - concatMapStrings (key: " -config=\${CREDENTIALS_DIRECTORY}/${key}") (lib.attrNames cfg.credentials); + "${cfg.package}/bin/nomad agent -config=/etc/nomad.json -plugin-dir=${pluginsDir}/bin" + + concatMapStrings (path: " -config=${path}") cfg.extraSettingsPaths + + concatMapStrings (key: " -config=\${CREDENTIALS_DIRECTORY}/${key}") ( + lib.attrNames cfg.credentials + ); KillMode = "process"; KillSignal = "SIGINT"; LimitNOFILE = 65536; diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index fe878ddbe05f1..bc6aa5ae3fffb 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -21,19 +26,24 @@ let mkZoneFileName = name: if name == "." then "root" else name; # replaces include: directives for keys with fake keys for nsd-checkconf - injectFakeKeys = keys: concatStrings - (mapAttrsToList - (keyName: keyOptions: '' - fakeKey="$(${pkgs.bind}/bin/tsig-keygen -a ${escapeShellArgs [ keyOptions.algorithm keyName ]} | grep -oP "\s*secret \"\K.*(?=\";)")" + injectFakeKeys = + keys: + concatStrings ( + mapAttrsToList (keyName: keyOptions: '' + fakeKey="$(${pkgs.bind}/bin/tsig-keygen -a ${ + escapeShellArgs [ + keyOptions.algorithm + keyName + ] + } | grep -oP "\s*secret \"\K.*(?=\";)")" sed "s@^\s*include:\s*\"${stateDir}/private/${keyName}\"\$@secret: $fakeKey@" -i $out/nsd.conf - '') - keys); + '') keys + ); nsdEnv = pkgs.buildEnv { name = "nsd-env"; - paths = [ configFile ] - ++ mapAttrsToList (name: zone: writeZoneData name zone.data) zoneConfigs; + paths = [ configFile ] ++ mapAttrsToList (name: zone: writeZoneData name zone.data) zoneConfigs; postBuild = '' echo "checking zone files" @@ -64,12 +74,13 @@ let ''; }; - writeZoneData = name: text: pkgs.writeTextFile { - name = "nsd-zone-${mkZoneFileName name}"; - inherit text; - destination = "/zones/${mkZoneFileName name}"; - }; - + writeZoneData = + name: text: + pkgs.writeTextFile { + name = "nsd-zone-${mkZoneFileName name}"; + inherit text; + destination = "/zones/${mkZoneFileName name}"; + }; # options are ordered alphanumerically by the nixos option name configFile = pkgs.writeTextDir "nsd.conf" '' @@ -89,19 +100,19 @@ let # interfaces ${forEach " ip-address: " cfg.interfaces} - ip-freebind: ${yesOrNo cfg.ipFreebind} - hide-version: ${yesOrNo cfg.hideVersion} + ip-freebind: ${yesOrNo cfg.ipFreebind} + hide-version: ${yesOrNo cfg.hideVersion} identity: "${cfg.identity}" - ip-transparent: ${yesOrNo cfg.ipTransparent} - do-ip4: ${yesOrNo cfg.ipv4} + ip-transparent: ${yesOrNo cfg.ipTransparent} + do-ip4: ${yesOrNo cfg.ipv4} ipv4-edns-size: ${toString cfg.ipv4EDNSSize} - do-ip6: ${yesOrNo cfg.ipv6} + do-ip6: ${yesOrNo cfg.ipv6} ipv6-edns-size: ${toString cfg.ipv6EDNSSize} - log-time-ascii: ${yesOrNo cfg.logTimeAscii} + log-time-ascii: ${yesOrNo cfg.logTimeAscii} ${maybeString "nsid: " cfg.nsid} port: ${toString cfg.port} - reuseport: ${yesOrNo cfg.reuseport} - round-robin: ${yesOrNo cfg.roundRobin} + reuseport: ${yesOrNo cfg.reuseport} + round-robin: ${yesOrNo cfg.roundRobin} server-count: ${toString cfg.serverCount} ${maybeToString "statistics: " cfg.statistics} tcp-count: ${toString cfg.tcpCount} @@ -110,20 +121,20 @@ let verbosity: ${toString cfg.verbosity} ${maybeString "version: " cfg.version} xfrd-reload-timeout: ${toString cfg.xfrdReloadTimeout} - zonefiles-check: ${yesOrNo cfg.zonefilesCheck} + zonefiles-check: ${yesOrNo cfg.zonefilesCheck} zonefiles-write: ${toString cfg.zonefilesWrite} ${maybeString "rrl-ipv4-prefix-length: " cfg.ratelimit.ipv4PrefixLength} ${maybeString "rrl-ipv6-prefix-length: " cfg.ratelimit.ipv6PrefixLength} rrl-ratelimit: ${toString cfg.ratelimit.ratelimit} - ${maybeString "rrl-slip: " cfg.ratelimit.slip} + ${maybeString "rrl-slip: " cfg.ratelimit.slip} rrl-size: ${toString cfg.ratelimit.size} rrl-whitelist-ratelimit: ${toString cfg.ratelimit.whitelistRatelimit} ${keyConfigFile} remote-control: - control-enable: ${yesOrNo cfg.remoteControl.enable} + control-enable: ${yesOrNo cfg.remoteControl.enable} control-key-file: "${cfg.remoteControl.controlKeyFile}" control-cert-file: "${cfg.remoteControl.controlCertFile}" ${forEach " control-interface: " cfg.remoteControl.interfaces} @@ -141,20 +152,22 @@ let maybeToString = prefix: x: optionalString (x != null) ''${prefix} ${toString x}''; forEach = pre: l: concatMapStrings (x: pre + x + "\n") l; - - keyConfigFile = concatStrings (mapAttrsToList (keyName: keyOptions: '' - key: - name: "${keyName}" - algorithm: "${keyOptions.algorithm}" - include: "${stateDir}/private/${keyName}" - '') cfg.keys); - - copyKeys = concatStrings (mapAttrsToList (keyName: keyOptions: '' - secret=$(cat "${keyOptions.keyFile}") - dest="${stateDir}/private/${keyName}" - install -m 0400 -o "${username}" -g "${username}" <(echo " secret: \"$secret\"") "$dest" - '') cfg.keys); - + keyConfigFile = concatStrings ( + mapAttrsToList (keyName: keyOptions: '' + key: + name: "${keyName}" + algorithm: "${keyOptions.algorithm}" + include: "${stateDir}/private/${keyName}" + '') cfg.keys + ); + + copyKeys = concatStrings ( + mapAttrsToList (keyName: keyOptions: '' + secret=$(cat "${keyOptions.keyFile}") + dest="${stateDir}/private/${keyName}" + install -m 0400 -o "${username}" -g "${username}" <(echo " secret: \"$secret\"") "$dest" + '') cfg.keys + ); # options are ordered alphanumerically by the nixos option name zoneConfigFile = name: zone: '' @@ -162,35 +175,40 @@ let name: "${name}" zonefile: "${stateDir}/zones/${mkZoneFileName name}" ${maybeString "outgoing-interface: " zone.outgoingInterface} - ${forEach " rrl-whitelist: " zone.rrlWhitelist} - ${maybeString "zonestats: " zone.zoneStats} + ${forEach " rrl-whitelist: " zone.rrlWhitelist} + ${maybeString "zonestats: " zone.zoneStats} ${maybeToString "max-refresh-time: " zone.maxRefreshSecs} ${maybeToString "min-refresh-time: " zone.minRefreshSecs} ${maybeToString "max-retry-time: " zone.maxRetrySecs} ${maybeToString "min-retry-time: " zone.minRetrySecs} - allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback} - multi-master-check: ${yesOrNo zone.multiMasterCheck} - ${forEach " allow-notify: " zone.allowNotify} - ${forEach " request-xfr: " zone.requestXFR} + allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback} + multi-master-check: ${yesOrNo zone.multiMasterCheck} + ${forEach " allow-notify: " zone.allowNotify} + ${forEach " request-xfr: " zone.requestXFR} - ${forEach " notify: " zone.notify} + ${forEach " notify: " zone.notify} notify-retry: ${toString zone.notifyRetry} - ${forEach " provide-xfr: " zone.provideXFR} + ${forEach " provide-xfr: " zone.provideXFR} ''; - zoneConfigs = zoneConfigs' {} "" { children = cfg.zones; }; - - zoneConfigs' = parent: name: zone: - if !(zone ? children) || zone.children == null || zone.children == { } - # leaf -> actual zone - then listToAttrs [ (nameValuePair name (parent // zone)) ] - - # fork -> pattern - else zipAttrsWith (name: head) ( - mapAttrsToList (name: child: zoneConfigs' (parent // zone // { children = {}; }) name child) - zone.children + zoneConfigs = zoneConfigs' { } "" { children = cfg.zones; }; + + zoneConfigs' = + parent: name: zone: + if + !(zone ? children) || zone.children == null || zone.children == { } + # leaf -> actual zone + then + listToAttrs [ (nameValuePair name (parent // zone)) ] + + # fork -> pattern + else + zipAttrsWith (name: head) ( + mapAttrsToList ( + name: child: zoneConfigs' (parent // zone // { children = { }; }) name child + ) zone.children ); # options are ordered alphanumerically @@ -209,9 +227,11 @@ let allowNotify = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name" - "10.0.3.4&255.255.0.0 BLOCKED" - ]; + example = [ + "192.0.2.0/24 NOKEY" + "10.0.0.1-10.0.0.5 my_tsig_key_name" + "10.0.3.4&255.255.0.0 BLOCKED" + ]; description = '' Listed primary servers are allowed to notify this secondary server. @@ -241,7 +261,7 @@ let # type here with `zoneConfigs`, since that would set all the attributes # to default values, breaking the parent inheriting function. type = types.attrsOf types.anything; - default = {}; + default = { }; description = '' Children zones inherit all options of their parents. Attributes defined in a child will overwrite the ones of its parent. Only @@ -283,20 +303,22 @@ let }; zsk = mkOption { type = keyPolicy; - default = { keySize = 2048; - prePublish = "1w"; - postPublish = "1w"; - rollPeriod = "1mo"; - }; + default = { + keySize = 2048; + prePublish = "1w"; + postPublish = "1w"; + rollPeriod = "1mo"; + }; description = "Key policy for zone signing keys"; }; ksk = mkOption { type = keyPolicy; - default = { keySize = 4096; - prePublish = "1mo"; - postPublish = "1mo"; - rollPeriod = "0"; - }; + default = { + keySize = 4096; + prePublish = "1mo"; + postPublish = "1mo"; + rollPeriod = "0"; + }; description = "Key policy for key signing keys"; }; }; @@ -350,8 +372,11 @@ let notify = mkOption { type = types.listOf types.str; - default = []; - example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ]; + default = [ ]; + example = [ + "10.0.0.1@3721 my_key" + "::5 NOKEY" + ]; description = '' This primary server will notify all given secondary servers about zone changes. @@ -388,8 +413,11 @@ let provideXFR = mkOption { type = types.listOf types.str; - default = []; - example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ]; + default = [ ]; + example = [ + "192.0.2.0/24 NOKEY" + "192.0.2.0/24 my_tsig_key_name" + ]; description = '' Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40 @@ -398,15 +426,28 @@ let requestXFR = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' Format: `[AXFR|UDP] ` ''; }; rrlWhitelist = mkOption { - type = with types; listOf (enum [ "nxdomain" "error" "referral" "any" "rrsig" "wildcard" "nodata" "dnskey" "positive" "all" ]); - default = []; + type = + with types; + listOf (enum [ + "nxdomain" + "error" + "referral" + "any" + "rrsig" + "wildcard" + "nodata" + "dnskey" + "positive" + "all" + ]); + default = [ ]; description = '' Whitelists the given rrl-types. ''; @@ -450,7 +491,7 @@ let dnssecZones = (filterAttrs (n: v: if v ? dnssec then v.dnssec else false) zoneConfigs); - dnssec = dnssecZones != {}; + dnssec = dnssecZones != { }; dnssecTools = pkgs.bind.override { enablePython = true; }; @@ -464,21 +505,23 @@ let ${dnssecTools}/bin/dnssec-signzone -S -K ${stateDir}/dnssec -o ${name} -O full -N date ${stateDir}/zones/${name} ${nsdPkg}/sbin/nsd-checkzone ${name} ${stateDir}/zones/${name}.signed && mv -v ${stateDir}/zones/${name}.signed ${stateDir}/zones/${name} ''; - policyFile = name: policy: pkgs.writeText "${name}.policy" '' - zone ${name} { - algorithm ${policy.algorithm}; - key-size zsk ${toString policy.zsk.keySize}; - key-size ksk ${toString policy.ksk.keySize}; - keyttl ${policy.keyttl}; - pre-publish zsk ${policy.zsk.prePublish}; - pre-publish ksk ${policy.ksk.prePublish}; - post-publish zsk ${policy.zsk.postPublish}; - post-publish ksk ${policy.ksk.postPublish}; - roll-period zsk ${policy.zsk.rollPeriod}; - roll-period ksk ${policy.ksk.rollPeriod}; - coverage ${policy.coverage}; - }; - ''; + policyFile = + name: policy: + pkgs.writeText "${name}.policy" '' + zone ${name} { + algorithm ${policy.algorithm}; + key-size zsk ${toString policy.zsk.keySize}; + key-size ksk ${toString policy.ksk.keySize}; + keyttl ${policy.keyttl}; + pre-publish zsk ${policy.zsk.prePublish}; + pre-publish ksk ${policy.ksk.prePublish}; + post-publish zsk ${policy.zsk.postPublish}; + post-publish ksk ${policy.ksk.postPublish}; + roll-period zsk ${policy.zsk.rollPeriod}; + roll-period ksk ${policy.ksk.rollPeriod}; + coverage ${policy.coverage}; + }; + ''; in { # options are ordered alphanumerically @@ -522,7 +565,10 @@ in interfaces = mkOption { type = types.listOf types.str; - default = [ "127.0.0.0" "::1" ]; + default = [ + "127.0.0.0" + "::1" + ]; description = '' What addresses the server should listen to. ''; @@ -711,32 +757,33 @@ in ''; }; - keys = mkOption { - type = types.attrsOf (types.submodule { - options = { - - algorithm = mkOption { - type = types.str; - default = "hmac-sha256"; - description = '' - Authentication algorithm for this key. - ''; - }; + type = types.attrsOf ( + types.submodule { + options = { + + algorithm = mkOption { + type = types.str; + default = "hmac-sha256"; + description = '' + Authentication algorithm for this key. + ''; + }; - keyFile = mkOption { - type = types.path; - description = '' - Path to the file which contains the actual base64 encoded - key. The key will be copied into "${stateDir}/private" before - NSD starts. The copied file is only accessibly by the NSD - user. - ''; - }; + keyFile = mkOption { + type = types.path; + description = '' + Path to the file which contains the actual base64 encoded + key. The key will be copied into "${stateDir}/private" before + NSD starts. The copied file is only accessibly by the NSD + user. + ''; + }; - }; - }); - default = {}; + }; + } + ); + default = { }; example = literalExpression '' { "tsig.example.org" = { algorithm = "hmac-md5"; @@ -749,7 +796,6 @@ in ''; }; - ratelimit = { enable = mkEnableOption "ratelimit capabilities"; @@ -810,7 +856,6 @@ in }; - remoteControl = { enable = mkEnableOption "remote control via nsd-control"; @@ -835,7 +880,10 @@ in interfaces = mkOption { type = types.listOf types.str; - default = [ "127.0.0.1" "::1" ]; + default = [ + "127.0.0.1" + "::1" + ]; description = '' Which interfaces NSD should bind to for remote control. ''; @@ -871,7 +919,7 @@ in zones = mkOption { type = types.attrsOf zoneOptions; - default = {}; + default = { }; example = literalExpression '' { "serverGroup1" = { provideXFR = [ "10.1.2.3 NOKEY" ]; @@ -918,8 +966,9 @@ in assertions = singleton { assertion = zoneConfigs ? "." -> cfg.rootServer; - message = "You have a root zone configured. If this is really what you " - + "want, please enable 'services.nsd.rootServer'."; + message = + "You have a root zone configured. If this is really what you " + + "want, please enable 'services.nsd.rootServer'."; }; environment = { @@ -932,7 +981,7 @@ in users.users.${username} = { description = "NSD service user"; home = stateDir; - createHome = true; + createHome = true; uid = config.ids.uids.nsd; group = username; }; @@ -944,7 +993,7 @@ in wantedBy = [ "multi-user.target" ]; startLimitBurst = 4; - startLimitIntervalSec = 5 * 60; # 5 mins + startLimitIntervalSec = 5 * 60; # 5 mins serviceConfig = { ExecStart = "${nsdPkg}/sbin/nsd -d -c ${nsdEnv}/nsd.conf"; StandardError = "null"; diff --git a/nixos/modules/services/networking/ntopng.nix b/nixos/modules/services/networking/ntopng.nix index ebe9e3072e982..d8b4b86a26511 100644 --- a/nixos/modules/services/networking/ntopng.nix +++ b/nixos/modules/services/networking/ntopng.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -14,19 +20,20 @@ let else "redis-${cfg.redis.createInstance}.service"; - configFile = if cfg.configText != "" then - pkgs.writeText "ntopng.conf" '' - ${cfg.configText} - '' + configFile = + if cfg.configText != "" then + pkgs.writeText "ntopng.conf" '' + ${cfg.configText} + '' else - pkgs.writeText "ntopng.conf" '' - ${concatStringsSep "\n" (map (e: "--interface=${e}") cfg.interfaces)} - --http-port=${toString cfg.httpPort} - --redis=${cfg.redis.address} - --data-dir=/var/lib/ntopng - --user=ntopng - ${cfg.extraConfig} - ''; + pkgs.writeText "ntopng.conf" '' + ${concatStringsSep "\n" (map (e: "--interface=${e}") cfg.interfaces)} + --http-port=${toString cfg.httpPort} + --redis=${cfg.redis.address} + --data-dir=/var/lib/ntopng + --user=ntopng + ${cfg.extraConfig} + ''; in @@ -61,7 +68,10 @@ in interfaces = mkOption { default = [ "any" ]; - example = [ "eth0" "wlan0" ]; + example = [ + "eth0" + "wlan0" + ]; type = types.listOf types.str; description = '' List of interfaces to monitor. Use "any" to monitor all interfaces. @@ -126,7 +136,8 @@ in # ntopng uses redis for data storage services.ntopng.redis.address = - mkIf createRedis config.services.redis.servers.${cfg.redis.createInstance}.unixSocket; + mkIf createRedis + config.services.redis.servers.${cfg.redis.createInstance}.unixSocket; services.redis.servers = mkIf createRedis { ${cfg.redis.createInstance} = { diff --git a/nixos/modules/services/networking/ntp/ntpd-rs.nix b/nixos/modules/services/networking/ntp/ntpd-rs.nix index 296c89c4c6f54..557bf05fbc42a 100644 --- a/nixos/modules/services/networking/ntp/ntpd-rs.nix +++ b/nixos/modules/services/networking/ntp/ntpd-rs.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.ntpd-rs; @@ -56,12 +61,12 @@ in observability = { observation-path = lib.mkDefault "/var/run/ntpd-rs/observe"; }; - source = lib.mkIf cfg.useNetworkingTimeServers (map - (ts: { + source = lib.mkIf cfg.useNetworkingTimeServers ( + map (ts: { mode = "server"; address = ts; - }) - config.networking.timeServers); + }) config.networking.timeServers + ); }; systemd.services.ntpd-rs = { @@ -70,7 +75,10 @@ in User = ""; Group = ""; DynamicUser = true; - ExecStart = [ "" "${lib.makeBinPath [ cfg.package ]}/ntp-daemon --config=${configFile}" ]; + ExecStart = [ + "" + "${lib.makeBinPath [ cfg.package ]}/ntp-daemon --config=${configFile}" + ]; }; }; @@ -80,7 +88,10 @@ in User = ""; Group = ""; DynamicUser = true; - ExecStart = [ "" "${lib.makeBinPath [ cfg.package ]}/ntp-metrics-exporter --config=${configFile}" ]; + ExecStart = [ + "" + "${lib.makeBinPath [ cfg.package ]}/ntp-metrics-exporter --config=${configFile}" + ]; }; }; }; diff --git a/nixos/modules/services/networking/ntp/openntpd.nix b/nixos/modules/services/networking/ntp/openntpd.nix index 9414be1f85021..c4ad630826b5c 100644 --- a/nixos/modules/services/networking/ntp/openntpd.nix +++ b/nixos/modules/services/networking/ntp/openntpd.nix @@ -1,4 +1,10 @@ -{ pkgs, lib, config, options, ... }: +{ + pkgs, + lib, + config, + options, + ... +}: with lib; @@ -67,14 +73,21 @@ in description = "OpenNTP daemon user"; home = "/var/empty"; }; - users.groups.ntp = {}; + users.groups.ntp = { }; systemd.services.openntpd = { description = "OpenNTP Server"; wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" "time-sync.target" ]; + wants = [ + "network-online.target" + "time-sync.target" + ]; before = [ "time-sync.target" ]; - after = [ "dnsmasq.service" "bind.service" "network-online.target" ]; + after = [ + "dnsmasq.service" + "bind.service" + "network-online.target" + ]; serviceConfig = { ExecStart = "${package}/sbin/ntpd -p ${pidFile} ${cfg.extraOptions}"; Type = "forking"; diff --git a/nixos/modules/services/networking/nullidentdmod.nix b/nixos/modules/services/networking/nullidentdmod.nix index b0d338a279410..db53091f07327 100644 --- a/nixos/modules/services/networking/nullidentdmod.nix +++ b/nixos/modules/services/networking/nullidentdmod.nix @@ -1,7 +1,15 @@ -{ config, lib, pkgs, ... }: with lib; let +{ + config, + lib, + pkgs, + ... +}: +with lib; +let cfg = config.services.nullidentdmod; -in { +in +{ options.services.nullidentdmod = with types; { enable = mkEnableOption "the nullidentdmod identd daemon"; @@ -25,7 +33,9 @@ in { description = "NullidentdMod service"; serviceConfig = { DynamicUser = true; - ExecStart = "${pkgs.nullidentdmod}/bin/nullidentdmod${optionalString (cfg.userid != null) " ${cfg.userid}"}"; + ExecStart = "${pkgs.nullidentdmod}/bin/nullidentdmod${ + optionalString (cfg.userid != null) " ${cfg.userid}" + }"; StandardInput = "socket"; StandardOutput = "socket"; }; diff --git a/nixos/modules/services/networking/nylon.nix b/nixos/modules/services/networking/nylon.nix index 2e5399a05c3c9..b9d579a61c1e9 100644 --- a/nixos/modules/services/networking/nylon.nix +++ b/nixos/modules/services/networking/nylon.nix @@ -1,119 +1,134 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.nylon; homeDir = "/var/lib/nylon"; - configFile = cfg: pkgs.writeText "nylon-${cfg.name}.conf" '' - [General] - No-Simultaneous-Conn=${toString cfg.nrConnections} - Log=${if cfg.logging then "1" else "0"} - Verbose=${if cfg.verbosity then "1" else "0"} - - [Server] - Binding-Interface=${cfg.acceptInterface} - Connecting-Interface=${cfg.bindInterface} - Port=${toString cfg.port} - Allow-IP=${lib.concatStringsSep " " cfg.allowedIPRanges} - Deny-IP=${lib.concatStringsSep " " cfg.deniedIPRanges} - ''; - - nylonOpts = { name, ... }: { - - options = { - - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Enables nylon as a running service upon activation. - ''; - }; - - name = lib.mkOption { - type = lib.types.str; - default = ""; - description = "The name of this nylon instance."; - }; - - nrConnections = lib.mkOption { - type = lib.types.int; - default = 10; - description = '' - The number of allowed simultaneous connections to the daemon, default 10. - ''; + configFile = + cfg: + pkgs.writeText "nylon-${cfg.name}.conf" '' + [General] + No-Simultaneous-Conn=${toString cfg.nrConnections} + Log=${if cfg.logging then "1" else "0"} + Verbose=${if cfg.verbosity then "1" else "0"} + + [Server] + Binding-Interface=${cfg.acceptInterface} + Connecting-Interface=${cfg.bindInterface} + Port=${toString cfg.port} + Allow-IP=${lib.concatStringsSep " " cfg.allowedIPRanges} + Deny-IP=${lib.concatStringsSep " " cfg.deniedIPRanges} + ''; + + nylonOpts = + { name, ... }: + { + + options = { + + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enables nylon as a running service upon activation. + ''; + }; + + name = lib.mkOption { + type = lib.types.str; + default = ""; + description = "The name of this nylon instance."; + }; + + nrConnections = lib.mkOption { + type = lib.types.int; + default = 10; + description = '' + The number of allowed simultaneous connections to the daemon, default 10. + ''; + }; + + logging = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enable logging, default is no logging. + ''; + }; + + verbosity = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enable verbose output, default is to not be verbose. + ''; + }; + + acceptInterface = lib.mkOption { + type = lib.types.str; + default = "lo"; + description = '' + Tell nylon which interface to listen for client requests on, default is "lo". + ''; + }; + + bindInterface = lib.mkOption { + type = lib.types.str; + default = "enp3s0f0"; + description = '' + Tell nylon which interface to use as an uplink, default is "enp3s0f0". + ''; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 1080; + description = '' + What port to listen for client requests, default is 1080. + ''; + }; + + allowedIPRanges = lib.mkOption { + type = with lib.types; listOf str; + default = [ + "192.168.0.0/16" + "127.0.0.1/8" + "172.16.0.1/12" + "10.0.0.0/8" + ]; + description = '' + Allowed client IP ranges are evaluated first, defaults to ARIN IPv4 private ranges: + [ "192.168.0.0/16" "127.0.0.0/8" "172.16.0.0/12" "10.0.0.0/8" ] + ''; + }; + + deniedIPRanges = lib.mkOption { + type = with lib.types; listOf str; + default = [ "0.0.0.0/0" ]; + description = '' + Denied client IP ranges, these gets evaluated after the allowed IP ranges, defaults to all IPv4 addresses: + [ "0.0.0.0/0" ] + To block all other access than the allowed. + ''; + }; }; - - logging = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Enable logging, default is no logging. - ''; - }; - - verbosity = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Enable verbose output, default is to not be verbose. - ''; - }; - - acceptInterface = lib.mkOption { - type = lib.types.str; - default = "lo"; - description = '' - Tell nylon which interface to listen for client requests on, default is "lo". - ''; - }; - - bindInterface = lib.mkOption { - type = lib.types.str; - default = "enp3s0f0"; - description = '' - Tell nylon which interface to use as an uplink, default is "enp3s0f0". - ''; - }; - - port = lib.mkOption { - type = lib.types.port; - default = 1080; - description = '' - What port to listen for client requests, default is 1080. - ''; - }; - - allowedIPRanges = lib.mkOption { - type = with lib.types; listOf str; - default = [ "192.168.0.0/16" "127.0.0.1/8" "172.16.0.1/12" "10.0.0.0/8" ]; - description = '' - Allowed client IP ranges are evaluated first, defaults to ARIN IPv4 private ranges: - [ "192.168.0.0/16" "127.0.0.0/8" "172.16.0.0/12" "10.0.0.0/8" ] - ''; - }; - - deniedIPRanges = lib.mkOption { - type = with lib.types; listOf str; - default = [ "0.0.0.0/0" ]; - description = '' - Denied client IP ranges, these gets evaluated after the allowed IP ranges, defaults to all IPv4 addresses: - [ "0.0.0.0/0" ] - To block all other access than the allowed. - ''; + config = { + name = lib.mkDefault name; }; }; - config = { name = lib.mkDefault name; }; - }; mkNamedNylon = cfg: { "nylon-${cfg.name}" = { description = "Nylon, a lightweight SOCKS proxy server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = - { + serviceConfig = { User = "nylon"; Group = "nylon"; WorkingDirectory = homeDir; @@ -135,7 +150,7 @@ in options = { services.nylon = lib.mkOption { - default = {}; + default = { }; description = "Collection of named nylon instances"; type = with lib.types; attrsOf (submodule nylonOpts); internal = true; @@ -145,7 +160,7 @@ in ###### implementation - config = lib.mkIf (lib.length(enabledNylons) > 0) { + config = lib.mkIf (lib.length (enabledNylons) > 0) { users.users.nylon = { group = "nylon"; @@ -157,7 +172,7 @@ in users.groups.nylon.gid = config.ids.gids.nylon; - systemd.services = lib.foldr (a: b: a // b) {} nylonUnits; + systemd.services = lib.foldr (a: b: a // b) { } nylonUnits; }; } diff --git a/nixos/modules/services/networking/ocserv.nix b/nixos/modules/services/networking/ocserv.nix index afdd8254ffd22..6c403a9b34270 100644 --- a/nixos/modules/services/networking/ocserv.nix +++ b/nixos/modules/services/networking/ocserv.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -80,13 +85,16 @@ in environment.systemPackages = [ pkgs.ocserv ]; environment.etc."ocserv/ocserv.conf".text = cfg.config; - security.pam.services.ocserv = {}; + security.pam.services.ocserv = { }; systemd.services.ocserv = { description = "OpenConnect SSL VPN server"; documentation = [ "man:ocserv(8)" ]; wants = [ "network-online.target" ]; - after = [ "dbus.service" "network-online.target" ]; + after = [ + "dbus.service" + "network-online.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/networking/ofono.nix b/nixos/modules/services/networking/ofono.nix index 460b06443c412..640251ae92006 100644 --- a/nixos/modules/services/networking/ofono.nix +++ b/nixos/modules/services/networking/ofono.nix @@ -1,5 +1,10 @@ # Ofono daemon. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,11 +12,7 @@ let cfg = config.services.ofono; - plugin_path = - lib.concatMapStringsSep ":" - (plugin: "${plugin}/lib/ofono/plugins") - cfg.plugins - ; + plugin_path = lib.concatMapStringsSep ":" (plugin: "${plugin}/lib/ofono/plugins") cfg.plugins; in @@ -23,7 +24,7 @@ in plugins = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.modem-manager-gui ]"; description = '' The list of plugins to install. @@ -38,7 +39,7 @@ in systemd.packages = [ pkgs.ofono ]; - systemd.services.ofono.environment.OFONO_PLUGIN_PATH = mkIf (cfg.plugins != []) plugin_path; + systemd.services.ofono.environment.OFONO_PLUGIN_PATH = mkIf (cfg.plugins != [ ]) plugin_path; }; } diff --git a/nixos/modules/services/networking/oidentd.nix b/nixos/modules/services/networking/oidentd.nix index feb84806ba99c..159da0913995b 100644 --- a/nixos/modules/services/networking/oidentd.nix +++ b/nixos/modules/services/networking/oidentd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -20,7 +25,6 @@ with lib; }; - ###### implementation config = mkIf config.services.oidentd.enable { diff --git a/nixos/modules/services/networking/oink.nix b/nixos/modules/services/networking/oink.nix index 7954cbed709d2..e98c1690ee525 100644 --- a/nixos/modules/services/networking/oink.nix +++ b/nixos/modules/services/networking/oink.nix @@ -1,8 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.oink; - makeOinkConfig = attrs: (pkgs.formats.json { }).generate - "oink.json" (lib.mapAttrs' (k: v: lib.nameValuePair (lib.toLower k) v) attrs); + makeOinkConfig = + attrs: + (pkgs.formats.json { }).generate "oink.json" ( + lib.mapAttrs' (k: v: lib.nameValuePair (lib.toLower k) v) attrs + ); oinkConfig = makeOinkConfig { global = cfg.settings; domains = cfg.domains; @@ -40,7 +48,7 @@ in }; domains = lib.mkOption { type = with lib.types; listOf (attrsOf anything); - default = []; + default = [ ]; example = [ { domain = "nixos.org"; diff --git a/nixos/modules/services/networking/onedrive.nix b/nixos/modules/services/networking/onedrive.nix index 0c4e27507c1c6..dae3ed31b30bc 100644 --- a/nixos/modules/services/networking/onedrive.nix +++ b/nixos/modules/services/networking/onedrive.nix @@ -1,43 +1,46 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.onedrive; - onedriveLauncher = pkgs.writeShellScriptBin - "onedrive-launcher" - '' - # XDG_CONFIG_HOME is not recognized in the environment here. - if [ -f $HOME/.config/onedrive-launcher ] - then - # Hopefully using underscore boundary helps locate variables - for _onedrive_config_dirname_ in $(cat $HOME/.config/onedrive-launcher | grep -v '[ \t]*#' ) - do - systemctl --user start onedrive@$_onedrive_config_dirname_ - done - else - systemctl --user start onedrive@onedrive - fi - '' - ; + onedriveLauncher = pkgs.writeShellScriptBin "onedrive-launcher" '' + # XDG_CONFIG_HOME is not recognized in the environment here. + if [ -f $HOME/.config/onedrive-launcher ] + then + # Hopefully using underscore boundary helps locate variables + for _onedrive_config_dirname_ in $(cat $HOME/.config/onedrive-launcher | grep -v '[ \t]*#' ) + do + systemctl --user start onedrive@$_onedrive_config_dirname_ + done + else + systemctl --user start onedrive@onedrive + fi + ''; -in { +in +{ ### Documentation # meta.doc = ./onedrive.xml; ### Interface options.services.onedrive = { - enable = lib.mkEnableOption "OneDrive service"; + enable = lib.mkEnableOption "OneDrive service"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.onedrive; - defaultText = lib.literalExpression "pkgs.onedrive"; - description = '' - OneDrive package to use. - ''; - }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.onedrive; + defaultText = lib.literalExpression "pkgs.onedrive"; + description = '' + OneDrive package to use. + ''; + }; }; -### Implementation + ### Implementation config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; @@ -50,9 +53,9 @@ in { ExecStart = '' ${cfg.package}/bin/onedrive --monitor --confdir=%h/.config/%i ''; - Restart="on-failure"; - RestartSec=3; - RestartPreventExitStatus=3; + Restart = "on-failure"; + RestartSec = 3; + RestartPreventExitStatus = 3; }; }; diff --git a/nixos/modules/services/networking/openconnect.nix b/nixos/modules/services/networking/openconnect.nix index e2c06943e1d72..6660e769f48ad 100644 --- a/nixos/modules/services/networking/openconnect.nix +++ b/nixos/modules/services/networking/openconnect.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; let cfg = config.networking.openconnect; @@ -24,8 +30,15 @@ let protocol = mkOption { description = "Protocol to use."; example = "anyconnect"; - type = - types.enum [ "anyconnect" "array" "nc" "pulse" "gp" "f5" "fortinet" ]; + type = types.enum [ + "anyconnect" + "array" + "nc" + "pulse" + "gp" + "f5" + "fortinet" + ]; }; user = mkOption { @@ -83,18 +96,21 @@ let }; }; }; - generateExtraConfig = extra_cfg: - strings.concatStringsSep "\n" (attrsets.mapAttrsToList - (name: value: if (value == true) then name else "${name}=${value}") - (attrsets.filterAttrs (_: value: value != false) extra_cfg)); - generateConfig = name: icfg: + generateExtraConfig = + extra_cfg: + strings.concatStringsSep "\n" ( + attrsets.mapAttrsToList (name: value: if (value == true) then name else "${name}=${value}") ( + attrsets.filterAttrs (_: value: value != false) extra_cfg + ) + ); + generateConfig = + name: icfg: pkgs.writeText "config" '' interface=${name} ${optionalString (icfg.protocol != null) "protocol=${icfg.protocol}"} ${optionalString (icfg.user != null) "user=${icfg.user}"} ${optionalString (icfg.passwordFile != null) "passwd-on-stdin"} - ${optionalString (icfg.certificate != null) - "certificate=${icfg.certificate}"} + ${optionalString (icfg.certificate != null) "certificate=${icfg.certificate}"} ${optionalString (icfg.privateKey != null) "sslkey=${icfg.privateKey}"} ${generateExtraConfig icfg.extraOptions} @@ -102,20 +118,22 @@ let generateUnit = name: icfg: { description = "OpenConnect Interface - ${name}"; requires = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; wantedBy = optional icfg.autoStart "multi-user.target"; serviceConfig = { Type = "simple"; - ExecStart = "${openconnect}/bin/openconnect --config=${ - generateConfig name icfg - } ${icfg.gateway}"; + ExecStart = "${openconnect}/bin/openconnect --config=${generateConfig name icfg} ${icfg.gateway}"; StandardInput = lib.mkIf (icfg.passwordFile != null) "file:${icfg.passwordFile}"; ProtectHome = true; }; }; -in { +in +{ options.networking.openconnect = { package = mkPackageOption pkgs "openconnect" { }; diff --git a/nixos/modules/services/networking/ostinato.nix b/nixos/modules/services/networking/ostinato.nix index 635c4e9bc0fa6..cfe7f934bf362 100644 --- a/nixos/modules/services/networking/ostinato.nix +++ b/nixos/modules/services/networking/ostinato.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -37,7 +42,10 @@ in }; rateAccuracy = mkOption { - type = types.enum [ "High" "Low" ]; + type = types.enum [ + "High" + "Low" + ]; default = "High"; description = '' To ensure that the actual transmit rate is as close as possible to @@ -64,8 +72,11 @@ in portList = { include = mkOption { type = types.listOf types.str; - default = []; - example = [ "eth*" "lo*" ]; + default = [ ]; + example = [ + "eth*" + "lo*" + ]; description = '' For a port to pass the filter and appear on the port list managed by drone, it be allowed by this include list. @@ -73,8 +84,11 @@ in }; exclude = mkOption { type = types.listOf types.str; - default = []; - example = [ "usbmon*" "eth0" ]; + default = [ ]; + example = [ + "usbmon*" + "eth0" + ]; description = '' A list of ports does not appear on the port list managed by drone. ''; diff --git a/nixos/modules/services/networking/owamp.nix b/nixos/modules/services/networking/owamp.nix index 45907f7d6e9a7..da6b7b78042cc 100644 --- a/nixos/modules/services/networking/owamp.nix +++ b/nixos/modules/services/networking/owamp.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,7 +18,6 @@ in services.owamp.enable = mkEnableOption "OWAMP server"; }; - ###### implementation config = mkIf cfg.enable { @@ -30,10 +34,10 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart="${pkgs.owamp}/bin/owampd -R /run/owamp -d /run/owamp -v -Z "; + ExecStart = "${pkgs.owamp}/bin/owampd -R /run/owamp -d /run/owamp -v -Z "; PrivateTmp = true; Restart = "always"; - Type="simple"; + Type = "simple"; User = "owamp"; Group = "owamp"; RuntimeDirectory = "owamp"; diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix index a03a20e6bc6dc..3b554c7e31a16 100644 --- a/nixos/modules/services/networking/pdns-recursor.nix +++ b/nixos/modules/services/networking/pdns-recursor.nix @@ -1,37 +1,60 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.pdns-recursor; - oneOrMore = type: with types; either type (listOf type); - valueType = with types; oneOf [ int str bool path ]; + oneOrMore = type: with types; either type (listOf type); + valueType = + with types; + oneOf [ + int + str + bool + path + ]; configType = with types; attrsOf (nullOr (oneOrMore valueType)); - toBool = val: if val then "yes" else "no"; - serialize = val: with types; - if str.check val then val - else if int.check val then toString val - else if path.check val then toString val - else if bool.check val then toBool val - else if builtins.isList val then (concatMapStringsSep "," serialize val) - else ""; - - configDir = pkgs.writeTextDir "recursor.conf" - (concatStringsSep "\n" - (flip mapAttrsToList cfg.settings - (name: val: "${name}=${serialize val}"))); + toBool = val: if val then "yes" else "no"; + serialize = + val: + with types; + if str.check val then + val + else if int.check val then + toString val + else if path.check val then + toString val + else if bool.check val then + toBool val + else if builtins.isList val then + (concatMapStringsSep "," serialize val) + else + ""; + + configDir = pkgs.writeTextDir "recursor.conf" ( + concatStringsSep "\n" (flip mapAttrsToList cfg.settings (name: val: "${name}=${serialize val}")) + ); mkDefaultAttrs = mapAttrs (n: v: mkDefault v); -in { +in +{ options.services.pdns-recursor = { enable = mkEnableOption "PowerDNS Recursor, a recursive DNS server"; dns.address = mkOption { type = oneOrMore types.str; - default = [ "::" "0.0.0.0" ]; + default = [ + "::" + "0.0.0.0" + ]; description = '' IP addresses Recursor DNS server will bind to. ''; @@ -48,11 +71,20 @@ in { dns.allowFrom = mkOption { type = types.listOf types.str; default = [ - "127.0.0.0/8" "10.0.0.0/8" "100.64.0.0/10" - "169.254.0.0/16" "192.168.0.0/16" "172.16.0.0/12" - "::1/128" "fc00::/7" "fe80::/10" + "127.0.0.0/8" + "10.0.0.0/8" + "100.64.0.0/10" + "169.254.0.0/16" + "192.168.0.0/16" + "172.16.0.0/12" + "::1/128" + "fc00::/7" + "fe80::/10" + ]; + example = [ + "0.0.0.0/0" + "::/0" ]; - example = [ "0.0.0.0/0" "::/0" ]; description = '' IP address ranges of clients allowed to make DNS queries. ''; @@ -76,8 +108,14 @@ in { api.allowFrom = mkOption { type = types.listOf types.str; - default = [ "127.0.0.1" "::1" ]; - example = [ "0.0.0.0/0" "::/0" ]; + default = [ + "127.0.0.1" + "::1" + ]; + example = [ + "0.0.0.0/0" + "::/0" + ]; description = '' IP address ranges of clients allowed to make API requests. ''; @@ -87,13 +125,13 @@ in { type = types.bool; default = false; description = '' - Whether to export names and IP addresses defined in /etc/hosts. + Whether to export names and IP addresses defined in /etc/hosts. ''; }; forwardZones = mkOption { type = types.attrs; - default = {}; + default = { }; description = '' DNS zones to be forwarded to other authoritative servers. ''; @@ -101,15 +139,23 @@ in { forwardZonesRecurse = mkOption { type = types.attrs; - example = { eth = "[::1]:5353"; }; - default = {}; + example = { + eth = "[::1]:5353"; + }; + default = { }; description = '' DNS zones to be forwarded to other recursive servers. ''; }; dnssecValidation = mkOption { - type = types.enum ["off" "process-no-validate" "process" "log-fail" "validate"]; + type = types.enum [ + "off" + "process-no-validate" + "process" + "log-fail" + "validate" + ]; default = "validate"; description = '' Controls the level of DNSSEC processing done by the PowerDNS Recursor. @@ -163,23 +209,23 @@ in { services.pdns-recursor.settings = mkDefaultAttrs { local-address = cfg.dns.address; - local-port = cfg.dns.port; - allow-from = cfg.dns.allowFrom; + local-port = cfg.dns.port; + allow-from = cfg.dns.allowFrom; - webserver-address = cfg.api.address; - webserver-port = cfg.api.port; + webserver-address = cfg.api.address; + webserver-port = cfg.api.port; webserver-allow-from = cfg.api.allowFrom; - forward-zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones; + forward-zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones; forward-zones-recurse = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZonesRecurse; export-etc-hosts = cfg.exportHosts; - dnssec = cfg.dnssecValidation; - serve-rfc1918 = cfg.serveRFC1918; - lua-config-file = pkgs.writeText "recursor.lua" cfg.luaConfig; + dnssec = cfg.dnssecValidation; + serve-rfc1918 = cfg.serveRFC1918; + lua-config-file = pkgs.writeText "recursor.lua" cfg.luaConfig; - daemon = false; - write-pid = false; - log-timestamp = false; + daemon = false; + write-pid = false; + log-timestamp = false; disable-syslog = true; }; @@ -189,7 +235,10 @@ in { wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = [ "" "${pkgs.pdns-recursor}/bin/pdns_recursor --config-dir=${configDir}" ]; + ExecStart = [ + "" + "${pkgs.pdns-recursor}/bin/pdns_recursor --config-dir=${configDir}" + ]; }; }; @@ -199,13 +248,16 @@ in { description = "PowerDNS Recursor daemon user"; }; - users.groups.pdns-recursor = {}; + users.groups.pdns-recursor = { }; }; imports = [ - (mkRemovedOptionModule [ "services" "pdns-recursor" "extraConfig" ] - "To change extra Recursor settings use services.pdns-recursor.settings instead.") + (mkRemovedOptionModule [ + "services" + "pdns-recursor" + "extraConfig" + ] "To change extra Recursor settings use services.pdns-recursor.settings instead.") ]; meta.maintainers = with lib.maintainers; [ rnhmjoj ]; diff --git a/nixos/modules/services/networking/pdnsd.nix b/nixos/modules/services/networking/pdnsd.nix index 50b9b9d202891..cda55cc2a7e8b 100644 --- a/nixos/modules/services/networking/pdnsd.nix +++ b/nixos/modules/services/networking/pdnsd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -7,59 +12,59 @@ let pdnsd = pkgs.pdnsd; pdnsdUser = "pdnsd"; pdnsdGroup = "pdnsd"; - pdnsdConf = pkgs.writeText "pdnsd.conf" - '' - global { - run_as=${pdnsdUser}; - cache_dir="${cfg.cacheDir}"; - ${cfg.globalConfig} - } + pdnsdConf = pkgs.writeText "pdnsd.conf" '' + global { + run_as=${pdnsdUser}; + cache_dir="${cfg.cacheDir}"; + ${cfg.globalConfig} + } - server { - ${cfg.serverConfig} - } - ${cfg.extraConfig} - ''; + server { + ${cfg.serverConfig} + } + ${cfg.extraConfig} + ''; in -{ options = - { services.pdnsd = - { enable = mkEnableOption "pdnsd"; +{ + options = { + services.pdnsd = { + enable = mkEnableOption "pdnsd"; - cacheDir = mkOption { - type = types.str; - default = "/var/cache/pdnsd"; - description = "Directory holding the pdnsd cache"; - }; + cacheDir = mkOption { + type = types.str; + default = "/var/cache/pdnsd"; + description = "Directory holding the pdnsd cache"; + }; - globalConfig = mkOption { - type = types.lines; - default = ""; - description = '' - Global configuration that should be added to the global directory - of `pdnsd.conf`. - ''; - }; + globalConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Global configuration that should be added to the global directory + of `pdnsd.conf`. + ''; + }; - serverConfig = mkOption { - type = types.lines; - default = ""; - description = '' - Server configuration that should be added to the server directory - of `pdnsd.conf`. - ''; - }; + serverConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Server configuration that should be added to the server directory + of `pdnsd.conf`. + ''; + }; - extraConfig = mkOption { - type = types.lines; - default = ""; - description = '' - Extra configuration directives that should be added to - `pdnsd.conf`. - ''; - }; - }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration directives that should be added to + `pdnsd.conf`. + ''; + }; }; + }; config = mkIf cfg.enable { users.users.${pdnsdUser} = { @@ -72,20 +77,18 @@ in gid = config.ids.gids.pdnsd; }; - systemd.services.pdnsd = - { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - preStart = - '' - mkdir -p "${cfg.cacheDir}" - touch "${cfg.cacheDir}/pdnsd.cache" - chown -R ${pdnsdUser}:${pdnsdGroup} "${cfg.cacheDir}" - ''; - description = "pdnsd"; - serviceConfig = - { - ExecStart = "${pdnsd}/bin/pdnsd -c ${pdnsdConf}"; - }; + systemd.services.pdnsd = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + preStart = '' + mkdir -p "${cfg.cacheDir}" + touch "${cfg.cacheDir}/pdnsd.cache" + chown -R ${pdnsdUser}:${pdnsdGroup} "${cfg.cacheDir}" + ''; + description = "pdnsd"; + serviceConfig = { + ExecStart = "${pdnsd}/bin/pdnsd -c ${pdnsdConf}"; }; + }; }; } diff --git a/nixos/modules/services/networking/peroxide.nix b/nixos/modules/services/networking/peroxide.nix index 582e25fbacc9a..101a5fdffeefc 100644 --- a/nixos/modules/services/networking/peroxide.nix +++ b/nixos/modules/services/networking/peroxide.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -17,7 +22,15 @@ in logLevel = mkOption { # https://github.com/sirupsen/logrus#level-logging - type = types.enum [ "Panic" "Fatal" "Error" "Warning" "Info" "Debug" "Trace" ]; + type = types.enum [ + "Panic" + "Fatal" + "Error" + "Warning" + "Info" + "Debug" + "Trace" + ]; default = "Warning"; example = "Info"; description = "Only log messages of this priority or higher."; @@ -90,7 +103,10 @@ in LogsDirectoryMode = "0750"; # Specify just "peroxide" so that the user has write permission, because # peroxide deletes and recreates the cache directory on startup. - CacheDirectory = [ "peroxide" "peroxide/cache" ]; + CacheDirectory = [ + "peroxide" + "peroxide/cache" + ]; CacheDirectoryMode = "0700"; StateDirectory = stateDir; StateDirectoryMode = "0700"; @@ -127,5 +143,8 @@ in environment.systemPackages = [ cfg.package ]; }; - meta.maintainers = with maintainers; [ aanderse aidalgol ]; + meta.maintainers = with maintainers; [ + aanderse + aidalgol + ]; } diff --git a/nixos/modules/services/networking/picosnitch.nix b/nixos/modules/services/networking/picosnitch.nix index bdbb1e691227f..841e05bdd62d5 100644 --- a/nixos/modules/services/networking/picosnitch.nix +++ b/nixos/modules/services/networking/picosnitch.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/networking/pixiecore.nix b/nixos/modules/services/networking/pixiecore.nix index 111cb7e355040..fc0d5ec1a7abb 100644 --- a/nixos/modules/services/networking/pixiecore.nix +++ b/nixos/modules/services/networking/pixiecore.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -23,7 +28,11 @@ in mode = mkOption { description = "Which mode to use"; default = "boot"; - type = types.enum [ "api" "boot" "quick" ]; + type = types.enum [ + "api" + "boot" + "quick" + ]; }; debug = mkOption { @@ -41,7 +50,15 @@ in quick = mkOption { description = "Which quick option to use"; default = "xyz"; - type = types.enum [ "arch" "centos" "coreos" "debian" "fedora" "ubuntu" "xyz" ]; + type = types.enum [ + "arch" + "centos" + "coreos" + "debian" + "fedora" + "ubuntu" + "xyz" + ]; }; kernel = mkOption { @@ -88,14 +105,14 @@ in extraArguments = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Additional command line arguments to pass to Pixiecore"; }; }; }; config = mkIf cfg.enable { - users.groups.pixiecore = {}; + users.groups.pixiecore = { }; users.users.pixiecore = { description = "Pixiecore daemon user"; group = "pixiecore"; @@ -103,15 +120,22 @@ in }; networking.firewall = mkIf cfg.openFirewall { - allowedTCPPorts = [ cfg.port cfg.statusPort ]; - allowedUDPPorts = [ 67 69 4011 ]; + allowedTCPPorts = [ + cfg.port + cfg.statusPort + ]; + allowedUDPPorts = [ + 67 + 69 + 4011 + ]; }; systemd.services.pixiecore = { description = "Pixiecore server"; - after = [ "network.target"]; - wants = [ "network.target"]; - wantedBy = [ "multi-user.target"]; + after = [ "network.target" ]; + wants = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "pixiecore"; Restart = "always"; @@ -119,24 +143,37 @@ in ExecStart = let argString = - if cfg.mode == "boot" - then [ "boot" cfg.kernel ] - ++ optional (cfg.initrd != "") cfg.initrd - ++ optionals (cfg.cmdLine != "") [ "--cmdline" cfg.cmdLine ] - else if cfg.mode == "quick" - then [ "quick" cfg.quick ] - else [ "api" cfg.apiServer ]; + if cfg.mode == "boot" then + [ + "boot" + cfg.kernel + ] + ++ optional (cfg.initrd != "") cfg.initrd + ++ optionals (cfg.cmdLine != "") [ + "--cmdline" + cfg.cmdLine + ] + else if cfg.mode == "quick" then + [ + "quick" + cfg.quick + ] + else + [ + "api" + cfg.apiServer + ]; in - '' - ${pkgs.pixiecore}/bin/pixiecore \ - ${lib.escapeShellArgs argString} \ - ${optionalString cfg.debug "--debug"} \ - ${optionalString cfg.dhcpNoBind "--dhcp-no-bind"} \ - --listen-addr ${lib.escapeShellArg cfg.listen} \ - --port ${toString cfg.port} \ - --status-port ${toString cfg.statusPort} \ - ${escapeShellArgs cfg.extraArguments} - ''; + '' + ${pkgs.pixiecore}/bin/pixiecore \ + ${lib.escapeShellArgs argString} \ + ${optionalString cfg.debug "--debug"} \ + ${optionalString cfg.dhcpNoBind "--dhcp-no-bind"} \ + --listen-addr ${lib.escapeShellArg cfg.listen} \ + --port ${toString cfg.port} \ + --status-port ${toString cfg.statusPort} \ + ${escapeShellArgs cfg.extraArguments} + ''; }; }; }; diff --git a/nixos/modules/services/networking/polipo.nix b/nixos/modules/services/networking/polipo.nix index e9cac7181b5cb..67f83358312e4 100644 --- a/nixos/modules/services/networking/polipo.nix +++ b/nixos/modules/services/networking/polipo.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -10,8 +15,8 @@ let proxyAddress = ${cfg.proxyAddress} proxyPort = ${toString cfg.proxyPort} allowedClients = ${concatStringsSep ", " cfg.allowedClients} - ${optionalString (cfg.parentProxy != "") "parentProxy = ${cfg.parentProxy}" } - ${optionalString (cfg.socksParentProxy != "") "socksParentProxy = ${cfg.socksParentProxy}" } + ${optionalString (cfg.parentProxy != "") "parentProxy = ${cfg.parentProxy}"} + ${optionalString (cfg.socksParentProxy != "") "socksParentProxy = ${cfg.socksParentProxy}"} ${config.services.polipo.extraConfig} ''; @@ -39,8 +44,16 @@ in allowedClients = mkOption { type = types.listOf types.str; - default = [ "127.0.0.1" "::1" ]; - example = [ "127.0.0.1" "::1" "134.157.168.0/24" "2001:660:116::/48" ]; + default = [ + "127.0.0.1" + "::1" + ]; + example = [ + "127.0.0.1" + "::1" + "134.157.168.0/24" + "2001:660:116::/48" + ]; description = '' List of IP addresses or network addresses that may connect to Polipo. ''; @@ -81,24 +94,27 @@ in config = mkIf cfg.enable { - users.users.polipo = - { uid = config.ids.uids.polipo; - description = "Polipo caching proxy user"; - home = "/var/cache/polipo"; - createHome = true; - }; + users.users.polipo = { + uid = config.ids.uids.polipo; + description = "Polipo caching proxy user"; + home = "/var/cache/polipo"; + createHome = true; + }; - users.groups.polipo = - { gid = config.ids.gids.polipo; - members = [ "polipo" ]; - }; + users.groups.polipo = { + gid = config.ids.gids.polipo; + members = [ "polipo" ]; + }; systemd.services.polipo = { description = "caching web proxy"; - after = [ "network.target" "nss-lookup.target" ]; - wantedBy = [ "multi-user.target"]; + after = [ + "network.target" + "nss-lookup.target" + ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${pkgs.polipo}/bin/polipo -c ${polipoConfig}"; + ExecStart = "${pkgs.polipo}/bin/polipo -c ${polipoConfig}"; User = "polipo"; }; }; diff --git a/nixos/modules/services/networking/powerdns.nix b/nixos/modules/services/networking/powerdns.nix index bd8d08bc878cb..ed4ec232b8d19 100644 --- a/nixos/modules/services/networking/powerdns.nix +++ b/nixos/modules/services/networking/powerdns.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.services.powerdns; configDir = pkgs.writeTextDir "pdns.conf" "${cfg.extraConfig}"; finalConfigDir = if cfg.secretFile == null then configDir else "/run/pdns"; -in { +in +{ options = { services.powerdns = { enable = mkEnableOption "PowerDNS domain name server"; @@ -44,16 +50,25 @@ in { systemd.services.pdns = { wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "mysql.service" "postgresql.service" "openldap.service" ]; + after = [ + "network.target" + "mysql.service" + "postgresql.service" + "openldap.service" + ]; serviceConfig = { EnvironmentFile = lib.optional (cfg.secretFile != null) cfg.secretFile; - ExecStartPre = lib.optional (cfg.secretFile != null) - (pkgs.writeShellScript "pdns-pre-start" '' + ExecStartPre = lib.optional (cfg.secretFile != null) ( + pkgs.writeShellScript "pdns-pre-start" '' umask 077 ${pkgs.envsubst}/bin/envsubst -i "${configDir}/pdns.conf" > ${finalConfigDir}/pdns.conf - ''); - ExecStart = [ "" "${pkgs.pdns}/bin/pdns_server --config-dir=${finalConfigDir} --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no" ]; + '' + ); + ExecStart = [ + "" + "${pkgs.pdns}/bin/pdns_server --config-dir=${finalConfigDir} --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no" + ]; }; }; @@ -63,7 +78,7 @@ in { description = "PowerDNS"; }; - users.groups.pdns = {}; + users.groups.pdns = { }; }; } diff --git a/nixos/modules/services/networking/pppd.nix b/nixos/modules/services/networking/pppd.nix index 3642a4b15a661..b4ea3e213f889 100644 --- a/nixos/modules/services/networking/pppd.nix +++ b/nixos/modules/services/networking/pppd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -17,133 +22,139 @@ in package = mkPackageOption pkgs "ppp" { }; peers = mkOption { - default = {}; + default = { }; description = "pppd peers."; - type = types.attrsOf (types.submodule ( - { name, ... }: - { - options = { - name = mkOption { - type = types.str; - default = name; - example = "dialup"; - description = "Name of the PPP peer."; - }; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { + options = { + name = mkOption { + type = types.str; + default = name; + example = "dialup"; + description = "Name of the PPP peer."; + }; - enable = mkOption { - type = types.bool; - default = true; - example = false; - description = "Whether to enable this PPP peer."; - }; + enable = mkOption { + type = types.bool; + default = true; + example = false; + description = "Whether to enable this PPP peer."; + }; - autostart = mkOption { - type = types.bool; - default = true; - example = false; - description = "Whether the PPP session is automatically started at boot time."; - }; + autostart = mkOption { + type = types.bool; + default = true; + example = false; + description = "Whether the PPP session is automatically started at boot time."; + }; - config = mkOption { - type = types.lines; - default = ""; - description = "pppd configuration for this peer, see the pppd(8) man page."; + config = mkOption { + type = types.lines; + default = ""; + description = "pppd configuration for this peer, see the pppd(8) man page."; + }; }; - }; - })); + } + ) + ); }; }; }; - config = let - enabledConfigs = filter (f: f.enable) (attrValues cfg.peers); + config = + let + enabledConfigs = filter (f: f.enable) (attrValues cfg.peers); - mkEtc = peerCfg: { - name = "ppp/peers/${peerCfg.name}"; - value.text = peerCfg.config; - }; + mkEtc = peerCfg: { + name = "ppp/peers/${peerCfg.name}"; + value.text = peerCfg.config; + }; - mkSystemd = peerCfg: { - name = "pppd-${peerCfg.name}"; - value = { - restartTriggers = [ config.environment.etc."ppp/peers/${peerCfg.name}".source ]; - before = [ "network.target" ]; - wants = [ "network.target" ]; - after = [ "network-pre.target" ]; - environment = { - # pppd likes to write directly into /var/run. This is rude - # on a modern system, so we use libredirect to transparently - # move those files into /run/pppd. - LD_PRELOAD = "${pkgs.libredirect}/lib/libredirect.so"; - NIX_REDIRECTS = "/var/run=/run/pppd"; - }; - serviceConfig = let - capabilities = [ - "CAP_BPF" - "CAP_SYS_TTY_CONFIG" - "CAP_NET_ADMIN" - "CAP_NET_RAW" - ]; - in - { - ExecStart = "${getBin cfg.package}/sbin/pppd call ${peerCfg.name} nodetach nolog"; - Restart = "always"; - RestartSec = 5; + mkSystemd = peerCfg: { + name = "pppd-${peerCfg.name}"; + value = { + restartTriggers = [ config.environment.etc."ppp/peers/${peerCfg.name}".source ]; + before = [ "network.target" ]; + wants = [ "network.target" ]; + after = [ "network-pre.target" ]; + environment = { + # pppd likes to write directly into /var/run. This is rude + # on a modern system, so we use libredirect to transparently + # move those files into /run/pppd. + LD_PRELOAD = "${pkgs.libredirect}/lib/libredirect.so"; + NIX_REDIRECTS = "/var/run=/run/pppd"; + }; + serviceConfig = + let + capabilities = [ + "CAP_BPF" + "CAP_SYS_TTY_CONFIG" + "CAP_NET_ADMIN" + "CAP_NET_RAW" + ]; + in + { + ExecStart = "${getBin cfg.package}/sbin/pppd call ${peerCfg.name} nodetach nolog"; + Restart = "always"; + RestartSec = 5; - AmbientCapabilities = capabilities; - CapabilityBoundingSet = capabilities; - KeyringMode = "private"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateMounts = true; - PrivateTmp = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelModules = true; - # pppd can be configured to tweak kernel settings. - ProtectKernelTunables = false; - ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ - "AF_ATMPVC" - "AF_ATMSVC" - "AF_INET" - "AF_INET6" - "AF_IPX" - "AF_NETLINK" - "AF_PACKET" - "AF_PPPOX" - "AF_UNIX" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SecureBits = "no-setuid-fixup-locked noroot-locked"; - SystemCallFilter = "@system-service"; - SystemCallArchitectures = "native"; + AmbientCapabilities = capabilities; + CapabilityBoundingSet = capabilities; + KeyringMode = "private"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelModules = true; + # pppd can be configured to tweak kernel settings. + ProtectKernelTunables = false; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_ATMPVC" + "AF_ATMSVC" + "AF_INET" + "AF_INET6" + "AF_IPX" + "AF_NETLINK" + "AF_PACKET" + "AF_PPPOX" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SecureBits = "no-setuid-fixup-locked noroot-locked"; + SystemCallFilter = "@system-service"; + SystemCallArchitectures = "native"; - # All pppd instances on a system must share a runtime - # directory in order for PPP multilink to work correctly. So - # we give all instances the same /run/pppd directory to store - # things in. - # - # For the same reason, we can't set PrivateUsers=true, because - # all instances need to run as the same user to access the - # multilink database. - RuntimeDirectory = "pppd"; - RuntimeDirectoryPreserve = true; + # All pppd instances on a system must share a runtime + # directory in order for PPP multilink to work correctly. So + # we give all instances the same /run/pppd directory to store + # things in. + # + # For the same reason, we can't set PrivateUsers=true, because + # all instances need to run as the same user to access the + # multilink database. + RuntimeDirectory = "pppd"; + RuntimeDirectoryPreserve = true; + }; + wantedBy = mkIf peerCfg.autostart [ "multi-user.target" ]; }; - wantedBy = mkIf peerCfg.autostart [ "multi-user.target" ]; }; - }; - etcFiles = listToAttrs (map mkEtc enabledConfigs); - systemdConfigs = listToAttrs (map mkSystemd enabledConfigs); + etcFiles = listToAttrs (map mkEtc enabledConfigs); + systemdConfigs = listToAttrs (map mkSystemd enabledConfigs); - in mkIf cfg.enable { - environment.etc = etcFiles; - systemd.services = systemdConfigs; - }; + in + mkIf cfg.enable { + environment.etc = etcFiles; + systemd.services = systemdConfigs; + }; } diff --git a/nixos/modules/services/networking/pptpd.nix b/nixos/modules/services/networking/pptpd.nix index 441ab52372f92..a065709efe64d 100644 --- a/nixos/modules/services/networking/pptpd.nix +++ b/nixos/modules/services/networking/pptpd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -8,34 +13,34 @@ with lib; enable = mkEnableOption "pptpd, the Point-to-Point Tunneling Protocol daemon"; serverIp = mkOption { - type = types.str; + type = types.str; description = "The server-side IP address."; - default = "10.124.124.1"; + default = "10.124.124.1"; }; clientIpRange = mkOption { - type = types.str; + type = types.str; description = "The range from which client IPs are drawn."; - default = "10.124.124.2-11"; + default = "10.124.124.2-11"; }; maxClients = mkOption { - type = types.int; + type = types.int; description = "The maximum number of simultaneous connections."; - default = 10; + default = 10; }; extraPptpdOptions = mkOption { - type = types.lines; + type = types.lines; description = "Adds extra lines to the pptpd configuration file."; - default = ""; + default = ""; }; extraPppdOptions = mkOption { - type = types.lines; + type = types.lines; description = "Adds extra lines to the pppd options file."; - default = ""; - example = '' + default = ""; + example = '' ms-dns 8.8.8.8 ms-dns 8.8.4.4 ''; @@ -44,78 +49,80 @@ with lib; }; config = mkIf config.services.pptpd.enable { - systemd.services.pptpd = let - cfg = config.services.pptpd; - - pptpd-conf = pkgs.writeText "pptpd.conf" '' - # Inspired from pptpd-1.4.0/samples/pptpd.conf - ppp ${ppp-pptpd-wrapped}/bin/pppd - option ${pppd-options} - pidfile /run/pptpd.pid - localip ${cfg.serverIp} - remoteip ${cfg.clientIpRange} - connections ${toString cfg.maxClients} # (Will get harmless warning if inconsistent with IP range) - - # Extra - ${cfg.extraPptpdOptions} - ''; - - pppd-options = pkgs.writeText "ppp-options-pptpd.conf" '' - # From: cat pptpd-1.4.0/samples/options.pptpd | grep -v ^# | grep -v ^$ - name pptpd - refuse-pap - refuse-chap - refuse-mschap - require-mschap-v2 - require-mppe-128 - proxyarp - lock - nobsdcomp - novj - novjccomp - nologfd - - # Extra: - ${cfg.extraPppdOptions} - ''; - - ppp-pptpd-wrapped = pkgs.stdenv.mkDerivation { - name = "ppp-pptpd-wrapped"; - phases = [ "installPhase" ]; - nativeBuildInputs = with pkgs; [ makeWrapper ]; - installPhase = '' - mkdir -p $out/bin - makeWrapper ${pkgs.ppp}/bin/pppd $out/bin/pppd \ - --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS "/etc/ppp=/etc/ppp-pptpd" + systemd.services.pptpd = + let + cfg = config.services.pptpd; + + pptpd-conf = pkgs.writeText "pptpd.conf" '' + # Inspired from pptpd-1.4.0/samples/pptpd.conf + ppp ${ppp-pptpd-wrapped}/bin/pppd + option ${pppd-options} + pidfile /run/pptpd.pid + localip ${cfg.serverIp} + remoteip ${cfg.clientIpRange} + connections ${toString cfg.maxClients} # (Will get harmless warning if inconsistent with IP range) + + # Extra + ${cfg.extraPptpdOptions} ''; + + pppd-options = pkgs.writeText "ppp-options-pptpd.conf" '' + # From: cat pptpd-1.4.0/samples/options.pptpd | grep -v ^# | grep -v ^$ + name pptpd + refuse-pap + refuse-chap + refuse-mschap + require-mschap-v2 + require-mppe-128 + proxyarp + lock + nobsdcomp + novj + novjccomp + nologfd + + # Extra: + ${cfg.extraPppdOptions} + ''; + + ppp-pptpd-wrapped = pkgs.stdenv.mkDerivation { + name = "ppp-pptpd-wrapped"; + phases = [ "installPhase" ]; + nativeBuildInputs = with pkgs; [ makeWrapper ]; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${pkgs.ppp}/bin/pppd $out/bin/pppd \ + --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ + --set NIX_REDIRECTS "/etc/ppp=/etc/ppp-pptpd" + ''; + }; + in + { + description = "pptpd server"; + + requires = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + + preStart = '' + mkdir -p -m 700 /etc/ppp-pptpd + + secrets="/etc/ppp-pptpd/chap-secrets" + + [ -f "$secrets" ] || install -m 600 -o root -g root /dev/stdin "$secrets" << EOF + # From: pptpd-1.4.0/samples/chap-secrets + # Secrets for authentication using CHAP + # client server secret IP addresses + #username pptpd password * + EOF + ''; + + serviceConfig = { + ExecStart = "${pkgs.pptpd}/bin/pptpd --conf ${pptpd-conf}"; + KillMode = "process"; + Restart = "on-success"; + Type = "forking"; + PIDFile = "/run/pptpd.pid"; + }; }; - in { - description = "pptpd server"; - - requires = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - - preStart = '' - mkdir -p -m 700 /etc/ppp-pptpd - - secrets="/etc/ppp-pptpd/chap-secrets" - - [ -f "$secrets" ] || install -m 600 -o root -g root /dev/stdin "$secrets" << EOF - # From: pptpd-1.4.0/samples/chap-secrets - # Secrets for authentication using CHAP - # client server secret IP addresses - #username pptpd password * - EOF - ''; - - serviceConfig = { - ExecStart = "${pkgs.pptpd}/bin/pptpd --conf ${pptpd-conf}"; - KillMode = "process"; - Restart = "on-success"; - Type = "forking"; - PIDFile = "/run/pptpd.pid"; - }; - }; }; } diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index d40dd603085a9..145eee919736e 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,44 +11,54 @@ let cfg = config.services.privoxy; - serialise = name: val: - if isList val then concatMapStrings (serialise name) val - else if isBool val then serialise name (if val then "1" else "0") - else "${name} ${toString val}\n"; - - configType = with types; - let atom = oneOf [ int bool str path ]; - in attrsOf (either atom (listOf atom)) - // { description = '' - privoxy configuration type. The format consists of an attribute - set of settings. Each setting can be either a value (integer, string, - boolean or path) or a list of such values. - ''; - }; + serialise = + name: val: + if isList val then + concatMapStrings (serialise name) val + else if isBool val then + serialise name (if val then "1" else "0") + else + "${name} ${toString val}\n"; + + configType = + with types; + let + atom = oneOf [ + int + bool + str + path + ]; + in + attrsOf (either atom (listOf atom)) + // { + description = '' + privoxy configuration type. The format consists of an attribute + set of settings. Each setting can be either a value (integer, string, + boolean or path) or a list of such values. + ''; + }; ageType = types.str // { - check = x: - isString x && - (builtins.match "([0-9]+([smhdw]|min|ms|us)*)+" x != null); + check = x: isString x && (builtins.match "([0-9]+([smhdw]|min|ms|us)*)+" x != null); description = "tmpfiles.d(5) age format"; }; - configFile = pkgs.writeText "privoxy.conf" - (concatStrings ( + configFile = pkgs.writeText "privoxy.conf" ( + concatStrings ( # Relative paths in some options are relative to confdir. Privoxy seems # to parse the options in order of appearance, so this must come first. # Nix however doesn't preserve the order in attrsets, so we have to # hardcode confdir here. - [ "confdir ${pkgs.privoxy}/etc\n" ] - ++ mapAttrsToList serialise cfg.settings - )); + [ "confdir ${pkgs.privoxy}/etc\n" ] ++ mapAttrsToList serialise cfg.settings + ) + ); - inspectAction = pkgs.writeText "inspect-all-https.action" - '' - # Enable HTTPS inspection for all requests - {+https-inspection} - / - ''; + inspectAction = pkgs.writeText "inspect-all-https.action" '' + # Enable HTTPS inspection for all requests + {+https-inspection} + / + ''; in @@ -145,9 +160,12 @@ in type = types.listOf types.str; # This must come after all other entries, in order to override the # other actions/filters installed by Privoxy or the user. - apply = x: x ++ optional (cfg.userActions != "") - (toString (pkgs.writeText "user.actions" cfg.userActions)); - default = [ "match-all.action" "default.action" ]; + apply = + x: x ++ optional (cfg.userActions != "") (toString (pkgs.writeText "user.actions" cfg.userActions)); + default = [ + "match-all.action" + "default.action" + ]; description = '' List of paths to Privoxy action files. These paths may either be absolute or relative to the privoxy configuration directory. @@ -157,15 +175,15 @@ in options.filterfile = mkOption { type = types.listOf types.str; default = [ "default.filter" ]; - apply = x: x ++ optional (cfg.userFilters != "") - (toString (pkgs.writeText "user.filter" cfg.userFilters)); + apply = + x: x ++ optional (cfg.userFilters != "") (toString (pkgs.writeText "user.filter" cfg.userFilters)); description = '' List of paths to Privoxy filter files. These paths may either be absolute or relative to the privoxy configuration directory. ''; }; }; - default = {}; + default = { }; example = literalExpression '' { # Listen on IPv6 only listen-address = "[::]:8118"; @@ -205,14 +223,16 @@ in group = "privoxy"; }; - users.groups.privoxy = {}; + users.groups.privoxy = { }; - systemd.tmpfiles.rules = optional cfg.inspectHttps - "d ${cfg.settings.certificate-directory} 0770 privoxy privoxy ${cfg.certsLifetime}"; + systemd.tmpfiles.rules = optional cfg.inspectHttps "d ${cfg.settings.certificate-directory} 0770 privoxy privoxy ${cfg.certsLifetime}"; systemd.services.privoxy = { description = "Filtering web proxy"; - after = [ "network.target" "nss-lookup.target" ]; + after = [ + "network.target" + "nss-lookup.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "privoxy"; @@ -223,52 +243,70 @@ in ProtectHome = true; ProtectSystem = "full"; }; - unitConfig = mkIf cfg.inspectHttps { - ConditionPathExists = with cfg.settings; - [ ca-cert-file ca-key-file ]; + unitConfig = mkIf cfg.inspectHttps { + ConditionPathExists = with cfg.settings; [ + ca-cert-file + ca-key-file + ]; }; }; services.tor.settings.SOCKSPort = mkIf cfg.enableTor [ # Route HTTP traffic over a faster port (without IsolateDestAddr). - { addr = "127.0.0.1"; port = 9063; IsolateDestAddr = false; } + { + addr = "127.0.0.1"; + port = 9063; + IsolateDestAddr = false; + } ]; - services.privoxy.settings = { - user-manual = "${pkgs.privoxy}/share/doc/privoxy/user-manual"; - # This is needed for external filters - temporary-directory = "/tmp"; - filterfile = [ "default.filter" ]; - actionsfile = - [ "match-all.action" + services.privoxy.settings = + { + user-manual = "${pkgs.privoxy}/share/doc/privoxy/user-manual"; + # This is needed for external filters + temporary-directory = "/tmp"; + filterfile = [ "default.filter" ]; + actionsfile = [ + "match-all.action" "default.action" ] ++ optional cfg.inspectHttps (toString inspectAction); - } // (optionalAttrs cfg.enableTor { - forward-socks5 = "/ 127.0.0.1:9063 ."; - toggle = true; - enable-remote-toggle = false; - enable-edit-actions = false; - enable-remote-http-toggle = false; - }) // (optionalAttrs cfg.inspectHttps { - # This allows setting absolute key/crt paths - ca-directory = "/var/empty"; - certificate-directory = "/run/privoxy/certs"; - trusted-cas-file = "/etc/ssl/certs/ca-certificates.crt"; - }); + } + // (optionalAttrs cfg.enableTor { + forward-socks5 = "/ 127.0.0.1:9063 ."; + toggle = true; + enable-remote-toggle = false; + enable-edit-actions = false; + enable-remote-http-toggle = false; + }) + // (optionalAttrs cfg.inspectHttps { + # This allows setting absolute key/crt paths + ca-directory = "/var/empty"; + certificate-directory = "/run/privoxy/certs"; + trusted-cas-file = "/etc/ssl/certs/ca-certificates.crt"; + }); }; imports = let - top = x: [ "services" "privoxy" x ]; - setting = x: [ "services" "privoxy" "settings" x ]; + top = x: [ + "services" + "privoxy" + x + ]; + setting = x: [ + "services" + "privoxy" + "settings" + x + ]; in - [ (mkRenamedOptionModule (top "enableEditActions") (setting "enable-edit-actions")) + [ + (mkRenamedOptionModule (top "enableEditActions") (setting "enable-edit-actions")) (mkRenamedOptionModule (top "listenAddress") (setting "listen-address")) (mkRenamedOptionModule (top "actionsFiles") (setting "actionsfile")) (mkRenamedOptionModule (top "filterFiles") (setting "filterfile")) - (mkRemovedOptionModule (top "extraConfig") - '' + (mkRemovedOptionModule (top "extraConfig") '' Use services.privoxy.settings instead. This is part of the general move to use structured settings instead of raw text for config as introduced by RFC0042: diff --git a/nixos/modules/services/networking/pyload.nix b/nixos/modules/services/networking/pyload.nix index 93f8dd7d731a9..144f97148ef9c 100644 --- a/nixos/modules/services/networking/pyload.nix +++ b/nixos/modules/services/networking/pyload.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.pyload; @@ -132,7 +138,11 @@ in RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@resources" + "~@privileged" + ]; UMask = "0002"; CapabilityBoundingSet = [ "~CAP_BLOCK_SUSPEND" diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix index 30b61dd9e5996..d699c9b6f155a 100644 --- a/nixos/modules/services/networking/quassel.nix +++ b/nixos/modules/services/networking/quassel.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -78,14 +84,15 @@ in }; - ###### implementation config = mkIf cfg.enable { assertions = [ - { assertion = cfg.requireSSL -> cfg.certificateFile != null; + { + assertion = cfg.requireSSL -> cfg.certificateFile != null; message = "Quassel needs a certificate file in order to require SSL"; - }]; + } + ]; users.users = optionalAttrs (cfg.user == null) { quassel = { @@ -107,25 +114,29 @@ in "d '${cfg.dataDir}' - ${user} - - -" ]; - systemd.services.quassel = - { description = "Quassel IRC client daemon"; + systemd.services.quassel = { + description = "Quassel IRC client daemon"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] ++ optional config.services.postgresql.enable "postgresql.service" - ++ optional config.services.mysql.enable "mysql.service"; + wantedBy = [ "multi-user.target" ]; + after = + [ "network.target" ] + ++ optional config.services.postgresql.enable "postgresql.service" + ++ optional config.services.mysql.enable "mysql.service"; - serviceConfig = - { - ExecStart = concatStringsSep " " ([ + serviceConfig = { + ExecStart = concatStringsSep " " ( + [ "${quassel}/bin/quasselcore" "--listen=${concatStringsSep "," cfg.interfaces}" "--port=${toString cfg.portNumber}" "--configdir=${cfg.dataDir}" - ] ++ optional cfg.requireSSL "--require-ssl" - ++ optional (cfg.certificateFile != null) "--ssl-cert=${cfg.certificateFile}"); - User = user; - }; + ] + ++ optional cfg.requireSSL "--require-ssl" + ++ optional (cfg.certificateFile != null) "--ssl-cert=${cfg.certificateFile}" + ); + User = user; }; + }; }; diff --git a/nixos/modules/services/networking/quicktun.nix b/nixos/modules/services/networking/quicktun.nix index b9fc5c8ebdb74..b2253cb72a718 100644 --- a/nixos/modules/services/networking/quicktun.nix +++ b/nixos/modules/services/networking/quicktun.nix @@ -1,4 +1,10 @@ -{ options, config, pkgs, lib, ... }: +{ + options, + config, + pkgs, + lib, + ... +}: let inherit (lib) mkOption types mkIf; @@ -15,120 +21,132 @@ in See for more information about available options. ''; - type = types.attrsOf (types.submodule ({ name, ... }: let - qtcfg = cfg.${name}; - in { - options = { - tunMode = mkOption { - type = with types; coercedTo bool (b: if b then 1 else 0) (ints.between 0 1); - default = false; - example = true; - description = "Whether to operate in tun (IP) or tap (Ethernet) mode."; - }; - - remoteAddress = mkOption { - type = types.str; - default = "0.0.0.0"; - example = "tunnel.example.com"; - description = '' - IP address or hostname of the remote end (use `0.0.0.0` for a floating/dynamic remote endpoint). - ''; - }; - - localAddress = mkOption { - type = with types; nullOr str; - default = null; - example = "0.0.0.0"; - description = "IP address or hostname of the local end."; - }; - - localPort = mkOption { - type = types.port; - default = 2998; - description = "Local UDP port."; - }; - - remotePort = mkOption { - type = types.port; - default = qtcfg.localPort; - defaultText = lib.literalExpression "config.services.quicktun..localPort"; - description = " remote UDP port"; - }; - - remoteFloat = mkOption { - type = with types; coercedTo bool (b: if b then 1 else 0) (ints.between 0 1); - default = false; - example = true; - description = '' - Whether to allow the remote address and port to change when properly encrypted packets are received. - ''; - }; - - protocol = mkOption { - type = types.enum [ "raw" "nacl0" "nacltai" "salty" ]; - default = "nacltai"; - description = "Which protocol to use."; - }; - - privateKey = mkOption { - type = with types; nullOr str; - default = null; - description = '' - Local secret key in hexadecimal form. - - ::: {.warning} - This option is deprecated. Please use {var}`services.quicktun..privateKeyFile` instead. - ::: - - ::: {.note} - Not needed when {var}`services.quicktun..protocol` is set to `raw`. - ::: - ''; - }; - - privateKeyFile = mkOption { - type = with types; nullOr path; - # This is a hack to deprecate `privateKey` without using `mkChangedModuleOption` - default = if qtcfg.privateKey == null then null else pkgs.writeText "quickttun-key-${name}" qtcfg.privateKey; - defaultText = "null"; - description = '' - Path to file containing local secret key in binary or hexadecimal form. - - ::: {.note} - Not needed when {var}`services.quicktun..protocol` is set to `raw`. - ::: - ''; - }; - - publicKey = mkOption { - type = with types; nullOr str; - default = null; - description = '' - Remote public key in hexadecimal form. - - ::: {.note} - Not needed when {var}`services.quicktun..protocol` is set to `raw`. - ::: - ''; - }; - - timeWindow = mkOption { - type = types.ints.unsigned; - default = 5; - description = '' - Allowed time window for first received packet in seconds (positive number allows packets from history) - ''; - }; - - upScript = mkOption { - type = with types; nullOr lines; - default = null; - description = '' - Run specified command or script after the tunnel device has been opened. - ''; - }; - }; - })); + type = types.attrsOf ( + types.submodule ( + { name, ... }: + let + qtcfg = cfg.${name}; + in + { + options = { + tunMode = mkOption { + type = with types; coercedTo bool (b: if b then 1 else 0) (ints.between 0 1); + default = false; + example = true; + description = "Whether to operate in tun (IP) or tap (Ethernet) mode."; + }; + + remoteAddress = mkOption { + type = types.str; + default = "0.0.0.0"; + example = "tunnel.example.com"; + description = '' + IP address or hostname of the remote end (use `0.0.0.0` for a floating/dynamic remote endpoint). + ''; + }; + + localAddress = mkOption { + type = with types; nullOr str; + default = null; + example = "0.0.0.0"; + description = "IP address or hostname of the local end."; + }; + + localPort = mkOption { + type = types.port; + default = 2998; + description = "Local UDP port."; + }; + + remotePort = mkOption { + type = types.port; + default = qtcfg.localPort; + defaultText = lib.literalExpression "config.services.quicktun..localPort"; + description = " remote UDP port"; + }; + + remoteFloat = mkOption { + type = with types; coercedTo bool (b: if b then 1 else 0) (ints.between 0 1); + default = false; + example = true; + description = '' + Whether to allow the remote address and port to change when properly encrypted packets are received. + ''; + }; + + protocol = mkOption { + type = types.enum [ + "raw" + "nacl0" + "nacltai" + "salty" + ]; + default = "nacltai"; + description = "Which protocol to use."; + }; + + privateKey = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Local secret key in hexadecimal form. + + ::: {.warning} + This option is deprecated. Please use {var}`services.quicktun..privateKeyFile` instead. + ::: + + ::: {.note} + Not needed when {var}`services.quicktun..protocol` is set to `raw`. + ::: + ''; + }; + + privateKeyFile = mkOption { + type = with types; nullOr path; + # This is a hack to deprecate `privateKey` without using `mkChangedModuleOption` + default = + if qtcfg.privateKey == null then null else pkgs.writeText "quickttun-key-${name}" qtcfg.privateKey; + defaultText = "null"; + description = '' + Path to file containing local secret key in binary or hexadecimal form. + + ::: {.note} + Not needed when {var}`services.quicktun..protocol` is set to `raw`. + ::: + ''; + }; + + publicKey = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Remote public key in hexadecimal form. + + ::: {.note} + Not needed when {var}`services.quicktun..protocol` is set to `raw`. + ::: + ''; + }; + + timeWindow = mkOption { + type = types.ints.unsigned; + default = 5; + description = '' + Allowed time window for first received packet in seconds (positive number allows packets from history) + ''; + }; + + upScript = mkOption { + type = with types; nullOr lines; + default = null; + description = '' + Run specified command or script after the tunnel device has been opened. + ''; + }; + }; + } + ) + ); }; }; @@ -137,13 +155,16 @@ in (lib.mapAttrsToList (name: value: if value.privateKey != null then name else null)) (builtins.filter (n: n != null)) (map (n: " - services.quicktun.${n}.privateKey")) - (services: lib.optional (services != [ ]) '' - `services.quicktun..privateKey` is deprecated. - Please use `services.quicktun..privateKeyFile` instead. - - Offending options: - ${lib.concatStringsSep "\n" services} - '') + ( + services: + lib.optional (services != [ ]) '' + `services.quicktun..privateKey` is deprecated. + Please use `services.quicktun..privateKeyFile` instead. + + Offending options: + ${lib.concatStringsSep "\n" services} + '' + ) ]; systemd.services = lib.mkMerge ( @@ -162,7 +183,9 @@ in PRIVATE_KEY_FILE = mkIf (qtcfg.privateKeyFile != null) qtcfg.privateKeyFile; PUBLIC_KEY = mkIf (qtcfg.publicKey != null) qtcfg.publicKey; TIME_WINDOW = toString qtcfg.timeWindow; - TUN_UP_SCRIPT = mkIf (qtcfg.upScript != null) (pkgs.writeScript "quicktun-${name}-up.sh" qtcfg.upScript); + TUN_UP_SCRIPT = mkIf (qtcfg.upScript != null) ( + pkgs.writeScript "quicktun-${name}-up.sh" qtcfg.upScript + ); SUID = "nobody"; }; serviceConfig = { diff --git a/nixos/modules/services/networking/quorum.nix b/nixos/modules/services/networking/quorum.nix index 8f6df0881b239..d86d32bc2de42 100644 --- a/nixos/modules/services/networking/quorum.nix +++ b/nixos/modules/services/networking/quorum.nix @@ -1,7 +1,20 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption literalExpression types optionalString; + inherit (lib) + mkEnableOption + mkIf + mkOption + literalExpression + types + optionalString + ; cfg = config.services.quorum; opt = options.services.quorum; @@ -9,7 +22,8 @@ let genesisFile = pkgs.writeText "genesis.json" (builtins.toJSON cfg.genesis); staticNodesFile = pkgs.writeText "static-nodes.json" (builtins.toJSON cfg.staticNodes); -in { +in +{ options = { services.quorum = { @@ -42,8 +56,10 @@ in { staticNodes = mkOption { type = types.listOf types.str; - default = []; - example = [ "enode://dd333ec28f0a8910c92eb4d336461eea1c20803eed9cf2c056557f986e720f8e693605bba2f4e8f289b1162e5ac7c80c914c7178130711e393ca76abc1d92f57@0.0.0.0:30303?discport=0" ]; + default = [ ]; + example = [ + "enode://dd333ec28f0a8910c92eb4d336461eea1c20803eed9cf2c056557f986e720f8e693605bba2f4e8f289b1162e5ac7c80c914c7178130711e393ca76abc1d92f57@0.0.0.0:30303?discport=0" + ]; description = "List of validator nodes."; }; @@ -54,7 +70,11 @@ in { }; syncmode = mkOption { - type = types.enum [ "fast" "full" "light" ]; + type = types.enum [ + "fast" + "full" + "light" + ]; default = "full"; description = "Blockchain sync mode."; }; @@ -97,7 +117,7 @@ in { }; }; - ws = { + ws = { enable = mkOption { type = types.bool; default = true; @@ -122,47 +142,48 @@ in { description = "API's offered over the WS-RPC interface."; }; - origins = mkOption { + origins = mkOption { type = types.str; default = "*"; description = "Origins from which to accept websockets requests"; - }; - }; + }; + }; genesis = mkOption { type = types.nullOr types.attrs; default = null; - example = literalExpression '' { - alloc = { - a47385db68718bdcbddc2d2bb7c54018066ec111 = { - balance = "1000000000000000000000000000"; - }; - }; - coinbase = "0x0000000000000000000000000000000000000000"; - config = { - byzantiumBlock = 4; - chainId = 494702925; - eip150Block = 2; - eip155Block = 3; - eip158Block = 3; - homesteadBlock = 1; - isQuorum = true; - istanbul = { - epoch = 30000; - policy = 0; - }; - }; - difficulty = "0x1"; - extraData = "0x0000000000000000000000000000000000000000000000000000000000000000f85ad59438f0508111273d8e482f49410ca4078afc86a961b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0"; - gasLimit = "0x2FEFD800"; - mixHash = "0x63746963616c2062797a616e74696e65201111756c7420746f6c6572616e6365"; - nonce = "0x0"; - parentHash = "0x0000000000000000000000000000000000000000000000000000000000000000"; - timestamp = "0x00"; - }''; + example = literalExpression '' + { + alloc = { + a47385db68718bdcbddc2d2bb7c54018066ec111 = { + balance = "1000000000000000000000000000"; + }; + }; + coinbase = "0x0000000000000000000000000000000000000000"; + config = { + byzantiumBlock = 4; + chainId = 494702925; + eip150Block = 2; + eip155Block = 3; + eip158Block = 3; + homesteadBlock = 1; + isQuorum = true; + istanbul = { + epoch = 30000; + policy = 0; + }; + }; + difficulty = "0x1"; + extraData = "0x0000000000000000000000000000000000000000000000000000000000000000f85ad59438f0508111273d8e482f49410ca4078afc86a961b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0"; + gasLimit = "0x2FEFD800"; + mixHash = "0x63746963616c2062797a616e74696e65201111756c7420746f6c6572616e6365"; + nonce = "0x0"; + parentHash = "0x0000000000000000000000000000000000000000000000000000000000000000"; + timestamp = "0x00"; + }''; description = "Blockchain genesis settings."; }; - }; + }; }; config = mkIf cfg.enable { @@ -193,22 +214,20 @@ in { serviceConfig = { User = cfg.user; Group = cfg.group; - ExecStart = ''${pkgs.quorum}/bin/geth \ - --nodiscover \ - --verbosity 5 \ - --nodekey ${cfg.nodekeyFile} \ - --istanbul.blockperiod ${toString cfg.blockperiod} \ - --syncmode ${cfg.syncmode} \ - ${optionalString (cfg.permissioned) - "--permissioned"} \ - --mine --miner.threads 1 \ - ${optionalString (cfg.rpc.enable) - "--rpc --rpcaddr ${cfg.rpc.address} --rpcport ${toString cfg.rpc.port} --rpcapi ${cfg.rpc.api}"} \ - ${optionalString (cfg.ws.enable) - "--ws --ws.addr ${cfg.ws.address} --ws.port ${toString cfg.ws.port} --ws.api ${cfg.ws.api} --ws.origins ${cfg.ws.origins}"} \ - --emitcheckpoints \ - --datadir ${dataDir} \ - --port ${toString cfg.port}''; + ExecStart = '' + ${pkgs.quorum}/bin/geth \ + --nodiscover \ + --verbosity 5 \ + --nodekey ${cfg.nodekeyFile} \ + --istanbul.blockperiod ${toString cfg.blockperiod} \ + --syncmode ${cfg.syncmode} \ + ${optionalString (cfg.permissioned) "--permissioned"} \ + --mine --miner.threads 1 \ + ${optionalString (cfg.rpc.enable) "--rpc --rpcaddr ${cfg.rpc.address} --rpcport ${toString cfg.rpc.port} --rpcapi ${cfg.rpc.api}"} \ + ${optionalString (cfg.ws.enable) "--ws --ws.addr ${cfg.ws.address} --ws.port ${toString cfg.ws.port} --ws.api ${cfg.ws.api} --ws.origins ${cfg.ws.origins}"} \ + --emitcheckpoints \ + --datadir ${dataDir} \ + --port ${toString cfg.port}''; Restart = "on-failure"; # Hardening measures @@ -226,6 +245,6 @@ in { home = dataDir; isSystemUser = true; }; - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; }; } diff --git a/nixos/modules/services/networking/r53-ddns.nix b/nixos/modules/services/networking/r53-ddns.nix index a8839762d530d..9b4fa4c52672f 100644 --- a/nixos/modules/services/networking/r53-ddns.nix +++ b/nixos/modules/services/networking/r53-ddns.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -61,7 +66,8 @@ in systemd.services.r53-ddns = { description = "r53-ddns service"; serviceConfig = { - ExecStart = "${pkg}/bin/r53-ddns -zone-id ${cfg.zoneID} -domain ${cfg.domain}" + ExecStart = + "${pkg}/bin/r53-ddns -zone-id ${cfg.zoneID} -domain ${cfg.domain}" + lib.optionalString (cfg.hostname != null) " -hostname ${cfg.hostname}"; EnvironmentFile = "${cfg.environmentFile}"; DynamicUser = true; diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix index 7037e6817803d..d210efe14b3c9 100644 --- a/nixos/modules/services/networking/radicale.nix +++ b/nixos/modules/services/networking/radicale.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,21 +14,20 @@ let listToValue = concatMapStringsSep ", " (generators.mkValueStringDefault { }); }; - pkg = if cfg.package == null then - pkgs.radicale - else - cfg.package; + pkg = if cfg.package == null then pkgs.radicale else cfg.package; - confFile = if cfg.settings == { } then - pkgs.writeText "radicale.conf" cfg.config - else - format.generate "radicale.conf" cfg.settings; + confFile = + if cfg.settings == { } then + pkgs.writeText "radicale.conf" cfg.config + else + format.generate "radicale.conf" cfg.settings; rightsFile = format.generate "radicale.rights" cfg.rights; bindLocalhost = cfg.settings != { } && !hasAttrByPath [ "server" "hosts" ] cfg.settings; -in { +in +{ options.services.radicale = { enable = mkEnableOption "Radicale CalDAV and CardDAV server"; @@ -101,7 +105,7 @@ in { extraArgs = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Extra arguments passed to the Radicale daemon."; }; }; @@ -117,21 +121,24 @@ in { } ]; - warnings = optional (cfg.package == null && versionOlder config.system.stateVersion "17.09") '' - The configuration and storage formats of your existing Radicale - installation might be incompatible with the newest version. - For upgrade instructions see - https://radicale.org/2.1.html#documentation/migration-from-1xx-to-2xx. - Set services.radicale.package to suppress this warning. - '' ++ optional (cfg.package == null && versionOlder config.system.stateVersion "20.09") '' - The configuration format of your existing Radicale installation might be - incompatible with the newest version. For upgrade instructions see - https://github.com/Kozea/Radicale/blob/3.0.6/NEWS.md#upgrade-checklist. - Set services.radicale.package to suppress this warning. - '' ++ optional (cfg.config != "") '' - The option services.radicale.config is deprecated. - Use services.radicale.settings instead. - ''; + warnings = + optional (cfg.package == null && versionOlder config.system.stateVersion "17.09") '' + The configuration and storage formats of your existing Radicale + installation might be incompatible with the newest version. + For upgrade instructions see + https://radicale.org/2.1.html#documentation/migration-from-1xx-to-2xx. + Set services.radicale.package to suppress this warning. + '' + ++ optional (cfg.package == null && versionOlder config.system.stateVersion "20.09") '' + The configuration format of your existing Radicale installation might be + incompatible with the newest version. For upgrade instructions see + https://github.com/Kozea/Radicale/blob/3.0.6/NEWS.md#upgrade-checklist. + Set services.radicale.package to suppress this warning. + '' + ++ optional (cfg.config != "") '' + The option services.radicale.config is deprecated. + Use services.radicale.settings instead. + ''; services.radicale.settings.rights = mkIf (cfg.rights != { }) { type = "from_file"; @@ -145,7 +152,7 @@ in { group = "radicale"; }; - users.groups.radicale = {}; + users.groups.radicale = { }; systemd.services.radicale = { description = "A Simple Calendar and Contact Server"; @@ -153,18 +160,24 @@ in { requires = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = concatStringsSep " " ([ - "${pkg}/bin/radicale" "-C" confFile - ] ++ ( - map escapeShellArg cfg.extraArgs - )); + ExecStart = concatStringsSep " " ( + [ + "${pkg}/bin/radicale" + "-C" + confFile + ] + ++ (map escapeShellArg cfg.extraArgs) + ); User = "radicale"; Group = "radicale"; StateDirectory = "radicale/collections"; StateDirectoryMode = "0750"; # Hardening CapabilityBoundingSet = [ "" ]; - DeviceAllow = [ "/dev/stdin" "/dev/urandom" ]; + DeviceAllow = [ + "/dev/stdin" + "/dev/urandom" + ]; DevicePolicy = "strict"; IPAddressAllow = mkIf bindLocalhost "localhost"; IPAddressDeny = mkIf bindLocalhost "any"; @@ -184,16 +197,24 @@ in { ProtectKernelTunables = true; ProtectProc = "invisible"; ProtectSystem = "strict"; - ReadWritePaths = lib.optional - (hasAttrByPath [ "storage" "filesystem_folder" ] cfg.settings) - cfg.settings.storage.filesystem_folder; + ReadWritePaths = lib.optional (hasAttrByPath [ + "storage" + "filesystem_folder" + ] cfg.settings) cfg.settings.storage.filesystem_folder; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; UMask = "0027"; WorkingDirectory = "/var/lib/radicale"; }; diff --git a/nixos/modules/services/networking/realm.nix b/nixos/modules/services/networking/realm.nix index 5b0c34ac825ff..2eba0ed3149ff 100644 --- a/nixos/modules/services/networking/realm.nix +++ b/nixos/modules/services/networking/realm.nix @@ -1,14 +1,21 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.services.realm; configFormat = pkgs.formats.json { }; configFile = configFormat.generate "config.json" cfg.config; inherit (lib) - mkEnableOption mkPackageOption mkOption mkIf types getExe; + mkEnableOption + mkPackageOption + mkOption + mkIf + types + getExe + ; in { @@ -42,7 +49,10 @@ in ProtectProc = "invisible"; ProtectKernelTunables = true; ExecStart = "${getExe cfg.package} --config ${configFile}"; - AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_BIND_SERVICE" ]; + AmbientCapabilities = [ + "CAP_NET_ADMIN" + "CAP_NET_BIND_SERVICE" + ]; }; wantedBy = [ "multi-user.target" ]; }; diff --git a/nixos/modules/services/networking/rosenpass.nix b/nixos/modules/services/networking/rosenpass.nix index 92ecc1cb31a36..2ad2196179f8a 100644 --- a/nixos/modules/services/networking/rosenpass.nix +++ b/nixos/modules/services/networking/rosenpass.nix @@ -1,8 +1,9 @@ -{ config -, lib -, options -, pkgs -, ... +{ + config, + lib, + options, + pkgs, + ... }: let inherit (lib) @@ -71,7 +72,10 @@ in }; verbosity = mkOption { - type = enum [ "Verbose" "Quiet" ]; + type = enum [ + "Verbose" + "Quiet" + ]; default = "Quiet"; description = "Verbosity of output produced by the service."; }; @@ -149,7 +153,13 @@ in } ]; relevantExtractions = filter (x: x.relevant) extractions; - extract = { root, peer, key, ... }: + extract = + { + root, + peer, + key, + ... + }: filter (x: x != null) (flatten (concatMap (x: (map key (peer x))) (attrValues root))); configuredKeys = flatten (map extract relevantExtractions); itemize = xs: concatLines (map (x: " - ${x}") xs); @@ -167,22 +177,24 @@ in ${itemize (descriptions relevantExtractions)} ${unusual} '') - ++ - optional (relevantExtractions == [ ]) '' + ++ optional (relevantExtractions == [ ]) '' You have configured Rosenpass, but you have not configured Wireguard via any of: ${itemize (descriptions extractions)} ${unusual} ''; - environment.systemPackages = [ cfg.package pkgs.wireguard-tools ]; + environment.systemPackages = [ + cfg.package + pkgs.wireguard-tools + ]; systemd.services.rosenpass = let filterNonNull = filterAttrsRecursive (_: v: v != null); config = settingsFormat.generate "config.toml" ( - filterNonNull (cfg.settings - // - ( + filterNonNull ( + cfg.settings + // ( let credentialPath = id: "$CREDENTIALS_DIRECTORY/${id}"; # NOTE: We would like to remove all `null` values inside `cfg.settings` @@ -208,7 +220,10 @@ in wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; after = [ "network-online.target" ]; - path = [ cfg.package pkgs.wireguard-tools ]; + path = [ + cfg.package + pkgs.wireguard-tools + ]; serviceConfig = { User = "rosenpass"; diff --git a/nixos/modules/services/networking/scion/scion-control.nix b/nixos/modules/services/networking/scion/scion-control.nix index 8b6733ac0c244..f0550f32cb1ff 100644 --- a/nixos/modules/services/networking/scion/scion-control.nix +++ b/nixos/modules/services/networking/scion/scion-control.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -54,8 +59,14 @@ in config = mkIf cfg.enable { systemd.services.scion-control = { description = "SCION Control Service"; - after = [ "network-online.target" "scion-dispatcher.service" ]; - wants = [ "network-online.target" "scion-dispatcher.service" ]; + after = [ + "network-online.target" + "scion-dispatcher.service" + ]; + wants = [ + "network-online.target" + "scion-dispatcher.service" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; diff --git a/nixos/modules/services/networking/scion/scion-daemon.nix b/nixos/modules/services/networking/scion/scion-daemon.nix index 09416178d35ab..36bd78bf5665e 100644 --- a/nixos/modules/services/networking/scion/scion-daemon.nix +++ b/nixos/modules/services/networking/scion/scion-daemon.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -51,8 +56,14 @@ in config = mkIf cfg.enable { systemd.services.scion-daemon = { description = "SCION Daemon"; - after = [ "network-online.target" "scion-dispatcher.service" ]; - wants = [ "network-online.target" "scion-dispatcher.service" ]; + after = [ + "network-online.target" + "scion-dispatcher.service" + ]; + wants = [ + "network-online.target" + "scion-dispatcher.service" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; diff --git a/nixos/modules/services/networking/scion/scion-dispatcher.nix b/nixos/modules/services/networking/scion/scion-dispatcher.nix index 7d2e28be75f72..a6559487a19bf 100644 --- a/nixos/modules/services/networking/scion/scion-dispatcher.nix +++ b/nixos/modules/services/networking/scion/scion-dispatcher.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -45,7 +50,7 @@ in }; config = mkIf cfg.enable { # Needed for group ownership of the dispatcher socket - users.groups.scion = {}; + users.groups.scion = { }; # scion programs hardcode path to dispatcher in /run/shm, and is not # configurable at runtime upstream plans to obsolete the dispatcher in @@ -72,4 +77,3 @@ in }; }; } - diff --git a/nixos/modules/services/networking/scion/scion-router.nix b/nixos/modules/services/networking/scion/scion-router.nix index 7587a06ed9dbe..52182dd35aa0a 100644 --- a/nixos/modules/services/networking/scion/scion-router.nix +++ b/nixos/modules/services/networking/scion/scion-router.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/networking/scion/scion.nix b/nixos/modules/services/networking/scion/scion.nix index 0b26f24e7ed02..25787dc92f2d7 100644 --- a/nixos/modules/services/networking/scion/scion.nix +++ b/nixos/modules/services/networking/scion/scion.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -45,7 +50,8 @@ in scion-ip-gateway.enable = true; }; assertions = [ - { assertion = cfg.bypassBootstrapWarning == true; + { + assertion = cfg.bypassBootstrapWarning == true; message = '' SCION is a routing protocol and requires bootstrapping with a manual, imperative key signing ceremony. You may want to join an existing Isolation Domain (ISD) such as scionlab.org, or bootstrap your own. If you have completed and configured the public key infrastructure for SCION and are sure this process is complete, then add the following to your configuration: @@ -57,4 +63,3 @@ in ]; }; } - diff --git a/nixos/modules/services/networking/shorewall.nix b/nixos/modules/services/networking/shorewall.nix index 8d05543e9051c..3d59b7d09c732 100644 --- a/nixos/modules/services/networking/shorewall.nix +++ b/nixos/modules/services/networking/shorewall.nix @@ -1,13 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let types = lib.types; cfg = config.services.shorewall; -in { +in +{ options = { services.shorewall = { enable = lib.mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = '' Whether to enable Shorewall IPv4 Firewall. @@ -19,14 +25,14 @@ in { ''; }; package = lib.mkOption { - type = types.package; - default = pkgs.shorewall; + type = types.package; + default = pkgs.shorewall; defaultText = lib.literalExpression "pkgs.shorewall"; description = "The shorewall package to use."; }; configs = lib.mkOption { - type = types.attrsOf types.lines; - default = {}; + type = types.attrsOf types.lines; + default = { }; description = '' This option defines the Shorewall configs. The attribute name defines the name of the config, @@ -40,19 +46,19 @@ in { config = lib.mkIf cfg.enable { systemd.services.firewall.enable = false; systemd.services.shorewall = { - description = "Shorewall IPv4 Firewall"; - after = [ "ipset.target" ]; - before = [ "network-pre.target" ]; - wants = [ "network-pre.target" ]; - wantedBy = [ "multi-user.target" ]; + description = "Shorewall IPv4 Firewall"; + after = [ "ipset.target" ]; + before = [ "network-pre.target" ]; + wants = [ "network-pre.target" ]; + wantedBy = [ "multi-user.target" ]; reloadIfChanged = true; restartTriggers = lib.attrValues cfg.configs; serviceConfig = { - Type = "oneshot"; + Type = "oneshot"; RemainAfterExit = "yes"; - ExecStart = "${cfg.package}/bin/shorewall start"; - ExecReload = "${cfg.package}/bin/shorewall reload"; - ExecStop = "${cfg.package}/bin/shorewall stop"; + ExecStart = "${cfg.package}/bin/shorewall start"; + ExecReload = "${cfg.package}/bin/shorewall reload"; + ExecStop = "${cfg.package}/bin/shorewall stop"; }; preStart = '' install -D -d -m 750 /var/lib/shorewall @@ -62,7 +68,9 @@ in { ''; }; environment = { - etc = lib.mapAttrs' (name: conf: lib.nameValuePair "shorewall/${name}" {source=conf;}) cfg.configs; + etc = lib.mapAttrs' ( + name: conf: lib.nameValuePair "shorewall/${name}" { source = conf; } + ) cfg.configs; systemPackages = [ cfg.package ]; }; }; diff --git a/nixos/modules/services/networking/shorewall6.nix b/nixos/modules/services/networking/shorewall6.nix index 3088e59fa9eb4..fe40f7e430e31 100644 --- a/nixos/modules/services/networking/shorewall6.nix +++ b/nixos/modules/services/networking/shorewall6.nix @@ -1,13 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let types = lib.types; cfg = config.services.shorewall6; -in { +in +{ options = { services.shorewall6 = { enable = lib.mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = '' Whether to enable Shorewall IPv6 Firewall. @@ -19,14 +25,14 @@ in { ''; }; package = lib.mkOption { - type = types.package; - default = pkgs.shorewall; + type = types.package; + default = pkgs.shorewall; defaultText = lib.literalExpression "pkgs.shorewall"; description = "The shorewall package to use."; }; configs = lib.mkOption { - type = types.attrsOf types.lines; - default = {}; + type = types.attrsOf types.lines; + default = { }; description = '' This option defines the Shorewall configs. The attribute name defines the name of the config, @@ -40,19 +46,19 @@ in { config = lib.mkIf cfg.enable { systemd.services.firewall.enable = false; systemd.services.shorewall6 = { - description = "Shorewall IPv6 Firewall"; - after = [ "ipset.target" ]; - before = [ "network-pre.target" ]; - wants = [ "network-pre.target" ]; - wantedBy = [ "multi-user.target" ]; + description = "Shorewall IPv6 Firewall"; + after = [ "ipset.target" ]; + before = [ "network-pre.target" ]; + wants = [ "network-pre.target" ]; + wantedBy = [ "multi-user.target" ]; reloadIfChanged = true; restartTriggers = lib.attrValues cfg.configs; serviceConfig = { - Type = "oneshot"; + Type = "oneshot"; RemainAfterExit = "yes"; - ExecStart = "${cfg.package}/bin/shorewall6 start"; - ExecReload = "${cfg.package}/bin/shorewall6 reload"; - ExecStop = "${cfg.package}/bin/shorewall6 stop"; + ExecStart = "${cfg.package}/bin/shorewall6 start"; + ExecReload = "${cfg.package}/bin/shorewall6 reload"; + ExecStop = "${cfg.package}/bin/shorewall6 stop"; }; preStart = '' install -D -d -m 750 /var/lib/shorewall6 @@ -62,7 +68,9 @@ in { ''; }; environment = { - etc = lib.mapAttrs' (name: conf: lib.nameValuePair "shorewall6/${name}" {source=conf;}) cfg.configs; + etc = lib.mapAttrs' ( + name: conf: lib.nameValuePair "shorewall6/${name}" { source = conf; } + ) cfg.configs; systemPackages = [ cfg.package ]; }; }; diff --git a/nixos/modules/services/networking/sing-box.nix b/nixos/modules/services/networking/sing-box.nix index 1eadeaf4cbc1d..becf8b62eb7ec 100644 --- a/nixos/modules/services/networking/sing-box.nix +++ b/nixos/modules/services/networking/sing-box.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.sing-box; settingsFormat = pkgs.formats.json { }; diff --git a/nixos/modules/services/networking/sitespeed-io.nix b/nixos/modules/services/networking/sitespeed-io.nix index 2af12ac0be520..338328dd94f04 100644 --- a/nixos/modules/services/networking/sitespeed-io.nix +++ b/nixos/modules/services/networking/sitespeed-io.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.sitespeed-io; format = pkgs.formats.json { }; @@ -41,53 +46,55 @@ in for every run listed here. This lets you examine different websites with different sitespeed-io settings. ''; - type = lib.types.listOf (lib.types.submodule { - options = { - urls = lib.mkOption { - type = with lib.types; listOf str; - default = []; - description = '' - URLs the service should monitor. - ''; - }; + type = lib.types.listOf ( + lib.types.submodule { + options = { + urls = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = '' + URLs the service should monitor. + ''; + }; - settings = lib.mkOption { - type = lib.types.submodule { - freeformType = format.type; - options = { }; + settings = lib.mkOption { + type = lib.types.submodule { + freeformType = format.type; + options = { }; + }; + default = { }; + description = '' + Configuration for sitespeed-io, see + + for available options. The value here will be directly transformed to + JSON and passed as `--config` to the program. + ''; }; - default = { }; - description = '' - Configuration for sitespeed-io, see - - for available options. The value here will be directly transformed to - JSON and passed as `--config` to the program. - ''; - }; - extraArgs = lib.mkOption { - type = with lib.types; listOf str; - default = []; - description = '' - Extra command line arguments to pass to the program. - ''; + extraArgs = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = '' + Extra command line arguments to pass to the program. + ''; + }; }; - }; - }); + } + ); }; }; config = lib.mkIf cfg.enable { assertions = [ - { - assertion = cfg.runs != []; - message = "At least one run must be configured."; - } - { - assertion = lib.all (run: run.urls != []) cfg.runs; - message = "All runs must have at least one url configured."; - } - ]; + { + assertion = cfg.runs != [ ]; + message = "At least one run must be configured."; + } + { + assertion = lib.all (run: run.urls != [ ]) cfg.runs; + message = "All runs must have at least one url configured."; + } + ]; systemd.services.sitespeed-io = { description = "Check website status"; @@ -97,15 +104,16 @@ in User = cfg.user; }; preStart = "chmod u+w -R ${cfg.dataDir}"; # Make sure things are writable - script = (lib.concatMapStrings (run: '' - ${lib.getExe cfg.package} \ - --config ${format.generate "sitespeed.json" run.settings} \ - ${lib.escapeShellArgs run.extraArgs} \ - ${builtins.toFile "urls.txt" (lib.concatLines run.urls)} & - '') cfg.runs) + - '' - wait - ''; + script = + (lib.concatMapStrings (run: '' + ${lib.getExe cfg.package} \ + --config ${format.generate "sitespeed.json" run.settings} \ + ${lib.escapeShellArgs run.extraArgs} \ + ${builtins.toFile "urls.txt" (lib.concatLines run.urls)} & + '') cfg.runs) + + '' + wait + ''; }; users = { diff --git a/nixos/modules/services/networking/solanum.nix b/nixos/modules/services/networking/solanum.nix index f9d3c30b3bbbf..ab77ae0d4c9aa 100644 --- a/nixos/modules/services/networking/solanum.nix +++ b/nixos/modules/services/networking/solanum.nix @@ -1,7 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption types; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + ; inherit (pkgs) solanum util-linux; cfg = config.services.solanum; @@ -73,37 +83,38 @@ in }; - ###### implementation - config = mkIf cfg.enable (lib.mkMerge [ - { - - environment.etc."solanum/ircd.conf".source = configFile; - - systemd.services.solanum = { - description = "Solanum IRC daemon"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - reloadIfChanged = true; - restartTriggers = [ - configFile - ]; - serviceConfig = { - ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile /etc/solanum/ircd.conf -pidfile /run/solanum/ircd.pid"; - ExecReload = "${util-linux}/bin/kill -HUP $MAINPID"; - DynamicUser = true; - User = "solanum"; - StateDirectory = "solanum"; - RuntimeDirectory = "solanum"; - LimitNOFILE = "${toString cfg.openFilesLimit}"; + config = mkIf cfg.enable ( + lib.mkMerge [ + { + + environment.etc."solanum/ircd.conf".source = configFile; + + systemd.services.solanum = { + description = "Solanum IRC daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + reloadIfChanged = true; + restartTriggers = [ + configFile + ]; + serviceConfig = { + ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile /etc/solanum/ircd.conf -pidfile /run/solanum/ircd.pid"; + ExecReload = "${util-linux}/bin/kill -HUP $MAINPID"; + DynamicUser = true; + User = "solanum"; + StateDirectory = "solanum"; + RuntimeDirectory = "solanum"; + LimitNOFILE = "${toString cfg.openFilesLimit}"; + }; }; - }; - } + } - (mkIf (cfg.motd != null) { - environment.etc."solanum/ircd.motd".text = cfg.motd; - }) - ]); + (mkIf (cfg.motd != null) { + environment.etc."solanum/ircd.motd".text = cfg.motd; + }) + ] + ); } diff --git a/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix b/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix index 8746cfc58f722..cb4ef1079016f 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix @@ -39,13 +39,13 @@ # { "${name}" = string }. This allows parameters to change the attribute # name like in the previous example. -lib : +lib: with lib; with (import ./param-lib.nix lib); rec { - mkParamOfType = type : strongswanDefault : description : { + mkParamOfType = type: strongswanDefault: description: { _type = "param"; option = mkOption { type = types.nullOr type; @@ -55,37 +55,42 @@ rec { render = single toString; }; - documentDefault = description : strongswanDefault : - if strongswanDefault == null - then description - else (description + '' + documentDefault = + description: strongswanDefault: + if strongswanDefault == null then + description + else + ( + description + + '' - StrongSwan default: ````${builtins.toJSON strongswanDefault}```` - ''); + StrongSwan default: ````${builtins.toJSON strongswanDefault}```` + '' + ); single = f: name: value: { ${name} = f value; }; - mkStrParam = mkParamOfType types.str; + mkStrParam = mkParamOfType types.str; mkOptionalStrParam = mkStrParam null; - mkEnumParam = values : mkParamOfType (types.enum values); + mkEnumParam = values: mkParamOfType (types.enum values); - mkIntParam = mkParamOfType types.int; + mkIntParam = mkParamOfType types.int; mkOptionalIntParam = mkIntParam null; # We should have floats in Nix... mkFloatParam = mkStrParam; # TODO: Check for hex format: - mkHexParam = mkStrParam; + mkHexParam = mkStrParam; mkOptionalHexParam = mkOptionalStrParam; # TODO: Check for duration format: - mkDurationParam = mkStrParam; + mkDurationParam = mkStrParam; mkOptionalDurationParam = mkOptionalStrParam; - mkYesNoParam = strongswanDefault : description : { + mkYesNoParam = strongswanDefault: description: { _type = "param"; option = mkOption { type = types.nullOr types.bool; @@ -95,12 +100,12 @@ rec { render = single (b: if b then "yes" else "no"); }; yes = true; - no = false; + no = false; mkSpaceSepListParam = mkSepListParam " "; mkCommaSepListParam = mkSepListParam ","; - mkSepListParam = sep : strongswanDefault : description : { + mkSepListParam = sep: strongswanDefault: description: { _type = "param"; option = mkOption { type = types.nullOr (types.listOf types.str); @@ -110,54 +115,53 @@ rec { render = single (value: concatStringsSep sep value); }; - mkAttrsOfParams = params : - mkAttrsOf params (types.submodule {options = paramsToOptions params;}); + mkAttrsOfParams = params: mkAttrsOf params (types.submodule { options = paramsToOptions params; }); - mkAttrsOfParam = param : - mkAttrsOf param param.option.type; + mkAttrsOfParam = param: mkAttrsOf param param.option.type; - mkAttrsOf = param : option : description : { + mkAttrsOf = param: option: description: { _type = "param"; option = mkOption { type = types.attrsOf option; - default = {}; + default = { }; description = description; }; - render = single (attrs: - (paramsToRenderedStrings attrs - (mapAttrs (_n: _v: param) attrs))); + render = single (attrs: (paramsToRenderedStrings attrs (mapAttrs (_n: _v: param) attrs))); }; - mkPrefixedAttrsOfParams = params : - mkPrefixedAttrsOf params (types.submodule {options = paramsToOptions params;}); + mkPrefixedAttrsOfParams = + params: mkPrefixedAttrsOf params (types.submodule { options = paramsToOptions params; }); - mkPrefixedAttrsOfParam = param : - mkPrefixedAttrsOf param param.option.type; + mkPrefixedAttrsOfParam = param: mkPrefixedAttrsOf param param.option.type; - mkPrefixedAttrsOf = p : option : description : { + mkPrefixedAttrsOf = p: option: description: { _type = "param"; option = mkOption { type = types.attrsOf option; - default = {}; + default = { }; description = description; }; - render = prefix: attrs: - let prefixedAttrs = mapAttrs' (name: nameValuePair "${prefix}-${name}") attrs; - in paramsToRenderedStrings prefixedAttrs - (mapAttrs (_n: _v: p) prefixedAttrs); + render = + prefix: attrs: + let + prefixedAttrs = mapAttrs' (name: nameValuePair "${prefix}-${name}") attrs; + in + paramsToRenderedStrings prefixedAttrs (mapAttrs (_n: _v: p) prefixedAttrs); }; - mkPostfixedAttrsOfParams = params : description : { + mkPostfixedAttrsOfParams = params: description: { _type = "param"; option = mkOption { - type = types.attrsOf (types.submodule {options = paramsToOptions params;}); - default = {}; + type = types.attrsOf (types.submodule { options = paramsToOptions params; }); + default = { }; description = description; }; - render = postfix: attrs: - let postfixedAttrs = mapAttrs' (name: nameValuePair "${name}-${postfix}") attrs; - in paramsToRenderedStrings postfixedAttrs - (mapAttrs (_n: _v: params) postfixedAttrs); + render = + postfix: attrs: + let + postfixedAttrs = mapAttrs' (name: nameValuePair "${name}-${postfix}") attrs; + in + paramsToRenderedStrings postfixedAttrs (mapAttrs (_n: _v: params) postfixedAttrs); }; } diff --git a/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix b/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix index 2bbb39a76049b..1619cb6cf089c 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/param-lib.nix @@ -1,9 +1,9 @@ -lib : +lib: with lib; rec { - paramsToConf = cfg : ps : mkConf 0 (paramsToRenderedStrings cfg ps); + paramsToConf = cfg: ps: mkConf 0 (paramsToRenderedStrings cfg ps); # mkConf takes an indentation level (which usually starts at 0) and a nested # attribute set of strings and will render that set to a strongswan.conf style @@ -18,65 +18,80 @@ rec { # } # d = 4 # }'' - mkConf = indent : ps : - concatMapStringsSep "\n" - (name: - let value = ps.${name}; - indentation = replicate indent " "; - in - indentation + ( - if isAttrs value - then "${name} {\n" + - mkConf (indent + 2) value + "\n" + - indentation + "}" - else "${name} = ${value}" - ) + mkConf = + indent: ps: + concatMapStringsSep "\n" ( + name: + let + value = ps.${name}; + indentation = replicate indent " "; + in + indentation + + ( + if isAttrs value then + "${name} {\n" + mkConf (indent + 2) value + "\n" + indentation + "}" + else + "${name} = ${value}" ) - (attrNames ps); + ) (attrNames ps); - replicate = n : c : concatStrings (builtins.genList (_x : c) n); + replicate = n: c: concatStrings (builtins.genList (_x: c) n); # `paramsToRenderedStrings cfg ps` converts the NixOS configuration `cfg` # (typically the "config" argument of a NixOS module) and the set of # parameters `ps` (an attribute set where the values are constructed using the # parameter constructors in ./param-constructors.nix) to a nested attribute # set of strings (rendered parameters). - paramsToRenderedStrings = cfg : ps : + paramsToRenderedStrings = + cfg: ps: filterEmptySets ( - (mapParamsRecursive (path: name: param: - let value = attrByPath path null cfg; - in optionalAttrs (value != null) (param.render name value) - ) ps)); + (mapParamsRecursive ( + path: name: param: + let + value = attrByPath path null cfg; + in + optionalAttrs (value != null) (param.render name value) + ) ps) + ); - filterEmptySets = set : filterAttrs (n: v: (v != null)) (mapAttrs (name: value: - if isAttrs value - then let value' = filterEmptySets value; - in if value' == {} - then null - else value' - else value - ) set); + filterEmptySets = + set: + filterAttrs (n: v: (v != null)) ( + mapAttrs ( + name: value: + if isAttrs value then + let + value' = filterEmptySets value; + in + if value' == { } then null else value' + else + value + ) set + ); # Recursively map over every parameter in the given attribute set. mapParamsRecursive = mapAttrsRecursiveCond' (as: (!(as ? _type && as._type == "param"))); - mapAttrsRecursiveCond' = cond: f: set: + mapAttrsRecursiveCond' = + cond: f: set: let - recurse = path: set: + recurse = + path: set: let g = name: value: - if isAttrs value && cond value - then { ${name} = recurse (path ++ [name]) value; } - else f (path ++ [name]) name value; - in mapAttrs'' g set; - in recurse [] set; + if isAttrs value && cond value then + { ${name} = recurse (path ++ [ name ]) value; } + else + f (path ++ [ name ]) name value; + in + mapAttrs'' g set; + in + recurse [ ] set; - mapAttrs'' = f: set: - foldl' (a: b: a // b) {} (map (attr: f attr set.${attr}) (attrNames set)); + mapAttrs'' = f: set: foldl' (a: b: a // b) { } (map (attr: f attr set.${attr}) (attrNames set)); # Extract the options from the given set of parameters. - paramsToOptions = ps : - mapParamsRecursive (_path: name: param: { ${name} = param.option; }) ps; + paramsToOptions = ps: mapParamsRecursive (_path: name: param: { ${name} = param.option; }) ps; } diff --git a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix index e74b3cae7c783..197b8debaf838 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix @@ -8,7 +8,8 @@ # cd strongswan # git diff 5.7.2..5.8.0 src/swanctl/swanctl.opt -lib: with (import ./param-constructors.nix lib); +lib: +with (import ./param-constructors.nix lib); let certParams = { @@ -34,1234 +35,1290 @@ let Optional PKCS#11 module name. ''; }; -in { - authorities = mkAttrsOfParams ({ - - cacert = mkOptionalStrParam '' - The certificates may use a relative path from the swanctl - `x509ca` directory or an absolute path. - - Configure one of {option}`cacert`, - {option}`file`, or - {option}`handle` per section. - ''; - - cert_uri_base = mkOptionalStrParam '' - Defines the base URI for the Hash and URL feature supported by - IKEv2. Instead of exchanging complete certificates, IKEv2 allows one to - send an URI that resolves to the DER encoded certificate. The certificate - URIs are built by appending the SHA1 hash of the DER encoded certificates - to this base URI. - ''; - - crl_uris = mkCommaSepListParam [] '' - List of CRL distribution points (ldap, http, or file URI). - ''; - - ocsp_uris = mkCommaSepListParam [] '' - List of OCSP URIs. - ''; - - } // certParams) '' - Section defining complementary attributes of certification authorities, each - in its own subsection with an arbitrary yet unique name - ''; - - connections = mkAttrsOfParams { - - version = mkIntParam 0 '' - IKE major version to use for connection. - - - 1 uses IKEv1 aka ISAKMP, - - 2 uses IKEv2. - - A connection using the default of 0 accepts both IKEv1 and IKEv2 as - responder, and initiates the connection actively with IKEv2. - ''; - - local_addrs = mkCommaSepListParam [] '' - Local address(es) to use for IKE communication. Takes - single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges. - - As initiator, the first non-range/non-subnet is used to initiate the - connection from. As responder, the local destination address must match at - least to one of the specified addresses, subnets or ranges. - - If FQDNs are assigned they are resolved every time a configuration lookup - is done. If DNS resolution times out, the lookup is delayed for that time. - ''; - - remote_addrs = mkCommaSepListParam [] '' - Remote address(es) to use for IKE communication. Takes - single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges. - - As initiator, the first non-range/non-subnet is used to initiate the - connection to. As responder, the initiator source address must match at - least to one of the specified addresses, subnets or ranges. - - If FQDNs are assigned they are resolved every time a configuration lookup - is done. If DNS resolution times out, the lookup is delayed for that time. - To initiate a connection, at least one specific address or DNS name must - be specified. - ''; - - local_port = mkIntParam 500 '' - Local UDP port for IKE communication. By default the port of the socket - backend is used, which is usually `500`. If port - `500` is used, automatic IKE port floating to port - `4500` is used to work around NAT issues. - - Using a non-default local IKE port requires support from the socket - backend in use (socket-dynamic). - ''; - - remote_port = mkIntParam 500 '' - Remote UDP port for IKE communication. If the default of port - `500` is used, automatic IKE port floating to port - `4500` is used to work around NAT issues. - ''; - - proposals = mkCommaSepListParam ["default"] '' - A proposal is a set of algorithms. For non-AEAD algorithms, this includes - for IKE an encryption algorithm, an integrity algorithm, a pseudo random - function and a Diffie-Hellman group. For AEAD algorithms, instead of - encryption and integrity algorithms, a combined algorithm is used. - - In IKEv2, multiple algorithms of the same kind can be specified in a - single proposal, from which one gets selected. In IKEv1, only one - algorithm per kind is allowed per proposal, more algorithms get implicitly - stripped. Use multiple proposals to offer different algorithms - combinations in IKEv1. - - Algorithm keywords get separated using dashes. Multiple proposals may be - specified in a list. The special value `default` forms a - default proposal of supported algorithms considered safe, and is usually a - good choice for interoperability. - ''; - - vips = mkCommaSepListParam [] '' - List of virtual IPs to request in IKEv2 configuration payloads or IKEv1 - Mode Config. The wildcard addresses `0.0.0.0` and - `::` request an arbitrary address, specific addresses may - be defined. The responder may return a different address, though, or none - at all. - ''; - - aggressive = mkYesNoParam no '' - Enables Aggressive Mode instead of Main Mode with Identity - Protection. Aggressive Mode is considered less secure, because the ID and - HASH payloads are exchanged unprotected. This allows a passive attacker to - snoop peer identities, and even worse, start dictionary attacks on the - Preshared Key. - ''; - - pull = mkYesNoParam yes '' - If the default of yes is used, Mode Config works in pull mode, where the - initiator actively requests a virtual IP. With no, push mode is used, - where the responder pushes down a virtual IP to the initiating peer. - - Push mode is currently supported for IKEv1, but not in IKEv2. It is used - by a few implementations only, pull mode is recommended. - ''; - - dscp = mkStrParam "000000" '' - Differentiated Services Field Codepoint to set on outgoing IKE packets for - this connection. The value is a six digit binary encoded string specifying - the Codepoint to set, as defined in RFC 2474. - ''; - - encap = mkYesNoParam no '' - To enforce UDP encapsulation of ESP packets, the IKE daemon can fake the - NAT detection payloads. This makes the peer believe that NAT takes place - on the path, forcing it to encapsulate ESP packets in UDP. - - Usually this is not required, but it can help to work around connectivity - issues with too restrictive intermediary firewalls. - ''; - - mobike = mkYesNoParam yes '' - Enables MOBIKE on IKEv2 connections. MOBIKE is enabled by default on IKEv2 - connections, and allows mobility of clients and multi-homing on servers by - migrating active IPsec tunnels. - - Usually keeping MOBIKE enabled is unproblematic, as it is not used if the - peer does not indicate support for it. However, due to the design of - MOBIKE, IKEv2 always floats to port 4500 starting from the second - exchange. Some implementations don't like this behavior, hence it can be - disabled. - ''; - - dpd_delay = mkDurationParam "0s" '' - Interval to check the liveness of a peer actively using IKEv2 - INFORMATIONAL exchanges or IKEv1 R_U_THERE messages. Active DPD checking - is only enforced if no IKE or ESP/AH packet has been received for the - configured DPD delay. - ''; - - dpd_timeout = mkDurationParam "0s" '' - Charon by default uses the normal retransmission mechanism and timeouts to - check the liveness of a peer, as all messages are used for liveness - checking. For compatibility reasons, with IKEv1 a custom interval may be - specified; this option has no effect on connections using IKEv2. - ''; - - fragmentation = mkEnumParam ["yes" "accept" "force" "no"] "yes" '' - Use IKE fragmentation (proprietary IKEv1 extension or RFC 7383 IKEv2 - fragmentation). Acceptable values are `yes` (the default - since 5.5.1), `accept` (since versions:5.5.3), - `force` and `no`. - - - If set to `yes`, and the peer - supports it, oversized IKE messages will be sent in fragments. - - If set to - `accept`, support for fragmentation is announced to the peer but the daemon - does not send its own messages in fragments. - - If set to `force` (only - supported for IKEv1) the initial IKE message will already be fragmented if - required. - - Finally, setting the option to `no` will disable announcing - support for this feature. - - Note that fragmented IKE messages sent by a peer are always processed - irrespective of the value of this option (even when set to no). - ''; - - childless = mkEnumParam [ "allow" "prefer" "force" "never" ] "allow" '' - Use childless IKE_SA initiation (_allow_, _prefer_, _force_ or _never_). - - Use childless IKE_SA initiation (RFC 6023) for IKEv2, with the first - CHILD_SA created with a separate CREATE_CHILD_SA exchange (e.g. to use an - independent DH exchange for all CHILD_SAs). Acceptable values are `allow` - (the default), `prefer`, `force` and `never`. If set to `allow`, responders - will accept childless IKE_SAs (as indicated via notify in the IKE_SA_INIT - response) while initiators continue to create regular IKE_SAs with the first - CHILD_SA created during IKE_AUTH, unless the IKE_SA is initiated explicitly - without any children (which will fail if the responder does not support or - has disabled this extension). The effect of `prefer` is the same as `allow` - on responders, but as initiator a childless IKE_SA is initiated if the - responder supports it. If set to `force`, only childless initiation is - accepted in either role. Finally, setting the option to `never` disables - support for childless IKE_SAs as responder. - ''; - - send_certreq = mkYesNoParam yes '' - Send certificate request payloads to offer trusted root CA certificates to - the peer. Certificate requests help the peer to choose an appropriate - certificate/private key for authentication and are enabled by default. - Disabling certificate requests can be useful if too many trusted root CA - certificates are installed, as each certificate request increases the size - of the initial IKE packets. - ''; - - send_cert = mkEnumParam ["always" "never" "ifasked" ] "ifasked" '' - Send certificate payloads when using certificate authentication. - - - With the default of `ifasked` the daemon sends - certificate payloads only if certificate requests have been received. - - `never` disables sending of certificate payloads - altogether, - - `always` causes certificate payloads to be sent - unconditionally whenever certificate authentication is used. - ''; - - ppk_id = mkOptionalStrParam '' - String identifying the Postquantum Preshared Key (PPK) to be used. - ''; - - ppk_required = mkYesNoParam no '' - Whether a Postquantum Preshared Key (PPK) is required for this connection. - ''; - - keyingtries = mkIntParam 1 '' - Number of retransmission sequences to perform during initial - connect. Instead of giving up initiation after the first retransmission - sequence with the default value of `1`, additional - sequences may be started according to the configured value. A value of - `0` initiates a new sequence until the connection - establishes or fails with a permanent error. - ''; - - unique = mkEnumParam ["no" "never" "keep" "replace"] "no" '' - Connection uniqueness policy to enforce. To avoid multiple connections - from the same user, a uniqueness policy can be enforced. - - - The value `never` does never enforce such a policy, even - if a peer included INITIAL_CONTACT notification messages, - - whereas `no` replaces existing connections for the same - identity if a new one has the INITIAL_CONTACT notify. - - `keep` rejects new connection attempts if the same user - already has an active connection, - - `replace` deletes any existing connection if a new one - for the same user gets established. - - To compare connections for uniqueness, the remote IKE identity is used. If - EAP or XAuth authentication is involved, the EAP-Identity or XAuth - username is used to enforce the uniqueness policy instead. - - On initiators this setting specifies whether an INITIAL_CONTACT notify is - sent during IKE_AUTH if no existing connection is found with the remote - peer (determined by the identities of the first authentication - round). Unless set to `never` the client will send a notify. - ''; - - reauth_time = mkDurationParam "0s" '' - Time to schedule IKE reauthentication. IKE reauthentication recreates the - IKE/ISAKMP SA from scratch and re-evaluates the credentials. In asymmetric - configurations (with EAP or configuration payloads) it might not be - possible to actively reauthenticate as responder. The IKEv2 - reauthentication lifetime negotiation can instruct the client to perform - reauthentication. - - Reauthentication is disabled by default. Enabling it usually may lead to - small connection interruptions, as strongSwan uses a break-before-make - policy with IKEv2 to avoid any conflicts with associated tunnel resources. - ''; - - rekey_time = mkDurationParam "4h" '' - IKE rekeying refreshes key material using a Diffie-Hellman exchange, but - does not re-check associated credentials. It is supported in IKEv2 only, - IKEv1 performs a reauthentication procedure instead. - - With the default value IKE rekeying is scheduled every 4 hours, minus the - configured rand_time. If a reauth_time is configured, rekey_time defaults - to zero, disabling rekeying; explicitly set both to enforce rekeying and - reauthentication. - ''; - - over_time = mkOptionalDurationParam '' - Hard IKE_SA lifetime if rekey/reauth does not complete, as time. To avoid - having an IKE/ISAKMP kept alive if IKE reauthentication or rekeying fails - perpetually, a maximum hard lifetime may be specified. If the IKE_SA fails - to rekey or reauthenticate within the specified time, the IKE_SA gets - closed. - - In contrast to CHILD_SA rekeying, over_time is relative in time to the - rekey_time and reauth_time values, as it applies to both. - - The default is 10% of the longer of {option}`rekey_time` and - {option}`reauth_time`. - ''; - - rand_time = mkOptionalDurationParam '' - Time range from which to choose a random value to subtract from - rekey/reauth times. To avoid having both peers initiating the rekey/reauth - procedure simultaneously, a random time gets subtracted from the - rekey/reauth times. - - The default is equal to the configured {option}`over_time`. - ''; - - pools = mkCommaSepListParam [] '' - List of named IP pools to allocate virtual IP addresses - and other configuration attributes from. Each name references a pool by - name from either the pools section or an external pool. - ''; - - if_id_in = mkStrParam "0" '' - XFRM interface ID set on inbound policies/SA, can be overridden by child - config, see there for details. - - The special value `%unique` allocates a unique interface ID per IKE_SA, - which is inherited by all its CHILD_SAs (unless overridden there), beyond - that the value `%unique-dir` assigns a different unique interface ID for - each direction (in/out). - - ''; - - if_id_out = mkStrParam "0" '' - XFRM interface ID set on outbound policies/SA, can be overridden by child - config, see there for details. - - The special value `%unique` allocates a unique interface ID per IKE_SA, - which is inherited by all its CHILD_SAs (unless overridden there), beyond - that the value `%unique-dir` assigns a different unique interface ID for - each direction (in/out). - ''; - - mediation = mkYesNoParam no '' - Whether this connection is a mediation connection, that is, whether this - connection is used to mediate other connections using the IKEv2 Mediation - Extension. Mediation connections create no CHILD_SA. - ''; - - mediated_by = mkOptionalStrParam '' - The name of the connection to mediate this connection through. If given, - the connection will be mediated through the named mediation - connection. The mediation connection must have mediation enabled. - ''; - - mediation_peer = mkOptionalStrParam '' - Identity under which the peer is registered at the mediation server, that - is, the IKE identity the other end of this connection uses as its local - identity on its connection to the mediation server. This is the identity - we request the mediation server to mediate us with. Only relevant on - connections that set mediated_by. If it is not given, the remote IKE - identity of the first authentication round of this connection will be - used. - ''; - - local = mkPrefixedAttrsOfParams { - - round = mkIntParam 0 '' - Optional numeric identifier by which authentication rounds are - sorted. If not specified rounds are ordered by their position in the - config file/vici message. - ''; - - certs = mkCommaSepListParam [] '' - List of certificate candidates to use for - authentication. The certificates may use a relative path from the - swanctl `x509` directory or an absolute path. - - The certificate used for authentication is selected based on the - received certificate request payloads. If no appropriate CA can be - located, the first certificate is used. - ''; - - cert = mkPostfixedAttrsOfParams certParams '' - Section for a certificate candidate to use for - authentication. Certificates in certs are transmitted as binary blobs, - these sections offer more flexibility. - ''; - - pubkeys = mkCommaSepListParam [] '' - List of raw public key candidates to use for - authentication. The public keys may use a relative path from the swanctl - `pubkey` directory or an absolute path. - - Even though multiple local public keys could be defined in principle, - only the first public key in the list is used for authentication. - ''; - - auth = mkStrParam "pubkey" '' - Authentication to perform locally. - - - The default `pubkey` uses public key authentication - using a private key associated to a usable certificate. - - `psk` uses pre-shared key authentication. - - The IKEv1 specific `xauth` is used for XAuth or Hybrid - authentication, - - while the IKEv2 specific `eap` keyword defines EAP - authentication. - - For `xauth`, a specific backend name may be appended, - separated by a dash. The appropriate `xauth` backend is - selected to perform the XAuth exchange. For traditional XAuth, the - `xauth` method is usually defined in the second - authentication round following an initial `pubkey` (or - `psk`) round. Using `xauth` in the - first round performs Hybrid Mode client authentication. - - For `eap`, a specific EAP method name may be appended, separated by a - dash. An EAP module implementing the appropriate method is selected to - perform the EAP conversation. - - Since 5.4.0, if both peers support RFC 7427 ("Signature Authentication - in IKEv2") specific hash algorithms to be used during IKEv2 - authentication may be configured. To do so use `ike:` - followed by a trust chain signature scheme constraint (see description - of the {option}`remote` section's {option}`auth` - keyword). For example, with `ike:pubkey-sha384-sha256` - a public key signature scheme with either SHA-384 or SHA-256 would get - used for authentication, in that order and depending on the hash - algorithms supported by the peer. If no specific hash algorithms are - configured, the default is to prefer an algorithm that matches or - exceeds the strength of the signature key. If no constraints with - `ike:` prefix are configured any signature scheme - constraint (without `ike:` prefix) will also apply to - IKEv2 authentication, unless this is disabled in - `strongswan.conf`. To use RSASSA-PSS signatures use - `rsa/pss` instead of `pubkey` or - `rsa` as in e.g. - `ike:rsa/pss-sha256`. If `pubkey` or - `rsa` constraints are configured RSASSA-PSS signatures - will only be used if enabled in `strongswan.conf`(5). - ''; - - id = mkOptionalStrParam '' - IKE identity to use for authentication round. When using certificate - authentication, the IKE identity must be contained in the certificate, - either as subject or as subjectAltName. - ''; - - eap_id = mkOptionalStrParam '' - Client EAP-Identity to use in EAP-Identity exchange and the EAP method. - ''; - - aaa_id = mkOptionalStrParam '' - Server side EAP-Identity to expect in the EAP method. Some EAP methods, - such as EAP-TLS, use an identity for the server to perform mutual - authentication. This identity may differ from the IKE identity, - especially when EAP authentication is delegated from the IKE responder - to an AAA backend. - - For EAP-(T)TLS, this defines the identity for which the server must - provide a certificate in the TLS exchange. - ''; - - xauth_id = mkOptionalStrParam '' - Client XAuth username used in the XAuth exchange. - ''; - - } '' - Section for a local authentication round. A local authentication round - defines the rules how authentication is performed for the local - peer. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple - Authentication or IKEv1 XAuth. - - Each round is defined in a section having `local` as - prefix, and an optional unique suffix. To define a single authentication - round, the suffix may be omitted. - ''; - - remote = mkPrefixedAttrsOfParams { - - round = mkIntParam 0 '' - Optional numeric identifier by which authentication rounds are - sorted. If not specified rounds are ordered by their position in the - config file/vici message. - ''; - - id = mkStrParam "%any" '' - IKE identity to expect for authentication round. When using certificate - authentication, the IKE identity must be contained in the certificate, - either as subject or as subjectAltName. - ''; - - eap_id = mkOptionalStrParam '' - Identity to use as peer identity during EAP authentication. If set to - `%any` the EAP-Identity method will be used to ask the - client for an EAP identity. - ''; - - groups = mkCommaSepListParam [] '' - Authorization group memberships to require. The peer - must prove membership to at least one of the specified groups. Group - membership can be certified by different means, for example by - appropriate Attribute Certificates or by an AAA backend involved in the - authentication. - ''; - - cert_policy = mkCommaSepListParam [] '' - List of certificate policy OIDs the peer's certificate - must have. OIDs are specified using the numerical dotted representation. - ''; - - certs = mkCommaSepListParam [] '' - List of certificates to accept for authentication. The certificates may - use a relative path from the swanctl `x509` directory - or an absolute path. - ''; - - cert = mkPostfixedAttrsOfParams certParams '' - Section for a certificate candidate to use for - authentication. Certificates in certs are transmitted as binary blobs, - these sections offer more flexibility. - ''; - - ca_id = mkOptionalStrParam '' - Identity in CA certificate to accept for authentication. The specified - identity must be contained in one (intermediate) CA of the remote peer - trustchain, either as subject or as subjectAltName. This has the same - effect as specifying `cacerts` to force clients under - a CA to specific connections; it does not require the CA certificate - to be available locally, and can be received from the peer during the - IKE exchange. - ''; - - cacerts = mkCommaSepListParam [] '' - List of CA certificates to accept for - authentication. The certificates may use a relative path from the - swanctl `x509ca` directory or an absolute path. - ''; - - cacert = mkPostfixedAttrsOfParams certParams '' - Section for a CA certificate to accept for authentication. Certificates - in cacerts are transmitted as binary blobs, these sections offer more - flexibility. - ''; - - pubkeys = mkCommaSepListParam [] '' - List of raw public keys to accept for - authentication. The public keys may use a relative path from the swanctl - `pubkey` directory or an absolute path. - ''; - - revocation = mkEnumParam ["strict" "ifuri" "relaxed"] "relaxed" '' - Certificate revocation policy for CRL or OCSP revocation. - - - A `strict` revocation policy fails if no revocation information is - available, i.e. the certificate is not known to be unrevoked. - - `ifuri` fails only if a CRL/OCSP URI is available, but certificate - revocation checking fails, i.e. there should be revocation information - available, but it could not be obtained. - - The default revocation policy `relaxed` fails only if a certificate is - revoked, i.e. it is explicitly known that it is bad. - ''; - - auth = mkStrParam "pubkey" '' - Authentication to expect from remote. See the {option}`local` - section's {option}`auth` keyword description about the details of - supported mechanisms. - - Since 5.4.0, to require a trustchain public key strength for the remote - side, specify the key type followed by the minimum strength in bits (for - example `ecdsa-384` or - `rsa-2048-ecdsa-256`). To limit the acceptable set of - hashing algorithms for trustchain validation, append hash algorithms to - pubkey or a key strength definition (for example - `pubkey-sha256-sha512`, - `rsa-2048-sha256-sha384-sha512` or - `rsa-2048-sha256-ecdsa-256-sha256-sha384`). - Unless disabled in `strongswan.conf`, or explicit IKEv2 - signature constraints are configured (refer to the description of the - {option}`local` section's {option}`auth` keyword for - details), such key types and hash algorithms are also applied as - constraints against IKEv2 signature authentication schemes used by the - remote side. To require RSASSA-PSS signatures use - `rsa/pss` instead of `pubkey` or - `rsa` as in e.g. `rsa/pss-sha256`. If - `pubkey` or `rsa` constraints are - configured RSASSA-PSS signatures will only be accepted if enabled in - `strongswan.conf`(5). - - To specify trust chain constraints for EAP-(T)TLS, append a colon to the - EAP method, followed by the key type/size and hash algorithm as - discussed above (e.g. `eap-tls:ecdsa-384-sha384`). - ''; - - } '' - Section for a remote authentication round. A remote authentication round - defines the constraints how the peers must authenticate to use this - connection. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple - Authentication or IKEv1 XAuth. - - Each round is defined in a section having `remote` as - prefix, and an optional unique suffix. To define a single authentication - round, the suffix may be omitted. - ''; - - children = mkAttrsOfParams { - ah_proposals = mkCommaSepListParam [] '' - AH proposals to offer for the CHILD_SA. A proposal is a set of - algorithms. For AH, this includes an integrity algorithm and an optional - Diffie-Hellman group. If a DH group is specified, CHILD_SA/Quick Mode - rekeying and initial negotiation uses a separate Diffie-Hellman exchange - using the specified group (refer to esp_proposals for details). - - In IKEv2, multiple algorithms of the same kind can be specified in a - single proposal, from which one gets selected. In IKEv1, only one - algorithm per kind is allowed per proposal, more algorithms get - implicitly stripped. Use multiple proposals to offer different algorithms - combinations in IKEv1. - - Algorithm keywords get separated using dashes. Multiple proposals may be - specified in a list. The special value `default` forms - a default proposal of supported algorithms considered safe, and is - usually a good choice for interoperability. By default no AH proposals - are included, instead ESP is proposed. - ''; - - esp_proposals = mkCommaSepListParam ["default"] '' - ESP proposals to offer for the CHILD_SA. A proposal is a set of - algorithms. For ESP non-AEAD proposals, this includes an integrity - algorithm, an encryption algorithm, an optional Diffie-Hellman group and - an optional Extended Sequence Number Mode indicator. For AEAD proposals, - a combined mode algorithm is used instead of the separate - encryption/integrity algorithms. - - If a DH group is specified, CHILD_SA/Quick Mode rekeying and initial - negotiation use a separate Diffie-Hellman exchange using the specified - group. However, for IKEv2, the keys of the CHILD_SA created implicitly - with the IKE_SA will always be derived from the IKE_SA's key material. So - any DH group specified here will only apply when the CHILD_SA is later - rekeyed or is created with a separate CREATE_CHILD_SA exchange. A - proposal mismatch might, therefore, not immediately be noticed when the - SA is established, but may later cause rekeying to fail. - - Extended Sequence Number support may be indicated with the - `esn` and `noesn` values, both may be - included to indicate support for both modes. If omitted, - `noesn` is assumed. - - In IKEv2, multiple algorithms of the same kind can be specified in a - single proposal, from which one gets selected. In IKEv1, only one - algorithm per kind is allowed per proposal, more algorithms get - implicitly stripped. Use multiple proposals to offer different algorithms - combinations in IKEv1. - - Algorithm keywords get separated using dashes. Multiple proposals may be - specified as a list. The special value `default` forms - a default proposal of supported algorithms considered safe, and is - usually a good choice for interoperability. If no algorithms are - specified for AH nor ESP, the default set of algorithms for ESP is - included. - ''; - - sha256_96 = mkYesNoParam no '' - HMAC-SHA-256 is used with 128-bit truncation with IPsec. For - compatibility with implementations that incorrectly use 96-bit truncation - this option may be enabled to configure the shorter truncation length in - the kernel. This is not negotiated, so this only works with peers that - use the incorrect truncation length (or have this option enabled). - ''; - - local_ts = mkCommaSepListParam ["dynamic"] '' - List of local traffic selectors to include in CHILD_SA. Each selector is - a CIDR subnet definition, followed by an optional proto/port - selector. The special value `dynamic` may be used - instead of a subnet definition, which gets replaced by the tunnel outer - address or the virtual IP, if negotiated. This is the default. - - A protocol/port selector is surrounded by opening and closing square - brackets. Between these brackets, a numeric or getservent(3) protocol - name may be specified. After the optional protocol restriction, an - optional port restriction may be specified, separated by a slash. The - port restriction may be numeric, a getservent(3) service name, or the - special value `opaque` for RFC 4301 OPAQUE - selectors. Port ranges may be specified as well, none of the kernel - backends currently support port ranges, though. - - When IKEv1 is used only the first selector is interpreted, except if the - Cisco Unity extension plugin is used. This is due to a limitation of the - IKEv1 protocol, which only allows a single pair of selectors per - CHILD_SA. So to tunnel traffic matched by several pairs of selectors when - using IKEv1 several children (CHILD_SAs) have to be defined that cover - the selectors. The IKE daemon uses traffic selector narrowing for IKEv1, - the same way it is standardized and implemented for IKEv2. However, this - may lead to problems with other implementations. To avoid that, configure - identical selectors in such scenarios. - ''; - - remote_ts = mkCommaSepListParam ["dynamic"] '' - List of remote selectors to include in CHILD_SA. See - {option}`local_ts` for a description of the selector syntax. - ''; - - rekey_time = mkDurationParam "1h" '' - Time to schedule CHILD_SA rekeying. CHILD_SA rekeying refreshes key - material, optionally using a Diffie-Hellman exchange if a group is - specified in the proposal. To avoid rekey collisions initiated by both - ends simultaneously, a value in the range of {option}`rand_time` - gets subtracted to form the effective soft lifetime. - - By default CHILD_SA rekeying is scheduled every hour, minus - {option}`rand_time`. - ''; - - life_time = mkOptionalDurationParam '' - Maximum lifetime before CHILD_SA gets closed. Usually this hard lifetime - is never reached, because the CHILD_SA gets rekeyed before. If that fails - for whatever reason, this limit closes the CHILD_SA. The default is 10% - more than the {option}`rekey_time`. - ''; - - rand_time = mkOptionalDurationParam '' - Time range from which to choose a random value to subtract from - {option}`rekey_time`. The default is the difference between - {option}`life_time` and {option}`rekey_time`. - ''; - - rekey_bytes = mkIntParam 0 '' - Number of bytes processed before initiating CHILD_SA rekeying. CHILD_SA - rekeying refreshes key material, optionally using a Diffie-Hellman - exchange if a group is specified in the proposal. - - To avoid rekey collisions initiated by both ends simultaneously, a value - in the range of {option}`rand_bytes` gets subtracted to form the - effective soft volume limit. - - Volume based CHILD_SA rekeying is disabled by default. - ''; - - life_bytes = mkOptionalIntParam '' - Maximum bytes processed before CHILD_SA gets closed. Usually this hard - volume limit is never reached, because the CHILD_SA gets rekeyed - before. If that fails for whatever reason, this limit closes the - CHILD_SA. The default is 10% more than {option}`rekey_bytes`. - ''; - - rand_bytes = mkOptionalIntParam '' - Byte range from which to choose a random value to subtract from - {option}`rekey_bytes`. The default is the difference between - {option}`life_bytes` and {option}`rekey_bytes`. - ''; - - rekey_packets = mkIntParam 0 '' - Number of packets processed before initiating CHILD_SA rekeying. CHILD_SA - rekeying refreshes key material, optionally using a Diffie-Hellman - exchange if a group is specified in the proposal. - - To avoid rekey collisions initiated by both ends simultaneously, a value - in the range of {option}`rand_packets` gets subtracted to form - the effective soft packet count limit. - - Packet count based CHILD_SA rekeying is disabled by default. - ''; - - life_packets = mkOptionalIntParam '' - Maximum number of packets processed before CHILD_SA gets closed. Usually - this hard packets limit is never reached, because the CHILD_SA gets - rekeyed before. If that fails for whatever reason, this limit closes the - CHILD_SA. - - The default is 10% more than {option}`rekey_bytes`. - ''; - - rand_packets = mkOptionalIntParam '' - Packet range from which to choose a random value to subtract from - {option}`rekey_packets`. The default is the difference between - {option}`life_packets` and {option}`rekey_packets`. - ''; - - updown = mkOptionalStrParam '' - Updown script to invoke on CHILD_SA up and down events. - ''; - - hostaccess = mkYesNoParam no '' - Hostaccess variable to pass to `updown` script. - ''; - - mode = mkEnumParam [ "tunnel" - "transport" - "transport_proxy" - "beet" - "pass" - "drop" - ] "tunnel" '' - IPsec Mode to establish CHILD_SA with. - - - `tunnel` negotiates the CHILD_SA in IPsec Tunnel Mode, - - whereas `transport` uses IPsec Transport Mode. - - `transport_proxy` signifying the special Mobile IPv6 - Transport Proxy Mode. - - `beet` is the Bound End to End Tunnel mixture mode, - working with fixed inner addresses without the need to include them in - each packet. - - Both `transport` and `beet` modes are - subject to mode negotiation; `tunnel` mode is - negotiated if the preferred mode is not available. - - `pass` and `drop` are used to install - shunt policies which explicitly bypass the defined traffic from IPsec - processing or drop it, respectively. - ''; - - policies = mkYesNoParam yes '' - Whether to install IPsec policies or not. Disabling this can be useful in - some scenarios e.g. MIPv6, where policies are not managed by the IKE - daemon. Since 5.3.3. - ''; - - policies_fwd_out = mkYesNoParam no '' - Whether to install outbound FWD IPsec policies or not. Enabling this is - required in case there is a drop policy that would match and block - forwarded traffic for this CHILD_SA. Since 5.5.1. - ''; - - dpd_action = mkEnumParam ["clear" "trap" "restart"] "clear" '' - Action to perform for this CHILD_SA on DPD timeout. The default clear - closes the CHILD_SA and does not take further action. trap installs a - trap policy, which will catch matching traffic and tries to re-negotiate - the tunnel on-demand. restart immediately tries to re-negotiate the - CHILD_SA under a fresh IKE_SA. - ''; - - ipcomp = mkYesNoParam no '' - Enable IPComp compression before encryption. If enabled, IKE tries to - negotiate IPComp compression to compress ESP payload data prior to - encryption. - ''; - - inactivity = mkDurationParam "0s" '' - Timeout before closing CHILD_SA after inactivity. If no traffic has been - processed in either direction for the configured timeout, the CHILD_SA - gets closed due to inactivity. The default value of 0 disables inactivity - checks. - ''; - - reqid = mkIntParam 0 '' - Fixed reqid to use for this CHILD_SA. This might be helpful in some - scenarios, but works only if each CHILD_SA configuration is instantiated - not more than once. The default of 0 uses dynamic reqids, allocated - incrementally. - ''; - - priority = mkIntParam 0 '' - Optional fixed priority for IPsec policies. This could be useful to - install high-priority drop policies. The default of 0 uses dynamically - calculated priorities based on the size of the traffic selectors. - ''; - - interface = mkOptionalStrParam '' - Optional interface name to restrict outbound IPsec policies. - ''; - - mark_in = mkStrParam "0/0x00000000" '' - Netfilter mark and mask for input traffic. On Linux, Netfilter may - require marks on each packet to match an SA/policy having that option - set. This allows installing duplicate policies and enables Netfilter - rules to select specific SAs/policies for incoming traffic. Note that - inbound marks are only set on policies, by default, unless - {option}`mark_in_sa` is enabled. The special value - `%unique` sets a unique mark on each CHILD_SA instance, - beyond that the value `%unique-dir` assigns a different - unique mark for each - - An additional mask may be appended to the mark, separated by - `/`. The default mask if omitted is - `0xffffffff`. - ''; - - mark_in_sa = mkYesNoParam no '' - Whether to set {option}`mark_in` on the inbound SA. By default, - the inbound mark is only set on the inbound policy. The tuple destination - address, protocol and SPI is unique and the mark is not required to find - the correct SA, allowing to mark traffic after decryption instead (where - more specific selectors may be used) to match different policies. Marking - packets before decryption is still possible, even if no mark is set on - the SA. - ''; - - mark_out = mkStrParam "0/0x00000000" '' - Netfilter mark and mask for output traffic. On Linux, Netfilter may - require marks on each packet to match a policy/SA having that option - set. This allows installing duplicate policies and enables Netfilter - rules to select specific policies/SAs for outgoing traffic. The special - value `%unique` sets a unique mark on each CHILD_SA - instance, beyond that the value `%unique-dir` assigns a - different unique mark for each CHILD_SA direction (in/out). - - An additional mask may be appended to the mark, separated by - `/`. The default mask if omitted is - `0xffffffff`. - ''; - - set_mark_in = mkStrParam "0/0x00000000" '' - Netfilter mark applied to packets after the inbound IPsec SA processed - them. This way it's not necessary to mark packets via Netfilter before - decryption or right afterwards to match policies or process them - differently (e.g. via policy routing). - - An additional mask may be appended to the mark, separated by - `/`. The default mask if omitted is 0xffffffff. The - special value `%same` uses the value (but not the mask) - from {option}`mark_in` as mark value, which can be fixed, - `%unique` or `%unique-dir`. - - Setting marks in XFRM input requires Linux 4.19 or higher. - ''; - - set_mark_out = mkStrParam "0/0x00000000" '' - Netfilter mark applied to packets after the outbound IPsec SA processed - them. This allows processing ESP packets differently than the original - traffic (e.g. via policy routing). - - An additional mask may be appended to the mark, separated by - `/`. The default mask if omitted is 0xffffffff. The - special value `%same` uses the value (but not the mask) - from {option}`mark_out` as mark value, which can be fixed, - `%unique_` or `%unique-dir`. - - Setting marks in XFRM output is supported since Linux 4.14. Setting a - mask requires at least Linux 4.19. - ''; - - if_id_in = mkStrParam "0" '' - XFRM interface ID set on inbound policies/SA. This allows installing - duplicate policies/SAs and associates them with an interface with the - same ID. The special value `%unique` sets a unique - interface ID on each CHILD_SA instance, beyond that the value - `%unique-dir` assigns a different unique interface ID - for each CHILD_SA direction (in/out). - ''; - - if_id_out = mkStrParam "0" '' - XFRM interface ID set on outbound policies/SA. This allows installing - duplicate policies/SAs and associates them with an interface with the - same ID. The special value `%unique` sets a unique - interface ID on each CHILD_SA instance, beyond that the value - `%unique-dir` assigns a different unique interface ID - for each CHILD_SA direction (in/out). - - The daemon will not install routes for CHILD_SAs that have this option set. - ''; - - tfc_padding = mkParamOfType (with lib.types; either int (enum ["mtu"])) 0 '' - Pads ESP packets with additional data to have a consistent ESP packet - size for improved Traffic Flow Confidentiality. The padding defines the - minimum size of all ESP packets sent. The default value of - `0` disables TFC padding, the special value - `mtu` adds TFC padding to create a packet size equal to - the Path Maximum Transfer Unit. - ''; - - replay_window = mkIntParam 32 '' - IPsec replay window to configure for this CHILD_SA. Larger values than - the default of `32` are supported using the Netlink - backend only, a value of `0` disables IPsec replay - protection. +in +{ + authorities = + mkAttrsOfParams + ( + { + + cacert = mkOptionalStrParam '' + The certificates may use a relative path from the swanctl + `x509ca` directory or an absolute path. + + Configure one of {option}`cacert`, + {option}`file`, or + {option}`handle` per section. + ''; + + cert_uri_base = mkOptionalStrParam '' + Defines the base URI for the Hash and URL feature supported by + IKEv2. Instead of exchanging complete certificates, IKEv2 allows one to + send an URI that resolves to the DER encoded certificate. The certificate + URIs are built by appending the SHA1 hash of the DER encoded certificates + to this base URI. + ''; + + crl_uris = mkCommaSepListParam [ ] '' + List of CRL distribution points (ldap, http, or file URI). + ''; + + ocsp_uris = mkCommaSepListParam [ ] '' + List of OCSP URIs. + ''; + + } + // certParams + ) + '' + Section defining complementary attributes of certification authorities, each + in its own subsection with an arbitrary yet unique name + ''; + + connections = + mkAttrsOfParams + { + + version = mkIntParam 0 '' + IKE major version to use for connection. + + - 1 uses IKEv1 aka ISAKMP, + - 2 uses IKEv2. + - A connection using the default of 0 accepts both IKEv1 and IKEv2 as + responder, and initiates the connection actively with IKEv2. + ''; + + local_addrs = mkCommaSepListParam [ ] '' + Local address(es) to use for IKE communication. Takes + single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges. + + As initiator, the first non-range/non-subnet is used to initiate the + connection from. As responder, the local destination address must match at + least to one of the specified addresses, subnets or ranges. + + If FQDNs are assigned they are resolved every time a configuration lookup + is done. If DNS resolution times out, the lookup is delayed for that time. + ''; + + remote_addrs = mkCommaSepListParam [ ] '' + Remote address(es) to use for IKE communication. Takes + single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges. + + As initiator, the first non-range/non-subnet is used to initiate the + connection to. As responder, the initiator source address must match at + least to one of the specified addresses, subnets or ranges. + + If FQDNs are assigned they are resolved every time a configuration lookup + is done. If DNS resolution times out, the lookup is delayed for that time. + To initiate a connection, at least one specific address or DNS name must + be specified. + ''; + + local_port = mkIntParam 500 '' + Local UDP port for IKE communication. By default the port of the socket + backend is used, which is usually `500`. If port + `500` is used, automatic IKE port floating to port + `4500` is used to work around NAT issues. + + Using a non-default local IKE port requires support from the socket + backend in use (socket-dynamic). + ''; + + remote_port = mkIntParam 500 '' + Remote UDP port for IKE communication. If the default of port + `500` is used, automatic IKE port floating to port + `4500` is used to work around NAT issues. + ''; + + proposals = mkCommaSepListParam [ "default" ] '' + A proposal is a set of algorithms. For non-AEAD algorithms, this includes + for IKE an encryption algorithm, an integrity algorithm, a pseudo random + function and a Diffie-Hellman group. For AEAD algorithms, instead of + encryption and integrity algorithms, a combined algorithm is used. + + In IKEv2, multiple algorithms of the same kind can be specified in a + single proposal, from which one gets selected. In IKEv1, only one + algorithm per kind is allowed per proposal, more algorithms get implicitly + stripped. Use multiple proposals to offer different algorithms + combinations in IKEv1. + + Algorithm keywords get separated using dashes. Multiple proposals may be + specified in a list. The special value `default` forms a + default proposal of supported algorithms considered safe, and is usually a + good choice for interoperability. + ''; + + vips = mkCommaSepListParam [ ] '' + List of virtual IPs to request in IKEv2 configuration payloads or IKEv1 + Mode Config. The wildcard addresses `0.0.0.0` and + `::` request an arbitrary address, specific addresses may + be defined. The responder may return a different address, though, or none + at all. + ''; + + aggressive = mkYesNoParam no '' + Enables Aggressive Mode instead of Main Mode with Identity + Protection. Aggressive Mode is considered less secure, because the ID and + HASH payloads are exchanged unprotected. This allows a passive attacker to + snoop peer identities, and even worse, start dictionary attacks on the + Preshared Key. + ''; + + pull = mkYesNoParam yes '' + If the default of yes is used, Mode Config works in pull mode, where the + initiator actively requests a virtual IP. With no, push mode is used, + where the responder pushes down a virtual IP to the initiating peer. + + Push mode is currently supported for IKEv1, but not in IKEv2. It is used + by a few implementations only, pull mode is recommended. + ''; + + dscp = mkStrParam "000000" '' + Differentiated Services Field Codepoint to set on outgoing IKE packets for + this connection. The value is a six digit binary encoded string specifying + the Codepoint to set, as defined in RFC 2474. + ''; + + encap = mkYesNoParam no '' + To enforce UDP encapsulation of ESP packets, the IKE daemon can fake the + NAT detection payloads. This makes the peer believe that NAT takes place + on the path, forcing it to encapsulate ESP packets in UDP. + + Usually this is not required, but it can help to work around connectivity + issues with too restrictive intermediary firewalls. + ''; + + mobike = mkYesNoParam yes '' + Enables MOBIKE on IKEv2 connections. MOBIKE is enabled by default on IKEv2 + connections, and allows mobility of clients and multi-homing on servers by + migrating active IPsec tunnels. + + Usually keeping MOBIKE enabled is unproblematic, as it is not used if the + peer does not indicate support for it. However, due to the design of + MOBIKE, IKEv2 always floats to port 4500 starting from the second + exchange. Some implementations don't like this behavior, hence it can be + disabled. + ''; + + dpd_delay = mkDurationParam "0s" '' + Interval to check the liveness of a peer actively using IKEv2 + INFORMATIONAL exchanges or IKEv1 R_U_THERE messages. Active DPD checking + is only enforced if no IKE or ESP/AH packet has been received for the + configured DPD delay. + ''; + + dpd_timeout = mkDurationParam "0s" '' + Charon by default uses the normal retransmission mechanism and timeouts to + check the liveness of a peer, as all messages are used for liveness + checking. For compatibility reasons, with IKEv1 a custom interval may be + specified; this option has no effect on connections using IKEv2. + ''; + + fragmentation = mkEnumParam [ "yes" "accept" "force" "no" ] "yes" '' + Use IKE fragmentation (proprietary IKEv1 extension or RFC 7383 IKEv2 + fragmentation). Acceptable values are `yes` (the default + since 5.5.1), `accept` (since versions:5.5.3), + `force` and `no`. + + - If set to `yes`, and the peer + supports it, oversized IKE messages will be sent in fragments. + - If set to + `accept`, support for fragmentation is announced to the peer but the daemon + does not send its own messages in fragments. + - If set to `force` (only + supported for IKEv1) the initial IKE message will already be fragmented if + required. + - Finally, setting the option to `no` will disable announcing + support for this feature. + + Note that fragmented IKE messages sent by a peer are always processed + irrespective of the value of this option (even when set to no). + ''; + + childless = mkEnumParam [ "allow" "prefer" "force" "never" ] "allow" '' + Use childless IKE_SA initiation (_allow_, _prefer_, _force_ or _never_). + + Use childless IKE_SA initiation (RFC 6023) for IKEv2, with the first + CHILD_SA created with a separate CREATE_CHILD_SA exchange (e.g. to use an + independent DH exchange for all CHILD_SAs). Acceptable values are `allow` + (the default), `prefer`, `force` and `never`. If set to `allow`, responders + will accept childless IKE_SAs (as indicated via notify in the IKE_SA_INIT + response) while initiators continue to create regular IKE_SAs with the first + CHILD_SA created during IKE_AUTH, unless the IKE_SA is initiated explicitly + without any children (which will fail if the responder does not support or + has disabled this extension). The effect of `prefer` is the same as `allow` + on responders, but as initiator a childless IKE_SA is initiated if the + responder supports it. If set to `force`, only childless initiation is + accepted in either role. Finally, setting the option to `never` disables + support for childless IKE_SAs as responder. + ''; + + send_certreq = mkYesNoParam yes '' + Send certificate request payloads to offer trusted root CA certificates to + the peer. Certificate requests help the peer to choose an appropriate + certificate/private key for authentication and are enabled by default. + Disabling certificate requests can be useful if too many trusted root CA + certificates are installed, as each certificate request increases the size + of the initial IKE packets. + ''; + + send_cert = mkEnumParam [ "always" "never" "ifasked" ] "ifasked" '' + Send certificate payloads when using certificate authentication. + + - With the default of `ifasked` the daemon sends + certificate payloads only if certificate requests have been received. + - `never` disables sending of certificate payloads + altogether, + - `always` causes certificate payloads to be sent + unconditionally whenever certificate authentication is used. + ''; + + ppk_id = mkOptionalStrParam '' + String identifying the Postquantum Preshared Key (PPK) to be used. + ''; + + ppk_required = mkYesNoParam no '' + Whether a Postquantum Preshared Key (PPK) is required for this connection. + ''; + + keyingtries = mkIntParam 1 '' + Number of retransmission sequences to perform during initial + connect. Instead of giving up initiation after the first retransmission + sequence with the default value of `1`, additional + sequences may be started according to the configured value. A value of + `0` initiates a new sequence until the connection + establishes or fails with a permanent error. + ''; + + unique = mkEnumParam [ "no" "never" "keep" "replace" ] "no" '' + Connection uniqueness policy to enforce. To avoid multiple connections + from the same user, a uniqueness policy can be enforced. + + - The value `never` does never enforce such a policy, even + if a peer included INITIAL_CONTACT notification messages, + - whereas `no` replaces existing connections for the same + identity if a new one has the INITIAL_CONTACT notify. + - `keep` rejects new connection attempts if the same user + already has an active connection, + - `replace` deletes any existing connection if a new one + for the same user gets established. + + To compare connections for uniqueness, the remote IKE identity is used. If + EAP or XAuth authentication is involved, the EAP-Identity or XAuth + username is used to enforce the uniqueness policy instead. + + On initiators this setting specifies whether an INITIAL_CONTACT notify is + sent during IKE_AUTH if no existing connection is found with the remote + peer (determined by the identities of the first authentication + round). Unless set to `never` the client will send a notify. + ''; + + reauth_time = mkDurationParam "0s" '' + Time to schedule IKE reauthentication. IKE reauthentication recreates the + IKE/ISAKMP SA from scratch and re-evaluates the credentials. In asymmetric + configurations (with EAP or configuration payloads) it might not be + possible to actively reauthenticate as responder. The IKEv2 + reauthentication lifetime negotiation can instruct the client to perform + reauthentication. + + Reauthentication is disabled by default. Enabling it usually may lead to + small connection interruptions, as strongSwan uses a break-before-make + policy with IKEv2 to avoid any conflicts with associated tunnel resources. + ''; + + rekey_time = mkDurationParam "4h" '' + IKE rekeying refreshes key material using a Diffie-Hellman exchange, but + does not re-check associated credentials. It is supported in IKEv2 only, + IKEv1 performs a reauthentication procedure instead. + + With the default value IKE rekeying is scheduled every 4 hours, minus the + configured rand_time. If a reauth_time is configured, rekey_time defaults + to zero, disabling rekeying; explicitly set both to enforce rekeying and + reauthentication. + ''; + + over_time = mkOptionalDurationParam '' + Hard IKE_SA lifetime if rekey/reauth does not complete, as time. To avoid + having an IKE/ISAKMP kept alive if IKE reauthentication or rekeying fails + perpetually, a maximum hard lifetime may be specified. If the IKE_SA fails + to rekey or reauthenticate within the specified time, the IKE_SA gets + closed. + + In contrast to CHILD_SA rekeying, over_time is relative in time to the + rekey_time and reauth_time values, as it applies to both. + + The default is 10% of the longer of {option}`rekey_time` and + {option}`reauth_time`. + ''; + + rand_time = mkOptionalDurationParam '' + Time range from which to choose a random value to subtract from + rekey/reauth times. To avoid having both peers initiating the rekey/reauth + procedure simultaneously, a random time gets subtracted from the + rekey/reauth times. + + The default is equal to the configured {option}`over_time`. + ''; + + pools = mkCommaSepListParam [ ] '' + List of named IP pools to allocate virtual IP addresses + and other configuration attributes from. Each name references a pool by + name from either the pools section or an external pool. + ''; + + if_id_in = mkStrParam "0" '' + XFRM interface ID set on inbound policies/SA, can be overridden by child + config, see there for details. + + The special value `%unique` allocates a unique interface ID per IKE_SA, + which is inherited by all its CHILD_SAs (unless overridden there), beyond + that the value `%unique-dir` assigns a different unique interface ID for + each direction (in/out). + + ''; + + if_id_out = mkStrParam "0" '' + XFRM interface ID set on outbound policies/SA, can be overridden by child + config, see there for details. + + The special value `%unique` allocates a unique interface ID per IKE_SA, + which is inherited by all its CHILD_SAs (unless overridden there), beyond + that the value `%unique-dir` assigns a different unique interface ID for + each direction (in/out). + ''; + + mediation = mkYesNoParam no '' + Whether this connection is a mediation connection, that is, whether this + connection is used to mediate other connections using the IKEv2 Mediation + Extension. Mediation connections create no CHILD_SA. + ''; + + mediated_by = mkOptionalStrParam '' + The name of the connection to mediate this connection through. If given, + the connection will be mediated through the named mediation + connection. The mediation connection must have mediation enabled. + ''; + + mediation_peer = mkOptionalStrParam '' + Identity under which the peer is registered at the mediation server, that + is, the IKE identity the other end of this connection uses as its local + identity on its connection to the mediation server. This is the identity + we request the mediation server to mediate us with. Only relevant on + connections that set mediated_by. If it is not given, the remote IKE + identity of the first authentication round of this connection will be + used. + ''; + + local = + mkPrefixedAttrsOfParams + { + + round = mkIntParam 0 '' + Optional numeric identifier by which authentication rounds are + sorted. If not specified rounds are ordered by their position in the + config file/vici message. + ''; + + certs = mkCommaSepListParam [ ] '' + List of certificate candidates to use for + authentication. The certificates may use a relative path from the + swanctl `x509` directory or an absolute path. + + The certificate used for authentication is selected based on the + received certificate request payloads. If no appropriate CA can be + located, the first certificate is used. + ''; + + cert = mkPostfixedAttrsOfParams certParams '' + Section for a certificate candidate to use for + authentication. Certificates in certs are transmitted as binary blobs, + these sections offer more flexibility. + ''; + + pubkeys = mkCommaSepListParam [ ] '' + List of raw public key candidates to use for + authentication. The public keys may use a relative path from the swanctl + `pubkey` directory or an absolute path. + + Even though multiple local public keys could be defined in principle, + only the first public key in the list is used for authentication. + ''; + + auth = mkStrParam "pubkey" '' + Authentication to perform locally. + + - The default `pubkey` uses public key authentication + using a private key associated to a usable certificate. + - `psk` uses pre-shared key authentication. + - The IKEv1 specific `xauth` is used for XAuth or Hybrid + authentication, + - while the IKEv2 specific `eap` keyword defines EAP + authentication. + - For `xauth`, a specific backend name may be appended, + separated by a dash. The appropriate `xauth` backend is + selected to perform the XAuth exchange. For traditional XAuth, the + `xauth` method is usually defined in the second + authentication round following an initial `pubkey` (or + `psk`) round. Using `xauth` in the + first round performs Hybrid Mode client authentication. + - For `eap`, a specific EAP method name may be appended, separated by a + dash. An EAP module implementing the appropriate method is selected to + perform the EAP conversation. + - Since 5.4.0, if both peers support RFC 7427 ("Signature Authentication + in IKEv2") specific hash algorithms to be used during IKEv2 + authentication may be configured. To do so use `ike:` + followed by a trust chain signature scheme constraint (see description + of the {option}`remote` section's {option}`auth` + keyword). For example, with `ike:pubkey-sha384-sha256` + a public key signature scheme with either SHA-384 or SHA-256 would get + used for authentication, in that order and depending on the hash + algorithms supported by the peer. If no specific hash algorithms are + configured, the default is to prefer an algorithm that matches or + exceeds the strength of the signature key. If no constraints with + `ike:` prefix are configured any signature scheme + constraint (without `ike:` prefix) will also apply to + IKEv2 authentication, unless this is disabled in + `strongswan.conf`. To use RSASSA-PSS signatures use + `rsa/pss` instead of `pubkey` or + `rsa` as in e.g. + `ike:rsa/pss-sha256`. If `pubkey` or + `rsa` constraints are configured RSASSA-PSS signatures + will only be used if enabled in `strongswan.conf`(5). + ''; + + id = mkOptionalStrParam '' + IKE identity to use for authentication round. When using certificate + authentication, the IKE identity must be contained in the certificate, + either as subject or as subjectAltName. + ''; + + eap_id = mkOptionalStrParam '' + Client EAP-Identity to use in EAP-Identity exchange and the EAP method. + ''; + + aaa_id = mkOptionalStrParam '' + Server side EAP-Identity to expect in the EAP method. Some EAP methods, + such as EAP-TLS, use an identity for the server to perform mutual + authentication. This identity may differ from the IKE identity, + especially when EAP authentication is delegated from the IKE responder + to an AAA backend. + + For EAP-(T)TLS, this defines the identity for which the server must + provide a certificate in the TLS exchange. + ''; + + xauth_id = mkOptionalStrParam '' + Client XAuth username used in the XAuth exchange. + ''; + + } + '' + Section for a local authentication round. A local authentication round + defines the rules how authentication is performed for the local + peer. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple + Authentication or IKEv1 XAuth. + + Each round is defined in a section having `local` as + prefix, and an optional unique suffix. To define a single authentication + round, the suffix may be omitted. + ''; + + remote = + mkPrefixedAttrsOfParams + { + + round = mkIntParam 0 '' + Optional numeric identifier by which authentication rounds are + sorted. If not specified rounds are ordered by their position in the + config file/vici message. + ''; + + id = mkStrParam "%any" '' + IKE identity to expect for authentication round. When using certificate + authentication, the IKE identity must be contained in the certificate, + either as subject or as subjectAltName. + ''; + + eap_id = mkOptionalStrParam '' + Identity to use as peer identity during EAP authentication. If set to + `%any` the EAP-Identity method will be used to ask the + client for an EAP identity. + ''; + + groups = mkCommaSepListParam [ ] '' + Authorization group memberships to require. The peer + must prove membership to at least one of the specified groups. Group + membership can be certified by different means, for example by + appropriate Attribute Certificates or by an AAA backend involved in the + authentication. + ''; + + cert_policy = mkCommaSepListParam [ ] '' + List of certificate policy OIDs the peer's certificate + must have. OIDs are specified using the numerical dotted representation. + ''; + + certs = mkCommaSepListParam [ ] '' + List of certificates to accept for authentication. The certificates may + use a relative path from the swanctl `x509` directory + or an absolute path. + ''; + + cert = mkPostfixedAttrsOfParams certParams '' + Section for a certificate candidate to use for + authentication. Certificates in certs are transmitted as binary blobs, + these sections offer more flexibility. + ''; + + ca_id = mkOptionalStrParam '' + Identity in CA certificate to accept for authentication. The specified + identity must be contained in one (intermediate) CA of the remote peer + trustchain, either as subject or as subjectAltName. This has the same + effect as specifying `cacerts` to force clients under + a CA to specific connections; it does not require the CA certificate + to be available locally, and can be received from the peer during the + IKE exchange. + ''; + + cacerts = mkCommaSepListParam [ ] '' + List of CA certificates to accept for + authentication. The certificates may use a relative path from the + swanctl `x509ca` directory or an absolute path. + ''; + + cacert = mkPostfixedAttrsOfParams certParams '' + Section for a CA certificate to accept for authentication. Certificates + in cacerts are transmitted as binary blobs, these sections offer more + flexibility. + ''; + + pubkeys = mkCommaSepListParam [ ] '' + List of raw public keys to accept for + authentication. The public keys may use a relative path from the swanctl + `pubkey` directory or an absolute path. + ''; + + revocation = mkEnumParam [ "strict" "ifuri" "relaxed" ] "relaxed" '' + Certificate revocation policy for CRL or OCSP revocation. + + - A `strict` revocation policy fails if no revocation information is + available, i.e. the certificate is not known to be unrevoked. + - `ifuri` fails only if a CRL/OCSP URI is available, but certificate + revocation checking fails, i.e. there should be revocation information + available, but it could not be obtained. + - The default revocation policy `relaxed` fails only if a certificate is + revoked, i.e. it is explicitly known that it is bad. + ''; + + auth = mkStrParam "pubkey" '' + Authentication to expect from remote. See the {option}`local` + section's {option}`auth` keyword description about the details of + supported mechanisms. + + Since 5.4.0, to require a trustchain public key strength for the remote + side, specify the key type followed by the minimum strength in bits (for + example `ecdsa-384` or + `rsa-2048-ecdsa-256`). To limit the acceptable set of + hashing algorithms for trustchain validation, append hash algorithms to + pubkey or a key strength definition (for example + `pubkey-sha256-sha512`, + `rsa-2048-sha256-sha384-sha512` or + `rsa-2048-sha256-ecdsa-256-sha256-sha384`). + Unless disabled in `strongswan.conf`, or explicit IKEv2 + signature constraints are configured (refer to the description of the + {option}`local` section's {option}`auth` keyword for + details), such key types and hash algorithms are also applied as + constraints against IKEv2 signature authentication schemes used by the + remote side. To require RSASSA-PSS signatures use + `rsa/pss` instead of `pubkey` or + `rsa` as in e.g. `rsa/pss-sha256`. If + `pubkey` or `rsa` constraints are + configured RSASSA-PSS signatures will only be accepted if enabled in + `strongswan.conf`(5). + + To specify trust chain constraints for EAP-(T)TLS, append a colon to the + EAP method, followed by the key type/size and hash algorithm as + discussed above (e.g. `eap-tls:ecdsa-384-sha384`). + ''; + + } + '' + Section for a remote authentication round. A remote authentication round + defines the constraints how the peers must authenticate to use this + connection. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple + Authentication or IKEv1 XAuth. + + Each round is defined in a section having `remote` as + prefix, and an optional unique suffix. To define a single authentication + round, the suffix may be omitted. + ''; + + children = + mkAttrsOfParams + { + ah_proposals = mkCommaSepListParam [ ] '' + AH proposals to offer for the CHILD_SA. A proposal is a set of + algorithms. For AH, this includes an integrity algorithm and an optional + Diffie-Hellman group. If a DH group is specified, CHILD_SA/Quick Mode + rekeying and initial negotiation uses a separate Diffie-Hellman exchange + using the specified group (refer to esp_proposals for details). + + In IKEv2, multiple algorithms of the same kind can be specified in a + single proposal, from which one gets selected. In IKEv1, only one + algorithm per kind is allowed per proposal, more algorithms get + implicitly stripped. Use multiple proposals to offer different algorithms + combinations in IKEv1. + + Algorithm keywords get separated using dashes. Multiple proposals may be + specified in a list. The special value `default` forms + a default proposal of supported algorithms considered safe, and is + usually a good choice for interoperability. By default no AH proposals + are included, instead ESP is proposed. + ''; + + esp_proposals = mkCommaSepListParam [ "default" ] '' + ESP proposals to offer for the CHILD_SA. A proposal is a set of + algorithms. For ESP non-AEAD proposals, this includes an integrity + algorithm, an encryption algorithm, an optional Diffie-Hellman group and + an optional Extended Sequence Number Mode indicator. For AEAD proposals, + a combined mode algorithm is used instead of the separate + encryption/integrity algorithms. + + If a DH group is specified, CHILD_SA/Quick Mode rekeying and initial + negotiation use a separate Diffie-Hellman exchange using the specified + group. However, for IKEv2, the keys of the CHILD_SA created implicitly + with the IKE_SA will always be derived from the IKE_SA's key material. So + any DH group specified here will only apply when the CHILD_SA is later + rekeyed or is created with a separate CREATE_CHILD_SA exchange. A + proposal mismatch might, therefore, not immediately be noticed when the + SA is established, but may later cause rekeying to fail. + + Extended Sequence Number support may be indicated with the + `esn` and `noesn` values, both may be + included to indicate support for both modes. If omitted, + `noesn` is assumed. + + In IKEv2, multiple algorithms of the same kind can be specified in a + single proposal, from which one gets selected. In IKEv1, only one + algorithm per kind is allowed per proposal, more algorithms get + implicitly stripped. Use multiple proposals to offer different algorithms + combinations in IKEv1. + + Algorithm keywords get separated using dashes. Multiple proposals may be + specified as a list. The special value `default` forms + a default proposal of supported algorithms considered safe, and is + usually a good choice for interoperability. If no algorithms are + specified for AH nor ESP, the default set of algorithms for ESP is + included. + ''; + + sha256_96 = mkYesNoParam no '' + HMAC-SHA-256 is used with 128-bit truncation with IPsec. For + compatibility with implementations that incorrectly use 96-bit truncation + this option may be enabled to configure the shorter truncation length in + the kernel. This is not negotiated, so this only works with peers that + use the incorrect truncation length (or have this option enabled). + ''; + + local_ts = mkCommaSepListParam [ "dynamic" ] '' + List of local traffic selectors to include in CHILD_SA. Each selector is + a CIDR subnet definition, followed by an optional proto/port + selector. The special value `dynamic` may be used + instead of a subnet definition, which gets replaced by the tunnel outer + address or the virtual IP, if negotiated. This is the default. + + A protocol/port selector is surrounded by opening and closing square + brackets. Between these brackets, a numeric or getservent(3) protocol + name may be specified. After the optional protocol restriction, an + optional port restriction may be specified, separated by a slash. The + port restriction may be numeric, a getservent(3) service name, or the + special value `opaque` for RFC 4301 OPAQUE + selectors. Port ranges may be specified as well, none of the kernel + backends currently support port ranges, though. + + When IKEv1 is used only the first selector is interpreted, except if the + Cisco Unity extension plugin is used. This is due to a limitation of the + IKEv1 protocol, which only allows a single pair of selectors per + CHILD_SA. So to tunnel traffic matched by several pairs of selectors when + using IKEv1 several children (CHILD_SAs) have to be defined that cover + the selectors. The IKE daemon uses traffic selector narrowing for IKEv1, + the same way it is standardized and implemented for IKEv2. However, this + may lead to problems with other implementations. To avoid that, configure + identical selectors in such scenarios. + ''; + + remote_ts = mkCommaSepListParam [ "dynamic" ] '' + List of remote selectors to include in CHILD_SA. See + {option}`local_ts` for a description of the selector syntax. + ''; + + rekey_time = mkDurationParam "1h" '' + Time to schedule CHILD_SA rekeying. CHILD_SA rekeying refreshes key + material, optionally using a Diffie-Hellman exchange if a group is + specified in the proposal. To avoid rekey collisions initiated by both + ends simultaneously, a value in the range of {option}`rand_time` + gets subtracted to form the effective soft lifetime. + + By default CHILD_SA rekeying is scheduled every hour, minus + {option}`rand_time`. + ''; + + life_time = mkOptionalDurationParam '' + Maximum lifetime before CHILD_SA gets closed. Usually this hard lifetime + is never reached, because the CHILD_SA gets rekeyed before. If that fails + for whatever reason, this limit closes the CHILD_SA. The default is 10% + more than the {option}`rekey_time`. + ''; + + rand_time = mkOptionalDurationParam '' + Time range from which to choose a random value to subtract from + {option}`rekey_time`. The default is the difference between + {option}`life_time` and {option}`rekey_time`. + ''; + + rekey_bytes = mkIntParam 0 '' + Number of bytes processed before initiating CHILD_SA rekeying. CHILD_SA + rekeying refreshes key material, optionally using a Diffie-Hellman + exchange if a group is specified in the proposal. + + To avoid rekey collisions initiated by both ends simultaneously, a value + in the range of {option}`rand_bytes` gets subtracted to form the + effective soft volume limit. + + Volume based CHILD_SA rekeying is disabled by default. + ''; + + life_bytes = mkOptionalIntParam '' + Maximum bytes processed before CHILD_SA gets closed. Usually this hard + volume limit is never reached, because the CHILD_SA gets rekeyed + before. If that fails for whatever reason, this limit closes the + CHILD_SA. The default is 10% more than {option}`rekey_bytes`. + ''; + + rand_bytes = mkOptionalIntParam '' + Byte range from which to choose a random value to subtract from + {option}`rekey_bytes`. The default is the difference between + {option}`life_bytes` and {option}`rekey_bytes`. + ''; + + rekey_packets = mkIntParam 0 '' + Number of packets processed before initiating CHILD_SA rekeying. CHILD_SA + rekeying refreshes key material, optionally using a Diffie-Hellman + exchange if a group is specified in the proposal. + + To avoid rekey collisions initiated by both ends simultaneously, a value + in the range of {option}`rand_packets` gets subtracted to form + the effective soft packet count limit. + + Packet count based CHILD_SA rekeying is disabled by default. + ''; + + life_packets = mkOptionalIntParam '' + Maximum number of packets processed before CHILD_SA gets closed. Usually + this hard packets limit is never reached, because the CHILD_SA gets + rekeyed before. If that fails for whatever reason, this limit closes the + CHILD_SA. + + The default is 10% more than {option}`rekey_bytes`. + ''; + + rand_packets = mkOptionalIntParam '' + Packet range from which to choose a random value to subtract from + {option}`rekey_packets`. The default is the difference between + {option}`life_packets` and {option}`rekey_packets`. + ''; + + updown = mkOptionalStrParam '' + Updown script to invoke on CHILD_SA up and down events. + ''; + + hostaccess = mkYesNoParam no '' + Hostaccess variable to pass to `updown` script. + ''; + + mode = + mkEnumParam + [ + "tunnel" + "transport" + "transport_proxy" + "beet" + "pass" + "drop" + ] + "tunnel" + '' + IPsec Mode to establish CHILD_SA with. + + - `tunnel` negotiates the CHILD_SA in IPsec Tunnel Mode, + - whereas `transport` uses IPsec Transport Mode. + - `transport_proxy` signifying the special Mobile IPv6 + Transport Proxy Mode. + - `beet` is the Bound End to End Tunnel mixture mode, + working with fixed inner addresses without the need to include them in + each packet. + - Both `transport` and `beet` modes are + subject to mode negotiation; `tunnel` mode is + negotiated if the preferred mode is not available. + - `pass` and `drop` are used to install + shunt policies which explicitly bypass the defined traffic from IPsec + processing or drop it, respectively. + ''; + + policies = mkYesNoParam yes '' + Whether to install IPsec policies or not. Disabling this can be useful in + some scenarios e.g. MIPv6, where policies are not managed by the IKE + daemon. Since 5.3.3. + ''; + + policies_fwd_out = mkYesNoParam no '' + Whether to install outbound FWD IPsec policies or not. Enabling this is + required in case there is a drop policy that would match and block + forwarded traffic for this CHILD_SA. Since 5.5.1. + ''; + + dpd_action = mkEnumParam [ "clear" "trap" "restart" ] "clear" '' + Action to perform for this CHILD_SA on DPD timeout. The default clear + closes the CHILD_SA and does not take further action. trap installs a + trap policy, which will catch matching traffic and tries to re-negotiate + the tunnel on-demand. restart immediately tries to re-negotiate the + CHILD_SA under a fresh IKE_SA. + ''; + + ipcomp = mkYesNoParam no '' + Enable IPComp compression before encryption. If enabled, IKE tries to + negotiate IPComp compression to compress ESP payload data prior to + encryption. + ''; + + inactivity = mkDurationParam "0s" '' + Timeout before closing CHILD_SA after inactivity. If no traffic has been + processed in either direction for the configured timeout, the CHILD_SA + gets closed due to inactivity. The default value of 0 disables inactivity + checks. + ''; + + reqid = mkIntParam 0 '' + Fixed reqid to use for this CHILD_SA. This might be helpful in some + scenarios, but works only if each CHILD_SA configuration is instantiated + not more than once. The default of 0 uses dynamic reqids, allocated + incrementally. + ''; + + priority = mkIntParam 0 '' + Optional fixed priority for IPsec policies. This could be useful to + install high-priority drop policies. The default of 0 uses dynamically + calculated priorities based on the size of the traffic selectors. + ''; + + interface = mkOptionalStrParam '' + Optional interface name to restrict outbound IPsec policies. + ''; + + mark_in = mkStrParam "0/0x00000000" '' + Netfilter mark and mask for input traffic. On Linux, Netfilter may + require marks on each packet to match an SA/policy having that option + set. This allows installing duplicate policies and enables Netfilter + rules to select specific SAs/policies for incoming traffic. Note that + inbound marks are only set on policies, by default, unless + {option}`mark_in_sa` is enabled. The special value + `%unique` sets a unique mark on each CHILD_SA instance, + beyond that the value `%unique-dir` assigns a different + unique mark for each + + An additional mask may be appended to the mark, separated by + `/`. The default mask if omitted is + `0xffffffff`. + ''; + + mark_in_sa = mkYesNoParam no '' + Whether to set {option}`mark_in` on the inbound SA. By default, + the inbound mark is only set on the inbound policy. The tuple destination + address, protocol and SPI is unique and the mark is not required to find + the correct SA, allowing to mark traffic after decryption instead (where + more specific selectors may be used) to match different policies. Marking + packets before decryption is still possible, even if no mark is set on + the SA. + ''; + + mark_out = mkStrParam "0/0x00000000" '' + Netfilter mark and mask for output traffic. On Linux, Netfilter may + require marks on each packet to match a policy/SA having that option + set. This allows installing duplicate policies and enables Netfilter + rules to select specific policies/SAs for outgoing traffic. The special + value `%unique` sets a unique mark on each CHILD_SA + instance, beyond that the value `%unique-dir` assigns a + different unique mark for each CHILD_SA direction (in/out). + + An additional mask may be appended to the mark, separated by + `/`. The default mask if omitted is + `0xffffffff`. + ''; + + set_mark_in = mkStrParam "0/0x00000000" '' + Netfilter mark applied to packets after the inbound IPsec SA processed + them. This way it's not necessary to mark packets via Netfilter before + decryption or right afterwards to match policies or process them + differently (e.g. via policy routing). + + An additional mask may be appended to the mark, separated by + `/`. The default mask if omitted is 0xffffffff. The + special value `%same` uses the value (but not the mask) + from {option}`mark_in` as mark value, which can be fixed, + `%unique` or `%unique-dir`. + + Setting marks in XFRM input requires Linux 4.19 or higher. + ''; + + set_mark_out = mkStrParam "0/0x00000000" '' + Netfilter mark applied to packets after the outbound IPsec SA processed + them. This allows processing ESP packets differently than the original + traffic (e.g. via policy routing). + + An additional mask may be appended to the mark, separated by + `/`. The default mask if omitted is 0xffffffff. The + special value `%same` uses the value (but not the mask) + from {option}`mark_out` as mark value, which can be fixed, + `%unique_` or `%unique-dir`. + + Setting marks in XFRM output is supported since Linux 4.14. Setting a + mask requires at least Linux 4.19. + ''; + + if_id_in = mkStrParam "0" '' + XFRM interface ID set on inbound policies/SA. This allows installing + duplicate policies/SAs and associates them with an interface with the + same ID. The special value `%unique` sets a unique + interface ID on each CHILD_SA instance, beyond that the value + `%unique-dir` assigns a different unique interface ID + for each CHILD_SA direction (in/out). + ''; + + if_id_out = mkStrParam "0" '' + XFRM interface ID set on outbound policies/SA. This allows installing + duplicate policies/SAs and associates them with an interface with the + same ID. The special value `%unique` sets a unique + interface ID on each CHILD_SA instance, beyond that the value + `%unique-dir` assigns a different unique interface ID + for each CHILD_SA direction (in/out). + + The daemon will not install routes for CHILD_SAs that have this option set. + ''; + + tfc_padding = mkParamOfType (with lib.types; either int (enum [ "mtu" ])) 0 '' + Pads ESP packets with additional data to have a consistent ESP packet + size for improved Traffic Flow Confidentiality. The padding defines the + minimum size of all ESP packets sent. The default value of + `0` disables TFC padding, the special value + `mtu` adds TFC padding to create a packet size equal to + the Path Maximum Transfer Unit. + ''; + + replay_window = mkIntParam 32 '' + IPsec replay window to configure for this CHILD_SA. Larger values than + the default of `32` are supported using the Netlink + backend only, a value of `0` disables IPsec replay + protection. + ''; + + hw_offload = mkEnumParam [ "yes" "no" "auto" "crypto" "packet" ] "no" '' + Enable hardware offload for this CHILD_SA, if supported by the IPsec + implementation. The values `crypto` or `packet` enforce crypto or full + packet offloading and the installation will fail if the selected mode is not + supported by either kernel or device. On Linux, `packet` also offloads + policies, including trap policies. The value `auto` enables full packet + or crypto offloading, if either is supported, but the installation does not + fail otherwise. + ''; + + copy_df = mkYesNoParam yes '' + Whether to copy the DF bit to the outer IPv4 header in tunnel mode. This + effectively disables Path MTU discovery (PMTUD). Controlling this + behavior is not supported by all kernel interfaces. + ''; + + copy_ecn = mkYesNoParam yes '' + Whether to copy the ECN (Explicit Congestion Notification) header field + to/from the outer IP header in tunnel mode. Controlling this behavior is + not supported by all kernel interfaces. + ''; + + copy_dscp = mkEnumParam [ "out" "in" "yes" "no" ] "out" '' + Whether to copy the DSCP (Differentiated Services Field Codepoint) + header field to/from the outer IP header in tunnel mode. The value + `out` only copies the field from the inner to the outer + header, the value `in` does the opposite and only + copies the field from the outer to the inner header when decapsulating, + the value `yes` copies the field in both directions, + and the value `no` disables copying the field + altogether. Setting this to `yes` or + `in` could allow an attacker to adversely affect other + traffic at the receiver, which is why the default is + `out`. Controlling this behavior is not supported by + all kernel interfaces. + ''; + + start_action = mkEnumParam [ "none" "trap" "start" "trap|start" ] "none" '' + Action to perform after loading the configuration. + + - The default of `none` loads the connection only, which + then can be manually initiated or used as a responder configuration. + - The value `trap` installs a trap policy, which triggers + the tunnel as soon as matching traffic has been detected. + - The value `start` initiates the connection actively. + - Since version 5.9.6 two modes above can be combined with `trap|start`, + to immediately initiate a connection for which trap policies have been installed. + + When unloading or replacing a CHILD_SA configuration having a + {option}`start_action` different from `none`, + the inverse action is performed. Configurations with + `start` get closed, while such with + `trap` get uninstalled. + ''; + + close_action = mkEnumParam [ "none" "trap" "start" ] "none" '' + Action to perform after a CHILD_SA gets closed by the peer. + + - The default of `none` does not take any action, + - `trap` installs a trap policy for the CHILD_SA. + - `start` tries to re-create the CHILD_SA. + + {option}`close_action` does not provide any guarantee that the + CHILD_SA is kept alive. It acts on explicit close messages only, but not + on negotiation failures. Use trap policies to reliably re-create failed + CHILD_SAs. + ''; + + } + '' + CHILD_SA configuration sub-section. Each connection definition may have + one or more sections in its {option}`children` subsection. The + section name defines the name of the CHILD_SA configuration, which must be + unique within the connection (denoted \ below). + ''; + } + '' + Section defining IKE connection configurations, each in its own subsection + with an arbitrary yet unique name + ''; + + secrets = + let + mkEapXauthParams = + mkPrefixedAttrsOfParams + { + secret = mkOptionalStrParam '' + Value of the EAP/XAuth secret. It may either be an ASCII string, a hex + encoded string if it has a 0x prefix or a Base64 encoded string if it + has a 0s prefix in its value. + ''; + + id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' + Identity the EAP/XAuth secret belongs to. Multiple unique identities may + be specified, each having an `id` prefix, if a secret + is shared between multiple users. + ''; + + } + '' + EAP secret section for a specific secret. Each EAP secret is defined in a + unique section having the `eap` prefix. EAP secrets are + used for XAuth authentication as well. + ''; + + in + { + + eap = mkEapXauthParams; + xauth = mkEapXauthParams; + + ntlm = + mkPrefixedAttrsOfParams + { + secret = mkOptionalStrParam '' + Value of the NTLM secret, which is the NT Hash of the actual secret, + that is, MD4(UTF-16LE(secret)). The resulting 16-byte value may either + be given as a hex encoded string with a 0x prefix or as a Base64 encoded + string with a 0s prefix. + ''; + + id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' + Identity the NTLM secret belongs to. Multiple unique identities may be + specified, each having an id prefix, if a secret is shared between + multiple users. + ''; + } + '' + NTLM secret section for a specific secret. Each NTLM secret is defined in + a unique section having the `ntlm` prefix. NTLM secrets + may only be used for EAP-MSCHAPv2 authentication. + ''; + + ike = + mkPrefixedAttrsOfParams + { + secret = mkOptionalStrParam '' + Value of the IKE preshared secret. It may either be an ASCII string, a + hex encoded string if it has a 0x prefix or a Base64 encoded string if + it has a 0s prefix in its value. + ''; + + id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' + IKE identity the IKE preshared secret belongs to. Multiple unique + identities may be specified, each having an `id` + prefix, if a secret is shared between multiple peers. + ''; + } + '' + IKE preshared secret section for a specific secret. Each IKE PSK is + defined in a unique section having the `ike` prefix. + ''; + + ppk = + mkPrefixedAttrsOfParams + { + secret = mkOptionalStrParam '' + Value of the PPK. It may either be an ASCII string, a hex encoded string + if it has a `0x` prefix or a Base64 encoded string if + it has a `0s` prefix in its value. Should have at least + 256 bits of entropy for 128-bit security. + ''; + + id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' + PPK identity the PPK belongs to. Multiple unique identities may be + specified, each having an `id` prefix, if a secret is + shared between multiple peers. + ''; + } + '' + Postquantum Preshared Key (PPK) section for a specific secret. Each PPK is + defined in a unique section having the `ppk` prefix. + ''; + + private = + mkPrefixedAttrsOfParams + { + file = mkOptionalStrParam '' + File name in the private folder for which this passphrase should be used. + ''; + + secret = mkOptionalStrParam '' + Value of decryption passphrase for private key. + ''; + } + '' + Private key decryption passphrase for a key in the + `private` folder. + ''; + + rsa = + mkPrefixedAttrsOfParams + { + file = mkOptionalStrParam '' + File name in the `rsa` folder for which this passphrase + should be used. + ''; + secret = mkOptionalStrParam '' + Value of decryption passphrase for RSA key. + ''; + } + '' + Private key decryption passphrase for a key in the `rsa` + folder. + ''; + + ecdsa = + mkPrefixedAttrsOfParams + { + file = mkOptionalStrParam '' + File name in the `ecdsa` folder for which this + passphrase should be used. + ''; + secret = mkOptionalStrParam '' + Value of decryption passphrase for ECDSA key. + ''; + } + '' + Private key decryption passphrase for a key in the + `ecdsa` folder. + ''; + + pkcs8 = + mkPrefixedAttrsOfParams + { + file = mkOptionalStrParam '' + File name in the `pkcs8` folder for which this + passphrase should be used. + ''; + secret = mkOptionalStrParam '' + Value of decryption passphrase for PKCS#8 key. + ''; + } + '' + Private key decryption passphrase for a key in the + `pkcs8` folder. + ''; + + pkcs12 = + mkPrefixedAttrsOfParams + { + file = mkOptionalStrParam '' + File name in the `pkcs12` folder for which this + passphrase should be used. + ''; + secret = mkOptionalStrParam '' + Value of decryption passphrase for PKCS#12 container. + ''; + } + '' + PKCS#12 decryption passphrase for a container in the + `pkcs12` folder. + ''; + + token = mkPrefixedAttrsOfParams { + handle = mkOptionalHexParam '' + Hex-encoded CKA_ID or handle of the private key on the token or TPM, + respectively. + ''; + + slot = mkOptionalIntParam '' + Optional slot number to access the token. + ''; + + module = mkOptionalStrParam '' + Optional PKCS#11 module name to access the token. + ''; + + pin = mkOptionalStrParam '' + Optional PIN required to access the key on the token. If none is + provided the user is prompted during an interactive + `--load-creds` call. + ''; + } "Definition for a private key that's stored on a token/smartcard/TPM."; + + }; + + pools = + mkAttrsOfParams + { + addrs = mkOptionalStrParam '' + Subnet or range defining addresses allocated in pool. Accepts a single + CIDR subnet defining the pool to allocate addresses from or an address + range (\-\). Pools must be unique and non-overlapping. + ''; + + dns = mkCommaSepListParam [ ] "Address or CIDR subnets"; + nbns = mkCommaSepListParam [ ] "Address or CIDR subnets"; + dhcp = mkCommaSepListParam [ ] "Address or CIDR subnets"; + netmask = mkCommaSepListParam [ ] "Address or CIDR subnets"; + server = mkCommaSepListParam [ ] "Address or CIDR subnets"; + subnet = mkCommaSepListParam [ ] "Address or CIDR subnets"; + split_include = mkCommaSepListParam [ ] "Address or CIDR subnets"; + split_exclude = mkCommaSepListParam [ ] "Address or CIDR subnets"; + } + '' + Section defining named pools. Named pools may be referenced by connections + with the pools option to assign virtual IPs and other configuration + attributes. Each pool must have a unique name (denoted \ below). ''; - - hw_offload = mkEnumParam ["yes" "no" "auto" "crypto" "packet"] "no" '' - Enable hardware offload for this CHILD_SA, if supported by the IPsec - implementation. The values `crypto` or `packet` enforce crypto or full - packet offloading and the installation will fail if the selected mode is not - supported by either kernel or device. On Linux, `packet` also offloads - policies, including trap policies. The value `auto` enables full packet - or crypto offloading, if either is supported, but the installation does not - fail otherwise. - ''; - - copy_df = mkYesNoParam yes '' - Whether to copy the DF bit to the outer IPv4 header in tunnel mode. This - effectively disables Path MTU discovery (PMTUD). Controlling this - behavior is not supported by all kernel interfaces. - ''; - - copy_ecn = mkYesNoParam yes '' - Whether to copy the ECN (Explicit Congestion Notification) header field - to/from the outer IP header in tunnel mode. Controlling this behavior is - not supported by all kernel interfaces. - ''; - - copy_dscp = mkEnumParam [ "out" "in" "yes" "no" ] "out" '' - Whether to copy the DSCP (Differentiated Services Field Codepoint) - header field to/from the outer IP header in tunnel mode. The value - `out` only copies the field from the inner to the outer - header, the value `in` does the opposite and only - copies the field from the outer to the inner header when decapsulating, - the value `yes` copies the field in both directions, - and the value `no` disables copying the field - altogether. Setting this to `yes` or - `in` could allow an attacker to adversely affect other - traffic at the receiver, which is why the default is - `out`. Controlling this behavior is not supported by - all kernel interfaces. - ''; - - start_action = mkEnumParam ["none" "trap" "start" "trap|start" ] "none" '' - Action to perform after loading the configuration. - - - The default of `none` loads the connection only, which - then can be manually initiated or used as a responder configuration. - - The value `trap` installs a trap policy, which triggers - the tunnel as soon as matching traffic has been detected. - - The value `start` initiates the connection actively. - - Since version 5.9.6 two modes above can be combined with `trap|start`, - to immediately initiate a connection for which trap policies have been installed. - - When unloading or replacing a CHILD_SA configuration having a - {option}`start_action` different from `none`, - the inverse action is performed. Configurations with - `start` get closed, while such with - `trap` get uninstalled. - ''; - - close_action = mkEnumParam ["none" "trap" "start"] "none" '' - Action to perform after a CHILD_SA gets closed by the peer. - - - The default of `none` does not take any action, - - `trap` installs a trap policy for the CHILD_SA. - - `start` tries to re-create the CHILD_SA. - - {option}`close_action` does not provide any guarantee that the - CHILD_SA is kept alive. It acts on explicit close messages only, but not - on negotiation failures. Use trap policies to reliably re-create failed - CHILD_SAs. - ''; - - } '' - CHILD_SA configuration sub-section. Each connection definition may have - one or more sections in its {option}`children` subsection. The - section name defines the name of the CHILD_SA configuration, which must be - unique within the connection (denoted \ below). - ''; - } '' - Section defining IKE connection configurations, each in its own subsection - with an arbitrary yet unique name - ''; - - secrets = let - mkEapXauthParams = mkPrefixedAttrsOfParams { - secret = mkOptionalStrParam '' - Value of the EAP/XAuth secret. It may either be an ASCII string, a hex - encoded string if it has a 0x prefix or a Base64 encoded string if it - has a 0s prefix in its value. - ''; - - id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' - Identity the EAP/XAuth secret belongs to. Multiple unique identities may - be specified, each having an `id` prefix, if a secret - is shared between multiple users. - ''; - - } '' - EAP secret section for a specific secret. Each EAP secret is defined in a - unique section having the `eap` prefix. EAP secrets are - used for XAuth authentication as well. - ''; - - in { - - eap = mkEapXauthParams; - xauth = mkEapXauthParams; - - ntlm = mkPrefixedAttrsOfParams { - secret = mkOptionalStrParam '' - Value of the NTLM secret, which is the NT Hash of the actual secret, - that is, MD4(UTF-16LE(secret)). The resulting 16-byte value may either - be given as a hex encoded string with a 0x prefix or as a Base64 encoded - string with a 0s prefix. - ''; - - id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' - Identity the NTLM secret belongs to. Multiple unique identities may be - specified, each having an id prefix, if a secret is shared between - multiple users. - ''; - } '' - NTLM secret section for a specific secret. Each NTLM secret is defined in - a unique section having the `ntlm` prefix. NTLM secrets - may only be used for EAP-MSCHAPv2 authentication. - ''; - - ike = mkPrefixedAttrsOfParams { - secret = mkOptionalStrParam '' - Value of the IKE preshared secret. It may either be an ASCII string, a - hex encoded string if it has a 0x prefix or a Base64 encoded string if - it has a 0s prefix in its value. - ''; - - id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' - IKE identity the IKE preshared secret belongs to. Multiple unique - identities may be specified, each having an `id` - prefix, if a secret is shared between multiple peers. - ''; - } '' - IKE preshared secret section for a specific secret. Each IKE PSK is - defined in a unique section having the `ike` prefix. - ''; - - ppk = mkPrefixedAttrsOfParams { - secret = mkOptionalStrParam '' - Value of the PPK. It may either be an ASCII string, a hex encoded string - if it has a `0x` prefix or a Base64 encoded string if - it has a `0s` prefix in its value. Should have at least - 256 bits of entropy for 128-bit security. - ''; - - id = mkPrefixedAttrsOfParam (mkOptionalStrParam "") '' - PPK identity the PPK belongs to. Multiple unique identities may be - specified, each having an `id` prefix, if a secret is - shared between multiple peers. - ''; - } '' - Postquantum Preshared Key (PPK) section for a specific secret. Each PPK is - defined in a unique section having the `ppk` prefix. - ''; - - private = mkPrefixedAttrsOfParams { - file = mkOptionalStrParam '' - File name in the private folder for which this passphrase should be used. - ''; - - secret = mkOptionalStrParam '' - Value of decryption passphrase for private key. - ''; - } '' - Private key decryption passphrase for a key in the - `private` folder. - ''; - - rsa = mkPrefixedAttrsOfParams { - file = mkOptionalStrParam '' - File name in the `rsa` folder for which this passphrase - should be used. - ''; - secret = mkOptionalStrParam '' - Value of decryption passphrase for RSA key. - ''; - } '' - Private key decryption passphrase for a key in the `rsa` - folder. - ''; - - ecdsa = mkPrefixedAttrsOfParams { - file = mkOptionalStrParam '' - File name in the `ecdsa` folder for which this - passphrase should be used. - ''; - secret = mkOptionalStrParam '' - Value of decryption passphrase for ECDSA key. - ''; - } '' - Private key decryption passphrase for a key in the - `ecdsa` folder. - ''; - - pkcs8 = mkPrefixedAttrsOfParams { - file = mkOptionalStrParam '' - File name in the `pkcs8` folder for which this - passphrase should be used. - ''; - secret = mkOptionalStrParam '' - Value of decryption passphrase for PKCS#8 key. - ''; - } '' - Private key decryption passphrase for a key in the - `pkcs8` folder. - ''; - - pkcs12 = mkPrefixedAttrsOfParams { - file = mkOptionalStrParam '' - File name in the `pkcs12` folder for which this - passphrase should be used. - ''; - secret = mkOptionalStrParam '' - Value of decryption passphrase for PKCS#12 container. - ''; - } '' - PKCS#12 decryption passphrase for a container in the - `pkcs12` folder. - ''; - - token = mkPrefixedAttrsOfParams { - handle = mkOptionalHexParam '' - Hex-encoded CKA_ID or handle of the private key on the token or TPM, - respectively. - ''; - - slot = mkOptionalIntParam '' - Optional slot number to access the token. - ''; - - module = mkOptionalStrParam '' - Optional PKCS#11 module name to access the token. - ''; - - pin = mkOptionalStrParam '' - Optional PIN required to access the key on the token. If none is - provided the user is prompted during an interactive - `--load-creds` call. - ''; - } "Definition for a private key that's stored on a token/smartcard/TPM."; - - }; - - pools = mkAttrsOfParams { - addrs = mkOptionalStrParam '' - Subnet or range defining addresses allocated in pool. Accepts a single - CIDR subnet defining the pool to allocate addresses from or an address - range (\-\). Pools must be unique and non-overlapping. - ''; - - dns = mkCommaSepListParam [] "Address or CIDR subnets"; - nbns = mkCommaSepListParam [] "Address or CIDR subnets"; - dhcp = mkCommaSepListParam [] "Address or CIDR subnets"; - netmask = mkCommaSepListParam [] "Address or CIDR subnets"; - server = mkCommaSepListParam [] "Address or CIDR subnets"; - subnet = mkCommaSepListParam [] "Address or CIDR subnets"; - split_include = mkCommaSepListParam [] "Address or CIDR subnets"; - split_exclude = mkCommaSepListParam [] "Address or CIDR subnets"; - } '' - Section defining named pools. Named pools may be referenced by connections - with the pools option to assign virtual IPs and other configuration - attributes. Each pool must have a unique name (denoted \ below). - ''; } diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix index 1cb9f4e1fc5aa..5144a0c4e0341 100644 --- a/nixos/modules/services/networking/strongswan.nix +++ b/nixos/modules/services/networking/strongswan.nix @@ -1,27 +1,48 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (builtins) toFile; - inherit (lib) concatMapStrings concatStringsSep mapAttrsToList - mkIf mkEnableOption mkOption types literalExpression optionalString; + inherit (lib) + concatMapStrings + concatStringsSep + mapAttrsToList + mkIf + mkEnableOption + mkOption + types + literalExpression + optionalString + ; cfg = config.services.strongswan; ipsecSecrets = secrets: concatMapStrings (f: "include ${f}\n") secrets; - ipsecConf = {setup, connections, ca}: + ipsecConf = + { + setup, + connections, + ca, + }: let # https://wiki.strongswan.org/projects/strongswan/wiki/IpsecConf - makeSections = type: sections: concatStringsSep "\n\n" ( - mapAttrsToList (sec: attrs: - "${type} ${sec}\n" + - (concatStringsSep "\n" ( mapAttrsToList (k: v: " ${k}=${v}") attrs )) - ) sections - ); - setupConf = makeSections "config" { inherit setup; }; + makeSections = + type: sections: + concatStringsSep "\n\n" ( + mapAttrsToList ( + sec: attrs: + "${type} ${sec}\n" + (concatStringsSep "\n" (mapAttrsToList (k: v: " ${k}=${v}") attrs)) + ) sections + ); + setupConf = makeSections "config" { inherit setup; }; connectionsConf = makeSections "conn" connections; - caConf = makeSections "ca" ca; + caConf = makeSections "ca" ca; in builtins.toFile "ipsec.conf" '' @@ -30,21 +51,30 @@ let ${caConf} ''; - strongswanConf = {setup, connections, ca, secretsFile, managePlugins, enabledPlugins}: toFile "strongswan.conf" '' - charon { - ${optionalString managePlugins "load_modular = no"} - ${optionalString managePlugins ("load = " + (concatStringsSep " " enabledPlugins))} - plugins { - stroke { - secrets_file = ${secretsFile} + strongswanConf = + { + setup, + connections, + ca, + secretsFile, + managePlugins, + enabledPlugins, + }: + toFile "strongswan.conf" '' + charon { + ${optionalString managePlugins "load_modular = no"} + ${optionalString managePlugins ("load = " + (concatStringsSep " " enabledPlugins))} + plugins { + stroke { + secrets_file = ${secretsFile} + } } } - } - starter { - config_file = ${ipsecConf { inherit setup connections ca; }} - } - ''; + starter { + config_file = ${ipsecConf { inherit setup connections ca; }} + } + ''; in { @@ -53,7 +83,7 @@ in secrets = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "/run/keys/ipsec-foo.secret" ]; description = '' A list of paths to IPSec secret files. These @@ -65,8 +95,11 @@ in setup = mkOption { type = types.attrsOf types.str; - default = {}; - example = { cachecrls = "yes"; strictcrlpolicy = "yes"; }; + default = { }; + example = { + cachecrls = "yes"; + strictcrlpolicy = "yes"; + }; description = '' A set of options for the ‘config setup’ section of the {file}`ipsec.conf` file. Defines general @@ -76,7 +109,7 @@ in connections = mkOption { type = types.attrsOf (types.attrsOf types.str); - default = {}; + default = { }; example = literalExpression '' { "%default" = { @@ -100,10 +133,10 @@ in ca = mkOption { type = types.attrsOf (types.attrsOf types.str); - default = {}; + default = { }; example = { strongswan = { - auto = "add"; + auto = "add"; cacert = "/run/keys/strongswanCert.pem"; crluri = "http://crl2.strongswan.org/strongswan.crl"; }; @@ -127,7 +160,7 @@ in enabledPlugins = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' A list of additional plugins to enable if {option}`managePlugins` is true. @@ -135,34 +168,44 @@ in }; }; - - config = with cfg; mkIf enable - { - - # here we should use the default strongswan ipsec.secrets and - # append to it (default one is empty so not a pb for now) - environment.etc."ipsec.secrets".text = ipsecSecrets cfg.secrets; - - systemd.services.strongswan = { - description = "strongSwan IPSec Service"; - wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ kmod iproute2 iptables util-linux ]; # XXX Linux - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - environment = { - STRONGSWAN_CONF = strongswanConf { - inherit setup connections ca managePlugins enabledPlugins; - secretsFile = "/etc/ipsec.secrets"; + config = + with cfg; + mkIf enable { + + # here we should use the default strongswan ipsec.secrets and + # append to it (default one is empty so not a pb for now) + environment.etc."ipsec.secrets".text = ipsecSecrets cfg.secrets; + + systemd.services.strongswan = { + description = "strongSwan IPSec Service"; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ + kmod + iproute2 + iptables + util-linux + ]; # XXX Linux + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + environment = { + STRONGSWAN_CONF = strongswanConf { + inherit + setup + connections + ca + managePlugins + enabledPlugins + ; + secretsFile = "/etc/ipsec.secrets"; + }; }; + serviceConfig = { + ExecStart = "${pkgs.strongswan}/sbin/ipsec start --nofork"; + }; + preStart = '' + # with 'nopeerdns' setting, ppp writes into this folder + mkdir -m 700 -p /etc/ppp + ''; }; - serviceConfig = { - ExecStart = "${pkgs.strongswan}/sbin/ipsec start --nofork"; - }; - preStart = '' - # with 'nopeerdns' setting, ppp writes into this folder - mkdir -m 700 -p /etc/ppp - ''; }; - }; } - diff --git a/nixos/modules/services/networking/stunnel.nix b/nixos/modules/services/networking/stunnel.nix index da308dde8b26e..ddc50a04789a7 100644 --- a/nixos/modules/services/networking/stunnel.nix +++ b/nixos/modules/services/networking/stunnel.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.stunnel; @@ -6,21 +11,27 @@ let verifyRequiredField = type: field: n: c: { assertion = lib.hasAttr field c; - message = "stunnel: \"${n}\" ${type} configuration - Field ${field} is required."; + message = "stunnel: \"${n}\" ${type} configuration - Field ${field} is required."; }; verifyChainPathAssert = n: c: { assertion = (c.verifyHostname or null) == null || (c.verifyChain || c.verifyPeer); - message = "stunnel: \"${n}\" client configuration - hostname verification " + - "is not possible without either verifyChain or verifyPeer enabled"; + message = + "stunnel: \"${n}\" client configuration - hostname verification " + + "is not possible without either verifyChain or verifyPeer enabled"; }; removeNulls = lib.mapAttrs (_: lib.filterAttrs (_: v: v != null)); - mkValueString = v: - if v == true then "yes" - else if v == false then "no" - else lib.generators.mkValueStringDefault {} v; - generateConfig = c: + mkValueString = + v: + if v == true then + "yes" + else if v == false then + "no" + else + lib.generators.mkValueStringDefault { } v; + generateConfig = + c: lib.generators.toINI { mkSectionName = lib.id; mkKeyValue = k: v: "${k} = ${mkValueString v}"; @@ -55,7 +66,16 @@ in }; logLevel = lib.mkOption { - type = lib.types.enum [ "emerg" "alert" "crit" "err" "warning" "notice" "info" "debug" ]; + type = lib.types.enum [ + "emerg" + "alert" + "crit" + "err" + "warning" + "notice" + "info" + "debug" + ]; default = "info"; description = "Verbosity of stunnel output."; }; @@ -72,14 +92,23 @@ in description = "Enable support for the insecure SSLv3 protocol."; }; - servers = lib.mkOption { description = '' Define the server configurations. See "SERVICE-LEVEL OPTIONS" in {manpage}`stunnel(8)`. ''; - type = with lib.types; attrsOf (attrsOf (nullOr (oneOf [bool int str]))); + type = + with lib.types; + attrsOf ( + attrsOf ( + nullOr (oneOf [ + bool + int + str + ]) + ) + ); example = { fancyWebserver = { accept = 443; @@ -98,24 +127,40 @@ in See "SERVICE-LEVEL OPTIONS" in {manpage}`stunnel(8)`. ''; - type = with lib.types; attrsOf (attrsOf (nullOr (oneOf [bool int str]))); - - apply = let - applyDefaults = c: - { - CAFile = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - OCSPaia = true; - verifyChain = true; - } // c; - setCheckHostFromVerifyHostname = c: - # To preserve backward-compatibility with the old NixOS stunnel module - # definition, allow "verifyHostname" as an alias for "checkHost". - c // { - checkHost = c.checkHost or c.verifyHostname or null; - verifyHostname = null; # Not a real stunnel configuration setting - }; - forceClient = c: c // { client = true; }; - in lib.mapAttrs (_: c: forceClient (setCheckHostFromVerifyHostname (applyDefaults c))); + type = + with lib.types; + attrsOf ( + attrsOf ( + nullOr (oneOf [ + bool + int + str + ]) + ) + ); + + apply = + let + applyDefaults = + c: + { + CAFile = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + OCSPaia = true; + verifyChain = true; + } + // c; + setCheckHostFromVerifyHostname = + c: + # To preserve backward-compatibility with the old NixOS stunnel module + # definition, allow "verifyHostname" as an alias for "checkHost". + c + // { + checkHost = c.checkHost or c.verifyHostname or null; + verifyHostname = null; # Not a real stunnel configuration setting + }; + forceClient = c: c // { client = true; }; + in + lib.mapAttrs (_: c: forceClient (setCheckHostFromVerifyHostname (applyDefaults c))); example = { foobar = { @@ -129,14 +174,14 @@ in }; }; - ###### implementation config = lib.mkIf cfg.enable { assertions = lib.concatLists [ (lib.singleton { - assertion = (lib.length (lib.attrValues cfg.servers) != 0) || ((lib.length (lib.attrValues cfg.clients)) != 0); + assertion = + (lib.length (lib.attrValues cfg.servers) != 0) || ((lib.length (lib.attrValues cfg.clients)) != 0); message = "stunnel: At least one server- or client-configuration has to be present."; }) @@ -151,19 +196,19 @@ in environment.systemPackages = [ pkgs.stunnel ]; environment.etc."stunnel.cfg".text = '' - ${ lib.optionalString (cfg.user != null) "setuid = ${cfg.user}" } - ${ lib.optionalString (cfg.group != null) "setgid = ${cfg.group}" } + ${lib.optionalString (cfg.user != null) "setuid = ${cfg.user}"} + ${lib.optionalString (cfg.group != null) "setgid = ${cfg.group}"} debug = ${cfg.logLevel} - ${ lib.optionalString cfg.fipsMode "fips = yes" } - ${ lib.optionalString cfg.enableInsecureSSLv3 "options = -NO_SSLv3" } + ${lib.optionalString cfg.fipsMode "fips = yes"} + ${lib.optionalString cfg.enableInsecureSSLv3 "options = -NO_SSLv3"} ; ----- SERVER CONFIGURATIONS ----- - ${ generateConfig cfg.servers } + ${generateConfig cfg.servers} ; ----- CLIENT CONFIGURATIONS ----- - ${ generateConfig cfg.clients } + ${generateConfig cfg.clients} ''; systemd.services.stunnel = { diff --git a/nixos/modules/services/networking/sunshine.nix b/nixos/modules/services/networking/sunshine.nix index ec78db1f3f8e9..eaa769246add0 100644 --- a/nixos/modules/services/networking/sunshine.nix +++ b/nixos/modules/services/networking/sunshine.nix @@ -1,6 +1,22 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkOption literalExpression mkIf mkDefault types optionals getExe; + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + literalExpression + mkIf + mkDefault + types + optionals + getExe + ; inherit (utils) escapeSystemdExecArgs; cfg = config.services.sunshine; @@ -116,8 +132,19 @@ in ]; networking.firewall = mkIf cfg.openFirewall { - allowedTCPPorts = generatePorts cfg.settings.port [ (-5) 0 1 21 ]; - allowedUDPPorts = generatePorts cfg.settings.port [ 9 10 11 13 21 ]; + allowedTCPPorts = generatePorts cfg.settings.port [ + (-5) + 0 + 1 + 21 + ]; + allowedUDPPorts = generatePorts cfg.settings.port [ + 9 + 10 + 11 + 13 + 21 + ]; }; boot.kernelModules = [ "uinput" ]; @@ -152,9 +179,15 @@ in serviceConfig = { # only add configFile if an application or a setting other than the default port is set to allow configuration from web UI - ExecStart = escapeSystemdExecArgs ([ - (if cfg.capSysAdmin then "${config.security.wrapperDir}/sunshine" else "${getExe cfg.package}") - ] ++ optionals (cfg.applications.apps != [ ] || (builtins.length (builtins.attrNames cfg.settings) > 1 || cfg.settings.port != defaultPort)) [ "${configFile}" ]); + ExecStart = escapeSystemdExecArgs ( + [ + (if cfg.capSysAdmin then "${config.security.wrapperDir}/sunshine" else "${getExe cfg.package}") + ] + ++ optionals ( + cfg.applications.apps != [ ] + || (builtins.length (builtins.attrNames cfg.settings) > 1 || cfg.settings.port != defaultPort) + ) [ "${configFile}" ] + ); Restart = "on-failure"; RestartSec = "5s"; }; diff --git a/nixos/modules/services/networking/tailscale-auth.nix b/nixos/modules/services/networking/tailscale-auth.nix index f21d1f108911c..32ddbdfd155d2 100644 --- a/nixos/modules/services/networking/tailscale-auth.nix +++ b/nixos/modules/services/networking/tailscale-auth.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -16,7 +21,7 @@ in options.services.tailscaleAuth = { enable = mkEnableOption "tailscale.nginx-auth, to authenticate users via tailscale"; - package = mkPackageOption pkgs "tailscale-nginx-auth" {}; + package = mkPackageOption pkgs "tailscale-nginx-auth" { }; user = mkOption { type = types.str; @@ -94,11 +99,20 @@ in SystemCallErrorNumber = "EPERM"; SystemCallFilter = [ "@system-service" - "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid" + "~@cpu-emulation" + "~@debug" + "~@keyring" + "~@memlock" + "~@obsolete" + "~@privileged" + "~@setuid" ]; }; }; }; - meta.maintainers = with maintainers; [ dan-theriault phaer ]; + meta.maintainers = with maintainers; [ + dan-theriault + phaer + ]; } diff --git a/nixos/modules/services/networking/tetrd.nix b/nixos/modules/services/networking/tetrd.nix index 0801ce1292464..a182cc347306c 100644 --- a/nixos/modules/services/networking/tetrd.nix +++ b/nixos/modules/services/networking/tetrd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options.services.tetrd.enable = lib.mkEnableOption "tetrd"; @@ -41,7 +46,12 @@ ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/networking/twingate.nix b/nixos/modules/services/networking/twingate.nix index 94339d8c217ad..4e9edf6bb23db 100644 --- a/nixos/modules/services/networking/twingate.nix +++ b/nixos/modules/services/networking/twingate.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.twingate; diff --git a/nixos/modules/services/networking/v2raya.nix b/nixos/modules/services/networking/v2raya.nix index 556258a2a0502..a1b574870218c 100644 --- a/nixos/modules/services/networking/v2raya.nix +++ b/nixos/modules/services/networking/v2raya.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -52,10 +57,16 @@ in }; wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ iptables bash iproute2 ] ++ lib.optionals nftablesEnabled [ nftables ]; # required by v2rayA TProxy functionality + path = + with pkgs; + [ + iptables + bash + iproute2 + ] + ++ lib.optionals nftablesEnabled [ nftables ]; # required by v2rayA TProxy functionality }; }; meta.maintainers = with maintainers; [ elliot ]; } - diff --git a/nixos/modules/services/networking/vdirsyncer.nix b/nixos/modules/services/networking/vdirsyncer.nix index 10a101befa7bd..692ce12c7a6c0 100644 --- a/nixos/modules/services/networking/vdirsyncer.nix +++ b/nixos/modules/services/networking/vdirsyncer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,44 +11,48 @@ let cfg = config.services.vdirsyncer; - toIniJson = with generators; toINI { - mkKeyValue = mkKeyValueDefault { - mkValueString = builtins.toJSON; - } "="; - }; + toIniJson = + with generators; + toINI { + mkKeyValue = mkKeyValueDefault { + mkValueString = builtins.toJSON; + } "="; + }; - toConfigFile = name: cfg': - if - cfg'.configFile != null - then + toConfigFile = + name: cfg': + if cfg'.configFile != null then cfg'.configFile else - pkgs.writeText "vdirsyncer-${name}.conf" (toIniJson ( - { - general = cfg'.config.general // { - status_path = if cfg'.config.statusPath == null - then "/var/lib/vdirsyncer/${name}" - else cfg'.config.statusPath; - }; - } // ( - mapAttrs' (name: nameValuePair "pair ${name}") cfg'.config.pairs - ) // ( - mapAttrs' (name: nameValuePair "storage ${name}") cfg'.config.storages + pkgs.writeText "vdirsyncer-${name}.conf" ( + toIniJson ( + { + general = cfg'.config.general // { + status_path = + if cfg'.config.statusPath == null then "/var/lib/vdirsyncer/${name}" else cfg'.config.statusPath; + }; + } + // (mapAttrs' (name: nameValuePair "pair ${name}") cfg'.config.pairs) + // (mapAttrs' (name: nameValuePair "storage ${name}") cfg'.config.storages) ) - )); + ); userUnitConfig = name: cfg': { - serviceConfig = { - User = if cfg'.user == null then "vdirsyncer" else cfg'.user; - Group = if cfg'.group == null then "vdirsyncer" else cfg'.group; - } // (optionalAttrs (cfg'.user == null) { - DynamicUser = true; - }) // (optionalAttrs (cfg'.additionalGroups != []) { - SupplementaryGroups = cfg'.additionalGroups; - }) // (optionalAttrs (cfg'.config.statusPath == null) { - StateDirectory = "vdirsyncer/${name}"; - StateDirectoryMode = "0700"; - }); + serviceConfig = + { + User = if cfg'.user == null then "vdirsyncer" else cfg'.user; + Group = if cfg'.group == null then "vdirsyncer" else cfg'.group; + } + // (optionalAttrs (cfg'.user == null) { + DynamicUser = true; + }) + // (optionalAttrs (cfg'.additionalGroups != [ ]) { + SupplementaryGroups = cfg'.additionalGroups; + }) + // (optionalAttrs (cfg'.config.statusPath == null) { + StateDirectory = "vdirsyncer/${name}"; + StateDirectoryMode = "0700"; + }); }; commonUnitConfig = { @@ -73,144 +82,153 @@ in services.vdirsyncer = { enable = mkEnableOption "vdirsyncer"; - package = mkPackageOption pkgs "vdirsyncer" {}; + package = mkPackageOption pkgs "vdirsyncer" { }; jobs = mkOption { description = "vdirsyncer job configurations"; - type = types.attrsOf (types.submodule { - options = { - enable = (mkEnableOption "this vdirsyncer job") // { - default = true; - example = false; - }; - - user = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - User account to run vdirsyncer as, otherwise as a systemd - dynamic user - ''; - }; - - group = mkOption { - type = types.nullOr types.str; - default = null; - description = "group to run vdirsyncer as"; - }; - - additionalGroups = mkOption { - type = types.listOf types.str; - default = []; - description = "additional groups to add the dynamic user to"; - }; - - forceDiscover = mkOption { - type = types.bool; - default = false; - description = '' - Run `yes | vdirsyncer discover` prior to `vdirsyncer sync` - ''; - }; - - timerConfig = mkOption { - type = types.attrs; - default = { - OnBootSec = "1h"; - OnUnitActiveSec = "6h"; + type = types.attrsOf ( + types.submodule { + options = { + enable = (mkEnableOption "this vdirsyncer job") // { + default = true; + example = false; }; - description = "systemd timer configuration"; - }; - configFile = mkOption { - type = types.nullOr types.path; - default = null; - description = "existing configuration file"; - }; + user = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + User account to run vdirsyncer as, otherwise as a systemd + dynamic user + ''; + }; - config = { - statusPath = mkOption { + group = mkOption { type = types.nullOr types.str; default = null; - defaultText = literalExpression "/var/lib/vdirsyncer/\${attrName}"; - description = "vdirsyncer's status path"; + description = "group to run vdirsyncer as"; }; - general = mkOption { - type = types.attrs; - default = {}; - description = "general configuration"; + additionalGroups = mkOption { + type = types.listOf types.str; + default = [ ]; + description = "additional groups to add the dynamic user to"; }; - pairs = mkOption { - type = types.attrsOf types.attrs; - default = {}; - description = "vdirsyncer pair configurations"; - example = literalExpression '' - { - my_contacts = { - a = "my_cloud_contacts"; - b = "my_local_contacts"; - collections = [ "from a" ]; - conflict_resolution = "a wins"; - metadata = [ "color" "displayname" ]; - }; - }; + forceDiscover = mkOption { + type = types.bool; + default = false; + description = '' + Run `yes | vdirsyncer discover` prior to `vdirsyncer sync` ''; }; - storages = mkOption { - type = types.attrsOf types.attrs; - default = {}; - description = "vdirsyncer storage configurations"; - example = literalExpression '' - { - my_cloud_contacts = { - type = "carddav"; - url = "https://dav.example.com/"; - read_only = true; - username = "user"; - "password.fetch" = [ "command" "cat" "/etc/vdirsyncer/cloud.passwd" ]; - }; - my_local_contacts = { - type = "carddav"; - url = "https://localhost/"; - username = "user"; - "password.fetch" = [ "command" "cat" "/etc/vdirsyncer/local.passwd" ]; + timerConfig = mkOption { + type = types.attrs; + default = { + OnBootSec = "1h"; + OnUnitActiveSec = "6h"; + }; + description = "systemd timer configuration"; + }; + + configFile = mkOption { + type = types.nullOr types.path; + default = null; + description = "existing configuration file"; + }; + + config = { + statusPath = mkOption { + type = types.nullOr types.str; + default = null; + defaultText = literalExpression "/var/lib/vdirsyncer/\${attrName}"; + description = "vdirsyncer's status path"; + }; + + general = mkOption { + type = types.attrs; + default = { }; + description = "general configuration"; + }; + + pairs = mkOption { + type = types.attrsOf types.attrs; + default = { }; + description = "vdirsyncer pair configurations"; + example = literalExpression '' + { + my_contacts = { + a = "my_cloud_contacts"; + b = "my_local_contacts"; + collections = [ "from a" ]; + conflict_resolution = "a wins"; + metadata = [ "color" "displayname" ]; + }; }; - } - ''; + ''; + }; + + storages = mkOption { + type = types.attrsOf types.attrs; + default = { }; + description = "vdirsyncer storage configurations"; + example = literalExpression '' + { + my_cloud_contacts = { + type = "carddav"; + url = "https://dav.example.com/"; + read_only = true; + username = "user"; + "password.fetch" = [ "command" "cat" "/etc/vdirsyncer/cloud.passwd" ]; + }; + my_local_contacts = { + type = "carddav"; + url = "https://localhost/"; + username = "user"; + "password.fetch" = [ "command" "cat" "/etc/vdirsyncer/local.passwd" ]; + }; + } + ''; + }; }; }; - }; - }); + } + ); }; }; }; config = mkIf cfg.enable { - systemd.services = mapAttrs' (name: cfg': nameValuePair "vdirsyncer@${name}" ( - foldr recursiveUpdate {} [ - commonUnitConfig - (userUnitConfig name cfg') - { - description = "synchronize calendars and contacts (${name})"; - environment.VDIRSYNCER_CONFIG = toConfigFile name cfg'; - serviceConfig.ExecStart = - (optional cfg'.forceDiscover ( - pkgs.writeShellScript "vdirsyncer-discover-yes" '' - set -e - yes | ${cfg.package}/bin/vdirsyncer discover - '' - )) ++ [ "${cfg.package}/bin/vdirsyncer sync" ]; - } - ] - )) (filterAttrs (name: cfg': cfg'.enable) cfg.jobs); - - systemd.timers = mapAttrs' (name: cfg': nameValuePair "vdirsyncer@${name}" { - wantedBy = [ "timers.target" ]; - description = "synchronize calendars and contacts (${name})"; - inherit (cfg') timerConfig; - }) cfg.jobs; + systemd.services = mapAttrs' ( + name: cfg': + nameValuePair "vdirsyncer@${name}" ( + foldr recursiveUpdate { } [ + commonUnitConfig + (userUnitConfig name cfg') + { + description = "synchronize calendars and contacts (${name})"; + environment.VDIRSYNCER_CONFIG = toConfigFile name cfg'; + serviceConfig.ExecStart = + (optional cfg'.forceDiscover ( + pkgs.writeShellScript "vdirsyncer-discover-yes" '' + set -e + yes | ${cfg.package}/bin/vdirsyncer discover + '' + )) + ++ [ "${cfg.package}/bin/vdirsyncer sync" ]; + } + ] + ) + ) (filterAttrs (name: cfg': cfg'.enable) cfg.jobs); + + systemd.timers = mapAttrs' ( + name: cfg': + nameValuePair "vdirsyncer@${name}" { + wantedBy = [ "timers.target" ]; + description = "synchronize calendars and contacts (${name})"; + inherit (cfg') timerConfig; + } + ) cfg.jobs; }; } diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 07b93e92a7509..e6ef14b2e3e40 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -1,19 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let - /* minimal secure setup: - - enable = true; - forceLocalLoginsSSL = true; - forceLocalDataSSL = true; - userlistDeny = false; - localUsers = true; - userlist = ["non-root-user" "other-non-root-user"]; - rsaCertFile = "/var/vsftpd/vsftpd.pem"; + /* + minimal secure setup: + enable = true; + forceLocalLoginsSSL = true; + forceLocalDataSSL = true; + userlistDeny = false; + localUsers = true; + userlist = ["non-root-user" "other-non-root-user"]; + rsaCertFile = "/var/vsftpd/vsftpd.pem"; */ cfg = config.services.vsftpd; @@ -86,7 +91,7 @@ let outgoing data connections can only connect to the client. Only enable if you know what you are doing! '') - (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true '' + (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true '' Only applies if {option}`ssl_enable` is activated. If enabled, this option will permit TLS v1 protocol connections. TLS v1 connections are preferred. @@ -103,42 +108,41 @@ let '') ]; - configFile = pkgs.writeText "vsftpd.conf" - '' - ${concatMapStrings (x: "${x.cfgText}\n") optionDescription} - ${optionalString (cfg.rsaCertFile != null) '' - ssl_enable=YES - rsa_cert_file=${cfg.rsaCertFile} - ''} - ${optionalString (cfg.rsaKeyFile != null) '' - rsa_private_key_file=${cfg.rsaKeyFile} - ''} - ${optionalString (cfg.userlistFile != null) '' - userlist_file=${cfg.userlistFile} - ''} - background=YES - listen=NO - listen_ipv6=YES - nopriv_user=vsftpd - secure_chroot_dir=/var/empty - ${optionalString (cfg.localRoot != null) '' - local_root=${cfg.localRoot} - ''} - syslog_enable=YES - ${optionalString (pkgs.stdenv.hostPlatform.system == "x86_64-linux") '' - seccomp_sandbox=NO - ''} - anon_umask=${cfg.anonymousUmask} - ${optionalString cfg.anonymousUser '' - anon_root=${cfg.anonymousUserHome} - ''} - ${optionalString cfg.enableVirtualUsers '' - guest_enable=YES - guest_username=vsftpd - ''} - pam_service_name=vsftpd - ${cfg.extraConfig} - ''; + configFile = pkgs.writeText "vsftpd.conf" '' + ${concatMapStrings (x: "${x.cfgText}\n") optionDescription} + ${optionalString (cfg.rsaCertFile != null) '' + ssl_enable=YES + rsa_cert_file=${cfg.rsaCertFile} + ''} + ${optionalString (cfg.rsaKeyFile != null) '' + rsa_private_key_file=${cfg.rsaKeyFile} + ''} + ${optionalString (cfg.userlistFile != null) '' + userlist_file=${cfg.userlistFile} + ''} + background=YES + listen=NO + listen_ipv6=YES + nopriv_user=vsftpd + secure_chroot_dir=/var/empty + ${optionalString (cfg.localRoot != null) '' + local_root=${cfg.localRoot} + ''} + syslog_enable=YES + ${optionalString (pkgs.stdenv.hostPlatform.system == "x86_64-linux") '' + seccomp_sandbox=NO + ''} + anon_umask=${cfg.anonymousUmask} + ${optionalString cfg.anonymousUser '' + anon_root=${cfg.anonymousUserHome} + ''} + ${optionalString cfg.enableVirtualUsers '' + guest_enable=YES + guest_username=vsftpd + ''} + pam_service_name=vsftpd + ${cfg.extraConfig} + ''; in @@ -153,7 +157,7 @@ in enable = mkEnableOption "vsftpd"; userlist = mkOption { - default = []; + default = [ ]; type = types.listOf types.str; description = "See {option}`userlistFile`."; }; @@ -265,42 +269,48 @@ in }; - ###### implementation config = mkIf cfg.enable { assertions = [ - { assertion = - (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null) - && (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null); + { + assertion = + (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null) + && (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null); message = "vsftpd: If forceLocalLoginsSSL or forceLocalDataSSL is true then a rsaCertFile must be provided!"; } { - assertion = (cfg.enableVirtualUsers -> cfg.userDbPath != null) - && (cfg.enableVirtualUsers -> cfg.localUsers); + assertion = + (cfg.enableVirtualUsers -> cfg.userDbPath != null) && (cfg.enableVirtualUsers -> cfg.localUsers); message = "vsftpd: If enableVirtualUsers is true, you need to setup both the userDbPath and localUsers options."; - }]; - - users.users = { - "vsftpd" = { - group = "vsftpd"; - isSystemUser = true; - description = "VSFTPD user"; - home = if cfg.localRoot != null - then cfg.localRoot # <= Necessary for virtual users. - else "/homeless-shelter"; - }; - } // optionalAttrs cfg.anonymousUser { - "ftp" = { name = "ftp"; + } + ]; + + users.users = + { + "vsftpd" = { + group = "vsftpd"; + isSystemUser = true; + description = "VSFTPD user"; + home = + if cfg.localRoot != null then + cfg.localRoot # <= Necessary for virtual users. + else + "/homeless-shelter"; + }; + } + // optionalAttrs cfg.anonymousUser { + "ftp" = { + name = "ftp"; uid = config.ids.uids.ftp; group = "ftp"; description = "Anonymous FTP user"; home = cfg.anonymousUserHome; }; - }; + }; - users.groups.vsftpd = {}; + users.groups.vsftpd = { }; users.groups.ftp.gid = config.ids.gids.ftp; # If you really have to access root via FTP use mkOverride or userlistDeny @@ -308,9 +318,10 @@ in services.vsftpd.userlist = optional cfg.userlistDeny "root"; systemd = { - tmpfiles.rules = optional cfg.anonymousUser - #Type Path Mode User Gr Age Arg - "d '${builtins.toString cfg.anonymousUserHome}' 0555 'ftp' 'ftp' - -"; + tmpfiles.rules = + optional cfg.anonymousUser + #Type Path Mode User Gr Age Arg + "d '${builtins.toString cfg.anonymousUserHome}' 0555 'ftp' 'ftp' - -"; services.vsftpd = { description = "Vsftpd Server"; @@ -322,7 +333,7 @@ in }; }; - security.pam.services.vsftpd.text = mkIf (cfg.enableVirtualUsers && cfg.userDbPath != null)'' + security.pam.services.vsftpd.text = mkIf (cfg.enableVirtualUsers && cfg.userDbPath != null) '' auth required pam_userdb.so db=${cfg.userDbPath} account required pam_userdb.so db=${cfg.userDbPath} ''; diff --git a/nixos/modules/services/networking/wasabibackend.nix b/nixos/modules/services/networking/wasabibackend.nix index 89431ae9b4196..1c8c884fbe117 100644 --- a/nixos/modules/services/networking/wasabibackend.nix +++ b/nixos/modules/services/networking/wasabibackend.nix @@ -1,30 +1,49 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.wasabibackend; opt = options.services.wasabibackend; - inherit (lib) literalExpression mkEnableOption mkIf mkOption optionalAttrs optionalString types; - - confOptions = { + inherit (lib) + literalExpression + mkEnableOption + mkIf + mkOption + optionalAttrs + optionalString + types + ; + + confOptions = + { BitcoinRpcConnectionString = "${cfg.rpc.user}:${cfg.rpc.password}"; - } // optionalAttrs (cfg.network == "mainnet") { + } + // optionalAttrs (cfg.network == "mainnet") { Network = "Main"; MainNetBitcoinP2pEndPoint = "${cfg.endpoint.ip}:${toString cfg.endpoint.port}"; MainNetBitcoinCoreRpcEndPoint = "${cfg.rpc.ip}:${toString cfg.rpc.port}"; - } // optionalAttrs (cfg.network == "testnet") { + } + // optionalAttrs (cfg.network == "testnet") { Network = "TestNet"; TestNetBitcoinP2pEndPoint = "${cfg.endpoint.ip}:${toString cfg.endpoint.port}"; TestNetBitcoinCoreRpcEndPoint = "${cfg.rpc.ip}:${toString cfg.rpc.port}"; - } // optionalAttrs (cfg.network == "regtest") { + } + // optionalAttrs (cfg.network == "regtest") { Network = "RegTest"; RegTestBitcoinP2pEndPoint = "${cfg.endpoint.ip}:${toString cfg.endpoint.port}"; RegTestBitcoinCoreRpcEndPoint = "${cfg.rpc.ip}:${toString cfg.rpc.port}"; - }; + }; configFile = pkgs.writeText "wasabibackend.conf" (builtins.toJSON confOptions); -in { +in +{ options = { @@ -44,7 +63,11 @@ in { }; network = mkOption { - type = types.enum [ "mainnet" "testnet" "regtest" ]; + type = types.enum [ + "mainnet" + "testnet" + "regtest" + ]; default = "mainnet"; description = "The network to use for the Wasabi backend service."; }; @@ -127,16 +150,21 @@ in { }; preStart = '' mkdir -p ${cfg.dataDir}/.walletwasabi/backend - ${if cfg.customConfigFile != null then '' - cp -v ${cfg.customConfigFile} ${cfg.dataDir}/.walletwasabi/backend/Config.json - '' else '' - cp -v ${configFile} ${cfg.dataDir}/.walletwasabi/backend/Config.json - ${optionalString (cfg.rpc.passwordFile != null) '' - CONFIGTMP=$(mktemp) - cat ${cfg.dataDir}/.walletwasabi/backend/Config.json | ${pkgs.jq}/bin/jq --arg rpconnection "${cfg.rpc.user}:$(cat "${cfg.rpc.passwordFile}")" '. + { BitcoinRpcConnectionString: $rpconnection }' > $CONFIGTMP - mv $CONFIGTMP ${cfg.dataDir}/.walletwasabi/backend/Config.json - ''} - ''} + ${ + if cfg.customConfigFile != null then + '' + cp -v ${cfg.customConfigFile} ${cfg.dataDir}/.walletwasabi/backend/Config.json + '' + else + '' + cp -v ${configFile} ${cfg.dataDir}/.walletwasabi/backend/Config.json + ${optionalString (cfg.rpc.passwordFile != null) '' + CONFIGTMP=$(mktemp) + cat ${cfg.dataDir}/.walletwasabi/backend/Config.json | ${pkgs.jq}/bin/jq --arg rpconnection "${cfg.rpc.user}:$(cat "${cfg.rpc.passwordFile}")" '. + { BitcoinRpcConnectionString: $rpconnection }' > $CONFIGTMP + mv $CONFIGTMP ${cfg.dataDir}/.walletwasabi/backend/Config.json + ''} + '' + } chmod ug+w ${cfg.dataDir}/.walletwasabi/backend/Config.json ''; serviceConfig = { @@ -155,7 +183,7 @@ in { isSystemUser = true; }; - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; }; } diff --git a/nixos/modules/services/networking/webhook.nix b/nixos/modules/services/networking/webhook.nix index 3c24bd9849f41..7a7c8e1e70958 100644 --- a/nixos/modules/services/networking/webhook.nix +++ b/nixos/modules/services/networking/webhook.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,29 +11,36 @@ let cfg = config.services.webhook; defaultUser = "webhook"; - hookFormat = pkgs.formats.json {}; - - hookType = types.submodule ({ name, ... }: { - freeformType = hookFormat.type; - options = { - id = mkOption { - type = types.str; - default = name; - description = '' - The ID of your hook. This value is used to create the HTTP endpoint (`protocol://yourserver:port/prefix/''${id}`). - ''; - }; - execute-command = mkOption { - type = types.str; - description = "The command that should be executed when the hook is triggered."; + hookFormat = pkgs.formats.json { }; + + hookType = types.submodule ( + { name, ... }: + { + freeformType = hookFormat.type; + options = { + id = mkOption { + type = types.str; + default = name; + description = '' + The ID of your hook. This value is used to create the HTTP endpoint (`protocol://yourserver:port/prefix/''${id}`). + ''; + }; + execute-command = mkOption { + type = types.str; + description = "The command that should be executed when the hook is triggered."; + }; }; - }; - }); + } + ); - hookFiles = mapAttrsToList (name: hook: hookFormat.generate "webhook-${name}.json" [ hook ]) cfg.hooks - ++ mapAttrsToList (name: hook: pkgs.writeText "webhook-${name}.json.tmpl" "[${hook}]") cfg.hooksTemplated; + hookFiles = + mapAttrsToList (name: hook: hookFormat.generate "webhook-${name}.json" [ hook ]) cfg.hooks + ++ mapAttrsToList ( + name: hook: pkgs.writeText "webhook-${name}.json.tmpl" "[${hook}]" + ) cfg.hooksTemplated; -in { +in +{ options = { services.webhook = { enable = mkEnableOption '' @@ -36,7 +48,7 @@ in { which execute configured commands for any person or service that knows the URL ''; - package = mkPackageOption pkgs "webhook" {}; + package = mkPackageOption pkgs "webhook" { }; user = mkOption { type = types.str; default = defaultUser; @@ -79,7 +91,7 @@ in { }; enableTemplates = mkOption { type = types.bool; - default = cfg.hooksTemplated != {}; + default = cfg.hooksTemplated != { }; defaultText = literalExpression "hooksTemplated != {}"; description = '' Enable the generated hooks file to be parsed as a Go template. @@ -95,7 +107,7 @@ in { }; hooks = mkOption { type = types.attrsOf hookType; - default = {}; + default = { }; example = { echo = { execute-command = "echo"; @@ -118,7 +130,7 @@ in { }; hooksTemplated = mkOption { type = types.attrsOf types.str; - default = {}; + default = { }; example = { echo-template = '' { @@ -144,7 +156,7 @@ in { }; extraArgs = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "-secure" ]; description = '' These are arguments passed to the webhook command in the systemd service. @@ -155,37 +167,38 @@ in { }; environment = mkOption { type = types.attrsOf types.str; - default = {}; + default = { }; description = "Extra environment variables passed to webhook."; }; }; }; config = mkIf cfg.enable { - assertions = let - overlappingHooks = builtins.intersectAttrs cfg.hooks cfg.hooksTemplated; - in [ - { - assertion = hookFiles != []; - message = "At least one hook needs to be configured for webhook to run."; - } - { - assertion = overlappingHooks == {}; - message = "`services.webhook.hooks` and `services.webhook.hooksTemplated` have overlapping attribute(s): ${concatStringsSep ", " (builtins.attrNames overlappingHooks)}"; - } - ]; + assertions = + let + overlappingHooks = builtins.intersectAttrs cfg.hooks cfg.hooksTemplated; + in + [ + { + assertion = hookFiles != [ ]; + message = "At least one hook needs to be configured for webhook to run."; + } + { + assertion = overlappingHooks == { }; + message = "`services.webhook.hooks` and `services.webhook.hooksTemplated` have overlapping attribute(s): ${concatStringsSep ", " (builtins.attrNames overlappingHooks)}"; + } + ]; users.users = mkIf (cfg.user == defaultUser) { - ${defaultUser} = - { - isSystemUser = true; - group = cfg.group; - description = "Webhook daemon user"; - }; + ${defaultUser} = { + isSystemUser = true; + group = cfg.group; + description = "Webhook daemon user"; + }; }; users.groups = mkIf (cfg.user == defaultUser && cfg.group == defaultUser) { - ${defaultUser} = {}; + ${defaultUser} = { }; }; networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ]; @@ -195,15 +208,28 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; environment = config.networking.proxy.envVars // cfg.environment; - script = let - args = [ "-ip" cfg.ip "-port" (toString cfg.port) "-urlprefix" cfg.urlPrefix ] - ++ concatMap (hook: [ "-hooks" hook ]) hookFiles + script = + let + args = + [ + "-ip" + cfg.ip + "-port" + (toString cfg.port) + "-urlprefix" + cfg.urlPrefix + ] + ++ concatMap (hook: [ + "-hooks" + hook + ]) hookFiles ++ optional cfg.enableTemplates "-template" ++ optional cfg.verbose "-verbose" ++ cfg.extraArgs; - in '' - ${cfg.package}/bin/webhook ${escapeShellArgs args} - ''; + in + '' + ${cfg.package}/bin/webhook ${escapeShellArgs args} + ''; serviceConfig = { Restart = "on-failure"; User = cfg.user; diff --git a/nixos/modules/services/networking/websockify.nix b/nixos/modules/services/networking/websockify.nix index 41336000b0add..c9219fc17d516 100644 --- a/nixos/modules/services/networking/websockify.nix +++ b/nixos/modules/services/networking/websockify.nix @@ -1,8 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.networking.websockify; in { +let + cfg = config.services.networking.websockify; +in +{ options = { services.networking.websockify = { enable = mkOption { @@ -27,7 +35,7 @@ let cfg = config.services.networking.websockify; in { portMap = mkOption { description = "Ports to map by default."; - default = {}; + default = { }; type = types.attrsOf types.int; }; }; diff --git a/nixos/modules/services/networking/wg-access-server.nix b/nixos/modules/services/networking/wg-access-server.nix index cd05cd06154fa..a0777fd86e308 100644 --- a/nixos/modules/services/networking/wg-access-server.nix +++ b/nixos/modules/services/networking/wg-access-server.nix @@ -1,6 +1,16 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkOption types; + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + types + ; cfg = config.services.wg-access-server; @@ -60,20 +70,33 @@ in config = lib.mkIf cfg.enable { assertions = map - (attrPath: - { - assertion = !lib.hasAttrByPath attrPath config.services.wg-access-server.settings; - message = '' - {option}`services.wg-access-server.settings.${lib.concatStringsSep "." attrPath}` must definded - in {option}`services.wg-access-server.secretsFile`. - ''; - }) + (attrPath: { + assertion = !lib.hasAttrByPath attrPath config.services.wg-access-server.settings; + message = '' + {option}`services.wg-access-server.settings.${lib.concatStringsSep "." attrPath}` must definded + in {option}`services.wg-access-server.secretsFile`. + ''; + }) [ [ "adminPassword" ] - [ "wireguard" "privateKey" ] - [ "auth" "sessionStore" ] - [ "auth" "oidc" "clientSecret" ] - [ "auth" "gitlab" "clientSecret" ] + [ + "wireguard" + "privateKey" + ] + [ + "auth" + "sessionStore" + ] + [ + "auth" + "oidc" + "clientSecret" + ] + [ + "auth" + "gitlab" + "clientSecret" + ] ]; boot.kernel.sysctl = { diff --git a/nixos/modules/services/networking/wg-netmanager.nix b/nixos/modules/services/networking/wg-netmanager.nix index 493ff7ceba9f1..eb13d35ccccbd 100644 --- a/nixos/modules/services/networking/wg-netmanager.nix +++ b/nixos/modules/services/networking/wg-netmanager.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -20,7 +25,11 @@ in description = "Wireguard network manager"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - path = with pkgs; [ wireguard-tools iproute2 wireguard-go ]; + path = with pkgs; [ + wireguard-tools + iproute2 + wireguard-go + ]; serviceConfig = { Type = "simple"; Restart = "on-failure"; @@ -29,11 +38,14 @@ in ExecStop = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ReadWritePaths = [ - "/tmp" # wg-netmanager creates files in /tmp before deleting them after use + "/tmp" # wg-netmanager creates files in /tmp before deleting them after use ]; }; - unitConfig = { - ConditionPathExists = ["/etc/wg_netmanager/network.yaml" "/etc/wg_netmanager/peer.yaml"]; + unitConfig = { + ConditionPathExists = [ + "/etc/wg_netmanager/network.yaml" + "/etc/wg_netmanager/peer.yaml" + ]; }; }; }; diff --git a/nixos/modules/services/networking/wgautomesh.nix b/nixos/modules/services/networking/wgautomesh.nix index c66e3e376343e..4eb0d3ba418dd 100644 --- a/nixos/modules/services/networking/wgautomesh.nix +++ b/nixos/modules/services/networking/wgautomesh.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: with lib; let cfg = config.services.wgautomesh; @@ -6,24 +11,25 @@ let configFile = # Have to remove nulls manually as TOML generator will not just skip key # if value is null - settingsFormat.generate "wgautomesh-config.toml" - (filterAttrs (k: v: v != null) - (mapAttrs - (k: v: - if k == "peers" - then map (e: filterAttrs (k: v: v != null) e) v - else v) - cfg.settings)); + settingsFormat.generate "wgautomesh-config.toml" ( + filterAttrs (k: v: v != null) ( + mapAttrs (k: v: if k == "peers" then map (e: filterAttrs (k: v: v != null) e) v else v) cfg.settings + ) + ); runtimeConfigFile = - if cfg.enableGossipEncryption - then "/run/wgautomesh/wgautomesh.toml" - else configFile; + if cfg.enableGossipEncryption then "/run/wgautomesh/wgautomesh.toml" else configFile; in { options.services.wgautomesh = { enable = mkEnableOption "the wgautomesh daemon"; logLevel = mkOption { - type = types.enum [ "trace" "debug" "info" "warn" "error" ]; + type = types.enum [ + "trace" + "debug" + "info" + "warn" + "error" + ]; default = "info"; description = "wgautomesh log level."; }; @@ -87,31 +93,33 @@ in ''; }; peers = mkOption { - type = types.listOf (types.submodule { - options = { - pubkey = mkOption { - type = types.str; - description = "Wireguard public key of this peer."; - }; - address = mkOption { - type = types.str; - description = '' - Wireguard address of this peer (a single IP address, multiple - addresses or address ranges are not supported). - ''; - example = "10.0.0.42"; - }; - endpoint = mkOption { - type = types.nullOr types.str; - description = '' - Bootstrap endpoint for connecting to this Wireguard peer if no - other address is known or none are working. - ''; - default = null; - example = "wgnode.mydomain.example:51820"; + type = types.listOf ( + types.submodule { + options = { + pubkey = mkOption { + type = types.str; + description = "Wireguard public key of this peer."; + }; + address = mkOption { + type = types.str; + description = '' + Wireguard address of this peer (a single IP address, multiple + addresses or address ranges are not supported). + ''; + example = "10.0.0.42"; + }; + endpoint = mkOption { + type = types.nullOr types.str; + description = '' + Bootstrap endpoint for connecting to this Wireguard peer if no + other address is known or none are working. + ''; + default = null; + example = "wgnode.mydomain.example:51820"; + }; }; - }; - }); + } + ); default = [ ]; description = "wgautomesh peer list."; }; @@ -131,7 +139,9 @@ in systemd.services.wgautomesh = { path = [ pkgs.wireguard-tools ]; - environment = { RUST_LOG = "wgautomesh=${cfg.logLevel}"; }; + environment = { + RUST_LOG = "wgautomesh=${cfg.logLevel}"; + }; description = "wgautomesh"; serviceConfig = { Type = "simple"; @@ -142,9 +152,10 @@ in LoadCredential = mkIf cfg.enableGossipEncryption [ "gossip_secret:${cfg.gossipSecretFile}" ]; ExecStartPre = mkIf cfg.enableGossipEncryption [ - ''${pkgs.envsubst}/bin/envsubst \ - -i ${configFile} \ - -o ${runtimeConfigFile}'' + '' + ${pkgs.envsubst}/bin/envsubst \ + -i ${configFile} \ + -o ${runtimeConfigFile}'' ]; DynamicUser = true; @@ -156,8 +167,6 @@ in }; wantedBy = [ "multi-user.target" ]; }; - networking.firewall.allowedUDPPorts = - mkIf cfg.openFirewall [ cfg.settings.gossip_port ]; + networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ cfg.settings.gossip_port ]; }; } - diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index 4fec023a23684..536aebe4931c4 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -1,4 +1,11 @@ -{ config, lib, options, pkgs, utils, ... }: +{ + config, + lib, + options, + pkgs, + utils, + ... +}: with lib; @@ -6,93 +13,109 @@ let cfg = config.networking.wireless; opt = options.networking.wireless; - wpa3Protocols = [ "SAE" "FT-SAE" ]; - hasMixedWPA = opts: + wpa3Protocols = [ + "SAE" + "FT-SAE" + ]; + hasMixedWPA = + opts: let hasWPA3 = !mutuallyExclusive opts.authProtocols wpa3Protocols; others = subtractLists wpa3Protocols opts.authProtocols; - in hasWPA3 && others != []; + in + hasWPA3 && others != [ ]; # Gives a WPA3 network higher priority - increaseWPA3Priority = opts: - opts // optionalAttrs (hasMixedWPA opts) - { priority = if opts.priority == null - then 1 - else opts.priority + 1; - }; + increaseWPA3Priority = + opts: + opts + // optionalAttrs (hasMixedWPA opts) { + priority = if opts.priority == null then 1 else opts.priority + 1; + }; # Creates a WPA2 fallback network - mkWPA2Fallback = opts: - opts // { authProtocols = subtractLists wpa3Protocols opts.authProtocols; }; + mkWPA2Fallback = opts: opts // { authProtocols = subtractLists wpa3Protocols opts.authProtocols; }; # Networks attrset as a list - networkList = mapAttrsToList (ssid: opts: opts // { inherit ssid; }) - cfg.networks; + networkList = mapAttrsToList (ssid: opts: opts // { inherit ssid; }) cfg.networks; # List of all networks (normal + generated fallbacks) allNetworks = - if cfg.fallbackToWPA2 - then map increaseWPA3Priority networkList - ++ map mkWPA2Fallback (filter hasMixedWPA networkList) - else networkList; + if cfg.fallbackToWPA2 then + map increaseWPA3Priority networkList ++ map mkWPA2Fallback (filter hasMixedWPA networkList) + else + networkList; # Content of wpa_supplicant.conf generatedConfig = concatStringsSep "\n" ( (map mkNetwork allNetworks) - ++ optional cfg.userControlled.enable (concatStringsSep "\n" - [ "ctrl_interface=/run/wpa_supplicant" + ++ optional cfg.userControlled.enable ( + concatStringsSep "\n" [ + "ctrl_interface=/run/wpa_supplicant" "ctrl_interface_group=${cfg.userControlled.group}" "update_config=1" - ]) + ] + ) ++ [ "pmf=1" ] - ++ optional (cfg.secretsFile != null) - "ext_password_backend=file:${cfg.secretsFile}" + ++ optional (cfg.secretsFile != null) "ext_password_backend=file:${cfg.secretsFile}" ++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"'' - ++ optional (cfg.extraConfig != "") cfg.extraConfig); + ++ optional (cfg.extraConfig != "") cfg.extraConfig + ); - configIsGenerated = with cfg; - networks != {} || extraConfig != "" || userControlled.enable; + configIsGenerated = with cfg; networks != { } || extraConfig != "" || userControlled.enable; # the original configuration file configFile = - if configIsGenerated - then pkgs.writeText "wpa_supplicant.conf" generatedConfig - else "/etc/wpa_supplicant.conf"; + if configIsGenerated then + pkgs.writeText "wpa_supplicant.conf" generatedConfig + else + "/etc/wpa_supplicant.conf"; # Creates a network block for wpa_supplicant.conf - mkNetwork = opts: - let - quote = x: ''"${x}"''; - indent = x: " " + x; - - pskString = if opts.psk != null - then quote opts.psk - else opts.pskRaw; - - options = [ - "ssid=${quote opts.ssid}" - (if pskString != null || opts.auth != null - then "key_mgmt=${concatStringsSep " " opts.authProtocols}" - else "key_mgmt=NONE") - ] ++ optional opts.hidden "scan_ssid=1" - ++ optional (pskString != null) "psk=${pskString}" - ++ optionals (opts.auth != null) (filter (x: x != "") (splitString "\n" opts.auth)) - ++ optional (opts.priority != null) "priority=${toString opts.priority}" - ++ optional (opts.extraConfig != "") opts.extraConfig; - in '' - network={ - ${concatMapStringsSep "\n" indent options} - } - ''; + mkNetwork = + opts: + let + quote = x: ''"${x}"''; + indent = x: " " + x; + + pskString = if opts.psk != null then quote opts.psk else opts.pskRaw; + + options = + [ + "ssid=${quote opts.ssid}" + ( + if pskString != null || opts.auth != null then + "key_mgmt=${concatStringsSep " " opts.authProtocols}" + else + "key_mgmt=NONE" + ) + ] + ++ optional opts.hidden "scan_ssid=1" + ++ optional (pskString != null) "psk=${pskString}" + ++ optionals (opts.auth != null) (filter (x: x != "") (splitString "\n" opts.auth)) + ++ optional (opts.priority != null) "priority=${toString opts.priority}" + ++ optional (opts.extraConfig != "") opts.extraConfig; + in + '' + network={ + ${concatMapStringsSep "\n" indent options} + } + ''; # Creates a systemd unit for wpa_supplicant bound to a given (or any) interface - mkUnit = iface: + mkUnit = + iface: let - deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device"; - configStr = if cfg.allowAuxiliaryImperativeNetworks - then "-c /etc/wpa_supplicant.conf -I ${configFile}" - else "-c ${configFile}"; - in { + deviceUnit = optional ( + iface != null + ) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device"; + configStr = + if cfg.allowAuxiliaryImperativeNetworks then + "-c /etc/wpa_supplicant.conf -I ${configFile}" + else + "-c ${configFile}"; + in + { description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}"; after = deviceUnit; @@ -110,8 +133,7 @@ let serviceConfig.RuntimeDirectory = "wpa_supplicant"; serviceConfig.RuntimeDirectoryMode = "700"; - script = - '' + script = '' ${optionalString (configIsGenerated && !cfg.allowAuxiliaryImperativeNetworks) '' if [ -f /etc/wpa_supplicant.conf ]; then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead." @@ -125,30 +147,35 @@ let iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}" - ${if iface == null then '' - # detect interfaces automatically - - # check if there are no wireless interfaces - if ! find -H /sys/class/net/* -name wireless | grep -q .; then - # if so, wait until one appears - echo "Waiting for wireless interfaces" - grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu) - # Note: the above line has been carefully written: - # 1. The process substitution avoids udevadm hanging (after grep has quit) - # until it tries to write to the pipe again. Not even pipefail works here. - # 2. stdbuf is needed because udevadm output is buffered by default and grep - # may hang until more udev events enter the pipe. - fi - - # add any interface found to the daemon arguments - for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do - echo "Adding interface $name" - args+="''${args:+ -N} -i$name $iface_args" - done - '' else '' - # add known interface to the daemon arguments - args="-i${iface} $iface_args" - ''} + ${ + if iface == null then + '' + # detect interfaces automatically + + # check if there are no wireless interfaces + if ! find -H /sys/class/net/* -name wireless | grep -q .; then + # if so, wait until one appears + echo "Waiting for wireless interfaces" + grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu) + # Note: the above line has been carefully written: + # 1. The process substitution avoids udevadm hanging (after grep has quit) + # until it tries to write to the pipe again. Not even pipefail works here. + # 2. stdbuf is needed because udevadm output is buffered by default and grep + # may hang until more udev events enter the pipe. + fi + + # add any interface found to the daemon arguments + for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do + echo "Adding interface $name" + args+="''${args:+ -N} -i$name $iface_args" + done + '' + else + '' + # add known interface to the daemon arguments + args="-i${iface} $iface_args" + '' + } # finally start daemon exec wpa_supplicant $args @@ -157,15 +184,19 @@ let systemctl = "/run/current-system/systemd/bin/systemctl"; -in { +in +{ options = { networking.wireless = { enable = mkEnableOption "wpa_supplicant"; interfaces = mkOption { type = types.listOf types.str; - default = []; - example = [ "wlan0" "wlan1" ]; + default = [ ]; + example = [ + "wlan0" + "wlan1" + ]; description = '' The interfaces {command}`wpa_supplicant` will use. If empty, it will automatically use all wireless interfaces. @@ -182,15 +213,17 @@ in { description = "Force a specific wpa_supplicant driver."; }; - allowAuxiliaryImperativeNetworks = mkEnableOption "support for imperative & declarative networks" // { - description = '' - Whether to allow configuring networks "imperatively" (e.g. via - `wpa_supplicant_gui`) and declaratively via - [](#opt-networking.wireless.networks). + allowAuxiliaryImperativeNetworks = + mkEnableOption "support for imperative & declarative networks" + // { + description = '' + Whether to allow configuring networks "imperatively" (e.g. via + `wpa_supplicant_gui`) and declaratively via + [](#opt-networking.wireless.networks). - Please note that this adds a custom patch to `wpa_supplicant`. - ''; - }; + Please note that this adds a custom patch to `wpa_supplicant`. + ''; + }; scanOnLowSignal = mkOption { type = types.bool; @@ -249,172 +282,179 @@ in { }; networks = mkOption { - type = types.attrsOf (types.submodule { - options = { - psk = mkOption { - type = types.nullOr (types.strMatching "[[:print:]]{8,63}"); - default = null; - description = '' - The network's pre-shared key in plaintext defaulting - to being a network without any authentication. - - ::: {.warning} - Be aware that this will be written to the Nix store - in plaintext! Use {var}`pskRaw` with an external - reference to keep it safe. - ::: - - ::: {.note} - Mutually exclusive with {var}`pskRaw`. - ::: - ''; - }; + type = types.attrsOf ( + types.submodule { + options = { + psk = mkOption { + type = types.nullOr (types.strMatching "[[:print:]]{8,63}"); + default = null; + description = '' + The network's pre-shared key in plaintext defaulting + to being a network without any authentication. + + ::: {.warning} + Be aware that this will be written to the Nix store + in plaintext! Use {var}`pskRaw` with an external + reference to keep it safe. + ::: + + ::: {.note} + Mutually exclusive with {var}`pskRaw`. + ::: + ''; + }; + + pskRaw = mkOption { + type = types.nullOr (types.strMatching "([[:xdigit:]]{64})|(ext:[^=]+)"); + default = null; + example = "ext:name_of_the_secret_here"; + description = '' + Either the raw pre-shared key in hexadecimal format + or the name of the secret (as defined inside + [](#opt-networking.wireless.secretsFile) and prefixed + with `ext:`) containing the network pre-shared key. + + ::: {.warning} + Be aware that this will be written to the Nix store + in plaintext! Always use an external reference. + ::: + + ::: {.note} + The external secret can be either the plaintext + passphrase or the raw pre-shared key. + ::: + + ::: {.note} + Mutually exclusive with {var}`psk` and {var}`auth`. + ::: + ''; + }; + + authProtocols = mkOption { + default = [ + # WPA2 and WPA3 + "WPA-PSK" + "WPA-EAP" + "SAE" + # 802.11r variants of the above + "FT-PSK" + "FT-EAP" + "FT-SAE" + ]; + # The list can be obtained by running this command + # awk ' + # /^# key_mgmt: /{ run=1 } + # /^#$/{ run=0 } + # /^# [A-Z0-9-]{2,}/{ if(run){printf("\"%s\"\n", $2)} } + # ' /run/current-system/sw/share/doc/wpa_supplicant/wpa_supplicant.conf.example + type = types.listOf ( + types.enum [ + "WPA-PSK" + "WPA-EAP" + "IEEE8021X" + "NONE" + "WPA-NONE" + "FT-PSK" + "FT-EAP" + "FT-EAP-SHA384" + "WPA-PSK-SHA256" + "WPA-EAP-SHA256" + "SAE" + "FT-SAE" + "WPA-EAP-SUITE-B" + "WPA-EAP-SUITE-B-192" + "OSEN" + "FILS-SHA256" + "FILS-SHA384" + "FT-FILS-SHA256" + "FT-FILS-SHA384" + "OWE" + "DPP" + ] + ); + description = '' + The list of authentication protocols accepted by this network. + This corresponds to the `key_mgmt` option in wpa_supplicant. + ''; + }; + + auth = mkOption { + type = types.nullOr types.str; + default = null; + example = '' + eap=PEAP + identity="user@example.com" + password=ext:example_password + ''; + description = '' + Use this option to configure advanced authentication methods + like EAP. See {manpage}`wpa_supplicant.conf(5)` for example + configurations. + + ::: {.warning} + Be aware that this will be written to the Nix store + in plaintext! Use an external reference like + `ext:secretname` for secrets. + ::: + + ::: {.note} + Mutually exclusive with {var}`psk` and {var}`pskRaw`. + ::: + ''; + }; + + hidden = mkOption { + type = types.bool; + default = false; + description = '' + Set this to `true` if the SSID of the network is hidden. + ''; + example = literalExpression '' + { echelon = { + hidden = true; + psk = "abcdefgh"; + }; + } + ''; + }; + + priority = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + By default, all networks will get same priority group (0). If + some of the networks are more desirable, this field can be used + to change the order in which wpa_supplicant goes through the + networks when selecting a BSS. The priority groups will be + iterated in decreasing priority (i.e., the larger the priority + value, the sooner the network is matched against the scan + results). Within each priority group, networks will be selected + based on security policy, signal strength, etc. + ''; + }; + + extraConfig = mkOption { + type = types.str; + default = ""; + example = '' + bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66 + ''; + description = '' + Extra configuration lines appended to the network block. + See {manpage}`wpa_supplicant.conf(5)` for available options. + ''; + }; - pskRaw = mkOption { - type = types.nullOr - (types.strMatching "([[:xdigit:]]{64})|(ext:[^=]+)"); - default = null; - example = "ext:name_of_the_secret_here"; - description = '' - Either the raw pre-shared key in hexadecimal format - or the name of the secret (as defined inside - [](#opt-networking.wireless.secretsFile) and prefixed - with `ext:`) containing the network pre-shared key. - - ::: {.warning} - Be aware that this will be written to the Nix store - in plaintext! Always use an external reference. - ::: - - ::: {.note} - The external secret can be either the plaintext - passphrase or the raw pre-shared key. - ::: - - ::: {.note} - Mutually exclusive with {var}`psk` and {var}`auth`. - ::: - ''; }; - - authProtocols = mkOption { - default = [ - # WPA2 and WPA3 - "WPA-PSK" "WPA-EAP" "SAE" - # 802.11r variants of the above - "FT-PSK" "FT-EAP" "FT-SAE" - ]; - # The list can be obtained by running this command - # awk ' - # /^# key_mgmt: /{ run=1 } - # /^#$/{ run=0 } - # /^# [A-Z0-9-]{2,}/{ if(run){printf("\"%s\"\n", $2)} } - # ' /run/current-system/sw/share/doc/wpa_supplicant/wpa_supplicant.conf.example - type = types.listOf (types.enum [ - "WPA-PSK" - "WPA-EAP" - "IEEE8021X" - "NONE" - "WPA-NONE" - "FT-PSK" - "FT-EAP" - "FT-EAP-SHA384" - "WPA-PSK-SHA256" - "WPA-EAP-SHA256" - "SAE" - "FT-SAE" - "WPA-EAP-SUITE-B" - "WPA-EAP-SUITE-B-192" - "OSEN" - "FILS-SHA256" - "FILS-SHA384" - "FT-FILS-SHA256" - "FT-FILS-SHA384" - "OWE" - "DPP" - ]); - description = '' - The list of authentication protocols accepted by this network. - This corresponds to the `key_mgmt` option in wpa_supplicant. - ''; - }; - - auth = mkOption { - type = types.nullOr types.str; - default = null; - example = '' - eap=PEAP - identity="user@example.com" - password=ext:example_password - ''; - description = '' - Use this option to configure advanced authentication methods - like EAP. See {manpage}`wpa_supplicant.conf(5)` for example - configurations. - - ::: {.warning} - Be aware that this will be written to the Nix store - in plaintext! Use an external reference like - `ext:secretname` for secrets. - ::: - - ::: {.note} - Mutually exclusive with {var}`psk` and {var}`pskRaw`. - ::: - ''; - }; - - hidden = mkOption { - type = types.bool; - default = false; - description = '' - Set this to `true` if the SSID of the network is hidden. - ''; - example = literalExpression '' - { echelon = { - hidden = true; - psk = "abcdefgh"; - }; - } - ''; - }; - - priority = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - By default, all networks will get same priority group (0). If - some of the networks are more desirable, this field can be used - to change the order in which wpa_supplicant goes through the - networks when selecting a BSS. The priority groups will be - iterated in decreasing priority (i.e., the larger the priority - value, the sooner the network is matched against the scan - results). Within each priority group, networks will be selected - based on security policy, signal strength, etc. - ''; - }; - - extraConfig = mkOption { - type = types.str; - default = ""; - example = '' - bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66 - ''; - description = '' - Extra configuration lines appended to the network block. - See {manpage}`wpa_supplicant.conf(5)` for available options. - ''; - }; - - }; - }); + } + ); description = '' The network definitions to automatically connect to when {command}`wpa_supplicant` is running. If this parameter is left empty wpa_supplicant will use /etc/wpa_supplicant.conf as the configuration file. ''; - default = {}; + default = { }; example = literalExpression '' { echelon = { # SSID with no spaces or special characters psk = "abcdefgh"; # (password will be written to /nix/store!) @@ -483,8 +523,7 @@ in { }; imports = [ - (mkRemovedOptionModule [ "networking" "wireless" "environmentFile" ] - '' + (mkRemovedOptionModule [ "networking" "wireless" "environmentFile" ] '' Secrets are now handled by the `networking.wireless.secretsFile` and `networking.wireless.networks..pskRaw` options. The change is motivated by a mechanism recently added by wpa_supplicant @@ -508,26 +547,44 @@ in { ]; config = mkIf cfg.enable { - assertions = flip mapAttrsToList cfg.networks (name: cfg: { - assertion = with cfg; count (x: x != null) [ psk pskRaw auth ] <= 1; - message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive''; - }) ++ [ - { - assertion = length cfg.interfaces > 1 -> !cfg.dbusControlled; - message = - let daemon = if config.networking.networkmanager.enable then "NetworkManager" else - if config.services.connman.enable then "connman" else null; + assertions = + flip mapAttrsToList cfg.networks ( + name: cfg: { + assertion = + with cfg; + count (x: x != null) [ + psk + pskRaw + auth + ] <= 1; + message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive''; + } + ) + ++ [ + { + assertion = length cfg.interfaces > 1 -> !cfg.dbusControlled; + message = + let + daemon = + if config.networking.networkmanager.enable then + "NetworkManager" + else if config.services.connman.enable then + "connman" + else + null; n = toString (length cfg.interfaces); - in '' - It's not possible to run multiple wpa_supplicant instances with DBus support. - Note: you're seeing this error because `networking.wireless.interfaces` has - ${n} entries, implying an equal number of wpa_supplicant instances. - '' + optionalString (daemon != null) '' - You don't need to change `networking.wireless.interfaces` when using ${daemon}: - in this case the interfaces will be configured automatically for you. - ''; - } - ]; + in + '' + It's not possible to run multiple wpa_supplicant instances with DBus support. + Note: you're seeing this error because `networking.wireless.interfaces` has + ${n} entries, implying an equal number of wpa_supplicant instances. + '' + + optionalString (daemon != null) '' + You don't need to change `networking.wireless.interfaces` when using ${daemon}: + in this case the interfaces will be configured automatically for you. + ''; + } + ]; hardware.wirelessRegulatoryDatabase = true; @@ -535,19 +592,20 @@ in { services.dbus.packages = optional cfg.dbusControlled pkgs.wpa_supplicant; systemd.services = - if cfg.interfaces == [] - then { wpa_supplicant = mkUnit null; } - else listToAttrs (map (i: nameValuePair "wpa_supplicant-${i}" (mkUnit i)) cfg.interfaces); + if cfg.interfaces == [ ] then + { wpa_supplicant = mkUnit null; } + else + listToAttrs (map (i: nameValuePair "wpa_supplicant-${i}" (mkUnit i)) cfg.interfaces); # Restart wpa_supplicant after resuming from sleep powerManagement.resumeCommands = concatStringsSep "\n" ( - optional (cfg.interfaces == []) "${systemctl} try-restart wpa_supplicant" + optional (cfg.interfaces == [ ]) "${systemctl} try-restart wpa_supplicant" ++ map (i: "${systemctl} try-restart wpa_supplicant-${i}") cfg.interfaces ); # Restart wpa_supplicant when a wlan device appears or disappears. This is # only needed when an interface hasn't been specified by the user. - services.udev.extraRules = optionalString (cfg.interfaces == []) '' + services.udev.extraRules = optionalString (cfg.interfaces == [ ]) '' ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", \ RUN+="${systemctl} try-restart wpa_supplicant.service" ''; diff --git a/nixos/modules/services/networking/x2goserver.nix b/nixos/modules/services/networking/x2goserver.nix index e46a493924ef7..53e938d11554a 100644 --- a/nixos/modules/services/networking/x2goserver.nix +++ b/nixos/modules/services/networking/x2goserver.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,9 +11,11 @@ let cfg = config.services.x2goserver; defaults = { - superenicer = { enable = cfg.superenicer.enable; }; + superenicer = { + enable = cfg.superenicer.enable; + }; }; - confText = generators.toINI {} (recursiveUpdate defaults cfg.settings); + confText = generators.toINI { } (recursiveUpdate defaults cfg.settings); x2goServerConf = pkgs.writeText "x2goserver.conf" confText; x2goAgentOptions = pkgs.writeText "x2goagent.options" '' @@ -16,7 +23,8 @@ let X2GO_NXAGENT_DEFAULT_OPTIONS="${concatStringsSep " " cfg.nxagentDefaultOptions}" ''; -in { +in +{ imports = [ (mkRenamedOptionModule [ "programs" "x2goserver" ] [ "services" "x2goserver" ]) ]; @@ -41,7 +49,10 @@ in { nxagentDefaultOptions = mkOption { type = types.listOf types.str; - default = [ "-extension GLX" "-nolisten tcp" ]; + default = [ + "-extension GLX" + "-nolisten tcp" + ]; description = '' List of default nx agent options. ''; @@ -49,7 +60,7 @@ in { settings = mkOption { type = types.attrsOf types.attrs; - default = {}; + default = { }; description = '' x2goserver.conf ini configuration as nix attributes. See `x2goserver.conf(5)` for details @@ -78,7 +89,7 @@ in { environment.systemPackages = [ pkgs.x2goserver ]; - users.groups.x2go = {}; + users.groups.x2go = { }; users.users.x2go = { home = "/var/lib/x2go/db"; group = "x2go"; @@ -100,35 +111,61 @@ in { setgid = true; }; - systemd.tmpfiles.rules = with pkgs; [ - "d /var/lib/x2go/ - x2go x2go - -" - "d /var/lib/x2go/db - x2go x2go - -" - "d /var/lib/x2go/conf - x2go x2go - -" - "d /run/x2go 0755 x2go x2go - -" - ] ++ - # x2goclient sends SSH commands with preset PATH set to - # "/usr/local/bin;/usr/bin;/bin". Since we cannot filter arbitrary ssh - # commands, we have to make the following executables available. - map (f: "L+ /usr/local/bin/${f} - - - - ${x2goserver}/bin/${f}") [ - "x2goagent" "x2gobasepath" "x2gocleansessions" "x2gocmdexitmessage" - "x2godbadmin" "x2gofeature" "x2gofeaturelist" "x2gofm" "x2gogetapps" - "x2gogetservers" "x2golistdesktops" "x2golistmounts" "x2golistsessions" - "x2golistsessions_root" "x2golistshadowsessions" "x2gomountdirs" - "x2gopath" "x2goprint" "x2goresume-desktopsharing" "x2goresume-session" - "x2goruncommand" "x2goserver-run-extensions" "x2gosessionlimit" - "x2gosetkeyboard" "x2goshowblocks" "x2gostartagent" - "x2gosuspend-desktopsharing" "x2gosuspend-session" - "x2goterminate-desktopsharing" "x2goterminate-session" - "x2goumount-session" "x2goversion" - ] ++ [ - "L+ /usr/local/bin/awk - - - - ${gawk}/bin/awk" - "L+ /usr/local/bin/chmod - - - - ${coreutils}/bin/chmod" - "L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp" - "L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed" - "L+ /usr/local/bin/setsid - - - - ${util-linux}/bin/setsid" - "L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr" - "L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap" - ]; + systemd.tmpfiles.rules = + with pkgs; + [ + "d /var/lib/x2go/ - x2go x2go - -" + "d /var/lib/x2go/db - x2go x2go - -" + "d /var/lib/x2go/conf - x2go x2go - -" + "d /run/x2go 0755 x2go x2go - -" + ] + ++ + # x2goclient sends SSH commands with preset PATH set to + # "/usr/local/bin;/usr/bin;/bin". Since we cannot filter arbitrary ssh + # commands, we have to make the following executables available. + map (f: "L+ /usr/local/bin/${f} - - - - ${x2goserver}/bin/${f}") [ + "x2goagent" + "x2gobasepath" + "x2gocleansessions" + "x2gocmdexitmessage" + "x2godbadmin" + "x2gofeature" + "x2gofeaturelist" + "x2gofm" + "x2gogetapps" + "x2gogetservers" + "x2golistdesktops" + "x2golistmounts" + "x2golistsessions" + "x2golistsessions_root" + "x2golistshadowsessions" + "x2gomountdirs" + "x2gopath" + "x2goprint" + "x2goresume-desktopsharing" + "x2goresume-session" + "x2goruncommand" + "x2goserver-run-extensions" + "x2gosessionlimit" + "x2gosetkeyboard" + "x2goshowblocks" + "x2gostartagent" + "x2gosuspend-desktopsharing" + "x2gosuspend-session" + "x2goterminate-desktopsharing" + "x2goterminate-session" + "x2goumount-session" + "x2goversion" + ] + ++ [ + "L+ /usr/local/bin/awk - - - - ${gawk}/bin/awk" + "L+ /usr/local/bin/chmod - - - - ${coreutils}/bin/chmod" + "L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp" + "L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed" + "L+ /usr/local/bin/setsid - - - - ${util-linux}/bin/setsid" + "L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr" + "L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap" + ]; systemd.services.x2goserver = { description = "X2Go Server Daemon"; diff --git a/nixos/modules/services/networking/xandikos.nix b/nixos/modules/services/networking/xandikos.nix index e05fee1656cd0..1b72cd03ba9cf 100644 --- a/nixos/modules/services/networking/xandikos.nix +++ b/nixos/modules/services/networking/xandikos.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -38,7 +43,7 @@ in }; extraOptions = mkOption { - default = []; + default = [ ]; type = types.listOf types.str; example = literalExpression '' [ "--autocreate" @@ -53,7 +58,7 @@ in }; nginx = mkOption { - default = {}; + default = { }; description = '' Configuration for nginx reverse proxy. ''; @@ -82,62 +87,58 @@ in }; - config = mkIf cfg.enable ( - mkMerge [ - { - meta.maintainers = with lib.maintainers; [ _0x4A6F ]; - - systemd.services.xandikos = { - description = "A Simple Calendar and Contact Server"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = { - User = "xandikos"; - Group = "xandikos"; - DynamicUser = "yes"; - RuntimeDirectory = "xandikos"; - StateDirectory = "xandikos"; - StateDirectoryMode = "0700"; - PrivateDevices = true; - # Sandboxing - CapabilityBoundingSet = "CAP_NET_RAW CAP_NET_ADMIN"; - ProtectSystem = "strict"; - ProtectHome = true; - PrivateTmp = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectControlGroups = true; - RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_PACKET AF_NETLINK"; - RestrictNamespaces = true; - LockPersonality = true; - MemoryDenyWriteExecute = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - ExecStart = '' - ${cfg.package}/bin/xandikos \ - --directory /var/lib/xandikos \ - --listen-address ${cfg.address} \ - --port ${toString cfg.port} \ - --route-prefix ${cfg.routePrefix} \ - ${lib.concatStringsSep " " cfg.extraOptions} - ''; - }; + config = mkIf cfg.enable (mkMerge [ + { + meta.maintainers = with lib.maintainers; [ _0x4A6F ]; + + systemd.services.xandikos = { + description = "A Simple Calendar and Contact Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = "xandikos"; + Group = "xandikos"; + DynamicUser = "yes"; + RuntimeDirectory = "xandikos"; + StateDirectory = "xandikos"; + StateDirectoryMode = "0700"; + PrivateDevices = true; + # Sandboxing + CapabilityBoundingSet = "CAP_NET_RAW CAP_NET_ADMIN"; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_PACKET AF_NETLINK"; + RestrictNamespaces = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + ExecStart = '' + ${cfg.package}/bin/xandikos \ + --directory /var/lib/xandikos \ + --listen-address ${cfg.address} \ + --port ${toString cfg.port} \ + --route-prefix ${cfg.routePrefix} \ + ${lib.concatStringsSep " " cfg.extraOptions} + ''; }; - } - - ( - mkIf cfg.nginx.enable { - services.nginx = { - enable = true; - virtualHosts."${cfg.nginx.hostName}" = { - locations."/" = { - proxyPass = "http://${cfg.address}:${toString cfg.port}/"; - }; - }; + }; + } + + (mkIf cfg.nginx.enable { + services.nginx = { + enable = true; + virtualHosts."${cfg.nginx.hostName}" = { + locations."/" = { + proxyPass = "http://${cfg.address}:${toString cfg.port}/"; }; - } - ) - ] - ); + }; + }; + }) + ]); } diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index e42943285d125..f5d4cbeffabb3 100644 --- a/nixos/modules/services/networking/xinetd.nix +++ b/nixos/modules/services/networking/xinetd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,35 +11,33 @@ let cfg = config.services.xinetd; - configFile = pkgs.writeText "xinetd.conf" - '' - defaults - { - log_type = SYSLOG daemon info - log_on_failure = HOST - log_on_success = PID HOST DURATION EXIT - ${cfg.extraDefaults} - } - - ${concatMapStrings makeService cfg.services} - ''; - - makeService = srv: - '' - service ${srv.name} - { - protocol = ${srv.protocol} - ${optionalString srv.unlisted "type = UNLISTED"} - ${optionalString (srv.flags != "") "flags = ${srv.flags}"} - socket_type = ${if srv.protocol == "udp" then "dgram" else "stream"} - ${optionalString (srv.port != 0) "port = ${toString srv.port}"} - wait = ${if srv.protocol == "udp" then "yes" else "no"} - user = ${srv.user} - server = ${srv.server} - ${optionalString (srv.serverArgs != "") "server_args = ${srv.serverArgs}"} - ${srv.extraConfig} - } - ''; + configFile = pkgs.writeText "xinetd.conf" '' + defaults + { + log_type = SYSLOG daemon info + log_on_failure = HOST + log_on_success = PID HOST DURATION EXIT + ${cfg.extraDefaults} + } + + ${concatMapStrings makeService cfg.services} + ''; + + makeService = srv: '' + service ${srv.name} + { + protocol = ${srv.protocol} + ${optionalString srv.unlisted "type = UNLISTED"} + ${optionalString (srv.flags != "") "flags = ${srv.flags}"} + socket_type = ${if srv.protocol == "udp" then "dgram" else "stream"} + ${optionalString (srv.port != 0) "port = ${toString srv.port}"} + wait = ${if srv.protocol == "udp" then "yes" else "no"} + user = ${srv.user} + server = ${srv.server} + ${optionalString (srv.serverArgs != "") "server_args = ${srv.serverArgs}"} + ${srv.extraConfig} + } + ''; in @@ -55,83 +58,84 @@ in }; services.xinetd.services = mkOption { - default = []; + default = [ ]; description = '' A list of services provided by xinetd. ''; - type = with types; listOf (submodule ({ - - options = { - - name = mkOption { - type = types.str; - example = "login"; - description = "Name of the service."; - }; - - protocol = mkOption { - type = types.str; - default = "tcp"; - description = "Protocol of the service. Usually `tcp` or `udp`."; - }; - - port = mkOption { - type = types.port; - default = 0; - example = 123; - description = "Port number of the service."; - }; - - user = mkOption { - type = types.str; - default = "nobody"; - description = "User account for the service"; - }; - - server = mkOption { - type = types.str; - example = "/foo/bin/ftpd"; - description = "Path of the program that implements the service."; - }; - - serverArgs = mkOption { - type = types.separatedString " "; - default = ""; - description = "Command-line arguments for the server program."; - }; - - flags = mkOption { - type = types.str; - default = ""; - description = ""; - }; - - unlisted = mkOption { - type = types.bool; - default = false; - description = '' - Whether this server is listed in - {file}`/etc/services`. If so, the port - number can be omitted. - ''; - }; + type = + with types; + listOf (submodule ({ + + options = { + + name = mkOption { + type = types.str; + example = "login"; + description = "Name of the service."; + }; + + protocol = mkOption { + type = types.str; + default = "tcp"; + description = "Protocol of the service. Usually `tcp` or `udp`."; + }; + + port = mkOption { + type = types.port; + default = 0; + example = 123; + description = "Port number of the service."; + }; + + user = mkOption { + type = types.str; + default = "nobody"; + description = "User account for the service"; + }; + + server = mkOption { + type = types.str; + example = "/foo/bin/ftpd"; + description = "Path of the program that implements the service."; + }; + + serverArgs = mkOption { + type = types.separatedString " "; + default = ""; + description = "Command-line arguments for the server program."; + }; + + flags = mkOption { + type = types.str; + default = ""; + description = ""; + }; + + unlisted = mkOption { + type = types.bool; + default = false; + description = '' + Whether this server is listed in + {file}`/etc/services`. If so, the port + number can be omitted. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = "Extra configuration-lines added to the section of the service."; + }; - extraConfig = mkOption { - type = types.lines; - default = ""; - description = "Extra configuration-lines added to the section of the service."; }; - }; - - })); + })); }; }; - ###### implementation config = mkIf cfg.enable { diff --git a/nixos/modules/services/networking/xl2tpd.nix b/nixos/modules/services/networking/xl2tpd.nix index 4ecd3c54e4121..fd234cec03a6b 100644 --- a/nixos/modules/services/networking/xl2tpd.nix +++ b/nixos/modules/services/networking/xl2tpd.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -8,28 +13,28 @@ with lib; enable = mkEnableOption "xl2tpd, the Layer 2 Tunnelling Protocol Daemon"; serverIp = mkOption { - type = types.str; + type = types.str; description = "The server-side IP address."; - default = "10.125.125.1"; + default = "10.125.125.1"; }; clientIpRange = mkOption { - type = types.str; + type = types.str; description = "The range from which client IPs are drawn."; - default = "10.125.125.2-11"; + default = "10.125.125.2-11"; }; extraXl2tpOptions = mkOption { - type = types.lines; + type = types.lines; description = "Adds extra lines to the xl2tpd configuration file."; - default = ""; + default = ""; }; extraPppdOptions = mkOption { - type = types.lines; + type = types.lines; description = "Adds extra lines to the pppd options file."; - default = ""; - example = '' + default = ""; + example = '' ms-dns 8.8.8.8 ms-dns 8.8.4.4 ''; @@ -38,93 +43,95 @@ with lib; }; config = mkIf config.services.xl2tpd.enable { - systemd.services.xl2tpd = let - cfg = config.services.xl2tpd; - - # Config files from https://help.ubuntu.com/community/L2TPServer - xl2tpd-conf = pkgs.writeText "xl2tpd.conf" '' - [global] - ipsec saref = no - - [lns default] - local ip = ${cfg.serverIp} - ip range = ${cfg.clientIpRange} - pppoptfile = ${pppd-options} - length bit = yes - - ; Extra - ${cfg.extraXl2tpOptions} - ''; - - pppd-options = pkgs.writeText "ppp-options-xl2tpd.conf" '' - refuse-pap - refuse-chap - refuse-mschap - require-mschap-v2 - # require-mppe-128 - asyncmap 0 - auth - crtscts - idle 1800 - mtu 1200 - mru 1200 - lock - hide-password - local - # debug - name xl2tpd - # proxyarp - lcp-echo-interval 30 - lcp-echo-failure 4 - - # Extra: - ${cfg.extraPppdOptions} - ''; - - xl2tpd-ppp-wrapped = pkgs.stdenv.mkDerivation { - name = "xl2tpd-ppp-wrapped"; - phases = [ "installPhase" ]; - nativeBuildInputs = with pkgs; [ makeWrapper ]; - installPhase = '' - mkdir -p $out/bin - - makeWrapper ${pkgs.ppp}/sbin/pppd $out/bin/pppd \ - --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS "/etc/ppp=/etc/xl2tpd/ppp" - - makeWrapper ${pkgs.xl2tpd}/bin/xl2tpd $out/bin/xl2tpd \ - --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS "${pkgs.ppp}/sbin/pppd=$out/bin/pppd" + systemd.services.xl2tpd = + let + cfg = config.services.xl2tpd; + + # Config files from https://help.ubuntu.com/community/L2TPServer + xl2tpd-conf = pkgs.writeText "xl2tpd.conf" '' + [global] + ipsec saref = no + + [lns default] + local ip = ${cfg.serverIp} + ip range = ${cfg.clientIpRange} + pppoptfile = ${pppd-options} + length bit = yes + + ; Extra + ${cfg.extraXl2tpOptions} ''; - }; - in { - description = "xl2tpd server"; - - requires = [ "network-online.target" ]; - wantedBy = [ "multi-user.target" ]; - - preStart = '' - install -m 700 -d /etc/xl2tpd/ppp - [ -f /etc/xl2tpd/ppp/chap-secrets ] || install -m 600 -o root -g root /dev/stdin /etc/xl2tpd/ppp/chap-secrets < /tmp/cronout 2>&1" "* * * * * eelco echo Hello World > /home/eelco/cronout" @@ -75,7 +79,7 @@ in cronFiles = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = '' A list of extra crontab files that will be read and appended to the main crontab file when the cron service starts. @@ -86,50 +90,53 @@ in }; - ###### implementation config = mkMerge [ - { services.cron.enable = mkDefault (allFiles != []); } + { services.cron.enable = mkDefault (allFiles != [ ]); } (mkIf (config.services.cron.enable) { - security.wrappers.crontab = - { setuid = true; - owner = "root"; - group = "root"; - source = "${cronNixosPkg}/bin/crontab"; - }; + security.wrappers.crontab = { + setuid = true; + owner = "root"; + group = "root"; + source = "${cronNixosPkg}/bin/crontab"; + }; environment.systemPackages = [ cronNixosPkg ]; - environment.etc.crontab = - { source = pkgs.runCommand "crontabs" { inherit allFiles; preferLocalBuild = true; } + environment.etc.crontab = { + source = + pkgs.runCommand "crontabs" + { + inherit allFiles; + preferLocalBuild = true; + } '' touch $out for i in $allFiles; do cat "$i" >> $out done ''; - mode = "0600"; # Cron requires this. - }; + mode = "0600"; # Cron requires this. + }; - systemd.services.cron = - { description = "Cron Daemon"; + systemd.services.cron = { + description = "Cron Daemon"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; - preStart = - '' - mkdir -m 710 -p /var/cron + preStart = '' + mkdir -m 710 -p /var/cron - # By default, allow all users to create a crontab. This - # is denoted by the existence of an empty cron.deny file. - if ! test -e /var/cron/cron.allow -o -e /var/cron/cron.deny; then - touch /var/cron/cron.deny - fi - ''; + # By default, allow all users to create a crontab. This + # is denoted by the existence of an empty cron.deny file. + if ! test -e /var/cron/cron.allow -o -e /var/cron/cron.deny; then + touch /var/cron/cron.deny + fi + ''; - restartTriggers = [ config.time.timeZone ]; - serviceConfig.ExecStart = "${cronNixosPkg}/bin/cron -n"; - }; + restartTriggers = [ config.time.timeZone ]; + serviceConfig.ExecStart = "${cronNixosPkg}/bin/cron -n"; + }; }) diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix index db627841526e2..9beebb6dba6c1 100644 --- a/nixos/modules/services/scheduling/fcron.nix +++ b/nixos/modules/services/scheduling/fcron.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,23 +14,22 @@ let queuelen = optionalString (cfg.queuelen != null) "-q ${toString cfg.queuelen}"; # Duplicate code, also found in cron.nix. Needs deduplication. - systemCronJobs = - '' - SHELL=${pkgs.bash}/bin/bash - PATH=${config.system.path}/bin:${config.system.path}/sbin - ${optionalString (config.services.cron.mailto != null) '' - MAILTO="${config.services.cron.mailto}" - ''} - NIX_CONF_DIR=/etc/nix - ${lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)} - ''; - - allowdeny = target: users: - { source = pkgs.writeText "fcron.${target}" (concatStringsSep "\n" users); - target = "fcron.${target}"; - mode = "644"; - gid = config.ids.gids.fcron; - }; + systemCronJobs = '' + SHELL=${pkgs.bash}/bin/bash + PATH=${config.system.path}/bin:${config.system.path}/sbin + ${optionalString (config.services.cron.mailto != null) '' + MAILTO="${config.services.cron.mailto}" + ''} + NIX_CONF_DIR=/etc/nix + ${lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)} + ''; + + allowdeny = target: users: { + source = pkgs.writeText "fcron.${target}" (concatStringsSep "\n" users); + target = "fcron.${target}"; + mode = "644"; + gid = config.ids.gids.fcron; + }; in @@ -54,7 +58,7 @@ in deny = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Users forbidden from using fcron."; }; @@ -79,41 +83,45 @@ in }; - ###### implementation config = mkIf cfg.enable { services.fcron.systab = systemCronJobs; - environment.etc = listToAttrs - (map (x: { name = x.target; value = x; }) - [ (allowdeny "allow" (cfg.allow)) - (allowdeny "deny" cfg.deny) - # see man 5 fcron.conf - { source = - let - isSendmailWrapped = - lib.hasAttr "sendmail" config.security.wrappers; - sendmailPath = - if isSendmailWrapped then "/run/wrappers/bin/sendmail" - else "${config.system.path}/bin/sendmail"; - in - pkgs.writeText "fcron.conf" '' - fcrontabs = /var/spool/fcron - pidfile = /run/fcron.pid - fifofile = /run/fcron.fifo - fcronallow = /etc/fcron.allow - fcrondeny = /etc/fcron.deny - shell = /bin/sh - sendmail = ${sendmailPath} - editor = ${pkgs.vim}/bin/vim - ''; - target = "fcron.conf"; - gid = config.ids.gids.fcron; - mode = "0644"; - } - ]); + environment.etc = listToAttrs ( + map + (x: { + name = x.target; + value = x; + }) + [ + (allowdeny "allow" (cfg.allow)) + (allowdeny "deny" cfg.deny) + # see man 5 fcron.conf + { + source = + let + isSendmailWrapped = lib.hasAttr "sendmail" config.security.wrappers; + sendmailPath = + if isSendmailWrapped then "/run/wrappers/bin/sendmail" else "${config.system.path}/bin/sendmail"; + in + pkgs.writeText "fcron.conf" '' + fcrontabs = /var/spool/fcron + pidfile = /run/fcron.pid + fifofile = /run/fcron.fifo + fcronallow = /etc/fcron.allow + fcrondeny = /etc/fcron.deny + shell = /bin/sh + sendmail = ${sendmailPath} + editor = ${pkgs.vim}/bin/vim + ''; + target = "fcron.conf"; + gid = config.ids.gids.fcron; + mode = "0644"; + } + ] + ); environment.systemPackages = [ pkgs.fcron ]; users.users.fcron = { diff --git a/nixos/modules/services/search/elasticsearch-curator.nix b/nixos/modules/services/search/elasticsearch-curator.nix index 1c365124a0ef8..38d33ee82bbb6 100644 --- a/nixos/modules/services/search/elasticsearch-curator.nix +++ b/nixos/modules/services/search/elasticsearch-curator.nix @@ -1,39 +1,45 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let - cfg = config.services.elasticsearch-curator; - curatorConfig = pkgs.writeTextFile { - name = "config.yaml"; - text = '' - --- - # Remember, leave a key empty if there is no value. None will be a string, - # not a Python "NoneType" - client: - hosts: ${builtins.toJSON cfg.hosts} - port: ${toString cfg.port} - url_prefix: - use_ssl: False - certificate: - client_cert: - client_key: - ssl_no_validate: False - http_auth: - timeout: 30 - master_only: False - logging: - loglevel: INFO - logfile: - logformat: default - blacklist: ['elasticsearch', 'urllib3'] - ''; - }; - curatorAction = pkgs.writeTextFile { - name = "action.yaml"; - text = cfg.actionYAML; - }; -in { + cfg = config.services.elasticsearch-curator; + curatorConfig = pkgs.writeTextFile { + name = "config.yaml"; + text = '' + --- + # Remember, leave a key empty if there is no value. None will be a string, + # not a Python "NoneType" + client: + hosts: ${builtins.toJSON cfg.hosts} + port: ${toString cfg.port} + url_prefix: + use_ssl: False + certificate: + client_cert: + client_key: + ssl_no_validate: False + http_auth: + timeout: 30 + master_only: False + logging: + loglevel: INFO + logfile: + logformat: default + blacklist: ['elasticsearch', 'urllib3'] + ''; + }; + curatorAction = pkgs.writeTextFile { + name = "action.yaml"; + text = cfg.actionYAML; + }; +in +{ options.services.elasticsearch-curator = { @@ -46,7 +52,7 @@ in { hosts = mkOption { description = "a list of elasticsearch hosts to connect to"; type = types.listOf types.str; - default = ["localhost"]; + default = [ "localhost" ]; }; port = mkOption { description = "the port that elasticsearch is listening on"; @@ -87,8 +93,7 @@ in { startAt = cfg.interval; serviceConfig = { ExecStart = - "${pkgs.elasticsearch-curator}/bin/curator" + - " --config ${curatorConfig} ${curatorAction}"; + "${pkgs.elasticsearch-curator}/bin/curator" + " --config ${curatorConfig} ${curatorAction}"; }; }; }; diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index db19e47493a6a..c7f21236e0fda 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -138,7 +143,7 @@ in example = lib.literalExpression "[ pkgs.elasticsearchPlugins.discovery-ec2 ]"; }; - restartIfChanged = mkOption { + restartIfChanged = mkOption { type = types.bool; description = '' Automatically restart the service on config change. diff --git a/nixos/modules/services/search/hound.nix b/nixos/modules/services/search/hound.nix index 7aca1adc19b08..33ade1b963b4a 100644 --- a/nixos/modules/services/search/hound.nix +++ b/nixos/modules/services/search/hound.nix @@ -1,11 +1,23 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hound; settingsFormat = pkgs.formats.json { }; -in { +in +{ imports = [ - (lib.mkRemovedOptionModule [ "services" "hound" "extraGroups" ] "Use users.users.hound.extraGroups instead") - (lib.mkChangedOptionModule [ "services" "hound" "config" ] [ "services" "hound" "settings" ] (config: builtins.fromJSON config.services.hound.config)) + (lib.mkRemovedOptionModule [ + "services" + "hound" + "extraGroups" + ] "Use users.users.hound.extraGroups instead") + (lib.mkChangedOptionModule [ "services" "hound" "config" ] [ "services" "hound" "settings" ] ( + config: builtins.fromJSON config.services.hound.config + )) ]; meta.maintainers = with lib.maintainers; [ SuperSandro2000 ]; diff --git a/nixos/modules/services/search/manticore.nix b/nixos/modules/services/search/manticore.nix index 885bfc3df5213..76cb16bee0d13 100644 --- a/nixos/modules/services/search/manticore.nix +++ b/nixos/modules/services/search/manticore.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,29 +12,36 @@ let cfg = config.services.manticore; format = pkgs.formats.json { }; - toSphinx = { - mkKeyValue ? generators.mkKeyValueDefault {} "=", - listsAsDuplicateKeys ? true - }: attrsOfAttrs: + toSphinx = + { + mkKeyValue ? generators.mkKeyValueDefault { } "=", + listsAsDuplicateKeys ? true, + }: + attrsOfAttrs: let - # map function to string for each key val - mapAttrsToStringsSep = sep: mapFn: attrs: - concatStringsSep sep - (mapAttrsToList mapFn attrs); - mkSection = sectName: sectValues: '' + # map function to string for each key val + mapAttrsToStringsSep = + sep: mapFn: attrs: + concatStringsSep sep (mapAttrsToList mapFn attrs); + mkSection = + sectName: sectValues: + '' ${sectName} { - '' + lib.generators.toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues + ''}''; + '' + + lib.generators.toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues + + ''}''; in - # map input to ini sections - mapAttrsToStringsSep "\n" mkSection attrsOfAttrs; + # map input to ini sections + mapAttrsToStringsSep "\n" mkSection attrsOfAttrs; configFile = pkgs.writeText "manticore.conf" ( toSphinx { - mkKeyValue = k: v: " ${k} = ${v}"; + mkKeyValue = k: v: " ${k} = ${v}"; } cfg.settings ); -in { +in +{ options = { services.manticore = { @@ -85,42 +97,51 @@ in { services.manticore = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - serviceConfig = { - ExecStart = [ - "" - "${pkgs.manticoresearch}/bin/searchd --config ${configFile}" - ]; - ExecStop = [ - "" - "${pkgs.manticoresearch}/bin/searchd --config ${configFile} --stopwait" - ]; - ExecStartPre = [ "" ]; - DynamicUser = true; - LogsDirectory = "manticore"; - RuntimeDirectory = "manticore"; - StateDirectory = "manticore"; - ReadWritePaths = ""; - CapabilityBoundingSet = ""; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - PrivateDevices = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; - RestrictRealtime = true; - LockPersonality = true; - MemoryDenyWriteExecute = true; - UMask = "0066"; - ProtectHostname = true; - } // lib.optionalAttrs (cfg.settings.searchd.pid_file != null) { - PIDFile = cfg.settings.searchd.pid_file; - }; + serviceConfig = + { + ExecStart = [ + "" + "${pkgs.manticoresearch}/bin/searchd --config ${configFile}" + ]; + ExecStop = [ + "" + "${pkgs.manticoresearch}/bin/searchd --config ${configFile} --stopwait" + ]; + ExecStartPre = [ "" ]; + DynamicUser = true; + LogsDirectory = "manticore"; + RuntimeDirectory = "manticore"; + StateDirectory = "manticore"; + ReadWritePaths = ""; + CapabilityBoundingSet = ""; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + PrivateDevices = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + RestrictRealtime = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + UMask = "0066"; + ProtectHostname = true; + } + // lib.optionalAttrs (cfg.settings.searchd.pid_file != null) { + PIDFile = cfg.settings.searchd.pid_file; + }; }; }; diff --git a/nixos/modules/services/search/opensearch.nix b/nixos/modules/services/search/opensearch.nix index f98ca90068df8..59e04114eb696 100644 --- a/nixos/modules/services/search/opensearch.nix +++ b/nixos/modules/services/search/opensearch.nix @@ -1,11 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.opensearch; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configDir = cfg.dataDir + "/config"; @@ -86,7 +91,7 @@ in }; }; - default = {}; + default = { }; description = '' OpenSearch configuration. @@ -180,86 +185,93 @@ in OPENSEARCH_JAVA_OPTS = toString cfg.extraJavaOptions; OPENSEARCH_PATH_CONF = configDir; }; - serviceConfig = { - ExecStartPre = - let - startPreFullPrivileges = '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - '' + (optionalString (!config.boot.isContainer) '' - # Only set vm.max_map_count if lower than ES required minimum - # This avoids conflict if configured via boot.kernel.sysctl - if [ $(${pkgs.procps}/bin/sysctl -n vm.max_map_count) -lt 262144 ]; then - ${pkgs.procps}/bin/sysctl -w vm.max_map_count=262144 - fi - ''); - startPreUnprivileged = '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - - # Install plugins - - # remove plugins directory if it is empty. - if [[ -d ${cfg.dataDir}/plugins && -z "$(ls -A ${cfg.dataDir}/plugins)" ]]; then - rm -r "${cfg.dataDir}/plugins" - fi - - ln -sfT "${cfg.package}/plugins" "${cfg.dataDir}/plugins" - ln -sfT ${cfg.package}/lib ${cfg.dataDir}/lib - ln -sfT ${cfg.package}/modules ${cfg.dataDir}/modules - - # opensearch needs to create the opensearch.keystore in the config directory - # so this directory needs to be writable. - mkdir -p ${configDir} - chmod 0700 ${configDir} - - # Note that we copy config files from the nix store instead of symbolically linking them - # because otherwise X-Pack Security will raise the following exception: - # java.security.AccessControlException: - # access denied ("java.io.FilePermission" "/var/lib/opensearch/config/opensearch.yml" "read") - - rm -f ${configDir}/opensearch.yml - cp ${opensearchYml} ${configDir}/opensearch.yml - - # Make sure the logging configuration for old OpenSearch versions is removed: - rm -f "${configDir}/logging.yml" - rm -f ${configDir}/${loggingConfigFilename} - cp ${loggingConfigFile} ${configDir}/${loggingConfigFilename} - mkdir -p ${configDir}/scripts - - rm -f ${configDir}/jvm.options - cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options - - # redirect jvm logs to the data directory - mkdir -p ${cfg.dataDir}/logs - chmod 0700 ${cfg.dataDir}/logs - sed -e '#logs/gc.log#${cfg.dataDir}/logs/gc.log#' -i ${configDir}/jvm.options - ''; - in [ - "+${pkgs.writeShellScript "opensearch-start-pre-full-privileges" startPreFullPrivileges}" - "${pkgs.writeShellScript "opensearch-start-pre-unprivileged" startPreUnprivileged}" - ]; - ExecStartPost = pkgs.writeShellScript "opensearch-start-post" '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - - # Make sure opensearch is up and running before dependents - # are started - while ! ${pkgs.curl}/bin/curl -sS -f http://${cfg.settings."network.host"}:${toString cfg.settings."http.port"} 2>/dev/null; do - sleep 1 - done - ''; - ExecStart = "${cfg.package}/bin/opensearch ${toString cfg.extraCmdLineOptions}"; - User = cfg.user; - Group = cfg.group; - LimitNOFILE = "1024000"; - Restart = "always"; - TimeoutStartSec = "infinity"; - DynamicUser = usingDefaultUserAndGroup && usingDefaultDataDir; - } // (optionalAttrs (usingDefaultDataDir) { - StateDirectory = "opensearch"; - StateDirectoryMode = "0700"; - }); + serviceConfig = + { + ExecStartPre = + let + startPreFullPrivileges = + '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + '' + + (optionalString (!config.boot.isContainer) '' + # Only set vm.max_map_count if lower than ES required minimum + # This avoids conflict if configured via boot.kernel.sysctl + if [ $(${pkgs.procps}/bin/sysctl -n vm.max_map_count) -lt 262144 ]; then + ${pkgs.procps}/bin/sysctl -w vm.max_map_count=262144 + fi + ''); + startPreUnprivileged = '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + + # Install plugins + + # remove plugins directory if it is empty. + if [[ -d ${cfg.dataDir}/plugins && -z "$(ls -A ${cfg.dataDir}/plugins)" ]]; then + rm -r "${cfg.dataDir}/plugins" + fi + + ln -sfT "${cfg.package}/plugins" "${cfg.dataDir}/plugins" + ln -sfT ${cfg.package}/lib ${cfg.dataDir}/lib + ln -sfT ${cfg.package}/modules ${cfg.dataDir}/modules + + # opensearch needs to create the opensearch.keystore in the config directory + # so this directory needs to be writable. + mkdir -p ${configDir} + chmod 0700 ${configDir} + + # Note that we copy config files from the nix store instead of symbolically linking them + # because otherwise X-Pack Security will raise the following exception: + # java.security.AccessControlException: + # access denied ("java.io.FilePermission" "/var/lib/opensearch/config/opensearch.yml" "read") + + rm -f ${configDir}/opensearch.yml + cp ${opensearchYml} ${configDir}/opensearch.yml + + # Make sure the logging configuration for old OpenSearch versions is removed: + rm -f "${configDir}/logging.yml" + rm -f ${configDir}/${loggingConfigFilename} + cp ${loggingConfigFile} ${configDir}/${loggingConfigFilename} + mkdir -p ${configDir}/scripts + + rm -f ${configDir}/jvm.options + cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options + + # redirect jvm logs to the data directory + mkdir -p ${cfg.dataDir}/logs + chmod 0700 ${cfg.dataDir}/logs + sed -e '#logs/gc.log#${cfg.dataDir}/logs/gc.log#' -i ${configDir}/jvm.options + ''; + in + [ + "+${pkgs.writeShellScript "opensearch-start-pre-full-privileges" startPreFullPrivileges}" + "${pkgs.writeShellScript "opensearch-start-pre-unprivileged" startPreUnprivileged}" + ]; + ExecStartPost = pkgs.writeShellScript "opensearch-start-post" '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + + # Make sure opensearch is up and running before dependents + # are started + while ! ${pkgs.curl}/bin/curl -sS -f http://${cfg.settings."network.host"}:${ + toString cfg.settings."http.port" + } 2>/dev/null; do + sleep 1 + done + ''; + ExecStart = "${cfg.package}/bin/opensearch ${toString cfg.extraCmdLineOptions}"; + User = cfg.user; + Group = cfg.group; + LimitNOFILE = "1024000"; + Restart = "always"; + TimeoutStartSec = "infinity"; + DynamicUser = usingDefaultUserAndGroup && usingDefaultDataDir; + } + // (optionalAttrs (usingDefaultDataDir) { + StateDirectory = "opensearch"; + StateDirectoryMode = "0700"; + }); }; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/services/search/qdrant.nix b/nixos/modules/services/search/qdrant.nix index 41a4e9b41f6d9..3b2ce4f6fd5cd 100644 --- a/nixos/modules/services/search/qdrant.nix +++ b/nixos/modules/services/search/qdrant.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -7,7 +12,8 @@ let settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "config.yaml" cfg.settings; -in { +in +{ options = { services.qdrant = { @@ -101,7 +107,7 @@ in { after = [ "network.target" ]; serviceConfig = { - LimitNOFILE=65536; + LimitNOFILE = 65536; ExecStart = "${pkgs.qdrant}/bin/qdrant --config-path ${configFile}"; DynamicUser = true; Restart = "on-failure"; @@ -123,7 +129,10 @@ in { RestrictNamespaces = true; LockPersonality = true; RemoveIPC = true; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; }; diff --git a/nixos/modules/services/search/quickwit.nix b/nixos/modules/services/search/quickwit.nix index c4cc0c2427dff..c55b32154b535 100644 --- a/nixos/modules/services/search/quickwit.nix +++ b/nixos/modules/services/search/quickwit.nix @@ -1,11 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.quickwit; - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; quickwitYml = settingsFormat.generate "quickwit.yml" cfg.settings; usingDefaultDataDir = cfg.dataDir == "/var/lib/quickwit"; @@ -25,7 +30,7 @@ in freeformType = settingsFormat.type; options."rest" = lib.mkOption { - default = {}; + default = { }; description = '' Rest server configuration for Quickwit ''; @@ -68,7 +73,7 @@ in }; }; - default = {}; + default = { }; description = '' Quickwit configuration. @@ -134,55 +139,57 @@ in environment = { QW_DATA_DIR = cfg.dataDir; }; - serviceConfig = { - ExecStart = '' - ${cfg.package}/bin/quickwit run --config ${quickwitYml} \ - ${escapeShellArgs cfg.extraFlags} - ''; - User = cfg.user; - Group = cfg.group; - Restart = "on-failure"; - DynamicUser = usingDefaultUserAndGroup && usingDefaultDataDir; - CapabilityBoundingSet = [ "" ]; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectHome = true; - ProtectHostname = true; - ProtectControlGroups = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - ReadWritePaths = [ - cfg.dataDir - ]; - RestrictAddressFamilies = [ - "AF_NETLINK" - "AF_INET" - "AF_INET6" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - # 1. allow a reasonable set of syscalls - "@system-service @resources" - # 2. and deny unreasonable ones - "~@privileged" - # 3. then allow the required subset within denied groups - "@chown" - ]; - } // (optionalAttrs (usingDefaultDataDir) { - StateDirectory = "quickwit"; - StateDirectoryMode = "0700"; - }); + serviceConfig = + { + ExecStart = '' + ${cfg.package}/bin/quickwit run --config ${quickwitYml} \ + ${escapeShellArgs cfg.extraFlags} + ''; + User = cfg.user; + Group = cfg.group; + Restart = "on-failure"; + DynamicUser = usingDefaultUserAndGroup && usingDefaultDataDir; + CapabilityBoundingSet = [ "" ]; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectHome = true; + ProtectHostname = true; + ProtectControlGroups = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + ReadWritePaths = [ + cfg.dataDir + ]; + RestrictAddressFamilies = [ + "AF_NETLINK" + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + # 1. allow a reasonable set of syscalls + "@system-service @resources" + # 2. and deny unreasonable ones + "~@privileged" + # 3. then allow the required subset within denied groups + "@chown" + ]; + } + // (optionalAttrs (usingDefaultDataDir) { + StateDirectory = "quickwit"; + StateDirectoryMode = "0700"; + }); }; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/services/search/sonic-server.nix b/nixos/modules/services/search/sonic-server.nix index 7a8fa225fa4a9..c6028e47f15d6 100644 --- a/nixos/modules/services/search/sonic-server.nix +++ b/nixos/modules/services/search/sonic-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.sonic-server; @@ -6,7 +11,8 @@ let settingsFormat = pkgs.formats.toml { }; configFile = settingsFormat.generate "sonic-server-config.toml" cfg.settings; -in { +in +{ meta.maintainers = [ lib.maintainers.anthonyroussel ]; options = { @@ -38,18 +44,18 @@ in { config = lib.mkIf cfg.enable { services.sonic-server.settings = lib.mapAttrs (name: lib.mkDefault) { - server = {}; - channel.search = {}; + server = { }; + channel.search = { }; store = { kv = { path = "/var/lib/sonic/kv"; - database = {}; - pool = {}; + database = { }; + pool = { }; }; fst = { path = "/var/lib/sonic/fst"; - graph = {}; - pool = {}; + graph = { }; + pool = { }; }; }; }; diff --git a/nixos/modules/services/search/typesense.nix b/nixos/modules/services/search/typesense.nix index a44d932593e51..8556bacd0a7af 100644 --- a/nixos/modules/services/search/typesense.nix +++ b/nixos/modules/services/search/typesense.nix @@ -1,6 +1,11 @@ -{ config, lib, pkgs, ... }: let - inherit - (lib) +{ + config, + lib, + pkgs, + ... +}: +let + inherit (lib) concatMapStringsSep generators mkEnableOption @@ -14,19 +19,16 @@ cfg = config.services.typesense; settingsFormatIni = pkgs.formats.ini { listToValue = concatMapStringsSep " " (generators.mkValueStringDefault { }); - mkKeyValue = generators.mkKeyValueDefault - { - mkValueString = v: - if v == null then "" - else generators.mkValueStringDefault { } v; - } - "="; + mkKeyValue = generators.mkKeyValueDefault { + mkValueString = v: if v == null then "" else generators.mkValueStringDefault { } v; + } "="; }; configFile = settingsFormatIni.generate "typesense.ini" cfg.settings; -in { +in +{ options.services.typesense = { enable = mkEnableOption "typesense"; - package = mkPackageOption pkgs "typesense" {}; + package = mkPackageOption pkgs "typesense" { }; apiKeyFile = mkOption { type = types.path; @@ -39,7 +41,7 @@ in { settings = mkOption { description = "Typesense configuration. Refer to [the documentation](https://typesense.org/docs/0.24.1/api/server-configuration.html) for supported values."; - default = {}; + default = { }; type = types.submodule { freeformType = settingsFormatIni.type; options.server = { diff --git a/nixos/modules/services/security/aesmd.nix b/nixos/modules/services/security/aesmd.nix index 4da5c00752d56..4f7f55e78e99d 100644 --- a/nixos/modules/services/security/aesmd.nix +++ b/nixos/modules/services/security/aesmd.nix @@ -1,23 +1,43 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: let - inherit (lib) concatStringsSep literalExpression makeLibraryPath mkEnableOption - mkForce mkIf mkOption mkPackageOption mkRemovedOptionModule optional types; + inherit (lib) + concatStringsSep + literalExpression + makeLibraryPath + mkEnableOption + mkForce + mkIf + mkOption + mkPackageOption + mkRemovedOptionModule + optional + types + ; cfg = config.services.aesmd; opt = options.services.aesmd; sgx-psw = cfg.package; - configFile = with cfg.settings; pkgs.writeText "aesmd.conf" ( - concatStringsSep "\n" ( - optional (whitelistUrl != null) "whitelist url = ${whitelistUrl}" ++ - optional (proxy != null) "aesm proxy = ${proxy}" ++ - optional (proxyType != null) "proxy type = ${proxyType}" ++ - optional (defaultQuotingType != null) "default quoting type = ${defaultQuotingType}" ++ - # Newline at end of file - [ "" ] - ) - ); + configFile = + with cfg.settings; + pkgs.writeText "aesmd.conf" ( + concatStringsSep "\n" ( + optional (whitelistUrl != null) "whitelist url = ${whitelistUrl}" + ++ optional (proxy != null) "aesm proxy = ${proxy}" + ++ optional (proxyType != null) "proxy type = ${proxyType}" + ++ optional (defaultQuotingType != null) "default quoting type = ${defaultQuotingType}" + ++ + # Newline at end of file + [ "" ] + ) + ); in { imports = [ @@ -64,7 +84,13 @@ in description = "HTTP network proxy."; }; options.proxyType = mkOption { - type = with types; nullOr (enum [ "default" "direct" "manual" ]); + type = + with types; + nullOr (enum [ + "default" + "direct" + "manual" + ]); default = if (cfg.settings.proxy != null) then "manual" else null; defaultText = literalExpression '' if (config.${opt.settings}.proxy != null) then "manual" else null @@ -78,7 +104,13 @@ in ''; }; options.defaultQuotingType = mkOption { - type = with types; nullOr (enum [ "ecdsa_256" "epid_linkable" "epid_unlinkable" ]); + type = + with types; + nullOr (enum [ + "ecdsa_256" + "epid_linkable" + "epid_unlinkable" + ]); default = null; example = "ecdsa_256"; description = "Attestation quote type."; @@ -88,10 +120,12 @@ in }; config = mkIf cfg.enable { - assertions = [{ - assertion = !(config.boot.specialFileSystems."/dev".options ? "noexec"); - message = "SGX requires exec permission for /dev"; - }]; + assertions = [ + { + assertion = !(config.boot.specialFileSystems."/dev".options ? "noexec"); + message = "SGX requires exec permission for /dev"; + } + ]; hardware.cpu.intel.sgx.provision.enable = true; @@ -110,7 +144,10 @@ in description = "Intel Architectural Enclave Service Manager"; wantedBy = [ "multi-user.target" ]; - after = [ "auditd.service" "network.target" ]; + after = [ + "auditd.service" + "network.target" + ]; environment = { NAME = "aesm_service"; diff --git a/nixos/modules/services/security/authelia.nix b/nixos/modules/services/security/authelia.nix index bbd6bde5ebc18..cd5273bd2163b 100644 --- a/nixos/modules/services/security/authelia.nix +++ b/nixos/modules/services/security/authelia.nix @@ -1,7 +1,8 @@ -{ lib -, pkgs -, config -, ... +{ + lib, + pkgs, + config, + ... }: let @@ -9,301 +10,355 @@ let format = pkgs.formats.yaml { }; - autheliaOpts = with lib; { name, ... }: { - options = { - enable = mkEnableOption "Authelia instance"; - - name = mkOption { - type = types.str; - default = name; - description = '' - Name is used as a suffix for the service name, user, and group. - By default it takes the value you use for `` in: - {option}`services.authelia.` - ''; - }; + autheliaOpts = + with lib; + { name, ... }: + { + options = { + enable = mkEnableOption "Authelia instance"; + + name = mkOption { + type = types.str; + default = name; + description = '' + Name is used as a suffix for the service name, user, and group. + By default it takes the value you use for `` in: + {option}`services.authelia.` + ''; + }; - package = mkPackageOption pkgs "authelia" { }; + package = mkPackageOption pkgs "authelia" { }; - user = mkOption { - default = "authelia-${name}"; - type = types.str; - description = "The name of the user for this authelia instance."; - }; + user = mkOption { + default = "authelia-${name}"; + type = types.str; + description = "The name of the user for this authelia instance."; + }; - group = mkOption { - default = "authelia-${name}"; - type = types.str; - description = "The name of the group for this authelia instance."; - }; + group = mkOption { + default = "authelia-${name}"; + type = types.str; + description = "The name of the group for this authelia instance."; + }; - secrets = mkOption { - description = '' - It is recommended you keep your secrets separate from the configuration. - It's especially important to keep the raw secrets out of your nix configuration, - as the values will be preserved in your nix store. - This attribute allows you to configure the location of secret files to be loaded at runtime. - - https://www.authelia.com/configuration/methods/secrets/ - ''; - default = { }; - type = types.submodule { - options = { - manual = mkOption { - default = false; - example = true; - description = '' - Configuring authelia's secret files via the secrets attribute set - is intended to be convenient and help catch cases where values are required - to run at all. - If a user wants to set these values themselves and bypass the validation they can set this value to true. - ''; - type = types.bool; - }; + secrets = mkOption { + description = '' + It is recommended you keep your secrets separate from the configuration. + It's especially important to keep the raw secrets out of your nix configuration, + as the values will be preserved in your nix store. + This attribute allows you to configure the location of secret files to be loaded at runtime. + + https://www.authelia.com/configuration/methods/secrets/ + ''; + default = { }; + type = types.submodule { + options = { + manual = mkOption { + default = false; + example = true; + description = '' + Configuring authelia's secret files via the secrets attribute set + is intended to be convenient and help catch cases where values are required + to run at all. + If a user wants to set these values themselves and bypass the validation they can set this value to true. + ''; + type = types.bool; + }; - # required - jwtSecretFile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to your JWT secret used during identity verificaton. - ''; - }; + # required + jwtSecretFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to your JWT secret used during identity verificaton. + ''; + }; - oidcIssuerPrivateKeyFile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to your private key file used to encrypt OIDC JWTs. - ''; - }; + oidcIssuerPrivateKeyFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to your private key file used to encrypt OIDC JWTs. + ''; + }; - oidcHmacSecretFile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to your HMAC secret used to sign OIDC JWTs. - ''; - }; + oidcHmacSecretFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to your HMAC secret used to sign OIDC JWTs. + ''; + }; - sessionSecretFile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to your session secret. Only used when redis is used as session storage. - ''; - }; + sessionSecretFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to your session secret. Only used when redis is used as session storage. + ''; + }; - # required - storageEncryptionKeyFile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to your storage encryption key. - ''; + # required + storageEncryptionKeyFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to your storage encryption key. + ''; + }; }; }; }; - }; - - environmentVariables = mkOption { - type = types.attrsOf types.str; - description = '' - Additional environment variables to provide to authelia. - If you are providing secrets please consider the options under {option}`services.authelia..secrets` - or make sure you use the `_FILE` suffix. - If you provide the raw secret rather than the location of a secret file that secret will be preserved in the nix store. - For more details: https://www.authelia.com/configuration/methods/secrets/ - ''; - default = { }; - }; - settings = mkOption { - description = '' - Your Authelia config.yml as a Nix attribute set. - There are several values that are defined and documented in nix such as `default_2fa_method`, - but additional items can also be included. - - https://github.com/authelia/authelia/blob/master/config.template.yml - ''; - default = { }; - example = '' - { - theme = "light"; - default_2fa_method = "totp"; - log.level = "debug"; - server.disable_healthcheck = true; - } - ''; - type = types.submodule { - freeformType = format.type; - options = { - theme = mkOption { - type = types.enum [ "light" "dark" "grey" "auto" ]; - default = "light"; - example = "dark"; - description = "The theme to display."; - }; - - default_2fa_method = mkOption { - type = types.enum [ "" "totp" "webauthn" "mobile_push" ]; - default = ""; - example = "webauthn"; - description = '' - Default 2FA method for new users and fallback for preferred but disabled methods. - ''; - }; + environmentVariables = mkOption { + type = types.attrsOf types.str; + description = '' + Additional environment variables to provide to authelia. + If you are providing secrets please consider the options under {option}`services.authelia..secrets` + or make sure you use the `_FILE` suffix. + If you provide the raw secret rather than the location of a secret file that secret will be preserved in the nix store. + For more details: https://www.authelia.com/configuration/methods/secrets/ + ''; + default = { }; + }; - server = { - address = mkOption { - type = types.str; - default = "tcp://:9091/"; - example = "unix:///var/run/authelia.sock?path=authelia&umask=0117"; - description = "The address to listen on."; + settings = mkOption { + description = '' + Your Authelia config.yml as a Nix attribute set. + There are several values that are defined and documented in nix such as `default_2fa_method`, + but additional items can also be included. + + https://github.com/authelia/authelia/blob/master/config.template.yml + ''; + default = { }; + example = '' + { + theme = "light"; + default_2fa_method = "totp"; + log.level = "debug"; + server.disable_healthcheck = true; + } + ''; + type = types.submodule { + freeformType = format.type; + options = { + theme = mkOption { + type = types.enum [ + "light" + "dark" + "grey" + "auto" + ]; + default = "light"; + example = "dark"; + description = "The theme to display."; }; - }; - log = { - level = mkOption { - type = types.enum [ "trace" "debug" "info" "warn" "error" ]; - default = "debug"; - example = "info"; - description = "Level of verbosity for logs."; + default_2fa_method = mkOption { + type = types.enum [ + "" + "totp" + "webauthn" + "mobile_push" + ]; + default = ""; + example = "webauthn"; + description = '' + Default 2FA method for new users and fallback for preferred but disabled methods. + ''; }; - format = mkOption { - type = types.enum [ "json" "text" ]; - default = "json"; - example = "text"; - description = "Format the logs are written as."; + server = { + address = mkOption { + type = types.str; + default = "tcp://:9091/"; + example = "unix:///var/run/authelia.sock?path=authelia&umask=0117"; + description = "The address to listen on."; + }; }; - file_path = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/log/authelia/authelia.log"; - description = "File path where the logs will be written. If not set logs are written to stdout."; - }; + log = { + level = mkOption { + type = types.enum [ + "trace" + "debug" + "info" + "warn" + "error" + ]; + default = "debug"; + example = "info"; + description = "Level of verbosity for logs."; + }; - keep_stdout = mkOption { - type = types.bool; - default = false; - example = true; - description = "Whether to also log to stdout when a `file_path` is defined."; - }; - }; + format = mkOption { + type = types.enum [ + "json" + "text" + ]; + default = "json"; + example = "text"; + description = "Format the logs are written as."; + }; - telemetry = { - metrics = { - enabled = mkOption { + file_path = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/log/authelia/authelia.log"; + description = "File path where the logs will be written. If not set logs are written to stdout."; + }; + + keep_stdout = mkOption { type = types.bool; default = false; example = true; - description = "Enable Metrics."; + description = "Whether to also log to stdout when a `file_path` is defined."; }; + }; - address = mkOption { - type = types.str; - default = "tcp://127.0.0.1:9959"; - example = "tcp://0.0.0.0:8888"; - description = "The address to listen on for metrics. This should be on a different port to the main `server.port` value."; + telemetry = { + metrics = { + enabled = mkOption { + type = types.bool; + default = false; + example = true; + description = "Enable Metrics."; + }; + + address = mkOption { + type = types.str; + default = "tcp://127.0.0.1:9959"; + example = "tcp://0.0.0.0:8888"; + description = "The address to listen on for metrics. This should be on a different port to the main `server.port` value."; + }; }; }; }; }; }; - }; - settingsFiles = mkOption { - type = types.listOf types.path; - default = [ ]; - example = [ "/etc/authelia/config.yml" "/etc/authelia/access-control.yml" "/etc/authelia/config/" ]; - description = '' - Here you can provide authelia with configuration files or directories. - It is possible to give authelia multiple files and use the nix generated configuration - file set via {option}`services.authelia..settings`. - ''; + settingsFiles = mkOption { + type = types.listOf types.path; + default = [ ]; + example = [ + "/etc/authelia/config.yml" + "/etc/authelia/access-control.yml" + "/etc/authelia/config/" + ]; + description = '' + Here you can provide authelia with configuration files or directories. + It is possible to give authelia multiple files and use the nix generated configuration + file set via {option}`services.authelia..settings`. + ''; + }; }; }; - }; - writeOidcJwksConfigFile = oidcIssuerPrivateKeyFile: pkgs.writeText "oidc-jwks.yaml" '' - identity_providers: - oidc: - jwks: - - key: {{ secret "${oidcIssuerPrivateKeyFile}" | mindent 10 "|" | msquote }} - ''; + writeOidcJwksConfigFile = + oidcIssuerPrivateKeyFile: + pkgs.writeText "oidc-jwks.yaml" '' + identity_providers: + oidc: + jwks: + - key: {{ secret "${oidcIssuerPrivateKeyFile}" | mindent 10 "|" | msquote }} + ''; # Remove an attribute in a nested set # https://discourse.nixos.org/t/modify-an-attrset-in-nix/29919/5 - removeAttrByPath = set: pathList: - lib.updateManyAttrsByPath [{ - path = lib.init pathList; - update = old: - lib.filterAttrs (n: v: n != (lib.last pathList)) old; - }] - set; + removeAttrByPath = + set: pathList: + lib.updateManyAttrsByPath [ + { + path = lib.init pathList; + update = old: lib.filterAttrs (n: v: n != (lib.last pathList)) old; + } + ] set; in { - options.services.authelia.instances = with lib; mkOption { - default = { }; - type = types.attrsOf (types.submodule autheliaOpts); - description = '' - Multi-domain protection currently requires multiple instances of Authelia. - If you don't require multiple instances of Authelia you can define just the one. - - https://www.authelia.com/roadmap/active/multi-domain-protection/ - ''; - example = '' - { - main = { - enable = true; - secrets.storageEncryptionKeyFile = "/etc/authelia/storageEncryptionKeyFile"; - secrets.jwtSecretFile = "/etc/authelia/jwtSecretFile"; - settings = { - theme = "light"; - default_2fa_method = "totp"; - log.level = "debug"; - server.disable_healthcheck = true; + options.services.authelia.instances = + with lib; + mkOption { + default = { }; + type = types.attrsOf (types.submodule autheliaOpts); + description = '' + Multi-domain protection currently requires multiple instances of Authelia. + If you don't require multiple instances of Authelia you can define just the one. + + https://www.authelia.com/roadmap/active/multi-domain-protection/ + ''; + example = '' + { + main = { + enable = true; + secrets.storageEncryptionKeyFile = "/etc/authelia/storageEncryptionKeyFile"; + secrets.jwtSecretFile = "/etc/authelia/jwtSecretFile"; + settings = { + theme = "light"; + default_2fa_method = "totp"; + log.level = "debug"; + server.disable_healthcheck = true; + }; }; - }; - preprod = { - enable = false; - secrets.storageEncryptionKeyFile = "/mnt/pre-prod/authelia/storageEncryptionKeyFile"; - secrets.jwtSecretFile = "/mnt/pre-prod/jwtSecretFile"; - settings = { - theme = "dark"; - default_2fa_method = "webauthn"; - server.host = "0.0.0.0"; + preprod = { + enable = false; + secrets.storageEncryptionKeyFile = "/mnt/pre-prod/authelia/storageEncryptionKeyFile"; + secrets.jwtSecretFile = "/mnt/pre-prod/jwtSecretFile"; + settings = { + theme = "dark"; + default_2fa_method = "webauthn"; + server.host = "0.0.0.0"; + }; }; - }; - test.enable = true; - test.secrets.manual = true; - test.settings.theme = "grey"; - test.settings.server.disable_healthcheck = true; - test.settingsFiles = [ "/mnt/test/authelia" "/mnt/test-authelia.conf" ]; - }; - } - ''; - }; + test.enable = true; + test.secrets.manual = true; + test.settings.theme = "grey"; + test.settings.server.disable_healthcheck = true; + test.settingsFiles = [ "/mnt/test/authelia" "/mnt/test-authelia.conf" ]; + }; + } + ''; + }; config = let - mkInstanceServiceConfig = instance: + mkInstanceServiceConfig = + instance: let cleanedSettings = - if (instance.settings.server?host || instance.settings.server?port || instance.settings.server?path) then - # Old settings are used: display a warning and remove the default value of server.address - # as authelia does not allow both old and new settings to be set - lib.warn "Please replace services.authelia.instances.${instance.name}.settings.{host,port,path} with services.authelia.instances.${instance.name}.settings.address, before release 5.0.0" - (removeAttrByPath instance.settings [ "server" "address" ]) + if + ( + instance.settings.server ? host + || instance.settings.server ? port + || instance.settings.server ? path + ) + then + # Old settings are used: display a warning and remove the default value of server.address + # as authelia does not allow both old and new settings to be set + lib.warn + "Please replace services.authelia.instances.${instance.name}.settings.{host,port,path} with services.authelia.instances.${instance.name}.settings.address, before release 5.0.0" + ( + removeAttrByPath instance.settings [ + "server" + "address" + ] + ) else instance.settings; execCommand = "${instance.package}/bin/authelia"; configFile = format.generate "config.yml" cleanedSettings; - oidcJwksConfigFile = lib.optional (instance.secrets.oidcIssuerPrivateKeyFile != null) (writeOidcJwksConfigFile instance.secrets.oidcIssuerPrivateKeyFile); - configArg = "--config ${builtins.concatStringsSep "," (lib.concatLists [[configFile] instance.settingsFiles oidcJwksConfigFile])}"; + oidcJwksConfigFile = lib.optional (instance.secrets.oidcIssuerPrivateKeyFile != null) ( + writeOidcJwksConfigFile instance.secrets.oidcIssuerPrivateKeyFile + ); + configArg = "--config ${ + builtins.concatStringsSep "," ( + lib.concatLists [ + [ configFile ] + instance.settingsFiles + oidcJwksConfigFile + ] + ) + }"; in { description = "Authelia authentication and authorization server"; @@ -352,7 +407,11 @@ in ProtectProc = "noaccess"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -372,46 +431,49 @@ in }; }; mkInstanceUsersConfig = instance: { - groups."authelia-${instance.name}" = - lib.mkIf (instance.group == "authelia-${instance.name}") { - name = "authelia-${instance.name}"; - }; - users."authelia-${instance.name}" = - lib.mkIf (instance.user == "authelia-${instance.name}") { - name = "authelia-${instance.name}"; - isSystemUser = true; - group = instance.group; - }; + groups."authelia-${instance.name}" = lib.mkIf (instance.group == "authelia-${instance.name}") { + name = "authelia-${instance.name}"; + }; + users."authelia-${instance.name}" = lib.mkIf (instance.user == "authelia-${instance.name}") { + name = "authelia-${instance.name}"; + isSystemUser = true; + group = instance.group; + }; }; instances = lib.attrValues cfg.instances; in { - assertions = lib.flatten (lib.flip lib.mapAttrsToList cfg.instances (name: instance: - [ - { - assertion = instance.secrets.manual || (instance.secrets.jwtSecretFile != null && instance.secrets.storageEncryptionKeyFile != null); - message = '' - Authelia requires a JWT Secret and a Storage Encryption Key to work. - Either set them like so: - services.authelia.${name}.secrets.jwtSecretFile = /my/path/to/jwtsecret; - services.authelia.${name}.secrets.storageEncryptionKeyFile = /my/path/to/encryptionkey; - Or set services.authelia.${name}.secrets.manual = true and provide them yourself via - environmentVariables or settingsFiles. - Do not include raw secrets in nix settings. - ''; - } - ] - )); - - systemd.services = lib.mkMerge - (map - (instance: lib.mkIf instance.enable { + assertions = lib.flatten ( + lib.flip lib.mapAttrsToList cfg.instances ( + name: instance: [ + { + assertion = + instance.secrets.manual + || (instance.secrets.jwtSecretFile != null && instance.secrets.storageEncryptionKeyFile != null); + message = '' + Authelia requires a JWT Secret and a Storage Encryption Key to work. + Either set them like so: + services.authelia.${name}.secrets.jwtSecretFile = /my/path/to/jwtsecret; + services.authelia.${name}.secrets.storageEncryptionKeyFile = /my/path/to/encryptionkey; + Or set services.authelia.${name}.secrets.manual = true and provide them yourself via + environmentVariables or settingsFiles. + Do not include raw secrets in nix settings. + ''; + } + ] + ) + ); + + systemd.services = lib.mkMerge ( + map ( + instance: + lib.mkIf instance.enable { "authelia-${instance.name}" = mkInstanceServiceConfig instance; - }) - instances); - users = lib.mkMerge - (map - (instance: lib.mkIf instance.enable (mkInstanceUsersConfig instance)) - instances); + } + ) instances + ); + users = lib.mkMerge ( + map (instance: lib.mkIf instance.enable (mkInstanceUsersConfig instance)) instances + ); }; } diff --git a/nixos/modules/services/security/bitwarden-directory-connector-cli.nix b/nixos/modules/services/security/bitwarden-directory-connector-cli.nix index fef4a88648979..633563a115618 100644 --- a/nixos/modules/services/security/bitwarden-directory-connector-cli.nix +++ b/nixos/modules/services/security/bitwarden-directory-connector-cli.nix @@ -4,13 +4,15 @@ pkgs, ... }: -with lib; let +with lib; +let cfg = config.services.bitwarden-directory-connector-cli; -in { +in +{ options.services.bitwarden-directory-connector-cli = { enable = mkEnableOption "Bitwarden Directory Connector"; - package = mkPackageOption pkgs "bitwarden-directory-connector-cli" {}; + package = mkPackageOption pkgs "bitwarden-directory-connector-cli" { }; domain = mkOption { type = types.str; @@ -35,72 +37,79 @@ in { Options to configure the LDAP connection. If you used the desktop application to test the configuration you can find the settings by searching for `ldap` in `~/.config/Bitwarden\ Directory\ Connector/data.json`. ''; - default = {}; - type = types.submodule ({ - config, - options, - ... - }: { - freeformType = types.attrsOf (pkgs.formats.json {}).type; - - config.finalJSON = builtins.toJSON (removeAttrs config (filter (x: x == "finalJSON" || ! options.${x}.isDefined or false) (attrNames options))); - - options = { - finalJSON = mkOption { - type = (pkgs.formats.json {}).type; - internal = true; - readOnly = true; - visible = false; - }; - - ssl = mkOption { - type = types.bool; - default = false; - description = "Whether to use TLS."; - }; - startTls = mkOption { - type = types.bool; - default = false; - description = "Whether to use STARTTLS."; - }; - - hostname = mkOption { - type = types.str; - description = "The host the LDAP is accessible on."; - example = "ldap.example.com"; - }; - - port = mkOption { - type = types.port; - default = 389; - description = "Port LDAP is accessible on."; - }; - - ad = mkOption { - type = types.bool; - default = false; - description = "Whether the LDAP Server is an Active Directory."; - }; - - pagedSearch = mkOption { - type = types.bool; - default = false; - description = "Whether the LDAP server paginates search results."; - }; - - rootPath = mkOption { - type = types.str; - description = "Root path for LDAP."; - example = "dc=example,dc=com"; + default = { }; + type = types.submodule ( + { + config, + options, + ... + }: + { + freeformType = types.attrsOf (pkgs.formats.json { }).type; + + config.finalJSON = builtins.toJSON ( + removeAttrs config ( + filter (x: x == "finalJSON" || !options.${x}.isDefined or false) (attrNames options) + ) + ); + + options = { + finalJSON = mkOption { + type = (pkgs.formats.json { }).type; + internal = true; + readOnly = true; + visible = false; + }; + + ssl = mkOption { + type = types.bool; + default = false; + description = "Whether to use TLS."; + }; + startTls = mkOption { + type = types.bool; + default = false; + description = "Whether to use STARTTLS."; + }; + + hostname = mkOption { + type = types.str; + description = "The host the LDAP is accessible on."; + example = "ldap.example.com"; + }; + + port = mkOption { + type = types.port; + default = 389; + description = "Port LDAP is accessible on."; + }; + + ad = mkOption { + type = types.bool; + default = false; + description = "Whether the LDAP Server is an Active Directory."; + }; + + pagedSearch = mkOption { + type = types.bool; + default = false; + description = "Whether the LDAP server paginates search results."; + }; + + rootPath = mkOption { + type = types.str; + description = "Root path for LDAP."; + example = "dc=example,dc=com"; + }; + + username = mkOption { + type = types.str; + description = "The user to authenticate as."; + example = "cn=admin,dc=example,dc=com"; + }; }; - - username = mkOption { - type = types.str; - description = "The user to authenticate as."; - example = "cn=admin,dc=example,dc=com"; - }; - }; - }); + } + ); }; sync = mkOption { @@ -108,125 +117,132 @@ in { Options to configure what gets synced. If you used the desktop application to test the configuration you can find the settings by searching for `sync` in `~/.config/Bitwarden\ Directory\ Connector/data.json`. ''; - default = {}; - type = types.submodule ({ - config, - options, - ... - }: { - freeformType = types.attrsOf (pkgs.formats.json {}).type; - - config.finalJSON = builtins.toJSON (removeAttrs config (filter (x: x == "finalJSON" || ! options.${x}.isDefined or false) (attrNames options))); - - options = { - finalJSON = mkOption { - type = (pkgs.formats.json {}).type; - internal = true; - readOnly = true; - visible = false; - }; - - removeDisabled = mkOption { - type = types.bool; - default = true; - description = "Remove users from bitwarden groups if no longer in the ldap group."; - }; - - overwriteExisting = mkOption { - type = types.bool; - default = false; - description = "Remove and re-add users/groups, See https://bitwarden.com/help/user-group-filters/#overwriting-syncs for more details."; - }; - - largeImport = mkOption { - type = types.bool; - default = false; - description = "Enable if you are syncing more than 2000 users/groups."; - }; - - memberAttribute = mkOption { - type = types.str; - description = "Attribute that lists members in a LDAP group."; - example = "uniqueMember"; - }; - - creationDateAttribute = mkOption { - type = types.str; - description = "Attribute that lists a user's creation date."; - example = "whenCreated"; - }; - - useEmailPrefixSuffix = mkOption { - type = types.bool; - default = false; - description = "If a user has no email address, combine a username prefix with a suffix value to form an email."; - }; - emailPrefixAttribute = mkOption { - type = types.str; - description = "The attribute that contains the users username."; - example = "accountName"; - }; - emailSuffix = mkOption { - type = types.str; - description = "Suffix for the email, normally @example.com."; - example = "@example.com"; - }; - - users = mkOption { - type = types.bool; - default = false; - description = "Sync users."; + default = { }; + type = types.submodule ( + { + config, + options, + ... + }: + { + freeformType = types.attrsOf (pkgs.formats.json { }).type; + + config.finalJSON = builtins.toJSON ( + removeAttrs config ( + filter (x: x == "finalJSON" || !options.${x}.isDefined or false) (attrNames options) + ) + ); + + options = { + finalJSON = mkOption { + type = (pkgs.formats.json { }).type; + internal = true; + readOnly = true; + visible = false; + }; + + removeDisabled = mkOption { + type = types.bool; + default = true; + description = "Remove users from bitwarden groups if no longer in the ldap group."; + }; + + overwriteExisting = mkOption { + type = types.bool; + default = false; + description = "Remove and re-add users/groups, See https://bitwarden.com/help/user-group-filters/#overwriting-syncs for more details."; + }; + + largeImport = mkOption { + type = types.bool; + default = false; + description = "Enable if you are syncing more than 2000 users/groups."; + }; + + memberAttribute = mkOption { + type = types.str; + description = "Attribute that lists members in a LDAP group."; + example = "uniqueMember"; + }; + + creationDateAttribute = mkOption { + type = types.str; + description = "Attribute that lists a user's creation date."; + example = "whenCreated"; + }; + + useEmailPrefixSuffix = mkOption { + type = types.bool; + default = false; + description = "If a user has no email address, combine a username prefix with a suffix value to form an email."; + }; + emailPrefixAttribute = mkOption { + type = types.str; + description = "The attribute that contains the users username."; + example = "accountName"; + }; + emailSuffix = mkOption { + type = types.str; + description = "Suffix for the email, normally @example.com."; + example = "@example.com"; + }; + + users = mkOption { + type = types.bool; + default = false; + description = "Sync users."; + }; + userPath = mkOption { + type = types.str; + description = "User directory, relative to root."; + default = "ou=users"; + }; + userObjectClass = mkOption { + type = types.str; + description = "Class that users must have."; + default = "inetOrgPerson"; + }; + userEmailAttribute = mkOption { + type = types.str; + description = "Attribute for a users email."; + default = "mail"; + }; + userFilter = mkOption { + type = types.str; + description = "LDAP filter for users."; + example = "(memberOf=cn=sales,ou=groups,dc=example,dc=com)"; + default = ""; + }; + + groups = mkOption { + type = types.bool; + default = false; + description = "Whether to sync ldap groups into BitWarden."; + }; + groupPath = mkOption { + type = types.str; + description = "Group directory, relative to root."; + default = "ou=groups"; + }; + groupObjectClass = mkOption { + type = types.str; + description = "A class that groups will have."; + default = "groupOfNames"; + }; + groupNameAttribute = mkOption { + type = types.str; + description = "Attribute for a name of group."; + default = "cn"; + }; + groupFilter = mkOption { + type = types.str; + description = "LDAP filter for groups."; + example = "(cn=sales)"; + default = ""; + }; }; - userPath = mkOption { - type = types.str; - description = "User directory, relative to root."; - default = "ou=users"; - }; - userObjectClass = mkOption { - type = types.str; - description = "Class that users must have."; - default = "inetOrgPerson"; - }; - userEmailAttribute = mkOption { - type = types.str; - description = "Attribute for a users email."; - default = "mail"; - }; - userFilter = mkOption { - type = types.str; - description = "LDAP filter for users."; - example = "(memberOf=cn=sales,ou=groups,dc=example,dc=com)"; - default = ""; - }; - - groups = mkOption { - type = types.bool; - default = false; - description = "Whether to sync ldap groups into BitWarden."; - }; - groupPath = mkOption { - type = types.str; - description = "Group directory, relative to root."; - default = "ou=groups"; - }; - groupObjectClass = mkOption { - type = types.str; - description = "A class that groups will have."; - default = "groupOfNames"; - }; - groupNameAttribute = mkOption { - type = types.str; - description = "Attribute for a name of group."; - default = "cn"; - }; - groupFilter = mkOption { - type = types.str; - description = "LDAP filter for groups."; - example = "(cn=sales)"; - default = ""; - }; - }; - }); + } + ); }; secrets = { @@ -249,7 +265,7 @@ in { }; config = mkIf cfg.enable { - users.groups."${cfg.user}" = {}; + users.groups."${cfg.user}" = { }; users.users."${cfg.user}" = { isSystemUser = true; group = cfg.user; @@ -258,9 +274,9 @@ in { systemd = { timers.bitwarden-directory-connector-cli = { description = "Sync timer for Bitwarden Directory Connector"; - wantedBy = ["timers.target"]; - after = ["network-online.target"]; - wants = ["network-online.target"]; + wantedBy = [ "timers.target" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; timerConfig = { OnCalendar = cfg.interval; Unit = "bitwarden-directory-connector-cli.service"; @@ -270,7 +286,7 @@ in { services.bitwarden-directory-connector-cli = { description = "Main process for Bitwarden Directory Connector"; - path = [pkgs.jq]; + path = [ pkgs.jq ]; environment = { BITWARDENCLI_CONNECTOR_APPDATA_DIR = "/tmp"; @@ -319,5 +335,5 @@ in { }; }; - meta.maintainers = with maintainers; [Silver-Golden]; + meta.maintainers = with maintainers; [ Silver-Golden ]; } diff --git a/nixos/modules/services/security/certmgr.nix b/nixos/modules/services/security/certmgr.nix index c6d6e83576c5c..f3164072b6b51 100644 --- a/nixos/modules/services/security/certmgr.nix +++ b/nixos/modules/services/security/certmgr.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -12,24 +17,29 @@ let allSpecs = pkgs.linkFarm "certmgr.d" specs; - certmgrYaml = pkgs.writeText "certmgr.yaml" (builtins.toJSON { - dir = allSpecs; - default_remote = cfg.defaultRemote; - svcmgr = cfg.svcManager; - before = cfg.validMin; - interval = cfg.renewInterval; - inherit (cfg) metricsPort metricsAddress; - }); - - specPaths = map dirOf (concatMap (spec: - if isAttrs spec then - collect isString (filterAttrsRecursive (n: v: isAttrs v || n == "path") spec) - else - [ spec ] - ) (attrValues cfg.specs)); + certmgrYaml = pkgs.writeText "certmgr.yaml" ( + builtins.toJSON { + dir = allSpecs; + default_remote = cfg.defaultRemote; + svcmgr = cfg.svcManager; + before = cfg.validMin; + interval = cfg.renewInterval; + inherit (cfg) metricsPort metricsAddress; + } + ); + + specPaths = map dirOf ( + concatMap ( + spec: + if isAttrs spec then + collect isString (filterAttrsRecursive (n: v: isAttrs v || n == "path") spec) + else + [ spec ] + ) (attrValues cfg.specs) + ); preStart = '' - ${concatStringsSep " \\\n" (["mkdir -p"] ++ map escapeShellArg specPaths)} + ${concatStringsSep " \\\n" ([ "mkdir -p" ] ++ map escapeShellArg specPaths)} ${cfg.package}/bin/certmgr -f ${certmgrYaml} check ''; in @@ -70,80 +80,92 @@ in }; specs = mkOption { - default = {}; + default = { }; example = literalExpression '' - { - exampleCert = - let - domain = "example.com"; - secret = name: "/var/lib/secrets/''${name}.pem"; - in { - service = "nginx"; - action = "reload"; - authority = { - file.path = secret "ca"; - }; - certificate = { - path = secret domain; - }; - private_key = { - owner = "root"; - group = "root"; - mode = "0600"; - path = secret "''${domain}-key"; - }; - request = { - CN = domain; - hosts = [ "mail.''${domain}" "www.''${domain}" ]; - key = { - algo = "rsa"; - size = 2048; + { + exampleCert = + let + domain = "example.com"; + secret = name: "/var/lib/secrets/''${name}.pem"; + in { + service = "nginx"; + action = "reload"; + authority = { + file.path = secret "ca"; }; - names = { - O = "Example Organization"; - C = "USA"; + certificate = { + path = secret domain; + }; + private_key = { + owner = "root"; + group = "root"; + mode = "0600"; + path = secret "''${domain}-key"; + }; + request = { + CN = domain; + hosts = [ "mail.''${domain}" "www.''${domain}" ]; + key = { + algo = "rsa"; + size = 2048; + }; + names = { + O = "Example Organization"; + C = "USA"; + }; }; }; - }; - otherCert = "/var/certmgr/specs/other-cert.json"; - } + otherCert = "/var/certmgr/specs/other-cert.json"; + } ''; - type = with types; attrsOf (either path (submodule { - options = { - service = mkOption { - type = nullOr str; - default = null; - description = "The service on which to perform \ after fetching."; - }; - - action = mkOption { - type = addCheck str (x: cfg.svcManager == "command" || elem x ["restart" "reload" "nop"]); - default = "nop"; - description = "The action to take after fetching."; - }; - - # These ought all to be specified according to certmgr spec def. - authority = mkOption { - type = attrs; - description = "certmgr spec authority object."; - }; - - certificate = mkOption { - type = nullOr attrs; - description = "certmgr spec certificate object."; - }; - - private_key = mkOption { - type = nullOr attrs; - description = "certmgr spec private_key object."; - }; - - request = mkOption { - type = nullOr attrs; - description = "certmgr spec request object."; - }; - }; - })); + type = + with types; + attrsOf ( + either path (submodule { + options = { + service = mkOption { + type = nullOr str; + default = null; + description = "The service on which to perform \ after fetching."; + }; + + action = mkOption { + type = addCheck str ( + x: + cfg.svcManager == "command" + || elem x [ + "restart" + "reload" + "nop" + ] + ); + default = "nop"; + description = "The action to take after fetching."; + }; + + # These ought all to be specified according to certmgr spec def. + authority = mkOption { + type = attrs; + description = "certmgr spec authority object."; + }; + + certificate = mkOption { + type = nullOr attrs; + description = "certmgr spec certificate object."; + }; + + private_key = mkOption { + type = nullOr attrs; + description = "certmgr spec private_key object."; + }; + + request = mkOption { + type = nullOr attrs; + description = "certmgr spec request object."; + }; + }; + }) + ); description = '' Certificate specs as described by: @@ -153,7 +175,14 @@ in svcManager = mkOption { default = "systemd"; - type = types.enum [ "circus" "command" "dummy" "openrc" "systemd" "sysv" ]; + type = types.enum [ + "circus" + "command" + "dummy" + "openrc" + "systemd" + "sysv" + ]; description = '' This specifies the service manager to use for restarting or reloading services. See: . @@ -167,11 +196,15 @@ in config = mkIf cfg.enable { assertions = [ { - assertion = cfg.specs != {}; + assertion = cfg.specs != { }; message = "Certmgr specs cannot be empty."; } { - assertion = !any (hasAttrByPath [ "authority" "auth_key" ]) (attrValues cfg.specs); + assertion = + !any (hasAttrByPath [ + "authority" + "auth_key" + ]) (attrValues cfg.specs); message = '' Inline services.certmgr.specs are added to the Nix store rendering them world readable. Specify paths as specs, if you want to use include auth_key - or use the auth_key_file option." diff --git a/nixos/modules/services/security/cfssl.nix b/nixos/modules/services/security/cfssl.nix index a6012e78c5b64..9e22121f97f67 100644 --- a/nixos/modules/services/security/cfssl.nix +++ b/nixos/modules/services/security/cfssl.nix @@ -1,10 +1,17 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.cfssl; -in { +in +{ options.services.cfssl = { enable = mkEnableOption "the CFSSL CA api-server"; @@ -150,7 +157,14 @@ in { logLevel = mkOption { default = 1; - type = types.enum [ 0 1 2 3 4 5 ]; + type = types.enum [ + 0 + 1 + 2 + 3 + 4 + 5 + ]; description = "Log level (0 = DEBUG, 5 = FATAL)."; }; }; @@ -179,9 +193,11 @@ in { User = "cfssl"; Group = "cfssl"; - ExecStart = with cfg; let - opt = n: v: optionalString (v != null) ''-${n}="${v}"''; - in + ExecStart = + with cfg; + let + opt = n: v: optionalString (v != null) ''-${n}="${v}"''; + in lib.concatStringsSep " \\\n" [ "${pkgs.cfssl}/bin/cfssl serve" (opt "address" address) diff --git a/nixos/modules/services/security/endlessh-go.nix b/nixos/modules/services/security/endlessh-go.nix index 9f9225994c7ff..8a22c01390a65 100644 --- a/nixos/modules/services/security/endlessh-go.nix +++ b/nixos/modules/services/security/endlessh-go.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -59,7 +64,10 @@ in extraOptions = mkOption { type = with types; listOf str; default = [ ]; - example = [ "-conn_type=tcp4" "-max_clients=8192" ]; + example = [ + "-conn_type=tcp4" + "-max_clients=8192" + ]; description = '' Additional command line options to pass to the endlessh-go daemon. ''; @@ -87,16 +95,22 @@ in in { Restart = "always"; - ExecStart = with cfg; concatStringsSep " " ([ - (lib.getExe cfg.package) - "-logtostderr" - "-host=${listenAddress}" - "-port=${toString port}" - ] ++ optionals prometheus.enable [ - "-enable_prometheus" - "-prometheus_host=${prometheus.listenAddress}" - "-prometheus_port=${toString prometheus.port}" - ] ++ extraOptions); + ExecStart = + with cfg; + concatStringsSep " " ( + [ + (lib.getExe cfg.package) + "-logtostderr" + "-host=${listenAddress}" + "-port=${toString port}" + ] + ++ optionals prometheus.enable [ + "-enable_prometheus" + "-prometheus_host=${prometheus.listenAddress}" + "-prometheus_port=${toString prometheus.port}" + ] + ++ extraOptions + ); DynamicUser = true; RootDirectory = rootDirectory; BindReadOnlyPaths = [ builtins.storeDir ]; @@ -123,17 +137,22 @@ in ProtectProc = "noaccess"; ProcSubset = "pid"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; - networking.firewall.allowedTCPPorts = with cfg; - optionals openFirewall [ port ]; + networking.firewall.allowedTCPPorts = with cfg; optionals openFirewall [ port ]; }; meta.maintainers = with maintainers; [ azahi ]; diff --git a/nixos/modules/services/security/endlessh.nix b/nixos/modules/services/security/endlessh.nix index cb7480dbeaba0..479e27d18ccd7 100644 --- a/nixos/modules/services/security/endlessh.nix +++ b/nixos/modules/services/security/endlessh.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -24,7 +29,11 @@ in extraOptions = mkOption { type = with types; listOf str; default = [ ]; - example = [ "-6" "-d 9000" "-v" ]; + example = [ + "-6" + "-d 9000" + "-v" + ]; description = '' Additional command line options to pass to the endlessh daemon. ''; @@ -52,10 +61,15 @@ in in { Restart = "always"; - ExecStart = with cfg; concatStringsSep " " ([ - "${pkgs.endlessh}/bin/endlessh" - "-p ${toString port}" - ] ++ extraOptions); + ExecStart = + with cfg; + concatStringsSep " " ( + [ + "${pkgs.endlessh}/bin/endlessh" + "-p ${toString port}" + ] + ++ extraOptions + ); DynamicUser = true; RootDirectory = rootDirectory; BindReadOnlyPaths = [ builtins.storeDir ]; @@ -82,17 +96,23 @@ in ProtectProc = "noaccess"; ProcSubset = "pid"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@resources" + "~@privileged" + ]; }; }; - networking.firewall.allowedTCPPorts = with cfg; - optionals openFirewall [ port ]; + networking.firewall.allowedTCPPorts = with cfg; optionals openFirewall [ port ]; }; meta.maintainers = with maintainers; [ azahi ]; diff --git a/nixos/modules/services/security/esdm.nix b/nixos/modules/services/security/esdm.nix index 835c3b6a090e2..fbce629262751 100644 --- a/nixos/modules/services/security/esdm.nix +++ b/nixos/modules/services/security/esdm.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.esdm; @@ -44,10 +49,22 @@ in # It is necessary to set those options for these services to be started by systemd in NixOS (lib.mkIf cfg.enableLinuxCompatServices { systemd.targets."esdm-linux-compat".wantedBy = [ "basic.target" ]; - systemd.services."esdm-server-suspend".wantedBy = [ "sleep.target" "suspend.target" "hibernate.target" ]; - systemd.services."esdm-server-resume".wantedBy = [ "sleep.target" "suspend.target" "hibernate.target" ]; + systemd.services."esdm-server-suspend".wantedBy = [ + "sleep.target" + "suspend.target" + "hibernate.target" + ]; + systemd.services."esdm-server-resume".wantedBy = [ + "sleep.target" + "suspend.target" + "hibernate.target" + ]; }) - ]); + ] + ); - meta.maintainers = with lib.maintainers; [ orichter thillux ]; + meta.maintainers = with lib.maintainers; [ + orichter + thillux + ]; } diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix index 8be2faa5754d7..d006f08f121a4 100644 --- a/nixos/modules/services/security/fail2ban.nix +++ b/nixos/modules/services/security/fail2ban.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -11,14 +16,19 @@ let mkKeyValue = generators.mkKeyValueDefault { } " = "; }; - mkJailConfig = name: attrs: - optionalAttrs (name != "DEFAULT") { inherit (attrs) enabled; } // - optionalAttrs (attrs.filter != null) { filter = if (builtins.isString filter) then filter else name; } // - attrs.settings; - - mkFilter = name: attrs: nameValuePair "fail2ban/filter.d/${name}.conf" { - source = configFormat.generate "filter.d/${name}.conf" attrs.filter; - }; + mkJailConfig = + name: attrs: + optionalAttrs (name != "DEFAULT") { inherit (attrs) enabled; } + // optionalAttrs (attrs.filter != null) { + filter = if (builtins.isString filter) then filter else name; + } + // attrs.settings; + + mkFilter = + name: attrs: + nameValuePair "fail2ban/filter.d/${name}.conf" { + source = configFormat.generate "filter.d/${name}.conf" attrs.filter; + }; fail2banConf = configFormat.generate "fail2ban.local" cfg.daemonSettings; @@ -30,17 +40,23 @@ let configFile = configFormat.generate "jail.local" ( { INCLUDES.before = "paths-nixos.conf"; } // (mapAttrs mkJailConfig attrsJails) ); - extraConfig = concatStringsSep "\n" (attrValues (mapAttrs - (name: def: - optionalString (def != "") - '' + extraConfig = concatStringsSep "\n" ( + attrValues ( + mapAttrs ( + name: def: + optionalString (def != "") '' [${name}] ${def} - '') - strJails)); + '' + ) strJails + ) + ); in - pkgs.concatText "jail.local" [ configFile (pkgs.writeText "extra-jail.local" extraConfig) ]; + pkgs.concatText "jail.local" [ + configFile + (pkgs.writeText "extra-jail.local" extraConfig) + ]; pathsConf = pkgs.writeText "paths-nixos.conf" '' # NixOS @@ -58,8 +74,14 @@ in { imports = [ - (mkRemovedOptionModule [ "services" "fail2ban" "daemonConfig" ] "The daemon is now configured through the attribute set `services.fail2ban.daemonSettings`.") - (mkRemovedOptionModule [ "services" "fail2ban" "extraSettings" ] "The extra default configuration can now be set using `services.fail2ban.jails.DEFAULT.settings`.") + (mkRemovedOptionModule [ + "services" + "fail2ban" + "daemonConfig" + ] "The daemon is now configured through the attribute set `services.fail2ban.daemonSettings`.") + (mkRemovedOptionModule [ "services" "fail2ban" "extraSettings" ] + "The extra default configuration can now be set using `services.fail2ban.jails.DEFAULT.settings`." + ) ]; ###### interface @@ -207,7 +229,10 @@ in ignoreIP = mkOption { default = [ ]; type = types.listOf types.str; - example = [ "192.168.0.0/16" "2001:DB8::42" ]; + example = [ + "192.168.0.0/16" + "2001:DB8::42" + ]; description = '' "ignoreIP" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban will not ban a host which matches an address in this list. Several addresses can be defined using space (and/or comma) separator. @@ -261,28 +286,37 @@ in }; }; ''; - type = with types; attrsOf (either lines (submodule ({ name, ... }: { - options = { - enabled = mkEnableOption "this jail" // { - default = true; - readOnly = name == "DEFAULT"; - }; - - filter = mkOption { - type = nullOr (either str configFormat.type); - - default = null; - description = "Content of the filter used for this jail."; - }; - - settings = mkOption { - inherit (settingsFormat) type; - - default = { }; - description = "Additional settings for this jail."; - }; - }; - }))); + type = + with types; + attrsOf ( + either lines ( + submodule ( + { name, ... }: + { + options = { + enabled = mkEnableOption "this jail" // { + default = true; + readOnly = name == "DEFAULT"; + }; + + filter = mkOption { + type = nullOr (either str configFormat.type); + + default = null; + description = "Content of the filter used for this jail."; + }; + + settings = mkOption { + inherit (settingsFormat) type; + + default = { }; + description = "Additional settings for this jail."; + }; + }; + } + ) + ) + ); description = '' The configuration of each Fail2ban “jail”. A jail consists of an action (such as blocking a port using @@ -326,29 +360,46 @@ in environment.systemPackages = [ cfg.package ]; - environment.etc = { - "fail2ban/fail2ban.local".source = fail2banConf; - "fail2ban/jail.local".source = jailConf; - "fail2ban/fail2ban.conf".source = "${cfg.package}/etc/fail2ban/fail2ban.conf"; - "fail2ban/jail.conf".source = "${cfg.package}/etc/fail2ban/jail.conf"; - "fail2ban/paths-common.conf".source = "${cfg.package}/etc/fail2ban/paths-common.conf"; - "fail2ban/paths-nixos.conf".source = pathsConf; - "fail2ban/action.d".source = "${cfg.package}/etc/fail2ban/action.d/*.conf"; - "fail2ban/filter.d".source = "${cfg.package}/etc/fail2ban/filter.d/*.conf"; - } // (mapAttrs' mkFilter (filterAttrs (_: v: v.filter != null && !builtins.isString v.filter) attrsJails)); + environment.etc = + { + "fail2ban/fail2ban.local".source = fail2banConf; + "fail2ban/jail.local".source = jailConf; + "fail2ban/fail2ban.conf".source = "${cfg.package}/etc/fail2ban/fail2ban.conf"; + "fail2ban/jail.conf".source = "${cfg.package}/etc/fail2ban/jail.conf"; + "fail2ban/paths-common.conf".source = "${cfg.package}/etc/fail2ban/paths-common.conf"; + "fail2ban/paths-nixos.conf".source = pathsConf; + "fail2ban/action.d".source = "${cfg.package}/etc/fail2ban/action.d/*.conf"; + "fail2ban/filter.d".source = "${cfg.package}/etc/fail2ban/filter.d/*.conf"; + } + // (mapAttrs' mkFilter ( + filterAttrs (_: v: v.filter != null && !builtins.isString v.filter) attrsJails + )); systemd.packages = [ cfg.package ]; systemd.services.fail2ban = { wantedBy = [ "multi-user.target" ]; partOf = optional config.networking.firewall.enable "firewall.service"; - restartTriggers = [ fail2banConf jailConf pathsConf ]; + restartTriggers = [ + fail2banConf + jailConf + pathsConf + ]; - path = [ cfg.package cfg.packageFirewall pkgs.iproute2 ] ++ cfg.extraPackages; + path = [ + cfg.package + cfg.packageFirewall + pkgs.iproute2 + ] ++ cfg.extraPackages; serviceConfig = { # Capabilities - CapabilityBoundingSet = [ "CAP_AUDIT_READ" "CAP_DAC_READ_SEARCH" "CAP_NET_ADMIN" "CAP_NET_RAW" ]; + CapabilityBoundingSet = [ + "CAP_AUDIT_READ" + "CAP_DAC_READ_SEARCH" + "CAP_NET_ADMIN" + "CAP_NET_RAW" + ]; # Security NoNewPrivileges = true; # Directory @@ -382,24 +433,30 @@ in # sets default values for all other jails. services.fail2ban.jails = mkMerge [ { - DEFAULT.settings = (optionalAttrs cfg.bantime-increment.enable - ({ "bantime.increment" = cfg.bantime-increment.enable; } // (mapAttrs' - (name: nameValuePair "bantime.${name}") - (filterAttrs (n: v: v != null && n != "enable") cfg.bantime-increment)) - ) - ) // { - # Miscellaneous options - inherit (cfg) banaction maxretry bantime; - ignoreip = ''127.0.0.1/8 ${optionalString config.networking.enableIPv6 "::1"} ${concatStringsSep " " cfg.ignoreIP}''; - backend = "systemd"; - # Actions - banaction_allports = cfg.banaction-allports; - }; + DEFAULT.settings = + (optionalAttrs cfg.bantime-increment.enable ( + { + "bantime.increment" = cfg.bantime-increment.enable; + } + // (mapAttrs' (name: nameValuePair "bantime.${name}") ( + filterAttrs (n: v: v != null && n != "enable") cfg.bantime-increment + )) + )) + // { + # Miscellaneous options + inherit (cfg) banaction maxretry bantime; + ignoreip = ''127.0.0.1/8 ${optionalString config.networking.enableIPv6 "::1"} ${concatStringsSep " " cfg.ignoreIP}''; + backend = "systemd"; + # Actions + banaction_allports = cfg.banaction-allports; + }; } # Block SSH if there are too many failing connection attempts. (mkIf config.services.openssh.enable { - sshd.settings.port = mkDefault (concatMapStringsSep "," builtins.toString config.services.openssh.ports); + sshd.settings.port = mkDefault ( + concatMapStringsSep "," builtins.toString config.services.openssh.ports + ); }) ]; diff --git a/nixos/modules/services/security/haka.nix b/nixos/modules/services/security/haka.nix index 4a6325d65ad14..05bb6025e5ec3 100644 --- a/nixos/modules/services/security/haka.nix +++ b/nixos/modules/services/security/haka.nix @@ -1,6 +1,11 @@ # This module defines global configuration for Haka. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -10,12 +15,14 @@ let haka = cfg.package; - hakaConf = pkgs.writeText "haka.conf" - '' + hakaConf = pkgs.writeText "haka.conf" '' [general] - configuration = ${if lib.strings.hasPrefix "/" cfg.configFile - then "${cfg.configFile}" - else "${haka}/share/haka/sample/${cfg.configFile}"} + configuration = ${ + if lib.strings.hasPrefix "/" cfg.configFile then + "${cfg.configFile}" + else + "${haka}/share/haka/sample/${cfg.configFile}" + } ${optionalString (builtins.lessThan 0 cfg.threads) "thread = ${cfg.threads}"} [packet] @@ -99,14 +106,14 @@ in nfqueue = mkEnableOption "nfqueue"; dump.enable = mkEnableOption "dump"; - dump.input = mkOption { + dump.input = mkOption { default = "/tmp/input.pcap"; example = "/path/to/file.pcap"; type = types.path; description = "Path to file where incoming packets are dumped"; }; - dump.output = mkOption { + dump.output = mkOption { default = "/tmp/output.pcap"; example = "/path/to/file.pcap"; type = types.path; @@ -115,22 +122,24 @@ in }; }; - ###### implementation config = mkIf cfg.enable { assertions = [ - { assertion = cfg.pcap != cfg.nfqueue; + { + assertion = cfg.pcap != cfg.nfqueue; message = "either pcap or nfqueue can be enabled, not both."; } - { assertion = cfg.nfqueue -> !cfg.dump.enable; + { + assertion = cfg.nfqueue -> !cfg.dump.enable; message = "dump can only be used with nfqueue."; } - { assertion = cfg.interfaces != []; + { + assertion = cfg.interfaces != [ ]; message = "at least one interface must be specified."; - }]; - + } + ]; environment.systemPackages = [ haka ]; diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix index 4c686d74268af..778877825bb6a 100644 --- a/nixos/modules/services/security/haveged.nix +++ b/nixos/modules/services/security/haveged.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -46,14 +51,21 @@ in }; wantedBy = [ "sysinit.target" ]; after = [ "systemd-tmpfiles-setup-dev.service" ]; - before = [ "sysinit.target" "shutdown.target" "systemd-journald.service" ]; + before = [ + "sysinit.target" + "shutdown.target" + "systemd-journald.service" + ]; serviceConfig = { ExecStart = "${pkgs.haveged}/bin/haveged -w ${toString cfg.refill_threshold} --Foreground -v 1"; Restart = "always"; SuccessExitStatus = "137 143"; SecureBits = "noroot-locked"; - CapabilityBoundingSet = [ "CAP_SYS_ADMIN" "CAP_SYS_CHROOT" ]; + CapabilityBoundingSet = [ + "CAP_SYS_ADMIN" + "CAP_SYS_CHROOT" + ]; # We can *not* set PrivateTmp=true as it can cause an ordering cycle. PrivateTmp = false; PrivateDevices = true; @@ -67,7 +79,11 @@ in LockPersonality = true; MemoryDenyWriteExecute = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "newuname" "~@mount" ]; + SystemCallFilter = [ + "@system-service" + "newuname" + "~@mount" + ]; SystemCallErrorNumber = "EPERM"; }; diff --git a/nixos/modules/services/security/hockeypuck.nix b/nixos/modules/services/security/hockeypuck.nix index 2e7d6ef5b0e32..4352241a1ae9b 100644 --- a/nixos/modules/services/security/hockeypuck.nix +++ b/nixos/modules/services/security/hockeypuck.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hockeypuck; settingsFormat = pkgs.formats.toml { }; -in { +in +{ meta.maintainers = with lib.maintainers; [ etu ]; options.services.hockeypuck = { @@ -85,11 +91,14 @@ in { group = "hockeypuck"; description = "Hockeypuck user"; }; - users.groups.hockeypuck = {}; + users.groups.hockeypuck = { }; systemd.services.hockeypuck = { description = "Hockeypuck OpenPGP Key Server"; - after = [ "network.target" "postgresql.target" ]; + after = [ + "network.target" + "postgresql.target" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { WorkingDirectory = "/var/lib/hockeypuck"; diff --git a/nixos/modules/services/security/hologram-agent.nix b/nixos/modules/services/security/hologram-agent.nix index a2cf9611d677b..e28efd1d12f6c 100644 --- a/nixos/modules/services/security/hologram-agent.nix +++ b/nixos/modules/services/security/hologram-agent.nix @@ -1,14 +1,22 @@ -{pkgs, config, lib, ...}: +{ + pkgs, + config, + lib, + ... +}: with lib; let cfg = config.services.hologram-agent; - cfgFile = pkgs.writeText "hologram-agent.json" (builtins.toJSON { - host = cfg.dialAddress; - }); -in { + cfgFile = pkgs.writeText "hologram-agent.json" ( + builtins.toJSON { + host = cfg.dialAddress; + } + ); +in +{ options = { services.hologram-agent = { enable = mkOption { @@ -18,14 +26,14 @@ in { }; dialAddress = mkOption { - type = types.str; - default = "localhost:3100"; + type = types.str; + default = "localhost:3100"; description = "Hologram server and port."; }; httpPort = mkOption { - type = types.str; - default = "80"; + type = types.str; + default = "80"; description = "Port for metadata service to listen on."; }; @@ -36,14 +44,20 @@ in { boot.kernelModules = [ "dummy" ]; networking.interfaces.dummy0.ipv4.addresses = [ - { address = "169.254.169.254"; prefixLength = 32; } + { + address = "169.254.169.254"; + prefixLength = 32; + } ]; systemd.services.hologram-agent = { description = "Provide EC2 instance credentials to machines outside of EC2"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - requires = [ "network-link-dummy0.service" "network-addresses-dummy0.service" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + requires = [ + "network-link-dummy0.service" + "network-addresses-dummy0.service" + ]; preStart = '' /run/current-system/sw/bin/rm -fv /run/hologram.sock ''; diff --git a/nixos/modules/services/security/hologram-server.nix b/nixos/modules/services/security/hologram-server.nix index 4acf6ae0e2182..58e2e58e9c0bb 100644 --- a/nixos/modules/services/security/hologram-server.nix +++ b/nixos/modules/services/security/hologram-server.nix @@ -1,33 +1,41 @@ -{pkgs, config, lib, ...}: +{ + pkgs, + config, + lib, + ... +}: with lib; let cfg = config.services.hologram-server; - cfgFile = pkgs.writeText "hologram-server.json" (builtins.toJSON { - ldap = { - host = cfg.ldapHost; - bind = { - dn = cfg.ldapBindDN; - password = cfg.ldapBindPassword; - }; - insecureldap = cfg.ldapInsecure; - userattr = cfg.ldapUserAttr; - baseDN = cfg.ldapBaseDN; - enableldapRoles = cfg.enableLdapRoles; - roleAttr = cfg.roleAttr; - groupClassAttr = cfg.groupClassAttr; - }; - aws = { - account = cfg.awsAccount; - defaultrole = cfg.awsDefaultRole; - }; - stats = cfg.statsAddress; - listen = cfg.listenAddress; - cachetimeout = cfg.cacheTimeoutSeconds; - }); -in { + cfgFile = pkgs.writeText "hologram-server.json" ( + builtins.toJSON { + ldap = { + host = cfg.ldapHost; + bind = { + dn = cfg.ldapBindDN; + password = cfg.ldapBindPassword; + }; + insecureldap = cfg.ldapInsecure; + userattr = cfg.ldapUserAttr; + baseDN = cfg.ldapBaseDN; + enableldapRoles = cfg.enableLdapRoles; + roleAttr = cfg.roleAttr; + groupClassAttr = cfg.groupClassAttr; + }; + aws = { + account = cfg.awsAccount; + defaultrole = cfg.awsDefaultRole; + }; + stats = cfg.statsAddress; + listen = cfg.listenAddress; + cachetimeout = cfg.cacheTimeoutSeconds; + } + ); +in +{ options = { services.hologram-server = { enable = mkOption { @@ -37,46 +45,46 @@ in { }; listenAddress = mkOption { - type = types.str; - default = "0.0.0.0:3100"; + type = types.str; + default = "0.0.0.0:3100"; description = "Address and port to listen on"; }; ldapHost = mkOption { - type = types.str; + type = types.str; description = "Address of the LDAP server to use"; }; ldapInsecure = mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = "Whether to connect to LDAP over SSL or not"; }; ldapUserAttr = mkOption { - type = types.str; - default = "cn"; + type = types.str; + default = "cn"; description = "The LDAP attribute for usernames"; }; ldapBaseDN = mkOption { - type = types.str; + type = types.str; description = "The base DN for your Hologram users"; }; ldapBindDN = mkOption { - type = types.str; + type = types.str; description = "DN of account to use to query the LDAP server"; }; ldapBindPassword = mkOption { - type = types.str; + type = types.str; description = "Password of account to use to query the LDAP server"; }; enableLdapRoles = mkOption { - type = types.bool; - default = false; + type = types.bool; + default = false; description = "Whether to assign user roles based on the user's LDAP group memberships"; }; @@ -87,30 +95,30 @@ in { }; roleAttr = mkOption { - type = types.str; - default = "businessCategory"; + type = types.str; + default = "businessCategory"; description = "Which LDAP group attribute to search for authorized role ARNs"; }; awsAccount = mkOption { - type = types.str; + type = types.str; description = "AWS account number"; }; awsDefaultRole = mkOption { - type = types.str; + type = types.str; description = "AWS default role"; }; statsAddress = mkOption { - type = types.str; - default = ""; + type = types.str; + default = ""; description = "Address of statsd server"; }; cacheTimeoutSeconds = mkOption { - type = types.int; - default = 3600; + type = types.int; + default = 3600; description = "How often (in seconds) to refresh the LDAP cache"; }; }; @@ -119,8 +127,8 @@ in { config = mkIf cfg.enable { systemd.services.hologram-server = { description = "Provide EC2 instance credentials to machines outside of EC2"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.hologram}/bin/hologram-server --debug --conf ${cfgFile}"; diff --git a/nixos/modules/services/security/infnoise.nix b/nixos/modules/services/security/infnoise.nix index 4fb8adaf33f89..36dce8bb3e038 100644 --- a/nixos/modules/services/security/infnoise.nix +++ b/nixos/modules/services/security/infnoise.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.infnoise; -in { +in +{ options = { services.infnoise = { enable = mkEnableOption "the Infinite Noise TRNG driver"; diff --git a/nixos/modules/services/security/intune.nix b/nixos/modules/services/security/intune.nix index c0f1ca77031dc..59ae735a1a8ca 100644 --- a/nixos/modules/services/security/intune.nix +++ b/nixos/modules/services/security/intune.nix @@ -1,7 +1,8 @@ -{ config -, pkgs -, lib -, ... +{ + config, + pkgs, + lib, + ... }: let cfg = config.services.intune; @@ -11,7 +12,6 @@ in enable = lib.mkEnableOption "Microsoft Intune"; }; - config = lib.mkIf cfg.enable { users.users.microsoft-identity-broker = { group = "microsoft-identity-broker"; @@ -19,8 +19,14 @@ in }; users.groups.microsoft-identity-broker = { }; - environment.systemPackages = [ pkgs.microsoft-identity-broker pkgs.intune-portal ]; - systemd.packages = [ pkgs.microsoft-identity-broker pkgs.intune-portal ]; + environment.systemPackages = [ + pkgs.microsoft-identity-broker + pkgs.intune-portal + ]; + systemd.packages = [ + pkgs.microsoft-identity-broker + pkgs.intune-portal + ]; systemd.tmpfiles.packages = [ pkgs.intune-portal ]; services.dbus.packages = [ pkgs.microsoft-identity-broker ]; diff --git a/nixos/modules/services/security/jitterentropy-rngd.nix b/nixos/modules/services/security/jitterentropy-rngd.nix index 104aeccebc9cc..190250a023664 100644 --- a/nixos/modules/services/security/jitterentropy-rngd.nix +++ b/nixos/modules/services/security/jitterentropy-rngd.nix @@ -1,11 +1,15 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.jitterentropy-rngd; in { options.services.jitterentropy-rngd = { - enable = - lib.mkEnableOption "jitterentropy-rngd service configuration"; + enable = lib.mkEnableOption "jitterentropy-rngd service configuration"; package = lib.mkPackageOption pkgs "jitterentropy-rngd" { }; }; diff --git a/nixos/modules/services/security/munge.nix b/nixos/modules/services/security/munge.nix index e124f098bfbd3..16481f116532e 100644 --- a/nixos/modules/services/security/munge.nix +++ b/nixos/modules/services/security/munge.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -36,12 +41,12 @@ in environment.systemPackages = [ pkgs.munge ]; users.users.munge = { - description = "Munge daemon user"; - isSystemUser = true; - group = "munge"; + description = "Munge daemon user"; + isSystemUser = true; + group = "munge"; }; - users.groups.munge = {}; + users.groups.munge = { }; systemd.services.munged = { wantedBy = [ "multi-user.target" ]; @@ -54,7 +59,10 @@ in "time-sync.target" ]; - path = [ pkgs.munge pkgs.coreutils ]; + path = [ + pkgs.munge + pkgs.coreutils + ]; serviceConfig = { ExecStartPre = "+${pkgs.coreutils}/bin/chmod 0400 ${cfg.password}"; diff --git a/nixos/modules/services/security/oauth2-proxy-nginx.nix b/nixos/modules/services/security/oauth2-proxy-nginx.nix index 2dffeb993803f..af1878cd09dc6 100644 --- a/nixos/modules/services/security/oauth2-proxy-nginx.nix +++ b/nixos/modules/services/security/oauth2-proxy-nginx.nix @@ -24,37 +24,43 @@ in }; virtualHosts = lib.mkOption { - type = let - vhostSubmodule = lib.types.submodule { - options = { - allowed_groups = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - description = "List of groups to allow access to this vhost, or null to allow all."; - default = null; - }; - allowed_emails = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - description = "List of emails to allow access to this vhost, or null to allow all."; - default = null; - }; - allowed_email_domains = lib.mkOption { - type = lib.types.nullOr (lib.types.listOf lib.types.str); - description = "List of email domains to allow access to this vhost, or null to allow all."; - default = null; + type = + let + vhostSubmodule = lib.types.submodule { + options = { + allowed_groups = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + description = "List of groups to allow access to this vhost, or null to allow all."; + default = null; + }; + allowed_emails = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + description = "List of emails to allow access to this vhost, or null to allow all."; + default = null; + }; + allowed_email_domains = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + description = "List of email domains to allow access to this vhost, or null to allow all."; + default = null; + }; }; }; - }; - oldType = lib.types.listOf lib.types.str; - convertFunc = x: - lib.warn "services.oauth2-proxy.nginx.virtualHosts should be an attrset, found ${lib.generators.toPretty {} x}" - lib.genAttrs x (_: {}); - newType = lib.types.attrsOf vhostSubmodule; - in lib.types.coercedTo oldType convertFunc newType; - default = {}; + oldType = lib.types.listOf lib.types.str; + convertFunc = + x: + lib.warn + "services.oauth2-proxy.nginx.virtualHosts should be an attrset, found ${lib.generators.toPretty { } x}" + lib.genAttrs + x + (_: { }); + newType = lib.types.attrsOf vhostSubmodule; + in + lib.types.coercedTo oldType convertFunc newType; + default = { }; example = { "protected.foo.com" = { - allowed_groups = ["admins"]; - allowed_emails = ["boss@foo.com"]; + allowed_groups = [ "admins" ]; + allowed_emails = [ "boss@foo.com" ]; }; }; description = '' @@ -64,72 +70,85 @@ in }; }; - config.services.oauth2-proxy = lib.mkIf (cfg.virtualHosts != {} && (lib.hasPrefix "127.0.0.1:" cfg.proxy)) { - enable = true; - }; - - config.services.nginx = lib.mkIf (cfg.virtualHosts != {} && config.services.oauth2-proxy.enable) (lib.mkMerge ([ - { - virtualHosts.${cfg.domain}.locations."/oauth2/" = { - proxyPass = cfg.proxy; - extraConfig = '' - auth_request off; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; - ''; + config.services.oauth2-proxy = + lib.mkIf (cfg.virtualHosts != { } && (lib.hasPrefix "127.0.0.1:" cfg.proxy)) + { + enable = true; }; - } - ] ++ lib.optional (cfg.virtualHosts != {}) { - recommendedProxySettings = true; # needed because duplicate headers - } ++ (lib.mapAttrsToList (vhost: conf: { - virtualHosts.${vhost} = { - locations = { - "/".extraConfig = '' - # pass information via X-User and X-Email headers to backend, requires running with --set-xauthrequest flag - proxy_set_header X-User $user; - proxy_set_header X-Email $email; - # if you enabled --cookie-refresh, this is needed for it to work with auth_request - add_header Set-Cookie $auth_cookie; - ''; + config.services.nginx = lib.mkIf (cfg.virtualHosts != { } && config.services.oauth2-proxy.enable) ( + lib.mkMerge ( + [ + { + virtualHosts.${cfg.domain}.locations."/oauth2/" = { + proxyPass = cfg.proxy; + extraConfig = '' + auth_request off; + proxy_set_header X-Scheme $scheme; + proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; + ''; + }; + } + ] + ++ lib.optional (cfg.virtualHosts != { }) { + recommendedProxySettings = true; # needed because duplicate headers + } + ++ (lib.mapAttrsToList (vhost: conf: { + virtualHosts.${vhost} = { + locations = { + "/".extraConfig = '' + # pass information via X-User and X-Email headers to backend, requires running with --set-xauthrequest flag + proxy_set_header X-User $user; + proxy_set_header X-Email $email; - "/oauth2/auth" = let - maybeQueryArg = name: value: - if value == null then null - else "${name}=${lib.concatStringsSep "," (builtins.map lib.escapeURL value)}"; - allArgs = lib.mapAttrsToList maybeQueryArg conf; - cleanArgs = builtins.filter (x: x != null) allArgs; - cleanArgsStr = lib.concatStringsSep "&" cleanArgs; - in { - # nginx doesn't support passing query string arguments to auth_request, - # so pass them here instead - proxyPass = "${cfg.proxy}/oauth2/auth?${cleanArgsStr}"; - extraConfig = '' - auth_request off; - proxy_set_header X-Scheme $scheme; - # nginx auth_request includes headers but not body - proxy_set_header Content-Length ""; - proxy_pass_request_body off; - ''; - }; + # if you enabled --cookie-refresh, this is needed for it to work with auth_request + add_header Set-Cookie $auth_cookie; + ''; + + "/oauth2/auth" = + let + maybeQueryArg = + name: value: + if value == null then + null + else + "${name}=${lib.concatStringsSep "," (builtins.map lib.escapeURL value)}"; + allArgs = lib.mapAttrsToList maybeQueryArg conf; + cleanArgs = builtins.filter (x: x != null) allArgs; + cleanArgsStr = lib.concatStringsSep "&" cleanArgs; + in + { + # nginx doesn't support passing query string arguments to auth_request, + # so pass them here instead + proxyPass = "${cfg.proxy}/oauth2/auth?${cleanArgsStr}"; + extraConfig = '' + auth_request off; + proxy_set_header X-Scheme $scheme; + # nginx auth_request includes headers but not body + proxy_set_header Content-Length ""; + proxy_pass_request_body off; + ''; + }; + + "@redirectToAuth2ProxyLogin" = { + return = "307 https://${cfg.domain}/oauth2/start?rd=$scheme://$host$request_uri"; + extraConfig = '' + auth_request off; + ''; + }; + }; - "@redirectToAuth2ProxyLogin" = { - return = "307 https://${cfg.domain}/oauth2/start?rd=$scheme://$host$request_uri"; extraConfig = '' - auth_request off; + auth_request /oauth2/auth; + error_page 401 = @redirectToAuth2ProxyLogin; + + # set variables being used in locations."/".extraConfig + auth_request_set $user $upstream_http_x_auth_request_user; + auth_request_set $email $upstream_http_x_auth_request_email; + auth_request_set $auth_cookie $upstream_http_set_cookie; ''; }; - }; - - extraConfig = '' - auth_request /oauth2/auth; - error_page 401 = @redirectToAuth2ProxyLogin; - - # set variables being used in locations."/".extraConfig - auth_request_set $user $upstream_http_x_auth_request_user; - auth_request_set $email $upstream_http_x_auth_request_email; - auth_request_set $auth_cookie $upstream_http_set_cookie; - ''; - }; - }) cfg.virtualHosts))); + }) cfg.virtualHosts) + ) + ); } diff --git a/nixos/modules/services/security/oauth2-proxy.nix b/nixos/modules/services/security/oauth2-proxy.nix index 38da06e1538ab..658a356cc51ce 100644 --- a/nixos/modules/services/security/oauth2-proxy.nix +++ b/nixos/modules/services/security/oauth2-proxy.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.oauth2-proxy; @@ -13,71 +18,99 @@ let resource = cfg.azure.resource; }; - github = cfg: { github = { - inherit (cfg.github) org team; - }; }; + github = cfg: { + github = { + inherit (cfg.github) org team; + }; + }; - google = cfg: { google = with cfg.google; lib.optionalAttrs (groups != []) { - admin-email = adminEmail; - service-account = serviceAccountJSON; - group = groups; - }; }; + google = cfg: { + google = + with cfg.google; + lib.optionalAttrs (groups != [ ]) { + admin-email = adminEmail; + service-account = serviceAccountJSON; + group = groups; + }; + }; }; authenticatedEmailsFile = pkgs.writeText "authenticated-emails" cfg.email.addresses; - getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: {}) cfg; - - allConfig = with cfg; { - inherit (cfg) provider scope upstream; - approval-prompt = approvalPrompt; - basic-auth-password = basicAuthPassword; - client-id = clientID; - client-secret = clientSecret; - custom-templates-dir = customTemplatesDir; - email-domain = email.domains; - http-address = httpAddress; - login-url = loginURL; - pass-access-token = passAccessToken; - pass-basic-auth = passBasicAuth; - pass-host-header = passHostHeader; - reverse-proxy = reverseProxy; - proxy-prefix = proxyPrefix; - profile-url = profileURL; - oidc-issuer-url = oidcIssuerUrl; - redeem-url = redeemURL; - redirect-url = redirectURL; - request-logging = requestLogging; - skip-auth-regex = skipAuthRegexes; - signature-key = signatureKey; - validate-url = validateURL; - htpasswd-file = htpasswd.file; - cookie = { - inherit (cookie) domain secure expire name secret refresh; - httponly = cookie.httpOnly; - }; - set-xauthrequest = setXauthrequest; - } // lib.optionalAttrs (cfg.email.addresses != null) { - authenticated-emails-file = authenticatedEmailsFile; - } // lib.optionalAttrs (cfg.passBasicAuth) { - basic-auth-password = cfg.basicAuthPassword; - } // lib.optionalAttrs (cfg.htpasswd.file != null) { - display-htpasswd-form = cfg.htpasswd.displayForm; - } // lib.optionalAttrs tls.enable { - tls-cert-file = tls.certificate; - tls-key-file = tls.key; - https-address = tls.httpsAddress; - } // (getProviderOptions cfg cfg.provider) // cfg.extraConfig; - - mapConfig = key: attr: - lib.optionalString (attr != null && attr != []) ( - if lib.isDerivation attr then mapConfig key (toString attr) else - if (builtins.typeOf attr) == "set" then lib.concatStringsSep " " - (lib.mapAttrsToList (name: value: mapConfig (key + "-" + name) value) attr) else - if (builtins.typeOf attr) == "list" then lib.concatMapStringsSep " " (mapConfig key) attr else - if (builtins.typeOf attr) == "bool" then "--${key}=${lib.boolToString attr}" else - if (builtins.typeOf attr) == "string" then "--${key}='${attr}'" else - "--${key}=${toString attr}"); + getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: { }) cfg; + + allConfig = + with cfg; + { + inherit (cfg) provider scope upstream; + approval-prompt = approvalPrompt; + basic-auth-password = basicAuthPassword; + client-id = clientID; + client-secret = clientSecret; + custom-templates-dir = customTemplatesDir; + email-domain = email.domains; + http-address = httpAddress; + login-url = loginURL; + pass-access-token = passAccessToken; + pass-basic-auth = passBasicAuth; + pass-host-header = passHostHeader; + reverse-proxy = reverseProxy; + proxy-prefix = proxyPrefix; + profile-url = profileURL; + oidc-issuer-url = oidcIssuerUrl; + redeem-url = redeemURL; + redirect-url = redirectURL; + request-logging = requestLogging; + skip-auth-regex = skipAuthRegexes; + signature-key = signatureKey; + validate-url = validateURL; + htpasswd-file = htpasswd.file; + cookie = { + inherit (cookie) + domain + secure + expire + name + secret + refresh + ; + httponly = cookie.httpOnly; + }; + set-xauthrequest = setXauthrequest; + } + // lib.optionalAttrs (cfg.email.addresses != null) { + authenticated-emails-file = authenticatedEmailsFile; + } + // lib.optionalAttrs (cfg.passBasicAuth) { + basic-auth-password = cfg.basicAuthPassword; + } + // lib.optionalAttrs (cfg.htpasswd.file != null) { + display-htpasswd-form = cfg.htpasswd.displayForm; + } + // lib.optionalAttrs tls.enable { + tls-cert-file = tls.certificate; + tls-key-file = tls.key; + https-address = tls.httpsAddress; + } + // (getProviderOptions cfg cfg.provider) + // cfg.extraConfig; + + mapConfig = + key: attr: + lib.optionalString (attr != null && attr != [ ]) ( + if lib.isDerivation attr then + mapConfig key (toString attr) + else if (builtins.typeOf attr) == "set" then + lib.concatStringsSep " " (lib.mapAttrsToList (name: value: mapConfig (key + "-" + name) value) attr) + else if (builtins.typeOf attr) == "list" then + lib.concatMapStringsSep " " (mapConfig key) attr + else if (builtins.typeOf attr) == "bool" then + "--${key}=${lib.boolToString attr}" + else if (builtins.typeOf attr) == "string" then + "--${key}='${attr}'" + else + "--${key}=${toString attr}" + ); configString = lib.concatStringsSep " " (lib.mapAttrsToList mapConfig allConfig); in @@ -114,7 +147,10 @@ in }; approvalPrompt = lib.mkOption { - type = lib.types.enum ["force" "auto"]; + type = lib.types.enum [ + "force" + "auto" + ]; default = "force"; description = '' OAuth approval_prompt. @@ -146,19 +182,19 @@ in }; skipAuthRegexes = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - Skip authentication for requests matching any of these regular - expressions. - ''; + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + Skip authentication for requests matching any of these regular + expressions. + ''; }; # XXX: Not clear whether these two options are mutually exclusive or not. email = { domains = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Authenticate emails with the specified domains. Use `*` to authenticate any email. @@ -257,7 +293,7 @@ in groups = lib.mkOption { type = lib.types.listOf lib.types.str; - default = []; + default = [ ]; description = '' Restrict logins to members of these Google groups. ''; @@ -289,12 +325,11 @@ in }; }; - #################################################### # UPSTREAM Configuration upstream = lib.mkOption { - type = with lib.types; coercedTo str (x: [x]) (listOf str); - default = []; + type = with lib.types; coercedTo str (x: [ x ]) (listOf str); + default = [ ]; description = '' The http url(s) of the upstream endpoint or `file://` paths for static files. Routing is based on the path. @@ -538,7 +573,7 @@ in }; extraConfig = lib.mkOption { - default = {}; + default = { }; type = lib.types.attrsOf lib.types.anything; description = '' Extra config to pass to oauth2-proxy. @@ -575,12 +610,18 @@ in group = "oauth2-proxy"; }; - users.groups.oauth2-proxy = {}; + users.groups.oauth2-proxy = { }; systemd.services.oauth2-proxy = - let needsKeycloak = lib.elem cfg.provider ["keycloak" "keycloak-oidc"] - && config.services.keycloak.enable; - in { + let + needsKeycloak = + lib.elem cfg.provider [ + "keycloak" + "keycloak-oidc" + ] + && config.services.keycloak.enable; + in + { description = "OAuth2 Proxy"; path = [ cfg.package ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/security/opensnitch.nix b/nixos/modules/services/security/opensnitch.nix index 6e2f6ca73b776..10b44052ac6eb 100644 --- a/nixos/modules/services/security/opensnitch.nix +++ b/nixos/modules/services/security/opensnitch.nix @@ -1,22 +1,30 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.opensnitch; - format = pkgs.formats.json {}; + format = pkgs.formats.json { }; - predefinedRules = flip mapAttrs cfg.rules (name: cfg: { - file = pkgs.writeText "rule" (builtins.toJSON cfg); - }); + predefinedRules = flip mapAttrs cfg.rules ( + name: cfg: { + file = pkgs.writeText "rule" (builtins.toJSON cfg); + } + ); -in { +in +{ options = { services.opensnitch = { enable = mkEnableOption "Opensnitch application firewall"; rules = mkOption { - default = {}; + default = { }; example = literalExpression '' { "tor" = { @@ -73,7 +81,10 @@ in { }; DefaultAction = mkOption { - type = types.enum [ "allow" "deny" ]; + type = types.enum [ + "allow" + "deny" + ]; description = '' Default action whether to block or allow application internet access. @@ -88,14 +99,25 @@ in { }; ProcMonitorMethod = mkOption { - type = types.enum [ "ebpf" "proc" "ftrace" "audit" ]; + type = types.enum [ + "ebpf" + "proc" + "ftrace" + "audit" + ]; description = '' Which process monitoring method to use. ''; }; LogLevel = mkOption { - type = types.enum [ 0 1 2 3 4 ]; + type = types.enum [ + 0 + 1 + 2 + 3 + 4 + ]; description = '' Default log level from 0 to 4 (debug, info, important, warning, error). @@ -103,7 +125,10 @@ in { }; Firewall = mkOption { - type = types.enum [ "iptables" "nftables" ]; + type = types.enum [ + "iptables" + "nftables" + ]; description = '' Which firewall backend to use. ''; @@ -129,7 +154,11 @@ in { Ebpf.ModulesPath = mkOption { type = types.path; - default = if cfg.settings.ProcMonitorMethod == "ebpf" then "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd" else null; + default = + if cfg.settings.ProcMonitorMethod == "ebpf" then + "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd" + else + null; defaultText = literalExpression '' if cfg.settings.ProcMonitorMethod == "ebpf" then "\\$\\{config.boot.kernelPackages.opensnitch-ebpf\\}/etc/opensnitchd" @@ -163,7 +192,13 @@ in { config = mkIf cfg.enable { # pkg.opensnitch is referred to elsewhere in the module so we don't need to worry about it being garbage collected - services.opensnitch.settings = mapAttrs (_: v: mkDefault v) (builtins.fromJSON (builtins.unsafeDiscardStringContext (builtins.readFile "${pkgs.opensnitch}/etc/opensnitchd/default-config.json"))); + services.opensnitch.settings = mapAttrs (_: v: mkDefault v) ( + builtins.fromJSON ( + builtins.unsafeDiscardStringContext ( + builtins.readFile "${pkgs.opensnitch}/etc/opensnitchd/default-config.json" + ) + ) + ); systemd = { packages = [ pkgs.opensnitch ]; @@ -175,25 +210,33 @@ in { "${pkgs.opensnitch}/bin/opensnitchd --config-file ${format.generate "default-config.json" cfg.settings}" ]; }; - preStart = mkIf (cfg.rules != {}) (let - rules = flip mapAttrsToList predefinedRules (file: content: { - inherit (content) file; - local = "${cfg.settings.Rules.Path}/${file}.json"; - }); - in '' - # Remove all firewall rules from rules path (configured with - # cfg.settings.Rules.Path) that are symlinks to a store-path, but aren't - # declared in `cfg.rules` (i.e. all networks that were "removed" from - # `cfg.rules`). - find ${cfg.settings.Rules.Path} -type l -lname '${builtins.storeDir}/*' ${optionalString (rules != {}) '' - -not \( ${concatMapStringsSep " -o " ({ local, ... }: - "-name '${baseNameOf local}*'") - rules} \) \ - ''} -delete - ${concatMapStrings ({ file, local }: '' - ln -sf '${file}' "${local}" - '') rules} - ''); + preStart = mkIf (cfg.rules != { }) ( + let + rules = flip mapAttrsToList predefinedRules ( + file: content: { + inherit (content) file; + local = "${cfg.settings.Rules.Path}/${file}.json"; + } + ); + in + '' + # Remove all firewall rules from rules path (configured with + # cfg.settings.Rules.Path) that are symlinks to a store-path, but aren't + # declared in `cfg.rules` (i.e. all networks that were "removed" from + # `cfg.rules`). + find ${cfg.settings.Rules.Path} -type l -lname '${builtins.storeDir}/*' ${ + optionalString (rules != { }) '' + -not \( ${concatMapStringsSep " -o " ({ local, ... }: "-name '${baseNameOf local}*'") rules} \) \ + '' + } -delete + ${concatMapStrings ( + { file, local }: + '' + ln -sf '${file}' "${local}" + '' + ) rules} + '' + ); }; tmpfiles.rules = [ "d ${cfg.settings.Rules.Path} 0750 root root - -" @@ -205,4 +248,3 @@ in { meta.maintainers = with lib.maintainers; [ onny ]; } - diff --git a/nixos/modules/services/security/pass-secret-service.nix b/nixos/modules/services/security/pass-secret-service.nix index 9530a9f8cf693..499a934d13660 100644 --- a/nixos/modules/services/security/pass-secret-service.nix +++ b/nixos/modules/services/security/pass-secret-service.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/security/physlock.nix b/nixos/modules/services/security/physlock.nix index 7285de94ad6cd..0a6536f4dc6ba 100644 --- a/nixos/modules/services/security/physlock.nix +++ b/nixos/modules/services/security/physlock.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -85,7 +90,7 @@ in extraTargets = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "display-manager.service" ]; description = '' Other targets to lock the screen just before. @@ -103,7 +108,6 @@ in }; - ###### implementation config = mkIf cfg.enable (mkMerge [ @@ -115,31 +119,35 @@ in systemd.services.physlock = { enable = true; description = "Physlock"; - wantedBy = optional cfg.lockOn.suspend "suspend.target" - ++ optional cfg.lockOn.hibernate "hibernate.target" - ++ cfg.lockOn.extraTargets; - before = optional cfg.lockOn.suspend "systemd-suspend.service" - ++ optional cfg.lockOn.hibernate "systemd-hibernate.service" - ++ optional (cfg.lockOn.hibernate || cfg.lockOn.suspend) "systemd-suspend-then-hibernate.service" - ++ cfg.lockOn.extraTargets; + wantedBy = + optional cfg.lockOn.suspend "suspend.target" + ++ optional cfg.lockOn.hibernate "hibernate.target" + ++ cfg.lockOn.extraTargets; + before = + optional cfg.lockOn.suspend "systemd-suspend.service" + ++ optional cfg.lockOn.hibernate "systemd-hibernate.service" + ++ optional (cfg.lockOn.hibernate || cfg.lockOn.suspend) "systemd-suspend-then-hibernate.service" + ++ cfg.lockOn.extraTargets; serviceConfig = { Type = "forking"; - ExecStart = "${pkgs.physlock}/bin/physlock -d${optionalString cfg.muteKernelMessages "m"}${optionalString cfg.disableSysRq "s"}${optionalString (cfg.lockMessage != "") " -p \"${cfg.lockMessage}\""}"; + ExecStart = "${pkgs.physlock}/bin/physlock -d${optionalString cfg.muteKernelMessages "m"}${optionalString cfg.disableSysRq "s"}${ + optionalString (cfg.lockMessage != "") " -p \"${cfg.lockMessage}\"" + }"; }; }; - security.pam.services.physlock = {}; + security.pam.services.physlock = { }; } (mkIf cfg.allowAnyUser { - security.wrappers.physlock = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.physlock}/bin/physlock"; - }; + security.wrappers.physlock = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.physlock}/bin/physlock"; + }; }) ]); diff --git a/nixos/modules/services/security/shibboleth-sp.nix b/nixos/modules/services/security/shibboleth-sp.nix index 0a85173501d5f..e9f92dcc0928d 100644 --- a/nixos/modules/services/security/shibboleth-sp.nix +++ b/nixos/modules/services/security/shibboleth-sp.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.shibboleth-sp; -in { +in +{ options = { services.shibboleth-sp = { enable = lib.mkOption { @@ -40,8 +46,11 @@ in { config = lib.mkIf cfg.enable { systemd.services.shibboleth-sp = { description = "Provides SSO and federation for web applications"; - after = lib.optionals cfg.fastcgi.enable [ "shibresponder.service" "shibauthorizer.service" ]; - wantedBy = [ "multi-user.target" ]; + after = lib.optionals cfg.fastcgi.enable [ + "shibresponder.service" + "shibauthorizer.service" + ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.shibboleth-sp}/bin/shibd -F -d ${pkgs.shibboleth-sp} -c ${cfg.configFile}"; }; @@ -49,9 +58,9 @@ in { systemd.services.shibresponder = lib.mkIf cfg.fastcgi.enable { description = "Provides SSO through Shibboleth via FastCGI"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = [ "${pkgs.spawn_fcgi}" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ "${pkgs.spawn_fcgi}" ]; environment.SHIBSP_CONFIG = "${cfg.configFile}"; serviceConfig = { ExecStart = "${pkgs.spawn_fcgi}/bin/spawn-fcgi -n -p ${toString cfg.fastcgi.shibResponderPort} ${pkgs.shibboleth-sp}/lib/shibboleth/shibresponder"; @@ -60,9 +69,9 @@ in { systemd.services.shibauthorizer = lib.mkIf cfg.fastcgi.enable { description = "Provides SSO through Shibboleth via FastCGI"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = [ "${pkgs.spawn_fcgi}" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ "${pkgs.spawn_fcgi}" ]; environment.SHIBSP_CONFIG = "${cfg.configFile}"; serviceConfig = { ExecStart = "${pkgs.spawn_fcgi}/bin/spawn-fcgi -n -p ${toString cfg.fastcgi.shibAuthorizerPort} ${pkgs.shibboleth-sp}/lib/shibboleth/shibauthorizer"; diff --git a/nixos/modules/services/security/sks.nix b/nixos/modules/services/security/sks.nix index 20d2dadbb7e22..2c0067325936e 100644 --- a/nixos/modules/services/security/sks.nix +++ b/nixos/modules/services/security/sks.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,8 +14,12 @@ let ${cfg.extraDbConfig} ''; -in { - meta.maintainers = with maintainers; [ calbrecht jcumming ]; +in +{ + meta.maintainers = with maintainers; [ + calbrecht + jcumming + ]; options = { @@ -52,7 +61,10 @@ in { }; hkpAddress = mkOption { - default = [ "127.0.0.1" "::1" ]; + default = [ + "127.0.0.1" + "::1" + ]; type = types.listOf types.str; description = '' Domain names, IPv4 and/or IPv6 addresses to listen on for HKP @@ -94,48 +106,52 @@ in { createHome = true; group = "sks"; useDefaultShell = true; - packages = [ sksPkg pkgs.db ]; + packages = [ + sksPkg + pkgs.db + ]; }; groups.sks = { }; }; - systemd.services = let - hkpAddress = "'" + (builtins.concatStringsSep " " cfg.hkpAddress) + "'" ; - hkpPort = builtins.toString cfg.hkpPort; - in { - sks-db = { - description = "SKS database server"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - ${lib.optionalString (cfg.webroot != null) - "ln -sfT \"${cfg.webroot}\" web"} - mkdir -p dump - ${sksPkg}/bin/sks build dump/*.gpg -n 10 -cache 100 || true #*/ - ${sksPkg}/bin/sks cleandb || true - ${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || true - # Check that both database configs are symlinks before overwriting them - # TODO: The initial build will be without DB_CONFIG, but this will - # hopefully not cause any significant problems. It might be better to - # create both directories manually but we have to check that this does - # not affect the initial build of the DB. - for CONFIG_FILE in KDB/DB_CONFIG PTree/DB_CONFIG; do - if [ -e $CONFIG_FILE ] && [ ! -L $CONFIG_FILE ]; then - echo "$CONFIG_FILE exists but is not a symlink." >&2 - echo "Please remove $PWD/$CONFIG_FILE manually to continue." >&2 - exit 1 - fi - ln -sf ${dbConfig} $CONFIG_FILE - done - ''; - serviceConfig = { - WorkingDirectory = "~"; - User = "sks"; - Group = "sks"; - Restart = "always"; - ExecStart = "${sksPkg}/bin/sks db -hkp_address ${hkpAddress} -hkp_port ${hkpPort}"; + systemd.services = + let + hkpAddress = "'" + (builtins.concatStringsSep " " cfg.hkpAddress) + "'"; + hkpPort = builtins.toString cfg.hkpPort; + in + { + sks-db = { + description = "SKS database server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + ${lib.optionalString (cfg.webroot != null) "ln -sfT \"${cfg.webroot}\" web"} + mkdir -p dump + ${sksPkg}/bin/sks build dump/*.gpg -n 10 -cache 100 || true #*/ + ${sksPkg}/bin/sks cleandb || true + ${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || true + # Check that both database configs are symlinks before overwriting them + # TODO: The initial build will be without DB_CONFIG, but this will + # hopefully not cause any significant problems. It might be better to + # create both directories manually but we have to check that this does + # not affect the initial build of the DB. + for CONFIG_FILE in KDB/DB_CONFIG PTree/DB_CONFIG; do + if [ -e $CONFIG_FILE ] && [ ! -L $CONFIG_FILE ]; then + echo "$CONFIG_FILE exists but is not a symlink." >&2 + echo "Please remove $PWD/$CONFIG_FILE manually to continue." >&2 + exit 1 + fi + ln -sf ${dbConfig} $CONFIG_FILE + done + ''; + serviceConfig = { + WorkingDirectory = "~"; + User = "sks"; + Group = "sks"; + Restart = "always"; + ExecStart = "${sksPkg}/bin/sks db -hkp_address ${hkpAddress} -hkp_port ${hkpPort}"; + }; }; }; - }; }; } diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix index 3be0a8c700b9e..ab768f787a660 100644 --- a/nixos/modules/services/security/sshguard.nix +++ b/nixos/modules/services/security/sshguard.nix @@ -1,26 +1,35 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.sshguard; - configFile = let - args = lib.concatStringsSep " " ([ - "-afb" - "-p info" - "-o cat" - "-n1" - ] ++ (map (name: "-t ${escapeShellArg name}") cfg.services)); - backend = if config.networking.nftables.enable - then "sshg-fw-nft-sets" - else "sshg-fw-ipset"; - in pkgs.writeText "sshguard.conf" '' - BACKEND="${pkgs.sshguard}/libexec/${backend}" - LOGREADER="LANG=C ${config.systemd.package}/bin/journalctl ${args}" - ''; - -in { + configFile = + let + args = lib.concatStringsSep " " ( + [ + "-afb" + "-p info" + "-o cat" + "-n1" + ] + ++ (map (name: "-t ${escapeShellArg name}") cfg.services) + ); + backend = if config.networking.nftables.enable then "sshg-fw-nft-sets" else "sshg-fw-ipset"; + in + pkgs.writeText "sshguard.conf" '' + BACKEND="${pkgs.sshguard}/libexec/${backend}" + LOGREADER="LANG=C ${config.systemd.package}/bin/journalctl ${args}" + ''; + +in +{ ###### interface @@ -37,8 +46,8 @@ in { default = 30; type = types.int; description = '' - Block attackers when their cumulative attack score exceeds threshold. Most attacks have a score of 10. - ''; + Block attackers when their cumulative attack score exceeds threshold. Most attacks have a score of 10. + ''; }; blacklist_threshold = mkOption { @@ -46,52 +55,58 @@ in { example = 120; type = types.nullOr types.int; description = '' - Blacklist an attacker when its score exceeds threshold. Blacklisted addresses are loaded from and added to blacklist-file. - ''; + Blacklist an attacker when its score exceeds threshold. Blacklisted addresses are loaded from and added to blacklist-file. + ''; }; blacklist_file = mkOption { default = "/var/lib/sshguard/blacklist.db"; type = types.path; description = '' - Blacklist an attacker when its score exceeds threshold. Blacklisted addresses are loaded from and added to blacklist-file. - ''; + Blacklist an attacker when its score exceeds threshold. Blacklisted addresses are loaded from and added to blacklist-file. + ''; }; blocktime = mkOption { default = 120; type = types.int; description = '' - Block attackers for initially blocktime seconds after exceeding threshold. Subsequent blocks increase by a factor of 1.5. + Block attackers for initially blocktime seconds after exceeding threshold. Subsequent blocks increase by a factor of 1.5. - sshguard unblocks attacks at random intervals, so actual block times will be longer. - ''; + sshguard unblocks attacks at random intervals, so actual block times will be longer. + ''; }; detection_time = mkOption { default = 1800; type = types.int; description = '' - Remember potential attackers for up to detection_time seconds before resetting their score. - ''; + Remember potential attackers for up to detection_time seconds before resetting their score. + ''; }; whitelist = mkOption { default = [ ]; - example = [ "198.51.100.56" "198.51.100.2" ]; + example = [ + "198.51.100.56" + "198.51.100.2" + ]; type = types.listOf types.str; description = '' - Whitelist a list of addresses, hostnames, or address blocks. - ''; + Whitelist a list of addresses, hostnames, or address blocks. + ''; }; services = mkOption { default = [ "sshd" ]; - example = [ "sshd" "exim" ]; + example = [ + "sshd" + "exim" + ]; type = types.listOf types.str; description = '' - Systemd services sshguard should receive logs of. - ''; + Systemd services sshguard should receive logs of. + ''; }; }; }; @@ -111,9 +126,21 @@ in { restartTriggers = [ configFile ]; - path = with pkgs; if config.networking.nftables.enable - then [ nftables iproute2 systemd ] - else [ iptables ipset iproute2 systemd ]; + path = + with pkgs; + if config.networking.nftables.enable then + [ + nftables + iproute2 + systemd + ] + else + [ + iptables + ipset + iproute2 + systemd + ]; # The sshguard ipsets must exist before we invoke # iptables. sshguard creates the ipsets after startup if @@ -121,34 +148,45 @@ in { # the iptables rules because postStart races with the creation # of the ipsets. So instead, we create both the ipsets and # firewall rules before sshguard starts. - preStart = optionalString config.networking.firewall.enable '' - ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard4 hash:net family inet - ${pkgs.iptables}/bin/iptables -I INPUT -m set --match-set sshguard4 src -j DROP - '' + optionalString (config.networking.firewall.enable && config.networking.enableIPv6) '' - ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard6 hash:net family inet6 - ${pkgs.iptables}/bin/ip6tables -I INPUT -m set --match-set sshguard6 src -j DROP - ''; - - postStop = optionalString config.networking.firewall.enable '' - ${pkgs.iptables}/bin/iptables -D INPUT -m set --match-set sshguard4 src -j DROP - ${pkgs.ipset}/bin/ipset -quiet destroy sshguard4 - '' + optionalString (config.networking.firewall.enable && config.networking.enableIPv6) '' - ${pkgs.iptables}/bin/ip6tables -D INPUT -m set --match-set sshguard6 src -j DROP - ${pkgs.ipset}/bin/ipset -quiet destroy sshguard6 - ''; + preStart = + optionalString config.networking.firewall.enable '' + ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard4 hash:net family inet + ${pkgs.iptables}/bin/iptables -I INPUT -m set --match-set sshguard4 src -j DROP + '' + + optionalString (config.networking.firewall.enable && config.networking.enableIPv6) '' + ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard6 hash:net family inet6 + ${pkgs.iptables}/bin/ip6tables -I INPUT -m set --match-set sshguard6 src -j DROP + ''; + + postStop = + optionalString config.networking.firewall.enable '' + ${pkgs.iptables}/bin/iptables -D INPUT -m set --match-set sshguard4 src -j DROP + ${pkgs.ipset}/bin/ipset -quiet destroy sshguard4 + '' + + optionalString (config.networking.firewall.enable && config.networking.enableIPv6) '' + ${pkgs.iptables}/bin/ip6tables -D INPUT -m set --match-set sshguard6 src -j DROP + ${pkgs.ipset}/bin/ipset -quiet destroy sshguard6 + ''; unitConfig.Documentation = "man:sshguard(8)"; serviceConfig = { Type = "simple"; - ExecStart = let - args = lib.concatStringsSep " " ([ - "-a ${toString cfg.attack_threshold}" - "-p ${toString cfg.blocktime}" - "-s ${toString cfg.detection_time}" - (optionalString (cfg.blacklist_threshold != null) "-b ${toString cfg.blacklist_threshold}:${cfg.blacklist_file}") - ] ++ (map (name: "-w ${escapeShellArg name}") cfg.whitelist)); - in "${pkgs.sshguard}/bin/sshguard ${args}"; + ExecStart = + let + args = lib.concatStringsSep " " ( + [ + "-a ${toString cfg.attack_threshold}" + "-p ${toString cfg.blocktime}" + "-s ${toString cfg.detection_time}" + (optionalString ( + cfg.blacklist_threshold != null + ) "-b ${toString cfg.blacklist_threshold}:${cfg.blacklist_file}") + ] + ++ (map (name: "-w ${escapeShellArg name}") cfg.whitelist) + ); + in + "${pkgs.sshguard}/bin/sshguard ${args}"; Restart = "always"; ProtectSystem = "strict"; ProtectHome = "tmpfs"; diff --git a/nixos/modules/services/security/sslmate-agent.nix b/nixos/modules/services/security/sslmate-agent.nix index 57cb955a39dd9..081f4c0778411 100644 --- a/nixos/modules/services/security/sslmate-agent.nix +++ b/nixos/modules/services/security/sslmate-agent.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.sslmate-agent; -in { +in +{ meta.maintainers = [ ]; options = { diff --git a/nixos/modules/services/security/step-ca.nix b/nixos/modules/services/security/step-ca.nix index 70651e995dda1..9c03fde123d8e 100644 --- a/nixos/modules/services/security/step-ca.nix +++ b/nixos/modules/services/security/step-ca.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.step-ca; settingsFormat = (pkgs.formats.json { }); @@ -73,22 +78,24 @@ in config = lib.mkIf config.services.step-ca.enable ( let - configFile = settingsFormat.generate "ca.json" (cfg.settings // { - address = cfg.address + ":" + toString cfg.port; - }); + configFile = settingsFormat.generate "ca.json" ( + cfg.settings + // { + address = cfg.address + ":" + toString cfg.port; + } + ); in { - assertions = - [ - { - assertion = !lib.isStorePath cfg.intermediatePasswordFile; - message = '' - points to - a file in the Nix store. You should use a quoted absolute path to - prevent this. - ''; - } - ]; + assertions = [ + { + assertion = !lib.isStorePath cfg.intermediatePasswordFile; + message = '' + points to + a file in the Nix store. You should use a quoted absolute path to + prevent this. + ''; + } + ]; systemd.packages = [ cfg.package ]; @@ -132,7 +139,7 @@ in isSystemUser = true; }; - users.groups.step-ca = {}; + users.groups.step-ca = { }; networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; diff --git a/nixos/modules/services/security/tang.nix b/nixos/modules/services/security/tang.nix index be36d9895bf30..3d65a5cf6ead4 100644 --- a/nixos/modules/services/security/tang.nix +++ b/nixos/modules/services/security/tang.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.tang; @@ -17,7 +22,11 @@ in listenStream = mkOption { type = with types; listOf str; default = [ "7654" ]; - example = [ "198.168.100.1:7654" "[2001:db8::1]:7654" "7654" ]; + example = [ + "198.168.100.1:7654" + "[2001:db8::1]:7654" + "7654" + ]; description = '' Addresses and/or ports on which tang should listen. For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`. @@ -74,7 +83,11 @@ in RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; IPAddressDeny = "any"; IPAddressAllow = cfg.ipAddressAllow; }; @@ -91,5 +104,8 @@ in }; }; }; - meta.maintainers = with lib.maintainers; [ jfroche julienmalka ]; + meta.maintainers = with lib.maintainers; [ + jfroche + julienmalka + ]; } diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 6cceb1bad82d5..7c7d1a66c7748 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with builtins; with lib; @@ -12,41 +18,58 @@ let See [torrc manual](https://2019.www.torproject.org/docs/tor-manual.html.en#${option}). ''; bindsPrivilegedPort = - any (p0: - let p1 = if p0 ? "port" then p0.port else p0; in - if p1 == "auto" then false - else let p2 = if isInt p1 then p1 else toInt p1; in - p1 != null && 0 < p2 && p2 < 1024) - (flatten [ - cfg.settings.ORPort - cfg.settings.DirPort - cfg.settings.DNSPort - cfg.settings.ExtORPort - cfg.settings.HTTPTunnelPort - cfg.settings.NATDPort - cfg.settings.SOCKSPort - cfg.settings.TransPort - ]); - optionBool = optionName: mkOption { - type = with types; nullOr bool; - default = null; - description = (descriptionGeneric optionName); - }; - optionInt = optionName: mkOption { - type = with types; nullOr int; - default = null; - description = (descriptionGeneric optionName); - }; - optionString = optionName: mkOption { - type = with types; nullOr str; - default = null; - description = (descriptionGeneric optionName); - }; - optionStrings = optionName: mkOption { - type = with types; listOf str; - default = []; - description = (descriptionGeneric optionName); - }; + any + ( + p0: + let + p1 = if p0 ? "port" then p0.port else p0; + in + if p1 == "auto" then + false + else + let + p2 = if isInt p1 then p1 else toInt p1; + in + p1 != null && 0 < p2 && p2 < 1024 + ) + (flatten [ + cfg.settings.ORPort + cfg.settings.DirPort + cfg.settings.DNSPort + cfg.settings.ExtORPort + cfg.settings.HTTPTunnelPort + cfg.settings.NATDPort + cfg.settings.SOCKSPort + cfg.settings.TransPort + ]); + optionBool = + optionName: + mkOption { + type = with types; nullOr bool; + default = null; + description = (descriptionGeneric optionName); + }; + optionInt = + optionName: + mkOption { + type = with types; nullOr int; + default = null; + description = (descriptionGeneric optionName); + }; + optionString = + optionName: + mkOption { + type = with types; nullOr str; + default = null; + description = (descriptionGeneric optionName); + }; + optionStrings = + optionName: + mkOption { + type = with types; listOf str; + default = [ ]; + description = (descriptionGeneric optionName); + }; optionAddress = mkOption { type = with types; nullOr str; default = null; @@ -63,34 +86,61 @@ let ''; }; optionPort = mkOption { - type = with types; nullOr (oneOf [port (enum ["auto"])]); + type = + with types; + nullOr (oneOf [ + port + (enum [ "auto" ]) + ]); default = null; }; - optionPorts = optionName: mkOption { - type = with types; listOf port; - default = []; - description = (descriptionGeneric optionName); - }; - optionIsolablePort = with types; oneOf [ - port (enum ["auto"]) - (submodule ({config, ...}: { - options = { - addr = optionAddress; - port = optionPort; - flags = optionFlags; - SessionGroup = mkOption { type = nullOr int; default = null; }; - } // genAttrs isolateFlags (name: mkOption { type = types.bool; default = false; }); - config = { - flags = filter (name: config.${name} == true) isolateFlags ++ - optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; - }; - })) - ]; - optionIsolablePorts = optionName: mkOption { - default = []; - type = with types; either optionIsolablePort (listOf optionIsolablePort); - description = (descriptionGeneric optionName); - }; + optionPorts = + optionName: + mkOption { + type = with types; listOf port; + default = [ ]; + description = (descriptionGeneric optionName); + }; + optionIsolablePort = + with types; + oneOf [ + port + (enum [ "auto" ]) + (submodule ( + { config, ... }: + { + options = + { + addr = optionAddress; + port = optionPort; + flags = optionFlags; + SessionGroup = mkOption { + type = nullOr int; + default = null; + }; + } + // genAttrs isolateFlags ( + name: + mkOption { + type = types.bool; + default = false; + } + ); + config = { + flags = + filter (name: config.${name} == true) isolateFlags + ++ optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; + }; + } + )) + ]; + optionIsolablePorts = + optionName: + mkOption { + default = [ ]; + type = with types; either optionIsolablePort (listOf optionIsolablePort); + description = (descriptionGeneric optionName); + }; isolateFlags = [ "IsolateClientAddr" "IsolateClientProtocol" @@ -99,157 +149,342 @@ let "IsolateSOCKSAuth" "KeepAliveIsolateSOCKSAuth" ]; - optionSOCKSPort = doConfig: let - flags = [ - "CacheDNS" "CacheIPv4DNS" "CacheIPv6DNS" "GroupWritable" "IPv6Traffic" - "NoDNSRequest" "NoIPv4Traffic" "NoOnionTraffic" "OnionTrafficOnly" - "PreferIPv6" "PreferIPv6Automap" "PreferSOCKSNoAuth" "UseDNSCache" - "UseIPv4Cache" "UseIPv6Cache" "WorldWritable" - ] ++ isolateFlags; - in with types; oneOf [ - port (submodule ({config, ...}: { - options = { - unix = optionUnix; - addr = optionAddress; - port = optionPort; - flags = optionFlags; - SessionGroup = mkOption { type = nullOr int; default = null; }; - } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); - config = mkIf doConfig { # Only add flags in SOCKSPort to avoid duplicates - flags = filter (name: config.${name} == true) flags ++ - optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; - }; - })) + optionSOCKSPort = + doConfig: + let + flags = [ + "CacheDNS" + "CacheIPv4DNS" + "CacheIPv6DNS" + "GroupWritable" + "IPv6Traffic" + "NoDNSRequest" + "NoIPv4Traffic" + "NoOnionTraffic" + "OnionTrafficOnly" + "PreferIPv6" + "PreferIPv6Automap" + "PreferSOCKSNoAuth" + "UseDNSCache" + "UseIPv4Cache" + "UseIPv6Cache" + "WorldWritable" + ] ++ isolateFlags; + in + with types; + oneOf [ + port + (submodule ( + { config, ... }: + { + options = + { + unix = optionUnix; + addr = optionAddress; + port = optionPort; + flags = optionFlags; + SessionGroup = mkOption { + type = nullOr int; + default = null; + }; + } + // genAttrs flags ( + name: + mkOption { + type = types.bool; + default = false; + } + ); + config = mkIf doConfig { + # Only add flags in SOCKSPort to avoid duplicates + flags = + filter (name: config.${name} == true) flags + ++ optional (config.SessionGroup != null) "SessionGroup=${toString config.SessionGroup}"; + }; + } + )) ]; optionFlags = mkOption { type = with types; listOf str; - default = []; - }; - optionORPort = optionName: mkOption { - default = []; - example = 443; - type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [ - port - (enum ["auto"]) - (submodule ({config, ...}: - let flags = [ "IPv4Only" "IPv6Only" "NoAdvertise" "NoListen" ]; - in { - options = { - addr = optionAddress; - port = optionPort; - flags = optionFlags; - } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); - config = { - flags = filter (name: config.${name} == true) flags; - }; - })) - ]))]; - description = (descriptionGeneric optionName); - }; - optionBandwidth = optionName: mkOption { - type = with types; nullOr (either int str); - default = null; - description = (descriptionGeneric optionName); - }; - optionPath = optionName: mkOption { - type = with types; nullOr path; - default = null; - description = (descriptionGeneric optionName); + default = [ ]; }; + optionORPort = + optionName: + mkOption { + default = [ ]; + example = 443; + type = + with types; + oneOf [ + port + (enum [ "auto" ]) + (listOf (oneOf [ + port + (enum [ "auto" ]) + (submodule ( + { config, ... }: + let + flags = [ + "IPv4Only" + "IPv6Only" + "NoAdvertise" + "NoListen" + ]; + in + { + options = + { + addr = optionAddress; + port = optionPort; + flags = optionFlags; + } + // genAttrs flags ( + name: + mkOption { + type = types.bool; + default = false; + } + ); + config = { + flags = filter (name: config.${name} == true) flags; + }; + } + )) + ])) + ]; + description = (descriptionGeneric optionName); + }; + optionBandwidth = + optionName: + mkOption { + type = with types; nullOr (either int str); + default = null; + description = (descriptionGeneric optionName); + }; + optionPath = + optionName: + mkOption { + type = with types; nullOr path; + default = null; + description = (descriptionGeneric optionName); + }; - mkValueString = k: v: - if v == null then "" + mkValueString = + k: v: + if v == null then + "" else if isBool v then (if v then "1" else "0") else if v ? "unix" && v.unix != null then - "unix:"+v.unix + - optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) + "unix:" + v.unix + optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) else if v ? "port" && v.port != null then - optionalString (v ? "addr" && v.addr != null) "${v.addr}:" + - toString v.port + - optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) + optionalString (v ? "addr" && v.addr != null) "${v.addr}:" + + toString v.port + + optionalString (v ? "flags") (" " + concatStringsSep " " v.flags) else if k == "ServerTransportPlugin" then - optionalString (v.transports != []) "${concatStringsSep "," v.transports} exec ${v.exec}" + optionalString (v.transports != [ ]) "${concatStringsSep "," v.transports} exec ${v.exec}" else if k == "HidServAuth" then v.onion + " " + v.auth - else generators.mkValueStringDefault {} v; - genTorrc = settings: - generators.toKeyValue { - listsAsDuplicateKeys = true; - mkKeyValue = k: generators.mkKeyValueDefault { mkValueString = mkValueString k; } " " k; - } - (lib.mapAttrs (k: v: - # Not necesssary, but prettier rendering - if elem k [ "AutomapHostsSuffixes" "DirPolicy" "ExitPolicy" "SocksPolicy" ] - && v != [] - then concatStringsSep "," v - else v) - (lib.filterAttrs (k: v: !(v == null || v == "")) - settings)); + else + generators.mkValueStringDefault { } v; + genTorrc = + settings: + generators.toKeyValue + { + listsAsDuplicateKeys = true; + mkKeyValue = k: generators.mkKeyValueDefault { mkValueString = mkValueString k; } " " k; + } + ( + lib.mapAttrs ( + k: v: + # Not necesssary, but prettier rendering + if + elem k [ + "AutomapHostsSuffixes" + "DirPolicy" + "ExitPolicy" + "SocksPolicy" + ] + && v != [ ] + then + concatStringsSep "," v + else + v + ) (lib.filterAttrs (k: v: !(v == null || v == "")) settings) + ); torrc = pkgs.writeText "torrc" ( - genTorrc cfg.settings + - concatStrings (mapAttrsToList (name: onion: - "HiddenServiceDir ${onion.path}\n" + - genTorrc onion.settings) cfg.relay.onionServices) + genTorrc cfg.settings + + concatStrings ( + mapAttrsToList ( + name: onion: "HiddenServiceDir ${onion.path}\n" + genTorrc onion.settings + ) cfg.relay.onionServices + ) ); in { imports = [ - (mkRenamedOptionModule [ "services" "tor" "client" "dns" "automapHostsSuffixes" ] [ "services" "tor" "settings" "AutomapHostsSuffixes" ]) - (mkRemovedOptionModule [ "services" "tor" "client" "dns" "isolationOptions" ] "Use services.tor.settings.DNSPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "dns" "listenAddress" ] "Use services.tor.settings.DNSPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "privoxy" "enable" ] "Use services.privoxy.enable and services.privoxy.enableTor instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "socksIsolationOptions" ] "Use services.tor.settings.SOCKSPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "socksListenAddressFaster" ] "Use services.tor.settings.SOCKSPort instead.") - (mkRenamedOptionModule [ "services" "tor" "client" "socksPolicy" ] [ "services" "tor" "settings" "SocksPolicy" ]) - (mkRemovedOptionModule [ "services" "tor" "client" "transparentProxy" "isolationOptions" ] "Use services.tor.settings.TransPort instead.") - (mkRemovedOptionModule [ "services" "tor" "client" "transparentProxy" "listenAddress" ] "Use services.tor.settings.TransPort instead.") - (mkRenamedOptionModule [ "services" "tor" "controlPort" ] [ "services" "tor" "settings" "ControlPort" ]) - (mkRemovedOptionModule [ "services" "tor" "extraConfig" ] "Please use services.tor.settings instead.") - (mkRenamedOptionModule [ "services" "tor" "hiddenServices" ] [ "services" "tor" "relay" "onionServices" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "accountingMax" ] [ "services" "tor" "settings" "AccountingMax" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "accountingStart" ] [ "services" "tor" "settings" "AccountingStart" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "address" ] [ "services" "tor" "settings" "Address" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "bandwidthBurst" ] [ "services" "tor" "settings" "BandwidthBurst" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "bandwidthRate" ] [ "services" "tor" "settings" "BandwidthRate" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "bridgeTransports" ] [ "services" "tor" "settings" "ServerTransportPlugin" "transports" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "contactInfo" ] [ "services" "tor" "settings" "ContactInfo" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "exitPolicy" ] [ "services" "tor" "settings" "ExitPolicy" ]) - (mkRemovedOptionModule [ "services" "tor" "relay" "isBridge" ] "Use services.tor.relay.role instead.") + (mkRenamedOptionModule + [ "services" "tor" "client" "dns" "automapHostsSuffixes" ] + [ "services" "tor" "settings" "AutomapHostsSuffixes" ] + ) + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "dns" + "isolationOptions" + ] "Use services.tor.settings.DNSPort instead.") + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "dns" + "listenAddress" + ] "Use services.tor.settings.DNSPort instead.") + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "privoxy" + "enable" + ] "Use services.privoxy.enable and services.privoxy.enableTor instead.") + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "socksIsolationOptions" + ] "Use services.tor.settings.SOCKSPort instead.") + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "socksListenAddressFaster" + ] "Use services.tor.settings.SOCKSPort instead.") + (mkRenamedOptionModule + [ "services" "tor" "client" "socksPolicy" ] + [ "services" "tor" "settings" "SocksPolicy" ] + ) + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "transparentProxy" + "isolationOptions" + ] "Use services.tor.settings.TransPort instead.") + (mkRemovedOptionModule [ + "services" + "tor" + "client" + "transparentProxy" + "listenAddress" + ] "Use services.tor.settings.TransPort instead.") + (mkRenamedOptionModule + [ "services" "tor" "controlPort" ] + [ "services" "tor" "settings" "ControlPort" ] + ) + (mkRemovedOptionModule [ + "services" + "tor" + "extraConfig" + ] "Please use services.tor.settings instead.") + (mkRenamedOptionModule + [ "services" "tor" "hiddenServices" ] + [ "services" "tor" "relay" "onionServices" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "accountingMax" ] + [ "services" "tor" "settings" "AccountingMax" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "accountingStart" ] + [ "services" "tor" "settings" "AccountingStart" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "address" ] + [ "services" "tor" "settings" "Address" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "bandwidthBurst" ] + [ "services" "tor" "settings" "BandwidthBurst" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "bandwidthRate" ] + [ "services" "tor" "settings" "BandwidthRate" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "bridgeTransports" ] + [ "services" "tor" "settings" "ServerTransportPlugin" "transports" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "contactInfo" ] + [ "services" "tor" "settings" "ContactInfo" ] + ) + (mkRenamedOptionModule + [ "services" "tor" "relay" "exitPolicy" ] + [ "services" "tor" "settings" "ExitPolicy" ] + ) + (mkRemovedOptionModule [ + "services" + "tor" + "relay" + "isBridge" + ] "Use services.tor.relay.role instead.") (mkRemovedOptionModule [ "services" "tor" "relay" "isExit" ] "Use services.tor.relay.role instead.") - (mkRenamedOptionModule [ "services" "tor" "relay" "nickname" ] [ "services" "tor" "settings" "Nickname" ]) + (mkRenamedOptionModule + [ "services" "tor" "relay" "nickname" ] + [ "services" "tor" "settings" "Nickname" ] + ) (mkRenamedOptionModule [ "services" "tor" "relay" "port" ] [ "services" "tor" "settings" "ORPort" ]) - (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "settings" "ORPort" ]) + (mkRenamedOptionModule + [ "services" "tor" "relay" "portSpec" ] + [ "services" "tor" "settings" "ORPort" ] + ) ]; options = { services.tor = { - enable = mkEnableOption ''Tor daemon. - By default, the daemon is run without - relay, exit, bridge or client connectivity''; + enable = mkEnableOption '' + Tor daemon. + By default, the daemon is run without + relay, exit, bridge or client connectivity''; openFirewall = mkEnableOption "opening of the relay port(s) in the firewall"; package = mkPackageOption pkgs "tor" { }; - enableGeoIP = mkEnableOption ''use of GeoIP databases. - Disabling this will disable by-country statistics for bridges and relays - and some client and third-party software functionality'' // { default = true; }; + enableGeoIP = + mkEnableOption '' + use of GeoIP databases. + Disabling this will disable by-country statistics for bridges and relays + and some client and third-party software functionality'' + // { + default = true; + }; - controlSocket.enable = mkEnableOption ''control socket, - created in `${runDir}/control`''; + controlSocket.enable = mkEnableOption '' + control socket, + created in `${runDir}/control`''; client = { - enable = mkEnableOption ''the routing of application connections. - You might want to disable this if you plan running a dedicated Tor relay''; + enable = mkEnableOption '' + the routing of application connections. + You might want to disable this if you plan running a dedicated Tor relay''; transparentProxy.enable = mkEnableOption "transparent proxy"; dns.enable = mkEnableOption "DNS resolver"; socksListenAddress = mkOption { type = optionSOCKSPort false; - default = {addr = "127.0.0.1"; port = 9050; IsolateDestAddr = true;}; - example = {addr = "192.168.0.1"; port = 9090; IsolateDestAddr = true;}; + default = { + addr = "127.0.0.1"; + port = 9050; + IsolateDestAddr = true; + }; + example = { + addr = "192.168.0.1"; + port = 9090; + IsolateDestAddr = true; + }; description = '' Bind to this address to listen for connections from Socks-speaking applications. @@ -258,27 +493,32 @@ in onionServices = mkOption { description = (descriptionGeneric "HiddenServiceDir"); - default = {}; + default = { }; example = { "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" = { - clientAuthorizations = ["/run/keys/tor/alice.prv.x25519"]; + clientAuthorizations = [ "/run/keys/tor/alice.prv.x25519" ]; }; }; - type = types.attrsOf (types.submodule ({name, config, ...}: { - options.clientAuthorizations = mkOption { - description = '' - Clients' authorizations for a v3 onion service, - as a list of files containing each one private key, in the format: - ``` - descriptor:x25519: - ``` - ${descriptionGeneric "_client_authorization"} - ''; - type = with types; listOf path; - default = []; - example = ["/run/keys/tor/alice.prv.x25519"]; - }; - })); + type = types.attrsOf ( + types.submodule ( + { name, config, ... }: + { + options.clientAuthorizations = mkOption { + description = '' + Clients' authorizations for a v3 onion service, + as a list of files containing each one private key, in the format: + ``` + descriptor:x25519: + ``` + ${descriptionGeneric "_client_authorization"} + ''; + type = with types; listOf path; + default = [ ]; + example = [ "/run/keys/tor/alice.prv.x25519" ]; + }; + } + ) + ); }; }; @@ -299,7 +539,12 @@ in }; role = mkOption { - type = types.enum [ "exit" "relay" "bridge" "private-bridge" ]; + type = types.enum [ + "exit" + "relay" + "bridge" + "private-bridge" + ]; description = '' Your role in Tor network. There're several options: @@ -386,7 +631,7 @@ in onionServices = mkOption { description = (descriptionGeneric "HiddenServiceDir"); - default = {}; + default = { }; example = { "example.org/www" = { map = [ 80 ]; @@ -395,136 +640,185 @@ in ]; }; }; - type = types.attrsOf (types.submodule ({name, config, ...}: { - options.path = mkOption { - type = types.path; - description = '' - Path where to store the data files of the hidden service. - If the {option}`secretKey` is null - this defaults to `${stateDir}/onion/$onion`, - otherwise to `${runDir}/onion/$onion`. - ''; - }; - options.secretKey = mkOption { - type = with types; nullOr path; - default = null; - example = "/run/keys/tor/onion/expyuzz4wqqyqhjn/hs_ed25519_secret_key"; - description = '' - Secret key of the onion service. - If null, Tor reuses any preexisting secret key (in {option}`path`) - or generates a new one. - The associated public key and hostname are deterministically regenerated - from this file if they do not exist. - ''; - }; - options.authorizeClient = mkOption { - description = (descriptionGeneric "HiddenServiceAuthorizeClient"); - default = null; - type = types.nullOr (types.submodule ({...}: { - options = { - authType = mkOption { - type = types.enum [ "basic" "stealth" ]; - description = '' - Either `"basic"` for a general-purpose authorization protocol - or `"stealth"` for a less scalable protocol - that also hides service activity from unauthorized clients. - ''; - }; - clientNames = mkOption { - type = with types; nonEmptyListOf (strMatching "[A-Za-z0-9+-_]+"); - description = '' - Only clients that are listed here are authorized to access the hidden service. - Generated authorization data can be found in {file}`${stateDir}/onion/$name/hostname`. - Clients need to put this authorization data in their configuration file using - [](#opt-services.tor.settings.HidServAuth). - ''; - }; + type = types.attrsOf ( + types.submodule ( + { name, config, ... }: + { + options.path = mkOption { + type = types.path; + description = '' + Path where to store the data files of the hidden service. + If the {option}`secretKey` is null + this defaults to `${stateDir}/onion/$onion`, + otherwise to `${runDir}/onion/$onion`. + ''; }; - })); - }; - options.authorizedClients = mkOption { - description = '' - Authorized clients for a v3 onion service, - as a list of public key, in the format: - ``` - descriptor:x25519: - ``` - ${descriptionGeneric "_client_authorization"} - ''; - type = with types; listOf str; - default = []; - example = ["descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]; - }; - options.map = mkOption { - description = (descriptionGeneric "HiddenServicePort"); - type = with types; listOf (oneOf [ - port (submodule ({...}: { - options = { - port = optionPort; - target = mkOption { - default = null; - type = nullOr (submodule ({...}: { - options = { - unix = optionUnix; - addr = optionAddress; - port = optionPort; - }; - })); - }; - }; - })) - ]); - apply = map (v: if isInt v then {port=v; target=null;} else v); - }; - options.version = mkOption { - description = (descriptionGeneric "HiddenServiceVersion"); - type = with types; nullOr (enum [2 3]); - default = null; - }; - options.settings = mkOption { - description = '' - Settings of the onion service. - ${descriptionGeneric "_hidden_service_options"} - ''; - default = {}; - type = types.submodule { - freeformType = with types; - (attrsOf (nullOr (oneOf [str int bool (listOf str)]))) // { - description = "settings option"; - }; - options.HiddenServiceAllowUnknownPorts = optionBool "HiddenServiceAllowUnknownPorts"; - options.HiddenServiceDirGroupReadable = optionBool "HiddenServiceDirGroupReadable"; - options.HiddenServiceExportCircuitID = mkOption { - description = (descriptionGeneric "HiddenServiceExportCircuitID"); - type = with types; nullOr (enum ["haproxy"]); + options.secretKey = mkOption { + type = with types; nullOr path; default = null; + example = "/run/keys/tor/onion/expyuzz4wqqyqhjn/hs_ed25519_secret_key"; + description = '' + Secret key of the onion service. + If null, Tor reuses any preexisting secret key (in {option}`path`) + or generates a new one. + The associated public key and hostname are deterministically regenerated + from this file if they do not exist. + ''; }; - options.HiddenServiceMaxStreams = mkOption { - description = (descriptionGeneric "HiddenServiceMaxStreams"); - type = with types; nullOr (ints.between 0 65535); + options.authorizeClient = mkOption { + description = (descriptionGeneric "HiddenServiceAuthorizeClient"); default = null; + type = types.nullOr ( + types.submodule ( + { ... }: + { + options = { + authType = mkOption { + type = types.enum [ + "basic" + "stealth" + ]; + description = '' + Either `"basic"` for a general-purpose authorization protocol + or `"stealth"` for a less scalable protocol + that also hides service activity from unauthorized clients. + ''; + }; + clientNames = mkOption { + type = with types; nonEmptyListOf (strMatching "[A-Za-z0-9+-_]+"); + description = '' + Only clients that are listed here are authorized to access the hidden service. + Generated authorization data can be found in {file}`${stateDir}/onion/$name/hostname`. + Clients need to put this authorization data in their configuration file using + [](#opt-services.tor.settings.HidServAuth). + ''; + }; + }; + } + ) + ); }; - options.HiddenServiceMaxStreamsCloseCircuit = optionBool "HiddenServiceMaxStreamsCloseCircuit"; - options.HiddenServiceNumIntroductionPoints = mkOption { - description = (descriptionGeneric "HiddenServiceNumIntroductionPoints"); - type = with types; nullOr (ints.between 0 20); + options.authorizedClients = mkOption { + description = '' + Authorized clients for a v3 onion service, + as a list of public key, in the format: + ``` + descriptor:x25519: + ``` + ${descriptionGeneric "_client_authorization"} + ''; + type = with types; listOf str; + default = [ ]; + example = [ "descriptor:x25519:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ]; + }; + options.map = mkOption { + description = (descriptionGeneric "HiddenServicePort"); + type = + with types; + listOf (oneOf [ + port + (submodule ( + { ... }: + { + options = { + port = optionPort; + target = mkOption { + default = null; + type = nullOr ( + submodule ( + { ... }: + { + options = { + unix = optionUnix; + addr = optionAddress; + port = optionPort; + }; + } + ) + ); + }; + }; + } + )) + ]); + apply = map ( + v: + if isInt v then + { + port = v; + target = null; + } + else + v + ); + }; + options.version = mkOption { + description = (descriptionGeneric "HiddenServiceVersion"); + type = + with types; + nullOr (enum [ + 2 + 3 + ]); default = null; }; - options.HiddenServiceSingleHopMode = optionBool "HiddenServiceSingleHopMode"; - options.RendPostPeriod = optionString "RendPostPeriod"; - }; - }; - config = { - path = mkDefault ((if config.secretKey == null then stateDir else runDir) + "/onion/${name}"); - settings.HiddenServiceVersion = config.version; - settings.HiddenServiceAuthorizeClient = - if config.authorizeClient != null then - config.authorizeClient.authType + " " + - concatStringsSep "," config.authorizeClient.clientNames - else null; - settings.HiddenServicePort = map (p: mkValueString "" p.port + " " + mkValueString "" p.target) config.map; - }; - })); + options.settings = mkOption { + description = '' + Settings of the onion service. + ${descriptionGeneric "_hidden_service_options"} + ''; + default = { }; + type = types.submodule { + freeformType = + with types; + (attrsOf ( + nullOr (oneOf [ + str + int + bool + (listOf str) + ]) + )) + // { + description = "settings option"; + }; + options.HiddenServiceAllowUnknownPorts = optionBool "HiddenServiceAllowUnknownPorts"; + options.HiddenServiceDirGroupReadable = optionBool "HiddenServiceDirGroupReadable"; + options.HiddenServiceExportCircuitID = mkOption { + description = (descriptionGeneric "HiddenServiceExportCircuitID"); + type = with types; nullOr (enum [ "haproxy" ]); + default = null; + }; + options.HiddenServiceMaxStreams = mkOption { + description = (descriptionGeneric "HiddenServiceMaxStreams"); + type = with types; nullOr (ints.between 0 65535); + default = null; + }; + options.HiddenServiceMaxStreamsCloseCircuit = optionBool "HiddenServiceMaxStreamsCloseCircuit"; + options.HiddenServiceNumIntroductionPoints = mkOption { + description = (descriptionGeneric "HiddenServiceNumIntroductionPoints"); + type = with types; nullOr (ints.between 0 20); + default = null; + }; + options.HiddenServiceSingleHopMode = optionBool "HiddenServiceSingleHopMode"; + options.RendPostPeriod = optionString "RendPostPeriod"; + }; + }; + config = { + path = mkDefault ((if config.secretKey == null then stateDir else runDir) + "/onion/${name}"); + settings.HiddenServiceVersion = config.version; + settings.HiddenServiceAuthorizeClient = + if config.authorizeClient != null then + config.authorizeClient.authType + " " + concatStringsSep "," config.authorizeClient.clientNames + else + null; + settings.HiddenServicePort = map ( + p: mkValueString "" p.port + " " + mkValueString "" p.target + ) config.map; + }; + } + ) + ); }; }; @@ -533,10 +827,19 @@ in See [torrc manual](https://2019.www.torproject.org/docs/tor-manual.html.en) for documentation. ''; - default = {}; + default = { }; type = types.submodule { - freeformType = with types; - (attrsOf (nullOr (oneOf [str int bool (listOf str)]))) // { + freeformType = + with types; + (attrsOf ( + nullOr (oneOf [ + str + int + bool + (listOf str) + ]) + )) + // { description = "settings option"; }; options.Address = optionString "Address"; @@ -551,14 +854,19 @@ in options.AuthoritativeDirectory = optionBool "AuthoritativeDirectory"; options.AutomapHostsOnResolve = optionBool "AutomapHostsOnResolve"; options.AutomapHostsSuffixes = optionStrings "AutomapHostsSuffixes" // { - default = [".onion" ".exit"]; - example = [".onion"]; + default = [ + ".onion" + ".exit" + ]; + example = [ ".onion" ]; }; options.BandwidthBurst = optionBandwidth "BandwidthBurst"; options.BandwidthRate = optionBandwidth "BandwidthRate"; options.BridgeAuthoritativeDir = optionBool "BridgeAuthoritativeDir"; options.BridgeRecordUsageByCountry = optionBool "BridgeRecordUsageByCountry"; - options.BridgeRelay = optionBool "BridgeRelay" // { default = false; }; + options.BridgeRelay = optionBool "BridgeRelay" // { + default = false; + }; options.CacheDirectory = optionPath "CacheDirectory"; options.CacheDirectoryGroupReadable = optionBool "CacheDirectoryGroupReadable"; # default is null and like "auto" options.CellStatistics = optionBool "CellStatistics"; @@ -579,32 +887,58 @@ in options.ContactInfo = optionString "ContactInfo"; options.ControlPort = mkOption rec { description = (descriptionGeneric "ControlPort"); - default = []; - example = [{port = 9051;}]; - type = with types; oneOf [port (enum ["auto"]) (listOf (oneOf [ - port (enum ["auto"]) (submodule ({config, ...}: let - flags = ["GroupWritable" "RelaxDirModeCheck" "WorldWritable"]; - in { - options = { - unix = optionUnix; - flags = optionFlags; - addr = optionAddress; - port = optionPort; - } // genAttrs flags (name: mkOption { type = types.bool; default = false; }); - config = { - flags = filter (name: config.${name} == true) flags; - }; - })) - ]))]; + default = [ ]; + example = [ { port = 9051; } ]; + type = + with types; + oneOf [ + port + (enum [ "auto" ]) + (listOf (oneOf [ + port + (enum [ "auto" ]) + (submodule ( + { config, ... }: + let + flags = [ + "GroupWritable" + "RelaxDirModeCheck" + "WorldWritable" + ]; + in + { + options = + { + unix = optionUnix; + flags = optionFlags; + addr = optionAddress; + port = optionPort; + } + // genAttrs flags ( + name: + mkOption { + type = types.bool; + default = false; + } + ); + config = { + flags = filter (name: config.${name} == true) flags; + }; + } + )) + ])) + ]; }; - options.ControlPortFileGroupReadable= optionBool "ControlPortFileGroupReadable"; + options.ControlPortFileGroupReadable = optionBool "ControlPortFileGroupReadable"; options.ControlPortWriteToFile = optionPath "ControlPortWriteToFile"; options.ControlSocket = optionPath "ControlSocket"; options.ControlSocketsGroupWritable = optionBool "ControlSocketsGroupWritable"; options.CookieAuthFile = optionPath "CookieAuthFile"; options.CookieAuthFileGroupReadable = optionBool "CookieAuthFileGroupReadable"; options.CookieAuthentication = optionBool "CookieAuthentication"; - options.DataDirectory = optionPath "DataDirectory" // { default = stateDir; }; + options.DataDirectory = optionPath "DataDirectory" // { + default = stateDir; + }; options.DataDirectoryGroupReadable = optionBool "DataDirectoryGroupReadable"; options.DirPortFrontPage = optionPath "DirPortFrontPage"; options.DirAllowPrivateAddresses = optionBool "DirAllowPrivateAddresses"; @@ -615,8 +949,8 @@ in options.DirPolicy = mkOption { description = (descriptionGeneric "DirPolicy"); type = with types; listOf str; - default = []; - example = ["accept *:*"]; + default = [ ]; + example = [ "accept *:*" ]; }; options.DirPort = optionORPort "DirPort"; options.DirReqStatistics = optionBool "DirReqStatistics"; @@ -632,8 +966,8 @@ in options.EnforceDistinctSubnets = optionBool "EnforceDistinctSubnets"; options.EntryStatistics = optionBool "EntryStatistics"; options.ExitPolicy = optionStrings "ExitPolicy" // { - default = ["reject *:*"]; - example = ["accept *:*"]; + default = [ "reject *:*" ]; + example = [ "accept *:*" ]; }; options.ExitPolicyRejectLocalInterfaces = optionBool "ExitPolicyRejectLocalInterfaces"; options.ExitPolicyRejectPrivate = optionBool "ExitPolicyRejectPrivate"; @@ -642,14 +976,21 @@ in options.ExtORPort = mkOption { description = (descriptionGeneric "ExtORPort"); default = null; - type = with types; nullOr (oneOf [ - port (enum ["auto"]) (submodule ({...}: { - options = { - addr = optionAddress; - port = optionPort; - }; - })) - ]); + type = + with types; + nullOr (oneOf [ + port + (enum [ "auto" ]) + (submodule ( + { ... }: + { + options = { + addr = optionAddress; + port = optionPort; + }; + } + )) + ]); apply = p: if isInt p || isString p then { port = p; } else p; }; options.ExtORPortCookieAuthFile = optionPath "ExtORPortCookieAuthFile"; @@ -670,22 +1011,24 @@ in options.GuardfractionFile = optionPath "GuardfractionFile"; options.HidServAuth = mkOption { description = (descriptionGeneric "HidServAuth"); - default = []; - type = with types; listOf (oneOf [ - (submodule { - options = { - onion = mkOption { - type = strMatching "[a-z2-7]{16}\\.onion"; - description = "Onion address."; - example = "xxxxxxxxxxxxxxxx.onion"; - }; - auth = mkOption { - type = strMatching "[A-Za-z0-9+/]{22}"; - description = "Authentication cookie."; + default = [ ]; + type = + with types; + listOf (oneOf [ + (submodule { + options = { + onion = mkOption { + type = strMatching "[a-z2-7]{16}\\.onion"; + description = "Onion address."; + example = "xxxxxxxxxxxxxxxx.onion"; + }; + auth = mkOption { + type = strMatching "[A-Za-z0-9+/]{22}"; + description = "Authentication cookie."; + }; }; - }; - }) - ]); + }) + ]); example = [ { onion = "xxxxxxxxxxxxxxxx.onion"; @@ -721,7 +1064,18 @@ in options.PublishHidServDescriptors = optionBool "PublishHidServDescriptors"; options.PublishServerDescriptor = mkOption { description = (descriptionGeneric "PublishServerDescriptor"); - type = with types; nullOr (enum [false true 0 1 "0" "1" "v3" "bridge"]); + type = + with types; + nullOr (enum [ + false + true + 0 + 1 + "0" + "1" + "v3" + "bridge" + ]); default = null; }; options.ReducedExitPolicy = optionBool "ReducedExitPolicy"; @@ -740,19 +1094,31 @@ in options.ServerTransportPlugin = mkOption { description = (descriptionGeneric "ServerTransportPlugin"); default = null; - type = with types; nullOr (submodule ({...}: { - options = { - transports = mkOption { - description = "List of pluggable transports."; - type = listOf str; - example = ["obfs2" "obfs3" "obfs4" "scramblesuit"]; - }; - exec = mkOption { - type = types.str; - description = "Command of pluggable transport."; - }; - }; - })); + type = + with types; + nullOr ( + submodule ( + { ... }: + { + options = { + transports = mkOption { + description = "List of pluggable transports."; + type = listOf str; + example = [ + "obfs2" + "obfs3" + "obfs4" + "scramblesuit" + ]; + }; + exec = mkOption { + type = types.str; + description = "Command of pluggable transport."; + }; + }; + } + ) + ); }; options.ShutdownWaitLength = mkOption { type = types.int; @@ -760,24 +1126,31 @@ in description = (descriptionGeneric "ShutdownWaitLength"); }; options.SocksPolicy = optionStrings "SocksPolicy" // { - example = ["accept *:*"]; + example = [ "accept *:*" ]; }; options.SOCKSPort = mkOption { description = (descriptionGeneric "SOCKSPort"); - default = lib.optionals cfg.settings.HiddenServiceNonAnonymousMode [{port = 0;}]; + default = lib.optionals cfg.settings.HiddenServiceNonAnonymousMode [ { port = 0; } ]; defaultText = literalExpression '' if config.${opt.settings}.HiddenServiceNonAnonymousMode == true then [ { port = 0; } ] else [ ] ''; - example = [{port = 9090;}]; + example = [ { port = 9090; } ]; type = types.listOf (optionSOCKSPort true); }; options.TestingTorNetwork = optionBool "TestingTorNetwork"; options.TransPort = optionIsolablePorts "TransPort"; options.TransProxyType = mkOption { description = (descriptionGeneric "TransProxyType"); - type = with types; nullOr (enum ["default" "TPROXY" "ipfw" "pf-divert"]); + type = + with types; + nullOr (enum [ + "default" + "TPROXY" + "ipfw" + "pf-divert" + ]); default = null; }; #options.TruncateLogFile @@ -798,45 +1171,49 @@ in config = mkIf cfg.enable { # Not sure if `cfg.relay.role == "private-bridge"` helps as tor # sends a lot of stats - warnings = optional (cfg.settings.BridgeRelay && - flatten (mapAttrsToList (n: o: o.map) cfg.relay.onionServices) != []) - '' - Running Tor hidden services on a public relay makes the - presence of hidden services visible through simple statistical - analysis of publicly available data. - See https://trac.torproject.org/projects/tor/ticket/8742 + warnings = + optional + (cfg.settings.BridgeRelay && flatten (mapAttrsToList (n: o: o.map) cfg.relay.onionServices) != [ ]) + '' + Running Tor hidden services on a public relay makes the + presence of hidden services visible through simple statistical + analysis of publicly available data. + See https://trac.torproject.org/projects/tor/ticket/8742 - You can safely ignore this warning if you don't intend to - actually hide your hidden services. In either case, you can - always create a container/VM with a separate Tor daemon instance. - '' ++ - flatten (mapAttrsToList (n: o: - optionals (o.settings.HiddenServiceVersion == 2) [ - (optional (o.settings.HiddenServiceExportCircuitID != null) '' - HiddenServiceExportCircuitID is used in the HiddenService: ${n} - but this option is only for v3 hidden services. - '') - ] ++ - optionals (o.settings.HiddenServiceVersion != 2) [ - (optional (o.settings.HiddenServiceAuthorizeClient != null) '' - HiddenServiceAuthorizeClient is used in the HiddenService: ${n} - but this option is only for v2 hidden services. - '') - (optional (o.settings.RendPostPeriod != null) '' - RendPostPeriod is used in the HiddenService: ${n} - but this option is only for v2 hidden services. - '') - ] - ) cfg.relay.onionServices); + You can safely ignore this warning if you don't intend to + actually hide your hidden services. In either case, you can + always create a container/VM with a separate Tor daemon instance. + '' + ++ flatten ( + mapAttrsToList ( + n: o: + optionals (o.settings.HiddenServiceVersion == 2) [ + (optional (o.settings.HiddenServiceExportCircuitID != null) '' + HiddenServiceExportCircuitID is used in the HiddenService: ${n} + but this option is only for v3 hidden services. + '') + ] + ++ optionals (o.settings.HiddenServiceVersion != 2) [ + (optional (o.settings.HiddenServiceAuthorizeClient != null) '' + HiddenServiceAuthorizeClient is used in the HiddenService: ${n} + but this option is only for v2 hidden services. + '') + (optional (o.settings.RendPostPeriod != null) '' + RendPostPeriod is used in the HiddenService: ${n} + but this option is only for v2 hidden services. + '') + ] + ) cfg.relay.onionServices + ); users.groups.tor.gid = config.ids.gids.tor; - users.users.tor = - { description = "Tor Daemon User"; - createHome = true; - home = stateDir; - group = "tor"; - uid = config.ids.uids.tor; - }; + users.users.tor = { + description = "Tor Daemon User"; + createHome = true; + home = stateDir; + group = "tor"; + uid = config.ids.uids.tor; + }; services.tor.settings = mkMerge [ (mkIf cfg.enableGeoIP { @@ -844,18 +1221,31 @@ in GeoIPv6File = "${cfg.package.geoip}/share/tor/geoip6"; }) (mkIf cfg.controlSocket.enable { - ControlPort = [ { unix = runDir + "/control"; GroupWritable=true; RelaxDirModeCheck=true; } ]; + ControlPort = [ + { + unix = runDir + "/control"; + GroupWritable = true; + RelaxDirModeCheck = true; + } + ]; }) (mkIf cfg.relay.enable ( optionalAttrs (cfg.relay.role != "exit") { - ExitPolicy = mkForce ["reject *:*"]; - } // - optionalAttrs (elem cfg.relay.role ["bridge" "private-bridge"]) { - BridgeRelay = true; - ExtORPort.port = mkDefault "auto"; - ServerTransportPlugin.transports = mkDefault ["obfs4"]; - ServerTransportPlugin.exec = mkDefault "${lib.getExe pkgs.obfs4} managed"; - } // optionalAttrs (cfg.relay.role == "private-bridge") { + ExitPolicy = mkForce [ "reject *:*" ]; + } + // + optionalAttrs + (elem cfg.relay.role [ + "bridge" + "private-bridge" + ]) + { + BridgeRelay = true; + ExtORPort.port = mkDefault "auto"; + ServerTransportPlugin.transports = mkDefault [ "obfs4" ]; + ServerTransportPlugin.exec = mkDefault "${lib.getExe pkgs.obfs4} managed"; + } + // optionalAttrs (cfg.relay.role == "private-bridge") { ExtraInfoStatistics = false; PublishServerDescriptor = false; } @@ -866,8 +1256,8 @@ in # which can trigger all sort of problems when not carefully done, # like the blocklisting of the machine's IP addresses # by some hosting providers... - DirPort = mkForce []; - ORPort = mkForce []; + DirPort = mkForce [ ]; + ORPort = mkForce [ ]; PublishServerDescriptor = mkForce false; }) (mkIf (!cfg.client.enable) { @@ -876,27 +1266,46 @@ in SOCKSPort = mkForce [ 0 ]; }) (mkIf cfg.client.enable ( - { SOCKSPort = [ cfg.client.socksListenAddress ]; - } // optionalAttrs cfg.client.transparentProxy.enable { - TransPort = [{ addr = "127.0.0.1"; port = 9040; }]; - } // optionalAttrs cfg.client.dns.enable { - DNSPort = [{ addr = "127.0.0.1"; port = 9053; }]; + { + SOCKSPort = [ cfg.client.socksListenAddress ]; + } + // optionalAttrs cfg.client.transparentProxy.enable { + TransPort = [ + { + addr = "127.0.0.1"; + port = 9040; + } + ]; + } + // optionalAttrs cfg.client.dns.enable { + DNSPort = [ + { + addr = "127.0.0.1"; + port = 9053; + } + ]; AutomapHostsOnResolve = true; - } // optionalAttrs (flatten (mapAttrsToList (n: o: o.clientAuthorizations) cfg.client.onionServices) != []) { - ClientOnionAuthDir = runDir + "/ClientOnionAuthDir"; } + // + optionalAttrs + (flatten (mapAttrsToList (n: o: o.clientAuthorizations) cfg.client.onionServices) != [ ]) + { + ClientOnionAuthDir = runDir + "/ClientOnionAuthDir"; + } )) ]; networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = - concatMap (o: - if isInt o && o > 0 then [o] - else optionals (o ? "port" && isInt o.port && o.port > 0) [o.port] - ) (flatten [ - cfg.settings.ORPort - cfg.settings.DirPort - ]); + concatMap + ( + o: + if isInt o && o > 0 then [ o ] else optionals (o ? "port" && isInt o.port && o.port > 0) [ o.port ] + ) + (flatten [ + cfg.settings.ORPort + cfg.settings.DirPort + ]); }; systemd.services.tor = { @@ -904,7 +1313,7 @@ in path = [ pkgs.tor ]; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + after = [ "network.target" ]; restartTriggers = [ torrc ]; serviceConfig = { @@ -914,34 +1323,50 @@ in ExecStartPre = [ "${cfg.package}/bin/tor -f ${torrc} --verify-config" # DOC: Appendix G of https://spec.torproject.org/rend-spec-v3 - ("+" + pkgs.writeShellScript "ExecStartPre" (concatStringsSep "\n" (flatten (["set -eu"] ++ - mapAttrsToList (name: onion: - optional (onion.authorizedClients != []) '' - rm -rf ${escapeShellArg onion.path}/authorized_clients - install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} ${escapeShellArg onion.path}/authorized_clients - '' ++ - imap0 (i: pubKey: '' - echo ${pubKey} | - install -o tor -g tor -m 0400 /dev/stdin ${escapeShellArg onion.path}/authorized_clients/${toString i}.auth - '') onion.authorizedClients ++ - optional (onion.secretKey != null) '' - install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} - key="$(cut -f1 -d: ${escapeShellArg onion.secretKey} | head -1)" - case "$key" in - ("== ed25519v"*"-secret") - install -o tor -g tor -m 0400 ${escapeShellArg onion.secretKey} ${escapeShellArg onion.path}/hs_ed25519_secret_key;; - (*) echo >&2 "NixOS does not (yet) support secret key type for onion: ${name}"; exit 1;; - esac - '' - ) cfg.relay.onionServices ++ - mapAttrsToList (name: onion: imap0 (i: prvKeyPath: - let hostname = removeSuffix ".onion" name; in '' - printf "%s:" ${escapeShellArg hostname} | cat - ${escapeShellArg prvKeyPath} | - install -o tor -g tor -m 0700 /dev/stdin \ - ${runDir}/ClientOnionAuthDir/${escapeShellArg hostname}.${toString i}.auth_private - '') onion.clientAuthorizations) - cfg.client.onionServices - )))) + ( + "+" + + pkgs.writeShellScript "ExecStartPre" ( + concatStringsSep "\n" ( + flatten ( + [ "set -eu" ] + ++ mapAttrsToList ( + name: onion: + optional (onion.authorizedClients != [ ]) '' + rm -rf ${escapeShellArg onion.path}/authorized_clients + install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} ${escapeShellArg onion.path}/authorized_clients + '' + ++ imap0 (i: pubKey: '' + echo ${pubKey} | + install -o tor -g tor -m 0400 /dev/stdin ${escapeShellArg onion.path}/authorized_clients/${toString i}.auth + '') onion.authorizedClients + ++ optional (onion.secretKey != null) '' + install -d -o tor -g tor -m 0700 ${escapeShellArg onion.path} + key="$(cut -f1 -d: ${escapeShellArg onion.secretKey} | head -1)" + case "$key" in + ("== ed25519v"*"-secret") + install -o tor -g tor -m 0400 ${escapeShellArg onion.secretKey} ${escapeShellArg onion.path}/hs_ed25519_secret_key;; + (*) echo >&2 "NixOS does not (yet) support secret key type for onion: ${name}"; exit 1;; + esac + '' + ) cfg.relay.onionServices + ++ mapAttrsToList ( + name: onion: + imap0 ( + i: prvKeyPath: + let + hostname = removeSuffix ".onion" name; + in + '' + printf "%s:" ${escapeShellArg hostname} | cat - ${escapeShellArg prvKeyPath} | + install -o tor -g tor -m 0700 /dev/stdin \ + ${runDir}/ClientOnionAuthDir/${escapeShellArg hostname}.${toString i}.auth_private + '' + ) onion.clientAuthorizations + ) cfg.client.onionServices + ) + ) + ) + ) ]; ExecStart = "${cfg.package}/bin/tor -f ${torrc}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; @@ -958,13 +1383,16 @@ in ]; RuntimeDirectoryMode = "0710"; StateDirectoryMode = "0700"; - StateDirectory = [ + StateDirectory = + [ "tor" "tor/onion" - ] ++ - flatten (mapAttrsToList (name: onion: - optional (onion.secretKey == null) "tor/onion/${name}" - ) cfg.relay.onionServices); + ] + ++ flatten ( + mapAttrsToList ( + name: onion: optional (onion.secretKey == null) "tor/onion/${name}" + ) cfg.relay.onionServices + ); # The following options are only to optimize: # systemd-analyze security tor RootDirectory = runDir + "/root"; @@ -972,13 +1400,17 @@ in #InaccessiblePaths = [ "-+${runDir}/root" ]; UMask = "0066"; BindPaths = [ stateDir ]; - BindReadOnlyPaths = [ storeDir "/etc" ] ++ - optionals config.services.resolved.enable [ + BindReadOnlyPaths = + [ + storeDir + "/etc" + ] + ++ optionals config.services.resolved.enable [ "/run/systemd/resolve/stub-resolv.conf" "/run/systemd/resolve/resolv.conf" ]; - AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; - CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; + AmbientCapabilities = [ "" ] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; + CapabilityBoundingSet = [ "" ] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; # ProtectClock= adds DeviceAllow=char-rtc r DeviceAllow = ""; LockPersonality = true; @@ -1002,7 +1434,12 @@ in ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -1012,7 +1449,13 @@ in # Groups in @system-service which do not contain a syscall listed by: # perf stat -x, 2>perf.log -e 'syscalls:sys_enter_*' tor # in tests, and seem likely not necessary for tor. - "~@aio" "~@chown" "~@keyring" "~@memlock" "~@resources" "~@setuid" "~@timer" + "~@aio" + "~@chown" + "~@keyring" + "~@memlock" + "~@resources" + "~@setuid" + "~@timer" ]; SystemCallArchitectures = "native"; SystemCallErrorNumber = "EPERM"; diff --git a/nixos/modules/services/security/torify.nix b/nixos/modules/services/security/torify.nix index 5f147ac4a30fe..aa60618b42996 100644 --- a/nixos/modules/services/security/torify.nix +++ b/nixos/modules/services/security/torify.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -7,8 +12,8 @@ let torify = pkgs.writeTextFile { name = "tsocks"; text = '' - #!${pkgs.runtimeShell} - TSOCKS_CONF_FILE=${pkgs.writeText "tsocks.conf" cfg.tsocks.config} LD_PRELOAD="${pkgs.tsocks}/lib/libtsocks.so $LD_PRELOAD" "$@" + #!${pkgs.runtimeShell} + TSOCKS_CONF_FILE=${pkgs.writeText "tsocks.conf" cfg.tsocks.config} LD_PRELOAD="${pkgs.tsocks}/lib/libtsocks.so $LD_PRELOAD" "$@" ''; executable = true; destination = "/bin/tsocks"; @@ -66,11 +71,11 @@ in config = mkIf cfg.tsocks.enable { - environment.systemPackages = [ torify ]; # expose it to the users + environment.systemPackages = [ torify ]; # expose it to the users services.tor.tsocks.config = '' - server = ${toString(head (splitString ":" cfg.tsocks.server))} - server_port = ${toString(tail (splitString ":" cfg.tsocks.server))} + server = ${toString (head (splitString ":" cfg.tsocks.server))} + server_port = ${toString (tail (splitString ":" cfg.tsocks.server))} local = 127.0.0.0/255.128.0.0 local = 127.128.0.0/255.192.0.0 diff --git a/nixos/modules/services/security/usbguard.nix b/nixos/modules/services/security/usbguard.nix index 17bffa57ef3ad..d73d1c65747b5 100644 --- a/nixos/modules/services/security/usbguard.nix +++ b/nixos/modules/services/security/usbguard.nix @@ -1,11 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.usbguard; # valid policy options - policy = (types.enum [ "allow" "block" "reject" "keep" "apply-policy" ]); + policy = ( + types.enum [ + "allow" + "block" + "reject" + "keep" + "apply-policy" + ] + ); # decide what file to use for rules ruleFile = if cfg.rules != null then pkgs.writeText "usbguard-rules" cfg.rules else cfg.ruleFile; @@ -80,7 +93,11 @@ in }; implicitPolicyTarget = mkOption { - type = types.enum [ "allow" "block" "reject" ]; + type = types.enum [ + "allow" + "block" + "reject" + ]; default = "block"; description = '' How to treat USB devices that don't match any rule in the policy. @@ -110,7 +127,11 @@ in }; insertedDevicePolicy = mkOption { - type = types.enum [ "block" "reject" "apply-policy" ]; + type = types.enum [ + "block" + "reject" + "apply-policy" + ]; default = "apply-policy"; description = '' How to treat USB devices that are already connected after the daemon @@ -133,7 +154,10 @@ in IPCAllowedUsers = mkOption { type = types.listOf types.str; default = [ "root" ]; - example = [ "root" "yourusername" ]; + example = [ + "root" + "yourusername" + ]; description = '' A list of usernames that the daemon will accept IPC connections from. ''; @@ -161,7 +185,6 @@ in }; }; - ###### implementation config = mkIf cfg.enable { @@ -204,7 +227,10 @@ in ProtectSystem = true; ReadOnlyPaths = "-/"; ReadWritePaths = "-/dev/shm -/tmp"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_NETLINK" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_NETLINK" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; @@ -232,10 +258,8 @@ in security.polkit.extraConfig = let - groupCheck = (lib.concatStrings (map - (g: "subject.isInGroup(\"${g}\") || ") - cfg.IPCAllowedGroups)) - + "false"; + groupCheck = + (lib.concatStrings (map (g: "subject.isInGroup(\"${g}\") || ") cfg.IPCAllowedGroups)) + "false"; in optionalString cfg.dbus.enable '' polkit.addRule(function(action, subject) { @@ -254,8 +278,17 @@ in ''; }; imports = [ - (mkRemovedOptionModule [ "services" "usbguard" "IPCAccessControlFiles" ] "The usbguard module now hardcodes IPCAccessControlFiles to /var/lib/usbguard/IPCAccessControl.d.") - (mkRemovedOptionModule [ "services" "usbguard" "auditFilePath" ] "Removed usbguard module audit log files. Audit logs can be found in the systemd journal.") - (mkRenamedOptionModule [ "services" "usbguard" "implictPolicyTarget" ] [ "services" "usbguard" "implicitPolicyTarget" ]) + (mkRemovedOptionModule [ "services" "usbguard" "IPCAccessControlFiles" ] + "The usbguard module now hardcodes IPCAccessControlFiles to /var/lib/usbguard/IPCAccessControl.d." + ) + (mkRemovedOptionModule [ + "services" + "usbguard" + "auditFilePath" + ] "Removed usbguard module audit log files. Audit logs can be found in the systemd journal.") + (mkRenamedOptionModule + [ "services" "usbguard" "implictPolicyTarget" ] + [ "services" "usbguard" "implicitPolicyTarget" ] + ) ]; } diff --git a/nixos/modules/services/security/vault-agent.nix b/nixos/modules/services/security/vault-agent.nix index 04fb08b8f9b88..ca5576804a7b1 100644 --- a/nixos/modules/services/security/vault-agent.nix +++ b/nixos/modules/services/security/vault-agent.nix @@ -1,88 +1,118 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let format = pkgs.formats.json { }; - commonOptions = { pkgName, flavour ? pkgName }: mkOption { - default = { }; - description = '' - Attribute set of ${flavour} instances. - Creates independent `${flavour}-''${name}.service` systemd units for each instance defined here. - ''; - type = with types; attrsOf (submodule ({ name, ... }: { - options = { - enable = mkEnableOption "this ${flavour} instance" // { default = true; }; + commonOptions = + { + pkgName, + flavour ? pkgName, + }: + mkOption { + default = { }; + description = '' + Attribute set of ${flavour} instances. + Creates independent `${flavour}-''${name}.service` systemd units for each instance defined here. + ''; + type = + with types; + attrsOf ( + submodule ( + { name, ... }: + { + options = { + enable = mkEnableOption "this ${flavour} instance" // { + default = true; + }; - package = mkPackageOption pkgs pkgName { }; + package = mkPackageOption pkgs pkgName { }; - user = mkOption { - type = types.str; - default = "root"; - description = '' - User under which this instance runs. - ''; - }; + user = mkOption { + type = types.str; + default = "root"; + description = '' + User under which this instance runs. + ''; + }; - group = mkOption { - type = types.str; - default = "root"; - description = '' - Group under which this instance runs. - ''; - }; + group = mkOption { + type = types.str; + default = "root"; + description = '' + Group under which this instance runs. + ''; + }; - settings = mkOption { - type = types.submodule { - freeformType = format.type; + settings = mkOption { + type = types.submodule { + freeformType = format.type; - options = { - pid_file = mkOption { - default = "/run/${flavour}/${name}.pid"; - type = types.str; - description = '' - Path to use for the pid file. - ''; - }; + options = { + pid_file = mkOption { + default = "/run/${flavour}/${name}.pid"; + type = types.str; + description = '' + Path to use for the pid file. + ''; + }; - template = mkOption { - default = null; - type = with types; nullOr (listOf (attrsOf anything)); - description = - let upstreamDocs = - if flavour == "vault-agent" - then "https://developer.hashicorp.com/vault/docs/agent/template" - else "https://github.com/hashicorp/consul-template/blob/main/docs/configuration.md#templates"; - in '' - Template section of ${flavour}. - Refer to <${upstreamDocs}> for supported values. - ''; - }; - }; - }; + template = mkOption { + default = null; + type = with types; nullOr (listOf (attrsOf anything)); + description = + let + upstreamDocs = + if flavour == "vault-agent" then + "https://developer.hashicorp.com/vault/docs/agent/template" + else + "https://github.com/hashicorp/consul-template/blob/main/docs/configuration.md#templates"; + in + '' + Template section of ${flavour}. + Refer to <${upstreamDocs}> for supported values. + ''; + }; + }; + }; - default = { }; + default = { }; - description = - let upstreamDocs = - if flavour == "vault-agent" - then "https://developer.hashicorp.com/vault/docs/agent#configuration-file-options" - else "https://github.com/hashicorp/consul-template/blob/main/docs/configuration.md#configuration-file"; - in '' - Free-form settings written directly to the `config.json` file. - Refer to <${upstreamDocs}> for supported values. + description = + let + upstreamDocs = + if flavour == "vault-agent" then + "https://developer.hashicorp.com/vault/docs/agent#configuration-file-options" + else + "https://github.com/hashicorp/consul-template/blob/main/docs/configuration.md#configuration-file"; + in + '' + Free-form settings written directly to the `config.json` file. + Refer to <${upstreamDocs}> for supported values. - ::: {.note} - Resulting format is JSON not HCL. - Refer to if you are unsure how to convert HCL options to JSON. - ::: - ''; - }; - }; - })); - }; + ::: {.note} + Resulting format is JSON not HCL. + Refer to if you are unsure how to convert HCL options to JSON. + ::: + ''; + }; + }; + } + ) + ); + }; - createAgentInstance = { instance, name, flavour }: + createAgentInstance = + { + instance, + name, + flavour, + }: let configFile = format.generate "${name}.json" instance.settings; in @@ -97,7 +127,9 @@ let User = instance.user; Group = instance.group; RuntimeDirectory = flavour; - ExecStart = "${getExe instance.package} ${optionalString ((getName instance.package) == "vault") "agent"} -config ${configFile}"; + ExecStart = "${getExe instance.package} ${ + optionalString ((getName instance.package) == "vault") "agent" + } -config ${configFile}"; ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID"; KillSignal = "SIGINT"; TimeoutStopSec = "30s"; @@ -108,19 +140,36 @@ in { options = { services.consul-template.instances = commonOptions { pkgName = "consul-template"; }; - services.vault-agent.instances = commonOptions { pkgName = "vault"; flavour = "vault-agent"; }; + services.vault-agent.instances = commonOptions { + pkgName = "vault"; + flavour = "vault-agent"; + }; }; - config = mkMerge (map - (flavour: - let cfg = config.services.${flavour}; in - mkIf (cfg.instances != { }) { - systemd.services = mapAttrs' - (name: instance: nameValuePair "${flavour}-${name}" (createAgentInstance { inherit name instance flavour; })) - cfg.instances; - }) - [ "consul-template" "vault-agent" ]); + config = mkMerge ( + map + ( + flavour: + let + cfg = config.services.${flavour}; + in + mkIf (cfg.instances != { }) { + systemd.services = mapAttrs' ( + name: instance: + nameValuePair "${flavour}-${name}" (createAgentInstance { + inherit name instance flavour; + }) + ) cfg.instances; + } + ) + [ + "consul-template" + "vault-agent" + ] + ); - meta.maintainers = with maintainers; [ emilylange tcheronneau ]; + meta.maintainers = with maintainers; [ + emilylange + tcheronneau + ]; } - diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix index 650f9bda99c33..cab8937a86155 100644 --- a/nixos/modules/services/security/vault.nix +++ b/nixos/modules/services/security/vault.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -9,34 +15,43 @@ let configFile = pkgs.writeText "vault.hcl" '' # vault in dev mode will refuse to start if its configuration sets listener ${lib.optionalString (!cfg.dev) '' - listener "tcp" { - address = "${cfg.address}" - ${if (cfg.tlsCertFile == null || cfg.tlsKeyFile == null) then '' - tls_disable = "true" - '' else '' - tls_cert_file = "${cfg.tlsCertFile}" - tls_key_file = "${cfg.tlsKeyFile}" - ''} - ${cfg.listenerExtraConfig} - } + listener "tcp" { + address = "${cfg.address}" + ${ + if (cfg.tlsCertFile == null || cfg.tlsKeyFile == null) then + '' + tls_disable = "true" + '' + else + '' + tls_cert_file = "${cfg.tlsCertFile}" + tls_key_file = "${cfg.tlsKeyFile}" + '' + } + ${cfg.listenerExtraConfig} + } ''} storage "${cfg.storageBackend}" { - ${optionalString (cfg.storagePath != null) ''path = "${cfg.storagePath}"''} + ${optionalString (cfg.storagePath != null) ''path = "${cfg.storagePath}"''} ${optionalString (cfg.storageConfig != null) cfg.storageConfig} } ${optionalString (cfg.telemetryConfig != "") '' - telemetry { - ${cfg.telemetryConfig} - } - ''} + telemetry { + ${cfg.telemetryConfig} + } + ''} ${cfg.extraConfig} ''; - allConfigPaths = [configFile] ++ cfg.extraSettingsPaths; - configOptions = escapeShellArgs - (lib.optional cfg.dev "-dev" ++ - lib.optional (cfg.dev && cfg.devRootTokenID != null) "-dev-root-token-id=${cfg.devRootTokenID}" - ++ (concatMap (p: ["-config" p]) allConfigPaths)); + allConfigPaths = [ configFile ] ++ cfg.extraSettingsPaths; + configOptions = escapeShellArgs ( + lib.optional cfg.dev "-dev" + ++ lib.optional (cfg.dev && cfg.devRootTokenID != null) "-dev-root-token-id=${cfg.devRootTokenID}" + ++ (concatMap (p: [ + "-config" + p + ]) allConfigPaths) + ); in @@ -92,14 +107,30 @@ in }; storageBackend = mkOption { - type = types.enum [ "inmem" "file" "consul" "zookeeper" "s3" "azure" "dynamodb" "etcd" "mssql" "mysql" "postgresql" "swift" "gcs" "raft" ]; + type = types.enum [ + "inmem" + "file" + "consul" + "zookeeper" + "s3" + "azure" + "dynamodb" + "etcd" + "mssql" + "mysql" + "postgresql" + "swift" + "gcs" + "raft" + ]; default = "inmem"; description = "The name of the type of storage backend"; }; storagePath = mkOption { type = types.nullOr types.path; - default = if cfg.storageBackend == "file" || cfg.storageBackend == "raft" then "/var/lib/vault" else null; + default = + if cfg.storageBackend == "file" || cfg.storageBackend == "raft" then "/var/lib/vault" else null; defaultText = literalExpression '' if config.${opt.storageBackend} == "file" || cfg.storageBackend == "raft" then "/var/lib/vault" @@ -135,7 +166,7 @@ in extraSettingsPaths = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = '' Configuration files to load besides the immutable one defined by the NixOS module. This can be used to avoid putting credentials in the Nix store, which can be read by any user. @@ -173,8 +204,8 @@ in } { assertion = ( - (cfg.storageBackend == "file" -> (cfg.storagePath != null && cfg.storageConfig == null)) && - (cfg.storagePath != null -> (cfg.storageBackend == "file" || cfg.storageBackend == "raft")) + (cfg.storageBackend == "file" -> (cfg.storagePath != null && cfg.storageConfig == null)) + && (cfg.storagePath != null -> (cfg.storageBackend == "file" || cfg.storageBackend == "raft")) ); message = ''You must set services.vault.storagePath only when using the "file" or "raft" backend''; } @@ -188,15 +219,17 @@ in }; users.groups.vault.gid = config.ids.gids.vault; - systemd.tmpfiles.rules = optional (cfg.storagePath != null) - "d '${cfg.storagePath}' 0700 vault vault - -"; + systemd.tmpfiles.rules = optional ( + cfg.storagePath != null + ) "d '${cfg.storagePath}' 0700 vault vault - -"; systemd.services.vault = { description = "Vault server daemon"; - wantedBy = ["multi-user.target"]; - after = [ "network.target" ] - ++ optional (config.services.consul.enable && cfg.storageBackend == "consul") "consul.service"; + wantedBy = [ "multi-user.target" ]; + after = [ + "network.target" + ] ++ optional (config.services.consul.enable && cfg.storageBackend == "consul") "consul.service"; restartIfChanged = false; # do not restart on "nixos-rebuild switch". It would seal the storage and disrupt the clients. diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix index 11d49b580b310..285dbc5d70468 100644 --- a/nixos/modules/services/security/vaultwarden/default.nix +++ b/nixos/modules/services/security/vaultwarden/default.nix @@ -1,41 +1,72 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.vaultwarden; user = config.users.users.vaultwarden.name; group = config.users.groups.vaultwarden.name; - StateDirectory = if lib.versionOlder config.system.stateVersion "24.11" then "bitwarden_rs" else "vaultwarden"; + StateDirectory = + if lib.versionOlder config.system.stateVersion "24.11" then "bitwarden_rs" else "vaultwarden"; dataDir = "/var/lib/${StateDirectory}"; # Convert name from camel case (e.g. disable2FARemember) to upper case snake case (e.g. DISABLE_2FA_REMEMBER). - nameToEnvVar = name: + nameToEnvVar = + name: let parts = builtins.split "([A-Z0-9]+)" name; - partsToEnvVar = parts: lib.foldl' (key: x: let last = lib.stringLength key - 1; in - if lib.isList x then key + lib.optionalString (key != "" && lib.substring last 1 key != "_") "_" + lib.head x - else if key != "" && lib.elem (lib.substring 0 1 x) lib.lowerChars then # to handle e.g. [ "disable" [ "2FAR" ] "emember" ] - lib.substring 0 last key + lib.optionalString (lib.substring (last - 1) 1 key != "_") "_" + lib.substring last 1 key + lib.toUpper x - else key + lib.toUpper x) "" parts; - in if builtins.match "[A-Z0-9_]+" name != null then name else partsToEnvVar parts; + partsToEnvVar = + parts: + lib.foldl' ( + key: x: + let + last = lib.stringLength key - 1; + in + if lib.isList x then + key + lib.optionalString (key != "" && lib.substring last 1 key != "_") "_" + lib.head x + else if key != "" && lib.elem (lib.substring 0 1 x) lib.lowerChars then # to handle e.g. [ "disable" [ "2FAR" ] "emember" ] + lib.substring 0 last key + + lib.optionalString (lib.substring (last - 1) 1 key != "_") "_" + + lib.substring last 1 key + + lib.toUpper x + else + key + lib.toUpper x + ) "" parts; + in + if builtins.match "[A-Z0-9_]+" name != null then name else partsToEnvVar parts; # Due to the different naming schemes allowed for config keys, # we can only check for values consistently after converting them to their corresponding environment variable name. configEnv = let - configEnv = lib.concatMapAttrs (name: value: lib.optionalAttrs (value != null) { - ${nameToEnvVar name} = if lib.isBool value then lib.boolToString value else toString value; - }) cfg.config; - in { DATA_FOLDER = dataDir; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") { + configEnv = lib.concatMapAttrs ( + name: value: + lib.optionalAttrs (value != null) { + ${nameToEnvVar name} = if lib.isBool value then lib.boolToString value else toString value; + } + ) cfg.config; + in + { + DATA_FOLDER = dataDir; + } + // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") { WEB_VAULT_FOLDER = "${cfg.webVaultPackage}/share/vaultwarden/vault"; - } // configEnv; + } + // configEnv; - configFile = pkgs.writeText "vaultwarden.env" (lib.concatStrings (lib.mapAttrsToList (name: value: "${name}=${value}\n") configEnv)); + configFile = pkgs.writeText "vaultwarden.env" ( + lib.concatStrings (lib.mapAttrsToList (name: value: "${name}=${value}\n") configEnv) + ); vaultwarden = cfg.package.override { inherit (cfg) dbBackend; }; -in { +in +{ imports = [ (lib.mkRenamedOptionModule [ "services" "bitwarden_rs" ] [ "services" "vaultwarden" ]) ]; @@ -44,7 +75,11 @@ in { enable = lib.mkEnableOption "vaultwarden"; dbBackend = lib.mkOption { - type = lib.types.enum [ "sqlite" "mysql" "postgresql" ]; + type = lib.types.enum [ + "sqlite" + "mysql" + "postgresql" + ]; default = "sqlite"; description = '' Which database backend vaultwarden will be using. @@ -61,7 +96,15 @@ in { }; config = lib.mkOption { - type = with lib.types; attrsOf (nullOr (oneOf [ bool int str ])); + type = + with lib.types; + attrsOf ( + nullOr (oneOf [ + bool + int + str + ]) + ); default = { ROCKET_ADDRESS = "::1"; # default to localhost ROCKET_PORT = 8222; @@ -269,6 +312,9 @@ in { meta = { # uses attributes of the linked package buildDocsInSandbox = false; - maintainers = with lib.maintainers; [ dotlambda SuperSandro2000 ]; + maintainers = with lib.maintainers; [ + dotlambda + SuperSandro2000 + ]; }; } diff --git a/nixos/modules/services/security/yubikey-agent.nix b/nixos/modules/services/security/yubikey-agent.nix index 6a4dc7014970a..c746730ca51dd 100644 --- a/nixos/modules/services/security/yubikey-agent.nix +++ b/nixos/modules/services/security/yubikey-agent.nix @@ -1,6 +1,11 @@ # Global configuration for yubikey-agent. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -10,7 +15,10 @@ in { ###### interface - meta.maintainers = with maintainers; [ philandstuff rawkode ]; + meta.maintainers = with maintainers; [ + philandstuff + rawkode + ]; options = { diff --git a/nixos/modules/services/system/automatic-timezoned.nix b/nixos/modules/services/system/automatic-timezoned.nix index 50f84f39af7d2..aa84a8887c871 100644 --- a/nixos/modules/services/system/automatic-timezoned.nix +++ b/nixos/modules/services/system/automatic-timezoned.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/system/bpftune.nix b/nixos/modules/services/system/bpftune.nix index 295aba28c05f9..c69a53b6d5549 100644 --- a/nixos/modules/services/system/bpftune.nix +++ b/nixos/modules/services/system/bpftune.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bpftune; in diff --git a/nixos/modules/services/system/cachix-agent/default.nix b/nixos/modules/services/system/cachix-agent/default.nix index a6fe9f0cfed4d..e4df9ae5cc9cd 100644 --- a/nixos/modules/services/system/cachix-agent/default.nix +++ b/nixos/modules/services/system/cachix-agent/default.nix @@ -1,10 +1,16 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.services.cachix-agent; -in { +in +{ meta.maintainers = [ lib.maintainers.domenkozar ]; options.services.cachix-agent = { @@ -50,7 +56,7 @@ in { systemd.services.cachix-agent = { description = "Cachix Deploy Agent"; wants = [ "network-online.target" ]; - after = ["network-online.target"]; + after = [ "network-online.target" ]; path = [ config.nix.package ]; wantedBy = [ "multi-user.target" ]; @@ -67,7 +73,9 @@ in { RestartSec = 5; EnvironmentFile = cfg.credentialsFile; ExecStart = '' - ${cfg.package}/bin/cachix ${lib.optionalString cfg.verbose "--verbose"} ${lib.optionalString (cfg.host != null) "--host ${cfg.host}"} \ + ${cfg.package}/bin/cachix ${lib.optionalString cfg.verbose "--verbose"} ${ + lib.optionalString (cfg.host != null) "--host ${cfg.host}" + } \ deploy agent ${cfg.name} ${optionalString (cfg.profile != null) cfg.profile} ''; }; diff --git a/nixos/modules/services/system/cachix-watch-store.nix b/nixos/modules/services/system/cachix-watch-store.nix index ead3503d7e035..3505fe3a9a093 100644 --- a/nixos/modules/services/system/cachix-watch-store.nix +++ b/nixos/modules/services/system/cachix-watch-store.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -6,7 +11,10 @@ let cfg = config.services.cachix-watch-store; in { - meta.maintainers = [ lib.maintainers.jfroche lib.maintainers.domenkozar ]; + meta.maintainers = [ + lib.maintainers.jfroche + lib.maintainers.domenkozar + ]; options.services.cachix-watch-store = { enable = mkEnableOption "Cachix Watch Store: https://docs.cachix.org"; @@ -78,19 +86,33 @@ in DynamicUser = true; LoadCredential = [ "cachix-token:${toString cfg.cachixTokenFile}" - ] - ++ lib.optional (cfg.signingKeyFile != null) "signing-key:${toString cfg.signingKeyFile}"; + ] ++ lib.optional (cfg.signingKeyFile != null) "signing-key:${toString cfg.signingKeyFile}"; }; script = let - command = [ "${cfg.package}/bin/cachix" ] - ++ (lib.optional cfg.verbose "--verbose") ++ (lib.optionals (cfg.host != null) [ "--host" cfg.host ]) - ++ [ "watch-store" ] ++ (lib.optionals (cfg.compressionLevel != null) [ "--compression-level" (toString cfg.compressionLevel) ]) - ++ (lib.optionals (cfg.jobs != null) [ "--jobs" (toString cfg.jobs) ]) ++ [ cfg.cacheName ]; + command = + [ "${cfg.package}/bin/cachix" ] + ++ (lib.optional cfg.verbose "--verbose") + ++ (lib.optionals (cfg.host != null) [ + "--host" + cfg.host + ]) + ++ [ "watch-store" ] + ++ (lib.optionals (cfg.compressionLevel != null) [ + "--compression-level" + (toString cfg.compressionLevel) + ]) + ++ (lib.optionals (cfg.jobs != null) [ + "--jobs" + (toString cfg.jobs) + ]) + ++ [ cfg.cacheName ]; in '' export CACHIX_AUTH_TOKEN="$(<"$CREDENTIALS_DIRECTORY/cachix-token")" - ${lib.optionalString (cfg.signingKeyFile != null) ''export CACHIX_SIGNING_KEY="$(<"$CREDENTIALS_DIRECTORY/signing-key")"''} + ${lib.optionalString ( + cfg.signingKeyFile != null + ) ''export CACHIX_SIGNING_KEY="$(<"$CREDENTIALS_DIRECTORY/signing-key")"''} ${lib.escapeShellArgs command} ''; }; diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index 7148d62b90842..d9ec130add915 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -1,23 +1,29 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.cloud-init; - path = with pkgs; [ - cloud-init - iproute2 - nettools - openssh - shadow - util-linux - busybox - ] - ++ optional cfg.btrfs.enable btrfs-progs - ++ optional cfg.ext4.enable e2fsprogs - ++ optional cfg.xfs.enable xfsprogs - ++ cfg.extraPackages - ; + path = + with pkgs; + [ + cloud-init + iproute2 + nettools + openssh + shadow + util-linux + busybox + ] + ++ optional cfg.btrfs.enable btrfs-progs + ++ optional cfg.ext4.enable e2fsprogs + ++ optional cfg.xfs.enable xfsprogs + ++ cfg.extraPackages; hasFs = fsName: lib.any (fs: fs.fsType == fsName) (lib.attrValues config.fileSystems); settingsFormat = pkgs.formats.yaml { }; cfgfile = settingsFormat.generate "cloud.cfg" cfg.settings; @@ -166,11 +172,7 @@ in }; environment.etc."cloud/cloud.cfg" = - if cfg.config == "" then - { source = cfgfile; } - else - { text = cfg.config; } - ; + if cfg.config == "" then { source = cfgfile; } else { text = cfg.config; }; systemd.network.enable = mkIf cfg.network.enable true; @@ -180,7 +182,10 @@ in # In certain environments (AWS for example), cloud-init-local will # first configure an IP through DHCP, and later delete it. # This can cause race conditions with anything else trying to set IP through DHCP. - before = [ "systemd-networkd.service" "dhcpcd.service" ]; + before = [ + "systemd-networkd.service" + "dhcpcd.service" + ]; path = path; serviceConfig = { Type = "oneshot"; @@ -200,8 +205,14 @@ in "sshd.service" "sshd-keygen.service" ]; - after = [ "network-online.target" "cloud-init-local.service" ]; - before = [ "sshd.service" "sshd-keygen.service" ]; + after = [ + "network-online.target" + "cloud-init-local.service" + ]; + before = [ + "sshd.service" + "sshd-keygen.service" + ]; requires = [ "network.target" ]; path = path; serviceConfig = { @@ -217,7 +228,10 @@ in description = "Apply the settings specified in cloud-config"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network-online.target" "cloud-config.target" ]; + after = [ + "network-online.target" + "cloud-config.target" + ]; path = path; serviceConfig = { @@ -233,7 +247,11 @@ in description = "Execute cloud user/final scripts"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network-online.target" "cloud-config.service" "rc-local.service" ]; + after = [ + "network-online.target" + "cloud-config.service" + "rc-local.service" + ]; requires = [ "cloud-config.target" ]; path = path; serviceConfig = { @@ -247,7 +265,10 @@ in systemd.targets.cloud-config = { description = "Cloud-config availability"; - requires = [ "cloud-init-local.service" "cloud-init.service" ]; + requires = [ + "cloud-init-local.service" + "cloud-init.service" + ]; }; }; diff --git a/nixos/modules/services/system/kerberos/default.nix b/nixos/modules/services/system/kerberos/default.nix index 34c7c6c84f865..90baae98624f3 100644 --- a/nixos/modules/services/system/kerberos/default.nix +++ b/nixos/modules/services/system/kerberos/default.nix @@ -1,16 +1,26 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let inherit (lib) mkOption types; cfg = config.services.kerberos_server; inherit (config.security.krb5) package; - format = import ../../../security/krb5/krb5-conf-format.nix { inherit pkgs lib; } { enableKdcACLEntries = true; }; + format = import ../../../security/krb5/krb5-conf-format.nix { inherit pkgs lib; } { + enableKdcACLEntries = true; + }; in { imports = [ - (lib.mkRenamedOptionModule [ "services" "kerberos_server" "realms" ] [ "services" "kerberos_server" "settings" "realms" ]) + (lib.mkRenamedOptionModule + [ "services" "kerberos_server" "realms" ] + [ "services" "kerberos_server" "settings" "realms" ] + ) ./mit.nix ./heimdal.nix diff --git a/nixos/modules/services/system/kerberos/heimdal.nix b/nixos/modules/services/system/kerberos/heimdal.nix index cec4dd276e6b9..4c1df2088ae3e 100644 --- a/nixos/modules/services/system/kerberos/heimdal.nix +++ b/nixos/modules/services/system/kerberos/heimdal.nix @@ -1,17 +1,31 @@ -{ pkgs, config, lib, ... } : +{ + pkgs, + config, + lib, + ... +}: let - inherit (lib) mapAttrs; + inherit (lib) mapAttrs; cfg = config.services.kerberos_server; package = config.security.krb5.package; aclConfigs = lib.pipe cfg.settings.realms [ - (mapAttrs (name: { acl, ... }: lib.concatMapStringsSep "\n" ( - { principal, access, target, ... }: - "${principal}\t${lib.concatStringsSep "," (lib.toList access)}\t${target}" - ) acl)) - (lib.mapAttrsToList (name: text: - { + (mapAttrs ( + name: + { acl, ... }: + lib.concatMapStringsSep "\n" ( + { + principal, + access, + target, + ... + }: + "${principal}\t${lib.concatStringsSep "," (lib.toList access)}\t${target}" + ) acl + )) + (lib.mapAttrsToList ( + name: text: { dbname = "/var/lib/heimdal/heimdal"; acl_file = pkgs.writeText "${name}.acl" text; } @@ -25,7 +39,9 @@ let }; }; - format = import ../../../security/krb5/krb5-conf-format.nix { inherit pkgs lib; } { enableKdcACLEntries = true; }; + format = import ../../../security/krb5/krb5-conf-format.nix { inherit pkgs lib; } { + enableKdcACLEntries = true; + }; kdcConfFile = format.generate "kdc.conf" finalConfig; in @@ -34,19 +50,21 @@ in config = lib.mkIf (cfg.enable && package.passthru.implementation == "heimdal") { environment.etc."heimdal-kdc/kdc.conf".source = kdcConfFile; - systemd.tmpfiles.settings."10-heimdal" = let - databases = lib.pipe finalConfig.kdc.database [ - (map (dbAttrs: dbAttrs.dbname or null)) - (lib.filter (x: x != null)) - lib.unique - ]; - in lib.genAttrs databases (_: { - d = { - user = "root"; - group = "root"; - mode = "0700"; - }; - }); + systemd.tmpfiles.settings."10-heimdal" = + let + databases = lib.pipe finalConfig.kdc.database [ + (map (dbAttrs: dbAttrs.dbname or null)) + (lib.filter (x: x != null)) + lib.unique + ]; + in + lib.genAttrs databases (_: { + d = { + user = "root"; + group = "root"; + mode = "0700"; + }; + }); systemd.services.kadmind = { description = "Kerberos Administration Daemon"; diff --git a/nixos/modules/services/system/kerberos/mit.nix b/nixos/modules/services/system/kerberos/mit.nix index 9ce58986e27af..c698468dddeee 100644 --- a/nixos/modules/services/system/kerberos/mit.nix +++ b/nixos/modules/services/system/kerberos/mit.nix @@ -1,4 +1,9 @@ -{ pkgs, config, lib, ... } : +{ + pkgs, + config, + lib, + ... +}: let inherit (lib) mapAttrs; @@ -6,25 +11,45 @@ let package = config.security.krb5.package; PIDFile = "/run/kdc.pid"; - format = import ../../../security/krb5/krb5-conf-format.nix { inherit pkgs lib; } { enableKdcACLEntries = true; }; + format = import ../../../security/krb5/krb5-conf-format.nix { inherit pkgs lib; } { + enableKdcACLEntries = true; + }; aclMap = { - add = "a"; cpw = "c"; delete = "d"; get = "i"; list = "l"; modify = "m"; + add = "a"; + cpw = "c"; + delete = "d"; + get = "i"; + list = "l"; + modify = "m"; all = "*"; }; aclConfigs = lib.pipe cfg.settings.realms [ - (mapAttrs (name: { acl, ... }: lib.concatMapStringsSep "\n" ( - { principal, access, target, ... }: let - access_code = map (a: aclMap.${a}) (lib.toList access); - in "${principal} ${lib.concatStrings access_code} ${target}" - ) acl)) + (mapAttrs ( + name: + { acl, ... }: + lib.concatMapStringsSep "\n" ( + { + principal, + access, + target, + ... + }: + let + access_code = map (a: aclMap.${a}) (lib.toList access); + in + "${principal} ${lib.concatStrings access_code} ${target}" + ) acl + )) - (lib.concatMapAttrs (name: text: { - ${name} = { - acl_file = pkgs.writeText "${name}.acl" text; - }; - })) + (lib.concatMapAttrs ( + name: text: { + ${name} = { + acl_file = pkgs.writeText "${name}.acl" text; + }; + } + )) ]; finalConfig = cfg.settings // { diff --git a/nixos/modules/services/system/localtimed.nix b/nixos/modules/services/system/localtimed.nix index ef5ac1e69e0ce..745d767d07446 100644 --- a/nixos/modules/services/system/localtimed.nix +++ b/nixos/modules/services/system/localtimed.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.localtimed; -in { +in +{ imports = [ (lib.mkRenamedOptionModule [ "services" "localtime" ] [ "services" "localtimed" ]) ]; options = { diff --git a/nixos/modules/services/system/nix-daemon.nix b/nixos/modules/services/system/nix-daemon.nix index adadce4f88d6d..4a761048c7137 100644 --- a/nixos/modules/services/system/nix-daemon.nix +++ b/nixos/modules/services/system/nix-daemon.nix @@ -5,7 +5,12 @@ - nixos/modules/config/nix.nix: the nix.conf - nixos/modules/config/nix-remote-build.nix: the nix.conf */ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -40,8 +45,28 @@ in { imports = [ - (mkRenamedOptionModuleWith { sinceRelease = 2205; from = [ "nix" "daemonIONiceLevel" ]; to = [ "nix" "daemonIOSchedPriority" ]; }) - (mkRenamedOptionModuleWith { sinceRelease = 2211; from = [ "nix" "readOnlyStore" ]; to = [ "boot" "readOnlyNixStore" ]; }) + (mkRenamedOptionModuleWith { + sinceRelease = 2205; + from = [ + "nix" + "daemonIONiceLevel" + ]; + to = [ + "nix" + "daemonIOSchedPriority" + ]; + }) + (mkRenamedOptionModuleWith { + sinceRelease = 2211; + from = [ + "nix" + "readOnlyStore" + ]; + to = [ + "boot" + "readOnlyNixStore" + ]; + }) (mkRemovedOptionModule [ "nix" "daemonNiceLevel" ] "Consider nix.daemonCPUSchedPolicy instead.") ]; @@ -70,7 +95,11 @@ in }; daemonCPUSchedPolicy = mkOption { - type = types.enum [ "other" "batch" "idle" ]; + type = types.enum [ + "other" + "batch" + "idle" + ]; default = "other"; example = "batch"; description = '' @@ -96,11 +125,14 @@ in For more fine-grained resource control, please refer to {manpage}`systemd.resource-control(5)` and adjust {option}`systemd.services.nix-daemon` directly. - ''; + ''; }; daemonIOSchedClass = mkOption { - type = types.enum [ "best-effort" "idle" ]; + type = types.enum [ + "best-effort" + "idle" + ]; default = "best-effort"; example = "idle"; description = '' @@ -119,7 +151,7 @@ in systems that experience only intermittent phases of high I/O load, such as desktop or portable computers used interactively. Other systems should use the `best-effort` class. - ''; + ''; }; daemonIOSchedPriority = mkOption { @@ -155,16 +187,13 @@ in }; }; - ###### implementation config = mkIf cfg.enable { - environment.systemPackages = - [ - nixPackage - pkgs.nix-info - ] - ++ optional (config.programs.bash.completion.enable) pkgs.nix-bash-completions; + environment.systemPackages = [ + nixPackage + pkgs.nix-info + ] ++ optional (config.programs.bash.completion.enable) pkgs.nix-bash-completions; systemd.packages = [ nixPackage ]; @@ -181,69 +210,75 @@ in systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ]; - systemd.services.nix-daemon = - { - path = [ nixPackage pkgs.util-linux config.programs.ssh.package ] - ++ optionals cfg.distributedBuilds [ pkgs.gzip ]; - - environment = cfg.envVars - // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; } - // config.networking.proxy.envVars; - - unitConfig.RequiresMountsFor = "/nix/store"; - - serviceConfig = - { - CPUSchedulingPolicy = cfg.daemonCPUSchedPolicy; - IOSchedulingClass = cfg.daemonIOSchedClass; - IOSchedulingPriority = cfg.daemonIOSchedPriority; - LimitNOFILE = 1048576; - Delegate = "yes"; - }; - - restartTriggers = [ config.environment.etc."nix/nix.conf".source ]; - - # `stopIfChanged = false` changes to switch behavior - # from stop -> update units -> start - # to update units -> restart - # - # The `stopIfChanged` setting therefore controls a trade-off between a - # more predictable lifecycle, which runs the correct "version" of - # the `ExecStop` line, and on the other hand the availability of - # sockets during the switch, as the effectiveness of the stop operation - # depends on the socket being stopped as well. - # - # As `nix-daemon.service` does not make use of `ExecStop`, we prefer - # to keep the socket up and available. This is important for machines - # that run Nix-based services, such as automated build, test, and deploy - # services, that expect the daemon socket to be available at all times. - # - # Notably, the Nix client does not retry on failure to connect to the - # daemon socket, and the in-process RemoteStore instance will disable - # itself. This makes retries infeasible even for services that are - # aware of the issue. Failure to connect can affect not only new client - # processes, but also new RemoteStore instances in existing processes, - # as well as existing RemoteStore instances that have not saturated - # their connection pool. - # - # Also note that `stopIfChanged = true` does not kill existing - # connection handling daemons, as one might wish to happen before a - # breaking Nix upgrade (which is rare). The daemon forks that handle - # the individual connections split off into their own sessions, causing - # them not to be stopped by systemd. - # If a Nix upgrade does require all existing daemon processes to stop, - # nix-daemon must do so on its own accord, and only when the new version - # starts and detects that Nix's persistent state needs an upgrade. - stopIfChanged = false; - + systemd.services.nix-daemon = { + path = [ + nixPackage + pkgs.util-linux + config.programs.ssh.package + ] ++ optionals cfg.distributedBuilds [ pkgs.gzip ]; + + environment = + cfg.envVars + // { + CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; + } + // config.networking.proxy.envVars; + + unitConfig.RequiresMountsFor = "/nix/store"; + + serviceConfig = { + CPUSchedulingPolicy = cfg.daemonCPUSchedPolicy; + IOSchedulingClass = cfg.daemonIOSchedClass; + IOSchedulingPriority = cfg.daemonIOSchedPriority; + LimitNOFILE = 1048576; + Delegate = "yes"; }; + restartTriggers = [ config.environment.etc."nix/nix.conf".source ]; + + # `stopIfChanged = false` changes to switch behavior + # from stop -> update units -> start + # to update units -> restart + # + # The `stopIfChanged` setting therefore controls a trade-off between a + # more predictable lifecycle, which runs the correct "version" of + # the `ExecStop` line, and on the other hand the availability of + # sockets during the switch, as the effectiveness of the stop operation + # depends on the socket being stopped as well. + # + # As `nix-daemon.service` does not make use of `ExecStop`, we prefer + # to keep the socket up and available. This is important for machines + # that run Nix-based services, such as automated build, test, and deploy + # services, that expect the daemon socket to be available at all times. + # + # Notably, the Nix client does not retry on failure to connect to the + # daemon socket, and the in-process RemoteStore instance will disable + # itself. This makes retries infeasible even for services that are + # aware of the issue. Failure to connect can affect not only new client + # processes, but also new RemoteStore instances in existing processes, + # as well as existing RemoteStore instances that have not saturated + # their connection pool. + # + # Also note that `stopIfChanged = true` does not kill existing + # connection handling daemons, as one might wish to happen before a + # breaking Nix upgrade (which is rare). The daemon forks that handle + # the individual connections split off into their own sessions, causing + # them not to be stopped by systemd. + # If a Nix upgrade does require all existing daemon processes to stop, + # nix-daemon must do so on its own accord, and only when the new version + # starts and detects that Nix's persistent state needs an upgrade. + stopIfChanged = false; + + }; + # Set up the environment variables for running Nix. environment.sessionVariables = cfg.envVars; nix.nrBuildUsers = mkDefault ( - if cfg.settings.auto-allocate-uids or false then 0 - else max 32 (if cfg.settings.max-jobs == "auto" then 0 else cfg.settings.max-jobs) + if cfg.settings.auto-allocate-uids or false then + 0 + else + max 32 (if cfg.settings.max-jobs == "auto" then 0 else cfg.settings.max-jobs) ); users.users = nixbldUsers; diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index 4b28f8100225b..c5b14e23fdda3 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -65,9 +70,7 @@ in package = mkOption { type = types.package; default = - if pkgs.stdenv.hostPlatform.libc == "glibc" - then pkgs.stdenv.cc.libc.bin - else pkgs.glibc.bin; + if pkgs.stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc.bin else pkgs.glibc.bin; defaultText = lib.literalExpression '' if pkgs.stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc.bin @@ -83,7 +86,6 @@ in }; - ###### implementation config = mkIf cfg.enable { @@ -96,60 +98,68 @@ in users.groups.${cfg.group} = { }; - systemd.services.nscd = - { - description = "Name Service Cache Daemon" - + lib.optionalString cfg.enableNsncd " (nsncd)"; - - before = [ "nss-lookup.target" "nss-user-lookup.target" ]; - wants = [ "nss-lookup.target" "nss-user-lookup.target" ]; - wantedBy = [ "multi-user.target" ]; - requiredBy = [ "nss-lookup.target" "nss-user-lookup.target" ]; - - environment = { LD_LIBRARY_PATH = nssModulesPath; }; + systemd.services.nscd = { + description = "Name Service Cache Daemon" + lib.optionalString cfg.enableNsncd " (nsncd)"; + + before = [ + "nss-lookup.target" + "nss-user-lookup.target" + ]; + wants = [ + "nss-lookup.target" + "nss-user-lookup.target" + ]; + wantedBy = [ "multi-user.target" ]; + requiredBy = [ + "nss-lookup.target" + "nss-user-lookup.target" + ]; + + environment = { + LD_LIBRARY_PATH = nssModulesPath; + }; - restartTriggers = lib.optionals (!cfg.enableNsncd) ([ + restartTriggers = lib.optionals (!cfg.enableNsncd) ( + [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source config.environment.etc."nscd.conf".source - ] ++ optionals config.users.mysql.enable [ + ] + ++ optionals config.users.mysql.enable [ config.environment.etc."libnss-mysql.cfg".source config.environment.etc."libnss-mysql-root.cfg".source - ]); - - # In some configurations, nscd needs to be started as root; it will - # drop privileges after all the NSS modules have read their - # configuration files. So prefix the ExecStart command with "!" to - # prevent systemd from dropping privileges early. See ExecStart in - # systemd.service(5). We use a static user, because some NSS modules - # sill want to read their configuration files after the privilege drop - # and so users can set the owner of those files to the nscd user. - serviceConfig = - { - ExecStart = - if cfg.enableNsncd then "${pkgs.nsncd}/bin/nsncd" - else "!@${cfg.package}/bin/nscd nscd"; - Type = if cfg.enableNsncd then "notify" else "forking"; - User = cfg.user; - Group = cfg.group; - RemoveIPC = true; - PrivateTmp = true; - # https://github.com/twosigma/nsncd/pull/33/files#r1496927653 - Environment = [ "NSNCD_HANDOFF_TIMEOUT=10" ]; - NoNewPrivileges = true; - RestrictSUIDSGID = true; - ProtectSystem = "strict"; - ProtectHome = "read-only"; - RuntimeDirectory = "nscd"; - PIDFile = "/run/nscd/nscd.pid"; - Restart = "always"; - ExecReload = - lib.optionals (!cfg.enableNsncd) [ - "${cfg.package}/bin/nscd --invalidate passwd" - "${cfg.package}/bin/nscd --invalidate group" - "${cfg.package}/bin/nscd --invalidate hosts" - ]; - }; + ] + ); + + # In some configurations, nscd needs to be started as root; it will + # drop privileges after all the NSS modules have read their + # configuration files. So prefix the ExecStart command with "!" to + # prevent systemd from dropping privileges early. See ExecStart in + # systemd.service(5). We use a static user, because some NSS modules + # sill want to read their configuration files after the privilege drop + # and so users can set the owner of those files to the nscd user. + serviceConfig = { + ExecStart = if cfg.enableNsncd then "${pkgs.nsncd}/bin/nsncd" else "!@${cfg.package}/bin/nscd nscd"; + Type = if cfg.enableNsncd then "notify" else "forking"; + User = cfg.user; + Group = cfg.group; + RemoveIPC = true; + PrivateTmp = true; + # https://github.com/twosigma/nsncd/pull/33/files#r1496927653 + Environment = [ "NSNCD_HANDOFF_TIMEOUT=10" ]; + NoNewPrivileges = true; + RestrictSUIDSGID = true; + ProtectSystem = "strict"; + ProtectHome = "read-only"; + RuntimeDirectory = "nscd"; + PIDFile = "/run/nscd/nscd.pid"; + Restart = "always"; + ExecReload = lib.optionals (!cfg.enableNsncd) [ + "${cfg.package}/bin/nscd --invalidate passwd" + "${cfg.package}/bin/nscd --invalidate group" + "${cfg.package}/bin/nscd --invalidate hosts" + ]; }; + }; }; } diff --git a/nixos/modules/services/system/saslauthd.nix b/nixos/modules/services/system/saslauthd.nix index 0c198792b1e78..17dae880a0ef4 100644 --- a/nixos/modules/services/system/saslauthd.nix +++ b/nixos/modules/services/system/saslauthd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -36,7 +41,6 @@ in }; - ###### implementation config = mkIf cfg.enable { diff --git a/nixos/modules/services/system/systembus-notify.nix b/nixos/modules/services/system/systembus-notify.nix index 073885732b4b4..460a9473e1e6c 100644 --- a/nixos/modules/services/system/systembus-notify.nix +++ b/nixos/modules/services/system/systembus-notify.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.systembus-notify; diff --git a/nixos/modules/services/system/systemd-lock-handler.nix b/nixos/modules/services/system/systemd-lock-handler.nix index 0d3e33236adb0..f19840802c1ce 100644 --- a/nixos/modules/services/system/systemd-lock-handler.nix +++ b/nixos/modules/services/system/systemd-lock-handler.nix @@ -1,7 +1,8 @@ -{ config -, pkgs -, lib -, ... +{ + config, + pkgs, + lib, + ... }: let cfg = config.services.systemd-lock-handler; diff --git a/nixos/modules/services/system/uptimed.nix b/nixos/modules/services/system/uptimed.nix index d844e5d83e369..b0c4daa3c1869 100644 --- a/nixos/modules/services/system/uptimed.nix +++ b/nixos/modules/services/system/uptimed.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -26,28 +31,28 @@ in users.users.uptimed = { description = "Uptimed daemon user"; - home = stateDir; - uid = config.ids.uids.uptimed; - group = "uptimed"; + home = stateDir; + uid = config.ids.uids.uptimed; + group = "uptimed"; }; - users.groups.uptimed = {}; + users.groups.uptimed = { }; systemd.services.uptimed = { unitConfig.Documentation = "man:uptimed(8) man:uprecords(1)"; description = "uptimed service"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { - Restart = "on-failure"; - User = "uptimed"; - Nice = 19; - IOSchedulingClass = "idle"; - PrivateTmp = "yes"; - PrivateNetwork = "yes"; - NoNewPrivileges = "yes"; - StateDirectory = [ "uptimed" ]; + Restart = "on-failure"; + User = "uptimed"; + Nice = 19; + IOSchedulingClass = "idle"; + PrivateTmp = "yes"; + PrivateNetwork = "yes"; + NoNewPrivileges = "yes"; + StateDirectory = [ "uptimed" ]; InaccessibleDirectories = "/home"; - ExecStart = "${pkgs.uptimed}/sbin/uptimed -f -p ${stateDir}/pid"; + ExecStart = "${pkgs.uptimed}/sbin/uptimed -f -p ${stateDir}/pid"; }; preStart = '' diff --git a/nixos/modules/services/torrent/flexget.nix b/nixos/modules/services/torrent/flexget.nix index 138e9781045c9..35ade70d8b638 100644 --- a/nixos/modules/services/torrent/flexget.nix +++ b/nixos/modules/services/torrent/flexget.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,14 +14,15 @@ let ${cfg.config} ${optionalString cfg.systemScheduler "schedules: no"} -''; + ''; configFile = "${toString cfg.homeDir}/flexget.yml"; -in { +in +{ options = { services.flexget = { enable = mkEnableOption "FlexGet daemon"; - package = mkPackageOption pkgs "flexget" {}; + package = mkPackageOption pkgs "flexget" { }; user = mkOption { default = "deluge"; diff --git a/nixos/modules/services/torrent/flood.nix b/nixos/modules/services/torrent/flood.nix index 213f4ef046483..a623c62b4400f 100644 --- a/nixos/modules/services/torrent/flood.nix +++ b/nixos/modules/services/torrent/flood.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.flood; @@ -43,14 +49,17 @@ in serviceConfig = { Restart = "on-failure"; RestartSec = "3s"; - ExecStart = utils.escapeSystemdExecArgs ([ - (lib.getExe cfg.package) - "--host" - cfg.host - "--port" - (toString cfg.port) - "--rundir=/var/lib/flood" - ] ++ cfg.extraArgs); + ExecStart = utils.escapeSystemdExecArgs ( + [ + (lib.getExe cfg.package) + "--host" + cfg.host + "--port" + (toString cfg.port) + "--rundir=/var/lib/flood" + ] + ++ cfg.extraArgs + ); CapabilityBoundingSet = [ "" ]; DynamicUser = true; @@ -67,13 +76,21 @@ in ProtectKernelTunables = true; ProtectProc = "invisible"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; StateDirectory = "flood"; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "@pkey" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "@pkey" + "~@privileged" + ]; }; }; @@ -82,4 +99,3 @@ in ]; }; } - diff --git a/nixos/modules/services/torrent/magnetico.nix b/nixos/modules/services/torrent/magnetico.nix index 8a5e9f309649c..fda552aff8fdc 100644 --- a/nixos/modules/services/torrent/magnetico.nix +++ b/nixos/modules/services/torrent/magnetico.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,38 +12,53 @@ let dataDir = "/var/lib/magnetico"; - credFile = with cfg.web; - if credentialsFile != null - then credentialsFile - else pkgs.writeText "magnetico-credentials" - (concatStrings (mapAttrsToList - (user: hash: "${user}:${hash}\n") - cfg.web.credentials)); + credFile = + with cfg.web; + if credentialsFile != null then + credentialsFile + else + pkgs.writeText "magnetico-credentials" ( + concatStrings (mapAttrsToList (user: hash: "${user}:${hash}\n") cfg.web.credentials) + ); # default options in magneticod/main.go - dbURI = concatStrings - [ "sqlite3://${dataDir}/database.sqlite3" - "?_journal_mode=WAL" - "&_busy_timeout=3000" - "&_foreign_keys=true" - ]; - - crawlerArgs = with cfg.crawler; escapeShellArgs - ([ "--database=${dbURI}" - "--indexer-addr=${address}:${toString port}" - "--indexer-max-neighbors=${toString maxNeighbors}" - "--leech-max-n=${toString maxLeeches}" - ] ++ extraOptions); - - webArgs = with cfg.web; escapeShellArgs - ([ "--database=${dbURI}" - (if (cfg.web.credentialsFile != null || cfg.web.credentials != { }) - then "--credentials=${toString credFile}" - else "--no-auth") - "--addr=${address}:${toString port}" - ] ++ extraOptions); - -in { + dbURI = concatStrings [ + "sqlite3://${dataDir}/database.sqlite3" + "?_journal_mode=WAL" + "&_busy_timeout=3000" + "&_foreign_keys=true" + ]; + + crawlerArgs = + with cfg.crawler; + escapeShellArgs ( + [ + "--database=${dbURI}" + "--indexer-addr=${address}:${toString port}" + "--indexer-max-neighbors=${toString maxNeighbors}" + "--leech-max-n=${toString maxLeeches}" + ] + ++ extraOptions + ); + + webArgs = + with cfg.web; + escapeShellArgs ( + [ + "--database=${dbURI}" + ( + if (cfg.web.credentialsFile != null || cfg.web.credentials != { }) then + "--credentials=${toString credFile}" + else + "--no-auth" + ) + "--addr=${address}:${toString port}" + ] + ++ extraOptions + ); + +in +{ ###### interface @@ -85,7 +105,7 @@ in { crawler.extraOptions = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' Extra command line arguments to pass to magneticod. ''; @@ -110,7 +130,7 @@ in { web.credentials = mkOption { type = types.attrsOf types.str; - default = {}; + default = { }; example = lib.literalExpression '' { myuser = "$2y$12$YE01LZ8jrbQbx6c0s2hdZO71dSjn2p/O9XsYJpz.5968yCysUgiaG"; @@ -156,7 +176,7 @@ in { web.extraOptions = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' Extra command line arguments to pass to magneticow. ''; @@ -173,16 +193,16 @@ in { group = "magnetico"; isSystemUser = true; }; - users.groups.magnetico = {}; + users.groups.magnetico = { }; systemd.services.magneticod = { description = "Magnetico DHT crawler"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + after = [ "network.target" ]; serviceConfig = { - User = "magnetico"; - Restart = "on-failure"; + User = "magnetico"; + Restart = "on-failure"; ExecStart = "${pkgs.magnetico}/bin/magneticod ${crawlerArgs}"; }; }; @@ -190,18 +210,20 @@ in { systemd.services.magneticow = { description = "Magnetico web interface"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "magneticod.service"]; + after = [ + "network.target" + "magneticod.service" + ]; serviceConfig = { - User = "magnetico"; + User = "magnetico"; StateDirectory = "magnetico"; - Restart = "on-failure"; - ExecStart = "${pkgs.magnetico}/bin/magneticow ${webArgs}"; + Restart = "on-failure"; + ExecStart = "${pkgs.magnetico}/bin/magneticow ${webArgs}"; }; }; - assertions = - [ + assertions = [ { assertion = cfg.web.credentialsFile == null || cfg.web.credentials == { }; message = '' diff --git a/nixos/modules/services/torrent/opentracker.nix b/nixos/modules/services/torrent/opentracker.nix index b30ea7e2377bf..518830d4c279b 100644 --- a/nixos/modules/services/torrent/opentracker.nix +++ b/nixos/modules/services/torrent/opentracker.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.opentracker; -in { +in +{ options.services.opentracker = { enable = mkEnableOption "opentracker"; @@ -35,4 +41,3 @@ in { }; }; } - diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix index 821c829f6b4af..abfbae6b77806 100644 --- a/nixos/modules/services/torrent/peerflix.nix +++ b/nixos/modules/services/torrent/peerflix.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -13,7 +19,8 @@ let } ''; -in { +in +{ ###### interface @@ -66,6 +73,6 @@ in { isSystemUser = true; group = "peerflix"; }; - users.groups.peerflix = {}; + users.groups.peerflix = { }; }; } diff --git a/nixos/modules/services/torrent/rtorrent.nix b/nixos/modules/services/torrent/rtorrent.nix index 609b06b5e7066..822e1ab1c3c51 100644 --- a/nixos/modules/services/torrent/rtorrent.nix +++ b/nixos/modules/services/torrent/rtorrent.nix @@ -1,4 +1,10 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: with lib; @@ -7,7 +13,8 @@ let cfg = config.services.rtorrent; opt = options.services.rtorrent; -in { +in +{ meta.maintainers = with lib.maintainers; [ thiagokokada ]; options.services.rtorrent = { @@ -94,7 +101,7 @@ in { config = mkIf cfg.enable { users.groups = mkIf (cfg.group == "rtorrent") { - rtorrent = {}; + rtorrent = { }; }; users.users = mkIf (cfg.user == "rtorrent") { @@ -188,49 +195,61 @@ in { systemd = { services = { - rtorrent = let - rtorrentConfigFile = pkgs.writeText "rtorrent.rc" cfg.configText; - in { - description = "rTorrent system service"; - after = [ "network.target" ]; - path = [ cfg.package pkgs.bash ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - Type = "simple"; - Restart = "on-failure"; - WorkingDirectory = cfg.dataDir; - ExecStartPre=''${pkgs.bash}/bin/bash -c "if test -e ${cfg.dataDir}/session/rtorrent.lock && test -z $(${pkgs.procps}/bin/pidof rtorrent); then rm -f ${cfg.dataDir}/session/rtorrent.lock; fi"''; - ExecStart="${cfg.package}/bin/rtorrent -n -o system.daemon.set=true -o import=${rtorrentConfigFile}"; - RuntimeDirectory = "rtorrent"; - RuntimeDirectoryMode = 750; - - CapabilityBoundingSet = [ "" ]; - LockPersonality = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - # If the default user is changed, there is a good chance that they - # want to store data in e.g.: $HOME directory - # Relax hardening in this case - ProtectHome = lib.mkIf (cfg.user == "rtorrent") true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "full"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + rtorrent = + let + rtorrentConfigFile = pkgs.writeText "rtorrent.rc" cfg.configText; + in + { + description = "rTorrent system service"; + after = [ "network.target" ]; + path = [ + cfg.package + pkgs.bash + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + Type = "simple"; + Restart = "on-failure"; + WorkingDirectory = cfg.dataDir; + ExecStartPre = ''${pkgs.bash}/bin/bash -c "if test -e ${cfg.dataDir}/session/rtorrent.lock && test -z $(${pkgs.procps}/bin/pidof rtorrent); then rm -f ${cfg.dataDir}/session/rtorrent.lock; fi"''; + ExecStart = "${cfg.package}/bin/rtorrent -n -o system.daemon.set=true -o import=${rtorrentConfigFile}"; + RuntimeDirectory = "rtorrent"; + RuntimeDirectoryMode = 750; + + CapabilityBoundingSet = [ "" ]; + LockPersonality = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + # If the default user is changed, there is a good chance that they + # want to store data in e.g.: $HOME directory + # Relax hardening in this case + ProtectHome = lib.mkIf (cfg.user == "rtorrent") true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "full"; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + }; }; - }; }; tmpfiles.rules = [ "d '${cfg.dataDir}' ${cfg.dataPermissions} ${cfg.user} ${cfg.group} -" ]; diff --git a/nixos/modules/services/torrent/torrentstream.nix b/nixos/modules/services/torrent/torrentstream.nix index 9c0e6f85dc57d..7374cad4f260d 100644 --- a/nixos/modules/services/torrent/torrentstream.nix +++ b/nixos/modules/services/torrent/torrentstream.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.torrentstream; diff --git a/nixos/modules/services/tracing/tempo.nix b/nixos/modules/services/tracing/tempo.nix index e962af76ad883..5d329cc7f530d 100644 --- a/nixos/modules/services/tracing/tempo.nix +++ b/nixos/modules/services/tracing/tempo.nix @@ -1,18 +1,29 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption types; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.tempo; - settingsFormat = pkgs.formats.yaml {}; -in { + settingsFormat = pkgs.formats.yaml { }; +in +{ options.services.tempo = { enable = mkEnableOption "Grafana Tempo"; settings = mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Specify the configuration for Tempo in Nix. @@ -30,11 +41,10 @@ in { extraFlags = mkOption { type = types.listOf types.str; - default = []; - example = lib.literalExpression - '' - [ "-config.expand-env=true" ] - ''; + default = [ ]; + example = lib.literalExpression '' + [ "-config.expand-env=true" ] + ''; description = '' Additional flags to pass to the `ExecStart=` in `tempo.service`. ''; @@ -45,36 +55,39 @@ in { # for tempo-cli and friends environment.systemPackages = [ pkgs.tempo ]; - assertions = [{ - assertion = ( - (cfg.settings == {}) != (cfg.configFile == null) - ); - message = '' - Please specify a configuration for Tempo with either - 'services.tempo.settings' or - 'services.tempo.configFile'. - ''; - }]; + assertions = [ + { + assertion = ((cfg.settings == { }) != (cfg.configFile == null)); + message = '' + Please specify a configuration for Tempo with either + 'services.tempo.settings' or + 'services.tempo.configFile'. + ''; + } + ]; systemd.services.tempo = { description = "Grafana Tempo Service Daemon"; wantedBy = [ "multi-user.target" ]; - serviceConfig = let - conf = if cfg.configFile == null - then settingsFormat.generate "config.yaml" cfg.settings - else cfg.configFile; - in - { - ExecStart = "${pkgs.tempo}/bin/tempo --config.file=${conf} ${lib.escapeShellArgs cfg.extraFlags}"; - DynamicUser = true; - Restart = "always"; - ProtectSystem = "full"; - DevicePolicy = "closed"; - NoNewPrivileges = true; - WorkingDirectory = "/var/lib/tempo"; - StateDirectory = "tempo"; - }; + serviceConfig = + let + conf = + if cfg.configFile == null then + settingsFormat.generate "config.yaml" cfg.settings + else + cfg.configFile; + in + { + ExecStart = "${pkgs.tempo}/bin/tempo --config.file=${conf} ${lib.escapeShellArgs cfg.extraFlags}"; + DynamicUser = true; + Restart = "always"; + ProtectSystem = "full"; + DevicePolicy = "closed"; + NoNewPrivileges = true; + WorkingDirectory = "/var/lib/tempo"; + StateDirectory = "tempo"; + }; }; }; } diff --git a/nixos/modules/services/ttys/gpm.nix b/nixos/modules/services/ttys/gpm.nix index 308a6d3643a60..3651da731a3d4 100644 --- a/nixos/modules/services/ttys/gpm.nix +++ b/nixos/modules/services/ttys/gpm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -35,22 +40,21 @@ in }; - ###### implementation config = mkIf cfg.enable { - systemd.services.gpm = - { description = "Console Mouse Daemon"; + systemd.services.gpm = { + description = "Console Mouse Daemon"; - wantedBy = [ "multi-user.target" ]; - requires = [ "dev-input-mice.device" ]; - after = [ "dev-input-mice.device" ]; + wantedBy = [ "multi-user.target" ]; + requires = [ "dev-input-mice.device" ]; + after = [ "dev-input-mice.device" ]; - serviceConfig.ExecStart = "@${pkgs.gpm}/sbin/gpm gpm -m /dev/input/mice -t ${cfg.protocol}"; - serviceConfig.Type = "forking"; - serviceConfig.PIDFile = "/run/gpm.pid"; - }; + serviceConfig.ExecStart = "@${pkgs.gpm}/sbin/gpm gpm -m /dev/input/mice -t ${cfg.protocol}"; + serviceConfig.Type = "forking"; + serviceConfig.PIDFile = "/run/gpm.pid"; + }; }; diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix index d274b508300f2..9706a384bffeb 100644 --- a/nixos/modules/services/ttys/kmscon.nix +++ b/nixos/modules/services/ttys/kmscon.nix @@ -1,13 +1,30 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let - inherit (lib) mapAttrs mkIf mkOption optional optionals types; + inherit (lib) + mapAttrs + mkIf + mkOption + optional + optionals + types + ; cfg = config.services.kmscon; autologinArg = lib.optionalString (cfg.autologinUser != null) "-f ${cfg.autologinUser}"; - configDir = pkgs.writeTextFile { name = "kmscon-config"; destination = "/kmscon.conf"; text = cfg.extraConfig; }; -in { + configDir = pkgs.writeTextFile { + name = "kmscon-config"; + destination = "/kmscon.conf"; + text = cfg.extraConfig; + }; +in +{ options = { services.kmscon = { enable = mkOption { @@ -32,13 +49,23 @@ in { description = "Fonts used by kmscon, in order of priority."; default = null; example = lib.literalExpression ''[ { name = "Source Code Pro"; package = pkgs.source-code-pro; } ]''; - type = with types; - let fontType = submodule { - options = { - name = mkOption { type = str; description = "Font name, as used by fontconfig."; }; - package = mkOption { type = package; description = "Package providing the font."; }; + type = + with types; + let + fontType = submodule { + options = { + name = mkOption { + type = str; + description = "Font name, as used by fontconfig."; + }; + package = mkOption { + type = package; + description = "Package providing the font."; }; - }; in nullOr (nonEmptyListOf fontType); + }; + }; + in + nullOr (nonEmptyListOf fontType); }; useXkbConfig = mkOption { @@ -76,7 +103,10 @@ in { systemd.packages = [ pkgs.kmscon ]; systemd.services."kmsconvt@" = { - after = [ "systemd-logind.service" "systemd-vconsole-setup.service" ]; + after = [ + "systemd-logind.service" + "systemd-vconsole-setup.service" + ]; requires = [ "systemd-logind.service" ]; serviceConfig.ExecStart = [ @@ -97,15 +127,29 @@ in { services.kmscon.extraConfig = let - xkb = optionals cfg.useXkbConfig - (lib.mapAttrsToList (n: v: "xkb-${n}=${v}") ( - lib.filterAttrs - (n: v: builtins.elem n ["layout" "model" "options" "variant"] && v != "") - config.services.xserver.xkb - )); - render = optionals cfg.hwRender [ "drm" "hwaccel" ]; - fonts = optional (cfg.fonts != null) "font-name=${lib.concatMapStringsSep ", " (f: f.name) cfg.fonts}"; - in lib.concatLines (xkb ++ render ++ fonts); + xkb = optionals cfg.useXkbConfig ( + lib.mapAttrsToList (n: v: "xkb-${n}=${v}") ( + lib.filterAttrs ( + n: v: + builtins.elem n [ + "layout" + "model" + "options" + "variant" + ] + && v != "" + ) config.services.xserver.xkb + ) + ); + render = optionals cfg.hwRender [ + "drm" + "hwaccel" + ]; + fonts = + optional (cfg.fonts != null) + "font-name=${lib.concatMapStringsSep ", " (f: f.name) cfg.fonts}"; + in + lib.concatLines (xkb ++ render ++ fonts); hardware.graphics.enable = mkIf cfg.hwRender true; diff --git a/nixos/modules/services/video/epgstation/default.nix b/nixos/modules/services/video/epgstation/default.nix index 3bf7e5849251e..99190297eb758 100644 --- a/nixos/modules/services/video/epgstation/default.nix +++ b/nixos/modules/services/video/epgstation/default.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: let cfg = config.services.epgstation; @@ -48,23 +54,54 @@ let logConfig = yaml.generate "logConfig.yml" { appenders.stdout.type = "stdout"; categories = { - default = { appenders = [ "stdout" ]; level = "info"; }; - system = { appenders = [ "stdout" ]; level = "info"; }; - access = { appenders = [ "stdout" ]; level = "info"; }; - stream = { appenders = [ "stdout" ]; level = "info"; }; + default = { + appenders = [ "stdout" ]; + level = "info"; + }; + system = { + appenders = [ "stdout" ]; + level = "info"; + }; + access = { + appenders = [ "stdout" ]; + level = "info"; + }; + stream = { + appenders = [ "stdout" ]; + level = "info"; + }; }; }; # Deprecate top level options that are redundant. - deprecateTopLevelOption = config: + deprecateTopLevelOption = + config: lib.mkRenamedOptionModule - ([ "services" "epgstation" ] ++ config) - ([ "services" "epgstation" "settings" ] ++ config); - - removeOption = config: instruction: - lib.mkRemovedOptionModule - ([ "services" "epgstation" ] ++ config) - instruction; + ( + [ + "services" + "epgstation" + ] + ++ config + ) + ( + [ + "services" + "epgstation" + "settings" + ] + ++ config + ); + + removeOption = + config: instruction: + lib.mkRemovedOptionModule ( + [ + "services" + "epgstation" + ] + ++ config + ) instruction; in { meta.maintainers = with lib.maintainers; [ midchildan ]; @@ -73,8 +110,7 @@ in (deprecateTopLevelOption [ "port" ]) (deprecateTopLevelOption [ "socketioPort" ]) (deprecateTopLevelOption [ "clientSocketioPort" ]) - (removeOption [ "basicAuth" ] - "Use a TLS-terminated reverse proxy with authentication instead.") + (removeOption [ "basicAuth" ] "Use a TLS-terminated reverse proxy with authentication instead.") ]; options.services.epgstation = { @@ -187,15 +223,17 @@ in ''; }; - options.mirakurunPath = with mirakurun; lib.mkOption { - type = lib.types.str; - default = "http+unix://${lib.replaceStrings ["/"] ["%2F"] sock}"; - defaultText = lib.literalExpression '' - "http+unix://''${lib.replaceStrings ["/"] ["%2F"] config.${option}}" - ''; - example = "http://localhost:40772"; - description = "URL to connect to Mirakurun."; - }; + options.mirakurunPath = + with mirakurun; + lib.mkOption { + type = lib.types.str; + default = "http+unix://${lib.replaceStrings [ "/" ] [ "%2F" ] sock}"; + defaultText = lib.literalExpression '' + "http+unix://''${lib.replaceStrings ["/"] ["%2F"] config.${option}}" + ''; + example = "http://localhost:40772"; + description = "URL to connect to Mirakurun."; + }; options.encodeProcessNum = lib.mkOption { type = lib.types.ints.positive; @@ -257,7 +295,10 @@ in }; networking.firewall = lib.mkIf cfg.openFirewall { - allowedTCPPorts = with cfg.settings; [ port socketioPort ]; + allowedTCPPorts = with cfg.settings; [ + port + socketioPort + ]; }; users.users.epgstation = { @@ -309,14 +350,17 @@ in (lib.mkIf cfg.usePreconfiguredStreaming streamingConfig) ]; - systemd.tmpfiles.settings."10-epgstation" = - lib.listToAttrs - (map (dir: lib.nameValuePair dir { - d = { - user = username; - group = groupname; - }; - }) + systemd.tmpfiles.settings."10-epgstation" = lib.listToAttrs ( + map + ( + dir: + lib.nameValuePair dir { + d = { + user = username; + group = groupname; + }; + } + ) [ "/var/lib/epgstation/key" "/var/lib/epgstation/streamfiles" @@ -327,13 +371,15 @@ in "/var/lib/epgstation/db/migrations/mysql" "/var/lib/epgstation/db/migrations/postgres" "/var/lib/epgstation/db/migrations/sqlite" - ]); + ] + ); systemd.services.epgstation = { inherit description; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] + after = + [ "network.target" ] ++ lib.optional config.services.mirakurun.enable "mirakurun.service" ++ lib.optional config.services.mysql.enable "mysql.service"; diff --git a/nixos/modules/services/video/go2rtc/default.nix b/nixos/modules/services/video/go2rtc/default.nix index f74c172907feb..5f90943fdc2b8 100644 --- a/nixos/modules/services/video/go2rtc/default.nix +++ b/nixos/modules/services/video/go2rtc/default.nix @@ -1,8 +1,9 @@ -{ lib -, config -, options -, pkgs -, ... +{ + lib, + config, + options, + pkgs, + ... }: let @@ -17,7 +18,7 @@ let cfg = config.services.go2rtc; opt = options.services.go2rtc; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; configFile = format.generate "go2rtc.yaml" cfg.settings; in @@ -30,7 +31,7 @@ in package = mkPackageOption pkgs "go2rtc" { }; settings = mkOption { - default = {}; + default = { }; description = '' go2rtc configuration as a Nix attribute set. @@ -69,7 +70,7 @@ in streams = mkOption { type = attrsOf (either str (listOf str)); - default = {}; + default = { }; example = literalExpression '' { cam1 = "onvif://admin:password@192.168.1.123:2020"; diff --git a/nixos/modules/services/video/mediamtx.nix b/nixos/modules/services/video/mediamtx.nix index 5d8d76be69a3a..054e30b75e5a2 100644 --- a/nixos/modules/services/video/mediamtx.nix +++ b/nixos/modules/services/video/mediamtx.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mediamtx; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; in { meta.maintainers = with lib.maintainers; [ fpletz ]; @@ -19,7 +24,7 @@ in . ''; type = format.type; - default = {}; + default = { }; example = { paths = { cam = { @@ -33,7 +38,7 @@ in env = lib.mkOption { type = with lib.types; attrsOf anything; description = "Extra environment variables for MediaMTX"; - default = {}; + default = { }; example = { MTX_CONFKEY = "mykey"; }; diff --git a/nixos/modules/services/video/mirakurun.nix b/nixos/modules/services/video/mirakurun.nix index bdd30805dbe83..b1446422b9886 100644 --- a/nixos/modules/services/video/mirakurun.nix +++ b/nixos/modules/services/video/mirakurun.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,7 +12,7 @@ let mirakurun = pkgs.mirakurun; username = config.users.users.mirakurun.name; groupname = config.users.users.mirakurun.group; - settingsFmt = pkgs.formats.yaml {}; + settingsFmt = pkgs.formats.yaml { }; polkitRule = pkgs.writeTextDir "share/polkit-1/rules.d/10-mirakurun.rules" '' polkit.addRule(function (action, subject) { @@ -21,188 +26,192 @@ let }); ''; in - { - options = { - services.mirakurun = { - enable = mkEnableOption "the Mirakurun DVR Tuner Server"; - - port = mkOption { - type = with types; nullOr port; - default = 40772; - description = '' - Port to listen on. If `null`, it won't listen on - any port. - ''; - }; - - openFirewall = mkOption { - type = types.bool; - default = false; - description = '' - Open ports in the firewall for Mirakurun. - - ::: {.warning} - Exposing Mirakurun to the open internet is generally advised - against. Only use it inside a trusted local network, or - consider putting it behind a VPN if you want remote access. - ::: - ''; - }; - - unixSocket = mkOption { - type = with types; nullOr path; - default = "/var/run/mirakurun/mirakurun.sock"; - description = '' - Path to unix socket to listen on. If `null`, it - won't listen on any unix sockets. - ''; - }; - - allowSmartCardAccess = mkOption { - type = types.bool; - default = true; - description = '' - Install polkit rules to allow Mirakurun to access smart card readers - which is commonly used along with tuner devices. - ''; - }; - - serverSettings = mkOption { - type = settingsFmt.type; - default = {}; - example = literalExpression '' - { - highWaterMark = 25165824; - overflowTimeLimit = 30000; - }; - ''; - description = '' - Options for server.yml. - - Documentation: - - ''; - }; - - tunerSettings = mkOption { - type = with types; nullOr settingsFmt.type; - default = null; - example = literalExpression '' - [ - { - name = "tuner-name"; - types = [ "GR" "BS" "CS" "SKY" ]; - dvbDevicePath = "/dev/dvb/adapterX/dvrX"; - } - ]; - ''; - description = '' - Options which are added to tuners.yml. If none is specified, it will - automatically be generated at runtime. - - Documentation: - - ''; - }; - - channelSettings = mkOption { - type = with types; nullOr settingsFmt.type; - default = null; - example = literalExpression '' - [ - { - name = "channel"; - types = "GR"; - channel = "0"; - } - ]; - ''; - description = '' - Options which are added to channels.yml. If none is specified, it - will automatically be generated at runtime. - - Documentation: - - ''; - }; +{ + options = { + services.mirakurun = { + enable = mkEnableOption "the Mirakurun DVR Tuner Server"; + + port = mkOption { + type = with types; nullOr port; + default = 40772; + description = '' + Port to listen on. If `null`, it won't listen on + any port. + ''; }; - }; - config = mkIf cfg.enable { - environment.systemPackages = [ mirakurun ] ++ optional cfg.allowSmartCardAccess polkitRule; - environment.etc = { - "mirakurun/server.yml".source = settingsFmt.generate "server.yml" cfg.serverSettings; - "mirakurun/tuners.yml" = mkIf (cfg.tunerSettings != null) { - source = settingsFmt.generate "tuners.yml" cfg.tunerSettings; - mode = "0644"; - user = username; - group = groupname; - }; - "mirakurun/channels.yml" = mkIf (cfg.channelSettings != null) { - source = settingsFmt.generate "channels.yml" cfg.channelSettings; - mode = "0644"; - user = username; - group = groupname; - }; + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for Mirakurun. + + ::: {.warning} + Exposing Mirakurun to the open internet is generally advised + against. Only use it inside a trusted local network, or + consider putting it behind a VPN if you want remote access. + ::: + ''; }; - networking.firewall = mkIf cfg.openFirewall { - allowedTCPPorts = mkIf (cfg.port != null) [ cfg.port ]; + unixSocket = mkOption { + type = with types; nullOr path; + default = "/var/run/mirakurun/mirakurun.sock"; + description = '' + Path to unix socket to listen on. If `null`, it + won't listen on any unix sockets. + ''; }; - users.users.mirakurun = { - description = "Mirakurun user"; - group = "video"; - isSystemUser = true; + allowSmartCardAccess = mkOption { + type = types.bool; + default = true; + description = '' + Install polkit rules to allow Mirakurun to access smart card readers + which is commonly used along with tuner devices. + ''; + }; - # NPM insists on creating ~/.npm - home = "/var/cache/mirakurun"; + serverSettings = mkOption { + type = settingsFmt.type; + default = { }; + example = literalExpression '' + { + highWaterMark = 25165824; + overflowTimeLimit = 30000; + }; + ''; + description = '' + Options for server.yml. + + Documentation: + + ''; }; - services.mirakurun.serverSettings = { - logLevel = mkDefault 2; - path = mkIf (cfg.unixSocket != null) cfg.unixSocket; - port = mkIf (cfg.port != null) cfg.port; + tunerSettings = mkOption { + type = with types; nullOr settingsFmt.type; + default = null; + example = literalExpression '' + [ + { + name = "tuner-name"; + types = [ "GR" "BS" "CS" "SKY" ]; + dvbDevicePath = "/dev/dvb/adapterX/dvrX"; + } + ]; + ''; + description = '' + Options which are added to tuners.yml. If none is specified, it will + automatically be generated at runtime. + + Documentation: + + ''; }; - systemd.tmpfiles.settings."10-mirakurun"."/etc/mirakurun".d = { + channelSettings = mkOption { + type = with types; nullOr settingsFmt.type; + default = null; + example = literalExpression '' + [ + { + name = "channel"; + types = "GR"; + channel = "0"; + } + ]; + ''; + description = '' + Options which are added to channels.yml. If none is specified, it + will automatically be generated at runtime. + + Documentation: + + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ mirakurun ] ++ optional cfg.allowSmartCardAccess polkitRule; + environment.etc = { + "mirakurun/server.yml".source = settingsFmt.generate "server.yml" cfg.serverSettings; + "mirakurun/tuners.yml" = mkIf (cfg.tunerSettings != null) { + source = settingsFmt.generate "tuners.yml" cfg.tunerSettings; + mode = "0644"; user = username; group = groupname; }; + "mirakurun/channels.yml" = mkIf (cfg.channelSettings != null) { + source = settingsFmt.generate "channels.yml" cfg.channelSettings; + mode = "0644"; + user = username; + group = groupname; + }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = mkIf (cfg.port != null) [ cfg.port ]; + }; + + users.users.mirakurun = { + description = "Mirakurun user"; + group = "video"; + isSystemUser = true; + + # NPM insists on creating ~/.npm + home = "/var/cache/mirakurun"; + }; + + services.mirakurun.serverSettings = { + logLevel = mkDefault 2; + path = mkIf (cfg.unixSocket != null) cfg.unixSocket; + port = mkIf (cfg.port != null) cfg.port; + }; + + systemd.tmpfiles.settings."10-mirakurun"."/etc/mirakurun".d = { + user = username; + group = groupname; + }; + + systemd.services.mirakurun = { + description = mirakurun.meta.description; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${mirakurun}/bin/mirakurun start"; + User = username; + Group = groupname; + CacheDirectory = "mirakurun"; + RuntimeDirectory = "mirakurun"; + StateDirectory = "mirakurun"; + Nice = -10; + IOSchedulingClass = "realtime"; + IOSchedulingPriority = 7; + }; - systemd.services.mirakurun = { - description = mirakurun.meta.description; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = { - ExecStart = "${mirakurun}/bin/mirakurun start"; - User = username; - Group = groupname; - CacheDirectory = "mirakurun"; - RuntimeDirectory="mirakurun"; - StateDirectory="mirakurun"; - Nice = -10; - IOSchedulingClass = "realtime"; - IOSchedulingPriority = 7; - }; - - environment = { - SERVER_CONFIG_PATH = "/etc/mirakurun/server.yml"; - TUNERS_CONFIG_PATH = "/etc/mirakurun/tuners.yml"; - CHANNELS_CONFIG_PATH = "/etc/mirakurun/channels.yml"; - SERVICES_DB_PATH = "/var/lib/mirakurun/services.json"; - PROGRAMS_DB_PATH = "/var/lib/mirakurun/programs.json"; - LOGO_DATA_DIR_PATH = "/var/lib/mirakurun/logos"; - NODE_ENV = "production"; - }; - - restartTriggers = let + environment = { + SERVER_CONFIG_PATH = "/etc/mirakurun/server.yml"; + TUNERS_CONFIG_PATH = "/etc/mirakurun/tuners.yml"; + CHANNELS_CONFIG_PATH = "/etc/mirakurun/channels.yml"; + SERVICES_DB_PATH = "/var/lib/mirakurun/services.json"; + PROGRAMS_DB_PATH = "/var/lib/mirakurun/programs.json"; + LOGO_DATA_DIR_PATH = "/var/lib/mirakurun/logos"; + NODE_ENV = "production"; + }; + + restartTriggers = + let getconf = target: config.environment.etc."mirakurun/${target}.yml".source; - targets = [ - "server" - ] ++ optional (cfg.tunerSettings != null) "tuners" + targets = + [ + "server" + ] + ++ optional (cfg.tunerSettings != null) "tuners" ++ optional (cfg.channelSettings != null) "channels"; - in (map getconf targets); - }; + in + (map getconf targets); }; - } + }; +} diff --git a/nixos/modules/services/video/photonvision.nix b/nixos/modules/services/video/photonvision.nix index e2b27b3cc4104..70e527e2a51b4 100644 --- a/nixos/modules/services/video/photonvision.nix +++ b/nixos/modules/services/video/photonvision.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.photonvision; @@ -8,7 +13,7 @@ in services.photonvision = { enable = lib.mkEnableOption "PhotonVision"; - package = lib.mkPackageOption pkgs "photonvision" {}; + package = lib.mkPackageOption pkgs "photonvision" { }; openFirewall = lib.mkOption { description = '' @@ -58,7 +63,12 @@ in networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ 5800 ]; - allowedTCPPortRanges = [{ from = 1180; to = 1190; }]; + allowedTCPPortRanges = [ + { + from = 1180; + to = 1190; + } + ]; }; }; } diff --git a/nixos/modules/services/video/v4l2-relayd.nix b/nixos/modules/services/video/v4l2-relayd.nix index 7d1d712fa4a3d..0b2c94ad9eeaf 100644 --- a/nixos/modules/services/video/v4l2-relayd.nix +++ b/nixos/modules/services/video/v4l2-relayd.nix @@ -1,101 +1,125 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let - inherit (lib) attrValues concatStringsSep filterAttrs length listToAttrs literalExpression - makeSearchPathOutput mkEnableOption mkIf mkOption nameValuePair optionals types; + inherit (lib) + attrValues + concatStringsSep + filterAttrs + length + listToAttrs + literalExpression + makeSearchPathOutput + mkEnableOption + mkIf + mkOption + nameValuePair + optionals + types + ; inherit (utils) escapeSystemdPath; cfg = config.services.v4l2-relayd; kernelPackages = config.boot.kernelPackages; - gst = (with pkgs.gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer.out - ]); - - instanceOpts = { name, ... }: { - options = { - enable = mkEnableOption "this v4l2-relayd instance"; - - name = mkOption { - type = types.str; - default = name; - description = '' - The name of the instance. - ''; - }; - - cardLabel = mkOption { - type = types.str; - description = '' - The name the camera will show up as. - ''; - }; - - extraPackages = mkOption { - type = with types; listOf package; - default = [ ]; - description = '' - Extra packages to add to {env}`GST_PLUGIN_PATH` for the instance. - ''; - }; + gst = ( + with pkgs.gst_all_1; + [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer.out + ] + ); + + instanceOpts = + { name, ... }: + { + options = { + enable = mkEnableOption "this v4l2-relayd instance"; - input = { - pipeline = mkOption { + name = mkOption { type = types.str; + default = name; description = '' - The gstreamer-pipeline to use for the input-stream. + The name of the instance. ''; }; - format = mkOption { + cardLabel = mkOption { type = types.str; - default = "YUY2"; description = '' - The video-format to read from input-stream. + The name the camera will show up as. ''; }; - width = mkOption { - type = types.ints.positive; - default = 1280; + extraPackages = mkOption { + type = with types; listOf package; + default = [ ]; description = '' - The width to read from input-stream. + Extra packages to add to {env}`GST_PLUGIN_PATH` for the instance. ''; }; - height = mkOption { - type = types.ints.positive; - default = 720; - description = '' - The height to read from input-stream. - ''; - }; + input = { + pipeline = mkOption { + type = types.str; + description = '' + The gstreamer-pipeline to use for the input-stream. + ''; + }; - framerate = mkOption { - type = types.ints.positive; - default = 30; - description = '' - The framerate to read from input-stream. - ''; + format = mkOption { + type = types.str; + default = "YUY2"; + description = '' + The video-format to read from input-stream. + ''; + }; + + width = mkOption { + type = types.ints.positive; + default = 1280; + description = '' + The width to read from input-stream. + ''; + }; + + height = mkOption { + type = types.ints.positive; + default = 720; + description = '' + The height to read from input-stream. + ''; + }; + + framerate = mkOption { + type = types.ints.positive; + default = 30; + description = '' + The framerate to read from input-stream. + ''; + }; }; - }; - output = { - format = mkOption { - type = types.str; - default = "YUY2"; - description = '' - The video-format to write to output-stream. - ''; + output = { + format = mkOption { + type = types.str; + default = "YUY2"; + description = '' + The video-format to write to output-stream. + ''; + }; }; - }; + }; }; - }; in { @@ -126,7 +150,10 @@ in mkInstanceService = instance: { description = "Streaming relay for v4l2loopback using GStreamer"; - after = [ "modprobe@v4l2loopback.service" "systemd-logind.service" ]; + after = [ + "modprobe@v4l2loopback.service" + "systemd-logind.service" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -152,13 +179,16 @@ in "framerate=${toString instance.input.framerate}/1" ]; - outputPipeline = [ - "appsrc name=appsrc ${appsrcOptions}" - "videoconvert" - ] ++ optionals (instance.input.format != instance.output.format) [ - "video/x-raw,format=${instance.output.format}" - "queue" - ] ++ [ "v4l2sink name=v4l2sink device=$(cat $V4L2_DEVICE_FILE)" ]; + outputPipeline = + [ + "appsrc name=appsrc ${appsrcOptions}" + "videoconvert" + ] + ++ optionals (instance.input.format != instance.output.format) [ + "video/x-raw,format=${instance.output.format}" + "queue" + ] + ++ [ "v4l2sink name=v4l2sink device=$(cat $V4L2_DEVICE_FILE)" ]; in '' exec ${pkgs.v4l2-relayd}/bin/v4l2-relayd -i "${instance.input.pipeline}" -o "${concatStringsSep " ! " outputPipeline}" @@ -175,11 +205,14 @@ in ''; }; - mkInstanceServices = instances: listToAttrs (map - (instance: - nameValuePair "v4l2-relayd-${escapeSystemdPath instance.name}" (mkInstanceService instance) - ) - instances); + mkInstanceServices = + instances: + listToAttrs ( + map ( + instance: + nameValuePair "v4l2-relayd-${escapeSystemdPath instance.name}" (mkInstanceService instance) + ) instances + ); enabledInstances = attrValues (filterAttrs (n: v: v.enable) cfg.instances); diff --git a/nixos/modules/services/wayland/cage.nix b/nixos/modules/services/wayland/cage.nix index c96bc5adf1cf0..954cfd8faaa80 100644 --- a/nixos/modules/services/wayland/cage.nix +++ b/nixos/modules/services/wayland/cage.nix @@ -1,10 +1,16 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.services.cage; -in { +in +{ options.services.cage.enable = mkEnableOption "cage kiosk service"; options.services.cage.user = mkOption { @@ -17,15 +23,15 @@ in { options.services.cage.extraArguments = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; defaultText = literalExpression "[]"; description = "Additional command line arguments to pass to Cage."; - example = ["-d"]; + example = [ "-d" ]; }; options.services.cage.environment = mkOption { type = types.attrsOf types.str; - default = {}; + default = { }; example = { WLR_LIBINPUT_NO_DEVICES = "1"; }; @@ -58,7 +64,11 @@ in { "getty@tty1.service" ]; before = [ "graphical.target" ]; - wants = [ "dbus.socket" "systemd-logind.service" "plymouth-quit.service"]; + wants = [ + "dbus.socket" + "systemd-logind.service" + "plymouth-quit.service" + ]; wantedBy = [ "graphical.target" ]; conflicts = [ "getty@tty1.service" ]; diff --git a/nixos/modules/services/web-apps/alps.nix b/nixos/modules/services/web-apps/alps.nix index e72b85eb35690..0a0925856e711 100644 --- a/nixos/modules/services/web-apps/alps.nix +++ b/nixos/modules/services/web-apps/alps.nix @@ -1,10 +1,16 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: with lib; let cfg = config.services.alps; -in { +in +{ options.services.alps = { enable = mkEnableOption "alps"; @@ -25,7 +31,10 @@ in { }; theme = mkOption { - type = types.enum [ "alps" "sourcehut" ]; + type = types.enum [ + "alps" + "sourcehut" + ]; default = "sourcehut"; description = '' The frontend's theme to use. @@ -81,8 +90,10 @@ in { internal = true; type = types.listOf types.str; default = [ - "-addr" "${cfg.bindIP}:${toString cfg.port}" - "-theme" "${cfg.theme}" + "-addr" + "${cfg.bindIP}:${toString cfg.port}" + "-theme" + "${cfg.theme}" "imaps://${cfg.imaps.host}:${toString cfg.imaps.port}" "smtps://${cfg.smtps.host}:${toString cfg.smtps.port}" ]; @@ -95,7 +106,10 @@ in { documentation = [ "https://git.sr.ht/~migadu/alps" ]; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; serviceConfig = { ExecStart = "${cfg.package}/bin/alps ${escapeShellArgs cfg.args}"; @@ -119,14 +133,20 @@ in { ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SocketBindAllow = cfg.port; SocketBindDeny = "any"; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @obsolete" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @obsolete" + ]; }; }; }; diff --git a/nixos/modules/services/web-apps/audiobookshelf.nix b/nixos/modules/services/web-apps/audiobookshelf.nix index 2f00c852ac8fe..d72bdd95ad605 100644 --- a/nixos/modules/services/web-apps/audiobookshelf.nix +++ b/nixos/modules/services/web-apps/audiobookshelf.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/web-apps/bluemap.nix b/nixos/modules/services/web-apps/bluemap.nix index 0b45501980e6c..b04f7a64e75a7 100644 --- a/nixos/modules/services/web-apps/bluemap.nix +++ b/nixos/modules/services/web-apps/bluemap.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.bluemap; format = pkgs.formats.hocon { }; @@ -7,20 +12,21 @@ let webappConfig = format.generate "webapp.conf" cfg.webappSettings; webserverConfig = format.generate "webserver.conf" cfg.webserverSettings; - mapsFolder = pkgs.linkFarm "maps" - (lib.attrsets.mapAttrs' (name: value: - lib.nameValuePair "${name}.conf" - (format.generate "${name}.conf" value)) - cfg.maps); + mapsFolder = pkgs.linkFarm "maps" ( + lib.attrsets.mapAttrs' ( + name: value: lib.nameValuePair "${name}.conf" (format.generate "${name}.conf" value) + ) cfg.maps + ); - addonsFolder = pkgs.linkFarm "addons" - (lib.attrsets.mapAttrs' (name: value: lib.nameValuePair "${name}.jar" value) cfg.addons); + addonsFolder = pkgs.linkFarm "addons" ( + lib.attrsets.mapAttrs' (name: value: lib.nameValuePair "${name}.jar" value) cfg.addons + ); - storageFolder = pkgs.linkFarm "storage" - (lib.attrsets.mapAttrs' (name: value: - lib.nameValuePair "${name}.conf" - (format.generate "${name}.conf" value)) - cfg.storage); + storageFolder = pkgs.linkFarm "storage" ( + lib.attrsets.mapAttrs' ( + name: value: lib.nameValuePair "${name}.conf" (format.generate "${name}.conf" value) + ) cfg.storage + ); configFolder = pkgs.linkFarm "bluemap-config" { "maps" = mapsFolder; @@ -33,9 +39,13 @@ let }; inherit (lib) mkOption; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "services" "bluemap" "resourcepacks" ] [ "services" "bluemap" "packs" ]) + (lib.mkRenamedOptionModule + [ "services" "bluemap" "resourcepacks" ] + [ "services" "bluemap" "packs" ] + ) ]; options.services.bluemap = { @@ -146,15 +156,17 @@ in { }; maps = mkOption { - type = lib.types.attrsOf (lib.types.submodule { - freeformType = format.type; - options = { - world = lib.mkOption { - type = lib.types.path; - description = "Path to world folder containing the dimension to render"; + type = lib.types.attrsOf ( + lib.types.submodule { + freeformType = format.type; + options = { + world = lib.mkOption { + type = lib.types.path; + description = "Path to world folder containing the dimension to render"; + }; }; - }; - }); + } + ); default = { "overworld" = { world = "${cfg.defaultWorld}"; @@ -248,16 +260,21 @@ in { }; storage = mkOption { - type = lib.types.attrsOf (lib.types.submodule { - freeformType = format.type; - options = { - storage-type = mkOption { - type = lib.types.enum [ "FILE" "SQL" ]; - description = "Type of storage config"; - default = "FILE"; + type = lib.types.attrsOf ( + lib.types.submodule { + freeformType = format.type; + options = { + storage-type = mkOption { + type = lib.types.enum [ + "FILE" + "SQL" + ]; + description = "Type of storage config"; + default = "FILE"; + }; }; - }; - }); + } + ); description = '' Where the rendered map will be stored. Unless you are doing something advanced you should probably leave this alone and configure webRoot instead. @@ -287,16 +304,16 @@ in { }; }; - config = lib.mkIf cfg.enable { - assertions = - [ { assertion = config.services.bluemap.eula; - message = '' - You have enabled bluemap but have not accepted minecraft's EULA. - You can achieve this through setting `services.bluemap.eula = true` - ''; - } - ]; + assertions = [ + { + assertion = config.services.bluemap.eula; + message = '' + You have enabled bluemap but have not accepted minecraft's EULA. + You can achieve this through setting `services.bluemap.eula = true` + ''; + } + ]; services.bluemap.coreSettings.accept-download = cfg.eula; @@ -336,6 +353,9 @@ in { }; meta = { - maintainers = with lib.maintainers; [ dandellion h7x4 ]; + maintainers = with lib.maintainers; [ + dandellion + h7x4 + ]; }; } diff --git a/nixos/modules/services/web-apps/c2fmzq-server.nix b/nixos/modules/services/web-apps/c2fmzq-server.nix index dee131182de16..f1935e05407f2 100644 --- a/nixos/modules/services/web-apps/c2fmzq-server.nix +++ b/nixos/modules/services/web-apps/c2fmzq-server.nix @@ -1,19 +1,38 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkOption types; + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + types + ; cfg = config.services.c2fmzq-server; argsFormat = { - type = with lib.types; attrsOf (nullOr (oneOf [ bool int str ])); + type = + with lib.types; + attrsOf ( + nullOr (oneOf [ + bool + int + str + ]) + ); generate = lib.cli.toGNUCommandLineShell { mkBool = k: v: [ "--${k}=${if v then "true" else "false"}" ]; }; }; -in { +in +{ options.services.c2fmzq-server = { enable = mkEnableOption "c2fmzq-server"; @@ -81,7 +100,10 @@ in { documentation = [ "https://github.com/c2FmZQ/c2FmZQ/blob/main/README.md" ]; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; serviceConfig = { ExecStart = "${lib.getExe cfg.package} ${argsFormat.generate cfg.settings}"; @@ -110,7 +132,10 @@ in { ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -118,7 +143,10 @@ in { SocketBindDeny = "any"; StateDirectory = "c2fmzq-server"; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @obsolete" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @obsolete" + ]; }; }; }; diff --git a/nixos/modules/services/web-apps/castopod.nix b/nixos/modules/services/web-apps/castopod.nix index e60a9b3b1fb79..fae20df530ef6 100644 --- a/nixos/modules/services/web-apps/castopod.nix +++ b/nixos/modules/services/web-apps/castopod.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.castopod; fpm = config.services.phpfpm.pools.castopod; @@ -6,14 +11,19 @@ let user = "castopod"; # https://docs.castopod.org/getting-started/install.html#requirements - phpPackage = pkgs.php82.withExtensions ({ enabled, all }: with all; [ - intl - curl - mbstring - gd - exif - mysqlnd - ] ++ enabled); + phpPackage = pkgs.php82.withExtensions ( + { enabled, all }: + with all; + [ + intl + curl + mbstring + gd + exif + mysqlnd + ] + ++ enabled + ); in { meta.doc = ./castopod.md; @@ -73,7 +83,13 @@ in }; }; settings = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ str int bool ]); + type = + with lib.types; + attrsOf (oneOf [ + str + int + bool + ]); default = { }; example = { "email.protocol" = "smtp"; @@ -110,7 +126,13 @@ in description = "The domain serving your CastoPod instance."; }; poolSettings = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ str int bool ]); + type = + with lib.types; + attrsOf (oneOf [ + str + int + bool + ]); default = { "pm" = "dynamic"; "pm.max_children" = "32"; @@ -142,7 +164,9 @@ in config = lib.mkIf cfg.enable { services.castopod.settings = let - sslEnabled = with config.services.nginx.virtualHosts.${cfg.localDomain}; addSSL || forceSSL || onlySSL || enableACME || useACMEHost != null; + sslEnabled = + with config.services.nginx.virtualHosts.${cfg.localDomain}; + addSSL || forceSSL || onlySSL || enableACME || useACMEHost != null; baseURL = "http${lib.optionalString sslEnabled "s"}://${cfg.localDomain}"; in lib.mapAttrs (_: lib.mkDefault) { @@ -187,7 +211,10 @@ in after = lib.optional config.services.mysql.enable "mysql.service"; requires = lib.optional config.services.mysql.enable "mysql.service"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.openssl phpPackage ]; + path = [ + pkgs.openssl + phpPackage + ]; script = let envFile = "${cfg.dataDir}/.env"; @@ -210,11 +237,16 @@ in echo "analytics.salt=$(cat ${cfg.dataDir}/salt)" >> ${envFile} - ${if (cfg.database.passwordFile != null) then '' - echo "database.default.password=$(cat "$CREDENTIALS_DIRECTORY/dbpasswordfile)" >> ${envFile} - '' else '' - echo "database.default.password=" >> ${envFile} - ''} + ${ + if (cfg.database.passwordFile != null) then + '' + echo "database.default.password=$(cat "$CREDENTIALS_DIRECTORY/dbpasswordfile)" >> ${envFile} + '' + else + '' + echo "database.default.password=" >> ${envFile} + '' + } ${lib.optionalString (cfg.environmentFile != null) '' cat "$CREDENTIALS_DIRECTORY/envfile" >> ${envFile} @@ -224,10 +256,9 @@ in ''; serviceConfig = { StateDirectory = "castopod"; - LoadCredential = lib.optional (cfg.environmentFile != null) - "envfile:${cfg.environmentFile}" - ++ (lib.optional (cfg.database.passwordFile != null) - "dbpasswordfile:${cfg.database.passwordFile}"); + LoadCredential = + lib.optional (cfg.environmentFile != null) "envfile:${cfg.environmentFile}" + ++ (lib.optional (cfg.database.passwordFile != null) "dbpasswordfile:${cfg.database.passwordFile}"); WorkingDirectory = "${cfg.package}/share/castopod"; Type = "oneshot"; RemainAfterExit = true; @@ -267,10 +298,14 @@ in enable = true; package = lib.mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; - ensureUsers = [{ - name = cfg.database.user; - ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; - }]; + ensureUsers = [ + { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; + } + ]; }; services.nginx = lib.mkIf cfg.configureNginx { diff --git a/nixos/modules/services/web-apps/changedetection-io.nix b/nixos/modules/services/web-apps/changedetection-io.nix index 32448486cc956..c4866839a97f0 100644 --- a/nixos/modules/services/web-apps/changedetection-io.nix +++ b/nixos/modules/services/web-apps/changedetection-io.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -123,37 +128,40 @@ in } ]; - systemd = let - defaultStateDir = cfg.datastorePath == "/var/lib/changedetection-io"; - in { - services.changedetection-io = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - StateDirectory = mkIf defaultStateDir "changedetection-io"; - StateDirectoryMode = mkIf defaultStateDir "0750"; - WorkingDirectory = cfg.datastorePath; - Environment = [ "HIDE_REFERER=true" ] - ++ lib.optional (cfg.baseURL != null) "BASE_URL=${cfg.baseURL}" - ++ lib.optional cfg.behindProxy "USE_X_SETTINGS=1" - ++ lib.optional cfg.webDriverSupport "WEBDRIVER_URL=http://127.0.0.1:${toString cfg.chromePort}/wd/hub" - ++ lib.optional cfg.playwrightSupport "PLAYWRIGHT_DRIVER_URL=ws://127.0.0.1:${toString cfg.chromePort}/?stealth=1&--disable-web-security=true"; - EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile; - ExecStart = '' - ${pkgs.changedetection-io}/bin/changedetection.py \ - -h ${cfg.listenAddress} -p ${toString cfg.port} -d ${cfg.datastorePath} - ''; - ProtectHome = true; - ProtectSystem = true; - Restart = "on-failure"; + systemd = + let + defaultStateDir = cfg.datastorePath == "/var/lib/changedetection-io"; + in + { + services.changedetection-io = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + StateDirectory = mkIf defaultStateDir "changedetection-io"; + StateDirectoryMode = mkIf defaultStateDir "0750"; + WorkingDirectory = cfg.datastorePath; + Environment = + [ "HIDE_REFERER=true" ] + ++ lib.optional (cfg.baseURL != null) "BASE_URL=${cfg.baseURL}" + ++ lib.optional cfg.behindProxy "USE_X_SETTINGS=1" + ++ lib.optional cfg.webDriverSupport "WEBDRIVER_URL=http://127.0.0.1:${toString cfg.chromePort}/wd/hub" + ++ lib.optional cfg.playwrightSupport "PLAYWRIGHT_DRIVER_URL=ws://127.0.0.1:${toString cfg.chromePort}/?stealth=1&--disable-web-security=true"; + EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile; + ExecStart = '' + ${pkgs.changedetection-io}/bin/changedetection.py \ + -h ${cfg.listenAddress} -p ${toString cfg.port} -d ${cfg.datastorePath} + ''; + ProtectHome = true; + ProtectSystem = true; + Restart = "on-failure"; + }; }; + tmpfiles.rules = mkIf (!defaultStateDir) [ + "d ${cfg.datastorePath} 0750 ${cfg.user} ${cfg.group} - -" + ]; }; - tmpfiles.rules = mkIf (!defaultStateDir) [ - "d ${cfg.datastorePath} 0750 ${cfg.user} ${cfg.group} - -" - ]; - }; users = { users = optionalAttrs (cfg.user == "changedetection-io") { diff --git a/nixos/modules/services/web-apps/chatgpt-retrieval-plugin.nix b/nixos/modules/services/web-apps/chatgpt-retrieval-plugin.nix index c1ab7ec40949c..dba076436df7b 100644 --- a/nixos/modules/services/web-apps/chatgpt-retrieval-plugin.nix +++ b/nixos/modules/services/web-apps/chatgpt-retrieval-plugin.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -41,7 +46,14 @@ in }; datastore = mkOption { - type = types.enum [ "pinecone" "weaviate" "zilliz" "milvus" "qdrant" "redis" ]; + type = types.enum [ + "pinecone" + "weaviate" + "zilliz" + "milvus" + "qdrant" + "redis" + ]; default = "qdrant"; description = "This specifies the vector database provider you want to use to store and query embeddings."; }; diff --git a/nixos/modules/services/web-apps/cloudlog.nix b/nixos/modules/services/web-apps/cloudlog.nix index 6550d112d5373..0c51a5118bbd0 100644 --- a/nixos/modules/services/web-apps/cloudlog.nix +++ b/nixos/modules/services/web-apps/cloudlog.nix @@ -1,40 +1,49 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.services.cloudlog; - dbFile = let - password = if cfg.database.createLocally - then "''" - else "trim(file_get_contents('${cfg.database.passwordFile}'))"; - in pkgs.writeText "database.php" '' - "", - 'hostname' => '${cfg.database.host}', - 'username' => '${cfg.database.user}', - 'password' => ${password}, - 'database' => '${cfg.database.name}', - 'dbdriver' => 'mysqli', - 'dbprefix' => "", - 'pconnect' => TRUE, - 'db_debug' => (ENVIRONMENT !== 'production'), - 'cache_on' => FALSE, - 'cachedir' => "", - 'char_set' => 'utf8mb4', - 'dbcollat' => 'utf8mb4_general_ci', - 'swap_pre' => "", - 'encrypt' => FALSE, - 'compress' => FALSE, - 'stricton' => FALSE, - 'failover' => array(), - 'save_queries' => TRUE - ); - ''; + dbFile = + let + password = + if cfg.database.createLocally then + "''" + else + "trim(file_get_contents('${cfg.database.passwordFile}'))"; + in + pkgs.writeText "database.php" '' + "", + 'hostname' => '${cfg.database.host}', + 'username' => '${cfg.database.user}', + 'password' => ${password}, + 'database' => '${cfg.database.name}', + 'dbdriver' => 'mysqli', + 'dbprefix' => "", + 'pconnect' => TRUE, + 'db_debug' => (ENVIRONMENT !== 'production'), + 'cache_on' => FALSE, + 'cachedir' => "", + 'char_set' => 'utf8mb4', + 'dbcollat' => 'utf8mb4_general_ci', + 'swap_pre' => "", + 'encrypt' => FALSE, + 'compress' => FALSE, + 'stricton' => FALSE, + 'failover' => array(), + 'save_queries' => TRUE + ); + ''; configFile = pkgs.writeText "config.php" '' . + Any additional text to be appended to the config.php + configuration file. This is a PHP script. For configuration + settings, see . ''; default = ""; type = str; @@ -308,7 +321,7 @@ in pools.cloudlog = { inherit (cfg) user; group = config.services.nginx.group; - settings = { + settings = { "listen.owner" = config.services.nginx.user; "listen.group" = config.services.nginx.group; } // cfg.poolConfig; @@ -322,12 +335,12 @@ in root = "${package}"; locations."/".tryFiles = "$uri /index.php$is_args$args"; locations."~ ^/index.php(/|$)".extraConfig = '' - include ${config.services.nginx.package}/conf/fastcgi_params; - include ${pkgs.nginx}/conf/fastcgi.conf; - fastcgi_split_path_info ^(.+\.php)(.+)$; - fastcgi_pass unix:${config.services.phpfpm.pools.cloudlog.socket}; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - ''; + include ${config.services.nginx.package}/conf/fastcgi_params; + include ${pkgs.nginx}/conf/fastcgi.conf; + fastcgi_split_path_info ^(.+\.php)(.+)$; + fastcgi_pass unix:${config.services.phpfpm.pools.cloudlog.socket}; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + ''; }; }; }; @@ -335,12 +348,14 @@ in services.mysql = mkIf cfg.database.createLocally { enable = true; ensureDatabases = [ cfg.database.name ]; - ensureUsers = [{ - name = cfg.database.user; - ensurePermissions = { - "${cfg.database.name}.*" = "ALL PRIVILEGES"; - }; - }]; + ensureUsers = [ + { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; + } + ]; }; systemd = { @@ -353,14 +368,16 @@ in }; wantedBy = [ "phpfpm-cloudlog.service" ]; after = [ "mysql.service" ]; - script = let - mysql = "${config.services.mysql.package}/bin/mysql"; - in '' - if [ ! -f ${cfg.dataDir}/.dbexists ]; then - ${mysql} ${cfg.database.name} < ${pkgs.cloudlog}/install/assets/install.sql - touch ${cfg.dataDir}/.dbexists - fi - ''; + script = + let + mysql = "${config.services.mysql.package}/bin/mysql"; + in + '' + if [ ! -f ${cfg.dataDir}/.dbexists ]; then + ${mysql} ${cfg.database.name} < ${pkgs.cloudlog}/install/assets/install.sql + touch ${cfg.dataDir}/.dbexists + fi + ''; }; cloudlog-upload-lotw = { description = "Upload QSOs to LoTW if certs have been provided"; @@ -449,7 +466,7 @@ in Persistent = true; }; }; - cloudlog-update-wwff = { + cloudlog-update-wwff = { enable = cfg.update-wwff.enable; wantedBy = [ "timers.target" ]; partOf = [ "cloudlog-update-wwff.service" ]; @@ -480,17 +497,19 @@ in }; }; }; - tmpfiles.rules = let - group = config.services.nginx.group; - in [ - "d ${cfg.dataDir} 0750 ${cfg.user} ${group} - -" - "d ${cfg.dataDir}/updates 0750 ${cfg.user} ${group} - -" - "d ${cfg.dataDir}/uploads 0750 ${cfg.user} ${group} - -" - "d ${cfg.dataDir}/backup 0750 ${cfg.user} ${group} - -" - "d ${cfg.dataDir}/logbook 0750 ${cfg.user} ${group} - -" - "d ${cfg.dataDir}/assets/json 0750 ${cfg.user} ${group} - -" - "d ${cfg.dataDir}/assets/qslcard 0750 ${cfg.user} ${group} - -" - ]; + tmpfiles.rules = + let + group = config.services.nginx.group; + in + [ + "d ${cfg.dataDir} 0750 ${cfg.user} ${group} - -" + "d ${cfg.dataDir}/updates 0750 ${cfg.user} ${group} - -" + "d ${cfg.dataDir}/uploads 0750 ${cfg.user} ${group} - -" + "d ${cfg.dataDir}/backup 0750 ${cfg.user} ${group} - -" + "d ${cfg.dataDir}/logbook 0750 ${cfg.user} ${group} - -" + "d ${cfg.dataDir}/assets/json 0750 ${cfg.user} ${group} - -" + "d ${cfg.dataDir}/assets/qslcard 0750 ${cfg.user} ${group} - -" + ]; }; users.users."${cfg.user}" = { diff --git a/nixos/modules/services/web-apps/code-server.nix b/nixos/modules/services/web-apps/code-server.nix index f94a1a8b53fa4..c310fa70b9448 100644 --- a/nixos/modules/services/web-apps/code-server.nix +++ b/nixos/modules/services/web-apps/code-server.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.code-server; defaultUser = "code-server"; defaultGroup = defaultUser; -in { +in +{ options = { services.code-server = { enable = lib.mkEnableOption "code-server"; @@ -36,7 +42,9 @@ in { Additional environment variables to pass to code-server. ''; default = { }; - example = { PKG_CONFIG_PATH = "/run/current-system/sw/lib/pkgconfig"; }; + example = { + PKG_CONFIG_PATH = "/run/current-system/sw/lib/pkgconfig"; + }; }; extraArguments = lib.mkOption { @@ -69,7 +77,10 @@ in { description = '' The type of authentication to use. ''; - type = lib.types.enum [ "none" "password" ]; + type = lib.types.enum [ + "none" + "password" + ]; }; hashedPassword = lib.mkOption { @@ -121,7 +132,7 @@ in { socketMode = lib.mkOption { default = null; description = '' - File mode of the socket. + File mode of the socket. ''; type = lib.types.nullOr lib.types.str; }; @@ -212,27 +223,37 @@ in { HASHED_PASSWORD = cfg.hashedPassword; } // cfg.extraEnvironment; serviceConfig = { - ExecStart = '' - ${lib.getExe cfg.package} \ - --auth=${cfg.auth} \ - --bind-addr=${cfg.host}:${toString cfg.port} \ - '' + lib.optionalString (cfg.socket != null) '' + ExecStart = + '' + ${lib.getExe cfg.package} \ + --auth=${cfg.auth} \ + --bind-addr=${cfg.host}:${toString cfg.port} \ + '' + + lib.optionalString (cfg.socket != null) '' --socket=${cfg.socket} \ - '' + lib.optionalString (cfg.userDataDir != null) '' + '' + + lib.optionalString (cfg.userDataDir != null) '' --user-data-dir=${cfg.userDataDir} \ - '' + lib.optionalString (cfg.extensionsDir != null) '' + '' + + lib.optionalString (cfg.extensionsDir != null) '' --extensions-dir=${cfg.extensionsDir} \ - '' + lib.optionalString (cfg.disableTelemetry == true) '' + '' + + lib.optionalString (cfg.disableTelemetry == true) '' --disable-telemetry \ - '' + lib.optionalString (cfg.disableUpdateCheck == true) '' + '' + + lib.optionalString (cfg.disableUpdateCheck == true) '' --disable-update-check \ - '' + lib.optionalString (cfg.disableFileDownloads == true) '' + '' + + lib.optionalString (cfg.disableFileDownloads == true) '' --disable-file-downloads \ - '' + lib.optionalString (cfg.disableWorkspaceTrust == true) '' + '' + + lib.optionalString (cfg.disableWorkspaceTrust == true) '' --disable-workspace-trust \ - '' + lib.optionalString (cfg.disableGettingStartedOverride == true) '' + '' + + lib.optionalString (cfg.disableGettingStartedOverride == true) '' --disable-getting-started-override \ - '' + lib.escapeShellArgs cfg.extraArguments; + '' + + lib.escapeShellArgs cfg.extraArguments; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; RuntimeDirectory = cfg.user; User = cfg.user; diff --git a/nixos/modules/services/web-apps/coder.nix b/nixos/modules/services/web-apps/coder.nix index 5450adbe118da..bdbc7b28bc973 100644 --- a/nixos/modules/services/web-apps/coder.nix +++ b/nixos/modules/services/web-apps/coder.nix @@ -1,11 +1,18 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; let cfg = config.services.coder; name = "coder"; -in { +in +{ options = { services.coder = { enable = mkEnableOption "Coder service"; @@ -76,7 +83,7 @@ in { extra = mkOption { type = types.attrs; description = "Extra environment variables to pass run Coder's server with. See Coder documentation."; - default = {}; + default = { }; example = { CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS = true; CODER_OAUTH2_GITHUB_ALLOWED_ORGS = "your-org"; @@ -159,7 +166,10 @@ in { config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.username == name && cfg.database.database == cfg.database.username; + { + assertion = + cfg.database.createLocally + -> cfg.database.username == name && cfg.database.database == cfg.database.username; message = "services.coder.database.username must be set to ${name} if services.coder.database.createLocally is set true"; } ]; @@ -172,7 +182,11 @@ in { environment = cfg.environment.extra // { CODER_ACCESS_URL = cfg.accessUrl; CODER_WILDCARD_ACCESS_URL = cfg.wildcardAccessUrl; - CODER_PG_CONNECTION_URL = "user=${cfg.database.username} ${optionalString (cfg.database.password != null) "password=${cfg.database.password}"} database=${cfg.database.database} host=${cfg.database.host} ${optionalString (cfg.database.sslmode != null) "sslmode=${cfg.database.sslmode}"}"; + CODER_PG_CONNECTION_URL = "user=${cfg.database.username} ${ + optionalString (cfg.database.password != null) "password=${cfg.database.password}" + } database=${cfg.database.database} host=${cfg.database.host} ${ + optionalString (cfg.database.sslmode != null) "sslmode=${cfg.database.sslmode}" + }"; CODER_ADDRESS = cfg.listenAddress; CODER_TLS_ENABLE = optionalString (cfg.tlsCert != null) "1"; CODER_TLS_CERT_FILE = cfg.tlsCert; @@ -203,15 +217,16 @@ in { ensureDatabases = [ cfg.database.database ]; - ensureUsers = [{ - name = cfg.user; - ensureDBOwnership = true; + ensureUsers = [ + { + name = cfg.user; + ensureDBOwnership = true; } ]; }; users.groups = optionalAttrs (cfg.group == name) { - "${cfg.group}" = {}; + "${cfg.group}" = { }; }; users.users = optionalAttrs (cfg.user == name) { ${name} = { diff --git a/nixos/modules/services/web-apps/convos.nix b/nixos/modules/services/web-apps/convos.nix index da5f7cbf724f4..e99edf0cc35d1 100644 --- a/nixos/modules/services/web-apps/convos.nix +++ b/nixos/modules/services/web-apps/convos.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -62,7 +67,10 @@ in LockPersonality = true; RestrictRealtime = true; RestrictNamespaces = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6"]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; SystemCallFilter = "@system-service"; SystemCallArchitectures = "native"; CapabilityBoundingSet = ""; diff --git a/nixos/modules/services/web-apps/dex.nix b/nixos/modules/services/web-apps/dex.nix index 45e16603373d1..ca87ba273a9d1 100644 --- a/nixos/modules/services/web-apps/dex.nix +++ b/nixos/modules/services/web-apps/dex.nix @@ -1,21 +1,37 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.dex; - fixClient = client: if client ? secretFile then ((builtins.removeAttrs client [ "secretFile" ]) // { secret = client.secretFile; }) else client; - filteredSettings = mapAttrs (n: v: if n == "staticClients" then (builtins.map fixClient v) else v) cfg.settings; - secretFiles = flatten (builtins.map (c: optional (c ? secretFile) c.secretFile) (cfg.settings.staticClients or [])); + fixClient = + client: + if client ? secretFile then + ((builtins.removeAttrs client [ "secretFile" ]) // { secret = client.secretFile; }) + else + client; + filteredSettings = mapAttrs ( + n: v: if n == "staticClients" then (builtins.map fixClient v) else v + ) cfg.settings; + secretFiles = flatten ( + builtins.map (c: optional (c ? secretFile) c.secretFile) (cfg.settings.staticClients or [ ]) + ); - settingsFormat = pkgs.formats.yaml {}; + settingsFormat = pkgs.formats.yaml { }; configFile = settingsFormat.generate "config.yaml" filteredSettings; - startPreScript = pkgs.writeShellScript "dex-start-pre" - (concatStringsSep "\n" (map (file: '' - replace-secret '${file}' '${file}' /run/dex/config.yaml - '') - secretFiles)); + startPreScript = pkgs.writeShellScript "dex-start-pre" ( + concatStringsSep "\n" ( + map (file: '' + replace-secret '${file}' '${file}' /run/dex/config.yaml + '') secretFiles + ) + ); in { options.services.dex = { @@ -33,7 +49,7 @@ in settings = mkOption { type = settingsFormat.type; - default = {}; + default = { }; example = literalExpression '' { # External url @@ -70,58 +86,69 @@ in systemd.services.dex = { description = "dex identity provider"; wantedBy = [ "multi-user.target" ]; - after = [ "networking.target" ] ++ (optional (cfg.settings.storage.type == "postgres") "postgresql.service"); + after = [ + "networking.target" + ] ++ (optional (cfg.settings.storage.type == "postgres") "postgresql.service"); path = with pkgs; [ replace-secret ]; - serviceConfig = { - ExecStart = "${pkgs.dex-oidc}/bin/dex serve /run/dex/config.yaml"; - ExecStartPre = [ - "${pkgs.coreutils}/bin/install -m 600 ${configFile} /run/dex/config.yaml" - "+${startPreScript}" - ]; + serviceConfig = + { + ExecStart = "${pkgs.dex-oidc}/bin/dex serve /run/dex/config.yaml"; + ExecStartPre = [ + "${pkgs.coreutils}/bin/install -m 600 ${configFile} /run/dex/config.yaml" + "+${startPreScript}" + ]; - RuntimeDirectory = "dex"; - BindReadOnlyPaths = [ - "/nix/store" - "-/etc/dex" - "-/etc/hosts" - "-/etc/localtime" - "-/etc/nsswitch.conf" - "-/etc/resolv.conf" - "-/etc/ssl/certs/ca-certificates.crt" - ]; - BindPaths = optional (cfg.settings.storage.type == "postgres") "/var/run/postgresql"; - # ProtectClock= adds DeviceAllow=char-rtc r - DeviceAllow = ""; - DynamicUser = true; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateMounts = true; - # Port needs to be exposed to the host network - #PrivateNetwork = true; - PrivateTmp = true; - PrivateUsers = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectHome = true; - ProtectHostname = true; - ProtectSystem = "strict"; - ProtectControlGroups = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @setuid @keyring" ]; - UMask = "0066"; - } // optionalAttrs (cfg.environmentFile != null) { - EnvironmentFile = cfg.environmentFile; - }; + RuntimeDirectory = "dex"; + BindReadOnlyPaths = [ + "/nix/store" + "-/etc/dex" + "-/etc/hosts" + "-/etc/localtime" + "-/etc/nsswitch.conf" + "-/etc/resolv.conf" + "-/etc/ssl/certs/ca-certificates.crt" + ]; + BindPaths = optional (cfg.settings.storage.type == "postgres") "/var/run/postgresql"; + # ProtectClock= adds DeviceAllow=char-rtc r + DeviceAllow = ""; + DynamicUser = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateMounts = true; + # Port needs to be exposed to the host network + #PrivateNetwork = true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectHome = true; + ProtectHostname = true; + ProtectSystem = "strict"; + ProtectControlGroups = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged @setuid @keyring" + ]; + UMask = "0066"; + } + // optionalAttrs (cfg.environmentFile != null) { + EnvironmentFile = cfg.environmentFile; + }; }; }; diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index 849a03be8bc87..45a36138ff542 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -1,7 +1,14 @@ -{ config, options, lib, pkgs, utils, ... }: +{ + config, + options, + lib, + pkgs, + utils, + ... +}: let - json = pkgs.formats.json {}; + json = pkgs.formats.json { }; cfg = config.services.discourse; opt = options.services.discourse; @@ -9,19 +16,15 @@ let # Keep in sync with https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile#L5 upstreamPostgresqlVersion = lib.getVersion pkgs.postgresql_13; - postgresqlPackage = if config.services.postgresql.enable then - config.services.postgresql.package - else - pkgs.postgresql; + postgresqlPackage = + if config.services.postgresql.enable then config.services.postgresql.package else pkgs.postgresql; postgresqlVersion = lib.getVersion postgresqlPackage; # We only want to create a database if we're actually going to connect to it. databaseActuallyCreateLocally = cfg.database.createLocally && cfg.database.host == null; - tlsEnabled = cfg.enableACME - || cfg.sslCertificate != null - || cfg.sslCertificateKey != null; + tlsEnabled = cfg.enableACME || cfg.sslCertificate != null || cfg.sslCertificateKey != null; in { options = { @@ -31,9 +34,11 @@ in package = lib.mkOption { type = lib.types.package; default = pkgs.discourse; - apply = p: p.override { - plugins = lib.unique (p.enabledPlugins ++ cfg.plugins); - }; + apply = + p: + p.override { + plugins = lib.unique (p.enabledPlugins ++ cfg.plugins); + }; defaultText = lib.literalExpression "pkgs.discourse"; description = '' The discourse package to use. @@ -108,8 +113,17 @@ in }; backendSettings = lib.mkOption { - type = with lib.types; attrsOf (nullOr (oneOf [ str int bool float ])); - default = {}; + type = + with lib.types; + attrsOf ( + nullOr (oneOf [ + str + int + bool + float + ]) + ); + default = { }; example = lib.literalExpression '' { max_reqs_per_ip_per_minute = 300; @@ -133,7 +147,7 @@ in siteSettings = lib.mkOption { type = json.type; - default = {}; + default = { }; example = lib.literalExpression '' { required = { @@ -404,7 +418,13 @@ in }; authentication = lib.mkOption { - type = with lib.types; nullOr (enum ["plain" "login" "cram_md5"]); + type = + with lib.types; + nullOr (enum [ + "plain" + "login" + "cram_md5" + ]); default = null; description = '' Authentication type to use, see https://api.rubyonrails.org/classes/ActionMailer/Base.html @@ -483,7 +503,7 @@ in plugins = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = lib.literalExpression '' with config.services.discourse.package.plugins; [ discourse-canned-replies @@ -527,14 +547,16 @@ in message = "Could not automatically determine hostname, set service.discourse.hostname manually."; } { - assertion = cfg.database.ignorePostgresqlVersion || (databaseActuallyCreateLocally -> upstreamPostgresqlVersion == postgresqlVersion); - message = "The PostgreSQL version recommended for use with Discourse is ${upstreamPostgresqlVersion}, you're using ${postgresqlVersion}. " - + "Either update your PostgreSQL package to the correct version or set services.discourse.database.ignorePostgresqlVersion. " - + "See https://nixos.org/manual/nixos/stable/index.html#module-postgresql for details on how to upgrade PostgreSQL."; + assertion = + cfg.database.ignorePostgresqlVersion + || (databaseActuallyCreateLocally -> upstreamPostgresqlVersion == postgresqlVersion); + message = + "The PostgreSQL version recommended for use with Discourse is ${upstreamPostgresqlVersion}, you're using ${postgresqlVersion}. " + + "Either update your PostgreSQL package to the correct version or set services.discourse.database.ignorePostgresqlVersion. " + + "See https://nixos.org/manual/nixos/stable/index.html#module-postgresql for details on how to upgrade PostgreSQL."; } ]; - # Default config values are from `config/discourse_defaults.conf` # upstream. services.discourse.backendSettings = lib.mapAttrs (_: lib.mkDefault) { @@ -657,15 +679,20 @@ in }; services.redis.servers.discourse = - lib.mkIf (lib.elem cfg.redis.host [ "localhost" "127.0.0.1" ]) { - enable = true; - bind = cfg.redis.host; - port = cfg.backendSettings.redis_port; - }; + lib.mkIf + (lib.elem cfg.redis.host [ + "localhost" + "127.0.0.1" + ]) + { + enable = true; + bind = cfg.redis.host; + port = cfg.backendSettings.redis_port; + }; services.postgresql = lib.mkIf databaseActuallyCreateLocally { enable = true; - ensureUsers = [{ name = "discourse"; }]; + ensureUsers = [ { name = "discourse"; } ]; }; # The postgresql module doesn't currently support concepts like @@ -675,29 +702,29 @@ in let pgsql = config.services.postgresql; in - lib.mkIf databaseActuallyCreateLocally { - after = [ "postgresql.service" ]; - bindsTo = [ "postgresql.service" ]; - wantedBy = [ "discourse.service" ]; - partOf = [ "discourse.service" ]; - path = [ - pgsql.package - ]; - script = '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit + lib.mkIf databaseActuallyCreateLocally { + after = [ "postgresql.service" ]; + bindsTo = [ "postgresql.service" ]; + wantedBy = [ "discourse.service" ]; + partOf = [ "discourse.service" ]; + path = [ + pgsql.package + ]; + script = '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit - psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'discourse'" | grep -q 1 || psql -tAc 'CREATE DATABASE "discourse" OWNER "discourse"' - psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm" - psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS hstore" - ''; + psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'discourse'" | grep -q 1 || psql -tAc 'CREATE DATABASE "discourse" OWNER "discourse"' + psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm" + psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS hstore" + ''; - serviceConfig = { - User = pgsql.superUser; - Type = "oneshot"; - RemainAfterExit = true; - }; + serviceConfig = { + User = pgsql.superUser; + Type = "oneshot"; + RemainAfterExit = true; }; + }; systemd.services.discourse = { wantedBy = [ "multi-user.target" ]; @@ -706,12 +733,14 @@ in "postgresql.service" "discourse-postgresql.service" ]; - bindsTo = [ - "redis-discourse.service" - ] ++ lib.optionals (cfg.database.host == null) [ - "postgresql.service" - "discourse-postgresql.service" - ]; + bindsTo = + [ + "redis-discourse.service" + ] + ++ lib.optionals (cfg.database.host == null) [ + "postgresql.service" + "discourse-postgresql.service" + ]; path = cfg.package.runtimeDeps ++ [ postgresqlPackage pkgs.replace-secret @@ -727,20 +756,30 @@ in let discourseKeyValue = lib.generators.toKeyValue { mkKeyValue = lib.flip lib.generators.mkKeyValueDefault " = " { - mkValueString = v: with builtins; - if isInt v then toString v - else if isString v then ''"${v}"'' - else if true == v then "true" - else if false == v then "false" - else if null == v then "" - else if isFloat v then lib.strings.floatToString v - else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; + mkValueString = + v: + with builtins; + if isInt v then + toString v + else if isString v then + ''"${v}"'' + else if true == v then + "true" + else if false == v then + "false" + else if null == v then + "" + else if isFloat v then + lib.strings.floatToString v + else + throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty { }) v}"; }; }; discourseConf = pkgs.writeText "discourse.conf" (discourseKeyValue cfg.backendSettings); - mkSecretReplacement = file: + mkSecretReplacement = + file: lib.optionalString (file != null) '' replace-secret '${file}' '${file}' /run/discourse/config/discourse.conf ''; @@ -754,7 +793,8 @@ in discourse-rake admin:create_noninteractively ''; - in '' + in + '' set -o errexit -o pipefail -o nounset -o errtrace shopt -s inherit_errexit @@ -770,10 +810,7 @@ in ( umask u=rwx,g=,o= - ${utils.genJqSecretsReplacementSnippet - cfg.siteSettings - "/run/discourse/config/nixos_site_settings.json" - } + ${utils.genJqSecretsReplacementSnippet cfg.siteSettings "/run/discourse/config/nixos_site_settings.json"} install -T -m 0600 -o discourse ${discourseConf} /run/discourse/config/discourse.conf ${mkSecretReplacement cfg.database.passwordFile} ${mkSecretReplacement cfg.mail.outgoing.passwordFile} @@ -834,7 +871,7 @@ in recommendedGzipSettings = true; recommendedProxySettings = true; - upstreams.discourse.servers."unix:/run/discourse/sockets/unicorn.sock" = {}; + upstreams.discourse.servers."unix:/run/discourse/sockets/unicorn.sock" = { }; appendHttpConfig = '' # inactive means we keep stuff around for 1440m minutes regardless of last access (1 week) @@ -854,12 +891,18 @@ in locations = let - proxy = { extraConfig ? "" }: { - proxyPass = "http://discourse"; - extraConfig = extraConfig + '' - proxy_set_header X-Request-Start "t=''${msec}"; - ''; - }; + proxy = + { + extraConfig ? "", + }: + { + proxyPass = "http://discourse"; + extraConfig = + extraConfig + + '' + proxy_set_header X-Request-Start "t=''${msec}"; + ''; + }; cache = time: '' expires ${time}; add_header Cache-Control public,immutable; @@ -867,40 +910,46 @@ in cache_1y = cache "1y"; cache_1d = cache "1d"; in - { - "/".tryFiles = "$uri @discourse"; - "@discourse" = proxy {}; - "^~ /backups/".extraConfig = '' - internal; + { + "/".tryFiles = "$uri @discourse"; + "@discourse" = proxy { }; + "^~ /backups/".extraConfig = '' + internal; + ''; + "/favicon.ico" = { + return = "204"; + extraConfig = '' + access_log off; + log_not_found off; ''; - "/favicon.ico" = { - return = "204"; - extraConfig = '' - access_log off; - log_not_found off; - ''; - }; - "~ ^/uploads/short-url/" = proxy {}; - "~ ^/secure-media-uploads/" = proxy {}; - "~* (fonts|assets|plugins|uploads)/.*\.(eot|ttf|woff|woff2|ico|otf)$".extraConfig = cache_1y + '' + }; + "~ ^/uploads/short-url/" = proxy { }; + "~ ^/secure-media-uploads/" = proxy { }; + "~* (fonts|assets|plugins|uploads)/.*\.(eot|ttf|woff|woff2|ico|otf)$".extraConfig = + cache_1y + + '' add_header Access-Control-Allow-Origin *; ''; - "/srv/status" = proxy { - extraConfig = '' - access_log off; - log_not_found off; - ''; - }; - "~ ^/javascripts/".extraConfig = cache_1d; - "~ ^/assets/(?.+)$".extraConfig = cache_1y + '' + "/srv/status" = proxy { + extraConfig = '' + access_log off; + log_not_found off; + ''; + }; + "~ ^/javascripts/".extraConfig = cache_1d; + "~ ^/assets/(?.+)$".extraConfig = + cache_1y + + '' # asset pipeline enables this brotli_static on; gzip_static on; ''; - "~ ^/plugins/".extraConfig = cache_1y; - "~ /images/emoji/".extraConfig = cache_1y; - "~ ^/uploads/" = proxy { - extraConfig = cache_1y + '' + "~ ^/plugins/".extraConfig = cache_1y; + "~ /images/emoji/".extraConfig = cache_1y; + "~ ^/uploads/" = proxy { + extraConfig = + cache_1y + + '' proxy_set_header X-Sendfile-Type X-Accel-Redirect; proxy_set_header X-Accel-Mapping ${cfg.package}/share/discourse/public/=/downloads/; @@ -920,14 +969,15 @@ in try_files $uri =404; } ''; - }; - "~ ^/admin/backups/" = proxy { - extraConfig = '' - proxy_set_header X-Sendfile-Type X-Accel-Redirect; - proxy_set_header X-Accel-Mapping ${cfg.package}/share/discourse/public/=/downloads/; - ''; - }; - "~ ^/(svg-sprite/|letter_avatar/|letter_avatar_proxy/|user_avatar|highlight-js|stylesheets|theme-javascripts|favicon/proxied|service-worker)" = proxy { + }; + "~ ^/admin/backups/" = proxy { + extraConfig = '' + proxy_set_header X-Sendfile-Type X-Accel-Redirect; + proxy_set_header X-Accel-Mapping ${cfg.package}/share/discourse/public/=/downloads/; + ''; + }; + "~ ^/(svg-sprite/|letter_avatar/|letter_avatar_proxy/|user_avatar|highlight-js|stylesheets|theme-javascripts|favicon/proxied|service-worker)" = + proxy { extraConfig = '' # if Set-Cookie is in the response nothing gets cached # this is double bad cause we are not passing last modified in @@ -942,17 +992,17 @@ in proxy_cache_valid 200 301 302 7d; ''; }; - "/message-bus/" = proxy { - extraConfig = '' - proxy_http_version 1.1; - proxy_buffering off; - ''; - }; - "/downloads/".extraConfig = '' - internal; - alias ${cfg.package}/share/discourse/public/; + "/message-bus/" = proxy { + extraConfig = '' + proxy_http_version 1.1; + proxy_buffering off; ''; }; + "/downloads/".extraConfig = '' + internal; + alias ${cfg.package}/share/discourse/public/; + ''; + }; }; }; @@ -966,52 +1016,54 @@ in }; mail-receiver-json = json.generate "mail-receiver.json" mail-receiver-environment; in - { - before = [ "postfix.service" ]; - after = [ "discourse.service" ]; - wantedBy = [ "discourse.service" ]; - partOf = [ "discourse.service" ]; - path = [ - cfg.package.rake - pkgs.jq - ]; - preStart = lib.optionalString (cfg.mail.incoming.apiKeyFile == null) '' + { + before = [ "postfix.service" ]; + after = [ "discourse.service" ]; + wantedBy = [ "discourse.service" ]; + partOf = [ "discourse.service" ]; + path = [ + cfg.package.rake + pkgs.jq + ]; + preStart = lib.optionalString (cfg.mail.incoming.apiKeyFile == null) '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + + if [[ ! -e /var/lib/discourse-mail-receiver/api_key ]]; then + discourse-rake api_key:create_master[email-receiver] >/var/lib/discourse-mail-receiver/api_key + fi + ''; + script = + let + apiKeyPath = + if cfg.mail.incoming.apiKeyFile == null then + "/var/lib/discourse-mail-receiver/api_key" + else + cfg.mail.incoming.apiKeyFile; + in + '' set -o errexit -o pipefail -o nounset -o errtrace shopt -s inherit_errexit - if [[ ! -e /var/lib/discourse-mail-receiver/api_key ]]; then - discourse-rake api_key:create_master[email-receiver] >/var/lib/discourse-mail-receiver/api_key - fi - ''; - script = - let - apiKeyPath = - if cfg.mail.incoming.apiKeyFile == null then - "/var/lib/discourse-mail-receiver/api_key" - else - cfg.mail.incoming.apiKeyFile; - in '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - - api_key=$(<'${apiKeyPath}') - export api_key + api_key=$(<'${apiKeyPath}') + export api_key - jq <${mail-receiver-json} \ - '.DISCOURSE_API_KEY = $ENV.api_key' \ - >'/run/discourse-mail-receiver/mail-receiver-environment.json' - ''; + jq <${mail-receiver-json} \ + '.DISCOURSE_API_KEY = $ENV.api_key' \ + >'/run/discourse-mail-receiver/mail-receiver-environment.json' + ''; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - RuntimeDirectory = "discourse-mail-receiver"; - RuntimeDirectoryMode = "0700"; - StateDirectory = "discourse-mail-receiver"; - User = "discourse"; - Group = "discourse"; - }; - }); + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + RuntimeDirectory = "discourse-mail-receiver"; + RuntimeDirectoryMode = "0700"; + StateDirectory = "discourse-mail-receiver"; + User = "discourse"; + Group = "discourse"; + }; + } + ); services.discourse.siteSettings = { required = { @@ -1070,17 +1122,19 @@ in }; }; - users.users = { - discourse = { - group = "discourse"; - isSystemUser = true; - }; - } // (lib.optionalAttrs cfg.nginx.enable { - ${config.services.nginx.user}.extraGroups = [ "discourse" ]; - }); + users.users = + { + discourse = { + group = "discourse"; + isSystemUser = true; + }; + } + // (lib.optionalAttrs cfg.nginx.enable { + ${config.services.nginx.user}.extraGroups = [ "discourse" ]; + }); users.groups = { - discourse = {}; + discourse = { }; }; environment.systemPackages = [ diff --git a/nixos/modules/services/web-apps/documize.nix b/nixos/modules/services/web-apps/documize.nix index ab6d08f05992a..54feb6447ed42 100644 --- a/nixos/modules/services/web-apps/documize.nix +++ b/nixos/modules/services/web-apps/documize.nix @@ -1,16 +1,28 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: with lib; let cfg = config.services.documize; - mkParams = optional: concatMapStrings (name: let - predicate = optional -> cfg.${name} != null; - template = " -${name} '${toString cfg.${name}}'"; - in optionalString predicate template); - -in { + mkParams = + optional: + concatMapStrings ( + name: + let + predicate = optional -> cfg.${name} != null; + template = " -${name} '${toString cfg.${name}}'"; + in + optionalString predicate template + ); + +in +{ options.services.documize = { enable = mkEnableOption "Documize Wiki"; @@ -76,7 +88,13 @@ in { }; dbtype = mkOption { - type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ]; + type = types.enum [ + "mysql" + "percona" + "mariadb" + "postgresql" + "sqlserver" + ]; default = "postgresql"; description = '' Specify the database provider: `mysql`, `percona`, `mariadb`, `postgresql`, `sqlserver` @@ -117,8 +135,19 @@ in { serviceConfig = { ExecStart = concatStringsSep " " [ "${cfg.package}/bin/documize" - (mkParams false [ "db" "dbtype" "port" ]) - (mkParams true [ "offline" "location" "forcesslport" "key" "cert" "salt" ]) + (mkParams false [ + "db" + "dbtype" + "port" + ]) + (mkParams true [ + "offline" + "location" + "forcesslport" + "key" + "cert" + "salt" + ]) ]; Restart = "always"; DynamicUser = "yes"; diff --git a/nixos/modules/services/web-apps/eintopf.nix b/nixos/modules/services/web-apps/eintopf.nix index a2b304445597e..c814e58f6aca8 100644 --- a/nixos/modules/services/web-apps/eintopf.nix +++ b/nixos/modules/services/web-apps/eintopf.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.services.eintopf; -in { +in +{ options.services.eintopf = { enable = mkEnableOption "Eintopf community event calendar web app"; @@ -50,12 +56,12 @@ in { serviceConfig = { ExecStart = "${pkgs.eintopf}/bin/eintopf"; WorkingDirectory = "/var/lib/eintopf"; - StateDirectory = "eintopf" ; + StateDirectory = "eintopf"; EnvironmentFile = [ cfg.secrets ]; # hardening AmbientCapabilities = ""; - CapabilityBoundingSet = "" ; + CapabilityBoundingSet = ""; DevicePolicy = "closed"; DynamicUser = true; LockPersonality = true; @@ -75,12 +81,18 @@ in { ProtectProc = "invisible"; ProtectSystem = "strict"; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; UMask = "0077"; }; }; diff --git a/nixos/modules/services/web-apps/engelsystem.nix b/nixos/modules/services/web-apps/engelsystem.nix index b32e5e05953f7..07e1d8c735e9e 100644 --- a/nixos/modules/services/web-apps/engelsystem.nix +++ b/nixos/modules/services/web-apps/engelsystem.nix @@ -15,12 +15,16 @@ let mkPackageOption mkRenamedOptionModule types - ; + ; cfg = config.services.engelsystem; -in { +in +{ imports = [ - (mkRenamedOptionModule [ "services" "engelsystem" "config" ] [ "services" "engelsystem" "settings" ]) + (mkRenamedOptionModule + [ "services" "engelsystem" "config" ] + [ "services" "engelsystem" "settings" ] + ) ]; options.services.engelsystem = { @@ -94,18 +98,21 @@ in { services.mysql = mkIf cfg.createDatabase { enable = true; package = mkDefault pkgs.mariadb; - ensureUsers = [{ - name = "engelsystem"; - ensurePermissions = { "engelsystem.*" = "ALL PRIVILEGES"; }; - }]; + ensureUsers = [ + { + name = "engelsystem"; + ensurePermissions = { + "engelsystem.*" = "ALL PRIVILEGES"; + }; + } + ]; ensureDatabases = [ "engelsystem" ]; }; - environment.etc."engelsystem/config.php".source = - pkgs.writeText "config.php" '' - "$versionFile" fi ''; - after = [ "engelsystem-init.service" "mysql.service" ]; + after = [ + "engelsystem-init.service" + "mysql.service" + ]; }; - systemd.services."phpfpm-engelsystem".after = - [ "engelsystem-migrate.service" ]; + systemd.services."phpfpm-engelsystem".after = [ "engelsystem-migrate.service" ]; users.users.engelsystem = { isSystemUser = true; diff --git a/nixos/modules/services/web-apps/ethercalc.nix b/nixos/modules/services/web-apps/ethercalc.nix index fd6c6e05a8727..e9bd924041a54 100644 --- a/nixos/modules/services/web-apps/ethercalc.nix +++ b/nixos/modules/services/web-apps/ethercalc.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.ethercalc; -in { +in +{ options = { services.ethercalc = { enable = mkOption { @@ -43,13 +49,13 @@ in { config = mkIf cfg.enable { systemd.services.ethercalc = { description = "Ethercalc service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; serviceConfig = { - DynamicUser = true; - ExecStart = "${cfg.package}/bin/ethercalc --host ${cfg.host} --port ${toString cfg.port}"; - Restart = "always"; - StateDirectory = "ethercalc"; + DynamicUser = true; + ExecStart = "${cfg.package}/bin/ethercalc --host ${cfg.host} --port ${toString cfg.port}"; + Restart = "always"; + StateDirectory = "ethercalc"; WorkingDirectory = "/var/lib/ethercalc"; }; }; diff --git a/nixos/modules/services/web-apps/flarum.nix b/nixos/modules/services/web-apps/flarum.nix index 219fd713fa5c7..d7f558c73d07e 100644 --- a/nixos/modules/services/web-apps/flarum.nix +++ b/nixos/modules/services/web-apps/flarum.nix @@ -1,26 +1,34 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: with lib; let cfg = config.services.flarum; - flarumInstallConfig = pkgs.writeText "config.json" (builtins.toJSON { - debug = false; - offline = false; - - baseUrl = cfg.baseUrl; - databaseConfiguration = cfg.database; - adminUser = { - username = cfg.adminUser; - password = cfg.initialAdminPassword; - email = cfg.adminEmail; - }; - settings = { - forum_title = cfg.forumTitle; - }; - }); -in { + flarumInstallConfig = pkgs.writeText "config.json" ( + builtins.toJSON { + debug = false; + offline = false; + + baseUrl = cfg.baseUrl; + databaseConfiguration = cfg.database; + adminUser = { + username = cfg.adminUser; + password = cfg.initialAdminPassword; + email = cfg.adminEmail; + }; + settings = { + forum_title = cfg.forumTitle; + }; + } + ); +in +{ options.services.flarum = { enable = mkEnableOption "Flarum discussion platform"; @@ -83,7 +91,13 @@ in { }; database = mkOption rec { - type = with types; attrsOf (oneOf [str bool int]); + type = + with types; + attrsOf (oneOf [ + str + bool + int + ]); description = "MySQL database parameters"; default = { # the database driver; i.e. MySQL; MariaDB... @@ -125,7 +139,7 @@ in { homeMode = "755"; group = cfg.group; }; - users.groups.${cfg.group} = {}; + users.groups.${cfg.group} = { }; services.phpfpm.pools.flarum = { user = cfg.user; @@ -164,7 +178,7 @@ in { services.mysql = mkIf cfg.enable { enable = true; package = pkgs.mariadb; - ensureDatabases = [cfg.database.database]; + ensureDatabases = [ cfg.database.database ]; ensureUsers = [ { name = cfg.database.username; @@ -184,35 +198,41 @@ in { systemd.services.flarum-install = { description = "Flarum installation"; - requiredBy = ["phpfpm-flarum.service"]; - before = ["phpfpm-flarum.service"]; - requires = ["mysql.service"]; - after = ["mysql.service"]; + requiredBy = [ "phpfpm-flarum.service" ]; + before = [ "phpfpm-flarum.service" ]; + requires = [ "mysql.service" ]; + after = [ "mysql.service" ]; serviceConfig = { Type = "oneshot"; User = cfg.user; Group = cfg.group; }; - path = [config.services.phpfpm.phpPackage]; - script = '' - mkdir -p ${cfg.stateDir}/{extensions,public/assets/avatars} - mkdir -p ${cfg.stateDir}/storage/{cache,formatter,sessions,views} - cd ${cfg.stateDir} - cp -f ${cfg.package}/share/php/flarum/{extend.php,site.php,flarum} . - ln -sf ${cfg.package}/share/php/flarum/vendor . - ln -sf ${cfg.package}/share/php/flarum/public/index.php public/ - '' + optionalString (cfg.createDatabaseLocally && cfg.database.driver == "mysql") '' - if [ ! -f config.php ]; then - php flarum install --file=${flarumInstallConfig} - fi - '' + '' - if [ -f config.php ]; then - php flarum migrate - php flarum cache:clear - fi - ''; + path = [ config.services.phpfpm.phpPackage ]; + script = + '' + mkdir -p ${cfg.stateDir}/{extensions,public/assets/avatars} + mkdir -p ${cfg.stateDir}/storage/{cache,formatter,sessions,views} + cd ${cfg.stateDir} + cp -f ${cfg.package}/share/php/flarum/{extend.php,site.php,flarum} . + ln -sf ${cfg.package}/share/php/flarum/vendor . + ln -sf ${cfg.package}/share/php/flarum/public/index.php public/ + '' + + optionalString (cfg.createDatabaseLocally && cfg.database.driver == "mysql") '' + if [ ! -f config.php ]; then + php flarum install --file=${flarumInstallConfig} + fi + '' + + '' + if [ -f config.php ]; then + php flarum migrate + php flarum cache:clear + fi + ''; }; }; - meta.maintainers = with lib.maintainers; [ fsagbuya jasonodoom ]; + meta.maintainers = with lib.maintainers; [ + fsagbuya + jasonodoom + ]; } diff --git a/nixos/modules/services/web-apps/gotosocial.nix b/nixos/modules/services/web-apps/gotosocial.nix index aee1edf66a6a7..dc40fb8156f93 100644 --- a/nixos/modules/services/web-apps/gotosocial.nix +++ b/nixos/modules/services/web-apps/gotosocial.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.gotosocial; settingsFormat = pkgs.formats.yaml { }; @@ -98,17 +103,20 @@ in } ]; - services.gotosocial.settings = (lib.mapAttrs (name: lib.mkDefault) ( - defaultSettings // { - web-asset-base-dir = "${cfg.package}/share/gotosocial/web/assets/"; - web-template-base-dir = "${cfg.package}/share/gotosocial/web/template/"; - } - )) // (lib.optionalAttrs cfg.setupPostgresqlDB { - db-type = "postgres"; - db-address = "/run/postgresql"; - db-database = "gotosocial"; - db-user = "gotosocial"; - }); + services.gotosocial.settings = + (lib.mapAttrs (name: lib.mkDefault) ( + defaultSettings + // { + web-asset-base-dir = "${cfg.package}/share/gotosocial/web/assets/"; + web-template-base-dir = "${cfg.package}/share/gotosocial/web/template/"; + } + )) + // (lib.optionalAttrs cfg.setupPostgresqlDB { + db-type = "postgres"; + db-address = "/run/postgresql"; + db-database = "gotosocial"; + db-user = "gotosocial"; + }); environment.systemPackages = [ gotosocial-admin ]; @@ -136,8 +144,7 @@ in systemd.services.gotosocial = { description = "ActivityPub social network server"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ] - ++ lib.optional cfg.setupPostgresqlDB "postgresql.service"; + after = [ "network.target" ] ++ lib.optional cfg.setupPostgresqlDB "postgresql.service"; requires = lib.optional cfg.setupPostgresqlDB "postgresql.service"; restartTriggers = [ configFile ]; diff --git a/nixos/modules/services/web-apps/grocy.nix b/nixos/modules/services/web-apps/grocy.nix index eb4feb191aa59..a15da9d7c5dea 100644 --- a/nixos/modules/services/web-apps/grocy.nix +++ b/nixos/modules/services/web-apps/grocy.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.grocy; -in { +in +{ options.services.grocy = { enable = mkEnableOption "grocy"; @@ -27,7 +33,13 @@ in { }; phpfpm.settings = mkOption { - type = with types; attrsOf (oneOf [ int str bool ]); + type = + with types; + attrsOf (oneOf [ + int + str + bool + ]); default = { "pm" = "dynamic"; "php_admin_value[error_log]" = "stderr"; @@ -66,7 +78,24 @@ in { }; culture = mkOption { - type = types.enum [ "de" "en" "da" "en_GB" "es" "fr" "hu" "it" "nl" "no" "pl" "pt_BR" "ru" "sk_SK" "sv_SE" "tr" ]; + type = types.enum [ + "de" + "en" + "da" + "en_GB" + "es" + "fr" + "hu" + "it" + "nl" + "no" + "pl" + "pt_BR" + "ru" + "sk_SK" + "sv_SE" + "tr" + ]; default = "en"; description = '' Display language of the frontend. @@ -109,9 +138,12 @@ in { group = "nginx"; }; - systemd.tmpfiles.rules = map ( - dirName: "d '${cfg.dataDir}/${dirName}' - grocy nginx - -" - ) [ "viewcache" "plugins" "settingoverrides" "storage" ]; + systemd.tmpfiles.rules = map (dirName: "d '${cfg.dataDir}/${dirName}' - grocy nginx - -") [ + "viewcache" + "plugins" + "settingoverrides" + "storage" + ]; services.phpfpm.pools.grocy = { user = "grocy"; @@ -145,7 +177,8 @@ in { services.nginx = { enable = true; virtualHosts."${cfg.hostName}" = mkMerge [ - { root = "${cfg.package}/public"; + { + root = "${cfg.package}/public"; locations."/".extraConfig = '' rewrite ^ /index.php; ''; diff --git a/nixos/modules/services/web-apps/guacamole-client.nix b/nixos/modules/services/web-apps/guacamole-client.nix index 98a6cac34f3de..e263526e8c556 100644 --- a/nixos/modules/services/web-apps/guacamole-client.nix +++ b/nixos/modules/services/web-apps/guacamole-client.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.services.guacamole-client; @@ -44,9 +45,9 @@ in }; config = lib.mkIf cfg.enable { - environment.etc."guacamole/guacamole.properties" = lib.mkIf - (cfg.settings != {}) - { source = (settingsFormat.generate "guacamole.properties" cfg.settings); }; + environment.etc."guacamole/guacamole.properties" = lib.mkIf (cfg.settings != { }) { + source = (settingsFormat.generate "guacamole.properties" cfg.settings); + }; services = lib.mkIf cfg.enableWebserver { tomcat = { diff --git a/nixos/modules/services/web-apps/guacamole-server.nix b/nixos/modules/services/web-apps/guacamole-server.nix index 6f6d12e9939fe..0662394565c3c 100644 --- a/nixos/modules/services/web-apps/guacamole-server.nix +++ b/nixos/modules/services/web-apps/guacamole-server.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.services.guacamole-server; @@ -61,8 +62,12 @@ in config = lib.mkIf cfg.enable { # Setup configuration files. - environment.etc."guacamole/logback.xml" = lib.mkIf (cfg.logbackXml != null) { source = cfg.logbackXml; }; - environment.etc."guacamole/user-mapping.xml" = lib.mkIf (cfg.userMappingXml != null) { source = cfg.userMappingXml; }; + environment.etc."guacamole/logback.xml" = lib.mkIf (cfg.logbackXml != null) { + source = cfg.logbackXml; + }; + environment.etc."guacamole/user-mapping.xml" = lib.mkIf (cfg.userMappingXml != null) { + source = cfg.userMappingXml; + }; systemd.services.guacamole-server = { description = "Apache Guacamole server (guacd)"; diff --git a/nixos/modules/services/web-apps/healthchecks.nix b/nixos/modules/services/web-apps/healthchecks.nix index c7db999a62c21..866e59ffbf83a 100644 --- a/nixos/modules/services/web-apps/healthchecks.nix +++ b/nixos/modules/services/web-apps/healthchecks.nix @@ -1,4 +1,11 @@ -{ config, lib, options, pkgs, buildEnv, ... }: +{ + config, + lib, + options, + pkgs, + buildEnv, + ... +}: with lib; @@ -13,7 +20,9 @@ let STATIC_ROOT = cfg.dataDir + "/static"; } // lib.filterAttrs (_: v: !builtins.isNull v) cfg.settings; - environmentFile = pkgs.writeText "healthchecks-environment" (lib.generators.toKeyValue { } environment); + environmentFile = pkgs.writeText "healthchecks-environment" ( + lib.generators.toKeyValue { } environment + ); healthchecksManageScript = pkgs.writeShellScriptBin "healthchecks-manage" '' sudo=exec @@ -157,17 +166,18 @@ in }; DB = mkOption { - type = types.enum [ "sqlite" "postgres" "mysql" ]; + type = types.enum [ + "sqlite" + "postgres" + "mysql" + ]; default = "sqlite"; description = "Database engine to use."; }; DB_NAME = mkOption { type = types.str; - default = - if settings.config.DB == "sqlite" - then "${cfg.dataDir}/healthchecks.sqlite" - else "hc"; + default = if settings.config.DB == "sqlite" then "${cfg.dataDir}/healthchecks.sqlite" else "hc"; defaultText = lib.literalExpression '' if config.${settings.options.DB} == "sqlite" then "''${config.${opt.dataDir}}/healthchecks.sqlite" @@ -187,7 +197,10 @@ in description = "Target for all Healthchecks services"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; }; systemd.services = @@ -222,10 +235,12 @@ in wantedBy = [ "healthchecks.target" ]; after = [ "healthchecks-migration.service" ]; - preStart = '' - ${pkg}/opt/healthchecks/manage.py collectstatic --no-input - ${pkg}/opt/healthchecks/manage.py remove_stale_contenttypes --no-input - '' + lib.optionalString (cfg.settings.DEBUG != "True") "${pkg}/opt/healthchecks/manage.py compress"; + preStart = + '' + ${pkg}/opt/healthchecks/manage.py collectstatic --no-input + ${pkg}/opt/healthchecks/manage.py remove_stale_contenttypes --no-input + '' + + lib.optionalString (cfg.settings.DEBUG != "True") "${pkg}/opt/healthchecks/manage.py compress"; serviceConfig = commonConfig // { Restart = "always"; @@ -265,19 +280,17 @@ in }; users.users = optionalAttrs (cfg.user == defaultUser) { - ${defaultUser} = - { - description = "healthchecks service owner"; - isSystemUser = true; - group = defaultUser; - }; + ${defaultUser} = { + description = "healthchecks service owner"; + isSystemUser = true; + group = defaultUser; + }; }; users.groups = optionalAttrs (cfg.user == defaultUser) { - ${defaultUser} = - { - members = [ defaultUser ]; - }; + ${defaultUser} = { + members = [ defaultUser ]; + }; }; }; } diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix index 36d79a4153ece..817114cb452ca 100644 --- a/nixos/modules/services/web-apps/hedgedoc.nix +++ b/nixos/modules/services/web-apps/hedgedoc.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) mkOption types literalExpression; @@ -9,20 +14,26 @@ let # versionAtLeast statement remains set to 21.03 for backwards compatibility. # See https://github.com/NixOS/nixpkgs/pull/108899 and # https://github.com/NixOS/rfcs/blob/master/rfcs/0080-nixos-release-schedule.md. - name = if lib.versionAtLeast config.system.stateVersion "21.03" then - "hedgedoc" - else - "codimd"; + name = if lib.versionAtLeast config.system.stateVersion "21.03" then "hedgedoc" else "codimd"; settingsFormat = pkgs.formats.json { }; in { - meta.maintainers = with lib.maintainers; [ SuperSandro2000 h7x4 ]; + meta.maintainers = with lib.maintainers; [ + SuperSandro2000 + h7x4 + ]; imports = [ (lib.mkRenamedOptionModule [ "services" "codimd" ] [ "services" "hedgedoc" ]) - (lib.mkRenamedOptionModule [ "services" "hedgedoc" "configuration" ] [ "services" "hedgedoc" "settings" ]) - (lib.mkRenamedOptionModule [ "services" "hedgedoc" "groups" ] [ "users" "users" "hedgedoc" "extraGroups" ]) + (lib.mkRenamedOptionModule + [ "services" "hedgedoc" "configuration" ] + [ "services" "hedgedoc" "settings" ] + ) + (lib.mkRenamedOptionModule + [ "services" "hedgedoc" "groups" ] + [ "users" "users" "hedgedoc" "extraGroups" ] + ) (lib.mkRemovedOptionModule [ "services" "hedgedoc" "workDir" ] '' This option has been removed in favor of systemd managing the state directory. @@ -110,7 +121,10 @@ in defaultText = literalExpression '' with config.services.hedgedoc.settings; [ host ] ++ lib.optionals (domain != null) [ domain ] ''; - example = [ "localhost" "hedgedoc.org" ]; + example = [ + "localhost" + "hedgedoc.org" + ]; description = '' List of domains to whitelist. ''; diff --git a/nixos/modules/services/web-apps/hledger-web.nix b/nixos/modules/services/web-apps/hledger-web.nix index 32d9df4e8458f..bf7c525ba7998 100644 --- a/nixos/modules/services/web-apps/hledger-web.nix +++ b/nixos/modules/services/web-apps/hledger-web.nix @@ -1,8 +1,14 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: with lib; let cfg = config.services.hledger-web; -in { +in +{ options.services.hledger-web = { enable = mkEnableOption "hledger-web service"; @@ -27,7 +33,12 @@ in { }; allow = mkOption { - type = types.enum [ "view" "add" "edit" "sandstorm" ]; + type = types.enum [ + "view" + "add" + "edit" + "sandstorm" + ]; default = "view"; description = '' User's access level for changing data. @@ -69,7 +80,7 @@ in { extraOptions = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "--forecast" ]; description = '' Extra command line arguments to pass to hledger-web. @@ -79,8 +90,11 @@ in { }; imports = [ - (mkRemovedOptionModule [ "services" "hledger-web" "capabilities" ] - "This option has been replaced by new option `services.hledger-web.allow`.") + (mkRemovedOptionModule [ + "services" + "hledger-web" + "capabilities" + ] "This option has been replaced by new option `services.hledger-web.allow`.") ]; config = mkIf cfg.enable { @@ -93,39 +107,49 @@ in { useDefaultShell = true; }; - users.groups.hledger = {}; - - systemd.services.hledger-web = let - serverArgs = with cfg; escapeShellArgs ([ - "--serve" - "--host=${host}" - "--port=${toString port}" - "--allow=${allow}" - (optionalString (cfg.baseUrl != null) "--base-url=${cfg.baseUrl}") - (optionalString (cfg.serveApi) "--serve-api") - ] ++ (map (f: "--file=${stateDir}/${f}") cfg.journalFiles) - ++ extraOptions); - in { - description = "hledger-web - web-app for the hledger accounting tool."; - documentation = [ "https://hledger.org/hledger-web.html" ]; - wantedBy = [ "multi-user.target" ]; - after = [ "networking.target" ]; - serviceConfig = mkMerge [ - { - ExecStart = "${pkgs.hledger-web}/bin/hledger-web ${serverArgs}"; - Restart = "always"; - WorkingDirectory = cfg.stateDir; - User = "hledger"; - Group = "hledger"; - PrivateTmp = true; - } - (mkIf (cfg.stateDir == "/var/lib/hledger-web") { - StateDirectory = "hledger-web"; - }) - ]; - }; + users.groups.hledger = { }; + + systemd.services.hledger-web = + let + serverArgs = + with cfg; + escapeShellArgs ( + [ + "--serve" + "--host=${host}" + "--port=${toString port}" + "--allow=${allow}" + (optionalString (cfg.baseUrl != null) "--base-url=${cfg.baseUrl}") + (optionalString (cfg.serveApi) "--serve-api") + ] + ++ (map (f: "--file=${stateDir}/${f}") cfg.journalFiles) + ++ extraOptions + ); + in + { + description = "hledger-web - web-app for the hledger accounting tool."; + documentation = [ "https://hledger.org/hledger-web.html" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "networking.target" ]; + serviceConfig = mkMerge [ + { + ExecStart = "${pkgs.hledger-web}/bin/hledger-web ${serverArgs}"; + Restart = "always"; + WorkingDirectory = cfg.stateDir; + User = "hledger"; + Group = "hledger"; + PrivateTmp = true; + } + (mkIf (cfg.stateDir == "/var/lib/hledger-web") { + StateDirectory = "hledger-web"; + }) + ]; + }; }; - meta.maintainers = with lib.maintainers; [ marijanp erictapen ]; + meta.maintainers = with lib.maintainers; [ + marijanp + erictapen + ]; } diff --git a/nixos/modules/services/web-apps/honk.nix b/nixos/modules/services/web-apps/honk.nix index e6a4461921224..15d8b5acc3b2b 100644 --- a/nixos/modules/services/web-apps/honk.nix +++ b/nixos/modules/services/web-apps/honk.nix @@ -1,22 +1,25 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let cfg = config.services.honk; - honk-initdb-script = cfg: pkgs.writeShellApplication { - name = "honk-initdb-script"; + honk-initdb-script = + cfg: + pkgs.writeShellApplication { + name = "honk-initdb-script"; - runtimeInputs = with pkgs; [ coreutils ]; + runtimeInputs = with pkgs; [ coreutils ]; - text = '' - PW=$(cat "$CREDENTIALS_DIRECTORY/honk_passwordFile") + text = '' + PW=$(cat "$CREDENTIALS_DIRECTORY/honk_passwordFile") - echo -e "${cfg.username}\n''$PW\n${cfg.host}:${toString cfg.port}\n${cfg.servername}" | ${lib.getExe cfg.package} -datadir "$STATE_DIRECTORY" init - ''; - }; + echo -e "${cfg.username}\n''$PW\n${cfg.host}:${toString cfg.port}\n${cfg.servername}" | ${lib.getExe cfg.package} -datadir "$STATE_DIRECTORY" init + ''; + }; in { options = { @@ -129,7 +132,9 @@ in preStart = '' mkdir -p $STATE_DIRECTORY/views ${lib.optionalString (cfg.extraJS != null) "ln -fs ${cfg.extraJS} $STATE_DIRECTORY/views/local.js"} - ${lib.optionalString (cfg.extraCSS != null) "ln -fs ${cfg.extraCSS} $STATE_DIRECTORY/views/local.css"} + ${lib.optionalString ( + cfg.extraCSS != null + ) "ln -fs ${cfg.extraCSS} $STATE_DIRECTORY/views/local.css"} ${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk backup $STATE_DIRECTORY/backup ${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk upgrade ${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk cleanup diff --git a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix index 862ba730abfc5..680257d23b21a 100644 --- a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix +++ b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix @@ -1,4 +1,11 @@ -{ config, lib, pkgs, ... }: with lib; let +{ + config, + lib, + pkgs, + ... +}: +with lib; +let cfg = config.services.icingaweb2; fpm = config.services.phpfpm.pools.${poolName}; poolName = "icingaweb2"; @@ -8,7 +15,8 @@ module_path = "${pkgs.icingaweb2}/modules"; }; }; -in { +in +{ meta.maintainers = teams.helsinki-systems.members; options.services.icingaweb2 = with types; { @@ -18,8 +26,8 @@ in { type = str; default = poolName; description = '' - Name of existing PHP-FPM pool that is used to run Icingaweb2. - If not specified, a pool will automatically created with default values. + Name of existing PHP-FPM pool that is used to run Icingaweb2. + If not specified, a pool will automatically created with default values. ''; }; @@ -58,7 +66,7 @@ in { modulePackages = mkOption { type = attrsOf package; - default = {}; + default = { }; example = literalExpression '' { "snow" = icingaweb2Modules.theme-snow; @@ -178,7 +186,11 @@ in { ${poolName} = { user = "icingaweb2"; phpEnv = { - ICINGAWEB_LIBDIR = toString (pkgs.linkFarm "icingaweb2-libdir" (mapAttrsToList (name: path: { inherit name path; }) cfg.libraryPaths)); + ICINGAWEB_LIBDIR = toString ( + pkgs.linkFarm "icingaweb2-libdir" ( + mapAttrsToList (name: path: { inherit name path; }) cfg.libraryPaths + ) + ); }; phpPackage = pkgs.php.withExtensions ({ enabled, all }: [ all.imagick ] ++ enabled); phpOptions = '' @@ -233,11 +245,19 @@ in { }; # /etc/icingaweb2 - environment.etc = let - doModule = name: optionalAttrs (cfg.modules.${name}.enable) { "icingaweb2/enabledModules/${name}".source = "${pkgs.icingaweb2}/modules/${name}"; }; - in {} + environment.etc = + let + doModule = + name: + optionalAttrs (cfg.modules.${name}.enable) { + "icingaweb2/enabledModules/${name}".source = "${pkgs.icingaweb2}/modules/${name}"; + }; + in + { } # Module packages - // (mapAttrs' (k: v: nameValuePair "icingaweb2/enabledModules/${k}" { source = v; }) cfg.modulePackages) + // (mapAttrs' ( + k: v: nameValuePair "icingaweb2/enabledModules/${k}" { source = v; } + ) cfg.modulePackages) # Built-in modules // doModule "doc" // doModule "migrate" @@ -245,14 +265,24 @@ in { // doModule "test" // doModule "translation" # Configs - // optionalAttrs (cfg.generalConfig != null) { "icingaweb2/config.ini".text = generators.toINI {} (defaultConfig // cfg.generalConfig); } - // optionalAttrs (cfg.resources != null) { "icingaweb2/resources.ini".text = generators.toINI {} cfg.resources; } - // optionalAttrs (cfg.authentications != null) { "icingaweb2/authentication.ini".text = generators.toINI {} cfg.authentications; } - // optionalAttrs (cfg.groupBackends != null) { "icingaweb2/groups.ini".text = generators.toINI {} cfg.groupBackends; } - // optionalAttrs (cfg.roles != null) { "icingaweb2/roles.ini".text = generators.toINI {} cfg.roles; }; + // optionalAttrs (cfg.generalConfig != null) { + "icingaweb2/config.ini".text = generators.toINI { } (defaultConfig // cfg.generalConfig); + } + // optionalAttrs (cfg.resources != null) { + "icingaweb2/resources.ini".text = generators.toINI { } cfg.resources; + } + // optionalAttrs (cfg.authentications != null) { + "icingaweb2/authentication.ini".text = generators.toINI { } cfg.authentications; + } + // optionalAttrs (cfg.groupBackends != null) { + "icingaweb2/groups.ini".text = generators.toINI { } cfg.groupBackends; + } + // optionalAttrs (cfg.roles != null) { + "icingaweb2/roles.ini".text = generators.toINI { } cfg.roles; + }; # User and group - users.groups.icingaweb2 = {}; + users.groups.icingaweb2 = { }; users.users.icingaweb2 = { description = "Icingaweb2 service user"; group = "icingaweb2"; diff --git a/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix b/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix index e9c1d4ffe5eab..8ca1d9d071034 100644 --- a/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix +++ b/nixos/modules/services/web-apps/icingaweb2/module-monitoring.nix @@ -1,4 +1,11 @@ -{ config, lib, pkgs, ... }: with lib; let +{ + config, + lib, + pkgs, + ... +}: +with lib; +let cfg = config.services.icingaweb2.modules.monitoring; configIni = '' @@ -6,30 +13,37 @@ protected_customvars = "${concatStringsSep "," cfg.generalConfig.protectedVars}" ''; - backendsIni = let - formatBool = b: if b then "1" else "0"; - in concatStringsSep "\n" (mapAttrsToList (name: config: '' - [${name}] - type = "ido" - resource = "${config.resource}" - disabled = "${formatBool config.disabled}" - '') cfg.backends); - - transportsIni = concatStringsSep "\n" (mapAttrsToList (name: config: '' - [${name}] - type = "${config.type}" - ${optionalString (config.instance != null) ''instance = "${config.instance}"''} - ${optionalString (config.type == "local" || config.type == "remote") ''path = "${config.path}"''} - ${optionalString (config.type != "local") '' - host = "${config.host}" - ${optionalString (config.port != null) ''port = "${toString config.port}"''} - user${optionalString (config.type == "api") "name"} = "${config.username}" - ''} - ${optionalString (config.type == "api") ''password = "${config.password}"''} - ${optionalString (config.type == "remote") ''resource = "${config.resource}"''} - '') cfg.transports); - -in { + backendsIni = + let + formatBool = b: if b then "1" else "0"; + in + concatStringsSep "\n" ( + mapAttrsToList (name: config: '' + [${name}] + type = "ido" + resource = "${config.resource}" + disabled = "${formatBool config.disabled}" + '') cfg.backends + ); + + transportsIni = concatStringsSep "\n" ( + mapAttrsToList (name: config: '' + [${name}] + type = "${config.type}" + ${optionalString (config.instance != null) ''instance = "${config.instance}"''} + ${optionalString (config.type == "local" || config.type == "remote") ''path = "${config.path}"''} + ${optionalString (config.type != "local") '' + host = "${config.host}" + ${optionalString (config.port != null) ''port = "${toString config.port}"''} + user${optionalString (config.type == "api") "name"} = "${config.username}" + ''} + ${optionalString (config.type == "api") ''password = "${config.password}"''} + ${optionalString (config.type == "remote") ''resource = "${config.resource}"''} + '') cfg.transports + ); + +in +{ options.services.icingaweb2.modules.monitoring = with types; { enable = mkOption { type = bool; @@ -46,7 +60,11 @@ in { protectedVars = mkOption { type = listOf str; - default = [ "*pw*" "*pass*" "community" ]; + default = [ + "*pw*" + "*pass*" + "community" + ]; description = "List of string patterns for custom variables which should be excluded from user’s view."; }; }; @@ -58,29 +76,38 @@ in { }; backends = mkOption { - default = { icinga = { resource = "icinga_ido"; }; }; - description = "Monitoring backends to define"; - type = attrsOf (submodule ({ name, ... }: { - options = { - name = mkOption { - visible = false; - default = name; - type = str; - description = "Name of this backend"; - }; - - resource = mkOption { - type = str; - description = "Name of the IDO resource"; - }; - - disabled = mkOption { - type = bool; - default = false; - description = "Disable this backend"; - }; + default = { + icinga = { + resource = "icinga_ido"; }; - })); + }; + description = "Monitoring backends to define"; + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + name = mkOption { + visible = false; + default = name; + type = str; + description = "Name of this backend"; + }; + + resource = mkOption { + type = str; + description = "Name of the IDO resource"; + }; + + disabled = mkOption { + type = bool; + default = false; + description = "Disable this backend"; + }; + }; + } + ) + ); }; mutableTransports = mkOption { @@ -90,68 +117,88 @@ in { }; transports = mkOption { - default = {}; + default = { }; description = "Command transports to define"; - type = attrsOf (submodule ({ name, ... }: { - options = { - name = mkOption { - visible = false; - default = name; - type = str; - description = "Name of this transport"; - }; - - type = mkOption { - type = enum [ "api" "local" "remote" ]; - default = "api"; - description = "Type of this transport"; - }; - - instance = mkOption { - type = nullOr str; - default = null; - description = "Assign a icinga instance to this transport"; - }; - - path = mkOption { - type = str; - description = "Path to the socket for local or remote transports"; - }; - - host = mkOption { - type = str; - description = "Host for the api or remote transport"; - }; - - port = mkOption { - type = nullOr str; - default = null; - description = "Port to connect to for the api or remote transport"; - }; - - username = mkOption { - type = str; - description = "Username for the api or remote transport"; - }; - - password = mkOption { - type = str; - description = "Password for the api transport"; - }; - - resource = mkOption { - type = str; - description = "SSH identity resource for the remote transport"; - }; - }; - })); + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + name = mkOption { + visible = false; + default = name; + type = str; + description = "Name of this transport"; + }; + + type = mkOption { + type = enum [ + "api" + "local" + "remote" + ]; + default = "api"; + description = "Type of this transport"; + }; + + instance = mkOption { + type = nullOr str; + default = null; + description = "Assign a icinga instance to this transport"; + }; + + path = mkOption { + type = str; + description = "Path to the socket for local or remote transports"; + }; + + host = mkOption { + type = str; + description = "Host for the api or remote transport"; + }; + + port = mkOption { + type = nullOr str; + default = null; + description = "Port to connect to for the api or remote transport"; + }; + + username = mkOption { + type = str; + description = "Username for the api or remote transport"; + }; + + password = mkOption { + type = str; + description = "Password for the api transport"; + }; + + resource = mkOption { + type = str; + description = "SSH identity resource for the remote transport"; + }; + }; + } + ) + ); }; }; config = mkIf (config.services.icingaweb2.enable && cfg.enable) { - environment.etc = { "icingaweb2/enabledModules/monitoring" = { source = "${pkgs.icingaweb2}/modules/monitoring"; }; } - // optionalAttrs (!cfg.generalConfig.mutable) { "icingaweb2/modules/monitoring/config.ini".text = configIni; } - // optionalAttrs (!cfg.mutableBackends) { "icingaweb2/modules/monitoring/backends.ini".text = backendsIni; } - // optionalAttrs (!cfg.mutableTransports) { "icingaweb2/modules/monitoring/commandtransports.ini".text = transportsIni; }; + environment.etc = + { + "icingaweb2/enabledModules/monitoring" = { + source = "${pkgs.icingaweb2}/modules/monitoring"; + }; + } + // optionalAttrs (!cfg.generalConfig.mutable) { + "icingaweb2/modules/monitoring/config.ini".text = configIni; + } + // optionalAttrs (!cfg.mutableBackends) { + "icingaweb2/modules/monitoring/backends.ini".text = backendsIni; + } + // optionalAttrs (!cfg.mutableTransports) { + "icingaweb2/modules/monitoring/commandtransports.ini".text = transportsIni; + }; }; } diff --git a/nixos/modules/services/web-apps/invidious.nix b/nixos/modules/services/web-apps/invidious.nix index e4223cf1e8b12..1429a131e5d13 100644 --- a/nixos/modules/services/web-apps/invidious.nix +++ b/nixos/modules/services/web-apps/invidious.nix @@ -1,4 +1,10 @@ -{ lib, config, pkgs, options, ... }: +{ + lib, + config, + pkgs, + options, + ... +}: let cfg = config.services.invidious; # To allow injecting secrets with jq, json (instead of yaml) is used @@ -30,10 +36,18 @@ let ProtectHome = true; ProtectKernelLogs = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; # Because of various issues Invidious must be restarted often, at least once a day, ideally # every hour. @@ -45,7 +59,8 @@ let RuntimeRandomizedExtraSec = lib.mkDefault "5min"; }; }; - mkInvidiousService = scaleIndex: + mkInvidiousService = + scaleIndex: lib.foldl' lib.recursiveUpdate commonInvidousServiceConfig [ # only generate the hmac file in the first service (lib.optionalAttrs (scaleIndex == 0) { @@ -62,76 +77,77 @@ let wants = commonInvidousServiceConfig.wants ++ [ "invidious.service" ]; }) { - script = '' - configParts=() - '' - # autogenerated hmac_key - + lib.optionalString generateHmac '' - configParts+=("$(${pkgs.jq}/bin/jq -R '{"hmac_key":.}' <"${generatedHmacKeyFile}")") - '' - # generated settings file - + '' - configParts+=("$(< ${lib.escapeShellArg settingsFile})") - '' - # optional database password file - + lib.optionalString (cfg.database.host != null) '' - configParts+=("$(${pkgs.jq}/bin/jq -R '{"db":{"password":.}}' ${lib.escapeShellArg cfg.database.passwordFile})") - '' - # optional extra settings file - + lib.optionalString (cfg.extraSettingsFile != null) '' - configParts+=("$(< ${lib.escapeShellArg cfg.extraSettingsFile})") - '' - # explicitly specified hmac key file - + lib.optionalString (cfg.hmacKeyFile != null) '' - configParts+=("$(< ${lib.escapeShellArg cfg.hmacKeyFile})") - '' - # configure threads for secondary instances - + lib.optionalString (scaleIndex > 0) '' - configParts+=('{"channel_threads":0, "feed_threads":0}') - '' - # configure different ports for the instances - + '' - configParts+=('{"port":${toString (cfg.port + scaleIndex)}}') - '' - # merge all parts into a single configuration with later elements overriding previous elements - + '' - export INVIDIOUS_CONFIG="$(${pkgs.jq}/bin/jq -s 'reduce .[] as $item ({}; . * $item)' <<<"''${configParts[*]}")" - exec ${cfg.package}/bin/invidious - ''; + script = + '' + configParts=() + '' + # autogenerated hmac_key + + lib.optionalString generateHmac '' + configParts+=("$(${pkgs.jq}/bin/jq -R '{"hmac_key":.}' <"${generatedHmacKeyFile}")") + '' + # generated settings file + + '' + configParts+=("$(< ${lib.escapeShellArg settingsFile})") + '' + # optional database password file + + lib.optionalString (cfg.database.host != null) '' + configParts+=("$(${pkgs.jq}/bin/jq -R '{"db":{"password":.}}' ${lib.escapeShellArg cfg.database.passwordFile})") + '' + # optional extra settings file + + lib.optionalString (cfg.extraSettingsFile != null) '' + configParts+=("$(< ${lib.escapeShellArg cfg.extraSettingsFile})") + '' + # explicitly specified hmac key file + + lib.optionalString (cfg.hmacKeyFile != null) '' + configParts+=("$(< ${lib.escapeShellArg cfg.hmacKeyFile})") + '' + # configure threads for secondary instances + + lib.optionalString (scaleIndex > 0) '' + configParts+=('{"channel_threads":0, "feed_threads":0}') + '' + # configure different ports for the instances + + '' + configParts+=('{"port":${toString (cfg.port + scaleIndex)}}') + '' + # merge all parts into a single configuration with later elements overriding previous elements + + '' + export INVIDIOUS_CONFIG="$(${pkgs.jq}/bin/jq -s 'reduce .[] as $item ({}; . * $item)' <<<"''${configParts[*]}")" + exec ${cfg.package}/bin/invidious + ''; } ]; serviceConfig = { - systemd.services = builtins.listToAttrs (builtins.genList - (scaleIndex: { + systemd.services = builtins.listToAttrs ( + builtins.genList (scaleIndex: { name = "invidious" + lib.optionalString (scaleIndex > 0) "-${builtins.toString scaleIndex}"; value = mkInvidiousService scaleIndex; - }) - cfg.serviceScale); + }) cfg.serviceScale + ); - services.invidious.settings = { - # Automatically initialises and migrates the database if necessary - check_tables = true; - - db = { - user = lib.mkDefault ( - if (lib.versionAtLeast config.system.stateVersion "24.05") - then "invidious" - else "kemal" - ); - dbname = lib.mkDefault "invidious"; - port = cfg.database.port; - # Blank for unix sockets, see - # https://github.com/will/crystal-pg/blob/1548bb255210/src/pq/conninfo.cr#L100-L108 - host = lib.optionalString (cfg.database.host != null) cfg.database.host; - # Not needed because peer authentication is enabled - password = lib.mkIf (cfg.database.host == null) ""; - }; - - host_binding = cfg.address; - } // (lib.optionalAttrs (cfg.domain != null) { - inherit (cfg) domain; - }); + services.invidious.settings = + { + # Automatically initialises and migrates the database if necessary + check_tables = true; + + db = { + user = lib.mkDefault ( + if (lib.versionAtLeast config.system.stateVersion "24.05") then "invidious" else "kemal" + ); + dbname = lib.mkDefault "invidious"; + port = cfg.database.port; + # Blank for unix sockets, see + # https://github.com/will/crystal-pg/blob/1548bb255210/src/pq/conninfo.cr#L100-L108 + host = lib.optionalString (cfg.database.host != null) cfg.database.host; + # Not needed because peer authentication is enabled + password = lib.mkIf (cfg.database.host == null) ""; + }; + + host_binding = cfg.address; + } + // (lib.optionalAttrs (cfg.domain != null) { + inherit (cfg) domain; + }); assertions = [ { @@ -166,7 +182,10 @@ let services.postgresql = { enable = true; - ensureUsers = lib.singleton { name = cfg.settings.db.user; ensureDBOwnership = true; }; + ensureUsers = lib.singleton { + name = cfg.settings.db.user; + ensureDBOwnership = true; + }; ensureDatabases = lib.singleton cfg.settings.db.dbname; }; }; @@ -227,8 +246,16 @@ let ProtectKernelLogs = true; CapabilityBoundingSet = ""; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" "@network-io" ]; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + "@network-io" + ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; }; }; @@ -240,34 +267,35 @@ let external_port = 80; }; - services.nginx = let - ip = if cfg.address == "0.0.0.0" then "127.0.0.1" else cfg.address; - in - { - enable = true; - virtualHosts.${cfg.domain} = { - locations."/".proxyPass = - if cfg.serviceScale == 1 then - "http://${ip}:${toString cfg.port}" - else "http://upstream-invidious"; - - enableACME = lib.mkDefault true; - forceSSL = lib.mkDefault true; - }; - upstreams = lib.mkIf (cfg.serviceScale > 1) { - "upstream-invidious".servers = builtins.listToAttrs (builtins.genList - (scaleIndex: { - name = "${ip}:${toString (cfg.port + scaleIndex)}"; - value = { }; - }) - cfg.serviceScale); + services.nginx = + let + ip = if cfg.address == "0.0.0.0" then "127.0.0.1" else cfg.address; + in + { + enable = true; + virtualHosts.${cfg.domain} = { + locations."/".proxyPass = + if cfg.serviceScale == 1 then "http://${ip}:${toString cfg.port}" else "http://upstream-invidious"; + + enableACME = lib.mkDefault true; + forceSSL = lib.mkDefault true; + }; + upstreams = lib.mkIf (cfg.serviceScale > 1) { + "upstream-invidious".servers = builtins.listToAttrs ( + builtins.genList (scaleIndex: { + name = "${ip}:${toString (cfg.port + scaleIndex)}"; + value = { }; + }) cfg.serviceScale + ); + }; }; - }; - assertions = [{ - assertion = cfg.domain != null; - message = "To use services.invidious.nginx, you need to set services.invidious.domain"; - }]; + assertions = [ + { + assertion = cfg.domain != null; + message = "To use services.invidious.nginx, you need to set services.invidious.domain"; + } + ]; }; in { @@ -453,11 +481,13 @@ in }; }; - config = lib.mkIf cfg.enable (lib.mkMerge [ - serviceConfig - localDatabaseConfig - nginxConfig - ytproxyConfig - sigHelperConfig - ]); + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + serviceConfig + localDatabaseConfig + nginxConfig + ytproxyConfig + sigHelperConfig + ] + ); } diff --git a/nixos/modules/services/web-apps/invoiceplane.nix b/nixos/modules/services/web-apps/invoiceplane.nix index 3b0a177306645..8904c41beea7e 100644 --- a/nixos/modules/services/web-apps/invoiceplane.nix +++ b/nixos/modules/services/web-apps/invoiceplane.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -8,72 +13,91 @@ let user = "invoiceplane"; webserver = config.services.${cfg.webserver}; - invoiceplane-config = hostName: cfg: pkgs.writeText "ipconfig.php" '' - IP_URL=http://${hostName} - ENABLE_DEBUG=false - DISABLE_SETUP=false - REMOVE_INDEXPHP=false - DB_HOSTNAME=${cfg.database.host} - DB_USERNAME=${cfg.database.user} - # NOTE: file_get_contents adds newline at the end of returned string - DB_PASSWORD=${optionalString (cfg.database.passwordFile != null) "trim(file_get_contents('${cfg.database.passwordFile}'), \"\\r\\n\")"} - DB_DATABASE=${cfg.database.name} - DB_PORT=${toString cfg.database.port} - SESS_EXPIRATION=864000 - ENABLE_INVOICE_DELETION=false - DISABLE_READ_ONLY=false - ENCRYPTION_KEY= - ENCRYPTION_CIPHER=AES-256 - SETUP_COMPLETED=false - REMOVE_INDEXPHP=true - ''; - - mkPhpValue = v: - if isString v then escapeShellArg v - # NOTE: If any value contains a , (comma) this will not get escaped - else if isList v && strings.isConvertibleWithToString v then escapeShellArg (concatMapStringsSep "," toString v) - else if isInt v then toString v - else if isBool v then boolToString v - else abort "The Invoiceplane config value ${lib.generators.toPretty {} v} can not be encoded." - ; - - extraConfig = hostName: cfg: let - settings = mapAttrsToList (k: v: "${k}=${mkPhpValue v}") cfg.settings; - in pkgs.writeText "extraConfig.php" (concatStringsSep "\n" settings); - - pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec { - pname = "invoiceplane-${hostName}"; - version = src.version; - src = pkgs.invoiceplane; - - postPatch = '' - # Patch index.php file to load additional config file - substituteInPlace index.php \ - --replace-fail "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();"; + invoiceplane-config = + hostName: cfg: + pkgs.writeText "ipconfig.php" '' + IP_URL=http://${hostName} + ENABLE_DEBUG=false + DISABLE_SETUP=false + REMOVE_INDEXPHP=false + DB_HOSTNAME=${cfg.database.host} + DB_USERNAME=${cfg.database.user} + # NOTE: file_get_contents adds newline at the end of returned string + DB_PASSWORD=${ + optionalString ( + cfg.database.passwordFile != null + ) "trim(file_get_contents('${cfg.database.passwordFile}'), \"\\r\\n\")" + } + DB_DATABASE=${cfg.database.name} + DB_PORT=${toString cfg.database.port} + SESS_EXPIRATION=864000 + ENABLE_INVOICE_DELETION=false + DISABLE_READ_ONLY=false + ENCRYPTION_KEY= + ENCRYPTION_CIPHER=AES-256 + SETUP_COMPLETED=false + REMOVE_INDEXPHP=true ''; - installPhase = '' - mkdir -p $out - cp -r * $out/ - - # symlink uploads and log directories - rm -r $out/uploads $out/application/logs $out/vendor/mpdf/mpdf/tmp - ln -sf ${cfg.stateDir}/uploads $out/ - ln -sf ${cfg.stateDir}/logs $out/application/ - ln -sf ${cfg.stateDir}/tmp $out/vendor/mpdf/mpdf/ - - # symlink the InvoicePlane config - ln -s ${cfg.stateDir}/ipconfig.php $out/ipconfig.php - - # symlink the extraConfig file - ln -s ${extraConfig hostName cfg} $out/extraConfig.php - - # symlink additional templates - ${concatMapStringsSep "\n" (template: "cp -r ${template}/. $out/application/views/invoice_templates/pdf/") cfg.invoiceTemplates} - ''; - }; + mkPhpValue = + v: + if isString v then + escapeShellArg v + # NOTE: If any value contains a , (comma) this will not get escaped + else if isList v && strings.isConvertibleWithToString v then + escapeShellArg (concatMapStringsSep "," toString v) + else if isInt v then + toString v + else if isBool v then + boolToString v + else + abort "The Invoiceplane config value ${lib.generators.toPretty { } v} can not be encoded."; + + extraConfig = + hostName: cfg: + let + settings = mapAttrsToList (k: v: "${k}=${mkPhpValue v}") cfg.settings; + in + pkgs.writeText "extraConfig.php" (concatStringsSep "\n" settings); + + pkg = + hostName: cfg: + pkgs.stdenv.mkDerivation rec { + pname = "invoiceplane-${hostName}"; + version = src.version; + src = pkgs.invoiceplane; + + postPatch = '' + # Patch index.php file to load additional config file + substituteInPlace index.php \ + --replace-fail "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();"; + ''; + + installPhase = '' + mkdir -p $out + cp -r * $out/ + + # symlink uploads and log directories + rm -r $out/uploads $out/application/logs $out/vendor/mpdf/mpdf/tmp + ln -sf ${cfg.stateDir}/uploads $out/ + ln -sf ${cfg.stateDir}/logs $out/application/ + ln -sf ${cfg.stateDir}/tmp $out/vendor/mpdf/mpdf/ + + # symlink the InvoicePlane config + ln -s ${cfg.stateDir}/ipconfig.php $out/ipconfig.php + + # symlink the extraConfig file + ln -s ${extraConfig hostName cfg} $out/extraConfig.php + + # symlink additional templates + ${concatMapStringsSep "\n" ( + template: "cp -r ${template}/. $out/application/views/invoice_templates/pdf/" + ) cfg.invoiceTemplates} + ''; + }; - siteOpts = { lib, name, ... }: + siteOpts = + { lib, name, ... }: { options = { @@ -133,7 +157,7 @@ let invoiceTemplates = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = '' List of path(s) to respective template(s) which are copied from the 'invoice_templates/pdf' directory. @@ -164,7 +188,13 @@ let }; poolConfig = mkOption { - type = with types; attrsOf (oneOf [ str int bool ]); + type = + with types; + attrsOf (oneOf [ + str + int + bool + ]); default = { "pm" = "dynamic"; "pm.max_children" = 32; @@ -181,7 +211,7 @@ let settings = mkOption { type = types.attrsOf types.anything; - default = {}; + default = { }; description = '' Structural InvoicePlane configuration. Refer to @@ -225,12 +255,15 @@ in options.sites = mkOption { type = types.attrsOf (types.submodule siteOpts); - default = {}; + default = { }; description = "Specification of one or more InvoicePlane sites to serve"; }; options.webserver = mkOption { - type = types.enum [ "caddy" "nginx" ]; + type = types.enum [ + "caddy" + "nginx" + ]; default = "caddy"; example = "nginx"; description = '' @@ -238,163 +271,181 @@ in ''; }; }; - default = {}; + default = { }; description = "InvoicePlane configuration."; }; }; # implementation - config = mkIf (eachSite != {}) (mkMerge [{ + config = mkIf (eachSite != { }) (mkMerge [ + { - assertions = flatten (mapAttrsToList (hostName: cfg: [ - { assertion = cfg.database.createLocally -> cfg.database.user == user; - message = ''services.invoiceplane.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned''; - } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; - message = ''services.invoiceplane.sites."${hostName}".database.passwordFile cannot be specified if services.invoiceplane.sites."${hostName}".database.createLocally is set to true.''; - } - { assertion = cfg.cron.enable -> cfg.cron.key != null; - message = ''services.invoiceplane.sites."${hostName}".cron.key must be set in order to use cron service.''; - } - ]) eachSite); - - services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) { - enable = true; - package = mkDefault pkgs.mariadb; - ensureDatabases = mapAttrsToList (hostName: cfg: cfg.database.name) eachSite; - ensureUsers = mapAttrsToList (hostName: cfg: - { name = cfg.database.user; - ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; - } - ) eachSite; - }; + assertions = flatten ( + mapAttrsToList (hostName: cfg: [ + { + assertion = cfg.database.createLocally -> cfg.database.user == user; + message = ''services.invoiceplane.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned''; + } + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = ''services.invoiceplane.sites."${hostName}".database.passwordFile cannot be specified if services.invoiceplane.sites."${hostName}".database.createLocally is set to true.''; + } + { + assertion = cfg.cron.enable -> cfg.cron.key != null; + message = ''services.invoiceplane.sites."${hostName}".cron.key must be set in order to use cron service.''; + } + ]) eachSite + ); + + services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) { + enable = true; + package = mkDefault pkgs.mariadb; + ensureDatabases = mapAttrsToList (hostName: cfg: cfg.database.name) eachSite; + ensureUsers = mapAttrsToList (hostName: cfg: { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; + }) eachSite; + }; - services.phpfpm = { - phpPackage = pkgs.php81; - pools = mapAttrs' (hostName: cfg: ( - nameValuePair "invoiceplane-${hostName}" { - inherit user; - group = webserver.group; - settings = { - "listen.owner" = webserver.user; - "listen.group" = webserver.group; - } // cfg.poolConfig; - } - )) eachSite; - }; + services.phpfpm = { + phpPackage = pkgs.php81; + pools = mapAttrs' ( + hostName: cfg: + (nameValuePair "invoiceplane-${hostName}" { + inherit user; + group = webserver.group; + settings = { + "listen.owner" = webserver.user; + "listen.group" = webserver.group; + } // cfg.poolConfig; + }) + ) eachSite; + }; - } - - { - - systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [ - "d ${cfg.stateDir} 0750 ${user} ${webserver.group} - -" - "f ${cfg.stateDir}/ipconfig.php 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/logs 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/uploads 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/uploads/archive 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/uploads/customer_files 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/uploads/temp 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/uploads/temp/mpdf 0750 ${user} ${webserver.group} - -" - "d ${cfg.stateDir}/tmp 0750 ${user} ${webserver.group} - -" - ]) eachSite); - - systemd.services.invoiceplane-config = { - serviceConfig.Type = "oneshot"; - script = concatStrings (mapAttrsToList (hostName: cfg: - '' - mkdir -p ${cfg.stateDir}/logs \ - ${cfg.stateDir}/uploads - if ! grep -q IP_URL "${cfg.stateDir}/ipconfig.php"; then - cp "${invoiceplane-config hostName cfg}" "${cfg.stateDir}/ipconfig.php" - fi - '') eachSite); - wantedBy = [ "multi-user.target" ]; - }; + } - users.users.${user} = { - group = webserver.group; - isSystemUser = true; - }; + { - } - { + systemd.tmpfiles.rules = flatten ( + mapAttrsToList (hostName: cfg: [ + "d ${cfg.stateDir} 0750 ${user} ${webserver.group} - -" + "f ${cfg.stateDir}/ipconfig.php 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/logs 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/uploads 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/uploads/archive 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/uploads/customer_files 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/uploads/temp 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/uploads/temp/mpdf 0750 ${user} ${webserver.group} - -" + "d ${cfg.stateDir}/tmp 0750 ${user} ${webserver.group} - -" + ]) eachSite + ); + + systemd.services.invoiceplane-config = { + serviceConfig.Type = "oneshot"; + script = concatStrings ( + mapAttrsToList (hostName: cfg: '' + mkdir -p ${cfg.stateDir}/logs \ + ${cfg.stateDir}/uploads + if ! grep -q IP_URL "${cfg.stateDir}/ipconfig.php"; then + cp "${invoiceplane-config hostName cfg}" "${cfg.stateDir}/ipconfig.php" + fi + '') eachSite + ); + wantedBy = [ "multi-user.target" ]; + }; - # Cron service implementation + users.users.${user} = { + group = webserver.group; + isSystemUser = true; + }; - systemd.timers = mapAttrs' (hostName: cfg: ( - nameValuePair "invoiceplane-cron-${hostName}" (mkIf cfg.cron.enable { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnBootSec = "5m"; - OnUnitActiveSec = "5m"; - Unit = "invoiceplane-cron-${hostName}.service"; - }; - }) - )) eachSite; - - systemd.services = - mapAttrs' (hostName: cfg: ( - nameValuePair "invoiceplane-cron-${hostName}" (mkIf cfg.cron.enable { - serviceConfig = { - Type = "oneshot"; - User = user; - ExecStart = "${pkgs.curl}/bin/curl --header 'Host: ${hostName}' http://localhost/invoices/cron/recur/${cfg.cron.key}"; - }; - }) - )) eachSite; - - } - - (mkIf (cfg.webserver == "caddy") { - services.caddy = { - enable = true; - virtualHosts = mapAttrs' (hostName: cfg: ( - nameValuePair "http://${hostName}" { - extraConfig = '' - root * ${pkg hostName cfg} - file_server - php_fastcgi unix/${config.services.phpfpm.pools."invoiceplane-${hostName}".socket} - ''; - } - )) eachSite; - }; - }) - - (mkIf (cfg.webserver == "nginx") { - services.nginx = { - enable = true; - virtualHosts = mapAttrs' (hostName: cfg: ( - nameValuePair hostName { - root = pkg hostName cfg; - extraConfig = '' - index index.php index.html index.htm; - - if (!-e $request_filename){ - rewrite ^(.*)$ /index.php break; - } - ''; + } + { - locations = { - "/setup".extraConfig = '' - rewrite ^(.*)$ http://${hostName}/ redirect; + # Cron service implementation + + systemd.timers = mapAttrs' ( + hostName: cfg: + (nameValuePair "invoiceplane-cron-${hostName}" ( + mkIf cfg.cron.enable { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "5m"; + OnUnitActiveSec = "5m"; + Unit = "invoiceplane-cron-${hostName}.service"; + }; + } + )) + ) eachSite; + + systemd.services = mapAttrs' ( + hostName: cfg: + (nameValuePair "invoiceplane-cron-${hostName}" ( + mkIf cfg.cron.enable { + serviceConfig = { + Type = "oneshot"; + User = user; + ExecStart = "${pkgs.curl}/bin/curl --header 'Host: ${hostName}' http://localhost/invoices/cron/recur/${cfg.cron.key}"; + }; + } + )) + ) eachSite; + + } + + (mkIf (cfg.webserver == "caddy") { + services.caddy = { + enable = true; + virtualHosts = mapAttrs' ( + hostName: cfg: + (nameValuePair "http://${hostName}" { + extraConfig = '' + root * ${pkg hostName cfg} + file_server + php_fastcgi unix/${config.services.phpfpm.pools."invoiceplane-${hostName}".socket} + ''; + }) + ) eachSite; + }; + }) + + (mkIf (cfg.webserver == "nginx") { + services.nginx = { + enable = true; + virtualHosts = mapAttrs' ( + hostName: cfg: + (nameValuePair hostName { + root = pkg hostName cfg; + extraConfig = '' + index index.php index.html index.htm; + + if (!-e $request_filename){ + rewrite ^(.*)$ /index.php break; + } ''; - "~ .php$" = { - extraConfig = '' - fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_pass unix:${config.services.phpfpm.pools."invoiceplane-${hostName}".socket}; - include ${config.services.nginx.package}/conf/fastcgi_params; - include ${config.services.nginx.package}/conf/fastcgi.conf; + locations = { + "/setup".extraConfig = '' + rewrite ^(.*)$ http://${hostName}/ redirect; ''; + + "~ .php$" = { + extraConfig = '' + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_pass unix:${config.services.phpfpm.pools."invoiceplane-${hostName}".socket}; + include ${config.services.nginx.package}/conf/fastcgi_params; + include ${config.services.nginx.package}/conf/fastcgi.conf; + ''; + }; }; - }; - } - )) eachSite; - }; - }) + }) + ) eachSite; + }; + }) ]); } diff --git a/nixos/modules/services/web-apps/isso.nix b/nixos/modules/services/web-apps/isso.nix index 4e7785d1eb3e3..87804b7ea7cfa 100644 --- a/nixos/modules/services/web-apps/isso.nix +++ b/nixos/modules/services/web-apps/isso.nix @@ -1,13 +1,25 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkOption types literalExpression; + inherit (lib) + mkEnableOption + mkIf + mkOption + types + literalExpression + ; cfg = config.services.isso; settingsFormat = pkgs.formats.ini { }; configFile = settingsFormat.generate "isso.conf" cfg.settings; -in { +in +{ options = { services.isso = { @@ -79,11 +91,18 @@ in { ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; UMask = "0077"; }; }; diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix index f880691b55e9c..aecddd814d9a8 100644 --- a/nixos/modules/services/web-apps/jitsi-meet.nix +++ b/nixos/modules/services/web-apps/jitsi-meet.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -17,7 +22,8 @@ let process.stdout.write(JSON.stringify(eval(process.argv[3]))); ''; userJson = pkgs.writeText "user.json" (builtins.toJSON userCfg); - in (pkgs.runCommand "${varName}.js" { } '' + in + (pkgs.runCommand "${varName}.js" { } '' ${pkgs.nodejs}/bin/node ${extractor} ${source} ${varName} > default.json ( echo "var ${varName} = " @@ -229,7 +235,7 @@ in proxy65 = mkIf cfg.prosody.lockdown (mkDefault false); }; httpInterfaces = mkIf cfg.prosody.lockdown (mkDefault [ "127.0.0.1" ]); - httpsPorts = mkIf cfg.prosody.lockdown (mkDefault []); + httpsPorts = mkIf cfg.prosody.lockdown (mkDefault [ ]); muc = [ { domain = "conference.${cfg.hostName}"; @@ -318,26 +324,31 @@ in muc_component = "conference.${cfg.hostName}" breakout_rooms_component = "breakout.${cfg.hostName}" '') - (mkBefore ('' - muc_mapper_domain_base = "${cfg.hostName}" - - cross_domain_websocket = true; - consider_websocket_secure = true; - - unlimited_jids = { - "focus@auth.${cfg.hostName}", - "jvb@auth.${cfg.hostName}" - } - '' + optionalString cfg.prosody.lockdown '' - c2s_interfaces = { "127.0.0.1" }; - modules_disabled = { "s2s" }; - '')) + (mkBefore ( + '' + muc_mapper_domain_base = "${cfg.hostName}" + + cross_domain_websocket = true; + consider_websocket_secure = true; + + unlimited_jids = { + "focus@auth.${cfg.hostName}", + "jvb@auth.${cfg.hostName}" + } + '' + + optionalString cfg.prosody.lockdown '' + c2s_interfaces = { "127.0.0.1" }; + modules_disabled = { "s2s" }; + '' + )) ]; virtualHosts.${cfg.hostName} = { enabled = true; domain = cfg.hostName; extraConfig = '' - authentication = ${if cfg.secureDomain.enable then "\"${cfg.secureDomain.authentication}\"" else "\"jitsi-anonymous\""} + authentication = ${ + if cfg.secureDomain.enable then "\"${cfg.secureDomain.authentication}\"" else "\"jitsi-anonymous\"" + } c2s_require_encryption = false admins = { "focus@auth.${cfg.hostName}" } smacks_max_unacked_stanzas = 5 @@ -390,17 +401,24 @@ in }; }; systemd.services.prosody = mkIf cfg.prosody.enable { - preStart = let - videobridgeSecret = if cfg.videobridge.passwordFile != null then cfg.videobridge.passwordFile else "/var/lib/jitsi-meet/videobridge-secret"; - in '' - ${config.services.prosody.package}/bin/prosodyctl register focus auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jicofo-user-secret)" - ${config.services.prosody.package}/bin/prosodyctl register jvb auth.${cfg.hostName} "$(cat ${videobridgeSecret})" - ${config.services.prosody.package}/bin/prosodyctl mod_roster_command subscribe focus.${cfg.hostName} focus@auth.${cfg.hostName} - ${config.services.prosody.package}/bin/prosodyctl register jibri auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jibri-auth-secret)" - ${config.services.prosody.package}/bin/prosodyctl register recorder recorder.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jibri-recorder-secret)" - '' + optionalString cfg.jigasi.enable '' - ${config.services.prosody.package}/bin/prosodyctl register jigasi auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jigasi-user-secret)" - ''; + preStart = + let + videobridgeSecret = + if cfg.videobridge.passwordFile != null then + cfg.videobridge.passwordFile + else + "/var/lib/jitsi-meet/videobridge-secret"; + in + '' + ${config.services.prosody.package}/bin/prosodyctl register focus auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jicofo-user-secret)" + ${config.services.prosody.package}/bin/prosodyctl register jvb auth.${cfg.hostName} "$(cat ${videobridgeSecret})" + ${config.services.prosody.package}/bin/prosodyctl mod_roster_command subscribe focus.${cfg.hostName} focus@auth.${cfg.hostName} + ${config.services.prosody.package}/bin/prosodyctl register jibri auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jibri-auth-secret)" + ${config.services.prosody.package}/bin/prosodyctl register recorder recorder.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jibri-recorder-secret)" + '' + + optionalString cfg.jigasi.enable '' + ${config.services.prosody.package}/bin/prosodyctl register jigasi auth.${cfg.hostName} "$(cat /var/lib/jitsi-meet/jigasi-user-secret)" + ''; serviceConfig = { EnvironmentFile = [ "/var/lib/jitsi-meet/secrets-env" ]; @@ -416,7 +434,13 @@ in systemd.services.jitsi-meet-init-secrets = { wantedBy = [ "multi-user.target" ]; - before = [ "jicofo.service" "jitsi-videobridge2.service" ] ++ (optional cfg.prosody.enable "prosody.service") ++ (optional cfg.jigasi.enable "jigasi.service"); + before = + [ + "jicofo.service" + "jitsi-videobridge2.service" + ] + ++ (optional cfg.prosody.enable "prosody.service") + ++ (optional cfg.jigasi.enable "jigasi.service"); serviceConfig = { Type = "oneshot"; UMask = "027"; @@ -425,34 +449,46 @@ in WorkingDirectory = "/var/lib/jitsi-meet"; }; - script = let - secrets = [ "jicofo-component-secret" "jicofo-user-secret" "jibri-auth-secret" "jibri-recorder-secret" ] ++ (optionals cfg.jigasi.enable [ "jigasi-user-secret" "jigasi-component-secret" ]) ++ (optional (cfg.videobridge.passwordFile == null) "videobridge-secret"); - in - '' - ${concatMapStringsSep "\n" (s: '' - if [ ! -f ${s} ]; then - tr -dc a-zA-Z0-9 ${s} + script = + let + secrets = + [ + "jicofo-component-secret" + "jicofo-user-secret" + "jibri-auth-secret" + "jibri-recorder-secret" + ] + ++ (optionals cfg.jigasi.enable [ + "jigasi-user-secret" + "jigasi-component-secret" + ]) + ++ (optional (cfg.videobridge.passwordFile == null) "videobridge-secret"); + in + '' + ${concatMapStringsSep "\n" (s: '' + if [ ! -f ${s} ]; then + tr -dc a-zA-Z0-9 ${s} + fi + '') secrets} + + # for easy access in prosody + echo "JICOFO_COMPONENT_SECRET=$(cat jicofo-component-secret)" > secrets-env + echo "JIGASI_COMPONENT_SECRET=$(cat jigasi-component-secret)" >> secrets-env + '' + + optionalString cfg.prosody.enable '' + # generate self-signed certificates + if [ ! -f /var/lib/jitsi-meet/jitsi-meet.crt ]; then + ${getBin pkgs.openssl}/bin/openssl req \ + -x509 \ + -newkey rsa:4096 \ + -keyout /var/lib/jitsi-meet/jitsi-meet.key \ + -out /var/lib/jitsi-meet/jitsi-meet.crt \ + -days 36500 \ + -nodes \ + -subj '/CN=${cfg.hostName}/CN=auth.${cfg.hostName}' + chmod 640 /var/lib/jitsi-meet/jitsi-meet.key fi - '') secrets} - - # for easy access in prosody - echo "JICOFO_COMPONENT_SECRET=$(cat jicofo-component-secret)" > secrets-env - echo "JIGASI_COMPONENT_SECRET=$(cat jigasi-component-secret)" >> secrets-env - '' - + optionalString cfg.prosody.enable '' - # generate self-signed certificates - if [ ! -f /var/lib/jitsi-meet/jitsi-meet.crt ]; then - ${getBin pkgs.openssl}/bin/openssl req \ - -x509 \ - -newkey rsa:4096 \ - -keyout /var/lib/jitsi-meet/jitsi-meet.key \ - -out /var/lib/jitsi-meet/jitsi-meet.crt \ - -days 36500 \ - -nodes \ - -subj '/CN=${cfg.hostName}/CN=auth.${cfg.hostName}' - chmod 640 /var/lib/jitsi-meet/jitsi-meet.key - fi - ''; + ''; }; systemd.services.jitsi-excalidraw = mkIf cfg.excalidraw.enable { @@ -482,12 +518,18 @@ in ProtectKernelTunables = true; ProtectKernelModules = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; LockPersonality = true; RestrictRealtime = true; RestrictSUIDSGID = true; - SystemCallFilter = [ "@system-service @pkey" "~@privileged" ]; + SystemCallFilter = [ + "@system-service @pkey" + "~@privileged" + ]; }; }; @@ -527,10 +569,14 @@ in ''; }; locations."=/config.js" = mkDefault { - alias = overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) cfg.extraConfig; + alias = + overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) + cfg.extraConfig; }; locations."=/interface_config.js" = mkDefault { - alias = overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig ""; + alias = + overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig + ""; }; locations."/socket.io/" = mkIf cfg.excalidraw.enable { proxyPass = "http://127.0.0.1:${toString cfg.excalidraw.port}"; @@ -543,52 +589,62 @@ in enable = mkDefault true; virtualHosts.${cfg.hostName} = { extraConfig = - let - templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" { } '' - cp -R --no-preserve=all ${pkgs.jitsi-meet}/* . - for file in *.html **/*.html ; do - ${pkgs.sd}/bin/sd '' '{{ include "$1" }}' $file - done - rm config.js - rm interface_config.js - cp -R . $out - cp ${overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) cfg.extraConfig} $out/config.js - cp ${overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig ""} $out/interface_config.js - cp ./libs/external_api.min.js $out/external_api.js + let + templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" { } '' + cp -R --no-preserve=all ${pkgs.jitsi-meet}/* . + for file in *.html **/*.html ; do + ${pkgs.sd}/bin/sd '' '{{ include "$1" }}' $file + done + rm config.js + rm interface_config.js + cp -R . $out + cp ${ + overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) + cfg.extraConfig + } $out/config.js + cp ${ + overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig "" + } $out/interface_config.js + cp ./libs/external_api.min.js $out/external_api.js + ''; + in + (optionalString cfg.excalidraw.enable '' + handle /socket.io/ { + reverse_proxy 127.0.0.1:${toString cfg.excalidraw.port} + } + '') + + '' + handle /http-bind { + header Host ${cfg.hostName} + reverse_proxy 127.0.0.1:5280 + } + handle /xmpp-websocket { + reverse_proxy 127.0.0.1:5280 + } + handle { + templates + root * ${templatedJitsiMeet} + try_files {path} {path} + try_files {path} /index.html + file_server + } ''; - in (optionalString cfg.excalidraw.enable '' - handle /socket.io/ { - reverse_proxy 127.0.0.1:${toString cfg.excalidraw.port} - } - '') + '' - handle /http-bind { - header Host ${cfg.hostName} - reverse_proxy 127.0.0.1:5280 - } - handle /xmpp-websocket { - reverse_proxy 127.0.0.1:5280 - } - handle { - templates - root * ${templatedJitsiMeet} - try_files {path} {path} - try_files {path} /index.html - file_server - } - ''; }; }; - services.jitsi-meet.config = recursiveUpdate - (mkIf cfg.excalidraw.enable { - whiteboard = { - enabled = true; - collabServerBaseUrl = "https://${cfg.hostName}"; - }; - }) - (mkIf cfg.secureDomain.enable { - hosts.anonymousdomain = "guest.${cfg.hostName}"; - }); + services.jitsi-meet.config = + recursiveUpdate + (mkIf cfg.excalidraw.enable { + whiteboard = { + enabled = true; + collabServerBaseUrl = "https://${cfg.hostName}"; + }; + }) + ( + mkIf cfg.secureDomain.enable { + hosts.anonymousdomain = "guest.${cfg.hostName}"; + } + ); services.jitsi-videobridge = mkIf cfg.videobridge.enable { enable = true; @@ -610,10 +666,11 @@ in userPasswordFile = "/var/lib/jitsi-meet/jicofo-user-secret"; componentPasswordFile = "/var/lib/jitsi-meet/jicofo-component-secret"; bridgeMuc = "jvbbrewery@internal.auth.${cfg.hostName}"; - config = mkMerge [{ - jicofo.xmpp.service.disable-certificate-verification = true; - jicofo.xmpp.client.disable-certificate-verification = true; - } + config = mkMerge [ + { + jicofo.xmpp.service.disable-certificate-verification = true; + jicofo.xmpp.client.disable-certificate-verification = true; + } (lib.mkIf (config.services.jibri.enable || cfg.jibri.enable) { jicofo.jibri = { brewery-jid = "JibriBrewery@internal.auth.${cfg.hostName}"; @@ -629,7 +686,8 @@ in }; xmpp.client.client-proxy = "focus.${cfg.hostName}"; }; - })]; + }) + ]; }; services.jibri = mkIf cfg.jibri.enable { diff --git a/nixos/modules/services/web-apps/kasmweb/default.nix b/nixos/modules/services/web-apps/kasmweb/default.nix index f626e369334ed..9cb64a1495d5d 100644 --- a/nixos/modules/services/web-apps/kasmweb/default.nix +++ b/nixos/modules/services/web-apps/kasmweb/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.kasmweb; @@ -130,15 +135,20 @@ in "docker-kasm_db.service" "podman-kasm_db.service" ]; - wants = ["network-online.target"]; - after = ["network-online.target"]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; serviceConfig = { Type = "oneshot"; TimeoutStartSec = 300; ExecStart = pkgs.substituteAll { src = ./initialize_kasmweb.sh; isExecutable = true; - binPath = lib.makeBinPath [ pkgs.docker pkgs.openssl pkgs.gnused pkgs.yq-go ]; + binPath = lib.makeBinPath [ + pkgs.docker + pkgs.openssl + pkgs.gnused + pkgs.yq-go + ]; runtimeShell = pkgs.runtimeShell; kasmweb = pkgs.kasmweb; postgresUser = "postgres"; @@ -153,7 +163,8 @@ in defaultAdminPassword defaultManagerToken defaultRegistrationToken - defaultGuacToken; + defaultGuacToken + ; }; }; }; @@ -188,7 +199,10 @@ in dependsOn = [ "kasm_db" ]; entrypoint = "/bin/bash"; cmd = [ "/opt/kasm/current/init_seeds.sh" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + ]; }; kasm_redis = { image = "redis:5-alpine"; @@ -198,7 +212,10 @@ in "-c" "redis-server --requirepass ${cfg.redisPassword}" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + ]; }; kasm_api = { image = "kasmweb/api:${pkgs.kasmweb.version}"; @@ -209,7 +226,10 @@ in "kasmweb_api_data:/tmp" ]; dependsOn = [ "kasm_db_init" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + ]; }; kasm_manager = { image = "kasmweb/manager:${pkgs.kasmweb.version}"; @@ -218,8 +238,16 @@ in volumes = [ "${cfg.datastorePath}/:/opt/kasm/current/" ]; - dependsOn = [ "kasm_db_init" "kasm_db" "kasm_api" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" "--read-only"]; + dependsOn = [ + "kasm_db_init" + "kasm_db" + "kasm_api" + ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + "--read-only" + ]; }; kasm_agent = { image = "kasmweb/agent:${pkgs.kasmweb.version}"; @@ -232,7 +260,11 @@ in "${cfg.datastorePath}/conf/nginx:/etc/nginx/conf.d" ]; dependsOn = [ "kasm_manager" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" "--read-only" ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + "--read-only" + ]; }; kasm_share = { image = "kasmweb/share:${pkgs.kasmweb.version}"; @@ -241,8 +273,16 @@ in volumes = [ "${cfg.datastorePath}/:/opt/kasm/current/" ]; - dependsOn = [ "kasm_db_init" "kasm_db" "kasm_redis" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" "--read-only" ]; + dependsOn = [ + "kasm_db_init" + "kasm_db" + "kasm_redis" + ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + "--read-only" + ]; }; kasm_guac = { image = "kasmweb/kasm-guac:${pkgs.kasmweb.version}"; @@ -251,8 +291,15 @@ in volumes = [ "${cfg.datastorePath}/:/opt/kasm/current/" ]; - dependsOn = [ "kasm_db" "kasm_redis" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" "--read-only" ]; + dependsOn = [ + "kasm_db" + "kasm_redis" + ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + "--read-only" + ]; }; kasm_proxy = { image = "kasmweb/nginx:latest"; @@ -267,10 +314,18 @@ in "${cfg.datastorePath}/log/nginx:/var/log/external/nginx" "${cfg.datastorePath}/log/logrotate:/var/log/external/logrotate" ]; - dependsOn = [ "kasm_manager" "kasm_api" "kasm_agent" "kasm_share" - "kasm_guac" ]; - extraOptions = [ "--network=kasm_default_network" "--userns=host" - "--network-alias=proxy"]; + dependsOn = [ + "kasm_manager" + "kasm_api" + "kasm_agent" + "kasm_share" + "kasm_guac" + ]; + extraOptions = [ + "--network=kasm_default_network" + "--userns=host" + "--network-alias=proxy" + ]; }; }; }; diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix index b8dc9e2ef0dd3..406b978d6704b 100644 --- a/nixos/modules/services/web-apps/keycloak.nix +++ b/nixos/modules/services/web-apps/keycloak.nix @@ -1,4 +1,10 @@ -{ config, options, pkgs, lib, ... }: +{ + config, + options, + pkgs, + lib, + ... +}: let cfg = config.services.keycloak; @@ -40,35 +46,36 @@ let prefixUnlessEmpty = prefix: string: optionalString (string != "") "${prefix}${string}"; in { - imports = - [ - (mkRenamedOptionModule - [ "services" "keycloak" "bindAddress" ] - [ "services" "keycloak" "settings" "http-host" ]) - (mkRenamedOptionModule - [ "services" "keycloak" "forceBackendUrlToFrontendUrl"] - [ "services" "keycloak" "settings" "hostname-strict-backchannel"]) - (mkChangedOptionModule - [ "services" "keycloak" "httpPort" ] - [ "services" "keycloak" "settings" "http-port" ] - (config: - builtins.fromJSON config.services.keycloak.httpPort)) - (mkChangedOptionModule - [ "services" "keycloak" "httpsPort" ] - [ "services" "keycloak" "settings" "https-port" ] - (config: - builtins.fromJSON config.services.keycloak.httpsPort)) - (mkRemovedOptionModule - [ "services" "keycloak" "frontendUrl" ] - '' - Set `services.keycloak.settings.hostname' and `services.keycloak.settings.http-relative-path' instead. - NOTE: You likely want to set 'http-relative-path' to '/auth' to keep compatibility with your clients. - See its description for more information. - '') - (mkRemovedOptionModule - [ "services" "keycloak" "extraConfig" ] - "Use `services.keycloak.settings' instead.") - ]; + imports = [ + (mkRenamedOptionModule + [ "services" "keycloak" "bindAddress" ] + [ "services" "keycloak" "settings" "http-host" ] + ) + (mkRenamedOptionModule + [ "services" "keycloak" "forceBackendUrlToFrontendUrl" ] + [ "services" "keycloak" "settings" "hostname-strict-backchannel" ] + ) + (mkChangedOptionModule + [ "services" "keycloak" "httpPort" ] + [ "services" "keycloak" "settings" "http-port" ] + (config: builtins.fromJSON config.services.keycloak.httpPort) + ) + (mkChangedOptionModule + [ "services" "keycloak" "httpsPort" ] + [ "services" "keycloak" "settings" "https-port" ] + (config: builtins.fromJSON config.services.keycloak.httpsPort) + ) + (mkRemovedOptionModule [ "services" "keycloak" "frontendUrl" ] '' + Set `services.keycloak.settings.hostname' and `services.keycloak.settings.http-relative-path' instead. + NOTE: You likely want to set 'http-relative-path' to '/auth' to keep compatibility with your clients. + See its description for more information. + '') + (mkRemovedOptionModule [ + "services" + "keycloak" + "extraConfig" + ] "Use `services.keycloak.settings' instead.") + ]; options.services.keycloak = let @@ -82,9 +89,11 @@ in path enum package - port; + port + ; - assertStringPath = optionName: value: + assertStringPath = + optionName: value: if isPath value then throw '' services.keycloak.${optionName}: @@ -92,7 +101,8 @@ in is a Nix path, but should be a string, since Nix paths are copied into the world-readable Nix store. '' - else value; + else + value; in { enable = mkOption { @@ -139,7 +149,11 @@ in database = { type = mkOption { - type = enum [ "mysql" "mariadb" "postgresql" ]; + type = enum [ + "mysql" + "mariadb" + "postgresql" + ]; default = "postgresql"; example = "mariadb"; description = '' @@ -276,7 +290,14 @@ in settings = mkOption { type = lib.types.submodule { - freeformType = attrsOf (nullOr (oneOf [ str int bool (attrsOf path) ])); + freeformType = attrsOf ( + nullOr (oneOf [ + str + int + bool + (attrsOf path) + ]) + ); options = { http-host = mkOption { @@ -389,7 +410,12 @@ in # connect to it. databaseActuallyCreateLocally = cfg.database.createLocally && cfg.database.host == "localhost"; createLocalPostgreSQL = databaseActuallyCreateLocally && cfg.database.type == "postgresql"; - createLocalMySQL = databaseActuallyCreateLocally && elem cfg.database.type [ "mysql" "mariadb" ]; + createLocalMySQL = + databaseActuallyCreateLocally + && elem cfg.database.type [ + "mysql" + "mariadb" + ]; mySqlCaKeystore = pkgs.runCommand "mysql-ca-keystore" { } '' ${pkgs.jre}/bin/keytool -importcert -trustcacerts -alias MySQLCACert -file ${cfg.database.caCert} -keystore $out -storepass notsosecretpassword -noprompt @@ -421,228 +447,260 @@ in fi done - ${concatStringsSep "\n" (mapAttrsToList (name: theme: "linkTheme ${theme} ${escapeShellArg name}") cfg.themes)} + ${concatStringsSep "\n" ( + mapAttrsToList (name: theme: "linkTheme ${theme} ${escapeShellArg name}") cfg.themes + )} ''; keycloakConfig = lib.generators.toKeyValue { mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" { - mkValueString = v: - if isInt v then toString v - else if isString v then v - else if true == v then "true" - else if false == v then "false" - else if isSecret v then hashString "sha256" v._secret - else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; + mkValueString = + v: + if isInt v then + toString v + else if isString v then + v + else if true == v then + "true" + else if false == v then + "false" + else if isSecret v then + hashString "sha256" v._secret + else + throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty { }) v}"; }; }; isSecret = v: isAttrs v && v ? _secret && isString v._secret; - filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [{ } null])) cfg.settings; + filteredConfig = lib.converge (lib.filterAttrsRecursive ( + _: v: + !elem v [ + { } + null + ] + )) cfg.settings; confFile = pkgs.writeText "keycloak.conf" (keycloakConfig filteredConfig); keycloakBuild = cfg.package.override { inherit confFile; - plugins = cfg.package.enabledPlugins ++ cfg.plugins ++ - (with cfg.package.plugins; [quarkus-systemd-notify quarkus-systemd-notify-deployment]); + plugins = + cfg.package.enabledPlugins + ++ cfg.plugins + ++ (with cfg.package.plugins; [ + quarkus-systemd-notify + quarkus-systemd-notify-deployment + ]); }; in - mkIf cfg.enable - { - assertions = [ - { - assertion = (cfg.database.useSSL && cfg.database.type == "postgresql") -> (cfg.database.caCert != null); - message = "A CA certificate must be specified (in 'services.keycloak.database.caCert') when PostgreSQL is used with SSL"; - } - { - assertion = createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true; - message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably"; - } - { - assertion = cfg.settings.hostname != null || ! cfg.settings.hostname-strict or true; - message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`"; - } - { - assertion = cfg.settings.hostname-url or null == null; - message = '' - The option `services.keycloak.settings.hostname-url' has been removed. - Set `services.keycloak.settings.hostname' instead. - See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details. - ''; - } - { - assertion = cfg.settings.hostname-strict-backchannel or null == null; - message = '' - The option `services.keycloak.settings.hostname-strict-backchannel' has been removed. - Set `services.keycloak.settings.hostname-backchannel-dynamic' instead. - See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details. - ''; - } - { - assertion = cfg.settings.proxy or null == null; - message = '' - The option `services.keycloak.settings.proxy' has been removed. - Set `services.keycloak.settings.proxy-headers` in combination - with other hostname options as needed instead. - See [Proxy option removed](https://www.keycloak.org/docs/latest/upgrading/index.html#proxy-option-removed) - for more information. - ''; - } - ]; - - environment.systemPackages = [ keycloakBuild ]; - - services.keycloak.settings = - let - postgresParams = concatStringsSep "&" ( - optionals cfg.database.useSSL [ - "ssl=true" - ] ++ optionals (cfg.database.caCert != null) [ - "sslrootcert=${cfg.database.caCert}" - "sslmode=verify-ca" - ] - ); - mariadbParams = concatStringsSep "&" ([ + mkIf cfg.enable { + assertions = [ + { + assertion = + (cfg.database.useSSL && cfg.database.type == "postgresql") -> (cfg.database.caCert != null); + message = "A CA certificate must be specified (in 'services.keycloak.database.caCert') when PostgreSQL is used with SSL"; + } + { + assertion = + createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true; + message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably"; + } + { + assertion = cfg.settings.hostname != null || !cfg.settings.hostname-strict or true; + message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`"; + } + { + assertion = cfg.settings.hostname-url or null == null; + message = '' + The option `services.keycloak.settings.hostname-url' has been removed. + Set `services.keycloak.settings.hostname' instead. + See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details. + ''; + } + { + assertion = cfg.settings.hostname-strict-backchannel or null == null; + message = '' + The option `services.keycloak.settings.hostname-strict-backchannel' has been removed. + Set `services.keycloak.settings.hostname-backchannel-dynamic' instead. + See [New Hostname options](https://www.keycloak.org/docs/25.0.0/upgrading/#new-hostname-options) for details. + ''; + } + { + assertion = cfg.settings.proxy or null == null; + message = '' + The option `services.keycloak.settings.proxy' has been removed. + Set `services.keycloak.settings.proxy-headers` in combination + with other hostname options as needed instead. + See [Proxy option removed](https://www.keycloak.org/docs/latest/upgrading/index.html#proxy-option-removed) + for more information. + ''; + } + ]; + + environment.systemPackages = [ keycloakBuild ]; + + services.keycloak.settings = + let + postgresParams = concatStringsSep "&" ( + optionals cfg.database.useSSL [ + "ssl=true" + ] + ++ optionals (cfg.database.caCert != null) [ + "sslrootcert=${cfg.database.caCert}" + "sslmode=verify-ca" + ] + ); + mariadbParams = concatStringsSep "&" ( + [ "characterEncoding=UTF-8" - ] ++ optionals cfg.database.useSSL [ + ] + ++ optionals cfg.database.useSSL [ "useSSL=true" "requireSSL=true" "verifyServerCertificate=true" - ] ++ optionals (cfg.database.caCert != null) [ + ] + ++ optionals (cfg.database.caCert != null) [ "trustCertificateKeyStoreUrl=file:${mySqlCaKeystore}" "trustCertificateKeyStorePassword=notsosecretpassword" - ]); - dbProps = if cfg.database.type == "postgresql" then postgresParams else mariadbParams; - in - mkMerge [ - { - db = if cfg.database.type == "postgresql" then "postgres" else cfg.database.type; - db-username = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username; - db-password._secret = cfg.database.passwordFile; - db-url-host = cfg.database.host; - db-url-port = toString cfg.database.port; - db-url-database = if databaseActuallyCreateLocally then "keycloak" else cfg.database.name; - db-url-properties = prefixUnlessEmpty "?" dbProps; - db-url = null; - } - (mkIf (cfg.sslCertificate != null && cfg.sslCertificateKey != null) { - https-certificate-file = "/run/keycloak/ssl/ssl_cert"; - https-certificate-key-file = "/run/keycloak/ssl/ssl_key"; - }) - ]; + ] + ); + dbProps = if cfg.database.type == "postgresql" then postgresParams else mariadbParams; + in + mkMerge [ + { + db = if cfg.database.type == "postgresql" then "postgres" else cfg.database.type; + db-username = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username; + db-password._secret = cfg.database.passwordFile; + db-url-host = cfg.database.host; + db-url-port = toString cfg.database.port; + db-url-database = if databaseActuallyCreateLocally then "keycloak" else cfg.database.name; + db-url-properties = prefixUnlessEmpty "?" dbProps; + db-url = null; + } + (mkIf (cfg.sslCertificate != null && cfg.sslCertificateKey != null) { + https-certificate-file = "/run/keycloak/ssl/ssl_cert"; + https-certificate-key-file = "/run/keycloak/ssl/ssl_key"; + }) + ]; - systemd.services.keycloakPostgreSQLInit = mkIf createLocalPostgreSQL { - after = [ "postgresql.service" ]; - before = [ "keycloak.service" ]; - bindsTo = [ "postgresql.service" ]; - path = [ config.services.postgresql.package ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - User = "postgres"; - Group = "postgres"; - LoadCredential = [ "db_password:${cfg.database.passwordFile}" ]; - }; - script = '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - - create_role="$(mktemp)" - trap 'rm -f "$create_role"' EXIT - - # Read the password from the credentials directory and - # escape any single quotes by adding additional single - # quotes after them, following the rules laid out here: - # https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS - db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")" - db_password="''${db_password//\'/\'\'}" - - echo "CREATE ROLE keycloak WITH LOGIN PASSWORD '$db_password' CREATEDB" > "$create_role" - psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='keycloak'" | grep -q 1 || psql -tA --file="$create_role" - psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'keycloak'" | grep -q 1 || psql -tAc 'CREATE DATABASE "keycloak" OWNER "keycloak"' - ''; + systemd.services.keycloakPostgreSQLInit = mkIf createLocalPostgreSQL { + after = [ "postgresql.service" ]; + before = [ "keycloak.service" ]; + bindsTo = [ "postgresql.service" ]; + path = [ config.services.postgresql.package ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + User = "postgres"; + Group = "postgres"; + LoadCredential = [ "db_password:${cfg.database.passwordFile}" ]; }; + script = '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + + create_role="$(mktemp)" + trap 'rm -f "$create_role"' EXIT + + # Read the password from the credentials directory and + # escape any single quotes by adding additional single + # quotes after them, following the rules laid out here: + # https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS + db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")" + db_password="''${db_password//\'/\'\'}" + + echo "CREATE ROLE keycloak WITH LOGIN PASSWORD '$db_password' CREATEDB" > "$create_role" + psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='keycloak'" | grep -q 1 || psql -tA --file="$create_role" + psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'keycloak'" | grep -q 1 || psql -tAc 'CREATE DATABASE "keycloak" OWNER "keycloak"' + ''; + }; - systemd.services.keycloakMySQLInit = mkIf createLocalMySQL { - after = [ "mysql.service" ]; - before = [ "keycloak.service" ]; - bindsTo = [ "mysql.service" ]; - path = [ config.services.mysql.package ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - User = config.services.mysql.user; - Group = config.services.mysql.group; - LoadCredential = [ "db_password:${cfg.database.passwordFile}" ]; - }; - script = '' - set -o errexit -o pipefail -o nounset -o errtrace - shopt -s inherit_errexit - - # Read the password from the credentials directory and - # escape any single quotes by adding additional single - # quotes after them, following the rules laid out here: - # https://dev.mysql.com/doc/refman/8.0/en/string-literals.html - db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")" - db_password="''${db_password//\'/\'\'}" - - ( echo "SET sql_mode = 'NO_BACKSLASH_ESCAPES';" - echo "CREATE USER IF NOT EXISTS 'keycloak'@'localhost' IDENTIFIED BY '$db_password';" - echo "CREATE DATABASE IF NOT EXISTS keycloak CHARACTER SET utf8 COLLATE utf8_unicode_ci;" - echo "GRANT ALL PRIVILEGES ON keycloak.* TO 'keycloak'@'localhost';" - ) | mysql -N - ''; + systemd.services.keycloakMySQLInit = mkIf createLocalMySQL { + after = [ "mysql.service" ]; + before = [ "keycloak.service" ]; + bindsTo = [ "mysql.service" ]; + path = [ config.services.mysql.package ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + User = config.services.mysql.user; + Group = config.services.mysql.group; + LoadCredential = [ "db_password:${cfg.database.passwordFile}" ]; }; + script = '' + set -o errexit -o pipefail -o nounset -o errtrace + shopt -s inherit_errexit + + # Read the password from the credentials directory and + # escape any single quotes by adding additional single + # quotes after them, following the rules laid out here: + # https://dev.mysql.com/doc/refman/8.0/en/string-literals.html + db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")" + db_password="''${db_password//\'/\'\'}" + + ( echo "SET sql_mode = 'NO_BACKSLASH_ESCAPES';" + echo "CREATE USER IF NOT EXISTS 'keycloak'@'localhost' IDENTIFIED BY '$db_password';" + echo "CREATE DATABASE IF NOT EXISTS keycloak CHARACTER SET utf8 COLLATE utf8_unicode_ci;" + echo "GRANT ALL PRIVILEGES ON keycloak.* TO 'keycloak'@'localhost';" + ) | mysql -N + ''; + }; - systemd.services.keycloak = - let - databaseServices = - if createLocalPostgreSQL then [ + systemd.services.keycloak = + let + databaseServices = + if createLocalPostgreSQL then + [ "keycloakPostgreSQLInit.service" "postgresql.service" ] - else if createLocalMySQL then [ + else if createLocalMySQL then + [ "keycloakMySQLInit.service" "mysql.service" ] - else [ ]; - secretPaths = catAttrs "_secret" (collect isSecret cfg.settings); - mkSecretReplacement = file: '' - replace-secret ${hashString "sha256" file} $CREDENTIALS_DIRECTORY/${baseNameOf file} /run/keycloak/conf/keycloak.conf - ''; - secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; - in - { - after = databaseServices; - bindsTo = databaseServices; - wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ - keycloakBuild - openssl - replace-secret - ]; - environment = { + else + [ ]; + secretPaths = catAttrs "_secret" (collect isSecret cfg.settings); + mkSecretReplacement = file: '' + replace-secret ${hashString "sha256" file} $CREDENTIALS_DIRECTORY/${baseNameOf file} /run/keycloak/conf/keycloak.conf + ''; + secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; + in + { + after = databaseServices; + bindsTo = databaseServices; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ + keycloakBuild + openssl + replace-secret + ]; + environment = + { KC_HOME_DIR = "/run/keycloak"; KC_CONF_DIR = "/run/keycloak/conf"; - } // lib.optionalAttrs (cfg.initialAdminPassword != null) { + } + // lib.optionalAttrs (cfg.initialAdminPassword != null) { KC_BOOTSTRAP_ADMIN_USERNAME = "admin"; KC_BOOTSTRAP_ADMIN_PASSWORD = cfg.initialAdminPassword; }; - serviceConfig = { - LoadCredential = - map (p: "${baseNameOf p}:${p}") secretPaths - ++ optionals (cfg.sslCertificate != null && cfg.sslCertificateKey != null) [ - "ssl_cert:${cfg.sslCertificate}" - "ssl_key:${cfg.sslCertificateKey}" - ]; - User = "keycloak"; - Group = "keycloak"; - DynamicUser = true; - RuntimeDirectory = "keycloak"; - RuntimeDirectoryMode = "0700"; - AmbientCapabilities = "CAP_NET_BIND_SERVICE"; - Type = "notify"; # Requires quarkus-systemd-notify plugin - NotifyAccess = "all"; - }; - script = '' + serviceConfig = { + LoadCredential = + map (p: "${baseNameOf p}:${p}") secretPaths + ++ optionals (cfg.sslCertificate != null && cfg.sslCertificateKey != null) [ + "ssl_cert:${cfg.sslCertificate}" + "ssl_key:${cfg.sslCertificateKey}" + ]; + User = "keycloak"; + Group = "keycloak"; + DynamicUser = true; + RuntimeDirectory = "keycloak"; + RuntimeDirectoryMode = "0700"; + AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + Type = "notify"; # Requires quarkus-systemd-notify plugin + NotifyAccess = "all"; + }; + script = + '' set -o errexit -o pipefail -o nounset -o errtrace shopt -s inherit_errexit @@ -661,22 +719,24 @@ in # sequences. sed -i '/db-/ s|\\|\\\\|g' /run/keycloak/conf/keycloak.conf - '' + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) '' + '' + + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) '' mkdir -p /run/keycloak/ssl cp $CREDENTIALS_DIRECTORY/ssl_{cert,key} /run/keycloak/ssl/ - '' + '' + '' + + '' kc.sh --verbose start --optimized ''; - }; + }; - services.postgresql.enable = mkDefault createLocalPostgreSQL; - services.mysql.enable = mkDefault createLocalMySQL; - services.mysql.package = - let - dbPkg = if cfg.database.type == "mariadb" then pkgs.mariadb else pkgs.mysql80; - in - mkIf createLocalMySQL (mkDefault dbPkg); - }; + services.postgresql.enable = mkDefault createLocalPostgreSQL; + services.mysql.enable = mkDefault createLocalMySQL; + services.mysql.package = + let + dbPkg = if cfg.database.type == "mariadb" then pkgs.mariadb else pkgs.mysql80; + in + mkIf createLocalMySQL (mkDefault dbPkg); + }; meta.doc = ./keycloak.md; meta.maintainers = [ maintainers.talyz ]; diff --git a/nixos/modules/services/web-apps/lanraragi.nix b/nixos/modules/services/web-apps/lanraragi.nix index 7b7fb01918bbc..4c029d3018276 100644 --- a/nixos/modules/services/web-apps/lanraragi.nix +++ b/nixos/modules/services/web-apps/lanraragi.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.services.lanraragi; @@ -53,7 +58,10 @@ in systemd.services.lanraragi = { description = "LANraragi main service"; - after = [ "network.target" "redis-lanraragi.service" ]; + after = [ + "network.target" + "redis-lanraragi.service" + ]; requires = [ "redis-lanraragi.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -71,23 +79,29 @@ in "LRR_NETWORK" = "http://*:${toString cfg.port}"; "HOME" = "/var/lib/lanraragi"; }; - preStart = '' - cat > lrr.conf < "127.0.0.1:${toString cfg.redis.port}", - redis_password => "${lib.optionalString (cfg.redis.passwordFile != null) ''$(head -n1 ${cfg.redis.passwordFile})''}", - redis_database => "0", - redis_database_minion => "1", - redis_database_config => "2", - redis_database_search => "3", - } - EOF - '' + lib.optionalString (cfg.passwordFile != null) '' - ${lib.getExe pkgs.redis} -h 127.0.0.1 -p ${toString cfg.redis.port} ${lib.optionalString (cfg.redis.passwordFile != null) ''-a "$(head -n1 ${cfg.redis.passwordFile})"''}< lrr.conf < "127.0.0.1:${toString cfg.redis.port}", + redis_password => "${ + lib.optionalString (cfg.redis.passwordFile != null) ''$(head -n1 ${cfg.redis.passwordFile})'' + }", + redis_database => "0", + redis_database_minion => "1", + redis_database_config => "2", + redis_database_search => "3", + } + EOF + '' + + lib.optionalString (cfg.passwordFile != null) '' + ${lib.getExe pkgs.redis} -h 127.0.0.1 -p ${toString cfg.redis.port} ${ + lib.optionalString (cfg.redis.passwordFile != null) ''-a "$(head -n1 ${cfg.redis.passwordFile})"'' + }< cfg.settings.database.host == "localhost" || cfg.settings.database.host == "/run/postgresql"; + assertion = + cfg.database.createLocally + -> cfg.settings.database.host == "localhost" || cfg.settings.database.host == "/run/postgresql"; message = "if you want to create the database locally, you need to use a local database"; } { - assertion = (!(hasAttrByPath ["federation"] cfg.settings)) && (!(hasAttrByPath ["federation" "enabled"] cfg.settings)); + assertion = + (!(hasAttrByPath [ "federation" ] cfg.settings)) + && (!(hasAttrByPath [ "federation" "enabled" ] cfg.settings)); message = "`services.lemmy.settings.federation` was removed in 0.17.0 and no longer has any effect"; } { @@ -245,46 +301,56 @@ in } ]; - systemd.services.lemmy = let - substitutedConfig = "/run/lemmy/config.hjson"; - in { - description = "Lemmy server"; - - environment = { - LEMMY_CONFIG_LOCATION = if secrets == {} then settingsFormat.generate "config.hjson" cfg.settings else substitutedConfig; - LEMMY_DATABASE_URL = if cfg.database.uri != null then cfg.database.uri else (mkIf (cfg.database.createLocally) "postgres:///lemmy?host=/run/postgresql&user=lemmy"); - }; + systemd.services.lemmy = + let + substitutedConfig = "/run/lemmy/config.hjson"; + in + { + description = "Lemmy server"; + + environment = { + LEMMY_CONFIG_LOCATION = + if secrets == { } then settingsFormat.generate "config.hjson" cfg.settings else substitutedConfig; + LEMMY_DATABASE_URL = + if cfg.database.uri != null then + cfg.database.uri + else + (mkIf (cfg.database.createLocally) "postgres:///lemmy?host=/run/postgresql&user=lemmy"); + }; - documentation = [ - "https://join-lemmy.org/docs/en/admins/from_scratch.html" - "https://join-lemmy.org/docs/en/" - ]; + documentation = [ + "https://join-lemmy.org/docs/en/admins/from_scratch.html" + "https://join-lemmy.org/docs/en/" + ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; - after = [ "pict-rs.service" ] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ]; + after = [ "pict-rs.service" ] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ]; - requires = lib.optionals cfg.database.createLocally [ "postgresql.service" ]; + requires = lib.optionals cfg.database.createLocally [ "postgresql.service" ]; - # substitute secrets and prevent others from reading the result - # if somehow $CREDENTIALS_DIRECTORY is not set we fail - preStart = mkIf (secrets != {}) '' - set -u - umask u=rw,g=,o= - cd "$CREDENTIALS_DIRECTORY" - ${utils.genJqSecretsReplacementSnippet cfg.settings substitutedConfig} - ''; + # substitute secrets and prevent others from reading the result + # if somehow $CREDENTIALS_DIRECTORY is not set we fail + preStart = mkIf (secrets != { }) '' + set -u + umask u=rw,g=,o= + cd "$CREDENTIALS_DIRECTORY" + ${utils.genJqSecretsReplacementSnippet cfg.settings substitutedConfig} + ''; - serviceConfig = { - DynamicUser = true; - RuntimeDirectory = "lemmy"; - ExecStart = "${cfg.server.package}/bin/lemmy_server"; - LoadCredential = lib.foldlAttrs (acc: option: data: acc ++ [ "${option}:${toString data.path}" ]) [] secrets; - PrivateTmp = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; + serviceConfig = { + DynamicUser = true; + RuntimeDirectory = "lemmy"; + ExecStart = "${cfg.server.package}/bin/lemmy_server"; + LoadCredential = lib.foldlAttrs ( + acc: option: data: + acc ++ [ "${option}:${toString data.path}" ] + ) [ ] secrets; + PrivateTmp = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + }; }; - }; systemd.services.lemmy-ui = { description = "Lemmy ui"; diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix index dbcd9eae2d29a..c1d4d01b6a6a3 100644 --- a/nixos/modules/services/web-apps/limesurvey.nix +++ b/nixos/modules/services/web-apps/limesurvey.nix @@ -1,9 +1,28 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption mkPackageOption; - inherit (lib) literalExpression mapAttrs optional optionalString types; + inherit (lib) + mkDefault + mkEnableOption + mkForce + mkIf + mkMerge + mkOption + mkPackageOption + ; + inherit (lib) + literalExpression + mapAttrs + optional + optionalString + types + ; cfg = config.services.limesurvey; fpm = config.services.phpfpm.pools.limesurvey; @@ -12,9 +31,17 @@ let group = config.services.httpd.group; stateDir = "/var/lib/limesurvey"; - configType = with types; oneOf [ (attrsOf configType) str int bool ] // { - description = "limesurvey config type (str, int, bool or attribute set thereof)"; - }; + configType = + with types; + oneOf [ + (attrsOf configType) + str + int + bool + ] + // { + description = "limesurvey config type (str, int, bool or attribute set thereof)"; + }; limesurveyConfig = pkgs.writeText "config.php" '' @@ -201,19 +244,24 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.type == "mysql"; + { + assertion = cfg.database.createLocally -> cfg.database.type == "mysql"; message = "services.limesurvey.createLocally is currently only supported for database type 'mysql'"; } - { assertion = cfg.database.createLocally -> cfg.database.user == user; + { + assertion = cfg.database.createLocally -> cfg.database.user == user; message = "services.limesurvey.database.user must be set to ${user} if services.limesurvey.database.createLocally is set true"; } - { assertion = cfg.database.createLocally -> cfg.database.socket != null; + { + assertion = cfg.database.createLocally -> cfg.database.socket != null; message = "services.limesurvey.database.socket must be set if services.limesurvey.database.createLocally is set to true"; } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; message = "a password cannot be specified if services.limesurvey.database.createLocally is set to true"; } - { assertion = cfg.encryptionKey != null || cfg.encryptionKeyFile != null; + { + assertion = cfg.encryptionKey != null || cfg.encryptionKeyFile != null; message = '' You must set `services.limesurvey.encryptionKeyFile` to a file containing a 32-character uppercase hex string. @@ -221,7 +269,8 @@ in in the LimeSurvey interface and create backups before filling the key. ''; } - { assertion = cfg.encryptionNonce != null || cfg.encryptionNonceFile != null; + { + assertion = cfg.encryptionNonce != null || cfg.encryptionNonceFile != null; message = '' You must set `services.limesurvey.encryptionNonceFile` to a file containing a 24-character uppercase hex string. @@ -235,10 +284,15 @@ in runtimePath = "${stateDir}/tmp/runtime"; components = { db = { - connectionString = "${cfg.database.type}:dbname=${cfg.database.name};host=${if pgsqlLocal then cfg.database.socket else cfg.database.host};port=${toString cfg.database.port}" + - optionalString mysqlLocal ";socket=${cfg.database.socket}"; + connectionString = + "${cfg.database.type}:dbname=${cfg.database.name};host=${ + if pgsqlLocal then cfg.database.socket else cfg.database.host + };port=${toString cfg.database.port}" + + optionalString mysqlLocal ";socket=${cfg.database.socket}"; username = cfg.database.user; - password = mkIf (cfg.database.passwordFile != null) "file_get_contents(\"${toString cfg.database.passwordFile}\");"; + password = mkIf ( + cfg.database.passwordFile != null + ) "file_get_contents(\"${toString cfg.database.passwordFile}\");"; tablePrefix = "limesurvey_"; }; assetManager.basePath = "${stateDir}/tmp/assets"; @@ -250,7 +304,9 @@ in config = { tempdir = "${stateDir}/tmp"; uploaddir = "${stateDir}/upload"; - force_ssl = mkIf (cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL) "on"; + force_ssl = mkIf ( + cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL + ) "on"; config.defaultlang = "en"; }; }; @@ -260,7 +316,8 @@ in package = mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensurePermissions = { "${cfg.database.name}.*" = "SELECT, CREATE, INSERT, UPDATE, DELETE, ALTER, DROP, INDEX"; }; @@ -289,8 +346,18 @@ in chown ${user}:${group} "${stateDir}/credentials/encryption_nonce" ''; LoadCredential = [ - "encryption_key:${if cfg.encryptionKeyFile != null then cfg.encryptionKeyFile else pkgs.writeText "key" cfg.encryptionKey}" - "encryption_nonce:${if cfg.encryptionNonceFile != null then cfg.encryptionNonceFile else pkgs.writeText "nonce" cfg.encryptionKey}" + "encryption_key:${ + if cfg.encryptionKeyFile != null then + cfg.encryptionKeyFile + else + pkgs.writeText "key" cfg.encryptionKey + }" + "encryption_nonce:${ + if cfg.encryptionNonceFile != null then + cfg.encryptionNonceFile + else + pkgs.writeText "nonce" cfg.encryptionKey + }" ]; }; @@ -298,36 +365,39 @@ in enable = true; adminAddr = mkDefault cfg.virtualHost.adminAddr; extraModules = [ "proxy_fcgi" ]; - virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost { - documentRoot = mkForce "${cfg.package}/share/limesurvey"; - extraConfig = '' - Alias "/tmp" "${stateDir}/tmp" - - AllowOverride all - Require all granted - Options -Indexes +FollowSymlinks - - - Alias "/upload" "${stateDir}/upload" - - AllowOverride all - Require all granted - Options -Indexes - - - - - - SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" - - - - AllowOverride all - Options -Indexes - DirectoryIndex index.php - - ''; - } ]; + virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ + cfg.virtualHost + { + documentRoot = mkForce "${cfg.package}/share/limesurvey"; + extraConfig = '' + Alias "/tmp" "${stateDir}/tmp" + + AllowOverride all + Require all granted + Options -Indexes +FollowSymlinks + + + Alias "/upload" "${stateDir}/upload" + + AllowOverride all + Require all granted + Options -Indexes + + + + + + SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" + + + + AllowOverride all + Options -Indexes + DirectoryIndex index.php + + ''; + } + ]; }; systemd.tmpfiles.rules = [ @@ -356,13 +426,25 @@ in Group = group; Type = "oneshot"; LoadCredential = [ - "encryption_key:${if cfg.encryptionKeyFile != null then cfg.encryptionKeyFile else pkgs.writeText "key" cfg.encryptionKey}" - "encryption_nonce:${if cfg.encryptionNonceFile != null then cfg.encryptionNonceFile else pkgs.writeText "nonce" cfg.encryptionKey}" + "encryption_key:${ + if cfg.encryptionKeyFile != null then + cfg.encryptionKeyFile + else + pkgs.writeText "key" cfg.encryptionKey + }" + "encryption_nonce:${ + if cfg.encryptionNonceFile != null then + cfg.encryptionNonceFile + else + pkgs.writeText "nonce" cfg.encryptionKey + }" ]; }; }; - systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + systemd.services.httpd.after = + optional mysqlLocal "mysql.service" + ++ optional pgsqlLocal "postgresql.service"; users.users.${user} = { group = group; diff --git a/nixos/modules/services/web-apps/mattermost.nix b/nixos/modules/services/web-apps/mattermost.nix index fee0ec2d641d2..4f12774327f26 100644 --- a/nixos/modules/services/web-apps/mattermost.nix +++ b/nixos/modules/services/web-apps/mattermost.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -10,88 +15,96 @@ let postgresPackage = config.services.postgresql.package; - createDb = { - statePath ? cfg.statePath, - localDatabaseUser ? cfg.localDatabaseUser, - localDatabasePassword ? cfg.localDatabasePassword, - localDatabaseName ? cfg.localDatabaseName, - useSudo ? true - }: '' - if ! test -e ${escapeShellArg "${statePath}/.db-created"}; then - ${lib.optionalString useSudo "${pkgs.sudo}/bin/sudo -u ${escapeShellArg config.services.postgresql.superUser} \\"} - ${postgresPackage}/bin/psql postgres -c \ - "CREATE ROLE ${localDatabaseUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${localDatabasePassword}'" - ${lib.optionalString useSudo "${pkgs.sudo}/bin/sudo -u ${escapeShellArg config.services.postgresql.superUser} \\"} - ${postgresPackage}/bin/createdb \ - --owner ${escapeShellArg localDatabaseUser} ${escapeShellArg localDatabaseName} - touch ${escapeShellArg "${statePath}/.db-created"} - fi - ''; - - mattermostPluginDerivations = with pkgs; - map (plugin: stdenv.mkDerivation { - name = "mattermost-plugin"; - installPhase = '' - mkdir -p $out/share - cp ${plugin} $out/share/plugin.tar.gz - ''; - dontUnpack = true; - dontPatch = true; - dontConfigure = true; - dontBuild = true; - preferLocalBuild = true; - }) cfg.plugins; - - mattermostPlugins = with pkgs; - if mattermostPluginDerivations == [] then null - else stdenv.mkDerivation { - name = "${cfg.package.name}-plugins"; - nativeBuildInputs = [ - autoPatchelfHook - ] ++ mattermostPluginDerivations; - buildInputs = [ - cfg.package - ]; - installPhase = '' - mkdir -p $out/data/plugins - plugins=(${escapeShellArgs (map (plugin: "${plugin}/share/plugin.tar.gz") mattermostPluginDerivations)}) - for plugin in "''${plugins[@]}"; do - hash="$(sha256sum "$plugin" | cut -d' ' -f1)" - mkdir -p "$hash" - tar -C "$hash" -xzf "$plugin" - autoPatchelf "$hash" - GZIP_OPT=-9 tar -C "$hash" -cvzf "$out/data/plugins/$hash.tar.gz" . - rm -rf "$hash" - done - ''; - - dontUnpack = true; - dontPatch = true; - dontConfigure = true; - dontBuild = true; - preferLocalBuild = true; - }; + createDb = + { + statePath ? cfg.statePath, + localDatabaseUser ? cfg.localDatabaseUser, + localDatabasePassword ? cfg.localDatabasePassword, + localDatabaseName ? cfg.localDatabaseName, + useSudo ? true, + }: + '' + if ! test -e ${escapeShellArg "${statePath}/.db-created"}; then + ${lib.optionalString useSudo "${pkgs.sudo}/bin/sudo -u ${escapeShellArg config.services.postgresql.superUser} \\"} + ${postgresPackage}/bin/psql postgres -c \ + "CREATE ROLE ${localDatabaseUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${localDatabasePassword}'" + ${lib.optionalString useSudo "${pkgs.sudo}/bin/sudo -u ${escapeShellArg config.services.postgresql.superUser} \\"} + ${postgresPackage}/bin/createdb \ + --owner ${escapeShellArg localDatabaseUser} ${escapeShellArg localDatabaseName} + touch ${escapeShellArg "${statePath}/.db-created"} + fi + ''; + + mattermostPluginDerivations = + with pkgs; + map ( + plugin: + stdenv.mkDerivation { + name = "mattermost-plugin"; + installPhase = '' + mkdir -p $out/share + cp ${plugin} $out/share/plugin.tar.gz + ''; + dontUnpack = true; + dontPatch = true; + dontConfigure = true; + dontBuild = true; + preferLocalBuild = true; + } + ) cfg.plugins; + + mattermostPlugins = + with pkgs; + if mattermostPluginDerivations == [ ] then + null + else + stdenv.mkDerivation { + name = "${cfg.package.name}-plugins"; + nativeBuildInputs = [ + autoPatchelfHook + ] ++ mattermostPluginDerivations; + buildInputs = [ + cfg.package + ]; + installPhase = '' + mkdir -p $out/data/plugins + plugins=(${ + escapeShellArgs (map (plugin: "${plugin}/share/plugin.tar.gz") mattermostPluginDerivations) + }) + for plugin in "''${plugins[@]}"; do + hash="$(sha256sum "$plugin" | cut -d' ' -f1)" + mkdir -p "$hash" + tar -C "$hash" -xzf "$plugin" + autoPatchelf "$hash" + GZIP_OPT=-9 tar -C "$hash" -cvzf "$out/data/plugins/$hash.tar.gz" . + rm -rf "$hash" + done + ''; + + dontUnpack = true; + dontPatch = true; + dontConfigure = true; + dontBuild = true; + preferLocalBuild = true; + }; - mattermostConfWithoutPlugins = recursiveUpdate - { ServiceSettings.SiteURL = cfg.siteUrl; - ServiceSettings.ListenAddress = cfg.listenAddress; - TeamSettings.SiteName = cfg.siteName; - SqlSettings.DriverName = "postgres"; - SqlSettings.DataSource = database; - PluginSettings.Directory = "${cfg.statePath}/plugins/server"; - PluginSettings.ClientDirectory = "${cfg.statePath}/plugins/client"; + mattermostConfWithoutPlugins = recursiveUpdate { + ServiceSettings.SiteURL = cfg.siteUrl; + ServiceSettings.ListenAddress = cfg.listenAddress; + TeamSettings.SiteName = cfg.siteName; + SqlSettings.DriverName = "postgres"; + SqlSettings.DataSource = database; + PluginSettings.Directory = "${cfg.statePath}/plugins/server"; + PluginSettings.ClientDirectory = "${cfg.statePath}/plugins/client"; + } cfg.extraConfig; + + mattermostConf = recursiveUpdate mattermostConfWithoutPlugins ( + lib.optionalAttrs (mattermostPlugins != null) { + PluginSettings = { + Enable = true; + }; } - cfg.extraConfig; - - mattermostConf = recursiveUpdate - mattermostConfWithoutPlugins - ( - lib.optionalAttrs (mattermostPlugins != null) { - PluginSettings = { - Enable = true; - }; - } - ); + ); mattermostConfJSON = pkgs.writeText "mattermost-config.json" (builtins.toJSON mattermostConf); @@ -169,8 +182,13 @@ in }; plugins = mkOption { - type = types.listOf (types.oneOf [types.path types.package]); - default = []; + type = types.listOf ( + types.oneOf [ + types.path + types.package + ] + ); + default = [ ]; example = "[ ./com.github.moussetc.mattermost.plugin.giphy-2.0.0.tar.gz ]"; description = '' Plugins to add to the configuration. Overrides any installed if non-null. @@ -249,7 +267,10 @@ in parameters = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "-mmserver chat.example.com" "-bind [::]:6667" ]; + example = [ + "-mmserver chat.example.com" + "-bind [::]:6667" + ]; description = '' Set commandline parameters to pass to matterircd. See https://github.com/42wim/matterircd#usage for more information. @@ -282,38 +303,48 @@ in systemd.services.mattermost = { description = "Mattermost chat service"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "postgresql.service" ]; - - preStart = '' - mkdir -p "${cfg.statePath}"/{data,config,logs,plugins} - mkdir -p "${cfg.statePath}/plugins"/{client,server} - ln -sf ${cfg.package}/{bin,fonts,i18n,templates,client} "${cfg.statePath}" - '' + lib.optionalString (mattermostPlugins != null) '' - rm -rf "${cfg.statePath}/data/plugins" - ln -sf ${mattermostPlugins}/data/plugins "${cfg.statePath}/data" - '' + lib.optionalString (!cfg.mutableConfig) '' - rm -f "${cfg.statePath}/config/config.json" - ${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${cfg.package}/config/config.json ${mattermostConfJSON} > "${cfg.statePath}/config/config.json" - '' + lib.optionalString cfg.mutableConfig '' - if ! test -e "${cfg.statePath}/config/.initial-created"; then - rm -f ${cfg.statePath}/config/config.json + after = [ + "network.target" + "postgresql.service" + ]; + + preStart = + '' + mkdir -p "${cfg.statePath}"/{data,config,logs,plugins} + mkdir -p "${cfg.statePath}/plugins"/{client,server} + ln -sf ${cfg.package}/{bin,fonts,i18n,templates,client} "${cfg.statePath}" + '' + + lib.optionalString (mattermostPlugins != null) '' + rm -rf "${cfg.statePath}/data/plugins" + ln -sf ${mattermostPlugins}/data/plugins "${cfg.statePath}/data" + '' + + lib.optionalString (!cfg.mutableConfig) '' + rm -f "${cfg.statePath}/config/config.json" ${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${cfg.package}/config/config.json ${mattermostConfJSON} > "${cfg.statePath}/config/config.json" - touch "${cfg.statePath}/config/.initial-created" - fi - '' + lib.optionalString (cfg.mutableConfig && cfg.preferNixConfig) '' - new_config="$(${pkgs.jq}/bin/jq -s '.[0] * .[1]' "${cfg.statePath}/config/config.json" ${mattermostConfJSON})" - - rm -f "${cfg.statePath}/config/config.json" - echo "$new_config" > "${cfg.statePath}/config/config.json" - '' + lib.optionalString cfg.localDatabaseCreate (createDb {}) + '' - # Don't change permissions recursively on the data, current, and symlinked directories (see ln -sf command above). - # This dramatically decreases startup times for installations with a lot of files. - find . -maxdepth 1 -not -name data -not -name client -not -name templates -not -name i18n -not -name fonts -not -name bin -not -name . \ - -exec chown "${cfg.user}:${cfg.group}" -R {} \; -exec chmod u+rw,g+r,o-rwx -R {} \; - - chown "${cfg.user}:${cfg.group}" "${cfg.statePath}/data" . - chmod u+rw,g+r,o-rwx "${cfg.statePath}/data" . - ''; + '' + + lib.optionalString cfg.mutableConfig '' + if ! test -e "${cfg.statePath}/config/.initial-created"; then + rm -f ${cfg.statePath}/config/config.json + ${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${cfg.package}/config/config.json ${mattermostConfJSON} > "${cfg.statePath}/config/config.json" + touch "${cfg.statePath}/config/.initial-created" + fi + '' + + lib.optionalString (cfg.mutableConfig && cfg.preferNixConfig) '' + new_config="$(${pkgs.jq}/bin/jq -s '.[0] * .[1]' "${cfg.statePath}/config/config.json" ${mattermostConfJSON})" + + rm -f "${cfg.statePath}/config/config.json" + echo "$new_config" > "${cfg.statePath}/config/config.json" + '' + + lib.optionalString cfg.localDatabaseCreate (createDb { }) + + '' + # Don't change permissions recursively on the data, current, and symlinked directories (see ln -sf command above). + # This dramatically decreases startup times for installations with a lot of files. + find . -maxdepth 1 -not -name data -not -name client -not -name templates -not -name i18n -not -name fonts -not -name bin -not -name . \ + -exec chown "${cfg.user}:${cfg.group}" -R {} \; -exec chmod u+rw,g+r,o-rwx -R {} \; + + chown "${cfg.user}:${cfg.group}" "${cfg.statePath}/data" . + chmod u+rw,g+r,o-rwx "${cfg.statePath}/data" . + ''; serviceConfig = { PermissionsStartOnly = true; diff --git a/nixos/modules/services/web-apps/mealie.nix b/nixos/modules/services/web-apps/mealie.nix index ab94103954e13..48b0450eac2db 100644 --- a/nixos/modules/services/web-apps/mealie.nix +++ b/nixos/modules/services/web-apps/mealie.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.mealie; pkg = cfg.package; @@ -23,7 +28,7 @@ in settings = lib.mkOption { type = with lib.types; attrsOf anything; - default = {}; + default = { }; description = '' Configuration of the Mealie service. @@ -70,7 +75,7 @@ in ExecStart = "${lib.getExe pkg} -b ${cfg.listenAddress}:${builtins.toString cfg.port}"; EnvironmentFile = lib.mkIf (cfg.credentialsFile != null) cfg.credentialsFile; StateDirectory = "mealie"; - StandardOutput="journal"; + StandardOutput = "journal"; }; }; }; diff --git a/nixos/modules/services/web-apps/meme-bingo-web.nix b/nixos/modules/services/web-apps/meme-bingo-web.nix index 4623bc22c26ff..68be85906075f 100644 --- a/nixos/modules/services/web-apps/meme-bingo-web.nix +++ b/nixos/modules/services/web-apps/meme-bingo-web.nix @@ -1,10 +1,23 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkIf mkOption types literalExpression; + inherit (lib) + mkEnableOption + mkPackageOption + mkIf + mkOption + types + literalExpression + ; cfg = config.services.meme-bingo-web; -in { +in +{ options = { services.meme-bingo-web = { enable = mkEnableOption '' @@ -59,7 +72,10 @@ in { # Hardening CapabilityBoundingSet = [ "" ]; DeviceAllow = [ "/dev/random" ]; - InaccessiblePaths = [ "/dev/shm" "/sys" ]; + InaccessiblePaths = [ + "/dev/shm" + "/sys" + ]; LockPersonality = true; PrivateDevices = true; PrivateUsers = true; @@ -73,12 +89,22 @@ in { ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictFilesystems = [ "@basic-api" "~sysfs" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + RestrictFilesystems = [ + "@basic-api" + "~sysfs" + ]; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; UMask = "0077"; RestrictSUIDSGID = true; RemoveIPC = true; diff --git a/nixos/modules/services/web-apps/microbin.nix b/nixos/modules/services/web-apps/microbin.nix index e404609a4c22b..18a4d482a5240 100644 --- a/nixos/modules/services/web-apps/microbin.nix +++ b/nixos/modules/services/web-apps/microbin.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.microbin; @@ -10,7 +15,15 @@ in package = lib.mkPackageOption pkgs "microbin" { }; settings = lib.mkOption { - type = lib.types.submodule { freeformType = with lib.types; attrsOf (oneOf [ bool int str ]); }; + type = lib.types.submodule { + freeformType = + with lib.types; + attrsOf (oneOf [ + bool + int + str + ]); + }; default = { }; example = { MICROBIN_PORT = 8080; @@ -59,7 +72,9 @@ in systemd.services.microbin = { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - environment = lib.mapAttrs (_: v: if lib.isBool v then lib.boolToString v else toString v) cfg.settings; + environment = lib.mapAttrs ( + _: v: if lib.isBool v then lib.boolToString v else toString v + ) cfg.settings; serviceConfig = { DevicePolicy = "closed"; DynamicUser = true; @@ -77,7 +92,10 @@ in ProtectKernelTunables = true; ProtectProc = "invisible"; ReadWritePaths = cfg.dataDir; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictNamespaces = true; RestrictRealtime = true; StateDirectory = "microbin"; diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix index b733ceec74dbe..8cacaa5aa330a 100644 --- a/nixos/modules/services/web-apps/miniflux.nix +++ b/nixos/modules/services/web-apps/miniflux.nix @@ -1,7 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkPackageOption mkOption types literalExpression mkIf mkDefault; + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + types + literalExpression + mkIf + mkDefault + ; cfg = config.services.miniflux; defaultAddress = "localhost:8080"; @@ -31,7 +44,12 @@ in }; config = mkOption { - type = with types; attrsOf (oneOf [ str int ]); + type = + with types; + attrsOf (oneOf [ + str + int + ]); example = literalExpression '' { CLEANUP_FREQUENCY = 48; @@ -63,7 +81,8 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.config.CREATE_ADMIN == 0 || cfg.adminCredentialsFile != null; + { + assertion = cfg.config.CREATE_ADMIN == 0 || cfg.adminCredentialsFile != null; message = "services.miniflux.adminCredentialsFile must be set if services.miniflux.config.CREATE_ADMIN is 1"; } ]; @@ -77,17 +96,22 @@ in services.postgresql = lib.mkIf cfg.createDatabaseLocally { enable = true; - ensureUsers = [ { - name = "miniflux"; - ensureDBOwnership = true; - } ]; + ensureUsers = [ + { + name = "miniflux"; + ensureDBOwnership = true; + } + ]; ensureDatabases = [ "miniflux" ]; }; systemd.services.miniflux-dbsetup = lib.mkIf cfg.createDatabaseLocally { description = "Miniflux database setup"; requires = [ "postgresql.service" ]; - after = [ "network.target" "postgresql.service" ]; + after = [ + "network.target" + "postgresql.service" + ]; serviceConfig = { Type = "oneshot"; User = config.services.postgresql.superUser; @@ -99,8 +123,12 @@ in description = "Miniflux service"; wantedBy = [ "multi-user.target" ]; requires = lib.optional cfg.createDatabaseLocally "miniflux-dbsetup.service"; - after = [ "network.target" ] - ++ lib.optionals cfg.createDatabaseLocally [ "postgresql.service" "miniflux-dbsetup.service" ]; + after = + [ "network.target" ] + ++ lib.optionals cfg.createDatabaseLocally [ + "postgresql.service" + "miniflux-dbsetup.service" + ]; serviceConfig = { Type = "notify"; @@ -131,12 +159,19 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; UMask = "0077"; }; diff --git a/nixos/modules/services/web-apps/mobilizon.nix b/nixos/modules/services/web-apps/mobilizon.nix index 122e55ac912af..d70c50d981dee 100644 --- a/nixos/modules/services/web-apps/mobilizon.nix +++ b/nixos/modules/services/web-apps/mobilizon.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: with lib; @@ -104,7 +109,16 @@ in }; ip = mkOption { type = elixirTypes.tuple; - default = settingsFormat.lib.mkTuple [ 0 0 0 0 0 0 0 1 ]; + default = settingsFormat.lib.mkTuple [ + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + ]; description = '' The IP address to listen on. Defaults to [::1] notated as a byte tuple. ''; @@ -208,7 +222,20 @@ in assertions = [ { - assertion = cfg.nginx.enable -> (cfg.settings.":mobilizon"."Mobilizon.Web.Endpoint".http.ip == settingsFormat.lib.mkTuple [ 0 0 0 0 0 0 0 1 ]); + assertion = + cfg.nginx.enable + -> ( + cfg.settings.":mobilizon"."Mobilizon.Web.Endpoint".http.ip == settingsFormat.lib.mkTuple [ + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + ] + ); message = "Setting the IP mobilizon listens on is only possible when the nginx config is not used, as it is hardcoded there."; } ]; @@ -218,12 +245,12 @@ in "Mobilizon.Web.Endpoint" = { server = true; url.host = mkDefault instanceSettings.hostname; - secret_key_base = - settingsFormat.lib.mkGetEnv { envVariable = "MOBILIZON_INSTANCE_SECRET"; }; + secret_key_base = settingsFormat.lib.mkGetEnv { envVariable = "MOBILIZON_INSTANCE_SECRET"; }; }; - "Mobilizon.Web.Auth.Guardian".secret_key = - settingsFormat.lib.mkGetEnv { envVariable = "MOBILIZON_AUTH_SECRET"; }; + "Mobilizon.Web.Auth.Guardian".secret_key = settingsFormat.lib.mkGetEnv { + envVariable = "MOBILIZON_AUTH_SECRET"; + }; ":instance" = { registrations_open = mkDefault false; @@ -299,9 +326,7 @@ in # Taken from here: # https://framagit.org/framasoft/mobilizon/-/blob/1.0.7/lib/mix/tasks/mobilizon/instance.ex#L132-133 genSecret = - "IO.puts(:crypto.strong_rand_bytes(64)" + - "|> Base.encode64()" + - "|> binary_part(0, 64))"; + "IO.puts(:crypto.strong_rand_bytes(64)" + "|> Base.encode64()" + "|> binary_part(0, 64))"; # Taken from here: # https://github.com/elixir-lang/elixir/blob/v1.11.3/lib/mix/lib/mix/release.ex#L499 @@ -339,7 +364,10 @@ in description = "Mobilizon PostgreSQL setup"; after = [ "postgresql.service" ]; - before = [ "mobilizon.service" "mobilizon-setup-secrets.service" ]; + before = [ + "mobilizon.service" + "mobilizon-setup-secrets.service" + ]; wantedBy = [ "mobilizon.service" ]; path = [ postgresql ]; @@ -350,15 +378,14 @@ in # as PostgreSQL 15 changed their behaviors w.r.t. to privileges. # See https://github.com/NixOS/nixpkgs/issues/216989 to get rid # of that workaround. - script = - '' - psql "${repoSettings.database}" -c "\ - CREATE EXTENSION IF NOT EXISTS postgis; \ - CREATE EXTENSION IF NOT EXISTS pg_trgm; \ - CREATE EXTENSION IF NOT EXISTS unaccent;" - psql -tAc 'ALTER DATABASE "${repoSettings.database}" OWNER TO "${dbUser}";' + script = '' + psql "${repoSettings.database}" -c "\ + CREATE EXTENSION IF NOT EXISTS postgis; \ + CREATE EXTENSION IF NOT EXISTS pg_trgm; \ + CREATE EXTENSION IF NOT EXISTS unaccent;" + psql -tAc 'ALTER DATABASE "${repoSettings.database}" OWNER TO "${dbUser}";' - ''; + ''; serviceConfig = { Type = "oneshot"; @@ -390,8 +417,7 @@ in services.nginx = let inherit (cfg.settings.":mobilizon".":instance") hostname; - proxyPass = "http://[::1]:" - + toString cfg.settings.":mobilizon"."Mobilizon.Web.Endpoint".http.port; + proxyPass = "http://[::1]:" + toString cfg.settings.":mobilizon"."Mobilizon.Web.Endpoint".http.port; in lib.mkIf cfg.nginx.enable { enable = true; @@ -444,5 +470,8 @@ in environment.systemPackages = [ launchers ]; }; - meta.maintainers = with lib.maintainers; [ minijackson erictapen ]; + meta.maintainers = with lib.maintainers; [ + minijackson + erictapen + ]; } diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix index 9a66591badb5a..e49f7a89d0de0 100644 --- a/nixos/modules/services/web-apps/moodle.nix +++ b/nixos/modules/services/web-apps/moodle.nix @@ -1,8 +1,28 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkDefault mkEnableOption mkPackageOption mkForce mkIf mkMerge mkOption types; - inherit (lib) concatStringsSep literalExpression mapAttrsToList optional optionalString; + inherit (lib) + mkDefault + mkEnableOption + mkPackageOption + mkForce + mkIf + mkMerge + mkOption + types + ; + inherit (lib) + concatStringsSep + literalExpression + mapAttrsToList + optional + optionalString + ; cfg = config.services.moodle; fpm = config.services.phpfpm.pools.moodle; @@ -12,52 +32,97 @@ let stateDir = "/var/lib/moodle"; moodleConfig = pkgs.writeText "config.php" '' - dbtype = '${ { mysql = "mariadb"; pgsql = "pgsql"; }.${cfg.database.type} }'; - $CFG->dblibrary = 'native'; - $CFG->dbhost = '${cfg.database.host}'; - $CFG->dbname = '${cfg.database.name}'; - $CFG->dbuser = '${cfg.database.user}'; - ${optionalString (cfg.database.passwordFile != null) "$CFG->dbpass = file_get_contents('${cfg.database.passwordFile}');"} - $CFG->prefix = 'mdl_'; - $CFG->dboptions = array ( - 'dbpersist' => 0, - 'dbport' => '${toString cfg.database.port}', - ${optionalString (cfg.database.socket != null) "'dbsocket' => '${cfg.database.socket}',"} - 'dbcollation' => 'utf8mb4_unicode_ci', - ); - - $CFG->wwwroot = '${if cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL then "https" else "http"}://${cfg.virtualHost.hostName}'; - $CFG->dataroot = '${stateDir}'; - $CFG->admin = 'admin'; - - $CFG->directorypermissions = 02777; - $CFG->disableupdateautodeploy = true; - - $CFG->pathtogs = '${pkgs.ghostscript}/bin/gs'; - $CFG->pathtophp = '${phpExt}/bin/php'; - $CFG->pathtodu = '${pkgs.coreutils}/bin/du'; - $CFG->aspellpath = '${pkgs.aspell}/bin/aspell'; - $CFG->pathtodot = '${pkgs.graphviz}/bin/dot'; - - ${cfg.extraConfig} - - require_once('${cfg.package}/share/moodle/lib/setup.php'); - - // There is no php closing tag in this file, - // it is intentional because it prevents trailing whitespace problems! + dbtype = '${ + { + mysql = "mariadb"; + pgsql = "pgsql"; + } + .${cfg.database.type} + }'; + $CFG->dblibrary = 'native'; + $CFG->dbhost = '${cfg.database.host}'; + $CFG->dbname = '${cfg.database.name}'; + $CFG->dbuser = '${cfg.database.user}'; + ${optionalString ( + cfg.database.passwordFile != null + ) "$CFG->dbpass = file_get_contents('${cfg.database.passwordFile}');"} + $CFG->prefix = 'mdl_'; + $CFG->dboptions = array ( + 'dbpersist' => 0, + 'dbport' => '${toString cfg.database.port}', + ${optionalString (cfg.database.socket != null) "'dbsocket' => '${cfg.database.socket}',"} + 'dbcollation' => 'utf8mb4_unicode_ci', + ); + + $CFG->wwwroot = '${ + if cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL then + "https" + else + "http" + }://${cfg.virtualHost.hostName}'; + $CFG->dataroot = '${stateDir}'; + $CFG->admin = 'admin'; + + $CFG->directorypermissions = 02777; + $CFG->disableupdateautodeploy = true; + + $CFG->pathtogs = '${pkgs.ghostscript}/bin/gs'; + $CFG->pathtophp = '${phpExt}/bin/php'; + $CFG->pathtodu = '${pkgs.coreutils}/bin/du'; + $CFG->aspellpath = '${pkgs.aspell}/bin/aspell'; + $CFG->pathtodot = '${pkgs.graphviz}/bin/dot'; + + ${cfg.extraConfig} + + require_once('${cfg.package}/share/moodle/lib/setup.php'); + + // There is no php closing tag in this file, + // it is intentional because it prevents trailing whitespace problems! ''; mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; phpExt = pkgs.php83.buildEnv { - extensions = { all, ... }: with all; [ iconv mbstring curl openssl tokenizer soap ctype zip gd simplexml dom intl sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter opcache exif sodium ]; + extensions = + { all, ... }: + with all; + [ + iconv + mbstring + curl + openssl + tokenizer + soap + ctype + zip + gd + simplexml + dom + intl + sqlite3 + pgsql + pdo_sqlite + pdo_pgsql + pdo_odbc + pdo_mysql + pdo + mysqli + session + zlib + xmlreader + fileinfo + filter + opcache + exif + sodium + ]; extraConfig = "max_input_vars = 5000"; }; in @@ -79,7 +144,10 @@ in database = { type = mkOption { - type = types.enum [ "mysql" "pgsql" ]; + type = types.enum [ + "mysql" + "pgsql" + ]; default = "mysql"; description = "Database engine to use."; }; @@ -93,10 +161,12 @@ in port = mkOption { type = types.port; description = "Database host port."; - default = { - mysql = 3306; - pgsql = 5432; - }.${cfg.database.type}; + default = + { + mysql = 3306; + pgsql = 5432; + } + .${cfg.database.type}; defaultText = literalExpression "3306"; }; @@ -125,9 +195,12 @@ in socket = mkOption { type = types.nullOr types.path; default = - if mysqlLocal then "/run/mysqld/mysqld.sock" - else if pgsqlLocal then "/run/postgresql" - else null; + if mysqlLocal then + "/run/mysqld/mysqld.sock" + else if pgsqlLocal then + "/run/postgresql" + else + null; defaultText = literalExpression "/run/mysqld/mysqld.sock"; description = "Path to the unix socket file to use for authentication."; }; @@ -156,7 +229,13 @@ in }; poolConfig = mkOption { - type = with types; attrsOf (oneOf [ str int bool ]); + type = + with types; + attrsOf (oneOf [ + str + int + bool + ]); default = { "pm" = "dynamic"; "pm.max_children" = 32; @@ -189,10 +268,13 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name; + { + assertion = + cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name; message = "services.moodle.database.user must be set to ${user} if services.moodle.database.createLocally is set true"; } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; message = "a password cannot be specified if services.moodle.database.createLocally is set to true"; } ]; @@ -202,9 +284,11 @@ in package = mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensurePermissions = { - "${cfg.database.name}.*" = "SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER"; + "${cfg.database.name}.*" = + "SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER"; }; } ]; @@ -214,7 +298,8 @@ in enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensureDBOwnership = true; } ]; @@ -239,20 +324,23 @@ in enable = true; adminAddr = mkDefault cfg.virtualHost.adminAddr; extraModules = [ "proxy_fcgi" ]; - virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost { - documentRoot = mkForce "${cfg.package}/share/moodle"; - extraConfig = '' - - - - SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" - - - Options -Indexes - DirectoryIndex index.php - - ''; - } ]; + virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ + cfg.virtualHost + { + documentRoot = mkForce "${cfg.package}/share/moodle"; + extraConfig = '' + + + + SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/" + + + Options -Indexes + DirectoryIndex index.php + + ''; + } + ]; }; systemd.tmpfiles.settings."10-moodle".${stateDir}.d = { @@ -304,7 +392,9 @@ in }; }; - systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service"; + systemd.services.httpd.after = + optional mysqlLocal "mysql.service" + ++ optional pgsqlLocal "postgresql.service"; users.users.${user} = { group = group; diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index 6f5e1536d6164..e0e01026e7adc 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -1,8 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.netbox; - pythonFmt = pkgs.formats.pythonVars {}; + pythonFmt = pkgs.formats.pythonVars { }; staticDir = cfg.dataDir + "/static"; settingsFile = pythonFmt.generate "netbox-settings.py" cfg.settings; @@ -10,24 +15,35 @@ let name = "netbox-extraConfig.py"; text = cfg.extraConfig; }; - configFile = pkgs.concatText "configuration.py" [ settingsFile extraConfigFile ]; - - pkg = (cfg.package.overrideAttrs (old: { - installPhase = old.installPhase + '' - ln -s ${configFile} $out/opt/netbox/netbox/netbox/configuration.py - '' + lib.optionalString cfg.enableLdap '' - ln -s ${cfg.ldapConfigPath} $out/opt/netbox/netbox/netbox/ldap_config.py - ''; - })).override { - inherit (cfg) plugins; - }; - netboxManageScript = with pkgs; (writeScriptBin "netbox-manage" '' - #!${stdenv.shell} - export PYTHONPATH=${pkg.pythonPath} - sudo -u netbox ${pkg}/bin/netbox "$@" - ''); - -in { + configFile = pkgs.concatText "configuration.py" [ + settingsFile + extraConfigFile + ]; + + pkg = + (cfg.package.overrideAttrs (old: { + installPhase = + old.installPhase + + '' + ln -s ${configFile} $out/opt/netbox/netbox/netbox/configuration.py + '' + + lib.optionalString cfg.enableLdap '' + ln -s ${cfg.ldapConfigPath} $out/opt/netbox/netbox/netbox/ldap_config.py + ''; + })).override + { + inherit (cfg) plugins; + }; + netboxManageScript = + with pkgs; + (writeScriptBin "netbox-manage" '' + #!${stdenv.shell} + export PYTHONPATH=${pkg.pythonPath} + sudo -u netbox ${pkg}/bin/netbox "$@" + ''); + +in +{ options.services.netbox = { enable = lib.mkOption { type = lib.types.bool; @@ -54,7 +70,7 @@ in { options = { ALLOWED_HOSTS = lib.mkOption { type = with lib.types; listOf str; - default = ["*"]; + default = [ "*" ]; description = '' A list of valid fully-qualified domain names (FQDNs) and/or IP addresses that can be used to reach the NetBox service. @@ -75,11 +91,12 @@ in { package = lib.mkOption { type = lib.types.package; default = - if lib.versionAtLeast config.system.stateVersion "24.11" - then pkgs.netbox_4_1 - else if lib.versionAtLeast config.system.stateVersion "24.05" - then pkgs.netbox_3_7 - else pkgs.netbox_3_6; + if lib.versionAtLeast config.system.stateVersion "24.11" then + pkgs.netbox_4_1 + else if lib.versionAtLeast config.system.stateVersion "24.05" then + pkgs.netbox_3_7 + else + pkgs.netbox_3_6; defaultText = lib.literalExpression '' if lib.versionAtLeast config.system.stateVersion "24.11" then pkgs.netbox_4_1 @@ -102,7 +119,7 @@ in { plugins = lib.mkOption { type = with lib.types; functionTo (listOf package); - default = _: []; + default = _: [ ]; defaultText = lib.literalExpression '' python3Packages: with python3Packages; []; ''; @@ -210,14 +227,14 @@ in { # sections, and it is strongly recommended to use two separate database # IDs. REDIS = { - tasks = { - URL = "unix://${config.services.redis.servers.netbox.unixSocket}?db=0"; - SSL = false; - }; - caching = { - URL = "unix://${config.services.redis.servers.netbox.unixSocket}?db=1"; - SSL = false; - }; + tasks = { + URL = "unix://${config.services.redis.servers.netbox.unixSocket}?db=0"; + SSL = false; + }; + caching = { + URL = "unix://${config.services.redis.servers.netbox.unixSocket}?db=1"; + SSL = false; + }; }; REMOTE_AUTH_BACKEND = lib.mkIf cfg.enableLdap "netbox.authentication.LDAPBackend"; @@ -240,13 +257,15 @@ in { }; }; - extraConfig = '' - with open("${cfg.secretKeyFile}", "r") as file: - SECRET_KEY = file.readline() - '' + (lib.optionalString (cfg.keycloakClientSecret != null) '' - with open("${cfg.keycloakClientSecret}", "r") as file: - SOCIAL_AUTH_KEYCLOAK_SECRET = file.readline() - ''); + extraConfig = + '' + with open("${cfg.secretKeyFile}", "r") as file: + SECRET_KEY = file.readline() + '' + + (lib.optionalString (cfg.keycloakClientSecret != null) '' + with open("${cfg.keycloakClientSecret}", "r") as file: + SOCIAL_AUTH_KEYCLOAK_SECRET = file.readline() + ''); }; services.redis.servers.netbox.enable = true; @@ -268,102 +287,111 @@ in { description = "Target for all NetBox services"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network-online.target" "redis-netbox.service" ]; + after = [ + "network-online.target" + "redis-netbox.service" + ]; }; - systemd.services = let - defaultServiceConfig = { - WorkingDirectory = "${cfg.dataDir}"; - User = "netbox"; - Group = "netbox"; - StateDirectory = "netbox"; - StateDirectoryMode = "0750"; - Restart = "on-failure"; - RestartSec = 30; - }; - in { - netbox = { - description = "NetBox WSGI Service"; - documentation = [ "https://docs.netbox.dev/" ]; - - wantedBy = [ "netbox.target" ]; - - after = [ "network-online.target" ]; - wants = [ "network-online.target" ]; - - environment.PYTHONPATH = pkg.pythonPath; - - preStart = '' - # On the first run, or on upgrade / downgrade, run migrations and related. - # This mostly correspond to upstream NetBox's 'upgrade.sh' script. - versionFile="${cfg.dataDir}/version" - - if [[ -h "$versionFile" && "$(readlink -- "$versionFile")" == "${cfg.package}" ]]; then - exit 0 - fi - - ${pkg}/bin/netbox migrate - ${pkg}/bin/netbox trace_paths --no-input - ${pkg}/bin/netbox collectstatic --clear --no-input - ${pkg}/bin/netbox remove_stale_contenttypes --no-input - ${pkg}/bin/netbox reindex --lazy - ${pkg}/bin/netbox clearsessions - ${lib.optionalString - # The clearcache command was removed in 3.7.0: - # https://github.com/netbox-community/netbox/issues/14458 - (lib.versionOlder cfg.package.version "3.7.0") - "${pkg}/bin/netbox clearcache"} - - ln -sfn "${cfg.package}" "$versionFile" - ''; - - serviceConfig = defaultServiceConfig // { - ExecStart = '' - ${pkg.gunicorn}/bin/gunicorn netbox.wsgi \ - --bind ${cfg.listenAddress}:${toString cfg.port} \ - --pythonpath ${pkg}/opt/netbox/netbox + systemd.services = + let + defaultServiceConfig = { + WorkingDirectory = "${cfg.dataDir}"; + User = "netbox"; + Group = "netbox"; + StateDirectory = "netbox"; + StateDirectoryMode = "0750"; + Restart = "on-failure"; + RestartSec = 30; + }; + in + { + netbox = { + description = "NetBox WSGI Service"; + documentation = [ "https://docs.netbox.dev/" ]; + + wantedBy = [ "netbox.target" ]; + + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + + environment.PYTHONPATH = pkg.pythonPath; + + preStart = '' + # On the first run, or on upgrade / downgrade, run migrations and related. + # This mostly correspond to upstream NetBox's 'upgrade.sh' script. + versionFile="${cfg.dataDir}/version" + + if [[ -h "$versionFile" && "$(readlink -- "$versionFile")" == "${cfg.package}" ]]; then + exit 0 + fi + + ${pkg}/bin/netbox migrate + ${pkg}/bin/netbox trace_paths --no-input + ${pkg}/bin/netbox collectstatic --clear --no-input + ${pkg}/bin/netbox remove_stale_contenttypes --no-input + ${pkg}/bin/netbox reindex --lazy + ${pkg}/bin/netbox clearsessions + ${lib.optionalString + # The clearcache command was removed in 3.7.0: + # https://github.com/netbox-community/netbox/issues/14458 + (lib.versionOlder cfg.package.version "3.7.0") + "${pkg}/bin/netbox clearcache" + } + + ln -sfn "${cfg.package}" "$versionFile" ''; - PrivateTmp = true; - TimeoutStartSec = lib.mkDefault "5min"; + + serviceConfig = defaultServiceConfig // { + ExecStart = '' + ${pkg.gunicorn}/bin/gunicorn netbox.wsgi \ + --bind ${cfg.listenAddress}:${toString cfg.port} \ + --pythonpath ${pkg}/opt/netbox/netbox + ''; + PrivateTmp = true; + TimeoutStartSec = lib.mkDefault "5min"; + }; }; - }; - netbox-rq = { - description = "NetBox Request Queue Worker"; - documentation = [ "https://docs.netbox.dev/" ]; + netbox-rq = { + description = "NetBox Request Queue Worker"; + documentation = [ "https://docs.netbox.dev/" ]; - wantedBy = [ "netbox.target" ]; - after = [ "netbox.service" ]; + wantedBy = [ "netbox.target" ]; + after = [ "netbox.service" ]; - environment.PYTHONPATH = pkg.pythonPath; + environment.PYTHONPATH = pkg.pythonPath; - serviceConfig = defaultServiceConfig // { - ExecStart = '' - ${pkg}/bin/netbox rqworker high default low - ''; - PrivateTmp = true; + serviceConfig = defaultServiceConfig // { + ExecStart = '' + ${pkg}/bin/netbox rqworker high default low + ''; + PrivateTmp = true; + }; }; - }; - netbox-housekeeping = { - description = "NetBox housekeeping job"; - documentation = [ "https://docs.netbox.dev/" ]; + netbox-housekeeping = { + description = "NetBox housekeeping job"; + documentation = [ "https://docs.netbox.dev/" ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" "netbox.service" ]; - wants = [ "network-online.target" ]; + after = [ + "network-online.target" + "netbox.service" + ]; + wants = [ "network-online.target" ]; - environment.PYTHONPATH = pkg.pythonPath; + environment.PYTHONPATH = pkg.pythonPath; - serviceConfig = defaultServiceConfig // { - Type = "oneshot"; - ExecStart = '' - ${pkg}/bin/netbox housekeeping - ''; + serviceConfig = defaultServiceConfig // { + Type = "oneshot"; + ExecStart = '' + ${pkg}/bin/netbox housekeeping + ''; + }; }; }; - }; systemd.timers.netbox-housekeeping = { description = "Run NetBox housekeeping job"; @@ -371,7 +399,10 @@ in { wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" "netbox.service" ]; + after = [ + "network-online.target" + "netbox.service" + ]; wants = [ "network-online.target" ]; timerConfig = { @@ -386,7 +417,7 @@ in { isSystemUser = true; group = "netbox"; }; - users.groups.netbox = {}; + users.groups.netbox = { }; users.groups."${config.services.redis.servers.netbox.user}".members = [ "netbox" ]; }; } diff --git a/nixos/modules/services/web-apps/nextcloud-notify_push.nix b/nixos/modules/services/web-apps/nextcloud-notify_push.nix index 475cddf5f751f..f7ad98e16d338 100644 --- a/nixos/modules/services/web-apps/nextcloud-notify_push.nix +++ b/nixos/modules/services/web-apps/nextcloud-notify_push.nix @@ -1,112 +1,136 @@ -{ config, options, lib, pkgs, ... }: +{ + config, + options, + lib, + pkgs, + ... +}: let cfg = config.services.nextcloud.notify_push; cfgN = config.services.nextcloud; in { - options.services.nextcloud.notify_push = { - enable = lib.mkEnableOption "Notify push"; + options.services.nextcloud.notify_push = + { + enable = lib.mkEnableOption "Notify push"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.nextcloud-notify_push; - defaultText = lib.literalMD "pkgs.nextcloud-notify_push"; - description = "Which package to use for notify_push"; - }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.nextcloud-notify_push; + defaultText = lib.literalMD "pkgs.nextcloud-notify_push"; + description = "Which package to use for notify_push"; + }; - socketPath = lib.mkOption { - type = lib.types.str; - default = "/run/nextcloud-notify_push/sock"; - description = "Socket path to use for notify_push"; - }; + socketPath = lib.mkOption { + type = lib.types.str; + default = "/run/nextcloud-notify_push/sock"; + description = "Socket path to use for notify_push"; + }; - logLevel = lib.mkOption { - type = lib.types.enum [ "error" "warn" "info" "debug" "trace" ]; - default = "error"; - description = "Log level"; - }; + logLevel = lib.mkOption { + type = lib.types.enum [ + "error" + "warn" + "info" + "debug" + "trace" + ]; + default = "error"; + description = "Log level"; + }; - bendDomainToLocalhost = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to add an entry to `/etc/hosts` for the configured nextcloud domain to point to `localhost` and add `localhost `to nextcloud's `trusted_proxies` config option. + bendDomainToLocalhost = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to add an entry to `/etc/hosts` for the configured nextcloud domain to point to `localhost` and add `localhost `to nextcloud's `trusted_proxies` config option. - This is useful when nextcloud's domain is not a static IP address and when the reverse proxy cannot be bypassed because the backend connection is done via unix socket. - ''; - }; - } // ( - lib.genAttrs [ - "dbtype" - "dbname" - "dbuser" - "dbpassFile" - "dbhost" - "dbport" - "dbtableprefix" - ] ( - opt: options.services.nextcloud.config.${opt} // { - default = config.services.nextcloud.config.${opt}; - defaultText = lib.literalExpression "config.services.nextcloud.config.${opt}"; - } - ) - ); + This is useful when nextcloud's domain is not a static IP address and when the reverse proxy cannot be bypassed because the backend connection is done via unix socket. + ''; + }; + } + // (lib.genAttrs + [ + "dbtype" + "dbname" + "dbuser" + "dbpassFile" + "dbhost" + "dbport" + "dbtableprefix" + ] + ( + opt: + options.services.nextcloud.config.${opt} + // { + default = config.services.nextcloud.config.${opt}; + defaultText = lib.literalExpression "config.services.nextcloud.config.${opt}"; + } + ) + ); config = lib.mkIf cfg.enable { - systemd.services.nextcloud-notify_push = let - nextcloudUrl = "http${lib.optionalString cfgN.https "s"}://${cfgN.hostName}"; - in { - description = "Push daemon for Nextcloud clients"; - documentation = [ "https://github.com/nextcloud/notify_push" ]; - after = [ - "phpfpm-nextcloud.service" - "redis-nextcloud.service" - ]; - wantedBy = [ "multi-user.target" ]; - environment = { - NEXTCLOUD_URL = nextcloudUrl; - SOCKET_PATH = cfg.socketPath; - DATABASE_PREFIX = cfg.dbtableprefix; - LOG = cfg.logLevel; - }; - postStart = '' - ${cfgN.occ}/bin/nextcloud-occ notify_push:setup ${nextcloudUrl}/push - ''; - script = let - dbType = if cfg.dbtype == "pgsql" then "postgresql" else cfg.dbtype; - dbUser = lib.optionalString (cfg.dbuser != null) cfg.dbuser; - dbPass = lib.optionalString (cfg.dbpassFile != null) ":$DATABASE_PASSWORD"; - dbHostHasPrefix = prefix: lib.hasPrefix prefix (toString cfg.dbhost); - isPostgresql = dbType == "postgresql"; - isMysql = dbType == "mysql"; - isSocket = (isPostgresql && dbHostHasPrefix "/") || (isMysql && dbHostHasPrefix "localhost:/"); - dbHost = lib.optionalString (cfg.dbhost != null) (if - isSocket then - lib.optionalString isMysql "@localhost" - else - "@${cfg.dbhost}"); - dbOpts = lib.optionalString (cfg.dbhost != null && isSocket) ( - if isPostgresql then "?host=${cfg.dbhost}" else - if isMysql then "?socket=${lib.removePrefix "localhost:" cfg.dbhost}" else throw "unsupported dbtype" - ); - dbName = lib.optionalString (cfg.dbname != null) "/${cfg.dbname}"; - dbUrl = "${dbType}://${dbUser}${dbPass}${dbHost}${dbName}${dbOpts}"; - in lib.optionalString (dbPass != "") '' - export DATABASE_PASSWORD="$(<"${cfg.dbpassFile}")" - '' + '' - export DATABASE_URL="${dbUrl}" - exec ${cfg.package}/bin/notify_push '${cfgN.datadir}/config/config.php' - ''; - serviceConfig = { - User = "nextcloud"; - Group = "nextcloud"; - RuntimeDirectory = [ "nextcloud-notify_push" ]; - Restart = "on-failure"; - RestartSec = "5s"; - Type = "notify"; + systemd.services.nextcloud-notify_push = + let + nextcloudUrl = "http${lib.optionalString cfgN.https "s"}://${cfgN.hostName}"; + in + { + description = "Push daemon for Nextcloud clients"; + documentation = [ "https://github.com/nextcloud/notify_push" ]; + after = [ + "phpfpm-nextcloud.service" + "redis-nextcloud.service" + ]; + wantedBy = [ "multi-user.target" ]; + environment = { + NEXTCLOUD_URL = nextcloudUrl; + SOCKET_PATH = cfg.socketPath; + DATABASE_PREFIX = cfg.dbtableprefix; + LOG = cfg.logLevel; + }; + postStart = '' + ${cfgN.occ}/bin/nextcloud-occ notify_push:setup ${nextcloudUrl}/push + ''; + script = + let + dbType = if cfg.dbtype == "pgsql" then "postgresql" else cfg.dbtype; + dbUser = lib.optionalString (cfg.dbuser != null) cfg.dbuser; + dbPass = lib.optionalString (cfg.dbpassFile != null) ":$DATABASE_PASSWORD"; + dbHostHasPrefix = prefix: lib.hasPrefix prefix (toString cfg.dbhost); + isPostgresql = dbType == "postgresql"; + isMysql = dbType == "mysql"; + isSocket = (isPostgresql && dbHostHasPrefix "/") || (isMysql && dbHostHasPrefix "localhost:/"); + dbHost = lib.optionalString (cfg.dbhost != null) ( + if isSocket then lib.optionalString isMysql "@localhost" else "@${cfg.dbhost}" + ); + dbOpts = lib.optionalString (cfg.dbhost != null && isSocket) ( + if isPostgresql then + "?host=${cfg.dbhost}" + else if isMysql then + "?socket=${lib.removePrefix "localhost:" cfg.dbhost}" + else + throw "unsupported dbtype" + ); + dbName = lib.optionalString (cfg.dbname != null) "/${cfg.dbname}"; + dbUrl = "${dbType}://${dbUser}${dbPass}${dbHost}${dbName}${dbOpts}"; + in + lib.optionalString (dbPass != "") '' + export DATABASE_PASSWORD="$(<"${cfg.dbpassFile}")" + '' + + '' + export DATABASE_URL="${dbUrl}" + exec ${cfg.package}/bin/notify_push '${cfgN.datadir}/config/config.php' + ''; + serviceConfig = { + User = "nextcloud"; + Group = "nextcloud"; + RuntimeDirectory = [ "nextcloud-notify_push" ]; + Restart = "on-failure"; + RestartSec = "5s"; + Type = "notify"; + }; }; - }; networking.hosts = lib.mkIf cfg.bendDomainToLocalhost { "127.0.0.1" = [ cfgN.hostName ]; @@ -123,7 +147,10 @@ in } (lib.mkIf cfg.bendDomainToLocalhost { - nextcloud.settings.trusted_proxies = [ "127.0.0.1" "::1" ]; + nextcloud.settings.trusted_proxies = [ + "127.0.0.1" + "::1" + ]; }) ]; }; diff --git a/nixos/modules/services/web-apps/nexus.nix b/nixos/modules/services/web-apps/nexus.nix index fdf42ace6b0e8..b3ad13f4102b1 100644 --- a/nixos/modules/services/web-apps/nexus.nix +++ b/nixos/modules/services/web-apps/nexus.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/web-apps/nifi.nix b/nixos/modules/services/web-apps/nifi.nix index 48de6b1495abb..a59e5066cf48b 100644 --- a/nixos/modules/services/web-apps/nifi.nix +++ b/nixos/modules/services/web-apps/nifi.nix @@ -1,4 +1,10 @@ -{ lib, pkgs, config, options, ... }: +{ + lib, + pkgs, + config, + options, + ... +}: let cfg = config.services.nifi; @@ -11,10 +17,13 @@ let NIFI_LOG_DIR = "/var/log/nifi"; }; - envFile = pkgs.writeText "nifi.env" (lib.concatMapStrings (s: s + "\n") ( - (lib.concatLists (lib.mapAttrsToList (name: value: - lib.optional (value != null) ''${name}="${toString value}"'' - ) env)))); + envFile = pkgs.writeText "nifi.env" ( + lib.concatMapStrings (s: s + "\n") ( + (lib.concatLists ( + lib.mapAttrsToList (name: value: lib.optional (value != null) ''${name}="${toString value}"'') env + )) + ) + ); nifiEnv = pkgs.writeShellScriptBin "nifi-env" '' set -a @@ -22,7 +31,8 @@ let eval -- "\$@" ''; -in { +in +{ options = { services.nifi = { enable = lib.mkEnableOption "Apache NiFi"; @@ -127,39 +137,45 @@ in { config = lib.mkIf cfg.enable { assertions = [ - { assertion = cfg.initUser!=null || cfg.initPasswordFile==null; - message = '' - needs to be set if enabled. - ''; + { + assertion = cfg.initUser != null || cfg.initPasswordFile == null; + message = '' + needs to be set if enabled. + ''; } - { assertion = cfg.initUser==null || cfg.initPasswordFile!=null; - message = '' - needs to be set if enabled. - ''; + { + assertion = cfg.initUser == null || cfg.initPasswordFile != null; + message = '' + needs to be set if enabled. + ''; } - { assertion = cfg.proxyHost==null || cfg.proxyPort!=null; - message = '' - needs to be set if value specified. - ''; + { + assertion = cfg.proxyHost == null || cfg.proxyPort != null; + message = '' + needs to be set if value specified. + ''; } - { assertion = cfg.proxyHost!=null || cfg.proxyPort==null; - message = '' - needs to be set if value specified. - ''; + { + assertion = cfg.proxyHost != null || cfg.proxyPort == null; + message = '' + needs to be set if value specified. + ''; } - { assertion = cfg.initJavaHeapSize==null || cfg.maxJavaHeapSize!=null; - message = '' - needs to be set if value specified. - ''; + { + assertion = cfg.initJavaHeapSize == null || cfg.maxJavaHeapSize != null; + message = '' + needs to be set if value specified. + ''; } - { assertion = cfg.initJavaHeapSize!=null || cfg.maxJavaHeapSize==null; - message = '' - needs to be set if value specified. - ''; + { + assertion = cfg.initJavaHeapSize != null || cfg.maxJavaHeapSize == null; + message = '' + needs to be set if value specified. + ''; } ]; - warnings = lib.optional (cfg.enableHTTPS==false) '' + warnings = lib.optional (cfg.enableHTTPS == false) '' Please do not disable HTTPS mode in production. In this mode, access to the nifi is opened without authentication. ''; @@ -173,7 +189,6 @@ in { }; }; - systemd.services.nifi = { description = "Apache NiFi"; after = [ "network.target" ]; @@ -233,20 +248,26 @@ in { -e '/nifi.security.keyPasswd/s|^#\+||' \ -e '/nifi.security.truststorePasswd/s|^#\+||' ''} - ${lib.optionalString ((cfg.enableHTTPS == true) && (cfg.proxyHost != null) && (cfg.proxyPort != null)) '' - sed -i /var/lib/nifi/conf/nifi.properties \ - -e 's|nifi.web.proxy.host=.*|nifi.web.proxy.host=${cfg.proxyHost}:${(toString cfg.proxyPort)}|g' - ''} - ${lib.optionalString ((cfg.enableHTTPS == false) || (cfg.proxyHost == null) && (cfg.proxyPort == null)) '' - sed -i /var/lib/nifi/conf/nifi.properties \ - -e 's|nifi.web.proxy.host=.*|nifi.web.proxy.host=|g' - ''} - ${lib.optionalString ((cfg.initJavaHeapSize != null) && (cfg.maxJavaHeapSize != null))'' + ${lib.optionalString + ((cfg.enableHTTPS == true) && (cfg.proxyHost != null) && (cfg.proxyPort != null)) + '' + sed -i /var/lib/nifi/conf/nifi.properties \ + -e 's|nifi.web.proxy.host=.*|nifi.web.proxy.host=${cfg.proxyHost}:${(toString cfg.proxyPort)}|g' + '' + } + ${lib.optionalString + ((cfg.enableHTTPS == false) || (cfg.proxyHost == null) && (cfg.proxyPort == null)) + '' + sed -i /var/lib/nifi/conf/nifi.properties \ + -e 's|nifi.web.proxy.host=.*|nifi.web.proxy.host=|g' + '' + } + ${lib.optionalString ((cfg.initJavaHeapSize != null) && (cfg.maxJavaHeapSize != null)) '' sed -i /var/lib/nifi/conf/bootstrap.conf \ -e 's|java.arg.2=.*|java.arg.2=-Xms${(toString cfg.initJavaHeapSize)}m|g' \ -e 's|java.arg.3=.*|java.arg.3=-Xmx${(toString cfg.maxJavaHeapSize)}m|g' ''} - ${lib.optionalString ((cfg.initJavaHeapSize == null) && (cfg.maxJavaHeapSize == null))'' + ${lib.optionalString ((cfg.initJavaHeapSize == null) && (cfg.maxJavaHeapSize == null)) '' sed -i /var/lib/nifi/conf/bootstrap.conf \ -e 's|java.arg.2=.*|java.arg.2=-Xms512m|g' \ -e 's|java.arg.3=.*|java.arg.3=-Xmx512m|g' @@ -292,14 +313,17 @@ in { RestrictAddressFamilies = [ "AF_INET AF_INET6" ]; RestrictNamespaces = true; LockPersonality = true; - MemoryDenyWriteExecute = false; + MemoryDenyWriteExecute = false; RestrictRealtime = true; RestrictSUIDSGID = true; RemoveIPC = true; PrivateMounts = true; # System Call Filtering SystemCallArchitectures = "native"; - SystemCallFilter = [ "~@cpu-emulation @debug @keyring @memlock @mount @obsolete @resources @privileged @setuid" "@chown" ]; + SystemCallFilter = [ + "~@cpu-emulation @debug @keyring @memlock @mount @obsolete @resources @privileged @setuid" + "@chown" + ]; }; }; diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix index cf6429c0094e8..1b999e7abc861 100644 --- a/nixos/modules/services/web-apps/node-red.nix +++ b/nixos/modules/services/web-apps/node-red.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -85,7 +90,7 @@ in define = mkOption { type = types.attrs; - default = {}; + default = { }; description = "List of settings.js overrides to pass via -D to Node-RED."; example = literalExpression '' { @@ -118,12 +123,17 @@ in environment = { HOME = cfg.userDir; }; - path = lib.optionals cfg.withNpmAndGcc [ pkgs.nodejs pkgs.gcc ]; + path = lib.optionals cfg.withNpmAndGcc [ + pkgs.nodejs + pkgs.gcc + ]; serviceConfig = mkMerge [ { User = cfg.user; Group = cfg.group; - ExecStart = "${cfg.package}/bin/node-red ${pkgs.lib.optionalString cfg.safe "--safe"} --settings ${cfg.configFile} --port ${toString cfg.port} --userDir ${cfg.userDir} ${concatStringsSep " " (mapAttrsToList (name: value: "-D ${name}=${value}") cfg.define)}"; + ExecStart = "${cfg.package}/bin/node-red ${pkgs.lib.optionalString cfg.safe "--safe"} --settings ${cfg.configFile} --port ${toString cfg.port} --userDir ${cfg.userDir} ${ + concatStringsSep " " (mapAttrsToList (name: value: "-D ${name}=${value}") cfg.define) + }"; PrivateTmp = true; Restart = "always"; WorkingDirectory = cfg.userDir; diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix index 0d0e01d4f7bc0..d56a4d66283cf 100644 --- a/nixos/modules/services/web-apps/onlyoffice.nix +++ b/nixos/modules/services/web-apps/onlyoffice.nix @@ -1,4 +1,9 @@ -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.services.onlyoffice; @@ -86,20 +91,25 @@ in upstreams = { # /etc/nginx/includes/http-common.conf onlyoffice-docservice = { - servers = { "localhost:${toString cfg.port}" = { }; }; + servers = { + "localhost:${toString cfg.port}" = { }; + }; }; onlyoffice-example = lib.mkIf cfg.enableExampleServer { - servers = { "localhost:${toString cfg.examplePort}" = { }; }; + servers = { + "localhost:${toString cfg.examplePort}" = { }; + }; }; }; virtualHosts.${cfg.hostname} = { locations = { # /etc/nginx/includes/ds-docservice.conf - "~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps\/apps\/api\/documents\/api\.js)$".extraConfig = '' - expires -1; - alias ${cfg.package}/var/www/onlyoffice/documentserver/$2; - ''; + "~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps\/apps\/api\/documents\/api\.js)$".extraConfig = + '' + expires -1; + alias ${cfg.package}/var/www/onlyoffice/documentserver/$2; + ''; "~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps)(\/.*\.json)$".extraConfig = '' expires 365d; error_log /dev/null crit; @@ -110,10 +120,11 @@ in error_log /dev/null crit; alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3; ''; - "~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps|sdkjs|sdkjs-plugins|fonts)(\/.*)$".extraConfig = '' - expires 365d; - alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3; - ''; + "~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps|sdkjs|sdkjs-plugins|fonts)(\/.*)$".extraConfig = + '' + expires 365d; + alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3; + ''; "~* ^(\/cache\/files.*)(\/.*)".extraConfig = '' alias /var/lib/onlyoffice/documentserver/App_Data$1; add_header Content-Disposition "attachment; filename*=UTF-8''$arg_filename"; @@ -189,18 +200,28 @@ in postgresql = { enable = lib.mkDefault true; ensureDatabases = [ "onlyoffice" ]; - ensureUsers = [{ - name = "onlyoffice"; - ensureDBOwnership = true; - }]; + ensureUsers = [ + { + name = "onlyoffice"; + ensureDBOwnership = true; + } + ]; }; }; systemd.services = { onlyoffice-converter = { description = "onlyoffice converter"; - after = [ "network.target" "onlyoffice-docservice.service" "postgresql.service" ]; - requires = [ "network.target" "onlyoffice-docservice.service" "postgresql.service" ]; + after = [ + "network.target" + "onlyoffice-docservice.service" + "postgresql.service" + ]; + requires = [ + "network.target" + "onlyoffice-docservice.service" + "postgresql.service" + ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper FileConverter/converter /run/onlyoffice/config"; @@ -216,7 +237,16 @@ in onlyoffice-docservice = let onlyoffice-prestart = pkgs.writeShellScript "onlyoffice-prestart" '' - PATH=$PATH:${lib.makeBinPath (with pkgs; [ jq moreutils config.services.postgresql.package ])} + PATH=$PATH:${ + lib.makeBinPath ( + with pkgs; + [ + jq + moreutils + config.services.postgresql.package + ] + ) + } umask 077 mkdir -p /run/onlyoffice/config/ /var/lib/onlyoffice/documentserver/sdkjs/{slide/themes,common}/ /var/lib/onlyoffice/documentserver/{fonts,server/FileConverter/bin}/ cp -r ${cfg.package}/etc/onlyoffice/documentserver/* /run/onlyoffice/config/ @@ -258,7 +288,10 @@ in in { description = "onlyoffice documentserver"; - after = [ "network.target" "postgresql.service" ]; + after = [ + "network.target" + "postgresql.service" + ]; requires = [ "postgresql.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { diff --git a/nixos/modules/services/web-apps/openvscode-server.nix b/nixos/modules/services/web-apps/openvscode-server.nix index b3c22cd43b78e..0350d715c6185 100644 --- a/nixos/modules/services/web-apps/openvscode-server.nix +++ b/nixos/modules/services/web-apps/openvscode-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.openvscode-server; @@ -27,7 +32,9 @@ in Additional environment variables to pass to openvscode-server. ''; default = { }; - example = { PKG_CONFIG_PATH = "/run/current-system/sw/lib/pkgconfig"; }; + example = { + PKG_CONFIG_PATH = "/run/current-system/sw/lib/pkgconfig"; + }; }; extraArguments = lib.mkOption { @@ -132,7 +139,14 @@ in description = '' Sets the initial telemetry level. Valid levels are: 'off', 'crash', 'error' and 'all'. ''; - type = lib.types.nullOr (lib.types.enum [ "off" "crash" "error" "all" ]); + type = lib.types.nullOr ( + lib.types.enum [ + "off" + "crash" + "error" + "all" + ] + ); }; connectionToken = lib.mkOption { @@ -164,28 +178,38 @@ in path = cfg.extraPackages; environment = cfg.extraEnvironment; serviceConfig = { - ExecStart = '' - ${lib.getExe cfg.package} \ - --accept-server-license-terms \ - --host=${cfg.host} \ - --port=${toString cfg.port} \ - '' + lib.optionalString (cfg.telemetryLevel != null) '' - --telemetry-level=${cfg.telemetryLevel} \ - '' + lib.optionalString (cfg.withoutConnectionToken) '' - --without-connection-token \ - '' + lib.optionalString (cfg.socketPath != null) '' - --socket-path=${cfg.socketPath} \ - '' + lib.optionalString (cfg.userDataDir != null) '' - --user-data-dir=${cfg.userDataDir} \ - '' + lib.optionalString (cfg.serverDataDir != null) '' - --server-data-dir=${cfg.serverDataDir} \ - '' + lib.optionalString (cfg.extensionsDir != null) '' - --extensions-dir=${cfg.extensionsDir} \ - '' + lib.optionalString (cfg.connectionToken != null) '' - --connection-token=${cfg.connectionToken} \ - '' + lib.optionalString (cfg.connectionTokenFile != null) '' - --connection-token-file=${cfg.connectionTokenFile} \ - '' + lib.escapeShellArgs cfg.extraArguments; + ExecStart = + '' + ${lib.getExe cfg.package} \ + --accept-server-license-terms \ + --host=${cfg.host} \ + --port=${toString cfg.port} \ + '' + + lib.optionalString (cfg.telemetryLevel != null) '' + --telemetry-level=${cfg.telemetryLevel} \ + '' + + lib.optionalString (cfg.withoutConnectionToken) '' + --without-connection-token \ + '' + + lib.optionalString (cfg.socketPath != null) '' + --socket-path=${cfg.socketPath} \ + '' + + lib.optionalString (cfg.userDataDir != null) '' + --user-data-dir=${cfg.userDataDir} \ + '' + + lib.optionalString (cfg.serverDataDir != null) '' + --server-data-dir=${cfg.serverDataDir} \ + '' + + lib.optionalString (cfg.extensionsDir != null) '' + --extensions-dir=${cfg.extensionsDir} \ + '' + + lib.optionalString (cfg.connectionToken != null) '' + --connection-token=${cfg.connectionToken} \ + '' + + lib.optionalString (cfg.connectionTokenFile != null) '' + --connection-token-file=${cfg.connectionTokenFile} \ + '' + + lib.escapeShellArgs cfg.extraArguments; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; RuntimeDirectory = cfg.user; User = cfg.user; diff --git a/nixos/modules/services/web-apps/openwebrx.nix b/nixos/modules/services/web-apps/openwebrx.nix index 2ac187dc88c9d..f8c19fa7ed7f6 100644 --- a/nixos/modules/services/web-apps/openwebrx.nix +++ b/nixos/modules/services/web-apps/openwebrx.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.openwebrx; in diff --git a/nixos/modules/services/web-apps/outline.nix b/nixos/modules/services/web-apps/outline.nix index ba426ce89bbf2..78ebc71eb2062 100644 --- a/nixos/modules/services/web-apps/outline.nix +++ b/nixos/modules/services/web-apps/outline.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let defaultUser = "outline"; @@ -7,7 +12,11 @@ let in { imports = [ - (mkRemovedOptionModule [ "services" "outline" "sequelizeArguments" ] "Database migration are run agains configurated database by outline directly") + (mkRemovedOptionModule [ + "services" + "outline" + "sequelizeArguments" + ] "Database migration are run agains configurated database by outline directly") ]; # See here for a reference of all the options: # https://github.com/outline/outline/blob/v0.67.0/.env.sample @@ -138,7 +147,10 @@ in type = lib.types.submodule { options = { storageType = lib.mkOption { - type = lib.types.enum [ "local" "s3" ]; + type = lib.types.enum [ + "local" + "s3" + ]; description = "File storage type, it can be local or s3."; default = "s3"; }; @@ -206,18 +218,20 @@ in to `https://[publicUrl]/auth/slack.callback`. ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - clientId = lib.mkOption { - type = lib.types.str; - description = "Authentication key."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + clientId = lib.mkOption { + type = lib.types.str; + description = "Authentication key."; + }; + secretFile = lib.mkOption { + type = lib.types.str; + description = "File path containing the authentication secret."; + }; }; - secretFile = lib.mkOption { - type = lib.types.str; - description = "File path containing the authentication secret."; - }; - }; - }); + } + ); }; googleAuthentication = lib.mkOption { @@ -229,18 +243,20 @@ in `https://[publicUrl]/auth/google.callback`. ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - clientId = lib.mkOption { - type = lib.types.str; - description = "Authentication client identifier."; - }; - clientSecretFile = lib.mkOption { - type = lib.types.str; - description = "File path containing the authentication secret."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + clientId = lib.mkOption { + type = lib.types.str; + description = "Authentication client identifier."; + }; + clientSecretFile = lib.mkOption { + type = lib.types.str; + description = "File path containing the authentication secret."; + }; }; - }; - }); + } + ); }; azureAuthentication = lib.mkOption { @@ -251,22 +267,24 @@ in for details on setting up your Azure App. ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - clientId = lib.mkOption { - type = lib.types.str; - description = "Authentication client identifier."; - }; - clientSecretFile = lib.mkOption { - type = lib.types.str; - description = "File path containing the authentication secret."; - }; - resourceAppId = lib.mkOption { - type = lib.types.str; - description = "Authentication application resource ID."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + clientId = lib.mkOption { + type = lib.types.str; + description = "Authentication client identifier."; + }; + clientSecretFile = lib.mkOption { + type = lib.types.str; + description = "File path containing the authentication secret."; + }; + resourceAppId = lib.mkOption { + type = lib.types.str; + description = "Authentication application resource ID."; + }; }; - }; - }); + } + ); }; oidcAuthentication = lib.mkOption { @@ -277,48 +295,54 @@ in `https://[publicUrl]/auth/oidc.callback`. ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - clientId = lib.mkOption { - type = lib.types.str; - description = "Authentication client identifier."; - }; - clientSecretFile = lib.mkOption { - type = lib.types.str; - description = "File path containing the authentication secret."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + clientId = lib.mkOption { + type = lib.types.str; + description = "Authentication client identifier."; + }; + clientSecretFile = lib.mkOption { + type = lib.types.str; + description = "File path containing the authentication secret."; + }; + authUrl = lib.mkOption { + type = lib.types.str; + description = "OIDC authentication URL endpoint."; + }; + tokenUrl = lib.mkOption { + type = lib.types.str; + description = "OIDC token URL endpoint."; + }; + userinfoUrl = lib.mkOption { + type = lib.types.str; + description = "OIDC userinfo URL endpoint."; + }; + usernameClaim = lib.mkOption { + type = lib.types.str; + description = '' + Specify which claims to derive user information from. Supports any + valid JSON path with the JWT payload + ''; + default = "preferred_username"; + }; + displayName = lib.mkOption { + type = lib.types.str; + description = "Display name for OIDC authentication."; + default = "OpenID"; + }; + scopes = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = "OpenID authentication scopes."; + default = [ + "openid" + "profile" + "email" + ]; + }; }; - authUrl = lib.mkOption { - type = lib.types.str; - description = "OIDC authentication URL endpoint."; - }; - tokenUrl = lib.mkOption { - type = lib.types.str; - description = "OIDC token URL endpoint."; - }; - userinfoUrl = lib.mkOption { - type = lib.types.str; - description = "OIDC userinfo URL endpoint."; - }; - usernameClaim = lib.mkOption { - type = lib.types.str; - description = '' - Specify which claims to derive user information from. Supports any - valid JSON path with the JWT payload - ''; - default = "preferred_username"; - }; - displayName = lib.mkOption { - type = lib.types.str; - description = "Display name for OIDC authentication."; - default = "OpenID"; - }; - scopes = lib.mkOption { - type = lib.types.listOf lib.types.str; - description = "OpenID authentication scopes."; - default = [ "openid" "profile" "email" ]; - }; - }; - }); + } + ); }; # @@ -407,23 +431,25 @@ in https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - verificationTokenFile = lib.mkOption { - type = lib.types.str; - description = "File path containing the verification token."; - }; - appId = lib.mkOption { - type = lib.types.str; - description = "Application ID."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + verificationTokenFile = lib.mkOption { + type = lib.types.str; + description = "File path containing the verification token."; + }; + appId = lib.mkOption { + type = lib.types.str; + description = "Application ID."; + }; + messageActions = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Whether to enable message actions."; + }; }; - messageActions = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Whether to enable message actions."; - }; - }; - }); + } + ); }; googleAnalyticsId = lib.mkOption { @@ -470,69 +496,71 @@ in authentication for an SMTP server. ''; default = null; - type = lib.types.nullOr (lib.types.submodule { - options = { - host = lib.mkOption { - type = lib.types.str; - description = "Host name or IP address of the SMTP server."; - }; - port = lib.mkOption { - type = lib.types.port; - description = "TCP port of the SMTP server."; - }; - username = lib.mkOption { - type = lib.types.str; - description = "Username to authenticate with."; + type = lib.types.nullOr ( + lib.types.submodule { + options = { + host = lib.mkOption { + type = lib.types.str; + description = "Host name or IP address of the SMTP server."; + }; + port = lib.mkOption { + type = lib.types.port; + description = "TCP port of the SMTP server."; + }; + username = lib.mkOption { + type = lib.types.str; + description = "Username to authenticate with."; + }; + passwordFile = lib.mkOption { + type = lib.types.str; + description = '' + File path containing the password to authenticate with. + ''; + }; + fromEmail = lib.mkOption { + type = lib.types.str; + description = "Sender email in outgoing mail."; + }; + replyEmail = lib.mkOption { + type = lib.types.str; + description = "Reply address in outgoing mail."; + }; + tlsCiphers = lib.mkOption { + type = lib.types.str; + default = ""; + description = "Override SMTP cipher configuration."; + }; + secure = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Use a secure SMTP connection."; + }; }; - passwordFile = lib.mkOption { - type = lib.types.str; - description = '' - File path containing the password to authenticate with. - ''; - }; - fromEmail = lib.mkOption { - type = lib.types.str; - description = "Sender email in outgoing mail."; - }; - replyEmail = lib.mkOption { - type = lib.types.str; - description = "Reply address in outgoing mail."; - }; - tlsCiphers = lib.mkOption { - type = lib.types.str; - default = ""; - description = "Override SMTP cipher configuration."; - }; - secure = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Use a secure SMTP connection."; - }; - }; - }); + } + ); }; defaultLanguage = lib.mkOption { type = lib.types.enum [ - "da_DK" - "de_DE" - "en_US" - "es_ES" - "fa_IR" - "fr_FR" - "it_IT" - "ja_JP" - "ko_KR" - "nl_NL" - "pl_PL" - "pt_BR" - "pt_PT" - "ru_RU" - "sv_SE" - "th_TH" - "vi_VN" - "zh_CN" - "zh_TW" + "da_DK" + "de_DE" + "en_US" + "es_ES" + "fa_IR" + "fr_FR" + "it_IT" + "ja_JP" + "ko_KR" + "nl_NL" + "pl_PL" + "pt_BR" + "pt_PT" + "ru_RU" + "sv_SE" + "th_TH" + "vi_VN" + "zh_CN" + "zh_TW" ]; default = "en_US"; description = '' @@ -571,18 +599,22 @@ in systemd.tmpfiles.rules = [ "f ${cfg.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -" "f ${cfg.utilsSecretFile} 0600 ${cfg.user} ${cfg.group} -" - (if (cfg.storage.storageType == "s3") then - "f ${cfg.storage.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -" - else - "d ${cfg.storage.localRootDir} 0700 ${cfg.user} ${cfg.group} - -") + ( + if (cfg.storage.storageType == "s3") then + "f ${cfg.storage.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -" + else + "d ${cfg.storage.localRootDir} 0700 ${cfg.user} ${cfg.group} - -" + ) ]; services.postgresql = lib.mkIf (cfg.databaseUrl == "local") { enable = true; - ensureUsers = [{ - name = "outline"; - ensureDBOwnership = true; - }]; + ensureUsers = [ + { + name = "outline"; + ensureDBOwnership = true; + } + ]; ensureDatabases = [ "outline" ]; }; @@ -592,169 +624,177 @@ in port = 0; # Disable the TCP listener }; - systemd.services.outline = let - localRedisUrl = "redis+unix:///run/redis-outline/redis.sock"; - localPostgresqlUrl = "postgres://localhost/outline?host=/run/postgresql"; - in { - description = "Outline wiki and knowledge base"; - wantedBy = [ "multi-user.target" ]; - after = [ "networking.target" ] - ++ lib.optional (cfg.databaseUrl == "local") "postgresql.service" - ++ lib.optional (cfg.redisUrl == "local") "redis-outline.service"; - requires = lib.optional (cfg.databaseUrl == "local") "postgresql.service" - ++ lib.optional (cfg.redisUrl == "local") "redis-outline.service"; - path = [ - pkgs.openssl # Required by the preStart script - ]; - - - environment = lib.mkMerge [ - { - NODE_ENV = "production"; - - REDIS_URL = if cfg.redisUrl == "local" then localRedisUrl else cfg.redisUrl; - URL = cfg.publicUrl; - PORT = builtins.toString cfg.port; - - CDN_URL = cfg.cdnUrl; - FORCE_HTTPS = builtins.toString cfg.forceHttps; - ENABLE_UPDATES = builtins.toString cfg.enableUpdateCheck; - WEB_CONCURRENCY = builtins.toString cfg.concurrency; - MAXIMUM_IMPORT_SIZE = builtins.toString cfg.maximumImportSize; - DEBUG = cfg.debugOutput; - GOOGLE_ANALYTICS_ID = lib.optionalString (cfg.googleAnalyticsId != null) cfg.googleAnalyticsId; - SENTRY_DSN = lib.optionalString (cfg.sentryDsn != null) cfg.sentryDsn; - SENTRY_TUNNEL = lib.optionalString (cfg.sentryTunnel != null) cfg.sentryTunnel; - TEAM_LOGO = lib.optionalString (cfg.logo != null) cfg.logo; - DEFAULT_LANGUAGE = cfg.defaultLanguage; - - RATE_LIMITER_ENABLED = builtins.toString cfg.rateLimiter.enable; - RATE_LIMITER_REQUESTS = builtins.toString cfg.rateLimiter.requests; - RATE_LIMITER_DURATION_WINDOW = builtins.toString cfg.rateLimiter.durationWindow; - - FILE_STORAGE = cfg.storage.storageType; - FILE_STORAGE_UPLOAD_MAX_SIZE = builtins.toString cfg.storage.uploadMaxSize; - FILE_STORAGE_LOCAL_ROOT_DIR = cfg.storage.localRootDir; - } - - (lib.mkIf (cfg.storage.storageType == "s3") { - AWS_ACCESS_KEY_ID = cfg.storage.accessKey; - AWS_REGION = cfg.storage.region; - AWS_S3_UPLOAD_BUCKET_URL = cfg.storage.uploadBucketUrl; - AWS_S3_UPLOAD_BUCKET_NAME = cfg.storage.uploadBucketName; - AWS_S3_FORCE_PATH_STYLE = builtins.toString cfg.storage.forcePathStyle; - AWS_S3_ACL = cfg.storage.acl; - }) - - (lib.mkIf (cfg.slackAuthentication != null) { - SLACK_CLIENT_ID = cfg.slackAuthentication.clientId; - }) - - (lib.mkIf (cfg.googleAuthentication != null) { - GOOGLE_CLIENT_ID = cfg.googleAuthentication.clientId; - }) - - (lib.mkIf (cfg.azureAuthentication != null) { - AZURE_CLIENT_ID = cfg.azureAuthentication.clientId; - AZURE_RESOURCE_APP_ID = cfg.azureAuthentication.resourceAppId; - }) - - (lib.mkIf (cfg.oidcAuthentication != null) { - OIDC_CLIENT_ID = cfg.oidcAuthentication.clientId; - OIDC_AUTH_URI = cfg.oidcAuthentication.authUrl; - OIDC_TOKEN_URI = cfg.oidcAuthentication.tokenUrl; - OIDC_USERINFO_URI = cfg.oidcAuthentication.userinfoUrl; - OIDC_USERNAME_CLAIM = cfg.oidcAuthentication.usernameClaim; - OIDC_DISPLAY_NAME = cfg.oidcAuthentication.displayName; - OIDC_SCOPES = lib.concatStringsSep " " cfg.oidcAuthentication.scopes; - }) - - (lib.mkIf (cfg.slackIntegration != null) { - SLACK_APP_ID = cfg.slackIntegration.appId; - SLACK_MESSAGE_ACTIONS = builtins.toString cfg.slackIntegration.messageActions; - }) - - (lib.mkIf (cfg.smtp != null) { - SMTP_HOST = cfg.smtp.host; - SMTP_PORT = builtins.toString cfg.smtp.port; - SMTP_USERNAME = cfg.smtp.username; - SMTP_FROM_EMAIL = cfg.smtp.fromEmail; - SMTP_REPLY_EMAIL = cfg.smtp.replyEmail; - SMTP_TLS_CIPHERS = cfg.smtp.tlsCiphers; - SMTP_SECURE = builtins.toString cfg.smtp.secure; - }) - ]; - - preStart = '' - if [ ! -s ${lib.escapeShellArg cfg.secretKeyFile} ]; then - openssl rand -hex 32 > ${lib.escapeShellArg cfg.secretKeyFile} - fi - if [ ! -s ${lib.escapeShellArg cfg.utilsSecretFile} ]; then - openssl rand -hex 32 > ${lib.escapeShellArg cfg.utilsSecretFile} - fi - - ''; - - script = '' - export SECRET_KEY="$(head -n1 ${lib.escapeShellArg cfg.secretKeyFile})" - export UTILS_SECRET="$(head -n1 ${lib.escapeShellArg cfg.utilsSecretFile})" - ${lib.optionalString (cfg.storage.storageType == "s3") '' - export AWS_SECRET_ACCESS_KEY="$(head -n1 ${lib.escapeShellArg cfg.storage.secretKeyFile})" - ''} - ${lib.optionalString (cfg.slackAuthentication != null) '' - export SLACK_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.slackAuthentication.secretFile})" - ''} - ${lib.optionalString (cfg.googleAuthentication != null) '' - export GOOGLE_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.googleAuthentication.clientSecretFile})" - ''} - ${lib.optionalString (cfg.azureAuthentication != null) '' - export AZURE_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.azureAuthentication.clientSecretFile})" - ''} - ${lib.optionalString (cfg.oidcAuthentication != null) '' - export OIDC_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.oidcAuthentication.clientSecretFile})" - ''} - ${lib.optionalString (cfg.sslKeyFile != null) '' - export SSL_KEY="$(head -n1 ${lib.escapeShellArg cfg.sslKeyFile})" - ''} - ${lib.optionalString (cfg.sslCertFile != null) '' - export SSL_CERT="$(head -n1 ${lib.escapeShellArg cfg.sslCertFile})" - ''} - ${lib.optionalString (cfg.slackIntegration != null) '' - export SLACK_VERIFICATION_TOKEN="$(head -n1 ${lib.escapeShellArg cfg.slackIntegration.verificationTokenFile})" - ''} - ${lib.optionalString (cfg.smtp != null) '' - export SMTP_PASSWORD="$(head -n1 ${lib.escapeShellArg cfg.smtp.passwordFile})" - ''} - - ${if (cfg.databaseUrl == "local") then '' - export DATABASE_URL=${lib.escapeShellArg localPostgresqlUrl} - export PGSSLMODE=disable - '' else '' - export DATABASE_URL=${lib.escapeShellArg cfg.databaseUrl} - ''} - - ${cfg.package}/bin/outline-server - ''; - - serviceConfig = { - User = cfg.user; - Group = cfg.group; - Restart = "always"; - ProtectSystem = "strict"; - PrivateHome = true; - PrivateTmp = true; - UMask = "0007"; - - StateDirectory = "outline"; - StateDirectoryMode = "0750"; - RuntimeDirectory = "outline"; - RuntimeDirectoryMode = "0750"; - # This working directory is required to find stuff like the set of - # onboarding files: - WorkingDirectory = "${cfg.package}/share/outline"; - # In case this directory is not in /var/lib/outline, it needs to be made writable explicitly - ReadWritePaths = lib.mkIf (cfg.storage.storageType == "local") [ cfg.storage.localRootDir ]; + systemd.services.outline = + let + localRedisUrl = "redis+unix:///run/redis-outline/redis.sock"; + localPostgresqlUrl = "postgres://localhost/outline?host=/run/postgresql"; + in + { + description = "Outline wiki and knowledge base"; + wantedBy = [ "multi-user.target" ]; + after = + [ "networking.target" ] + ++ lib.optional (cfg.databaseUrl == "local") "postgresql.service" + ++ lib.optional (cfg.redisUrl == "local") "redis-outline.service"; + requires = + lib.optional (cfg.databaseUrl == "local") "postgresql.service" + ++ lib.optional (cfg.redisUrl == "local") "redis-outline.service"; + path = [ + pkgs.openssl # Required by the preStart script + ]; + + environment = lib.mkMerge [ + { + NODE_ENV = "production"; + + REDIS_URL = if cfg.redisUrl == "local" then localRedisUrl else cfg.redisUrl; + URL = cfg.publicUrl; + PORT = builtins.toString cfg.port; + + CDN_URL = cfg.cdnUrl; + FORCE_HTTPS = builtins.toString cfg.forceHttps; + ENABLE_UPDATES = builtins.toString cfg.enableUpdateCheck; + WEB_CONCURRENCY = builtins.toString cfg.concurrency; + MAXIMUM_IMPORT_SIZE = builtins.toString cfg.maximumImportSize; + DEBUG = cfg.debugOutput; + GOOGLE_ANALYTICS_ID = lib.optionalString (cfg.googleAnalyticsId != null) cfg.googleAnalyticsId; + SENTRY_DSN = lib.optionalString (cfg.sentryDsn != null) cfg.sentryDsn; + SENTRY_TUNNEL = lib.optionalString (cfg.sentryTunnel != null) cfg.sentryTunnel; + TEAM_LOGO = lib.optionalString (cfg.logo != null) cfg.logo; + DEFAULT_LANGUAGE = cfg.defaultLanguage; + + RATE_LIMITER_ENABLED = builtins.toString cfg.rateLimiter.enable; + RATE_LIMITER_REQUESTS = builtins.toString cfg.rateLimiter.requests; + RATE_LIMITER_DURATION_WINDOW = builtins.toString cfg.rateLimiter.durationWindow; + + FILE_STORAGE = cfg.storage.storageType; + FILE_STORAGE_UPLOAD_MAX_SIZE = builtins.toString cfg.storage.uploadMaxSize; + FILE_STORAGE_LOCAL_ROOT_DIR = cfg.storage.localRootDir; + } + + (lib.mkIf (cfg.storage.storageType == "s3") { + AWS_ACCESS_KEY_ID = cfg.storage.accessKey; + AWS_REGION = cfg.storage.region; + AWS_S3_UPLOAD_BUCKET_URL = cfg.storage.uploadBucketUrl; + AWS_S3_UPLOAD_BUCKET_NAME = cfg.storage.uploadBucketName; + AWS_S3_FORCE_PATH_STYLE = builtins.toString cfg.storage.forcePathStyle; + AWS_S3_ACL = cfg.storage.acl; + }) + + (lib.mkIf (cfg.slackAuthentication != null) { + SLACK_CLIENT_ID = cfg.slackAuthentication.clientId; + }) + + (lib.mkIf (cfg.googleAuthentication != null) { + GOOGLE_CLIENT_ID = cfg.googleAuthentication.clientId; + }) + + (lib.mkIf (cfg.azureAuthentication != null) { + AZURE_CLIENT_ID = cfg.azureAuthentication.clientId; + AZURE_RESOURCE_APP_ID = cfg.azureAuthentication.resourceAppId; + }) + + (lib.mkIf (cfg.oidcAuthentication != null) { + OIDC_CLIENT_ID = cfg.oidcAuthentication.clientId; + OIDC_AUTH_URI = cfg.oidcAuthentication.authUrl; + OIDC_TOKEN_URI = cfg.oidcAuthentication.tokenUrl; + OIDC_USERINFO_URI = cfg.oidcAuthentication.userinfoUrl; + OIDC_USERNAME_CLAIM = cfg.oidcAuthentication.usernameClaim; + OIDC_DISPLAY_NAME = cfg.oidcAuthentication.displayName; + OIDC_SCOPES = lib.concatStringsSep " " cfg.oidcAuthentication.scopes; + }) + + (lib.mkIf (cfg.slackIntegration != null) { + SLACK_APP_ID = cfg.slackIntegration.appId; + SLACK_MESSAGE_ACTIONS = builtins.toString cfg.slackIntegration.messageActions; + }) + + (lib.mkIf (cfg.smtp != null) { + SMTP_HOST = cfg.smtp.host; + SMTP_PORT = builtins.toString cfg.smtp.port; + SMTP_USERNAME = cfg.smtp.username; + SMTP_FROM_EMAIL = cfg.smtp.fromEmail; + SMTP_REPLY_EMAIL = cfg.smtp.replyEmail; + SMTP_TLS_CIPHERS = cfg.smtp.tlsCiphers; + SMTP_SECURE = builtins.toString cfg.smtp.secure; + }) + ]; + + preStart = '' + if [ ! -s ${lib.escapeShellArg cfg.secretKeyFile} ]; then + openssl rand -hex 32 > ${lib.escapeShellArg cfg.secretKeyFile} + fi + if [ ! -s ${lib.escapeShellArg cfg.utilsSecretFile} ]; then + openssl rand -hex 32 > ${lib.escapeShellArg cfg.utilsSecretFile} + fi + + ''; + + script = '' + export SECRET_KEY="$(head -n1 ${lib.escapeShellArg cfg.secretKeyFile})" + export UTILS_SECRET="$(head -n1 ${lib.escapeShellArg cfg.utilsSecretFile})" + ${lib.optionalString (cfg.storage.storageType == "s3") '' + export AWS_SECRET_ACCESS_KEY="$(head -n1 ${lib.escapeShellArg cfg.storage.secretKeyFile})" + ''} + ${lib.optionalString (cfg.slackAuthentication != null) '' + export SLACK_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.slackAuthentication.secretFile})" + ''} + ${lib.optionalString (cfg.googleAuthentication != null) '' + export GOOGLE_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.googleAuthentication.clientSecretFile})" + ''} + ${lib.optionalString (cfg.azureAuthentication != null) '' + export AZURE_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.azureAuthentication.clientSecretFile})" + ''} + ${lib.optionalString (cfg.oidcAuthentication != null) '' + export OIDC_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.oidcAuthentication.clientSecretFile})" + ''} + ${lib.optionalString (cfg.sslKeyFile != null) '' + export SSL_KEY="$(head -n1 ${lib.escapeShellArg cfg.sslKeyFile})" + ''} + ${lib.optionalString (cfg.sslCertFile != null) '' + export SSL_CERT="$(head -n1 ${lib.escapeShellArg cfg.sslCertFile})" + ''} + ${lib.optionalString (cfg.slackIntegration != null) '' + export SLACK_VERIFICATION_TOKEN="$(head -n1 ${lib.escapeShellArg cfg.slackIntegration.verificationTokenFile})" + ''} + ${lib.optionalString (cfg.smtp != null) '' + export SMTP_PASSWORD="$(head -n1 ${lib.escapeShellArg cfg.smtp.passwordFile})" + ''} + + ${ + if (cfg.databaseUrl == "local") then + '' + export DATABASE_URL=${lib.escapeShellArg localPostgresqlUrl} + export PGSSLMODE=disable + '' + else + '' + export DATABASE_URL=${lib.escapeShellArg cfg.databaseUrl} + '' + } + + ${cfg.package}/bin/outline-server + ''; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + Restart = "always"; + ProtectSystem = "strict"; + PrivateHome = true; + PrivateTmp = true; + UMask = "0007"; + + StateDirectory = "outline"; + StateDirectoryMode = "0750"; + RuntimeDirectory = "outline"; + RuntimeDirectoryMode = "0750"; + # This working directory is required to find stuff like the set of + # onboarding files: + WorkingDirectory = "${cfg.package}/share/outline"; + # In case this directory is not in /var/lib/outline, it needs to be made writable explicitly + ReadWritePaths = lib.mkIf (cfg.storage.storageType == "local") [ cfg.storage.localRootDir ]; + }; }; - }; }; } diff --git a/nixos/modules/services/web-apps/peering-manager.nix b/nixos/modules/services/web-apps/peering-manager.nix index acdc393745293..dd70567adab07 100644 --- a/nixos/modules/services/web-apps/peering-manager.nix +++ b/nixos/modules/services/web-apps/peering-manager.nix @@ -1,34 +1,49 @@ -{ config, lib, pkgs, buildEnv, ... }: +{ + config, + lib, + pkgs, + buildEnv, + ... +}: let cfg = config.services.peering-manager; - pythonFmt = pkgs.formats.pythonVars {}; + pythonFmt = pkgs.formats.pythonVars { }; settingsFile = pythonFmt.generate "peering-manager-settings.py" cfg.settings; extraConfigFile = pkgs.writeTextFile { name = "peering-manager-extraConfig.py"; text = cfg.extraConfig; }; - configFile = pkgs.concatText "configuration.py" [ settingsFile extraConfigFile ]; - - pkg = (pkgs.peering-manager.overrideAttrs (old: { - postInstall = '' - ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py - '' + lib.optionalString cfg.enableLdap '' - ln -s ${cfg.ldapConfigPath} $out/opt/peering-manager/peering_manager/ldap_config.py - '' + lib.optionalString cfg.enableOidc '' - ln -s ${cfg.oidcConfigPath} $out/opt/peering-manager/peering_manager/oidc_config.py - ''; - })).override { - inherit (cfg) plugins; - }; + configFile = pkgs.concatText "configuration.py" [ + settingsFile + extraConfigFile + ]; + + pkg = + (pkgs.peering-manager.overrideAttrs (old: { + postInstall = + '' + ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py + '' + + lib.optionalString cfg.enableLdap '' + ln -s ${cfg.ldapConfigPath} $out/opt/peering-manager/peering_manager/ldap_config.py + '' + + lib.optionalString cfg.enableOidc '' + ln -s ${cfg.oidcConfigPath} $out/opt/peering-manager/peering_manager/oidc_config.py + ''; + })).override + { + inherit (cfg) plugins; + }; peeringManagerManageScript = pkgs.writeScriptBin "peering-manager-manage" '' #!${pkgs.stdenv.shell} export PYTHONPATH=${pkg.pythonPath} sudo -u peering-manager ${pkg}/bin/peering-manager "$@" ''; -in { +in +{ options.services.peering-manager = with lib; { enable = mkOption { type = types.bool; @@ -67,7 +82,7 @@ in { plugins = mkOption { type = types.functionTo (types.listOf types.package); - default = _: []; + default = _: [ ]; defaultText = literalExpression '' python3Packages: with python3Packages; []; ''; @@ -105,7 +120,7 @@ in { options = { ALLOWED_HOSTS = lib.mkOption { type = with lib.types; listOf str; - default = ["*"]; + default = [ "*" ]; description = '' A list of valid fully-qualified domain names (FQDNs) and/or IP addresses that can be used to reach the peering manager service. @@ -185,17 +200,27 @@ in { }; }; - extraConfig = '' - with open("${cfg.secretKeyFile}", "r") as file: - SECRET_KEY = file.readline() - '' + lib.optionalString (cfg.peeringdbApiKeyFile != null) '' - with open("${cfg.peeringdbApiKeyFile}", "r") as file: - PEERINGDB_API_KEY = file.readline() - ''; + extraConfig = + '' + with open("${cfg.secretKeyFile}", "r") as file: + SECRET_KEY = file.readline() + '' + + lib.optionalString (cfg.peeringdbApiKeyFile != null) '' + with open("${cfg.peeringdbApiKeyFile}", "r") as file: + PEERINGDB_API_KEY = file.readline() + ''; - plugins = (ps: - (lib.optionals cfg.enableLdap [ ps.django-auth-ldap ]) ++ - (lib.optionals cfg.enableOidc (with ps; [ mozilla-django-oidc pyopenssl josepy ])) + plugins = ( + ps: + (lib.optionals cfg.enableLdap [ ps.django-auth-ldap ]) + ++ (lib.optionals cfg.enableOidc ( + with ps; + [ + mozilla-django-oidc + pyopenssl + josepy + ] + )) ); }; @@ -220,103 +245,108 @@ in { description = "Target for all Peering Manager services"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network-online.target" "redis-peering-manager.service" ]; + after = [ + "network-online.target" + "redis-peering-manager.service" + ]; }; - systemd.services = let - defaults = { - environment = { - PYTHONPATH = pkg.pythonPath; - }; - serviceConfig = { - WorkingDirectory = "/var/lib/peering-manager"; - User = "peering-manager"; - Group = "peering-manager"; - StateDirectory = "peering-manager"; - StateDirectoryMode = "0750"; - Restart = "on-failure"; + systemd.services = + let + defaults = { + environment = { + PYTHONPATH = pkg.pythonPath; + }; + serviceConfig = { + WorkingDirectory = "/var/lib/peering-manager"; + User = "peering-manager"; + Group = "peering-manager"; + StateDirectory = "peering-manager"; + StateDirectoryMode = "0750"; + Restart = "on-failure"; + }; }; - }; - in { - peering-manager-migration = lib.recursiveUpdate defaults { - description = "Peering Manager migrations"; - wantedBy = [ "peering-manager.target" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkg}/bin/peering-manager migrate"; + in + { + peering-manager-migration = lib.recursiveUpdate defaults { + description = "Peering Manager migrations"; + wantedBy = [ "peering-manager.target" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkg}/bin/peering-manager migrate"; + }; }; - }; - peering-manager = lib.recursiveUpdate defaults { - description = "Peering Manager WSGI Service"; - wantedBy = [ "peering-manager.target" ]; - after = [ "peering-manager-migration.service" ]; + peering-manager = lib.recursiveUpdate defaults { + description = "Peering Manager WSGI Service"; + wantedBy = [ "peering-manager.target" ]; + after = [ "peering-manager-migration.service" ]; - preStart = '' - ${pkg}/bin/peering-manager remove_stale_contenttypes --no-input - ''; - - serviceConfig = { - ExecStart = '' - ${pkg.python.pkgs.gunicorn}/bin/gunicorn peering_manager.wsgi \ - --bind ${cfg.listenAddress}:${toString cfg.port} \ - --pythonpath ${pkg}/opt/peering-manager + preStart = '' + ${pkg}/bin/peering-manager remove_stale_contenttypes --no-input ''; + + serviceConfig = { + ExecStart = '' + ${pkg.python.pkgs.gunicorn}/bin/gunicorn peering_manager.wsgi \ + --bind ${cfg.listenAddress}:${toString cfg.port} \ + --pythonpath ${pkg}/opt/peering-manager + ''; + }; }; - }; - peering-manager-rq = lib.recursiveUpdate defaults { - description = "Peering Manager Request Queue Worker"; - wantedBy = [ "peering-manager.target" ]; - after = [ "peering-manager.service" ]; - serviceConfig.ExecStart = "${pkg}/bin/peering-manager rqworker high default low"; - }; + peering-manager-rq = lib.recursiveUpdate defaults { + description = "Peering Manager Request Queue Worker"; + wantedBy = [ "peering-manager.target" ]; + after = [ "peering-manager.service" ]; + serviceConfig.ExecStart = "${pkg}/bin/peering-manager rqworker high default low"; + }; - peering-manager-housekeeping = lib.recursiveUpdate defaults { - description = "Peering Manager housekeeping job"; - after = [ "peering-manager.service" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkg}/bin/peering-manager housekeeping"; + peering-manager-housekeeping = lib.recursiveUpdate defaults { + description = "Peering Manager housekeeping job"; + after = [ "peering-manager.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkg}/bin/peering-manager housekeeping"; + }; }; - }; - peering-manager-peeringdb-sync = lib.recursiveUpdate defaults { - description = "PeeringDB sync"; - after = [ "peering-manager.service" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkg}/bin/peering-manager peeringdb_sync"; + peering-manager-peeringdb-sync = lib.recursiveUpdate defaults { + description = "PeeringDB sync"; + after = [ "peering-manager.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkg}/bin/peering-manager peeringdb_sync"; + }; }; - }; - peering-manager-prefix-fetch = lib.recursiveUpdate defaults { - description = "Fetch IRR AS-SET prefixes"; - after = [ "peering-manager.service" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkg}/bin/peering-manager grab_prefixes"; + peering-manager-prefix-fetch = lib.recursiveUpdate defaults { + description = "Fetch IRR AS-SET prefixes"; + after = [ "peering-manager.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkg}/bin/peering-manager grab_prefixes"; + }; }; - }; - peering-manager-configuration-deployment = lib.recursiveUpdate defaults { - description = "Push configuration to routers"; - after = [ "peering-manager.service" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkg}/bin/peering-manager configure_routers"; + peering-manager-configuration-deployment = lib.recursiveUpdate defaults { + description = "Push configuration to routers"; + after = [ "peering-manager.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkg}/bin/peering-manager configure_routers"; + }; }; - }; - peering-manager-session-poll = lib.recursiveUpdate defaults { - description = "Poll peering sessions from routers"; - after = [ "peering-manager.service" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkg}/bin/peering-manager poll_bgp_sessions --all"; + peering-manager-session-poll = lib.recursiveUpdate defaults { + description = "Poll peering sessions from routers"; + after = [ "peering-manager.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkg}/bin/peering-manager poll_bgp_sessions --all"; + }; }; }; - }; systemd.timers = { peering-manager-housekeeping = { @@ -359,8 +389,10 @@ in { isSystemUser = true; group = "peering-manager"; }; - users.groups.peering-manager = {}; - users.groups."${config.services.redis.servers.peering-manager.user}".members = [ "peering-manager" ]; + users.groups.peering-manager = { }; + users.groups."${config.services.redis.servers.peering-manager.user}".members = [ + "peering-manager" + ]; }; meta.maintainers = with lib.maintainers; [ yuka ]; diff --git a/nixos/modules/services/web-apps/peertube.nix b/nixos/modules/services/web-apps/peertube.nix index bffc74e106100..b61344a95db88 100644 --- a/nixos/modules/services/web-apps/peertube.nix +++ b/nixos/modules/services/web-apps/peertube.nix @@ -1,10 +1,16 @@ -{ lib, pkgs, config, options, ... }: +{ + lib, + pkgs, + config, + options, + ... +}: let cfg = config.services.peertube; opt = options.services.peertube; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; configFile = settingsFormat.generate "production.json" cfg.settings; env = { @@ -16,7 +22,17 @@ let HOME = cfg.package; }; - systemCallsList = [ "@cpu-emulation" "@debug" "@keyring" "@ipc" "@memlock" "@mount" "@obsolete" "@privileged" "@setuid" ]; + systemCallsList = [ + "@cpu-emulation" + "@debug" + "@keyring" + "@ipc" + "@memlock" + "@mount" + "@obsolete" + "@privileged" + "@setuid" + ]; cfgService = { # Proc filesystem @@ -50,10 +66,13 @@ let SystemCallArchitectures = "native"; }; - envFile = pkgs.writeText "peertube.env" (lib.concatMapStrings (s: s + "\n") ( - (lib.concatLists (lib.mapAttrsToList (name: value: - lib.optional (value != null) ''${name}="${toString value}"'' - ) env)))); + envFile = pkgs.writeText "peertube.env" ( + lib.concatMapStrings (s: s + "\n") ( + (lib.concatLists ( + lib.mapAttrsToList (name: value: lib.optional (value != null) ''${name}="${toString value}"'') env + )) + ) + ); peertubeEnv = pkgs.writeShellScriptBin "peertube-env" '' set -a @@ -61,11 +80,19 @@ let eval -- "\$@" ''; - nginxCommonHeaders = lib.optionalString config.services.nginx.virtualHosts.${cfg.localDomain}.forceSSL '' - add_header Strict-Transport-Security 'max-age=31536000'; - '' + lib.optionalString (config.services.nginx.virtualHosts.${cfg.localDomain}.quic && config.services.nginx.virtualHosts.${cfg.localDomain}.http3) '' - add_header Alt-Svc 'h3=":$server_port"; ma=604800'; - ''; + nginxCommonHeaders = + lib.optionalString config.services.nginx.virtualHosts.${cfg.localDomain}.forceSSL '' + add_header Strict-Transport-Security 'max-age=31536000'; + '' + + + lib.optionalString + ( + config.services.nginx.virtualHosts.${cfg.localDomain}.quic + && config.services.nginx.virtualHosts.${cfg.localDomain}.http3 + ) + '' + add_header Alt-Svc 'h3=":$server_port"; ma=604800'; + ''; nginxCommonHeadersExtra = '' add_header Access-Control-Allow-Origin '*'; @@ -73,7 +100,8 @@ let add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; ''; -in { +in +{ options.services.peertube = { enable = lib.mkEnableOption "Peertube"; @@ -116,7 +144,10 @@ in { dataDirs = lib.mkOption { type = lib.types.listOf lib.types.path; default = [ ]; - example = [ "/opt/peertube/storage" "/var/cache/peertube" ]; + example = [ + "/opt/peertube/storage" + "/var/cache/peertube" + ]; description = "Allow access to custom data locations."; }; @@ -283,48 +314,58 @@ in { config = lib.mkIf cfg.enable { assertions = [ - { assertion = cfg.serviceEnvironmentFile == null || !lib.hasPrefix builtins.storeDir cfg.serviceEnvironmentFile; - message = '' - points to - a file in the Nix store. You should use a quoted absolute path to - prevent this. - ''; + { + assertion = + cfg.serviceEnvironmentFile == null || !lib.hasPrefix builtins.storeDir cfg.serviceEnvironmentFile; + message = '' + points to + a file in the Nix store. You should use a quoted absolute path to + prevent this. + ''; } - { assertion = cfg.secrets.secretsFile != null; - message = '' - needs to be set. - ''; + { + assertion = cfg.secrets.secretsFile != null; + message = '' + needs to be set. + ''; } - { assertion = !(cfg.redis.enableUnixSocket && (cfg.redis.host != null || cfg.redis.port != null)); - message = '' - and redis network connection ( or ) enabled. Disable either of them. + { + assertion = !(cfg.redis.enableUnixSocket && (cfg.redis.host != null || cfg.redis.port != null)); + message = '' + and redis network connection ( or ) enabled. Disable either of them. ''; } - { assertion = cfg.redis.enableUnixSocket || (cfg.redis.host != null && cfg.redis.port != null); - message = '' - and needs to be set if is not enabled. + { + assertion = cfg.redis.enableUnixSocket || (cfg.redis.host != null && cfg.redis.port != null); + message = '' + and needs to be set if is not enabled. ''; } - { assertion = cfg.redis.passwordFile == null || !lib.hasPrefix builtins.storeDir cfg.redis.passwordFile; - message = '' - points to - a file in the Nix store. You should use a quoted absolute path to - prevent this. - ''; + { + assertion = + cfg.redis.passwordFile == null || !lib.hasPrefix builtins.storeDir cfg.redis.passwordFile; + message = '' + points to + a file in the Nix store. You should use a quoted absolute path to + prevent this. + ''; } - { assertion = cfg.database.passwordFile == null || !lib.hasPrefix builtins.storeDir cfg.database.passwordFile; - message = '' - points to - a file in the Nix store. You should use a quoted absolute path to - prevent this. - ''; + { + assertion = + cfg.database.passwordFile == null || !lib.hasPrefix builtins.storeDir cfg.database.passwordFile; + message = '' + points to + a file in the Nix store. You should use a quoted absolute path to + prevent this. + ''; } - { assertion = cfg.smtp.passwordFile == null || !lib.hasPrefix builtins.storeDir cfg.smtp.passwordFile; - message = '' - points to - a file in the Nix store. You should use a quoted absolute path to - prevent this. - ''; + { + assertion = cfg.smtp.passwordFile == null || !lib.hasPrefix builtins.storeDir cfg.smtp.passwordFile; + message = '' + points to + a file in the Nix store. You should use a quoted absolute path to + prevent this. + ''; } ]; @@ -380,7 +421,11 @@ in { }; }; } - (lib.mkIf cfg.redis.enableUnixSocket { redis = { socket = "/run/redis-peertube/redis.sock"; }; }) + (lib.mkIf cfg.redis.enableUnixSocket { + redis = { + socket = "/run/redis-peertube/redis.sock"; + }; + }) ]; systemd.tmpfiles.rules = [ @@ -392,18 +437,23 @@ in { systemd.services.peertube-init-db = lib.mkIf cfg.database.createLocally { description = "Initialization database for PeerTube daemon"; - after = [ "network.target" "postgresql.service" ]; + after = [ + "network.target" + "postgresql.service" + ]; requires = [ "postgresql.service" ]; - script = let - psqlSetupCommands = pkgs.writeText "peertube-init.sql" '' - SELECT 'CREATE USER "${cfg.database.user}"' WHERE NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${cfg.database.user}')\gexec - SELECT 'CREATE DATABASE "${cfg.database.name}" OWNER "${cfg.database.user}" TEMPLATE template0 ENCODING UTF8' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '${cfg.database.name}')\gexec - \c '${cfg.database.name}' - CREATE EXTENSION IF NOT EXISTS pg_trgm; - CREATE EXTENSION IF NOT EXISTS unaccent; - ''; - in "${config.services.postgresql.package}/bin/psql -f ${psqlSetupCommands}"; + script = + let + psqlSetupCommands = pkgs.writeText "peertube-init.sql" '' + SELECT 'CREATE USER "${cfg.database.user}"' WHERE NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${cfg.database.user}')\gexec + SELECT 'CREATE DATABASE "${cfg.database.name}" OWNER "${cfg.database.user}" TEMPLATE template0 ENCODING UTF8' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '${cfg.database.name}')\gexec + \c '${cfg.database.name}' + CREATE EXTENSION IF NOT EXISTS pg_trgm; + CREATE EXTENSION IF NOT EXISTS unaccent; + ''; + in + "${config.services.postgresql.package}/bin/psql -f ${psqlSetupCommands}"; serviceConfig = { Type = "oneshot"; @@ -421,35 +471,48 @@ in { systemd.services.peertube = { description = "PeerTube daemon"; - after = [ "network.target" ] + after = + [ "network.target" ] ++ lib.optional cfg.redis.createLocally "redis-peertube.service" - ++ lib.optionals cfg.database.createLocally [ "postgresql.service" "peertube-init-db.service" ]; - requires = lib.optional cfg.redis.createLocally "redis-peertube.service" - ++ lib.optionals cfg.database.createLocally [ "postgresql.service" "peertube-init-db.service" ]; + ++ lib.optionals cfg.database.createLocally [ + "postgresql.service" + "peertube-init-db.service" + ]; + requires = + lib.optional cfg.redis.createLocally "redis-peertube.service" + ++ lib.optionals cfg.database.createLocally [ + "postgresql.service" + "peertube-init-db.service" + ]; wantedBy = [ "multi-user.target" ]; environment = env; - path = with pkgs; [ nodejs_18 yarn ffmpeg-headless openssl ]; + path = with pkgs; [ + nodejs_18 + yarn + ffmpeg-headless + openssl + ]; script = '' umask 077 cat > /var/lib/peertube/config/local.yaml < - * - - The NixOS module will handle the configuration changes for you, - at least. - '' + if lib.versionAtLeast config.system.stateVersion "23.11" then + pkgs.pict-rs + else + throw '' + pict-rs made changes to the database schema between 0.3 and 0.4. It + will apply these automatically on the first run of 0.4, but the old + version will no longer work after that. + + Your configuration is currently using the old default of pict-rs + 0.3. Unfortunately, 0.3 no longer builds due to the Rust 1.80 update, + and has been removed. pict-rs has already been updated to 0.5 in + Nixpkgs, which has another schema change but removes the migration + logic for 0.3. + + You will need to migrate to 0.4 first, and then to 0.5. As 0.4 is + no longer present in Nixpkgs, the recommended migration path is: + + * Import a separate Nixpkgs old enough to contain 0.4, temporarily + set `services.pict-rs.package` to its pict-rs, set the + `PICTRS__OLD_DB__PATH` environment variable for the migration, and + activate your configuration to start it. The following configuration + snippet should work: + + services.pict-rs.package = + (import (builtins.fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/9b19f5e77dd906cb52dade0b7bd280339d2a1f3d.tar.gz"; + sha256 = "sha256:0939vbhln9d33xkqw63nsk908k03fxihj85zaf70i3il9z42q8mc"; + }) pkgs.config).pict-rs; + + systemd.services.pict-rs.environment.PICTRS__OLD_DB__PATH = config.services.pict-rs.dataDir; + + * After the migration to 0.4 completes, remove the package and + environment variable overrides, set `services.pict-rs.package` to + the current `pkgs.pict-rs` instead, and activate your configuration + to begin the migration to 0.5. + + For more information, see: + + * + * + + The NixOS module will handle the configuration changes for you, + at least. + '' ); systemd.services.pict-rs = { diff --git a/nixos/modules/services/web-apps/plausible.nix b/nixos/modules/services/web-apps/plausible.nix index 213d5125ee93b..2640c9e53cf71 100644 --- a/nixos/modules/services/web-apps/plausible.nix +++ b/nixos/modules/services/web-apps/plausible.nix @@ -1,11 +1,17 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: with lib; let cfg = config.services.plausible; -in { +in +{ options.services.plausible = { enable = mkEnableOption "plausible"; @@ -13,7 +19,9 @@ in { database = { clickhouse = { - setup = mkEnableOption "creating a clickhouse instance" // { default = true; }; + setup = mkEnableOption "creating a clickhouse instance" // { + default = true; + }; url = mkOption { default = "http://localhost:8123/default"; type = types.str; @@ -23,7 +31,9 @@ in { }; }; postgres = { - setup = mkEnableOption "creating a postgresql instance" // { default = true; }; + setup = mkEnableOption "creating a postgresql instance" // { + default = true; + }; dbname = mkOption { default = "plausible"; type = types.str; @@ -44,7 +54,11 @@ in { server = { disableRegistration = mkOption { default = true; - type = types.enum [true false "invite_only"]; + type = types.enum [ + true + false + "invite_only" + ]; description = '' Whether to prohibit creating an account in plausible's UI or allow on `invite_only`. ''; @@ -136,11 +150,33 @@ in { }; imports = [ - (mkRemovedOptionModule [ "services" "plausible" "releaseCookiePath" ] "Plausible uses no distributed Erlang features, so this option is no longer necessary and was removed") - (mkRemovedOptionModule [ "services" "plausible" "adminUser" "name" ] "Admin user is now created using first start wizard") - (mkRemovedOptionModule [ "services" "plausible" "adminUser" "email" ] "Admin user is now created using first start wizard") - (mkRemovedOptionModule [ "services" "plausible" "adminUser" "passwordFile" ] "Admin user is now created using first start wizard") - (mkRemovedOptionModule [ "services" "plausible" "adminUser" "activate" ] "Admin user is now created using first start wizard") + (mkRemovedOptionModule [ "services" "plausible" "releaseCookiePath" ] + "Plausible uses no distributed Erlang features, so this option is no longer necessary and was removed" + ) + (mkRemovedOptionModule [ + "services" + "plausible" + "adminUser" + "name" + ] "Admin user is now created using first start wizard") + (mkRemovedOptionModule [ + "services" + "plausible" + "adminUser" + "email" + ] "Admin user is now created using first start wizard") + (mkRemovedOptionModule [ + "services" + "plausible" + "adminUser" + "passwordFile" + ] "Admin user is now created using first start wizard") + (mkRemovedOptionModule [ + "services" + "plausible" + "adminUser" + "activate" + ] "Admin user is now created using first start wizard") ]; config = mkIf cfg.enable { @@ -160,75 +196,82 @@ in { inherit (cfg.package.meta) description; documentation = [ "https://plausible.io/docs/self-hosting" ]; wantedBy = [ "multi-user.target" ]; - after = optional cfg.database.clickhouse.setup "clickhouse.service" - ++ optionals cfg.database.postgres.setup [ + after = + optional cfg.database.clickhouse.setup "clickhouse.service" + ++ optionals cfg.database.postgres.setup [ "postgresql.service" "plausible-postgres.service" ]; - requires = optional cfg.database.clickhouse.setup "clickhouse.service" + requires = + optional cfg.database.clickhouse.setup "clickhouse.service" ++ optionals cfg.database.postgres.setup [ "postgresql.service" "plausible-postgres.service" ]; - environment = { - # NixOS specific option to avoid that it's trying to write into its store-path. - # See also https://github.com/lau/tzdata#data-directory-and-releases - STORAGE_DIR = "/var/lib/plausible/elixir_tzdata"; + environment = + { + # NixOS specific option to avoid that it's trying to write into its store-path. + # See also https://github.com/lau/tzdata#data-directory-and-releases + STORAGE_DIR = "/var/lib/plausible/elixir_tzdata"; - # Configuration options from - # https://plausible.io/docs/self-hosting-configuration - PORT = toString cfg.server.port; - LISTEN_IP = cfg.server.listenAddress; + # Configuration options from + # https://plausible.io/docs/self-hosting-configuration + PORT = toString cfg.server.port; + LISTEN_IP = cfg.server.listenAddress; - # Note [plausible-needs-no-erlang-distributed-features]: - # Plausible does not use, and does not plan to use, any of - # Erlang's distributed features, see: - # https://github.com/plausible/analytics/pull/1190#issuecomment-1018820934 - # Thus, disable distribution for improved simplicity and security: - # - # When distribution is enabled, - # Elixir spwans the Erlang VM, which will listen by default on all - # interfaces for messages between Erlang nodes (capable of - # remote code execution); it can be protected by a cookie; see - # https://erlang.org/doc/reference_manual/distributed.html#security). - # - # It would be possible to restrict the interface to one of our choice - # (e.g. localhost or a VPN IP) similar to how we do it with `listenAddress` - # for the Plausible web server; if distribution is ever needed in the future, - # https://github.com/NixOS/nixpkgs/pull/130297 shows how to do it. - # - # But since Plausible does not use this feature in any way, - # we just disable it. - RELEASE_DISTRIBUTION = "none"; - # Additional safeguard, in case `RELEASE_DISTRIBUTION=none` ever - # stops disabling the start of EPMD. - ERL_EPMD_ADDRESS = "127.0.0.1"; + # Note [plausible-needs-no-erlang-distributed-features]: + # Plausible does not use, and does not plan to use, any of + # Erlang's distributed features, see: + # https://github.com/plausible/analytics/pull/1190#issuecomment-1018820934 + # Thus, disable distribution for improved simplicity and security: + # + # When distribution is enabled, + # Elixir spwans the Erlang VM, which will listen by default on all + # interfaces for messages between Erlang nodes (capable of + # remote code execution); it can be protected by a cookie; see + # https://erlang.org/doc/reference_manual/distributed.html#security). + # + # It would be possible to restrict the interface to one of our choice + # (e.g. localhost or a VPN IP) similar to how we do it with `listenAddress` + # for the Plausible web server; if distribution is ever needed in the future, + # https://github.com/NixOS/nixpkgs/pull/130297 shows how to do it. + # + # But since Plausible does not use this feature in any way, + # we just disable it. + RELEASE_DISTRIBUTION = "none"; + # Additional safeguard, in case `RELEASE_DISTRIBUTION=none` ever + # stops disabling the start of EPMD. + ERL_EPMD_ADDRESS = "127.0.0.1"; - DISABLE_REGISTRATION = if isBool cfg.server.disableRegistration then boolToString cfg.server.disableRegistration else cfg.server.disableRegistration; + DISABLE_REGISTRATION = + if isBool cfg.server.disableRegistration then + boolToString cfg.server.disableRegistration + else + cfg.server.disableRegistration; - RELEASE_TMP = "/var/lib/plausible/tmp"; - # Home is needed to connect to the node with iex - HOME = "/var/lib/plausible"; + RELEASE_TMP = "/var/lib/plausible/tmp"; + # Home is needed to connect to the node with iex + HOME = "/var/lib/plausible"; - DATABASE_URL = "postgresql:///${cfg.database.postgres.dbname}?host=${cfg.database.postgres.socket}"; - CLICKHOUSE_DATABASE_URL = cfg.database.clickhouse.url; + DATABASE_URL = "postgresql:///${cfg.database.postgres.dbname}?host=${cfg.database.postgres.socket}"; + CLICKHOUSE_DATABASE_URL = cfg.database.clickhouse.url; - BASE_URL = cfg.server.baseUrl; + BASE_URL = cfg.server.baseUrl; - MAILER_EMAIL = cfg.mail.email; - SMTP_HOST_ADDR = cfg.mail.smtp.hostAddr; - SMTP_HOST_PORT = toString cfg.mail.smtp.hostPort; - SMTP_RETRIES = toString cfg.mail.smtp.retries; - SMTP_HOST_SSL_ENABLED = boolToString cfg.mail.smtp.enableSSL; + MAILER_EMAIL = cfg.mail.email; + SMTP_HOST_ADDR = cfg.mail.smtp.hostAddr; + SMTP_HOST_PORT = toString cfg.mail.smtp.hostPort; + SMTP_RETRIES = toString cfg.mail.smtp.retries; + SMTP_HOST_SSL_ENABLED = boolToString cfg.mail.smtp.enableSSL; - SELFHOST = "true"; - } // (optionalAttrs (cfg.mail.smtp.user != null) { - SMTP_USER_NAME = cfg.mail.smtp.user; - }); + SELFHOST = "true"; + } + // (optionalAttrs (cfg.mail.smtp.user != null) { + SMTP_USER_NAME = cfg.mail.smtp.user; + }); - path = [ cfg.package ] - ++ optional cfg.database.postgres.setup config.services.postgresql.package; + path = [ cfg.package ] ++ optional cfg.database.postgres.setup config.services.postgresql.package; script = '' # Elixir does not start up if `RELEASE_COOKIE` is not set, # even though we set `RELEASE_DISTRIBUTION=none` so the cookie should be unused. @@ -236,8 +279,9 @@ in { export RELEASE_COOKIE=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 20) export SECRET_KEY_BASE="$(< $CREDENTIALS_DIRECTORY/SECRET_KEY_BASE )" - ${lib.optionalString (cfg.mail.smtp.passwordFile != null) - ''export SMTP_USER_PWD="$(< $CREDENTIALS_DIRECTORY/SMTP_USER_PWD )"''} + ${lib.optionalString ( + cfg.mail.smtp.passwordFile != null + ) ''export SMTP_USER_PWD="$(< $CREDENTIALS_DIRECTORY/SMTP_USER_PWD )"''} ${lib.optionalString cfg.database.postgres.setup '' # setup @@ -255,9 +299,13 @@ in { PrivateTmp = true; WorkingDirectory = "/var/lib/plausible"; StateDirectory = "plausible"; - LoadCredential = [ - "SECRET_KEY_BASE:${cfg.server.secretKeybaseFile}" - ] ++ lib.optionals (cfg.mail.smtp.passwordFile != null) [ "SMTP_USER_PWD:${cfg.mail.smtp.passwordFile}"]; + LoadCredential = + [ + "SECRET_KEY_BASE:${cfg.server.secretKeybaseFile}" + ] + ++ lib.optionals (cfg.mail.smtp.passwordFile != null) [ + "SMTP_USER_PWD:${cfg.mail.smtp.passwordFile}" + ]; }; }; } diff --git a/nixos/modules/services/web-apps/powerdns-admin.nix b/nixos/modules/services/web-apps/powerdns-admin.nix index d1886129515e1..7c23cd10efad4 100644 --- a/nixos/modules/services/web-apps/powerdns-admin.nix +++ b/nixos/modules/services/web-apps/powerdns-admin.nix @@ -1,21 +1,27 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.powerdns-admin; - configText = '' - ${cfg.config} - '' - + optionalString (cfg.secretKeyFile != null) '' - with open('${cfg.secretKeyFile}') as file: - SECRET_KEY = file.read() - '' - + optionalString (cfg.saltFile != null) '' - with open('${cfg.saltFile}') as file: - SALT = file.read() - ''; + configText = + '' + ${cfg.config} + '' + + optionalString (cfg.secretKeyFile != null) '' + with open('${cfg.secretKeyFile}') as file: + SECRET_KEY = file.read() + '' + + optionalString (cfg.saltFile != null) '' + with open('${cfg.saltFile}') as file: + SALT = file.read() + ''; in { options.services.powerdns-admin = { @@ -87,15 +93,16 @@ in User = "powerdnsadmin"; Group = "powerdnsadmin"; - BindReadOnlyPaths = [ - "/nix/store" - "-/etc/resolv.conf" - "-/etc/nsswitch.conf" - "-/etc/hosts" - "-/etc/localtime" - ] - ++ (optional (cfg.secretKeyFile != null) cfg.secretKeyFile) - ++ (optional (cfg.saltFile != null) cfg.saltFile); + BindReadOnlyPaths = + [ + "/nix/store" + "-/etc/resolv.conf" + "-/etc/nsswitch.conf" + "-/etc/hosts" + "-/etc/localtime" + ] + ++ (optional (cfg.secretKeyFile != null) cfg.secretKeyFile) + ++ (optional (cfg.saltFile != null) cfg.saltFile); # ProtectClock= adds DeviceAllow=char-rtc r DeviceAllow = ""; # Implies ProtectSystem=strict, which re-mounts all paths @@ -120,7 +127,11 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; diff --git a/nixos/modules/services/web-apps/pretalx.nix b/nixos/modules/services/web-apps/pretalx.nix index 89952f09c92e7..c7d35d029963e 100644 --- a/nixos/modules/services/web-apps/pretalx.nix +++ b/nixos/modules/services/web-apps/pretalx.nix @@ -1,8 +1,9 @@ -{ config -, lib -, pkgs -, utils -, ... +{ + config, + lib, + pkgs, + utils, + ... }: let @@ -16,25 +17,29 @@ let }; pythonEnv = finalPackage.python.buildEnv.override { - extraLibs = with finalPackage.python.pkgs; [ - (toPythonModule finalPackage) - gunicorn - ] - ++ finalPackage.optional-dependencies.redis - ++ lib.optionals cfg.celery.enable [ celery ] - ++ lib.optionals (cfg.settings.database.backend == "postgresql") finalPackage.optional-dependencies.postgres; + extraLibs = + with finalPackage.python.pkgs; + [ + (toPythonModule finalPackage) + gunicorn + ] + ++ finalPackage.optional-dependencies.redis + ++ lib.optionals cfg.celery.enable [ celery ] + ++ lib.optionals ( + cfg.settings.database.backend == "postgresql" + ) finalPackage.optional-dependencies.postgres; }; in { meta = with lib; { - maintainers = with maintainers; [ hexa] ++ teams.c3d2.members; + maintainers = with maintainers; [ hexa ] ++ teams.c3d2.members; }; options.services.pretalx = { enable = lib.mkEnableOption "pretalx"; - package = lib.mkPackageOption pkgs "pretalx" {}; + package = lib.mkPackageOption pkgs "pretalx" { }; group = lib.mkOption { type = lib.types.str; @@ -50,7 +55,7 @@ in plugins = lib.mkOption { type = with lib.types; listOf package; - default = []; + default = [ ]; example = lib.literalExpression '' with config.services.pretalx.package.plugins; [ pages @@ -153,9 +158,13 @@ in host = lib.mkOption { type = with lib.types; nullOr types.path; - default = if cfg.settings.database.backend == "postgresql" then "/run/postgresql" - else if cfg.settings.database.backend == "mysql" then "/run/mysqld/mysqld.sock" - else null; + default = + if cfg.settings.database.backend == "postgresql" then + "/run/postgresql" + else if cfg.settings.database.backend == "mysql" then + "/run/mysqld/mysqld.sock" + else + null; defaultText = lib.literalExpression '' if config.services.pretalx.settings..database.backend == "postgresql" then "/run/postgresql" else if config.services.pretalx.settings.database.backend == "mysql" then "/run/mysqld/mysqld.sock" @@ -349,130 +358,144 @@ in }; }; - postgresql = lib.mkIf (cfg.database.createLocally && cfg.settings.database.backend == "postgresql") { - enable = true; - ensureUsers = [ { - name = cfg.settings.database.user; - ensureDBOwnership = true; - } ]; - ensureDatabases = [ cfg.settings.database.name ]; - }; + postgresql = + lib.mkIf (cfg.database.createLocally && cfg.settings.database.backend == "postgresql") + { + enable = true; + ensureUsers = [ + { + name = cfg.settings.database.user; + ensureDBOwnership = true; + } + ]; + ensureDatabases = [ cfg.settings.database.name ]; + }; redis.servers.pretalx.enable = true; }; - systemd.services = let - commonUnitConfig = { - environment.PRETALX_CONFIG_FILE = configFile; - serviceConfig = { - User = "pretalx"; - Group = "pretalx"; - StateDirectory = [ - "pretalx" - "pretalx/media" - ]; - StateDirectoryMode = "0750"; - LogsDirectory = "pretalx"; - WorkingDirectory = cfg.settings.filesystem.data; - SupplementaryGroups = [ "redis-pretalx" ]; - AmbientCapabilities = ""; - CapabilityBoundingSet = [ "" ]; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - ProcSubset = "pid"; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" - "@chown" - ]; - UMask = "0027"; + systemd.services = + let + commonUnitConfig = { + environment.PRETALX_CONFIG_FILE = configFile; + serviceConfig = { + User = "pretalx"; + Group = "pretalx"; + StateDirectory = [ + "pretalx" + "pretalx/media" + ]; + StateDirectoryMode = "0750"; + LogsDirectory = "pretalx"; + WorkingDirectory = cfg.settings.filesystem.data; + SupplementaryGroups = [ "redis-pretalx" ]; + AmbientCapabilities = ""; + CapabilityBoundingSet = [ "" ]; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + ProcSubset = "pid"; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "@chown" + ]; + UMask = "0027"; + }; }; - }; - in { - pretalx-web = lib.recursiveUpdate commonUnitConfig { - description = "pretalx web service"; - after = [ - "network.target" - "redis-pretalx.service" - ] ++ lib.optionals (cfg.settings.database.backend == "postgresql") [ - "postgresql.service" - ] ++ lib.optionals (cfg.settings.database.backend == "mysql") [ - "mysql.service" - ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - versionFile="${cfg.settings.filesystem.data}/.version" - version=$(cat "$versionFile" 2>/dev/null || echo 0) - - if [[ $version != ${cfg.package.version} ]]; then - ${lib.getExe' pythonEnv "pretalx-manage"} migrate - - echo "${cfg.package.version}" > "$versionFile" - fi - ''; - serviceConfig = { - ExecStart = "${lib.getExe' pythonEnv "gunicorn"} --bind unix:/run/pretalx/pretalx.sock ${cfg.gunicorn.extraArgs} pretalx.wsgi"; - RuntimeDirectory = "pretalx"; + in + { + pretalx-web = lib.recursiveUpdate commonUnitConfig { + description = "pretalx web service"; + after = + [ + "network.target" + "redis-pretalx.service" + ] + ++ lib.optionals (cfg.settings.database.backend == "postgresql") [ + "postgresql.service" + ] + ++ lib.optionals (cfg.settings.database.backend == "mysql") [ + "mysql.service" + ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + versionFile="${cfg.settings.filesystem.data}/.version" + version=$(cat "$versionFile" 2>/dev/null || echo 0) + + if [[ $version != ${cfg.package.version} ]]; then + ${lib.getExe' pythonEnv "pretalx-manage"} migrate + + echo "${cfg.package.version}" > "$versionFile" + fi + ''; + serviceConfig = { + ExecStart = "${lib.getExe' pythonEnv "gunicorn"} --bind unix:/run/pretalx/pretalx.sock ${cfg.gunicorn.extraArgs} pretalx.wsgi"; + RuntimeDirectory = "pretalx"; + }; }; - }; - pretalx-periodic = lib.recursiveUpdate commonUnitConfig { - description = "pretalx periodic task runner"; - # every 15 minutes - startAt = [ "*:3,18,33,48" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} runperiodic"; + pretalx-periodic = lib.recursiveUpdate commonUnitConfig { + description = "pretalx periodic task runner"; + # every 15 minutes + startAt = [ "*:3,18,33,48" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} runperiodic"; + }; }; - }; - pretalx-clear-sessions = lib.recursiveUpdate commonUnitConfig { - description = "pretalx session pruning"; - startAt = [ "monthly" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} clearsessions"; + pretalx-clear-sessions = lib.recursiveUpdate commonUnitConfig { + description = "pretalx session pruning"; + startAt = [ "monthly" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} clearsessions"; + }; }; - }; - pretalx-worker = lib.mkIf cfg.celery.enable (lib.recursiveUpdate commonUnitConfig { - description = "pretalx asynchronous job runner"; - after = [ - "network.target" - "redis-pretalx.service" - ] ++ lib.optionals (cfg.settings.database.backend == "postgresql") [ - "postgresql.service" - ] ++ lib.optionals (cfg.settings.database.backend == "mysql") [ - "mysql.service" - ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "${lib.getExe' pythonEnv "celery"} -A pretalx.celery_app worker ${cfg.celery.extraArgs}"; - }); + pretalx-worker = lib.mkIf cfg.celery.enable ( + lib.recursiveUpdate commonUnitConfig { + description = "pretalx asynchronous job runner"; + after = + [ + "network.target" + "redis-pretalx.service" + ] + ++ lib.optionals (cfg.settings.database.backend == "postgresql") [ + "postgresql.service" + ] + ++ lib.optionals (cfg.settings.database.backend == "mysql") [ + "mysql.service" + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${lib.getExe' pythonEnv "celery"} -A pretalx.celery_app worker ${cfg.celery.extraArgs}"; + } + ); - nginx.serviceConfig.SupplementaryGroups = lib.mkIf cfg.nginx.enable [ "pretalx" ]; - }; + nginx.serviceConfig.SupplementaryGroups = lib.mkIf cfg.nginx.enable [ "pretalx" ]; + }; systemd.sockets.pretalx-web.socketConfig = { ListenStream = "/run/pretalx/pretalx.sock"; @@ -480,7 +503,7 @@ in }; users = { - groups.${cfg.group} = {}; + groups.${cfg.group} = { }; users.${cfg.user} = { isSystemUser = true; inherit (cfg) group; diff --git a/nixos/modules/services/web-apps/pretix.nix b/nixos/modules/services/web-apps/pretix.nix index f521c49668c87..68b65e2260d23 100644 --- a/nixos/modules/services/web-apps/pretix.nix +++ b/nixos/modules/services/web-apps/pretix.nix @@ -1,8 +1,9 @@ -{ config -, lib -, pkgs -, utils -, ... +{ + config, + lib, + pkgs, + utils, + ... }: let @@ -26,9 +27,10 @@ let optionalString recursiveUpdate types - ; + ; - filterRecursiveNull = o: + filterRecursiveNull = + o: if isAttrs o then mapAttrs (_: v: filterRecursiveNull v) (filterAttrs (_: v: v != null) o) else if isList o then @@ -46,13 +48,15 @@ let }; pythonEnv = cfg.package.python.buildEnv.override { - extraLibs = with cfg.package.python.pkgs; [ - (toPythonModule finalPackage) - gunicorn - ] - ++ lib.optionals (cfg.settings.memcached.location != null) - cfg.package.optional-dependencies.memcached - ; + extraLibs = + with cfg.package.python.pkgs; + [ + (toPythonModule finalPackage) + gunicorn + ] + ++ lib.optionals ( + cfg.settings.memcached.location != null + ) cfg.package.optional-dependencies.memcached; }; withRedis = cfg.settings.redis.location != null; @@ -96,7 +100,7 @@ in plugins = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression '' with config.services.pretix.package.plugins; [ passbook @@ -455,128 +459,132 @@ in postgresql = mkIf (cfg.database.createLocally && cfg.settings.database.backend == "postgresql") { enable = true; - ensureUsers = [ { - name = cfg.settings.database.user; - ensureDBOwnership = true; - } ]; + ensureUsers = [ + { + name = cfg.settings.database.user; + ensureDBOwnership = true; + } + ]; ensureDatabases = [ cfg.settings.database.name ]; }; redis.servers.pretix.enable = withRedis; }; - systemd.services = let - commonUnitConfig = { - environment.PRETIX_CONFIG_FILE = configFile; - serviceConfig = { - User = "pretix"; - Group = "pretix"; - EnvironmentFile = optionals (cfg.environmentFile != null) [ - cfg.environmentFile - ]; - StateDirectory = [ - "pretix" - ]; - StateDirectoryMode = "0750"; - CacheDirectory = "pretix"; - LogsDirectory = "pretix"; - WorkingDirectory = cfg.settings.pretix.datadir; - SupplementaryGroups = optionals withRedis [ - "redis-pretix" - ]; - AmbientCapabilities = ""; - CapabilityBoundingSet = [ "" ]; - DevicePolicy = "closed"; - LockPersonality = true; - MemoryDenyWriteExecute = false; # required by pdftk - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - ProcSubset = "pid"; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RemoveIPC = true; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" - ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = [ - "@system-service" - "~@privileged" - "@chown" - ]; - UMask = "0027"; + systemd.services = + let + commonUnitConfig = { + environment.PRETIX_CONFIG_FILE = configFile; + serviceConfig = { + User = "pretix"; + Group = "pretix"; + EnvironmentFile = optionals (cfg.environmentFile != null) [ + cfg.environmentFile + ]; + StateDirectory = [ + "pretix" + ]; + StateDirectoryMode = "0750"; + CacheDirectory = "pretix"; + LogsDirectory = "pretix"; + WorkingDirectory = cfg.settings.pretix.datadir; + SupplementaryGroups = optionals withRedis [ + "redis-pretix" + ]; + AmbientCapabilities = ""; + CapabilityBoundingSet = [ "" ]; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = false; # required by pdftk + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + ProcSubset = "pid"; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "@chown" + ]; + UMask = "0027"; + }; }; - }; - in { - pretix-web = recursiveUpdate commonUnitConfig { - description = "pretix web service"; - after = [ - "network.target" - "redis-pretix.service" - "postgresql.service" - ]; - wantedBy = [ "multi-user.target" ]; - preStart = '' - versionFile="${cfg.settings.pretix.datadir}/.version" - version=$(cat "$versionFile" 2>/dev/null || echo 0) + in + { + pretix-web = recursiveUpdate commonUnitConfig { + description = "pretix web service"; + after = [ + "network.target" + "redis-pretix.service" + "postgresql.service" + ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + versionFile="${cfg.settings.pretix.datadir}/.version" + version=$(cat "$versionFile" 2>/dev/null || echo 0) - pluginsFile="${cfg.settings.pretix.datadir}/.plugins" - plugins=$(cat "$pluginsFile" 2>/dev/null || echo "") - configuredPlugins="${concatMapStringsSep "|" (package: package.name) cfg.plugins}" + pluginsFile="${cfg.settings.pretix.datadir}/.plugins" + plugins=$(cat "$pluginsFile" 2>/dev/null || echo "") + configuredPlugins="${concatMapStringsSep "|" (package: package.name) cfg.plugins}" - if [[ $version != ${cfg.package.version} || $plugins != $configuredPlugins ]]; then - ${getExe' pythonEnv "pretix-manage"} migrate + if [[ $version != ${cfg.package.version} || $plugins != $configuredPlugins ]]; then + ${getExe' pythonEnv "pretix-manage"} migrate - echo "${cfg.package.version}" > "$versionFile" - echo "$configuredPlugins" > "$pluginsFile" - fi - ''; - serviceConfig = { - TimeoutStartSec = "15min"; - ExecStart = "${getExe' pythonEnv "gunicorn"} --bind unix:/run/pretix/pretix.sock ${cfg.gunicorn.extraArgs} pretix.wsgi"; - RuntimeDirectory = "pretix"; - Restart = "on-failure"; + echo "${cfg.package.version}" > "$versionFile" + echo "$configuredPlugins" > "$pluginsFile" + fi + ''; + serviceConfig = { + TimeoutStartSec = "15min"; + ExecStart = "${getExe' pythonEnv "gunicorn"} --bind unix:/run/pretix/pretix.sock ${cfg.gunicorn.extraArgs} pretix.wsgi"; + RuntimeDirectory = "pretix"; + Restart = "on-failure"; + }; }; - }; - pretix-periodic = recursiveUpdate commonUnitConfig { - description = "pretix periodic task runner"; - # every 15 minutes - startAt = [ "*:3,18,33,48" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${getExe' pythonEnv "pretix-manage"} runperiodic"; + pretix-periodic = recursiveUpdate commonUnitConfig { + description = "pretix periodic task runner"; + # every 15 minutes + startAt = [ "*:3,18,33,48" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${getExe' pythonEnv "pretix-manage"} runperiodic"; + }; }; - }; - pretix-worker = recursiveUpdate commonUnitConfig { - description = "pretix asynchronous job runner"; - after = [ - "network.target" - "redis-pretix.service" - "postgresql.service" - ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${getExe' pythonEnv "celery"} -A pretix.celery_app worker ${cfg.celery.extraArgs}"; - Restart = "on-failure"; + pretix-worker = recursiveUpdate commonUnitConfig { + description = "pretix asynchronous job runner"; + after = [ + "network.target" + "redis-pretix.service" + "postgresql.service" + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${getExe' pythonEnv "celery"} -A pretix.celery_app worker ${cfg.celery.extraArgs}"; + Restart = "on-failure"; + }; }; - }; - nginx.serviceConfig.SupplementaryGroups = mkIf cfg.nginx.enable [ "pretix" ]; - }; + nginx.serviceConfig.SupplementaryGroups = mkIf cfg.nginx.enable [ "pretix" ]; + }; systemd.sockets.pretix-web.socketConfig = { ListenStream = "/run/pretix/pretix.sock"; @@ -584,7 +592,7 @@ in }; users = { - groups.${cfg.group} = {}; + groups.${cfg.group} = { }; users.${cfg.user} = { isSystemUser = true; inherit (cfg) group; diff --git a/nixos/modules/services/web-apps/prosody-filer.nix b/nixos/modules/services/web-apps/prosody-filer.nix index 91880cab2976d..93bc37a5be549 100644 --- a/nixos/modules/services/web-apps/prosody-filer.nix +++ b/nixos/modules/services/web-apps/prosody-filer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -7,7 +12,8 @@ let settingsFormat = pkgs.formats.toml { }; configFile = settingsFormat.generate "prosody-filer.toml" cfg.settings; -in { +in +{ options = { services.prosody-filer = { @@ -78,8 +84,14 @@ in { RestrictNamespaces = true; LockPersonality = true; RemoveIPC = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; }; }; }; diff --git a/nixos/modules/services/web-apps/rimgo.nix b/nixos/modules/services/web-apps/rimgo.nix index 4d35473fda31b..47aaf5317b2d6 100644 --- a/nixos/modules/services/web-apps/rimgo.nix +++ b/nixos/modules/services/web-apps/rimgo.nix @@ -17,7 +17,7 @@ let optionalString getExe mapAttrs - ; + ; in { options.services.rimgo = { diff --git a/nixos/modules/services/web-apps/rss-bridge.nix b/nixos/modules/services/web-apps/rss-bridge.nix index 9c22b72d31cd0..f375635c94b64 100644 --- a/nixos/modules/services/web-apps/rss-bridge.nix +++ b/nixos/modules/services/web-apps/rss-bridge.nix @@ -1,24 +1,37 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.rss-bridge; poolName = "rss-bridge"; - cfgHalf = lib.mapAttrsRecursive (path: value: let - envName = lib.toUpper ("RSSBRIDGE_" + lib.concatStringsSep "_" path); - envValue = if lib.isList value then - lib.concatStringsSep "," value - else if lib.isBool value then - lib.boolToString value - else - toString value; - in if (value != null) then "fastcgi_param \"${envName}\" \"${envValue}\";" else null) cfg.config; + cfgHalf = lib.mapAttrsRecursive ( + path: value: + let + envName = lib.toUpper ("RSSBRIDGE_" + lib.concatStringsSep "_" path); + envValue = + if lib.isList value then + lib.concatStringsSep "," value + else if lib.isBool value then + lib.boolToString value + else + toString value; + in + if (value != null) then "fastcgi_param \"${envName}\" \"${envValue}\";" else null + ) cfg.config; cfgEnv = lib.concatStringsSep "\n" (lib.collect lib.isString cfgHalf); in { imports = [ - (mkRenamedOptionModule [ "services" "rss-bridge" "whitelist" ] [ "services" "rss-bridge" "config" "system" "enabled_bridges" ]) + (mkRenamedOptionModule + [ "services" "rss-bridge" "whitelist" ] + [ "services" "rss-bridge" "config" "system" "enabled_bridges" ] + ) ]; options = { @@ -70,7 +83,7 @@ in config = mkOption { type = types.submodule { - freeformType = (pkgs.formats.ini {}).type; + freeformType = (pkgs.formats.ini { }).type; options = { system = { enabled_bridges = mkOption { @@ -131,10 +144,10 @@ in systemd.tmpfiles.settings.rss-bridge = { "${cfg.config.FileCache.path}".d = { - mode = "0750"; - user = cfg.user; - group = cfg.group; - }; + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; }; services.nginx = mkIf (cfg.virtualHost != null) { diff --git a/nixos/modules/services/web-apps/rutorrent.nix b/nixos/modules/services/web-apps/rutorrent.nix index cce701fef4978..8cbda677c2b12 100644 --- a/nixos/modules/services/web-apps/rutorrent.nix +++ b/nixos/modules/services/web-apps/rutorrent.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,7 +12,10 @@ let rtorrentPluginDependencies = with pkgs; { _task = [ procps ]; - unpack = [ unzip unrar ]; + unpack = [ + unzip + unrar + ]; rss = [ curl ]; mediainfo = [ mediainfo ]; spectrogram = [ sox ]; @@ -18,9 +26,10 @@ let _cloudflare = [ python3 ]; }; - getPluginDependencies = dependencies: concatMap (p: attrByPath [ p ] [] dependencies); + getPluginDependencies = dependencies: concatMap (p: attrByPath [ p ] [ ] dependencies); -in { +in +{ options = { services.rutorrent = { enable = mkEnableOption "ruTorrent"; @@ -72,7 +81,13 @@ in { }; poolSettings = mkOption { - type = with types; attrsOf (oneOf [ str int bool ]); + type = + with types; + attrsOf (oneOf [ + str + int + bool + ]); default = { "pm" = "dynamic"; "pm.max_children" = 32; @@ -110,124 +125,145 @@ in { }; config = mkIf cfg.enable (mkMerge [ - { assertions = let - usedRpcPlugins = intersectLists cfg.plugins [ "httprpc" "rpc" ]; - in [ - { assertion = (length usedRpcPlugins < 2); - message = "Please specify only one of httprpc or rpc plugins"; - } - { assertion = !(length usedRpcPlugins > 0 && cfg.nginx.exposeInsecureRPC2mount); - message = "Please do not use exposeInsecureRPC2mount if you use one of httprpc or rpc plugins"; - } - ]; - - warnings = let - nginxVhostCfg = config.services.nginx.virtualHosts."${cfg.hostName}"; - in [] - ++ (optional (cfg.nginx.exposeInsecureRPC2mount && (nginxVhostCfg.basicAuth == {} || nginxVhostCfg.basicAuthFile == null )) '' - You are using exposeInsecureRPC2mount without using basic auth on the virtual host. The exposed rpc mount allow for remote command execution. - - Please make sure it is not accessible from the outside. - ''); + { + assertions = + let + usedRpcPlugins = intersectLists cfg.plugins [ + "httprpc" + "rpc" + ]; + in + [ + { + assertion = (length usedRpcPlugins < 2); + message = "Please specify only one of httprpc or rpc plugins"; + } + { + assertion = !(length usedRpcPlugins > 0 && cfg.nginx.exposeInsecureRPC2mount); + message = "Please do not use exposeInsecureRPC2mount if you use one of httprpc or rpc plugins"; + } + ]; + + warnings = + let + nginxVhostCfg = config.services.nginx.virtualHosts."${cfg.hostName}"; + in + [ ] + ++ (optional + ( + cfg.nginx.exposeInsecureRPC2mount + && (nginxVhostCfg.basicAuth == { } || nginxVhostCfg.basicAuthFile == null) + ) + '' + You are using exposeInsecureRPC2mount without using basic auth on the virtual host. The exposed rpc mount allow for remote command execution. + + Please make sure it is not accessible from the outside. + '' + ); systemd = { services = { rtorrent.path = getPluginDependencies rtorrentPluginDependencies cfg.plugins; - rutorrent-setup = let - rutorrentConfig = pkgs.writeText "rutorrent-config.php" '' - false, - 'proto' => 'http', // 'http' or 'https' - 'host' => 'PROXY_HOST_HERE', - 'port' => 3128 - ); - - @define('RPC_TIME_OUT', 5, true); // in seconds - - @define('LOG_RPC_CALLS', false, true); - @define('LOG_RPC_FAULTS', true, true); - - // for php - @define('PHP_USE_GZIP', false, true); - @define('PHP_GZIP_LEVEL', 2, true); - - $schedule_rand = 10; // rand for schedulers start, +0..X seconds - - $do_diagnostic = true; - $log_file = '${cfg.dataDir}/logs/errors.log'; // path to log file (comment or leave blank to disable logging) - - $saveUploadedTorrents = true; // Save uploaded torrents to profile/torrents directory or not - $overwriteUploadedTorrents = false; // Overwrite existing uploaded torrents in profile/torrents directory or make unique name - - $topDirectory = '/'; // Upper available directory. Absolute path with trail slash. - $forbidUserSettings = false; - - $scgi_port = 0; - $scgi_host = "unix://${cfg.rpcSocket}"; - - $XMLRPCMountPoint = "/RPC2"; // DO NOT DELETE THIS LINE!!! DO NOT COMMENT THIS LINE!!! - - $throttleMaxSpeed = 327625*1024; - - $pathToExternals = array( - "php" => "${pkgs.php}/bin/php", // Something like /usr/bin/php. If empty, will be found in PATH. - "curl" => "${pkgs.curl}/bin/curl", // Something like /usr/bin/curl. If empty, will be found in PATH. - "gzip" => "${pkgs.gzip}/bin/gzip", // Something like /usr/bin/gzip. If empty, will be found in PATH. - "id" => "${pkgs.coreutils}/bin/id", // Something like /usr/bin/id. If empty, will be found in PATH. - "stat" => "${pkgs.coreutils}/bin/stat", // Something like /usr/bin/stat. If empty, will be found in PATH. - "pgrep" => "${pkgs.procps}/bin/pgrep", // TODO why can't we use phpEnv.PATH - ); - - $localhosts = array( // list of local interfaces - "127.0.0.1", - "localhost", - ); - - $profilePath = '${cfg.dataDir}/share'; // Path to user profiles - $profileMask = 0770; // Mask for files and directory creation in user profiles. - // Both Webserver and rtorrent users must have read-write access to it. - // For example, if Webserver and rtorrent users are in the same group then the value may be 0770. - - $tempDirectory = null; // Temp directory. Absolute path with trail slash. If null, then autodetect will be used. - - $canUseXSendFile = false; // If true then use X-Sendfile feature if it exist - - $locale = "UTF8"; - ''; - in { - wantedBy = [ "multi-user.target" ]; - before = [ "phpfpm-rutorrent.service" ]; - script = '' - ln -sf ${pkgs.rutorrent}/{css,images,js,lang,index.html} ${cfg.dataDir}/ - mkdir -p ${cfg.dataDir}/{conf,logs,plugins} ${cfg.dataDir}/share/{settings,torrents,users} - ln -sf ${pkgs.rutorrent}/conf/{access.ini,plugins.ini} ${cfg.dataDir}/conf/ - ln -sf ${rutorrentConfig} ${cfg.dataDir}/conf/config.php - - cp -r ${pkgs.rutorrent}/php ${cfg.dataDir}/ - - ${optionalString (cfg.plugins != []) - ''cp -r ${concatMapStringsSep " " (p: "${pkgs.rutorrent}/plugins/${p}") cfg.plugins} ${cfg.dataDir}/plugins/''} - - chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}/{conf,share,logs,plugins} - chmod -R 755 ${cfg.dataDir}/{conf,share,logs,plugins} - ''; - serviceConfig.Type = "oneshot"; - }; + rutorrent-setup = + let + rutorrentConfig = pkgs.writeText "rutorrent-config.php" '' + false, + 'proto' => 'http', // 'http' or 'https' + 'host' => 'PROXY_HOST_HERE', + 'port' => 3128 + ); + + @define('RPC_TIME_OUT', 5, true); // in seconds + + @define('LOG_RPC_CALLS', false, true); + @define('LOG_RPC_FAULTS', true, true); + + // for php + @define('PHP_USE_GZIP', false, true); + @define('PHP_GZIP_LEVEL', 2, true); + + $schedule_rand = 10; // rand for schedulers start, +0..X seconds + + $do_diagnostic = true; + $log_file = '${cfg.dataDir}/logs/errors.log'; // path to log file (comment or leave blank to disable logging) + + $saveUploadedTorrents = true; // Save uploaded torrents to profile/torrents directory or not + $overwriteUploadedTorrents = false; // Overwrite existing uploaded torrents in profile/torrents directory or make unique name + + $topDirectory = '/'; // Upper available directory. Absolute path with trail slash. + $forbidUserSettings = false; + + $scgi_port = 0; + $scgi_host = "unix://${cfg.rpcSocket}"; + + $XMLRPCMountPoint = "/RPC2"; // DO NOT DELETE THIS LINE!!! DO NOT COMMENT THIS LINE!!! + + $throttleMaxSpeed = 327625*1024; + + $pathToExternals = array( + "php" => "${pkgs.php}/bin/php", // Something like /usr/bin/php. If empty, will be found in PATH. + "curl" => "${pkgs.curl}/bin/curl", // Something like /usr/bin/curl. If empty, will be found in PATH. + "gzip" => "${pkgs.gzip}/bin/gzip", // Something like /usr/bin/gzip. If empty, will be found in PATH. + "id" => "${pkgs.coreutils}/bin/id", // Something like /usr/bin/id. If empty, will be found in PATH. + "stat" => "${pkgs.coreutils}/bin/stat", // Something like /usr/bin/stat. If empty, will be found in PATH. + "pgrep" => "${pkgs.procps}/bin/pgrep", // TODO why can't we use phpEnv.PATH + ); + + $localhosts = array( // list of local interfaces + "127.0.0.1", + "localhost", + ); + + $profilePath = '${cfg.dataDir}/share'; // Path to user profiles + $profileMask = 0770; // Mask for files and directory creation in user profiles. + // Both Webserver and rtorrent users must have read-write access to it. + // For example, if Webserver and rtorrent users are in the same group then the value may be 0770. + + $tempDirectory = null; // Temp directory. Absolute path with trail slash. If null, then autodetect will be used. + + $canUseXSendFile = false; // If true then use X-Sendfile feature if it exist + + $locale = "UTF8"; + ''; + in + { + wantedBy = [ "multi-user.target" ]; + before = [ "phpfpm-rutorrent.service" ]; + script = '' + ln -sf ${pkgs.rutorrent}/{css,images,js,lang,index.html} ${cfg.dataDir}/ + mkdir -p ${cfg.dataDir}/{conf,logs,plugins} ${cfg.dataDir}/share/{settings,torrents,users} + ln -sf ${pkgs.rutorrent}/conf/{access.ini,plugins.ini} ${cfg.dataDir}/conf/ + ln -sf ${rutorrentConfig} ${cfg.dataDir}/conf/config.php + + cp -r ${pkgs.rutorrent}/php ${cfg.dataDir}/ + + ${optionalString (cfg.plugins != [ ]) + ''cp -r ${ + concatMapStringsSep " " (p: "${pkgs.rutorrent}/plugins/${p}") cfg.plugins + } ${cfg.dataDir}/plugins/'' + } + + chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}/{conf,share,logs,plugins} + chmod -R 755 ${cfg.dataDir}/{conf,share,logs,plugins} + ''; + serviceConfig.Type = "oneshot"; + }; }; tmpfiles.rules = [ "d '${cfg.dataDir}' 0775 ${cfg.user} ${cfg.group} -" ]; }; - users.groups."${cfg.group}" = {}; + users.groups."${cfg.group}" = { }; users.users = { "${cfg.user}" = { @@ -245,18 +281,23 @@ in { } (mkIf cfg.nginx.enable (mkMerge [ - { services = { - phpfpm.pools.rutorrent = let - envPath = lib.makeBinPath (getPluginDependencies phpPluginDependencies cfg.plugins); - pool = { - user = cfg.user; - group = config.services.rtorrent.group; - settings = mapAttrs (name: mkDefault) { - "listen.owner" = config.services.nginx.user; - "listen.group" = config.services.nginx.group; - } // cfg.poolSettings; - }; - in if (envPath == "") then pool else pool // { phpEnv.PATH = envPath; }; + { + services = { + phpfpm.pools.rutorrent = + let + envPath = lib.makeBinPath (getPluginDependencies phpPluginDependencies cfg.plugins); + pool = { + user = cfg.user; + group = config.services.rtorrent.group; + settings = + mapAttrs (name: mkDefault) { + "listen.owner" = config.services.nginx.user; + "listen.group" = config.services.nginx.group; + } + // cfg.poolSettings; + }; + in + if (envPath == "") then pool else pool // { phpEnv.PATH = envPath; }; nginx = { enable = true; diff --git a/nixos/modules/services/web-apps/selfoss.nix b/nixos/modules/services/web-apps/selfoss.nix index 899976ac696c8..81701f2cc001b 100644 --- a/nixos/modules/services/web-apps/selfoss.nix +++ b/nixos/modules/services/web-apps/selfoss.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.selfoss; @@ -8,51 +13,53 @@ let dataDir = "/var/lib/selfoss"; selfoss-config = - let - db_type = cfg.database.type; - default_port = if (db_type == "mysql") then 3306 else 5342; - in - pkgs.writeText "selfoss-config.ini" '' - [globals] - ${lib.optionalString (db_type != "sqlite") '' - db_type=${db_type} - db_host=${cfg.database.host} - db_database=${cfg.database.name} - db_username=${cfg.database.user} - db_password=${cfg.database.password} - db_port=${toString (if (cfg.database.port != null) then cfg.database.port - else default_port)} - '' - } - ${cfg.extraConfig} - ''; + let + db_type = cfg.database.type; + default_port = if (db_type == "mysql") then 3306 else 5342; + in + pkgs.writeText "selfoss-config.ini" '' + [globals] + ${lib.optionalString (db_type != "sqlite") '' + db_type=${db_type} + db_host=${cfg.database.host} + db_database=${cfg.database.name} + db_username=${cfg.database.user} + db_password=${cfg.database.password} + db_port=${toString (if (cfg.database.port != null) then cfg.database.port else default_port)} + ''} + ${cfg.extraConfig} + ''; in - { - options = { - services.selfoss = { - enable = mkEnableOption "selfoss"; - - user = mkOption { - type = types.str; - default = "nginx"; - description = '' - User account under which both the service and the web-application run. - ''; - }; +{ + options = { + services.selfoss = { + enable = mkEnableOption "selfoss"; + + user = mkOption { + type = types.str; + default = "nginx"; + description = '' + User account under which both the service and the web-application run. + ''; + }; - pool = mkOption { - type = types.str; - default = "${poolName}"; - description = '' - Name of existing phpfpm pool that is used to run web-application. - If not specified a pool will be created automatically with - default values. - ''; - }; + pool = mkOption { + type = types.str; + default = "${poolName}"; + description = '' + Name of existing phpfpm pool that is used to run web-application. + If not specified a pool will be created automatically with + default values. + ''; + }; database = { type = mkOption { - type = types.enum ["pgsql" "mysql" "sqlite"]; + type = types.enum [ + "pgsql" + "mysql" + "sqlite" + ]; default = "sqlite"; description = '' Database to store feeds. Supported are sqlite, pgsql and mysql. diff --git a/nixos/modules/services/web-apps/sftpgo.nix b/nixos/modules/services/web-apps/sftpgo.nix index 4d9a8e44c2b35..2a76ccc179779 100644 --- a/nixos/modules/services/web-apps/sftpgo.nix +++ b/nixos/modules/services/web-apps/sftpgo.nix @@ -1,14 +1,22 @@ -{ options, config, lib, pkgs, utils, ... }: +{ + options, + config, + lib, + pkgs, + utils, + ... +}: with lib; let cfg = config.services.sftpgo; defaultUser = "sftpgo"; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; configFile = settingsFormat.generate "sftpgo.json" cfg.settings; hasPrivilegedPorts = any (port: port > 0 && port < 1024) ( - catAttrs "port" (cfg.settings.httpd.bindings + catAttrs "port" ( + cfg.settings.httpd.bindings ++ cfg.settings.ftpd.bindings ++ cfg.settings.sftpd.bindings ++ cfg.settings.webdavd.bindings @@ -27,11 +35,14 @@ in extraArgs = mkOption { type = with types; listOf str; - default = []; + default = [ ]; description = '' Additional command line arguments to pass to the sftpgo daemon. ''; - example = [ "--log-level" "info" ]; + example = [ + "--log-level" + "info" + ]; }; dataDir = mkOption { @@ -44,7 +55,7 @@ in extraReadWriteDirs = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = '' Extra directories where SFTPGo is allowed to write to. ''; @@ -77,226 +88,246 @@ in }; settings = mkOption { - default = {}; + default = { }; description = '' The primary sftpgo configuration. See the [configuration reference](https://sftpgo.github.io/latest/config-file/) for possible values. ''; - type = with types; submodule { - freeformType = settingsFormat.type; - options = { - httpd.bindings = mkOption { - default = []; - description = '' - Configure listen addresses and ports for httpd. - ''; - type = types.listOf (types.submodule { - freeformType = settingsFormat.type; - options = { - address = mkOption { - type = types.str; - default = "127.0.0.1"; - description = '' - Network listen address. Leave blank to listen on all available network interfaces. - On *NIX you can specify an absolute path to listen on a Unix-domain socket. - ''; - }; - - port = mkOption { - type = types.port; - default = 8080; - description = '' - The port for serving HTTP(S) requests. - - Setting the port to `0` disables listening on this interface binding. - ''; - }; - - enable_web_admin = mkOption { - type = types.bool; - default = true; - description = '' - Enable the built-in web admin for this interface binding. - ''; - }; - - enable_web_client = mkOption { - type = types.bool; - default = true; - description = '' - Enable the built-in web client for this interface binding. - ''; - }; - }; - }); - }; - - ftpd.bindings = mkOption { - default = []; - description = '' - Configure listen addresses and ports for ftpd. - ''; - type = types.listOf (types.submodule { - freeformType = settingsFormat.type; - options = { - address = mkOption { - type = types.str; - default = "127.0.0.1"; - description = '' - Network listen address. Leave blank to listen on all available network interfaces. - On *NIX you can specify an absolute path to listen on a Unix-domain socket. - ''; - }; - - port = mkOption { - type = types.port; - default = 0; - description = '' - The port for serving FTP requests. - - Setting the port to `0` disables listening on this interface binding. - ''; - }; - }; - }); - }; - - sftpd.bindings = mkOption { - default = []; - description = '' - Configure listen addresses and ports for sftpd. - ''; - type = types.listOf (types.submodule { - freeformType = settingsFormat.type; - options = { - address = mkOption { - type = types.str; - default = "127.0.0.1"; - description = '' - Network listen address. Leave blank to listen on all available network interfaces. - On *NIX you can specify an absolute path to listen on a Unix-domain socket. - ''; - }; - - port = mkOption { - type = types.port; - default = 0; - description = '' - The port for serving SFTP requests. - - Setting the port to `0` disables listening on this interface binding. - ''; - }; - }; - }); - }; - - webdavd.bindings = mkOption { - default = []; - description = '' - Configure listen addresses and ports for webdavd. - ''; - type = types.listOf (types.submodule { - freeformType = settingsFormat.type; - options = { - address = mkOption { - type = types.str; - default = "127.0.0.1"; - description = '' - Network listen address. Leave blank to listen on all available network interfaces. - On *NIX you can specify an absolute path to listen on a Unix-domain socket. - ''; - }; - - port = mkOption { - type = types.port; - default = 0; - description = '' - The port for serving WebDAV requests. - - Setting the port to `0` disables listening on this interface binding. - ''; - }; - }; - }); - }; - - smtp = mkOption { - default = {}; - description = '' - SMTP configuration section. - ''; - type = types.submodule { - freeformType = settingsFormat.type; - options = { - host = mkOption { - type = types.str; - default = ""; - description = '' - Location of SMTP email server. Leave empty to disable email sending capabilities. - ''; - }; - - port = mkOption { - type = types.port; - default = 465; - description = "Port of the SMTP Server."; - }; + type = + with types; + submodule { + freeformType = settingsFormat.type; + options = { + httpd.bindings = mkOption { + default = [ ]; + description = '' + Configure listen addresses and ports for httpd. + ''; + type = types.listOf ( + types.submodule { + freeformType = settingsFormat.type; + options = { + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Network listen address. Leave blank to listen on all available network interfaces. + On *NIX you can specify an absolute path to listen on a Unix-domain socket. + ''; + }; + + port = mkOption { + type = types.port; + default = 8080; + description = '' + The port for serving HTTP(S) requests. + + Setting the port to `0` disables listening on this interface binding. + ''; + }; + + enable_web_admin = mkOption { + type = types.bool; + default = true; + description = '' + Enable the built-in web admin for this interface binding. + ''; + }; + + enable_web_client = mkOption { + type = types.bool; + default = true; + description = '' + Enable the built-in web client for this interface binding. + ''; + }; + }; + } + ); + }; - encryption = mkOption { - type = types.enum [ 0 1 2 ]; - default = 1; - description = '' - Encryption scheme: - - `0`: No encryption - - `1`: TLS - - `2`: STARTTLS - ''; - }; + ftpd.bindings = mkOption { + default = [ ]; + description = '' + Configure listen addresses and ports for ftpd. + ''; + type = types.listOf ( + types.submodule { + freeformType = settingsFormat.type; + options = { + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Network listen address. Leave blank to listen on all available network interfaces. + On *NIX you can specify an absolute path to listen on a Unix-domain socket. + ''; + }; + + port = mkOption { + type = types.port; + default = 0; + description = '' + The port for serving FTP requests. + + Setting the port to `0` disables listening on this interface binding. + ''; + }; + }; + } + ); + }; - auth_type = mkOption { - type = types.enum [ 0 1 2 ]; - default = 0; - description = '' - - `0`: Plain - - `1`: Login - - `2`: CRAM-MD5 - ''; - }; + sftpd.bindings = mkOption { + default = [ ]; + description = '' + Configure listen addresses and ports for sftpd. + ''; + type = types.listOf ( + types.submodule { + freeformType = settingsFormat.type; + options = { + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Network listen address. Leave blank to listen on all available network interfaces. + On *NIX you can specify an absolute path to listen on a Unix-domain socket. + ''; + }; + + port = mkOption { + type = types.port; + default = 0; + description = '' + The port for serving SFTP requests. + + Setting the port to `0` disables listening on this interface binding. + ''; + }; + }; + } + ); + }; - user = mkOption { - type = types.str; - default = "sftpgo"; - description = "SMTP username."; - }; + webdavd.bindings = mkOption { + default = [ ]; + description = '' + Configure listen addresses and ports for webdavd. + ''; + type = types.listOf ( + types.submodule { + freeformType = settingsFormat.type; + options = { + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Network listen address. Leave blank to listen on all available network interfaces. + On *NIX you can specify an absolute path to listen on a Unix-domain socket. + ''; + }; + + port = mkOption { + type = types.port; + default = 0; + description = '' + The port for serving WebDAV requests. + + Setting the port to `0` disables listening on this interface binding. + ''; + }; + }; + } + ); + }; - from = mkOption { - type = types.str; - default = "SFTPGo "; - description = '' - From address. - ''; + smtp = mkOption { + default = { }; + description = '' + SMTP configuration section. + ''; + type = types.submodule { + freeformType = settingsFormat.type; + options = { + host = mkOption { + type = types.str; + default = ""; + description = '' + Location of SMTP email server. Leave empty to disable email sending capabilities. + ''; + }; + + port = mkOption { + type = types.port; + default = 465; + description = "Port of the SMTP Server."; + }; + + encryption = mkOption { + type = types.enum [ + 0 + 1 + 2 + ]; + default = 1; + description = '' + Encryption scheme: + - `0`: No encryption + - `1`: TLS + - `2`: STARTTLS + ''; + }; + + auth_type = mkOption { + type = types.enum [ + 0 + 1 + 2 + ]; + default = 0; + description = '' + - `0`: Plain + - `1`: Login + - `2`: CRAM-MD5 + ''; + }; + + user = mkOption { + type = types.str; + default = "sftpgo"; + description = "SMTP username."; + }; + + from = mkOption { + type = types.str; + default = "SFTPGo "; + description = '' + From address. + ''; + }; }; }; }; }; }; - }; }; }; config = mkIf cfg.enable { - services.sftpgo.settings = (mapAttrs (name: mkDefault) { - ftpd.bindings = [{ port = 0; }]; - httpd.bindings = [{ port = 0; }]; - sftpd.bindings = [{ port = 0; }]; - webdavd.bindings = [{ port = 0; }]; - httpd.openapi_path = "${cfg.package}/share/sftpgo/openapi"; - httpd.templates_path = "${cfg.package}/share/sftpgo/templates"; - httpd.static_files_path = "${cfg.package}/share/sftpgo/static"; - smtp.templates_path = "${cfg.package}/share/sftpgo/templates"; - }); + services.sftpgo.settings = ( + mapAttrs (name: mkDefault) { + ftpd.bindings = [ { port = 0; } ]; + httpd.bindings = [ { port = 0; } ]; + sftpd.bindings = [ { port = 0; } ]; + webdavd.bindings = [ { port = 0; } ]; + httpd.openapi_path = "${cfg.package}/share/sftpgo/openapi"; + httpd.templates_path = "${cfg.package}/share/sftpgo/templates"; + httpd.static_files_path = "${cfg.package}/share/sftpgo/static"; + smtp.templates_path = "${cfg.package}/share/sftpgo/templates"; + } + ); users = optionalAttrs (cfg.user == defaultUser) { users = { @@ -361,7 +392,10 @@ in RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; UMask = "0077"; }) (mkIf hasPrivilegedPorts { diff --git a/nixos/modules/services/web-apps/shiori.nix b/nixos/modules/services/web-apps/shiori.nix index bec5ab4083bb1..fac667d930905 100644 --- a/nixos/modules/services/web-apps/shiori.nix +++ b/nixos/modules/services/web-apps/shiori.nix @@ -1,7 +1,14 @@ -{ config, lib, pkgs, ... }: - -let cfg = config.services.shiori; -in { +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.shiori; +in +{ options = { services.shiori = { enable = lib.mkEnableOption "Shiori simple bookmarks manager"; @@ -54,18 +61,20 @@ in { systemd.services.shiori = { description = "Shiori simple bookmarks manager"; wantedBy = [ "multi-user.target" ]; - after = [ "postgresql.service" "mysql.service" ]; - environment = { - SHIORI_DIR = "/var/lib/shiori"; - } // lib.optionalAttrs (cfg.databaseUrl != null) { - SHIORI_DATABASE_URL = cfg.databaseUrl; - }; + after = [ + "postgresql.service" + "mysql.service" + ]; + environment = + { + SHIORI_DIR = "/var/lib/shiori"; + } + // lib.optionalAttrs (cfg.databaseUrl != null) { + SHIORI_DATABASE_URL = cfg.databaseUrl; + }; serviceConfig = { - ExecStart = - "${cfg.package}/bin/shiori server --address '${cfg.address}' --port '${ - toString cfg.port - }' --webroot '${cfg.webRoot}'"; + ExecStart = "${cfg.package}/bin/shiori server --address '${cfg.address}' --port '${toString cfg.port}' --webroot '${cfg.webRoot}'"; DynamicUser = true; StateDirectory = "shiori"; @@ -73,21 +82,24 @@ in { RuntimeDirectory = "shiori"; # Security options - EnvironmentFile = - lib.optional (cfg.environmentFile != null) cfg.environmentFile; - BindReadOnlyPaths = [ - "/nix/store" - - # For SSL certificates, and the resolv.conf - "/etc" - ] ++ lib.optional (config.services.postgresql.enable && - cfg.databaseUrl != null && - lib.strings.hasPrefix "postgres://" cfg.databaseUrl) - "/run/postgresql" - ++ lib.optional (config.services.mysql.enable && - cfg.databaseUrl != null && - lib.strings.hasPrefix "mysql://" cfg.databaseUrl) - "/var/run/mysqld"; + EnvironmentFile = lib.optional (cfg.environmentFile != null) cfg.environmentFile; + BindReadOnlyPaths = + [ + "/nix/store" + + # For SSL certificates, and the resolv.conf + "/etc" + ] + ++ lib.optional ( + config.services.postgresql.enable + && cfg.databaseUrl != null + && lib.strings.hasPrefix "postgres://" cfg.databaseUrl + ) "/run/postgresql" + ++ lib.optional ( + config.services.mysql.enable + && cfg.databaseUrl != null + && lib.strings.hasPrefix "mysql://" cfg.databaseUrl + ) "/var/run/mysqld"; CapabilityBoundingSet = ""; @@ -109,7 +121,11 @@ in { ProtectKernelTunables = true; RestrictNamespaces = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; RestrictRealtime = true; RestrictSUIDSGID = true; @@ -131,5 +147,8 @@ in { }; }; - meta.maintainers = with lib.maintainers; [ minijackson CaptainJawZ ]; + meta.maintainers = with lib.maintainers; [ + minijackson + CaptainJawZ + ]; } diff --git a/nixos/modules/services/web-apps/silverbullet.nix b/nixos/modules/services/web-apps/silverbullet.nix index a6a830e674b49..e1b795a30749e 100644 --- a/nixos/modules/services/web-apps/silverbullet.nix +++ b/nixos/modules/services/web-apps/silverbullet.nix @@ -1,7 +1,8 @@ -{ config -, pkgs -, lib -, ... +{ + config, + pkgs, + lib, + ... }: let cfg = config.services.silverbullet; @@ -100,8 +101,12 @@ in User = "${cfg.user}"; Group = "${cfg.group}"; EnvironmentFile = lib.mkIf (cfg.envFile != null) "${cfg.envFile}"; - StateDirectory = lib.mkIf (lib.hasPrefix "/var/lib/" cfg.spaceDir) (lib.last (lib.splitString "/" cfg.spaceDir)); - ExecStart = "${lib.getExe cfg.package} --port ${toString cfg.listenPort} --hostname '${cfg.listenAddress}' '${cfg.spaceDir}' " + lib.concatStringsSep " " cfg.extraArgs; + StateDirectory = lib.mkIf (lib.hasPrefix "/var/lib/" cfg.spaceDir) ( + lib.last (lib.splitString "/" cfg.spaceDir) + ); + ExecStart = + "${lib.getExe cfg.package} --port ${toString cfg.listenPort} --hostname '${cfg.listenAddress}' '${cfg.spaceDir}' " + + lib.concatStringsSep " " cfg.extraArgs; Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/web-apps/sogo.nix b/nixos/modules/services/web-apps/sogo.nix index 1102418077664..c34896d1112ec 100644 --- a/nixos/modules/services/web-apps/sogo.nix +++ b/nixos/modules/services/web-apps/sogo.nix @@ -1,18 +1,37 @@ -{ config, pkgs, lib, ... }: with lib; let +{ + config, + pkgs, + lib, + ... +}: +with lib; +let cfg = config.services.sogo; preStart = pkgs.writeShellScriptBin "sogo-prestart" '' - ${if (cfg.configReplaces != {}) then '' - # Insert secrets - ${concatStringsSep "\n" (mapAttrsToList (k: v: ''export ${k}="$(cat "${v}" | tr -d '\n')"'') cfg.configReplaces)} - - ${pkgs.perl}/bin/perl -p ${concatStringsSep " " (mapAttrsToList (k: v: '' -e 's/${k}/''${ENV{"${k}"}}/g;' '') cfg.configReplaces)} /etc/sogo/sogo.conf.raw | install -m 640 -o sogo -g sogo /dev/stdin /etc/sogo/sogo.conf - '' else '' - install -m 640 -o sogo -g sogo /etc/sogo/sogo.conf.raw /etc/sogo/sogo.conf - ''} + ${ + if (cfg.configReplaces != { }) then + '' + # Insert secrets + ${concatStringsSep "\n" ( + mapAttrsToList (k: v: ''export ${k}="$(cat "${v}" | tr -d '\n')"'') cfg.configReplaces + )} + + ${pkgs.perl}/bin/perl -p ${ + concatStringsSep " " ( + mapAttrsToList (k: v: ''-e 's/${k}/''${ENV{"${k}"}}/g;' '') cfg.configReplaces + ) + } /etc/sogo/sogo.conf.raw | install -m 640 -o sogo -g sogo /dev/stdin /etc/sogo/sogo.conf + '' + else + '' + install -m 640 -o sogo -g sogo /etc/sogo/sogo.conf.raw /etc/sogo/sogo.conf + '' + } ''; -in { +in +{ options.services.sogo = with types; { enable = mkEnableOption "SOGo groupware"; @@ -49,7 +68,7 @@ in { specified file. ''; type = attrsOf str; - default = {}; + default = { }; example = { LDAP_BINDPW = "/var/lib/secrets/sogo/ldappw"; }; @@ -84,7 +103,13 @@ in { systemd.services.sogo = { description = "SOGo groupware"; - after = [ "postgresql.service" "mysql.service" "memcached.service" "openldap.service" "dovecot2.service" ]; + after = [ + "postgresql.service" + "mysql.service" + "memcached.service" + "openldap.service" + "dovecot2.service" + ]; wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."sogo/sogo.conf.raw".source ]; @@ -165,14 +190,23 @@ in { systemd.services.sogo-ealarms = { description = "SOGo email alarms"; - after = [ "postgresql.service" "mysqld.service" "memcached.service" "openldap.service" "dovecot2.service" "sogo.service" ]; + after = [ + "postgresql.service" + "mysqld.service" + "memcached.service" + "openldap.service" + "dovecot2.service" + "sogo.service" + ]; restartTriggers = [ config.environment.etc."sogo/sogo.conf.raw".source ]; startAt = [ "minutely" ]; serviceConfig = { Type = "oneshot"; - ExecStart = "${pkgs.sogo}/bin/sogo-ealarms-notify${optionalString (cfg.ealarmsCredFile != null) " -p ${cfg.ealarmsCredFile}"}"; + ExecStart = "${pkgs.sogo}/bin/sogo-ealarms-notify${ + optionalString (cfg.ealarmsCredFile != null) " -p ${cfg.ealarmsCredFile}" + }"; ProtectSystem = "strict"; ProtectHome = true; @@ -251,13 +285,14 @@ in { alias ${pkgs.sogo}/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; ''; - locations."~ ^/SOGo/so/ControlPanel/Products/[^/]*UI/Resources/.*\\.(jpg|png|gif|css|js)$".extraConfig = '' - alias ${pkgs.sogo}/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; - ''; + locations."~ ^/SOGo/so/ControlPanel/Products/[^/]*UI/Resources/.*\\.(jpg|png|gif|css|js)$".extraConfig = + '' + alias ${pkgs.sogo}/lib/GNUstep/SOGo/$1.SOGo/Resources/$2; + ''; }; # User and group - users.groups.sogo = {}; + users.groups.sogo = { }; users.users.sogo = { group = "sogo"; isSystemUser = true; diff --git a/nixos/modules/services/web-apps/suwayomi-server.nix b/nixos/modules/services/web-apps/suwayomi-server.nix index caa091685d2fb..0041ee9f7860a 100644 --- a/nixos/modules/services/web-apps/suwayomi-server.nix +++ b/nixos/modules/services/web-apps/suwayomi-server.nix @@ -1,8 +1,18 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.suwayomi-server; - inherit (lib) mkOption mkEnableOption mkIf types; + inherit (lib) + mkOption + mkEnableOption + mkIf + types + ; format = pkgs.formats.hocon { }; in @@ -104,7 +114,7 @@ in extensionRepos = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "https://raw.githubusercontent.com/MY_ACCOUNT/MY_REPO/repo/index.min.json" ]; @@ -149,12 +159,16 @@ in config = mkIf cfg.enable { - assertions = [{ - assertion = with cfg.settings.server; basicAuthEnabled -> (basicAuthUsername != null && basicAuthPasswordFile != null); - message = '' - [suwayomi-server]: the username and the password file cannot be null when the basic auth is enabled - ''; - }]; + assertions = [ + { + assertion = + with cfg.settings.server; + basicAuthEnabled -> (basicAuthUsername != null && basicAuthPasswordFile != null); + message = '' + [suwayomi-server]: the username and the password file cannot be null when the basic auth is enabled + ''; + } + ]; networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.settings.server.port ]; @@ -181,16 +195,19 @@ in systemd.services.suwayomi-server = let - configFile = format.generate "server.conf" (lib.pipe cfg.settings [ - (settings: lib.recursiveUpdate settings { - server.basicAuthPasswordFile = null; - server.basicAuthPassword = - if settings.server.basicAuthEnabled - then "$TACHIDESK_SERVER_BASIC_AUTH_PASSWORD" - else null; - }) - (lib.filterAttrsRecursive (_: x: x != null)) - ]); + configFile = format.generate "server.conf" ( + lib.pipe cfg.settings [ + ( + settings: + lib.recursiveUpdate settings { + server.basicAuthPasswordFile = null; + server.basicAuthPassword = + if settings.server.basicAuthEnabled then "$TACHIDESK_SERVER_BASIC_AUTH_PASSWORD" else null; + } + ) + (lib.filterAttrsRecursive (_: x: x != null)) + ] + ); in { description = "A free and open source manga reader server that runs extensions built for Tachiyomi."; diff --git a/nixos/modules/services/web-apps/vikunja.nix b/nixos/modules/services/web-apps/vikunja.nix index 9727eaccc1d01..4a6bae2d123ae 100644 --- a/nixos/modules/services/web-apps/vikunja.nix +++ b/nixos/modules/services/web-apps/vikunja.nix @@ -1,16 +1,24 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: with lib; let cfg = config.services.vikunja; - format = pkgs.formats.yaml {}; + format = pkgs.formats.yaml { }; configFile = format.generate "config.yaml" cfg.settings; useMysql = cfg.database.type == "mysql"; usePostgresql = cfg.database.type == "postgres"; -in { +in +{ imports = [ - (mkRemovedOptionModule [ "services" "vikunja" "setupNginx" ] "services.vikunja no longer supports the automatic set up of a nginx virtual host. Set up your own webserver config with a proxy pass to the vikunja service.") + (mkRemovedOptionModule [ "services" "vikunja" "setupNginx" ] + "services.vikunja no longer supports the automatic set up of a nginx virtual host. Set up your own webserver config with a proxy pass to the vikunja service." + ) ]; options.services.vikunja = with lib; { @@ -25,7 +33,10 @@ in { ''; }; frontendScheme = mkOption { - type = types.enum [ "http" "https" ]; + type = types.enum [ + "http" + "https" + ]; description = '' Whether the site is available via http or https. ''; @@ -42,16 +53,20 @@ in { settings = mkOption { type = format.type; - default = {}; + default = { }; description = '' Vikunja configuration. Refer to for details on supported values. - ''; + ''; }; database = { type = mkOption { - type = types.enum [ "sqlite" "mysql" "postgres" ]; + type = types.enum [ + "sqlite" + "mysql" + "postgres" + ]; example = "postgres"; default = "sqlite"; description = "Database engine to use."; @@ -81,7 +96,13 @@ in { config = lib.mkIf cfg.enable { services.vikunja.settings = { database = { - inherit (cfg.database) type host user database path; + inherit (cfg.database) + type + host + user + database + path + ; }; service = { interface = ":${toString cfg.port}"; @@ -94,7 +115,10 @@ in { systemd.services.vikunja = { description = "vikunja"; - after = [ "network.target" ] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service"; + after = + [ "network.target" ] + ++ lib.optional usePostgresql "postgresql.service" + ++ lib.optional useMysql "mysql.service"; wantedBy = [ "multi-user.target" ]; path = [ cfg.package ]; restartTriggers = [ configFile ]; diff --git a/nixos/modules/services/web-apps/whitebophir.nix b/nixos/modules/services/web-apps/whitebophir.nix index 332a8d9d4ec65..8222bdb978c5b 100644 --- a/nixos/modules/services/web-apps/whitebophir.nix +++ b/nixos/modules/services/web-apps/whitebophir.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.whitebophir; -in { +in +{ options = { services.whitebophir = { enable = mkEnableOption "whitebophir, an online collaborative whiteboard server (persistent state will be maintained under {file}`/var/lib/whitebophir`)"; @@ -28,18 +34,18 @@ in { config = mkIf cfg.enable { systemd.services.whitebophir = { description = "Whitebophir Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; environment = { - PORT = toString cfg.port; - HOST = toString cfg.listenAddress; + PORT = toString cfg.port; + HOST = toString cfg.listenAddress; WBO_HISTORY_DIR = "/var/lib/whitebophir"; }; serviceConfig = { - DynamicUser = true; - ExecStart = "${cfg.package}/bin/whitebophir"; - Restart = "always"; + DynamicUser = true; + ExecStart = "${cfg.package}/bin/whitebophir"; + Restart = "always"; StateDirectory = "whitebophir"; }; }; diff --git a/nixos/modules/services/web-apps/wiki-js.nix b/nixos/modules/services/web-apps/wiki-js.nix index dedc4c5846284..4c742c26afadf 100644 --- a/nixos/modules/services/web-apps/wiki-js.nix +++ b/nixos/modules/services/web-apps/wiki-js.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: with lib; @@ -8,7 +13,8 @@ let format = pkgs.formats.json { }; configFile = format.generate "wiki-js.yml" cfg.settings; -in { +in +{ options.services.wiki-js = { enable = mkEnableOption "wiki-js"; @@ -30,7 +36,7 @@ in { }; settings = mkOption { - default = {}; + default = { }; type = types.submodule { freeformType = format.type; options = { @@ -53,7 +59,12 @@ in { db = { type = mkOption { default = "postgres"; - type = types.enum [ "postgres" "mysql" "mariadb" "mssql" ]; + type = types.enum [ + "postgres" + "mysql" + "mariadb" + "mssql" + ]; description = '' Database driver to use for persistence. Please note that `sqlite` is currently not supported as the build process for it is currently not implemented @@ -79,7 +90,14 @@ in { logLevel = mkOption { default = "info"; - type = types.enum [ "error" "warn" "info" "verbose" "debug" "silly" ]; + type = types.enum [ + "error" + "warn" + "info" + "verbose" + "debug" + "silly" + ]; description = '' Define how much detail is supposed to be logged at runtime. ''; diff --git a/nixos/modules/services/web-apps/windmill.nix b/nixos/modules/services/web-apps/windmill.nix index 2571740ebbf15..b7b3ba3ca976f 100644 --- a/nixos/modules/services/web-apps/windmill.nix +++ b/nixos/modules/services/web-apps/windmill.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.windmill; @@ -72,7 +77,13 @@ in }; logLevel = lib.mkOption { - type = lib.types.enum [ "error" "warn" "info" "debug" "trace" ]; + type = lib.types.enum [ + "error" + "warn" + "info" + "debug" + "trace" + ]; default = "info"; description = "Log level"; }; @@ -85,112 +96,125 @@ in ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensureDBOwnership = true; } ]; - }; - - systemd.services = - let - useUrlPath = (cfg.database.urlPath != null); - serviceConfig = { - DynamicUser = true; - # using the same user to simplify db connection - User = cfg.database.user; - ExecStart = "${pkgs.windmill}/bin/windmill"; - - Restart = "always"; - } // lib.optionalAttrs useUrlPath { - LoadCredential = [ - "DATABASE_URL_FILE:${cfg.database.urlPath}" - ]; - }; - db_url_envs = lib.optionalAttrs useUrlPath { - DATABASE_URL_FILE = "%d/DATABASE_URL_FILE"; - } // lib.optionalAttrs (!useUrlPath) { - DATABASE_URL = cfg.database.url; - }; - in - { - - # coming from https://github.com/windmill-labs/windmill/blob/main/init-db-as-superuser.sql - # modified to not grant priviledges on all tables - # create role windmill_user and windmill_admin only if they don't exist - postgresql.postStart = lib.mkIf cfg.database.createLocally (lib.mkAfter '' - $PSQL -tA <<"EOF" -DO $$ -BEGIN - IF NOT EXISTS ( - SELECT FROM pg_catalog.pg_roles - WHERE rolname = 'windmill_user' - ) THEN - CREATE ROLE windmill_user; - GRANT ALL PRIVILEGES ON DATABASE ${cfg.database.name} TO windmill_user; - ELSE - RAISE NOTICE 'Role "windmill_user" already exists. Skipping.'; - END IF; - IF NOT EXISTS ( - SELECT FROM pg_catalog.pg_roles - WHERE rolname = 'windmill_admin' - ) THEN - CREATE ROLE windmill_admin WITH BYPASSRLS; - GRANT windmill_user TO windmill_admin; - ELSE - RAISE NOTICE 'Role "windmill_admin" already exists. Skipping.'; - END IF; - GRANT windmill_admin TO windmill; -END -$$; -EOF - ''); - - windmill-server = { - description = "Windmill server"; - after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = serviceConfig // { StateDirectory = "windmill";}; - - environment = { - PORT = builtins.toString cfg.serverPort; - WM_BASE_URL = cfg.baseUrl; - RUST_LOG = cfg.logLevel; - MODE = "server"; - } // db_url_envs; - }; - - windmill-worker = { - description = "Windmill worker"; - after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = serviceConfig // { StateDirectory = "windmill-worker";}; - - environment = { - WM_BASE_URL = cfg.baseUrl; - RUST_LOG = cfg.logLevel; - MODE = "worker"; - WORKER_GROUP = "default"; - KEEP_JOB_DIR = "false"; - } // db_url_envs; - }; - - windmill-worker-native = { - description = "Windmill worker native"; - after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = serviceConfig // { StateDirectory = "windmill-worker-native";}; + }; - environment = { - WM_BASE_URL = cfg.baseUrl; - RUST_LOG = cfg.logLevel; - MODE = "worker"; - WORKER_GROUP = "native"; - } // db_url_envs; + systemd.services = + let + useUrlPath = (cfg.database.urlPath != null); + serviceConfig = + { + DynamicUser = true; + # using the same user to simplify db connection + User = cfg.database.user; + ExecStart = "${pkgs.windmill}/bin/windmill"; + + Restart = "always"; + } + // lib.optionalAttrs useUrlPath { + LoadCredential = [ + "DATABASE_URL_FILE:${cfg.database.urlPath}" + ]; + }; + db_url_envs = + lib.optionalAttrs useUrlPath { + DATABASE_URL_FILE = "%d/DATABASE_URL_FILE"; + } + // lib.optionalAttrs (!useUrlPath) { + DATABASE_URL = cfg.database.url; + }; + in + { + + # coming from https://github.com/windmill-labs/windmill/blob/main/init-db-as-superuser.sql + # modified to not grant priviledges on all tables + # create role windmill_user and windmill_admin only if they don't exist + postgresql.postStart = lib.mkIf cfg.database.createLocally ( + lib.mkAfter '' + $PSQL -tA <<"EOF" + DO $$ + BEGIN + IF NOT EXISTS ( + SELECT FROM pg_catalog.pg_roles + WHERE rolname = 'windmill_user' + ) THEN + CREATE ROLE windmill_user; + GRANT ALL PRIVILEGES ON DATABASE ${cfg.database.name} TO windmill_user; + ELSE + RAISE NOTICE 'Role "windmill_user" already exists. Skipping.'; + END IF; + IF NOT EXISTS ( + SELECT FROM pg_catalog.pg_roles + WHERE rolname = 'windmill_admin' + ) THEN + CREATE ROLE windmill_admin WITH BYPASSRLS; + GRANT windmill_user TO windmill_admin; + ELSE + RAISE NOTICE 'Role "windmill_admin" already exists. Skipping.'; + END IF; + GRANT windmill_admin TO windmill; + END + $$; + EOF + '' + ); + + windmill-server = { + description = "Windmill server"; + after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = serviceConfig // { + StateDirectory = "windmill"; + }; + + environment = { + PORT = builtins.toString cfg.serverPort; + WM_BASE_URL = cfg.baseUrl; + RUST_LOG = cfg.logLevel; + MODE = "server"; + } // db_url_envs; + }; + + windmill-worker = { + description = "Windmill worker"; + after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = serviceConfig // { + StateDirectory = "windmill-worker"; + }; + + environment = { + WM_BASE_URL = cfg.baseUrl; + RUST_LOG = cfg.logLevel; + MODE = "worker"; + WORKER_GROUP = "default"; + KEEP_JOB_DIR = "false"; + } // db_url_envs; + }; + + windmill-worker-native = { + description = "Windmill worker native"; + after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = serviceConfig // { + StateDirectory = "windmill-worker-native"; + }; + + environment = { + WM_BASE_URL = cfg.baseUrl; + RUST_LOG = cfg.logLevel; + MODE = "worker"; + WORKER_GROUP = "native"; + } // db_url_envs; + }; }; - }; }; } diff --git a/nixos/modules/services/web-apps/your_spotify.nix b/nixos/modules/services/web-apps/your_spotify.nix index 3eb2ffef4f933..393726b22b01d 100644 --- a/nixos/modules/services/web-apps/your_spotify.nix +++ b/nixos/modules/services/web-apps/your_spotify.nix @@ -3,9 +3,9 @@ config, lib, ... -}: let - inherit - (lib) +}: +let + inherit (lib) boolToString concatMapAttrs concatStrings @@ -21,107 +21,118 @@ ; cfg = config.services.your_spotify; - configEnv = concatMapAttrs (name: value: + configEnv = concatMapAttrs ( + name: value: optionalAttrs (value != null) { - ${name} = - if isBool value - then boolToString value - else toString value; - }) - cfg.settings; + ${name} = if isBool value then boolToString value else toString value; + } + ) cfg.settings; - configFile = pkgs.writeText "your_spotify.env" (concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv)); -in { - options.services.your_spotify = let - inherit (types) nullOr port str path package; - in { - enable = mkEnableOption "your_spotify"; + configFile = pkgs.writeText "your_spotify.env" ( + concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv) + ); +in +{ + options.services.your_spotify = + let + inherit (types) + nullOr + port + str + path + package + ; + in + { + enable = mkEnableOption "your_spotify"; - enableLocalDB = mkEnableOption "a local mongodb instance"; - nginxVirtualHost = mkOption { - type = nullOr str; - default = null; - description = '' - If set creates an nginx virtual host for the client. - In most cases this should be the CLIENT_ENDPOINT without - protocol prefix. - ''; - }; + enableLocalDB = mkEnableOption "a local mongodb instance"; + nginxVirtualHost = mkOption { + type = nullOr str; + default = null; + description = '' + If set creates an nginx virtual host for the client. + In most cases this should be the CLIENT_ENDPOINT without + protocol prefix. + ''; + }; - package = mkPackageOption pkgs "your_spotify" {}; + package = mkPackageOption pkgs "your_spotify" { }; - clientPackage = mkOption { - type = package; - description = "Client package to use."; - }; + clientPackage = mkOption { + type = package; + description = "Client package to use."; + }; - spotifySecretFile = mkOption { - type = path; - description = '' - A file containing the secret key of your Spotify application. - Refer to: [Creating the Spotify Application](https://github.com/Yooooomi/your_spotify#creating-the-spotify-application). - ''; - }; + spotifySecretFile = mkOption { + type = path; + description = '' + A file containing the secret key of your Spotify application. + Refer to: [Creating the Spotify Application](https://github.com/Yooooomi/your_spotify#creating-the-spotify-application). + ''; + }; - settings = mkOption { - description = '' - Your Spotify Configuration. Refer to [Your Spotify](https://github.com/Yooooomi/your_spotify) for definitions and values. - ''; - example = lib.literalExpression '' - { - CLIENT_ENDPOINT = "https://example.com"; - API_ENDPOINT = "https://api.example.com"; - SPOTIFY_PUBLIC = "spotify_client_id"; - } - ''; - type = types.submodule { - freeformType = types.attrsOf types.str; - options = { - CLIENT_ENDPOINT = mkOption { - type = str; - description = '' - The endpoint of your web application. - Has to include a protocol Prefix (e.g. `http://`) - ''; - example = "https://your_spotify.example.org"; - }; - API_ENDPOINT = mkOption { - type = str; - description = '' - The endpoint of your server - This api has to be reachable from the device you use the website from not from the server. - This means that for example you may need two nginx virtual hosts if you want to expose this on the - internet. - Has to include a protocol Prefix (e.g. `http://`) - ''; - example = "https://localhost:3000"; - }; - SPOTIFY_PUBLIC = mkOption { - type = str; - description = '' - The public client ID of your Spotify application. - Refer to: [Creating the Spotify Application](https://github.com/Yooooomi/your_spotify#creating-the-spotify-application) - ''; - }; - MONGO_ENDPOINT = mkOption { - type = str; - description = ''The endpoint of the Mongo database.''; - default = "mongodb://localhost:27017/your_spotify"; - }; - PORT = mkOption { - type = port; - description = "The port of the api server"; - default = 3000; + settings = mkOption { + description = '' + Your Spotify Configuration. Refer to [Your Spotify](https://github.com/Yooooomi/your_spotify) for definitions and values. + ''; + example = lib.literalExpression '' + { + CLIENT_ENDPOINT = "https://example.com"; + API_ENDPOINT = "https://api.example.com"; + SPOTIFY_PUBLIC = "spotify_client_id"; + } + ''; + type = types.submodule { + freeformType = types.attrsOf types.str; + options = { + CLIENT_ENDPOINT = mkOption { + type = str; + description = '' + The endpoint of your web application. + Has to include a protocol Prefix (e.g. `http://`) + ''; + example = "https://your_spotify.example.org"; + }; + API_ENDPOINT = mkOption { + type = str; + description = '' + The endpoint of your server + This api has to be reachable from the device you use the website from not from the server. + This means that for example you may need two nginx virtual hosts if you want to expose this on the + internet. + Has to include a protocol Prefix (e.g. `http://`) + ''; + example = "https://localhost:3000"; + }; + SPOTIFY_PUBLIC = mkOption { + type = str; + description = '' + The public client ID of your Spotify application. + Refer to: [Creating the Spotify Application](https://github.com/Yooooomi/your_spotify#creating-the-spotify-application) + ''; + }; + MONGO_ENDPOINT = mkOption { + type = str; + description = ''The endpoint of the Mongo database.''; + default = "mongodb://localhost:27017/your_spotify"; + }; + PORT = mkOption { + type = port; + description = "The port of the api server"; + default = 3000; + }; }; }; }; }; - }; config = mkIf cfg.enable { - services.your_spotify.clientPackage = mkDefault (cfg.package.client.override {apiEndpoint = cfg.settings.API_ENDPOINT;}); + services.your_spotify.clientPackage = mkDefault ( + cfg.package.client.override { apiEndpoint = cfg.settings.API_ENDPOINT; } + ); systemd.services.your_spotify = { - after = ["network.target"]; + after = [ "network.target" ]; script = '' export SPOTIFY_SECRET=$(< "$CREDENTIALS_DIRECTORY/SPOTIFY_SECRET") ${lib.getExe' cfg.package "your_spotify_migrate"} @@ -131,7 +142,7 @@ in { User = "your_spotify"; Group = "your_spotify"; DynamicUser = true; - EnvironmentFile = [configFile]; + EnvironmentFile = [ configFile ]; StateDirectory = "your_spotify"; LimitNOFILE = "1048576"; PrivateTmp = true; @@ -139,7 +150,7 @@ in { StateDirectoryMode = "0700"; Restart = "always"; - LoadCredential = ["SPOTIFY_SECRET:${cfg.spotifySecretFile}"]; + LoadCredential = [ "SPOTIFY_SECRET:${cfg.spotifySecretFile}" ]; # Hardening CapabilityBoundingSet = ""; @@ -170,7 +181,7 @@ in { ]; UMask = "0077"; }; - wantedBy = ["multi-user.target"]; + wantedBy = [ "multi-user.target" ]; }; services.nginx = mkIf (cfg.nginxVirtualHost != null) { enable = true; @@ -187,5 +198,5 @@ in { enable = true; }; }; - meta.maintainers = with lib.maintainers; [patrickdag]; + meta.maintainers = with lib.maintainers; [ patrickdag ]; } diff --git a/nixos/modules/services/web-apps/youtrack.nix b/nixos/modules/services/web-apps/youtrack.nix index e80cdda680871..989d9e4fbaffa 100644 --- a/nixos/modules/services/web-apps/youtrack.nix +++ b/nixos/modules/services/web-apps/youtrack.nix @@ -1,16 +1,43 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.youtrack; in { imports = [ - (lib.mkRenamedOptionModule [ "services" "youtrack" "baseUrl" ] [ "services" "youtrack" "environmentalParameters" "base-url" ]) - (lib.mkRenamedOptionModule [ "services" "youtrack" "port" ] [ "services" "youtrack" "environmentalParameters" "listen-port" ]) - (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMemory" ] "Please instead use `services.youtrack.generalParameters`.") - (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMetaspaceSize" ] "Please instead use `services.youtrack.generalParameters`.") - (lib.mkRemovedOptionModule [ "services" "youtrack" "extraParams" ] "Please migrate to `services.youtrack.generalParameters`.") - (lib.mkRemovedOptionModule [ "services" "youtrack" "jvmOpts" ] "Please migrate to `services.youtrack.generalParameters`.") + (lib.mkRenamedOptionModule + [ "services" "youtrack" "baseUrl" ] + [ "services" "youtrack" "environmentalParameters" "base-url" ] + ) + (lib.mkRenamedOptionModule + [ "services" "youtrack" "port" ] + [ "services" "youtrack" "environmentalParameters" "listen-port" ] + ) + (lib.mkRemovedOptionModule [ + "services" + "youtrack" + "maxMemory" + ] "Please instead use `services.youtrack.generalParameters`.") + (lib.mkRemovedOptionModule [ + "services" + "youtrack" + "maxMetaspaceSize" + ] "Please instead use `services.youtrack.generalParameters`.") + (lib.mkRemovedOptionModule [ + "services" + "youtrack" + "extraParams" + ] "Please migrate to `services.youtrack.generalParameters`.") + (lib.mkRemovedOptionModule [ + "services" + "youtrack" + "jvmOpts" + ] "Please migrate to `services.youtrack.generalParameters`.") ]; options.services.youtrack = { @@ -70,12 +97,18 @@ in "-Xmx1024m" ]; ''; - default = []; + default = [ ]; }; environmentalParameters = lib.mkOption { type = lib.types.submodule { - freeformType = with lib.types; attrsOf (oneOf [ int str port ]); + freeformType = + with lib.types; + attrsOf (oneOf [ + int + str + port + ]); options = { listen-address = lib.mkOption { type = lib.types.str; @@ -99,52 +132,60 @@ in secure-mode = "tls"; } ''; - default = {}; + default = { }; }; }; config = lib.mkIf cfg.enable { - services.youtrack.generalParameters = [ "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" ]; - - systemd.services.youtrack = let - jvmoptions = pkgs.writeTextFile { - name = "youtrack.jvmoptions"; - text = (lib.concatStringsSep "\n" cfg.generalParameters); - }; + services.youtrack.generalParameters = [ + "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}" + ]; + + systemd.services.youtrack = + let + jvmoptions = pkgs.writeTextFile { + name = "youtrack.jvmoptions"; + text = (lib.concatStringsSep "\n" cfg.generalParameters); + }; - package = cfg.package.override { - statePath = cfg.statePath; + package = cfg.package.override { + statePath = cfg.statePath; + }; + in + { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ unixtools.hostname ]; + preStart = '' + # This detects old (i.e. <= 2022.3) installations that were not migrated yet + # and migrates them to the new state directory style + if [[ -d ${cfg.statePath}/teamsysdata ]] && [[ ! -d ${cfg.statePath}/2022_3 ]] + then + mkdir -p ${cfg.statePath}/2022_3 + mv ${cfg.statePath}/teamsysdata ${cfg.statePath}/2022_3 + mv ${cfg.statePath}/.youtrack ${cfg.statePath}/2022_3 + fi + mkdir -p ${cfg.statePath}/{backups,conf,data,logs,temp} + ${pkgs.coreutils}/bin/ln -fs ${jvmoptions} ${cfg.statePath}/conf/youtrack.jvmoptions + ${package}/bin/youtrack configure ${ + lib.concatStringsSep " " ( + lib.mapAttrsToList (name: value: "--${name}=${toString value}") cfg.environmentalParameters + ) + } + ''; + serviceConfig = lib.mkMerge [ + { + Type = "simple"; + User = "youtrack"; + Group = "youtrack"; + Restart = "on-failure"; + ExecStart = "${package}/bin/youtrack run"; + } + (lib.mkIf (cfg.statePath == "/var/lib/youtrack") { + StateDirectory = "youtrack"; + }) + ]; }; - in { - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ unixtools.hostname ]; - preStart = '' - # This detects old (i.e. <= 2022.3) installations that were not migrated yet - # and migrates them to the new state directory style - if [[ -d ${cfg.statePath}/teamsysdata ]] && [[ ! -d ${cfg.statePath}/2022_3 ]] - then - mkdir -p ${cfg.statePath}/2022_3 - mv ${cfg.statePath}/teamsysdata ${cfg.statePath}/2022_3 - mv ${cfg.statePath}/.youtrack ${cfg.statePath}/2022_3 - fi - mkdir -p ${cfg.statePath}/{backups,conf,data,logs,temp} - ${pkgs.coreutils}/bin/ln -fs ${jvmoptions} ${cfg.statePath}/conf/youtrack.jvmoptions - ${package}/bin/youtrack configure ${lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "--${name}=${toString value}") cfg.environmentalParameters )} - ''; - serviceConfig = lib.mkMerge [ - { - Type = "simple"; - User = "youtrack"; - Group = "youtrack"; - Restart = "on-failure"; - ExecStart = "${package}/bin/youtrack run"; - } - (lib.mkIf (cfg.statePath == "/var/lib/youtrack") { - StateDirectory = "youtrack"; - }) - ]; - }; users.users.youtrack = { description = "Youtrack service user"; @@ -154,10 +195,11 @@ in group = "youtrack"; }; - users.groups.youtrack = {}; + users.groups.youtrack = { }; services.nginx = lib.mkIf (cfg.virtualHost != null) { - upstreams.youtrack.servers."${cfg.address}:${toString cfg.environmentalParameters.listen-port}" = {}; + upstreams.youtrack.servers."${cfg.address}:${toString cfg.environmentalParameters.listen-port}" = + { }; virtualHosts.${cfg.virtualHost}.locations = { "/" = { proxyPass = "http://youtrack"; diff --git a/nixos/modules/services/web-apps/zitadel.nix b/nixos/modules/services/web-apps/zitadel.nix index ed7fae8d9dda0..2ddd0a52dc9ca 100644 --- a/nixos/modules/services/web-apps/zitadel.nix +++ b/nixos/modules/services/web-apps/zitadel.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.zitadel; @@ -7,8 +12,15 @@ let in { options.services.zitadel = - let inherit (lib) mkEnableOption mkOption mkPackageOption types; - in { + let + inherit (lib) + mkEnableOption + mkOption + mkPackageOption + types + ; + in + { enable = mkEnableOption "ZITADEL, a user and identity access management platform"; package = mkPackageOption pkgs "ZITADEL" { default = [ "zitadel" ]; }; @@ -42,7 +54,11 @@ in }; tlsMode = mkOption { - type = types.enum [ "external" "enabled" "disabled" ]; + type = types.enum [ + "external" + "enabled" + "disabled" + ]; default = "external"; example = "enabled"; description = '' @@ -169,19 +185,22 @@ in }; config = lib.mkIf cfg.enable { - assertions = [{ - assertion = cfg.tlsMode == "enabled" - -> ((cfg.settings.TLS.Key != null || cfg.settings.TLS.KeyPath != null) - && (cfg.settings.TLS.Cert != null || cfg.settings.TLS.CertPath - != null)); - message = '' - A TLS certificate and key must be configured in - services.zitadel.settings.TLS if services.zitadel.tlsMode is enabled. - ''; - }]; - - networking.firewall.allowedTCPPorts = - lib.mkIf cfg.openFirewall [ cfg.settings.Port ]; + assertions = [ + { + assertion = + cfg.tlsMode == "enabled" + -> ( + (cfg.settings.TLS.Key != null || cfg.settings.TLS.KeyPath != null) + && (cfg.settings.TLS.Cert != null || cfg.settings.TLS.CertPath != null) + ); + message = '' + A TLS certificate and key must be configured in + services.zitadel.settings.TLS if services.zitadel.tlsMode is enabled. + ''; + } + ]; + + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.settings.Port ]; systemd.services.zitadel = let diff --git a/nixos/modules/services/web-servers/agate.nix b/nixos/modules/services/web-servers/agate.nix index 76c1a94f3bf28..8e6c5b3346074 100644 --- a/nixos/modules/services/web-servers/agate.nix +++ b/nixos/modules/services/web-servers/agate.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -72,11 +77,19 @@ in description = "Agate"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; - after = [ "network.target" "network-online.target" ]; + after = [ + "network.target" + "network-online.target" + ]; script = let - prefixKeyList = key: list: concatMap (v: [ key v ]) list; + prefixKeyList = + key: list: + concatMap (v: [ + key + v + ]) list; addresses = prefixKeyList "--addr" cfg.addresses; hostnames = prefixKeyList "--hostname" cfg.hostnames; in @@ -84,14 +97,19 @@ in exec ${cfg.package}/bin/agate ${ escapeShellArgs ( [ - "--content" "${cfg.contentDir}" - "--certs" "${cfg.certificatesDir}" - ] ++ - addresses ++ - (optionals (cfg.hostnames != []) hostnames) ++ - (optionals (cfg.language != null) [ "--lang" cfg.language ]) ++ - (optionals cfg.onlyTls_1_3 [ "--only-tls13" ]) ++ - (optionals (cfg.extraArgs != []) cfg.extraArgs) + "--content" + "${cfg.contentDir}" + "--certs" + "${cfg.certificatesDir}" + ] + ++ addresses + ++ (optionals (cfg.hostnames != [ ]) hostnames) + ++ (optionals (cfg.language != null) [ + "--lang" + cfg.language + ]) + ++ (optionals cfg.onlyTls_1_3 [ "--only-tls13" ]) + ++ (optionals (cfg.extraArgs != [ ]) cfg.extraArgs) ) } ''; @@ -123,7 +141,10 @@ in ProtectKernelTunables = true; RestrictNamespaces = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; RestrictRealtime = true; SystemCallArchitectures = "native"; diff --git a/nixos/modules/services/web-servers/apache-httpd/location-options.nix b/nixos/modules/services/web-servers/apache-httpd/location-options.nix index 80dc1674c5a2a..68d90d6007cfa 100644 --- a/nixos/modules/services/web-servers/apache-httpd/location-options.nix +++ b/nixos/modules/services/web-servers/apache-httpd/location-options.nix @@ -1,4 +1,9 @@ -{ config, lib, name, ... }: +{ + config, + lib, + name, + ... +}: let inherit (lib) mkOption types; in diff --git a/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix b/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix index f3d57ac16ea2f..43b24fdc4a96b 100644 --- a/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix +++ b/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix @@ -1,6 +1,16 @@ -{ config, lib, name, ... }: +{ + config, + lib, + name, + ... +}: let - inherit (lib) literalExpression mkOption nameValuePair types; + inherit (lib) + literalExpression + mkOption + nameValuePair + types + ; in { options = { @@ -13,37 +23,53 @@ in serverAliases = mkOption { type = types.listOf types.str; - default = []; - example = ["www.example.org" "www.example.org:8080" "example.org"]; + default = [ ]; + example = [ + "www.example.org" + "www.example.org:8080" + "example.org" + ]; description = '' Additional names of virtual hosts served by this virtual host configuration. ''; }; listen = mkOption { - type = with types; listOf (submodule ({ - options = { - port = mkOption { - type = types.port; - description = "Port to listen on"; - }; - ip = mkOption { - type = types.str; - default = "*"; - description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all."; + type = + with types; + listOf (submodule ({ + options = { + port = mkOption { + type = types.port; + description = "Port to listen on"; + }; + ip = mkOption { + type = types.str; + default = "*"; + description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all."; + }; + ssl = mkOption { + type = types.bool; + default = false; + description = "Whether to enable SSL (https) support."; + }; }; - ssl = mkOption { - type = types.bool; - default = false; - description = "Whether to enable SSL (https) support."; - }; - }; - })); - default = []; + })); + default = [ ]; example = [ - { ip = "195.154.1.1"; port = 443; ssl = true;} - { ip = "192.154.1.1"; port = 80; } - { ip = "*"; port = 8080; } + { + ip = "195.154.1.1"; + port = 443; + ssl = true; + } + { + ip = "192.154.1.1"; + port = 80; + } + { + ip = "*"; + port = 8080; + } ]; description = '' Listen addresses and ports for this virtual host. @@ -181,9 +207,10 @@ in servedDirs = mkOption { type = types.listOf types.attrs; - default = []; + default = [ ]; example = [ - { urlPath = "/nix"; + { + urlPath = "/nix"; dir = "/home/eelco/Dev/nix-homepage"; } ]; @@ -194,9 +221,10 @@ in servedFiles = mkOption { type = types.listOf types.attrs; - default = []; + default = [ ]; example = [ - { urlPath = "/foo/bar.png"; + { + urlPath = "/foo/bar.png"; file = "/home/eelco/some-file.png"; } ]; @@ -265,7 +293,7 @@ in locations = mkOption { type = with types; attrsOf (submodule (import ./location-options.nix)); - default = {}; + default = { }; example = literalExpression '' { "/" = { @@ -285,7 +313,9 @@ in config = { - locations = builtins.listToAttrs (map (elem: nameValuePair elem.urlPath { alias = elem.file; }) config.servedFiles); + locations = builtins.listToAttrs ( + map (elem: nameValuePair elem.urlPath { alias = elem.file; }) config.servedFiles + ); }; } diff --git a/nixos/modules/services/web-servers/caddy/default.nix b/nixos/modules/services/web-servers/caddy/default.nix index 9261fe340b13d..d87a04e0f5f15 100644 --- a/nixos/modules/services/web-servers/caddy/default.nix +++ b/nixos/modules/services/web-servers/caddy/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -12,21 +17,26 @@ let dependentCertNames = filter (cert: certs.${cert}.dnsProvider == null) vhostCertNames; # those that might depend on the HTTP server independentCertNames = filter (cert: certs.${cert}.dnsProvider != null) vhostCertNames; # those that don't depend on the HTTP server - mkVHostConf = hostOpts: + mkVHostConf = + hostOpts: let sslCertDir = config.security.acme.certs.${hostOpts.useACMEHost}.directory; in - '' - ${hostOpts.hostName} ${concatStringsSep " " hostOpts.serverAliases} { - ${optionalString (hostOpts.listenAddresses != [ ]) "bind ${concatStringsSep " " hostOpts.listenAddresses}"} - ${optionalString (hostOpts.useACMEHost != null) "tls ${sslCertDir}/cert.pem ${sslCertDir}/key.pem"} - log { - ${hostOpts.logFormat} - } - - ${hostOpts.extraConfig} + '' + ${hostOpts.hostName} ${concatStringsSep " " hostOpts.serverAliases} { + ${optionalString ( + hostOpts.listenAddresses != [ ] + ) "bind ${concatStringsSep " " hostOpts.listenAddresses}"} + ${optionalString ( + hostOpts.useACMEHost != null + ) "tls ${sslCertDir}/cert.pem ${sslCertDir}/key.pem"} + log { + ${hostOpts.logFormat} } - ''; + + ${hostOpts.extraConfig} + } + ''; settingsFormat = pkgs.formats.json { }; @@ -43,13 +53,17 @@ let ${concatMapStringsSep "\n" mkVHostConf virtualHosts} ''; - Caddyfile-formatted = pkgs.runCommand "Caddyfile-formatted" { nativeBuildInputs = [ cfg.package ]; } '' - mkdir -p $out - cp --no-preserve=mode ${Caddyfile}/Caddyfile $out/Caddyfile - caddy fmt --overwrite $out/Caddyfile - ''; + Caddyfile-formatted = + pkgs.runCommand "Caddyfile-formatted" { nativeBuildInputs = [ cfg.package ]; } + '' + mkdir -p $out + cp --no-preserve=mode ${Caddyfile}/Caddyfile $out/Caddyfile + caddy fmt --overwrite $out/Caddyfile + ''; in - "${if pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform then Caddyfile-formatted else Caddyfile}/Caddyfile"; + "${ + if pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform then Caddyfile-formatted else Caddyfile + }/Caddyfile"; etcConfigFile = "caddy/caddy_config"; @@ -59,7 +73,11 @@ let in { imports = [ - (mkRemovedOptionModule [ "services" "caddy" "agree" ] "this option is no longer necessary for Caddy 2") + (mkRemovedOptionModule [ + "services" + "caddy" + "agree" + ] "this option is no longer necessary for Caddy 2") (mkRenamedOptionModule [ "services" "caddy" "ca" ] [ "services" "caddy" "acmeCA" ]) (mkRenamedOptionModule [ "services" "caddy" "config" ] [ "services" "caddy" "extraConfig" ]) ]; @@ -166,7 +184,11 @@ in }; adapter = mkOption { - default = if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null; + default = + if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then + "caddyfile" + else + null; defaultText = literalExpression '' if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null ''; @@ -237,7 +259,7 @@ in virtualHosts = mkOption { type = with types; attrsOf (submodule (import ./vhost-options.nix { inherit cfg; })); - default = {}; + default = { }; example = literalExpression '' { "hydra.example.com" = { @@ -303,7 +325,7 @@ in settings = mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Structured configuration for Caddy to generate a Caddy JSON configuration file. See for available options. @@ -361,15 +383,21 @@ in # implementation config = mkIf cfg.enable { - assertions = [ - { assertion = cfg.configFile == configFile -> cfg.adapter == "caddyfile" || cfg.adapter == null; - message = "To specify an adapter other than 'caddyfile' please provide your own configuration via `services.caddy.configFile`"; - } - ] ++ map (name: mkCertOwnershipAssertion { - cert = config.security.acme.certs.${name}; - groups = config.users.groups; - services = [ config.systemd.services.caddy ]; - }) vhostCertNames; + assertions = + [ + { + assertion = cfg.configFile == configFile -> cfg.adapter == "caddyfile" || cfg.adapter == null; + message = "To specify an adapter other than 'caddyfile' please provide your own configuration via `services.caddy.configFile`"; + } + ] + ++ map ( + name: + mkCertOwnershipAssertion { + cert = config.security.acme.certs.${name}; + groups = config.users.groups; + services = [ config.systemd.services.caddy ]; + } + ) vhostCertNames; services.caddy.globalConfig = '' ${optionalString (cfg.email != null) "email ${cfg.email}"} @@ -386,7 +414,8 @@ in systemd.packages = [ cfg.package ]; systemd.services.caddy = { wants = map (certName: "acme-finished-${certName}.target") vhostCertNames; - after = map (certName: "acme-selfsigned-${certName}.service") vhostCertNames + after = + map (certName: "acme-selfsigned-${certName}.service") vhostCertNames ++ map (certName: "acme-${certName}.service") independentCertNames; # avoid loading self-signed key w/ real cert, or vice-versa before = map (certName: "acme-${certName}.service") dependentCertNames; @@ -394,32 +423,41 @@ in startLimitIntervalSec = 14400; startLimitBurst = 10; reloadTriggers = optional cfg.enableReload cfg.configFile; - restartTriggers = optional (! cfg.enableReload) cfg.configFile; - - serviceConfig = let - runOptions = ''--config ${configPath} ${optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}"}''; - in { - # Override the `ExecStart` line from upstream's systemd unit file by our own: - # https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStart= - # If the empty string is assigned to this option, the list of commands to start is reset, prior assignments of this option will have no effect. - ExecStart = [ "" ''${cfg.package}/bin/caddy run ${runOptions} ${optionalString cfg.resume "--resume"}'' ]; - # Validating the configuration before applying it ensures we’ll get a proper error that will be reported when switching to the configuration - ExecReload = [ "" ] ++ lib.optional cfg.enableReload "${lib.getExe cfg.package} reload ${runOptions} --force"; - User = cfg.user; - Group = cfg.group; - ReadWritePaths = [ cfg.dataDir ]; - StateDirectory = mkIf (cfg.dataDir == "/var/lib/caddy") [ "caddy" ]; - LogsDirectory = mkIf (cfg.logDir == "/var/log/caddy") [ "caddy" ]; - Restart = "on-failure"; - RestartPreventExitStatus = 1; - RestartSec = "5s"; - EnvironmentFile = optional (cfg.environmentFile != null) cfg.environmentFile; - - # TODO: attempt to upstream these options - NoNewPrivileges = true; - PrivateDevices = true; - ProtectHome = true; - }; + restartTriggers = optional (!cfg.enableReload) cfg.configFile; + + serviceConfig = + let + runOptions = ''--config ${configPath} ${ + optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}" + }''; + in + { + # Override the `ExecStart` line from upstream's systemd unit file by our own: + # https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStart= + # If the empty string is assigned to this option, the list of commands to start is reset, prior assignments of this option will have no effect. + ExecStart = [ + "" + ''${cfg.package}/bin/caddy run ${runOptions} ${optionalString cfg.resume "--resume"}'' + ]; + # Validating the configuration before applying it ensures we’ll get a proper error that will be reported when switching to the configuration + ExecReload = [ + "" + ] ++ lib.optional cfg.enableReload "${lib.getExe cfg.package} reload ${runOptions} --force"; + User = cfg.user; + Group = cfg.group; + ReadWritePaths = [ cfg.dataDir ]; + StateDirectory = mkIf (cfg.dataDir == "/var/lib/caddy") [ "caddy" ]; + LogsDirectory = mkIf (cfg.logDir == "/var/log/caddy") [ "caddy" ]; + Restart = "on-failure"; + RestartPreventExitStatus = 1; + RestartSec = "5s"; + EnvironmentFile = optional (cfg.environmentFile != null) cfg.environmentFile; + + # TODO: attempt to upstream these options + NoNewPrivileges = true; + PrivateDevices = true; + ProtectHome = true; + }; }; users.users = optionalAttrs (cfg.user == "caddy") { @@ -436,12 +474,15 @@ in security.acme.certs = let - certCfg = map (certName: nameValuePair certName { - group = mkDefault cfg.group; - reloadServices = [ "caddy.service" ]; - }) vhostCertNames; + certCfg = map ( + certName: + nameValuePair certName { + group = mkDefault cfg.group; + reloadServices = [ "caddy.service" ]; + } + ) vhostCertNames; in - listToAttrs certCfg; + listToAttrs certCfg; environment.etc.${etcConfigFile}.source = cfg.configFile; }; diff --git a/nixos/modules/services/web-servers/caddy/vhost-options.nix b/nixos/modules/services/web-servers/caddy/vhost-options.nix index c092f2d796375..04feb6dc66c67 100644 --- a/nixos/modules/services/web-servers/caddy/vhost-options.nix +++ b/nixos/modules/services/web-servers/caddy/vhost-options.nix @@ -1,5 +1,10 @@ { cfg }: -{ config, lib, name, ... }: +{ + config, + lib, + name, + ... +}: let inherit (lib) literalExpression mkOption types; in @@ -15,7 +20,10 @@ in serverAliases = mkOption { type = with types; listOf str; default = [ ]; - example = [ "www.example.org" "example.org" ]; + example = [ + "www.example.org" + "example.org" + ]; description = '' Additional names of virtual hosts served by this virtual host configuration. ''; @@ -27,7 +35,10 @@ in A list of host interfaces to bind to for this virtual host. ''; default = [ ]; - example = [ "127.0.0.1" "::1" ]; + example = [ + "127.0.0.1" + "::1" + ]; }; useACMEHost = mkOption { diff --git a/nixos/modules/services/web-servers/fcgiwrap.nix b/nixos/modules/services/web-servers/fcgiwrap.nix index 36a327b9ab9f9..6824938fe5a00 100644 --- a/nixos/modules/services/web-servers/fcgiwrap.nix +++ b/nixos/modules/services/web-servers/fcgiwrap.nix @@ -1,150 +1,192 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let - forEachInstance = f: flip mapAttrs' config.services.fcgiwrap.instances ( - name: cfg: nameValuePair "fcgiwrap-${name}" (f cfg) - ); + forEachInstance = + f: + flip mapAttrs' config.services.fcgiwrap.instances ( + name: cfg: nameValuePair "fcgiwrap-${name}" (f cfg) + ); -in { - imports = forEach [ - "enable" - "user" - "group" - "socketType" - "socketAddress" - "preforkProcesses" - ] (attr: mkRemovedOptionModule [ "services" "fcgiwrap" attr ] '' - The global shared fcgiwrap instance is no longer supported due to - security issues. - Isolated instances should instead be configured through - `services.fcgiwrap.instances.*'. - ''); +in +{ + imports = + forEach + [ + "enable" + "user" + "group" + "socketType" + "socketAddress" + "preforkProcesses" + ] + ( + attr: + mkRemovedOptionModule [ "services" "fcgiwrap" attr ] '' + The global shared fcgiwrap instance is no longer supported due to + security issues. + Isolated instances should instead be configured through + `services.fcgiwrap.instances.*'. + '' + ); options.services.fcgiwrap.instances = mkOption { description = "Configuration for fcgiwrap instances."; default = { }; - type = types.attrsOf (types.submodule ({ config, ... }: { options = { - process.prefork = mkOption { - type = types.ints.positive; - default = 1; - description = "Number of processes to prefork."; - }; + type = types.attrsOf ( + types.submodule ( + { config, ... }: + { + options = { + process.prefork = mkOption { + type = types.ints.positive; + default = 1; + description = "Number of processes to prefork."; + }; - process.user = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - User as which this instance of fcgiwrap will be run. - Set to `null` (the default) to use a dynamically allocated user. - ''; - }; + process.user = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + User as which this instance of fcgiwrap will be run. + Set to `null` (the default) to use a dynamically allocated user. + ''; + }; - process.group = mkOption { - type = types.nullOr types.str; - default = null; - description = "Group as which this instance of fcgiwrap will be run."; - }; + process.group = mkOption { + type = types.nullOr types.str; + default = null; + description = "Group as which this instance of fcgiwrap will be run."; + }; - socket.type = mkOption { - type = types.enum [ "unix" "tcp" "tcp6" ]; - default = "unix"; - description = "Socket type: 'unix', 'tcp' or 'tcp6'."; - }; + socket.type = mkOption { + type = types.enum [ + "unix" + "tcp" + "tcp6" + ]; + default = "unix"; + description = "Socket type: 'unix', 'tcp' or 'tcp6'."; + }; - socket.address = mkOption { - type = types.str; - default = "/run/fcgiwrap-${config._module.args.name}.sock"; - example = "1.2.3.4:5678"; - description = '' - Socket address. - In case of a UNIX socket, this should be its filesystem path. - ''; - }; + socket.address = mkOption { + type = types.str; + default = "/run/fcgiwrap-${config._module.args.name}.sock"; + example = "1.2.3.4:5678"; + description = '' + Socket address. + In case of a UNIX socket, this should be its filesystem path. + ''; + }; - socket.user = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - User to be set as owner of the UNIX socket. - ''; - }; + socket.user = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + User to be set as owner of the UNIX socket. + ''; + }; - socket.group = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Group to be set as owner of the UNIX socket. - ''; - }; + socket.group = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Group to be set as owner of the UNIX socket. + ''; + }; - socket.mode = mkOption { - type = types.nullOr types.str; - default = if config.socket.type == "unix" then "0600" else null; - defaultText = literalExpression '' - if config.socket.type == "unix" then "0600" else null - ''; - description = '' - Mode to be set on the UNIX socket. - Defaults to private to the socket's owner. - ''; - }; - }; })); + socket.mode = mkOption { + type = types.nullOr types.str; + default = if config.socket.type == "unix" then "0600" else null; + defaultText = literalExpression '' + if config.socket.type == "unix" then "0600" else null + ''; + description = '' + Mode to be set on the UNIX socket. + Defaults to private to the socket's owner. + ''; + }; + }; + } + ) + ); }; config = { - assertions = concatLists (mapAttrsToList (name: cfg: [ - { - assertion = cfg.socket.type == "unix" -> cfg.socket.user != null; - message = "Socket owner is required for the UNIX socket type."; - } - { - assertion = cfg.socket.type == "unix" -> cfg.socket.group != null; - message = "Socket owner is required for the UNIX socket type."; - } - { - assertion = cfg.socket.user != null -> cfg.socket.type == "unix"; - message = "Socket owner can only be set for the UNIX socket type."; - } - { - assertion = cfg.socket.group != null -> cfg.socket.type == "unix"; - message = "Socket owner can only be set for the UNIX socket type."; - } - { - assertion = cfg.socket.mode != null -> cfg.socket.type == "unix"; - message = "Socket mode can only be set for the UNIX socket type."; - } - ]) config.services.fcgiwrap.instances); + assertions = concatLists ( + mapAttrsToList (name: cfg: [ + { + assertion = cfg.socket.type == "unix" -> cfg.socket.user != null; + message = "Socket owner is required for the UNIX socket type."; + } + { + assertion = cfg.socket.type == "unix" -> cfg.socket.group != null; + message = "Socket owner is required for the UNIX socket type."; + } + { + assertion = cfg.socket.user != null -> cfg.socket.type == "unix"; + message = "Socket owner can only be set for the UNIX socket type."; + } + { + assertion = cfg.socket.group != null -> cfg.socket.type == "unix"; + message = "Socket owner can only be set for the UNIX socket type."; + } + { + assertion = cfg.socket.mode != null -> cfg.socket.type == "unix"; + message = "Socket mode can only be set for the UNIX socket type."; + } + ]) config.services.fcgiwrap.instances + ); systemd.services = forEachInstance (cfg: { after = [ "nss-user-lookup.target" ]; wantedBy = optional (cfg.socket.type != "unix") "multi-user.target"; - serviceConfig = { - ExecStart = '' - ${pkgs.fcgiwrap}/sbin/fcgiwrap ${cli.toGNUCommandLineShell {} ({ - c = cfg.process.prefork; - } // (optionalAttrs (cfg.socket.type != "unix") { - s = "${cfg.socket.type}:${cfg.socket.address}"; - }))} - ''; - } // (if cfg.process.user != null then { - User = cfg.process.user; - Group = cfg.process.group; - } else { - DynamicUser = true; - }); + serviceConfig = + { + ExecStart = '' + ${pkgs.fcgiwrap}/sbin/fcgiwrap ${ + cli.toGNUCommandLineShell { } ( + { + c = cfg.process.prefork; + } + // (optionalAttrs (cfg.socket.type != "unix") { + s = "${cfg.socket.type}:${cfg.socket.address}"; + }) + ) + } + ''; + } + // ( + if cfg.process.user != null then + { + User = cfg.process.user; + Group = cfg.process.group; + } + else + { + DynamicUser = true; + } + ); }); - systemd.sockets = forEachInstance (cfg: mkIf (cfg.socket.type == "unix") { - wantedBy = [ "sockets.target" ]; - socketConfig = { - ListenStream = cfg.socket.address; - SocketUser = cfg.socket.user; - SocketGroup = cfg.socket.group; - SocketMode = cfg.socket.mode; - }; - }); + systemd.sockets = forEachInstance ( + cfg: + mkIf (cfg.socket.type == "unix") { + wantedBy = [ "sockets.target" ]; + socketConfig = { + ListenStream = cfg.socket.address; + SocketUser = cfg.socket.user; + SocketGroup = cfg.socket.group; + SocketMode = cfg.socket.mode; + }; + } + ); }; } diff --git a/nixos/modules/services/web-servers/hitch/default.nix b/nixos/modules/services/web-servers/hitch/default.nix index b1c72c0dd7b7b..a5a536ff9917d 100644 --- a/nixos/modules/services/web-servers/hitch/default.nix +++ b/nixos/modules/services/web-servers/hitch/default.nix @@ -1,17 +1,26 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.hitch; ocspDir = lib.optionalString cfg.ocsp-stapling.enabled "/var/cache/hitch/ocsp"; - hitchConfig = with lib; pkgs.writeText "hitch.conf" (concatStringsSep "\n" [ - ("backend = \"${cfg.backend}\"") - (concatMapStrings (s: "frontend = \"${s}\"\n") cfg.frontend) - (concatMapStrings (s: "pem-file = \"${s}\"\n") cfg.pem-files) - ("ciphers = \"${cfg.ciphers}\"") - ("ocsp-dir = \"${ocspDir}\"") - "user = \"${cfg.user}\"" - "group = \"${cfg.group}\"" - cfg.extraConfig - ]); + hitchConfig = + with lib; + pkgs.writeText "hitch.conf" ( + concatStringsSep "\n" [ + ("backend = \"${cfg.backend}\"") + (concatMapStrings (s: "frontend = \"${s}\"\n") cfg.frontend) + (concatMapStrings (s: "pem-file = \"${s}\"\n") cfg.pem-files) + ("ciphers = \"${cfg.ciphers}\"") + ("ocsp-dir = \"${ocspDir}\"") + "user = \"${cfg.user}\"" + "group = \"${cfg.group}\"" + cfg.extraConfig + ] + ); in with lib; { @@ -45,7 +54,7 @@ with lib; pem-files = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = "PEM files to use"; }; @@ -84,12 +93,14 @@ with lib; description = "Hitch"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - preStart = '' - ${pkgs.hitch}/sbin/hitch -t --config ${hitchConfig} - '' + (optionalString cfg.ocsp-stapling.enabled '' - mkdir -p ${ocspDir} - chown -R hitch:hitch ${ocspDir} - ''); + preStart = + '' + ${pkgs.hitch}/sbin/hitch -t --config ${hitchConfig} + '' + + (optionalString cfg.ocsp-stapling.enabled '' + mkdir -p ${ocspDir} + chown -R hitch:hitch ${ocspDir} + ''); serviceConfig = { Type = "forking"; ExecStart = "${pkgs.hitch}/sbin/hitch --daemon --config ${hitchConfig}"; @@ -106,6 +117,6 @@ with lib; group = "hitch"; isSystemUser = true; }; - users.groups.hitch = {}; + users.groups.hitch = { }; }; } diff --git a/nixos/modules/services/web-servers/jboss/default.nix b/nixos/modules/services/web-servers/jboss/default.nix index d243e0f3f1b78..88bd1071b35bc 100644 --- a/nixos/modules/services/web-servers/jboss/default.nix +++ b/nixos/modules/services/web-servers/jboss/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -10,7 +15,15 @@ let name = "jboss-server"; builder = ./builder.sh; inherit (pkgs) jboss su; - inherit (cfg) tempDir logDir libUrl deployDir serverDir user useJK; + inherit (cfg) + tempDir + logDir + libUrl + deployDir + serverDir + user + useJK + ; }; in @@ -75,7 +88,6 @@ in }; - ###### implementation config = mkIf config.services.jboss.enable { diff --git a/nixos/modules/services/web-servers/keter/bundle.nix b/nixos/modules/services/web-servers/keter/bundle.nix index 32b08c3be206b..fd040b9847fb0 100644 --- a/nixos/modules/services/web-servers/keter/bundle.nix +++ b/nixos/modules/services/web-servers/keter/bundle.nix @@ -1,25 +1,31 @@ -/* This makes a keter bundle as described on the github page: +/* + This makes a keter bundle as described on the github page: https://github.com/snoyberg/keter#bundling-your-app-for-keter */ -{ keterDomain -, keterExecutable -, gnutar -, writeTextFile -, lib -, stdenv -, ... +{ + keterDomain, + keterExecutable, + gnutar, + writeTextFile, + lib, + stdenv, + ... }: let - str.stanzas = [{ - # we just use nix as an absolute path so we're not bundling any binaries - type = "webapp"; - /* Note that we're not actually putting the executable in the bundle, - we already can use the nix store for copying, so we just - symlink to the app. */ - exec = keterExecutable; - host = keterDomain; - }]; + str.stanzas = [ + { + # we just use nix as an absolute path so we're not bundling any binaries + type = "webapp"; + /* + Note that we're not actually putting the executable in the bundle, + we already can use the nix store for copying, so we just + symlink to the app. + */ + exec = keterExecutable; + host = keterDomain; + } + ]; configFile = writeTextFile { name = "keter.yml"; text = (lib.generators.toYAML { } str); diff --git a/nixos/modules/services/web-servers/keter/default.nix b/nixos/modules/services/web-servers/keter/default.nix index 8685953d6e9d5..515d44f7ee5b4 100644 --- a/nixos/modules/services/web-servers/keter/default.nix +++ b/nixos/modules/services/web-servers/keter/default.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.services.keter; yaml = pkgs.formats.yaml { }; @@ -14,10 +19,11 @@ in ]; options.services.keter = { - enable = lib.mkEnableOption ''keter, a web app deployment manager. -Note that this module only support loading of webapps: -Keep an old app running and swap the ports when the new one is booted -''; + enable = lib.mkEnableOption '' + keter, a web app deployment manager. + Note that this module only support loading of webapps: + Keep an old app running and swap the ports when the new one is booted + ''; root = lib.mkOption { type = lib.types.str; @@ -32,7 +38,6 @@ Keep an old app running and swap the ports when the new one is booted description = "The keter package to be used"; }; - globalKeterConfig = lib.mkOption { type = lib.types.submodule { freeformType = yaml.type; @@ -43,19 +48,26 @@ Keep an old app running and swap the ports when the new one is booted description = "You want that ip-from-header in the nginx setup case. It allows nginx setting the original ip address rather then it being localhost (due to reverse proxying)"; }; listeners = lib.mkOption { - default = [{ host = "*"; port = 6981; }]; - type = lib.types.listOf (lib.types.submodule { - options = { - host = lib.mkOption { - type = lib.types.str; - description = "host"; - }; - port = lib.mkOption { - type = lib.types.port; - description = "port"; + default = [ + { + host = "*"; + port = 6981; + } + ]; + type = lib.types.listOf ( + lib.types.submodule { + options = { + host = lib.mkOption { + type = lib.types.str; + description = "host"; + }; + port = lib.mkOption { + type = lib.types.port; + description = "port"; + }; }; - }; - }); + } + ); description = '' You want that ip-from-header in the nginx setup case. @@ -121,15 +133,19 @@ Keep an old app running and swap the ports when the new one is booted let incoming = "${cfg.root}/incoming"; - globalKeterConfigFile = pkgs.writeTextFile { name = "keter-config.yml"; text = (lib.generators.toYAML { } (cfg.globalKeterConfig // { root = cfg.root; })); }; # If things are expected to change often, put it in the bundle! - bundle = pkgs.callPackage ./bundle.nix - (cfg.bundle // { keterExecutable = executable; keterDomain = cfg.bundle.domain; }); + bundle = pkgs.callPackage ./bundle.nix ( + cfg.bundle + // { + keterExecutable = executable; + keterDomain = cfg.bundle.domain; + } + ); # This indirection is required to ensure the nix path # gets copied over to the target machine in remote deployments. @@ -153,7 +169,10 @@ Keep an old app running and swap the ports when the new one is booted mkdir -p ${incoming} ${lib.getExe cfg.package} ${globalKeterConfigFile}; ''; - wantedBy = [ "multi-user.target" "nginx.service" ]; + wantedBy = [ + "multi-user.target" + "nginx.service" + ]; serviceConfig = { Restart = "always"; diff --git a/nixos/modules/services/web-servers/lighttpd/cgit.nix b/nixos/modules/services/web-servers/lighttpd/cgit.nix index b825d4757b8c1..fed636f62fa5b 100644 --- a/nixos/modules/services/web-servers/lighttpd/cgit.nix +++ b/nixos/modules/services/web-servers/lighttpd/cgit.nix @@ -1,20 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.lighttpd.cgit; pathPrefix = optionalString (stringLength cfg.subdir != 0) ("/" + cfg.subdir); - configFile = pkgs.writeText "cgitrc" - '' - # default paths to static assets - css=${pathPrefix}/cgit.css - logo=${pathPrefix}/cgit.png - favicon=${pathPrefix}/favicon.ico + configFile = pkgs.writeText "cgitrc" '' + # default paths to static assets + css=${pathPrefix}/cgit.css + logo=${pathPrefix}/cgit.png + favicon=${pathPrefix}/favicon.ico - # user configuration - ${cfg.configText} - ''; + # user configuration + ${cfg.configText} + ''; in { @@ -65,7 +69,11 @@ in environment.systemPackages = [ pkgs.cgit ]; # declare module dependencies - services.lighttpd.enableModules = [ "mod_cgi" "mod_alias" "mod_setenv" ]; + services.lighttpd.enableModules = [ + "mod_cgi" + "mod_alias" + "mod_setenv" + ]; services.lighttpd.extraConfig = '' $HTTP["url"] =~ "^/${cfg.subdir}" { diff --git a/nixos/modules/services/web-servers/lighttpd/collectd.nix b/nixos/modules/services/web-servers/lighttpd/collectd.nix index 5e5c0adda1c26..c34bb2c3706dd 100644 --- a/nixos/modules/services/web-servers/lighttpd/collectd.nix +++ b/nixos/modules/services/web-servers/lighttpd/collectd.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -11,7 +17,7 @@ let libdir: "${config.services.collectd.package}/lib/collectd" ''; - defaultCollectionCgi = config.services.collectd.package.overrideDerivation(old: { + defaultCollectionCgi = config.services.collectd.package.overrideDerivation (old: { name = "collection.cgi"; dontConfigure = true; buildPhase = "true"; @@ -41,7 +47,11 @@ in }; config = mkIf cfg.enable { - services.lighttpd.enableModules = [ "mod_cgi" "mod_alias" "mod_setenv" ]; + services.lighttpd.enableModules = [ + "mod_cgi" + "mod_alias" + "mod_setenv" + ]; services.lighttpd.extraConfig = '' $HTTP["url"] =~ "^/collectd" { @@ -52,7 +62,15 @@ in "/collectd" => "${cfg.collectionCgi}" ) setenv.add-environment = ( - "PERL5LIB" => "${with pkgs.perlPackages; makePerlPath [ CGI HTMLParser URI pkgs.rrdtool ]}", + "PERL5LIB" => "${ + with pkgs.perlPackages; + makePerlPath [ + CGI + HTMLParser + URI + pkgs.rrdtool + ] + }", "COLLECTION_CONF" => "${collectionConf}" ) } diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix index ea5ad835f3ab5..c79d32be2c46f 100644 --- a/nixos/modules/services/web-servers/lighttpd/default.nix +++ b/nixos/modules/services/web-servers/lighttpd/default.nix @@ -1,6 +1,11 @@ # NixOS module for lighttpd web server -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -53,71 +58,73 @@ let "mod_geoip" "mod_magnet" "mod_mysql_vhost" - "mod_openssl" # since v1.4.46 + "mod_openssl" # since v1.4.46 "mod_scgi" "mod_setenv" "mod_trigger_b4_dl" "mod_uploadprogress" - "mod_vhostdb" # since v1.4.46 + "mod_vhostdb" # since v1.4.46 "mod_webdav" - "mod_wstunnel" # since v1.4.46 + "mod_wstunnel" # since v1.4.46 ]; - maybeModuleString = moduleName: - optionalString (elem moduleName cfg.enableModules) ''"${moduleName}"''; + maybeModuleString = + moduleName: optionalString (elem moduleName cfg.enableModules) ''"${moduleName}"''; - modulesIncludeString = concatStringsSep ",\n" - (filter (x: x != "") (map maybeModuleString allKnownModules)); + modulesIncludeString = concatStringsSep ",\n" ( + filter (x: x != "") (map maybeModuleString allKnownModules) + ); - configFile = if cfg.configText != "" then - pkgs.writeText "lighttpd.conf" '' - ${cfg.configText} - '' + configFile = + if cfg.configText != "" then + pkgs.writeText "lighttpd.conf" '' + ${cfg.configText} + '' else - pkgs.writeText "lighttpd.conf" '' - server.document-root = "${cfg.document-root}" - server.port = ${toString cfg.port} - server.username = "lighttpd" - server.groupname = "lighttpd" - - # As for why all modules are loaded here, instead of having small - # server.modules += () entries in each sub-service extraConfig snippet, - # read this: - # - # https://redmine.lighttpd.net/projects/1/wiki/Server_modulesDetails - # https://redmine.lighttpd.net/issues/2337 - # - # Basically, lighttpd doesn't want to load (or even silently ignore) a - # module for a second time, and there is no way to check if a module has - # been loaded already. So if two services were to put the same module in - # server.modules += (), that would break the lighttpd configuration. - server.modules = ( - ${modulesIncludeString} - ) - - # Logging (logs end up in systemd journal) - accesslog.use-syslog = "enable" - server.errorlog-use-syslog = "enable" - - ${lib.optionalString cfg.enableUpstreamMimeTypes '' - include "${pkgs.lighttpd}/share/lighttpd/doc/config/conf.d/mime.conf" - ''} - - static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" ) - index-file.names = ( "index.html" ) - - ${optionalString cfg.mod_userdir '' - userdir.path = "public_html" - ''} - - ${optionalString cfg.mod_status '' - status.status-url = "/server-status" - status.statistics-url = "/server-statistics" - status.config-url = "/server-config" - ''} - - ${cfg.extraConfig} - ''; + pkgs.writeText "lighttpd.conf" '' + server.document-root = "${cfg.document-root}" + server.port = ${toString cfg.port} + server.username = "lighttpd" + server.groupname = "lighttpd" + + # As for why all modules are loaded here, instead of having small + # server.modules += () entries in each sub-service extraConfig snippet, + # read this: + # + # https://redmine.lighttpd.net/projects/1/wiki/Server_modulesDetails + # https://redmine.lighttpd.net/issues/2337 + # + # Basically, lighttpd doesn't want to load (or even silently ignore) a + # module for a second time, and there is no way to check if a module has + # been loaded already. So if two services were to put the same module in + # server.modules += (), that would break the lighttpd configuration. + server.modules = ( + ${modulesIncludeString} + ) + + # Logging (logs end up in systemd journal) + accesslog.use-syslog = "enable" + server.errorlog-use-syslog = "enable" + + ${lib.optionalString cfg.enableUpstreamMimeTypes '' + include "${pkgs.lighttpd}/share/lighttpd/doc/config/conf.d/mime.conf" + ''} + + static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" ) + index-file.names = ( "index.html" ) + + ${optionalString cfg.mod_userdir '' + userdir.path = "public_html" + ''} + + ${optionalString cfg.mod_status '' + status.status-url = "/server-status" + status.statistics-url = "/server-statistics" + status.config-url = "/server-config" + ''} + + ${cfg.extraConfig} + ''; in @@ -165,7 +172,10 @@ in enableModules = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "mod_cgi" "mod_status" ]; + example = [ + "mod_cgi" + "mod_status" + ]; description = '' List of lighttpd modules to enable. Sub-services take care of enabling modules as needed, so this option is mainly for when you @@ -222,7 +232,8 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = all (x: elem x allKnownModules) cfg.enableModules; + { + assertion = all (x: elem x allKnownModules) cfg.enableModules; message = '' One (or more) modules in services.lighttpd.enableModules are unrecognized. @@ -234,12 +245,12 @@ in } ]; - services.lighttpd.enableModules = mkMerge - [ (mkIf cfg.mod_status [ "mod_status" ]) - (mkIf cfg.mod_userdir [ "mod_userdir" ]) - # always load mod_accesslog so that we can log to the journal - [ "mod_accesslog" ] - ]; + services.lighttpd.enableModules = mkMerge [ + (mkIf cfg.mod_status [ "mod_status" ]) + (mkIf cfg.mod_userdir [ "mod_userdir" ]) + # always load mod_accesslog so that we can log to the journal + [ "mod_accesslog" ] + ]; systemd.services.lighttpd = { description = "Lighttpd Web Server"; diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix index c494d6966a7f5..0b138bc5c26a8 100644 --- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix +++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix @@ -1,12 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.gitweb; - package = pkgs.gitweb.override (optionalAttrs cfg.gitwebTheme { - gitwebTheme = true; - }); + package = pkgs.gitweb.override ( + optionalAttrs cfg.gitwebTheme { + gitwebTheme = true; + } + ); in { @@ -26,7 +33,12 @@ in config = mkIf config.services.lighttpd.gitweb.enable { # declare module dependencies - services.lighttpd.enableModules = [ "mod_cgi" "mod_redirect" "mod_alias" "mod_setenv" ]; + services.lighttpd.enableModules = [ + "mod_cgi" + "mod_redirect" + "mod_alias" + "mod_setenv" + ]; services.lighttpd.extraConfig = '' $HTTP["url"] =~ "^/gitweb" { diff --git a/nixos/modules/services/web-servers/merecat.nix b/nixos/modules/services/web-servers/merecat.nix index ff65480a0f2d6..a669acaedb7e3 100644 --- a/nixos/modules/services/web-servers/merecat.nix +++ b/nixos/modules/services/web-servers/merecat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,16 +11,16 @@ let cfg = config.services.merecat; format = pkgs.formats.keyValue { mkKeyValue = generators.mkKeyValueDefault { - mkValueString = v: + mkValueString = + v: # In merecat.conf, booleans are "true" and "false" - if builtins.isBool v - then if v then "true" else "false" - else generators.mkValueStringDefault {} v; + if builtins.isBool v then if v then "true" else "false" else generators.mkValueStringDefault { } v; } "="; }; configFile = format.generate "merecat.conf" cfg.settings; -in { +in +{ options.services.merecat = { diff --git a/nixos/modules/services/web-servers/mighttpd2.nix b/nixos/modules/services/web-servers/mighttpd2.nix index 1162696751444..3e2f61c170fab 100644 --- a/nixos/modules/services/web-servers/mighttpd2.nix +++ b/nixos/modules/services/web-servers/mighttpd2.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.services.mighttpd2; configFile = pkgs.writeText "mighty-config" cfg.config; routingFile = pkgs.writeText "mighty-routing" cfg.routing; -in { +in +{ options.services.mighttpd2 = { enable = mkEnableOption "Mighttpd2 web server"; @@ -94,11 +100,12 @@ in { }; config = mkIf cfg.enable { - assertions = - [ { assertion = cfg.routing != ""; - message = "You need at least one rule in mighttpd2.routing"; - } - ]; + assertions = [ + { + assertion = cfg.routing != ""; + message = "You need at least one rule in mighttpd2.routing"; + } + ]; systemd.services.mighttpd2 = { description = "Mighttpd2 web server"; wants = [ "network-online.target" ]; diff --git a/nixos/modules/services/web-servers/molly-brown.nix b/nixos/modules/services/web-servers/molly-brown.nix index f4aa98cde9592..153ace5a1aa43 100644 --- a/nixos/modules/services/web-servers/molly-brown.nix +++ b/nixos/modules/services/web-servers/molly-brown.nix @@ -1,12 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.molly-brown; settingsFormat = pkgs.formats.toml { }; - configFile = settingsFormat.generate "molly-brown.toml" cfg.settings; -in { + configFile = settingsFormat.generate "molly-brown.toml" cfg.settings; +in +{ options.services.molly-brown = { @@ -73,16 +79,19 @@ in { config = mkIf cfg.enable { - services.molly-brown.settings = let logDir = "/var/log/molly-brown"; - in { - Port = cfg.port; - Hostname = cfg.hostName; - CertPath = cfg.certPath; - KeyPath = cfg.keyPath; - DocBase = cfg.docBase; - AccessLog = "${logDir}/access.log"; - ErrorLog = "${logDir}/error.log"; - }; + services.molly-brown.settings = + let + logDir = "/var/log/molly-brown"; + in + { + Port = cfg.port; + Hostname = cfg.hostName; + CertPath = cfg.certPath; + KeyPath = cfg.keyPath; + DocBase = cfg.docBase; + AccessLog = "${logDir}/access.log"; + ErrorLog = "${logDir}/error.log"; + }; systemd.services.molly-brown = { description = "Molly Brown gemini server"; diff --git a/nixos/modules/services/web-servers/nginx/gitweb.nix b/nixos/modules/services/web-servers/nginx/gitweb.nix index 81f794bf9b3f8..c379245c5bff9 100644 --- a/nixos/modules/services/web-servers/nginx/gitweb.nix +++ b/nixos/modules/services/web-servers/nginx/gitweb.nix @@ -1,13 +1,20 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.nginx.gitweb; gitwebConfig = config.services.gitweb; - package = pkgs.gitweb.override (optionalAttrs gitwebConfig.gitwebTheme { - gitwebTheme = true; - }); + package = pkgs.gitweb.override ( + optionalAttrs gitwebConfig.gitwebTheme { + gitwebTheme = true; + } + ); in { @@ -61,7 +68,7 @@ in systemd.services.gitweb = { description = "GitWeb service"; script = "${package}/gitweb.cgi --fastcgi --nproc=1"; - environment = { + environment = { FCGI_SOCKET_PATH = "/run/gitweb/gitweb.sock"; }; serviceConfig = { diff --git a/nixos/modules/services/web-servers/nginx/tailscale-auth.nix b/nixos/modules/services/web-servers/nginx/tailscale-auth.nix index de1d708cbb423..7529e6258fd25 100644 --- a/nixos/modules/services/web-servers/nginx/tailscale-auth.nix +++ b/nixos/modules/services/web-servers/nginx/tailscale-auth.nix @@ -15,10 +15,22 @@ let in { imports = [ - (mkAliasOptionModule [ "services" "nginx" "tailscaleAuth" "package" ] [ "services" "tailscaleAuth" "package" ]) - (mkAliasOptionModule [ "services" "nginx" "tailscaleAuth" "user" ] [ "services" "tailscaleAuth" "user" ]) - (mkAliasOptionModule [ "services" "nginx" "tailscaleAuth" "group" ] [ "services" "tailscaleAuth" "group" ]) - (mkAliasOptionModule [ "services" "nginx" "tailscaleAuth" "socketPath" ] [ "services" "tailscaleAuth" "socketPath" ]) + (mkAliasOptionModule + [ "services" "nginx" "tailscaleAuth" "package" ] + [ "services" "tailscaleAuth" "package" ] + ) + (mkAliasOptionModule + [ "services" "nginx" "tailscaleAuth" "user" ] + [ "services" "tailscaleAuth" "user" ] + ) + (mkAliasOptionModule + [ "services" "nginx" "tailscaleAuth" "group" ] + [ "services" "tailscaleAuth" "group" ] + ) + (mkAliasOptionModule + [ "services" "nginx" "tailscaleAuth" "socketPath" ] + [ "services" "tailscaleAuth" "socketPath" ] + ) ]; options.services.nginx.tailscaleAuth = { @@ -36,7 +48,7 @@ in virtualHosts = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = '' A list of nginx virtual hosts to put behind tailscale.nginx-auth ''; @@ -54,43 +66,43 @@ in wants = [ "nginx.service" ]; }; - services.nginx.virtualHosts = genAttrs - cfg.virtualHosts - (vhost: { - locations."/auth" = { - extraConfig = '' - internal; + services.nginx.virtualHosts = genAttrs cfg.virtualHosts (vhost: { + locations."/auth" = { + extraConfig = '' + internal; - proxy_pass http://unix:${cfgAuth.socketPath}; - proxy_pass_request_body off; + proxy_pass http://unix:${cfgAuth.socketPath}; + proxy_pass_request_body off; - # Upstream uses $http_host here, but we are using gixy to check nginx configurations - # gixy wants us to use $host: https://github.com/yandex/gixy/blob/master/docs/en/plugins/hostspoofing.md - proxy_set_header Host $host; - proxy_set_header Remote-Addr $remote_addr; - proxy_set_header Remote-Port $remote_port; - proxy_set_header Original-URI $request_uri; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; - ''; - }; - locations."/".extraConfig = '' - auth_request /auth; - auth_request_set $auth_user $upstream_http_tailscale_user; - auth_request_set $auth_name $upstream_http_tailscale_name; - auth_request_set $auth_login $upstream_http_tailscale_login; - auth_request_set $auth_tailnet $upstream_http_tailscale_tailnet; - auth_request_set $auth_profile_picture $upstream_http_tailscale_profile_picture; + # Upstream uses $http_host here, but we are using gixy to check nginx configurations + # gixy wants us to use $host: https://github.com/yandex/gixy/blob/master/docs/en/plugins/hostspoofing.md + proxy_set_header Host $host; + proxy_set_header Remote-Addr $remote_addr; + proxy_set_header Remote-Port $remote_port; + proxy_set_header Original-URI $request_uri; + proxy_set_header X-Scheme $scheme; + proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; + ''; + }; + locations."/".extraConfig = '' + auth_request /auth; + auth_request_set $auth_user $upstream_http_tailscale_user; + auth_request_set $auth_name $upstream_http_tailscale_name; + auth_request_set $auth_login $upstream_http_tailscale_login; + auth_request_set $auth_tailnet $upstream_http_tailscale_tailnet; + auth_request_set $auth_profile_picture $upstream_http_tailscale_profile_picture; - proxy_set_header X-Webauth-User "$auth_user"; - proxy_set_header X-Webauth-Name "$auth_name"; - proxy_set_header X-Webauth-Login "$auth_login"; - proxy_set_header X-Webauth-Tailnet "$auth_tailnet"; - proxy_set_header X-Webauth-Profile-Picture "$auth_profile_picture"; + proxy_set_header X-Webauth-User "$auth_user"; + proxy_set_header X-Webauth-Name "$auth_name"; + proxy_set_header X-Webauth-Login "$auth_login"; + proxy_set_header X-Webauth-Tailnet "$auth_tailnet"; + proxy_set_header X-Webauth-Profile-Picture "$auth_profile_picture"; - ${lib.optionalString (cfg.expectedTailnet != "") ''proxy_set_header Expected-Tailnet "${cfg.expectedTailnet}";''} - ''; - }); + ${lib.optionalString ( + cfg.expectedTailnet != "" + ) ''proxy_set_header Expected-Tailnet "${cfg.expectedTailnet}";''} + ''; + }); }; meta.maintainers = with maintainers; [ phaer ]; diff --git a/nixos/modules/services/web-servers/rustus.nix b/nixos/modules/services/web-servers/rustus.nix index b356133df085d..9ca87bb16bf3b 100644 --- a/nixos/modules/services/web-servers/rustus.nix +++ b/nixos/modules/services/web-servers/rustus.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: with lib; let cfg = config.services.rustus; @@ -29,7 +34,11 @@ in }; log_level = mkOption { - type = types.enum [ "DEBUG" "INFO" "ERROR" ]; + type = types.enum [ + "DEBUG" + "INFO" + "ERROR" + ]; description = '' Desired log level ''; @@ -67,20 +76,25 @@ in description = '' list of origins allowed to upload ''; - default = ["*"]; - example = ["*.staging.domain" "*.prod.domain"]; + default = [ "*" ]; + example = [ + "*.staging.domain" + "*.prod.domain" + ]; }; tus_extensions = mkOption { - type = types.listOf (types.enum [ - "getting" - "creation" - "termination" - "creation-with-upload" - "creation-defer-length" - "concatenation" - "checksum" - ]); + type = types.listOf ( + types.enum [ + "getting" + "creation" + "termination" + "creation-with-upload" + "creation-defer-length" + "concatenation" + "checksum" + ] + ); description = '' Since TUS protocol offers extensibility you can turn off some protocol extensions. ''; @@ -108,7 +122,7 @@ in description = '' Storages are used to actually store your files. You can configure where you want to store files. ''; - default = {}; + default = { }; example = lib.literalExpression '' { type = "hybrid-s3" @@ -121,7 +135,10 @@ in type = lib.types.submodule { options = { type = lib.mkOption { - type = lib.types.enum ["file-storage" "hybrid-s3"]; + type = lib.types.enum [ + "file-storage" + "hybrid-s3" + ]; description = "Type of storage to use"; }; s3_access_key_file = lib.mkOption { @@ -169,11 +186,11 @@ in description = '' Info storages are used to store information about file uploads. These storages must be persistent, because every time chunk is uploaded rustus updates information about upload. And when someone wants to download file, information about it requested from storage to get actual path of an upload. ''; - default = {}; + default = { }; type = lib.types.submodule { options = { type = lib.mkOption { - type = lib.types.enum ["file-info-storage"]; + type = lib.types.enum [ "file-info-storage" ]; description = "Type of info storage to use"; default = "file-info-storage"; }; @@ -193,64 +210,64 @@ in let isHybridS3 = cfg.storage.type == "hybrid-s3"; in - { - description = "Rustus server"; - documentation = [ "https://s3rius.github.io/rustus/" ]; + { + description = "Rustus server"; + documentation = [ "https://s3rius.github.io/rustus/" ]; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; - environment = { - RUSTUS_SERVER_HOST = cfg.host; - RUSTUS_SERVER_PORT = toString cfg.port; - RUSTUS_LOG_LEVEL = cfg.log_level; - RUSTUS_MAX_BODY_SIZE = cfg.max_body_size; - RUSTUS_URL = cfg.url; - RUSTUS_DISABLE_HEALTH_ACCESS_LOG = lib.mkIf cfg.disable_health_access_logs "true"; - RUSTUS_CORS = lib.concatStringsSep "," cfg.cors; - RUSTUS_TUS_EXTENSIONS = lib.concatStringsSep "," cfg.tus_extensions; - RUSTUS_REMOVE_PARTS= if cfg.remove_parts then "true" else "false"; - RUSTUS_STORAGE = cfg.storage.type; - RUSTUS_DATA_DIR = cfg.storage.data_dir; - RUSTUS_DIR_STRUCTURE = cfg.storage.dir_structure; - RUSTUS_FORCE_FSYNC = if cfg.storage.force_sync then "true" else "false"; - RUSTUS_S3_URL = mkIf isHybridS3 cfg.storage.s3_url; - RUSTUS_S3_BUCKET = mkIf isHybridS3 cfg.storage.s3_bucket; - RUSTUS_S3_REGION = mkIf isHybridS3 cfg.storage.s3_region; - RUSTUS_S3_ACCESS_KEY_PATH = mkIf isHybridS3 "%d/S3_ACCESS_KEY_PATH"; - RUSTUS_S3_SECRET_KEY_PATH = mkIf isHybridS3 "%d/S3_SECRET_KEY_PATH"; - RUSTUS_INFO_STORAGE = cfg.info_storage.type; - RUSTUS_INFO_DIR = cfg.info_storage.dir; - }; + environment = { + RUSTUS_SERVER_HOST = cfg.host; + RUSTUS_SERVER_PORT = toString cfg.port; + RUSTUS_LOG_LEVEL = cfg.log_level; + RUSTUS_MAX_BODY_SIZE = cfg.max_body_size; + RUSTUS_URL = cfg.url; + RUSTUS_DISABLE_HEALTH_ACCESS_LOG = lib.mkIf cfg.disable_health_access_logs "true"; + RUSTUS_CORS = lib.concatStringsSep "," cfg.cors; + RUSTUS_TUS_EXTENSIONS = lib.concatStringsSep "," cfg.tus_extensions; + RUSTUS_REMOVE_PARTS = if cfg.remove_parts then "true" else "false"; + RUSTUS_STORAGE = cfg.storage.type; + RUSTUS_DATA_DIR = cfg.storage.data_dir; + RUSTUS_DIR_STRUCTURE = cfg.storage.dir_structure; + RUSTUS_FORCE_FSYNC = if cfg.storage.force_sync then "true" else "false"; + RUSTUS_S3_URL = mkIf isHybridS3 cfg.storage.s3_url; + RUSTUS_S3_BUCKET = mkIf isHybridS3 cfg.storage.s3_bucket; + RUSTUS_S3_REGION = mkIf isHybridS3 cfg.storage.s3_region; + RUSTUS_S3_ACCESS_KEY_PATH = mkIf isHybridS3 "%d/S3_ACCESS_KEY_PATH"; + RUSTUS_S3_SECRET_KEY_PATH = mkIf isHybridS3 "%d/S3_SECRET_KEY_PATH"; + RUSTUS_INFO_STORAGE = cfg.info_storage.type; + RUSTUS_INFO_DIR = cfg.info_storage.dir; + }; - serviceConfig = { - ExecStart = "${pkgs.rustus}/bin/rustus"; - StateDirectory = "rustus"; - # User name is defined here to enable restoring a backup for example - # You will run the backup restore command as sudo -u rustus in order - # to have write permissions to /var/lib - User = "rustus"; - DynamicUser = true; - LoadCredential = lib.optionals isHybridS3 [ - "S3_ACCESS_KEY_PATH:${cfg.storage.s3_access_key_file}" - "S3_SECRET_KEY_PATH:${cfg.storage.s3_secret_key_file}" - ]; - # hardening - RestrictRealtime=true; - RestrictNamespaces=true; - LockPersonality=true; - ProtectKernelModules=true; - ProtectKernelTunables=true; - ProtectKernelLogs=true; - ProtectControlGroups=true; - ProtectHostUserNamespaces=true; - ProtectClock=true; - RestrictSUIDSGID=true; - SystemCallArchitectures="native"; - CapabilityBoundingSet=""; - ProtectProc = "invisible"; - # TODO consider SystemCallFilter LimitAS ProcSubset + serviceConfig = { + ExecStart = "${pkgs.rustus}/bin/rustus"; + StateDirectory = "rustus"; + # User name is defined here to enable restoring a backup for example + # You will run the backup restore command as sudo -u rustus in order + # to have write permissions to /var/lib + User = "rustus"; + DynamicUser = true; + LoadCredential = lib.optionals isHybridS3 [ + "S3_ACCESS_KEY_PATH:${cfg.storage.s3_access_key_file}" + "S3_SECRET_KEY_PATH:${cfg.storage.s3_secret_key_file}" + ]; + # hardening + RestrictRealtime = true; + RestrictNamespaces = true; + LockPersonality = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + ProtectHostUserNamespaces = true; + ProtectClock = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + CapabilityBoundingSet = ""; + ProtectProc = "invisible"; + # TODO consider SystemCallFilter LimitAS ProcSubset + }; }; - }; }; } diff --git a/nixos/modules/services/web-servers/stargazer.nix b/nixos/modules/services/web-servers/stargazer.nix index 249fd30bf6001..32feaf0337e7e 100644 --- a/nixos/modules/services/web-servers/stargazer.nix +++ b/nixos/modules/services/web-servers/stargazer.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.stargazer; @@ -19,18 +24,22 @@ let ''; genINI = lib.generators.toINI { }; - configFile = pkgs.writeText "config.ini" (lib.strings.concatStrings ( - [ globalSection ] ++ (lib.lists.forEach cfg.routes (section: - let - name = section.route; - params = builtins.removeAttrs section [ "route" ]; - in - genINI - { + configFile = pkgs.writeText "config.ini" ( + lib.strings.concatStrings ( + [ globalSection ] + ++ (lib.lists.forEach cfg.routes ( + section: + let + name = section.route; + params = builtins.removeAttrs section [ "route" ]; + in + genINI { "${name}" = params; - } + "\n" - )) - )); + } + + "\n" + )) + ) + ); in { options.services.stargazer = { @@ -151,22 +160,27 @@ in }; routes = lib.mkOption { - type = lib.types.listOf - (lib.types.submodule { - freeformType = with lib.types; attrsOf (nullOr - (oneOf [ - bool - int - float - str - ]) // { - description = "INI atom (null, bool, int, float or string)"; - }); + type = lib.types.listOf ( + lib.types.submodule { + freeformType = + with lib.types; + attrsOf ( + nullOr (oneOf [ + bool + int + float + str + ]) + // { + description = "INI atom (null, bool, int, float or string)"; + } + ); options.route = lib.mkOption { type = lib.types.str; description = "Route section name"; }; - }); + } + ); default = [ ]; description = '' Routes that Stargazer should server. @@ -246,23 +260,26 @@ in LockPersonality = true; RestrictRealtime = true; RemoveIPC = true; - CapabilityBoundingSet = [ - "~CAP_SYS_PTRACE" - "~CAP_SYS_ADMIN" - "~CAP_SETPCAP" - "~CAP_SYS_TIME" - "~CAP_SYS_PACCT" - "~CAP_SYS_TTY_CONFIG " - "~CAP_SYS_CHROOT" - "~CAP_SYS_BOOT" - "~CAP_NET_ADMIN" - ] ++ lib.lists.optional (!cfg.allowCgiUser) [ - "~CAP_SETGID" - "~CAP_SETUID" - ]; + CapabilityBoundingSet = + [ + "~CAP_SYS_PTRACE" + "~CAP_SYS_ADMIN" + "~CAP_SETPCAP" + "~CAP_SYS_TIME" + "~CAP_SYS_PACCT" + "~CAP_SYS_TTY_CONFIG " + "~CAP_SYS_CHROOT" + "~CAP_SYS_BOOT" + "~CAP_NET_ADMIN" + ] + ++ lib.lists.optional (!cfg.allowCgiUser) [ + "~CAP_SETGID" + "~CAP_SETUID" + ]; SystemCallArchitectures = "native"; - SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete" ] - ++ lib.lists.optional (!cfg.allowCgiUser) [ "@privileged @setuid" ]; + SystemCallFilter = [ + "~@cpu-emulation @debug @keyring @mount @obsolete" + ] ++ lib.lists.optional (!cfg.allowCgiUser) [ "@privileged @setuid" ]; }; }; diff --git a/nixos/modules/services/web-servers/static-web-server.nix b/nixos/modules/services/web-servers/static-web-server.nix index 9a80f141efcf0..0db154167941d 100644 --- a/nixos/modules/services/web-servers/static-web-server.nix +++ b/nixos/modules/services/web-servers/static-web-server.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.static-web-server; - toml = pkgs.formats.toml {}; + toml = pkgs.formats.toml { }; configFilePath = toml.generate "config.toml" cfg.configuration; -in { +in +{ options = { services.static-web-server = { enable = lib.mkEnableOption ''Static Web Server''; @@ -28,7 +34,10 @@ in { default = { }; type = toml.type; example = { - general = { log-level = "error"; directory-listing = true; }; + general = { + log-level = "error"; + directory-listing = true; + }; }; description = '' Configuration for Static Web Server. See @@ -47,14 +56,20 @@ in { systemd.sockets.static-web-server = { wantedBy = [ "sockets.target" ]; # Start with empty string to reset upstream option - listenStreams = [ "" cfg.listen ]; + listenStreams = [ + "" + cfg.listen + ]; }; systemd.services.static-web-server = { wantedBy = [ "multi-user.target" ]; serviceConfig = { # Remove upstream sample environment file; use config.toml exclusively EnvironmentFile = [ "" ]; - ExecStart = [ "" "${pkgs.static-web-server}/bin/static-web-server --fd 0 --config-file ${configFilePath} --root ${cfg.root}" ]; + ExecStart = [ + "" + "${pkgs.static-web-server}/bin/static-web-server --fd 0 --config-file ${configFilePath} --root ${cfg.root}" + ]; # Supplementary groups doesn't work unless we create the group ourselves SupplementaryGroups = [ "" ]; # If the user is serving files from their home dir, override ProtectHome to allow that diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index 1c5a9af5c9245..2fffc7cd47db5 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -8,7 +13,10 @@ in { meta = { - maintainers = with lib.maintainers; [ danbst anthonyroussel ]; + maintainers = with lib.maintainers; [ + danbst + anthonyroussel + ]; }; ###### interface @@ -130,27 +138,29 @@ in }; virtualHosts = lib.mkOption { - type = lib.types.listOf (lib.types.submodule { - options = { - name = lib.mkOption { - type = lib.types.str; - description = "name of the virtualhost"; - }; - aliases = lib.mkOption { - type = lib.types.listOf lib.types.str; - description = "aliases of the virtualhost"; - default = [ ]; - }; - webapps = lib.mkOption { - type = lib.types.listOf lib.types.path; - description = '' - List containing web application WAR files and/or directories containing - web applications and configuration files for the virtual host. - ''; - default = [ ]; + type = lib.types.listOf ( + lib.types.submodule { + options = { + name = lib.mkOption { + type = lib.types.str; + description = "name of the virtualhost"; + }; + aliases = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = "aliases of the virtualhost"; + default = [ ]; + }; + webapps = lib.mkOption { + type = lib.types.listOf lib.types.path; + description = '' + List containing web application WAR files and/or directories containing + web applications and configuration files for the virtual host. + ''; + default = [ ]; + }; }; - }; - }); + } + ); default = [ ]; description = "List consisting of a virtual host name and a list of web applications to deploy on each virtual host"; }; @@ -181,14 +191,13 @@ in users.groups.tomcat.gid = config.ids.gids.tomcat; - users.users.tomcat = - { - uid = config.ids.uids.tomcat; - description = "Tomcat user"; - home = "/homeless-shelter"; - group = "tomcat"; - extraGroups = cfg.extraGroups; - }; + users.users.tomcat = { + uid = config.ids.uids.tomcat; + description = "Tomcat user"; + home = "/homeless-shelter"; + group = "tomcat"; + extraGroups = cfg.extraGroups; + }; systemd.services.tomcat = { description = "Apache Tomcat server"; @@ -219,7 +228,7 @@ in ln -sfn ${tomcat}/conf/$i ${cfg.baseDir}/conf/`basename $i` done - ${lib.optionalString (cfg.extraConfigFiles != []) '' + ${lib.optionalString (cfg.extraConfigFiles != [ ]) '' for i in ${toString cfg.extraConfigFiles}; do ln -sfn $i ${cfg.baseDir}/conf/`basename $i` done @@ -231,46 +240,59 @@ in -e 's|shared.loader=|shared.loader=''${catalina.base}/shared/lib/*.jar|' \ ${tomcat}/conf/catalina.properties > ${cfg.baseDir}/conf/catalina.properties - ${if cfg.serverXml != "" then '' - cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/ - '' else - let - hostElementForVirtualHost = virtualHost: '' - - '' + lib.concatStrings (innerElementsForVirtualHost virtualHost) + '' - - ''; - innerElementsForVirtualHost = virtualHost: - (map (alias: '' - ${alias} - '') virtualHost.aliases) - ++ (lib.optional cfg.logPerVirtualHost '' - - ''); - hostElementsString = lib.concatMapStringsSep "\n" hostElementForVirtualHost cfg.virtualHosts; - hostElementsSedString = lib.replaceStrings ["\n"] ["\\\n"] hostElementsString; - in '' - # Create a modified server.xml which listens on the given port, - # and also includes all virtual hosts. - # The host modification must be last here, - # else if hostElementsSedString is empty sed gets confused as to what to append - sed -e 's//a\\"${lib.escapeShellArg hostElementsSedString} \ - ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml - '' + ${ + if cfg.serverXml != "" then + '' + cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/ + '' + else + let + hostElementForVirtualHost = + virtualHost: + '' + + '' + + lib.concatStrings (innerElementsForVirtualHost virtualHost) + + '' + + ''; + innerElementsForVirtualHost = + virtualHost: + (map (alias: '' + ${alias} + '') virtualHost.aliases) + ++ (lib.optional cfg.logPerVirtualHost '' + + ''); + hostElementsString = lib.concatMapStringsSep "\n" hostElementForVirtualHost cfg.virtualHosts; + hostElementsSedString = lib.replaceStrings [ "\n" ] [ "\\\n" ] hostElementsString; + in + '' + # Create a modified server.xml which listens on the given port, + # and also includes all virtual hosts. + # The host modification must be last here, + # else if hostElementsSedString is empty sed gets confused as to what to append + sed -e 's//a\\"${lib.escapeShellArg hostElementsSedString} \ + ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml + '' } - ${lib.optionalString (cfg.logDirs != []) '' + ${lib.optionalString (cfg.logDirs != [ ]) '' for i in ${toString cfg.logDirs}; do mkdir -p ${cfg.baseDir}/logs/$i chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs/$i done ''} - ${lib.optionalString cfg.logPerVirtualHost (toString (map (h: '' - mkdir -p ${cfg.baseDir}/logs/${h.name} - chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs/${h.name} - '') cfg.virtualHosts))} + ${lib.optionalString cfg.logPerVirtualHost ( + toString ( + map (h: '' + mkdir -p ${cfg.baseDir}/logs/${h.name} + chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/logs/${h.name} + '') cfg.virtualHosts + ) + )} # Symlink all the given common libs files or paths into the lib/ directory for i in ${tomcat} ${toString cfg.commonLibs}; do @@ -325,37 +347,39 @@ in fi done - ${toString (map (virtualHost: '' - # Create webapps directory for the virtual host - mkdir -p ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps - - # Modify ownership - chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps - - # Symlink all the given web applications files or paths into the webapps/ directory - # of this virtual host - for i in "${lib.optionalString (virtualHost ? webapps) (toString virtualHost.webapps)}"; do - if [ -f $i ]; then - # If the given web application is a file, symlink it into the webapps/ directory - ln -sfn $i ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $i` - elif [ -d $i ]; then - # If the given web application is a directory, then iterate over the files - # in the special purpose directories and symlink them into the tomcat tree - - for j in $i/webapps/*; do - ln -sfn $j ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $j` - done - - # Also symlink the configuration files if they are included - if [ -d $i/conf/Catalina ]; then - for j in $i/conf/Catalina/*; do - mkdir -p ${cfg.baseDir}/conf/Catalina/${virtualHost.name} - ln -sfn $j ${cfg.baseDir}/conf/Catalina/${virtualHost.name}/`basename $j` + ${toString ( + map (virtualHost: '' + # Create webapps directory for the virtual host + mkdir -p ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps + + # Modify ownership + chown ${cfg.user}:${cfg.group} ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps + + # Symlink all the given web applications files or paths into the webapps/ directory + # of this virtual host + for i in "${lib.optionalString (virtualHost ? webapps) (toString virtualHost.webapps)}"; do + if [ -f $i ]; then + # If the given web application is a file, symlink it into the webapps/ directory + ln -sfn $i ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $i` + elif [ -d $i ]; then + # If the given web application is a directory, then iterate over the files + # in the special purpose directories and symlink them into the tomcat tree + + for j in $i/webapps/*; do + ln -sfn $j ${cfg.baseDir}/virtualhosts/${virtualHost.name}/webapps/`basename $j` done + + # Also symlink the configuration files if they are included + if [ -d $i/conf/Catalina ]; then + for j in $i/conf/Catalina/*; do + mkdir -p ${cfg.baseDir}/conf/Catalina/${virtualHost.name} + ln -sfn $j ${cfg.baseDir}/conf/Catalina/${virtualHost.name}/`basename $j` + done + fi fi - fi - done - '') cfg.virtualHosts)} + done + '') cfg.virtualHosts + )} ${lib.optionalString cfg.axis2.enable '' # Copy the Axis2 web application diff --git a/nixos/modules/services/web-servers/trafficserver/default.nix b/nixos/modules/services/web-servers/trafficserver/default.nix index 1cae7c7e13df2..f6a98b1ebe2f0 100644 --- a/nixos/modules/services/web-servers/trafficserver/default.nix +++ b/nixos/modules/services/web-servers/trafficserver/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,18 +12,24 @@ let user = config.users.users.trafficserver.name; group = config.users.groups.trafficserver.name; - getManualUrl = name: "https://docs.trafficserver.apache.org/en/latest/admin-guide/files/${name}.en.html"; + getManualUrl = + name: "https://docs.trafficserver.apache.org/en/latest/admin-guide/files/${name}.en.html"; yaml = pkgs.formats.yaml { }; - mkYamlConf = name: cfg: - if cfg != null then { - "trafficserver/${name}.yaml".source = yaml.generate "${name}.yaml" cfg; - } else { - "trafficserver/${name}.yaml".text = ""; - }; + mkYamlConf = + name: cfg: + if cfg != null then + { + "trafficserver/${name}.yaml".source = yaml.generate "${name}.yaml" cfg; + } + else + { + "trafficserver/${name}.yaml".text = ""; + }; - mkRecordLines = path: value: + mkRecordLines = + path: value: if isAttrs value then lib.mapAttrsToList (n: v: mkRecordLines (path ++ [ n ]) v) value else if isInt value then @@ -120,7 +131,8 @@ in documentation](${getManualUrl "plugin.config"}) for more details. ''; - type = with types; + type = + with types; listOf (submodule { options.path = mkOption { type = str; @@ -140,14 +152,25 @@ in }; records = mkOption { - type = with types; - let valueType = (attrsOf (oneOf [ int float str valueType ])) // { - description = "Traffic Server records value"; - }; + type = + with types; + let + valueType = + (attrsOf (oneOf [ + int + float + str + valueType + ])) + // { + description = "Traffic Server records value"; + }; in valueType; default = { }; - example = { proxy.config.proxy_name = "my_server"; }; + example = { + proxy.config.proxy_name = "my_server"; + }; description = '' List of configurable variables used by Traffic Server. @@ -255,21 +278,23 @@ in }; config = mkIf cfg.enable { - environment.etc = { - "trafficserver/cache.config".text = cfg.cache; - "trafficserver/hosting.config".text = cfg.hosting; - "trafficserver/parent.config".text = cfg.parent; - "trafficserver/plugin.config".text = mkPluginConfig cfg.plugins; - "trafficserver/records.config".text = mkRecordsConfig cfg.records; - "trafficserver/remap.config".text = cfg.remap; - "trafficserver/splitdns.config".text = cfg.splitDns; - "trafficserver/ssl_multicert.config".text = cfg.sslMulticert; - "trafficserver/storage.config".text = cfg.storage; - "trafficserver/volume.config".text = cfg.volume; - } // (mkYamlConf "ip_allow" cfg.ipAllow) - // (mkYamlConf "logging" cfg.logging) - // (mkYamlConf "sni" cfg.sni) - // (mkYamlConf "strategies" cfg.strategies); + environment.etc = + { + "trafficserver/cache.config".text = cfg.cache; + "trafficserver/hosting.config".text = cfg.hosting; + "trafficserver/parent.config".text = cfg.parent; + "trafficserver/plugin.config".text = mkPluginConfig cfg.plugins; + "trafficserver/records.config".text = mkRecordsConfig cfg.records; + "trafficserver/remap.config".text = cfg.remap; + "trafficserver/splitdns.config".text = cfg.splitDns; + "trafficserver/ssl_multicert.config".text = cfg.sslMulticert; + "trafficserver/storage.config".text = cfg.storage; + "trafficserver/volume.config".text = cfg.volume; + } + // (mkYamlConf "ip_allow" cfg.ipAllow) + // (mkYamlConf "logging" cfg.logging) + // (mkYamlConf "sni" cfg.sni) + // (mkYamlConf "strategies" cfg.strategies); environment.systemPackages = [ pkgs.trafficserver ]; systemd.packages = [ pkgs.trafficserver ]; diff --git a/nixos/modules/services/web-servers/ttyd.nix b/nixos/modules/services/web-servers/ttyd.nix index e3cf92e179138..f95cc62b8b67e 100644 --- a/nixos/modules/services/web-servers/ttyd.nix +++ b/nixos/modules/services/web-servers/ttyd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -11,22 +16,59 @@ let ; # Command line arguments for the ttyd daemon - args = [ "--port" (toString cfg.port) ] - ++ optionals (cfg.socket != null) [ "--interface" cfg.socket ] - ++ optionals (cfg.interface != null) [ "--interface" cfg.interface ] - ++ [ "--signal" (toString cfg.signal) ] - ++ (lib.concatLists (lib.mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions)) - ++ [ "--terminal-type" cfg.terminalType ] - ++ optionals cfg.checkOrigin [ "--check-origin" ] - ++ optionals cfg.writeable [ "--writable" ] # the typo is correct - ++ [ "--max-clients" (toString cfg.maxClients) ] - ++ optionals (cfg.indexFile != null) [ "--index" cfg.indexFile ] - ++ optionals cfg.enableIPv6 [ "--ipv6" ] - ++ optionals cfg.enableSSL [ "--ssl" - "--ssl-cert" cfg.certFile - "--ssl-key" cfg.keyFile ] - ++ optionals ( cfg.enableSSL && cfg.caFile != null ) [ "--ssl-ca" cfg.caFile ] - ++ [ "--debug" (toString cfg.logLevel) ]; + args = + [ + "--port" + (toString cfg.port) + ] + ++ optionals (cfg.socket != null) [ + "--interface" + cfg.socket + ] + ++ optionals (cfg.interface != null) [ + "--interface" + cfg.interface + ] + ++ [ + "--signal" + (toString cfg.signal) + ] + ++ (lib.concatLists ( + lib.mapAttrsToList (_k: _v: [ + "--client-option" + "${_k}=${_v}" + ]) cfg.clientOptions + )) + ++ [ + "--terminal-type" + cfg.terminalType + ] + ++ optionals cfg.checkOrigin [ "--check-origin" ] + ++ optionals cfg.writeable [ "--writable" ] # the typo is correct + ++ [ + "--max-clients" + (toString cfg.maxClients) + ] + ++ optionals (cfg.indexFile != null) [ + "--index" + cfg.indexFile + ] + ++ optionals cfg.enableIPv6 [ "--ipv6" ] + ++ optionals cfg.enableSSL [ + "--ssl" + "--ssl-cert" + cfg.certFile + "--ssl-key" + cfg.keyFile + ] + ++ optionals (cfg.enableSSL && cfg.caFile != null) [ + "--ssl-ca" + cfg.caFile + ] + ++ [ + "--debug" + (toString cfg.logLevel) + ]; in @@ -110,7 +152,7 @@ in clientOptions = mkOption { type = types.attrsOf types.str; - default = {}; + default = { }; example = lib.literalExpression '' { fontSize = "16"; @@ -194,17 +236,24 @@ in config = lib.mkIf cfg.enable { - assertions = - [ { assertion = cfg.enableSSL - -> cfg.certFile != null && cfg.keyFile != null; - message = "SSL is enabled for ttyd, but no certFile or keyFile has been specified."; } - { assertion = cfg.writeable != null; - message = "services.ttyd.writeable must be set"; } - { assertion = ! (cfg.interface != null && cfg.socket != null); - message = "Cannot set both interface and socket for ttyd."; } - { assertion = (cfg.username != null) == (cfg.passwordFile != null); - message = "Need to set both username and passwordFile for ttyd"; } - ]; + assertions = [ + { + assertion = cfg.enableSSL -> cfg.certFile != null && cfg.keyFile != null; + message = "SSL is enabled for ttyd, but no certFile or keyFile has been specified."; + } + { + assertion = cfg.writeable != null; + message = "services.ttyd.writeable must be set"; + } + { + assertion = !(cfg.interface != null && cfg.socket != null); + message = "Cannot set both interface and socket for ttyd."; + } + { + assertion = (cfg.username != null) == (cfg.passwordFile != null); + message = "Need to set both username and passwordFile for ttyd"; + } + ]; systemd.services.ttyd = { description = "ttyd Web Server Daemon"; @@ -213,19 +262,24 @@ in serviceConfig = { User = cfg.user; - LoadCredential = lib.optionalString (cfg.passwordFile != null) "TTYD_PASSWORD_FILE:${cfg.passwordFile}"; - }; - - script = if cfg.passwordFile != null then '' - PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/TTYD_PASSWORD_FILE") - ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \ - --credential ${lib.escapeShellArg cfg.username}:"$PASSWORD" \ - ${cfg.entrypoint} - '' - else '' - ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \ - ${cfg.entrypoint} - ''; + LoadCredential = lib.optionalString ( + cfg.passwordFile != null + ) "TTYD_PASSWORD_FILE:${cfg.passwordFile}"; + }; + + script = + if cfg.passwordFile != null then + '' + PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/TTYD_PASSWORD_FILE") + ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \ + --credential ${lib.escapeShellArg cfg.username}:"$PASSWORD" \ + ${cfg.entrypoint} + '' + else + '' + ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \ + ${cfg.entrypoint} + ''; }; }; } diff --git a/nixos/modules/services/web-servers/unit/default.nix b/nixos/modules/services/web-servers/unit/default.nix index 5e7b7be91a15b..53c820e2947e3 100644 --- a/nixos/modules/services/web-servers/unit/default.nix +++ b/nixos/modules/services/web-servers/unit/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,7 +12,8 @@ let configFile = pkgs.writeText "unit.json" cfg.config; -in { +in +{ options = { services.unit = { enable = mkEnableOption "Unit App Server"; @@ -109,7 +115,10 @@ in { RuntimeDirectory = "unit"; RuntimeDirectoryMode = "0750"; # Access write directories - ReadWritePaths = [ cfg.stateDir cfg.logDir ]; + ReadWritePaths = [ + cfg.stateDir + cfg.logDir + ]; # Security NoNewPrivileges = true; # Sandboxing @@ -124,7 +133,11 @@ in { ProtectKernelModules = true; ProtectKernelLogs = true; ProtectControlGroups = true; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + ]; LockPersonality = true; MemoryDenyWriteExecute = true; RestrictRealtime = true; diff --git a/nixos/modules/services/web-servers/uwsgi.nix b/nixos/modules/services/web-servers/uwsgi.nix index e4e3d346f256b..f35a2ba229772 100644 --- a/nixos/modules/services/web-servers/uwsgi.nix +++ b/nixos/modules/services/web-servers/uwsgi.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,67 +12,88 @@ let isEmperor = cfg.instance.type == "emperor"; - imperialPowers = - [ - # spawn other user processes - "CAP_SETUID" "CAP_SETGID" - "CAP_SYS_CHROOT" - # transfer capabilities - "CAP_SETPCAP" - # create other user sockets - "CAP_CHOWN" - ]; - - buildCfg = name: c: + imperialPowers = [ + # spawn other user processes + "CAP_SETUID" + "CAP_SETGID" + "CAP_SYS_CHROOT" + # transfer capabilities + "CAP_SETPCAP" + # create other user sockets + "CAP_CHOWN" + ]; + + buildCfg = + name: c: let plugins' = - if any (n: !any (m: m == n) cfg.plugins) (c.plugins or []) - then throw "`plugins` attribute in uWSGI configuration contains plugins not in config.services.uwsgi.plugins" - else c.plugins or cfg.plugins; + if any (n: !any (m: m == n) cfg.plugins) (c.plugins or [ ]) then + throw "`plugins` attribute in uWSGI configuration contains plugins not in config.services.uwsgi.plugins" + else + c.plugins or cfg.plugins; plugins = unique plugins'; - hasPython = v: filter (n: n == "python${v}") plugins != []; + hasPython = v: filter (n: n == "python${v}") plugins != [ ]; hasPython2 = hasPython "2"; hasPython3 = hasPython "3"; python = if hasPython2 && hasPython3 then throw "`plugins` attribute in uWSGI configuration shouldn't contain both python2 and python3" - else if hasPython2 then cfg.package.python2 - else if hasPython3 then cfg.package.python3 - else null; + else if hasPython2 then + cfg.package.python2 + else if hasPython3 then + cfg.package.python3 + else + null; - pythonEnv = python.withPackages (c.pythonPackages or (self: [])); + pythonEnv = python.withPackages (c.pythonPackages or (self: [ ])); uwsgiCfg = { uwsgi = - if c.type == "normal" - then { + if c.type == "normal" then + { inherit plugins; - } // removeAttrs c [ "type" "pythonPackages" ] - // optionalAttrs (python != null) { - pyhome = "${pythonEnv}"; - env = - # Argh, uwsgi expects list of key-values there instead of a dictionary. - let envs = partition (hasPrefix "PATH=") (c.env or []); - oldPaths = map (x: substring (stringLength "PATH=") (stringLength x) x) envs.right; - paths = oldPaths ++ [ "${pythonEnv}/bin" ]; - in [ "PATH=${concatStringsSep ":" paths}" ] ++ envs.wrong; - } - else if isEmperor - then { - emperor = if builtins.typeOf c.vassals != "set" then c.vassals - else pkgs.buildEnv { - name = "vassals"; - paths = mapAttrsToList buildCfg c.vassals; - }; - } // removeAttrs c [ "type" "vassals" ] - else throw "`type` attribute in uWSGI configuration should be either 'normal' or 'emperor'"; + } + // removeAttrs c [ + "type" + "pythonPackages" + ] + // optionalAttrs (python != null) { + pyhome = "${pythonEnv}"; + env = + # Argh, uwsgi expects list of key-values there instead of a dictionary. + let + envs = partition (hasPrefix "PATH=") (c.env or [ ]); + oldPaths = map (x: substring (stringLength "PATH=") (stringLength x) x) envs.right; + paths = oldPaths ++ [ "${pythonEnv}/bin" ]; + in + [ "PATH=${concatStringsSep ":" paths}" ] ++ envs.wrong; + } + else if isEmperor then + { + emperor = + if builtins.typeOf c.vassals != "set" then + c.vassals + else + pkgs.buildEnv { + name = "vassals"; + paths = mapAttrsToList buildCfg c.vassals; + }; + } + // removeAttrs c [ + "type" + "vassals" + ] + else + throw "`type` attribute in uWSGI configuration should be either 'normal' or 'emperor'"; }; - in pkgs.writeTextDir "${name}.json" (builtins.toJSON uwsgiCfg); + in + pkgs.writeTextDir "${name}.json" (builtins.toJSON uwsgiCfg); -in { +in +{ options = { services.uwsgi = { @@ -90,25 +116,30 @@ in { }; instance = mkOption { - type = with types; let - valueType = nullOr (oneOf [ - bool - int - float - str - (lazyAttrsOf valueType) - (listOf valueType) - (mkOptionType { - name = "function"; - description = "function"; - check = x: isFunction x; - merge = mergeOneOption; - }) - ]) // { - description = "Json value or lambda"; - emptyValue.value = {}; - }; - in valueType; + type = + with types; + let + valueType = + nullOr (oneOf [ + bool + int + float + str + (lazyAttrsOf valueType) + (listOf valueType) + (mkOptionType { + name = "function"; + description = "function"; + check = x: isFunction x; + merge = mergeOneOption; + }) + ]) + // { + description = "Json value or lambda"; + emptyValue.value = { }; + }; + in + valueType; default = { type = "normal"; }; @@ -141,7 +172,7 @@ in { plugins = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; description = "Plugins used with uWSGI"; }; diff --git a/nixos/modules/services/web-servers/varnish/default.nix b/nixos/modules/services/web-servers/varnish/default.nix index 5ba54f5a38656..d2b035b7cc5f7 100644 --- a/nixos/modules/services/web-servers/varnish/default.nix +++ b/nixos/modules/services/web-servers/varnish/default.nix @@ -1,19 +1,31 @@ -{ config, lib, pkgs, ...}: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.varnish; - commandLine = "-f ${pkgs.writeText "default.vcl" cfg.config}" + - optionalString (cfg.extraModules != []) " -p vmod_path='${makeSearchPathOutput "lib" "lib/varnish/vmods" ([cfg.package] ++ cfg.extraModules)}' -r vmod_path"; + commandLine = + "-f ${pkgs.writeText "default.vcl" cfg.config}" + + + optionalString (cfg.extraModules != [ ]) + " -p vmod_path='${ + makeSearchPathOutput "lib" "lib/varnish/vmods" ([ cfg.package ] ++ cfg.extraModules) + }' -r vmod_path"; in { options = { services.varnish = { enable = mkEnableOption "Varnish Server"; - enableConfigCheck = mkEnableOption "checking the config during build time" // { default = true; }; + enableConfigCheck = mkEnableOption "checking the config during build time" // { + default = true; + }; package = mkPackageOption pkgs "varnish" { }; @@ -43,7 +55,7 @@ in extraModules = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.varnishPackages.geoip ]"; description = '' Varnish modules (except 'std'). @@ -83,7 +95,9 @@ in RestartSec = "5s"; User = "varnish"; Group = "varnish"; - RuntimeDirectory = mkIf (lib.hasPrefix "/run/" cfg.stateDir) (lib.removePrefix "/run/" cfg.stateDir); + RuntimeDirectory = mkIf (lib.hasPrefix "/run/" cfg.stateDir) ( + lib.removePrefix "/run/" cfg.stateDir + ); AmbientCapabilities = "cap_net_bind_service"; NoNewPrivileges = true; LimitNOFILE = 131072; @@ -94,7 +108,7 @@ in # check .vcl syntax at compile time (e.g. before nixops deployment) system.checks = mkIf cfg.enableConfigCheck [ - (pkgs.runCommand "check-varnish-syntax" {} '' + (pkgs.runCommand "check-varnish-syntax" { } '' ${cfg.package}/bin/varnishd -C ${commandLine} 2> $out || (cat $out; exit 1) '') ]; diff --git a/nixos/modules/services/x11/clight.nix b/nixos/modules/services/x11/clight.nix index 40a0f3e065d09..03bcbf84f8535 100644 --- a/nixos/modules/services/x11/clight.nix +++ b/nixos/modules/services/x11/clight.nix @@ -1,32 +1,45 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.services.clight; - toConf = v: - if builtins.isFloat v then toString v - else if isInt v then toString v - else if isBool v then boolToString v - else if isString v then ''"${escape [''"''] v}"'' - else if isList v then "[ " + concatMapStringsSep ", " toConf v + " ]" - else if isAttrs v then "\n{\n" + convertAttrs v + "\n}" - else abort "clight.toConf: unexpected type (v = ${v})"; - - getSep = v: - if isAttrs v then ":" - else "="; - - convertAttrs = attrs: concatStringsSep "\n" (mapAttrsToList - (name: value: "${toString name} ${getSep value} ${toConf value};") - attrs); - - clightConf = pkgs.writeText "clight.conf" (convertAttrs - (filterAttrs - (_: value: value != null) - cfg.settings)); -in { + toConf = + v: + if builtins.isFloat v then + toString v + else if isInt v then + toString v + else if isBool v then + boolToString v + else if isString v then + ''"${escape [ ''"'' ] v}"'' + else if isList v then + "[ " + concatMapStringsSep ", " toConf v + " ]" + else if isAttrs v then + "\n{\n" + convertAttrs v + "\n}" + else + abort "clight.toConf: unexpected type (v = ${v})"; + + getSep = v: if isAttrs v then ":" else "="; + + convertAttrs = + attrs: + concatStringsSep "\n" ( + mapAttrsToList (name: value: "${toString name} ${getSep value} ${toConf value};") attrs + ); + + clightConf = pkgs.writeText "clight.conf" ( + convertAttrs (filterAttrs (_: value: value != null) cfg.settings) + ); +in +{ options.services.clight = { enable = mkEnableOption "clight"; @@ -49,41 +62,83 @@ in { }; }; - settings = let - validConfigTypes = with types; oneOf [ int str bool float ]; - collectionTypes = with types; oneOf [ validConfigTypes (listOf validConfigTypes) ]; - in mkOption { - type = with types; attrsOf (nullOr (either collectionTypes (attrsOf collectionTypes))); - default = {}; - example = { captures = 20; gamma_long_transition = true; ac_capture_timeouts = [ 120 300 60 ]; }; - description = '' - Additional configuration to extend clight.conf. See - for a - sample configuration file. - ''; - }; + settings = + let + validConfigTypes = + with types; + oneOf [ + int + str + bool + float + ]; + collectionTypes = + with types; + oneOf [ + validConfigTypes + (listOf validConfigTypes) + ]; + in + mkOption { + type = with types; attrsOf (nullOr (either collectionTypes (attrsOf collectionTypes))); + default = { }; + example = { + captures = 20; + gamma_long_transition = true; + ac_capture_timeouts = [ + 120 + 300 + 60 + ]; + }; + description = '' + Additional configuration to extend clight.conf. See + for a + sample configuration file. + ''; + }; }; config = mkIf cfg.enable { - assertions = let - inRange = v: l: r: v >= l && v <= r; - in [ - { assertion = config.location.provider == "manual" -> - inRange config.location.latitude (-90) 90 && inRange config.location.longitude (-180) 180; - message = "You must specify a valid latitude and longitude if manually providing location"; } - ]; + assertions = + let + inRange = + v: l: r: + v >= l && v <= r; + in + [ + { + assertion = + config.location.provider == "manual" + -> inRange config.location.latitude (-90) 90 && inRange config.location.longitude (-180) 180; + message = "You must specify a valid latitude and longitude if manually providing location"; + } + ]; boot.kernelModules = [ "i2c_dev" ]; - environment.systemPackages = with pkgs; [ clight clightd ]; - services.dbus.packages = with pkgs; [ clight clightd ]; + environment.systemPackages = with pkgs; [ + clight + clightd + ]; + services.dbus.packages = with pkgs; [ + clight + clightd + ]; services.upower.enable = true; - services.clight.settings = { - gamma.temp = with cfg.temperature; mkDefault [ day night ]; - } // (optionalAttrs (config.location.provider == "manual") { - daytime.latitude = mkDefault config.location.latitude; - daytime.longitude = mkDefault config.location.longitude; - }); + services.clight.settings = + { + gamma.temp = + with cfg.temperature; + mkDefault [ + day + night + ]; + } + // (optionalAttrs (config.location.provider == "manual") { + daytime.latitude = mkDefault config.location.latitude; + daytime.longitude = mkDefault config.location.longitude; + }); services.geoclue2.appConfig.clightc = { isAllowed = true; @@ -107,8 +162,14 @@ in { }; systemd.user.services.clight = { - after = [ "upower.service" "clightd.service" ]; - wants = [ "upower.service" "clightd.service" ]; + after = [ + "upower.service" + "clightd.service" + ]; + wants = [ + "upower.service" + "clightd.service" + ]; partOf = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ]; diff --git a/nixos/modules/services/x11/colord.nix b/nixos/modules/services/x11/colord.nix index 31ccee6aa33f4..1a9ade7127392 100644 --- a/nixos/modules/services/x11/colord.nix +++ b/nixos/modules/services/x11/colord.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.services.colord; -in { +in +{ options = { @@ -34,7 +40,7 @@ in { group = "colord"; }; - users.groups.colord = {}; + users.groups.colord = { }; }; diff --git a/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixos/modules/services/x11/desktop-managers/budgie.nix index a4cd957a95dca..e278f2f2f87ad 100644 --- a/nixos/modules/services/x11/desktop-managers/budgie.nix +++ b/nixos/modules/services/x11/desktop-managers/budgie.nix @@ -1,7 +1,21 @@ -{ lib, pkgs, config, utils, ... }: +{ + lib, + pkgs, + config, + utils, + ... +}: let - inherit (lib) concatMapStrings literalExpression mkDefault mkEnableOption mkIf mkOption types; + inherit (lib) + concatMapStrings + literalExpression + mkDefault + mkEnableOption + mkIf + mkOption + types + ; cfg = config.services.xserver.desktopManager.budgie; @@ -45,7 +59,8 @@ let }; notExcluded = pkg: utils.disablePackageByName pkg config.environment.budgie.excludePackages; -in { +in +{ meta.maintainers = lib.teams.budgie.members; options = { @@ -60,7 +75,7 @@ in { Note that this should be a last resort; patching the package is preferred (see GPaste). ''; type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.gpaste ]"; }; @@ -73,13 +88,13 @@ in { extraGSettingsOverridePackages = mkOption { description = "List of packages for which GSettings are overridden."; type = types.listOf types.path; - default = []; + default = [ ]; }; extraPlugins = mkOption { description = "Extra plugins for the Budgie desktop"; type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.budgie-analogue-clock-applet ]"; }; }; @@ -87,7 +102,7 @@ in { environment.budgie.excludePackages = mkOption { description = "Which packages Budgie should exclude from the default environment."; type = types.listOf types.package; - default = []; + default = [ ]; example = literalExpression "[ pkgs.mate-terminal ]"; }; }; @@ -99,9 +114,18 @@ in { services.xserver.displayManager.lightdm.greeters.slick = { enable = mkDefault true; - theme = mkDefault { name = "Qogir"; package = pkgs.qogir-theme; }; - iconTheme = mkDefault { name = "Qogir"; package = pkgs.qogir-icon-theme; }; - cursorTheme = mkDefault { name = "Qogir"; package = pkgs.qogir-icon-theme; }; + theme = mkDefault { + name = "Qogir"; + package = pkgs.qogir-theme; + }; + iconTheme = mkDefault { + name = "Qogir"; + package = pkgs.qogir-icon-theme; + }; + cursorTheme = mkDefault { + name = "Qogir"; + package = pkgs.qogir-icon-theme; + }; }; services.xserver.desktopManager.budgie.sessionPath = [ pkgs.budgie-desktop-view ]; @@ -118,7 +142,8 @@ in { '') cfg.sessionPath} ''; - environment.systemPackages = with pkgs; + environment.systemPackages = + with pkgs; [ # Budgie Desktop. budgie-backgrounds @@ -142,23 +167,23 @@ in { ] ++ lib.optional config.networking.networkmanager.enable pkgs.networkmanagerapplet ++ (utils.removePackagesByName [ - nemo - mate.eom - mate.pluma - mate.atril - mate.engrampa - mate.mate-calc - mate.mate-system-monitor - vlc - - # Desktop themes. - qogir-theme - qogir-icon-theme - nixos-background-info - - # Default settings. - nixos-gsettings-overrides - ] config.environment.budgie.excludePackages) + nemo + mate.eom + mate.pluma + mate.atril + mate.engrampa + mate.mate-calc + mate.mate-system-monitor + vlc + + # Desktop themes. + qogir-theme + qogir-icon-theme + nixos-background-info + + # Default settings. + nixos-gsettings-overrides + ] config.environment.budgie.excludePackages) ++ cfg.sessionPath; # Both budgie-desktop-view and nemo defaults to this emulator. @@ -170,8 +195,8 @@ in { pkgs.hack-font ]; fonts.fontconfig.defaultFonts = { - sansSerif = mkDefault ["Noto Sans"]; - monospace = mkDefault ["Hack"]; + sansSerif = mkDefault [ "Noto Sans" ]; + monospace = mkDefault [ "Hack" ]; }; # Qt application style. @@ -193,7 +218,7 @@ in { programs.dconf.enable = true; # Required by Budgie Screensaver. - security.pam.services.budgie-screensaver = {}; + security.pam.services.budgie-screensaver = { }; # Required by Budgie's Polkit Dialog. security.polkit.enable = mkDefault true; diff --git a/nixos/modules/services/x11/desktop-managers/cde.nix b/nixos/modules/services/x11/desktop-managers/cde.nix index ae9a8ce223924..8dae3ce0d8862 100644 --- a/nixos/modules/services/x11/desktop-managers/cde.nix +++ b/nixos/modules/services/x11/desktop-managers/cde.nix @@ -1,18 +1,33 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let xcfg = config.services.xserver; cfg = xcfg.desktopManager.cde; -in { +in +{ options.services.xserver.desktopManager.cde = { enable = mkEnableOption "Common Desktop Environment"; extraPackages = mkOption { type = with types; listOf package; default = with pkgs.xorg; [ - xclock bitmap xlsfonts xfd xrefresh xload xwininfo xdpyinfo xwd xwud + xclock + bitmap + xlsfonts + xfd + xrefresh + xload + xwininfo + xdpyinfo + xwd + xwud ]; defaultText = literalExpression '' with pkgs.xorg; [ @@ -46,7 +61,7 @@ in { } ]; - users.groups.mail = {}; + users.groups.mail = { }; security.wrappers = { dtmail = { setgid = true; @@ -62,11 +77,13 @@ in { ''; services.xserver.desktopManager.session = [ - { name = "CDE"; - start = '' - exec ${pkgs.cdesktopenv}/bin/Xsession - ''; - }]; + { + name = "CDE"; + start = '' + exec ${pkgs.cdesktopenv}/bin/Xsession + ''; + } + ]; }; meta.maintainers = [ ]; diff --git a/nixos/modules/services/x11/desktop-managers/deepin.nix b/nixos/modules/services/x11/desktop-managers/deepin.nix index 8a8e79f52493b..ca9fb229df973 100644 --- a/nixos/modules/services/x11/desktop-managers/deepin.nix +++ b/nixos/modules/services/x11/desktop-managers/deepin.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: with lib; @@ -36,191 +42,191 @@ in }; - config = mkIf cfg.enable - { - services.displayManager.sessionPackages = [ pkgs.deepin.dde-session ]; - services.displayManager.defaultSession = mkDefault "dde-x11"; - - # Update the DBus activation environment after launching the desktop manager. - services.xserver.displayManager.sessionCommands = '' - ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all - ''; - - hardware.bluetooth.enable = mkDefault true; - security.polkit.enable = true; - - services.deepin.dde-daemon.enable = mkForce true; - services.deepin.dde-api.enable = mkForce true; - services.deepin.app-services.enable = mkForce true; - - services.colord.enable = mkDefault true; - services.accounts-daemon.enable = mkDefault true; - services.gvfs.enable = mkDefault true; - services.gnome.glib-networking.enable = mkDefault true; - services.gnome.gnome-keyring.enable = mkDefault true; - services.bamf.enable = mkDefault true; - - services.libinput.enable = mkDefault true; - services.udisks2.enable = true; - services.upower.enable = mkDefault config.powerManagement.enable; - networking.networkmanager.enable = mkDefault true; - programs.dconf.enable = mkDefault true; - programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-qt; - - fonts.packages = with pkgs; [ noto-fonts ]; - xdg.mime.enable = true; - xdg.menus.enable = true; - xdg.icons.enable = true; - xdg.portal.enable = mkDefault true; - xdg.portal.extraPortals = mkDefault [ - pkgs.xdg-desktop-portal-gtk - ]; - - # https://github.com/NixOS/nixpkgs/pull/247766#issuecomment-1722839259 - xdg.portal.config.deepin.default = mkDefault [ "gtk" ]; - - environment.sessionVariables = { - NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; - DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ]; - }; - - environment.pathsToLink = [ - "/lib/dde-dock/plugins" - "/lib/dde-control-center" - "/lib/dde-session-shell" - "/lib/dde-file-manager" - "/share/backgrounds" - "/share/wallpapers" - "/share/dde-daemon" - "/share/dsg" - "/share/deepin-themes" - "/share/deepin" - "/share/dde-shell" - ]; - - environment.etc = { - "deepin-installer.conf".text = '' - system_info_vendor_name="Copyright (c) 2003-2024 NixOS contributors" - ''; - }; + config = mkIf cfg.enable { + services.displayManager.sessionPackages = [ pkgs.deepin.dde-session ]; + services.displayManager.defaultSession = mkDefault "dde-x11"; + + # Update the DBus activation environment after launching the desktop manager. + services.xserver.displayManager.sessionCommands = '' + ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all + ''; + + hardware.bluetooth.enable = mkDefault true; + security.polkit.enable = true; + + services.deepin.dde-daemon.enable = mkForce true; + services.deepin.dde-api.enable = mkForce true; + services.deepin.app-services.enable = mkForce true; + + services.colord.enable = mkDefault true; + services.accounts-daemon.enable = mkDefault true; + services.gvfs.enable = mkDefault true; + services.gnome.glib-networking.enable = mkDefault true; + services.gnome.gnome-keyring.enable = mkDefault true; + services.bamf.enable = mkDefault true; + + services.libinput.enable = mkDefault true; + services.udisks2.enable = true; + services.upower.enable = mkDefault config.powerManagement.enable; + networking.networkmanager.enable = mkDefault true; + programs.dconf.enable = mkDefault true; + programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-qt; + + fonts.packages = with pkgs; [ noto-fonts ]; + xdg.mime.enable = true; + xdg.menus.enable = true; + xdg.icons.enable = true; + xdg.portal.enable = mkDefault true; + xdg.portal.extraPortals = mkDefault [ + pkgs.xdg-desktop-portal-gtk + ]; + + # https://github.com/NixOS/nixpkgs/pull/247766#issuecomment-1722839259 + xdg.portal.config.deepin.default = mkDefault [ "gtk" ]; + + environment.sessionVariables = { + NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; + DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ]; + }; - systemd.tmpfiles.rules = [ - "d /var/lib/AccountsService 0775 root root - -" - "C /var/lib/AccountsService/icons 0775 root root - ${pkgs.deepin.dde-account-faces}/var/lib/AccountsService/icons" - ]; - - security.pam.services.dde-lock.text = '' - # original at {dde-session-shell}/etc/pam.d/dde-lock - auth substack login - account include login - password substack login - session include login + environment.pathsToLink = [ + "/lib/dde-dock/plugins" + "/lib/dde-control-center" + "/lib/dde-session-shell" + "/lib/dde-file-manager" + "/share/backgrounds" + "/share/wallpapers" + "/share/dde-daemon" + "/share/dsg" + "/share/deepin-themes" + "/share/deepin" + "/share/dde-shell" + ]; + + environment.etc = { + "deepin-installer.conf".text = '' + system_info_vendor_name="Copyright (c) 2003-2024 NixOS contributors" ''; - - environment.systemPackages = with pkgs; with deepin; - let - requiredPackages = [ - pciutils # for dtkcore/startdde - xdotool # for dde-daemon - glib # for gsettings program / gdbus - gtk3 # for gtk-launch program - xdg-user-dirs # Update user dirs - util-linux # runuser - polkit_gnome - librsvg # dde-api use rsvg-convert - lshw # for dtkcore - libsForQt5.kde-gtk-config # deepin-api/gtk-thumbnailer need - libsForQt5.kglobalaccel - xsettingsd # lightdm-deepin-greeter - dtkcommon - dtkcore - dtkgui - dtkwidget - dtkdeclarative - qt5platform-plugins - qt6platform-plugins - qt5integration - qt6integration - deepin-pw-check - - dde-account-faces - deepin-icon-theme - deepin-desktop-theme - deepin-sound-theme - deepin-gtk-theme - deepin-wallpapers - deepin-desktop-base - - startdde - dde-shell - dde-launchpad - dde-session-ui - dde-session-shell - dde-file-manager - dde-control-center - dde-network-core - dde-clipboard - dde-polkit-agent - dpa-ext-gnomekeyring - deepin-desktop-schemas - deepin-kwin - dde-session - dde-widgets - dde-appearance - dde-application-manager - deepin-service-manager - dde-api-proxy - dde-tray-loader - ]; - optionalPackages = [ - dde-calendar - dde-grand-search - deepin-terminal - onboard # dde-dock plugin - deepin-calculator - deepin-compressor - deepin-editor - deepin-system-monitor - deepin-shortcut-viewer - ]; - in - requiredPackages - ++ utils.removePackagesByName optionalPackages config.environment.deepin.excludePackages; - - services.dbus.packages = with pkgs.deepin; [ - dde-shell - dde-launchpad - dde-session-ui - dde-session-shell - dde-file-manager - dde-control-center - dde-calendar - dde-clipboard - deepin-kwin - deepin-pw-check - dde-widgets - dde-session - dde-appearance - dde-application-manager - deepin-service-manager - dde-grand-search - dde-api-proxy - ]; - - systemd.packages = with pkgs.deepin; [ - dde-shell - dde-launchpad - dde-file-manager - dde-calendar - dde-clipboard - deepin-kwin - dde-appearance - dde-widgets - dde-session - dde-application-manager - deepin-service-manager - dde-api-proxy - ]; }; -} + systemd.tmpfiles.rules = [ + "d /var/lib/AccountsService 0775 root root - -" + "C /var/lib/AccountsService/icons 0775 root root - ${pkgs.deepin.dde-account-faces}/var/lib/AccountsService/icons" + ]; + + security.pam.services.dde-lock.text = '' + # original at {dde-session-shell}/etc/pam.d/dde-lock + auth substack login + account include login + password substack login + session include login + ''; + + environment.systemPackages = + with pkgs; + with deepin; + let + requiredPackages = [ + pciutils # for dtkcore/startdde + xdotool # for dde-daemon + glib # for gsettings program / gdbus + gtk3 # for gtk-launch program + xdg-user-dirs # Update user dirs + util-linux # runuser + polkit_gnome + librsvg # dde-api use rsvg-convert + lshw # for dtkcore + libsForQt5.kde-gtk-config # deepin-api/gtk-thumbnailer need + libsForQt5.kglobalaccel + xsettingsd # lightdm-deepin-greeter + dtkcommon + dtkcore + dtkgui + dtkwidget + dtkdeclarative + qt5platform-plugins + qt6platform-plugins + qt5integration + qt6integration + deepin-pw-check + + dde-account-faces + deepin-icon-theme + deepin-desktop-theme + deepin-sound-theme + deepin-gtk-theme + deepin-wallpapers + deepin-desktop-base + + startdde + dde-shell + dde-launchpad + dde-session-ui + dde-session-shell + dde-file-manager + dde-control-center + dde-network-core + dde-clipboard + dde-polkit-agent + dpa-ext-gnomekeyring + deepin-desktop-schemas + deepin-kwin + dde-session + dde-widgets + dde-appearance + dde-application-manager + deepin-service-manager + dde-api-proxy + dde-tray-loader + ]; + optionalPackages = [ + dde-calendar + dde-grand-search + deepin-terminal + onboard # dde-dock plugin + deepin-calculator + deepin-compressor + deepin-editor + deepin-system-monitor + deepin-shortcut-viewer + ]; + in + requiredPackages + ++ utils.removePackagesByName optionalPackages config.environment.deepin.excludePackages; + + services.dbus.packages = with pkgs.deepin; [ + dde-shell + dde-launchpad + dde-session-ui + dde-session-shell + dde-file-manager + dde-control-center + dde-calendar + dde-clipboard + deepin-kwin + deepin-pw-check + dde-widgets + dde-session + dde-appearance + dde-application-manager + deepin-service-manager + dde-grand-search + dde-api-proxy + ]; + + systemd.packages = with pkgs.deepin; [ + dde-shell + dde-launchpad + dde-file-manager + dde-calendar + dde-clipboard + deepin-kwin + dde-appearance + dde-widgets + dde-session + dde-application-manager + deepin-service-manager + dde-api-proxy + ]; + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 44c0dbc70fea8..05ed81e579927 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -11,7 +16,8 @@ let pkgs.gst_all_1.gst-plugins-base pkgs.gst_all_1.gst-plugins-good pkgs.gst_all_1.gst-plugins-bad - pkgs.gst_all_1.gst-libav ]; + pkgs.gst_all_1.gst-libav + ]; in @@ -21,7 +27,10 @@ in }; imports = [ - (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ]) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "e19" "enable" ] + [ "services" "xserver" "desktopManager" "enlightenment" "enable" ] + ) ]; options = { @@ -70,24 +79,24 @@ in # Wrappers for programs installed by enlightenment that should be setuid security.wrappers = { - enlightenment_ckpasswd = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_ckpasswd"; - }; - enlightenment_sys = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_sys"; - }; - enlightenment_system = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_system"; - }; + enlightenment_ckpasswd = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_ckpasswd"; + }; + enlightenment_sys = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_sys"; + }; + enlightenment_system = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_system"; + }; }; environment.etc."X11/xkb".source = xcfg.xkb.dir; @@ -100,24 +109,23 @@ in services.dbus.packages = [ e.efl ]; - systemd.user.services.efreet = - { enable = true; - description = "org.enlightenment.Efreet"; - serviceConfig = - { ExecStart = "${e.efl}/bin/efreetd"; - StandardOutput = "null"; - }; + systemd.user.services.efreet = { + enable = true; + description = "org.enlightenment.Efreet"; + serviceConfig = { + ExecStart = "${e.efl}/bin/efreetd"; + StandardOutput = "null"; }; + }; - systemd.user.services.ethumb = - { enable = true; - description = "org.enlightenment.Ethumb"; - serviceConfig = - { ExecStart = "${e.efl}/bin/ethumbd"; - StandardOutput = "null"; - }; + systemd.user.services.ethumb = { + enable = true; + description = "org.enlightenment.Ethumb"; + serviceConfig = { + ExecStart = "${e.efl}/bin/ethumbd"; + StandardOutput = "null"; }; - + }; }; diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix index 34b705b6288d3..c3a3465f3a456 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -1,7 +1,19 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let - inherit (lib) mkOption types mkDefault mkEnableOption literalExpression; + inherit (lib) + mkOption + types + mkDefault + mkEnableOption + literalExpression + ; cfg = config.services.xserver.desktopManager.gnome; serviceCfg = config.services.gnome; @@ -51,14 +63,17 @@ let }; flashbackEnabled = cfg.flashback.enableMetacity || lib.length cfg.flashback.customSessions > 0; - flashbackWms = lib.optional cfg.flashback.enableMetacity { - wmName = "metacity"; - wmLabel = "Metacity"; - wmCommand = "${pkgs.metacity}/bin/metacity"; - enableGnomePanel = true; - } ++ cfg.flashback.customSessions; - - notExcluded = pkg: mkDefault (utils.disablePackageByName pkg config.environment.gnome.excludePackages); + flashbackWms = + lib.optional cfg.flashback.enableMetacity { + wmName = "metacity"; + wmLabel = "Metacity"; + wmCommand = "${pkgs.metacity}/bin/metacity"; + enableGnomePanel = true; + } + ++ cfg.flashback.customSessions; + + notExcluded = + pkg: mkDefault (utils.disablePackageByName pkg config.environment.gnome.excludePackages); in @@ -87,7 +102,7 @@ in }; sessionPath = mkOption { - default = []; + default = [ ]; type = types.listOf types.package; example = literalExpression "[ pkgs.gpaste ]"; description = '' @@ -118,7 +133,7 @@ in }; extraGSettingsOverridePackages = mkOption { - default = []; + default = [ ]; type = types.listOf types.path; description = "List of packages for which gsettings are overridden."; }; @@ -129,35 +144,37 @@ in enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity"; customSessions = mkOption { - type = types.listOf (types.submodule { - options = { - wmName = mkOption { - type = types.strMatching "[a-zA-Z0-9_-]+"; - description = "A unique identifier for the window manager."; - example = "xmonad"; - }; - - wmLabel = mkOption { - type = types.str; - description = "The name of the window manager to show in the session chooser."; - example = "XMonad"; - }; - - wmCommand = mkOption { - type = types.str; - description = "The executable of the window manager to use."; - example = literalExpression ''"''${pkgs.haskellPackages.xmonad}/bin/xmonad"''; + type = types.listOf ( + types.submodule { + options = { + wmName = mkOption { + type = types.strMatching "[a-zA-Z0-9_-]+"; + description = "A unique identifier for the window manager."; + example = "xmonad"; + }; + + wmLabel = mkOption { + type = types.str; + description = "The name of the window manager to show in the session chooser."; + example = "XMonad"; + }; + + wmCommand = mkOption { + type = types.str; + description = "The executable of the window manager to use."; + example = literalExpression ''"''${pkgs.haskellPackages.xmonad}/bin/xmonad"''; + }; + + enableGnomePanel = mkOption { + type = types.bool; + default = true; + example = false; + description = "Whether to enable the GNOME panel in this session."; + }; }; - - enableGnomePanel = mkOption { - type = types.bool; - default = true; - example = false; - description = "Whether to enable the GNOME panel in this session."; - }; - }; - }); - default = []; + } + ); + default = [ ]; description = "Other GNOME Flashback sessions to enable."; }; @@ -175,7 +192,7 @@ in }; environment.gnome.excludePackages = mkOption { - default = []; + default = [ ]; example = literalExpression "[ pkgs.totem ]"; type = types.listOf types.package; description = "Which packages gnome should exclude from the default environment"; @@ -186,11 +203,13 @@ in config = lib.mkMerge [ (lib.mkIf (cfg.enable || flashbackEnabled) { # Seed our configuration into nixos-generate-config - system.nixos-generate-config.desktopConfiguration = ['' - # Enable the GNOME Desktop Environment. - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - '']; + system.nixos-generate-config.desktopConfiguration = [ + '' + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + '' + ]; services.gnome.core-os-services.enable = true; services.gnome.core-shell.enable = true; @@ -225,13 +244,13 @@ in wmNames = map (wm: wm.wmName) flashbackWms; namesAreUnique = lib.unique wmNames == wmNames; in - assert (lib.assertMsg namesAreUnique "Flashback WM names must be unique."); - map - (wm: - pkgs.gnome-flashback.mkSessionForWm { - inherit (wm) wmName wmLabel wmCommand; - } - ) flashbackWms; + assert (lib.assertMsg namesAreUnique "Flashback WM names must be unique."); + map ( + wm: + pkgs.gnome-flashback.mkSessionForWm { + inherit (wm) wmName wmLabel wmCommand; + } + ) flashbackWms; security.pam.services.gnome-flashback = { enableGnomeKeyring = true; @@ -241,16 +260,21 @@ in pkgs.gnome-flashback ] ++ map pkgs.gnome-flashback.mkSystemdTargetForWm flashbackWms; - environment.systemPackages = [ - pkgs.gnome-flashback - (pkgs.gnome-panel-with-modules.override { - panelModulePackages = cfg.flashback.panelModulePackages; - }) - ] - # For /share/applications/${wmName}.desktop - ++ (map (wm: pkgs.gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }) flashbackWms) - # For /share/pkgs.gnome-session/sessions/gnome-flashback-${wmName}.session - ++ (map (wm: pkgs.gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }) flashbackWms); + environment.systemPackages = + [ + pkgs.gnome-flashback + (pkgs.gnome-panel-with-modules.override { + panelModulePackages = cfg.flashback.panelModulePackages; + }) + ] + # For /share/applications/${wmName}.desktop + ++ (map ( + wm: pkgs.gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; } + ) flashbackWms) + # For /share/pkgs.gnome-session/sessions/gnome-flashback-${wmName}.session + ++ (map ( + wm: pkgs.gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; } + ) flashbackWms); }) (lib.mkIf serviceCfg.core-os-services.enable { @@ -392,37 +416,37 @@ in # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-45/elements/core/meta-gnome-core-utilities.bst (lib.mkIf serviceCfg.core-utilities.enable { - environment.systemPackages = - utils.removePackagesByName - ([ - pkgs.baobab - pkgs.epiphany - pkgs.gnome-text-editor - pkgs.gnome-calculator - pkgs.gnome-calendar - pkgs.gnome-characters - pkgs.gnome-clocks - pkgs.gnome-console - pkgs.gnome-contacts - pkgs.gnome-font-viewer - pkgs.gnome-logs - pkgs.gnome-maps - pkgs.gnome-music - pkgs.gnome-system-monitor - pkgs.gnome-weather - pkgs.loupe - pkgs.nautilus - pkgs.gnome-connections - pkgs.simple-scan - pkgs.snapshot - pkgs.totem - pkgs.yelp - ] ++ lib.optionals config.services.flatpak.enable [ - # Since PackageKit Nix support is not there yet, - # only install gnome-software if flatpak is enabled. - pkgs.gnome-software - ]) - config.environment.gnome.excludePackages; + environment.systemPackages = utils.removePackagesByName ( + [ + pkgs.baobab + pkgs.epiphany + pkgs.gnome-text-editor + pkgs.gnome-calculator + pkgs.gnome-calendar + pkgs.gnome-characters + pkgs.gnome-clocks + pkgs.gnome-console + pkgs.gnome-contacts + pkgs.gnome-font-viewer + pkgs.gnome-logs + pkgs.gnome-maps + pkgs.gnome-music + pkgs.gnome-system-monitor + pkgs.gnome-weather + pkgs.loupe + pkgs.nautilus + pkgs.gnome-connections + pkgs.simple-scan + pkgs.snapshot + pkgs.totem + pkgs.yelp + ] + ++ lib.optionals config.services.flatpak.enable [ + # Since PackageKit Nix support is not there yet, + # only install gnome-software if flatpak is enabled. + pkgs.gnome-software + ] + ) config.environment.gnome.excludePackages; # Enable default program modules # Since some of these have a corresponding package, we only @@ -486,7 +510,7 @@ in # it doesn't function well enough to be included # in default configurations. # https://github.com/NixOS/nixpkgs/issues/60908 - /* pkgs.gnome-boxes */ + # pkgs.gnome-boxes ] config.environment.gnome.excludePackages; services.sysprof.enable = notExcluded pkgs.sysprof; diff --git a/nixos/modules/services/x11/desktop-managers/kodi.nix b/nixos/modules/services/x11/desktop-managers/kodi.nix index b7c0af210b143..0dd2f8ffb829e 100644 --- a/nixos/modules/services/x11/desktop-managers/kodi.nix +++ b/nixos/modules/services/x11/desktop-managers/kodi.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -22,13 +27,15 @@ in }; config = mkIf cfg.enable { - services.xserver.desktopManager.session = [{ - name = "kodi"; - start = '' - LIRC_SOCKET_PATH=/run/lirc/lircd ${cfg.package}/bin/kodi --standalone & - waitPID=$! - ''; - }]; + services.xserver.desktopManager.session = [ + { + name = "kodi"; + start = '' + LIRC_SOCKET_PATH=/run/lirc/lircd ${cfg.package}/bin/kodi --standalone & + waitPID=$! + ''; + } + ]; environment.systemPackages = [ cfg.package ]; }; diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix index 72411e8fcb5eb..74fabced3af3e 100644 --- a/nixos/modules/services/x11/desktop-managers/lumina.nix +++ b/nixos/modules/services/x11/desktop-managers/lumina.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -24,16 +29,13 @@ in }; - config = mkIf cfg.enable { services.displayManager.sessionPackages = [ pkgs.lumina.lumina ]; - environment.systemPackages = - pkgs.lumina.preRequisitePackages ++ - pkgs.lumina.corePackages; + environment.systemPackages = pkgs.lumina.preRequisitePackages ++ pkgs.lumina.corePackages; # Link some extra directories in /run/current-system/software/share environment.pathsToLink = [ diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index 19235be4aa8d5..e5144bc9d1028 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: with lib; @@ -39,7 +45,7 @@ in }; environment.mate.excludePackages = mkOption { - default = []; + default = [ ]; example = literalExpression "[ pkgs.mate.mate-terminal pkgs.mate.pluma ]"; type = types.listOf types.package; description = "Which MATE packages to exclude from the default environment"; @@ -56,10 +62,10 @@ in # Debugging environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1"; - environment.systemPackages = utils.removePackagesByName - (pkgs.mate.basePackages ++ - pkgs.mate.extraPackages ++ - [ + environment.systemPackages = utils.removePackagesByName ( + pkgs.mate.basePackages + ++ pkgs.mate.extraPackages + ++ [ (pkgs.mate.caja-with-extensions.override { extensions = cfg.extraCajaExtensions; }) @@ -72,8 +78,8 @@ in pkgs.shared-mime-info pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ pkgs.yelp # for 'Contents' in 'Help' menus - ]) - config.environment.mate.excludePackages; + ] + ) config.environment.mate.excludePackages; programs.dconf.enable = true; # Shell integration for VTE terminals diff --git a/nixos/modules/services/x11/desktop-managers/none.nix b/nixos/modules/services/x11/desktop-managers/none.nix index f5b5e3104101e..d4b7e3b392da9 100644 --- a/nixos/modules/services/x11/desktop-managers/none.nix +++ b/nixos/modules/services/x11/desktop-managers/none.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let runXdgAutostart = config.services.xserver.desktopManager.runXdgAutostartIfNone; @@ -37,8 +42,14 @@ in systemd.user.targets.xdg-autostart-if-no-desktop-manager = { description = "Run XDG autostart files"; # From `plasma-workspace`, `share/systemd/user/plasma-workspace@.target`. - requires = [ "xdg-desktop-autostart.target" "graphical-session.target" ]; - before = [ "xdg-desktop-autostart.target" "graphical-session.target" ]; + requires = [ + "xdg-desktop-autostart.target" + "graphical-session.target" + ]; + before = [ + "xdg-desktop-autostart.target" + "graphical-session.target" + ]; bindsTo = [ "graphical-session.target" ]; }; }) diff --git a/nixos/modules/services/x11/desktop-managers/retroarch.nix b/nixos/modules/services/x11/desktop-managers/retroarch.nix index 3ee7b7795f6c9..445de823e03f9 100644 --- a/nixos/modules/services/x11/desktop-managers/retroarch.nix +++ b/nixos/modules/services/x11/desktop-managers/retroarch.nix @@ -1,10 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.xserver.desktopManager.retroarch; +let + cfg = config.services.xserver.desktopManager.retroarch; -in { +in +{ options.services.xserver.desktopManager.retroarch = { enable = mkEnableOption "RetroArch"; @@ -15,19 +22,24 @@ in { extraArgs = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "--verbose" "--host" ]; + example = [ + "--verbose" + "--host" + ]; description = "Extra arguments to pass to RetroArch."; }; }; config = mkIf cfg.enable { - services.xserver.desktopManager.session = [{ - name = "RetroArch"; - start = '' - ${cfg.package}/bin/retroarch -f ${escapeShellArgs cfg.extraArgs} & - waitPID=$! - ''; - }]; + services.xserver.desktopManager.session = [ + { + name = "RetroArch"; + start = '' + ${cfg.package}/bin/retroarch -f ${escapeShellArgs cfg.extraArgs} & + waitPID=$! + ''; + } + ]; environment.systemPackages = [ cfg.package ]; }; diff --git a/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixos/modules/services/x11/desktop-managers/surf-display.nix index 10c4a1d21b0a5..519388cf11a59 100644 --- a/nixos/modules/services/x11/desktop-managers/surf-display.nix +++ b/nixos/modules/services/x11/desktop-managers/surf-display.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -42,7 +47,8 @@ let ${cfg.extraConfig} ''; -in { +in +{ options = { services.xserver.desktopManager.surf-display = { enable = mkEnableOption "surf-display as a kiosk browser session"; diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix index 3424ee1b0e113..c4db014db796c 100644 --- a/nixos/modules/services/x11/desktop-managers/xterm.nix +++ b/nixos/modules/services/x11/desktop-managers/xterm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -23,13 +28,13 @@ in config = mkIf cfg.enable { - services.xserver.desktopManager.session = singleton - { name = "xterm"; - start = '' - ${pkgs.xterm}/bin/xterm -ls & - waitPID=$! - ''; - }; + services.xserver.desktopManager.session = singleton { + name = "xterm"; + start = '' + ${pkgs.xterm}/bin/xterm -ls & + waitPID=$! + ''; + }; environment.systemPackages = [ pkgs.xterm ]; diff --git a/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixos/modules/services/x11/display-managers/account-service-util.nix index 00ffd91cb2f6d..93affdef3fc83 100644 --- a/nixos/modules/services/x11/display-managers/account-service-util.nix +++ b/nixos/modules/services/x11/display-managers/account-service-util.nix @@ -1,9 +1,10 @@ -{ accountsservice -, glib -, gobject-introspection -, python3 -, wrapGAppsNoGuiHook -, lib +{ + accountsservice, + glib, + gobject-introspection, + python3, + wrapGAppsNoGuiHook, + lib, }: python3.pkgs.buildPythonApplication { diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 5ec06767f51bf..a960b546f6142 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -8,12 +13,15 @@ let settingsFormat = pkgs.formats.ini { }; configFile = settingsFormat.generate "custom.conf" cfg.gdm.settings; - xSessionWrapper = if (cfg.setupCommands == "") then null else - pkgs.writeScript "gdm-x-session-wrapper" '' - #!${pkgs.bash}/bin/bash - ${cfg.setupCommands} - exec "$@" - ''; + xSessionWrapper = + if (cfg.setupCommands == "") then + null + else + pkgs.writeScript "gdm-x-session-wrapper" '' + #!${pkgs.bash}/bin/bash + ${cfg.setupCommands} + exec "$@" + ''; # Solves problems like: # https://wiki.archlinux.org/index.php/Talk:Bluetooth_headset#GDMs_pulseaudio_instance_captures_bluetooth_headset @@ -38,20 +46,32 @@ in { imports = [ - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "gdm" "autoLogin" "enable" ] [ - "services" - "displayManager" - "autoLogin" - "enable" - ]) - (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "gdm" "autoLogin" "user" ] [ + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "gdm" "autoLogin" "enable" ] + [ + "services" + "displayManager" + "autoLogin" + "enable" + ] + ) + (lib.mkRenamedOptionModule + [ "services" "xserver" "displayManager" "gdm" "autoLogin" "user" ] + [ + "services" + "displayManager" + "autoLogin" + "user" + ] + ) + + (lib.mkRemovedOptionModule [ "services" + "xserver" "displayManager" - "autoLogin" - "user" - ]) - - (lib.mkRemovedOptionModule [ "services" "xserver" "displayManager" "gdm" "nvidiaWayland" ] "We defer to GDM whether Wayland should be enabled.") + "gdm" + "nvidiaWayland" + ] "We defer to GDM whether Wayland should be enabled.") ]; meta = { @@ -123,20 +143,19 @@ in }; - ###### implementation config = lib.mkIf cfg.gdm.enable { services.xserver.displayManager.lightdm.enable = false; - users.users.gdm = - { name = "gdm"; - uid = config.ids.uids.gdm; - group = "gdm"; - home = "/run/gdm"; - description = "GDM user"; - }; + users.users.gdm = { + name = "gdm"; + uid = config.ids.uids.gdm; + group = "gdm"; + home = "/run/gdm"; + description = "GDM user"; + }; users.groups.gdm.gid = config.ids.gids.gdm; @@ -145,14 +164,13 @@ in services.xserver.display = null; services.xserver.verbose = null; - services.displayManager = - { - # Enable desktop session data - enable = true; + services.displayManager = { + # Enable desktop session data + enable = true; - environment = { - GDM_X_SERVER_EXTRA_ARGS = toString - (lib.filter (arg: arg != "-terminate") cfg.xserverArgs); + environment = + { + GDM_X_SERVER_EXTRA_ARGS = toString (lib.filter (arg: arg != "-terminate") cfg.xserverArgs); XDG_DATA_DIRS = lib.makeSearchPath "share" [ gdm # for gnome-login.session config.services.displayManager.sessionData.desktops @@ -160,28 +178,32 @@ in pkgs.adwaita-icon-theme pkgs.hicolor-icon-theme # empty icon theme as a base ]; - } // lib.optionalAttrs (xSessionWrapper != null) { + } + // lib.optionalAttrs (xSessionWrapper != null) { # Make GDM use this wrapper before running the session, which runs the # configured setupCommands. This relies on a patched GDM which supports # this environment variable. GDM_X_SESSION_WRAPPER = "${xSessionWrapper}"; }; - execCmd = "exec ${gdm}/bin/gdm"; - preStart = lib.optionalString (defaultSessionName != null) '' - # Set default session in session chooser to a specified values – basically ignore session history. - ${setSessionScript}/bin/set-session ${config.services.displayManager.sessionData.autologinSession} - ''; - }; + execCmd = "exec ${gdm}/bin/gdm"; + preStart = lib.optionalString (defaultSessionName != null) '' + # Set default session in session chooser to a specified values – basically ignore session history. + ${setSessionScript}/bin/set-session ${config.services.displayManager.sessionData.autologinSession} + ''; + }; - systemd.tmpfiles.rules = [ - "d /run/gdm/.config 0711 gdm gdm" - ] ++ lib.optionals config.hardware.pulseaudio.enable [ - "d /run/gdm/.config/pulse 0711 gdm gdm" - "L+ /run/gdm/.config/pulse/${pulseConfig.name} - - - - ${pulseConfig}" - ] ++ lib.optionals config.services.gnome.gnome-initial-setup.enable [ - # Create stamp file for gnome-initial-setup to prevent it starting in GDM. - "f /run/gdm/.config/gnome-initial-setup-done 0711 gdm gdm - yes" - ]; + systemd.tmpfiles.rules = + [ + "d /run/gdm/.config 0711 gdm gdm" + ] + ++ lib.optionals config.hardware.pulseaudio.enable [ + "d /run/gdm/.config/pulse 0711 gdm gdm" + "L+ /run/gdm/.config/pulse/${pulseConfig.name} - - - - ${pulseConfig}" + ] + ++ lib.optionals config.services.gnome.gnome-initial-setup.enable [ + # Create stamp file for gnome-initial-setup to prevent it starting in GDM. + "f /run/gdm/.config/gnome-initial-setup-done 0711 gdm gdm - yes" + ]; # Otherwise GDM will not be able to start correctly and display Wayland sessions systemd.packages = with pkgs.gnome; [ @@ -225,7 +247,7 @@ in # switch starts multi-user.target, display-manager.service is # stopped so plymouth-quit.service can be started.) systemd.services.plymouth-quit = lib.mkIf config.boot.plymouth.enable { - wantedBy = lib.mkForce []; + wantedBy = lib.mkForce [ ]; }; systemd.services.display-manager.serviceConfig = { @@ -248,19 +270,26 @@ in systemd.user.services.dbus.wantedBy = [ "default.target" ]; - programs.dconf.profiles.gdm.databases = lib.optionals (!cfg.gdm.autoSuspend) [{ - settings."org/gnome/settings-daemon/plugins/power" = { - sleep-inactive-ac-type = "nothing"; - sleep-inactive-battery-type = "nothing"; - sleep-inactive-ac-timeout = lib.gvariant.mkInt32 0; - sleep-inactive-battery-timeout = lib.gvariant.mkInt32 0; - }; - }] ++ lib.optionals (cfg.gdm.banner != null) [{ - settings."org/gnome/login-screen" = { - banner-message-enable = true; - banner-message-text = cfg.gdm.banner; - }; - }] ++ [ "${gdm}/share/gdm/greeter-dconf-defaults" ]; + programs.dconf.profiles.gdm.databases = + lib.optionals (!cfg.gdm.autoSuspend) [ + { + settings."org/gnome/settings-daemon/plugins/power" = { + sleep-inactive-ac-type = "nothing"; + sleep-inactive-battery-type = "nothing"; + sleep-inactive-ac-timeout = lib.gvariant.mkInt32 0; + sleep-inactive-battery-timeout = lib.gvariant.mkInt32 0; + }; + } + ] + ++ lib.optionals (cfg.gdm.banner != null) [ + { + settings."org/gnome/login-screen" = { + banner-message-enable = true; + banner-message-text = cfg.gdm.banner; + }; + } + ] + ++ [ "${gdm}/share/gdm/greeter-dconf-defaults" ]; # Use AutomaticLogin if delay is zero, because it's immediate. # Otherwise with TimedLogin with zero seconds the prompt is still @@ -269,12 +298,12 @@ in daemon = lib.mkMerge [ { WaylandEnable = cfg.gdm.wayland; } # nested if else didn't work - (lib.mkIf (config.services.displayManager.autoLogin.enable && cfg.gdm.autoLogin.delay != 0 ) { + (lib.mkIf (config.services.displayManager.autoLogin.enable && cfg.gdm.autoLogin.delay != 0) { TimedLoginEnable = true; TimedLogin = config.services.displayManager.autoLogin.user; TimedLoginDelay = cfg.gdm.autoLogin.delay; }) - (lib.mkIf (config.services.displayManager.autoLogin.enable && cfg.gdm.autoLogin.delay == 0 ) { + (lib.mkIf (config.services.displayManager.autoLogin.enable && cfg.gdm.autoLogin.delay == 0) { AutomaticLoginEnable = true; AutomaticLogin = config.services.displayManager.autoLogin.user; }) diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix index 8975d6fb9f0f7..85de2ce628497 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -20,7 +25,8 @@ let brightness=${toString cfg.brightness} ${cfg.extraConfig} ''; -in { +in +{ options = { services.xserver.displayManager.lightdm.greeters.enso = { enable = mkOption { diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix index 0907aeb839ba3..468ab09c66a56 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,8 +20,7 @@ let icons = cfg.iconTheme.package; cursors = cfg.cursorTheme.package; - gtkGreeterConf = writeText "lightdm-gtk-greeter.conf" - '' + gtkGreeterConf = writeText "lightdm-gtk-greeter.conf" '' [greeter] theme-name = ${cfg.theme.name} icon-theme-name = ${cfg.iconTheme.name} @@ -27,7 +31,7 @@ let ${optionalString (cfg.indicators != null) "indicators = ${concatStringsSep ";" cfg.indicators}"} ${optionalString (xcfg.dpi != null) "xft-dpi=${toString xcfg.dpi}"} ${cfg.extraConfig} - ''; + ''; in { @@ -128,7 +132,16 @@ in indicators = mkOption { type = types.nullOr (types.listOf types.str); default = null; - example = [ "~host" "~spacer" "~clock" "~spacer" "~session" "~language" "~a11y" "~power" ]; + example = [ + "~host" + "~spacer" + "~clock" + "~spacer" + "~session" + "~language" + "~a11y" + "~power" + ]; description = '' List of allowed indicator modules to use for the lightdm gtk greeter panel. diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix index 05e21c7211fa2..a3fca737a2b2b 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -8,8 +13,7 @@ let ldmcfg = dmcfg.lightdm; cfg = ldmcfg.greeters.mini; - miniGreeterConf = pkgs.writeText "lightdm-mini-greeter.conf" - '' + miniGreeterConf = pkgs.writeText "lightdm-mini-greeter.conf" '' [greeter] user = ${cfg.user} show-password-label = true @@ -44,7 +48,7 @@ let password-border-width = 2px ${cfg.extraConfig} - ''; + ''; in { diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix index e67d8e1dcb894..5d8edbe7c59e6 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mobile.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -9,8 +14,7 @@ in { options = { services.xserver.displayManager.lightdm.greeters.mobile = { - enable = mkEnableOption - "lightdm-mobile-greeter as the lightdm greeter"; + enable = mkEnableOption "lightdm-mobile-greeter as the lightdm greeter"; }; }; diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix index f18e4a914e579..f598fd1171a2f 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -42,8 +47,10 @@ in # Show manual login card. services.xserver.displayManager.lightdm.extraSeatDefaults = "greeter-show-manual-login=true"; - environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf"; - environment.etc."wingpanel.d/io.elementary.greeter.allowed".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.allowed"; + environment.etc."lightdm/io.elementary.greeter.conf".source = + "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf"; + environment.etc."wingpanel.d/io.elementary.greeter.allowed".source = + "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.allowed"; }; } diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix index 4758b8d94eda2..e2d83ce5dcb4f 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix index 835cf049e4ee5..4780468533de1 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -44,7 +49,6 @@ in }; }; - extraConfig = mkOption { type = types.lines; default = ""; @@ -62,16 +66,16 @@ in services.xserver.displayManager.lightdm.greeters.gtk.enable = false; services.xserver.displayManager.lightdm.greeter = - let - configHeader = '' - #include - static const char *user_text = "${cfg.label.user}"; - static const char *pass_text = "${cfg.label.pass}"; - static const char *session = "${dmcfg.defaultSession}"; - ''; - config = optionalString (cfg.extraConfig != "") (configHeader + cfg.extraConfig); - package = pkgs.lightdm-tiny-greeter.override { conf = config; }; - in + let + configHeader = '' + #include + static const char *user_text = "${cfg.label.user}"; + static const char *pass_text = "${cfg.label.pass}"; + static const char *session = "${dmcfg.defaultSession}"; + ''; + config = optionalString (cfg.extraConfig != "") (configHeader + cfg.extraConfig); + package = pkgs.lightdm-tiny-greeter.override { conf = config; }; + in mkDefault { package = package.xgreeters; name = "lightdm-tiny-greeter"; diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 25e6c597adcbd..3e964ef53266d 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,57 +20,54 @@ let inherit (pkgs) lightdm writeScript writeText; # lightdm runs with clearenv(), but we need a few things in the environment for X to startup - xserverWrapper = writeScript "xserver-wrapper" - '' - #! ${pkgs.bash}/bin/bash - ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} - - display=$(echo "$@" | xargs -n 1 | grep -P ^:\\d\$ | head -n 1 | sed s/^://) - if [ -z "$display" ] - then additionalArgs=":0 -logfile /var/log/X.0.log" - else additionalArgs="-logfile /var/log/X.$display.log" - fi - - exec ${xcfg.displayManager.xserverBin} ${toString xcfg.displayManager.xserverArgs} $additionalArgs "$@" - ''; - - usersConf = writeText "users.conf" - '' - [UserList] - minimum-uid=1000 - hidden-users=${concatStringsSep " " dmcfg.hiddenUsers} - hidden-shells=/run/current-system/sw/bin/nologin - ''; - - lightdmConf = writeText "lightdm.conf" - '' - [LightDM] - ${optionalString cfg.greeter.enable '' - greeter-user = ${config.users.users.lightdm.name} - greeters-directory = ${cfg.greeter.package} - ''} - sessions-directory = ${dmcfg.sessionData.desktops}/share/xsessions:${dmcfg.sessionData.desktops}/share/wayland-sessions - ${cfg.extraConfig} - - [Seat:*] - xserver-command = ${xserverWrapper} - session-wrapper = ${dmcfg.sessionData.wrapper} - ${optionalString cfg.greeter.enable '' - greeter-session = ${cfg.greeter.name} + xserverWrapper = writeScript "xserver-wrapper" '' + #! ${pkgs.bash}/bin/bash + ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} + + display=$(echo "$@" | xargs -n 1 | grep -P ^:\\d\$ | head -n 1 | sed s/^://) + if [ -z "$display" ] + then additionalArgs=":0 -logfile /var/log/X.0.log" + else additionalArgs="-logfile /var/log/X.$display.log" + fi + + exec ${xcfg.displayManager.xserverBin} ${toString xcfg.displayManager.xserverArgs} $additionalArgs "$@" + ''; + + usersConf = writeText "users.conf" '' + [UserList] + minimum-uid=1000 + hidden-users=${concatStringsSep " " dmcfg.hiddenUsers} + hidden-shells=/run/current-system/sw/bin/nologin + ''; + + lightdmConf = writeText "lightdm.conf" '' + [LightDM] + ${optionalString cfg.greeter.enable '' + greeter-user = ${config.users.users.lightdm.name} + greeters-directory = ${cfg.greeter.package} + ''} + sessions-directory = ${dmcfg.sessionData.desktops}/share/xsessions:${dmcfg.sessionData.desktops}/share/wayland-sessions + ${cfg.extraConfig} + + [Seat:*] + xserver-command = ${xserverWrapper} + session-wrapper = ${dmcfg.sessionData.wrapper} + ${optionalString cfg.greeter.enable '' + greeter-session = ${cfg.greeter.name} + ''} + ${optionalString dmcfg.autoLogin.enable '' + autologin-user = ${dmcfg.autoLogin.user} + autologin-user-timeout = ${toString cfg.autoLogin.timeout} + autologin-session = ${sessionData.autologinSession} + ''} + ${optionalString (xcfg.displayManager.setupCommands != "") '' + display-setup-script=${pkgs.writeScript "lightdm-display-setup" '' + #!${pkgs.bash}/bin/bash + ${xcfg.displayManager.setupCommands} ''} - ${optionalString dmcfg.autoLogin.enable '' - autologin-user = ${dmcfg.autoLogin.user} - autologin-user-timeout = ${toString cfg.autoLogin.timeout} - autologin-session = ${sessionData.autologinSession} - ''} - ${optionalString (xcfg.displayManager.setupCommands != "") '' - display-setup-script=${pkgs.writeScript "lightdm-display-setup" '' - #!${pkgs.bash}/bin/bash - ${xcfg.displayManager.setupCommands} - ''} - ''} - ${cfg.extraSeatDefaults} - ''; + ''} + ${cfg.extraSeatDefaults} + ''; in { @@ -85,18 +87,24 @@ in ./lightdm-greeters/tiny.nix ./lightdm-greeters/slick.nix ./lightdm-greeters/mobile.nix - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [ - "services" - "displayManager" - "autoLogin" - "enable" - ]) - (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "user" ] [ - "services" - "displayManager" - "autoLogin" - "user" - ]) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] + [ + "services" + "displayManager" + "autoLogin" + "enable" + ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "user" ] + [ + "services" + "displayManager" + "autoLogin" + "user" + ] + ) ]; options = { @@ -111,7 +119,7 @@ in ''; }; - greeter = { + greeter = { enable = mkOption { type = types.bool; default = true; @@ -179,17 +187,20 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = xcfg.enable; + { + assertion = xcfg.enable; message = '' LightDM requires services.xserver.enable to be true ''; } - { assertion = dmcfg.autoLogin.enable -> sessionData.autologinSession != null; + { + assertion = dmcfg.autoLogin.enable -> sessionData.autologinSession != null; message = '' LightDM auto-login requires that services.displayManager.defaultSession is set. ''; } - { assertion = !cfg.greeter.enable -> (dmcfg.autoLogin.enable && cfg.autoLogin.timeout == 0); + { + assertion = !cfg.greeter.enable -> (dmcfg.autoLogin.enable && cfg.autoLogin.timeout == 0); message = '' LightDM can only run without greeter if automatic login is enabled and the timeout for it is set to zero. @@ -198,13 +209,16 @@ in ]; # Keep in sync with the defaultText value from the option definition. - services.xserver.displayManager.lightdm.background = mkDefault pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath; + services.xserver.displayManager.lightdm.background = + mkDefault pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath; # Set default session in session chooser to a specified values – basically ignore session history. # Auto-login is already covered by a config value. - services.displayManager.preStart = optionalString (!dmcfg.autoLogin.enable && dmcfg.defaultSession != null) '' - ${setSessionScript}/bin/set-session ${dmcfg.defaultSession} - ''; + services.displayManager.preStart = + optionalString (!dmcfg.autoLogin.enable && dmcfg.defaultSession != null) + '' + ${setSessionScript}/bin/set-session ${dmcfg.defaultSession} + ''; # setSessionScript needs session-files in XDG_DATA_DIRS services.displayManager.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/"; @@ -225,7 +239,7 @@ in "getty@tty7.service" # TODO: Add "plymouth-quit.service" so LightDM can control when plymouth # quits. Currently this breaks switching to configurations with plymouth. - ]; + ]; # Pull in dependencies of services we replace. systemd.services.display-manager.after = [ @@ -271,40 +285,40 @@ in security.polkit.enable = true; security.pam.services.lightdm.text = '' - auth substack login - account include login - password substack login - session include login + auth substack login + account include login + password substack login + session include login ''; security.pam.services.lightdm-greeter.text = '' - auth required pam_succeed_if.so audit quiet_success user = lightdm - auth optional pam_permit.so + auth required pam_succeed_if.so audit quiet_success user = lightdm + auth optional pam_permit.so - account required pam_succeed_if.so audit quiet_success user = lightdm - account sufficient pam_unix.so + account required pam_succeed_if.so audit quiet_success user = lightdm + account sufficient pam_unix.so - password required pam_deny.so + password required pam_deny.so - session required pam_succeed_if.so audit quiet_success user = lightdm - session required pam_env.so conffile=/etc/pam/environment readenv=0 - session optional ${config.systemd.package}/lib/security/pam_systemd.so - session optional pam_keyinit.so force revoke - session optional pam_permit.so + session required pam_succeed_if.so audit quiet_success user = lightdm + session required pam_env.so conffile=/etc/pam/environment readenv=0 + session optional ${config.systemd.package}/lib/security/pam_systemd.so + session optional pam_keyinit.so force revoke + session optional pam_permit.so ''; security.pam.services.lightdm-autologin.text = '' - auth requisite pam_nologin.so + auth requisite pam_nologin.so - auth required pam_succeed_if.so uid >= 1000 quiet - auth required pam_permit.so + auth required pam_succeed_if.so uid >= 1000 quiet + auth required pam_permit.so - account sufficient pam_unix.so + account sufficient pam_unix.so - password requisite pam_unix.so nullok yescrypt + password requisite pam_unix.so nullok yescrypt - session optional pam_keyinit.so revoke - session include login + session optional pam_keyinit.so revoke + session include login ''; users.users.lightdm = { @@ -322,7 +336,7 @@ in ]; users.groups.lightdm.gid = config.ids.gids.lightdm; - services.xserver.tty = null; # We might start multiple X servers so let the tty increment themselves.. + services.xserver.tty = null; # We might start multiple X servers so let the tty increment themselves.. services.xserver.display = null; # We specify our own display (and logfile) in xserver-wrapper up there }; } diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 4b0948a5b7a54..c5963b0be7ec8 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix index a48566ae06841..a990c9ed5ea53 100644 --- a/nixos/modules/services/x11/display-managers/startx.nix +++ b/nixos/modules/services/x11/display-managers/startx.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -29,7 +34,6 @@ in }; }; - ###### implementation config = mkIf cfg.enable { @@ -48,7 +52,7 @@ in environment.etc."X11/xinit/xserverrc".source = pkgs.writeShellScript "xserverrc" '' exec ${pkgs.xorg.xorgserver}/bin/X ${toString config.services.xserver.displayManager.xserverArgs} "$@" ''; - environment.systemPackages = with pkgs; [ xorg.xinit ]; + environment.systemPackages = with pkgs; [ xorg.xinit ]; }; } diff --git a/nixos/modules/services/x11/extra-layouts.nix b/nixos/modules/services/x11/extra-layouts.nix index 758abc5750cb0..0327609c25cd9 100644 --- a/nixos/modules/services/x11/extra-layouts.nix +++ b/nixos/modules/services/x11/extra-layouts.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,9 +20,9 @@ let languages = mkOption { type = types.listOf types.str; description = '' - A list of languages provided by the layout. - (Use ISO 639-2 codes, for example: "eng" for english) - ''; + A list of languages provided by the layout. + (Use ISO 639-2 codes, for example: "eng" for english) + ''; }; compatFile = mkOption { @@ -89,8 +94,17 @@ in imports = [ (lib.mkRenamedOptionModuleWith { sinceRelease = 2311; - from = [ "services" "xserver" "extraLayouts" ]; - to = [ "services" "xserver" "xkb" "extraLayouts" ]; + from = [ + "services" + "xserver" + "extraLayouts" + ]; + to = [ + "services" + "xserver" + "xkb" + "extraLayouts" + ]; }) ]; @@ -100,16 +114,15 @@ in extraLayouts = mkOption { type = types.attrsOf (types.submodule layoutOpts); default = { }; - example = literalExpression - '' - { - mine = { - description = "My custom xkb layout."; - languages = [ "eng" ]; - symbolsFile = /path/to/my/layout; - }; - } - ''; + example = literalExpression '' + { + mine = { + description = "My custom xkb layout."; + languages = [ "eng" ]; + symbolsFile = /path/to/my/layout; + }; + } + ''; description = '' Extra custom layouts that will be included in the xkb configuration. Information on how to create a new layout can be found here: @@ -133,7 +146,8 @@ in services.xserver = { xkb.dir = "${xkb_patched}/etc/X11/xkb"; - exportConfiguration = config.services.xserver.displayManager.startx.enable + exportConfiguration = + config.services.xserver.displayManager.startx.enable || config.services.xserver.displayManager.sx.enable; }; diff --git a/nixos/modules/services/x11/fractalart.nix b/nixos/modules/services/x11/fractalart.nix index 448248a58794d..9ec64abc90498 100644 --- a/nixos/modules/services/x11/fractalart.nix +++ b/nixos/modules/services/x11/fractalart.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.fractalart; -in { +in +{ options.services.fractalart = { enable = mkOption { type = types.bool; @@ -30,7 +36,7 @@ in { environment.systemPackages = [ pkgs.haskellPackages.FractalArt ]; services.xserver.displayManager.sessionCommands = "${pkgs.haskellPackages.FractalArt}/bin/FractalArt --no-bg -f .background-image" - + optionalString (cfg.width != null) " -w ${toString cfg.width}" - + optionalString (cfg.height != null) " -h ${toString cfg.height}"; + + optionalString (cfg.width != null) " -w ${toString cfg.width}" + + optionalString (cfg.height != null) " -h ${toString cfg.height}"; }; } diff --git a/nixos/modules/services/x11/hardware/cmt.nix b/nixos/modules/services/x11/hardware/cmt.nix index 53906c5c716f4..23f07e5de06e7 100644 --- a/nixos/modules/services/x11/hardware/cmt.nix +++ b/nixos/modules/services/x11/hardware/cmt.nix @@ -1,13 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let -cfg = config.services.xserver.cmt; -etcPath = "X11/xorg.conf.d"; + cfg = config.services.xserver.cmt; + etcPath = "X11/xorg.conf.d"; -in { +in +{ options = { @@ -18,15 +24,64 @@ in { description = "Enable chrome multitouch input (cmt). Touchpad drivers that are configured for chromebooks."; }; models = mkOption { - type = types.enum [ "atlas" "banjo" "candy" "caroline" "cave" "celes" "clapper" "cyan" "daisy" "elan" "elm" "enguarde" "eve" "expresso" "falco" "gandof" "glimmer" "gnawty" "heli" "kevin" "kip" "leon" "lulu" "orco" "pbody" "peppy" "pi" "pit" "puppy" "quawks" "rambi" "samus" "snappy" "spring" "squawks" "swanky" "winky" "wolf" "auron_paine" "auron_yuna" "daisy_skate" "nyan_big" "nyan_blaze" "veyron_jaq" "veyron_jerry" "veyron_mighty" "veyron_minnie" "veyron_speedy" ]; + type = types.enum [ + "atlas" + "banjo" + "candy" + "caroline" + "cave" + "celes" + "clapper" + "cyan" + "daisy" + "elan" + "elm" + "enguarde" + "eve" + "expresso" + "falco" + "gandof" + "glimmer" + "gnawty" + "heli" + "kevin" + "kip" + "leon" + "lulu" + "orco" + "pbody" + "peppy" + "pi" + "pit" + "puppy" + "quawks" + "rambi" + "samus" + "snappy" + "spring" + "squawks" + "swanky" + "winky" + "wolf" + "auron_paine" + "auron_yuna" + "daisy_skate" + "nyan_big" + "nyan_blaze" + "veyron_jaq" + "veyron_jerry" + "veyron_mighty" + "veyron_minnie" + "veyron_speedy" + ]; example = "banjo"; description = '' Which models to enable cmt for. Enter the Code Name for your Chromebook. Code Name can be found at . ''; }; - }; #closes services - }; #closes options + }; # closes services + }; # closes options config = mkIf cfg.enable { diff --git a/nixos/modules/services/x11/hardware/digimend.nix b/nixos/modules/services/x11/hardware/digimend.nix index b1b1682f00b27..693db5e90720a 100644 --- a/nixos/modules/services/x11/hardware/digimend.nix +++ b/nixos/modules/services/x11/hardware/digimend.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -22,7 +27,6 @@ in }; - config = mkIf cfg.enable { # digimend drivers use xsetwacom and wacom X11 drivers diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index c43fdac6b1ec6..f943242f7bae1 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -1,27 +1,35 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; -let cfg = config.services.xserver.synaptics; - opt = options.services.xserver.synaptics; - tapConfig = if cfg.tapButtons then enabledTapConfig else disabledTapConfig; - enabledTapConfig = '' - Option "MaxTapTime" "180" - Option "MaxTapMove" "220" - Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}" - Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}" - Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}" - ''; - disabledTapConfig = '' - Option "MaxTapTime" "0" - Option "MaxTapMove" "0" - Option "TapButton1" "0" - Option "TapButton2" "0" - Option "TapButton3" "0" - ''; +let + cfg = config.services.xserver.synaptics; + opt = options.services.xserver.synaptics; + tapConfig = if cfg.tapButtons then enabledTapConfig else disabledTapConfig; + enabledTapConfig = '' + Option "MaxTapTime" "180" + Option "MaxTapMove" "220" + Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}" + Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}" + Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}" + ''; + disabledTapConfig = '' + Option "MaxTapTime" "0" + Option "MaxTapMove" "0" + Option "TapButton1" "0" + Option "TapButton2" "0" + Option "TapButton3" "0" + ''; pkg = pkgs.xorg.xf86inputsynaptics; etcFile = "X11/xorg.conf.d/70-synaptics.conf"; -in { +in +{ options = { @@ -38,9 +46,9 @@ in { default = null; example = "/dev/input/event0"; description = '' - Path for touchpad device. Set to null to apply to any - auto-detected touchpad. - ''; + Path for touchpad device. Set to null to apply to any + auto-detected touchpad. + ''; }; accelFactor = mkOption { @@ -90,14 +98,14 @@ in { horizEdgeScroll = mkOption { type = types.bool; - default = ! cfg.horizTwoFingerScroll; + default = !cfg.horizTwoFingerScroll; defaultText = literalExpression "! config.${opt.horizTwoFingerScroll}"; description = "Whether to enable horizontal edge drag-scrolling."; }; vertEdgeScroll = mkOption { type = types.bool; - default = ! cfg.vertTwoFingerScroll; + default = !cfg.vertTwoFingerScroll; defaultText = literalExpression "! config.${opt.vertTwoFingerScroll}"; description = "Whether to enable vertical edge drag-scrolling."; }; @@ -110,16 +118,32 @@ in { buttonsMap = mkOption { type = types.listOf types.int; - default = [1 2 3]; - example = [1 3 2]; + default = [ + 1 + 2 + 3 + ]; + example = [ + 1 + 3 + 2 + ]; description = "Remap touchpad buttons."; apply = map toString; }; fingersMap = mkOption { type = types.listOf types.int; - default = [1 2 3]; - example = [1 3 2]; + default = [ + 1 + 2 + 3 + ]; + example = [ + 1 + 3 + 2 + ]; description = "Remap several-fingers taps."; apply = map toString; }; @@ -166,44 +190,51 @@ in { }; - config = mkIf cfg.enable { services.xserver.modules = [ pkg.out ]; - environment.etc.${etcFile}.source = - "${pkg.out}/share/X11/xorg.conf.d/70-synaptics.conf"; + environment.etc.${etcFile}.source = "${pkg.out}/share/X11/xorg.conf.d/70-synaptics.conf"; environment.systemPackages = [ pkg ]; - services.xserver.config = - '' - # Automatically enable the synaptics driver for all touchpads. - Section "InputClass" - Identifier "synaptics touchpad catchall" - MatchIsTouchpad "on" - ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''} - Driver "synaptics" - ${optionalString (cfg.minSpeed != null) ''Option "MinSpeed" "${cfg.minSpeed}"''} - ${optionalString (cfg.maxSpeed != null) ''Option "MaxSpeed" "${cfg.maxSpeed}"''} - ${optionalString (cfg.accelFactor != null) ''Option "AccelFactor" "${cfg.accelFactor}"''} - ${optionalString cfg.tapButtons tapConfig} - Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" - Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" - Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" - Option "VertTwoFingerScroll" "${if cfg.vertTwoFingerScroll then "1" else "0"}" - Option "HorizTwoFingerScroll" "${if cfg.horizTwoFingerScroll then "1" else "0"}" - Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}" - Option "HorizEdgeScroll" "${if cfg.horizEdgeScroll then "1" else "0"}" - ${optionalString cfg.palmDetect ''Option "PalmDetect" "1"''} - ${optionalString (cfg.palmMinWidth != null) ''Option "PalmMinWidth" "${toString cfg.palmMinWidth}"''} - ${optionalString (cfg.palmMinZ != null) ''Option "PalmMinZ" "${toString cfg.palmMinZ}"''} - ${optionalString (cfg.scrollDelta != null) ''Option "VertScrollDelta" "${toString cfg.scrollDelta}"''} - ${if !cfg.horizontalScroll then ''Option "HorizScrollDelta" "0"'' - else (optionalString (cfg.scrollDelta != null) ''Option "HorizScrollDelta" "${toString cfg.scrollDelta}"'')} - ${cfg.additionalOptions} - EndSection - ''; + services.xserver.config = '' + # Automatically enable the synaptics driver for all touchpads. + Section "InputClass" + Identifier "synaptics touchpad catchall" + MatchIsTouchpad "on" + ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''} + Driver "synaptics" + ${optionalString (cfg.minSpeed != null) ''Option "MinSpeed" "${cfg.minSpeed}"''} + ${optionalString (cfg.maxSpeed != null) ''Option "MaxSpeed" "${cfg.maxSpeed}"''} + ${optionalString (cfg.accelFactor != null) ''Option "AccelFactor" "${cfg.accelFactor}"''} + ${optionalString cfg.tapButtons tapConfig} + Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" + Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" + Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" + Option "VertTwoFingerScroll" "${if cfg.vertTwoFingerScroll then "1" else "0"}" + Option "HorizTwoFingerScroll" "${if cfg.horizTwoFingerScroll then "1" else "0"}" + Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}" + Option "HorizEdgeScroll" "${if cfg.horizEdgeScroll then "1" else "0"}" + ${optionalString cfg.palmDetect ''Option "PalmDetect" "1"''} + ${optionalString ( + cfg.palmMinWidth != null + ) ''Option "PalmMinWidth" "${toString cfg.palmMinWidth}"''} + ${optionalString (cfg.palmMinZ != null) ''Option "PalmMinZ" "${toString cfg.palmMinZ}"''} + ${optionalString ( + cfg.scrollDelta != null + ) ''Option "VertScrollDelta" "${toString cfg.scrollDelta}"''} + ${ + if !cfg.horizontalScroll then + ''Option "HorizScrollDelta" "0"'' + else + (optionalString ( + cfg.scrollDelta != null + ) ''Option "HorizScrollDelta" "${toString cfg.scrollDelta}"'') + } + ${cfg.additionalOptions} + EndSection + ''; assertions = [ { diff --git a/nixos/modules/services/x11/hardware/wacom.nix b/nixos/modules/services/x11/hardware/wacom.nix index 4517788f56d5c..3707b7f415753 100644 --- a/nixos/modules/services/x11/hardware/wacom.nix +++ b/nixos/modules/services/x11/hardware/wacom.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -32,7 +37,6 @@ in }; - config = mkIf cfg.enable { environment.systemPackages = [ pkgs.xf86_input_wacom ]; # provides xsetwacom @@ -41,7 +45,8 @@ in services.udev.packages = [ pkgs.xf86_input_wacom ]; - environment.etc."X11/xorg.conf.d/70-wacom.conf".source = "${pkgs.xf86_input_wacom}/share/X11/xorg.conf.d/70-wacom.conf"; + environment.etc."X11/xorg.conf.d/70-wacom.conf".source = + "${pkgs.xf86_input_wacom}/share/X11/xorg.conf.d/70-wacom.conf"; }; diff --git a/nixos/modules/services/x11/imwheel.nix b/nixos/modules/services/x11/imwheel.nix index 311cbc6f73334..2898af201a7e1 100644 --- a/nixos/modules/services/x11/imwheel.nix +++ b/nixos/modules/services/x11/imwheel.nix @@ -1,71 +1,79 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.xserver.imwheel; in - { - options = { - services.xserver.imwheel = { - enable = mkEnableOption "IMWheel service"; +{ + options = { + services.xserver.imwheel = { + enable = mkEnableOption "IMWheel service"; - extraOptions = mkOption { - type = types.listOf types.str; - default = [ "--buttons=45" ]; - example = [ "--debug" ]; - description = '' - Additional command-line arguments to pass to - {command}`imwheel`. - ''; - }; + extraOptions = mkOption { + type = types.listOf types.str; + default = [ "--buttons=45" ]; + example = [ "--debug" ]; + description = '' + Additional command-line arguments to pass to + {command}`imwheel`. + ''; + }; - rules = mkOption { - type = types.attrsOf types.str; - default = {}; - example = literalExpression '' - { - ".*" = ''' - None, Up, Button4, 8 - None, Down, Button5, 8 - Shift_L, Up, Shift_L|Button4, 4 - Shift_L, Down, Shift_L|Button5, 4 - Control_L, Up, Control_L|Button4 - Control_L, Down, Control_L|Button5 - '''; - } - ''; - description = '' - Window class translation rules. - /etc/X11/imwheelrc is generated based on this config - which means this config is global for all users. - See [official man pages](https://imwheel.sourceforge.net/imwheel.1.html) - for more information. - ''; - }; + rules = mkOption { + type = types.attrsOf types.str; + default = { }; + example = literalExpression '' + { + ".*" = ''' + None, Up, Button4, 8 + None, Down, Button5, 8 + Shift_L, Up, Shift_L|Button4, 4 + Shift_L, Down, Shift_L|Button5, 4 + Control_L, Up, Control_L|Button4 + Control_L, Down, Control_L|Button5 + '''; + } + ''; + description = '' + Window class translation rules. + /etc/X11/imwheelrc is generated based on this config + which means this config is global for all users. + See [official man pages](https://imwheel.sourceforge.net/imwheel.1.html) + for more information. + ''; }; }; + }; - config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.imwheel ]; + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.imwheel ]; - environment.etc."X11/imwheel/imwheelrc".source = - pkgs.writeText "imwheelrc" (concatStringsSep "\n\n" - (mapAttrsToList - (rule: conf: "\"${rule}\"\n${conf}") cfg.rules - )); + environment.etc."X11/imwheel/imwheelrc".source = pkgs.writeText "imwheelrc" ( + concatStringsSep "\n\n" (mapAttrsToList (rule: conf: "\"${rule}\"\n${conf}") cfg.rules) + ); - systemd.user.services.imwheel = { - description = "imwheel service"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; - serviceConfig = { - ExecStart = "${pkgs.imwheel}/bin/imwheel " + escapeShellArgs ([ - "--detach" - "--kill" - ] ++ cfg.extraOptions); - ExecStop = "${pkgs.procps}/bin/pkill imwheel"; - RestartSec = 3; - Restart = "always"; - }; + systemd.user.services.imwheel = { + description = "imwheel service"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = + "${pkgs.imwheel}/bin/imwheel " + + escapeShellArgs ( + [ + "--detach" + "--kill" + ] + ++ cfg.extraOptions + ); + ExecStop = "${pkgs.procps}/bin/pkill imwheel"; + RestartSec = 3; + Restart = "always"; }; }; - } + }; +} diff --git a/nixos/modules/services/x11/picom.nix b/nixos/modules/services/x11/picom.nix index fe07ab515ef25..237d78484286f 100644 --- a/nixos/modules/services/x11/picom.nix +++ b/nixos/modules/services/x11/picom.nix @@ -1,4 +1,10 @@ -{ config, lib, options, pkgs, ... }: +{ + config, + lib, + options, + pkgs, + ... +}: with lib; @@ -7,38 +13,53 @@ let cfg = config.services.picom; opt = options.services.picom; - pairOf = x: with types; - addCheck (listOf x) (y: length y == 2) - // { description = "pair of ${x.description}"; }; + pairOf = + x: + with types; + addCheck (listOf x) (y: length y == 2) // { description = "pair of ${x.description}"; }; mkDefaultAttrs = mapAttrs (n: v: mkDefault v); # Basically a tinkered lib.generators.mkKeyValueDefault # It either serializes a top-level definition "key: { values };" # or an expression "key = { values };" - mkAttrsString = top: - mapAttrsToList (k: v: - let sep = if (top && isAttrs v) then ":" else "="; - in "${escape [ sep ] k}${sep}${mkValueString v};"); + mkAttrsString = + top: + mapAttrsToList ( + k: v: + let + sep = if (top && isAttrs v) then ":" else "="; + in + "${escape [ sep ] k}${sep}${mkValueString v};" + ); # This serializes a Nix expression to the libconfig format. - mkValueString = v: - if types.bool.check v then boolToString v - else if types.int.check v then toString v - else if types.float.check v then toString v - else if types.str.check v then "\"${escape [ "\"" ] v}\"" - else if builtins.isList v then "[ ${concatMapStringsSep " , " mkValueString v} ]" - else if types.attrs.check v then "{ ${concatStringsSep " " (mkAttrsString false v) } }" - else throw '' - invalid expression used in option services.picom.settings: - ${v} - ''; + mkValueString = + v: + if types.bool.check v then + boolToString v + else if types.int.check v then + toString v + else if types.float.check v then + toString v + else if types.str.check v then + "\"${escape [ "\"" ] v}\"" + else if builtins.isList v then + "[ ${concatMapStringsSep " , " mkValueString v} ]" + else if types.attrs.check v then + "{ ${concatStringsSep " " (mkAttrsString false v)} }" + else + throw '' + invalid expression used in option services.picom.settings: + ${v} + ''; toConf = attrs: concatStringsSep "\n" (mkAttrsString true cfg.settings); configFile = pkgs.writeText "picom.conf" (toConf cfg.settings); -in { +in +{ imports = [ (mkAliasOptionModuleMD [ "services" "compton" ] [ "services" "picom" ]) @@ -82,8 +103,14 @@ in { fadeSteps = mkOption { type = pairOf (types.numbers.between 0.01 1); - default = [ 0.028 0.03 ]; - example = [ 0.04 0.04 ]; + default = [ + 0.028 + 0.03 + ]; + example = [ + 0.04 + 0.04 + ]; description = '' Opacity change between fade steps (in and out). ''; @@ -91,7 +118,7 @@ in { fadeExclude = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "window_type *= 'menu'" "name ~= 'Firefox$'" @@ -113,8 +140,14 @@ in { shadowOffsets = mkOption { type = pairOf types.int; - default = [ (-15) (-15) ]; - example = [ (-10) (-15) ]; + default = [ + (-15) + (-15) + ]; + example = [ + (-10) + (-15) + ]; description = '' Left and right offset for shadows (in pixels). ''; @@ -131,7 +164,7 @@ in { shadowExclude = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "window_type *= 'menu'" "name ~= 'Firefox$'" @@ -173,8 +206,12 @@ in { wintypes = mkOption { type = types.attrs; default = { - popup_menu = { opacity = cfg.menuOpacity; }; - dropdown_menu = { opacity = cfg.menuOpacity; }; + popup_menu = { + opacity = cfg.menuOpacity; + }; + dropdown_menu = { + opacity = cfg.menuOpacity; + }; }; defaultText = literalExpression '' { @@ -182,7 +219,7 @@ in { dropdown_menu = { opacity = config.${opt.menuOpacity}; }; } ''; - example = {}; + example = { }; description = '' Rules for specific window types. ''; @@ -190,7 +227,7 @@ in { opacityRules = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "95:class_g = 'URxvt' && !_NET_WM_STATE@:32a" "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" @@ -201,7 +238,12 @@ in { }; backend = mkOption { - type = types.enum [ "egl" "glx" "xrender" "xr_glx_hybrid" ]; + type = types.enum [ + "egl" + "glx" + "xrender" + "xr_glx_hybrid" + ]; default = "xrender"; description = '' Backend to use: `egl`, `glx`, `xrender` or `xr_glx_hybrid`. @@ -209,17 +251,26 @@ in { }; vSync = mkOption { - type = with types; either bool - (enum [ "none" "drm" "opengl" "opengl-oml" "opengl-swc" "opengl-mswc" ]); + type = + with types; + either bool (enum [ + "none" + "drm" + "opengl" + "opengl-oml" + "opengl-swc" + "opengl-mswc" + ]); default = false; - apply = x: + apply = + x: let res = x != "none"; - msg = "The type of services.picom.vSync has changed to bool:" - + " interpreting ${x} as ${boolToString res}"; + msg = + "The type of services.picom.vSync has changed to bool:" + + " interpreting ${x} as ${boolToString res}"; in - if isBool x then x - else warn msg res; + if isBool x then x else warn msg res; description = '' Enable vertical synchronization. Chooses the best method @@ -228,68 +279,85 @@ in { ''; }; - settings = with types; - let - scalar = oneOf [ bool int float str ] - // { description = "scalar types"; }; - - libConfig = oneOf [ scalar (listOf libConfig) (attrsOf libConfig) ] - // { description = "libconfig type"; }; - - topLevel = attrsOf libConfig - // { description = '' - libconfig configuration. The format consists of an attributes - set (called a group) of settings. Each setting can be a scalar type - (boolean, integer, floating point number or string), a list of - scalars or a group itself - ''; - }; - - in mkOption { - type = topLevel; - default = { }; - example = literalExpression '' - blur = - { method = "gaussian"; - size = 10; - deviation = 5.0; + settings = + with types; + let + scalar = + oneOf [ + bool + int + float + str + ] + // { + description = "scalar types"; }; - ''; - description = '' - Picom settings. Use this option to configure Picom settings not exposed - in a NixOS option or to bypass one. For the available options see the - CONFIGURATION FILES section at `picom(1)`. - ''; - }; + + libConfig = + oneOf [ + scalar + (listOf libConfig) + (attrsOf libConfig) + ] + // { + description = "libconfig type"; + }; + + topLevel = attrsOf libConfig // { + description = '' + libconfig configuration. The format consists of an attributes + set (called a group) of settings. Each setting can be a scalar type + (boolean, integer, floating point number or string), a list of + scalars or a group itself + ''; + }; + + in + mkOption { + type = topLevel; + default = { }; + example = literalExpression '' + blur = + { method = "gaussian"; + size = 10; + deviation = 5.0; + }; + ''; + description = '' + Picom settings. Use this option to configure Picom settings not exposed + in a NixOS option or to bypass one. For the available options see the + CONFIGURATION FILES section at `picom(1)`. + ''; + }; }; config = mkIf cfg.enable { services.picom.settings = mkDefaultAttrs { # fading - fading = cfg.fade; - fade-delta = cfg.fadeDelta; - fade-in-step = elemAt cfg.fadeSteps 0; - fade-out-step = elemAt cfg.fadeSteps 1; - fade-exclude = cfg.fadeExclude; + fading = cfg.fade; + fade-delta = cfg.fadeDelta; + fade-in-step = elemAt cfg.fadeSteps 0; + fade-out-step = elemAt cfg.fadeSteps 1; + fade-exclude = cfg.fadeExclude; # shadows - shadow = cfg.shadow; - shadow-offset-x = elemAt cfg.shadowOffsets 0; - shadow-offset-y = elemAt cfg.shadowOffsets 1; - shadow-opacity = cfg.shadowOpacity; - shadow-exclude = cfg.shadowExclude; + shadow = cfg.shadow; + shadow-offset-x = elemAt cfg.shadowOffsets 0; + shadow-offset-y = elemAt cfg.shadowOffsets 1; + shadow-opacity = cfg.shadowOpacity; + shadow-exclude = cfg.shadowExclude; # opacity - active-opacity = cfg.activeOpacity; + active-opacity = cfg.activeOpacity; inactive-opacity = cfg.inactiveOpacity; - wintypes = cfg.wintypes; + wintypes = cfg.wintypes; - opacity-rule = cfg.opacityRules; + opacity-rule = cfg.opacityRules; # other options - backend = cfg.backend; - vsync = cfg.vSync; + backend = cfg.backend; + vsync = cfg.vSync; }; systemd.user.services.picom = { diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix index b0b22e6782784..661053c20016c 100644 --- a/nixos/modules/services/x11/redshift.nix +++ b/nixos/modules/services/x11/redshift.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,21 +12,30 @@ let cfg = config.services.redshift; lcfg = config.location; -in { +in +{ imports = [ - (mkChangedOptionModule [ "services" "redshift" "latitude" ] [ "location" "latitude" ] - (config: - let value = getAttrFromPath [ "services" "redshift" "latitude" ] config; - in if value == null then - throw "services.redshift.latitude is set to null, you can remove this" - else builtins.fromJSON value)) - (mkChangedOptionModule [ "services" "redshift" "longitude" ] [ "location" "longitude" ] - (config: - let value = getAttrFromPath [ "services" "redshift" "longitude" ] config; - in if value == null then - throw "services.redshift.longitude is set to null, you can remove this" - else builtins.fromJSON value)) + (mkChangedOptionModule [ "services" "redshift" "latitude" ] [ "location" "latitude" ] ( + config: + let + value = getAttrFromPath [ "services" "redshift" "latitude" ] config; + in + if value == null then + throw "services.redshift.latitude is set to null, you can remove this" + else + builtins.fromJSON value + )) + (mkChangedOptionModule [ "services" "redshift" "longitude" ] [ "location" "longitude" ] ( + config: + let + value = getAttrFromPath [ "services" "redshift" "longitude" ] config; + in + if value == null then + throw "services.redshift.longitude is set to null, you can remove this" + else + builtins.fromJSON value + )) (mkRenamedOptionModule [ "services" "redshift" "provider" ] [ "location" "provider" ]) ]; @@ -86,8 +100,11 @@ in { extraOptions = mkOption { type = types.listOf types.str; - default = []; - example = [ "-v" "-m randr" ]; + default = [ ]; + example = [ + "-v" + "-m randr" + ]; description = '' Additional command-line arguments to pass to {command}`redshift`. @@ -105,27 +122,29 @@ in { }; systemd.user.services.redshift = - let - providerString = if lcfg.provider == "manual" - then "${toString lcfg.latitude}:${toString lcfg.longitude}" - else lcfg.provider; - in - { - description = "Redshift colour temperature adjuster"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; - serviceConfig = { - ExecStart = '' - ${cfg.package}${cfg.executable} \ - -l ${providerString} \ - -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} \ - -b ${toString cfg.brightness.day}:${toString cfg.brightness.night} \ - ${lib.strings.concatStringsSep " " cfg.extraOptions} - ''; - RestartSec = 3; - Restart = "always"; + let + providerString = + if lcfg.provider == "manual" then + "${toString lcfg.latitude}:${toString lcfg.longitude}" + else + lcfg.provider; + in + { + description = "Redshift colour temperature adjuster"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = '' + ${cfg.package}${cfg.executable} \ + -l ${providerString} \ + -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} \ + -b ${toString cfg.brightness.day}:${toString cfg.brightness.night} \ + ${lib.strings.concatStringsSep " " cfg.extraOptions} + ''; + RestartSec = 3; + Restart = "always"; + }; }; - }; }; } diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix index e6b50c21a9526..165cbea6574a1 100644 --- a/nixos/modules/services/x11/terminal-server.nix +++ b/nixos/modules/services/x11/terminal-server.nix @@ -14,42 +14,50 @@ with lib; config = { services.xserver.enable = true; - services.xserver.videoDrivers = []; + services.xserver.videoDrivers = [ ]; # Enable GDM. Any display manager will do as long as it supports XDMCP. services.xserver.displayManager.gdm.enable = true; - systemd.sockets.terminal-server = - { description = "Terminal Server Socket"; - wantedBy = [ "sockets.target" ]; - before = [ "multi-user.target" ]; - socketConfig.Accept = true; - socketConfig.ListenStream = 5900; - }; + systemd.sockets.terminal-server = { + description = "Terminal Server Socket"; + wantedBy = [ "sockets.target" ]; + before = [ "multi-user.target" ]; + socketConfig.Accept = true; + socketConfig.ListenStream = 5900; + }; + + systemd.services."terminal-server@" = { + description = "Terminal Server"; + + path = [ + pkgs.xorg.xorgserver.out + pkgs.gawk + pkgs.which + pkgs.openssl + pkgs.xorg.xauth + pkgs.nettools + pkgs.shadow + pkgs.procps + pkgs.util-linux + pkgs.bash + ]; + + environment.FD_GEOM = "1024x786x24"; + environment.FD_XDMCP_IF = "127.0.0.1"; + #environment.FIND_DISPLAY_OUTPUT = "/tmp/foo"; # to debug the "find display" script - systemd.services."terminal-server@" = - { description = "Terminal Server"; - - path = - [ pkgs.xorg.xorgserver.out pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth - pkgs.nettools pkgs.shadow pkgs.procps pkgs.util-linux pkgs.bash - ]; - - environment.FD_GEOM = "1024x786x24"; - environment.FD_XDMCP_IF = "127.0.0.1"; - #environment.FIND_DISPLAY_OUTPUT = "/tmp/foo"; # to debug the "find display" script - - serviceConfig = - { StandardInput = "socket"; - StandardOutput = "socket"; - StandardError = "journal"; - ExecStart = "@${pkgs.x11vnc}/bin/x11vnc x11vnc -inetd -display WAIT:1024x786:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -ssl SAVE"; - # Don't kill the X server when the user quits the VNC - # connection. FIXME: the X server should run in a - # separate systemd session. - KillMode = "process"; - }; + serviceConfig = { + StandardInput = "socket"; + StandardOutput = "socket"; + StandardError = "journal"; + ExecStart = "@${pkgs.x11vnc}/bin/x11vnc x11vnc -inetd -display WAIT:1024x786:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -ssl SAVE"; + # Don't kill the X server when the user quits the VNC + # connection. FIXME: the X server should run in a + # separate systemd session. + KillMode = "process"; }; + }; }; diff --git a/nixos/modules/services/x11/touchegg.nix b/nixos/modules/services/x11/touchegg.nix index 660ec0b8f706f..def3dac738e04 100644 --- a/nixos/modules/services/x11/touchegg.nix +++ b/nixos/modules/services/x11/touchegg.nix @@ -1,10 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.touchegg; +let + cfg = config.services.touchegg; -in { +in +{ meta = { maintainers = teams.pantheon.members; }; diff --git a/nixos/modules/services/x11/unclutter-xfixes.nix b/nixos/modules/services/x11/unclutter-xfixes.nix index a302eee1bad93..48adb3665f387 100644 --- a/nixos/modules/services/x11/unclutter-xfixes.nix +++ b/nixos/modules/services/x11/unclutter-xfixes.nix @@ -1,10 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.unclutter-xfixes; +let + cfg = config.services.unclutter-xfixes; -in { +in +{ options.services.unclutter-xfixes = { enable = mkOption { @@ -30,8 +37,12 @@ in { extraOptions = mkOption { description = "More arguments to pass to the unclutter-xfixes command."; type = types.listOf types.str; - default = []; - example = [ "exclude-root" "ignore-scrolling" "fork" ]; + default = [ ]; + example = [ + "exclude-root" + "ignore-scrolling" + "fork" + ]; }; }; @@ -44,7 +55,7 @@ in { ${cfg.package}/bin/unclutter \ --timeout ${toString cfg.timeout} \ --jitter ${toString (cfg.threshold - 1)} \ - ${concatMapStrings (x: " --"+x) cfg.extraOptions} \ + ${concatMapStrings (x: " --" + x) cfg.extraOptions} \ ''; serviceConfig.RestartSec = 3; serviceConfig.Restart = "always"; diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix index 7f07bb8582bc7..bb11c8639783b 100644 --- a/nixos/modules/services/x11/unclutter.nix +++ b/nixos/modules/services/x11/unclutter.nix @@ -1,10 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.unclutter; +let + cfg = config.services.unclutter; -in { +in +{ options.services.unclutter = { enable = mkOption { @@ -36,15 +43,18 @@ in { excluded = mkOption { description = "Names of windows where unclutter should not apply"; type = types.listOf types.str; - default = []; + default = [ ]; example = [ "" ]; }; extraOptions = mkOption { description = "More arguments to pass to the unclutter command"; type = types.listOf types.str; - default = []; - example = [ "noevent" "grab" ]; + default = [ ]; + example = [ + "noevent" + "grab" + ]; }; }; @@ -58,7 +68,7 @@ in { -idle ${toString cfg.timeout} \ -jitter ${toString (cfg.threshold - 1)} \ ${optionalString cfg.keystroke "-keystroke"} \ - ${concatMapStrings (x: " -"+x) cfg.extraOptions} \ + ${concatMapStrings (x: " -" + x) cfg.extraOptions} \ -not ${concatStringsSep " " cfg.excluded} \ ''; serviceConfig.PassEnvironment = "DISPLAY"; @@ -68,8 +78,10 @@ in { }; imports = [ - (mkRenamedOptionModule [ "services" "unclutter" "threeshold" ] - [ "services" "unclutter" "threshold" ]) + (mkRenamedOptionModule + [ "services" "unclutter" "threeshold" ] + [ "services" "unclutter" "threshold" ] + ) ]; meta.maintainers = with lib.maintainers; [ rnhmjoj ]; diff --git a/nixos/modules/services/x11/urserver.nix b/nixos/modules/services/x11/urserver.nix index 30f8a9805cfbc..53df3c683a414 100644 --- a/nixos/modules/services/x11/urserver.nix +++ b/nixos/modules/services/x11/urserver.nix @@ -1,17 +1,29 @@ # urserver service -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.urserver; -in { +in +{ options.services.urserver.enable = lib.mkEnableOption "urserver"; config = lib.mkIf cfg.enable { networking.firewall = { - allowedTCPPorts = [ 9510 9512 ]; - allowedUDPPorts = [ 9511 9512 ]; + allowedTCPPorts = [ + 9510 + 9512 + ]; + allowedUDPPorts = [ + 9511 + 9512 + ]; }; systemd.user.services.urserver = { diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix index 618db85d477bd..5f8212a3c9ce2 100644 --- a/nixos/modules/services/x11/urxvtd.nix +++ b/nixos/modules/services/x11/urxvtd.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: # maintainer: siddharthist @@ -6,7 +11,8 @@ with lib; let cfg = config.services.urxvtd; -in { +in +{ options.services.urxvtd = { enable = mkOption { type = types.bool; diff --git a/nixos/modules/services/x11/window-managers/2bwm.nix b/nixos/modules/services/x11/window-managers/2bwm.nix index fdbdf35b0f5af..ce01fcb17a10e 100644 --- a/nixos/modules/services/x11/window-managers/2bwm.nix +++ b/nixos/modules/services/x11/window-managers/2bwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -16,19 +21,17 @@ in services.xserver.windowManager."2bwm".enable = mkEnableOption "2bwm"; }; - ###### implementation config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "2bwm"; - start = - '' - ${pkgs._2bwm}/bin/2bwm & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "2bwm"; + start = '' + ${pkgs._2bwm}/bin/2bwm & + waitPID=$! + ''; + }; environment.systemPackages = [ pkgs._2bwm ]; diff --git a/nixos/modules/services/x11/window-managers/afterstep.nix b/nixos/modules/services/x11/window-managers/afterstep.nix index ba88a64c702a6..d88be7db3757d 100644 --- a/nixos/modules/services/x11/window-managers/afterstep.nix +++ b/nixos/modules/services/x11/window-managers/afterstep.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/awesome.nix b/nixos/modules/services/x11/window-managers/awesome.nix index 20a33fa87d4d8..8b3d781c4c218 100644 --- a/nixos/modules/services/x11/window-managers/awesome.nix +++ b/nixos/modules/services/x11/window-managers/awesome.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,9 +12,8 @@ let cfg = config.services.xserver.windowManager.awesome; awesome = cfg.package; getLuaPath = lib: dir: "${lib}/${dir}/lua/${awesome.lua.luaversion}"; - makeSearchPath = lib.concatMapStrings (path: - " --search " + (getLuaPath path "share") + - " --search " + (getLuaPath path "lib") + makeSearchPath = lib.concatMapStrings ( + path: " --search " + (getLuaPath path "share") + " --search " + (getLuaPath path "lib") ); in @@ -24,7 +28,7 @@ in enable = mkEnableOption "Awesome window manager"; luaModules = mkOption { - default = []; + default = [ ]; type = types.listOf types.package; description = "List of lua packages available for being used in the Awesome configuration."; example = literalExpression "[ pkgs.luaPackages.vicious ]"; @@ -41,19 +45,17 @@ in }; - ###### implementation config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "awesome"; - start = - '' - ${awesome}/bin/awesome ${lib.optionalString cfg.noArgb "--no-argb"} ${makeSearchPath cfg.luaModules} & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "awesome"; + start = '' + ${awesome}/bin/awesome ${lib.optionalString cfg.noArgb "--no-argb"} ${makeSearchPath cfg.luaModules} & + waitPID=$! + ''; + }; environment.systemPackages = [ awesome ]; diff --git a/nixos/modules/services/x11/window-managers/berry.nix b/nixos/modules/services/x11/window-managers/berry.nix index 0d2285e7a60eb..ba094d0e3efcf 100644 --- a/nixos/modules/services/x11/window-managers/berry.nix +++ b/nixos/modules/services/x11/window-managers/berry.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/bspwm.nix b/nixos/modules/services/x11/window-managers/bspwm.nix index b7feeab52a56b..46201036f05af 100644 --- a/nixos/modules/services/x11/window-managers/bspwm.nix +++ b/nixos/modules/services/x11/window-managers/bspwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,9 +20,9 @@ in example = "bspwm-unstable"; }; configFile = mkOption { - type = with types; nullOr path; - example = literalExpression ''"''${pkgs.bspwm}/share/doc/bspwm/examples/bspwmrc"''; - default = null; + type = with types; nullOr path; + example = literalExpression ''"''${pkgs.bspwm}/share/doc/bspwm/examples/bspwmrc"''; + default = null; description = '' Path to the bspwm configuration file. If null, $HOME/.config/bspwm/bspwmrc will be used. @@ -29,9 +34,9 @@ in example = "sxhkd-unstable"; }; configFile = mkOption { - type = with types; nullOr path; - example = literalExpression ''"''${pkgs.bspwm}/share/doc/bspwm/examples/sxhkdrc"''; - default = null; + type = with types; nullOr path; + example = literalExpression ''"''${pkgs.bspwm}/share/doc/bspwm/examples/sxhkdrc"''; + default = null; description = '' Path to the sxhkd configuration file. If null, $HOME/.config/sxhkd/sxhkdrc will be used. @@ -43,10 +48,12 @@ in config = mkIf cfg.enable { services.xserver.windowManager.session = singleton { - name = "bspwm"; + name = "bspwm"; start = '' export _JAVA_AWT_WM_NONREPARENTING=1 - SXHKD_SHELL=/bin/sh ${cfg.sxhkd.package}/bin/sxhkd ${optionalString (cfg.sxhkd.configFile != null) "-c \"${cfg.sxhkd.configFile}\""} & + SXHKD_SHELL=/bin/sh ${cfg.sxhkd.package}/bin/sxhkd ${ + optionalString (cfg.sxhkd.configFile != null) "-c \"${cfg.sxhkd.configFile}\"" + } & ${cfg.package}/bin/bspwm ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\""} & waitPID=$! ''; @@ -55,11 +62,22 @@ in }; imports = [ - (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm-unstable" "enable" ] - "Use services.xserver.windowManager.bspwm.enable and set services.xserver.windowManager.bspwm.package to pkgs.bspwm-unstable to use the unstable version of bspwm.") - (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm" "startThroughSession" ] - "bspwm package does not provide bspwm-session anymore.") - (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm" "sessionScript" ] - "bspwm package does not provide bspwm-session anymore.") + (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm-unstable" "enable" ] + "Use services.xserver.windowManager.bspwm.enable and set services.xserver.windowManager.bspwm.package to pkgs.bspwm-unstable to use the unstable version of bspwm." + ) + (mkRemovedOptionModule [ + "services" + "xserver" + "windowManager" + "bspwm" + "startThroughSession" + ] "bspwm package does not provide bspwm-session anymore.") + (mkRemovedOptionModule [ + "services" + "xserver" + "windowManager" + "bspwm" + "sessionScript" + ] "bspwm package does not provide bspwm-session anymore.") ]; } diff --git a/nixos/modules/services/x11/window-managers/clfswm.nix b/nixos/modules/services/x11/window-managers/clfswm.nix index 09b49962f2ad7..b50b60849495b 100644 --- a/nixos/modules/services/x11/window-managers/clfswm.nix +++ b/nixos/modules/services/x11/window-managers/clfswm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/cwm.nix b/nixos/modules/services/x11/window-managers/cwm.nix index 03375a226bb6b..d2be487b0d4ca 100644 --- a/nixos/modules/services/x11/window-managers/cwm.nix +++ b/nixos/modules/services/x11/window-managers/cwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -10,14 +15,13 @@ in services.xserver.windowManager.cwm.enable = mkEnableOption "cwm"; }; config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "cwm"; - start = - '' - cwm & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "cwm"; + start = '' + cwm & + waitPID=$! + ''; + }; environment.systemPackages = [ pkgs.cwm ]; }; } diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index 85eb4c6614d94..e54a9bd1cfa8b 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -48,7 +48,8 @@ in ./xmonad.nix ./yeahwm.nix ./qtile.nix - ./none.nix ]; + ./none.nix + ]; options = { @@ -56,19 +57,25 @@ in session = mkOption { internal = true; - default = []; - example = [{ - name = "wmii"; - start = "..."; - }]; + default = [ ]; + example = [ + { + name = "wmii"; + start = "..."; + } + ]; description = '' Internal option used to add some common line to window manager scripts before forwarding the value to the `displayManager`. ''; - apply = map (d: d // { - manage = "window"; - }); + apply = map ( + d: + d + // { + manage = "window"; + } + ); }; }; diff --git a/nixos/modules/services/x11/window-managers/dk.nix b/nixos/modules/services/x11/window-managers/dk.nix index afd35ae477a64..29f17f3e070c3 100644 --- a/nixos/modules/services/x11/window-managers/dk.nix +++ b/nixos/modules/services/x11/window-managers/dk.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.xserver.windowManager.dk; diff --git a/nixos/modules/services/x11/window-managers/e16.nix b/nixos/modules/services/x11/window-managers/e16.nix index 3e1a22c4dabd8..b1ed3ea66417e 100644 --- a/nixos/modules/services/x11/window-managers/e16.nix +++ b/nixos/modules/services/x11/window-managers/e16.nix @@ -1,4 +1,9 @@ -{ config , lib , pkgs , ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/evilwm.nix b/nixos/modules/services/x11/window-managers/evilwm.nix index 6f1db2110f879..a89e97f358a6e 100644 --- a/nixos/modules/services/x11/window-managers/evilwm.nix +++ b/nixos/modules/services/x11/window-managers/evilwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/exwm.nix b/nixos/modules/services/x11/window-managers/exwm.nix index 1c08ef93f9b67..301a3c85d9e16 100644 --- a/nixos/modules/services/x11/window-managers/exwm.nix +++ b/nixos/modules/services/x11/window-managers/exwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -14,7 +19,8 @@ in imports = [ (mkRemovedOptionModule [ "services" "xserver" "windowManager" "exwm" "enableDefaultConfig" ] - "The upstream EXWM project no longer provides a default configuration, instead copy (parts of) exwm-config.el to your local config.") + "The upstream EXWM project no longer provides a default configuration, instead copy (parts of) exwm-config.el to your local config." + ) ]; options = { @@ -34,7 +40,7 @@ in }; extraPackages = mkOption { type = types.functionTo (types.listOf types.package); - default = epkgs: []; + default = epkgs: [ ]; defaultText = literalExpression "epkgs: []"; example = literalExpression '' epkgs: [ diff --git a/nixos/modules/services/x11/window-managers/fluxbox.nix b/nixos/modules/services/x11/window-managers/fluxbox.nix index b409335702aff..b97433d873067 100644 --- a/nixos/modules/services/x11/window-managers/fluxbox.nix +++ b/nixos/modules/services/x11/window-managers/fluxbox.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/fvwm2.nix b/nixos/modules/services/x11/window-managers/fvwm2.nix index 909b3a475a9c2..494008a280d06 100644 --- a/nixos/modules/services/x11/window-managers/fvwm2.nix +++ b/nixos/modules/services/x11/window-managers/fvwm2.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -12,7 +17,8 @@ in imports = [ (mkRenamedOptionModule [ "services" "xserver" "windowManager" "fvwm" ] - [ "services" "xserver" "windowManager" "fvwm2" ]) + [ "services" "xserver" "windowManager" "fvwm2" ] + ) ]; ###### interface @@ -29,18 +35,16 @@ in }; }; - ###### implementation config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "fvwm2"; - start = - '' - ${fvwm2}/bin/fvwm & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "fvwm2"; + start = '' + ${fvwm2}/bin/fvwm & + waitPID=$! + ''; + }; environment.systemPackages = [ fvwm2 ]; }; diff --git a/nixos/modules/services/x11/window-managers/fvwm3.nix b/nixos/modules/services/x11/window-managers/fvwm3.nix index 43111f917d494..2335adb2f5313 100644 --- a/nixos/modules/services/x11/window-managers/fvwm3.nix +++ b/nixos/modules/services/x11/window-managers/fvwm3.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -17,18 +22,16 @@ in }; }; - ###### implementation config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "fvwm3"; - start = - '' - ${fvwm3}/bin/fvwm3 & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "fvwm3"; + start = '' + ${fvwm3}/bin/fvwm3 & + waitPID=$! + ''; + }; environment.systemPackages = [ fvwm3 ]; }; diff --git a/nixos/modules/services/x11/window-managers/hackedbox.nix b/nixos/modules/services/x11/window-managers/hackedbox.nix index 641cf1bdcbe23..b13f1489b2ed7 100644 --- a/nixos/modules/services/x11/window-managers/hackedbox.nix +++ b/nixos/modules/services/x11/window-managers/hackedbox.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/herbstluftwm.nix b/nixos/modules/services/x11/window-managers/herbstluftwm.nix index 94c9f4aa91c8f..b216aa49d7a3c 100644 --- a/nixos/modules/services/x11/window-managers/herbstluftwm.nix +++ b/nixos/modules/services/x11/window-managers/herbstluftwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -14,8 +19,8 @@ in package = mkPackageOption pkgs "herbstluftwm" { }; configFile = mkOption { - default = null; - type = with types; nullOr path; + default = null; + type = with types; nullOr path; description = '' Path to the herbstluftwm configuration file. If left at the default value, $XDG_CONFIG_HOME/herbstluftwm/autostart will @@ -29,11 +34,10 @@ in services.xserver.windowManager.session = singleton { name = "herbstluftwm"; start = - let configFileClause = optionalString - (cfg.configFile != null) - ''-c "${cfg.configFile}"'' - ; - in '' + let + configFileClause = optionalString (cfg.configFile != null) ''-c "${cfg.configFile}"''; + in + '' ${cfg.package}/bin/herbstluftwm ${configFileClause} & waitPID=$! ''; diff --git a/nixos/modules/services/x11/window-managers/hypr.nix b/nixos/modules/services/x11/window-managers/hypr.nix index 18111f8741a20..8763f505d56e2 100644 --- a/nixos/modules/services/x11/window-managers/hypr.nix +++ b/nixos/modules/services/x11/window-managers/hypr.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix index 4b2fb40585a70..47c927b854560 100644 --- a/nixos/modules/services/x11/window-managers/i3.nix +++ b/nixos/modules/services/x11/window-managers/i3.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,8 +20,8 @@ in enable = mkEnableOption "i3 window manager"; configFile = mkOption { - default = null; - type = with types; nullOr path; + default = null; + type = with types; nullOr path; description = '' Path to the i3 configuration file. If left at the default value, $HOME/.i3/config will be used. @@ -33,8 +38,8 @@ in }; extraSessionCommands = mkOption { - default = ""; - type = types.lines; + default = ""; + type = types.lines; description = '' Shell commands executed just before i3 is started. ''; @@ -44,7 +49,11 @@ in extraPackages = mkOption { type = with types; listOf package; - default = with pkgs; [ dmenu i3status i3lock ]; + default = with pkgs; [ + dmenu + i3status + i3lock + ]; defaultText = literalExpression '' with pkgs; [ dmenu @@ -59,19 +68,19 @@ in }; config = mkIf cfg.enable { - services.xserver.windowManager.session = [{ - name = "i3"; - start = '' - ${cfg.extraSessionCommands} + services.xserver.windowManager.session = [ + { + name = "i3"; + start = '' + ${cfg.extraSessionCommands} - ${lib.optionalString cfg.updateSessionEnvironment updateSessionEnvironmentScript} + ${lib.optionalString cfg.updateSessionEnvironment updateSessionEnvironmentScript} - ${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null) - "-c /etc/i3/config" - } & - waitPID=$! - ''; - }]; + ${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null) "-c /etc/i3/config"} & + waitPID=$! + ''; + } + ]; environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages; environment.etc."i3/config" = mkIf (cfg.configFile != null) { source = cfg.configFile; @@ -79,7 +88,12 @@ in }; imports = [ - (mkRemovedOptionModule [ "services" "xserver" "windowManager" "i3-gaps" "enable" ] - "i3-gaps was merged into i3. Use services.xserver.windowManager.i3.enable instead.") + (mkRemovedOptionModule [ + "services" + "xserver" + "windowManager" + "i3-gaps" + "enable" + ] "i3-gaps was merged into i3. Use services.xserver.windowManager.i3.enable instead.") ]; } diff --git a/nixos/modules/services/x11/window-managers/icewm.nix b/nixos/modules/services/x11/window-managers/icewm.nix index cb2f92d8a42c2..9bb34d248152a 100644 --- a/nixos/modules/services/x11/window-managers/icewm.nix +++ b/nixos/modules/services/x11/window-managers/icewm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,14 +18,13 @@ in ###### implementation config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "icewm"; - start = - '' - ${pkgs.icewm}/bin/icewm-session & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "icewm"; + start = '' + ${pkgs.icewm}/bin/icewm-session & + waitPID=$! + ''; + }; environment.systemPackages = [ pkgs.icewm ]; }; diff --git a/nixos/modules/services/x11/window-managers/jwm.nix b/nixos/modules/services/x11/window-managers/jwm.nix index 0e8dab2e9224d..bf86d184ae221 100644 --- a/nixos/modules/services/x11/window-managers/jwm.nix +++ b/nixos/modules/services/x11/window-managers/jwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/katriawm.nix b/nixos/modules/services/x11/window-managers/katriawm.nix index db04f6b43e529..77f0956af46cd 100644 --- a/nixos/modules/services/x11/window-managers/katriawm.nix +++ b/nixos/modules/services/x11/window-managers/katriawm.nix @@ -1,7 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkEnableOption mkIf mkPackageOption singleton; + inherit (lib) + mkEnableOption + mkIf + mkPackageOption + singleton + ; cfg = config.services.xserver.windowManager.katriawm; in { @@ -9,7 +19,7 @@ in options = { services.xserver.windowManager.katriawm = { enable = mkEnableOption "katriawm"; - package = mkPackageOption pkgs "katriawm" {}; + package = mkPackageOption pkgs "katriawm" { }; }; }; diff --git a/nixos/modules/services/x11/window-managers/leftwm.nix b/nixos/modules/services/x11/window-managers/leftwm.nix index 3ef40df95df2c..c58e3ef89ae2d 100644 --- a/nixos/modules/services/x11/window-managers/leftwm.nix +++ b/nixos/modules/services/x11/window-managers/leftwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/lwm.nix b/nixos/modules/services/x11/window-managers/lwm.nix index e2aa062fd13be..b1d5e80e3f9d4 100644 --- a/nixos/modules/services/x11/window-managers/lwm.nix +++ b/nixos/modules/services/x11/window-managers/lwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/metacity.nix b/nixos/modules/services/x11/window-managers/metacity.nix index b3c24a9a5bbad..7d9e21309612c 100644 --- a/nixos/modules/services/x11/window-managers/metacity.nix +++ b/nixos/modules/services/x11/window-managers/metacity.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -13,13 +18,13 @@ in config = lib.mkIf cfg.enable { - services.xserver.windowManager.session = lib.singleton - { name = "metacity"; - start = '' - ${metacity}/bin/metacity & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = lib.singleton { + name = "metacity"; + start = '' + ${metacity}/bin/metacity & + waitPID=$! + ''; + }; environment.systemPackages = [ metacity ]; diff --git a/nixos/modules/services/x11/window-managers/mlvwm.nix b/nixos/modules/services/x11/window-managers/mlvwm.nix index 08dd04020296d..5d25478a830a9 100644 --- a/nixos/modules/services/x11/window-managers/mlvwm.nix +++ b/nixos/modules/services/x11/window-managers/mlvwm.nix @@ -1,8 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.xserver.windowManager.mlvwm; +let + cfg = config.services.xserver.windowManager.mlvwm; in { @@ -22,15 +28,15 @@ in config = mkIf cfg.enable { - services.xserver.windowManager.session = [{ - name = "mlvwm"; - start = '' - ${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null) - "-f /etc/mlvwm/mlvwmrc" - } & - waitPID=$! - ''; - }]; + services.xserver.windowManager.session = [ + { + name = "mlvwm"; + start = '' + ${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null) "-f /etc/mlvwm/mlvwmrc"} & + waitPID=$! + ''; + } + ]; environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) { source = cfg.configFile; diff --git a/nixos/modules/services/x11/window-managers/mwm.nix b/nixos/modules/services/x11/window-managers/mwm.nix index 31f7b725f747d..6f10e07343cfd 100644 --- a/nixos/modules/services/x11/window-managers/mwm.nix +++ b/nixos/modules/services/x11/window-managers/mwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/nimdow.nix b/nixos/modules/services/x11/window-managers/nimdow.nix index 2ac9ace63ce46..bde5bd950a021 100644 --- a/nixos/modules/services/x11/window-managers/nimdow.nix +++ b/nixos/modules/services/x11/window-managers/nimdow.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -16,7 +21,6 @@ in }; }; - config = mkIf cfg.enable { services.xserver.windowManager.session = singleton { name = "nimdow"; @@ -25,6 +29,9 @@ in waitPID=$! ''; }; - environment.systemPackages = [ cfg.package pkgs.st ]; + environment.systemPackages = [ + cfg.package + pkgs.st + ]; }; } diff --git a/nixos/modules/services/x11/window-managers/none.nix b/nixos/modules/services/x11/window-managers/none.nix index 84cf1d7707768..9c8d24a7e50e3 100644 --- a/nixos/modules/services/x11/window-managers/none.nix +++ b/nixos/modules/services/x11/window-managers/none.nix @@ -2,10 +2,12 @@ services = { xserver = { windowManager = { - session = [{ - name = "none"; - start = ""; - }]; + session = [ + { + name = "none"; + start = ""; + } + ]; }; }; }; diff --git a/nixos/modules/services/x11/window-managers/notion.nix b/nixos/modules/services/x11/window-managers/notion.nix index 4ece0d241c90c..797554eacde94 100644 --- a/nixos/modules/services/x11/window-managers/notion.nix +++ b/nixos/modules/services/x11/window-managers/notion.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,13 +18,15 @@ in config = mkIf cfg.enable { services.xserver.windowManager = { - session = [{ - name = "notion"; - start = '' - ${pkgs.notion}/bin/notion & - waitPID=$! - ''; - }]; + session = [ + { + name = "notion"; + start = '' + ${pkgs.notion}/bin/notion & + waitPID=$! + ''; + } + ]; }; environment.systemPackages = [ pkgs.notion ]; }; diff --git a/nixos/modules/services/x11/window-managers/openbox.nix b/nixos/modules/services/x11/window-managers/openbox.nix index 165772d1aa097..5a9a45ca221ef 100644 --- a/nixos/modules/services/x11/window-managers/openbox.nix +++ b/nixos/modules/services/x11/window-managers/openbox.nix @@ -1,4 +1,9 @@ -{lib, pkgs, config, ...}: +{ + lib, + pkgs, + config, + ... +}: with lib; let @@ -12,12 +17,14 @@ in config = mkIf cfg.enable { services.xserver.windowManager = { - session = [{ - name = "openbox"; - start = " + session = [ + { + name = "openbox"; + start = " ${pkgs.openbox}/bin/openbox-session "; - }]; + } + ]; }; environment.systemPackages = [ pkgs.openbox ]; }; diff --git a/nixos/modules/services/x11/window-managers/pekwm.nix b/nixos/modules/services/x11/window-managers/pekwm.nix index 850335ce7ddfa..e4881d676cb69 100644 --- a/nixos/modules/services/x11/window-managers/pekwm.nix +++ b/nixos/modules/services/x11/window-managers/pekwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/ragnarwm.nix b/nixos/modules/services/x11/window-managers/ragnarwm.nix index 3f550fb723256..0c5b06fb4e57f 100644 --- a/nixos/modules/services/x11/window-managers/ragnarwm.nix +++ b/nixos/modules/services/x11/window-managers/ragnarwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/ratpoison.nix b/nixos/modules/services/x11/window-managers/ratpoison.nix index 0d58481d45791..44413c1adc3aa 100644 --- a/nixos/modules/services/x11/window-managers/ratpoison.nix +++ b/nixos/modules/services/x11/window-managers/ratpoison.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/sawfish.nix b/nixos/modules/services/x11/window-managers/sawfish.nix index b988b5e1829e6..cf5e8945c0a2b 100644 --- a/nixos/modules/services/x11/window-managers/sawfish.nix +++ b/nixos/modules/services/x11/window-managers/sawfish.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/smallwm.nix b/nixos/modules/services/x11/window-managers/smallwm.nix index 091ba4f92b94d..e85b1a7bf2e07 100644 --- a/nixos/modules/services/x11/window-managers/smallwm.nix +++ b/nixos/modules/services/x11/window-managers/smallwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/spectrwm.nix b/nixos/modules/services/x11/window-managers/spectrwm.nix index a1dc298d24269..4a4b6920fdb10 100644 --- a/nixos/modules/services/x11/window-managers/spectrwm.nix +++ b/nixos/modules/services/x11/window-managers/spectrwm.nix @@ -1,5 +1,9 @@ - -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -14,13 +18,15 @@ in config = mkIf cfg.enable { services.xserver.windowManager = { - session = [{ - name = "spectrwm"; - start = '' - ${pkgs.spectrwm}/bin/spectrwm & - waitPID=$! - ''; - }]; + session = [ + { + name = "spectrwm"; + start = '' + ${pkgs.spectrwm}/bin/spectrwm & + waitPID=$! + ''; + } + ]; }; environment.systemPackages = [ pkgs.spectrwm ]; }; diff --git a/nixos/modules/services/x11/window-managers/stumpwm.nix b/nixos/modules/services/x11/window-managers/stumpwm.nix index fa6844e672f5a..b97de030d7f6b 100644 --- a/nixos/modules/services/x11/window-managers/stumpwm.nix +++ b/nixos/modules/services/x11/window-managers/stumpwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/tinywm.nix b/nixos/modules/services/x11/window-managers/tinywm.nix index 8e5d9b9170cab..9508f5757f44f 100644 --- a/nixos/modules/services/x11/window-managers/tinywm.nix +++ b/nixos/modules/services/x11/window-managers/tinywm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/twm.nix b/nixos/modules/services/x11/window-managers/twm.nix index fc09901aae3b0..46f81775b65ea 100644 --- a/nixos/modules/services/x11/window-managers/twm.nix +++ b/nixos/modules/services/x11/window-managers/twm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -16,19 +21,17 @@ in services.xserver.windowManager.twm.enable = mkEnableOption "twm"; }; - ###### implementation config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "twm"; - start = - '' - ${pkgs.xorg.twm}/bin/twm & - waitPID=$! - ''; - }; + services.xserver.windowManager.session = singleton { + name = "twm"; + start = '' + ${pkgs.xorg.twm}/bin/twm & + waitPID=$! + ''; + }; environment.systemPackages = [ pkgs.xorg.twm ]; diff --git a/nixos/modules/services/x11/window-managers/windowlab.nix b/nixos/modules/services/x11/window-managers/windowlab.nix index fb891a39fa412..f71bb97cf056a 100644 --- a/nixos/modules/services/x11/window-managers/windowlab.nix +++ b/nixos/modules/services/x11/window-managers/windowlab.nix @@ -1,4 +1,9 @@ -{lib, pkgs, config, ...}: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.services.xserver.windowManager.windowlab; @@ -6,16 +11,17 @@ in { options = { - services.xserver.windowManager.windowlab.enable = - lib.mkEnableOption "windowlab"; + services.xserver.windowManager.windowlab.enable = lib.mkEnableOption "windowlab"; }; config = lib.mkIf cfg.enable { services.xserver.windowManager = { - session = - [{ name = "windowlab"; - start = "${pkgs.windowlab}/bin/windowlab"; - }]; + session = [ + { + name = "windowlab"; + start = "${pkgs.windowlab}/bin/windowlab"; + } + ]; }; environment.systemPackages = [ pkgs.windowlab ]; }; diff --git a/nixos/modules/services/x11/window-managers/windowmaker.nix b/nixos/modules/services/x11/window-managers/windowmaker.nix index b62723758056e..f5958d1f2a3e7 100644 --- a/nixos/modules/services/x11/window-managers/windowmaker.nix +++ b/nixos/modules/services/x11/window-managers/windowmaker.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/window-managers/wmderland.nix b/nixos/modules/services/x11/window-managers/wmderland.nix index 56b6922096517..018c152572b5c 100644 --- a/nixos/modules/services/x11/window-managers/wmderland.nix +++ b/nixos/modules/services/x11/window-managers/wmderland.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -55,7 +60,8 @@ in ''; }; environment.systemPackages = [ - pkgs.wmderland pkgs.wmderlandc + pkgs.wmderland + pkgs.wmderlandc ] ++ cfg.extraPackages; }; } diff --git a/nixos/modules/services/x11/window-managers/wmii.nix b/nixos/modules/services/x11/window-managers/wmii.nix index 9b50a99bf23f1..a2363eee60560 100644 --- a/nixos/modules/services/x11/window-managers/wmii.nix +++ b/nixos/modules/services/x11/window-managers/wmii.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let @@ -11,28 +16,30 @@ in }; config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - # stop wmii by - # $wmiir xwrite /ctl quit - # this will cause wmii exiting with exit code 0 - # (or "mod+a quit", which is bound to do the same thing in wmiirc - # by default) - # - # why this loop? - # wmii crashes once a month here. That doesn't matter that much - # wmii can recover very well. However without loop the X session - # terminates and then your workspace setup is lost and all - # applications running on X will terminate. - # Another use case is kill -9 wmii; after rotating screen. - # Note: we don't like kill for that purpose. But it works (-> - # subject "wmii and xrandr" on mailinglist) - { name = "wmii"; - start = '' - while :; do - ${wmii}/bin/wmii && break - done - ''; - }; + services.xserver.windowManager.session = + singleton + # stop wmii by + # $wmiir xwrite /ctl quit + # this will cause wmii exiting with exit code 0 + # (or "mod+a quit", which is bound to do the same thing in wmiirc + # by default) + # + # why this loop? + # wmii crashes once a month here. That doesn't matter that much + # wmii can recover very well. However without loop the X session + # terminates and then your workspace setup is lost and all + # applications running on X will terminate. + # Another use case is kill -9 wmii; after rotating screen. + # Note: we don't like kill for that purpose. But it works (-> + # subject "wmii and xrandr" on mailinglist) + { + name = "wmii"; + start = '' + while :; do + ${wmii}/bin/wmii && break + done + ''; + }; environment.systemPackages = [ wmii ]; }; diff --git a/nixos/modules/services/x11/window-managers/yeahwm.nix b/nixos/modules/services/x11/window-managers/yeahwm.nix index 351bd7dfe48b4..db623382016ce 100644 --- a/nixos/modules/services/x11/window-managers/yeahwm.nix +++ b/nixos/modules/services/x11/window-managers/yeahwm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/services/x11/xautolock.nix b/nixos/modules/services/x11/xautolock.nix index 04f3821e7508c..1fd6c54f6b963 100644 --- a/nixos/modules/services/x11/xautolock.nix +++ b/nixos/modules/services/x11/xautolock.nix @@ -1,127 +1,139 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.xserver.xautolock; in - { - options = { - services.xserver.xautolock = { - enable = mkEnableOption "xautolock"; - enableNotifier = mkEnableOption "xautolock.notify" // { - description = '' - Whether to enable the notifier feature of xautolock. - This publishes a notification before the autolock. - ''; - }; - - time = mkOption { - default = 15; - type = types.int; - - description = '' - Idle time (in minutes) to wait until xautolock locks the computer. - ''; - }; - - locker = mkOption { - default = "${pkgs.xlockmore}/bin/xlock"; # default according to `man xautolock` - defaultText = literalExpression ''"''${pkgs.xlockmore}/bin/xlock"''; - example = literalExpression ''"''${pkgs.i3lock}/bin/i3lock -i /path/to/img"''; - type = types.str; - - description = '' - The script to use when automatically locking the computer. - ''; - }; - - nowlocker = mkOption { - default = null; - example = literalExpression ''"''${pkgs.i3lock}/bin/i3lock -i /path/to/img"''; - type = types.nullOr types.str; - - description = '' - The script to use when manually locking the computer with {command}`xautolock -locknow`. - ''; - }; - - notify = mkOption { - default = 10; - type = types.int; - - description = '' - Time (in seconds) before the actual lock when the notification about the pending lock should be published. - ''; - }; - - notifier = mkOption { - default = null; - example = literalExpression ''"''${pkgs.libnotify}/bin/notify-send 'Locking in 10 seconds'"''; - type = types.nullOr types.str; - - description = '' - Notification script to be used to warn about the pending autolock. - ''; - }; - - killer = mkOption { - default = null; # default according to `man xautolock` is none - example = "/run/current-system/systemd/bin/systemctl suspend"; - type = types.nullOr types.str; - - description = '' - The script to use when nothing has happened for as long as {option}`killtime` - ''; - }; - - killtime = mkOption { - default = 20; # default according to `man xautolock` - type = types.int; - - description = '' - Minutes xautolock waits until it executes the script specified in {option}`killer` - (Has to be at least 10 minutes) - ''; - }; - - extraOptions = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "-detectsleep" ]; - description = '' - Additional command-line arguments to pass to - {command}`xautolock`. - ''; - }; +{ + options = { + services.xserver.xautolock = { + enable = mkEnableOption "xautolock"; + enableNotifier = mkEnableOption "xautolock.notify" // { + description = '' + Whether to enable the notifier feature of xautolock. + This publishes a notification before the autolock. + ''; }; - }; - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ xautolock ]; - systemd.user.services.xautolock = { - description = "xautolock service"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; - serviceConfig = with lib; { - ExecStart = strings.concatStringsSep " " ([ + time = mkOption { + default = 15; + type = types.int; + + description = '' + Idle time (in minutes) to wait until xautolock locks the computer. + ''; + }; + + locker = mkOption { + default = "${pkgs.xlockmore}/bin/xlock"; # default according to `man xautolock` + defaultText = literalExpression ''"''${pkgs.xlockmore}/bin/xlock"''; + example = literalExpression ''"''${pkgs.i3lock}/bin/i3lock -i /path/to/img"''; + type = types.str; + + description = '' + The script to use when automatically locking the computer. + ''; + }; + + nowlocker = mkOption { + default = null; + example = literalExpression ''"''${pkgs.i3lock}/bin/i3lock -i /path/to/img"''; + type = types.nullOr types.str; + + description = '' + The script to use when manually locking the computer with {command}`xautolock -locknow`. + ''; + }; + + notify = mkOption { + default = 10; + type = types.int; + + description = '' + Time (in seconds) before the actual lock when the notification about the pending lock should be published. + ''; + }; + + notifier = mkOption { + default = null; + example = literalExpression ''"''${pkgs.libnotify}/bin/notify-send 'Locking in 10 seconds'"''; + type = types.nullOr types.str; + + description = '' + Notification script to be used to warn about the pending autolock. + ''; + }; + + killer = mkOption { + default = null; # default according to `man xautolock` is none + example = "/run/current-system/systemd/bin/systemctl suspend"; + type = types.nullOr types.str; + + description = '' + The script to use when nothing has happened for as long as {option}`killtime` + ''; + }; + + killtime = mkOption { + default = 20; # default according to `man xautolock` + type = types.int; + + description = '' + Minutes xautolock waits until it executes the script specified in {option}`killer` + (Has to be at least 10 minutes) + ''; + }; + + extraOptions = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "-detectsleep" ]; + description = '' + Additional command-line arguments to pass to + {command}`xautolock`. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ xautolock ]; + systemd.user.services.xautolock = { + description = "xautolock service"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + serviceConfig = with lib; { + ExecStart = strings.concatStringsSep " " ( + [ "${pkgs.xautolock}/bin/xautolock" "-noclose" "-time ${toString cfg.time}" "-locker '${cfg.locker}'" - ] ++ optionals cfg.enableNotifier [ + ] + ++ optionals cfg.enableNotifier [ "-notify ${toString cfg.notify}" "-notifier '${cfg.notifier}'" - ] ++ optionals (cfg.nowlocker != null) [ + ] + ++ optionals (cfg.nowlocker != null) [ "-nowlocker '${cfg.nowlocker}'" - ] ++ optionals (cfg.killer != null) [ + ] + ++ optionals (cfg.killer != null) [ "-killer '${cfg.killer}'" "-killtime ${toString cfg.killtime}" - ] ++ cfg.extraOptions); - Restart = "always"; - }; + ] + ++ cfg.extraOptions + ); + Restart = "always"; }; - assertions = [ + }; + assertions = + [ { assertion = cfg.enableNotifier -> cfg.notifier != null; message = "When enabling the notifier for xautolock, you also need to specify the notify script"; @@ -130,12 +142,10 @@ in assertion = cfg.killer != null -> cfg.killtime >= 10; message = "killtime has to be at least 10 minutes according to `man xautolock`"; } - ] ++ (lib.forEach [ "locker" "notifier" "nowlocker" "killer" ] - (option: - { - assertion = cfg.${option} != null -> builtins.substring 0 1 cfg.${option} == "/"; - message = "Please specify a canonical path for `services.xserver.xautolock.${option}`"; - }) - ); - }; - } + ] + ++ (lib.forEach [ "locker" "notifier" "nowlocker" "killer" ] (option: { + assertion = cfg.${option} != null -> builtins.substring 0 1 cfg.${option} == "/"; + message = "Please specify a canonical path for `services.xserver.xautolock.${option}`"; + })); + }; +} diff --git a/nixos/modules/services/x11/xbanish.nix b/nixos/modules/services/x11/xbanish.nix index b95fac68f1658..6813f615c32d5 100644 --- a/nixos/modules/services/x11/xbanish.nix +++ b/nixos/modules/services/x11/xbanish.nix @@ -1,10 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; -let cfg = config.services.xbanish; +let + cfg = config.services.xbanish; -in { +in +{ options.services.xbanish = { enable = mkEnableOption "xbanish"; diff --git a/nixos/modules/services/x11/xfs.nix b/nixos/modules/services/x11/xfs.nix index ea7cfa1aa43c5..9214f176c10bc 100644 --- a/nixos/modules/services/x11/xfs.nix +++ b/nixos/modules/services/x11/xfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -26,14 +31,13 @@ in }; - ###### implementation config = mkIf config.services.xfs.enable { - assertions = singleton - { assertion = config.fonts.enableFontDir; - message = "Please enable fonts.enableFontDir to use the X Font Server."; - }; + assertions = singleton { + assertion = config.fonts.enableFontDir; + message = "Please enable fonts.enableFontDir to use the X Font Server."; + }; systemd.services.xfs = { description = "X Font Server"; diff --git a/nixos/modules/services/x11/xscreensaver.nix b/nixos/modules/services/x11/xscreensaver.nix index dc269b892ebcf..2e2853eb066eb 100644 --- a/nixos/modules/services/x11/xscreensaver.nix +++ b/nixos/modules/services/x11/xscreensaver.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.xscreensaver; @@ -36,5 +41,8 @@ in }; }; - meta.maintainers = with lib.maintainers; [ vancluever AndersonTorres ]; + meta.maintainers = with lib.maintainers; [ + vancluever + AndersonTorres + ]; } diff --git a/nixos/modules/system/activation/activatable-system.nix b/nixos/modules/system/activation/activatable-system.nix index e442fce7541b9..bb207ec0c18f2 100644 --- a/nixos/modules/system/activation/activatable-system.nix +++ b/nixos/modules/system/activation/activatable-system.nix @@ -1,4 +1,10 @@ -{ options, config, lib, pkgs, ... }: +{ + options, + config, + lib, + pkgs, + ... +}: let inherit (lib) @@ -56,21 +62,23 @@ in unset activationScript dryActivationScript ''; - system.systemBuilderCommands = lib.mkIf - config.system.activatable - config.system.activatableSystemBuilderCommands; - system.systemBuilderArgs = lib.mkIf config.system.activatable - (systemBuilderArgs // { + system.systemBuilderCommands = lib.mkIf config.system.activatable config.system.activatableSystemBuilderCommands; + system.systemBuilderArgs = lib.mkIf config.system.activatable ( + systemBuilderArgs + // { toplevelVar = "out"; - }); + } + ); system.build.separateActivationScript = - pkgs.runCommand - "separate-activation-script" - (systemBuilderArgs // { - toplevelVar = "toplevel"; - toplevel = config.system.build.toplevel; - }) + pkgs.runCommand "separate-activation-script" + ( + systemBuilderArgs + // { + toplevelVar = "toplevel"; + toplevel = config.system.build.toplevel; + } + ) '' mkdir $out ${config.system.activatableSystemBuilderCommands} diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index 3c2b91cce7016..4f534b240e676 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -3,35 +3,43 @@ # Changes to the structure of the document, or the semantics of the values should go through an RFC. # # See: https://github.com/NixOS/rfcs/pull/125 -{ config -, pkgs -, lib -, ... +{ + config, + pkgs, + lib, + ... }: let cfg = config.boot.bootspec; - children = lib.mapAttrs (childName: childConfig: childConfig.configuration.system.build.toplevel) config.specialisation; + children = lib.mapAttrs ( + childName: childConfig: childConfig.configuration.system.build.toplevel + ) config.specialisation; hasAtLeastOneInitrdSecret = lib.length (lib.attrNames config.boot.initrd.secrets) > 0; schemas = { v1 = rec { filename = "boot.json"; - json = - pkgs.writeText filename - (builtins.toJSON + json = pkgs.writeText filename ( + builtins.toJSON # Merge extensions first to not let them shadow NixOS bootspec data. - (cfg.extensions // - { - "org.nixos.bootspec.v1" = { - system = config.boot.kernelPackages.stdenv.hostPlatform.system; - kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; - kernelParams = config.boot.kernelParams; - label = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})"; - } // lib.optionalAttrs config.boot.initrd.enable { - initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; - } // lib.optionalAttrs hasAtLeastOneInitrdSecret { - initrdSecrets = "${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets"; - }; - })); + ( + cfg.extensions + // { + "org.nixos.bootspec.v1" = + { + system = config.boot.kernelPackages.stdenv.hostPlatform.system; + kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; + kernelParams = config.boot.kernelParams; + label = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})"; + } + // lib.optionalAttrs config.boot.initrd.enable { + initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; + } + // lib.optionalAttrs hasAtLeastOneInitrdSecret { + initrdSecrets = "${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets"; + }; + } + ) + ); generator = let @@ -41,31 +49,45 @@ let # Inject toplevel and init into the bootspec. # This can only be done here because we *cannot* depend on $out # referring to the toplevel, except by living in the toplevel itself. - toplevelInjector = lib.escapeShellArgs [ - "${pkgs.buildPackages.jq}/bin/jq" - '' - ."org.nixos.bootspec.v1".toplevel = $toplevel | - ."org.nixos.bootspec.v1".init = $init - '' - "--sort-keys" - "--arg" "toplevel" "${placeholder "out"}" - "--arg" "init" "${placeholder "out"}/init" - ] + " < ${json}"; + toplevelInjector = + lib.escapeShellArgs [ + "${pkgs.buildPackages.jq}/bin/jq" + '' + ."org.nixos.bootspec.v1".toplevel = $toplevel | + ."org.nixos.bootspec.v1".init = $init + '' + "--sort-keys" + "--arg" + "toplevel" + "${placeholder "out"}" + "--arg" + "init" + "${placeholder "out"}/init" + ] + + " < ${json}"; # We slurp all specialisations and inject them as values, such that # `.specialisations.${name}` embeds the specialisation's bootspec # document. specialisationInjector = let - specialisationLoader = (lib.mapAttrsToList - (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/${filename}" ]) - children); + specialisationLoader = ( + lib.mapAttrsToList ( + childName: childToplevel: + lib.escapeShellArgs [ + "--slurpfile" + childName + "${childToplevel}/${filename}" + ] + ) children + ); in lib.escapeShellArgs [ "${pkgs.buildPackages.jq}/bin/jq" "--sort-keys" ''."org.nixos.specialisation.v1" = ($ARGS.named | map_values(. | first))'' - ] + " ${lib.concatStringsSep " " specialisationLoader}"; + ] + + " ${lib.concatStringsSep " " specialisationLoader}"; in "${toplevelInjector} | ${specialisationInjector} > $out/${filename}"; @@ -77,12 +99,17 @@ let in { options.boot.bootspec = { - enable = lib.mkEnableOption "the generation of RFC-0125 bootspec in $system/boot.json, e.g. /run/current-system/boot.json" - // { default = true; internal = true; }; - enableValidation = lib.mkEnableOption ''the validation of bootspec documents for each build. - This will introduce Go in the build-time closure as we are relying on [Cuelang](https://cuelang.org/) for schema validation. - Enable this option if you want to ascertain that your documents are correct - ''; + enable = + lib.mkEnableOption "the generation of RFC-0125 bootspec in $system/boot.json, e.g. /run/current-system/boot.json" + // { + default = true; + internal = true; + }; + enableValidation = lib.mkEnableOption '' + the validation of bootspec documents for each build. + This will introduce Go in the build-time closure as we are relying on [Cuelang](https://cuelang.org/) for schema validation. + Enable this option if you want to ascertain that your documents are correct + ''; extensions = lib.mkOption { # NOTE(RaitoBezarius): this is not enough to validate: extensions."osRelease" = drv; those are picked up by cue validation. diff --git a/nixos/modules/system/activation/lib/test.nix b/nixos/modules/system/activation/lib/test.nix index 39886d305195a..798417278dc51 100644 --- a/nixos/modules/system/activation/lib/test.nix +++ b/nixos/modules/system/activation/lib/test.nix @@ -1,6 +1,10 @@ # Run: # nix-build -A nixosTests.activation-lib -{ lib, stdenv, testers }: +{ + lib, + stdenv, + testers, +}: let inherit (lib) fileset; diff --git a/nixos/modules/system/activation/no-clone.nix b/nixos/modules/system/activation/no-clone.nix index 32ff54688bd9e..d1ecc37b2ba0c 100644 --- a/nixos/modules/system/activation/no-clone.nix +++ b/nixos/modules/system/activation/no-clone.nix @@ -4,6 +4,6 @@ with lib; { boot.loader.grub.device = mkOverride 0 "nodev"; - specialisation = mkOverride 0 {}; + specialisation = mkOverride 0 { }; isSpecialisation = mkOverride 0 true; } diff --git a/nixos/modules/system/activation/specialisation.nix b/nixos/modules/system/activation/specialisation.nix index 41491b67ff039..1bc2572485392 100644 --- a/nixos/modules/system/activation/specialisation.nix +++ b/nixos/modules/system/activation/specialisation.nix @@ -1,4 +1,11 @@ -{ config, lib, pkgs, extendModules, noUserModules, ... }: +{ + config, + lib, + pkgs, + extendModules, + noUserModules, + ... +}: let inherit (lib) @@ -15,10 +22,9 @@ let # you can provide an easy way to boot the same configuration # as you use, but with another kernel # !!! fix this - children = - mapAttrs - (childName: childConfig: childConfig.configuration.system.build.toplevel) - config.specialisation; + children = mapAttrs ( + childName: childConfig: childConfig.configuration.system.build.toplevel + ) config.specialisation; in { @@ -45,35 +51,34 @@ in sudo /run/current-system/specialisation/fewJobsManyCores/bin/switch-to-configuration test ``` ''; - type = types.attrsOf (types.submodule ( - local@{ ... }: - let - extend = - if local.config.inheritParentConfig - then extendModules - else noUserModules.extendModules; - in - { - options.inheritParentConfig = mkOption { - type = types.bool; - default = true; - description = "Include the entire system's configuration. Set to false to make a completely differently configured system."; - }; + type = types.attrsOf ( + types.submodule ( + local@{ ... }: + let + extend = if local.config.inheritParentConfig then extendModules else noUserModules.extendModules; + in + { + options.inheritParentConfig = mkOption { + type = types.bool; + default = true; + description = "Include the entire system's configuration. Set to false to make a completely differently configured system."; + }; - options.configuration = mkOption { - default = { }; - description = '' - Arbitrary NixOS configuration. + options.configuration = mkOption { + default = { }; + description = '' + Arbitrary NixOS configuration. - Anything you can add to a normal NixOS configuration, you can add - here, including imports and config values, although nested - specialisations will be ignored. - ''; - visible = "shallow"; - inherit (extend { modules = [ ./no-clone.nix ]; }) type; - }; - } - )); + Anything you can add to a normal NixOS configuration, you can add + here, including imports and config values, although nested + specialisations will be ignored. + ''; + visible = "shallow"; + inherit (extend { modules = [ ./no-clone.nix ]; }) type; + }; + } + ) + ); }; }; @@ -81,8 +86,9 @@ in config = { system.systemBuilderCommands = '' mkdir $out/specialisation - ${concatStringsSep "\n" - (mapAttrsToList (name: path: "ln -s ${path} $out/specialisation/${name}") children)} + ${concatStringsSep "\n" ( + mapAttrsToList (name: path: "ln -s ${path} $out/specialisation/${name}") children + )} ''; }; diff --git a/nixos/modules/system/activation/test.nix b/nixos/modules/system/activation/test.nix index fd251d5289579..fe8acb708868c 100644 --- a/nixos/modules/system/activation/test.nix +++ b/nixos/modules/system/activation/test.nix @@ -1,27 +1,35 @@ -{ lib -, nixos -, expect -, testers +{ + lib, + nixos, + expect, + testers, }: let - node-forbiddenDependencies-fail = nixos ({ ... }: { - system.forbiddenDependenciesRegexes = ["-dev$"]; - environment.etc."dev-dependency" = { - text = "${expect.dev}"; - }; - documentation.enable = false; - fileSystems."/".device = "ignore-root-device"; - boot.loader.grub.enable = false; - }); - node-forbiddenDependencies-succeed = nixos ({ ... }: { - system.forbiddenDependenciesRegexes = ["-dev$"]; - system.extraDependencies = [ expect.dev ]; - documentation.enable = false; - fileSystems."/".device = "ignore-root-device"; - boot.loader.grub.enable = false; - }); + node-forbiddenDependencies-fail = nixos ( + { ... }: + { + system.forbiddenDependenciesRegexes = [ "-dev$" ]; + environment.etc."dev-dependency" = { + text = "${expect.dev}"; + }; + documentation.enable = false; + fileSystems."/".device = "ignore-root-device"; + boot.loader.grub.enable = false; + } + ); + node-forbiddenDependencies-succeed = nixos ( + { ... }: + { + system.forbiddenDependenciesRegexes = [ "-dev$" ]; + system.extraDependencies = [ expect.dev ]; + documentation.enable = false; + fileSystems."/".device = "ignore-root-device"; + boot.loader.grub.enable = false; + } + ); in lib.recurseIntoAttrs { test-forbiddenDependencies-fail = testers.testBuildFailure node-forbiddenDependencies-fail.config.system.build.toplevel; - test-forbiddenDependencies-succeed = node-forbiddenDependencies-succeed.config.system.build.toplevel; + test-forbiddenDependencies-succeed = + node-forbiddenDependencies-succeed.config.system.build.toplevel; } diff --git a/nixos/modules/system/boot/binfmt.nix b/nixos/modules/system/boot/binfmt.nix index e9de71dc4d5a6..e7c914954f1eb 100644 --- a/nixos/modules/system/boot/binfmt.nix +++ b/nixos/modules/system/boot/binfmt.nix @@ -1,33 +1,58 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) mkOption mkDefault types optionalString; + inherit (lib) + mkOption + mkDefault + types + optionalString + ; cfg = config.boot.binfmt; - makeBinfmtLine = name: { recognitionType, offset, magicOrExtension - , mask, preserveArgvZero, openBinary - , matchCredentials, fixBinary, ... - }: let - type = if recognitionType == "magic" then "M" else "E"; - offset' = toString offset; - mask' = toString mask; - interpreter = "/run/binfmt/${name}"; - flags = if !(matchCredentials -> openBinary) - then throw "boot.binfmt.registrations.${name}: you can't specify openBinary = false when matchCredentials = true." - else optionalString preserveArgvZero "P" + - optionalString (openBinary && !matchCredentials) "O" + - optionalString matchCredentials "C" + - optionalString fixBinary "F"; - in ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}"; - - mkInterpreter = name: { interpreter, wrapInterpreterInShell, ... }: - if wrapInterpreterInShell - then pkgs.writeShellScript "${name}-interpreter" '' - #!${pkgs.bash}/bin/sh - exec -- ${interpreter} "$@" - '' - else interpreter; - + makeBinfmtLine = + name: + { + recognitionType, + offset, + magicOrExtension, + mask, + preserveArgvZero, + openBinary, + matchCredentials, + fixBinary, + ... + }: + let + type = if recognitionType == "magic" then "M" else "E"; + offset' = toString offset; + mask' = toString mask; + interpreter = "/run/binfmt/${name}"; + flags = + if !(matchCredentials -> openBinary) then + throw "boot.binfmt.registrations.${name}: you can't specify openBinary = false when matchCredentials = true." + else + optionalString preserveArgvZero "P" + + optionalString (openBinary && !matchCredentials) "O" + + optionalString matchCredentials "C" + + optionalString fixBinary "F"; + in + ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}"; + + mkInterpreter = + name: + { interpreter, wrapInterpreterInShell, ... }: + if wrapInterpreterInShell then + pkgs.writeShellScript "${name}-interpreter" '' + #!${pkgs.bash}/bin/sh + exec -- ${interpreter} "$@" + '' + else + interpreter; # Mapping of systems to “magicOrExtension” and “mask”. Mostly taken from: # - https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix @@ -147,7 +172,8 @@ let i686-windows.magicOrExtension = "MZ"; }; -in { +in +{ imports = [ (lib.mkRenamedOptionModule [ "boot" "binfmtMiscRegistrations" ] [ "boot" "binfmt" "registrations" ]) ]; @@ -155,122 +181,134 @@ in { options = { boot.binfmt = { registrations = mkOption { - default = {}; + default = { }; description = '' Extra binary formats to register with the kernel. See https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html for more details. ''; - type = types.attrsOf (types.submodule ({ config, ... }: { - options = { - recognitionType = mkOption { - default = "magic"; - description = "Whether to recognize executables by magic number or extension."; - type = types.enum [ "magic" "extension" ]; - }; - - offset = mkOption { - default = null; - description = "The byte offset of the magic number used for recognition."; - type = types.nullOr types.int; - }; - - magicOrExtension = mkOption { - description = "The magic number or extension to match on."; - type = types.str; - }; - - mask = mkOption { - default = null; - description = "A mask to be ANDed with the byte sequence of the file before matching"; - type = types.nullOr types.str; - }; - - interpreter = mkOption { - description = '' - The interpreter to invoke to run the program. - - Note that the actual registration will point to - /run/binfmt/''${name}, so the kernel interpreter length - limit doesn't apply. - ''; - type = types.path; - }; - - preserveArgvZero = mkOption { - default = false; - description = '' - Whether to pass the original argv[0] to the interpreter. - - See the description of the 'P' flag in the kernel docs - for more details; - ''; - type = types.bool; - }; - - openBinary = mkOption { - default = config.matchCredentials; - description = '' - Whether to pass the binary to the interpreter as an open - file descriptor, instead of a path. - ''; - type = types.bool; - }; - - matchCredentials = mkOption { - default = false; - description = '' - Whether to launch with the credentials and security - token of the binary, not the interpreter (e.g. setuid - bit). - - See the description of the 'C' flag in the kernel docs - for more details. - - Implies/requires openBinary = true. - ''; - type = types.bool; - }; - - fixBinary = mkOption { - default = false; - description = '' - Whether to open the interpreter file as soon as the - registration is loaded, rather than waiting for a - relevant file to be invoked. - - See the description of the 'F' flag in the kernel docs - for more details. - ''; - type = types.bool; - }; - - wrapInterpreterInShell = mkOption { - default = true; - description = '' - Whether to wrap the interpreter in a shell script. - - This allows a shell command to be set as the interpreter. - ''; - type = types.bool; - }; - - interpreterSandboxPath = mkOption { - internal = true; - default = null; - description = '' - Path of the interpreter to expose in the build sandbox. - ''; - type = types.nullOr types.path; - }; - }; - })); + type = types.attrsOf ( + types.submodule ( + { config, ... }: + { + options = { + recognitionType = mkOption { + default = "magic"; + description = "Whether to recognize executables by magic number or extension."; + type = types.enum [ + "magic" + "extension" + ]; + }; + + offset = mkOption { + default = null; + description = "The byte offset of the magic number used for recognition."; + type = types.nullOr types.int; + }; + + magicOrExtension = mkOption { + description = "The magic number or extension to match on."; + type = types.str; + }; + + mask = mkOption { + default = null; + description = "A mask to be ANDed with the byte sequence of the file before matching"; + type = types.nullOr types.str; + }; + + interpreter = mkOption { + description = '' + The interpreter to invoke to run the program. + + Note that the actual registration will point to + /run/binfmt/''${name}, so the kernel interpreter length + limit doesn't apply. + ''; + type = types.path; + }; + + preserveArgvZero = mkOption { + default = false; + description = '' + Whether to pass the original argv[0] to the interpreter. + + See the description of the 'P' flag in the kernel docs + for more details; + ''; + type = types.bool; + }; + + openBinary = mkOption { + default = config.matchCredentials; + description = '' + Whether to pass the binary to the interpreter as an open + file descriptor, instead of a path. + ''; + type = types.bool; + }; + + matchCredentials = mkOption { + default = false; + description = '' + Whether to launch with the credentials and security + token of the binary, not the interpreter (e.g. setuid + bit). + + See the description of the 'C' flag in the kernel docs + for more details. + + Implies/requires openBinary = true. + ''; + type = types.bool; + }; + + fixBinary = mkOption { + default = false; + description = '' + Whether to open the interpreter file as soon as the + registration is loaded, rather than waiting for a + relevant file to be invoked. + + See the description of the 'F' flag in the kernel docs + for more details. + ''; + type = types.bool; + }; + + wrapInterpreterInShell = mkOption { + default = true; + description = '' + Whether to wrap the interpreter in a shell script. + + This allows a shell command to be set as the interpreter. + ''; + type = types.bool; + }; + + interpreterSandboxPath = mkOption { + internal = true; + default = null; + description = '' + Path of the interpreter to expose in the build sandbox. + ''; + type = types.nullOr types.path; + }; + }; + } + ) + ); }; emulatedSystems = mkOption { - default = []; - example = [ "wasm32-wasi" "x86_64-windows" "aarch64-linux" ]; + default = [ ]; + example = [ + "wasm32-wasi" + "x86_64-windows" + "aarch64-linux" + ]; description = '' List of systems to emulate. Will also configure Nix to support your new systems. @@ -310,55 +348,73 @@ in { message = "boot.binfmt.registrations.\"${name}\" cannot have fixBinary when the interpreter is invoked through a shell."; }) cfg.registrations; - boot.binfmt.registrations = builtins.listToAttrs (map (system: assert system != pkgs.stdenv.hostPlatform.system; { - name = system; - value = { config, ... }: let - elaborated = lib.systems.elaborate { inherit system; }; - useStaticEmulator = cfg.preferStaticEmulators && elaborated.staticEmulatorAvailable pkgs; - interpreter = elaborated.emulator (if useStaticEmulator then pkgs.pkgsStatic else pkgs); - - inherit (elaborated) qemuArch; - isQemu = "qemu-${qemuArch}" == baseNameOf interpreter; - - interpreterReg = let - wrapperName = "qemu-${qemuArch}-binfmt-P"; - wrapper = pkgs.wrapQemuBinfmtP wrapperName interpreter; + boot.binfmt.registrations = builtins.listToAttrs ( + map ( + system: + assert system != pkgs.stdenv.hostPlatform.system; + { + name = system; + value = + { config, ... }: + let + elaborated = lib.systems.elaborate { inherit system; }; + useStaticEmulator = cfg.preferStaticEmulators && elaborated.staticEmulatorAvailable pkgs; + interpreter = elaborated.emulator (if useStaticEmulator then pkgs.pkgsStatic else pkgs); + + inherit (elaborated) qemuArch; + isQemu = "qemu-${qemuArch}" == baseNameOf interpreter; + + interpreterReg = + let + wrapperName = "qemu-${qemuArch}-binfmt-P"; + wrapper = pkgs.wrapQemuBinfmtP wrapperName interpreter; + in + if isQemu && !useStaticEmulator then "${wrapper}/bin/${wrapperName}" else interpreter; + in + ( + { + preserveArgvZero = mkDefault isQemu; + + interpreter = mkDefault interpreterReg; + fixBinary = mkDefault useStaticEmulator; + wrapInterpreterInShell = mkDefault (!config.preserveArgvZero && !config.fixBinary); + interpreterSandboxPath = mkDefault (dirOf (dirOf config.interpreter)); + } + // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}")) + ); + } + ) cfg.emulatedSystems + ); + nix.settings = lib.mkIf (cfg.addEmulatedSystemsToNixSandbox && cfg.emulatedSystems != [ ]) { + extra-platforms = + cfg.emulatedSystems + ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux"; + extra-sandbox-paths = + let + ruleFor = system: cfg.registrations.${system}; + hasWrappedRule = lib.any (system: (ruleFor system).wrapInterpreterInShell) cfg.emulatedSystems; in - if isQemu && !useStaticEmulator then "${wrapper}/bin/${wrapperName}" - else interpreter; - in ({ - preserveArgvZero = mkDefault isQemu; - - interpreter = mkDefault interpreterReg; - fixBinary = mkDefault useStaticEmulator; - wrapInterpreterInShell = mkDefault (!config.preserveArgvZero && !config.fixBinary); - interpreterSandboxPath = mkDefault (dirOf (dirOf config.interpreter)); - } // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}"))); - }) cfg.emulatedSystems); - nix.settings = lib.mkIf (cfg.addEmulatedSystemsToNixSandbox && cfg.emulatedSystems != []) { - extra-platforms = cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux"; - extra-sandbox-paths = let - ruleFor = system: cfg.registrations.${system}; - hasWrappedRule = lib.any (system: (ruleFor system).wrapInterpreterInShell) cfg.emulatedSystems; - in [ "/run/binfmt" ] + [ "/run/binfmt" ] ++ lib.optional hasWrappedRule "${pkgs.bash}" ++ (map (system: (ruleFor system).interpreterSandboxPath) cfg.emulatedSystems); }; - environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf" - (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations)); + environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf" ( + lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations) + ); systemd = lib.mkMerge [ - ({ tmpfiles.rules = [ - "d /run/binfmt 0755 -" - ] ++ lib.mapAttrsToList - (name: interpreter: - "L+ /run/binfmt/${name} - - - - ${interpreter}" - ) - (lib.mapAttrs mkInterpreter config.boot.binfmt.registrations); + ({ + tmpfiles.rules = + [ + "d /run/binfmt 0755 -" + ] + ++ lib.mapAttrsToList (name: interpreter: "L+ /run/binfmt/${name} - - - - ${interpreter}") ( + lib.mapAttrs mkInterpreter config.boot.binfmt.registrations + ); }) - (lib.mkIf (config.boot.binfmt.registrations != {}) { + (lib.mkIf (config.boot.binfmt.registrations != { }) { additionalUpstreamSystemUnits = [ "proc-sys-fs-binfmt_misc.automount" "proc-sys-fs-binfmt_misc.mount" diff --git a/nixos/modules/system/boot/clevis.nix b/nixos/modules/system/boot/clevis.nix index 36328f19e7c65..cd174d363547b 100644 --- a/nixos/modules/system/boot/clevis.nix +++ b/nixos/modules/system/boot/clevis.nix @@ -1,17 +1,27 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.boot.initrd.clevis; systemd = config.boot.initrd.systemd; - supportedFs = [ "zfs" "bcachefs" ]; + supportedFs = [ + "zfs" + "bcachefs" + ]; in { - meta.maintainers = with lib.maintainers; [ julienmalka camillemndn ]; + meta.maintainers = with lib.maintainers; [ + julienmalka + camillemndn + ]; meta.doc = ./clevis.md; options = { boot.initrd.clevis.enable = lib.mkEnableOption "Clevis in initrd"; - boot.initrd.clevis.package = lib.mkOption { type = lib.types.package; default = pkgs.clevis; @@ -22,12 +32,14 @@ in boot.initrd.clevis.devices = lib.mkOption { description = "Encrypted devices that need to be unlocked at boot using Clevis"; default = { }; - type = lib.types.attrsOf (lib.types.submodule ({ - options.secretFile = lib.mkOption { - description = "Clevis JWE file used to decrypt the device at boot, in concert with the chosen pin (one of TPM2, Tang server, or SSS)."; - type = lib.types.path; - }; - })); + type = lib.types.attrsOf ( + lib.types.submodule ({ + options.secretFile = lib.mkOption { + description = "Clevis JWE file used to decrypt the device at boot, in concert with the chosen pin (one of TPM2, Tang server, or SSS)."; + type = lib.types.path; + }; + }) + ); }; boot.initrd.clevis.useTang = lib.mkOption { @@ -42,20 +54,28 @@ in # Implementation of clevis unlocking for the supported filesystems are located directly in the respective modules. - - assertions = (lib.attrValues (lib.mapAttrs - (device: _: { - assertion = (lib.any (fs: fs.device == device && (lib.elem fs.fsType supportedFs) || (fs.fsType == "zfs" && lib.hasPrefix "${device}/" fs.device)) config.system.build.fileSystems) || (lib.hasAttr device config.boot.initrd.luks.devices); - message = '' - No filesystem or LUKS device with the name ${device} is declared in your configuration.''; - }) - cfg.devices)); - + assertions = ( + lib.attrValues ( + lib.mapAttrs (device: _: { + assertion = + (lib.any ( + fs: + fs.device == device && (lib.elem fs.fsType supportedFs) + || (fs.fsType == "zfs" && lib.hasPrefix "${device}/" fs.device) + ) config.system.build.fileSystems) + || (lib.hasAttr device config.boot.initrd.luks.devices); + message = ''No filesystem or LUKS device with the name ${device} is declared in your configuration.''; + }) cfg.devices + ) + ); warnings = - if cfg.useTang && !config.boot.initrd.network.enable && !config.boot.initrd.systemd.network.enable - then [ "In order to use a Tang pinned secret you must configure networking in initrd" ] - else [ ]; + if + cfg.useTang && !config.boot.initrd.network.enable && !config.boot.initrd.systemd.network.enable + then + [ "In order to use a Tang pinned secret you must configure networking in initrd" ] + else + [ ]; boot.initrd = { extraUtilsCommands = lib.mkIf (!systemd.enable) '' @@ -81,7 +101,9 @@ in sed -i $out/bin/clevis-decrypt-tpm2 -e 's,tpm2_,tpm2 ,' ''; - secrets = lib.mapAttrs' (name: value: lib.nameValuePair "/etc/clevis/${name}.jwe" value.secretFile) cfg.devices; + secrets = lib.mapAttrs' ( + name: value: lib.nameValuePair "/etc/clevis/${name}.jwe" value.secretFile + ) cfg.devices; systemd = { extraBin = lib.mkIf systemd.enable { diff --git a/nixos/modules/system/boot/emergency-mode.nix b/nixos/modules/system/boot/emergency-mode.nix index 11195dc13d102..34058bc17a6b9 100644 --- a/nixos/modules/system/boot/emergency-mode.nix +++ b/nixos/modules/system/boot/emergency-mode.nix @@ -24,10 +24,10 @@ config = { - systemd.additionalUpstreamSystemUnits = lib.optionals - config.systemd.enableEmergencyMode [ - "emergency.target" "emergency.service" - ]; + systemd.additionalUpstreamSystemUnits = lib.optionals config.systemd.enableEmergencyMode [ + "emergency.target" + "emergency.service" + ]; }; diff --git a/nixos/modules/system/boot/grow-partition.nix b/nixos/modules/system/boot/grow-partition.nix index 1910ff52eac8f..f9db7ccd68bc7 100644 --- a/nixos/modules/system/boot/grow-partition.nix +++ b/nixos/modules/system/boot/grow-partition.nix @@ -2,7 +2,12 @@ # This allows an instance to be created with a bigger root filesystem # than provided by the machine image. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -25,7 +30,10 @@ with lib; systemd.services.growpart = { wantedBy = [ "-.mount" ]; after = [ "-.mount" ]; - before = [ "systemd-growfs-root.service" "shutdown.target" ]; + before = [ + "systemd-growfs-root.service" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; unitConfig.DefaultDependencies = false; serviceConfig = { diff --git a/nixos/modules/system/boot/initrd-network.nix b/nixos/modules/system/boot/initrd-network.nix index 6f63f16271246..1792976193672 100644 --- a/nixos/modules/system/boot/initrd-network.nix +++ b/nixos/modules/system/boot/initrd-network.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,38 +11,41 @@ let cfg = config.boot.initrd.network; - dhcpInterfaces = lib.attrNames (lib.filterAttrs (iface: v: v.useDHCP == true) (config.networking.interfaces or {})); - doDhcp = cfg.udhcpc.enable || dhcpInterfaces != []; - dhcpIfShellExpr = if config.networking.useDHCP || cfg.udhcpc.enable - then "$(ls /sys/class/net/ | grep -v ^lo$)" - else lib.concatMapStringsSep " " lib.escapeShellArg dhcpInterfaces; - - udhcpcScript = pkgs.writeScript "udhcp-script" - '' - #! /bin/sh - if [ "$1" = bound ]; then - ip address add "$ip/$mask" dev "$interface" - if [ -n "$mtu" ]; then - ip link set mtu "$mtu" dev "$interface" - fi - if [ -n "$staticroutes" ]; then - echo "$staticroutes" \ - | sed -r "s@(\S+) (\S+)@ ip route add \"\1\" via \"\2\" dev \"$interface\" ; @g" \ - | sed -r "s@ via \"0\.0\.0\.0\"@@g" \ - | /bin/sh - fi - if [ -n "$router" ]; then - ip route add "$router" dev "$interface" # just in case if "$router" is not within "$ip/$mask" (e.g. Hetzner Cloud) - ip route add default via "$router" dev "$interface" - fi - if [ -n "$dns" ]; then - rm -f /etc/resolv.conf - for server in $dns; do - echo "nameserver $server" >> /etc/resolv.conf - done - fi + dhcpInterfaces = lib.attrNames ( + lib.filterAttrs (iface: v: v.useDHCP == true) (config.networking.interfaces or { }) + ); + doDhcp = cfg.udhcpc.enable || dhcpInterfaces != [ ]; + dhcpIfShellExpr = + if config.networking.useDHCP || cfg.udhcpc.enable then + "$(ls /sys/class/net/ | grep -v ^lo$)" + else + lib.concatMapStringsSep " " lib.escapeShellArg dhcpInterfaces; + + udhcpcScript = pkgs.writeScript "udhcp-script" '' + #! /bin/sh + if [ "$1" = bound ]; then + ip address add "$ip/$mask" dev "$interface" + if [ -n "$mtu" ]; then + ip link set mtu "$mtu" dev "$interface" fi - ''; + if [ -n "$staticroutes" ]; then + echo "$staticroutes" \ + | sed -r "s@(\S+) (\S+)@ ip route add \"\1\" via \"\2\" dev \"$interface\" ; @g" \ + | sed -r "s@ via \"0\.0\.0\.0\"@@g" \ + | /bin/sh + fi + if [ -n "$router" ]; then + ip route add "$router" dev "$interface" # just in case if "$router" is not within "$ip/$mask" (e.g. Hetzner Cloud) + ip route add default via "$router" dev "$interface" + fi + if [ -n "$dns" ]; then + rm -f /etc/resolv.conf + for server in $dns; do + echo "nameserver $server" >> /etc/resolv.conf + done + fi + fi + ''; udhcpcArgs = toString cfg.udhcpc.extraArgs; @@ -91,7 +99,7 @@ in }; boot.initrd.network.udhcpc.extraArgs = mkOption { - default = []; + default = [ ]; type = types.listOf types.str; description = '' Additional command-line arguments passed verbatim to @@ -109,7 +117,6 @@ in ''; }; - }; config = mkIf cfg.enable { @@ -120,42 +127,47 @@ in copy_bin_and_libs ${pkgs.klibc}/lib/klibc/bin.static/ipconfig ''; - boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) (mkBefore ( - # Search for interface definitions in command line. - '' - ifaces="" - for o in $(cat /proc/cmdline); do - case $o in - ip=*) - ipconfig $o && ifaces="$ifaces $(echo $o | cut -d: -f6)" - ;; - esac - done - '' - - # Otherwise, use DHCP. - + optionalString doDhcp '' - # Bring up all interfaces. - for iface in ${dhcpIfShellExpr}; do - echo "bringing up network interface $iface..." - ip link set dev "$iface" up && ifaces="$ifaces $iface" - done - - # Acquire DHCP leases. - for iface in ${dhcpIfShellExpr}; do - echo "acquiring IP address via DHCP on $iface..." - udhcpc --quit --now -i $iface -O staticroutes --script ${udhcpcScript} ${udhcpcArgs} - done - '' - - + cfg.postCommands)); + boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) ( + mkBefore ( + # Search for interface definitions in command line. + '' + ifaces="" + for o in $(cat /proc/cmdline); do + case $o in + ip=*) + ipconfig $o && ifaces="$ifaces $(echo $o | cut -d: -f6)" + ;; + esac + done + '' + + # Otherwise, use DHCP. + + optionalString doDhcp '' + # Bring up all interfaces. + for iface in ${dhcpIfShellExpr}; do + echo "bringing up network interface $iface..." + ip link set dev "$iface" up && ifaces="$ifaces $iface" + done - boot.initrd.postMountCommands = mkIf (cfg.flushBeforeStage2 && !config.boot.initrd.systemd.enable) '' - for iface in $ifaces; do - ip address flush dev "$iface" - ip link set dev "$iface" down - done - ''; + # Acquire DHCP leases. + for iface in ${dhcpIfShellExpr}; do + echo "acquiring IP address via DHCP on $iface..." + udhcpc --quit --now -i $iface -O staticroutes --script ${udhcpcScript} ${udhcpcArgs} + done + '' + + + cfg.postCommands + ) + ); + + boot.initrd.postMountCommands = + mkIf (cfg.flushBeforeStage2 && !config.boot.initrd.systemd.enable) + '' + for iface in $ifaces; do + ip address flush dev "$iface" + ip link set dev "$iface" down + done + ''; }; diff --git a/nixos/modules/system/boot/initrd-openvpn.nix b/nixos/modules/system/boot/initrd-openvpn.nix index 602d80fa338a2..450cff92440c4 100644 --- a/nixos/modules/system/boot/initrd-openvpn.nix +++ b/nixos/modules/system/boot/initrd-openvpn.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -47,7 +52,10 @@ in ]; # Add kernel modules needed for OpenVPN - boot.initrd.kernelModules = [ "tun" "tap" ]; + boot.initrd.kernelModules = [ + "tun" + "tap" + ]; # Add openvpn and ip binaries to the initrd # The shared libraries are required for DNS resolution @@ -82,7 +90,10 @@ in boot.initrd.systemd.services.openvpn = { wantedBy = [ "initrd.target" ]; path = [ pkgs.iproute2 ]; - after = [ "network.target" "initrd-nixos-copy-secrets.service" ]; + after = [ + "network.target" + "initrd-nixos-copy-secrets.service" + ]; serviceConfig.ExecStart = "${pkgs.openvpn}/bin/openvpn /etc/initrd.ovpn"; serviceConfig.Type = "notify"; }; diff --git a/nixos/modules/system/boot/initrd-ssh.nix b/nixos/modules/system/boot/initrd-ssh.nix index 650ce593e945b..474f89e1ccf3a 100644 --- a/nixos/modules/system/boot/initrd-ssh.nix +++ b/nixos/modules/system/boot/initrd-ssh.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -8,7 +13,11 @@ let shell = if cfg.shell == null then "/bin/ash" else cfg.shell; inherit (config.programs.ssh) package; - enabled = let initrd = config.boot.initrd; in (initrd.network.enable || initrd.systemd.network.enable) && cfg.enable; + enabled = + let + initrd = config.boot.initrd; + in + (initrd.network.enable || initrd.systemd.network.enable) && cfg.enable; in @@ -47,7 +56,7 @@ in hostKeys = mkOption { type = types.listOf (types.either types.str types.path); - default = []; + default = [ ]; example = [ "/etc/secrets/initrd/ssh_host_rsa_key" "/etc/secrets/initrd/ssh_host_ed25519_key" @@ -119,185 +128,235 @@ in }; imports = - map (opt: mkRemovedOptionModule ([ "boot" "initrd" "network" "ssh" ] ++ [ opt ]) '' - The initrd SSH functionality now uses OpenSSH rather than Dropbear. - - If you want to keep your existing initrd SSH host keys, convert them with - $ dropbearconvert dropbear openssh dropbear_host_$type_key ssh_host_$type_key - and then set options.boot.initrd.network.ssh.hostKeys. - '') [ "hostRSAKey" "hostDSSKey" "hostECDSAKey" ]; - - config = let - # Nix complains if you include a store hash in initrd path names, so - # as an awful hack we drop the first character of the hash. - initrdKeyPath = path: if isString path - then path - else let name = builtins.baseNameOf path; in - builtins.unsafeDiscardStringContext ("/etc/ssh/" + - substring 1 (stringLength name) name); - - sshdCfg = config.services.openssh; - - sshdConfig = '' - UsePAM no - Port ${toString cfg.port} - - PasswordAuthentication no - AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys2 /etc/ssh/authorized_keys.d/%u - ChallengeResponseAuthentication no - - ${flip concatMapStrings cfg.hostKeys (path: '' - HostKey ${initrdKeyPath path} - '')} - - '' + lib.optionalString (sshdCfg.settings.KexAlgorithms != null) '' - KexAlgorithms ${concatStringsSep "," sshdCfg.settings.KexAlgorithms} - '' + lib.optionalString (sshdCfg.settings.Ciphers != null) '' - Ciphers ${concatStringsSep "," sshdCfg.settings.Ciphers} - '' + lib.optionalString (sshdCfg.settings.Macs != null) '' - MACs ${concatStringsSep "," sshdCfg.settings.Macs} - '' + '' - - LogLevel ${sshdCfg.settings.LogLevel} - - ${if sshdCfg.settings.UseDns then '' - UseDNS yes - '' else '' - UseDNS no - ''} - - ${optionalString (!config.boot.initrd.systemd.enable) '' - SshdSessionPath /bin/sshd-session - ''} - - ${cfg.extraConfig} - ''; - in mkIf enabled { - assertions = [ - { - assertion = cfg.authorizedKeys != [] || cfg.authorizedKeyFiles != []; - message = "You should specify at least one authorized key for initrd SSH"; - } - - { - assertion = (cfg.hostKeys != []) || cfg.ignoreEmptyHostKeys; - message = '' - You must now pre-generate the host keys for initrd SSH. - See the boot.initrd.network.ssh.hostKeys documentation - for instructions. + map + ( + opt: + mkRemovedOptionModule + ( + [ + "boot" + "initrd" + "network" + "ssh" + ] + ++ [ opt ] + ) + '' + The initrd SSH functionality now uses OpenSSH rather than Dropbear. + + If you want to keep your existing initrd SSH host keys, convert them with + $ dropbearconvert dropbear openssh dropbear_host_$type_key ssh_host_$type_key + and then set options.boot.initrd.network.ssh.hostKeys. + '' + ) + [ + "hostRSAKey" + "hostDSSKey" + "hostECDSAKey" + ]; + + config = + let + # Nix complains if you include a store hash in initrd path names, so + # as an awful hack we drop the first character of the hash. + initrdKeyPath = + path: + if isString path then + path + else + let + name = builtins.baseNameOf path; + in + builtins.unsafeDiscardStringContext ("/etc/ssh/" + substring 1 (stringLength name) name); + + sshdCfg = config.services.openssh; + + sshdConfig = + '' + UsePAM no + Port ${toString cfg.port} + + PasswordAuthentication no + AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys2 /etc/ssh/authorized_keys.d/%u + ChallengeResponseAuthentication no + + ${flip concatMapStrings cfg.hostKeys (path: '' + HostKey ${initrdKeyPath path} + '')} + + '' + + lib.optionalString (sshdCfg.settings.KexAlgorithms != null) '' + KexAlgorithms ${concatStringsSep "," sshdCfg.settings.KexAlgorithms} + '' + + lib.optionalString (sshdCfg.settings.Ciphers != null) '' + Ciphers ${concatStringsSep "," sshdCfg.settings.Ciphers} + '' + + lib.optionalString (sshdCfg.settings.Macs != null) '' + MACs ${concatStringsSep "," sshdCfg.settings.Macs} + '' + + '' + + LogLevel ${sshdCfg.settings.LogLevel} + + ${ + if sshdCfg.settings.UseDns then + '' + UseDNS yes + '' + else + '' + UseDNS no + '' + } + + ${optionalString (!config.boot.initrd.systemd.enable) '' + SshdSessionPath /bin/sshd-session + ''} + + ${cfg.extraConfig} ''; - } - ]; - - warnings = lib.optional (config.boot.initrd.systemd.enable && cfg.shell != null) '' - Please set 'boot.initrd.systemd.users.root.shell' instead of 'boot.initrd.network.ssh.shell' - ''; - - boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) '' - copy_bin_and_libs ${package}/bin/sshd - copy_bin_and_libs ${package}/libexec/sshd-session - cp -pv ${pkgs.glibc.out}/lib/libnss_files.so.* $out/lib - ''; - - boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) '' - # sshd requires a host key to check config, so we pass in the test's - tmpkey="$(mktemp initrd-ssh-testkey.XXXXXXXXXX)" - cp "${../../../tests/initrd-network-ssh/ssh_host_ed25519_key}" "$tmpkey" - # keys from Nix store are world-readable, which sshd doesn't like - chmod 600 "$tmpkey" - echo -n ${escapeShellArg sshdConfig} | - $out/bin/sshd -t -f /dev/stdin \ - -h "$tmpkey" - rm "$tmpkey" - ''; - - boot.initrd.network.postCommands = mkIf (!config.boot.initrd.systemd.enable) '' - echo '${shell}' > /etc/shells - echo 'root:x:0:0:root:/root:${shell}' > /etc/passwd - echo 'sshd:x:1:1:sshd:/var/empty:/bin/nologin' >> /etc/passwd - echo 'passwd: files' > /etc/nsswitch.conf - - mkdir -p /var/log /var/empty - touch /var/log/lastlog - - mkdir -p /etc/ssh - echo -n ${escapeShellArg sshdConfig} > /etc/ssh/sshd_config - - echo "export PATH=$PATH" >> /etc/profile - echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /etc/profile - - mkdir -p /root/.ssh - ${concatStrings (map (key: '' - echo ${escapeShellArg key} >> /root/.ssh/authorized_keys - '') cfg.authorizedKeys)} - ${concatStrings (map (keyFile: '' - cat ${keyFile} >> /root/.ssh/authorized_keys - '') cfg.authorizedKeyFiles)} - - ${flip concatMapStrings cfg.hostKeys (path: '' - # keys from Nix store are world-readable, which sshd doesn't like - chmod 0600 "${initrdKeyPath path}" - '')} - - /bin/sshd -e - ''; - - boot.initrd.postMountCommands = mkIf (!config.boot.initrd.systemd.enable) '' - # Stop sshd cleanly before stage 2. - # - # If you want to keep it around to debug post-mount SSH issues, - # run `touch /.keep_sshd` (either from an SSH session or in - # another initrd hook like preDeviceCommands). - if ! [ -e /.keep_sshd ]; then - pkill -x sshd - fi - ''; - - boot.initrd.secrets = listToAttrs - (map (path: nameValuePair (initrdKeyPath path) path) cfg.hostKeys); - - # Systemd initrd stuff - boot.initrd.systemd = mkIf config.boot.initrd.systemd.enable { - users.sshd = { uid = 1; group = "sshd"; }; - groups.sshd = { gid = 1; }; - - users.root.shell = mkIf (config.boot.initrd.network.ssh.shell != null) config.boot.initrd.network.ssh.shell; - - contents = { - "/etc/ssh/sshd_config".text = sshdConfig; - "/etc/ssh/authorized_keys.d/root".text = - concatStringsSep "\n" ( - config.boot.initrd.network.ssh.authorizedKeys ++ - (map (file: lib.fileContents file) config.boot.initrd.network.ssh.authorizedKeyFiles)); - }; - storePaths = [ - "${package}/bin/sshd" - "${package}/libexec/sshd-session" + in + mkIf enabled { + assertions = [ + { + assertion = cfg.authorizedKeys != [ ] || cfg.authorizedKeyFiles != [ ]; + message = "You should specify at least one authorized key for initrd SSH"; + } + + { + assertion = (cfg.hostKeys != [ ]) || cfg.ignoreEmptyHostKeys; + message = '' + You must now pre-generate the host keys for initrd SSH. + See the boot.initrd.network.ssh.hostKeys documentation + for instructions. + ''; + } ]; - services.sshd = { - description = "SSH Daemon"; - wantedBy = [ "initrd.target" ]; - after = [ "network.target" "initrd-nixos-copy-secrets.service" ]; - before = [ "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - - # Keys from Nix store are world-readable, which sshd doesn't - # like. If this were a real nix store and not the initrd, we - # neither would nor could do this - preStart = flip concatMapStrings cfg.hostKeys (path: '' - /bin/chmod 0600 "${initrdKeyPath path}" - ''); - unitConfig.DefaultDependencies = false; - serviceConfig = { - ExecStart = "${package}/bin/sshd -D -f /etc/ssh/sshd_config"; - Type = "simple"; - KillMode = "process"; - Restart = "on-failure"; + warnings = lib.optional (config.boot.initrd.systemd.enable && cfg.shell != null) '' + Please set 'boot.initrd.systemd.users.root.shell' instead of 'boot.initrd.network.ssh.shell' + ''; + + boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) '' + copy_bin_and_libs ${package}/bin/sshd + copy_bin_and_libs ${package}/libexec/sshd-session + cp -pv ${pkgs.glibc.out}/lib/libnss_files.so.* $out/lib + ''; + + boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) '' + # sshd requires a host key to check config, so we pass in the test's + tmpkey="$(mktemp initrd-ssh-testkey.XXXXXXXXXX)" + cp "${../../../tests/initrd-network-ssh/ssh_host_ed25519_key}" "$tmpkey" + # keys from Nix store are world-readable, which sshd doesn't like + chmod 600 "$tmpkey" + echo -n ${escapeShellArg sshdConfig} | + $out/bin/sshd -t -f /dev/stdin \ + -h "$tmpkey" + rm "$tmpkey" + ''; + + boot.initrd.network.postCommands = mkIf (!config.boot.initrd.systemd.enable) '' + echo '${shell}' > /etc/shells + echo 'root:x:0:0:root:/root:${shell}' > /etc/passwd + echo 'sshd:x:1:1:sshd:/var/empty:/bin/nologin' >> /etc/passwd + echo 'passwd: files' > /etc/nsswitch.conf + + mkdir -p /var/log /var/empty + touch /var/log/lastlog + + mkdir -p /etc/ssh + echo -n ${escapeShellArg sshdConfig} > /etc/ssh/sshd_config + + echo "export PATH=$PATH" >> /etc/profile + echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /etc/profile + + mkdir -p /root/.ssh + ${concatStrings ( + map (key: '' + echo ${escapeShellArg key} >> /root/.ssh/authorized_keys + '') cfg.authorizedKeys + )} + ${concatStrings ( + map (keyFile: '' + cat ${keyFile} >> /root/.ssh/authorized_keys + '') cfg.authorizedKeyFiles + )} + + ${flip concatMapStrings cfg.hostKeys (path: '' + # keys from Nix store are world-readable, which sshd doesn't like + chmod 0600 "${initrdKeyPath path}" + '')} + + /bin/sshd -e + ''; + + boot.initrd.postMountCommands = mkIf (!config.boot.initrd.systemd.enable) '' + # Stop sshd cleanly before stage 2. + # + # If you want to keep it around to debug post-mount SSH issues, + # run `touch /.keep_sshd` (either from an SSH session or in + # another initrd hook like preDeviceCommands). + if ! [ -e /.keep_sshd ]; then + pkill -x sshd + fi + ''; + + boot.initrd.secrets = listToAttrs ( + map (path: nameValuePair (initrdKeyPath path) path) cfg.hostKeys + ); + + # Systemd initrd stuff + boot.initrd.systemd = mkIf config.boot.initrd.systemd.enable { + users.sshd = { + uid = 1; + group = "sshd"; + }; + groups.sshd = { + gid = 1; + }; + + users.root.shell = mkIf ( + config.boot.initrd.network.ssh.shell != null + ) config.boot.initrd.network.ssh.shell; + + contents = { + "/etc/ssh/sshd_config".text = sshdConfig; + "/etc/ssh/authorized_keys.d/root".text = concatStringsSep "\n" ( + config.boot.initrd.network.ssh.authorizedKeys + ++ (map (file: lib.fileContents file) config.boot.initrd.network.ssh.authorizedKeyFiles) + ); + }; + storePaths = [ + "${package}/bin/sshd" + "${package}/libexec/sshd-session" + ]; + + services.sshd = { + description = "SSH Daemon"; + wantedBy = [ "initrd.target" ]; + after = [ + "network.target" + "initrd-nixos-copy-secrets.service" + ]; + before = [ "shutdown.target" ]; + conflicts = [ "shutdown.target" ]; + + # Keys from Nix store are world-readable, which sshd doesn't + # like. If this were a real nix store and not the initrd, we + # neither would nor could do this + preStart = flip concatMapStrings cfg.hostKeys (path: '' + /bin/chmod 0600 "${initrdKeyPath path}" + ''); + unitConfig.DefaultDependencies = false; + serviceConfig = { + ExecStart = "${package}/bin/sshd -D -f /etc/ssh/sshd_config"; + Type = "simple"; + KillMode = "process"; + Restart = "on-failure"; + }; }; }; - }; - }; + }; } diff --git a/nixos/modules/system/boot/kernel_config.nix b/nixos/modules/system/boot/kernel_config.nix index a98ee2deda699..8ca9c96006a48 100644 --- a/nixos/modules/system/boot/kernel_config.nix +++ b/nixos/modules/system/boot/kernel_config.nix @@ -2,15 +2,24 @@ with lib; let - mergeFalseByDefault = locs: defs: - if defs == [] then abort "This case should never happen." - else if any (x: x == false) (getValues defs) then false - else true; + mergeFalseByDefault = + locs: defs: + if defs == [ ] then + abort "This case should never happen." + else if any (x: x == false) (getValues defs) then + false + else + true; kernelItem = types.submodule { options = { tristate = mkOption { - type = types.enum [ "y" "m" "n" null ]; + type = types.enum [ + "y" + "m" + "n" + null + ]; default = null; internal = true; visible = true; @@ -31,7 +40,9 @@ let }; optional = mkOption { - type = types.bool // { merge = mergeFalseByDefault; }; + type = types.bool // { + merge = mergeFalseByDefault; + }; default = false; description = '' Whether option should generate a failure when unused. @@ -41,17 +52,36 @@ let }; }; - mkValue = with lib; val: - let - isNumber = c: elem c ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"]; - - in - if (val == "") then "\"\"" - else if val == "y" || val == "m" || val == "n" then val - else if all isNumber (stringToCharacters val) then val - else if substring 0 2 val == "0x" then val - else val; # FIXME: fix quoting one day + mkValue = + with lib; + val: + let + isNumber = + c: + elem c [ + "0" + "1" + "2" + "3" + "4" + "5" + "6" + "7" + "8" + "9" + ]; + in + if (val == "") then + "\"\"" + else if val == "y" || val == "m" || val == "n" then + val + else if all isNumber (stringToCharacters val) then + val + else if substring 0 2 val == "0x" then + val + else + val; # FIXME: fix quoting one day # generate nix intermediate kernel config file of the form # @@ -64,19 +94,21 @@ let # returns a string, expr should be an attribute set # Use mkValuePreprocess to preprocess option values, aka mark 'modules' as 'yes' or vice-versa # use the identity if you don't want to override the configured values - generateNixKConf = exprs: - let - mkConfigLine = key: item: - let - val = if item.freeform != null then item.freeform else item.tristate; - in - optionalString (val != null) - (if (item.optional) - then "${key}? ${mkValue val}\n" - else "${key} ${mkValue val}\n"); + generateNixKConf = + exprs: + let + mkConfigLine = + key: item: + let + val = if item.freeform != null then item.freeform else item.tristate; + in + optionalString (val != null) ( + if (item.optional) then "${key}? ${mkValue val}\n" else "${key} ${mkValue val}\n" + ); - mkConf = cfg: concatStrings (mapAttrsToList mkConfigLine cfg); - in mkConf exprs; + mkConf = cfg: concatStrings (mapAttrsToList mkConfigLine cfg); + in + mkConf exprs; in { @@ -99,11 +131,12 @@ in settings = mkOption { type = types.attrsOf kernelItem; - example = literalExpression '' with lib.kernel; { - "9P_NET" = yes; - USB = option yes; - MMC_BLOCK_MINORS = freeform "32"; - }''; + example = literalExpression '' + with lib.kernel; { + "9P_NET" = yes; + USB = option yes; + MMC_BLOCK_MINORS = freeform "32"; + }''; description = '' Structured kernel configuration. ''; diff --git a/nixos/modules/system/boot/loader/external/external.nix b/nixos/modules/system/boot/loader/external/external.nix index 7f976f755f2e4..f159aa498f879 100644 --- a/nixos/modules/system/boot/loader/external/external.nix +++ b/nixos/modules/system/boot/loader/external/external.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,7 +12,11 @@ let in { meta = { - maintainers = with maintainers; [ cole-h grahamc raitobezarius ]; + maintainers = with maintainers; [ + cole-h + grahamc + raitobezarius + ]; doc = ./external.md; }; diff --git a/nixos/modules/system/boot/loader/grub/ipxe.nix b/nixos/modules/system/boot/loader/grub/ipxe.nix index 8d9ab9966c545..a988e15a20dbb 100644 --- a/nixos/modules/system/boot/loader/grub/ipxe.nix +++ b/nixos/modules/system/boot/loader/grub/ipxe.nix @@ -1,58 +1,65 @@ # This module adds a scripted iPXE entry to the GRUB boot menu. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let scripts = builtins.attrNames config.boot.loader.grub.ipxe; - grubEntry = name: - '' - menuentry "iPXE - ${name}" { - linux16 @bootRoot@/ipxe.lkrn - initrd16 @bootRoot@/${name}.ipxe - } + grubEntry = name: '' + menuentry "iPXE - ${name}" { + linux16 @bootRoot@/ipxe.lkrn + initrd16 @bootRoot@/${name}.ipxe + } - ''; + ''; - scriptFile = name: + scriptFile = + name: let value = builtins.getAttr name config.boot.loader.grub.ipxe; in - if builtins.typeOf value == "path" then value - else builtins.toFile "${name}.ipxe" value; + if builtins.typeOf value == "path" then value else builtins.toFile "${name}.ipxe" value; in { - options = - { boot.loader.grub.ipxe = mkOption { - type = types.attrsOf (types.either types.path types.str); - description = '' - Set of iPXE scripts available for - booting from the GRUB boot menu. - ''; - default = { }; - example = literalExpression '' - { demo = ''' - #!ipxe - dhcp - chain http://boot.ipxe.org/demo/boot.php - '''; - } - ''; - }; + options = { + boot.loader.grub.ipxe = mkOption { + type = types.attrsOf (types.either types.path types.str); + description = '' + Set of iPXE scripts available for + booting from the GRUB boot menu. + ''; + default = { }; + example = literalExpression '' + { demo = ''' + #!ipxe + dhcp + chain http://boot.ipxe.org/demo/boot.php + '''; + } + ''; }; + }; config = mkIf (builtins.length scripts != 0) { boot.loader.grub.extraEntries = toString (map grubEntry scripts); boot.loader.grub.extraFiles = - { "ipxe.lkrn" = "${pkgs.ipxe}/ipxe.lkrn"; } - // - builtins.listToAttrs ( map - (name: { name = name+".ipxe"; value = scriptFile name; }) - scripts + { + "ipxe.lkrn" = "${pkgs.ipxe}/ipxe.lkrn"; + } + // builtins.listToAttrs ( + map (name: { + name = name + ".ipxe"; + value = scriptFile name; + }) scripts ); }; diff --git a/nixos/modules/system/boot/loader/grub/memtest.nix b/nixos/modules/system/boot/loader/grub/memtest.nix index 939d36666d217..b762a7b6ce463 100644 --- a/nixos/modules/system/boot/loader/grub/memtest.nix +++ b/nixos/modules/system/boot/loader/grub/memtest.nix @@ -1,5 +1,10 @@ # This module adds Memtest86+ to the GRUB boot menu. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -23,7 +28,7 @@ in }; params = mkOption { - default = []; + default = [ ]; example = [ "console=ttyS0,115200" ]; type = types.listOf types.str; description = '' diff --git a/nixos/modules/system/boot/loader/init-script/init-script.nix b/nixos/modules/system/boot/loader/init-script/init-script.nix index 0f2a37bdd09fe..5c4974f32ae07 100644 --- a/nixos/modules/system/boot/loader/init-script/init-script.nix +++ b/nixos/modules/system/boot/loader/init-script/init-script.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,7 +14,11 @@ let isExecutable = true; inherit (pkgs) bash; inherit (config.system.nixos) distroName; - path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; + path = [ + pkgs.coreutils + pkgs.gnused + pkgs.gnugrep + ]; }; in @@ -40,7 +49,6 @@ in }; - ###### implementation config = mkIf config.boot.loader.initScript.enable { diff --git a/nixos/modules/system/boot/loader/loader.nix b/nixos/modules/system/boot/loader/loader.nix index 01475f79b9c25..bc876ff8f804e 100644 --- a/nixos/modules/system/boot/loader/loader.nix +++ b/nixos/modules/system/boot/loader/loader.nix @@ -8,13 +8,13 @@ with lib; (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ]) ]; - options = { - boot.loader.timeout = mkOption { - default = 5; - type = types.nullOr types.int; - description = '' - Timeout (in seconds) until loader boots the default menu item. Use null if the loader menu should be displayed indefinitely. - ''; - }; + options = { + boot.loader.timeout = mkOption { + default = 5; + type = types.nullOr types.int; + description = '' + Timeout (in seconds) until loader boots the default menu item. Use null if the loader menu should be displayed indefinitely. + ''; }; + }; } diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix index 0b7d253c07c79..df0d5d6679884 100644 --- a/nixos/modules/system/boot/modprobe.nix +++ b/nixos/modules/system/boot/modprobe.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -7,18 +12,25 @@ with lib; ###### interface options = { - boot.modprobeConfig.enable = mkEnableOption "modprobe config. This is useful for systems like containers which do not require a kernel" // { - default = true; - }; - - boot.modprobeConfig.useUbuntuModuleBlacklist = mkEnableOption "Ubuntu distro's module blacklist" // { - default = true; - }; + boot.modprobeConfig.enable = + mkEnableOption "modprobe config. This is useful for systems like containers which do not require a kernel" + // { + default = true; + }; + + boot.modprobeConfig.useUbuntuModuleBlacklist = + mkEnableOption "Ubuntu distro's module blacklist" + // { + default = true; + }; boot.blacklistedKernelModules = mkOption { type = types.listOf types.str; - default = []; - example = [ "cirrusfb" "i2c_piix4" ]; + default = [ ]; + example = [ + "cirrusfb" + "i2c_piix4" + ]; description = '' List of names of kernel modules that should not be loaded automatically by the hardware probing code. @@ -27,10 +39,9 @@ with lib; boot.extraModprobeConfig = mkOption { default = ""; - example = - '' - options parport_pc io=0x378 irq=7 dma=1 - ''; + example = '' + options parport_pc io=0x378 irq=7 dma=1 + ''; description = '' Any additional configuration to be appended to the generated {file}`modprobe.conf`. This is typically used to @@ -42,36 +53,36 @@ with lib; }; - ###### implementation config = mkIf config.boot.modprobeConfig.enable { - environment.etc."modprobe.d/ubuntu.conf" = mkIf config.boot.modprobeConfig.useUbuntuModuleBlacklist { - source = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; - }; - - environment.etc."modprobe.d/nixos.conf".text = - '' - ${flip concatMapStrings config.boot.blacklistedKernelModules (name: '' - blacklist ${name} - '')} - ${config.boot.extraModprobeConfig} - ''; + environment.etc."modprobe.d/ubuntu.conf" = + mkIf config.boot.modprobeConfig.useUbuntuModuleBlacklist + { + source = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; + }; + + environment.etc."modprobe.d/nixos.conf".text = '' + ${flip concatMapStrings config.boot.blacklistedKernelModules (name: '' + blacklist ${name} + '')} + ${config.boot.extraModprobeConfig} + ''; environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases; - environment.etc."modprobe.d/systemd.conf".source = "${config.systemd.package}/lib/modprobe.d/systemd.conf"; + environment.etc."modprobe.d/systemd.conf".source = + "${config.systemd.package}/lib/modprobe.d/systemd.conf"; environment.systemPackages = [ pkgs.kmod ]; - system.activationScripts.modprobe = stringAfter ["specialfs"] - '' - # Allow the kernel to find our wrapped modprobe (which searches - # in the right location in the Nix store for kernel modules). - # We need this when the kernel (or some module) auto-loads a - # module. - echo ${pkgs.kmod}/bin/modprobe > /proc/sys/kernel/modprobe - ''; + system.activationScripts.modprobe = stringAfter [ "specialfs" ] '' + # Allow the kernel to find our wrapped modprobe (which searches + # in the right location in the Nix store for kernel modules). + # We need this when the kernel (or some module) auto-loads a + # module. + echo ${pkgs.kmod}/bin/modprobe > /proc/sys/kernel/modprobe + ''; }; diff --git a/nixos/modules/system/boot/resolved.nix b/nixos/modules/system/boot/resolved.nix index 65c00b694e0ff..987480521d1c8 100644 --- a/nixos/modules/system/boot/resolved.nix +++ b/nixos/modules/system/boot/resolved.nix @@ -1,20 +1,23 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.resolved; - dnsmasqResolve = config.services.dnsmasq.enable && - config.services.dnsmasq.resolveLocalQueries; + dnsmasqResolve = config.services.dnsmasq.enable && config.services.dnsmasq.resolveLocalQueries; resolvedConf = '' [Resolve] - ${optionalString (config.networking.nameservers != []) - "DNS=${concatStringsSep " " config.networking.nameservers}"} - ${optionalString (cfg.fallbackDns != null) - "FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"} - ${optionalString (cfg.domains != []) - "Domains=${concatStringsSep " " cfg.domains}"} + ${optionalString ( + config.networking.nameservers != [ ] + ) "DNS=${concatStringsSep " " config.networking.nameservers}"} + ${optionalString (cfg.fallbackDns != null) "FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"} + ${optionalString (cfg.domains != [ ]) "Domains=${concatStringsSep " " cfg.domains}"} LLMNR=${cfg.llmnr} DNSSEC=${cfg.dnssec} DNSOverTLS=${cfg.dnsovertls} @@ -38,7 +41,10 @@ in services.resolved.fallbackDns = mkOption { default = null; - example = [ "8.8.8.8" "2001:4860:4860::8844" ]; + example = [ + "8.8.8.8" + "2001:4860:4860::8844" + ]; type = types.nullOr (types.listOf types.str); description = '' A list of IPv4 and IPv6 addresses to use as the fallback DNS servers. @@ -68,7 +74,11 @@ in services.resolved.llmnr = mkOption { default = "true"; example = "false"; - type = types.enum [ "true" "resolve" "false" ]; + type = types.enum [ + "true" + "resolve" + "false" + ]; description = '' Controls Link-Local Multicast Name Resolution support (RFC 4795) on the local host. @@ -83,7 +93,11 @@ in services.resolved.dnssec = mkOption { default = "false"; example = "true"; - type = types.enum [ "true" "allow-downgrade" "false" ]; + type = types.enum [ + "true" + "allow-downgrade" + "false" + ]; description = '' If set to - `"true"`: @@ -112,7 +126,11 @@ in services.resolved.dnsovertls = mkOption { default = "false"; example = "true"; - type = types.enum [ "true" "opportunistic" "false" ]; + type = types.enum [ + "true" + "opportunistic" + "false" + ]; description = '' If set to - `"true"`: @@ -155,7 +173,8 @@ in (mkIf cfg.enable { assertions = [ - { assertion = !config.networking.useHostResolvConf; + { + assertion = !config.networking.useHostResolvConf; message = "Using host resolv.conf is not supported with systemd-resolved"; } ]; @@ -165,7 +184,7 @@ in # add resolve to nss hosts database if enabled and nscd enabled # system.nssModules is configured in nixos/modules/system/boot/systemd.nix # added with order 501 to allow modules to go before with mkBefore - system.nssDatabases.hosts = (mkOrder 501 ["resolve [!UNAVAIL=return]"]); + system.nssDatabases.hosts = (mkOrder 501 [ "resolve [!UNAVAIL=return]" ]); systemd.additionalUpstreamSystemUnits = [ "systemd-resolved.service" @@ -177,15 +196,17 @@ in restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ]; }; - environment.etc = { - "systemd/resolved.conf".text = resolvedConf; + environment.etc = + { + "systemd/resolved.conf".text = resolvedConf; - # symlink the dynamic stub resolver of resolv.conf as recommended by upstream: - # https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf - "resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf"; - } // optionalAttrs dnsmasqResolve { - "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf"; - }; + # symlink the dynamic stub resolver of resolv.conf as recommended by upstream: + # https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf + "resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf"; + } + // optionalAttrs dnsmasqResolve { + "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf"; + }; # If networkmanager is enabled, ask it to interface with resolved. networking.networkmanager.dns = "systemd-resolved"; @@ -211,12 +232,12 @@ in tmpfiles.settings.systemd-resolved-stub."/etc/resolv.conf".L.argument = "/run/systemd/resolve/stub-resolv.conf"; - additionalUpstreamUnits = ["systemd-resolved.service"]; - users.systemd-resolve = {}; - groups.systemd-resolve = {}; - storePaths = ["${config.boot.initrd.systemd.package}/lib/systemd/systemd-resolved"]; + additionalUpstreamUnits = [ "systemd-resolved.service" ]; + users.systemd-resolve = { }; + groups.systemd-resolve = { }; + storePaths = [ "${config.boot.initrd.systemd.package}/lib/systemd/systemd-resolved" ]; services.systemd-resolved = { - wantedBy = ["sysinit.target"]; + wantedBy = [ "sysinit.target" ]; aliases = [ "dbus-org.freedesktop.resolve1.service" ]; }; }; diff --git a/nixos/modules/system/boot/shutdown.nix b/nixos/modules/system/boot/shutdown.nix index 3f25dca0cbf96..9121b695f5cd2 100644 --- a/nixos/modules/system/boot/shutdown.nix +++ b/nixos/modules/system/boot/shutdown.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,22 +11,24 @@ with lib; # This unit saves the value of the system clock to the hardware # clock on shutdown. - systemd.services.save-hwclock = - { description = "Save Hardware Clock"; + systemd.services.save-hwclock = { + description = "Save Hardware Clock"; - wantedBy = [ "shutdown.target" ]; + wantedBy = [ "shutdown.target" ]; - unitConfig = { - DefaultDependencies = false; - ConditionPathExists = "/dev/rtc"; - ConditionPathIsReadWrite = "/etc/"; - }; + unitConfig = { + DefaultDependencies = false; + ConditionPathExists = "/dev/rtc"; + ConditionPathIsReadWrite = "/etc/"; + }; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.util-linux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}"; - }; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.util-linux}/sbin/hwclock --systohc ${ + if config.time.hardwareClockInLocalTime then "--localtime" else "--utc" + }"; }; + }; boot.kernel.sysctl."kernel.poweroff_cmd" = "${config.systemd.package}/sbin/poweroff"; diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix index 71ee9144990cb..beb887d0f3e5c 100644 --- a/nixos/modules/system/boot/stage-2.nix +++ b/nixos/modules/system/boot/stage-2.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,15 +20,17 @@ let isExecutable = true; inherit useHostResolvConf; inherit (config.system.build) earlyMountScript; - path = lib.makeBinPath ([ - pkgs.coreutils - pkgs.util-linux - ] ++ lib.optional useHostResolvConf pkgs.openresolv); - postBootCommands = pkgs.writeText "local-cmds" - '' - ${config.boot.postBootCommands} - ${config.powerManagement.powerUpCommands} - ''; + path = lib.makeBinPath ( + [ + pkgs.coreutils + pkgs.util-linux + ] + ++ lib.optional useHostResolvConf pkgs.openresolv + ); + postBootCommands = pkgs.writeText "local-cmds" '' + ${config.boot.postBootCommands} + ${config.powerManagement.powerUpCommands} + ''; }; in @@ -62,7 +69,7 @@ in }; extraSystemdUnitPaths = mkOption { - default = []; + default = [ ]; type = types.listOf types.str; description = '' Additional paths that get appended to the SYSTEMD_UNIT_PATH environment variable @@ -73,7 +80,6 @@ in }; - config = { system.build.bootStage2 = bootStage2; diff --git a/nixos/modules/system/boot/stratisroot.nix b/nixos/modules/system/boot/stratisroot.nix index 241d044db2fe0..68c387f2d3cc1 100644 --- a/nixos/modules/system/boot/stratisroot.nix +++ b/nixos/modules/system/boot/stratisroot.nix @@ -1,10 +1,18 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let - requiredStratisFilesystems = lib.attrsets.filterAttrs (_: x: utils.fsNeededForBoot x && x.stratis.poolUuid != null) config.fileSystems; + requiredStratisFilesystems = lib.attrsets.filterAttrs ( + _: x: utils.fsNeededForBoot x && x.stratis.poolUuid != null + ) config.fileSystems; in { - options = {}; - config = lib.mkIf (requiredStratisFilesystems != {}) { + options = { }; + config = lib.mkIf (requiredStratisFilesystems != { }) { assertions = [ { assertion = config.boot.initrd.systemd.enable; @@ -20,41 +28,68 @@ in "${pkgs.stratisd}/libexec/stratisd-min" "${pkgs.stratisd.initrd}/bin/stratis-rootfs-setup" ]; - packages = [pkgs.stratisd.initrd]; + packages = [ pkgs.stratisd.initrd ]; extraBin = { thin_check = "${pkgs."thin-provisioning-tools"}/bin/thin_check"; thin_repair = "${pkgs."thin-provisioning-tools"}/bin/thin_repair"; thin_metadata_size = "${pkgs."thin-provisioning-tools"}/bin/thin_metadata_size"; stratis-min = "${pkgs.stratisd}/bin/stratis-min"; }; - services = - lib.attrsets.mapAttrs' ( - mountPoint: fileSystem: { - name = "stratis-setup-${fileSystem.stratis.poolUuid}"; - value = { - description = "setup for Stratis root filesystem"; - unitConfig.DefaultDependencies = "no"; - conflicts = [ "shutdown.target" "initrd-switch-root.target" ]; - onFailure = [ "emergency.target" ]; - unitConfig.OnFailureJobMode = "isolate"; - wants = [ "stratisd-min.service" "plymouth-start.service" ]; - wantedBy = [ "initrd.target" ]; - after = [ "paths.target" "plymouth-start.service" "stratisd-min.service" ]; - before = [ "initrd.target" "shutdown.target" "initrd-switch-root.target" ]; - environment.STRATIS_ROOTFS_UUID = fileSystem.stratis.poolUuid; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.stratisd.initrd}/bin/stratis-rootfs-setup"; - RemainAfterExit = "yes"; - }; - }; - } - ) requiredStratisFilesystems; + services = lib.attrsets.mapAttrs' (mountPoint: fileSystem: { + name = "stratis-setup-${fileSystem.stratis.poolUuid}"; + value = { + description = "setup for Stratis root filesystem"; + unitConfig.DefaultDependencies = "no"; + conflicts = [ + "shutdown.target" + "initrd-switch-root.target" + ]; + onFailure = [ "emergency.target" ]; + unitConfig.OnFailureJobMode = "isolate"; + wants = [ + "stratisd-min.service" + "plymouth-start.service" + ]; + wantedBy = [ "initrd.target" ]; + after = [ + "paths.target" + "plymouth-start.service" + "stratisd-min.service" + ]; + before = [ + "initrd.target" + "shutdown.target" + "initrd-switch-root.target" + ]; + environment.STRATIS_ROOTFS_UUID = fileSystem.stratis.poolUuid; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.stratisd.initrd}/bin/stratis-rootfs-setup"; + RemainAfterExit = "yes"; + }; + }; + }) requiredStratisFilesystems; }; - availableKernelModules = [ "dm-thin-pool" "dm-crypt" ] ++ [ "aes" "aes_generic" "blowfish" "twofish" - "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" - "af_alg" "algif_skcipher" - ]; + availableKernelModules = + [ + "dm-thin-pool" + "dm-crypt" + ] + ++ [ + "aes" + "aes_generic" + "blowfish" + "twofish" + "serpent" + "cbc" + "xts" + "lrw" + "sha1" + "sha256" + "sha512" + "af_alg" + "algif_skcipher" + ]; services.udev.packages = [ pkgs.stratisd.initrd pkgs.lvm2 diff --git a/nixos/modules/system/boot/systemd/coredump.nix b/nixos/modules/system/boot/systemd/coredump.nix index ccf5d449b94a3..672ad62f4926e 100644 --- a/nixos/modules/system/boot/systemd/coredump.nix +++ b/nixos/modules/system/boot/systemd/coredump.nix @@ -1,11 +1,18 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: with lib; let cfg = config.systemd.coredump; systemd = config.systemd.package; -in { +in +{ options = { systemd.coredump.enable = mkOption { default = true; @@ -37,8 +44,7 @@ in { ]; environment.etc = { - "systemd/coredump.conf".text = - '' + "systemd/coredump.conf".text = '' [Coredump] ${cfg.extraConfig} ''; @@ -55,7 +61,10 @@ in { substitutions = [ "--replace-fail" "${systemd}" - "${pkgs.symlinkJoin { name = "systemd"; paths = [ systemd ]; }}" + "${pkgs.symlinkJoin { + name = "systemd"; + paths = [ systemd ]; + }}" ]; }; @@ -66,11 +75,11 @@ in { uid = config.ids.uids.systemd-coredump; group = "systemd-coredump"; }; - users.groups.systemd-coredump = {}; + users.groups.systemd-coredump = { }; }) (mkIf (!cfg.enable) { - boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core"; + boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core"; }) ]; diff --git a/nixos/modules/system/boot/systemd/homed.nix b/nixos/modules/system/boot/systemd/homed.nix index 1fd8846616c9b..1e7ae236af6bd 100644 --- a/nixos/modules/system/boot/systemd/homed.nix +++ b/nixos/modules/system/boot/systemd/homed.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.homed; diff --git a/nixos/modules/system/boot/systemd/initrd-secrets.nix b/nixos/modules/system/boot/systemd/initrd-secrets.nix index d375238aa146e..50bc45babe156 100644 --- a/nixos/modules/system/boot/systemd/initrd-secrets.nix +++ b/nixos/modules/system/boot/systemd/initrd-secrets.nix @@ -1,36 +1,50 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { config = lib.mkIf (config.boot.initrd.enable && config.boot.initrd.systemd.enable) { # Copy secrets into the initrd if they cannot be appended - boot.initrd.systemd.contents = lib.mkIf (!config.boot.loader.supportsInitrdSecrets) - (lib.mapAttrs' (dest: source: lib.nameValuePair "/.initrd-secrets/${dest}" { source = if source == null then dest else source; }) config.boot.initrd.secrets); + boot.initrd.systemd.contents = lib.mkIf (!config.boot.loader.supportsInitrdSecrets) ( + lib.mapAttrs' ( + dest: source: + lib.nameValuePair "/.initrd-secrets/${dest}" { source = if source == null then dest else source; } + ) config.boot.initrd.secrets + ); # Copy secrets to their respective locations - boot.initrd.systemd.services.initrd-nixos-copy-secrets = lib.mkIf (config.boot.initrd.secrets != {}) { - description = "Copy secrets into place"; - # Run as early as possible - wantedBy = [ "sysinit.target" ]; - before = [ "cryptsetup-pre.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig.DefaultDependencies = false; + boot.initrd.systemd.services.initrd-nixos-copy-secrets = + lib.mkIf (config.boot.initrd.secrets != { }) + { + description = "Copy secrets into place"; + # Run as early as possible + wantedBy = [ "sysinit.target" ]; + before = [ + "cryptsetup-pre.target" + "shutdown.target" + ]; + conflicts = [ "shutdown.target" ]; + unitConfig.DefaultDependencies = false; - # We write the secrets to /.initrd-secrets and move them because this allows - # secrets to be written to /run. If we put the secret directly to /run and - # drop this service, we'd mount the /run tmpfs over the secret, making it - # invisible in stage 2. - script = '' - for secret in $(cd /.initrd-secrets; find . -type f -o -type l); do - mkdir -p "$(dirname "/$secret")" - cp "/.initrd-secrets/$secret" "/$secret" - done - ''; + # We write the secrets to /.initrd-secrets and move them because this allows + # secrets to be written to /run. If we put the secret directly to /run and + # drop this service, we'd mount the /run tmpfs over the secret, making it + # invisible in stage 2. + script = '' + for secret in $(cd /.initrd-secrets; find . -type f -o -type l); do + mkdir -p "$(dirname "/$secret")" + cp "/.initrd-secrets/$secret" "/$secret" + done + ''; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - }; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; # The script needs this boot.initrd.systemd.extraBin.find = "${pkgs.findutils}/bin/find"; }; diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index 572c6558ac962..4a38e7ed1db6a 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -1,4 +1,11 @@ -{ lib, options, config, utils, pkgs, ... }: +{ + lib, + options, + config, + utils, + pkgs, + ... +}: with lib; @@ -13,8 +20,8 @@ let targetToUnit timerToUnit mountToUnit - automountToUnit; - + automountToUnit + ; cfg = config.boot.initrd.systemd; @@ -77,9 +84,11 @@ let "sysinit.target.wants" ]; - enabledUpstreamUnits = filter (n: ! elem n cfg.suppressedUnits) upstreamUnits; - enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedUnits) cfg.units; - jobScripts = concatLists (mapAttrsToList (_: unit: unit.jobScripts or []) (filterAttrs (_: v: v.enable) cfg.services)); + enabledUpstreamUnits = filter (n: !elem n cfg.suppressedUnits) upstreamUnits; + enabledUnits = filterAttrs (n: v: !elem n cfg.suppressedUnits) cfg.units; + jobScripts = concatLists ( + mapAttrsToList (_: unit: unit.jobScripts or [ ]) (filterAttrs (_: v: v.enable) cfg.services) + ); stage1Units = generateUnits { type = "initrd"; @@ -101,16 +110,21 @@ let initrdBinEnv = pkgs.buildEnv { name = "initrd-bin-env"; paths = map getBin cfg.initrdBin; - pathsToLink = ["/bin" "/sbin"]; + pathsToLink = [ + "/bin" + "/sbin" + ]; # Make sure sbin and bin have the same contents, and add extraBin postBuild = '' find $out/bin -maxdepth 1 -type l -print0 | xargs --null cp --no-dereference --no-clobber -t $out/sbin/ find $out/sbin -maxdepth 1 -type l -print0 | xargs --null cp --no-dereference --no-clobber -t $out/bin/ - ${concatStringsSep "\n" (mapAttrsToList (n: v: '' - ln -sf '${v}' $out/bin/'${n}' - ln -sf '${v}' $out/sbin/'${n}' - '') cfg.extraBin)} + ${concatStringsSep "\n" ( + mapAttrsToList (n: v: '' + ln -sf '${v}' $out/bin/'${n}' + ln -sf '${v}' $out/sbin/'${n}' + '') cfg.extraBin + )} ''; }; @@ -122,7 +136,8 @@ let contents = lib.filter ({ source, ... }: !lib.elem source cfg.suppressedStorePaths) cfg.storePaths; }; -in { +in +{ options.boot.initrd.systemd = { enable = mkEnableOption "systemd in initrd" // { description = '' @@ -154,9 +169,19 @@ in { }; managerEnvironment = mkOption { - type = with types; attrsOf (nullOr (oneOf [ str path package ])); - default = {}; - example = { SYSTEMD_LOG_LEVEL = "debug"; }; + type = + with types; + attrsOf ( + nullOr (oneOf [ + str + path + package + ]) + ); + default = { }; + example = { + SYSTEMD_LOG_LEVEL = "debug"; + }; description = '' Environment variables of PID 1. These variables are *not* passed to started units. @@ -170,7 +195,7 @@ in { "/etc/machine-id".source = /etc/machine-id; } ''; - default = {}; + default = { }; type = utils.systemdUtils.types.initrdContents; }; @@ -179,7 +204,7 @@ in { Store paths to copy into the initrd as well. ''; type = utils.systemdUtils.types.initrdStorePath; - default = []; + default = [ ]; }; strip = mkOption { @@ -205,7 +230,7 @@ in { } ''; type = types.attrsOf types.path; - default = {}; + default = { }; }; suppressedStorePaths = mkOption { @@ -214,11 +239,14 @@ in { should not be copied. ''; type = types.listOf types.singleLineStr; - default = []; + default = [ ]; }; root = lib.mkOption { - type = lib.types.enum [ "fstab" "gpt-auto" ]; + type = lib.types.enum [ + "fstab" + "gpt-auto" + ]; default = "fstab"; example = "gpt-auto"; description = '' @@ -231,7 +259,12 @@ in { }; emergencyAccess = mkOption { - type = with types; oneOf [ bool (nullOr (passwdEntry str)) ]; + type = + with types; + oneOf [ + bool + (nullOr (passwdEntry str)) + ]; description = '' Set to true for unauthenticated emergency access, and false or null for no emergency access. @@ -244,7 +277,7 @@ in { initrdBin = mkOption { type = types.listOf types.package; - default = []; + default = [ ]; description = '' Packages to include in /bin for the stage 1 emergency shell. ''; @@ -253,7 +286,10 @@ in { additionalUpstreamUnits = mkOption { default = [ ]; type = types.listOf types.str; - example = [ "debug-shell.service" "systemd-quotacheck.service" ]; + example = [ + "debug-shell.service" + "systemd-quotacheck.service" + ]; description = '' Additional units shipped with systemd that shall be enabled. ''; @@ -274,55 +310,55 @@ in { units = mkOption { description = "Definition of systemd units."; - default = {}; + default = { }; visible = "shallow"; type = systemdUtils.types.units; }; packages = mkOption { - default = []; + default = [ ]; type = types.listOf types.package; example = literalExpression "[ pkgs.systemd-cryptsetup-generator ]"; description = "Packages providing systemd units and hooks."; }; targets = mkOption { - default = {}; + default = { }; visible = "shallow"; type = systemdUtils.types.initrdTargets; description = "Definition of systemd target units."; }; services = mkOption { - default = {}; + default = { }; type = systemdUtils.types.initrdServices; visible = "shallow"; description = "Definition of systemd service units."; }; sockets = mkOption { - default = {}; + default = { }; type = systemdUtils.types.initrdSockets; visible = "shallow"; description = "Definition of systemd socket units."; }; timers = mkOption { - default = {}; + default = { }; type = systemdUtils.types.initrdTimers; visible = "shallow"; description = "Definition of systemd timer units."; }; paths = mkOption { - default = {}; + default = { }; type = systemdUtils.types.initrdPaths; visible = "shallow"; description = "Definition of systemd path units."; }; mounts = mkOption { - default = []; + default = [ ]; type = systemdUtils.types.initrdMounts; visible = "shallow"; description = '' @@ -333,7 +369,7 @@ in { }; automounts = mkOption { - default = []; + default = [ ]; type = systemdUtils.types.automounts; visible = "shallow"; description = '' @@ -344,7 +380,7 @@ in { }; slices = mkOption { - default = {}; + default = { }; type = systemdUtils.types.slices; visible = "shallow"; description = "Definition of slice configurations."; @@ -352,32 +388,42 @@ in { }; config = mkIf (config.boot.initrd.enable && cfg.enable) { - assertions = [ - { - assertion = cfg.root == "fstab" -> any (fs: fs.mountPoint == "/") (builtins.attrValues config.fileSystems); - message = "The ‘fileSystems’ option does not specify your root file system."; - } - ] ++ map (name: { - assertion = lib.attrByPath name (throw "impossible") config.boot.initrd == ""; - message = '' - systemd stage 1 does not support 'boot.initrd.${lib.concatStringsSep "." name}'. Please - convert it to analogous systemd units in 'boot.initrd.systemd'. - - Definitions: - ${lib.concatMapStringsSep "\n" ({ file, ... }: " - ${file}") (lib.attrByPath name (throw "impossible") options.boot.initrd).definitionsWithLocations} - ''; - }) [ - [ "preFailCommands" ] - [ "preDeviceCommands" ] - [ "preLVMCommands" ] - [ "postDeviceCommands" ] - [ "postResumeCommands" ] - [ "postMountCommands" ] - [ "extraUdevRulesCommands" ] - [ "extraUtilsCommands" ] - [ "extraUtilsCommandsTest" ] - [ "network" "postCommands" ] - ]; + assertions = + [ + { + assertion = + cfg.root == "fstab" -> any (fs: fs.mountPoint == "/") (builtins.attrValues config.fileSystems); + message = "The ‘fileSystems’ option does not specify your root file system."; + } + ] + ++ map + (name: { + assertion = lib.attrByPath name (throw "impossible") config.boot.initrd == ""; + message = '' + systemd stage 1 does not support 'boot.initrd.${lib.concatStringsSep "." name}'. Please + convert it to analogous systemd units in 'boot.initrd.systemd'. + + Definitions: + ${lib.concatMapStringsSep "\n" ({ file, ... }: " - ${file}") + (lib.attrByPath name (throw "impossible") options.boot.initrd).definitionsWithLocations + } + ''; + }) + [ + [ "preFailCommands" ] + [ "preDeviceCommands" ] + [ "preLVMCommands" ] + [ "postDeviceCommands" ] + [ "postResumeCommands" ] + [ "postMountCommands" ] + [ "extraUdevRulesCommands" ] + [ "extraUtilsCommands" ] + [ "extraUtilsCommandsTest" ] + [ + "network" + "postCommands" + ] + ]; system.build = { inherit initialRamdisk; }; @@ -387,16 +433,23 @@ in { # systemd-cryptenroll ] ++ lib.optional cfg.package.withEfi "efivarfs"; - boot.kernelParams = [ - "root=${config.boot.initrd.systemd.root}" - ] ++ lib.optional (config.boot.resumeDevice != "") "resume=${config.boot.resumeDevice}" + boot.kernelParams = + [ + "root=${config.boot.initrd.systemd.root}" + ] + ++ lib.optional (config.boot.resumeDevice != "") "resume=${config.boot.resumeDevice}" # `systemd` mounts root in initrd as read-only unless "rw" is on the kernel command line. # For NixOS activation to succeed, we need to have root writable in initrd. ++ lib.optional (config.boot.initrd.systemd.root == "gpt-auto") "rw"; boot.initrd.systemd = { # bashInteractive is easier to use and also required by debug-shell.service - initrdBin = [pkgs.bashInteractive pkgs.coreutils cfg.package.kmod cfg.package]; + initrdBin = [ + pkgs.bashInteractive + pkgs.coreutils + cfg.package.kmod + cfg.package + ]; extraBin = { less = "${pkgs.less}/bin/less"; mount = "${cfg.package.util-linux}/bin/mount"; @@ -406,107 +459,128 @@ in { managerEnvironment.PATH = "/bin:/sbin"; - contents = { - "/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive"; - "/init".source = "${cfg.package}/lib/systemd/systemd"; - "/etc/systemd/system".source = stage1Units; - - "/etc/systemd/system.conf".text = '' - [Manager] - DefaultEnvironment=PATH=/bin:/sbin - ${cfg.extraConfig} - ManagerEnvironment=${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment)} - ''; - - "/lib".source = "${modulesClosure}/lib"; - - "/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules; - - # We can use either ! or * to lock the root account in the - # console, but some software like OpenSSH won't even allow you - # to log in with an SSH key if you use ! so we use * instead - "/etc/shadow".text = let - ea = cfg.emergencyAccess; - access = ea != null && !(isBool ea && !ea); - passwd = if isString ea then ea else ""; - in - "root:${if access then passwd else "*"}:::::::"; - - "/bin".source = "${initrdBinEnv}/bin"; - "/sbin".source = "${initrdBinEnv}/sbin"; - - "/etc/sysctl.d/nixos.conf".text = "kernel.modprobe = /sbin/modprobe"; - "/etc/modprobe.d/systemd.conf".source = "${cfg.package}/lib/modprobe.d/systemd.conf"; - "/etc/modprobe.d/ubuntu.conf".source = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; - "/etc/modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases; - - "/etc/os-release".source = config.boot.initrd.osRelease; - "/etc/initrd-release".source = config.boot.initrd.osRelease; - - # For systemd-journald's _HOSTNAME field; needs to be set early, cannot be backfilled. - "/etc/hostname".text = config.networking.hostName; + contents = + { + "/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive"; + "/init".source = "${cfg.package}/lib/systemd/systemd"; + "/etc/systemd/system".source = stage1Units; + + "/etc/systemd/system.conf".text = '' + [Manager] + DefaultEnvironment=PATH=/bin:/sbin + ${cfg.extraConfig} + ManagerEnvironment=${ + lib.concatStringsSep " " ( + lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment + ) + } + ''; + + "/lib".source = "${modulesClosure}/lib"; + + "/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules; + + # We can use either ! or * to lock the root account in the + # console, but some software like OpenSSH won't even allow you + # to log in with an SSH key if you use ! so we use * instead + "/etc/shadow".text = + let + ea = cfg.emergencyAccess; + access = ea != null && !(isBool ea && !ea); + passwd = if isString ea then ea else ""; + in + "root:${if access then passwd else "*"}:::::::"; + + "/bin".source = "${initrdBinEnv}/bin"; + "/sbin".source = "${initrdBinEnv}/sbin"; + + "/etc/sysctl.d/nixos.conf".text = "kernel.modprobe = /sbin/modprobe"; + "/etc/modprobe.d/systemd.conf".source = "${cfg.package}/lib/modprobe.d/systemd.conf"; + "/etc/modprobe.d/ubuntu.conf".source = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; + "/etc/modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases; + + "/etc/os-release".source = config.boot.initrd.osRelease; + "/etc/initrd-release".source = config.boot.initrd.osRelease; + + # For systemd-journald's _HOSTNAME field; needs to be set early, cannot be backfilled. + "/etc/hostname".text = config.networking.hostName; - } // optionalAttrs (config.environment.etc ? "modprobe.d/nixos.conf") { - "/etc/modprobe.d/nixos.conf".source = config.environment.etc."modprobe.d/nixos.conf".source; - }; + } + // optionalAttrs (config.environment.etc ? "modprobe.d/nixos.conf") { + "/etc/modprobe.d/nixos.conf".source = config.environment.etc."modprobe.d/nixos.conf".source; + }; - storePaths = [ - # systemd tooling - "${cfg.package}/lib/systemd/systemd-executor" - "${cfg.package}/lib/systemd/systemd-fsck" - "${cfg.package}/lib/systemd/systemd-hibernate-resume" - "${cfg.package}/lib/systemd/systemd-journald" - "${cfg.package}/lib/systemd/systemd-makefs" - "${cfg.package}/lib/systemd/systemd-modules-load" - "${cfg.package}/lib/systemd/systemd-remount-fs" - "${cfg.package}/lib/systemd/systemd-shutdown" - "${cfg.package}/lib/systemd/systemd-sulogin-shell" - "${cfg.package}/lib/systemd/systemd-sysctl" - "${cfg.package}/lib/systemd/systemd-bsod" - "${cfg.package}/lib/systemd/systemd-sysroot-fstab-check" - - # generators - "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator" - "${cfg.package}/lib/systemd/system-generators/systemd-fstab-generator" - "${cfg.package}/lib/systemd/system-generators/systemd-gpt-auto-generator" - "${cfg.package}/lib/systemd/system-generators/systemd-hibernate-resume-generator" - "${cfg.package}/lib/systemd/system-generators/systemd-run-generator" - - # utilities needed by systemd - "${cfg.package.util-linux}/bin/mount" - "${cfg.package.util-linux}/bin/umount" - "${cfg.package.util-linux}/bin/sulogin" - - # required for script services, and some tools like xfs still want the sh symlink - "${pkgs.bash}/bin" - - # so NSS can look up usernames - "${pkgs.glibc}/lib/libnss_files.so.2" - - # Resolving sysroot symlinks without code exec - "${pkgs.chroot-realpath}/bin/chroot-realpath" - ] ++ optionals cfg.package.withCryptsetup [ - # fido2 support - "${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so" - "${pkgs.libfido2}/lib/libfido2.so.1" - ] ++ jobScripts - ++ map (c: builtins.removeAttrs c ["text"]) (builtins.attrValues cfg.contents); - - targets.initrd.aliases = ["default.target"]; + storePaths = + [ + # systemd tooling + "${cfg.package}/lib/systemd/systemd-executor" + "${cfg.package}/lib/systemd/systemd-fsck" + "${cfg.package}/lib/systemd/systemd-hibernate-resume" + "${cfg.package}/lib/systemd/systemd-journald" + "${cfg.package}/lib/systemd/systemd-makefs" + "${cfg.package}/lib/systemd/systemd-modules-load" + "${cfg.package}/lib/systemd/systemd-remount-fs" + "${cfg.package}/lib/systemd/systemd-shutdown" + "${cfg.package}/lib/systemd/systemd-sulogin-shell" + "${cfg.package}/lib/systemd/systemd-sysctl" + "${cfg.package}/lib/systemd/systemd-bsod" + "${cfg.package}/lib/systemd/systemd-sysroot-fstab-check" + + # generators + "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator" + "${cfg.package}/lib/systemd/system-generators/systemd-fstab-generator" + "${cfg.package}/lib/systemd/system-generators/systemd-gpt-auto-generator" + "${cfg.package}/lib/systemd/system-generators/systemd-hibernate-resume-generator" + "${cfg.package}/lib/systemd/system-generators/systemd-run-generator" + + # utilities needed by systemd + "${cfg.package.util-linux}/bin/mount" + "${cfg.package.util-linux}/bin/umount" + "${cfg.package.util-linux}/bin/sulogin" + + # required for script services, and some tools like xfs still want the sh symlink + "${pkgs.bash}/bin" + + # so NSS can look up usernames + "${pkgs.glibc}/lib/libnss_files.so.2" + + # Resolving sysroot symlinks without code exec + "${pkgs.chroot-realpath}/bin/chroot-realpath" + ] + ++ optionals cfg.package.withCryptsetup [ + # fido2 support + "${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so" + "${pkgs.libfido2}/lib/libfido2.so.1" + ] + ++ jobScripts + ++ map (c: builtins.removeAttrs c [ "text" ]) (builtins.attrValues cfg.contents); + + targets.initrd.aliases = [ "default.target" ]; units = - mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths + mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit v)) cfg.services - // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices - // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets - // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets - // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers - // listToAttrs (map - (v: let n = escapeSystemdPath v.where; - in nameValuePair "${n}.mount" (mountToUnit v)) cfg.mounts) - // listToAttrs (map - (v: let n = escapeSystemdPath v.where; - in nameValuePair "${n}.automount" (automountToUnit v)) cfg.automounts); - + // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices + // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets + // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets + // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers + // listToAttrs ( + map ( + v: + let + n = escapeSystemdPath v.where; + in + nameValuePair "${n}.mount" (mountToUnit v) + ) cfg.mounts + ) + // listToAttrs ( + map ( + v: + let + n = escapeSystemdPath v.where; + in + nameValuePair "${n}.automount" (automountToUnit v) + ) cfg.automounts + ); services.initrd-find-nixos-closure = { description = "Find NixOS closure"; @@ -515,7 +589,10 @@ in { RequiresMountsFor = "/sysroot/nix/store"; DefaultDependencies = false; }; - before = [ "initrd.target" "shutdown.target" ]; + before = [ + "initrd.target" + "shutdown.target" + ]; conflicts = [ "shutdown.target" ]; requiredBy = [ "initrd.target" ]; serviceConfig = { @@ -523,45 +600,46 @@ in { RemainAfterExit = true; }; - script = /* bash */ '' - set -uo pipefail - export PATH="/bin:${cfg.package.util-linux}/bin:${pkgs.chroot-realpath}/bin" - - # Figure out what closure to boot - closure= - for o in $(< /proc/cmdline); do - case $o in - init=*) - IFS="=" read -r -a initParam <<< "$o" - closure="''${initParam[1]}" - ;; - esac - done - - # Sanity check - if [ -z "''${closure:-}" ]; then - echo 'No init= parameter on the kernel command line' >&2 - exit 1 - fi - - # Resolve symlinks in the init parameter. We need this for some boot loaders - # (e.g. boot.loader.generationsDir). - closure="$(chroot-realpath /sysroot "$closure")" - - # Assume the directory containing the init script is the closure. - closure="$(dirname "$closure")" - - ln --symbolic "$closure" /nixos-closure - - # If we are not booting a NixOS closure (e.g. init=/bin/sh), - # we don't know what root to prepare so we don't do anything - if ! [ -x "/sysroot$(readlink "/sysroot$closure/prepare-root" || echo "$closure/prepare-root")" ]; then - echo "NEW_INIT=''${initParam[1]}" > /etc/switch-root.conf - echo "$closure does not look like a NixOS installation - not activating" - exit 0 - fi - echo 'NEW_INIT=' > /etc/switch-root.conf - ''; + script = # bash + '' + set -uo pipefail + export PATH="/bin:${cfg.package.util-linux}/bin:${pkgs.chroot-realpath}/bin" + + # Figure out what closure to boot + closure= + for o in $(< /proc/cmdline); do + case $o in + init=*) + IFS="=" read -r -a initParam <<< "$o" + closure="''${initParam[1]}" + ;; + esac + done + + # Sanity check + if [ -z "''${closure:-}" ]; then + echo 'No init= parameter on the kernel command line' >&2 + exit 1 + fi + + # Resolve symlinks in the init parameter. We need this for some boot loaders + # (e.g. boot.loader.generationsDir). + closure="$(chroot-realpath /sysroot "$closure")" + + # Assume the directory containing the init script is the closure. + closure="$(dirname "$closure")" + + ln --symbolic "$closure" /nixos-closure + + # If we are not booting a NixOS closure (e.g. init=/bin/sh), + # we don't know what root to prepare so we don't do anything + if ! [ -x "/sysroot$(readlink "/sysroot$closure/prepare-root" || echo "$closure/prepare-root")" ]; then + echo "NEW_INIT=''${initParam[1]}" > /etc/switch-root.conf + echo "$closure does not look like a NixOS installation - not activating" + exit 0 + fi + echo 'NEW_INIT=' > /etc/switch-root.conf + ''; }; # We need to propagate /run for things like /run/booted-system @@ -594,16 +672,17 @@ in { serviceConfig.Type = "oneshot"; description = "NixOS Activation"; - script = /* bash */ '' - set -uo pipefail - export PATH="/bin:${cfg.package.util-linux}/bin" + script = # bash + '' + set -uo pipefail + export PATH="/bin:${cfg.package.util-linux}/bin" - closure="$(realpath /nixos-closure)" + closure="$(realpath /nixos-closure)" - # Initialize the system - export IN_NIXOS_SYSTEMD_STAGE1=true - exec chroot /sysroot "$closure/prepare-root" - ''; + # Initialize the system + export IN_NIXOS_SYSTEMD_STAGE1=true + exec chroot /sysroot "$closure/prepare-root" + ''; }; # This will either call systemctl with the new init as the last parameter (which @@ -619,7 +698,7 @@ in { }; services.panic-on-fail = { - wantedBy = ["emergency.target"]; + wantedBy = [ "emergency.target" ]; unitConfig = { DefaultDependencies = false; ConditionKernelCommandLine = [ diff --git a/nixos/modules/system/boot/systemd/journald-gateway.nix b/nixos/modules/system/boot/systemd/journald-gateway.nix index 1bcb3f400c619..b6cf300d3bfb6 100644 --- a/nixos/modules/system/boot/systemd/journald-gateway.nix +++ b/nixos/modules/system/boot/systemd/journald-gateway.nix @@ -1,11 +1,23 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.journald.gateway; cliArgs = lib.cli.toGNUCommandLineShell { } { # If either of these are null / false, they are not passed in the command-line - inherit (cfg) cert key trust system user merge; + inherit (cfg) + cert + key + trust + system + user + merge + ; }; in { @@ -118,9 +130,9 @@ in users.groups.systemd-journal-gateway.gid = config.ids.gids.systemd-journal-gateway; systemd.services.systemd-journal-gatewayd.serviceConfig.ExecStart = [ - # Clear the default command line - "" - "${pkgs.systemd}/lib/systemd/systemd-journal-gatewayd ${cliArgs}" + # Clear the default command line + "" + "${pkgs.systemd}/lib/systemd/systemd-journal-gatewayd ${cliArgs}" ]; systemd.sockets.systemd-journal-gatewayd = { diff --git a/nixos/modules/system/boot/systemd/journald-remote.nix b/nixos/modules/system/boot/systemd/journald-remote.nix index 13674694c144e..5aeb3c8f15974 100644 --- a/nixos/modules/system/boot/systemd/journald-remote.nix +++ b/nixos/modules/system/boot/systemd/journald-remote.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.journald.remote; @@ -17,7 +22,10 @@ in listen = lib.mkOption { default = "https"; - type = lib.types.enum [ "https" "http" ]; + type = lib.types.enum [ + "https" + "http" + ]; description = '' Which protocol to listen to. ''; @@ -74,7 +82,10 @@ in SplitMode = lib.mkOption { default = "host"; example = "none"; - type = lib.types.enum [ "host" "none" ]; + type = lib.types.enum [ + "host" + "none" + ]; description = '' With "host", a separate output file is used, based on the hostname of the other endpoint of a connection. With "none", only diff --git a/nixos/modules/system/boot/systemd/journald-upload.nix b/nixos/modules/system/boot/systemd/journald-upload.nix index 053f886ff5c6b..c2437e7aadf89 100644 --- a/nixos/modules/system/boot/systemd/journald-upload.nix +++ b/nixos/modules/system/boot/systemd/journald-upload.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.journald.upload; diff --git a/nixos/modules/system/boot/systemd/journald.nix b/nixos/modules/system/boot/systemd/journald.nix index 1eb958a3c2cde..bfcacc4fa8ebb 100644 --- a/nixos/modules/system/boot/systemd/journald.nix +++ b/nixos/modules/system/boot/systemd/journald.nix @@ -1,9 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.journald; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "services" "journald" "enableHttpGateway" ] [ "services" "journald" "gateway" "enable" ]) + (lib.mkRenamedOptionModule + [ "services" "journald" "enableHttpGateway" ] + [ "services" "journald" "gateway" "enable" ] + ) ]; options = { @@ -31,7 +40,12 @@ in { services.journald.storage = lib.mkOption { default = "persistent"; - type = lib.types.enum [ "persistent" "volatile" "auto" "none" ]; + type = lib.types.enum [ + "persistent" + "volatile" + "auto" + "none" + ]; description = '' Controls where to store journal data. See {manpage}`journald.conf(5)` for further information. @@ -85,18 +99,21 @@ in { }; config = { - systemd.additionalUpstreamSystemUnits = [ - "systemd-journald.socket" - "systemd-journald@.socket" - "systemd-journald-varlink@.socket" - "systemd-journald.service" - "systemd-journald@.service" - "systemd-journal-flush.service" - "systemd-journal-catalog-update.service" - "systemd-journald-sync@.service" - ] ++ (lib.optional (!config.boot.isContainer) "systemd-journald-audit.socket") ++ [ - "systemd-journald-dev-log.socket" - "syslog.socket" + systemd.additionalUpstreamSystemUnits = + [ + "systemd-journald.socket" + "systemd-journald@.socket" + "systemd-journald-varlink@.socket" + "systemd-journald.service" + "systemd-journald@.service" + "systemd-journal-flush.service" + "systemd-journal-catalog-update.service" + "systemd-journald-sync@.service" + ] + ++ (lib.optional (!config.boot.isContainer) "systemd-journald-audit.socket") + ++ [ + "systemd-journald-dev-log.socket" + "syslog.socket" ]; environment.etc = { @@ -119,9 +136,13 @@ in { users.groups.systemd-journal.gid = config.ids.gids.systemd-journal; systemd.services.systemd-journal-flush.restartIfChanged = false; - systemd.services.systemd-journald.restartTriggers = [ config.environment.etc."systemd/journald.conf".source ]; + systemd.services.systemd-journald.restartTriggers = [ + config.environment.etc."systemd/journald.conf".source + ]; systemd.services.systemd-journald.stopIfChanged = false; - systemd.services."systemd-journald@".restartTriggers = [ config.environment.etc."systemd/journald.conf".source ]; + systemd.services."systemd-journald@".restartTriggers = [ + config.environment.etc."systemd/journald.conf".source + ]; systemd.services."systemd-journald@".stopIfChanged = false; }; } diff --git a/nixos/modules/system/boot/systemd/logind.nix b/nixos/modules/system/boot/systemd/logind.nix index c7a0a375f6ff9..a216219b0df73 100644 --- a/nixos/modules/system/boot/systemd/logind.nix +++ b/nixos/modules/system/boot/systemd/logind.nix @@ -1,10 +1,24 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.services.logind; logindHandlerType = lib.types.enum [ - "ignore" "poweroff" "reboot" "halt" "kexec" "suspend" - "hibernate" "hybrid-sleep" "suspend-then-hibernate" "lock" + "ignore" + "poweroff" + "reboot" + "halt" + "kexec" + "suspend" + "hibernate" + "hybrid-sleep" + "suspend-then-hibernate" + "lock" ]; in { @@ -152,21 +166,26 @@ in }; config = { - systemd.additionalUpstreamSystemUnits = [ - "systemd-logind.service" - "autovt@.service" - "systemd-user-sessions.service" - ] ++ lib.optionals config.systemd.package.withImportd [ - "dbus-org.freedesktop.import1.service" - ] ++ lib.optionals config.systemd.package.withMachined [ - "dbus-org.freedesktop.machine1.service" - ] ++ lib.optionals config.systemd.package.withPortabled [ - "dbus-org.freedesktop.portable1.service" - ] ++ [ - "dbus-org.freedesktop.login1.service" - "user@.service" - "user-runtime-dir@.service" - ]; + systemd.additionalUpstreamSystemUnits = + [ + "systemd-logind.service" + "autovt@.service" + "systemd-user-sessions.service" + ] + ++ lib.optionals config.systemd.package.withImportd [ + "dbus-org.freedesktop.import1.service" + ] + ++ lib.optionals config.systemd.package.withMachined [ + "dbus-org.freedesktop.machine1.service" + ] + ++ lib.optionals config.systemd.package.withPortabled [ + "dbus-org.freedesktop.portable1.service" + ] + ++ [ + "dbus-org.freedesktop.login1.service" + "user@.service" + "user-runtime-dir@.service" + ]; environment.etc = { "systemd/logind.conf".text = '' diff --git a/nixos/modules/system/boot/systemd/nspawn.nix b/nixos/modules/system/boot/systemd/nspawn.nix index e9bf82c462a95..21684aed66d48 100644 --- a/nixos/modules/system/boot/systemd/nspawn.nix +++ b/nixos/modules/system/boot/systemd/nspawn.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ...}: +{ + config, + lib, + pkgs, + utils, + ... +}: with utils.systemdUtils.unitOptions; with utils.systemdUtils.lib; @@ -9,14 +15,46 @@ let checkExec = checkUnitConfig "Exec" [ (assertOnlyFields [ - "Boot" "ProcessTwo" "Parameters" "Environment" "User" "WorkingDirectory" - "PivotRoot" "Capability" "DropCapability" "NoNewPrivileges" "KillSignal" - "Personality" "MachineID" "PrivateUsers" "NotifyReady" "SystemCallFilter" - "LimitCPU" "LimitFSIZE" "LimitDATA" "LimitSTACK" "LimitCORE" "LimitRSS" - "LimitNOFILE" "LimitAS" "LimitNPROC" "LimitMEMLOCK" "LimitLOCKS" - "LimitSIGPENDING" "LimitMSGQUEUE" "LimitNICE" "LimitRTPRIO" "LimitRTTIME" - "OOMScoreAdjust" "CPUAffinity" "Hostname" "ResolvConf" "Timezone" - "LinkJournal" "Ephemeral" "AmbientCapability" + "Boot" + "ProcessTwo" + "Parameters" + "Environment" + "User" + "WorkingDirectory" + "PivotRoot" + "Capability" + "DropCapability" + "NoNewPrivileges" + "KillSignal" + "Personality" + "MachineID" + "PrivateUsers" + "NotifyReady" + "SystemCallFilter" + "LimitCPU" + "LimitFSIZE" + "LimitDATA" + "LimitSTACK" + "LimitCORE" + "LimitRSS" + "LimitNOFILE" + "LimitAS" + "LimitNPROC" + "LimitMEMLOCK" + "LimitLOCKS" + "LimitSIGPENDING" + "LimitMSGQUEUE" + "LimitNICE" + "LimitRTPRIO" + "LimitRTTIME" + "OOMScoreAdjust" + "CPUAffinity" + "Hostname" + "ResolvConf" + "Timezone" + "LinkJournal" + "Ephemeral" + "AmbientCapability" ]) (assertValueOneOf "Boot" boolValues) (assertValueOneOf "ProcessTwo" boolValues) @@ -25,32 +63,52 @@ let checkFiles = checkUnitConfig "Files" [ (assertOnlyFields [ - "ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystem" - "Overlay" "OverlayReadOnly" "PrivateUsersChown" "BindUser" - "Inaccessible" "PrivateUsersOwnership" + "ReadOnly" + "Volatile" + "Bind" + "BindReadOnly" + "TemporaryFileSystem" + "Overlay" + "OverlayReadOnly" + "PrivateUsersChown" + "BindUser" + "Inaccessible" + "PrivateUsersOwnership" ]) (assertValueOneOf "ReadOnly" boolValues) (assertValueOneOf "Volatile" (boolValues ++ [ "state" ])) (assertValueOneOf "PrivateUsersChown" boolValues) - (assertValueOneOf "PrivateUsersOwnership" [ "off" "chown" "map" "auto" ]) + (assertValueOneOf "PrivateUsersOwnership" [ + "off" + "chown" + "map" + "auto" + ]) ]; checkNetwork = checkUnitConfig "Network" [ (assertOnlyFields [ - "Private" "VirtualEthernet" "VirtualEthernetExtra" "Interface" "MACVLAN" - "IPVLAN" "Bridge" "Zone" "Port" + "Private" + "VirtualEthernet" + "VirtualEthernetExtra" + "Interface" + "MACVLAN" + "IPVLAN" + "Bridge" + "Zone" + "Port" ]) (assertValueOneOf "Private" boolValues) (assertValueOneOf "VirtualEthernet" boolValues) ]; instanceOptions = { - options = - (getAttrs [ "enable" ] sharedOptions) - // { + options = (getAttrs [ "enable" ] sharedOptions) // { execConfig = mkOption { - default = {}; - example = { Parameters = "/bin/sh"; }; + default = { }; + example = { + Parameters = "/bin/sh"; + }; type = types.addCheck (types.attrsOf unitOption) checkExec; description = '' Each attribute in this set specifies an option in the @@ -60,8 +118,10 @@ let }; filesConfig = mkOption { - default = {}; - example = { Bind = [ "/home/alice" ]; }; + default = { }; + example = { + Bind = [ "/home/alice" ]; + }; type = types.addCheck (types.attrsOf unitOption) checkFiles; description = '' Each attribute in this set specifies an option in the @@ -71,8 +131,10 @@ let }; networkConfig = mkOption { - default = {}; - example = { Private = false; }; + default = { }; + example = { + Private = false; + }; type = types.addCheck (types.attrsOf unitOption) checkNetwork; description = '' Each attribute in this set specifies an option in the @@ -84,27 +146,31 @@ let }; - instanceToUnit = name: def: - let base = { - text = '' - [Exec] - ${attrsToSection def.execConfig} + instanceToUnit = + name: def: + let + base = { + text = '' + [Exec] + ${attrsToSection def.execConfig} - [Files] - ${attrsToSection def.filesConfig} + [Files] + ${attrsToSection def.filesConfig} - [Network] - ${attrsToSection def.networkConfig} - ''; - } // def; - in base // { unit = makeUnit name base; }; + [Network] + ${attrsToSection def.networkConfig} + ''; + } // def; + in + base // { unit = makeUnit name base; }; -in { +in +{ options = { systemd.nspawn = mkOption { - default = {}; + default = { }; type = with types; attrsOf (submodule instanceOptions); description = "Definition of systemd-nspawn configurations."; }; @@ -113,23 +179,29 @@ in { config = let - units = mapAttrs' (n: v: let nspawnFile = "${n}.nspawn"; in nameValuePair nspawnFile (instanceToUnit nspawnFile v)) cfg; + units = mapAttrs' ( + n: v: + let + nspawnFile = "${n}.nspawn"; + in + nameValuePair nspawnFile (instanceToUnit nspawnFile v) + ) cfg; in - mkMerge [ - (mkIf (cfg != {}) { - environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits { - allowCollisions = false; - type = "nspawn"; - inherit units; - upstreamUnits = []; - upstreamWants = []; - }); - }) - { - systemd.targets.multi-user.wants = [ "machines.target" ]; - systemd.services."systemd-nspawn@".environment = { - SYSTEMD_NSPAWN_UNIFIED_HIERARCHY = mkDefault "1"; - }; - } - ]; + mkMerge [ + (mkIf (cfg != { }) { + environment.etc."systemd/nspawn".source = mkIf (cfg != { }) (generateUnits { + allowCollisions = false; + type = "nspawn"; + inherit units; + upstreamUnits = [ ]; + upstreamWants = [ ]; + }); + }) + { + systemd.targets.multi-user.wants = [ "machines.target" ]; + systemd.services."systemd-nspawn@".environment = { + SYSTEMD_NSPAWN_UNIFIED_HIERARCHY = mkDefault "1"; + }; + } + ]; } diff --git a/nixos/modules/system/boot/systemd/oomd.nix b/nixos/modules/system/boot/systemd/oomd.nix index a2a90e0ceb873..bf162288c1429 100644 --- a/nixos/modules/system/boot/systemd/oomd.nix +++ b/nixos/modules/system/boot/systemd/oomd.nix @@ -1,14 +1,21 @@ -{ config, lib, ... }: let +{ config, lib, ... }: +let cfg = config.systemd.oomd; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "systemd" "oomd" "enableUserServices" ] [ "systemd" "oomd" "enableUserSlices" ]) + (lib.mkRenamedOptionModule + [ "systemd" "oomd" "enableUserServices" ] + [ "systemd" "oomd" "enableUserSlices" ] + ) ]; options.systemd.oomd = { - enable = lib.mkEnableOption "the `systemd-oomd` OOM killer" // { default = true; }; + enable = lib.mkEnableOption "the `systemd-oomd` OOM killer" // { + default = true; + }; # Fedora enables the first and third option by default. See the 10-oomd-* files here: # https://src.fedoraproject.org/rpms/systemd/tree/806c95e1c70af18f81d499b24cd7acfa4c36ffd6 @@ -17,8 +24,14 @@ in { enableUserSlices = lib.mkEnableOption "oomd on all user slices (`user@.slice`) and all user owned slices"; extraConfig = lib.mkOption { - type = with lib.types; attrsOf (oneOf [ str int bool ]); - default = {}; + type = + with lib.types; + attrsOf (oneOf [ + str + int + bool + ]); + default = { }; example = lib.literalExpression ''{ DefaultMemoryPressureDurationSec = "20s"; }''; description = '' Extra config options for `systemd-oomd`. See {command}`man oomd.conf` @@ -34,7 +47,7 @@ in { ]; systemd.services.systemd-oomd.wantedBy = [ "multi-user.target" ]; - environment.etc."systemd/oomd.conf".text = lib.generators.toINI {} { + environment.etc."systemd/oomd.conf".text = lib.generators.toINI { } { OOM = cfg.extraConfig; }; diff --git a/nixos/modules/system/boot/systemd/repart.nix b/nixos/modules/system/boot/systemd/repart.nix index 49db1305bb2b6..0e1c1b4e2785c 100644 --- a/nixos/modules/system/boot/systemd/repart.nix +++ b/nixos/modules/system/boot/systemd/repart.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.systemd.repart; @@ -6,12 +12,12 @@ let format = pkgs.formats.ini { }; - definitionsDirectory = utils.systemdUtils.lib.definitions - "repart.d" - format - (lib.mapAttrs (_n: v: { Partition = v; }) cfg.partitions); + definitionsDirectory = utils.systemdUtils.lib.definitions "repart.d" format ( + lib.mapAttrs (_n: v: { Partition = v; }) cfg.partitions + ); - partitionAssertions = lib.mapAttrsToList (fileName: definition: + partitionAssertions = lib.mapAttrsToList ( + fileName: definition: let inherit (utils.systemdUtils.lib) GPTMaxLabelLength; labelLength = builtins.stringLength definition.Label; @@ -64,7 +70,15 @@ in }; partitions = lib.mkOption { - type = with lib.types; attrsOf (attrsOf (oneOf [ str int bool ])); + type = + with lib.types; + attrsOf ( + attrsOf (oneOf [ + str + int + bool + ]) + ); default = { }; example = { "10-root" = { @@ -128,9 +142,10 @@ in # When running in the initrd, systemd-repart by default searches # for definition files in /sysroot or /sysusr. We tell it to look # in the initrd itself. - ''${config.boot.initrd.systemd.package}/bin/systemd-repart \ - --definitions=/etc/repart.d \ - --dry-run=no ${lib.optionalString (initrdCfg.device != null) initrdCfg.device} + '' + ${config.boot.initrd.systemd.package}/bin/systemd-repart \ + --definitions=/etc/repart.d \ + --dry-run=no ${lib.optionalString (initrdCfg.device != null) initrdCfg.device} '' ]; }; @@ -142,11 +157,7 @@ in # on. The service then needs to be ordered to run after this device # is available. requires = lib.mkIf (initrdCfg.device != null) [ deviceUnit ]; - after = - if initrdCfg.device == null then - [ "sysroot.mount" ] - else - [ deviceUnit ]; + after = if initrdCfg.device == null then [ "sysroot.mount" ] else [ deviceUnit ]; }; }; diff --git a/nixos/modules/system/boot/systemd/shutdown.nix b/nixos/modules/system/boot/systemd/shutdown.nix index 48477954e20c7..1e8b8c6f863cf 100644 --- a/nixos/modules/system/boot/systemd/shutdown.nix +++ b/nixos/modules/system/boot/systemd/shutdown.nix @@ -1,12 +1,22 @@ -{ config, lib, utils, pkgs, ... }: let +{ + config, + lib, + utils, + pkgs, + ... +}: +let cfg = config.systemd.shutdownRamfs; ramfsContents = pkgs.writeText "shutdown-ramfs-contents.json" (builtins.toJSON cfg.storePaths); -in { +in +{ options.systemd.shutdownRamfs = { - enable = lib.mkEnableOption "pivoting back to an initramfs for shutdown" // { default = true; }; + enable = lib.mkEnableOption "pivoting back to an initramfs for shutdown" // { + default = true; + }; contents = lib.mkOption { description = "Set of files that have to be linked into the shutdown ramfs"; example = lib.literalExpression '' @@ -22,7 +32,7 @@ in { Store paths to copy into the shutdown ramfs as well. ''; type = utils.systemdUtils.types.initrdStorePath; - default = []; + default = [ ]; }; }; @@ -32,14 +42,18 @@ in { "/etc/initrd-release".source = config.environment.etc.os-release.source; "/etc/os-release".source = config.environment.etc.os-release.source; }; - systemd.shutdownRamfs.storePaths = [pkgs.runtimeShell "${pkgs.coreutils}/bin"] - ++ map (c: builtins.removeAttrs c ["text"]) (builtins.attrValues cfg.contents); + systemd.shutdownRamfs.storePaths = [ + pkgs.runtimeShell + "${pkgs.coreutils}/bin" + ] ++ map (c: builtins.removeAttrs c [ "text" ]) (builtins.attrValues cfg.contents); - systemd.mounts = [{ - what = "tmpfs"; - where = "/run/initramfs"; - type = "tmpfs"; - }]; + systemd.mounts = [ + { + what = "tmpfs"; + where = "/run/initramfs"; + type = "tmpfs"; + } + ]; systemd.services.generate-shutdown-ramfs = { description = "Generate shutdown ramfs"; diff --git a/nixos/modules/system/boot/systemd/sysupdate.nix b/nixos/modules/system/boot/systemd/sysupdate.nix index 67f0b3b1caadc..dff4a6066ec0e 100644 --- a/nixos/modules/system/boot/systemd/sysupdate.nix +++ b/nixos/modules/system/boot/systemd/sysupdate.nix @@ -1,14 +1,17 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let cfg = config.systemd.sysupdate; format = pkgs.formats.ini { listToValue = toString; }; - definitionsDirectory = utils.systemdUtils.lib.definitions - "sysupdate.d" - format - cfg.transfers; + definitionsDirectory = utils.systemdUtils.lib.definitions "sysupdate.d" format cfg.transfers; in { options.systemd.sysupdate = { @@ -79,7 +82,11 @@ in Source = { Type = "url-file"; Path = "https://download.example.com/"; - MatchPattern = [ "nixos_@v+@l-@d.efi" "nixos_@v+@l.efi" "nixos_@v.efi" ]; + MatchPattern = [ + "nixos_@v+@l-@d.efi" + "nixos_@v+@l.efi" + "nixos_@v.efi" + ]; }; Target = { diff --git a/nixos/modules/system/boot/systemd/sysusers.nix b/nixos/modules/system/boot/systemd/sysusers.nix index d0af52e0ae9e4..d7b700f5748cd 100644 --- a/nixos/modules/system/boot/systemd/sysusers.nix +++ b/nixos/modules/system/boot/systemd/sysusers.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let @@ -11,25 +17,32 @@ let # Type Name ID GECOS Home directory Shell # Users - ${lib.concatLines (lib.mapAttrsToList - (username: opts: + ${lib.concatLines ( + lib.mapAttrsToList ( + username: opts: let uid = if opts.uid == null then "/var/lib/nixos/uid/${username}" else toString opts.uid; in - ''u ${username} ${uid}:${opts.group} "${opts.description}" ${opts.home} ${utils.toShellPath opts.shell}'' - ) - systemUsers) - } + ''u ${username} ${uid}:${opts.group} "${opts.description}" ${opts.home} ${utils.toShellPath opts.shell}'' + ) systemUsers + )} # Groups - ${lib.concatLines (lib.mapAttrsToList - (groupname: opts: ''g ${groupname} ${if opts.gid == null then "/var/lib/nixos/gid/${groupname}" else toString opts.gid}'') userCfg.groups) - } + ${lib.concatLines ( + lib.mapAttrsToList ( + groupname: opts: + ''g ${groupname} ${ + if opts.gid == null then "/var/lib/nixos/gid/${groupname}" else toString opts.gid + }'' + ) userCfg.groups + )} # Group membership - ${lib.concatStrings (lib.mapAttrsToList - (groupname: opts: (lib.concatMapStrings (username: "m ${username} ${groupname}\n")) opts.members ) userCfg.groups) - } + ${lib.concatStrings ( + lib.mapAttrsToList ( + groupname: opts: (lib.concatMapStrings (username: "m ${username} ${groupname}\n")) opts.members + ) userCfg.groups + )} ''; immutableEtc = config.system.etc.overlay.enable && !config.system.etc.overlay.mutable; @@ -37,7 +50,12 @@ let immutablePasswordFilesLocation = "/var/lib/nixos/etc"; passwordFilesLocation = if immutableEtc then immutablePasswordFilesLocation else "/etc"; # The filenames created by systemd-sysusers. - passwordFiles = [ "passwd" "group" "shadow" "gshadow" ]; + passwordFiles = [ + "passwd" + "group" + "shadow" + "gshadow" + ]; in @@ -63,55 +81,57 @@ in config = lib.mkIf cfg.enable { - assertions = [ - { - assertion = config.system.activationScripts.users == ""; - message = "system.activationScripts.users has to be empty to use systemd-sysusers"; - } - ] ++ (lib.mapAttrsToList - (username: opts: { + assertions = + [ + { + assertion = config.system.activationScripts.users == ""; + message = "system.activationScripts.users has to be empty to use systemd-sysusers"; + } + ] + ++ (lib.mapAttrsToList (username: opts: { assertion = !opts.isNormalUser; message = "${username} is a normal user. systemd-sysusers doesn't create normal users, only system users."; - }) - userCfg.users) - ++ lib.mapAttrsToList - (username: opts: { - assertion = (opts.password == opts.initialPassword || opts.password == null) && - (opts.hashedPassword == opts.initialHashedPassword || opts.hashedPassword == null); + }) userCfg.users) + ++ lib.mapAttrsToList (username: opts: { + assertion = + (opts.password == opts.initialPassword || opts.password == null) + && (opts.hashedPassword == opts.initialHashedPassword || opts.hashedPassword == null); message = "user '${username}' uses password or hashedPassword. systemd-sysupdate only supports initial passwords. It'll never update your passwords."; - }) - systemUsers; + }) systemUsers; systemd = { # Create home directories, do not create /var/empty even if that's a user's # home. - tmpfiles.settings.home-directories = lib.mapAttrs' - (username: opts: lib.nameValuePair opts.home { + tmpfiles.settings.home-directories = lib.mapAttrs' ( + username: opts: + lib.nameValuePair opts.home { d = { mode = opts.homeMode; user = username; group = opts.group; }; - }) - (lib.filterAttrs (_username: opts: opts.home != "/var/empty") systemUsers); + } + ) (lib.filterAttrs (_username: opts: opts.home != "/var/empty") systemUsers); # Create uid/gid marker files for those without an explicit id - tmpfiles.settings.nixos-uid = lib.mapAttrs' - (username: opts: lib.nameValuePair "/var/lib/nixos/uid/${username}" { + tmpfiles.settings.nixos-uid = lib.mapAttrs' ( + username: opts: + lib.nameValuePair "/var/lib/nixos/uid/${username}" { f = { user = username; }; - }) - (lib.filterAttrs (_username: opts: opts.uid == null) systemUsers); + } + ) (lib.filterAttrs (_username: opts: opts.uid == null) systemUsers); - tmpfiles.settings.nixos-gid = lib.mapAttrs' - (groupname: opts: lib.nameValuePair "/var/lib/nixos/gid/${groupname}" { + tmpfiles.settings.nixos-gid = lib.mapAttrs' ( + groupname: opts: + lib.nameValuePair "/var/lib/nixos/gid/${groupname}" { f = { group = groupname; }; - }) - (lib.filterAttrs (_groupname: opts: opts.gid == null) userCfg.groups); + } + ) (lib.filterAttrs (_groupname: opts: opts.gid == null) userCfg.groups); additionalUpstreamSystemUnits = [ "systemd-sysusers.service" @@ -131,31 +151,33 @@ in # # We need to explicitly list the config file, otherwise # systemd-sysusers cannot find it when we also pass another flag. - ExecStart = lib.mkIf immutableEtc - [ "" "${config.systemd.package}/bin/systemd-sysusers --root ${builtins.dirOf immutablePasswordFilesLocation} /etc/sysusers.d/00-nixos.conf" ]; + ExecStart = lib.mkIf immutableEtc [ + "" + "${config.systemd.package}/bin/systemd-sysusers --root ${builtins.dirOf immutablePasswordFilesLocation} /etc/sysusers.d/00-nixos.conf" + ]; # Make the source files writable before executing sysusers. - ExecStartPre = lib.mkIf (!userCfg.mutableUsers) - (lib.map - (file: "-${pkgs.util-linux}/bin/umount ${passwordFilesLocation}/${file}") - passwordFiles); + ExecStartPre = lib.mkIf (!userCfg.mutableUsers) ( + lib.map (file: "-${pkgs.util-linux}/bin/umount ${passwordFilesLocation}/${file}") passwordFiles + ); # Make the source files read-only after sysusers has finished. - ExecStartPost = lib.mkIf (!userCfg.mutableUsers) - (lib.map - (file: "${pkgs.util-linux}/bin/mount --bind -o ro ${passwordFilesLocation}/${file} ${passwordFilesLocation}/${file}") - passwordFiles); - - LoadCredential = lib.mapAttrsToList - (username: opts: "passwd.hashed-password.${username}:${opts.hashedPasswordFile}") - (lib.filterAttrs (_username: opts: opts.hashedPasswordFile != null) systemUsers); - SetCredential = (lib.mapAttrsToList - (username: opts: "passwd.hashed-password.${username}:${opts.initialHashedPassword}") - (lib.filterAttrs (_username: opts: opts.initialHashedPassword != null) systemUsers)) - ++ - (lib.mapAttrsToList - (username: opts: "passwd.plaintext-password.${username}:${opts.initialPassword}") - (lib.filterAttrs (_username: opts: opts.initialPassword != null) systemUsers)) - ; + ExecStartPost = lib.mkIf (!userCfg.mutableUsers) ( + lib.map ( + file: + "${pkgs.util-linux}/bin/mount --bind -o ro ${passwordFilesLocation}/${file} ${passwordFilesLocation}/${file}" + ) passwordFiles + ); + + LoadCredential = lib.mapAttrsToList ( + username: opts: "passwd.hashed-password.${username}:${opts.hashedPasswordFile}" + ) (lib.filterAttrs (_username: opts: opts.hashedPasswordFile != null) systemUsers); + SetCredential = + (lib.mapAttrsToList ( + username: opts: "passwd.hashed-password.${username}:${opts.initialHashedPassword}" + ) (lib.filterAttrs (_username: opts: opts.initialHashedPassword != null) systemUsers)) + ++ (lib.mapAttrsToList ( + username: opts: "passwd.plaintext-password.${username}:${opts.initialPassword}" + ) (lib.filterAttrs (_username: opts: opts.initialPassword != null) systemUsers)); }; }; @@ -169,12 +191,17 @@ in # Statically create the symlinks to immutablePasswordFilesLocation when # using an immutable /etc because we will not be able to do it at # runtime! - (lib.mkIf immutableEtc (lib.listToAttrs (lib.map - (file: lib.nameValuePair file { - source = "${immutablePasswordFilesLocation}/${file}"; - mode = "direct-symlink"; - }) - passwordFiles))) + (lib.mkIf immutableEtc ( + lib.listToAttrs ( + lib.map ( + file: + lib.nameValuePair file { + source = "${immutablePasswordFilesLocation}/${file}"; + mode = "direct-symlink"; + } + ) passwordFiles + ) + )) ]; }; diff --git a/nixos/modules/system/boot/systemd/user.nix b/nixos/modules/system/boot/systemd/user.nix index 53fca631678c1..8f1d92c409b33 100644 --- a/nixos/modules/system/boot/systemd/user.nix +++ b/nixos/modules/system/boot/systemd/user.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: with utils; with systemdUtils.unitOptions; with lib; @@ -8,8 +14,7 @@ let systemd = config.systemd.package; - inherit - (systemdUtils.lib) + inherit (systemdUtils.lib) makeUnit generateUnits targetToUnit @@ -17,7 +22,8 @@ let sliceToUnit socketToUnit timerToUnit - pathToUnit; + pathToUnit + ; upstreamUserUnits = [ "app.slice" @@ -40,7 +46,11 @@ let "xdg-desktop-autostart.target" ] ++ config.systemd.additionalUpstreamUserUnits; - writeTmpfiles = { rules, user ? null }: + writeTmpfiles = + { + rules, + user ? null, + }: let suffix = optionalString (user != null) "-${user}"; in @@ -53,7 +63,8 @@ let ${concatStringsSep "\n" rules} ''; }; -in { +in +{ options = { systemd.user.extraConfig = mkOption { default = ""; @@ -67,42 +78,42 @@ in { systemd.user.units = mkOption { description = "Definition of systemd per-user units."; - default = {}; + default = { }; type = systemdUtils.types.units; }; systemd.user.paths = mkOption { - default = {}; + default = { }; type = systemdUtils.types.paths; description = "Definition of systemd per-user path units."; }; systemd.user.services = mkOption { - default = {}; + default = { }; type = systemdUtils.types.services; description = "Definition of systemd per-user service units."; }; systemd.user.slices = mkOption { - default = {}; + default = { }; type = systemdUtils.types.slices; description = "Definition of systemd per-user slice units."; }; systemd.user.sockets = mkOption { - default = {}; + default = { }; type = systemdUtils.types.sockets; description = "Definition of systemd per-user socket units."; }; systemd.user.targets = mkOption { - default = {}; + default = { }; type = systemdUtils.types.targets; description = "Definition of systemd per-user target units."; }; systemd.user.timers = mkOption { - default = {}; + default = { }; type = systemdUtils.types.timers; description = "Definition of systemd per-user timer units."; }; @@ -110,7 +121,7 @@ in { systemd.user.tmpfiles = { rules = mkOption { type = types.listOf types.str; - default = []; + default = [ ]; example = [ "D %C - - - 7d" ]; description = '' Global user rules for creation, deletion and cleaning of volatile and @@ -125,29 +136,33 @@ in { Per-user rules for creation, deletion and cleaning of volatile and temporary files automatically. ''; - default = {}; - type = types.attrsOf (types.submodule { - options = { - rules = mkOption { - type = types.listOf types.str; - default = []; - example = [ "D %C - - - 7d" ]; - description = '' - Per-user rules for creation, deletion and cleaning of volatile and - temporary files automatically. See - {manpage}`tmpfiles.d(5)` - for the exact format. - ''; + default = { }; + type = types.attrsOf ( + types.submodule { + options = { + rules = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "D %C - - - 7d" ]; + description = '' + Per-user rules for creation, deletion and cleaning of volatile and + temporary files automatically. See + {manpage}`tmpfiles.d(5)` + for the exact format. + ''; + }; }; - }; - }); + } + ); }; }; systemd.user.generators = mkOption { type = types.attrsOf types.path; - default = {}; - example = { systemd-gpt-auto-generator = "/dev/null"; }; + default = { }; + example = { + systemd-gpt-auto-generator = "/dev/null"; + }; description = '' Definition of systemd generators; see {manpage}`systemd.generator(5)`. @@ -157,9 +172,9 @@ in { }; systemd.additionalUpstreamUserUnits = mkOption { - default = []; + default = [ ]; type = types.listOf types.str; - example = []; + example = [ ]; description = '' Additional units shipped with systemd that should be enabled for per-user systemd instances. ''; @@ -177,7 +192,7 @@ in { type = "user"; inherit (cfg) units; upstreamUnits = upstreamUserUnits; - upstreamWants = []; + upstreamWants = [ ]; }; "systemd/user.conf".text = '' @@ -187,61 +202,54 @@ in { }; systemd.user.units = - mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths + mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit v)) cfg.services - // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices - // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets - // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets - // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers; + // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices + // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets + // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets + // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers; # Generate timer units for all services that have a ‘startAt’ value. - systemd.user.timers = - mapAttrs (name: service: { - wantedBy = ["timers.target"]; - timerConfig.OnCalendar = service.startAt; - }) - (filterAttrs (name: service: service.startAt != []) cfg.services); + systemd.user.timers = mapAttrs (name: service: { + wantedBy = [ "timers.target" ]; + timerConfig.OnCalendar = service.startAt; + }) (filterAttrs (name: service: service.startAt != [ ]) cfg.services); # Provide the systemd-user PAM service, required to run systemd # user instances. - security.pam.services.systemd-user = - { # Ensure that pam_systemd gets included. This is special-cased - # in systemd to provide XDG_RUNTIME_DIR. - startSession = true; - # Disable pam_mount in systemd-user to prevent it from being called - # multiple times during login, because it will prevent pam_mount from - # unmounting the previously mounted volumes. - pamMount = false; - }; + security.pam.services.systemd-user = { + # Ensure that pam_systemd gets included. This is special-cased + # in systemd to provide XDG_RUNTIME_DIR. + startSession = true; + # Disable pam_mount in systemd-user to prevent it from being called + # multiple times during login, because it will prevent pam_mount from + # unmounting the previously mounted volumes. + pamMount = false; + }; # Some overrides to upstream units. systemd.services."user@".restartIfChanged = false; systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions. # enable systemd user tmpfiles - systemd.user.services.systemd-tmpfiles-setup.wantedBy = - optional - (cfg.tmpfiles.rules != [] || any (cfg': cfg'.rules != []) (attrValues cfg.tmpfiles.users)) - "basic.target"; + systemd.user.services.systemd-tmpfiles-setup.wantedBy = optional ( + cfg.tmpfiles.rules != [ ] || any (cfg': cfg'.rules != [ ]) (attrValues cfg.tmpfiles.users) + ) "basic.target"; # /run/current-system/sw/etc/xdg is in systemd's $XDG_CONFIG_DIRS so we can # write the tmpfiles.d rules for everyone there - environment.systemPackages = - optional - (cfg.tmpfiles.rules != []) - (writeTmpfiles { inherit (cfg.tmpfiles) rules; }); + environment.systemPackages = optional (cfg.tmpfiles.rules != [ ]) (writeTmpfiles { + inherit (cfg.tmpfiles) rules; + }); # /etc/profiles/per-user/$USER/etc/xdg is in systemd's $XDG_CONFIG_DIRS so # we can write a single user's tmpfiles.d rules there - users.users = - mapAttrs - (user: cfg': { - packages = optional (cfg'.rules != []) (writeTmpfiles { - inherit (cfg') rules; - inherit user; - }); - }) - cfg.tmpfiles.users; + users.users = mapAttrs (user: cfg': { + packages = optional (cfg'.rules != [ ]) (writeTmpfiles { + inherit (cfg') rules; + inherit user; + }); + }) cfg.tmpfiles.users; system.userActivationScripts.tmpfiles = '' ${config.systemd.package}/bin/systemd-tmpfiles --user --create --remove diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix index 117ced1f59ddc..a2a544bf98292 100644 --- a/nixos/modules/system/boot/timesyncd.nix +++ b/nixos/modules/system/boot/timesyncd.nix @@ -86,29 +86,31 @@ in test -d /var/lib/systemd/timesync || mkdir -p /var/lib/systemd/timesync touch /var/lib/systemd/timesync/clock fi - '' + - # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes - # - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742 - # - https://github.com/systemd/systemd/issues/12131 - (lib.optionalString (versionOlder config.system.stateVersion "19.09") '' - if [ -L /var/lib/systemd/timesync ]; then - rm /var/lib/systemd/timesync - mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync - fi - '') + '' + + + # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes + # - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742 + # - https://github.com/systemd/systemd/issues/12131 + (lib.optionalString (versionOlder config.system.stateVersion "19.09") '' + if [ -L /var/lib/systemd/timesync ]; then + rm /var/lib/systemd/timesync + mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync + fi + '') ); }; - environment.etc."systemd/timesyncd.conf".text = '' - [Time] - '' - + optionalString (cfg.servers != null) '' - NTP=${concatStringsSep " " cfg.servers} - '' - + optionalString (cfg.fallbackServers != null) '' - FallbackNTP=${concatStringsSep " " cfg.fallbackServers} - '' - + cfg.extraConfig; + environment.etc."systemd/timesyncd.conf".text = + '' + [Time] + '' + + optionalString (cfg.servers != null) '' + NTP=${concatStringsSep " " cfg.servers} + '' + + optionalString (cfg.fallbackServers != null) '' + FallbackNTP=${concatStringsSep " " cfg.fallbackServers} + '' + + cfg.extraConfig; users.users.systemd-timesync = { uid = config.ids.uids.systemd-timesync; diff --git a/nixos/modules/system/boot/tmp.nix b/nixos/modules/system/boot/tmp.nix index 8287fa5f872f4..9ec02c594cf0a 100644 --- a/nixos/modules/system/boot/tmp.nix +++ b/nixos/modules/system/boot/tmp.nix @@ -20,7 +20,10 @@ in }; tmpfsSize = lib.mkOption { - type = lib.types.oneOf [ lib.types.str lib.types.ints.positive ]; + type = lib.types.oneOf [ + lib.types.str + lib.types.ints.positive + ]; default = "50%"; description = '' Size of tmpfs in percentage. @@ -32,12 +35,12 @@ in type = lib.types.bool; default = false; description = '' - Whether to mount a tmpfs on {file}`/tmp` during boot. + Whether to mount a tmpfs on {file}`/tmp` during boot. - ::: {.note} - Large Nix builds can fail if the mounted tmpfs is not large enough. - In such a case either increase the tmpfsSize or disable this option. - ::: + ::: {.note} + Large Nix builds can fail if the mounted tmpfs is not large enough. + In such a case either increase the tmpfsSize or disable this option. + ::: ''; }; }; diff --git a/nixos/modules/system/boot/uki.nix b/nixos/modules/system/boot/uki.nix index c86439e98a3cf..fd9f1cadd3400 100644 --- a/nixos/modules/system/boot/uki.nix +++ b/nixos/modules/system/boot/uki.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -67,24 +72,26 @@ in config = { - boot.uki.name = lib.mkOptionDefault (if config.system.image.id != null then - config.system.image.id - else - "nixos"); + boot.uki.name = lib.mkOptionDefault ( + if config.system.image.id != null then config.system.image.id else "nixos" + ); boot.uki.settings = { - UKI = { - Linux = lib.mkOptionDefault "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; - Initrd = lib.mkOptionDefault "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; - Cmdline = lib.mkOptionDefault "init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}"; - Stub = lib.mkOptionDefault "${pkgs.systemd}/lib/systemd/boot/efi/linux${efiArch}.efi.stub"; - Uname = lib.mkOptionDefault "${config.boot.kernelPackages.kernel.modDirVersion}"; - OSRelease = lib.mkOptionDefault "@${config.system.build.etc}/etc/os-release"; - # This is needed for cross compiling. - EFIArch = lib.mkOptionDefault efiArch; - } // lib.optionalAttrs (config.hardware.deviceTree.enable && config.hardware.deviceTree.name != null) { - DeviceTree = lib.mkOptionDefault "${config.hardware.deviceTree.package}/${config.hardware.deviceTree.name}"; - }; + UKI = + { + Linux = lib.mkOptionDefault "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; + Initrd = lib.mkOptionDefault "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; + Cmdline = lib.mkOptionDefault "init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}"; + Stub = lib.mkOptionDefault "${pkgs.systemd}/lib/systemd/boot/efi/linux${efiArch}.efi.stub"; + Uname = lib.mkOptionDefault "${config.boot.kernelPackages.kernel.modDirVersion}"; + OSRelease = lib.mkOptionDefault "@${config.system.build.etc}/etc/os-release"; + # This is needed for cross compiling. + EFIArch = lib.mkOptionDefault efiArch; + } + // lib.optionalAttrs (config.hardware.deviceTree.enable && config.hardware.deviceTree.name != null) + { + DeviceTree = lib.mkOptionDefault "${config.hardware.deviceTree.package}/${config.hardware.deviceTree.name}"; + }; }; boot.uki.configFile = lib.mkOptionDefault (format.generate "ukify.conf" cfg.settings); diff --git a/nixos/modules/system/boot/uvesafb.nix b/nixos/modules/system/boot/uvesafb.nix index 8da86466a5be8..67850b422e3f2 100644 --- a/nixos/modules/system/boot/uvesafb.nix +++ b/nixos/modules/system/boot/uvesafb.nix @@ -1,8 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.boot.uvesafb; - inherit (lib) mkIf mkEnableOption mkOption types; -in { + inherit (lib) + mkIf + mkEnableOption + mkOption + types + ; +in +{ options = { boot.uvesafb = { enable = mkEnableOption "uvesafb"; @@ -16,9 +27,10 @@ in { v86d.package = mkOption { type = types.package; description = "Which v86d package to use with uvesafb"; - defaultText = ''config.boot.kernelPackages.v86d.overrideAttrs (old: { - hardeningDisable = [ "all" ]; - })''; + defaultText = '' + config.boot.kernelPackages.v86d.overrideAttrs (old: { + hardeningDisable = [ "all" ]; + })''; default = config.boot.kernelPackages.v86d.overrideAttrs (old: { hardeningDisable = [ "all" ]; }); diff --git a/nixos/modules/system/build.nix b/nixos/modules/system/build.nix index 58dc3f0d41134..f48f2850fc08e 100644 --- a/nixos/modules/system/build.nix +++ b/nixos/modules/system/build.nix @@ -6,14 +6,16 @@ in options = { system.build = mkOption { - default = {}; + default = { }; description = '' Attribute set of derivations used to set up the system. ''; type = types.submoduleWith { - modules = [{ - freeformType = with types; lazyAttrsOf (uniq unspecified); - }]; + modules = [ + { + freeformType = with types; lazyAttrsOf (uniq unspecified); + } + ]; }; }; diff --git a/nixos/modules/system/etc/etc-activation.nix b/nixos/modules/system/etc/etc-activation.nix index f623e6dddc1ef..aed58af780b77 100644 --- a/nixos/modules/system/etc/etc-activation.nix +++ b/nixos/modules/system/etc/etc-activation.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { @@ -7,8 +12,10 @@ config = lib.mkMerge [ { - system.activationScripts.etc = - lib.stringAfter [ "users" "groups" ] config.system.build.etcActivationCommands; + system.activationScripts.etc = lib.stringAfter [ + "users" + "groups" + ] config.system.build.etcActivationCommands; } (lib.mkIf config.system.etc.overlay.enable { @@ -19,7 +26,9 @@ message = "`system.etc.overlay.enable` requires `boot.initrd.systemd.enable`"; } { - assertion = (!config.system.etc.overlay.mutable) -> (config.systemd.sysusers.enable || config.services.userborn.enable); + assertion = + (!config.system.etc.overlay.mutable) + -> (config.systemd.sysusers.enable || config.services.userborn.enable); message = "`!system.etc.overlay.mutable` requires `systemd.sysusers.enable` or `services.userborn.enable`"; } { @@ -28,7 +37,11 @@ } ]; - boot.initrd.availableKernelModules = [ "loop" "erofs" "overlay" ]; + boot.initrd.availableKernelModules = [ + "loop" + "erofs" + "overlay" + ]; boot.initrd.systemd = { mounts = [ @@ -63,30 +76,38 @@ where = "/sysroot/etc"; what = "overlay"; type = "overlay"; - options = lib.concatStringsSep "," ([ - "relatime" - "redirect_dir=on" - "metacopy=on" - "lowerdir=/run/etc-metadata::/etc-basedir" - ] ++ lib.optionals config.system.etc.overlay.mutable [ - "rw" - "upperdir=/sysroot/.rw-etc/upper" - "workdir=/sysroot/.rw-etc/work" - ] ++ lib.optionals (!config.system.etc.overlay.mutable) [ - "ro" - ]); + options = lib.concatStringsSep "," ( + [ + "relatime" + "redirect_dir=on" + "metacopy=on" + "lowerdir=/run/etc-metadata::/etc-basedir" + ] + ++ lib.optionals config.system.etc.overlay.mutable [ + "rw" + "upperdir=/sysroot/.rw-etc/upper" + "workdir=/sysroot/.rw-etc/work" + ] + ++ lib.optionals (!config.system.etc.overlay.mutable) [ + "ro" + ] + ); requiredBy = [ "initrd-fs.target" ]; before = [ "initrd-fs.target" ]; - requires = [ - config.boot.initrd.systemd.services.initrd-find-etc.name - ] ++ lib.optionals config.system.etc.overlay.mutable [ - config.boot.initrd.systemd.services."rw-etc".name - ]; - after = [ - config.boot.initrd.systemd.services.initrd-find-etc.name - ] ++ lib.optionals config.system.etc.overlay.mutable [ - config.boot.initrd.systemd.services."rw-etc".name - ]; + requires = + [ + config.boot.initrd.systemd.services.initrd-find-etc.name + ] + ++ lib.optionals config.system.etc.overlay.mutable [ + config.boot.initrd.systemd.services."rw-etc".name + ]; + after = + [ + config.boot.initrd.systemd.services.initrd-find-etc.name + ] + ++ lib.optionals config.system.etc.overlay.mutable [ + config.boot.initrd.systemd.services."rw-etc".name + ]; unitConfig = { RequiresMountsFor = [ "/sysroot/nix/store" @@ -134,17 +155,18 @@ RemainAfterExit = true; }; - script = /* bash */ '' - set -uo pipefail + script = # bash + '' + set -uo pipefail - closure="$(realpath /nixos-closure)" + closure="$(realpath /nixos-closure)" - metadata_image="$(${pkgs.chroot-realpath}/bin/chroot-realpath /sysroot "$closure/etc-metadata-image")" - ln -s "/sysroot$metadata_image" /etc-metadata-image + metadata_image="$(${pkgs.chroot-realpath}/bin/chroot-realpath /sysroot "$closure/etc-metadata-image")" + ln -s "/sysroot$metadata_image" /etc-metadata-image - basedir="$(${pkgs.chroot-realpath}/bin/chroot-realpath /sysroot "$closure/etc-basedir")" - ln -s "/sysroot$basedir" /etc-basedir - ''; + basedir="$(${pkgs.chroot-realpath}/bin/chroot-realpath /sysroot "$closure/etc-basedir")" + ln -s "/sysroot$basedir" /etc-basedir + ''; }; } ]; diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index 0b5e65255a519..5f2acd7bacb98 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -1,62 +1,73 @@ # Management of static files in /etc. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let etc' = lib.filter (f: f.enable) (lib.attrValues config.environment.etc); - etc = pkgs.runCommandLocal "etc" { - # This is needed for the systemd module - passthru.targets = map (x: x.target) etc'; - } /* sh */ '' - set -euo pipefail - - makeEtcEntry() { - src="$1" - target="$2" - mode="$3" - user="$4" - group="$5" - - if [[ "$src" = *'*'* ]]; then - # If the source name contains '*', perform globbing. - mkdir -p "$out/etc/$target" - for fn in $src; do - ln -s "$fn" "$out/etc/$target/" - done - else + etc = + pkgs.runCommandLocal "etc" + { + # This is needed for the systemd module + passthru.targets = map (x: x.target) etc'; + } # sh + '' + set -euo pipefail + + makeEtcEntry() { + src="$1" + target="$2" + mode="$3" + user="$4" + group="$5" + + if [[ "$src" = *'*'* ]]; then + # If the source name contains '*', perform globbing. + mkdir -p "$out/etc/$target" + for fn in $src; do + ln -s "$fn" "$out/etc/$target/" + done + else + + mkdir -p "$out/etc/$(dirname "$target")" + if ! [ -e "$out/etc/$target" ]; then + ln -s "$src" "$out/etc/$target" + else + echo "duplicate entry $target -> $src" + if [ "$(readlink "$out/etc/$target")" != "$src" ]; then + echo "mismatched duplicate entry $(readlink "$out/etc/$target") <-> $src" + ret=1 - mkdir -p "$out/etc/$(dirname "$target")" - if ! [ -e "$out/etc/$target" ]; then - ln -s "$src" "$out/etc/$target" - else - echo "duplicate entry $target -> $src" - if [ "$(readlink "$out/etc/$target")" != "$src" ]; then - echo "mismatched duplicate entry $(readlink "$out/etc/$target") <-> $src" - ret=1 + continue + fi + fi - continue + if [ "$mode" != symlink ]; then + echo "$mode" > "$out/etc/$target.mode" + echo "$user" > "$out/etc/$target.uid" + echo "$group" > "$out/etc/$target.gid" + fi fi - fi - - if [ "$mode" != symlink ]; then - echo "$mode" > "$out/etc/$target.mode" - echo "$user" > "$out/etc/$target.uid" - echo "$group" > "$out/etc/$target.gid" - fi - fi - } - - mkdir -p "$out/etc" - ${lib.concatMapStringsSep "\n" (etcEntry: lib.escapeShellArgs [ - "makeEtcEntry" - # Force local source paths to be added to the store - "${etcEntry.source}" - etcEntry.target - etcEntry.mode - etcEntry.user - etcEntry.group - ]) etc'} - ''; + } + + mkdir -p "$out/etc" + ${lib.concatMapStringsSep "\n" ( + etcEntry: + lib.escapeShellArgs [ + "makeEtcEntry" + # Force local source paths to be added to the store + "${etcEntry.source}" + etcEntry.target + etcEntry.mode + etcEntry.user + etcEntry.group + ] + ) etc'} + ''; etcHardlinks = lib.filter (f: f.mode != "symlink" && f.mode != "direct-symlink") etc'; @@ -95,7 +106,7 @@ in }; environment.etc = lib.mkOption { - default = {}; + default = { }; example = lib.literalExpression '' { example-configuration-file = { source = "/nix/store/.../etc/dir/file.conf.example"; @@ -108,196 +119,220 @@ in Set of files that have to be linked in {file}`/etc`. ''; - type = with lib.types; attrsOf (submodule ( - { name, config, options, ... }: - { options = { - - enable = lib.mkOption { - type = lib.types.bool; - default = true; - description = '' - Whether this /etc file should be generated. This - option allows specific /etc files to be disabled. - ''; - }; - - target = lib.mkOption { - type = lib.types.str; - description = '' - Name of symlink (relative to - {file}`/etc`). Defaults to the attribute - name. - ''; - }; - - text = lib.mkOption { - default = null; - type = lib.types.nullOr lib.types.lines; - description = "Text of the file."; - }; - - source = lib.mkOption { - type = lib.types.path; - description = "Path of the source file."; - }; - - mode = lib.mkOption { - type = lib.types.str; - default = "symlink"; - example = "0600"; - description = '' - If set to something else than `symlink`, - the file is copied instead of symlinked, with the given - file mode. - ''; - }; - - uid = lib.mkOption { - default = 0; - type = lib.types.int; - description = '' - UID of created file. Only takes effect when the file is - copied (that is, the mode is not 'symlink'). - ''; - }; - - gid = lib.mkOption { - default = 0; - type = lib.types.int; - description = '' - GID of created file. Only takes effect when the file is - copied (that is, the mode is not 'symlink'). - ''; - }; - - user = lib.mkOption { - default = "+${toString config.uid}"; - type = lib.types.str; - description = '' - User name of created file. - Only takes effect when the file is copied (that is, the mode is not 'symlink'). - Changing this option takes precedence over `uid`. - ''; - }; - - group = lib.mkOption { - default = "+${toString config.gid}"; - type = lib.types.str; - description = '' - Group name of created file. - Only takes effect when the file is copied (that is, the mode is not 'symlink'). - Changing this option takes precedence over `gid`. - ''; - }; - - }; - - config = { - target = lib.mkDefault name; - source = lib.mkIf (config.text != null) ( - let name' = "etc-" + lib.replaceStrings ["/"] ["-"] name; - in lib.mkDerivedConfig options.text (pkgs.writeText name') - ); - }; - - })); + type = + with lib.types; + attrsOf ( + submodule ( + { + name, + config, + options, + ... + }: + { + options = { + + enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether this /etc file should be generated. This + option allows specific /etc files to be disabled. + ''; + }; + + target = lib.mkOption { + type = lib.types.str; + description = '' + Name of symlink (relative to + {file}`/etc`). Defaults to the attribute + name. + ''; + }; + + text = lib.mkOption { + default = null; + type = lib.types.nullOr lib.types.lines; + description = "Text of the file."; + }; + + source = lib.mkOption { + type = lib.types.path; + description = "Path of the source file."; + }; + + mode = lib.mkOption { + type = lib.types.str; + default = "symlink"; + example = "0600"; + description = '' + If set to something else than `symlink`, + the file is copied instead of symlinked, with the given + file mode. + ''; + }; + + uid = lib.mkOption { + default = 0; + type = lib.types.int; + description = '' + UID of created file. Only takes effect when the file is + copied (that is, the mode is not 'symlink'). + ''; + }; + + gid = lib.mkOption { + default = 0; + type = lib.types.int; + description = '' + GID of created file. Only takes effect when the file is + copied (that is, the mode is not 'symlink'). + ''; + }; + + user = lib.mkOption { + default = "+${toString config.uid}"; + type = lib.types.str; + description = '' + User name of created file. + Only takes effect when the file is copied (that is, the mode is not 'symlink'). + Changing this option takes precedence over `uid`. + ''; + }; + + group = lib.mkOption { + default = "+${toString config.gid}"; + type = lib.types.str; + description = '' + Group name of created file. + Only takes effect when the file is copied (that is, the mode is not 'symlink'). + Changing this option takes precedence over `gid`. + ''; + }; + + }; + + config = { + target = lib.mkDefault name; + source = lib.mkIf (config.text != null) ( + let + name' = "etc-" + lib.replaceStrings [ "/" ] [ "-" ] name; + in + lib.mkDerivedConfig options.text (pkgs.writeText name') + ); + }; + + } + ) + ); }; }; - ###### implementation config = { system.build.etc = etc; - system.build.etcActivationCommands = let - etcOverlayOptions = lib.concatStringsSep "," ([ - "relatime" - "redirect_dir=on" - "metacopy=on" - ] ++ lib.optionals config.system.etc.overlay.mutable [ - "upperdir=/.rw-etc/upper" - "workdir=/.rw-etc/work" - ]); - in if config.system.etc.overlay.enable then '' - # This script atomically remounts /etc when switching configuration. On a (re-)boot - # this should not run because /etc is mounted via a systemd mount unit - # instead. To a large extent this mimics what composefs does. Because - # it's relatively simple, however, we avoid the composefs dependency. - # Since this script is not idempotent, it should not run when etc hasn't - # changed. - if [[ ! $IN_NIXOS_SYSTEMD_STAGE1 ]] && [[ "${config.system.build.etc}/etc" != "$(readlink -f /run/current-system/etc)" ]]; then - echo "remounting /etc..." - - tmpMetadataMount=$(mktemp --directory -t nixos-etc-metadata.XXXXXXXXXX) - mount --type erofs -o ro ${config.system.build.etcMetadataImage} $tmpMetadataMount - - # Mount the new /etc overlay to a temporary private mount. - # This needs the indirection via a private bind mount because you - # cannot move shared mounts. - tmpEtcMount=$(mktemp --directory -t nixos-etc.XXXXXXXXXX) - mount --bind --make-private $tmpEtcMount $tmpEtcMount - mount --type overlay overlay \ - --options lowerdir=$tmpMetadataMount::${config.system.build.etcBasedir},${etcOverlayOptions} \ - $tmpEtcMount - - # Before moving the new /etc overlay under the old /etc, we have to - # move mounts on top of /etc to the new /etc mountpoint. - findmnt /etc --submounts --list --noheading --kernel --output TARGET | while read -r mountPoint; do - if [[ "$mountPoint" = "/etc" ]]; then - continue - fi - - tmpMountPoint="$tmpEtcMount/''${mountPoint:5}" - ${if config.system.etc.overlay.mutable then '' - if [[ -f "$mountPoint" ]]; then - touch "$tmpMountPoint" - elif [[ -d "$mountPoint" ]]; then - mkdir -p "$tmpMountPoint" - fi - '' else '' - if [[ ! -e "$tmpMountPoint" ]]; then - echo "Skipping undeclared mountpoint in environment.etc: $mountPoint" + system.build.etcActivationCommands = + let + etcOverlayOptions = lib.concatStringsSep "," ( + [ + "relatime" + "redirect_dir=on" + "metacopy=on" + ] + ++ lib.optionals config.system.etc.overlay.mutable [ + "upperdir=/.rw-etc/upper" + "workdir=/.rw-etc/work" + ] + ); + in + if config.system.etc.overlay.enable then + '' + # This script atomically remounts /etc when switching configuration. On a (re-)boot + # this should not run because /etc is mounted via a systemd mount unit + # instead. To a large extent this mimics what composefs does. Because + # it's relatively simple, however, we avoid the composefs dependency. + # Since this script is not idempotent, it should not run when etc hasn't + # changed. + if [[ ! $IN_NIXOS_SYSTEMD_STAGE1 ]] && [[ "${config.system.build.etc}/etc" != "$(readlink -f /run/current-system/etc)" ]]; then + echo "remounting /etc..." + + tmpMetadataMount=$(mktemp --directory -t nixos-etc-metadata.XXXXXXXXXX) + mount --type erofs -o ro ${config.system.build.etcMetadataImage} $tmpMetadataMount + + # Mount the new /etc overlay to a temporary private mount. + # This needs the indirection via a private bind mount because you + # cannot move shared mounts. + tmpEtcMount=$(mktemp --directory -t nixos-etc.XXXXXXXXXX) + mount --bind --make-private $tmpEtcMount $tmpEtcMount + mount --type overlay overlay \ + --options lowerdir=$tmpMetadataMount::${config.system.build.etcBasedir},${etcOverlayOptions} \ + $tmpEtcMount + + # Before moving the new /etc overlay under the old /etc, we have to + # move mounts on top of /etc to the new /etc mountpoint. + findmnt /etc --submounts --list --noheading --kernel --output TARGET | while read -r mountPoint; do + if [[ "$mountPoint" = "/etc" ]]; then continue fi - '' - } - mount --bind "$mountPoint" "$tmpMountPoint" - done - - # Move the new temporary /etc mount underneath the current /etc mount. - # - # This should eventually use util-linux to perform this move beneath, - # however, this functionality is not yet in util-linux. See this - # tracking issue: https://github.com/util-linux/util-linux/issues/2604 - ${pkgs.move-mount-beneath}/bin/move-mount --move --beneath $tmpEtcMount /etc - - # Unmount the top /etc mount to atomically reveal the new mount. - umount --lazy --recursive /etc - - # Unmount the temporary mount - umount --lazy "$tmpEtcMount" - rmdir "$tmpEtcMount" - - # Unmount old metadata mounts - # For some reason, `findmnt /tmp --submounts` does not show the nested - # mounts. So we'll just find all mounts of type erofs and filter on the - # name of the mountpoint. - findmnt --type erofs --list --kernel --output TARGET | while read -r mountPoint; do - if [[ "$mountPoint" =~ ^/tmp/nixos-etc-metadata\..{10}$ && - "$mountPoint" != "$tmpMetadataMount" ]]; then - umount --lazy $mountPoint - rmdir "$mountPoint" + + tmpMountPoint="$tmpEtcMount/''${mountPoint:5}" + ${ + if config.system.etc.overlay.mutable then + '' + if [[ -f "$mountPoint" ]]; then + touch "$tmpMountPoint" + elif [[ -d "$mountPoint" ]]; then + mkdir -p "$tmpMountPoint" + fi + '' + else + '' + if [[ ! -e "$tmpMountPoint" ]]; then + echo "Skipping undeclared mountpoint in environment.etc: $mountPoint" + continue + fi + '' + } + mount --bind "$mountPoint" "$tmpMountPoint" + done + + # Move the new temporary /etc mount underneath the current /etc mount. + # + # This should eventually use util-linux to perform this move beneath, + # however, this functionality is not yet in util-linux. See this + # tracking issue: https://github.com/util-linux/util-linux/issues/2604 + ${pkgs.move-mount-beneath}/bin/move-mount --move --beneath $tmpEtcMount /etc + + # Unmount the top /etc mount to atomically reveal the new mount. + umount --lazy --recursive /etc + + # Unmount the temporary mount + umount --lazy "$tmpEtcMount" + rmdir "$tmpEtcMount" + + # Unmount old metadata mounts + # For some reason, `findmnt /tmp --submounts` does not show the nested + # mounts. So we'll just find all mounts of type erofs and filter on the + # name of the mountpoint. + findmnt --type erofs --list --kernel --output TARGET | while read -r mountPoint; do + if [[ "$mountPoint" =~ ^/tmp/nixos-etc-metadata\..{10}$ && + "$mountPoint" != "$tmpMetadataMount" ]]; then + umount --lazy $mountPoint + rmdir "$mountPoint" + fi + done fi - done - fi - '' else '' - # Set up the statically computed bits of /etc. - echo "setting up /etc..." - ${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl ${./setup-etc.pl} ${etc}/etc - ''; + '' + else + '' + # Set up the statically computed bits of /etc. + echo "setting up /etc..." + ${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl ${./setup-etc.pl} ${etc}/etc + ''; system.build.etcBasedir = pkgs.runCommandLocal "etc-lowerdir" { } '' set -euo pipefail @@ -311,12 +346,15 @@ in } mkdir -p "$out" - ${lib.concatMapStringsSep "\n" (etcEntry: lib.escapeShellArgs [ - "makeEtcEntry" - # Force local source paths to be added to the store - "${etcEntry.source}" - etcEntry.target - ]) etcHardlinks} + ${lib.concatMapStringsSep "\n" ( + etcEntry: + lib.escapeShellArgs [ + "makeEtcEntry" + # Force local source paths to be added to the store + "${etcEntry.source}" + etcEntry.target + ] + ) etcHardlinks} ''; system.build.etcMetadataImage = @@ -326,12 +364,17 @@ in ${lib.getExe pkgs.buildPackages.python3} ${./build-composefs-dump.py} ${etcJson} > $out ''; in - pkgs.runCommand "etc-metadata.erofs" { - nativeBuildInputs = with pkgs.buildPackages; [ composefs erofs-utils ]; - } '' - mkcomposefs --from-file ${etcDump} $out - fsck.erofs $out - ''; + pkgs.runCommand "etc-metadata.erofs" + { + nativeBuildInputs = with pkgs.buildPackages; [ + composefs + erofs-utils + ]; + } + '' + mkcomposefs --from-file ${etcDump} $out + fsck.erofs $out + ''; }; diff --git a/nixos/modules/tasks/bcache.nix b/nixos/modules/tasks/bcache.nix index d2c816d663f94..1405899c787bf 100644 --- a/nixos/modules/tasks/bcache.nix +++ b/nixos/modules/tasks/bcache.nix @@ -1,6 +1,13 @@ -{ config, lib, pkgs, ... }: let +{ + config, + lib, + pkgs, + ... +}: +let cfg = config.boot.bcache; -in { +in +{ options.boot.bcache.enable = lib.mkEnableOption "bcache mount support" // { default = true; example = false; diff --git a/nixos/modules/tasks/cpu-freq.nix b/nixos/modules/tasks/cpu-freq.nix index f1219c07c5013..34be5c3fc6152 100644 --- a/nixos/modules/tasks/cpu-freq.nix +++ b/nixos/modules/tasks/cpu-freq.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -51,7 +56,6 @@ in }; - ###### implementation config = @@ -59,9 +63,7 @@ in governorEnable = cfg.cpuFreqGovernor != null; maxEnable = cfg.cpufreq.max != null; minEnable = cfg.cpufreq.min != null; - enable = - !config.boot.isContainer && - (governorEnable || maxEnable || minEnable); + enable = !config.boot.isContainer && (governorEnable || maxEnable || minEnable); in mkIf enable { @@ -73,18 +75,22 @@ in description = "CPU Frequency Setup"; after = [ "systemd-modules-load.service" ]; wantedBy = [ "multi-user.target" ]; - path = [ cpupower pkgs.kmod ]; + path = [ + cpupower + pkgs.kmod + ]; unitConfig.ConditionVirtualization = false; serviceConfig = { Type = "oneshot"; RemainAfterExit = "yes"; - ExecStart = "${cpupower}/bin/cpupower frequency-set " + - optionalString governorEnable "--governor ${cfg.cpuFreqGovernor} " + - optionalString maxEnable "--max ${toString cfg.cpufreq.max} " + - optionalString minEnable "--min ${toString cfg.cpufreq.min} "; + ExecStart = + "${cpupower}/bin/cpupower frequency-set " + + optionalString governorEnable "--governor ${cfg.cpuFreqGovernor} " + + optionalString maxEnable "--max ${toString cfg.cpufreq.max} " + + optionalString minEnable "--min ${toString cfg.cpufreq.min} "; SuccessExitStatus = "0 237"; }; }; - }; + }; } diff --git a/nixos/modules/tasks/filesystems/apfs.nix b/nixos/modules/tasks/filesystems/apfs.nix index 980a3ad0f9c4b..e5cb6e62e9fbb 100644 --- a/nixos/modules/tasks/filesystems/apfs.nix +++ b/nixos/modules/tasks/filesystems/apfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix index 7329a79813379..f4b7455822f02 100644 --- a/nixos/modules/tasks/filesystems/btrfs.nix +++ b/nixos/modules/tasks/filesystems/btrfs.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, utils, ... }: +{ + config, + lib, + pkgs, + utils, + ... +}: let inherit (lib) @@ -13,7 +19,8 @@ let listToAttrs filterAttrs mapAttrsToList - foldl'; + foldl' + ; inInitrd = config.boot.initrd.supportedFilesystems.btrfs or false; inSystem = config.boot.supportedFilesystems.btrfs or false; @@ -77,20 +84,17 @@ in "sha256_generic" # Should be baked into our kernel, just to be sure ]; - boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) - '' + boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) '' copy_bin_and_libs ${pkgs.btrfs-progs}/bin/btrfs ln -sv btrfs $out/bin/btrfsck ln -sv btrfsck $out/bin/fsck.btrfs ''; - boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) - '' + boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) '' $out/bin/btrfs --version ''; - boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) - '' + boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) '' btrfs device scan ''; @@ -100,7 +104,7 @@ in (mkIf enableAutoScrub { assertions = [ { - assertion = cfgScrub.enable -> (cfgScrub.fileSystems != []); + assertion = cfgScrub.enable -> (cfgScrub.fileSystems != [ ]); message = '' If 'services.btrfs.autoScrub' is enabled, you need to have at least one btrfs file system mounted via 'fileSystems' or specify a list manually @@ -113,56 +117,79 @@ in # time, or additionally mounted subvolumes, as well as having a filesystem span # multiple devices (provided the same device is used to mount said filesystem). services.btrfs.autoScrub.fileSystems = - let - isDeviceInList = list: device: builtins.filter (e: e.device == device) list != [ ]; - - uniqueDeviceList = foldl' (acc: e: if isDeviceInList acc e.device then acc else acc ++ [ e ]) [ ]; - in - mkDefault (map (e: e.mountPoint) - (uniqueDeviceList (mapAttrsToList (name: fs: { mountPoint = fs.mountPoint; device = fs.device; }) - (filterAttrs (name: fs: fs.fsType == "btrfs") config.fileSystems)))); + let + isDeviceInList = list: device: builtins.filter (e: e.device == device) list != [ ]; + + uniqueDeviceList = foldl' (acc: e: if isDeviceInList acc e.device then acc else acc ++ [ e ]) [ ]; + in + mkDefault ( + map (e: e.mountPoint) ( + uniqueDeviceList ( + mapAttrsToList (name: fs: { + mountPoint = fs.mountPoint; + device = fs.device; + }) (filterAttrs (name: fs: fs.fsType == "btrfs") config.fileSystems) + ) + ) + ); # TODO: Did not manage to do it via the usual btrfs-scrub@.timer/.service # template units due to problems enabling the parameterized units, # so settled with many units and templating via nix for now. # https://github.com/NixOS/nixpkgs/pull/32496#discussion_r156527544 - systemd.timers = let - scrubTimer = fs: let - fs' = utils.escapeSystemdPath fs; - in nameValuePair "btrfs-scrub-${fs'}" { - description = "regular btrfs scrub timer on ${fs}"; - - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = cfgScrub.interval; - AccuracySec = "1d"; - Persistent = true; - }; - }; - in listToAttrs (map scrubTimer cfgScrub.fileSystems); - - systemd.services = let - scrubService = fs: let - fs' = utils.escapeSystemdPath fs; - in nameValuePair "btrfs-scrub-${fs'}" { - description = "btrfs scrub on ${fs}"; - # scrub prevents suspend2ram or proper shutdown - conflicts = [ "shutdown.target" "sleep.target" ]; - before = [ "shutdown.target" "sleep.target" ]; - - serviceConfig = { - # simple and not oneshot, otherwise ExecStop is not used - Type = "simple"; - Nice = 19; - IOSchedulingClass = "idle"; - ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -B ${fs}"; - # if the service is stopped before scrub end, cancel it - ExecStop = pkgs.writeShellScript "btrfs-scrub-maybe-cancel" '' - (${pkgs.btrfs-progs}/bin/btrfs scrub status ${fs} | ${pkgs.gnugrep}/bin/grep finished) || ${pkgs.btrfs-progs}/bin/btrfs scrub cancel ${fs} - ''; - }; - }; - in listToAttrs (map scrubService cfgScrub.fileSystems); + systemd.timers = + let + scrubTimer = + fs: + let + fs' = utils.escapeSystemdPath fs; + in + nameValuePair "btrfs-scrub-${fs'}" { + description = "regular btrfs scrub timer on ${fs}"; + + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = cfgScrub.interval; + AccuracySec = "1d"; + Persistent = true; + }; + }; + in + listToAttrs (map scrubTimer cfgScrub.fileSystems); + + systemd.services = + let + scrubService = + fs: + let + fs' = utils.escapeSystemdPath fs; + in + nameValuePair "btrfs-scrub-${fs'}" { + description = "btrfs scrub on ${fs}"; + # scrub prevents suspend2ram or proper shutdown + conflicts = [ + "shutdown.target" + "sleep.target" + ]; + before = [ + "shutdown.target" + "sleep.target" + ]; + + serviceConfig = { + # simple and not oneshot, otherwise ExecStop is not used + Type = "simple"; + Nice = 19; + IOSchedulingClass = "idle"; + ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -B ${fs}"; + # if the service is stopped before scrub end, cancel it + ExecStop = pkgs.writeShellScript "btrfs-scrub-maybe-cancel" '' + (${pkgs.btrfs-progs}/bin/btrfs scrub status ${fs} | ${pkgs.gnugrep}/bin/grep finished) || ${pkgs.btrfs-progs}/bin/btrfs scrub cancel ${fs} + ''; + }; + }; + in + listToAttrs (map scrubService cfgScrub.fileSystems); }) ]; } diff --git a/nixos/modules/tasks/filesystems/cifs.nix b/nixos/modules/tasks/filesystems/cifs.nix index 5a562b2940f7d..17acabf0f156a 100644 --- a/nixos/modules/tasks/filesystems/cifs.nix +++ b/nixos/modules/tasks/filesystems/cifs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,13 +18,19 @@ in system.fsPackages = mkIf (config.boot.supportedFilesystems.cifs or false) [ pkgs.cifs-utils ]; - boot.initrd.availableKernelModules = mkIf inInitrd - [ "cifs" "nls_utf8" "hmac" "md4" "ecb" "des_generic" "sha256" ]; - - boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) - '' - copy_bin_and_libs ${pkgs.cifs-utils}/sbin/mount.cifs - ''; + boot.initrd.availableKernelModules = mkIf inInitrd [ + "cifs" + "nls_utf8" + "hmac" + "md4" + "ecb" + "des_generic" + "sha256" + ]; + + boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' + copy_bin_and_libs ${pkgs.cifs-utils}/sbin/mount.cifs + ''; boot.initrd.systemd.extraBin."mount.cifs" = mkIf inInitrd "${pkgs.cifs-utils}/sbin/mount.cifs"; diff --git a/nixos/modules/tasks/filesystems/ecryptfs.nix b/nixos/modules/tasks/filesystems/ecryptfs.nix index f966a1be15360..8b489d65d8431 100644 --- a/nixos/modules/tasks/filesystems/ecryptfs.nix +++ b/nixos/modules/tasks/filesystems/ecryptfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: # TODO: make ecryptfs work in initramfs? with lib; @@ -7,18 +12,18 @@ with lib; config = mkIf (config.boot.supportedFilesystems.ecryptfs or false) { system.fsPackages = [ pkgs.ecryptfs ]; security.wrappers = { - "mount.ecryptfs_private" = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.ecryptfs.out}/bin/mount.ecryptfs_private"; - }; - "umount.ecryptfs_private" = - { setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.ecryptfs.out}/bin/umount.ecryptfs_private"; - }; + "mount.ecryptfs_private" = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.ecryptfs.out}/bin/mount.ecryptfs_private"; + }; + "umount.ecryptfs_private" = { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.ecryptfs.out}/bin/umount.ecryptfs_private"; + }; }; }; } diff --git a/nixos/modules/tasks/filesystems/envfs.nix b/nixos/modules/tasks/filesystems/envfs.nix index e67e6eeed9d10..1e821277b6144 100644 --- a/nixos/modules/tasks/filesystems/envfs.nix +++ b/nixos/modules/tasks/filesystems/envfs.nix @@ -1,4 +1,9 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: let cfg = config.services.envfs; @@ -8,11 +13,16 @@ let fsType = "envfs"; options = [ "bind-mount=/bin" - "fallback-path=${pkgs.runCommand "fallback-path" {} ('' - mkdir -p $out - ln -s ${config.environment.usrbinenv} $out/env - ln -s ${config.environment.binsh} $out/sh - '' + cfg.extraFallbackPathCommands)}" + "fallback-path=${ + pkgs.runCommand "fallback-path" { } ( + '' + mkdir -p $out + ln -s ${config.environment.usrbinenv} $out/env + ln -s ${config.environment.binsh} $out/sh + '' + + cfg.extraFallbackPathCommands + ) + }" "nofail" ]; }; @@ -22,10 +32,14 @@ let "/bin" = { device = "/usr/bin"; fsType = "none"; - options = [ "bind" "nofail" ]; + options = [ + "bind" + "nofail" + ]; }; }; -in { +in +{ options = { services.envfs = { enable = lib.mkEnableOption "Envfs filesystem" // { diff --git a/nixos/modules/tasks/filesystems/erofs.nix b/nixos/modules/tasks/filesystems/erofs.nix index b13fa25315579..3aabfbf66e542 100644 --- a/nixos/modules/tasks/filesystems/erofs.nix +++ b/nixos/modules/tasks/filesystems/erofs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let diff --git a/nixos/modules/tasks/filesystems/exfat.nix b/nixos/modules/tasks/filesystems/exfat.nix index 4011653c00df1..9b013c8e9b856 100644 --- a/nixos/modules/tasks/filesystems/exfat.nix +++ b/nixos/modules/tasks/filesystems/exfat.nix @@ -1,13 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; { config = mkIf (config.boot.supportedFilesystems.exfat or false) { - system.fsPackages = if config.boot.kernelPackages.kernelOlder "5.7" then [ - pkgs.exfat # FUSE - ] else [ - pkgs.exfatprogs # non-FUSE - ]; + system.fsPackages = + if config.boot.kernelPackages.kernelOlder "5.7" then + [ + pkgs.exfat # FUSE + ] + else + [ + pkgs.exfatprogs # non-FUSE + ]; }; } diff --git a/nixos/modules/tasks/filesystems/ext.nix b/nixos/modules/tasks/filesystems/ext.nix index 165fe9474c3e8..883df9e5b379f 100644 --- a/nixos/modules/tasks/filesystems/ext.nix +++ b/nixos/modules/tasks/filesystems/ext.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let @@ -12,20 +17,24 @@ in { config = { - system.fsPackages = lib.mkIf (config.boot.initrd.systemd.enable -> (inInitrd || inSystem)) [ pkgs.e2fsprogs ]; + system.fsPackages = lib.mkIf (config.boot.initrd.systemd.enable -> (inInitrd || inSystem)) [ + pkgs.e2fsprogs + ]; # As of kernel 4.3, there is no separate ext3 driver (they're also handled by ext4.ko) - boot.initrd.availableKernelModules = lib.mkIf (config.boot.initrd.systemd.enable -> inInitrd) [ "ext2" "ext4" ]; - - boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) - '' - # Copy e2fsck and friends. - copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/e2fsck - copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/tune2fs - ln -sv e2fsck $out/bin/fsck.ext2 - ln -sv e2fsck $out/bin/fsck.ext3 - ln -sv e2fsck $out/bin/fsck.ext4 - ''; + boot.initrd.availableKernelModules = lib.mkIf (config.boot.initrd.systemd.enable -> inInitrd) [ + "ext2" + "ext4" + ]; + + boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) '' + # Copy e2fsck and friends. + copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/e2fsck + copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/tune2fs + ln -sv e2fsck $out/bin/fsck.ext2 + ln -sv e2fsck $out/bin/fsck.ext3 + ln -sv e2fsck $out/bin/fsck.ext4 + ''; boot.initrd.systemd.initrdBin = lib.mkIf inInitrd [ pkgs.e2fsprogs ]; diff --git a/nixos/modules/tasks/filesystems/f2fs.nix b/nixos/modules/tasks/filesystems/f2fs.nix index f4f5fcab9caef..4c38cacefdc8b 100644 --- a/nixos/modules/tasks/filesystems/f2fs.nix +++ b/nixos/modules/tasks/filesystems/f2fs.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; @@ -10,7 +15,10 @@ in system.fsPackages = [ pkgs.f2fs-tools ]; - boot.initrd.availableKernelModules = mkIf inInitrd [ "f2fs" "crc32" ]; + boot.initrd.availableKernelModules = mkIf inInitrd [ + "f2fs" + "crc32" + ]; boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' copy_bin_and_libs ${pkgs.f2fs-tools}/sbin/fsck.f2fs diff --git a/nixos/modules/tasks/filesystems/glusterfs.nix b/nixos/modules/tasks/filesystems/glusterfs.nix index 02ef95262dbda..24998a8a1011a 100644 --- a/nixos/modules/tasks/filesystems/glusterfs.nix +++ b/nixos/modules/tasks/filesystems/glusterfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/tasks/filesystems/jfs.nix b/nixos/modules/tasks/filesystems/jfs.nix index 73ddb0fb18bb6..dde1506cfecf1 100644 --- a/nixos/modules/tasks/filesystems/jfs.nix +++ b/nixos/modules/tasks/filesystems/jfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index f5e205e26e946..33b0a8c6324c8 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inInitrd = config.boot.initrd.supportedFilesystems.nfs or false; @@ -7,7 +12,7 @@ let rpcMountpoint = "${nfsStateDir}/rpc_pipefs"; - format = pkgs.formats.ini {}; + format = pkgs.formats.ini { }; idmapdConfFile = format.generate "idmapd.conf" cfg.idmapd.settings; @@ -15,40 +20,47 @@ let nfsConfSettings = lib.optionalAttrs (cfg.server.nproc != null) { nfsd.threads = cfg.server.nproc; - } // lib.optionalAttrs (cfg.server.hostName != null) { + } + // lib.optionalAttrs (cfg.server.hostName != null) { nfsd.host = cfg.server.hostName; - } // lib.optionalAttrs (cfg.server.mountdPort != null) { + } + // lib.optionalAttrs (cfg.server.mountdPort != null) { mountd.port = cfg.server.mountdPort; - } // lib.optionalAttrs (cfg.server.statdPort != null) { + } + // lib.optionalAttrs (cfg.server.statdPort != null) { statd.port = cfg.server.statdPort; - } // lib.optionalAttrs (cfg.server.lockdPort != null) { + } + // lib.optionalAttrs (cfg.server.lockdPort != null) { lockd.port = cfg.server.lockdPort; lockd.udp-port = cfg.server.lockdPort; }; - nfsConfDeprecated = cfg.extraConfig + '' - [nfsd] - threads=${toString cfg.server.nproc} - ${lib.optionalString (cfg.server.hostName != null) "host=${cfg.server.hostName}"} - ${cfg.server.extraNfsdConfig} + nfsConfDeprecated = + cfg.extraConfig + + '' + [nfsd] + threads=${toString cfg.server.nproc} + ${lib.optionalString (cfg.server.hostName != null) "host=${cfg.server.hostName}"} + ${cfg.server.extraNfsdConfig} - [mountd] - ${lib.optionalString (cfg.server.mountdPort != null) "port=${toString cfg.server.mountdPort}"} + [mountd] + ${lib.optionalString (cfg.server.mountdPort != null) "port=${toString cfg.server.mountdPort}"} - [statd] - ${lib.optionalString (cfg.server.statdPort != null) "port=${toString cfg.server.statdPort}"} + [statd] + ${lib.optionalString (cfg.server.statdPort != null) "port=${toString cfg.server.statdPort}"} - [lockd] - ${lib.optionalString (cfg.server.lockdPort != null) '' - port=${toString cfg.server.lockdPort} - udp-port=${toString cfg.server.lockdPort} - ''} - ''; + [lockd] + ${lib.optionalString (cfg.server.lockdPort != null) '' + port=${toString cfg.server.lockdPort} + udp-port=${toString cfg.server.lockdPort} + ''} + ''; nfsConfFile = - if cfg.settings != {} - then format.generate "nfs.conf" (lib.recursiveUpdate nfsConfSettings cfg.settings) - else pkgs.writeText "nfs.conf" nfsConfDeprecated; + if cfg.settings != { } then + format.generate "nfs.conf" (lib.recursiveUpdate nfsConfSettings cfg.settings) + else + pkgs.writeText "nfs.conf" nfsConfDeprecated; requestKeyConfFile = pkgs.writeText "request-key.conf" '' create id_resolver * * ${pkgs.nfs-utils}/bin/nfsidmap -t 600 %k %d @@ -65,7 +77,7 @@ in services.nfs = { idmapd.settings = lib.mkOption { type = format.type; - default = {}; + default = { }; description = '' libnfsidmap configuration. Refer to @@ -84,7 +96,7 @@ in }; settings = lib.mkOption { type = format.type; - default = {}; + default = { }; description = '' General configuration for NFS daemons and tools. See nfs.conf(5) and related man pages for details. @@ -107,89 +119,101 @@ in ###### implementation - config = lib.mkIf (config.boot.supportedFilesystems.nfs or config.boot.supportedFilesystems.nfs4 or false) { - - warnings = - (lib.optional (cfg.extraConfig != "") '' - `services.nfs.extraConfig` is deprecated. Use `services.nfs.settings` instead. - '') ++ (lib.optional (cfg.server.extraNfsdConfig != "") '' - `services.nfs.server.extraNfsdConfig` is deprecated. Use `services.nfs.settings` instead. - ''); - assertions = [{ - assertion = cfg.settings != {} -> cfg.extraConfig == "" && cfg.server.extraNfsdConfig == ""; - message = "`services.nfs.settings` cannot be used together with `services.nfs.extraConfig` and `services.nfs.server.extraNfsdConfig`."; - }]; - - services.rpcbind.enable = true; - - services.nfs.idmapd.settings = { - General = lib.mkMerge [ - { Pipefs-Directory = rpcMountpoint; } - (lib.mkIf (config.networking.domain != null) { Domain = config.networking.domain; }) - ]; - Mapping = { - Nobody-User = "nobody"; - Nobody-Group = "nogroup"; - }; - Translation = { - Method = "nsswitch"; - }; - }; - - system.fsPackages = [ pkgs.nfs-utils ]; - - boot.initrd.kernelModules = lib.mkIf inInitrd [ "nfs" ]; - - systemd.packages = [ pkgs.nfs-utils ]; - - environment.systemPackages = [ pkgs.keyutils ]; - - environment.etc = { - "idmapd.conf".source = idmapdConfFile; - "nfs.conf".source = nfsConfFile; - "request-key.conf".source = requestKeyConfFile; - }; - - systemd.services.nfs-blkmap = - { restartTriggers = [ nfsConfFile ]; - }; - - systemd.targets.nfs-client = - { wantedBy = [ "multi-user.target" "remote-fs.target" ]; - }; - - systemd.services.nfs-idmapd = - { restartTriggers = [ idmapdConfFile ]; - }; - - systemd.services.nfs-mountd = - { restartTriggers = [ nfsConfFile ]; - enable = lib.mkDefault false; - }; - - systemd.services.nfs-server = - { restartTriggers = [ nfsConfFile ]; - enable = lib.mkDefault false; - }; - - systemd.services.auth-rpcgss-module = + config = + lib.mkIf (config.boot.supportedFilesystems.nfs or config.boot.supportedFilesystems.nfs4 or false) { - unitConfig.ConditionPathExists = [ "" "/etc/krb5.keytab" ]; - }; - systemd.services.rpc-gssd = - { restartTriggers = [ nfsConfFile ]; - unitConfig.ConditionPathExists = [ "" "/etc/krb5.keytab" ]; - }; - - systemd.services.rpc-statd = - { restartTriggers = [ nfsConfFile ]; - - preStart = - '' + warnings = + (lib.optional (cfg.extraConfig != "") '' + `services.nfs.extraConfig` is deprecated. Use `services.nfs.settings` instead. + '') + ++ (lib.optional (cfg.server.extraNfsdConfig != "") '' + `services.nfs.server.extraNfsdConfig` is deprecated. Use `services.nfs.settings` instead. + ''); + assertions = [ + { + assertion = cfg.settings != { } -> cfg.extraConfig == "" && cfg.server.extraNfsdConfig == ""; + message = "`services.nfs.settings` cannot be used together with `services.nfs.extraConfig` and `services.nfs.server.extraNfsdConfig`."; + } + ]; + + services.rpcbind.enable = true; + + services.nfs.idmapd.settings = { + General = lib.mkMerge [ + { Pipefs-Directory = rpcMountpoint; } + (lib.mkIf (config.networking.domain != null) { Domain = config.networking.domain; }) + ]; + Mapping = { + Nobody-User = "nobody"; + Nobody-Group = "nogroup"; + }; + Translation = { + Method = "nsswitch"; + }; + }; + + system.fsPackages = [ pkgs.nfs-utils ]; + + boot.initrd.kernelModules = lib.mkIf inInitrd [ "nfs" ]; + + systemd.packages = [ pkgs.nfs-utils ]; + + environment.systemPackages = [ pkgs.keyutils ]; + + environment.etc = { + "idmapd.conf".source = idmapdConfFile; + "nfs.conf".source = nfsConfFile; + "request-key.conf".source = requestKeyConfFile; + }; + + systemd.services.nfs-blkmap = { + restartTriggers = [ nfsConfFile ]; + }; + + systemd.targets.nfs-client = { + wantedBy = [ + "multi-user.target" + "remote-fs.target" + ]; + }; + + systemd.services.nfs-idmapd = { + restartTriggers = [ idmapdConfFile ]; + }; + + systemd.services.nfs-mountd = { + restartTriggers = [ nfsConfFile ]; + enable = lib.mkDefault false; + }; + + systemd.services.nfs-server = { + restartTriggers = [ nfsConfFile ]; + enable = lib.mkDefault false; + }; + + systemd.services.auth-rpcgss-module = { + unitConfig.ConditionPathExists = [ + "" + "/etc/krb5.keytab" + ]; + }; + + systemd.services.rpc-gssd = { + restartTriggers = [ nfsConfFile ]; + unitConfig.ConditionPathExists = [ + "" + "/etc/krb5.keytab" + ]; + }; + + systemd.services.rpc-statd = { + restartTriggers = [ nfsConfFile ]; + + preStart = '' mkdir -p /var/lib/nfs/{sm,sm.bak} ''; - }; + }; - }; + }; } diff --git a/nixos/modules/tasks/filesystems/ntfs.nix b/nixos/modules/tasks/filesystems/ntfs.nix index 99ba494a7a39e..8ec839fed7eb8 100644 --- a/nixos/modules/tasks/filesystems/ntfs.nix +++ b/nixos/modules/tasks/filesystems/ntfs.nix @@ -1,11 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; { - config = mkIf (config.boot.supportedFilesystems.ntfs or config.boot.supportedFilesystems.ntfs-3g or false) { + config = + mkIf (config.boot.supportedFilesystems.ntfs or config.boot.supportedFilesystems.ntfs-3g or false) + { - system.fsPackages = [ pkgs.ntfs3g ]; + system.fsPackages = [ pkgs.ntfs3g ]; - }; + }; } diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix index f3f5e6aaa10b9..6302ff7358164 100644 --- a/nixos/modules/tasks/filesystems/reiserfs.nix +++ b/nixos/modules/tasks/filesystems/reiserfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -15,11 +20,10 @@ in boot.initrd.kernelModules = mkIf inInitrd [ "reiserfs" ]; - boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) - '' - copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck - ln -s reiserfsck $out/bin/fsck.reiserfs - ''; + boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' + copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck + ln -s reiserfsck $out/bin/fsck.reiserfs + ''; boot.initrd.systemd.initrdBin = mkIf inInitrd [ pkgs.reiserfsprogs ]; diff --git a/nixos/modules/tasks/filesystems/sshfs.nix b/nixos/modules/tasks/filesystems/sshfs.nix index 63ff7f2b6b399..f070779ecc54c 100644 --- a/nixos/modules/tasks/filesystems/sshfs.nix +++ b/nixos/modules/tasks/filesystems/sshfs.nix @@ -1,11 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - config = lib.mkIf - (config.boot.supportedFilesystems.sshfs - or config.boot.supportedFilesystems."fuse.sshfs" - or false) - { - system.fsPackages = [ pkgs.sshfs ]; - }; + config = + lib.mkIf + (config.boot.supportedFilesystems.sshfs or config.boot.supportedFilesystems."fuse.sshfs" or false) + { + system.fsPackages = [ pkgs.sshfs ]; + }; } diff --git a/nixos/modules/tasks/filesystems/unionfs-fuse.nix b/nixos/modules/tasks/filesystems/unionfs-fuse.nix index 929454ff1529c..42ec9c0c50c36 100644 --- a/nixos/modules/tasks/filesystems/unionfs-fuse.nix +++ b/nixos/modules/tasks/filesystems/unionfs-fuse.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { config = lib.mkMerge [ @@ -17,16 +22,16 @@ ''; boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable) '' - # Hacky!!! fuse hard-codes the path to mount - mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin - ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin - ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin - ''; + # Hacky!!! fuse hard-codes the path to mount + mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin + ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin + ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin + ''; boot.initrd.systemd.extraBin = { "mount.fuse" = "${pkgs.fuse}/bin/mount.fuse"; "unionfs" = "${pkgs.unionfs-fuse}/bin/unionfs"; - "mount.unionfs-fuse" = pkgs.runCommand "mount.unionfs-fuse" {} '' + "mount.unionfs-fuse" = pkgs.runCommand "mount.unionfs-fuse" { } '' substitute ${pkgs.unionfs-fuse}/sbin/mount.unionfs-fuse $out \ --replace '${pkgs.bash}/bin/bash' /bin/sh \ --replace '${pkgs.fuse}/sbin' /bin \ diff --git a/nixos/modules/tasks/filesystems/vboxsf.nix b/nixos/modules/tasks/filesystems/vboxsf.nix index 00245b5af2527..3271351a5bcaf 100644 --- a/nixos/modules/tasks/filesystems/vboxsf.nix +++ b/nixos/modules/tasks/filesystems/vboxsf.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; diff --git a/nixos/modules/tasks/filesystems/vfat.nix b/nixos/modules/tasks/filesystems/vfat.nix index d7acc0c9e50b9..6ad032b580c8c 100644 --- a/nixos/modules/tasks/filesystems/vfat.nix +++ b/nixos/modules/tasks/filesystems/vfat.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -11,15 +16,21 @@ in { config = mkIf (config.boot.supportedFilesystems.vfat or false) { - system.fsPackages = [ pkgs.dosfstools pkgs.mtools ]; - - boot.initrd.kernelModules = mkIf inInitrd [ "vfat" "nls_cp437" "nls_iso8859-1" ]; - - boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) - '' - copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck - ln -sv dosfsck $out/bin/fsck.vfat - ''; + system.fsPackages = [ + pkgs.dosfstools + pkgs.mtools + ]; + + boot.initrd.kernelModules = mkIf inInitrd [ + "vfat" + "nls_cp437" + "nls_iso8859-1" + ]; + + boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' + copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck + ln -sv dosfsck $out/bin/fsck.vfat + ''; boot.initrd.systemd.initrdBin = mkIf inInitrd [ pkgs.dosfstools ]; diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix index 50dc1b3340aa5..0938f677b9152 100644 --- a/nixos/modules/tasks/filesystems/xfs.nix +++ b/nixos/modules/tasks/filesystems/xfs.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,19 +18,20 @@ in system.fsPackages = [ pkgs.xfsprogs.bin ]; - boot.initrd.availableKernelModules = mkIf inInitrd [ "xfs" "crc32c" ]; + boot.initrd.availableKernelModules = mkIf inInitrd [ + "xfs" + "crc32c" + ]; - boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) - '' - copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/fsck.xfs - copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/xfs_repair - ''; + boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' + copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/fsck.xfs + copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/xfs_repair + ''; # Trick just to set 'sh' after the extraUtils nuke-refs. - boot.initrd.extraUtilsCommandsTest = mkIf (inInitrd && !config.boot.initrd.systemd.enable) - '' - sed -i -e 's,^#!.*,#!'$out/bin/sh, $out/bin/fsck.xfs - ''; + boot.initrd.extraUtilsCommandsTest = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' + sed -i -e 's,^#!.*,#!'$out/bin/sh, $out/bin/fsck.xfs + ''; boot.initrd.systemd.initrdBin = mkIf inInitrd [ pkgs.xfsprogs.bin ]; }; diff --git a/nixos/modules/tasks/lvm.nix b/nixos/modules/tasks/lvm.nix index f72aa5fc0a7c8..e507a8c0e121f 100644 --- a/nixos/modules/tasks/lvm.nix +++ b/nixos/modules/tasks/lvm.nix @@ -1,9 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.lvm; -in { +in +{ options.services.lvm = { enable = mkEnableOption "lvm2" // { default = true; @@ -72,9 +78,14 @@ in { }) (mkIf cfg.boot.thin.enable { boot.initrd = { - kernelModules = [ "dm-snapshot" "dm-thin-pool" ]; + kernelModules = [ + "dm-snapshot" + "dm-thin-pool" + ]; - systemd.initrdBin = lib.mkIf config.boot.initrd.services.lvm.enable [ pkgs.thin-provisioning-tools ]; + systemd.initrdBin = lib.mkIf config.boot.initrd.services.lvm.enable [ + pkgs.thin-provisioning-tools + ]; extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) '' for BIN in ${pkgs.thin-provisioning-tools}/bin/*; do @@ -89,17 +100,27 @@ in { ''; }; - environment.etc."lvm/lvm.conf".text = concatMapStringsSep "\n" - (bin: "global/${bin}_executable = ${pkgs.thin-provisioning-tools}/bin/${bin}") - [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ]; + environment.etc."lvm/lvm.conf".text = + concatMapStringsSep "\n" + (bin: "global/${bin}_executable = ${pkgs.thin-provisioning-tools}/bin/${bin}") + [ + "thin_check" + "thin_dump" + "thin_repair" + "cache_check" + "cache_dump" + "cache_repair" + ]; environment.systemPackages = [ pkgs.thin-provisioning-tools ]; }) (mkIf cfg.boot.vdo.enable { - assertions = [{ - assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.9"; - message = "boot.vdo.enable requires at least kernel version 6.9"; - }]; + assertions = [ + { + assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.9"; + message = "boot.vdo.enable requires at least kernel version 6.9"; + } + ]; boot = { initrd = { @@ -107,7 +128,7 @@ in { systemd.initrdBin = lib.mkIf config.boot.initrd.services.lvm.enable [ pkgs.vdo ]; - extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable)'' + extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) '' ls ${pkgs.vdo}/bin/ | while read BIN; do copy_bin_and_libs ${pkgs.vdo}/bin/$BIN done @@ -115,7 +136,7 @@ in { substituteInPlace $out/bin/adaptlvm --replace "${pkgs.bash}/bin/bash" "/bin/sh" ''; - extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable)'' + extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) '' ls ${pkgs.vdo}/bin/ | grep -vE '(adaptlvm|vdorecover)' | while read BIN; do $out/bin/$(basename $BIN) --help > /dev/null done @@ -123,33 +144,46 @@ in { }; }; - services.lvm.package = mkOverride 999 pkgs.lvm2_vdo; # this overrides mkDefault + services.lvm.package = mkOverride 999 pkgs.lvm2_vdo; # this overrides mkDefault environment.systemPackages = [ pkgs.vdo ]; }) (mkIf (cfg.dmeventd.enable || cfg.boot.thin.enable) { - boot.initrd.systemd.contents."/etc/lvm/lvm.conf".text = optionalString (config.boot.initrd.services.lvm.enable && cfg.boot.thin.enable) (concatMapStringsSep "\n" - (bin: "global/${bin}_executable = /bin/${bin}") - [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ] - ) + "\n" + optionalString cfg.dmeventd.enable '' + boot.initrd.systemd.contents."/etc/lvm/lvm.conf".text = + optionalString (config.boot.initrd.services.lvm.enable && cfg.boot.thin.enable) ( + concatMapStringsSep "\n" (bin: "global/${bin}_executable = /bin/${bin}") [ + "thin_check" + "thin_dump" + "thin_repair" + "cache_check" + "cache_dump" + "cache_repair" + ] + ) + + "\n" + + optionalString cfg.dmeventd.enable '' dmeventd/executable = /bin/false activation/monitoring = 0 ''; boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) '' - mkdir -p /etc/lvm - cat << EOF >> /etc/lvm/lvm.conf - ${optionalString cfg.boot.thin.enable ( - concatMapStringsSep "\n" - (bin: "global/${bin}_executable = $(command -v ${bin})") - [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ] - ) - } - ${optionalString cfg.dmeventd.enable '' - dmeventd/executable = "$(command -v false)" - activation/monitoring = 0 - ''} - EOF + mkdir -p /etc/lvm + cat << EOF >> /etc/lvm/lvm.conf + ${optionalString cfg.boot.thin.enable ( + concatMapStringsSep "\n" (bin: "global/${bin}_executable = $(command -v ${bin})") [ + "thin_check" + "thin_dump" + "thin_repair" + "cache_check" + "cache_dump" + "cache_repair" + ] + )} + ${optionalString cfg.dmeventd.enable '' + dmeventd/executable = "$(command -v false)" + activation/monitoring = 0 + ''} + EOF ''; }) ]; diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix index 0f85c69428ca0..60aa66347e3ab 100644 --- a/nixos/modules/tasks/network-interfaces-systemd.nix +++ b/nixos/modules/tasks/network-interfaces-systemd.nix @@ -1,4 +1,10 @@ -{ config, lib, utils, pkgs, ... }: +{ + config, + lib, + utils, + pkgs, + ... +}: with utils; with lib; @@ -8,13 +14,9 @@ let cfg = config.networking; interfaces = attrValues cfg.interfaces; - interfaceIps = i: - i.ipv4.addresses - ++ optionals cfg.enableIPv6 i.ipv6.addresses; + interfaceIps = i: i.ipv4.addresses ++ optionals cfg.enableIPv6 i.ipv6.addresses; - interfaceRoutes = i: - i.ipv4.routes - ++ optionals cfg.enableIPv6 i.ipv6.routes; + interfaceRoutes = i: i.ipv4.routes ++ optionals cfg.enableIPv6 i.ipv6.routes; dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "yes" else "no"; @@ -26,425 +28,546 @@ let ++ map (vlan: vlan.interface) (attrValues cfg.vlans) # add dependency to physical or independently created vswitch member interface # TODO: warn the user that any address configured on those interfaces will be useless - ++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues cfg.vswitches); - - defaultGateways = mkMerge (forEach [ cfg.defaultGateway cfg.defaultGateway6 ] (gateway: - optionalAttrs (gateway != null && gateway.interface != null) { - networks."40-${gateway.interface}" = { - matchConfig.Name = gateway.interface; - routes = [ - ({ - Gateway = gateway.address; - } // optionalAttrs (gateway.metric != null) { - Metric = gateway.metric; - }) - ]; - }; - } - )); - - genericDhcpNetworks = initrd: mkIf cfg.useDHCP { - networks."99-ethernet-default-dhcp" = { - matchConfig = { - Type = "ether"; - Kind = "!*"; # physical interfaces have no kind - }; - DHCP = "yes"; - networkConfig.IPv6PrivacyExtensions = "kernel"; - }; - networks."99-wireless-client-dhcp" = { - matchConfig.WLANInterfaceType = "station"; - DHCP = "yes"; - networkConfig.IPv6PrivacyExtensions = "kernel"; - # We also set the route metric to one more than the default - # of 1024, so that Ethernet is preferred if both are - # available. - dhcpV4Config.RouteMetric = 1025; - ipv6AcceptRAConfig.RouteMetric = 1025; - }; - }; - + ++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) ( + attrValues cfg.vswitches + ); - interfaceNetworks = mkMerge (forEach interfaces (i: { - netdevs = mkIf i.virtual ({ - "40-${i.name}" = { - netdevConfig = { - Name = i.name; - Kind = i.virtualType; - }; - "${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) { - User = i.virtualOwner; + defaultGateways = mkMerge ( + forEach [ cfg.defaultGateway cfg.defaultGateway6 ] ( + gateway: + optionalAttrs (gateway != null && gateway.interface != null) { + networks."40-${gateway.interface}" = { + matchConfig.Name = gateway.interface; + routes = [ + ( + { + Gateway = gateway.address; + } + // optionalAttrs (gateway.metric != null) { + Metric = gateway.metric; + } + ) + ]; }; - }; - }); - networks."40-${i.name}" = { - name = mkDefault i.name; - DHCP = mkForce (dhcpStr - (if i.useDHCP != null then i.useDHCP else (config.networking.useDHCP && i.ipv4.addresses == [ ]))); - address = forEach (interfaceIps i) - (ip: "${ip.address}/${toString ip.prefixLength}"); - routes = forEach (interfaceRoutes i) - (route: mkMerge [ - # Most of these route options have not been tested. - # Please fix or report any mistakes you may find. - (mkIf (route.address != null && route.prefixLength != null) { - Destination = "${route.address}/${toString route.prefixLength}"; - }) - (mkIf (route.options ? fastopen_no_cookie) { - FastOpenNoCookie = route.options.fastopen_no_cookie; - }) - (mkIf (route.via != null) { - Gateway = route.via; - }) - (mkIf (route.type != null) { - Type = route.type; - }) - (mkIf (route.options ? onlink) { - GatewayOnLink = true; - }) - (mkIf (route.options ? initrwnd) { - InitialAdvertisedReceiveWindow = route.options.initrwnd; - }) - (mkIf (route.options ? initcwnd) { - InitialCongestionWindow = route.options.initcwnd; - }) - (mkIf (route.options ? pref) { - IPv6Preference = route.options.pref; - }) - (mkIf (route.options ? mtu) { - MTUBytes = route.options.mtu; - }) - (mkIf (route.options ? metric) { - Metric = route.options.metric; - }) - (mkIf (route.options ? src) { - PreferredSource = route.options.src; - }) - (mkIf (route.options ? protocol) { - Protocol = route.options.protocol; - }) - (mkIf (route.options ? quickack) { - QuickAck = route.options.quickack; - }) - (mkIf (route.options ? scope) { - Scope = route.options.scope; - }) - (mkIf (route.options ? from) { - Source = route.options.from; - }) - (mkIf (route.options ? table) { - Table = route.options.table; - }) - (mkIf (route.options ? advmss) { - TCPAdvertisedMaximumSegmentSize = route.options.advmss; - }) - (mkIf (route.options ? ttl-propagate) { - TTLPropagate = route.options.ttl-propagate == "enabled"; - }) - ]); - networkConfig.IPv6PrivacyExtensions = "kernel"; - linkConfig = optionalAttrs (i.macAddress != null) { - MACAddress = i.macAddress; - } // optionalAttrs (i.mtu != null) { - MTUBytes = toString i.mtu; - }; - }; - })); + } + ) + ); - bridgeNetworks = mkMerge (flip mapAttrsToList cfg.bridges (name: bridge: { - netdevs."40-${name}" = { - netdevConfig = { - Name = name; - Kind = "bridge"; + genericDhcpNetworks = + initrd: + mkIf cfg.useDHCP { + networks."99-ethernet-default-dhcp" = { + matchConfig = { + Type = "ether"; + Kind = "!*"; # physical interfaces have no kind + }; + DHCP = "yes"; + networkConfig.IPv6PrivacyExtensions = "kernel"; }; - }; - networks = listToAttrs (forEach bridge.interfaces (bi: - nameValuePair "40-${bi}" { - DHCP = mkOverride 0 (dhcpStr false); - networkConfig.Bridge = name; - })); - })); - - vlanNetworks = mkMerge (flip mapAttrsToList cfg.vlans (name: vlan: { - netdevs."40-${name}" = { - netdevConfig = { - Name = name; - Kind = "vlan"; + networks."99-wireless-client-dhcp" = { + matchConfig.WLANInterfaceType = "station"; + DHCP = "yes"; + networkConfig.IPv6PrivacyExtensions = "kernel"; + # We also set the route metric to one more than the default + # of 1024, so that Ethernet is preferred if both are + # available. + dhcpV4Config.RouteMetric = 1025; + ipv6AcceptRAConfig.RouteMetric = 1025; }; - vlanConfig.Id = vlan.id; }; - networks."40-${vlan.interface}" = { - vlan = [ name ]; - }; - })); - -in - -{ - config = mkMerge [ - - (mkIf config.boot.initrd.network.enable { - # Note this is if initrd.network.enable, not if - # initrd.systemd.network.enable. By setting the latter and not the - # former, the user retains full control over the configuration. - boot.initrd.systemd.network = mkMerge [ - defaultGateways - (genericDhcpNetworks true) - interfaceNetworks - bridgeNetworks - vlanNetworks - ]; - boot.initrd.availableKernelModules = - optional (cfg.bridges != {}) "bridge" ++ - optional (cfg.vlans != {}) "8021q"; - }) - (mkIf cfg.useNetworkd { - - assertions = [ { - assertion = cfg.defaultGatewayWindowSize == null; - message = "networking.defaultGatewayWindowSize is not supported by networkd."; - } { - assertion = cfg.defaultGateway != null -> cfg.defaultGateway.interface != null; - message = "networking.defaultGateway.interface is not optional when using networkd."; - } { - assertion = cfg.defaultGateway6 != null -> cfg.defaultGateway6.interface != null; - message = "networking.defaultGateway6.interface is not optional when using networkd."; - } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: { - assertion = !rstp; - message = "networking.bridges.${n}.rstp is not supported by networkd."; - }) ++ flip mapAttrsToList cfg.fooOverUDP (n: { local, ... }: { - assertion = local == null; - message = "networking.fooOverUDP.${n}.local is not supported by networkd."; - }); - - networking.dhcpcd.enable = mkDefault false; - - systemd.network = - mkMerge [ { - enable = true; - } - defaultGateways - (genericDhcpNetworks false) - interfaceNetworks - bridgeNetworks - (mkMerge (flip mapAttrsToList cfg.bonds (name: bond: { - netdevs."40-${name}" = { + interfaceNetworks = mkMerge ( + forEach interfaces (i: { + netdevs = mkIf i.virtual ({ + "40-${i.name}" = { netdevConfig = { - Name = name; - Kind = "bond"; + Name = i.name; + Kind = i.virtualType; }; - bondConfig = let - # manual mapping as of 2017-02-03 - # man 5 systemd.netdev [BOND] - # to https://www.kernel.org/doc/Documentation/networking/bonding.txt - # driver options. - driverOptionMapping = let - trans = f: optName: { valTransform = f; optNames = [optName]; }; - simp = trans id; - ms = trans (v: v + "ms"); - in { - Mode = simp "mode"; - TransmitHashPolicy = simp "xmit_hash_policy"; - LACPTransmitRate = simp "lacp_rate"; - MIIMonitorSec = ms "miimon"; - UpDelaySec = ms "updelay"; - DownDelaySec = ms "downdelay"; - LearnPacketIntervalSec = simp "lp_interval"; - AdSelect = simp "ad_select"; - FailOverMACPolicy = simp "fail_over_mac"; - ARPValidate = simp "arp_validate"; - # apparently in ms for this value?! Upstream bug? - ARPIntervalSec = simp "arp_interval"; - ARPIPTargets = simp "arp_ip_target"; - ARPAllTargets = simp "arp_all_targets"; - PrimaryReselectPolicy = simp "primary_reselect"; - ResendIGMP = simp "resend_igmp"; - PacketsPerSlave = simp "packets_per_slave"; - GratuitousARP = { valTransform = id; - optNames = [ "num_grat_arp" "num_unsol_na" ]; }; - AllSlavesActive = simp "all_slaves_active"; - MinLinks = simp "min_links"; - }; - - do = bond.driverOptions; - assertNoUnknownOption = let - knownOptions = flatten (mapAttrsToList (_: kOpts: kOpts.optNames) - driverOptionMapping); - # options that apparently don’t exist in the networkd config - unknownOptions = [ "primary" ]; - assertTrace = bool: msg: if bool then true else builtins.trace msg false; - in assert all (driverOpt: assertTrace - (elem driverOpt (knownOptions ++ unknownOptions)) - "The bond.driverOption `${driverOpt}` cannot be mapped to the list of known networkd bond options. Please add it to the mapping above the assert or to `unknownOptions` should it not exist in networkd.") - (mapAttrsToList (k: _: k) do); ""; - # get those driverOptions that have been set - filterSystemdOptions = filterAttrs (sysDOpt: kOpts: - any (kOpt: do ? ${kOpt}) kOpts.optNames); - # build final set of systemd options to bond values - buildOptionSet = mapAttrs (_: kOpts: with kOpts; - # we simply take the first set kernel bond option - # (one option has multiple names, which is silly) - head (map (optN: valTransform (do.${optN})) - # only map those that exist - (filter (o: do ? ${o}) optNames))); - in seq assertNoUnknownOption - (buildOptionSet (filterSystemdOptions driverOptionMapping)); - - }; - - networks = listToAttrs (forEach bond.interfaces (bi: - nameValuePair "40-${bi}" { - DHCP = mkOverride 0 (dhcpStr false); - networkConfig.Bond = name; - })); - }))) - (mkMerge (flip mapAttrsToList cfg.macvlans (name: macvlan: { - netdevs."40-${name}" = { - netdevConfig = { - Name = name; - Kind = "macvlan"; + "${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) { + User = i.virtualOwner; }; - macvlanConfig = optionalAttrs (macvlan.mode != null) { Mode = macvlan.mode; }; }; - networks."40-${macvlan.interface}" = { - macvlan = [ name ]; - }; - }))) - (mkMerge (flip mapAttrsToList cfg.fooOverUDP (name: fou: { - netdevs."40-${name}" = { - netdevConfig = { - Name = name; - Kind = "fou"; + }); + networks."40-${i.name}" = { + name = mkDefault i.name; + DHCP = mkForce ( + dhcpStr ( + if i.useDHCP != null then i.useDHCP else (config.networking.useDHCP && i.ipv4.addresses == [ ]) + ) + ); + address = forEach (interfaceIps i) (ip: "${ip.address}/${toString ip.prefixLength}"); + routes = forEach (interfaceRoutes i) ( + route: + mkMerge [ + # Most of these route options have not been tested. + # Please fix or report any mistakes you may find. + (mkIf (route.address != null && route.prefixLength != null) { + Destination = "${route.address}/${toString route.prefixLength}"; + }) + (mkIf (route.options ? fastopen_no_cookie) { + FastOpenNoCookie = route.options.fastopen_no_cookie; + }) + (mkIf (route.via != null) { + Gateway = route.via; + }) + (mkIf (route.type != null) { + Type = route.type; + }) + (mkIf (route.options ? onlink) { + GatewayOnLink = true; + }) + (mkIf (route.options ? initrwnd) { + InitialAdvertisedReceiveWindow = route.options.initrwnd; + }) + (mkIf (route.options ? initcwnd) { + InitialCongestionWindow = route.options.initcwnd; + }) + (mkIf (route.options ? pref) { + IPv6Preference = route.options.pref; + }) + (mkIf (route.options ? mtu) { + MTUBytes = route.options.mtu; + }) + (mkIf (route.options ? metric) { + Metric = route.options.metric; + }) + (mkIf (route.options ? src) { + PreferredSource = route.options.src; + }) + (mkIf (route.options ? protocol) { + Protocol = route.options.protocol; + }) + (mkIf (route.options ? quickack) { + QuickAck = route.options.quickack; + }) + (mkIf (route.options ? scope) { + Scope = route.options.scope; + }) + (mkIf (route.options ? from) { + Source = route.options.from; + }) + (mkIf (route.options ? table) { + Table = route.options.table; + }) + (mkIf (route.options ? advmss) { + TCPAdvertisedMaximumSegmentSize = route.options.advmss; + }) + (mkIf (route.options ? ttl-propagate) { + TTLPropagate = route.options.ttl-propagate == "enabled"; + }) + ] + ); + networkConfig.IPv6PrivacyExtensions = "kernel"; + linkConfig = + optionalAttrs (i.macAddress != null) { + MACAddress = i.macAddress; + } + // optionalAttrs (i.mtu != null) { + MTUBytes = toString i.mtu; }; - # unfortunately networkd cannot encode dependencies of netdevs on addresses/routes, - # so we cannot specify Local=, Peer=, PeerPort=. this looks like a missing feature - # in networkd. - fooOverUDPConfig = { - Port = fou.port; - Encapsulation = if fou.protocol != null then "FooOverUDP" else "GenericUDPEncapsulation"; - } // (optionalAttrs (fou.protocol != null) { - Protocol = fou.protocol; - }); - }; - }))) - (mkMerge (flip mapAttrsToList cfg.sits (name: sit: { + }; + }) + ); + + bridgeNetworks = mkMerge ( + flip mapAttrsToList cfg.bridges ( + name: bridge: { netdevs."40-${name}" = { netdevConfig = { Name = name; - Kind = "sit"; - }; - tunnelConfig = - (optionalAttrs (sit.remote != null) { - Remote = sit.remote; - }) // (optionalAttrs (sit.local != null) { - Local = sit.local; - }) // (optionalAttrs (sit.ttl != null) { - TTL = sit.ttl; - }) // (optionalAttrs (sit.encapsulation != null) ( - { - FooOverUDP = true; - Encapsulation = - if sit.encapsulation.type == "fou" - then "FooOverUDP" - else "GenericUDPEncapsulation"; - FOUDestinationPort = sit.encapsulation.port; - } // (optionalAttrs (sit.encapsulation.sourcePort != null) { - FOUSourcePort = sit.encapsulation.sourcePort; - }))); - }; - networks = mkIf (sit.dev != null) { - "40-${sit.dev}" = { - tunnel = [ name ]; + Kind = "bridge"; }; }; - }))) - (mkMerge (flip mapAttrsToList cfg.greTunnels (name: gre: { + networks = listToAttrs ( + forEach bridge.interfaces ( + bi: + nameValuePair "40-${bi}" { + DHCP = mkOverride 0 (dhcpStr false); + networkConfig.Bridge = name; + } + ) + ); + } + ) + ); + + vlanNetworks = mkMerge ( + flip mapAttrsToList cfg.vlans ( + name: vlan: { netdevs."40-${name}" = { netdevConfig = { Name = name; - Kind = gre.type; + Kind = "vlan"; }; - tunnelConfig = - (optionalAttrs (gre.remote != null) { - Remote = gre.remote; - }) // (optionalAttrs (gre.local != null) { - Local = gre.local; - }) // (optionalAttrs (gre.ttl != null) { - TTL = gre.ttl; - }); + vlanConfig.Id = vlan.id; }; - networks = mkIf (gre.dev != null) { - "40-${gre.dev}" = { - tunnel = [ name ]; - }; + networks."40-${vlan.interface}" = { + vlan = [ name ]; }; - }))) - vlanNetworks - ]; + } + ) + ); + +in + +{ + config = mkMerge [ - # We need to prefill the slaved devices with networking options - # This forces the network interface creator to initialize slaves. - networking.interfaces = listToAttrs (map (i: nameValuePair i { }) slaves); + (mkIf config.boot.initrd.network.enable { + # Note this is if initrd.network.enable, not if + # initrd.systemd.network.enable. By setting the latter and not the + # former, the user retains full control over the configuration. + boot.initrd.systemd.network = mkMerge [ + defaultGateways + (genericDhcpNetworks true) + interfaceNetworks + bridgeNetworks + vlanNetworks + ]; + boot.initrd.availableKernelModules = + optional (cfg.bridges != { }) "bridge" + ++ optional (cfg.vlans != { }) "8021q"; + }) - systemd.services = let - # We must escape interfaces due to the systemd interpretation - subsystemDevice = interface: - "sys-subsystem-net-devices-${escapeSystemdPath interface}.device"; - # support for creating openvswitch switches - createVswitchDevice = n: v: nameValuePair "${n}-netdev" - (let - deps = map subsystemDevice (attrNames (filterAttrs (_: config: config.type != "internal") v.interfaces)); - ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules; - in - { description = "Open vSwitch Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; - # and create bridge before systemd-networkd starts because it might create internal interfaces - before = [ "systemd-networkd.service" ]; - # shutdown the bridge when network is shutdown - partOf = [ "network.target" ]; - # requires ovs-vswitchd to be alive at all times - bindsTo = [ "ovs-vswitchd.service" ]; - # start switch after physical interfaces and vswitch daemon - after = [ "network-pre.target" "ovs-vswitchd.service" ] ++ deps; - wants = deps; # if one or more interface fails, the switch should continue to run - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - path = [ pkgs.iproute2 config.virtualisation.vswitch.package ]; - preStart = '' - echo "Resetting Open vSwitch ${n}..." - ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \ - -- set bridge ${n} protocols=${concatStringsSep "," v.supportedOpenFlowVersions} - ''; - script = '' - echo "Configuring Open vSwitch ${n}..." - ovs-vsctl ${concatStrings (mapAttrsToList (name: config: " -- add-port ${n} ${name}" + optionalString (config.vlan != null) " tag=${toString config.vlan}") v.interfaces)} \ - ${concatStrings (mapAttrsToList (name: config: optionalString (config.type != null) " -- set interface ${name} type=${config.type}") v.interfaces)} \ - ${concatMapStrings (x: " -- set-controller ${n} " + x) v.controllers} \ - ${concatMapStrings (x: " -- " + x) (splitString "\n" v.extraOvsctlCmds)} + (mkIf cfg.useNetworkd { + assertions = + [ + { + assertion = cfg.defaultGatewayWindowSize == null; + message = "networking.defaultGatewayWindowSize is not supported by networkd."; + } + { + assertion = cfg.defaultGateway != null -> cfg.defaultGateway.interface != null; + message = "networking.defaultGateway.interface is not optional when using networkd."; + } + { + assertion = cfg.defaultGateway6 != null -> cfg.defaultGateway6.interface != null; + message = "networking.defaultGateway6.interface is not optional when using networkd."; + } + ] + ++ flip mapAttrsToList cfg.bridges ( + n: + { rstp, ... }: + { + assertion = !rstp; + message = "networking.bridges.${n}.rstp is not supported by networkd."; + } + ) + ++ flip mapAttrsToList cfg.fooOverUDP ( + n: + { local, ... }: + { + assertion = local == null; + message = "networking.fooOverUDP.${n}.local is not supported by networkd."; + } + ); - echo "Adding OpenFlow rules for Open vSwitch ${n}..." - ovs-ofctl --protocols=${v.openFlowVersion} add-flows ${n} ${ofRules} - ''; - postStop = '' - echo "Cleaning Open vSwitch ${n}" - echo "Shutting down internal ${n} interface" - ip link set dev ${n} down || true - echo "Deleting flows for ${n}" - ovs-ofctl --protocols=${v.openFlowVersion} del-flows ${n} || true - echo "Deleting Open vSwitch ${n}" - ovs-vsctl --if-exists del-br ${n} || true - ''; - }); - in mapAttrs' createVswitchDevice cfg.vswitches - // { - "network-local-commands" = { - after = [ "systemd-networkd.service" ]; - bindsTo = [ "systemd-networkd.service" ]; + networking.dhcpcd.enable = mkDefault false; + + systemd.network = mkMerge [ + { + enable = true; + } + defaultGateways + (genericDhcpNetworks false) + interfaceNetworks + bridgeNetworks + (mkMerge ( + flip mapAttrsToList cfg.bonds ( + name: bond: { + netdevs."40-${name}" = { + netdevConfig = { + Name = name; + Kind = "bond"; + }; + bondConfig = + let + # manual mapping as of 2017-02-03 + # man 5 systemd.netdev [BOND] + # to https://www.kernel.org/doc/Documentation/networking/bonding.txt + # driver options. + driverOptionMapping = + let + trans = f: optName: { + valTransform = f; + optNames = [ optName ]; + }; + simp = trans id; + ms = trans (v: v + "ms"); + in + { + Mode = simp "mode"; + TransmitHashPolicy = simp "xmit_hash_policy"; + LACPTransmitRate = simp "lacp_rate"; + MIIMonitorSec = ms "miimon"; + UpDelaySec = ms "updelay"; + DownDelaySec = ms "downdelay"; + LearnPacketIntervalSec = simp "lp_interval"; + AdSelect = simp "ad_select"; + FailOverMACPolicy = simp "fail_over_mac"; + ARPValidate = simp "arp_validate"; + # apparently in ms for this value?! Upstream bug? + ARPIntervalSec = simp "arp_interval"; + ARPIPTargets = simp "arp_ip_target"; + ARPAllTargets = simp "arp_all_targets"; + PrimaryReselectPolicy = simp "primary_reselect"; + ResendIGMP = simp "resend_igmp"; + PacketsPerSlave = simp "packets_per_slave"; + GratuitousARP = { + valTransform = id; + optNames = [ + "num_grat_arp" + "num_unsol_na" + ]; + }; + AllSlavesActive = simp "all_slaves_active"; + MinLinks = simp "min_links"; + }; + + do = bond.driverOptions; + assertNoUnknownOption = + let + knownOptions = flatten (mapAttrsToList (_: kOpts: kOpts.optNames) driverOptionMapping); + # options that apparently don’t exist in the networkd config + unknownOptions = [ "primary" ]; + assertTrace = bool: msg: if bool then true else builtins.trace msg false; + in + assert all ( + driverOpt: + assertTrace (elem driverOpt (knownOptions ++ unknownOptions)) + "The bond.driverOption `${driverOpt}` cannot be mapped to the list of known networkd bond options. Please add it to the mapping above the assert or to `unknownOptions` should it not exist in networkd." + ) (mapAttrsToList (k: _: k) do); + ""; + # get those driverOptions that have been set + filterSystemdOptions = filterAttrs (sysDOpt: kOpts: any (kOpt: do ? ${kOpt}) kOpts.optNames); + # build final set of systemd options to bond values + buildOptionSet = mapAttrs ( + _: kOpts: + with kOpts; + # we simply take the first set kernel bond option + # (one option has multiple names, which is silly) + head ( + map (optN: valTransform (do.${optN})) + # only map those that exist + (filter (o: do ? ${o}) optNames) + ) + ); + in + seq assertNoUnknownOption (buildOptionSet (filterSystemdOptions driverOptionMapping)); + + }; + + networks = listToAttrs ( + forEach bond.interfaces ( + bi: + nameValuePair "40-${bi}" { + DHCP = mkOverride 0 (dhcpStr false); + networkConfig.Bond = name; + } + ) + ); + } + ) + )) + (mkMerge ( + flip mapAttrsToList cfg.macvlans ( + name: macvlan: { + netdevs."40-${name}" = { + netdevConfig = { + Name = name; + Kind = "macvlan"; + }; + macvlanConfig = optionalAttrs (macvlan.mode != null) { Mode = macvlan.mode; }; + }; + networks."40-${macvlan.interface}" = { + macvlan = [ name ]; + }; + } + ) + )) + (mkMerge ( + flip mapAttrsToList cfg.fooOverUDP ( + name: fou: { + netdevs."40-${name}" = { + netdevConfig = { + Name = name; + Kind = "fou"; + }; + # unfortunately networkd cannot encode dependencies of netdevs on addresses/routes, + # so we cannot specify Local=, Peer=, PeerPort=. this looks like a missing feature + # in networkd. + fooOverUDPConfig = + { + Port = fou.port; + Encapsulation = if fou.protocol != null then "FooOverUDP" else "GenericUDPEncapsulation"; + } + // (optionalAttrs (fou.protocol != null) { + Protocol = fou.protocol; + }); + }; + } + ) + )) + (mkMerge ( + flip mapAttrsToList cfg.sits ( + name: sit: { + netdevs."40-${name}" = { + netdevConfig = { + Name = name; + Kind = "sit"; + }; + tunnelConfig = + (optionalAttrs (sit.remote != null) { + Remote = sit.remote; + }) + // (optionalAttrs (sit.local != null) { + Local = sit.local; + }) + // (optionalAttrs (sit.ttl != null) { + TTL = sit.ttl; + }) + // (optionalAttrs (sit.encapsulation != null) ( + { + FooOverUDP = true; + Encapsulation = if sit.encapsulation.type == "fou" then "FooOverUDP" else "GenericUDPEncapsulation"; + FOUDestinationPort = sit.encapsulation.port; + } + // (optionalAttrs (sit.encapsulation.sourcePort != null) { + FOUSourcePort = sit.encapsulation.sourcePort; + }) + )); + }; + networks = mkIf (sit.dev != null) { + "40-${sit.dev}" = { + tunnel = [ name ]; + }; + }; + } + ) + )) + (mkMerge ( + flip mapAttrsToList cfg.greTunnels ( + name: gre: { + netdevs."40-${name}" = { + netdevConfig = { + Name = name; + Kind = gre.type; + }; + tunnelConfig = + (optionalAttrs (gre.remote != null) { + Remote = gre.remote; + }) + // (optionalAttrs (gre.local != null) { + Local = gre.local; + }) + // (optionalAttrs (gre.ttl != null) { + TTL = gre.ttl; + }); + }; + networks = mkIf (gre.dev != null) { + "40-${gre.dev}" = { + tunnel = [ name ]; + }; + }; + } + ) + )) + vlanNetworks + ]; + + # We need to prefill the slaved devices with networking options + # This forces the network interface creator to initialize slaves. + networking.interfaces = listToAttrs (map (i: nameValuePair i { }) slaves); + + systemd.services = + let + # We must escape interfaces due to the systemd interpretation + subsystemDevice = interface: "sys-subsystem-net-devices-${escapeSystemdPath interface}.device"; + # support for creating openvswitch switches + createVswitchDevice = + n: v: + nameValuePair "${n}-netdev" ( + let + deps = map subsystemDevice ( + attrNames (filterAttrs (_: config: config.type != "internal") v.interfaces) + ); + ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules; + in + { + description = "Open vSwitch Interface ${n}"; + wantedBy = [ + "network.target" + (subsystemDevice n) + ]; + # and create bridge before systemd-networkd starts because it might create internal interfaces + before = [ "systemd-networkd.service" ]; + # shutdown the bridge when network is shutdown + partOf = [ "network.target" ]; + # requires ovs-vswitchd to be alive at all times + bindsTo = [ "ovs-vswitchd.service" ]; + # start switch after physical interfaces and vswitch daemon + after = [ + "network-pre.target" + "ovs-vswitchd.service" + ] ++ deps; + wants = deps; # if one or more interface fails, the switch should continue to run + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + path = [ + pkgs.iproute2 + config.virtualisation.vswitch.package + ]; + preStart = '' + echo "Resetting Open vSwitch ${n}..." + ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \ + -- set bridge ${n} protocols=${concatStringsSep "," v.supportedOpenFlowVersions} + ''; + script = '' + echo "Configuring Open vSwitch ${n}..." + ovs-vsctl ${ + concatStrings ( + mapAttrsToList ( + name: config: + " -- add-port ${n} ${name}" + optionalString (config.vlan != null) " tag=${toString config.vlan}" + ) v.interfaces + ) + } \ + ${ + concatStrings ( + mapAttrsToList ( + name: config: optionalString (config.type != null) " -- set interface ${name} type=${config.type}" + ) v.interfaces + ) + } \ + ${concatMapStrings (x: " -- set-controller ${n} " + x) v.controllers} \ + ${concatMapStrings (x: " -- " + x) (splitString "\n" v.extraOvsctlCmds)} + + + echo "Adding OpenFlow rules for Open vSwitch ${n}..." + ovs-ofctl --protocols=${v.openFlowVersion} add-flows ${n} ${ofRules} + ''; + postStop = '' + echo "Cleaning Open vSwitch ${n}" + echo "Shutting down internal ${n} interface" + ip link set dev ${n} down || true + echo "Deleting flows for ${n}" + ovs-ofctl --protocols=${v.openFlowVersion} del-flows ${n} || true + echo "Deleting Open vSwitch ${n}" + ovs-vsctl --if-exists del-br ${n} || true + ''; + } + ); + in + mapAttrs' createVswitchDevice cfg.vswitches + // { + "network-local-commands" = { + after = [ "systemd-networkd.service" ]; + bindsTo = [ "systemd-networkd.service" ]; }; - }; - }) + }; + }) ]; } diff --git a/nixos/modules/tasks/powertop.nix b/nixos/modules/tasks/powertop.nix index e8064f9fa80c6..2483f29675cc8 100644 --- a/nixos/modules/tasks/powertop.nix +++ b/nixos/modules/tasks/powertop.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.powerManagement.powertop; -in { +in +{ ###### interface options.powerManagement.powertop.enable = mkEnableOption "powertop auto tuning on startup"; diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix index 549c35fc5b8d7..289d075e19be0 100644 --- a/nixos/modules/tasks/scsi-link-power-management.nix +++ b/nixos/modules/tasks/scsi-link-power-management.nix @@ -36,7 +36,6 @@ in }; - ###### implementation config = mkIf (cfg != null) { diff --git a/nixos/modules/tasks/stratis.nix b/nixos/modules/tasks/stratis.nix index f4bb09a89e7ff..7c16fff894ab7 100644 --- a/nixos/modules/tasks/stratis.nix +++ b/nixos/modules/tasks/stratis.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.stratis; diff --git a/nixos/modules/tasks/swraid.nix b/nixos/modules/tasks/swraid.nix index ad9b1ab0fa1a1..01bc91b1b896b 100644 --- a/nixos/modules/tasks/swraid.nix +++ b/nixos/modules/tasks/swraid.nix @@ -1,4 +1,10 @@ -{ config, pkgs, lib, ... }: let +{ + config, + pkgs, + lib, + ... +}: +let cfg = config.boot.swraid; @@ -6,16 +12,22 @@ enable_implicitly_for_old_state_versions = lib.versionOlder config.system.stateVersion "23.11"; - minimum_config_is_set = config_text: - (builtins.match ".*(MAILADDR|PROGRAM).*" mdadm_conf.text) != null; + minimum_config_is_set = + config_text: (builtins.match ".*(MAILADDR|PROGRAM).*" mdadm_conf.text) != null; -in { +in +{ imports = [ - (lib.mkRenamedOptionModule [ "boot" "initrd" "services" "swraid" "enable" ] [ "boot" "swraid" "enable" ]) - (lib.mkRenamedOptionModule [ "boot" "initrd" "services" "swraid" "mdadmConf" ] [ "boot" "swraid" "mdadmConf" ]) + (lib.mkRenamedOptionModule + [ "boot" "initrd" "services" "swraid" "enable" ] + [ "boot" "swraid" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "boot" "initrd" "services" "swraid" "mdadmConf" ] + [ "boot" "swraid" "mdadmConf" ] + ) ]; - options.boot.swraid = { enable = lib.mkEnableOption "swraid support using mdadm" // { description = '' @@ -43,9 +55,11 @@ in { }; config = lib.mkIf cfg.enable { - warnings = lib.mkIf - ( !enable_implicitly_for_old_state_versions && !minimum_config_is_set mdadm_conf) - [ "mdadm: Neither MAILADDR nor PROGRAM has been set. This will cause the `mdmon` service to crash." ]; + warnings = + lib.mkIf (!enable_implicitly_for_old_state_versions && !minimum_config_is_set mdadm_conf) + [ + "mdadm: Neither MAILADDR nor PROGRAM has been set. This will cause the `mdmon` service to crash." + ]; environment.systemPackages = [ pkgs.mdadm ]; @@ -56,7 +70,13 @@ in { systemd.packages = [ pkgs.mdadm ]; boot.initrd = { - availableKernelModules = [ "md_mod" "raid0" "raid1" "raid10" "raid456" ]; + availableKernelModules = [ + "md_mod" + "raid0" + "raid1" + "raid10" + "raid456" + ]; extraUdevRulesCommands = lib.mkIf (!config.boot.initrd.systemd.enable) '' cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/ diff --git a/nixos/modules/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix index 0859f83fcef54..4d4dc73bd5cbd 100644 --- a/nixos/modules/tasks/trackpoint.nix +++ b/nixos/modules/tasks/trackpoint.nix @@ -68,48 +68,56 @@ with lib; }; - ###### implementation config = - let cfg = config.hardware.trackpoint; in - mkMerge [ - (mkIf cfg.enable { - services.udev.extraRules = - '' - ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="${cfg.device}", ATTR{device/speed}="${toString cfg.speed}", ATTR{device/sensitivity}="${toString cfg.sensitivity}" - ''; - - systemd.services.trackpoint = { - wantedBy = [ "sysinit.target" ] ; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig.DefaultDependencies = false; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - serviceConfig.ExecStart = '' - ${config.systemd.package}/bin/udevadm trigger --attr-match=name="${cfg.device}" + let + cfg = config.hardware.trackpoint; + in + mkMerge [ + (mkIf cfg.enable { + services.udev.extraRules = '' + ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="${cfg.device}", ATTR{device/speed}="${toString cfg.speed}", ATTR{device/sensitivity}="${toString cfg.sensitivity}" ''; - }; - }) - - (mkIf (cfg.emulateWheel) { - services.xserver.inputClassSections = [ - '' - Identifier "Trackpoint Wheel Emulation" - MatchProduct "${if cfg.fakeButtons then "PS/2 Generic Mouse" else "ETPS/2 Elantech TrackPoint|Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint|${cfg.device}"}" - MatchDevicePath "/dev/input/event*" - Option "EmulateWheel" "true" - Option "EmulateWheelButton" "2" - Option "Emulate3Buttons" "false" - Option "XAxisMapping" "6 7" - Option "YAxisMapping" "4 5" - '' - ]; - }) - - (mkIf cfg.fakeButtons { - boot.extraModprobeConfig = "options psmouse proto=bare"; - }) - ]; + + systemd.services.trackpoint = { + wantedBy = [ "sysinit.target" ]; + before = [ + "sysinit.target" + "shutdown.target" + ]; + conflicts = [ "shutdown.target" ]; + unitConfig.DefaultDependencies = false; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + serviceConfig.ExecStart = '' + ${config.systemd.package}/bin/udevadm trigger --attr-match=name="${cfg.device}" + ''; + }; + }) + + (mkIf (cfg.emulateWheel) { + services.xserver.inputClassSections = [ + '' + Identifier "Trackpoint Wheel Emulation" + MatchProduct "${ + if cfg.fakeButtons then + "PS/2 Generic Mouse" + else + "ETPS/2 Elantech TrackPoint|Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint|${cfg.device}" + }" + MatchDevicePath "/dev/input/event*" + Option "EmulateWheel" "true" + Option "EmulateWheelButton" "2" + Option "Emulate3Buttons" "false" + Option "XAxisMapping" "6 7" + Option "YAxisMapping" "4 5" + '' + ]; + }) + + (mkIf cfg.fakeButtons { + boot.extraModprobeConfig = "options psmouse proto=bare"; + }) + ]; } diff --git a/nixos/modules/testing/service-runner.nix b/nixos/modules/testing/service-runner.nix index 9060be3cca112..d610c7a8a98c6 100644 --- a/nixos/modules/testing/service-runner.nix +++ b/nixos/modules/testing/service-runner.nix @@ -4,8 +4,9 @@ with lib; let - makeScript = name: service: pkgs.writeScript "${name}-runner" - '' + makeScript = + name: service: + pkgs.writeScript "${name}-runner" '' #! ${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl -w use File::Slurp; @@ -46,13 +47,15 @@ let next if $key eq 'LOCALE_ARCHIVE'; delete $ENV{$key}; } - ${concatStrings (mapAttrsToList (n: v: '' - $ENV{'${n}'} = '${v}'; - '') service.environment)} + ${concatStrings ( + mapAttrsToList (n: v: '' + $ENV{'${n}'} = '${v}'; + '') service.environment + )} # Run the ExecStartPre program. FIXME: this could be a list. my $preStart = < Extracting Anbox root image..." - unsquashfs -dest rootfs ${cfg.image} - - echo "-> Modifying Anbox root image..." - ( - cd rootfs - ${cfg.imageModifications} - ) - - echo "-> Packing modified Anbox root image..." - mksquashfs rootfs $out -comp xz -no-xattrs -all-root - '' - ) { }); + finalImage = + if cfg.imageModifications == "" then + cfg.image + else + (pkgs.callPackage ( + { runCommandNoCC, squashfsTools }: + + runCommandNoCC "${cfg.image.name}-modified.img" + { + nativeBuildInputs = [ + squashfsTools + ]; + } + '' + echo "-> Extracting Anbox root image..." + unsquashfs -dest rootfs ${cfg.image} + + echo "-> Modifying Anbox root image..." + ( + cd rootfs + ${cfg.imageModifications} + ) + + echo "-> Packing modified Anbox root image..." + mksquashfs rootfs $out -comp xz -no-xattrs -all-root + '' + ) { }); in @@ -116,7 +127,7 @@ in }; virtualisation.lxc.enable = true; - networking.bridges.anbox0.interfaces = []; + networking.bridges.anbox0.interfaces = [ ]; networking.interfaces.anbox0.ipv4.addresses = [ cfg.ipv4.gateway ]; networking.nat = { @@ -127,50 +138,57 @@ in # Ensures NetworkManager doesn't touch anbox0 networking.networkmanager.unmanaged = [ "anbox0" ]; - systemd.services.anbox-container-manager = let - anboxloc = "/var/lib/anbox"; - in { - description = "Anbox Container Management Daemon"; - - environment.XDG_RUNTIME_DIR="${anboxloc}"; - - wantedBy = [ "multi-user.target" ]; - preStart = let - initsh = pkgs.writeText "nixos-init" ('' - #!/system/bin/sh - setprop nixos.version ${config.system.nixos.version} - - # we don't have radio - setprop ro.radio.noril yes - stop ril-daemon - - # speed up boot - setprop debug.sf.nobootanimation 1 - '' + cfg.extraInit); - initshloc = "${anboxloc}/rootfs-overlay/system/etc/init.goldfish.sh"; - in '' - mkdir -p ${anboxloc} - mkdir -p $(dirname ${initshloc}) - [ -f ${initshloc} ] && rm ${initshloc} - cp ${initsh} ${initshloc} - chown 100000:100000 ${initshloc} - chmod +x ${initshloc} - ''; - - serviceConfig = { - ExecStart = '' - ${pkgs.anbox}/bin/anbox container-manager \ - --data-path=${anboxloc} \ - --android-image=${finalImage} \ - --container-network-address=${cfg.ipv4.container.address} \ - --container-network-gateway=${cfg.ipv4.gateway.address} \ - --container-network-dns-servers=${cfg.ipv4.dns} \ - --use-rootfs-overlay \ - --privileged \ - --daemon - ''; + systemd.services.anbox-container-manager = + let + anboxloc = "/var/lib/anbox"; + in + { + description = "Anbox Container Management Daemon"; + + environment.XDG_RUNTIME_DIR = "${anboxloc}"; + + wantedBy = [ "multi-user.target" ]; + preStart = + let + initsh = pkgs.writeText "nixos-init" ( + '' + #!/system/bin/sh + setprop nixos.version ${config.system.nixos.version} + + # we don't have radio + setprop ro.radio.noril yes + stop ril-daemon + + # speed up boot + setprop debug.sf.nobootanimation 1 + '' + + cfg.extraInit + ); + initshloc = "${anboxloc}/rootfs-overlay/system/etc/init.goldfish.sh"; + in + '' + mkdir -p ${anboxloc} + mkdir -p $(dirname ${initshloc}) + [ -f ${initshloc} ] && rm ${initshloc} + cp ${initsh} ${initshloc} + chown 100000:100000 ${initshloc} + chmod +x ${initshloc} + ''; + + serviceConfig = { + ExecStart = '' + ${pkgs.anbox}/bin/anbox container-manager \ + --data-path=${anboxloc} \ + --android-image=${finalImage} \ + --container-network-address=${cfg.ipv4.container.address} \ + --container-network-gateway=${cfg.ipv4.gateway.address} \ + --container-network-dns-servers=${cfg.ipv4.dns} \ + --use-rootfs-overlay \ + --privileged \ + --daemon + ''; + }; }; - }; }; } diff --git a/nixos/modules/virtualisation/appvm.nix b/nixos/modules/virtualisation/appvm.nix index 852244c5d98b3..ef255dca43263 100644 --- a/nixos/modules/virtualisation/appvm.nix +++ b/nixos/modules/virtualisation/appvm.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -6,7 +11,8 @@ let cfg = config.virtualisation.appvm; -in { +in +{ options = { virtualisation.appvm = { @@ -46,4 +52,3 @@ in { }; } - diff --git a/nixos/modules/virtualisation/azure-bootstrap-blobs.nix b/nixos/modules/virtualisation/azure-bootstrap-blobs.nix index 281be9a123185..bab683ce65f81 100644 --- a/nixos/modules/virtualisation/azure-bootstrap-blobs.nix +++ b/nixos/modules/virtualisation/azure-bootstrap-blobs.nix @@ -1,3 +1,4 @@ { - "16.03" = "https://nixos.blob.core.windows.net/images/nixos-image-16.03.847.8688c17-x86_64-linux.vhd"; + "16.03" = + "https://nixos.blob.core.windows.net/images/nixos-image-16.03.847.8688c17-x86_64-linux.vhd"; } diff --git a/nixos/modules/virtualisation/build-vm.nix b/nixos/modules/virtualisation/build-vm.nix index 7e279a27364da..b9db26b78c233 100644 --- a/nixos/modules/virtualisation/build-vm.nix +++ b/nixos/modules/virtualisation/build-vm.nix @@ -1,4 +1,9 @@ -{ config, extendModules, lib, ... }: +{ + config, + extendModules, + lib, + ... +}: let inherit (lib) @@ -11,13 +16,15 @@ let vmVariantWithBootLoader = vmVariant.extendModules { modules = [ - ({ config, ... }: { - _file = "nixos/default.nix##vmWithBootLoader"; - virtualisation.useBootLoader = true; - virtualisation.useEFIBoot = - config.boot.loader.systemd-boot.enable || - config.boot.loader.efi.canTouchEfiVariables; - }) + ( + { config, ... }: + { + _file = "nixos/default.nix##vmWithBootLoader"; + virtualisation.useBootLoader = true; + virtualisation.useEFIBoot = + config.boot.loader.systemd-boot.enable || config.boot.loader.efi.canTouchEfiVariables; + } + ) ]; }; in @@ -29,7 +36,7 @@ in Machine configuration to be added for the vm script produced by `nixos-rebuild build-vm`. ''; inherit (vmVariant) type; - default = {}; + default = { }; visible = "shallow"; }; @@ -38,7 +45,7 @@ in Machine configuration to be added for the vm script produced by `nixos-rebuild build-vm-with-bootloader`. ''; inherit (vmVariantWithBootLoader) type; - default = {}; + default = { }; visible = "shallow"; }; diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index 2460ec45e3fca..275ae2ec78acd 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; diff --git a/nixos/modules/virtualisation/containerd.nix b/nixos/modules/virtualisation/containerd.nix index edb22a855d54a..9e061f8511261 100644 --- a/nixos/modules/virtualisation/containerd.nix +++ b/nixos/modules/virtualisation/containerd.nix @@ -1,20 +1,29 @@ -{ pkgs, lib, config, ... }: +{ + pkgs, + lib, + config, + ... +}: let cfg = config.virtualisation.containerd; - configFile = if cfg.configFile == null then - settingsFormat.generate "containerd.toml" cfg.settings - else - cfg.configFile; + configFile = + if cfg.configFile == null then + settingsFormat.generate "containerd.toml" cfg.settings + else + cfg.configFile; - containerdConfigChecked = pkgs.runCommand "containerd-config-checked.toml" { - nativeBuildInputs = [ pkgs.containerd ]; - } '' - containerd -c ${configFile} config dump >/dev/null - ln -s ${configFile} $out - ''; + containerdConfigChecked = + pkgs.runCommand "containerd-config-checked.toml" + { + nativeBuildInputs = [ pkgs.containerd ]; + } + '' + containerd -c ${configFile} config dump >/dev/null + ln -s ${configFile} $out + ''; - settingsFormat = pkgs.formats.toml {}; + settingsFormat = pkgs.formats.toml { }; in { @@ -24,22 +33,22 @@ in configFile = lib.mkOption { default = null; description = '' - Path to containerd config file. - Setting this option will override any configuration applied by the settings option. + Path to containerd config file. + Setting this option will override any configuration applied by the settings option. ''; type = nullOr path; }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Verbatim lines to add to containerd.toml ''; }; args = lib.mkOption { - default = {}; + default = { }; description = "extra args to append to the containerd cmdline"; type = attrsOf str; }; @@ -55,9 +64,8 @@ in settings = { version = 2; plugins."io.containerd.grpc.v1.cri" = { - containerd.snapshotter = - lib.mkIf config.boot.zfs.enabled (lib.mkOptionDefault "zfs"); - cni.bin_dir = lib.mkOptionDefault "${pkgs.cni-plugins}/bin"; + containerd.snapshotter = lib.mkIf config.boot.zfs.enabled (lib.mkOptionDefault "zfs"); + cni.bin_dir = lib.mkOptionDefault "${pkgs.cni-plugins}/bin"; }; }; }; @@ -67,14 +75,23 @@ in systemd.services.containerd = { description = "containerd - container runtime"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "local-fs.target" "dbus.service" ]; - path = with pkgs; [ - containerd - runc - iptables - ] ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package; + after = [ + "network.target" + "local-fs.target" + "dbus.service" + ]; + path = + with pkgs; + [ + containerd + runc + iptables + ] + ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package; serviceConfig = { - ExecStart = ''${pkgs.containerd}/bin/containerd ${lib.concatStringsSep " " (lib.cli.toGNUCommandLine {} cfg.args)}''; + ExecStart = ''${pkgs.containerd}/bin/containerd ${ + lib.concatStringsSep " " (lib.cli.toGNUCommandLine { } cfg.args) + }''; Delegate = "yes"; KillMode = "process"; Type = "notify"; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index c3639f660dfe3..4e07ec3d32bd6 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.virtualisation.containers; @@ -13,14 +18,13 @@ in options.virtualisation.containers = { - enable = - mkOption { - type = types.bool; - default = false; - description = '' - This option enables the common /etc/containers configuration module. - ''; - }; + enable = mkOption { + type = types.bool; + default = false; + description = '' + This option enables the common /etc/containers configuration module. + ''; + }; ociSeccompBpfHook.enable = mkOption { type = types.bool; @@ -59,7 +63,10 @@ in registries = { search = mkOption { type = types.listOf types.str; - default = [ "docker.io" "quay.io" ]; + default = [ + "docker.io" + "quay.io" + ]; description = '' List of repositories to search. ''; @@ -110,11 +117,13 @@ in virtualisation.containers.containersConf.settings = { network.cni_plugin_dirs = map (p: "${lib.getBin p}/bin") cfg.containersConf.cniPlugins; - engine = { - init_path = "${pkgs.catatonit}/bin/catatonit"; - } // lib.optionalAttrs cfg.ociSeccompBpfHook.enable { - hooks_dir = [ config.boot.kernelPackages.oci-seccomp-bpf-hook ]; - }; + engine = + { + init_path = "${pkgs.catatonit}/bin/catatonit"; + } + // lib.optionalAttrs cfg.ociSeccompBpfHook.enable { + hooks_dir = [ config.boot.kernelPackages.oci-seccomp-bpf-hook ]; + }; }; virtualisation.containers.storage.settings.storage = { @@ -124,19 +133,19 @@ in }; environment.etc = { - "containers/containers.conf".source = - toml.generate "containers.conf" cfg.containersConf.settings; + "containers/containers.conf".source = toml.generate "containers.conf" cfg.containersConf.settings; - "containers/storage.conf".source = - toml.generate "storage.conf" cfg.storage.settings; + "containers/storage.conf".source = toml.generate "storage.conf" cfg.storage.settings; "containers/registries.conf".source = toml.generate "registries.conf" { registries = lib.mapAttrs (n: v: { registries = v; }) cfg.registries; }; "containers/policy.json".source = - if cfg.policy != { } then pkgs.writeText "policy.json" (builtins.toJSON cfg.policy) - else "${pkgs.skopeo.policy}/default-policy.json"; + if cfg.policy != { } then + pkgs.writeText "policy.json" (builtins.toJSON cfg.policy) + else + "${pkgs.skopeo.policy}/default-policy.json"; }; }; diff --git a/nixos/modules/virtualisation/cri-o.nix b/nixos/modules/virtualisation/cri-o.nix index 78f414ffce6b6..973bccc83891f 100644 --- a/nixos/modules/virtualisation/cri-o.nix +++ b/nixos/modules/virtualisation/cri-o.nix @@ -1,11 +1,17 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.virtualisation.cri-o; crioPackage = pkgs.cri-o.override { - extraPackages = cfg.extraPackages + extraPackages = + cfg.extraPackages ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; }; @@ -22,13 +28,27 @@ in enable = mkEnableOption "Container Runtime Interface for OCI (CRI-O)"; storageDriver = mkOption { - type = types.enum [ "aufs" "btrfs" "devmapper" "overlay" "vfs" "zfs" ]; + type = types.enum [ + "aufs" + "btrfs" + "devmapper" + "overlay" + "vfs" + "zfs" + ]; default = "overlay"; description = "Storage driver to be used"; }; logLevel = mkOption { - type = types.enum [ "trace" "debug" "info" "warn" "error" "fatal" ]; + type = types.enum [ + "trace" + "debug" + "info" + "warn" + "error" + "fatal" + ]; default = "info"; description = "Log level to be used"; }; @@ -94,7 +114,10 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = [ cfg.package pkgs.cri-tools ]; + environment.systemPackages = [ + cfg.package + pkgs.cri-tools + ]; environment.etc."crictl.yaml".source = "${cfg.package}/etc/crictl.yaml"; @@ -116,9 +139,7 @@ in log_level = cfg.logLevel; manage_ns_lifecycle = true; pinns_path = "${cfg.package}/bin/pinns"; - hooks_dir = - optional (config.virtualisation.containers.ociSeccompBpfHook.enable) - config.boot.kernelPackages.oci-seccomp-bpf-hook; + hooks_dir = optional (config.virtualisation.containers.ociSeccompBpfHook.enable) config.boot.kernelPackages.oci-seccomp-bpf-hook; default_runtime = mkIf (cfg.runtime != null) cfg.runtime; runtimes = mkIf (cfg.runtime != null) { @@ -127,8 +148,10 @@ in }; }; - environment.etc."cni/net.d/10-crio-bridge.conflist".source = "${cfg.package}/etc/cni/net.d/10-crio-bridge.conflist"; - environment.etc."cni/net.d/99-loopback.conflist".source = "${cfg.package}/etc/cni/net.d/99-loopback.conflist"; + environment.etc."cni/net.d/10-crio-bridge.conflist".source = + "${cfg.package}/etc/cni/net.d/10-crio-bridge.conflist"; + environment.etc."cni/net.d/99-loopback.conflist".source = + "${cfg.package}/etc/cni/net.d/99-loopback.conflist"; environment.etc."crio/crio.conf.d/00-default.conf".source = cfgFile; # Enable common /etc/containers configuration diff --git a/nixos/modules/virtualisation/digital-ocean-init.nix b/nixos/modules/virtualisation/digital-ocean-init.nix index b8ccd218d20a2..b28e512255e38 100644 --- a/nixos/modules/virtualisation/digital-ocean-init.nix +++ b/nixos/modules/virtualisation/digital-ocean-init.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.virtualisation.digitalOcean; @@ -10,7 +15,8 @@ let ]; } ''; -in { +in +{ options.virtualisation.digitalOcean.rebuildFromUserData = mkOption { type = types.bool; default = true; @@ -37,7 +43,10 @@ in { wantedBy = [ "network-online.target" ]; unitConfig = { ConditionPathExists = "!/etc/nixos/do-userdata.nix"; - After = [ "digitalocean-metadata.service" "network-online.target" ]; + After = [ + "digitalocean-metadata.service" + "network-online.target" + ]; Requires = [ "digitalocean-metadata.service" ]; X-StopOnRemoval = false; }; @@ -46,7 +55,14 @@ in { RemainAfterExit = true; }; restartIfChanged = false; - path = [ pkgs.jq pkgs.gnused pkgs.gnugrep config.systemd.package config.nix.package config.system.build.nixos-rebuild ]; + path = [ + pkgs.jq + pkgs.gnused + pkgs.gnugrep + config.systemd.package + config.nix.package + config.system.build.nixos-rebuild + ]; environment = { HOME = "/root"; NIX_PATH = concatStringsSep ":" [ @@ -88,8 +104,11 @@ in { else echo "no user data is available" fi - ''; + ''; }; }; - meta.maintainers = with maintainers; [ arianvp eamsden ]; + meta.maintainers = with maintainers; [ + arianvp + eamsden + ]; } diff --git a/nixos/modules/virtualisation/docker-image.nix b/nixos/modules/virtualisation/docker-image.nix index baac3a35a78e4..31136231339cd 100644 --- a/nixos/modules/virtualisation/docker-image.nix +++ b/nixos/modules/virtualisation/docker-image.nix @@ -5,11 +5,10 @@ ../profiles/docker-container.nix # FIXME, shouldn't include something from profiles/ ]; - boot.postBootCommands = - '' - # Set virtualisation to docker - echo "docker" > /run/systemd/container - ''; + boot.postBootCommands = '' + # Set virtualisation to docker + echo "docker" > /run/systemd/container + ''; # Iptables do not work in Docker. networking.firewall.enable = false; diff --git a/nixos/modules/virtualisation/docker-rootless.nix b/nixos/modules/virtualisation/docker-rootless.nix index 15b9f16eefefc..c1d8ea38a0bb0 100644 --- a/nixos/modules/virtualisation/docker-rootless.nix +++ b/nixos/modules/virtualisation/docker-rootless.nix @@ -1,9 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.virtualisation.docker.rootless; proxy_env = config.networking.proxy.envVars; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; daemonSettingsFile = settingsFormat.generate "daemon.json" cfg.daemon.settings; in diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix index 1ffb326ba7a87..e94560c989710 100644 --- a/nixos/modules/virtualisation/ec2-amis.nix +++ b/nixos/modules/virtualisation/ec2-amis.nix @@ -6,4 +6,4 @@ let doAllVersions = mapAttrs (versionName: doRegion); doRegion = mapAttrs (regionName: systems: systems.x86_64-linux); in - doAllVersions everything +doAllVersions everything diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix index 2da271a59236f..e3df23dfff6a7 100644 --- a/nixos/modules/virtualisation/ec2-data.nix +++ b/nixos/modules/virtualisation/ec2-data.nix @@ -2,7 +2,12 @@ # authorized client key and host name of virtual machines running on # Amazon EC2, Eucalyptus and OpenStack Compute (Nova). -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -13,83 +18,84 @@ with lib; config = { - systemd.services.apply-ec2-data = - { description = "Apply EC2 Data"; - - wantedBy = [ "multi-user.target" "sshd.service" ]; - before = [ "sshd.service" ]; - after = ["fetch-ec2-metadata.service"]; - - path = [ pkgs.iproute2 ]; - - script = - '' - ${optionalString (config.networking.hostName == "") '' - echo "setting host name..." - if [ -s /etc/ec2-metadata/hostname ]; then - ${pkgs.nettools}/bin/hostname $(cat /etc/ec2-metadata/hostname) - fi - ''} - - if ! [ -e /root/.ssh/authorized_keys ]; then - echo "obtaining SSH key..." - mkdir -p /root/.ssh - chmod 0700 /root/.ssh - if [ -s /etc/ec2-metadata/public-keys-0-openssh-key ]; then - (umask 177; cat /etc/ec2-metadata/public-keys-0-openssh-key >> /root/.ssh/authorized_keys) - echo "new key added to authorized_keys" - fi - fi - - # Extract the intended SSH host key for this machine from - # the supplied user data, if available. Otherwise sshd will - # generate one normally. - userData=/etc/ec2-metadata/user-data - - mkdir -p /etc/ssh - chmod 0755 /etc/ssh - - if [ -s "$userData" ]; then - key="$(sed 's/|/\n/g; s/SSH_HOST_DSA_KEY://; t; d' $userData)" - key_pub="$(sed 's/SSH_HOST_DSA_KEY_PUB://; t; d' $userData)" - if [ -n "$key" ] && [ -n "$key_pub" ] && [ ! -e /etc/ssh/ssh_host_dsa_key ]; then - (umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key) - echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub - fi - - key="$(sed 's/|/\n/g; s/SSH_HOST_ED25519_KEY://; t; d' $userData)" - key_pub="$(sed 's/SSH_HOST_ED25519_KEY_PUB://; t; d' $userData)" - if [ -n "$key" ] && [ -n "$key_pub" ] && [ ! -e /etc/ssh/ssh_host_ed25519_key ]; then - (umask 077; echo "$key" > /etc/ssh/ssh_host_ed25519_key) - echo "$key_pub" > /etc/ssh/ssh_host_ed25519_key.pub - fi + systemd.services.apply-ec2-data = { + description = "Apply EC2 Data"; + + wantedBy = [ + "multi-user.target" + "sshd.service" + ]; + before = [ "sshd.service" ]; + after = [ "fetch-ec2-metadata.service" ]; + + path = [ pkgs.iproute2 ]; + + script = '' + ${optionalString (config.networking.hostName == "") '' + echo "setting host name..." + if [ -s /etc/ec2-metadata/hostname ]; then + ${pkgs.nettools}/bin/hostname $(cat /etc/ec2-metadata/hostname) + fi + ''} + + if ! [ -e /root/.ssh/authorized_keys ]; then + echo "obtaining SSH key..." + mkdir -p /root/.ssh + chmod 0700 /root/.ssh + if [ -s /etc/ec2-metadata/public-keys-0-openssh-key ]; then + (umask 177; cat /etc/ec2-metadata/public-keys-0-openssh-key >> /root/.ssh/authorized_keys) + echo "new key added to authorized_keys" fi - ''; - - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - }; - - systemd.services.print-host-key = - { description = "Print SSH Host Key"; - wantedBy = [ "multi-user.target" ]; - after = [ "sshd.service" ]; - script = - '' - # Print the host public key on the console so that the user - # can obtain it securely by parsing the output of - # ec2-get-console-output. - echo "-----BEGIN SSH HOST KEY FINGERPRINTS-----" > /dev/console - for i in /etc/ssh/ssh_host_*_key.pub; do - ${config.programs.ssh.package}/bin/ssh-keygen -l -f "$i" || true > /dev/console - done - echo "-----END SSH HOST KEY FINGERPRINTS-----" > /dev/console - ''; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - }; + fi + + # Extract the intended SSH host key for this machine from + # the supplied user data, if available. Otherwise sshd will + # generate one normally. + userData=/etc/ec2-metadata/user-data + + mkdir -p /etc/ssh + chmod 0755 /etc/ssh + + if [ -s "$userData" ]; then + key="$(sed 's/|/\n/g; s/SSH_HOST_DSA_KEY://; t; d' $userData)" + key_pub="$(sed 's/SSH_HOST_DSA_KEY_PUB://; t; d' $userData)" + if [ -n "$key" ] && [ -n "$key_pub" ] && [ ! -e /etc/ssh/ssh_host_dsa_key ]; then + (umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key) + echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub + fi + + key="$(sed 's/|/\n/g; s/SSH_HOST_ED25519_KEY://; t; d' $userData)" + key_pub="$(sed 's/SSH_HOST_ED25519_KEY_PUB://; t; d' $userData)" + if [ -n "$key" ] && [ -n "$key_pub" ] && [ ! -e /etc/ssh/ssh_host_ed25519_key ]; then + (umask 077; echo "$key" > /etc/ssh/ssh_host_ed25519_key) + echo "$key_pub" > /etc/ssh/ssh_host_ed25519_key.pub + fi + fi + ''; + + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + }; + + systemd.services.print-host-key = { + description = "Print SSH Host Key"; + wantedBy = [ "multi-user.target" ]; + after = [ "sshd.service" ]; + script = '' + # Print the host public key on the console so that the user + # can obtain it securely by parsing the output of + # ec2-get-console-output. + echo "-----BEGIN SSH HOST KEY FINGERPRINTS-----" > /dev/console + for i in /etc/ssh/ssh_host_*_key.pub; do + ${config.programs.ssh.package}/bin/ssh-keygen -l -f "$i" || true > /dev/console + done + echo "-----END SSH HOST KEY FINGERPRINTS-----" > /dev/console + ''; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + }; }; - meta.maintainers = with maintainers; [ arianvp ]; + meta.maintainers = with maintainers; [ arianvp ]; } diff --git a/nixos/modules/virtualisation/ecs-agent.nix b/nixos/modules/virtualisation/ecs-agent.nix index ad23cbedcca72..a7cb9487c9bee 100644 --- a/nixos/modules/virtualisation/ecs-agent.nix +++ b/nixos/modules/virtualisation/ecs-agent.nix @@ -1,10 +1,16 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: with lib; let cfg = config.services.ecs-agent; -in { +in +{ options.services.ecs-agent = { enable = mkEnableOption "Amazon ECS agent"; @@ -13,7 +19,7 @@ in { extra-environment = mkOption { type = types.attrsOf types.str; description = "The environment the ECS agent should run with. See the ECS agent documentation for keys that work here."; - default = {}; + default = { }; }; }; @@ -24,7 +30,7 @@ in { systemd.services.ecs-agent = { inherit (cfg.package.meta) description; - after = [ "network.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; environment = cfg.extra-environment; diff --git a/nixos/modules/virtualisation/gce-images.nix b/nixos/modules/virtualisation/gce-images.nix index 7b027619a4436..79631ed025df3 100644 --- a/nixos/modules/virtualisation/gce-images.nix +++ b/nixos/modules/virtualisation/gce-images.nix @@ -1,17 +1,20 @@ -let self = { - "14.12" = "gs://nixos-cloud-images/nixos-14.12.471.1f09b77-x86_64-linux.raw.tar.gz"; - "15.09" = "gs://nixos-cloud-images/nixos-15.09.425.7870f20-x86_64-linux.raw.tar.gz"; - "16.03" = "gs://nixos-cloud-images/nixos-image-16.03.847.8688c17-x86_64-linux.raw.tar.gz"; - "17.03" = "gs://nixos-cloud-images/nixos-image-17.03.1082.4aab5c5798-x86_64-linux.raw.tar.gz"; - "18.03" = "gs://nixos-cloud-images/nixos-image-18.03.132536.fdb5ba4cdf9-x86_64-linux.raw.tar.gz"; - "18.09" = "gs://nixos-cloud-images/nixos-image-18.09.1228.a4c4cbb613c-x86_64-linux.raw.tar.gz"; +let + self = { + "14.12" = "gs://nixos-cloud-images/nixos-14.12.471.1f09b77-x86_64-linux.raw.tar.gz"; + "15.09" = "gs://nixos-cloud-images/nixos-15.09.425.7870f20-x86_64-linux.raw.tar.gz"; + "16.03" = "gs://nixos-cloud-images/nixos-image-16.03.847.8688c17-x86_64-linux.raw.tar.gz"; + "17.03" = "gs://nixos-cloud-images/nixos-image-17.03.1082.4aab5c5798-x86_64-linux.raw.tar.gz"; + "18.03" = "gs://nixos-cloud-images/nixos-image-18.03.132536.fdb5ba4cdf9-x86_64-linux.raw.tar.gz"; + "18.09" = "gs://nixos-cloud-images/nixos-image-18.09.1228.a4c4cbb613c-x86_64-linux.raw.tar.gz"; - # This format will be handled by the upcoming NixOPS 2.0 release. - # The old images based on a GS object are deprecated. - "20.09" = { - project = "nixos-cloud"; - name = "nixos-image-20-09-3531-3858fbc08e6-x86-64-linux"; - }; + # This format will be handled by the upcoming NixOPS 2.0 release. + # The old images based on a GS object are deprecated. + "20.09" = { + project = "nixos-cloud"; + name = "nixos-image-20-09-3531-3858fbc08e6-x86-64-linux"; + }; - latest = self."20.09"; -}; in self + latest = self."20.09"; + }; +in +self diff --git a/nixos/modules/virtualisation/grow-partition.nix b/nixos/modules/virtualisation/grow-partition.nix index 444c0bc1630e6..ad0b47d0ba132 100644 --- a/nixos/modules/virtualisation/grow-partition.nix +++ b/nixos/modules/virtualisation/grow-partition.nix @@ -1,3 +1,4 @@ # This profile is deprecated, use boot.growPartition directly. -builtins.trace "the profile is deprecated, use boot.growPartition instead" -{ } +builtins.trace + "the profile is deprecated, use boot.growPartition instead" + { } diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix index 7d795f8ff5d72..5dfac60c1c693 100644 --- a/nixos/modules/virtualisation/kvmgt.nix +++ b/nixos/modules/virtualisation/kvmgt.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -14,7 +19,8 @@ let }; }; -in { +in +{ options = { virtualisation.kvmgt = { enable = mkEnableOption '' @@ -29,7 +35,7 @@ in { description = "PCI ID of graphics card. You can figure it with {command}`ls /sys/class/mdev_bus`."; }; vgpus = mkOption { - default = {}; + default = { }; type = with types; attrsOf (submodule [ { options = vgpuOptions; } ]); description = '' Virtual GPUs to be used in Qemu. You can find devices via {command}`ls /sys/bus/pci/devices/*/mdev_supported_types` @@ -55,13 +61,25 @@ in { SUBSYSTEM=="vfio", OWNER="root", GROUP="kvm" ''; - systemd = let - vgpus = listToAttrs (flatten (mapAttrsToList - (mdev: opt: map (id: nameValuePair "kvmgt-${id}" { inherit mdev; uuid = id; }) opt.uuid) - cfg.vgpus)); - in { - paths = mapAttrs (_: opt: - { + systemd = + let + vgpus = listToAttrs ( + flatten ( + mapAttrsToList ( + mdev: opt: + map ( + id: + nameValuePair "kvmgt-${id}" { + inherit mdev; + uuid = id; + } + ) opt.uuid + ) cfg.vgpus + ) + ); + in + { + paths = mapAttrs (_: opt: { description = "KVMGT VGPU ${opt.uuid} path"; wantedBy = [ "multi-user.target" ]; pathConfig = { @@ -69,8 +87,7 @@ in { }; }) vgpus; - services = mapAttrs (_: opt: - { + services = mapAttrs (_: opt: { description = "KVMGT VGPU ${opt.uuid}"; serviceConfig = { Type = "oneshot"; @@ -79,7 +96,7 @@ in { ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${opt.uuid}/remove'"; }; }) vgpus; - }; + }; }; meta.maintainers = with maintainers; [ patryk27 ]; diff --git a/nixos/modules/virtualisation/linode-config.nix b/nixos/modules/virtualisation/linode-config.nix index 209bff57ea8be..a6dbe4cbb8f0f 100644 --- a/nixos/modules/virtualisation/linode-config.nix +++ b/nixos/modules/virtualisation/linode-config.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; { imports = [ ../profiles/qemu-guest.nix ]; @@ -35,7 +40,7 @@ with lib; autoResize = true; }; - swapDevices = mkDefault [{ device = "/dev/sdb"; }]; + swapDevices = mkDefault [ { device = "/dev/sdb"; } ]; # Enable LISH and Linode Booting w/ GRUB boot = { diff --git a/nixos/modules/virtualisation/lxc-image-metadata.nix b/nixos/modules/virtualisation/lxc-image-metadata.nix index c80077dc18e2b..c7c56aa5273a9 100644 --- a/nixos/modules/virtualisation/lxc-image-metadata.nix +++ b/nixos/modules/virtualisation/lxc-image-metadata.nix @@ -123,9 +123,7 @@ in contents = [ { source = toYAML "metadata.yaml" { - architecture = builtins.elemAt (builtins.match "^([a-z0-9_]+).+" ( - toString pkgs.stdenv.hostPlatform.system - )) 0; + architecture = builtins.elemAt (builtins.match "^([a-z0-9_]+).+" (toString pkgs.stdenv.hostPlatform.system)) 0; creation_date = 1; properties = { description = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} ${pkgs.stdenv.hostPlatform.system}"; diff --git a/nixos/modules/virtualisation/lxd-agent.nix b/nixos/modules/virtualisation/lxd-agent.nix index 4bcec117aba97..50d9a5f26fe99 100644 --- a/nixos/modules/virtualisation/lxd-agent.nix +++ b/nixos/modules/virtualisation/lxd-agent.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.virtualisation.lxd.agent; @@ -44,7 +49,8 @@ let # Fix up permissions. chown -R root:root "$PREFIX" ''; -in { +in +{ options = { virtualisation.lxd.agent.enable = lib.mkEnableOption "LXD agent"; }; @@ -54,9 +60,13 @@ in { systemd.services.lxd-agent = { enable = true; wantedBy = [ "multi-user.target" ]; - before = [ "shutdown.target" ] ++ lib.optionals config.services.cloud-init.enable [ - "cloud-init.target" "cloud-init.service" "cloud-init-local.service" - ]; + before = + [ "shutdown.target" ] + ++ lib.optionals config.services.cloud-init.enable [ + "cloud-init.target" + "cloud-init.service" + "cloud-init-local.service" + ]; conflicts = [ "shutdown.target" ]; path = [ pkgs.kmod diff --git a/nixos/modules/virtualisation/lxd-virtual-machine.nix b/nixos/modules/virtualisation/lxd-virtual-machine.nix index 138a858997188..156b69713acd2 100644 --- a/nixos/modules/virtualisation/lxd-virtual-machine.nix +++ b/nixos/modules/virtualisation/lxd-virtual-machine.nix @@ -1,11 +1,14 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - serialDevice = - if pkgs.stdenv.hostPlatform.isx86 - then "ttyS0" - else "ttyAMA0"; # aarch64 -in { + serialDevice = if pkgs.stdenv.hostPlatform.isx86 then "ttyS0" else "ttyAMA0"; # aarch64 +in +{ imports = [ ./lxc-instance-common.nix @@ -39,7 +42,10 @@ in { # image building needs to know what device to install bootloader on boot.loader.grub.device = "/dev/vda"; - boot.kernelParams = ["console=tty1" "console=${serialDevice}"]; + boot.kernelParams = [ + "console=tty1" + "console=${serialDevice}" + ]; services.udev.extraRules = '' SUBSYSTEM=="cpu", CONST{arch}=="x86-64", TEST=="online", ATTR{online}=="0", ATTR{online}="1" diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index bdcd60a0560f4..24d9701b06d62 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -1,13 +1,23 @@ # Systemd services for lxd. -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.virtualisation.lxd; - preseedFormat = pkgs.formats.yaml {}; -in { + preseedFormat = pkgs.formats.yaml { }; +in +{ imports = [ - (lib.mkRemovedOptionModule [ "virtualisation" "lxd" "zfsPackage" ] "Override zfs in an overlay instead to override it globally") + (lib.mkRemovedOptionModule [ + "virtualisation" + "lxd" + "zfsPackage" + ] "Override zfs in an overlay instead to override it globally") ]; options = { @@ -64,9 +74,11 @@ in { }; preseed = lib.mkOption { - type = lib.types.nullOr (lib.types.submodule { - freeformType = preseedFormat.type; - }); + type = lib.types.nullOr ( + lib.types.submodule { + freeformType = preseedFormat.type; + } + ); default = null; @@ -189,8 +201,7 @@ in { ]; documentation = [ "man:lxd(1)" ]; - path = [ pkgs.util-linux ] - ++ lib.optional cfg.zfsSupport config.boot.zfs.package; + path = [ pkgs.util-linux ] ++ lib.optional cfg.zfsSupport config.boot.zfs.package; environment = lib.mkIf (cfg.ui.enable) { "LXD_UI" = cfg.ui.package; @@ -211,8 +222,7 @@ in { # By default, `lxd` loads configuration files from hard-coded # `/usr/share/lxc/config` - since this is a no-go for us, we have to # explicitly tell it where the actual configuration files are - Environment = lib.mkIf (config.virtualisation.lxc.lxcfs.enable) - "LXD_LXC_TEMPLATE_CONFIG=${pkgs.lxcfs}/share/lxc/config"; + Environment = lib.mkIf (config.virtualisation.lxc.lxcfs.enable) "LXD_LXC_TEMPLATE_CONFIG=${pkgs.lxcfs}/share/lxc/config"; }; unitConfig.ConditionPathExists = "!/var/lib/incus/.migrated-from-lxd"; @@ -220,9 +230,9 @@ in { systemd.services.lxd-preseed = lib.mkIf (cfg.preseed != null) { description = "LXD initialization with preseed file"; - wantedBy = ["multi-user.target"]; - requires = ["lxd.service"]; - after = ["lxd.service"]; + wantedBy = [ "multi-user.target" ]; + requires = [ "lxd.service" ]; + after = [ "lxd.service" ]; script = '' ${pkgs.coreutils}/bin/cat ${preseedFormat.generate "lxd-preseed.yaml" cfg.preseed} | ${cfg.package}/bin/lxd init --preseed @@ -233,11 +243,21 @@ in { }; }; - users.groups.lxd = {}; + users.groups.lxd = { }; users.users.root = { - subUidRanges = [ { startUid = 1000000; count = 65536; } ]; - subGidRanges = [ { startGid = 1000000; count = 65536; } ]; + subUidRanges = [ + { + startUid = 1000000; + count = 65536; + } + ]; + subGidRanges = [ + { + startGid = 1000000; + count = 65536; + } + ]; }; boot.kernel.sysctl = lib.mkIf cfg.recommendedSysctlSettings { @@ -251,7 +271,12 @@ in { "kernel.keys.maxkeys" = 2000; }; - boot.kernelModules = [ "veth" "xt_comment" "xt_CHECKSUM" "xt_MASQUERADE" "vhost_vsock" ] - ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ]; + boot.kernelModules = [ + "veth" + "xt_comment" + "xt_CHECKSUM" + "xt_MASQUERADE" + "vhost_vsock" + ] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ]; }; } diff --git a/nixos/modules/virtualisation/multipass.nix b/nixos/modules/virtualisation/multipass.nix index 8a55282c88d8c..9613010f0f939 100644 --- a/nixos/modules/virtualisation/multipass.nix +++ b/nixos/modules/virtualisation/multipass.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let @@ -13,7 +14,13 @@ in enable = lib.mkEnableOption "Multipass, a simple manager for virtualised Ubuntu instances"; logLevel = lib.mkOption { - type = lib.types.enum [ "error" "warning" "info" "debug" "trace" ]; + type = lib.types.enum [ + "error" + "warning" + "info" + "debug" + "trace" + ]; default = "debug"; description = '' The logging verbosity of the multipassd binary. diff --git a/nixos/modules/virtualisation/oci-common.nix b/nixos/modules/virtualisation/oci-common.nix index a620df063151e..d92cda7de437c 100644 --- a/nixos/modules/virtualisation/oci-common.nix +++ b/nixos/modules/virtualisation/oci-common.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.oci; diff --git a/nixos/modules/virtualisation/openstack-config.nix b/nixos/modules/virtualisation/openstack-config.nix index e522f5218a75d..caa3cbba6a6ba 100644 --- a/nixos/modules/virtualisation/openstack-config.nix +++ b/nixos/modules/virtualisation/openstack-config.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: # image metadata: # hw_firmware_type=uefi @@ -73,7 +78,10 @@ in path = [ pkgs.wget ]; description = "Fetch Metadata on startup"; wantedBy = [ "multi-user.target" ]; - before = [ "apply-ec2-data.service" "amazon-init.service" ]; + before = [ + "apply-ec2-data.service" + "amazon-init.service" + ]; wants = [ "network-online.target" ]; after = [ "network-online.target" ]; script = metadataFetcher; diff --git a/nixos/modules/virtualisation/openstack-options.nix b/nixos/modules/virtualisation/openstack-options.nix index a06a113e252e4..9d1b1efd676d3 100644 --- a/nixos/modules/virtualisation/openstack-options.nix +++ b/nixos/modules/virtualisation/openstack-options.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let inherit (lib) literalExpression types; in @@ -25,21 +30,23 @@ in default = { }; - type = types.attrsOf (types.submodule { - options = { - mount = lib.mkOption { - description = "Where to mount this dataset."; - type = types.nullOr types.str; - default = null; - }; + type = types.attrsOf ( + types.submodule { + options = { + mount = lib.mkOption { + description = "Where to mount this dataset."; + type = types.nullOr types.str; + default = null; + }; - properties = lib.mkOption { - description = "Properties to set on this dataset."; - type = types.attrsOf types.str; - default = { }; + properties = lib.mkOption { + description = "Properties to set on this dataset."; + type = types.attrsOf types.str; + default = { }; + }; }; - }; - }); + } + ); }; }; @@ -59,13 +66,16 @@ in fileSystems = let - mountable = lib.filterAttrs (_: value: ((value.mount or null) != null)) config.openstack.zfs.datasets; + mountable = lib.filterAttrs ( + _: value: ((value.mount or null) != null) + ) config.openstack.zfs.datasets; in - lib.mapAttrs' - (dataset: opts: lib.nameValuePair opts.mount { + lib.mapAttrs' ( + dataset: opts: + lib.nameValuePair opts.mount { device = dataset; fsType = "zfs"; - }) - mountable; + } + ) mountable; }; } diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix index e0cedce091399..498044ce43c88 100644 --- a/nixos/modules/virtualisation/openvswitch.nix +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -1,13 +1,19 @@ # Systemd services for openvswitch -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.virtualisation.vswitch; -in { +in +{ options.virtualisation.vswitch = { enable = mkOption { @@ -16,7 +22,7 @@ in { description = '' Whether to enable Open vSwitch. A configuration daemon (ovs-server) will be started. - ''; + ''; }; resetOnStart = mkOption { @@ -25,106 +31,113 @@ in { description = '' Whether to reset the Open vSwitch configuration database to a default configuration on every start of the systemd `ovsdb.service`. - ''; + ''; }; package = mkPackageOption pkgs "openvswitch" { }; }; - config = mkIf cfg.enable (let - - # Where the communication sockets live - runDir = "/run/openvswitch"; + config = mkIf cfg.enable ( + let + + # Where the communication sockets live + runDir = "/run/openvswitch"; + + # The path to the an initialized version of the database + db = pkgs.stdenv.mkDerivation { + name = "vswitch.db"; + dontUnpack = true; + buildPhase = "true"; + buildInputs = with pkgs; [ + cfg.package + ]; + installPhase = "mkdir -p $out"; + }; - # The path to the an initialized version of the database - db = pkgs.stdenv.mkDerivation { - name = "vswitch.db"; - dontUnpack = true; - buildPhase = "true"; - buildInputs = with pkgs; [ - cfg.package + in + { + environment.systemPackages = [ cfg.package ]; + boot.kernelModules = [ + "tun" + "openvswitch" ]; - installPhase = "mkdir -p $out"; - }; - in { - environment.systemPackages = [ cfg.package ]; - boot.kernelModules = [ "tun" "openvswitch" ]; - - boot.extraModulePackages = [ cfg.package ]; - - systemd.services.ovsdb = { - description = "Open_vSwitch Database Server"; - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ]; - path = [ cfg.package ]; - restartTriggers = [ db cfg.package ]; - # Create the config database - preStart = - '' - mkdir -p ${runDir} - mkdir -p /var/db/openvswitch - chmod +w /var/db/openvswitch - ${optionalString cfg.resetOnStart "rm -f /var/db/openvswitch/conf.db"} - if [[ ! -e /var/db/openvswitch/conf.db ]]; then - ${cfg.package}/bin/ovsdb-tool create \ - "/var/db/openvswitch/conf.db" \ - "${cfg.package}/share/openvswitch/vswitch.ovsschema" - fi - chmod -R +w /var/db/openvswitch - if ${cfg.package}/bin/ovsdb-tool needs-conversion /var/db/openvswitch/conf.db | grep -q "yes" - then - echo "Performing database upgrade" - ${cfg.package}/bin/ovsdb-tool convert /var/db/openvswitch/conf.db - else - echo "Database already up to date" - fi + boot.extraModulePackages = [ cfg.package ]; + + systemd.services.ovsdb = { + description = "Open_vSwitch Database Server"; + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-udev-settle.service" ]; + path = [ cfg.package ]; + restartTriggers = [ + db + cfg.package + ]; + # Create the config database + preStart = '' + mkdir -p ${runDir} + mkdir -p /var/db/openvswitch + chmod +w /var/db/openvswitch + ${optionalString cfg.resetOnStart "rm -f /var/db/openvswitch/conf.db"} + if [[ ! -e /var/db/openvswitch/conf.db ]]; then + ${cfg.package}/bin/ovsdb-tool create \ + "/var/db/openvswitch/conf.db" \ + "${cfg.package}/share/openvswitch/vswitch.ovsschema" + fi + chmod -R +w /var/db/openvswitch + if ${cfg.package}/bin/ovsdb-tool needs-conversion /var/db/openvswitch/conf.db | grep -q "yes" + then + echo "Performing database upgrade" + ${cfg.package}/bin/ovsdb-tool convert /var/db/openvswitch/conf.db + else + echo "Database already up to date" + fi ''; - serviceConfig = { - ExecStart = - '' - ${cfg.package}/bin/ovsdb-server \ - --remote=punix:${runDir}/db.sock \ - --private-key=db:Open_vSwitch,SSL,private_key \ - --certificate=db:Open_vSwitch,SSL,certificate \ - --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ - --unixctl=ovsdb.ctl.sock \ - --pidfile=/run/openvswitch/ovsdb.pid \ - --detach \ - /var/db/openvswitch/conf.db + serviceConfig = { + ExecStart = '' + ${cfg.package}/bin/ovsdb-server \ + --remote=punix:${runDir}/db.sock \ + --private-key=db:Open_vSwitch,SSL,private_key \ + --certificate=db:Open_vSwitch,SSL,certificate \ + --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ + --unixctl=ovsdb.ctl.sock \ + --pidfile=/run/openvswitch/ovsdb.pid \ + --detach \ + /var/db/openvswitch/conf.db ''; - Restart = "always"; - RestartSec = 3; - PIDFile = "/run/openvswitch/ovsdb.pid"; - # Use service type 'forking' to correctly determine when ovsdb-server is ready. - Type = "forking"; + Restart = "always"; + RestartSec = 3; + PIDFile = "/run/openvswitch/ovsdb.pid"; + # Use service type 'forking' to correctly determine when ovsdb-server is ready. + Type = "forking"; + }; + postStart = '' + ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init + ''; }; - postStart = '' - ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init - ''; - }; - systemd.services.ovs-vswitchd = { - description = "Open_vSwitch Daemon"; - wantedBy = [ "multi-user.target" ]; - bindsTo = [ "ovsdb.service" ]; - after = [ "ovsdb.service" ]; - path = [ cfg.package ]; - serviceConfig = { - ExecStart = '' - ${cfg.package}/bin/ovs-vswitchd \ - --pidfile=/run/openvswitch/ovs-vswitchd.pid \ - --detach - ''; - PIDFile = "/run/openvswitch/ovs-vswitchd.pid"; - # Use service type 'forking' to correctly determine when vswitchd is ready. - Type = "forking"; - Restart = "always"; - RestartSec = 3; + systemd.services.ovs-vswitchd = { + description = "Open_vSwitch Daemon"; + wantedBy = [ "multi-user.target" ]; + bindsTo = [ "ovsdb.service" ]; + after = [ "ovsdb.service" ]; + path = [ cfg.package ]; + serviceConfig = { + ExecStart = '' + ${cfg.package}/bin/ovs-vswitchd \ + --pidfile=/run/openvswitch/ovs-vswitchd.pid \ + --detach + ''; + PIDFile = "/run/openvswitch/ovs-vswitchd.pid"; + # Use service type 'forking' to correctly determine when vswitchd is ready. + Type = "forking"; + Restart = "always"; + RestartSec = 3; + }; }; - }; - }); + } + ); imports = [ (mkRemovedOptionModule [ "virtualisation" "vswitch" "ipsec" ] '' diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix index 91a0532fbaab7..4a16f63028e11 100644 --- a/nixos/modules/virtualisation/parallels-guest.nix +++ b/nixos/modules/virtualisation/parallels-guest.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; @@ -9,7 +14,11 @@ in { imports = [ - (mkRemovedOptionModule [ "hardware" "parallels" "autoMountShares" ] "Shares are always automatically mounted since Parallels Desktop 20.") + (mkRemovedOptionModule [ + "hardware" + "parallels" + "autoMountShares" + ] "Shares are always automatically mounted since Parallels Desktop 20.") ]; options = { @@ -45,8 +54,11 @@ in boot.extraModulePackages = [ prl-tools ]; - boot.kernelModules = [ "prl_fs" "prl_fs_freeze" "prl_tg" ] - ++ optional (pkgs.stdenv.hostPlatform.system == "aarch64-linux") "prl_notifier"; + boot.kernelModules = [ + "prl_fs" + "prl_fs_freeze" + "prl_tg" + ] ++ optional (pkgs.stdenv.hostPlatform.system == "aarch64-linux") "prl_notifier"; services.timesyncd.enable = false; diff --git a/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix b/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix index ade4926c94cd4..d5b4bef5f0d99 100644 --- a/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix +++ b/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix @@ -1,4 +1,9 @@ -{ config, lib, pkg, ... }: +{ + config, + lib, + pkg, + ... +}: let inherit (lib) mkOption diff --git a/nixos/modules/virtualisation/podman/network-socket.nix b/nixos/modules/virtualisation/podman/network-socket.nix index 4a6f05e9a2f20..8aad9cf7bef88 100644 --- a/nixos/modules/virtualisation/podman/network-socket.nix +++ b/nixos/modules/virtualisation/podman/network-socket.nix @@ -1,4 +1,9 @@ -{ config, lib, pkg, ... }: +{ + config, + lib, + pkg, + ... +}: let inherit (lib) mkOption @@ -87,8 +92,7 @@ in }; config = { - networking.firewall.allowedTCPPorts = - lib.optional (cfg.enable && cfg.openFirewall) cfg.port; + networking.firewall.allowedTCPPorts = lib.optional (cfg.enable && cfg.openFirewall) cfg.port; }; meta.maintainers = lib.teams.podman.members ++ [ lib.maintainers.roberth ]; diff --git a/nixos/modules/virtualisation/proxmox-image.nix b/nixos/modules/virtualisation/proxmox-image.nix index 5b28bccfd0645..cb83a9e5ef29f 100644 --- a/nixos/modules/virtualisation/proxmox-image.nix +++ b/nixos/modules/virtualisation/proxmox-image.nix @@ -370,6 +370,7 @@ with lib; qemuGuest.enable = true; }; - proxmox.qemuExtraConf.${cfg.cloudInit.device} = "${cfg.cloudInit.defaultStorage}:vm-9999-cloudinit,media=cdrom"; + proxmox.qemuExtraConf.${cfg.cloudInit.device} = + "${cfg.cloudInit.defaultStorage}:vm-9999-cloudinit,media=cdrom"; }; } diff --git a/nixos/modules/virtualisation/qemu-guest-agent.nix b/nixos/modules/virtualisation/qemu-guest-agent.nix index fb65d327e7f21..9f12177922bed 100644 --- a/nixos/modules/virtualisation/qemu-guest-agent.nix +++ b/nixos/modules/virtualisation/qemu-guest-agent.nix @@ -1,22 +1,27 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.qemuGuest; -in { +in +{ options.services.qemuGuest = { - enable = mkOption { - type = types.bool; - default = false; - description = "Whether to enable the qemu guest agent."; - }; - package = mkPackageOption pkgs [ "qemu_kvm" "ga" ] { }; + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the qemu guest agent."; + }; + package = mkPackageOption pkgs [ "qemu_kvm" "ga" ] { }; }; - config = mkIf cfg.enable ( - mkMerge [ + config = mkIf cfg.enable (mkMerge [ { services.udev.extraRules = '' @@ -35,6 +40,5 @@ in { }; }; } - ] - ); + ]); } diff --git a/nixos/modules/virtualisation/spice-usb-redirection.nix b/nixos/modules/virtualisation/spice-usb-redirection.nix index 1631a91ccf863..d6ea49be69fd3 100644 --- a/nixos/modules/virtualisation/spice-usb-redirection.nix +++ b/nixos/modules/virtualisation/spice-usb-redirection.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { options.virtualisation.spiceUSBRedirection.enable = lib.mkOption { type = lib.types.bool; diff --git a/nixos/modules/virtualisation/vagrant-guest.nix b/nixos/modules/virtualisation/vagrant-guest.nix index 120a2a2324d21..d4686a678181b 100644 --- a/nixos/modules/virtualisation/vagrant-guest.nix +++ b/nixos/modules/virtualisation/vagrant-guest.nix @@ -30,14 +30,17 @@ in ]; users.extraUsers.vagrant = { - isNormalUser = true; - createHome = true; - description = "Vagrant user account"; - extraGroups = [ "users" "wheel" ]; - home = "/home/vagrant"; - password = "vagrant"; + isNormalUser = true; + createHome = true; + description = "Vagrant user account"; + extraGroups = [ + "users" + "wheel" + ]; + home = "/home/vagrant"; + password = "vagrant"; useDefaultShell = true; - uid = 1000; + uid = 1000; }; systemd.services.install-vagrant-ssh-key = { diff --git a/nixos/modules/virtualisation/vagrant-virtualbox-image.nix b/nixos/modules/virtualisation/vagrant-virtualbox-image.nix index 78c228bc46fb0..47a479e98cdb0 100644 --- a/nixos/modules/virtualisation/vagrant-virtualbox-image.nix +++ b/nixos/modules/virtualisation/vagrant-virtualbox-image.nix @@ -1,6 +1,11 @@ # Vagrant + VirtualBox -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { imports = [ @@ -23,12 +28,9 @@ # generate the box v1 format which is much easier to generate # https://www.vagrantup.com/docs/boxes/format.html image.extension = lib.mkOverride 999 "${config.image.baseName}.box"; - system.nixos.tags = [ "vagrant"]; + system.nixos.tags = [ "vagrant" ]; system.build.image = lib.mkOverride 999 config.system.build.vagrantVirtualbox; - system.build.vagrantVirtualbox = pkgs.runCommand - config.image.fileName - {} - '' + system.build.vagrantVirtualbox = pkgs.runCommand config.image.fileName { } '' mkdir workdir cd workdir diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix index 5379a481be5b5..5b9f309f153af 100644 --- a/nixos/modules/virtualisation/vmware-guest.nix +++ b/nixos/modules/virtualisation/vmware-guest.nix @@ -1,6 +1,21 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let - inherit (lib) getExe' literalExpression mkEnableOption mkIf mkOption mkRenamedOptionModule optionals optionalString types; + inherit (lib) + getExe' + literalExpression + mkEnableOption + mkIf + mkOption + mkRenamedOptionModule + optionals + optionalString + types + ; cfg = config.virtualisation.vmware.guest; xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse; in @@ -25,36 +40,40 @@ in package = mkOption { type = types.package; default = if cfg.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools; - defaultText = literalExpression "if config.virtualisation.vmware.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools;"; + defaultText = literalExpression "if config.virtualisation.vmware.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools;"; example = literalExpression "pkgs.open-vm-tools"; description = "Package providing open-vm-tools."; }; }; config = mkIf cfg.enable { - assertions = [ { - assertion = pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isAarch64; - message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}"; - } ]; + assertions = [ + { + assertion = pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isAarch64; + message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}"; + } + ]; boot.initrd.availableKernelModules = [ "mptspi" ]; boot.initrd.kernelModules = optionals pkgs.stdenv.hostPlatform.isx86 [ "vmw_pvscsi" ]; environment.systemPackages = [ cfg.package ]; - systemd.services.vmware = - { description = "VMWare Guest Service"; - wantedBy = [ "multi-user.target" ]; - after = [ "display-manager.service" ]; - unitConfig.ConditionVirtualization = "vmware"; - serviceConfig.ExecStart = getExe' cfg.package "vmtoolsd"; - }; + systemd.services.vmware = { + description = "VMWare Guest Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "display-manager.service" ]; + unitConfig.ConditionVirtualization = "vmware"; + serviceConfig.ExecStart = getExe' cfg.package "vmtoolsd"; + }; # Mount the vmblock for drag-and-drop and copy-and-paste. systemd.mounts = mkIf (!cfg.headless) [ { description = "VMware vmblock fuse mount"; - documentation = [ "https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt" ]; + documentation = [ + "https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt" + ]; unitConfig.ConditionVirtualization = "vmware"; what = getExe' cfg.package "vmware-vmblock-fuse"; where = "/run/vmblock-fuse"; @@ -65,11 +84,11 @@ in ]; security.wrappers.vmware-user-suid-wrapper = mkIf (!cfg.headless) { - setuid = true; - owner = "root"; - group = "root"; - source = getExe' cfg.package "vmware-user-suid-wrapper"; - }; + setuid = true; + owner = "root"; + group = "root"; + source = getExe' cfg.package "vmware-user-suid-wrapper"; + }; environment.etc.vmware-tools.source = "${cfg.package}/etc/vmware-tools/*"; @@ -77,17 +96,17 @@ in modules = optionals pkgs.stdenv.hostPlatform.isx86 [ xf86inputvmmouse ]; config = optionalString (pkgs.stdenv.hostPlatform.isx86) '' - Section "InputClass" - Identifier "VMMouse" - MatchDevicePath "/dev/input/event*" - MatchProduct "ImPS/2 Generic Wheel Mouse" - Driver "vmmouse" - EndSection - ''; + Section "InputClass" + Identifier "VMMouse" + MatchDevicePath "/dev/input/event*" + MatchProduct "ImPS/2 Generic Wheel Mouse" + Driver "vmmouse" + EndSection + ''; displayManager.sessionCommands = '' - ${getExe' cfg.package "vmware-user-suid-wrapper"} - ''; + ${getExe' cfg.package "vmware-user-suid-wrapper"} + ''; }; services.udev.packages = [ cfg.package ]; diff --git a/nixos/modules/virtualisation/vmware-host.nix b/nixos/modules/virtualisation/vmware-host.nix index 5fac2a4a8e8d4..cb7156b740474 100644 --- a/nixos/modules/virtualisation/vmware-host.nix +++ b/nixos/modules/virtualisation/vmware-host.nix @@ -1,13 +1,17 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cfg = config.virtualisation.vmware.host; wrapperDir = "/run/vmware/bin"; # Perfectly fits as /usr/local/bin parentWrapperDir = dirOf wrapperDir; vmwareWrappers = # Needed as hardcoded paths workaround - let mkVmwareSymlink = - program: - '' + let + mkVmwareSymlink = program: '' ln -s "${config.security.wrapperDir}/${program}" $wrapperDir/${program} ''; in @@ -60,7 +64,13 @@ in config = lib.mkIf cfg.enable { boot.extraModulePackages = [ config.boot.kernelPackages.vmware ]; boot.extraModprobeConfig = "alias char-major-10-229 fuse"; - boot.kernelModules = [ "vmw_pvscsi" "vmw_vmci" "vmmon" "vmnet" "fuse" ]; + boot.kernelModules = [ + "vmw_pvscsi" + "vmw_vmci" + "vmmon" + "vmnet" + "fuse" + ]; environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages; services.printing.drivers = [ cfg.package ]; diff --git a/nixos/modules/virtualisation/vmware-image.nix b/nixos/modules/virtualisation/vmware-image.nix index 162d3dc0a0cc0..6eebc6910ff04 100644 --- a/nixos/modules/virtualisation/vmware-image.nix +++ b/nixos/modules/virtualisation/vmware-image.nix @@ -16,7 +16,8 @@ let "streamOptimized" ]; -in { +in +{ imports = [ ../image/file-options.nix (lib.mkRenamedOptionModuleWith { diff --git a/nixos/modules/virtualisation/waydroid.nix b/nixos/modules/virtualisation/waydroid.nix index ae4555f3a6724..f9891023291c1 100644 --- a/nixos/modules/virtualisation/waydroid.nix +++ b/nixos/modules/virtualisation/waydroid.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.virtualisation.waydroid; @@ -35,7 +40,8 @@ in (kCfg.isEnabled "MEMFD_CREATE") ]; - /* NOTE: we always enable this flag even if CONFIG_PSI_DEFAULT_DISABLED is not on + /* + NOTE: we always enable this flag even if CONFIG_PSI_DEFAULT_DISABLED is not on as reading the kernel config is not always possible and on kernels where it's already on it will be no-op */ diff --git a/nixos/modules/virtualisation/xe-guest-utilities.nix b/nixos/modules/virtualisation/xe-guest-utilities.nix index 14dd25e878cf1..c50a2e7beeb9f 100644 --- a/nixos/modules/virtualisation/xe-guest-utilities.nix +++ b/nixos/modules/virtualisation/xe-guest-utilities.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.xe-guest-utilities; -in { +in +{ options = { services.xe-guest-utilities = { enable = lib.mkEnableOption "the XenServer guest utilities daemon"; @@ -13,10 +19,13 @@ in { systemd.services.xe-daemon = { description = "xen daemon file"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; after = [ "xe-linux-distribution.service" ]; requires = [ "proc-xen.mount" ]; - path = [ pkgs.coreutils pkgs.iproute2 ]; + path = [ + pkgs.coreutils + pkgs.iproute2 + ]; serviceConfig = { PIDFile = "/run/xe-daemon.pid"; ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid"; @@ -26,9 +35,14 @@ in { systemd.services.xe-linux-distribution = { description = "xen linux distribution service"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "multi-user.target" ]; before = [ "xend.service" ]; - path = [ pkgs.xe-guest-utilities pkgs.coreutils pkgs.gawk pkgs.gnused ]; + path = [ + pkgs.xe-guest-utilities + pkgs.coreutils + pkgs.gawk + pkgs.gnused + ]; serviceConfig = { Type = "simple"; RemainAfterExit = "yes"; @@ -37,7 +51,8 @@ in { }; systemd.mounts = [ - { description = "Mount /proc/xen files"; + { + description = "Mount /proc/xen files"; what = "xenfs"; where = "/proc/xen"; type = "xenfs"; diff --git a/nixos/modules/virtualisation/xen-domU.nix b/nixos/modules/virtualisation/xen-domU.nix index ce5a482b1145b..9c0045e8f8ccc 100644 --- a/nixos/modules/virtualisation/xen-domU.nix +++ b/nixos/modules/virtualisation/xen-domU.nix @@ -5,10 +5,15 @@ { boot.loader.grub.device = "nodev"; - boot.initrd.kernelModules = - [ "xen-blkfront" "xen-tpmfront" "xen-kbdfront" "xen-fbfront" - "xen-netfront" "xen-pcifront" "xen-scsifront" - ]; + boot.initrd.kernelModules = [ + "xen-blkfront" + "xen-tpmfront" + "xen-kbdfront" + "xen-fbfront" + "xen-netfront" + "xen-pcifront" + "xen-scsifront" + ]; # Send syslog messages to the Xen console. services.syslogd.tty = "hvc0"; diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 06403e0fe81ea..3b1c85a441429 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -2,44 +2,65 @@ # and nixos-14.04). The channel is updated every time the ‘tested’ job # succeeds, and all other jobs have finished (they may fail). -{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; } -, stableBranch ? false -, supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] -, limitedSupportedSystems ? [ ] +{ + nixpkgs ? { + outPath = (import ../lib).cleanSource ./..; + revCount = 56789; + shortRev = "gfedcba"; + }, + stableBranch ? false, + supportedSystems ? [ + "aarch64-linux" + "x86_64-linux" + ], + limitedSupportedSystems ? [ ], }: let nixpkgsSrc = nixpkgs; # urgh - pkgs = import ./.. {}; + pkgs = import ./.. { }; - removeMaintainers = set: if builtins.isAttrs set - then if (set.type or "") == "derivation" - then set // { meta = builtins.removeAttrs (set.meta or {}) [ "maintainers" ]; } - else pkgs.lib.mapAttrs (n: v: removeMaintainers v) set - else set; + removeMaintainers = + set: + if builtins.isAttrs set then + if (set.type or "") == "derivation" then + set // { meta = builtins.removeAttrs (set.meta or { }) [ "maintainers" ]; } + else + pkgs.lib.mapAttrs (n: v: removeMaintainers v) set + else + set; -in rec { +in +rec { - nixos = removeMaintainers (import ./release.nix { - inherit stableBranch; - supportedSystems = supportedSystems ++ limitedSupportedSystems; - nixpkgs = nixpkgsSrc; - }); + nixos = removeMaintainers ( + import ./release.nix { + inherit stableBranch; + supportedSystems = supportedSystems ++ limitedSupportedSystems; + nixpkgs = nixpkgsSrc; + } + ); - nixpkgs = builtins.removeAttrs (removeMaintainers (import ../pkgs/top-level/release.nix { - inherit supportedSystems; - nixpkgs = nixpkgsSrc; - })) [ "unstable" ]; + nixpkgs = builtins.removeAttrs (removeMaintainers ( + import ../pkgs/top-level/release.nix { + inherit supportedSystems; + nixpkgs = nixpkgsSrc; + } + )) [ "unstable" ]; tested = let onFullSupported = x: map (system: "${x}.${system}") supportedSystems; onAllSupported = x: map (system: "${x}.${system}") (supportedSystems ++ limitedSupportedSystems); - onSystems = systems: x: map (system: "${x}.${system}") - (pkgs.lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems)); - in pkgs.releaseTools.aggregate { + onSystems = + systems: x: + map (system: "${x}.${system}") ( + pkgs.lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems) + ); + in + pkgs.releaseTools.aggregate { name = "nixos-${nixos.channel.version}"; meta = { description = "Release-critical builds for the NixOS channel"; @@ -49,21 +70,21 @@ in rec { [ "nixos.channel" ] (onFullSupported "nixos.dummy") (onAllSupported "nixos.iso_minimal") - (onSystems ["x86_64-linux" "aarch64-linux"] "nixos.amazonImage") + (onSystems [ "x86_64-linux" "aarch64-linux" ] "nixos.amazonImage") (onFullSupported "nixos.iso_plasma6") (onFullSupported "nixos.iso_gnome") (onFullSupported "nixos.manual") - (onSystems ["aarch64-linux"] "nixos.sd_image") + (onSystems [ "aarch64-linux" ] "nixos.sd_image") (onFullSupported "nixos.tests.acme") - (onSystems ["x86_64-linux"] "nixos.tests.boot.biosCdrom") - (onSystems ["x86_64-linux"] "nixos.tests.boot.biosUsb") + (onSystems [ "x86_64-linux" ] "nixos.tests.boot.biosCdrom") + (onSystems [ "x86_64-linux" ] "nixos.tests.boot.biosUsb") (onFullSupported "nixos.tests.boot-stage1") (onFullSupported "nixos.tests.boot.uefiCdrom") (onFullSupported "nixos.tests.boot.uefiUsb") (onFullSupported "nixos.tests.chromium") (onFullSupported "nixos.tests.containers-imperative") (onFullSupported "nixos.tests.containers-ip") - (onSystems ["x86_64-linux"] "nixos.tests.docker") + (onSystems [ "x86_64-linux" ] "nixos.tests.docker") (onFullSupported "nixos.tests.ecryptfs") (onFullSupported "nixos.tests.env") @@ -81,25 +102,25 @@ in rec { (onFullSupported "nixos.tests.gitlab") (onFullSupported "nixos.tests.gnome") (onFullSupported "nixos.tests.gnome-xorg") - (onSystems ["x86_64-linux"] "nixos.tests.hibernate") + (onSystems [ "x86_64-linux" ] "nixos.tests.hibernate") (onFullSupported "nixos.tests.i3wm") - (onSystems ["aarch64-linux"] "nixos.tests.installer.simpleUefiSystemdBoot") - (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSimple") - (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolDefault") - (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolEscape") - (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvols") - (onSystems ["x86_64-linux"] "nixos.tests.installer.luksroot") - (onSystems ["x86_64-linux"] "nixos.tests.installer.lvm") - (onSystems ["x86_64-linux"] "nixos.tests.installer.separateBootZfs") - (onSystems ["x86_64-linux"] "nixos.tests.installer.separateBootFat") - (onSystems ["x86_64-linux"] "nixos.tests.installer.separateBoot") - (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleLabels") - (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleProvided") - (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleUefiSystemdBoot") - (onSystems ["x86_64-linux"] "nixos.tests.installer.simple") - (onSystems ["x86_64-linux"] "nixos.tests.installer.swraid") - (onSystems ["x86_64-linux"] "nixos.tests.installer.zfsroot") - (onSystems ["x86_64-linux"] "nixos.tests.nixos-rebuild-specialisations") + (onSystems [ "aarch64-linux" ] "nixos.tests.installer.simpleUefiSystemdBoot") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSimple") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvolDefault") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvolEscape") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvols") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.luksroot") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.lvm") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBootZfs") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBootFat") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBoot") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleLabels") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleProvided") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleUefiSystemdBoot") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.simple") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.swraid") + (onSystems [ "x86_64-linux" ] "nixos.tests.installer.zfsroot") + (onSystems [ "x86_64-linux" ] "nixos.tests.nixos-rebuild-specialisations") (onFullSupported "nixos.tests.nix-misc.default") (onFullSupported "nixos.tests.ipv6") (onFullSupported "nixos.tests.keymap.azerty") @@ -144,14 +165,14 @@ in rec { (onFullSupported "nixos.tests.networking.networkd.vlan") (onFullSupported "nixos.tests.systemd-networkd-ipv6-prefix-delegation") (onFullSupported "nixos.tests.nfs4.simple") - (onSystems ["x86_64-linux"] "nixos.tests.oci-containers.podman") + (onSystems [ "x86_64-linux" ] "nixos.tests.oci-containers.podman") (onFullSupported "nixos.tests.openssh") (onFullSupported "nixos.tests.pantheon") (onFullSupported "nixos.tests.php.fpm") (onFullSupported "nixos.tests.php.httpd") (onFullSupported "nixos.tests.php.pcre") (onFullSupported "nixos.tests.plasma5") - (onSystems ["x86_64-linux"] "nixos.tests.podman") + (onSystems [ "x86_64-linux" ] "nixos.tests.podman") (onFullSupported "nixos.tests.predictable-interface-names.predictableNetworkd") (onFullSupported "nixos.tests.predictable-interface-names.predictable") (onFullSupported "nixos.tests.predictable-interface-names.unpredictableNetworkd") @@ -168,7 +189,7 @@ in rec { (onFullSupported "nixos.tests.xfce") (onFullSupported "nixpkgs.emacs") (onFullSupported "nixpkgs.jdk") - (onSystems ["x86_64-linux"] "nixpkgs.mesa_i686") # i686 sanity check + useful + (onSystems [ "x86_64-linux" ] "nixpkgs.mesa_i686") # i686 sanity check + useful [ "nixpkgs.tarball" "nixpkgs.release-checks" diff --git a/nixos/release-small.nix b/nixos/release-small.nix index d3a70506ddecb..d2dc59b8ebabb 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -6,9 +6,17 @@ # # nix-build nixos/release-small.nix -A # -{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; } -, stableBranch ? false -, supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux +{ + nixpkgs ? { + outPath = (import ../lib).cleanSource ./..; + revCount = 56789; + shortRev = "gfedcba"; + }, + stableBranch ? false, + supportedSystems ? [ + "aarch64-linux" + "x86_64-linux" + ], # no i686-linux }: let @@ -29,10 +37,16 @@ let nixpkgs = nixpkgsSrc; }) [ "unstable" ]; -in rec { +in +rec { nixos = { - inherit (nixos') channel manual options dummy; + inherit (nixos') + channel + manual + options + dummy + ; tests = { inherit (nixos'.tests) acme @@ -48,13 +62,15 @@ in rec { php predictable-interface-names proxy - simple; + simple + ; installer = { inherit (nixos'.tests.installer) lvm separateBoot simple - simpleUefiSystemdBoot; + simpleUefiSystemdBoot + ; }; }; }; @@ -84,58 +100,61 @@ in rec { subversion tarball vim - tests-stdenv-gcc-stageCompare; + tests-stdenv-gcc-stageCompare + ; }; - tested = let - onSupported = x: map (system: "${x}.${system}") supportedSystems; - onSystems = systems: x: map (system: "${x}.${system}") - (pkgs.lib.intersectLists systems supportedSystems); - in pkgs.releaseTools.aggregate { - name = "nixos-${nixos.channel.version}"; - meta = { - description = "Release-critical builds for the NixOS channel"; - maintainers = [ ]; + tested = + let + onSupported = x: map (system: "${x}.${system}") supportedSystems; + onSystems = + systems: x: map (system: "${x}.${system}") (pkgs.lib.intersectLists systems supportedSystems); + in + pkgs.releaseTools.aggregate { + name = "nixos-${nixos.channel.version}"; + meta = { + description = "Release-critical builds for the NixOS channel"; + maintainers = [ ]; + }; + constituents = lib.flatten [ + [ + "nixos.channel" + "nixpkgs.tarball" + "nixpkgs.release-checks" + ] + (map (onSystems [ "x86_64-linux" ]) [ + "nixos.tests.installer.lvm" + "nixos.tests.installer.separateBoot" + "nixos.tests.installer.simple" + ]) + (map onSupported [ + "nixos.dummy" + "nixos.manual" + "nixos.tests.acme" + "nixos.tests.containers-imperative" + "nixos.tests.containers-ip" + "nixos.tests.firewall" + "nixos.tests.ipv6" + "nixos.tests.installer.simpleUefiSystemdBoot" + "nixos.tests.login" + "nixos.tests.misc" + "nixos.tests.nat.firewall" + "nixos.tests.nat.standalone" + "nixos.tests.nfs4.simple" + "nixos.tests.openssh" + "nixos.tests.php.fpm" + "nixos.tests.php.pcre" + "nixos.tests.predictable-interface-names.predictable" + "nixos.tests.predictable-interface-names.predictableNetworkd" + "nixos.tests.predictable-interface-names.unpredictable" + "nixos.tests.predictable-interface-names.unpredictableNetworkd" + "nixos.tests.proxy" + "nixos.tests.simple" + "nixpkgs.jdk" + "nixpkgs.tests-stdenv-gcc-stageCompare" + "nixpkgs.opensshTest" + ]) + ]; }; - constituents = lib.flatten [ - [ - "nixos.channel" - "nixpkgs.tarball" - "nixpkgs.release-checks" - ] - (map (onSystems [ "x86_64-linux" ]) [ - "nixos.tests.installer.lvm" - "nixos.tests.installer.separateBoot" - "nixos.tests.installer.simple" - ]) - (map onSupported [ - "nixos.dummy" - "nixos.manual" - "nixos.tests.acme" - "nixos.tests.containers-imperative" - "nixos.tests.containers-ip" - "nixos.tests.firewall" - "nixos.tests.ipv6" - "nixos.tests.installer.simpleUefiSystemdBoot" - "nixos.tests.login" - "nixos.tests.misc" - "nixos.tests.nat.firewall" - "nixos.tests.nat.standalone" - "nixos.tests.nfs4.simple" - "nixos.tests.openssh" - "nixos.tests.php.fpm" - "nixos.tests.php.pcre" - "nixos.tests.predictable-interface-names.predictable" - "nixos.tests.predictable-interface-names.predictableNetworkd" - "nixos.tests.predictable-interface-names.unpredictable" - "nixos.tests.predictable-interface-names.unpredictableNetworkd" - "nixos.tests.proxy" - "nixos.tests.simple" - "nixpkgs.jdk" - "nixpkgs.tests-stdenv-gcc-stageCompare" - "nixpkgs.opensshTest" - ]) - ]; - }; } diff --git a/nixos/tests/3proxy.nix b/nixos/tests/3proxy.nix index b80b4e166d481..c888f16f8e1d6 100644 --- a/nixos/tests/3proxy.nix +++ b/nixos/tests/3proxy.nix @@ -1,134 +1,152 @@ -{ lib, pkgs, ... }: { +{ lib, pkgs, ... }: +{ name = "3proxy"; meta.maintainers = with lib.maintainers; [ misuzu ]; nodes = { - peer0 = { lib, ... }: { - networking.useDHCP = false; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { - address = "192.168.0.1"; - prefixLength = 24; - } - { - address = "216.58.211.111"; - prefixLength = 24; - } - ]; + peer0 = + { lib, ... }: + { + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + { + address = "216.58.211.111"; + prefixLength = 24; + } + ]; + }; }; - }; - peer1 = { lib, ... }: { - networking.useDHCP = false; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { - address = "192.168.0.2"; - prefixLength = 24; - } - { - address = "216.58.211.112"; - prefixLength = 24; - } - ]; - }; - # test that binding to [::] is working when ipv6 is disabled - networking.enableIPv6 = false; - services._3proxy = { - enable = true; - services = [ - { - type = "admin"; - bindPort = 9999; - auth = [ "none" ]; - } - { - type = "proxy"; - bindPort = 3128; - auth = [ "none" ]; - } + peer1 = + { lib, ... }: + { + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.0.2"; + prefixLength = 24; + } + { + address = "216.58.211.112"; + prefixLength = 24; + } + ]; + }; + # test that binding to [::] is working when ipv6 is disabled + networking.enableIPv6 = false; + services._3proxy = { + enable = true; + services = [ + { + type = "admin"; + bindPort = 9999; + auth = [ "none" ]; + } + { + type = "proxy"; + bindPort = 3128; + auth = [ "none" ]; + } + ]; + }; + networking.firewall.allowedTCPPorts = [ + 3128 + 9999 ]; }; - networking.firewall.allowedTCPPorts = [ 3128 9999 ]; - }; - peer2 = { lib, ... }: { - networking.useDHCP = false; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { - address = "192.168.0.3"; - prefixLength = 24; - } - { - address = "216.58.211.113"; - prefixLength = 24; - } + peer2 = + { lib, ... }: + { + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.0.3"; + prefixLength = 24; + } + { + address = "216.58.211.113"; + prefixLength = 24; + } + ]; + }; + services._3proxy = { + enable = true; + services = [ + { + type = "admin"; + bindPort = 9999; + auth = [ "none" ]; + } + { + type = "proxy"; + bindPort = 3128; + auth = [ "iponly" ]; + acl = [ + { + rule = "allow"; + } + ]; + } + ]; + }; + networking.firewall.allowedTCPPorts = [ + 3128 + 9999 ]; }; - services._3proxy = { - enable = true; - services = [ - { - type = "admin"; - bindPort = 9999; - auth = [ "none" ]; - } - { - type = "proxy"; - bindPort = 3128; - auth = [ "iponly" ]; - acl = [ - { - rule = "allow"; - } - ]; - } - ]; - }; - networking.firewall.allowedTCPPorts = [ 3128 9999 ]; - }; - peer3 = { lib, pkgs, ... }: { - networking.useDHCP = false; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { - address = "192.168.0.4"; - prefixLength = 24; - } - { - address = "216.58.211.114"; - prefixLength = 24; - } - ]; - }; - services._3proxy = { - enable = true; - usersFile = pkgs.writeText "3proxy.passwd" '' - admin:CR:$1$.GUV4Wvk$WnEVQtaqutD9.beO5ar1W/ - ''; - services = [ - { - type = "admin"; - bindPort = 9999; - auth = [ "none" ]; - } - { - type = "proxy"; - bindPort = 3128; - auth = [ "strong" ]; - acl = [ - { - rule = "allow"; - } - ]; - } + peer3 = + { lib, pkgs, ... }: + { + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.0.4"; + prefixLength = 24; + } + { + address = "216.58.211.114"; + prefixLength = 24; + } + ]; + }; + services._3proxy = { + enable = true; + usersFile = pkgs.writeText "3proxy.passwd" '' + admin:CR:$1$.GUV4Wvk$WnEVQtaqutD9.beO5ar1W/ + ''; + services = [ + { + type = "admin"; + bindPort = 9999; + auth = [ "none" ]; + } + { + type = "proxy"; + bindPort = 3128; + auth = [ "strong" ]; + acl = [ + { + rule = "allow"; + } + ]; + } + ]; + }; + networking.firewall.allowedTCPPorts = [ + 3128 + 9999 ]; }; - networking.firewall.allowedTCPPorts = [ 3128 9999 ]; - }; }; testScript = '' diff --git a/nixos/tests/aaaaxy.nix b/nixos/tests/aaaaxy.nix index 19861198c3697..9fa66f6e4e317 100644 --- a/nixos/tests/aaaaxy.nix +++ b/nixos/tests/aaaaxy.nix @@ -1,4 +1,5 @@ -{ pkgs, lib, ... }: { +{ pkgs, lib, ... }: +{ name = "aaaaxy"; meta.maintainers = with lib.maintainers; [ Luflosi ]; diff --git a/nixos/tests/acme-dns.nix b/nixos/tests/acme-dns.nix index 92d9498fe714e..16c33c8460e52 100644 --- a/nixos/tests/acme-dns.nix +++ b/nixos/tests/acme-dns.nix @@ -1,50 +1,58 @@ -import ./make-test-python.nix ({ ... }: { - name = "acme-dns"; - - nodes.machine = { pkgs, ... }: { - services.acme-dns = { - enable = true; - settings = { - general = rec { - domain = "acme-dns.home.arpa"; - nsname = domain; - nsadmin = "admin.home.arpa"; - records = [ - "${domain}. A 127.0.0.1" - "${domain}. AAAA ::1" - "${domain}. NS ${domain}." - ]; +import ./make-test-python.nix ( + { ... }: + { + name = "acme-dns"; + + nodes.machine = + { pkgs, ... }: + { + services.acme-dns = { + enable = true; + settings = { + general = rec { + domain = "acme-dns.home.arpa"; + nsname = domain; + nsadmin = "admin.home.arpa"; + records = [ + "${domain}. A 127.0.0.1" + "${domain}. AAAA ::1" + "${domain}. NS ${domain}." + ]; + }; + logconfig.loglevel = "debug"; + }; }; - logconfig.loglevel = "debug"; + environment.systemPackages = with pkgs; [ + curl + bind + ]; }; - }; - environment.systemPackages = with pkgs; [ curl bind ]; - }; - testScript = '' - import json + testScript = '' + import json - machine.wait_for_unit("acme-dns.service") - machine.wait_for_open_port(53) # dns - machine.wait_for_open_port(8080) # http api + machine.wait_for_unit("acme-dns.service") + machine.wait_for_open_port(53) # dns + machine.wait_for_open_port(8080) # http api - result = machine.succeed("curl --fail -X POST http://localhost:8080/register") - print(result) + result = machine.succeed("curl --fail -X POST http://localhost:8080/register") + print(result) - registration = json.loads(result) + registration = json.loads(result) - machine.succeed(f'dig -t TXT @localhost {registration["fulldomain"]} | grep "SOA" | grep "admin.home.arpa"') + machine.succeed(f'dig -t TXT @localhost {registration["fulldomain"]} | grep "SOA" | grep "admin.home.arpa"') - # acme-dns exspects a TXT value string length of exactly 43 chars - txt = "___dummy_validation_token_for_txt_record___" + # acme-dns exspects a TXT value string length of exactly 43 chars + txt = "___dummy_validation_token_for_txt_record___" - machine.succeed( - "curl --fail -X POST http://localhost:8080/update " - + f' -H "X-Api-User: {registration["username"]}"' - + f' -H "X-Api-Key: {registration["password"]}"' - + f' -d \'{{"subdomain":"{registration["subdomain"]}", "txt":"{txt}"}}\''' - ) + machine.succeed( + "curl --fail -X POST http://localhost:8080/update " + + f' -H "X-Api-User: {registration["username"]}"' + + f' -H "X-Api-Key: {registration["password"]}"' + + f' -d \'{{"subdomain":"{registration["subdomain"]}", "txt":"{txt}"}}\''' + ) - assert txt in machine.succeed(f'dig -t TXT +short @localhost {registration["fulldomain"]}') - ''; -}) + assert txt in machine.succeed(f'dig -t TXT +short @localhost {registration["fulldomain"]}') + ''; + } +) diff --git a/nixos/tests/activation/etc-overlay-immutable.nix b/nixos/tests/activation/etc-overlay-immutable.nix index 882bc651841a6..da1ea317440c8 100644 --- a/nixos/tests/activation/etc-overlay-immutable.nix +++ b/nixos/tests/activation/etc-overlay-immutable.nix @@ -1,96 +1,100 @@ -{ lib, ... }: { +{ lib, ... }: +{ name = "activation-etc-overlay-immutable"; meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { pkgs, ... }: { - system.etc.overlay.enable = true; - system.etc.overlay.mutable = false; - - # Prerequisites - systemd.sysusers.enable = true; - users.mutableUsers = false; - boot.initrd.systemd.enable = true; - boot.kernelPackages = pkgs.linuxPackages_latest; - time.timeZone = "Utc"; - - # The standard resolvconf service tries to write to /etc and crashes, - # which makes nixos-rebuild exit uncleanly when switching into the new generation - services.resolved.enable = true; - - environment.etc = { - "mountpoint/.keep".text = "keep"; - "filemount".text = "keep"; - }; - - specialisation.new-generation.configuration = { - environment.etc."newgen".text = "newgen"; - }; - specialisation.newer-generation.configuration = { - environment.etc."newergen".text = "newergen"; + nodes.machine = + { pkgs, ... }: + { + system.etc.overlay.enable = true; + system.etc.overlay.mutable = false; + + # Prerequisites + systemd.sysusers.enable = true; + users.mutableUsers = false; + boot.initrd.systemd.enable = true; + boot.kernelPackages = pkgs.linuxPackages_latest; + time.timeZone = "Utc"; + + # The standard resolvconf service tries to write to /etc and crashes, + # which makes nixos-rebuild exit uncleanly when switching into the new generation + services.resolved.enable = true; + + environment.etc = { + "mountpoint/.keep".text = "keep"; + "filemount".text = "keep"; + }; + + specialisation.new-generation.configuration = { + environment.etc."newgen".text = "newgen"; + }; + specialisation.newer-generation.configuration = { + environment.etc."newergen".text = "newergen"; + }; }; - }; - testScript = /* python */ '' - newergen = machine.succeed("realpath /run/current-system/specialisation/newer-generation/bin/switch-to-configuration").rstrip() + testScript = # python + '' + newergen = machine.succeed("realpath /run/current-system/specialisation/newer-generation/bin/switch-to-configuration").rstrip() - with subtest("/run/etc-metadata/ is mounted"): - print(machine.succeed("mountpoint /run/etc-metadata")) + with subtest("/run/etc-metadata/ is mounted"): + print(machine.succeed("mountpoint /run/etc-metadata")) - with subtest("No temporary files leaked into stage 2"): - machine.succeed("[ ! -e /etc-metadata-image ]") - machine.succeed("[ ! -e /etc-basedir ]") + with subtest("No temporary files leaked into stage 2"): + machine.succeed("[ ! -e /etc-metadata-image ]") + machine.succeed("[ ! -e /etc-basedir ]") - with subtest("/etc is mounted as an overlay"): - machine.succeed("findmnt --kernel --type overlay /etc") + with subtest("/etc is mounted as an overlay"): + machine.succeed("findmnt --kernel --type overlay /etc") - with subtest("direct symlinks point to the target without indirection"): - assert machine.succeed("readlink -n /etc/localtime") == "/etc/zoneinfo/Utc" + with subtest("direct symlinks point to the target without indirection"): + assert machine.succeed("readlink -n /etc/localtime") == "/etc/zoneinfo/Utc" - with subtest("/etc/mtab points to the right file"): - assert "/proc/mounts" == machine.succeed("readlink --no-newline /etc/mtab") + with subtest("/etc/mtab points to the right file"): + assert "/proc/mounts" == machine.succeed("readlink --no-newline /etc/mtab") - with subtest("Correct mode on the source password files"): - assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/passwd") == "644\n" - assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/group") == "644\n" - assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/shadow") == "0\n" - assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/gshadow") == "0\n" + with subtest("Correct mode on the source password files"): + assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/passwd") == "644\n" + assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/group") == "644\n" + assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/shadow") == "0\n" + assert machine.succeed("stat -c '%a' /var/lib/nixos/etc/gshadow") == "0\n" - with subtest("Password files are symlinks to /var/lib/nixos/etc"): - assert machine.succeed("readlink -f /etc/passwd") == "/var/lib/nixos/etc/passwd\n" - assert machine.succeed("readlink -f /etc/group") == "/var/lib/nixos/etc/group\n" - assert machine.succeed("readlink -f /etc/shadow") == "/var/lib/nixos/etc/shadow\n" - assert machine.succeed("readlink -f /etc/gshadow") == "/var/lib/nixos/etc/gshadow\n" + with subtest("Password files are symlinks to /var/lib/nixos/etc"): + assert machine.succeed("readlink -f /etc/passwd") == "/var/lib/nixos/etc/passwd\n" + assert machine.succeed("readlink -f /etc/group") == "/var/lib/nixos/etc/group\n" + assert machine.succeed("readlink -f /etc/shadow") == "/var/lib/nixos/etc/shadow\n" + assert machine.succeed("readlink -f /etc/gshadow") == "/var/lib/nixos/etc/gshadow\n" - with subtest("switching to the same generation"): - machine.succeed("/run/current-system/bin/switch-to-configuration test") + with subtest("switching to the same generation"): + machine.succeed("/run/current-system/bin/switch-to-configuration test") - with subtest("the initrd didn't get rebuilt"): - machine.succeed("test /run/current-system/initrd -ef /run/current-system/specialisation/new-generation/initrd") + with subtest("the initrd didn't get rebuilt"): + machine.succeed("test /run/current-system/initrd -ef /run/current-system/specialisation/new-generation/initrd") - with subtest("switching to a new generation"): - machine.fail("stat /etc/newgen") + with subtest("switching to a new generation"): + machine.fail("stat /etc/newgen") - machine.succeed("mount -t tmpfs tmpfs /etc/mountpoint") - machine.succeed("touch /etc/mountpoint/extra-file") - machine.succeed("mount --bind /dev/null /etc/filemount") + machine.succeed("mount -t tmpfs tmpfs /etc/mountpoint") + machine.succeed("touch /etc/mountpoint/extra-file") + machine.succeed("mount --bind /dev/null /etc/filemount") - machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch") + machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch") - assert machine.succeed("cat /etc/newgen") == "newgen" + assert machine.succeed("cat /etc/newgen") == "newgen" - print(machine.succeed("findmnt /etc/mountpoint")) - print(machine.succeed("ls /etc/mountpoint")) - print(machine.succeed("stat /etc/mountpoint/extra-file")) - print(machine.succeed("findmnt /etc/filemount")) + print(machine.succeed("findmnt /etc/mountpoint")) + print(machine.succeed("ls /etc/mountpoint")) + print(machine.succeed("stat /etc/mountpoint/extra-file")) + print(machine.succeed("findmnt /etc/filemount")) - machine.succeed(f"{newergen} switch") + machine.succeed(f"{newergen} switch") - tmpMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc\\..*' | wc -l").rstrip() - metaMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc-metadata\\..*' | wc -l").rstrip() + tmpMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc\\..*' | wc -l").rstrip() + metaMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc-metadata\\..*' | wc -l").rstrip() - assert tmpMounts == "0", f"Found {tmpMounts} remaining tmpmounts" - assert metaMounts == "1", f"Found {metaMounts} remaining metamounts" - ''; + assert tmpMounts == "0", f"Found {tmpMounts} remaining tmpmounts" + assert metaMounts == "1", f"Found {metaMounts} remaining metamounts" + ''; } diff --git a/nixos/tests/activation/etc-overlay-mutable.nix b/nixos/tests/activation/etc-overlay-mutable.nix index ef465e3616c35..be87e11208948 100644 --- a/nixos/tests/activation/etc-overlay-mutable.nix +++ b/nixos/tests/activation/etc-overlay-mutable.nix @@ -1,73 +1,77 @@ -{ lib, ... }: { +{ lib, ... }: +{ name = "activation-etc-overlay-mutable"; meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { pkgs, ... }: { - system.etc.overlay.enable = true; - system.etc.overlay.mutable = true; - - # Prerequisites - boot.initrd.systemd.enable = true; - boot.kernelPackages = pkgs.linuxPackages_latest; - - specialisation.new-generation.configuration = { - environment.etc."newgen".text = "newgen"; - }; - specialisation.newer-generation.configuration = { - environment.etc."newergen".text = "newergen"; + nodes.machine = + { pkgs, ... }: + { + system.etc.overlay.enable = true; + system.etc.overlay.mutable = true; + + # Prerequisites + boot.initrd.systemd.enable = true; + boot.kernelPackages = pkgs.linuxPackages_latest; + + specialisation.new-generation.configuration = { + environment.etc."newgen".text = "newgen"; + }; + specialisation.newer-generation.configuration = { + environment.etc."newergen".text = "newergen"; + }; }; - }; - testScript = /* python */ '' - newergen = machine.succeed("realpath /run/current-system/specialisation/newer-generation/bin/switch-to-configuration").rstrip() + testScript = # python + '' + newergen = machine.succeed("realpath /run/current-system/specialisation/newer-generation/bin/switch-to-configuration").rstrip() - with subtest("/run/etc-metadata/ is mounted"): - print(machine.succeed("mountpoint /run/etc-metadata")) + with subtest("/run/etc-metadata/ is mounted"): + print(machine.succeed("mountpoint /run/etc-metadata")) - with subtest("No temporary files leaked into stage 2"): - machine.succeed("[ ! -e /etc-metadata-image ]") - machine.succeed("[ ! -e /etc-basedir ]") + with subtest("No temporary files leaked into stage 2"): + machine.succeed("[ ! -e /etc-metadata-image ]") + machine.succeed("[ ! -e /etc-basedir ]") - with subtest("/etc is mounted as an overlay"): - machine.succeed("findmnt --kernel --type overlay /etc") + with subtest("/etc is mounted as an overlay"): + machine.succeed("findmnt --kernel --type overlay /etc") - with subtest("switching to the same generation"): - machine.succeed("/run/current-system/bin/switch-to-configuration test") + with subtest("switching to the same generation"): + machine.succeed("/run/current-system/bin/switch-to-configuration test") - with subtest("the initrd didn't get rebuilt"): - machine.succeed("test /run/current-system/initrd -ef /run/current-system/specialisation/new-generation/initrd") + with subtest("the initrd didn't get rebuilt"): + machine.succeed("test /run/current-system/initrd -ef /run/current-system/specialisation/new-generation/initrd") - with subtest("switching to a new generation"): - machine.fail("stat /etc/newgen") - machine.succeed("echo -n 'mutable' > /etc/mutable") + with subtest("switching to a new generation"): + machine.fail("stat /etc/newgen") + machine.succeed("echo -n 'mutable' > /etc/mutable") - # Directory - machine.succeed("mkdir /etc/mountpoint") - machine.succeed("mount -t tmpfs tmpfs /etc/mountpoint") - machine.succeed("touch /etc/mountpoint/extra-file") + # Directory + machine.succeed("mkdir /etc/mountpoint") + machine.succeed("mount -t tmpfs tmpfs /etc/mountpoint") + machine.succeed("touch /etc/mountpoint/extra-file") - # File - machine.succeed("touch /etc/filemount") - machine.succeed("mount --bind /dev/null /etc/filemount") + # File + machine.succeed("touch /etc/filemount") + machine.succeed("mount --bind /dev/null /etc/filemount") - machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch") + machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch") - assert machine.succeed("cat /etc/newgen") == "newgen" - assert machine.succeed("cat /etc/mutable") == "mutable" + assert machine.succeed("cat /etc/newgen") == "newgen" + assert machine.succeed("cat /etc/mutable") == "mutable" - print(machine.succeed("findmnt /etc/mountpoint")) - print(machine.succeed("stat /etc/mountpoint/extra-file")) - print(machine.succeed("findmnt /etc/filemount")) + print(machine.succeed("findmnt /etc/mountpoint")) + print(machine.succeed("stat /etc/mountpoint/extra-file")) + print(machine.succeed("findmnt /etc/filemount")) - machine.succeed(f"{newergen} switch") - assert machine.succeed("cat /etc/newergen") == "newergen" + machine.succeed(f"{newergen} switch") + assert machine.succeed("cat /etc/newergen") == "newergen" - tmpMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc\\..*' | wc -l").rstrip() - metaMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc-metadata\\..*' | wc -l").rstrip() + tmpMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc\\..*' | wc -l").rstrip() + metaMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc-metadata\\..*' | wc -l").rstrip() - assert tmpMounts == "0", f"Found {tmpMounts} remaining tmpmounts" - assert metaMounts == "1", f"Found {metaMounts} remaining metamounts" - ''; + assert tmpMounts == "0", f"Found {tmpMounts} remaining tmpmounts" + assert metaMounts == "1", f"Found {metaMounts} remaining metamounts" + ''; } diff --git a/nixos/tests/activation/nix-channel.nix b/nixos/tests/activation/nix-channel.nix index d26ea98e56cc5..fac028b326599 100644 --- a/nixos/tests/activation/nix-channel.nix +++ b/nixos/tests/activation/nix-channel.nix @@ -10,17 +10,19 @@ nix.channel.enable = true; }; - testScript = { nodes, ... }: '' - machine.start(allow_reboot=True) + testScript = + { nodes, ... }: + '' + machine.start(allow_reboot=True) - assert machine.succeed("cat /root/.nix-channels") == "${nodes.machine.system.defaultChannel} nixos\n" + assert machine.succeed("cat /root/.nix-channels") == "${nodes.machine.system.defaultChannel} nixos\n" - nixpkgs_unstable_channel = "https://nixos.org/channels/nixpkgs-unstable nixpkgs" - machine.succeed(f"echo '{nixpkgs_unstable_channel}' > /root/.nix-channels") + nixpkgs_unstable_channel = "https://nixos.org/channels/nixpkgs-unstable nixpkgs" + machine.succeed(f"echo '{nixpkgs_unstable_channel}' > /root/.nix-channels") - machine.reboot() + machine.reboot() - assert machine.succeed("cat /root/.nix-channels") == f"{nixpkgs_unstable_channel}\n" - ''; + assert machine.succeed("cat /root/.nix-channels") == f"{nixpkgs_unstable_channel}\n" + ''; } diff --git a/nixos/tests/activation/perlless.nix b/nixos/tests/activation/perlless.nix index 4d784b4542f45..3e9e9f94583ef 100644 --- a/nixos/tests/activation/perlless.nix +++ b/nixos/tests/activation/perlless.nix @@ -6,14 +6,16 @@ meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { pkgs, modulesPath, ... }: { - imports = [ "${modulesPath}/profiles/perlless.nix" ]; + nodes.machine = + { pkgs, modulesPath, ... }: + { + imports = [ "${modulesPath}/profiles/perlless.nix" ]; - boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = pkgs.linuxPackages_latest; - virtualisation.mountHostNixStore = false; - virtualisation.useNixStoreImage = true; - }; + virtualisation.mountHostNixStore = false; + virtualisation.useNixStoreImage = true; + }; testScript = '' perl_store_paths = machine.succeed("ls /nix/store | grep perl || true") diff --git a/nixos/tests/adguardhome.nix b/nixos/tests/adguardhome.nix index 005d54e17dfdc..48bed55e3187a 100644 --- a/nixos/tests/adguardhome.nix +++ b/nixos/tests/adguardhome.nix @@ -2,7 +2,9 @@ name = "adguardhome"; nodes = { - nullConf = { services.adguardhome.enable = true; }; + nullConf = { + services.adguardhome.enable = true; + }; emptyConf = { services.adguardhome = { @@ -38,62 +40,73 @@ }; }; - dhcpConf = { lib, ... }: { - virtualisation.vlans = [ 1 ]; + dhcpConf = + { lib, ... }: + { + virtualisation.vlans = [ 1 ]; - networking = { - # Configure static IP for DHCP server - useDHCP = false; - interfaces."eth1" = lib.mkForce { + networking = { + # Configure static IP for DHCP server useDHCP = false; - ipv4 = { - addresses = [{ - address = "10.0.10.1"; - prefixLength = 24; - }]; - - routes = [{ - address = "10.0.10.0"; - prefixLength = 24; - }]; + interfaces."eth1" = lib.mkForce { + useDHCP = false; + ipv4 = { + addresses = [ + { + address = "10.0.10.1"; + prefixLength = 24; + } + ]; + + routes = [ + { + address = "10.0.10.0"; + prefixLength = 24; + } + ]; + }; }; - }; - # Required for DHCP - firewall.allowedUDPPorts = [ 67 68 ]; - }; + # Required for DHCP + firewall.allowedUDPPorts = [ + 67 + 68 + ]; + }; - services.adguardhome = { - enable = true; - allowDHCP = true; - mutableSettings = false; - settings = { - dns.bootstrap_dns = [ "127.0.0.1" ]; - dhcp = { - # This implicitly enables CAP_NET_RAW - enabled = true; - interface_name = "eth1"; - local_domain_name = "lan"; - dhcpv4 = { - gateway_ip = "10.0.10.1"; - range_start = "10.0.10.100"; - range_end = "10.0.10.101"; - subnet_mask = "255.255.255.0"; + services.adguardhome = { + enable = true; + allowDHCP = true; + mutableSettings = false; + settings = { + dns.bootstrap_dns = [ "127.0.0.1" ]; + dhcp = { + # This implicitly enables CAP_NET_RAW + enabled = true; + interface_name = "eth1"; + local_domain_name = "lan"; + dhcpv4 = { + gateway_ip = "10.0.10.1"; + range_start = "10.0.10.100"; + range_end = "10.0.10.101"; + subnet_mask = "255.255.255.0"; + }; }; }; }; }; - }; - client = { lib, ... }: { - virtualisation.vlans = [ 1 ]; - networking = { - interfaces.eth1 = { - useDHCP = true; - ipv4.addresses = lib.mkForce [ ]; + client = + { lib, ... }: + { + virtualisation.vlans = [ 1 ]; + networking = { + interfaces.eth1 = { + useDHCP = true; + ipv4.addresses = lib.mkForce [ ]; + }; }; }; - }; }; testScript = '' diff --git a/nixos/tests/aesmd.nix b/nixos/tests/aesmd.nix index 848e1c5992014..b7939508b0e39 100644 --- a/nixos/tests/aesmd.nix +++ b/nixos/tests/aesmd.nix @@ -1,44 +1,53 @@ -{ pkgs, lib, ... }: { +{ pkgs, lib, ... }: +{ name = "aesmd"; meta = { - maintainers = with lib.maintainers; [ trundle veehaitch ]; + maintainers = with lib.maintainers; [ + trundle + veehaitch + ]; }; - nodes.machine = { lib, ... }: { - services.aesmd = { - enable = true; - settings = { - defaultQuotingType = "ecdsa_256"; - proxyType = "direct"; - whitelistUrl = "http://nixos.org"; + nodes.machine = + { lib, ... }: + { + services.aesmd = { + enable = true; + settings = { + defaultQuotingType = "ecdsa_256"; + proxyType = "direct"; + whitelistUrl = "http://nixos.org"; + }; }; - }; - - # Should have access to the AESM socket - users.users."sgxtest" = { - isNormalUser = true; - extraGroups = [ "sgx" ]; - }; - # Should NOT have access to the AESM socket - users.users."nosgxtest".isNormalUser = true; - - # We don't have a real SGX machine in NixOS tests - systemd.services.aesmd.unitConfig.AssertPathExists = lib.mkForce [ ]; + # Should have access to the AESM socket + users.users."sgxtest" = { + isNormalUser = true; + extraGroups = [ "sgx" ]; + }; - specialisation = { - withQuoteProvider.configuration = { ... }: { - services.aesmd = { - quoteProviderLibrary = pkgs.sgx-azure-dcap-client; - environment = { - AZDCAP_DEBUG_LOG_LEVEL = "INFO"; + # Should NOT have access to the AESM socket + users.users."nosgxtest".isNormalUser = true; + + # We don't have a real SGX machine in NixOS tests + systemd.services.aesmd.unitConfig.AssertPathExists = lib.mkForce [ ]; + + specialisation = { + withQuoteProvider.configuration = + { ... }: + { + services.aesmd = { + quoteProviderLibrary = pkgs.sgx-azure-dcap-client; + environment = { + AZDCAP_DEBUG_LOG_LEVEL = "INFO"; + }; + }; }; - }; }; }; - }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: let specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; in diff --git a/nixos/tests/agda.nix b/nixos/tests/agda.nix index a8e90725c06b0..3f48c8353b63d 100644 --- a/nixos/tests/agda.nix +++ b/nixos/tests/agda.nix @@ -1,43 +1,49 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - hello-world = pkgs.writeText "hello-world" '' - {-# OPTIONS --guardedness #-} - open import IO - open import Level + let + hello-world = pkgs.writeText "hello-world" '' + {-# OPTIONS --guardedness #-} + open import IO + open import Level - main = run {0ℓ} (putStrLn "Hello World!") - ''; -in -{ - name = "agda"; - meta = with pkgs.lib.maintainers; { - maintainers = [ alexarice turion ]; - }; + main = run {0ℓ} (putStrLn "Hello World!") + ''; + in + { + name = "agda"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + alexarice + turion + ]; + }; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ - (pkgs.agda.withPackages { - pkgs = p: [ p.standard-library ]; - }) - ]; - virtualisation.memorySize = 2000; # Agda uses a lot of memory - }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.agda.withPackages { + pkgs = p: [ p.standard-library ]; + }) + ]; + virtualisation.memorySize = 2000; # Agda uses a lot of memory + }; - testScript = '' - # Minimal script that typechecks - machine.succeed("touch TestEmpty.agda") - machine.succeed("agda TestEmpty.agda") + testScript = '' + # Minimal script that typechecks + machine.succeed("touch TestEmpty.agda") + machine.succeed("agda TestEmpty.agda") - # Hello world - machine.succeed( - "cp ${hello-world} HelloWorld.agda" - ) - machine.succeed("agda -l standard-library -i . -c HelloWorld.agda") - # Check execution - assert "Hello World!" in machine.succeed( - "./HelloWorld" - ), "HelloWorld does not run properly" - ''; -} + # Hello world + machine.succeed( + "cp ${hello-world} HelloWorld.agda" + ) + machine.succeed("agda -l standard-library -i . -c HelloWorld.agda") + # Check execution + assert "Hello World!" in machine.succeed( + "./HelloWorld" + ), "HelloWorld does not run properly" + ''; + } ) diff --git a/nixos/tests/airsonic.nix b/nixos/tests/airsonic.nix index 69f979726bce4..d214d5d1e1f76 100644 --- a/nixos/tests/airsonic.nix +++ b/nixos/tests/airsonic.nix @@ -1,29 +1,32 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "airsonic"; - meta = with pkgs.lib.maintainers; { - maintainers = [ sumnerevans ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "airsonic"; + meta = with pkgs.lib.maintainers; { + maintainers = [ sumnerevans ]; + }; - nodes.machine = - { pkgs, ... }: - { - services.airsonic = { - enable = true; - maxMemory = 800; + nodes.machine = + { pkgs, ... }: + { + services.airsonic = { + enable = true; + maxMemory = 800; + }; }; - }; - testScript = '' - def airsonic_is_up(_) -> bool: - status, _ = machine.execute("curl --fail http://localhost:4040/login") - return status == 0 + testScript = '' + def airsonic_is_up(_) -> bool: + status, _ = machine.execute("curl --fail http://localhost:4040/login") + return status == 0 - machine.start() - machine.wait_for_unit("airsonic.service") - machine.wait_for_open_port(4040) + machine.start() + machine.wait_for_unit("airsonic.service") + machine.wait_for_open_port(4040) - with machine.nested("Waiting for UI to work"): - retry(airsonic_is_up) - ''; -}) + with machine.nested("Waiting for UI to work"): + retry(airsonic_is_up) + ''; + } +) diff --git a/nixos/tests/akkoma.nix b/nixos/tests/akkoma.nix index 2a9acd64b7c6c..1673d13e72ceb 100644 --- a/nixos/tests/akkoma.nix +++ b/nixos/tests/akkoma.nix @@ -5,120 +5,145 @@ TODO: Test federation. */ -import ./make-test-python.nix ({ pkgs, package ? pkgs.akkoma, confined ? false, ... }: -let - userPassword = "4LKOrGo8SgbPm1a6NclVU5Wb"; - - provisionUser = pkgs.writers.writeBashBin "provisionUser" '' - set -eu -o errtrace -o pipefail - - pleroma_ctl user new jamy jamy@nixos.test --password '${userPassword}' --moderator --admin -y - ''; - - tlsCert = pkgs.runCommand "selfSignedCerts" { - nativeBuildInputs = with pkgs; [ openssl ]; - } '' - mkdir -p $out - openssl req -x509 \ - -subj '/CN=akkoma.nixos.test/' -days 49710 \ - -addext 'subjectAltName = DNS:akkoma.nixos.test' \ - -keyout "$out/key.pem" -newkey ed25519 \ - -out "$out/cert.pem" -noenc - ''; - - sendToot = pkgs.writers.writeBashBin "sendToot" '' - set -eu -o errtrace -o pipefail - - export REQUESTS_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt" - - ${pkgs.toot}/bin/toot login_cli -i "akkoma.nixos.test" -e "jamy@nixos.test" -p '${userPassword}' - ${pkgs.toot}/bin/toot post "hello world Jamy here" - ${pkgs.toot}/bin/toot timeline -1 | grep -F -q "hello world Jamy here" - - # Test file upload - echo "y" | ${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none) \ - | grep -F -q "https://akkoma.nixos.test:443/media" - ''; - - checkFe = pkgs.writers.writeBashBin "checkFe" '' - set -eu -o errtrace -o pipefail - - paths=( / /static/{config,styles}.json /pleroma/admin/ ) - - for path in "''${paths[@]}"; do - diff \ - <(${pkgs.curl}/bin/curl -f -S -s -o /dev/null -w '%{response_code}' "https://akkoma.nixos.test$path") \ - <(echo -n 200) - done - ''; - - hosts = nodes: '' - ${nodes.akkoma.networking.primaryIPAddress} akkoma.nixos.test - ${nodes.client.networking.primaryIPAddress} client.nixos.test - ''; -in -{ - name = "akkoma"; - nodes = { - client = { nodes, pkgs, config, ... }: { - security.pki.certificateFiles = [ "${tlsCert}/cert.pem" ]; - networking.extraHosts = hosts nodes; - }; - - akkoma = { nodes, pkgs, config, ... }: { - networking.extraHosts = hosts nodes; - networking.firewall.allowedTCPPorts = [ 443 ]; - environment.systemPackages = with pkgs; [ provisionUser ]; - systemd.services.akkoma.confinement.enable = confined; - - services.akkoma = { - enable = true; - package = package; - config = { - ":pleroma" = { - ":instance" = { - name = "NixOS test Akkoma server"; - description = "NixOS test Akkoma server"; - email = "akkoma@nixos.test"; - notify_email = "akkoma@nixos.test"; - registration_open = true; - }; +import ./make-test-python.nix ( + { + pkgs, + package ? pkgs.akkoma, + confined ? false, + ... + }: + let + userPassword = "4LKOrGo8SgbPm1a6NclVU5Wb"; + + provisionUser = pkgs.writers.writeBashBin "provisionUser" '' + set -eu -o errtrace -o pipefail + + pleroma_ctl user new jamy jamy@nixos.test --password '${userPassword}' --moderator --admin -y + ''; + + tlsCert = + pkgs.runCommand "selfSignedCerts" + { + nativeBuildInputs = with pkgs; [ openssl ]; + } + '' + mkdir -p $out + openssl req -x509 \ + -subj '/CN=akkoma.nixos.test/' -days 49710 \ + -addext 'subjectAltName = DNS:akkoma.nixos.test' \ + -keyout "$out/key.pem" -newkey ed25519 \ + -out "$out/cert.pem" -noenc + ''; + + sendToot = pkgs.writers.writeBashBin "sendToot" '' + set -eu -o errtrace -o pipefail + + export REQUESTS_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt" + + ${pkgs.toot}/bin/toot login_cli -i "akkoma.nixos.test" -e "jamy@nixos.test" -p '${userPassword}' + ${pkgs.toot}/bin/toot post "hello world Jamy here" + ${pkgs.toot}/bin/toot timeline -1 | grep -F -q "hello world Jamy here" + + # Test file upload + echo "y" | ${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none) \ + | grep -F -q "https://akkoma.nixos.test:443/media" + ''; + + checkFe = pkgs.writers.writeBashBin "checkFe" '' + set -eu -o errtrace -o pipefail + + paths=( / /static/{config,styles}.json /pleroma/admin/ ) + + for path in "''${paths[@]}"; do + diff \ + <(${pkgs.curl}/bin/curl -f -S -s -o /dev/null -w '%{response_code}' "https://akkoma.nixos.test$path") \ + <(echo -n 200) + done + ''; + + hosts = nodes: '' + ${nodes.akkoma.networking.primaryIPAddress} akkoma.nixos.test + ${nodes.client.networking.primaryIPAddress} client.nixos.test + ''; + in + { + name = "akkoma"; + nodes = { + client = + { + nodes, + pkgs, + config, + ... + }: + { + security.pki.certificateFiles = [ "${tlsCert}/cert.pem" ]; + networking.extraHosts = hosts nodes; + }; - ":media_proxy" = { - enabled = false; + akkoma = + { + nodes, + pkgs, + config, + ... + }: + { + networking.extraHosts = hosts nodes; + networking.firewall.allowedTCPPorts = [ 443 ]; + environment.systemPackages = with pkgs; [ provisionUser ]; + systemd.services.akkoma.confinement.enable = confined; + + services.akkoma = { + enable = true; + package = package; + config = { + ":pleroma" = { + ":instance" = { + name = "NixOS test Akkoma server"; + description = "NixOS test Akkoma server"; + email = "akkoma@nixos.test"; + notify_email = "akkoma@nixos.test"; + registration_open = true; + }; + + ":media_proxy" = { + enabled = false; + }; + + "Pleroma.Web.Endpoint" = { + url.host = "akkoma.nixos.test"; + }; + "Pleroma.Upload" = { + base_url = "https://akkoma.nixos.test:443/media/"; + }; + }; }; - "Pleroma.Web.Endpoint" = { - url.host = "akkoma.nixos.test"; - }; - "Pleroma.Upload" = { - base_url = "https://akkoma.nixos.test:443/media/"; + nginx = { + addSSL = true; + sslCertificate = "${tlsCert}/cert.pem"; + sslCertificateKey = "${tlsCert}/key.pem"; }; }; - }; - nginx = { - addSSL = true; - sslCertificate = "${tlsCert}/cert.pem"; - sslCertificateKey = "${tlsCert}/key.pem"; + services.nginx.enable = true; + services.postgresql.enable = true; }; - }; - - services.nginx.enable = true; - services.postgresql.enable = true; }; - }; - - testScript = { nodes, ... }: '' - start_all() - akkoma.wait_for_unit('akkoma-initdb.service') - akkoma.systemctl('restart akkoma-initdb.service') # test repeated initialisation - akkoma.wait_for_unit('akkoma.service') - akkoma.wait_for_file('/run/akkoma/socket'); - akkoma.succeed('${provisionUser}/bin/provisionUser') - akkoma.wait_for_unit('nginx.service') - client.succeed('${sendToot}/bin/sendToot') - client.succeed('${checkFe}/bin/checkFe') - ''; -}) + testScript = + { nodes, ... }: + '' + start_all() + akkoma.wait_for_unit('akkoma-initdb.service') + akkoma.systemctl('restart akkoma-initdb.service') # test repeated initialisation + akkoma.wait_for_unit('akkoma.service') + akkoma.wait_for_file('/run/akkoma/socket'); + akkoma.succeed('${provisionUser}/bin/provisionUser') + akkoma.wait_for_unit('nginx.service') + client.succeed('${sendToot}/bin/sendToot') + client.succeed('${checkFe}/bin/checkFe') + ''; + } +) diff --git a/nixos/tests/alice-lg.nix b/nixos/tests/alice-lg.nix index 640e60030a04e..177f7364685d9 100644 --- a/nixos/tests/alice-lg.nix +++ b/nixos/tests/alice-lg.nix @@ -1,7 +1,11 @@ # This test does a basic functionality check for alice-lg -{ system ? builtins.currentSystem -, pkgs ? import ../.. { inherit system; config = { }; } +{ + system ? builtins.currentSystem, + pkgs ? import ../.. { + inherit system; + config = { }; + }, }: let diff --git a/nixos/tests/all-terminfo.nix b/nixos/tests/all-terminfo.nix index 2f5e56f09f26b..9eddb6be94f60 100644 --- a/nixos/tests/all-terminfo.nix +++ b/nixos/tests/all-terminfo.nix @@ -1,35 +1,48 @@ -import ./make-test-python.nix ({ pkgs, ... }: rec { - name = "all-terminfo"; - meta = with pkgs.lib.maintainers; { - maintainers = [ jkarlson ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + rec { + name = "all-terminfo"; + meta = with pkgs.lib.maintainers; { + maintainers = [ jkarlson ]; + }; - nodes.machine = { pkgs, config, lib, ... }: - let - infoFilter = name: drv: - let - o = builtins.tryEval drv; - in - o.success && - lib.isDerivation o.value && - o.value ? outputs && - builtins.elem "terminfo" o.value.outputs && - !o.value.meta.broken; - terminfos = lib.filterAttrs infoFilter pkgs; - excludedTerminfos = lib.filterAttrs (_: drv: !(builtins.elem drv.terminfo config.environment.systemPackages)) terminfos; - includedOuts = lib.filterAttrs (_: drv: builtins.elem drv.out config.environment.systemPackages) terminfos; - in - { - environment = { - enableAllTerminfo = true; - etc."terminfo-missing".text = builtins.concatStringsSep "\n" (builtins.attrNames excludedTerminfos); - etc."terminfo-extra-outs".text = builtins.concatStringsSep "\n" (builtins.attrNames includedOuts); + nodes.machine = + { + pkgs, + config, + lib, + ... + }: + let + infoFilter = + name: drv: + let + o = builtins.tryEval drv; + in + o.success + && lib.isDerivation o.value + && o.value ? outputs + && builtins.elem "terminfo" o.value.outputs + && !o.value.meta.broken; + terminfos = lib.filterAttrs infoFilter pkgs; + excludedTerminfos = lib.filterAttrs ( + _: drv: !(builtins.elem drv.terminfo config.environment.systemPackages) + ) terminfos; + includedOuts = lib.filterAttrs ( + _: drv: builtins.elem drv.out config.environment.systemPackages + ) terminfos; + in + { + environment = { + enableAllTerminfo = true; + etc."terminfo-missing".text = builtins.concatStringsSep "\n" (builtins.attrNames excludedTerminfos); + etc."terminfo-extra-outs".text = builtins.concatStringsSep "\n" (builtins.attrNames includedOuts); + }; }; - }; - testScript = - '' + testScript = '' machine.fail("grep . /etc/terminfo-missing >&2") machine.fail("grep . /etc/terminfo-extra-outs >&2") ''; -}) + } +) diff --git a/nixos/tests/alloy.nix b/nixos/tests/alloy.nix index d87492127d5bb..d6595c61f991f 100644 --- a/nixos/tests/alloy.nix +++ b/nixos/tests/alloy.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: let nodes = { @@ -14,7 +15,10 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: name = "alloy"; meta = with lib.maintainers; { - maintainers = [ flokli hbjydev ]; + maintainers = [ + flokli + hbjydev + ]; }; inherit nodes; @@ -29,4 +33,5 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: ) machine.shutdown() ''; - }) + } +) diff --git a/nixos/tests/alps.nix b/nixos/tests/alps.nix index 9756f2d4da155..3e990cea8035f 100644 --- a/nixos/tests/alps.nix +++ b/nixos/tests/alps.nix @@ -2,107 +2,118 @@ let certs = import ./common/acme/server/snakeoil-certs.nix; domain = certs.domain; in -import ./make-test-python.nix ({ pkgs, ... }: { - name = "alps"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hmenke ]; - }; - - nodes = { - server = { - imports = [ ./common/user-account.nix ]; - security.pki.certificateFiles = [ - certs.ca.cert - ]; - networking.extraHosts = '' - 127.0.0.1 ${domain} - ''; - networking.firewall.allowedTCPPorts = [ 25 465 993 ]; - services.postfix = { - enable = true; - enableSubmission = true; - enableSubmissions = true; - tlsTrustedAuthorities = "${certs.ca.cert}"; - sslCert = "${certs.${domain}.cert}"; - sslKey = "${certs.${domain}.key}"; - }; - services.dovecot2 = { - enable = true; - enableImap = true; - sslCACert = "${certs.ca.cert}"; - sslServerCert = "${certs.${domain}.cert}"; - sslServerKey = "${certs.${domain}.key}"; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "alps"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hmenke ]; }; - client = { nodes, config, ... }: { - security.pki.certificateFiles = [ - certs.ca.cert - ]; - networking.extraHosts = '' - ${nodes.server.config.networking.primaryIPAddress} ${domain} - ''; - services.alps = { - enable = true; - theme = "alps"; - imaps = { - host = domain; - port = 993; + nodes = { + server = { + imports = [ ./common/user-account.nix ]; + security.pki.certificateFiles = [ + certs.ca.cert + ]; + networking.extraHosts = '' + 127.0.0.1 ${domain} + ''; + networking.firewall.allowedTCPPorts = [ + 25 + 465 + 993 + ]; + services.postfix = { + enable = true; + enableSubmission = true; + enableSubmissions = true; + tlsTrustedAuthorities = "${certs.ca.cert}"; + sslCert = "${certs.${domain}.cert}"; + sslKey = "${certs.${domain}.key}"; }; - smtps = { - host = domain; - port = 465; + services.dovecot2 = { + enable = true; + enableImap = true; + sslCACert = "${certs.ca.cert}"; + sslServerCert = "${certs.${domain}.cert}"; + sslServerKey = "${certs.${domain}.key}"; }; }; - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "test-alps-login" { } '' - from urllib.request import build_opener, HTTPCookieProcessor, Request - from urllib.parse import urlencode, urljoin - from http.cookiejar import CookieJar - baseurl = "http://localhost:${toString config.services.alps.port}" - username = "alice" - password = "${nodes.server.config.users.users.alice.password}" - cookiejar = CookieJar() - cookieprocessor = HTTPCookieProcessor(cookiejar) - opener = build_opener(cookieprocessor) + client = + { nodes, config, ... }: + { + security.pki.certificateFiles = [ + certs.ca.cert + ]; + networking.extraHosts = '' + ${nodes.server.config.networking.primaryIPAddress} ${domain} + ''; + services.alps = { + enable = true; + theme = "alps"; + imaps = { + host = domain; + port = 993; + }; + smtps = { + host = domain; + port = 465; + }; + }; + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "test-alps-login" { } '' + from urllib.request import build_opener, HTTPCookieProcessor, Request + from urllib.parse import urlencode, urljoin + from http.cookiejar import CookieJar + + baseurl = "http://localhost:${toString config.services.alps.port}" + username = "alice" + password = "${nodes.server.config.users.users.alice.password}" + cookiejar = CookieJar() + cookieprocessor = HTTPCookieProcessor(cookiejar) + opener = build_opener(cookieprocessor) - data = urlencode({"username": username, "password": password}).encode() - req = Request(urljoin(baseurl, "login"), data=data, method="POST") - with opener.open(req) as ret: - # Check that the alps_session cookie is set - print(cookiejar) - assert any(cookie.name == "alps_session" for cookie in cookiejar) + data = urlencode({"username": username, "password": password}).encode() + req = Request(urljoin(baseurl, "login"), data=data, method="POST") + with opener.open(req) as ret: + # Check that the alps_session cookie is set + print(cookiejar) + assert any(cookie.name == "alps_session" for cookie in cookiejar) - req = Request(baseurl) - with opener.open(req) as ret: - # Check that the alps_session cookie is still there... - print(cookiejar) - assert any(cookie.name == "alps_session" for cookie in cookiejar) - # ...and that we have not been redirected back to the login page - print(ret.url) - assert ret.url == urljoin(baseurl, "mailbox/INBOX") + req = Request(baseurl) + with opener.open(req) as ret: + # Check that the alps_session cookie is still there... + print(cookiejar) + assert any(cookie.name == "alps_session" for cookie in cookiejar) + # ...and that we have not been redirected back to the login page + print(ret.url) + assert ret.url == urljoin(baseurl, "mailbox/INBOX") - req = Request(urljoin(baseurl, "logout")) - with opener.open(req) as ret: - # Check that the alps_session cookie is now gone - print(cookiejar) - assert all(cookie.name != "alps_session" for cookie in cookiejar) - '') - ]; + req = Request(urljoin(baseurl, "logout")) + with opener.open(req) as ret: + # Check that the alps_session cookie is now gone + print(cookiejar) + assert all(cookie.name != "alps_session" for cookie in cookiejar) + '') + ]; + }; }; - }; - testScript = { nodes, ... }: '' - server.start() - server.wait_for_unit("postfix.service") - server.wait_for_unit("dovecot2.service") - server.wait_for_open_port(465) - server.wait_for_open_port(993) + testScript = + { nodes, ... }: + '' + server.start() + server.wait_for_unit("postfix.service") + server.wait_for_unit("dovecot2.service") + server.wait_for_open_port(465) + server.wait_for_open_port(993) - client.start() - client.wait_for_unit("alps.service") - client.wait_for_open_port(${toString nodes.client.config.services.alps.port}) - client.succeed("test-alps-login") - ''; -}) + client.start() + client.wait_for_unit("alps.service") + client.wait_for_open_port(${toString nodes.client.config.services.alps.port}) + client.succeed("test-alps-login") + ''; + } +) diff --git a/nixos/tests/amazon-init-shell.nix b/nixos/tests/amazon-init-shell.nix index da4480ed57788..f79cd0364684f 100644 --- a/nixos/tests/amazon-init-shell.nix +++ b/nixos/tests/amazon-init-shell.nix @@ -5,9 +5,10 @@ # Note that other tests verify that amazon-init can treat user-data as a nixos # configuration expression. -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -18,24 +19,28 @@ makeTest { meta = with maintainers; { maintainers = [ urbas ]; }; - nodes.machine = { lib, pkgs, ... }: - { - imports = [ ../modules/profiles/headless.nix ../modules/virtualisation/amazon-init.nix ]; - services.openssh.enable = true; - system.switch.enable = true; - networking.hostName = ""; - environment.etc."ec2-metadata/user-data" = { - text = '' - #!/usr/bin/bash + nodes.machine = + { lib, pkgs, ... }: + { + imports = [ + ../modules/profiles/headless.nix + ../modules/virtualisation/amazon-init.nix + ]; + services.openssh.enable = true; + system.switch.enable = true; + networking.hostName = ""; + environment.etc."ec2-metadata/user-data" = { + text = '' + #!/usr/bin/bash - echo successful > /tmp/evidence + echo successful > /tmp/evidence - # Emulate running nixos-rebuild switch, just without any building. - # https://github.com/nixos/nixpkgs/blob/4c62505847d88f16df11eff3c81bf9a453a4979e/nixos/modules/virtualisation/amazon-init.nix#L55 - /run/current-system/bin/switch-to-configuration test - ''; + # Emulate running nixos-rebuild switch, just without any building. + # https://github.com/nixos/nixpkgs/blob/4c62505847d88f16df11eff3c81bf9a453a4979e/nixos/modules/virtualisation/amazon-init.nix#L55 + /run/current-system/bin/switch-to-configuration test + ''; + }; }; - }; testScript = '' # To wait until amazon-init terminates its run unnamed.wait_for_unit("amazon-init.service") diff --git a/nixos/tests/amazon-ssm-agent.nix b/nixos/tests/amazon-ssm-agent.nix index 957e9e0e02c5d..4c55fc1c4faf1 100644 --- a/nixos/tests/amazon-ssm-agent.nix +++ b/nixos/tests/amazon-ssm-agent.nix @@ -1,17 +1,22 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "amazon-ssm-agent"; - meta.maintainers = [ lib.maintainers.anthonyroussel ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "amazon-ssm-agent"; + meta.maintainers = [ lib.maintainers.anthonyroussel ]; - nodes.machine = { config, pkgs, ... }: { - services.amazon-ssm-agent.enable = true; - }; + nodes.machine = + { config, pkgs, ... }: + { + services.amazon-ssm-agent.enable = true; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_file("/etc/amazon/ssm/seelog.xml") - machine.wait_for_file("/etc/amazon/ssm/amazon-ssm-agent.json") + machine.wait_for_file("/etc/amazon/ssm/seelog.xml") + machine.wait_for_file("/etc/amazon/ssm/amazon-ssm-agent.json") - machine.wait_for_unit("amazon-ssm-agent.service") - ''; -}) + machine.wait_for_unit("amazon-ssm-agent.service") + ''; + } +) diff --git a/nixos/tests/amd-sev.nix b/nixos/tests/amd-sev.nix index bf9a50c10d0d2..63e973a5ad0ef 100644 --- a/nixos/tests/amd-sev.nix +++ b/nixos/tests/amd-sev.nix @@ -1,29 +1,36 @@ -{ lib, ... }: { +{ lib, ... }: +{ name = "amd-sev"; meta = { - maintainers = with lib.maintainers; [ trundle veehaitch ]; + maintainers = with lib.maintainers; [ + trundle + veehaitch + ]; }; - nodes.machine = { lib, ... }: { - hardware.cpu.amd.sev.enable = true; - hardware.cpu.amd.sevGuest.enable = true; - - specialisation.sevCustomUserGroup.configuration = { - users.groups.sevtest = { }; - - hardware.cpu.amd.sev = { - enable = true; - group = "root"; - mode = "0600"; - }; - hardware.cpu.amd.sevGuest = { - enable = true; - group = "sevtest"; + nodes.machine = + { lib, ... }: + { + hardware.cpu.amd.sev.enable = true; + hardware.cpu.amd.sevGuest.enable = true; + + specialisation.sevCustomUserGroup.configuration = { + users.groups.sevtest = { }; + + hardware.cpu.amd.sev = { + enable = true; + group = "root"; + mode = "0600"; + }; + hardware.cpu.amd.sevGuest = { + enable = true; + group = "sevtest"; + }; }; }; - }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: let specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; in diff --git a/nixos/tests/anbox.nix b/nixos/tests/anbox.nix index a00116536db7e..2988e60eb3ac9 100644 --- a/nixos/tests/anbox.nix +++ b/nixos/tests/anbox.nix @@ -4,33 +4,38 @@ name = "anbox"; meta.maintainers = with lib.maintainers; [ mvnetbiz ]; - nodes.machine = { pkgs, config, ... }: { - imports = [ - ./common/user-account.nix - ./common/x11.nix - ]; - - environment.systemPackages = with pkgs; [ android-tools ]; - - test-support.displayManager.auto.user = "alice"; - - virtualisation.anbox.enable = true; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_15; - virtualisation.memorySize = 2500; - }; - - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; - in '' - machine.wait_for_x() - - machine.wait_until_succeeds( - "sudo -iu alice ${bus} anbox wait-ready" - ) - - machine.wait_until_succeeds("adb shell true") - - print(machine.succeed("adb devices")) - ''; + nodes.machine = + { pkgs, config, ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + environment.systemPackages = with pkgs; [ android-tools ]; + + test-support.displayManager.auto.user = "alice"; + + virtualisation.anbox.enable = true; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_15; + virtualisation.memorySize = 2500; + }; + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; + in + '' + machine.wait_for_x() + + machine.wait_until_succeeds( + "sudo -iu alice ${bus} anbox wait-ready" + ) + + machine.wait_until_succeeds("adb shell true") + + print(machine.succeed("adb devices")) + ''; } diff --git a/nixos/tests/angie-api.nix b/nixos/tests/angie-api.nix index 4c8d6b54247b1..95e66de9060eb 100644 --- a/nixos/tests/angie-api.nix +++ b/nixos/tests/angie-api.nix @@ -1,148 +1,170 @@ -import ./make-test-python.nix ({lib, pkgs, ...}: -let - hosts = '' - 192.168.2.101 example.com - 192.168.2.101 api.example.com - 192.168.2.101 backend.example.com - ''; - -in -{ - name = "angie-api"; - meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; - - nodes = { - server = { pkgs, ... }: { - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.101"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - firewall.allowedTCPPorts = [ 80 ]; - }; - - services.nginx = { - enable = true; - package = pkgs.angie; - - upstreams = { - "backend-http" = { - servers = { "backend.example.com:8080" = { fail_timeout = "0"; }; }; - extraConfig = '' - zone upstream 256k; - ''; - }; - "backend-socket" = { - servers = { "unix:/run/example.sock" = { fail_timeout = "0"; }; }; - extraConfig = '' - zone upstream 256k; - ''; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + hosts = '' + 192.168.2.101 example.com + 192.168.2.101 api.example.com + 192.168.2.101 backend.example.com + ''; + + in + { + name = "angie-api"; + meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; + + nodes = { + server = + { pkgs, ... }: + { + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.101"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + firewall.allowedTCPPorts = [ 80 ]; }; - }; - virtualHosts."api.example.com" = { - locations."/console/" = { - extraConfig = '' - api /status/; - - allow 192.168.2.201; - deny all; - ''; + services.nginx = { + enable = true; + package = pkgs.angie; + + upstreams = { + "backend-http" = { + servers = { + "backend.example.com:8080" = { + fail_timeout = "0"; + }; + }; + extraConfig = '' + zone upstream 256k; + ''; + }; + "backend-socket" = { + servers = { + "unix:/run/example.sock" = { + fail_timeout = "0"; + }; + }; + extraConfig = '' + zone upstream 256k; + ''; + }; + }; + + virtualHosts."api.example.com" = { + locations."/console/" = { + extraConfig = '' + api /status/; + + allow 192.168.2.201; + deny all; + ''; + }; + }; + + virtualHosts."example.com" = { + locations."/test/" = { + root = lib.mkForce ( + pkgs.runCommandLocal "testdir" { } '' + mkdir -p "$out/test" + cat > "$out/test/index.html" <Hello World! + EOF + '' + ); + extraConfig = '' + status_zone test_zone; + + allow 192.168.2.201; + deny all; + ''; + }; + locations."/test/locked/" = { + extraConfig = '' + status_zone test_zone; + + deny all; + ''; + }; + locations."/test/error/" = { + extraConfig = '' + status_zone test_zone; + + allow all; + ''; + }; + locations."/upstream-http/" = { + proxyPass = "http://backend-http"; + }; + locations."/upstream-socket/" = { + proxyPass = "http://backend-socket"; + }; + }; }; }; - virtualHosts."example.com" = { - locations."/test/" = { - root = lib.mkForce (pkgs.runCommandLocal "testdir" {} '' - mkdir -p "$out/test" - cat > "$out/test/index.html" <Hello World! - EOF - ''); - extraConfig = '' - status_zone test_zone; - - allow 192.168.2.201; - deny all; - ''; - }; - locations."/test/locked/" = { - extraConfig = '' - status_zone test_zone; - - deny all; - ''; - }; - locations."/test/error/" = { - extraConfig = '' - status_zone test_zone; - - allow all; - ''; - }; - locations."/upstream-http/" = { - proxyPass = "http://backend-http"; - }; - locations."/upstream-socket/" = { - proxyPass = "http://backend-socket"; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.201"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; }; }; - }; }; - client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.201"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - }; - }; - }; - - testScript = '' - start_all() - - server.wait_for_unit("nginx") - server.wait_for_open_port(80) - - # Check Angie version - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.angie.version' | grep '${pkgs.angie.version}'") - - # Check access - client.succeed("curl --verbose --head http://api.example.com/console/ | grep 'HTTP/1.1 200'") - server.succeed("curl --verbose --head http://api.example.com/console/ | grep 'HTTP/1.1 403 Forbidden'") - - # Check responses and requests - client.succeed("curl --verbose http://example.com/test/") - client.succeed("curl --verbose http://example.com/test/locked/") - client.succeed("curl --verbose http://example.com/test/locked/") - client.succeed("curl --verbose http://example.com/test/error/") - client.succeed("curl --verbose http://example.com/test/error/") - client.succeed("curl --verbose http://example.com/test/error/") - server.succeed("curl --verbose http://example.com/test/") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.responses.\"200\"' | grep '1'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.responses.\"403\"' | grep '3'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.responses.\"404\"' | grep '3'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.requests.total' | grep '7'") - - # Check upstreams - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-http\".peers.\"192.168.2.101:8080\".state' | grep 'up'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-http\".peers.\"192.168.2.101:8080\".health.fails' | grep '0'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-socket\".peers.\"unix:/run/example.sock\".state' | grep 'up'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-socket\".peers.\"unix:/run/example.sock\".health.fails' | grep '0'") - client.succeed("curl --verbose http://example.com/upstream-http/") - client.succeed("curl --verbose http://example.com/upstream-socket/") - client.succeed("curl --verbose http://example.com/upstream-socket/") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-http\".peers.\"192.168.2.101:8080\".health.fails' | grep '1'") - client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-socket\".peers.\"unix:/run/example.sock\".health.fails' | grep '2'") - - server.shutdown() - client.shutdown() - ''; -}) + testScript = '' + start_all() + + server.wait_for_unit("nginx") + server.wait_for_open_port(80) + + # Check Angie version + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.angie.version' | grep '${pkgs.angie.version}'") + + # Check access + client.succeed("curl --verbose --head http://api.example.com/console/ | grep 'HTTP/1.1 200'") + server.succeed("curl --verbose --head http://api.example.com/console/ | grep 'HTTP/1.1 403 Forbidden'") + + # Check responses and requests + client.succeed("curl --verbose http://example.com/test/") + client.succeed("curl --verbose http://example.com/test/locked/") + client.succeed("curl --verbose http://example.com/test/locked/") + client.succeed("curl --verbose http://example.com/test/error/") + client.succeed("curl --verbose http://example.com/test/error/") + client.succeed("curl --verbose http://example.com/test/error/") + server.succeed("curl --verbose http://example.com/test/") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.responses.\"200\"' | grep '1'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.responses.\"403\"' | grep '3'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.responses.\"404\"' | grep '3'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.location_zones.test_zone.requests.total' | grep '7'") + + # Check upstreams + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-http\".peers.\"192.168.2.101:8080\".state' | grep 'up'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-http\".peers.\"192.168.2.101:8080\".health.fails' | grep '0'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-socket\".peers.\"unix:/run/example.sock\".state' | grep 'up'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-socket\".peers.\"unix:/run/example.sock\".health.fails' | grep '0'") + client.succeed("curl --verbose http://example.com/upstream-http/") + client.succeed("curl --verbose http://example.com/upstream-socket/") + client.succeed("curl --verbose http://example.com/upstream-socket/") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-http\".peers.\"192.168.2.101:8080\".health.fails' | grep '1'") + client.succeed("curl --verbose http://api.example.com/console/ | jq -e '.http.upstreams.\"backend-socket\".peers.\"unix:/run/example.sock\".health.fails' | grep '2'") + + server.shutdown() + client.shutdown() + ''; + } +) diff --git a/nixos/tests/anki-sync-server.nix b/nixos/tests/anki-sync-server.nix index 7d08cc9cb878e..49075e1d77059 100644 --- a/nixos/tests/anki-sync-server.nix +++ b/nixos/tests/anki-sync-server.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let ankiSyncTest = pkgs.writeScript "anki-sync-test.py" '' #!${pkgs.python3}/bin/python @@ -36,28 +37,30 @@ import ./make-test-python.nix ({ pkgs, ... }: testPasswordFile = pkgs.writeText "anki-password" "passfilepassword"; in { - name = "anki-sync-server"; - meta = with pkgs.lib.maintainers; { - maintainers = [ martinetd ]; - }; - - nodes.machine = { pkgs, ...}: { - services.anki-sync-server = { - enable = true; - users = [ - { username = "user"; - password = "password"; - } - { username = "passfileuser"; - passwordFile = testPasswordFile; - } - ]; + name = "anki-sync-server"; + meta = with pkgs.lib.maintainers; { + maintainers = [ martinetd ]; }; - }; + nodes.machine = + { pkgs, ... }: + { + services.anki-sync-server = { + enable = true; + users = [ + { + username = "user"; + password = "password"; + } + { + username = "passfileuser"; + passwordFile = testPasswordFile; + } + ]; + }; + }; - testScript = - '' + testScript = '' start_all() with subtest("Server starts successfully"): @@ -68,4 +71,5 @@ import ./make-test-python.nix ({ pkgs, ... }: with subtest("Can sync"): machine.succeed("${ankiSyncTest}") ''; -}) + } +) diff --git a/nixos/tests/anuko-time-tracker.nix b/nixos/tests/anuko-time-tracker.nix index 18c3bf5cf6957..f341056e85320 100644 --- a/nixos/tests/anuko-time-tracker.nix +++ b/nixos/tests/anuko-time-tracker.nix @@ -1,17 +1,20 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "anuko-time-tracker"; - meta = { - maintainers = with pkgs.lib.maintainers; [ michaelshmitty ]; - }; - nodes = { - machine = { - services.anuko-time-tracker.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "anuko-time-tracker"; + meta = { + maintainers = with pkgs.lib.maintainers; [ michaelshmitty ]; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("phpfpm-anuko-time-tracker") - machine.wait_for_open_port(80); - machine.wait_until_succeeds("curl -s --fail -L http://localhost/time.php | grep 'Anuko Time Tracker'") - ''; -}) + nodes = { + machine = { + services.anuko-time-tracker.enable = true; + }; + }; + testScript = '' + start_all() + machine.wait_for_unit("phpfpm-anuko-time-tracker") + machine.wait_for_open_port(80); + machine.wait_until_succeeds("curl -s --fail -L http://localhost/time.php | grep 'Anuko Time Tracker'") + ''; + } +) diff --git a/nixos/tests/apcupsd.nix b/nixos/tests/apcupsd.nix index 287140f039d85..041103252efb6 100644 --- a/nixos/tests/apcupsd.nix +++ b/nixos/tests/apcupsd.nix @@ -2,40 +2,45 @@ let # arbitrary address ipAddr = "192.168.42.42"; in -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "apcupsd"; - meta.maintainers = with lib.maintainers; [ bjornfor ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "apcupsd"; + meta.maintainers = with lib.maintainers; [ bjornfor ]; - nodes = { - machine = { - services.apcupsd = { - enable = true; - configText = '' - UPSTYPE usb - BATTERYLEVEL 42 - # Configure NISIP so that the only way apcaccess can work is to read - # this config. - NISIP ${ipAddr} - ''; - }; - networking.interfaces.eth1 = { - ipv4.addresses = [{ - address = ipAddr; - prefixLength = 24; - }]; + nodes = { + machine = { + services.apcupsd = { + enable = true; + configText = '' + UPSTYPE usb + BATTERYLEVEL 42 + # Configure NISIP so that the only way apcaccess can work is to read + # this config. + NISIP ${ipAddr} + ''; + }; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = ipAddr; + prefixLength = 24; + } + ]; + }; }; }; - }; - # Check that the service starts, that the CLI (apcaccess) works and that it - # uses the config (ipAddr) defined in the service config. - testScript = '' - start_all() - machine.wait_for_unit("apcupsd.service") - machine.wait_for_open_port(3551, "${ipAddr}") - res = machine.succeed("apcaccess") - expect_line="MBATTCHG : 42 Percent" - assert "MBATTCHG : 42 Percent" in res, f"expected apcaccess output to contain '{expect_line}' but got '{res}'" - machine.shutdown() - ''; -}) + # Check that the service starts, that the CLI (apcaccess) works and that it + # uses the config (ipAddr) defined in the service config. + testScript = '' + start_all() + machine.wait_for_unit("apcupsd.service") + machine.wait_for_open_port(3551, "${ipAddr}") + res = machine.succeed("apcaccess") + expect_line="MBATTCHG : 42 Percent" + assert "MBATTCHG : 42 Percent" in res, f"expected apcaccess output to contain '{expect_line}' but got '{res}'" + machine.shutdown() + ''; + } +) diff --git a/nixos/tests/apfs.nix b/nixos/tests/apfs.nix index 3e79fa11dc049..34a6491e10ab6 100644 --- a/nixos/tests/apfs.nix +++ b/nixos/tests/apfs.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ name = "apfs"; meta.maintainers = with lib.maintainers; [ Luflosi ]; diff --git a/nixos/tests/appliance-repart-image.nix b/nixos/tests/appliance-repart-image.nix index 861369b9f3ca8..9798ab4e79fa7 100644 --- a/nixos/tests/appliance-repart-image.nix +++ b/nixos/tests/appliance-repart-image.nix @@ -16,96 +16,105 @@ in meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { config, lib, pkgs, ... }: { - - imports = [ ../modules/image/repart.nix ]; - - virtualisation.directBoot.enable = false; - virtualisation.mountHostNixStore = false; - virtualisation.useEFIBoot = true; - - # Disable boot loaders because we install one "manually". - # TODO(raitobezarius): revisit this when #244907 lands - boot.loader.grub.enable = false; - - system.image.id = imageId; - system.image.version = imageVersion; - - virtualisation.fileSystems = lib.mkForce { - "/" = { - device = "/dev/disk/by-partlabel/${rootPartitionLabel}"; - fsType = "ext4"; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + + imports = [ ../modules/image/repart.nix ]; + + virtualisation.directBoot.enable = false; + virtualisation.mountHostNixStore = false; + virtualisation.useEFIBoot = true; + + # Disable boot loaders because we install one "manually". + # TODO(raitobezarius): revisit this when #244907 lands + boot.loader.grub.enable = false; + + system.image.id = imageId; + system.image.version = imageVersion; + + virtualisation.fileSystems = lib.mkForce { + "/" = { + device = "/dev/disk/by-partlabel/${rootPartitionLabel}"; + fsType = "ext4"; + }; }; - }; - image.repart = { - name = "appliance-gpt-image"; - # OVMF does not work with the default repart sector size of 4096 - sectorSize = 512; - partitions = { - "esp" = { - contents = - let - efiArch = config.nixpkgs.hostPlatform.efiArch; - in - { - "/EFI/BOOT/BOOT${lib.toUpper efiArch}.EFI".source = - "${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${efiArch}.efi"; - - "/EFI/Linux/${config.system.boot.loader.ukiFile}".source = - "${config.system.build.uki}/${config.system.boot.loader.ukiFile}"; + image.repart = { + name = "appliance-gpt-image"; + # OVMF does not work with the default repart sector size of 4096 + sectorSize = 512; + partitions = { + "esp" = { + contents = + let + efiArch = config.nixpkgs.hostPlatform.efiArch; + in + { + "/EFI/BOOT/BOOT${lib.toUpper efiArch}.EFI".source = + "${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${efiArch}.efi"; + + "/EFI/Linux/${config.system.boot.loader.ukiFile}".source = + "${config.system.build.uki}/${config.system.boot.loader.ukiFile}"; + }; + repartConfig = { + Type = "esp"; + Format = "vfat"; + # Minimize = "guess" seems to not work very vell for vfat + # partitons. It's better to set a sensible default instead. The + # aarch64 kernel seems to generally be a little bigger than the + # x86_64 kernel. To stay on the safe side, leave some more slack + # for every platform other than x86_64. + SizeMinBytes = if config.nixpkgs.hostPlatform.isx86_64 then "64M" else "96M"; }; - repartConfig = { - Type = "esp"; - Format = "vfat"; - # Minimize = "guess" seems to not work very vell for vfat - # partitons. It's better to set a sensible default instead. The - # aarch64 kernel seems to generally be a little bigger than the - # x86_64 kernel. To stay on the safe side, leave some more slack - # for every platform other than x86_64. - SizeMinBytes = if config.nixpkgs.hostPlatform.isx86_64 then "64M" else "96M"; }; - }; - "root" = { - storePaths = [ config.system.build.toplevel ]; - repartConfig = { - Type = "root"; - Format = config.fileSystems."/".fsType; - Label = rootPartitionLabel; - Minimize = "guess"; + "root" = { + storePaths = [ config.system.build.toplevel ]; + repartConfig = { + Type = "root"; + Format = config.fileSystems."/".fsType; + Label = rootPartitionLabel; + Minimize = "guess"; + }; }; }; }; }; - }; - - testScript = { nodes, ... }: '' - import os - import subprocess - import tempfile - - tmp_disk_image = tempfile.NamedTemporaryFile() - - subprocess.run([ - "${nodes.machine.virtualisation.qemu.package}/bin/qemu-img", - "create", - "-f", - "qcow2", - "-b", - "${nodes.machine.system.build.image}/${nodes.machine.image.repart.imageFile}", - "-F", - "raw", - tmp_disk_image.name, - ]) - - # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. - os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name - - os_release = machine.succeed("cat /etc/os-release") - assert 'IMAGE_ID="${imageId}"' in os_release - assert 'IMAGE_VERSION="${imageVersion}"' in os_release - - bootctl_status = machine.succeed("bootctl status") - assert "Boot Loader Specification Type #2 (.efi)" in bootctl_status - ''; + + testScript = + { nodes, ... }: + '' + import os + import subprocess + import tempfile + + tmp_disk_image = tempfile.NamedTemporaryFile() + + subprocess.run([ + "${nodes.machine.virtualisation.qemu.package}/bin/qemu-img", + "create", + "-f", + "qcow2", + "-b", + "${nodes.machine.system.build.image}/${nodes.machine.image.repart.imageFile}", + "-F", + "raw", + tmp_disk_image.name, + ]) + + # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. + os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name + + os_release = machine.succeed("cat /etc/os-release") + assert 'IMAGE_ID="${imageId}"' in os_release + assert 'IMAGE_VERSION="${imageVersion}"' in os_release + + bootctl_status = machine.succeed("bootctl status") + assert "Boot Loader Specification Type #2 (.efi)" in bootctl_status + ''; } diff --git a/nixos/tests/archi.nix b/nixos/tests/archi.nix index a8cb1c503d4f7..387c4093a8bbe 100644 --- a/nixos/tests/archi.nix +++ b/nixos/tests/archi.nix @@ -1,33 +1,38 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "archi"; - meta.maintainers = with lib.maintainers; [ paumr ]; - - nodes.machine = { pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; - - environment.systemPackages = with pkgs; [ archi ]; - }; - - enableOCR = true; - - testScript = '' - machine.wait_for_x() - - with subtest("createEmptyModel via CLI"): - machine.succeed("Archi -application com.archimatetool.commandline.app -consoleLog -nosplash --createEmptyModel --saveModel smoke.archimate") - machine.copy_from_vm("smoke.archimate", "") - - with subtest("UI smoketest"): - machine.succeed("DISPLAY=:0 Archi --createEmptyModel >&2 &") - machine.wait_for_window("Archi") - - # wait till main UI is open - # since OCR seems to be buggy wait_for_text was replaced by sleep, issue: #302965 - # machine.wait_for_text("Welcome to Archi") - machine.sleep(20) - - machine.screenshot("welcome-screen") - ''; -}) +import ./make-test-python.nix ( + { lib, ... }: + { + name = "archi"; + meta.maintainers = with lib.maintainers; [ paumr ]; + + nodes.machine = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; + + environment.systemPackages = with pkgs; [ archi ]; + }; + + enableOCR = true; + + testScript = '' + machine.wait_for_x() + + with subtest("createEmptyModel via CLI"): + machine.succeed("Archi -application com.archimatetool.commandline.app -consoleLog -nosplash --createEmptyModel --saveModel smoke.archimate") + machine.copy_from_vm("smoke.archimate", "") + + with subtest("UI smoketest"): + machine.succeed("DISPLAY=:0 Archi --createEmptyModel >&2 &") + machine.wait_for_window("Archi") + + # wait till main UI is open + # since OCR seems to be buggy wait_for_text was replaced by sleep, issue: #302965 + # machine.wait_for_text("Welcome to Archi") + machine.sleep(20) + + machine.screenshot("welcome-screen") + ''; + } +) diff --git a/nixos/tests/aria2.nix b/nixos/tests/aria2.nix index 48fe2094b5dcf..cf8e4da8977cc 100644 --- a/nixos/tests/aria2.nix +++ b/nixos/tests/aria2.nix @@ -1,43 +1,54 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - rpcSecret = "supersecret"; - rpc-listen-port = 6800; - curlBody = { - jsonrpc = 2.0; - id = 1; - method = "aria2.getVersion"; - params = [ "token:${rpcSecret}" ]; - }; -in -rec { - name = "aria2"; +import ./make-test-python.nix ( + { pkgs, ... }: + let + rpcSecret = "supersecret"; + rpc-listen-port = 6800; + curlBody = { + jsonrpc = 2.0; + id = 1; + method = "aria2.getVersion"; + params = [ "token:${rpcSecret}" ]; + }; + in + rec { + name = "aria2"; - nodes.machine = { - environment.etc."aria2Rpc".text = rpcSecret; - services.aria2 = { - enable = true; - rpcSecretFile = "/etc/aria2Rpc"; - settings = { - inherit rpc-listen-port; - allow-overwrite = false; - check-integrity = true; - console-log-level = "warn"; - listen-port = [{ from = 20000; to = 20010; } { from = 22222; to = 22222; }]; - max-concurrent-downloads = 50; - seed-ratio = 1.2; - summary-interval = 0; + nodes.machine = { + environment.etc."aria2Rpc".text = rpcSecret; + services.aria2 = { + enable = true; + rpcSecretFile = "/etc/aria2Rpc"; + settings = { + inherit rpc-listen-port; + allow-overwrite = false; + check-integrity = true; + console-log-level = "warn"; + listen-port = [ + { + from = 20000; + to = 20010; + } + { + from = 22222; + to = 22222; + } + ]; + max-concurrent-downloads = 50; + seed-ratio = 1.2; + summary-interval = 0; + }; }; }; - }; - testScript = '' - machine.start() - machine.wait_for_unit("aria2.service") - curl_cmd = 'curl --fail-with-body -X POST -H "Content-Type: application/json" \ - -d \'${builtins.toJSON curlBody}\' http://localhost:${toString rpc-listen-port}/jsonrpc' - print(machine.wait_until_succeeds(curl_cmd, timeout=10)) - machine.shutdown() - ''; + testScript = '' + machine.start() + machine.wait_for_unit("aria2.service") + curl_cmd = 'curl --fail-with-body -X POST -H "Content-Type: application/json" \ + -d \'${builtins.toJSON curlBody}\' http://localhost:${toString rpc-listen-port}/jsonrpc' + print(machine.wait_until_succeeds(curl_cmd, timeout=10)) + machine.shutdown() + ''; - meta.maintainers = [ pkgs.lib.maintainers.timhae ]; -}) + meta.maintainers = [ pkgs.lib.maintainers.timhae ]; + } +) diff --git a/nixos/tests/armagetronad.nix b/nixos/tests/armagetronad.nix index b657893fc9eef..d9c7c50763829 100644 --- a/nixos/tests/armagetronad.nix +++ b/nixos/tests/armagetronad.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -11,7 +12,11 @@ let client = { pkgs, ... }: - { imports = [ ./common/user-account.nix ./common/x11.nix ]; + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; hardware.graphics.enable = true; virtualisation.memorySize = 384; environment = { @@ -30,72 +35,75 @@ makeTest { enableOCR = true; - nodes = - { - server = { - services.armagetronad.servers = { - high-rubber = { - enable = true; - name = "Smoke Test High Rubber Server"; - port = 4534; - settings = { - SERVER_OPTIONS = "High Rubber server made to run smoke tests."; - CYCLE_RUBBER = 40; - SIZE_FACTOR = 0.5; - }; - roundSettings = { - SAY = [ - "NixOS Smoke Test Server" - "https://nixos.org" - ]; - }; + nodes = { + server = { + services.armagetronad.servers = { + high-rubber = { + enable = true; + name = "Smoke Test High Rubber Server"; + port = 4534; + settings = { + SERVER_OPTIONS = "High Rubber server made to run smoke tests."; + CYCLE_RUBBER = 40; + SIZE_FACTOR = 0.5; + }; + roundSettings = { + SAY = [ + "NixOS Smoke Test Server" + "https://nixos.org" + ]; + }; + }; + sty = { + enable = true; + name = "Smoke Test sty+ct+ap Server"; + package = pkgs.armagetronad."0.2.9-sty+ct+ap".dedicated; + port = 4535; + settings = { + SERVER_OPTIONS = "sty+ct+ap server made to run smoke tests."; + CYCLE_RUBBER = 20; + SIZE_FACTOR = 0.5; }; - sty = { - enable = true; - name = "Smoke Test sty+ct+ap Server"; - package = pkgs.armagetronad."0.2.9-sty+ct+ap".dedicated; - port = 4535; - settings = { - SERVER_OPTIONS = "sty+ct+ap server made to run smoke tests."; - CYCLE_RUBBER = 20; - SIZE_FACTOR = 0.5; - }; - roundSettings = { - SAY = [ - "NixOS Smoke Test sty+ct+ap Server" - "https://nixos.org" - ]; - }; + roundSettings = { + SAY = [ + "NixOS Smoke Test sty+ct+ap Server" + "https://nixos.org" + ]; }; - trunk = { - enable = true; - name = "Smoke Test trunk Server"; - package = pkgs.armagetronad."0.4".dedicated; - port = 4536; - settings = { - SERVER_OPTIONS = "0.4 server made to run smoke tests."; - CYCLE_RUBBER = 20; - SIZE_FACTOR = 0.5; - }; - roundSettings = { - SAY = [ - "NixOS Smoke Test 0.4 Server" - "https://nixos.org" - ]; - }; + }; + trunk = { + enable = true; + name = "Smoke Test trunk Server"; + package = pkgs.armagetronad."0.4".dedicated; + port = 4536; + settings = { + SERVER_OPTIONS = "0.4 server made to run smoke tests."; + CYCLE_RUBBER = 20; + SIZE_FACTOR = 0.5; + }; + roundSettings = { + SAY = [ + "NixOS Smoke Test 0.4 Server" + "https://nixos.org" + ]; }; }; }; - - client1 = client; - client2 = client; }; - testScript = let - xdo = name: text: let - xdoScript = pkgs.writeText "${name}.xdo" text; - in "${pkgs.xdotool}/bin/xdotool ${xdoScript}"; - in + client1 = client; + client2 = client; + }; + + testScript = + let + xdo = + name: text: + let + xdoScript = pkgs.writeText "${name}.xdo" text; + in + "${pkgs.xdotool}/bin/xdotool ${xdoScript}"; + in '' import shlex import threading diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix index 4342e9d7dc181..fa61290174fbd 100644 --- a/nixos/tests/atd.nix +++ b/nixos/tests/atd.nix @@ -1,31 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "atd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ bjornfor ]; - }; - - nodes.machine = - { ... }: - { services.atd.enable = true; - users.users.alice = { isNormalUser = true; }; + { + name = "atd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ bjornfor ]; }; - # "at" has a resolution of 1 minute - testScript = '' - start_all() + nodes.machine = + { ... }: + { + services.atd.enable = true; + users.users.alice = { + isNormalUser = true; + }; + }; + + # "at" has a resolution of 1 minute + testScript = '' + start_all() - machine.wait_for_unit("atd.service") # wait for atd to start - machine.fail("test -f ~root/at-1") - machine.fail("test -f ~alice/at-1") + machine.wait_for_unit("atd.service") # wait for atd to start + machine.fail("test -f ~root/at-1") + machine.fail("test -f ~alice/at-1") - machine.succeed("echo 'touch ~root/at-1' | at now+1min") - machine.succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"") + machine.succeed("echo 'touch ~root/at-1' | at now+1min") + machine.succeed("su - alice -c \"echo 'touch at-1' | at now+1min\"") - machine.succeed("sleep 1.5m") + machine.succeed("sleep 1.5m") - machine.succeed("test -f ~root/at-1") - machine.succeed("test -f ~alice/at-1") - ''; -}) + machine.succeed("test -f ~root/at-1") + machine.succeed("test -f ~alice/at-1") + ''; + } +) diff --git a/nixos/tests/atop.nix b/nixos/tests/atop.nix index f2c488c591703..d2372c80c3f96 100644 --- a/nixos/tests/atop.nix +++ b/nixos/tests/atop.nix @@ -1,111 +1,132 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; -let assertions = rec { - path = program: path: '' - with subtest("The path of ${program} should be ${path}"): - p = machine.succeed("type -p \"${program}\" | head -c -1") - assert p == "${path}", f"${program} is {p}, expected ${path}" - ''; - unit = name: state: '' - with subtest("Unit ${name} should be ${state}"): - if "${state}" == "active": - machine.wait_for_unit("${name}") - else: - machine.require_unit_state("${name}", "${state}") - ''; - version = '' - import re +let + assertions = rec { + path = program: path: '' + with subtest("The path of ${program} should be ${path}"): + p = machine.succeed("type -p \"${program}\" | head -c -1") + assert p == "${path}", f"${program} is {p}, expected ${path}" + ''; + unit = name: state: '' + with subtest("Unit ${name} should be ${state}"): + if "${state}" == "active": + machine.wait_for_unit("${name}") + else: + machine.require_unit_state("${name}", "${state}") + ''; + version = '' + import re - with subtest("binary should report the correct version"): - pkgver = "${pkgs.atop.version}" - ver = re.sub(r'(?s)^Version: (\d+\.\d+\.\d+).*', r'\1', machine.succeed("atop -V")) - assert ver == pkgver, f"Version is `{ver}`, expected `{pkgver}`" - ''; - atoprc = contents: - if builtins.stringLength contents > 0 then '' - with subtest("/etc/atoprc should have the correct contents"): - f = machine.succeed("cat /etc/atoprc") - assert f == "${contents}", f"/etc/atoprc contents: '{f}', expected '${contents}'" - '' else '' - with subtest("/etc/atoprc should not be present"): - machine.succeed("test ! -e /etc/atoprc") + with subtest("binary should report the correct version"): + pkgver = "${pkgs.atop.version}" + ver = re.sub(r'(?s)^Version: (\d+\.\d+\.\d+).*', r'\1', machine.succeed("atop -V")) + assert ver == pkgver, f"Version is `{ver}`, expected `{pkgver}`" ''; - wrapper = present: - if present then path "atop" "/run/wrappers/bin/atop" + '' - with subtest("Wrapper should be setuid root"): - stat = machine.succeed("stat --printf '%a %u' /run/wrappers/bin/atop") - assert stat == "4511 0", f"Wrapper stat is {stat}, expected '4511 0'" - '' - else path "atop" "/run/current-system/sw/bin/atop"; - atopService = present: - if present then - unit "atop.service" "active" - + '' - with subtest("atop.service should write some data to /var/log/atop"): + atoprc = + contents: + if builtins.stringLength contents > 0 then + '' + with subtest("/etc/atoprc should have the correct contents"): + f = machine.succeed("cat /etc/atoprc") + assert f == "${contents}", f"/etc/atoprc contents: '{f}', expected '${contents}'" + '' + else + '' + with subtest("/etc/atoprc should not be present"): + machine.succeed("test ! -e /etc/atoprc") + ''; + wrapper = + present: + if present then + path "atop" "/run/wrappers/bin/atop" + + '' + with subtest("Wrapper should be setuid root"): + stat = machine.succeed("stat --printf '%a %u' /run/wrappers/bin/atop") + assert stat == "4511 0", f"Wrapper stat is {stat}, expected '4511 0'" + '' + else + path "atop" "/run/current-system/sw/bin/atop"; + atopService = + present: + if present then + unit "atop.service" "active" + + '' + with subtest("atop.service should write some data to /var/log/atop"): - def has_data_files(last: bool) -> bool: - files = int(machine.succeed("ls -1 /var/log/atop | wc -l")) - if files == 0: - machine.log("Did not find at least one 1 data file") - if not last: - machine.log("Will retry...") - return False - return True + def has_data_files(last: bool) -> bool: + files = int(machine.succeed("ls -1 /var/log/atop | wc -l")) + if files == 0: + machine.log("Did not find at least one 1 data file") + if not last: + machine.log("Will retry...") + return False + return True - with machine.nested("Waiting for data files"): - retry(has_data_files) - '' else unit "atop.service" "inactive"; - atopRotateTimer = present: - unit "atop-rotate.timer" (if present then "active" else "inactive"); - atopacctService = present: - if present then - unit "atopacct.service" "active" - + '' - with subtest("atopacct.service should enable process accounting"): - machine.wait_until_succeeds("test -f /run/pacct_source") + with machine.nested("Waiting for data files"): + retry(has_data_files) + '' + else + unit "atop.service" "inactive"; + atopRotateTimer = present: unit "atop-rotate.timer" (if present then "active" else "inactive"); + atopacctService = + present: + if present then + unit "atopacct.service" "active" + + '' + with subtest("atopacct.service should enable process accounting"): + machine.wait_until_succeeds("test -f /run/pacct_source") - with subtest("atopacct.service should write data to /run/pacct_shadow.d"): + with subtest("atopacct.service should write data to /run/pacct_shadow.d"): - def has_data_files(last: bool) -> bool: - files = int(machine.succeed("ls -1 /run/pacct_shadow.d | wc -l")) - if files == 0: - machine.log("Did not find at least one 1 data file") - if not last: - machine.log("Will retry...") - return False - return True + def has_data_files(last: bool) -> bool: + files = int(machine.succeed("ls -1 /run/pacct_shadow.d | wc -l")) + if files == 0: + machine.log("Did not find at least one 1 data file") + if not last: + machine.log("Will retry...") + return False + return True - with machine.nested("Waiting for data files"): - retry(has_data_files) - '' else unit "atopacct.service" "inactive"; - netatop = present: - if present then - unit "netatop.service" "active" - + '' - with subtest("The netatop kernel module should be loaded"): - out = machine.succeed("modprobe -n -v netatop") - assert out == "", f"Module should be loaded already, but modprobe would have done {out}." - '' else '' - with subtest("The netatop kernel module should be absent"): - machine.fail("modprobe -n -v netatop") - ''; - atopgpu = present: - if present then - (unit "atopgpu.service" "active") + (path "atopgpud" "/run/current-system/sw/bin/atopgpud") - else (unit "atopgpu.service" "inactive") + '' - with subtest("atopgpud should not be present"): - machine.fail("type -p atopgpud") - ''; -}; -meta = { - timeout = 600; -}; + with machine.nested("Waiting for data files"): + retry(has_data_files) + '' + else + unit "atopacct.service" "inactive"; + netatop = + present: + if present then + unit "netatop.service" "active" + + '' + with subtest("The netatop kernel module should be loaded"): + out = machine.succeed("modprobe -n -v netatop") + assert out == "", f"Module should be loaded already, but modprobe would have done {out}." + '' + else + '' + with subtest("The netatop kernel module should be absent"): + machine.fail("modprobe -n -v netatop") + ''; + atopgpu = + present: + if present then + (unit "atopgpu.service" "active") + (path "atopgpud" "/run/current-system/sw/bin/atopgpud") + else + (unit "atopgpu.service" "inactive") + + '' + with subtest("atopgpud should not be present"): + machine.fail("type -p atopgpud") + ''; + }; + meta = { + timeout = 600; + }; in { justThePackage = makeTest { @@ -113,16 +134,18 @@ in nodes.machine = { environment.systemPackages = [ pkgs.atop ]; }; - testScript = with assertions; builtins.concatStringsSep "\n" [ - version - (atoprc "") - (wrapper false) - (atopService false) - (atopRotateTimer false) - (atopacctService false) - (netatop false) - (atopgpu false) - ]; + testScript = + with assertions; + builtins.concatStringsSep "\n" [ + version + (atoprc "") + (wrapper false) + (atopService false) + (atopRotateTimer false) + (atopacctService false) + (netatop false) + (atopgpu false) + ]; inherit meta; }; defaults = makeTest { @@ -132,16 +155,18 @@ in enable = true; }; }; - testScript = with assertions; builtins.concatStringsSep "\n" [ - version - (atoprc "") - (wrapper false) - (atopService true) - (atopRotateTimer true) - (atopacctService true) - (netatop false) - (atopgpu false) - ]; + testScript = + with assertions; + builtins.concatStringsSep "\n" [ + version + (atoprc "") + (wrapper false) + (atopService true) + (atopRotateTimer true) + (atopacctService true) + (netatop false) + (atopgpu false) + ]; inherit meta; }; minimal = makeTest { @@ -154,16 +179,18 @@ in atopacctService.enable = false; }; }; - testScript = with assertions; builtins.concatStringsSep "\n" [ - version - (atoprc "") - (wrapper false) - (atopService false) - (atopRotateTimer false) - (atopacctService false) - (netatop false) - (atopgpu false) - ]; + testScript = + with assertions; + builtins.concatStringsSep "\n" [ + version + (atoprc "") + (wrapper false) + (atopService false) + (atopRotateTimer false) + (atopacctService false) + (netatop false) + (atopgpu false) + ]; inherit meta; }; netatop = makeTest { @@ -174,16 +201,18 @@ in netatop.enable = true; }; }; - testScript = with assertions; builtins.concatStringsSep "\n" [ - version - (atoprc "") - (wrapper false) - (atopService true) - (atopRotateTimer true) - (atopacctService true) - (netatop true) - (atopgpu false) - ]; + testScript = + with assertions; + builtins.concatStringsSep "\n" [ + version + (atoprc "") + (wrapper false) + (atopService true) + (atopRotateTimer true) + (atopacctService true) + (netatop true) + (atopgpu false) + ]; inherit meta; }; atopgpu = makeTest { @@ -194,16 +223,18 @@ in atopgpu.enable = true; }; }; - testScript = with assertions; builtins.concatStringsSep "\n" [ - version - (atoprc "") - (wrapper false) - (atopService true) - (atopRotateTimer true) - (atopacctService true) - (netatop false) - (atopgpu true) - ]; + testScript = + with assertions; + builtins.concatStringsSep "\n" [ + version + (atoprc "") + (wrapper false) + (atopService true) + (atopRotateTimer true) + (atopacctService true) + (netatop false) + (atopgpu true) + ]; inherit meta; }; everything = makeTest { @@ -220,16 +251,18 @@ in atopgpu.enable = true; }; }; - testScript = with assertions; builtins.concatStringsSep "\n" [ - version - (atoprc "flags faf1\\ninterval 2\\n") - (wrapper true) - (atopService true) - (atopRotateTimer true) - (atopacctService true) - (netatop true) - (atopgpu true) - ]; + testScript = + with assertions; + builtins.concatStringsSep "\n" [ + version + (atoprc "flags faf1\\ninterval 2\\n") + (wrapper true) + (atopService true) + (atopRotateTimer true) + (atopacctService true) + (netatop true) + (atopgpu true) + ]; inherit meta; }; } diff --git a/nixos/tests/atuin.nix b/nixos/tests/atuin.nix index 3164c83c683dc..ea0e6cb2eb792 100644 --- a/nixos/tests/atuin.nix +++ b/nixos/tests/atuin.nix @@ -1,66 +1,66 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - testPort = 8888; - testUser = "testerman"; - testPass = "password"; - testEmail = "test.testerman@test.com"; -in -{ - name = "atuin"; - meta.maintainers = with lib.maintainers; [ devusb ]; + let + testPort = 8888; + testUser = "testerman"; + testPass = "password"; + testEmail = "test.testerman@test.com"; + in + { + name = "atuin"; + meta.maintainers = with lib.maintainers; [ devusb ]; - nodes = { - server = - { ... }: - { - services.postgresql.enable = true; + nodes = { + server = + { ... }: + { + services.postgresql.enable = true; - services.atuin = { - enable = true; - port = testPort; - host = "0.0.0.0"; - openFirewall = true; - openRegistration = true; + services.atuin = { + enable = true; + port = testPort; + host = "0.0.0.0"; + openFirewall = true; + openRegistration = true; + }; }; - }; - client = - { ... }: - { }; + client = { ... }: { }; - }; + }; - testScript = with pkgs; '' - start_all() + testScript = with pkgs; '' + start_all() - # wait for atuin server startup - server.wait_for_unit("atuin.service") - server.wait_for_open_port(${toString testPort}) + # wait for atuin server startup + server.wait_for_unit("atuin.service") + server.wait_for_open_port(${toString testPort}) - # configure atuin client on server node - server.execute("mkdir -p ~/.config/atuin") - server.execute("echo 'sync_address = \"http://localhost:${toString testPort}\"' > ~/.config/atuin/config.toml") + # configure atuin client on server node + server.execute("mkdir -p ~/.config/atuin") + server.execute("echo 'sync_address = \"http://localhost:${toString testPort}\"' > ~/.config/atuin/config.toml") - # register with atuin server on server node - server.succeed("${atuin}/bin/atuin register -u ${testUser} -p ${testPass} -e ${testEmail}") - _, key = server.execute("${atuin}/bin/atuin key") + # register with atuin server on server node + server.succeed("${atuin}/bin/atuin register -u ${testUser} -p ${testPass} -e ${testEmail}") + _, key = server.execute("${atuin}/bin/atuin key") - # store test record in atuin server and sync - server.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history start 'shazbot'") - server.succeed("${atuin}/bin/atuin sync") + # store test record in atuin server and sync + server.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history start 'shazbot'") + server.succeed("${atuin}/bin/atuin sync") - # configure atuin client on client node - client.execute("mkdir -p ~/.config/atuin") - client.execute("echo 'sync_address = \"http://server:${toString testPort}\"' > ~/.config/atuin/config.toml") + # configure atuin client on client node + client.execute("mkdir -p ~/.config/atuin") + client.execute("echo 'sync_address = \"http://server:${toString testPort}\"' > ~/.config/atuin/config.toml") - # log in to atuin server on client node - client.succeed(f"${atuin}/bin/atuin login -u ${testUser} -p ${testPass} -k \"{key}\"") + # log in to atuin server on client node + client.succeed(f"${atuin}/bin/atuin login -u ${testUser} -p ${testPass} -k \"{key}\"") - # pull records from atuin server - client.succeed("${atuin}/bin/atuin sync -f") + # pull records from atuin server + client.succeed("${atuin}/bin/atuin sync -f") - # check for test record - client.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history list | grep shazbot") - ''; -}) + # check for test record + client.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history list | grep shazbot") + ''; + } +) diff --git a/nixos/tests/audiobookshelf.nix b/nixos/tests/audiobookshelf.nix index ccd830eb28daa..a4dce23abaf82 100644 --- a/nixos/tests/audiobookshelf.nix +++ b/nixos/tests/audiobookshelf.nix @@ -1,20 +1,22 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "audiobookshelf"; - meta.maintainers = with lib.maintainers; [ wietsedv ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "audiobookshelf"; + meta.maintainers = with lib.maintainers; [ wietsedv ]; - nodes.machine = - { pkgs, ... }: - { - services.audiobookshelf = { - enable = true; - port = 1234; + nodes.machine = + { pkgs, ... }: + { + services.audiobookshelf = { + enable = true; + port = 1234; + }; }; - }; - testScript = '' - machine.wait_for_unit("audiobookshelf.service") - machine.wait_for_open_port(1234) - machine.succeed("curl --fail http://localhost:1234/") - ''; -}) + testScript = '' + machine.wait_for_unit("audiobookshelf.service") + machine.wait_for_open_port(1234) + machine.succeed("curl --fail http://localhost:1234/") + ''; + } +) diff --git a/nixos/tests/auth-mysql.nix b/nixos/tests/auth-mysql.nix index 77a69eb1cd581..0a4d8f577fc7f 100644 --- a/nixos/tests/auth-mysql.nix +++ b/nixos/tests/auth-mysql.nix @@ -1,18 +1,19 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - dbUser = "nixos_auth"; - dbPassword = "topsecret123"; - dbName = "auth"; + let + dbUser = "nixos_auth"; + dbPassword = "topsecret123"; + dbName = "auth"; - mysqlUsername = "mysqltest"; - mysqlPassword = "topsecretmysqluserpassword123"; - mysqlGroup = "mysqlusers"; + mysqlUsername = "mysqltest"; + mysqlPassword = "topsecretmysqluserpassword123"; + mysqlGroup = "mysqlusers"; - localUsername = "localtest"; - localPassword = "topsecretlocaluserpassword123"; + localUsername = "localtest"; + localPassword = "topsecretlocaluserpassword123"; - mysqlInit = pkgs.writeText "mysqlInit" '' + mysqlInit = pkgs.writeText "mysqlInit" '' CREATE USER '${dbUser}'@'localhost' IDENTIFIED BY '${dbPassword}'; CREATE DATABASE ${dbName}; GRANT ALL PRIVILEGES ON ${dbName}.* TO '${dbUser}'@'localhost'; @@ -39,140 +40,141 @@ let ('${mysqlUsername}', 5000, 5000, SHA2('${mysqlPassword}', 256)); INSERT INTO `groups` (name, gid) VALUES ('${mysqlGroup}', 5000); ''; -in -{ - name = "auth-mysql"; - meta.maintainers = with lib.maintainers; [ netali ]; - - nodes.machine = - { ... }: - { - services.mysql = { - enable = true; - package = pkgs.mariadb; - settings.mysqld.bind-address = "127.0.0.1"; - initialScript = mysqlInit; - }; - - users.users.${localUsername} = { - isNormalUser = true; - password = localPassword; - }; + in + { + name = "auth-mysql"; + meta.maintainers = with lib.maintainers; [ netali ]; + + nodes.machine = + { ... }: + { + services.mysql = { + enable = true; + package = pkgs.mariadb; + settings.mysqld.bind-address = "127.0.0.1"; + initialScript = mysqlInit; + }; - security.pam.services.login.makeHomeDir = true; - - users.mysql = { - enable = true; - host = "127.0.0.1"; - user = dbUser; - database = dbName; - passwordFile = "${builtins.toFile "dbPassword" dbPassword}"; - pam = { - table = "users"; - userColumn = "name"; - passwordColumn = "password"; - passwordCrypt = "sha256"; - disconnectEveryOperation = true; + users.users.${localUsername} = { + isNormalUser = true; + password = localPassword; }; - nss = { - getpwnam = '' - SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \ - FROM users \ - WHERE name='%1$s' \ - LIMIT 1 - ''; - getpwuid = '' - SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \ - FROM users \ - WHERE uid=%1$u \ - LIMIT 1 - ''; - getspnam = '' - SELECT name, password, 1, 0, 99999, 7, 0, -1, 0 \ - FROM users \ - WHERE name='%1$s' \ - LIMIT 1 - ''; - getpwent = '' - SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \ - FROM users - ''; - getspent = '' - SELECT name, password, 1, 0, 99999, 7, 0, -1, 0 \ - FROM users - ''; - getgrnam = '' - SELECT name, 'x', gid FROM groups WHERE name='%1$s' LIMIT 1 - ''; - getgrgid = '' - SELECT name, 'x', gid FROM groups WHERE gid='%1$u' LIMIT 1 - ''; - getgrent = '' - SELECT name, 'x', gid FROM groups - ''; - memsbygid = '' - SELECT name FROM users WHERE gid=%1$u - ''; - gidsbymem = '' - SELECT gid FROM users WHERE name='%1$s' - ''; + + security.pam.services.login.makeHomeDir = true; + + users.mysql = { + enable = true; + host = "127.0.0.1"; + user = dbUser; + database = dbName; + passwordFile = "${builtins.toFile "dbPassword" dbPassword}"; + pam = { + table = "users"; + userColumn = "name"; + passwordColumn = "password"; + passwordCrypt = "sha256"; + disconnectEveryOperation = true; + }; + nss = { + getpwnam = '' + SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \ + FROM users \ + WHERE name='%1$s' \ + LIMIT 1 + ''; + getpwuid = '' + SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \ + FROM users \ + WHERE uid=%1$u \ + LIMIT 1 + ''; + getspnam = '' + SELECT name, password, 1, 0, 99999, 7, 0, -1, 0 \ + FROM users \ + WHERE name='%1$s' \ + LIMIT 1 + ''; + getpwent = '' + SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \ + FROM users + ''; + getspent = '' + SELECT name, password, 1, 0, 99999, 7, 0, -1, 0 \ + FROM users + ''; + getgrnam = '' + SELECT name, 'x', gid FROM groups WHERE name='%1$s' LIMIT 1 + ''; + getgrgid = '' + SELECT name, 'x', gid FROM groups WHERE gid='%1$u' LIMIT 1 + ''; + getgrent = '' + SELECT name, 'x', gid FROM groups + ''; + memsbygid = '' + SELECT name FROM users WHERE gid=%1$u + ''; + gidsbymem = '' + SELECT gid FROM users WHERE name='%1$s' + ''; + }; }; }; - }; - - testScript = '' - def switch_to_tty(tty_number): - machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'") - machine.send_key(f"alt-f{tty_number}") - machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]") - machine.wait_for_unit(f"getty@tty{tty_number}.service") - machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'") - - - def try_login(tty_number, username, password): - machine.wait_until_tty_matches(tty_number, "login: ") - machine.send_chars(f"{username}\n") - machine.wait_until_tty_matches(tty_number, f"login: {username}") - machine.wait_until_succeeds("pgrep login") - machine.wait_until_tty_matches(tty_number, "Password: ") - machine.send_chars(f"{password}\n") - - - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("mysql.service") - machine.wait_until_succeeds("cat /etc/security/pam_mysql.conf | grep users.db_passwd") - machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - - with subtest("Local login"): - switch_to_tty("2") - try_login("2", "${localUsername}", "${localPassword}") - - machine.wait_until_succeeds("pgrep -u ${localUsername} bash") - machine.send_chars("id > local_id.txt\n") - machine.wait_for_file("/home/${localUsername}/local_id.txt") - machine.succeed("cat /home/${localUsername}/local_id.txt | grep 'uid=1000(${localUsername}) gid=100(users) groups=100(users)'") - - with subtest("Local incorrect login"): - switch_to_tty("3") - try_login("3", "${localUsername}", "wrongpassword") - - machine.wait_until_tty_matches("3", "Login incorrect") - machine.wait_until_tty_matches("3", "login:") - - with subtest("MySQL login"): - switch_to_tty("4") - try_login("4", "${mysqlUsername}", "${mysqlPassword}") - - machine.wait_until_succeeds("pgrep -u ${mysqlUsername} bash") - machine.send_chars("id > mysql_id.txt\n") - machine.wait_for_file("/home/${mysqlUsername}/mysql_id.txt") - machine.succeed("cat /home/${mysqlUsername}/mysql_id.txt | grep 'uid=5000(${mysqlUsername}) gid=5000(${mysqlGroup}) groups=5000(${mysqlGroup})'") - - with subtest("MySQL incorrect login"): - switch_to_tty("5") - try_login("5", "${mysqlUsername}", "wrongpassword") - - machine.wait_until_tty_matches("5", "Login incorrect") - machine.wait_until_tty_matches("5", "login:") + + testScript = '' + def switch_to_tty(tty_number): + machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'") + machine.send_key(f"alt-f{tty_number}") + machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]") + machine.wait_for_unit(f"getty@tty{tty_number}.service") + machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'") + + + def try_login(tty_number, username, password): + machine.wait_until_tty_matches(tty_number, "login: ") + machine.send_chars(f"{username}\n") + machine.wait_until_tty_matches(tty_number, f"login: {username}") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches(tty_number, "Password: ") + machine.send_chars(f"{password}\n") + + + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("mysql.service") + machine.wait_until_succeeds("cat /etc/security/pam_mysql.conf | grep users.db_passwd") + machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + + with subtest("Local login"): + switch_to_tty("2") + try_login("2", "${localUsername}", "${localPassword}") + + machine.wait_until_succeeds("pgrep -u ${localUsername} bash") + machine.send_chars("id > local_id.txt\n") + machine.wait_for_file("/home/${localUsername}/local_id.txt") + machine.succeed("cat /home/${localUsername}/local_id.txt | grep 'uid=1000(${localUsername}) gid=100(users) groups=100(users)'") + + with subtest("Local incorrect login"): + switch_to_tty("3") + try_login("3", "${localUsername}", "wrongpassword") + + machine.wait_until_tty_matches("3", "Login incorrect") + machine.wait_until_tty_matches("3", "login:") + + with subtest("MySQL login"): + switch_to_tty("4") + try_login("4", "${mysqlUsername}", "${mysqlPassword}") + + machine.wait_until_succeeds("pgrep -u ${mysqlUsername} bash") + machine.send_chars("id > mysql_id.txt\n") + machine.wait_for_file("/home/${mysqlUsername}/mysql_id.txt") + machine.succeed("cat /home/${mysqlUsername}/mysql_id.txt | grep 'uid=5000(${mysqlUsername}) gid=5000(${mysqlGroup}) groups=5000(${mysqlGroup})'") + + with subtest("MySQL incorrect login"): + switch_to_tty("5") + try_login("5", "${mysqlUsername}", "wrongpassword") + + machine.wait_until_tty_matches("5", "Login incorrect") + machine.wait_until_tty_matches("5", "login:") ''; -}) + } +) diff --git a/nixos/tests/authelia.nix b/nixos/tests/authelia.nix index 679c65fea087a..88e300e4cbe46 100644 --- a/nixos/tests/authelia.nix +++ b/nixos/tests/authelia.nix @@ -1,169 +1,187 @@ # Test Authelia as an auth server for Traefik as a reverse proxy of a local web service -import ./make-test-python.nix ({ lib, ... }: { - name = "authelia"; - meta.maintainers = with lib.maintainers; [ jk ]; - - nodes = { - authelia = { config, pkgs, lib, ... }: { - services.authelia.instances.testing = { - enable = true; - secrets.storageEncryptionKeyFile = "/etc/authelia/storageEncryptionKeyFile"; - secrets.jwtSecretFile = "/etc/authelia/jwtSecretFile"; - settings = { - authentication_backend.file.path = "/etc/authelia/users_database.yml"; - access_control.default_policy = "one_factor"; - session.domain = "example.com"; - storage.local.path = "/tmp/db.sqlite3"; - notifier.filesystem.filename = "/tmp/notifications.txt"; - }; - }; - - # These should not be set from nix but through other means to not leak the secret! - # This is purely for testing purposes! - environment.etc."authelia/storageEncryptionKeyFile" = { - mode = "0400"; - user = "authelia-testing"; - text = "you_must_generate_a_random_string_of_more_than_twenty_chars_and_configure_this"; - }; - environment.etc."authelia/jwtSecretFile" = { - mode = "0400"; - user = "authelia-testing"; - text = "a_very_important_secret"; - }; - environment.etc."authelia/users_database.yml" = { - mode = "0400"; - user = "authelia-testing"; - text = '' - users: - bob: - disabled: false - displayname: bob - # password of password - password: $argon2id$v=19$m=65536,t=3,p=4$2ohUAfh9yetl+utr4tLcCQ$AsXx0VlwjvNnCsa70u4HKZvFkC8Gwajr2pHGKcND/xs - email: bob@jim.com - groups: - - admin - - dev - ''; - }; - - services.traefik = { - enable = true; - - dynamicConfigOptions = { - tls.certificates = - let - certDir = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=auth.example.com/CN=static.example.com' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; - in - [{ - certFile = "${certDir}/cert.pem"; - keyFile = "${certDir}/key.pem"; - }]; - http.middlewares.authelia.forwardAuth = { - address = "http://localhost:9091/api/verify?rd=https%3A%2F%2Fauth.example.com%2F"; - trustForwardHeader = true; - authResponseHeaders = [ - "Remote-User" - "Remote-Groups" - "Remote-Email" - "Remote-Name" - ]; - }; - http.middlewares.authelia-basic.forwardAuth = { - address = "http://localhost:9091/api/verify?auth=basic"; - trustForwardHeader = true; - authResponseHeaders = [ - "Remote-User" - "Remote-Groups" - "Remote-Email" - "Remote-Name" - ]; - }; - - http.routers.simplehttp = { - rule = "Host(`static.example.com`)"; - tls = true; - entryPoints = "web"; - service = "simplehttp"; - }; - http.routers.simplehttp-basic-auth = { - rule = "Host(`static-basic-auth.example.com`)"; - tls = true; - entryPoints = "web"; - service = "simplehttp"; - middlewares = [ "authelia-basic@file" ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "authelia"; + meta.maintainers = with lib.maintainers; [ jk ]; + + nodes = { + authelia = + { + config, + pkgs, + lib, + ... + }: + { + services.authelia.instances.testing = { + enable = true; + secrets.storageEncryptionKeyFile = "/etc/authelia/storageEncryptionKeyFile"; + secrets.jwtSecretFile = "/etc/authelia/jwtSecretFile"; + settings = { + authentication_backend.file.path = "/etc/authelia/users_database.yml"; + access_control.default_policy = "one_factor"; + session.domain = "example.com"; + storage.local.path = "/tmp/db.sqlite3"; + notifier.filesystem.filename = "/tmp/notifications.txt"; + }; }; - http.services.simplehttp = { - loadBalancer.servers = [{ - url = "http://localhost:8000"; - }]; + # These should not be set from nix but through other means to not leak the secret! + # This is purely for testing purposes! + environment.etc."authelia/storageEncryptionKeyFile" = { + mode = "0400"; + user = "authelia-testing"; + text = "you_must_generate_a_random_string_of_more_than_twenty_chars_and_configure_this"; }; - - http.routers.authelia = { - rule = "Host(`auth.example.com`)"; - tls = true; - entryPoints = "web"; - service = "authelia@file"; + environment.etc."authelia/jwtSecretFile" = { + mode = "0400"; + user = "authelia-testing"; + text = "a_very_important_secret"; }; - - http.services.authelia = { - loadBalancer.servers = [{ - url = "http://localhost:9091"; - }]; + environment.etc."authelia/users_database.yml" = { + mode = "0400"; + user = "authelia-testing"; + text = '' + users: + bob: + disabled: false + displayname: bob + # password of password + password: $argon2id$v=19$m=65536,t=3,p=4$2ohUAfh9yetl+utr4tLcCQ$AsXx0VlwjvNnCsa70u4HKZvFkC8Gwajr2pHGKcND/xs + email: bob@jim.com + groups: + - admin + - dev + ''; }; - }; - staticConfigOptions = { - global = { - checkNewVersion = false; - sendAnonymousUsage = false; + services.traefik = { + enable = true; + + dynamicConfigOptions = { + tls.certificates = + let + certDir = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=auth.example.com/CN=static.example.com' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; + in + [ + { + certFile = "${certDir}/cert.pem"; + keyFile = "${certDir}/key.pem"; + } + ]; + http.middlewares.authelia.forwardAuth = { + address = "http://localhost:9091/api/verify?rd=https%3A%2F%2Fauth.example.com%2F"; + trustForwardHeader = true; + authResponseHeaders = [ + "Remote-User" + "Remote-Groups" + "Remote-Email" + "Remote-Name" + ]; + }; + http.middlewares.authelia-basic.forwardAuth = { + address = "http://localhost:9091/api/verify?auth=basic"; + trustForwardHeader = true; + authResponseHeaders = [ + "Remote-User" + "Remote-Groups" + "Remote-Email" + "Remote-Name" + ]; + }; + + http.routers.simplehttp = { + rule = "Host(`static.example.com`)"; + tls = true; + entryPoints = "web"; + service = "simplehttp"; + }; + http.routers.simplehttp-basic-auth = { + rule = "Host(`static-basic-auth.example.com`)"; + tls = true; + entryPoints = "web"; + service = "simplehttp"; + middlewares = [ "authelia-basic@file" ]; + }; + + http.services.simplehttp = { + loadBalancer.servers = [ + { + url = "http://localhost:8000"; + } + ]; + }; + + http.routers.authelia = { + rule = "Host(`auth.example.com`)"; + tls = true; + entryPoints = "web"; + service = "authelia@file"; + }; + + http.services.authelia = { + loadBalancer.servers = [ + { + url = "http://localhost:9091"; + } + ]; + }; + }; + + staticConfigOptions = { + global = { + checkNewVersion = false; + sendAnonymousUsage = false; + }; + + entryPoints.web.address = ":443"; + }; }; - entryPoints.web.address = ":443"; - }; - }; - - systemd.services.simplehttp = - let fakeWebPageDir = pkgs.writeTextDir "index.html" "hello"; in - { - script = "${pkgs.python3}/bin/python -m http.server --directory ${fakeWebPageDir} 8000"; - serviceConfig.Type = "simple"; - wantedBy = [ "multi-user.target" ]; + systemd.services.simplehttp = + let + fakeWebPageDir = pkgs.writeTextDir "index.html" "hello"; + in + { + script = "${pkgs.python3}/bin/python -m http.server --directory ${fakeWebPageDir} 8000"; + serviceConfig.Type = "simple"; + wantedBy = [ "multi-user.target" ]; + }; }; }; - }; - - testScript = '' - start_all() - - authelia.wait_for_unit("simplehttp.service") - authelia.wait_for_unit("traefik.service") - authelia.wait_for_unit("authelia-testing.service") - authelia.wait_for_open_port(443) - authelia.wait_for_unit("multi-user.target") - - with subtest("Check for authelia"): - # expect the login page - assert "Login - Authelia", "could not reach authelia" in \ - authelia.succeed("curl --insecure -sSf -H Host:auth.example.com https://authelia:443/") - - with subtest("Check contacting basic http server via traefik with https works"): - assert "hello", "could not reach raw static site" in \ - authelia.succeed("curl --insecure -sSf -H Host:static.example.com https://authelia:443/") - - with subtest("Test traefik and authelia"): - with subtest("No details fail"): - authelia.fail("curl --insecure -sSf -H Host:static-basic-auth.example.com https://authelia:443/") - with subtest("Incorrect details fail"): - authelia.fail("curl --insecure -sSf -u 'bob:wordpass' -H Host:static-basic-auth.example.com https://authelia:443/") - authelia.fail("curl --insecure -sSf -u 'alice:password' -H Host:static-basic-auth.example.com https://authelia:443/") - with subtest("Correct details pass"): - assert "hello", "could not reach authed static site with valid credentials" in \ - authelia.succeed("curl --insecure -sSf -u 'bob:password' -H Host:static-basic-auth.example.com https://authelia:443/") - ''; -}) + + testScript = '' + start_all() + + authelia.wait_for_unit("simplehttp.service") + authelia.wait_for_unit("traefik.service") + authelia.wait_for_unit("authelia-testing.service") + authelia.wait_for_open_port(443) + authelia.wait_for_unit("multi-user.target") + + with subtest("Check for authelia"): + # expect the login page + assert "Login - Authelia", "could not reach authelia" in \ + authelia.succeed("curl --insecure -sSf -H Host:auth.example.com https://authelia:443/") + + with subtest("Check contacting basic http server via traefik with https works"): + assert "hello", "could not reach raw static site" in \ + authelia.succeed("curl --insecure -sSf -H Host:static.example.com https://authelia:443/") + + with subtest("Test traefik and authelia"): + with subtest("No details fail"): + authelia.fail("curl --insecure -sSf -H Host:static-basic-auth.example.com https://authelia:443/") + with subtest("Incorrect details fail"): + authelia.fail("curl --insecure -sSf -u 'bob:wordpass' -H Host:static-basic-auth.example.com https://authelia:443/") + authelia.fail("curl --insecure -sSf -u 'alice:password' -H Host:static-basic-auth.example.com https://authelia:443/") + with subtest("Correct details pass"): + assert "hello", "could not reach authed static site with valid credentials" in \ + authelia.succeed("curl --insecure -sSf -u 'bob:password' -H Host:static-basic-auth.example.com https://authelia:443/") + ''; + } +) diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix index 7a2d4bbd0ffc8..7d9432396a280 100644 --- a/nixos/tests/avahi.nix +++ b/nixos/tests/avahi.nix @@ -1,9 +1,10 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -# bool: whether to use networkd in the tests -, networkd ? false -} @ args: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + # bool: whether to use networkd in the tests + networkd ? false, +}@args: # Test whether `avahi-daemon' and `libnss-mdns' work as expected. import ./make-test-python.nix { @@ -12,28 +13,33 @@ import ./make-test-python.nix { maintainers = [ ]; }; - nodes = let - cfg = { ... }: { - services.avahi = { - enable = true; - nssmdns4 = true; - publish.addresses = true; - publish.domain = true; - publish.enable = true; - publish.userServices = true; - publish.workstation = true; - extraServiceFiles.ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; - }; - } // pkgs.lib.optionalAttrs (networkd) { - networking = { - useNetworkd = true; - useDHCP = false; - }; + nodes = + let + cfg = + { ... }: + { + services.avahi = { + enable = true; + nssmdns4 = true; + publish.addresses = true; + publish.domain = true; + publish.enable = true; + publish.userServices = true; + publish.workstation = true; + extraServiceFiles.ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; + }; + } + // pkgs.lib.optionalAttrs (networkd) { + networking = { + useNetworkd = true; + useDHCP = false; + }; + }; + in + { + one = cfg; + two = cfg; }; - in { - one = cfg; - two = cfg; - }; testScript = '' start_all() diff --git a/nixos/tests/ayatana-indicators.nix b/nixos/tests/ayatana-indicators.nix index 8d134e1af2eec..12223e52a0c58 100644 --- a/nixos/tests/ayatana-indicators.nix +++ b/nixos/tests/ayatana-indicators.nix @@ -79,8 +79,7 @@ in let runCommandOverServiceList = list: command: lib.strings.concatMapStringsSep "\n" command list; - runCommandOverAyatanaIndicators = runCommandOverServiceList - nodes.machine.systemd.user.targets.ayatana-indicators.wants; + runCommandOverAyatanaIndicators = runCommandOverServiceList nodes.machine.systemd.user.targets.ayatana-indicators.wants; runCommandOverLomiriIndicators = runCommandOverServiceList nodes.machine.systemd.user.targets.lomiri-indicators.wants; in diff --git a/nixos/tests/babeld.nix b/nixos/tests/babeld.nix index e497aa5b64e15..8b2ee35370a2e 100644 --- a/nixos/tests/babeld.nix +++ b/nixos/tests/babeld.nix @@ -1,123 +1,194 @@ +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "babeld"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hexa ]; + }; -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "babeld"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hexa ]; - }; - - nodes = - { client = { pkgs, lib, ... }: - { - virtualisation.vlans = [ 10 ]; - - networking = { - useDHCP = false; - interfaces."eth1" = { - ipv4.addresses = lib.mkForce [ { address = "192.168.10.2"; prefixLength = 24; } ]; - ipv4.routes = lib.mkForce [ { address = "0.0.0.0"; prefixLength = 0; via = "192.168.10.1"; } ]; - ipv6.addresses = lib.mkForce [ { address = "2001:db8:10::2"; prefixLength = 64; } ]; - ipv6.routes = lib.mkForce [ { address = "::"; prefixLength = 0; via = "2001:db8:10::1"; } ]; + nodes = { + client = + { pkgs, lib, ... }: + { + virtualisation.vlans = [ 10 ]; + + networking = { + useDHCP = false; + interfaces."eth1" = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.10.2"; + prefixLength = 24; + } + ]; + ipv4.routes = lib.mkForce [ + { + address = "0.0.0.0"; + prefixLength = 0; + via = "192.168.10.1"; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "2001:db8:10::2"; + prefixLength = 64; + } + ]; + ipv6.routes = lib.mkForce [ + { + address = "::"; + prefixLength = 0; + via = "2001:db8:10::1"; + } + ]; + }; }; }; - }; - - local_router = { pkgs, lib, ... }: - { - virtualisation.vlans = [ 10 20 ]; - networking = { - useDHCP = false; - firewall.enable = false; - - interfaces."eth1" = { - ipv4.addresses = lib.mkForce [ { address = "192.168.10.1"; prefixLength = 24; } ]; - ipv6.addresses = lib.mkForce [ { address = "2001:db8:10::1"; prefixLength = 64; } ]; + local_router = + { pkgs, lib, ... }: + { + virtualisation.vlans = [ + 10 + 20 + ]; + + networking = { + useDHCP = false; + firewall.enable = false; + + interfaces."eth1" = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.10.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "2001:db8:10::1"; + prefixLength = 64; + } + ]; + }; + + interfaces."eth2" = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.20.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "2001:db8:20::1"; + prefixLength = 64; + } + ]; + }; }; - interfaces."eth2" = { - ipv4.addresses = lib.mkForce [ { address = "192.168.20.1"; prefixLength = 24; } ]; - ipv6.addresses = lib.mkForce [ { address = "2001:db8:20::1"; prefixLength = 64; } ]; - }; - }; - - services.babeld = { - enable = true; - interfaces.eth2 = { - hello-interval = 1; - type = "wired"; - }; - extraConfig = '' - local-port-readwrite 33123 + services.babeld = { + enable = true; + interfaces.eth2 = { + hello-interval = 1; + type = "wired"; + }; + extraConfig = '' + local-port-readwrite 33123 - import-table 254 # main - export-table 254 # main + import-table 254 # main + export-table 254 # main - in ip 192.168.10.0/24 deny - in ip 192.168.20.0/24 deny - in ip 2001:db8:10::/64 deny - in ip 2001:db8:20::/64 deny + in ip 192.168.10.0/24 deny + in ip 192.168.20.0/24 deny + in ip 2001:db8:10::/64 deny + in ip 2001:db8:20::/64 deny - in ip 192.168.30.0/24 allow - in ip 2001:db8:30::/64 allow + in ip 192.168.30.0/24 allow + in ip 2001:db8:30::/64 allow - in deny + in deny - redistribute local proto 2 - redistribute local deny - ''; + redistribute local proto 2 + redistribute local deny + ''; + }; }; - }; - remote_router = { pkgs, lib, ... }: - { - virtualisation.vlans = [ 20 30 ]; - - networking = { - useDHCP = false; - firewall.enable = false; - - interfaces."eth1" = { - ipv4.addresses = lib.mkForce [ { address = "192.168.20.2"; prefixLength = 24; } ]; - ipv6.addresses = lib.mkForce [ { address = "2001:db8:20::2"; prefixLength = 64; } ]; + remote_router = + { pkgs, lib, ... }: + { + virtualisation.vlans = [ + 20 + 30 + ]; + + networking = { + useDHCP = false; + firewall.enable = false; + + interfaces."eth1" = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.20.2"; + prefixLength = 24; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "2001:db8:20::2"; + prefixLength = 64; + } + ]; + }; + + interfaces."eth2" = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.30.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "2001:db8:30::1"; + prefixLength = 64; + } + ]; + }; }; - interfaces."eth2" = { - ipv4.addresses = lib.mkForce [ { address = "192.168.30.1"; prefixLength = 24; } ]; - ipv6.addresses = lib.mkForce [ { address = "2001:db8:30::1"; prefixLength = 64; } ]; - }; - }; + services.babeld = { + enable = true; + interfaces.eth1 = { + hello-interval = 1; + type = "wired"; + }; + extraConfig = '' + local-port-readwrite 33123 - services.babeld = { - enable = true; - interfaces.eth1 = { - hello-interval = 1; - type = "wired"; - }; - extraConfig = '' - local-port-readwrite 33123 + import-table 254 # main + export-table 254 # main - import-table 254 # main - export-table 254 # main + in ip 192.168.20.0/24 deny + in ip 192.168.30.0/24 deny + in ip 2001:db8:20::/64 deny + in ip 2001:db8:30::/64 deny - in ip 192.168.20.0/24 deny - in ip 192.168.30.0/24 deny - in ip 2001:db8:20::/64 deny - in ip 2001:db8:30::/64 deny + in ip 192.168.10.0/24 allow + in ip 2001:db8:10::/64 allow - in ip 192.168.10.0/24 allow - in ip 2001:db8:10::/64 allow + in deny - in deny + redistribute local proto 2 + redistribute local deny + ''; + }; - redistribute local proto 2 - redistribute local deny - ''; }; - - }; }; - testScript = - '' + testScript = '' start_all() local_router.wait_for_unit("babeld.service") @@ -135,4 +206,5 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { remote_router.succeed("ping -c1 192.168.10.2") remote_router.succeed("ping -c1 2001:db8:10::2") ''; -}) + } +) diff --git a/nixos/tests/bazarr.nix b/nixos/tests/bazarr.nix index aa0550e243ae3..b19b0ec00ddf3 100644 --- a/nixos/tests/bazarr.nix +++ b/nixos/tests/bazarr.nix @@ -1,24 +1,26 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -let - port = 42069; -in -{ - name = "bazarr"; - meta.maintainers = with lib.maintainers; [ d-xo ]; + let + port = 42069; + in + { + name = "bazarr"; + meta.maintainers = with lib.maintainers; [ d-xo ]; - nodes.machine = - { pkgs, ... }: - { - services.bazarr = { - enable = true; - listenPort = port; + nodes.machine = + { pkgs, ... }: + { + services.bazarr = { + enable = true; + listenPort = port; + }; }; - }; - testScript = '' - machine.wait_for_unit("bazarr.service") - machine.wait_for_open_port(${toString port}) - machine.succeed("curl --fail http://localhost:${toString port}/") - ''; -}) + testScript = '' + machine.wait_for_unit("bazarr.service") + machine.wait_for_open_port(${toString port}) + machine.succeed("curl --fail http://localhost:${toString port}/") + ''; + } +) diff --git a/nixos/tests/bcachefs.nix b/nixos/tests/bcachefs.nix index ec3c2427f386d..05855ecdc1b78 100644 --- a/nixos/tests/bcachefs.nix +++ b/nixos/tests/bcachefs.nix @@ -1,32 +1,40 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "bcachefs"; - meta.maintainers = with pkgs.lib.maintainers; [ Madouura ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "bcachefs"; + meta.maintainers = with pkgs.lib.maintainers; [ Madouura ]; - nodes.machine = { pkgs, ... }: { - virtualisation.emptyDiskImages = [ 4096 ]; - networking.hostId = "deadbeef"; - boot.supportedFilesystems = [ "bcachefs" ]; - environment.systemPackages = with pkgs; [ parted keyutils ]; - }; + nodes.machine = + { pkgs, ... }: + { + virtualisation.emptyDiskImages = [ 4096 ]; + networking.hostId = "deadbeef"; + boot.supportedFilesystems = [ "bcachefs" ]; + environment.systemPackages = with pkgs; [ + parted + keyutils + ]; + }; - testScript = '' - machine.succeed("modprobe bcachefs") - machine.succeed("bcachefs version") - machine.succeed("ls /dev") + testScript = '' + machine.succeed("modprobe bcachefs") + machine.succeed("bcachefs version") + machine.succeed("ls /dev") - machine.succeed( - "mkdir /tmp/mnt", - "udevadm settle", - "parted --script /dev/vdb mklabel msdos", - "parted --script /dev/vdb -- mkpart primary 1024M 50% mkpart primary 50% -1s", - "udevadm settle", - "echo password | bcachefs format --encrypted --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2", - "echo password | bcachefs unlock -k session /dev/vdb1", - "echo password | mount -t bcachefs /dev/vdb1:/dev/vdb2 /tmp/mnt", - "udevadm settle", - "bcachefs fs usage /tmp/mnt", - "umount /tmp/mnt", - "udevadm settle", - ) - ''; -}) + machine.succeed( + "mkdir /tmp/mnt", + "udevadm settle", + "parted --script /dev/vdb mklabel msdos", + "parted --script /dev/vdb -- mkpart primary 1024M 50% mkpart primary 50% -1s", + "udevadm settle", + "echo password | bcachefs format --encrypted --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2", + "echo password | bcachefs unlock -k session /dev/vdb1", + "echo password | mount -t bcachefs /dev/vdb1:/dev/vdb2 /tmp/mnt", + "udevadm settle", + "bcachefs fs usage /tmp/mnt", + "umount /tmp/mnt", + "udevadm settle", + ) + ''; + } +) diff --git a/nixos/tests/beanstalkd.nix b/nixos/tests/beanstalkd.nix index 518f018408ad8..a04b2396aae17 100644 --- a/nixos/tests/beanstalkd.nix +++ b/nixos/tests/beanstalkd.nix @@ -1,49 +1,52 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -let - pythonEnv = pkgs.python3.withPackages (p: [p.beanstalkc]); - - produce = pkgs.writeScript "produce.py" '' - #!${pythonEnv.interpreter} - import beanstalkc - - queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); - queue.put(b'this is a job') - queue.put(b'this is another job') - ''; - - consume = pkgs.writeScript "consume.py" '' - #!${pythonEnv.interpreter} - import beanstalkc - - queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); - - job = queue.reserve(timeout=0) - print(job.body.decode('utf-8')) - job.delete() - ''; - -in -{ - name = "beanstalkd"; - meta.maintainers = [ lib.maintainers.aanderse ]; - - nodes.machine = - { ... }: - { services.beanstalkd.enable = true; - }; - - testScript = '' - start_all() - - machine.wait_for_unit("beanstalkd.service") - - machine.succeed("${produce}") - assert "this is a job\n" == machine.succeed( - "${consume}" - ) - assert "this is another job\n" == machine.succeed( - "${consume}" - ) - ''; -}) +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + pythonEnv = pkgs.python3.withPackages (p: [ p.beanstalkc ]); + + produce = pkgs.writeScript "produce.py" '' + #!${pythonEnv.interpreter} + import beanstalkc + + queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); + queue.put(b'this is a job') + queue.put(b'this is another job') + ''; + + consume = pkgs.writeScript "consume.py" '' + #!${pythonEnv.interpreter} + import beanstalkc + + queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); + + job = queue.reserve(timeout=0) + print(job.body.decode('utf-8')) + job.delete() + ''; + + in + { + name = "beanstalkd"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + nodes.machine = + { ... }: + { + services.beanstalkd.enable = true; + }; + + testScript = '' + start_all() + + machine.wait_for_unit("beanstalkd.service") + + machine.succeed("${produce}") + assert "this is a job\n" == machine.succeed( + "${consume}" + ) + assert "this is another job\n" == machine.succeed( + "${consume}" + ) + ''; + } +) diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix index 3ab9f38ada8fe..7d0bd6735ee5f 100644 --- a/nixos/tests/bees.nix +++ b/nixos/tests/bees.nix @@ -1,62 +1,74 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "bees"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "bees"; - nodes.machine = { config, pkgs, ... }: { - boot.initrd.postDeviceCommands = '' - ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux1 /dev/vdb - ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc - ''; - virtualisation.emptyDiskImages = [ 4096 4096 ]; - virtualisation.fileSystems = { - "/aux1" = { # filesystem configured to be deduplicated - device = "/dev/disk/by-label/aux1"; - fsType = "btrfs"; + nodes.machine = + { config, pkgs, ... }: + { + boot.initrd.postDeviceCommands = '' + ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux1 /dev/vdb + ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc + ''; + virtualisation.emptyDiskImages = [ + 4096 + 4096 + ]; + virtualisation.fileSystems = { + "/aux1" = { + # filesystem configured to be deduplicated + device = "/dev/disk/by-label/aux1"; + fsType = "btrfs"; + }; + "/aux2" = { + # filesystem not configured to be deduplicated + device = "/dev/disk/by-label/aux2"; + fsType = "btrfs"; + }; + }; + services.beesd.filesystems = { + aux1 = { + spec = "LABEL=aux1"; + hashTableSizeMB = 16; + verbosity = "debug"; + }; + }; }; - "/aux2" = { # filesystem not configured to be deduplicated - device = "/dev/disk/by-label/aux2"; - fsType = "btrfs"; - }; - }; - services.beesd.filesystems = { - aux1 = { - spec = "LABEL=aux1"; - hashTableSizeMB = 16; - verbosity = "debug"; - }; - }; - }; - testScript = - let - someContentIsShared = loc: pkgs.writeShellScript "some-content-is-shared" '' - [[ $(btrfs fi du -s --raw ${lib.escapeShellArg loc}/dedup-me-{1,2} | awk 'BEGIN { count=0; } NR>1 && $3 == 0 { count++ } END { print count }') -eq 0 ]] - ''; - in '' - # shut down the instance started by systemd at boot, so we can test our test procedure - machine.succeed("systemctl stop beesd@aux1.service") + testScript = + let + someContentIsShared = + loc: + pkgs.writeShellScript "some-content-is-shared" '' + [[ $(btrfs fi du -s --raw ${lib.escapeShellArg loc}/dedup-me-{1,2} | awk 'BEGIN { count=0; } NR>1 && $3 == 0 { count++ } END { print count }') -eq 0 ]] + ''; + in + '' + # shut down the instance started by systemd at boot, so we can test our test procedure + machine.succeed("systemctl stop beesd@aux1.service") - machine.succeed( - "dd if=/dev/urandom of=/aux1/dedup-me-1 bs=1M count=8", - "cp --reflink=never /aux1/dedup-me-1 /aux1/dedup-me-2", - "cp --reflink=never /aux1/* /aux2/", - "sync", - ) - machine.fail( - "${someContentIsShared "/aux1"}", - "${someContentIsShared "/aux2"}", - ) - machine.succeed("systemctl start beesd@aux1.service") + machine.succeed( + "dd if=/dev/urandom of=/aux1/dedup-me-1 bs=1M count=8", + "cp --reflink=never /aux1/dedup-me-1 /aux1/dedup-me-2", + "cp --reflink=never /aux1/* /aux2/", + "sync", + ) + machine.fail( + "${someContentIsShared "/aux1"}", + "${someContentIsShared "/aux2"}", + ) + machine.succeed("systemctl start beesd@aux1.service") - # assert that "Set Shared" column is nonzero - machine.wait_until_succeeds( - "${someContentIsShared "/aux1"}", - ) - machine.fail("${someContentIsShared "/aux2"}") + # assert that "Set Shared" column is nonzero + machine.wait_until_succeeds( + "${someContentIsShared "/aux1"}", + ) + machine.fail("${someContentIsShared "/aux2"}") - # assert that 16MB hash table size requested was honored - machine.succeed( - "[[ $(stat -c %s /aux1/.beeshome/beeshash.dat) = $(( 16 * 1024 * 1024)) ]]" - ) - ''; -}) + # assert that 16MB hash table size requested was honored + machine.succeed( + "[[ $(stat -c %s /aux1/.beeshome/beeshash.dat) = $(( 16 * 1024 * 1024)) ]]" + ) + ''; + } +) diff --git a/nixos/tests/benchexec.nix b/nixos/tests/benchexec.nix index 3fc9ebc2c35f5..218bfb5afba41 100644 --- a/nixos/tests/benchexec.nix +++ b/nixos/tests/benchexec.nix @@ -1,54 +1,64 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - user = "alice"; -in -{ - name = "benchexec"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + user = "alice"; + in + { + name = "benchexec"; - nodes.benchexec = { - imports = [ ./common/user-account.nix ]; + nodes.benchexec = { + imports = [ ./common/user-account.nix ]; - programs.benchexec = { - enable = true; - users = [ user ]; + programs.benchexec = { + enable = true; + users = [ user ]; + }; }; - }; - testScript = { ... }: - let - runexec = lib.getExe' pkgs.benchexec "runexec"; - echo = builtins.toString pkgs.benchexec; - test = lib.getExe (pkgs.writeShellApplication rec { - name = "test"; - meta.mainProgram = name; - text = "echo '${echo}'"; - }); - wd = "/tmp"; - stdout = "${wd}/runexec.out"; - stderr = "${wd}/runexec.err"; - in - '' - start_all() - machine.wait_for_unit("multi-user.target") - benchexec.succeed(''''\ - systemd-run \ - --property='StandardOutput=file:${stdout}' \ - --property='StandardError=file:${stderr}' \ - --unit=runexec --wait --user --machine='${user}@' \ - --working-directory ${wd} \ - '${runexec}' \ - --debug \ - --read-only-dir / \ - --hidden-dir /home \ - '${test}' \ - '''') - benchexec.succeed("grep -s '${echo}' ${wd}/output.log") - benchexec.succeed("test \"$(grep -Ec '((start|wall|cpu)time|memory)=' ${stdout})\" = 4") - benchexec.succeed("! grep -E '(WARNING|ERROR)' ${stderr}") - ''; + testScript = + { ... }: + let + runexec = lib.getExe' pkgs.benchexec "runexec"; + echo = builtins.toString pkgs.benchexec; + test = lib.getExe ( + pkgs.writeShellApplication rec { + name = "test"; + meta.mainProgram = name; + text = "echo '${echo}'"; + } + ); + wd = "/tmp"; + stdout = "${wd}/runexec.out"; + stderr = "${wd}/runexec.err"; + in + '' + start_all() + machine.wait_for_unit("multi-user.target") + benchexec.succeed(''''\ + systemd-run \ + --property='StandardOutput=file:${stdout}' \ + --property='StandardError=file:${stderr}' \ + --unit=runexec --wait --user --machine='${user}@' \ + --working-directory ${wd} \ + '${runexec}' \ + --debug \ + --read-only-dir / \ + --hidden-dir /home \ + '${test}' \ + '''') + benchexec.succeed("grep -s '${echo}' ${wd}/output.log") + benchexec.succeed("test \"$(grep -Ec '((start|wall|cpu)time|memory)=' ${stdout})\" = 4") + benchexec.succeed("! grep -E '(WARNING|ERROR)' ${stderr}") + ''; - interactive.nodes.benchexec.services.kmscon = { - enable = true; - fonts = [{ name = "Fira Code"; package = pkgs.fira-code; }]; - }; -}) + interactive.nodes.benchexec.services.kmscon = { + enable = true; + fonts = [ + { + name = "Fira Code"; + package = pkgs.fira-code; + } + ]; + }; + } +) diff --git a/nixos/tests/binary-cache.nix b/nixos/tests/binary-cache.nix index bc1c6fb9a2671..3877075143afd 100644 --- a/nixos/tests/binary-cache.nix +++ b/nixos/tests/binary-cache.nix @@ -1,60 +1,63 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: - -{ - name = "binary-cache"; - meta.maintainers = with lib.maintainers; [ thomasjm ]; - - nodes.machine = - { pkgs, ... }: { - imports = [ ../modules/installer/cd-dvd/channel.nix ]; - environment.systemPackages = [ pkgs.python3 ]; - system.extraDependencies = [ pkgs.hello.inputDerivation ]; - nix.extraOptions = '' - experimental-features = nix-command - ''; - }; - - testScript = '' - # Build the cache, then remove it from the store - cachePath = machine.succeed("nix-build --no-out-link -E 'with import {}; mkBinaryCache { rootPaths = [hello]; }'").strip() - machine.succeed("cp -r %s/. /tmp/cache" % cachePath) - machine.succeed("nix-store --delete " + cachePath) - - # Sanity test of cache structure - status, stdout = machine.execute("ls /tmp/cache") - cache_files = stdout.split() - assert ("nix-cache-info" in cache_files) - assert ("nar" in cache_files) - - # Nix store ping should work - machine.succeed("nix store ping --store file:///tmp/cache") - - # Cache should contain a .narinfo referring to "hello" - grepLogs = machine.succeed("grep -l 'StorePath: /nix/store/[[:alnum:]]*-hello-.*' /tmp/cache/*.narinfo") - - # Get the store path referenced by the .narinfo - narInfoFile = grepLogs.strip() - narInfoContents = machine.succeed("cat " + narInfoFile) - import re - match = re.match(r"^StorePath: (/nix/store/[a-z0-9]*-hello-.*)$", narInfoContents, re.MULTILINE) - if not match: raise Exception("Couldn't find hello store path in cache") - storePath = match[1] - - # Delete the store path - machine.succeed("nix-store --delete " + storePath) - machine.succeed("[ ! -d %s ] || exit 1" % storePath) - - # Should be able to build hello using the cache - logs = machine.succeed("nix-build -A hello '' --option require-sigs false --option trusted-substituters file:///tmp/cache --option substituters file:///tmp/cache 2>&1") - logLines = logs.split("\n") - if not "this path will be fetched" in logLines[0]: raise Exception("Unexpected first log line") - def shouldBe(got, desired): - if got != desired: raise Exception("Expected '%s' but got '%s'" % (desired, got)) - shouldBe(logLines[1], " " + storePath) - shouldBe(logLines[2], "copying path '%s' from 'file:///tmp/cache'..." % storePath) - shouldBe(logLines[3], storePath) - - # Store path should exist in the store now - machine.succeed("[ -d %s ] || exit 1" % storePath) - ''; -}) +import ./make-test-python.nix ( + { lib, pkgs, ... }: + + { + name = "binary-cache"; + meta.maintainers = with lib.maintainers; [ thomasjm ]; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/installer/cd-dvd/channel.nix ]; + environment.systemPackages = [ pkgs.python3 ]; + system.extraDependencies = [ pkgs.hello.inputDerivation ]; + nix.extraOptions = '' + experimental-features = nix-command + ''; + }; + + testScript = '' + # Build the cache, then remove it from the store + cachePath = machine.succeed("nix-build --no-out-link -E 'with import {}; mkBinaryCache { rootPaths = [hello]; }'").strip() + machine.succeed("cp -r %s/. /tmp/cache" % cachePath) + machine.succeed("nix-store --delete " + cachePath) + + # Sanity test of cache structure + status, stdout = machine.execute("ls /tmp/cache") + cache_files = stdout.split() + assert ("nix-cache-info" in cache_files) + assert ("nar" in cache_files) + + # Nix store ping should work + machine.succeed("nix store ping --store file:///tmp/cache") + + # Cache should contain a .narinfo referring to "hello" + grepLogs = machine.succeed("grep -l 'StorePath: /nix/store/[[:alnum:]]*-hello-.*' /tmp/cache/*.narinfo") + + # Get the store path referenced by the .narinfo + narInfoFile = grepLogs.strip() + narInfoContents = machine.succeed("cat " + narInfoFile) + import re + match = re.match(r"^StorePath: (/nix/store/[a-z0-9]*-hello-.*)$", narInfoContents, re.MULTILINE) + if not match: raise Exception("Couldn't find hello store path in cache") + storePath = match[1] + + # Delete the store path + machine.succeed("nix-store --delete " + storePath) + machine.succeed("[ ! -d %s ] || exit 1" % storePath) + + # Should be able to build hello using the cache + logs = machine.succeed("nix-build -A hello '' --option require-sigs false --option trusted-substituters file:///tmp/cache --option substituters file:///tmp/cache 2>&1") + logLines = logs.split("\n") + if not "this path will be fetched" in logLines[0]: raise Exception("Unexpected first log line") + def shouldBe(got, desired): + if got != desired: raise Exception("Expected '%s' but got '%s'" % (desired, got)) + shouldBe(logLines[1], " " + storePath) + shouldBe(logLines[2], "copying path '%s' from 'file:///tmp/cache'..." % storePath) + shouldBe(logLines[3], storePath) + + # Store path should exist in the store now + machine.succeed("[ -d %s ] || exit 1" % storePath) + ''; + } +) diff --git a/nixos/tests/bind.nix b/nixos/tests/bind.nix index 95a9fc4e58bbf..5eb75392a3821 100644 --- a/nixos/tests/bind.nix +++ b/nixos/tests/bind.nix @@ -1,24 +1,26 @@ import ./make-test-python.nix { name = "bind"; - nodes.machine = { pkgs, lib, ... }: { - services.bind.enable = true; - services.bind.extraOptions = "empty-zones-enable no;"; - services.bind.zones = lib.singleton { - name = "."; - master = true; - file = pkgs.writeText "root.zone" '' - $TTL 3600 - . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d ) - . IN NS ns.example.org. + nodes.machine = + { pkgs, lib, ... }: + { + services.bind.enable = true; + services.bind.extraOptions = "empty-zones-enable no;"; + services.bind.zones = lib.singleton { + name = "."; + master = true; + file = pkgs.writeText "root.zone" '' + $TTL 3600 + . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d ) + . IN NS ns.example.org. - ns.example.org. IN A 192.168.0.1 - ns.example.org. IN AAAA abcd::1 + ns.example.org. IN A 192.168.0.1 + ns.example.org. IN AAAA abcd::1 - 1.0.168.192.in-addr.arpa IN PTR ns.example.org. - ''; + 1.0.168.192.in-addr.arpa IN PTR ns.example.org. + ''; + }; }; - }; testScript = '' machine.wait_for_unit("bind.service") diff --git a/nixos/tests/bird.nix b/nixos/tests/bird.nix index 822a7caea9ba3..9b52e1beccaef 100644 --- a/nixos/tests/bird.nix +++ b/nixos/tests/bird.nix @@ -1,103 +1,110 @@ # This test does a basic functionality check for all bird variants and demonstrates a use # of the preCheckConfig option. -{ system ? builtins.currentSystem -, pkgs ? import ../.. { inherit system; config = { }; } +{ + system ? builtins.currentSystem, + pkgs ? import ../.. { + inherit system; + config = { }; + }, }: let inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; inherit (pkgs.lib) optionalString; - makeBird2Host = hostId: { pkgs, ... }: { - virtualisation.vlans = [ 1 ]; + makeBird2Host = + hostId: + { pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; - environment.systemPackages = with pkgs; [ jq ]; + environment.systemPackages = with pkgs; [ jq ]; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + }; - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.${hostId}/24"; - }; + systemd.network.networks."01-eth1" = { + name = "eth1"; + networkConfig.Address = "10.0.0.${hostId}/24"; + }; - services.bird2 = { - enable = true; + services.bird2 = { + enable = true; - config = '' - log syslog all; + config = '' + log syslog all; - debug protocols all; + debug protocols all; - router id 10.0.0.${hostId}; + router id 10.0.0.${hostId}; - protocol device { - } + protocol device { + } - protocol kernel kernel4 { - ipv4 { - import none; - export all; - }; - } + protocol kernel kernel4 { + ipv4 { + import none; + export all; + }; + } - protocol static static4 { - ipv4; - include "static4.conf"; - } + protocol static static4 { + ipv4; + include "static4.conf"; + } - protocol ospf v2 ospf4 { - ipv4 { - export all; - }; - area 0 { - interface "eth1" { - hello 5; - wait 5; + protocol ospf v2 ospf4 { + ipv4 { + export all; }; - }; - } - - protocol kernel kernel6 { - ipv6 { - import none; - export all; - }; - } - - protocol static static6 { - ipv6; - include "static6.conf"; - } - - protocol ospf v3 ospf6 { - ipv6 { - export all; - }; - area 0 { - interface "eth1" { - hello 5; - wait 5; + area 0 { + interface "eth1" { + hello 5; + wait 5; + }; }; - }; - } - ''; - - preCheckConfig = '' - echo "route 1.2.3.4/32 blackhole;" > static4.conf - echo "route fd00::/128 blackhole;" > static6.conf - ''; - }; + } + + protocol kernel kernel6 { + ipv6 { + import none; + export all; + }; + } + + protocol static static6 { + ipv6; + include "static6.conf"; + } - systemd.tmpfiles.rules = [ - "f /etc/bird/static4.conf - - - - route 10.10.0.${hostId}/32 blackhole;" - "f /etc/bird/static6.conf - - - - route fdff::${hostId}/128 blackhole;" - ]; - }; + protocol ospf v3 ospf6 { + ipv6 { + export all; + }; + area 0 { + interface "eth1" { + hello 5; + wait 5; + }; + }; + } + ''; + + preCheckConfig = '' + echo "route 1.2.3.4/32 blackhole;" > static4.conf + echo "route fd00::/128 blackhole;" > static6.conf + ''; + }; + + systemd.tmpfiles.rules = [ + "f /etc/bird/static4.conf - - - - route 10.10.0.${hostId}/32 blackhole;" + "f /etc/bird/static6.conf - - - - route fdff::${hostId}/128 blackhole;" + ]; + }; in makeTest { name = "bird2"; diff --git a/nixos/tests/birdwatcher.nix b/nixos/tests/birdwatcher.nix index 5c41b4d0e4f3a..1f90e840e441a 100644 --- a/nixos/tests/birdwatcher.nix +++ b/nixos/tests/birdwatcher.nix @@ -1,7 +1,11 @@ # This test does a basic functionality check for birdwatcher -{ system ? builtins.currentSystem -, pkgs ? import ../.. { inherit system; config = { }; } +{ + system ? builtins.currentSystem, + pkgs ? import ../.. { + inherit system; + config = { }; + }, }: let diff --git a/nixos/tests/bitcoind.nix b/nixos/tests/bitcoind.nix index 7726a23d853e6..d588e055b14ad 100644 --- a/nixos/tests/bitcoind.nix +++ b/nixos/tests/bitcoind.nix @@ -1,48 +1,57 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "bitcoind"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ _1000101 ]; - }; - - nodes.machine = { ... }: { - services.bitcoind."mainnet" = { - enable = true; - rpc = { - port = 8332; - users.rpc.passwordHMAC = "acc2374e5f9ba9e62a5204d3686616cf$53abdba5e67a9005be6a27ca03a93ce09e58854bc2b871523a0d239a72968033"; - users.rpc2.passwordHMAC = "1495e4a3ad108187576c68f7f9b5ddc5$accce0881c74aa01bb8960ff3bdbd39f607fd33178147679e055a4ac35f53225"; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "bitcoind"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ _1000101 ]; }; - environment.etc."test.blank".text = ""; - services.bitcoind."testnet" = { - enable = true; - configFile = "/etc/test.blank"; - testnet = true; - rpc = { - port = 18332; + nodes.machine = + { ... }: + { + services.bitcoind."mainnet" = { + enable = true; + rpc = { + port = 8332; + users.rpc.passwordHMAC = "acc2374e5f9ba9e62a5204d3686616cf$53abdba5e67a9005be6a27ca03a93ce09e58854bc2b871523a0d239a72968033"; + users.rpc2.passwordHMAC = "1495e4a3ad108187576c68f7f9b5ddc5$accce0881c74aa01bb8960ff3bdbd39f607fd33178147679e055a4ac35f53225"; + }; + }; + + environment.etc."test.blank".text = ""; + services.bitcoind."testnet" = { + enable = true; + configFile = "/etc/test.blank"; + testnet = true; + rpc = { + port = 18332; + }; + extraCmdlineOptions = [ + "-rpcuser=rpc" + "-rpcpassword=rpc" + "-rpcauth=rpc2:1495e4a3ad108187576c68f7f9b5ddc5$accce0881c74aa01bb8960ff3bdbd39f607fd33178147679e055a4ac35f53225" + ]; + }; }; - extraCmdlineOptions = [ "-rpcuser=rpc" "-rpcpassword=rpc" "-rpcauth=rpc2:1495e4a3ad108187576c68f7f9b5ddc5$accce0881c74aa01bb8960ff3bdbd39f607fd33178147679e055a4ac35f53225" ]; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("bitcoind-mainnet.service") - machine.wait_for_unit("bitcoind-testnet.service") + machine.wait_for_unit("bitcoind-mainnet.service") + machine.wait_for_unit("bitcoind-testnet.service") - machine.wait_until_succeeds( - 'curl --fail --user rpc:rpc --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:8332 | grep \'"chain":"main"\' ' - ) - machine.wait_until_succeeds( - 'curl --fail --user rpc2:rpc2 --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:8332 | grep \'"chain":"main"\' ' - ) - machine.wait_until_succeeds( - 'curl --fail --user rpc:rpc --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:18332 | grep \'"chain":"test"\' ' - ) - machine.wait_until_succeeds( - 'curl --fail --user rpc2:rpc2 --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:18332 | grep \'"chain":"test"\' ' - ) - ''; -}) + machine.wait_until_succeeds( + 'curl --fail --user rpc:rpc --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:8332 | grep \'"chain":"main"\' ' + ) + machine.wait_until_succeeds( + 'curl --fail --user rpc2:rpc2 --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:8332 | grep \'"chain":"main"\' ' + ) + machine.wait_until_succeeds( + 'curl --fail --user rpc:rpc --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:18332 | grep \'"chain":"test"\' ' + ) + machine.wait_until_succeeds( + 'curl --fail --user rpc2:rpc2 --data-binary \'{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }\' -H \'content-type: text/plain;\' localhost:18332 | grep \'"chain":"test"\' ' + ) + ''; + } +) diff --git a/nixos/tests/blockbook-frontend.nix b/nixos/tests/blockbook-frontend.nix index dca4f2f53cc10..60bc59d8ec8db 100644 --- a/nixos/tests/blockbook-frontend.nix +++ b/nixos/tests/blockbook-frontend.nix @@ -1,28 +1,33 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "blockbook-frontend"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ _1000101 ]; - }; - - nodes.machine = { ... }: { - services.blockbook-frontend."test" = { - enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "blockbook-frontend"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ _1000101 ]; }; - services.bitcoind.mainnet = { - enable = true; - rpc = { - port = 8030; - users.rpc.passwordHMAC = "acc2374e5f9ba9e62a5204d3686616cf$53abdba5e67a9005be6a27ca03a93ce09e58854bc2b871523a0d239a72968033"; + + nodes.machine = + { ... }: + { + services.blockbook-frontend."test" = { + enable = true; + }; + services.bitcoind.mainnet = { + enable = true; + rpc = { + port = 8030; + users.rpc.passwordHMAC = "acc2374e5f9ba9e62a5204d3686616cf$53abdba5e67a9005be6a27ca03a93ce09e58854bc2b871523a0d239a72968033"; + }; + }; }; - }; - }; - testScript = '' - start_all() - machine.wait_for_unit("blockbook-frontend-test.service") + testScript = '' + start_all() + machine.wait_for_unit("blockbook-frontend-test.service") - machine.wait_for_open_port(9030) + machine.wait_for_open_port(9030) - machine.succeed("curl -sSfL http://localhost:9030 | grep 'Blockbook'") - ''; -}) + machine.succeed("curl -sSfL http://localhost:9030 | grep 'Blockbook'") + ''; + } +) diff --git a/nixos/tests/blocky.nix b/nixos/tests/blocky.nix index 18e7f45e1c738..bfbd57589a875 100644 --- a/nixos/tests/blocky.nix +++ b/nixos/tests/blocky.nix @@ -2,26 +2,31 @@ import ./make-test-python.nix { name = "blocky"; nodes = { - server = { pkgs, ... }: { - environment.systemPackages = [ pkgs.dnsutils ]; - services.blocky = { - enable = true; + server = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.dnsutils ]; + services.blocky = { + enable = true; - settings = { - customDNS = { - mapping = { - "printer.lan" = "192.168.178.3,2001:0db8:85a3:08d3:1319:8a2e:0370:7344"; + settings = { + customDNS = { + mapping = { + "printer.lan" = "192.168.178.3,2001:0db8:85a3:08d3:1319:8a2e:0370:7344"; + }; }; + upstream = { + default = [ + "8.8.8.8" + "1.1.1.1" + ]; + }; + port = 53; + httpPort = 5000; + logLevel = "info"; }; - upstream = { - default = [ "8.8.8.8" "1.1.1.1" ]; - }; - port = 53; - httpPort = 5000; - logLevel = "info"; }; }; - }; }; testScript = '' diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix index bc6caa8ee627d..c700b79b27fec 100644 --- a/nixos/tests/boot-stage1.nix +++ b/nixos/tests/boot-stage1.nix @@ -1,164 +1,193 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "boot-stage1"; - - nodes.machine = { config, pkgs, lib, ... }: { - boot.extraModulePackages = let - compileKernelModule = name: source: pkgs.runCommandCC name rec { - inherit source; - kdev = config.boot.kernelPackages.kernel.dev; - kver = config.boot.kernelPackages.kernel.modDirVersion; - ksrc = "${kdev}/lib/modules/${kver}/build"; - hardeningDisable = [ "pic" ]; - nativeBuildInputs = kdev.moduleBuildDependencies; - } '' - echo "obj-m += $name.o" > Makefile - echo "$source" > "$name.c" - make -C "$ksrc" M=$(pwd) modules - install -vD "$name.ko" "$out/lib/modules/$kver/$name.ko" - ''; - - # This spawns a kthread which just waits until it gets a signal and - # terminates if that is the case. We want to make sure that nothing during - # the boot process kills any kthread by accident, like what happened in - # issue #15226. - kcanary = compileKernelModule "kcanary" '' - #include - #include - #include - #include - #include - #include - #include - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) - #include - #endif - - MODULE_LICENSE("GPL"); - - struct task_struct *canaryTask; - - static int kcanary(void *nothing) - { - allow_signal(SIGINT); - allow_signal(SIGTERM); - allow_signal(SIGKILL); - while (!kthread_should_stop()) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout_interruptible(msecs_to_jiffies(100)); - if (signal_pending(current)) break; - } - return 0; - } - - static int kcanaryInit(void) - { - kthread_run(&kcanary, NULL, "kcanary"); - return 0; - } - - static void kcanaryExit(void) - { - kthread_stop(canaryTask); - } - - module_init(kcanaryInit); - module_exit(kcanaryExit); - ''; - - in lib.singleton kcanary; - - boot.initrd.kernelModules = [ "kcanary" ]; - - boot.initrd.extraUtilsCommands = let - compile = name: source: pkgs.runCommandCC name { inherit source; } '' - mkdir -p "$out/bin" - echo "$source" | gcc -Wall -o "$out/bin/$name" -xc - - ''; - - daemonize = name: source: compile name '' - #include - #include - - void runSource(void) { - ${source} - } - - int main(void) { - if (fork() > 0) return 0; - setsid(); - runSource(); - return 1; - } - ''; - - mkCmdlineCanary = { name, cmdline ? "", source ? "" }: (daemonize name '' - char *argv[] = {"${cmdline}", NULL}; - execvp("${name}-child", argv); - '') // { - child = compile "${name}-child" '' - #include - #include - - int main(void) { - ${source} - while (1) sleep(1); - return 1; - } +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "boot-stage1"; + + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + { + boot.extraModulePackages = + let + compileKernelModule = + name: source: + pkgs.runCommandCC name + rec { + inherit source; + kdev = config.boot.kernelPackages.kernel.dev; + kver = config.boot.kernelPackages.kernel.modDirVersion; + ksrc = "${kdev}/lib/modules/${kver}/build"; + hardeningDisable = [ "pic" ]; + nativeBuildInputs = kdev.moduleBuildDependencies; + } + '' + echo "obj-m += $name.o" > Makefile + echo "$source" > "$name.c" + make -C "$ksrc" M=$(pwd) modules + install -vD "$name.ko" "$out/lib/modules/$kver/$name.ko" + ''; + + # This spawns a kthread which just waits until it gets a signal and + # terminates if that is the case. We want to make sure that nothing during + # the boot process kills any kthread by accident, like what happened in + # issue #15226. + kcanary = compileKernelModule "kcanary" '' + #include + #include + #include + #include + #include + #include + #include + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) + #include + #endif + + MODULE_LICENSE("GPL"); + + struct task_struct *canaryTask; + + static int kcanary(void *nothing) + { + allow_signal(SIGINT); + allow_signal(SIGTERM); + allow_signal(SIGKILL); + while (!kthread_should_stop()) { + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout_interruptible(msecs_to_jiffies(100)); + if (signal_pending(current)) break; + } + return 0; + } + + static int kcanaryInit(void) + { + kthread_run(&kcanary, NULL, "kcanary"); + return 0; + } + + static void kcanaryExit(void) + { + kthread_stop(canaryTask); + } + + module_init(kcanaryInit); + module_exit(kcanaryExit); + ''; + + in + lib.singleton kcanary; + + boot.initrd.kernelModules = [ "kcanary" ]; + + boot.initrd.extraUtilsCommands = + let + compile = + name: source: + pkgs.runCommandCC name { inherit source; } '' + mkdir -p "$out/bin" + echo "$source" | gcc -Wall -o "$out/bin/$name" -xc - + ''; + + daemonize = + name: source: + compile name '' + #include + #include + + void runSource(void) { + ${source} + } + + int main(void) { + if (fork() > 0) return 0; + setsid(); + runSource(); + return 1; + } + ''; + + mkCmdlineCanary = + { + name, + cmdline ? "", + source ? "", + }: + (daemonize name '' + char *argv[] = {"${cmdline}", NULL}; + execvp("${name}-child", argv); + '') + // { + child = compile "${name}-child" '' + #include + #include + + int main(void) { + ${source} + while (1) sleep(1); + return 1; + } + ''; + }; + + copyCanaries = lib.concatMapStrings (canary: '' + ${lib.optionalString (canary ? child) '' + copy_bin_and_libs "${canary.child}/bin/${canary.child.name}" + ''} + copy_bin_and_libs "${canary}/bin/${canary.name}" + ''); + + in + copyCanaries [ + # Simple canary process which just sleeps forever and should be killed by + # stage 2. + (daemonize "canary1" "while (1) sleep(1);") + + # We want this canary process to try mimicking a kthread using a cmdline + # with a zero length so we can make sure that the process is properly + # killed in stage 1. + (mkCmdlineCanary { + name = "canary2"; + source = '' + FILE *f; + f = fopen("/run/canary2.pid", "w"); + fprintf(f, "%d\n", getpid()); + fclose(f); + ''; + }) + + # This canary process mimics a storage daemon, which we do NOT want to be + # killed before going into stage 2. For more on root storage daemons, see: + # https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/ + (mkCmdlineCanary { + name = "canary3"; + cmdline = "@canary3"; + }) + ]; + + boot.initrd.postMountCommands = '' + canary1 + canary2 + canary3 + # Make sure the pidfile of canary 2 is created so that we still can get + # its former pid after the killing spree starts next within stage 1. + while [ ! -s /run/canary2.pid ]; do sleep 0.1; done ''; }; - copyCanaries = lib.concatMapStrings (canary: '' - ${lib.optionalString (canary ? child) '' - copy_bin_and_libs "${canary.child}/bin/${canary.child.name}" - ''} - copy_bin_and_libs "${canary}/bin/${canary.name}" - ''); - - in copyCanaries [ - # Simple canary process which just sleeps forever and should be killed by - # stage 2. - (daemonize "canary1" "while (1) sleep(1);") - - # We want this canary process to try mimicking a kthread using a cmdline - # with a zero length so we can make sure that the process is properly - # killed in stage 1. - (mkCmdlineCanary { - name = "canary2"; - source = '' - FILE *f; - f = fopen("/run/canary2.pid", "w"); - fprintf(f, "%d\n", getpid()); - fclose(f); - ''; - }) - - # This canary process mimics a storage daemon, which we do NOT want to be - # killed before going into stage 2. For more on root storage daemons, see: - # https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/ - (mkCmdlineCanary { - name = "canary3"; - cmdline = "@canary3"; - }) - ]; - - boot.initrd.postMountCommands = '' - canary1 - canary2 - canary3 - # Make sure the pidfile of canary 2 is created so that we still can get - # its former pid after the killing spree starts next within stage 1. - while [ ! -s /run/canary2.pid ]; do sleep 0.1; done + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.succeed("test -s /run/canary2.pid") + machine.fail("pgrep -a canary1") + machine.fail("kill -0 $(< /run/canary2.pid)") + machine.succeed('pgrep -a -f "^@canary3$"') + machine.succeed('pgrep -a -f "^\\[kcanary\\]$"') ''; - }; - - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.succeed("test -s /run/canary2.pid") - machine.fail("pgrep -a canary1") - machine.fail("kill -0 $(< /run/canary2.pid)") - machine.succeed('pgrep -a -f "^@canary3$"') - machine.succeed('pgrep -a -f "^\\[kcanary\\]$"') - ''; - - meta.maintainers = with pkgs.lib.maintainers; [ aszlig ]; -}) + + meta.maintainers = with pkgs.lib.maintainers; [ aszlig ]; + } +) diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix index 3ec8d3e5a3cf9..11e88bd3d8912 100644 --- a/nixos/tests/boot.nix +++ b/nixos/tests/boot.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -9,36 +10,58 @@ let lib = pkgs.lib; qemu-common = import ../lib/qemu-common.nix { inherit lib pkgs; }; - mkStartCommand = { - memory ? 2048, - cdrom ? null, - usb ? null, - pxe ? null, - uboot ? false, - uefi ? false, - extraFlags ? [], - }: let - qemu = qemu-common.qemuBinary pkgs.qemu_test; - - flags = [ - "-m" (toString memory) - "-netdev" ("user,id=net0" + (lib.optionalString (pxe != null) ",tftp=${pxe},bootfile=netboot.ipxe")) - "-device" ("virtio-net-pci,netdev=net0" + (lib.optionalString (pxe != null && uefi) ",romfile=${pkgs.ipxe}/ipxe.efirom")) - ] ++ lib.optionals (cdrom != null) [ - "-cdrom" cdrom - ] ++ lib.optionals (usb != null) [ - "-device" "usb-ehci" - "-drive" "id=usbdisk,file=${usb},if=none,readonly" - "-device" "usb-storage,drive=usbdisk" - ] ++ lib.optionals (pxe != null) [ - "-boot" "order=n" - ] ++ lib.optionals uefi [ - "-drive" "if=pflash,format=raw,unit=0,readonly=on,file=${pkgs.OVMF.firmware}" - "-drive" "if=pflash,format=raw,unit=1,readonly=on,file=${pkgs.OVMF.variables}" - ] ++ extraFlags; - - flagsStr = lib.concatStringsSep " " flags; - in "${qemu} ${flagsStr}"; + mkStartCommand = + { + memory ? 2048, + cdrom ? null, + usb ? null, + pxe ? null, + uboot ? false, + uefi ? false, + extraFlags ? [ ], + }: + let + qemu = qemu-common.qemuBinary pkgs.qemu_test; + + flags = + [ + "-m" + (toString memory) + "-netdev" + ("user,id=net0" + (lib.optionalString (pxe != null) ",tftp=${pxe},bootfile=netboot.ipxe")) + "-device" + ( + "virtio-net-pci,netdev=net0" + + (lib.optionalString (pxe != null && uefi) ",romfile=${pkgs.ipxe}/ipxe.efirom") + ) + ] + ++ lib.optionals (cdrom != null) [ + "-cdrom" + cdrom + ] + ++ lib.optionals (usb != null) [ + "-device" + "usb-ehci" + "-drive" + "id=usbdisk,file=${usb},if=none,readonly" + "-device" + "usb-storage,drive=usbdisk" + ] + ++ lib.optionals (pxe != null) [ + "-boot" + "order=n" + ] + ++ lib.optionals uefi [ + "-drive" + "if=pflash,format=raw,unit=0,readonly=on,file=${pkgs.OVMF.firmware}" + "-drive" + "if=pflash,format=raw,unit=1,readonly=on,file=${pkgs.OVMF.variables}" + ] + ++ extraFlags; + + flagsStr = lib.concatStringsSep " " flags; + in + "${qemu} ${flagsStr}"; iso = (import ../lib/eval-config.nix { @@ -59,31 +82,33 @@ let ]; }).config.system.build.sdImage; - makeBootTest = name: config: + makeBootTest = + name: config: let startCommand = mkStartCommand config; in - makeTest { - name = "boot-" + name; - nodes = { }; - testScript = - '' - machine = create_machine("${startCommand}") - machine.start() - machine.wait_for_unit("multi-user.target") - machine.succeed("nix store verify --no-trust -r --option experimental-features nix-command /run/current-system") - - with subtest("Check whether the channel got installed correctly"): - machine.succeed("nix-instantiate --dry-run '' -A hello") - machine.succeed("nix-env --dry-run -iA nixos.procps") - - machine.shutdown() - ''; - }; + makeTest { + name = "boot-" + name; + nodes = { }; + testScript = '' + machine = create_machine("${startCommand}") + machine.start() + machine.wait_for_unit("multi-user.target") + machine.succeed("nix store verify --no-trust -r --option experimental-features nix-command /run/current-system") + + with subtest("Check whether the channel got installed correctly"): + machine.succeed("nix-instantiate --dry-run '' -A hello") + machine.succeed("nix-env --dry-run -iA nixos.procps") - makeNetbootTest = name: extraConfig: + machine.shutdown() + ''; + }; + + makeNetbootTest = + name: extraConfig: let - config = (import ../lib/eval-config.nix { + config = + (import ../lib/eval-config.nix { inherit system; modules = [ ../modules/installer/netboot/netboot.nix @@ -107,9 +132,12 @@ let config.system.build.netbootIpxeScript ]; }; - startCommand = mkStartCommand ({ - pxe = ipxeBootDir; - } // extraConfig); + startCommand = mkStartCommand ( + { + pxe = ipxeBootDir; + } + // extraConfig + ); in makeTest { name = "boot-netboot-" + name; @@ -145,24 +173,29 @@ in cdrom = "${iso}/iso/${iso.isoName}"; }; - biosUsb = makeBootTest "bios-usb" { - usb = "${iso}/iso/${iso.isoName}"; - }; + biosUsb = makeBootTest "bios-usb" { + usb = "${iso}/iso/${iso.isoName}"; + }; - biosNetboot = makeNetbootTest "bios" {}; + biosNetboot = makeNetbootTest "bios" { }; - ubootExtlinux = let + ubootExtlinux = + let sdImage = "${sd}/sd-image/${sd.imageName}"; mutableImage = "/tmp/linked-image.qcow2"; startCommand = mkStartCommand { extraFlags = [ - "-bios" "${pkgs.ubootQemuX86}/u-boot.rom" - "-machine" "type=pc,accel=tcg" - "-drive" "file=${mutableImage},if=virtio" + "-bios" + "${pkgs.ubootQemuX86}/u-boot.rom" + "-machine" + "type=pc,accel=tcg" + "-drive" + "file=${mutableImage},if=virtio" ]; }; - in makeTest { + in + makeTest { name = "boot-uboot-extlinux"; nodes = { }; testScript = '' diff --git a/nixos/tests/bootspec.nix b/nixos/tests/bootspec.nix index 14928b2206251..83a39d94d7e7a 100644 --- a/nixos/tests/bootspec.nix +++ b/nixos/tests/bootspec.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -144,7 +145,6 @@ in ''; }; - # Check that specialisations create corresponding entries in bootspec. specialisation = makeTest { name = "bootspec-with-specialisation"; @@ -153,7 +153,7 @@ in nodes.machine = { imports = [ standard ]; environment.systemPackages = [ pkgs.jq ]; - specialisation.something.configuration = {}; + specialisation.something.configuration = { }; }; testScript = '' @@ -177,15 +177,17 @@ in name = "bootspec-with-extensions"; meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; - nodes.machine = { config, ... }: { - imports = [ standard ]; - environment.systemPackages = [ pkgs.jq ]; - boot.bootspec.extensions = { - "org.nix-tests.product" = { - osRelease = config.environment.etc."os-release".source; + nodes.machine = + { config, ... }: + { + imports = [ standard ]; + environment.systemPackages = [ pkgs.jq ]; + boot.bootspec.extensions = { + "org.nix-tests.product" = { + osRelease = config.environment.etc."os-release".source; + }; }; }; - }; testScript = '' machine.start() diff --git a/nixos/tests/borgmatic.nix b/nixos/tests/borgmatic.nix index 70ad43e8bd358..be2542ed64ca8 100644 --- a/nixos/tests/borgmatic.nix +++ b/nixos/tests/borgmatic.nix @@ -1,24 +1,28 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "borgmatic"; - nodes.machine = { ... }: { - services.borgmatic = { - enable = true; - settings = { - source_directories = [ "/home" ]; - repositories = [ - { - label = "local"; - path = "/var/backup"; - } - ]; - keep_daily = 7; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "borgmatic"; + nodes.machine = + { ... }: + { + services.borgmatic = { + enable = true; + settings = { + source_directories = [ "/home" ]; + repositories = [ + { + label = "local"; + path = "/var/backup"; + } + ]; + keep_daily = 7; + }; + }; }; - }; - }; - testScript = '' - machine.succeed("borgmatic rcreate -e none") - machine.succeed("borgmatic") - ''; -}) + testScript = '' + machine.succeed("borgmatic rcreate -e none") + machine.succeed("borgmatic") + ''; + } +) diff --git a/nixos/tests/botamusique.nix b/nixos/tests/botamusique.nix index ecb79cb69867e..c87224d52a946 100644 --- a/nixos/tests/botamusique.nix +++ b/nixos/tests/botamusique.nix @@ -1,51 +1,55 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : - -{ - name = "botamusique"; - meta.maintainers = with lib.maintainers; [ hexa ]; - - nodes = { - machine = { config, ... }: { - networking.extraHosts = '' - 127.0.0.1 all.api.radio-browser.info - ''; - - services.murmur = { - enable = true; - registerName = "NixOS tests"; - }; - - services.botamusique = { - enable = true; - settings = { - server = { - channel = "NixOS tests"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + { + name = "botamusique"; + meta.maintainers = with lib.maintainers; [ hexa ]; + + nodes = { + machine = + { config, ... }: + { + networking.extraHosts = '' + 127.0.0.1 all.api.radio-browser.info + ''; + + services.murmur = { + enable = true; + registerName = "NixOS tests"; }; - bot = { - version = false; - auto_check_update = false; + + services.botamusique = { + enable = true; + settings = { + server = { + channel = "NixOS tests"; + }; + bot = { + version = false; + auto_check_update = false; + }; + }; }; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("murmur.service") - machine.wait_for_unit("botamusique.service") + machine.wait_for_unit("murmur.service") + machine.wait_for_unit("botamusique.service") - machine.sleep(10) + machine.sleep(10) - machine.wait_until_succeeds( - "journalctl -u murmur.service -e | grep -q '<1:botamusique(-1)> Authenticated'" - ) + machine.wait_until_succeeds( + "journalctl -u murmur.service -e | grep -q '<1:botamusique(-1)> Authenticated'" + ) - with subtest("Check systemd hardening"): - output = machine.execute("systemctl show botamusique.service")[1] - machine.log(output) - output = machine.execute("systemd-analyze security botamusique.service")[1] - machine.log(output) - ''; -}) + with subtest("Check systemd hardening"): + output = machine.execute("systemctl show botamusique.service")[1] + machine.log(output) + output = machine.execute("systemd-analyze security botamusique.service")[1] + machine.log(output) + ''; + } +) diff --git a/nixos/tests/bpf.nix b/nixos/tests/bpf.nix index 0020c7ee2d693..8d871d276d424 100644 --- a/nixos/tests/bpf.nix +++ b/nixos/tests/bpf.nix @@ -1,39 +1,44 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "bpf"; - meta.maintainers = with pkgs.lib.maintainers; [ martinetd ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "bpf"; + meta.maintainers = with pkgs.lib.maintainers; [ martinetd ]; - nodes.machine = { pkgs, ... }: { - programs.bcc.enable = true; - environment.systemPackages = with pkgs; [ bpftrace ]; - }; + nodes.machine = + { pkgs, ... }: + { + programs.bcc.enable = true; + environment.systemPackages = with pkgs; [ bpftrace ]; + }; - testScript = '' - ## bcc - # syscount -d 1 stops 1s after probe started so is good for that - print(machine.succeed("syscount -d 1")) + testScript = '' + ## bcc + # syscount -d 1 stops 1s after probe started so is good for that + print(machine.succeed("syscount -d 1")) - ## bpftrace - # list probes - machine.succeed("bpftrace -l") - # simple BEGIN probe (user probe on bpftrace itself) - print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\\n\"); exit(); }'")) - # tracepoint - print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'")) - # kprobe - print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'")) - # BTF - print(machine.succeed("bpftrace -e 'kprobe:schedule { " - " printf(\"tgid: %d\\n\", ((struct task_struct*) curtask)->tgid); exit() " - "}'")) - # module BTF (bpftrace >= 0.17) - # test is currently disabled on aarch64 as kfunc does not work there yet - # https://github.com/iovisor/bpftrace/issues/2496 - print(machine.succeed("uname -m | grep aarch64 || " - "bpftrace -e 'kfunc:nft_trans_alloc_gfp { " - " printf(\"portid: %d\\n\", args->ctx->portid); " - "} BEGIN { exit() }'")) - # glibc includes - print(machine.succeed("bpftrace -e '#include \n" - "BEGIN { printf(\"ok %d\\n\", EINVAL); exit(); }'")) - ''; -}) + ## bpftrace + # list probes + machine.succeed("bpftrace -l") + # simple BEGIN probe (user probe on bpftrace itself) + print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\\n\"); exit(); }'")) + # tracepoint + print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'")) + # kprobe + print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'")) + # BTF + print(machine.succeed("bpftrace -e 'kprobe:schedule { " + " printf(\"tgid: %d\\n\", ((struct task_struct*) curtask)->tgid); exit() " + "}'")) + # module BTF (bpftrace >= 0.17) + # test is currently disabled on aarch64 as kfunc does not work there yet + # https://github.com/iovisor/bpftrace/issues/2496 + print(machine.succeed("uname -m | grep aarch64 || " + "bpftrace -e 'kfunc:nft_trans_alloc_gfp { " + " printf(\"portid: %d\\n\", args->ctx->portid); " + "} BEGIN { exit() }'")) + # glibc includes + print(machine.succeed("bpftrace -e '#include \n" + "BEGIN { printf(\"ok %d\\n\", EINVAL); exit(); }'")) + ''; + } +) diff --git a/nixos/tests/bpftune.nix b/nixos/tests/bpftune.nix index c17bbcd110920..454e27272d5b6 100644 --- a/nixos/tests/bpftune.nix +++ b/nixos/tests/bpftune.nix @@ -1,20 +1,25 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { - name = "bpftune"; + name = "bpftune"; - meta = { - maintainers = with lib.maintainers; [ nickcao ]; - }; + meta = { + maintainers = with lib.maintainers; [ nickcao ]; + }; - nodes = { - machine = { pkgs, ... }: { - services.bpftune.enable = true; + nodes = { + machine = + { pkgs, ... }: + { + services.bpftune.enable = true; + }; }; - }; - testScript = '' - machine.wait_for_unit("bpftune.service") - machine.wait_for_console_text("bpftune works") - ''; + testScript = '' + machine.wait_for_unit("bpftune.service") + machine.wait_for_console_text("bpftune works") + ''; -}) + } +) diff --git a/nixos/tests/breitbandmessung.nix b/nixos/tests/breitbandmessung.nix index 78df0d5017eb0..414fd09cfa542 100644 --- a/nixos/tests/breitbandmessung.nix +++ b/nixos/tests/breitbandmessung.nix @@ -1,33 +1,41 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "breitbandmessung"; - meta.maintainers = with lib.maintainers; [ b4dm4n ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "breitbandmessung"; + meta.maintainers = with lib.maintainers; [ b4dm4n ]; - nodes.machine = { pkgs, ... }: { - imports = [ - ./common/user-account.nix - ./common/x11.nix - ]; + nodes.machine = + { pkgs, ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; - # increase screen size to make the whole program visible - virtualisation.resolution = { x = 1280; y = 1024; }; + # increase screen size to make the whole program visible + virtualisation.resolution = { + x = 1280; + y = 1024; + }; - test-support.displayManager.auto.user = "alice"; + test-support.displayManager.auto.user = "alice"; - environment.systemPackages = with pkgs; [ breitbandmessung ]; - environment.variables.XAUTHORITY = "/home/alice/.Xauthority"; + environment.systemPackages = with pkgs; [ breitbandmessung ]; + environment.variables.XAUTHORITY = "/home/alice/.Xauthority"; - # breitbandmessung is unfree - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "breitbandmessung" ]; - }; + # breitbandmessung is unfree + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "breitbandmessung" ]; + }; - enableOCR = true; + enableOCR = true; - testScript = '' - machine.wait_for_x() - machine.execute("su - alice -c breitbandmessung >&2 &") - machine.wait_for_window("Breitbandmessung") - machine.wait_for_text("Breitbandmessung") - machine.wait_for_text("Datenschutz") - machine.screenshot("breitbandmessung") - ''; -}) + testScript = '' + machine.wait_for_x() + machine.execute("su - alice -c breitbandmessung >&2 &") + machine.wait_for_window("Breitbandmessung") + machine.wait_for_text("Breitbandmessung") + machine.wait_for_text("Datenschutz") + machine.screenshot("breitbandmessung") + ''; + } +) diff --git a/nixos/tests/brscan5.nix b/nixos/tests/brscan5.nix index 9156a4cccfcfa..f61228bac41e6 100644 --- a/nixos/tests/brscan5.nix +++ b/nixos/tests/brscan5.nix @@ -1,43 +1,53 @@ # integration tests for brscan5 sane driver # -import ./make-test-python.nix ({ pkgs, ...} : { - name = "brscan5"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mattchrist ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "brscan5"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mattchrist ]; + }; - nodes.machine = { pkgs, ... }: - { - nixpkgs.config.allowUnfree = true; - hardware.sane = { - enable = true; - brscan5 = { + nodes.machine = + { pkgs, ... }: + { + nixpkgs.config.allowUnfree = true; + hardware.sane = { enable = true; - netDevices = { - "a" = { model="ADS-1200"; nodename="BRW0080927AFBCE"; }; - "b" = { model="ADS-1200"; ip="192.168.1.2"; }; + brscan5 = { + enable = true; + netDevices = { + "a" = { + model = "ADS-1200"; + nodename = "BRW0080927AFBCE"; + }; + "b" = { + model = "ADS-1200"; + ip = "192.168.1.2"; + }; + }; }; }; }; - }; - testScript = '' - import re - # sane loads libsane-brother5.so.1 successfully, and scanimage doesn't die - strace = machine.succeed('strace scanimage -L 2>&1').split("\n") - regexp = 'openat\(.*libsane-brother5.so.1", O_RDONLY|O_CLOEXEC\) = \d\d*$' - assert len([x for x in strace if re.match(regexp,x)]) > 0 + testScript = '' + import re + # sane loads libsane-brother5.so.1 successfully, and scanimage doesn't die + strace = machine.succeed('strace scanimage -L 2>&1').split("\n") + regexp = 'openat\(.*libsane-brother5.so.1", O_RDONLY|O_CLOEXEC\) = \d\d*$' + assert len([x for x in strace if re.match(regexp,x)]) > 0 - # module creates a config - cfg = machine.succeed('cat /etc/opt/brother/scanner/brscan5/brsanenetdevice.cfg') - assert 'DEVICE=a , "ADS-1200" , 0x4f9:0x459 , NODENAME=BRW0080927AFBCE' in cfg - assert 'DEVICE=b , "ADS-1200" , 0x4f9:0x459 , IP-ADDRESS=192.168.1.2' in cfg + # module creates a config + cfg = machine.succeed('cat /etc/opt/brother/scanner/brscan5/brsanenetdevice.cfg') + assert 'DEVICE=a , "ADS-1200" , 0x4f9:0x459 , NODENAME=BRW0080927AFBCE' in cfg + assert 'DEVICE=b , "ADS-1200" , 0x4f9:0x459 , IP-ADDRESS=192.168.1.2' in cfg - # scanimage lists the two network scanners - scanimage = machine.succeed("scanimage -L") - print(scanimage) - assert """device `brother5:net1;dev0' is a Brother b ADS-1200""" in scanimage - assert """device `brother5:net1;dev1' is a Brother a ADS-1200""" in scanimage - ''; -}) + # scanimage lists the two network scanners + scanimage = machine.succeed("scanimage -L") + print(scanimage) + assert """device `brother5:net1;dev0' is a Brother b ADS-1200""" in scanimage + assert """device `brother5:net1;dev1' is a Brother a ADS-1200""" in scanimage + ''; + } +) diff --git a/nixos/tests/btrbk-no-timer.nix b/nixos/tests/btrbk-no-timer.nix index 4fcab8839c892..c5bcb6edab685 100644 --- a/nixos/tests/btrbk-no-timer.nix +++ b/nixos/tests/btrbk-no-timer.nix @@ -1,18 +1,21 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: { name = "btrbk-no-timer"; meta.maintainers = with lib.maintainers; [ oxalica ]; - nodes.machine = { ... }: { - environment.systemPackages = with pkgs; [ btrfs-progs ]; - services.btrbk.instances.local = { - onCalendar = null; - settings.volume."/mnt" = { - snapshot_dir = "btrbk/local"; - subvolume = "to_backup"; + nodes.machine = + { ... }: + { + environment.systemPackages = with pkgs; [ btrfs-progs ]; + services.btrbk.instances.local = { + onCalendar = null; + settings.volume."/mnt" = { + snapshot_dir = "btrbk/local"; + subvolume = "to_backup"; + }; }; }; - }; testScript = '' start_all() @@ -34,4 +37,5 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: machine.start_job("btrbk-local.service") machine.wait_until_succeeds("cat /mnt/btrbk/local/*/bar | grep foo") ''; - }) + } +) diff --git a/nixos/tests/btrbk-section-order.nix b/nixos/tests/btrbk-section-order.nix index 6082de947f66f..03762b3fee6bf 100644 --- a/nixos/tests/btrbk-section-order.nix +++ b/nixos/tests/btrbk-section-order.nix @@ -6,51 +6,56 @@ # order-sensitive config format. # # Issue: https://github.com/NixOS/nixpkgs/issues/195660 -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "btrbk-section-order"; - meta.maintainers = with lib.maintainers; [ oxalica ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "btrbk-section-order"; + meta.maintainers = with lib.maintainers; [ oxalica ]; - nodes.machine = { ... }: { - services.btrbk.instances.local = { - onCalendar = null; - settings = { - timestamp_format = "long"; - target."ssh://global-target/".ssh_user = "root"; - volume."/btrfs" = { - snapshot_dir = "/volume-snapshots"; - target."ssh://volume-target/".ssh_user = "root"; - subvolume."@subvolume" = { - snapshot_dir = "/subvolume-snapshots"; - target."ssh://subvolume-target/".ssh_user = "root"; + nodes.machine = + { ... }: + { + services.btrbk.instances.local = { + onCalendar = null; + settings = { + timestamp_format = "long"; + target."ssh://global-target/".ssh_user = "root"; + volume."/btrfs" = { + snapshot_dir = "/volume-snapshots"; + target."ssh://volume-target/".ssh_user = "root"; + subvolume."@subvolume" = { + snapshot_dir = "/subvolume-snapshots"; + target."ssh://subvolume-target/".ssh_user = "root"; + }; + }; }; }; }; - }; - }; - testScript = '' - import difflib - machine.wait_for_unit("basic.target") - got = machine.succeed("cat /etc/btrbk/local.conf").strip() - expect = """ - backend btrfs-progs-sudo - stream_compress no - timestamp_format long - target ssh://global-target/ - ssh_user root - volume /btrfs - snapshot_dir /volume-snapshots - target ssh://volume-target/ - ssh_user root - subvolume @subvolume - snapshot_dir /subvolume-snapshots - target ssh://subvolume-target/ + testScript = '' + import difflib + machine.wait_for_unit("basic.target") + got = machine.succeed("cat /etc/btrbk/local.conf").strip() + expect = """ + backend btrfs-progs-sudo + stream_compress no + timestamp_format long + target ssh://global-target/ ssh_user root - """.strip() - print(got) - if got != expect: - diff = difflib.unified_diff(expect.splitlines(keepends=True), got.splitlines(keepends=True), fromfile="expected", tofile="got") - print("".join(diff)) - assert got == expect - ''; -}) + volume /btrfs + snapshot_dir /volume-snapshots + target ssh://volume-target/ + ssh_user root + subvolume @subvolume + snapshot_dir /subvolume-snapshots + target ssh://subvolume-target/ + ssh_user root + """.strip() + print(got) + if got != expect: + diff = difflib.unified_diff(expect.splitlines(keepends=True), got.splitlines(keepends=True), fromfile="expected", tofile="got") + print("".join(diff)) + assert got == expect + ''; + } +) diff --git a/nixos/tests/budgie.nix b/nixos/tests/budgie.nix index 9f24ea71de1d4..5389a8d9da9d2 100644 --- a/nixos/tests/budgie.nix +++ b/nixos/tests/budgie.nix @@ -1,98 +1,104 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "budgie"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "budgie"; - meta.maintainers = lib.teams.budgie.members; + meta.maintainers = lib.teams.budgie.members; - nodes.machine = { ... }: { - imports = [ - ./common/user-account.nix - ]; + nodes.machine = + { ... }: + { + imports = [ + ./common/user-account.nix + ]; - services.xserver.enable = true; + services.xserver.enable = true; - services.xserver.displayManager = { - lightdm.enable = true; - autoLogin = { - enable = true; - user = "alice"; - }; - }; + services.xserver.displayManager = { + lightdm.enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; - # We don't ship gnome-text-editor in Budgie module, we add this line mainly - # to catch eval issues related to this option. - environment.budgie.excludePackages = [ pkgs.gnome-text-editor ]; + # We don't ship gnome-text-editor in Budgie module, we add this line mainly + # to catch eval issues related to this option. + environment.budgie.excludePackages = [ pkgs.gnome-text-editor ]; - services.xserver.desktopManager.budgie = { - enable = true; - extraPlugins = [ - pkgs.budgie-analogue-clock-applet - ]; - }; - }; + services.xserver.desktopManager.budgie = { + enable = true; + extraPlugins = [ + pkgs.budgie-analogue-clock-applet + ]; + }; + }; - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0"; - su = command: "su - ${user.name} -c '${env} ${command}'"; - in - '' - with subtest("Wait for login"): - # wait_for_x() checks graphical-session.target, which is expected to be - # inactive on Budgie before Budgie manages user session with systemd. - # https://github.com/BuddiesOfBudgie/budgie-desktop/blob/39e9f0895c978f76/src/session/budgie-desktop.in#L16 - # - # Previously this was unconditionally touched by xsessionWrapper but was - # changed in #233981 (we have Budgie:GNOME in XDG_CURRENT_DESKTOP). - # machine.wait_for_x() - machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"') - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0"; + su = command: "su - ${user.name} -c '${env} ${command}'"; + in + '' + with subtest("Wait for login"): + # wait_for_x() checks graphical-session.target, which is expected to be + # inactive on Budgie before Budgie manages user session with systemd. + # https://github.com/BuddiesOfBudgie/budgie-desktop/blob/39e9f0895c978f76/src/session/budgie-desktop.in#L16 + # + # Previously this was unconditionally touched by xsessionWrapper but was + # changed in #233981 (we have Budgie:GNOME in XDG_CURRENT_DESKTOP). + # machine.wait_for_x() + machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"') + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - with subtest("Check if Budgie session components actually start"): - for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "budgie-desktop-view", "gsd-media-keys"]: - machine.wait_until_succeeds(f"pgrep -f {i}") - # We don't check xwininfo for budgie-wm. - # See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754 - machine.wait_for_window("budgie-daemon") - machine.wait_for_window("budgie-panel") + with subtest("Check if Budgie session components actually start"): + for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "budgie-desktop-view", "gsd-media-keys"]: + machine.wait_until_succeeds(f"pgrep -f {i}") + # We don't check xwininfo for budgie-wm. + # See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754 + machine.wait_for_window("budgie-daemon") + machine.wait_for_window("budgie-panel") - with subtest("Check if various environment variables are set"): - cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ" - machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie:GNOME'") - machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie-desktop-with-plugins.pname}'") + with subtest("Check if various environment variables are set"): + cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ" + machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie:GNOME'") + machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie-desktop-with-plugins.pname}'") - with subtest("Open run dialog"): - machine.send_key("alt-f2") - machine.wait_for_window("budgie-run-dialog") - machine.sleep(2) - machine.screenshot("run_dialog") - machine.send_key("esc") + with subtest("Open run dialog"): + machine.send_key("alt-f2") + machine.wait_for_window("budgie-run-dialog") + machine.sleep(2) + machine.screenshot("run_dialog") + machine.send_key("esc") - with subtest("Open Budgie Control Center"): - machine.succeed("${su "budgie-control-center >&2 &"}") - machine.wait_for_window("Budgie Control Center") + with subtest("Open Budgie Control Center"): + machine.succeed("${su "budgie-control-center >&2 &"}") + machine.wait_for_window("Budgie Control Center") - with subtest("Lock the screen"): - machine.succeed("${su "budgie-screensaver-command -l >&2 &"}") - machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is active'") - machine.sleep(2) - machine.send_chars("${user.password}", delay=0.5) - machine.screenshot("budgie_screensaver") - machine.send_chars("\n") - machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'") - machine.sleep(2) + with subtest("Lock the screen"): + machine.succeed("${su "budgie-screensaver-command -l >&2 &"}") + machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is active'") + machine.sleep(2) + machine.send_chars("${user.password}", delay=0.5) + machine.screenshot("budgie_screensaver") + machine.send_chars("\n") + machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'") + machine.sleep(2) - with subtest("Open GNOME terminal"): - machine.succeed("${su "gnome-terminal"}") - machine.wait_for_window("${user.name}@machine: ~") + with subtest("Open GNOME terminal"): + machine.succeed("${su "gnome-terminal"}") + machine.wait_for_window("${user.name}@machine: ~") - with subtest("Check if Budgie has ever coredumped"): - machine.fail("coredumpctl --json=short | grep budgie") - machine.sleep(10) - machine.screenshot("screen") - ''; -}) + with subtest("Check if Budgie has ever coredumped"): + machine.fail("coredumpctl --json=short | grep budgie") + machine.sleep(10) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/buildbot.nix b/nixos/tests/buildbot.nix index 0f65ac21c83d6..0f974594c275c 100644 --- a/nixos/tests/buildbot.nix +++ b/nixos/tests/buildbot.nix @@ -1,110 +1,141 @@ # Test ensures buildbot master comes up correctly and workers can connect -import ./make-test-python.nix ({ pkgs, ... }: { - name = "buildbot"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "buildbot"; - nodes = { - bbmaster = { pkgs, ... }: { - services.buildbot-master = { - enable = true; + nodes = { + bbmaster = + { pkgs, ... }: + { + services.buildbot-master = { + enable = true; - # NOTE: use fake repo due to no internet in hydra ci - factorySteps = [ - "steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')" - "steps.ShellCommand(command=['bash', 'fakerepo.sh'])" - ]; - changeSource = [ - "changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollInterval=300)" - ]; - }; - networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ]; - environment.systemPackages = with pkgs; [ git buildbot-full ]; - }; + # NOTE: use fake repo due to no internet in hydra ci + factorySteps = [ + "steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')" + "steps.ShellCommand(command=['bash', 'fakerepo.sh'])" + ]; + changeSource = [ + "changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollInterval=300)" + ]; + }; + networking.firewall.allowedTCPPorts = [ + 8010 + 8011 + 9989 + ]; + environment.systemPackages = with pkgs; [ + git + buildbot-full + ]; + }; - bbworker = { pkgs, ... }: { - services.buildbot-worker = { - enable = true; - masterUrl = "bbmaster:9989"; - }; - environment.systemPackages = with pkgs; [ git buildbot-worker ]; - }; + bbworker = + { pkgs, ... }: + { + services.buildbot-worker = { + enable = true; + masterUrl = "bbmaster:9989"; + }; + environment.systemPackages = with pkgs; [ + git + buildbot-worker + ]; + }; - gitrepo = { pkgs, ... }: { - services.openssh.enable = true; - networking.firewall.allowedTCPPorts = [ 22 9418 ]; - environment.systemPackages = with pkgs; [ git ]; - systemd.services.git-daemon = { - description = "Git daemon for the test"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "sshd.service" ]; + gitrepo = + { pkgs, ... }: + { + services.openssh.enable = true; + networking.firewall.allowedTCPPorts = [ + 22 + 9418 + ]; + environment.systemPackages = with pkgs; [ git ]; + systemd.services.git-daemon = { + description = "Git daemon for the test"; + wantedBy = [ "multi-user.target" ]; + after = [ + "network.target" + "sshd.service" + ]; - serviceConfig.Restart = "always"; - path = with pkgs; [ coreutils git openssh ]; - environment = { HOME = "/root"; }; - preStart = '' - git config --global user.name 'Nobody Fakeuser' - git config --global user.email 'nobody\@fakerepo.com' - rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo - mkdir -pv /srv/repos/fakerepo ~/.ssh - ssh-keyscan -H gitrepo > ~/.ssh/known_hosts - cat ~/.ssh/known_hosts + serviceConfig.Restart = "always"; + path = with pkgs; [ + coreutils + git + openssh + ]; + environment = { + HOME = "/root"; + }; + preStart = '' + git config --global user.name 'Nobody Fakeuser' + git config --global user.email 'nobody\@fakerepo.com' + rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo + mkdir -pv /srv/repos/fakerepo ~/.ssh + ssh-keyscan -H gitrepo > ~/.ssh/known_hosts + cat ~/.ssh/known_hosts - mkdir -p /src/repos/fakerepo - cd /srv/repos/fakerepo - rm -rf * - git init - echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh - cat fakerepo.sh - touch .git/git-daemon-export-ok - git add fakerepo.sh .git/git-daemon-export-ok - git commit -m fakerepo - ''; - script = '' - git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr - ''; - }; + mkdir -p /src/repos/fakerepo + cd /srv/repos/fakerepo + rm -rf * + git init + echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh + cat fakerepo.sh + touch .git/git-daemon-export-ok + git add fakerepo.sh .git/git-daemon-export-ok + git commit -m fakerepo + ''; + script = '' + git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr + ''; + }; + }; }; - }; - testScript = '' - gitrepo.wait_for_unit("git-daemon.service") - gitrepo.wait_for_unit("multi-user.target") + testScript = '' + gitrepo.wait_for_unit("git-daemon.service") + gitrepo.wait_for_unit("multi-user.target") - with subtest("Repo is accessible via git daemon"): - bbmaster.systemctl("start network-online.target") - bbmaster.wait_for_unit("network-online.target") - bbmaster.succeed("rm -rfv /tmp/fakerepo") - bbmaster.succeed("git clone git://gitrepo/fakerepo /tmp/fakerepo") + with subtest("Repo is accessible via git daemon"): + bbmaster.systemctl("start network-online.target") + bbmaster.wait_for_unit("network-online.target") + bbmaster.succeed("rm -rfv /tmp/fakerepo") + bbmaster.succeed("git clone git://gitrepo/fakerepo /tmp/fakerepo") - with subtest("Master service and worker successfully connect"): - bbmaster.wait_for_unit("buildbot-master.service") - bbmaster.wait_until_succeeds("curl --fail -s --head http://bbmaster:8010") - bbworker.systemctl("start network-online.target") - bbworker.wait_for_unit("network-online.target") - bbworker.succeed("nc -z bbmaster 8010") - bbworker.succeed("nc -z bbmaster 9989") - bbworker.wait_for_unit("buildbot-worker.service") + with subtest("Master service and worker successfully connect"): + bbmaster.wait_for_unit("buildbot-master.service") + bbmaster.wait_until_succeeds("curl --fail -s --head http://bbmaster:8010") + bbworker.systemctl("start network-online.target") + bbworker.wait_for_unit("network-online.target") + bbworker.succeed("nc -z bbmaster 8010") + bbworker.succeed("nc -z bbmaster 9989") + bbworker.wait_for_unit("buildbot-worker.service") - with subtest("Stop buildbot worker"): - bbmaster.succeed("systemctl -l --no-pager status buildbot-master") - bbmaster.succeed("systemctl stop buildbot-master") - bbworker.fail("nc -z bbmaster 8010") - bbworker.fail("nc -z bbmaster 9989") - bbworker.succeed("systemctl -l --no-pager status buildbot-worker") - bbworker.succeed("systemctl stop buildbot-worker") + with subtest("Stop buildbot worker"): + bbmaster.succeed("systemctl -l --no-pager status buildbot-master") + bbmaster.succeed("systemctl stop buildbot-master") + bbworker.fail("nc -z bbmaster 8010") + bbworker.fail("nc -z bbmaster 9989") + bbworker.succeed("systemctl -l --no-pager status buildbot-worker") + bbworker.succeed("systemctl stop buildbot-worker") - with subtest("Buildbot daemon mode works"): - bbmaster.succeed( - "buildbot create-master /tmp", - "mv -fv /tmp/master.cfg.sample /tmp/master.cfg", - "sed -i 's/8010/8011/' /tmp/master.cfg", - "buildbot start /tmp", - "nc -z bbmaster 8011", - ) - bbworker.wait_until_succeeds("curl --fail -s --head http://bbmaster:8011") - bbmaster.wait_until_succeeds("buildbot stop /tmp") - bbworker.fail("nc -z bbmaster 8011") - ''; + with subtest("Buildbot daemon mode works"): + bbmaster.succeed( + "buildbot create-master /tmp", + "mv -fv /tmp/master.cfg.sample /tmp/master.cfg", + "sed -i 's/8010/8011/' /tmp/master.cfg", + "buildbot start /tmp", + "nc -z bbmaster 8011", + ) + bbworker.wait_until_succeeds("curl --fail -s --head http://bbmaster:8011") + bbmaster.wait_until_succeeds("buildbot stop /tmp") + bbworker.fail("nc -z bbmaster 8011") + ''; - meta.maintainers = pkgs.lib.teams.buildbot.members; -}) + meta.maintainers = pkgs.lib.teams.buildbot.members; + } +) diff --git a/nixos/tests/buildkite-agents.nix b/nixos/tests/buildkite-agents.nix index a5abfdb5e2e5d..e8934dbaaa5c9 100644 --- a/nixos/tests/buildkite-agents.nix +++ b/nixos/tests/buildkite-agents.nix @@ -1,29 +1,33 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "buildkite-agent"; - meta.maintainers = with lib.maintainers; [ flokli ]; + { + name = "buildkite-agent"; + meta.maintainers = with lib.maintainers; [ flokli ]; - nodes.machine = { pkgs, ... }: { - services.buildkite-agents = { - one = { - privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey; - tokenPath = (pkgs.writeText "my-token" "5678"); + nodes.machine = + { pkgs, ... }: + { + services.buildkite-agents = { + one = { + privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey; + tokenPath = (pkgs.writeText "my-token" "5678"); + }; + two = { + tokenPath = (pkgs.writeText "my-token" "1234"); + }; + }; }; - two = { - tokenPath = (pkgs.writeText "my-token" "1234"); - }; - }; - }; - testScript = '' - start_all() - # we can't wait on the unit to start up, as we obviously can't connect to buildkite, - # but we can look whether files are set up correctly + testScript = '' + start_all() + # we can't wait on the unit to start up, as we obviously can't connect to buildkite, + # but we can look whether files are set up correctly - machine.wait_for_file("/var/lib/buildkite-agent-one/buildkite-agent.cfg") - machine.wait_for_file("/var/lib/buildkite-agent-one/.ssh/id_rsa") + machine.wait_for_file("/var/lib/buildkite-agent-one/buildkite-agent.cfg") + machine.wait_for_file("/var/lib/buildkite-agent-one/.ssh/id_rsa") - machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg") - ''; -}) + machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg") + ''; + } +) diff --git a/nixos/tests/c2fmzq.nix b/nixos/tests/c2fmzq.nix index 0dd89f6881dd9..90d816785e1ea 100644 --- a/nixos/tests/c2fmzq.nix +++ b/nixos/tests/c2fmzq.nix @@ -1,82 +1,87 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "c2FmZQ"; - meta.maintainers = with lib.maintainers; [ hmenke ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "c2FmZQ"; + meta.maintainers = with lib.maintainers; [ hmenke ]; - nodes.machine = { - services.c2fmzq-server = { - enable = true; - port = 8080; - passphraseFile = builtins.toFile "pwfile" "hunter2"; # don't do this on real deployments - settings = { - verbose = 3; # debug - # make sure multiple freeform options evaluate - allow-new-accounts = true; - auto-approve-new-accounts = true; - licenses = false; + nodes.machine = { + services.c2fmzq-server = { + enable = true; + port = 8080; + passphraseFile = builtins.toFile "pwfile" "hunter2"; # don't do this on real deployments + settings = { + verbose = 3; # debug + # make sure multiple freeform options evaluate + allow-new-accounts = true; + auto-approve-new-accounts = true; + licenses = false; + }; }; - }; - environment = { - sessionVariables = { - C2FMZQ_PASSPHRASE = "lol"; - C2FMZQ_API_SERVER = "http://localhost:8080"; + environment = { + sessionVariables = { + C2FMZQ_PASSPHRASE = "lol"; + C2FMZQ_API_SERVER = "http://localhost:8080"; + }; + systemPackages = [ + pkgs.c2fmzq + (pkgs.writeScriptBin "c2FmZQ-client-wrapper" '' + #!${pkgs.expect}/bin/expect -f + spawn c2FmZQ-client {*}$argv + expect { + "Enter password:" { send "$env(PASSWORD)\r" } + "Type YES to confirm:" { send "YES\r" } + timeout { exit 1 } + eof { exit 0 } + } + interact + '') + ]; }; - systemPackages = [ - pkgs.c2fmzq - (pkgs.writeScriptBin "c2FmZQ-client-wrapper" '' - #!${pkgs.expect}/bin/expect -f - spawn c2FmZQ-client {*}$argv - expect { - "Enter password:" { send "$env(PASSWORD)\r" } - "Type YES to confirm:" { send "YES\r" } - timeout { exit 1 } - eof { exit 0 } - } - interact - '') - ]; }; - }; - testScript = { nodes, ... }: '' - machine.start() - machine.wait_for_unit("c2fmzq-server.service") - machine.wait_for_open_port(8080) + testScript = + { nodes, ... }: + '' + machine.start() + machine.wait_for_unit("c2fmzq-server.service") + machine.wait_for_open_port(8080) - with subtest("Create accounts for alice and bob"): - machine.succeed("PASSWORD=foobar c2FmZQ-client-wrapper -- -v 3 create-account alice@example.com") - machine.succeed("PASSWORD=fizzbuzz c2FmZQ-client-wrapper -- -v 3 create-account bob@example.com") + with subtest("Create accounts for alice and bob"): + machine.succeed("PASSWORD=foobar c2FmZQ-client-wrapper -- -v 3 create-account alice@example.com") + machine.succeed("PASSWORD=fizzbuzz c2FmZQ-client-wrapper -- -v 3 create-account bob@example.com") - with subtest("Log in as alice"): - machine.succeed("PASSWORD=foobar c2FmZQ-client-wrapper -- -v 3 login alice@example.com") - msg = machine.succeed("c2FmZQ-client -v 3 status") - assert "Logged in as alice@example.com" in msg, f"ERROR: Not logged in as alice:\n{msg}" + with subtest("Log in as alice"): + machine.succeed("PASSWORD=foobar c2FmZQ-client-wrapper -- -v 3 login alice@example.com") + msg = machine.succeed("c2FmZQ-client -v 3 status") + assert "Logged in as alice@example.com" in msg, f"ERROR: Not logged in as alice:\n{msg}" - with subtest("Create a new album, upload a file, and delete the uploaded file"): - machine.succeed("c2FmZQ-client -v 3 create-album 'Rarest Memes'") - machine.succeed("echo 'pls do not steal' > meme.txt") - machine.succeed("c2FmZQ-client -v 3 import meme.txt 'Rarest Memes'") - machine.succeed("c2FmZQ-client -v 3 sync") - machine.succeed("rm meme.txt") + with subtest("Create a new album, upload a file, and delete the uploaded file"): + machine.succeed("c2FmZQ-client -v 3 create-album 'Rarest Memes'") + machine.succeed("echo 'pls do not steal' > meme.txt") + machine.succeed("c2FmZQ-client -v 3 import meme.txt 'Rarest Memes'") + machine.succeed("c2FmZQ-client -v 3 sync") + machine.succeed("rm meme.txt") - with subtest("Share the album with bob"): - machine.succeed("c2FmZQ-client-wrapper -- -v 3 share 'Rarest Memes' bob@example.com") + with subtest("Share the album with bob"): + machine.succeed("c2FmZQ-client-wrapper -- -v 3 share 'Rarest Memes' bob@example.com") - with subtest("Log in as bob"): - machine.succeed("PASSWORD=fizzbuzz c2FmZQ-client-wrapper -- -v 3 login bob@example.com") - msg = machine.succeed("c2FmZQ-client -v 3 status") - assert "Logged in as bob@example.com" in msg, f"ERROR: Not logged in as bob:\n{msg}" + with subtest("Log in as bob"): + machine.succeed("PASSWORD=fizzbuzz c2FmZQ-client-wrapper -- -v 3 login bob@example.com") + msg = machine.succeed("c2FmZQ-client -v 3 status") + assert "Logged in as bob@example.com" in msg, f"ERROR: Not logged in as bob:\n{msg}" - with subtest("Download the shared file"): - machine.succeed("c2FmZQ-client -v 3 download 'shared/Rarest Memes/meme.txt'") - machine.succeed("c2FmZQ-client -v 3 export 'shared/Rarest Memes/meme.txt' .") - msg = machine.succeed("cat meme.txt") - assert "pls do not steal\n" == msg, f"File content is not the same:\n{msg}" + with subtest("Download the shared file"): + machine.succeed("c2FmZQ-client -v 3 download 'shared/Rarest Memes/meme.txt'") + machine.succeed("c2FmZQ-client -v 3 export 'shared/Rarest Memes/meme.txt' .") + msg = machine.succeed("cat meme.txt") + assert "pls do not steal\n" == msg, f"File content is not the same:\n{msg}" - with subtest("Test that PWA is served"): - msg = machine.succeed("curl -sSfL http://localhost:8080") - assert "c2FmZQ" in msg, f"Could not find 'c2FmZQ' in the output:\n{msg}" + with subtest("Test that PWA is served"): + msg = machine.succeed("curl -sSfL http://localhost:8080") + assert "c2FmZQ" in msg, f"Could not find 'c2FmZQ' in the output:\n{msg}" - with subtest("A setting with false value is properly passed"): - machine.succeed("systemctl show -p ExecStart --value c2fmzq-server.service | grep -F -- '--licenses=false'"); - ''; -}) + with subtest("A setting with false value is properly passed"): + machine.succeed("systemctl show -p ExecStart --value c2fmzq-server.service | grep -F -- '--licenses=false'"); + ''; + } +) diff --git a/nixos/tests/caddy.nix b/nixos/tests/caddy.nix index 0efe8f94e39dd..57fe16f92d377 100644 --- a/nixos/tests/caddy.nix +++ b/nixos/tests/caddy.nix @@ -1,103 +1,113 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "caddy"; - meta = with pkgs.lib.maintainers; { - maintainers = [ Br1ght0ne ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "caddy"; + meta = with pkgs.lib.maintainers; { + maintainers = [ Br1ght0ne ]; + }; - nodes = { - webserver = { pkgs, lib, ... }: { - services.caddy.enable = true; - services.caddy.extraConfig = '' - http://localhost { - encode gzip + nodes = { + webserver = + { pkgs, lib, ... }: + { + services.caddy.enable = true; + services.caddy.extraConfig = '' + http://localhost { + encode gzip - file_server - root * ${ - pkgs.runCommand "testdir" {} '' - mkdir "$out" - echo hello world > "$out/example.html" - '' - } - } - ''; - services.caddy.enableReload = true; + file_server + root * ${ + pkgs.runCommand "testdir" { } '' + mkdir "$out" + echo hello world > "$out/example.html" + '' + } + } + ''; + services.caddy.enableReload = true; - specialisation.config-reload.configuration = { - services.caddy.extraConfig = '' - http://localhost:8080 { - } - ''; - }; - specialisation.multiple-configs.configuration = { - services.caddy.virtualHosts = { - "http://localhost:8080" = { }; - "http://localhost:8081" = { }; - }; - }; - specialisation.rfc42.configuration = { - services.caddy.settings = { - apps.http.servers.default = { - listen = [ ":80" ]; - routes = [{ - handle = [{ - body = "hello world"; - handler = "static_response"; - status_code = 200; - }]; - }]; + specialisation.config-reload.configuration = { + services.caddy.extraConfig = '' + http://localhost:8080 { + } + ''; }; - }; - }; - specialisation.explicit-config-file.configuration = { - services.caddy.configFile = pkgs.writeText "Caddyfile" '' - localhost:80 + specialisation.multiple-configs.configuration = { + services.caddy.virtualHosts = { + "http://localhost:8080" = { }; + "http://localhost:8081" = { }; + }; + }; + specialisation.rfc42.configuration = { + services.caddy.settings = { + apps.http.servers.default = { + listen = [ ":80" ]; + routes = [ + { + handle = [ + { + body = "hello world"; + handler = "static_response"; + status_code = 200; + } + ]; + } + ]; + }; + }; + }; + specialisation.explicit-config-file.configuration = { + services.caddy.configFile = pkgs.writeText "Caddyfile" '' + localhost:80 - respond "hello world" - ''; - }; + respond "hello world" + ''; + }; + }; }; - }; - testScript = { nodes, ... }: - let - explicitConfigFile = "${nodes.webserver.system.build.toplevel}/specialisation/explicit-config-file"; - justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload"; - multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs"; - rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42"; - in - '' - url = "http://localhost/example.html" - webserver.wait_for_unit("caddy") - webserver.wait_for_open_port(80) + testScript = + { nodes, ... }: + let + explicitConfigFile = "${nodes.webserver.system.build.toplevel}/specialisation/explicit-config-file"; + justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload"; + multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs"; + rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42"; + in + '' + url = "http://localhost/example.html" + webserver.wait_for_unit("caddy") + webserver.wait_for_open_port(80) - with subtest("config is reloaded on nixos-rebuild switch"): - webserver.succeed( - "${justReloadSystem}/bin/switch-to-configuration test >&2" - ) - webserver.wait_for_open_port(8080) - webserver.fail("journalctl -u caddy | grep -q -i stopped") - webserver.succeed("journalctl -u caddy | grep -q -i reloaded") + with subtest("config is reloaded on nixos-rebuild switch"): + webserver.succeed( + "${justReloadSystem}/bin/switch-to-configuration test >&2" + ) + webserver.wait_for_open_port(8080) + webserver.fail("journalctl -u caddy | grep -q -i stopped") + webserver.succeed("journalctl -u caddy | grep -q -i reloaded") - with subtest("multiple configs are correctly merged"): - webserver.succeed( - "${multipleConfigs}/bin/switch-to-configuration test >&2" - ) - webserver.wait_for_open_port(8080) - webserver.wait_for_open_port(8081) + with subtest("multiple configs are correctly merged"): + webserver.succeed( + "${multipleConfigs}/bin/switch-to-configuration test >&2" + ) + webserver.wait_for_open_port(8080) + webserver.wait_for_open_port(8081) - with subtest("rfc42 settings config"): - webserver.succeed( - "${rfc42Config}/bin/switch-to-configuration test >&2" - ) - webserver.wait_for_open_port(80) - webserver.succeed("curl http://localhost | grep hello") + with subtest("rfc42 settings config"): + webserver.succeed( + "${rfc42Config}/bin/switch-to-configuration test >&2" + ) + webserver.wait_for_open_port(80) + webserver.succeed("curl http://localhost | grep hello") - with subtest("explicit configFile"): - webserver.succeed( - "${explicitConfigFile}/bin/switch-to-configuration test >&2" - ) - webserver.wait_for_open_port(80) - webserver.succeed("curl http://localhost | grep hello") - ''; -}) + with subtest("explicit configFile"): + webserver.succeed( + "${explicitConfigFile}/bin/switch-to-configuration test >&2" + ) + webserver.wait_for_open_port(80) + webserver.succeed("curl http://localhost | grep hello") + ''; + } +) diff --git a/nixos/tests/cadvisor.nix b/nixos/tests/cadvisor.nix index 70e068fcf21c4..d558bc3007ec3 100644 --- a/nixos/tests/cadvisor.nix +++ b/nixos/tests/cadvisor.nix @@ -1,20 +1,26 @@ -import ./make-test-python.nix ({ lib, pkgs, ... } : { - name = "cadvisor"; - meta.maintainers = with lib.maintainers; [ offline ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "cadvisor"; + meta.maintainers = with lib.maintainers; [ offline ]; - nodes = { - machine = { ... }: { - services.cadvisor.enable = true; - }; + nodes = { + machine = + { ... }: + { + services.cadvisor.enable = true; + }; - influxdb = { lib, ... }: { - services.cadvisor.enable = true; - services.cadvisor.storageDriver = "influxdb"; - services.influxdb.enable = true; + influxdb = + { lib, ... }: + { + services.cadvisor.enable = true; + services.cadvisor.storageDriver = "influxdb"; + services.influxdb.enable = true; + }; }; - }; - testScript = '' + testScript = '' start_all() machine.wait_for_unit("cadvisor.service") machine.succeed("curl -f http://localhost:8080/containers/") @@ -29,4 +35,5 @@ import ./make-test-python.nix ({ lib, pkgs, ... } : { influxdb.wait_for_unit("cadvisor.service") influxdb.succeed("curl -f http://localhost:8080/containers/") ''; -}) + } +) diff --git a/nixos/tests/cage.nix b/nixos/tests/cage.nix index 3b49185124f3e..e9c025e510218 100644 --- a/nixos/tests/cage.nix +++ b/nixos/tests/cage.nix @@ -1,38 +1,44 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -{ - name = "cage"; - meta = with pkgs.lib.maintainers; { - maintainers = [ matthewbauer ]; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - - fonts.packages = with pkgs; [ dejavu_fonts ]; - - services.cage = { - enable = true; - user = "alice"; - program = "${pkgs.xterm}/bin/xterm"; + name = "cage"; + meta = with pkgs.lib.maintainers; { + maintainers = [ matthewbauer ]; }; - # Need to switch to a different GPU driver than the default one (-vga std) so that Cage can launch: - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; - }; - - enableOCR = true; - - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - in '' - with subtest("Wait for cage to boot up"): - start_all() - machine.wait_for_file("/run/user/${toString user.uid}/wayland-0.lock") - machine.wait_until_succeeds("pgrep xterm") - machine.wait_for_text("alice@machine") - machine.screenshot("screen") - ''; -}) + nodes.machine = + { ... }: + + { + imports = [ ./common/user-account.nix ]; + + fonts.packages = with pkgs; [ dejavu_fonts ]; + + services.cage = { + enable = true; + user = "alice"; + program = "${pkgs.xterm}/bin/xterm"; + }; + + # Need to switch to a different GPU driver than the default one (-vga std) so that Cage can launch: + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; + }; + + enableOCR = true; + + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + with subtest("Wait for cage to boot up"): + start_all() + machine.wait_for_file("/run/user/${toString user.uid}/wayland-0.lock") + machine.wait_until_succeeds("pgrep xterm") + machine.wait_for_text("alice@machine") + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/cagebreak.nix b/nixos/tests/cagebreak.nix index 4d7664c1505f3..2c07833b142f5 100644 --- a/nixos/tests/cagebreak.nix +++ b/nixos/tests/cagebreak.nix @@ -1,63 +1,72 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : - -let - cagebreakConfigfile = pkgs.writeText "config" '' - workspaces 1 - escape C-t - bind t exec env DISPLAY=:0 ${pkgs.xterm}/bin/xterm -cm -pc - ''; -in -{ - name = "cagebreak"; - meta = with pkgs.lib.maintainers; { - maintainers = [ berbiche ]; - }; - - nodes.machine = { config, ... }: - { - # Automatically login on tty1 as a normal user: - imports = [ ./common/user-account.nix ]; - services.getty.autologinUser = "alice"; - programs.bash.loginShellInit = '' - if [ "$(tty)" = "/dev/tty1" ]; then - set -e - - mkdir -p ~/.config/cagebreak - cp -f ${cagebreakConfigfile} ~/.config/cagebreak/config - - cagebreak - fi +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + cagebreakConfigfile = pkgs.writeText "config" '' + workspaces 1 + escape C-t + bind t exec env DISPLAY=:0 ${pkgs.xterm}/bin/xterm -cm -pc ''; + in + { + name = "cagebreak"; + meta = with pkgs.lib.maintainers; { + maintainers = [ berbiche ]; + }; + + nodes.machine = + { config, ... }: + { + # Automatically login on tty1 as a normal user: + imports = [ ./common/user-account.nix ]; + services.getty.autologinUser = "alice"; + programs.bash.loginShellInit = '' + if [ "$(tty)" = "/dev/tty1" ]; then + set -e + + mkdir -p ~/.config/cagebreak + cp -f ${cagebreakConfigfile} ~/.config/cagebreak/config + + cagebreak + fi + ''; + + hardware.graphics.enable = true; + programs.xwayland.enable = true; + security.polkit.enable = true; + environment.systemPackages = [ + pkgs.cagebreak + pkgs.wayland-utils + ]; + + # Need to switch to a different GPU driver than the default one (-vga std) so that Cagebreak can launch: + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; + }; + + enableOCR = true; + + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + XDG_RUNTIME_DIR = "/run/user/${toString user.uid}"; + in + '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_file("${XDG_RUNTIME_DIR}/wayland-0") + + with subtest("ensure wayland works with wayinfo from wallutils"): + print(machine.succeed("env XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR} wayland-info")) - hardware.graphics.enable = true; - programs.xwayland.enable = true; - security.polkit.enable = true; - environment.systemPackages = [ pkgs.cagebreak pkgs.wayland-utils ]; - - # Need to switch to a different GPU driver than the default one (-vga std) so that Cagebreak can launch: - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; - }; - - enableOCR = true; - - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - XDG_RUNTIME_DIR = "/run/user/${toString user.uid}"; - in '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_file("${XDG_RUNTIME_DIR}/wayland-0") - - with subtest("ensure wayland works with wayinfo from wallutils"): - print(machine.succeed("env XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR} wayland-info")) - - # TODO: Fix the XWayland test (log the cagebreak output to debug): - # with subtest("ensure xwayland works with xterm"): - # machine.send_key("ctrl-t") - # machine.send_key("t") - # machine.wait_until_succeeds("pgrep xterm") - # machine.wait_for_text("${user.name}@machine") - # machine.screenshot("screen") - # machine.send_key("ctrl-d") - ''; -}) + # TODO: Fix the XWayland test (log the cagebreak output to debug): + # with subtest("ensure xwayland works with xterm"): + # machine.send_key("ctrl-t") + # machine.send_key("t") + # machine.wait_until_succeeds("pgrep xterm") + # machine.wait_for_text("${user.name}@machine") + # machine.screenshot("screen") + # machine.send_key("ctrl-d") + ''; + } +) diff --git a/nixos/tests/calibre-server.nix b/nixos/tests/calibre-server.nix index 4b1753aaa7049..2a04dd8cfba45 100644 --- a/nixos/tests/calibre-server.nix +++ b/nixos/tests/calibre-server.nix @@ -1,16 +1,23 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: let inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; - inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge - removeSuffix splitString; + inherit (pkgs.lib) + concatStringsSep + maintainers + mapAttrs + mkMerge + removeSuffix + splitString + ; tests = { default = { - calibreConfig = {}; + calibreConfig = { }; calibreScript = '' wait_for_unit("calibre-server.service") ''; @@ -26,7 +33,10 @@ let }; multipleLibraries = { calibreConfig = { - libraries = [ "/var/lib/calibre-data" "/var/lib/calibre-server" ]; + libraries = [ + "/var/lib/calibre-data" + "/var/lib/calibre-server" + ]; }; calibreScript = '' succeed("ls -la /var/lib/calibre-data") @@ -62,14 +72,15 @@ let }; }; in -mapAttrs - (test: testConfig: (makeTest ( +mapAttrs ( + test: testConfig: + (makeTest ( let nodeName = testConfig.nodeName or test; calibreConfig = { enable = true; libraries = [ "/var/lib/calibre-server" ]; - } // testConfig.calibreConfig or {}; + } // testConfig.calibreConfig or { }; librariesInitScript = path: '' ${nodeName}.execute("touch /tmp/test.epub") ${nodeName}.execute("zip -r /tmp/test.zip /tmp/test.epub") @@ -80,19 +91,26 @@ mapAttrs { name = "calibre-server-${test}"; - nodes.${nodeName} = mkMerge [{ - environment.systemPackages = [ pkgs.zip ]; - services.calibre-server = calibreConfig; - } testConfig.calibreProvider or { }]; + nodes.${nodeName} = mkMerge [ + { + environment.systemPackages = [ pkgs.zip ]; + services.calibre-server = calibreConfig; + } + testConfig.calibreProvider or { } + ]; testScript = '' ${nodeName}.start() ${concatStringsSep "\n" (map librariesInitScript calibreConfig.libraries)} - ${concatStringsSep "\n" (map (line: - if (builtins.substring 0 1 line == " " || builtins.substring 0 1 line == ")") - then line - else "${nodeName}.${line}" - ) (splitString "\n" (removeSuffix "\n" testConfig.calibreScript)))} + ${concatStringsSep "\n" ( + map ( + line: + if (builtins.substring 0 1 line == " " || builtins.substring 0 1 line == ")") then + line + else + "${nodeName}.${line}" + ) (splitString "\n" (removeSuffix "\n" testConfig.calibreScript)) + )} ${nodeName}.shutdown() ''; @@ -100,5 +118,5 @@ mapAttrs maintainers = [ gaelreyrol ]; }; } - ))) - tests + )) +) tests diff --git a/nixos/tests/calibre-web.nix b/nixos/tests/calibre-web.nix index aea9bca3ebe90..d14f1b5408096 100644 --- a/nixos/tests/calibre-web.nix +++ b/nixos/tests/calibre-web.nix @@ -1,42 +1,44 @@ import ./make-test-python.nix ( { pkgs, lib, ... }: - let - port = 3142; - defaultPort = 8083; - in - { - name = "calibre-web"; - meta.maintainers = with lib.maintainers; [ pborzenkov ]; + let + port = 3142; + defaultPort = 8083; + in + { + name = "calibre-web"; + meta.maintainers = with lib.maintainers; [ pborzenkov ]; - nodes = { - customized = { pkgs, ... }: { - services.calibre-web = { - enable = true; - listen.port = port; - options = { - calibreLibrary = "/tmp/books"; - reverseProxyAuth = { - enable = true; - header = "X-User"; - }; + nodes = { + customized = + { pkgs, ... }: + { + services.calibre-web = { + enable = true; + listen.port = port; + options = { + calibreLibrary = "/tmp/books"; + reverseProxyAuth = { + enable = true; + header = "X-User"; }; }; - environment.systemPackages = [ pkgs.calibre ]; }; + environment.systemPackages = [ pkgs.calibre ]; }; - testScript = '' - start_all() + }; + testScript = '' + start_all() - customized.succeed( - "mkdir /tmp/books && calibredb --library-path /tmp/books add -e --title test-book" - ) - customized.succeed("systemctl restart calibre-web") - customized.wait_for_unit("calibre-web.service") - customized.wait_for_open_port(${toString port}) - customized.succeed( - "curl --fail -H X-User:admin 'http://localhost:${toString port}' | grep test-book" - ) - ''; - } + customized.succeed( + "mkdir /tmp/books && calibredb --library-path /tmp/books add -e --title test-book" + ) + customized.succeed("systemctl restart calibre-web") + customized.wait_for_unit("calibre-web.service") + customized.wait_for_open_port(${toString port}) + customized.succeed( + "curl --fail -H X-User:admin 'http://localhost:${toString port}' | grep test-book" + ) + ''; + } ) diff --git a/nixos/tests/cassandra.nix b/nixos/tests/cassandra.nix index a19d525c3431e..326fd8852455a 100644 --- a/nixos/tests/cassandra.nix +++ b/nixos/tests/cassandra.nix @@ -1,27 +1,38 @@ -import ./make-test-python.nix ({ pkgs, lib, testPackage ? pkgs.cassandra, ... }: -let - clusterName = "NixOS Automated-Test Cluster"; +import ./make-test-python.nix ( + { + pkgs, + lib, + testPackage ? pkgs.cassandra, + ... + }: + let + clusterName = "NixOS Automated-Test Cluster"; - testRemoteAuth = lib.versionAtLeast testPackage.version "3.11"; - jmxRoles = [{ username = "me"; password = "password"; }]; - jmxRolesFile = ./cassandra-jmx-roles; - jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}"; - jmxPort = 7200; # Non-standard port so it doesn't accidentally work - jmxPortStr = toString jmxPort; + testRemoteAuth = lib.versionAtLeast testPackage.version "3.11"; + jmxRoles = [ + { + username = "me"; + password = "password"; + } + ]; + jmxRolesFile = ./cassandra-jmx-roles; + jmxAuthArgs = "-u ${(builtins.elemAt jmxRoles 0).username} -pw ${(builtins.elemAt jmxRoles 0).password}"; + jmxPort = 7200; # Non-standard port so it doesn't accidentally work + jmxPortStr = toString jmxPort; - # Would usually be assigned to 512M. - # Set it to a different value, so that we can check whether our config - # actually changes it. - numMaxHeapSize = "400"; - getHeapLimitCommand = '' - nodetool info -p ${jmxPortStr} | grep "^Heap Memory" | awk '{print $NF}' - ''; - checkHeapLimitCommand = pkgs.writeShellScript "check-heap-limit.sh" '' - [ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ] - ''; + # Would usually be assigned to 512M. + # Set it to a different value, so that we can check whether our config + # actually changes it. + numMaxHeapSize = "400"; + getHeapLimitCommand = '' + nodetool info -p ${jmxPortStr} | grep "^Heap Memory" | awk '{print $NF}' + ''; + checkHeapLimitCommand = pkgs.writeShellScript "check-heap-limit.sh" '' + [ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ] + ''; - cassandraCfg = ipAddress: - { enable = true; + cassandraCfg = ipAddress: { + enable = true; inherit clusterName; listenAddress = ipAddress; rpcAddress = ipAddress; @@ -31,102 +42,121 @@ let heapNewSize = "100M"; inherit jmxPort; }; - nodeCfg = ipAddress: extra: {pkgs, config, ...}: rec { - environment.systemPackages = [ testPackage ]; - networking = { - firewall.allowedTCPPorts = [ 7000 9042 services.cassandra.jmxPort ]; - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = ipAddress; prefixLength = 24; } - ]; + nodeCfg = + ipAddress: extra: + { pkgs, config, ... }: + rec { + environment.systemPackages = [ testPackage ]; + networking = { + firewall.allowedTCPPorts = [ + 7000 + 9042 + services.cassandra.jmxPort + ]; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = ipAddress; + prefixLength = 24; + } + ]; + }; + services.cassandra = cassandraCfg ipAddress // extra; + }; + in + { + name = "cassandra-${testPackage.version}"; + meta = { + maintainers = with lib.maintainers; [ johnazoidberg ]; }; - services.cassandra = cassandraCfg ipAddress // extra; - }; -in -{ - name = "cassandra-${testPackage.version}"; - meta = { - maintainers = with lib.maintainers; [ johnazoidberg ]; - }; - nodes = { - cass0 = nodeCfg "192.168.1.1" {}; - cass1 = nodeCfg "192.168.1.2" (lib.optionalAttrs testRemoteAuth { inherit jmxRoles; remoteJmx = true; }); - cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; }; - }; + nodes = { + cass0 = nodeCfg "192.168.1.1" { }; + cass1 = nodeCfg "192.168.1.2" ( + lib.optionalAttrs testRemoteAuth { + inherit jmxRoles; + remoteJmx = true; + } + ); + cass2 = nodeCfg "192.168.1.3" { jvmOpts = [ "-Dcassandra.replace_address=cass1" ]; }; + }; - testScript = '' - # Check configuration - with subtest("Timers exist"): - cass0.succeed("systemctl list-timers | grep cassandra-full-repair.timer") - cass0.succeed("systemctl list-timers | grep cassandra-incremental-repair.timer") + testScript = + '' + # Check configuration + with subtest("Timers exist"): + cass0.succeed("systemctl list-timers | grep cassandra-full-repair.timer") + cass0.succeed("systemctl list-timers | grep cassandra-incremental-repair.timer") - with subtest("Can connect via cqlsh"): - cass0.wait_for_unit("cassandra.service") - cass0.wait_until_succeeds("nc -z cass0 9042") - cass0.succeed("echo 'show version;' | cqlsh cass0") + with subtest("Can connect via cqlsh"): + cass0.wait_for_unit("cassandra.service") + cass0.wait_until_succeeds("nc -z cass0 9042") + cass0.succeed("echo 'show version;' | cqlsh cass0") - with subtest("Nodetool is operational"): - cass0.wait_for_unit("cassandra.service") - cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}") - cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass0'") + with subtest("Nodetool is operational"): + cass0.wait_for_unit("cassandra.service") + cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}") + cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass0'") - with subtest("Cluster name was set"): - cass0.wait_for_unit("cassandra.service") - cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}") - cass0.wait_until_succeeds( - "nodetool describecluster -p ${jmxPortStr} | grep 'Name: ${clusterName}'" - ) + with subtest("Cluster name was set"): + cass0.wait_for_unit("cassandra.service") + cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}") + cass0.wait_until_succeeds( + "nodetool describecluster -p ${jmxPortStr} | grep 'Name: ${clusterName}'" + ) - with subtest("Heap limit set correctly"): - # Nodetool takes a while until it can display info - cass0.wait_until_succeeds("nodetool info -p ${jmxPortStr}") - cass0.succeed("${checkHeapLimitCommand}") + with subtest("Heap limit set correctly"): + # Nodetool takes a while until it can display info + cass0.wait_until_succeeds("nodetool info -p ${jmxPortStr}") + cass0.succeed("${checkHeapLimitCommand}") - # Check cluster interaction - with subtest("Bring up cluster"): - cass1.wait_for_unit("cassandra.service") - cass1.wait_until_succeeds( - "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2" - ) - cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'") - '' + lib.optionalString testRemoteAuth '' - with subtest("Remote authenticated jmx"): - # Doesn't work if not enabled - cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}") - cass1.fail("nc -z 192.168.1.1 ${jmxPortStr}") - cass1.fail("nodetool -p ${jmxPortStr} -h 192.168.1.1 status") + # Check cluster interaction + with subtest("Bring up cluster"): + cass1.wait_for_unit("cassandra.service") + cass1.wait_until_succeeds( + "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2" + ) + cass0.succeed("nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'") + '' + + lib.optionalString testRemoteAuth '' + with subtest("Remote authenticated jmx"): + # Doesn't work if not enabled + cass0.wait_until_succeeds("nc -z localhost ${jmxPortStr}") + cass1.fail("nc -z 192.168.1.1 ${jmxPortStr}") + cass1.fail("nodetool -p ${jmxPortStr} -h 192.168.1.1 status") - # Works if enabled - cass1.wait_until_succeeds("nc -z localhost ${jmxPortStr}") - cass0.succeed("nodetool -p ${jmxPortStr} -h 192.168.1.2 ${jmxAuthArgs} status") - '' + '' - with subtest("Break and fix node"): - cass1.block() - cass0.wait_until_succeeds( - "nodetool status -p ${jmxPortStr} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'" - ) - cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN' | grep 1") - cass1.unblock() - cass1.wait_until_succeeds( - "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2" - ) - cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN' | grep 2") + # Works if enabled + cass1.wait_until_succeeds("nc -z localhost ${jmxPortStr}") + cass0.succeed("nodetool -p ${jmxPortStr} -h 192.168.1.2 ${jmxAuthArgs} status") + '' + + '' + with subtest("Break and fix node"): + cass1.block() + cass0.wait_until_succeeds( + "nodetool status -p ${jmxPortStr} --resolve-ip | egrep -c '^DN[[:space:]]+cass1'" + ) + cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN' | grep 1") + cass1.unblock() + cass1.wait_until_succeeds( + "nodetool -p ${jmxPortStr} ${jmxAuthArgs} status | egrep -c '^UN' | grep 2" + ) + cass0.succeed("nodetool status -p ${jmxPortStr} | egrep -c '^UN' | grep 2") - with subtest("Replace crashed node"): - cass1.block() # .crash() waits until it's fully shutdown - cass2.start() - cass0.wait_until_fails( - "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'" - ) + with subtest("Replace crashed node"): + cass1.block() # .crash() waits until it's fully shutdown + cass2.start() + cass0.wait_until_fails( + "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass1'" + ) - cass2.wait_for_unit("cassandra.service") - cass0.wait_until_succeeds( - "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass2'" - ) - ''; + cass2.wait_for_unit("cassandra.service") + cass0.wait_until_succeeds( + "nodetool status -p ${jmxPortStr} --resolve-ip | egrep '^UN[[:space:]]+cass2'" + ) + ''; - passthru = { - inherit testPackage; - }; -}) + passthru = { + inherit testPackage; + }; + } +) diff --git a/nixos/tests/castopod.nix b/nixos/tests/castopod.nix index 57e035354d23e..3d62cc0711fed 100644 --- a/nixos/tests/castopod.nix +++ b/nixos/tests/castopod.nix @@ -1,234 +1,250 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -{ - name = "castopod"; - meta = with lib.maintainers; { - maintainers = [ alexoundos ]; - }; - - nodes.castopod = { nodes, ... }: { - # otherwise 500 MiB file upload fails! - virtualisation.diskSize = 512 + 3 * 512; - - networking.firewall.allowedTCPPorts = [ 80 ]; - networking.extraHosts = - lib.strings.concatStringsSep "\n" - (lib.attrsets.mapAttrsToList - (name: _: "127.0.0.1 ${name}") - nodes.castopod.services.nginx.virtualHosts); - - services.castopod = { - enable = true; - database.createLocally = true; - localDomain = "castopod.example.com"; - maxUploadSize = "512M"; - }; - }; - - nodes.client = { nodes, pkgs, lib, ... }: - let - domain = nodes.castopod.services.castopod.localDomain; - - getIP = node: - (builtins.head node.networking.interfaces.eth1.ipv4.addresses).address; - - targetPodcastSize = 500 * 1024 * 1024; - lameMp3Bitrate = 348300; - lameMp3FileAdjust = -800; - targetPodcastDuration = toString - ((targetPodcastSize + lameMp3FileAdjust) / (lameMp3Bitrate / 8)); - bannerWidth = 3000; - banner = pkgs.runCommand "gen-castopod-cover.jpg" { } '' - ${pkgs.imagemagick}/bin/magick ` - `-background green -bordercolor white -gravity northwest xc:black ` - `-duplicate 99 ` - `-seed 1 -resize "%[fx:rand()*72+24]" ` - `-seed 0 -rotate "%[fx:rand()*360]" -border 6x6 -splice 16x36 ` - `-seed 0 -rotate "%[fx:floor(rand()*4)*90]" -resize "150x50!" ` - `+append -crop 10x1@ +repage -roll "+%[fx:(t%2)*72]+0" -append ` - `-resize ${toString bannerWidth} -quality 1 $out - ''; - - coverWidth = toString 3000; - cover = pkgs.runCommand "gen-castopod-banner.jpg" { } '' - ${pkgs.imagemagick}/bin/magick ` - `-background white -bordercolor white -gravity northwest xc:black ` - `-duplicate 99 ` - `-seed 1 -resize "%[fx:rand()*72+24]" ` - `-seed 0 -rotate "%[fx:rand()*360]" -border 6x6 -splice 36x36 ` - `-seed 0 -rotate "%[fx:floor(rand()*4)*90]" -resize "144x144!" ` - `+append -crop 10x1@ +repage -roll "+%[fx:(t%2)*72]+0" -append ` - `-resize ${coverWidth} -quality 1 $out - ''; - in - { - networking.extraHosts = - lib.strings.concatStringsSep "\n" - (lib.attrsets.mapAttrsToList - (name: _: "${getIP nodes.castopod} ${name}") - nodes.castopod.services.nginx.virtualHosts); - - environment.systemPackages = - let - username = "admin"; - email = "admin@${domain}"; - password = "Abcd1234"; - podcastTitle = "Some Title"; - episodeTitle = "Episode Title"; - browser-test = pkgs.writers.writePython3Bin "browser-test" - { - libraries = [ pkgs.python3Packages.selenium ]; - flakeIgnore = [ "E124" "E501" ]; - } '' - from selenium.webdriver.common.by import By - from selenium.webdriver import Firefox - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.firefox.service import Service - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - from subprocess import STDOUT - import logging - - selenium_logger = logging.getLogger("selenium") - selenium_logger.setLevel(logging.DEBUG) - selenium_logger.addHandler(logging.StreamHandler()) - - options = Options() - options.add_argument('--headless') - service = Service(log_output=STDOUT) - driver = Firefox(options=options, service=service) - driver = Firefox(options=options) - driver.implicitly_wait(30) - driver.set_page_load_timeout(60) - - # install ########################################################## - - driver.get('http://${domain}/cp-install') - - wait = WebDriverWait(driver, 20) - - wait.until(EC.title_contains("installer")) - - driver.find_element(By.CSS_SELECTOR, '#username').send_keys( - '${username}' - ) - driver.find_element(By.CSS_SELECTOR, '#email').send_keys( - '${email}' - ) - driver.find_element(By.CSS_SELECTOR, '#password').send_keys( - '${password}' - ) - driver.find_element(By.XPATH, - "//button[contains(., 'Finish install')]" - ).click() - - wait.until(EC.title_contains("Auth")) - - driver.find_element(By.CSS_SELECTOR, '#email').send_keys( - '${email}' - ) - driver.find_element(By.CSS_SELECTOR, '#password').send_keys( - '${password}' - ) - driver.find_element(By.XPATH, - "//button[contains(., 'Login')]" - ).click() - - wait.until(EC.title_contains("Admin dashboard")) - - # create podcast ################################################### - - driver.get('http://${domain}/admin/podcasts/new') - - wait.until(EC.title_contains("Create podcast")) - - driver.find_element(By.CSS_SELECTOR, '#cover').send_keys( - '${cover}' - ) - driver.find_element(By.CSS_SELECTOR, '#banner').send_keys( - '${banner}' - ) - driver.find_element(By.CSS_SELECTOR, '#title').send_keys( - '${podcastTitle}' - ) - driver.find_element(By.CSS_SELECTOR, '#handle').send_keys( - 'some_handle' - ) - driver.find_element(By.CSS_SELECTOR, '#description').send_keys( - 'Some description' - ) - driver.find_element(By.CSS_SELECTOR, '#owner_name').send_keys( - 'Owner Name' - ) - driver.find_element(By.CSS_SELECTOR, '#owner_email').send_keys( - 'owner@email.xyz' - ) - driver.find_element(By.XPATH, - "//button[contains(., 'Create podcast')]" - ).click() - - wait.until(EC.title_contains("${podcastTitle}")) - - driver.find_element(By.XPATH, - "//span[contains(., 'Add an episode')]" - ).click() - - wait.until(EC.title_contains("Add an episode")) - - # upload podcast ################################################### - - driver.find_element(By.CSS_SELECTOR, '#audio_file').send_keys( - '/tmp/podcast.mp3' - ) - driver.find_element(By.CSS_SELECTOR, '#cover').send_keys( - '${cover}' - ) - driver.find_element(By.CSS_SELECTOR, '#description').send_keys( - 'Episode description' - ) - driver.find_element(By.CSS_SELECTOR, '#title').send_keys( - '${episodeTitle}' - ) - driver.find_element(By.XPATH, - "//button[contains(., 'Create episode')]" - ).click() - - wait.until(EC.title_contains("${episodeTitle}")) - - driver.close() - driver.quit() - ''; - in - [ - pkgs.firefox-unwrapped - pkgs.geckodriver - browser-test - (pkgs.writeShellApplication { - name = "build-mp3"; - runtimeInputs = with pkgs; [ sox lame ]; - text = '' - out=/tmp/podcast.mp3 - sox -n -r 48000 -t wav - synth ${targetPodcastDuration} sine 440 ` - `| lame --noreplaygain --cbr -q 9 -b 320 - $out - FILESIZE="$(stat -c%s $out)" - [ "$FILESIZE" -gt 0 ] - [ "$FILESIZE" -le "${toString targetPodcastSize}" ] - ''; - }) - ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "castopod"; + meta = with lib.maintainers; { + maintainers = [ alexoundos ]; }; - testScript = '' - start_all() - castopod.wait_for_unit("castopod-setup.service") - castopod.wait_for_file("/run/phpfpm/castopod.sock") - castopod.wait_for_unit("nginx.service") - castopod.wait_for_open_port(80) - castopod.wait_until_succeeds("curl -sS -f http://castopod.example.com") - - client.succeed("build-mp3") - - with subtest("Create superadmin, log in, create and upload a podcast"): - client.succeed(\ - "PYTHONUNBUFFERED=1 systemd-cat -t browser-test browser-test") - ''; -}) + nodes.castopod = + { nodes, ... }: + { + # otherwise 500 MiB file upload fails! + virtualisation.diskSize = 512 + 3 * 512; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.extraHosts = lib.strings.concatStringsSep "\n" ( + lib.attrsets.mapAttrsToList ( + name: _: "127.0.0.1 ${name}" + ) nodes.castopod.services.nginx.virtualHosts + ); + + services.castopod = { + enable = true; + database.createLocally = true; + localDomain = "castopod.example.com"; + maxUploadSize = "512M"; + }; + }; + + nodes.client = + { + nodes, + pkgs, + lib, + ... + }: + let + domain = nodes.castopod.services.castopod.localDomain; + + getIP = node: (builtins.head node.networking.interfaces.eth1.ipv4.addresses).address; + + targetPodcastSize = 500 * 1024 * 1024; + lameMp3Bitrate = 348300; + lameMp3FileAdjust = -800; + targetPodcastDuration = toString ((targetPodcastSize + lameMp3FileAdjust) / (lameMp3Bitrate / 8)); + bannerWidth = 3000; + banner = pkgs.runCommand "gen-castopod-cover.jpg" { } '' + ${pkgs.imagemagick}/bin/magick ` + `-background green -bordercolor white -gravity northwest xc:black ` + `-duplicate 99 ` + `-seed 1 -resize "%[fx:rand()*72+24]" ` + `-seed 0 -rotate "%[fx:rand()*360]" -border 6x6 -splice 16x36 ` + `-seed 0 -rotate "%[fx:floor(rand()*4)*90]" -resize "150x50!" ` + `+append -crop 10x1@ +repage -roll "+%[fx:(t%2)*72]+0" -append ` + `-resize ${toString bannerWidth} -quality 1 $out + ''; + + coverWidth = toString 3000; + cover = pkgs.runCommand "gen-castopod-banner.jpg" { } '' + ${pkgs.imagemagick}/bin/magick ` + `-background white -bordercolor white -gravity northwest xc:black ` + `-duplicate 99 ` + `-seed 1 -resize "%[fx:rand()*72+24]" ` + `-seed 0 -rotate "%[fx:rand()*360]" -border 6x6 -splice 36x36 ` + `-seed 0 -rotate "%[fx:floor(rand()*4)*90]" -resize "144x144!" ` + `+append -crop 10x1@ +repage -roll "+%[fx:(t%2)*72]+0" -append ` + `-resize ${coverWidth} -quality 1 $out + ''; + in + { + networking.extraHosts = lib.strings.concatStringsSep "\n" ( + lib.attrsets.mapAttrsToList ( + name: _: "${getIP nodes.castopod} ${name}" + ) nodes.castopod.services.nginx.virtualHosts + ); + + environment.systemPackages = + let + username = "admin"; + email = "admin@${domain}"; + password = "Abcd1234"; + podcastTitle = "Some Title"; + episodeTitle = "Episode Title"; + browser-test = + pkgs.writers.writePython3Bin "browser-test" + { + libraries = [ pkgs.python3Packages.selenium ]; + flakeIgnore = [ + "E124" + "E501" + ]; + } + '' + from selenium.webdriver.common.by import By + from selenium.webdriver import Firefox + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.firefox.service import Service + from selenium.webdriver.support.ui import WebDriverWait + from selenium.webdriver.support import expected_conditions as EC + from subprocess import STDOUT + import logging + + selenium_logger = logging.getLogger("selenium") + selenium_logger.setLevel(logging.DEBUG) + selenium_logger.addHandler(logging.StreamHandler()) + + options = Options() + options.add_argument('--headless') + service = Service(log_output=STDOUT) + driver = Firefox(options=options, service=service) + driver = Firefox(options=options) + driver.implicitly_wait(30) + driver.set_page_load_timeout(60) + + # install ########################################################## + + driver.get('http://${domain}/cp-install') + + wait = WebDriverWait(driver, 20) + + wait.until(EC.title_contains("installer")) + + driver.find_element(By.CSS_SELECTOR, '#username').send_keys( + '${username}' + ) + driver.find_element(By.CSS_SELECTOR, '#email').send_keys( + '${email}' + ) + driver.find_element(By.CSS_SELECTOR, '#password').send_keys( + '${password}' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Finish install')]" + ).click() + + wait.until(EC.title_contains("Auth")) + + driver.find_element(By.CSS_SELECTOR, '#email').send_keys( + '${email}' + ) + driver.find_element(By.CSS_SELECTOR, '#password').send_keys( + '${password}' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Login')]" + ).click() + + wait.until(EC.title_contains("Admin dashboard")) + + # create podcast ################################################### + + driver.get('http://${domain}/admin/podcasts/new') + + wait.until(EC.title_contains("Create podcast")) + + driver.find_element(By.CSS_SELECTOR, '#cover').send_keys( + '${cover}' + ) + driver.find_element(By.CSS_SELECTOR, '#banner').send_keys( + '${banner}' + ) + driver.find_element(By.CSS_SELECTOR, '#title').send_keys( + '${podcastTitle}' + ) + driver.find_element(By.CSS_SELECTOR, '#handle').send_keys( + 'some_handle' + ) + driver.find_element(By.CSS_SELECTOR, '#description').send_keys( + 'Some description' + ) + driver.find_element(By.CSS_SELECTOR, '#owner_name').send_keys( + 'Owner Name' + ) + driver.find_element(By.CSS_SELECTOR, '#owner_email').send_keys( + 'owner@email.xyz' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Create podcast')]" + ).click() + + wait.until(EC.title_contains("${podcastTitle}")) + + driver.find_element(By.XPATH, + "//span[contains(., 'Add an episode')]" + ).click() + + wait.until(EC.title_contains("Add an episode")) + + # upload podcast ################################################### + + driver.find_element(By.CSS_SELECTOR, '#audio_file').send_keys( + '/tmp/podcast.mp3' + ) + driver.find_element(By.CSS_SELECTOR, '#cover').send_keys( + '${cover}' + ) + driver.find_element(By.CSS_SELECTOR, '#description').send_keys( + 'Episode description' + ) + driver.find_element(By.CSS_SELECTOR, '#title').send_keys( + '${episodeTitle}' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Create episode')]" + ).click() + + wait.until(EC.title_contains("${episodeTitle}")) + + driver.close() + driver.quit() + ''; + in + [ + pkgs.firefox-unwrapped + pkgs.geckodriver + browser-test + (pkgs.writeShellApplication { + name = "build-mp3"; + runtimeInputs = with pkgs; [ + sox + lame + ]; + text = '' + out=/tmp/podcast.mp3 + sox -n -r 48000 -t wav - synth ${targetPodcastDuration} sine 440 ` + `| lame --noreplaygain --cbr -q 9 -b 320 - $out + FILESIZE="$(stat -c%s $out)" + [ "$FILESIZE" -gt 0 ] + [ "$FILESIZE" -le "${toString targetPodcastSize}" ] + ''; + }) + ]; + }; + + testScript = '' + start_all() + castopod.wait_for_unit("castopod-setup.service") + castopod.wait_for_file("/run/phpfpm/castopod.sock") + castopod.wait_for_unit("nginx.service") + castopod.wait_for_open_port(80) + castopod.wait_until_succeeds("curl -sS -f http://castopod.example.com") + + client.succeed("build-mp3") + + with subtest("Create superadmin, log in, create and upload a podcast"): + client.succeed(\ + "PYTHONUNBUFFERED=1 systemd-cat -t browser-test browser-test") + ''; + } +) diff --git a/nixos/tests/ccache.nix b/nixos/tests/ccache.nix index a97ae05017676..a32d2a1e06aa1 100644 --- a/nixos/tests/ccache.nix +++ b/nixos/tests/ccache.nix @@ -1,24 +1,28 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "ccache"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ehmry ]; - }; - - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - environment.systemPackages = [ pkgs.hello ]; - programs.ccache = { - enable = true; - packageNames = [ "hello" ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ccache"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ehmry ]; }; - }; - testScript = - '' + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + environment.systemPackages = [ pkgs.hello ]; + programs.ccache = { + enable = true; + packageNames = [ "hello" ]; + }; + }; + + testScript = '' start_all() machine.wait_for_unit("multi-user.target") machine.succeed("nix-ccache --show-stats") machine.succeed("hello") machine.shutdown() ''; -}) + } +) diff --git a/nixos/tests/centrifugo.nix b/nixos/tests/centrifugo.nix index 8e940f74caa4b..8ad44a011663c 100644 --- a/nixos/tests/centrifugo.nix +++ b/nixos/tests/centrifugo.nix @@ -7,44 +7,51 @@ let "centrifugo3" ]; in -{ lib, ... }: { +{ lib, ... }: +{ name = "centrifugo"; meta.maintainers = [ lib.maintainers.tie ]; - nodes = lib.listToAttrs (lib.imap0 - (index: name: { + nodes = lib.listToAttrs ( + lib.imap0 (index: name: { inherit name; - value = { config, ... }: { - services.centrifugo = { - enable = true; - settings = { - inherit name; - port = centrifugoPort; - # See https://centrifugal.dev/docs/server/engines#redis-sharding - engine = "redis"; - # Connect to local Redis shard via Unix socket. - redis_address = - let toRedisAddresses = map (name: "${name}:${toString redisPort}"); in - toRedisAddresses (lib.take index nodes) ++ [ - "unix://${config.services.redis.servers.centrifugo.unixSocket}" - ] ++ toRedisAddresses (lib.drop (index + 1) nodes); - usage_stats_disable = true; - api_insecure = true; + value = + { config, ... }: + { + services.centrifugo = { + enable = true; + settings = { + inherit name; + port = centrifugoPort; + # See https://centrifugal.dev/docs/server/engines#redis-sharding + engine = "redis"; + # Connect to local Redis shard via Unix socket. + redis_address = + let + toRedisAddresses = map (name: "${name}:${toString redisPort}"); + in + toRedisAddresses (lib.take index nodes) + ++ [ + "unix://${config.services.redis.servers.centrifugo.unixSocket}" + ] + ++ toRedisAddresses (lib.drop (index + 1) nodes); + usage_stats_disable = true; + api_insecure = true; + }; + extraGroups = [ + config.services.redis.servers.centrifugo.user + ]; + }; + services.redis.servers.centrifugo = { + enable = true; + bind = null; # all interfaces + port = redisPort; + openFirewall = true; + settings.protected-mode = false; }; - extraGroups = [ - config.services.redis.servers.centrifugo.user - ]; - }; - services.redis.servers.centrifugo = { - enable = true; - bind = null; # all interfaces - port = redisPort; - openFirewall = true; - settings.protected-mode = false; }; - }; - }) - nodes); + }) nodes + ); testScript = '' import json diff --git a/nixos/tests/ceph-single-node-bluestore.nix b/nixos/tests/ceph-single-node-bluestore.nix index 8bd1a78244a29..3fcc65feaa8cf 100644 --- a/nixos/tests/ceph-single-node-bluestore.nix +++ b/nixos/tests/ceph-single-node-bluestore.nix @@ -1,204 +1,236 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: - -let - cfg = { - clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03"; - monA = { - name = "a"; - ip = "192.168.1.1"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + cfg = { + clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03"; + monA = { + name = "a"; + ip = "192.168.1.1"; + }; + osd0 = { + name = "0"; + key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg=="; + uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9"; + }; + osd1 = { + name = "1"; + key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ=="; + uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5"; + }; + osd2 = { + name = "2"; + key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w=="; + uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f"; + }; }; - osd0 = { - name = "0"; - key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg=="; - uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9"; + generateCephConfig = + { daemonConfig }: + { + enable = true; + global = { + fsid = cfg.clusterId; + monHost = cfg.monA.ip; + monInitialMembers = cfg.monA.name; + }; + } + // daemonConfig; + + generateHost = + { + pkgs, + cephConfig, + networkConfig, + ... + }: + { + virtualisation = { + emptyDiskImages = [ + 20480 + 20480 + 20480 + ]; + vlans = [ 1 ]; + }; + + networking = networkConfig; + + environment.systemPackages = with pkgs; [ + bash + sudo + ceph + xfsprogs + ]; + + boot.kernelModules = [ "xfs" ]; + + services.ceph = cephConfig; + }; + + networkMonA = { + dhcpcd.enable = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = cfg.monA.ip; + prefixLength = 24; + } + ]; }; - osd1 = { - name = "1"; - key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ=="; - uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5"; + cephConfigMonA = generateCephConfig { + daemonConfig = { + mon = { + enable = true; + daemons = [ cfg.monA.name ]; + }; + mgr = { + enable = true; + daemons = [ cfg.monA.name ]; + }; + osd = { + enable = true; + daemons = [ + cfg.osd0.name + cfg.osd1.name + cfg.osd2.name + ]; + }; + }; }; - osd2 = { - name = "2"; - key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w=="; - uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f"; - }; - }; - generateCephConfig = { daemonConfig }: { - enable = true; - global = { - fsid = cfg.clusterId; - monHost = cfg.monA.ip; - monInitialMembers = cfg.monA.name; - }; - } // daemonConfig; - generateHost = { pkgs, cephConfig, networkConfig, ... }: { - virtualisation = { - emptyDiskImages = [ 20480 20480 20480 ]; - vlans = [ 1 ]; + # Following deployment is based on the manual deployment described here: + # https://docs.ceph.com/docs/master/install/manual-deployment/ + # For other ways to deploy a ceph cluster, look at the documentation at + # https://docs.ceph.com/docs/master/ + testscript = + { ... }: + '' + start_all() + + monA.wait_for_unit("network.target") + + # Bootstrap ceph-mon daemon + monA.succeed( + "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", + "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", + "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", + "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", + "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", + "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", + "systemctl start ceph-mon-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.succeed("ceph mon enable-msgr2") + monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") + + # Can't check ceph status until a mon is up + monA.succeed("ceph -s | grep 'mon: 1 daemons'") + + # Start the ceph-mgr daemon, after copying in the keyring + monA.succeed( + "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", + "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", + "systemctl start ceph-mgr-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mgr-a") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + + # Bootstrap OSDs + monA.succeed( + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd0.name}/type", + "ln -sf /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}/block", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd1.name}/type", + "ln -sf /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}/block", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}", + "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd2.name}/type", + "ln -sf /dev/vdd /var/lib/ceph/osd/ceph-${cfg.osd2.name}/block", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.key}", + 'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -', + 'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -', + 'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -', + ) + + # Initialize the OSDs with regular filestore + monA.succeed( + "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", + "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", + "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}", + "chown -R ceph:ceph /var/lib/ceph/osd", + "systemctl start ceph-osd-${cfg.osd0.name}", + "systemctl start ceph-osd-${cfg.osd1.name}", + "systemctl start ceph-osd-${cfg.osd2.name}", + ) + monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + + monA.succeed( + "ceph osd pool create single-node-test 32 32", + "ceph osd pool ls | grep 'single-node-test'", + + # We need to enable an application on the pool, otherwise it will + # stay unhealthy in state POOL_APP_NOT_ENABLED. + # Creating a CephFS would do this automatically, but we haven't done that here. + # See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application + # We use the custom application name "nixos-test" for this. + "ceph osd pool application enable single-node-test nixos-test", + + "ceph osd pool rename single-node-test single-node-other-test", + "ceph osd pool ls | grep 'single-node-other-test'", + ) + monA.wait_until_succeeds("ceph -s | grep '2 pools, 33 pgs'") + monA.succeed( + "ceph osd getcrushmap -o crush", + "crushtool -d crush -o decrushed", + "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", + "crushtool -c modcrush -o recrushed", + "ceph osd setcrushmap -i recrushed", + "ceph osd pool set single-node-other-test size 2", + ) + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + monA.wait_until_succeeds("ceph -s | grep '33 active+clean'") + monA.fail( + "ceph osd pool ls | grep 'multi-node-test'", + "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", + ) + + # Shut down ceph by stopping ceph.target. + monA.succeed("systemctl stop ceph.target") + + # Start it up + monA.succeed("systemctl start ceph.target") + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.wait_for_unit("ceph-mgr-${cfg.monA.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd0.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd1.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd2.name}") + + # Ensure the cluster comes back up again + monA.succeed("ceph -s | grep 'mon: 1 daemons'") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + ''; + in + { + name = "basic-single-node-ceph-cluster-bluestore"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lukegb ]; }; - networking = networkConfig; - - environment.systemPackages = with pkgs; [ - bash - sudo - ceph - xfsprogs - ]; - - boot.kernelModules = [ "xfs" ]; - - services.ceph = cephConfig; - }; - - networkMonA = { - dhcpcd.enable = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = cfg.monA.ip; prefixLength = 24; } - ]; - }; - cephConfigMonA = generateCephConfig { daemonConfig = { - mon = { - enable = true; - daemons = [ cfg.monA.name ]; - }; - mgr = { - enable = true; - daemons = [ cfg.monA.name ]; + nodes = { + monA = generateHost { + pkgs = pkgs; + cephConfig = cephConfigMonA; + networkConfig = networkMonA; + }; }; - osd = { - enable = true; - daemons = [ cfg.osd0.name cfg.osd1.name cfg.osd2.name ]; - }; - }; }; - - # Following deployment is based on the manual deployment described here: - # https://docs.ceph.com/docs/master/install/manual-deployment/ - # For other ways to deploy a ceph cluster, look at the documentation at - # https://docs.ceph.com/docs/master/ - testscript = { ... }: '' - start_all() - - monA.wait_for_unit("network.target") - - # Bootstrap ceph-mon daemon - monA.succeed( - "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", - "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", - "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", - "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", - "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", - "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", - "systemctl start ceph-mon-${cfg.monA.name}", - ) - monA.wait_for_unit("ceph-mon-${cfg.monA.name}") - monA.succeed("ceph mon enable-msgr2") - monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") - - # Can't check ceph status until a mon is up - monA.succeed("ceph -s | grep 'mon: 1 daemons'") - - # Start the ceph-mgr daemon, after copying in the keyring - monA.succeed( - "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", - "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", - "systemctl start ceph-mgr-${cfg.monA.name}", - ) - monA.wait_for_unit("ceph-mgr-a") - monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") - monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") - - # Bootstrap OSDs - monA.succeed( - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd0.name}/type", - "ln -sf /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}/block", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd1.name}/type", - "ln -sf /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}/block", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}", - "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd2.name}/type", - "ln -sf /dev/vdd /var/lib/ceph/osd/ceph-${cfg.osd2.name}/block", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.key}", - 'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -', - 'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -', - 'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -', - ) - - # Initialize the OSDs with regular filestore - monA.succeed( - "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", - "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", - "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}", - "chown -R ceph:ceph /var/lib/ceph/osd", - "systemctl start ceph-osd-${cfg.osd0.name}", - "systemctl start ceph-osd-${cfg.osd1.name}", - "systemctl start ceph-osd-${cfg.osd2.name}", - ) - monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") - monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - - monA.succeed( - "ceph osd pool create single-node-test 32 32", - "ceph osd pool ls | grep 'single-node-test'", - - # We need to enable an application on the pool, otherwise it will - # stay unhealthy in state POOL_APP_NOT_ENABLED. - # Creating a CephFS would do this automatically, but we haven't done that here. - # See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application - # We use the custom application name "nixos-test" for this. - "ceph osd pool application enable single-node-test nixos-test", - - "ceph osd pool rename single-node-test single-node-other-test", - "ceph osd pool ls | grep 'single-node-other-test'", - ) - monA.wait_until_succeeds("ceph -s | grep '2 pools, 33 pgs'") - monA.succeed( - "ceph osd getcrushmap -o crush", - "crushtool -d crush -o decrushed", - "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", - "crushtool -c modcrush -o recrushed", - "ceph osd setcrushmap -i recrushed", - "ceph osd pool set single-node-other-test size 2", - ) - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - monA.wait_until_succeeds("ceph -s | grep '33 active+clean'") - monA.fail( - "ceph osd pool ls | grep 'multi-node-test'", - "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", - ) - - # Shut down ceph by stopping ceph.target. - monA.succeed("systemctl stop ceph.target") - - # Start it up - monA.succeed("systemctl start ceph.target") - monA.wait_for_unit("ceph-mon-${cfg.monA.name}") - monA.wait_for_unit("ceph-mgr-${cfg.monA.name}") - monA.wait_for_unit("ceph-osd-${cfg.osd0.name}") - monA.wait_for_unit("ceph-osd-${cfg.osd1.name}") - monA.wait_for_unit("ceph-osd-${cfg.osd2.name}") - - # Ensure the cluster comes back up again - monA.succeed("ceph -s | grep 'mon: 1 daemons'") - monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") - monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") - monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - ''; -in { - name = "basic-single-node-ceph-cluster-bluestore"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lukegb ]; - }; - - nodes = { - monA = generateHost { pkgs = pkgs; cephConfig = cephConfigMonA; networkConfig = networkMonA; }; - }; - - testScript = testscript; -}) + + testScript = testscript; + } +) diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix index c34ec511dc6d2..de926d4729f6e 100644 --- a/nixos/tests/ceph-single-node.nix +++ b/nixos/tests/ceph-single-node.nix @@ -1,215 +1,250 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: - -let - cfg = { - clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03"; - monA = { - name = "a"; - ip = "192.168.1.1"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + cfg = { + clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03"; + monA = { + name = "a"; + ip = "192.168.1.1"; + }; + osd0 = { + name = "0"; + key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg=="; + uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9"; + }; + osd1 = { + name = "1"; + key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ=="; + uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5"; + }; + osd2 = { + name = "2"; + key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w=="; + uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f"; + }; }; - osd0 = { - name = "0"; - key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg=="; - uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9"; + generateCephConfig = + { daemonConfig }: + { + enable = true; + global = { + fsid = cfg.clusterId; + monHost = cfg.monA.ip; + monInitialMembers = cfg.monA.name; + }; + } + // daemonConfig; + + generateHost = + { + pkgs, + cephConfig, + networkConfig, + ... + }: + { + virtualisation = { + emptyDiskImages = [ + 20480 + 20480 + 20480 + ]; + vlans = [ 1 ]; + }; + + networking = networkConfig; + + environment.systemPackages = with pkgs; [ + bash + sudo + ceph + xfsprogs + ]; + + boot.kernelModules = [ "xfs" ]; + + services.ceph = cephConfig; + }; + + networkMonA = { + dhcpcd.enable = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = cfg.monA.ip; + prefixLength = 24; + } + ]; }; - osd1 = { - name = "1"; - key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ=="; - uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5"; + cephConfigMonA = generateCephConfig { + daemonConfig = { + mon = { + enable = true; + daemons = [ cfg.monA.name ]; + }; + mgr = { + enable = true; + daemons = [ cfg.monA.name ]; + }; + osd = { + enable = true; + daemons = [ + cfg.osd0.name + cfg.osd1.name + cfg.osd2.name + ]; + }; + }; }; - osd2 = { - name = "2"; - key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w=="; - uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f"; - }; - }; - generateCephConfig = { daemonConfig }: { - enable = true; - global = { - fsid = cfg.clusterId; - monHost = cfg.monA.ip; - monInitialMembers = cfg.monA.name; - }; - } // daemonConfig; - generateHost = { pkgs, cephConfig, networkConfig, ... }: { - virtualisation = { - emptyDiskImages = [ 20480 20480 20480 ]; - vlans = [ 1 ]; + # Following deployment is based on the manual deployment described here: + # https://docs.ceph.com/docs/master/install/manual-deployment/ + # For other ways to deploy a ceph cluster, look at the documentation at + # https://docs.ceph.com/docs/master/ + testscript = + { ... }: + '' + start_all() + + monA.wait_for_unit("network.target") + + # Bootstrap ceph-mon daemon + monA.succeed( + "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", + "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", + "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", + "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", + "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", + "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", + "systemctl start ceph-mon-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.succeed("ceph mon enable-msgr2") + monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") + + # Can't check ceph status until a mon is up + monA.succeed("ceph -s | grep 'mon: 1 daemons'") + + # Start the ceph-mgr daemon, after copying in the keyring + monA.succeed( + "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", + "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", + "systemctl start ceph-mgr-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mgr-a") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + + # Bootstrap OSDs + monA.succeed( + "mkfs.xfs /dev/vdb", + "mkfs.xfs /dev/vdc", + "mkfs.xfs /dev/vdd", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}", + "mount /dev/vdd /var/lib/ceph/osd/ceph-${cfg.osd2.name}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.key}", + 'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -', + 'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -', + 'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -', + ) + + # Initialize the OSDs with regular filestore + monA.succeed( + "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", + "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", + "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}", + "chown -R ceph:ceph /var/lib/ceph/osd", + "systemctl start ceph-osd-${cfg.osd0.name}", + "systemctl start ceph-osd-${cfg.osd1.name}", + "systemctl start ceph-osd-${cfg.osd2.name}", + ) + monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + + monA.succeed( + "ceph osd pool create single-node-test 32 32", + "ceph osd pool ls | grep 'single-node-test'", + + # We need to enable an application on the pool, otherwise it will + # stay unhealthy in state POOL_APP_NOT_ENABLED. + # Creating a CephFS would do this automatically, but we haven't done that here. + # See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application + # We use the custom application name "nixos-test" for this. + "ceph osd pool application enable single-node-test nixos-test", + + "ceph osd pool rename single-node-test single-node-other-test", + "ceph osd pool ls | grep 'single-node-other-test'", + ) + monA.wait_until_succeeds("ceph -s | grep '2 pools, 33 pgs'") + monA.succeed( + "ceph osd getcrushmap -o crush", + "crushtool -d crush -o decrushed", + "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", + "crushtool -c modcrush -o recrushed", + "ceph osd setcrushmap -i recrushed", + "ceph osd pool set single-node-other-test size 2", + ) + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + monA.wait_until_succeeds("ceph -s | grep '33 active+clean'") + monA.fail( + "ceph osd pool ls | grep 'multi-node-test'", + "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", + ) + + # Shut down ceph by stopping ceph.target. + monA.succeed("systemctl stop ceph.target") + + # Start it up + monA.succeed("systemctl start ceph.target") + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.wait_for_unit("ceph-mgr-${cfg.monA.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd0.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd1.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd2.name}") + + # Ensure the cluster comes back up again + monA.succeed("ceph -s | grep 'mon: 1 daemons'") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + + # Enable the dashboard and recheck health + monA.succeed( + "ceph mgr module enable dashboard", + "ceph config set mgr mgr/dashboard/ssl false", + # default is 8080 but it's better to be explicit + "ceph config set mgr mgr/dashboard/server_port 8080", + ) + monA.wait_for_open_port(8080) + monA.wait_until_succeeds("curl -q --fail http://localhost:8080") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + ''; + in + { + name = "basic-single-node-ceph-cluster"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + lejonet + johanot + ]; }; - networking = networkConfig; - - environment.systemPackages = with pkgs; [ - bash - sudo - ceph - xfsprogs - ]; - - boot.kernelModules = [ "xfs" ]; - - services.ceph = cephConfig; - }; - - networkMonA = { - dhcpcd.enable = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = cfg.monA.ip; prefixLength = 24; } - ]; - }; - cephConfigMonA = generateCephConfig { daemonConfig = { - mon = { - enable = true; - daemons = [ cfg.monA.name ]; - }; - mgr = { - enable = true; - daemons = [ cfg.monA.name ]; + nodes = { + monA = generateHost { + pkgs = pkgs; + cephConfig = cephConfigMonA; + networkConfig = networkMonA; + }; }; - osd = { - enable = true; - daemons = [ cfg.osd0.name cfg.osd1.name cfg.osd2.name ]; - }; - }; }; - - # Following deployment is based on the manual deployment described here: - # https://docs.ceph.com/docs/master/install/manual-deployment/ - # For other ways to deploy a ceph cluster, look at the documentation at - # https://docs.ceph.com/docs/master/ - testscript = { ... }: '' - start_all() - - monA.wait_for_unit("network.target") - - # Bootstrap ceph-mon daemon - monA.succeed( - "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", - "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", - "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", - "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", - "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", - "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", - "systemctl start ceph-mon-${cfg.monA.name}", - ) - monA.wait_for_unit("ceph-mon-${cfg.monA.name}") - monA.succeed("ceph mon enable-msgr2") - monA.succeed("ceph config set mon auth_allow_insecure_global_id_reclaim false") - - # Can't check ceph status until a mon is up - monA.succeed("ceph -s | grep 'mon: 1 daemons'") - - # Start the ceph-mgr daemon, after copying in the keyring - monA.succeed( - "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", - "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", - "systemctl start ceph-mgr-${cfg.monA.name}", - ) - monA.wait_for_unit("ceph-mgr-a") - monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") - monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") - - # Bootstrap OSDs - monA.succeed( - "mkfs.xfs /dev/vdb", - "mkfs.xfs /dev/vdc", - "mkfs.xfs /dev/vdd", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}", - "mount /dev/vdd /var/lib/ceph/osd/ceph-${cfg.osd2.name}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.key}", - 'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -', - 'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -', - 'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -', - ) - - # Initialize the OSDs with regular filestore - monA.succeed( - "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", - "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", - "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}", - "chown -R ceph:ceph /var/lib/ceph/osd", - "systemctl start ceph-osd-${cfg.osd0.name}", - "systemctl start ceph-osd-${cfg.osd1.name}", - "systemctl start ceph-osd-${cfg.osd2.name}", - ) - monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") - monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - - monA.succeed( - "ceph osd pool create single-node-test 32 32", - "ceph osd pool ls | grep 'single-node-test'", - - # We need to enable an application on the pool, otherwise it will - # stay unhealthy in state POOL_APP_NOT_ENABLED. - # Creating a CephFS would do this automatically, but we haven't done that here. - # See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application - # We use the custom application name "nixos-test" for this. - "ceph osd pool application enable single-node-test nixos-test", - - "ceph osd pool rename single-node-test single-node-other-test", - "ceph osd pool ls | grep 'single-node-other-test'", - ) - monA.wait_until_succeeds("ceph -s | grep '2 pools, 33 pgs'") - monA.succeed( - "ceph osd getcrushmap -o crush", - "crushtool -d crush -o decrushed", - "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", - "crushtool -c modcrush -o recrushed", - "ceph osd setcrushmap -i recrushed", - "ceph osd pool set single-node-other-test size 2", - ) - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - monA.wait_until_succeeds("ceph -s | grep '33 active+clean'") - monA.fail( - "ceph osd pool ls | grep 'multi-node-test'", - "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", - ) - - # Shut down ceph by stopping ceph.target. - monA.succeed("systemctl stop ceph.target") - - # Start it up - monA.succeed("systemctl start ceph.target") - monA.wait_for_unit("ceph-mon-${cfg.monA.name}") - monA.wait_for_unit("ceph-mgr-${cfg.monA.name}") - monA.wait_for_unit("ceph-osd-${cfg.osd0.name}") - monA.wait_for_unit("ceph-osd-${cfg.osd1.name}") - monA.wait_for_unit("ceph-osd-${cfg.osd2.name}") - - # Ensure the cluster comes back up again - monA.succeed("ceph -s | grep 'mon: 1 daemons'") - monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") - monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") - monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - - # Enable the dashboard and recheck health - monA.succeed( - "ceph mgr module enable dashboard", - "ceph config set mgr mgr/dashboard/ssl false", - # default is 8080 but it's better to be explicit - "ceph config set mgr mgr/dashboard/server_port 8080", - ) - monA.wait_for_open_port(8080) - monA.wait_until_succeeds("curl -q --fail http://localhost:8080") - monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - ''; -in { - name = "basic-single-node-ceph-cluster"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lejonet johanot ]; - }; - - nodes = { - monA = generateHost { pkgs = pkgs; cephConfig = cephConfigMonA; networkConfig = networkMonA; }; - }; - - testScript = testscript; -}) + + testScript = testscript; + } +) diff --git a/nixos/tests/certmgr.nix b/nixos/tests/certmgr.nix index 8f5b89487793b..5f92e2cad9631 100644 --- a/nixos/tests/certmgr.nix +++ b/nixos/tests/certmgr.nix @@ -1,128 +1,180 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; let - mkSpec = { host, service ? null, action }: { - inherit action; - authority = { - file = { + mkSpec = + { + host, + service ? null, + action, + }: + { + inherit action; + authority = { + file = { + group = "nginx"; + owner = "nginx"; + path = "/var/ssl/${host}-ca.pem"; + }; + label = "www_ca"; + profile = "three-month"; + remote = "localhost:8888"; + }; + certificate = { group = "nginx"; owner = "nginx"; - path = "/var/ssl/${host}-ca.pem"; + path = "/var/ssl/${host}-cert.pem"; }; - label = "www_ca"; - profile = "three-month"; - remote = "localhost:8888"; - }; - certificate = { - group = "nginx"; - owner = "nginx"; - path = "/var/ssl/${host}-cert.pem"; - }; - private_key = { - group = "nginx"; - mode = "0600"; - owner = "nginx"; - path = "/var/ssl/${host}-key.pem"; - }; - request = { - CN = host; - hosts = [ host "www.${host}" ]; - key = { - algo = "rsa"; - size = 2048; + private_key = { + group = "nginx"; + mode = "0600"; + owner = "nginx"; + path = "/var/ssl/${host}-key.pem"; + }; + request = { + CN = host; + hosts = [ + host + "www.${host}" + ]; + key = { + algo = "rsa"; + size = 2048; + }; + names = [ + { + C = "US"; + L = "San Francisco"; + O = "Example, LLC"; + ST = "CA"; + } + ]; }; - names = [ - { - C = "US"; - L = "San Francisco"; - O = "Example, LLC"; - ST = "CA"; - } - ]; + inherit service; }; - inherit service; - }; - mkCertmgrTest = { svcManager, specs, testScript }: makeTest { - name = "certmgr-" + svcManager; - nodes = { - machine = { config, lib, pkgs, ... }: { - networking.firewall.allowedTCPPorts = with config.services; [ cfssl.port certmgr.metricsPort ]; - networking.extraHosts = "127.0.0.1 imp.example.org decl.example.org"; + mkCertmgrTest = + { + svcManager, + specs, + testScript, + }: + makeTest { + name = "certmgr-" + svcManager; + nodes = { + machine = + { + config, + lib, + pkgs, + ... + }: + { + networking.firewall.allowedTCPPorts = with config.services; [ + cfssl.port + certmgr.metricsPort + ]; + networking.extraHosts = "127.0.0.1 imp.example.org decl.example.org"; - services.cfssl.enable = true; - systemd.services.cfssl.after = [ "cfssl-init.service" "networking.target" ]; + services.cfssl.enable = true; + systemd.services.cfssl.after = [ + "cfssl-init.service" + "networking.target" + ]; - systemd.tmpfiles.rules = [ "d /var/ssl 777 root root" ]; + systemd.tmpfiles.rules = [ "d /var/ssl 777 root root" ]; - systemd.services.cfssl-init = { - description = "Initialize the cfssl CA"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = "cfssl"; - Type = "oneshot"; - WorkingDirectory = config.services.cfssl.dataDir; - }; - script = '' - ${pkgs.cfssl}/bin/cfssl genkey -initca ${pkgs.writeText "ca.json" (builtins.toJSON { - hosts = [ "ca.example.com" ]; - key = { - algo = "rsa"; size = 4096; }; - names = [ - { - C = "US"; - L = "San Francisco"; - O = "Internet Widgets, LLC"; - OU = "Certificate Authority"; - ST = "California"; - } - ]; - })} | ${pkgs.cfssl}/bin/cfssljson -bare ca - ''; - }; - - services.nginx = { - enable = true; - virtualHosts = lib.mkMerge (map (host: { - ${host} = { - sslCertificate = "/var/ssl/${host}-cert.pem"; - sslCertificateKey = "/var/ssl/${host}-key.pem"; - extraConfig = '' - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + systemd.services.cfssl-init = { + description = "Initialize the cfssl CA"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "cfssl"; + Type = "oneshot"; + WorkingDirectory = config.services.cfssl.dataDir; + }; + script = '' + ${pkgs.cfssl}/bin/cfssl genkey -initca ${ + pkgs.writeText "ca.json" ( + builtins.toJSON { + hosts = [ "ca.example.com" ]; + key = { + algo = "rsa"; + size = 4096; + }; + names = [ + { + C = "US"; + L = "San Francisco"; + O = "Internet Widgets, LLC"; + OU = "Certificate Authority"; + ST = "California"; + } + ]; + } + ) + } | ${pkgs.cfssl}/bin/cfssljson -bare ca ''; - onlySSL = true; - serverName = host; - root = pkgs.writeTextDir "index.html" "It works!"; }; - }) [ "imp.example.org" "decl.example.org" ]); - }; - systemd.services.nginx.wantedBy = lib.mkForce []; + services.nginx = { + enable = true; + virtualHosts = lib.mkMerge ( + map + (host: { + ${host} = { + sslCertificate = "/var/ssl/${host}-cert.pem"; + sslCertificateKey = "/var/ssl/${host}-key.pem"; + extraConfig = '' + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ''; + onlySSL = true; + serverName = host; + root = pkgs.writeTextDir "index.html" "It works!"; + }; + }) + [ + "imp.example.org" + "decl.example.org" + ] + ); + }; - systemd.services.certmgr.after = [ "cfssl.service" ]; - services.certmgr = { - enable = true; - inherit svcManager; - inherit specs; - }; + systemd.services.nginx.wantedBy = lib.mkForce [ ]; + systemd.services.certmgr.after = [ "cfssl.service" ]; + services.certmgr = { + enable = true; + inherit svcManager; + inherit specs; + }; + + }; }; + inherit testScript; }; - inherit testScript; - }; in { systemd = mkCertmgrTest { svcManager = "systemd"; specs = { - decl = mkSpec { host = "decl.example.org"; service = "nginx"; action ="restart"; }; - imp = toString (pkgs.writeText "test.json" (builtins.toJSON ( - mkSpec { host = "imp.example.org"; service = "nginx"; action = "restart"; } - ))); + decl = mkSpec { + host = "decl.example.org"; + service = "nginx"; + action = "restart"; + }; + imp = toString ( + pkgs.writeText "test.json" ( + builtins.toJSON (mkSpec { + host = "imp.example.org"; + service = "nginx"; + action = "restart"; + }) + ) + ); }; testScript = '' machine.wait_for_unit("cfssl.service") @@ -144,7 +196,10 @@ in command = mkCertmgrTest { svcManager = "command"; specs = { - test = mkSpec { host = "command.example.org"; action = "touch /tmp/command.executed"; }; + test = mkSpec { + host = "command.example.org"; + action = "touch /tmp/command.executed"; + }; }; testScript = '' machine.wait_for_unit("cfssl.service") diff --git a/nixos/tests/cfssl.nix b/nixos/tests/cfssl.nix index e673df3131f8e..fa81a241f812d 100644 --- a/nixos/tests/cfssl.nix +++ b/nixos/tests/cfssl.nix @@ -1,67 +1,89 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "cfssl"; - - nodes.machine = { config, lib, pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ config.services.cfssl.port ]; + name = "cfssl"; + + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + networking.firewall.allowedTCPPorts = [ config.services.cfssl.port ]; - services.cfssl.enable = true; - systemd.services.cfssl.after = [ "cfssl-init.service" ]; + services.cfssl.enable = true; + systemd.services.cfssl.after = [ "cfssl-init.service" ]; - systemd.services.cfssl-init = { - description = "Initialize the cfssl CA"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - User = "cfssl"; - Type = "oneshot"; - WorkingDirectory = config.services.cfssl.dataDir; + systemd.services.cfssl-init = { + description = "Initialize the cfssl CA"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "cfssl"; + Type = "oneshot"; + WorkingDirectory = config.services.cfssl.dataDir; + }; + script = with pkgs; '' + ${cfssl}/bin/cfssl genkey -initca ${ + pkgs.writeText "ca.json" ( + builtins.toJSON { + hosts = [ "ca.example.com" ]; + key = { + algo = "rsa"; + size = 4096; + }; + names = [ + { + C = "US"; + L = "San Francisco"; + O = "Internet Widgets, LLC"; + OU = "Certificate Authority"; + ST = "California"; + } + ]; + } + ) + } | ${cfssl}/bin/cfssljson -bare ca + ''; + }; }; - script = with pkgs; '' - ${cfssl}/bin/cfssl genkey -initca ${pkgs.writeText "ca.json" (builtins.toJSON { - hosts = [ "ca.example.com" ]; - key = { - algo = "rsa"; size = 4096; }; + + testScript = + let + cfsslrequest = + with pkgs; + writeScript "cfsslrequest" '' + curl -f -X POST -H "Content-Type: application/json" -d @${csr} \ + http://localhost:8888/api/v1/cfssl/newkey | ${cfssl}/bin/cfssljson /tmp/certificate + ''; + csr = pkgs.writeText "csr.json" ( + builtins.toJSON { + CN = "www.example.com"; + hosts = [ + "example.com" + "www.example.com" + ]; + key = { + algo = "rsa"; + size = 2048; + }; names = [ { C = "US"; L = "San Francisco"; - O = "Internet Widgets, LLC"; - OU = "Certificate Authority"; + O = "Example Company, LLC"; + OU = "Operations"; ST = "California"; } ]; - })} | ${cfssl}/bin/cfssljson -bare ca + } + ); + in + '' + machine.wait_for_unit("cfssl.service") + machine.wait_until_succeeds("${cfsslrequest}") + machine.succeed("ls /tmp/certificate-key.pem") ''; - }; - }; - - testScript = - let - cfsslrequest = with pkgs; writeScript "cfsslrequest" '' - curl -f -X POST -H "Content-Type: application/json" -d @${csr} \ - http://localhost:8888/api/v1/cfssl/newkey | ${cfssl}/bin/cfssljson /tmp/certificate - ''; - csr = pkgs.writeText "csr.json" (builtins.toJSON { - CN = "www.example.com"; - hosts = [ "example.com" "www.example.com" ]; - key = { - algo = "rsa"; - size = 2048; - }; - names = [ - { - C = "US"; - L = "San Francisco"; - O = "Example Company, LLC"; - OU = "Operations"; - ST = "California"; - } - ]; - }); - in - '' - machine.wait_for_unit("cfssl.service") - machine.wait_until_succeeds("${cfsslrequest}") - machine.succeed("ls /tmp/certificate-key.pem") - ''; -}) + } +) diff --git a/nixos/tests/cgit.nix b/nixos/tests/cgit.nix index 073b141b14e73..fce3dc16b854e 100644 --- a/nixos/tests/cgit.nix +++ b/nixos/tests/cgit.nix @@ -1,103 +1,113 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - robotsTxt = pkgs.writeText "cgit-robots.txt" '' - User-agent: * - Disallow: / - ''; -in { - name = "cgit"; - meta = with pkgs.lib.maintainers; { - maintainers = [ schnusch ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + robotsTxt = pkgs.writeText "cgit-robots.txt" '' + User-agent: * + Disallow: / + ''; + in + { + name = "cgit"; + meta = with pkgs.lib.maintainers; { + maintainers = [ schnusch ]; + }; - nodes = { - server = { ... }: { - services.cgit."localhost" = { - enable = true; - package = pkgs.cgit.overrideAttrs ({ postInstall, ... }: { - postInstall = '' - ${postInstall} - cp ${robotsTxt} "$out/cgit/robots.txt" - ''; - }); - nginx.location = "/(c)git/"; - repos = { - some-repo = { - path = "/tmp/git/some-repo"; - desc = "some-repo description"; + nodes = { + server = + { ... }: + { + services.cgit."localhost" = { + enable = true; + package = pkgs.cgit.overrideAttrs ( + { postInstall, ... }: + { + postInstall = '' + ${postInstall} + cp ${robotsTxt} "$out/cgit/robots.txt" + ''; + } + ); + nginx.location = "/(c)git/"; + repos = { + some-repo = { + path = "/tmp/git/some-repo"; + desc = "some-repo description"; + }; + }; + settings = { + readme = [ + ":README.md" + ":date.txt" + ]; + }; }; - }; - settings = { - readme = [ - ":README.md" - ":date.txt" - ]; - }; - }; - environment.systemPackages = [ pkgs.git ]; + environment.systemPackages = [ pkgs.git ]; + }; }; - }; - testScript = { nodes, ... }: '' - start_all() + testScript = + { nodes, ... }: + '' + start_all() - server.wait_for_unit("nginx.service") - server.wait_for_unit("network.target") - server.wait_for_open_port(80) + server.wait_for_unit("nginx.service") + server.wait_for_unit("network.target") + server.wait_for_open_port(80) - server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css") + server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css") - server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}") + server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}") - server.succeed( - "curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'" - ) + server.succeed( + "curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'" + ) - server.fail("curl -fsS http://localhost/robots.txt") + server.fail("curl -fsS http://localhost/robots.txt") - server.succeed("sudo -u cgit ${pkgs.writeShellScript "setup-cgit-test-repo" '' - set -e - git init --bare -b master /tmp/git/some-repo - git init -b master reference - cd reference - git remote add origin /tmp/git/some-repo - { echo -n "cgit NixOS Test at "; date; } > date.txt - git add date.txt - git -c user.name=test -c user.email=test@localhost commit -m 'add date' - git push -u origin master - ''}") + server.succeed("sudo -u cgit ${pkgs.writeShellScript "setup-cgit-test-repo" '' + set -e + git init --bare -b master /tmp/git/some-repo + git init -b master reference + cd reference + git remote add origin /tmp/git/some-repo + { echo -n "cgit NixOS Test at "; date; } > date.txt + git add date.txt + git -c user.name=test -c user.email=test@localhost commit -m 'add date' + git push -u origin master + ''}") - # test web download - server.succeed( - "curl -fsS 'http://localhost/%28c%29git/some-repo/plain/date.txt?id=master' | diff -u reference/date.txt -" - ) + # test web download + server.succeed( + "curl -fsS 'http://localhost/%28c%29git/some-repo/plain/date.txt?id=master' | diff -u reference/date.txt -" + ) - # test http clone - server.succeed( - "git clone http://localhost/%28c%29git/some-repo && diff -u reference/date.txt some-repo/date.txt" - ) + # test http clone + server.succeed( + "git clone http://localhost/%28c%29git/some-repo && diff -u reference/date.txt some-repo/date.txt" + ) - # test list settings by greping for the fallback readme - server.succeed( - "curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'" - ) + # test list settings by greping for the fallback readme + server.succeed( + "curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'" + ) - # add real readme - server.succeed("sudo -u cgit ${pkgs.writeShellScript "cgit-commit-readme" '' - set -e - echo '# cgit NixOS test README' > reference/README.md - git -C reference add README.md - git -C reference -c user.name=test -c user.email=test@localhost commit -m 'add readme' - git -C reference push - ''}") + # add real readme + server.succeed("sudo -u cgit ${pkgs.writeShellScript "cgit-commit-readme" '' + set -e + echo '# cgit NixOS test README' > reference/README.md + git -C reference add README.md + git -C reference -c user.name=test -c user.email=test@localhost commit -m 'add readme' + git -C reference push + ''}") - # test list settings by greping for the real readme - server.succeed( - "curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F '# cgit NixOS test README'" - ) - server.fail( - "curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'" - ) - ''; -}) + # test list settings by greping for the real readme + server.succeed( + "curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F '# cgit NixOS test README'" + ) + server.fail( + "curl -fsS 'http://localhost/%28c%29git/some-repo/about/' | grep -F 'cgit NixOS Test at'" + ) + ''; + } +) diff --git a/nixos/tests/charliecloud.nix b/nixos/tests/charliecloud.nix index 28c3e2f2dbf73..957ec6ea4374e 100644 --- a/nixos/tests/charliecloud.nix +++ b/nixos/tests/charliecloud.nix @@ -1,43 +1,49 @@ # This test checks charliecloud image construction and run -import ./make-test-python.nix ({ pkgs, ...} : let +import ./make-test-python.nix ( + { pkgs, ... }: + let - dockerfile = pkgs.writeText "Dockerfile" '' - FROM nix - RUN mkdir /home /tmp - RUN touch /etc/passwd /etc/group - CMD ["true"] - ''; + dockerfile = pkgs.writeText "Dockerfile" '' + FROM nix + RUN mkdir /home /tmp + RUN touch /etc/passwd /etc/group + CMD ["true"] + ''; -in { - name = "charliecloud"; - meta = with pkgs.lib.maintainers; { - maintainers = [ bzizou ]; - }; + in + { + name = "charliecloud"; + meta = with pkgs.lib.maintainers; { + maintainers = [ bzizou ]; + }; - nodes = { - host = { ... }: { - environment.systemPackages = [ pkgs.charliecloud ]; - virtualisation.docker.enable = true; - users.users.alice = { - isNormalUser = true; - extraGroups = [ "docker" ]; - }; + nodes = { + host = + { ... }: + { + environment.systemPackages = [ pkgs.charliecloud ]; + virtualisation.docker.enable = true; + users.users.alice = { + isNormalUser = true; + extraGroups = [ "docker" ]; + }; + }; }; - }; - testScript = '' - host.start() - host.wait_for_unit("docker.service") - host.succeed( - 'su - alice -c "docker load --input=${pkgs.dockerTools.examples.nix}"' - ) - host.succeed( - "cp ${dockerfile} /home/alice/Dockerfile" - ) - host.succeed('su - alice -c "ch-build -t hello ."') - host.succeed('su - alice -c "ch-builder2tar hello /var/tmp"') - host.succeed('su - alice -c "ch-tar2dir /var/tmp/hello.tar.gz /var/tmp"') - host.succeed('su - alice -c "ch-run /var/tmp/hello -- echo Running_From_Container_OK"') - ''; -}) + testScript = '' + host.start() + host.wait_for_unit("docker.service") + host.succeed( + 'su - alice -c "docker load --input=${pkgs.dockerTools.examples.nix}"' + ) + host.succeed( + "cp ${dockerfile} /home/alice/Dockerfile" + ) + host.succeed('su - alice -c "ch-build -t hello ."') + host.succeed('su - alice -c "ch-builder2tar hello /var/tmp"') + host.succeed('su - alice -c "ch-tar2dir /var/tmp/hello.tar.gz /var/tmp"') + host.succeed('su - alice -c "ch-run /var/tmp/hello -- echo Running_From_Container_OK"') + ''; + } +) diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix index cdfdcc9bcdd2d..f7192ca228d02 100644 --- a/nixos/tests/chromium.nix +++ b/nixos/tests/chromium.nix @@ -1,15 +1,17 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -, channelMap ? { # Maps "channels" to packages - stable = pkgs.chromium; - beta = pkgs.chromiumBeta; - dev = pkgs.chromiumDev; - ungoogled = pkgs.ungoogled-chromium; +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + channelMap ? { + # Maps "channels" to packages + stable = pkgs.chromium; + beta = pkgs.chromiumBeta; + dev = pkgs.chromiumDev; + ungoogled = pkgs.ungoogled-chromium; chrome-stable = pkgs.google-chrome; - chrome-beta = pkgs.google-chrome-beta; - chrome-dev = pkgs.google-chrome-dev; - } + chrome-beta = pkgs.google-chrome-beta; + chrome-dev = pkgs.google-chrome-dev; + }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -26,244 +28,264 @@ let Chromium startup notifier - + ''; in -mapAttrs (channel: chromiumPkg: makeTest { - name = "chromium-${channel}"; - meta = { - maintainers = with maintainers; [ aszlig primeos ]; - } // optionalAttrs (chromiumPkg.meta ? timeout) { - # https://github.com/NixOS/hydra/issues/591#issuecomment-435125621 - # Note: optionalAttrs is used since meta.timeout is not set for Google Chrome - inherit (chromiumPkg.meta) timeout; - }; - - enableOCR = true; - - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ./common/x11.nix ]; - virtualisation.memorySize = 2047; - test-support.displayManager.auto.user = user; - environment = { - systemPackages = [ chromiumPkg ]; - variables."XAUTHORITY" = "/home/alice/.Xauthority"; - }; - }; - - testScript = let - xdo = name: text: let - xdoScript = pkgs.writeText "${name}.xdo" text; - in "${pkgs.xdotool}/bin/xdotool ${xdoScript}"; - in '' - import shlex - import re - from contextlib import contextmanager - - - major_version = "${versions.major (getVersion chromiumPkg.name)}" - - - # Run as user alice - def ru(cmd): - return "su - ${user} -c " + shlex.quote(cmd) - - - def launch_browser(): - """Launches the web browser with the correct options.""" - # Determine the name of the binary: - pname = "${getName chromiumPkg.name}" - if pname.find("chromium") != -1: - binary = "chromium" # Same name for all channels and ungoogled-chromium - elif pname == "google-chrome": - binary = "google-chrome-stable" - elif pname == "google-chrome-dev": - binary = "google-chrome-unstable" - else: # For google-chrome-beta and as fallback: - binary = pname - # Add optional CLI options: - options = [] - if major_version > "95" and not pname.startswith("google-chrome"): - # Workaround to avoid a GPU crash: - options.append("--use-gl=swiftshader") - # Launch the process: - options.append("file://${startupHTML}") - machine.succeed(ru(f'ulimit -c unlimited; {binary} {shlex.join(options)} >&2 & disown')) - if binary.startswith("google-chrome"): - # Need to click away the first window: - machine.wait_for_text("Make Google Chrome the default browser") - machine.screenshot("google_chrome_default_browser_prompt") - machine.send_key("ret") - - - def create_new_win(): - """Creates a new Chromium window.""" - with machine.nested("Creating a new Chromium window"): +mapAttrs ( + channel: chromiumPkg: + makeTest { + name = "chromium-${channel}"; + meta = + { + maintainers = with maintainers; [ + aszlig + primeos + ]; + } + // optionalAttrs (chromiumPkg.meta ? timeout) { + # https://github.com/NixOS/hydra/issues/591#issuecomment-435125621 + # Note: optionalAttrs is used since meta.timeout is not set for Google Chrome + inherit (chromiumPkg.meta) timeout; + }; + + enableOCR = true; + + nodes.machine = + { ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + virtualisation.memorySize = 2047; + test-support.displayManager.auto.user = user; + environment = { + systemPackages = [ chromiumPkg ]; + variables."XAUTHORITY" = "/home/alice/.Xauthority"; + }; + }; + + testScript = + let + xdo = + name: text: + let + xdoScript = pkgs.writeText "${name}.xdo" text; + in + "${pkgs.xdotool}/bin/xdotool ${xdoScript}"; + in + '' + import shlex + import re + from contextlib import contextmanager + + + major_version = "${versions.major (getVersion chromiumPkg.name)}" + + + # Run as user alice + def ru(cmd): + return "su - ${user} -c " + shlex.quote(cmd) + + + def launch_browser(): + """Launches the web browser with the correct options.""" + # Determine the name of the binary: + pname = "${getName chromiumPkg.name}" + if pname.find("chromium") != -1: + binary = "chromium" # Same name for all channels and ungoogled-chromium + elif pname == "google-chrome": + binary = "google-chrome-stable" + elif pname == "google-chrome-dev": + binary = "google-chrome-unstable" + else: # For google-chrome-beta and as fallback: + binary = pname + # Add optional CLI options: + options = [] + if major_version > "95" and not pname.startswith("google-chrome"): + # Workaround to avoid a GPU crash: + options.append("--use-gl=swiftshader") + # Launch the process: + options.append("file://${startupHTML}") + machine.succeed(ru(f'ulimit -c unlimited; {binary} {shlex.join(options)} >&2 & disown')) + if binary.startswith("google-chrome"): + # Need to click away the first window: + machine.wait_for_text("Make Google Chrome the default browser") + machine.screenshot("google_chrome_default_browser_prompt") + machine.send_key("ret") + + + def create_new_win(): + """Creates a new Chromium window.""" + with machine.nested("Creating a new Chromium window"): + machine.wait_until_succeeds( + ru( + "${xdo "create_new_win-select_main_window" '' + search --onlyvisible --name "startup done" + windowfocus --sync + windowactivate --sync + ''}" + ) + ) + machine.send_key("ctrl-n") + # Wait until the new window appears: + machine.wait_until_succeeds( + ru( + "${xdo "create_new_win-wait_for_window" '' + search --onlyvisible --name "New Tab" + windowfocus --sync + windowactivate --sync + ''}" + ) + ) + + + def close_new_tab_win(): + """Closes the Chromium window with the title "New Tab".""" machine.wait_until_succeeds( ru( - "${xdo "create_new_win-select_main_window" '' - search --onlyvisible --name "startup done" + "${xdo "close_new_tab_win-select_main_window" '' + search --onlyvisible --name "New Tab" windowfocus --sync windowactivate --sync ''}" ) ) - machine.send_key("ctrl-n") - # Wait until the new window appears: - machine.wait_until_succeeds( + machine.send_key("ctrl-w") + # Wait until the closed window disappears: + machine.wait_until_fails( ru( - "${xdo "create_new_win-wait_for_window" '' + "${xdo "close_new_tab_win-wait_for_close" '' search --onlyvisible --name "New Tab" - windowfocus --sync - windowactivate --sync ''}" ) ) - def close_new_tab_win(): - """Closes the Chromium window with the title "New Tab".""" + @contextmanager + def test_new_win(description, url, window_name): + create_new_win() + machine.wait_for_window("New Tab") + machine.send_chars(f"{url}\n") + machine.wait_for_window(window_name) + machine.screenshot(description) + machine.succeed( + ru( + "${xdo "copy-all" '' + key --delay 1000 Ctrl+a Ctrl+c + ''}" + ) + ) + clipboard = machine.succeed( + ru("${pkgs.xclip}/bin/xclip -o") + ) + if url == "chrome://gpu": + clipboard = "" # TODO: We cannot copy the text via Ctrl+a + print(f"{description} window content:\n{clipboard}") + with machine.nested(description): + yield clipboard + # Close the newly created window: + machine.send_key("ctrl-w") + + + machine.wait_for_x() + + launch_browser() + + machine.wait_for_text("startup done") machine.wait_until_succeeds( ru( - "${xdo "close_new_tab_win-select_main_window" '' - search --onlyvisible --name "New Tab" + "${xdo "check-startup" '' + search --sync --onlyvisible --name "startup done" + # close first start help popup + key -delay 1000 Escape windowfocus --sync windowactivate --sync ''}" ) ) - machine.send_key("ctrl-w") - # Wait until the closed window disappears: - machine.wait_until_fails( - ru( - "${xdo "close_new_tab_win-wait_for_close" '' - search --onlyvisible --name "New Tab" - ''}" - ) - ) - - @contextmanager - def test_new_win(description, url, window_name): create_new_win() - machine.wait_for_window("New Tab") - machine.send_chars(f"{url}\n") - machine.wait_for_window(window_name) - machine.screenshot(description) - machine.succeed( - ru( - "${xdo "copy-all" '' - key --delay 1000 Ctrl+a Ctrl+c - ''}" - ) - ) - clipboard = machine.succeed( - ru("${pkgs.xclip}/bin/xclip -o") - ) - if url == "chrome://gpu": - clipboard = "" # TODO: We cannot copy the text via Ctrl+a - print(f"{description} window content:\n{clipboard}") - with machine.nested(description): - yield clipboard - # Close the newly created window: - machine.send_key("ctrl-w") - - - machine.wait_for_x() - - launch_browser() - - machine.wait_for_text("startup done") - machine.wait_until_succeeds( - ru( - "${xdo "check-startup" '' - search --sync --onlyvisible --name "startup done" - # close first start help popup - key -delay 1000 Escape - windowfocus --sync - windowactivate --sync - ''}" - ) - ) - - create_new_win() - # Optional: Wait for the new tab page to fully load before taking the screenshot: - machine.wait_for_text("Web Store") - machine.screenshot("empty_windows") - close_new_tab_win() - - machine.screenshot("startup_done") - - with test_new_win("sandbox_info", "chrome://sandbox", "Sandbox Status") as clipboard: - filters = [ - "layer 1 sandbox.*namespace", - "pid namespaces.*yes", - "network namespaces.*yes", - "seccomp.*sandbox.*yes", - "you are adequately sandboxed", - ] - if not all( - re.search(filter, clipboard, flags=re.DOTALL | re.IGNORECASE) - for filter in filters - ): - assert False, f"sandbox not working properly: {clipboard}" - - machine.sleep(1) - machine.succeed( - ru( - "${xdo "find-window-after-copy" '' - search --onlyvisible --name "Sandbox Status" - ''}" + # Optional: Wait for the new tab page to fully load before taking the screenshot: + machine.wait_for_text("Web Store") + machine.screenshot("empty_windows") + close_new_tab_win() + + machine.screenshot("startup_done") + + with test_new_win("sandbox_info", "chrome://sandbox", "Sandbox Status") as clipboard: + filters = [ + "layer 1 sandbox.*namespace", + "pid namespaces.*yes", + "network namespaces.*yes", + "seccomp.*sandbox.*yes", + "you are adequately sandboxed", + ] + if not all( + re.search(filter, clipboard, flags=re.DOTALL | re.IGNORECASE) + for filter in filters + ): + assert False, f"sandbox not working properly: {clipboard}" + + machine.sleep(1) + machine.succeed( + ru( + "${xdo "find-window-after-copy" '' + search --onlyvisible --name "Sandbox Status" + ''}" + ) ) - ) - clipboard = machine.succeed( - ru( - "echo void | ${pkgs.xclip}/bin/xclip -i >&2" + clipboard = machine.succeed( + ru( + "echo void | ${pkgs.xclip}/bin/xclip -i >&2" + ) ) - ) - machine.succeed( - ru( - "${xdo "copy-sandbox-info" '' - key --delay 1000 Ctrl+a Ctrl+c - ''}" + machine.succeed( + ru( + "${xdo "copy-sandbox-info" '' + key --delay 1000 Ctrl+a Ctrl+c + ''}" + ) ) - ) - clipboard = machine.succeed( - ru("${pkgs.xclip}/bin/xclip -o") - ) - if not all( - re.search(filter, clipboard, flags=re.DOTALL | re.IGNORECASE) - for filter in filters - ): - assert False, f"copying twice in a row does not work properly: {clipboard}" + clipboard = machine.succeed( + ru("${pkgs.xclip}/bin/xclip -o") + ) + if not all( + re.search(filter, clipboard, flags=re.DOTALL | re.IGNORECASE) + for filter in filters + ): + assert False, f"copying twice in a row does not work properly: {clipboard}" - machine.screenshot("after_copy_from_chromium") + machine.screenshot("after_copy_from_chromium") - with test_new_win("gpu_info", "chrome://gpu", "GPU Internals"): - # To check the text rendering (catches regressions like #131074): - machine.wait_for_text("Graphics Feature Status") - # TODO: Fix copying all of the text to the clipboard + with test_new_win("gpu_info", "chrome://gpu", "GPU Internals"): + # To check the text rendering (catches regressions like #131074): + machine.wait_for_text("Graphics Feature Status") + # TODO: Fix copying all of the text to the clipboard - with test_new_win("version_info", "chrome://version", "About Version") as clipboard: - filters = [ - r"${chromiumPkg.version} \(Official Build", - ] - if not all( - re.search(filter, clipboard) for filter in filters - ): - assert False, "Version info not correct." + with test_new_win("version_info", "chrome://version", "About Version") as clipboard: + filters = [ + r"${chromiumPkg.version} \(Official Build", + ] + if not all( + re.search(filter, clipboard) for filter in filters + ): + assert False, "Version info not correct." - machine.shutdown() - ''; -}) channelMap + machine.shutdown() + ''; + } +) channelMap diff --git a/nixos/tests/chrony-ptp.nix b/nixos/tests/chrony-ptp.nix index b2634a8cfc5c6..f4e23e61b0a3c 100644 --- a/nixos/tests/chrony-ptp.nix +++ b/nixos/tests/chrony-ptp.nix @@ -1,28 +1,32 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "chrony-ptp"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "chrony-ptp"; - meta = { - maintainers = with lib.maintainers; [ gkleen ]; - }; + meta = { + maintainers = with lib.maintainers; [ gkleen ]; + }; - nodes = { - qemuGuest = { lib, ... }: { - boot.kernelModules = [ "ptp_kvm" ]; + nodes = { + qemuGuest = + { lib, ... }: + { + boot.kernelModules = [ "ptp_kvm" ]; - services.chrony = { - enable = true; - extraConfig = '' - refclock PHC /dev/ptp_kvm poll 2 dpoll -2 offset 0 stratum 3 - ''; - }; + services.chrony = { + enable = true; + extraConfig = '' + refclock PHC /dev/ptp_kvm poll 2 dpoll -2 offset 0 stratum 3 + ''; + }; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - qemuGuest.wait_for_unit('multi-user.target') - qemuGuest.succeed('systemctl is-active chronyd.service') - ''; -}) + qemuGuest.wait_for_unit('multi-user.target') + qemuGuest.succeed('systemctl is-active chronyd.service') + ''; + } +) diff --git a/nixos/tests/chrony.nix b/nixos/tests/chrony.nix index 9582ab14bb8f1..e3999596fd225 100644 --- a/nixos/tests/chrony.nix +++ b/nixos/tests/chrony.nix @@ -1,28 +1,30 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "chrony"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "chrony"; - meta = { - maintainers = with lib.maintainers; [ fpletz ]; - }; + meta = { + maintainers = with lib.maintainers; [ fpletz ]; + }; - nodes = { - machine = { - services.chrony.enable = true; + nodes = { + machine = { + services.chrony.enable = true; - specialisation.hardened.configuration = { - services.chrony.enableMemoryLocking = true; - environment.memoryAllocator.provider = "graphene-hardened"; + specialisation.hardened.configuration = { + services.chrony.enableMemoryLocking = true; + environment.memoryAllocator.provider = "graphene-hardened"; + }; }; }; - }; - testScript = '' - machine.start() - machine.wait_for_unit('multi-user.target') - machine.succeed('systemctl is-active chronyd.service') - machine.succeed('/run/booted-system/specialisation/hardened/bin/switch-to-configuration test') - machine.succeed('systemctl restart chronyd.service') - machine.wait_for_unit('chronyd.service') - ''; -}) + testScript = '' + machine.start() + machine.wait_for_unit('multi-user.target') + machine.succeed('systemctl is-active chronyd.service') + machine.succeed('/run/booted-system/specialisation/hardened/bin/switch-to-configuration test') + machine.succeed('systemctl restart chronyd.service') + machine.wait_for_unit('chronyd.service') + ''; + } +) diff --git a/nixos/tests/cinnamon-wayland.nix b/nixos/tests/cinnamon-wayland.nix index cba0c9f60e8db..1b472f863099f 100644 --- a/nixos/tests/cinnamon-wayland.nix +++ b/nixos/tests/cinnamon-wayland.nix @@ -1,77 +1,84 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "cinnamon-wayland"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "cinnamon-wayland"; - meta.maintainers = lib.teams.cinnamon.members; + meta.maintainers = lib.teams.cinnamon.members; - nodes.machine = { nodes, ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.xserver.desktopManager.cinnamon.enable = true; - services.displayManager = { - autoLogin.enable = true; - autoLogin.user = nodes.machine.users.users.alice.name; - defaultSession = "cinnamon-wayland"; - }; + nodes.machine = + { nodes, ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.desktopManager.cinnamon.enable = true; + services.displayManager = { + autoLogin.enable = true; + autoLogin.user = nodes.machine.users.users.alice.name; + defaultSession = "cinnamon-wayland"; + }; - # For the sessionPath subtest. - services.xserver.desktopManager.cinnamon.sessionPath = [ pkgs.gpaste ]; - }; + # For the sessionPath subtest. + services.xserver.desktopManager.cinnamon.sessionPath = [ pkgs.gpaste ]; + }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; - su = command: "su - ${user.name} -c '${env} ${command}'"; + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; + su = command: "su - ${user.name} -c '${env} ${command}'"; - # Call javascript in cinnamon (the shell), returns a tuple (success, output), - # where `success` is true if the dbus call was successful and `output` is what - # the javascript evaluates to. - eval = name: su "gdbus call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval ${name}"; - in - '' - machine.wait_for_unit("display-manager.service") + # Call javascript in cinnamon (the shell), returns a tuple (success, output), + # where `success` is true if the dbus call was successful and `output` is what + # the javascript evaluates to. + eval = + name: su "gdbus call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval ${name}"; + in + '' + machine.wait_for_unit("display-manager.service") - with subtest("Wait for wayland server"): - machine.wait_for_file("/run/user/${toString user.uid}/wayland-0") + with subtest("Wait for wayland server"): + machine.wait_for_file("/run/user/${toString user.uid}/wayland-0") - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - with subtest("Wait for the Cinnamon shell"): - # Correct output should be (true, '2') - # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187 - machine.wait_until_succeeds("${eval "Main.runState"} | grep -q 'true,..2'") + with subtest("Wait for the Cinnamon shell"): + # Correct output should be (true, '2') + # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187 + machine.wait_until_succeeds("${eval "Main.runState"} | grep -q 'true,..2'") - with subtest("Check if Cinnamon components actually start"): - for i in ["csd-media-keys", "xapp-sn-watcher", "nemo-desktop"]: - machine.wait_until_succeeds(f"pgrep -f {i}") - machine.wait_until_succeeds("journalctl -b --grep 'Loaded applet menu@cinnamon.org'") - machine.wait_until_succeeds("journalctl -b --grep 'calendar@cinnamon.org: Calendar events supported'") + with subtest("Check if Cinnamon components actually start"): + for i in ["csd-media-keys", "xapp-sn-watcher", "nemo-desktop"]: + machine.wait_until_succeeds(f"pgrep -f {i}") + machine.wait_until_succeeds("journalctl -b --grep 'Loaded applet menu@cinnamon.org'") + machine.wait_until_succeeds("journalctl -b --grep 'calendar@cinnamon.org: Calendar events supported'") - with subtest("Check if sessionPath option actually works"): - machine.succeed("${eval "imports.gi.GIRepository.Repository.get_search_path\\(\\)"} | grep gpaste") + with subtest("Check if sessionPath option actually works"): + machine.succeed("${eval "imports.gi.GIRepository.Repository.get_search_path\\(\\)"} | grep gpaste") - with subtest("Open Cinnamon Settings"): - machine.succeed("${su "cinnamon-settings themes >&2 &"}") - machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'cinnamon-settings'") - machine.wait_for_text('(Style|Appearance|Color)') - machine.sleep(2) - machine.screenshot("cinnamon_settings") + with subtest("Open Cinnamon Settings"): + machine.succeed("${su "cinnamon-settings themes >&2 &"}") + machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'cinnamon-settings'") + machine.wait_for_text('(Style|Appearance|Color)') + machine.sleep(2) + machine.screenshot("cinnamon_settings") - with subtest("Check if screensaver works"): - # This is not supported at the moment. - # https://trello.com/b/HHs01Pab/cinnamon-wayland - machine.execute("${su "cinnamon-screensaver-command -l >&2 &"}") - machine.wait_until_succeeds("journalctl -b --grep 'cinnamon-screensaver is disabled in wayland sessions'") + with subtest("Check if screensaver works"): + # This is not supported at the moment. + # https://trello.com/b/HHs01Pab/cinnamon-wayland + machine.execute("${su "cinnamon-screensaver-command -l >&2 &"}") + machine.wait_until_succeeds("journalctl -b --grep 'cinnamon-screensaver is disabled in wayland sessions'") - with subtest("Open GNOME Terminal"): - machine.succeed("${su "dbus-launch gnome-terminal"}") - machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'gnome-terminal'") - machine.sleep(2) + with subtest("Open GNOME Terminal"): + machine.succeed("${su "dbus-launch gnome-terminal"}") + machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'gnome-terminal'") + machine.sleep(2) - with subtest("Check if Cinnamon has ever coredumped"): - machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'") - ''; -}) + with subtest("Check if Cinnamon has ever coredumped"): + machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'") + ''; + } +) diff --git a/nixos/tests/cinnamon.nix b/nixos/tests/cinnamon.nix index 57300c3e4b16b..e52146568ae59 100644 --- a/nixos/tests/cinnamon.nix +++ b/nixos/tests/cinnamon.nix @@ -1,92 +1,99 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "cinnamon"; - - meta.maintainers = lib.teams.cinnamon.members; - - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.xserver.desktopManager.cinnamon.enable = true; - - # We don't ship gnome-text-editor in Cinnamon module, we add this line mainly - # to catch eval issues related to this option. - environment.cinnamon.excludePackages = [ pkgs.gnome-text-editor ]; - - # For the sessionPath subtest. - services.xserver.desktopManager.cinnamon.sessionPath = [ pkgs.gpaste ]; - }; - - enableOCR = true; - - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0"; - su = command: "su - ${user.name} -c '${env} ${command}'"; - - # Call javascript in cinnamon (the shell), returns a tuple (success, output), - # where `success` is true if the dbus call was successful and `output` is what - # the javascript evaluates to. - eval = name: su "gdbus call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval ${name}"; - in - '' - machine.wait_for_unit("display-manager.service") - - with subtest("Test if we can see username in slick-greeter"): - machine.wait_for_text("${user.description}") - machine.screenshot("slick_greeter_lightdm") - - with subtest("Login with slick-greeter"): - machine.send_chars("${user.password}\n") - machine.wait_for_x() - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") - - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - - with subtest("Wait for the Cinnamon shell"): - # Correct output should be (true, '2') - # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187 - machine.wait_until_succeeds("${eval "Main.runState"} | grep -q 'true,..2'") - - with subtest("Check if Cinnamon components actually start"): - for i in ["csd-media-keys", "cinnamon-killer-daemon", "xapp-sn-watcher", "nemo-desktop"]: - machine.wait_until_succeeds(f"pgrep -f {i}") - machine.wait_until_succeeds("journalctl -b --grep 'Loaded applet menu@cinnamon.org'") - machine.wait_until_succeeds("journalctl -b --grep 'calendar@cinnamon.org: Calendar events supported'") - - with subtest("Check if sessionPath option actually works"): - machine.succeed("${eval "imports.gi.GIRepository.Repository.get_search_path\\(\\)"} | grep gpaste") - - with subtest("Open Cinnamon Settings"): - machine.succeed("${su "cinnamon-settings themes >&2 &"}") - machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'cinnamon-settings'") - machine.wait_for_text('(Style|Appearance|Color)') - machine.sleep(2) - machine.screenshot("cinnamon_settings") - - with subtest("Lock the screen"): - machine.succeed("${su "cinnamon-screensaver-command -l >&2 &"}") - machine.wait_until_succeeds("${su "cinnamon-screensaver-command -q"} | grep 'The screensaver is active'") - machine.sleep(2) - machine.screenshot("cinnamon_screensaver") - machine.send_chars("${user.password}\n", delay=0.2) - machine.wait_until_succeeds("${su "cinnamon-screensaver-command -q"} | grep 'The screensaver is inactive'") - machine.sleep(2) - - with subtest("Open GNOME Terminal"): - machine.succeed("${su "gnome-terminal"}") - machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'gnome-terminal'") - machine.sleep(2) - - with subtest("Open virtual keyboard"): - machine.succeed("${su "dbus-send --print-reply --dest=org.Cinnamon /org/Cinnamon org.Cinnamon.ToggleKeyboard"}") - machine.wait_for_text('(Ctrl|Alt)') - machine.sleep(2) - machine.screenshot("cinnamon_virtual_keyboard") - - with subtest("Check if Cinnamon has ever coredumped"): - machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'") - ''; -}) +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "cinnamon"; + + meta.maintainers = lib.teams.cinnamon.members; + + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.desktopManager.cinnamon.enable = true; + + # We don't ship gnome-text-editor in Cinnamon module, we add this line mainly + # to catch eval issues related to this option. + environment.cinnamon.excludePackages = [ pkgs.gnome-text-editor ]; + + # For the sessionPath subtest. + services.xserver.desktopManager.cinnamon.sessionPath = [ pkgs.gpaste ]; + }; + + enableOCR = true; + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0"; + su = command: "su - ${user.name} -c '${env} ${command}'"; + + # Call javascript in cinnamon (the shell), returns a tuple (success, output), + # where `success` is true if the dbus call was successful and `output` is what + # the javascript evaluates to. + eval = + name: su "gdbus call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval ${name}"; + in + '' + machine.wait_for_unit("display-manager.service") + + with subtest("Test if we can see username in slick-greeter"): + machine.wait_for_text("${user.description}") + machine.screenshot("slick_greeter_lightdm") + + with subtest("Login with slick-greeter"): + machine.send_chars("${user.password}\n") + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + + with subtest("Wait for the Cinnamon shell"): + # Correct output should be (true, '2') + # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187 + machine.wait_until_succeeds("${eval "Main.runState"} | grep -q 'true,..2'") + + with subtest("Check if Cinnamon components actually start"): + for i in ["csd-media-keys", "cinnamon-killer-daemon", "xapp-sn-watcher", "nemo-desktop"]: + machine.wait_until_succeeds(f"pgrep -f {i}") + machine.wait_until_succeeds("journalctl -b --grep 'Loaded applet menu@cinnamon.org'") + machine.wait_until_succeeds("journalctl -b --grep 'calendar@cinnamon.org: Calendar events supported'") + + with subtest("Check if sessionPath option actually works"): + machine.succeed("${eval "imports.gi.GIRepository.Repository.get_search_path\\(\\)"} | grep gpaste") + + with subtest("Open Cinnamon Settings"): + machine.succeed("${su "cinnamon-settings themes >&2 &"}") + machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'cinnamon-settings'") + machine.wait_for_text('(Style|Appearance|Color)') + machine.sleep(2) + machine.screenshot("cinnamon_settings") + + with subtest("Lock the screen"): + machine.succeed("${su "cinnamon-screensaver-command -l >&2 &"}") + machine.wait_until_succeeds("${su "cinnamon-screensaver-command -q"} | grep 'The screensaver is active'") + machine.sleep(2) + machine.screenshot("cinnamon_screensaver") + machine.send_chars("${user.password}\n", delay=0.2) + machine.wait_until_succeeds("${su "cinnamon-screensaver-command -q"} | grep 'The screensaver is inactive'") + machine.sleep(2) + + with subtest("Open GNOME Terminal"): + machine.succeed("${su "gnome-terminal"}") + machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'gnome-terminal'") + machine.sleep(2) + + with subtest("Open virtual keyboard"): + machine.succeed("${su "dbus-send --print-reply --dest=org.Cinnamon /org/Cinnamon org.Cinnamon.ToggleKeyboard"}") + machine.wait_for_text('(Ctrl|Alt)') + machine.sleep(2) + machine.screenshot("cinnamon_virtual_keyboard") + + with subtest("Check if Cinnamon has ever coredumped"): + machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'") + ''; + } +) diff --git a/nixos/tests/cjdns.nix b/nixos/tests/cjdns.nix index dc5f371c74d83..7fdb30a0abe62 100644 --- a/nixos/tests/cjdns.nix +++ b/nixos/tests/cjdns.nix @@ -5,7 +5,8 @@ let basicConfig = { ... }: - { services.cjdns.enable = true; + { + services.cjdns.enable = true; # Turning off DHCP isn't very realistic but makes # the sequence of address assignment less stochastic. @@ -17,16 +18,20 @@ let in -import ./make-test-python.nix ({ pkgs, ...} : { - name = "cjdns"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ehmry ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "cjdns"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ehmry ]; + }; - nodes = { # Alice finds peers over over ETHInterface. + nodes = { + # Alice finds peers over over ETHInterface. alice = { ... }: - { imports = [ basicConfig ]; + { + imports = [ basicConfig ]; services.cjdns.ETHInterface.bind = "eth1"; @@ -39,28 +44,33 @@ import ./make-test-python.nix ({ pkgs, ...} : { bob = { ... }: - { imports = [ basicConfig ]; + { + imports = [ basicConfig ]; networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.2"; prefixLength = 24; } + { + address = "192.168.0.2"; + prefixLength = 24; + } ]; - services.cjdns = - { UDPInterface = - { bind = "0.0.0.0:1024"; - connectTo."192.168.0.1:1024" = - { password = carolPassword; - publicKey = carolPubKey; - }; - }; + services.cjdns = { + UDPInterface = { + bind = "0.0.0.0:1024"; + connectTo."192.168.0.1:1024" = { + password = carolPassword; + publicKey = carolPubKey; + }; }; + }; }; # Carol listens on ETHInterface and UDPInterface, # but knows neither Alice or Bob. carol = { ... }: - { imports = [ basicConfig ]; + { + imports = [ basicConfig ]; environment.etc."cjdns.keys".text = '' CJDNS_PRIVATE_KEY=${carolKey} @@ -68,21 +78,23 @@ import ./make-test-python.nix ({ pkgs, ...} : { ''; networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.1"; prefixLength = 24; } + { + address = "192.168.0.1"; + prefixLength = 24; + } ]; - services.cjdns = - { authorizedPasswords = [ carolPassword ]; - ETHInterface.bind = "eth1"; - UDPInterface.bind = "192.168.0.1:1024"; - }; + services.cjdns = { + authorizedPasswords = [ carolPassword ]; + ETHInterface.bind = "eth1"; + UDPInterface.bind = "192.168.0.1:1024"; + }; networking.firewall.allowedUDPPorts = [ 1024 ]; }; }; - testScript = - '' + testScript = '' import re start_all() @@ -118,4 +130,5 @@ import ./make-test-python.nix ({ pkgs, ...} : { bob.succeed("curl --fail -g http://[{}]".format(alice_ip6)) ''; -}) + } +) diff --git a/nixos/tests/clatd.nix b/nixos/tests/clatd.nix index d0d504851ce4e..d6aff7c095952 100644 --- a/nixos/tests/clatd.nix +++ b/nixos/tests/clatd.nix @@ -26,211 +26,229 @@ # | Route: 192.0.2.0/24 via 100.64.0.1 # +------ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -{ - name = "clatd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hax404 jmbaur ]; - }; - - nodes = { - # The server is configured with static IPv4 addresses. RFC 6052 Section 3.1 - # disallows the mapping of non-global IPv4 addresses like RFC 1918 into the - # Well-Known Prefix 64:ff9b::/96. TAYGA also does not allow the mapping of - # documentation space (RFC 5737). To circumvent this, 100.64.0.2/24 from - # RFC 6589 (Carrier Grade NAT) is used here. - # To reach the IPv4 address pool of the NAT64 gateway, there is a static - # route configured. In normal cases, where the router would also source NAT - # the pool addresses to one IPv4 addresses, this would not be needed. - server = { - virtualisation.vlans = [ - 2 # towards router +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + { + name = "clatd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + hax404 + jmbaur ]; - networking = { - useDHCP = false; - interfaces.eth1 = lib.mkForce {}; - }; - systemd.network = { - enable = true; - networks."vlan1" = { - matchConfig.Name = "eth1"; - address = [ - "100.64.0.2/24" - ]; - routes = [ - { Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; } - ]; - }; - }; }; - # The router is configured with static IPv4 addresses towards the server - # and IPv6 addresses towards the client. DNS64 is exposed towards the - # client so clatd is able to auto-discover the PLAT prefix. For NAT64, the - # Well-Known prefix 64:ff9b::/96 is used. NAT64 is done with TAYGA which - # provides the tun-interface nat64 and does the translation over it. The - # IPv6 packets are sent to this interfaces and received as IPv4 packets and - # vice versa. As TAYGA only translates IPv6 addresses to dedicated IPv4 - # addresses, it needs a pool of IPv4 addresses which must be at least as - # big as the expected amount of clients. In this test, the packets from the - # pool are directly routed towards the client. In normal cases, there would - # be a second source NAT44 to map all clients behind one IPv4 address. - router = { - boot.kernel.sysctl = { - "net.ipv4.conf.all.forwarding" = 1; - "net.ipv6.conf.all.forwarding" = 1; + nodes = { + # The server is configured with static IPv4 addresses. RFC 6052 Section 3.1 + # disallows the mapping of non-global IPv4 addresses like RFC 1918 into the + # Well-Known Prefix 64:ff9b::/96. TAYGA also does not allow the mapping of + # documentation space (RFC 5737). To circumvent this, 100.64.0.2/24 from + # RFC 6589 (Carrier Grade NAT) is used here. + # To reach the IPv4 address pool of the NAT64 gateway, there is a static + # route configured. In normal cases, where the router would also source NAT + # the pool addresses to one IPv4 addresses, this would not be needed. + server = { + virtualisation.vlans = [ + 2 # towards router + ]; + networking = { + useDHCP = false; + interfaces.eth1 = lib.mkForce { }; + }; + systemd.network = { + enable = true; + networks."vlan1" = { + matchConfig.Name = "eth1"; + address = [ + "100.64.0.2/24" + ]; + routes = [ + { + Destination = "192.0.2.0/24"; + Gateway = "100.64.0.1"; + } + ]; + }; + }; }; - virtualisation.vlans = [ - 2 # towards server - 3 # towards client - ]; + # The router is configured with static IPv4 addresses towards the server + # and IPv6 addresses towards the client. DNS64 is exposed towards the + # client so clatd is able to auto-discover the PLAT prefix. For NAT64, the + # Well-Known prefix 64:ff9b::/96 is used. NAT64 is done with TAYGA which + # provides the tun-interface nat64 and does the translation over it. The + # IPv6 packets are sent to this interfaces and received as IPv4 packets and + # vice versa. As TAYGA only translates IPv6 addresses to dedicated IPv4 + # addresses, it needs a pool of IPv4 addresses which must be at least as + # big as the expected amount of clients. In this test, the packets from the + # pool are directly routed towards the client. In normal cases, there would + # be a second source NAT44 to map all clients behind one IPv4 address. + router = { + boot.kernel.sysctl = { + "net.ipv4.conf.all.forwarding" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; - networking = { - useDHCP = false; - useNetworkd = true; - firewall.enable = false; - interfaces.eth1 = lib.mkForce { - ipv4 = { - addresses = [ { address = "100.64.0.1"; prefixLength = 24; } ]; + virtualisation.vlans = [ + 2 # towards server + 3 # towards client + ]; + + networking = { + useDHCP = false; + useNetworkd = true; + firewall.enable = false; + interfaces.eth1 = lib.mkForce { + ipv4 = { + addresses = [ + { + address = "100.64.0.1"; + prefixLength = 24; + } + ]; + }; }; - }; - interfaces.eth2 = lib.mkForce { - ipv6 = { - addresses = [ { address = "2001:db8::1"; prefixLength = 64; } ]; + interfaces.eth2 = lib.mkForce { + ipv6 = { + addresses = [ + { + address = "2001:db8::1"; + prefixLength = 64; + } + ]; + }; }; }; - }; - systemd.network.networks."40-eth2" = { - networkConfig.IPv6SendRA = true; - ipv6Prefixes = [ { Prefix = "2001:db8::/64"; } ]; - ipv6PREF64Prefixes = [ { Prefix = "64:ff9b::/96"; } ]; - ipv6SendRAConfig = { - EmitDNS = true; - DNS = "_link_local"; + systemd.network.networks."40-eth2" = { + networkConfig.IPv6SendRA = true; + ipv6Prefixes = [ { Prefix = "2001:db8::/64"; } ]; + ipv6PREF64Prefixes = [ { Prefix = "64:ff9b::/96"; } ]; + ipv6SendRAConfig = { + EmitDNS = true; + DNS = "_link_local"; + }; }; - }; - services.resolved.extraConfig = '' - DNSStubListener=no - ''; - - networking.extraHosts = '' - 192.0.0.171 ipv4only.arpa - 192.0.0.170 ipv4only.arpa - ''; - - services.coredns = { - enable = true; - config = '' - .:53 { - bind :: - hosts /etc/hosts - dns64 64:ff9b::/96 - } + services.resolved.extraConfig = '' + DNSStubListener=no ''; - }; - services.tayga = { - enable = true; - ipv4 = { - address = "192.0.2.0"; - router = { - address = "192.0.2.1"; - }; - pool = { - address = "192.0.2.0"; - prefixLength = 24; - }; + networking.extraHosts = '' + 192.0.0.171 ipv4only.arpa + 192.0.0.170 ipv4only.arpa + ''; + + services.coredns = { + enable = true; + config = '' + .:53 { + bind :: + hosts /etc/hosts + dns64 64:ff9b::/96 + } + ''; }; - ipv6 = { - address = "2001:db8::1"; - router = { - address = "64:ff9b::1"; + + services.tayga = { + enable = true; + ipv4 = { + address = "192.0.2.0"; + router = { + address = "192.0.2.1"; + }; + pool = { + address = "192.0.2.0"; + prefixLength = 24; + }; }; - pool = { - address = "64:ff9b::"; - prefixLength = 96; + ipv6 = { + address = "2001:db8::1"; + router = { + address = "64:ff9b::1"; + }; + pool = { + address = "64:ff9b::"; + prefixLength = 96; + }; }; }; }; - }; - - # The client uses SLAAC to assign IPv6 addresses. To reach the IPv4-only - # server, the client starts the clat daemon which starts and configures the - # local IPv4 -> IPv6 translation via Tayga after discovering the PLAT - # prefix via DNS64. - client = { - virtualisation.vlans = [ - 3 # towards router - ]; - networking = { - useDHCP = false; - interfaces.eth1 = lib.mkForce {}; - }; + # The client uses SLAAC to assign IPv6 addresses. To reach the IPv4-only + # server, the client starts the clat daemon which starts and configures the + # local IPv4 -> IPv6 translation via Tayga after discovering the PLAT + # prefix via DNS64. + client = { + virtualisation.vlans = [ + 3 # towards router + ]; + + networking = { + useDHCP = false; + interfaces.eth1 = lib.mkForce { }; + }; - systemd.network = { - enable = true; - networks."vlan1" = { - matchConfig.Name = "eth1"; + systemd.network = { + enable = true; + networks."vlan1" = { + matchConfig.Name = "eth1"; - # NOTE: clatd does not actually use the PREF64 prefix discovered by - # systemd-networkd (nor does systemd-networkd do anything with it, - # yet), but we set this to confirm it works. See the test script - # below. - ipv6AcceptRAConfig.UsePREF64 = true; + # NOTE: clatd does not actually use the PREF64 prefix discovered by + # systemd-networkd (nor does systemd-networkd do anything with it, + # yet), but we set this to confirm it works. See the test script + # below. + ipv6AcceptRAConfig.UsePREF64 = true; + }; }; - }; - services.clatd = { - enable = true; - # NOTE: Perl's Net::DNS resolver does not seem to work well querying - # for AAAA records to systemd-resolved's default IPv4 bind address - # (127.0.0.53), so we add an IPv6 listener address to systemd-resolved - # and tell clatd to use that instead. - settings.dns64-servers = "::1"; - }; + services.clatd = { + enable = true; + # NOTE: Perl's Net::DNS resolver does not seem to work well querying + # for AAAA records to systemd-resolved's default IPv4 bind address + # (127.0.0.53), so we add an IPv6 listener address to systemd-resolved + # and tell clatd to use that instead. + settings.dns64-servers = "::1"; + }; - # Allow clatd to find dns server. See comment above. - services.resolved.extraConfig = '' - DNSStubListenerExtra=::1 - ''; + # Allow clatd to find dns server. See comment above. + services.resolved.extraConfig = '' + DNSStubListenerExtra=::1 + ''; - environment.systemPackages = [ pkgs.mtr ]; + environment.systemPackages = [ pkgs.mtr ]; + }; }; - }; - testScript = '' - import json + testScript = '' + import json - start_all() + start_all() - # wait for all machines to start up - for machine in client, router, server: - machine.wait_for_unit("network-online.target") + # wait for all machines to start up + for machine in client, router, server: + machine.wait_for_unit("network-online.target") - with subtest("Wait for tayga and clatd"): - router.wait_for_unit("tayga.service") - client.wait_for_unit("clatd.service") - # clatd checks if this system has IPv4 connectivity for 10 seconds - client.wait_until_succeeds( - 'journalctl -u clatd -e | grep -q "Starting up TAYGA, using config file"' - ) + with subtest("Wait for tayga and clatd"): + router.wait_for_unit("tayga.service") + client.wait_for_unit("clatd.service") + # clatd checks if this system has IPv4 connectivity for 10 seconds + client.wait_until_succeeds( + 'journalctl -u clatd -e | grep -q "Starting up TAYGA, using config file"' + ) - with subtest("networkd exports PREF64 prefix"): - assert json.loads(client.succeed("networkctl status eth1 --json=short"))[ - "NDisc" - ]["PREF64"][0]["Prefix"] == [0x0, 0x64, 0xFF, 0x9B] + ([0] * 12) + with subtest("networkd exports PREF64 prefix"): + assert json.loads(client.succeed("networkctl status eth1 --json=short"))[ + "NDisc" + ]["PREF64"][0]["Prefix"] == [0x0, 0x64, 0xFF, 0x9B] + ([0] * 12) - with subtest("Test ICMP"): - client.wait_until_succeeds("ping -c 3 100.64.0.2 >&2") + with subtest("Test ICMP"): + client.wait_until_succeeds("ping -c 3 100.64.0.2 >&2") - with subtest("Test ICMP and show a traceroute"): - client.wait_until_succeeds("mtr --show-ips --report-wide 100.64.0.2 >&2") + with subtest("Test ICMP and show a traceroute"): + client.wait_until_succeeds("mtr --show-ips --report-wide 100.64.0.2 >&2") - client.log(client.execute("systemd-analyze security clatd.service")[1]) - ''; -}) + client.log(client.execute("systemd-analyze security clatd.service")[1]) + ''; + } +) diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix index 77d6a7ab8be42..80868c04e9e43 100644 --- a/nixos/tests/clickhouse.nix +++ b/nixos/tests/clickhouse.nix @@ -1,19 +1,21 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "clickhouse"; - meta.maintainers = with pkgs.lib.maintainers; [ ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "clickhouse"; + meta.maintainers = with pkgs.lib.maintainers; [ ]; - nodes.machine = { - services.clickhouse.enable = true; - virtualisation.memorySize = 4096; - }; + nodes.machine = { + services.clickhouse.enable = true; + virtualisation.memorySize = 4096; + }; - testScript = - let - # work around quote/substitution complexity by Nix, Perl, bash and SQL. - tableDDL = pkgs.writeText "ddl.sql" "CREATE TABLE `demo` (`value` FixedString(10)) engine = MergeTree PARTITION BY value ORDER BY tuple();"; - insertQuery = pkgs.writeText "insert.sql" "INSERT INTO `demo` (`value`) VALUES ('foo');"; - selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`"; - in + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + tableDDL = pkgs.writeText "ddl.sql" "CREATE TABLE `demo` (`value` FixedString(10)) engine = MergeTree PARTITION BY value ORDER BY tuple();"; + insertQuery = pkgs.writeText "insert.sql" "INSERT INTO `demo` (`value`) VALUES ('foo');"; + selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`"; + in '' machine.start() machine.wait_for_unit("clickhouse.service") @@ -29,4 +31,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { "cat ${selectQuery} | clickhouse-client | grep foo" ) ''; -}) + } +) diff --git a/nixos/tests/cloud-init-hostname.nix b/nixos/tests/cloud-init-hostname.nix index 7c657cc9f6f98..c3d71e8ef0d51 100644 --- a/nixos/tests/cloud-init-hostname.nix +++ b/nixos/tests/cloud-init-hostname.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -27,17 +28,26 @@ let ''; }; -in makeTest { +in +makeTest { name = "cloud-init-hostname"; meta = with pkgs.lib.maintainers; { - maintainers = [ lewo illustris ]; + maintainers = [ + lewo + illustris + ]; }; - nodes.machine2 = { ... }: { - virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ]; - services.cloud-init.enable = true; - networking.hostName = ""; - }; + nodes.machine2 = + { ... }: + { + virtualisation.qemu.options = [ + "-cdrom" + "${metadataDrive}/metadata.iso" + ]; + services.cloud-init.enable = true; + networking.hostName = ""; + }; testScript = '' unnamed.wait_for_unit("cloud-final.service") diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix index 0b4c5a55c80a6..8ab0bbbd98512 100644 --- a/nixos/tests/cloud-init.nix +++ b/nixos/tests/cloud-init.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -8,7 +9,9 @@ with pkgs.lib; let inherit (import ./ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; + snakeOilPrivateKey + snakeOilPublicKey + ; metadataDrive = pkgs.stdenv.mkDerivation { name = "metadata"; @@ -54,23 +57,31 @@ let - 'example.com' EOF ${pkgs.cdrkit}/bin/genisoimage -volid cidata -joliet -rock -o $out/metadata.iso $out/iso - ''; + ''; }; -in makeTest { +in +makeTest { name = "cloud-init"; - meta.maintainers = with pkgs.lib.maintainers; [ lewo illustris ]; - nodes.machine = { ... }: - { - virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ]; - services.cloud-init = { - enable = true; - network.enable = true; + meta.maintainers = with pkgs.lib.maintainers; [ + lewo + illustris + ]; + nodes.machine = + { ... }: + { + virtualisation.qemu.options = [ + "-cdrom" + "${metadataDrive}/metadata.iso" + ]; + services.cloud-init = { + enable = true; + network.enable = true; + }; + services.openssh.enable = true; + networking.hostName = ""; + networking.useDHCP = false; }; - services.openssh.enable = true; - networking.hostName = ""; - networking.useDHCP = false; - }; testScript = '' # To wait until cloud-init terminates its run unnamed.wait_for_unit("cloud-init-local.service") diff --git a/nixos/tests/cloudlog.nix b/nixos/tests/cloudlog.nix index c99951c1b22c2..b49d1929f80c4 100644 --- a/nixos/tests/cloudlog.nix +++ b/nixos/tests/cloudlog.nix @@ -1,18 +1,21 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "cloudlog"; - meta = { - maintainers = with pkgs.lib.maintainers; [ melling ]; - }; - nodes = { - machine = { - services.mysql.package = pkgs.mariadb; - services.cloudlog.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "cloudlog"; + meta = { + maintainers = with pkgs.lib.maintainers; [ melling ]; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("phpfpm-cloudlog") - machine.wait_for_open_port(80); - machine.wait_until_succeeds("curl -s -L --fail http://localhost | grep 'Login - Cloudlog'") - ''; -}) + nodes = { + machine = { + services.mysql.package = pkgs.mariadb; + services.cloudlog.enable = true; + }; + }; + testScript = '' + start_all() + machine.wait_for_unit("phpfpm-cloudlog") + machine.wait_for_open_port(80); + machine.wait_until_succeeds("curl -s -L --fail http://localhost | grep 'Login - Cloudlog'") + ''; + } +) diff --git a/nixos/tests/cntr.nix b/nixos/tests/cntr.nix index 2166fb8f9b092..b7ae93f622ff7 100644 --- a/nixos/tests/cntr.nix +++ b/nixos/tests/cntr.nix @@ -1,28 +1,40 @@ # Test for cntr tool -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../.. { inherit system config; }, lib ? pkgs.lib }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + lib ? pkgs.lib, +}: let inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; - mkOCITest = backend: + mkOCITest = + backend: makeTest { name = "cntr-${backend}"; - meta = { maintainers = with lib.maintainers; [ sorki mic92 ]; }; + meta = { + maintainers = with lib.maintainers; [ + sorki + mic92 + ]; + }; nodes = { - ${backend} = { pkgs, ... }: { - environment.systemPackages = [ pkgs.cntr ]; - virtualisation.oci-containers = { - inherit backend; - containers.nginx = { - image = "nginx-container"; - imageStream = pkgs.dockerTools.examples.nginxStream; - ports = [ "8181:80" ]; + ${backend} = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.cntr ]; + virtualisation.oci-containers = { + inherit backend; + containers.nginx = { + image = "nginx-container"; + imageStream = pkgs.dockerTools.examples.nginxStream; + ports = [ "8181:80" ]; + }; }; }; - }; }; testScript = '' @@ -44,18 +56,25 @@ let mkContainersTest = makeTest { name = "cntr-containers"; - meta = with pkgs.lib.maintainers; { maintainers = [ sorki mic92 ]; }; + meta = with pkgs.lib.maintainers; { + maintainers = [ + sorki + mic92 + ]; + }; - nodes.machine = { lib, ... }: { - environment.systemPackages = [ pkgs.cntr ]; - containers.test = { - autoStart = true; - privateNetwork = true; - hostAddress = "172.16.0.1"; - localAddress = "172.16.0.2"; - config = { }; + nodes.machine = + { lib, ... }: + { + environment.systemPackages = [ pkgs.cntr ]; + containers.test = { + autoStart = true; + privateNetwork = true; + hostAddress = "172.16.0.1"; + localAddress = "172.16.0.2"; + config = { }; + }; }; - }; testScript = '' machine.start() @@ -69,7 +88,11 @@ let assert "0" == machine.succeed("cat /tmp/exitcode").strip(), "non-zero exit code" ''; }; -in { +in +{ nixos-container = mkContainersTest; -} // (lib.foldl' (attrs: backend: attrs // { ${backend} = mkOCITest backend; }) - { } [ "docker" "podman" ]) +} +// (lib.foldl' (attrs: backend: attrs // { ${backend} = mkOCITest backend; }) { } [ + "docker" + "podman" +]) diff --git a/nixos/tests/cockpit.nix b/nixos/tests/cockpit.nix index e7165b9790141..6c90cccade72c 100644 --- a/nixos/tests/cockpit.nix +++ b/nixos/tests/cockpit.nix @@ -4,118 +4,133 @@ import ./make-test-python.nix ( let user = "alice"; # from ./common/user-account.nix password = "foobar"; # from ./common/user-account.nix - in { + in + { name = "cockpit"; meta = { maintainers = with lib.maintainers; [ lucasew ]; }; nodes = { - server = { config, ... }: { - imports = [ ./common/user-account.nix ]; - security.polkit.enable = true; - users.users.${user} = { - extraGroups = [ "wheel" ]; - }; - services.cockpit = { - enable = true; - openFirewall = true; - settings = { - WebService = { - Origins = "https://server:9090"; + server = + { config, ... }: + { + imports = [ ./common/user-account.nix ]; + security.polkit.enable = true; + users.users.${user} = { + extraGroups = [ "wheel" ]; + }; + services.cockpit = { + enable = true; + openFirewall = true; + settings = { + WebService = { + Origins = "https://server:9090"; + }; }; }; }; - }; - client = { config, ... }: { - imports = [ ./common/user-account.nix ]; - environment.systemPackages = let - seleniumScript = pkgs.writers.writePython3Bin "selenium-script" { - libraries = with pkgs.python3Packages; [ selenium ]; - } '' - from selenium import webdriver - from selenium.webdriver.common.by import By - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - from time import sleep + client = + { config, ... }: + { + imports = [ ./common/user-account.nix ]; + environment.systemPackages = + let + seleniumScript = + pkgs.writers.writePython3Bin "selenium-script" + { + libraries = with pkgs.python3Packages; [ selenium ]; + } + '' + from selenium import webdriver + from selenium.webdriver.common.by import By + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.support.ui import WebDriverWait + from selenium.webdriver.support import expected_conditions as EC + from time import sleep - def log(msg): - from sys import stderr - print(f"[*] {msg}", file=stderr) + def log(msg): + from sys import stderr + print(f"[*] {msg}", file=stderr) - log("Initializing") + log("Initializing") - options = Options() - options.add_argument("--headless") + options = Options() + options.add_argument("--headless") - service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 - driver = webdriver.Firefox(options=options, service=service) + service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 + driver = webdriver.Firefox(options=options, service=service) - driver.implicitly_wait(10) + driver.implicitly_wait(10) - log("Opening homepage") - driver.get("https://server:9090") + log("Opening homepage") + driver.get("https://server:9090") - wait = WebDriverWait(driver, 60) + wait = WebDriverWait(driver, 60) - def wait_elem(by, query): - wait.until(EC.presence_of_element_located((by, query))) + def wait_elem(by, query): + wait.until(EC.presence_of_element_located((by, query))) - def wait_title_contains(title): - wait.until(EC.title_contains(title)) + def wait_title_contains(title): + wait.until(EC.title_contains(title)) - def find_element(by, query): - return driver.find_element(by, query) + def find_element(by, query): + return driver.find_element(by, query) - def set_value(elem, value): - script = 'arguments[0].value = arguments[1]' - return driver.execute_script(script, elem, value) + def set_value(elem, value): + script = 'arguments[0].value = arguments[1]' + return driver.execute_script(script, elem, value) - log("Waiting for the homepage to load") + log("Waiting for the homepage to load") - # cockpit sets initial title as hostname - wait_title_contains("server") - wait_elem(By.CSS_SELECTOR, 'input#login-user-input') + # cockpit sets initial title as hostname + wait_title_contains("server") + wait_elem(By.CSS_SELECTOR, 'input#login-user-input') - log("Homepage loaded!") + log("Homepage loaded!") - log("Filling out username") - login_input = find_element(By.CSS_SELECTOR, 'input#login-user-input') - set_value(login_input, "${user}") + log("Filling out username") + login_input = find_element(By.CSS_SELECTOR, 'input#login-user-input') + set_value(login_input, "${user}") - log("Filling out password") - password_input = find_element(By.CSS_SELECTOR, 'input#login-password-input') - set_value(password_input, "${password}") + log("Filling out password") + password_input = find_element(By.CSS_SELECTOR, 'input#login-password-input') + set_value(password_input, "${password}") - log("Submitting credentials for login") - driver.find_element(By.CSS_SELECTOR, 'button#login-button').click() + log("Submitting credentials for login") + driver.find_element(By.CSS_SELECTOR, 'button#login-button').click() - # driver.implicitly_wait(1) - # driver.get("https://server:9090/system") + # driver.implicitly_wait(1) + # driver.get("https://server:9090/system") - log("Waiting dashboard to load") - wait_title_contains("${user}@server") + log("Waiting dashboard to load") + wait_title_contains("${user}@server") - log("Waiting for the frontend to initialize") - sleep(1) + log("Waiting for the frontend to initialize") + sleep(1) - log("Looking for that banner that tells about limited access") - container_iframe = find_element(By.CSS_SELECTOR, 'iframe.container-frame') - driver.switch_to.frame(container_iframe) + log("Looking for that banner that tells about limited access") + container_iframe = find_element(By.CSS_SELECTOR, 'iframe.container-frame') + driver.switch_to.frame(container_iframe) - assert "Web console is running in limited access mode" in driver.page_source + assert "Web console is running in limited access mode" in driver.page_source - driver.close() - ''; - in with pkgs; [ firefox-unwrapped geckodriver seleniumScript ]; - }; + driver.close() + ''; + in + with pkgs; + [ + firefox-unwrapped + geckodriver + seleniumScript + ]; + }; }; testScript = '' diff --git a/nixos/tests/cockroachdb.nix b/nixos/tests/cockroachdb.nix index 5b1e1a7dee1f9..6a9bfd99949f4 100644 --- a/nixos/tests/cockroachdb.nix +++ b/nixos/tests/cockroachdb.nix @@ -50,8 +50,15 @@ let # Creates a node. If 'joinNode' parameter, a string containing an IP address, # is non-null, then the CockroachDB server will attempt to join/connect to # the cluster node specified at that address. - makeNode = locality: myAddr: joinNode: - { nodes, pkgs, lib, config, ... }: + makeNode = + locality: myAddr: joinNode: + { + nodes, + pkgs, + lib, + config, + ... + }: { # Bank/TPC-C benchmarks take some memory to complete @@ -97,28 +104,31 @@ let ''; }; -in import ./make-test-python.nix ({ pkgs, ...} : { - name = "cockroachdb"; - meta.maintainers = with pkgs.lib.maintainers; - [ thoughtpolice ]; +in +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "cockroachdb"; + meta.maintainers = with pkgs.lib.maintainers; [ thoughtpolice ]; - nodes = { - node1 = makeNode "country=us,region=east,dc=1" "192.168.1.1" null; - node2 = makeNode "country=us,region=west,dc=2b" "192.168.1.2" "192.168.1.1"; - node3 = makeNode "country=eu,region=west,dc=2" "192.168.1.3" "192.168.1.1"; - }; + nodes = { + node1 = makeNode "country=us,region=east,dc=1" "192.168.1.1" null; + node2 = makeNode "country=us,region=west,dc=2b" "192.168.1.2" "192.168.1.1"; + node3 = makeNode "country=eu,region=west,dc=2" "192.168.1.3" "192.168.1.1"; + }; - # NOTE: All the nodes must start in order and you must NOT use startAll, because - # there's otherwise no way to guarantee that node1 will start before the others try - # to join it. - testScript = '' - for node in node1, node2, node3: - node.start() - node.wait_for_unit("cockroachdb") - node1.succeed( - "cockroach sql --host=192.168.1.1 --insecure -e 'SHOW ALL CLUSTER SETTINGS' 2>&1", - "cockroach workload init bank 'postgresql://root@192.168.1.1:26257?sslmode=disable'", - "cockroach workload run bank --duration=1m 'postgresql://root@192.168.1.1:26257?sslmode=disable'", - ) - ''; -}) + # NOTE: All the nodes must start in order and you must NOT use startAll, because + # there's otherwise no way to guarantee that node1 will start before the others try + # to join it. + testScript = '' + for node in node1, node2, node3: + node.start() + node.wait_for_unit("cockroachdb") + node1.succeed( + "cockroach sql --host=192.168.1.1 --insecure -e 'SHOW ALL CLUSTER SETTINGS' 2>&1", + "cockroach workload init bank 'postgresql://root@192.168.1.1:26257?sslmode=disable'", + "cockroach workload run bank --duration=1m 'postgresql://root@192.168.1.1:26257?sslmode=disable'", + ) + ''; + } +) diff --git a/nixos/tests/code-server.nix b/nixos/tests/code-server.nix index 7d523dfc617e3..d58a0faee1044 100644 --- a/nixos/tests/code-server.nix +++ b/nixos/tests/code-server.nix @@ -1,22 +1,26 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -{ - name = "code-server"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "code-server"; - nodes = { - machine = {pkgs, ...}: { - services.code-server = { - enable = true; - auth = "none"; - }; + nodes = { + machine = + { pkgs, ... }: + { + services.code-server = { + enable = true; + auth = "none"; + }; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("code-server.service") - machine.wait_for_open_port(4444) - machine.succeed("curl -k --fail http://localhost:4444", timeout=10) - ''; + testScript = '' + start_all() + machine.wait_for_unit("code-server.service") + machine.wait_for_open_port(4444) + machine.succeed("curl -k --fail http://localhost:4444", timeout=10) + ''; - meta.maintainers = [ lib.maintainers.drupol ]; -}) + meta.maintainers = [ lib.maintainers.drupol ]; + } +) diff --git a/nixos/tests/coder.nix b/nixos/tests/coder.nix index fd1fa0cc3031f..8bbba5d900c0c 100644 --- a/nixos/tests/coder.nix +++ b/nixos/tests/coder.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "coder"; - meta.maintainers = pkgs.coder.meta.maintainers; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "coder"; + meta.maintainers = pkgs.coder.meta.maintainers; - nodes.machine = - { pkgs, ... }: - { - services.coder = { - enable = true; - accessUrl = "http://localhost:3000"; + nodes.machine = + { pkgs, ... }: + { + services.coder = { + enable = true; + accessUrl = "http://localhost:3000"; + }; }; - }; - testScript = '' - machine.start() - machine.wait_for_unit("postgresql.service") - machine.wait_for_unit("coder.service") - machine.wait_for_open_port(3000) + testScript = '' + machine.start() + machine.wait_for_unit("postgresql.service") + machine.wait_for_unit("coder.service") + machine.wait_for_open_port(3000) - machine.succeed("curl --fail http://localhost:3000") - ''; -}) + machine.succeed("curl --fail http://localhost:3000") + ''; + } +) diff --git a/nixos/tests/collectd.nix b/nixos/tests/collectd.nix index 2480bdb5f917e..31d4689f1efe5 100644 --- a/nixos/tests/collectd.nix +++ b/nixos/tests/collectd.nix @@ -1,38 +1,41 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "collectd"; - meta = { }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "collectd"; + meta = { }; - nodes.machine = - { pkgs, lib, ... }: + nodes.machine = + { pkgs, lib, ... }: - { - services.collectd = { - enable = true; - extraConfig = lib.mkBefore '' - Interval 30 - ''; - plugins = { - rrdtool = '' - DataDir "/var/lib/collectd/rrd" + { + services.collectd = { + enable = true; + extraConfig = lib.mkBefore '' + Interval 30 ''; - load = ""; + plugins = { + rrdtool = '' + DataDir "/var/lib/collectd/rrd" + ''; + load = ""; + }; }; + environment.systemPackages = [ pkgs.rrdtool ]; }; - environment.systemPackages = [ pkgs.rrdtool ]; - }; - testScript = '' - machine.wait_for_unit("collectd.service") - hostname = machine.succeed("hostname").strip() - file = f"/var/lib/collectd/rrd/{hostname}/load/load.rrd" - machine.wait_for_file(file); - machine.succeed(f"rrdinfo {file} | logger") - # check that this file contains a shortterm metric - machine.succeed(f"rrdinfo {file} | grep -F 'ds[shortterm].min = '") - # check that interval was set before the plugins - machine.succeed(f"rrdinfo {file} | grep -F 'step = 30'") - # check that there are frequent updates - machine.succeed(f"cp {file} before") - machine.wait_until_fails(f"cmp before {file}") - ''; -}) + testScript = '' + machine.wait_for_unit("collectd.service") + hostname = machine.succeed("hostname").strip() + file = f"/var/lib/collectd/rrd/{hostname}/load/load.rrd" + machine.wait_for_file(file); + machine.succeed(f"rrdinfo {file} | logger") + # check that this file contains a shortterm metric + machine.succeed(f"rrdinfo {file} | grep -F 'ds[shortterm].min = '") + # check that interval was set before the plugins + machine.succeed(f"rrdinfo {file} | grep -F 'step = 30'") + # check that there are frequent updates + machine.succeed(f"cp {file} before") + machine.wait_until_fails(f"cmp before {file}") + ''; + } +) diff --git a/nixos/tests/common/acme/client/default.nix b/nixos/tests/common/acme/client/default.nix index f9b08b519dbeb..50d7ae13096b3 100644 --- a/nixos/tests/common/acme/client/default.nix +++ b/nixos/tests/common/acme/client/default.nix @@ -3,7 +3,8 @@ let caCert = nodes.acme.test-support.acme.caCert; caDomain = nodes.acme.test-support.acme.caDomain; -in { +in +{ security.acme = { acceptTerms = true; defaults = { diff --git a/nixos/tests/common/acme/server/default.nix b/nixos/tests/common/acme/server/default.nix index 893c6924027f4..aaf6a8bd73489 100644 --- a/nixos/tests/common/acme/server/default.nix +++ b/nixos/tests/common/acme/server/default.nix @@ -49,7 +49,12 @@ # # Also make sure that whenever you use a resolver from a different test node # that it has to be started _before_ the ACME service. -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let testCerts = import ./snakeoil-certs.nix; domain = testCerts.domain; @@ -68,7 +73,8 @@ let pebbleConfFile = pkgs.writeText "pebble.conf" (builtins.toJSON pebbleConf); -in { +in +{ imports = [ ../../resolver.nix ]; options.test-support.acme = { @@ -95,15 +101,22 @@ in { config = { test-support = { - resolver.enable = let - isLocalResolver = config.networking.nameservers == [ "127.0.0.1" ]; - in lib.mkOverride 900 isLocalResolver; + resolver.enable = + let + isLocalResolver = config.networking.nameservers == [ "127.0.0.1" ]; + in + lib.mkOverride 900 isLocalResolver; }; # This has priority 140, because modules/testing/test-instrumentation.nix # already overrides this with priority 150. networking.nameservers = lib.mkOverride 140 [ "127.0.0.1" ]; - networking.firewall.allowedTCPPorts = [ 80 443 15000 4002 ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + 15000 + 4002 + ]; networking.extraHosts = '' 127.0.0.1 ${domain} diff --git a/nixos/tests/common/acme/server/generate-certs.nix b/nixos/tests/common/acme/server/generate-certs.nix index 4f38ca309b05b..0cec832827076 100644 --- a/nixos/tests/common/acme/server/generate-certs.nix +++ b/nixos/tests/common/acme/server/generate-certs.nix @@ -1,20 +1,23 @@ # Minica can provide a CA key and cert, plus a key # and cert for our fake CA server's Web Front End (WFE). { - pkgs ? import {}, + pkgs ? import { }, minica ? pkgs.minica, - mkDerivation ? pkgs.stdenv.mkDerivation + mkDerivation ? pkgs.stdenv.mkDerivation, }: let conf = import ./snakeoil-certs.nix; domain = conf.domain; -in mkDerivation { +in +mkDerivation { name = "test-certs"; - buildInputs = [ (minica.overrideAttrs (old: { - prePatch = '' - sed -i 's_NotAfter: time.Now().AddDate(2, 0, 30),_NotAfter: time.Now().AddDate(20, 0, 0),_' main.go - ''; - })) ]; + buildInputs = [ + (minica.overrideAttrs (old: { + prePatch = '' + sed -i 's_NotAfter: time.Now().AddDate(2, 0, 30),_NotAfter: time.Now().AddDate(20, 0, 0),_' main.go + ''; + })) + ]; dontUnpack = true; buildPhase = '' diff --git a/nixos/tests/common/acme/server/snakeoil-certs.nix b/nixos/tests/common/acme/server/snakeoil-certs.nix index 11c3f7fc9290c..405627979feef 100644 --- a/nixos/tests/common/acme/server/snakeoil-certs.nix +++ b/nixos/tests/common/acme/server/snakeoil-certs.nix @@ -1,6 +1,7 @@ let domain = "acme.test"; -in { +in +{ inherit domain; ca = { cert = ./ca.cert.pem; diff --git a/nixos/tests/common/auto-format-root-device.nix b/nixos/tests/common/auto-format-root-device.nix index fef8c70049913..1fe0f680f5bef 100644 --- a/nixos/tests/common/auto-format-root-device.nix +++ b/nixos/tests/common/auto-format-root-device.nix @@ -5,7 +5,12 @@ # `virtualisation.fileSystems."/".autoFormat = true;` # instead. -{ lib, config, pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: let rootDevice = config.virtualisation.rootDevice; diff --git a/nixos/tests/common/auto.nix b/nixos/tests/common/auto.nix index cbd298de8f815..1be1851a7f4b8 100644 --- a/nixos/tests/common/auto.nix +++ b/nixos/tests/common/auto.nix @@ -39,15 +39,15 @@ in # lightdm by default doesn't allow auto login for root, which is # required by some nixos tests. Override it here. security.pam.services.lightdm-autologin.text = lib.mkForce '' - auth requisite pam_nologin.so - auth required pam_succeed_if.so quiet - auth required pam_permit.so + auth requisite pam_nologin.so + auth required pam_succeed_if.so quiet + auth required pam_permit.so - account include lightdm + account include lightdm - password include lightdm + password include lightdm - session include lightdm + session include lightdm ''; }; } diff --git a/nixos/tests/common/ec2.nix b/nixos/tests/common/ec2.nix index 82922102f07b5..8210e5914afbf 100644 --- a/nixos/tests/common/ec2.nix +++ b/nixos/tests/common/ec2.nix @@ -3,70 +3,85 @@ with pkgs.lib; { - makeEc2Test = { name, image, userData, script, hostname ? "ec2-instance", sshPublicKey ? null, meta ? {} }: + makeEc2Test = + { + name, + image, + userData, + script, + hostname ? "ec2-instance", + sshPublicKey ? null, + meta ? { }, + }: let metaData = pkgs.stdenv.mkDerivation { name = "metadata"; - buildCommand = '' - mkdir -p $out/1.0/meta-data - ln -s ${pkgs.writeText "userData" userData} $out/1.0/user-data - echo "${hostname}" > $out/1.0/meta-data/hostname - echo "(unknown)" > $out/1.0/meta-data/ami-manifest-path - '' + optionalString (sshPublicKey != null) '' - mkdir -p $out/1.0/meta-data/public-keys/0 - ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key - ''; + buildCommand = + '' + mkdir -p $out/1.0/meta-data + ln -s ${pkgs.writeText "userData" userData} $out/1.0/user-data + echo "${hostname}" > $out/1.0/meta-data/hostname + echo "(unknown)" > $out/1.0/meta-data/ami-manifest-path + '' + + optionalString (sshPublicKey != null) '' + mkdir -p $out/1.0/meta-data/public-keys/0 + ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key + ''; }; indentLines = str: concatLines (map (s: " " + s) (splitString "\n" str)); - in makeTest { + in + makeTest { name = "ec2-" + name; - nodes = {}; - testScript = '' - import os - import subprocess - import tempfile + nodes = { }; + testScript = + '' + import os + import subprocess + import tempfile - image_dir = os.path.join( - os.environ.get("TMPDIR", tempfile.gettempdir()), "tmp", "vm-state-machine" - ) - os.makedirs(image_dir, mode=0o700, exist_ok=True) - disk_image = os.path.join(image_dir, "machine.qcow2") - subprocess.check_call( - [ - "qemu-img", - "create", - "-f", - "qcow2", - "-F", - "qcow2", - "-o", - "backing_file=${image}", - disk_image, - ] - ) - subprocess.check_call(["qemu-img", "resize", disk_image, "10G"]) + image_dir = os.path.join( + os.environ.get("TMPDIR", tempfile.gettempdir()), "tmp", "vm-state-machine" + ) + os.makedirs(image_dir, mode=0o700, exist_ok=True) + disk_image = os.path.join(image_dir, "machine.qcow2") + subprocess.check_call( + [ + "qemu-img", + "create", + "-f", + "qcow2", + "-F", + "qcow2", + "-o", + "backing_file=${image}", + disk_image, + ] + ) + subprocess.check_call(["qemu-img", "resize", disk_image, "10G"]) - # Note: we use net=169.0.0.0/8 rather than - # net=169.254.0.0/16 to prevent dhcpcd from getting horribly - # confused. (It would get a DHCP lease in the 169.254.* - # range, which it would then configure and promptly delete - # again when it deletes link-local addresses.) Ideally we'd - # turn off the DHCP server, but qemu does not have an option - # to do that. - start_command = ( - "qemu-kvm -m 1024" - + " -device virtio-net-pci,netdev=vlan0" - + " -netdev 'user,id=vlan0,net=169.0.0.0/8,guestfwd=tcp:169.254.169.254:80-cmd:${pkgs.micro-httpd}/bin/micro_httpd ${metaData}'" - + f" -drive file={disk_image},if=virtio,werror=report" - + " $QEMU_OPTS" - ) + # Note: we use net=169.0.0.0/8 rather than + # net=169.254.0.0/16 to prevent dhcpcd from getting horribly + # confused. (It would get a DHCP lease in the 169.254.* + # range, which it would then configure and promptly delete + # again when it deletes link-local addresses.) Ideally we'd + # turn off the DHCP server, but qemu does not have an option + # to do that. + start_command = ( + "qemu-kvm -m 1024" + + " -device virtio-net-pci,netdev=vlan0" + + " -netdev 'user,id=vlan0,net=169.0.0.0/8,guestfwd=tcp:169.254.169.254:80-cmd:${pkgs.micro-httpd}/bin/micro_httpd ${metaData}'" + + f" -drive file={disk_image},if=virtio,werror=report" + + " $QEMU_OPTS" + ) - machine = create_machine(start_command) - try: - '' + indentLines script + '' - finally: - machine.shutdown() - ''; + machine = create_machine(start_command) + try: + '' + + indentLines script + + '' + finally: + machine.shutdown() + ''; inherit meta; }; diff --git a/nixos/tests/common/resolver.nix b/nixos/tests/common/resolver.nix index 4d1b96a3a4971..76d720f1fb859 100644 --- a/nixos/tests/common/resolver.nix +++ b/nixos/tests/common/resolver.nix @@ -3,7 +3,13 @@ # (except those that point to 127.0.0.1 or ::1) within the current test network # and delegates these zones using a fake root zone served by a BIND recursive # name server. -{ config, nodes, pkgs, lib, ... }: +{ + config, + nodes, + pkgs, + lib, + ... +}: { options.test-support.resolver.enable = lib.mkOption { @@ -28,115 +34,151 @@ networking.firewall.enable = false; services.bind.enable = true; services.bind.cacheNetworks = lib.mkForce [ "any" ]; - services.bind.forwarders = lib.mkForce []; + services.bind.forwarders = lib.mkForce [ ]; services.bind.zones = lib.singleton { name = "."; master = true; - file = let - addDot = zone: zone + lib.optionalString (!lib.hasSuffix "." zone) "."; - mkNsdZoneNames = zones: map addDot (lib.attrNames zones); - mkBindZoneNames = zones: map addDot (lib.attrNames zones); - getZones = cfg: mkNsdZoneNames cfg.services.nsd.zones - ++ mkBindZoneNames cfg.services.bind.zones; - - getZonesForNode = attrs: { - ip = attrs.config.networking.primaryIPAddress; - zones = lib.filter (zone: zone != ".") (getZones attrs.config); - }; - - zoneInfo = lib.mapAttrsToList (lib.const getZonesForNode) nodes; - - # A and AAAA resource records for all the definitions of - # networking.extraHosts except those for 127.0.0.1 or ::1. - # - # The result is an attribute set with keys being the host name and the - # values are either { ipv4 = ADDR; } or { ipv6 = ADDR; } where ADDR is - # the IP address for the corresponding key. - recordsFromExtraHosts = let - getHostsForNode = lib.const (n: n.config.networking.extraHosts); - allHostsList = lib.mapAttrsToList getHostsForNode nodes; - allHosts = lib.concatStringsSep "\n" allHostsList; - - reIp = "[a-fA-F0-9.:]+"; - reHost = "[a-zA-Z0-9.-]+"; - - matchAliases = str: let - matched = builtins.match "[ \t]+(${reHost})(.*)" str; - continue = lib.singleton (lib.head matched) - ++ matchAliases (lib.last matched); - in lib.optional (matched != null) continue; - - matchLine = str: let - result = builtins.match "[ \t]*(${reIp})[ \t]+(${reHost})(.*)" str; - in if result == null then null else { - ipAddr = lib.head result; - hosts = lib.singleton (lib.elemAt result 1) - ++ matchAliases (lib.last result); + file = + let + addDot = zone: zone + lib.optionalString (!lib.hasSuffix "." zone) "."; + mkNsdZoneNames = zones: map addDot (lib.attrNames zones); + mkBindZoneNames = zones: map addDot (lib.attrNames zones); + getZones = cfg: mkNsdZoneNames cfg.services.nsd.zones ++ mkBindZoneNames cfg.services.bind.zones; + + getZonesForNode = attrs: { + ip = attrs.config.networking.primaryIPAddress; + zones = lib.filter (zone: zone != ".") (getZones attrs.config); }; - skipLine = str: let - rest = builtins.match "[^\n]*\n(.*)" str; - in if rest == null then "" else lib.head rest; - - getEntries = str: acc: let - result = matchLine str; - next = getEntries (skipLine str); - newEntry = acc ++ lib.singleton result; - continue = if result == null then next acc else next newEntry; - in if str == "" then acc else continue; - - isIPv6 = str: builtins.match ".*:.*" str != null; - loopbackIps = [ "127.0.0.1" "::1" ]; - filterLoopback = lib.filter (e: !lib.elem e.ipAddr loopbackIps); - - allEntries = lib.concatMap (entry: map (host: { - inherit host; - ${if isIPv6 entry.ipAddr then "ipv6" else "ipv4"} = entry.ipAddr; - }) entry.hosts) (filterLoopback (getEntries (allHosts + "\n") [])); - - mkRecords = entry: let - records = lib.optional (entry ? ipv6) "AAAA ${entry.ipv6}" - ++ lib.optional (entry ? ipv4) "A ${entry.ipv4}"; - mkRecord = typeAndData: "${entry.host}. IN ${typeAndData}"; - in lib.concatMapStringsSep "\n" mkRecord records; - - in lib.concatMapStringsSep "\n" mkRecords allEntries; - - # All of the zones that are subdomains of existing zones. - # For example if there is only "example.com" the following zones would - # be 'subZones': - # - # * foo.example.com. - # * bar.example.com. - # - # While the following would *not* be 'subZones': - # - # * example.com. - # * com. - # - subZones = let - allZones = lib.concatMap (zi: zi.zones) zoneInfo; - isSubZoneOf = z1: z2: lib.hasSuffix z2 z1 && z1 != z2; - in lib.filter (z: lib.any (isSubZoneOf z) allZones) allZones; - - # All the zones without 'subZones'. - filteredZoneInfo = map (zi: zi // { - zones = lib.filter (x: !lib.elem x subZones) zi.zones; - }) zoneInfo; - - in pkgs.writeText "fake-root.zone" '' - $TTL 3600 - . IN SOA ns.fakedns. admin.fakedns. ( 1 3h 1h 1w 1d ) - ns.fakedns. IN A ${config.networking.primaryIPAddress} - . IN NS ns.fakedns. - ${lib.concatImapStrings (num: { ip, zones }: '' - ns${toString num}.fakedns. IN A ${ip} - ${lib.concatMapStrings (zone: '' - ${zone} IN NS ns${toString num}.fakedns. - '') zones} - '') (lib.filter (zi: zi.zones != []) filteredZoneInfo)} - ${recordsFromExtraHosts} - ''; + zoneInfo = lib.mapAttrsToList (lib.const getZonesForNode) nodes; + + # A and AAAA resource records for all the definitions of + # networking.extraHosts except those for 127.0.0.1 or ::1. + # + # The result is an attribute set with keys being the host name and the + # values are either { ipv4 = ADDR; } or { ipv6 = ADDR; } where ADDR is + # the IP address for the corresponding key. + recordsFromExtraHosts = + let + getHostsForNode = lib.const (n: n.config.networking.extraHosts); + allHostsList = lib.mapAttrsToList getHostsForNode nodes; + allHosts = lib.concatStringsSep "\n" allHostsList; + + reIp = "[a-fA-F0-9.:]+"; + reHost = "[a-zA-Z0-9.-]+"; + + matchAliases = + str: + let + matched = builtins.match "[ \t]+(${reHost})(.*)" str; + continue = lib.singleton (lib.head matched) ++ matchAliases (lib.last matched); + in + lib.optional (matched != null) continue; + + matchLine = + str: + let + result = builtins.match "[ \t]*(${reIp})[ \t]+(${reHost})(.*)" str; + in + if result == null then + null + else + { + ipAddr = lib.head result; + hosts = lib.singleton (lib.elemAt result 1) ++ matchAliases (lib.last result); + }; + + skipLine = + str: + let + rest = builtins.match "[^\n]*\n(.*)" str; + in + if rest == null then "" else lib.head rest; + + getEntries = + str: acc: + let + result = matchLine str; + next = getEntries (skipLine str); + newEntry = acc ++ lib.singleton result; + continue = if result == null then next acc else next newEntry; + in + if str == "" then acc else continue; + + isIPv6 = str: builtins.match ".*:.*" str != null; + loopbackIps = [ + "127.0.0.1" + "::1" + ]; + filterLoopback = lib.filter (e: !lib.elem e.ipAddr loopbackIps); + + allEntries = lib.concatMap ( + entry: + map (host: { + inherit host; + ${if isIPv6 entry.ipAddr then "ipv6" else "ipv4"} = entry.ipAddr; + }) entry.hosts + ) (filterLoopback (getEntries (allHosts + "\n") [ ])); + + mkRecords = + entry: + let + records = + lib.optional (entry ? ipv6) "AAAA ${entry.ipv6}" + ++ lib.optional (entry ? ipv4) "A ${entry.ipv4}"; + mkRecord = typeAndData: "${entry.host}. IN ${typeAndData}"; + in + lib.concatMapStringsSep "\n" mkRecord records; + + in + lib.concatMapStringsSep "\n" mkRecords allEntries; + + # All of the zones that are subdomains of existing zones. + # For example if there is only "example.com" the following zones would + # be 'subZones': + # + # * foo.example.com. + # * bar.example.com. + # + # While the following would *not* be 'subZones': + # + # * example.com. + # * com. + # + subZones = + let + allZones = lib.concatMap (zi: zi.zones) zoneInfo; + isSubZoneOf = z1: z2: lib.hasSuffix z2 z1 && z1 != z2; + in + lib.filter (z: lib.any (isSubZoneOf z) allZones) allZones; + + # All the zones without 'subZones'. + filteredZoneInfo = map ( + zi: + zi + // { + zones = lib.filter (x: !lib.elem x subZones) zi.zones; + } + ) zoneInfo; + + in + pkgs.writeText "fake-root.zone" '' + $TTL 3600 + . IN SOA ns.fakedns. admin.fakedns. ( 1 3h 1h 1w 1d ) + ns.fakedns. IN A ${config.networking.primaryIPAddress} + . IN NS ns.fakedns. + ${lib.concatImapStrings ( + num: + { ip, zones }: + '' + ns${toString num}.fakedns. IN A ${ip} + ${lib.concatMapStrings (zone: '' + ${zone} IN NS ns${toString num}.fakedns. + '') zones} + '' + ) (lib.filter (zi: zi.zones != [ ]) filteredZoneInfo)} + ${recordsFromExtraHosts} + ''; }; }; } diff --git a/nixos/tests/common/user-account.nix b/nixos/tests/common/user-account.nix index a57ee2d59ae36..f9fed2efe1a59 100644 --- a/nixos/tests/common/user-account.nix +++ b/nixos/tests/common/user-account.nix @@ -1,15 +1,16 @@ { ... }: -{ users.users.alice = - { isNormalUser = true; - description = "Alice Foobar"; - password = "foobar"; - uid = 1000; - }; +{ + users.users.alice = { + isNormalUser = true; + description = "Alice Foobar"; + password = "foobar"; + uid = 1000; + }; - users.users.bob = - { isNormalUser = true; - description = "Bob Foobar"; - password = "foobar"; - }; + users.users.bob = { + isNormalUser = true; + description = "Bob Foobar"; + password = "foobar"; + }; } diff --git a/nixos/tests/connman.nix b/nixos/tests/connman.nix index 348b2a895a632..8ab00de106018 100644 --- a/nixos/tests/connman.nix +++ b/nixos/tests/connman.nix @@ -1,59 +1,67 @@ -import ./make-test-python.nix ({ pkgs, lib, ...}: -{ - name = "connman"; - meta = with lib.maintainers; { - maintainers = [ rnhmjoj ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "connman"; + meta = with lib.maintainers; { + maintainers = [ rnhmjoj ]; + }; - # Router running radvd on VLAN 1 - nodes.router = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; + # Router running radvd on VLAN 1 + nodes.router = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; - virtualisation.vlans = [ 1 ]; + virtualisation.vlans = [ 1 ]; - boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; + boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; - networking = { - useDHCP = false; - interfaces.eth1.ipv6.addresses = - [ { address = "fd12::1"; prefixLength = 64; } ]; - }; + networking = { + useDHCP = false; + interfaces.eth1.ipv6.addresses = [ + { + address = "fd12::1"; + prefixLength = 64; + } + ]; + }; - services.radvd = { - enable = true; - config = '' - interface eth1 { - AdvSendAdvert on; - AdvManagedFlag on; - AdvOtherConfigFlag on; - prefix fd12::/64 { - AdvAutonomous off; - }; + services.radvd = { + enable = true; + config = '' + interface eth1 { + AdvSendAdvert on; + AdvManagedFlag on; + AdvOtherConfigFlag on; + prefix fd12::/64 { + AdvAutonomous off; + }; + }; + ''; }; - ''; - }; - }; + }; - # Client running connman, connected to VLAN 1 - nodes.client = { ... }: { - virtualisation.vlans = [ 1 ]; + # Client running connman, connected to VLAN 1 + nodes.client = + { ... }: + { + virtualisation.vlans = [ 1 ]; - # add a virtual wlan interface - boot.kernelModules = [ "mac80211_hwsim" ]; - boot.extraModprobeConfig = '' - options mac80211_hwsim radios=1 - ''; + # add a virtual wlan interface + boot.kernelModules = [ "mac80211_hwsim" ]; + boot.extraModprobeConfig = '' + options mac80211_hwsim radios=1 + ''; - # Note: the overrides are needed because the wifi is - # disabled with mkVMOverride in qemu-vm.nix. - services.connman.enable = lib.mkOverride 0 true; - services.connman.networkInterfaceBlacklist = [ "eth0" ]; - networking.wireless.enable = lib.mkOverride 0 true; - networking.wireless.interfaces = [ "wlan0" ]; - }; + # Note: the overrides are needed because the wifi is + # disabled with mkVMOverride in qemu-vm.nix. + services.connman.enable = lib.mkOverride 0 true; + services.connman.networkInterfaceBlacklist = [ "eth0" ]; + networking.wireless.enable = lib.mkOverride 0 true; + networking.wireless.interfaces = [ "wlan0" ]; + }; - testScript = - '' + testScript = '' start_all() with subtest("Router is ready"): @@ -73,5 +81,5 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: client.wait_until_succeeds("connmanctl tether wifi on nixos-test reproducibility | grep -q 'Enabled'") client.wait_until_succeeds("iw wlan0 info | grep -q nixos-test") ''; -}) - + } +) diff --git a/nixos/tests/consul-template.nix b/nixos/tests/consul-template.nix index cbffa94569e38..015e09111b3d1 100644 --- a/nixos/tests/consul-template.nix +++ b/nixos/tests/consul-template.nix @@ -1,36 +1,43 @@ -import ./make-test-python.nix ({ ... }: { - name = "consul-template"; +import ./make-test-python.nix ( + { ... }: + { + name = "consul-template"; - nodes.machine = { ... }: { - services.consul-template.instances.example.settings = { - template = [{ - contents = '' - {{ key "example" }} - ''; - perms = "0600"; - destination = "/example"; - }]; - }; + nodes.machine = + { ... }: + { + services.consul-template.instances.example.settings = { + template = [ + { + contents = '' + {{ key "example" }} + ''; + perms = "0600"; + destination = "/example"; + } + ]; + }; - services.consul = { - enable = true; - extraConfig = { - server = true; - bootstrap_expect = 1; - bind_addr = "127.0.0.1"; + services.consul = { + enable = true; + extraConfig = { + server = true; + bootstrap_expect = 1; + bind_addr = "127.0.0.1"; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("consul.service") - machine.wait_for_open_port(8500) + testScript = '' + machine.wait_for_unit("consul.service") + machine.wait_for_open_port(8500) - machine.wait_for_unit("consul-template-example.service") + machine.wait_for_unit("consul-template-example.service") - machine.wait_until_succeeds('consul kv put example example') + machine.wait_until_succeeds('consul kv put example example') - machine.wait_for_file("/example") - machine.succeed('grep "example" /example') - ''; -}) + machine.wait_for_file("/example") + machine.succeed('grep "example" /example') + ''; + } +) diff --git a/nixos/tests/consul.nix b/nixos/tests/consul.nix index c819312068dc7..253d70f13b598 100644 --- a/nixos/tests/consul.nix +++ b/nixos/tests/consul.nix @@ -1,44 +1,60 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: - -let - # Settings for both servers and agents - webUi = true; - retry_interval = "1s"; - raft_multiplier = 1; - - defaultExtraConfig = { - inherit retry_interval; - performance = { - inherit raft_multiplier; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + # Settings for both servers and agents + webUi = true; + retry_interval = "1s"; + raft_multiplier = 1; + + defaultExtraConfig = { + inherit retry_interval; + performance = { + inherit raft_multiplier; + }; + }; + + allConsensusServerHosts = [ + "192.168.1.1" + "192.168.1.2" + "192.168.1.3" + ]; + + allConsensusClientHosts = [ + "192.168.2.1" + "192.168.2.2" + ]; + + firewallSettings = { + # See https://www.consul.io/docs/install/ports.html + allowedTCPPorts = [ + 8301 + 8302 + 8600 + 8500 + 8300 + ]; + allowedUDPPorts = [ + 8301 + 8302 + 8600 + ]; }; - }; - - allConsensusServerHosts = [ - "192.168.1.1" - "192.168.1.2" - "192.168.1.3" - ]; - - allConsensusClientHosts = [ - "192.168.2.1" - "192.168.2.2" - ]; - - firewallSettings = { - # See https://www.consul.io/docs/install/ports.html - allowedTCPPorts = [ 8301 8302 8600 8500 8300 ]; - allowedUDPPorts = [ 8301 8302 8600 ]; - }; - - client = index: { pkgs, ... }: - let - ip = builtins.elemAt allConsensusClientHosts index; - in + + client = + index: + { pkgs, ... }: + let + ip = builtins.elemAt allConsensusClientHosts index; + in { environment.systemPackages = [ pkgs.consul ]; networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = ip; prefixLength = 16; } + { + address = ip; + prefixLength = 16; + } ]; networking.firewall = firewallSettings; @@ -55,15 +71,20 @@ let }; }; - server = index: { pkgs, ... }: - let - numConsensusServers = builtins.length allConsensusServerHosts; - thisConsensusServerHost = builtins.elemAt allConsensusServerHosts index; - ip = thisConsensusServerHost; # since we already use IPs to identify servers - in + server = + index: + { pkgs, ... }: + let + numConsensusServers = builtins.length allConsensusServerHosts; + thisConsensusServerHost = builtins.elemAt allConsensusServerHosts index; + ip = thisConsensusServerHost; # since we already use IPs to identify servers + in { networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = ip; prefixLength = 16; } + { + address = ip; + prefixLength = 16; + } ]; networking.firewall = firewallSettings; @@ -85,159 +106,162 @@ let # If there's only 1 node in the network, we allow self-join; # otherwise, the node must not try to join itself, and join only the other servers. # See https://github.com/hashicorp/consul/issues/2868 - if numConsensusServers == 1 - then allConsensusServerHosts - else builtins.filter (h: h != thisConsensusServerHost) allConsensusServerHosts; + if numConsensusServers == 1 then + allConsensusServerHosts + else + builtins.filter (h: h != thisConsensusServerHost) allConsensusServerHosts; bind_addr = ip; }; }; }; -in { - name = "consul"; - - nodes = { - server1 = server 0; - server2 = server 1; - server3 = server 2; - - client1 = client 0; - client2 = client 1; - }; - - testScript = '' - servers = [server1, server2, server3] - machines = [server1, server2, server3, client1, client2] - - for m in machines: - m.wait_for_unit("consul.service") - - - def wait_for_healthy_servers(): - # See https://github.com/hashicorp/consul/issues/8118#issuecomment-645330040 - # for why the `Voter` column of `list-peers` has that info. - # TODO: The `grep true` relies on the fact that currently in - # the output like - # # consul operator raft list-peers - # Node ID Address State Voter RaftProtocol - # server3 ... 192.168.1.3:8300 leader true 3 - # server2 ... 192.168.1.2:8300 follower true 3 - # server1 ... 192.168.1.1:8300 follower false 3 - # `Voter`is the only boolean column. - # Change this to the more reliable way to be defined by - # https://github.com/hashicorp/consul/issues/8118 - # once that ticket is closed. - for m in machines: - m.wait_until_succeeds( - "[ $(consul operator raft list-peers | grep true | wc -l) == 3 ]" - ) - - - def wait_for_all_machines_alive(): - """ - Note that Serf-"alive" does not mean "Raft"-healthy; - see `wait_for_healthy_servers()` for that instead. - """ - for m in machines: - m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]") - - - wait_for_healthy_servers() - # Also wait for clients to be alive. - wait_for_all_machines_alive() - - client1.succeed("consul kv put testkey 42") - client2.succeed("[ $(consul kv get testkey) == 42 ]") - - - def rolling_restart_test(proper_rolling_procedure=True): - """ - Tests that the cluster can tolearate failures of any single server, - following the recommended rolling upgrade procedure from - https://www.consul.io/docs/upgrading#standard-upgrades. - - Optionally, `proper_rolling_procedure=False` can be given - to wait only for each server to be back `Healthy`, not `Stable` - in the Raft consensus, see Consul setting `ServerStabilizationTime` and - https://github.com/hashicorp/consul/issues/8118#issuecomment-645330040. - """ - - for server in servers: - server.block() - server.systemctl("stop consul") - - # Make sure the stopped peer is recognized as being down - client1.wait_until_succeeds( - f"[ $(consul members | grep {server.name} | grep -o -E 'failed|left' | wc -l) == 1 ]" - ) - - # For each client, wait until they have connection again - # using `kv get -recurse` before issuing commands. - client1.wait_until_succeeds("consul kv get -recurse") - client2.wait_until_succeeds("consul kv get -recurse") - - # Do some consul actions while one server is down. - client1.succeed("consul kv put testkey 43") - client2.succeed("[ $(consul kv get testkey) == 43 ]") - client2.succeed("consul kv delete testkey") - - server.unblock() - server.systemctl("start consul") - - if proper_rolling_procedure: - # Wait for recovery. - wait_for_healthy_servers() - else: - # NOT proper rolling upgrade procedure, see above. - wait_for_all_machines_alive() - - # Wait for client connections. - client1.wait_until_succeeds("consul kv get -recurse") - client2.wait_until_succeeds("consul kv get -recurse") - - # Do some consul actions with server back up. - client1.succeed("consul kv put testkey 44") - client2.succeed("[ $(consul kv get testkey) == 44 ]") - client2.succeed("consul kv delete testkey") - - - def all_servers_crash_simultaneously_test(): - """ - Tests that the cluster will eventually come back after all - servers crash simultaneously. - """ - - for server in servers: - server.block() - server.systemctl("stop --no-block consul") - - for server in servers: - # --no-block is async, so ensure it has been stopped by now - server.wait_until_fails("systemctl is-active --quiet consul") - server.unblock() - server.systemctl("start consul") - - # Wait for recovery. - wait_for_healthy_servers() - - # Wait for client connections. - client1.wait_until_succeeds("consul kv get -recurse") - client2.wait_until_succeeds("consul kv get -recurse") - - # Do some consul actions with servers back up. - client1.succeed("consul kv put testkey 44") - client2.succeed("[ $(consul kv get testkey) == 44 ]") - client2.succeed("consul kv delete testkey") + in + { + name = "consul"; + + nodes = { + server1 = server 0; + server2 = server 1; + server3 = server 2; + + client1 = client 0; + client2 = client 1; + }; + + testScript = '' + servers = [server1, server2, server3] + machines = [server1, server2, server3, client1, client2] + + for m in machines: + m.wait_for_unit("consul.service") + + + def wait_for_healthy_servers(): + # See https://github.com/hashicorp/consul/issues/8118#issuecomment-645330040 + # for why the `Voter` column of `list-peers` has that info. + # TODO: The `grep true` relies on the fact that currently in + # the output like + # # consul operator raft list-peers + # Node ID Address State Voter RaftProtocol + # server3 ... 192.168.1.3:8300 leader true 3 + # server2 ... 192.168.1.2:8300 follower true 3 + # server1 ... 192.168.1.1:8300 follower false 3 + # `Voter`is the only boolean column. + # Change this to the more reliable way to be defined by + # https://github.com/hashicorp/consul/issues/8118 + # once that ticket is closed. + for m in machines: + m.wait_until_succeeds( + "[ $(consul operator raft list-peers | grep true | wc -l) == 3 ]" + ) + + + def wait_for_all_machines_alive(): + """ + Note that Serf-"alive" does not mean "Raft"-healthy; + see `wait_for_healthy_servers()` for that instead. + """ + for m in machines: + m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]") + + + wait_for_healthy_servers() + # Also wait for clients to be alive. + wait_for_all_machines_alive() + + client1.succeed("consul kv put testkey 42") + client2.succeed("[ $(consul kv get testkey) == 42 ]") + + + def rolling_restart_test(proper_rolling_procedure=True): + """ + Tests that the cluster can tolearate failures of any single server, + following the recommended rolling upgrade procedure from + https://www.consul.io/docs/upgrading#standard-upgrades. + + Optionally, `proper_rolling_procedure=False` can be given + to wait only for each server to be back `Healthy`, not `Stable` + in the Raft consensus, see Consul setting `ServerStabilizationTime` and + https://github.com/hashicorp/consul/issues/8118#issuecomment-645330040. + """ + + for server in servers: + server.block() + server.systemctl("stop consul") + + # Make sure the stopped peer is recognized as being down + client1.wait_until_succeeds( + f"[ $(consul members | grep {server.name} | grep -o -E 'failed|left' | wc -l) == 1 ]" + ) + + # For each client, wait until they have connection again + # using `kv get -recurse` before issuing commands. + client1.wait_until_succeeds("consul kv get -recurse") + client2.wait_until_succeeds("consul kv get -recurse") + + # Do some consul actions while one server is down. + client1.succeed("consul kv put testkey 43") + client2.succeed("[ $(consul kv get testkey) == 43 ]") + client2.succeed("consul kv delete testkey") + + server.unblock() + server.systemctl("start consul") + + if proper_rolling_procedure: + # Wait for recovery. + wait_for_healthy_servers() + else: + # NOT proper rolling upgrade procedure, see above. + wait_for_all_machines_alive() + + # Wait for client connections. + client1.wait_until_succeeds("consul kv get -recurse") + client2.wait_until_succeeds("consul kv get -recurse") + + # Do some consul actions with server back up. + client1.succeed("consul kv put testkey 44") + client2.succeed("[ $(consul kv get testkey) == 44 ]") + client2.succeed("consul kv delete testkey") + + + def all_servers_crash_simultaneously_test(): + """ + Tests that the cluster will eventually come back after all + servers crash simultaneously. + """ + + for server in servers: + server.block() + server.systemctl("stop --no-block consul") + + for server in servers: + # --no-block is async, so ensure it has been stopped by now + server.wait_until_fails("systemctl is-active --quiet consul") + server.unblock() + server.systemctl("start consul") + + # Wait for recovery. + wait_for_healthy_servers() + + # Wait for client connections. + client1.wait_until_succeeds("consul kv get -recurse") + client2.wait_until_succeeds("consul kv get -recurse") + + # Do some consul actions with servers back up. + client1.succeed("consul kv put testkey 44") + client2.succeed("[ $(consul kv get testkey) == 44 ]") + client2.succeed("consul kv delete testkey") - # Run the tests. + # Run the tests. - print("rolling_restart_test()") - rolling_restart_test() - - print("all_servers_crash_simultaneously_test()") - all_servers_crash_simultaneously_test() + print("rolling_restart_test()") + rolling_restart_test() + + print("all_servers_crash_simultaneously_test()") + all_servers_crash_simultaneously_test() - print("rolling_restart_test(proper_rolling_procedure=False)") - rolling_restart_test(proper_rolling_procedure=False) - ''; -}) + print("rolling_restart_test(proper_rolling_procedure=False)") + rolling_restart_test(proper_rolling_procedure=False) + ''; + } +) diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix index 3001db33ba5a3..a8e9f574924fc 100644 --- a/nixos/tests/containers-bridge.nix +++ b/nixos/tests/containers-bridge.nix @@ -5,95 +5,110 @@ let containerIp6 = "fc00::2/7"; in -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-bridge"; - meta = { - maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-bridge"; + meta = { + maintainers = with lib.maintainers; [ + aristid + aszlig + kampfschlaefer + ]; + }; - nodes.machine = - { pkgs, ... }: - { imports = [ ../modules/installer/cd-dvd/channel.nix ]; - virtualisation.writableStore = true; + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; - networking.bridges = { - br0 = { - interfaces = []; + networking.bridges = { + br0 = { + interfaces = [ ]; + }; }; - }; - networking.interfaces = { - br0 = { - ipv4.addresses = [{ address = hostIp; prefixLength = 24; }]; - ipv6.addresses = [{ address = hostIp6; prefixLength = 7; }]; + networking.interfaces = { + br0 = { + ipv4.addresses = [ + { + address = hostIp; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = hostIp6; + prefixLength = 7; + } + ]; + }; }; - }; - containers.webserver = - { + containers.webserver = { autoStart = true; privateNetwork = true; hostBridge = "br0"; localAddress = containerIp; localAddress6 = containerIp6; - config = - { services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; + config = { + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; }; - containers.web-noip = - { + containers.web-noip = { autoStart = true; privateNetwork = true; hostBridge = "br0"; - config = - { services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; + config = { + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; }; + virtualisation.additionalPaths = [ pkgs.stdenv ]; + }; - virtualisation.additionalPaths = [ pkgs.stdenv ]; - }; - - testScript = '' - machine.wait_for_unit("default.target") - assert "webserver" in machine.succeed("nixos-container list") + testScript = '' + machine.wait_for_unit("default.target") + assert "webserver" in machine.succeed("nixos-container list") - with subtest("Start the webserver container"): - assert "up" in machine.succeed("nixos-container status webserver") + with subtest("Start the webserver container"): + assert "up" in machine.succeed("nixos-container status webserver") - with subtest("Bridges exist inside containers"): - machine.succeed( - "nixos-container run webserver -- ip link show eth0", - "nixos-container run web-noip -- ip link show eth0", - ) + with subtest("Bridges exist inside containers"): + machine.succeed( + "nixos-container run webserver -- ip link show eth0", + "nixos-container run web-noip -- ip link show eth0", + ) - ip = "${containerIp}".split("/")[0] - machine.succeed(f"ping -n -c 1 {ip}") - machine.succeed(f"curl --fail http://{ip}/ > /dev/null") + ip = "${containerIp}".split("/")[0] + machine.succeed(f"ping -n -c 1 {ip}") + machine.succeed(f"curl --fail http://{ip}/ > /dev/null") - ip6 = "${containerIp6}".split("/")[0] - machine.succeed(f"ping -n -c 1 {ip6}") - machine.succeed(f"curl --fail http://[{ip6}]/ > /dev/null") + ip6 = "${containerIp6}".split("/")[0] + machine.succeed(f"ping -n -c 1 {ip6}") + machine.succeed(f"curl --fail http://[{ip6}]/ > /dev/null") - with subtest( - "nixos-container show-ip works in case of an ipv4 address " - + "with subnetmask in CIDR notation." - ): - result = machine.succeed("nixos-container show-ip webserver").rstrip() - assert result == ip + with subtest( + "nixos-container show-ip works in case of an ipv4 address " + + "with subnetmask in CIDR notation." + ): + result = machine.succeed("nixos-container show-ip webserver").rstrip() + assert result == ip - with subtest("Stop the container"): - machine.succeed("nixos-container stop webserver") - machine.fail( - f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null", - f"curl --fail --connect-timeout 2 http://[{ip6}]/ > /dev/null", - ) + with subtest("Stop the container"): + machine.succeed("nixos-container stop webserver") + machine.fail( + f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null", + f"curl --fail --connect-timeout 2 http://[{ip6}]/ > /dev/null", + ) - # Destroying a declarative container should fail. - machine.fail("nixos-container destroy webserver") - ''; -}) + # Destroying a declarative container should fail. + machine.fail("nixos-container destroy webserver") + ''; + } +) diff --git a/nixos/tests/containers-custom-pkgs.nix b/nixos/tests/containers-custom-pkgs.nix index 57184787c85f6..74b1ea207b683 100644 --- a/nixos/tests/containers-custom-pkgs.nix +++ b/nixos/tests/containers-custom-pkgs.nix @@ -1,34 +1,48 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: let +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let - customPkgs = pkgs.appendOverlays [ (self: super: { - hello = super.hello.overrideAttrs (old: { - name = "custom-hello"; - }); - }) ]; + customPkgs = pkgs.appendOverlays [ + (self: super: { + hello = super.hello.overrideAttrs (old: { + name = "custom-hello"; + }); + }) + ]; -in { - name = "containers-custom-pkgs"; - meta = { - maintainers = with lib.maintainers; [ erikarvstedt ]; - }; + in + { + name = "containers-custom-pkgs"; + meta = { + maintainers = with lib.maintainers; [ erikarvstedt ]; + }; - nodes.machine = { config, ... }: { - assertions = let - helloName = (builtins.head config.containers.test.config.system.extraDependencies).name; - in [ { - assertion = helloName == "custom-hello"; - message = "Unexpected value: ${helloName}"; - } ]; + nodes.machine = + { config, ... }: + { + assertions = + let + helloName = (builtins.head config.containers.test.config.system.extraDependencies).name; + in + [ + { + assertion = helloName == "custom-hello"; + message = "Unexpected value: ${helloName}"; + } + ]; - containers.test = { - autoStart = true; - config = { pkgs, config, ... }: { - nixpkgs.pkgs = customPkgs; - system.extraDependencies = [ pkgs.hello ]; + containers.test = { + autoStart = true; + config = + { pkgs, config, ... }: + { + nixpkgs.pkgs = customPkgs; + system.extraDependencies = [ pkgs.hello ]; + }; + }; }; - }; - }; - # This test only consists of evaluating the test machine - testScript = "pass"; -}) + # This test only consists of evaluating the test machine + testScript = "pass"; + } +) diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix index cb4b7d4eba0fd..5204ba67e26b8 100644 --- a/nixos/tests/containers-ephemeral.nix +++ b/nixos/tests/containers-ephemeral.nix @@ -1,54 +1,59 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-ephemeral"; - meta = { - maintainers = with lib.maintainers; [ patryk27 ]; - }; - - nodes.machine = { pkgs, ... }: { - virtualisation.writableStore = true; - - containers.webserver = { - ephemeral = true; - privateNetwork = true; - hostAddress = "10.231.136.1"; - localAddress = "10.231.136.2"; - config = { - services.nginx = { - enable = true; - virtualHosts.localhost = { - root = pkgs.runCommand "localhost" {} '' - mkdir "$out" - echo hello world > "$out/index.html" - ''; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-ephemeral"; + meta = { + maintainers = with lib.maintainers; [ patryk27 ]; + }; + + nodes.machine = + { pkgs, ... }: + { + virtualisation.writableStore = true; + + containers.webserver = { + ephemeral = true; + privateNetwork = true; + hostAddress = "10.231.136.1"; + localAddress = "10.231.136.2"; + config = { + services.nginx = { + enable = true; + virtualHosts.localhost = { + root = pkgs.runCommand "localhost" { } '' + mkdir "$out" + echo hello world > "$out/index.html" + ''; + }; + }; + networking.firewall.allowedTCPPorts = [ 80 ]; }; }; - networking.firewall.allowedTCPPorts = [ 80 ]; }; - }; - }; - testScript = '' - assert "webserver" in machine.succeed("nixos-container list") + testScript = '' + assert "webserver" in machine.succeed("nixos-container list") - machine.succeed("nixos-container start webserver") + machine.succeed("nixos-container start webserver") - with subtest("Container got its own root folder"): - machine.succeed("ls /run/nixos-containers/webserver") + with subtest("Container got its own root folder"): + machine.succeed("ls /run/nixos-containers/webserver") - with subtest("Container persistent directory is not created"): - machine.fail("ls /var/lib/nixos-containers/webserver") + with subtest("Container persistent directory is not created"): + machine.fail("ls /var/lib/nixos-containers/webserver") - # Since "start" returns after the container has reached - # multi-user.target, we should now be able to access it. - ip = machine.succeed("nixos-container show-ip webserver").rstrip() - machine.succeed(f"ping -n -c1 {ip}") - machine.succeed(f"curl --fail http://{ip}/ > /dev/null") + # Since "start" returns after the container has reached + # multi-user.target, we should now be able to access it. + ip = machine.succeed("nixos-container show-ip webserver").rstrip() + machine.succeed(f"ping -n -c1 {ip}") + machine.succeed(f"curl --fail http://{ip}/ > /dev/null") - with subtest("Stop the container"): - machine.succeed("nixos-container stop webserver") - machine.fail(f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null") + with subtest("Stop the container"): + machine.succeed("nixos-container stop webserver") + machine.fail(f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null") - with subtest("Container's root folder was removed"): - machine.fail("ls /run/nixos-containers/webserver") - ''; -}) + with subtest("Container's root folder was removed"): + machine.fail("ls /run/nixos-containers/webserver") + ''; + } +) diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix index f3e62265f6c4f..ed3b8099036b6 100644 --- a/nixos/tests/containers-extra_veth.nix +++ b/nixos/tests/containers-extra_veth.nix @@ -1,54 +1,77 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-extra_veth"; - meta = { - maintainers = with lib.maintainers; [ kampfschlaefer ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-extra_veth"; + meta = { + maintainers = with lib.maintainers; [ kampfschlaefer ]; + }; - nodes.machine = - { pkgs, ... }: - { imports = [ ../modules/installer/cd-dvd/channel.nix ]; - virtualisation.writableStore = true; - virtualisation.vlans = []; + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; + virtualisation.vlans = [ ]; - networking.useDHCP = false; - networking.bridges = { - br0 = { - interfaces = []; - }; - br1 = { interfaces = []; }; - }; - networking.interfaces = { - br0 = { - ipv4.addresses = [{ address = "192.168.0.1"; prefixLength = 24; }]; - ipv6.addresses = [{ address = "fc00::1"; prefixLength = 7; }]; + networking.useDHCP = false; + networking.bridges = { + br0 = { + interfaces = [ ]; + }; + br1 = { + interfaces = [ ]; + }; }; - br1 = { - ipv4.addresses = [{ address = "192.168.1.1"; prefixLength = 24; }]; + networking.interfaces = { + br0 = { + ipv4.addresses = [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = "fc00::1"; + prefixLength = 7; + } + ]; + }; + br1 = { + ipv4.addresses = [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + }; }; - }; - containers.webserver = - { + containers.webserver = { autoStart = true; privateNetwork = true; hostBridge = "br0"; localAddress = "192.168.0.100/24"; localAddress6 = "fc00::2/7"; extraVeths = { - veth1 = { hostBridge = "br1"; localAddress = "192.168.1.100/24"; }; - veth2 = { hostAddress = "192.168.2.1"; localAddress = "192.168.2.100"; }; - }; - config = - { - networking.firewall.allowedTCPPorts = [ 80 ]; + veth1 = { + hostBridge = "br1"; + localAddress = "192.168.1.100/24"; }; + veth2 = { + hostAddress = "192.168.2.1"; + localAddress = "192.168.2.100"; + }; + }; + config = { + networking.firewall.allowedTCPPorts = [ 80 ]; + }; }; - virtualisation.additionalPaths = [ pkgs.stdenv ]; - }; + virtualisation.additionalPaths = [ pkgs.stdenv ]; + }; - testScript = - '' + testScript = '' machine.wait_for_unit("default.target") assert "webserver" in machine.succeed("nixos-container list") @@ -88,4 +111,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { with subtest("Destroying a declarative container should fail"): machine.fail("nixos-container destroy webserver") ''; -}) + } +) diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix index 7bce7c997efee..0e5f50f5292c1 100644 --- a/nixos/tests/containers-hosts.nix +++ b/nixos/tests/containers-hosts.nix @@ -1,49 +1,55 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-hosts"; - meta = { - maintainers = with lib.maintainers; [ montag451 ]; - }; - - nodes.machine = - { lib, ... }: - { - virtualisation.vlans = []; - - networking.bridges.br0.interfaces = []; - networking.interfaces.br0.ipv4.addresses = [ - { address = "10.11.0.254"; prefixLength = 24; } - ]; - - # Force /etc/hosts to be the only source for host name resolution - environment.etc."nsswitch.conf".text = lib.mkForce '' - hosts: files - ''; - - containers.simple = { - autoStart = true; - privateNetwork = true; - localAddress = "10.10.0.1"; - hostAddress = "10.10.0.254"; - - config = {}; - }; - - containers.netmask = { - autoStart = true; - privateNetwork = true; - hostBridge = "br0"; - localAddress = "10.11.0.1/24"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-hosts"; + meta = { + maintainers = with lib.maintainers; [ montag451 ]; + }; - config = {}; + nodes.machine = + { lib, ... }: + { + virtualisation.vlans = [ ]; + + networking.bridges.br0.interfaces = [ ]; + networking.interfaces.br0.ipv4.addresses = [ + { + address = "10.11.0.254"; + prefixLength = 24; + } + ]; + + # Force /etc/hosts to be the only source for host name resolution + environment.etc."nsswitch.conf".text = lib.mkForce '' + hosts: files + ''; + + containers.simple = { + autoStart = true; + privateNetwork = true; + localAddress = "10.10.0.1"; + hostAddress = "10.10.0.254"; + + config = { }; + }; + + containers.netmask = { + autoStart = true; + privateNetwork = true; + hostBridge = "br0"; + localAddress = "10.11.0.1/24"; + + config = { }; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("default.target") + testScript = '' + start_all() + machine.wait_for_unit("default.target") - with subtest("Ping the containers using the entries added in /etc/hosts"): - for host in "simple.containers", "netmask.containers": - machine.succeed(f"ping -n -c 1 {host}") - ''; -}) + with subtest("Ping the containers using the entries added in /etc/hosts"): + for host in "simple.containers", "netmask.containers": + machine.succeed(f"ping -n -c 1 {host}") + ''; + } +) diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index c654c43788078..f1bd56519c6d2 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -1,171 +1,197 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-imperative"; - meta = { - maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ]; - }; - - nodes.machine = - { config, pkgs, lib, ... }: - { imports = [ ../modules/installer/cd-dvd/channel.nix ]; - - # XXX: Sandbox setup fails while trying to hardlink files from the host's - # store file system into the prepared chroot directory. - nix.settings.sandbox = false; - nix.settings.substituters = []; # don't try to access cache.nixos.org - - virtualisation.memorySize = 2048; - virtualisation.writableStore = true; - # Make sure we always have all the required dependencies for creating a - # container available within the VM, because we don't have network access. - virtualisation.additionalPaths = let - emptyContainer = import ../lib/eval-config.nix { - modules = lib.singleton { - nixpkgs = { inherit (config.nixpkgs) localSystem; }; - - containers.foo.config = {}; - }; - - # The system is inherited from the host above. - # Set it to null, to remove the "legacy" entrypoint's non-hermetic default. - system = null; - }; - in with pkgs; [ - stdenv stdenvNoCC emptyContainer.config.containers.foo.path - libxslt desktop-file-utils texinfo docbook5 libxml2 - docbook_xsl_ns xorg.lndir documentation-highlighter - perlPackages.ConfigIniFiles +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-imperative"; + meta = { + maintainers = with lib.maintainers; [ + aristid + aszlig + kampfschlaefer ]; }; - testScript = let - tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" '' - { - systemd.tmpfiles.rules = [ "d /foo - - - - -" ]; - systemd.services.foo = { - serviceConfig.Type = "oneshot"; - script = "ls -al /foo"; - wantedBy = [ "multi-user.target" ]; - }; - } - ''; - brokenCfg = pkgs.writeText "broken.nix" '' - { - assertions = [ - { assertion = false; - message = "I never evaluate"; - } + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + { + imports = [ ../modules/installer/cd-dvd/channel.nix ]; + + # XXX: Sandbox setup fails while trying to hardlink files from the host's + # store file system into the prepared chroot directory. + nix.settings.sandbox = false; + nix.settings.substituters = [ ]; # don't try to access cache.nixos.org + + virtualisation.memorySize = 2048; + virtualisation.writableStore = true; + # Make sure we always have all the required dependencies for creating a + # container available within the VM, because we don't have network access. + virtualisation.additionalPaths = + let + emptyContainer = import ../lib/eval-config.nix { + modules = lib.singleton { + nixpkgs = { inherit (config.nixpkgs) localSystem; }; + + containers.foo.config = { }; + }; + + # The system is inherited from the host above. + # Set it to null, to remove the "legacy" entrypoint's non-hermetic default. + system = null; + }; + in + with pkgs; + [ + stdenv + stdenvNoCC + emptyContainer.config.containers.foo.path + libxslt + desktop-file-utils + texinfo + docbook5 + libxml2 + docbook_xsl_ns + xorg.lndir + documentation-highlighter + perlPackages.ConfigIniFiles ]; - } + }; + + testScript = + let + tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" '' + { + systemd.tmpfiles.rules = [ "d /foo - - - - -" ]; + systemd.services.foo = { + serviceConfig.Type = "oneshot"; + script = "ls -al /foo"; + wantedBy = [ "multi-user.target" ]; + }; + } + ''; + brokenCfg = pkgs.writeText "broken.nix" '' + { + assertions = [ + { assertion = false; + message = "I never evaluate"; + } + ]; + } + ''; + in + '' + with subtest("Make sure we have a NixOS tree (required by ‘nixos-container create’)"): + machine.succeed("PAGER=cat nix-env -qa -A nixos.hello >&2") + + id1, id2 = None, None + + with subtest("Create some containers imperatively"): + id1 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip() + machine.log(f"created container {id1}") + + id2 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip() + machine.log(f"created container {id2}") + + assert id1 != id2 + + with subtest(f"Put the root of {id2} into a bind mount"): + machine.succeed( + f"mv /var/lib/nixos-containers/{id2} /id2-bindmount", + f"mount --bind /id2-bindmount /var/lib/nixos-containers/{id1}", + ) + + ip1 = machine.succeed(f"nixos-container show-ip {id1}").rstrip() + ip2 = machine.succeed(f"nixos-container show-ip {id2}").rstrip() + assert ip1 != ip2 + + with subtest( + "Create a directory and a file we can later check if it still exists " + + "after destruction of the container" + ): + machine.succeed("mkdir /nested-bindmount") + machine.succeed("echo important data > /nested-bindmount/dummy") + + with subtest( + "Create a directory with a dummy file and bind-mount it into both containers." + ): + for id in id1, id2: + important_path = f"/var/lib/nixos-containers/{id}/very/important/data" + machine.succeed( + f"mkdir -p {important_path}", + f"mount --bind /nested-bindmount {important_path}", + ) + + with subtest("Start one of them"): + machine.succeed(f"nixos-container start {id1}") + + with subtest("Execute commands via the root shell"): + assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname") + + with subtest("Execute a nix command via the root shell. (regression test for #40355)"): + machine.succeed( + f"nixos-container run {id1} -- nix-instantiate -E " + + '\'derivation { name = "empty"; builder = "false"; system = "false"; }\' ' + ) + + with subtest("Stop and start (regression test for #4989)"): + machine.succeed(f"nixos-container stop {id1}") + machine.succeed(f"nixos-container start {id1}") + + # clear serial backlog for next tests + machine.succeed("logger eat console backlog 3ea46eb2-7f82-4f70-b810-3f00e3dd4c4d") + machine.wait_for_console_text( + "eat console backlog 3ea46eb2-7f82-4f70-b810-3f00e3dd4c4d" + ) + + with subtest("Stop a container early"): + machine.succeed(f"nixos-container stop {id1}") + machine.succeed(f"nixos-container start {id1} >&2 &") + machine.wait_for_console_text("Stage 2") + machine.succeed(f"nixos-container stop {id1}") + machine.wait_for_console_text(f"Container {id1} exited successfully") + machine.succeed(f"nixos-container start {id1}") + + with subtest("Stop a container without machined (regression test for #109695)"): + machine.systemctl("stop systemd-machined") + machine.succeed(f"nixos-container stop {id1}") + machine.wait_for_console_text(f"Container {id1} has been shut down") + machine.succeed(f"nixos-container start {id1}") + + with subtest("tmpfiles are present"): + machine.log("creating container tmpfiles") + machine.succeed( + "nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}" + ) + machine.log("created, starting…") + machine.succeed("nixos-container start tmpfiles") + machine.log("done starting, investigating…") + machine.succeed( + "echo $(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;" + ) + machine.succeed("nixos-container destroy tmpfiles") + + with subtest("Execute commands via the root shell"): + assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname") + + with subtest("Destroy the containers"): + for id in id1, id2: + machine.succeed(f"nixos-container destroy {id}") + + with subtest("Check whether destruction of any container has killed important data"): + machine.succeed("grep -qF 'important data' /nested-bindmount/dummy") + + with subtest("Ensure that the container path is gone"): + print(machine.succeed("ls -lsa /var/lib/nixos-containers")) + machine.succeed(f"test ! -e /var/lib/nixos-containers/{id1}") + + with subtest("Ensure that a failed container creation doesn'leave any state"): + machine.fail( + "nixos-container create b0rk --config-file ${brokenCfg}" + ) + machine.succeed("test ! -e /var/lib/nixos-containers/b0rk") ''; - in '' - with subtest("Make sure we have a NixOS tree (required by ‘nixos-container create’)"): - machine.succeed("PAGER=cat nix-env -qa -A nixos.hello >&2") - - id1, id2 = None, None - - with subtest("Create some containers imperatively"): - id1 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip() - machine.log(f"created container {id1}") - - id2 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip() - machine.log(f"created container {id2}") - - assert id1 != id2 - - with subtest(f"Put the root of {id2} into a bind mount"): - machine.succeed( - f"mv /var/lib/nixos-containers/{id2} /id2-bindmount", - f"mount --bind /id2-bindmount /var/lib/nixos-containers/{id1}", - ) - - ip1 = machine.succeed(f"nixos-container show-ip {id1}").rstrip() - ip2 = machine.succeed(f"nixos-container show-ip {id2}").rstrip() - assert ip1 != ip2 - - with subtest( - "Create a directory and a file we can later check if it still exists " - + "after destruction of the container" - ): - machine.succeed("mkdir /nested-bindmount") - machine.succeed("echo important data > /nested-bindmount/dummy") - - with subtest( - "Create a directory with a dummy file and bind-mount it into both containers." - ): - for id in id1, id2: - important_path = f"/var/lib/nixos-containers/{id}/very/important/data" - machine.succeed( - f"mkdir -p {important_path}", - f"mount --bind /nested-bindmount {important_path}", - ) - - with subtest("Start one of them"): - machine.succeed(f"nixos-container start {id1}") - - with subtest("Execute commands via the root shell"): - assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname") - - with subtest("Execute a nix command via the root shell. (regression test for #40355)"): - machine.succeed( - f"nixos-container run {id1} -- nix-instantiate -E " - + '\'derivation { name = "empty"; builder = "false"; system = "false"; }\' ' - ) - - with subtest("Stop and start (regression test for #4989)"): - machine.succeed(f"nixos-container stop {id1}") - machine.succeed(f"nixos-container start {id1}") - - # clear serial backlog for next tests - machine.succeed("logger eat console backlog 3ea46eb2-7f82-4f70-b810-3f00e3dd4c4d") - machine.wait_for_console_text( - "eat console backlog 3ea46eb2-7f82-4f70-b810-3f00e3dd4c4d" - ) - - with subtest("Stop a container early"): - machine.succeed(f"nixos-container stop {id1}") - machine.succeed(f"nixos-container start {id1} >&2 &") - machine.wait_for_console_text("Stage 2") - machine.succeed(f"nixos-container stop {id1}") - machine.wait_for_console_text(f"Container {id1} exited successfully") - machine.succeed(f"nixos-container start {id1}") - - with subtest("Stop a container without machined (regression test for #109695)"): - machine.systemctl("stop systemd-machined") - machine.succeed(f"nixos-container stop {id1}") - machine.wait_for_console_text(f"Container {id1} has been shut down") - machine.succeed(f"nixos-container start {id1}") - - with subtest("tmpfiles are present"): - machine.log("creating container tmpfiles") - machine.succeed( - "nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}" - ) - machine.log("created, starting…") - machine.succeed("nixos-container start tmpfiles") - machine.log("done starting, investigating…") - machine.succeed( - "echo $(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;" - ) - machine.succeed("nixos-container destroy tmpfiles") - - with subtest("Execute commands via the root shell"): - assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname") - - with subtest("Destroy the containers"): - for id in id1, id2: - machine.succeed(f"nixos-container destroy {id}") - - with subtest("Check whether destruction of any container has killed important data"): - machine.succeed("grep -qF 'important data' /nested-bindmount/dummy") - - with subtest("Ensure that the container path is gone"): - print(machine.succeed("ls -lsa /var/lib/nixos-containers")) - machine.succeed(f"test ! -e /var/lib/nixos-containers/{id1}") - - with subtest("Ensure that a failed container creation doesn'leave any state"): - machine.fail( - "nixos-container create b0rk --config-file ${brokenCfg}" - ) - machine.succeed("test ! -e /var/lib/nixos-containers/b0rk") - ''; -}) + } +) diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix index 034e5d660415a..979fb365126d7 100644 --- a/nixos/tests/containers-ip.nix +++ b/nixos/tests/containers-ip.nix @@ -11,61 +11,72 @@ let }; }; -in import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-ipv4-ipv6"; - meta = { - maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ]; - }; +in +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-ipv4-ipv6"; + meta = { + maintainers = with lib.maintainers; [ + aristid + aszlig + kampfschlaefer + ]; + }; - nodes.machine = - { pkgs, ... }: { - virtualisation.writableStore = true; + nodes.machine = + { pkgs, ... }: + { + virtualisation.writableStore = true; - containers.webserver4 = webserverFor "10.231.136.1" "10.231.136.2"; - containers.webserver6 = webserverFor "fc00::2" "fc00::1"; - virtualisation.additionalPaths = [ pkgs.stdenv ]; - }; + containers.webserver4 = webserverFor "10.231.136.1" "10.231.136.2"; + containers.webserver6 = webserverFor "fc00::2" "fc00::1"; + virtualisation.additionalPaths = [ pkgs.stdenv ]; + }; - testScript = { nodes, ... }: '' - import time + testScript = + { nodes, ... }: + '' + import time - def curl_host(ip): - # put [] around ipv6 addresses for curl - host = ip if ":" not in ip else f"[{ip}]" - return f"curl --fail --connect-timeout 2 http://{host}/ > /dev/null" + def curl_host(ip): + # put [] around ipv6 addresses for curl + host = ip if ":" not in ip else f"[{ip}]" + return f"curl --fail --connect-timeout 2 http://{host}/ > /dev/null" - def get_ip(container): - # need to distinguish because show-ip won't work for ipv6 - if container == "webserver4": - ip = machine.succeed(f"nixos-container show-ip {container}").rstrip() - assert ip == "${nodes.machine.config.containers.webserver4.localAddress}" - return ip - return "${nodes.machine.config.containers.webserver6.localAddress}" + def get_ip(container): + # need to distinguish because show-ip won't work for ipv6 + if container == "webserver4": + ip = machine.succeed(f"nixos-container show-ip {container}").rstrip() + assert ip == "${nodes.machine.config.containers.webserver4.localAddress}" + return ip + return "${nodes.machine.config.containers.webserver6.localAddress}" - for container in "webserver4", "webserver6": - assert container in machine.succeed("nixos-container list") + for container in "webserver4", "webserver6": + assert container in machine.succeed("nixos-container list") - with subtest(f"Start container {container}"): - machine.succeed(f"nixos-container start {container}") - # wait 2s for container to start and network to be up - time.sleep(2) + with subtest(f"Start container {container}"): + machine.succeed(f"nixos-container start {container}") + # wait 2s for container to start and network to be up + time.sleep(2) - # Since "start" returns after the container has reached - # multi-user.target, we should now be able to access it. + # Since "start" returns after the container has reached + # multi-user.target, we should now be able to access it. - ip = get_ip(container) - with subtest(f"{container} reacts to pings and HTTP requests"): - machine.succeed(f"ping -n -c1 {ip}") - machine.succeed(curl_host(ip)) + ip = get_ip(container) + with subtest(f"{container} reacts to pings and HTTP requests"): + machine.succeed(f"ping -n -c1 {ip}") + machine.succeed(curl_host(ip)) - with subtest(f"Stop container {container}"): - machine.succeed(f"nixos-container stop {container}") - machine.fail(curl_host(ip)) + with subtest(f"Stop container {container}"): + machine.succeed(f"nixos-container stop {container}") + machine.fail(curl_host(ip)) - # Destroying a declarative container should fail. - machine.fail(f"nixos-container destroy {container}") - ''; -}) + # Destroying a declarative container should fail. + machine.fail(f"nixos-container destroy {container}") + ''; + } +) diff --git a/nixos/tests/containers-macvlans.nix b/nixos/tests/containers-macvlans.nix index a0cea8db4a1ab..3ebfef9d0bc82 100644 --- a/nixos/tests/containers-macvlans.nix +++ b/nixos/tests/containers-macvlans.nix @@ -4,79 +4,97 @@ let containerIp2 = "192.168.1.254"; in -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-macvlans"; - meta = { - maintainers = with lib.maintainers; [ montag451 ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-macvlans"; + meta = { + maintainers = with lib.maintainers; [ montag451 ]; + }; - nodes = { + nodes = { - machine1 = - { lib, ... }: - { - virtualisation.vlans = [ 1 ]; + machine1 = + { lib, ... }: + { + virtualisation.vlans = [ 1 ]; - # To be able to ping containers from the host, it is necessary - # to create a macvlan on the host on the VLAN 1 network. - networking.macvlans.mv-eth1-host = { - interface = "eth1"; - mode = "bridge"; - }; - networking.interfaces.eth1.ipv4.addresses = lib.mkForce []; - networking.interfaces.mv-eth1-host = { - ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ]; - }; + # To be able to ping containers from the host, it is necessary + # to create a macvlan on the host on the VLAN 1 network. + networking.macvlans.mv-eth1-host = { + interface = "eth1"; + mode = "bridge"; + }; + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ ]; + networking.interfaces.mv-eth1-host = { + ipv4.addresses = [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + }; - containers.test1 = { - autoStart = true; - macvlans = [ "eth1" ]; + containers.test1 = { + autoStart = true; + macvlans = [ "eth1" ]; - config = { - networking.interfaces.mv-eth1 = { - ipv4.addresses = [ { address = containerIp1; prefixLength = 24; } ]; + config = { + networking.interfaces.mv-eth1 = { + ipv4.addresses = [ + { + address = containerIp1; + prefixLength = 24; + } + ]; + }; }; }; - }; - containers.test2 = { - autoStart = true; - macvlans = [ "eth1" ]; + containers.test2 = { + autoStart = true; + macvlans = [ "eth1" ]; - config = { - networking.interfaces.mv-eth1 = { - ipv4.addresses = [ { address = containerIp2; prefixLength = 24; } ]; + config = { + networking.interfaces.mv-eth1 = { + ipv4.addresses = [ + { + address = containerIp2; + prefixLength = 24; + } + ]; + }; }; }; }; - }; - machine2 = - { ... }: - { - virtualisation.vlans = [ 1 ]; - }; + machine2 = + { ... }: + { + virtualisation.vlans = [ 1 ]; + }; - }; + }; - testScript = '' - start_all() - machine1.wait_for_unit("default.target") - machine2.wait_for_unit("default.target") + testScript = '' + start_all() + machine1.wait_for_unit("default.target") + machine2.wait_for_unit("default.target") - with subtest( - "Ping between containers to check that macvlans are created in bridge mode" - ): - machine1.succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}") + with subtest( + "Ping between containers to check that macvlans are created in bridge mode" + ): + machine1.succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}") - with subtest("Ping containers from the host (machine1)"): - machine1.succeed("ping -n -c 1 ${containerIp1}") - machine1.succeed("ping -n -c 1 ${containerIp2}") + with subtest("Ping containers from the host (machine1)"): + machine1.succeed("ping -n -c 1 ${containerIp1}") + machine1.succeed("ping -n -c 1 ${containerIp2}") - with subtest( - "Ping containers from the second machine to check that containers are reachable from the outside" - ): - machine2.succeed("ping -n -c 1 ${containerIp1}") - machine2.succeed("ping -n -c 1 ${containerIp2}") - ''; -}) + with subtest( + "Ping containers from the second machine to check that containers are reachable from the outside" + ): + machine2.succeed("ping -n -c 1 ${containerIp1}") + machine2.succeed("ping -n -c 1 ${containerIp2}") + ''; + } +) diff --git a/nixos/tests/containers-names.nix b/nixos/tests/containers-names.nix index 721f64990724e..2ed047b62fe2e 100644 --- a/nixos/tests/containers-names.nix +++ b/nixos/tests/containers-names.nix @@ -1,37 +1,44 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-names"; - meta = { - maintainers = with lib.maintainers; [ patryk27 ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-names"; + meta = { + maintainers = with lib.maintainers; [ patryk27 ]; + }; - nodes.machine = { ... }: { - # We're using the newest kernel, so that we can test containers with long names. - # Please see https://github.com/NixOS/nixpkgs/issues/38509 for details. - boot.kernelPackages = pkgs.linuxPackages_latest; + nodes.machine = + { ... }: + { + # We're using the newest kernel, so that we can test containers with long names. + # Please see https://github.com/NixOS/nixpkgs/issues/38509 for details. + boot.kernelPackages = pkgs.linuxPackages_latest; - containers = let - container = subnet: { - autoStart = true; - privateNetwork = true; - hostAddress = "192.168.${subnet}.1"; - localAddress = "192.168.${subnet}.2"; - config = { }; - }; + containers = + let + container = subnet: { + autoStart = true; + privateNetwork = true; + hostAddress = "192.168.${subnet}.1"; + localAddress = "192.168.${subnet}.2"; + config = { }; + }; - in { - first = container "1"; - second = container "2"; - really-long-name = container "3"; - really-long-long-name-2 = container "4"; - }; - }; + in + { + first = container "1"; + second = container "2"; + really-long-name = container "3"; + really-long-long-name-2 = container "4"; + }; + }; - testScript = '' - machine.wait_for_unit("default.target") + testScript = '' + machine.wait_for_unit("default.target") - machine.succeed("ip link show | grep ve-first") - machine.succeed("ip link show | grep ve-second") - machine.succeed("ip link show | grep ve-really-lFYWO") - machine.succeed("ip link show | grep ve-really-l3QgY") - ''; -}) + machine.succeed("ip link show | grep ve-first") + machine.succeed("ip link show | grep ve-second") + machine.succeed("ip link show | grep ve-really-lFYWO") + machine.succeed("ip link show | grep ve-really-l3QgY") + ''; + } +) diff --git a/nixos/tests/containers-nested.nix b/nixos/tests/containers-nested.nix index 4a9fb8f01e241..a274b64c443e3 100644 --- a/nixos/tests/containers-nested.nix +++ b/nixos/tests/containers-nested.nix @@ -1,30 +1,36 @@ # Test for NixOS' container nesting. -import ./make-test-python.nix ({ pkgs, ... }: { - name = "nested"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nested"; - meta = with pkgs.lib.maintainers; { maintainers = [ sorki ]; }; + meta = with pkgs.lib.maintainers; { + maintainers = [ sorki ]; + }; - nodes.machine = { lib, ... }: - let - makeNested = subConf: { - containers.nested = { - autoStart = true; - privateNetwork = true; - config = subConf; + nodes.machine = + { lib, ... }: + let + makeNested = subConf: { + containers.nested = { + autoStart = true; + privateNetwork = true; + config = subConf; + }; }; - }; - in makeNested (makeNested { }); - - testScript = '' - machine.start() - machine.wait_for_unit("container@nested.service") - machine.succeed("systemd-run --pty --machine=nested -- machinectl list | grep nested") - print( - machine.succeed( - "systemd-run --pty --machine=nested -- systemd-run --pty --machine=nested -- systemctl status" - ) - ) - ''; -}) + in + makeNested (makeNested { }); + testScript = '' + machine.start() + machine.wait_for_unit("container@nested.service") + machine.succeed("systemd-run --pty --machine=nested -- machinectl list | grep nested") + print( + machine.succeed( + "systemd-run --pty --machine=nested -- systemd-run --pty --machine=nested -- systemctl status" + ) + ) + ''; + } +) diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix index e203f88786a3e..efe7982c67629 100644 --- a/nixos/tests/containers-physical_interfaces.nix +++ b/nixos/tests/containers-physical_interfaces.nix @@ -1,131 +1,153 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-physical_interfaces"; - meta = { - maintainers = with lib.maintainers; [ kampfschlaefer ]; - }; - - nodes = { - server = { ... }: - { - virtualisation.vlans = [ 1 ]; - - containers.server = { - privateNetwork = true; - interfaces = [ "eth1" ]; - - config = { - networking.interfaces.eth1.ipv4.addresses = [ - { address = "10.10.0.1"; prefixLength = 24; } - ]; - networking.firewall.enable = false; - }; - }; - }; - bridged = { ... }: { - virtualisation.vlans = [ 1 ]; - - containers.bridged = { - privateNetwork = true; - interfaces = [ "eth1" ]; - - config = { - networking.bridges.br0.interfaces = [ "eth1" ]; - networking.interfaces.br0.ipv4.addresses = [ - { address = "10.10.0.2"; prefixLength = 24; } - ]; - networking.firewall.enable = false; - }; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-physical_interfaces"; + meta = { + maintainers = with lib.maintainers; [ kampfschlaefer ]; }; - bonded = { ... }: { - virtualisation.vlans = [ 1 ]; + nodes = { + server = + { ... }: + { + virtualisation.vlans = [ 1 ]; + + containers.server = { + privateNetwork = true; + interfaces = [ "eth1" ]; - containers.bonded = { - privateNetwork = true; - interfaces = [ "eth1" ]; + config = { + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "10.10.0.1"; + prefixLength = 24; + } + ]; + networking.firewall.enable = false; + }; + }; + }; + bridged = + { ... }: + { + virtualisation.vlans = [ 1 ]; - config = { - networking.bonds.bond0 = { + containers.bridged = { + privateNetwork = true; interfaces = [ "eth1" ]; - driverOptions.mode = "active-backup"; + + config = { + networking.bridges.br0.interfaces = [ "eth1" ]; + networking.interfaces.br0.ipv4.addresses = [ + { + address = "10.10.0.2"; + prefixLength = 24; + } + ]; + networking.firewall.enable = false; + }; }; - networking.interfaces.bond0.ipv4.addresses = [ - { address = "10.10.0.3"; prefixLength = 24; } - ]; - networking.firewall.enable = false; }; - }; - }; - bridgedbond = { ... }: { - virtualisation.vlans = [ 1 ]; + bonded = + { ... }: + { + virtualisation.vlans = [ 1 ]; + + containers.bonded = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bonds.bond0 = { + interfaces = [ "eth1" ]; + driverOptions.mode = "active-backup"; + }; + networking.interfaces.bond0.ipv4.addresses = [ + { + address = "10.10.0.3"; + prefixLength = 24; + } + ]; + networking.firewall.enable = false; + }; + }; + }; - containers.bridgedbond = { - privateNetwork = true; - interfaces = [ "eth1" ]; + bridgedbond = + { ... }: + { + virtualisation.vlans = [ 1 ]; - config = { - networking.bonds.bond0 = { + containers.bridgedbond = { + privateNetwork = true; interfaces = [ "eth1" ]; - driverOptions.mode = "active-backup"; + + config = { + networking.bonds.bond0 = { + interfaces = [ "eth1" ]; + driverOptions.mode = "active-backup"; + }; + networking.bridges.br0.interfaces = [ "bond0" ]; + networking.interfaces.br0.ipv4.addresses = [ + { + address = "10.10.0.4"; + prefixLength = 24; + } + ]; + networking.firewall.enable = false; + }; }; - networking.bridges.br0.interfaces = [ "bond0" ]; - networking.interfaces.br0.ipv4.addresses = [ - { address = "10.10.0.4"; prefixLength = 24; } - ]; - networking.firewall.enable = false; }; - }; }; - }; - - testScript = '' - start_all() - - with subtest("Prepare server"): - server.wait_for_unit("default.target") - server.succeed("ip link show dev eth1 >&2") - - with subtest("Simple physical interface is up"): - server.succeed("nixos-container start server") - server.wait_for_unit("container@server") - server.succeed( - "systemctl -M server list-dependencies network-addresses-eth1.service >&2" - ) - - # The other tests will ping this container on its ip. Here we just check - # that the device is present in the container. - server.succeed("nixos-container run server -- ip a show dev eth1 >&2") - - with subtest("Physical device in bridge in container can ping server"): - bridged.wait_for_unit("default.target") - bridged.succeed("nixos-container start bridged") - bridged.wait_for_unit("container@bridged") - bridged.succeed( - "systemctl -M bridged list-dependencies network-addresses-br0.service >&2", - "systemctl -M bridged status -n 30 -l network-addresses-br0.service", - "nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1", - ) - - with subtest("Physical device in bond in container can ping server"): - bonded.wait_for_unit("default.target") - bonded.succeed("nixos-container start bonded") - bonded.wait_for_unit("container@bonded") - bonded.succeed( - "systemctl -M bonded list-dependencies network-addresses-bond0 >&2", - "systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2", - "nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1", - ) - - with subtest("Physical device in bond in bridge in container can ping server"): - bridgedbond.wait_for_unit("default.target") - bridgedbond.succeed("nixos-container start bridgedbond") - bridgedbond.wait_for_unit("container@bridgedbond") - bridgedbond.succeed( - "systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2", - "systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service", - "nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1", - ) - ''; -}) + + testScript = '' + start_all() + + with subtest("Prepare server"): + server.wait_for_unit("default.target") + server.succeed("ip link show dev eth1 >&2") + + with subtest("Simple physical interface is up"): + server.succeed("nixos-container start server") + server.wait_for_unit("container@server") + server.succeed( + "systemctl -M server list-dependencies network-addresses-eth1.service >&2" + ) + + # The other tests will ping this container on its ip. Here we just check + # that the device is present in the container. + server.succeed("nixos-container run server -- ip a show dev eth1 >&2") + + with subtest("Physical device in bridge in container can ping server"): + bridged.wait_for_unit("default.target") + bridged.succeed("nixos-container start bridged") + bridged.wait_for_unit("container@bridged") + bridged.succeed( + "systemctl -M bridged list-dependencies network-addresses-br0.service >&2", + "systemctl -M bridged status -n 30 -l network-addresses-br0.service", + "nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1", + ) + + with subtest("Physical device in bond in container can ping server"): + bonded.wait_for_unit("default.target") + bonded.succeed("nixos-container start bonded") + bonded.wait_for_unit("container@bonded") + bonded.succeed( + "systemctl -M bonded list-dependencies network-addresses-bond0 >&2", + "systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2", + "nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1", + ) + + with subtest("Physical device in bond in bridge in container can ping server"): + bridgedbond.wait_for_unit("default.target") + bridgedbond.succeed("nixos-container start bridgedbond") + bridgedbond.wait_for_unit("container@bridgedbond") + bridgedbond.succeed( + "systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2", + "systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service", + "nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1", + ) + ''; + } +) diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix index 1a9880fe93133..be087dba48f04 100644 --- a/nixos/tests/containers-portforward.nix +++ b/nixos/tests/containers-portforward.nix @@ -5,34 +5,47 @@ let containerPort = 80; in -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-portforward"; - meta = { - maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ianwookim ]; - }; - - nodes.machine = - { pkgs, ... }: - { imports = [ ../modules/installer/cd-dvd/channel.nix ]; - virtualisation.writableStore = true; - - containers.webserver = - { privateNetwork = true; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-portforward"; + meta = { + maintainers = with lib.maintainers; [ + aristid + aszlig + kampfschlaefer + ianwookim + ]; + }; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; + + containers.webserver = { + privateNetwork = true; hostAddress = hostIp; localAddress = containerIp; - forwardPorts = [ { protocol = "tcp"; hostPort = hostPort; containerPort = containerPort; } ]; - config = - { services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; + forwardPorts = [ + { + protocol = "tcp"; + hostPort = hostPort; + containerPort = containerPort; + } + ]; + config = { + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; }; - virtualisation.additionalPaths = [ pkgs.stdenv ]; - }; + virtualisation.additionalPaths = [ pkgs.stdenv ]; + }; - testScript = - '' + testScript = '' container_list = machine.succeed("nixos-container list") assert "webserver" in container_list @@ -56,4 +69,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { machine.fail("nixos-container destroy webserver") ''; -}) + } +) diff --git a/nixos/tests/containers-reloadable.nix b/nixos/tests/containers-reloadable.nix index 00d850cae2a17..74c6003da6598 100644 --- a/nixos/tests/containers-reloadable.nix +++ b/nixos/tests/containers-reloadable.nix @@ -1,57 +1,61 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -{ - name = "containers-reloadable"; - meta = { - maintainers = with lib.maintainers; [ danbst ]; - }; - - nodes = { - machine = { lib, ... }: { - containers.test1 = { - autoStart = true; - config.environment.etc.check.text = "client_base"; - }; - - # prevent make-test-python.nix to change IP - networking.interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; - - specialisation.c1.configuration = { - containers.test1.config = { - environment.etc.check.text = lib.mkForce "client_c1"; - services.httpd.enable = true; - services.httpd.adminAddr = "nixos@example.com"; - }; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-reloadable"; + meta = { + maintainers = with lib.maintainers; [ danbst ]; + }; - specialisation.c2.configuration = { - containers.test1.config = { - environment.etc.check.text = lib.mkForce "client_c2"; - services.nginx.enable = true; + nodes = { + machine = + { lib, ... }: + { + containers.test1 = { + autoStart = true; + config.environment.etc.check.text = "client_base"; + }; + + # prevent make-test-python.nix to change IP + networking.interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; + + specialisation.c1.configuration = { + containers.test1.config = { + environment.etc.check.text = lib.mkForce "client_c1"; + services.httpd.enable = true; + services.httpd.adminAddr = "nixos@example.com"; + }; + }; + + specialisation.c2.configuration = { + containers.test1.config = { + environment.etc.check.text = lib.mkForce "client_c2"; + services.nginx.enable = true; + }; + }; }; - }; }; - }; - - testScript = '' - machine.start() - machine.wait_for_unit("default.target") - - assert "client_base" in machine.succeed("nixos-container run test1 cat /etc/check") - - with subtest("httpd is available after activating config1"): - machine.succeed( - "/run/booted-system/specialisation/c1/bin/switch-to-configuration test >&2", - "[[ $(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2", - "systemctl status httpd -M test1 >&2", - ) - - with subtest("httpd is not available any longer after switching to config2"): - machine.succeed( - "/run/booted-system/specialisation/c2/bin/switch-to-configuration test >&2", - "[[ $(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2", - "systemctl status nginx -M test1 >&2", - ) - machine.fail("systemctl status httpd -M test1 >&2") - ''; - -}) + + testScript = '' + machine.start() + machine.wait_for_unit("default.target") + + assert "client_base" in machine.succeed("nixos-container run test1 cat /etc/check") + + with subtest("httpd is available after activating config1"): + machine.succeed( + "/run/booted-system/specialisation/c1/bin/switch-to-configuration test >&2", + "[[ $(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2", + "systemctl status httpd -M test1 >&2", + ) + + with subtest("httpd is not available any longer after switching to config2"): + machine.succeed( + "/run/booted-system/specialisation/c2/bin/switch-to-configuration test >&2", + "[[ $(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2", + "systemctl status nginx -M test1 >&2", + ) + machine.fail("systemctl status httpd -M test1 >&2") + ''; + + } +) diff --git a/nixos/tests/containers-require-bind-mounts.nix b/nixos/tests/containers-require-bind-mounts.nix index 5f986fd3e2803..b5a861beacc91 100644 --- a/nixos/tests/containers-require-bind-mounts.nix +++ b/nixos/tests/containers-require-bind-mounts.nix @@ -1,35 +1,40 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "containers-require-bind-mounts"; - meta.maintainers = with lib.maintainers; [ kira-bruneau ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "containers-require-bind-mounts"; + meta.maintainers = with lib.maintainers; [ kira-bruneau ]; - nodes.machine = { - containers.require-bind-mounts = { - bindMounts = { "/srv/data" = {}; }; - config = {}; - }; + nodes.machine = { + containers.require-bind-mounts = { + bindMounts = { + "/srv/data" = { }; + }; + config = { }; + }; - virtualisation.fileSystems = { - "/srv/data" = { - fsType = "tmpfs"; - options = [ "noauto" ]; + virtualisation.fileSystems = { + "/srv/data" = { + fsType = "tmpfs"; + options = [ "noauto" ]; + }; }; }; - }; - - testScript = '' - machine.wait_for_unit("default.target") - assert "require-bind-mounts" in machine.succeed("nixos-container list") - assert "down" in machine.succeed("nixos-container status require-bind-mounts") - assert "inactive" in machine.fail("systemctl is-active srv-data.mount") + testScript = '' + machine.wait_for_unit("default.target") - with subtest("bind mount host paths must be mounted to run container"): - machine.succeed("nixos-container start require-bind-mounts") - assert "up" in machine.succeed("nixos-container status require-bind-mounts") - assert "active" in machine.succeed("systemctl status srv-data.mount") - - machine.succeed("systemctl stop srv-data.mount") + assert "require-bind-mounts" in machine.succeed("nixos-container list") assert "down" in machine.succeed("nixos-container status require-bind-mounts") assert "inactive" in machine.fail("systemctl is-active srv-data.mount") + + with subtest("bind mount host paths must be mounted to run container"): + machine.succeed("nixos-container start require-bind-mounts") + assert "up" in machine.succeed("nixos-container status require-bind-mounts") + assert "active" in machine.succeed("systemctl status srv-data.mount") + + machine.succeed("systemctl stop srv-data.mount") + assert "down" in machine.succeed("nixos-container status require-bind-mounts") + assert "inactive" in machine.fail("systemctl is-active srv-data.mount") ''; -}) + } +) diff --git a/nixos/tests/containers-restart_networking.nix b/nixos/tests/containers-restart_networking.nix index 568ca5ee3fede..4a85bb3e648cb 100644 --- a/nixos/tests/containers-restart_networking.nix +++ b/nixos/tests/containers-restart_networking.nix @@ -1,106 +1,126 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -{ - name = "containers-restart_networking"; - meta = { - maintainers = with lib.maintainers; [ kampfschlaefer ]; - }; - - nodes = { - client = { - virtualisation.vlans = [ 1 ]; - - networking.firewall.enable = false; - - containers.webserver = { - autoStart = true; - privateNetwork = true; - hostBridge = "br0"; - config = { - networking.firewall.enable = false; - networking.interfaces.eth0.ipv4.addresses = [ - { address = "192.168.1.122"; prefixLength = 24; } - ]; - }; - }; - - networking.bridges.br0 = { - interfaces = []; - rstp = false; - }; - - networking.interfaces.br0.ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-restart_networking"; + meta = { + maintainers = with lib.maintainers; [ kampfschlaefer ]; + }; - specialisation.eth1.configuration = { - networking.bridges.br0.interfaces = [ "eth1" ]; - networking.interfaces = { - eth1.ipv4.addresses = lib.mkForce [ ]; - eth1.ipv6.addresses = lib.mkForce [ ]; - br0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ]; + nodes = { + client = { + virtualisation.vlans = [ 1 ]; + + networking.firewall.enable = false; + + containers.webserver = { + autoStart = true; + privateNetwork = true; + hostBridge = "br0"; + config = { + networking.firewall.enable = false; + networking.interfaces.eth0.ipv4.addresses = [ + { + address = "192.168.1.122"; + prefixLength = 24; + } + ]; + }; }; - }; - specialisation.eth1-rstp.configuration = { networking.bridges.br0 = { - interfaces = [ "eth1" ]; - rstp = lib.mkForce true; + interfaces = [ ]; + rstp = false; }; - networking.interfaces = { - eth1.ipv4.addresses = lib.mkForce [ ]; - eth1.ipv6.addresses = lib.mkForce [ ]; - br0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ]; + networking.interfaces.br0.ipv4.addresses = [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + + specialisation.eth1.configuration = { + networking.bridges.br0.interfaces = [ "eth1" ]; + networking.interfaces = { + eth1.ipv4.addresses = lib.mkForce [ ]; + eth1.ipv6.addresses = lib.mkForce [ ]; + br0.ipv4.addresses = [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; + }; + + specialisation.eth1-rstp.configuration = { + networking.bridges.br0 = { + interfaces = [ "eth1" ]; + rstp = lib.mkForce true; + }; + + networking.interfaces = { + eth1.ipv4.addresses = lib.mkForce [ ]; + eth1.ipv6.addresses = lib.mkForce [ ]; + br0.ipv4.addresses = [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; }; }; }; - }; - - testScript = '' - client.start() - - client.wait_for_unit("default.target") - - with subtest("Initial configuration connectivity check"): - client.succeed("ping 192.168.1.122 -c 1 -n >&2") - client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2") - - client.fail("ip l show eth1 |grep 'master br0' >&2") - client.fail("grep eth1 /run/br0.interfaces >&2") - - with subtest("Bridged configuration without STP preserves connectivity"): - client.succeed( - "/run/booted-system/specialisation/eth1/bin/switch-to-configuration test >&2" - ) - - client.succeed( - "ping 192.168.1.122 -c 1 -n >&2", - "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2", - "ip l show eth1 |grep 'master br0' >&2", - "grep eth1 /run/br0.interfaces >&2", - ) - - # activating rstp needs another service, therefore the bridge will restart and the container will lose its connectivity - # with subtest("Bridged configuration with STP"): - # client.succeed("/run/booted-system/specialisation/eth1-rstp/bin/switch-to-configuration test >&2") - # client.execute("ip -4 a >&2") - # client.execute("ip l >&2") - # - # client.succeed( - # "ping 192.168.1.122 -c 1 -n >&2", - # "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2", - # "ip l show eth1 |grep 'master br0' >&2", - # "grep eth1 /run/br0.interfaces >&2", - # ) - - with subtest("Reverting to initial configuration preserves connectivity"): - client.succeed( - "/run/booted-system/bin/switch-to-configuration test >&2" - ) - - client.succeed("ping 192.168.1.122 -c 1 -n >&2") - client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2") - - client.fail("ip l show eth1 |grep 'master br0' >&2") - client.fail("grep eth1 /run/br0.interfaces >&2") - ''; - -}) + + testScript = '' + client.start() + + client.wait_for_unit("default.target") + + with subtest("Initial configuration connectivity check"): + client.succeed("ping 192.168.1.122 -c 1 -n >&2") + client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2") + + client.fail("ip l show eth1 |grep 'master br0' >&2") + client.fail("grep eth1 /run/br0.interfaces >&2") + + with subtest("Bridged configuration without STP preserves connectivity"): + client.succeed( + "/run/booted-system/specialisation/eth1/bin/switch-to-configuration test >&2" + ) + + client.succeed( + "ping 192.168.1.122 -c 1 -n >&2", + "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2", + "ip l show eth1 |grep 'master br0' >&2", + "grep eth1 /run/br0.interfaces >&2", + ) + + # activating rstp needs another service, therefore the bridge will restart and the container will lose its connectivity + # with subtest("Bridged configuration with STP"): + # client.succeed("/run/booted-system/specialisation/eth1-rstp/bin/switch-to-configuration test >&2") + # client.execute("ip -4 a >&2") + # client.execute("ip l >&2") + # + # client.succeed( + # "ping 192.168.1.122 -c 1 -n >&2", + # "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2", + # "ip l show eth1 |grep 'master br0' >&2", + # "grep eth1 /run/br0.interfaces >&2", + # ) + + with subtest("Reverting to initial configuration preserves connectivity"): + client.succeed( + "/run/booted-system/bin/switch-to-configuration test >&2" + ) + + client.succeed("ping 192.168.1.122 -c 1 -n >&2") + client.succeed("nixos-container run webserver -- ping -c 1 -n 192.168.1.1 >&2") + + client.fail("ip l show eth1 |grep 'master br0' >&2") + client.fail("grep eth1 /run/br0.interfaces >&2") + ''; + + } +) diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix index cf5b81656afef..668417df271e3 100644 --- a/nixos/tests/containers-tmpfs.nix +++ b/nixos/tests/containers-tmpfs.nix @@ -1,16 +1,18 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-tmpfs"; - meta = { - maintainers = with lib.maintainers; [ patryk27 ]; - }; - - nodes.machine = - { pkgs, ... }: - { imports = [ ../modules/installer/cd-dvd/channel.nix ]; - virtualisation.writableStore = true; - - containers.tmpfs = - { +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-tmpfs"; + meta = { + maintainers = with lib.maintainers; [ patryk27 ]; + }; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; + + containers.tmpfs = { autoStart = true; tmpfs = [ # Mount var as a tmpfs @@ -25,10 +27,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { config = { }; }; - virtualisation.additionalPaths = [ pkgs.stdenv ]; - }; + virtualisation.additionalPaths = [ pkgs.stdenv ]; + }; - testScript = '' + testScript = '' machine.wait_for_unit("default.target") assert "tmpfs" in machine.succeed("nixos-container list") @@ -87,4 +89,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { ) machine.fail(tmpfs_cmd("ls -l /var | grep -q test.file")) ''; -}) + } +) diff --git a/nixos/tests/containers-unified-hierarchy.nix b/nixos/tests/containers-unified-hierarchy.nix index 978d59e12c8a1..5ea89d96dcfe3 100644 --- a/nixos/tests/containers-unified-hierarchy.nix +++ b/nixos/tests/containers-unified-hierarchy.nix @@ -1,21 +1,26 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "containers-unified-hierarchy"; - meta = { - maintainers = with lib.maintainers; [ farnoy ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "containers-unified-hierarchy"; + meta = { + maintainers = with lib.maintainers; [ farnoy ]; + }; - nodes.machine = { ... }: { - containers = { - test-container = { - autoStart = true; - config = { }; + nodes.machine = + { ... }: + { + containers = { + test-container = { + autoStart = true; + config = { }; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("default.target") + testScript = '' + machine.wait_for_unit("default.target") - machine.succeed("echo 'stat -fc %T /sys/fs/cgroup/ | grep cgroup2fs' | nixos-container root-login test-container") - ''; -}) + machine.succeed("echo 'stat -fc %T /sys/fs/cgroup/ | grep cgroup2fs' | nixos-container root-login test-container") + ''; + } +) diff --git a/nixos/tests/convos.nix b/nixos/tests/convos.nix index 06d8d30fcb148..f92ab49a29880 100644 --- a/nixos/tests/convos.nix +++ b/nixos/tests/convos.nix @@ -1,27 +1,28 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + port = 3333; + in + { + name = "convos"; + meta.maintainers = with lib.maintainers; [ sgo ]; -let - port = 3333; -in -{ - name = "convos"; - meta.maintainers = with lib.maintainers; [ sgo ]; - - nodes = { - machine = - { pkgs, ... }: - { - services.convos = { - enable = true; - listenPort = port; + nodes = { + machine = + { pkgs, ... }: + { + services.convos = { + enable = true; + listenPort = port; + }; }; - }; - }; + }; - testScript = '' - machine.wait_for_unit("convos") - machine.wait_for_open_port(${toString port}) - machine.succeed("curl -f http://localhost:${toString port}/") - ''; -}) + testScript = '' + machine.wait_for_unit("convos") + machine.wait_for_open_port(${toString port}) + machine.succeed("curl -f http://localhost:${toString port}/") + ''; + } +) diff --git a/nixos/tests/corerad.nix b/nixos/tests/corerad.nix index dd2bec794a1a0..3795cdd417571 100644 --- a/nixos/tests/corerad.nix +++ b/nixos/tests/corerad.nix @@ -1,15 +1,21 @@ -import ./make-test-python.nix ( - { - name = "corerad"; - nodes = { - router = {config, pkgs, ...}: { +import ./make-test-python.nix ({ + name = "corerad"; + nodes = { + router = + { config, pkgs, ... }: + { config = { # This machine simulates a router with IPv6 forwarding and a static IPv6 address. boot.kernel.sysctl = { "net.ipv6.conf.all.forwarding" = true; }; networking.interfaces.eth1 = { - ipv6.addresses = [ { address = "fd00:dead:beef:dead::1"; prefixLength = 64; } ]; + ipv6.addresses = [ + { + address = "fd00:dead:beef:dead::1"; + prefixLength = 64; + } + ]; }; services.corerad = { enable = true; @@ -26,7 +32,7 @@ import ./make-test-python.nix ( { name = "eth1"; advertise = true; - prefix = [{ prefix = "::/64"; }]; + prefix = [ { prefix = "::/64"; } ]; } ]; debug = { @@ -37,7 +43,9 @@ import ./make-test-python.nix ( }; }; }; - client = {config, pkgs, ...}: { + client = + { config, pkgs, ... }: + { # Use IPv6 SLAAC from router advertisements, and install rdisc6 so we can # trigger one immediately. config = { @@ -49,44 +57,44 @@ import ./make-test-python.nix ( ]; }; }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("Wait for CoreRAD and network ready"): - # Ensure networking is online and CoreRAD is ready. - router.systemctl("start network-online.target") - client.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") - client.wait_for_unit("network-online.target") - router.wait_for_unit("corerad.service") + with subtest("Wait for CoreRAD and network ready"): + # Ensure networking is online and CoreRAD is ready. + router.systemctl("start network-online.target") + client.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") + client.wait_for_unit("network-online.target") + router.wait_for_unit("corerad.service") - # Ensure the client can reach the router. - client.wait_until_succeeds("ping -c 1 fd00:dead:beef:dead::1") + # Ensure the client can reach the router. + client.wait_until_succeeds("ping -c 1 fd00:dead:beef:dead::1") - with subtest("Verify SLAAC on client"): - # Trigger a router solicitation and verify a SLAAC address is assigned from - # the prefix configured on the router. - client.wait_until_succeeds("rdisc6 -1 -r 10 eth1") - client.wait_until_succeeds( - "ip -6 addr show dev eth1 | grep -q 'fd00:dead:beef:dead:'" - ) + with subtest("Verify SLAAC on client"): + # Trigger a router solicitation and verify a SLAAC address is assigned from + # the prefix configured on the router. + client.wait_until_succeeds("rdisc6 -1 -r 10 eth1") + client.wait_until_succeeds( + "ip -6 addr show dev eth1 | grep -q 'fd00:dead:beef:dead:'" + ) - addrs = client.succeed("ip -6 addr show dev eth1") + addrs = client.succeed("ip -6 addr show dev eth1") - assert ( - "fd00:dead:beef:dead:" in addrs - ), "SLAAC prefix was not found in client addresses after router advertisement" - assert ( - "/64 scope global temporary" in addrs - ), "SLAAC temporary address was not configured on client after router advertisement" + assert ( + "fd00:dead:beef:dead:" in addrs + ), "SLAAC prefix was not found in client addresses after router advertisement" + assert ( + "/64 scope global temporary" in addrs + ), "SLAAC temporary address was not configured on client after router advertisement" - with subtest("Verify HTTP debug server is configured"): - out = router.succeed("curl -f localhost:9430/metrics") + with subtest("Verify HTTP debug server is configured"): + out = router.succeed("curl -f localhost:9430/metrics") - assert ( - "corerad_build_info" in out - ), "Build info metric was not found in Prometheus output" - ''; - }) + assert ( + "corerad_build_info" in out + ), "Build info metric was not found in Prometheus output" + ''; +}) diff --git a/nixos/tests/coturn.nix b/nixos/tests/coturn.nix index b3c96dba35f8a..e090b45d4af64 100644 --- a/nixos/tests/coturn.nix +++ b/nixos/tests/coturn.nix @@ -1,22 +1,23 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "coturn"; - nodes = { - default = { - services.coturn.enable = true; - }; - secretsfile = { - boot.postBootCommands = '' - echo "some-very-secret-string" > /run/coturn-secret - ''; - services.coturn = { - enable = true; - static-auth-secret-file = "/run/coturn-secret"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "coturn"; + nodes = { + default = { + services.coturn.enable = true; + }; + secretsfile = { + boot.postBootCommands = '' + echo "some-very-secret-string" > /run/coturn-secret + ''; + services.coturn = { + enable = true; + static-auth-secret-file = "/run/coturn-secret"; + }; }; }; - }; - testScript = - '' + testScript = '' start_all() with subtest("by default works without configuration"): @@ -33,4 +34,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { default.log(default.execute("systemd-analyze security coturn.service | grep -v '✓'")[1]) ''; -}) + } +) diff --git a/nixos/tests/couchdb.nix b/nixos/tests/couchdb.nix index cf6ca8e4548d1..a3945915f98be 100644 --- a/nixos/tests/couchdb.nix +++ b/nixos/tests/couchdb.nix @@ -1,57 +1,64 @@ let - makeNode = couchpkg: user: passwd: - { pkgs, ... } : + makeNode = + couchpkg: user: passwd: + { pkgs, ... }: - { environment.systemPackages = [ pkgs.jq ]; - services.couchdb.enable = true; - services.couchdb.package = couchpkg; - services.couchdb.adminUser = user; - services.couchdb.adminPass = passwd; - }; + { + environment.systemPackages = [ pkgs.jq ]; + services.couchdb.enable = true; + services.couchdb.package = couchpkg; + services.couchdb.adminUser = user; + services.couchdb.adminPass = passwd; + }; testuser = "testadmin"; testpass = "cowabunga"; testlogin = "${testuser}:${testpass}@"; in -import ./make-test-python.nix ({ pkgs, lib, ...}: -{ - name = "couchdb"; - meta.maintainers = [ ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "couchdb"; + meta.maintainers = [ ]; - nodes = { - couchdb3 = makeNode pkgs.couchdb3 testuser testpass; - }; + nodes = { + couchdb3 = makeNode pkgs.couchdb3 testuser testpass; + }; - testScript = let - curlJqCheck = login: action: path: jqexpr: result: - pkgs.writeScript "curl-jq-check-${action}-${path}.sh" '' - RESULT=$(curl -X ${action} http://${login}127.0.0.1:5984/${path} | jq -r '${jqexpr}') - echo $RESULT >&2 - if [ "$RESULT" != "${result}" ]; then - exit 1 - fi - ''; - in '' - start_all() + testScript = + let + curlJqCheck = + login: action: path: jqexpr: result: + pkgs.writeScript "curl-jq-check-${action}-${path}.sh" '' + RESULT=$(curl -X ${action} http://${login}127.0.0.1:5984/${path} | jq -r '${jqexpr}') + echo $RESULT >&2 + if [ "$RESULT" != "${result}" ]; then + exit 1 + fi + ''; + in + '' + start_all() - couchdb3.wait_for_unit("couchdb.service") - couchdb3.wait_until_succeeds( - "${curlJqCheck testlogin "GET" "" ".couchdb" "Welcome"}" - ) - couchdb3.wait_until_succeeds( - "${curlJqCheck testlogin "GET" "_all_dbs" ". | length" "0"}" - ) - couchdb3.succeed("${curlJqCheck testlogin "PUT" "foo" ".ok" "true"}") - couchdb3.succeed( - "${curlJqCheck testlogin "GET" "_all_dbs" ". | length" "1"}" - ) - couchdb3.succeed( - "${curlJqCheck testlogin "DELETE" "foo" ".ok" "true"}" - ) - couchdb3.succeed( - "${curlJqCheck testlogin "GET" "_all_dbs" ". | length" "0"}" - ) - couchdb3.succeed( - "${curlJqCheck testlogin "GET" "_node/couchdb@127.0.0.1" ".couchdb" "Welcome"}" - ) - ''; -}) + couchdb3.wait_for_unit("couchdb.service") + couchdb3.wait_until_succeeds( + "${curlJqCheck testlogin "GET" "" ".couchdb" "Welcome"}" + ) + couchdb3.wait_until_succeeds( + "${curlJqCheck testlogin "GET" "_all_dbs" ". | length" "0"}" + ) + couchdb3.succeed("${curlJqCheck testlogin "PUT" "foo" ".ok" "true"}") + couchdb3.succeed( + "${curlJqCheck testlogin "GET" "_all_dbs" ". | length" "1"}" + ) + couchdb3.succeed( + "${curlJqCheck testlogin "DELETE" "foo" ".ok" "true"}" + ) + couchdb3.succeed( + "${curlJqCheck testlogin "GET" "_all_dbs" ". | length" "0"}" + ) + couchdb3.succeed( + "${curlJqCheck testlogin "GET" "_node/couchdb@127.0.0.1" ".couchdb" "Welcome"}" + ) + ''; + } +) diff --git a/nixos/tests/cri-o.nix b/nixos/tests/cri-o.nix index 08e1e8f36b065..216351bda8dbc 100644 --- a/nixos/tests/cri-o.nix +++ b/nixos/tests/cri-o.nix @@ -1,19 +1,22 @@ # This test runs CRI-O and verifies via critest -import ./make-test-python.nix ({ pkgs, ... }: { - name = "cri-o"; - meta.maintainers = with pkgs.lib; teams.podman.members; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "cri-o"; + meta.maintainers = with pkgs.lib; teams.podman.members; - nodes = { - crio = { - virtualisation.cri-o.enable = true; + nodes = { + crio = { + virtualisation.cri-o.enable = true; + }; }; - }; - testScript = '' - start_all() - crio.wait_for_unit("crio.service") - crio.succeed( - "critest --ginkgo.focus='Runtime info' --runtime-endpoint unix:///var/run/crio/crio.sock" - ) - ''; -}) + testScript = '' + start_all() + crio.wait_for_unit("crio.service") + crio.succeed( + "critest --ginkgo.focus='Runtime info' --runtime-endpoint unix:///var/run/crio/crio.sock" + ) + ''; + } +) diff --git a/nixos/tests/croc.nix b/nixos/tests/croc.nix index 2e910f5252616..4b6d3f4d85a77 100644 --- a/nixos/tests/croc.nix +++ b/nixos/tests/croc.nix @@ -1,51 +1,59 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.croc ]; - }; - pass = "PassRelay"; -in { - name = "croc"; - meta = with pkgs.lib.maintainers; { - maintainers = [ equirosa SuperSandro2000 ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.croc ]; + }; + pass = "PassRelay"; + in + { + name = "croc"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + equirosa + SuperSandro2000 + ]; + }; - nodes = { - relay = { - services.croc = { - enable = true; - pass = pass; - openFirewall = true; + nodes = { + relay = { + services.croc = { + enable = true; + pass = pass; + openFirewall = true; + }; }; + sender = client; + receiver = client; }; - sender = client; - receiver = client; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # wait until relay is up - relay.wait_for_unit("croc") - relay.wait_for_open_port(9009) - relay.wait_for_open_port(9010) - relay.wait_for_open_port(9011) - relay.wait_for_open_port(9012) - relay.wait_for_open_port(9013) + # wait until relay is up + relay.wait_for_unit("croc") + relay.wait_for_open_port(9009) + relay.wait_for_open_port(9010) + relay.wait_for_open_port(9011) + relay.wait_for_open_port(9012) + relay.wait_for_open_port(9013) - # generate testfiles and send them - sender.wait_for_unit("multi-user.target") - sender.execute("echo Hello World > testfile01.txt") - sender.execute("echo Hello Earth > testfile02.txt") - sender.execute( - "env CROC_SECRET=topSecret croc --pass ${pass} --relay relay send testfile01.txt testfile02.txt >&2 &" - ) + # generate testfiles and send them + sender.wait_for_unit("multi-user.target") + sender.execute("echo Hello World > testfile01.txt") + sender.execute("echo Hello Earth > testfile02.txt") + sender.execute( + "env CROC_SECRET=topSecret croc --pass ${pass} --relay relay send testfile01.txt testfile02.txt >&2 &" + ) - # receive the testfiles and check them - receiver.succeed( - "env CROC_SECRET=topSecret croc --pass ${pass} --yes --relay relay" - ) - assert "Hello World" in receiver.succeed("cat testfile01.txt") - assert "Hello Earth" in receiver.succeed("cat testfile02.txt") - ''; -}) + # receive the testfiles and check them + receiver.succeed( + "env CROC_SECRET=topSecret croc --pass ${pass} --yes --relay relay" + ) + assert "Hello World" in receiver.succeed("cat testfile01.txt") + assert "Hello Earth" in receiver.succeed("cat testfile02.txt") + ''; + } +) diff --git a/nixos/tests/cups-pdf.nix b/nixos/tests/cups-pdf.nix index 5602193b0408a..727bc85fc2665 100644 --- a/nixos/tests/cups-pdf.nix +++ b/nixos/tests/cups-pdf.nix @@ -1,40 +1,47 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "cups-pdf"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "cups-pdf"; - nodes.machine = { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - environment.systemPackages = [ pkgs.poppler_utils ]; - fonts.packages = [ pkgs.dejavu_fonts ]; # yields more OCR-able pdf - services.printing.cups-pdf.enable = true; - services.printing.cups-pdf.instances = { - opt = {}; - noopt.installPrinter = false; - }; - hardware.printers.ensurePrinters = [{ - name = "noopt"; - model = "CUPS-PDF_noopt.ppd"; - deviceUri = "cups-pdf:/noopt"; - }]; - }; + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + environment.systemPackages = [ pkgs.poppler_utils ]; + fonts.packages = [ pkgs.dejavu_fonts ]; # yields more OCR-able pdf + services.printing.cups-pdf.enable = true; + services.printing.cups-pdf.instances = { + opt = { }; + noopt.installPrinter = false; + }; + hardware.printers.ensurePrinters = [ + { + name = "noopt"; + model = "CUPS-PDF_noopt.ppd"; + deviceUri = "cups-pdf:/noopt"; + } + ]; + }; - # we cannot check the files with pdftotext, due to - # https://github.com/alexivkin/CUPS-PDF-to-PDF/issues/7 - # we need `imagemagickBig` as it has ghostscript support + # we cannot check the files with pdftotext, due to + # https://github.com/alexivkin/CUPS-PDF-to-PDF/issues/7 + # we need `imagemagickBig` as it has ghostscript support - testScript = '' - from subprocess import run - machine.wait_for_unit("multi-user.target") - for name in ("opt", "noopt"): - text = f"test text {name}".upper() - machine.wait_until_succeeds(f"lpstat -v {name}") - machine.succeed(f"su - alice -c 'echo -e \"\n {text}\" | lp -d {name}'") - # wait until the pdf files are completely produced and readable by alice - machine.wait_until_succeeds(f"su - alice -c 'pdfinfo /var/spool/cups-pdf-{name}/users/alice/*.pdf'") - machine.succeed(f"cp /var/spool/cups-pdf-{name}/users/alice/*.pdf /tmp/{name}.pdf") - machine.copy_from_vm(f"/tmp/{name}.pdf", "") - run(f"${pkgs.imagemagickBig}/bin/convert -density 300 $out/{name}.pdf $out/{name}.jpeg", shell=True, check=True) - assert text.encode() in run(f"${lib.getExe pkgs.tesseract} $out/{name}.jpeg stdout", shell=True, check=True, capture_output=True).stdout - ''; + testScript = '' + from subprocess import run + machine.wait_for_unit("multi-user.target") + for name in ("opt", "noopt"): + text = f"test text {name}".upper() + machine.wait_until_succeeds(f"lpstat -v {name}") + machine.succeed(f"su - alice -c 'echo -e \"\n {text}\" | lp -d {name}'") + # wait until the pdf files are completely produced and readable by alice + machine.wait_until_succeeds(f"su - alice -c 'pdfinfo /var/spool/cups-pdf-{name}/users/alice/*.pdf'") + machine.succeed(f"cp /var/spool/cups-pdf-{name}/users/alice/*.pdf /tmp/{name}.pdf") + machine.copy_from_vm(f"/tmp/{name}.pdf", "") + run(f"${pkgs.imagemagickBig}/bin/convert -density 300 $out/{name}.pdf $out/{name}.jpeg", shell=True, check=True) + assert text.encode() in run(f"${lib.getExe pkgs.tesseract} $out/{name}.jpeg stdout", shell=True, check=True, capture_output=True).stdout + ''; - meta.maintainers = [ lib.maintainers.yarny ]; -}) + meta.maintainers = [ lib.maintainers.yarny ]; + } +) diff --git a/nixos/tests/curl-impersonate.nix b/nixos/tests/curl-impersonate.nix index 13eb54b5b2d0d..0846caeec6cb6 100644 --- a/nixos/tests/curl-impersonate.nix +++ b/nixos/tests/curl-impersonate.nix @@ -21,140 +21,182 @@ hostnames in /etc/hosts. */ -import ./make-test-python.nix ({ pkgs, lib, ... }: let - # Update with domains in TestImpersonate.TEST_URLS if needed from: - # https://github.com/lwthiker/curl-impersonate/blob/main/tests/test_impersonate.py - domains = [ - "www.wikimedia.org" - "www.wikipedia.org" - "www.mozilla.org" - "www.apache.org" - "www.kernel.org" - "git-scm.com" - ]; - - tls-certs = let - # Configure CA with X.509 v3 extensions that would be trusted by curl - ca-cert-conf = pkgs.writeText "curl-impersonate-ca.cnf" '' - basicConstraints = critical, CA:TRUE - subjectKeyIdentifier = hash - authorityKeyIdentifier = keyid:always, issuer:always - keyUsage = critical, cRLSign, digitalSignature, keyCertSign - ''; - - # Configure leaf certificate with X.509 v3 extensions that would be trusted - # by curl and set subject-alternative names for test domains - tls-cert-conf = pkgs.writeText "curl-impersonate-tls.cnf" '' - basicConstraints = critical, CA:FALSE - subjectKeyIdentifier = hash - authorityKeyIdentifier = keyid:always, issuer:always - keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment, keyAgreement - extendedKeyUsage = critical, serverAuth - subjectAltName = @alt_names - - [alt_names] - ${lib.concatStringsSep "\n" (lib.imap0 (idx: domain: "DNS.${toString idx} = ${domain}") domains)} - ''; - in pkgs.runCommand "curl-impersonate-test-certs" { - nativeBuildInputs = [ pkgs.openssl ]; - } '' - # create CA certificate and key - openssl req -newkey rsa:4096 -keyout ca-key.pem -out ca-csr.pem -nodes -subj '/CN=curl-impersonate-ca.nixos.test' - openssl x509 -req -sha512 -in ca-csr.pem -key ca-key.pem -out ca.pem -extfile ${ca-cert-conf} -days 36500 - openssl x509 -in ca.pem -text - - # create server certificate and key - openssl req -newkey rsa:4096 -keyout key.pem -out csr.pem -nodes -subj '/CN=curl-impersonate.nixos.test' - openssl x509 -req -sha512 -in csr.pem -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile ${tls-cert-conf} -days 36500 - openssl x509 -in cert.pem -text - - # output CA cert and server cert and key - mkdir -p $out - cp key.pem cert.pem ca.pem $out - ''; - - # Test script - curl-impersonate-test = let - # Build miniature libcurl client used by test driver - minicurl = pkgs.runCommandCC "minicurl" { - buildInputs = [ pkgs.curl ]; - } '' - mkdir -p $out/bin - $CC -Wall -Werror -o $out/bin/minicurl ${pkgs.curl-impersonate.src}/tests/minicurl.c `curl-config --libs` - ''; - in pkgs.writeShellScript "curl-impersonate-test" '' - set -euxo pipefail - - # Test driver requirements - export PATH="${with pkgs; lib.makeBinPath [ - bash - coreutils - python3Packages.pytest - nghttp2 - tcpdump - ]}" - export PYTHONPATH="${with pkgs.python3Packages; makePythonPath [ - pyyaml - pytest-asyncio - dpkt - ts1-signatures - ]}" - - # Prepare test root prefix - mkdir -p usr/{bin,lib} - cp -rs ${pkgs.curl-impersonate}/* ${minicurl}/* usr/ - - cp -r ${pkgs.curl-impersonate.src}/tests ./ - - # Run tests - cd tests - pytest . --install-dir ../usr --capture-interface eth1 - ''; -in { - name = "curl-impersonate"; - - meta = with lib.maintainers; { - maintainers = [ ]; - }; - - nodes = { - web = { nodes, pkgs, lib, config, ... }: { - networking.firewall.allowedTCPPorts = [ 80 443 ]; - - services = { - nginx = { - enable = true; - virtualHosts."curl-impersonate.nixos.test" = { - default = true; - addSSL = true; - sslCertificate = "${tls-certs}/cert.pem"; - sslCertificateKey = "${tls-certs}/key.pem"; - }; - }; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + # Update with domains in TestImpersonate.TEST_URLS if needed from: + # https://github.com/lwthiker/curl-impersonate/blob/main/tests/test_impersonate.py + domains = [ + "www.wikimedia.org" + "www.wikipedia.org" + "www.mozilla.org" + "www.apache.org" + "www.kernel.org" + "git-scm.com" + ]; + + tls-certs = + let + # Configure CA with X.509 v3 extensions that would be trusted by curl + ca-cert-conf = pkgs.writeText "curl-impersonate-ca.cnf" '' + basicConstraints = critical, CA:TRUE + subjectKeyIdentifier = hash + authorityKeyIdentifier = keyid:always, issuer:always + keyUsage = critical, cRLSign, digitalSignature, keyCertSign + ''; + + # Configure leaf certificate with X.509 v3 extensions that would be trusted + # by curl and set subject-alternative names for test domains + tls-cert-conf = pkgs.writeText "curl-impersonate-tls.cnf" '' + basicConstraints = critical, CA:FALSE + subjectKeyIdentifier = hash + authorityKeyIdentifier = keyid:always, issuer:always + keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment, keyAgreement + extendedKeyUsage = critical, serverAuth + subjectAltName = @alt_names + + [alt_names] + ${lib.concatStringsSep "\n" (lib.imap0 (idx: domain: "DNS.${toString idx} = ${domain}") domains)} + ''; + in + pkgs.runCommand "curl-impersonate-test-certs" + { + nativeBuildInputs = [ pkgs.openssl ]; + } + '' + # create CA certificate and key + openssl req -newkey rsa:4096 -keyout ca-key.pem -out ca-csr.pem -nodes -subj '/CN=curl-impersonate-ca.nixos.test' + openssl x509 -req -sha512 -in ca-csr.pem -key ca-key.pem -out ca.pem -extfile ${ca-cert-conf} -days 36500 + openssl x509 -in ca.pem -text + + # create server certificate and key + openssl req -newkey rsa:4096 -keyout key.pem -out csr.pem -nodes -subj '/CN=curl-impersonate.nixos.test' + openssl x509 -req -sha512 -in csr.pem -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile ${tls-cert-conf} -days 36500 + openssl x509 -in cert.pem -text + + # output CA cert and server cert and key + mkdir -p $out + cp key.pem cert.pem ca.pem $out + ''; + + # Test script + curl-impersonate-test = + let + # Build miniature libcurl client used by test driver + minicurl = + pkgs.runCommandCC "minicurl" + { + buildInputs = [ pkgs.curl ]; + } + '' + mkdir -p $out/bin + $CC -Wall -Werror -o $out/bin/minicurl ${pkgs.curl-impersonate.src}/tests/minicurl.c `curl-config --libs` + ''; + in + pkgs.writeShellScript "curl-impersonate-test" '' + set -euxo pipefail + + # Test driver requirements + export PATH="${ + with pkgs; + lib.makeBinPath [ + bash + coreutils + python3Packages.pytest + nghttp2 + tcpdump + ] + }" + export PYTHONPATH="${ + with pkgs.python3Packages; + makePythonPath [ + pyyaml + pytest-asyncio + dpkt + ts1-signatures + ] + }" + + # Prepare test root prefix + mkdir -p usr/{bin,lib} + cp -rs ${pkgs.curl-impersonate}/* ${minicurl}/* usr/ + + cp -r ${pkgs.curl-impersonate.src}/tests ./ + + # Run tests + cd tests + pytest . --install-dir ../usr --capture-interface eth1 + ''; + in + { + name = "curl-impersonate"; + + meta = with lib.maintainers; { + maintainers = [ ]; }; - curl = { nodes, pkgs, lib, config, ... }: { - networking.extraHosts = lib.concatStringsSep "\n" (map (domain: "${nodes.web.networking.primaryIPAddress} ${domain}") domains); + nodes = { + web = + { + nodes, + pkgs, + lib, + config, + ... + }: + { + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + services = { + nginx = { + enable = true; + virtualHosts."curl-impersonate.nixos.test" = { + default = true; + addSSL = true; + sslCertificate = "${tls-certs}/cert.pem"; + sslCertificateKey = "${tls-certs}/key.pem"; + }; + }; + }; + }; - security.pki.certificateFiles = [ "${tls-certs}/ca.pem" ]; + curl = + { + nodes, + pkgs, + lib, + config, + ... + }: + { + networking.extraHosts = lib.concatStringsSep "\n" ( + map (domain: "${nodes.web.networking.primaryIPAddress} ${domain}") domains + ); + + security.pki.certificateFiles = [ "${tls-certs}/ca.pem" ]; + }; }; - }; - - testScript = { nodes, ... }: '' - start_all() - - with subtest("Wait for network"): - web.systemctl("start network-online.target") - curl.systemctl("start network-online.target") - web.wait_for_unit("network-online.target") - curl.wait_for_unit("network-online.target") - - with subtest("Wait for web server"): - web.wait_for_unit("nginx.service") - web.wait_for_open_port(443) - with subtest("Run curl-impersonate tests"): - curl.succeed("${curl-impersonate-test}") - ''; -}) + testScript = + { nodes, ... }: + '' + start_all() + + with subtest("Wait for network"): + web.systemctl("start network-online.target") + curl.systemctl("start network-online.target") + web.wait_for_unit("network-online.target") + curl.wait_for_unit("network-online.target") + + with subtest("Wait for web server"): + web.wait_for_unit("nginx.service") + web.wait_for_open_port(443) + + with subtest("Run curl-impersonate tests"): + curl.succeed("${curl-impersonate-test}") + ''; + } +) diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix index 0fcdf81022d72..b246f5b9ba578 100644 --- a/nixos/tests/custom-ca.nix +++ b/nixos/tests/custom-ca.nix @@ -3,9 +3,10 @@ # WebKitGTK (via Midori). The test checks that certificates issued by a custom # trusted CA are accepted but those from an unknown CA are rejected. -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -13,183 +14,204 @@ with import ../lib/testing-python.nix { inherit system pkgs; }; let inherit (pkgs) lib; - makeCert = { caName, domain }: pkgs.runCommand "example-cert" - { buildInputs = [ pkgs.gnutls ]; } - '' - mkdir $out - - # CA cert template - cat >ca.template <server.template <ca.template <server.template < Tuple[int, str]: - """ - Run a shell command as a specific user. - """ - return machine.execute(f"sudo -u {user} {cmd}") - - - def wait_for_window_as(user: str, cls: str) -> None: - """ - Wait until a X11 window of a given user appears. - """ - - def window_is_visible(last_try: bool) -> bool: - ret, stdout = execute_as(user, f"xdotool search --onlyvisible --class {cls}") - if last_try: - machine.log(f"Last chance to match {cls} on the window list") - return ret == 0 - - with machine.nested("Waiting for a window to appear"): - retry(window_is_visible) - - - machine.start() - machine.wait_for_x() - - command = "${browser} ${testParams.args or ""}" - with subtest("Good certificate is trusted in ${browser}"): - execute_as( - "alice", f"{command} https://good.example.com >&2 &" - ) - wait_for_window_as("alice", "${browser}") - machine.sleep(4) - execute_as("alice", "xdotool key ctrl+r") # reload to be safe - machine.wait_for_text("It works!") - machine.screenshot("good${browser}") - execute_as("alice", "xdotool key ctrl+w") # close tab - - with subtest("Unknown CA is untrusted in ${browser}"): - execute_as("alice", f"{command} https://bad.example.com >&2 &") - machine.wait_for_text("${testParams.error}") - machine.screenshot("bad${browser}") - ''; - }; + testScript = '' + from typing import Tuple + def execute_as(user: str, cmd: str) -> Tuple[int, str]: + """ + Run a shell command as a specific user. + """ + return machine.execute(f"sudo -u {user} {cmd}") + + + def wait_for_window_as(user: str, cls: str) -> None: + """ + Wait until a X11 window of a given user appears. + """ + + def window_is_visible(last_try: bool) -> bool: + ret, stdout = execute_as(user, f"xdotool search --onlyvisible --class {cls}") + if last_try: + machine.log(f"Last chance to match {cls} on the window list") + return ret == 0 + + with machine.nested("Waiting for a window to appear"): + retry(window_is_visible) + + + machine.start() + machine.wait_for_x() + + command = "${browser} ${testParams.args or ""}" + with subtest("Good certificate is trusted in ${browser}"): + execute_as( + "alice", f"{command} https://good.example.com >&2 &" + ) + wait_for_window_as("alice", "${browser}") + machine.sleep(4) + execute_as("alice", "xdotool key ctrl+r") # reload to be safe + machine.wait_for_text("It works!") + machine.screenshot("good${browser}") + execute_as("alice", "xdotool key ctrl+w") # close tab + + with subtest("Unknown CA is untrusted in ${browser}"): + execute_as("alice", f"{command} https://bad.example.com >&2 &") + machine.wait_for_text("${testParams.error}") + machine.screenshot("bad${browser}") + ''; + }; in { curl = curlTest; -} // pkgs.lib.mapAttrs mkBrowserTest { - firefox = { error = "Security Risk"; }; - chromium = { error = "not private"; }; - qutebrowser = { args = "-T"; error = "Certificate error"; }; - midori = { args = "-p"; error = "Security"; }; +} +// pkgs.lib.mapAttrs mkBrowserTest { + firefox = { + error = "Security Risk"; + }; + chromium = { + error = "not private"; + }; + qutebrowser = { + args = "-T"; + error = "Certificate error"; + }; + midori = { + args = "-p"; + error = "Security"; + }; } diff --git a/nixos/tests/dae.nix b/nixos/tests/dae.nix index 4b856450d9e1d..127bbcb78813a 100644 --- a/nixos/tests/dae.nix +++ b/nixos/tests/dae.nix @@ -1,33 +1,38 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { - name = "dae"; + name = "dae"; - meta = { - maintainers = with lib.maintainers; [ oluceps ]; - }; - - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.curl ]; - services.nginx = { - enable = true; - statusPage = true; - }; - services.dae = { - enable = true; - config = '' - global { disable_waiting_network: true } - routing{} - ''; + meta = { + maintainers = with lib.maintainers; [ oluceps ]; }; - }; - testScript = '' - machine.wait_for_unit("nginx.service") - machine.wait_for_unit("dae.service") + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + services.nginx = { + enable = true; + statusPage = true; + }; + services.dae = { + enable = true; + config = '' + global { disable_waiting_network: true } + routing{} + ''; + }; + }; + + testScript = '' + machine.wait_for_unit("nginx.service") + machine.wait_for_unit("dae.service") - machine.wait_for_open_port(80) + machine.wait_for_open_port(80) - machine.succeed("curl --fail --max-time 10 http://localhost") - ''; + machine.succeed("curl --fail --max-time 10 http://localhost") + ''; -}) + } +) diff --git a/nixos/tests/darling-dmg.nix b/nixos/tests/darling-dmg.nix index 0a2ec82981228..86cbdc4968c19 100644 --- a/nixos/tests/darling-dmg.nix +++ b/nixos/tests/darling-dmg.nix @@ -12,7 +12,7 @@ in name = "darling-dmg"; meta.maintainers = with lib.maintainers; [ Luflosi ]; - nodes.machine = {}; + nodes.machine = { }; testScript = '' start_all() diff --git a/nixos/tests/darling.nix b/nixos/tests/darling.nix index 5665b4c2ffef2..8514aac918ed4 100644 --- a/nixos/tests/darling.nix +++ b/nixos/tests/darling.nix @@ -1,44 +1,52 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - # Well, we _can_ cross-compile from Linux :) - hello = pkgs.runCommand "hello" { - sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; - nativeBuildInputs = with pkgs.llvmPackages_14; [ clang-unwrapped lld ]; - src = pkgs.writeText "hello.c" '' - #include - int main() { - printf("Hello, Darling!\n"); - return 0; - } - ''; - } '' - clang \ - -target x86_64-apple-darwin \ - -fuse-ld=lld \ - -nostdinc -nostdlib \ - -mmacosx-version-min=10.15 \ - --sysroot $sdk \ - -isystem $sdk/usr/include \ - -L $sdk/usr/lib -lSystem \ - $src -o $out - ''; -in -{ - name = "darling"; + let + # Well, we _can_ cross-compile from Linux :) + hello = + pkgs.runCommand "hello" + { + sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; + nativeBuildInputs = with pkgs.llvmPackages_14; [ + clang-unwrapped + lld + ]; + src = pkgs.writeText "hello.c" '' + #include + int main() { + printf("Hello, Darling!\n"); + return 0; + } + ''; + } + '' + clang \ + -target x86_64-apple-darwin \ + -fuse-ld=lld \ + -nostdinc -nostdlib \ + -mmacosx-version-min=10.15 \ + --sysroot $sdk \ + -isystem $sdk/usr/include \ + -L $sdk/usr/lib -lSystem \ + $src -o $out + ''; + in + { + name = "darling"; - meta.maintainers = with lib.maintainers; [ zhaofengli ]; + meta.maintainers = with lib.maintainers; [ zhaofengli ]; - nodes.machine = { - programs.darling.enable = true; - }; + nodes.machine = { + programs.darling.enable = true; + }; - testScript = '' - start_all() + testScript = '' + start_all() - # Darling holds stdout until the server is shutdown - machine.succeed("darling ${hello} >hello.out") - machine.succeed("grep Hello hello.out") - machine.succeed("darling shutdown") - ''; -}) + # Darling holds stdout until the server is shutdown + machine.succeed("darling ${hello} >hello.out") + machine.succeed("grep Hello hello.out") + machine.succeed("darling shutdown") + ''; + } +) diff --git a/nixos/tests/db-rest.nix b/nixos/tests/db-rest.nix index 9249da904acbe..18843f3308371 100644 --- a/nixos/tests/db-rest.nix +++ b/nixos/tests/db-rest.nix @@ -1,107 +1,125 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "db-rest"; - meta.maintainers = with pkgs.lib.maintainers; [ marie ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "db-rest"; + meta.maintainers = with pkgs.lib.maintainers; [ marie ]; - nodes = { - database = { - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.10"; prefixLength = 24; } - ]; + nodes = { + database = { + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.10"; + prefixLength = 24; + } + ]; + }; + firewall.allowedTCPPorts = [ 31638 ]; }; - firewall.allowedTCPPorts = [ 31638 ]; - }; - - services.redis.servers.db-rest = { - enable = true; - bind = "0.0.0.0"; - requirePass = "choochoo"; - port = 31638; - }; - }; - - serverWithTcp = { pkgs, ... }: { - environment = { - etc = { - "db-rest/password-redis-db".text = '' - choochoo - ''; - }; - }; - - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.11"; prefixLength = 24; } - ]; - }; - firewall.allowedTCPPorts = [ 3000 ]; - }; - services.db-rest = { - enable = true; - host = "0.0.0.0"; - redis = { + services.redis.servers.db-rest = { enable = true; - createLocally = false; - host = "192.168.2.10"; + bind = "0.0.0.0"; + requirePass = "choochoo"; port = 31638; - passwordFile = "/etc/db-rest/password-redis-db"; - useSSL = false; }; }; - }; - serverWithUnixSocket = { pkgs, ... }: { - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.12"; prefixLength = 24; } - ]; + serverWithTcp = + { pkgs, ... }: + { + environment = { + etc = { + "db-rest/password-redis-db".text = '' + choochoo + ''; + }; + }; + + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.11"; + prefixLength = 24; + } + ]; + }; + firewall.allowedTCPPorts = [ 3000 ]; + }; + + services.db-rest = { + enable = true; + host = "0.0.0.0"; + redis = { + enable = true; + createLocally = false; + host = "192.168.2.10"; + port = 31638; + passwordFile = "/etc/db-rest/password-redis-db"; + useSSL = false; + }; + }; }; - firewall.allowedTCPPorts = [ 3000 ]; - }; - services.db-rest = { - enable = true; - host = "0.0.0.0"; - redis = { - enable = true; - createLocally = true; + serverWithUnixSocket = + { pkgs, ... }: + { + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.12"; + prefixLength = 24; + } + ]; + }; + firewall.allowedTCPPorts = [ 3000 ]; + }; + + services.db-rest = { + enable = true; + host = "0.0.0.0"; + redis = { + enable = true; + createLocally = true; + }; + }; }; - }; - }; - client = { - environment.systemPackages = [ pkgs.jq ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.13"; prefixLength = 24; } - ]; + client = { + environment.systemPackages = [ pkgs.jq ]; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.13"; + prefixLength = 24; + } + ]; + }; }; }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("db-rest redis with TCP socket"): - database.wait_for_unit("redis-db-rest.service") - database.wait_for_open_port(31638) + with subtest("db-rest redis with TCP socket"): + database.wait_for_unit("redis-db-rest.service") + database.wait_for_open_port(31638) - serverWithTcp.wait_for_unit("db-rest.service") - serverWithTcp.wait_for_open_port(3000) + serverWithTcp.wait_for_unit("db-rest.service") + serverWithTcp.wait_for_open_port(3000) - client.succeed("curl --fail --get http://192.168.2.11:3000/stations --data-urlencode 'query=Köln Hbf' | jq -r '.\"8000207\".name' | grep 'Köln Hbf'") + client.succeed("curl --fail --get http://192.168.2.11:3000/stations --data-urlencode 'query=Köln Hbf' | jq -r '.\"8000207\".name' | grep 'Köln Hbf'") - with subtest("db-rest redis with Unix socket"): - serverWithUnixSocket.wait_for_unit("db-rest.service") - serverWithUnixSocket.wait_for_open_port(3000) + with subtest("db-rest redis with Unix socket"): + serverWithUnixSocket.wait_for_unit("db-rest.service") + serverWithUnixSocket.wait_for_open_port(3000) - client.succeed("curl --fail --get http://192.168.2.12:3000/stations --data-urlencode 'query=Köln Hbf' | jq -r '.\"8000207\".name' | grep 'Köln Hbf'") - ''; -}) + client.succeed("curl --fail --get http://192.168.2.12:3000/stations --data-urlencode 'query=Köln Hbf' | jq -r '.\"8000207\".name' | grep 'Köln Hbf'") + ''; + } +) diff --git a/nixos/tests/dconf.nix b/nixos/tests/dconf.nix index 192c075540a40..933817917104b 100644 --- a/nixos/tests/dconf.nix +++ b/nixos/tests/dconf.nix @@ -1,5 +1,5 @@ -import ./make-test-python.nix - ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: { name = "dconf"; @@ -7,23 +7,32 @@ import ./make-test-python.nix linsui ]; - nodes.machine = { config, pkgs, lib, ... }: { - users.extraUsers.alice = { isNormalUser = true; }; - programs.dconf = with lib.gvariant; { - enable = true; - profiles.user.databases = [ - { - settings = { - "test/not".locked = mkInt32 1; - "test/is".locked = "locked"; - }; - locks = [ - "/test/is/locked" - ]; - } - ]; + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + { + users.extraUsers.alice = { + isNormalUser = true; + }; + programs.dconf = with lib.gvariant; { + enable = true; + profiles.user.databases = [ + { + settings = { + "test/not".locked = mkInt32 1; + "test/is".locked = "locked"; + }; + locks = [ + "/test/is/locked" + ]; + } + ]; + }; }; - }; testScript = '' machine.succeed("test $(dconf read -d /test/not/locked) == 1") @@ -31,4 +40,5 @@ import ./make-test-python.nix machine.fail("sudo -u alice dbus-run-session -- dconf write /test/is/locked \"@s 'unlocked'\"") machine.succeed("sudo -u alice dbus-run-session -- dconf write /test/not/locked \"@i 2\"") ''; - }) + } +) diff --git a/nixos/tests/deconz.nix b/nixos/tests/deconz.nix index cbe721ba49251..ceeabb6c261aa 100644 --- a/nixos/tests/deconz.nix +++ b/nixos/tests/deconz.nix @@ -1,28 +1,37 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - httpPort = 800; -in -{ - name = "deconz"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + httpPort = 800; + in + { + name = "deconz"; - meta.maintainers = with lib.maintainers; [ - bjornfor - ]; + meta.maintainers = with lib.maintainers; [ + bjornfor + ]; - nodes.machine = { config, pkgs, lib, ... }: { - nixpkgs.config.allowUnfree = true; - services.deconz = { - enable = true; - inherit httpPort; - extraArgs = [ - "--dbg-err=2" - "--dbg-info=2" - ]; - }; - }; + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + { + nixpkgs.config.allowUnfree = true; + services.deconz = { + enable = true; + inherit httpPort; + extraArgs = [ + "--dbg-err=2" + "--dbg-info=2" + ]; + }; + }; - testScript = '' - machine.wait_for_unit("deconz.service") - machine.succeed("curl -sfL http://localhost:${toString httpPort}") - ''; -}) + testScript = '' + machine.wait_for_unit("deconz.service") + machine.succeed("curl -sfL http://localhost:${toString httpPort}") + ''; + } +) diff --git a/nixos/tests/deepin.nix b/nixos/tests/deepin.nix index d3ce79a535c13..bf545c08f8868 100644 --- a/nixos/tests/deepin.nix +++ b/nixos/tests/deepin.nix @@ -1,51 +1,57 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "deepin"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "deepin"; - meta.maintainers = lib.teams.deepin.members; + meta.maintainers = lib.teams.deepin.members; - nodes.machine = { ... }: { - imports = [ - ./common/user-account.nix - ]; + nodes.machine = + { ... }: + { + imports = [ + ./common/user-account.nix + ]; - virtualisation.memorySize = 2048; + virtualisation.memorySize = 2048; - services.xserver.enable = true; + services.xserver.enable = true; - services.xserver.displayManager = { - lightdm.enable = true; - autoLogin = { - enable = true; - user = "alice"; + services.xserver.displayManager = { + lightdm.enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + + services.xserver.desktopManager.deepin.enable = true; }; - }; - - services.xserver.desktopManager.deepin.enable = true; - }; - - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - in - '' - with subtest("Wait for login"): - machine.wait_for_x() - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") - - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - - with subtest("Check if Deepin session components actually start"): - machine.wait_until_succeeds("pgrep -f dde-session-daemon") - machine.wait_for_window("dde-session-daemon") - machine.wait_until_succeeds("pgrep -f dde-desktop") - machine.wait_for_window("dde-desktop") - - with subtest("Open deepin-terminal"): - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 deepin-terminal >&2 &'") - machine.wait_for_window("deepin-terminal") - machine.sleep(20) - machine.screenshot("screen") - ''; -}) + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + '' + with subtest("Wait for login"): + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + + with subtest("Check if Deepin session components actually start"): + machine.wait_until_succeeds("pgrep -f dde-session-daemon") + machine.wait_for_window("dde-session-daemon") + machine.wait_until_succeeds("pgrep -f dde-desktop") + machine.wait_for_window("dde-desktop") + + with subtest("Open deepin-terminal"): + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 deepin-terminal >&2 &'") + machine.wait_for_window("deepin-terminal") + machine.sleep(20) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/devpi-server.nix b/nixos/tests/devpi-server.nix index 2a16d49724dbc..cec019e9d1c41 100644 --- a/nixos/tests/devpi-server.nix +++ b/nixos/tests/devpi-server.nix @@ -1,35 +1,43 @@ -import ./make-test-python.nix ({pkgs, ...}: let - server-port = 3141; -in { - name = "devpi-server"; - meta = with pkgs.lib.maintainers; { - maintainers = [cafkafk]; - }; - - nodes = { - devpi = {...}: { - services.devpi-server = { - enable = true; - host = "0.0.0.0"; - port = server-port; - openFirewall = true; - secretFile = pkgs.writeText "devpi-secret" "v263P+V3YGDYUyfYL/RBURw+tCPMDw94R/iCuBNJrDhaYrZYjpA6XPFVDDH8ViN20j77y2PHoMM/U0opNkVQ2g=="; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + server-port = 3141; + in + { + name = "devpi-server"; + meta = with pkgs.lib.maintainers; { + maintainers = [ cafkafk ]; }; - client1 = {...}: { - environment.systemPackages = with pkgs; [ - devpi-client - jq - ]; + nodes = { + devpi = + { ... }: + { + services.devpi-server = { + enable = true; + host = "0.0.0.0"; + port = server-port; + openFirewall = true; + secretFile = pkgs.writeText "devpi-secret" "v263P+V3YGDYUyfYL/RBURw+tCPMDw94R/iCuBNJrDhaYrZYjpA6XPFVDDH8ViN20j77y2PHoMM/U0opNkVQ2g=="; + }; + }; + + client1 = + { ... }: + { + environment.systemPackages = with pkgs; [ + devpi-client + jq + ]; + }; }; - }; - testScript = '' - start_all() - devpi.wait_for_unit("devpi-server.service") - devpi.wait_for_open_port(${builtins.toString server-port}) + testScript = '' + start_all() + devpi.wait_for_unit("devpi-server.service") + devpi.wait_for_open_port(${builtins.toString server-port}) - client1.succeed("devpi getjson http://devpi:${builtins.toString server-port}") - ''; -}) + client1.succeed("devpi getjson http://devpi:${builtins.toString server-port}") + ''; + } +) diff --git a/nixos/tests/dex-oidc.nix b/nixos/tests/dex-oidc.nix index d3baa4fbf2455..37718fdcdbdec 100644 --- a/nixos/tests/dex-oidc.nix +++ b/nixos/tests/dex-oidc.nix @@ -1,79 +1,84 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "dex-oidc"; - meta.maintainers = with lib.maintainers; [ Flakebi ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "dex-oidc"; + meta.maintainers = with lib.maintainers; [ Flakebi ]; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ jq ]; - services.dex = { - enable = true; - settings = { - issuer = "http://127.0.0.1:8080/dex"; - storage = { - type = "postgres"; - config.host = "/var/run/postgresql"; - }; - web.http = "127.0.0.1:8080"; - oauth2.skipApprovalScreen = true; - staticClients = [ - { - id = "oidcclient"; - name = "Client"; - redirectURIs = [ "https://example.com/callback" ]; - secretFile = "/etc/dex/oidcclient"; - } - ]; - connectors = [ - { - type = "mockPassword"; - id = "mock"; - name = "Example"; - config = { - username = "admin"; - password = "password"; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ jq ]; + services.dex = { + enable = true; + settings = { + issuer = "http://127.0.0.1:8080/dex"; + storage = { + type = "postgres"; + config.host = "/var/run/postgresql"; }; - } - ]; - }; - }; + web.http = "127.0.0.1:8080"; + oauth2.skipApprovalScreen = true; + staticClients = [ + { + id = "oidcclient"; + name = "Client"; + redirectURIs = [ "https://example.com/callback" ]; + secretFile = "/etc/dex/oidcclient"; + } + ]; + connectors = [ + { + type = "mockPassword"; + id = "mock"; + name = "Example"; + config = { + username = "admin"; + password = "password"; + }; + } + ]; + }; + }; - # This should not be set from nix but through other means to not leak the secret. - environment.etc."dex/oidcclient" = { - mode = "0400"; - user = "dex"; - text = "oidcclientsecret"; - }; + # This should not be set from nix but through other means to not leak the secret. + environment.etc."dex/oidcclient" = { + mode = "0400"; + user = "dex"; + text = "oidcclientsecret"; + }; - services.postgresql = { - enable = true; - ensureDatabases =[ "dex" ]; - ensureUsers = [ - { - name = "dex"; - ensureDBOwnership = true; - } - ]; - }; - }; + services.postgresql = { + enable = true; + ensureDatabases = [ "dex" ]; + ensureUsers = [ + { + name = "dex"; + ensureDBOwnership = true; + } + ]; + }; + }; - testScript = '' - with subtest("Web server gets ready"): - machine.wait_for_unit("dex.service", timeout=120) - # Wait until server accepts connections - machine.wait_until_succeeds("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid'", timeout=120) + testScript = '' + with subtest("Web server gets ready"): + machine.wait_for_unit("dex.service", timeout=120) + # Wait until server accepts connections + machine.wait_until_succeeds("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid'", timeout=120) - with subtest("Login"): - state = machine.succeed("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid' | sed -n 's/.*state=\\(.*\\)\">.*/\\1/p'").strip() - print(f"Got state {state}") - # Login request returns 303 with redirect_url that has code as query parameter: - # https://example.com/callback?code=kibsamwdupuy2iwqnlbqei3u6&state= - code = machine.succeed(f"curl -fs 'localhost:8080/dex/auth/mock/login?back=&state={state}' -d 'login=admin&password=password' -w '%{{redirect_url}}' | sed -n 's/.*code=\\(.*\\)&.*/\\1/p'") - print(f"Got approval code {code}") - bearer = machine.succeed(f"curl -fs localhost:8080/dex/token -u oidcclient:oidcclientsecret -d 'grant_type=authorization_code&redirect_uri=https://example.com/callback&code={code}' | jq .access_token -r").strip() - print(f"Got access token {bearer}") + with subtest("Login"): + state = machine.succeed("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid' | sed -n 's/.*state=\\(.*\\)\">.*/\\1/p'").strip() + print(f"Got state {state}") + # Login request returns 303 with redirect_url that has code as query parameter: + # https://example.com/callback?code=kibsamwdupuy2iwqnlbqei3u6&state= + code = machine.succeed(f"curl -fs 'localhost:8080/dex/auth/mock/login?back=&state={state}' -d 'login=admin&password=password' -w '%{{redirect_url}}' | sed -n 's/.*code=\\(.*\\)&.*/\\1/p'") + print(f"Got approval code {code}") + bearer = machine.succeed(f"curl -fs localhost:8080/dex/token -u oidcclient:oidcclientsecret -d 'grant_type=authorization_code&redirect_uri=https://example.com/callback&code={code}' | jq .access_token -r").strip() + print(f"Got access token {bearer}") - with subtest("Get userinfo"): - assert '"sub"' in machine.succeed( - f"curl -fs localhost:8080/dex/userinfo --oauth2-bearer {bearer}" - ) - ''; -}) + with subtest("Get userinfo"): + assert '"sub"' in machine.succeed( + f"curl -fs localhost:8080/dex/userinfo --oauth2-bearer {bearer}" + ) + ''; + } +) diff --git a/nixos/tests/dhparams.nix b/nixos/tests/dhparams.nix index 8d7082c114001..9490ac70d54e3 100644 --- a/nixos/tests/dhparams.nix +++ b/nixos/tests/dhparams.nix @@ -1,130 +1,143 @@ import ./make-test-python.nix { name = "dhparams"; - nodes.machine = { pkgs, ... }: { - security.dhparams.enable = true; - environment.systemPackages = [ pkgs.openssl ]; - - specialisation = { - gen1.configuration = { config, ... }: { - security.dhparams.params = { - # Use low values here because we don't want the test to run for ages. - foo.bits = 1024; - # Also use the old format to make sure the type is coerced in the right - # way. - bar = 1025; - }; - - systemd.services.foo = { - description = "Check systemd Ordering"; - wantedBy = [ "multi-user.target" ]; - before = [ "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = { - # This is to make sure that the dhparams generation of foo occurs - # before this service so we need this service to start as early as - # possible to provoke a race condition. - DefaultDependencies = false; - - # We check later whether the service has been started or not. - ConditionPathExists = config.security.dhparams.params.foo.path; + nodes.machine = + { pkgs, ... }: + { + security.dhparams.enable = true; + environment.systemPackages = [ pkgs.openssl ]; + + specialisation = { + gen1.configuration = + { config, ... }: + { + security.dhparams.params = { + # Use low values here because we don't want the test to run for ages. + foo.bits = 1024; + # Also use the old format to make sure the type is coerced in the right + # way. + bar = 1025; + }; + + systemd.services.foo = { + description = "Check systemd Ordering"; + wantedBy = [ "multi-user.target" ]; + before = [ "shutdown.target" ]; + conflicts = [ "shutdown.target" ]; + unitConfig = { + # This is to make sure that the dhparams generation of foo occurs + # before this service so we need this service to start as early as + # possible to provoke a race condition. + DefaultDependencies = false; + + # We check later whether the service has been started or not. + ConditionPathExists = config.security.dhparams.params.foo.path; + }; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + # The reason we only provide an ExecStop here is to ensure that we don't + # accidentally trigger an error because a file system is not yet ready + # during very early startup (we might not even have the Nix store + # available, for example if future changes in NixOS use systemd mount + # units to do early file system initialisation). + serviceConfig.ExecStop = "${pkgs.coreutils}/bin/true"; + }; }; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - # The reason we only provide an ExecStop here is to ensure that we don't - # accidentally trigger an error because a file system is not yet ready - # during very early startup (we might not even have the Nix store - # available, for example if future changes in NixOS use systemd mount - # units to do early file system initialisation). - serviceConfig.ExecStop = "${pkgs.coreutils}/bin/true"; + gen2.configuration = { + security.dhparams.params.foo.bits = 1026; + }; + gen3.configuration = { }; + gen4.configuration = { + security.dhparams.stateful = false; + security.dhparams.params.foo2.bits = 1027; + security.dhparams.params.bar2.bits = 1028; + }; + gen5.configuration = { + security.dhparams.defaultBitSize = 1029; + security.dhparams.params.foo3 = { }; + security.dhparams.params.bar3 = { }; }; - }; - gen2.configuration = { - security.dhparams.params.foo.bits = 1026; - }; - gen3.configuration = {}; - gen4.configuration = { - security.dhparams.stateful = false; - security.dhparams.params.foo2.bits = 1027; - security.dhparams.params.bar2.bits = 1028; - }; - gen5.configuration = { - security.dhparams.defaultBitSize = 1029; - security.dhparams.params.foo3 = {}; - security.dhparams.params.bar3 = {}; }; }; - }; - - testScript = { nodes, ... }: let - getParamPath = gen: name: let - node = "gen${toString gen}"; - in nodes.machine.config.specialisation.${node}.configuration.security.dhparams.params.${name}.path; - - switchToGeneration = gen: let - switchCmd = "${nodes.machine.config.system.build.toplevel}/specialisation/gen${toString gen}/bin/switch-to-configuration test"; - in '' - with machine.nested("switch to generation ${toString gen}"): - machine.succeed("${switchCmd}") - ''; - - in '' - import re - - - def assert_param_bits(path, bits): - with machine.nested(f"check bit size of {path}"): - output = machine.succeed(f"openssl dhparam -in {path} -text") - pattern = re.compile(r"^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$", re.M) - match = pattern.match(output) - if match is None: - raise Exception("bla") - if match[1] != str(bits): - raise Exception(f"bit size should be {bits} but it is {match[1]} instead.") - - machine.wait_for_unit("multi-user.target") - ${switchToGeneration 1} - with subtest("verify startup order"): - machine.succeed("systemctl is-active foo.service") - - with subtest("check bit sizes of dhparam files"): - assert_param_bits("${getParamPath 1 "foo"}", 1024) - assert_param_bits("${getParamPath 1 "bar"}", 1025) - - ${switchToGeneration 2} - - with subtest("check whether bit size has changed"): - assert_param_bits("${getParamPath 2 "foo"}", 1026) - - with subtest("ensure that dhparams file for 'bar' was deleted"): - machine.fail("test -e ${getParamPath 1 "bar"}") - - ${switchToGeneration 3} - - with subtest("ensure that 'security.dhparams.path' has been deleted"): - machine.fail("test -e ${nodes.machine.config.specialisation.gen3.configuration.security.dhparams.path}") - - ${switchToGeneration 4} - - with subtest("check bit sizes dhparam files"): - assert_param_bits( - "${getParamPath 4 "foo2"}", 1027 - ) - assert_param_bits( - "${getParamPath 4 "bar2"}", 1028 - ) - - with subtest("check whether dhparam files are in the Nix store"): - machine.succeed( - "expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}", - "expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}", - ) - - ${switchToGeneration 5} - - with subtest("check whether defaultBitSize works as intended"): - assert_param_bits("${getParamPath 5 "foo3"}", 1029) - assert_param_bits("${getParamPath 5 "bar3"}", 1029) - ''; + testScript = + { nodes, ... }: + let + getParamPath = + gen: name: + let + node = "gen${toString gen}"; + in + nodes.machine.config.specialisation.${node}.configuration.security.dhparams.params.${name}.path; + + switchToGeneration = + gen: + let + switchCmd = "${nodes.machine.config.system.build.toplevel}/specialisation/gen${toString gen}/bin/switch-to-configuration test"; + in + '' + with machine.nested("switch to generation ${toString gen}"): + machine.succeed("${switchCmd}") + ''; + + in + '' + import re + + + def assert_param_bits(path, bits): + with machine.nested(f"check bit size of {path}"): + output = machine.succeed(f"openssl dhparam -in {path} -text") + pattern = re.compile(r"^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$", re.M) + match = pattern.match(output) + if match is None: + raise Exception("bla") + if match[1] != str(bits): + raise Exception(f"bit size should be {bits} but it is {match[1]} instead.") + + machine.wait_for_unit("multi-user.target") + ${switchToGeneration 1} + + with subtest("verify startup order"): + machine.succeed("systemctl is-active foo.service") + + with subtest("check bit sizes of dhparam files"): + assert_param_bits("${getParamPath 1 "foo"}", 1024) + assert_param_bits("${getParamPath 1 "bar"}", 1025) + + ${switchToGeneration 2} + + with subtest("check whether bit size has changed"): + assert_param_bits("${getParamPath 2 "foo"}", 1026) + + with subtest("ensure that dhparams file for 'bar' was deleted"): + machine.fail("test -e ${getParamPath 1 "bar"}") + + ${switchToGeneration 3} + + with subtest("ensure that 'security.dhparams.path' has been deleted"): + machine.fail("test -e ${nodes.machine.config.specialisation.gen3.configuration.security.dhparams.path}") + + ${switchToGeneration 4} + + with subtest("check bit sizes dhparam files"): + assert_param_bits( + "${getParamPath 4 "foo2"}", 1027 + ) + assert_param_bits( + "${getParamPath 4 "bar2"}", 1028 + ) + + with subtest("check whether dhparam files are in the Nix store"): + machine.succeed( + "expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}", + "expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}", + ) + + ${switchToGeneration 5} + + with subtest("check whether defaultBitSize works as intended"): + assert_param_bits("${getParamPath 5 "foo3"}", 1029) + assert_param_bits("${getParamPath 5 "bar3"}", 1029) + ''; } diff --git a/nixos/tests/disable-installer-tools.nix b/nixos/tests/disable-installer-tools.nix index 69f99122753a8..d794f7d3f86db 100644 --- a/nixos/tests/disable-installer-tools.nix +++ b/nixos/tests/disable-installer-tools.nix @@ -1,17 +1,22 @@ -import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: +import ./make-test-python.nix ( + { + pkgs, + latestKernel ? false, + ... + }: -{ - name = "disable-installer-tools"; + { + name = "disable-installer-tools"; - nodes.machine = - { pkgs, lib, ... }: - { + nodes.machine = + { pkgs, lib, ... }: + { system.disableInstallerTools = true; boot.enableContainers = false; - environment.defaultPackages = []; - }; + environment.defaultPackages = [ ]; + }; - testScript = '' + testScript = '' machine.wait_for_unit("multi-user.target") machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") @@ -25,5 +30,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: with subtest("perl should not be included"): machine.fail("which perl") - ''; -}) + ''; + } +) diff --git a/nixos/tests/discourse.nix b/nixos/tests/discourse.nix index 3e69a314905cc..3accebe8f31f0 100644 --- a/nixos/tests/discourse.nix +++ b/nixos/tests/discourse.nix @@ -4,7 +4,12 @@ # 3. replying to that message via email. import ./make-test-python.nix ( - { pkgs, lib, package ? pkgs.discourse, ... }: + { + pkgs, + lib, + package ? pkgs.discourse, + ... + }: let certs = import ./common/acme/server/snakeoil-certs.nix; clientDomain = "client.fake.domain"; @@ -76,7 +81,10 @@ import ./make-test-python.nix ( unicornTimeout = 900; }; - networking.firewall.allowedTCPPorts = [ 25 465 ]; + networking.firewall.allowedTCPPorts = [ + 25 + 465 + ]; }; nodes.client = @@ -155,13 +163,13 @@ import ./make-test-python.nix ( smtp.quit() ''; in - [ replyToEmail ]; + [ replyToEmail ]; networking.firewall.allowedTCPPorts = [ 25 ]; }; - - testScript = { nodes }: + testScript = + { nodes }: let request = builtins.toJSON { title = "Private message"; @@ -169,7 +177,8 @@ import ./make-test-python.nix ( target_recipients = admin.username; archetype = "private_message"; }; - in '' + in + '' discourse.start() client.start() @@ -199,4 +208,5 @@ import ./make-test-python.nix ( 'curl -sS -f https://${discourseDomain}/t/$(Test reply.

" then true else null end\' ' ) ''; - }) + } +) diff --git a/nixos/tests/dnscrypt-proxy2.nix b/nixos/tests/dnscrypt-proxy2.nix index a75a745d3553c..eca17dfc78396 100644 --- a/nixos/tests/dnscrypt-proxy2.nix +++ b/nixos/tests/dnscrypt-proxy2.nix @@ -1,38 +1,42 @@ -import ./make-test-python.nix ({ pkgs, ... }: let - localProxyPort = 43; -in { - name = "dnscrypt-proxy2"; - meta = with pkgs.lib.maintainers; { - maintainers = [ joachifm ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + localProxyPort = 43; + in + { + name = "dnscrypt-proxy2"; + meta = with pkgs.lib.maintainers; { + maintainers = [ joachifm ]; + }; - nodes = { - # A client running the recommended setup: DNSCrypt proxy as a forwarder - # for a caching DNS client. - client = - { ... }: - { - security.apparmor.enable = true; + nodes = { + # A client running the recommended setup: DNSCrypt proxy as a forwarder + # for a caching DNS client. + client = + { ... }: + { + security.apparmor.enable = true; - services.dnscrypt-proxy2.enable = true; - services.dnscrypt-proxy2.settings = { - listen_addresses = [ "127.0.0.1:${toString localProxyPort}" ]; - sources.public-resolvers = { - urls = [ "https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md" ]; - cache_file = "public-resolvers.md"; - minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"; - refresh_delay = 72; - }; - }; + services.dnscrypt-proxy2.enable = true; + services.dnscrypt-proxy2.settings = { + listen_addresses = [ "127.0.0.1:${toString localProxyPort}" ]; + sources.public-resolvers = { + urls = [ "https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md" ]; + cache_file = "public-resolvers.md"; + minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"; + refresh_delay = 72; + }; + }; - services.dnsmasq.enable = true; - services.dnsmasq.settings.server = [ "127.0.0.1#${toString localProxyPort}" ]; + services.dnsmasq.enable = true; + services.dnsmasq.settings.server = [ "127.0.0.1#${toString localProxyPort}" ]; + }; }; - }; - testScript = '' - client.wait_for_unit("dnsmasq") - client.wait_for_unit("dnscrypt-proxy2") - client.wait_until_succeeds("ss --numeric --udp --listening | grep -q ${toString localProxyPort}") - ''; -}) + testScript = '' + client.wait_for_unit("dnsmasq") + client.wait_for_unit("dnscrypt-proxy2") + client.wait_until_succeeds("ss --numeric --udp --listening | grep -q ${toString localProxyPort}") + ''; + } +) diff --git a/nixos/tests/dnsdist.nix b/nixos/tests/dnsdist.nix index 33f25d0194133..539d8d6c40084 100644 --- a/nixos/tests/dnsdist.nix +++ b/nixos/tests/dnsdist.nix @@ -64,7 +64,7 @@ in networking.firewall.allowedTCPPorts = [ 443 ]; networking.firewall.allowedUDPPorts = [ 443 ]; services.dnsdist.dnscrypt.enable = true; - services.dnsdist.dnscrypt.providerKey = pkgs.runCommand "dnscrypt-secret.key" {} '' + services.dnsdist.dnscrypt.providerKey = pkgs.runCommand "dnscrypt-secret.key" { } '' echo 'R70+xqm7AaDsPtDgpSjSG7KHvEqVf6u6PZ+E3cGPbOwUQdg6/ RIIpK6pHkINhrv7nxwIG5c7b/m5NJVT3A1AXQ==' | base64 -id > "$out" ''; @@ -74,14 +74,13 @@ in nodes.client = { services.dnscrypt-proxy2.enable = true; services.dnscrypt-proxy2.upstreamDefaults = false; - services.dnscrypt-proxy2.settings = - { server_names = [ "server" ]; - listen_addresses = [ "[::1]:53" ]; - cache = false; - # Computed using https://dnscrypt.info/stamps/ - static.server.stamp = - "sdns://AQAAAAAAAAAADzE5Mi4xNjguMS4yOjQ0MyAUQdg6_RIIpK6pHkINhrv7nxwIG5c7b_m5NJVT3A1AXRYyLmRuc2NyeXB0LWNlcnQuc2VydmVy"; - }; + services.dnscrypt-proxy2.settings = { + server_names = [ "server" ]; + listen_addresses = [ "[::1]:53" ]; + cache = false; + # Computed using https://dnscrypt.info/stamps/ + static.server.stamp = "sdns://AQAAAAAAAAAADzE5Mi4xNjguMS4yOjQ0MyAUQdg6_RIIpK6pHkINhrv7nxwIG5c7b_m5NJVT3A1AXRYyLmRuc2NyeXB0LWNlcnQuc2VydmVy"; + }; networking.nameservers = [ "::1" ]; }; diff --git a/nixos/tests/doas.nix b/nixos/tests/doas.nix index 2aa8b02caf574..75c7f34673523 100644 --- a/nixos/tests/doas.nix +++ b/nixos/tests/doas.nix @@ -1,38 +1,95 @@ # Some tests to ensure doas is working properly. import ./make-test-python.nix ( - { lib, ... }: { + { lib, ... }: + { name = "doas"; meta.maintainers = with lib.maintainers; [ cole-h ]; nodes.machine = { ... }: - { - users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; }; - users.users = { - test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; }; - test1 = { isNormalUser = true; }; - test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; }; - test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; }; - test4 = { isNormalUser = true; extraGroups = [ "baz" ]; }; - test5 = { isNormalUser = true; }; - test6 = { isNormalUser = true; }; - test7 = { isNormalUser = true; }; + { + users.groups = { + foobar = { }; + barfoo = { }; + baz = { + gid = 1337; }; - - security.doas = { - enable = true; - wheelNeedsPassword = false; - - extraRules = [ - { users = [ "test1" ]; groups = [ "foobar" ]; } - { users = [ "test2" ]; noPass = true; setEnv = [ "CORRECT" "HORSE=BATTERY" ]; } - { groups = [ "barfoo" 1337 ]; noPass = true; } - { users = [ "test5" ]; noPass = true; keepEnv = true; runAs = "test1"; } - { users = [ "test6" ]; noPass = true; keepEnv = true; setEnv = [ "-STAPLE" ]; } - { users = [ "test7" ]; noPass = true; setEnv = [ "-SSH_AUTH_SOCK" ]; } - ]; + }; + users.users = { + test0 = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + test1 = { + isNormalUser = true; + }; + test2 = { + isNormalUser = true; + extraGroups = [ "foobar" ]; + }; + test3 = { + isNormalUser = true; + extraGroups = [ "barfoo" ]; + }; + test4 = { + isNormalUser = true; + extraGroups = [ "baz" ]; }; + test5 = { + isNormalUser = true; + }; + test6 = { + isNormalUser = true; + }; + test7 = { + isNormalUser = true; + }; + }; + + security.doas = { + enable = true; + wheelNeedsPassword = false; + + extraRules = [ + { + users = [ "test1" ]; + groups = [ "foobar" ]; + } + { + users = [ "test2" ]; + noPass = true; + setEnv = [ + "CORRECT" + "HORSE=BATTERY" + ]; + } + { + groups = [ + "barfoo" + 1337 + ]; + noPass = true; + } + { + users = [ "test5" ]; + noPass = true; + keepEnv = true; + runAs = "test1"; + } + { + users = [ "test6" ]; + noPass = true; + keepEnv = true; + setEnv = [ "-STAPLE" ]; + } + { + users = [ "test7" ]; + noPass = true; + setEnv = [ "-SSH_AUTH_SOCK" ]; + } + ]; }; + }; testScript = '' with subtest("users in wheel group should have passwordless doas"): diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix index 4f033fc30b191..aeb95a564c0e7 100644 --- a/nixos/tests/docker-registry.nix +++ b/nixos/tests/docker-registry.nix @@ -1,61 +1,74 @@ # This test runs docker-registry and check if it works -import ./make-test-python.nix ({ pkgs, ...} : { - name = "docker-registry"; - meta = with pkgs.lib.maintainers; { - maintainers = [ globin ironpinguin cafkafk ]; - }; - - nodes = { - registry = { ... }: { - services.dockerRegistry.enable = true; - services.dockerRegistry.enableDelete = true; - services.dockerRegistry.port = 8080; - services.dockerRegistry.listenAddress = "0.0.0.0"; - services.dockerRegistry.enableGarbageCollect = true; - services.dockerRegistry.openFirewall = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "docker-registry"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + globin + ironpinguin + cafkafk + ]; }; - client1 = { ... }: { - virtualisation.docker.enable = true; - virtualisation.docker.extraOptions = "--insecure-registry registry:8080"; - }; + nodes = { + registry = + { ... }: + { + services.dockerRegistry.enable = true; + services.dockerRegistry.enableDelete = true; + services.dockerRegistry.port = 8080; + services.dockerRegistry.listenAddress = "0.0.0.0"; + services.dockerRegistry.enableGarbageCollect = true; + services.dockerRegistry.openFirewall = true; + }; + + client1 = + { ... }: + { + virtualisation.docker.enable = true; + virtualisation.docker.extraOptions = "--insecure-registry registry:8080"; + }; - client2 = { ... }: { - virtualisation.docker.enable = true; - virtualisation.docker.extraOptions = "--insecure-registry registry:8080"; + client2 = + { ... }: + { + virtualisation.docker.enable = true; + virtualisation.docker.extraOptions = "--insecure-registry registry:8080"; + }; }; - }; - - testScript = '' - client1.start() - client1.wait_for_unit("docker.service") - client1.succeed("tar cv --files-from /dev/null | docker import - scratch") - client1.succeed("docker tag scratch registry:8080/scratch") - - registry.start() - registry.wait_for_unit("docker-registry.service") - registry.wait_for_open_port(8080) - client1.succeed("docker push registry:8080/scratch") - - client2.start() - client2.wait_for_unit("docker.service") - client2.succeed("docker pull registry:8080/scratch") - client2.succeed("docker images | grep scratch") - - client2.succeed( - "curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H\"Accept: application/vnd.docker.distribution.manifest.v2+json\" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e 's/Docker-Content-Digest: //' | tr -d '\\r')" - ) - - registry.systemctl("start docker-registry-garbage-collect.service") - registry.wait_until_fails("systemctl status docker-registry-garbage-collect.service") - registry.wait_for_unit("docker-registry.service") - - registry.fail("ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data") - - client1.succeed("docker push registry:8080/scratch") - registry.succeed( - "ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data" - ) - ''; -}) + + testScript = '' + client1.start() + client1.wait_for_unit("docker.service") + client1.succeed("tar cv --files-from /dev/null | docker import - scratch") + client1.succeed("docker tag scratch registry:8080/scratch") + + registry.start() + registry.wait_for_unit("docker-registry.service") + registry.wait_for_open_port(8080) + client1.succeed("docker push registry:8080/scratch") + + client2.start() + client2.wait_for_unit("docker.service") + client2.succeed("docker pull registry:8080/scratch") + client2.succeed("docker images | grep scratch") + + client2.succeed( + "curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H\"Accept: application/vnd.docker.distribution.manifest.v2+json\" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e 's/Docker-Content-Digest: //' | tr -d '\\r')" + ) + + registry.systemctl("start docker-registry-garbage-collect.service") + registry.wait_until_fails("systemctl status docker-registry-garbage-collect.service") + registry.wait_for_unit("docker-registry.service") + + registry.fail("ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data") + + client1.succeed("docker push registry:8080/scratch") + registry.succeed( + "ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data" + ) + ''; + } +) diff --git a/nixos/tests/docker-rootless.nix b/nixos/tests/docker-rootless.nix index e2a926eb3cb0e..2a97ccb35f919 100644 --- a/nixos/tests/docker-rootless.nix +++ b/nixos/tests/docker-rootless.nix @@ -1,41 +1,51 @@ # This test runs docker and checks if simple container starts -import ./make-test-python.nix ({ lib, pkgs, ...} : { - name = "docker-rootless"; - meta = with pkgs.lib.maintainers; { - maintainers = [ abbradar ]; - }; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "docker-rootless"; + meta = with pkgs.lib.maintainers; { + maintainers = [ abbradar ]; + }; - nodes = { - machine = { pkgs, ... }: { - virtualisation.docker.rootless.enable = true; + nodes = { + machine = + { pkgs, ... }: + { + virtualisation.docker.rootless.enable = true; - users.users.alice = { - uid = 1000; - isNormalUser = true; - }; + users.users.alice = { + uid = 1000; + isNormalUser = true; + }; + }; }; - }; - testScript = { nodes, ... }: - let - user = nodes.machine.config.users.users.alice; - sudo = lib.concatStringsSep " " [ - "XDG_RUNTIME_DIR=/run/user/${toString user.uid}" - "DOCKER_HOST=unix:///run/user/${toString user.uid}/docker.sock" - "sudo" "--preserve-env=XDG_RUNTIME_DIR,DOCKER_HOST" "-u" "alice" - ]; - in '' - machine.wait_for_unit("multi-user.target") + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + sudo = lib.concatStringsSep " " [ + "XDG_RUNTIME_DIR=/run/user/${toString user.uid}" + "DOCKER_HOST=unix:///run/user/${toString user.uid}/docker.sock" + "sudo" + "--preserve-env=XDG_RUNTIME_DIR,DOCKER_HOST" + "-u" + "alice" + ]; + in + '' + machine.wait_for_unit("multi-user.target") - machine.succeed("loginctl enable-linger alice") - machine.wait_until_succeeds("${sudo} systemctl --user is-active docker.service") + machine.succeed("loginctl enable-linger alice") + machine.wait_until_succeeds("${sudo} systemctl --user is-active docker.service") - machine.succeed("tar cv --files-from /dev/null | ${sudo} docker import - scratchimg") - machine.succeed( - "${sudo} docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10" - ) - machine.succeed("${sudo} docker ps | grep sleeping") - machine.succeed("${sudo} docker stop sleeping") - ''; -}) + machine.succeed("tar cv --files-from /dev/null | ${sudo} docker import - scratchimg") + machine.succeed( + "${sudo} docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10" + ) + machine.succeed("${sudo} docker ps | grep sleeping") + machine.succeed("${sudo} docker stop sleeping") + ''; + } +) diff --git a/nixos/tests/docker-tools-cross.nix b/nixos/tests/docker-tools-cross.nix index 14cb14ceeaea9..e2508be134f0a 100644 --- a/nixos/tests/docker-tools-cross.nix +++ b/nixos/tests/docker-tools-cross.nix @@ -2,79 +2,83 @@ # tests that _include_ running the result are separate. That way, most people # can run the majority of the test suite without the extra setup. +import ./make-test-python.nix ( + { pkgs, ... }: + let -import ./make-test-python.nix ({ pkgs, ... }: -let + remoteSystem = + if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then "x86_64-linux" else "aarch64-linux"; - remoteSystem = - if pkgs.stdenv.hostPlatform.system == "aarch64-linux" - then "x86_64-linux" - else "aarch64-linux"; + remoteCrossPkgs = + import ../.. # nixpkgs + { + # NOTE: This is the machine that runs the build - local from the + # 'perspective' of the build script. + localSystem = remoteSystem; - remoteCrossPkgs = import ../.. /*nixpkgs*/ { - # NOTE: This is the machine that runs the build - local from the - # 'perspective' of the build script. - localSystem = remoteSystem; + # NOTE: Since this file can't control where the test will be _run_ we don't + # cross-compile _to_ a different system but _from_ a different system + crossSystem = pkgs.stdenv.hostPlatform.system; + }; - # NOTE: Since this file can't control where the test will be _run_ we don't - # cross-compile _to_ a different system but _from_ a different system - crossSystem = pkgs.stdenv.hostPlatform.system; - }; - - hello1 = remoteCrossPkgs.dockerTools.buildImage { - name = "hello1"; - tag = "latest"; - copyToRoot = remoteCrossPkgs.buildEnv { - name = "image-root"; - pathsToLink = [ "/bin" ]; - paths = [ remoteCrossPkgs.hello ]; + hello1 = remoteCrossPkgs.dockerTools.buildImage { + name = "hello1"; + tag = "latest"; + copyToRoot = remoteCrossPkgs.buildEnv { + name = "image-root"; + pathsToLink = [ "/bin" ]; + paths = [ remoteCrossPkgs.hello ]; + }; }; - }; - hello2 = remoteCrossPkgs.dockerTools.buildLayeredImage { - name = "hello2"; - tag = "latest"; - contents = remoteCrossPkgs.hello; - }; + hello2 = remoteCrossPkgs.dockerTools.buildLayeredImage { + name = "hello2"; + tag = "latest"; + contents = remoteCrossPkgs.hello; + }; -in { - name = "docker-tools"; - meta = with pkgs.lib.maintainers; { - maintainers = [ roberth ]; - }; + in + { + name = "docker-tools"; + meta = with pkgs.lib.maintainers; { + maintainers = [ roberth ]; + }; - nodes = { - docker = { ... }: { - virtualisation = { - diskSize = 2048; - docker.enable = true; - }; + nodes = { + docker = + { ... }: + { + virtualisation = { + diskSize = 2048; + docker.enable = true; + }; + }; }; - }; - testScript = '' - docker.wait_for_unit("sockets.target") + testScript = '' + docker.wait_for_unit("sockets.target") - with subtest("Ensure cross compiled buildImage image can run."): - docker.succeed( - "docker load --input='${hello1}'" - ) - assert "Hello, world!" in docker.succeed( - "docker run --rm ${hello1.imageName} hello", - ) - docker.succeed( - "docker rmi ${hello1.imageName}", - ) + with subtest("Ensure cross compiled buildImage image can run."): + docker.succeed( + "docker load --input='${hello1}'" + ) + assert "Hello, world!" in docker.succeed( + "docker run --rm ${hello1.imageName} hello", + ) + docker.succeed( + "docker rmi ${hello1.imageName}", + ) - with subtest("Ensure cross compiled buildLayeredImage image can run."): - docker.succeed( - "docker load --input='${hello2}'" - ) - assert "Hello, world!" in docker.succeed( - "docker run --rm ${hello2.imageName} hello", - ) - docker.succeed( - "docker rmi ${hello2.imageName}", - ) - ''; -}) + with subtest("Ensure cross compiled buildLayeredImage image can run."): + docker.succeed( + "docker load --input='${hello2}'" + ) + assert "Hello, world!" in docker.succeed( + "docker run --rm ${hello2.imageName} hello", + ) + docker.succeed( + "docker rmi ${hello2.imageName}", + ) + ''; + } +) diff --git a/nixos/tests/docker-tools-overlay.nix b/nixos/tests/docker-tools-overlay.nix index 14e33899affc1..a1de0272703fa 100644 --- a/nixos/tests/docker-tools-overlay.nix +++ b/nixos/tests/docker-tools-overlay.nix @@ -1,22 +1,26 @@ # this test creates a simple GNU image with docker tools and sees if it executes -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "docker-tools-overlay"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 roberth ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "docker-tools-overlay"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + lnl7 + roberth + ]; + }; - nodes = { - docker = - { ... }: - { - virtualisation.docker.enable = true; - virtualisation.docker.storageDriver = "overlay2"; - }; - }; + nodes = { + docker = + { ... }: + { + virtualisation.docker.enable = true; + virtualisation.docker.storageDriver = "overlay2"; + }; + }; - testScript = '' + testScript = '' docker.wait_for_unit("sockets.target") docker.succeed( @@ -30,4 +34,5 @@ import ./make-test-python.nix ({ pkgs, ... }: # drw------- 99 0 0 100 Apr 14 11:36 /nix/store docker.succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version") ''; -}) + } +) diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index 41bd4a621545f..28d34d137f7d7 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -1,54 +1,60 @@ # this test creates a simple GNU image with docker tools and sees if it executes -import ./make-test-python.nix ({ pkgs, ... }: -let - # nixpkgs#214434: dockerTools.buildImage fails to unpack base images - # containing duplicate layers when those duplicate tarballs - # appear under the manifest's 'Layers'. Docker can generate images - # like this even though dockerTools does not. - repeatedLayerTestImage = - let - # Rootfs diffs for layers 1 and 2 are identical (and empty) - layer1 = pkgs.dockerTools.buildImage { name = "empty"; }; - layer2 = layer1.overrideAttrs (_: { fromImage = layer1; }); - repeatedRootfsDiffs = pkgs.runCommand "image-with-links.tar" { - nativeBuildInputs = [pkgs.jq]; - } '' - mkdir contents - tar -xf "${layer2}" -C contents - cd contents - first_rootfs=$(jq -r '.[0].Layers[0]' manifest.json) - second_rootfs=$(jq -r '.[0].Layers[1]' manifest.json) - target_rootfs=$(sha256sum "$first_rootfs" | cut -d' ' -f 1).tar - - # Replace duplicated rootfs diffs with symlinks to one tarball - chmod -R ug+w . - mv "$first_rootfs" "$target_rootfs" - rm "$second_rootfs" - ln -s "../$target_rootfs" "$first_rootfs" - ln -s "../$target_rootfs" "$second_rootfs" - - # Update manifest's layers to use the symlinks' target - cat manifest.json | \ - jq ".[0].Layers[0] = \"$target_rootfs\"" | - jq ".[0].Layers[1] = \"$target_rootfs\"" > manifest.json.new - mv manifest.json.new manifest.json - - tar --sort=name --hard-dereference -cf $out . +import ./make-test-python.nix ( + { pkgs, ... }: + let + # nixpkgs#214434: dockerTools.buildImage fails to unpack base images + # containing duplicate layers when those duplicate tarballs + # appear under the manifest's 'Layers'. Docker can generate images + # like this even though dockerTools does not. + repeatedLayerTestImage = + let + # Rootfs diffs for layers 1 and 2 are identical (and empty) + layer1 = pkgs.dockerTools.buildImage { name = "empty"; }; + layer2 = layer1.overrideAttrs (_: { + fromImage = layer1; + }); + repeatedRootfsDiffs = + pkgs.runCommand "image-with-links.tar" + { + nativeBuildInputs = [ pkgs.jq ]; + } + '' + mkdir contents + tar -xf "${layer2}" -C contents + cd contents + first_rootfs=$(jq -r '.[0].Layers[0]' manifest.json) + second_rootfs=$(jq -r '.[0].Layers[1]' manifest.json) + target_rootfs=$(sha256sum "$first_rootfs" | cut -d' ' -f 1).tar + + # Replace duplicated rootfs diffs with symlinks to one tarball + chmod -R ug+w . + mv "$first_rootfs" "$target_rootfs" + rm "$second_rootfs" + ln -s "../$target_rootfs" "$first_rootfs" + ln -s "../$target_rootfs" "$second_rootfs" + + # Update manifest's layers to use the symlinks' target + cat manifest.json | \ + jq ".[0].Layers[0] = \"$target_rootfs\"" | + jq ".[0].Layers[1] = \"$target_rootfs\"" > manifest.json.new + mv manifest.json.new manifest.json + + tar --sort=name --hard-dereference -cf $out . + ''; + in + pkgs.dockerTools.buildImage { + fromImage = repeatedRootfsDiffs; + name = "repeated-layer-test"; + tag = "latest"; + copyToRoot = pkgs.bash; + # A runAsRoot script is required to force previous layers to be unpacked + runAsRoot = '' + echo 'runAsRoot has run.' ''; - in pkgs.dockerTools.buildImage { - fromImage = repeatedRootfsDiffs; - name = "repeated-layer-test"; - tag = "latest"; - copyToRoot = pkgs.bash; - # A runAsRoot script is required to force previous layers to be unpacked - runAsRoot = '' - echo 'runAsRoot has run.' - ''; - }; + }; - chownTestImage = - pkgs.dockerTools.streamLayeredImage { + chownTestImage = pkgs.dockerTools.streamLayeredImage { name = "chown-test"; tag = "latest"; enableFakechroot = true; @@ -56,11 +62,15 @@ let touch /testfile chown 12345:12345 /testfile ''; - config.Cmd = [ "${pkgs.coreutils}/bin/stat" "-c" "%u:%g" "/testfile" ]; + config.Cmd = [ + "${pkgs.coreutils}/bin/stat" + "-c" + "%u:%g" + "/testfile" + ]; }; - nonRootTestImage = - pkgs.dockerTools.streamLayeredImage { + nonRootTestImage = pkgs.dockerTools.streamLayeredImage { name = "non-root-test"; tag = "latest"; uid = 1000; @@ -69,514 +79,526 @@ let gname = "user"; config = { User = "user"; - Cmd = [ "${pkgs.coreutils}/bin/stat" "-c" "%u:%g" "${pkgs.coreutils}/bin/stat" ]; + Cmd = [ + "${pkgs.coreutils}/bin/stat" + "-c" + "%u:%g" + "${pkgs.coreutils}/bin/stat" + ]; }; }; -in { - name = "docker-tools"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 roberth ]; - }; - - nodes = { - docker = { ... }: { - virtualisation = { - diskSize = 3072; - docker.enable = true; - }; + in + { + name = "docker-tools"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + lnl7 + roberth + ]; + }; + + nodes = { + docker = + { ... }: + { + virtualisation = { + diskSize = 3072; + docker.enable = true; + }; + }; }; - }; - - testScript = with pkgs.dockerTools; '' - unix_time_second1 = "1970-01-01T00:00:01Z" - - docker.wait_for_unit("sockets.target") - - with subtest("includeStorePath"): - with subtest("assumption"): - docker.succeed("${examples.helloOnRoot} | docker load") - docker.succeed("docker run --rm hello | grep -i hello") - docker.succeed("docker image rm hello:latest") - - with subtest("includeStorePath = false; breaks example"): - docker.succeed("${examples.helloOnRootNoStore} | docker load") - docker.fail("docker run --rm hello | grep -i hello") - docker.succeed("docker image rm hello:latest") - with subtest("includeStorePath = false; breaks example (fakechroot)"): - docker.succeed("${examples.helloOnRootNoStoreFakechroot} | docker load") - docker.fail("docker run --rm hello | grep -i hello") - docker.succeed("docker image rm hello:latest") - - with subtest("Ensure ZERO paths are added to the store"): - docker.fail("${examples.helloOnRootNoStore} | ${pkgs.crane}/bin/crane export - - | tar t | grep 'nix/store/'") - with subtest("Ensure ZERO paths are added to the store (fakechroot)"): - docker.fail("${examples.helloOnRootNoStoreFakechroot} | ${pkgs.crane}/bin/crane export - - | tar t | grep 'nix/store/'") - - with subtest("includeStorePath = false; works with mounted store"): - docker.succeed("${examples.helloOnRootNoStore} | docker load") - docker.succeed("docker run --rm --volume ${builtins.storeDir}:${builtins.storeDir}:ro hello | grep -i hello") - docker.succeed("docker image rm hello:latest") - with subtest("includeStorePath = false; works with mounted store (fakechroot)"): - docker.succeed("${examples.helloOnRootNoStoreFakechroot} | docker load") - docker.succeed("docker run --rm --volume ${builtins.storeDir}:${builtins.storeDir}:ro hello | grep -i hello") - docker.succeed("docker image rm hello:latest") - - with subtest("Ensure Docker images use a stable date by default"): - docker.succeed( - "docker load --input='${examples.bash}'" - ) - assert unix_time_second1 in docker.succeed( - "docker inspect ${examples.bash.imageName} " - + "| ${pkgs.jq}/bin/jq -r .[].Created", - ) - - docker.succeed("docker run --rm ${examples.bash.imageName} bash --version") - # Check imageTag attribute matches image - docker.succeed("docker images --format '{{.Tag}}' | grep -F '${examples.bash.imageTag}'") - docker.succeed("docker rmi ${examples.bash.imageName}") - - # The remaining combinations - with subtest("Ensure imageTag attribute matches image"): - docker.succeed( - "docker load --input='${examples.bashNoTag}'" - ) - docker.succeed( - "docker images --format '{{.Tag}}' | grep -F '${examples.bashNoTag.imageTag}'" - ) - docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}") - - docker.succeed( - "docker load --input='${examples.bashNoTagLayered}'" - ) - docker.succeed( - "docker images --format '{{.Tag}}' | grep -F '${examples.bashNoTagLayered.imageTag}'" - ) - docker.succeed("docker rmi ${examples.bashNoTagLayered.imageName}:${examples.bashNoTagLayered.imageTag}") - - docker.succeed( - "${examples.bashNoTagStreamLayered} | docker load" - ) - docker.succeed( - "docker images --format '{{.Tag}}' | grep -F '${examples.bashNoTagStreamLayered.imageTag}'" - ) - docker.succeed( - "docker rmi ${examples.bashNoTagStreamLayered.imageName}:${examples.bashNoTagStreamLayered.imageTag}" - ) - - docker.succeed( - "docker load --input='${examples.nixLayered}'" - ) - docker.succeed("docker images --format '{{.Tag}}' | grep -F '${examples.nixLayered.imageTag}'") - docker.succeed("docker rmi ${examples.nixLayered.imageName}") - - with subtest("Check that images with alternative compression schemas load"): - docker.succeed( - "docker load --input='${examples.bashZstdCompressed}'", - "docker rmi ${examples.bashZstdCompressed.imageName}", - ) - docker.succeed( - "docker load --input='${examples.bashUncompressed}'", - "docker rmi ${examples.bashUncompressed.imageName}", - ) - docker.succeed( - "docker load --input='${examples.bashLayeredUncompressed}'", - "docker rmi ${examples.bashLayeredUncompressed.imageName}", - ) - docker.succeed( - "docker load --input='${examples.bashLayeredZstdCompressed}'", - "docker rmi ${examples.bashLayeredZstdCompressed.imageName}", - ) - - with subtest( - "Check if the nix store is correctly initialized by listing " - "dependencies of the installed Nix binary" - ): - docker.succeed( - "docker load --input='${examples.nix}'", - "docker run --rm ${examples.nix.imageName} nix-store -qR ${pkgs.nix}", - "docker rmi ${examples.nix.imageName}", - ) - - with subtest( - "Ensure (layered) nix store has correct permissions " - "and that the container starts when its process does not have uid 0" - ): - docker.succeed( - "docker load --input='${examples.bashLayeredWithUser}'", - "docker run -u somebody --rm ${examples.bashLayeredWithUser.imageName} ${pkgs.bash}/bin/bash -c 'test 755 == $(stat --format=%a /nix) && test 755 == $(stat --format=%a /nix/store)'", - "docker rmi ${examples.bashLayeredWithUser.imageName}", - ) - - with subtest("The nix binary symlinks are intact"): - docker.succeed( - "docker load --input='${examples.nix}'", - "docker run --rm ${examples.nix.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'", - "docker rmi ${examples.nix.imageName}", - ) - - with subtest("The nix binary symlinks are intact when the image is layered"): - docker.succeed( - "docker load --input='${examples.nixLayered}'", - "docker run --rm ${examples.nixLayered.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'", - "docker rmi ${examples.nixLayered.imageName}", - ) - - with subtest("The pullImage tool works"): - docker.succeed( - "docker load --input='${examples.testNixFromDockerHub}'", - "docker run --rm nix:2.2.1 nix-store --version", - "docker rmi nix:2.2.1", - ) - - with subtest("runAsRoot and entry point work"): - docker.succeed( - "docker load --input='${examples.nginx}'", - "docker run --name nginx -d -p 8000:80 ${examples.nginx.imageName}", - ) - docker.wait_until_succeeds("curl -f http://localhost:8000/") - docker.succeed( - "docker rm --force nginx", - "docker rmi '${examples.nginx.imageName}'", - ) - - with subtest("A pulled image can be used as base image"): - docker.succeed( - "docker load --input='${examples.onTopOfPulledImage}'", - "docker run --rm ontopofpulledimage hello", - "docker rmi ontopofpulledimage", - ) - - with subtest("Regression test for issue #34779"): - docker.succeed( - "docker load --input='${examples.runAsRootExtraCommands}'", - "docker run --rm runasrootextracommands cat extraCommands", - "docker run --rm runasrootextracommands cat runAsRoot", - "docker rmi '${examples.runAsRootExtraCommands.imageName}'", - ) - - with subtest("Ensure Docker images can use an unstable date"): - docker.succeed( - "docker load --input='${examples.unstableDate}'" - ) - assert unix_time_second1 not in docker.succeed( - "docker inspect ${examples.unstableDate.imageName} " - + "| ${pkgs.jq}/bin/jq -r .[].Created" - ) - - with subtest("Ensure Layered Docker images can use an unstable date"): - docker.succeed( - "docker load --input='${examples.unstableDateLayered}'" - ) - assert unix_time_second1 not in docker.succeed( - "docker inspect ${examples.unstableDateLayered.imageName} " - + "| ${pkgs.jq}/bin/jq -r .[].Created" - ) - - with subtest("Ensure Layered Docker images work"): - docker.succeed( - "docker load --input='${examples.layered-image}'", - "docker run --rm ${examples.layered-image.imageName}", - "docker run --rm ${examples.layered-image.imageName} cat extraCommands", - ) - - with subtest("Ensure images built on top of layered Docker images work"): - docker.succeed( - "docker load --input='${examples.layered-on-top}'", - "docker run --rm ${examples.layered-on-top.imageName}", - ) - - with subtest("Ensure layered images built on top of layered Docker images work"): - docker.succeed( - "docker load --input='${examples.layered-on-top-layered}'", - "docker run --rm ${examples.layered-on-top-layered.imageName}", - ) - - - def set_of_layers(image_name): - return set( - docker.succeed( - f"docker inspect {image_name} " - + "| ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]'" - ).split() - ) - - - with subtest("Ensure layers are shared between images"): - docker.succeed( - "docker load --input='${examples.another-layered-image}'" - ) - layers1 = set_of_layers("${examples.layered-image.imageName}") - layers2 = set_of_layers("${examples.another-layered-image.imageName}") - assert bool(layers1 & layers2) - - with subtest("Ensure order of layers is correct"): - docker.succeed( - "docker load --input='${examples.layersOrder}'" - ) - - for index in 1, 2, 3: - assert f"layer{index}" in docker.succeed( - f"docker run --rm ${examples.layersOrder.imageName} cat /tmp/layer{index}" - ) - - with subtest("Ensure layers unpacked in correct order before runAsRoot runs"): - assert "abc" in docker.succeed( - "docker load --input='${examples.layersUnpackOrder}'", - "docker run --rm ${examples.layersUnpackOrder.imageName} cat /layer-order" - ) - - with subtest("Ensure repeated base layers handled by buildImage"): - docker.succeed( - "docker load --input='${repeatedLayerTestImage}'", - "docker run --rm ${repeatedLayerTestImage.imageName} /bin/bash -c 'exit 0'" - ) - - with subtest("Ensure environment variables are correctly inherited"): - docker.succeed( - "docker load --input='${examples.environmentVariables}'" - ) - out = docker.succeed("docker run --rm ${examples.environmentVariables.imageName} env") - env = out.splitlines() - assert "FROM_PARENT=true" in env, "envvars from the parent should be preserved" - assert "FROM_CHILD=true" in env, "envvars from the child should be preserved" - assert "LAST_LAYER=child" in env, "envvars from the child should take priority" - - with subtest("Ensure environment variables of layered images are correctly inherited"): - docker.succeed( - "docker load --input='${examples.environmentVariablesLayered}'" - ) - out = docker.succeed("docker run --rm ${examples.environmentVariablesLayered.imageName} env") - env = out.splitlines() - assert "FROM_PARENT=true" in env, "envvars from the parent should be preserved" - assert "FROM_CHILD=true" in env, "envvars from the child should be preserved" - assert "LAST_LAYER=child" in env, "envvars from the child should take priority" - - with subtest( - "Ensure inherited environment variables of layered images are correctly resolved" - ): - # Read environment variables as stored in image config - config = docker.succeed( - "tar -xOf ${examples.environmentVariablesLayered} manifest.json | ${pkgs.jq}/bin/jq -r .[].Config" - ).strip() - out = docker.succeed( - f"tar -xOf ${examples.environmentVariablesLayered} {config} | ${pkgs.jq}/bin/jq -r '.config.Env | .[]'" - ) - env = out.splitlines() - assert ( - sum(entry.startswith("LAST_LAYER") for entry in env) == 1 - ), "envvars overridden by child should be unique" - - with subtest("Ensure image with only 2 layers can be loaded"): - docker.succeed( - "docker load --input='${examples.two-layered-image}'" - ) - - with subtest( - "Ensure the bulk layer doesn't miss store paths (regression test for #78744)" - ): - docker.succeed( - "docker load --input='${pkgs.dockerTools.examples.bulk-layer}'", - # Ensure the two output paths (ls and hello) are in the layer - "docker run bulk-layer ls /bin/hello", - ) - - with subtest( - "Ensure the bulk layer with a base image respects the number of maxLayers" - ): - docker.succeed( - "docker load --input='${pkgs.dockerTools.examples.layered-bulk-layer}'", - # Ensure the image runs correctly - "docker run layered-bulk-layer ls /bin/hello", - ) - - # Ensure the image has the correct number of layers - assert len(set_of_layers("layered-bulk-layer")) == 4 - - with subtest("Ensure only minimal paths are added to the store"): - # TODO: make an example that has no store paths, for example by making - # busybox non-self-referential. - - # This check tests that buildLayeredImage can build images that don't need a store. - docker.succeed( - "docker load --input='${pkgs.dockerTools.examples.no-store-paths}'" - ) - - docker.succeed("docker run --rm no-store-paths ls / >/dev/console") - - # If busybox isn't self-referential, we need this line - # docker.fail("docker run --rm no-store-paths ls /nix/store >/dev/console") - # However, it currently is self-referential, so we check that it is the - # only store path. - docker.succeed("diff <(docker run --rm no-store-paths ls /nix/store) <(basename ${pkgs.pkgsStatic.busybox}) >/dev/console") - - with subtest("Ensure buildLayeredImage does not change store path contents."): - docker.succeed( - "docker load --input='${pkgs.dockerTools.examples.filesInStore}'", - "docker run --rm file-in-store nix-store --verify --check-contents", - "docker run --rm file-in-store |& grep 'some data'", - ) - - with subtest("Ensure cross compiled image can be loaded and has correct arch."): - docker.succeed( - "docker load --input='${pkgs.dockerTools.examples.cross}'", - ) - assert ( - docker.succeed( - "docker inspect ${pkgs.dockerTools.examples.cross.imageName} " - + "| ${pkgs.jq}/bin/jq -r .[].Architecture" - ).strip() - == "${if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then "amd64" else "arm64"}" - ) - - with subtest("buildLayeredImage doesn't dereference /nix/store symlink layers"): - docker.succeed( - "docker load --input='${examples.layeredStoreSymlink}'", - "docker run --rm ${examples.layeredStoreSymlink.imageName} bash -c 'test -L ${examples.layeredStoreSymlink.passthru.symlink}'", - "docker rmi ${examples.layeredStoreSymlink.imageName}", - ) - - with subtest("buildImage supports registry/ prefix in image name"): - docker.succeed( - "docker load --input='${examples.prefixedImage}'" - ) - docker.succeed( - "docker images --format '{{.Repository}}' | grep -F '${examples.prefixedImage.imageName}'" - ) - - with subtest("buildLayeredImage supports registry/ prefix in image name"): - docker.succeed( - "docker load --input='${examples.prefixedLayeredImage}'" - ) - docker.succeed( - "docker images --format '{{.Repository}}' | grep -F '${examples.prefixedLayeredImage.imageName}'" - ) - - with subtest("buildLayeredImage supports running chown with fakeRootCommands"): - docker.succeed( - "docker load --input='${examples.layeredImageWithFakeRootCommands}'" - ) - docker.succeed( - "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/alice | grep -E ^1000$'" - ) - - with subtest("Ensure docker load on merged images loads all of the constituent images"): - docker.succeed( - "docker load --input='${examples.mergedBashAndRedis}'" - ) - docker.succeed( - "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bash.imageName}-${examples.bash.imageTag}'" - ) - docker.succeed( - "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'" - ) - docker.succeed("docker run --rm ${examples.bash.imageName} bash --version") - docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version") - docker.succeed("docker rmi ${examples.bash.imageName}") - docker.succeed("docker rmi ${examples.redis.imageName}") - - with subtest( - "Ensure docker load on merged images loads all of the constituent images (missing tags)" - ): - docker.succeed( - "docker load --input='${examples.mergedBashNoTagAndRedis}'" - ) - docker.succeed( - "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bashNoTag.imageName}-${examples.bashNoTag.imageTag}'" - ) - docker.succeed( - "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'" - ) - # we need to explicitly specify the generated tag here - docker.succeed( - "docker run --rm ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag} bash --version" - ) - docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version") - docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}") - docker.succeed("docker rmi ${examples.redis.imageName}") - - with subtest("mergeImages preserves owners of the original images"): - docker.succeed( - "docker load --input='${examples.mergedBashFakeRoot}'" - ) - docker.succeed( - "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/alice | grep -E ^1000$'" - ) - - with subtest("The image contains store paths referenced by the fakeRootCommands output"): - docker.succeed( - "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} /hello/bin/layeredImageWithFakeRootCommands-hello" - ) - - with subtest("mergeImage correctly deals with varying compression schemas in inputs"): - docker.succeed("docker load --input='${examples.mergeVaryingCompressor}'") - - for sub_image, tag in [ - ("${examples.redis.imageName}", "${examples.redis.imageTag}"), - ("${examples.bashUncompressed.imageName}", "${examples.bashUncompressed.imageTag}"), - ("${examples.bashZstdCompressed.imageName}", "${examples.bashZstdCompressed.imageTag}"), - ]: - docker.succeed(f"docker images --format '{{{{.Repository}}}}-{{{{.Tag}}}}' | grep -F '{sub_image}-{tag}'") - docker.succeed(f"docker rmi {sub_image}") - - - with subtest("exportImage produces a valid tarball"): - docker.succeed( - "tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null" - ) - - with subtest("layered image fakeRootCommands with fakechroot works"): - docker.succeed("${examples.imageViaFakeChroot} | docker load") - docker.succeed("docker run --rm image-via-fake-chroot | grep -i hello") - docker.succeed("docker image rm image-via-fake-chroot:latest") - - with subtest("Ensure bare paths in contents are loaded correctly"): - docker.succeed( - "docker load --input='${examples.build-image-with-path}'", - "docker run --rm build-image-with-path bash -c '[[ -e /hello.txt ]]'", - "docker rmi build-image-with-path", - ) - docker.succeed( - "${examples.layered-image-with-path} | docker load", - "docker run --rm layered-image-with-path bash -c '[[ -e /hello.txt ]]'", - "docker rmi layered-image-with-path", - ) - - with subtest("Ensure correct architecture is present in manifests."): - docker.succeed(""" - docker load --input='${examples.build-image-with-architecture}' - docker inspect build-image-with-architecture \ - | ${pkgs.jq}/bin/jq -er '.[] | select(.Architecture=="arm64").Architecture' - docker rmi build-image-with-architecture - """) - docker.succeed(""" - ${examples.layered-image-with-architecture} | docker load - docker inspect layered-image-with-architecture \ - | ${pkgs.jq}/bin/jq -er '.[] | select(.Architecture=="arm64").Architecture' - docker rmi layered-image-with-architecture - """) - - with subtest("etc"): - docker.succeed("${examples.etc} | docker load") - docker.succeed("docker run --rm etc | grep localhost") - docker.succeed("docker image rm etc:latest") - - with subtest("image-with-certs"): - docker.succeed("<${examples.image-with-certs} docker load") - docker.succeed("docker run --rm image-with-certs:latest test -r /etc/ssl/certs/ca-bundle.crt") - docker.succeed("docker run --rm image-with-certs:latest test -r /etc/ssl/certs/ca-certificates.crt") - docker.succeed("docker run --rm image-with-certs:latest test -r /etc/pki/tls/certs/ca-bundle.crt") - docker.succeed("docker image rm image-with-certs:latest") - - with subtest("streamLayeredImage: chown is persistent in fakeRootCommands"): - docker.succeed( - "${chownTestImage} | docker load", - "docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)" - ) - - with subtest("streamLayeredImage: with non-root user"): - docker.succeed( - "${nonRootTestImage} | docker load", - "docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)" - ) - ''; -}) + + testScript = with pkgs.dockerTools; '' + unix_time_second1 = "1970-01-01T00:00:01Z" + + docker.wait_for_unit("sockets.target") + + with subtest("includeStorePath"): + with subtest("assumption"): + docker.succeed("${examples.helloOnRoot} | docker load") + docker.succeed("docker run --rm hello | grep -i hello") + docker.succeed("docker image rm hello:latest") + + with subtest("includeStorePath = false; breaks example"): + docker.succeed("${examples.helloOnRootNoStore} | docker load") + docker.fail("docker run --rm hello | grep -i hello") + docker.succeed("docker image rm hello:latest") + with subtest("includeStorePath = false; breaks example (fakechroot)"): + docker.succeed("${examples.helloOnRootNoStoreFakechroot} | docker load") + docker.fail("docker run --rm hello | grep -i hello") + docker.succeed("docker image rm hello:latest") + + with subtest("Ensure ZERO paths are added to the store"): + docker.fail("${examples.helloOnRootNoStore} | ${pkgs.crane}/bin/crane export - - | tar t | grep 'nix/store/'") + with subtest("Ensure ZERO paths are added to the store (fakechroot)"): + docker.fail("${examples.helloOnRootNoStoreFakechroot} | ${pkgs.crane}/bin/crane export - - | tar t | grep 'nix/store/'") + + with subtest("includeStorePath = false; works with mounted store"): + docker.succeed("${examples.helloOnRootNoStore} | docker load") + docker.succeed("docker run --rm --volume ${builtins.storeDir}:${builtins.storeDir}:ro hello | grep -i hello") + docker.succeed("docker image rm hello:latest") + with subtest("includeStorePath = false; works with mounted store (fakechroot)"): + docker.succeed("${examples.helloOnRootNoStoreFakechroot} | docker load") + docker.succeed("docker run --rm --volume ${builtins.storeDir}:${builtins.storeDir}:ro hello | grep -i hello") + docker.succeed("docker image rm hello:latest") + + with subtest("Ensure Docker images use a stable date by default"): + docker.succeed( + "docker load --input='${examples.bash}'" + ) + assert unix_time_second1 in docker.succeed( + "docker inspect ${examples.bash.imageName} " + + "| ${pkgs.jq}/bin/jq -r .[].Created", + ) + + docker.succeed("docker run --rm ${examples.bash.imageName} bash --version") + # Check imageTag attribute matches image + docker.succeed("docker images --format '{{.Tag}}' | grep -F '${examples.bash.imageTag}'") + docker.succeed("docker rmi ${examples.bash.imageName}") + + # The remaining combinations + with subtest("Ensure imageTag attribute matches image"): + docker.succeed( + "docker load --input='${examples.bashNoTag}'" + ) + docker.succeed( + "docker images --format '{{.Tag}}' | grep -F '${examples.bashNoTag.imageTag}'" + ) + docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}") + + docker.succeed( + "docker load --input='${examples.bashNoTagLayered}'" + ) + docker.succeed( + "docker images --format '{{.Tag}}' | grep -F '${examples.bashNoTagLayered.imageTag}'" + ) + docker.succeed("docker rmi ${examples.bashNoTagLayered.imageName}:${examples.bashNoTagLayered.imageTag}") + + docker.succeed( + "${examples.bashNoTagStreamLayered} | docker load" + ) + docker.succeed( + "docker images --format '{{.Tag}}' | grep -F '${examples.bashNoTagStreamLayered.imageTag}'" + ) + docker.succeed( + "docker rmi ${examples.bashNoTagStreamLayered.imageName}:${examples.bashNoTagStreamLayered.imageTag}" + ) + + docker.succeed( + "docker load --input='${examples.nixLayered}'" + ) + docker.succeed("docker images --format '{{.Tag}}' | grep -F '${examples.nixLayered.imageTag}'") + docker.succeed("docker rmi ${examples.nixLayered.imageName}") + + with subtest("Check that images with alternative compression schemas load"): + docker.succeed( + "docker load --input='${examples.bashZstdCompressed}'", + "docker rmi ${examples.bashZstdCompressed.imageName}", + ) + docker.succeed( + "docker load --input='${examples.bashUncompressed}'", + "docker rmi ${examples.bashUncompressed.imageName}", + ) + docker.succeed( + "docker load --input='${examples.bashLayeredUncompressed}'", + "docker rmi ${examples.bashLayeredUncompressed.imageName}", + ) + docker.succeed( + "docker load --input='${examples.bashLayeredZstdCompressed}'", + "docker rmi ${examples.bashLayeredZstdCompressed.imageName}", + ) + + with subtest( + "Check if the nix store is correctly initialized by listing " + "dependencies of the installed Nix binary" + ): + docker.succeed( + "docker load --input='${examples.nix}'", + "docker run --rm ${examples.nix.imageName} nix-store -qR ${pkgs.nix}", + "docker rmi ${examples.nix.imageName}", + ) + + with subtest( + "Ensure (layered) nix store has correct permissions " + "and that the container starts when its process does not have uid 0" + ): + docker.succeed( + "docker load --input='${examples.bashLayeredWithUser}'", + "docker run -u somebody --rm ${examples.bashLayeredWithUser.imageName} ${pkgs.bash}/bin/bash -c 'test 755 == $(stat --format=%a /nix) && test 755 == $(stat --format=%a /nix/store)'", + "docker rmi ${examples.bashLayeredWithUser.imageName}", + ) + + with subtest("The nix binary symlinks are intact"): + docker.succeed( + "docker load --input='${examples.nix}'", + "docker run --rm ${examples.nix.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'", + "docker rmi ${examples.nix.imageName}", + ) + + with subtest("The nix binary symlinks are intact when the image is layered"): + docker.succeed( + "docker load --input='${examples.nixLayered}'", + "docker run --rm ${examples.nixLayered.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'", + "docker rmi ${examples.nixLayered.imageName}", + ) + + with subtest("The pullImage tool works"): + docker.succeed( + "docker load --input='${examples.testNixFromDockerHub}'", + "docker run --rm nix:2.2.1 nix-store --version", + "docker rmi nix:2.2.1", + ) + + with subtest("runAsRoot and entry point work"): + docker.succeed( + "docker load --input='${examples.nginx}'", + "docker run --name nginx -d -p 8000:80 ${examples.nginx.imageName}", + ) + docker.wait_until_succeeds("curl -f http://localhost:8000/") + docker.succeed( + "docker rm --force nginx", + "docker rmi '${examples.nginx.imageName}'", + ) + + with subtest("A pulled image can be used as base image"): + docker.succeed( + "docker load --input='${examples.onTopOfPulledImage}'", + "docker run --rm ontopofpulledimage hello", + "docker rmi ontopofpulledimage", + ) + + with subtest("Regression test for issue #34779"): + docker.succeed( + "docker load --input='${examples.runAsRootExtraCommands}'", + "docker run --rm runasrootextracommands cat extraCommands", + "docker run --rm runasrootextracommands cat runAsRoot", + "docker rmi '${examples.runAsRootExtraCommands.imageName}'", + ) + + with subtest("Ensure Docker images can use an unstable date"): + docker.succeed( + "docker load --input='${examples.unstableDate}'" + ) + assert unix_time_second1 not in docker.succeed( + "docker inspect ${examples.unstableDate.imageName} " + + "| ${pkgs.jq}/bin/jq -r .[].Created" + ) + + with subtest("Ensure Layered Docker images can use an unstable date"): + docker.succeed( + "docker load --input='${examples.unstableDateLayered}'" + ) + assert unix_time_second1 not in docker.succeed( + "docker inspect ${examples.unstableDateLayered.imageName} " + + "| ${pkgs.jq}/bin/jq -r .[].Created" + ) + + with subtest("Ensure Layered Docker images work"): + docker.succeed( + "docker load --input='${examples.layered-image}'", + "docker run --rm ${examples.layered-image.imageName}", + "docker run --rm ${examples.layered-image.imageName} cat extraCommands", + ) + + with subtest("Ensure images built on top of layered Docker images work"): + docker.succeed( + "docker load --input='${examples.layered-on-top}'", + "docker run --rm ${examples.layered-on-top.imageName}", + ) + + with subtest("Ensure layered images built on top of layered Docker images work"): + docker.succeed( + "docker load --input='${examples.layered-on-top-layered}'", + "docker run --rm ${examples.layered-on-top-layered.imageName}", + ) + + + def set_of_layers(image_name): + return set( + docker.succeed( + f"docker inspect {image_name} " + + "| ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]'" + ).split() + ) + + + with subtest("Ensure layers are shared between images"): + docker.succeed( + "docker load --input='${examples.another-layered-image}'" + ) + layers1 = set_of_layers("${examples.layered-image.imageName}") + layers2 = set_of_layers("${examples.another-layered-image.imageName}") + assert bool(layers1 & layers2) + + with subtest("Ensure order of layers is correct"): + docker.succeed( + "docker load --input='${examples.layersOrder}'" + ) + + for index in 1, 2, 3: + assert f"layer{index}" in docker.succeed( + f"docker run --rm ${examples.layersOrder.imageName} cat /tmp/layer{index}" + ) + + with subtest("Ensure layers unpacked in correct order before runAsRoot runs"): + assert "abc" in docker.succeed( + "docker load --input='${examples.layersUnpackOrder}'", + "docker run --rm ${examples.layersUnpackOrder.imageName} cat /layer-order" + ) + + with subtest("Ensure repeated base layers handled by buildImage"): + docker.succeed( + "docker load --input='${repeatedLayerTestImage}'", + "docker run --rm ${repeatedLayerTestImage.imageName} /bin/bash -c 'exit 0'" + ) + + with subtest("Ensure environment variables are correctly inherited"): + docker.succeed( + "docker load --input='${examples.environmentVariables}'" + ) + out = docker.succeed("docker run --rm ${examples.environmentVariables.imageName} env") + env = out.splitlines() + assert "FROM_PARENT=true" in env, "envvars from the parent should be preserved" + assert "FROM_CHILD=true" in env, "envvars from the child should be preserved" + assert "LAST_LAYER=child" in env, "envvars from the child should take priority" + + with subtest("Ensure environment variables of layered images are correctly inherited"): + docker.succeed( + "docker load --input='${examples.environmentVariablesLayered}'" + ) + out = docker.succeed("docker run --rm ${examples.environmentVariablesLayered.imageName} env") + env = out.splitlines() + assert "FROM_PARENT=true" in env, "envvars from the parent should be preserved" + assert "FROM_CHILD=true" in env, "envvars from the child should be preserved" + assert "LAST_LAYER=child" in env, "envvars from the child should take priority" + + with subtest( + "Ensure inherited environment variables of layered images are correctly resolved" + ): + # Read environment variables as stored in image config + config = docker.succeed( + "tar -xOf ${examples.environmentVariablesLayered} manifest.json | ${pkgs.jq}/bin/jq -r .[].Config" + ).strip() + out = docker.succeed( + f"tar -xOf ${examples.environmentVariablesLayered} {config} | ${pkgs.jq}/bin/jq -r '.config.Env | .[]'" + ) + env = out.splitlines() + assert ( + sum(entry.startswith("LAST_LAYER") for entry in env) == 1 + ), "envvars overridden by child should be unique" + + with subtest("Ensure image with only 2 layers can be loaded"): + docker.succeed( + "docker load --input='${examples.two-layered-image}'" + ) + + with subtest( + "Ensure the bulk layer doesn't miss store paths (regression test for #78744)" + ): + docker.succeed( + "docker load --input='${pkgs.dockerTools.examples.bulk-layer}'", + # Ensure the two output paths (ls and hello) are in the layer + "docker run bulk-layer ls /bin/hello", + ) + + with subtest( + "Ensure the bulk layer with a base image respects the number of maxLayers" + ): + docker.succeed( + "docker load --input='${pkgs.dockerTools.examples.layered-bulk-layer}'", + # Ensure the image runs correctly + "docker run layered-bulk-layer ls /bin/hello", + ) + + # Ensure the image has the correct number of layers + assert len(set_of_layers("layered-bulk-layer")) == 4 + + with subtest("Ensure only minimal paths are added to the store"): + # TODO: make an example that has no store paths, for example by making + # busybox non-self-referential. + + # This check tests that buildLayeredImage can build images that don't need a store. + docker.succeed( + "docker load --input='${pkgs.dockerTools.examples.no-store-paths}'" + ) + + docker.succeed("docker run --rm no-store-paths ls / >/dev/console") + + # If busybox isn't self-referential, we need this line + # docker.fail("docker run --rm no-store-paths ls /nix/store >/dev/console") + # However, it currently is self-referential, so we check that it is the + # only store path. + docker.succeed("diff <(docker run --rm no-store-paths ls /nix/store) <(basename ${pkgs.pkgsStatic.busybox}) >/dev/console") + + with subtest("Ensure buildLayeredImage does not change store path contents."): + docker.succeed( + "docker load --input='${pkgs.dockerTools.examples.filesInStore}'", + "docker run --rm file-in-store nix-store --verify --check-contents", + "docker run --rm file-in-store |& grep 'some data'", + ) + + with subtest("Ensure cross compiled image can be loaded and has correct arch."): + docker.succeed( + "docker load --input='${pkgs.dockerTools.examples.cross}'", + ) + assert ( + docker.succeed( + "docker inspect ${pkgs.dockerTools.examples.cross.imageName} " + + "| ${pkgs.jq}/bin/jq -r .[].Architecture" + ).strip() + == "${if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then "amd64" else "arm64"}" + ) + + with subtest("buildLayeredImage doesn't dereference /nix/store symlink layers"): + docker.succeed( + "docker load --input='${examples.layeredStoreSymlink}'", + "docker run --rm ${examples.layeredStoreSymlink.imageName} bash -c 'test -L ${examples.layeredStoreSymlink.passthru.symlink}'", + "docker rmi ${examples.layeredStoreSymlink.imageName}", + ) + + with subtest("buildImage supports registry/ prefix in image name"): + docker.succeed( + "docker load --input='${examples.prefixedImage}'" + ) + docker.succeed( + "docker images --format '{{.Repository}}' | grep -F '${examples.prefixedImage.imageName}'" + ) + + with subtest("buildLayeredImage supports registry/ prefix in image name"): + docker.succeed( + "docker load --input='${examples.prefixedLayeredImage}'" + ) + docker.succeed( + "docker images --format '{{.Repository}}' | grep -F '${examples.prefixedLayeredImage.imageName}'" + ) + + with subtest("buildLayeredImage supports running chown with fakeRootCommands"): + docker.succeed( + "docker load --input='${examples.layeredImageWithFakeRootCommands}'" + ) + docker.succeed( + "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/alice | grep -E ^1000$'" + ) + + with subtest("Ensure docker load on merged images loads all of the constituent images"): + docker.succeed( + "docker load --input='${examples.mergedBashAndRedis}'" + ) + docker.succeed( + "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bash.imageName}-${examples.bash.imageTag}'" + ) + docker.succeed( + "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'" + ) + docker.succeed("docker run --rm ${examples.bash.imageName} bash --version") + docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version") + docker.succeed("docker rmi ${examples.bash.imageName}") + docker.succeed("docker rmi ${examples.redis.imageName}") + + with subtest( + "Ensure docker load on merged images loads all of the constituent images (missing tags)" + ): + docker.succeed( + "docker load --input='${examples.mergedBashNoTagAndRedis}'" + ) + docker.succeed( + "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bashNoTag.imageName}-${examples.bashNoTag.imageTag}'" + ) + docker.succeed( + "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'" + ) + # we need to explicitly specify the generated tag here + docker.succeed( + "docker run --rm ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag} bash --version" + ) + docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version") + docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}") + docker.succeed("docker rmi ${examples.redis.imageName}") + + with subtest("mergeImages preserves owners of the original images"): + docker.succeed( + "docker load --input='${examples.mergedBashFakeRoot}'" + ) + docker.succeed( + "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/alice | grep -E ^1000$'" + ) + + with subtest("The image contains store paths referenced by the fakeRootCommands output"): + docker.succeed( + "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} /hello/bin/layeredImageWithFakeRootCommands-hello" + ) + + with subtest("mergeImage correctly deals with varying compression schemas in inputs"): + docker.succeed("docker load --input='${examples.mergeVaryingCompressor}'") + + for sub_image, tag in [ + ("${examples.redis.imageName}", "${examples.redis.imageTag}"), + ("${examples.bashUncompressed.imageName}", "${examples.bashUncompressed.imageTag}"), + ("${examples.bashZstdCompressed.imageName}", "${examples.bashZstdCompressed.imageTag}"), + ]: + docker.succeed(f"docker images --format '{{{{.Repository}}}}-{{{{.Tag}}}}' | grep -F '{sub_image}-{tag}'") + docker.succeed(f"docker rmi {sub_image}") + + + with subtest("exportImage produces a valid tarball"): + docker.succeed( + "tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null" + ) + + with subtest("layered image fakeRootCommands with fakechroot works"): + docker.succeed("${examples.imageViaFakeChroot} | docker load") + docker.succeed("docker run --rm image-via-fake-chroot | grep -i hello") + docker.succeed("docker image rm image-via-fake-chroot:latest") + + with subtest("Ensure bare paths in contents are loaded correctly"): + docker.succeed( + "docker load --input='${examples.build-image-with-path}'", + "docker run --rm build-image-with-path bash -c '[[ -e /hello.txt ]]'", + "docker rmi build-image-with-path", + ) + docker.succeed( + "${examples.layered-image-with-path} | docker load", + "docker run --rm layered-image-with-path bash -c '[[ -e /hello.txt ]]'", + "docker rmi layered-image-with-path", + ) + + with subtest("Ensure correct architecture is present in manifests."): + docker.succeed(""" + docker load --input='${examples.build-image-with-architecture}' + docker inspect build-image-with-architecture \ + | ${pkgs.jq}/bin/jq -er '.[] | select(.Architecture=="arm64").Architecture' + docker rmi build-image-with-architecture + """) + docker.succeed(""" + ${examples.layered-image-with-architecture} | docker load + docker inspect layered-image-with-architecture \ + | ${pkgs.jq}/bin/jq -er '.[] | select(.Architecture=="arm64").Architecture' + docker rmi layered-image-with-architecture + """) + + with subtest("etc"): + docker.succeed("${examples.etc} | docker load") + docker.succeed("docker run --rm etc | grep localhost") + docker.succeed("docker image rm etc:latest") + + with subtest("image-with-certs"): + docker.succeed("<${examples.image-with-certs} docker load") + docker.succeed("docker run --rm image-with-certs:latest test -r /etc/ssl/certs/ca-bundle.crt") + docker.succeed("docker run --rm image-with-certs:latest test -r /etc/ssl/certs/ca-certificates.crt") + docker.succeed("docker run --rm image-with-certs:latest test -r /etc/pki/tls/certs/ca-bundle.crt") + docker.succeed("docker image rm image-with-certs:latest") + + with subtest("streamLayeredImage: chown is persistent in fakeRootCommands"): + docker.succeed( + "${chownTestImage} | docker load", + "docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)" + ) + + with subtest("streamLayeredImage: with non-root user"): + docker.succeed( + "${nonRootTestImage} | docker load", + "docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)" + ) + ''; + } +) diff --git a/nixos/tests/docker.nix b/nixos/tests/docker.nix index 93baa198088ba..b7c4b26905730 100644 --- a/nixos/tests/docker.nix +++ b/nixos/tests/docker.nix @@ -1,14 +1,19 @@ # This test runs docker and checks if simple container starts -import ./make-test-python.nix ({ pkgs, ...} : { - name = "docker"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nequissimus offline ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "docker"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + nequissimus + offline + ]; + }; - nodes = { - docker = - { pkgs, ... }: + nodes = { + docker = + { pkgs, ... }: { virtualisation.docker.enable = true; virtualisation.docker.autoPrune.enable = true; @@ -31,23 +36,24 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; }; - testScript = '' - start_all() + testScript = '' + start_all() - docker.wait_for_unit("sockets.target") - docker.succeed("tar cv --files-from /dev/null | docker import - scratchimg") - docker.succeed( - "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10" - ) - docker.succeed("docker ps | grep sleeping") - docker.succeed("sudo -u hasprivs docker ps") - docker.fail("sudo -u noprivs docker ps") - docker.succeed("docker stop sleeping") + docker.wait_for_unit("sockets.target") + docker.succeed("tar cv --files-from /dev/null | docker import - scratchimg") + docker.succeed( + "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10" + ) + docker.succeed("docker ps | grep sleeping") + docker.succeed("sudo -u hasprivs docker ps") + docker.fail("sudo -u noprivs docker ps") + docker.succeed("docker stop sleeping") - # Must match version 4 times to ensure client and server git commits and versions are correct - docker.succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "4" ]') - docker.succeed("systemctl restart systemd-sysctl") - docker.succeed("grep 1 /proc/sys/net/ipv4/conf/all/forwarding") - docker.succeed("grep 1 /proc/sys/net/ipv4/conf/default/forwarding") - ''; -}) + # Must match version 4 times to ensure client and server git commits and versions are correct + docker.succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "4" ]') + docker.succeed("systemctl restart systemd-sysctl") + docker.succeed("grep 1 /proc/sys/net/ipv4/conf/all/forwarding") + docker.succeed("grep 1 /proc/sys/net/ipv4/conf/default/forwarding") + ''; + } +) diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix index 3624c0c56769c..1537047ad6799 100644 --- a/nixos/tests/documize.nix +++ b/nixos/tests/documize.nix @@ -1,62 +1,67 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "documize"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - - services.documize = { - enable = true; - port = 3000; - dbtype = "postgresql"; - db = "host=localhost port=5432 sslmode=disable user=documize password=documize dbname=documize"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "documize"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - systemd.services.documize-server = { - after = [ "postgresql.service" ]; - requires = [ "postgresql.service" ]; - }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - services.postgresql = { - enable = true; - initialScript = pkgs.writeText "psql-init" '' - CREATE ROLE documize WITH LOGIN PASSWORD 'documize'; - CREATE DATABASE documize WITH OWNER documize; - ''; - }; - }; - - testScript = '' - start_all() - - machine.wait_for_unit("documize-server.service") - machine.wait_for_open_port(3000) - - dbhash = machine.succeed( - "curl -f localhost:3000 | grep 'property=\"dbhash' | grep -Po 'content=\"\\K[^\"]*'" - ) - - dbhash = dbhash.strip() - - machine.succeed( - ( - "curl -X POST" - " --data 'dbname=documize'" - " --data 'dbhash={}'" - " --data 'title=NixOS'" - " --data 'message=Docs'" - " --data 'firstname=Bob'" - " --data 'lastname=Foobar'" - " --data 'email=bob.foobar@nixos.org'" - " --data 'password=verysafe'" - " -f localhost:3000/api/setup" - ).format(dbhash) - ) - - machine.succeed( - 'test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"' - ) - ''; -}) + services.documize = { + enable = true; + port = 3000; + dbtype = "postgresql"; + db = "host=localhost port=5432 sslmode=disable user=documize password=documize dbname=documize"; + }; + + systemd.services.documize-server = { + after = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + }; + + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "psql-init" '' + CREATE ROLE documize WITH LOGIN PASSWORD 'documize'; + CREATE DATABASE documize WITH OWNER documize; + ''; + }; + }; + + testScript = '' + start_all() + + machine.wait_for_unit("documize-server.service") + machine.wait_for_open_port(3000) + + dbhash = machine.succeed( + "curl -f localhost:3000 | grep 'property=\"dbhash' | grep -Po 'content=\"\\K[^\"]*'" + ) + + dbhash = dbhash.strip() + + machine.succeed( + ( + "curl -X POST" + " --data 'dbname=documize'" + " --data 'dbhash={}'" + " --data 'title=NixOS'" + " --data 'message=Docs'" + " --data 'firstname=Bob'" + " --data 'lastname=Foobar'" + " --data 'email=bob.foobar@nixos.org'" + " --data 'password=verysafe'" + " -f localhost:3000/api/setup" + ).format(dbhash) + ) + + machine.succeed( + 'test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"' + ) + ''; + } +) diff --git a/nixos/tests/doh-proxy-rust.nix b/nixos/tests/doh-proxy-rust.nix index 8c743fe77e328..f9c73edcb778b 100644 --- a/nixos/tests/doh-proxy-rust.nix +++ b/nixos/tests/doh-proxy-rust.nix @@ -1,41 +1,48 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "doh-proxy-rust"; - meta.maintainers = with lib.maintainers; [ stephank ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "doh-proxy-rust"; + meta.maintainers = with lib.maintainers; [ stephank ]; - nodes = { - machine = { pkgs, lib, ... }: { - services.bind = { - enable = true; - extraOptions = "empty-zones-enable no;"; - zones = lib.singleton { - name = "."; - master = true; - file = pkgs.writeText "root.zone" '' - $TTL 3600 - . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d ) - . IN NS ns.example.org. - ns.example.org. IN A 192.168.0.1 - ''; + nodes = { + machine = + { pkgs, lib, ... }: + { + services.bind = { + enable = true; + extraOptions = "empty-zones-enable no;"; + zones = lib.singleton { + name = "."; + master = true; + file = pkgs.writeText "root.zone" '' + $TTL 3600 + . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d ) + . IN NS ns.example.org. + ns.example.org. IN A 192.168.0.1 + ''; + }; + }; + services.doh-proxy-rust = { + enable = true; + flags = [ + "--server-address=127.0.0.1:53" + ]; + }; }; - }; - services.doh-proxy-rust = { - enable = true; - flags = [ - "--server-address=127.0.0.1:53" - ]; - }; }; - }; - testScript = { nodes, ... }: '' - url = "http://localhost:3000/dns-query" - query = "AAABAAABAAAAAAAAAm5zB2V4YW1wbGUDb3JnAAABAAE=" # IN A ns.example.org. - bin_ip = r"$'\xC0\xA8\x00\x01'" # 192.168.0.1, as shell binary string + testScript = + { nodes, ... }: + '' + url = "http://localhost:3000/dns-query" + query = "AAABAAABAAAAAAAAAm5zB2V4YW1wbGUDb3JnAAABAAE=" # IN A ns.example.org. + bin_ip = r"$'\xC0\xA8\x00\x01'" # 192.168.0.1, as shell binary string - machine.wait_for_unit("bind.service") - machine.wait_for_unit("doh-proxy-rust.service") - machine.wait_for_open_port(53) - machine.wait_for_open_port(3000) - machine.succeed(f"curl --fail -H 'Accept: application/dns-message' '{url}?dns={query}' | grep -F {bin_ip}") - ''; -}) + machine.wait_for_unit("bind.service") + machine.wait_for_unit("doh-proxy-rust.service") + machine.wait_for_open_port(53) + machine.wait_for_open_port(3000) + machine.succeed(f"curl --fail -H 'Accept: application/dns-message' '{url}?dns={query}' | grep -F {bin_ip}") + ''; + } +) diff --git a/nixos/tests/dolibarr.nix b/nixos/tests/dolibarr.nix index 95557d317fab9..5d7098f763f55 100644 --- a/nixos/tests/dolibarr.nix +++ b/nixos/tests/dolibarr.nix @@ -1,59 +1,62 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "dolibarr"; - meta.maintainers = [ ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "dolibarr"; + meta.maintainers = [ ]; - nodes.machine = - { ... }: - { - services.dolibarr = { - enable = true; - domain = "localhost"; - nginx = { - forceSSL = false; - enableACME = false; + nodes.machine = + { ... }: + { + services.dolibarr = { + enable = true; + domain = "localhost"; + nginx = { + forceSSL = false; + enableACME = false; + }; }; - }; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; - testScript = '' - from html.parser import HTMLParser - start_all() + testScript = '' + from html.parser import HTMLParser + start_all() - csrf_token = None - class TokenParser(HTMLParser): - def handle_starttag(self, tag, attrs): - attrs = dict(attrs) # attrs is an assoc list originally - if tag == 'input' and attrs.get('name') == 'token': - csrf_token = attrs.get('value') - print(f'[+] Caught CSRF token: {csrf_token}') - def handle_endtag(self, tag): pass - def handle_data(self, data): pass + csrf_token = None + class TokenParser(HTMLParser): + def handle_starttag(self, tag, attrs): + attrs = dict(attrs) # attrs is an assoc list originally + if tag == 'input' and attrs.get('name') == 'token': + csrf_token = attrs.get('value') + print(f'[+] Caught CSRF token: {csrf_token}') + def handle_endtag(self, tag): pass + def handle_data(self, data): pass - machine.wait_for_unit("phpfpm-dolibarr.service") - machine.wait_for_unit("nginx.service") - machine.wait_for_open_port(80) - # Sanity checks on URLs. - # machine.succeed("curl -fL http://localhost/index.php") - # machine.succeed("curl -fL http://localhost/") - # Perform installation. - machine.succeed('curl -fL -X POST http://localhost/install/check.php -F selectlang=auto') - machine.succeed('curl -fL -X POST http://localhost/install/fileconf.php -F selectlang=auto') - # First time is to write the configuration file correctly. - machine.succeed('curl -fL -X POST http://localhost/install/step1.php -F "testpost=ok" -F "action=set" -F "selectlang=auto"') - # Now, we have a proper conf.php in $stateDir. - assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") - machine.succeed('curl -fL -X POST http://localhost/install/step2.php --data "testpost=ok&action=set&dolibarr_main_db_character_set=utf8&dolibarr_main_db_collation=utf8_unicode_ci&selectlang=auto"') - machine.succeed('curl -fL -X POST http://localhost/install/step4.php --data "testpost=ok&action=set&selectlang=auto"') - machine.succeed('curl -fL -X POST http://localhost/install/step5.php --data "testpost=ok&action=set&login=root&pass=hunter2&pass_verif=hunter2&selectlang=auto"') - # Now, we have installed the machine, let's verify we still have the right configuration. - assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") - # We do not want any redirect now as we have installed the machine. - machine.succeed('curl -f -X GET http://localhost') - # Test authentication to the webservice. - parser = TokenParser() - parser.feed(machine.succeed('curl -f -X GET http://localhost/index.php?mainmenu=login&username=root')) - machine.succeed(f'curl -f -X POST http://localhost/index.php?mainmenu=login&token={csrf_token}&username=root&password=hunter2') - ''; -}) + machine.wait_for_unit("phpfpm-dolibarr.service") + machine.wait_for_unit("nginx.service") + machine.wait_for_open_port(80) + # Sanity checks on URLs. + # machine.succeed("curl -fL http://localhost/index.php") + # machine.succeed("curl -fL http://localhost/") + # Perform installation. + machine.succeed('curl -fL -X POST http://localhost/install/check.php -F selectlang=auto') + machine.succeed('curl -fL -X POST http://localhost/install/fileconf.php -F selectlang=auto') + # First time is to write the configuration file correctly. + machine.succeed('curl -fL -X POST http://localhost/install/step1.php -F "testpost=ok" -F "action=set" -F "selectlang=auto"') + # Now, we have a proper conf.php in $stateDir. + assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") + machine.succeed('curl -fL -X POST http://localhost/install/step2.php --data "testpost=ok&action=set&dolibarr_main_db_character_set=utf8&dolibarr_main_db_collation=utf8_unicode_ci&selectlang=auto"') + machine.succeed('curl -fL -X POST http://localhost/install/step4.php --data "testpost=ok&action=set&selectlang=auto"') + machine.succeed('curl -fL -X POST http://localhost/install/step5.php --data "testpost=ok&action=set&login=root&pass=hunter2&pass_verif=hunter2&selectlang=auto"') + # Now, we have installed the machine, let's verify we still have the right configuration. + assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") + # We do not want any redirect now as we have installed the machine. + machine.succeed('curl -f -X GET http://localhost') + # Test authentication to the webservice. + parser = TokenParser() + parser.feed(machine.succeed('curl -f -X GET http://localhost/index.php?mainmenu=login&username=root')) + machine.succeed(f'curl -f -X POST http://localhost/index.php?mainmenu=login&token={csrf_token}&username=root&password=hunter2') + ''; + } +) diff --git a/nixos/tests/domination.nix b/nixos/tests/domination.nix index 04899c5065311..d37a7ba98be99 100644 --- a/nixos/tests/domination.nix +++ b/nixos/tests/domination.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "domination"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "domination"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.domination ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.domination ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() # Add a dummy sound card, or an error reporting popup will appear, # covering the main window and preventing OCR @@ -26,4 +29,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_text(r"(New Game|Start Server|Load Game|Help Manual|Join Game|About|Play Online)") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix index 5439387807fd7..cd17234980f5a 100644 --- a/nixos/tests/dovecot.nix +++ b/nixos/tests/dovecot.nix @@ -1,74 +1,86 @@ import ./make-test-python.nix { name = "dovecot"; - nodes.machine = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - services.postfix.enable = true; - services.dovecot2 = { - enable = true; - protocols = [ "imap" "pop3" ]; - modules = [ pkgs.dovecot_pigeonhole ]; - mailUser = "vmail"; - mailGroup = "vmail"; - }; - environment.systemPackages = let - sendTestMail = pkgs.writeScriptBin "send-testmail" '' - #!${pkgs.runtimeShell} - exec sendmail -vt < ~alice/b'") - - with subtest("Logout"): - logout() - - # Why do I need to do this?? - machine.succeed("su alice -c ecryptfs-umount-private || true") - machine.sleep(1) - - with subtest("Check that the filesystem is not accessible"): - machine.fail("mount | grep ecryptfs") - machine.succeed("su alice -c 'test \! -f ~alice/a'") - machine.succeed("su alice -c 'test \! -f ~alice/b'") - - with subtest("Log alice once more"): - login_as_alice() - - with subtest("Check that the files are there"): - machine.sleep(1) - machine.succeed("su alice -c 'test -f ~alice/a'") - machine.succeed("su alice -c 'test -f ~alice/b'") - machine.succeed('test "$(cat ~alice/b)" = "c"') - - with subtest("Catch https://github.com/NixOS/nixpkgs/issues/16766"): - machine.succeed("su alice -c 'ls -lh ~alice/'") - - logout() - ''; -}) +import ./make-test-python.nix ( + { ... }: + { + name = "ecryptfs"; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + boot.kernelModules = [ "ecryptfs" ]; + security.pam.enableEcryptfs = true; + environment.systemPackages = with pkgs; [ keyutils ]; + }; + + testScript = '' + def login_as_alice(): + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("foobar\n") + machine.wait_until_tty_matches("1", "alice\@machine") + + + def logout(): + machine.send_chars("logout\n") + machine.wait_until_tty_matches("1", "login: ") + + + machine.wait_for_unit("default.target") + + with subtest("Set alice up with a password and a home"): + machine.succeed("(echo foobar; echo foobar) | passwd alice") + machine.succeed("chown -R alice.users ~alice") + + with subtest("Migrate alice's home"): + out = machine.succeed("echo foobar | ecryptfs-migrate-home -u alice") + machine.log(f"ecryptfs-migrate-home said: {out}") + + with subtest("Log alice in (ecryptfs passwhrase is wrapped during first login)"): + login_as_alice() + machine.send_chars("logout\n") + machine.wait_until_tty_matches("1", "login: ") + + # Why do I need to do this?? + machine.succeed("su alice -c ecryptfs-umount-private || true") + machine.sleep(1) + + with subtest("check that encrypted home is not mounted"): + machine.fail("mount | grep ecryptfs") + + with subtest("Show contents of the user keyring"): + out = machine.succeed("su - alice -c 'keyctl list \@u'") + machine.log(f"keyctl unlink said: {out}") + + with subtest("Log alice again"): + login_as_alice() + + with subtest("Create some files in encrypted home"): + machine.succeed("su alice -c 'touch ~alice/a'") + machine.succeed("su alice -c 'echo c > ~alice/b'") + + with subtest("Logout"): + logout() + + # Why do I need to do this?? + machine.succeed("su alice -c ecryptfs-umount-private || true") + machine.sleep(1) + + with subtest("Check that the filesystem is not accessible"): + machine.fail("mount | grep ecryptfs") + machine.succeed("su alice -c 'test \! -f ~alice/a'") + machine.succeed("su alice -c 'test \! -f ~alice/b'") + + with subtest("Log alice once more"): + login_as_alice() + + with subtest("Check that the files are there"): + machine.sleep(1) + machine.succeed("su alice -c 'test -f ~alice/a'") + machine.succeed("su alice -c 'test -f ~alice/b'") + machine.succeed('test "$(cat ~alice/b)" = "c"') + + with subtest("Catch https://github.com/NixOS/nixpkgs/issues/16766"): + machine.succeed("su alice -c 'ls -lh ~alice/'") + + logout() + ''; + } +) diff --git a/nixos/tests/eintopf.nix b/nixos/tests/eintopf.nix index a1c05d6513041..6e3992677da26 100644 --- a/nixos/tests/eintopf.nix +++ b/nixos/tests/eintopf.nix @@ -1,21 +1,26 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "eintopf"; - meta = with pkgs.lib.maintainers; { - maintainers = [ onny ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "eintopf"; + meta = with pkgs.lib.maintainers; { + maintainers = [ onny ]; + }; - nodes = { - eintopf = { config, pkgs, ... }: { - services.eintopf = { - enable = true; - }; + nodes = { + eintopf = + { config, pkgs, ... }: + { + services.eintopf = { + enable = true; + }; + }; }; - }; - testScript = '' - eintopf.start - eintopf.wait_for_unit("eintopf.service") - eintopf.wait_for_open_port(3333) - eintopf.succeed("curl -sSfL http://eintopf:3333 | grep 'Es sind keine Veranstaltungen eingetragen'") - ''; -}) + testScript = '' + eintopf.start + eintopf.wait_for_unit("eintopf.service") + eintopf.wait_for_open_port(3333) + eintopf.succeed("curl -sSfL http://eintopf:3333 | grep 'Es sind keine Veranstaltungen eingetragen'") + ''; + } +) diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix index 87c82877fe109..719480da2e724 100644 --- a/nixos/tests/elk.nix +++ b/nixos/tests/elk.nix @@ -2,8 +2,9 @@ # cd path/to/nixpkgs # NIXPKGS_ALLOW_UNFREE=1 nix-build -A nixosTests.elk.unfree.ELK-7 -{ system ? builtins.currentSystem, - config ? {}, +{ + system ? builtins.currentSystem, + config ? { }, pkgs ? import ../.. { inherit system config; }, }: @@ -12,15 +13,20 @@ let esUrl = "http://localhost:9200"; - mkElkTest = name : elk : + mkElkTest = + name: elk: import ./make-test-python.nix ({ - inherit name; - meta = with pkgs.lib.maintainers; { - maintainers = [ offline basvandijk ]; - }; - nodes = { - one = - { pkgs, lib, ... }: { + inherit name; + meta = with pkgs.lib.maintainers; { + maintainers = [ + offline + basvandijk + ]; + }; + nodes = { + one = + { pkgs, lib, ... }: + { # Not giving the machine at least 2060MB results in elasticsearch failing with the following error: # # OpenJDK 64-Bit Server VM warning: @@ -77,16 +83,28 @@ let enable = true; package = elk.metricbeat; modules.system = { - metricsets = ["cpu" "load" "memory" "network" "process" "process_summary" "uptime" "socket_summary"]; + metricsets = [ + "cpu" + "load" + "memory" + "network" + "process" + "process_summary" + "uptime" + "socket_summary" + ]; enabled = true; period = "5s"; - processes = [".*"]; - cpu.metrics = ["percentages" "normalized_percentages"]; - core.metrics = ["percentages"]; + processes = [ ".*" ]; + cpu.metrics = [ + "percentages" + "normalized_percentages" + ]; + core.metrics = [ "percentages" ]; }; settings = { output.elasticsearch = { - hosts = ["127.0.0.1:9200"]; + hosts = [ "127.0.0.1:9200" ]; }; }; }; @@ -122,140 +140,145 @@ let elasticsearch-curator = { enable = elk ? elasticsearch-curator; actionYAML = '' - --- - actions: - 1: - action: delete_indices - description: >- - Delete indices older than 1 second (based on index name), for logstash- - prefixed indices. Ignore the error if the filter does not result in an - actionable list of indices (ignore_empty_list) and exit cleanly. - options: - allow_ilm_indices: true - ignore_empty_list: True - disable_action: False - filters: - - filtertype: pattern - kind: prefix - value: logstash- - - filtertype: age - source: name - direction: older - timestring: '%Y.%m.%d' - unit: seconds - unit_count: 1 + --- + actions: + 1: + action: delete_indices + description: >- + Delete indices older than 1 second (based on index name), for logstash- + prefixed indices. Ignore the error if the filter does not result in an + actionable list of indices (ignore_empty_list) and exit cleanly. + options: + allow_ilm_indices: true + ignore_empty_list: True + disable_action: False + filters: + - filtertype: pattern + kind: prefix + value: logstash- + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.%d' + unit: seconds + unit_count: 1 ''; }; }; }; }; - passthru.elkPackages = elk; - testScript = - let - valueObject = lib.optionalString (lib.versionAtLeast elk.elasticsearch.version "7") ".value"; - in '' - import json + passthru.elkPackages = elk; + testScript = + let + valueObject = lib.optionalString (lib.versionAtLeast elk.elasticsearch.version "7") ".value"; + in + '' + import json - def expect_hits(message): - dictionary = {"query": {"match": {"message": message}}} - return ( - "curl --silent --show-error --fail-with-body '${esUrl}/_search' " - + "-H 'Content-Type: application/json' " - + "-d '{}' ".format(json.dumps(dictionary)) - + " | tee /dev/console" - + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" - ) + def expect_hits(message): + dictionary = {"query": {"match": {"message": message}}} + return ( + "curl --silent --show-error --fail-with-body '${esUrl}/_search' " + + "-H 'Content-Type: application/json' " + + "-d '{}' ".format(json.dumps(dictionary)) + + " | tee /dev/console" + + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" + ) - def expect_no_hits(message): - dictionary = {"query": {"match": {"message": message}}} - return ( - "curl --silent --show-error --fail-with-body '${esUrl}/_search' " - + "-H 'Content-Type: application/json' " - + "-d '{}' ".format(json.dumps(dictionary)) - + " | tee /dev/console" - + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} == 0 end'" - ) + def expect_no_hits(message): + dictionary = {"query": {"match": {"message": message}}} + return ( + "curl --silent --show-error --fail-with-body '${esUrl}/_search' " + + "-H 'Content-Type: application/json' " + + "-d '{}' ".format(json.dumps(dictionary)) + + " | tee /dev/console" + + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} == 0 end'" + ) - def has_metricbeat(): - dictionary = {"query": {"match": {"event.dataset": {"query": "system.cpu"}}}} - return ( - "curl --silent --show-error --fail-with-body '${esUrl}/_search' " - + "-H 'Content-Type: application/json' " - + "-d '{}' ".format(json.dumps(dictionary)) - + " | tee /dev/console" - + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" - ) + def has_metricbeat(): + dictionary = {"query": {"match": {"event.dataset": {"query": "system.cpu"}}}} + return ( + "curl --silent --show-error --fail-with-body '${esUrl}/_search' " + + "-H 'Content-Type: application/json' " + + "-d '{}' ".format(json.dumps(dictionary)) + + " | tee /dev/console" + + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" + ) - start_all() + start_all() - one.wait_for_unit("elasticsearch.service") - one.wait_for_open_port(9200) + one.wait_for_unit("elasticsearch.service") + one.wait_for_open_port(9200) - # Continue as long as the status is not "red". The status is probably - # "yellow" instead of "green" because we are using a single elasticsearch - # node which elasticsearch considers risky. - # - # TODO: extend this test with multiple elasticsearch nodes - # and see if the status turns "green". - one.wait_until_succeeds( - "curl --silent --show-error --fail-with-body '${esUrl}/_cluster/health'" - + " | jq -es 'if . == [] then null else .[] | .status != \"red\" end'" - ) + # Continue as long as the status is not "red". The status is probably + # "yellow" instead of "green" because we are using a single elasticsearch + # node which elasticsearch considers risky. + # + # TODO: extend this test with multiple elasticsearch nodes + # and see if the status turns "green". + one.wait_until_succeeds( + "curl --silent --show-error --fail-with-body '${esUrl}/_cluster/health'" + + " | jq -es 'if . == [] then null else .[] | .status != \"red\" end'" + ) - with subtest("Perform some simple logstash tests"): - one.wait_for_unit("logstash.service") - one.wait_until_succeeds("cat /tmp/logstash.out | grep flowers") - one.wait_until_succeeds("cat /tmp/logstash.out | grep -v dragons") + with subtest("Perform some simple logstash tests"): + one.wait_for_unit("logstash.service") + one.wait_until_succeeds("cat /tmp/logstash.out | grep flowers") + one.wait_until_succeeds("cat /tmp/logstash.out | grep -v dragons") - with subtest("Metricbeat is running"): - one.wait_for_unit("metricbeat.service") + with subtest("Metricbeat is running"): + one.wait_for_unit("metricbeat.service") - with subtest("Metricbeat metrics arrive in elasticsearch"): - one.wait_until_succeeds(has_metricbeat()) + with subtest("Metricbeat metrics arrive in elasticsearch"): + one.wait_until_succeeds(has_metricbeat()) - with subtest("Logstash messages arive in elasticsearch"): - one.wait_until_succeeds(expect_hits("flowers")) - one.wait_until_succeeds(expect_no_hits("dragons")) + with subtest("Logstash messages arive in elasticsearch"): + one.wait_until_succeeds(expect_hits("flowers")) + one.wait_until_succeeds(expect_no_hits("dragons")) - '' + lib.optionalString (elk ? journalbeat) '' - with subtest( - "A message logged to the journal is ingested by elasticsearch via journalbeat" - ): - one.wait_for_unit("journalbeat.service") - one.execute("echo 'Supercalifragilisticexpialidocious' | systemd-cat") - one.wait_until_succeeds( - expect_hits("Supercalifragilisticexpialidocious") - ) - '' + lib.optionalString (elk ? filebeat) '' - with subtest( - "A message logged to the journal is ingested by elasticsearch via filebeat" - ): - one.wait_for_unit("filebeat.service") - one.execute("echo 'Superdupercalifragilisticexpialidocious' | systemd-cat") - one.wait_until_succeeds( - expect_hits("Superdupercalifragilisticexpialidocious") - ) - one.execute( - "echo 'SuperdupercalifragilisticexpialidociousIndeed' >> /var/lib/filebeat/test" - ) - one.wait_until_succeeds( - expect_hits("SuperdupercalifragilisticexpialidociousIndeed") - ) - '' + lib.optionalString (elk ? elasticsearch-curator) '' - with subtest("Elasticsearch-curator works"): - one.systemctl("stop logstash") - one.systemctl("start elasticsearch-curator") - one.wait_until_succeeds( - '! curl --silent --show-error --fail-with-body "${esUrl}/_cat/indices" | grep logstash | grep ^' - ) - ''; - }) { inherit pkgs system; }; -in { + '' + + lib.optionalString (elk ? journalbeat) '' + with subtest( + "A message logged to the journal is ingested by elasticsearch via journalbeat" + ): + one.wait_for_unit("journalbeat.service") + one.execute("echo 'Supercalifragilisticexpialidocious' | systemd-cat") + one.wait_until_succeeds( + expect_hits("Supercalifragilisticexpialidocious") + ) + '' + + lib.optionalString (elk ? filebeat) '' + with subtest( + "A message logged to the journal is ingested by elasticsearch via filebeat" + ): + one.wait_for_unit("filebeat.service") + one.execute("echo 'Superdupercalifragilisticexpialidocious' | systemd-cat") + one.wait_until_succeeds( + expect_hits("Superdupercalifragilisticexpialidocious") + ) + one.execute( + "echo 'SuperdupercalifragilisticexpialidociousIndeed' >> /var/lib/filebeat/test" + ) + one.wait_until_succeeds( + expect_hits("SuperdupercalifragilisticexpialidociousIndeed") + ) + '' + + lib.optionalString (elk ? elasticsearch-curator) '' + with subtest("Elasticsearch-curator works"): + one.systemctl("stop logstash") + one.systemctl("start elasticsearch-curator") + one.wait_until_succeeds( + '! curl --silent --show-error --fail-with-body "${esUrl}/_cat/indices" | grep logstash | grep ^' + ) + ''; + }) { inherit pkgs system; }; +in +{ # We currently only package upstream binaries. # Feel free to package an SSPL licensed source-based package! # ELK-7 = mkElkTest "elk-7-oss" { @@ -268,9 +291,9 @@ in { unfree = lib.dontRecurseIntoAttrs { ELK-7 = mkElkTest "elk-7" { elasticsearch = pkgs.elasticsearch7; - logstash = pkgs.logstash7; - filebeat = pkgs.filebeat7; - metricbeat = pkgs.metricbeat7; + logstash = pkgs.logstash7; + filebeat = pkgs.filebeat7; + metricbeat = pkgs.metricbeat7; }; }; } diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix index 310e93e19b0b4..db8a26e6db350 100644 --- a/nixos/tests/emacs-daemon.nix +++ b/nixos/tests/emacs-daemon.nix @@ -1,27 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "emacs-daemon"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "emacs-daemon"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - enableOCR = true; + enableOCR = true; - nodes.machine = - { ... }: + nodes.machine = + { ... }: - { imports = [ ./common/x11.nix ]; - services.emacs = { - enable = true; - defaultEditor = true; - }; + { + imports = [ ./common/x11.nix ]; + services.emacs = { + enable = true; + defaultEditor = true; + }; - # Important to get the systemd service running for root - environment.variables.XDG_RUNTIME_DIR = "/run/user/0"; + # Important to get the systemd service running for root + environment.variables.XDG_RUNTIME_DIR = "/run/user/0"; - environment.variables.TEST_SYSTEM_VARIABLE = "system variable"; - }; + environment.variables.TEST_SYSTEM_VARIABLE = "system variable"; + }; - testScript = '' + testScript = '' machine.wait_for_unit("multi-user.target") # checks that the EDITOR environment variable is set @@ -45,4 +48,5 @@ import ./make-test-python.nix ({ pkgs, ...} : { machine.screenshot("emacsclient") ''; -}) + } +) diff --git a/nixos/tests/endlessh-go.nix b/nixos/tests/endlessh-go.nix index 70ec7d816612d..0c2402af25681 100644 --- a/nixos/tests/endlessh-go.nix +++ b/nixos/tests/endlessh-go.nix @@ -1,62 +1,71 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "endlessh-go"; - meta.maintainers = with lib.maintainers; [ azahi ]; - - nodes = { - server = { ... }: { - services.endlessh-go = { - enable = true; - prometheus.enable = true; - openFirewall = true; - }; - - specialisation = { - unprivileged.configuration = { +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "endlessh-go"; + meta.maintainers = with lib.maintainers; [ azahi ]; + + nodes = { + server = + { ... }: + { services.endlessh-go = { - port = 2222; - prometheus.port = 9229; + enable = true; + prometheus.enable = true; + openFirewall = true; }; - }; - privileged.configuration = { - services.endlessh-go = { - port = 22; - prometheus.port = 92; + specialisation = { + unprivileged.configuration = { + services.endlessh-go = { + port = 2222; + prometheus.port = 9229; + }; + }; + + privileged.configuration = { + services.endlessh-go = { + port = 22; + prometheus.port = 92; + }; + }; }; }; - }; - }; - client = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ curl netcat ]; + client = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + curl + netcat + ]; + }; }; - }; - - testScript = '' - def activate_specialisation(name: str): - server.succeed(f"/run/booted-system/specialisation/{name}/bin/switch-to-configuration test >&2") - - start_all() - - with subtest("Unprivileged"): - activate_specialisation("unprivileged") - server.wait_for_unit("endlessh-go.service") - server.wait_for_open_port(2222) - server.wait_for_open_port(9229) - server.fail("curl -sSf server:9229/metrics | grep -q endlessh_client_closed_count_total") - client.succeed("nc -dvW5 server 2222") - server.succeed("curl -sSf server:9229/metrics | grep -q endlessh_client_closed_count_total") - client.fail("curl -sSfm 5 server:9229/metrics") - - with subtest("Privileged"): - activate_specialisation("privileged") - server.wait_for_unit("endlessh-go.service") - server.wait_for_open_port(22) - server.wait_for_open_port(92) - server.fail("curl -sSf server:92/metrics | grep -q endlessh_client_closed_count_total") - client.succeed("nc -dvW5 server 22") - server.succeed("curl -sSf server:92/metrics | grep -q endlessh_client_closed_count_total") - client.fail("curl -sSfm 5 server:92/metrics") - ''; -}) + + testScript = '' + def activate_specialisation(name: str): + server.succeed(f"/run/booted-system/specialisation/{name}/bin/switch-to-configuration test >&2") + + start_all() + + with subtest("Unprivileged"): + activate_specialisation("unprivileged") + server.wait_for_unit("endlessh-go.service") + server.wait_for_open_port(2222) + server.wait_for_open_port(9229) + server.fail("curl -sSf server:9229/metrics | grep -q endlessh_client_closed_count_total") + client.succeed("nc -dvW5 server 2222") + server.succeed("curl -sSf server:9229/metrics | grep -q endlessh_client_closed_count_total") + client.fail("curl -sSfm 5 server:9229/metrics") + + with subtest("Privileged"): + activate_specialisation("privileged") + server.wait_for_unit("endlessh-go.service") + server.wait_for_open_port(22) + server.wait_for_open_port(92) + server.fail("curl -sSf server:92/metrics | grep -q endlessh_client_closed_count_total") + client.succeed("nc -dvW5 server 22") + server.succeed("curl -sSf server:92/metrics | grep -q endlessh_client_closed_count_total") + client.fail("curl -sSfm 5 server:92/metrics") + ''; + } +) diff --git a/nixos/tests/endlessh.nix b/nixos/tests/endlessh.nix index be742a749fdd8..696ef1b6013f5 100644 --- a/nixos/tests/endlessh.nix +++ b/nixos/tests/endlessh.nix @@ -1,43 +1,52 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "endlessh"; - meta.maintainers = with lib.maintainers; [ azahi ]; - - nodes = { - server = { ... }: { - services.endlessh = { - enable = true; - openFirewall = true; - }; - - specialisation = { - unprivileged.configuration.services.endlessh.port = 2222; - - privileged.configuration.services.endlessh.port = 22; - }; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "endlessh"; + meta.maintainers = with lib.maintainers; [ azahi ]; + + nodes = { + server = + { ... }: + { + services.endlessh = { + enable = true; + openFirewall = true; + }; + + specialisation = { + unprivileged.configuration.services.endlessh.port = 2222; + + privileged.configuration.services.endlessh.port = 22; + }; + }; + + client = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + curl + netcat + ]; + }; }; - client = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ curl netcat ]; - }; - }; - - testScript = '' - def activate_specialisation(name: str): - server.succeed(f"/run/booted-system/specialisation/{name}/bin/switch-to-configuration test >&2") - - start_all() - - with subtest("Unprivileged"): - activate_specialisation("unprivileged") - server.wait_for_unit("endlessh.service") - server.wait_for_open_port(2222) - client.succeed("nc -dvW5 server 2222") - - with subtest("Privileged"): - activate_specialisation("privileged") - server.wait_for_unit("endlessh.service") - server.wait_for_open_port(22) - client.succeed("nc -dvW5 server 22") - ''; -}) + testScript = '' + def activate_specialisation(name: str): + server.succeed(f"/run/booted-system/specialisation/{name}/bin/switch-to-configuration test >&2") + + start_all() + + with subtest("Unprivileged"): + activate_specialisation("unprivileged") + server.wait_for_unit("endlessh.service") + server.wait_for_open_port(2222) + client.succeed("nc -dvW5 server 2222") + + with subtest("Privileged"): + activate_specialisation("privileged") + server.wait_for_unit("endlessh.service") + server.wait_for_open_port(22) + client.succeed("nc -dvW5 server 22") + ''; + } +) diff --git a/nixos/tests/engelsystem.nix b/nixos/tests/engelsystem.nix index 7be3b8a5a1fe2..69187973ada9b 100644 --- a/nixos/tests/engelsystem.nix +++ b/nixos/tests/engelsystem.nix @@ -14,7 +14,10 @@ import ./make-test-python.nix ( domain = "engelsystem"; createDatabase = true; }; - networking.firewall.allowedTCPPorts = [ 80 443 ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; environment.systemPackages = with pkgs; [ xmlstarlet libxml2 @@ -38,4 +41,5 @@ import ./make-test-python.nix ( "test 'News - Engelsystem' = \"$(xml sel -T -t -c html/head/title news)\"" ) ''; - }) + } +) diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix index ba917e18c09f4..f2fc23685dd6d 100644 --- a/nixos/tests/enlightenment.nix +++ b/nixos/tests/enlightenment.nix @@ -1,98 +1,104 @@ -import ./make-test-python.nix ({ pkgs, ...} : -{ - name = "enlightenment"; - - meta = with pkgs.lib.maintainers; { - maintainers = [ romildo ]; - timeout = 600; - # OCR tests are flaky - broken = true; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.xserver.desktopManager.enlightenment.enable = true; - services.xserver.displayManager = { - lightdm.enable = true; - autoLogin = { - enable = true; - user = "alice"; - }; + name = "enlightenment"; + + meta = with pkgs.lib.maintainers; { + maintainers = [ romildo ]; + timeout = 600; + # OCR tests are flaky + broken = true; }; - environment.systemPackages = [ pkgs.xdotool ]; - services.acpid.enable = true; - services.connman.enable = true; - services.connman.package = pkgs.connmanMinimal; - }; - - enableOCR = true; - - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - in '' - with subtest("Ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") - - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - - with subtest("First time wizard"): - machine.wait_for_text("Default") # Language - machine.screenshot("wizard1") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - machine.screenshot("wizard2") - - machine.wait_for_text("English") # Keyboard (default) - machine.screenshot("wizard3") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("Standard") # Profile (default) - machine.screenshot("wizard4") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("Title") # Sizing (default) - machine.screenshot("wizard5") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("clicked") # Windows Focus - machine.succeed("xdotool mousemove 512 370 click 1") # Click - machine.screenshot("wizard6") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("Connman") # Network Management (default) - machine.screenshot("wizard7") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("BlusZ") # Bluetooth Management (default) - machine.screenshot("wizard8") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("OpenGL") # Compositing (default) - machine.screenshot("wizard9") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("update") # Updates - machine.succeed("xdotool mousemove 512 495 click 1") # Disable - machine.screenshot("wizard10") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("taskbar") # Taskbar - machine.succeed("xdotool mousemove 480 410 click 1") # Enable - machine.screenshot("wizard11") - machine.succeed("xdotool mousemove 512 740 click 1") # Next - - machine.wait_for_text("Home") # The desktop - machine.screenshot("wizard12") - - with subtest("Run Terminology"): - machine.succeed("terminology >&2 &") - machine.sleep(5) - machine.send_chars("ls --color -alF\n") - machine.sleep(2) - machine.screenshot("terminology") - ''; -}) + + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.desktopManager.enlightenment.enable = true; + services.xserver.displayManager = { + lightdm.enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + environment.systemPackages = [ pkgs.xdotool ]; + services.acpid.enable = true; + services.connman.enable = true; + services.connman.package = pkgs.connmanMinimal; + }; + + enableOCR = true; + + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + with subtest("Ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + + with subtest("First time wizard"): + machine.wait_for_text("Default") # Language + machine.screenshot("wizard1") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + machine.screenshot("wizard2") + + machine.wait_for_text("English") # Keyboard (default) + machine.screenshot("wizard3") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Standard") # Profile (default) + machine.screenshot("wizard4") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Title") # Sizing (default) + machine.screenshot("wizard5") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("clicked") # Windows Focus + machine.succeed("xdotool mousemove 512 370 click 1") # Click + machine.screenshot("wizard6") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Connman") # Network Management (default) + machine.screenshot("wizard7") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("BlusZ") # Bluetooth Management (default) + machine.screenshot("wizard8") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("OpenGL") # Compositing (default) + machine.screenshot("wizard9") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("update") # Updates + machine.succeed("xdotool mousemove 512 495 click 1") # Disable + machine.screenshot("wizard10") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("taskbar") # Taskbar + machine.succeed("xdotool mousemove 480 410 click 1") # Enable + machine.screenshot("wizard11") + machine.succeed("xdotool mousemove 512 740 click 1") # Next + + machine.wait_for_text("Home") # The desktop + machine.screenshot("wizard12") + + with subtest("Run Terminology"): + machine.succeed("terminology >&2 &") + machine.sleep(5) + machine.send_chars("ls --color -alF\n") + machine.sleep(2) + machine.screenshot("terminology") + ''; + } +) diff --git a/nixos/tests/envfs.nix b/nixos/tests/envfs.nix index 3f9cd1edb595a..9e728698ebc3e 100644 --- a/nixos/tests/envfs.nix +++ b/nixos/tests/envfs.nix @@ -1,42 +1,44 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -let - pythonShebang = pkgs.writeScript "python-shebang" '' - #!/usr/bin/python - print("OK") - ''; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + pythonShebang = pkgs.writeScript "python-shebang" '' + #!/usr/bin/python + print("OK") + ''; - bashShebang = pkgs.writeScript "bash-shebang" '' - #!/usr/bin/bash - echo "OK" - ''; -in -{ - name = "envfs"; - nodes.machine.services.envfs.enable = true; + bashShebang = pkgs.writeScript "bash-shebang" '' + #!/usr/bin/bash + echo "OK" + ''; + in + { + name = "envfs"; + nodes.machine.services.envfs.enable = true; - testScript = '' - start_all() - machine.wait_until_succeeds("mountpoint -q /usr/bin/") - machine.succeed( - "PATH=${pkgs.coreutils}/bin /usr/bin/cp --version", - # check fallback paths - "PATH= /usr/bin/sh --version", - "PATH= /usr/bin/env --version", - "PATH= test -e /usr/bin/sh", - "PATH= test -e /usr/bin/env", - # no stat - "! test -e /usr/bin/cp", - # also picks up PATH that was set after execve - "! /usr/bin/hello", - "PATH=${pkgs.hello}/bin /usr/bin/hello", - ) + testScript = '' + start_all() + machine.wait_until_succeeds("mountpoint -q /usr/bin/") + machine.succeed( + "PATH=${pkgs.coreutils}/bin /usr/bin/cp --version", + # check fallback paths + "PATH= /usr/bin/sh --version", + "PATH= /usr/bin/env --version", + "PATH= test -e /usr/bin/sh", + "PATH= test -e /usr/bin/env", + # no stat + "! test -e /usr/bin/cp", + # also picks up PATH that was set after execve + "! /usr/bin/hello", + "PATH=${pkgs.hello}/bin /usr/bin/hello", + ) - out = machine.succeed("PATH=${pkgs.python3}/bin ${pythonShebang}") - print(out) - assert out == "OK\n" + out = machine.succeed("PATH=${pkgs.python3}/bin ${pythonShebang}") + print(out) + assert out == "OK\n" - out = machine.succeed("PATH=${pkgs.bash}/bin ${bashShebang}") - print(out) - assert out == "OK\n" - ''; -}) + out = machine.succeed("PATH=${pkgs.bash}/bin ${bashShebang}") + print(out) + assert out == "OK\n" + ''; + } +) diff --git a/nixos/tests/envoy.nix b/nixos/tests/envoy.nix index 1e4bfe626398e..d669b2bb718ff 100644 --- a/nixos/tests/envoy.nix +++ b/nixos/tests/envoy.nix @@ -1,54 +1,62 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "envoy"; - meta = with pkgs.lib.maintainers; { - maintainers = [ cameronnemo ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "envoy"; + meta = with pkgs.lib.maintainers; { + maintainers = [ cameronnemo ]; + }; - nodes.machine = { pkgs, ... }: { - services.envoy.enable = true; - services.envoy.settings = { - admin = { - access_log_path = "/dev/null"; - address = { - socket_address = { - protocol = "TCP"; - address = "127.0.0.1"; - port_value = 80; + nodes.machine = + { pkgs, ... }: + { + services.envoy.enable = true; + services.envoy.settings = { + admin = { + access_log_path = "/dev/null"; + address = { + socket_address = { + protocol = "TCP"; + address = "127.0.0.1"; + port_value = 80; + }; + }; + }; + static_resources = { + listeners = [ ]; + clusters = [ ]; }; }; - }; - static_resources = { - listeners = []; - clusters = []; - }; - }; - specialisation = { - withoutConfigValidation.configuration = { ... }: { - services.envoy = { - requireValidConfig = false; - settings.admin.access_log_path = lib.mkForce "/var/log/envoy/access.log"; + specialisation = { + withoutConfigValidation.configuration = + { ... }: + { + services.envoy = { + requireValidConfig = false; + settings.admin.access_log_path = lib.mkForce "/var/log/envoy/access.log"; + }; + }; }; }; - }; - }; - testScript = { nodes, ... }: - let - specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; - in - '' - machine.start() + testScript = + { nodes, ... }: + let + specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; + in + '' + machine.start() - with subtest("envoy.service starts and responds with ready"): - machine.wait_for_unit("envoy.service") - machine.wait_for_open_port(80) - machine.wait_until_succeeds("curl -fsS localhost:80/ready") + with subtest("envoy.service starts and responds with ready"): + machine.wait_for_unit("envoy.service") + machine.wait_for_open_port(80) + machine.wait_until_succeeds("curl -fsS localhost:80/ready") - with subtest("envoy.service works with config path not available at eval time"): - machine.succeed('${specialisations}/withoutConfigValidation/bin/switch-to-configuration test') - machine.wait_for_unit("envoy.service") - machine.wait_for_open_port(80) - machine.wait_until_succeeds("curl -fsS localhost:80/ready") - machine.succeed('test -f /var/log/envoy/access.log') - ''; -}) + with subtest("envoy.service works with config path not available at eval time"): + machine.succeed('${specialisations}/withoutConfigValidation/bin/switch-to-configuration test') + machine.wait_for_unit("envoy.service") + machine.wait_for_open_port(80) + machine.wait_until_succeeds("curl -fsS localhost:80/ready") + machine.succeed('test -f /var/log/envoy/access.log') + ''; + } +) diff --git a/nixos/tests/ergo.nix b/nixos/tests/ergo.nix index b49e0c9dfed73..fadf445899063 100644 --- a/nixos/tests/ergo.nix +++ b/nixos/tests/ergo.nix @@ -1,18 +1,23 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "ergo"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mmahut ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ergo"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mmahut ]; + }; - nodes = { - machine = { ... }: { - services.ergo.enable = true; - services.ergo.api.keyHash = "324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf"; + nodes = { + machine = + { ... }: + { + services.ergo.enable = true; + services.ergo.api.keyHash = "324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf"; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("ergo.service") - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("ergo.service") + ''; + } +) diff --git a/nixos/tests/ergochat.nix b/nixos/tests/ergochat.nix index 2e9dc55e648e6..6dd9efbb2ccf3 100644 --- a/nixos/tests/ergochat.nix +++ b/nixos/tests/ergochat.nix @@ -9,89 +9,100 @@ let iiDir = "/tmp/irc"; in -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "ergochat"; - nodes = { - "${server}" = { - networking.firewall.allowedTCPPorts = [ ircPort ]; - services.ergochat = { - enable = true; - settings.server.motd = pkgs.writeText "ergo.motd" '' - The default MOTD doesn't contain the word "nixos" in it. - This one does. - ''; - }; - }; - } // lib.listToAttrs (builtins.map (client: lib.nameValuePair client { - imports = [ - ./common/user-account.nix - ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "ergochat"; + nodes = + { + "${server}" = { + networking.firewall.allowedTCPPorts = [ ircPort ]; + services.ergochat = { + enable = true; + settings.server.motd = pkgs.writeText "ergo.motd" '' + The default MOTD doesn't contain the word "nixos" in it. + This one does. + ''; + }; + }; + } + // lib.listToAttrs ( + builtins.map ( + client: + lib.nameValuePair client { + imports = [ + ./common/user-account.nix + ]; - systemd.services.ii = { - requires = [ "network.target" ]; - wantedBy = [ "default.target" ]; + systemd.services.ii = { + requires = [ "network.target" ]; + wantedBy = [ "default.target" ]; - serviceConfig = { - Type = "simple"; - ExecPreStartPre = "mkdir -p ${iiDir}"; - ExecStart = '' - ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} - ''; - User = "alice"; - }; - }; - }) clients); + serviceConfig = { + Type = "simple"; + ExecPreStartPre = "mkdir -p ${iiDir}"; + ExecStart = '' + ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} + ''; + User = "alice"; + }; + }; + } + ) clients + ); - testScript = - let - msg = client: "Hello, my name is ${client}"; - clientScript = client: [ - '' - ${client}.wait_for_unit("network.target") - ${client}.systemctl("start ii") - ${client}.wait_for_unit("ii") - ${client}.wait_for_file("${iiDir}/${server}/out") - '' - # look for the custom text in the MOTD. - '' - ${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out") - '' - # wait until first PING from server arrives before joining, - # so we don't try it too early - '' - ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") - '' - # join ${channel} - '' - ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") - ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") - '' - # send a greeting - '' - ${client}.succeed( - "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" - ) - '' - # check that all greetings arrived on all clients - ] ++ builtins.map (other: '' - ${client}.succeed( - "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" - ) - '') clients; + testScript = + let + msg = client: "Hello, my name is ${client}"; + clientScript = + client: + [ + '' + ${client}.wait_for_unit("network.target") + ${client}.systemctl("start ii") + ${client}.wait_for_unit("ii") + ${client}.wait_for_file("${iiDir}/${server}/out") + '' + # look for the custom text in the MOTD. + '' + ${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out") + '' + # wait until first PING from server arrives before joining, + # so we don't try it too early + '' + ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") + '' + # join ${channel} + '' + ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") + ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") + '' + # send a greeting + '' + ${client}.succeed( + "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" + ) + '' + # check that all greetings arrived on all clients + ] + ++ builtins.map (other: '' + ${client}.succeed( + "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" + ) + '') clients; - # foldl', but requires a non-empty list instead of a start value - reduce = f: list: - builtins.foldl' f (builtins.head list) (builtins.tail list); - in '' - start_all() - ${server}.systemctl("status ergochat") - ${server}.wait_for_open_port(${toString ircPort}) + # foldl', but requires a non-empty list instead of a start value + reduce = f: list: builtins.foldl' f (builtins.head list) (builtins.tail list); + in + '' + start_all() + ${server}.systemctl("status ergochat") + ${server}.wait_for_open_port(${toString ircPort}) - # run clientScript for all clients so that every list - # entry is executed by every client before advancing - # to the next one. - '' + lib.concatStrings - (reduce - (lib.zipListsWith (cs: c: cs + c)) - (builtins.map clientScript clients)); -}) + # run clientScript for all clients so that every list + # entry is executed by every client before advancing + # to the next one. + '' + + lib.concatStrings (reduce (lib.zipListsWith (cs: c: cs + c)) (builtins.map clientScript clients)); + } +) diff --git a/nixos/tests/eris-server.nix b/nixos/tests/eris-server.nix index b9d2b57401e0a..795be7f5086cb 100644 --- a/nixos/tests/eris-server.nix +++ b/nixos/tests/eris-server.nix @@ -1,23 +1,29 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "eris-server"; - meta.maintainers = with lib.maintainers; [ ehmry ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "eris-server"; + meta.maintainers = with lib.maintainers; [ ehmry ]; - nodes.server = { - environment.systemPackages = [ pkgs.eris-go pkgs.eriscmd ]; - services.eris-server = { - enable = true; - decode = true; - listenHttp = "[::1]:80"; - backends = [ "badger+file:///var/cache/eris.badger?get&put" ]; - mountpoint = "/eris"; + nodes.server = { + environment.systemPackages = [ + pkgs.eris-go + pkgs.eriscmd + ]; + services.eris-server = { + enable = true; + decode = true; + listenHttp = "[::1]:80"; + backends = [ "badger+file:///var/cache/eris.badger?get&put" ]; + mountpoint = "/eris"; + }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("eris-server.service") - server.wait_for_open_port(5683) - server.wait_for_open_port(80) - server.succeed("eriscmd get http://[::1] $(echo 'Hail ERIS!' | eriscmd put coap+tcp://[::1]:5683)") - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("eris-server.service") + server.wait_for_open_port(5683) + server.wait_for_open_port(80) + server.succeed("eriscmd get http://[::1] $(echo 'Hail ERIS!' | eriscmd put coap+tcp://[::1]:5683)") + ''; + } +) diff --git a/nixos/tests/esphome.nix b/nixos/tests/esphome.nix index 5a318b65a7231..4fe0a9303ce87 100644 --- a/nixos/tests/esphome.nix +++ b/nixos/tests/esphome.nix @@ -1,40 +1,44 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - testPort = 6052; - unixSocket = "/run/esphome/esphome.sock"; -in -{ - name = "esphome"; - meta.maintainers = with lib.maintainers; [ oddlama ]; + let + testPort = 6052; + unixSocket = "/run/esphome/esphome.sock"; + in + { + name = "esphome"; + meta.maintainers = with lib.maintainers; [ oddlama ]; - nodes = { - esphomeTcp = { ... }: - { - services.esphome = { - enable = true; - port = testPort; - address = "0.0.0.0"; - openFirewall = true; + nodes = { + esphomeTcp = + { ... }: + { + services.esphome = { + enable = true; + port = testPort; + address = "0.0.0.0"; + openFirewall = true; + }; }; - }; - esphomeUnix = { ... }: - { - services.esphome = { - enable = true; - enableUnixSocket = true; + esphomeUnix = + { ... }: + { + services.esphome = { + enable = true; + enableUnixSocket = true; + }; }; - }; - }; + }; - testScript = '' - esphomeTcp.wait_for_unit("esphome.service") - esphomeTcp.wait_for_open_port(${toString testPort}) - esphomeTcp.succeed("curl --fail http://localhost:${toString testPort}/") + testScript = '' + esphomeTcp.wait_for_unit("esphome.service") + esphomeTcp.wait_for_open_port(${toString testPort}) + esphomeTcp.succeed("curl --fail http://localhost:${toString testPort}/") - esphomeUnix.wait_for_unit("esphome.service") - esphomeUnix.wait_for_file("${unixSocket}") - esphomeUnix.succeed("curl --fail --unix-socket ${unixSocket} http://localhost/") - ''; -}) + esphomeUnix.wait_for_unit("esphome.service") + esphomeUnix.wait_for_file("${unixSocket}") + esphomeUnix.succeed("curl --fail --unix-socket ${unixSocket} http://localhost/") + ''; + } +) diff --git a/nixos/tests/etcd/etcd-cluster.nix b/nixos/tests/etcd/etcd-cluster.nix index 734d56dbc2233..7ab3e43425937 100644 --- a/nixos/tests/etcd/etcd-cluster.nix +++ b/nixos/tests/etcd/etcd-cluster.nix @@ -1,157 +1,178 @@ # This test runs simple etcd cluster -import ../make-test-python.nix ({ pkgs, ... } : let - - runWithOpenSSL = file: cmd: pkgs.runCommand file { - buildInputs = [ pkgs.openssl ]; - } cmd; - - ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; - ca_pem = runWithOpenSSL "ca.pem" '' - openssl req \ - -x509 -new -nodes -key ${ca_key} \ - -days 10000 -out $out -subj "/CN=etcd-ca" - ''; - etcd_key = runWithOpenSSL "etcd-key.pem" "openssl genrsa -out $out 2048"; - etcd_csr = runWithOpenSSL "etcd.csr" '' - openssl req \ - -new -key ${etcd_key} \ - -out $out -subj "/CN=etcd" \ - -config ${openssl_cnf} - ''; - etcd_cert = runWithOpenSSL "etcd.pem" '' - openssl x509 \ - -req -in ${etcd_csr} \ - -CA ${ca_pem} -CAkey ${ca_key} \ - -CAcreateserial -out $out \ - -days 365 -extensions v3_req \ - -extfile ${openssl_cnf} - ''; - - etcd_client_key = runWithOpenSSL "etcd-client-key.pem" - "openssl genrsa -out $out 2048"; - - etcd_client_csr = runWithOpenSSL "etcd-client-key.pem" '' - openssl req \ - -new -key ${etcd_client_key} \ - -out $out -subj "/CN=etcd-client" \ - -config ${client_openssl_cnf} - ''; - - etcd_client_cert = runWithOpenSSL "etcd-client.crt" '' - openssl x509 \ - -req -in ${etcd_client_csr} \ - -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ - -out $out -days 365 -extensions v3_req \ - -extfile ${client_openssl_cnf} - ''; - - openssl_cnf = pkgs.writeText "openssl.cnf" '' - ions = v3_req - distinguished_name = req_distinguished_name - [req_distinguished_name] - [ v3_req ] - basicConstraints = CA:FALSE - keyUsage = digitalSignature, keyEncipherment - extendedKeyUsage = serverAuth, clientAuth - subjectAltName = @alt_names - [alt_names] - DNS.1 = node1 - DNS.2 = node2 - DNS.3 = node3 - IP.1 = 127.0.0.1 - ''; - - client_openssl_cnf = pkgs.writeText "client-openssl.cnf" '' - ions = v3_req - distinguished_name = req_distinguished_name - [req_distinguished_name] - [ v3_req ] - basicConstraints = CA:FALSE - keyUsage = digitalSignature, keyEncipherment - extendedKeyUsage = clientAuth - ''; - - nodeConfig = { - services = { - etcd = { - enable = true; - keyFile = etcd_key; - certFile = etcd_cert; - trustedCaFile = ca_pem; - clientCertAuth = true; - listenClientUrls = ["https://127.0.0.1:2379"]; - listenPeerUrls = ["https://0.0.0.0:2380"]; +import ../make-test-python.nix ( + { pkgs, ... }: + let + + runWithOpenSSL = + file: cmd: + pkgs.runCommand file { + buildInputs = [ pkgs.openssl ]; + } cmd; + + ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; + ca_pem = runWithOpenSSL "ca.pem" '' + openssl req \ + -x509 -new -nodes -key ${ca_key} \ + -days 10000 -out $out -subj "/CN=etcd-ca" + ''; + etcd_key = runWithOpenSSL "etcd-key.pem" "openssl genrsa -out $out 2048"; + etcd_csr = runWithOpenSSL "etcd.csr" '' + openssl req \ + -new -key ${etcd_key} \ + -out $out -subj "/CN=etcd" \ + -config ${openssl_cnf} + ''; + etcd_cert = runWithOpenSSL "etcd.pem" '' + openssl x509 \ + -req -in ${etcd_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} \ + -CAcreateserial -out $out \ + -days 365 -extensions v3_req \ + -extfile ${openssl_cnf} + ''; + + etcd_client_key = runWithOpenSSL "etcd-client-key.pem" "openssl genrsa -out $out 2048"; + + etcd_client_csr = runWithOpenSSL "etcd-client-key.pem" '' + openssl req \ + -new -key ${etcd_client_key} \ + -out $out -subj "/CN=etcd-client" \ + -config ${client_openssl_cnf} + ''; + + etcd_client_cert = runWithOpenSSL "etcd-client.crt" '' + openssl x509 \ + -req -in ${etcd_client_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ + -out $out -days 365 -extensions v3_req \ + -extfile ${client_openssl_cnf} + ''; + + openssl_cnf = pkgs.writeText "openssl.cnf" '' + ions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = serverAuth, clientAuth + subjectAltName = @alt_names + [alt_names] + DNS.1 = node1 + DNS.2 = node2 + DNS.3 = node3 + IP.1 = 127.0.0.1 + ''; + + client_openssl_cnf = pkgs.writeText "client-openssl.cnf" '' + ions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = clientAuth + ''; + + nodeConfig = { + services = { + etcd = { + enable = true; + keyFile = etcd_key; + certFile = etcd_cert; + trustedCaFile = ca_pem; + clientCertAuth = true; + listenClientUrls = [ "https://127.0.0.1:2379" ]; + listenPeerUrls = [ "https://0.0.0.0:2380" ]; + }; }; - }; - - environment.variables = { - ETCD_CERT_FILE = "${etcd_client_cert}"; - ETCD_KEY_FILE = "${etcd_client_key}"; - ETCD_CA_FILE = "${ca_pem}"; - ETCDCTL_ENDPOINTS = "https://127.0.0.1:2379"; - ETCDCTL_CACERT = "${ca_pem}"; - ETCDCTL_CERT = "${etcd_cert}"; - ETCDCTL_KEY = "${etcd_key}"; - }; - networking.firewall.allowedTCPPorts = [ 2380 ]; - }; -in { - name = "etcd-cluster"; - - meta = with pkgs.lib.maintainers; { - maintainers = [ offline ]; - }; - - nodes = { - node1 = { ... }: { - require = [nodeConfig]; - services.etcd = { - initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380"]; - initialAdvertisePeerUrls = ["https://node1:2380"]; + environment.variables = { + ETCD_CERT_FILE = "${etcd_client_cert}"; + ETCD_KEY_FILE = "${etcd_client_key}"; + ETCD_CA_FILE = "${ca_pem}"; + ETCDCTL_ENDPOINTS = "https://127.0.0.1:2379"; + ETCDCTL_CACERT = "${ca_pem}"; + ETCDCTL_CERT = "${etcd_cert}"; + ETCDCTL_KEY = "${etcd_key}"; }; + + networking.firewall.allowedTCPPorts = [ 2380 ]; }; + in + { + name = "etcd-cluster"; - node2 = { ... }: { - require = [nodeConfig]; - services.etcd = { - initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380"]; - initialAdvertisePeerUrls = ["https://node2:2380"]; - }; + meta = with pkgs.lib.maintainers; { + maintainers = [ offline ]; }; - node3 = { ... }: { - require = [nodeConfig]; - services.etcd = { - initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380" "node3=https://node3:2380"]; - initialAdvertisePeerUrls = ["https://node3:2380"]; - initialClusterState = "existing"; - }; + nodes = { + node1 = + { ... }: + { + require = [ nodeConfig ]; + services.etcd = { + initialCluster = [ + "node1=https://node1:2380" + "node2=https://node2:2380" + ]; + initialAdvertisePeerUrls = [ "https://node1:2380" ]; + }; + }; + + node2 = + { ... }: + { + require = [ nodeConfig ]; + services.etcd = { + initialCluster = [ + "node1=https://node1:2380" + "node2=https://node2:2380" + ]; + initialAdvertisePeerUrls = [ "https://node2:2380" ]; + }; + }; + + node3 = + { ... }: + { + require = [ nodeConfig ]; + services.etcd = { + initialCluster = [ + "node1=https://node1:2380" + "node2=https://node2:2380" + "node3=https://node3:2380" + ]; + initialAdvertisePeerUrls = [ "https://node3:2380" ]; + initialClusterState = "existing"; + }; + }; }; - }; - - testScript = '' - with subtest("should start etcd cluster"): - node1.start() - node2.start() - node1.wait_for_unit("etcd.service") - node2.wait_for_unit("etcd.service") - node2.wait_until_succeeds("etcdctl endpoint status") - node1.succeed("etcdctl put /foo/bar 'Hello world'") - node2.succeed("etcdctl get /foo/bar | grep 'Hello world'") - - with subtest("should add another member"): - node1.wait_until_succeeds("etcdctl member add node3 --peer-urls=https://node3:2380") - node3.start() - node3.wait_for_unit("etcd.service") - node3.wait_until_succeeds("etcdctl member list | grep 'node3'") - node3.succeed("etcdctl endpoint status") - - with subtest("should survive member crash"): - node3.crash() - node1.succeed("etcdctl endpoint status") - node1.succeed("etcdctl put /foo/bar 'Hello degraded world'") - node1.succeed("etcdctl get /foo/bar | grep 'Hello degraded world'") - ''; -}) + + testScript = '' + with subtest("should start etcd cluster"): + node1.start() + node2.start() + node1.wait_for_unit("etcd.service") + node2.wait_for_unit("etcd.service") + node2.wait_until_succeeds("etcdctl endpoint status") + node1.succeed("etcdctl put /foo/bar 'Hello world'") + node2.succeed("etcdctl get /foo/bar | grep 'Hello world'") + + with subtest("should add another member"): + node1.wait_until_succeeds("etcdctl member add node3 --peer-urls=https://node3:2380") + node3.start() + node3.wait_for_unit("etcd.service") + node3.wait_until_succeeds("etcdctl member list | grep 'node3'") + node3.succeed("etcdctl endpoint status") + + with subtest("should survive member crash"): + node3.crash() + node1.succeed("etcdctl endpoint status") + node1.succeed("etcdctl put /foo/bar 'Hello degraded world'") + node1.succeed("etcdctl get /foo/bar | grep 'Hello degraded world'") + ''; + } +) diff --git a/nixos/tests/etcd/etcd.nix b/nixos/tests/etcd/etcd.nix index 1ffa5b1009759..74a46dddac44e 100644 --- a/nixos/tests/etcd/etcd.nix +++ b/nixos/tests/etcd/etcd.nix @@ -1,25 +1,30 @@ # This test runs simple etcd node -import ../make-test-python.nix ({ pkgs, ... } : { - name = "etcd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ offline ]; - }; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "etcd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ offline ]; + }; - nodes = { - node = { ... }: { - services.etcd.enable = true; + nodes = { + node = + { ... }: + { + services.etcd.enable = true; + }; }; - }; - testScript = '' - with subtest("should start etcd node"): - node.start() - node.wait_for_unit("etcd.service") - # Add additional wait for actual readiness - node.wait_until_succeeds("etcdctl endpoint health") + testScript = '' + with subtest("should start etcd node"): + node.start() + node.wait_for_unit("etcd.service") + # Add additional wait for actual readiness + node.wait_until_succeeds("etcdctl endpoint health") - with subtest("should write and read some values to etcd"): - node.succeed("etcdctl put /foo/bar 'Hello world'") - node.succeed("etcdctl get /foo/bar | grep 'Hello world'") - ''; -}) + with subtest("should write and read some values to etcd"): + node.succeed("etcdctl put /foo/bar 'Hello world'") + node.succeed("etcdctl get /foo/bar | grep 'Hello world'") + ''; + } +) diff --git a/nixos/tests/etebase-server.nix b/nixos/tests/etebase-server.nix index 49bfccf359e2a..110338ef8915f 100644 --- a/nixos/tests/etebase-server.nix +++ b/nixos/tests/etebase-server.nix @@ -1,21 +1,23 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - dataDir = "/var/lib/foobar"; + let + dataDir = "/var/lib/foobar"; -in { + in + { name = "etebase-server"; meta = with pkgs.lib.maintainers; { maintainers = [ felschr ]; }; - nodes.machine = { pkgs, ... }: + nodes.machine = + { pkgs, ... }: { services.etebase-server = { inherit dataDir; enable = true; - settings.global.secret_file = - toString (pkgs.writeText "secret" "123456"); + settings.global.secret_file = toString (pkgs.writeText "secret" "123456"); }; }; diff --git a/nixos/tests/etesync-dav.nix b/nixos/tests/etesync-dav.nix index f49152c60991f..c8f86a84e371a 100644 --- a/nixos/tests/etesync-dav.nix +++ b/nixos/tests/etesync-dav.nix @@ -1,16 +1,22 @@ -import ./make-test-python.nix ({ pkgs, ... }: { +import ./make-test-python.nix ( + { pkgs, ... }: + { - name = "etesync-dav"; - meta = with pkgs.lib.maintainers; { - maintainers = [ _3699n ]; - }; + name = "etesync-dav"; + meta = with pkgs.lib.maintainers; { + maintainers = [ _3699n ]; + }; - nodes.machine = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.curl pkgs.etesync-dav ]; - }; + nodes.machine = + { config, pkgs, ... }: + { + environment.systemPackages = [ + pkgs.curl + pkgs.etesync-dav + ]; + }; - testScript = - '' + testScript = '' machine.wait_for_unit("multi-user.target") machine.succeed("etesync-dav --version") machine.execute("etesync-dav >&2 &") @@ -18,4 +24,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { with subtest("Check that the web interface is accessible"): assert "Add User" in machine.succeed("curl -s http://localhost:37358/.web/add/") ''; -}) + } +) diff --git a/nixos/tests/evcc.nix b/nixos/tests/evcc.nix index 7ebdc6a6f5ab9..1988ed3f1a9b3 100644 --- a/nixos/tests/evcc.nix +++ b/nixos/tests/evcc.nix @@ -1,96 +1,107 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : +import ./make-test-python.nix ( + { pkgs, lib, ... }: -{ - name = "evcc"; - meta.maintainers = with lib.maintainers; [ hexa ]; + { + name = "evcc"; + meta.maintainers = with lib.maintainers; [ hexa ]; - nodes = { - machine = { config, ... }: { - services.evcc = { - enable = true; - settings = { - network = { - schema = "http"; - host = "localhost"; - port = 7070; - }; + nodes = { + machine = + { config, ... }: + { + services.evcc = { + enable = true; + settings = { + network = { + schema = "http"; + host = "localhost"; + port = 7070; + }; - log = "info"; + log = "info"; - site = { - title = "NixOS Test"; - meters = { - grid = "grid"; - pv = "pv"; - }; - }; + site = { + title = "NixOS Test"; + meters = { + grid = "grid"; + pv = "pv"; + }; + }; - meters = [ { - type = "custom"; - name = "grid"; - power = { - source = "script"; - cmd = "/bin/sh -c 'echo -4500'"; - }; - } { - type = "custom"; - name = "pv"; - power = { - source = "script"; - cmd = "/bin/sh -c 'echo 7500'"; - }; - } ]; + meters = [ + { + type = "custom"; + name = "grid"; + power = { + source = "script"; + cmd = "/bin/sh -c 'echo -4500'"; + }; + } + { + type = "custom"; + name = "pv"; + power = { + source = "script"; + cmd = "/bin/sh -c 'echo 7500'"; + }; + } + ]; - chargers = [ { - name = "dummy-charger"; - type = "custom"; - status = { - source = "script"; - cmd = "/bin/sh -c 'echo charger status A'"; - }; - enabled = { - source = "script"; - cmd = "/bin/sh -c 'echo charger enabled state false'"; - }; - enable = { - source = "script"; - cmd = "/bin/sh -c 'echo set charger enabled state true'"; - }; - maxcurrent = { - source = "script"; - cmd = "/bin/sh -c 'echo set charger max current 7200'"; - }; - } ]; + chargers = [ + { + name = "dummy-charger"; + type = "custom"; + status = { + source = "script"; + cmd = "/bin/sh -c 'echo charger status A'"; + }; + enabled = { + source = "script"; + cmd = "/bin/sh -c 'echo charger enabled state false'"; + }; + enable = { + source = "script"; + cmd = "/bin/sh -c 'echo set charger enabled state true'"; + }; + maxcurrent = { + source = "script"; + cmd = "/bin/sh -c 'echo set charger max current 7200'"; + }; + } + ]; - loadpoints = [ { - title = "Dummy"; - charger = "dummy-charger"; - } ]; + loadpoints = [ + { + title = "Dummy"; + charger = "dummy-charger"; + } + ]; + }; + }; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("evcc.service") - machine.wait_for_open_port(7070) + machine.wait_for_unit("evcc.service") + machine.wait_for_open_port(7070) - with subtest("Check package version propagates into frontend"): - machine.fail( - "curl --fail http://localhost:7070 | grep '0.0.1-alpha'" - ) - machine.succeed( - "curl --fail http://localhost:7070 | grep '${pkgs.evcc.version}'" - ) + with subtest("Check package version propagates into frontend"): + machine.fail( + "curl --fail http://localhost:7070 | grep '0.0.1-alpha'" + ) + machine.succeed( + "curl --fail http://localhost:7070 | grep '${pkgs.evcc.version}'" + ) - with subtest("Check journal for errors"): - _, output = machine.execute("journalctl -o cat -u evcc.service") - assert "FATAL" not in output + with subtest("Check journal for errors"): + _, output = machine.execute("journalctl -o cat -u evcc.service") + assert "FATAL" not in output - with subtest("Check systemd hardening"): - _, output = machine.execute("systemd-analyze security evcc.service | grep -v '✓'") - machine.log(output) - ''; -}) + with subtest("Check systemd hardening"): + _, output = machine.execute("systemd-analyze security evcc.service | grep -v '✓'") + machine.log(output) + ''; + } +) diff --git a/nixos/tests/fail2ban.nix b/nixos/tests/fail2ban.nix index c3708575b702b..fc12b7aede564 100644 --- a/nixos/tests/fail2ban.nix +++ b/nixos/tests/fail2ban.nix @@ -1,18 +1,21 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "fail2ban"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "fail2ban"; - nodes.machine = _: { - services.fail2ban = { - enable = true; - bantime-increment.enable = true; - }; + nodes.machine = _: { + services.fail2ban = { + enable = true; + bantime-increment.enable = true; + }; - services.openssh.enable = true; - }; + services.openssh.enable = true; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") + testScript = '' + machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("fail2ban") - ''; -}) + machine.wait_for_unit("fail2ban") + ''; + } +) diff --git a/nixos/tests/fakeroute.nix b/nixos/tests/fakeroute.nix index 37b174524ab81..24919d6b242c3 100644 --- a/nixos/tests/fakeroute.nix +++ b/nixos/tests/fakeroute.nix @@ -1,22 +1,27 @@ -import ./make-test-python.nix ({ lib, pkgs, ...} : { - name = "fakeroute"; - meta.maintainers = with lib.maintainers; [ rnhmjoj ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "fakeroute"; + meta.maintainers = with lib.maintainers; [ rnhmjoj ]; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - services.fakeroute.enable = true; - services.fakeroute.route = - [ "216.102.187.130" "4.0.1.122" - "198.116.142.34" "63.199.8.242" - ]; - environment.systemPackages = [ pkgs.traceroute ]; - }; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + services.fakeroute.enable = true; + services.fakeroute.route = [ + "216.102.187.130" + "4.0.1.122" + "198.116.142.34" + "63.199.8.242" + ]; + environment.systemPackages = [ pkgs.traceroute ]; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("fakeroute.service") machine.succeed("traceroute 127.0.0.1 | grep -q 216.102.187.130") ''; -}) - + } +) diff --git a/nixos/tests/fancontrol.nix b/nixos/tests/fancontrol.nix index ecb9360974463..da2d5fbd84053 100644 --- a/nixos/tests/fancontrol.nix +++ b/nixos/tests/fancontrol.nix @@ -1,34 +1,39 @@ -import ./make-test-python.nix ({ pkgs, ... } : { - name = "fancontrol"; - meta = with pkgs.lib.maintainers; { - maintainers = [ evils ]; - }; - - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - hardware.fancontrol.enable = true; - hardware.fancontrol.config = '' - INTERVAL=42 - DEVPATH=hwmon1=devices/platform/dummy - DEVNAME=hwmon1=dummy - FCTEMPS=hwmon1/device/pwm1=hwmon1/device/temp1_input - FCFANS=hwmon1/device/pwm1=hwmon1/device/fan1_input - MINTEMP=hwmon1/device/pwm1=25 - MAXTEMP=hwmon1/device/pwm1=65 - MINSTART=hwmon1/device/pwm1=150 - MINSTOP=hwmon1/device/pwm1=0 - ''; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "fancontrol"; + meta = with pkgs.lib.maintainers; { + maintainers = [ evils ]; }; - # This configuration cannot be valid for the test VM, so it's expected to get an 'outdated' error. - testScript = '' - start_all() - # can't wait for unit fancontrol.service because it doesn't become active due to invalid config - # fancontrol.service is WantedBy multi-user.target - machine.wait_for_unit("multi-user.target") - machine.succeed( - "journalctl -eu fancontrol | tee /dev/stderr | grep 'Configuration appears to be outdated'" - ) - machine.shutdown() - ''; -}) + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + hardware.fancontrol.enable = true; + hardware.fancontrol.config = '' + INTERVAL=42 + DEVPATH=hwmon1=devices/platform/dummy + DEVNAME=hwmon1=dummy + FCTEMPS=hwmon1/device/pwm1=hwmon1/device/temp1_input + FCFANS=hwmon1/device/pwm1=hwmon1/device/fan1_input + MINTEMP=hwmon1/device/pwm1=25 + MAXTEMP=hwmon1/device/pwm1=65 + MINSTART=hwmon1/device/pwm1=150 + MINSTOP=hwmon1/device/pwm1=0 + ''; + }; + + # This configuration cannot be valid for the test VM, so it's expected to get an 'outdated' error. + testScript = '' + start_all() + # can't wait for unit fancontrol.service because it doesn't become active due to invalid config + # fancontrol.service is WantedBy multi-user.target + machine.wait_for_unit("multi-user.target") + machine.succeed( + "journalctl -eu fancontrol | tee /dev/stderr | grep 'Configuration appears to be outdated'" + ) + machine.shutdown() + ''; + } +) diff --git a/nixos/tests/fanout.nix b/nixos/tests/fanout.nix index c36d34dcce0be..a6ee1b8120b64 100644 --- a/nixos/tests/fanout.nix +++ b/nixos/tests/fanout.nix @@ -1,30 +1,38 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: -import ./make-test-python.nix ({lib, pkgs, ...}: { - name = "fanout"; - meta.maintainers = [ lib.maintainers.therishidesai ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "fanout"; + meta.maintainers = [ lib.maintainers.therishidesai ]; - nodes = let - cfg = { ... }: { - services.fanout = { - enable = true; - fanoutDevices = 2; - bufferSize = 8192; + nodes = + let + cfg = + { ... }: + { + services.fanout = { + enable = true; + fanoutDevices = 2; + bufferSize = 8192; + }; + }; + in + { + machine = cfg; }; - }; - in { - machine = cfg; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # mDNS. - machine.wait_for_unit("multi-user.target") + # mDNS. + machine.wait_for_unit("multi-user.target") - machine.succeed("test -c /dev/fanout0") - machine.succeed("test -c /dev/fanout1") - ''; -}) + machine.succeed("test -c /dev/fanout0") + machine.succeed("test -c /dev/fanout1") + ''; + } +) diff --git a/nixos/tests/fastnetmon-advanced.nix b/nixos/tests/fastnetmon-advanced.nix index b2d2713a92110..1582280cb5df8 100644 --- a/nixos/tests/fastnetmon-advanced.nix +++ b/nixos/tests/fastnetmon-advanced.nix @@ -5,61 +5,67 @@ meta.maintainers = lib.teams.wdz.members; nodes = { - bird = { ... }: { - networking.firewall.allowedTCPPorts = [ 179 ]; - services.bird2 = { - enable = true; - config = '' - router id 192.168.1.1; + bird = + { ... }: + { + networking.firewall.allowedTCPPorts = [ 179 ]; + services.bird2 = { + enable = true; + config = '' + router id 192.168.1.1; - protocol bgp fnm { - local 192.168.1.1 as 64513; - neighbor 192.168.1.2 as 64514; - multihop; - ipv4 { - import all; - export none; - }; - } - ''; - }; - }; - fnm = { ... }: { - networking.firewall.allowedTCPPorts = [ 179 ]; - services.fastnetmon-advanced = { - enable = true; - settings = { - networks_list = [ "172.23.42.0/24" ]; - gobgp = true; - gobgp_flow_spec_announces = true; + protocol bgp fnm { + local 192.168.1.1 as 64513; + neighbor 192.168.1.2 as 64514; + multihop; + ipv4 { + import all; + export none; + }; + } + ''; }; - bgpPeers = { - bird = { - local_asn = 64514; - remote_asn = 64513; - local_address = "192.168.1.2"; - remote_address = "192.168.1.1"; + }; + fnm = + { ... }: + { + networking.firewall.allowedTCPPorts = [ 179 ]; + services.fastnetmon-advanced = { + enable = true; + settings = { + networks_list = [ "172.23.42.0/24" ]; + gobgp = true; + gobgp_flow_spec_announces = true; + }; + bgpPeers = { + bird = { + local_asn = 64514; + remote_asn = 64513; + local_address = "192.168.1.2"; + remote_address = "192.168.1.1"; - description = "Bird"; - ipv4_unicast = true; - multihop = true; - active = true; + description = "Bird"; + ipv4_unicast = true; + multihop = true; + active = true; + }; }; }; }; - }; }; - testScript = { nodes, ... }: '' - start_all() - fnm.wait_for_unit("fastnetmon.service") - bird.wait_for_unit("bird2.service") + testScript = + { nodes, ... }: + '' + start_all() + fnm.wait_for_unit("fastnetmon.service") + bird.wait_for_unit("bird2.service") - fnm.wait_until_succeeds('journalctl -eu fastnetmon.service | grep "BGP daemon restarted correctly"') - fnm.wait_until_succeeds("journalctl -eu gobgp.service | grep BGP_FSM_OPENCONFIRM") - bird.wait_until_succeeds("birdc show protocol fnm | grep Estab") - fnm.wait_until_succeeds('journalctl -eu fastnetmon.service | grep "API server listening"') - fnm.succeed("fcli set blackhole 172.23.42.123") - bird.succeed("birdc show route | grep 172.23.42.123") - ''; + fnm.wait_until_succeeds('journalctl -eu fastnetmon.service | grep "BGP daemon restarted correctly"') + fnm.wait_until_succeeds("journalctl -eu gobgp.service | grep BGP_FSM_OPENCONFIRM") + bird.wait_until_succeeds("birdc show protocol fnm | grep Estab") + fnm.wait_until_succeeds('journalctl -eu fastnetmon.service | grep "API server listening"') + fnm.succeed("fcli set blackhole 172.23.42.123") + bird.succeed("birdc show route | grep 172.23.42.123") + ''; } diff --git a/nixos/tests/fenics.nix b/nixos/tests/fenics.nix index 1d182cfc44998..593b3953ffa92 100644 --- a/nixos/tests/fenics.nix +++ b/nixos/tests/fenics.nix @@ -1,49 +1,53 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - fenicsScript = pkgs.writeScript "poisson.py" '' - #!/usr/bin/env python - from dolfin import * + let + fenicsScript = pkgs.writeScript "poisson.py" '' + #!/usr/bin/env python + from dolfin import * - mesh = UnitSquareMesh(4, 4) - V = FunctionSpace(mesh, "Lagrange", 1) + mesh = UnitSquareMesh(4, 4) + V = FunctionSpace(mesh, "Lagrange", 1) - def boundary(x): - return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS + def boundary(x): + return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS - u0 = Constant(0.0) - bc = DirichletBC(V, u0, boundary) + u0 = Constant(0.0) + bc = DirichletBC(V, u0, boundary) - u = TrialFunction(V) - v = TestFunction(V) - f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2) - g = Expression("sin(5*x[0])", degree=2) - a = inner(grad(u), grad(v))*dx - L = f*v*dx + g*v*ds + u = TrialFunction(V) + v = TestFunction(V) + f = Expression("10*exp(-(pow(x[0] - 0.5, 2) + pow(x[1] - 0.5, 2)) / 0.02)", degree=2) + g = Expression("sin(5*x[0])", degree=2) + a = inner(grad(u), grad(v))*dx + L = f*v*dx + g*v*ds - u = Function(V) - solve(a == L, u, bc) - print(u) - ''; -in -{ - name = "fenics"; - meta = { - maintainers = with pkgs.lib.maintainers; [ knedlsepp ]; - }; + u = Function(V) + solve(a == L, u, bc) + print(u) + ''; + in + { + name = "fenics"; + meta = { + maintainers = with pkgs.lib.maintainers; [ knedlsepp ]; + }; - nodes = { - fenicsnode = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ - gcc - (python3.withPackages (ps: with ps; [ fenics ])) - ]; + nodes = { + fenicsnode = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + gcc + (python3.withPackages (ps: with ps; [ fenics ])) + ]; + }; }; - }; - testScript = - { nodes, ... }: - '' - start_all() - fenicsnode.succeed("${fenicsScript}") - ''; -}) + testScript = + { nodes, ... }: + '' + start_all() + fenicsnode.succeed("${fenicsScript}") + ''; + } +) diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix index 87c67ac623479..b0a3a828384b3 100644 --- a/nixos/tests/ferm.nix +++ b/nixos/tests/ferm.nix @@ -1,21 +1,32 @@ +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ferm"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mic92 ]; + }; -import ./make-test-python.nix ({ pkgs, ...} : { - name = "ferm"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mic92 ]; - }; - - nodes = - { client = + nodes = { + client = { pkgs, ... }: with pkgs.lib; { networking = { dhcpcd.enable = false; - interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ]; - interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ]; + interfaces.eth1.ipv6.addresses = mkOverride 0 [ + { + address = "fd00::2"; + prefixLength = 64; + } + ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; }; - }; + }; server = { pkgs, ... }: with pkgs.lib; @@ -24,8 +35,18 @@ import ./make-test-python.nix ({ pkgs, ...} : { dhcpcd.enable = false; useNetworkd = true; useDHCP = false; - interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ]; - interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; + interfaces.eth1.ipv6.addresses = mkOverride 0 [ + { + address = "fd00::1"; + prefixLength = 64; + } + ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; }; services = { @@ -51,8 +72,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; }; - testScript = - '' + testScript = '' start_all() client.systemctl("start network-online.target") @@ -74,4 +94,5 @@ import ./make-test-python.nix ({ pkgs, ...} : { client.fail("curl --fail -g http://192.168.1.1:8080/status") client.fail("curl --fail -g http://[fd00::1]:8080/status") ''; -}) + } +) diff --git a/nixos/tests/filesender.nix b/nixos/tests/filesender.nix index 346e315956fb9..5c4c1a738243a 100644 --- a/nixos/tests/filesender.nix +++ b/nixos/tests/filesender.nix @@ -1,137 +1,148 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "filesender"; - meta = { - maintainers = with lib.maintainers; [ nhnn ]; - broken = pkgs.stdenv.hostPlatform.isAarch64; # selenium.common.exceptions.WebDriverException: Message: Unsupported platform/architecture combination: linux/aarch64 - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "filesender"; + meta = { + maintainers = with lib.maintainers; [ nhnn ]; + broken = pkgs.stdenv.hostPlatform.isAarch64; # selenium.common.exceptions.WebDriverException: Message: Unsupported platform/architecture combination: linux/aarch64 + }; - nodes.filesender = { ... }: let - format = pkgs.formats.php { }; - in { - networking.firewall.allowedTCPPorts = [ 80 ]; + nodes.filesender = + { ... }: + let + format = pkgs.formats.php { }; + in + { + networking.firewall.allowedTCPPorts = [ 80 ]; - services.filesender.enable = true; - services.filesender.localDomain = "filesender"; - services.filesender.settings = { - auth_sp_saml_authentication_source = "default"; - auth_sp_saml_uid_attribute = "uid"; - storage_filesystem_path = "/tmp"; - site_url = "http://filesender"; - force_ssl = false; - admin = ""; - admin_email = "admin@localhost"; - email_reply_to = "noreply@localhost"; - }; - services.simplesamlphp.filesender = { - settings = { - baseurlpath = "http://filesender/saml"; - "module.enable".exampleauth = true; - }; - authSources = { - admin = [ "core:AdminPassword" ]; - default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] { - "user:password" = { - uid = [ "user" ]; - cn = [ "user" ]; - mail = [ "user@nixos.org" ]; + services.filesender.enable = true; + services.filesender.localDomain = "filesender"; + services.filesender.settings = { + auth_sp_saml_authentication_source = "default"; + auth_sp_saml_uid_attribute = "uid"; + storage_filesystem_path = "/tmp"; + site_url = "http://filesender"; + force_ssl = false; + admin = ""; + admin_email = "admin@localhost"; + email_reply_to = "noreply@localhost"; + }; + services.simplesamlphp.filesender = { + settings = { + baseurlpath = "http://filesender/saml"; + "module.enable".exampleauth = true; + }; + authSources = { + admin = [ "core:AdminPassword" ]; + default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] { + "user:password" = { + uid = [ "user" ]; + cn = [ "user" ]; + mail = [ "user@nixos.org" ]; + }; + }; }; }; }; - }; - }; - nodes.client = - { pkgs - , nodes - , ... - }: - let - filesenderIP = (builtins.head (nodes.filesender.networking.interfaces.eth1.ipv4.addresses)).address; - in - { - networking.hosts.${filesenderIP} = [ "filesender" ]; + nodes.client = + { + pkgs, + nodes, + ... + }: + let + filesenderIP = (builtins.head (nodes.filesender.networking.interfaces.eth1.ipv4.addresses)).address; + in + { + networking.hosts.${filesenderIP} = [ "filesender" ]; - environment.systemPackages = - let - username = "user"; - password = "password"; - browser-test = - pkgs.writers.writePython3Bin "browser-test" - { - libraries = [ pkgs.python3Packages.selenium ]; - flakeIgnore = [ "E124" "E501" ]; - } '' - from selenium.webdriver.common.by import By - from selenium.webdriver import Firefox - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.firefox.firefox_profile import FirefoxProfile - from selenium.webdriver.firefox.service import Service - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - from subprocess import STDOUT - import string - import random - import logging - import time - selenium_logger = logging.getLogger("selenium") - selenium_logger.setLevel(logging.DEBUG) - selenium_logger.addHandler(logging.StreamHandler()) - profile = FirefoxProfile() - profile.set_preference("browser.download.folderList", 2) - profile.set_preference("browser.download.manager.showWhenStarting", False) - profile.set_preference("browser.download.dir", "/tmp/firefox") - profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain;text/txt") - options = Options() - options.profile = profile - options.add_argument('--headless') - service = Service(log_output=STDOUT) - driver = Firefox(options=options) - driver.set_window_size(1024, 768) - driver.implicitly_wait(30) - driver.get('http://filesender/') - wait = WebDriverWait(driver, 20) - wait.until(EC.title_contains("FileSender")) - driver.find_element(By.ID, "btn_logon").click() - wait.until(EC.title_contains("Enter your username and password")) - driver.find_element(By.ID, 'username').send_keys( - '${username}' - ) - driver.find_element(By.ID, 'password').send_keys( - '${password}' - ) - driver.find_element(By.ID, "submit_button").click() - wait.until(EC.title_contains("FileSender")) - wait.until(EC.presence_of_element_located((By.ID, "topmenu_logoff"))) - test_string = "".join(random.choices(string.ascii_uppercase + string.digits, k=20)) - with open("/tmp/test_file.txt", "w") as file: - file.write(test_string) - driver.find_element(By.ID, "files").send_keys("/tmp/test_file.txt") - time.sleep(2) - driver.find_element(By.CSS_SELECTOR, '.start').click() - wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".download_link"))) - download_link = driver.find_element(By.CSS_SELECTOR, '.download_link > textarea').get_attribute('value').strip() - driver.get(download_link) - wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".download"))) - driver.find_element(By.CSS_SELECTOR, '.download').click() - wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".ui-dialog-buttonset > button:nth-child(2)"))) - driver.find_element(By.CSS_SELECTOR, ".ui-dialog-buttonset > button:nth-child(2)").click() - driver.close() - driver.quit() - ''; - in - [ - pkgs.firefox-unwrapped - pkgs.geckodriver - browser-test - ]; - }; + environment.systemPackages = + let + username = "user"; + password = "password"; + browser-test = + pkgs.writers.writePython3Bin "browser-test" + { + libraries = [ pkgs.python3Packages.selenium ]; + flakeIgnore = [ + "E124" + "E501" + ]; + } + '' + from selenium.webdriver.common.by import By + from selenium.webdriver import Firefox + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.firefox.firefox_profile import FirefoxProfile + from selenium.webdriver.firefox.service import Service + from selenium.webdriver.support.ui import WebDriverWait + from selenium.webdriver.support import expected_conditions as EC + from subprocess import STDOUT + import string + import random + import logging + import time + selenium_logger = logging.getLogger("selenium") + selenium_logger.setLevel(logging.DEBUG) + selenium_logger.addHandler(logging.StreamHandler()) + profile = FirefoxProfile() + profile.set_preference("browser.download.folderList", 2) + profile.set_preference("browser.download.manager.showWhenStarting", False) + profile.set_preference("browser.download.dir", "/tmp/firefox") + profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain;text/txt") + options = Options() + options.profile = profile + options.add_argument('--headless') + service = Service(log_output=STDOUT) + driver = Firefox(options=options) + driver.set_window_size(1024, 768) + driver.implicitly_wait(30) + driver.get('http://filesender/') + wait = WebDriverWait(driver, 20) + wait.until(EC.title_contains("FileSender")) + driver.find_element(By.ID, "btn_logon").click() + wait.until(EC.title_contains("Enter your username and password")) + driver.find_element(By.ID, 'username').send_keys( + '${username}' + ) + driver.find_element(By.ID, 'password').send_keys( + '${password}' + ) + driver.find_element(By.ID, "submit_button").click() + wait.until(EC.title_contains("FileSender")) + wait.until(EC.presence_of_element_located((By.ID, "topmenu_logoff"))) + test_string = "".join(random.choices(string.ascii_uppercase + string.digits, k=20)) + with open("/tmp/test_file.txt", "w") as file: + file.write(test_string) + driver.find_element(By.ID, "files").send_keys("/tmp/test_file.txt") + time.sleep(2) + driver.find_element(By.CSS_SELECTOR, '.start').click() + wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".download_link"))) + download_link = driver.find_element(By.CSS_SELECTOR, '.download_link > textarea').get_attribute('value').strip() + driver.get(download_link) + wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".download"))) + driver.find_element(By.CSS_SELECTOR, '.download').click() + wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".ui-dialog-buttonset > button:nth-child(2)"))) + driver.find_element(By.CSS_SELECTOR, ".ui-dialog-buttonset > button:nth-child(2)").click() + driver.close() + driver.quit() + ''; + in + [ + pkgs.firefox-unwrapped + pkgs.geckodriver + browser-test + ]; + }; - testScript = '' - start_all() - filesender.wait_for_file("/run/phpfpm/filesender.sock") - filesender.wait_for_open_port(80) - if "If you have received an invitation to access this site as a guest" not in client.wait_until_succeeds("curl -sS -f http://filesender"): - raise Exception("filesender returned invalid html") - client.succeed("browser-test") - ''; -}) + testScript = '' + start_all() + filesender.wait_for_file("/run/phpfpm/filesender.sock") + filesender.wait_for_open_port(80) + if "If you have received an invitation to access this site as a guest" not in client.wait_until_succeeds("curl -sS -f http://filesender"): + raise Exception("filesender returned invalid html") + client.succeed("browser-test") + ''; + } +) diff --git a/nixos/tests/firefly-iii.nix b/nixos/tests/firefly-iii.nix index f8e4ca4bfe2b4..290d077110025 100644 --- a/nixos/tests/firefly-iii.nix +++ b/nixos/tests/firefly-iii.nix @@ -1,111 +1,119 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -let - db-pass = "Test2Test2"; - app-key = "TestTestTestTestTestTestTestTest"; -in -{ - name = "firefly-iii"; - meta.maintainers = [ lib.maintainers.savyajha ]; + let + db-pass = "Test2Test2"; + app-key = "TestTestTestTestTestTestTestTest"; + in + { + name = "firefly-iii"; + meta.maintainers = [ lib.maintainers.savyajha ]; - nodes.fireflySqlite = { config, ... }: { - environment.etc = { - "firefly-iii-appkey".text = app-key; - }; - services.firefly-iii = { - enable = true; - enableNginx = true; - settings = { - APP_KEY_FILE = "/etc/firefly-iii-appkey"; - LOG_CHANNEL = "stdout"; - SITE_OWNER = "mail@example.com"; + nodes.fireflySqlite = + { config, ... }: + { + environment.etc = { + "firefly-iii-appkey".text = app-key; + }; + services.firefly-iii = { + enable = true; + enableNginx = true; + settings = { + APP_KEY_FILE = "/etc/firefly-iii-appkey"; + LOG_CHANNEL = "stdout"; + SITE_OWNER = "mail@example.com"; + }; + }; }; - }; - }; - nodes.fireflyPostgresql = { config, pkgs, ... }: { - environment.etc = { - "firefly-iii-appkey".text = app-key; - "postgres-pass".text = db-pass; - }; - services.firefly-iii = { - enable = true; - enableNginx = true; - settings = { - APP_KEY_FILE = "/etc/firefly-iii-appkey"; - LOG_CHANNEL = "stdout"; - SITE_OWNER = "mail@example.com"; - DB_CONNECTION = "pgsql"; - DB_DATABASE = "firefly"; - DB_USERNAME = "firefly"; - DB_PASSWORD_FILE = "/etc/postgres-pass"; - PGSQL_SCHEMA = "firefly"; + nodes.fireflyPostgresql = + { config, pkgs, ... }: + { + environment.etc = { + "firefly-iii-appkey".text = app-key; + "postgres-pass".text = db-pass; + }; + services.firefly-iii = { + enable = true; + enableNginx = true; + settings = { + APP_KEY_FILE = "/etc/firefly-iii-appkey"; + LOG_CHANNEL = "stdout"; + SITE_OWNER = "mail@example.com"; + DB_CONNECTION = "pgsql"; + DB_DATABASE = "firefly"; + DB_USERNAME = "firefly"; + DB_PASSWORD_FILE = "/etc/postgres-pass"; + PGSQL_SCHEMA = "firefly"; + }; + }; + + services.postgresql = { + enable = true; + package = pkgs.postgresql_16; + authentication = '' + local all postgres peer + local firefly firefly password + ''; + initialScript = pkgs.writeText "firefly-init.sql" '' + CREATE USER "firefly" WITH LOGIN PASSWORD '${db-pass}'; + CREATE DATABASE "firefly" WITH OWNER "firefly"; + \c firefly + CREATE SCHEMA AUTHORIZATION firefly; + ''; + }; }; - }; - services.postgresql = { - enable = true; - package = pkgs.postgresql_16; - authentication = '' - local all postgres peer - local firefly firefly password - ''; - initialScript = pkgs.writeText "firefly-init.sql" '' - CREATE USER "firefly" WITH LOGIN PASSWORD '${db-pass}'; - CREATE DATABASE "firefly" WITH OWNER "firefly"; - \c firefly - CREATE SCHEMA AUTHORIZATION firefly; - ''; - }; - }; + nodes.fireflyMysql = + { config, pkgs, ... }: + { + environment.etc = { + "firefly-iii-appkey".text = app-key; + "mysql-pass".text = db-pass; + }; + services.firefly-iii = { + enable = true; + enableNginx = true; + settings = { + APP_KEY_FILE = "/etc/firefly-iii-appkey"; + LOG_CHANNEL = "stdout"; + SITE_OWNER = "mail@example.com"; + DB_CONNECTION = "mysql"; + DB_DATABASE = "firefly"; + DB_USERNAME = "firefly"; + DB_PASSWORD_FILE = "/etc/mysql-pass"; + DB_SOCKET = "/run/mysqld/mysqld.sock"; + }; + }; - nodes.fireflyMysql = { config, pkgs, ... }: { - environment.etc = { - "firefly-iii-appkey".text = app-key; - "mysql-pass".text = db-pass; - }; - services.firefly-iii = { - enable = true; - enableNginx = true; - settings = { - APP_KEY_FILE = "/etc/firefly-iii-appkey"; - LOG_CHANNEL = "stdout"; - SITE_OWNER = "mail@example.com"; - DB_CONNECTION = "mysql"; - DB_DATABASE = "firefly"; - DB_USERNAME = "firefly"; - DB_PASSWORD_FILE = "/etc/mysql-pass"; - DB_SOCKET = "/run/mysqld/mysqld.sock"; + services.mysql = { + enable = true; + package = pkgs.mariadb; + initialScript = pkgs.writeText "firefly-init.sql" '' + create database firefly DEFAULT CHARACTER SET utf8mb4; + create user 'firefly'@'localhost' identified by '${db-pass}'; + grant all on firefly.* to 'firefly'@'localhost'; + ''; + settings.mysqld.character-set-server = "utf8mb4"; + }; }; - }; - - services.mysql = { - enable = true; - package = pkgs.mariadb; - initialScript = pkgs.writeText "firefly-init.sql" '' - create database firefly DEFAULT CHARACTER SET utf8mb4; - create user 'firefly'@'localhost' identified by '${db-pass}'; - grant all on firefly.* to 'firefly'@'localhost'; - ''; - settings.mysqld.character-set-server = "utf8mb4"; - }; - }; - testScript = '' - fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service") - fireflySqlite.wait_for_unit("nginx.service") - fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") - fireflySqlite.succeed("curl -fvvv -Ls http://localhost/v1/js/app.js") - fireflySqlite.succeed("systemctl start firefly-iii-cron.service") - fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service") - fireflyPostgresql.wait_for_unit("nginx.service") - fireflyPostgresql.wait_for_unit("postgresql.service") - fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") - fireflyPostgresql.succeed("systemctl start firefly-iii-cron.service") - fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service") - fireflyMysql.wait_for_unit("nginx.service") - fireflyMysql.wait_for_unit("mysql.service") - fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") - fireflyMysql.succeed("systemctl start firefly-iii-cron.service") - ''; -}) + testScript = '' + fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service") + fireflySqlite.wait_for_unit("nginx.service") + fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") + fireflySqlite.succeed("curl -fvvv -Ls http://localhost/v1/js/app.js") + fireflySqlite.succeed("systemctl start firefly-iii-cron.service") + fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service") + fireflyPostgresql.wait_for_unit("nginx.service") + fireflyPostgresql.wait_for_unit("postgresql.service") + fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") + fireflyPostgresql.succeed("systemctl start firefly-iii-cron.service") + fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service") + fireflyMysql.wait_for_unit("nginx.service") + fireflyMysql.wait_for_unit("mysql.service") + fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") + fireflyMysql.succeed("systemctl start firefly-iii-cron.service") + ''; + } +) diff --git a/nixos/tests/firefoxpwa.nix b/nixos/tests/firefoxpwa.nix index 374d67b01ac60..546534d1f05e8 100644 --- a/nixos/tests/firefoxpwa.nix +++ b/nixos/tests/firefoxpwa.nix @@ -1,36 +1,41 @@ -import ./make-test-python.nix ({ lib, ... }: - -{ - name = "firefoxpwa"; - meta.maintainers = with lib.maintainers; [ camillemndn ]; - - nodes.machine = - { pkgs, ... }: - { - imports = [ ./common/x11.nix ]; - environment.systemPackages = with pkgs; [ firefoxpwa jq ]; - - programs.firefox = { - enable = true; - nativeMessagingHosts.packages = [ pkgs.firefoxpwa ]; +import ./make-test-python.nix ( + { lib, ... }: + + { + name = "firefoxpwa"; + meta.maintainers = with lib.maintainers; [ camillemndn ]; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + environment.systemPackages = with pkgs; [ + firefoxpwa + jq + ]; + + programs.firefox = { + enable = true; + nativeMessagingHosts.packages = [ pkgs.firefoxpwa ]; + }; + + services.jellyfin.enable = true; }; - services.jellyfin.enable = true; - }; - - enableOCR = true; + enableOCR = true; - testScript = '' - machine.start() + testScript = '' + machine.start() - with subtest("Install a progressive web app"): - machine.wait_for_unit("jellyfin.service") - machine.wait_for_open_port(8096) - machine.succeed("firefoxpwa site install http://localhost:8096/web/manifest.json >&2") + with subtest("Install a progressive web app"): + machine.wait_for_unit("jellyfin.service") + machine.wait_for_open_port(8096) + machine.succeed("firefoxpwa site install http://localhost:8096/web/manifest.json >&2") - with subtest("Launch the progressive web app"): - machine.succeed("firefoxpwa site launch $(jq -r < ~/.local/share/firefoxpwa/config.json '.sites | keys[0]') >&2") - machine.wait_for_window("Jellyfin") - machine.wait_for_text("Jellyfin") - ''; -}) + with subtest("Launch the progressive web app"): + machine.succeed("firefoxpwa site launch $(jq -r < ~/.local/share/firefoxpwa/config.json '.sites | keys[0]') >&2") + machine.wait_for_window("Jellyfin") + machine.wait_for_text("Jellyfin") + ''; + } +) diff --git a/nixos/tests/firejail.nix b/nixos/tests/firejail.nix index 6c42c37b2813a..24ec4dbe2a7e5 100644 --- a/nixos/tests/firejail.nix +++ b/nixos/tests/firejail.nix @@ -1,91 +1,95 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "firejail"; - meta = with pkgs.lib.maintainers; { - maintainers = [ sgo ]; - }; - - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ]; - - programs.firejail = { - enable = true; - wrappedBinaries = { - bash-jailed = "${pkgs.bash}/bin/bash"; - bash-jailed2 = { - executable = "${pkgs.bash}/bin/bash"; - extraArgs = [ "--private=~/firejail-home" ]; - }; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "firejail"; + meta = with pkgs.lib.maintainers; { + maintainers = [ sgo ]; }; - systemd.services.setupFirejailTest = { - wantedBy = [ "multi-user.target" ]; - before = [ "multi-user.target" ]; + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + + programs.firejail = { + enable = true; + wrappedBinaries = { + bash-jailed = "${pkgs.bash}/bin/bash"; + bash-jailed2 = { + executable = "${pkgs.bash}/bin/bash"; + extraArgs = [ "--private=~/firejail-home" ]; + }; + }; + }; - environment = { - HOME = "/home/alice"; - }; + systemd.services.setupFirejailTest = { + wantedBy = [ "multi-user.target" ]; + before = [ "multi-user.target" ]; - unitConfig = { - type = "oneshot"; - RemainAfterExit = true; - user = "alice"; - }; + environment = { + HOME = "/home/alice"; + }; - script = '' - cd $HOME + unitConfig = { + type = "oneshot"; + RemainAfterExit = true; + user = "alice"; + }; - mkdir .password-store && echo s3cret > .password-store/secret - mkdir my-secrets && echo s3cret > my-secrets/secret + script = '' + cd $HOME - echo publ1c > public + mkdir .password-store && echo s3cret > .password-store/secret + mkdir my-secrets && echo s3cret > my-secrets/secret - mkdir -p .config/firejail - echo 'blacklist ''${HOME}/my-secrets' > .config/firejail/globals.local - ''; - }; - }; - - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - - # Test path acl with wrapper - machine.succeed("sudo -u alice bash-jailed -c 'cat ~/public' | grep -q publ1c") - machine.fail( - "sudo -u alice bash-jailed -c 'cat ~/.password-store/secret' | grep -q s3cret" - ) - machine.fail("sudo -u alice bash-jailed -c 'cat ~/my-secrets/secret' | grep -q s3cret") - - # Test extraArgs - machine.succeed("sudo -u alice mkdir /home/alice/firejail-home") - machine.succeed("sudo -u alice bash-jailed2 -c 'echo test > /home/alice/foo'") - machine.fail("sudo -u alice cat /home/alice/foo") - machine.succeed("sudo -u alice cat /home/alice/firejail-home/foo | grep test") - - # Test path acl with firejail executable - machine.succeed("sudo -u alice firejail -- bash -c 'cat ~/public' | grep -q publ1c") - machine.fail( - "sudo -u alice firejail -- bash -c 'cat ~/.password-store/secret' | grep -q s3cret" - ) - machine.fail( - "sudo -u alice firejail -- bash -c 'cat ~/my-secrets/secret' | grep -q s3cret" - ) - - # Disabling profiles - machine.succeed( - "sudo -u alice bash -c 'firejail --noprofile -- cat ~/.password-store/secret' | grep -q s3cret" - ) - - # CVE-2020-17367 - machine.fail( - "sudo -u alice firejail --private-tmp id --output=/tmp/vuln1 && cat /tmp/vuln1" - ) - - # CVE-2020-17368 - machine.fail( - "sudo -u alice firejail --private-tmp --output=/tmp/foo 'bash -c $(id>/tmp/vuln2;echo id)' && cat /tmp/vuln2" - ) - ''; -}) + echo publ1c > public + + mkdir -p .config/firejail + echo 'blacklist ''${HOME}/my-secrets' > .config/firejail/globals.local + ''; + }; + }; + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + + # Test path acl with wrapper + machine.succeed("sudo -u alice bash-jailed -c 'cat ~/public' | grep -q publ1c") + machine.fail( + "sudo -u alice bash-jailed -c 'cat ~/.password-store/secret' | grep -q s3cret" + ) + machine.fail("sudo -u alice bash-jailed -c 'cat ~/my-secrets/secret' | grep -q s3cret") + + # Test extraArgs + machine.succeed("sudo -u alice mkdir /home/alice/firejail-home") + machine.succeed("sudo -u alice bash-jailed2 -c 'echo test > /home/alice/foo'") + machine.fail("sudo -u alice cat /home/alice/foo") + machine.succeed("sudo -u alice cat /home/alice/firejail-home/foo | grep test") + + # Test path acl with firejail executable + machine.succeed("sudo -u alice firejail -- bash -c 'cat ~/public' | grep -q publ1c") + machine.fail( + "sudo -u alice firejail -- bash -c 'cat ~/.password-store/secret' | grep -q s3cret" + ) + machine.fail( + "sudo -u alice firejail -- bash -c 'cat ~/my-secrets/secret' | grep -q s3cret" + ) + + # Disabling profiles + machine.succeed( + "sudo -u alice bash -c 'firejail --noprofile -- cat ~/.password-store/secret' | grep -q s3cret" + ) + + # CVE-2020-17367 + machine.fail( + "sudo -u alice firejail --private-tmp id --output=/tmp/vuln1 && cat /tmp/vuln1" + ) + + # CVE-2020-17368 + machine.fail( + "sudo -u alice firejail --private-tmp --output=/tmp/foo 'bash -c $(id>/tmp/vuln2;echo id)' && cat /tmp/vuln2" + ) + ''; + } +) diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index 89f4878fd47f2..378f9b6a7c86c 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -1,31 +1,60 @@ # Test the firewall module. -import ./make-test-python.nix ( { pkgs, nftables, ... } : { - name = "firewall" + pkgs.lib.optionalString nftables "-nftables"; - meta = with pkgs.lib.maintainers; { - maintainers = [ rvfg garyguo ]; - }; +import ./make-test-python.nix ( + { pkgs, nftables, ... }: + { + name = "firewall" + pkgs.lib.optionalString nftables "-nftables"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + rvfg + garyguo + ]; + }; - nodes = - { walled = + nodes = { + walled = { ... }: - { networking.firewall = { + { + networking.firewall = { enable = true; logRefusedPackets = true; # Syntax smoke test, not actually verified otherwise - allowedTCPPorts = [ 25 993 8005 ]; + allowedTCPPorts = [ + 25 + 993 + 8005 + ]; allowedTCPPortRanges = [ - { from = 980; to = 1000; } - { from = 990; to = 1010; } - { from = 8000; to = 8010; } + { + from = 980; + to = 1000; + } + { + from = 990; + to = 1010; + } + { + from = 8000; + to = 8010; + } ]; interfaces.eth0 = { allowedTCPPorts = [ 10003 ]; - allowedTCPPortRanges = [ { from = 10000; to = 10005; } ]; + allowedTCPPortRanges = [ + { + from = 10000; + to = 10005; + } + ]; }; interfaces.eth3 = { allowedUDPPorts = [ 10003 ]; - allowedUDPPortRanges = [ { from = 10000; to = 10005; } ]; + allowedUDPPortRanges = [ + { + from = 10000; + to = 10005; + } + ]; }; }; networking.nftables.enable = nftables; @@ -39,47 +68,52 @@ import ./make-test-python.nix ( { pkgs, nftables, ... } : { attacker = { ... }: - { services.httpd.enable = true; + { + services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; networking.firewall.enable = false; }; }; - testScript = { nodes, ... }: let - unit = if nftables then "nftables" else "firewall"; - in '' - start_all() + testScript = + { nodes, ... }: + let + unit = if nftables then "nftables" else "firewall"; + in + '' + start_all() - walled.wait_for_unit("${unit}") - walled.wait_for_unit("httpd") - attacker.wait_for_unit("network.target") + walled.wait_for_unit("${unit}") + walled.wait_for_unit("httpd") + attacker.wait_for_unit("network.target") - # Local connections should still work. - walled.succeed("curl -v http://localhost/ >&2") + # Local connections should still work. + walled.succeed("curl -v http://localhost/ >&2") - # Connections to the firewalled machine should fail, but ping should succeed. - attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2") - attacker.succeed("ping -c 1 walled >&2") + # Connections to the firewalled machine should fail, but ping should succeed. + attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2") + attacker.succeed("ping -c 1 walled >&2") - # Outgoing connections/pings should still work. - walled.succeed("curl -v http://attacker/ >&2") - walled.succeed("ping -c 1 attacker >&2") + # Outgoing connections/pings should still work. + walled.succeed("curl -v http://attacker/ >&2") + walled.succeed("ping -c 1 attacker >&2") - # Open tcp port 80 at runtime - walled.succeed("nixos-firewall-tool open tcp 80") - attacker.succeed("curl -v http://walled/ >&2") + # Open tcp port 80 at runtime + walled.succeed("nixos-firewall-tool open tcp 80") + attacker.succeed("curl -v http://walled/ >&2") - # Reset the firewall - walled.succeed("nixos-firewall-tool reset") - attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2") + # Reset the firewall + walled.succeed("nixos-firewall-tool reset") + attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2") - # If we stop the firewall, then connections should succeed. - walled.stop_job("${unit}") - attacker.succeed("curl -v http://walled/ >&2") + # If we stop the firewall, then connections should succeed. + walled.stop_job("${unit}") + attacker.succeed("curl -v http://walled/ >&2") - # Check whether activation of a new configuration reloads the firewall. - walled.succeed( - "/run/booted-system/specialisation/different-config/bin/switch-to-configuration test 2>&1 | grep -qF ${unit}.service" - ) - ''; -}) + # Check whether activation of a new configuration reloads the firewall. + walled.succeed( + "/run/booted-system/specialisation/different-config/bin/switch-to-configuration test 2>&1 | grep -qF ${unit}.service" + ) + ''; + } +) diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix index c9a1bef51478e..5a0c4143a4caa 100644 --- a/nixos/tests/fish.nix +++ b/nixos/tests/fish.nix @@ -1,21 +1,22 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "fish"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "fish"; - nodes.machine = - { pkgs, ... }: + nodes.machine = + { pkgs, ... }: - { - programs.fish.enable = true; - environment.systemPackages = with pkgs; [ - coreutils - procps # kill collides with coreutils' to test https://github.com/NixOS/nixpkgs/issues/56432 - ]; - # TODO: remove if/when #267880 is merged and this is a default - services.logrotate.enable = false; - }; + { + programs.fish.enable = true; + environment.systemPackages = with pkgs; [ + coreutils + procps # kill collides with coreutils' to test https://github.com/NixOS/nixpkgs/issues/56432 + ]; + # TODO: remove if/when #267880 is merged and this is a default + services.logrotate.enable = false; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_file("/etc/fish/generated_completions/coreutils.fish") machine.wait_for_file("/etc/fish/generated_completions/kill.fish") @@ -23,4 +24,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { "fish -ic 'echo $fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions$'" ) ''; -}) + } +) diff --git a/nixos/tests/flannel.nix b/nixos/tests/flannel.nix index 7615732c20cac..738558e64afca 100644 --- a/nixos/tests/flannel.nix +++ b/nixos/tests/flannel.nix @@ -1,57 +1,66 @@ -import ./make-test-python.nix ({ lib, ...} : { - name = "flannel"; - - meta = with lib.maintainers; { - maintainers = [ offline ]; - }; - - nodes = let - flannelConfig = { pkgs, ... } : { - services.flannel = { - enable = true; - backend = { - Type = "udp"; - Port = 8285; - }; - network = "10.1.0.0/16"; - iface = "eth1"; - etcd.endpoints = ["http://etcd:2379"]; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "flannel"; - networking.firewall.allowedUDPPorts = [ 8285 ]; + meta = with lib.maintainers; { + maintainers = [ offline ]; }; - in { - etcd = { ... }: { - services = { - etcd = { - enable = true; - listenClientUrls = ["http://0.0.0.0:2379"]; # requires ip-address for binding - listenPeerUrls = ["http://0.0.0.0:2380"]; # requires ip-address for binding - advertiseClientUrls = ["http://etcd:2379"]; - initialAdvertisePeerUrls = ["http://etcd:2379"]; - initialCluster = ["etcd=http://etcd:2379"]; - }; - }; - networking.firewall.allowedTCPPorts = [ 2379 ]; - }; + nodes = + let + flannelConfig = + { pkgs, ... }: + { + services.flannel = { + enable = true; + backend = { + Type = "udp"; + Port = 8285; + }; + network = "10.1.0.0/16"; + iface = "eth1"; + etcd.endpoints = [ "http://etcd:2379" ]; + }; - node1 = flannelConfig; - node2 = flannelConfig; - }; + networking.firewall.allowedUDPPorts = [ 8285 ]; + }; + in + { + etcd = + { ... }: + { + services = { + etcd = { + enable = true; + listenClientUrls = [ "http://0.0.0.0:2379" ]; # requires ip-address for binding + listenPeerUrls = [ "http://0.0.0.0:2380" ]; # requires ip-address for binding + advertiseClientUrls = [ "http://etcd:2379" ]; + initialAdvertisePeerUrls = [ "http://etcd:2379" ]; + initialCluster = [ "etcd=http://etcd:2379" ]; + }; + }; + + networking.firewall.allowedTCPPorts = [ 2379 ]; + }; + + node1 = flannelConfig; + node2 = flannelConfig; + }; - testScript = '' - start_all() + testScript = '' + start_all() - node1.wait_for_unit("flannel.service") - node2.wait_for_unit("flannel.service") + node1.wait_for_unit("flannel.service") + node2.wait_for_unit("flannel.service") - node1.wait_until_succeeds("ip l show dev flannel0") - ip1 = node1.succeed("ip -4 addr show flannel0 | grep -oP '(?<=inet).*(?=/)'") - node2.wait_until_succeeds("ip l show dev flannel0") - ip2 = node2.succeed("ip -4 addr show flannel0 | grep -oP '(?<=inet).*(?=/)'") + node1.wait_until_succeeds("ip l show dev flannel0") + ip1 = node1.succeed("ip -4 addr show flannel0 | grep -oP '(?<=inet).*(?=/)'") + node2.wait_until_succeeds("ip l show dev flannel0") + ip2 = node2.succeed("ip -4 addr show flannel0 | grep -oP '(?<=inet).*(?=/)'") - node1.wait_until_succeeds(f"ping -c 1 {ip2}") - node2.wait_until_succeeds(f"ping -c 1 {ip1}") - ''; -}) + node1.wait_until_succeeds(f"ping -c 1 {ip2}") + node2.wait_until_succeeds(f"ping -c 1 {ip1}") + ''; + } +) diff --git a/nixos/tests/flood.nix b/nixos/tests/flood.nix index 075d37e62835f..ca3ef1d919a5b 100644 --- a/nixos/tests/flood.nix +++ b/nixos/tests/flood.nix @@ -1,27 +1,32 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - port = 3001; -in -{ - name = "flood"; - meta = { - maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; - }; - - nodes.machine = { pkgs, ... }: { - services.flood = { - inherit port; - enable = true; - openFirewall = true; - extraArgs = [ "--baseuri=/" ]; +import ./make-test-python.nix ( + { pkgs, ... }: + let + port = 3001; + in + { + name = "flood"; + meta = { + maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; }; - }; - testScript = /* python */ '' - machine.start() - machine.wait_for_unit("flood.service") - machine.wait_for_open_port(${toString port}) + nodes.machine = + { pkgs, ... }: + { + services.flood = { + inherit port; + enable = true; + openFirewall = true; + extraArgs = [ "--baseuri=/" ]; + }; + }; + + testScript = # python + '' + machine.start() + machine.wait_for_unit("flood.service") + machine.wait_for_open_port(${toString port}) - machine.succeed("curl --fail http://localhost:${toString port}") - ''; -}) + machine.succeed("curl --fail http://localhost:${toString port}") + ''; + } +) diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix index 150638f246f26..aa56db49dc536 100644 --- a/nixos/tests/fluentd.nix +++ b/nixos/tests/fluentd.nix @@ -1,49 +1,58 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "fluentd"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "fluentd"; - nodes.machine = { pkgs, ... }: { - services.fluentd = { - enable = true; - config = '' - - @type http - port 9880 - + nodes.machine = + { pkgs, ... }: + { + services.fluentd = { + enable = true; + config = '' + + @type http + port 9880 + - - type copy - - @type file - format json - path /tmp/fluentd - symlink_path /tmp/current-log - - - @type stdout - - - ''; - }; - }; + + type copy + + @type file + format json + path /tmp/fluentd + symlink_path /tmp/current-log + + + @type stdout + + + ''; + }; + }; - testScript = let - testMessage = "an example log message"; + testScript = + let + testMessage = "an example log message"; - payload = pkgs.writeText "test-message.json" (builtins.toJSON { - inherit testMessage; - }); - in '' - machine.start() - machine.wait_for_unit("fluentd.service") - machine.wait_for_open_port(9880) + payload = pkgs.writeText "test-message.json" ( + builtins.toJSON { + inherit testMessage; + } + ); + in + '' + machine.start() + machine.wait_for_unit("fluentd.service") + machine.wait_for_open_port(9880) - machine.succeed( - "curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag" - ) + machine.succeed( + "curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag" + ) - # blocking flush - machine.succeed("systemctl stop fluentd") + # blocking flush + machine.succeed("systemctl stop fluentd") - machine.succeed("grep '${testMessage}' /tmp/current-log") - ''; -}) + machine.succeed("grep '${testMessage}' /tmp/current-log") + ''; + } +) diff --git a/nixos/tests/fluidd.nix b/nixos/tests/fluidd.nix index 82a2c1e4049f3..94463fc74e490 100644 --- a/nixos/tests/fluidd.nix +++ b/nixos/tests/fluidd.nix @@ -1,19 +1,23 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "fluidd"; - meta.maintainers = with lib.maintainers; [ vtuan10 ]; + { + name = "fluidd"; + meta.maintainers = with lib.maintainers; [ vtuan10 ]; - nodes.machine = { pkgs, ... }: { - services.fluidd = { - enable = true; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.fluidd = { + enable = true; + }; + }; - testScript = '' - machine.start() - machine.wait_for_unit("nginx.service") - machine.wait_for_open_port(80) - machine.succeed("curl -sSfL http://localhost/ | grep 'fluidd'") - ''; -}) + testScript = '' + machine.start() + machine.wait_for_unit("nginx.service") + machine.wait_for_open_port(80) + machine.succeed("curl -sSfL http://localhost/ | grep 'fluidd'") + ''; + } +) diff --git a/nixos/tests/fontconfig-default-fonts.nix b/nixos/tests/fontconfig-default-fonts.nix index 293dc43f91f38..ce7f33201638e 100644 --- a/nixos/tests/fontconfig-default-fonts.nix +++ b/nixos/tests/fontconfig-default-fonts.nix @@ -1,32 +1,36 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "fontconfig-default-fonts"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "fontconfig-default-fonts"; - meta.maintainers = with lib.maintainers; [ - jtojnar - ]; - - nodes.machine = { config, pkgs, ... }: { - fonts.enableDefaultPackages = true; # Background fonts - fonts.packages = with pkgs; [ - noto-fonts-color-emoji - cantarell-fonts - twitter-color-emoji - source-code-pro - gentium + meta.maintainers = with lib.maintainers; [ + jtojnar ]; - fonts.fontconfig.defaultFonts = { - serif = [ "Gentium Plus" ]; - sansSerif = [ "Cantarell" ]; - monospace = [ "Source Code Pro" ]; - emoji = [ "Twitter Color Emoji" ]; - }; - }; - testScript = '' - machine.succeed("fc-match serif | grep '\"Gentium Plus\"'") - machine.succeed("fc-match sans-serif | grep '\"Cantarell\"'") - machine.succeed("fc-match monospace | grep '\"Source Code Pro\"'") - machine.succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'") - ''; -}) + nodes.machine = + { config, pkgs, ... }: + { + fonts.enableDefaultPackages = true; # Background fonts + fonts.packages = with pkgs; [ + noto-fonts-color-emoji + cantarell-fonts + twitter-color-emoji + source-code-pro + gentium + ]; + fonts.fontconfig.defaultFonts = { + serif = [ "Gentium Plus" ]; + sansSerif = [ "Cantarell" ]; + monospace = [ "Source Code Pro" ]; + emoji = [ "Twitter Color Emoji" ]; + }; + }; + + testScript = '' + machine.succeed("fc-match serif | grep '\"Gentium Plus\"'") + machine.succeed("fc-match sans-serif | grep '\"Cantarell\"'") + machine.succeed("fc-match monospace | grep '\"Source Code Pro\"'") + machine.succeed("fc-match emoji | grep '\"Twitter Color Emoji\"'") + ''; + } +) diff --git a/nixos/tests/forgejo.nix b/nixos/tests/forgejo.nix index 5e6f19e56df05..392b380b21c98 100644 --- a/nixos/tests/forgejo.nix +++ b/nixos/tests/forgejo.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } -, forgejoPackage ? pkgs.forgejo +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + forgejoPackage ? pkgs.forgejo, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -44,225 +45,247 @@ let metricSecret = "fakesecret"; - supportedDbTypes = [ "mysql" "postgres" "sqlite3" ]; - makeForgejoTest = type: nameValuePair type (makeTest { - name = "forgejo-${type}"; - meta.maintainers = with maintainers; [ bendlas emilylange ]; - - nodes = { - server = { config, pkgs, ... }: { - virtualisation.memorySize = 2047; - services.forgejo = { - enable = true; - package = forgejoPackage; - database = { inherit type; }; - settings.service.DISABLE_REGISTRATION = true; - settings."repository.signing".SIGNING_KEY = signingPrivateKeyId; - settings.actions.ENABLED = true; - settings.repository = { - ENABLE_PUSH_CREATE_USER = true; - DEFAULT_PUSH_CREATE_PRIVATE = false; - }; - settings.metrics.ENABLED = true; - secrets.metrics.TOKEN = pkgs.writeText "metrics_secret" metricSecret; - }; - environment.systemPackages = [ config.services.forgejo.package pkgs.gnupg pkgs.jq pkgs.file pkgs.htmlq ]; - services.openssh.enable = true; - - specialisation.runner = { - inheritParentConfig = true; - configuration.services.gitea-actions-runner = { - package = pkgs.forgejo-runner; - instances."test" = { + supportedDbTypes = [ + "mysql" + "postgres" + "sqlite3" + ]; + makeForgejoTest = + type: + nameValuePair type (makeTest { + name = "forgejo-${type}"; + meta.maintainers = with maintainers; [ + bendlas + emilylange + ]; + + nodes = { + server = + { config, pkgs, ... }: + { + virtualisation.memorySize = 2047; + services.forgejo = { enable = true; - name = "ci"; - url = "http://localhost:3000"; - labels = [ - # type ":host" does not depend on docker/podman/lxc - "native:host" - ]; - tokenFile = "/var/lib/forgejo/runner_token"; + package = forgejoPackage; + database = { inherit type; }; + settings.service.DISABLE_REGISTRATION = true; + settings."repository.signing".SIGNING_KEY = signingPrivateKeyId; + settings.actions.ENABLED = true; + settings.repository = { + ENABLE_PUSH_CREATE_USER = true; + DEFAULT_PUSH_CREATE_PRIVATE = false; + }; + settings.metrics.ENABLED = true; + secrets.metrics.TOKEN = pkgs.writeText "metrics_secret" metricSecret; + }; + environment.systemPackages = [ + config.services.forgejo.package + pkgs.gnupg + pkgs.jq + pkgs.file + pkgs.htmlq + ]; + services.openssh.enable = true; + + specialisation.runner = { + inheritParentConfig = true; + configuration.services.gitea-actions-runner = { + package = pkgs.forgejo-runner; + instances."test" = { + enable = true; + name = "ci"; + url = "http://localhost:3000"; + labels = [ + # type ":host" does not depend on docker/podman/lxc + "native:host" + ]; + tokenFile = "/var/lib/forgejo/runner_token"; + }; + }; + }; + specialisation.dump = { + inheritParentConfig = true; + configuration.services.forgejo.dump = { + enable = true; + type = "tar.zst"; + file = "dump.tar.zst"; + }; }; }; - }; - specialisation.dump = { - inheritParentConfig = true; - configuration.services.forgejo.dump = { - enable = true; - type = "tar.zst"; - file = "dump.tar.zst"; + client = + { ... }: + { + programs.git = { + enable = true; + config = { + user.email = "test@localhost"; + user.name = "test"; + init.defaultBranch = "main"; + }; + }; + programs.ssh.extraConfig = '' + Host * + StrictHostKeyChecking no + IdentityFile ~/.ssh/privk + ''; }; - }; }; - client = { ... }: { - programs.git = { - enable = true; - config = { - user.email = "test@localhost"; - user.name = "test"; - init.defaultBranch = "main"; - }; - }; - programs.ssh.extraConfig = '' - Host * - StrictHostKeyChecking no - IdentityFile ~/.ssh/privk + + testScript = + { nodes, ... }: + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; + serverSystem = nodes.server.system.build.toplevel; + dumpFile = + with nodes.server.specialisation.dump.configuration.services.forgejo.dump; + "${backupDir}/${file}"; + remoteUri = "forgejo@server:test/repo"; + remoteUriCheckoutAction = "forgejo@server:test/checkout"; + in + '' + import json + + start_all() + + client.succeed("mkdir -p ~/.ssh") + client.succeed("(umask 0077; cat ${snakeOilPrivateKey} > ~/.ssh/privk)") + + client.succeed("mkdir /tmp/repo") + client.succeed("git -C /tmp/repo init") + client.succeed("echo 'hello world' > /tmp/repo/testfile") + client.succeed("git -C /tmp/repo add .") + client.succeed("git -C /tmp/repo commit -m 'Initial import'") + client.succeed("git -C /tmp/repo remote add origin ${remoteUri}") + + server.wait_for_unit("forgejo.service") + server.wait_for_open_port(3000) + server.wait_for_open_port(22) + server.succeed("curl --fail http://localhost:3000/") + + server.succeed( + "su -l forgejo -c 'gpg --homedir /var/lib/forgejo/data/home/.gnupg " + + "--import ${toString (pkgs.writeText "forgejo.key" signingPrivateKey)}'" + ) + + assert "BEGIN PGP PUBLIC KEY BLOCK" in server.succeed("curl http://localhost:3000/api/v1/signing-key.gpg") + + api_version = json.loads(server.succeed("curl http://localhost:3000/api/forgejo/v1/version")).get("version") + assert "development" != api_version and "${forgejoPackage.version}+gitea-" in api_version, ( + "/api/forgejo/v1/version should not return 'development' " + + f"but should contain a forgejo+gitea compatibility version string. Got '{api_version}' instead." + ) + + server.succeed( + "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. " + + "Please contact your site administrator.'" + ) + server.succeed( + "su -l forgejo -c 'GITEA_WORK_DIR=/var/lib/forgejo gitea admin user create " + + "--username test --password totallysafe --email test@localhost --must-change-password=false'" + ) + + api_token = server.succeed( + "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d " + + "'{\"name\":\"token\",\"scopes\":[\"all\"]}' | jq '.sha1' | xargs echo -n" + ) + + server.succeed( + "curl --fail -X POST http://localhost:3000/api/v1/user/repos " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' " + + f"-H 'Authorization: token {api_token}'" + + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\''' + ) + + server.succeed( + "curl --fail -X POST http://localhost:3000/api/v1/user/keys " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' " + + f"-H 'Authorization: token {api_token}'" + + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\''' + ) + + client.succeed("git -C /tmp/repo push origin main") + + client.succeed("git clone ${remoteUri} /tmp/repo-clone") + print(client.succeed("ls -lash /tmp/repo-clone")) + assert "hello world" == client.succeed("cat /tmp/repo-clone/testfile").strip() + + with subtest("Testing git protocol version=2 over ssh"): + git_protocol = client.succeed("GIT_TRACE2_EVENT=true GIT_TRACE2_EVENT_NESTING=3 git -C /tmp/repo-clone fetch |& grep negotiated-version") + version = json.loads(git_protocol).get("value") + assert version == "2", f"git did not negotiate protocol version 2, but version {version} instead." + + server.wait_until_succeeds( + 'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits ' + + '-H "Accept: application/json" | jq length)" = "1"', + timeout=10 + ) + + with subtest("Testing /metrics endpoint with token from cfg.secrets"): + server.fail("curl --fail http://localhost:3000/metrics") + server.succeed('curl --fail http://localhost:3000/metrics -H "Authorization: Bearer ${metricSecret}"') + + with subtest("Testing runner registration and action workflow"): + server.succeed( + "su -l forgejo -c 'GITEA_WORK_DIR=/var/lib/forgejo gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/forgejo/runner_token" + ) + server.succeed("${serverSystem}/specialisation/runner/bin/switch-to-configuration test") + server.wait_for_unit("gitea-runner-test.service") + server.succeed("journalctl -o cat -u gitea-runner-test.service | grep -q 'Runner registered successfully'") + + # enable actions feature for this repository, defaults to disabled + server.succeed( + "curl --fail -X PATCH http://localhost:3000/api/v1/repos/test/repo " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' " + + f"-H 'Authorization: token {api_token}'" + + ' -d \'{"has_actions":true}\''' + ) + + # mirror "actions/checkout" action + client.succeed("cp -R ${checkoutActionSource}/ /tmp/checkout") + client.succeed("git -C /tmp/checkout init") + client.succeed("git -C /tmp/checkout add .") + client.succeed("git -C /tmp/checkout commit -m 'Initial import'") + client.succeed("git -C /tmp/checkout remote add origin ${remoteUriCheckoutAction}") + client.succeed("git -C /tmp/checkout push origin main") + + # push workflow to initial repo + client.succeed("mkdir -p /tmp/repo/.forgejo/workflows") + client.succeed("cp ${pkgs.writeText "dummy-workflow.yml" actionsWorkflowYaml} /tmp/repo/.forgejo/workflows/") + client.succeed("git -C /tmp/repo add .") + client.succeed("git -C /tmp/repo commit -m 'Add dummy workflow'") + client.succeed("git -C /tmp/repo push origin main") + + def poll_workflow_action_status(_) -> bool: + output = server.succeed( + "curl --fail http://localhost:3000/test/repo/actions | " + + 'htmlq ".flex-item-leading span" --attribute "data-tooltip-content"' + ).strip() + + # values taken from https://codeberg.org/forgejo/forgejo/src/commit/af47c583b4fb3190fa4c4c414500f9941cc02389/options/locale/locale_en-US.ini#L3649-L3661 + if output in [ "Failure", "Canceled", "Skipped", "Blocked" ]: + raise Exception(f"Workflow status is '{output}', which we consider failed.") + server.log(f"Command returned '{output}', which we consider failed.") + + elif output in [ "Unknown", "Waiting", "Running", "" ]: + server.log(f"Workflow status is '{output}'. Waiting some more...") + return False + + elif output in [ "Success" ]: + return True + + raise Exception(f"Workflow status is '{output}', which we don't know. Value mappings likely need updating.") + + with server.nested("Waiting for the workflow run to be successful"): + retry(poll_workflow_action_status) + + with subtest("Testing backup service"): + server.succeed("${serverSystem}/specialisation/dump/bin/switch-to-configuration test") + server.systemctl("start forgejo-dump") + assert "Zstandard compressed data" in server.succeed("file ${dumpFile}") + server.copy_from_vm("${dumpFile}") ''; - }; - }; - - testScript = { nodes, ... }: - let - inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - serverSystem = nodes.server.system.build.toplevel; - dumpFile = with nodes.server.specialisation.dump.configuration.services.forgejo.dump; "${backupDir}/${file}"; - remoteUri = "forgejo@server:test/repo"; - remoteUriCheckoutAction = "forgejo@server:test/checkout"; - in - '' - import json - - start_all() - - client.succeed("mkdir -p ~/.ssh") - client.succeed("(umask 0077; cat ${snakeOilPrivateKey} > ~/.ssh/privk)") - - client.succeed("mkdir /tmp/repo") - client.succeed("git -C /tmp/repo init") - client.succeed("echo 'hello world' > /tmp/repo/testfile") - client.succeed("git -C /tmp/repo add .") - client.succeed("git -C /tmp/repo commit -m 'Initial import'") - client.succeed("git -C /tmp/repo remote add origin ${remoteUri}") - - server.wait_for_unit("forgejo.service") - server.wait_for_open_port(3000) - server.wait_for_open_port(22) - server.succeed("curl --fail http://localhost:3000/") - - server.succeed( - "su -l forgejo -c 'gpg --homedir /var/lib/forgejo/data/home/.gnupg " - + "--import ${toString (pkgs.writeText "forgejo.key" signingPrivateKey)}'" - ) - - assert "BEGIN PGP PUBLIC KEY BLOCK" in server.succeed("curl http://localhost:3000/api/v1/signing-key.gpg") - - api_version = json.loads(server.succeed("curl http://localhost:3000/api/forgejo/v1/version")).get("version") - assert "development" != api_version and "${forgejoPackage.version}+gitea-" in api_version, ( - "/api/forgejo/v1/version should not return 'development' " - + f"but should contain a forgejo+gitea compatibility version string. Got '{api_version}' instead." - ) - - server.succeed( - "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. " - + "Please contact your site administrator.'" - ) - server.succeed( - "su -l forgejo -c 'GITEA_WORK_DIR=/var/lib/forgejo gitea admin user create " - + "--username test --password totallysafe --email test@localhost --must-change-password=false'" - ) - - api_token = server.succeed( - "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d " - + "'{\"name\":\"token\",\"scopes\":[\"all\"]}' | jq '.sha1' | xargs echo -n" - ) - - server.succeed( - "curl --fail -X POST http://localhost:3000/api/v1/user/repos " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' " - + f"-H 'Authorization: token {api_token}'" - + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\''' - ) - - server.succeed( - "curl --fail -X POST http://localhost:3000/api/v1/user/keys " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' " - + f"-H 'Authorization: token {api_token}'" - + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\''' - ) - - client.succeed("git -C /tmp/repo push origin main") - - client.succeed("git clone ${remoteUri} /tmp/repo-clone") - print(client.succeed("ls -lash /tmp/repo-clone")) - assert "hello world" == client.succeed("cat /tmp/repo-clone/testfile").strip() - - with subtest("Testing git protocol version=2 over ssh"): - git_protocol = client.succeed("GIT_TRACE2_EVENT=true GIT_TRACE2_EVENT_NESTING=3 git -C /tmp/repo-clone fetch |& grep negotiated-version") - version = json.loads(git_protocol).get("value") - assert version == "2", f"git did not negotiate protocol version 2, but version {version} instead." - - server.wait_until_succeeds( - 'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits ' - + '-H "Accept: application/json" | jq length)" = "1"', - timeout=10 - ) - - with subtest("Testing /metrics endpoint with token from cfg.secrets"): - server.fail("curl --fail http://localhost:3000/metrics") - server.succeed('curl --fail http://localhost:3000/metrics -H "Authorization: Bearer ${metricSecret}"') - - with subtest("Testing runner registration and action workflow"): - server.succeed( - "su -l forgejo -c 'GITEA_WORK_DIR=/var/lib/forgejo gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/forgejo/runner_token" - ) - server.succeed("${serverSystem}/specialisation/runner/bin/switch-to-configuration test") - server.wait_for_unit("gitea-runner-test.service") - server.succeed("journalctl -o cat -u gitea-runner-test.service | grep -q 'Runner registered successfully'") - - # enable actions feature for this repository, defaults to disabled - server.succeed( - "curl --fail -X PATCH http://localhost:3000/api/v1/repos/test/repo " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' " - + f"-H 'Authorization: token {api_token}'" - + ' -d \'{"has_actions":true}\''' - ) - - # mirror "actions/checkout" action - client.succeed("cp -R ${checkoutActionSource}/ /tmp/checkout") - client.succeed("git -C /tmp/checkout init") - client.succeed("git -C /tmp/checkout add .") - client.succeed("git -C /tmp/checkout commit -m 'Initial import'") - client.succeed("git -C /tmp/checkout remote add origin ${remoteUriCheckoutAction}") - client.succeed("git -C /tmp/checkout push origin main") - - # push workflow to initial repo - client.succeed("mkdir -p /tmp/repo/.forgejo/workflows") - client.succeed("cp ${pkgs.writeText "dummy-workflow.yml" actionsWorkflowYaml} /tmp/repo/.forgejo/workflows/") - client.succeed("git -C /tmp/repo add .") - client.succeed("git -C /tmp/repo commit -m 'Add dummy workflow'") - client.succeed("git -C /tmp/repo push origin main") - - def poll_workflow_action_status(_) -> bool: - output = server.succeed( - "curl --fail http://localhost:3000/test/repo/actions | " - + 'htmlq ".flex-item-leading span" --attribute "data-tooltip-content"' - ).strip() - - # values taken from https://codeberg.org/forgejo/forgejo/src/commit/af47c583b4fb3190fa4c4c414500f9941cc02389/options/locale/locale_en-US.ini#L3649-L3661 - if output in [ "Failure", "Canceled", "Skipped", "Blocked" ]: - raise Exception(f"Workflow status is '{output}', which we consider failed.") - server.log(f"Command returned '{output}', which we consider failed.") - - elif output in [ "Unknown", "Waiting", "Running", "" ]: - server.log(f"Workflow status is '{output}'. Waiting some more...") - return False - - elif output in [ "Success" ]: - return True - - raise Exception(f"Workflow status is '{output}', which we don't know. Value mappings likely need updating.") - - with server.nested("Waiting for the workflow run to be successful"): - retry(poll_workflow_action_status) - - with subtest("Testing backup service"): - server.succeed("${serverSystem}/specialisation/dump/bin/switch-to-configuration test") - server.systemctl("start forgejo-dump") - assert "Zstandard compressed data" in server.succeed("file ${dumpFile}") - server.copy_from_vm("${dumpFile}") - ''; - }); + }); in listToAttrs (map makeForgejoTest supportedDbTypes) diff --git a/nixos/tests/freenet.nix b/nixos/tests/freenet.nix index 96dbb4caa1293..8f6caf8160ca0 100644 --- a/nixos/tests/freenet.nix +++ b/nixos/tests/freenet.nix @@ -1,19 +1,24 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "freenet"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nagy ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "freenet"; + meta = with pkgs.lib.maintainers; { + maintainers = [ nagy ]; + }; - nodes = { - machine = { ... }: { - services.freenet.enable = true; + nodes = { + machine = + { ... }: + { + services.freenet.enable = true; + }; }; - }; - testScript = '' - machine.wait_for_unit("freenet.service") - machine.wait_for_open_port(8888) - machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet") - machine.succeed("systemctl stop freenet") - ''; -}) + testScript = '' + machine.wait_for_unit("freenet.service") + machine.wait_for_open_port(8888) + machine.wait_until_succeeds("curl -sfL http://localhost:8888/ | grep Freenet") + machine.succeed("systemctl stop freenet") + ''; + } +) diff --git a/nixos/tests/freeswitch.nix b/nixos/tests/freeswitch.nix index bfb7339ec3c0d..91f25244c9a42 100644 --- a/nixos/tests/freeswitch.nix +++ b/nixos/tests/freeswitch.nix @@ -1,29 +1,34 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "freeswitch"; - meta = with pkgs.lib.maintainers; { - maintainers = [ misuzu ]; - }; - nodes = { - node0 = { config, lib, ... }: { - networking.useDHCP = false; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { - address = "192.168.0.1"; - prefixLength = 24; - } - ]; - }; - services.freeswitch = { - enable = true; - enableReload = true; - configTemplate = "${config.services.freeswitch.package}/share/freeswitch/conf/minimal"; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "freeswitch"; + meta = with pkgs.lib.maintainers; { + maintainers = [ misuzu ]; }; - }; - testScript = '' - node0.wait_for_unit("freeswitch.service") - # Wait for SIP port to be open - node0.wait_for_open_port(5060) - ''; -}) + nodes = { + node0 = + { config, lib, ... }: + { + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + ]; + }; + services.freeswitch = { + enable = true; + enableReload = true; + configTemplate = "${config.services.freeswitch.package}/share/freeswitch/conf/minimal"; + }; + }; + }; + testScript = '' + node0.wait_for_unit("freeswitch.service") + # Wait for SIP port to be open + node0.wait_for_open_port(5060) + ''; + } +) diff --git a/nixos/tests/freetube.nix b/nixos/tests/freetube.nix index c886f1ee116e3..1d4b59a031027 100644 --- a/nixos/tests/freetube.nix +++ b/nixos/tests/freetube.nix @@ -1,43 +1,56 @@ let tests = { - wayland = { pkgs, ... }: { - imports = [ ./common/wayland-cage.nix ]; - services.cage.program = "${pkgs.freetube}/bin/freetube"; - virtualisation.memorySize = 2047; - environment.variables.NIXOS_OZONE_WL = "1"; - environment.variables.DISPLAY = "do not use"; - }; - xorg = { pkgs, ... }: { - imports = [ ./common/user-account.nix ./common/x11.nix ]; - virtualisation.memorySize = 2047; - services.xserver.enable = true; - services.xserver.displayManager.sessionCommands = '' - ${pkgs.freetube}/bin/freetube - ''; - test-support.displayManager.auto.user = "alice"; - }; + wayland = + { pkgs, ... }: + { + imports = [ ./common/wayland-cage.nix ]; + services.cage.program = "${pkgs.freetube}/bin/freetube"; + virtualisation.memorySize = 2047; + environment.variables.NIXOS_OZONE_WL = "1"; + environment.variables.DISPLAY = "do not use"; + }; + xorg = + { pkgs, ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + virtualisation.memorySize = 2047; + services.xserver.enable = true; + services.xserver.displayManager.sessionCommands = '' + ${pkgs.freetube}/bin/freetube + ''; + test-support.displayManager.auto.user = "alice"; + }; }; - mkTest = name: machine: - import ./make-test-python.nix ({ pkgs, ... }: { - inherit name; - nodes = { "${name}" = machine; }; - meta.maintainers = with pkgs.lib.maintainers; [ kirillrdy ]; - # time-out on ofborg - meta.broken = pkgs.stdenv.hostPlatform.isAarch64; - enableOCR = true; + mkTest = + name: machine: + import ./make-test-python.nix ( + { pkgs, ... }: + { + inherit name; + nodes = { + "${name}" = machine; + }; + meta.maintainers = with pkgs.lib.maintainers; [ kirillrdy ]; + # time-out on ofborg + meta.broken = pkgs.stdenv.hostPlatform.isAarch64; + enableOCR = true; - testScript = '' - start_all() - machine.wait_for_unit('graphical.target') - machine.wait_for_text('Your Subscription list is currently empty') - machine.send_key("ctrl-r") - machine.wait_for_text('Your Subscription list is currently empty') - machine.screenshot("main.png") - machine.send_key("ctrl-comma") - machine.wait_for_text('Data', timeout=60) - machine.screenshot("preferences.png") - ''; - }); + testScript = '' + start_all() + machine.wait_for_unit('graphical.target') + machine.wait_for_text('Your Subscription list is currently empty') + machine.send_key("ctrl-r") + machine.wait_for_text('Your Subscription list is currently empty') + machine.screenshot("main.png") + machine.send_key("ctrl-comma") + machine.wait_for_text('Data', timeout=60) + machine.screenshot("preferences.png") + ''; + } + ); in builtins.mapAttrs (k: v: mkTest k v) tests diff --git a/nixos/tests/freshrss-extensions.nix b/nixos/tests/freshrss-extensions.nix index f3e893b3b5a87..3de954260fdc2 100644 --- a/nixos/tests/freshrss-extensions.nix +++ b/nixos/tests/freshrss-extensions.nix @@ -1,19 +1,24 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "freshrss"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "freshrss"; - nodes.machine = { pkgs, ... }: { - services.freshrss = { - enable = true; - baseUrl = "http://localhost"; - authType = "none"; - extensions = [ pkgs.freshrss-extensions.youtube ]; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.freshrss = { + enable = true; + baseUrl = "http://localhost"; + authType = "none"; + extensions = [ pkgs.freshrss-extensions.youtube ]; + }; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(80) - response = machine.succeed("curl -vvv -s http://127.0.0.1:80/i/?c=extension") - assert 'YouTube Video Feed' in response, "Extension not present in extensions page." - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(80) + response = machine.succeed("curl -vvv -s http://127.0.0.1:80/i/?c=extension") + assert 'YouTube Video Feed' in response, "Extension not present in extensions page." + ''; + } +) diff --git a/nixos/tests/freshrss-http-auth.nix b/nixos/tests/freshrss-http-auth.nix index d0ec3da316896..4fcacc22d3083 100644 --- a/nixos/tests/freshrss-http-auth.nix +++ b/nixos/tests/freshrss-http-auth.nix @@ -1,20 +1,25 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "freshrss"; - meta.maintainers = with lib.maintainers; [ mattchrist ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "freshrss"; + meta.maintainers = with lib.maintainers; [ mattchrist ]; - nodes.machine = { pkgs, ... }: { - services.freshrss = { - enable = true; - baseUrl = "http://localhost"; - dataDir = "/srv/freshrss"; - authType = "http_auth"; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.freshrss = { + enable = true; + baseUrl = "http://localhost"; + dataDir = "/srv/freshrss"; + authType = "http_auth"; + }; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(80) - response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://127.0.0.1:80/i/") - assert 'Account: testuser' in response, "http_auth method didn't work." - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(80) + response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://127.0.0.1:80/i/") + assert 'Account: testuser' in response, "http_auth method didn't work." + ''; + } +) diff --git a/nixos/tests/freshrss-none-auth.nix b/nixos/tests/freshrss-none-auth.nix index fd63470386a05..0dc484dd535a1 100644 --- a/nixos/tests/freshrss-none-auth.nix +++ b/nixos/tests/freshrss-none-auth.nix @@ -1,19 +1,24 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "freshrss"; - meta.maintainers = with lib.maintainers; [ mattchrist ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "freshrss"; + meta.maintainers = with lib.maintainers; [ mattchrist ]; - nodes.machine = { pkgs, ... }: { - services.freshrss = { - enable = true; - baseUrl = "http://localhost"; - authType = "none"; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.freshrss = { + enable = true; + baseUrl = "http://localhost"; + authType = "none"; + }; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(80) - response = machine.succeed("curl -vvv -s http://127.0.0.1:80/i/") - assert 'Main stream · FreshRSS' in response, "FreshRSS stream page didn't load successfully" - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(80) + response = machine.succeed("curl -vvv -s http://127.0.0.1:80/i/") + assert 'Main stream · FreshRSS' in response, "FreshRSS stream page didn't load successfully" + ''; + } +) diff --git a/nixos/tests/freshrss-pgsql.nix b/nixos/tests/freshrss-pgsql.nix index c685f4a8159b8..678633dea1d62 100644 --- a/nixos/tests/freshrss-pgsql.nix +++ b/nixos/tests/freshrss-pgsql.nix @@ -1,46 +1,54 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "freshrss"; - meta.maintainers = with lib.maintainers; [ etu stunkymonkey ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "freshrss"; + meta.maintainers = with lib.maintainers; [ + etu + stunkymonkey + ]; - nodes.machine = { pkgs, ... }: { - services.freshrss = { - enable = true; - baseUrl = "http://localhost"; - passwordFile = pkgs.writeText "password" "secret"; - dataDir = "/srv/freshrss"; - database = { - type = "pgsql"; - port = 5432; - user = "freshrss"; - passFile = pkgs.writeText "db-password" "db-secret"; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.freshrss = { + enable = true; + baseUrl = "http://localhost"; + passwordFile = pkgs.writeText "password" "secret"; + dataDir = "/srv/freshrss"; + database = { + type = "pgsql"; + port = 5432; + user = "freshrss"; + passFile = pkgs.writeText "db-password" "db-secret"; + }; + }; - services.postgresql = { - enable = true; - ensureDatabases = [ "freshrss" ]; - ensureUsers = [ - { - name = "freshrss"; - ensureDBOwnership = true; - } - ]; - initialScript = pkgs.writeText "postgresql-password" '' - CREATE ROLE freshrss WITH LOGIN PASSWORD 'db-secret' CREATEDB; - ''; - }; + services.postgresql = { + enable = true; + ensureDatabases = [ "freshrss" ]; + ensureUsers = [ + { + name = "freshrss"; + ensureDBOwnership = true; + } + ]; + initialScript = pkgs.writeText "postgresql-password" '' + CREATE ROLE freshrss WITH LOGIN PASSWORD 'db-secret' CREATEDB; + ''; + }; - systemd.services."freshrss-config" = { - requires = [ "postgresql.service" ]; - after = [ "postgresql.service" ]; - }; - }; + systemd.services."freshrss-config" = { + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + }; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(5432) - machine.wait_for_open_port(80) - response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://127.0.0.1:80/i/") - assert 'Login · FreshRSS' in response, "Login page didn't load successfully" - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(5432) + machine.wait_for_open_port(80) + response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://127.0.0.1:80/i/") + assert 'Login · FreshRSS' in response, "Login page didn't load successfully" + ''; + } +) diff --git a/nixos/tests/freshrss-sqlite.nix b/nixos/tests/freshrss-sqlite.nix index b821c98a7e7ac..c72ab93ca73dd 100644 --- a/nixos/tests/freshrss-sqlite.nix +++ b/nixos/tests/freshrss-sqlite.nix @@ -1,20 +1,28 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "freshrss"; - meta.maintainers = with lib.maintainers; [ etu stunkymonkey ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "freshrss"; + meta.maintainers = with lib.maintainers; [ + etu + stunkymonkey + ]; - nodes.machine = { pkgs, ... }: { - services.freshrss = { - enable = true; - baseUrl = "http://localhost"; - passwordFile = pkgs.writeText "password" "secret"; - dataDir = "/srv/freshrss"; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.freshrss = { + enable = true; + baseUrl = "http://localhost"; + passwordFile = pkgs.writeText "password" "secret"; + dataDir = "/srv/freshrss"; + }; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(80) - response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://127.0.0.1:80/i/") - assert 'Login · FreshRSS' in response, "Login page didn't load successfully" - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(80) + response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://127.0.0.1:80/i/") + assert 'Login · FreshRSS' in response, "Login page didn't load successfully" + ''; + } +) diff --git a/nixos/tests/frigate.nix b/nixos/tests/frigate.nix index ecbc68d364316..156d8d8cf9168 100644 --- a/nixos/tests/frigate.nix +++ b/nixos/tests/frigate.nix @@ -1,72 +1,76 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : +import ./make-test-python.nix ( + { pkgs, lib, ... }: -{ - name = "frigate"; - meta.maintainers = with lib.maintainers; [ hexa ]; + { + name = "frigate"; + meta.maintainers = with lib.maintainers; [ hexa ]; - nodes = { - machine = { - services.frigate = { - enable = true; + nodes = { + machine = { + services.frigate = { + enable = true; - hostname = "localhost"; + hostname = "localhost"; - settings = { - mqtt.enabled = false; + settings = { + mqtt.enabled = false; - cameras.test = { - ffmpeg = { - input_args = "-fflags nobuffer -strict experimental -fflags +genpts+discardcorrupt -r 10 -use_wallclock_as_timestamps 1"; - inputs = [ { - path = "http://127.0.0.1:8080"; - roles = [ - "record" + cameras.test = { + ffmpeg = { + input_args = "-fflags nobuffer -strict experimental -fflags +genpts+discardcorrupt -r 10 -use_wallclock_as_timestamps 1"; + inputs = [ + { + path = "http://127.0.0.1:8080"; + roles = [ + "record" + ]; + } ]; - } ]; + }; }; - }; - record.enabled = true; + record.enabled = true; + }; }; - }; - systemd.services.video-stream = { - description = "Start a test stream that frigate can capture"; - before = [ - "frigate.service" - ]; - wantedBy = [ - "multi-user.target" - ]; - serviceConfig = { - DynamicUser = true; - ExecStart = "${lib.getExe pkgs.ffmpeg-headless} -re -f lavfi -i smptebars=size=1280x720:rate=5 -f mpegts -listen 1 http://0.0.0.0:8080"; - Restart = "always"; + systemd.services.video-stream = { + description = "Start a test stream that frigate can capture"; + before = [ + "frigate.service" + ]; + wantedBy = [ + "multi-user.target" + ]; + serviceConfig = { + DynamicUser = true; + ExecStart = "${lib.getExe pkgs.ffmpeg-headless} -re -f lavfi -i smptebars=size=1280x720:rate=5 -f mpegts -listen 1 http://0.0.0.0:8080"; + Restart = "always"; + }; }; - }; - environment.systemPackages = with pkgs; [ httpie ]; + environment.systemPackages = with pkgs; [ httpie ]; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # wait until frigate is up - machine.wait_for_unit("frigate.service") - machine.wait_for_open_port(5001) + # wait until frigate is up + machine.wait_for_unit("frigate.service") + machine.wait_for_open_port(5001) - # extract admin password from logs - machine.wait_until_succeeds("journalctl -u frigate.service -o cat | grep -q 'Password: '") - password = machine.execute("journalctl -u frigate.service -o cat | grep -oP '([a-f0-9]{32})'")[1] + # extract admin password from logs + machine.wait_until_succeeds("journalctl -u frigate.service -o cat | grep -q 'Password: '") + password = machine.execute("journalctl -u frigate.service -o cat | grep -oP '([a-f0-9]{32})'")[1] - # login and store session - machine.log(machine.succeed(f"http --check-status --session=frigate post http://localhost/api/login user=admin password={password}")) + # login and store session + machine.log(machine.succeed(f"http --check-status --session=frigate post http://localhost/api/login user=admin password={password}")) - # make authenticated api requested - machine.log(machine.succeed("http --check-status --session=frigate get http://localhost/api/version")) + # make authenticated api requested + machine.log(machine.succeed("http --check-status --session=frigate get http://localhost/api/version")) - # wait for a recording to appear - machine.wait_for_file("/var/cache/frigate/test@*.mp4") - ''; -}) + # wait for a recording to appear + machine.wait_for_file("/var/cache/frigate/test@*.mp4") + ''; + } +) diff --git a/nixos/tests/frp.nix b/nixos/tests/frp.nix index 717e8718721ce..8771ab8ad224c 100644 --- a/nixos/tests/frp.nix +++ b/nixos/tests/frp.nix @@ -1,85 +1,87 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "frp"; - meta.maintainers = with lib.maintainers; [ zaldnoay ]; - nodes = { - frps = { - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.1/24"; - }; - - services.frp = { - enable = true; - role = "server"; - settings = { - bindPort = 7000; - vhostHTTPPort = 80; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "frp"; + meta.maintainers = with lib.maintainers; [ zaldnoay ]; + nodes = { + frps = { + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; }; - }; - }; + systemd.network.networks."01-eth1" = { + name = "eth1"; + networkConfig.Address = "10.0.0.1/24"; + }; - frpc = { - networking = { - useNetworkd = true; - useDHCP = false; + services.frp = { + enable = true; + role = "server"; + settings = { + bindPort = 7000; + vhostHTTPPort = 80; + }; + }; }; - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.2/24"; - }; + frpc = { + networking = { + useNetworkd = true; + useDHCP = false; + }; - services.httpd = { - enable = true; - adminAddr = "admin@example.com"; - virtualHosts."test-appication" = - let - testdir = pkgs.writeTextDir "web/index.php" " /home/alice/world") - logout() - # Wait for logout to be processed - machine.sleep(1) - - with subtest("File should not be readable without being logged in as alice"): - machine.fail("cat /home/alice/world") - - with subtest("File should be readable again as alice"): - login_as_alice() - machine.succeed("cat /home/alice/world") - logout() - ''; -}) +import ./make-test-python.nix ( + { ... }: + { + name = "fscrypt"; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + security.pam.enableFscrypt = true; + }; + + testScript = '' + def login_as_alice(): + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("foobar\n") + machine.wait_until_tty_matches("1", "alice\@machine") + + + def logout(): + machine.send_chars("logout\n") + machine.wait_until_tty_matches("1", "login: ") + + + machine.wait_for_unit("default.target") + + with subtest("Enable fscrypt on filesystem"): + machine.succeed("tune2fs -O encrypt /dev/vda") + machine.succeed("fscrypt setup --quiet --force --time=1ms") + + with subtest("Set up alice with an fscrypt-enabled home directory"): + machine.succeed("(echo foobar; echo foobar) | passwd alice") + machine.succeed("chown -R alice.users ~alice") + machine.succeed("echo foobar | fscrypt encrypt --skip-unlock --source=pam_passphrase --user=alice /home/alice") + + with subtest("Create file as alice"): + login_as_alice() + machine.succeed("echo hello > /home/alice/world") + logout() + # Wait for logout to be processed + machine.sleep(1) + + with subtest("File should not be readable without being logged in as alice"): + machine.fail("cat /home/alice/world") + + with subtest("File should be readable again as alice"): + login_as_alice() + machine.succeed("cat /home/alice/world") + logout() + ''; + } +) diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix index 813e258cd2bec..012432bb3f842 100644 --- a/nixos/tests/ft2-clone.nix +++ b/nixos/tests/ft2-clone.nix @@ -1,20 +1,23 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "ft2-clone"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ft2-clone"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; - environment.systemPackages = [ pkgs.ft2-clone ]; - }; + nodes.machine = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; + environment.systemPackages = [ pkgs.ft2-clone ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") @@ -26,4 +29,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_text(r"(Songlen|Repstart|Time|About|Nibbles|Help)") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/garage/basic.nix b/nixos/tests/garage/basic.nix index 88d747ea33b9f..c6264d2cbc9fa 100644 --- a/nixos/tests/garage/basic.nix +++ b/nixos/tests/garage/basic.nix @@ -1,98 +1,106 @@ args@{ mkNode, ver, ... }: -(import ../make-test-python.nix ({ pkgs, ...} : { - name = "garage-basic"; - meta = { - maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; - }; - - nodes = { - single_node = mkNode { replicationMode = "none"; }; - }; - - testScript = '' - from typing import List - from dataclasses import dataclass - import re - - start_all() - - cur_version_regex = re.compile('Current cluster layout version: (?P\d*)') - key_creation_regex = re.compile('Key name: (?P.*)\nKey ID: (?P.*)\nSecret key: (?P.*)') - - @dataclass - class S3Key: - key_name: str - key_id: str - secret_key: str - - @dataclass - class GarageNode: - node_id: str - host: str - - def get_node_fqn(machine: Machine) -> GarageNode: - node_id, host = machine.succeed("garage node id").split('@') - return GarageNode(node_id=node_id, host=host) - - def get_node_id(machine: Machine) -> str: - return get_node_fqn(machine).node_id - - def get_layout_version(machine: Machine) -> int: - version_data = machine.succeed("garage layout show") - m = cur_version_regex.search(version_data) - if m and m.group('ver') is not None: - return int(m.group('ver')) + 1 - else: - raise ValueError('Cannot find current layout version') - - def apply_garage_layout(machine: Machine, layouts: List[str]): - for layout in layouts: - machine.succeed(f"garage layout assign {layout}") - version = get_layout_version(machine) - machine.succeed(f"garage layout apply --version {version}") - - def create_api_key(machine: Machine, key_name: str) -> S3Key: - output = machine.succeed(f"garage key ${if ver == "0_8" then "new --name" else "create"} {key_name}") - m = key_creation_regex.match(output) - if not m or not m.group('key_id') or not m.group('secret_key'): - raise ValueError('Cannot parse API key data') - return S3Key(key_name=key_name, key_id=m.group('key_id'), secret_key=m.group('secret_key')) - - def get_api_key(machine: Machine, key_pattern: str) -> S3Key: - output = machine.succeed(f"garage key info {key_pattern}") - m = key_creation_regex.match(output) - if not m or not m.group('key_name') or not m.group('key_id') or not m.group('secret_key'): - raise ValueError('Cannot parse API key data') - return S3Key(key_name=m.group('key_name'), key_id=m.group('key_id'), secret_key=m.group('secret_key')) - - def test_bucket_writes(node): - node.succeed("garage bucket create test-bucket") - s3_key = create_api_key(node, "test-api-key") - node.succeed("garage bucket allow --read --write test-bucket --key test-api-key") - other_s3_key = get_api_key(node, 'test-api-key') - assert other_s3_key.secret_key == other_s3_key.secret_key - node.succeed( - f"mc alias set test-garage http://[::1]:3900 {s3_key.key_id} {s3_key.secret_key} --api S3v4" - ) - node.succeed("echo test | mc pipe test-garage/test-bucket/test.txt") - assert node.succeed("mc cat test-garage/test-bucket/test.txt").strip() == "test" - - def test_bucket_over_http(node, bucket='test-bucket', url=None): - if url is None: - url = f"{bucket}.web.garage" - - node.succeed(f'garage bucket website --allow {bucket}') - node.succeed(f'echo hello world | mc pipe test-garage/{bucket}/index.html') - assert (node.succeed(f"curl -H 'Host: {url}' http://localhost:3902")).strip() == 'hello world' - - with subtest("Garage works as a single-node S3 storage"): - single_node.wait_for_unit("garage.service") - single_node.wait_for_open_port(3900) - # Now Garage is initialized. - single_node_id = get_node_id(single_node) - apply_garage_layout(single_node, [f'-z qemutest -c ${if ver == "0_8" then "1" else "1G"} "{single_node_id}"']) - # Now Garage is operational. - test_bucket_writes(single_node) - test_bucket_over_http(single_node) - ''; -})) args +(import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "garage-basic"; + meta = { + maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + }; + + nodes = { + single_node = mkNode { replicationMode = "none"; }; + }; + + testScript = '' + from typing import List + from dataclasses import dataclass + import re + + start_all() + + cur_version_regex = re.compile('Current cluster layout version: (?P\d*)') + key_creation_regex = re.compile('Key name: (?P.*)\nKey ID: (?P.*)\nSecret key: (?P.*)') + + @dataclass + class S3Key: + key_name: str + key_id: str + secret_key: str + + @dataclass + class GarageNode: + node_id: str + host: str + + def get_node_fqn(machine: Machine) -> GarageNode: + node_id, host = machine.succeed("garage node id").split('@') + return GarageNode(node_id=node_id, host=host) + + def get_node_id(machine: Machine) -> str: + return get_node_fqn(machine).node_id + + def get_layout_version(machine: Machine) -> int: + version_data = machine.succeed("garage layout show") + m = cur_version_regex.search(version_data) + if m and m.group('ver') is not None: + return int(m.group('ver')) + 1 + else: + raise ValueError('Cannot find current layout version') + + def apply_garage_layout(machine: Machine, layouts: List[str]): + for layout in layouts: + machine.succeed(f"garage layout assign {layout}") + version = get_layout_version(machine) + machine.succeed(f"garage layout apply --version {version}") + + def create_api_key(machine: Machine, key_name: str) -> S3Key: + output = machine.succeed(f"garage key ${ + if ver == "0_8" then "new --name" else "create" + } {key_name}") + m = key_creation_regex.match(output) + if not m or not m.group('key_id') or not m.group('secret_key'): + raise ValueError('Cannot parse API key data') + return S3Key(key_name=key_name, key_id=m.group('key_id'), secret_key=m.group('secret_key')) + + def get_api_key(machine: Machine, key_pattern: str) -> S3Key: + output = machine.succeed(f"garage key info {key_pattern}") + m = key_creation_regex.match(output) + if not m or not m.group('key_name') or not m.group('key_id') or not m.group('secret_key'): + raise ValueError('Cannot parse API key data') + return S3Key(key_name=m.group('key_name'), key_id=m.group('key_id'), secret_key=m.group('secret_key')) + + def test_bucket_writes(node): + node.succeed("garage bucket create test-bucket") + s3_key = create_api_key(node, "test-api-key") + node.succeed("garage bucket allow --read --write test-bucket --key test-api-key") + other_s3_key = get_api_key(node, 'test-api-key') + assert other_s3_key.secret_key == other_s3_key.secret_key + node.succeed( + f"mc alias set test-garage http://[::1]:3900 {s3_key.key_id} {s3_key.secret_key} --api S3v4" + ) + node.succeed("echo test | mc pipe test-garage/test-bucket/test.txt") + assert node.succeed("mc cat test-garage/test-bucket/test.txt").strip() == "test" + + def test_bucket_over_http(node, bucket='test-bucket', url=None): + if url is None: + url = f"{bucket}.web.garage" + + node.succeed(f'garage bucket website --allow {bucket}') + node.succeed(f'echo hello world | mc pipe test-garage/{bucket}/index.html') + assert (node.succeed(f"curl -H 'Host: {url}' http://localhost:3902")).strip() == 'hello world' + + with subtest("Garage works as a single-node S3 storage"): + single_node.wait_for_unit("garage.service") + single_node.wait_for_open_port(3900) + # Now Garage is initialized. + single_node_id = get_node_id(single_node) + apply_garage_layout(single_node, [f'-z qemutest -c ${ + if ver == "0_8" then "1" else "1G" + } "{single_node_id}"']) + # Now Garage is operational. + test_bucket_writes(single_node) + test_bucket_over_http(single_node) + ''; + } +)) + args diff --git a/nixos/tests/garage/default.nix b/nixos/tests/garage/default.nix index b7f9bb4b865bd..cd2824d26ecd5 100644 --- a/nixos/tests/garage/default.nix +++ b/nixos/tests/garage/default.nix @@ -1,17 +1,30 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: with pkgs.lib; let - mkNode = package: { replicationMode, publicV6Address ? "::1" }: { pkgs, ... }: { - networking.interfaces.eth1.ipv6.addresses = [{ - address = publicV6Address; - prefixLength = 64; - }]; + mkNode = + package: + { + replicationMode, + publicV6Address ? "::1", + }: + { pkgs, ... }: + { + networking.interfaces.eth1.ipv6.addresses = [ + { + address = publicV6Address; + prefixLength = 64; + } + ]; - networking.firewall.allowedTCPPorts = [ 3901 3902 ]; + networking.firewall.allowedTCPPorts = [ + 3901 + 3902 + ]; services.garage = { enable = true; @@ -42,12 +55,22 @@ let virtualisation.diskSize = 2 * 1024; }; in - foldl - (matrix: ver: matrix // { - "basic${toString ver}" = import ./basic.nix { inherit system pkgs ver; mkNode = mkNode pkgs."garage_${ver}"; }; - "with-3node-replication${toString ver}" = import ./with-3node-replication.nix { inherit system pkgs ver; mkNode = mkNode pkgs."garage_${ver}"; }; - }) - {} +foldl + ( + matrix: ver: + matrix + // { + "basic${toString ver}" = import ./basic.nix { + inherit system pkgs ver; + mkNode = mkNode pkgs."garage_${ver}"; + }; + "with-3node-replication${toString ver}" = import ./with-3node-replication.nix { + inherit system pkgs ver; + mkNode = mkNode pkgs."garage_${ver}"; + }; + } + ) + { } [ "0_8" "0_9" diff --git a/nixos/tests/garage/with-3node-replication.nix b/nixos/tests/garage/with-3node-replication.nix index 266a1082893f7..a2f4189603b04 100644 --- a/nixos/tests/garage/with-3node-replication.nix +++ b/nixos/tests/garage/with-3node-replication.nix @@ -1,121 +1,138 @@ args@{ mkNode, ver, ... }: -(import ../make-test-python.nix ({ pkgs, ...} : -{ - name = "garage-3node-replication"; - meta = { - maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; - }; - - nodes = { - node1 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::1"; }; - node2 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::2"; }; - node3 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::3"; }; - node4 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::4"; }; - }; - - testScript = '' - from typing import List - from dataclasses import dataclass - import re - start_all() - - cur_version_regex = re.compile('Current cluster layout version: (?P\d*)') - key_creation_regex = re.compile('Key name: (?P.*)\nKey ID: (?P.*)\nSecret key: (?P.*)') - - @dataclass - class S3Key: - key_name: str - key_id: str - secret_key: str - - @dataclass - class GarageNode: - node_id: str - host: str - - def get_node_fqn(machine: Machine) -> GarageNode: - node_id, host = machine.succeed("garage node id").split('@') - return GarageNode(node_id=node_id, host=host) - - def get_node_id(machine: Machine) -> str: - return get_node_fqn(machine).node_id - - def get_layout_version(machine: Machine) -> int: - version_data = machine.succeed("garage layout show") - m = cur_version_regex.search(version_data) - if m and m.group('ver') is not None: - return int(m.group('ver')) + 1 - else: - raise ValueError('Cannot find current layout version') - - def apply_garage_layout(machine: Machine, layouts: List[str]): - for layout in layouts: - machine.succeed(f"garage layout assign {layout}") - version = get_layout_version(machine) - machine.succeed(f"garage layout apply --version {version}") - - def create_api_key(machine: Machine, key_name: str) -> S3Key: - output = machine.succeed(f"garage key ${if ver == "0_8" then "new --name" else "create"} {key_name}") - m = key_creation_regex.match(output) - if not m or not m.group('key_id') or not m.group('secret_key'): - raise ValueError('Cannot parse API key data') - return S3Key(key_name=key_name, key_id=m.group('key_id'), secret_key=m.group('secret_key')) - - def get_api_key(machine: Machine, key_pattern: str) -> S3Key: - output = machine.succeed(f"garage key info {key_pattern}") - m = key_creation_regex.match(output) - if not m or not m.group('key_name') or not m.group('key_id') or not m.group('secret_key'): - raise ValueError('Cannot parse API key data') - return S3Key(key_name=m.group('key_name'), key_id=m.group('key_id'), secret_key=m.group('secret_key')) - - def test_bucket_writes(node): - node.succeed("garage bucket create test-bucket") - s3_key = create_api_key(node, "test-api-key") - node.succeed("garage bucket allow --read --write test-bucket --key test-api-key") - other_s3_key = get_api_key(node, 'test-api-key') - assert other_s3_key.secret_key == other_s3_key.secret_key - node.succeed( - f"mc alias set test-garage http://[::1]:3900 {s3_key.key_id} {s3_key.secret_key} --api S3v4" - ) - node.succeed("echo test | mc pipe test-garage/test-bucket/test.txt") - assert node.succeed("mc cat test-garage/test-bucket/test.txt").strip() == "test" - - def test_bucket_over_http(node, bucket='test-bucket', url=None): - if url is None: - url = f"{bucket}.web.garage" - - node.succeed(f'garage bucket website --allow {bucket}') - node.succeed(f'echo hello world | mc pipe test-garage/{bucket}/index.html') - assert (node.succeed(f"curl -H 'Host: {url}' http://localhost:3902")).strip() == 'hello world' - - with subtest("Garage works as a multi-node S3 storage"): - nodes = ('node1', 'node2', 'node3', 'node4') - rev_machines = {m.name: m for m in machines} - def get_machine(key): return rev_machines[key] - for key in nodes: - node = get_machine(key) - node.wait_for_unit("garage.service") - node.wait_for_open_port(3900) - - # Garage is initialized on all nodes. - node_ids = {key: get_node_fqn(get_machine(key)) for key in nodes} - - for key in nodes: - for other_key in nodes: - if other_key != key: - other_id = node_ids[other_key] - get_machine(key).succeed(f"garage node connect {other_id.node_id}@{other_id.host}") - - # Provide multiple zones for the nodes. - zones = ["nixcon", "nixcon", "paris_meetup", "fosdem"] - apply_garage_layout(node1, - [ - f'{ndata.node_id} -z {zones[index]} -c ${if ver == "0_8" then "1" else "1G"}' - for index, ndata in enumerate(node_ids.values()) - ]) - # Now Garage is operational. - test_bucket_writes(node1) - for node in nodes: - test_bucket_over_http(get_machine(node)) - ''; -})) args +(import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "garage-3node-replication"; + meta = { + maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + }; + + nodes = { + node1 = mkNode { + replicationMode = "3"; + publicV6Address = "fc00:1::1"; + }; + node2 = mkNode { + replicationMode = "3"; + publicV6Address = "fc00:1::2"; + }; + node3 = mkNode { + replicationMode = "3"; + publicV6Address = "fc00:1::3"; + }; + node4 = mkNode { + replicationMode = "3"; + publicV6Address = "fc00:1::4"; + }; + }; + + testScript = '' + from typing import List + from dataclasses import dataclass + import re + start_all() + + cur_version_regex = re.compile('Current cluster layout version: (?P\d*)') + key_creation_regex = re.compile('Key name: (?P.*)\nKey ID: (?P.*)\nSecret key: (?P.*)') + + @dataclass + class S3Key: + key_name: str + key_id: str + secret_key: str + + @dataclass + class GarageNode: + node_id: str + host: str + + def get_node_fqn(machine: Machine) -> GarageNode: + node_id, host = machine.succeed("garage node id").split('@') + return GarageNode(node_id=node_id, host=host) + + def get_node_id(machine: Machine) -> str: + return get_node_fqn(machine).node_id + + def get_layout_version(machine: Machine) -> int: + version_data = machine.succeed("garage layout show") + m = cur_version_regex.search(version_data) + if m and m.group('ver') is not None: + return int(m.group('ver')) + 1 + else: + raise ValueError('Cannot find current layout version') + + def apply_garage_layout(machine: Machine, layouts: List[str]): + for layout in layouts: + machine.succeed(f"garage layout assign {layout}") + version = get_layout_version(machine) + machine.succeed(f"garage layout apply --version {version}") + + def create_api_key(machine: Machine, key_name: str) -> S3Key: + output = machine.succeed(f"garage key ${ + if ver == "0_8" then "new --name" else "create" + } {key_name}") + m = key_creation_regex.match(output) + if not m or not m.group('key_id') or not m.group('secret_key'): + raise ValueError('Cannot parse API key data') + return S3Key(key_name=key_name, key_id=m.group('key_id'), secret_key=m.group('secret_key')) + + def get_api_key(machine: Machine, key_pattern: str) -> S3Key: + output = machine.succeed(f"garage key info {key_pattern}") + m = key_creation_regex.match(output) + if not m or not m.group('key_name') or not m.group('key_id') or not m.group('secret_key'): + raise ValueError('Cannot parse API key data') + return S3Key(key_name=m.group('key_name'), key_id=m.group('key_id'), secret_key=m.group('secret_key')) + + def test_bucket_writes(node): + node.succeed("garage bucket create test-bucket") + s3_key = create_api_key(node, "test-api-key") + node.succeed("garage bucket allow --read --write test-bucket --key test-api-key") + other_s3_key = get_api_key(node, 'test-api-key') + assert other_s3_key.secret_key == other_s3_key.secret_key + node.succeed( + f"mc alias set test-garage http://[::1]:3900 {s3_key.key_id} {s3_key.secret_key} --api S3v4" + ) + node.succeed("echo test | mc pipe test-garage/test-bucket/test.txt") + assert node.succeed("mc cat test-garage/test-bucket/test.txt").strip() == "test" + + def test_bucket_over_http(node, bucket='test-bucket', url=None): + if url is None: + url = f"{bucket}.web.garage" + + node.succeed(f'garage bucket website --allow {bucket}') + node.succeed(f'echo hello world | mc pipe test-garage/{bucket}/index.html') + assert (node.succeed(f"curl -H 'Host: {url}' http://localhost:3902")).strip() == 'hello world' + + with subtest("Garage works as a multi-node S3 storage"): + nodes = ('node1', 'node2', 'node3', 'node4') + rev_machines = {m.name: m for m in machines} + def get_machine(key): return rev_machines[key] + for key in nodes: + node = get_machine(key) + node.wait_for_unit("garage.service") + node.wait_for_open_port(3900) + + # Garage is initialized on all nodes. + node_ids = {key: get_node_fqn(get_machine(key)) for key in nodes} + + for key in nodes: + for other_key in nodes: + if other_key != key: + other_id = node_ids[other_key] + get_machine(key).succeed(f"garage node connect {other_id.node_id}@{other_id.host}") + + # Provide multiple zones for the nodes. + zones = ["nixcon", "nixcon", "paris_meetup", "fosdem"] + apply_garage_layout(node1, + [ + f'{ndata.node_id} -z {zones[index]} -c ${if ver == "0_8" then "1" else "1G"}' + for index, ndata in enumerate(node_ids.values()) + ]) + # Now Garage is operational. + test_bucket_writes(node1) + for node in nodes: + test_bucket_over_http(get_machine(node)) + ''; + } +)) + args diff --git a/nixos/tests/gemstash.nix b/nixos/tests/gemstash.nix index bc152e42e92eb..1b87228e9e63c 100644 --- a/nixos/tests/gemstash.nix +++ b/nixos/tests/gemstash.nix @@ -1,21 +1,29 @@ -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../.. { inherit system config; } }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, +}: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; -let common_meta = { maintainers = [ maintainers.viraptor ]; }; +let + common_meta = { + maintainers = [ maintainers.viraptor ]; + }; in { gemstash_works = makeTest { name = "gemstash-works"; meta = common_meta; - nodes.machine = { config, pkgs, ... }: { - services.gemstash = { - enable = true; + nodes.machine = + { config, pkgs, ... }: + { + services.gemstash = { + enable = true; + }; }; - }; # gemstash responds to http requests testScript = '' @@ -30,15 +38,17 @@ in name = "gemstash-custom-port"; meta = common_meta; - nodes.machine = { config, pkgs, ... }: { - services.gemstash = { - enable = true; - openFirewall = true; - settings = { - bind = "tcp://0.0.0.0:12345"; + nodes.machine = + { config, pkgs, ... }: + { + services.gemstash = { + enable = true; + openFirewall = true; + settings = { + bind = "tcp://0.0.0.0:12345"; + }; }; }; - }; # gemstash responds to http requests testScript = '' diff --git a/nixos/tests/geoserver.nix b/nixos/tests/geoserver.nix index 4f6f2b209d07f..3e9416961e90a 100644 --- a/nixos/tests/geoserver.nix +++ b/nixos/tests/geoserver.nix @@ -8,9 +8,12 @@ let # - wps-jdbc needs a running (Postrgres) db server. blacklist = [ "wps-jdbc" ]; - blacklistedToNull = n: v: if ! builtins.elem n blacklist then v else null; - getNonBlackistedExtensionsAsList = ps: builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList blacklistedToNull ps); - geoserverWithAllExtensions = pkgs.geoserver.withExtensions (ps: getNonBlackistedExtensionsAsList ps); + blacklistedToNull = n: v: if !builtins.elem n blacklist then v else null; + getNonBlackistedExtensionsAsList = + ps: builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList blacklistedToNull ps); + geoserverWithAllExtensions = pkgs.geoserver.withExtensions ( + ps: getNonBlackistedExtensionsAsList ps + ); in { @@ -20,15 +23,17 @@ in }; nodes = { - machine = { pkgs, ... }: { - virtualisation.diskSize = 2 * 1024; - - environment.systemPackages = [ - geoserver - geoserverWithImporterExtension - geoserverWithAllExtensions - ]; - }; + machine = + { pkgs, ... }: + { + virtualisation.diskSize = 2 * 1024; + + environment.systemPackages = [ + geoserver + geoserverWithImporterExtension + geoserverWithAllExtensions + ]; + }; }; testScript = '' diff --git a/nixos/tests/gerrit.nix b/nixos/tests/gerrit.nix index 4630f94129483..86e4cf90ed734 100644 --- a/nixos/tests/gerrit.nix +++ b/nixos/tests/gerrit.nix @@ -1,45 +1,57 @@ -import ./make-test-python.nix ({ pkgs, ... }: - -{ - name = "gerrit"; - - meta = with pkgs.lib.maintainers; { - maintainers = [ flokli zimbatm ]; - }; - - nodes = { - server = - { config, pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ 80 2222 ]; - - - services.gerrit = { - enable = true; - serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0"; - listenAddress = "[::]:80"; - jvmHeapLimit = "1g"; - - builtinPlugins = [ "hooks" "webhooks" ]; - settings = { - gerrit.canonicalWebUrl = "http://server"; - sshd.listenAddress = "[::]:2222"; - sshd.advertisedAddress = "[::]:2222"; +import ./make-test-python.nix ( + { pkgs, ... }: + + { + name = "gerrit"; + + meta = with pkgs.lib.maintainers; { + maintainers = [ + flokli + zimbatm + ]; + }; + + nodes = { + server = + { config, pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ + 80 + 2222 + ]; + + services.gerrit = { + enable = true; + serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0"; + listenAddress = "[::]:80"; + jvmHeapLimit = "1g"; + + builtinPlugins = [ + "hooks" + "webhooks" + ]; + settings = { + gerrit.canonicalWebUrl = "http://server"; + sshd.listenAddress = "[::]:2222"; + sshd.advertisedAddress = "[::]:2222"; + }; }; }; - }; - - client = - { ... }: { - }; - }; - - testScript = '' - start_all() - server.wait_for_unit("gerrit.service") - server.wait_for_open_port(80) - client.succeed("curl http://server") - - server.wait_for_open_port(2222) - client.succeed("nc -z server 2222") - ''; -}) + + client = + { ... }: + { + }; + }; + + testScript = '' + start_all() + server.wait_for_unit("gerrit.service") + server.wait_for_open_port(80) + client.succeed("curl http://server") + + server.wait_for_open_port(2222) + client.succeed("nc -z server 2222") + ''; + } +) diff --git a/nixos/tests/geth.nix b/nixos/tests/geth.nix index 7f7315271088e..984b46935b865 100644 --- a/nixos/tests/geth.nix +++ b/nixos/tests/geth.nix @@ -1,45 +1,50 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "geth"; - meta = with pkgs.lib; { - maintainers = with maintainers; [bachp ]; - }; - - nodes.machine = { ... }: { - services.geth."mainnet" = { - enable = true; - http = { - enable = true; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "geth"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ bachp ]; }; - services.geth."testnet" = { - enable = true; - port = 30304; - network = "holesky"; - http = { - enable = true; - port = 18545; - }; - authrpc = { - enable = true; - port = 18551; + + nodes.machine = + { ... }: + { + services.geth."mainnet" = { + enable = true; + http = { + enable = true; + }; + }; + services.geth."testnet" = { + enable = true; + port = 30304; + network = "holesky"; + http = { + enable = true; + port = 18545; + }; + authrpc = { + enable = true; + port = 18551; + }; + }; }; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("geth-mainnet.service") - machine.wait_for_unit("geth-testnet.service") - machine.wait_for_open_port(8545) - machine.wait_for_open_port(18545) + machine.wait_for_unit("geth-mainnet.service") + machine.wait_for_unit("geth-testnet.service") + machine.wait_for_open_port(8545) + machine.wait_for_open_port(18545) - machine.succeed( - 'geth attach --exec "eth.blockNumber" http://localhost:8545 | grep \'^0$\' ' - ) + machine.succeed( + 'geth attach --exec "eth.blockNumber" http://localhost:8545 | grep \'^0$\' ' + ) - machine.succeed( - 'geth attach --exec "eth.blockNumber" http://localhost:18545 | grep \'^0$\' ' - ) - ''; -}) + machine.succeed( + 'geth attach --exec "eth.blockNumber" http://localhost:18545 | grep \'^0$\' ' + ) + ''; + } +) diff --git a/nixos/tests/ghostunnel.nix b/nixos/tests/ghostunnel.nix index 91a7b7085f67b..bd16a802e60d7 100644 --- a/nixos/tests/ghostunnel.nix +++ b/nixos/tests/ghostunnel.nix @@ -1,104 +1,116 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "ghostunnel"; - nodes = { - backend = { pkgs, ... }: { - services.nginx.enable = true; - services.nginx.virtualHosts."backend".root = pkgs.runCommand "webroot" {} '' - mkdir $out - echo hi >$out/hi.txt - ''; - networking.firewall.allowedTCPPorts = [ 80 ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ghostunnel"; + nodes = { + backend = + { pkgs, ... }: + { + services.nginx.enable = true; + services.nginx.virtualHosts."backend".root = pkgs.runCommand "webroot" { } '' + mkdir $out + echo hi >$out/hi.txt + ''; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + service = + { ... }: + { + services.ghostunnel.enable = true; + services.ghostunnel.servers."plain-old" = { + listen = "0.0.0.0:443"; + cert = "/root/service-cert.pem"; + key = "/root/service-key.pem"; + disableAuthentication = true; + target = "backend:80"; + unsafeTarget = true; + }; + services.ghostunnel.servers."client-cert" = { + listen = "0.0.0.0:1443"; + cert = "/root/service-cert.pem"; + key = "/root/service-key.pem"; + cacert = "/root/ca.pem"; + target = "backend:80"; + allowCN = [ "client" ]; + unsafeTarget = true; + }; + networking.firewall.allowedTCPPorts = [ + 443 + 1443 + ]; + }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ + pkgs.curl + ]; + }; }; - service = { ... }: { - services.ghostunnel.enable = true; - services.ghostunnel.servers."plain-old" = { - listen = "0.0.0.0:443"; - cert = "/root/service-cert.pem"; - key = "/root/service-key.pem"; - disableAuthentication = true; - target = "backend:80"; - unsafeTarget = true; - }; - services.ghostunnel.servers."client-cert" = { - listen = "0.0.0.0:1443"; - cert = "/root/service-cert.pem"; - key = "/root/service-key.pem"; - cacert = "/root/ca.pem"; - target = "backend:80"; - allowCN = ["client"]; - unsafeTarget = true; - }; - networking.firewall.allowedTCPPorts = [ 443 1443 ]; - }; - client = { pkgs, ... }: { - environment.systemPackages = [ - pkgs.curl - ]; - }; - }; - testScript = '' + testScript = '' - # prepare certificates + # prepare certificates - def cmd(command): - print(f"+{command}") - r = os.system(command) - if r != 0: - raise Exception(f"Command {command} failed with exit code {r}") + def cmd(command): + print(f"+{command}") + r = os.system(command) + if r != 0: + raise Exception(f"Command {command} failed with exit code {r}") - # Create CA - cmd("${pkgs.openssl}/bin/openssl genrsa -out ca-key.pem 4096") - cmd("${pkgs.openssl}/bin/openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -subj '/C=NL/ST=Zuid-Holland/L=The Hague/O=Stevige Balken en Planken B.V./OU=OpSec/CN=Certificate Authority' -out ca.pem") + # Create CA + cmd("${pkgs.openssl}/bin/openssl genrsa -out ca-key.pem 4096") + cmd("${pkgs.openssl}/bin/openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -subj '/C=NL/ST=Zuid-Holland/L=The Hague/O=Stevige Balken en Planken B.V./OU=OpSec/CN=Certificate Authority' -out ca.pem") - # Create service - cmd("${pkgs.openssl}/bin/openssl genrsa -out service-key.pem 4096") - cmd("${pkgs.openssl}/bin/openssl req -subj '/CN=service' -sha256 -new -key service-key.pem -out service.csr") - cmd("echo subjectAltName = DNS:service,IP:127.0.0.1 >> extfile.cnf") - cmd("echo extendedKeyUsage = serverAuth >> extfile.cnf") - cmd("${pkgs.openssl}/bin/openssl x509 -req -days 365 -sha256 -in service.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out service-cert.pem -extfile extfile.cnf") + # Create service + cmd("${pkgs.openssl}/bin/openssl genrsa -out service-key.pem 4096") + cmd("${pkgs.openssl}/bin/openssl req -subj '/CN=service' -sha256 -new -key service-key.pem -out service.csr") + cmd("echo subjectAltName = DNS:service,IP:127.0.0.1 >> extfile.cnf") + cmd("echo extendedKeyUsage = serverAuth >> extfile.cnf") + cmd("${pkgs.openssl}/bin/openssl x509 -req -days 365 -sha256 -in service.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out service-cert.pem -extfile extfile.cnf") - # Create client - cmd("${pkgs.openssl}/bin/openssl genrsa -out client-key.pem 4096") - cmd("${pkgs.openssl}/bin/openssl req -subj '/CN=client' -new -key client-key.pem -out client.csr") - cmd("echo extendedKeyUsage = clientAuth > extfile-client.cnf") - cmd("${pkgs.openssl}/bin/openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile-client.cnf") + # Create client + cmd("${pkgs.openssl}/bin/openssl genrsa -out client-key.pem 4096") + cmd("${pkgs.openssl}/bin/openssl req -subj '/CN=client' -new -key client-key.pem -out client.csr") + cmd("echo extendedKeyUsage = clientAuth > extfile-client.cnf") + cmd("${pkgs.openssl}/bin/openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile-client.cnf") - cmd("ls -al") + cmd("ls -al") - start_all() + start_all() - # Configuration - service.copy_from_host("ca.pem", "/root/ca.pem") - service.copy_from_host("service-cert.pem", "/root/service-cert.pem") - service.copy_from_host("service-key.pem", "/root/service-key.pem") - client.copy_from_host("ca.pem", "/root/ca.pem") - client.copy_from_host("service-cert.pem", "/root/service-cert.pem") - client.copy_from_host("client-cert.pem", "/root/client-cert.pem") - client.copy_from_host("client-key.pem", "/root/client-key.pem") + # Configuration + service.copy_from_host("ca.pem", "/root/ca.pem") + service.copy_from_host("service-cert.pem", "/root/service-cert.pem") + service.copy_from_host("service-key.pem", "/root/service-key.pem") + client.copy_from_host("ca.pem", "/root/ca.pem") + client.copy_from_host("service-cert.pem", "/root/service-cert.pem") + client.copy_from_host("client-cert.pem", "/root/client-cert.pem") + client.copy_from_host("client-key.pem", "/root/client-key.pem") - backend.wait_for_unit("nginx.service") - service.wait_for_unit("multi-user.target") - service.wait_for_unit("multi-user.target") - client.wait_for_unit("multi-user.target") + backend.wait_for_unit("nginx.service") + service.wait_for_unit("multi-user.target") + service.wait_for_unit("multi-user.target") + client.wait_for_unit("multi-user.target") - # Check assumptions before the real test - client.succeed("bash -c 'diff <(curl -v --no-progress-meter http://backend/hi.txt) <(echo hi)'") + # Check assumptions before the real test + client.succeed("bash -c 'diff <(curl -v --no-progress-meter http://backend/hi.txt) <(echo hi)'") - # Plain old simple TLS can connect, ignoring cert - client.succeed("bash -c 'diff <(curl -v --no-progress-meter --insecure https://service/hi.txt) <(echo hi)'") + # Plain old simple TLS can connect, ignoring cert + client.succeed("bash -c 'diff <(curl -v --no-progress-meter --insecure https://service/hi.txt) <(echo hi)'") - # Plain old simple TLS provides correct signature with its cert - client.succeed("bash -c 'diff <(curl -v --no-progress-meter --cacert /root/ca.pem https://service/hi.txt) <(echo hi)'") + # Plain old simple TLS provides correct signature with its cert + client.succeed("bash -c 'diff <(curl -v --no-progress-meter --cacert /root/ca.pem https://service/hi.txt) <(echo hi)'") - # Client can authenticate with certificate - client.succeed("bash -c 'diff <(curl -v --no-progress-meter --cert /root/client-cert.pem --key /root/client-key.pem --cacert /root/ca.pem https://service:1443/hi.txt) <(echo hi)'") + # Client can authenticate with certificate + client.succeed("bash -c 'diff <(curl -v --no-progress-meter --cert /root/client-cert.pem --key /root/client-key.pem --cacert /root/ca.pem https://service:1443/hi.txt) <(echo hi)'") - # Client must authenticate with certificate - client.fail("bash -c 'diff <(curl -v --no-progress-meter --cacert /root/ca.pem https://service:1443/hi.txt) <(echo hi)'") - ''; + # Client must authenticate with certificate + client.fail("bash -c 'diff <(curl -v --no-progress-meter --cacert /root/ca.pem https://service:1443/hi.txt) <(echo hi)'") + ''; - meta.maintainers = with pkgs.lib.maintainers; [ - roberth - ]; -}) + meta.maintainers = with pkgs.lib.maintainers; [ + roberth + ]; + } +) diff --git a/nixos/tests/git/hub.nix b/nixos/tests/git/hub.nix index 4f3189861a004..43ae2b7ab30b9 100644 --- a/nixos/tests/git/hub.nix +++ b/nixos/tests/git/hub.nix @@ -1,17 +1,20 @@ -import ../make-test-python.nix ({ pkgs, ...} : { - name = "hub"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nequissimus ]; - }; - - nodes.hub = { pkgs, ... }: - { - environment.systemPackages = [ pkgs.hub ]; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "hub"; + meta = with pkgs.lib.maintainers; { + maintainers = [ nequissimus ]; }; - testScript = - '' + nodes.hub = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.hub ]; + }; + + testScript = '' assert "git version ${pkgs.git.version}\nhub version ${pkgs.hub.version}\n" in hub.succeed("hub version") assert "These GitHub commands are provided by hub" in hub.succeed("hub help") ''; -}) + } +) diff --git a/nixos/tests/gitdaemon.nix b/nixos/tests/gitdaemon.nix index 2211960b457f8..41a29168bda44 100644 --- a/nixos/tests/gitdaemon.nix +++ b/nixos/tests/gitdaemon.nix @@ -1,78 +1,83 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - hashes = pkgs.writeText "hashes" '' - b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c /project/bar - ''; -in { - name = "gitdaemon"; + let + hashes = pkgs.writeText "hashes" '' + b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c /project/bar + ''; + in + { + name = "gitdaemon"; - meta = with pkgs.lib.maintainers; { - maintainers = [ tilpner ]; - }; + meta = with pkgs.lib.maintainers; { + maintainers = [ tilpner ]; + }; - nodes = { - server = - { config, ... }: { - networking.firewall.allowedTCPPorts = [ config.services.gitDaemon.port ]; + nodes = { + server = + { config, ... }: + { + networking.firewall.allowedTCPPorts = [ config.services.gitDaemon.port ]; - environment.systemPackages = [ pkgs.git ]; + environment.systemPackages = [ pkgs.git ]; - systemd.tmpfiles.rules = [ - # type path mode user group age arg - " d /git 0755 git git - -" - ]; + systemd.tmpfiles.rules = [ + # type path mode user group age arg + " d /git 0755 git git - -" + ]; - services.gitDaemon = { - enable = true; - basePath = "/git"; + services.gitDaemon = { + enable = true; + basePath = "/git"; + }; }; - }; - client = - { pkgs, ... }: { - environment.systemPackages = [ pkgs.git ]; - }; - }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.git ]; + }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("create project.git"): - server.succeed( - "git init --bare /git/project.git", - "touch /git/project.git/git-daemon-export-ok", - ) + with subtest("create project.git"): + server.succeed( + "git init --bare /git/project.git", + "touch /git/project.git/git-daemon-export-ok", + ) - with subtest("add file to project.git"): - server.succeed( - "git clone /git/project.git /project", - "echo foo > /project/bar", - "git config --global user.email 'you@example.com'", - "git config --global user.name 'Your Name'", - "git -C /project add bar", - "git -C /project commit -m 'quux'", - "git -C /project push", - "rm -r /project", - ) + with subtest("add file to project.git"): + server.succeed( + "git clone /git/project.git /project", + "echo foo > /project/bar", + "git config --global user.email 'you@example.com'", + "git config --global user.name 'Your Name'", + "git -C /project add bar", + "git -C /project commit -m 'quux'", + "git -C /project push", + "rm -r /project", + ) - # Change user/group to default daemon user/group from module - # to avoid "fatal: detected dubious ownership in repository at '/git/project.git'" - server.succeed("chown git:git -R /git/project.git") + # Change user/group to default daemon user/group from module + # to avoid "fatal: detected dubious ownership in repository at '/git/project.git'" + server.succeed("chown git:git -R /git/project.git") - with subtest("git daemon starts"): - server.wait_for_unit("git-daemon.service") + with subtest("git daemon starts"): + server.wait_for_unit("git-daemon.service") - server.systemctl("start network-online.target") - client.systemctl("start network-online.target") - server.wait_for_unit("network-online.target") - client.wait_for_unit("network-online.target") + server.systemctl("start network-online.target") + client.systemctl("start network-online.target") + server.wait_for_unit("network-online.target") + client.wait_for_unit("network-online.target") - with subtest("client can clone project.git"): - client.succeed( - "git clone git://server/project.git /project", - "sha256sum -c ${hashes}", - ) - ''; -}) + with subtest("client can clone project.git"): + client.succeed( + "git clone git://server/project.git /project", + "sha256sum -c ${hashes}", + ) + ''; + } +) diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix index f62c72bddddca..255ff3485e5a1 100644 --- a/nixos/tests/gitea.nix +++ b/nixos/tests/gitea.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem, - config ? {}, +{ + system ? builtins.currentSystem, + config ? { }, giteaPackage ? pkgs.gitea, - pkgs ? import ../.. { inherit system config; } + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -23,143 +24,166 @@ let ''; signingPrivateKeyId = "4D642DE8B678C79D"; - supportedDbTypes = [ "mysql" "postgres" "sqlite3" ]; - makeGiteaTest = type: nameValuePair type (makeTest { - name = "${giteaPackage.pname}-${type}"; - meta.maintainers = with maintainers; [ aanderse kolaente ma27 ]; - - nodes = { - server = { config, pkgs, ... }: { - virtualisation.memorySize = 2047; - services.gitea = { - enable = true; - database = { inherit type; }; - package = giteaPackage; - metricsTokenFile = (pkgs.writeText "metrics_secret" "fakesecret").outPath; - settings.service.DISABLE_REGISTRATION = true; - settings."repository.signing".SIGNING_KEY = signingPrivateKeyId; - settings.actions.ENABLED = true; - settings.metrics.ENABLED = true; - }; - environment.systemPackages = [ giteaPackage pkgs.gnupg pkgs.jq ]; - services.openssh.enable = true; - - specialisation.runner = { - inheritParentConfig = true; - - configuration.services.gitea-actions-runner.instances."test" = { - enable = true; - name = "ci"; - url = "http://localhost:3000"; - labels = [ - # don't require docker/podman - "native:host" + supportedDbTypes = [ + "mysql" + "postgres" + "sqlite3" + ]; + makeGiteaTest = + type: + nameValuePair type (makeTest { + name = "${giteaPackage.pname}-${type}"; + meta.maintainers = with maintainers; [ + aanderse + kolaente + ma27 + ]; + + nodes = { + server = + { config, pkgs, ... }: + { + virtualisation.memorySize = 2047; + services.gitea = { + enable = true; + database = { inherit type; }; + package = giteaPackage; + metricsTokenFile = (pkgs.writeText "metrics_secret" "fakesecret").outPath; + settings.service.DISABLE_REGISTRATION = true; + settings."repository.signing".SIGNING_KEY = signingPrivateKeyId; + settings.actions.ENABLED = true; + settings.metrics.ENABLED = true; + }; + environment.systemPackages = [ + giteaPackage + pkgs.gnupg + pkgs.jq ]; - tokenFile = "/var/lib/gitea/runner_token"; + services.openssh.enable = true; + + specialisation.runner = { + inheritParentConfig = true; + + configuration.services.gitea-actions-runner.instances."test" = { + enable = true; + name = "ci"; + url = "http://localhost:3000"; + labels = [ + # don't require docker/podman + "native:host" + ]; + tokenFile = "/var/lib/gitea/runner_token"; + }; + }; + }; + client1 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.git ]; + }; + client2 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.git ]; }; - }; - }; - client1 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.git ]; - }; - client2 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.git ]; }; - }; - - testScript = { nodes, ... }: let - inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - serverSystem = nodes.server.system.build.toplevel; - in '' - GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no" - REPO = "gitea@server:test/repo" - PRIVK = "${snakeOilPrivateKey}" - - start_all() - - client1.succeed("mkdir /tmp/repo") - client1.succeed("mkdir -p $HOME/.ssh") - client1.succeed(f"cat {PRIVK} > $HOME/.ssh/privk") - client1.succeed("chmod 0400 $HOME/.ssh/privk") - client1.succeed("git -C /tmp/repo init") - client1.succeed("echo hello world > /tmp/repo/testfile") - client1.succeed("git -C /tmp/repo add .") - client1.succeed("git config --global user.email test@localhost") - client1.succeed("git config --global user.name test") - client1.succeed("git -C /tmp/repo commit -m 'Initial import'") - client1.succeed(f"git -C /tmp/repo remote add origin {REPO}") - - server.wait_for_unit("gitea.service") - server.wait_for_open_port(3000) - server.wait_for_open_port(22) - server.succeed("curl --fail http://localhost:3000/") - - server.succeed( - "su -l gitea -c 'gpg --homedir /var/lib/gitea/data/home/.gnupg " - + "--import ${toString (pkgs.writeText "gitea.key" signingPrivateKey)}'" - ) - - assert "BEGIN PGP PUBLIC KEY BLOCK" in server.succeed("curl http://localhost:3000/api/v1/signing-key.gpg") - - server.succeed( - "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. " - + "Please contact your site administrator.'" - ) - server.succeed( - "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin user create " - + "--username test --password totallysafe --email test@localhost'" - ) - - api_token = server.succeed( - "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d " - + "'{\"name\":\"token\",\"scopes\":[\"all\"]}' | jq '.sha1' | xargs echo -n" - ) - - server.succeed( - "curl --fail -X POST http://localhost:3000/api/v1/user/repos " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' " - + f"-H 'Authorization: token {api_token}'" - + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\''' - ) - - server.succeed( - "curl --fail -X POST http://localhost:3000/api/v1/user/keys " - + "-H 'Accept: application/json' -H 'Content-Type: application/json' " - + f"-H 'Authorization: token {api_token}'" - + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\''' - ) - - client1.succeed( - f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git -C /tmp/repo push origin master" - ) - - client2.succeed("mkdir -p $HOME/.ssh") - client2.succeed(f"cat {PRIVK} > $HOME/.ssh/privk") - client2.succeed("chmod 0400 $HOME/.ssh/privk") - client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}") - client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"') - - server.wait_until_succeeds( - 'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits ' - + '-H "Accept: application/json" | jq length)" = "1"' - ) - - with subtest("Testing metrics endpoint"): - server.succeed('curl ' - + '-H "Authorization: Bearer fakesecret" ' - + 'http://localhost:3000/metrics ' - + '| grep gitea_accesses') - - with subtest("Testing runner registration"): + + testScript = + { nodes, ... }: + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; + serverSystem = nodes.server.system.build.toplevel; + in + '' + GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no" + REPO = "gitea@server:test/repo" + PRIVK = "${snakeOilPrivateKey}" + + start_all() + + client1.succeed("mkdir /tmp/repo") + client1.succeed("mkdir -p $HOME/.ssh") + client1.succeed(f"cat {PRIVK} > $HOME/.ssh/privk") + client1.succeed("chmod 0400 $HOME/.ssh/privk") + client1.succeed("git -C /tmp/repo init") + client1.succeed("echo hello world > /tmp/repo/testfile") + client1.succeed("git -C /tmp/repo add .") + client1.succeed("git config --global user.email test@localhost") + client1.succeed("git config --global user.name test") + client1.succeed("git -C /tmp/repo commit -m 'Initial import'") + client1.succeed(f"git -C /tmp/repo remote add origin {REPO}") + + server.wait_for_unit("gitea.service") + server.wait_for_open_port(3000) + server.wait_for_open_port(22) + server.succeed("curl --fail http://localhost:3000/") + + server.succeed( + "su -l gitea -c 'gpg --homedir /var/lib/gitea/data/home/.gnupg " + + "--import ${toString (pkgs.writeText "gitea.key" signingPrivateKey)}'" + ) + + assert "BEGIN PGP PUBLIC KEY BLOCK" in server.succeed("curl http://localhost:3000/api/v1/signing-key.gpg") + + server.succeed( + "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. " + + "Please contact your site administrator.'" + ) + server.succeed( + "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin user create " + + "--username test --password totallysafe --email test@localhost'" + ) + + api_token = server.succeed( + "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d " + + "'{\"name\":\"token\",\"scopes\":[\"all\"]}' | jq '.sha1' | xargs echo -n" + ) + + server.succeed( + "curl --fail -X POST http://localhost:3000/api/v1/user/repos " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' " + + f"-H 'Authorization: token {api_token}'" + + ' -d \'{"auto_init":false, "description":"string", "license":"mit", "name":"repo", "private":false}\''' + ) + server.succeed( - "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/gitea/runner_token" + "curl --fail -X POST http://localhost:3000/api/v1/user/keys " + + "-H 'Accept: application/json' -H 'Content-Type: application/json' " + + f"-H 'Authorization: token {api_token}'" + + ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\''' ) - server.succeed("${serverSystem}/specialisation/runner/bin/switch-to-configuration test") - server.wait_for_unit("gitea-runner-test.service") - server.succeed("journalctl -o cat -u gitea-runner-test.service | grep -q 'Runner registered successfully'") - ''; - }); + + client1.succeed( + f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git -C /tmp/repo push origin master" + ) + + client2.succeed("mkdir -p $HOME/.ssh") + client2.succeed(f"cat {PRIVK} > $HOME/.ssh/privk") + client2.succeed("chmod 0400 $HOME/.ssh/privk") + client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}") + client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"') + + server.wait_until_succeeds( + 'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits ' + + '-H "Accept: application/json" | jq length)" = "1"' + ) + + with subtest("Testing metrics endpoint"): + server.succeed('curl ' + + '-H "Authorization: Bearer fakesecret" ' + + 'http://localhost:3000/metrics ' + + '| grep gitea_accesses') + + with subtest("Testing runner registration"): + server.succeed( + "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/gitea/runner_token" + ) + server.succeed("${serverSystem}/specialisation/runner/bin/switch-to-configuration test") + server.wait_for_unit("gitea-runner-test.service") + server.succeed("journalctl -o cat -u gitea-runner-test.service | grep -q 'Runner registered successfully'") + ''; + }); in listToAttrs (map makeGiteaTest supportedDbTypes) diff --git a/nixos/tests/github-runner.nix b/nixos/tests/github-runner.nix index f3e4b70fa5d3d..ffc0dbcc374b4 100644 --- a/nixos/tests/github-runner.nix +++ b/nixos/tests/github-runner.nix @@ -1,45 +1,49 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "github-runner"; - meta = with pkgs.lib.maintainers; { - maintainers = [ veehaitch ]; - }; - nodes.machine = { pkgs, ... }: { - services.github-runners.test = { - enable = true; - url = "https://github.com/yaxitech"; - tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "github-runner"; + meta = with pkgs.lib.maintainers; { + maintainers = [ veehaitch ]; }; - - services.github-runners.test-disabled = { - enable = false; - url = "https://github.com/yaxitech"; - tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; - }; - - systemd.services.dummy-github-com = { - wantedBy = [ "multi-user.target" ]; - before = [ "github-runner-test.service" ]; - script = "${pkgs.netcat}/bin/nc -Fl 443 | true && touch /tmp/registration-connect"; - }; - networking.hosts."127.0.0.1" = [ "api.github.com" ]; - }; - - testScript = '' - start_all() - - machine.wait_for_unit("dummy-github-com") - - try: - machine.wait_for_unit("github-runner-test") - except Exception: - pass - - out = machine.succeed("journalctl -u github-runner-test") - assert "Self-hosted runner registration" in out, "did not read runner registration header" - - machine.wait_until_succeeds("test -f /tmp/registration-connect") - - machine.fail("systemctl list-unit-files | grep test-disabled") - ''; -}) + nodes.machine = + { pkgs, ... }: + { + services.github-runners.test = { + enable = true; + url = "https://github.com/yaxitech"; + tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; + }; + + services.github-runners.test-disabled = { + enable = false; + url = "https://github.com/yaxitech"; + tokenFile = builtins.toFile "github-runner.token" "not-so-secret"; + }; + + systemd.services.dummy-github-com = { + wantedBy = [ "multi-user.target" ]; + before = [ "github-runner-test.service" ]; + script = "${pkgs.netcat}/bin/nc -Fl 443 | true && touch /tmp/registration-connect"; + }; + networking.hosts."127.0.0.1" = [ "api.github.com" ]; + }; + + testScript = '' + start_all() + + machine.wait_for_unit("dummy-github-com") + + try: + machine.wait_for_unit("github-runner-test") + except Exception: + pass + + out = machine.succeed("journalctl -u github-runner-test") + assert "Self-hosted runner registration" in out, "did not read runner registration header" + + machine.wait_until_succeeds("test -f /tmp/registration-connect") + + machine.fail("systemctl list-unit-files | grep test-disabled") + ''; + } +) diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index a099a8201ae50..da27cfbbc195c 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -26,150 +26,179 @@ let bobUserId = "3"; bobPassword = "XwkkBbl2SiIwabQzgcoaTbhsotijEEtF"; bobProjectId = "2"; -in { +in +{ name = "gitlab"; - meta.maintainers = with lib.maintainers; [ globin yayayayaka ]; + meta.maintainers = with lib.maintainers; [ + globin + yayayayaka + ]; nodes = { - gitlab = { ... }: { - imports = [ common/user-account.nix ]; - - environment.systemPackages = with pkgs; [ git ]; - - virtualisation.memorySize = 6144; - virtualisation.cores = 4; - virtualisation.useNixStoreImage = true; - virtualisation.writableStore = false; - - systemd.services.gitlab.serviceConfig.Restart = lib.mkForce "no"; - systemd.services.gitlab-workhorse.serviceConfig.Restart = lib.mkForce "no"; - systemd.services.gitaly.serviceConfig.Restart = lib.mkForce "no"; - systemd.services.gitlab-sidekiq.serviceConfig.Restart = lib.mkForce "no"; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - virtualHosts = { - localhost = { - locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket"; - }; - }; - }; + gitlab = + { ... }: + { + imports = [ common/user-account.nix ]; - services.openssh.enable = true; + environment.systemPackages = with pkgs; [ git ]; - services.dovecot2 = { - enable = true; - enableImap = true; - }; + virtualisation.memorySize = 6144; + virtualisation.cores = 4; + virtualisation.useNixStoreImage = true; + virtualisation.writableStore = false; - systemd.services.gitlab-backup.environment.BACKUP = "dump"; + systemd.services.gitlab.serviceConfig.Restart = lib.mkForce "no"; + systemd.services.gitlab-workhorse.serviceConfig.Restart = lib.mkForce "no"; + systemd.services.gitaly.serviceConfig.Restart = lib.mkForce "no"; + systemd.services.gitlab-sidekiq.serviceConfig.Restart = lib.mkForce "no"; - services.gitlab = { - enable = true; - databasePasswordFile = pkgs.writeText "dbPassword" "xo0daiF4"; - initialRootPasswordFile = pkgs.writeText "rootPassword" initialRootPassword; - smtp.enable = true; - pages = { + services.nginx = { enable = true; - settings.pages-domain = "localhost"; - }; - extraConfig = { - incoming_email = { - enabled = true; - mailbox = "inbox"; - address = "alice@localhost"; - user = "alice"; - password = "foobar"; - host = "localhost"; - port = 143; + recommendedProxySettings = true; + virtualHosts = { + localhost = { + locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket"; + }; }; }; - secrets = { - secretFile = pkgs.writeText "secret" "Aig5zaic"; - otpFile = pkgs.writeText "otpsecret" "Riew9mue"; - dbFile = pkgs.writeText "dbsecret" "we2quaeZ"; - jwsFile = pkgs.runCommand "oidcKeyBase" {} "${pkgs.openssl}/bin/openssl genrsa 2048 > $out"; + + services.openssh.enable = true; + + services.dovecot2 = { + enable = true; + enableImap = true; }; - # reduce memory usage - sidekiq.concurrency = 1; - puma.workers = 2; + systemd.services.gitlab-backup.environment.BACKUP = "dump"; + + services.gitlab = { + enable = true; + databasePasswordFile = pkgs.writeText "dbPassword" "xo0daiF4"; + initialRootPasswordFile = pkgs.writeText "rootPassword" initialRootPassword; + smtp.enable = true; + pages = { + enable = true; + settings.pages-domain = "localhost"; + }; + extraConfig = { + incoming_email = { + enabled = true; + mailbox = "inbox"; + address = "alice@localhost"; + user = "alice"; + password = "foobar"; + host = "localhost"; + port = 143; + }; + }; + secrets = { + secretFile = pkgs.writeText "secret" "Aig5zaic"; + otpFile = pkgs.writeText "otpsecret" "Riew9mue"; + dbFile = pkgs.writeText "dbsecret" "we2quaeZ"; + jwsFile = pkgs.runCommand "oidcKeyBase" { } "${pkgs.openssl}/bin/openssl genrsa 2048 > $out"; + }; + + # reduce memory usage + sidekiq.concurrency = 1; + puma.workers = 2; + }; }; - }; }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: let - auth = pkgs.writeText "auth.json" (builtins.toJSON { - grant_type = "password"; - username = "root"; - password = initialRootPassword; - }); - - createUserAlice = pkgs.writeText "create-user-alice.json" (builtins.toJSON rec { - username = aliceUsername; - name = username; - email = "alice@localhost"; - password = alicePassword; - skip_confirmation = true; - }); - - createUserBob = pkgs.writeText "create-user-bob.json" (builtins.toJSON rec { - username = bobUsername; - name = username; - email = "bob@localhost"; - password = bobPassword; - skip_confirmation = true; - }); - - aliceAuth = pkgs.writeText "alice-auth.json" (builtins.toJSON { - grant_type = "password"; - username = aliceUsername; - password = alicePassword; - }); - - bobAuth = pkgs.writeText "bob-auth.json" (builtins.toJSON { - grant_type = "password"; - username = bobUsername; - password = bobPassword; - }); - - aliceAddSSHKey = pkgs.writeText "alice-add-ssh-key.json" (builtins.toJSON { - id = aliceUserId; - title = "snakeoil@nixos"; - key = snakeOilPublicKey; - }); - - createProjectAlice = pkgs.writeText "create-project-alice.json" (builtins.toJSON { - name = aliceProjectName; - visibility = "public"; - }); - - putFile = pkgs.writeText "put-file.json" (builtins.toJSON { - branch = "master"; - author_email = "author@example.com"; - author_name = "Firstname Lastname"; - content = "some content"; - commit_message = "create a new file"; - }); - - mergeRequest = pkgs.writeText "merge-request.json" (builtins.toJSON { - id = bobProjectId; - target_project_id = aliceProjectId; - source_branch = "master"; - target_branch = "master"; - title = "Add some other file"; - }); - - newIssue = pkgs.writeText "new-issue.json" (builtins.toJSON { - title = "useful issue title"; - }); - - closeIssue = pkgs.writeText "close-issue.json" (builtins.toJSON { - issue_iid = 1; - state_event = "close"; - }); + auth = pkgs.writeText "auth.json" ( + builtins.toJSON { + grant_type = "password"; + username = "root"; + password = initialRootPassword; + } + ); + + createUserAlice = pkgs.writeText "create-user-alice.json" ( + builtins.toJSON rec { + username = aliceUsername; + name = username; + email = "alice@localhost"; + password = alicePassword; + skip_confirmation = true; + } + ); + + createUserBob = pkgs.writeText "create-user-bob.json" ( + builtins.toJSON rec { + username = bobUsername; + name = username; + email = "bob@localhost"; + password = bobPassword; + skip_confirmation = true; + } + ); + + aliceAuth = pkgs.writeText "alice-auth.json" ( + builtins.toJSON { + grant_type = "password"; + username = aliceUsername; + password = alicePassword; + } + ); + + bobAuth = pkgs.writeText "bob-auth.json" ( + builtins.toJSON { + grant_type = "password"; + username = bobUsername; + password = bobPassword; + } + ); + + aliceAddSSHKey = pkgs.writeText "alice-add-ssh-key.json" ( + builtins.toJSON { + id = aliceUserId; + title = "snakeoil@nixos"; + key = snakeOilPublicKey; + } + ); + + createProjectAlice = pkgs.writeText "create-project-alice.json" ( + builtins.toJSON { + name = aliceProjectName; + visibility = "public"; + } + ); + + putFile = pkgs.writeText "put-file.json" ( + builtins.toJSON { + branch = "master"; + author_email = "author@example.com"; + author_name = "Firstname Lastname"; + content = "some content"; + commit_message = "create a new file"; + } + ); + + mergeRequest = pkgs.writeText "merge-request.json" ( + builtins.toJSON { + id = bobProjectId; + target_project_id = aliceProjectId; + source_branch = "master"; + target_branch = "master"; + title = "Add some other file"; + } + ); + + newIssue = pkgs.writeText "new-issue.json" ( + builtins.toJSON { + title = "useful issue title"; + } + ); + + closeIssue = pkgs.writeText "close-issue.json" ( + builtins.toJSON { + issue_iid = 1; + state_event = "close"; + } + ); # Wait for all GitLab services to be fully started. waitForServices = '' @@ -185,238 +214,243 @@ in { # The actual test of GitLab. Only push data to GitLab if # `doSetup` is is true. - test = doSetup: '' - GIT_SSH_COMMAND = "ssh -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null" - - gitlab.succeed( - "curl -isSf http://gitlab | grep -i location | grep http://gitlab/users/sign_in" - ) - gitlab.succeed( - "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2" - ) - gitlab.succeed( - "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" - ) - '' + lib.optionalString doSetup '' - with subtest("Create user Alice"): - gitlab.succeed( - """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserAlice} http://gitlab/api/v4/users)" = "201" ]""" - ) - gitlab.succeed( - "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${aliceAuth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers-alice" - ) - - with subtest("Create user Bob"): - gitlab.succeed( - """ [ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserBob} http://gitlab/api/v4/users)" = "201" ]""" - ) - gitlab.succeed( - "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${bobAuth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers-bob" - ) - - with subtest("Setup Git and SSH for Alice"): - gitlab.succeed("git config --global user.name Alice") - gitlab.succeed("git config --global user.email alice@nixos.invalid") - gitlab.succeed("mkdir -m 700 /root/.ssh") - gitlab.succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa") - gitlab.succeed("chmod 600 /root/.ssh/id_ecdsa") - gitlab.succeed( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-alice -d @${aliceAddSSHKey} \ - http://gitlab/api/v4/user/keys)" = "201" ] - """ - ) - - with subtest("Create a new repository"): - # Alice creates a new repository - gitlab.succeed( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-alice \ - -d @${createProjectAlice} \ - http://gitlab/api/v4/projects)" = "201" ] - """ - ) - - # Alice commits an initial commit - gitlab.succeed( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-alice \ - -d @${putFile} \ - http://gitlab/api/v4/projects/${aliceProjectId}/repository/files/some-file.txt)" = "201" ]""" - ) - - with subtest("git clone over HTTP"): - gitlab.succeed( - """git clone http://gitlab/alice/${aliceProjectName}.git clone-via-http""", - timeout=15 - ) - - with subtest("Push a commit via SSH"): - gitlab.succeed( - f"""GIT_SSH_COMMAND="{GIT_SSH_COMMAND}" git clone gitlab@gitlab:alice/${aliceProjectName}.git""", - timeout=15 - ) - gitlab.succeed( - """echo "a commit sent over ssh" > ${aliceProjectName}/ssh.txt""" - ) - gitlab.succeed( - """ - cd ${aliceProjectName} || exit 1 - git add . - """ - ) - gitlab.succeed( - """ - cd ${aliceProjectName} || exit 1 - git commit -m "Add a commit to be sent over ssh" - """ - ) - gitlab.succeed( - f""" - cd ${aliceProjectName} || exit 1 - GIT_SSH_COMMAND="{GIT_SSH_COMMAND}" git push --set-upstream origin master - """, - timeout=15 - ) - - with subtest("Fork a project"): - # Bob forks Alice's project - gitlab.succeed( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-bob \ - http://gitlab/api/v4/projects/${aliceProjectId}/fork)" = "201" ] - """ - ) - - # Bob creates a commit - gitlab.wait_until_succeeds( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-bob \ - -d @${putFile} \ - http://gitlab/api/v4/projects/${bobProjectId}/repository/files/some-other-file.txt)" = "201" ] - """ - ) - - with subtest("Create a Merge Request"): - # Bob opens a merge request against Alice's repository - gitlab.wait_until_succeeds( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-bob \ - -d @${mergeRequest} \ - http://gitlab/api/v4/projects/${bobProjectId}/merge_requests)" = "201" ] - """ - ) - - # Alice merges the MR - gitlab.wait_until_succeeds( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X PUT \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-alice \ - -d @${mergeRequest} \ - http://gitlab/api/v4/projects/${aliceProjectId}/merge_requests/1/merge)" = "200" ] - """ - ) - - with subtest("Create an Issue"): - # Bob opens an issue on Alice's repository - gitlab.succeed( - """[ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X POST \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-bob \ - -d @${newIssue} \ - http://gitlab/api/v4/projects/${aliceProjectId}/issues)" = "201" ] - """ - ) - - # Alice closes the issue - gitlab.wait_until_succeeds( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -X PUT \ - -H 'Content-Type: application/json' \ - -H @/tmp/headers-alice -d @${closeIssue} http://gitlab/api/v4/projects/${aliceProjectId}/issues/1)" = "200" ] - """ - ) - '' + '' - with subtest("Download archive.tar.gz"): - gitlab.succeed( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -H @/tmp/headers-alice \ - http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.gz)" = "200" ] - """ - ) - gitlab.succeed( - """ - curl \ - -H @/tmp/headers-alice \ - http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.gz > /tmp/archive.tar.gz - """ - ) - gitlab.succeed("test -s /tmp/archive.tar.gz") - - with subtest("Download archive.tar.bz2"): - gitlab.succeed( - """ - [ "$(curl \ - -o /dev/null \ - -w '%{http_code}' \ - -H @/tmp/headers-alice \ - http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.bz2)" = "200" ] - """ - ) - gitlab.succeed( - """ - curl \ - -H @/tmp/headers-alice \ - http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.bz2 > /tmp/archive.tar.bz2 - """ - ) - gitlab.succeed("test -s /tmp/archive.tar.bz2") - ''; - - in '' + test = + doSetup: + '' + GIT_SSH_COMMAND = "ssh -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null" + + gitlab.succeed( + "curl -isSf http://gitlab | grep -i location | grep http://gitlab/users/sign_in" + ) + gitlab.succeed( + "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2" + ) + gitlab.succeed( + "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" + ) + '' + + lib.optionalString doSetup '' + with subtest("Create user Alice"): + gitlab.succeed( + """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserAlice} http://gitlab/api/v4/users)" = "201" ]""" + ) + gitlab.succeed( + "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${aliceAuth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers-alice" + ) + + with subtest("Create user Bob"): + gitlab.succeed( + """ [ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserBob} http://gitlab/api/v4/users)" = "201" ]""" + ) + gitlab.succeed( + "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${bobAuth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers-bob" + ) + + with subtest("Setup Git and SSH for Alice"): + gitlab.succeed("git config --global user.name Alice") + gitlab.succeed("git config --global user.email alice@nixos.invalid") + gitlab.succeed("mkdir -m 700 /root/.ssh") + gitlab.succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa") + gitlab.succeed("chmod 600 /root/.ssh/id_ecdsa") + gitlab.succeed( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-alice -d @${aliceAddSSHKey} \ + http://gitlab/api/v4/user/keys)" = "201" ] + """ + ) + + with subtest("Create a new repository"): + # Alice creates a new repository + gitlab.succeed( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-alice \ + -d @${createProjectAlice} \ + http://gitlab/api/v4/projects)" = "201" ] + """ + ) + + # Alice commits an initial commit + gitlab.succeed( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-alice \ + -d @${putFile} \ + http://gitlab/api/v4/projects/${aliceProjectId}/repository/files/some-file.txt)" = "201" ]""" + ) + + with subtest("git clone over HTTP"): + gitlab.succeed( + """git clone http://gitlab/alice/${aliceProjectName}.git clone-via-http""", + timeout=15 + ) + + with subtest("Push a commit via SSH"): + gitlab.succeed( + f"""GIT_SSH_COMMAND="{GIT_SSH_COMMAND}" git clone gitlab@gitlab:alice/${aliceProjectName}.git""", + timeout=15 + ) + gitlab.succeed( + """echo "a commit sent over ssh" > ${aliceProjectName}/ssh.txt""" + ) + gitlab.succeed( + """ + cd ${aliceProjectName} || exit 1 + git add . + """ + ) + gitlab.succeed( + """ + cd ${aliceProjectName} || exit 1 + git commit -m "Add a commit to be sent over ssh" + """ + ) + gitlab.succeed( + f""" + cd ${aliceProjectName} || exit 1 + GIT_SSH_COMMAND="{GIT_SSH_COMMAND}" git push --set-upstream origin master + """, + timeout=15 + ) + + with subtest("Fork a project"): + # Bob forks Alice's project + gitlab.succeed( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-bob \ + http://gitlab/api/v4/projects/${aliceProjectId}/fork)" = "201" ] + """ + ) + + # Bob creates a commit + gitlab.wait_until_succeeds( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-bob \ + -d @${putFile} \ + http://gitlab/api/v4/projects/${bobProjectId}/repository/files/some-other-file.txt)" = "201" ] + """ + ) + + with subtest("Create a Merge Request"): + # Bob opens a merge request against Alice's repository + gitlab.wait_until_succeeds( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-bob \ + -d @${mergeRequest} \ + http://gitlab/api/v4/projects/${bobProjectId}/merge_requests)" = "201" ] + """ + ) + + # Alice merges the MR + gitlab.wait_until_succeeds( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X PUT \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-alice \ + -d @${mergeRequest} \ + http://gitlab/api/v4/projects/${aliceProjectId}/merge_requests/1/merge)" = "200" ] + """ + ) + + with subtest("Create an Issue"): + # Bob opens an issue on Alice's repository + gitlab.succeed( + """[ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X POST \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-bob \ + -d @${newIssue} \ + http://gitlab/api/v4/projects/${aliceProjectId}/issues)" = "201" ] + """ + ) + + # Alice closes the issue + gitlab.wait_until_succeeds( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -X PUT \ + -H 'Content-Type: application/json' \ + -H @/tmp/headers-alice -d @${closeIssue} http://gitlab/api/v4/projects/${aliceProjectId}/issues/1)" = "200" ] + """ + ) + '' + + '' + with subtest("Download archive.tar.gz"): + gitlab.succeed( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -H @/tmp/headers-alice \ + http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.gz)" = "200" ] + """ + ) + gitlab.succeed( + """ + curl \ + -H @/tmp/headers-alice \ + http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.gz > /tmp/archive.tar.gz + """ + ) + gitlab.succeed("test -s /tmp/archive.tar.gz") + + with subtest("Download archive.tar.bz2"): + gitlab.succeed( + """ + [ "$(curl \ + -o /dev/null \ + -w '%{http_code}' \ + -H @/tmp/headers-alice \ + http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.bz2)" = "200" ] + """ + ) + gitlab.succeed( + """ + curl \ + -H @/tmp/headers-alice \ + http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.bz2 > /tmp/archive.tar.bz2 + """ + ) + gitlab.succeed("test -s /tmp/archive.tar.bz2") + ''; + + in + '' gitlab.start() '' + waitForServices diff --git a/nixos/tests/gitolite-fcgiwrap.nix b/nixos/tests/gitolite-fcgiwrap.nix index 43d65faebbee2..9560c5c349137 100644 --- a/nixos/tests/gitolite-fcgiwrap.nix +++ b/nixos/tests/gitolite-fcgiwrap.nix @@ -1,98 +1,98 @@ import ./make-test-python.nix ( { pkgs, ... }: - let - user = "gitolite-admin"; - password = "some_password"; - - # not used but needed to setup gitolite - adminPublicKey = '' - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7urFhAA90BTpGuEHeWWTY3W/g9PBxXNxfWhfbrm4Le root@client - ''; - in - { - name = "gitolite-fcgiwrap"; - - meta = with pkgs.lib.maintainers; { - maintainers = [ bbigras ]; + let + user = "gitolite-admin"; + password = "some_password"; + + # not used but needed to setup gitolite + adminPublicKey = '' + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7urFhAA90BTpGuEHeWWTY3W/g9PBxXNxfWhfbrm4Le root@client + ''; + in + { + name = "gitolite-fcgiwrap"; + + meta = with pkgs.lib.maintainers; { + maintainers = [ bbigras ]; + }; + + nodes = { + + server = + { config, ... }: + { + networking.firewall.allowedTCPPorts = [ 80 ]; + + services.fcgiwrap.instances.gitolite = { + process.user = "gitolite"; + process.group = "gitolite"; + socket = { inherit (config.services.nginx) user group; }; + }; + + services.gitolite = { + enable = true; + adminPubkey = adminPublicKey; + }; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts."server".locations."/git".extraConfig = '' + # turn off gzip as git objects are already well compressed + gzip off; + + # use file based basic authentication + auth_basic "Git Repository Authentication"; + auth_basic_user_file /etc/gitolite/htpasswd; + + # common FastCGI parameters are required + include ${config.services.nginx.package}/conf/fastcgi_params; + + # strip the CGI program prefix + fastcgi_split_path_info ^(/git)(.*)$; + fastcgi_param PATH_INFO $fastcgi_path_info; + + # pass authenticated user login(mandatory) to Gitolite + fastcgi_param REMOTE_USER $remote_user; + + # pass git repository root directory and hosting user directory + # these env variables can be set in a wrapper script + fastcgi_param GIT_HTTP_EXPORT_ALL ""; + fastcgi_param GIT_PROJECT_ROOT /var/lib/gitolite/repositories; + fastcgi_param GITOLITE_HTTP_HOME /var/lib/gitolite; + fastcgi_param SCRIPT_FILENAME ${pkgs.gitolite}/bin/gitolite-shell; + + # use Unix domain socket or inet socket + fastcgi_pass unix:${config.services.fcgiwrap.instances.gitolite.socket.address}; + ''; + }; + + # WARNING: DON'T DO THIS IN PRODUCTION! + # This puts unhashed secrets directly into the Nix store for ease of testing. + environment.etc."gitolite/htpasswd".source = pkgs.runCommand "htpasswd" { } '' + ${pkgs.apacheHttpd}/bin/htpasswd -bc "$out" ${user} ${password} + ''; }; - nodes = { - - server = - { config, ... }: - { - networking.firewall.allowedTCPPorts = [ 80 ]; - - services.fcgiwrap.instances.gitolite = { - process.user = "gitolite"; - process.group = "gitolite"; - socket = { inherit (config.services.nginx) user group; }; - }; - - services.gitolite = { - enable = true; - adminPubkey = adminPublicKey; - }; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - virtualHosts."server".locations."/git".extraConfig = '' - # turn off gzip as git objects are already well compressed - gzip off; - - # use file based basic authentication - auth_basic "Git Repository Authentication"; - auth_basic_user_file /etc/gitolite/htpasswd; - - # common FastCGI parameters are required - include ${config.services.nginx.package}/conf/fastcgi_params; - - # strip the CGI program prefix - fastcgi_split_path_info ^(/git)(.*)$; - fastcgi_param PATH_INFO $fastcgi_path_info; - - # pass authenticated user login(mandatory) to Gitolite - fastcgi_param REMOTE_USER $remote_user; - - # pass git repository root directory and hosting user directory - # these env variables can be set in a wrapper script - fastcgi_param GIT_HTTP_EXPORT_ALL ""; - fastcgi_param GIT_PROJECT_ROOT /var/lib/gitolite/repositories; - fastcgi_param GITOLITE_HTTP_HOME /var/lib/gitolite; - fastcgi_param SCRIPT_FILENAME ${pkgs.gitolite}/bin/gitolite-shell; - - # use Unix domain socket or inet socket - fastcgi_pass unix:${config.services.fcgiwrap.instances.gitolite.socket.address}; - ''; - }; - - # WARNING: DON'T DO THIS IN PRODUCTION! - # This puts unhashed secrets directly into the Nix store for ease of testing. - environment.etc."gitolite/htpasswd".source = pkgs.runCommand "htpasswd" {} '' - ${pkgs.apacheHttpd}/bin/htpasswd -bc "$out" ${user} ${password} - ''; - }; - - client = - { pkgs, ... }: - { - environment.systemPackages = [ pkgs.git ]; - }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.git ]; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("gitolite-init.service") - server.wait_for_unit("nginx.service") - server.wait_for_file("/run/fcgiwrap-gitolite.sock") + server.wait_for_unit("gitolite-init.service") + server.wait_for_unit("nginx.service") + server.wait_for_file("/run/fcgiwrap-gitolite.sock") - client.wait_for_unit("multi-user.target") - client.succeed( - "git clone http://${user}:${password}@server/git/gitolite-admin.git" - ) - ''; - } + client.wait_for_unit("multi-user.target") + client.succeed( + "git clone http://${user}:${password}@server/git/gitolite-admin.git" + ) + ''; + } ) diff --git a/nixos/tests/gitolite.nix b/nixos/tests/gitolite.nix index 9b3af59e4fbd8..af2aa327c0167 100644 --- a/nixos/tests/gitolite.nix +++ b/nixos/tests/gitolite.nix @@ -1,138 +1,144 @@ -import ./make-test-python.nix ({ pkgs, ...}: - -let - adminPrivateKey = pkgs.writeText "id_ed25519" '' - -----BEGIN OPENSSH PRIVATE KEY----- - b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW - QyNTUxOQAAACDu7qxYQAPdAU6RrhB3llk2N1v4PTwcVzcX1oX265uC3gAAAJBJiYxDSYmM - QwAAAAtzc2gtZWQyNTUxOQAAACDu7qxYQAPdAU6RrhB3llk2N1v4PTwcVzcX1oX265uC3g - AAAEDE1W6vMwSEUcF1r7Hyypm/+sCOoDmKZgPxi3WOa1mD2u7urFhAA90BTpGuEHeWWTY3 - W/g9PBxXNxfWhfbrm4LeAAAACGJmb0BtaW5pAQIDBAU= - -----END OPENSSH PRIVATE KEY----- - ''; - - adminPublicKey = '' - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7urFhAA90BTpGuEHeWWTY3W/g9PBxXNxfWhfbrm4Le root@client - ''; - - alicePrivateKey = pkgs.writeText "id_ed25519" '' - -----BEGIN OPENSSH PRIVATE KEY----- - b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW - QyNTUxOQAAACBbeWvHh/AWGWI6EIc1xlSihyXtacNQ9KeztlW/VUy8wQAAAJAwVQ5VMFUO - VQAAAAtzc2gtZWQyNTUxOQAAACBbeWvHh/AWGWI6EIc1xlSihyXtacNQ9KeztlW/VUy8wQ - AAAEB7lbfkkdkJoE+4TKHPdPQWBKLSx+J54Eg8DaTr+3KoSlt5a8eH8BYZYjoQhzXGVKKH - Je1pw1D0p7O2Vb9VTLzBAAAACGJmb0BtaW5pAQIDBAU= - -----END OPENSSH PRIVATE KEY----- - ''; - - alicePublicKey = pkgs.writeText "id_ed25519.pub" '' - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFt5a8eH8BYZYjoQhzXGVKKHJe1pw1D0p7O2Vb9VTLzB alice@client - ''; - - bobPrivateKey = pkgs.writeText "id_ed25519" '' - -----BEGIN OPENSSH PRIVATE KEY----- - b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW - QyNTUxOQAAACCWTaJ1D9Xjxy6759FvQ9oXTes1lmWBciXPkEeqTikBMAAAAJDQBmNV0AZj - VQAAAAtzc2gtZWQyNTUxOQAAACCWTaJ1D9Xjxy6759FvQ9oXTes1lmWBciXPkEeqTikBMA - AAAEDM1IYYFUwk/IVxauha9kuR6bbRtT3gZ6ZA0GLb9txb/pZNonUP1ePHLrvn0W9D2hdN - 6zWWZYFyJc+QR6pOKQEwAAAACGJmb0BtaW5pAQIDBAU= - -----END OPENSSH PRIVATE KEY----- - ''; - - bobPublicKey = pkgs.writeText "id_ed25519.pub" '' - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZNonUP1ePHLrvn0W9D2hdN6zWWZYFyJc+QR6pOKQEw bob@client - ''; - - gitoliteAdminConfSnippet = pkgs.writeText "gitolite-admin-conf-snippet" '' - repo alice-project - RW+ = alice - ''; -in -{ - name = "gitolite"; - - meta = with pkgs.lib.maintainers; { - maintainers = [ bjornfor ]; - }; - - nodes = { - - server = - { ... }: - { - services.gitolite = { - enable = true; - adminPubkey = adminPublicKey; +import ./make-test-python.nix ( + { pkgs, ... }: + + let + adminPrivateKey = pkgs.writeText "id_ed25519" '' + -----BEGIN OPENSSH PRIVATE KEY----- + b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW + QyNTUxOQAAACDu7qxYQAPdAU6RrhB3llk2N1v4PTwcVzcX1oX265uC3gAAAJBJiYxDSYmM + QwAAAAtzc2gtZWQyNTUxOQAAACDu7qxYQAPdAU6RrhB3llk2N1v4PTwcVzcX1oX265uC3g + AAAEDE1W6vMwSEUcF1r7Hyypm/+sCOoDmKZgPxi3WOa1mD2u7urFhAA90BTpGuEHeWWTY3 + W/g9PBxXNxfWhfbrm4LeAAAACGJmb0BtaW5pAQIDBAU= + -----END OPENSSH PRIVATE KEY----- + ''; + + adminPublicKey = '' + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7urFhAA90BTpGuEHeWWTY3W/g9PBxXNxfWhfbrm4Le root@client + ''; + + alicePrivateKey = pkgs.writeText "id_ed25519" '' + -----BEGIN OPENSSH PRIVATE KEY----- + b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW + QyNTUxOQAAACBbeWvHh/AWGWI6EIc1xlSihyXtacNQ9KeztlW/VUy8wQAAAJAwVQ5VMFUO + VQAAAAtzc2gtZWQyNTUxOQAAACBbeWvHh/AWGWI6EIc1xlSihyXtacNQ9KeztlW/VUy8wQ + AAAEB7lbfkkdkJoE+4TKHPdPQWBKLSx+J54Eg8DaTr+3KoSlt5a8eH8BYZYjoQhzXGVKKH + Je1pw1D0p7O2Vb9VTLzBAAAACGJmb0BtaW5pAQIDBAU= + -----END OPENSSH PRIVATE KEY----- + ''; + + alicePublicKey = pkgs.writeText "id_ed25519.pub" '' + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFt5a8eH8BYZYjoQhzXGVKKHJe1pw1D0p7O2Vb9VTLzB alice@client + ''; + + bobPrivateKey = pkgs.writeText "id_ed25519" '' + -----BEGIN OPENSSH PRIVATE KEY----- + b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW + QyNTUxOQAAACCWTaJ1D9Xjxy6759FvQ9oXTes1lmWBciXPkEeqTikBMAAAAJDQBmNV0AZj + VQAAAAtzc2gtZWQyNTUxOQAAACCWTaJ1D9Xjxy6759FvQ9oXTes1lmWBciXPkEeqTikBMA + AAAEDM1IYYFUwk/IVxauha9kuR6bbRtT3gZ6ZA0GLb9txb/pZNonUP1ePHLrvn0W9D2hdN + 6zWWZYFyJc+QR6pOKQEwAAAACGJmb0BtaW5pAQIDBAU= + -----END OPENSSH PRIVATE KEY----- + ''; + + bobPublicKey = pkgs.writeText "id_ed25519.pub" '' + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZNonUP1ePHLrvn0W9D2hdN6zWWZYFyJc+QR6pOKQEw bob@client + ''; + + gitoliteAdminConfSnippet = pkgs.writeText "gitolite-admin-conf-snippet" '' + repo alice-project + RW+ = alice + ''; + in + { + name = "gitolite"; + + meta = with pkgs.lib.maintainers; { + maintainers = [ bjornfor ]; + }; + + nodes = { + + server = + { ... }: + { + services.gitolite = { + enable = true; + adminPubkey = adminPublicKey; + }; + services.openssh.enable = true; }; - services.openssh.enable = true; - }; - - client = - { pkgs, ... }: - { - environment.systemPackages = [ pkgs.git ]; - programs.ssh.extraConfig = '' - Host * - UserKnownHostsFile /dev/null - StrictHostKeyChecking no - # there's nobody around that can input password - PreferredAuthentications publickey - ''; - users.users.alice = { isNormalUser = true; }; - users.users.bob = { isNormalUser = true; }; - }; - - }; - - testScript = '' - start_all() - - with subtest("can setup ssh keys on system"): - client.succeed( - "mkdir -p ~root/.ssh", - "cp ${adminPrivateKey} ~root/.ssh/id_ed25519", - "chmod 600 ~root/.ssh/id_ed25519", - ) - client.succeed( - "sudo -u alice mkdir -p ~alice/.ssh", - "sudo -u alice cp ${alicePrivateKey} ~alice/.ssh/id_ed25519", - "sudo -u alice chmod 600 ~alice/.ssh/id_ed25519", - ) - client.succeed( - "sudo -u bob mkdir -p ~bob/.ssh", - "sudo -u bob cp ${bobPrivateKey} ~bob/.ssh/id_ed25519", - "sudo -u bob chmod 600 ~bob/.ssh/id_ed25519", - ) - - with subtest("gitolite server starts"): - server.wait_for_unit("gitolite-init.service") - server.wait_for_unit("sshd.service") - client.succeed("ssh -n gitolite@server info") - - with subtest("admin can clone and configure gitolite-admin.git"): - client.succeed( - "git clone gitolite@server:gitolite-admin.git", - "git config --global user.name 'System Administrator'", - "git config --global user.email root\@domain.example", - "cp ${alicePublicKey} gitolite-admin/keydir/alice.pub", - "cp ${bobPublicKey} gitolite-admin/keydir/bob.pub", - "(cd gitolite-admin && git add . && git commit -m 'Add keys for alice, bob' && git push)", - "cat ${gitoliteAdminConfSnippet} >> gitolite-admin/conf/gitolite.conf", - "(cd gitolite-admin && git add . && git commit -m 'Add repo for alice' && git push)", - ) - - with subtest("non-admins cannot clone gitolite-admin.git"): - client.fail("sudo -i -u alice git clone gitolite@server:gitolite-admin.git") - client.fail("sudo -i -u bob git clone gitolite@server:gitolite-admin.git") - - with subtest("non-admins can clone testing.git"): - client.succeed("sudo -i -u alice git clone gitolite@server:testing.git") - client.succeed("sudo -i -u bob git clone gitolite@server:testing.git") - - with subtest("alice can clone alice-project.git"): - client.succeed("sudo -i -u alice git clone gitolite@server:alice-project.git") - - with subtest("bob cannot clone alice-project.git"): - client.fail("sudo -i -u bob git clone gitolite@server:alice-project.git") - ''; -}) + + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.git ]; + programs.ssh.extraConfig = '' + Host * + UserKnownHostsFile /dev/null + StrictHostKeyChecking no + # there's nobody around that can input password + PreferredAuthentications publickey + ''; + users.users.alice = { + isNormalUser = true; + }; + users.users.bob = { + isNormalUser = true; + }; + }; + + }; + + testScript = '' + start_all() + + with subtest("can setup ssh keys on system"): + client.succeed( + "mkdir -p ~root/.ssh", + "cp ${adminPrivateKey} ~root/.ssh/id_ed25519", + "chmod 600 ~root/.ssh/id_ed25519", + ) + client.succeed( + "sudo -u alice mkdir -p ~alice/.ssh", + "sudo -u alice cp ${alicePrivateKey} ~alice/.ssh/id_ed25519", + "sudo -u alice chmod 600 ~alice/.ssh/id_ed25519", + ) + client.succeed( + "sudo -u bob mkdir -p ~bob/.ssh", + "sudo -u bob cp ${bobPrivateKey} ~bob/.ssh/id_ed25519", + "sudo -u bob chmod 600 ~bob/.ssh/id_ed25519", + ) + + with subtest("gitolite server starts"): + server.wait_for_unit("gitolite-init.service") + server.wait_for_unit("sshd.service") + client.succeed("ssh -n gitolite@server info") + + with subtest("admin can clone and configure gitolite-admin.git"): + client.succeed( + "git clone gitolite@server:gitolite-admin.git", + "git config --global user.name 'System Administrator'", + "git config --global user.email root\@domain.example", + "cp ${alicePublicKey} gitolite-admin/keydir/alice.pub", + "cp ${bobPublicKey} gitolite-admin/keydir/bob.pub", + "(cd gitolite-admin && git add . && git commit -m 'Add keys for alice, bob' && git push)", + "cat ${gitoliteAdminConfSnippet} >> gitolite-admin/conf/gitolite.conf", + "(cd gitolite-admin && git add . && git commit -m 'Add repo for alice' && git push)", + ) + + with subtest("non-admins cannot clone gitolite-admin.git"): + client.fail("sudo -i -u alice git clone gitolite@server:gitolite-admin.git") + client.fail("sudo -i -u bob git clone gitolite@server:gitolite-admin.git") + + with subtest("non-admins can clone testing.git"): + client.succeed("sudo -i -u alice git clone gitolite@server:testing.git") + client.succeed("sudo -i -u bob git clone gitolite@server:testing.git") + + with subtest("alice can clone alice-project.git"): + client.succeed("sudo -i -u alice git clone gitolite@server:alice-project.git") + + with subtest("bob cannot clone alice-project.git"): + client.fail("sudo -i -u bob git clone gitolite@server:alice-project.git") + ''; + } +) diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix index ef09264a02167..8beed8e4a91fb 100644 --- a/nixos/tests/glusterfs.nix +++ b/nixos/tests/glusterfs.nix @@ -1,68 +1,75 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - client = { pkgs, ... } : { - environment.systemPackages = [ pkgs.glusterfs ]; - virtualisation.fileSystems = - { "/gluster" = - { device = "server1:/gv0"; + let + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.glusterfs ]; + virtualisation.fileSystems = { + "/gluster" = { + device = "server1:/gv0"; fsType = "glusterfs"; }; + }; }; - }; - server = { pkgs, ... } : { - networking.firewall.enable = false; - services.glusterfs.enable = true; + server = + { pkgs, ... }: + { + networking.firewall.enable = false; + services.glusterfs.enable = true; - # create a mount point for the volume - boot.initrd.postDeviceCommands = '' - ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb - ''; + # create a mount point for the volume + boot.initrd.postDeviceCommands = '' + ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb + ''; - virtualisation.emptyDiskImages = [ 1024 ]; + virtualisation.emptyDiskImages = [ 1024 ]; - virtualisation.fileSystems = - { "/data" = - { device = "/dev/disk/by-label/data"; + virtualisation.fileSystems = { + "/data" = { + device = "/dev/disk/by-label/data"; fsType = "ext4"; }; + }; }; - }; -in { - name = "glusterfs"; + in + { + name = "glusterfs"; - nodes = { - server1 = server; - server2 = server; - client1 = client; - client2 = client; - }; + nodes = { + server1 = server; + server2 = server; + client1 = client; + client2 = client; + }; - testScript = '' - server1.wait_for_unit("glusterd.service") - server2.wait_for_unit("glusterd.service") + testScript = '' + server1.wait_for_unit("glusterd.service") + server2.wait_for_unit("glusterd.service") - server1.wait_until_succeeds("gluster peer status") - server2.wait_until_succeeds("gluster peer status") + server1.wait_until_succeeds("gluster peer status") + server2.wait_until_succeeds("gluster peer status") - # establish initial contact - server1.succeed("gluster peer probe server2") - server1.succeed("gluster peer probe server1") + # establish initial contact + server1.succeed("gluster peer probe server2") + server1.succeed("gluster peer probe server1") - server1.succeed("gluster peer status | grep Connected") + server1.succeed("gluster peer status | grep Connected") - # create volumes - server1.succeed("mkdir -p /data/vg0") - server2.succeed("mkdir -p /data/vg0") - server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0") - server1.succeed("gluster volume start gv0") + # create volumes + server1.succeed("mkdir -p /data/vg0") + server2.succeed("mkdir -p /data/vg0") + server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0") + server1.succeed("gluster volume start gv0") - # test clients - client1.wait_for_unit("gluster.mount") - client2.wait_for_unit("gluster.mount") + # test clients + client1.wait_for_unit("gluster.mount") + client2.wait_for_unit("gluster.mount") - client1.succeed("echo test > /gluster/file1") - client2.succeed("grep test /gluster/file1") - ''; -}) + client1.succeed("echo test > /gluster/file1") + client2.succeed("grep test /gluster/file1") + ''; + } +) diff --git a/nixos/tests/gnome-extensions.nix b/nixos/tests/gnome-extensions.nix index 109fdf6b0846c..9fb868f824546 100644 --- a/nixos/tests/gnome-extensions.nix +++ b/nixos/tests/gnome-extensions.nix @@ -1,150 +1,155 @@ import ./make-test-python.nix ( -{ pkgs, lib, ...}: -{ - name = "gnome-extensions"; - meta.maintainers = [ ]; - - nodes.machine = - { pkgs, ... }: - { - imports = [ ./common/user-account.nix ]; - - # Install all extensions - environment.systemPackages = lib.filter (e: e ? extensionUuid) (lib.attrValues pkgs.gnomeExtensions); - - # Some extensions are broken, but that's kind of the point of a testing VM - nixpkgs.config.allowBroken = true; - # There are some aliases which throw exceptions; ignore them. - # Also prevent duplicate extensions under different names. - nixpkgs.config.allowAliases = false; - - # Configure GDM - services.xserver.enable = true; - services.xserver.displayManager = { - gdm = { - enable = true; - debug = true; - wayland = true; - }; - autoLogin = { - enable = true; - user = "alice"; + { pkgs, lib, ... }: + { + name = "gnome-extensions"; + meta.maintainers = [ ]; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + + # Install all extensions + environment.systemPackages = lib.filter (e: e ? extensionUuid) ( + lib.attrValues pkgs.gnomeExtensions + ); + + # Some extensions are broken, but that's kind of the point of a testing VM + nixpkgs.config.allowBroken = true; + # There are some aliases which throw exceptions; ignore them. + # Also prevent duplicate extensions under different names. + nixpkgs.config.allowAliases = false; + + # Configure GDM + services.xserver.enable = true; + services.xserver.displayManager = { + gdm = { + enable = true; + debug = true; + wayland = true; + }; + autoLogin = { + enable = true; + user = "alice"; + }; }; - }; - # Configure Gnome - services.xserver.desktopManager.gnome.enable = true; - services.xserver.desktopManager.gnome.debug = true; - - systemd.user.services = { - "org.gnome.Shell@wayland" = { - serviceConfig = { - ExecStart = [ - # Clear the list before overriding it. - "" - # Eval API is now internal so Shell needs to run in unsafe mode. - # TODO: improve test driver so that it supports openqa-like manipulation - # that would allow us to drop this mess. - "${pkgs.gnome-shell}/bin/gnome-shell --unsafe-mode" - ]; + # Configure Gnome + services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.debug = true; + + systemd.user.services = { + "org.gnome.Shell@wayland" = { + serviceConfig = { + ExecStart = [ + # Clear the list before overriding it. + "" + # Eval API is now internal so Shell needs to run in unsafe mode. + # TODO: improve test driver so that it supports openqa-like manipulation + # that would allow us to drop this mess. + "${pkgs.gnome-shell}/bin/gnome-shell --unsafe-mode" + ]; + }; }; }; + }; - }; - - testScript = { nodes, ... }: let - # Keep line widths somewhat manageable - user = nodes.machine.users.users.alice; - uid = toString user.uid; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; - # Run a command in the appropriate user environment - run = command: "su - ${user.name} -c '${bus} ${command}'"; - - # Call javascript in gnome shell, returns a tuple (success, output), where - # `success` is true if the dbus call was successful and output is what the - # javascript evaluates to. - eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}"; - - # False when startup is done - startingUp = eval "Main.layoutManager._startingUp"; - - # Extensions to keep always enabled together - # Those are extensions that are usually always on for many users, and that we expect to work - # well together with most others without conflicts - alwaysOnExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [ - "applications-menu" - "user-themes" - ]; - - # Extensions to enable and disable individually - # Extensions like dash-to-dock and dash-to-panel cannot be enabled at the same time. - testExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [ - "appindicator" - "dash-to-dock" - "dash-to-panel" - "ddterm" - "gsconnect" - "system-monitor-next" - "desktop-icons-ng-ding" - "workspace-indicator" - "vitals" - ]; - in - '' - with subtest("Login to GNOME with GDM"): - # wait for gdm to start - machine.wait_for_unit("display-manager.service") - # wait for the wayland server - machine.wait_for_file("/run/user/${uid}/wayland-0") - # wait for alice to be logged in - machine.wait_for_unit("default.target", "${user.name}") - # check that logging in has given the user ownership of devices - assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") - - with subtest("Wait for GNOME Shell"): - # correct output should be (true, 'false') - machine.wait_until_succeeds( - "${startingUp} | grep -q 'true,..false'" - ) - - # Close the Activities view so that Shell can correctly track the focused window. - machine.send_key("esc") - # # Disable extension version validation (only use for manual testing) - # machine.succeed( - # "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}" - # ) - - # Assert that some extension is in a specific state - def checkState(target, extension): - state = machine.succeed( - f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'" - ) - assert target in state, f"{state} instead of {target}" - - def checkExtension(extension, disable): - with subtest(f"Enable extension '{extension}'"): - # Check that the extension is properly initialized; skip out of date ones - state = machine.succeed( - f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'" + testScript = + { nodes, ... }: + let + # Keep line widths somewhat manageable + user = nodes.machine.users.users.alice; + uid = toString user.uid; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; + # Run a command in the appropriate user environment + run = command: "su - ${user.name} -c '${bus} ${command}'"; + + # Call javascript in gnome shell, returns a tuple (success, output), where + # `success` is true if the dbus call was successful and output is what the + # javascript evaluates to. + eval = + command: + run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}"; + + # False when startup is done + startingUp = eval "Main.layoutManager._startingUp"; + + # Extensions to keep always enabled together + # Those are extensions that are usually always on for many users, and that we expect to work + # well together with most others without conflicts + alwaysOnExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [ + "applications-menu" + "user-themes" + ]; + + # Extensions to enable and disable individually + # Extensions like dash-to-dock and dash-to-panel cannot be enabled at the same time. + testExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [ + "appindicator" + "dash-to-dock" + "dash-to-panel" + "ddterm" + "gsconnect" + "system-monitor-next" + "desktop-icons-ng-ding" + "workspace-indicator" + "vitals" + ]; + in + '' + with subtest("Login to GNOME with GDM"): + # wait for gdm to start + machine.wait_for_unit("display-manager.service") + # wait for the wayland server + machine.wait_for_file("/run/user/${uid}/wayland-0") + # wait for alice to be logged in + machine.wait_for_unit("default.target", "${user.name}") + # check that logging in has given the user ownership of devices + assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") + + with subtest("Wait for GNOME Shell"): + # correct output should be (true, 'false') + machine.wait_until_succeeds( + "${startingUp} | grep -q 'true,..false'" ) - if "OUT OF DATE" in state: - machine.log(f"Extension {extension} will be skipped because out of date") - return - - assert "INITIALIZED" in state, f"{state} instead of INITIALIZED" - - # Enable and optionally disable - machine.succeed(f"${run "gnome-extensions enable {extension}"}") - checkState("ACTIVE", extension) + # Close the Activities view so that Shell can correctly track the focused window. + machine.send_key("esc") + # # Disable extension version validation (only use for manual testing) + # machine.succeed( + # "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}" + # ) - if disable: - machine.succeed(f"${run "gnome-extensions disable {extension}"}") - checkState("INACTIVE", extension) - '' - + lib.concatLines (map (e: ''checkExtension("${e}", False)'') alwaysOnExtensions) - + lib.concatLines (map (e: ''checkExtension("${e}", True)'') testExtensions) - ; -} + # Assert that some extension is in a specific state + def checkState(target, extension): + state = machine.succeed( + f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'" + ) + assert target in state, f"{state} instead of {target}" + + def checkExtension(extension, disable): + with subtest(f"Enable extension '{extension}'"): + # Check that the extension is properly initialized; skip out of date ones + state = machine.succeed( + f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'" + ) + if "OUT OF DATE" in state: + machine.log(f"Extension {extension} will be skipped because out of date") + return + + assert "INITIALIZED" in state, f"{state} instead of INITIALIZED" + + # Enable and optionally disable + + machine.succeed(f"${run "gnome-extensions enable {extension}"}") + checkState("ACTIVE", extension) + + if disable: + machine.succeed(f"${run "gnome-extensions disable {extension}"}") + checkState("INACTIVE", extension) + '' + + lib.concatLines (map (e: ''checkExtension("${e}", False)'') alwaysOnExtensions) + + lib.concatLines (map (e: ''checkExtension("${e}", True)'') testExtensions); + } ) diff --git a/nixos/tests/gnome-flashback.nix b/nixos/tests/gnome-flashback.nix index e0a1d256c8c20..b96245b4461e2 100644 --- a/nixos/tests/gnome-flashback.nix +++ b/nixos/tests/gnome-flashback.nix @@ -1,53 +1,61 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "gnome-flashback"; - meta.maintainers = lib.teams.gnome.members ++ [ lib.maintainers.chpatrick ]; - - nodes.machine = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - in - - { imports = [ ./common/user-account.nix ]; - - services.xserver.enable = true; - - services.xserver.displayManager = { - gdm.enable = true; - gdm.debug = true; - }; - - services.displayManager.autoLogin = { - enable = true; - user = user.name; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "gnome-flashback"; + meta.maintainers = lib.teams.gnome.members ++ [ lib.maintainers.chpatrick ]; + + nodes.machine = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + + { + imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager = { + gdm.enable = true; + gdm.debug = true; + }; + + services.displayManager.autoLogin = { + enable = true; + user = user.name; + }; + + services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.debug = true; + services.xserver.desktopManager.gnome.flashback.enableMetacity = true; + services.displayManager.defaultSession = "gnome-flashback-metacity"; }; - services.xserver.desktopManager.gnome.enable = true; - services.xserver.desktopManager.gnome.debug = true; - services.xserver.desktopManager.gnome.flashback.enableMetacity = true; - services.displayManager.defaultSession = "gnome-flashback-metacity"; - }; - - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - uid = toString user.uid; - xauthority = "/run/user/${uid}/gdm/Xauthority"; - in '' - with subtest("Login to GNOME Flashback with GDM"): - machine.wait_for_x() - machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"') - # Wait for alice to be logged in" - machine.wait_for_unit("default.target", "${user.name}") - machine.wait_for_file("${xauthority}") - machine.succeed("xauth merge ${xauthority}") - # Check that logging in has given the user ownership of devices - assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") - - with subtest("Wait for Metacity"): - machine.wait_until_succeeds("pgrep metacity") - - with subtest("Regression test for #233920"): - machine.wait_until_succeeds("pgrep -fa gnome-flashback-media-keys") - machine.sleep(20) - machine.screenshot("screen") - ''; -}) + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + uid = toString user.uid; + xauthority = "/run/user/${uid}/gdm/Xauthority"; + in + '' + with subtest("Login to GNOME Flashback with GDM"): + machine.wait_for_x() + machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"') + # Wait for alice to be logged in" + machine.wait_for_unit("default.target", "${user.name}") + machine.wait_for_file("${xauthority}") + machine.succeed("xauth merge ${xauthority}") + # Check that logging in has given the user ownership of devices + assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") + + with subtest("Wait for Metacity"): + machine.wait_until_succeeds("pgrep metacity") + + with subtest("Regression test for #233920"): + machine.wait_until_succeeds("pgrep -fa gnome-flashback-media-keys") + machine.sleep(20) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/gnome-xorg.nix b/nixos/tests/gnome-xorg.nix index 45538ef4eab40..b605781ce40f3 100644 --- a/nixos/tests/gnome-xorg.nix +++ b/nixos/tests/gnome-xorg.nix @@ -1,100 +1,111 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "gnome-xorg"; - meta = { - maintainers = lib.teams.gnome.members; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "gnome-xorg"; + meta = { + maintainers = lib.teams.gnome.members; + }; - nodes.machine = { nodes, ... }: let - user = nodes.machine.users.users.alice; - in + nodes.machine = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in - { imports = [ ./common/user-account.nix ]; + { + imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; + services.xserver.enable = true; - services.xserver.displayManager = { - gdm.enable = true; - gdm.debug = true; - }; + services.xserver.displayManager = { + gdm.enable = true; + gdm.debug = true; + }; - services.displayManager.autoLogin = { - enable = true; - user = user.name; - }; + services.displayManager.autoLogin = { + enable = true; + user = user.name; + }; - services.xserver.desktopManager.gnome.enable = true; - services.xserver.desktopManager.gnome.debug = true; - services.displayManager.defaultSession = "gnome-xorg"; - - systemd.user.services = { - "org.gnome.Shell@x11" = { - serviceConfig = { - ExecStart = [ - # Clear the list before overriding it. - "" - # Eval API is now internal so Shell needs to run in unsafe mode. - # TODO: improve test driver so that it supports openqa-like manipulation - # that would allow us to drop this mess. - "${pkgs.gnome-shell}/bin/gnome-shell --unsafe-mode" - ]; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.debug = true; + services.displayManager.defaultSession = "gnome-xorg"; + + systemd.user.services = { + "org.gnome.Shell@x11" = { + serviceConfig = { + ExecStart = [ + # Clear the list before overriding it. + "" + # Eval API is now internal so Shell needs to run in unsafe mode. + # TODO: improve test driver so that it supports openqa-like manipulation + # that would allow us to drop this mess. + "${pkgs.gnome-shell}/bin/gnome-shell --unsafe-mode" + ]; + }; }; }; - }; - }; + }; - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - uid = toString user.uid; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; - xauthority = "/run/user/${uid}/gdm/Xauthority"; - display = "DISPLAY=:0.0"; - env = "${bus} XAUTHORITY=${xauthority} ${display}"; - # Run a command in the appropriate user environment - run = command: "su - ${user.name} -c '${bus} ${command}'"; - - # Call javascript in gnome shell, returns a tuple (success, output), where - # `success` is true if the dbus call was successful and output is what the - # javascript evaluates to. - eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}"; - - # False when startup is done - startingUp = eval "Main.layoutManager._startingUp"; - - # Start Console - launchConsole = run "gapplication launch org.gnome.Console"; - - # Hopefully Console's wm class - wmClass = eval "global.display.focus_window.wm_class"; - in '' - with subtest("Login to GNOME Xorg with GDM"): - machine.wait_for_x() - # Wait for alice to be logged in" - machine.wait_for_unit("default.target", "${user.name}") - machine.wait_for_file("${xauthority}") - machine.succeed("xauth merge ${xauthority}") - # Check that logging in has given the user ownership of devices - assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") - - with subtest("Wait for GNOME Shell"): - # correct output should be (true, 'false') - machine.wait_until_succeeds( - "${startingUp} | grep -q 'true,..false'" - ) - - with subtest("Open Console"): - # Close the Activities view so that Shell can correctly track the focused window. - machine.send_key("esc") - - machine.succeed( - "${launchConsole}" - ) - # correct output should be (true, '"kgx"') - # For some reason, this deviates from Wayland. - machine.wait_until_succeeds( - "${wmClass} | grep -q 'true,...kgx'" - ) - machine.sleep(20) - machine.screenshot("screen") - ''; -}) + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + uid = toString user.uid; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; + xauthority = "/run/user/${uid}/gdm/Xauthority"; + display = "DISPLAY=:0.0"; + env = "${bus} XAUTHORITY=${xauthority} ${display}"; + # Run a command in the appropriate user environment + run = command: "su - ${user.name} -c '${bus} ${command}'"; + + # Call javascript in gnome shell, returns a tuple (success, output), where + # `success` is true if the dbus call was successful and output is what the + # javascript evaluates to. + eval = + command: + run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}"; + + # False when startup is done + startingUp = eval "Main.layoutManager._startingUp"; + + # Start Console + launchConsole = run "gapplication launch org.gnome.Console"; + + # Hopefully Console's wm class + wmClass = eval "global.display.focus_window.wm_class"; + in + '' + with subtest("Login to GNOME Xorg with GDM"): + machine.wait_for_x() + # Wait for alice to be logged in" + machine.wait_for_unit("default.target", "${user.name}") + machine.wait_for_file("${xauthority}") + machine.succeed("xauth merge ${xauthority}") + # Check that logging in has given the user ownership of devices + assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") + + with subtest("Wait for GNOME Shell"): + # correct output should be (true, 'false') + machine.wait_until_succeeds( + "${startingUp} | grep -q 'true,..false'" + ) + + with subtest("Open Console"): + # Close the Activities view so that Shell can correctly track the focused window. + machine.send_key("esc") + + machine.succeed( + "${launchConsole}" + ) + # correct output should be (true, '"kgx"') + # For some reason, this deviates from Wayland. + machine.wait_until_succeeds( + "${wmClass} | grep -q 'true,...kgx'" + ) + machine.sleep(20) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/gnome.nix b/nixos/tests/gnome.nix index 9a296b93682c4..08213e41f98d9 100644 --- a/nixos/tests/gnome.nix +++ b/nixos/tests/gnome.nix @@ -1,94 +1,103 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "gnome"; - meta.maintainers = lib.teams.gnome.members; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "gnome"; + meta.maintainers = lib.teams.gnome.members; - nodes.machine = - { ... }: + nodes.machine = + { ... }: - { imports = [ ./common/user-account.nix ]; + { + imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; + services.xserver.enable = true; - services.xserver.displayManager = { - gdm.enable = true; - gdm.debug = true; - }; + services.xserver.displayManager = { + gdm.enable = true; + gdm.debug = true; + }; - services.displayManager.autoLogin = { - enable = true; - user = "alice"; - }; + services.displayManager.autoLogin = { + enable = true; + user = "alice"; + }; - services.xserver.desktopManager.gnome.enable = true; - services.xserver.desktopManager.gnome.debug = true; - - systemd.user.services = { - "org.gnome.Shell@wayland" = { - serviceConfig = { - ExecStart = [ - # Clear the list before overriding it. - "" - # Eval API is now internal so Shell needs to run in unsafe mode. - # TODO: improve test driver so that it supports openqa-like manipulation - # that would allow us to drop this mess. - "${pkgs.gnome-shell}/bin/gnome-shell --unsafe-mode" - ]; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.debug = true; + + systemd.user.services = { + "org.gnome.Shell@wayland" = { + serviceConfig = { + ExecStart = [ + # Clear the list before overriding it. + "" + # Eval API is now internal so Shell needs to run in unsafe mode. + # TODO: improve test driver so that it supports openqa-like manipulation + # that would allow us to drop this mess. + "${pkgs.gnome-shell}/bin/gnome-shell --unsafe-mode" + ]; + }; }; }; + }; - }; - - testScript = { nodes, ... }: let - # Keep line widths somewhat manageable - user = nodes.machine.users.users.alice; - uid = toString user.uid; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; - # Run a command in the appropriate user environment - run = command: "su - ${user.name} -c '${bus} ${command}'"; - - # Call javascript in gnome shell, returns a tuple (success, output), where - # `success` is true if the dbus call was successful and output is what the - # javascript evaluates to. - eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}"; - - # False when startup is done - startingUp = eval "Main.layoutManager._startingUp"; - - # Start Console - launchConsole = run "gapplication launch org.gnome.Console"; - - # Hopefully Console's wm class - wmClass = eval "global.display.focus_window.wm_class"; - in '' - with subtest("Login to GNOME with GDM"): - # wait for gdm to start - machine.wait_for_unit("display-manager.service") - # wait for the wayland server - machine.wait_for_file("/run/user/${uid}/wayland-0") - # wait for alice to be logged in - machine.wait_for_unit("default.target", "${user.name}") - # check that logging in has given the user ownership of devices - assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") - - with subtest("Wait for GNOME Shell"): - # correct output should be (true, 'false') - machine.wait_until_succeeds( - "${startingUp} | grep -q 'true,..false'" - ) - - with subtest("Open Console"): - # Close the Activities view so that Shell can correctly track the focused window. - machine.send_key("esc") - - machine.succeed( - "${launchConsole}" - ) - # correct output should be (true, '"org.gnome.Console"') - machine.wait_until_succeeds( - "${wmClass} | grep -q 'true,...org.gnome.Console'" - ) - machine.sleep(20) - machine.screenshot("screen") - ''; -}) + testScript = + { nodes, ... }: + let + # Keep line widths somewhat manageable + user = nodes.machine.users.users.alice; + uid = toString user.uid; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; + # Run a command in the appropriate user environment + run = command: "su - ${user.name} -c '${bus} ${command}'"; + + # Call javascript in gnome shell, returns a tuple (success, output), where + # `success` is true if the dbus call was successful and output is what the + # javascript evaluates to. + eval = + command: + run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}"; + + # False when startup is done + startingUp = eval "Main.layoutManager._startingUp"; + + # Start Console + launchConsole = run "gapplication launch org.gnome.Console"; + + # Hopefully Console's wm class + wmClass = eval "global.display.focus_window.wm_class"; + in + '' + with subtest("Login to GNOME with GDM"): + # wait for gdm to start + machine.wait_for_unit("display-manager.service") + # wait for the wayland server + machine.wait_for_file("/run/user/${uid}/wayland-0") + # wait for alice to be logged in + machine.wait_for_unit("default.target", "${user.name}") + # check that logging in has given the user ownership of devices + assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") + + with subtest("Wait for GNOME Shell"): + # correct output should be (true, 'false') + machine.wait_until_succeeds( + "${startingUp} | grep -q 'true,..false'" + ) + + with subtest("Open Console"): + # Close the Activities view so that Shell can correctly track the focused window. + machine.send_key("esc") + + machine.succeed( + "${launchConsole}" + ) + # correct output should be (true, '"org.gnome.Console"') + machine.wait_until_succeeds( + "${wmClass} | grep -q 'true,...org.gnome.Console'" + ) + machine.sleep(20) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/gns3-server.nix b/nixos/tests/gns3-server.nix index e37d751f5f640..309b83053b8d8 100644 --- a/nixos/tests/gns3-server.nix +++ b/nixos/tests/gns3-server.nix @@ -1,55 +1,62 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "gns3-server"; - meta.maintainers = [ lib.maintainers.anthonyroussel ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "gns3-server"; + meta.maintainers = [ lib.maintainers.anthonyroussel ]; - nodes.machine = - { ... }: - let - tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 365 \ - -subj '/CN=localhost' - install -D -t $out key.pem cert.pem - ''; - in { - services.gns3-server = { - enable = true; - auth = { - enable = true; - user = "user"; - passwordFile = pkgs.writeText "gns3-auth-password-file" "password"; - }; - ssl = { + nodes.machine = + { ... }: + let + tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 365 \ + -subj '/CN=localhost' + install -D -t $out key.pem cert.pem + ''; + in + { + services.gns3-server = { enable = true; - certFile = "${tls-cert}/cert.pem"; - keyFile = "${tls-cert}/key.pem"; + auth = { + enable = true; + user = "user"; + passwordFile = pkgs.writeText "gns3-auth-password-file" "password"; + }; + ssl = { + enable = true; + certFile = "${tls-cert}/cert.pem"; + keyFile = "${tls-cert}/key.pem"; + }; + dynamips.enable = true; + ubridge.enable = true; + vpcs.enable = true; }; - dynamips.enable = true; - ubridge.enable = true; - vpcs.enable = true; - }; - security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; - }; + security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; + }; - testScript = let - createProject = pkgs.writeText "createProject.json" (builtins.toJSON { - name = "test_project"; - }); - in - '' - start_all() + testScript = + let + createProject = pkgs.writeText "createProject.json" ( + builtins.toJSON { + name = "test_project"; + } + ); + in + '' + start_all() - machine.wait_for_unit("gns3-server.service") - machine.wait_for_open_port(3080) + machine.wait_for_unit("gns3-server.service") + machine.wait_for_open_port(3080) - with subtest("server is listening"): - machine.succeed("curl -sSfL -u user:password https://localhost:3080/v2/version") + with subtest("server is listening"): + machine.succeed("curl -sSfL -u user:password https://localhost:3080/v2/version") - with subtest("create dummy project"): - machine.succeed("curl -sSfL -u user:password https://localhost:3080/v2/projects -d @${createProject}") + with subtest("create dummy project"): + machine.succeed("curl -sSfL -u user:password https://localhost:3080/v2/projects -d @${createProject}") - with subtest("logging works"): - log_path = "/var/log/gns3/server.log" - machine.wait_for_file(log_path) - ''; -}) + with subtest("logging works"): + log_path = "/var/log/gns3/server.log" + machine.wait_for_file(log_path) + ''; + } +) diff --git a/nixos/tests/gnupg.nix b/nixos/tests/gnupg.nix index 68110c9d6d549..897c94aba5076 100644 --- a/nixos/tests/gnupg.nix +++ b/nixos/tests/gnupg.nix @@ -1,48 +1,52 @@ -import ./make-test-python.nix ({ pkgs, lib, ...}: - -{ - name = "gnupg"; - meta = with lib.maintainers; { - maintainers = [ rnhmjoj ]; - }; - - # server for testing SSH - nodes.server = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - - users.users.alice.isNormalUser = true; - services.openssh.enable = true; - }; - - # machine for testing GnuPG - nodes.machine = { pkgs, ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - - users.users.alice.isNormalUser = true; - services.getty.autologinUser = "alice"; - - environment.shellInit = '' - # preset a key passphrase in gpg-agent - preset_key() { - # find all keys - case "$1" in - ssh) grips=$(awk '/^[0-9A-F]/{print $1}' "''${GNUPGHOME:-$HOME/.gnupg}/sshcontrol") ;; - pgp) grips=$(gpg --with-keygrip --list-secret-keys | awk '/Keygrip/{print $3}') ;; - esac - - # try to preset the passphrase for each key found - for grip in $grips; do - "$(gpgconf --list-dirs libexecdir)/gpg-preset-passphrase" -c -P "$2" "$grip" - done - } - ''; - - programs.gnupg.agent.enable = true; - programs.gnupg.agent.enableSSHSupport = true; - }; - - testScript = - '' +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + { + name = "gnupg"; + meta = with lib.maintainers; { + maintainers = [ rnhmjoj ]; + }; + + # server for testing SSH + nodes.server = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + + users.users.alice.isNormalUser = true; + services.openssh.enable = true; + }; + + # machine for testing GnuPG + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + + users.users.alice.isNormalUser = true; + services.getty.autologinUser = "alice"; + + environment.shellInit = '' + # preset a key passphrase in gpg-agent + preset_key() { + # find all keys + case "$1" in + ssh) grips=$(awk '/^[0-9A-F]/{print $1}' "''${GNUPGHOME:-$HOME/.gnupg}/sshcontrol") ;; + pgp) grips=$(gpg --with-keygrip --list-secret-keys | awk '/Keygrip/{print $3}') ;; + esac + + # try to preset the passphrase for each key found + for grip in $grips; do + "$(gpgconf --list-dirs libexecdir)/gpg-preset-passphrase" -c -P "$2" "$grip" + done + } + ''; + + programs.gnupg.agent.enable = true; + programs.gnupg.agent.enableSSHSupport = true; + }; + + testScript = '' import shlex @@ -119,4 +123,5 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: server.wait_for_open_port(22) machine.succeed(as_alice("ssh -i alice -o StrictHostKeyChecking=no server exit")) ''; -}) + } +) diff --git a/nixos/tests/go-camo.nix b/nixos/tests/go-camo.nix index 513964c31c433..f53d5417ce746 100644 --- a/nixos/tests/go-camo.nix +++ b/nixos/tests/go-camo.nix @@ -1,30 +1,36 @@ -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../.. { inherit system config; } }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, +}: with import ../lib/testing-python.nix { inherit system pkgs; }; { - gocamo_file_key = let + gocamo_file_key = + let key_val = "12345678"; in makeTest { - name = "go-camo-file-key"; - meta = { - maintainers = [ pkgs.lib.maintainers.viraptor ]; - }; - - nodes.machine = { config, pkgs, ... }: { - services.go-camo = { - enable = true; - keyFile = pkgs.writeText "foo" key_val; + name = "go-camo-file-key"; + meta = { + maintainers = [ pkgs.lib.maintainers.viraptor ]; }; - }; - # go-camo responds to http requests - testScript = '' - machine.wait_for_unit("go-camo.service") - machine.wait_for_open_port(8080) - machine.succeed("curl http://localhost:8080") - ''; - }; + nodes.machine = + { config, pkgs, ... }: + { + services.go-camo = { + enable = true; + keyFile = pkgs.writeText "foo" key_val; + }; + }; + + # go-camo responds to http requests + testScript = '' + machine.wait_for_unit("go-camo.service") + machine.wait_for_open_port(8080) + machine.succeed("curl http://localhost:8080") + ''; + }; } diff --git a/nixos/tests/go-neb.nix b/nixos/tests/go-neb.nix index 4bd03dcf3c6b4..38cf89c2a3526 100644 --- a/nixos/tests/go-neb.nix +++ b/nixos/tests/go-neb.nix @@ -1,44 +1,53 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "go-neb"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hexa maralorn ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "go-neb"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + hexa + maralorn + ]; + }; - nodes = { - server = { - services.go-neb = { - enable = true; - baseUrl = "http://localhost"; - secretFile = pkgs.writeText "secrets" "ACCESS_TOKEN=changeme"; - config = { - clients = [ { - UserId = "@test:localhost"; - AccessToken = "$ACCESS_TOKEN"; - HomeServerUrl = "http://localhost"; - Sync = false; - AutoJoinRooms = false; - DisplayName = "neverbeseen"; - } ]; - services = [ { - ID = "wikipedia_service"; - Type = "wikipedia"; - UserID = "@test:localhost"; - Config = { }; - } ]; + nodes = { + server = { + services.go-neb = { + enable = true; + baseUrl = "http://localhost"; + secretFile = pkgs.writeText "secrets" "ACCESS_TOKEN=changeme"; + config = { + clients = [ + { + UserId = "@test:localhost"; + AccessToken = "$ACCESS_TOKEN"; + HomeServerUrl = "http://localhost"; + Sync = false; + AutoJoinRooms = false; + DisplayName = "neverbeseen"; + } + ]; + services = [ + { + ID = "wikipedia_service"; + Type = "wikipedia"; + UserID = "@test:localhost"; + Config = { }; + } + ]; + }; }; }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("go-neb.service") - server.wait_until_succeeds("curl -fL http://localhost:4050/services/hooks/d2lraXBlZGlhX3NlcnZpY2U") - server.succeed( - "journalctl -eu go-neb -o cat | grep -q service_id=wikipedia_service", - "grep -q changeme /var/run/go-neb/config.yaml", - ) - ''; + testScript = '' + start_all() + server.wait_for_unit("go-neb.service") + server.wait_until_succeeds("curl -fL http://localhost:4050/services/hooks/d2lraXBlZGlhX3NlcnZpY2U") + server.succeed( + "journalctl -eu go-neb -o cat | grep -q service_id=wikipedia_service", + "grep -q changeme /var/run/go-neb/config.yaml", + ) + ''; -}) + } +) diff --git a/nixos/tests/gobgpd.nix b/nixos/tests/gobgpd.nix index 775f65d1199f3..029b486b7cc60 100644 --- a/nixos/tests/gobgpd.nix +++ b/nixos/tests/gobgpd.nix @@ -1,71 +1,87 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let - ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address; - in { + ifAddr = + node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address; + in + { name = "gobgpd"; - meta = with pkgs.lib.maintainers; { maintainers = [ higebu ]; }; + meta = with pkgs.lib.maintainers; { + maintainers = [ higebu ]; + }; nodes = { - node1 = { nodes, ... }: { - environment.systemPackages = [ pkgs.gobgp ]; - networking.firewall.allowedTCPPorts = [ 179 ]; - services.gobgpd = { - enable = true; - settings = { - global = { - config = { - as = 64512; - router-id = "192.168.255.1"; + node1 = + { nodes, ... }: + { + environment.systemPackages = [ pkgs.gobgp ]; + networking.firewall.allowedTCPPorts = [ 179 ]; + services.gobgpd = { + enable = true; + settings = { + global = { + config = { + as = 64512; + router-id = "192.168.255.1"; + }; }; + neighbors = [ + { + config = { + neighbor-address = ifAddr nodes.node2 "eth1"; + peer-as = 64513; + }; + } + ]; }; - neighbors = [{ - config = { - neighbor-address = ifAddr nodes.node2 "eth1"; - peer-as = 64513; - }; - }]; }; }; - }; - node2 = { nodes, ... }: { - environment.systemPackages = [ pkgs.gobgp ]; - networking.firewall.allowedTCPPorts = [ 179 ]; - services.gobgpd = { - enable = true; - settings = { - global = { - config = { - as = 64513; - router-id = "192.168.255.2"; + node2 = + { nodes, ... }: + { + environment.systemPackages = [ pkgs.gobgp ]; + networking.firewall.allowedTCPPorts = [ 179 ]; + services.gobgpd = { + enable = true; + settings = { + global = { + config = { + as = 64513; + router-id = "192.168.255.2"; + }; }; + neighbors = [ + { + config = { + neighbor-address = ifAddr nodes.node1 "eth1"; + peer-as = 64512; + }; + } + ]; }; - neighbors = [{ - config = { - neighbor-address = ifAddr nodes.node1 "eth1"; - peer-as = 64512; - }; - }]; }; }; - }; }; - testScript = { nodes, ... }: let - addr1 = ifAddr nodes.node1 "eth1"; - addr2 = ifAddr nodes.node2 "eth1"; - in + testScript = + { nodes, ... }: + let + addr1 = ifAddr nodes.node1 "eth1"; + addr2 = ifAddr nodes.node2 "eth1"; + in '' - start_all() + start_all() - for node in node1, node2: - with subtest("should start gobgpd node"): - node.wait_for_unit("gobgpd.service") - with subtest("should open port 179"): - node.wait_for_open_port(179) + for node in node1, node2: + with subtest("should start gobgpd node"): + node.wait_for_unit("gobgpd.service") + with subtest("should open port 179"): + node.wait_for_open_port(179) - with subtest("should show neighbors by gobgp cli and BGP state should be ESTABLISHED"): - node1.wait_until_succeeds("gobgp neighbor ${addr2} | grep -q ESTABLISHED") - node2.wait_until_succeeds("gobgp neighbor ${addr1} | grep -q ESTABLISHED") - ''; - }) + with subtest("should show neighbors by gobgp cli and BGP state should be ESTABLISHED"): + node1.wait_until_succeeds("gobgp neighbor ${addr2} | grep -q ESTABLISHED") + node2.wait_until_succeeds("gobgp neighbor ${addr1} | grep -q ESTABLISHED") + ''; + } +) diff --git a/nixos/tests/gocd-agent.nix b/nixos/tests/gocd-agent.nix index 9301a88ec05d8..d717299d55c7f 100644 --- a/nixos/tests/gocd-agent.nix +++ b/nixos/tests/gocd-agent.nix @@ -9,40 +9,46 @@ let header = "Accept: application/vnd.go.cd.v2+json"; in -import ./make-test-python.nix ({ pkgs, ...} : { - name = "gocd-agent"; - meta = with pkgs.lib.maintainers; { - maintainers = [ grahamc swarren83 ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "gocd-agent"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + grahamc + swarren83 + ]; - # gocd agent needs to register with the autoregister key created on first server startup, - # but NixOS module doesn't seem to allow to pass during runtime currently - broken = true; - }; + # gocd agent needs to register with the autoregister key created on first server startup, + # but NixOS module doesn't seem to allow to pass during runtime currently + broken = true; + }; - nodes = { - agent = - { ... }: - { - virtualisation.memorySize = 2046; - services.gocd-agent = { - enable = true; + nodes = { + agent = + { ... }: + { + virtualisation.memorySize = 2046; + services.gocd-agent = { + enable = true; + }; + services.gocd-server = { + enable = true; + }; }; - services.gocd-server = { - enable = true; - }; - }; - }; + }; - testScript = '' - start_all() - agent.wait_for_unit("gocd-server") - agent.wait_for_open_port(8153) - agent.wait_for_unit("gocd-agent") - agent.wait_until_succeeds( - "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid" - ) - agent.succeed( - "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep Idle" - ) - ''; -}) + testScript = '' + start_all() + agent.wait_for_unit("gocd-server") + agent.wait_for_open_port(8153) + agent.wait_for_unit("gocd-agent") + agent.wait_until_succeeds( + "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid" + ) + agent.succeed( + "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep Idle" + ) + ''; + } +) diff --git a/nixos/tests/gocd-server.nix b/nixos/tests/gocd-server.nix index aff651c5278fb..95b126c55a52f 100644 --- a/nixos/tests/gocd-server.nix +++ b/nixos/tests/gocd-server.nix @@ -2,27 +2,29 @@ # 1. GoCD server starts # 2. GoCD server responds -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "gocd-server"; - meta = with pkgs.lib.maintainers; { - maintainers = [ swarren83 ]; - }; + { + name = "gocd-server"; + meta = with pkgs.lib.maintainers; { + maintainers = [ swarren83 ]; + }; - nodes = { - server = - { ... }: - { - virtualisation.memorySize = 2046; - services.gocd-server.enable = true; - }; - }; + nodes = { + server = + { ... }: + { + virtualisation.memorySize = 2046; + services.gocd-server.enable = true; + }; + }; - testScript = '' - server.start() - server.wait_for_unit("gocd-server") - server.wait_for_open_port(8153) - server.wait_until_succeeds("curl -s -f localhost:8153/go") - ''; -}) + testScript = '' + server.start() + server.wait_for_unit("gocd-server") + server.wait_for_open_port(8153) + server.wait_until_succeeds("curl -s -f localhost:8153/go") + ''; + } +) diff --git a/nixos/tests/gollum.nix b/nixos/tests/gollum.nix index 44d373e35262b..ab937bc990bb1 100644 --- a/nixos/tests/gollum.nix +++ b/nixos/tests/gollum.nix @@ -1,14 +1,21 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "gollum"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "gollum"; - nodes = { - webserver = { pkgs, lib, ... }: { - services.gollum.enable = true; + nodes = { + webserver = + { pkgs, lib, ... }: + { + services.gollum.enable = true; + }; }; - }; - testScript = { nodes, ... }: '' - webserver.wait_for_unit("gollum") - webserver.wait_for_open_port(${toString nodes.webserver.services.gollum.port}) - ''; -}) + testScript = + { nodes, ... }: + '' + webserver.wait_for_unit("gollum") + webserver.wait_for_open_port(${toString nodes.webserver.services.gollum.port}) + ''; + } +) diff --git a/nixos/tests/gonic.nix b/nixos/tests/gonic.nix index adf0f511a9cf7..47d432d6354af 100644 --- a/nixos/tests/gonic.nix +++ b/nixos/tests/gonic.nix @@ -1,26 +1,31 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "gonic"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "gonic"; - nodes.machine = { ... }: { - systemd.tmpfiles.settings = { - "10-gonic" = { - "/tmp/music"."d" = {}; - "/tmp/podcast"."d" = {}; - "/tmp/playlists"."d" = {}; + nodes.machine = + { ... }: + { + systemd.tmpfiles.settings = { + "10-gonic" = { + "/tmp/music"."d" = { }; + "/tmp/podcast"."d" = { }; + "/tmp/playlists"."d" = { }; + }; + }; + services.gonic = { + enable = true; + settings = { + music-path = [ "/tmp/music" ]; + podcast-path = "/tmp/podcast"; + playlists-path = "/tmp/playlists"; + }; + }; }; - }; - services.gonic = { - enable = true; - settings = { - music-path = [ "/tmp/music" ]; - podcast-path = "/tmp/podcast"; - playlists-path = "/tmp/playlists"; - }; - }; - }; - testScript = '' - machine.wait_for_unit("gonic") - machine.wait_for_open_port(4747) - ''; -}) + testScript = '' + machine.wait_for_unit("gonic") + machine.wait_for_open_port(4747) + ''; + } +) diff --git a/nixos/tests/google-oslogin/default.nix b/nixos/tests/google-oslogin/default.nix index cd05af6b9ed7a..ace33802289a0 100644 --- a/nixos/tests/google-oslogin/default.nix +++ b/nixos/tests/google-oslogin/default.nix @@ -1,7 +1,10 @@ -import ../make-test-python.nix ({ pkgs, ... } : -let - inherit (import ./../ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; +import ../make-test-python.nix ( + { pkgs, ... }: + let + inherit (import ./../ssh-keys.nix pkgs) + snakeOilPrivateKey + snakeOilPublicKey + ; # don't check host keys or known hosts, use the snakeoil ssh key ssh-config = builtins.toFile "ssh.conf" '' @@ -9,65 +12,67 @@ let StrictHostKeyChecking=no IdentityFile=~/.ssh/id_snakeoil ''; -in { - name = "google-oslogin"; - meta = with pkgs.lib.maintainers; { - maintainers = [ flokli ]; - }; + in + { + name = "google-oslogin"; + meta = with pkgs.lib.maintainers; { + maintainers = [ flokli ]; + }; - nodes = { - # the server provides both the the mocked google metadata server and the ssh server - server = (import ./server.nix pkgs); + nodes = { + # the server provides both the the mocked google metadata server and the ssh server + server = (import ./server.nix pkgs); - client = { ... }: {}; - }; - testScript = '' - MOCKUSER = "mockuser_nixos_org" - MOCKADMIN = "mockadmin_nixos_org" - start_all() + client = { ... }: { }; + }; + testScript = '' + MOCKUSER = "mockuser_nixos_org" + MOCKADMIN = "mockadmin_nixos_org" + start_all() - server.wait_for_unit("mock-google-metadata.service") - server.wait_for_open_port(80) + server.wait_for_unit("mock-google-metadata.service") + server.wait_for_open_port(80) - # mockserver should return a non-expired ssh key for both mockuser and mockadmin - server.succeed( - f'${pkgs.google-guest-oslogin}/bin/google_authorized_keys {MOCKUSER} | grep -q "${snakeOilPublicKey}"' - ) - server.succeed( - f'${pkgs.google-guest-oslogin}/bin/google_authorized_keys {MOCKADMIN} | grep -q "${snakeOilPublicKey}"' - ) + # mockserver should return a non-expired ssh key for both mockuser and mockadmin + server.succeed( + f'${pkgs.google-guest-oslogin}/bin/google_authorized_keys {MOCKUSER} | grep -q "${snakeOilPublicKey}"' + ) + server.succeed( + f'${pkgs.google-guest-oslogin}/bin/google_authorized_keys {MOCKADMIN} | grep -q "${snakeOilPublicKey}"' + ) - # install snakeoil ssh key on the client, and provision .ssh/config file - client.succeed("mkdir -p ~/.ssh") - client.succeed( - "cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil" - ) - client.succeed("chmod 600 ~/.ssh/id_snakeoil") - client.succeed("cp ${ssh-config} ~/.ssh/config") + # install snakeoil ssh key on the client, and provision .ssh/config file + client.succeed("mkdir -p ~/.ssh") + client.succeed( + "cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil" + ) + client.succeed("chmod 600 ~/.ssh/id_snakeoil") + client.succeed("cp ${ssh-config} ~/.ssh/config") - client.wait_for_unit("network.target") - server.wait_for_unit("sshd.service") + client.wait_for_unit("network.target") + server.wait_for_unit("sshd.service") - # we should not be able to connect as non-existing user - client.fail("ssh ghost@server 'true'") + # we should not be able to connect as non-existing user + client.fail("ssh ghost@server 'true'") - # we should be able to connect as mockuser - client.succeed(f"ssh {MOCKUSER}@server 'true'") - # but we shouldn't be able to sudo - client.fail( - f"ssh {MOCKUSER}@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'" - ) + # we should be able to connect as mockuser + client.succeed(f"ssh {MOCKUSER}@server 'true'") + # but we shouldn't be able to sudo + client.fail( + f"ssh {MOCKUSER}@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'" + ) - # we should also be able to log in as mockadmin - client.succeed(f"ssh {MOCKADMIN}@server 'true'") - # pam_oslogin_admin.so should now have generated a sudoers file - server.succeed( - f"find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/{MOCKADMIN}'" - ) + # we should also be able to log in as mockadmin + client.succeed(f"ssh {MOCKADMIN}@server 'true'") + # pam_oslogin_admin.so should now have generated a sudoers file + server.succeed( + f"find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/{MOCKADMIN}'" + ) - # and we should be able to sudo - client.succeed( - f"ssh {MOCKADMIN}@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'" - ) - ''; - }) + # and we should be able to sudo + client.succeed( + f"ssh {MOCKADMIN}@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'" + ) + ''; + } +) diff --git a/nixos/tests/google-oslogin/server.nix b/nixos/tests/google-oslogin/server.nix index 3df41155c92d4..cd63056781789 100644 --- a/nixos/tests/google-oslogin/server.nix +++ b/nixos/tests/google-oslogin/server.nix @@ -1,8 +1,11 @@ { pkgs, ... }: let inherit (import ./../ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; -in { + snakeOilPrivateKey + snakeOilPublicKey + ; +in +{ networking.firewall.allowedTCPPorts = [ 80 ]; systemd.services.mock-google-metadata = { @@ -23,5 +26,10 @@ in { security.googleOsLogin.enable = true; # Mock google service - networking.interfaces.lo.ipv4.addresses = [ { address = "169.254.169.254"; prefixLength = 32; } ]; + networking.interfaces.lo.ipv4.addresses = [ + { + address = "169.254.169.254"; + prefixLength = 32; + } + ]; } diff --git a/nixos/tests/goss.nix b/nixos/tests/goss.nix index 2e77b2734464f..1bf9feda8ba3f 100644 --- a/nixos/tests/goss.nix +++ b/nixos/tests/goss.nix @@ -1,49 +1,52 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "goss"; - meta.maintainers = [ lib.maintainers.anthonyroussel ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "goss"; + meta.maintainers = [ lib.maintainers.anthonyroussel ]; - nodes.machine = { - environment.systemPackages = [ pkgs.jq ]; + nodes.machine = { + environment.systemPackages = [ pkgs.jq ]; - services.goss = { - enable = true; + services.goss = { + enable = true; - environment = { - GOSS_FMT = "json"; - }; - - settings = { - addr."tcp://localhost:8080" = { - reachable = true; - local-address = "127.0.0.1"; + environment = { + GOSS_FMT = "json"; }; - command."check-goss-version" = { - exec = "${lib.getExe pkgs.goss} --version"; - exit-status = 0; - }; - dns.localhost.resolvable = true; - file."/nix" = { - filetype = "directory"; - exists = true; + + settings = { + addr."tcp://localhost:8080" = { + reachable = true; + local-address = "127.0.0.1"; + }; + command."check-goss-version" = { + exec = "${lib.getExe pkgs.goss} --version"; + exit-status = 0; + }; + dns.localhost.resolvable = true; + file."/nix" = { + filetype = "directory"; + exists = true; + }; + group.root.exists = true; + kernel-param."kernel.ostype".value = "Linux"; + user.root.exists = true; }; - group.root.exists = true; - kernel-param."kernel.ostype".value = "Linux"; - user.root.exists = true; }; }; - }; - testScript = '' - import json + testScript = '' + import json - machine.wait_for_unit("goss.service") - machine.wait_for_open_port(8080) + machine.wait_for_unit("goss.service") + machine.wait_for_open_port(8080) - with subtest("returns health status"): - result = json.loads(machine.succeed("curl -sS http://localhost:8080/healthz")) + with subtest("returns health status"): + result = json.loads(machine.succeed("curl -sS http://localhost:8080/healthz")) - assert len(result["results"]) == 8, f".results should be an array of 10 items, was {result['results']!r}" - assert result["summary"]["failed-count"] == 0, f".summary.failed-count should be zero, was {result['summary']['failed-count']}" - assert result["summary"]["test-count"] == 8, f".summary.test-count should be 10, was {result['summary']['test-count']}" + assert len(result["results"]) == 8, f".results should be an array of 10 items, was {result['results']!r}" + assert result["summary"]["failed-count"] == 0, f".summary.failed-count should be zero, was {result['summary']['failed-count']}" + assert result["summary"]["test-count"] == 8, f".summary.test-count should be 10, was {result['summary']['test-count']}" ''; -}) + } +) diff --git a/nixos/tests/gotify-server.nix b/nixos/tests/gotify-server.nix index 495b1c8e3443c..55f5fe6468f5e 100644 --- a/nixos/tests/gotify-server.nix +++ b/nixos/tests/gotify-server.nix @@ -1,52 +1,57 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "gotify-server"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - - services.gotify = { - enable = true; - environment = { - GOTIFY_SERVER_PORT = 3000; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "gotify-server"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - }; - - testScript = '' - machine.start() - - machine.wait_for_unit("gotify-server.service") - machine.wait_for_open_port(3000) - - token = machine.succeed( - "curl --fail -sS -X POST localhost:3000/application -F name=nixos " - + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' - + "| jq .token | xargs echo -n" - ) - - usertoken = machine.succeed( - "curl --fail -sS -X POST localhost:3000/client -F name=nixos " - + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' - + "| jq .token | xargs echo -n" - ) - - machine.succeed( - f"curl --fail -sS -X POST 'localhost:3000/message?token={token}' -H 'Accept: application/json' " - + "-F title=Gotify -F message=Works" - ) - - title = machine.succeed( - f"curl --fail -sS 'localhost:3000/message?since=0&token={usertoken}' | jq '.messages|.[0]|.title' | xargs echo -n" - ) - - assert title == "Gotify" - - # Ensure that the UI responds with a successful code and that the - # response is not empty - result = machine.succeed("curl -fsS localhost:3000") - assert result, "HTTP response from localhost:3000 must not be empty!" - ''; -}) + + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + + services.gotify = { + enable = true; + environment = { + GOTIFY_SERVER_PORT = 3000; + }; + }; + }; + + testScript = '' + machine.start() + + machine.wait_for_unit("gotify-server.service") + machine.wait_for_open_port(3000) + + token = machine.succeed( + "curl --fail -sS -X POST localhost:3000/application -F name=nixos " + + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' + + "| jq .token | xargs echo -n" + ) + + usertoken = machine.succeed( + "curl --fail -sS -X POST localhost:3000/client -F name=nixos " + + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' + + "| jq .token | xargs echo -n" + ) + + machine.succeed( + f"curl --fail -sS -X POST 'localhost:3000/message?token={token}' -H 'Accept: application/json' " + + "-F title=Gotify -F message=Works" + ) + + title = machine.succeed( + f"curl --fail -sS 'localhost:3000/message?since=0&token={usertoken}' | jq '.messages|.[0]|.title' | xargs echo -n" + ) + + assert title == "Gotify" + + # Ensure that the UI responds with a successful code and that the + # response is not empty + result = machine.succeed("curl -fsS localhost:3000") + assert result, "HTTP response from localhost:3000 must not be empty!" + ''; + } +) diff --git a/nixos/tests/grafana-agent.nix b/nixos/tests/grafana-agent.nix index a9f34d8cea31a..05e3764583f38 100644 --- a/nixos/tests/grafana-agent.nix +++ b/nixos/tests/grafana-agent.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: let nodes = { @@ -29,4 +30,5 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: ) machine.shutdown() ''; - }) + } +) diff --git a/nixos/tests/grafana/basic.nix b/nixos/tests/grafana/basic.nix index fae6bd4dbbcfb..7c77280160034 100644 --- a/nixos/tests/grafana/basic.nix +++ b/nixos/tests/grafana/basic.nix @@ -1,142 +1,157 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -let - inherit (lib) mkMerge nameValuePair maintainers; + let + inherit (lib) mkMerge nameValuePair maintainers; - baseGrafanaConf = { - services.grafana = { - enable = true; - settings = { - analytics.reporting_enabled = false; - - server = { - http_addr = "::1"; - domain = "localhost"; - }; - - security = { - admin_user = "testadmin"; - admin_password = "snakeoilpwd"; + baseGrafanaConf = { + services.grafana = { + enable = true; + settings = { + analytics.reporting_enabled = false; + + server = { + http_addr = "::1"; + domain = "localhost"; + }; + + security = { + admin_user = "testadmin"; + admin_password = "snakeoilpwd"; + }; }; }; }; - }; - extraNodeConfs = { - sqlite = {}; + extraNodeConfs = { + sqlite = { }; + + socket = + { config, ... }: + { + services.grafana.settings.server = { + protocol = "socket"; + socket = "/run/grafana/sock"; + socket_gid = config.users.groups.nginx.gid; + }; + + users.users.grafana.extraGroups = [ "nginx" ]; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts."_".locations."/".proxyPass = "http://unix:/run/grafana/sock"; + }; + }; - socket = { config, ... }: { - services.grafana.settings.server = { - protocol = "socket"; - socket = "/run/grafana/sock"; - socket_gid = config.users.groups.nginx.gid; + declarativePlugins = { + services.grafana.declarativePlugins = [ pkgs.grafanaPlugins.grafana-clock-panel ]; }; - users.users.grafana.extraGroups = [ "nginx" ]; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - virtualHosts."_".locations."/".proxyPass = "http://unix:/run/grafana/sock"; + postgresql = { + services.grafana.settings.database = { + host = "[::1]:5432"; + user = "grafana"; + }; + services.postgresql = { + enable = true; + ensureDatabases = [ "grafana" ]; + ensureUsers = [ + { + name = "grafana"; + ensureDBOwnership = true; + } + ]; + }; + systemd.services.grafana.after = [ "postgresql.service" ]; }; - }; - - declarativePlugins = { - services.grafana.declarativePlugins = [ pkgs.grafanaPlugins.grafana-clock-panel ]; - }; - postgresql = { - services.grafana.settings.database = { - host = "[::1]:5432"; - user = "grafana"; - }; - services.postgresql = { - enable = true; - ensureDatabases = [ "grafana" ]; - ensureUsers = [{ - name = "grafana"; - ensureDBOwnership = true; - }]; + mysql = { + services.grafana.settings.database.user = "grafana"; + services.mysql = { + enable = true; + ensureDatabases = [ "grafana" ]; + ensureUsers = [ + { + name = "grafana"; + ensurePermissions."grafana.*" = "ALL PRIVILEGES"; + } + ]; + package = pkgs.mariadb; + }; + systemd.services.grafana.after = [ "mysql.service" ]; }; - systemd.services.grafana.after = [ "postgresql.service" ]; }; - mysql = { - services.grafana.settings.database.user = "grafana"; - services.mysql = { - enable = true; - ensureDatabases = [ "grafana" ]; - ensureUsers = [{ - name = "grafana"; - ensurePermissions."grafana.*" = "ALL PRIVILEGES"; - }]; - package = pkgs.mariadb; - }; - systemd.services.grafana.after = [ "mysql.service" ]; + nodes = builtins.mapAttrs ( + _: val: + mkMerge [ + val + baseGrafanaConf + ] + ) extraNodeConfs; + in + { + name = "grafana-basic"; + + meta = with maintainers; { + maintainers = [ willibutz ]; }; - }; - - nodes = builtins.mapAttrs (_: val: mkMerge [ val baseGrafanaConf ]) extraNodeConfs; -in { - name = "grafana-basic"; - - meta = with maintainers; { - maintainers = [ willibutz ]; - }; - - inherit nodes; - - testScript = '' - start_all() - - with subtest("Declarative plugins installed"): - declarativePlugins.wait_for_unit("grafana.service") - declarativePlugins.wait_for_open_port(3000, addr="::1") - declarativePlugins.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/plugins | grep grafana-clock-panel" - ) - declarativePlugins.shutdown() - - with subtest("Successful API query as admin user with sqlite db"): - sqlite.wait_for_unit("grafana.service") - sqlite.wait_for_open_port(3000) - print(sqlite.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users -i" - )) - sqlite.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users | grep admin\@localhost" - ) - sqlite.shutdown() - - with subtest("Successful API query as admin user with sqlite db listening on socket"): - socket.wait_for_unit("grafana.service") - socket.wait_for_open_port(80) - print(socket.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]/api/org/users -i" - )) - socket.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]/api/org/users | grep admin\@localhost" - ) - socket.shutdown() - - with subtest("Successful API query as admin user with postgresql db"): - postgresql.wait_for_unit("grafana.service") - postgresql.wait_for_unit("postgresql.service") - postgresql.wait_for_open_port(3000) - postgresql.wait_for_open_port(5432) - postgresql.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users | grep admin\@localhost" - ) - postgresql.shutdown() - - with subtest("Successful API query as admin user with mysql db"): - mysql.wait_for_unit("grafana.service") - mysql.wait_for_unit("mysql.service") - mysql.wait_for_open_port(3000) - mysql.wait_for_open_port(3306) - mysql.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users | grep admin\@localhost" - ) - mysql.shutdown() - ''; -}) + + inherit nodes; + + testScript = '' + start_all() + + with subtest("Declarative plugins installed"): + declarativePlugins.wait_for_unit("grafana.service") + declarativePlugins.wait_for_open_port(3000, addr="::1") + declarativePlugins.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/plugins | grep grafana-clock-panel" + ) + declarativePlugins.shutdown() + + with subtest("Successful API query as admin user with sqlite db"): + sqlite.wait_for_unit("grafana.service") + sqlite.wait_for_open_port(3000) + print(sqlite.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users -i" + )) + sqlite.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users | grep admin\@localhost" + ) + sqlite.shutdown() + + with subtest("Successful API query as admin user with sqlite db listening on socket"): + socket.wait_for_unit("grafana.service") + socket.wait_for_open_port(80) + print(socket.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]/api/org/users -i" + )) + socket.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]/api/org/users | grep admin\@localhost" + ) + socket.shutdown() + + with subtest("Successful API query as admin user with postgresql db"): + postgresql.wait_for_unit("grafana.service") + postgresql.wait_for_unit("postgresql.service") + postgresql.wait_for_open_port(3000) + postgresql.wait_for_open_port(5432) + postgresql.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users | grep admin\@localhost" + ) + postgresql.shutdown() + + with subtest("Successful API query as admin user with mysql db"): + mysql.wait_for_unit("grafana.service") + mysql.wait_for_unit("mysql.service") + mysql.wait_for_open_port(3000) + mysql.wait_for_open_port(3306) + mysql.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/org/users | grep admin\@localhost" + ) + mysql.shutdown() + ''; + } +) diff --git a/nixos/tests/grafana/default.nix b/nixos/tests/grafana/default.nix index 9c26225718001..3342ae05fd965 100644 --- a/nixos/tests/grafana/default.nix +++ b/nixos/tests/grafana/default.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: { diff --git a/nixos/tests/grafana/provision/default.nix b/nixos/tests/grafana/provision/default.nix index 4a137638800b6..3c19aa1893756 100644 --- a/nixos/tests/grafana/provision/default.nix +++ b/nixos/tests/grafana/provision/default.nix @@ -1,217 +1,250 @@ -import ../../make-test-python.nix ({ lib, pkgs, ... }: - -let - inherit (lib) mkMerge maintainers; - - baseGrafanaConf = { - services.grafana = { - enable = true; - provision.enable = true; - settings = { - analytics.reporting_enabled = false; - - server = { - http_addr = "::1"; - domain = "localhost"; - }; +import ../../make-test-python.nix ( + { lib, pkgs, ... }: + + let + inherit (lib) mkMerge maintainers; + + baseGrafanaConf = { + services.grafana = { + enable = true; + provision.enable = true; + settings = { + analytics.reporting_enabled = false; + + server = { + http_addr = "::1"; + domain = "localhost"; + }; - security = { - admin_user = "testadmin"; - admin_password = "$__file{${pkgs.writeText "pwd" "snakeoilpwd"}}"; + security = { + admin_user = "testadmin"; + admin_password = "$__file{${pkgs.writeText "pwd" "snakeoilpwd"}}"; + }; }; }; - }; - - systemd.tmpfiles.rules = - let - dashboard = pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json); - in - [ - "d /var/lib/grafana/dashboards 0700 grafana grafana -" - "C+ /var/lib/grafana/dashboards/test.json - - - - ${dashboard}" - ]; - }; - - extraNodeConfs = { - provisionNix = { - services.grafana.provision = { - datasources.settings = { - apiVersion = 1; - datasources = [{ - name = "Test Datasource"; - type = "testdata"; - access = "proxy"; - uid = "test_datasource"; - }]; - }; - - dashboards.settings = { - apiVersion = 1; - providers = [{ - name = "default"; - options.path = "/var/lib/grafana/dashboards"; - }]; - }; - alerting = { - rules.settings = { - groups = [{ - name = "test_rule_group"; - folder = "test_folder"; - interval = "60s"; - rules = [{ - uid = "test_rule"; - title = "Test Rule"; - condition = "A"; - data = [{ - refId = "A"; - datasourceUid = "-100"; - model = { - conditions = [{ - evaluator = { - params = [ 3 ]; - type = "git"; - }; - operator.type = "and"; - query.params = [ "A" ]; - reducer.type = "last"; - type = "query"; - }]; - datasource = { - type = "__expr__"; - uid = "-100"; - }; - expression = "1==0"; - intervalMs = 1000; - maxDataPoints = 43200; - refId = "A"; - type = "math"; - }; - }]; - for = "60s"; - }]; - }]; - }; + systemd.tmpfiles.rules = + let + dashboard = pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json); + in + [ + "d /var/lib/grafana/dashboards 0700 grafana grafana -" + "C+ /var/lib/grafana/dashboards/test.json - - - - ${dashboard}" + ]; + }; - contactPoints.settings = { - contactPoints = [{ - name = "Test Contact Point"; - receivers = [{ - uid = "test_contact_point"; - type = "prometheus-alertmanager"; - settings.url = "http://localhost:9000"; - }]; - }]; + extraNodeConfs = { + provisionNix = { + services.grafana.provision = { + datasources.settings = { + apiVersion = 1; + datasources = [ + { + name = "Test Datasource"; + type = "testdata"; + access = "proxy"; + uid = "test_datasource"; + } + ]; }; - policies.settings = { - policies = [{ - receiver = "Test Contact Point"; - }]; + dashboards.settings = { + apiVersion = 1; + providers = [ + { + name = "default"; + options.path = "/var/lib/grafana/dashboards"; + } + ]; }; - templates.settings = { - templates = [{ - name = "Test Template"; - template = "Test message"; - }]; + alerting = { + rules.settings = { + groups = [ + { + name = "test_rule_group"; + folder = "test_folder"; + interval = "60s"; + rules = [ + { + uid = "test_rule"; + title = "Test Rule"; + condition = "A"; + data = [ + { + refId = "A"; + datasourceUid = "-100"; + model = { + conditions = [ + { + evaluator = { + params = [ 3 ]; + type = "git"; + }; + operator.type = "and"; + query.params = [ "A" ]; + reducer.type = "last"; + type = "query"; + } + ]; + datasource = { + type = "__expr__"; + uid = "-100"; + }; + expression = "1==0"; + intervalMs = 1000; + maxDataPoints = 43200; + refId = "A"; + type = "math"; + }; + } + ]; + for = "60s"; + } + ]; + } + ]; + }; + + contactPoints.settings = { + contactPoints = [ + { + name = "Test Contact Point"; + receivers = [ + { + uid = "test_contact_point"; + type = "prometheus-alertmanager"; + settings.url = "http://localhost:9000"; + } + ]; + } + ]; + }; + + policies.settings = { + policies = [ + { + receiver = "Test Contact Point"; + } + ]; + }; + + templates.settings = { + templates = [ + { + name = "Test Template"; + template = "Test message"; + } + ]; + }; + + muteTimings.settings = { + muteTimes = [ + { + name = "Test Mute Timing"; + } + ]; + }; }; + }; + }; - muteTimings.settings = { - muteTimes = [{ - name = "Test Mute Timing"; - }]; + provisionYaml = { + services.grafana.provision = { + datasources.path = ./datasources.yaml; + dashboards.path = ./dashboards.yaml; + alerting = { + rules.path = ./rules.yaml; + contactPoints.path = ./contact-points.yaml; + policies.path = ./policies.yaml; + templates.path = ./templates.yaml; + muteTimings.path = ./mute-timings.yaml; }; }; }; - }; - provisionYaml = { - services.grafana.provision = { - datasources.path = ./datasources.yaml; - dashboards.path = ./dashboards.yaml; - alerting = { - rules.path = ./rules.yaml; - contactPoints.path = ./contact-points.yaml; - policies.path = ./policies.yaml; - templates.path = ./templates.yaml; - muteTimings.path = ./mute-timings.yaml; + provisionYamlDirs = + let + mkdir = p: pkgs.writeTextDir (baseNameOf p) (builtins.readFile p); + in + { + services.grafana.provision = { + datasources.path = mkdir ./datasources.yaml; + dashboards.path = mkdir ./dashboards.yaml; + alerting = { + rules.path = mkdir ./rules.yaml; + contactPoints.path = mkdir ./contact-points.yaml; + policies.path = mkdir ./policies.yaml; + templates.path = mkdir ./templates.yaml; + muteTimings.path = mkdir ./mute-timings.yaml; + }; + }; }; - }; }; - provisionYamlDirs = let - mkdir = p: pkgs.writeTextDir (baseNameOf p) (builtins.readFile p); - in { - services.grafana.provision = { - datasources.path = mkdir ./datasources.yaml; - dashboards.path = mkdir ./dashboards.yaml; - alerting = { - rules.path = mkdir ./rules.yaml; - contactPoints.path = mkdir ./contact-points.yaml; - policies.path = mkdir ./policies.yaml; - templates.path = mkdir ./templates.yaml; - muteTimings.path = mkdir ./mute-timings.yaml; - }; - }; + nodes = builtins.mapAttrs ( + _: val: + mkMerge [ + val + baseGrafanaConf + ] + ) extraNodeConfs; + in + { + name = "grafana-provision"; + + meta = with maintainers; { + maintainers = [ willibutz ]; }; - }; - - nodes = builtins.mapAttrs (_: val: mkMerge [ val baseGrafanaConf ]) extraNodeConfs; -in { - name = "grafana-provision"; - - meta = with maintainers; { - maintainers = [ willibutz ]; - }; - - inherit nodes; - - testScript = '' - start_all() - - nodeNix = ("Nix (new format)", provisionNix) - nodeYaml = ("Nix (YAML)", provisionYaml) - nodeYamlDir = ("Nix (YAML in dirs)", provisionYamlDirs) - - for description, machine in [nodeNix, nodeYaml, nodeYamlDir]: - with subtest(f"Should start provision node: {description}"): - machine.wait_for_unit("grafana.service") - machine.wait_for_open_port(3000, addr="::1") - - with subtest(f"Successful datasource provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/datasources/uid/test_datasource | grep Test\ Datasource" - ) - - with subtest(f"Successful dashboard provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/dashboards/uid/test_dashboard | grep Test\ Dashboard" - ) - - with subtest(f"Successful rule provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/alert-rules/test_rule | grep Test\ Rule" - ) - - with subtest(f"Successful contact point provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/contact-points | grep Test\ Contact\ Point" - ) - - with subtest(f"Successful policy provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/policies | grep Test\ Contact\ Point" - ) - - with subtest(f"Successful template provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/templates | grep Test\ Template" - ) - - with subtest("Successful mute timings provision with {description}"): - machine.succeed( - "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/mute-timings | grep Test\ Mute\ Timing" - ) - ''; -}) + + inherit nodes; + + testScript = '' + start_all() + + nodeNix = ("Nix (new format)", provisionNix) + nodeYaml = ("Nix (YAML)", provisionYaml) + nodeYamlDir = ("Nix (YAML in dirs)", provisionYamlDirs) + + for description, machine in [nodeNix, nodeYaml, nodeYamlDir]: + with subtest(f"Should start provision node: {description}"): + machine.wait_for_unit("grafana.service") + machine.wait_for_open_port(3000, addr="::1") + + with subtest(f"Successful datasource provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/datasources/uid/test_datasource | grep Test\ Datasource" + ) + + with subtest(f"Successful dashboard provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/dashboards/uid/test_dashboard | grep Test\ Dashboard" + ) + + with subtest(f"Successful rule provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/alert-rules/test_rule | grep Test\ Rule" + ) + + with subtest(f"Successful contact point provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/contact-points | grep Test\ Contact\ Point" + ) + + with subtest(f"Successful policy provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/policies | grep Test\ Contact\ Point" + ) + + with subtest(f"Successful template provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/templates | grep Test\ Template" + ) + + with subtest("Successful mute timings provision with {description}"): + machine.succeed( + "curl -sSfN -u testadmin:snakeoilpwd http://[::1]:3000/api/v1/provisioning/mute-timings | grep Test\ Mute\ Timing" + ) + ''; + } +) diff --git a/nixos/tests/graphite.nix b/nixos/tests/graphite.nix index de6cd8a50e179..1791cb38fc62c 100644 --- a/nixos/tests/graphite.nix +++ b/nixos/tests/graphite.nix @@ -1,36 +1,39 @@ -import ./make-test-python.nix ({ pkgs, ... } : -{ - name = "graphite"; - nodes = { - one = - { ... }: { - time.timeZone = "UTC"; - services.graphite = { - web = { - enable = true; - extraConfig = '' - SECRET_KEY = "abcd"; - ''; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "graphite"; + nodes = { + one = + { ... }: + { + time.timeZone = "UTC"; + services.graphite = { + web = { + enable = true; + extraConfig = '' + SECRET_KEY = "abcd"; + ''; + }; + carbon.enableCache = true; + seyren.enable = false; # Implicitly requires openssl-1.0.2u which is marked insecure }; - carbon.enableCache = true; - seyren.enable = false; # Implicitly requires openssl-1.0.2u which is marked insecure }; - }; - }; + }; - testScript = '' - start_all() - one.wait_for_unit("default.target") - one.wait_for_unit("graphiteWeb.service") - one.wait_for_unit("carbonCache.service") - # The services above are of type "simple". systemd considers them active immediately - # even if they're still in preStart (which takes quite long for graphiteWeb). - # Wait for ports to open so we're sure the services are up and listening. - one.wait_for_open_port(8080) - one.wait_for_open_port(2003) - one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003') - one.wait_until_succeeds( - "curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2" - ) - ''; -}) + testScript = '' + start_all() + one.wait_for_unit("default.target") + one.wait_for_unit("graphiteWeb.service") + one.wait_for_unit("carbonCache.service") + # The services above are of type "simple". systemd considers them active immediately + # even if they're still in preStart (which takes quite long for graphiteWeb). + # Wait for ports to open so we're sure the services are up and listening. + one.wait_for_open_port(8080) + one.wait_for_open_port(2003) + one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003') + one.wait_until_succeeds( + "curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2" + ) + ''; + } +) diff --git a/nixos/tests/graylog.nix b/nixos/tests/graylog.nix index b52c2976a73f8..7766ad9a6a057 100644 --- a/nixos/tests/graylog.nix +++ b/nixos/tests/graylog.nix @@ -1,127 +1,140 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "graylog"; - meta.maintainers = [ ]; - - nodes.machine = { pkgs, ... }: { - virtualisation.memorySize = 4096; - virtualisation.diskSize = 1024 * 6; - - services.mongodb.enable = true; - services.elasticsearch.enable = true; - services.elasticsearch.extraConf = '' - network.publish_host: 127.0.0.1 - network.bind_host: 127.0.0.1 - ''; - - services.graylog = { - enable = true; - passwordSecret = "YGhZ59wXMrYOojx5xdgEpBpDw2N6FbhM4lTtaJ1KPxxmKrUvSlDbtWArwAWMQ5LKx1ojHEVrQrBMVRdXbRyZLqffoUzHfssc"; - elasticsearchHosts = [ "http://localhost:9200" ]; - - # `echo -n "nixos" | shasum -a 256` - rootPasswordSha2 = "6ed332bcfa615381511d4d5ba44a293bb476f368f7e9e304f0dff50230d1a85b"; - }; - - environment.systemPackages = [ pkgs.jq ]; - - systemd.services.graylog.path = [ pkgs.netcat ]; - systemd.services.graylog.preStart = '' - until nc -z localhost 9200; do - sleep 2 - done - ''; - }; - - testScript = let - payloads.login = pkgs.writeText "login.json" (builtins.toJSON { - host = "127.0.0.1:9000"; - username = "admin"; - password = "nixos"; - }); - - payloads.input = pkgs.writeText "input.json" (builtins.toJSON { - title = "Demo"; - global = false; - type = "org.graylog2.inputs.gelf.udp.GELFUDPInput"; - node = "@node@"; - configuration = { - bind_address = "0.0.0.0"; - decompress_size_limit = 8388608; - number_worker_threads = 1; - override_source = null; - port = 12201; - recv_buffer_size = 262144; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "graylog"; + meta.maintainers = [ ]; + + nodes.machine = + { pkgs, ... }: + { + virtualisation.memorySize = 4096; + virtualisation.diskSize = 1024 * 6; + + services.mongodb.enable = true; + services.elasticsearch.enable = true; + services.elasticsearch.extraConf = '' + network.publish_host: 127.0.0.1 + network.bind_host: 127.0.0.1 + ''; + + services.graylog = { + enable = true; + passwordSecret = "YGhZ59wXMrYOojx5xdgEpBpDw2N6FbhM4lTtaJ1KPxxmKrUvSlDbtWArwAWMQ5LKx1ojHEVrQrBMVRdXbRyZLqffoUzHfssc"; + elasticsearchHosts = [ "http://localhost:9200" ]; + + # `echo -n "nixos" | shasum -a 256` + rootPasswordSha2 = "6ed332bcfa615381511d4d5ba44a293bb476f368f7e9e304f0dff50230d1a85b"; + }; + + environment.systemPackages = [ pkgs.jq ]; + + systemd.services.graylog.path = [ pkgs.netcat ]; + systemd.services.graylog.preStart = '' + until nc -z localhost 9200; do + sleep 2 + done + ''; }; - }); - - payloads.gelf_message = pkgs.writeText "gelf.json" (builtins.toJSON { - host = "example.org"; - short_message = "A short message"; - full_message = "A long message"; - version = "1.1"; - level = 5; - facility = "Test"; - }); - in '' - machine.start() - machine.wait_for_unit("graylog.service") - - machine.wait_until_succeeds( - "journalctl -o cat -u graylog.service | grep 'Started REST API at <127.0.0.1:9000>'" - ) - - machine.wait_for_open_port(9000) - machine.succeed("curl -sSfL http://127.0.0.1:9000/") - - machine.wait_until_succeeds( - "journalctl -o cat -u graylog.service | grep 'Graylog server up and running'" - ) - - session = machine.succeed( - "curl -X POST " - + "-sSfL http://127.0.0.1:9000/api/system/sessions " - + "-d $(cat ${payloads.login}) " - + "-H 'Content-Type: application/json' " - + "-H 'Accept: application/json' " - + "-H 'x-requested-by: cli' " - + "| jq .session_id | xargs echo" - ).rstrip() - - machine.succeed( - "curl -X POST " - + f"-sSfL http://127.0.0.1:9000/api/system/inputs -u {session}:session " - + '-d $(cat ${payloads.input} | sed -e "s,@node@,$(cat /var/lib/graylog/server/node-id),") ' - + "-H 'Accept: application/json' " - + "-H 'Content-Type: application/json' " - + "-H 'x-requested-by: cli' " - ) - - machine.wait_until_succeeds( - "journalctl -o cat -u graylog.service | grep -E 'Input \[GELF UDP/Demo/[[:alnum:]]{24}\] is now RUNNING'" - ) - - machine.wait_until_succeeds( - "test \"$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' " - + f"-u {session}:session " - + "-H 'Accept: application/json' " - + "-H 'Content-Type: application/json' " - + "-H 'x-requested-by: cli'" - + "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo" - + ')" = "RUNNING"' - ) - - machine.succeed( - "echo -n $(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201" - ) - - machine.succeed( - 'test "$(curl -X GET ' - + "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' " - + f"-u {session}:session " - + "-H 'Accept: application/json' " - + "-H 'Content-Type: application/json' " - + "-H 'x-requested-by: cli'" - + ' | jq \'.total_results\' | xargs echo)" = "1"' - ) - ''; -}) + + testScript = + let + payloads.login = pkgs.writeText "login.json" ( + builtins.toJSON { + host = "127.0.0.1:9000"; + username = "admin"; + password = "nixos"; + } + ); + + payloads.input = pkgs.writeText "input.json" ( + builtins.toJSON { + title = "Demo"; + global = false; + type = "org.graylog2.inputs.gelf.udp.GELFUDPInput"; + node = "@node@"; + configuration = { + bind_address = "0.0.0.0"; + decompress_size_limit = 8388608; + number_worker_threads = 1; + override_source = null; + port = 12201; + recv_buffer_size = 262144; + }; + } + ); + + payloads.gelf_message = pkgs.writeText "gelf.json" ( + builtins.toJSON { + host = "example.org"; + short_message = "A short message"; + full_message = "A long message"; + version = "1.1"; + level = 5; + facility = "Test"; + } + ); + in + '' + machine.start() + machine.wait_for_unit("graylog.service") + + machine.wait_until_succeeds( + "journalctl -o cat -u graylog.service | grep 'Started REST API at <127.0.0.1:9000>'" + ) + + machine.wait_for_open_port(9000) + machine.succeed("curl -sSfL http://127.0.0.1:9000/") + + machine.wait_until_succeeds( + "journalctl -o cat -u graylog.service | grep 'Graylog server up and running'" + ) + + session = machine.succeed( + "curl -X POST " + + "-sSfL http://127.0.0.1:9000/api/system/sessions " + + "-d $(cat ${payloads.login}) " + + "-H 'Content-Type: application/json' " + + "-H 'Accept: application/json' " + + "-H 'x-requested-by: cli' " + + "| jq .session_id | xargs echo" + ).rstrip() + + machine.succeed( + "curl -X POST " + + f"-sSfL http://127.0.0.1:9000/api/system/inputs -u {session}:session " + + '-d $(cat ${payloads.input} | sed -e "s,@node@,$(cat /var/lib/graylog/server/node-id),") ' + + "-H 'Accept: application/json' " + + "-H 'Content-Type: application/json' " + + "-H 'x-requested-by: cli' " + ) + + machine.wait_until_succeeds( + "journalctl -o cat -u graylog.service | grep -E 'Input \[GELF UDP/Demo/[[:alnum:]]{24}\] is now RUNNING'" + ) + + machine.wait_until_succeeds( + "test \"$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' " + + f"-u {session}:session " + + "-H 'Accept: application/json' " + + "-H 'Content-Type: application/json' " + + "-H 'x-requested-by: cli'" + + "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo" + + ')" = "RUNNING"' + ) + + machine.succeed( + "echo -n $(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201" + ) + + machine.succeed( + 'test "$(curl -X GET ' + + "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' " + + f"-u {session}:session " + + "-H 'Accept: application/json' " + + "-H 'Content-Type: application/json' " + + "-H 'x-requested-by: cli'" + + ' | jq \'.total_results\' | xargs echo)" = "1"' + ) + ''; + } +) diff --git a/nixos/tests/greetd-no-shadow.nix b/nixos/tests/greetd-no-shadow.nix index 382218ffa948f..0bbf4faa3d9c0 100644 --- a/nixos/tests/greetd-no-shadow.nix +++ b/nixos/tests/greetd-no-shadow.nix @@ -1,34 +1,40 @@ -import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: -{ - name = "greetd-no-shadow"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { + pkgs, + latestKernel ? false, + ... + }: + { + name = "greetd-no-shadow"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes.machine = - { pkgs, lib, ... }: { + nodes.machine = + { pkgs, lib, ... }: + { - users.users.alice = { - isNormalUser = true; - group = "alice"; - password = "foobar"; - }; - users.groups.alice = {}; + users.users.alice = { + isNormalUser = true; + group = "alice"; + password = "foobar"; + }; + users.groups.alice = { }; - # This means login(1) breaks, so we must use greetd/agreety instead. - security.shadow.enable = false; + # This means login(1) breaks, so we must use greetd/agreety instead. + security.shadow.enable = false; - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.greetd.greetd}/bin/agreety --cmd bash"; + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.greetd}/bin/agreety --cmd bash"; + }; }; }; }; - }; - testScript = '' + testScript = '' machine.start() machine.wait_for_unit("multi-user.target") @@ -45,5 +51,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: machine.wait_until_succeeds("pgrep -u alice bash") machine.send_chars("touch done\n") machine.wait_for_file("/home/alice/done") - ''; -}) + ''; + } +) diff --git a/nixos/tests/grocy.nix b/nixos/tests/grocy.nix index 48bbc9f7d3fa2..0cfaf1e7fc583 100644 --- a/nixos/tests/grocy.nix +++ b/nixos/tests/grocy.nix @@ -1,73 +1,78 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "grocy"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ma27 ]; - }; - - nodes.machine = { pkgs, ... }: { - services.grocy = { - enable = true; - hostName = "localhost"; - nginx.enableSSL = false; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "grocy"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ma27 ]; }; - environment.systemPackages = [ pkgs.jq ]; - }; - testScript = '' - from base64 import b64encode - from urllib.parse import quote + nodes.machine = + { pkgs, ... }: + { + services.grocy = { + enable = true; + hostName = "localhost"; + nginx.enableSSL = false; + }; + environment.systemPackages = [ pkgs.jq ]; + }; + + testScript = '' + from base64 import b64encode + from urllib.parse import quote - machine.start() - machine.wait_for_open_port(80) - machine.wait_for_unit("multi-user.target") + machine.start() + machine.wait_for_open_port(80) + machine.wait_for_unit("multi-user.target") - machine.succeed("curl -sSf http://localhost") + machine.succeed("curl -sSf http://localhost") - machine.succeed( - "curl -c cookies -sSf -X POST http://localhost/login -d 'username=admin&password=admin'" - ) + machine.succeed( + "curl -c cookies -sSf -X POST http://localhost/login -d 'username=admin&password=admin'" + ) - cookie = machine.succeed( - "grep -v '^#' cookies | awk '{ print $7 }' | sed -e '/^$/d' | perl -pe 'chomp'" - ) + cookie = machine.succeed( + "grep -v '^#' cookies | awk '{ print $7 }' | sed -e '/^$/d' | perl -pe 'chomp'" + ) - machine.succeed( - f"curl -sSf -X POST http://localhost/api/objects/tasks -b 'grocy_session={cookie}' " - + '-d \'{"assigned_to_user_id":1,"name":"Test Task","due_date":"1970-01-01"}\''' - + " --header 'Content-Type: application/json'" - ) + machine.succeed( + f"curl -sSf -X POST http://localhost/api/objects/tasks -b 'grocy_session={cookie}' " + + '-d \'{"assigned_to_user_id":1,"name":"Test Task","due_date":"1970-01-01"}\''' + + " --header 'Content-Type: application/json'" + ) - task_name = machine.succeed( - f"curl -sSf http://localhost/api/tasks -b 'grocy_session={cookie}' --header 'Accept: application/json' | jq '.[].name' | xargs echo | perl -pe 'chomp'" - ) + task_name = machine.succeed( + f"curl -sSf http://localhost/api/tasks -b 'grocy_session={cookie}' --header 'Accept: application/json' | jq '.[].name' | xargs echo | perl -pe 'chomp'" + ) - assert task_name == "Test Task" + assert task_name == "Test Task" - machine.succeed("curl -sSI http://localhost/api/tasks 2>&1 | grep '401 Unauthorized'") + machine.succeed("curl -sSI http://localhost/api/tasks 2>&1 | grep '401 Unauthorized'") - file_name = "test.txt" - file_name_base64 = b64encode(file_name.encode('ascii')).decode('ascii') - file_name_base64_urlencode = quote(file_name_base64) + file_name = "test.txt" + file_name_base64 = b64encode(file_name.encode('ascii')).decode('ascii') + file_name_base64_urlencode = quote(file_name_base64) - machine.succeed( - f"echo Sample equipment manual > /tmp/{file_name}" - ) + machine.succeed( + f"echo Sample equipment manual > /tmp/{file_name}" + ) - machine.succeed( - f"curl -sSf -X 'PUT' -b 'grocy_session={cookie}' " - + f" 'http://localhost/api/files/equipmentmanuals/{file_name_base64_urlencode}' " - + " --header 'Accept: */*' " - + " --header 'Content-Type: application/octet-stream' " - + f" --data-binary '@/tmp/{file_name}' " - ) + machine.succeed( + f"curl -sSf -X 'PUT' -b 'grocy_session={cookie}' " + + f" 'http://localhost/api/files/equipmentmanuals/{file_name_base64_urlencode}' " + + " --header 'Accept: */*' " + + " --header 'Content-Type: application/octet-stream' " + + f" --data-binary '@/tmp/{file_name}' " + ) - machine.succeed( - f"curl -sSf -X 'GET' -b 'grocy_session={cookie}' " - + f" 'http://localhost/api/files/equipmentmanuals/{file_name_base64_urlencode}' " - + " --header 'Accept: application/octet-stream' " - + f" | cmp /tmp/{file_name}" - ) + machine.succeed( + f"curl -sSf -X 'GET' -b 'grocy_session={cookie}' " + + f" 'http://localhost/api/files/equipmentmanuals/{file_name_base64_urlencode}' " + + " --header 'Accept: application/octet-stream' " + + f" | cmp /tmp/{file_name}" + ) - machine.shutdown() - ''; -}) + machine.shutdown() + ''; + } +) diff --git a/nixos/tests/grow-partition.nix b/nixos/tests/grow-partition.nix index 344910848dca8..c8eef519fb5c4 100644 --- a/nixos/tests/grow-partition.nix +++ b/nixos/tests/grow-partition.nix @@ -4,37 +4,44 @@ let rootFslabel = "external"; rootFsDevice = "/dev/disk/by-label/${rootFslabel}"; - externalModule = partitionTableType: { config, lib, pkgs, ... }: { - virtualisation.directBoot.enable = false; - virtualisation.mountHostNixStore = false; - virtualisation.useEFIBoot = partitionTableType == "efi"; - - # This stops the qemu-vm module from overriding the fileSystems option - # with virtualisation.fileSystems. - virtualisation.fileSystems = lib.mkForce { }; - - - boot.loader.grub.enable = true; - boot.loader.grub.efiSupport = partitionTableType == "efi"; - boot.loader.grub.efiInstallAsRemovable = partitionTableType == "efi"; - boot.loader.grub.device = if partitionTableType == "efi" then "nodev" else "/dev/vda"; - - boot.growPartition = true; - - fileSystems = { - "/".device = rootFsDevice; - }; - - system.build.diskImage = import ../lib/make-disk-image.nix { - inherit config lib pkgs; - label = rootFslabel; - inherit partitionTableType; - format = "raw"; - bootSize = "128M"; - additionalSpace = "0M"; - copyChannel = false; + externalModule = + partitionTableType: + { + config, + lib, + pkgs, + ... + }: + { + virtualisation.directBoot.enable = false; + virtualisation.mountHostNixStore = false; + virtualisation.useEFIBoot = partitionTableType == "efi"; + + # This stops the qemu-vm module from overriding the fileSystems option + # with virtualisation.fileSystems. + virtualisation.fileSystems = lib.mkForce { }; + + boot.loader.grub.enable = true; + boot.loader.grub.efiSupport = partitionTableType == "efi"; + boot.loader.grub.efiInstallAsRemovable = partitionTableType == "efi"; + boot.loader.grub.device = if partitionTableType == "efi" then "nodev" else "/dev/vda"; + + boot.growPartition = true; + + fileSystems = { + "/".device = rootFsDevice; + }; + + system.build.diskImage = import ../lib/make-disk-image.nix { + inherit config lib pkgs; + label = rootFslabel; + inherit partitionTableType; + format = "raw"; + bootSize = "128M"; + additionalSpace = "0M"; + copyChannel = false; + }; }; - }; in { name = "grow-partition"; @@ -48,36 +55,38 @@ in hybrid = externalModule "hybrid"; }; - - testScript = { nodes, ... }: - lib.concatLines (lib.mapAttrsToList (name: node: '' - import os - import subprocess - import tempfile - import shutil - - tmp_disk_image = tempfile.NamedTemporaryFile() - - shutil.copyfile("${node.system.build.diskImage}/nixos.img", tmp_disk_image.name) - - subprocess.run([ - "${node.virtualisation.qemu.package}/bin/qemu-img", - "resize", - "-f", - "raw", - tmp_disk_image.name, - "+32M", - ]) - - # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. - os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name - - ${name}.wait_for_unit("growpart.service") - systemd_growpart_logs = ${name}.succeed("journalctl --boot --unit growpart.service") - assert "CHANGED" in systemd_growpart_logs - ${name}.succeed("systemctl restart growpart.service") - systemd_growpart_logs = ${name}.succeed("journalctl --boot --unit growpart.service") - assert "NOCHANGE" in systemd_growpart_logs - - '') nodes); + testScript = + { nodes, ... }: + lib.concatLines ( + lib.mapAttrsToList (name: node: '' + import os + import subprocess + import tempfile + import shutil + + tmp_disk_image = tempfile.NamedTemporaryFile() + + shutil.copyfile("${node.system.build.diskImage}/nixos.img", tmp_disk_image.name) + + subprocess.run([ + "${node.virtualisation.qemu.package}/bin/qemu-img", + "resize", + "-f", + "raw", + tmp_disk_image.name, + "+32M", + ]) + + # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. + os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name + + ${name}.wait_for_unit("growpart.service") + systemd_growpart_logs = ${name}.succeed("journalctl --boot --unit growpart.service") + assert "CHANGED" in systemd_growpart_logs + ${name}.succeed("systemctl restart growpart.service") + systemd_growpart_logs = ${name}.succeed("journalctl --boot --unit growpart.service") + assert "NOCHANGE" in systemd_growpart_logs + + '') nodes + ); } diff --git a/nixos/tests/guacamole-server.nix b/nixos/tests/guacamole-server.nix index 48194fddfb229..41830778d836c 100644 --- a/nixos/tests/guacamole-server.nix +++ b/nixos/tests/guacamole-server.nix @@ -1,21 +1,25 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -{ - name = "guacamole-server"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "guacamole-server"; - nodes = { - machine = {pkgs, ...}: { - services.guacamole-server = { - enable = true; - host = "0.0.0.0"; - }; + nodes = { + machine = + { pkgs, ... }: + { + services.guacamole-server = { + enable = true; + host = "0.0.0.0"; + }; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("guacamole-server.service") - machine.wait_for_open_port(4822) - ''; + testScript = '' + start_all() + machine.wait_for_unit("guacamole-server.service") + machine.wait_for_open_port(4822) + ''; - meta.maintainers = [ lib.maintainers.drupol ]; -}) + meta.maintainers = [ lib.maintainers.drupol ]; + } +) diff --git a/nixos/tests/guix/basic.nix b/nixos/tests/guix/basic.nix index 9b943b8965e60..14eb3ca8df487 100644 --- a/nixos/tests/guix/basic.nix +++ b/nixos/tests/guix/basic.nix @@ -5,38 +5,43 @@ # So this test is what it is: a basic test while trying to use Guix as much as # we possibly can (including the API) without triggering its download alarm. -import ../make-test-python.nix ({ lib, pkgs, ... }: { - name = "guix-basic"; - meta.maintainers = with lib.maintainers; [ foo-dogsquared ]; - - nodes.machine = { config, ... }: { - environment.etc."guix/scripts".source = ./scripts; - services.guix = { - enable = true; - gc.enable = true; - }; - }; - - testScript = '' - import pathlib - - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("guix-daemon.service") - machine.succeed("systemctl start guix-gc.service") - - # Can't do much here since the environment has restricted network access. - with subtest("Guix basic package management"): - machine.succeed("guix build --dry-run --verbosity=0 hello") - machine.succeed("guix show hello") - - # This is to see if the Guix API is usable and mostly working. - with subtest("Guix API scripting"): - scripts_dir = pathlib.Path("/etc/guix/scripts") - - text_msg = "Hello there, NixOS!" - text_store_file = machine.succeed(f"guix repl -- {scripts_dir}/create-file-to-store.scm '{text_msg}'") - assert machine.succeed(f"cat {text_store_file}") == text_msg - - machine.succeed(f"guix repl -- {scripts_dir}/add-existing-files-to-store.scm {scripts_dir}") - ''; -}) +import ../make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "guix-basic"; + meta.maintainers = with lib.maintainers; [ foo-dogsquared ]; + + nodes.machine = + { config, ... }: + { + environment.etc."guix/scripts".source = ./scripts; + services.guix = { + enable = true; + gc.enable = true; + }; + }; + + testScript = '' + import pathlib + + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("guix-daemon.service") + machine.succeed("systemctl start guix-gc.service") + + # Can't do much here since the environment has restricted network access. + with subtest("Guix basic package management"): + machine.succeed("guix build --dry-run --verbosity=0 hello") + machine.succeed("guix show hello") + + # This is to see if the Guix API is usable and mostly working. + with subtest("Guix API scripting"): + scripts_dir = pathlib.Path("/etc/guix/scripts") + + text_msg = "Hello there, NixOS!" + text_store_file = machine.succeed(f"guix repl -- {scripts_dir}/create-file-to-store.scm '{text_msg}'") + assert machine.succeed(f"cat {text_store_file}") == text_msg + + machine.succeed(f"guix repl -- {scripts_dir}/add-existing-files-to-store.scm {scripts_dir}") + ''; + } +) diff --git a/nixos/tests/guix/default.nix b/nixos/tests/guix/default.nix index a017668c05a75..8bfd744fd0704 100644 --- a/nixos/tests/guix/default.nix +++ b/nixos/tests/guix/default.nix @@ -1,5 +1,6 @@ -{ system ? builtins.currentSystem -, pkgs ? import ../../.. { inherit system; } +{ + system ? builtins.currentSystem, + pkgs ? import ../../.. { inherit system; }, }: { diff --git a/nixos/tests/guix/publish.nix b/nixos/tests/guix/publish.nix index 4a1e49fea903c..95445dd00949c 100644 --- a/nixos/tests/guix/publish.nix +++ b/nixos/tests/guix/publish.nix @@ -2,95 +2,117 @@ # bonus, we'll also test a feature of the substitute server being able to # advertise its service to the local network with Avahi. -import ../make-test-python.nix ({ pkgs, lib, ... }: let - publishPort = 8181; - inherit (builtins) toString; -in { - name = "guix-publish"; - - meta.maintainers = with lib.maintainers; [ foo-dogsquared ]; - - nodes = let - commonConfig = { config, ... }: { - # We'll be using '--advertise' flag with the - # substitute server which requires Avahi. - services.avahi = { - enable = true; - nssmdns4 = true; - publish = { - enable = true; - userServices = true; - }; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + let + publishPort = 8181; + inherit (builtins) toString; + in + { + name = "guix-publish"; + + meta.maintainers = with lib.maintainers; [ foo-dogsquared ]; + + nodes = + let + commonConfig = + { config, ... }: + { + # We'll be using '--advertise' flag with the + # substitute server which requires Avahi. + services.avahi = { + enable = true; + nssmdns4 = true; + publish = { + enable = true; + userServices = true; + }; + }; + }; + in + { + server = + { + config, + lib, + pkgs, + ... + }: + { + imports = [ commonConfig ]; + + services.guix = { + enable = true; + publish = { + enable = true; + port = publishPort; + + generateKeyPair = true; + extraArgs = [ "--advertise" ]; + }; + }; + + networking.firewall.allowedTCPPorts = [ publishPort ]; + }; + + client = + { + config, + lib, + pkgs, + ... + }: + { + imports = [ commonConfig ]; + + services.guix = { + enable = true; + + # Force to only get all substitutes from the local server. We don't + # have anything in the Guix store directory and we cannot get + # anything from the official substitute servers anyways. + substituters.urls = [ "http://server.local:${toString publishPort}" ]; + + extraArgs = [ + # Enable autodiscovery of the substitute servers in the local + # network. This machine shouldn't need to import the signing key from + # the substitute server since it is automatically done anyways. + "--discover=yes" + ]; + }; + }; }; - }; - in { - server = { config, lib, pkgs, ... }: { - imports = [ commonConfig ]; - - services.guix = { - enable = true; - publish = { - enable = true; - port = publishPort; - - generateKeyPair = true; - extraArgs = [ "--advertise" ]; - }; - }; - - networking.firewall.allowedTCPPorts = [ publishPort ]; - }; - - client = { config, lib, pkgs, ... }: { - imports = [ commonConfig ]; - - services.guix = { - enable = true; - - # Force to only get all substitutes from the local server. We don't - # have anything in the Guix store directory and we cannot get - # anything from the official substitute servers anyways. - substituters.urls = [ "http://server.local:${toString publishPort}" ]; - - extraArgs = [ - # Enable autodiscovery of the substitute servers in the local - # network. This machine shouldn't need to import the signing key from - # the substitute server since it is automatically done anyways. - "--discover=yes" - ]; - }; - }; - }; - testScript = '' - import pathlib + testScript = '' + import pathlib - start_all() + start_all() - scripts_dir = pathlib.Path("/etc/guix/scripts") + scripts_dir = pathlib.Path("/etc/guix/scripts") - for machine in machines: - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("guix-daemon.service") - machine.wait_for_unit("avahi-daemon.service") + for machine in machines: + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("guix-daemon.service") + machine.wait_for_unit("avahi-daemon.service") - server.wait_for_unit("guix-publish.service") - server.wait_for_open_port(${toString publishPort}) - server.succeed("curl http://localhost:${toString publishPort}/") + server.wait_for_unit("guix-publish.service") + server.wait_for_open_port(${toString publishPort}) + server.succeed("curl http://localhost:${toString publishPort}/") - # Now it's the client turn to make use of it. - substitute_server = "http://server.local:${toString publishPort}" - client.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") - response = client.succeed(f"curl {substitute_server}") - assert "Guix Substitute Server" in response + # Now it's the client turn to make use of it. + substitute_server = "http://server.local:${toString publishPort}" + client.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") + response = client.succeed(f"curl {substitute_server}") + assert "Guix Substitute Server" in response - # Authorizing the server to be used as a substitute server. - client.succeed(f"curl -O {substitute_server}/signing-key.pub") - client.succeed("guix archive --authorize < ./signing-key.pub") + # Authorizing the server to be used as a substitute server. + client.succeed(f"curl -O {substitute_server}/signing-key.pub") + client.succeed("guix archive --authorize < ./signing-key.pub") - # Since we're using the substitute server with the `--advertise` flag, we - # might as well check it. - client.succeed("avahi-browse --resolve --terminate _guix_publish._tcp | grep '_guix_publish._tcp'") - ''; -}) + # Since we're using the substitute server with the `--advertise` flag, we + # might as well check it. + client.succeed("avahi-browse --resolve --terminate _guix_publish._tcp | grep '_guix_publish._tcp'") + ''; + } +) diff --git a/nixos/tests/gvisor.nix b/nixos/tests/gvisor.nix index 5c9447b07118d..905abaeedc62e 100644 --- a/nixos/tests/gvisor.nix +++ b/nixos/tests/gvisor.nix @@ -1,43 +1,48 @@ # This test runs a container through gvisor and checks if simple container starts -import ./make-test-python.nix ({ pkgs, ... }: { - name = "gvisor"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "gvisor"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes = { - gvisor = - { pkgs, ... }: - { - virtualisation.docker = { - enable = true; - extraOptions = "--add-runtime runsc=${pkgs.gvisor}/bin/runsc"; - }; + nodes = { + gvisor = + { pkgs, ... }: + { + virtualisation.docker = { + enable = true; + extraOptions = "--add-runtime runsc=${pkgs.gvisor}/bin/runsc"; + }; - networking = { - dhcpcd.enable = false; - defaultGateway = "192.168.1.1"; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; + networking = { + dhcpcd.enable = false; + defaultGateway = "192.168.1.1"; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; }; - }; - }; - - testScript = '' - start_all() + }; - gvisor.wait_for_unit("network.target") - gvisor.wait_for_unit("sockets.target") + testScript = '' + start_all() - # Test the Docker runtime - gvisor.succeed("tar cv --files-from /dev/null | docker import - scratchimg") - gvisor.succeed( - "docker run -d --name=sleeping --runtime=runsc -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10" - ) - gvisor.succeed("docker ps | grep sleeping") - gvisor.succeed("docker stop sleeping") - ''; -}) + gvisor.wait_for_unit("network.target") + gvisor.wait_for_unit("sockets.target") + # Test the Docker runtime + gvisor.succeed("tar cv --files-from /dev/null | docker import - scratchimg") + gvisor.succeed( + "docker run -d --name=sleeping --runtime=runsc -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10" + ) + gvisor.succeed("docker ps | grep sleeping") + gvisor.succeed("docker stop sleeping") + ''; + } +) diff --git a/nixos/tests/hadoop/hadoop.nix b/nixos/tests/hadoop/hadoop.nix index cc631bb468106..e4db1953d3694 100644 --- a/nixos/tests/hadoop/hadoop.nix +++ b/nixos/tests/hadoop/hadoop.nix @@ -1,256 +1,302 @@ # This test is very comprehensive. It tests whether all hadoop services work well with each other. # Run this when updating the Hadoop package or making significant changes to the hadoop module. # For a more basic test, see hdfs.nix and yarn.nix -import ../make-test-python.nix ({ package, ... }: { - name = "hadoop-combined"; +import ../make-test-python.nix ( + { package, ... }: + { + name = "hadoop-combined"; - nodes = - let - coreSite = { - "fs.defaultFS" = "hdfs://ns1"; - }; - hdfsSite = { - # HA Quorum Journal Manager configuration - "dfs.nameservices" = "ns1"; - "dfs.ha.namenodes.ns1" = "nn1,nn2"; - "dfs.namenode.shared.edits.dir.ns1" = "qjournal://jn1:8485;jn2:8485;jn3:8485/ns1"; - "dfs.namenode.rpc-address.ns1.nn1" = "nn1:8020"; - "dfs.namenode.rpc-address.ns1.nn2" = "nn2:8020"; - "dfs.namenode.servicerpc-address.ns1.nn1" = "nn1:8022"; - "dfs.namenode.servicerpc-address.ns1.nn2" = "nn2:8022"; - "dfs.namenode.http-address.ns1.nn1" = "nn1:9870"; - "dfs.namenode.http-address.ns1.nn2" = "nn2:9870"; + nodes = + let + coreSite = { + "fs.defaultFS" = "hdfs://ns1"; + }; + hdfsSite = { + # HA Quorum Journal Manager configuration + "dfs.nameservices" = "ns1"; + "dfs.ha.namenodes.ns1" = "nn1,nn2"; + "dfs.namenode.shared.edits.dir.ns1" = "qjournal://jn1:8485;jn2:8485;jn3:8485/ns1"; + "dfs.namenode.rpc-address.ns1.nn1" = "nn1:8020"; + "dfs.namenode.rpc-address.ns1.nn2" = "nn2:8020"; + "dfs.namenode.servicerpc-address.ns1.nn1" = "nn1:8022"; + "dfs.namenode.servicerpc-address.ns1.nn2" = "nn2:8022"; + "dfs.namenode.http-address.ns1.nn1" = "nn1:9870"; + "dfs.namenode.http-address.ns1.nn2" = "nn2:9870"; - # Automatic failover configuration - "dfs.client.failover.proxy.provider.ns1" = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"; - "dfs.ha.automatic-failover.enabled.ns1" = "true"; - "dfs.ha.fencing.methods" = "shell(true)"; - "ha.zookeeper.quorum" = "zk1:2181"; - }; - yarnSite = { - "yarn.resourcemanager.zk-address" = "zk1:2181"; - "yarn.resourcemanager.ha.enabled" = "true"; - "yarn.resourcemanager.ha.rm-ids" = "rm1,rm2"; - "yarn.resourcemanager.hostname.rm1" = "rm1"; - "yarn.resourcemanager.hostname.rm2" = "rm2"; - "yarn.resourcemanager.ha.automatic-failover.enabled" = "true"; - "yarn.resourcemanager.cluster-id" = "cluster1"; - # yarn.resourcemanager.webapp.address needs to be defined even though yarn.resourcemanager.hostname is set. This shouldn't be necessary, but there's a bug in - # hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/amfilter/AmFilterInitializer.java:70 - # that causes AM containers to fail otherwise. - "yarn.resourcemanager.webapp.address.rm1" = "rm1:8088"; - "yarn.resourcemanager.webapp.address.rm2" = "rm2:8088"; - }; - in - { - zk1 = { ... }: { - services.zookeeper.enable = true; - networking.firewall.allowedTCPPorts = [ 2181 ]; - }; + # Automatic failover configuration + "dfs.client.failover.proxy.provider.ns1" = + "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"; + "dfs.ha.automatic-failover.enabled.ns1" = "true"; + "dfs.ha.fencing.methods" = "shell(true)"; + "ha.zookeeper.quorum" = "zk1:2181"; + }; + yarnSite = { + "yarn.resourcemanager.zk-address" = "zk1:2181"; + "yarn.resourcemanager.ha.enabled" = "true"; + "yarn.resourcemanager.ha.rm-ids" = "rm1,rm2"; + "yarn.resourcemanager.hostname.rm1" = "rm1"; + "yarn.resourcemanager.hostname.rm2" = "rm2"; + "yarn.resourcemanager.ha.automatic-failover.enabled" = "true"; + "yarn.resourcemanager.cluster-id" = "cluster1"; + # yarn.resourcemanager.webapp.address needs to be defined even though yarn.resourcemanager.hostname is set. This shouldn't be necessary, but there's a bug in + # hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/amfilter/AmFilterInitializer.java:70 + # that causes AM containers to fail otherwise. + "yarn.resourcemanager.webapp.address.rm1" = "rm1:8088"; + "yarn.resourcemanager.webapp.address.rm2" = "rm2:8088"; + }; + in + { + zk1 = + { ... }: + { + services.zookeeper.enable = true; + networking.firewall.allowedTCPPorts = [ 2181 ]; + }; - # HDFS cluster - nn1 = { ... }: { - services.hadoop = { - inherit package coreSite hdfsSite; - hdfs.namenode = { - enable = true; - openFirewall = true; + # HDFS cluster + nn1 = + { ... }: + { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.namenode = { + enable = true; + openFirewall = true; + }; + hdfs.zkfc.enable = true; + }; }; - hdfs.zkfc.enable = true; - }; - }; - nn2 = { ... }: { - services.hadoop = { - inherit package coreSite hdfsSite; - hdfs.namenode = { - enable = true; - openFirewall = true; + nn2 = + { ... }: + { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.namenode = { + enable = true; + openFirewall = true; + }; + hdfs.zkfc.enable = true; + }; }; - hdfs.zkfc.enable = true; - }; - }; - jn1 = { ... }: { - services.hadoop = { - inherit package coreSite hdfsSite; - hdfs.journalnode = { - enable = true; - openFirewall = true; + jn1 = + { ... }: + { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - jn2 = { ... }: { - services.hadoop = { - inherit package coreSite hdfsSite; - hdfs.journalnode = { - enable = true; - openFirewall = true; + jn2 = + { ... }: + { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - jn3 = { ... }: { - services.hadoop = { - inherit package coreSite hdfsSite; - hdfs.journalnode = { - enable = true; - openFirewall = true; + jn3 = + { ... }: + { + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.journalnode = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - dn1 = { ... }: { - virtualisation.diskSize = 4096; - services.hadoop = { - inherit package coreSite hdfsSite; - hdfs.datanode = { - enable = true; - openFirewall = true; + dn1 = + { ... }: + { + virtualisation.diskSize = 4096; + services.hadoop = { + inherit package coreSite hdfsSite; + hdfs.datanode = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - # YARN cluster - rm1 = { options, ... }: { - services.hadoop = { - inherit package coreSite hdfsSite yarnSite; - yarn.resourcemanager = { - enable = true; - openFirewall = true; + # YARN cluster + rm1 = + { options, ... }: + { + services.hadoop = { + inherit + package + coreSite + hdfsSite + yarnSite + ; + yarn.resourcemanager = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - rm2 = { options, ... }: { - services.hadoop = { - inherit package coreSite hdfsSite yarnSite; - yarn.resourcemanager = { - enable = true; - openFirewall = true; + rm2 = + { options, ... }: + { + services.hadoop = { + inherit + package + coreSite + hdfsSite + yarnSite + ; + yarn.resourcemanager = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - nm1 = { options, ... }: { - virtualisation.memorySize = 2048; - services.hadoop = { - inherit package coreSite hdfsSite yarnSite; - yarn.nodemanager = { - enable = true; - openFirewall = true; + nm1 = + { options, ... }: + { + virtualisation.memorySize = 2048; + services.hadoop = { + inherit + package + coreSite + hdfsSite + yarnSite + ; + yarn.nodemanager = { + enable = true; + openFirewall = true; + }; + }; + }; + client = + { options, ... }: + { + services.hadoop = { + gatewayRole.enable = true; + inherit + package + coreSite + hdfsSite + yarnSite + ; + }; }; - }; - }; - client = { options, ... }: { - services.hadoop = { - gatewayRole.enable = true; - inherit package coreSite hdfsSite yarnSite; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - #### HDFS tests #### + #### HDFS tests #### - zk1.wait_for_unit("network.target") - jn1.wait_for_unit("network.target") - jn2.wait_for_unit("network.target") - jn3.wait_for_unit("network.target") - nn1.wait_for_unit("network.target") - nn2.wait_for_unit("network.target") - dn1.wait_for_unit("network.target") + zk1.wait_for_unit("network.target") + jn1.wait_for_unit("network.target") + jn2.wait_for_unit("network.target") + jn3.wait_for_unit("network.target") + nn1.wait_for_unit("network.target") + nn2.wait_for_unit("network.target") + dn1.wait_for_unit("network.target") - zk1.wait_for_unit("zookeeper") - jn1.wait_for_unit("hdfs-journalnode") - jn2.wait_for_unit("hdfs-journalnode") - jn3.wait_for_unit("hdfs-journalnode") + zk1.wait_for_unit("zookeeper") + jn1.wait_for_unit("hdfs-journalnode") + jn2.wait_for_unit("hdfs-journalnode") + jn3.wait_for_unit("hdfs-journalnode") - zk1.wait_for_open_port(2181) - jn1.wait_for_open_port(8480) - jn1.wait_for_open_port(8485) - jn2.wait_for_open_port(8480) - jn2.wait_for_open_port(8485) + zk1.wait_for_open_port(2181) + jn1.wait_for_open_port(8480) + jn1.wait_for_open_port(8485) + jn2.wait_for_open_port(8480) + jn2.wait_for_open_port(8485) - # Namenodes must be stopped before initializing the cluster - nn1.succeed("systemctl stop hdfs-namenode") - nn2.succeed("systemctl stop hdfs-namenode") - nn1.succeed("systemctl stop hdfs-zkfc") - nn2.succeed("systemctl stop hdfs-zkfc") + # Namenodes must be stopped before initializing the cluster + nn1.succeed("systemctl stop hdfs-namenode") + nn2.succeed("systemctl stop hdfs-namenode") + nn1.succeed("systemctl stop hdfs-zkfc") + nn2.succeed("systemctl stop hdfs-zkfc") - # Initialize zookeeper for failover controller - nn1.succeed("sudo -u hdfs systemd-cat hdfs zkfc -formatZK") + # Initialize zookeeper for failover controller + nn1.succeed("sudo -u hdfs systemd-cat hdfs zkfc -formatZK") - # Format NN1 and start it - nn1.succeed("sudo -u hdfs systemd-cat hadoop namenode -format") - nn1.succeed("systemctl start hdfs-namenode") - nn1.wait_for_open_port(9870) - nn1.wait_for_open_port(8022) - nn1.wait_for_open_port(8020) + # Format NN1 and start it + nn1.succeed("sudo -u hdfs systemd-cat hadoop namenode -format") + nn1.succeed("systemctl start hdfs-namenode") + nn1.wait_for_open_port(9870) + nn1.wait_for_open_port(8022) + nn1.wait_for_open_port(8020) - # Bootstrap NN2 from NN1 and start it - nn2.succeed("sudo -u hdfs systemd-cat hdfs namenode -bootstrapStandby") - nn2.succeed("systemctl start hdfs-namenode") - nn2.wait_for_open_port(9870) - nn2.wait_for_open_port(8022) - nn2.wait_for_open_port(8020) - nn1.succeed("systemd-cat netstat -tulpne") + # Bootstrap NN2 from NN1 and start it + nn2.succeed("sudo -u hdfs systemd-cat hdfs namenode -bootstrapStandby") + nn2.succeed("systemctl start hdfs-namenode") + nn2.wait_for_open_port(9870) + nn2.wait_for_open_port(8022) + nn2.wait_for_open_port(8020) + nn1.succeed("systemd-cat netstat -tulpne") - # Start failover controllers - nn1.succeed("systemctl start hdfs-zkfc") - nn2.succeed("systemctl start hdfs-zkfc") + # Start failover controllers + nn1.succeed("systemctl start hdfs-zkfc") + nn2.succeed("systemctl start hdfs-zkfc") - # DN should have started by now, but confirm anyway - dn1.wait_for_unit("hdfs-datanode") - # Print states of namenodes - client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") - # Wait for cluster to exit safemode - client.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") - client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") - # test R/W - client.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") - assert "testfilecontents" in client.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + # DN should have started by now, but confirm anyway + dn1.wait_for_unit("hdfs-datanode") + # Print states of namenodes + client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") + # Wait for cluster to exit safemode + client.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") + # test R/W + client.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") + assert "testfilecontents" in client.succeed("sudo -u hdfs hdfs dfs -cat /testfile") - # Test NN failover - nn1.succeed("systemctl stop hdfs-namenode") - assert "active" in client.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") - client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") - assert "testfilecontents" in client.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + # Test NN failover + nn1.succeed("systemctl stop hdfs-namenode") + assert "active" in client.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") + client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") + assert "testfilecontents" in client.succeed("sudo -u hdfs hdfs dfs -cat /testfile") - nn1.succeed("systemctl start hdfs-namenode") - nn1.wait_for_open_port(9870) - nn1.wait_for_open_port(8022) - nn1.wait_for_open_port(8020) - assert "standby" in client.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") - client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") + nn1.succeed("systemctl start hdfs-namenode") + nn1.wait_for_open_port(9870) + nn1.wait_for_open_port(8022) + nn1.wait_for_open_port(8020) + assert "standby" in client.succeed("sudo -u hdfs hdfs haadmin -getAllServiceState") + client.succeed("sudo -u hdfs systemd-cat hdfs haadmin -getAllServiceState") - #### YARN tests #### + #### YARN tests #### - rm1.wait_for_unit("network.target") - rm2.wait_for_unit("network.target") - nm1.wait_for_unit("network.target") + rm1.wait_for_unit("network.target") + rm2.wait_for_unit("network.target") + nm1.wait_for_unit("network.target") - rm1.wait_for_unit("yarn-resourcemanager") - rm1.wait_for_open_port(8088) - rm2.wait_for_unit("yarn-resourcemanager") - rm2.wait_for_open_port(8088) + rm1.wait_for_unit("yarn-resourcemanager") + rm1.wait_for_open_port(8088) + rm2.wait_for_unit("yarn-resourcemanager") + rm2.wait_for_open_port(8088) - nm1.wait_for_unit("yarn-nodemanager") - nm1.wait_for_open_port(8042) - nm1.wait_for_open_port(8040) - client.wait_until_succeeds("yarn node -list | grep Nodes:1") - client.succeed("sudo -u yarn systemd-cat yarn rmadmin -getAllServiceState") - client.succeed("sudo -u yarn systemd-cat yarn node -list") + nm1.wait_for_unit("yarn-nodemanager") + nm1.wait_for_open_port(8042) + nm1.wait_for_open_port(8040) + client.wait_until_succeeds("yarn node -list | grep Nodes:1") + client.succeed("sudo -u yarn systemd-cat yarn rmadmin -getAllServiceState") + client.succeed("sudo -u yarn systemd-cat yarn node -list") - # Test RM failover - rm1.succeed("systemctl stop yarn-resourcemanager") - assert "standby" not in client.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") - client.succeed("sudo -u yarn systemd-cat yarn rmadmin -getAllServiceState") - rm1.succeed("systemctl start yarn-resourcemanager") - rm1.wait_for_unit("yarn-resourcemanager") - rm1.wait_for_open_port(8088) - assert "standby" in client.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") - client.succeed("sudo -u yarn systemd-cat yarn rmadmin -getAllServiceState") + # Test RM failover + rm1.succeed("systemctl stop yarn-resourcemanager") + assert "standby" not in client.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") + client.succeed("sudo -u yarn systemd-cat yarn rmadmin -getAllServiceState") + rm1.succeed("systemctl start yarn-resourcemanager") + rm1.wait_for_unit("yarn-resourcemanager") + rm1.wait_for_open_port(8088) + assert "standby" in client.succeed("sudo -u yarn yarn rmadmin -getAllServiceState") + client.succeed("sudo -u yarn systemd-cat yarn rmadmin -getAllServiceState") - assert "Estimated value of Pi is" in client.succeed("HADOOP_USER_NAME=hdfs yarn jar $(readlink $(which yarn) | sed -r 's~bin/yarn~share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar~g') pi 2 10") - assert "SUCCEEDED" in client.succeed("yarn application -list -appStates FINISHED") - ''; -}) + assert "Estimated value of Pi is" in client.succeed("HADOOP_USER_NAME=hdfs yarn jar $(readlink $(which yarn) | sed -r 's~bin/yarn~share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar~g') pi 2 10") + assert "SUCCEEDED" in client.succeed("yarn application -list -appStates FINISHED") + ''; + } +) diff --git a/nixos/tests/hadoop/hbase.nix b/nixos/tests/hadoop/hbase.nix index 0416345682a89..efc85c869bf91 100644 --- a/nixos/tests/hadoop/hbase.nix +++ b/nixos/tests/hadoop/hbase.nix @@ -1,109 +1,135 @@ # Test a minimal hbase cluster { pkgs, ... }: -import ../make-test-python.nix ({ hadoop ? pkgs.hadoop, hbase ? pkgs.hbase, ... }: -with pkgs.lib; -{ - name = "hadoop-hbase"; +import ../make-test-python.nix ( + { + hadoop ? pkgs.hadoop, + hbase ? pkgs.hbase, + ... + }: + with pkgs.lib; + { + name = "hadoop-hbase"; - nodes = let - coreSite = { - "fs.defaultFS" = "hdfs://namenode:8020"; - }; - defOpts = { - enable = true; - openFirewall = true; - }; - zookeeperQuorum = "zookeeper"; - in { - zookeeper = { ... }: { - services.zookeeper.enable = true; - networking.firewall.allowedTCPPorts = [ 2181 ]; - }; - namenode = { ... }: { - services.hadoop = { - hdfs = { - namenode = defOpts // { formatOnInit = true; }; + nodes = + let + coreSite = { + "fs.defaultFS" = "hdfs://namenode:8020"; }; - inherit coreSite; - }; - }; - datanode = { ... }: { - virtualisation.diskSize = 8192; - services.hadoop = { - hdfs.datanode = defOpts; - inherit coreSite; - }; - }; - - master = { ... }:{ - services.hadoop = { - inherit coreSite; - hbase = { - inherit zookeeperQuorum; - master = defOpts // { initHDFS = true; }; - }; - }; - }; - regionserver = { ... }:{ - services.hadoop = { - inherit coreSite; - hbase = { - inherit zookeeperQuorum; - regionServer = defOpts; - }; - }; - }; - thrift = { ... }:{ - services.hadoop = { - inherit coreSite; - hbase = { - inherit zookeeperQuorum; - thrift = defOpts; - }; - }; - }; - rest = { ... }:{ - services.hadoop = { - inherit coreSite; - hbase = { - inherit zookeeperQuorum; - rest = defOpts; + defOpts = { + enable = true; + openFirewall = true; }; + zookeeperQuorum = "zookeeper"; + in + { + zookeeper = + { ... }: + { + services.zookeeper.enable = true; + networking.firewall.allowedTCPPorts = [ 2181 ]; + }; + namenode = + { ... }: + { + services.hadoop = { + hdfs = { + namenode = defOpts // { + formatOnInit = true; + }; + }; + inherit coreSite; + }; + }; + datanode = + { ... }: + { + virtualisation.diskSize = 8192; + services.hadoop = { + hdfs.datanode = defOpts; + inherit coreSite; + }; + }; + + master = + { ... }: + { + services.hadoop = { + inherit coreSite; + hbase = { + inherit zookeeperQuorum; + master = defOpts // { + initHDFS = true; + }; + }; + }; + }; + regionserver = + { ... }: + { + services.hadoop = { + inherit coreSite; + hbase = { + inherit zookeeperQuorum; + regionServer = defOpts; + }; + }; + }; + thrift = + { ... }: + { + services.hadoop = { + inherit coreSite; + hbase = { + inherit zookeeperQuorum; + thrift = defOpts; + }; + }; + }; + rest = + { ... }: + { + services.hadoop = { + inherit coreSite; + hbase = { + inherit zookeeperQuorum; + rest = defOpts; + }; + }; + }; }; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # wait for HDFS cluster - namenode.wait_for_unit("hdfs-namenode") - namenode.wait_for_unit("network.target") - namenode.wait_for_open_port(8020) - namenode.wait_for_open_port(9870) - datanode.wait_for_unit("hdfs-datanode") - datanode.wait_for_unit("network.target") - datanode.wait_for_open_port(9864) - datanode.wait_for_open_port(9866) - datanode.wait_for_open_port(9867) + # wait for HDFS cluster + namenode.wait_for_unit("hdfs-namenode") + namenode.wait_for_unit("network.target") + namenode.wait_for_open_port(8020) + namenode.wait_for_open_port(9870) + datanode.wait_for_unit("hdfs-datanode") + datanode.wait_for_unit("network.target") + datanode.wait_for_open_port(9864) + datanode.wait_for_open_port(9866) + datanode.wait_for_open_port(9867) - # wait for ZK - zookeeper.wait_for_unit("zookeeper") - zookeeper.wait_for_open_port(2181) + # wait for ZK + zookeeper.wait_for_unit("zookeeper") + zookeeper.wait_for_open_port(2181) - # wait for HBase to start up - master.wait_for_unit("hbase-master") - regionserver.wait_for_unit("hbase-regionserver") + # wait for HBase to start up + master.wait_for_unit("hbase-master") + regionserver.wait_for_unit("hbase-regionserver") - assert "1 active master, 0 backup masters, 1 servers" in master.succeed("echo status | HADOOP_USER_NAME=hbase hbase shell -n") - regionserver.wait_until_succeeds("echo \"create 't1','f1'\" | HADOOP_USER_NAME=hbase hbase shell -n") - assert "NAME => 'f1'" in regionserver.succeed("echo \"describe 't1'\" | HADOOP_USER_NAME=hbase hbase shell -n") + assert "1 active master, 0 backup masters, 1 servers" in master.succeed("echo status | HADOOP_USER_NAME=hbase hbase shell -n") + regionserver.wait_until_succeeds("echo \"create 't1','f1'\" | HADOOP_USER_NAME=hbase hbase shell -n") + assert "NAME => 'f1'" in regionserver.succeed("echo \"describe 't1'\" | HADOOP_USER_NAME=hbase hbase shell -n") - rest.wait_for_open_port(8080) - assert "${hbase.version}" in regionserver.succeed("curl http://rest:8080/version/cluster") + rest.wait_for_open_port(8080) + assert "${hbase.version}" in regionserver.succeed("curl http://rest:8080/version/cluster") - thrift.wait_for_open_port(9090) - ''; + thrift.wait_for_open_port(9090) + ''; - meta.maintainers = with maintainers; [ illustris ]; -}) + meta.maintainers = with maintainers; [ illustris ]; + } +) diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index 65686b3715598..45206eefa6c2b 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -1,83 +1,102 @@ # Test a minimal HDFS cluster with no HA -import ../make-test-python.nix ({ package, lib, ... }: -{ - name = "hadoop-hdfs"; +import ../make-test-python.nix ( + { package, lib, ... }: + { + name = "hadoop-hdfs"; - nodes = let - coreSite = { - "fs.defaultFS" = "hdfs://namenode:8020"; - "hadoop.proxyuser.httpfs.groups" = "*"; - "hadoop.proxyuser.httpfs.hosts" = "*"; - }; - in { - namenode = { pkgs, ... }: { - services.hadoop = { - inherit package; - hdfs = { - namenode = { - enable = true; - openFirewall = true; - formatOnInit = true; + nodes = + let + coreSite = { + "fs.defaultFS" = "hdfs://namenode:8020"; + "hadoop.proxyuser.httpfs.groups" = "*"; + "hadoop.proxyuser.httpfs.hosts" = "*"; + }; + in + { + namenode = + { pkgs, ... }: + { + services.hadoop = { + inherit package; + hdfs = { + namenode = { + enable = true; + openFirewall = true; + formatOnInit = true; + }; + httpfs = { + # The NixOS hadoop module only support webHDFS on 3.3 and newer + enable = lib.mkIf (lib.versionAtLeast package.version "3.3") true; + openFirewall = true; + }; + }; + inherit coreSite; + }; }; - httpfs = { - # The NixOS hadoop module only support webHDFS on 3.3 and newer - enable = lib.mkIf (lib.versionAtLeast package.version "3.3") true; - openFirewall = true; + datanode = + { pkgs, ... }: + { + services.hadoop = { + inherit package; + hdfs.datanode = { + enable = true; + openFirewall = true; + dataDirs = [ + { + type = "DISK"; + path = "/tmp/dn1"; + } + ]; + }; + inherit coreSite; + }; }; - }; - inherit coreSite; - }; - }; - datanode = { pkgs, ... }: { - services.hadoop = { - inherit package; - hdfs.datanode = { - enable = true; - openFirewall = true; - dataDirs = [{ - type = "DISK"; - path = "/tmp/dn1"; - }]; - }; - inherit coreSite; }; - }; - }; - testScript = '' - start_all() + testScript = + '' + start_all() - namenode.wait_for_unit("hdfs-namenode") - namenode.wait_for_unit("network.target") - namenode.wait_for_open_port(8020) - namenode.succeed("systemd-cat ss -tulpne") - namenode.succeed("systemd-cat cat /etc/hadoop*/hdfs-site.xml") - namenode.wait_for_open_port(9870) + namenode.wait_for_unit("hdfs-namenode") + namenode.wait_for_unit("network.target") + namenode.wait_for_open_port(8020) + namenode.succeed("systemd-cat ss -tulpne") + namenode.succeed("systemd-cat cat /etc/hadoop*/hdfs-site.xml") + namenode.wait_for_open_port(9870) - datanode.wait_for_unit("hdfs-datanode") - datanode.wait_for_unit("network.target") - '' + (if lib.versionAtLeast package.version "3" then '' - datanode.wait_for_open_port(9864) - datanode.wait_for_open_port(9866) - datanode.wait_for_open_port(9867) + datanode.wait_for_unit("hdfs-datanode") + datanode.wait_for_unit("network.target") + '' + + ( + if lib.versionAtLeast package.version "3" then + '' + datanode.wait_for_open_port(9864) + datanode.wait_for_open_port(9866) + datanode.wait_for_open_port(9867) - datanode.succeed("curl -f http://datanode:9864") - '' else '' - datanode.wait_for_open_port(50075) - datanode.wait_for_open_port(50010) - datanode.wait_for_open_port(50020) + datanode.succeed("curl -f http://datanode:9864") + '' + else + '' + datanode.wait_for_open_port(50075) + datanode.wait_for_open_port(50010) + datanode.wait_for_open_port(50020) - datanode.succeed("curl -f http://datanode:50075") - '' ) + '' - namenode.succeed("curl -f http://namenode:9870") + datanode.succeed("curl -f http://datanode:50075") + '' + ) + + '' + namenode.succeed("curl -f http://namenode:9870") - datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") - datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") - assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile") + datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait") + datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile") + assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile") - '' + lib.optionalString (lib.versionAtLeast package.version "3.3" ) '' - namenode.wait_for_unit("hdfs-httpfs") - namenode.wait_for_open_port(14000) - assert "testfilecontents" in datanode.succeed("curl -f \"http://namenode:14000/webhdfs/v1/testfile?user.name=hdfs&op=OPEN\" 2>&1") - ''; -}) + '' + + lib.optionalString (lib.versionAtLeast package.version "3.3") '' + namenode.wait_for_unit("hdfs-httpfs") + namenode.wait_for_open_port(14000) + assert "testfilecontents" in datanode.succeed("curl -f \"http://namenode:14000/webhdfs/v1/testfile?user.name=hdfs&op=OPEN\" 2>&1") + ''; + } +) diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix index 08c8ff857d8c2..c1a03e7ec7bd3 100644 --- a/nixos/tests/hadoop/yarn.nix +++ b/nixos/tests/hadoop/yarn.nix @@ -1,45 +1,52 @@ # This only tests if YARN is able to start its services -import ../make-test-python.nix ({ package, ... }: { - name = "hadoop-yarn"; +import ../make-test-python.nix ( + { package, ... }: + { + name = "hadoop-yarn"; - nodes = { - resourcemanager = { ... }: { - services.hadoop = { - inherit package; - yarn.resourcemanager = { - enable = true; - openFirewall = true; + nodes = { + resourcemanager = + { ... }: + { + services.hadoop = { + inherit package; + yarn.resourcemanager = { + enable = true; + openFirewall = true; + }; + }; }; - }; - }; - nodemanager = { options, lib, ... }: { - services.hadoop = { - inherit package; - yarn.nodemanager = { - enable = true; - openFirewall = true; - }; - yarnSite = { - "yarn.resourcemanager.hostname" = "resourcemanager"; - "yarn.nodemanager.log-dirs" = "/tmp/userlogs"; + nodemanager = + { options, lib, ... }: + { + services.hadoop = { + inherit package; + yarn.nodemanager = { + enable = true; + openFirewall = true; + }; + yarnSite = { + "yarn.resourcemanager.hostname" = "resourcemanager"; + "yarn.nodemanager.log-dirs" = "/tmp/userlogs"; + }; + }; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - resourcemanager.wait_for_unit("yarn-resourcemanager") - resourcemanager.wait_for_unit("network.target") - resourcemanager.wait_for_open_port(8031) - resourcemanager.wait_for_open_port(8088) + resourcemanager.wait_for_unit("yarn-resourcemanager") + resourcemanager.wait_for_unit("network.target") + resourcemanager.wait_for_open_port(8031) + resourcemanager.wait_for_open_port(8088) - nodemanager.wait_for_unit("yarn-nodemanager") - nodemanager.wait_for_unit("network.target") - nodemanager.wait_for_open_port(8042) + nodemanager.wait_for_unit("yarn-nodemanager") + nodemanager.wait_for_unit("network.target") + nodemanager.wait_for_open_port(8042) - resourcemanager.succeed("curl -f http://localhost:8088") - nodemanager.succeed("curl -f http://localhost:8042") - ''; -}) + resourcemanager.succeed("curl -f http://localhost:8088") + nodemanager.succeed("curl -f http://localhost:8042") + ''; + } +) diff --git a/nixos/tests/haka.nix b/nixos/tests/haka.nix index dd65a6bcf115a..20a161bd8400e 100644 --- a/nixos/tests/haka.nix +++ b/nixos/tests/haka.nix @@ -1,24 +1,27 @@ # This test runs haka and probes it with hakactl -import ./make-test-python.nix ({ pkgs, ...} : { - name = "haka"; - meta = with pkgs.lib.maintainers; { - maintainers = [ tvestelind ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "haka"; + meta = with pkgs.lib.maintainers; { + maintainers = [ tvestelind ]; + }; - nodes = { - haka = - { ... }: + nodes = { + haka = + { ... }: { services.haka.enable = true; }; }; - testScript = '' - start_all() + testScript = '' + start_all() - haka.wait_for_unit("haka.service") - haka.succeed("hakactl status") - haka.succeed("hakactl stop") - ''; -}) + haka.wait_for_unit("haka.service") + haka.succeed("hakactl status") + haka.succeed("hakactl stop") + ''; + } +) diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix index 1730938737577..b3cc19696d7c8 100644 --- a/nixos/tests/haproxy.nix +++ b/nixos/tests/haproxy.nix @@ -1,124 +1,140 @@ -import ./make-test-python.nix ({ lib, pkgs, ...}: { - name = "haproxy"; - nodes = { - server = { ... }: { - services.haproxy = { - enable = true; - config = '' - global - limited-quic - - defaults - mode http - timeout connect 10s - timeout client 10s - timeout server 10s - - log /dev/log local0 debug err - option logasap - option httplog - option httpslog - - backend http_server - server httpd [::1]:8000 alpn http/1.1 - - frontend http - bind :80 - bind :443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h2,http/1.1 - bind quic4@:443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h3 allow-0rtt - - http-after-response add-header alt-svc 'h3=":443"; ma=60' if { ssl_fc } - - http-request use-service prometheus-exporter if { path /metrics } - use_backend http_server - - frontend http-cert-auth - bind :8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt - bind quic4@:8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt alpn h3 - - use_backend http_server - ''; - }; - services.httpd = { - enable = true; - virtualHosts.localhost = { - documentRoot = pkgs.writeTextDir "index.txt" "We are all good!"; - adminAddr = "notme@yourhost.local"; - listen = [{ - ip = "::1"; - port = 8000; - }]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "haproxy"; + nodes = { + server = + { ... }: + { + services.haproxy = { + enable = true; + config = '' + global + limited-quic + + defaults + mode http + timeout connect 10s + timeout client 10s + timeout server 10s + + log /dev/log local0 debug err + option logasap + option httplog + option httpslog + + backend http_server + server httpd [::1]:8000 alpn http/1.1 + + frontend http + bind :80 + bind :443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h2,http/1.1 + bind quic4@:443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h3 allow-0rtt + + http-after-response add-header alt-svc 'h3=":443"; ma=60' if { ssl_fc } + + http-request use-service prometheus-exporter if { path /metrics } + use_backend http_server + + frontend http-cert-auth + bind :8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt + bind quic4@:8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt alpn h3 + + use_backend http_server + ''; + }; + services.httpd = { + enable = true; + virtualHosts.localhost = { + documentRoot = pkgs.writeTextDir "index.txt" "We are all good!"; + adminAddr = "notme@yourhost.local"; + listen = [ + { + ip = "::1"; + port = 8000; + } + ]; + }; + }; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + 8443 + ]; + networking.firewall.allowedUDPPorts = [ + 443 + 8443 + ]; + }; + client = + { ... }: + { + environment.systemPackages = [ pkgs.curlHTTP3 ]; }; - }; - networking.firewall.allowedTCPPorts = [ 80 443 8443 ]; - networking.firewall.allowedUDPPorts = [ 443 8443 ]; - }; - client = { ... }: { - environment.systemPackages = [ pkgs.curlHTTP3 ]; }; - }; - testScript = '' - # Helpers - def cmd(command): - print(f"+{command}") - r = os.system(command) - if r != 0: - raise Exception(f"Command {command} failed with exit code {r}") - - def openssl(command): - cmd(f"${pkgs.openssl}/bin/openssl {command}") - - # Generate CA. - openssl("req -new -newkey rsa:4096 -nodes -x509 -days 7 -subj '/C=ZZ/ST=Cloud/L=Unspecified/O=NixOS/OU=Tests/CN=CA Certificate' -keyout cacert.key -out cacert.crt") - - # Generate and sign Server. - openssl("req -newkey rsa:4096 -nodes -subj '/CN=server/OU=Tests/O=NixOS' -keyout server.key -out server.csr") - openssl("x509 -req -in server.csr -out server.crt -CA cacert.crt -CAkey cacert.key -days 7") - cmd("cat server.crt server.key > fullchain.pem") - - # Generate and sign Client. - openssl("req -newkey rsa:4096 -nodes -subj '/CN=client/OU=Tests/O=NixOS' -keyout client.key -out client.csr") - openssl("x509 -req -in client.csr -out client.crt -CA cacert.crt -CAkey cacert.key -days 7") - cmd("cat client.crt client.key > client.pem") - - # Start the actual test. - start_all() - server.copy_from_host("fullchain.pem", "/etc/ssl/fullchain.pem") - server.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") - server.succeed("chmod 0644 /etc/ssl/fullchain.pem /etc/ssl/cacert.crt") - - client.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") - client.copy_from_host("client.pem", "/root/client.pem") - - server.wait_for_unit("multi-user.target") - server.wait_for_unit("haproxy.service") - server.wait_for_unit("httpd.service") - - assert "We are all good!" in client.succeed("curl -f http://server/index.txt") - assert "haproxy_process_pool_allocated_bytes" in client.succeed("curl -f http://server/metrics") - - with subtest("https"): - assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt https://server/index.txt") - - with subtest("https-cert-auth"): - # Client must succeed in authenticating with the right certificate. - assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") - # Client must fail without certificate. - client.fail("curl --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") - - with subtest("h3"): - assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server/index.txt") - - with subtest("h3-cert-auth"): - # Client must succeed in authenticating with the right certificate. - assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") - # Client must fail without certificate. - client.fail("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") - - with subtest("reload"): - server.succeed("systemctl reload haproxy") - # wait some time to ensure the following request hits the reloaded haproxy - server.sleep(5) - assert "We are all good!" in client.succeed("curl -f http://server/index.txt") - ''; -}) + testScript = '' + # Helpers + def cmd(command): + print(f"+{command}") + r = os.system(command) + if r != 0: + raise Exception(f"Command {command} failed with exit code {r}") + + def openssl(command): + cmd(f"${pkgs.openssl}/bin/openssl {command}") + + # Generate CA. + openssl("req -new -newkey rsa:4096 -nodes -x509 -days 7 -subj '/C=ZZ/ST=Cloud/L=Unspecified/O=NixOS/OU=Tests/CN=CA Certificate' -keyout cacert.key -out cacert.crt") + + # Generate and sign Server. + openssl("req -newkey rsa:4096 -nodes -subj '/CN=server/OU=Tests/O=NixOS' -keyout server.key -out server.csr") + openssl("x509 -req -in server.csr -out server.crt -CA cacert.crt -CAkey cacert.key -days 7") + cmd("cat server.crt server.key > fullchain.pem") + + # Generate and sign Client. + openssl("req -newkey rsa:4096 -nodes -subj '/CN=client/OU=Tests/O=NixOS' -keyout client.key -out client.csr") + openssl("x509 -req -in client.csr -out client.crt -CA cacert.crt -CAkey cacert.key -days 7") + cmd("cat client.crt client.key > client.pem") + + # Start the actual test. + start_all() + server.copy_from_host("fullchain.pem", "/etc/ssl/fullchain.pem") + server.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") + server.succeed("chmod 0644 /etc/ssl/fullchain.pem /etc/ssl/cacert.crt") + + client.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") + client.copy_from_host("client.pem", "/root/client.pem") + + server.wait_for_unit("multi-user.target") + server.wait_for_unit("haproxy.service") + server.wait_for_unit("httpd.service") + + assert "We are all good!" in client.succeed("curl -f http://server/index.txt") + assert "haproxy_process_pool_allocated_bytes" in client.succeed("curl -f http://server/metrics") + + with subtest("https"): + assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt https://server/index.txt") + + with subtest("https-cert-auth"): + # Client must succeed in authenticating with the right certificate. + assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") + # Client must fail without certificate. + client.fail("curl --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") + + with subtest("h3"): + assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server/index.txt") + + with subtest("h3-cert-auth"): + # Client must succeed in authenticating with the right certificate. + assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") + # Client must fail without certificate. + client.fail("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") + + with subtest("reload"): + server.succeed("systemctl reload haproxy") + # wait some time to ensure the following request hits the reloaded haproxy + server.sleep(5) + assert "We are all good!" in client.succeed("curl -f http://server/index.txt") + ''; + } +) diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix index 0c43e3523dacf..7e1301b8099ad 100644 --- a/nixos/tests/hardened.nix +++ b/nixos/tests/hardened.nix @@ -1,100 +1,113 @@ -import ./make-test-python.nix ({ pkgs, ... } : { - name = "hardened"; - meta = with pkgs.lib.maintainers; { - maintainers = [ joachifm ]; - }; - - nodes.machine = - { lib, pkgs, config, ... }: - { users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; }; - users.users.sybil = { isNormalUser = true; group = "wheel"; }; - imports = [ ../modules/profiles/hardened.nix ]; - environment.memoryAllocator.provider = "graphene-hardened"; - nix.settings.sandbox = false; - virtualisation.emptyDiskImages = [ 4096 ]; - boot.initrd.postDeviceCommands = '' - ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb - ''; - virtualisation.fileSystems = { - "/efi" = { - device = "/dev/disk/by-label/EFISYS"; - fsType = "vfat"; - options = [ "noauto" ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "hardened"; + meta = with pkgs.lib.maintainers; { + maintainers = [ joachifm ]; + }; + + nodes.machine = + { + lib, + pkgs, + config, + ... + }: + { + users.users.alice = { + isNormalUser = true; + extraGroups = [ "proc" ]; + }; + users.users.sybil = { + isNormalUser = true; + group = "wheel"; }; + imports = [ ../modules/profiles/hardened.nix ]; + environment.memoryAllocator.provider = "graphene-hardened"; + nix.settings.sandbox = false; + virtualisation.emptyDiskImages = [ 4096 ]; + boot.initrd.postDeviceCommands = '' + ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb + ''; + virtualisation.fileSystems = { + "/efi" = { + device = "/dev/disk/by-label/EFISYS"; + fsType = "vfat"; + options = [ "noauto" ]; + }; + }; + boot.extraModulePackages = pkgs.lib.optional (pkgs.lib.versionOlder config.boot.kernelPackages.kernel.version "5.6") config.boot.kernelPackages.wireguard; + boot.kernelModules = [ "wireguard" ]; }; - boot.extraModulePackages = - pkgs.lib.optional (pkgs.lib.versionOlder config.boot.kernelPackages.kernel.version "5.6") - config.boot.kernelPackages.wireguard; - boot.kernelModules = [ "wireguard" ]; - }; - testScript = - let - hardened-malloc-tests = pkgs.graphene-hardened-malloc.ld-preload-tests; - in - '' - machine.wait_for_unit("multi-user.target") + testScript = + let + hardened-malloc-tests = pkgs.graphene-hardened-malloc.ld-preload-tests; + in + '' + machine.wait_for_unit("multi-user.target") - with subtest("AppArmor profiles are loaded"): - machine.succeed("systemctl status apparmor.service") + with subtest("AppArmor profiles are loaded"): + machine.succeed("systemctl status apparmor.service") - # AppArmor securityfs - with subtest("AppArmor securityfs is mounted"): - machine.succeed("mountpoint -q /sys/kernel/security") - machine.succeed("cat /sys/kernel/security/apparmor/profiles") + # AppArmor securityfs + with subtest("AppArmor securityfs is mounted"): + machine.succeed("mountpoint -q /sys/kernel/security") + machine.succeed("cat /sys/kernel/security/apparmor/profiles") - # Test loading out-of-tree modules - with subtest("Out-of-tree modules can be loaded"): - machine.succeed("grep -Fq wireguard /proc/modules") + # Test loading out-of-tree modules + with subtest("Out-of-tree modules can be loaded"): + machine.succeed("grep -Fq wireguard /proc/modules") - # Test kernel module hardening - with subtest("No more kernel modules can be loaded"): - # note: this better a be module we normally wouldn't load ... - machine.wait_for_unit("disable-kernel-module-loading.service") - machine.fail("modprobe dccp") + # Test kernel module hardening + with subtest("No more kernel modules can be loaded"): + # note: this better a be module we normally wouldn't load ... + machine.wait_for_unit("disable-kernel-module-loading.service") + machine.fail("modprobe dccp") - # Test userns - with subtest("User namespaces are restricted"): - machine.succeed("unshare --user true") - machine.fail("su -l alice -c 'unshare --user true'") + # Test userns + with subtest("User namespaces are restricted"): + machine.succeed("unshare --user true") + machine.fail("su -l alice -c 'unshare --user true'") - # Test dmesg restriction - with subtest("Regular users cannot access dmesg"): - machine.fail("su -l alice -c dmesg") + # Test dmesg restriction + with subtest("Regular users cannot access dmesg"): + machine.fail("su -l alice -c dmesg") - # Test access to kcore - with subtest("Kcore is inaccessible as root"): - machine.fail("cat /proc/kcore") + # Test access to kcore + with subtest("Kcore is inaccessible as root"): + machine.fail("cat /proc/kcore") - # Test deferred mount - with subtest("Deferred mounts work"): - machine.fail("mountpoint -q /efi") # was deferred - machine.execute("mkdir -p /efi") - machine.succeed("mount /dev/disk/by-label/EFISYS /efi") - machine.succeed("mountpoint -q /efi") # now mounted + # Test deferred mount + with subtest("Deferred mounts work"): + machine.fail("mountpoint -q /efi") # was deferred + machine.execute("mkdir -p /efi") + machine.succeed("mount /dev/disk/by-label/EFISYS /efi") + machine.succeed("mountpoint -q /efi") # now mounted - # Test Nix dæmon usage - with subtest("nix-daemon cannot be used by all users"): - machine.fail("su -l nobody -s /bin/sh -c 'nix --extra-experimental-features nix-command ping-store'") - machine.succeed("su -l alice -c 'nix --extra-experimental-features nix-command ping-store'") + # Test Nix dæmon usage + with subtest("nix-daemon cannot be used by all users"): + machine.fail("su -l nobody -s /bin/sh -c 'nix --extra-experimental-features nix-command ping-store'") + machine.succeed("su -l alice -c 'nix --extra-experimental-features nix-command ping-store'") - # Test kernel image protection - with subtest("The kernel image is protected"): - machine.fail("systemctl hibernate") - machine.fail("systemctl kexec") + # Test kernel image protection + with subtest("The kernel image is protected"): + machine.fail("systemctl hibernate") + machine.fail("systemctl kexec") - with subtest("The hardened memory allocator works"): - machine.succeed("${hardened-malloc-tests}/bin/run-tests") - ''; -}) + with subtest("The hardened memory allocator works"): + machine.succeed("${hardened-malloc-tests}/bin/run-tests") + ''; + } +) diff --git a/nixos/tests/harmonia.nix b/nixos/tests/harmonia.nix index d97f0fb89ede4..c58f24af25c99 100644 --- a/nixos/tests/harmonia.nix +++ b/nixos/tests/harmonia.nix @@ -7,7 +7,9 @@ harmonia = { services.harmonia = { enable = true; - signKeyPaths = [(pkgs.writeText "cache-key" "cache.example.com-1:9FhO0w+7HjZrhvmzT1VlAZw4OSAlFGTgC24Seg3tmPl4gZBdwZClzTTHr9cVzJpwsRSYLTu7hEAQe3ljy92CWg==")]; + signKeyPaths = [ + (pkgs.writeText "cache-key" "cache.example.com-1:9FhO0w+7HjZrhvmzT1VlAZw4OSAlFGTgC24Seg3tmPl4gZBdwZClzTTHr9cVzJpwsRSYLTu7hEAQe3ljy92CWg==") + ]; settings.priority = 35; }; @@ -15,26 +17,30 @@ system.extraDependencies = [ pkgs.emptyFile ]; # check that extra-allowed-users is effective for harmonia - nix.settings.allowed-users = []; + nix.settings.allowed-users = [ ]; }; client01 = { nix.settings = { substituters = lib.mkForce [ "http://harmonia:5000" ]; - trusted-public-keys = lib.mkForce [ "cache.example.com-1:eIGQXcGQpc00x6/XFcyacLEUmC07u4RAEHt5Y8vdglo=" ]; + trusted-public-keys = lib.mkForce [ + "cache.example.com-1:eIGQXcGQpc00x6/XFcyacLEUmC07u4RAEHt5Y8vdglo=" + ]; }; }; }; - testScript = { nodes, ... }: '' - start_all() + testScript = + { nodes, ... }: + '' + start_all() - harmonia.wait_for_unit("harmonia.service") + harmonia.wait_for_unit("harmonia.service") - client01.wait_until_succeeds("curl -f http://harmonia:5000/nix-cache-info | grep '${toString nodes.harmonia.services.harmonia.settings.priority}' >&2") - client01.succeed("curl -f http://harmonia:5000/version | grep '${nodes.harmonia.services.harmonia.package.version}' >&2") + client01.wait_until_succeeds("curl -f http://harmonia:5000/nix-cache-info | grep '${toString nodes.harmonia.services.harmonia.settings.priority}' >&2") + client01.succeed("curl -f http://harmonia:5000/version | grep '${nodes.harmonia.services.harmonia.package.version}' >&2") - client01.succeed("cat /etc/nix/nix.conf >&2") - client01.succeed("nix-store --realise ${pkgs.emptyFile} --store /root/other-store") - ''; + client01.succeed("cat /etc/nix/nix.conf >&2") + client01.succeed("nix-store --realise ${pkgs.emptyFile} --store /root/other-store") + ''; } diff --git a/nixos/tests/haste-server.nix b/nixos/tests/haste-server.nix index 9097c992c5483..9c076155f2fcf 100644 --- a/nixos/tests/haste-server.nix +++ b/nixos/tests/haste-server.nix @@ -1,18 +1,21 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: { name = "haste-server"; meta.maintainers = with lib.maintainers; [ mkg20001 ]; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ - curl - jq - ]; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + curl + jq + ]; - services.haste-server = { - enable = true; + services.haste-server = { + enable = true; + }; }; - }; testScript = '' machine.wait_for_unit("haste-server") @@ -20,4 +23,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: machine.succeed('curl -s -X POST http://localhost:7777/documents -d "Hello World!" > bla') machine.succeed('curl http://localhost:7777/raw/$(cat bla | jq -r .key) | grep "Hello World"') ''; - }) + } +) diff --git a/nixos/tests/hbase.nix b/nixos/tests/hbase.nix index 7d8e32f81603e..12afa3a2d2210 100644 --- a/nixos/tests/hbase.nix +++ b/nixos/tests/hbase.nix @@ -1,30 +1,39 @@ -import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.hbase, ... }: -{ - name = "hbase-standalone"; +import ./make-test-python.nix ( + { + pkgs, + lib, + package ? pkgs.hbase, + ... + }: + { + name = "hbase-standalone"; - meta = with lib.maintainers; { - maintainers = [ illustris ]; - }; + meta = with lib.maintainers; { + maintainers = [ illustris ]; + }; - nodes = { - hbase = { pkgs, ... }: { - services.hbase-standalone = { - enable = true; - inherit package; - # Needed for standalone mode in hbase 2+ - # This setting and standalone mode are not suitable for production - settings."hbase.unsafe.stream.capability.enforce" = "false"; - }; - environment.systemPackages = with pkgs; [ - package - ]; + nodes = { + hbase = + { pkgs, ... }: + { + services.hbase-standalone = { + enable = true; + inherit package; + # Needed for standalone mode in hbase 2+ + # This setting and standalone mode are not suitable for production + settings."hbase.unsafe.stream.capability.enforce" = "false"; + }; + environment.systemPackages = with pkgs; [ + package + ]; + }; }; - }; - testScript = '' - start_all() - hbase.wait_for_unit("hbase.service") - hbase.wait_until_succeeds("echo \"create 't1','f1'\" | sudo -u hbase hbase shell -n") - assert "NAME => 'f1'" in hbase.succeed("echo \"describe 't1'\" | sudo -u hbase hbase shell -n") - ''; -}) + testScript = '' + start_all() + hbase.wait_for_unit("hbase.service") + hbase.wait_until_succeeds("echo \"create 't1','f1'\" | sudo -u hbase hbase shell -n") + assert "NAME => 'f1'" in hbase.succeed("echo \"describe 't1'\" | sudo -u hbase hbase shell -n") + ''; + } +) diff --git a/nixos/tests/hddfancontrol.nix b/nixos/tests/hddfancontrol.nix index b5fa7ccb2c19b..159ffacab42e8 100644 --- a/nixos/tests/hddfancontrol.nix +++ b/nixos/tests/hddfancontrol.nix @@ -1,44 +1,51 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "hddfancontrol"; - meta = with pkgs.lib.maintainers; { - maintainers = [ benley ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "hddfancontrol"; + meta = with pkgs.lib.maintainers; { + maintainers = [ benley ]; + }; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; - services.hddfancontrol.enable = true; - services.hddfancontrol.disks = ["/dev/vda"]; - services.hddfancontrol.pwmPaths = ["/test/hwmon1/pwm1"]; - services.hddfancontrol.extraArgs = ["--pwm-start-value=32" - "--pwm-stop-value=0"]; + services.hddfancontrol.enable = true; + services.hddfancontrol.disks = [ "/dev/vda" ]; + services.hddfancontrol.pwmPaths = [ "/test/hwmon1/pwm1" ]; + services.hddfancontrol.extraArgs = [ + "--pwm-start-value=32" + "--pwm-stop-value=0" + ]; - systemd.services.hddfancontrol_fixtures = { - description = "Install test fixtures for hddfancontrol"; - serviceConfig = { - Type = "oneshot"; - }; - script = '' - mkdir -p /test/hwmon1 - echo 255 > /test/hwmon1/pwm1 - echo 2 > /test/hwmon1/pwm1_enable - ''; - wantedBy = ["hddfancontrol.service"]; - before = ["hddfancontrol.service"]; - }; + systemd.services.hddfancontrol_fixtures = { + description = "Install test fixtures for hddfancontrol"; + serviceConfig = { + Type = "oneshot"; + }; + script = '' + mkdir -p /test/hwmon1 + echo 255 > /test/hwmon1/pwm1 + echo 2 > /test/hwmon1/pwm1_enable + ''; + wantedBy = [ "hddfancontrol.service" ]; + before = [ "hddfancontrol.service" ]; + }; - systemd.services.hddfancontrol.serviceConfig.ReadWritePaths = "/test"; - }; + systemd.services.hddfancontrol.serviceConfig.ReadWritePaths = "/test"; + }; - # hddfancontrol.service will fail to start because qemu /dev/vda doesn't have - # any thermal interfaces, but it should ensure that fans appear to be running - # before it aborts. - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.succeed("journalctl -eu hddfancontrol.service|grep 'Setting fan speed'") - machine.shutdown() + # hddfancontrol.service will fail to start because qemu /dev/vda doesn't have + # any thermal interfaces, but it should ensure that fans appear to be running + # before it aborts. + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.succeed("journalctl -eu hddfancontrol.service|grep 'Setting fan speed'") + machine.shutdown() - ''; + ''; -}) + } +) diff --git a/nixos/tests/headscale.nix b/nixos/tests/headscale.nix index 15f7c7be2ae5f..cb5ce26b7944e 100644 --- a/nixos/tests/headscale.nix +++ b/nixos/tests/headscale.nix @@ -1,66 +1,72 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: let - tls-cert = - pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req \ - -x509 -newkey rsa:4096 -sha256 -days 365 \ - -nodes -out cert.pem -keyout key.pem \ - -subj '/CN=headscale' -addext "subjectAltName=DNS:headscale" + tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req \ + -x509 -newkey rsa:4096 -sha256 -days 365 \ + -nodes -out cert.pem -keyout key.pem \ + -subj '/CN=headscale' -addext "subjectAltName=DNS:headscale" - mkdir -p $out - cp key.pem cert.pem $out - ''; - in { + mkdir -p $out + cp key.pem cert.pem $out + ''; + in + { name = "headscale"; meta.maintainers = with lib.maintainers; [ misterio77 ]; - nodes = let - headscalePort = 8080; - stunPort = 3478; - peer = { - services.tailscale.enable = true; - security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; - }; - in { - peer1 = peer; - peer2 = peer; + nodes = + let + headscalePort = 8080; + stunPort = 3478; + peer = { + services.tailscale.enable = true; + security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; + }; + in + { + peer1 = peer; + peer2 = peer; - headscale = { - services = { - headscale = { - enable = true; - port = headscalePort; - settings = { - server_url = "https://headscale"; - ip_prefixes = [ "100.64.0.0/10" ]; - derp.server = { - enabled = true; - region_id = 999; - stun_listen_addr = "0.0.0.0:${toString stunPort}"; + headscale = { + services = { + headscale = { + enable = true; + port = headscalePort; + settings = { + server_url = "https://headscale"; + ip_prefixes = [ "100.64.0.0/10" ]; + derp.server = { + enabled = true; + region_id = 999; + stun_listen_addr = "0.0.0.0:${toString stunPort}"; + }; + dns.base_domain = "tailnet"; }; - dns.base_domain = "tailnet"; }; - }; - nginx = { - enable = true; - virtualHosts.headscale = { - addSSL = true; - sslCertificate = "${tls-cert}/cert.pem"; - sslCertificateKey = "${tls-cert}/key.pem"; - locations."/" = { - proxyPass = "http://127.0.0.1:${toString headscalePort}"; - proxyWebsockets = true; + nginx = { + enable = true; + virtualHosts.headscale = { + addSSL = true; + sslCertificate = "${tls-cert}/cert.pem"; + sslCertificateKey = "${tls-cert}/key.pem"; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString headscalePort}"; + proxyWebsockets = true; + }; }; }; }; + networking.firewall = { + allowedTCPPorts = [ + 80 + 443 + ]; + allowedUDPPorts = [ stunPort ]; + }; + environment.systemPackages = [ pkgs.headscale ]; }; - networking.firewall = { - allowedTCPPorts = [ 80 443 ]; - allowedUDPPorts = [ stunPort ]; - }; - environment.systemPackages = [ pkgs.headscale ]; }; - }; testScript = '' start_all() @@ -80,4 +86,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: peer1.wait_until_succeeds("tailscale ping peer2") peer2.wait_until_succeeds("tailscale ping peer1.tailnet") ''; - }) + } +) diff --git a/nixos/tests/hedgedoc.nix b/nixos/tests/hedgedoc.nix index 16e0dc14e947b..aa1be7421d5ef 100644 --- a/nixos/tests/hedgedoc.nix +++ b/nixos/tests/hedgedoc.nix @@ -1,96 +1,104 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -{ - name = "hedgedoc"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "hedgedoc"; - meta = with lib.maintainers; { - maintainers = [ willibutz ]; - }; - - nodes = { - hedgedocSqlite = { ... }: { - services.hedgedoc.enable = true; + meta = with lib.maintainers; { + maintainers = [ willibutz ]; }; - hedgedocPostgresWithTCPSocket = { ... }: { - systemd.services.hedgedoc.after = [ "postgresql.service" ]; - services = { - hedgedoc = { - enable = true; - settings.db = { - dialect = "postgres"; - user = "hedgedoc"; - password = "$DB_PASSWORD"; - host = "localhost"; - port = 5432; - database = "hedgedocdb"; - }; - - /* - * Do not use pkgs.writeText for secrets as - * they will end up in the world-readable Nix store. - */ - environmentFile = pkgs.writeText "hedgedoc-env" '' - DB_PASSWORD=snakeoilpassword - ''; + nodes = { + hedgedocSqlite = + { ... }: + { + services.hedgedoc.enable = true; }; - postgresql = { - enable = true; - initialScript = pkgs.writeText "pg-init-script.sql" '' - CREATE ROLE hedgedoc LOGIN PASSWORD 'snakeoilpassword'; - CREATE DATABASE hedgedocdb OWNER hedgedoc; - ''; - }; - }; - }; - hedgedocPostgresWithUNIXSocket = { ... }: { - systemd.services.hedgedoc.after = [ "postgresql.service" ]; - services = { - hedgedoc = { - enable = true; - settings.db = { - dialect = "postgres"; - user = "hedgedoc"; - password = "$DB_PASSWORD"; - host = "/run/postgresql"; - database = "hedgedocdb"; - }; + hedgedocPostgresWithTCPSocket = + { ... }: + { + systemd.services.hedgedoc.after = [ "postgresql.service" ]; + services = { + hedgedoc = { + enable = true; + settings.db = { + dialect = "postgres"; + user = "hedgedoc"; + password = "$DB_PASSWORD"; + host = "localhost"; + port = 5432; + database = "hedgedocdb"; + }; - environmentFile = pkgs.writeText "hedgedoc-env" '' - DB_PASSWORD=snakeoilpassword - ''; + /* + Do not use pkgs.writeText for secrets as + they will end up in the world-readable Nix store. + */ + environmentFile = pkgs.writeText "hedgedoc-env" '' + DB_PASSWORD=snakeoilpassword + ''; + }; + postgresql = { + enable = true; + initialScript = pkgs.writeText "pg-init-script.sql" '' + CREATE ROLE hedgedoc LOGIN PASSWORD 'snakeoilpassword'; + CREATE DATABASE hedgedocdb OWNER hedgedoc; + ''; + }; + }; }; - postgresql = { - enable = true; - initialScript = pkgs.writeText "pg-init-script.sql" '' - CREATE ROLE hedgedoc LOGIN PASSWORD 'snakeoilpassword'; - CREATE DATABASE hedgedocdb OWNER hedgedoc; - ''; + + hedgedocPostgresWithUNIXSocket = + { ... }: + { + systemd.services.hedgedoc.after = [ "postgresql.service" ]; + services = { + hedgedoc = { + enable = true; + settings.db = { + dialect = "postgres"; + user = "hedgedoc"; + password = "$DB_PASSWORD"; + host = "/run/postgresql"; + database = "hedgedocdb"; + }; + + environmentFile = pkgs.writeText "hedgedoc-env" '' + DB_PASSWORD=snakeoilpassword + ''; + }; + postgresql = { + enable = true; + initialScript = pkgs.writeText "pg-init-script.sql" '' + CREATE ROLE hedgedoc LOGIN PASSWORD 'snakeoilpassword'; + CREATE DATABASE hedgedocdb OWNER hedgedoc; + ''; + }; + }; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("HedgeDoc sqlite"): - hedgedocSqlite.wait_for_unit("hedgedoc.service") - hedgedocSqlite.wait_for_open_port(3000) - hedgedocSqlite.wait_until_succeeds("curl -sSf http://localhost:3000/new") + with subtest("HedgeDoc sqlite"): + hedgedocSqlite.wait_for_unit("hedgedoc.service") + hedgedocSqlite.wait_for_open_port(3000) + hedgedocSqlite.wait_until_succeeds("curl -sSf http://localhost:3000/new") - with subtest("HedgeDoc postgres with TCP socket"): - hedgedocPostgresWithTCPSocket.wait_for_unit("postgresql.service") - hedgedocPostgresWithTCPSocket.wait_for_unit("hedgedoc.service") - hedgedocPostgresWithTCPSocket.wait_for_open_port(5432) - hedgedocPostgresWithTCPSocket.wait_for_open_port(3000) - hedgedocPostgresWithTCPSocket.wait_until_succeeds("curl -sSf http://localhost:3000/new") + with subtest("HedgeDoc postgres with TCP socket"): + hedgedocPostgresWithTCPSocket.wait_for_unit("postgresql.service") + hedgedocPostgresWithTCPSocket.wait_for_unit("hedgedoc.service") + hedgedocPostgresWithTCPSocket.wait_for_open_port(5432) + hedgedocPostgresWithTCPSocket.wait_for_open_port(3000) + hedgedocPostgresWithTCPSocket.wait_until_succeeds("curl -sSf http://localhost:3000/new") - with subtest("HedgeDoc postgres with UNIX socket"): - hedgedocPostgresWithUNIXSocket.wait_for_unit("postgresql.service") - hedgedocPostgresWithUNIXSocket.wait_for_unit("hedgedoc.service") - hedgedocPostgresWithUNIXSocket.wait_for_open_port(5432) - hedgedocPostgresWithUNIXSocket.wait_for_open_port(3000) - hedgedocPostgresWithUNIXSocket.wait_until_succeeds("curl -sSf http://localhost:3000/new") - ''; -}) + with subtest("HedgeDoc postgres with UNIX socket"): + hedgedocPostgresWithUNIXSocket.wait_for_unit("postgresql.service") + hedgedocPostgresWithUNIXSocket.wait_for_unit("hedgedoc.service") + hedgedocPostgresWithUNIXSocket.wait_for_open_port(5432) + hedgedocPostgresWithUNIXSocket.wait_for_open_port(3000) + hedgedocPostgresWithUNIXSocket.wait_until_succeeds("curl -sSf http://localhost:3000/new") + ''; + } +) diff --git a/nixos/tests/herbstluftwm.nix b/nixos/tests/herbstluftwm.nix index 2a8b391947e74..84e6985803c37 100644 --- a/nixos/tests/herbstluftwm.nix +++ b/nixos/tests/herbstluftwm.nix @@ -1,37 +1,45 @@ -import ./make-test-python.nix ({ lib, ...} : { - name = "herbstluftwm"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "herbstluftwm"; - meta = { - maintainers = with lib.maintainers; [ thibautmarty ]; - }; + meta = { + maintainers = with lib.maintainers; [ thibautmarty ]; + }; - nodes.machine = { pkgs, lib, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = lib.mkForce "none+herbstluftwm"; - services.xserver.windowManager.herbstluftwm.enable = true; - environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel - }; + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = lib.mkForce "none+herbstluftwm"; + services.xserver.windowManager.herbstluftwm.enable = true; + environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel + }; - testScript = '' - with subtest("ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("/home/alice/.Xauthority") - machine.succeed("xauth merge ~alice/.Xauthority") + testScript = '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") - with subtest("ensure client is available"): - machine.succeed("herbstclient --version") + with subtest("ensure client is available"): + machine.succeed("herbstclient --version") - with subtest("ensure keybindings are set"): - machine.wait_until_succeeds("herbstclient list_keybinds | grep xterm") + with subtest("ensure keybindings are set"): + machine.wait_until_succeeds("herbstclient list_keybinds | grep xterm") - with subtest("ensure panel starts"): - machine.wait_for_window("dzen title") + with subtest("ensure panel starts"): + machine.wait_for_window("dzen title") - with subtest("ensure we can open a new terminal"): - machine.send_key("alt-ret") - machine.wait_for_window(r"alice.*?machine") - machine.sleep(2) - machine.screenshot("terminal") - ''; -}) + with subtest("ensure we can open a new terminal"): + machine.send_key("alt-ret") + machine.wait_for_window(r"alice.*?machine") + machine.sleep(2) + machine.screenshot("terminal") + ''; + } +) diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 6de287f63e081..1bd2292385879 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -1,9 +1,10 @@ # Test whether hibernation from partition works. -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -, systemdStage1 ? false +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + systemdStage1 ? false, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -12,21 +13,33 @@ makeTest { name = "hibernate"; nodes = { - machine = { config, lib, pkgs, ... }: { - imports = [ - ./common/auto-format-root-device.nix - ]; + machine = + { + config, + lib, + pkgs, + ... + }: + { + imports = [ + ./common/auto-format-root-device.nix + ]; - systemd.services.backdoor.conflicts = [ "sleep.target" ]; - powerManagement.resumeCommands = "systemctl --no-block restart backdoor.service"; + systemd.services.backdoor.conflicts = [ "sleep.target" ]; + powerManagement.resumeCommands = "systemctl --no-block restart backdoor.service"; - virtualisation.emptyDiskImages = [ (2 * config.virtualisation.memorySize) ]; - virtualisation.useNixStoreImage = true; + virtualisation.emptyDiskImages = [ (2 * config.virtualisation.memorySize) ]; + virtualisation.useNixStoreImage = true; - swapDevices = lib.mkOverride 0 [ { device = "/dev/vdc"; options = [ "x-systemd.makefs" ]; } ]; - boot.initrd.systemd.enable = systemdStage1; - virtualisation.useEFIBoot = true; - }; + swapDevices = lib.mkOverride 0 [ + { + device = "/dev/vdc"; + options = [ "x-systemd.makefs" ]; + } + ]; + boot.initrd.systemd.enable = systemdStage1; + virtualisation.useEFIBoot = true; + }; }; testScript = '' diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix index 4283b9f7dffbe..9d0386dac3d59 100644 --- a/nixos/tests/hitch/default.nix +++ b/nixos/tests/hitch/default.nix @@ -1,28 +1,30 @@ -import ../make-test-python.nix ({ pkgs, ... }: -{ - name = "hitch"; - meta = with pkgs.lib.maintainers; { - maintainers = [ jflanglois ]; - }; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.curl ]; - services.hitch = { - enable = true; - backend = "[127.0.0.1]:80"; - pem-files = [ - ./example.pem - ]; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "hitch"; + meta = with pkgs.lib.maintainers; { + maintainers = [ jflanglois ]; }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + services.hitch = { + enable = true; + backend = "[127.0.0.1]:80"; + pem-files = [ + ./example.pem + ]; + }; - services.httpd = { - enable = true; - virtualHosts.localhost.documentRoot = ./example; - adminAddr = "noone@testing.nowhere"; - }; - }; + services.httpd = { + enable = true; + virtualHosts.localhost.documentRoot = ./example; + adminAddr = "noone@testing.nowhere"; + }; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("multi-user.target") @@ -30,4 +32,5 @@ import ../make-test-python.nix ({ pkgs, ... }: machine.wait_for_open_port(443) assert "We are all good!" in machine.succeed("curl -fk https://localhost:443/index.txt") ''; -}) + } +) diff --git a/nixos/tests/hledger-web.nix b/nixos/tests/hledger-web.nix index 09941ca5c517c..fcb3c7f656aa3 100644 --- a/nixos/tests/hledger-web.nix +++ b/nixos/tests/hledger-web.nix @@ -1,50 +1,56 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - journal = pkgs.writeText "test.journal" '' - 2010/01/10 Loan - assets:cash 500$ - income:loan -500$ - 2010/01/10 NixOS Foundation donation - expenses:donation 250$ - assets:cash -250$ - ''; -in -rec { - name = "hledger-web"; - meta.maintainers = with lib.maintainers; [ marijanp ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + journal = pkgs.writeText "test.journal" '' + 2010/01/10 Loan + assets:cash 500$ + income:loan -500$ + 2010/01/10 NixOS Foundation donation + expenses:donation 250$ + assets:cash -250$ + ''; + in + rec { + name = "hledger-web"; + meta.maintainers = with lib.maintainers; [ marijanp ]; - nodes = rec { - server = { config, pkgs, ... }: { - services.hledger-web = { - host = "127.0.0.1"; - port = 5000; - enable = true; - allow = "edit"; - }; - networking.firewall.allowedTCPPorts = [ config.services.hledger-web.port ]; - systemd.services.hledger-web.preStart = '' - ln -s ${journal} /var/lib/hledger-web/.hledger.journal - ''; + nodes = rec { + server = + { config, pkgs, ... }: + { + services.hledger-web = { + host = "127.0.0.1"; + port = 5000; + enable = true; + allow = "edit"; + }; + networking.firewall.allowedTCPPorts = [ config.services.hledger-web.port ]; + systemd.services.hledger-web.preStart = '' + ln -s ${journal} /var/lib/hledger-web/.hledger.journal + ''; + }; + apiserver = + { ... }: + { + imports = [ server ]; + services.hledger-web.serveApi = true; + }; }; - apiserver = { ... }: { - imports = [ server ]; - services.hledger-web.serveApi = true; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("hledger-web.service") - server.wait_for_open_port(5000) - with subtest("Check if web UI is accessible"): - page = server.succeed("curl -L http://127.0.0.1:5000") - assert ".hledger.journal" in page + server.wait_for_unit("hledger-web.service") + server.wait_for_open_port(5000) + with subtest("Check if web UI is accessible"): + page = server.succeed("curl -L http://127.0.0.1:5000") + assert ".hledger.journal" in page - apiserver.wait_for_unit("hledger-web.service") - apiserver.wait_for_open_port(5000) - with subtest("Check if the JSON API is served"): - transactions = apiserver.succeed("curl -L http://127.0.0.1:5000/transactions") - assert "NixOS Foundation donation" in transactions - ''; -}) + apiserver.wait_for_unit("hledger-web.service") + apiserver.wait_for_open_port(5000) + with subtest("Check if the JSON API is served"): + transactions = apiserver.succeed("curl -L http://127.0.0.1:5000/transactions") + assert "NixOS Foundation donation" in transactions + ''; + } +) diff --git a/nixos/tests/hockeypuck.nix b/nixos/tests/hockeypuck.nix index 675d6b226ad20..bc24ceb4b70ff 100644 --- a/nixos/tests/hockeypuck.nix +++ b/nixos/tests/hockeypuck.nix @@ -1,63 +1,72 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -let - gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } '' - mkdir -p $out - export GNUPGHOME=$out - cat > foo <OpenPGP Keyserver" in response, "HTML title not found" - - # Copy the keyring - machine.succeed("cp -R ${gpgKeyring} /tmp/GNUPGHOME") - - # Extract our GPG key id - keyId = machine.succeed("GNUPGHOME=/tmp/GNUPGHOME gpg --list-keys | grep dsa1024 --after-context=1 | grep -v dsa1024").strip() - - # Send the key to our local keyserver - machine.succeed("GNUPGHOME=/tmp/GNUPGHOME gpg --keyserver hkp://127.0.0.1:11371 --send-keys " + keyId) - - # Receive the key from our local keyserver to a separate directory - machine.succeed("GNUPGHOME=$(mktemp -d) gpg --keyserver hkp://127.0.0.1:11371 --recv-keys " + keyId) - ''; -}) +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + gpgKeyring = ( + pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } '' + mkdir -p $out + export GNUPGHOME=$out + cat > foo <OpenPGP Keyserver" in response, "HTML title not found" + + # Copy the keyring + machine.succeed("cp -R ${gpgKeyring} /tmp/GNUPGHOME") + + # Extract our GPG key id + keyId = machine.succeed("GNUPGHOME=/tmp/GNUPGHOME gpg --list-keys | grep dsa1024 --after-context=1 | grep -v dsa1024").strip() + + # Send the key to our local keyserver + machine.succeed("GNUPGHOME=/tmp/GNUPGHOME gpg --keyserver hkp://127.0.0.1:11371 --send-keys " + keyId) + + # Receive the key from our local keyserver to a separate directory + machine.succeed("GNUPGHOME=$(mktemp -d) gpg --keyserver hkp://127.0.0.1:11371 --recv-keys " + keyId) + ''; + } +) diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 7b4e67192f29b..8d2acec1c9c03 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -5,244 +5,261 @@ let configDir = "/var/lib/foobar"; -in { +in +{ name = "home-assistant"; meta.maintainers = lib.teams.home-assistant.members; - nodes.hass = { pkgs, ... }: { - services.postgresql = { - enable = true; - ensureDatabases = [ "hass" ]; - ensureUsers = [{ - name = "hass"; - ensureDBOwnership = true; - }]; - }; + nodes.hass = + { pkgs, ... }: + { + services.postgresql = { + enable = true; + ensureDatabases = [ "hass" ]; + ensureUsers = [ + { + name = "hass"; + ensureDBOwnership = true; + } + ]; + }; - services.home-assistant = { - enable = true; - inherit configDir; + services.home-assistant = { + enable = true; + inherit configDir; + + # provide dependencies through package overrides + package = ( + pkgs.home-assistant.override { + extraPackages = + ps: with ps; [ + colorama + ]; + extraComponents = [ + # test char-tty device allow propagation into the service + "zha" + ]; + } + ); + + # provide component dependencies explicitly from the module + extraComponents = [ + "mqtt" + ]; - # provide dependencies through package overrides - package = (pkgs.home-assistant.override { - extraPackages = ps: with ps; [ - colorama + # provide package for postgresql support + extraPackages = + python3Packages: with python3Packages; [ + psycopg2 + ]; + + # test loading custom components + customComponents = with pkgs.home-assistant-custom-components; [ + prometheus_sensor + # tests loading multiple components from a single package + spook ]; - extraComponents = [ - # test char-tty device allow propagation into the service - "zha" - ]; - }); - - # provide component dependencies explicitly from the module - extraComponents = [ - "mqtt" - ]; - - # provide package for postgresql support - extraPackages = python3Packages: with python3Packages; [ - psycopg2 - ]; - - # test loading custom components - customComponents = with pkgs.home-assistant-custom-components; [ - prometheus_sensor - # tests loading multiple components from a single package - spook - ]; - - # test loading lovelace modules - customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ - mini-graph-card - ]; - - config = { - homeassistant = { - name = "Home"; - time_zone = "UTC"; - latitude = "0.0"; - longitude = "0.0"; - elevation = 0; - }; - # configure the recorder component to use the postgresql db - recorder.db_url = "postgresql://@/hass"; - - # we can't load default_config, because the updater requires - # network access and would cause an error, so load frontend - # here explicitly. - # https://www.home-assistant.io/integrations/frontend/ - frontend = {}; - - # include some popular integrations, that absolutely shouldn't break - knx = {}; - shelly = {}; - zha = {}; - - # set up a wake-on-lan switch to test capset capability required - # for the ping suid wrapper - # https://www.home-assistant.io/integrations/wake_on_lan/ - switch = [ { - platform = "wake_on_lan"; - mac = "00:11:22:33:44:55"; - host = "127.0.0.1"; - } ]; - - # test component-based capability assignment (CAP_NET_BIND_SERVICE) - # https://www.home-assistant.io/integrations/emulated_hue/ - emulated_hue = { - host_ip = "127.0.0.1"; - listen_port = 80; + # test loading lovelace modules + customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ + mini-graph-card + ]; + + config = { + homeassistant = { + name = "Home"; + time_zone = "UTC"; + latitude = "0.0"; + longitude = "0.0"; + elevation = 0; + }; + + # configure the recorder component to use the postgresql db + recorder.db_url = "postgresql://@/hass"; + + # we can't load default_config, because the updater requires + # network access and would cause an error, so load frontend + # here explicitly. + # https://www.home-assistant.io/integrations/frontend/ + frontend = { }; + + # include some popular integrations, that absolutely shouldn't break + knx = { }; + shelly = { }; + zha = { }; + + # set up a wake-on-lan switch to test capset capability required + # for the ping suid wrapper + # https://www.home-assistant.io/integrations/wake_on_lan/ + switch = [ + { + platform = "wake_on_lan"; + mac = "00:11:22:33:44:55"; + host = "127.0.0.1"; + } + ]; + + # test component-based capability assignment (CAP_NET_BIND_SERVICE) + # https://www.home-assistant.io/integrations/emulated_hue/ + emulated_hue = { + host_ip = "127.0.0.1"; + listen_port = 80; + }; + + # https://www.home-assistant.io/integrations/logger/ + logger = { + default = "info"; + }; }; - # https://www.home-assistant.io/integrations/logger/ - logger = { - default = "info"; + # configure the sample lovelace dashboard + lovelaceConfig = { + title = "My Awesome Home"; + views = [ + { + title = "Example"; + cards = [ + { + type = "markdown"; + title = "Lovelace"; + content = "Welcome to your **Lovelace UI**."; + } + ]; + } + ]; }; + lovelaceConfigWritable = true; }; - # configure the sample lovelace dashboard - lovelaceConfig = { - title = "My Awesome Home"; - views = [{ - title = "Example"; - cards = [{ - type = "markdown"; - title = "Lovelace"; - content = "Welcome to your **Lovelace UI**."; - }]; - }]; + # Cause a configuration change inside `configuration.yml` and verify that the process is being reloaded. + specialisation.differentName = { + inheritParentConfig = true; + configuration.services.home-assistant.config.homeassistant.name = lib.mkForce "Test Home"; }; - lovelaceConfigWritable = true; - }; - - # Cause a configuration change inside `configuration.yml` and verify that the process is being reloaded. - specialisation.differentName = { - inheritParentConfig = true; - configuration.services.home-assistant.config.homeassistant.name = lib.mkForce "Test Home"; - }; - # Cause a configuration change that requires a service restart as we added a new runtime dependency - specialisation.newFeature = { - inheritParentConfig = true; - configuration.services.home-assistant.config.prometheus = {}; - }; + # Cause a configuration change that requires a service restart as we added a new runtime dependency + specialisation.newFeature = { + inheritParentConfig = true; + configuration.services.home-assistant.config.prometheus = { }; + }; - specialisation.removeCustomThings = { - inheritParentConfig = true; - configuration.services.home-assistant = { - customComponents = lib.mkForce []; - customLovelaceModules = lib.mkForce []; + specialisation.removeCustomThings = { + inheritParentConfig = true; + configuration.services.home-assistant = { + customComponents = lib.mkForce [ ]; + customLovelaceModules = lib.mkForce [ ]; + }; }; }; - }; - testScript = { nodes, ... }: let - system = nodes.hass.system.build.toplevel; - in - '' - import json + testScript = + { nodes, ... }: + let + system = nodes.hass.system.build.toplevel; + in + '' + import json - start_all() + start_all() - def get_journal_cursor() -> str: - exit, out = hass.execute("journalctl -u home-assistant.service -n1 -o json-pretty --output-fields=__CURSOR") - assert exit == 0 - return json.loads(out)["__CURSOR"] + def get_journal_cursor() -> str: + exit, out = hass.execute("journalctl -u home-assistant.service -n1 -o json-pretty --output-fields=__CURSOR") + assert exit == 0 + return json.loads(out)["__CURSOR"] - def get_journal_since(cursor) -> str: - exit, out = hass.execute(f"journalctl --after-cursor='{cursor}' -u home-assistant.service") - assert exit == 0 - return out + def get_journal_since(cursor) -> str: + exit, out = hass.execute(f"journalctl --after-cursor='{cursor}' -u home-assistant.service") + assert exit == 0 + return out - def get_unit_property(property) -> str: - exit, out = hass.execute(f"systemctl show --property={property} home-assistant.service") - assert exit == 0 - return out + def get_unit_property(property) -> str: + exit, out = hass.execute(f"systemctl show --property={property} home-assistant.service") + assert exit == 0 + return out - def wait_for_homeassistant(cursor): - hass.wait_until_succeeds(f"journalctl --after-cursor='{cursor}' -u home-assistant.service | grep -q 'Home Assistant initialized in'") + def wait_for_homeassistant(cursor): + hass.wait_until_succeeds(f"journalctl --after-cursor='{cursor}' -u home-assistant.service | grep -q 'Home Assistant initialized in'") - hass.wait_for_unit("home-assistant.service") - cursor = get_journal_cursor() + hass.wait_for_unit("home-assistant.service") + cursor = get_journal_cursor() - with subtest("Check that YAML configuration file is in place"): - hass.succeed("test -L ${configDir}/configuration.yaml") + with subtest("Check that YAML configuration file is in place"): + hass.succeed("test -L ${configDir}/configuration.yaml") - with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"): - hass.succeed("test -f ${configDir}/ui-lovelace.yaml") + with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"): + hass.succeed("test -f ${configDir}/ui-lovelace.yaml") - with subtest("Check that Home Assistant's web interface and API can be reached"): - wait_for_homeassistant(cursor) - hass.wait_for_open_port(8123) - hass.succeed("curl --fail http://localhost:8123/lovelace") + with subtest("Check that Home Assistant's web interface and API can be reached"): + wait_for_homeassistant(cursor) + hass.wait_for_open_port(8123) + hass.succeed("curl --fail http://localhost:8123/lovelace") - with subtest("Check that custom components get installed"): - hass.succeed("test -f ${configDir}/custom_components/prometheus_sensor/manifest.json") - for integration in ("prometheus_sensor", "spook", "spook_inverse"): - hass.wait_until_succeeds(f"journalctl -u home-assistant.service | grep -q 'We found a custom integration {integration} which has not been tested by Home Assistant'") + with subtest("Check that custom components get installed"): + hass.succeed("test -f ${configDir}/custom_components/prometheus_sensor/manifest.json") + for integration in ("prometheus_sensor", "spook", "spook_inverse"): + hass.wait_until_succeeds(f"journalctl -u home-assistant.service | grep -q 'We found a custom integration {integration} which has not been tested by Home Assistant'") - with subtest("Check that lovelace modules are referenced and fetchable"): - hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/configuration.yaml'") - hass.succeed("curl --fail http://localhost:8123/local/nixos-lovelace-modules/mini-graph-card-bundle.js") + with subtest("Check that lovelace modules are referenced and fetchable"): + hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/configuration.yaml'") + hass.succeed("curl --fail http://localhost:8123/local/nixos-lovelace-modules/mini-graph-card-bundle.js") - with subtest("Check that optional dependencies are in the PYTHONPATH"): - env = get_unit_property("Environment") - python_path = env.split("PYTHONPATH=")[1].split()[0] - for package in ["colorama", "paho-mqtt", "psycopg2"]: - assert package in python_path, f"{package} not in PYTHONPATH" + with subtest("Check that optional dependencies are in the PYTHONPATH"): + env = get_unit_property("Environment") + python_path = env.split("PYTHONPATH=")[1].split()[0] + for package in ["colorama", "paho-mqtt", "psycopg2"]: + assert package in python_path, f"{package} not in PYTHONPATH" - with subtest("Check that declaratively configured components get setup"): - journal = get_journal_since(cursor) - for domain in ["emulated_hue", "wake_on_lan"]: - assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing" + with subtest("Check that declaratively configured components get setup"): + journal = get_journal_since(cursor) + for domain in ["emulated_hue", "wake_on_lan"]: + assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing" - with subtest("Check that capabilities are passed for emulated_hue to bind to port 80"): - hass.wait_for_open_port(80) - hass.succeed("curl --fail http://localhost:80/description.xml") + with subtest("Check that capabilities are passed for emulated_hue to bind to port 80"): + hass.wait_for_open_port(80) + hass.succeed("curl --fail http://localhost:80/description.xml") - with subtest("Check extra components are considered in systemd unit hardening"): - hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB") + with subtest("Check extra components are considered in systemd unit hardening"): + hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB") - with subtest("Check service restart from SIGHUP"): - pid = hass.succeed("systemctl show --property=MainPID home-assistant.service") - cursor = get_journal_cursor() - hass.succeed("${system}/specialisation/differentName/bin/switch-to-configuration test") - wait_for_homeassistant(cursor) - new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service") - assert pid != new_pid, "The PID of the process must change after sending SIGHUP" + with subtest("Check service restart from SIGHUP"): + pid = hass.succeed("systemctl show --property=MainPID home-assistant.service") + cursor = get_journal_cursor() + hass.succeed("${system}/specialisation/differentName/bin/switch-to-configuration test") + wait_for_homeassistant(cursor) + new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service") + assert pid != new_pid, "The PID of the process must change after sending SIGHUP" - with subtest("Check service restarts when dependencies change"): - pid = new_pid - cursor = get_journal_cursor() - hass.succeed("${system}/specialisation/newFeature/bin/switch-to-configuration test") - wait_for_homeassistant(cursor) - new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service") - assert pid != new_pid, "The PID of the process must change when its PYTHONPATH changess" + with subtest("Check service restarts when dependencies change"): + pid = new_pid + cursor = get_journal_cursor() + hass.succeed("${system}/specialisation/newFeature/bin/switch-to-configuration test") + wait_for_homeassistant(cursor) + new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service") + assert pid != new_pid, "The PID of the process must change when its PYTHONPATH changess" - with subtest("Check that new components get setup after restart"): - journal = get_journal_since(cursor) - for domain in ["prometheus"]: - assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing" + with subtest("Check that new components get setup after restart"): + journal = get_journal_since(cursor) + for domain in ["prometheus"]: + assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing" - with subtest("Check custom components and custom lovelace modules get removed"): - cursor = get_journal_cursor() - hass.succeed("${system}/specialisation/removeCustomThings/bin/switch-to-configuration test") - hass.fail("grep -q 'mini-graph-card-bundle.js' '${configDir}/ui-lovelace.yaml'") - for integration in ("prometheus_sensor", "spook", "spook_inverse"): - hass.fail(f"test -f ${configDir}/custom_components/{integration}/manifest.json") - wait_for_homeassistant(cursor) - - with subtest("Check that no errors were logged"): - hass.fail("journalctl -u home-assistant -o cat | grep -q ERROR") + with subtest("Check custom components and custom lovelace modules get removed"): + cursor = get_journal_cursor() + hass.succeed("${system}/specialisation/removeCustomThings/bin/switch-to-configuration test") + hass.fail("grep -q 'mini-graph-card-bundle.js' '${configDir}/ui-lovelace.yaml'") + for integration in ("prometheus_sensor", "spook", "spook_inverse"): + hass.fail(f"test -f ${configDir}/custom_components/{integration}/manifest.json") + wait_for_homeassistant(cursor) + + with subtest("Check that no errors were logged"): + hass.fail("journalctl -u home-assistant -o cat | grep -q ERROR") - with subtest("Check systemd unit hardening"): - hass.log(hass.succeed("systemctl cat home-assistant.service")) - hass.log(hass.succeed("systemd-analyze security home-assistant.service")) - ''; + with subtest("Check systemd unit hardening"): + hass.log(hass.succeed("systemctl cat home-assistant.service")) + hass.log(hass.succeed("systemd-analyze security home-assistant.service")) + ''; } diff --git a/nixos/tests/homepage-dashboard.nix b/nixos/tests/homepage-dashboard.nix index dd36473e8ac02..622c5a6e0d1a5 100644 --- a/nixos/tests/homepage-dashboard.nix +++ b/nixos/tests/homepage-dashboard.nix @@ -1,36 +1,43 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "homepage-dashboard"; - meta.maintainers = with lib.maintainers; [ jnsgruk ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "homepage-dashboard"; + meta.maintainers = with lib.maintainers; [ jnsgruk ]; - nodes.unmanaged_conf = { pkgs, ... }: { - services.homepage-dashboard.enable = true; - }; + nodes.unmanaged_conf = + { pkgs, ... }: + { + services.homepage-dashboard.enable = true; + }; - nodes.managed_conf = { pkgs, ... }: { - services.homepage-dashboard = { - enable = true; - settings.title = "custom"; - }; - }; + nodes.managed_conf = + { pkgs, ... }: + { + services.homepage-dashboard = { + enable = true; + settings.title = "custom"; + }; + }; - testScript = '' - # Ensure the services are started on unmanaged machine - unmanaged_conf.wait_for_unit("homepage-dashboard.service") - unmanaged_conf.wait_for_open_port(8082) - unmanaged_conf.succeed("curl --fail http://localhost:8082/") + testScript = '' + # Ensure the services are started on unmanaged machine + unmanaged_conf.wait_for_unit("homepage-dashboard.service") + unmanaged_conf.wait_for_open_port(8082) + unmanaged_conf.succeed("curl --fail http://localhost:8082/") - # Ensure that /etc/homepage-dashboard doesn't exist, and boilerplate - # configs are copied into place. - unmanaged_conf.fail("test -d /etc/homepage-dashboard") - unmanaged_conf.succeed("test -f /var/lib/private/homepage-dashboard/settings.yaml") + # Ensure that /etc/homepage-dashboard doesn't exist, and boilerplate + # configs are copied into place. + unmanaged_conf.fail("test -d /etc/homepage-dashboard") + unmanaged_conf.succeed("test -f /var/lib/private/homepage-dashboard/settings.yaml") - # Ensure the services are started on managed machine - managed_conf.wait_for_unit("homepage-dashboard.service") - managed_conf.wait_for_open_port(8082) - managed_conf.succeed("curl --fail http://localhost:8082/") + # Ensure the services are started on managed machine + managed_conf.wait_for_unit("homepage-dashboard.service") + managed_conf.wait_for_open_port(8082) + managed_conf.succeed("curl --fail http://localhost:8082/") - # Ensure /etc/homepage-dashboard is created and unmanaged conf location isn't. - managed_conf.succeed("test -d /etc/homepage-dashboard") - managed_conf.fail("test -f /var/lib/private/homepage-dashboard/settings.yaml") - ''; -}) + # Ensure /etc/homepage-dashboard is created and unmanaged conf location isn't. + managed_conf.succeed("test -d /etc/homepage-dashboard") + managed_conf.fail("test -f /var/lib/private/homepage-dashboard/settings.yaml") + ''; + } +) diff --git a/nixos/tests/honk.nix b/nixos/tests/honk.nix index 71d86a5924393..bc552f6dff40e 100644 --- a/nixos/tests/honk.nix +++ b/nixos/tests/honk.nix @@ -4,16 +4,18 @@ name = "honk-server"; nodes = { - machine = { pkgs, ... }: { - services.honk = { - enable = true; - host = "0.0.0.0"; - port = 8080; - username = "username"; - passwordFile = "${pkgs.writeText "honk-password" "secure"}"; - servername = "servername"; + machine = + { pkgs, ... }: + { + services.honk = { + enable = true; + host = "0.0.0.0"; + port = 8080; + username = "username"; + passwordFile = "${pkgs.writeText "honk-password" "secure"}"; + servername = "servername"; + }; }; - }; }; testScript = '' diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix index a9b036deb0dda..75400eca232bd 100644 --- a/nixos/tests/hound.nix +++ b/nixos/tests/hound.nix @@ -1,59 +1,64 @@ # Test whether `houndd` indexes nixpkgs -import ./make-test-python.nix ({ pkgs, ... } : { - name = "hound"; - meta = with pkgs.lib.maintainers; { - maintainers = [ grahamc ]; - }; - nodes.machine = { pkgs, ... }: { - services.hound = { - enable = true; - config = '' - { - "max-concurrent-indexers": 1, - "dbpath": "/var/lib/hound/data", - "repos": { - "nix": { - "url": "file:///var/lib/hound/my-git" - } - } - } - ''; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "hound"; + meta = with pkgs.lib.maintainers; { + maintainers = [ grahamc ]; }; + nodes.machine = + { pkgs, ... }: + { + services.hound = { + enable = true; + config = '' + { + "max-concurrent-indexers": 1, + "dbpath": "/var/lib/hound/data", + "repos": { + "nix": { + "url": "file:///var/lib/hound/my-git" + } + } + } + ''; + }; - systemd.services.houndseed = { - description = "seed hound with a git repo"; - requiredBy = [ "hound.service" ]; - before = [ "hound.service" ]; + systemd.services.houndseed = { + description = "seed hound with a git repo"; + requiredBy = [ "hound.service" ]; + before = [ "hound.service" ]; - serviceConfig = { - User = "hound"; - Group = "hound"; - WorkingDirectory = "/var/lib/hound"; + serviceConfig = { + User = "hound"; + Group = "hound"; + WorkingDirectory = "/var/lib/hound"; + }; + path = [ pkgs.git ]; + script = '' + git config --global user.email "you@example.com" + git config --global user.name "Your Name" + git init my-git --bare + git init my-git-clone + cd my-git-clone + echo 'hi nix!' > hello + git add hello + git commit -m "hello there :)" + git remote add origin /var/lib/hound/my-git + git push origin master + ''; + }; }; - path = [ pkgs.git ]; - script = '' - git config --global user.email "you@example.com" - git config --global user.name "Your Name" - git init my-git --bare - git init my-git-clone - cd my-git-clone - echo 'hi nix!' > hello - git add hello - git commit -m "hello there :)" - git remote add origin /var/lib/hound/my-git - git push origin master - ''; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("network.target") - machine.wait_for_unit("hound.service") - machine.wait_for_open_port(6080) - machine.wait_until_succeeds( - "curl -f http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep 'Filename' | grep 'hello'" - ) - ''; -}) + machine.wait_for_unit("network.target") + machine.wait_for_unit("hound.service") + machine.wait_for_open_port(6080) + machine.wait_until_succeeds( + "curl -f http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep 'Filename' | grep 'hello'" + ) + ''; + } +) diff --git a/nixos/tests/hydra/common.nix b/nixos/tests/hydra/common.nix index f31518b1e2a20..0e58e49b1bcdc 100644 --- a/nixos/tests/hydra/common.nix +++ b/nixos/tests/hydra/common.nix @@ -1,41 +1,49 @@ { system, ... }: { - baseConfig = { pkgs, ... }: let - trivialJob = pkgs.writeTextDir "trivial.nix" '' - { trivial = builtins.derivation { - name = "trivial"; - system = "${system}"; - builder = "/bin/sh"; - allowSubstitutes = false; - preferLocalBuild = true; - args = ["-c" "echo success > $out; exit 0"]; - }; - } - ''; - - createTrivialProject = pkgs.stdenv.mkDerivation { - name = "create-trivial-project"; - dontUnpack = true; - nativeBuildInputs = [ pkgs.makeWrapper ]; - installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh"; - postFixup = '' - wrapProgram "$out/bin/create-trivial-project.sh" --prefix PATH ":" ${pkgs.lib.makeBinPath [ pkgs.curl ]} --set EXPR_PATH ${trivialJob} - ''; - }; - in { - virtualisation.memorySize = 2048; - time.timeZone = "UTC"; - environment.systemPackages = [ createTrivialProject pkgs.jq ]; - services.hydra = { - enable = true; - # Hydra needs those settings to start up, so we add something not harmfull. - hydraURL = "example.com"; - notificationSender = "example@example.com"; - extraConfig = '' - email_notification = 1 + baseConfig = + { pkgs, ... }: + let + trivialJob = pkgs.writeTextDir "trivial.nix" '' + { trivial = builtins.derivation { + name = "trivial"; + system = "${system}"; + builder = "/bin/sh"; + allowSubstitutes = false; + preferLocalBuild = true; + args = ["-c" "echo success > $out; exit 0"]; + }; + } ''; + + createTrivialProject = pkgs.stdenv.mkDerivation { + name = "create-trivial-project"; + dontUnpack = true; + nativeBuildInputs = [ pkgs.makeWrapper ]; + installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh"; + postFixup = '' + wrapProgram "$out/bin/create-trivial-project.sh" --prefix PATH ":" ${ + pkgs.lib.makeBinPath [ pkgs.curl ] + } --set EXPR_PATH ${trivialJob} + ''; + }; + in + { + virtualisation.memorySize = 2048; + time.timeZone = "UTC"; + environment.systemPackages = [ + createTrivialProject + pkgs.jq + ]; + services.hydra = { + enable = true; + # Hydra needs those settings to start up, so we add something not harmfull. + hydraURL = "example.com"; + notificationSender = "example@example.com"; + extraConfig = '' + email_notification = 1 + ''; + }; + services.postfix.enable = true; + nix.settings.substituters = [ ]; }; - services.postfix.enable = true; - nix.settings.substituters = []; - }; } diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix index 0f5092f196538..4016f88195397 100644 --- a/nixos/tests/hydra/default.nix +++ b/nixos/tests/hydra/default.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: with import ../../lib/testing-python.nix { inherit system pkgs; }; @@ -14,45 +15,50 @@ let inherit (pkgs) hydra; }; - makeHydraTest = with pkgs.lib; name: package: makeTest { - name = "hydra-${name}"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lewo ]; - }; + makeHydraTest = + with pkgs.lib; + name: package: + makeTest { + name = "hydra-${name}"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lewo ]; + }; - nodes.machine = { pkgs, lib, ... }: { - imports = [ baseConfig ]; - services.hydra = { inherit package; }; - }; + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ baseConfig ]; + services.hydra = { inherit package; }; + }; - testScript = '' - # let the system boot up - machine.wait_for_unit("multi-user.target") - # test whether the database is running - machine.wait_for_unit("postgresql.service") - # test whether the actual hydra daemons are running - machine.wait_for_unit("hydra-init.service") - machine.require_unit_state("hydra-queue-runner.service") - machine.require_unit_state("hydra-evaluator.service") - machine.require_unit_state("hydra-notify.service") - - machine.succeed("hydra-create-user admin --role admin --password admin") - - # create a project with a trivial job - machine.wait_for_open_port(3000) - - # make sure the build as been successfully built - machine.succeed("create-trivial-project.sh") - - machine.wait_until_succeeds( - 'curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" | jq .buildstatus | xargs test 0 -eq' - ) - - machine.wait_until_succeeds( - 'journalctl -eu hydra-notify.service -o cat | grep -q "sending mail notification to hydra@localhost"' - ) - ''; - }; + testScript = '' + # let the system boot up + machine.wait_for_unit("multi-user.target") + # test whether the database is running + machine.wait_for_unit("postgresql.service") + # test whether the actual hydra daemons are running + machine.wait_for_unit("hydra-init.service") + machine.require_unit_state("hydra-queue-runner.service") + machine.require_unit_state("hydra-evaluator.service") + machine.require_unit_state("hydra-notify.service") + + machine.succeed("hydra-create-user admin --role admin --password admin") + + # create a project with a trivial job + machine.wait_for_open_port(3000) + + # make sure the build as been successfully built + machine.succeed("create-trivial-project.sh") + + machine.wait_until_succeeds( + 'curl -L -s http://localhost:3000/build/1 -H "Accept: application/json" | jq .buildstatus | xargs test 0 -eq' + ) + + machine.wait_until_succeeds( + 'journalctl -eu hydra-notify.service -o cat | grep -q "sending mail notification to hydra@localhost"' + ) + ''; + }; in diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix index c02ce86db8b20..9dfde33aff8a3 100644 --- a/nixos/tests/i3wm.nix +++ b/nixos/tests/i3wm.nix @@ -1,46 +1,56 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "i3wm"; - meta = with pkgs.lib.maintainers; { - maintainers = [ aszlig ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "i3wm"; + meta = with pkgs.lib.maintainers; { + maintainers = [ aszlig ]; + }; - nodes.machine = { lib, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = lib.mkForce "none+i3"; - services.xserver.windowManager.i3.enable = true; - }; + nodes.machine = + { lib, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = lib.mkForce "none+i3"; + services.xserver.windowManager.i3.enable = true; + }; - testScript = { ... }: '' - with subtest("ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("/home/alice/.Xauthority") - machine.succeed("xauth merge ~alice/.Xauthority") + testScript = + { ... }: + '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") - with subtest("ensure we get first configuration window"): - machine.wait_for_window(r".*?first configuration.*?") - machine.sleep(2) - machine.screenshot("started") + with subtest("ensure we get first configuration window"): + machine.wait_for_window(r".*?first configuration.*?") + machine.sleep(2) + machine.screenshot("started") - with subtest("ensure we generate and save a config"): - # press return to indicate we want to gen a new config - machine.send_key("\n") - machine.sleep(2) - machine.screenshot("preconfig") - # press alt then return to indicate we want to use alt as our Mod key - machine.send_key("alt") - machine.send_key("\n") - machine.sleep(2) - # make sure the config file is created before we continue - machine.wait_for_file("/home/alice/.config/i3/config") - machine.screenshot("postconfig") - machine.sleep(2) + with subtest("ensure we generate and save a config"): + # press return to indicate we want to gen a new config + machine.send_key("\n") + machine.sleep(2) + machine.screenshot("preconfig") + # press alt then return to indicate we want to use alt as our Mod key + machine.send_key("alt") + machine.send_key("\n") + machine.sleep(2) + # make sure the config file is created before we continue + machine.wait_for_file("/home/alice/.config/i3/config") + machine.screenshot("postconfig") + machine.sleep(2) - with subtest("ensure we can open a new terminal"): - machine.send_key("alt-ret") - machine.sleep(2) - machine.wait_for_window(r"alice.*?machine") - machine.sleep(2) - machine.screenshot("terminal") - ''; -}) + with subtest("ensure we can open a new terminal"): + machine.send_key("alt-ret") + machine.sleep(2) + machine.wait_for_window(r"alice.*?machine") + machine.sleep(2) + machine.screenshot("terminal") + ''; + } +) diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix index 9d05e9fe13904..2039fbcb2bcd8 100644 --- a/nixos/tests/icingaweb2.nix +++ b/nixos/tests/icingaweb2.nix @@ -1,71 +1,76 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "icingaweb2"; - meta = { - maintainers = pkgs.lib.teams.helsinki-systems.members; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "icingaweb2"; + meta = { + maintainers = pkgs.lib.teams.helsinki-systems.members; + }; - nodes = { - icingaweb2 = { config, pkgs, ... }: { - services.icingaweb2 = { - enable = true; + nodes = { + icingaweb2 = + { config, pkgs, ... }: + { + services.icingaweb2 = { + enable = true; - modulePackages = with pkgs.icingaweb2Modules; { - particles = theme-particles; - spring = theme-spring; - }; + modulePackages = with pkgs.icingaweb2Modules; { + particles = theme-particles; + spring = theme-spring; + }; - modules = { - doc.enable = true; - migrate.enable = true; - setup.enable = true; - test.enable = true; - translation.enable = true; - }; + modules = { + doc.enable = true; + migrate.enable = true; + setup.enable = true; + test.enable = true; + translation.enable = true; + }; - generalConfig = { - global = { - module_path = "${pkgs.icingaweb2}/modules"; - }; - }; + generalConfig = { + global = { + module_path = "${pkgs.icingaweb2}/modules"; + }; + }; - authentications = { - icingaweb = { - backend = "external"; - }; - }; + authentications = { + icingaweb = { + backend = "external"; + }; + }; - groupBackends = { - icingaweb = { - backend = "db"; - resource = "icingaweb_db"; - }; - }; + groupBackends = { + icingaweb = { + backend = "db"; + resource = "icingaweb_db"; + }; + }; - resources = { - # Not used, so no DB server needed - icingaweb_db = { - type = "db"; - db = "mysql"; - host = "localhost"; - username = "icingaweb2"; - password = "icingaweb2"; - dbname = "icingaweb2"; - }; - }; + resources = { + # Not used, so no DB server needed + icingaweb_db = { + type = "db"; + db = "mysql"; + host = "localhost"; + username = "icingaweb2"; + password = "icingaweb2"; + dbname = "icingaweb2"; + }; + }; - roles = { - Administrators = { - users = "*"; - permissions = "*"; + roles = { + Administrators = { + users = "*"; + permissions = "*"; + }; + }; }; }; - }; }; - }; - testScript = '' - start_all() - icingaweb2.wait_for_unit("multi-user.target") - icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login") - ''; -}) + testScript = '' + start_all() + icingaweb2.wait_for_unit("multi-user.target") + icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login") + ''; + } +) diff --git a/nixos/tests/ifm.nix b/nixos/tests/ifm.nix index 60901cb3f7371..a1bc8e23a8974 100644 --- a/nixos/tests/ifm.nix +++ b/nixos/tests/ifm.nix @@ -1,36 +1,38 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "ifm"; - meta = with pkgs.lib.maintainers; { - maintainers = [ litchipi ]; - }; + { + name = "ifm"; + meta = with pkgs.lib.maintainers; { + maintainers = [ litchipi ]; + }; - nodes = { - server = rec { - services.ifm = { - enable = true; - port = 9001; - dataDir = "/data"; - }; + nodes = { + server = rec { + services.ifm = { + enable = true; + port = 9001; + dataDir = "/data"; + }; - system.activationScripts.ifm-setup-dir = '' - mkdir -p ${services.ifm.dataDir} - chmod u+w,g+w,o+w ${services.ifm.dataDir} - ''; + system.activationScripts.ifm-setup-dir = '' + mkdir -p ${services.ifm.dataDir} + chmod u+w,g+w,o+w ${services.ifm.dataDir} + ''; + }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("ifm.service") - server.wait_for_open_port(9001) - server.succeed("curl --fail http://localhost:9001") + testScript = '' + start_all() + server.wait_for_unit("ifm.service") + server.wait_for_open_port(9001) + server.succeed("curl --fail http://localhost:9001") - server.succeed("echo \"testfile\" > testfile && shasum testfile >> checksums") - server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=upload\" -F \"dir=\" -F \"file=@testfile\" | grep \"OK\""); - server.succeed("rm testfile") - server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=download\" -F \"filename=testfile\" -F \"dir=\" --output testfile"); - server.succeed("shasum testfile >> checksums && shasum --check checksums") - ''; -}) + server.succeed("echo \"testfile\" > testfile && shasum testfile >> checksums") + server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=upload\" -F \"dir=\" -F \"file=@testfile\" | grep \"OK\""); + server.succeed("rm testfile") + server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=download\" -F \"filename=testfile\" -F \"dir=\" --output testfile"); + server.succeed("shasum testfile >> checksums && shasum --check checksums") + ''; + } +) diff --git a/nixos/tests/iftop.nix b/nixos/tests/iftop.nix index 933f115a8a5ad..3b4fedbbb9403 100644 --- a/nixos/tests/iftop.nix +++ b/nixos/tests/iftop.nix @@ -1,31 +1,33 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -{ - name = "iftop"; - meta.maintainers = with lib.maintainers; [ ma27 ]; + { + name = "iftop"; + meta.maintainers = with lib.maintainers; [ ma27 ]; - nodes = { - withIftop = { - imports = [ ./common/user-account.nix ]; - programs.iftop.enable = true; + nodes = { + withIftop = { + imports = [ ./common/user-account.nix ]; + programs.iftop.enable = true; + }; + withoutIftop = { + imports = [ ./common/user-account.nix ]; + environment.systemPackages = [ pkgs.iftop ]; + }; }; - withoutIftop = { - imports = [ ./common/user-account.nix ]; - environment.systemPackages = [ pkgs.iftop ]; - }; - }; - testScript = '' - with subtest("machine with iftop enabled"): - withIftop.wait_for_unit("default.target") - # limit to eth1 (eth0 is the test driver's control interface) - # and don't try name lookups - withIftop.succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'") + testScript = '' + with subtest("machine with iftop enabled"): + withIftop.wait_for_unit("default.target") + # limit to eth1 (eth0 is the test driver's control interface) + # and don't try name lookups + withIftop.succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'") - with subtest("machine without iftop"): - withoutIftop.wait_for_unit("default.target") - # check that iftop is there but user alice lacks capabilitie - withoutIftop.succeed("iftop -t -s 1 -n -i eth1") - withoutIftop.fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'") - ''; -}) + with subtest("machine without iftop"): + withoutIftop.wait_for_unit("default.target") + # check that iftop is there but user alice lacks capabilitie + withoutIftop.succeed("iftop -t -s 1 -n -i eth1") + withoutIftop.fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'") + ''; + } +) diff --git a/nixos/tests/image-contents.nix b/nixos/tests/image-contents.nix index 858f7d8c68f40..473032cec73e7 100644 --- a/nixos/tests/image-contents.nix +++ b/nixos/tests/image-contents.nix @@ -1,8 +1,9 @@ # Tests the contents attribute of nixos/lib/make-disk-image.nix # including its user, group, and mode attributes. -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -11,38 +12,42 @@ with pkgs.lib; with import common/ec2.nix { inherit makeTest pkgs; }; let - config = (import ../lib/eval-config.nix { - inherit system; - modules = [ - ../modules/testing/test-instrumentation.nix - ../modules/profiles/qemu-guest.nix - { - fileSystems."/".device = "/dev/disk/by-label/nixos"; - boot.loader.grub.device = "/dev/vda"; - boot.loader.timeout = 0; - } - ]; - }).config; - image = (import ../lib/make-disk-image.nix { - inherit pkgs config; - lib = pkgs.lib; - format = "qcow2"; - contents = [ - { - source = pkgs.writeText "testFile" "contents"; - target = "/testFile"; - user = "1234"; - group = "5678"; - mode = "755"; - } - { - source = ./.; - target = "/testDir"; - } - ]; - }) + "/nixos.qcow2"; + config = + (import ../lib/eval-config.nix { + inherit system; + modules = [ + ../modules/testing/test-instrumentation.nix + ../modules/profiles/qemu-guest.nix + { + fileSystems."/".device = "/dev/disk/by-label/nixos"; + boot.loader.grub.device = "/dev/vda"; + boot.loader.timeout = 0; + } + ]; + }).config; + image = + (import ../lib/make-disk-image.nix { + inherit pkgs config; + lib = pkgs.lib; + format = "qcow2"; + contents = [ + { + source = pkgs.writeText "testFile" "contents"; + target = "/testFile"; + user = "1234"; + group = "5678"; + mode = "755"; + } + { + source = ./.; + target = "/testDir"; + } + ]; + }) + + "/nixos.qcow2"; -in makeEc2Test { +in +makeEc2Test { name = "image-contents"; inherit image; userData = null; diff --git a/nixos/tests/incron.nix b/nixos/tests/incron.nix index d016360ba0ef8..adbea25b9bde9 100644 --- a/nixos/tests/incron.nix +++ b/nixos/tests/incron.nix @@ -1,52 +1,55 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -{ - name = "incron"; - meta.maintainers = [ lib.maintainers.aanderse ]; - - nodes.machine = - { ... }: - { services.incron.enable = true; - services.incron.extraPackages = [ pkgs.coreutils ]; - services.incron.systab = '' - /test IN_CREATE,IN_MODIFY,IN_CLOSE_WRITE,IN_MOVED_FROM,IN_MOVED_TO echo "$@/$# $%" >> /root/incron.log - ''; - - # ensure the directory to be monitored exists before incron is started - systemd.tmpfiles.settings.incron-test = { - "/test".d = { }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + { + name = "incron"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + nodes.machine = + { ... }: + { + services.incron.enable = true; + services.incron.extraPackages = [ pkgs.coreutils ]; + services.incron.systab = '' + /test IN_CREATE,IN_MODIFY,IN_CLOSE_WRITE,IN_MOVED_FROM,IN_MOVED_TO echo "$@/$# $%" >> /root/incron.log + ''; + + # ensure the directory to be monitored exists before incron is started + systemd.tmpfiles.settings.incron-test = { + "/test".d = { }; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("incron.service") + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("incron.service") - machine.succeed("test -d /test") - # create some activity for incron to monitor - machine.succeed("touch /test/file") - machine.succeed("echo foo >> /test/file") - machine.succeed("mv /test/file /root") - machine.succeed("mv /root/file /test") + machine.succeed("test -d /test") + # create some activity for incron to monitor + machine.succeed("touch /test/file") + machine.succeed("echo foo >> /test/file") + machine.succeed("mv /test/file /root") + machine.succeed("mv /root/file /test") - machine.sleep(1) + machine.sleep(1) - # touch /test/file - machine.succeed("grep '/test/file IN_CREATE' /root/incron.log") + # touch /test/file + machine.succeed("grep '/test/file IN_CREATE' /root/incron.log") - # echo foo >> /test/file - machine.succeed("grep '/test/file IN_MODIFY' /root/incron.log") - machine.succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log") + # echo foo >> /test/file + machine.succeed("grep '/test/file IN_MODIFY' /root/incron.log") + machine.succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log") - # mv /test/file /root - machine.succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log") + # mv /test/file /root + machine.succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log") - # mv /root/file /test - machine.succeed("grep '/test/file IN_MOVED_TO' /root/incron.log") + # mv /root/file /test + machine.succeed("grep '/test/file IN_MOVED_TO' /root/incron.log") - # ensure something unexpected is not present - machine.fail("grep 'IN_OPEN' /root/incron.log") - ''; -}) + # ensure something unexpected is not present + machine.fail("grep 'IN_OPEN' /root/incron.log") + ''; + } +) diff --git a/nixos/tests/influxdb.nix b/nixos/tests/influxdb.nix index 03026f8404be5..87b1192c3062f 100644 --- a/nixos/tests/influxdb.nix +++ b/nixos/tests/influxdb.nix @@ -1,40 +1,45 @@ # This test runs influxdb and checks if influxdb is up and running -import ./make-test-python.nix ({ pkgs, ...} : { - name = "influxdb"; - meta = with pkgs.lib.maintainers; { - maintainers = [ offline ]; - }; - - nodes = { - one = { ... }: { - services.influxdb.enable = true; - environment.systemPackages = [ pkgs.httpie ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "influxdb"; + meta = with pkgs.lib.maintainers; { + maintainers = [ offline ]; }; - }; - testScript = '' - import shlex + nodes = { + one = + { ... }: + { + services.influxdb.enable = true; + environment.systemPackages = [ pkgs.httpie ]; + }; + }; + + testScript = '' + import shlex - start_all() + start_all() - one.wait_for_unit("influxdb.service") + one.wait_for_unit("influxdb.service") - # create database - one.succeed( - "curl -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE DATABASE test'" - ) + # create database + one.succeed( + "curl -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE DATABASE test'" + ) - # write some points and run simple query - out = one.succeed( - "curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'" - ) + # write some points and run simple query + out = one.succeed( + "curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'" + ) - qv = "SELECT value FROM cpu_load_short WHERE region='us-west'" - cmd = f'curl -GET "http://localhost:8086/query?db=test" --data-urlencode {shlex.quote("q="+ qv)}' - out = one.succeed(cmd) + qv = "SELECT value FROM cpu_load_short WHERE region='us-west'" + cmd = f'curl -GET "http://localhost:8086/query?db=test" --data-urlencode {shlex.quote("q="+ qv)}' + out = one.succeed(cmd) - assert "2015-06-11T20:46:02Z" in out - assert "0.64" in out - ''; -}) + assert "2015-06-11T20:46:02Z" in out + assert "0.64" in out + ''; + } +) diff --git a/nixos/tests/influxdb2.nix b/nixos/tests/influxdb2.nix index 1631ac1d94081..3646960c15690 100644 --- a/nixos/tests/influxdb2.nix +++ b/nixos/tests/influxdb2.nix @@ -1,225 +1,241 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "influxdb2"; - meta = with pkgs.lib.maintainers; { - maintainers = [ offline ]; - }; - - nodes.machine = { lib, ... }: { - environment.systemPackages = [ pkgs.influxdb2-cli ]; - # Make sure that the service is restarted immediately if tokens need to be rewritten - # without relying on any Restart=on-failure behavior - systemd.services.influxdb2.serviceConfig.RestartSec = 6000; - services.influxdb2.enable = true; - services.influxdb2.provision = { - enable = true; - initialSetup = { - organization = "default"; - bucket = "default"; - passwordFile = pkgs.writeText "admin-pw" "ExAmPl3PA55W0rD"; - tokenFile = pkgs.writeText "admin-token" "verysecureadmintoken"; - }; - organizations.someorg = { - buckets.somebucket = {}; - auths.sometoken = { - description = "some auth token"; - readBuckets = ["somebucket"]; - writeBuckets = ["somebucket"]; - }; - }; - users.someuser.passwordFile = pkgs.writeText "tmp-pw" "abcgoiuhaoga"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "influxdb2"; + meta = with pkgs.lib.maintainers; { + maintainers = [ offline ]; }; - specialisation.withModifications.configuration = { ... }: { - services.influxdb2.provision = { - organizations.someorg.buckets.somebucket.present = false; - organizations.someorg.auths.sometoken.present = false; - users.someuser.present = false; - - organizations.myorg = { - description = "Myorg description"; - buckets.mybucket = { - description = "Mybucket description"; + nodes.machine = + { lib, ... }: + { + environment.systemPackages = [ pkgs.influxdb2-cli ]; + # Make sure that the service is restarted immediately if tokens need to be rewritten + # without relying on any Restart=on-failure behavior + systemd.services.influxdb2.serviceConfig.RestartSec = 6000; + services.influxdb2.enable = true; + services.influxdb2.provision = { + enable = true; + initialSetup = { + organization = "default"; + bucket = "default"; + passwordFile = pkgs.writeText "admin-pw" "ExAmPl3PA55W0rD"; + tokenFile = pkgs.writeText "admin-token" "verysecureadmintoken"; }; - auths.mytoken = { - operator = true; - description = "operator token"; - tokenFile = pkgs.writeText "tmp-tok" "someusertoken"; + organizations.someorg = { + buckets.somebucket = { }; + auths.sometoken = { + description = "some auth token"; + readBuckets = [ "somebucket" ]; + writeBuckets = [ "somebucket" ]; + }; }; + users.someuser.passwordFile = pkgs.writeText "tmp-pw" "abcgoiuhaoga"; }; - users.myuser.passwordFile = pkgs.writeText "tmp-pw" "abcgoiuhaoga"; - }; - }; - - specialisation.withParentDelete.configuration = { ... }: { - services.influxdb2.provision = { - organizations.someorg.present = false; - # Deleting the parent implies: - #organizations.someorg.buckets.somebucket.present = false; - #organizations.someorg.auths.sometoken.present = false; - }; - }; - specialisation.withNewTokens.configuration = { ... }: { - services.influxdb2.provision = { - organizations.default = { - auths.operator = { - operator = true; - description = "new optoken"; - tokenFile = pkgs.writeText "tmp-tok" "newoptoken"; + specialisation.withModifications.configuration = + { ... }: + { + services.influxdb2.provision = { + organizations.someorg.buckets.somebucket.present = false; + organizations.someorg.auths.sometoken.present = false; + users.someuser.present = false; + + organizations.myorg = { + description = "Myorg description"; + buckets.mybucket = { + description = "Mybucket description"; + }; + auths.mytoken = { + operator = true; + description = "operator token"; + tokenFile = pkgs.writeText "tmp-tok" "someusertoken"; + }; + }; + users.myuser.passwordFile = pkgs.writeText "tmp-pw" "abcgoiuhaoga"; + }; }; - auths.allaccess = { - operator = true; - description = "new allaccess"; - tokenFile = pkgs.writeText "tmp-tok" "newallaccess"; + + specialisation.withParentDelete.configuration = + { ... }: + { + services.influxdb2.provision = { + organizations.someorg.present = false; + # Deleting the parent implies: + #organizations.someorg.buckets.somebucket.present = false; + #organizations.someorg.auths.sometoken.present = false; + }; }; - auths.specifics = { - description = "new specifics"; - readPermissions = ["users" "tasks"]; - writePermissions = ["tasks"]; - tokenFile = pkgs.writeText "tmp-tok" "newspecificstoken"; + + specialisation.withNewTokens.configuration = + { ... }: + { + services.influxdb2.provision = { + organizations.default = { + auths.operator = { + operator = true; + description = "new optoken"; + tokenFile = pkgs.writeText "tmp-tok" "newoptoken"; + }; + auths.allaccess = { + operator = true; + description = "new allaccess"; + tokenFile = pkgs.writeText "tmp-tok" "newallaccess"; + }; + auths.specifics = { + description = "new specifics"; + readPermissions = [ + "users" + "tasks" + ]; + writePermissions = [ "tasks" ]; + tokenFile = pkgs.writeText "tmp-tok" "newspecificstoken"; + }; + }; + }; }; - }; }; - }; - }; - - testScript = { nodes, ... }: - let - specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; - tokenArg = "--token verysecureadmintoken"; - in '' - def assert_contains(haystack, needle): - if needle not in haystack: - print("The haystack that will cause the following exception is:") - print("---") - print(haystack) - print("---") - raise Exception(f"Expected string '{needle}' was not found") - - def assert_lacks(haystack, needle): - if needle in haystack: - print("The haystack that will cause the following exception is:") - print("---") - print(haystack, end="") - print("---") - raise Exception(f"Unexpected string '{needle}' was found") - - machine.wait_for_unit("influxdb2.service") - - machine.fail("curl --fail -X POST 'http://localhost:8086/api/v2/signin' -u admin:wrongpassword") - machine.succeed("curl --fail -X POST 'http://localhost:8086/api/v2/signin' -u admin:ExAmPl3PA55W0rD") - - out = machine.succeed("influx org list ${tokenArg}") - assert_contains(out, "default") - assert_lacks(out, "myorg") - assert_contains(out, "someorg") - - out = machine.succeed("influx bucket list ${tokenArg} --org default") - assert_contains(out, "default") - - machine.fail("influx bucket list ${tokenArg} --org myorg") - - out = machine.succeed("influx bucket list ${tokenArg} --org someorg") - assert_contains(out, "somebucket") - - out = machine.succeed("influx user list ${tokenArg}") - assert_contains(out, "admin") - assert_lacks(out, "myuser") - assert_contains(out, "someuser") - - out = machine.succeed("influx auth list ${tokenArg}") - assert_lacks(out, "operator token") - assert_contains(out, "some auth token") - - with subtest("withModifications"): - machine.succeed('${specialisations}/withModifications/bin/switch-to-configuration test') - machine.wait_for_unit("influxdb2.service") - out = machine.succeed("influx org list ${tokenArg}") - assert_contains(out, "default") - assert_contains(out, "myorg") - assert_contains(out, "someorg") - - out = machine.succeed("influx bucket list ${tokenArg} --org myorg") - assert_contains(out, "mybucket") + testScript = + { nodes, ... }: + let + specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; + tokenArg = "--token verysecureadmintoken"; + in + '' + def assert_contains(haystack, needle): + if needle not in haystack: + print("The haystack that will cause the following exception is:") + print("---") + print(haystack) + print("---") + raise Exception(f"Expected string '{needle}' was not found") + + def assert_lacks(haystack, needle): + if needle in haystack: + print("The haystack that will cause the following exception is:") + print("---") + print(haystack, end="") + print("---") + raise Exception(f"Unexpected string '{needle}' was found") - out = machine.succeed("influx bucket list ${tokenArg} --org someorg") - assert_lacks(out, "somebucket") - - out = machine.succeed("influx user list ${tokenArg}") - assert_contains(out, "admin") - assert_contains(out, "myuser") - assert_lacks(out, "someuser") - - out = machine.succeed("influx auth list ${tokenArg}") - assert_contains(out, "operator token") - assert_lacks(out, "some auth token") - - # Make sure the user token is also usable - machine.succeed("influx auth list --token someusertoken") - - with subtest("keepsUnrelated"): - machine.succeed('${nodes.machine.system.build.toplevel}/bin/switch-to-configuration test') machine.wait_for_unit("influxdb2.service") + machine.fail("curl --fail -X POST 'http://localhost:8086/api/v2/signin' -u admin:wrongpassword") + machine.succeed("curl --fail -X POST 'http://localhost:8086/api/v2/signin' -u admin:ExAmPl3PA55W0rD") + out = machine.succeed("influx org list ${tokenArg}") assert_contains(out, "default") - assert_contains(out, "myorg") + assert_lacks(out, "myorg") assert_contains(out, "someorg") out = machine.succeed("influx bucket list ${tokenArg} --org default") assert_contains(out, "default") - out = machine.succeed("influx bucket list ${tokenArg} --org myorg") - assert_contains(out, "mybucket") + machine.fail("influx bucket list ${tokenArg} --org myorg") out = machine.succeed("influx bucket list ${tokenArg} --org someorg") assert_contains(out, "somebucket") out = machine.succeed("influx user list ${tokenArg}") assert_contains(out, "admin") - assert_contains(out, "myuser") + assert_lacks(out, "myuser") assert_contains(out, "someuser") out = machine.succeed("influx auth list ${tokenArg}") - assert_contains(out, "operator token") + assert_lacks(out, "operator token") assert_contains(out, "some auth token") - with subtest("withParentDelete"): - machine.succeed('${specialisations}/withParentDelete/bin/switch-to-configuration test') - machine.wait_for_unit("influxdb2.service") + with subtest("withModifications"): + machine.succeed('${specialisations}/withModifications/bin/switch-to-configuration test') + machine.wait_for_unit("influxdb2.service") - out = machine.succeed("influx org list ${tokenArg}") - assert_contains(out, "default") - assert_contains(out, "myorg") - assert_lacks(out, "someorg") + out = machine.succeed("influx org list ${tokenArg}") + assert_contains(out, "default") + assert_contains(out, "myorg") + assert_contains(out, "someorg") - out = machine.succeed("influx bucket list ${tokenArg} --org default") - assert_contains(out, "default") + out = machine.succeed("influx bucket list ${tokenArg} --org myorg") + assert_contains(out, "mybucket") - out = machine.succeed("influx bucket list ${tokenArg} --org myorg") - assert_contains(out, "mybucket") + out = machine.succeed("influx bucket list ${tokenArg} --org someorg") + assert_lacks(out, "somebucket") - machine.fail("influx bucket list ${tokenArg} --org someorg") + out = machine.succeed("influx user list ${tokenArg}") + assert_contains(out, "admin") + assert_contains(out, "myuser") + assert_lacks(out, "someuser") - out = machine.succeed("influx user list ${tokenArg}") - assert_contains(out, "admin") - assert_contains(out, "myuser") - assert_contains(out, "someuser") + out = machine.succeed("influx auth list ${tokenArg}") + assert_contains(out, "operator token") + assert_lacks(out, "some auth token") - out = machine.succeed("influx auth list ${tokenArg}") - assert_contains(out, "operator token") - assert_lacks(out, "some auth token") + # Make sure the user token is also usable + machine.succeed("influx auth list --token someusertoken") - with subtest("withNewTokens"): - machine.succeed('${specialisations}/withNewTokens/bin/switch-to-configuration test') - machine.wait_for_unit("influxdb2.service") + with subtest("keepsUnrelated"): + machine.succeed('${nodes.machine.system.build.toplevel}/bin/switch-to-configuration test') + machine.wait_for_unit("influxdb2.service") - out = machine.succeed("influx auth list ${tokenArg}") - assert_contains(out, "operator token") - assert_contains(out, "some auth token") - assert_contains(out, "new optoken") - assert_contains(out, "new allaccess") - assert_contains(out, "new specifics") - ''; -}) + out = machine.succeed("influx org list ${tokenArg}") + assert_contains(out, "default") + assert_contains(out, "myorg") + assert_contains(out, "someorg") + + out = machine.succeed("influx bucket list ${tokenArg} --org default") + assert_contains(out, "default") + + out = machine.succeed("influx bucket list ${tokenArg} --org myorg") + assert_contains(out, "mybucket") + + out = machine.succeed("influx bucket list ${tokenArg} --org someorg") + assert_contains(out, "somebucket") + + out = machine.succeed("influx user list ${tokenArg}") + assert_contains(out, "admin") + assert_contains(out, "myuser") + assert_contains(out, "someuser") + + out = machine.succeed("influx auth list ${tokenArg}") + assert_contains(out, "operator token") + assert_contains(out, "some auth token") + + with subtest("withParentDelete"): + machine.succeed('${specialisations}/withParentDelete/bin/switch-to-configuration test') + machine.wait_for_unit("influxdb2.service") + + out = machine.succeed("influx org list ${tokenArg}") + assert_contains(out, "default") + assert_contains(out, "myorg") + assert_lacks(out, "someorg") + + out = machine.succeed("influx bucket list ${tokenArg} --org default") + assert_contains(out, "default") + + out = machine.succeed("influx bucket list ${tokenArg} --org myorg") + assert_contains(out, "mybucket") + + machine.fail("influx bucket list ${tokenArg} --org someorg") + + out = machine.succeed("influx user list ${tokenArg}") + assert_contains(out, "admin") + assert_contains(out, "myuser") + assert_contains(out, "someuser") + + out = machine.succeed("influx auth list ${tokenArg}") + assert_contains(out, "operator token") + assert_lacks(out, "some auth token") + + with subtest("withNewTokens"): + machine.succeed('${specialisations}/withNewTokens/bin/switch-to-configuration test') + machine.wait_for_unit("influxdb2.service") + + out = machine.succeed("influx auth list ${tokenArg}") + assert_contains(out, "operator token") + assert_contains(out, "some auth token") + assert_contains(out, "new optoken") + assert_contains(out, "new allaccess") + assert_contains(out, "new specifics") + ''; + } +) diff --git a/nixos/tests/initrd-luks-empty-passphrase.nix b/nixos/tests/initrd-luks-empty-passphrase.nix index a846c120415d9..2b981e009f792 100644 --- a/nixos/tests/initrd-luks-empty-passphrase.nix +++ b/nixos/tests/initrd-luks-empty-passphrase.nix @@ -1,105 +1,113 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. {inherit system config; } -, systemdStage1 ? false }: -import ./make-test-python.nix ({ lib, pkgs, ... }: let +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + systemdStage1 ? false, +}: +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let - keyfile = pkgs.writeText "luks-keyfile" '' - MIGHAoGBAJ4rGTSo/ldyjQypd0kuS7k2OSsmQYzMH6TNj3nQ/vIUjDn7fqa3slt2 - gV6EK3TmTbGc4tzC1v4SWx2m+2Bjdtn4Fs4wiBwn1lbRdC6i5ZYCqasTWIntWn+6 - FllUkMD5oqjOR/YcboxG8Z3B5sJuvTP9llsF+gnuveWih9dpbBr7AgEC - ''; + keyfile = pkgs.writeText "luks-keyfile" '' + MIGHAoGBAJ4rGTSo/ldyjQypd0kuS7k2OSsmQYzMH6TNj3nQ/vIUjDn7fqa3slt2 + gV6EK3TmTbGc4tzC1v4SWx2m+2Bjdtn4Fs4wiBwn1lbRdC6i5ZYCqasTWIntWn+6 + FllUkMD5oqjOR/YcboxG8Z3B5sJuvTP9llsF+gnuveWih9dpbBr7AgEC + ''; -in { - name = "initrd-luks-empty-passphrase"; + in + { + name = "initrd-luks-empty-passphrase"; - nodes.machine = { pkgs, ... }: { - imports = lib.optionals (!systemdStage1) [ ./common/auto-format-root-device.nix ]; + nodes.machine = + { pkgs, ... }: + { + imports = lib.optionals (!systemdStage1) [ ./common/auto-format-root-device.nix ]; - virtualisation = { - emptyDiskImages = [ 512 ]; - useBootLoader = true; - useEFIBoot = true; - # This requires to have access - # to a host Nix store as - # the new root device is /dev/vdb - # an empty 512MiB drive, containing no Nix store. - mountHostNixStore = true; - fileSystems."/".autoFormat = lib.mkIf systemdStage1 true; - }; + virtualisation = { + emptyDiskImages = [ 512 ]; + useBootLoader = true; + useEFIBoot = true; + # This requires to have access + # to a host Nix store as + # the new root device is /dev/vdb + # an empty 512MiB drive, containing no Nix store. + mountHostNixStore = true; + fileSystems."/".autoFormat = lib.mkIf systemdStage1 true; + }; - boot.loader.systemd-boot.enable = true; - boot.initrd.systemd = lib.mkIf systemdStage1 { - enable = true; - emergencyAccess = true; - }; - environment.systemPackages = with pkgs; [ cryptsetup ]; + boot.loader.systemd-boot.enable = true; + boot.initrd.systemd = lib.mkIf systemdStage1 { + enable = true; + emergencyAccess = true; + }; + environment.systemPackages = with pkgs; [ cryptsetup ]; - specialisation.boot-luks-wrong-keyfile.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - cryptroot = { - device = "/dev/vdb"; - keyFile = "/etc/cryptroot.key"; - tryEmptyPassphrase = true; - fallbackToPassword = !systemdStage1; + specialisation.boot-luks-wrong-keyfile.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + cryptroot = { + device = "/dev/vdb"; + keyFile = "/etc/cryptroot.key"; + tryEmptyPassphrase = true; + fallbackToPassword = !systemdStage1; + }; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; + boot.initrd.secrets."/etc/cryptroot.key" = keyfile; }; - }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; - boot.initrd.secrets."/etc/cryptroot.key" = keyfile; - }; - specialisation.boot-luks-missing-keyfile.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - cryptroot = { - device = "/dev/vdb"; - keyFile = "/etc/cryptroot.key"; - tryEmptyPassphrase = true; - fallbackToPassword = !systemdStage1; + specialisation.boot-luks-missing-keyfile.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + cryptroot = { + device = "/dev/vdb"; + keyFile = "/etc/cryptroot.key"; + tryEmptyPassphrase = true; + fallbackToPassword = !systemdStage1; + }; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; }; }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; - }; - }; - testScript = '' - # Encrypt key with empty key so boot should try keyfile and then fallback to empty passphrase + testScript = '' + # Encrypt key with empty key so boot should try keyfile and then fallback to empty passphrase - def grub_select_boot_luks_wrong_key_file(): - """ - Selects "boot-luks" from the GRUB menu - to trigger a login request. - """ - machine.send_monitor_command("sendkey down") - machine.send_monitor_command("sendkey down") - machine.send_monitor_command("sendkey ret") + def grub_select_boot_luks_wrong_key_file(): + """ + Selects "boot-luks" from the GRUB menu + to trigger a login request. + """ + machine.send_monitor_command("sendkey down") + machine.send_monitor_command("sendkey down") + machine.send_monitor_command("sendkey ret") - def grub_select_boot_luks_missing_key_file(): - """ - Selects "boot-luks" from the GRUB menu - to trigger a login request. - """ - machine.send_monitor_command("sendkey down") - machine.send_monitor_command("sendkey ret") + def grub_select_boot_luks_missing_key_file(): + """ + Selects "boot-luks" from the GRUB menu + to trigger a login request. + """ + machine.send_monitor_command("sendkey down") + machine.send_monitor_command("sendkey ret") - # Create encrypted volume - machine.wait_for_unit("multi-user.target") - machine.succeed("echo "" | cryptsetup luksFormat /dev/vdb --batch-mode") - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-wrong-keyfile.conf") - machine.succeed("sync") - machine.crash() + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("echo "" | cryptsetup luksFormat /dev/vdb --batch-mode") + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-wrong-keyfile.conf") + machine.succeed("sync") + machine.crash() - # Check if rootfs is on /dev/mapper/cryptroot - machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + # Check if rootfs is on /dev/mapper/cryptroot + machine.wait_for_unit("multi-user.target") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - # Choose boot-luks-missing-keyfile specialisation - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-missing-keyfile.conf") - machine.succeed("sync") - machine.crash() + # Choose boot-luks-missing-keyfile specialisation + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-missing-keyfile.conf") + machine.succeed("sync") + machine.crash() - # Check if rootfs is on /dev/mapper/cryptroot - machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - ''; -}) + # Check if rootfs is on /dev/mapper/cryptroot + machine.wait_for_unit("multi-user.target") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; + } +) diff --git a/nixos/tests/initrd-network-openvpn/default.nix b/nixos/tests/initrd-network-openvpn/default.nix index 69db7dd1037f7..f685e46dc467b 100644 --- a/nixos/tests/initrd-network-openvpn/default.nix +++ b/nixos/tests/initrd-network-openvpn/default.nix @@ -1,132 +1,136 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -, systemdStage1 ? false +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + systemdStage1 ? false, }: -import ../make-test-python.nix ({ lib, ...}: +import ../make-test-python.nix ( + { lib, ... }: -{ - name = "initrd-network-openvpn"; - - nodes = - let - - # Inlining of the shared secret for the - # OpenVPN server and client - secretblock = '' - secret [inline] - - ${lib.readFile ./shared.key} - + { + name = "initrd-network-openvpn"; + + nodes = + let + + # Inlining of the shared secret for the + # OpenVPN server and client + secretblock = '' + secret [inline] + + ${lib.readFile ./shared.key} + ''; - in - { - - # Minimal test case to check a successful boot, even with invalid config - minimalboot = - { ... }: - { - boot.initrd.systemd.enable = systemdStage1; - boot.initrd.network = { - enable = true; - openvpn = { + in + { + + # Minimal test case to check a successful boot, even with invalid config + minimalboot = + { ... }: + { + boot.initrd.systemd.enable = systemdStage1; + boot.initrd.network = { enable = true; - configuration = builtins.toFile "initrd.ovpn" ""; + openvpn = { + enable = true; + configuration = builtins.toFile "initrd.ovpn" ""; + }; }; }; - }; - - # initrd VPN client - ovpnclient = - { ... }: - { - virtualisation.useBootLoader = true; - virtualisation.vlans = [ 1 ]; - - boot.initrd = { - systemd.enable = systemdStage1; - systemd.extraBin.nc = "${pkgs.busybox}/bin/nc"; - systemd.services.nc = { - requiredBy = ["initrd.target"]; - after = ["network.target"]; - serviceConfig = { - ExecStart = "/bin/nc -p 1234 -lke /bin/echo TESTVALUE"; - Type = "oneshot"; + + # initrd VPN client + ovpnclient = + { ... }: + { + virtualisation.useBootLoader = true; + virtualisation.vlans = [ 1 ]; + + boot.initrd = { + systemd.enable = systemdStage1; + systemd.extraBin.nc = "${pkgs.busybox}/bin/nc"; + systemd.services.nc = { + requiredBy = [ "initrd.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "/bin/nc -p 1234 -lke /bin/echo TESTVALUE"; + Type = "oneshot"; + }; }; - }; - # This command does not fork to keep the VM in the state where - # only the initramfs is loaded - preLVMCommands = lib.mkIf (!systemdStage1) - '' + # This command does not fork to keep the VM in the state where + # only the initramfs is loaded + preLVMCommands = lib.mkIf (!systemdStage1) '' /bin/nc -p 1234 -lke /bin/echo TESTVALUE ''; - network = { - enable = true; + network = { + enable = true; - # Work around udhcpc only getting a lease on eth0 - postCommands = lib.mkIf (!systemdStage1) - '' + # Work around udhcpc only getting a lease on eth0 + postCommands = lib.mkIf (!systemdStage1) '' /bin/ip addr add 192.168.1.2/24 dev eth1 ''; - # Example configuration for OpenVPN - # This is the main reason for this test - openvpn = { - enable = true; - configuration = "${./initrd.ovpn}"; + # Example configuration for OpenVPN + # This is the main reason for this test + openvpn = { + enable = true; + configuration = "${./initrd.ovpn}"; + }; }; }; }; - }; - - # VPN server and gateway for ovpnclient between vlan 1 and 2 - ovpnserver = - { ... }: - { - virtualisation.vlans = [ 1 2 ]; - - # Enable NAT and forward port 12345 to port 1234 - networking.nat = { - enable = true; - internalInterfaces = [ "tun0" ]; - externalInterface = "eth2"; - forwardPorts = [ { destination = "10.8.0.2:1234"; - sourcePort = 12345; } ]; - }; - # Trust tun0 and allow the VPN Server to be reached - networking.firewall = { - trustedInterfaces = [ "tun0" ]; - allowedUDPPorts = [ 1194 ]; + # VPN server and gateway for ovpnclient between vlan 1 and 2 + ovpnserver = + { ... }: + { + virtualisation.vlans = [ + 1 + 2 + ]; + + # Enable NAT and forward port 12345 to port 1234 + networking.nat = { + enable = true; + internalInterfaces = [ "tun0" ]; + externalInterface = "eth2"; + forwardPorts = [ + { + destination = "10.8.0.2:1234"; + sourcePort = 12345; + } + ]; + }; + + # Trust tun0 and allow the VPN Server to be reached + networking.firewall = { + trustedInterfaces = [ "tun0" ]; + allowedUDPPorts = [ 1194 ]; + }; + + # Minimal OpenVPN server configuration + services.openvpn.servers.testserver = { + config = '' + dev tun0 + ifconfig 10.8.0.1 10.8.0.2 + cipher AES-256-CBC + ${secretblock} + ''; + }; }; - # Minimal OpenVPN server configuration - services.openvpn.servers.testserver = + # Client that resides in the "external" VLAN + testclient = + { ... }: { - config = '' - dev tun0 - ifconfig 10.8.0.1 10.8.0.2 - cipher AES-256-CBC - ${secretblock} - ''; + virtualisation.vlans = [ 2 ]; }; - }; - - # Client that resides in the "external" VLAN - testclient = - { ... }: - { - virtualisation.vlans = [ 2 ]; - }; - }; - + }; - testScript = - '' + testScript = '' # Minimal test case, checks whether enabling (with invalid config) harms # the boot process with subtest("Check for successful boot with broken openvpn config"): @@ -162,4 +166,5 @@ import ../make-test-python.nix ({ lib, ...}: # Check that ovpnclient is reachable from testclient over the gateway testclient.succeed("nc -w 2 192.168.2.3 12345 | grep -q TESTVALUE") ''; -}) + } +) diff --git a/nixos/tests/initrd-network-ssh/default.nix b/nixos/tests/initrd-network-ssh/default.nix index 17b6c21ff1e99..c67ead716e0f3 100644 --- a/nixos/tests/initrd-network-ssh/default.nix +++ b/nixos/tests/initrd-network-ssh/default.nix @@ -1,73 +1,76 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "initrd-network-ssh"; - meta.maintainers = with lib.maintainers; [ willibutz emily ]; + { + name = "initrd-network-ssh"; + meta.maintainers = with lib.maintainers; [ + willibutz + emily + ]; - nodes = { - server = - { config, ... }: - { - boot.kernelParams = [ - "ip=${config.networking.primaryIPAddress}:::255.255.255.0::eth1:none" - ]; - boot.initrd.network = { - enable = true; - ssh = { + nodes = { + server = + { config, ... }: + { + boot.kernelParams = [ + "ip=${config.networking.primaryIPAddress}:::255.255.255.0::eth1:none" + ]; + boot.initrd.network = { enable = true; - authorizedKeys = [ (lib.readFile ./id_ed25519.pub) ]; - port = 22; - hostKeys = [ ./ssh_host_ed25519_key ]; + ssh = { + enable = true; + authorizedKeys = [ (lib.readFile ./id_ed25519.pub) ]; + port = 22; + hostKeys = [ ./ssh_host_ed25519_key ]; + }; }; + boot.initrd.preLVMCommands = '' + while true; do + if [ -f fnord ]; then + poweroff + fi + sleep 1 + done + ''; }; - boot.initrd.preLVMCommands = '' - while true; do - if [ -f fnord ]; then - poweroff - fi - sleep 1 - done - ''; - }; - client = - { config, ... }: - { - environment.etc = { - knownHosts = { - text = lib.concatStrings [ - "server," - "${toString (lib.head (lib.splitString " " ( - toString (lib.elemAt (lib.splitString "\n" config.networking.extraHosts) 2) - )))} " - "${lib.readFile ./ssh_host_ed25519_key.pub}" - ]; - }; - sshKey = { - source = ./id_ed25519; - mode = "0600"; + client = + { config, ... }: + { + environment.etc = { + knownHosts = { + text = lib.concatStrings [ + "server," + "${toString (lib.head (lib.splitString " " (toString (lib.elemAt (lib.splitString "\n" config.networking.extraHosts) 2))))} " + "${lib.readFile ./ssh_host_ed25519_key.pub}" + ]; + }; + sshKey = { + source = ./id_ed25519; + mode = "0600"; + }; }; }; - }; - }; + }; - testScript = '' - start_all() - client.wait_for_unit("network.target") + testScript = '' + start_all() + client.wait_for_unit("network.target") - def ssh_is_up(_) -> bool: - status, _ = client.execute("nc -z server 22") - return status == 0 + def ssh_is_up(_) -> bool: + status, _ = client.execute("nc -z server 22") + return status == 0 - with client.nested("waiting for SSH server to come up"): - retry(ssh_is_up) + with client.nested("waiting for SSH server to come up"): + retry(ssh_is_up) - client.succeed( - "ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'" - ) - client.shutdown() - ''; -}) + client.succeed( + "ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'" + ) + client.shutdown() + ''; + } +) diff --git a/nixos/tests/initrd-network-ssh/generate-keys.nix b/nixos/tests/initrd-network-ssh/generate-keys.nix index 3d7978890ab08..b82a79ce5e2ea 100644 --- a/nixos/tests/initrd-network-ssh/generate-keys.nix +++ b/nixos/tests/initrd-network-ssh/generate-keys.nix @@ -1,6 +1,7 @@ -with import ../../.. {}; +with import ../../.. { }; -runCommand "gen-keys" { +runCommand "gen-keys" + { buildInputs = [ openssh ]; } '' diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix index abbc3d0fce822..7e86f7f87075f 100644 --- a/nixos/tests/initrd-network.nix +++ b/nixos/tests/initrd-network.nix @@ -1,33 +1,35 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "initrd-network"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "initrd-network"; - meta.maintainers = [ ]; + meta.maintainers = [ ]; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - boot.initrd.network.enable = true; - boot.initrd.network.postCommands = - '' - ip addr show - ip route show - ip addr | grep 10.0.2.15 || exit 1 - ping -c1 10.0.2.2 || exit 1 - ''; - # Check if cleanup was done correctly - boot.initrd.postMountCommands = lib.mkAfter - '' - ip addr show - ip route show - ip addr | grep 10.0.2.15 && exit 1 - ping -c1 10.0.2.2 && exit 1 - ''; - }; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + boot.initrd.network.enable = true; + boot.initrd.network.postCommands = '' + ip addr show + ip route show + ip addr | grep 10.0.2.15 || exit 1 + ping -c1 10.0.2.2 || exit 1 + ''; + # Check if cleanup was done correctly + boot.initrd.postMountCommands = lib.mkAfter '' + ip addr show + ip route show + ip addr | grep 10.0.2.15 && exit 1 + ping -c1 10.0.2.2 && exit 1 + ''; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("multi-user.target") machine.succeed("ip addr show >&2") machine.succeed("ip route show >&2") ''; -}) + } +) diff --git a/nixos/tests/initrd-secrets-changing.nix b/nixos/tests/initrd-secrets-changing.nix index d6f9ef9ced83a..1fa71a28872f0 100644 --- a/nixos/tests/initrd-secrets-changing.nix +++ b/nixos/tests/initrd-secrets-changing.nix @@ -1,8 +1,9 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -, lib ? pkgs.lib -, testing ? import ../lib/testing-python.nix { inherit system pkgs; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + lib ? pkgs.lib, + testing ? import ../lib/testing-python.nix { inherit system pkgs; }, }: let @@ -13,24 +14,26 @@ in testing.makeTest { name = "initrd-secrets-changing"; - nodes.machine = { ... }: { - virtualisation.useBootLoader = true; + nodes.machine = + { ... }: + { + virtualisation.useBootLoader = true; - boot.loader.grub.device = "/dev/vda"; + boot.loader.grub.device = "/dev/vda"; - boot.initrd.secrets = { - "/test" = secret1InStore; - "/run/keys/test" = secret1InStore; - }; - boot.initrd.postMountCommands = "cp /test /mnt-root/secret-from-initramfs"; + boot.initrd.secrets = { + "/test" = secret1InStore; + "/run/keys/test" = secret1InStore; + }; + boot.initrd.postMountCommands = "cp /test /mnt-root/secret-from-initramfs"; - specialisation.secrets2System.configuration = { - boot.initrd.secrets = lib.mkForce { - "/test" = secret2InStore; - "/run/keys/test" = secret2InStore; + specialisation.secrets2System.configuration = { + boot.initrd.secrets = lib.mkForce { + "/test" = secret2InStore; + "/run/keys/test" = secret2InStore; + }; }; }; - }; testScript = '' start_all() diff --git a/nixos/tests/initrd-secrets.nix b/nixos/tests/initrd-secrets.nix index dbbdd83588491..6a506a1fb0b4e 100644 --- a/nixos/tests/initrd-secrets.nix +++ b/nixos/tests/initrd-secrets.nix @@ -1,41 +1,55 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -, lib ? pkgs.lib -, testing ? import ../lib/testing-python.nix { inherit system pkgs; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + lib ? pkgs.lib, + testing ? import ../lib/testing-python.nix { inherit system pkgs; }, }: let secretInStore = pkgs.writeText "topsecret" "iamasecret"; - testWithCompressor = compressor: testing.makeTest { - name = "initrd-secrets-${compressor}"; + testWithCompressor = + compressor: + testing.makeTest { + name = "initrd-secrets-${compressor}"; - meta.maintainers = [ ]; + meta.maintainers = [ ]; - nodes.machine = { ... }: { - virtualisation.useBootLoader = true; - boot.initrd.secrets = { - "/test" = secretInStore; + nodes.machine = + { ... }: + { + virtualisation.useBootLoader = true; + boot.initrd.secrets = { + "/test" = secretInStore; - # This should *not* need to be copied in postMountCommands - "/run/keys/test" = secretInStore; - }; - boot.initrd.postMountCommands = '' - cp /test /mnt-root/secret-from-initramfs + # This should *not* need to be copied in postMountCommands + "/run/keys/test" = secretInStore; + }; + boot.initrd.postMountCommands = '' + cp /test /mnt-root/secret-from-initramfs + ''; + boot.initrd.compressor = compressor; + # zstd compression is only supported from 5.9 onwards. Remove when 5.10 becomes default. + boot.kernelPackages = pkgs.linuxPackages_latest; + }; + + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.succeed( + "cmp ${secretInStore} /secret-from-initramfs", + "cmp ${secretInStore} /run/keys/test", + ) ''; - boot.initrd.compressor = compressor; - # zstd compression is only supported from 5.9 onwards. Remove when 5.10 becomes default. - boot.kernelPackages = pkgs.linuxPackages_latest; }; - - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.succeed( - "cmp ${secretInStore} /secret-from-initramfs", - "cmp ${secretInStore} /run/keys/test", - ) - ''; - }; -in lib.flip lib.genAttrs testWithCompressor [ - "cat" "gzip" "bzip2" "xz" "lzma" "lzop" "pigz" "pixz" "zstd" +in +lib.flip lib.genAttrs testWithCompressor [ + "cat" + "gzip" + "bzip2" + "xz" + "lzma" + "lzop" + "pigz" + "pixz" + "zstd" ] diff --git a/nixos/tests/input-remapper.nix b/nixos/tests/input-remapper.nix index 2ef55a01b2905..4937274aa6926 100644 --- a/nixos/tests/input-remapper.nix +++ b/nixos/tests/input-remapper.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { name = "input-remapper"; @@ -6,8 +7,11 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = with pkgs.lib.maintainers; [ LunNova ]; }; - nodes.machine = { config, ... }: - let user = config.users.users.sybil; in + nodes.machine = + { config, ... }: + let + user = config.users.users.sybil; + in { imports = [ ./common/user-account.nix @@ -16,7 +20,10 @@ import ./make-test-python.nix ({ pkgs, ... }: services.xserver.enable = true; services.input-remapper.enable = true; - users.users.sybil = { isNormalUser = true; group = "wheel"; }; + users.users.sybil = { + isNormalUser = true; + group = "wheel"; + }; test-support.displayManager.auto.user = user.name; # workaround for pkexec not working in the test environment # Error creating textual authentication agent: @@ -26,28 +33,33 @@ import ./make-test-python.nix ({ pkgs, ... }: # to allow the program to run, we replace pkexec with sudo # and turn on passwordless sudo # this is not correct in general but good enough for this test - security.sudo = { enable = true; wheelNeedsPassword = false; }; - security.wrappers.pkexec = pkgs.lib.mkForce - { - setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.sudo}/bin/sudo"; - }; + security.sudo = { + enable = true; + wheelNeedsPassword = false; + }; + security.wrappers.pkexec = pkgs.lib.mkForce { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.sudo}/bin/sudo"; + }; }; enableOCR = true; - testScript = { nodes, ... }: '' - start_all() - machine.wait_for_x() + testScript = + { nodes, ... }: + '' + start_all() + machine.wait_for_x() - machine.succeed("systemctl status input-remapper.service") - machine.execute("su - sybil -c input-remapper-gtk >&2 &") + machine.succeed("systemctl status input-remapper.service") + machine.execute("su - sybil -c input-remapper-gtk >&2 &") - machine.wait_for_text("Input Remapper") - machine.wait_for_text("Device") - machine.wait_for_text("Presets") - machine.wait_for_text("Editor") - ''; - }) + machine.wait_for_text("Input Remapper") + machine.wait_for_text("Device") + machine.wait_for_text("Presets") + machine.wait_for_text("Editor") + ''; + } +) diff --git a/nixos/tests/inspircd.nix b/nixos/tests/inspircd.nix index f4d82054011cb..b3dc09dd75216 100644 --- a/nixos/tests/inspircd.nix +++ b/nixos/tests/inspircd.nix @@ -9,85 +9,96 @@ let iiDir = "/tmp/irc"; in -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "inspircd"; - nodes = { - "${server}" = { - networking.firewall.allowedTCPPorts = [ ircPort ]; - services.inspircd = { - enable = true; - package = pkgs.inspircdMinimal; - config = '' - - - ''; - }; - }; - } // lib.listToAttrs (builtins.map (client: lib.nameValuePair client { - imports = [ - ./common/user-account.nix - ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "inspircd"; + nodes = + { + "${server}" = { + networking.firewall.allowedTCPPorts = [ ircPort ]; + services.inspircd = { + enable = true; + package = pkgs.inspircdMinimal; + config = '' + + + ''; + }; + }; + } + // lib.listToAttrs ( + builtins.map ( + client: + lib.nameValuePair client { + imports = [ + ./common/user-account.nix + ]; - systemd.services.ii = { - requires = [ "network.target" ]; - wantedBy = [ "default.target" ]; + systemd.services.ii = { + requires = [ "network.target" ]; + wantedBy = [ "default.target" ]; - serviceConfig = { - Type = "simple"; - ExecPreStartPre = "mkdir -p ${iiDir}"; - ExecStart = '' - ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} - ''; - User = "alice"; - }; - }; - }) clients); + serviceConfig = { + Type = "simple"; + ExecPreStartPre = "mkdir -p ${iiDir}"; + ExecStart = '' + ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} + ''; + User = "alice"; + }; + }; + } + ) clients + ); - testScript = - let - msg = client: "Hello, my name is ${client}"; - clientScript = client: [ - '' - ${client}.wait_for_unit("network.target") - ${client}.systemctl("start ii") - ${client}.wait_for_unit("ii") - ${client}.wait_for_file("${iiDir}/${server}/out") - '' - # wait until first PING from server arrives before joining, - # so we don't try it too early - '' - ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") - '' - # join ${channel} - '' - ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") - ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") - '' - # send a greeting - '' - ${client}.succeed( - "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" - ) - '' - # check that all greetings arrived on all clients - ] ++ builtins.map (other: '' - ${client}.succeed( - "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" - ) - '') clients; + testScript = + let + msg = client: "Hello, my name is ${client}"; + clientScript = + client: + [ + '' + ${client}.wait_for_unit("network.target") + ${client}.systemctl("start ii") + ${client}.wait_for_unit("ii") + ${client}.wait_for_file("${iiDir}/${server}/out") + '' + # wait until first PING from server arrives before joining, + # so we don't try it too early + '' + ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") + '' + # join ${channel} + '' + ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") + ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") + '' + # send a greeting + '' + ${client}.succeed( + "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" + ) + '' + # check that all greetings arrived on all clients + ] + ++ builtins.map (other: '' + ${client}.succeed( + "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" + ) + '') clients; - # foldl', but requires a non-empty list instead of a start value - reduce = f: list: - builtins.foldl' f (builtins.head list) (builtins.tail list); - in '' - start_all() - ${server}.wait_for_open_port(${toString ircPort}) + # foldl', but requires a non-empty list instead of a start value + reduce = f: list: builtins.foldl' f (builtins.head list) (builtins.tail list); + in + '' + start_all() + ${server}.wait_for_open_port(${toString ircPort}) - # run clientScript for all clients so that every list - # entry is executed by every client before advancing - # to the next one. - '' + lib.concatStrings - (reduce - (lib.zipListsWith (cs: c: cs + c)) - (builtins.map clientScript clients)); -}) + # run clientScript for all clients so that every list + # entry is executed by every client before advancing + # to the next one. + '' + + lib.concatStrings (reduce (lib.zipListsWith (cs: c: cs + c)) (builtins.map clientScript clients)); + } +) diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix index b1ddfe3dcbd80..f2cb02e66929f 100644 --- a/nixos/tests/installed-tests/default.nix +++ b/nixos/tests/installed-tests/default.nix @@ -1,9 +1,10 @@ # NixOS tests for gnome-desktop-testing-runner using software # See https://github.com/NixOS/nixpkgs/issues/34987 -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: with import ../../lib/testing-python.nix { inherit system pkgs; }; @@ -14,99 +15,104 @@ let callInstalledTest = pkgs.newScope { inherit makeInstalledTest; }; makeInstalledTest = - { # Package to test. Needs to have an installedTests output - tested + { + # Package to test. Needs to have an installedTests output + tested, # Config to inject into machine - , testConfig ? {} + testConfig ? { }, # Test script snippet to inject before gnome-desktop-testing-runner begins. # This is useful for extra setup the environment may need before the runner begins. - , preTestScript ? "" + preTestScript ? "", # Does test need X11? - , withX11 ? false + withX11 ? false, # Extra flags to pass to gnome-desktop-testing-runner. - , testRunnerFlags ? [] + testRunnerFlags ? [ ], # Extra attributes to pass to makeTest. # They will be recursively merged into the attrset created by this function. - , ... + ... }@args: - makeTest - (recursiveUpdate + makeTest ( + recursiveUpdate rec { name = tested.name; meta = { - maintainers = tested.meta.maintainers or []; + maintainers = tested.meta.maintainers or [ ]; }; - nodes.machine = { ... }: { - imports = [ - testConfig - ] ++ optional withX11 ../common/x11.nix; + nodes.machine = + { ... }: + { + imports = [ + testConfig + ] ++ optional withX11 ../common/x11.nix; - environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; - # The installed tests need to be added to the test VM’s closure. - # Otherwise, their dependencies might not actually be registered - # as valid paths in the VM’s Nix store database, - # and `nix-store --query` commands run as part of the tests - # (for example when building Flatpak runtimes) will fail. - environment.variables.TESTED_PACKAGE_INSTALLED_TESTS = "${tested.installedTests}/share"; - }; + # The installed tests need to be added to the test VM’s closure. + # Otherwise, their dependencies might not actually be registered + # as valid paths in the VM’s Nix store database, + # and `nix-store --query` commands run as part of the tests + # (for example when building Flatpak runtimes) will fail. + environment.variables.TESTED_PACKAGE_INSTALLED_TESTS = "${tested.installedTests}/share"; + }; testScript = optionalString withX11 '' machine.wait_for_x() - '' + - optionalString (preTestScript != "") '' + '' + + optionalString (preTestScript != "") '' ${preTestScript} - '' + '' + + '' machine.succeed( "gnome-desktop-testing-runner ${escapeShellArgs testRunnerFlags} -d '${tested.installedTests}/share'" ) ''; } - (removeAttrs args [ - "tested" - "testConfig" - "preTestScript" - "withX11" - "testRunnerFlags" - ]) - ); + ( + removeAttrs args [ + "tested" + "testConfig" + "preTestScript" + "withX11" + "testRunnerFlags" + ] + ) + ); in { - appstream = callInstalledTest ./appstream.nix {}; - appstream-qt = callInstalledTest ./appstream-qt.nix {}; - colord = callInstalledTest ./colord.nix {}; - flatpak = callInstalledTest ./flatpak.nix {}; - flatpak-builder = callInstalledTest ./flatpak-builder.nix {}; - fwupd = callInstalledTest ./fwupd.nix {}; - gcab = callInstalledTest ./gcab.nix {}; - gdk-pixbuf = callInstalledTest ./gdk-pixbuf.nix {}; - geocode-glib = callInstalledTest ./geocode-glib.nix {}; - gjs = callInstalledTest ./gjs.nix {}; - glib-networking = callInstalledTest ./glib-networking.nix {}; - gnome-photos = callInstalledTest ./gnome-photos.nix {}; - graphene = callInstalledTest ./graphene.nix {}; - gsconnect = callInstalledTest ./gsconnect.nix {}; - json-glib = callInstalledTest ./json-glib.nix {}; - ibus = callInstalledTest ./ibus.nix {}; - libgdata = callInstalledTest ./libgdata.nix {}; - glib-testing = callInstalledTest ./glib-testing.nix {}; - libjcat = callInstalledTest ./libjcat.nix {}; - libxmlb = callInstalledTest ./libxmlb.nix {}; - malcontent = callInstalledTest ./malcontent.nix {}; - ostree = callInstalledTest ./ostree.nix {}; - pipewire = callInstalledTest ./pipewire.nix {}; - upower = callInstalledTest ./upower.nix {}; - xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {}; + appstream = callInstalledTest ./appstream.nix { }; + appstream-qt = callInstalledTest ./appstream-qt.nix { }; + colord = callInstalledTest ./colord.nix { }; + flatpak = callInstalledTest ./flatpak.nix { }; + flatpak-builder = callInstalledTest ./flatpak-builder.nix { }; + fwupd = callInstalledTest ./fwupd.nix { }; + gcab = callInstalledTest ./gcab.nix { }; + gdk-pixbuf = callInstalledTest ./gdk-pixbuf.nix { }; + geocode-glib = callInstalledTest ./geocode-glib.nix { }; + gjs = callInstalledTest ./gjs.nix { }; + glib-networking = callInstalledTest ./glib-networking.nix { }; + gnome-photos = callInstalledTest ./gnome-photos.nix { }; + graphene = callInstalledTest ./graphene.nix { }; + gsconnect = callInstalledTest ./gsconnect.nix { }; + json-glib = callInstalledTest ./json-glib.nix { }; + ibus = callInstalledTest ./ibus.nix { }; + libgdata = callInstalledTest ./libgdata.nix { }; + glib-testing = callInstalledTest ./glib-testing.nix { }; + libjcat = callInstalledTest ./libjcat.nix { }; + libxmlb = callInstalledTest ./libxmlb.nix { }; + malcontent = callInstalledTest ./malcontent.nix { }; + ostree = callInstalledTest ./ostree.nix { }; + pipewire = callInstalledTest ./pipewire.nix { }; + upower = callInstalledTest ./upower.nix { }; + xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix { }; } diff --git a/nixos/tests/installed-tests/flatpak-builder.nix b/nixos/tests/installed-tests/flatpak-builder.nix index fd3df6bdea8f5..322a4b841378d 100644 --- a/nixos/tests/installed-tests/flatpak-builder.nix +++ b/nixos/tests/installed-tests/flatpak-builder.nix @@ -10,9 +10,14 @@ makeInstalledTest { extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; config.common.default = "gtk"; }; - environment.systemPackages = with pkgs; [ flatpak-builder ] ++ flatpak-builder.installedTestsDependencies; + environment.systemPackages = + with pkgs; + [ flatpak-builder ] ++ flatpak-builder.installedTestsDependencies; virtualisation.diskSize = 2048; }; - testRunnerFlags = [ "--timeout" "3600" ]; + testRunnerFlags = [ + "--timeout" + "3600" + ]; } diff --git a/nixos/tests/installed-tests/flatpak.nix b/nixos/tests/installed-tests/flatpak.nix index fa191202f52d4..370fa2f123fa1 100644 --- a/nixos/tests/installed-tests/flatpak.nix +++ b/nixos/tests/installed-tests/flatpak.nix @@ -9,10 +9,17 @@ makeInstalledTest { xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; xdg.portal.config.common.default = "gtk"; services.flatpak.enable = true; - environment.systemPackages = with pkgs; [ gnupg ostree python3 ]; + environment.systemPackages = with pkgs; [ + gnupg + ostree + python3 + ]; virtualisation.memorySize = 2047; virtualisation.diskSize = 3072; }; - testRunnerFlags = [ "--timeout" "3600" ]; + testRunnerFlags = [ + "--timeout" + "3600" + ]; } diff --git a/nixos/tests/installed-tests/gdk-pixbuf.nix b/nixos/tests/installed-tests/gdk-pixbuf.nix index a86c20b0fbeb0..ecc29f8e6f151 100644 --- a/nixos/tests/installed-tests/gdk-pixbuf.nix +++ b/nixos/tests/installed-tests/gdk-pixbuf.nix @@ -9,5 +9,8 @@ makeInstalledTest { virtualisation.memorySize = if pkgs.stdenv.hostPlatform.isi686 then 2047 else 4096; }; - testRunnerFlags = [ "--timeout" "1800" ]; + testRunnerFlags = [ + "--timeout" + "1800" + ]; } diff --git a/nixos/tests/installed-tests/gnome-photos.nix b/nixos/tests/installed-tests/gnome-photos.nix index 010ad97024026..ded6edcaf45eb 100644 --- a/nixos/tests/installed-tests/gnome-photos.nix +++ b/nixos/tests/installed-tests/gnome-photos.nix @@ -13,7 +13,10 @@ makeInstalledTest { (stdenv.mkDerivation { name = "desktop-gsettings"; dontUnpack = true; - nativeBuildInputs = [ glib wrapGAppsHook3 ]; + nativeBuildInputs = [ + glib + wrapGAppsHook3 + ]; buildInputs = [ gsettings-desktop-schemas ]; installPhase = '' runHook preInstall diff --git a/nixos/tests/installer-systemd-stage-1.nix b/nixos/tests/installer-systemd-stage-1.nix index 3b5e0ed8e7bba..d007b3caf397f 100644 --- a/nixos/tests/installer-systemd-stage-1.nix +++ b/nixos/tests/installer-systemd-stage-1.nix @@ -1,12 +1,17 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: { # Some of these tests don't work with systemd stage 1 yet. Uncomment # them when fixed. - inherit (import ./installer.nix { inherit system config pkgs; systemdStage1 = true; }) + inherit + (import ./installer.nix { + inherit system config pkgs; + systemdStage1 = true; + }) # bcache bcachefsSimple bcachefsEncrypted diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index d4caf3ceaf1fb..ab2b5a61f12df 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem, - config ? {}, +{ + system ? builtins.currentSystem, + config ? { }, pkgs ? import ../.. { inherit system config; }, - systemdStage1 ? false + systemdStage1 ? false, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -10,18 +11,28 @@ with pkgs.lib; let # The configuration to install. - makeConfig = { bootLoader, grubDevice, grubIdentifier, grubUseEfi - , extraConfig, forceGrubReinstallCount ? 0, withTestInstrumentation ? true - , clevisTest - }: + makeConfig = + { + bootLoader, + grubDevice, + grubIdentifier, + grubUseEfi, + extraConfig, + forceGrubReinstallCount ? 0, + withTestInstrumentation ? true, + clevisTest, + }: pkgs.writeText "configuration.nix" '' { config, lib, pkgs, modulesPath, ... }: { imports = [ ./hardware-configuration.nix - ${if !withTestInstrumentation - then "" # Still included, but via installer/flake.nix - else ""} + ${ + if !withTestInstrumentation then + "" # Still included, but via installer/flake.nix + else + "" + } ]; networking.hostName = "thatworked"; @@ -35,14 +46,19 @@ let ${optionalString (bootLoader == "grub") '' boot.loader.grub.extraConfig = "serial; terminal_output serial"; - ${if grubUseEfi then '' - boot.loader.grub.device = "nodev"; - boot.loader.grub.efiSupport = true; - boot.loader.grub.efiInstallAsRemovable = true; # XXX: needed for OVMF? - '' else '' - boot.loader.grub.device = "${grubDevice}"; - boot.loader.grub.fsIdentifier = "${grubIdentifier}"; - ''} + ${ + if grubUseEfi then + '' + boot.loader.grub.device = "nodev"; + boot.loader.grub.efiSupport = true; + boot.loader.grub.efiInstallAsRemovable = true; # XXX: needed for OVMF? + '' + else + '' + boot.loader.grub.device = "${grubDevice}"; + boot.loader.grub.fsIdentifier = "${grubIdentifier}"; + '' + } boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount}; ''} @@ -60,7 +76,7 @@ let clevis = { enable = true; useTang = true; }; network.enable = true; }; - ''} + ''} users.users.alice = { isNormalUser = true; @@ -70,20 +86,31 @@ let hardware.enableAllFirmware = lib.mkForce false; - ${replaceStrings ["\n"] ["\n "] extraConfig} + ${replaceStrings [ "\n" ] [ "\n " ] extraConfig} } ''; - # The test script boots a NixOS VM, installs NixOS on an empty hard # disk, and then reboot from the hard disk. It's parameterized with # a test script fragment `createPartitions', which must create # partitions and filesystems. - testScriptFun = { bootLoader, createPartitions, grubDevice, grubUseEfi, grubIdentifier - , postInstallCommands, postBootCommands, extraConfig - , testSpecialisationConfig, testFlakeSwitch, testByAttrSwitch, clevisTest, clevisFallbackTest - , disableFileSystems - }: + testScriptFun = + { + bootLoader, + createPartitions, + grubDevice, + grubUseEfi, + grubIdentifier, + postInstallCommands, + postBootCommands, + extraConfig, + testSpecialisationConfig, + testFlakeSwitch, + testByAttrSwitch, + clevisTest, + clevisFallbackTest, + disableFileSystems, + }: let startTarget = '' ${optionalString clevisTest "tpm.start()"} @@ -91,53 +118,54 @@ let ${postBootCommands} target.wait_for_unit("multi-user.target") ''; - in '' + in + '' ${optionalString clevisTest '' - import os - import subprocess - - tpm_folder = os.environ['NIX_BUILD_TOP'] - - class Tpm: - def __init__(self): - self.start() - - def start(self): - self.proc = subprocess.Popen(["${pkgs.swtpm}/bin/swtpm", - "socket", - "--tpmstate", f"dir={tpm_folder}/swtpm", - "--ctrl", f"type=unixio,path={tpm_folder}/swtpm-sock", - "--tpm2" - ]) - - # Check whether starting swtpm failed - try: - exit_code = self.proc.wait(timeout=0.2) - if exit_code is not None and exit_code != 0: - raise Exception("failed to start swtpm") - except subprocess.TimeoutExpired: - pass - - """Check whether the swtpm process exited due to an error""" - def check(self): - exit_code = self.proc.poll() - if exit_code is not None and exit_code != 0: - raise Exception("swtpm process died") - - - os.mkdir(f"{tpm_folder}/swtpm") - tpm = Tpm() - tpm.check() + import os + import subprocess + + tpm_folder = os.environ['NIX_BUILD_TOP'] + + class Tpm: + def __init__(self): + self.start() + + def start(self): + self.proc = subprocess.Popen(["${pkgs.swtpm}/bin/swtpm", + "socket", + "--tpmstate", f"dir={tpm_folder}/swtpm", + "--ctrl", f"type=unixio,path={tpm_folder}/swtpm-sock", + "--tpm2" + ]) + + # Check whether starting swtpm failed + try: + exit_code = self.proc.wait(timeout=0.2) + if exit_code is not None and exit_code != 0: + raise Exception("failed to start swtpm") + except subprocess.TimeoutExpired: + pass + + """Check whether the swtpm process exited due to an error""" + def check(self): + exit_code = self.proc.poll() + if exit_code is not None and exit_code != 0: + raise Exception("swtpm process died") + + + os.mkdir(f"{tpm_folder}/swtpm") + tpm = Tpm() + tpm.check() ''} installer.start() ${optionalString clevisTest '' - tang.start() - tang.wait_for_unit("sockets.target") - tang.systemctl("start network-online.target") - tang.wait_for_unit("network-online.target") - installer.systemctl("start network-online.target") - installer.wait_for_unit("network-online.target") + tang.start() + tang.wait_for_unit("sockets.target") + tang.systemctl("start network-online.target") + tang.wait_for_unit("network-online.target") + installer.systemctl("start network-online.target") + installer.wait_for_unit("network-online.target") ''} installer.wait_for_unit("multi-user.target") @@ -153,10 +181,17 @@ let installer.succeed("nixos-generate-config ${optionalString disableFileSystems "--no-filesystems"} --root /mnt") installer.succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2") installer.copy_from_host( - "${ makeConfig { - inherit bootLoader grubDevice grubIdentifier - grubUseEfi extraConfig clevisTest; - } + "${ + makeConfig { + inherit + bootLoader + grubDevice + grubIdentifier + grubUseEfi + extraConfig + clevisTest + ; + } }", "/mnt/etc/nixos/configuration.nix", ) @@ -207,9 +242,11 @@ let with subtest("Assert that /boot get mounted"): target.wait_for_unit("local-fs.target") - ${if bootLoader == "grub" - then ''target.succeed("test -e /boot/grub")'' - else ''target.succeed("test -e /boot/loader/loader.conf")'' + ${ + if bootLoader == "grub" then + ''target.succeed("test -e /boot/grub")'' + else + ''target.succeed("test -e /boot/loader/loader.conf")'' } with subtest("Check whether /root has correct permissions"): @@ -237,11 +274,18 @@ let # we're not using copy_from_host here because the installer image # doesn't know about the host-guest sharing mechanism. target.copy_from_host_via_shell( - "${ makeConfig { - inherit bootLoader grubDevice grubIdentifier - grubUseEfi extraConfig clevisTest; - forceGrubReinstallCount = 1; - } + "${ + makeConfig { + inherit + bootLoader + grubDevice + grubIdentifier + grubUseEfi + extraConfig + clevisTest + ; + forceGrubReinstallCount = 1; + } }", "/etc/nixos/configuration.nix", ) @@ -263,11 +307,18 @@ let # we're not using copy_from_host here because the installer image # doesn't know about the host-guest sharing mechanism. target.copy_from_host_via_shell( - "${ makeConfig { - inherit bootLoader grubDevice grubIdentifier - grubUseEfi extraConfig clevisTest; - forceGrubReinstallCount = 2; - } + "${ + makeConfig { + inherit + bootLoader + grubDevice + grubIdentifier + grubUseEfi + extraConfig + clevisTest + ; + forceGrubReinstallCount = 2; + } }", "/etc/nixos/configuration.nix", ) @@ -324,11 +375,20 @@ let rm /etc/nixos/configuration.nix """) target.copy_from_host_via_shell( - "${makeConfig { - inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest; - forceGrubReinstallCount = 1; - withTestInstrumentation = false; - }}", + "${ + makeConfig { + inherit + bootLoader + grubDevice + grubIdentifier + grubUseEfi + extraConfig + clevisTest + ; + forceGrubReinstallCount = 1; + withTestInstrumentation = false; + } + }", "/root/my-config/configuration.nix", ) target.copy_from_host_via_shell( @@ -413,10 +473,19 @@ let mv -v /root/my-config/hardware-configuration.nix /etc/nixos/ """) target.copy_from_host_via_shell( - "${makeConfig { - inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest; - forceGrubReinstallCount = 1; - }}", + "${ + makeConfig { + inherit + bootLoader + grubDevice + grubIdentifier + grubUseEfi + extraConfig + clevisTest + ; + forceGrubReinstallCount = 1; + } + }", "/etc/nixos/configuration.nix", ) @@ -440,11 +509,20 @@ let rm /etc/nixos/configuration.nix """) target.copy_from_host_via_shell( - "${makeConfig { - inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest; - forceGrubReinstallCount = 1; - withTestInstrumentation = false; - }}", + "${ + makeConfig { + inherit + bootLoader + grubDevice + grubIdentifier + grubUseEfi + extraConfig + clevisTest + ; + forceGrubReinstallCount = 1; + withTestInstrumentation = false; + } + }", "/root/my-config/configuration.nix", ) target.copy_from_host_via_shell( @@ -540,166 +618,201 @@ let target.shutdown() ''; - - makeInstallerTest = name: - { createPartitions - , postInstallCommands ? "", postBootCommands ? "" - , extraConfig ? "" - , extraInstallerConfig ? {} - , bootLoader ? "grub" # either "grub" or "systemd-boot" - , grubDevice ? "/dev/vda", grubIdentifier ? "uuid", grubUseEfi ? false - , enableOCR ? false, meta ? {} - , testSpecialisationConfig ? false - , testFlakeSwitch ? false - , testByAttrSwitch ? false - , clevisTest ? false - , clevisFallbackTest ? false - , disableFileSystems ? false + makeInstallerTest = + name: + { + createPartitions, + postInstallCommands ? "", + postBootCommands ? "", + extraConfig ? "", + extraInstallerConfig ? { }, + bootLoader ? "grub", # either "grub" or "systemd-boot" + grubDevice ? "/dev/vda", + grubIdentifier ? "uuid", + grubUseEfi ? false, + enableOCR ? false, + meta ? { }, + testSpecialisationConfig ? false, + testFlakeSwitch ? false, + testByAttrSwitch ? false, + clevisTest ? false, + clevisFallbackTest ? false, + disableFileSystems ? false, }: let isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi); - in makeTest { + in + makeTest { inherit enableOCR; name = "installer-" + name; meta = { # put global maintainers here, individuals go into makeInstallerTest fkt call - maintainers = (meta.maintainers or []); + maintainers = (meta.maintainers or [ ]); # non-EFI tests can only run on x86 - platforms = if isEfi then platforms.linux else [ "x86_64-linux" "i686-linux" ]; + platforms = + if isEfi then + platforms.linux + else + [ + "x86_64-linux" + "i686-linux" + ]; }; - nodes = let - commonConfig = { - # builds stuff in the VM, needs more juice - virtualisation.diskSize = 8 * 1024; - virtualisation.cores = 8; - virtualisation.memorySize = 2048; - - # both installer and target need to use the same drive - virtualisation.diskImage = "./target.qcow2"; - - # and the same TPM options - virtualisation.qemu.options = mkIf (clevisTest) [ - "-chardev socket,id=chrtpm,path=$NIX_BUILD_TOP/swtpm-sock" - "-tpmdev emulator,id=tpm0,chardev=chrtpm" - "-device tpm-tis,tpmdev=tpm0" - ]; - }; - in { - # The configuration of the system used to run "nixos-install". - installer = { - imports = [ - commonConfig - ../modules/profiles/installation-device.nix - ../modules/profiles/base.nix - extraInstallerConfig - ./common/auto-format-root-device.nix - ]; - - # In systemdStage1, also automatically format the device backing the - # root filesystem. - virtualisation.fileSystems."/".autoFormat = systemdStage1; - - boot.initrd.systemd.enable = systemdStage1; - - # Use a small /dev/vdb as the root disk for the - # installer. This ensures the target disk (/dev/vda) is - # the same during and after installation. - virtualisation.emptyDiskImages = [ 512 ]; - virtualisation.rootDevice = "/dev/vdb"; - - hardware.enableAllFirmware = mkForce false; - - # The test cannot access the network, so any packages we - # need must be included in the VM. - system.extraDependencies = with pkgs; [ - bintools - brotli - brotli.dev - brotli.lib - desktop-file-utils - docbook5 - docbook_xsl_ns - kbd.dev - kmod.dev - libarchive.dev - libxml2.bin - libxslt.bin - nixos-artwork.wallpapers.simple-dark-gray-bottom - ntp - perlPackages.ConfigIniFiles - perlPackages.FileSlurp - perlPackages.JSON - perlPackages.ListCompare - perlPackages.XMLLibXML - # make-options-doc/default.nix - (python3.withPackages (p: [ p.mistune ])) - shared-mime-info - sudo - switch-to-configuration-ng - texinfo - unionfs-fuse - xorg.lndir - - # add curl so that rather than seeing the test attempt to download - # curl's tarball, we see what it's trying to download - curl - ] - ++ optionals (bootLoader == "grub") (let - zfsSupport = extraInstallerConfig.boot.supportedFilesystems.zfs or false; - in [ - (pkgs.grub2.override { inherit zfsSupport; }) - (pkgs.grub2_efi.override { inherit zfsSupport; }) - pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader - pkgs.perlPackages.FileCopyRecursive - pkgs.perlPackages.XMLSAX - pkgs.perlPackages.XMLSAXBase - ]) - ++ optionals (bootLoader == "systemd-boot") [ - pkgs.zstd.bin - pkgs.mypy - pkgs.bootspec - ] - ++ optionals clevisTest [ pkgs.klibc ]; - - nix.settings = { - substituters = mkForce []; - hashed-mirrors = null; - connect-timeout = 1; + nodes = + let + commonConfig = { + # builds stuff in the VM, needs more juice + virtualisation.diskSize = 8 * 1024; + virtualisation.cores = 8; + virtualisation.memorySize = 2048; + + # both installer and target need to use the same drive + virtualisation.diskImage = "./target.qcow2"; + + # and the same TPM options + virtualisation.qemu.options = mkIf (clevisTest) [ + "-chardev socket,id=chrtpm,path=$NIX_BUILD_TOP/swtpm-sock" + "-tpmdev emulator,id=tpm0,chardev=chrtpm" + "-device tpm-tis,tpmdev=tpm0" + ]; + }; + in + { + # The configuration of the system used to run "nixos-install". + installer = { + imports = [ + commonConfig + ../modules/profiles/installation-device.nix + ../modules/profiles/base.nix + extraInstallerConfig + ./common/auto-format-root-device.nix + ]; + + # In systemdStage1, also automatically format the device backing the + # root filesystem. + virtualisation.fileSystems."/".autoFormat = systemdStage1; + + boot.initrd.systemd.enable = systemdStage1; + + # Use a small /dev/vdb as the root disk for the + # installer. This ensures the target disk (/dev/vda) is + # the same during and after installation. + virtualisation.emptyDiskImages = [ 512 ]; + virtualisation.rootDevice = "/dev/vdb"; + + hardware.enableAllFirmware = mkForce false; + + # The test cannot access the network, so any packages we + # need must be included in the VM. + system.extraDependencies = + with pkgs; + [ + bintools + brotli + brotli.dev + brotli.lib + desktop-file-utils + docbook5 + docbook_xsl_ns + kbd.dev + kmod.dev + libarchive.dev + libxml2.bin + libxslt.bin + nixos-artwork.wallpapers.simple-dark-gray-bottom + ntp + perlPackages.ConfigIniFiles + perlPackages.FileSlurp + perlPackages.JSON + perlPackages.ListCompare + perlPackages.XMLLibXML + # make-options-doc/default.nix + (python3.withPackages (p: [ p.mistune ])) + shared-mime-info + sudo + switch-to-configuration-ng + texinfo + unionfs-fuse + xorg.lndir + + # add curl so that rather than seeing the test attempt to download + # curl's tarball, we see what it's trying to download + curl + ] + ++ optionals (bootLoader == "grub") ( + let + zfsSupport = extraInstallerConfig.boot.supportedFilesystems.zfs or false; + in + [ + (pkgs.grub2.override { inherit zfsSupport; }) + (pkgs.grub2_efi.override { inherit zfsSupport; }) + pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader + pkgs.perlPackages.FileCopyRecursive + pkgs.perlPackages.XMLSAX + pkgs.perlPackages.XMLSAXBase + ] + ) + ++ optionals (bootLoader == "systemd-boot") [ + pkgs.zstd.bin + pkgs.mypy + pkgs.bootspec + ] + ++ optionals clevisTest [ pkgs.klibc ]; + + nix.settings = { + substituters = mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; + }; }; - }; - - target = { - imports = [ commonConfig ]; - virtualisation.useBootLoader = true; - virtualisation.useEFIBoot = isEfi; - virtualisation.useDefaultFilesystems = false; - virtualisation.efi.keepVariables = false; - virtualisation.fileSystems."/" = { - device = "/dev/disk/by-label/this-is-not-real-and-will-never-be-used"; - fsType = "ext4"; + target = { + imports = [ commonConfig ]; + virtualisation.useBootLoader = true; + virtualisation.useEFIBoot = isEfi; + virtualisation.useDefaultFilesystems = false; + virtualisation.efi.keepVariables = false; + + virtualisation.fileSystems."/" = { + device = "/dev/disk/by-label/this-is-not-real-and-will-never-be-used"; + fsType = "ext4"; + }; }; - }; - } // optionalAttrs clevisTest { - tang = { - services.tang = { - enable = true; - listenStream = [ "80" ]; - ipAddressAllow = [ "192.168.1.0/24" ]; + } + // optionalAttrs clevisTest { + tang = { + services.tang = { + enable = true; + listenStream = [ "80" ]; + ipAddressAllow = [ "192.168.1.0/24" ]; + }; + networking.firewall.allowedTCPPorts = [ 80 ]; }; - networking.firewall.allowedTCPPorts = [ 80 ]; }; - }; testScript = testScriptFun { - inherit bootLoader createPartitions postInstallCommands postBootCommands - grubDevice grubIdentifier grubUseEfi extraConfig - testSpecialisationConfig testFlakeSwitch testByAttrSwitch clevisTest clevisFallbackTest - disableFileSystems; + inherit + bootLoader + createPartitions + postInstallCommands + postBootCommands + grubDevice + grubIdentifier + grubUseEfi + extraConfig + testSpecialisationConfig + testFlakeSwitch + testByAttrSwitch + clevisTest + clevisFallbackTest + disableFileSystems + ; }; }; - makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name { + makeLuksRootTest = + name: luksFormatOpts: + makeInstallerTest name { createPartitions = '' installer.succeed( "flock /dev/vda parted --script /dev/vda -- mklabel msdos" @@ -800,152 +913,189 @@ let }; # disable zfs so we can support latest kernel if needed no-zfs-module = { - nixpkgs.overlays = [(final: super: { - zfs = super.zfs.overrideAttrs(_: {meta.platforms = [];});} - )]; + nixpkgs.overlays = [ + (final: super: { + zfs = super.zfs.overrideAttrs (_: { + meta.platforms = [ ]; + }); + }) + ]; }; - mkClevisBcachefsTest = { fallback ? false }: makeInstallerTest "clevis-bcachefs${optionalString fallback "-fallback"}" { - clevisTest = true; - clevisFallbackTest = fallback; - enableOCR = fallback; - extraInstallerConfig = { - imports = [ no-zfs-module ]; - boot.supportedFilesystems = [ "bcachefs" ]; - environment.systemPackages = with pkgs; [ keyutils clevis ]; - }; - createPartitions = '' - installer.succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - + " mkpart primary ext2 1M 100MB" - + " mkpart primary linux-swap 100M 1024M" - + " mkpart primary 1024M -1s", - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "keyctl link @u @s", - "echo -n password | mkfs.bcachefs -L root --encrypted /dev/vda3", - "echo -n password | bcachefs unlock /dev/vda3", - "echo -n password | mount -t bcachefs /dev/vda3 /mnt", - "mkfs.ext3 -L boot /dev/vda1", - "mkdir -p /mnt/boot", - "mount LABEL=boot /mnt/boot", - "udevadm settle") - ''; - extraConfig = '' - boot.initrd.clevis.devices."/dev/vda3".secretFile = "/etc/nixos/clevis-secret.jwe"; - - # We override what nixos-generate-config has generated because we do - # not know the UUID in advance. - fileSystems."/" = lib.mkForce { device = "/dev/vda3"; fsType = "bcachefs"; }; - ''; - postBootCommands = optionalString fallback '' - target.wait_for_text("enter passphrase for") - target.send_chars("password\n") - ''; - }; + mkClevisBcachefsTest = + { + fallback ? false, + }: + makeInstallerTest "clevis-bcachefs${optionalString fallback "-fallback"}" { + clevisTest = true; + clevisFallbackTest = fallback; + enableOCR = fallback; + extraInstallerConfig = { + imports = [ no-zfs-module ]; + boot.supportedFilesystems = [ "bcachefs" ]; + environment.systemPackages = with pkgs; [ + keyutils + clevis + ]; + }; + createPartitions = '' + installer.succeed( + "flock /dev/vda parted --script /dev/vda -- mklabel msdos" + + " mkpart primary ext2 1M 100MB" + + " mkpart primary linux-swap 100M 1024M" + + " mkpart primary 1024M -1s", + "udevadm settle", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "keyctl link @u @s", + "echo -n password | mkfs.bcachefs -L root --encrypted /dev/vda3", + "echo -n password | bcachefs unlock /dev/vda3", + "echo -n password | mount -t bcachefs /dev/vda3 /mnt", + "mkfs.ext3 -L boot /dev/vda1", + "mkdir -p /mnt/boot", + "mount LABEL=boot /mnt/boot", + "udevadm settle") + ''; + extraConfig = '' + boot.initrd.clevis.devices."/dev/vda3".secretFile = "/etc/nixos/clevis-secret.jwe"; - mkClevisLuksTest = { fallback ? false }: makeInstallerTest "clevis-luks${optionalString fallback "-fallback"}" { - clevisTest = true; - clevisFallbackTest = fallback; - enableOCR = fallback; - extraInstallerConfig = { - environment.systemPackages = with pkgs; [ clevis ]; + # We override what nixos-generate-config has generated because we do + # not know the UUID in advance. + fileSystems."/" = lib.mkForce { device = "/dev/vda3"; fsType = "bcachefs"; }; + ''; + postBootCommands = optionalString fallback '' + target.wait_for_text("enter passphrase for") + target.send_chars("password\n") + ''; }; - createPartitions = '' - installer.succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - + " mkpart primary ext2 1M 100MB" - + " mkpart primary linux-swap 100M 1024M" - + " mkpart primary 1024M -1s", - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "modprobe dm_mod dm_crypt", - "echo -n password | cryptsetup luksFormat -q /dev/vda3 -", - "echo -n password | cryptsetup luksOpen --key-file - /dev/vda3 crypt-root", - "mkfs.ext3 -L nixos /dev/mapper/crypt-root", - "mount LABEL=nixos /mnt", - "mkfs.ext3 -L boot /dev/vda1", - "mkdir -p /mnt/boot", - "mount LABEL=boot /mnt/boot", - "udevadm settle") - ''; - extraConfig = '' - boot.initrd.clevis.devices."crypt-root".secretFile = "/etc/nixos/clevis-secret.jwe"; - ''; - postBootCommands = optionalString fallback '' - ${if systemdStage1 then '' - target.wait_for_text("Please enter") - '' else '' - target.wait_for_text("Passphrase for") - ''} - target.send_chars("password\n") - ''; - }; - mkClevisZfsTest = { fallback ? false, parentDataset ? false }: makeInstallerTest "clevis-zfs${optionalString parentDataset "-parent-dataset"}${optionalString fallback "-fallback"}" { - clevisTest = true; - clevisFallbackTest = fallback; - enableOCR = fallback; - extraInstallerConfig = { - boot.supportedFilesystems = [ "zfs" ]; - environment.systemPackages = with pkgs; [ clevis ]; + mkClevisLuksTest = + { + fallback ? false, + }: + makeInstallerTest "clevis-luks${optionalString fallback "-fallback"}" { + clevisTest = true; + clevisFallbackTest = fallback; + enableOCR = fallback; + extraInstallerConfig = { + environment.systemPackages = with pkgs; [ clevis ]; + }; + createPartitions = '' + installer.succeed( + "flock /dev/vda parted --script /dev/vda -- mklabel msdos" + + " mkpart primary ext2 1M 100MB" + + " mkpart primary linux-swap 100M 1024M" + + " mkpart primary 1024M -1s", + "udevadm settle", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "modprobe dm_mod dm_crypt", + "echo -n password | cryptsetup luksFormat -q /dev/vda3 -", + "echo -n password | cryptsetup luksOpen --key-file - /dev/vda3 crypt-root", + "mkfs.ext3 -L nixos /dev/mapper/crypt-root", + "mount LABEL=nixos /mnt", + "mkfs.ext3 -L boot /dev/vda1", + "mkdir -p /mnt/boot", + "mount LABEL=boot /mnt/boot", + "udevadm settle") + ''; + extraConfig = '' + boot.initrd.clevis.devices."crypt-root".secretFile = "/etc/nixos/clevis-secret.jwe"; + ''; + postBootCommands = optionalString fallback '' + ${ + if systemdStage1 then + '' + target.wait_for_text("Please enter") + '' + else + '' + target.wait_for_text("Passphrase for") + '' + } + target.send_chars("password\n") + ''; }; - createPartitions = '' - installer.succeed( - "flock /dev/vda parted --script /dev/vda -- mklabel msdos" - + " mkpart primary ext2 1M 100MB" - + " mkpart primary linux-swap 100M 1024M" - + " mkpart primary 1024M -1s", - "udevadm settle", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - '' + optionalString (!parentDataset) '' - "zpool create -O mountpoint=legacy rpool /dev/vda3", - "echo -n password | zfs create" - + " -o encryption=aes-256-gcm -o keyformat=passphrase rpool/root", - '' + optionalString (parentDataset) '' - "echo -n password | zpool create -O mountpoint=none -O encryption=on -O keyformat=passphrase rpool /dev/vda3", - "zfs create -o mountpoint=legacy rpool/root", - '' + - '' - "mount -t zfs rpool/root /mnt", - "mkfs.ext3 -L boot /dev/vda1", - "mkdir -p /mnt/boot", - "mount LABEL=boot /mnt/boot", - "udevadm settle") - ''; - extraConfig = optionalString (!parentDataset) '' - boot.initrd.clevis.devices."rpool/root".secretFile = "/etc/nixos/clevis-secret.jwe"; - '' + optionalString (parentDataset) '' - boot.initrd.clevis.devices."rpool".secretFile = "/etc/nixos/clevis-secret.jwe"; - '' + - '' - boot.zfs.requestEncryptionCredentials = true; - - # Using by-uuid overrides the default of by-id, and is unique - # to the qemu disks, as they don't produce by-id paths for - # some reason. - boot.zfs.devNodes = "/dev/disk/by-uuid/"; - networking.hostId = "00000000"; - ''; - postBootCommands = optionalString fallback '' - ${if systemdStage1 then '' - target.wait_for_text("Enter key for rpool/root") - '' else '' - target.wait_for_text("Key load error") - ''} - target.send_chars("password\n") - ''; - }; + mkClevisZfsTest = + { + fallback ? false, + parentDataset ? false, + }: + makeInstallerTest + "clevis-zfs${optionalString parentDataset "-parent-dataset"}${optionalString fallback "-fallback"}" + { + clevisTest = true; + clevisFallbackTest = fallback; + enableOCR = fallback; + extraInstallerConfig = { + boot.supportedFilesystems = [ "zfs" ]; + environment.systemPackages = with pkgs; [ clevis ]; + }; + createPartitions = + '' + installer.succeed( + "flock /dev/vda parted --script /dev/vda -- mklabel msdos" + + " mkpart primary ext2 1M 100MB" + + " mkpart primary linux-swap 100M 1024M" + + " mkpart primary 1024M -1s", + "udevadm settle", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + '' + + optionalString (!parentDataset) '' + "zpool create -O mountpoint=legacy rpool /dev/vda3", + "echo -n password | zfs create" + + " -o encryption=aes-256-gcm -o keyformat=passphrase rpool/root", + '' + + optionalString (parentDataset) '' + "echo -n password | zpool create -O mountpoint=none -O encryption=on -O keyformat=passphrase rpool /dev/vda3", + "zfs create -o mountpoint=legacy rpool/root", + '' + + '' + "mount -t zfs rpool/root /mnt", + "mkfs.ext3 -L boot /dev/vda1", + "mkdir -p /mnt/boot", + "mount LABEL=boot /mnt/boot", + "udevadm settle") + ''; + extraConfig = + optionalString (!parentDataset) '' + boot.initrd.clevis.devices."rpool/root".secretFile = "/etc/nixos/clevis-secret.jwe"; + '' + + optionalString (parentDataset) '' + boot.initrd.clevis.devices."rpool".secretFile = "/etc/nixos/clevis-secret.jwe"; + '' + + '' + boot.zfs.requestEncryptionCredentials = true; + + + # Using by-uuid overrides the default of by-id, and is unique + # to the qemu disks, as they don't produce by-id paths for + # some reason. + boot.zfs.devNodes = "/dev/disk/by-uuid/"; + networking.hostId = "00000000"; + ''; + postBootCommands = optionalString fallback '' + ${ + if systemdStage1 then + '' + target.wait_for_text("Enter key for rpool/root") + '' + else + '' + target.wait_for_text("Key load error") + '' + } + target.send_chars("password\n") + ''; + }; -in { +in +{ # !!! `parted mkpart' seems to silently create overlapping partitions. - # The (almost) simplest partitioning scheme: a swap partition and # one big filesystem partition. simple = makeInstallerTest "simple" simple-test-config; @@ -957,7 +1107,9 @@ in { switchFromByAttrToFlake = makeInstallerTest "switch-from-by-attr-to-flake" simple-test-config-from-by-attr-to-flake; # Test cloned configurations with the simple grub configuration - simpleSpecialised = makeInstallerTest "simpleSpecialised" (simple-test-config // specialisation-test-extraconfig); + simpleSpecialised = makeInstallerTest "simpleSpecialised" ( + simple-test-config // specialisation-test-extraconfig + ); # Simple GPT/UEFI configuration using systemd-boot with 3 partitions: ESP, swap & root filesystem simpleUefiSystemdBoot = makeInstallerTest "simpleUefiSystemdBoot" { @@ -984,7 +1136,9 @@ in { simpleUefiGrub = makeInstallerTest "simpleUefiGrub" simple-uefi-grub-config; # Test cloned configurations with the uefi grub configuration - simpleUefiGrubSpecialisation = makeInstallerTest "simpleUefiGrubSpecialisation" (simple-uefi-grub-config // specialisation-test-extraconfig); + simpleUefiGrubSpecialisation = makeInstallerTest "simpleUefiGrubSpecialisation" ( + simple-uefi-grub-config // specialisation-test-extraconfig + ); # Same as the previous, but now with a separate /boot partition. separateBoot = makeInstallerTest "separateBoot" { @@ -1536,7 +1690,8 @@ in { ) ''; }; -} // { +} +// { clevisBcachefs = mkClevisBcachefsTest { }; clevisBcachefsFallback = mkClevisBcachefsTest { fallback = true; }; clevisLuks = mkClevisLuksTest { }; @@ -1544,8 +1699,12 @@ in { clevisZfs = mkClevisZfsTest { }; clevisZfsFallback = mkClevisZfsTest { fallback = true; }; clevisZfsParentDataset = mkClevisZfsTest { parentDataset = true; }; - clevisZfsParentDatasetFallback = mkClevisZfsTest { parentDataset = true; fallback = true; }; -} // optionalAttrs systemdStage1 { + clevisZfsParentDatasetFallback = mkClevisZfsTest { + parentDataset = true; + fallback = true; + }; +} +// optionalAttrs systemdStage1 { stratisRoot = makeInstallerTest "stratisRoot" { createPartitions = '' installer.succeed( @@ -1568,51 +1727,57 @@ in { ) ''; bootLoader = "systemd-boot"; - extraInstallerConfig = { modulesPath, ...}: { - config = { - services.stratis.enable = true; - environment.systemPackages = [ - pkgs.stratis-cli - pkgs.thin-provisioning-tools - pkgs.lvm2.bin - pkgs.stratisd.initrd - ]; + extraInstallerConfig = + { modulesPath, ... }: + { + config = { + services.stratis.enable = true; + environment.systemPackages = [ + pkgs.stratis-cli + pkgs.thin-provisioning-tools + pkgs.lvm2.bin + pkgs.stratisd.initrd + ]; + }; }; - }; }; - gptAutoRoot = let - rootPartType = { - ia32 = "44479540-F297-41B2-9AF7-D131D5F0458A"; - x64 = "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709"; - arm = "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3"; - aa64 = "B921B045-1DF0-41C3-AF44-4C6F280D3FAE"; - }.${pkgs.stdenv.hostPlatform.efiArch}; - in makeInstallerTest "gptAutoRoot" { - disableFileSystems = true; - createPartitions = '' - installer.succeed( - "sgdisk --zap-all /dev/vda", - "sgdisk --new=1:0:+100M --typecode=0:ef00 /dev/vda", # /boot - "sgdisk --new=2:0:+1G --typecode=0:8200 /dev/vda", # swap - "sgdisk --new=3:0:+5G --typecode=0:${rootPartType} /dev/vda", # / - "udevadm settle", + gptAutoRoot = + let + rootPartType = + { + ia32 = "44479540-F297-41B2-9AF7-D131D5F0458A"; + x64 = "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709"; + arm = "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3"; + aa64 = "B921B045-1DF0-41C3-AF44-4C6F280D3FAE"; + } + .${pkgs.stdenv.hostPlatform.efiArch}; + in + makeInstallerTest "gptAutoRoot" { + disableFileSystems = true; + createPartitions = '' + installer.succeed( + "sgdisk --zap-all /dev/vda", + "sgdisk --new=1:0:+100M --typecode=0:ef00 /dev/vda", # /boot + "sgdisk --new=2:0:+1G --typecode=0:8200 /dev/vda", # swap + "sgdisk --new=3:0:+5G --typecode=0:${rootPartType} /dev/vda", # / + "udevadm settle", - "mkfs.vfat /dev/vda1", - "mkswap /dev/vda2 -L swap", - "swapon -L swap", - "mkfs.ext4 -L root /dev/vda3", - "udevadm settle", + "mkfs.vfat /dev/vda1", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.ext4 -L root /dev/vda3", + "udevadm settle", - "mount /dev/vda3 /mnt", - "mkdir -p /mnt/boot", - "mount /dev/vda1 /mnt/boot" - ) - ''; - bootLoader = "systemd-boot"; - extraConfig = '' - boot.initrd.systemd.root = "gpt-auto"; - boot.initrd.supportedFilesystems = ["ext4"]; - ''; - }; + "mount /dev/vda3 /mnt", + "mkdir -p /mnt/boot", + "mount /dev/vda1 /mnt/boot" + ) + ''; + bootLoader = "systemd-boot"; + extraConfig = '' + boot.initrd.systemd.root = "gpt-auto"; + boot.initrd.supportedFilesystems = ["ext4"]; + ''; + }; } diff --git a/nixos/tests/installer/byAttrNoChannel.nix b/nixos/tests/installer/byAttrNoChannel.nix index 03293cd4a0e35..4d6c70a69aa67 100644 --- a/nixos/tests/installer/byAttrNoChannel.nix +++ b/nixos/tests/installer/byAttrNoChannel.nix @@ -4,12 +4,14 @@ let nixpkgs = "@nixpkgs@"; in -{ evalConfig ? import "${nixpkgs}/nixos/lib/eval-config.nix" }: +{ + evalConfig ? import "${nixpkgs}/nixos/lib/eval-config.nix", +}: evalConfig { modules = [ ./configuration.nix - ( import "${nixpkgs}/nixos/modules/testing/test-instrumentation.nix" ) + (import "${nixpkgs}/nixos/modules/testing/test-instrumentation.nix") { # Disable nix channels nix.channel.enable = false; diff --git a/nixos/tests/installer/byAttrWithChannel.nix b/nixos/tests/installer/byAttrWithChannel.nix index 951231dcba3e7..cc13a12d3c9f7 100644 --- a/nixos/tests/installer/byAttrWithChannel.nix +++ b/nixos/tests/installer/byAttrWithChannel.nix @@ -1,10 +1,12 @@ # This file gets copied into the installation -{ evalConfig ? import }: +{ + evalConfig ? import , +}: evalConfig { modules = [ ./configuration.nix - ( import ) + (import ) ]; } diff --git a/nixos/tests/installer/flake.nix b/nixos/tests/installer/flake.nix index 4bbef44e34fc9..6b468d2ff70f2 100644 --- a/nixos/tests/installer/flake.nix +++ b/nixos/tests/installer/flake.nix @@ -4,17 +4,19 @@ # To keep things simple, we'll use an absolute path dependency here. inputs.nixpkgs.url = "@nixpkgs@"; - outputs = { nixpkgs, ... }: { + outputs = + { nixpkgs, ... }: + { - nixosConfigurations.xyz = nixpkgs.lib.nixosSystem { - modules = [ - ./configuration.nix - ( nixpkgs + "/nixos/modules/testing/test-instrumentation.nix" ) - { - # We don't need nix-channel anymore - nix.channel.enable = false; - } - ]; + nixosConfigurations.xyz = nixpkgs.lib.nixosSystem { + modules = [ + ./configuration.nix + (nixpkgs + "/nixos/modules/testing/test-instrumentation.nix") + { + # We don't need nix-channel anymore + nix.channel.enable = false; + } + ]; + }; }; - }; } diff --git a/nixos/tests/intune.nix b/nixos/tests/intune.nix index 41bf638d76610..eeb55f053f8a4 100644 --- a/nixos/tests/intune.nix +++ b/nixos/tests/intune.nix @@ -1,56 +1,66 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "intune"; - meta = { - maintainers = with pkgs.lib.maintainers; [ rhysmdnz ]; - }; - enableOCR = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "intune"; + meta = { + maintainers = with pkgs.lib.maintainers; [ rhysmdnz ]; + }; + enableOCR = true; - nodes.machine = - { nodes, ... }: - let user = nodes.machine.users.users.alice; - in { - services.intune.enable=true; - services.gnome.gnome-keyring.enable = true; - imports = [ ./common/user-account.nix ./common/x11.nix ]; - test-support.displayManager.auto.user = user.name; - environment = { - variables.DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/user/${builtins.toString user.uid}/bus"; + nodes.machine = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + { + services.intune.enable = true; + services.gnome.gnome-keyring.enable = true; + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + test-support.displayManager.auto.user = user.name; + environment = { + variables.DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/user/${builtins.toString user.uid}/bus"; + }; + }; + nodes.pam = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + { + services.intune.enable = true; + imports = [ ./common/user-account.nix ]; }; - }; - nodes.pam = - { nodes, ... }: - let user = nodes.machine.users.users.alice; - in { - services.intune.enable=true; - imports = [ ./common/user-account.nix ]; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # Check System Daemons successfully start - machine.succeed("systemctl start microsoft-identity-device-broker.service") - machine.succeed("systemctl start intune-daemon.service") + # Check System Daemons successfully start + machine.succeed("systemctl start microsoft-identity-device-broker.service") + machine.succeed("systemctl start intune-daemon.service") - # Check User Daemons and intune-portal execurtable works - # Going any further than starting it would require internet access and a microsoft account - machine.wait_for_x() - # TODO: This needs an unlocked user keychain before it will work - #machine.succeed("su - alice -c 'systemctl start --user microsoft-identity-broker.service'") - machine.succeed("su - alice -c 'systemctl start --user intune-agent.service'") - machine.succeed("su - alice -c intune-portal >&2 &") - machine.wait_for_text("Intune Agent") + # Check User Daemons and intune-portal execurtable works + # Going any further than starting it would require internet access and a microsoft account + machine.wait_for_x() + # TODO: This needs an unlocked user keychain before it will work + #machine.succeed("su - alice -c 'systemctl start --user microsoft-identity-broker.service'") + machine.succeed("su - alice -c 'systemctl start --user intune-agent.service'") + machine.succeed("su - alice -c intune-portal >&2 &") + machine.wait_for_text("Intune Agent") - # Check logging in creates password file - def login_as_alice(): - pam.wait_until_tty_matches("1", "login: ") - pam.send_chars("alice\n") - pam.wait_until_tty_matches("1", "Password: ") - pam.send_chars("foobar\n") - pam.wait_until_tty_matches("1", "alice\@pam") + # Check logging in creates password file + def login_as_alice(): + pam.wait_until_tty_matches("1", "login: ") + pam.send_chars("alice\n") + pam.wait_until_tty_matches("1", "Password: ") + pam.send_chars("foobar\n") + pam.wait_until_tty_matches("1", "alice\@pam") - pam.wait_for_unit("multi-user.target") - login_as_alice() - pam.wait_for_file("/run/intune/1000/pwquality") - ''; -}) + pam.wait_for_unit("multi-user.target") + login_as_alice() + pam.wait_for_file("/run/intune/1000/pwquality") + ''; + } +) diff --git a/nixos/tests/invidious.nix b/nixos/tests/invidious.nix index 05b43c5556060..d4817cac4ebf8 100644 --- a/nixos/tests/invidious.nix +++ b/nixos/tests/invidious.nix @@ -1,145 +1,154 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "invidious"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "invidious"; - meta = with pkgs.lib.maintainers; { - maintainers = [ sbruder ]; - }; - - nodes = { - postgres-tcp = { config, pkgs, ... }: { - services.postgresql = { - enable = true; - initialScript = pkgs.writeText "init-postgres-with-password" '' - CREATE USER invidious WITH PASSWORD 'correct horse battery staple'; - CREATE DATABASE invidious WITH OWNER invidious; - ''; - enableTCPIP = true; - authentication = '' - host invidious invidious samenet scram-sha-256 - ''; - }; - networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; + meta = with pkgs.lib.maintainers; { + maintainers = [ sbruder ]; }; - machine = { lib, pkgs, ... }: { - services.invidious = { - enable = true; - }; - specialisation = { - nginx.configuration = { - services.invidious = { - nginx.enable = true; - domain = "invidious.example.com"; - }; - services.nginx.virtualHosts."invidious.example.com" = { - forceSSL = false; - enableACME = false; - }; - networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; - }; - nginx-sig-helper.configuration = { - services.invidious = { - nginx.enable = true; - domain = "invidious.example.com"; - sig-helper.enable = true; - settings.log_level = "Trace"; - }; - services.nginx.virtualHosts."invidious.example.com" = { - forceSSL = false; - enableACME = false; + nodes = { + postgres-tcp = + { config, pkgs, ... }: + { + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "init-postgres-with-password" '' + CREATE USER invidious WITH PASSWORD 'correct horse battery staple'; + CREATE DATABASE invidious WITH OWNER invidious; + ''; + enableTCPIP = true; + authentication = '' + host invidious invidious samenet scram-sha-256 + ''; }; - networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; + networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; }; - nginx-scale.configuration = { + machine = + { lib, pkgs, ... }: + { services.invidious = { - nginx.enable = true; - domain = "invidious.example.com"; - serviceScale = 3; - }; - services.nginx.virtualHosts."invidious.example.com" = { - forceSSL = false; - enableACME = false; + enable = true; }; - networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; - }; - nginx-scale-ytproxy.configuration = { - services.invidious = { - nginx.enable = true; - http3-ytproxy.enable = true; - domain = "invidious.example.com"; - serviceScale = 3; - }; - services.nginx.virtualHosts."invidious.example.com" = { - forceSSL = false; - enableACME = false; - }; - networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; - }; - postgres-tcp.configuration = { - services.invidious = { - database = { - createLocally = false; - host = "postgres-tcp"; - passwordFile = toString (pkgs.writeText "database-password" "correct horse battery staple"); + + specialisation = { + nginx.configuration = { + services.invidious = { + nginx.enable = true; + domain = "invidious.example.com"; + }; + services.nginx.virtualHosts."invidious.example.com" = { + forceSSL = false; + enableACME = false; + }; + networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; + }; + nginx-sig-helper.configuration = { + services.invidious = { + nginx.enable = true; + domain = "invidious.example.com"; + sig-helper.enable = true; + settings.log_level = "Trace"; + }; + services.nginx.virtualHosts."invidious.example.com" = { + forceSSL = false; + enableACME = false; + }; + networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; + }; + nginx-scale.configuration = { + services.invidious = { + nginx.enable = true; + domain = "invidious.example.com"; + serviceScale = 3; + }; + services.nginx.virtualHosts."invidious.example.com" = { + forceSSL = false; + enableACME = false; + }; + networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; + }; + nginx-scale-ytproxy.configuration = { + services.invidious = { + nginx.enable = true; + http3-ytproxy.enable = true; + domain = "invidious.example.com"; + serviceScale = 3; + }; + services.nginx.virtualHosts."invidious.example.com" = { + forceSSL = false; + enableACME = false; + }; + networking.hosts."127.0.0.1" = [ "invidious.example.com" ]; + }; + postgres-tcp.configuration = { + services.invidious = { + database = { + createLocally = false; + host = "postgres-tcp"; + passwordFile = toString (pkgs.writeText "database-password" "correct horse battery staple"); + }; + }; }; }; }; - }; }; - }; - testScript = { nodes, ... }: '' - def curl_assert_status_code(url, code, form=None): - assert int(machine.succeed(f"curl -s -o /dev/null -w %{{http_code}} {'-F ' + form + ' ' if form else '''}{url}")) == code + testScript = + { nodes, ... }: + '' + def curl_assert_status_code(url, code, form=None): + assert int(machine.succeed(f"curl -s -o /dev/null -w %{{http_code}} {'-F ' + form + ' ' if form else '''}{url}")) == code - def activate_specialisation(name: str): - machine.succeed(f"${nodes.machine.system.build.toplevel}/specialisation/{name}/bin/switch-to-configuration test >&2") + def activate_specialisation(name: str): + machine.succeed(f"${nodes.machine.system.build.toplevel}/specialisation/{name}/bin/switch-to-configuration test >&2") - url = "http://localhost:${toString nodes.machine.services.invidious.port}" - port = ${toString nodes.machine.services.invidious.port} + url = "http://localhost:${toString nodes.machine.services.invidious.port}" + port = ${toString nodes.machine.services.invidious.port} - # start postgres vm now - postgres_tcp.start() + # start postgres vm now + postgres_tcp.start() - machine.wait_for_open_port(port) - curl_assert_status_code(f"{url}/search", 200) + machine.wait_for_open_port(port) + curl_assert_status_code(f"{url}/search", 200) - activate_specialisation("nginx") - machine.wait_for_open_port(80) - curl_assert_status_code("http://invidious.example.com/search", 200) + activate_specialisation("nginx") + machine.wait_for_open_port(80) + curl_assert_status_code("http://invidious.example.com/search", 200) - activate_specialisation("nginx-scale") - machine.wait_for_open_port(80) - # this depends on nginx round-robin behaviour for the upstream servers - curl_assert_status_code("http://invidious.example.com/search", 200) - curl_assert_status_code("http://invidious.example.com/search", 200) - curl_assert_status_code("http://invidious.example.com/search", 200) - machine.succeed("journalctl -eu invidious.service | grep -o '200 GET /search'") - machine.succeed("journalctl -eu invidious-1.service | grep -o '200 GET /search'") - machine.succeed("journalctl -eu invidious-2.service | grep -o '200 GET /search'") + activate_specialisation("nginx-scale") + machine.wait_for_open_port(80) + # this depends on nginx round-robin behaviour for the upstream servers + curl_assert_status_code("http://invidious.example.com/search", 200) + curl_assert_status_code("http://invidious.example.com/search", 200) + curl_assert_status_code("http://invidious.example.com/search", 200) + machine.succeed("journalctl -eu invidious.service | grep -o '200 GET /search'") + machine.succeed("journalctl -eu invidious-1.service | grep -o '200 GET /search'") + machine.succeed("journalctl -eu invidious-2.service | grep -o '200 GET /search'") - activate_specialisation("nginx-scale-ytproxy") - machine.wait_for_unit("http3-ytproxy.service") - machine.wait_for_open_port(80) - machine.wait_until_succeeds("ls /run/http3-ytproxy/socket/http-proxy.sock") - curl_assert_status_code("http://invidious.example.com/search", 200) - # this should error out as no internet connectivity is available in the test - curl_assert_status_code("http://invidious.example.com/vi/dQw4w9WgXcQ/mqdefault.jpg", 502) - machine.succeed("journalctl -eu http3-ytproxy.service | grep -o 'dQw4w9WgXcQ'") + activate_specialisation("nginx-scale-ytproxy") + machine.wait_for_unit("http3-ytproxy.service") + machine.wait_for_open_port(80) + machine.wait_until_succeeds("ls /run/http3-ytproxy/socket/http-proxy.sock") + curl_assert_status_code("http://invidious.example.com/search", 200) + # this should error out as no internet connectivity is available in the test + curl_assert_status_code("http://invidious.example.com/vi/dQw4w9WgXcQ/mqdefault.jpg", 502) + machine.succeed("journalctl -eu http3-ytproxy.service | grep -o 'dQw4w9WgXcQ'") - activate_specialisation("nginx-sig-helper") - machine.wait_for_unit("invidious-sig-helper.service") - # we can't really test the sig helper that well without internet connection... - # invidious does connect to the sig helper though and crashes when the sig helper is not available - machine.wait_for_open_port(80) - curl_assert_status_code("http://invidious.example.com/search", 200) - machine.succeed("journalctl -eu invidious.service | grep -o \"SigHelper: Using helper at 'tcp://127.0.0.1:2999'\"") + activate_specialisation("nginx-sig-helper") + machine.wait_for_unit("invidious-sig-helper.service") + # we can't really test the sig helper that well without internet connection... + # invidious does connect to the sig helper though and crashes when the sig helper is not available + machine.wait_for_open_port(80) + curl_assert_status_code("http://invidious.example.com/search", 200) + machine.succeed("journalctl -eu invidious.service | grep -o \"SigHelper: Using helper at 'tcp://127.0.0.1:2999'\"") - postgres_tcp.wait_for_unit("postgresql.service") - activate_specialisation("postgres-tcp") - machine.wait_for_open_port(port) - curl_assert_status_code(f"{url}/search", 200) - ''; -}) + postgres_tcp.wait_for_unit("postgresql.service") + activate_specialisation("postgres-tcp") + machine.wait_for_open_port(port) + curl_assert_status_code(f"{url}/search", 200) + ''; + } +) diff --git a/nixos/tests/invoiceplane.nix b/nixos/tests/invoiceplane.nix index 0b51707171996..b028d46cf6c70 100644 --- a/nixos/tests/invoiceplane.nix +++ b/nixos/tests/invoiceplane.nix @@ -1,106 +1,118 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "invoiceplane"; - meta = with pkgs.lib.maintainers; { - maintainers = [ - onny - ]; - }; + { + name = "invoiceplane"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + onny + ]; + }; - nodes = { - invoiceplane_caddy = { ... }: { - services.invoiceplane.webserver = "caddy"; - services.invoiceplane.sites = { - "site1.local" = { - database.name = "invoiceplane1"; - database.createLocally = true; - enable = true; - }; - "site2.local" = { - database.name = "invoiceplane2"; - database.createLocally = true; - enable = true; + nodes = { + invoiceplane_caddy = + { ... }: + { + services.invoiceplane.webserver = "caddy"; + services.invoiceplane.sites = { + "site1.local" = { + database.name = "invoiceplane1"; + database.createLocally = true; + enable = true; + }; + "site2.local" = { + database.name = "invoiceplane2"; + database.createLocally = true; + enable = true; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ + "site1.local" + "site2.local" + ]; }; - }; - networking.firewall.allowedTCPPorts = [ 80 ]; - networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; - }; + invoiceplane_nginx = + { ... }: + { + services.invoiceplane.webserver = "nginx"; + services.invoiceplane.sites = { + "site1.local" = { + database.name = "invoiceplane1"; + database.createLocally = true; + enable = true; + }; + "site2.local" = { + database.name = "invoiceplane2"; + database.createLocally = true; + enable = true; + }; + }; - invoiceplane_nginx = { ... }: { - services.invoiceplane.webserver = "nginx"; - services.invoiceplane.sites = { - "site1.local" = { - database.name = "invoiceplane1"; - database.createLocally = true; - enable = true; - }; - "site2.local" = { - database.name = "invoiceplane2"; - database.createLocally = true; - enable = true; + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ + "site1.local" + "site2.local" + ]; }; - }; - - networking.firewall.allowedTCPPorts = [ 80 ]; - networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - invoiceplane_caddy.wait_for_unit("caddy") - invoiceplane_nginx.wait_for_unit("nginx") + invoiceplane_caddy.wait_for_unit("caddy") + invoiceplane_nginx.wait_for_unit("nginx") - site_names = ["site1.local", "site2.local"] + site_names = ["site1.local", "site2.local"] - machines = [invoiceplane_caddy, invoiceplane_nginx] + machines = [invoiceplane_caddy, invoiceplane_nginx] - for machine in machines: - machine.wait_for_open_port(80) - machine.wait_for_open_port(3306) + for machine in machines: + machine.wait_for_open_port(80) + machine.wait_for_open_port(3306) - for site_name in site_names: - machine.wait_for_unit(f"phpfpm-invoiceplane-{site_name}") + for site_name in site_names: + machine.wait_for_unit(f"phpfpm-invoiceplane-{site_name}") - with subtest("Website returns welcome screen"): - assert "Please install InvoicePlane" in machine.succeed(f"curl -L {site_name}") + with subtest("Website returns welcome screen"): + assert "Please install InvoicePlane" in machine.succeed(f"curl -L {site_name}") - with subtest("Finish InvoicePlane setup"): - machine.succeed( - f"curl -sSfL --cookie-jar cjar {site_name}/setup/language" - ) - csrf_token = machine.succeed( - "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" - ) - machine.succeed( - f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&ip_lang=english&btn_continue=Continue' {site_name}/setup/language" - ) - csrf_token = machine.succeed( - "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" - ) - machine.succeed( - f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/prerequisites" - ) - csrf_token = machine.succeed( - "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" - ) - machine.succeed( - f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/configure_database" - ) - csrf_token = machine.succeed( - "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" - ) - machine.succeed( - f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/install_tables" - ) - csrf_token = machine.succeed( - "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" - ) - machine.succeed( - f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/upgrade_tables" - ) - ''; -}) + with subtest("Finish InvoicePlane setup"): + machine.succeed( + f"curl -sSfL --cookie-jar cjar {site_name}/setup/language" + ) + csrf_token = machine.succeed( + "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" + ) + machine.succeed( + f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&ip_lang=english&btn_continue=Continue' {site_name}/setup/language" + ) + csrf_token = machine.succeed( + "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" + ) + machine.succeed( + f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/prerequisites" + ) + csrf_token = machine.succeed( + "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" + ) + machine.succeed( + f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/configure_database" + ) + csrf_token = machine.succeed( + "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" + ) + machine.succeed( + f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/install_tables" + ) + csrf_token = machine.succeed( + "grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'" + ) + machine.succeed( + f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/upgrade_tables" + ) + ''; + } +) diff --git a/nixos/tests/iodine.nix b/nixos/tests/iodine.nix index 41fb2e7778d42..573f6d7aebeba 100644 --- a/nixos/tests/iodine.nix +++ b/nixos/tests/iodine.nix @@ -1,64 +1,66 @@ import ./make-test-python.nix ( - { pkgs, ... }: let + { pkgs, ... }: + let domain = "whatever.example.com"; password = "false;foo;exit;withspecialcharacters"; in - { - name = "iodine"; - nodes = { - server = - { ... }: + { + name = "iodine"; + nodes = { + server = + { ... }: - { - networking.firewall = { - allowedUDPPorts = [ 53 ]; - trustedInterfaces = [ "dns0" ]; - }; - boot.kernel.sysctl = { - "net.ipv4.ip_forward" = 1; - "net.ipv6.ip_forward" = 1; - }; + { + networking.firewall = { + allowedUDPPorts = [ 53 ]; + trustedInterfaces = [ "dns0" ]; + }; + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.ip_forward" = 1; + }; - services.iodine.server = { - enable = true; - ip = "10.53.53.1/24"; - passwordFile = "${builtins.toFile "password" password}"; - inherit domain; - }; + services.iodine.server = { + enable = true; + ip = "10.53.53.1/24"; + passwordFile = "${builtins.toFile "password" password}"; + inherit domain; + }; - # test resource: accessible only via tunnel - services.openssh = { - enable = true; - openFirewall = false; - }; - }; + # test resource: accessible only via tunnel + services.openssh = { + enable = true; + openFirewall = false; + }; + }; - client = - { ... }: { - services.iodine.clients.testClient = { - # test that ProtectHome is "read-only" - passwordFile = "/root/pw"; - relay = "server"; - server = domain; - }; - systemd.tmpfiles.rules = [ - "f /root/pw 0666 root root - ${password}" - ]; - environment.systemPackages = [ - pkgs.nagiosPluginsOfficial - ]; + client = + { ... }: + { + services.iodine.clients.testClient = { + # test that ProtectHome is "read-only" + passwordFile = "/root/pw"; + relay = "server"; + server = domain; }; + systemd.tmpfiles.rules = [ + "f /root/pw 0666 root root - ${password}" + ]; + environment.systemPackages = [ + pkgs.nagiosPluginsOfficial + ]; + }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("sshd") - server.wait_for_unit("iodined") - client.wait_for_unit("iodine-testClient") + server.wait_for_unit("sshd") + server.wait_for_unit("iodined") + client.wait_for_unit("iodine-testClient") - client.succeed("check_ssh -H 10.53.53.1") - ''; - } + client.succeed("check_ssh -H 10.53.53.1") + ''; + } ) diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix index 8fa7eec8ffb2a..cc0bf895c5e36 100644 --- a/nixos/tests/ipv6.nix +++ b/nixos/tests/ipv6.nix @@ -1,21 +1,22 @@ # Test of IPv6 functionality in NixOS, including whether router # solicication/advertisement using radvd works. -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "ipv6"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes = - { +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "ipv6"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; + + nodes = { # We use lib.mkForce here to remove the interface configuration # provided by makeTest, so that the interfaces are all configured # implicitly. # This client should use privacy extensions fully, having a # completely-default network configuration. - client_defaults.networking.interfaces = lib.mkForce {}; + client_defaults.networking.interfaces = lib.mkForce { }; # Both of these clients should obtain temporary addresses, but # not use them as the default source IP. We thus run the same @@ -24,7 +25,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { # Here, by using an altered default value for the global setting... client_global_setting = { - networking.interfaces = lib.mkForce {}; + networking.interfaces = lib.mkForce { }; networking.tempAddresses = "enabled"; }; # and here, by setting this on the interface explicitly. @@ -35,30 +36,29 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { }; }; - server = - { services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall.allowedTCPPorts = [ 80 ]; - # disable testing driver's default IPv6 address. - networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; - }; + server = { + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + # disable testing driver's default IPv6 address. + networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; + }; router = { ... }: - { services.radvd.enable = true; - services.radvd.config = - '' - interface eth1 { - AdvSendAdvert on; - # ULA prefix (RFC 4193). - prefix fd60:cc69:b537:1::/64 { }; - }; - ''; + { + services.radvd.enable = true; + services.radvd.config = '' + interface eth1 { + AdvSendAdvert on; + # ULA prefix (RFC 4193). + prefix fd60:cc69:b537:1::/64 { }; + }; + ''; }; }; - testScript = - '' + testScript = '' import re # Start the router first so that it respond to router solicitations. @@ -129,4 +129,5 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : { # But using the EUI-64 one. client.succeed(f"ip route get 2001:db8:: | grep 'src {ip}'") ''; -}) + } +) diff --git a/nixos/tests/iscsi-multipath-root.nix b/nixos/tests/iscsi-multipath-root.nix index 494a539b57e00..56f9e1ae7cc18 100644 --- a/nixos/tests/iscsi-multipath-root.nix +++ b/nixos/tests/iscsi-multipath-root.nix @@ -11,257 +11,288 @@ import ./make-test-python.nix ( }; nodes = { - target = { config, pkgs, lib, ... }: { - virtualisation.vlans = [ 1 2 ]; - services.target = { - enable = true; - config = { - fabric_modules = [ ]; - storage_objects = [ - { - dev = "/dev/vdb"; - name = "test"; - plugin = "block"; - write_back = true; - wwn = "92b17c3f-6b40-4168-b082-ceeb7b495522"; - } - ]; - targets = [ - { - fabric = "iscsi"; - tpgs = [ - { - enable = true; - attributes = { - authentication = 0; - generate_node_acls = 1; - }; - luns = [ - { - alias = "94dfe06967"; - alua_tg_pt_gp_name = "default_tg_pt_gp"; - index = 0; - storage_object = "/backstores/block/test"; - } - ]; - node_acls = [ - { - mapped_luns = [ - { - alias = "d42f5bdf8a"; - index = 0; - tpg_lun = 0; - write_protect = false; - } - ]; - node_wwn = initiatorName; - } - ]; - portals = [ - { - ip_address = "0.0.0.0"; - iser = false; - offload = false; - port = 3260; - } - ]; - tag = 1; - } - ]; - wwn = targetName; - } - ]; + target = + { + config, + pkgs, + lib, + ... + }: + { + virtualisation.vlans = [ + 1 + 2 + ]; + services.target = { + enable = true; + config = { + fabric_modules = [ ]; + storage_objects = [ + { + dev = "/dev/vdb"; + name = "test"; + plugin = "block"; + write_back = true; + wwn = "92b17c3f-6b40-4168-b082-ceeb7b495522"; + } + ]; + targets = [ + { + fabric = "iscsi"; + tpgs = [ + { + enable = true; + attributes = { + authentication = 0; + generate_node_acls = 1; + }; + luns = [ + { + alias = "94dfe06967"; + alua_tg_pt_gp_name = "default_tg_pt_gp"; + index = 0; + storage_object = "/backstores/block/test"; + } + ]; + node_acls = [ + { + mapped_luns = [ + { + alias = "d42f5bdf8a"; + index = 0; + tpg_lun = 0; + write_protect = false; + } + ]; + node_wwn = initiatorName; + } + ]; + portals = [ + { + ip_address = "0.0.0.0"; + iser = false; + offload = false; + port = 3260; + } + ]; + tag = 1; + } + ]; + wwn = targetName; + } + ]; + }; }; + + networking.firewall.allowedTCPPorts = [ 3260 ]; + networking.firewall.allowedUDPPorts = [ 3260 ]; + + virtualisation.memorySize = 2048; + virtualisation.emptyDiskImages = [ 2048 ]; }; - networking.firewall.allowedTCPPorts = [ 3260 ]; - networking.firewall.allowedUDPPorts = [ 3260 ]; - - virtualisation.memorySize = 2048; - virtualisation.emptyDiskImages = [ 2048 ]; - }; - - initiatorAuto = { nodes, config, pkgs, ... }: { - virtualisation.vlans = [ 1 2 ]; - - services.multipath = { - enable = true; - defaults = '' - find_multipaths yes - user_friendly_names yes - ''; - pathGroups = [ - { - alias = 123456; - wwid = "3600140592b17c3f6b404168b082ceeb7"; - } + initiatorAuto = + { + nodes, + config, + pkgs, + ... + }: + { + virtualisation.vlans = [ + 1 + 2 ]; - }; - services.openiscsi = { - enable = true; - enableAutoLoginOut = true; - discoverPortal = "target"; - name = initiatorName; - }; + services.multipath = { + enable = true; + defaults = '' + find_multipaths yes + user_friendly_names yes + ''; + pathGroups = [ + { + alias = 123456; + wwid = "3600140592b17c3f6b404168b082ceeb7"; + } + ]; + }; - environment.systemPackages = with pkgs; [ - xfsprogs - ]; + services.openiscsi = { + enable = true; + enableAutoLoginOut = true; + discoverPortal = "target"; + name = initiatorName; + }; - environment.etc."initiator-root-disk-closure".source = nodes.initiatorRootDisk.config.system.build.toplevel; + environment.systemPackages = with pkgs; [ + xfsprogs + ]; - nix.settings = { - substituters = lib.mkForce [ ]; - hashed-mirrors = null; - connect-timeout = 1; - }; - }; + environment.etc."initiator-root-disk-closure".source = + nodes.initiatorRootDisk.config.system.build.toplevel; - initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: { - boot.initrd.network.enable = true; - boot.loader.grub.enable = false; + nix.settings = { + substituters = lib.mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; + }; + }; - boot.kernelParams = lib.mkOverride 5 ( - [ + initiatorRootDisk = + { + config, + pkgs, + modulesPath, + lib, + ... + }: + { + boot.initrd.network.enable = true; + boot.loader.grub.enable = false; + + boot.kernelParams = lib.mkOverride 5 ([ "boot.shell_on_fail" "console=tty1" "ip=192.168.1.1:::255.255.255.0::ens9:none" "ip=192.168.2.1:::255.255.255.0::ens10:none" - ] - ); - - # defaults to true, puts some code in the initrd that tries to mount an overlayfs on /nix/store - virtualisation.writableStore = false; - virtualisation.vlans = [ 1 2 ]; - - services.multipath = { - enable = true; - defaults = '' - find_multipaths yes - user_friendly_names yes - ''; - pathGroups = [ - { - alias = 123456; - wwid = "3600140592b17c3f6b404168b082ceeb7"; - } + ]); + + # defaults to true, puts some code in the initrd that tries to mount an overlayfs on /nix/store + virtualisation.writableStore = false; + virtualisation.vlans = [ + 1 + 2 ]; - }; - fileSystems = lib.mkOverride 5 { - "/" = { - fsType = "xfs"; - device = "/dev/mapper/123456"; - options = [ "_netdev" ]; + services.multipath = { + enable = true; + defaults = '' + find_multipaths yes + user_friendly_names yes + ''; + pathGroups = [ + { + alias = 123456; + wwid = "3600140592b17c3f6b404168b082ceeb7"; + } + ]; + }; + + fileSystems = lib.mkOverride 5 { + "/" = { + fsType = "xfs"; + device = "/dev/mapper/123456"; + options = [ "_netdev" ]; + }; }; - }; - boot.initrd.extraFiles."etc/multipath/wwids".source = pkgs.writeText "wwids" "/3600140592b17c3f6b404168b082ceeb7/"; + boot.initrd.extraFiles."etc/multipath/wwids".source = + pkgs.writeText "wwids" "/3600140592b17c3f6b404168b082ceeb7/"; - boot.iscsi-initiator = { - discoverPortal = "target"; - name = initiatorName; - target = targetName; - extraIscsiCommands = '' - iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login - ''; + boot.iscsi-initiator = { + discoverPortal = "target"; + name = initiatorName; + target = targetName; + extraIscsiCommands = '' + iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login + ''; + }; }; - }; }; - testScript = { nodes, ... }: '' - target.start() - target.wait_for_unit("iscsi-target.service") - - initiatorAuto.start() - - initiatorAuto.wait_for_unit("iscsid.service") - initiatorAuto.wait_for_unit("iscsi.service") - initiatorAuto.get_unit_info("iscsi") - - # Expecting this to fail since we should already know about 192.168.1.3 - initiatorAuto.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login") - # Expecting this to succeed since we don't yet know about 192.168.2.3 - initiatorAuto.succeed("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login") - - # /dev/sda is provided by iscsi on target - initiatorAuto.succeed("set -x; while ! test -e /dev/sda; do sleep 1; done") - - initiatorAuto.succeed("mkfs.xfs /dev/sda") - initiatorAuto.succeed("mkdir /mnt") - - # Start by verifying /dev/sda and /dev/sdb are both the same disk - initiatorAuto.succeed("mount /dev/sda /mnt") - initiatorAuto.succeed("touch /mnt/hi") - initiatorAuto.succeed("umount /mnt") - - initiatorAuto.succeed("mount /dev/sdb /mnt") - initiatorAuto.succeed("test -e /mnt/hi") - initiatorAuto.succeed("umount /mnt") - - initiatorAuto.succeed("systemctl restart multipathd") - initiatorAuto.succeed("systemd-cat multipath -ll") - - # Install our RootDisk machine to 123456, the alias to the device that multipath is now managing - initiatorAuto.succeed("mount /dev/mapper/123456 /mnt") - initiatorAuto.succeed("mkdir -p /mnt/etc/{multipath,iscsi}") - initiatorAuto.succeed("cp -r /etc/multipath/wwids /mnt/etc/multipath/wwids") - initiatorAuto.succeed("cp -r /etc/iscsi/{nodes,send_targets} /mnt/etc/iscsi") - initiatorAuto.succeed( - "nixos-install --no-bootloader --no-root-passwd --system /etc/initiator-root-disk-closure" - ) - initiatorAuto.succeed("umount /mnt") - initiatorAuto.shutdown() - - initiatorRootDisk.start() - initiatorRootDisk.wait_for_unit("multi-user.target") - initiatorRootDisk.wait_for_unit("iscsid") - - # Log in over both nodes - initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login") - initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login") - initiatorRootDisk.succeed("systemctl restart multipathd") - initiatorRootDisk.succeed("systemd-cat multipath -ll") - - # Verify we can write and sync the root disk - initiatorRootDisk.succeed("mkdir /scratch") - initiatorRootDisk.succeed("touch /scratch/both-up") - initiatorRootDisk.succeed("sync /scratch") - - # Verify we can write to the root with ens9 (sda, 192.168.1.3) down - initiatorRootDisk.succeed("ip link set ens9 down") - initiatorRootDisk.succeed("touch /scratch/ens9-down") - initiatorRootDisk.succeed("sync /scratch") - initiatorRootDisk.succeed("ip link set ens9 up") - - # todo: better way to wait until multipath notices the link is back - initiatorRootDisk.succeed("sleep 5") - initiatorRootDisk.succeed("touch /scratch/both-down") - initiatorRootDisk.succeed("sync /scratch") - - # Verify we can write to the root with ens10 (sdb, 192.168.2.3) down - initiatorRootDisk.succeed("ip link set ens10 down") - initiatorRootDisk.succeed("touch /scratch/ens10-down") - initiatorRootDisk.succeed("sync /scratch") - initiatorRootDisk.succeed("ip link set ens10 up") - initiatorRootDisk.succeed("touch /scratch/ens10-down") - initiatorRootDisk.succeed("sync /scratch") - - initiatorRootDisk.succeed("ip link set ens9 up") - initiatorRootDisk.succeed("ip link set ens10 up") - initiatorRootDisk.shutdown() - - # Verify we can boot with the target's eth1 down, forcing - # it to multipath via the second link - target.succeed("ip link set eth1 down") - initiatorRootDisk.start() - initiatorRootDisk.wait_for_unit("multi-user.target") - initiatorRootDisk.wait_for_unit("iscsid") - initiatorRootDisk.succeed("test -e /scratch/both-up") - ''; + testScript = + { nodes, ... }: + '' + target.start() + target.wait_for_unit("iscsi-target.service") + + initiatorAuto.start() + + initiatorAuto.wait_for_unit("iscsid.service") + initiatorAuto.wait_for_unit("iscsi.service") + initiatorAuto.get_unit_info("iscsi") + + # Expecting this to fail since we should already know about 192.168.1.3 + initiatorAuto.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login") + # Expecting this to succeed since we don't yet know about 192.168.2.3 + initiatorAuto.succeed("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login") + + # /dev/sda is provided by iscsi on target + initiatorAuto.succeed("set -x; while ! test -e /dev/sda; do sleep 1; done") + + initiatorAuto.succeed("mkfs.xfs /dev/sda") + initiatorAuto.succeed("mkdir /mnt") + + # Start by verifying /dev/sda and /dev/sdb are both the same disk + initiatorAuto.succeed("mount /dev/sda /mnt") + initiatorAuto.succeed("touch /mnt/hi") + initiatorAuto.succeed("umount /mnt") + + initiatorAuto.succeed("mount /dev/sdb /mnt") + initiatorAuto.succeed("test -e /mnt/hi") + initiatorAuto.succeed("umount /mnt") + + initiatorAuto.succeed("systemctl restart multipathd") + initiatorAuto.succeed("systemd-cat multipath -ll") + + # Install our RootDisk machine to 123456, the alias to the device that multipath is now managing + initiatorAuto.succeed("mount /dev/mapper/123456 /mnt") + initiatorAuto.succeed("mkdir -p /mnt/etc/{multipath,iscsi}") + initiatorAuto.succeed("cp -r /etc/multipath/wwids /mnt/etc/multipath/wwids") + initiatorAuto.succeed("cp -r /etc/iscsi/{nodes,send_targets} /mnt/etc/iscsi") + initiatorAuto.succeed( + "nixos-install --no-bootloader --no-root-passwd --system /etc/initiator-root-disk-closure" + ) + initiatorAuto.succeed("umount /mnt") + initiatorAuto.shutdown() + + initiatorRootDisk.start() + initiatorRootDisk.wait_for_unit("multi-user.target") + initiatorRootDisk.wait_for_unit("iscsid") + + # Log in over both nodes + initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login") + initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login") + initiatorRootDisk.succeed("systemctl restart multipathd") + initiatorRootDisk.succeed("systemd-cat multipath -ll") + + # Verify we can write and sync the root disk + initiatorRootDisk.succeed("mkdir /scratch") + initiatorRootDisk.succeed("touch /scratch/both-up") + initiatorRootDisk.succeed("sync /scratch") + + # Verify we can write to the root with ens9 (sda, 192.168.1.3) down + initiatorRootDisk.succeed("ip link set ens9 down") + initiatorRootDisk.succeed("touch /scratch/ens9-down") + initiatorRootDisk.succeed("sync /scratch") + initiatorRootDisk.succeed("ip link set ens9 up") + + # todo: better way to wait until multipath notices the link is back + initiatorRootDisk.succeed("sleep 5") + initiatorRootDisk.succeed("touch /scratch/both-down") + initiatorRootDisk.succeed("sync /scratch") + + # Verify we can write to the root with ens10 (sdb, 192.168.2.3) down + initiatorRootDisk.succeed("ip link set ens10 down") + initiatorRootDisk.succeed("touch /scratch/ens10-down") + initiatorRootDisk.succeed("sync /scratch") + initiatorRootDisk.succeed("ip link set ens10 up") + initiatorRootDisk.succeed("touch /scratch/ens10-down") + initiatorRootDisk.succeed("sync /scratch") + + initiatorRootDisk.succeed("ip link set ens9 up") + initiatorRootDisk.succeed("ip link set ens10 up") + initiatorRootDisk.shutdown() + + # Verify we can boot with the target's eth1 down, forcing + # it to multipath via the second link + target.succeed("ip link set eth1 down") + initiatorRootDisk.start() + initiatorRootDisk.wait_for_unit("multi-user.target") + initiatorRootDisk.wait_for_unit("iscsid") + initiatorRootDisk.succeed("test -e /scratch/both-up") + ''; } ) - - diff --git a/nixos/tests/iscsi-root.nix b/nixos/tests/iscsi-root.nix index 6953b6ce9a065..ab0ab9f89e9b7 100644 --- a/nixos/tests/iscsi-root.nix +++ b/nixos/tests/iscsi-root.nix @@ -1,161 +1,182 @@ import ./make-test-python.nix ( { pkgs, lib, ... }: - let - initiatorName = "iqn.2020-08.org.linux-iscsi.initiatorhost:example"; - targetName = "iqn.2003-01.org.linux-iscsi.target.x8664:sn.acf8fd9c23af"; - in - { - name = "iscsi"; - meta = { - maintainers = lib.teams.deshaw.members - ++ lib.teams.helsinki-systems.members; - }; - - nodes = { - target = { config, pkgs, lib, ... }: { - services.target = { - enable = true; - config = { - fabric_modules = []; - storage_objects = [ - { - dev = "/dev/vdb"; - name = "test"; - plugin = "block"; - write_back = true; - wwn = "92b17c3f-6b40-4168-b082-ceeb7b495522"; - } - ]; - targets = [ - { - fabric = "iscsi"; - tpgs = [ - { - enable = true; - attributes = { - authentication = 0; - generate_node_acls = 1; - }; - luns = [ - { - alias = "94dfe06967"; - alua_tg_pt_gp_name = "default_tg_pt_gp"; - index = 0; - storage_object = "/backstores/block/test"; - } - ]; - node_acls = [ - { - mapped_luns = [ - { - alias = "d42f5bdf8a"; - index = 0; - tpg_lun = 0; - write_protect = false; - } - ]; - node_wwn = initiatorName; - } - ]; - portals = [ - { - ip_address = "[::]"; - iser = false; - offload = false; - port = 3260; - } - ]; - tag = 1; - } - ]; - wwn = targetName; - } - ]; - }; + let + initiatorName = "iqn.2020-08.org.linux-iscsi.initiatorhost:example"; + targetName = "iqn.2003-01.org.linux-iscsi.target.x8664:sn.acf8fd9c23af"; + in + { + name = "iscsi"; + meta = { + maintainers = lib.teams.deshaw.members ++ lib.teams.helsinki-systems.members; + }; + + nodes = { + target = + { + config, + pkgs, + lib, + ... + }: + { + services.target = { + enable = true; + config = { + fabric_modules = [ ]; + storage_objects = [ + { + dev = "/dev/vdb"; + name = "test"; + plugin = "block"; + write_back = true; + wwn = "92b17c3f-6b40-4168-b082-ceeb7b495522"; + } + ]; + targets = [ + { + fabric = "iscsi"; + tpgs = [ + { + enable = true; + attributes = { + authentication = 0; + generate_node_acls = 1; + }; + luns = [ + { + alias = "94dfe06967"; + alua_tg_pt_gp_name = "default_tg_pt_gp"; + index = 0; + storage_object = "/backstores/block/test"; + } + ]; + node_acls = [ + { + mapped_luns = [ + { + alias = "d42f5bdf8a"; + index = 0; + tpg_lun = 0; + write_protect = false; + } + ]; + node_wwn = initiatorName; + } + ]; + portals = [ + { + ip_address = "[::]"; + iser = false; + offload = false; + port = 3260; + } + ]; + tag = 1; + } + ]; + wwn = targetName; + } + ]; }; + }; - networking.firewall.allowedTCPPorts = [ 3260 ]; - networking.firewall.allowedUDPPorts = [ 3260 ]; + networking.firewall.allowedTCPPorts = [ 3260 ]; + networking.firewall.allowedUDPPorts = [ 3260 ]; - virtualisation.memorySize = 2048; - virtualisation.emptyDiskImages = [ 2048 ]; - }; + virtualisation.memorySize = 2048; + virtualisation.emptyDiskImages = [ 2048 ]; + }; - initiatorAuto = { nodes, config, pkgs, ... }: { - services.openiscsi = { - enable = true; - enableAutoLoginOut = true; - discoverPortal = "target"; - name = initiatorName; - }; + initiatorAuto = + { + nodes, + config, + pkgs, + ... + }: + { + services.openiscsi = { + enable = true; + enableAutoLoginOut = true; + discoverPortal = "target"; + name = initiatorName; + }; - environment.systemPackages = with pkgs; [ - xfsprogs - ]; + environment.systemPackages = with pkgs; [ + xfsprogs + ]; - system.extraDependencies = [ nodes.initiatorRootDisk.system.build.toplevel ]; + system.extraDependencies = [ nodes.initiatorRootDisk.system.build.toplevel ]; - nix.settings = { - substituters = lib.mkForce []; - hashed-mirrors = null; - connect-timeout = 1; - }; + nix.settings = { + substituters = lib.mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; }; + }; - initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: { - boot.loader.grub.enable = false; - boot.kernelParams = lib.mkOverride 5 ( - [ - "boot.shell_on_fail" - "console=tty1" - "ip=${config.networking.primaryIPAddress}:::255.255.255.0::eth1:none" - ] - ); - - # defaults to true, puts some code in the initrd that tries to mount an overlayfs on /nix/store - virtualisation.writableStore = false; - - fileSystems = lib.mkOverride 5 { - "/" = { - fsType = "xfs"; - device = "/dev/sda"; - options = [ "_netdev" ]; - }; + initiatorRootDisk = + { + config, + pkgs, + modulesPath, + lib, + ... + }: + { + boot.loader.grub.enable = false; + boot.kernelParams = lib.mkOverride 5 ([ + "boot.shell_on_fail" + "console=tty1" + "ip=${config.networking.primaryIPAddress}:::255.255.255.0::eth1:none" + ]); + + # defaults to true, puts some code in the initrd that tries to mount an overlayfs on /nix/store + virtualisation.writableStore = false; + + fileSystems = lib.mkOverride 5 { + "/" = { + fsType = "xfs"; + device = "/dev/sda"; + options = [ "_netdev" ]; }; + }; - boot.iscsi-initiator = { - discoverPortal = "target"; - name = initiatorName; - target = targetName; - }; + boot.iscsi-initiator = { + discoverPortal = "target"; + name = initiatorName; + target = targetName; }; }; - - testScript = { nodes, ... }: '' - target.start() - target.wait_for_unit("iscsi-target.service") - - initiatorAuto.start() - - initiatorAuto.wait_for_unit("iscsid.service") - initiatorAuto.wait_for_unit("iscsi.service") - initiatorAuto.get_unit_info("iscsi") - - initiatorAuto.succeed("set -x; while ! test -e /dev/sda; do sleep 1; done") - - initiatorAuto.succeed("mkfs.xfs /dev/sda") - initiatorAuto.succeed("mkdir /mnt && mount /dev/sda /mnt") - initiatorAuto.succeed( - "nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.config.system.build.toplevel}" - ) - initiatorAuto.succeed("umount /mnt && rmdir /mnt") - initiatorAuto.shutdown() - - initiatorRootDisk.start() - initiatorRootDisk.wait_for_unit("multi-user.target") - initiatorRootDisk.wait_for_unit("iscsid") - initiatorRootDisk.succeed("touch test") - initiatorRootDisk.shutdown() - ''; - } + }; + + testScript = + { nodes, ... }: + '' + target.start() + target.wait_for_unit("iscsi-target.service") + + initiatorAuto.start() + + initiatorAuto.wait_for_unit("iscsid.service") + initiatorAuto.wait_for_unit("iscsi.service") + initiatorAuto.get_unit_info("iscsi") + + initiatorAuto.succeed("set -x; while ! test -e /dev/sda; do sleep 1; done") + + initiatorAuto.succeed("mkfs.xfs /dev/sda") + initiatorAuto.succeed("mkdir /mnt && mount /dev/sda /mnt") + initiatorAuto.succeed( + "nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.config.system.build.toplevel}" + ) + initiatorAuto.succeed("umount /mnt && rmdir /mnt") + initiatorAuto.shutdown() + + initiatorRootDisk.start() + initiatorRootDisk.wait_for_unit("multi-user.target") + initiatorRootDisk.wait_for_unit("iscsid") + initiatorRootDisk.succeed("touch test") + initiatorRootDisk.shutdown() + ''; + } ) diff --git a/nixos/tests/isolate.nix b/nixos/tests/isolate.nix index 327231be1cd4a..c6f83240ad087 100644 --- a/nixos/tests/isolate.nix +++ b/nixos/tests/isolate.nix @@ -1,38 +1,40 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "isolate"; - meta.maintainers = with lib.maintainers; [ virchau13 ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "isolate"; + meta.maintainers = with lib.maintainers; [ virchau13 ]; - nodes.machine = - { ... }: - { - security.isolate = { - enable = true; + nodes.machine = + { ... }: + { + security.isolate = { + enable = true; + }; }; - }; - testScript = '' - bash_path = machine.succeed('realpath $(which bash)').strip() - sleep_path = machine.succeed('realpath $(which sleep)').strip() - def sleep_test(walltime, sleeptime): - return f'isolate --no-default-dirs --wall-time {walltime} ' + \ - f'--dir=/box={box_path} --dir=/nix=/nix --run -- ' + \ - f"{bash_path} -c 'exec -a sleep {sleep_path} {sleeptime}'" + testScript = '' + bash_path = machine.succeed('realpath $(which bash)').strip() + sleep_path = machine.succeed('realpath $(which sleep)').strip() + def sleep_test(walltime, sleeptime): + return f'isolate --no-default-dirs --wall-time {walltime} ' + \ + f'--dir=/box={box_path} --dir=/nix=/nix --run -- ' + \ + f"{bash_path} -c 'exec -a sleep {sleep_path} {sleeptime}'" - def sleep_test_cg(walltime, sleeptime): - return f'isolate --cg --no-default-dirs --wall-time {walltime} ' + \ - f'--dir=/box={box_path} --dir=/nix=/nix --processes=2 --run -- ' + \ - f"{bash_path} -c '( exec -a sleep {sleep_path} {sleeptime} )'" + def sleep_test_cg(walltime, sleeptime): + return f'isolate --cg --no-default-dirs --wall-time {walltime} ' + \ + f'--dir=/box={box_path} --dir=/nix=/nix --processes=2 --run -- ' + \ + f"{bash_path} -c '( exec -a sleep {sleep_path} {sleeptime} )'" - with subtest("without cgroups"): - box_path = machine.succeed('isolate --init').strip() - machine.succeed(sleep_test(1, 0.5)) - machine.fail(sleep_test(0.5, 1)) - machine.succeed('isolate --cleanup') - with subtest("with cgroups"): - box_path = machine.succeed('isolate --cg --init').strip() - machine.succeed(sleep_test_cg(1, 0.5)) - machine.fail(sleep_test_cg(0.5, 1)) - machine.succeed('isolate --cg --cleanup') - ''; -}) + with subtest("without cgroups"): + box_path = machine.succeed('isolate --init').strip() + machine.succeed(sleep_test(1, 0.5)) + machine.fail(sleep_test(0.5, 1)) + machine.succeed('isolate --cleanup') + with subtest("with cgroups"): + box_path = machine.succeed('isolate --cg --init').strip() + machine.succeed(sleep_test_cg(1, 0.5)) + machine.fail(sleep_test_cg(0.5, 1)) + machine.succeed('isolate --cg --cleanup') + ''; + } +) diff --git a/nixos/tests/isso.nix b/nixos/tests/isso.nix index 4ec8b5ec3593d..f3af293bf75bb 100644 --- a/nixos/tests/isso.nix +++ b/nixos/tests/isso.nix @@ -1,30 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "isso"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "isso"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes.machine = { config, pkgs, ... }: { - services.isso = { - enable = true; - settings = { - general = { - dbpath = "/var/lib/isso/comments.db"; - host = "http://localhost"; + nodes.machine = + { config, pkgs, ... }: + { + services.isso = { + enable = true; + settings = { + general = { + dbpath = "/var/lib/isso/comments.db"; + host = "http://localhost"; + }; + }; }; }; - }; - }; - testScript = let - port = 8080; - in - '' - machine.wait_for_unit("isso.service") + testScript = + let + port = 8080; + in + '' + machine.wait_for_unit("isso.service") - machine.wait_for_open_port(${toString port}) + machine.wait_for_open_port(${toString port}) - machine.succeed("curl --fail http://localhost:${toString port}/?uri") - machine.succeed("curl --fail http://localhost:${toString port}/js/embed.min.js") - ''; -}) + machine.succeed("curl --fail http://localhost:${toString port}/?uri") + machine.succeed("curl --fail http://localhost:${toString port}/js/embed.min.js") + ''; + } +) diff --git a/nixos/tests/jackett.nix b/nixos/tests/jackett.nix index 4e65cb61d17a7..11931c7c96bdd 100644 --- a/nixos/tests/jackett.nix +++ b/nixos/tests/jackett.nix @@ -1,21 +1,25 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -let - jackettPort = 9117; -in { - name = "jackett"; - meta.maintainers = with lib.maintainers; [ etu ]; + let + jackettPort = 9117; + in + { + name = "jackett"; + meta.maintainers = with lib.maintainers; [ etu ]; - nodes.machine = - { pkgs, ... }: { - services.jackett.enable = true; - services.jackett.port = jackettPort; - }; + nodes.machine = + { pkgs, ... }: + { + services.jackett.enable = true; + services.jackett.port = jackettPort; + }; - testScript = '' - machine.start() - machine.wait_for_unit("jackett.service") - machine.wait_for_open_port(${toString jackettPort}) - machine.succeed("curl --fail http://localhost:${toString jackettPort}/") - ''; -}) + testScript = '' + machine.start() + machine.wait_for_unit("jackett.service") + machine.wait_for_open_port(${toString jackettPort}) + machine.succeed("curl --fail http://localhost:${toString jackettPort}/") + ''; + } +) diff --git a/nixos/tests/jellyfin.nix b/nixos/tests/jellyfin.nix index 7d3097b586299..2b879ff83751c 100644 --- a/nixos/tests/jellyfin.nix +++ b/nixos/tests/jellyfin.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: { name = "jellyfin"; @@ -16,9 +17,11 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: testScript = let payloads = { - auth = pkgs.writeText "auth.json" (builtins.toJSON { - Username = "jellyfin"; - }); + auth = pkgs.writeText "auth.json" ( + builtins.toJSON { + Username = "jellyfin"; + } + ); empty = pkgs.writeText "empty.json" (builtins.toJSON { }); }; in @@ -152,4 +155,5 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: if duration.strip() != "5.000000": raise Exception("Downloaded video has wrong duration") ''; - }) + } +) diff --git a/nixos/tests/jenkins-cli.nix b/nixos/tests/jenkins-cli.nix index f25e1604da330..fdd2767cf0419 100644 --- a/nixos/tests/jenkins-cli.nix +++ b/nixos/tests/jenkins-cli.nix @@ -1,30 +1,33 @@ -import ./make-test-python.nix ({ pkgs, ...} : rec { - name = "jenkins-cli"; - meta = with pkgs.lib.maintainers; { - maintainers = [ pamplemousse ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + rec { + name = "jenkins-cli"; + meta = with pkgs.lib.maintainers; { + maintainers = [ pamplemousse ]; + }; - nodes = { - machine = - { ... }: - { - services.jenkins = { - enable = true; - withCLI = true; + nodes = { + machine = + { ... }: + { + services.jenkins = { + enable = true; + withCLI = true; + }; }; - }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("jenkins") + machine.wait_for_unit("jenkins") - assert "JENKINS_URL" in machine.succeed("env") - assert "http://0.0.0.0:8080" in machine.succeed("echo $JENKINS_URL") + assert "JENKINS_URL" in machine.succeed("env") + assert "http://0.0.0.0:8080" in machine.succeed("echo $JENKINS_URL") - machine.succeed( - "jenkins-cli -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword)" - ) - ''; -}) + machine.succeed( + "jenkins-cli -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword)" + ) + ''; + } +) diff --git a/nixos/tests/jibri.nix b/nixos/tests/jibri.nix index 2046ea86d5acf..d42e82bf1f47a 100644 --- a/nixos/tests/jibri.nix +++ b/nixos/tests/jibri.nix @@ -1,66 +1,74 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "jibri"; - meta = with pkgs.lib; { - maintainers = teams.jitsi.members; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "jibri"; + meta = with pkgs.lib; { + maintainers = teams.jitsi.members; + }; - nodes.machine = { config, pkgs, ... }: { - virtualisation.memorySize = 5120; + nodes.machine = + { config, pkgs, ... }: + { + virtualisation.memorySize = 5120; - services.jitsi-meet = { - enable = true; - hostName = "machine"; - jibri.enable = true; - }; - services.jibri.ignoreCert = true; - services.jitsi-videobridge.openFirewall = true; + services.jitsi-meet = { + enable = true; + hostName = "machine"; + jibri.enable = true; + }; + services.jibri.ignoreCert = true; + services.jitsi-videobridge.openFirewall = true; - networking.firewall.allowedTCPPorts = [ 80 443 ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; - services.nginx.virtualHosts.machine = { - enableACME = true; - forceSSL = true; - }; + services.nginx.virtualHosts.machine = { + enableACME = true; + forceSSL = true; + }; - security.acme.defaults.email = "me@example.org"; - security.acme.acceptTerms = true; - security.acme.defaults.server = "https://example.com"; # self-signed only - }; + security.acme.defaults.email = "me@example.org"; + security.acme.acceptTerms = true; + security.acme.defaults.server = "https://example.com"; # self-signed only + }; - testScript = '' - machine.wait_for_unit("jitsi-videobridge2.service") - machine.wait_for_unit("jicofo.service") - machine.wait_for_unit("nginx.service") - machine.wait_for_unit("prosody.service") - machine.wait_for_unit("jibri.service") + testScript = '' + machine.wait_for_unit("jitsi-videobridge2.service") + machine.wait_for_unit("jicofo.service") + machine.wait_for_unit("nginx.service") + machine.wait_for_unit("prosody.service") + machine.wait_for_unit("jibri.service") - machine.wait_until_succeeds( - "journalctl -b -u prosody -o cat | grep -q 'Authenticated as focus@auth.machine'", timeout=31 - ) - machine.wait_until_succeeds( - "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jvb@auth.machine'", timeout=32 - ) - machine.wait_until_succeeds( - "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jibri@auth.machine'", timeout=33 - ) - machine.wait_until_succeeds( - "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'Joined MUC: jibribrewery@internal.auth.machine'", timeout=34 - ) + machine.wait_until_succeeds( + "journalctl -b -u prosody -o cat | grep -q 'Authenticated as focus@auth.machine'", timeout=31 + ) + machine.wait_until_succeeds( + "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jvb@auth.machine'", timeout=32 + ) + machine.wait_until_succeeds( + "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jibri@auth.machine'", timeout=33 + ) + machine.wait_until_succeeds( + "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'Joined MUC: jibribrewery@internal.auth.machine'", timeout=34 + ) - assert '"busyStatus":"IDLE","health":{"healthStatus":"HEALTHY"' in machine.succeed( - "curl -X GET http://machine:2222/jibri/api/v1.0/health" - ) - machine.succeed( - """curl -H "Content-Type: application/json" -X POST http://localhost:2222/jibri/api/v1.0/startService -d '{"sessionId": "RecordTest","callParams":{"callUrlInfo":{"baseUrl": "https://machine","callName": "TestCall"}},"callLoginParams":{"domain": "recorder.machine", "username": "recorder", "password": "'"$(cat /var/lib/jitsi-meet/jibri-recorder-secret)"'" },"sinkType": "file"}'""" - ) - machine.wait_until_succeeds( - "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'File recording service transitioning from state Starting up to Running'", timeout=35 - ) - machine.succeed( - """sleep 15 && curl -H "Content-Type: application/json" -X POST http://localhost:2222/jibri/api/v1.0/stopService -d '{"sessionId": "RecordTest","callParams":{"callUrlInfo":{"baseUrl": "https://machine","callName": "TestCall"}},"callLoginParams":{"domain": "recorder.machine", "username": "recorder", "password": "'"$(cat /var/lib/jitsi-meet/jibri-recorder-secret)"'" },"sinkType": "file"}'""" - ) - machine.wait_until_succeeds( - "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'Finalize script finished with exit value 0'", timeout=36 - ) - ''; -}) + assert '"busyStatus":"IDLE","health":{"healthStatus":"HEALTHY"' in machine.succeed( + "curl -X GET http://machine:2222/jibri/api/v1.0/health" + ) + machine.succeed( + """curl -H "Content-Type: application/json" -X POST http://localhost:2222/jibri/api/v1.0/startService -d '{"sessionId": "RecordTest","callParams":{"callUrlInfo":{"baseUrl": "https://machine","callName": "TestCall"}},"callLoginParams":{"domain": "recorder.machine", "username": "recorder", "password": "'"$(cat /var/lib/jitsi-meet/jibri-recorder-secret)"'" },"sinkType": "file"}'""" + ) + machine.wait_until_succeeds( + "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'File recording service transitioning from state Starting up to Running'", timeout=35 + ) + machine.succeed( + """sleep 15 && curl -H "Content-Type: application/json" -X POST http://localhost:2222/jibri/api/v1.0/stopService -d '{"sessionId": "RecordTest","callParams":{"callUrlInfo":{"baseUrl": "https://machine","callName": "TestCall"}},"callLoginParams":{"domain": "recorder.machine", "username": "recorder", "password": "'"$(cat /var/lib/jitsi-meet/jibri-recorder-secret)"'" },"sinkType": "file"}'""" + ) + machine.wait_until_succeeds( + "cat /var/log/jitsi/jibri/log.0.txt | grep -q 'Finalize script finished with exit value 0'", timeout=36 + ) + ''; + } +) diff --git a/nixos/tests/jirafeau.nix b/nixos/tests/jirafeau.nix index dbfaf515e2576..ba15b837d10f7 100644 --- a/nixos/tests/jirafeau.nix +++ b/nixos/tests/jirafeau.nix @@ -1,20 +1,24 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "jirafeau"; - meta.maintainers = with lib.maintainers; [ davidtwco ]; + { + name = "jirafeau"; + meta.maintainers = with lib.maintainers; [ davidtwco ]; - nodes.machine = { pkgs, ... }: { - services.jirafeau = { - enable = true; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.jirafeau = { + enable = true; + }; + }; - testScript = '' - machine.start() - machine.wait_for_unit("phpfpm-jirafeau.service") - machine.wait_for_unit("nginx.service") - machine.wait_for_open_port(80) - machine.succeed("curl -sSfL http://localhost/ | grep 'Jirafeau'") - ''; -}) + testScript = '' + machine.start() + machine.wait_for_unit("phpfpm-jirafeau.service") + machine.wait_for_unit("nginx.service") + machine.wait_for_open_port(80) + machine.succeed("curl -sSfL http://localhost/ | grep 'Jirafeau'") + ''; + } +) diff --git a/nixos/tests/jitsi-meet.nix b/nixos/tests/jitsi-meet.nix index fc6654f2c076c..a9934700ecf34 100644 --- a/nixos/tests/jitsi-meet.nix +++ b/nixos/tests/jitsi-meet.nix @@ -1,68 +1,80 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "jitsi-meet"; - meta = with pkgs.lib; { - maintainers = teams.jitsi.members; - }; - - nodes = { - client = { nodes, pkgs, ... }: { +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "jitsi-meet"; + meta = with pkgs.lib; { + maintainers = teams.jitsi.members; }; - server = { config, pkgs, ... }: { - services.jitsi-meet = { - enable = true; - hostName = "server"; - }; - services.jitsi-videobridge.openFirewall = true; - networking.firewall.allowedTCPPorts = [ 80 443 ]; + nodes = { + client = + { nodes, pkgs, ... }: + { + }; + server = + { config, pkgs, ... }: + { + services.jitsi-meet = { + enable = true; + hostName = "server"; + }; + services.jitsi-videobridge.openFirewall = true; - services.nginx.virtualHosts.server = { - enableACME = true; - forceSSL = true; - }; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; - security.acme.acceptTerms = true; - security.acme.defaults.email = "me@example.org"; - security.acme.defaults.server = "https://example.com"; # self-signed only + services.nginx.virtualHosts.server = { + enableACME = true; + forceSSL = true; + }; - specialisation.caddy = { - inheritParentConfig = true; - configuration = { - services.jitsi-meet = { - caddy.enable = true; - nginx.enable = false; + security.acme.acceptTerms = true; + security.acme.defaults.email = "me@example.org"; + security.acme.defaults.server = "https://example.com"; # self-signed only + + specialisation.caddy = { + inheritParentConfig = true; + configuration = { + services.jitsi-meet = { + caddy.enable = true; + nginx.enable = false; + }; + services.caddy.virtualHosts.${config.services.jitsi-meet.hostName}.extraConfig = '' + tls internal + ''; + }; }; - services.caddy.virtualHosts.${config.services.jitsi-meet.hostName}.extraConfig = '' - tls internal - ''; }; - }; }; - }; - testScript = { nodes, ... }: '' - server.wait_for_unit("jitsi-videobridge2.service") - server.wait_for_unit("jicofo.service") - server.wait_for_unit("nginx.service") - server.wait_for_unit("prosody.service") + testScript = + { nodes, ... }: + '' + server.wait_for_unit("jitsi-videobridge2.service") + server.wait_for_unit("jicofo.service") + server.wait_for_unit("nginx.service") + server.wait_for_unit("prosody.service") - server.wait_until_succeeds( - "journalctl -b -u prosody -o cat | grep -q 'Authenticated as focus@auth.server'" - ) - server.wait_until_succeeds( - "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jvb@auth.server'" - ) + server.wait_until_succeeds( + "journalctl -b -u prosody -o cat | grep -q 'Authenticated as focus@auth.server'" + ) + server.wait_until_succeeds( + "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jvb@auth.server'" + ) - client.wait_for_unit("network.target") + client.wait_for_unit("network.target") - def client_curl(): - assert "Jitsi Meet" in client.succeed("curl -sSfkL http://server/") + def client_curl(): + assert "Jitsi Meet" in client.succeed("curl -sSfkL http://server/") - client_curl() - - with subtest("Testing backup service"): - server.succeed("${nodes.server.system.build.toplevel}/specialisation/caddy/bin/switch-to-configuration test") - server.wait_for_unit("caddy.service") client_curl() - ''; -}) + + with subtest("Testing backup service"): + server.succeed("${nodes.server.system.build.toplevel}/specialisation/caddy/bin/switch-to-configuration test") + server.wait_for_unit("caddy.service") + client_curl() + ''; + } +) diff --git a/nixos/tests/jool.nix b/nixos/tests/jool.nix index 37a4ad6ce0111..3bbfc94690114 100644 --- a/nixos/tests/jool.nix +++ b/nixos/tests/jool.nix @@ -44,7 +44,10 @@ in # Border relay nodes.relay = { - virtualisation.vlans = [ 1 2 ]; + virtualisation.vlans = [ + 1 + 2 + ]; # Enable packet routing boot.kernel.sysctl = { @@ -54,8 +57,18 @@ in networking.useDHCP = false; networking.interfaces = lib.mkVMOverride { - eth1.ipv6.addresses = [ { address = "fd::198.51.100.1"; prefixLength = 120; } ]; - eth2.ipv4.addresses = [ { address = "192.0.2.1"; prefixLength = 24; } ]; + eth1.ipv6.addresses = [ + { + address = "fd::198.51.100.1"; + prefixLength = 120; + } + ]; + eth2.ipv4.addresses = [ + { + address = "192.0.2.1"; + prefixLength = 24; + } + ]; }; networking.jool.enable = true; @@ -64,25 +77,51 @@ in # IPv6 only node nodes.alice = { - imports = [ ipv6Only (webserver 6 "Hello, Bob!") ]; + imports = [ + ipv6Only + (webserver 6 "Hello, Bob!") + ]; virtualisation.vlans = [ 1 ]; networking.interfaces.eth1.ipv6 = { - addresses = [ { address = "fd::198.51.100.8"; prefixLength = 120; } ]; - routes = [ { address = "fd::192.0.2.0"; prefixLength = 120; - via = "fd::198.51.100.1"; } ]; + addresses = [ + { + address = "fd::198.51.100.8"; + prefixLength = 120; + } + ]; + routes = [ + { + address = "fd::192.0.2.0"; + prefixLength = 120; + via = "fd::198.51.100.1"; + } + ]; }; }; # IPv4 only node nodes.bob = { - imports = [ ipv4Only (webserver 4 "Hello, Alice!") ]; + imports = [ + ipv4Only + (webserver 4 "Hello, Alice!") + ]; virtualisation.vlans = [ 2 ]; networking.interfaces.eth1.ipv4 = { - addresses = [ { address = "192.0.2.16"; prefixLength = 24; } ]; - routes = [ { address = "198.51.100.0"; prefixLength = 24; - via = "192.0.2.1"; } ]; + addresses = [ + { + address = "192.0.2.16"; + prefixLength = 24; + } + ]; + routes = [ + { + address = "198.51.100.0"; + prefixLength = 24; + via = "192.0.2.1"; + } + ]; }; }; @@ -125,7 +164,10 @@ in # Router nodes.router = { - virtualisation.vlans = [ 1 2 ]; + virtualisation.vlans = [ + 1 + 2 + ]; # Enable packet routing boot.kernel.sysctl = { @@ -135,26 +177,53 @@ in networking.useDHCP = false; networking.interfaces = lib.mkVMOverride { - eth1.ipv6.addresses = [ { address = "2001:db8::1"; prefixLength = 96; } ]; - eth2.ipv4.addresses = [ { address = "203.0.113.1"; prefixLength = 24; } ]; + eth1.ipv6.addresses = [ + { + address = "2001:db8::1"; + prefixLength = 96; + } + ]; + eth2.ipv4.addresses = [ + { + address = "203.0.113.1"; + prefixLength = 24; + } + ]; }; networking.jool.enable = true; networking.jool.nat64.default = { bib = [ - { # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver) - "protocol" = "TCP"; + { + # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver) + "protocol" = "TCP"; "ipv4 address" = "203.0.113.1#80"; "ipv6 address" = "2001:db8::9#80"; } ]; pool4 = [ # Ports for dynamic translation - { protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; } - { protocol = "UDP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; } - { protocol = "ICMP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; } + { + protocol = "TCP"; + prefix = "203.0.113.1/32"; + "port range" = "40001-65535"; + } + { + protocol = "UDP"; + prefix = "203.0.113.1/32"; + "port range" = "40001-65535"; + } + { + protocol = "ICMP"; + prefix = "203.0.113.1/32"; + "port range" = "40001-65535"; + } # Ports for static BIB entries - { protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "80"; } + { + protocol = "TCP"; + prefix = "203.0.113.1/32"; + "port range" = "80"; + } ]; }; }; @@ -165,37 +234,61 @@ in virtualisation.vlans = [ 1 ]; networking.interfaces.eth1.ipv6 = { - addresses = lib.mkForce [ { address = "2001:db8::8"; prefixLength = 96; } ]; - routes = lib.mkForce [ { - address = "64:ff9b::"; - prefixLength = 96; - via = "2001:db8::1"; - } ]; + addresses = lib.mkForce [ + { + address = "2001:db8::8"; + prefixLength = 96; + } + ]; + routes = lib.mkForce [ + { + address = "64:ff9b::"; + prefixLength = 96; + via = "2001:db8::1"; + } + ]; }; }; # LAN server (IPv6 only) nodes.homeserver = { - imports = [ ipv6Only (webserver 6 "Hello from IPv6!") ]; + imports = [ + ipv6Only + (webserver 6 "Hello from IPv6!") + ]; virtualisation.vlans = [ 1 ]; networking.interfaces.eth1.ipv6 = { - addresses = lib.mkForce [ { address = "2001:db8::9"; prefixLength = 96; } ]; - routes = lib.mkForce [ { - address = "64:ff9b::"; - prefixLength = 96; - via = "2001:db8::1"; - } ]; + addresses = lib.mkForce [ + { + address = "2001:db8::9"; + prefixLength = 96; + } + ]; + routes = lib.mkForce [ + { + address = "64:ff9b::"; + prefixLength = 96; + via = "2001:db8::1"; + } + ]; }; }; # WAN server (IPv4 only) nodes.server = { - imports = [ ipv4Only (webserver 4 "Hello from IPv4!") ]; + imports = [ + ipv4Only + (webserver 4 "Hello from IPv4!") + ]; virtualisation.vlans = [ 2 ]; - networking.interfaces.eth1.ipv4.addresses = - [ { address = "203.0.113.16"; prefixLength = 24; } ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "203.0.113.16"; + prefixLength = 24; + } + ]; }; testScript = '' diff --git a/nixos/tests/jotta-cli.nix b/nixos/tests/jotta-cli.nix index 0df23ee2cba5c..27f576f93a538 100644 --- a/nixos/tests/jotta-cli.nix +++ b/nixos/tests/jotta-cli.nix @@ -1,25 +1,33 @@ -import ./make-test-python.nix ({ pkgs, ... }: { +import ./make-test-python.nix ( + { pkgs, ... }: + { - name = "jotta-cli"; - meta.maintainers = with pkgs.lib.maintainers; [ evenbrenden ]; + name = "jotta-cli"; + meta.maintainers = with pkgs.lib.maintainers; [ evenbrenden ]; - nodes.machine = { pkgs, ... }: { - services.jotta-cli.enable = true; - imports = [ ./common/user-account.nix ]; - }; + nodes.machine = + { pkgs, ... }: + { + services.jotta-cli.enable = true; + imports = [ ./common/user-account.nix ]; + }; - testScript = { nodes, ... }: - let uid = toString nodes.machine.users.users.alice.uid; - in '' - machine.start() + testScript = + { nodes, ... }: + let + uid = toString nodes.machine.users.users.alice.uid; + in + '' + machine.start() - machine.succeed("loginctl enable-linger alice") - machine.wait_for_unit("user@${uid}.service") + machine.succeed("loginctl enable-linger alice") + machine.wait_for_unit("user@${uid}.service") - machine.wait_for_unit("jottad.service", "alice") - machine.wait_for_open_unix_socket("/run/user/${uid}/jottad/jottad.socket") + machine.wait_for_unit("jottad.service", "alice") + machine.wait_for_open_unix_socket("/run/user/${uid}/jottad/jottad.socket") - # "jotta-cli version" should fail if jotta-cli cannot connect to jottad - machine.succeed('XDG_RUNTIME_DIR=/run/user/${uid} su alice -c "jotta-cli version"') - ''; -}) + # "jotta-cli version" should fail if jotta-cli cannot connect to jottad + machine.succeed('XDG_RUNTIME_DIR=/run/user/${uid} su alice -c "jotta-cli version"') + ''; + } +) diff --git a/nixos/tests/kanidm.nix b/nixos/tests/kanidm.nix index abbc8dc8a4769..b3b4e0213cbfa 100644 --- a/nixos/tests/kanidm.nix +++ b/nixos/tests/kanidm.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let certs = import ./common/acme/server/snakeoil-certs.nix; serverDomain = certs.domain; @@ -16,58 +17,72 @@ import ./make-test-python.nix ({ pkgs, ... }: in { name = "kanidm"; - meta.maintainers = with pkgs.lib.maintainers; [ Flakebi oddlama ]; - - nodes.server = { pkgs, ... }: { - services.kanidm = { - enableServer = true; - serverSettings = { - origin = "https://${serverDomain}"; - domain = serverDomain; - bindaddress = "[::]:443"; - ldapbindaddress = "[::1]:636"; - tls_chain = "${certsPath}/snakeoil.crt"; - tls_key = "${certsPath}/snakeoil.key"; + meta.maintainers = with pkgs.lib.maintainers; [ + Flakebi + oddlama + ]; + + nodes.server = + { pkgs, ... }: + { + services.kanidm = { + enableServer = true; + serverSettings = { + origin = "https://${serverDomain}"; + domain = serverDomain; + bindaddress = "[::]:443"; + ldapbindaddress = "[::1]:636"; + tls_chain = "${certsPath}/snakeoil.crt"; + tls_key = "${certsPath}/snakeoil.key"; + }; }; - }; - security.pki.certificateFiles = [ certs.ca.cert ]; + security.pki.certificateFiles = [ certs.ca.cert ]; - networking.hosts."::1" = [ serverDomain ]; - networking.firewall.allowedTCPPorts = [ 443 ]; + networking.hosts."::1" = [ serverDomain ]; + networking.firewall.allowedTCPPorts = [ 443 ]; - users.users.kanidm.shell = pkgs.bashInteractive; + users.users.kanidm.shell = pkgs.bashInteractive; - environment.systemPackages = with pkgs; [ kanidm openldap ripgrep ]; - }; + environment.systemPackages = with pkgs; [ + kanidm + openldap + ripgrep + ]; + }; - nodes.client = { nodes, ... }: { - services.kanidm = { - enableClient = true; - clientSettings = { - uri = "https://${serverDomain}"; - verify_ca = true; - verify_hostnames = true; - }; - enablePam = true; - unixSettings = { - pam_allowed_login_groups = [ "shell" ]; + nodes.client = + { nodes, ... }: + { + services.kanidm = { + enableClient = true; + clientSettings = { + uri = "https://${serverDomain}"; + verify_ca = true; + verify_hostnames = true; + }; + enablePam = true; + unixSettings = { + pam_allowed_login_groups = [ "shell" ]; + }; }; - }; - networking.hosts."${nodes.server.networking.primaryIPAddress}" = [ serverDomain ]; + networking.hosts."${nodes.server.networking.primaryIPAddress}" = [ serverDomain ]; - security.pki.certificateFiles = [ certs.ca.cert ]; - }; + security.pki.certificateFiles = [ certs.ca.cert ]; + }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: let - ldapBaseDN = builtins.concatStringsSep "," (map (s: "dc=" + s) (pkgs.lib.splitString "." serverDomain)); + ldapBaseDN = builtins.concatStringsSep "," ( + map (s: "dc=" + s) (pkgs.lib.splitString "." serverDomain) + ); # We need access to the config file in the test script. - filteredConfig = pkgs.lib.converge - (pkgs.lib.filterAttrsRecursive (_: v: v != null)) - nodes.server.services.kanidm.serverSettings; + filteredConfig = pkgs.lib.converge (pkgs.lib.filterAttrsRecursive ( + _: v: v != null + )) nodes.server.services.kanidm.serverSettings; serverConfigFile = (pkgs.formats.toml { }).generate "server.toml" filteredConfig; in '' @@ -133,4 +148,5 @@ import ./make-test-python.nix ({ pkgs, ... }: server.shutdown() client.shutdown() ''; - }) + } +) diff --git a/nixos/tests/karma.nix b/nixos/tests/karma.nix index 5ac2983b8aa3e..2e80aa97fbb58 100644 --- a/nixos/tests/karma.nix +++ b/nixos/tests/karma.nix @@ -1,84 +1,89 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "karma"; - nodes = { - server = { ... }: { - services.prometheus.alertmanager = { - enable = true; - logLevel = "debug"; - port = 9093; - openFirewall = true; - configuration = { - global = { - resolve_timeout = "1m"; - }; - route = { - # Root route node - receiver = "test"; - group_by = ["..."]; - continue = false; - group_wait = "1s"; - group_interval="15s"; - repeat_interval = "24h"; - }; - receivers = [ - { - name = "test"; - webhook_configs = [ +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "karma"; + nodes = { + server = + { ... }: + { + services.prometheus.alertmanager = { + enable = true; + logLevel = "debug"; + port = 9093; + openFirewall = true; + configuration = { + global = { + resolve_timeout = "1m"; + }; + route = { + # Root route node + receiver = "test"; + group_by = [ "..." ]; + continue = false; + group_wait = "1s"; + group_interval = "15s"; + repeat_interval = "24h"; + }; + receivers = [ { - url = "http://localhost:1234"; - send_resolved = true; - max_alerts = 0; + name = "test"; + webhook_configs = [ + { + url = "http://localhost:1234"; + send_resolved = true; + max_alerts = 0; + } + ]; } ]; - } - ]; - }; - }; - services.karma = { - enable = true; - openFirewall = true; - settings = { - listen = { - address = "0.0.0.0"; - port = 8081; + }; }; - alertmanager = { - servers = [ - { - name = "alertmanager"; - uri = "https://127.0.0.1:9093"; - } - ]; + services.karma = { + enable = true; + openFirewall = true; + settings = { + listen = { + address = "0.0.0.0"; + port = 8081; + }; + alertmanager = { + servers = [ + { + name = "alertmanager"; + uri = "https://127.0.0.1:9093"; + } + ]; + }; + karma.name = "test-dashboard"; + log.config = true; + log.requests = true; + log.timestamp = true; + }; }; - karma.name = "test-dashboard"; - log.config = true; - log.requests = true; - log.timestamp = true; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("Wait for server to come up"): + with subtest("Wait for server to come up"): - server.wait_for_unit("alertmanager.service") - server.wait_for_unit("karma.service") + server.wait_for_unit("alertmanager.service") + server.wait_for_unit("karma.service") - server.sleep(5) # wait for both services to settle + server.sleep(5) # wait for both services to settle - server.wait_for_open_port(9093) - server.wait_for_open_port(8081) + server.wait_for_open_port(9093) + server.wait_for_open_port(8081) - with subtest("Test alertmanager readiness"): - server.succeed("curl -s http://127.0.0.1:9093/-/ready") + with subtest("Test alertmanager readiness"): + server.succeed("curl -s http://127.0.0.1:9093/-/ready") - # Karma only starts serving the dashboard once it has established connectivity to all alertmanagers in its config - # Therefore, this will fail if karma isn't able to reach alertmanager - server.succeed("curl -s http://127.0.0.1:8081") + # Karma only starts serving the dashboard once it has established connectivity to all alertmanagers in its config + # Therefore, this will fail if karma isn't able to reach alertmanager + server.succeed("curl -s http://127.0.0.1:8081") - server.shutdown() - ''; -}) + server.shutdown() + ''; + } +) diff --git a/nixos/tests/kavita.nix b/nixos/tests/kavita.nix index bb55e1fb29d43..f9f51ebb80f86 100644 --- a/nixos/tests/kavita.nix +++ b/nixos/tests/kavita.nix @@ -1,42 +1,47 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "kavita"; - meta = with pkgs.lib.maintainers; { - maintainers = [ misterio77 ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "kavita"; + meta = with pkgs.lib.maintainers; { + maintainers = [ misterio77 ]; + }; - nodes = { - kavita = { config, pkgs, ... }: { - services.kavita = { - enable = true; - tokenKeyFile = builtins.toFile "kavita.key" "d26ba694b455271a8872415830fb7b5c58f8da98f9ef7f58b2ca4c34bd406512"; - }; + nodes = { + kavita = + { config, pkgs, ... }: + { + services.kavita = { + enable = true; + tokenKeyFile = builtins.toFile "kavita.key" "d26ba694b455271a8872415830fb7b5c58f8da98f9ef7f58b2ca4c34bd406512"; + }; + }; }; - }; - testScript = - let - regUrl = "http://kavita:5000/api/Account/register"; - loginUrl = "http://kavita:5000/api/Account/login"; - localeUrl = "http://kavita:5000/api/locale"; - in - '' - import json + testScript = + let + regUrl = "http://kavita:5000/api/Account/register"; + loginUrl = "http://kavita:5000/api/Account/login"; + localeUrl = "http://kavita:5000/api/locale"; + in + '' + import json - kavita.start - kavita.wait_for_unit("kavita.service") + kavita.start + kavita.wait_for_unit("kavita.service") - # Check that static assets are working - kavita.wait_until_succeeds("curl http://kavita:5000/site.webmanifest | grep Kavita") + # Check that static assets are working + kavita.wait_until_succeeds("curl http://kavita:5000/site.webmanifest | grep Kavita") - # Check that registration is working - kavita.succeed("""curl -fX POST ${regUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""") - # But only for the first one - kavita.fail("""curl -fX POST ${regUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""") + # Check that registration is working + kavita.succeed("""curl -fX POST ${regUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""") + # But only for the first one + kavita.fail("""curl -fX POST ${regUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""") - # Log in and retrieve token - session = json.loads(kavita.succeed("""curl -fX POST ${loginUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""")) - # Check list of locales - locales = json.loads(kavita.succeed(f"curl -fX GET ${localeUrl} -H 'Authorization: Bearer {session['token']}'")) - assert len(locales) > 0, "expected a list of locales" - ''; -}) + # Log in and retrieve token + session = json.loads(kavita.succeed("""curl -fX POST ${loginUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""")) + # Check list of locales + locales = json.loads(kavita.succeed(f"curl -fX GET ${localeUrl} -H 'Authorization: Bearer {session['token']}'")) + assert len(locales) > 0, "expected a list of locales" + ''; + } +) diff --git a/nixos/tests/kbd-setfont-decompress.nix b/nixos/tests/kbd-setfont-decompress.nix index 810ef39cc11a3..07ecf2c8979de 100644 --- a/nixos/tests/kbd-setfont-decompress.nix +++ b/nixos/tests/kbd-setfont-decompress.nix @@ -1,21 +1,23 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "kbd-setfont-decompress"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "kbd-setfont-decompress"; - meta.maintainers = with lib.maintainers; [ oxalica ]; + meta.maintainers = with lib.maintainers; [ oxalica ]; - nodes.machine = { ... }: {}; + nodes.machine = { ... }: { }; - testScript = '' - machine.succeed("gzip -cd ${pkgs.terminus_font}/share/consolefonts/ter-v16b.psf.gz >font.psf") - machine.succeed("gzip font.psf.gz") - machine.succeed("bzip2 font.psf.bz2") - machine.succeed("xz font.psf.xz") - machine.succeed("zstd font.psf.zst") - # setfont returns 0 even on error. - assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.gz 2>&1") == "" - assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.bz2 2>&1") == "" - assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.xz 2>&1") == "" - assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.zst 2>&1") == "" - ''; -}) + testScript = '' + machine.succeed("gzip -cd ${pkgs.terminus_font}/share/consolefonts/ter-v16b.psf.gz >font.psf") + machine.succeed("gzip font.psf.gz") + machine.succeed("bzip2 font.psf.bz2") + machine.succeed("xz font.psf.xz") + machine.succeed("zstd font.psf.zst") + # setfont returns 0 even on error. + assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.gz 2>&1") == "" + assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.bz2 2>&1") == "" + assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.xz 2>&1") == "" + assert machine.succeed("PATH= ${pkgs.kbd}/bin/setfont font.psf.zst 2>&1") == "" + ''; + } +) diff --git a/nixos/tests/kbd-update-search-paths-patch.nix b/nixos/tests/kbd-update-search-paths-patch.nix index 746a809c4cdf7..da2cf99b44a69 100644 --- a/nixos/tests/kbd-update-search-paths-patch.nix +++ b/nixos/tests/kbd-update-search-paths-patch.nix @@ -1,19 +1,24 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "kbd-update-search-paths-patch"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "kbd-update-search-paths-patch"; - nodes.machine = { pkgs, options, ... }: { - console = { - packages = options.console.packages.default ++ [ pkgs.terminus_font ]; - }; - }; + nodes.machine = + { pkgs, options, ... }: + { + console = { + packages = options.console.packages.default ++ [ pkgs.terminus_font ]; + }; + }; - testScript = '' - command = "${pkgs.kbd}/bin/setfont ter-112n 2>&1" - (status, out) = machine.execute(command) - import re - pattern = re.compile(r".*Unable to find file:.*") - match = pattern.match(out) - if match: - raise Exception("command `{}` failed".format(command)) - ''; -}) + testScript = '' + command = "${pkgs.kbd}/bin/setfont ter-112n 2>&1" + (status, out) = machine.execute(command) + import re + pattern = re.compile(r".*Unable to find file:.*") + match = pattern.match(out) + if match: + raise Exception("command `{}` failed".format(command)) + ''; + } +) diff --git a/nixos/tests/kea.nix b/nixos/tests/kea.nix index 653e280ec8b7e..51db35bede69a 100644 --- a/nixos/tests/kea.nix +++ b/nixos/tests/kea.nix @@ -5,209 +5,230 @@ # that the nameserver can resolve the clients fqdn to the correct IP # address. -import ./make-test-python.nix ({ pkgs, lib, ...}: { - meta.maintainers = with lib.maintainers; [ hexa ]; - - name = "kea"; - - nodes = { - router = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - - networking = { - useDHCP = false; - firewall.allowedUDPPorts = [ 67 ]; - }; - - systemd.network = { - enable = true; - networks = { - "01-eth1" = { - name = "eth1"; - networkConfig = { - Address = "10.0.0.1/29"; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + meta.maintainers = with lib.maintainers; [ hexa ]; + + name = "kea"; + + nodes = { + router = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + + networking = { + useDHCP = false; + firewall.allowedUDPPorts = [ 67 ]; }; - }; - }; - - services.kea.dhcp4 = { - enable = true; - settings = { - valid-lifetime = 3600; - renew-timer = 900; - rebind-timer = 1800; - - lease-database = { - type = "memfile"; - persist = true; - name = "/var/lib/kea/dhcp4.leases"; + + systemd.network = { + enable = true; + networks = { + "01-eth1" = { + name = "eth1"; + networkConfig = { + Address = "10.0.0.1/29"; + }; + }; + }; }; - control-socket = { - socket-type = "unix"; - socket-name = "/run/kea/dhcp4.sock"; + services.kea.dhcp4 = { + enable = true; + settings = { + valid-lifetime = 3600; + renew-timer = 900; + rebind-timer = 1800; + + lease-database = { + type = "memfile"; + persist = true; + name = "/var/lib/kea/dhcp4.leases"; + }; + + control-socket = { + socket-type = "unix"; + socket-name = "/run/kea/dhcp4.sock"; + }; + + interfaces-config = { + dhcp-socket-type = "raw"; + interfaces = [ + "eth1" + ]; + }; + + subnet4 = [ + { + id = 1; + subnet = "10.0.0.0/29"; + pools = [ + { + pool = "10.0.0.3 - 10.0.0.3"; + } + ]; + } + ]; + + # Enable communication between dhcp4 and a local dhcp-ddns + # instance. + # https://kea.readthedocs.io/en/kea-2.2.0/arm/dhcp4-srv.html#ddns-for-dhcpv4 + dhcp-ddns = { + enable-updates = true; + }; + + ddns-send-updates = true; + ddns-qualifying-suffix = "lan.nixos.test."; + }; }; - interfaces-config = { - dhcp-socket-type = "raw"; - interfaces = [ - "eth1" - ]; + services.kea.dhcp-ddns = { + enable = true; + settings = { + forward-ddns = { + # Configure updates of a forward zone named `lan.nixos.test` + # hosted at the nameserver at 10.0.0.2 + # https://kea.readthedocs.io/en/kea-2.2.0/arm/ddns.html#adding-forward-dns-servers + ddns-domains = [ + { + name = "lan.nixos.test."; + # Use a TSIG key in production! + key-name = ""; + dns-servers = [ + { + ip-address = "10.0.0.2"; + port = 53; + } + ]; + } + ]; + }; + }; }; - subnet4 = [ { - id = 1; - subnet = "10.0.0.0/29"; - pools = [ { - pool = "10.0.0.3 - 10.0.0.3"; - } ]; - } ]; - - # Enable communication between dhcp4 and a local dhcp-ddns - # instance. - # https://kea.readthedocs.io/en/kea-2.2.0/arm/dhcp4-srv.html#ddns-for-dhcpv4 - dhcp-ddns = { - enable-updates = true; + services.kea.ctrl-agent = { + enable = true; + settings = { + http-host = "127.0.0.1"; + http-port = 8000; + control-sockets.dhcp4 = { + socket-type = "unix"; + socket-name = "/run/kea/dhcp4.sock"; + }; + }; }; - ddns-send-updates = true; - ddns-qualifying-suffix = "lan.nixos.test."; - }; - }; - - services.kea.dhcp-ddns = { - enable = true; - settings = { - forward-ddns = { - # Configure updates of a forward zone named `lan.nixos.test` - # hosted at the nameserver at 10.0.0.2 - # https://kea.readthedocs.io/en/kea-2.2.0/arm/ddns.html#adding-forward-dns-servers - ddns-domains = [ { - name = "lan.nixos.test."; - # Use a TSIG key in production! - key-name = ""; - dns-servers = [ { - ip-address = "10.0.0.2"; - port = 53; - } ]; - } ]; + services.prometheus.exporters.kea = { + enable = true; + controlSocketPaths = [ + "http://127.0.0.1:8000" + ]; }; }; - }; - - services.kea.ctrl-agent = { - enable = true; - settings = { - http-host = "127.0.0.1"; - http-port = 8000; - control-sockets.dhcp4 = { - socket-type = "unix"; - socket-name = "/run/kea/dhcp4.sock"; + + nameserver = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + + networking = { + useDHCP = false; + firewall.allowedUDPPorts = [ 53 ]; }; - }; - }; - - services.prometheus.exporters.kea = { - enable = true; - controlSocketPaths = [ - "http://127.0.0.1:8000" - ]; - }; - }; - nameserver = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - - networking = { - useDHCP = false; - firewall.allowedUDPPorts = [ 53 ]; - }; - - systemd.network = { - enable = true; - networks = { - "01-eth1" = { - name = "eth1"; - networkConfig = { - Address = "10.0.0.2/29"; + systemd.network = { + enable = true; + networks = { + "01-eth1" = { + name = "eth1"; + networkConfig = { + Address = "10.0.0.2/29"; + }; + }; }; }; - }; - }; - - services.resolved.enable = false; - - # Set up an authoritative nameserver, serving the `lan.nixos.test` - # zone and configure an ACL that allows dynamic updates from - # the router's ip address. - # This ACL is likely insufficient for production usage. Please - # use TSIG keys. - services.knot = let - zone = pkgs.writeTextDir "lan.nixos.test.zone" '' - @ SOA ns.nixos.test nox.nixos.test 0 86400 7200 3600000 172800 - @ NS nameserver - nameserver A 10.0.0.3 - router A 10.0.0.1 - ''; - zonesDir = pkgs.buildEnv { - name = "knot-zones"; - paths = [ zone ]; - }; - in { - enable = true; - extraArgs = [ - "-v" - ]; - settings = { - server.listen = [ - "0.0.0.0@53" - ]; - - log.syslog.any = "info"; - - acl.dhcp_ddns = { - address = "10.0.0.1"; - action = "update"; - }; - template.default = { - storage = zonesDir; - zonefile-sync = "-1"; - zonefile-load = "difference-no-serial"; - journal-content = "all"; - }; + services.resolved.enable = false; + + # Set up an authoritative nameserver, serving the `lan.nixos.test` + # zone and configure an ACL that allows dynamic updates from + # the router's ip address. + # This ACL is likely insufficient for production usage. Please + # use TSIG keys. + services.knot = + let + zone = pkgs.writeTextDir "lan.nixos.test.zone" '' + @ SOA ns.nixos.test nox.nixos.test 0 86400 7200 3600000 172800 + @ NS nameserver + nameserver A 10.0.0.3 + router A 10.0.0.1 + ''; + zonesDir = pkgs.buildEnv { + name = "knot-zones"; + paths = [ zone ]; + }; + in + { + enable = true; + extraArgs = [ + "-v" + ]; + settings = { + server.listen = [ + "0.0.0.0@53" + ]; + + log.syslog.any = "info"; + + acl.dhcp_ddns = { + address = "10.0.0.1"; + action = "update"; + }; + + template.default = { + storage = zonesDir; + zonefile-sync = "-1"; + zonefile-load = "difference-no-serial"; + journal-content = "all"; + }; + + zone."lan.nixos.test" = { + file = "lan.nixos.test.zone"; + acl = [ + "dhcp_ddns" + ]; + }; + }; + }; - zone."lan.nixos.test" = { - file = "lan.nixos.test.zone"; - acl = [ - "dhcp_ddns" - ]; - }; }; - }; - - }; - client = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - interfaces.eth1.useDHCP = true; - }; + client = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + interfaces.eth1.useDHCP = true; + }; + }; }; - }; - testScript = { ... }: '' - start_all() - router.wait_for_unit("kea-dhcp4-server.service") - client.wait_for_unit("systemd-networkd-wait-online.service") - client.wait_until_succeeds("ping -c 5 10.0.0.1") - router.wait_until_succeeds("ping -c 5 10.0.0.3") - nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3") - router.log(router.execute("curl 127.0.0.1:9547")[1]) - router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'") - ''; -}) + testScript = + { ... }: + '' + start_all() + router.wait_for_unit("kea-dhcp4-server.service") + client.wait_for_unit("systemd-networkd-wait-online.service") + client.wait_until_succeeds("ping -c 5 10.0.0.1") + router.wait_until_succeeds("ping -c 5 10.0.0.3") + nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3") + router.log(router.execute("curl 127.0.0.1:9547")[1]) + router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'") + ''; + } +) diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix index d487d87fbacbd..c2d68e29b7983 100644 --- a/nixos/tests/keepassxc.nix +++ b/nixos/tests/keepassxc.nix @@ -1,88 +1,94 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -{ - name = "keepassxc"; - meta = with pkgs.lib.maintainers; { - maintainers = [ turion ]; - timeout = 1800; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ - ./common/user-account.nix - ./common/x11.nix - ]; - - services.xserver.enable = true; - - # for better OCR - environment.etc."icewm/prefoverride".text = '' - ColorActiveTitleBar = "rgb:FF/FF/FF" - ''; - - # Regression test for https://github.com/NixOS/nixpkgs/issues/163482 - qt = { - enable = true; - platformTheme = "gnome"; - style = "adwaita-dark"; + name = "keepassxc"; + meta = with pkgs.lib.maintainers; { + maintainers = [ turion ]; + timeout = 1800; }; - test-support.displayManager.auto.user = "alice"; - environment.systemPackages = with pkgs; [ - keepassxc - xdotool - ]; - }; - - enableOCR = true; - - testScript = { nodes, ... }: let - aliceDo = cmd: ''machine.succeed("su - alice -c '${cmd}' >&2 &");''; - in '' - with subtest("Ensure X starts"): - start_all() - machine.wait_for_x() - - with subtest("Can create database and entry with CLI"): - ${aliceDo "keepassxc-cli db-create --set-key-file foo.keyfile foo.kdbx"} - ${aliceDo "keepassxc-cli add --no-password -k foo.keyfile foo.kdbx bar"} - - with subtest("Ensure KeePassXC starts"): - # start KeePassXC window - ${aliceDo "keepassxc >&2 &"} - - machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}") - machine.screenshot("KeePassXC") - - with subtest("Can open existing database"): - machine.send_key("ctrl-o") - machine.sleep(5) - # Regression #163482: keepassxc did not crash - machine.succeed("ps -e | grep keepassxc") - machine.wait_for_text("Open database") - machine.send_key("ret") - - # Wait for the enter password screen to appear. - machine.wait_for_text("/home/alice/foo.kdbx") - - # Click on "I have key file" button to open keyfile dialog - machine.send_key("tab") - machine.send_key("tab") - machine.send_key("tab") - machine.send_key("ret") - - # Select keyfile - machine.wait_for_text("Select key file") - machine.send_chars("/home/alice/foo.keyfile") - machine.send_key("ret") - - # Open database - machine.wait_for_text("foo.kdbx \\[Locked] - KeePassXC") - machine.send_key("ret") - - # Database is unlocked (doesn't have "[Locked]" in the title anymore) - machine.wait_for_text("foo.kdbx - KeePassXC") - ''; -}) + nodes.machine = + { ... }: + + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + services.xserver.enable = true; + + # for better OCR + environment.etc."icewm/prefoverride".text = '' + ColorActiveTitleBar = "rgb:FF/FF/FF" + ''; + + # Regression test for https://github.com/NixOS/nixpkgs/issues/163482 + qt = { + enable = true; + platformTheme = "gnome"; + style = "adwaita-dark"; + }; + + test-support.displayManager.auto.user = "alice"; + environment.systemPackages = with pkgs; [ + keepassxc + xdotool + ]; + }; + + enableOCR = true; + + testScript = + { nodes, ... }: + let + aliceDo = cmd: ''machine.succeed("su - alice -c '${cmd}' >&2 &");''; + in + '' + with subtest("Ensure X starts"): + start_all() + machine.wait_for_x() + + with subtest("Can create database and entry with CLI"): + ${aliceDo "keepassxc-cli db-create --set-key-file foo.keyfile foo.kdbx"} + ${aliceDo "keepassxc-cli add --no-password -k foo.keyfile foo.kdbx bar"} + + with subtest("Ensure KeePassXC starts"): + # start KeePassXC window + ${aliceDo "keepassxc >&2 &"} + + machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}") + machine.screenshot("KeePassXC") + + with subtest("Can open existing database"): + machine.send_key("ctrl-o") + machine.sleep(5) + # Regression #163482: keepassxc did not crash + machine.succeed("ps -e | grep keepassxc") + machine.wait_for_text("Open database") + machine.send_key("ret") + + # Wait for the enter password screen to appear. + machine.wait_for_text("/home/alice/foo.kdbx") + + # Click on "I have key file" button to open keyfile dialog + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("ret") + + # Select keyfile + machine.wait_for_text("Select key file") + machine.send_chars("/home/alice/foo.keyfile") + machine.send_key("ret") + + # Open database + machine.wait_for_text("foo.kdbx \\[Locked] - KeePassXC") + machine.send_key("ret") + + # Database is unlocked (doesn't have "[Locked]" in the title anymore) + machine.wait_for_text("foo.kdbx - KeePassXC") + ''; + } +) diff --git a/nixos/tests/kerberos/default.nix b/nixos/tests/kerberos/default.nix index e21d25c519b57..26c6ad33d8a78 100644 --- a/nixos/tests/kerberos/default.nix +++ b/nixos/tests/kerberos/default.nix @@ -1,5 +1,6 @@ -{ system ? builtins.currentSystem -, pkgs ? import ../../.. { inherit system; } +{ + system ? builtins.currentSystem, + pkgs ? import ../../.. { inherit system; }, }: { mit = import ./mit.nix { inherit system pkgs; }; diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix index 098080a84592e..e97e8797e05b9 100644 --- a/nixos/tests/kerberos/heimdal.nix +++ b/nixos/tests/kerberos/heimdal.nix @@ -1,47 +1,65 @@ -import ../make-test-python.nix ({pkgs, ...}: { - name = "kerberos_server-heimdal"; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "kerberos_server-heimdal"; - nodes.machine = { config, libs, pkgs, ...}: - { services.kerberos_server = - { enable = true; - settings.realms = { - "FOO.BAR".acl = [{principal = "admin"; access = ["add" "cpw"];}]; - }; - }; - security.krb5 = { - enable = true; - package = pkgs.heimdal; - settings = { - libdefaults = { - default_realm = "FOO.BAR"; + nodes.machine = + { + config, + libs, + pkgs, + ... + }: + { + services.kerberos_server = { + enable = true; + settings.realms = { + "FOO.BAR".acl = [ + { + principal = "admin"; + access = [ + "add" + "cpw" + ]; + } + ]; + }; }; - realms = { - "FOO.BAR" = { - admin_server = "machine"; - kdc = "machine"; + security.krb5 = { + enable = true; + package = pkgs.heimdal; + settings = { + libdefaults = { + default_realm = "FOO.BAR"; + }; + realms = { + "FOO.BAR" = { + admin_server = "machine"; + kdc = "machine"; + }; + }; }; }; }; - }; - }; - testScript = '' - machine.succeed( - "kadmin -l init --realm-max-ticket-life='8 day' --realm-max-renewable-life='10 day' FOO.BAR", - "systemctl restart kadmind.service kdc.service", - ) + testScript = '' + machine.succeed( + "kadmin -l init --realm-max-ticket-life='8 day' --realm-max-renewable-life='10 day' FOO.BAR", + "systemctl restart kadmind.service kdc.service", + ) - for unit in ["kadmind", "kdc", "kpasswdd"]: - machine.wait_for_unit(f"{unit}.service") + for unit in ["kadmind", "kdc", "kpasswdd"]: + machine.wait_for_unit(f"{unit}.service") - machine.succeed( - "kadmin -l add --password=admin_pw --use-defaults admin", - "kadmin -l ext_keytab --keytab=admin.keytab admin", - "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults alice", - "kadmin -l ext_keytab --keytab=alice.keytab alice", - "kinit -kt alice.keytab alice", - ) - ''; + machine.succeed( + "kadmin -l add --password=admin_pw --use-defaults admin", + "kadmin -l ext_keytab --keytab=admin.keytab admin", + "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults alice", + "kadmin -l ext_keytab --keytab=alice.keytab alice", + "kinit -kt alice.keytab alice", + ) + ''; - meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ]; -}) + meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ]; + } +) diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix index 172261f95fe6b..6c1f092010772 100644 --- a/nixos/tests/kerberos/mit.nix +++ b/nixos/tests/kerberos/mit.nix @@ -1,46 +1,66 @@ -import ../make-test-python.nix ({pkgs, ...}: { - name = "kerberos_server-mit"; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "kerberos_server-mit"; - nodes.machine = { config, libs, pkgs, ...}: - { services.kerberos_server = - { enable = true; - settings.realms = { - "FOO.BAR".acl = [{principal = "admin"; access = ["add" "cpw"];}]; - }; - }; - security.krb5 = { - enable = true; - package = pkgs.krb5; - settings = { - libdefaults = { - default_realm = "FOO.BAR"; + nodes.machine = + { + config, + libs, + pkgs, + ... + }: + { + services.kerberos_server = { + enable = true; + settings.realms = { + "FOO.BAR".acl = [ + { + principal = "admin"; + access = [ + "add" + "cpw" + ]; + } + ]; + }; }; - realms = { - "FOO.BAR" = { - admin_server = "machine"; - kdc = "machine"; + security.krb5 = { + enable = true; + package = pkgs.krb5; + settings = { + libdefaults = { + default_realm = "FOO.BAR"; + }; + realms = { + "FOO.BAR" = { + admin_server = "machine"; + kdc = "machine"; + }; + }; }; }; + users.extraUsers.alice = { + isNormalUser = true; + }; }; - }; - users.extraUsers.alice = { isNormalUser = true; }; - }; - testScript = '' - machine.succeed( - "kdb5_util create -s -r FOO.BAR -P master_key", - "systemctl restart kadmind.service kdc.service", - ) + testScript = '' + machine.succeed( + "kdb5_util create -s -r FOO.BAR -P master_key", + "systemctl restart kadmind.service kdc.service", + ) - for unit in ["kadmind", "kdc"]: - machine.wait_for_unit(f"{unit}.service") + for unit in ["kadmind", "kdc"]: + machine.wait_for_unit(f"{unit}.service") - machine.succeed( - "kadmin.local add_principal -pw admin_pw admin", - "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice", - "echo alice_pw | sudo -u alice kinit", - ) - ''; + machine.succeed( + "kadmin.local add_principal -pw admin_pw admin", + "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice", + "echo alice_pw | sudo -u alice kinit", + ) + ''; - meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ]; -}) + meta.maintainers = [ pkgs.lib.maintainers.dblsaiko ]; + } +) diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix index 0171a1e79e1f1..fca4b4f4fe800 100644 --- a/nixos/tests/kernel-generic.nix +++ b/nixos/tests/kernel-generic.nix @@ -1,28 +1,38 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }@args: with pkgs.lib; let - testsForLinuxPackages = linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: { - name = "kernel-${linuxPackages.kernel.version}"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nequissimus atemu ma27 ]; - }; - - nodes.machine = { ... }: + testsForLinuxPackages = + linuxPackages: + (import ./make-test-python.nix ( + { pkgs, ... }: { - boot.kernelPackages = linuxPackages; - }; - - testScript = - '' - assert "Linux" in machine.succeed("uname -s") - assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a") - ''; - }) args); + name = "kernel-${linuxPackages.kernel.version}"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + nequissimus + atemu + ma27 + ]; + }; + + nodes.machine = + { ... }: + { + boot.kernelPackages = linuxPackages; + }; + + testScript = '' + assert "Linux" in machine.succeed("uname -s") + assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a") + ''; + } + ) args); kernels = pkgs.linuxKernel.vanillaPackages // { inherit (pkgs.linuxKernel.packages) linux_5_4_hardened @@ -38,10 +48,13 @@ let linux_rt_6_6 linux_libre - linux_testing; + linux_testing + ; }; -in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // { +in +mapAttrs (_: lP: testsForLinuxPackages lP) kernels +// { passthru = { inherit testsForLinuxPackages; diff --git a/nixos/tests/kernel-latest-ath-user-regd.nix b/nixos/tests/kernel-latest-ath-user-regd.nix index 09e1da9d2affe..ede82d7d340a8 100644 --- a/nixos/tests/kernel-latest-ath-user-regd.nix +++ b/nixos/tests/kernel-latest-ath-user-regd.nix @@ -1,17 +1,20 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "kernel-latest-ath-user-regd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ veehaitch ]; - }; - - nodes.machine = { pkgs, ... }: - { - boot.kernelPackages = pkgs.linuxPackages_latest; - networking.wireless.athUserRegulatoryDomain = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "kernel-latest-ath-user-regd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ veehaitch ]; }; - testScript = - '' + nodes.machine = + { pkgs, ... }: + { + boot.kernelPackages = pkgs.linuxPackages_latest; + networking.wireless.athUserRegulatoryDomain = true; + }; + + testScript = '' assert "CONFIG_ATH_USER_REGD=y" in machine.succeed("zcat /proc/config.gz") ''; -}) + } +) diff --git a/nixos/tests/kernel-rust.nix b/nixos/tests/kernel-rust.nix index f32d433260616..27fd29353d4d3 100644 --- a/nixos/tests/kernel-rust.nix +++ b/nixos/tests/kernel-rust.nix @@ -1,45 +1,65 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: let - inherit (pkgs.lib) const filterAttrs mapAttrs meta; + inherit (pkgs.lib) + const + filterAttrs + mapAttrs + meta + ; - kernelRustTest = kernelPackages: import ./make-test-python.nix ({ lib, ... }: { - name = "kernel-rust"; - meta.maintainers = with lib.maintainers; [ blitz ma27 ]; - nodes.machine = { config, ... }: { - boot = { - inherit kernelPackages; - extraModulePackages = [ config.boot.kernelPackages.rust-out-of-tree-module ]; - kernelPatches = [ + kernelRustTest = + kernelPackages: + import ./make-test-python.nix ( + { lib, ... }: + { + name = "kernel-rust"; + meta.maintainers = with lib.maintainers; [ + blitz + ma27 + ]; + nodes.machine = + { config, ... }: { - name = "Rust Support"; - patch = null; - features = { - rust = true; + boot = { + inherit kernelPackages; + extraModulePackages = [ config.boot.kernelPackages.rust-out-of-tree-module ]; + kernelPatches = [ + { + name = "Rust Support"; + patch = null; + features = { + rust = true; + }; + } + ]; }; - } - ]; - }; - }; - testScript = '' - machine.wait_for_unit("default.target") - machine.succeed("modprobe rust_out_of_tree") - ''; - }); + }; + testScript = '' + machine.wait_for_unit("default.target") + machine.succeed("modprobe rust_out_of_tree") + ''; + } + ); - kernels = { - inherit (pkgs.linuxKernel.packages) linux_testing; - } - // filterAttrs - (const (x: let - inherit (builtins.tryEval ( - x.rust-out-of-tree-module or null != null - )) success value; - available = - meta.availableOn pkgs.stdenv.hostPlatform x.rust-out-of-tree-module; - in success && value && available)) - pkgs.linuxKernel.vanillaPackages; -in mapAttrs (const kernelRustTest) kernels + kernels = + { + inherit (pkgs.linuxKernel.packages) linux_testing; + } + // filterAttrs (const ( + x: + let + inherit (builtins.tryEval (x.rust-out-of-tree-module or null != null)) + success + value + ; + available = meta.availableOn pkgs.stdenv.hostPlatform x.rust-out-of-tree-module; + in + success && value && available + )) pkgs.linuxKernel.vanillaPackages; +in +mapAttrs (const kernelRustTest) kernels diff --git a/nixos/tests/keter.nix b/nixos/tests/keter.nix index 1cc2ffbde0a08..d42b30d869d96 100644 --- a/nixos/tests/keter.nix +++ b/nixos/tests/keter.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let port = 81; in @@ -8,36 +9,39 @@ import ./make-test-python.nix ({ pkgs, ... }: maintainers = [ jappie ]; }; + nodes.machine = + { config, pkgs, ... }: + { + services.keter = { + enable = true; - nodes.machine = { config, pkgs, ... }: { - services.keter = { - enable = true; - - globalKeterConfig = { - cli-port = 123; # just adding this to test the freeform - listeners = [{ - host = "*4"; - inherit port; - }]; - }; - bundle = { - appName = "test-bundle"; - domain = "localhost"; - executable = pkgs.writeShellScript "run" '' - ${pkgs.python3}/bin/python -m http.server $PORT - ''; + globalKeterConfig = { + cli-port = 123; # just adding this to test the freeform + listeners = [ + { + host = "*4"; + inherit port; + } + ]; + }; + bundle = { + appName = "test-bundle"; + domain = "localhost"; + executable = pkgs.writeShellScript "run" '' + ${pkgs.python3}/bin/python -m http.server $PORT + ''; + }; }; }; - }; - testScript = - '' - machine.wait_for_unit("keter.service") + testScript = '' + machine.wait_for_unit("keter.service") - machine.wait_for_open_port(${toString port}) - machine.wait_for_console_text("Activating app test-bundle with hosts: localhost") + machine.wait_for_open_port(${toString port}) + machine.wait_for_console_text("Activating app test-bundle with hosts: localhost") - machine.succeed("curl --fail http://localhost:${toString port}/") - ''; - }) + machine.succeed("curl --fail http://localhost:${toString port}/") + ''; + } +) diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index 4d1be497b8bac..06bd65405f6f7 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -1,50 +1,62 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "kexec"; - meta = with lib.maintainers; { - maintainers = [ flokli lassulus ]; - }; - - nodes = { - node1 = { ... }: { - virtualisation.vlans = [ ]; - virtualisation.memorySize = 4 * 1024; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "kexec"; + meta = with lib.maintainers; { + maintainers = [ + flokli + lassulus + ]; }; - node2 = { modulesPath, ... }: { - virtualisation.vlans = [ ]; - environment.systemPackages = [ pkgs.hello ]; - imports = [ - "${modulesPath}/installer/netboot/netboot-minimal.nix" - "${modulesPath}/testing/test-instrumentation.nix" - "${modulesPath}/profiles/qemu-guest.nix" - ]; + nodes = { + node1 = + { ... }: + { + virtualisation.vlans = [ ]; + virtualisation.memorySize = 4 * 1024; + }; + + node2 = + { modulesPath, ... }: + { + virtualisation.vlans = [ ]; + environment.systemPackages = [ pkgs.hello ]; + imports = [ + "${modulesPath}/installer/netboot/netboot-minimal.nix" + "${modulesPath}/testing/test-instrumentation.nix" + "${modulesPath}/profiles/qemu-guest.nix" + ]; + }; }; - }; - testScript = { nodes, ... }: '' - # Test whether reboot via kexec works. - node1.wait_for_unit("multi-user.target") - node1.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(&2 &", check_return=False) - node1.connected = False - node1.connect() - node1.wait_for_unit("multi-user.target") + testScript = + { nodes, ... }: + '' + # Test whether reboot via kexec works. + node1.wait_for_unit("multi-user.target") + node1.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(&2 &", check_return=False) + node1.connected = False + node1.connect() + node1.wait_for_unit("multi-user.target") - # Check if the machine with netboot-minimal.nix profile boots up - node2.wait_for_unit("multi-user.target") - node2.shutdown() + # Check if the machine with netboot-minimal.nix profile boots up + node2.wait_for_unit("multi-user.target") + node2.shutdown() - # Kexec node1 to the toplevel of node2 via the kexec-boot script - node1.succeed('touch /run/foo') - node1.fail('hello') - node1.execute('${nodes.node2.system.build.kexecTree}/kexec-boot', check_output=False) - node1.connected = False - node1.connect() - node1.wait_for_unit("multi-user.target") - node1.succeed('! test -e /run/foo') - node1.succeed('hello') - node1.succeed('[ "$(hostname)" = "node2" ]') + # Kexec node1 to the toplevel of node2 via the kexec-boot script + node1.succeed('touch /run/foo') + node1.fail('hello') + node1.execute('${nodes.node2.system.build.kexecTree}/kexec-boot', check_output=False) + node1.connected = False + node1.connect() + node1.wait_for_unit("multi-user.target") + node1.succeed('! test -e /run/foo') + node1.succeed('hello') + node1.succeed('[ "$(hostname)" = "node2" ]') - node1.shutdown() - ''; -}) + node1.shutdown() + ''; + } +) diff --git a/nixos/tests/keycloak.nix b/nixos/tests/keycloak.nix index baed9419061df..28b47661f3d88 100644 --- a/nixos/tests/keycloak.nix +++ b/nixos/tests/keycloak.nix @@ -6,176 +6,184 @@ let certs = import ./common/acme/server/snakeoil-certs.nix; frontendUrl = "https://${certs.domain}"; - keycloakTest = databaseType: import ./make-test-python.nix ( - { pkgs, ... }: - let - initialAdminPassword = "h4Iho\"JFn't2>iQIR9"; - adminPasswordFile = pkgs.writeText "admin-password" "${initialAdminPassword}"; - in - { - name = "keycloak"; - meta = with pkgs.lib.maintainers; { - maintainers = [ talyz ]; - }; - - nodes = { - keycloak = { config, ... }: { - virtualisation.memorySize = 2047; - - security.pki.certificateFiles = [ - certs.ca.cert - ]; - - networking.extraHosts = '' - 127.0.0.1 ${certs.domain} - ''; + keycloakTest = + databaseType: + import ./make-test-python.nix ( + { pkgs, ... }: + let + initialAdminPassword = "h4Iho\"JFn't2>iQIR9"; + adminPasswordFile = pkgs.writeText "admin-password" "${initialAdminPassword}"; + in + { + name = "keycloak"; + meta = with pkgs.lib.maintainers; { + maintainers = [ talyz ]; + }; - services.keycloak = { - enable = true; - settings = { - hostname = certs.domain; - }; - inherit initialAdminPassword; - sslCertificate = "${certs.${certs.domain}.cert}"; - sslCertificateKey = "${certs.${certs.domain}.key}"; - database = { - type = databaseType; - username = "bogus"; - name = "also bogus"; - passwordFile = "${pkgs.writeText "dbPassword" ''wzf6\"vO"Cb\nP>p#6;c&o?eu=q'THE'''H''''E''}"; + nodes = { + keycloak = + { config, ... }: + { + virtualisation.memorySize = 2047; + + security.pki.certificateFiles = [ + certs.ca.cert + ]; + + networking.extraHosts = '' + 127.0.0.1 ${certs.domain} + ''; + + services.keycloak = { + enable = true; + settings = { + hostname = certs.domain; + }; + inherit initialAdminPassword; + sslCertificate = "${certs.${certs.domain}.cert}"; + sslCertificateKey = "${certs.${certs.domain}.key}"; + database = { + type = databaseType; + username = "bogus"; + name = "also bogus"; + passwordFile = "${pkgs.writeText "dbPassword" ''wzf6\"vO"Cb\nP>p#6;c&o?eu=q'THE'''H''''E''}"; + }; + plugins = with config.services.keycloak.package.plugins; [ + keycloak-discord + keycloak-metrics-spi + ]; + }; + environment.systemPackages = with pkgs; [ + htmlq + jq + ]; }; - plugins = with config.services.keycloak.package.plugins; [ - keycloak-discord - keycloak-metrics-spi - ]; - }; - environment.systemPackages = with pkgs; [ - htmlq - jq - ]; }; - }; - - testScript = - let - client = { - clientId = "test-client"; - name = "test-client"; - redirectUris = [ "urn:ietf:wg:oauth:2.0:oob" ]; - }; - - user = { - firstName = "Chuck"; - lastName = "Testa"; - username = "chuck.testa"; - email = "chuck.testa@example.com"; - }; - - password = "password1234"; - - realm = { - enabled = true; - realm = "test-realm"; - clients = [ client ]; - users = [ - ( - user // { - enabled = true; - credentials = [{ - type = "password"; - temporary = false; - value = password; - }]; - } - ) - ]; - }; - - realmDataJson = pkgs.writeText "realm-data.json" (builtins.toJSON realm); - - jqCheckUserinfo = pkgs.writeText "check-userinfo.jq" '' - if { - "firstName": .given_name, - "lastName": .family_name, - "username": .preferred_username, - "email": .email - } != ${builtins.toJSON user} then - error("Wrong user info!") - else - empty - end + + testScript = + let + client = { + clientId = "test-client"; + name = "test-client"; + redirectUris = [ "urn:ietf:wg:oauth:2.0:oob" ]; + }; + + user = { + firstName = "Chuck"; + lastName = "Testa"; + username = "chuck.testa"; + email = "chuck.testa@example.com"; + }; + + password = "password1234"; + + realm = { + enabled = true; + realm = "test-realm"; + clients = [ client ]; + users = [ + ( + user + // { + enabled = true; + credentials = [ + { + type = "password"; + temporary = false; + value = password; + } + ]; + } + ) + ]; + }; + + realmDataJson = pkgs.writeText "realm-data.json" (builtins.toJSON realm); + + jqCheckUserinfo = pkgs.writeText "check-userinfo.jq" '' + if { + "firstName": .given_name, + "lastName": .family_name, + "username": .preferred_username, + "email": .email + } != ${builtins.toJSON user} then + error("Wrong user info!") + else + empty + end + ''; + in + '' + keycloak.start() + keycloak.wait_for_unit("keycloak.service") + keycloak.wait_for_open_port(443) + keycloak.wait_until_succeeds("curl -sSf ${frontendUrl}") + + ### Realm Setup ### + + # Get an admin interface access token + keycloak.succeed(""" + curl -sSf -d 'client_id=admin-cli' \ + -d 'username=admin' \ + -d "password=$(<${adminPasswordFile})" \ + -d 'grant_type=password' \ + '${frontendUrl}/realms/master/protocol/openid-connect/token' \ + | jq -r '"Authorization: bearer " + .access_token' >admin_auth_header + """) + + # Register the metrics SPI + keycloak.succeed( + """${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt""", + """KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password "$(<${adminPasswordFile})" """, + """KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'""", + """curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'""" + ) + + # Publish the realm, including a test OIDC client and user + keycloak.succeed( + "curl -sSf -H @admin_auth_header -X POST -H 'Content-Type: application/json' -d @${realmDataJson} '${frontendUrl}/admin/realms/'" + ) + + # Generate and save the client secret. To do this we need + # Keycloak's internal id for the client. + keycloak.succeed( + "curl -sSf -H @admin_auth_header '${frontendUrl}/admin/realms/${realm.realm}/clients?clientId=${client.name}' | jq -r '.[].id' >client_id", + "curl -sSf -H @admin_auth_header -X POST '${frontendUrl}/admin/realms/${realm.realm}/clients/'$(client_secret", + ) + + + ### Authentication Testing ### + + # Start the login process by sending an initial request to the + # OIDC authentication endpoint, saving the returned page. Tidy + # up the HTML (XmlStarlet is picky) and extract the login form + # post url. + keycloak.succeed( + "curl -sSf -c cookie '${frontendUrl}/realms/${realm.realm}/protocol/openid-connect/auth?client_id=${client.name}&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=openid+email&response_type=code&response_mode=query&nonce=qw4o89g3qqm' >login_form", + "htmlq '#kc-form-login' --attribute action --filename login_form --output form_post_url" + ) + + # Post the login form and save the response. Once again tidy up + # the HTML, then extract the authorization code. + keycloak.succeed( + "curl -sSf -L -b cookie -d 'username=${user.username}' -d 'password=${password}' -d 'credentialId=' \"$(auth_code_html", + "htmlq '#code' --attribute value --filename auth_code_html --output auth_code" + ) + + # Exchange the authorization code for an access token. + keycloak.succeed( + "curl -sSf -d grant_type=authorization_code -d code=$(auth_header" + ) + + # Use the access token on the OIDC userinfo endpoint and check + # that the returned user info matches what we initialized the + # realm with. + keycloak.succeed( + "curl -sSf -H @auth_header '${frontendUrl}/realms/${realm.realm}/protocol/openid-connect/userinfo' | jq -f ${jqCheckUserinfo}" + ) ''; - in '' - keycloak.start() - keycloak.wait_for_unit("keycloak.service") - keycloak.wait_for_open_port(443) - keycloak.wait_until_succeeds("curl -sSf ${frontendUrl}") - - ### Realm Setup ### - - # Get an admin interface access token - keycloak.succeed(""" - curl -sSf -d 'client_id=admin-cli' \ - -d 'username=admin' \ - -d "password=$(<${adminPasswordFile})" \ - -d 'grant_type=password' \ - '${frontendUrl}/realms/master/protocol/openid-connect/token' \ - | jq -r '"Authorization: bearer " + .access_token' >admin_auth_header - """) - - # Register the metrics SPI - keycloak.succeed( - """${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt""", - """KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password "$(<${adminPasswordFile})" """, - """KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'""", - """curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'""" - ) - - # Publish the realm, including a test OIDC client and user - keycloak.succeed( - "curl -sSf -H @admin_auth_header -X POST -H 'Content-Type: application/json' -d @${realmDataJson} '${frontendUrl}/admin/realms/'" - ) - - # Generate and save the client secret. To do this we need - # Keycloak's internal id for the client. - keycloak.succeed( - "curl -sSf -H @admin_auth_header '${frontendUrl}/admin/realms/${realm.realm}/clients?clientId=${client.name}' | jq -r '.[].id' >client_id", - "curl -sSf -H @admin_auth_header -X POST '${frontendUrl}/admin/realms/${realm.realm}/clients/'$(client_secret", - ) - - - ### Authentication Testing ### - - # Start the login process by sending an initial request to the - # OIDC authentication endpoint, saving the returned page. Tidy - # up the HTML (XmlStarlet is picky) and extract the login form - # post url. - keycloak.succeed( - "curl -sSf -c cookie '${frontendUrl}/realms/${realm.realm}/protocol/openid-connect/auth?client_id=${client.name}&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=openid+email&response_type=code&response_mode=query&nonce=qw4o89g3qqm' >login_form", - "htmlq '#kc-form-login' --attribute action --filename login_form --output form_post_url" - ) - - # Post the login form and save the response. Once again tidy up - # the HTML, then extract the authorization code. - keycloak.succeed( - "curl -sSf -L -b cookie -d 'username=${user.username}' -d 'password=${password}' -d 'credentialId=' \"$(auth_code_html", - "htmlq '#code' --attribute value --filename auth_code_html --output auth_code" - ) - - # Exchange the authorization code for an access token. - keycloak.succeed( - "curl -sSf -d grant_type=authorization_code -d code=$(auth_header" - ) - - # Use the access token on the OIDC userinfo endpoint and check - # that the returned user info matches what we initialized the - # realm with. - keycloak.succeed( - "curl -sSf -H @auth_header '${frontendUrl}/realms/${realm.realm}/protocol/openid-connect/userinfo' | jq -f ${jqCheckUserinfo}" - ) - ''; - } - ); + } + ); in { postgres = keycloakTest "postgresql"; diff --git a/nixos/tests/keyd.nix b/nixos/tests/keyd.nix index bfc4558b64bb4..7dc07568be0c6 100644 --- a/nixos/tests/keyd.nix +++ b/nixos/tests/keyd.nix @@ -1,7 +1,8 @@ # The test template is taken from the `./keymap.nix` -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -25,53 +26,66 @@ let mv ${resultFile}.tmp ${resultFile} ''; + mkKeyboardTest = + name: + { default, test }: + with pkgs.lib; + makeTest { + inherit name; - mkKeyboardTest = name: { default, test }: with pkgs.lib; makeTest { - inherit name; - - nodes.machine = { - services.keyd = { - enable = true; - keyboards = { inherit default; }; + nodes.machine = { + services.keyd = { + enable = true; + keyboards = { inherit default; }; + }; }; - }; - testScript = '' - import shlex + testScript = '' + import shlex - machine.wait_for_unit("keyd.service") + machine.wait_for_unit("keyd.service") - def run_test_case(cmd, test_case_name, inputs, expected): - with subtest(test_case_name): - assert len(inputs) == len(expected) - machine.execute("rm -f ${readyFile} ${resultFile}") - # set up process that expects all the keys to be entered - machine.succeed( - "{} {} {} {} >&2 &".format( - cmd, - "${testReader}", - len(inputs), - shlex.quote("".join(expected)), - ) - ) - # wait for reader to be ready - machine.wait_for_file("${readyFile}") - # send all keys - for key in inputs: - machine.send_key(key) - # wait for result and check - machine.wait_for_file("${resultFile}") - machine.succeed("grep -q 'PASS:' ${resultFile}") - test = ${builtins.toJSON test} - run_test_case("openvt -sw --", "${name}", test["press"], test["expect"]) - ''; - }; + def run_test_case(cmd, test_case_name, inputs, expected): + with subtest(test_case_name): + assert len(inputs) == len(expected) + machine.execute("rm -f ${readyFile} ${resultFile}") + # set up process that expects all the keys to be entered + machine.succeed( + "{} {} {} {} >&2 &".format( + cmd, + "${testReader}", + len(inputs), + shlex.quote("".join(expected)), + ) + ) + # wait for reader to be ready + machine.wait_for_file("${readyFile}") + # send all keys + for key in inputs: + machine.send_key(key) + # wait for result and check + machine.wait_for_file("${resultFile}") + machine.succeed("grep -q 'PASS:' ${resultFile}") + test = ${builtins.toJSON test} + run_test_case("openvt -sw --", "${name}", test["press"], test["expect"]) + ''; + }; in pkgs.lib.mapAttrs mkKeyboardTest { swap-ab_and_ctrl-as-shift = { - test.press = [ "a" "ctrl-b" "c" "alt_r-h" ]; - test.expect = [ "b" "A" "c" "q" ]; + test.press = [ + "a" + "ctrl-b" + "c" + "alt_r-h" + ]; + test.expect = [ + "b" + "A" + "c" + "q" + ]; default = { settings.main = { diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix index 3542dea58f7f3..55c08a004a4e2 100644 --- a/nixos/tests/keymap.nix +++ b/nixos/tests/keymap.nix @@ -1,12 +1,13 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; let - readyFile = "/tmp/readerReady"; + readyFile = "/tmp/readerReady"; resultFile = "/tmp/readerResult"; testReader = pkgs.writeScript "test-input-reader" '' @@ -25,82 +26,110 @@ let mv ${resultFile}.tmp ${resultFile} ''; + mkKeyboardTest = + layout: + { + extraConfig ? { }, + tests, + }: + with pkgs.lib; + makeTest { + name = "keymap-${layout}"; + + nodes.machine.console.keyMap = mkOverride 900 layout; + nodes.machine.services.xserver.desktopManager.xterm.enable = false; + nodes.machine.services.xserver.xkb.layout = mkOverride 900 layout; + nodes.machine.imports = [ + ./common/x11.nix + extraConfig + ]; + + testScript = '' + import json + import shlex + + + def run_test_case(cmd, inputs, expected): + assert len(inputs) == len(expected) + machine.execute("rm -f ${readyFile} ${resultFile}") + + # set up process that expects all the keys to be entered + machine.succeed( + "${pkgs.systemd}/bin/systemd-cat -t input-test-reader -- {} {} {} &".format( + cmd, + "${testReader}", + shlex.quote("".join(expected)), + ) + ) + + # wait for reader to be ready + machine.wait_for_file("${readyFile}") + + # send all keys + for key in inputs: + machine.send_key(key) + + # wait for result and check + machine.wait_for_file("${resultFile}") + machine.succeed("grep -q 'PASS:' ${resultFile}") + + + with open("${pkgs.writeText "tests.json" (builtins.toJSON tests)}") as json_file: + tests = json.load(json_file) + + # These environments used to run in the opposite order, causing the + # following error at openvt startup. + # + # openvt: Couldn't deallocate console 1 + # + # This error did not appear in successful runs. + # I don't know the exact cause, but I it seems that openvt and X are + # fighting over the virtual terminal. This does not appear to be a problem + # when the X test runs first. + keymap_environments = { + "Xorg Keymap": "env DISPLAY=:0 xterm -title testterm -class testterm -fullscreen -e", + "VT Keymap": "openvt -c 2 -sw --", + } + + machine.wait_for_x() + + for test_case_name, test_data in tests.items(): + for keymap_env_name, command in keymap_environments.items(): + with subtest(f"{test_case_name} - {keymap_env_name}"): + run_test_case( + command, + test_data["qwerty"], + test_data["expect"], + ) + ''; + }; - mkKeyboardTest = layout: { extraConfig ? {}, tests }: with pkgs.lib; makeTest { - name = "keymap-${layout}"; - - nodes.machine.console.keyMap = mkOverride 900 layout; - nodes.machine.services.xserver.desktopManager.xterm.enable = false; - nodes.machine.services.xserver.xkb.layout = mkOverride 900 layout; - nodes.machine.imports = [ ./common/x11.nix extraConfig ]; - - testScript = '' - import json - import shlex - - - def run_test_case(cmd, inputs, expected): - assert len(inputs) == len(expected) - machine.execute("rm -f ${readyFile} ${resultFile}") - - # set up process that expects all the keys to be entered - machine.succeed( - "${pkgs.systemd}/bin/systemd-cat -t input-test-reader -- {} {} {} &".format( - cmd, - "${testReader}", - shlex.quote("".join(expected)), - ) - ) - - # wait for reader to be ready - machine.wait_for_file("${readyFile}") - - # send all keys - for key in inputs: - machine.send_key(key) - - # wait for result and check - machine.wait_for_file("${resultFile}") - machine.succeed("grep -q 'PASS:' ${resultFile}") - - - with open("${pkgs.writeText "tests.json" (builtins.toJSON tests)}") as json_file: - tests = json.load(json_file) - - # These environments used to run in the opposite order, causing the - # following error at openvt startup. - # - # openvt: Couldn't deallocate console 1 - # - # This error did not appear in successful runs. - # I don't know the exact cause, but I it seems that openvt and X are - # fighting over the virtual terminal. This does not appear to be a problem - # when the X test runs first. - keymap_environments = { - "Xorg Keymap": "env DISPLAY=:0 xterm -title testterm -class testterm -fullscreen -e", - "VT Keymap": "openvt -c 2 -sw --", - } - - machine.wait_for_x() - - for test_case_name, test_data in tests.items(): - for keymap_env_name, command in keymap_environments.items(): - with subtest(f"{test_case_name} - {keymap_env_name}"): - run_test_case( - command, - test_data["qwerty"], - test_data["expect"], - ) - ''; - }; - -in pkgs.lib.mapAttrs mkKeyboardTest { +in +pkgs.lib.mapAttrs mkKeyboardTest { azerty = { tests = { - azqw.qwerty = [ "q" "w" ]; - azqw.expect = [ "a" "z" ]; - altgr.qwerty = [ "alt_r-2" "alt_r-3" "alt_r-4" "alt_r-5" "alt_r-6" ]; - altgr.expect = [ "~" "#" "{" "[" "|" ]; + azqw.qwerty = [ + "q" + "w" + ]; + azqw.expect = [ + "a" + "z" + ]; + altgr.qwerty = [ + "alt_r-2" + "alt_r-3" + "alt_r-4" + "alt_r-5" + "alt_r-6" + ]; + altgr.expect = [ + "~" + "#" + "{" + "[" + "|" + ]; }; extraConfig.console.keyMap = "fr"; @@ -109,12 +138,32 @@ in pkgs.lib.mapAttrs mkKeyboardTest { bone = { tests = { - layer1.qwerty = [ "f" "j" ]; - layer1.expect = [ "e" "n" ]; - layer2.qwerty = [ "shift-f" "shift-j" "shift-6" ]; - layer2.expect = [ "E" "N" "$" ]; - layer3.qwerty = [ "caps_lock-d" "caps_lock-f" ]; - layer3.expect = [ "{" "}" ]; + layer1.qwerty = [ + "f" + "j" + ]; + layer1.expect = [ + "e" + "n" + ]; + layer2.qwerty = [ + "shift-f" + "shift-j" + "shift-6" + ]; + layer2.expect = [ + "E" + "N" + "$" + ]; + layer3.qwerty = [ + "caps_lock-d" + "caps_lock-f" + ]; + layer3.expect = [ + "{" + "}" + ]; }; extraConfig.console.keyMap = "bone"; @@ -124,8 +173,26 @@ in pkgs.lib.mapAttrs mkKeyboardTest { colemak = { tests = { - homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ]; - homerow.expect = [ "a" "r" "s" "t" "n" "e" "i" "o" ]; + homerow.qwerty = [ + "a" + "s" + "d" + "f" + "j" + "k" + "l" + "semicolon" + ]; + homerow.expect = [ + "a" + "r" + "s" + "t" + "n" + "e" + "i" + "o" + ]; }; extraConfig.console.keyMap = "colemak"; @@ -135,10 +202,40 @@ in pkgs.lib.mapAttrs mkKeyboardTest { dvorak = { tests = { - homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ]; - homerow.expect = [ "a" "o" "e" "u" "h" "t" "n" "s" ]; - symbols.qwerty = [ "q" "w" "e" "minus" "equal" ]; - symbols.expect = [ "'" "," "." "[" "]" ]; + homerow.qwerty = [ + "a" + "s" + "d" + "f" + "j" + "k" + "l" + "semicolon" + ]; + homerow.expect = [ + "a" + "o" + "e" + "u" + "h" + "t" + "n" + "s" + ]; + symbols.qwerty = [ + "q" + "w" + "e" + "minus" + "equal" + ]; + symbols.expect = [ + "'" + "," + "." + "[" + "]" + ]; }; extraConfig.console.keyMap = "dvorak"; @@ -148,13 +245,78 @@ in pkgs.lib.mapAttrs mkKeyboardTest { dvorak-programmer = { tests = { - homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ]; - homerow.expect = [ "a" "o" "e" "u" "h" "t" "n" "s" ]; - numbers.qwerty = map (x: "shift-${x}") - [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "minus" ]; - numbers.expect = [ "%" "7" "5" "3" "1" "9" "0" "2" "4" "6" "8" ]; - symbols.qwerty = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "minus" ]; - symbols.expect = [ "&" "[" "{" "}" "(" "=" "*" ")" "+" "]" "!" ]; + homerow.qwerty = [ + "a" + "s" + "d" + "f" + "j" + "k" + "l" + "semicolon" + ]; + homerow.expect = [ + "a" + "o" + "e" + "u" + "h" + "t" + "n" + "s" + ]; + numbers.qwerty = map (x: "shift-${x}") [ + "1" + "2" + "3" + "4" + "5" + "6" + "7" + "8" + "9" + "0" + "minus" + ]; + numbers.expect = [ + "%" + "7" + "5" + "3" + "1" + "9" + "0" + "2" + "4" + "6" + "8" + ]; + symbols.qwerty = [ + "1" + "2" + "3" + "4" + "5" + "6" + "7" + "8" + "9" + "0" + "minus" + ]; + symbols.expect = [ + "&" + "[" + "{" + "}" + "(" + "=" + "*" + ")" + "+" + "]" + "!" + ]; }; extraConfig.console.keyMap = "dvorak-programmer"; @@ -164,12 +326,32 @@ in pkgs.lib.mapAttrs mkKeyboardTest { neo = { tests = { - layer1.qwerty = [ "f" "j" ]; - layer1.expect = [ "e" "n" ]; - layer2.qwerty = [ "shift-f" "shift-j" "shift-6" ]; - layer2.expect = [ "E" "N" "$" ]; - layer3.qwerty = [ "caps_lock-d" "caps_lock-f" ]; - layer3.expect = [ "{" "}" ]; + layer1.qwerty = [ + "f" + "j" + ]; + layer1.expect = [ + "e" + "n" + ]; + layer2.qwerty = [ + "shift-f" + "shift-j" + "shift-6" + ]; + layer2.expect = [ + "E" + "N" + "$" + ]; + layer3.qwerty = [ + "caps_lock-d" + "caps_lock-f" + ]; + layer3.expect = [ + "{" + "}" + ]; }; extraConfig.console.keyMap = "neo"; @@ -179,11 +361,30 @@ in pkgs.lib.mapAttrs mkKeyboardTest { qwertz = { tests = { - zy.qwerty = [ "z" "y" ]; - zy.expect = [ "y" "z" ]; - altgr.qwerty = map (x: "alt_r-${x}") - [ "q" "less" "7" "8" "9" "0" ]; - altgr.expect = [ "@" "|" "{" "[" "]" "}" ]; + zy.qwerty = [ + "z" + "y" + ]; + zy.expect = [ + "y" + "z" + ]; + altgr.qwerty = map (x: "alt_r-${x}") [ + "q" + "less" + "7" + "8" + "9" + "0" + ]; + altgr.expect = [ + "@" + "|" + "{" + "[" + "]" + "}" + ]; }; extraConfig.console.keyMap = "de"; @@ -192,30 +393,57 @@ in pkgs.lib.mapAttrs mkKeyboardTest { custom = { tests = { - us.qwerty = [ "a" "b" "g" "d" "z" "shift-2" "shift-3" ]; - us.expect = [ "a" "b" "g" "d" "z" "@" "#" ]; - greek.qwerty = map (x: "alt_r-${x}") - [ "a" "b" "g" "d" "z" ]; - greek.expect = [ "α" "β" "γ" "δ" "ζ" ]; + us.qwerty = [ + "a" + "b" + "g" + "d" + "z" + "shift-2" + "shift-3" + ]; + us.expect = [ + "a" + "b" + "g" + "d" + "z" + "@" + "#" + ]; + greek.qwerty = map (x: "alt_r-${x}") [ + "a" + "b" + "g" + "d" + "z" + ]; + greek.expect = [ + "α" + "β" + "γ" + "δ" + "ζ" + ]; }; extraConfig.console.useXkbConfig = true; extraConfig.services.xserver.xkb.layout = "us-greek"; - extraConfig.services.xserver.xkb.extraLayouts.us-greek = - { description = "US layout with alt-gr greek"; - languages = [ "eng" ]; - symbolsFile = pkgs.writeText "us-greek" '' - xkb_symbols "us-greek" - { - include "us(basic)" - include "level3(ralt_switch)" - key { [ a, A, Greek_alpha ] }; - key { [ b, B, Greek_beta ] }; - key { [ g, G, Greek_gamma ] }; - key { [ d, D, Greek_delta ] }; - key { [ z, Z, Greek_zeta ] }; - }; - ''; - }; + extraConfig.services.xserver.xkb.extraLayouts.us-greek = { + description = "US layout with alt-gr greek"; + languages = [ "eng" ]; + symbolsFile = pkgs.writeText "us-greek" '' + xkb_symbols "us-greek" + { + include "us(basic)" + include "level3(ralt_switch)" + key { [ a, A, Greek_alpha ] }; + key { [ b, B, Greek_beta ] }; + key { [ g, G, Greek_gamma ] }; + key { [ d, D, Greek_delta ] }; + key { [ z, Z, Greek_zeta ] }; + }; + ''; + }; }; } diff --git a/nixos/tests/knot.nix b/nixos/tests/knot.nix index 4441fed6ef507..10ab1390696f7 100644 --- a/nixos/tests/knot.nix +++ b/nixos/tests/knot.nix @@ -1,10 +1,11 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : -let - common = { - networking.firewall.enable = false; - networking.useDHCP = false; - }; - exampleZone = pkgs.writeTextDir "example.com.zone" '' +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + common = { + networking.firewall.enable = false; + networking.useDHCP = false; + }; + exampleZone = pkgs.writeTextDir "example.com.zone" '' @ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800 @ NS ns1 @ NS ns2 @@ -15,208 +16,239 @@ let www A 192.0.2.1 www AAAA 2001:DB8::1 sub NS ns.example.com. - ''; - delegatedZone = pkgs.writeTextDir "sub.example.com.zone" '' + ''; + delegatedZone = pkgs.writeTextDir "sub.example.com.zone" '' @ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800 @ NS ns1.example.com. @ NS ns2.example.com. @ A 192.0.2.2 @ AAAA 2001:DB8::2 - ''; - - knotZonesEnv = pkgs.buildEnv { - name = "knot-zones"; - paths = [ exampleZone delegatedZone ]; - }; - # DO NOT USE pkgs.writeText IN PRODUCTION. This put secrets in the nix store! - tsigFile = pkgs.writeText "tsig.conf" '' - key: - - id: xfr_key - algorithm: hmac-sha256 - secret: zOYgOgnzx3TGe5J5I/0kxd7gTcxXhLYMEq3Ek3fY37s= - ''; -in { - name = "knot"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hexa ]; - }; - - - nodes = { - primary = { lib, ... }: { - imports = [ common ]; - - # trigger sched_setaffinity syscall - virtualisation.cores = 2; - - networking.interfaces.eth1 = { - ipv4.addresses = lib.mkForce [ - { address = "192.168.0.1"; prefixLength = 24; } - ]; - ipv6.addresses = lib.mkForce [ - { address = "fd00::1"; prefixLength = 64; } - ]; - }; - services.knot.enable = true; - services.knot.extraArgs = [ "-v" ]; - services.knot.keyFiles = [ tsigFile ]; - services.knot.settings = { - server = { - listen = [ - "0.0.0.0@53" - "::@53" - ]; - listen-quic = [ - "0.0.0.0@853" - "::@853" - ]; - automatic-acl = true; - }; - - acl.secondary_acl = { - address = "192.168.0.2"; - key = "xfr_key"; - action = "transfer"; - }; - - remote.secondary.address = "192.168.0.2@53"; - - template.default = { - storage = knotZonesEnv; - notify = [ "secondary" ]; - acl = [ "secondary_acl" ]; - dnssec-signing = true; - # Input-only zone files - # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3 - # prevents modification of the zonefiles, since the zonefiles are immutable - zonefile-sync = -1; - zonefile-load = "difference"; - journal-content = "changes"; - }; - - zone = { - "example.com".file = "example.com.zone"; - "sub.example.com".file = "sub.example.com.zone"; - }; - - log.syslog.any = "info"; - }; + ''; + + knotZonesEnv = pkgs.buildEnv { + name = "knot-zones"; + paths = [ + exampleZone + delegatedZone + ]; + }; + # DO NOT USE pkgs.writeText IN PRODUCTION. This put secrets in the nix store! + tsigFile = pkgs.writeText "tsig.conf" '' + key: + - id: xfr_key + algorithm: hmac-sha256 + secret: zOYgOgnzx3TGe5J5I/0kxd7gTcxXhLYMEq3Ek3fY37s= + ''; + in + { + name = "knot"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hexa ]; }; - secondary = { lib, ... }: { - imports = [ common ]; - networking.interfaces.eth1 = { - ipv4.addresses = lib.mkForce [ - { address = "192.168.0.2"; prefixLength = 24; } - ]; - ipv6.addresses = lib.mkForce [ - { address = "fd00::2"; prefixLength = 64; } - ]; - }; - services.knot.enable = true; - services.knot.keyFiles = [ tsigFile ]; - services.knot.extraArgs = [ "-v" ]; - services.knot.settings = { - server = { - automatic-acl = true; - }; - - xdp = { - listen = [ - "eth1" - ]; - tcp = true; - }; - - remote.primary = { - address = "192.168.0.1@53"; - key = "xfr_key"; - }; - - remote.primary-quic = { - address = "192.168.0.1@853"; - key = "xfr_key"; - quic = true; - }; - - template.default = { - # zonefileless setup - # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2 - zonefile-sync = "-1"; - zonefile-load = "none"; - journal-content = "all"; + nodes = { + primary = + { lib, ... }: + { + imports = [ common ]; + + # trigger sched_setaffinity syscall + virtualisation.cores = 2; + + networking.interfaces.eth1 = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "fd00::1"; + prefixLength = 64; + } + ]; + }; + services.knot.enable = true; + services.knot.extraArgs = [ "-v" ]; + services.knot.keyFiles = [ tsigFile ]; + services.knot.settings = { + server = { + listen = [ + "0.0.0.0@53" + "::@53" + ]; + listen-quic = [ + "0.0.0.0@853" + "::@853" + ]; + automatic-acl = true; + }; + + acl.secondary_acl = { + address = "192.168.0.2"; + key = "xfr_key"; + action = "transfer"; + }; + + remote.secondary.address = "192.168.0.2@53"; + + template.default = { + storage = knotZonesEnv; + notify = [ "secondary" ]; + acl = [ "secondary_acl" ]; + dnssec-signing = true; + # Input-only zone files + # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3 + # prevents modification of the zonefiles, since the zonefiles are immutable + zonefile-sync = -1; + zonefile-load = "difference"; + journal-content = "changes"; + }; + + zone = { + "example.com".file = "example.com.zone"; + "sub.example.com".file = "sub.example.com.zone"; + }; + + log.syslog.any = "info"; + }; }; - zone = { - "example.com" = { - master = "primary"; - file = "example.com.zone"; + secondary = + { lib, ... }: + { + imports = [ common ]; + networking.interfaces.eth1 = { + ipv4.addresses = lib.mkForce [ + { + address = "192.168.0.2"; + prefixLength = 24; + } + ]; + ipv6.addresses = lib.mkForce [ + { + address = "fd00::2"; + prefixLength = 64; + } + ]; }; - "sub.example.com" = { - master = "primary-quic"; - file = "sub.example.com.zone"; + services.knot.enable = true; + services.knot.keyFiles = [ tsigFile ]; + services.knot.extraArgs = [ "-v" ]; + services.knot.settings = { + server = { + automatic-acl = true; + }; + + xdp = { + listen = [ + "eth1" + ]; + tcp = true; + }; + + remote.primary = { + address = "192.168.0.1@53"; + key = "xfr_key"; + }; + + remote.primary-quic = { + address = "192.168.0.1@853"; + key = "xfr_key"; + quic = true; + }; + + template.default = { + # zonefileless setup + # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2 + zonefile-sync = "-1"; + zonefile-load = "none"; + journal-content = "all"; + }; + + zone = { + "example.com" = { + master = "primary"; + file = "example.com.zone"; + }; + "sub.example.com" = { + master = "primary-quic"; + file = "sub.example.com.zone"; + }; + }; + + log.syslog.any = "debug"; }; }; - - log.syslog.any = "debug"; - }; - }; - client = { lib, nodes, ... }: { - imports = [ common ]; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.0.3"; prefixLength = 24; } - ]; - ipv6.addresses = [ - { address = "fd00::3"; prefixLength = 64; } - ]; - }; - environment.systemPackages = [ pkgs.knot-dns ]; + client = + { lib, nodes, ... }: + { + imports = [ common ]; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.0.3"; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = "fd00::3"; + prefixLength = 64; + } + ]; + }; + environment.systemPackages = [ pkgs.knot-dns ]; + }; }; - }; - testScript = { nodes, ... }: let - primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address; - primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address; + testScript = + { nodes, ... }: + let + primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address; + primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address; - secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address; - secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address; - in '' - import re + secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address; + secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address; + in + '' + import re - start_all() + start_all() - client.wait_for_unit("network.target") - primary.wait_for_unit("knot.service") - secondary.wait_for_unit("knot.service") + client.wait_for_unit("network.target") + primary.wait_for_unit("knot.service") + secondary.wait_for_unit("knot.service") - for zone in ("example.com.", "sub.example.com."): - secondary.wait_until_succeeds( - f"knotc zone-status {zone} | grep -q 'serial: 2019031302'" - ) + for zone in ("example.com.", "sub.example.com."): + secondary.wait_until_succeeds( + f"knotc zone-status {zone} | grep -q 'serial: 2019031302'" + ) - def test(host, query_type, query, pattern): - out = client.succeed(f"khost -t {query_type} {query} {host}").strip() - client.log(f"{host} replied with: {out}") - assert re.search(pattern, out), f'Did not match "{pattern}"' + def test(host, query_type, query, pattern): + out = client.succeed(f"khost -t {query_type} {query} {host}").strip() + client.log(f"{host} replied with: {out}") + assert re.search(pattern, out), f'Did not match "{pattern}"' - for host in ("${primary4}", "${primary6}", "${secondary4}", "${secondary6}"): - with subtest(f"Interrogate {host}"): - test(host, "SOA", "example.com", r"start of authority.*noc\.example\.com\.") - test(host, "A", "example.com", r"has no [^ ]+ record") - test(host, "AAAA", "example.com", r"has no [^ ]+ record") + for host in ("${primary4}", "${primary6}", "${secondary4}", "${secondary6}"): + with subtest(f"Interrogate {host}"): + test(host, "SOA", "example.com", r"start of authority.*noc\.example\.com\.") + test(host, "A", "example.com", r"has no [^ ]+ record") + test(host, "AAAA", "example.com", r"has no [^ ]+ record") - test(host, "A", "www.example.com", r"address 192.0.2.1$") - test(host, "AAAA", "www.example.com", r"address 2001:db8::1$") + test(host, "A", "www.example.com", r"address 192.0.2.1$") + test(host, "AAAA", "www.example.com", r"address 2001:db8::1$") - test(host, "NS", "sub.example.com", r"nameserver is ns\d\.example\.com.$") - test(host, "A", "sub.example.com", r"address 192.0.2.2$") - test(host, "AAAA", "sub.example.com", r"address 2001:db8::2$") + test(host, "NS", "sub.example.com", r"nameserver is ns\d\.example\.com.$") + test(host, "A", "sub.example.com", r"address 192.0.2.2$") + test(host, "AAAA", "sub.example.com", r"address 2001:db8::2$") - test(host, "RRSIG", "www.example.com", r"RR set signature is") - test(host, "DNSKEY", "example.com", r"DNSSEC key is") + test(host, "RRSIG", "www.example.com", r"RR set signature is") + test(host, "DNSKEY", "example.com", r"DNSSEC key is") - primary.log(primary.succeed("systemd-analyze security knot.service | grep -v '✓'")) - ''; -}) + primary.log(primary.succeed("systemd-analyze security knot.service | grep -v '✓'")) + ''; + } +) diff --git a/nixos/tests/krb5/example-config.nix b/nixos/tests/krb5/example-config.nix index 33bed481b39fc..5a7e75732d325 100644 --- a/nixos/tests/krb5/example-config.nix +++ b/nixos/tests/krb5/example-config.nix @@ -1,118 +1,127 @@ # Verifies that the configuration suggested in (non-deprecated) example values # will result in the expected output. -import ../make-test-python.nix ({ pkgs, ...} : { - name = "krb5-with-example-config"; - meta = with pkgs.lib.maintainers; { - maintainers = [ eqyiel dblsaiko ]; - }; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "krb5-with-example-config"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + eqyiel + dblsaiko + ]; + }; - nodes.machine = - { pkgs, ... }: { - security.krb5 = { - enable = true; - package = pkgs.krb5; - settings = { - includedir = [ - "/etc/krb5.conf.d" - ]; - include = [ - "/etc/krb5-extra.conf" - ]; - libdefaults = { - default_realm = "ATHENA.MIT.EDU"; - }; - realms = { - "ATHENA.MIT.EDU" = { - admin_server = "athena.mit.edu"; - kdc = [ - "athena01.mit.edu" - "athena02.mit.edu" - ]; + nodes.machine = + { pkgs, ... }: + { + security.krb5 = { + enable = true; + package = pkgs.krb5; + settings = { + includedir = [ + "/etc/krb5.conf.d" + ]; + include = [ + "/etc/krb5-extra.conf" + ]; + libdefaults = { + default_realm = "ATHENA.MIT.EDU"; }; - }; - domain_realm = { - "example.com" = "EXAMPLE.COM"; - ".example.com" = "EXAMPLE.COM"; - }; - capaths = { - "ATHENA.MIT.EDU" = { - "EXAMPLE.COM" = "."; + realms = { + "ATHENA.MIT.EDU" = { + admin_server = "athena.mit.edu"; + kdc = [ + "athena01.mit.edu" + "athena02.mit.edu" + ]; + }; }; - "EXAMPLE.COM" = { - "ATHENA.MIT.EDU" = "."; + domain_realm = { + "example.com" = "EXAMPLE.COM"; + ".example.com" = "EXAMPLE.COM"; }; - }; - appdefaults = { - pam = { - debug = false; - ticket_lifetime = 36000; - renew_lifetime = 36000; - max_timeout = 30; - timeout_shift = 2; - initial_timeout = 1; + capaths = { + "ATHENA.MIT.EDU" = { + "EXAMPLE.COM" = "."; + }; + "EXAMPLE.COM" = { + "ATHENA.MIT.EDU" = "."; + }; + }; + appdefaults = { + pam = { + debug = false; + ticket_lifetime = 36000; + renew_lifetime = 36000; + max_timeout = 30; + timeout_shift = 2; + initial_timeout = 1; + }; + }; + plugins.ccselect.disable = "k5identity"; + logging = { + kdc = "SYSLOG:NOTICE"; + admin_server = "SYSLOG:NOTICE"; + default = "SYSLOG:NOTICE"; }; - }; - plugins.ccselect.disable = "k5identity"; - logging = { - kdc = "SYSLOG:NOTICE"; - admin_server = "SYSLOG:NOTICE"; - default = "SYSLOG:NOTICE"; }; }; }; - }; - testScript = - let snapshot = pkgs.writeText "krb5-with-example-config.conf" '' - [appdefaults] - pam = { - debug = false - initial_timeout = 1 - max_timeout = 30 - renew_lifetime = 36000 - ticket_lifetime = 36000 - timeout_shift = 2 - } + testScript = + let + snapshot = pkgs.writeText "krb5-with-example-config.conf" '' + [appdefaults] + pam = { + debug = false + initial_timeout = 1 + max_timeout = 30 + renew_lifetime = 36000 + ticket_lifetime = 36000 + timeout_shift = 2 + } - [capaths] - ATHENA.MIT.EDU = { - EXAMPLE.COM = . - } - EXAMPLE.COM = { - ATHENA.MIT.EDU = . - } + [capaths] + ATHENA.MIT.EDU = { + EXAMPLE.COM = . + } + EXAMPLE.COM = { + ATHENA.MIT.EDU = . + } - [domain_realm] - .example.com = EXAMPLE.COM - example.com = EXAMPLE.COM + [domain_realm] + .example.com = EXAMPLE.COM + example.com = EXAMPLE.COM - [libdefaults] - default_realm = ATHENA.MIT.EDU + [libdefaults] + default_realm = ATHENA.MIT.EDU - [logging] - admin_server = SYSLOG:NOTICE - default = SYSLOG:NOTICE - kdc = SYSLOG:NOTICE + [logging] + admin_server = SYSLOG:NOTICE + default = SYSLOG:NOTICE + kdc = SYSLOG:NOTICE - [plugins] - ccselect = { - disable = k5identity - } + [plugins] + ccselect = { + disable = k5identity + } - [realms] - ATHENA.MIT.EDU = { - admin_server = athena.mit.edu - kdc = athena01.mit.edu - kdc = athena02.mit.edu - } + [realms] + ATHENA.MIT.EDU = { + admin_server = athena.mit.edu + kdc = athena01.mit.edu + kdc = athena02.mit.edu + } - include /etc/krb5-extra.conf - includedir /etc/krb5.conf.d - ''; - in '' - machine.succeed( - "diff /etc/krb5.conf ${snapshot}" - ) - ''; -}) + include /etc/krb5-extra.conf + includedir /etc/krb5.conf.d + ''; + in + '' + machine.succeed( + "diff /etc/krb5.conf ${snapshot}" + ) + ''; + } +) diff --git a/nixos/tests/ksm.nix b/nixos/tests/ksm.nix index 026d2ee85a24a..73ef3bdc8eb0e 100644 --- a/nixos/tests/ksm.nix +++ b/nixos/tests/ksm.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ lib, ...} : +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "ksm"; - meta = with lib.maintainers; { - maintainers = [ rnhmjoj ]; - }; + { + name = "ksm"; + meta = with lib.maintainers; { + maintainers = [ rnhmjoj ]; + }; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; - hardware.ksm.enable = true; - hardware.ksm.sleep = 300; - }; + hardware.ksm.enable = true; + hardware.ksm.sleep = 300; + }; - testScript = - '' + testScript = '' machine.start() machine.wait_until_succeeds("test $(

Hello world

' > page.html") machine.execute("Ladybird file://$(pwd)/page.html >&2 &") @@ -25,4 +28,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_text("Hello world") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/languagetool.nix b/nixos/tests/languagetool.nix index e4ab2a47064e6..35ab59b5d8610 100644 --- a/nixos/tests/languagetool.nix +++ b/nixos/tests/languagetool.nix @@ -1,19 +1,26 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let port = 8082; -in { - name = "languagetool"; - meta = with lib.maintainers; { maintainers = [ fbeffa ]; }; - - nodes.machine = { ... }: - { - services.languagetool.enable = true; - services.languagetool.port = port; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + port = 8082; + in + { + name = "languagetool"; + meta = with lib.maintainers; { + maintainers = [ fbeffa ]; }; - testScript = '' - machine.start() - machine.wait_for_unit("languagetool.service") - machine.wait_for_open_port(${toString port}) - machine.wait_until_succeeds('curl -d "language=en-US" -d "text=a simple test" http://localhost:${toString port}/v2/check') - ''; -}) + nodes.machine = + { ... }: + { + services.languagetool.enable = true; + services.languagetool.port = port; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("languagetool.service") + machine.wait_for_open_port(${toString port}) + machine.wait_until_succeeds('curl -d "language=en-US" -d "text=a simple test" http://localhost:${toString port}/v2/check') + ''; + } +) diff --git a/nixos/tests/lanraragi.nix b/nixos/tests/lanraragi.nix index 7a4a1a489bdff..21a065845c64b 100644 --- a/nixos/tests/lanraragi.nix +++ b/nixos/tests/lanraragi.nix @@ -1,38 +1,44 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "lanraragi"; - meta.maintainers = with lib.maintainers; [ tomasajt ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "lanraragi"; + meta.maintainers = with lib.maintainers; [ tomasajt ]; - nodes = { - machine1 = { pkgs, ... }: { - services.lanraragi.enable = true; - }; - machine2 = { pkgs, ... }: { - services.lanraragi = { - enable = true; - passwordFile = pkgs.writeText "lrr-test-pass" '' - Ultra-secure-p@ssword-"with-spec1al\chars - ''; - port = 4000; - redis = { - port = 4001; - passwordFile = pkgs.writeText "redis-lrr-test-pass" '' - 123-redis-PASS - ''; + nodes = { + machine1 = + { pkgs, ... }: + { + services.lanraragi.enable = true; + }; + machine2 = + { pkgs, ... }: + { + services.lanraragi = { + enable = true; + passwordFile = pkgs.writeText "lrr-test-pass" '' + Ultra-secure-p@ssword-"with-spec1al\chars + ''; + port = 4000; + redis = { + port = 4001; + passwordFile = pkgs.writeText "redis-lrr-test-pass" '' + 123-redis-PASS + ''; + }; + }; }; - }; }; - }; - - testScript = '' - start_all() - machine1.wait_for_unit("lanraragi.service") - machine1.wait_until_succeeds("curl -f localhost:3000") - machine1.succeed("[ $(curl -o /dev/null -X post 'http://localhost:3000/login' --data-raw 'password=kamimamita' -w '%{http_code}') -eq 302 ]") + testScript = '' + start_all() - machine2.wait_for_unit("lanraragi.service") - machine2.wait_until_succeeds("curl -f localhost:4000") - machine2.succeed("[ $(curl -o /dev/null -X post 'http://localhost:4000/login' --data-raw 'password=Ultra-secure-p@ssword-\"with-spec1al\\chars' -w '%{http_code}') -eq 302 ]") - ''; -}) + machine1.wait_for_unit("lanraragi.service") + machine1.wait_until_succeeds("curl -f localhost:3000") + machine1.succeed("[ $(curl -o /dev/null -X post 'http://localhost:3000/login' --data-raw 'password=kamimamita' -w '%{http_code}') -eq 302 ]") + machine2.wait_for_unit("lanraragi.service") + machine2.wait_until_succeeds("curl -f localhost:4000") + machine2.succeed("[ $(curl -o /dev/null -X post 'http://localhost:4000/login' --data-raw 'password=Ultra-secure-p@ssword-\"with-spec1al\\chars' -w '%{http_code}') -eq 302 ]") + ''; + } +) diff --git a/nixos/tests/leaps.nix b/nixos/tests/leaps.nix index 5cc387c86a452..92847d83eaebb 100644 --- a/nixos/tests/leaps.nix +++ b/nixos/tests/leaps.nix @@ -1,27 +1,26 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "leaps"; - meta = with pkgs.lib.maintainers; { - maintainers = [ qknight ]; - }; + { + name = "leaps"; + meta = with pkgs.lib.maintainers; { + maintainers = [ qknight ]; + }; - nodes = - { + nodes = { client = { }; - server = - { services.leaps = { - enable = true; - port = 6666; - path = "/leaps/"; - }; - networking.firewall.enable = false; + server = { + services.leaps = { + enable = true; + port = 6666; + path = "/leaps/"; }; + networking.firewall.enable = false; + }; }; - testScript = - '' + testScript = '' start_all() server.wait_for_open_port(6666) client.wait_for_unit("network.target") @@ -29,4 +28,5 @@ import ./make-test-python.nix ({ pkgs, ... }: "${pkgs.curl}/bin/curl -f http://server:6666/leaps/" ) ''; -}) + } +) diff --git a/nixos/tests/legit.nix b/nixos/tests/legit.nix index a71fb1743c76f..405c69a52fade 100644 --- a/nixos/tests/legit.nix +++ b/nixos/tests/legit.nix @@ -1,54 +1,59 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -let - port = 5000; - scanPath = "/var/lib/legit"; -in -{ - name = "legit-web"; - meta.maintainers = [ lib.maintainers.ratsclub ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + port = 5000; + scanPath = "/var/lib/legit"; + in + { + name = "legit-web"; + meta.maintainers = [ lib.maintainers.ratsclub ]; - nodes = { - server = { config, pkgs, ... }: { - services.legit = { - enable = true; - settings = { - server.port = 5000; - repo = { inherit scanPath; }; - }; - }; + nodes = { + server = + { config, pkgs, ... }: + { + services.legit = { + enable = true; + settings = { + server.port = 5000; + repo = { inherit scanPath; }; + }; + }; - environment.systemPackages = [ pkgs.git ]; + environment.systemPackages = [ pkgs.git ]; + }; }; - }; - testScript = { nodes, ... }: - let - strPort = builtins.toString port; - in - '' - start_all() + testScript = + { nodes, ... }: + let + strPort = builtins.toString port; + in + '' + start_all() - server.wait_for_unit("network.target") - server.wait_for_unit("legit.service") + server.wait_for_unit("network.target") + server.wait_for_unit("legit.service") - server.wait_until_succeeds( - "curl -f http://localhost:${strPort}" - ) + server.wait_until_succeeds( + "curl -f http://localhost:${strPort}" + ) - server.succeed("${pkgs.writeShellScript "setup-legit-test-repo" '' - set -e - git init --bare -b master ${scanPath}/some-repo - git init -b master reference - cd reference - git remote add origin ${scanPath}/some-repo - date > date.txt - git add date.txt - git -c user.name=test -c user.email=test@localhost commit -m 'add date' - git push -u origin master - ''}") + server.succeed("${pkgs.writeShellScript "setup-legit-test-repo" '' + set -e + git init --bare -b master ${scanPath}/some-repo + git init -b master reference + cd reference + git remote add origin ${scanPath}/some-repo + date > date.txt + git add date.txt + git -c user.name=test -c user.email=test@localhost commit -m 'add date' + git push -u origin master + ''}") - server.wait_until_succeeds( - "curl -f http://localhost:${strPort}/some-repo" - ) - ''; -}) + server.wait_until_succeeds( + "curl -f http://localhost:${strPort}/some-repo" + ) + ''; + } +) diff --git a/nixos/tests/lemmy.nix b/nixos/tests/lemmy.nix index 66bdaffbe29e3..5dc8cf1073166 100644 --- a/nixos/tests/lemmy.nix +++ b/nixos/tests/lemmy.nix @@ -1,100 +1,104 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - uiPort = 1234; - backendPort = 5678; - lemmyNodeName = "server"; -in -{ - name = "lemmy"; - meta = with lib.maintainers; { maintainers = [ mightyiam ]; }; - - nodes = { - client = { }; - - "${lemmyNodeName}" = { - services.lemmy = { - enable = true; - ui.port = uiPort; - database.createLocally = true; - settings = { - hostname = "http://${lemmyNodeName}"; - port = backendPort; - # Without setup, the /feeds/* and /nodeinfo/* API endpoints won't return 200 - setup = { - admin_username = "mightyiam"; - site_name = "Lemmy FTW"; - admin_email = "mightyiam@example.com"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + uiPort = 1234; + backendPort = 5678; + lemmyNodeName = "server"; + in + { + name = "lemmy"; + meta = with lib.maintainers; { + maintainers = [ mightyiam ]; + }; + + nodes = { + client = { }; + + "${lemmyNodeName}" = { + services.lemmy = { + enable = true; + ui.port = uiPort; + database.createLocally = true; + settings = { + hostname = "http://${lemmyNodeName}"; + port = backendPort; + # Without setup, the /feeds/* and /nodeinfo/* API endpoints won't return 200 + setup = { + admin_username = "mightyiam"; + site_name = "Lemmy FTW"; + admin_email = "mightyiam@example.com"; + }; }; + adminPasswordFile = /etc/lemmy-admin-password.txt; + caddy.enable = true; }; - adminPasswordFile = /etc/lemmy-admin-password.txt; - caddy.enable = true; - }; - environment.etc."lemmy-admin-password.txt".text = "ThisIsWhatIUseEverywhereTryIt"; + environment.etc."lemmy-admin-password.txt".text = "ThisIsWhatIUseEverywhereTryIt"; - networking.firewall.allowedTCPPorts = [ 80 ]; + networking.firewall.allowedTCPPorts = [ 80 ]; - # pict-rs seems to need more than 1025114112 bytes - virtualisation.memorySize = 2000; + # pict-rs seems to need more than 1025114112 bytes + virtualisation.memorySize = 2000; + }; }; - }; - - testScript = '' - server = ${lemmyNodeName} - - with subtest("the merged config is secure"): - server.wait_for_unit("lemmy.service") - config_permissions = server.succeed("stat --format %A /run/lemmy/config.hjson").rstrip() - assert config_permissions == "-rw-------", f"merged config permissions {config_permissions} are insecure" - directory_permissions = server.succeed("stat --format %A /run/lemmy").rstrip() - assert directory_permissions[5] == directory_permissions[8] == "-", "merged config can be replaced" - - with subtest("the backend starts and responds"): - server.wait_for_open_port(${toString backendPort}) - # wait until succeeds, it just needs few seconds for migrations, but lets give it 50s max - server.wait_until_succeeds("curl --fail localhost:${toString backendPort}/api/v3/site", 50) - - with subtest("the UI starts and responds"): - server.wait_for_unit("lemmy-ui.service") - server.wait_for_open_port(${toString uiPort}) - server.succeed("curl --fail localhost:${toString uiPort}") - - with subtest("Lemmy-UI responds through the caddy reverse proxy"): - server.systemctl("start network-online.target") - server.wait_for_unit("network-online.target") - server.wait_for_unit("caddy.service") - server.wait_for_open_port(80) - body = server.execute("curl --fail --location ${lemmyNodeName}")[1] - assert "Lemmy" in body, f"String Lemmy not found in response for ${lemmyNodeName}: \n{body}" - - with subtest("the server is exposed externally"): - client.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") - client.succeed("curl -v --fail ${lemmyNodeName}") - - with subtest("caddy correctly routes backend requests"): - # Make sure we are not hitting frontend - server.execute("systemctl stop lemmy-ui.service") - - def assert_http_code(url, expected_http_code, extra_curl_args=""): - _, http_code = server.execute(f'curl --location --silent -o /dev/null {extra_curl_args} --fail --write-out "%{{http_code}}" {url}') - assert http_code == str(expected_http_code), f"expected http code {expected_http_code}, got {http_code}" - - # Caddy responds with HTTP code 502 if it cannot handle the requested path - assert_http_code("${lemmyNodeName}/obviously-wrong-path/", 502) - - assert_http_code("${lemmyNodeName}/static/js/client.js", 200) - assert_http_code("${lemmyNodeName}/api/v3/site", 200) - - # A 404 confirms that the request goes to the backend - # No path can return 200 until after we upload an image to pict-rs - assert_http_code("${lemmyNodeName}/pictrs/", 404) - - assert_http_code("${lemmyNodeName}/feeds/all.xml", 200) - assert_http_code("${lemmyNodeName}/nodeinfo/2.0.json", 200) - - assert_http_code("${lemmyNodeName}/some-other-made-up-path/", 404, "-X POST") - assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/activity+json'") - assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"'") - ''; -}) + + testScript = '' + server = ${lemmyNodeName} + + with subtest("the merged config is secure"): + server.wait_for_unit("lemmy.service") + config_permissions = server.succeed("stat --format %A /run/lemmy/config.hjson").rstrip() + assert config_permissions == "-rw-------", f"merged config permissions {config_permissions} are insecure" + directory_permissions = server.succeed("stat --format %A /run/lemmy").rstrip() + assert directory_permissions[5] == directory_permissions[8] == "-", "merged config can be replaced" + + with subtest("the backend starts and responds"): + server.wait_for_open_port(${toString backendPort}) + # wait until succeeds, it just needs few seconds for migrations, but lets give it 50s max + server.wait_until_succeeds("curl --fail localhost:${toString backendPort}/api/v3/site", 50) + + with subtest("the UI starts and responds"): + server.wait_for_unit("lemmy-ui.service") + server.wait_for_open_port(${toString uiPort}) + server.succeed("curl --fail localhost:${toString uiPort}") + + with subtest("Lemmy-UI responds through the caddy reverse proxy"): + server.systemctl("start network-online.target") + server.wait_for_unit("network-online.target") + server.wait_for_unit("caddy.service") + server.wait_for_open_port(80) + body = server.execute("curl --fail --location ${lemmyNodeName}")[1] + assert "Lemmy" in body, f"String Lemmy not found in response for ${lemmyNodeName}: \n{body}" + + with subtest("the server is exposed externally"): + client.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") + client.succeed("curl -v --fail ${lemmyNodeName}") + + with subtest("caddy correctly routes backend requests"): + # Make sure we are not hitting frontend + server.execute("systemctl stop lemmy-ui.service") + + def assert_http_code(url, expected_http_code, extra_curl_args=""): + _, http_code = server.execute(f'curl --location --silent -o /dev/null {extra_curl_args} --fail --write-out "%{{http_code}}" {url}') + assert http_code == str(expected_http_code), f"expected http code {expected_http_code}, got {http_code}" + + # Caddy responds with HTTP code 502 if it cannot handle the requested path + assert_http_code("${lemmyNodeName}/obviously-wrong-path/", 502) + + assert_http_code("${lemmyNodeName}/static/js/client.js", 200) + assert_http_code("${lemmyNodeName}/api/v3/site", 200) + + # A 404 confirms that the request goes to the backend + # No path can return 200 until after we upload an image to pict-rs + assert_http_code("${lemmyNodeName}/pictrs/", 404) + + assert_http_code("${lemmyNodeName}/feeds/all.xml", 200) + assert_http_code("${lemmyNodeName}/nodeinfo/2.0.json", 200) + + assert_http_code("${lemmyNodeName}/some-other-made-up-path/", 404, "-X POST") + assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/activity+json'") + assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"'") + ''; + } +) diff --git a/nixos/tests/libinput.nix b/nixos/tests/libinput.nix index b002492b16657..32858c80da850 100644 --- a/nixos/tests/libinput.nix +++ b/nixos/tests/libinput.nix @@ -1,38 +1,41 @@ -import ./make-test-python.nix ({ ... }: +import ./make-test-python.nix ( + { ... }: -{ - name = "libinput"; + { + name = "libinput"; - nodes.machine = { ... }: - { - imports = [ - ./common/x11.nix - ./common/user-account.nix - ]; + nodes.machine = + { ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; - test-support.displayManager.auto.user = "alice"; + test-support.displayManager.auto.user = "alice"; - services.libinput = { - enable = true; - mouse = { - naturalScrolling = true; - leftHanded = true; - middleEmulation = false; - horizontalScrolling = false; + services.libinput = { + enable = true; + mouse = { + naturalScrolling = true; + leftHanded = true; + middleEmulation = false; + horizontalScrolling = false; + }; }; }; - }; - testScript = '' - def expect_xserver_option(option, value): - machine.succeed(f"""cat /var/log/X.0.log | grep -F 'Option "{option}" "{value}"'""") + testScript = '' + def expect_xserver_option(option, value): + machine.succeed(f"""cat /var/log/X.0.log | grep -F 'Option "{option}" "{value}"'""") - machine.start() - machine.wait_for_x() - machine.succeed("""cat /var/log/X.0.log | grep -F "Using input driver 'libinput'" """) - expect_xserver_option("NaturalScrolling", "on") - expect_xserver_option("LeftHanded", "on") - expect_xserver_option("MiddleEmulation", "off") - expect_xserver_option("HorizontalScrolling", "off") - ''; -}) + machine.start() + machine.wait_for_x() + machine.succeed("""cat /var/log/X.0.log | grep -F "Using input driver 'libinput'" """) + expect_xserver_option("NaturalScrolling", "on") + expect_xserver_option("LeftHanded", "on") + expect_xserver_option("MiddleEmulation", "off") + expect_xserver_option("HorizontalScrolling", "off") + ''; + } +) diff --git a/nixos/tests/librenms.nix b/nixos/tests/librenms.nix index 14035a01ce87d..05821dfa10006 100644 --- a/nixos/tests/librenms.nix +++ b/nixos/tests/librenms.nix @@ -1,104 +1,106 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -let - api_token = "f87f42114e44b63ad1b9e3c3d33d6fbe"; # random md5 hash - wrong_api_token = "e68ba041fcf1eab923a7a6de3af5f726"; # another random md5 hash -in -{ - name = "librenms"; - meta.maintainers = lib.teams.wdz.members; - - nodes.librenms = { - time.timeZone = "Europe/Berlin"; - - environment.systemPackages = with pkgs; [ - curl - jq - ]; - - services.librenms = { - enable = true; - hostname = "librenms"; - database = { - createLocally = true; - host = "localhost"; - database = "librenms"; - username = "librenms"; - passwordFile = pkgs.writeText "librenms-db-pass" "librenmsdbpass"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + api_token = "f87f42114e44b63ad1b9e3c3d33d6fbe"; # random md5 hash + wrong_api_token = "e68ba041fcf1eab923a7a6de3af5f726"; # another random md5 hash + in + { + name = "librenms"; + meta.maintainers = lib.teams.wdz.members; + + nodes.librenms = { + time.timeZone = "Europe/Berlin"; + + environment.systemPackages = with pkgs; [ + curl + jq + ]; + + services.librenms = { + enable = true; + hostname = "librenms"; + database = { + createLocally = true; + host = "localhost"; + database = "librenms"; + username = "librenms"; + passwordFile = pkgs.writeText "librenms-db-pass" "librenmsdbpass"; + }; + nginx = { + default = true; + }; + enableOneMinutePolling = true; + settings = { + enable_billing = true; + }; }; - nginx = { - default = true; - }; - enableOneMinutePolling = true; - settings = { - enable_billing = true; - }; - }; - # systemd oneshot to create a dummy admin user and a API token for testing - systemd.services.lnms-api-init = { - description = "LibreNMS API init"; - after = [ "librenms-setup.service" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - User = "root"; - Group = "root"; + # systemd oneshot to create a dummy admin user and a API token for testing + systemd.services.lnms-api-init = { + description = "LibreNMS API init"; + after = [ "librenms-setup.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + User = "root"; + Group = "root"; + }; + script = '' + API_USER_NAME=api + API_TOKEN=${api_token} # random md5 hash + + # seeding database to get the admin roles + ${pkgs.librenms}/artisan db:seed --force --no-interaction + + # we don't need to know the password, it just has to exist + API_USER_PASS=$(${pkgs.pwgen}/bin/pwgen -s 64 1) + ${pkgs.librenms}/artisan user:add $API_USER_NAME -r admin -p $API_USER_PASS + API_USER_ID=$(${pkgs.mariadb}/bin/mysql -D librenms -N -B -e "SELECT user_id FROM users WHERE username = '$API_USER_NAME';") + + ${pkgs.mariadb}/bin/mysql -D librenms -e "INSERT INTO api_tokens (user_id, token_hash, description) VALUES ($API_USER_ID, '$API_TOKEN', 'API User')" + ''; }; - script = '' - API_USER_NAME=api - API_TOKEN=${api_token} # random md5 hash - - # seeding database to get the admin roles - ${pkgs.librenms}/artisan db:seed --force --no-interaction - - # we don't need to know the password, it just has to exist - API_USER_PASS=$(${pkgs.pwgen}/bin/pwgen -s 64 1) - ${pkgs.librenms}/artisan user:add $API_USER_NAME -r admin -p $API_USER_PASS - API_USER_ID=$(${pkgs.mariadb}/bin/mysql -D librenms -N -B -e "SELECT user_id FROM users WHERE username = '$API_USER_NAME';") - - ${pkgs.mariadb}/bin/mysql -D librenms -e "INSERT INTO api_tokens (user_id, token_hash, description) VALUES ($API_USER_ID, '$API_TOKEN', 'API User')" - ''; }; - }; - nodes.snmphost = { + nodes.snmphost = { - services.snmpd = { - enable = true; - openFirewall = true; + services.snmpd = { + enable = true; + openFirewall = true; - configText = '' - com2sec readonly default public + configText = '' + com2sec readonly default public - group MyROGroup v2c readonly - view all included .1 80 - access MyROGroup "" any noauth exact all none none + group MyROGroup v2c readonly + view all included .1 80 + access MyROGroup "" any noauth exact all none none - syslocation Testcity, Testcountry - syscontact Testi mc Test - ''; + syslocation Testcity, Testcountry + syscontact Testi mc Test + ''; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - snmphost.wait_for_unit("snmpd.service") + snmphost.wait_for_unit("snmpd.service") - librenms.wait_for_unit("lnms-api-init.service") - librenms.wait_for_open_port(80) + librenms.wait_for_unit("lnms-api-init.service") + librenms.wait_for_open_port(80) - # Test that we can authenticate against the API - librenms.succeed("curl --fail -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0") - librenms.fail("curl --fail -H 'X-Auth-Token: ${wrong_api_token}' http://localhost/api/v0") + # Test that we can authenticate against the API + librenms.succeed("curl --fail -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0") + librenms.fail("curl --fail -H 'X-Auth-Token: ${wrong_api_token}' http://localhost/api/v0") - # add snmphost as a device - librenms.succeed("curl --fail -X POST -d '{\"hostname\":\"snmphost\",\"version\":\"v2c\",\"community\":\"public\"}' -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0/devices") + # add snmphost as a device + librenms.succeed("curl --fail -X POST -d '{\"hostname\":\"snmphost\",\"version\":\"v2c\",\"community\":\"public\"}' -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0/devices") - # wait until snmphost gets polled - librenms.wait_until_succeeds("test $(curl -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0/devices/snmphost | jq -Mr .devices[0].last_polled) != 'null'") - ''; -}) + # wait until snmphost gets polled + librenms.wait_until_succeeds("test $(curl -H 'X-Auth-Token: ${api_token}' http://localhost/api/v0/devices/snmphost | jq -Mr .devices[0].last_polled) != 'null'") + ''; + } +) diff --git a/nixos/tests/libresprite.nix b/nixos/tests/libresprite.nix index 17bdfe7853aaf..d039117887505 100644 --- a/nixos/tests/libresprite.nix +++ b/nixos/tests/libresprite.nix @@ -1,25 +1,28 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "libresprite"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "libresprite"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ - pkgs.imagemagick - pkgs.libresprite - ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ + pkgs.imagemagick + pkgs.libresprite + ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() machine.succeed("convert -font DejaVu-Sans +antialias label:'IT WORKS' image.png") machine.execute("libresprite image.png >&2 &") @@ -27,4 +30,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_text("IT WORKS") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/libreswan-nat.nix b/nixos/tests/libreswan-nat.nix index 973e304f9e3a3..a8729f3dab2c1 100644 --- a/nixos/tests/libreswan-nat.nix +++ b/nixos/tests/libreswan-nat.nix @@ -32,20 +32,28 @@ let # Common IPsec configuration baseTunnel = { services.libreswan.enable = true; - environment.etc."ipsec.d/tunnel.secrets" = - { text = ''@server %any : PSK "j1JbIi9WY07rxwcNQ6nbyThKCf9DGxWOyokXIQcAQUnafsNTUJxfsxwk9WYK8fHj"''; - mode = "600"; - }; + environment.etc."ipsec.d/tunnel.secrets" = { + text = ''@server %any : PSK "j1JbIi9WY07rxwcNQ6nbyThKCf9DGxWOyokXIQcAQUnafsNTUJxfsxwk9WYK8fHj"''; + mode = "600"; + }; }; # Helpers to add a static IP address on an interface setAddress4 = iface: addr: { - networking.interfaces.${iface}.ipv4.addresses = - lib.mkVMOverride [ { address = addr; prefixLength = 24; } ]; + networking.interfaces.${iface}.ipv4.addresses = lib.mkVMOverride [ + { + address = addr; + prefixLength = 24; + } + ]; }; setAddress6 = iface: addr: { - networking.interfaces.${iface}.ipv6.addresses = - lib.mkVMOverride [ { address = addr; prefixLength = 64; } ]; + networking.interfaces.${iface}.ipv6.addresses = lib.mkVMOverride [ + { + address = addr; + prefixLength = 64; + } + ]; }; in @@ -56,21 +64,26 @@ in maintainers = [ rnhmjoj ]; }; - nodes.router = { pkgs, ... }: lib.mkMerge [ - baseNetwork - (setAddress4 "eth1" "203.0.113.1") - (setAddress4 "eth2" "192.168.1.1") - { - virtualisation.vlans = [ 1 2 ]; - environment.systemPackages = [ pkgs.tcpdump ]; - networking.nat = { - enable = true; - externalInterface = "eth1"; - internalInterfaces = [ "eth2" ]; - }; - networking.firewall.trustedInterfaces = [ "eth2" ]; - } - ]; + nodes.router = + { pkgs, ... }: + lib.mkMerge [ + baseNetwork + (setAddress4 "eth1" "203.0.113.1") + (setAddress4 "eth2" "192.168.1.1") + { + virtualisation.vlans = [ + 1 + 2 + ]; + environment.systemPackages = [ pkgs.tcpdump ]; + networking.nat = { + enable = true; + externalInterface = "eth1"; + internalInterfaces = [ "eth2" ]; + }; + networking.firewall.trustedInterfaces = [ "eth2" ]; + } + ]; nodes.inner = lib.mkMerge [ baseNetwork @@ -84,8 +97,14 @@ in (setAddress4 "eth1" "203.0.113.2") (setAddress6 "eth2" "2001:db8::1") { - virtualisation.vlans = [ 1 3 ]; - networking.firewall.allowedUDPPorts = [ 500 4500 ]; + virtualisation.vlans = [ + 1 + 3 + ]; + networking.firewall.allowedUDPPorts = [ + 500 + 4500 + ]; networking.firewall.allowedTCPPorts = [ 993 ]; # see https://github.com/NixOS/nixpkgs/pull/310857 @@ -172,67 +191,66 @@ in } ]; - testScript = - '' - def client_to_host(machine, msg: str): - """ - Sends a message from client to server - """ - machine.execute("nc -lu :: 1234 >/tmp/msg &") - client.sleep(1) - client.succeed(f"echo '{msg}' | nc -uw 0 {machine.name} 1234") - client.sleep(1) - machine.succeed(f"grep '{msg}' /tmp/msg") - - - def eavesdrop(): - """ - Starts eavesdropping on the router - """ - match = "udp port 1234" - router.execute(f"tcpdump -i eth1 -c 1 -Avv {match} >/tmp/log &") - - - start_all() - - with subtest("Network is up"): - client.wait_until_succeeds("ping -c1 server") - client.succeed("systemctl restart ipsec") - server.succeed("systemctl restart ipsec") - - with subtest("Router can eavesdrop cleartext traffic"): - eavesdrop() - client_to_host(server, "I secretly love turnip") - router.sleep(1) - router.succeed("grep turnip /tmp/log") - - with subtest("Libreswan is ready"): - client.wait_for_unit("ipsec") - server.wait_for_unit("ipsec") - client.succeed("ipsec checkconfig") - server.succeed("ipsec checkconfig") - - with subtest("Client can't ping VPN host"): - client.fail("ping -c1 inner") - - with subtest("Client can start the tunnel"): - client.succeed("ipsec start tunnel") - client.succeed("ip -6 addr show lo | grep -q 2001:db8:0:0:c") - - with subtest("Client can ping VPN host"): - client.wait_until_succeeds("ping -c1 2001:db8::1") - client.succeed("ping -c1 inner") - - with subtest("Eve no longer can eavesdrop"): - eavesdrop() - client_to_host(inner, "Just kidding, I actually like rhubarb") - router.sleep(1) - router.fail("grep rhubarb /tmp/log") - - with subtest("TCP fallback is available"): - server.succeed("iptables -I nixos-fw -p udp -j DROP") - client.succeed("ipsec restart") - client.execute("ipsec start tunnel") - client.wait_until_succeeds("ping -c1 inner") - ''; + testScript = '' + def client_to_host(machine, msg: str): + """ + Sends a message from client to server + """ + machine.execute("nc -lu :: 1234 >/tmp/msg &") + client.sleep(1) + client.succeed(f"echo '{msg}' | nc -uw 0 {machine.name} 1234") + client.sleep(1) + machine.succeed(f"grep '{msg}' /tmp/msg") + + + def eavesdrop(): + """ + Starts eavesdropping on the router + """ + match = "udp port 1234" + router.execute(f"tcpdump -i eth1 -c 1 -Avv {match} >/tmp/log &") + + + start_all() + + with subtest("Network is up"): + client.wait_until_succeeds("ping -c1 server") + client.succeed("systemctl restart ipsec") + server.succeed("systemctl restart ipsec") + + with subtest("Router can eavesdrop cleartext traffic"): + eavesdrop() + client_to_host(server, "I secretly love turnip") + router.sleep(1) + router.succeed("grep turnip /tmp/log") + + with subtest("Libreswan is ready"): + client.wait_for_unit("ipsec") + server.wait_for_unit("ipsec") + client.succeed("ipsec checkconfig") + server.succeed("ipsec checkconfig") + + with subtest("Client can't ping VPN host"): + client.fail("ping -c1 inner") + + with subtest("Client can start the tunnel"): + client.succeed("ipsec start tunnel") + client.succeed("ip -6 addr show lo | grep -q 2001:db8:0:0:c") + + with subtest("Client can ping VPN host"): + client.wait_until_succeeds("ping -c1 2001:db8::1") + client.succeed("ping -c1 inner") + + with subtest("Eve no longer can eavesdrop"): + eavesdrop() + client_to_host(inner, "Just kidding, I actually like rhubarb") + router.sleep(1) + router.fail("grep rhubarb /tmp/log") + + with subtest("TCP fallback is available"): + server.succeed("iptables -I nixos-fw -p udp -j DROP") + client.succeed("ipsec restart") + client.execute("ipsec start tunnel") + client.wait_until_succeeds("ping -c1 inner") + ''; } diff --git a/nixos/tests/libreswan.nix b/nixos/tests/libreswan.nix index 1a25c1e6d9af7..9e850b554baf6 100644 --- a/nixos/tests/libreswan.nix +++ b/nixos/tests/libreswan.nix @@ -10,19 +10,18 @@ let # IPsec tunnel between Alice and Bob tunnelConfig = { services.libreswan.enable = true; - services.libreswan.connections.tunnel = - '' - leftid=@alice - left=fd::a - rightid=@bob - right=fd::b - authby=secret - auto=add - ''; - environment.etc."ipsec.d/tunnel.secrets" = - { text = ''@alice @bob : PSK "j1JbIi9WY07rxwcNQ6nbyThKCf9DGxWOyokXIQcAQUnafsNTUJxfsxwk9WYK8fHj"''; - mode = "600"; - }; + services.libreswan.connections.tunnel = '' + leftid=@alice + left=fd::a + rightid=@bob + right=fd::b + authby=secret + auto=add + ''; + environment.etc."ipsec.d/tunnel.secrets" = { + text = ''@alice @bob : PSK "j1JbIi9WY07rxwcNQ6nbyThKCf9DGxWOyokXIQcAQUnafsNTUJxfsxwk9WYK8fHj"''; + mode = "600"; + }; }; # Common network setup @@ -35,20 +34,29 @@ let ''; # remove all automatic addresses useDHCP = false; - interfaces.eth1.ipv4.addresses = lib.mkVMOverride []; - interfaces.eth2.ipv4.addresses = lib.mkVMOverride []; - interfaces.eth1.ipv6.addresses = lib.mkVMOverride []; - interfaces.eth2.ipv6.addresses = lib.mkVMOverride []; + interfaces.eth1.ipv4.addresses = lib.mkVMOverride [ ]; + interfaces.eth2.ipv4.addresses = lib.mkVMOverride [ ]; + interfaces.eth1.ipv6.addresses = lib.mkVMOverride [ ]; + interfaces.eth2.ipv6.addresses = lib.mkVMOverride [ ]; # open a port for testing firewall.allowedUDPPorts = [ 1234 ]; }; # Adds an address and route from a to b via Eve addRoute = a: b: { - interfaces.eth1.ipv6.addresses = - [ { address = a; prefixLength = 64; } ]; - interfaces.eth1.ipv6.routes = - [ { address = b; prefixLength = 128; via = "fd::e"; } ]; + interfaces.eth1.ipv6.addresses = [ + { + address = a; + prefixLength = 64; + } + ]; + interfaces.eth1.ipv6.routes = [ + { + address = b; + prefixLength = 128; + via = "fd::e"; + } + ]; }; in @@ -60,79 +68,97 @@ in }; # Our protagonist - nodes.alice = { ... }: { - virtualisation.vlans = [ 1 ]; - networking = baseNetwork // addRoute "fd::a" "fd::b"; - } // tunnelConfig; + nodes.alice = + { ... }: + { + virtualisation.vlans = [ 1 ]; + networking = baseNetwork // addRoute "fd::a" "fd::b"; + } + // tunnelConfig; # Her best friend - nodes.bob = { ... }: { - virtualisation.vlans = [ 2 ]; - networking = baseNetwork // addRoute "fd::b" "fd::a"; - } // tunnelConfig; + nodes.bob = + { ... }: + { + virtualisation.vlans = [ 2 ]; + networking = baseNetwork // addRoute "fd::b" "fd::a"; + } + // tunnelConfig; # The malicious network operator - nodes.eve = { ... }: { - virtualisation.vlans = [ 1 2 ]; - networking = lib.mkMerge - [ baseNetwork - { interfaces.br0.ipv6.addresses = - [ { address = "fd::e"; prefixLength = 64; } ]; - bridges.br0.interfaces = [ "eth1" "eth2" ]; + nodes.eve = + { ... }: + { + virtualisation.vlans = [ + 1 + 2 + ]; + networking = lib.mkMerge [ + baseNetwork + { + interfaces.br0.ipv6.addresses = [ + { + address = "fd::e"; + prefixLength = 64; + } + ]; + bridges.br0.interfaces = [ + "eth1" + "eth2" + ]; } ]; - environment.systemPackages = [ pkgs.tcpdump ]; - boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; - }; - - testScript = - '' - def alice_to_bob(msg: str): - """ - Sends a message as Alice to Bob - """ - bob.execute("nc -lu ::0 1234 >/tmp/msg &") - alice.sleep(1) - alice.succeed(f"echo '{msg}' | nc -uw 0 bob 1234") - bob.succeed(f"grep '{msg}' /tmp/msg") - - - def eavesdrop(): - """ - Starts eavesdropping on Alice and Bob - """ - match = "src host alice and dst host bob" - eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log &") - - - start_all() - - with subtest("Network is up"): - alice.wait_until_succeeds("ping -c1 bob") - alice.succeed("systemctl restart ipsec") - bob.succeed("systemctl restart ipsec") - - with subtest("Eve can eavesdrop cleartext traffic"): - eavesdrop() - alice_to_bob("I secretly love turnip") - eve.sleep(1) - eve.succeed("grep turnip /tmp/log") - - with subtest("Libreswan is ready"): - alice.wait_for_unit("ipsec") - bob.wait_for_unit("ipsec") - alice.succeed("ipsec checkconfig") - - with subtest("Alice and Bob can start the tunnel"): - alice.execute("ipsec start tunnel >&2 &") - bob.succeed("ipsec start tunnel") - # apparently this is needed to "wake" the tunnel - bob.execute("ping -c1 alice") - - with subtest("Eve no longer can eavesdrop"): - eavesdrop() - alice_to_bob("Just kidding, I actually like rhubarb") - eve.sleep(1) - eve.fail("grep rhubarb /tmp/log") - ''; + environment.systemPackages = [ pkgs.tcpdump ]; + boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; + }; + + testScript = '' + def alice_to_bob(msg: str): + """ + Sends a message as Alice to Bob + """ + bob.execute("nc -lu ::0 1234 >/tmp/msg &") + alice.sleep(1) + alice.succeed(f"echo '{msg}' | nc -uw 0 bob 1234") + bob.succeed(f"grep '{msg}' /tmp/msg") + + + def eavesdrop(): + """ + Starts eavesdropping on Alice and Bob + """ + match = "src host alice and dst host bob" + eve.execute(f"tcpdump -i br0 -c 1 -Avv {match} >/tmp/log &") + + + start_all() + + with subtest("Network is up"): + alice.wait_until_succeeds("ping -c1 bob") + alice.succeed("systemctl restart ipsec") + bob.succeed("systemctl restart ipsec") + + with subtest("Eve can eavesdrop cleartext traffic"): + eavesdrop() + alice_to_bob("I secretly love turnip") + eve.sleep(1) + eve.succeed("grep turnip /tmp/log") + + with subtest("Libreswan is ready"): + alice.wait_for_unit("ipsec") + bob.wait_for_unit("ipsec") + alice.succeed("ipsec checkconfig") + + with subtest("Alice and Bob can start the tunnel"): + alice.execute("ipsec start tunnel >&2 &") + bob.succeed("ipsec start tunnel") + # apparently this is needed to "wake" the tunnel + bob.execute("ping -c1 alice") + + with subtest("Eve no longer can eavesdrop"): + eavesdrop() + alice_to_bob("Just kidding, I actually like rhubarb") + eve.sleep(1) + eve.fail("grep rhubarb /tmp/log") + ''; } diff --git a/nixos/tests/libuiohook.nix b/nixos/tests/libuiohook.nix index 66c5033d96886..bd0cdcc7696aa 100644 --- a/nixos/tests/libuiohook.nix +++ b/nixos/tests/libuiohook.nix @@ -1,21 +1,35 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "libuiohook"; - meta = with lib.maintainers; { maintainers = [ anoa ]; }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "libuiohook"; + meta = with lib.maintainers; { + maintainers = [ anoa ]; + }; - nodes.client = { nodes, ... }: - let user = nodes.client.config.users.users.alice; - in { - imports = [ ./common/user-account.nix ./common/x11.nix ]; + nodes.client = + { nodes, ... }: + let + user = nodes.client.config.users.users.alice; + in + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; environment.systemPackages = [ pkgs.libuiohook.test ]; test-support.displayManager.auto.user = user.name; }; - testScript = { nodes, ... }: - let user = nodes.client.config.users.users.alice; - in '' - client.wait_for_x() - client.succeed("su - alice -c ${pkgs.libuiohook.test}/share/uiohook_tests >&2 &") - ''; -}) + testScript = + { nodes, ... }: + let + user = nodes.client.config.users.users.alice; + in + '' + client.wait_for_x() + client.succeed("su - alice -c ${pkgs.libuiohook.test}/share/uiohook_tests >&2 &") + ''; + } +) diff --git a/nixos/tests/libvirtd.nix b/nixos/tests/libvirtd.nix index 0b068d5a2f08b..3f996cdcde4ac 100644 --- a/nixos/tests/libvirtd.nix +++ b/nixos/tests/libvirtd.nix @@ -1,73 +1,78 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "libvirtd"; - meta.maintainers = with pkgs.lib.maintainers; [ fpletz ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "libvirtd"; + meta.maintainers = with pkgs.lib.maintainers; [ fpletz ]; - nodes = { - virthost = - { pkgs, ... }: - { - virtualisation = { - cores = 2; - memorySize = 2048; + nodes = { + virthost = + { pkgs, ... }: + { + virtualisation = { + cores = 2; + memorySize = 2048; - libvirtd.enable = true; - libvirtd.hooks.qemu.is_working = "${pkgs.writeShellScript "testHook.sh" '' - touch /tmp/qemu_hook_is_working - ''}"; - libvirtd.nss.enable = true; - }; - boot.supportedFilesystems = [ "zfs" ]; - networking.hostId = "deadbeef"; # needed for zfs - security.polkit.enable = true; - environment.systemPackages = with pkgs; [ virt-manager ]; + libvirtd.enable = true; + libvirtd.hooks.qemu.is_working = "${pkgs.writeShellScript "testHook.sh" '' + touch /tmp/qemu_hook_is_working + ''}"; + libvirtd.nss.enable = true; + }; + boot.supportedFilesystems = [ "zfs" ]; + networking.hostId = "deadbeef"; # needed for zfs + security.polkit.enable = true; + environment.systemPackages = with pkgs; [ virt-manager ]; - # This adds `resolve` to the `hosts` line of /etc/nsswitch.conf; NSS modules placed after it - # will not be consulted. Therefore this tests that the libvirtd NSS modules will be - # be placed early enough for name resolution to work. - services.resolved.enable = true; - }; - }; + # This adds `resolve` to the `hosts` line of /etc/nsswitch.conf; NSS modules placed after it + # will not be consulted. Therefore this tests that the libvirtd NSS modules will be + # be placed early enough for name resolution to work. + services.resolved.enable = true; + }; + }; - testScript = let - nixosInstallISO = (import ../release.nix {}).iso_minimal.${pkgs.stdenv.hostPlatform.system}; - virshShutdownCmd = if pkgs.stdenv.hostPlatform.isx86_64 then "shutdown" else "destroy"; - in '' - start_all() + testScript = + let + nixosInstallISO = (import ../release.nix { }).iso_minimal.${pkgs.stdenv.hostPlatform.system}; + virshShutdownCmd = if pkgs.stdenv.hostPlatform.isx86_64 then "shutdown" else "destroy"; + in + '' + start_all() - virthost.wait_for_unit("multi-user.target") + virthost.wait_for_unit("multi-user.target") - with subtest("enable default network"): - virthost.succeed("virsh net-start default") - virthost.succeed("virsh net-autostart default") - virthost.succeed("virsh net-info default") + with subtest("enable default network"): + virthost.succeed("virsh net-start default") + virthost.succeed("virsh net-autostart default") + virthost.succeed("virsh net-info default") - with subtest("check if partition disk pools works with parted"): - virthost.succeed("fallocate -l100m /tmp/foo; losetup /dev/loop0 /tmp/foo; echo 'label: dos' | sfdisk /dev/loop0") - virthost.succeed("virsh pool-create-as foo disk --source-dev /dev/loop0 --target /dev") - virthost.succeed("virsh vol-create-as foo loop0p1 25MB") - virthost.succeed("virsh vol-create-as foo loop0p2 50MB") + with subtest("check if partition disk pools works with parted"): + virthost.succeed("fallocate -l100m /tmp/foo; losetup /dev/loop0 /tmp/foo; echo 'label: dos' | sfdisk /dev/loop0") + virthost.succeed("virsh pool-create-as foo disk --source-dev /dev/loop0 --target /dev") + virthost.succeed("virsh vol-create-as foo loop0p1 25MB") + virthost.succeed("virsh vol-create-as foo loop0p2 50MB") - with subtest("check if virsh zfs pools work"): - virthost.succeed("fallocate -l100m /tmp/zfs; losetup /dev/loop1 /tmp/zfs;") - virthost.succeed("zpool create zfs_loop /dev/loop1") - virthost.succeed("virsh pool-define-as --name zfs_storagepool --source-name zfs_loop --type zfs") - virthost.succeed("virsh pool-start zfs_storagepool") - virthost.succeed("virsh vol-create-as zfs_storagepool disk1 25MB") + with subtest("check if virsh zfs pools work"): + virthost.succeed("fallocate -l100m /tmp/zfs; losetup /dev/loop1 /tmp/zfs;") + virthost.succeed("zpool create zfs_loop /dev/loop1") + virthost.succeed("virsh pool-define-as --name zfs_storagepool --source-name zfs_loop --type zfs") + virthost.succeed("virsh pool-start zfs_storagepool") + virthost.succeed("virsh vol-create-as zfs_storagepool disk1 25MB") - with subtest("check if nixos install iso boots, network and autostart works"): - virthost.succeed( - "virt-install -n nixos --osinfo nixos-unstable --memory 1024 --graphics none --disk `find ${nixosInstallISO}/iso -type f | head -n1`,readonly=on --import --noautoconsole --autostart" - ) - virthost.succeed("virsh domstate nixos | grep running") - virthost.wait_until_succeeds("ping -c 1 nixos") - virthost.succeed("virsh ${virshShutdownCmd} nixos") - virthost.wait_until_succeeds("virsh domstate nixos | grep 'shut off'") - virthost.shutdown() - virthost.wait_for_unit("multi-user.target") - virthost.wait_until_succeeds("ping -c 1 nixos") + with subtest("check if nixos install iso boots, network and autostart works"): + virthost.succeed( + "virt-install -n nixos --osinfo nixos-unstable --memory 1024 --graphics none --disk `find ${nixosInstallISO}/iso -type f | head -n1`,readonly=on --import --noautoconsole --autostart" + ) + virthost.succeed("virsh domstate nixos | grep running") + virthost.wait_until_succeeds("ping -c 1 nixos") + virthost.succeed("virsh ${virshShutdownCmd} nixos") + virthost.wait_until_succeeds("virsh domstate nixos | grep 'shut off'") + virthost.shutdown() + virthost.wait_for_unit("multi-user.target") + virthost.wait_until_succeeds("ping -c 1 nixos") - with subtest("test if hooks are linked and run"): - virthost.succeed("ls /var/lib/libvirt/hooks/qemu.d/is_working") - virthost.succeed("ls /tmp/qemu_hook_is_working") - ''; -}) + with subtest("test if hooks are linked and run"): + virthost.succeed("ls /var/lib/libvirt/hooks/qemu.d/is_working") + virthost.succeed("ls /tmp/qemu_hook_is_working") + ''; + } +) diff --git a/nixos/tests/lidarr.nix b/nixos/tests/lidarr.nix index 8230dda53736c..411d4a782390c 100644 --- a/nixos/tests/lidarr.nix +++ b/nixos/tests/lidarr.nix @@ -1,18 +1,22 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "lidarr"; - meta.maintainers = with lib.maintainers; [ etu ]; + { + name = "lidarr"; + meta.maintainers = with lib.maintainers; [ etu ]; - nodes.machine = - { pkgs, ... }: - { services.lidarr.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.lidarr.enable = true; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("lidarr.service") - machine.wait_for_open_port(8686) - machine.succeed("curl --fail http://localhost:8686/") - ''; -}) + machine.wait_for_unit("lidarr.service") + machine.wait_for_open_port(8686) + machine.succeed("curl --fail http://localhost:8686/") + ''; + } +) diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index 730983a804134..8490f0a6ffaa9 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -1,28 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "lightdm"; - meta = with pkgs.lib.maintainers; { - maintainers = [ aszlig ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "lightdm"; + meta = with pkgs.lib.maintainers; { + maintainers = [ aszlig ]; + }; - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.xserver.displayManager.lightdm.enable = true; - services.displayManager.defaultSession = "none+icewm"; - services.xserver.windowManager.icewm.enable = true; - }; + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.displayManager.lightdm.enable = true; + services.displayManager.defaultSession = "none+icewm"; + services.xserver.windowManager.icewm.enable = true; + }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - in '' - start_all() - machine.wait_for_text("${user.description}") - machine.screenshot("lightdm") - machine.send_chars("${user.password}\n") - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") - machine.wait_for_window("^IceWM ") - ''; -}) + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + start_all() + machine.wait_for_text("${user.description}") + machine.screenshot("lightdm") + machine.send_chars("${user.password}\n") + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + machine.wait_for_window("^IceWM ") + ''; + } +) diff --git a/nixos/tests/lighttpd.nix b/nixos/tests/lighttpd.nix index daef1584a45c7..271dc19ef68cb 100644 --- a/nixos/tests/lighttpd.nix +++ b/nixos/tests/lighttpd.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "lighttpd"; - meta.maintainers = with lib.maintainers; [ bjornfor ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "lighttpd"; + meta.maintainers = with lib.maintainers; [ bjornfor ]; - nodes = { - server = { - services.lighttpd.enable = true; - services.lighttpd.document-root = pkgs.runCommand "document-root" {} '' - mkdir -p "$out" - echo "hello nixos test" > "$out/file.txt" - ''; + nodes = { + server = { + services.lighttpd.enable = true; + services.lighttpd.document-root = pkgs.runCommand "document-root" { } '' + mkdir -p "$out" + echo "hello nixos test" > "$out/file.txt" + ''; + }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("lighttpd.service") - res = server.succeed("curl --fail http://localhost/file.txt") - assert "hello nixos test" in res, f"bad server response: '{res}'" - server.succeed("systemctl reload lighttpd") - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("lighttpd.service") + res = server.succeed("curl --fail http://localhost/file.txt") + assert "hello nixos test" in res, f"bad server response: '{res}'" + server.succeed("systemctl reload lighttpd") + ''; + } +) diff --git a/nixos/tests/limesurvey.nix b/nixos/tests/limesurvey.nix index 87e9fe1cdc149..af6092b40193f 100644 --- a/nixos/tests/limesurvey.nix +++ b/nixos/tests/limesurvey.nix @@ -1,28 +1,33 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "limesurvey"; - meta.maintainers = [ lib.maintainers.aanderse ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "limesurvey"; + meta.maintainers = [ lib.maintainers.aanderse ]; - nodes.machine = { ... }: { - services.limesurvey = { - enable = true; - virtualHost = { - hostName = "example.local"; - adminAddr = "root@example.local"; - }; - encryptionKeyFile = pkgs.writeText "key" (lib.strings.replicate 32 "0"); - encryptionNonceFile = pkgs.writeText "nonce" (lib.strings.replicate 24 "0"); - }; + nodes.machine = + { ... }: + { + services.limesurvey = { + enable = true; + virtualHost = { + hostName = "example.local"; + adminAddr = "root@example.local"; + }; + encryptionKeyFile = pkgs.writeText "key" (lib.strings.replicate 32 "0"); + encryptionNonceFile = pkgs.writeText "nonce" (lib.strings.replicate 24 "0"); + }; - # limesurvey won't work without a dot in the hostname - networking.hosts."127.0.0.1" = [ "example.local" ]; - }; + # limesurvey won't work without a dot in the hostname + networking.hosts."127.0.0.1" = [ "example.local" ]; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("phpfpm-limesurvey.service") - assert "The following surveys are available" in machine.succeed( - "curl -f http://example.local/" - ) - ''; -}) + machine.wait_for_unit("phpfpm-limesurvey.service") + assert "The following surveys are available" in machine.succeed( + "curl -f http://example.local/" + ) + ''; + } +) diff --git a/nixos/tests/listmonk.nix b/nixos/tests/listmonk.nix index 938c36026a7f8..31c2a59b8b65e 100644 --- a/nixos/tests/listmonk.nix +++ b/nixos/tests/listmonk.nix @@ -1,76 +1,83 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "listmonk"; - meta.maintainers = with lib.maintainers; [ raitobezarius ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "listmonk"; + meta.maintainers = with lib.maintainers; [ raitobezarius ]; - nodes.machine = { pkgs, ... }: { - services.mailhog.enable = true; - services.listmonk = { - enable = true; - settings = { - admin_username = "listmonk"; - admin_password = "hunter2"; + nodes.machine = + { pkgs, ... }: + { + services.mailhog.enable = true; + services.listmonk = { + enable = true; + settings = { + admin_username = "listmonk"; + admin_password = "hunter2"; + }; + database = { + createLocally = true; + # https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/internal/messenger/email/email.go#L18-L27 + settings.smtp = [ + { + enabled = true; + host = "localhost"; + port = 1025; + tls_type = "none"; + } + ]; + }; + }; }; - database = { - createLocally = true; - # https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/internal/messenger/email/email.go#L18-L27 - settings.smtp = [ { - enabled = true; - host = "localhost"; - port = 1025; - tls_type = "none"; - }]; - }; - }; - }; - testScript = '' - import json + testScript = '' + import json - start_all() + start_all() - basic_auth = "listmonk:hunter2" - def generate_listmonk_request(type, url, data=None): - if data is None: data = {} - json_data = json.dumps(data) - return f'curl -u "{basic_auth}" -X {type} "http://localhost:9000/api/{url}" -H "Content-Type: application/json; charset=utf-8" --data-raw \'{json_data}\''' + basic_auth = "listmonk:hunter2" + def generate_listmonk_request(type, url, data=None): + if data is None: data = {} + json_data = json.dumps(data) + return f'curl -u "{basic_auth}" -X {type} "http://localhost:9000/api/{url}" -H "Content-Type: application/json; charset=utf-8" --data-raw \'{json_data}\''' - machine.wait_for_unit("mailhog.service") - machine.wait_for_unit("postgresql.service") - machine.wait_for_unit("listmonk.service") - machine.wait_for_open_port(1025) - machine.wait_for_open_port(8025) - machine.wait_for_open_port(9000) - machine.succeed("[[ -f /var/lib/listmonk/.db_settings_initialized ]]") + machine.wait_for_unit("mailhog.service") + machine.wait_for_unit("postgresql.service") + machine.wait_for_unit("listmonk.service") + machine.wait_for_open_port(1025) + machine.wait_for_open_port(8025) + machine.wait_for_open_port(9000) + machine.succeed("[[ -f /var/lib/listmonk/.db_settings_initialized ]]") - assert json.loads(machine.succeed(generate_listmonk_request("GET", 'health')))['data'], 'Health endpoint returned unexpected value' + assert json.loads(machine.succeed(generate_listmonk_request("GET", 'health')))['data'], 'Health endpoint returned unexpected value' - # A sample subscriber is guaranteed to exist at install-time - # A sample transactional template is guaranteed to exist at install-time - subscribers = json.loads(machine.succeed(generate_listmonk_request('GET', "subscribers")))['data']['results'] - templates = json.loads(machine.succeed(generate_listmonk_request('GET', "templates")))['data'] - tx_template = templates[2] + # A sample subscriber is guaranteed to exist at install-time + # A sample transactional template is guaranteed to exist at install-time + subscribers = json.loads(machine.succeed(generate_listmonk_request('GET', "subscribers")))['data']['results'] + templates = json.loads(machine.succeed(generate_listmonk_request('GET', "templates")))['data'] + tx_template = templates[2] - # Test transactional endpoint - print(machine.succeed( - generate_listmonk_request('POST', 'tx', data={'subscriber_id': subscribers[0]['id'], 'template_id': tx_template['id']}) - )) + # Test transactional endpoint + print(machine.succeed( + generate_listmonk_request('POST', 'tx', data={'subscriber_id': subscribers[0]['id'], 'template_id': tx_template['id']}) + )) - assert 'Welcome Anon Doe' in machine.succeed( - "curl --fail http://localhost:8025/api/v2/messages" - ), "Failed to find Welcome John Doe inside the messages API endpoint" + assert 'Welcome Anon Doe' in machine.succeed( + "curl --fail http://localhost:8025/api/v2/messages" + ), "Failed to find Welcome John Doe inside the messages API endpoint" - # Test campaign endpoint - # Based on https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/cmd/campaigns.go#L549 as docs do not exist. - campaign_data = json.loads(machine.succeed( - generate_listmonk_request('POST', 'campaigns/1/test', data={'template_id': templates[0]['id'], 'subscribers': ['john@example.com'], 'name': 'Test', 'subject': 'NixOS is great', 'lists': [1], 'messenger': 'email'}) - )) + # Test campaign endpoint + # Based on https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/cmd/campaigns.go#L549 as docs do not exist. + campaign_data = json.loads(machine.succeed( + generate_listmonk_request('POST', 'campaigns/1/test', data={'template_id': templates[0]['id'], 'subscribers': ['john@example.com'], 'name': 'Test', 'subject': 'NixOS is great', 'lists': [1], 'messenger': 'email'}) + )) - assert campaign_data['data'] # This is a boolean asserting if the test was successful or not: https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/cmd/campaigns.go#L626 + assert campaign_data['data'] # This is a boolean asserting if the test was successful or not: https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/cmd/campaigns.go#L626 - messages = json.loads(machine.succeed( - "curl --fail http://localhost:8025/api/v2/messages" - )) + messages = json.loads(machine.succeed( + "curl --fail http://localhost:8025/api/v2/messages" + )) - assert messages['total'] == 2 - ''; -}) + assert messages['total'] == 2 + ''; + } +) diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix index a281d8538694c..24fe804f3a9e8 100644 --- a/nixos/tests/litestream.nix +++ b/nixos/tests/litestream.nix @@ -1,101 +1,114 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "litestream"; - meta = with pkgs.lib.maintainers; { - maintainers = [ jwygoda ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "litestream"; + meta = with pkgs.lib.maintainers; { + maintainers = [ jwygoda ]; + }; - nodes.machine = - { pkgs, ... }: - { services.litestream = { - enable = true; - settings = { - dbs = [ - { - path = "/var/lib/grafana/data/grafana.db"; - replicas = [{ - url = "sftp://foo:bar@127.0.0.1:22/home/foo/grafana"; - }]; - } - ]; + nodes.machine = + { pkgs, ... }: + { + services.litestream = { + enable = true; + settings = { + dbs = [ + { + path = "/var/lib/grafana/data/grafana.db"; + replicas = [ + { + url = "sftp://foo:bar@127.0.0.1:22/home/foo/grafana"; + } + ]; + } + ]; + }; }; - }; - systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" '' - timeout=10 + systemd.services.grafana.serviceConfig.ExecStartPost = + "+" + + pkgs.writeShellScript "grant-grafana-permissions" '' + timeout=10 - while [ ! -f /var/lib/grafana/data/grafana.db ]; - do - if [ "$timeout" == 0 ]; then - echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db." - exit 1 - fi + while [ ! -f /var/lib/grafana/data/grafana.db ]; + do + if [ "$timeout" == 0 ]; then + echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db." + exit 1 + fi - sleep 1 + sleep 1 - ((timeout--)) - done + ((timeout--)) + done - find /var/lib/grafana -type d -exec chmod -v 775 {} \; - find /var/lib/grafana -type f -exec chmod -v 660 {} \; - ''; - services.openssh = { - enable = true; - allowSFTP = true; - listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ]; - }; - services.grafana = { - enable = true; - settings = { - security = { - admin_user = "admin"; - admin_password = "admin"; - }; + find /var/lib/grafana -type d -exec chmod -v 775 {} \; + find /var/lib/grafana -type f -exec chmod -v 660 {} \; + ''; + services.openssh = { + enable = true; + allowSFTP = true; + listenAddresses = [ + { + addr = "127.0.0.1"; + port = 22; + } + ]; + }; + services.grafana = { + enable = true; + settings = { + security = { + admin_user = "admin"; + admin_password = "admin"; + }; - server = { - http_addr = "localhost"; - http_port = 3000; - }; + server = { + http_addr = "localhost"; + http_port = 3000; + }; - database = { - type = "sqlite3"; - path = "/var/lib/grafana/data/grafana.db"; - wal = true; + database = { + type = "sqlite3"; + path = "/var/lib/grafana/data/grafana.db"; + wal = true; + }; }; }; + users.users.foo = { + isNormalUser = true; + password = "bar"; + }; + users.users.litestream.extraGroups = [ "grafana" ]; }; - users.users.foo = { - isNormalUser = true; - password = "bar"; - }; - users.users.litestream.extraGroups = [ "grafana" ]; - }; - testScript = '' - start_all() - machine.wait_until_succeeds("test -d /home/foo/grafana") - machine.wait_for_open_port(3000) - machine.succeed(""" - curl -sSfN -X PUT -H "Content-Type: application/json" -d '{ - "oldPassword": "admin", - "newPassword": "newpass", - "confirmNew": "newpass" - }' http://admin:admin@127.0.0.1:3000/api/user/password - """) - # https://litestream.io/guides/systemd/#simulating-a-disaster - machine.systemctl("stop litestream.service") - machine.succeed( - "rm -f /var/lib/grafana/data/grafana.db " - "/var/lib/grafana/data/grafana.db-shm " - "/var/lib/grafana/data/grafana.db-wal" - ) - machine.succeed( - "litestream restore /var/lib/grafana/data/grafana.db " - "&& chown grafana:grafana /var/lib/grafana/data/grafana.db " - "&& chmod 660 /var/lib/grafana/data/grafana.db" - ) - machine.systemctl("restart grafana.service") - machine.wait_for_open_port(3000) - machine.succeed( - "curl -sSfN -u admin:newpass http://127.0.0.1:3000/api/org/users | grep admin\@localhost" - ) - ''; -}) + testScript = '' + start_all() + machine.wait_until_succeeds("test -d /home/foo/grafana") + machine.wait_for_open_port(3000) + machine.succeed(""" + curl -sSfN -X PUT -H "Content-Type: application/json" -d '{ + "oldPassword": "admin", + "newPassword": "newpass", + "confirmNew": "newpass" + }' http://admin:admin@127.0.0.1:3000/api/user/password + """) + # https://litestream.io/guides/systemd/#simulating-a-disaster + machine.systemctl("stop litestream.service") + machine.succeed( + "rm -f /var/lib/grafana/data/grafana.db " + "/var/lib/grafana/data/grafana.db-shm " + "/var/lib/grafana/data/grafana.db-wal" + ) + machine.succeed( + "litestream restore /var/lib/grafana/data/grafana.db " + "&& chown grafana:grafana /var/lib/grafana/data/grafana.db " + "&& chmod 660 /var/lib/grafana/data/grafana.db" + ) + machine.systemctl("restart grafana.service") + machine.wait_for_open_port(3000) + machine.succeed( + "curl -sSfN -u admin:newpass http://127.0.0.1:3000/api/org/users | grep admin\@localhost" + ) + ''; + } +) diff --git a/nixos/tests/livebook-service.nix b/nixos/tests/livebook-service.nix index 2d699efb1e3ee..140b056c48d4b 100644 --- a/nixos/tests/livebook-service.nix +++ b/nixos/tests/livebook-service.nix @@ -1,42 +1,48 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "livebook-service"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "livebook-service"; - nodes = { - machine = { config, pkgs, ... }: { - imports = [ - ./common/user-account.nix - ]; + nodes = { + machine = + { config, pkgs, ... }: + { + imports = [ + ./common/user-account.nix + ]; - services.livebook = { - enableUserService = true; - environment = { - LIVEBOOK_PORT = 20123; + services.livebook = { + enableUserService = true; + environment = { + LIVEBOOK_PORT = 20123; + }; + environmentFile = pkgs.writeText "livebook.env" '' + LIVEBOOK_PASSWORD = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + ''; + }; }; - environmentFile = pkgs.writeText "livebook.env" '' - LIVEBOOK_PASSWORD = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - ''; - }; }; - }; - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - sudo = lib.concatStringsSep " " [ - "XDG_RUNTIME_DIR=/run/user/${toString user.uid}" - "sudo" - "--preserve-env=XDG_RUNTIME_DIR" - "-u" - "alice" - ]; - in - '' - machine.wait_for_unit("multi-user.target") + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + sudo = lib.concatStringsSep " " [ + "XDG_RUNTIME_DIR=/run/user/${toString user.uid}" + "sudo" + "--preserve-env=XDG_RUNTIME_DIR" + "-u" + "alice" + ]; + in + '' + machine.wait_for_unit("multi-user.target") - machine.succeed("loginctl enable-linger alice") - machine.wait_until_succeeds("${sudo} systemctl --user is-active livebook.service") - machine.wait_for_open_port(20123, timeout=10) + machine.succeed("loginctl enable-linger alice") + machine.wait_until_succeeds("${sudo} systemctl --user is-active livebook.service") + machine.wait_for_open_port(20123, timeout=10) - machine.succeed("curl -L localhost:20123 | grep 'Type password'") - ''; -}) + machine.succeed("curl -L localhost:20123 | grep 'Type password'") + ''; + } +) diff --git a/nixos/tests/lldap.nix b/nixos/tests/lldap.nix index d6c3a865aa04a..610bda27b1cc1 100644 --- a/nixos/tests/lldap.nix +++ b/nixos/tests/lldap.nix @@ -1,26 +1,31 @@ -import ./make-test-python.nix ({ ... }: { - name = "lldap"; +import ./make-test-python.nix ( + { ... }: + { + name = "lldap"; - nodes.machine = { pkgs, ... }: { - services.lldap = { - enable = true; - settings = { - verbose = true; - ldap_base_dn = "dc=example,dc=com"; + nodes.machine = + { pkgs, ... }: + { + services.lldap = { + enable = true; + settings = { + verbose = true; + ldap_base_dn = "dc=example,dc=com"; + }; + }; + environment.systemPackages = [ pkgs.openldap ]; }; - }; - environment.systemPackages = [ pkgs.openldap ]; - }; - testScript = '' - machine.wait_for_unit("lldap.service") - machine.wait_for_open_port(3890) - machine.wait_for_open_port(17170) + testScript = '' + machine.wait_for_unit("lldap.service") + machine.wait_for_open_port(3890) + machine.wait_for_open_port(17170) - machine.succeed("curl --location --fail http://localhost:17170/") + machine.succeed("curl --location --fail http://localhost:17170/") - print( - machine.succeed('ldapsearch -H ldap://localhost:3890 -D uid=admin,ou=people,dc=example,dc=com -b "ou=people,dc=example,dc=com" -w password') - ) - ''; -}) + print( + machine.succeed('ldapsearch -H ldap://localhost:3890 -D uid=admin,ou=people,dc=example,dc=com -b "ou=people,dc=example,dc=com" -w password') + ) + ''; + } +) diff --git a/nixos/tests/locate.nix b/nixos/tests/locate.nix index e8ba41812a8f5..ce66d7fd3afc4 100644 --- a/nixos/tests/locate.nix +++ b/nixos/tests/locate.nix @@ -1,6 +1,9 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: - let inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - in { +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; + in + { name = "locate"; meta.maintainers = with pkgs.lib.maintainers; [ chkno ]; @@ -59,4 +62,5 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: # We shouldn't be able to see files on the other machine a.fail("locate file-on-b-machine") ''; - }) + } +) diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index e3b1b877940ac..acfb270193abf 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -1,17 +1,23 @@ -import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: +import ./make-test-python.nix ( + { + pkgs, + latestKernel ? false, + ... + }: -{ - name = "login"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes.machine = - { pkgs, lib, ... }: - { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; + { + name = "login"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - testScript = '' + nodes.machine = + { pkgs, lib, ... }: + { + boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; + }; + + testScript = '' machine.start(allow_reboot = True) machine.wait_for_unit("multi-user.target") @@ -63,5 +69,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: assert boot_id2 != "" assert boot_id1 != boot_id2 - ''; -}) + ''; + } +) diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix index 8d5887abec941..1efbcc4cfed5d 100644 --- a/nixos/tests/logrotate.nix +++ b/nixos/tests/logrotate.nix @@ -1,82 +1,94 @@ # Test logrotate service works and is enabled by default let - importTest = { ... }: { - services.logrotate.settings.import = { - olddir = false; + importTest = + { ... }: + { + services.logrotate.settings.import = { + olddir = false; + }; }; - }; in -import ./make-test-python.nix ({ pkgs, ... }: rec { - name = "logrotate"; - meta = with pkgs.lib.maintainers; { - maintainers = [ martinetd ]; - }; - - nodes = { - defaultMachine = { ... }: { - services.logrotate.enable = true; - }; - failingMachine = { ... }: { - services.logrotate = { - enable = true; - configFile = pkgs.writeText "logrotate.conf" '' - # self-written config file - su notarealuser notagroupeither - ''; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + rec { + name = "logrotate"; + meta = with pkgs.lib.maintainers; { + maintainers = [ martinetd ]; }; - machine = { config, ... }: { - imports = [ importTest ]; - services.logrotate = { - enable = true; - settings = { - # remove default frequency header and add another - header = { - frequency = null; - delaycompress = true; - }; - # extra global setting... affecting nothing - last_line = { - global = true; - priority = 2000; - shred = true; - }; - # using mail somewhere should add --mail to logrotate invocation - sendmail = { - mail = "user@domain.tld"; - }; - # postrotate should be suffixed by 'endscript' - postrotate = { - postrotate = "touch /dev/null"; - }; - # check checkConfig works as expected: there is nothing to check here - # except that the file build passes - checkConf = { - su = "root utmp"; - createolddir = "0750 root utmp"; - create = "root utmp"; - "create " = "0750 root utmp"; - }; - # multiple paths should be aggregated - multipath = { - files = [ "file1" "file2" ]; + nodes = { + defaultMachine = + { ... }: + { + services.logrotate.enable = true; + }; + failingMachine = + { ... }: + { + services.logrotate = { + enable = true; + configFile = pkgs.writeText "logrotate.conf" '' + # self-written config file + su notarealuser notagroupeither + ''; }; - # overriding imported path should keep existing attributes - # (e.g. olddir is still set) - import = { - notifempty = true; + }; + machine = + { config, ... }: + { + imports = [ importTest ]; + + services.logrotate = { + enable = true; + settings = { + # remove default frequency header and add another + header = { + frequency = null; + delaycompress = true; + }; + # extra global setting... affecting nothing + last_line = { + global = true; + priority = 2000; + shred = true; + }; + # using mail somewhere should add --mail to logrotate invocation + sendmail = { + mail = "user@domain.tld"; + }; + # postrotate should be suffixed by 'endscript' + postrotate = { + postrotate = "touch /dev/null"; + }; + # check checkConfig works as expected: there is nothing to check here + # except that the file build passes + checkConf = { + su = "root utmp"; + createolddir = "0750 root utmp"; + create = "root utmp"; + "create " = "0750 root utmp"; + }; + # multiple paths should be aggregated + multipath = { + files = [ + "file1" + "file2" + ]; + }; + # overriding imported path should keep existing attributes + # (e.g. olddir is still set) + import = { + notifempty = true; + }; + }; }; }; - }; }; - }; - testScript = - '' + testScript = '' with subtest("whether logrotate works"): # we must rotate once first to create logrotate stamp defaultMachine.succeed("systemctl start logrotate.service") @@ -130,4 +142,5 @@ import ./make-test-python.nix ({ pkgs, ... }: rec { machine.log(machine.execute("systemd-analyze security logrotate.service | grep -v ✓")[1]) ''; -}) + } +) diff --git a/nixos/tests/loki.nix b/nixos/tests/loki.nix index 470f80e9db635..81103a5ee4cae 100644 --- a/nixos/tests/loki.nix +++ b/nixos/tests/loki.nix @@ -1,56 +1,60 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "loki"; + { + name = "loki"; - meta = with lib.maintainers; { - maintainers = [ willibutz ]; - }; - - nodes.machine = { ... }: { - services.loki = { - enable = true; - configFile = "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml"; + meta = with lib.maintainers; { + maintainers = [ willibutz ]; }; - services.promtail = { - enable = true; - configuration = { - server = { - http_listen_port = 9080; - grpc_listen_port = 0; + + nodes.machine = + { ... }: + { + services.loki = { + enable = true; + configFile = "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml"; }; - clients = [ { url = "http://localhost:3100/loki/api/v1/push"; } ]; - scrape_configs = [ - { - job_name = "system"; - static_configs = [ + services.promtail = { + enable = true; + configuration = { + server = { + http_listen_port = 9080; + grpc_listen_port = 0; + }; + clients = [ { url = "http://localhost:3100/loki/api/v1/push"; } ]; + scrape_configs = [ { - targets = [ "localhost" ]; - labels = { - job = "varlogs"; - __path__ = "/var/log/*log"; - }; + job_name = "system"; + static_configs = [ + { + targets = [ "localhost" ]; + labels = { + job = "varlogs"; + __path__ = "/var/log/*log"; + }; + } + ]; } ]; - } - ]; + }; + }; }; - }; - }; - testScript = '' - machine.start - machine.wait_for_unit("loki.service") - machine.wait_for_unit("promtail.service") - machine.wait_for_open_port(3100) - machine.wait_for_open_port(9080) - machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog") - # should not have access to journal unless specified - machine.fail( - "systemctl show --property=SupplementaryGroups promtail | grep -q systemd-journal" - ) - machine.wait_until_succeeds( - "${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'" - ) - ''; -}) + testScript = '' + machine.start + machine.wait_for_unit("loki.service") + machine.wait_for_unit("promtail.service") + machine.wait_for_open_port(3100) + machine.wait_for_open_port(9080) + machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog") + # should not have access to journal unless specified + machine.fail( + "systemctl show --property=SupplementaryGroups promtail | grep -q systemd-journal" + ) + machine.wait_until_succeeds( + "${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'" + ) + ''; + } +) diff --git a/nixos/tests/lomiri-system-settings.nix b/nixos/tests/lomiri-system-settings.nix index fac5184847520..407e58eb78470 100644 --- a/nixos/tests/lomiri-system-settings.nix +++ b/nixos/tests/lomiri-system-settings.nix @@ -1,99 +1,165 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "lomiri-system-settings-standalone"; - meta.maintainers = lib.teams.lomiri.members; - - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; - - services.xserver.enable = true; - - environment = { - systemPackages = with pkgs.lomiri; [ - suru-icon-theme - lomiri-system-settings - ]; - variables = { - UITK_ICON_THEME = "suru"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "lomiri-system-settings-standalone"; + meta.maintainers = lib.teams.lomiri.members; + + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; + + services.xserver.enable = true; + + environment = { + systemPackages = with pkgs.lomiri; [ + suru-icon-theme + lomiri-system-settings + ]; + variables = { + UITK_ICON_THEME = "suru"; + }; + }; + + i18n.supportedLocales = [ "all" ]; + + fonts.packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + + services.upower.enable = true; }; - }; - - i18n.supportedLocales = [ "all" ]; - - fonts.packages = with pkgs; [ - # Intended font & helps with OCR - ubuntu-classic - ]; - - services.upower.enable = true; - }; - - enableOCR = true; - - testScript = let - settingsPages = [ - # Base pages - { name = "wifi"; type = "internal"; element = "networks"; } - { name = "bluetooth"; type = "internal"; element = "discoverable|None detected"; } - # only text we can really look for with VPN is on a button, OCR on CI struggles with it - { name = "vpn"; type = "internal"; element = "Add|Manual|Configuration"; skipOCR = true; } - { name = "appearance"; type = "internal"; element = "Background image|blur effects"; } - { name = "desktop"; type = "internal"; element = "workspaces|Icon size"; } - { name = "sound"; type = "internal"; element = "Silent Mode|Message sound"; } - { name = "language"; type = "internal"; element = "Display language|External keyboard"; } - { name = "notification"; type = "internal"; element = "Apps that notify"; } - { name = "gestures"; type = "internal"; element = "Edge drag"; } - { name = "mouse"; type = "internal"; element = "Cursor speed|Wheel scrolling speed"; } - { name = "timedate"; type = "internal"; element = "Time zone|Set the time and date"; } - - # External plugins - { name = "security-privacy"; type = "external"; element = "Locking|unlocking|permissions"; elementLocalised = "Sperren|Entsperren|Berechtigungen"; } - ]; - in - '' - machine.wait_for_x() - - with subtest("lomiri system settings launches"): - machine.execute("lomiri-system-settings >&2 &") - machine.wait_for_text("System Settings") - machine.screenshot("lss_open") - - # Move focus to start of plugins list for following list of tests - machine.send_key("tab") - machine.send_key("tab") - machine.screenshot("lss_focus") - - # tab through & open all sub-menus, to make sure none of them fail - '' + (lib.strings.concatMapStringsSep "\n" (page: '' - machine.send_key("tab") - machine.send_key("kp_enter") - '' - + lib.optionalString (!(page.skipOCR or false)) '' - with subtest("lomiri system settings ${page.name} works"): - machine.wait_for_text(r"(${page.element})") - machine.screenshot("lss_page_${page.name}") - '') settingsPages) + '' - - machine.execute("pkill -f lomiri-system-settings") - - with subtest("lomiri system settings localisation works"): - machine.execute("env LANG=de_DE.UTF-8 lomiri-system-settings >&2 &") - machine.wait_for_text("Systemeinstellungen") - machine.screenshot("lss_localised_open") - - # Move focus to start of plugins list for following list of tests - machine.send_key("tab") - machine.send_key("tab") - machine.screenshot("lss_focus_localised") - - '' + (lib.strings.concatMapStringsSep "\n" (page: '' - machine.send_key("tab") - machine.send_key("kp_enter") - '' + lib.optionalString (page.type == "external") '' - with subtest("lomiri system settings ${page.name} localisation works"): - machine.wait_for_text(r"(${page.elementLocalised})") - machine.screenshot("lss_localised_page_${page.name}") - '') settingsPages) + '' - ''; -}) + + enableOCR = true; + + testScript = + let + settingsPages = [ + # Base pages + { + name = "wifi"; + type = "internal"; + element = "networks"; + } + { + name = "bluetooth"; + type = "internal"; + element = "discoverable|None detected"; + } + # only text we can really look for with VPN is on a button, OCR on CI struggles with it + { + name = "vpn"; + type = "internal"; + element = "Add|Manual|Configuration"; + skipOCR = true; + } + { + name = "appearance"; + type = "internal"; + element = "Background image|blur effects"; + } + { + name = "desktop"; + type = "internal"; + element = "workspaces|Icon size"; + } + { + name = "sound"; + type = "internal"; + element = "Silent Mode|Message sound"; + } + { + name = "language"; + type = "internal"; + element = "Display language|External keyboard"; + } + { + name = "notification"; + type = "internal"; + element = "Apps that notify"; + } + { + name = "gestures"; + type = "internal"; + element = "Edge drag"; + } + { + name = "mouse"; + type = "internal"; + element = "Cursor speed|Wheel scrolling speed"; + } + { + name = "timedate"; + type = "internal"; + element = "Time zone|Set the time and date"; + } + + # External plugins + { + name = "security-privacy"; + type = "external"; + element = "Locking|unlocking|permissions"; + elementLocalised = "Sperren|Entsperren|Berechtigungen"; + } + ]; + in + '' + machine.wait_for_x() + + with subtest("lomiri system settings launches"): + machine.execute("lomiri-system-settings >&2 &") + machine.wait_for_text("System Settings") + machine.screenshot("lss_open") + + # Move focus to start of plugins list for following list of tests + machine.send_key("tab") + machine.send_key("tab") + machine.screenshot("lss_focus") + + # tab through & open all sub-menus, to make sure none of them fail + '' + + (lib.strings.concatMapStringsSep "\n" ( + page: + '' + machine.send_key("tab") + machine.send_key("kp_enter") + '' + + lib.optionalString (!(page.skipOCR or false)) '' + with subtest("lomiri system settings ${page.name} works"): + machine.wait_for_text(r"(${page.element})") + machine.screenshot("lss_page_${page.name}") + '' + ) settingsPages) + + '' + + machine.execute("pkill -f lomiri-system-settings") + + with subtest("lomiri system settings localisation works"): + machine.execute("env LANG=de_DE.UTF-8 lomiri-system-settings >&2 &") + machine.wait_for_text("Systemeinstellungen") + machine.screenshot("lss_localised_open") + + # Move focus to start of plugins list for following list of tests + machine.send_key("tab") + machine.send_key("tab") + machine.screenshot("lss_focus_localised") + + '' + + (lib.strings.concatMapStringsSep "\n" ( + page: + '' + machine.send_key("tab") + machine.send_key("kp_enter") + '' + + lib.optionalString (page.type == "external") '' + with subtest("lomiri system settings ${page.name} localisation works"): + machine.wait_for_text(r"(${page.elementLocalised})") + machine.screenshot("lss_localised_page_${page.name}") + '' + ) settingsPages) + + ''''; + } +) diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix index e9e26c03f6ca1..a9ad564567332 100644 --- a/nixos/tests/lorri/default.nix +++ b/nixos/tests/lorri/default.nix @@ -1,10 +1,12 @@ import ../make-test-python.nix { name = "lorri"; - nodes.machine = { pkgs, ... }: { - imports = [ ../../modules/profiles/minimal.nix ]; - environment.systemPackages = [ pkgs.lorri ]; - }; + nodes.machine = + { pkgs, ... }: + { + imports = [ ../../modules/profiles/minimal.nix ]; + environment.systemPackages = [ pkgs.lorri ]; + }; testScript = '' # Copy files over diff --git a/nixos/tests/luks.nix b/nixos/tests/luks.nix index da1d0c63b95df..15489343b707a 100644 --- a/nixos/tests/luks.nix +++ b/nixos/tests/luks.nix @@ -1,73 +1,81 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "luks"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "luks"; - nodes.machine = { pkgs, ... }: { - imports = [ ./common/auto-format-root-device.nix ]; + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/auto-format-root-device.nix ]; - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 512 ]; - useBootLoader = true; - useEFIBoot = true; - # To boot off the encrypted disk, we need to have a init script which comes from the Nix store - mountHostNixStore = true; - }; - boot.loader.systemd-boot.enable = true; + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ + 512 + 512 + ]; + useBootLoader = true; + useEFIBoot = true; + # To boot off the encrypted disk, we need to have a init script which comes from the Nix store + mountHostNixStore = true; + }; + boot.loader.systemd-boot.enable = true; - boot.kernelParams = lib.mkOverride 5 [ "console=tty1" ]; + boot.kernelParams = lib.mkOverride 5 [ "console=tty1" ]; - environment.systemPackages = with pkgs; [ cryptsetup ]; + environment.systemPackages = with pkgs; [ cryptsetup ]; - specialisation = rec { - boot-luks.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - # We have two disks and only type one password - key reuse is in place - cryptroot.device = "/dev/vdb"; - cryptroot2.device = "/dev/vdc"; + specialisation = rec { + boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + # We have two disks and only type one password - key reuse is in place + cryptroot.device = "/dev/vdb"; + cryptroot2.device = "/dev/vdc"; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; + }; + boot-luks-custom-keymap.configuration = lib.mkMerge [ + boot-luks.configuration + { + console.keyMap = "neo"; + } + ]; }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; }; - boot-luks-custom-keymap.configuration = lib.mkMerge [ - boot-luks.configuration - { - console.keyMap = "neo"; - } - ]; - }; - }; - enableOCR = true; + enableOCR = true; - testScript = '' - # Create encrypted volume - machine.wait_for_unit("multi-user.target") - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") - # Boot from the encrypted disk - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") - machine.succeed("sync") - machine.crash() + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() - # Boot and decrypt the disk - machine.start() - machine.wait_for_text("Passphrase for") - machine.send_chars("supersecret\n") - machine.wait_for_unit("multi-user.target") + # Boot and decrypt the disk + machine.start() + machine.wait_for_text("Passphrase for") + machine.send_chars("supersecret\n") + machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - # Boot from the encrypted disk with custom keymap - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-custom-keymap.conf") - machine.succeed("sync") - machine.crash() + # Boot from the encrypted disk with custom keymap + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-custom-keymap.conf") + machine.succeed("sync") + machine.crash() - # Boot and decrypt the disk - machine.start() - machine.wait_for_text("Passphrase for") - machine.send_chars("havfkhfrkfl\n") - machine.wait_for_unit("multi-user.target") + # Boot and decrypt the disk + machine.start() + machine.wait_for_text("Passphrase for") + machine.send_chars("havfkhfrkfl\n") + machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - ''; -}) + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; + } +) diff --git a/nixos/tests/lvm2/default.nix b/nixos/tests/lvm2/default.nix index 346ec6739501d..0e4ec8d27fda0 100644 --- a/nixos/tests/lvm2/default.nix +++ b/nixos/tests/lvm2/default.nix @@ -1,49 +1,79 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } -, lib ? pkgs.lib -, kernelVersionsToTest ? [ "4.19" "5.4" "5.10" "5.15" "6.1" "latest" ] +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, + lib ? pkgs.lib, + kernelVersionsToTest ? [ + "4.19" + "5.4" + "5.10" + "5.15" + "6.1" + "latest" + ], }: # For quickly running a test, the nixosTests.lvm2.lvm-thinpool-linux-latest attribute is recommended let - tests = let callTest = p: lib.flip (import p) { inherit system pkgs; }; in { - thinpool = { test = callTest ./thinpool.nix; kernelFilter = lib.id; }; - # we would like to test all versions, but the kernel module currently does not compile against the other versions - vdo = { test = callTest ./vdo.nix; kernelFilter = lib.filter (v: v == "latest"); }; + tests = + let + callTest = p: lib.flip (import p) { inherit system pkgs; }; + in + { + thinpool = { + test = callTest ./thinpool.nix; + kernelFilter = lib.id; + }; + # we would like to test all versions, but the kernel module currently does not compile against the other versions + vdo = { + test = callTest ./vdo.nix; + kernelFilter = lib.filter (v: v == "latest"); + }; - - # systemd in stage 1 - raid-sd-stage-1 = { - test = callTest ./systemd-stage-1.nix; - kernelFilter = lib.id; - flavour = "raid"; - }; - thinpool-sd-stage-1 = { - test = callTest ./systemd-stage-1.nix; - kernelFilter = lib.id; - flavour = "thinpool"; - }; - vdo-sd-stage-1 = { - test = callTest ./systemd-stage-1.nix; - kernelFilter = lib.filter (v: v == "latest"); - flavour = "vdo"; + # systemd in stage 1 + raid-sd-stage-1 = { + test = callTest ./systemd-stage-1.nix; + kernelFilter = lib.id; + flavour = "raid"; + }; + thinpool-sd-stage-1 = { + test = callTest ./systemd-stage-1.nix; + kernelFilter = lib.id; + flavour = "thinpool"; + }; + vdo-sd-stage-1 = { + test = callTest ./systemd-stage-1.nix; + kernelFilter = lib.filter (v: v == "latest"); + flavour = "vdo"; + }; }; - }; in lib.listToAttrs ( - lib.filter (x: x.value != {}) ( - lib.flip lib.concatMap kernelVersionsToTest (version: + lib.filter (x: x.value != { }) ( + lib.flip lib.concatMap kernelVersionsToTest ( + version: let v' = lib.replaceStrings [ "." ] [ "_" ] version; - mkXfsFlags = lib.optionalString (lib.versionOlder version "5.10") " -m bigtime=0 -m inobtcount=0 " - + lib.optionalString (lib.versionOlder version "5.19") " -i nrext64=0 "; + mkXfsFlags = + lib.optionalString (lib.versionOlder version "5.10") " -m bigtime=0 -m inobtcount=0 " + + lib.optionalString (lib.versionOlder version "5.19") " -i nrext64=0 "; in - lib.flip lib.mapAttrsToList tests (name: t: - lib.nameValuePair "lvm-${name}-linux-${v'}" (lib.optionalAttrs (builtins.elem version (t.kernelFilter kernelVersionsToTest)) (t.test ({ - kernelPackages = pkgs."linuxPackages_${v'}"; - inherit mkXfsFlags; - } // builtins.removeAttrs t [ "test" "kernelFilter" ]))) + lib.flip lib.mapAttrsToList tests ( + name: t: + lib.nameValuePair "lvm-${name}-linux-${v'}" ( + lib.optionalAttrs (builtins.elem version (t.kernelFilter kernelVersionsToTest)) ( + t.test ( + { + kernelPackages = pkgs."linuxPackages_${v'}"; + inherit mkXfsFlags; + } + // builtins.removeAttrs t [ + "test" + "kernelFilter" + ] + ) + ) + ) ) ) ) diff --git a/nixos/tests/lvm2/systemd-stage-1.nix b/nixos/tests/lvm2/systemd-stage-1.nix index fe57a615a9555..9eb7a6797e382 100644 --- a/nixos/tests/lvm2/systemd-stage-1.nix +++ b/nixos/tests/lvm2/systemd-stage-1.nix @@ -1,116 +1,136 @@ -{ kernelPackages ? null, flavour, mkXfsFlags ? "" }: let - preparationCode = { - raid = '' - machine.succeed("vgcreate test_vg /dev/vdb /dev/vdc") - machine.succeed("lvcreate -L 512M --type raid0 test_vg -n test_lv") - ''; - - thinpool = '' - machine.succeed("vgcreate test_vg /dev/vdb") - machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool") - machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg") - ''; - - vdo = '' - machine.succeed("vgcreate test_vg /dev/vdb") - machine.succeed("lvcreate --type vdo -n test_lv -L 6G -V 12G test_vg/vdo_pool_lv") - ''; - }.${flavour}; - - extraConfig = { - raid = { - boot.initrd.kernelModules = [ - "dm-raid" - "raid0" - ]; - }; - - thinpool = { - services.lvm = { - boot.thin.enable = true; - dmeventd.enable = true; +{ + kernelPackages ? null, + flavour, + mkXfsFlags ? "", +}: +let + preparationCode = + { + raid = '' + machine.succeed("vgcreate test_vg /dev/vdb /dev/vdc") + machine.succeed("lvcreate -L 512M --type raid0 test_vg -n test_lv") + ''; + + thinpool = '' + machine.succeed("vgcreate test_vg /dev/vdb") + machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool") + machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg") + ''; + + vdo = '' + machine.succeed("vgcreate test_vg /dev/vdb") + machine.succeed("lvcreate --type vdo -n test_lv -L 6G -V 12G test_vg/vdo_pool_lv") + ''; + } + .${flavour}; + + extraConfig = + { + raid = { + boot.initrd.kernelModules = [ + "dm-raid" + "raid0" + ]; }; - }; - vdo = { - services.lvm = { - boot.vdo.enable = true; - dmeventd.enable = true; + thinpool = { + services.lvm = { + boot.thin.enable = true; + dmeventd.enable = true; + }; }; - }; - }.${flavour}; - extraCheck = { - raid = '' - "test_lv" in machine.succeed("lvs --select segtype=raid0") - ''; + vdo = { + services.lvm = { + boot.vdo.enable = true; + dmeventd.enable = true; + }; + }; + } + .${flavour}; + + extraCheck = + { + raid = '' + "test_lv" in machine.succeed("lvs --select segtype=raid0") + ''; + + thinpool = '' + "test_lv" in machine.succeed("lvs --select segtype=thin-pool") + ''; + + vdo = '' + "test_lv" in machine.succeed("lvs --select segtype=vdo") + ''; + } + .${flavour}; + +in +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "lvm2-${flavour}-systemd-stage-1"; + meta.maintainers = lib.teams.helsinki-systems.members; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ extraConfig ]; + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ + 8192 + 8192 + ]; + useBootLoader = true; + useEFIBoot = true; + # To boot off the LVM disk, we need to have a init script which comes from the Nix store. + mountHostNixStore = true; + }; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + environment.systemPackages = with pkgs; [ xfsprogs ]; + boot = { + initrd.systemd = { + enable = true; + emergencyAccess = true; + }; + initrd.services.lvm.enable = true; + kernelPackages = lib.mkIf (kernelPackages != null) kernelPackages; + }; - thinpool = '' - "test_lv" in machine.succeed("lvs --select segtype=thin-pool") - ''; + specialisation.boot-lvm.configuration.virtualisation = { + useDefaultFilesystems = false; + fileSystems = { + "/" = { + device = "/dev/test_vg/test_lv"; + fsType = "xfs"; + }; + }; - vdo = '' - "test_lv" in machine.succeed("lvs --select segtype=vdo") - ''; - }.${flavour}; - -in import ../make-test-python.nix ({ pkgs, lib, ... }: { - name = "lvm2-${flavour}-systemd-stage-1"; - meta.maintainers = lib.teams.helsinki-systems.members; - - nodes.machine = { pkgs, lib, ... }: { - imports = [ extraConfig ]; - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 8192 8192 ]; - useBootLoader = true; - useEFIBoot = true; - # To boot off the LVM disk, we need to have a init script which comes from the Nix store. - mountHostNixStore = true; - }; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - environment.systemPackages = with pkgs; [ xfsprogs ]; - boot = { - initrd.systemd = { - enable = true; - emergencyAccess = true; - }; - initrd.services.lvm.enable = true; - kernelPackages = lib.mkIf (kernelPackages != null) kernelPackages; - }; - - specialisation.boot-lvm.configuration.virtualisation = { - useDefaultFilesystems = false; - fileSystems = { - "/" = { - device = "/dev/test_vg/test_lv"; - fsType = "xfs"; + rootDevice = "/dev/test_vg/test_lv"; }; }; - rootDevice = "/dev/test_vg/test_lv"; - }; - }; - - testScript = '' - machine.wait_for_unit("multi-user.target") - # Create a VG for the root - ${preparationCode} - machine.succeed("mkfs.xfs ${mkXfsFlags} /dev/test_vg/test_lv") - machine.succeed("mkdir -p /mnt && mount /dev/test_vg/test_lv /mnt && echo hello > /mnt/test && umount /mnt") - - # Boot from LVM - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-lvm.conf") - machine.succeed("sync") - machine.crash() - machine.wait_for_unit("multi-user.target") - - # Ensure we have successfully booted from LVM - assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 - assert "/dev/mapper/test_vg-test_lv on / type xfs" in machine.succeed("mount") - assert "hello" in machine.succeed("cat /test") - ${extraCheck} - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + # Create a VG for the root + ${preparationCode} + machine.succeed("mkfs.xfs ${mkXfsFlags} /dev/test_vg/test_lv") + machine.succeed("mkdir -p /mnt && mount /dev/test_vg/test_lv /mnt && echo hello > /mnt/test && umount /mnt") + + # Boot from LVM + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-lvm.conf") + machine.succeed("sync") + machine.crash() + machine.wait_for_unit("multi-user.target") + + # Ensure we have successfully booted from LVM + assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 + assert "/dev/mapper/test_vg-test_lv on / type xfs" in machine.succeed("mount") + assert "hello" in machine.succeed("cat /test") + ${extraCheck} + ''; + } +) diff --git a/nixos/tests/lvm2/thinpool.nix b/nixos/tests/lvm2/thinpool.nix index 325bb87460b71..bf9b7160abc28 100644 --- a/nixos/tests/lvm2/thinpool.nix +++ b/nixos/tests/lvm2/thinpool.nix @@ -1,35 +1,46 @@ -{ kernelPackages ? null, mkXfsFlags ? "" }: -import ../make-test-python.nix ({ pkgs, lib, ... }: { - name = "lvm2-thinpool"; - meta.maintainers = lib.teams.helsinki-systems.members; +{ + kernelPackages ? null, + mkXfsFlags ? "", +}: +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "lvm2-thinpool"; + meta.maintainers = lib.teams.helsinki-systems.members; - nodes.machine = { pkgs, lib, ... }: { - virtualisation.emptyDiskImages = [ 4096 ]; - services.lvm = { - boot.thin.enable = true; - dmeventd.enable = true; - }; - environment.systemPackages = with pkgs; [ xfsprogs ]; - environment.etc."lvm/lvm.conf".text = '' - activation/thin_pool_autoextend_percent = 10 - activation/thin_pool_autoextend_threshold = 80 - ''; - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - }; + nodes.machine = + { pkgs, lib, ... }: + { + virtualisation.emptyDiskImages = [ 4096 ]; + services.lvm = { + boot.thin.enable = true; + dmeventd.enable = true; + }; + environment.systemPackages = with pkgs; [ xfsprogs ]; + environment.etc."lvm/lvm.conf".text = '' + activation/thin_pool_autoextend_percent = 10 + activation/thin_pool_autoextend_threshold = 80 + ''; + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + }; - testScript = let - mkXfsFlags = lib.optionalString (lib.versionOlder kernelPackages.kernel.version "5.10") " -m bigtime=0 -m inobtcount=0 " - + lib.optionalString (lib.versionOlder kernelPackages.kernel.version "5.19") " -i nrext64=0 "; - in '' - machine.succeed("vgcreate test_vg /dev/vdb") - machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool") - machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg") - machine.succeed("mkfs.xfs ${mkXfsFlags} /dev/test_vg/test_lv") - machine.succeed("mkdir /mnt; mount /dev/test_vg/test_lv /mnt") - assert "/dev/mapper/test_vg-test_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip() - machine.succeed("dd if=/dev/zero of=/mnt/empty.file bs=1M count=1024") - machine.succeed("journalctl -u dm-event.service | grep \"successfully resized\"") - machine.succeed("umount /mnt") - machine.succeed("vgchange -a n") - ''; -}) + testScript = + let + mkXfsFlags = + lib.optionalString (lib.versionOlder kernelPackages.kernel.version "5.10") " -m bigtime=0 -m inobtcount=0 " + + lib.optionalString (lib.versionOlder kernelPackages.kernel.version "5.19") " -i nrext64=0 "; + in + '' + machine.succeed("vgcreate test_vg /dev/vdb") + machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool") + machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg") + machine.succeed("mkfs.xfs ${mkXfsFlags} /dev/test_vg/test_lv") + machine.succeed("mkdir /mnt; mount /dev/test_vg/test_lv /mnt") + assert "/dev/mapper/test_vg-test_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip() + machine.succeed("dd if=/dev/zero of=/mnt/empty.file bs=1M count=1024") + machine.succeed("journalctl -u dm-event.service | grep \"successfully resized\"") + machine.succeed("umount /mnt") + machine.succeed("vgchange -a n") + ''; + } +) diff --git a/nixos/tests/lvm2/vdo.nix b/nixos/tests/lvm2/vdo.nix index 2b4a3df5159e8..ee65aa7d828f0 100644 --- a/nixos/tests/lvm2/vdo.nix +++ b/nixos/tests/lvm2/vdo.nix @@ -1,27 +1,35 @@ -{ kernelPackages ? null, mkXfsFlags ? "" }: -import ../make-test-python.nix ({ pkgs, lib, ... }: { - name = "lvm2-vdo"; - meta.maintainers = [ ]; +{ + kernelPackages ? null, + mkXfsFlags ? "", +}: +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "lvm2-vdo"; + meta.maintainers = [ ]; - nodes.machine = { pkgs, lib, ... }: { - # Minimum required size for VDO volume: 5063921664 bytes - virtualisation.emptyDiskImages = [ 8192 ]; - services.lvm = { - boot.vdo.enable = true; - dmeventd.enable = true; - }; - environment.systemPackages = with pkgs; [ xfsprogs ]; - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - }; + nodes.machine = + { pkgs, lib, ... }: + { + # Minimum required size for VDO volume: 5063921664 bytes + virtualisation.emptyDiskImages = [ 8192 ]; + services.lvm = { + boot.vdo.enable = true; + dmeventd.enable = true; + }; + environment.systemPackages = with pkgs; [ xfsprogs ]; + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + }; - testScript = '' - machine.succeed("vgcreate test_vg /dev/vdb") - machine.succeed("lvcreate --type vdo -n vdo_lv -L 6G -V 12G test_vg/vdo_pool_lv") - machine.succeed("mkfs.xfs ${mkXfsFlags} -K /dev/test_vg/vdo_lv") - machine.succeed("mkdir /mnt; mount /dev/test_vg/vdo_lv /mnt") - assert "/dev/mapper/test_vg-vdo_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip() - machine.succeed("umount /mnt") - machine.succeed("vdostats") - machine.succeed("vgchange -a n") - ''; -}) + testScript = '' + machine.succeed("vgcreate test_vg /dev/vdb") + machine.succeed("lvcreate --type vdo -n vdo_lv -L 6G -V 12G test_vg/vdo_pool_lv") + machine.succeed("mkfs.xfs ${mkXfsFlags} -K /dev/test_vg/vdo_lv") + machine.succeed("mkdir /mnt; mount /dev/test_vg/vdo_lv /mnt") + assert "/dev/mapper/test_vg-vdo_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip() + machine.succeed("umount /mnt") + machine.succeed("vdostats") + machine.succeed("vgchange -a n") + ''; + } +) diff --git a/nixos/tests/lxd-image-server.nix b/nixos/tests/lxd-image-server.nix index 619542bdd9456..4b0b1259f4046 100644 --- a/nixos/tests/lxd-image-server.nix +++ b/nixos/tests/lxd-image-server.nix @@ -1,94 +1,102 @@ -import ./make-test-python.nix ({ pkgs, lib, ... } : - -let - lxd-image = import ../release.nix { - configuration = { - # Building documentation makes the test unnecessarily take a longer time: - documentation.enable = lib.mkForce false; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + lxd-image = import ../release.nix { + configuration = { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; + }; }; - }; - - lxd-image-metadata = lxd-image.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; - lxd-image-rootfs = lxd-image.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; - -in { - name = "lxd-image-server"; - - meta = with pkgs.lib.maintainers; { - maintainers = [ mkg20001 patryk27 ]; - }; - - nodes.machine = { lib, ... }: { - virtualisation = { - cores = 2; - memorySize = 2048; - diskSize = 4096; + lxd-image-metadata = lxd-image.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; + lxd-image-rootfs = lxd-image.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; - lxc.lxcfs.enable = true; - lxd.enable = true; - }; - - security.pki.certificates = [ - (builtins.readFile ./common/acme/server/ca.cert.pem) - ]; + in + { + name = "lxd-image-server"; - services.nginx = { - enable = true; + meta = with pkgs.lib.maintainers; { + maintainers = [ + mkg20001 + patryk27 + ]; }; - services.lxd-image-server = { - enable = true; - nginx = { - enable = true; - domain = "acme.test"; + nodes.machine = + { lib, ... }: + { + virtualisation = { + cores = 2; + + memorySize = 2048; + diskSize = 4096; + + lxc.lxcfs.enable = true; + lxd.enable = true; + }; + + security.pki.certificates = [ + (builtins.readFile ./common/acme/server/ca.cert.pem) + ]; + + services.nginx = { + enable = true; + }; + + services.lxd-image-server = { + enable = true; + nginx = { + enable = true; + domain = "acme.test"; + }; + }; + + services.nginx.virtualHosts."acme.test" = { + enableACME = false; + sslCertificate = ./common/acme/server/acme.test.cert.pem; + sslCertificateKey = ./common/acme/server/acme.test.key.pem; + }; + + networking.hosts = { + "::1" = [ "acme.test" ]; + }; }; - }; - services.nginx.virtualHosts."acme.test" = { - enableACME = false; - sslCertificate = ./common/acme/server/acme.test.cert.pem; - sslCertificateKey = ./common/acme/server/acme.test.key.pem; - }; - - networking.hosts = { - "::1" = [ "acme.test" ]; - }; - }; - - testScript = '' - machine.wait_for_unit("sockets.target") - machine.wait_for_unit("lxd.service") - machine.wait_for_file("/var/lib/lxd/unix.socket") - - # Wait for lxd to settle - machine.succeed("lxd waitready") - - # lxd expects the pool's directory to already exist - machine.succeed("mkdir /var/lxd-pool") - - machine.succeed( - "lxd init --minimal" - ) - - machine.succeed( - "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos" - ) - - loc = "/var/www/simplestreams/images/iats/nixos/amd64/default/v1" - - with subtest("push image to server"): - machine.succeed("lxc launch nixos test") - machine.sleep(5) - machine.succeed("lxc stop -f test") - machine.succeed("lxc publish --public test --alias=testimg") - machine.succeed("lxc image export testimg") - machine.succeed("ls >&2") - machine.succeed("mkdir -p " + loc) - machine.succeed("mv *.tar.gz " + loc) - - with subtest("pull image from server"): - machine.succeed("lxc remote add img https://acme.test --protocol=simplestreams") - machine.succeed("lxc image list img: >&2") - ''; -}) + testScript = '' + machine.wait_for_unit("sockets.target") + machine.wait_for_unit("lxd.service") + machine.wait_for_file("/var/lib/lxd/unix.socket") + + # Wait for lxd to settle + machine.succeed("lxd waitready") + + # lxd expects the pool's directory to already exist + machine.succeed("mkdir /var/lxd-pool") + + machine.succeed( + "lxd init --minimal" + ) + + machine.succeed( + "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos" + ) + + loc = "/var/www/simplestreams/images/iats/nixos/amd64/default/v1" + + with subtest("push image to server"): + machine.succeed("lxc launch nixos test") + machine.sleep(5) + machine.succeed("lxc stop -f test") + machine.succeed("lxc publish --public test --alias=testimg") + machine.succeed("lxc image export testimg") + machine.succeed("ls >&2") + machine.succeed("mkdir -p " + loc) + machine.succeed("mv *.tar.gz " + loc) + + with subtest("pull image from server"): + machine.succeed("lxc remote add img https://acme.test --protocol=simplestreams") + machine.succeed("lxc image list img: >&2") + ''; + } +) diff --git a/nixos/tests/lxd/container.nix b/nixos/tests/lxd/container.nix index c04ae42afb8c2..d5506194cfa49 100644 --- a/nixos/tests/lxd/container.nix +++ b/nixos/tests/lxd/container.nix @@ -1,128 +1,133 @@ -import ../make-test-python.nix ({ pkgs, lib, ... } : - -let - releases = import ../../release.nix { - configuration = { - # Building documentation makes the test unnecessarily take a longer time: - documentation.enable = lib.mkForce false; - - # Our tests require `grep` & friends: - environment.systemPackages = with pkgs; [ busybox ]; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + + let + releases = import ../../release.nix { + configuration = { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; + + # Our tests require `grep` & friends: + environment.systemPackages = with pkgs; [ busybox ]; + }; }; - }; - lxd-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; - lxd-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; - lxd-image-rootfs-squashfs = releases.lxdContainerImageSquashfs.${pkgs.stdenv.hostPlatform.system}; + lxd-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; + lxd-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; + lxd-image-rootfs-squashfs = releases.lxdContainerImageSquashfs.${pkgs.stdenv.hostPlatform.system}; -in { - name = "lxd-container"; + in + { + name = "lxd-container"; - nodes.machine = { lib, ... }: { - virtualisation = { - diskSize = 6144; + nodes.machine = + { lib, ... }: + { + virtualisation = { + diskSize = 6144; - # Since we're testing `limits.cpu`, we've gotta have a known number of - # cores to lean on - cores = 2; + # Since we're testing `limits.cpu`, we've gotta have a known number of + # cores to lean on + cores = 2; - # Ditto, for `limits.memory` - memorySize = 512; + # Ditto, for `limits.memory` + memorySize = 512; - lxc.lxcfs.enable = true; - lxd.enable = true; - }; - }; - - testScript = '' - def instance_is_up(_) -> bool: - status, _ = machine.execute("lxc exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") - return status == 0 - - machine.wait_for_unit("sockets.target") - machine.wait_for_unit("lxd.service") - machine.wait_for_file("/var/lib/lxd/unix.socket") - - # Wait for lxd to settle - machine.succeed("lxd waitready") - - # no preseed should mean no service - machine.fail("systemctl status lxd-preseed.service") - - machine.succeed("lxd init --minimal") - - machine.succeed( - "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos" - ) - - with subtest("Container can be managed"): - machine.succeed("lxc launch nixos container") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) - machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -") - machine.succeed("lxc delete -f container") - - with subtest("Squashfs image is functional"): - machine.succeed( - "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs-squashfs}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs --alias nixos-squashfs" - ) - machine.succeed("lxc launch nixos-squashfs container") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) - machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -") - machine.succeed("lxc delete -f container") - - with subtest("Container is mounted with lxcfs inside"): - machine.succeed("lxc launch nixos container") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) + lxc.lxcfs.enable = true; + lxd.enable = true; + }; + }; - ## ---------- ## - ## limits.cpu ## + testScript = '' + def instance_is_up(_) -> bool: + status, _ = machine.execute("lxc exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") + return status == 0 - machine.succeed("lxc config set container limits.cpu 1") - machine.succeed("lxc restart container") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) + machine.wait_for_unit("sockets.target") + machine.wait_for_unit("lxd.service") + machine.wait_for_file("/var/lib/lxd/unix.socket") - assert ( - "1" - == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip() - ) + # Wait for lxd to settle + machine.succeed("lxd waitready") - machine.succeed("lxc config set container limits.cpu 2") - machine.succeed("lxc restart container") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) + # no preseed should mean no service + machine.fail("systemctl status lxd-preseed.service") - assert ( - "2" - == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip() - ) + machine.succeed("lxd init --minimal") - ## ------------- ## - ## limits.memory ## + machine.succeed( + "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos" + ) - machine.succeed("lxc config set container limits.memory 64MB") - machine.succeed("lxc restart container") - with machine.nested("Waiting for instance to start and be usable"): + with subtest("Container can be managed"): + machine.succeed("lxc launch nixos container") + with machine.nested("Waiting for instance to start and be usable"): retry(instance_is_up) - - assert ( - "MemTotal: 62500 kB" - == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip() - ) - - machine.succeed("lxc config set container limits.memory 128MB") - machine.succeed("lxc restart container") - with machine.nested("Waiting for instance to start and be usable"): + machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -") + machine.succeed("lxc delete -f container") + + with subtest("Squashfs image is functional"): + machine.succeed( + "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs-squashfs}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs --alias nixos-squashfs" + ) + machine.succeed("lxc launch nixos-squashfs container") + with machine.nested("Waiting for instance to start and be usable"): retry(instance_is_up) - - assert ( - "MemTotal: 125000 kB" - == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip() - ) - - machine.succeed("lxc delete -f container") - ''; -}) + machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -") + machine.succeed("lxc delete -f container") + + with subtest("Container is mounted with lxcfs inside"): + machine.succeed("lxc launch nixos container") + with machine.nested("Waiting for instance to start and be usable"): + retry(instance_is_up) + + ## ---------- ## + ## limits.cpu ## + + machine.succeed("lxc config set container limits.cpu 1") + machine.succeed("lxc restart container") + with machine.nested("Waiting for instance to start and be usable"): + retry(instance_is_up) + + assert ( + "1" + == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip() + ) + + machine.succeed("lxc config set container limits.cpu 2") + machine.succeed("lxc restart container") + with machine.nested("Waiting for instance to start and be usable"): + retry(instance_is_up) + + assert ( + "2" + == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip() + ) + + ## ------------- ## + ## limits.memory ## + + machine.succeed("lxc config set container limits.memory 64MB") + machine.succeed("lxc restart container") + with machine.nested("Waiting for instance to start and be usable"): + retry(instance_is_up) + + assert ( + "MemTotal: 62500 kB" + == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip() + ) + + machine.succeed("lxc config set container limits.memory 128MB") + machine.succeed("lxc restart container") + with machine.nested("Waiting for instance to start and be usable"): + retry(instance_is_up) + + assert ( + "MemTotal: 125000 kB" + == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip() + ) + + machine.succeed("lxc delete -f container") + ''; + } +) diff --git a/nixos/tests/lxd/default.nix b/nixos/tests/lxd/default.nix index 20afdd5e48bbe..8e8b073bdda69 100644 --- a/nixos/tests/lxd/default.nix +++ b/nixos/tests/lxd/default.nix @@ -1,12 +1,13 @@ { system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../../.. {inherit system config;}, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, handleTestOn, -}: { - container = import ./container.nix {inherit system pkgs;}; - nftables = import ./nftables.nix {inherit system pkgs;}; - preseed = import ./preseed.nix {inherit system pkgs;}; - ui = import ./ui.nix {inherit system pkgs;}; - virtual-machine = handleTestOn ["x86_64-linux"] ./virtual-machine.nix { inherit system pkgs; }; +}: +{ + container = import ./container.nix { inherit system pkgs; }; + nftables = import ./nftables.nix { inherit system pkgs; }; + preseed = import ./preseed.nix { inherit system pkgs; }; + ui = import ./ui.nix { inherit system pkgs; }; + virtual-machine = handleTestOn [ "x86_64-linux" ] ./virtual-machine.nix { inherit system pkgs; }; } diff --git a/nixos/tests/lxd/nftables.nix b/nixos/tests/lxd/nftables.nix index d419f9b66af13..4e68a27e9f117 100644 --- a/nixos/tests/lxd/nftables.nix +++ b/nixos/tests/lxd/nftables.nix @@ -5,42 +5,47 @@ # iptables to nftables requires a full reboot, which is a bit hard inside NixOS # tests. -import ../make-test-python.nix ({ pkgs, lib, ...} : { - name = "lxd-nftables"; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "lxd-nftables"; - nodes.machine = { lib, ... }: { - virtualisation = { - lxd.enable = true; - }; + nodes.machine = + { lib, ... }: + { + virtualisation = { + lxd.enable = true; + }; - networking = { - firewall.enable = false; - nftables.enable = true; - nftables.tables."filter".family = "inet"; - nftables.tables."filter".content = '' - chain incoming { - type filter hook input priority 0; - policy accept; - } + networking = { + firewall.enable = false; + nftables.enable = true; + nftables.tables."filter".family = "inet"; + nftables.tables."filter".content = '' + chain incoming { + type filter hook input priority 0; + policy accept; + } - chain forward { - type filter hook forward priority 0; - policy accept; - } + chain forward { + type filter hook forward priority 0; + policy accept; + } - chain output { - type filter hook output priority 0; - policy accept; - } - ''; - }; - }; + chain output { + type filter hook output priority 0; + policy accept; + } + ''; + }; + }; - testScript = '' - machine.wait_for_unit("network.target") + testScript = '' + machine.wait_for_unit("network.target") - with subtest("When nftables are enabled, lxd doesn't depend on iptables anymore"): - machine.succeed("lsmod | grep nf_tables") - machine.fail("lsmod | grep ip_tables") - ''; -}) + with subtest("When nftables are enabled, lxd doesn't depend on iptables anymore"): + machine.succeed("lsmod | grep nf_tables") + machine.fail("lsmod | grep ip_tables") + ''; + } +) diff --git a/nixos/tests/lxd/preseed.nix b/nixos/tests/lxd/preseed.nix index 2e0ff33d521fe..5214da911709f 100644 --- a/nixos/tests/lxd/preseed.nix +++ b/nixos/tests/lxd/preseed.nix @@ -1,67 +1,71 @@ -import ../make-test-python.nix ({ pkgs, lib, ... } : +import ../make-test-python.nix ( + { pkgs, lib, ... }: -{ - name = "lxd-preseed"; + { + name = "lxd-preseed"; - nodes.machine = { lib, ... }: { - virtualisation = { - diskSize = 4096; + nodes.machine = + { lib, ... }: + { + virtualisation = { + diskSize = 4096; - lxc.lxcfs.enable = true; - lxd.enable = true; + lxc.lxcfs.enable = true; + lxd.enable = true; - lxd.preseed = { - networks = [ - { - name = "nixostestbr0"; - type = "bridge"; - config = { - "ipv4.address" = "10.0.100.1/24"; - "ipv4.nat" = "true"; - }; - } - ]; - profiles = [ - { - name = "nixostest_default"; - devices = { - eth0 = { - name = "eth0"; - network = "nixostestbr0"; - type = "nic"; - }; - root = { - path = "/"; - pool = "default"; - size = "35GiB"; - type = "disk"; - }; - }; - } - ]; - storage_pools = [ - { - name = "nixostest_pool"; - driver = "dir"; - } - ]; + lxd.preseed = { + networks = [ + { + name = "nixostestbr0"; + type = "bridge"; + config = { + "ipv4.address" = "10.0.100.1/24"; + "ipv4.nat" = "true"; + }; + } + ]; + profiles = [ + { + name = "nixostest_default"; + devices = { + eth0 = { + name = "eth0"; + network = "nixostestbr0"; + type = "nic"; + }; + root = { + path = "/"; + pool = "default"; + size = "35GiB"; + type = "disk"; + }; + }; + } + ]; + storage_pools = [ + { + name = "nixostest_pool"; + driver = "dir"; + } + ]; + }; + }; }; - }; - }; - testScript = '' - def wait_for_preseed(_) -> bool: - _, output = machine.systemctl("is-active lxd-preseed.service") - return ("inactive" in output) + testScript = '' + def wait_for_preseed(_) -> bool: + _, output = machine.systemctl("is-active lxd-preseed.service") + return ("inactive" in output) - machine.wait_for_unit("sockets.target") - machine.wait_for_unit("lxd.service") - with machine.nested("Waiting for preseed to complete"): - retry(wait_for_preseed) + machine.wait_for_unit("sockets.target") + machine.wait_for_unit("lxd.service") + with machine.nested("Waiting for preseed to complete"): + retry(wait_for_preseed) - with subtest("Verify preseed resources created"): - machine.succeed("lxc profile show nixostest_default") - machine.succeed("lxc network info nixostestbr0") - machine.succeed("lxc storage show nixostest_pool") - ''; -}) + with subtest("Verify preseed resources created"): + machine.succeed("lxc profile show nixostest_default") + machine.succeed("lxc network info nixostestbr0") + machine.succeed("lxc storage show nixostest_pool") + ''; + } +) diff --git a/nixos/tests/lxd/ui.nix b/nixos/tests/lxd/ui.nix index f96c3d74d93cd..16fe96ea0870c 100644 --- a/nixos/tests/lxd/ui.nix +++ b/nixos/tests/lxd/ui.nix @@ -1,62 +1,74 @@ -import ../make-test-python.nix ({ pkgs, ... }: { - name = "lxd-ui"; - - nodes.machine = { lib, ... }: { - virtualisation = { - lxd.enable = true; - lxd.ui.enable = true; - }; - - environment.systemPackages = - let - seleniumScript = pkgs.writers.writePython3Bin "selenium-script" - { - libraries = with pkgs.python3Packages; [ selenium ]; - } '' - from selenium import webdriver - from selenium.webdriver.common.by import By - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.support.ui import WebDriverWait - - options = Options() - options.add_argument("--headless") - service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 - - driver = webdriver.Firefox(options=options, service=service) - driver.implicitly_wait(10) - driver.get("https://localhost:8443/ui") - - wait = WebDriverWait(driver, 60) - - assert len(driver.find_elements(By.CLASS_NAME, "l-application")) > 0 - assert len(driver.find_elements(By.CLASS_NAME, "l-navigation__drawer")) > 0 - - driver.close() - ''; - in - with pkgs; [ curl firefox-unwrapped geckodriver seleniumScript ]; - }; - - - testScript = '' - machine.wait_for_unit("sockets.target") - machine.wait_for_unit("lxd.service") - machine.wait_for_file("/var/lib/lxd/unix.socket") - - # Wait for lxd to settle - machine.succeed("lxd waitready") - - # Configure LXC listen address - machine.succeed("lxc config set core.https_address :8443") - machine.succeed("systemctl restart lxd") - - # Check that the LXD_UI environment variable is populated in the systemd unit - machine.succeed("cat /etc/systemd/system/lxd.service | grep 'LXD_UI'") - - # Ensure the endpoint returns an HTML page with 'LXD UI' in the title - machine.succeed("curl -kLs https://localhost:8443/ui | grep 'LXD UI'") - - # Ensure the application is actually rendered by the Javascript - machine.succeed("PYTHONUNBUFFERED=1 selenium-script") - ''; -}) +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "lxd-ui"; + + nodes.machine = + { lib, ... }: + { + virtualisation = { + lxd.enable = true; + lxd.ui.enable = true; + }; + + environment.systemPackages = + let + seleniumScript = + pkgs.writers.writePython3Bin "selenium-script" + { + libraries = with pkgs.python3Packages; [ selenium ]; + } + '' + from selenium import webdriver + from selenium.webdriver.common.by import By + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.support.ui import WebDriverWait + + options = Options() + options.add_argument("--headless") + service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 + + driver = webdriver.Firefox(options=options, service=service) + driver.implicitly_wait(10) + driver.get("https://localhost:8443/ui") + + wait = WebDriverWait(driver, 60) + + assert len(driver.find_elements(By.CLASS_NAME, "l-application")) > 0 + assert len(driver.find_elements(By.CLASS_NAME, "l-navigation__drawer")) > 0 + + driver.close() + ''; + in + with pkgs; + [ + curl + firefox-unwrapped + geckodriver + seleniumScript + ]; + }; + + testScript = '' + machine.wait_for_unit("sockets.target") + machine.wait_for_unit("lxd.service") + machine.wait_for_file("/var/lib/lxd/unix.socket") + + # Wait for lxd to settle + machine.succeed("lxd waitready") + + # Configure LXC listen address + machine.succeed("lxc config set core.https_address :8443") + machine.succeed("systemctl restart lxd") + + # Check that the LXD_UI environment variable is populated in the systemd unit + machine.succeed("cat /etc/systemd/system/lxd.service | grep 'LXD_UI'") + + # Ensure the endpoint returns an HTML page with 'LXD UI' in the title + machine.succeed("curl -kLs https://localhost:8443/ui | grep 'LXD UI'") + + # Ensure the application is actually rendered by the Javascript + machine.succeed("PYTHONUNBUFFERED=1 selenium-script") + ''; + } +) diff --git a/nixos/tests/lxd/virtual-machine.nix b/nixos/tests/lxd/virtual-machine.nix index 14c5e8a82aa8f..feebe3833e714 100644 --- a/nixos/tests/lxd/virtual-machine.nix +++ b/nixos/tests/lxd/virtual-machine.nix @@ -1,60 +1,65 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: +import ../make-test-python.nix ( + { pkgs, lib, ... }: -let - releases = import ../../release.nix { - configuration = { - # Building documentation makes the test unnecessarily take a longer time: - documentation.enable = lib.mkForce false; + let + releases = import ../../release.nix { + configuration = { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; - # Our tests require `grep` & friends: - environment.systemPackages = with pkgs; [busybox]; + # Our tests require `grep` & friends: + environment.systemPackages = with pkgs; [ busybox ]; + }; }; - }; - lxd-image-metadata = releases.lxdVirtualMachineImageMeta.${pkgs.stdenv.hostPlatform.system}; - lxd-image-disk = releases.lxdVirtualMachineImage.${pkgs.stdenv.hostPlatform.system}; + lxd-image-metadata = releases.lxdVirtualMachineImageMeta.${pkgs.stdenv.hostPlatform.system}; + lxd-image-disk = releases.lxdVirtualMachineImage.${pkgs.stdenv.hostPlatform.system}; - instance-name = "instance1"; -in { - name = "lxd-virtual-machine"; + instance-name = "instance1"; + in + { + name = "lxd-virtual-machine"; - nodes.machine = {lib, ...}: { - virtualisation = { - diskSize = 4096; + nodes.machine = + { lib, ... }: + { + virtualisation = { + diskSize = 4096; - cores = 2; + cores = 2; - # Ensure we have enough memory for the nested virtual machine - memorySize = 1024; + # Ensure we have enough memory for the nested virtual machine + memorySize = 1024; - lxc.lxcfs.enable = true; - lxd.enable = true; - }; - }; + lxc.lxcfs.enable = true; + lxd.enable = true; + }; + }; - testScript = '' - def instance_is_up(_) -> bool: - status, _ = machine.execute("lxc exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/true") - return status == 0 + testScript = '' + def instance_is_up(_) -> bool: + status, _ = machine.execute("lxc exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/true") + return status == 0 - machine.wait_for_unit("sockets.target") - machine.wait_for_unit("lxd.service") - machine.wait_for_file("/var/lib/lxd/unix.socket") + machine.wait_for_unit("sockets.target") + machine.wait_for_unit("lxd.service") + machine.wait_for_file("/var/lib/lxd/unix.socket") - # Wait for lxd to settle - machine.succeed("lxd waitready") + # Wait for lxd to settle + machine.succeed("lxd waitready") - machine.succeed("lxd init --minimal") + machine.succeed("lxd init --minimal") - with subtest("virtual-machine image can be imported"): - machine.succeed("lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-disk}/nixos.qcow2 --alias nixos") + with subtest("virtual-machine image can be imported"): + machine.succeed("lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-disk}/nixos.qcow2 --alias nixos") - with subtest("virtual-machine can be launched and become available"): - machine.succeed("lxc launch nixos ${instance-name} --vm --config limits.memory=512MB --config security.secureboot=false") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) + with subtest("virtual-machine can be launched and become available"): + machine.succeed("lxc launch nixos ${instance-name} --vm --config limits.memory=512MB --config security.secureboot=false") + with machine.nested("Waiting for instance to start and be usable"): + retry(instance_is_up) - with subtest("lxd-agent is started"): - machine.succeed("lxc exec ${instance-name} systemctl is-active lxd-agent") - ''; -}) + with subtest("lxd-agent is started"): + machine.succeed("lxc exec ${instance-name} systemctl is-active lxd-agent") + ''; + } +) diff --git a/nixos/tests/maddy/tls.nix b/nixos/tests/maddy/tls.nix index 44da4cf2a3cf2..fcef098975431 100644 --- a/nixos/tests/maddy/tls.nix +++ b/nixos/tests/maddy/tls.nix @@ -1,94 +1,112 @@ -import ../make-test-python.nix ({ pkgs, ... }: -let - certs = import ../common/acme/server/snakeoil-certs.nix; - domain = certs.domain; -in { - name = "maddy-tls"; - meta = with pkgs.lib.maintainers; { maintainers = [ onny ]; }; +import ../make-test-python.nix ( + { pkgs, ... }: + let + certs = import ../common/acme/server/snakeoil-certs.nix; + domain = certs.domain; + in + { + name = "maddy-tls"; + meta = with pkgs.lib.maintainers; { + maintainers = [ onny ]; + }; - nodes = { - server = { options, ... }: { - services.maddy = { - enable = true; - hostname = domain; - primaryDomain = domain; - openFirewall = true; - ensureAccounts = [ "postmaster@${domain}" ]; - ensureCredentials = { - # Do not use this in production. This will make passwords world-readable - # in the Nix store - "postmaster@${domain}".passwordFile = "${pkgs.writeText "postmaster" "test"}"; - }; - tls = { - loader = "file"; - certificates = [{ - certPath = "${certs.${domain}.cert}"; - keyPath = "${certs.${domain}.key}"; - }]; + nodes = { + server = + { options, ... }: + { + services.maddy = { + enable = true; + hostname = domain; + primaryDomain = domain; + openFirewall = true; + ensureAccounts = [ "postmaster@${domain}" ]; + ensureCredentials = { + # Do not use this in production. This will make passwords world-readable + # in the Nix store + "postmaster@${domain}".passwordFile = "${pkgs.writeText "postmaster" "test"}"; + }; + tls = { + loader = "file"; + certificates = [ + { + certPath = "${certs.${domain}.cert}"; + keyPath = "${certs.${domain}.key}"; + } + ]; + }; + # Enable TLS listeners. Configuring this via the module is not yet + # implemented. + config = + builtins.replaceStrings + [ + "imap tcp://0.0.0.0:143" + "submission tcp://0.0.0.0:587" + ] + [ + "imap tls://0.0.0.0:993 tcp://0.0.0.0:143" + "submission tls://0.0.0.0:465 tcp://0.0.0.0:587" + ] + options.services.maddy.config.default; + }; + # Not covered by openFirewall yet + networking.firewall.allowedTCPPorts = [ + 993 + 465 + ]; }; - # Enable TLS listeners. Configuring this via the module is not yet - # implemented. - config = builtins.replaceStrings [ - "imap tcp://0.0.0.0:143" - "submission tcp://0.0.0.0:587" - ] [ - "imap tls://0.0.0.0:993 tcp://0.0.0.0:143" - "submission tls://0.0.0.0:465 tcp://0.0.0.0:587" - ] options.services.maddy.config.default; - }; - # Not covered by openFirewall yet - networking.firewall.allowedTCPPorts = [ 993 465 ]; - }; - client = { nodes, ... }: { - security.pki.certificateFiles = [ - certs.ca.cert - ]; - networking.extraHosts = '' - ${nodes.server.networking.primaryIPAddress} ${domain} - ''; - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "send-testmail" { } '' - import smtplib - import ssl - from email.mime.text import MIMEText + client = + { nodes, ... }: + { + security.pki.certificateFiles = [ + certs.ca.cert + ]; + networking.extraHosts = '' + ${nodes.server.networking.primaryIPAddress} ${domain} + ''; + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "send-testmail" { } '' + import smtplib + import ssl + from email.mime.text import MIMEText - context = ssl.create_default_context() - msg = MIMEText("Hello World") - msg['Subject'] = 'Test' - msg['From'] = "postmaster@${domain}" - msg['To'] = "postmaster@${domain}" - with smtplib.SMTP_SSL(host='${domain}', port=465, context=context) as smtp: - smtp.login('postmaster@${domain}', 'test') - smtp.sendmail( - 'postmaster@${domain}', 'postmaster@${domain}', msg.as_string() - ) - '') - (pkgs.writers.writePython3Bin "test-imap" { } '' - import imaplib + context = ssl.create_default_context() + msg = MIMEText("Hello World") + msg['Subject'] = 'Test' + msg['From'] = "postmaster@${domain}" + msg['To'] = "postmaster@${domain}" + with smtplib.SMTP_SSL(host='${domain}', port=465, context=context) as smtp: + smtp.login('postmaster@${domain}', 'test') + smtp.sendmail( + 'postmaster@${domain}', 'postmaster@${domain}', msg.as_string() + ) + '') + (pkgs.writers.writePython3Bin "test-imap" { } '' + import imaplib - with imaplib.IMAP4_SSL('${domain}') as imap: - imap.login('postmaster@${domain}', 'test') - imap.select() - status, refs = imap.search(None, 'ALL') - assert status == 'OK' - assert len(refs) == 1 - status, msg = imap.fetch(refs[0], 'BODY[TEXT]') - assert status == 'OK' - assert msg[0][1].strip() == b"Hello World" - '') - ]; + with imaplib.IMAP4_SSL('${domain}') as imap: + imap.login('postmaster@${domain}', 'test') + imap.select() + status, refs = imap.search(None, 'ALL') + assert status == 'OK' + assert len(refs) == 1 + status, msg = imap.fetch(refs[0], 'BODY[TEXT]') + assert status == 'OK' + assert msg[0][1].strip() == b"Hello World" + '') + ]; + }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("maddy.service") - server.wait_for_open_port(143) - server.wait_for_open_port(993) - server.wait_for_open_port(587) - server.wait_for_open_port(465) - client.succeed("send-testmail") - client.succeed("test-imap") - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("maddy.service") + server.wait_for_open_port(143) + server.wait_for_open_port(993) + server.wait_for_open_port(587) + server.wait_for_open_port(465) + client.succeed("send-testmail") + client.succeed("test-imap") + ''; + } +) diff --git a/nixos/tests/maddy/unencrypted.nix b/nixos/tests/maddy/unencrypted.nix index 2420d461e4e7c..0e66d4059549d 100644 --- a/nixos/tests/maddy/unencrypted.nix +++ b/nixos/tests/maddy/unencrypted.nix @@ -1,60 +1,69 @@ -import ../make-test-python.nix ({ pkgs, ... }: { - name = "maddy-unencrypted"; - meta = with pkgs.lib.maintainers; { maintainers = [ onny ]; }; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "maddy-unencrypted"; + meta = with pkgs.lib.maintainers; { + maintainers = [ onny ]; + }; - nodes = { - server = { ... }: { - services.maddy = { - enable = true; - hostname = "server"; - primaryDomain = "server"; - openFirewall = true; - ensureAccounts = [ "postmaster@server" ]; - ensureCredentials = { - # Do not use this in production. This will make passwords world-readable - # in the Nix store - "postmaster@server".passwordFile = "${pkgs.writeText "postmaster" "test"}"; + nodes = { + server = + { ... }: + { + services.maddy = { + enable = true; + hostname = "server"; + primaryDomain = "server"; + openFirewall = true; + ensureAccounts = [ "postmaster@server" ]; + ensureCredentials = { + # Do not use this in production. This will make passwords world-readable + # in the Nix store + "postmaster@server".passwordFile = "${pkgs.writeText "postmaster" "test"}"; + }; + }; }; - }; - }; - client = { ... }: { - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "send-testmail" { } '' - import smtplib - from email.mime.text import MIMEText + client = + { ... }: + { + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "send-testmail" { } '' + import smtplib + from email.mime.text import MIMEText - msg = MIMEText("Hello World") - msg['Subject'] = 'Test' - msg['From'] = "postmaster@server" - msg['To'] = "postmaster@server" - with smtplib.SMTP('server', 587) as smtp: - smtp.login('postmaster@server', 'test') - smtp.sendmail('postmaster@server', 'postmaster@server', msg.as_string()) - '') - (pkgs.writers.writePython3Bin "test-imap" { } '' - import imaplib + msg = MIMEText("Hello World") + msg['Subject'] = 'Test' + msg['From'] = "postmaster@server" + msg['To'] = "postmaster@server" + with smtplib.SMTP('server', 587) as smtp: + smtp.login('postmaster@server', 'test') + smtp.sendmail('postmaster@server', 'postmaster@server', msg.as_string()) + '') + (pkgs.writers.writePython3Bin "test-imap" { } '' + import imaplib - with imaplib.IMAP4('server') as imap: - imap.login('postmaster@server', 'test') - imap.select() - status, refs = imap.search(None, 'ALL') - assert status == 'OK' - assert len(refs) == 1 - status, msg = imap.fetch(refs[0], 'BODY[TEXT]') - assert status == 'OK' - assert msg[0][1].strip() == b"Hello World" - '') - ]; + with imaplib.IMAP4('server') as imap: + imap.login('postmaster@server', 'test') + imap.select() + status, refs = imap.search(None, 'ALL') + assert status == 'OK' + assert len(refs) == 1 + status, msg = imap.fetch(refs[0], 'BODY[TEXT]') + assert status == 'OK' + assert msg[0][1].strip() == b"Hello World" + '') + ]; + }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("maddy.service") - server.wait_for_open_port(143) - server.wait_for_open_port(587) - client.succeed("send-testmail") - client.succeed("test-imap") - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("maddy.service") + server.wait_for_open_port(143) + server.wait_for_open_port(587) + client.succeed("send-testmail") + client.succeed("test-imap") + ''; + } +) diff --git a/nixos/tests/maestral.nix b/nixos/tests/maestral.nix index 52cc32cd0f4bb..aa510897d0d75 100644 --- a/nixos/tests/maestral.nix +++ b/nixos/tests/maestral.nix @@ -1,76 +1,83 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "maestral"; - meta = with pkgs.lib.maintainers; { - maintainers = [ peterhoeg ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "maestral"; + meta = with pkgs.lib.maintainers; { + maintainers = [ peterhoeg ]; + }; - nodes = - let - common = attrs: - pkgs.lib.recursiveUpdate - { + nodes = + let + common = + attrs: + pkgs.lib.recursiveUpdate { imports = [ ./common/user-account.nix ]; systemd.user.services.maestral = { description = "Maestral Dropbox Client"; serviceConfig.Type = "exec"; }; - } - attrs; + } attrs; - in - { - cli = { ... }: common { - systemd.user.services.maestral = { - wantedBy = [ "default.target" ]; - serviceConfig.ExecStart = "${pkgs.maestral}/bin/maestral start --foreground"; - }; - }; + in + { + cli = + { ... }: + common { + systemd.user.services.maestral = { + wantedBy = [ "default.target" ]; + serviceConfig.ExecStart = "${pkgs.maestral}/bin/maestral start --foreground"; + }; + }; - gui = { ... }: common { - services.xserver = { - enable = true; - desktopManager.plasma5.enable = true; - desktopManager.plasma5.runUsingSystemd = true; - }; + gui = + { ... }: + common { + services.xserver = { + enable = true; + desktopManager.plasma5.enable = true; + desktopManager.plasma5.runUsingSystemd = true; + }; - services.displayManager = { - sddm.enable = true; - defaultSession = "plasma"; - autoLogin = { - enable = true; - user = "alice"; - }; - }; + services.displayManager = { + sddm.enable = true; + defaultSession = "plasma"; + autoLogin = { + enable = true; + user = "alice"; + }; + }; - systemd.user.services = { - maestral = { - wantedBy = [ "graphical-session.target" ]; - serviceConfig.ExecStart = "${pkgs.maestral-gui}/bin/maestral_qt"; + systemd.user.services = { + maestral = { + wantedBy = [ "graphical-session.target" ]; + serviceConfig.ExecStart = "${pkgs.maestral-gui}/bin/maestral_qt"; + }; + # PowerDevil doesn't like our VM + plasma-powerdevil.enable = false; + }; }; - # PowerDevil doesn't like our VM - plasma-powerdevil.enable = false; - }; }; - }; - testScript = { nodes, ... }: - let - user = nodes.cli.users.users.alice; - in - '' - start_all() + testScript = + { nodes, ... }: + let + user = nodes.cli.users.users.alice; + in + '' + start_all() - with subtest("CLI"): - # we need SOME way to give the user an active login session - cli.execute("loginctl enable-linger ${user.name}") - cli.systemctl("start user@${toString user.uid}") - cli.wait_for_unit("maestral.service", "${user.name}") + with subtest("CLI"): + # we need SOME way to give the user an active login session + cli.execute("loginctl enable-linger ${user.name}") + cli.systemctl("start user@${toString user.uid}") + cli.wait_for_unit("maestral.service", "${user.name}") - with subtest("GUI"): - gui.wait_for_x() - gui.wait_for_file("/tmp/xauth_*") - gui.succeed("xauth merge /tmp/xauth_*") - gui.wait_for_window("^Desktop ") - gui.wait_for_unit("maestral.service", "${user.name}") - ''; -}) + with subtest("GUI"): + gui.wait_for_x() + gui.wait_for_file("/tmp/xauth_*") + gui.succeed("xauth merge /tmp/xauth_*") + gui.wait_for_window("^Desktop ") + gui.wait_for_unit("maestral.service", "${user.name}") + ''; + } +) diff --git a/nixos/tests/magic-wormhole-mailbox-server.nix b/nixos/tests/magic-wormhole-mailbox-server.nix index 54088ac60f284..c6979db791f28 100644 --- a/nixos/tests/magic-wormhole-mailbox-server.nix +++ b/nixos/tests/magic-wormhole-mailbox-server.nix @@ -1,38 +1,47 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "magic-wormhole-mailbox-server"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mmahut ]; - }; - - nodes = { - server = { ... }: { - networking.firewall.allowedTCPPorts = [ 4000 ]; - services.magic-wormhole-mailbox-server.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "magic-wormhole-mailbox-server"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mmahut ]; }; - client_alice = { ... }: { - networking.firewall.enable = false; - environment.systemPackages = [ pkgs.magic-wormhole ]; - }; + nodes = { + server = + { ... }: + { + networking.firewall.allowedTCPPorts = [ 4000 ]; + services.magic-wormhole-mailbox-server.enable = true; + }; + + client_alice = + { ... }: + { + networking.firewall.enable = false; + environment.systemPackages = [ pkgs.magic-wormhole ]; + }; - client_bob = { ... }: { - environment.systemPackages = [ pkgs.magic-wormhole ]; + client_bob = + { ... }: + { + environment.systemPackages = [ pkgs.magic-wormhole ]; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # Start the wormhole relay server - server.wait_for_unit("magic-wormhole-mailbox-server.service") - server.wait_for_open_port(4000) + # Start the wormhole relay server + server.wait_for_unit("magic-wormhole-mailbox-server.service") + server.wait_for_open_port(4000) - # Create a secret file and send it to Bob - client_alice.succeed("echo mysecret > secretfile") - client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile >&2 &") + # Create a secret file and send it to Bob + client_alice.succeed("echo mysecret > secretfile") + client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile >&2 &") - # Retrieve a secret file from Alice and check its content - client_bob.succeed("wormhole --relay-url=ws://server:4000/v1 receive -0 --accept-file") - client_bob.succeed("grep mysecret secretfile") - ''; -}) + # Retrieve a secret file from Alice and check its content + client_bob.succeed("wormhole --relay-url=ws://server:4000/v1 receive -0 --accept-file") + client_bob.succeed("grep mysecret secretfile") + ''; + } +) diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix index ee84aacaf7a74..279d19d877782 100644 --- a/nixos/tests/magnetico.nix +++ b/nixos/tests/magnetico.nix @@ -1,29 +1,31 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -let - port = 8081; -in -{ - name = "magnetico"; - meta = with pkgs.lib.maintainers; { - maintainers = [ rnhmjoj ]; - }; + let + port = 8081; + in + { + name = "magnetico"; + meta = with pkgs.lib.maintainers; { + maintainers = [ rnhmjoj ]; + }; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; - networking.firewall.allowedTCPPorts = [ 9000 ]; + networking.firewall.allowedTCPPorts = [ 9000 ]; - services.magnetico = { - enable = true; - crawler.port = 9000; - web.port = port; - web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe"; - }; - }; + services.magnetico = { + enable = true; + crawler.port = 9000; + web.port = port; + web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe"; + }; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("magneticod") machine.wait_for_unit("magneticow") @@ -38,4 +40,5 @@ in ) machine.shutdown() ''; -}) + } +) diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix index 627ef56617e9b..312f8ed102bff 100644 --- a/nixos/tests/mailcatcher.nix +++ b/nixos/tests/mailcatcher.nix @@ -1,35 +1,37 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "mailcatcher"; - meta.maintainers = [ lib.maintainers.aanderse ]; + { + name = "mailcatcher"; + meta.maintainers = [ lib.maintainers.aanderse ]; - nodes.machine = - { pkgs, ... }: - { - services.mailcatcher.enable = true; + nodes.machine = + { pkgs, ... }: + { + services.mailcatcher.enable = true; - programs.msmtp = { - enable = true; - accounts.default = { - host = "localhost"; - port = 1025; + programs.msmtp = { + enable = true; + accounts.default = { + host = "localhost"; + port = 1025; + }; }; - }; - environment.systemPackages = [ pkgs.mailutils ]; - }; + environment.systemPackages = [ pkgs.mailutils ]; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("mailcatcher.service") - machine.wait_for_open_port(1025) - machine.succeed( - 'echo "this is the body of the email" | mail -s "subject" root@example.org' - ) - assert "this is the body of the email" in machine.succeed( - "curl -f http://localhost:1080/messages/1.source" - ) - ''; -}) + machine.wait_for_unit("mailcatcher.service") + machine.wait_for_open_port(1025) + machine.succeed( + 'echo "this is the body of the email" | mail -s "subject" root@example.org' + ) + assert "this is the body of the email" in machine.succeed( + "curl -f http://localhost:1080/messages/1.source" + ) + ''; + } +) diff --git a/nixos/tests/mailman.nix b/nixos/tests/mailman.nix index f9b43861a12f6..d4e09148a9dd1 100644 --- a/nixos/tests/mailman.nix +++ b/nixos/tests/mailman.nix @@ -1,73 +1,86 @@ import ./make-test-python.nix { name = "mailman"; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ mailutils ]; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ mailutils ]; - services.mailman.enable = true; - services.mailman.serve.enable = true; - services.mailman.siteOwner = "postmaster@example.com"; - services.mailman.webHosts = [ "example.com" ]; + services.mailman.enable = true; + services.mailman.serve.enable = true; + services.mailman.siteOwner = "postmaster@example.com"; + services.mailman.webHosts = [ "example.com" ]; - services.postfix.enable = true; - services.postfix.destination = [ "example.com" "example.net" ]; - services.postfix.relayDomains = [ "hash:/var/lib/mailman/data/postfix_domains" ]; - services.postfix.config.local_recipient_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" "proxy:unix:passwd.byname" ]; - services.postfix.config.transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ]; + services.postfix.enable = true; + services.postfix.destination = [ + "example.com" + "example.net" + ]; + services.postfix.relayDomains = [ "hash:/var/lib/mailman/data/postfix_domains" ]; + services.postfix.config.local_recipient_maps = [ + "hash:/var/lib/mailman/data/postfix_lmtp" + "proxy:unix:passwd.byname" + ]; + services.postfix.config.transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ]; - users.users.user = { isNormalUser = true; }; + users.users.user = { + isNormalUser = true; + }; - virtualisation.memorySize = 2048; + virtualisation.memorySize = 2048; - specialisation.restApiPassFileSystem.configuration = { - services.mailman.restApiPassFile = "/var/lib/mailman/pass"; + specialisation.restApiPassFileSystem.configuration = { + services.mailman.restApiPassFile = "/var/lib/mailman/pass"; + }; }; - }; - testScript = { nodes, ... }: let - restApiPassFileSystem = "${nodes.machine.system.build.toplevel}/specialisation/restApiPassFileSystem"; - in '' - def check_mail(_) -> bool: - status, _ = machine.execute("grep -q hello /var/spool/mail/user/new/*") - return status == 0 + testScript = + { nodes, ... }: + let + restApiPassFileSystem = "${nodes.machine.system.build.toplevel}/specialisation/restApiPassFileSystem"; + in + '' + def check_mail(_) -> bool: + status, _ = machine.execute("grep -q hello /var/spool/mail/user/new/*") + return status == 0 - def try_api(_) -> bool: - status, _ = machine.execute("curl -s http://localhost:8001/") - return status == 0 + def try_api(_) -> bool: + status, _ = machine.execute("curl -s http://localhost:8001/") + return status == 0 - def wait_for_api(): - with machine.nested("waiting for Mailman REST API to be available"): - retry(try_api) + def wait_for_api(): + with machine.nested("waiting for Mailman REST API to be available"): + retry(try_api) - machine.wait_for_unit("mailman.service") - wait_for_api() + machine.wait_for_unit("mailman.service") + wait_for_api() - with subtest("subscription and delivery"): - creds = machine.succeed("su -s /bin/sh -c 'mailman info' mailman | grep '^REST credentials: ' | sed 's/^REST credentials: //'").strip() - machine.succeed(f"curl --fail-with-body -sLSu {creds} -d mail_host=example.com http://localhost:8001/3.1/domains") - machine.succeed(f"curl --fail-with-body -sLSu {creds} -d fqdn_listname=list@example.com http://localhost:8001/3.1/lists") - machine.succeed(f"curl --fail-with-body -sLSu {creds} -d list_id=list.example.com -d subscriber=root@example.com -d pre_confirmed=True -d pre_verified=True -d send_welcome_message=False http://localhost:8001/3.1/members") - machine.succeed(f"curl --fail-with-body -sLSu {creds} -d list_id=list.example.com -d subscriber=user@example.net -d pre_confirmed=True -d pre_verified=True -d send_welcome_message=False http://localhost:8001/3.1/members") - machine.succeed("mail -a 'From: root@example.com' -s hello list@example.com < /dev/null") - with machine.nested("waiting for mail from list"): - retry(check_mail) + with subtest("subscription and delivery"): + creds = machine.succeed("su -s /bin/sh -c 'mailman info' mailman | grep '^REST credentials: ' | sed 's/^REST credentials: //'").strip() + machine.succeed(f"curl --fail-with-body -sLSu {creds} -d mail_host=example.com http://localhost:8001/3.1/domains") + machine.succeed(f"curl --fail-with-body -sLSu {creds} -d fqdn_listname=list@example.com http://localhost:8001/3.1/lists") + machine.succeed(f"curl --fail-with-body -sLSu {creds} -d list_id=list.example.com -d subscriber=root@example.com -d pre_confirmed=True -d pre_verified=True -d send_welcome_message=False http://localhost:8001/3.1/members") + machine.succeed(f"curl --fail-with-body -sLSu {creds} -d list_id=list.example.com -d subscriber=user@example.net -d pre_confirmed=True -d pre_verified=True -d send_welcome_message=False http://localhost:8001/3.1/members") + machine.succeed("mail -a 'From: root@example.com' -s hello list@example.com < /dev/null") + with machine.nested("waiting for mail from list"): + retry(check_mail) - with subtest("Postorius"): - machine.succeed("curl --fail-with-body -sILS http://localhost/") + with subtest("Postorius"): + machine.succeed("curl --fail-with-body -sILS http://localhost/") - with subtest("restApiPassFile"): - machine.succeed("echo secretpassword > /var/lib/mailman/pass") - machine.succeed("${restApiPassFileSystem}/bin/switch-to-configuration test >&2") - machine.succeed("grep secretpassword /etc/mailman.cfg") - machine.succeed("su -s /bin/sh -c 'mailman info' mailman | grep secretpassword") - wait_for_api() - machine.succeed("curl --fail-with-body -sLSu restadmin:secretpassword http://localhost:8001/3.1/domains") - machine.succeed("curl --fail-with-body -sILS http://localhost/") + with subtest("restApiPassFile"): + machine.succeed("echo secretpassword > /var/lib/mailman/pass") + machine.succeed("${restApiPassFileSystem}/bin/switch-to-configuration test >&2") + machine.succeed("grep secretpassword /etc/mailman.cfg") + machine.succeed("su -s /bin/sh -c 'mailman info' mailman | grep secretpassword") + wait_for_api() + machine.succeed("curl --fail-with-body -sLSu restadmin:secretpassword http://localhost:8001/3.1/domains") + machine.succeed("curl --fail-with-body -sILS http://localhost/") - with subtest("service locking"): - machine.fail("su -s /bin/sh -c 'mailman start' mailman") - machine.execute("systemctl kill --signal=SIGKILL mailman") - machine.succeed("systemctl restart mailman") - wait_for_api() - ''; + with subtest("service locking"): + machine.fail("su -s /bin/sh -c 'mailman start' mailman") + machine.execute("systemctl kill --signal=SIGKILL mailman") + machine.succeed("systemctl restart mailman") + wait_for_api() + ''; } diff --git a/nixos/tests/make-test-python.nix b/nixos/tests/make-test-python.nix index 28569f1d2955a..ec8a286607a03 100644 --- a/nixos/tests/make-test-python.nix +++ b/nixos/tests/make-test-python.nix @@ -1,9 +1,25 @@ -f: { +f: +{ system ? builtins.currentSystem, - pkgs ? import ../.. { inherit system; config = {}; overlays = []; }, + pkgs ? import ../.. { + inherit system; + config = { }; + overlays = [ ]; + }, ... -} @ args: +}@args: with import ../lib/testing-python.nix { inherit system pkgs; }; -makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f) +makeTest ( + if pkgs.lib.isFunction f then + f ( + args + // { + inherit pkgs; + inherit (pkgs) lib; + } + ) + else + f +) diff --git a/nixos/tests/man.nix b/nixos/tests/man.nix index 1ff5af4e80591..510a46a46ec9d 100644 --- a/nixos/tests/man.nix +++ b/nixos/tests/man.nix @@ -1,100 +1,111 @@ +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + manImplementations = [ + "mandoc" + "man-db" + ]; -import ./make-test-python.nix ({ pkgs, lib, ... }: let - manImplementations = [ - "mandoc" - "man-db" - ]; - - machineNames = builtins.map machineSafe manImplementations; + machineNames = builtins.map machineSafe manImplementations; - makeConfig = useImpl: { - # Note: mandoc currently can't index symlinked section directories. - # So if a man section comes from one package exclusively (e. g. - # 1p from man-pages-posix and 2 from man-pages), it isn't searchable. - environment.systemPackages = [ - pkgs.man-pages - pkgs.openssl - pkgs.libunwind - ]; + makeConfig = useImpl: { + # Note: mandoc currently can't index symlinked section directories. + # So if a man section comes from one package exclusively (e. g. + # 1p from man-pages-posix and 2 from man-pages), it isn't searchable. + environment.systemPackages = [ + pkgs.man-pages + pkgs.openssl + pkgs.libunwind + ]; - documentation = { - enable = true; - nixos.enable = lib.mkForce true; - dev.enable = true; - man = { + documentation = { enable = true; - generateCaches = true; - } // lib.listToAttrs (builtins.map (impl: { - name = impl; - value = { - enable = useImpl == impl; - }; - }) manImplementations); + nixos.enable = lib.mkForce true; + dev.enable = true; + man = + { + enable = true; + generateCaches = true; + } + // lib.listToAttrs ( + builtins.map (impl: { + name = impl; + value = { + enable = useImpl == impl; + }; + }) manImplementations + ); + }; }; - }; - machineSafe = builtins.replaceStrings [ "-" ] [ "_" ]; -in { - name = "man"; - meta.maintainers = [ lib.maintainers.sternenseemann ]; + machineSafe = builtins.replaceStrings [ "-" ] [ "_" ]; + in + { + name = "man"; + meta.maintainers = [ lib.maintainers.sternenseemann ]; - nodes = lib.listToAttrs (builtins.map (i: { - name = machineSafe i; - value = makeConfig i; - }) manImplementations); + nodes = lib.listToAttrs ( + builtins.map (i: { + name = machineSafe i; + value = makeConfig i; + }) manImplementations + ); - testScript = '' - import re - start_all() + testScript = + '' + import re + start_all() - def match_man_k(page, section, haystack): - """ - Check if the man page {page}({section}) occurs in - the output of `man -k` given as haystack. Note: - This is not super reliable, e. g. it can't deal - with man pages that are in multiple sections. - """ + def match_man_k(page, section, haystack): + """ + Check if the man page {page}({section}) occurs in + the output of `man -k` given as haystack. Note: + This is not super reliable, e. g. it can't deal + with man pages that are in multiple sections. + """ - for line in haystack.split("\n"): - # man -k can look like this: - # page(3) - bla - # page (3) - bla - # pagea, pageb (3, 3P) - foo - # pagea, pageb, pagec(3) - bar - pages = line.split("(")[0] - sections = re.search("\\([a-zA-Z1-9, ]+\\)", line) - if sections is None: - continue - else: - sections = sections.group(0)[1:-1] + for line in haystack.split("\n"): + # man -k can look like this: + # page(3) - bla + # page (3) - bla + # pagea, pageb (3, 3P) - foo + # pagea, pageb, pagec(3) - bar + pages = line.split("(")[0] + sections = re.search("\\([a-zA-Z1-9, ]+\\)", line) + if sections is None: + continue + else: + sections = sections.group(0)[1:-1] - if page in pages and f'{section}' in sections: - return True + if page in pages and f'{section}' in sections: + return True - return False + return False - '' + lib.concatMapStrings (machine: '' - with subtest("Test direct man page lookups in ${machine}"): - # man works - ${machine}.succeed("man man > /dev/null") - # devman works - ${machine}.succeed("man 3 libunwind > /dev/null") - # NixOS configuration man page is installed - ${machine}.succeed("man configuration.nix > /dev/null") + '' + + lib.concatMapStrings (machine: '' + with subtest("Test direct man page lookups in ${machine}"): + # man works + ${machine}.succeed("man man > /dev/null") + # devman works + ${machine}.succeed("man 3 libunwind > /dev/null") + # NixOS configuration man page is installed + ${machine}.succeed("man configuration.nix > /dev/null") - with subtest("Test generateCaches via man -k in ${machine}"): - expected = [ - ("openssl", "ssl", 3), - ("unwind", "libunwind", 3), - ("user", "useradd", 8), - ("user", "userdel", 8), - ("mem", "free", 3), - ("mem", "free", 1), - ] + with subtest("Test generateCaches via man -k in ${machine}"): + expected = [ + ("openssl", "ssl", 3), + ("unwind", "libunwind", 3), + ("user", "useradd", 8), + ("user", "userdel", 8), + ("mem", "free", 3), + ("mem", "free", 1), + ] - for (keyword, page, section) in expected: - matches = ${machine}.succeed(f"man -k {keyword}") - if not match_man_k(page, section, matches): - raise Exception(f"{page}({section}) missing in matches: {matches}") - '') machineNames; -}) + for (keyword, page, section) in expected: + matches = ${machine}.succeed(f"man -k {keyword}") + if not match_man_k(page, section, matches): + raise Exception(f"{page}({section}) missing in matches: {matches}") + '') machineNames; + } +) diff --git a/nixos/tests/mate-wayland.nix b/nixos/tests/mate-wayland.nix index 73f94ababc493..1e660087ec99e 100644 --- a/nixos/tests/mate-wayland.nix +++ b/nixos/tests/mate-wayland.nix @@ -1,60 +1,66 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "mate-wayland"; - - meta.maintainers = lib.teams.mate.members; - - nodes.machine = { ... }: { - imports = [ - ./common/user-account.nix - ]; - - services.xserver.enable = true; - services.displayManager = { - sddm.enable = true; # https://github.com/canonical/lightdm/issues/63 - sddm.wayland.enable = true; - defaultSession = "MATE"; - autoLogin = { - enable = true; - user = "alice"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "mate-wayland"; + + meta.maintainers = lib.teams.mate.members; + + nodes.machine = + { ... }: + { + imports = [ + ./common/user-account.nix + ]; + + services.xserver.enable = true; + services.displayManager = { + sddm.enable = true; # https://github.com/canonical/lightdm/issues/63 + sddm.wayland.enable = true; + defaultSession = "MATE"; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + services.xserver.desktopManager.mate.enableWaylandSession = true; + + # Need to switch to a different GPU driver than the default one (-vga std) so that wayfire can launch: + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; }; - }; - services.xserver.desktopManager.mate.enableWaylandSession = true; - - # Need to switch to a different GPU driver than the default one (-vga std) so that wayfire can launch: - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; - }; - - enableOCR = true; - - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - in - '' - machine.wait_for_unit("display-manager.service") - - with subtest("Wait for Wayland server"): - machine.wait_for_file("/run/user/${toString user.uid}/wayland-1") - - with subtest("Check if MATE session components actually start"): - for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]: - machine.wait_until_succeeds(f"pgrep -f {i}") - # It is expected that this applet doesn't work in Wayland - machine.wait_for_text('WorkspaceSwitcherApplet') - - with subtest("Check if various environment variables are set"): - cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ" - machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'") - machine.succeed(f"{cmd} | grep 'XDG_SESSION_DESKTOP' | grep 'MATE'") - machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") - - with subtest("Check if Wayfire config is properly configured"): - for i in ["button_style = mate", "firedecor", "mate-wayland-components.sh"]: - machine.wait_until_succeeds(f"cat /home/${user.name}/.config/mate/wayfire.ini | grep '{i}'") - - with subtest("Check if Wayfire has ever coredumped"): - machine.fail("coredumpctl --json=short | grep wayfire") - machine.sleep(10) - machine.screenshot("screen") - ''; -}) + + enableOCR = true; + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + '' + machine.wait_for_unit("display-manager.service") + + with subtest("Wait for Wayland server"): + machine.wait_for_file("/run/user/${toString user.uid}/wayland-1") + + with subtest("Check if MATE session components actually start"): + for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]: + machine.wait_until_succeeds(f"pgrep -f {i}") + # It is expected that this applet doesn't work in Wayland + machine.wait_for_text('WorkspaceSwitcherApplet') + + with subtest("Check if various environment variables are set"): + cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ" + machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'") + machine.succeed(f"{cmd} | grep 'XDG_SESSION_DESKTOP' | grep 'MATE'") + machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") + + with subtest("Check if Wayfire config is properly configured"): + for i in ["button_style = mate", "firedecor", "mate-wayland-components.sh"]: + machine.wait_until_succeeds(f"cat /home/${user.name}/.config/mate/wayfire.ini | grep '{i}'") + + with subtest("Check if Wayfire has ever coredumped"): + machine.fail("coredumpctl --json=short | grep wayfire") + machine.sleep(10) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/mate.nix b/nixos/tests/mate.nix index 0cadd6d0d5bff..d0847be5ffa9b 100644 --- a/nixos/tests/mate.nix +++ b/nixos/tests/mate.nix @@ -1,86 +1,92 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "mate"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "mate"; - meta = { - maintainers = lib.teams.mate.members; - }; + meta = { + maintainers = lib.teams.mate.members; + }; - nodes.machine = { ... }: { - imports = [ - ./common/user-account.nix - ]; + nodes.machine = + { ... }: + { + imports = [ + ./common/user-account.nix + ]; - services.xserver.enable = true; + services.xserver.enable = true; - services.xserver.displayManager = { - lightdm.enable = true; - autoLogin = { - enable = true; - user = "alice"; - }; - }; + services.xserver.displayManager = { + lightdm.enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; - services.xserver.desktopManager.mate.enable = true; - }; + services.xserver.desktopManager.mate.enable = true; + }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: - let - user = nodes.machine.users.users.alice; - env = "DISPLAY=:0.0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; - in - '' - with subtest("Wait for login"): - machine.wait_for_x() - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + env = "DISPLAY=:0.0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; + in + '' + with subtest("Wait for login"): + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - with subtest("Check if MATE session components actually start"): - machine.wait_until_succeeds("pgrep marco") - machine.wait_for_window("marco") - machine.wait_until_succeeds("pgrep mate-panel") - machine.wait_for_window("Top Panel") - machine.wait_for_window("Bottom Panel") - machine.wait_until_succeeds("pgrep caja") - machine.wait_for_window("Caja") - machine.wait_for_text('(Applications|Places|System)') - machine.wait_for_text('(Computer|Home|Trash)') + with subtest("Check if MATE session components actually start"): + machine.wait_until_succeeds("pgrep marco") + machine.wait_for_window("marco") + machine.wait_until_succeeds("pgrep mate-panel") + machine.wait_for_window("Top Panel") + machine.wait_for_window("Bottom Panel") + machine.wait_until_succeeds("pgrep caja") + machine.wait_for_window("Caja") + machine.wait_for_text('(Applications|Places|System)') + machine.wait_for_text('(Computer|Home|Trash)') - with subtest("Check if various environment variables are set"): - machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf marco)/environ | grep 'XDG_CURRENT_DESKTOP' | grep 'MATE'") - # From mate-panel-with-applets packaging - machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") + with subtest("Check if various environment variables are set"): + machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf marco)/environ | grep 'XDG_CURRENT_DESKTOP' | grep 'MATE'") + # From mate-panel-with-applets packaging + machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'") - with subtest("Check if applets are built with in-process support"): - # This is needed for Wayland support - machine.fail("pgrep -fa clock-applet") + with subtest("Check if applets are built with in-process support"): + # This is needed for Wayland support + machine.fail("pgrep -fa clock-applet") - with subtest("Lock the screen"): - machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'") - machine.succeed("su - ${user.name} -c '${env} mate-screensaver-command -l >&2 &'") - machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is active'") - machine.sleep(2) - machine.send_chars("${user.password}", delay=0.2) - machine.wait_for_text("${user.description}") - machine.screenshot("screensaver") - machine.send_chars("\n") - machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'") + with subtest("Lock the screen"): + machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'") + machine.succeed("su - ${user.name} -c '${env} mate-screensaver-command -l >&2 &'") + machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is active'") + machine.sleep(2) + machine.send_chars("${user.password}", delay=0.2) + machine.wait_for_text("${user.description}") + machine.screenshot("screensaver") + machine.send_chars("\n") + machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'") - with subtest("Open MATE control center"): - machine.succeed("su - ${user.name} -c '${env} mate-control-center >&2 &'") - machine.wait_for_window("Control Center") - machine.wait_for_text('(Groups|Administration|Hardware)') + with subtest("Open MATE control center"): + machine.succeed("su - ${user.name} -c '${env} mate-control-center >&2 &'") + machine.wait_for_window("Control Center") + machine.wait_for_text('(Groups|Administration|Hardware)') - with subtest("Open MATE terminal"): - machine.succeed("su - ${user.name} -c '${env} mate-terminal >&2 &'") - machine.wait_for_window("Terminal") + with subtest("Open MATE terminal"): + machine.succeed("su - ${user.name} -c '${env} mate-terminal >&2 &'") + machine.wait_for_window("Terminal") - with subtest("Check if MATE has ever coredumped"): - machine.fail("coredumpctl --json=short | grep -E 'mate|marco|caja'") - machine.screenshot("screen") - ''; -}) + with subtest("Check if MATE has ever coredumped"): + machine.fail("coredumpctl --json=short | grep -E 'mate|marco|caja'") + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/matomo.nix b/nixos/tests/matomo.nix index cf54f71b738fc..f4097db6805db 100644 --- a/nixos/tests/matomo.nix +++ b/nixos/tests/matomo.nix @@ -1,54 +1,79 @@ -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../.. { inherit system config; } }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, +}: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let - matomoTest = package: - makeTest { - name = "matomo"; + matomoTest = + package: + makeTest { + name = "matomo"; - nodes.machine = { config, pkgs, ... }: { - services.matomo = { - package = package; - enable = true; - nginx = { - forceSSL = false; - enableACME = false; + nodes.machine = + { config, pkgs, ... }: + { + services.matomo = { + package = package; + enable = true; + nginx = { + forceSSL = false; + enableACME = false; + }; + }; + services.mysql = { + enable = true; + package = pkgs.mariadb; + }; + services.nginx.enable = true; }; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - }; - services.nginx.enable = true; - }; - testScript = '' - start_all() - machine.wait_for_unit("mysql.service") - machine.wait_for_unit("phpfpm-matomo.service") - machine.wait_for_unit("nginx.service") + testScript = '' + start_all() + machine.wait_for_unit("mysql.service") + machine.wait_for_unit("phpfpm-matomo.service") + machine.wait_for_unit("nginx.service") - # without the grep the command does not produce valid utf-8 for some reason - with subtest("welcome screen loads"): - machine.succeed( - "curl -sSfL http://localhost/ | grep 'Matomo[^<]*Installation'" - ) - ''; - }; -in { + # without the grep the command does not produce valid utf-8 for some reason + with subtest("welcome screen loads"): + machine.succeed( + "curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'" + ) + ''; + }; +in +{ matomo = matomoTest pkgs.matomo // { name = "matomo"; - meta.maintainers = with maintainers; [ florianjacob mmilata twey boozedog ]; + meta.maintainers = with maintainers; [ + florianjacob + mmilata + twey + boozedog + ]; }; matomo-beta = matomoTest pkgs.matomo-beta // { name = "matomo-beta"; - meta.maintainers = with maintainers; [ florianjacob mmilata twey boozedog ]; + meta.maintainers = with maintainers; [ + florianjacob + mmilata + twey + boozedog + ]; }; matomo_5 = matomoTest pkgs.matomo_5 // { name = "matomo-5"; - meta.maintainers = with maintainers; [ florianjacob mmilata twey boozedog ] ++ lib.teams.flyingcircus.members; + meta.maintainers = + with maintainers; + [ + florianjacob + mmilata + twey + boozedog + ] + ++ lib.teams.flyingcircus.members; }; } diff --git a/nixos/tests/matrix/appservice-irc.nix b/nixos/tests/matrix/appservice-irc.nix index 41a6b005064fd..a44712cb98725 100644 --- a/nixos/tests/matrix/appservice-irc.nix +++ b/nixos/tests/matrix/appservice-irc.nix @@ -1,72 +1,79 @@ { pkgs, ... }: - let - homeserverUrl = "http://homeserver:8008"; - in - { - name = "matrix-appservice-irc"; - meta = { - maintainers = pkgs.matrix-appservice-irc.meta.maintainers; - }; - - nodes = { - homeserver = { - # We'll switch to this once the config is copied into place - specialisation.running.configuration = { - services.matrix-synapse = { - enable = true; - settings = { - database.name = "sqlite3"; - app_service_config_files = [ "/registration.yml" ]; +let + homeserverUrl = "http://homeserver:8008"; +in +{ + name = "matrix-appservice-irc"; + meta = { + maintainers = pkgs.matrix-appservice-irc.meta.maintainers; + }; + + nodes = { + homeserver = { + # We'll switch to this once the config is copied into place + specialisation.running.configuration = { + services.matrix-synapse = { + enable = true; + settings = { + database.name = "sqlite3"; + app_service_config_files = [ "/registration.yml" ]; - enable_registration = true; + enable_registration = true; - # don't use this in production, always use some form of verification - enable_registration_without_verification = true; + # don't use this in production, always use some form of verification + enable_registration_without_verification = true; - listeners = [ { + listeners = [ + { # The default but tls=false bind_addresses = [ "0.0.0.0" ]; port = 8008; - resources = [ { - "compress" = true; - "names" = [ "client" ]; - } { - "compress" = false; - "names" = [ "federation" ]; - } ]; + resources = [ + { + "compress" = true; + "names" = [ "client" ]; + } + { + "compress" = false; + "names" = [ "federation" ]; + } + ]; tls = false; type = "http"; - } ]; - }; + } + ]; }; - - networking.firewall.allowedTCPPorts = [ 8008 ]; }; + + networking.firewall.allowedTCPPorts = [ 8008 ]; }; + }; - ircd = { - services.ngircd = { - enable = true; - config = '' - [Global] - Name = ircd.ircd - Info = Server Info Text - AdminInfo1 = _ - - [Channel] - Name = #test - Topic = a cool place - - [Options] - PAM = no - ''; - }; - networking.firewall.allowedTCPPorts = [ 6667 ]; + ircd = { + services.ngircd = { + enable = true; + config = '' + [Global] + Name = ircd.ircd + Info = Server Info Text + AdminInfo1 = _ + + [Channel] + Name = #test + Topic = a cool place + + [Options] + PAM = no + ''; }; + networking.firewall.allowedTCPPorts = [ 6667 ]; + }; - appservice = { pkgs, ... }: { + appservice = + { pkgs, ... }: + { services.matrix-appservice-irc = { enable = true; registrationUrl = "http://appservice:8009"; @@ -95,18 +102,21 @@ networking.firewall.allowedTCPPorts = [ 8009 ]; }; - client = { pkgs, ... }: { + client = + { pkgs, ... }: + { environment.systemPackages = [ (pkgs.writers.writePython3Bin "do_test" - { - libraries = [ pkgs.python3Packages.matrix-nio ]; - flakeIgnore = [ - # We don't live in the dark ages anymore. - # Languages like Python that are whitespace heavy will overrun - # 79 characters.. - "E501" - ]; - } '' + { + libraries = [ pkgs.python3Packages.matrix-nio ]; + flakeIgnore = [ + # We don't live in the dark ages anymore. + # Languages like Python that are whitespace heavy will overrun + # 79 characters.. + "E501" + ]; + } + '' import sys import socket import functools @@ -195,39 +205,39 @@ ) ]; }; - }; - - testScript = '' - import pathlib - import os - - start_all() - - ircd.wait_for_unit("ngircd.service") - ircd.wait_for_open_port(6667) - - with subtest("start the appservice"): - appservice.wait_for_unit("matrix-appservice-irc.service") - appservice.wait_for_open_port(8009) - appservice.wait_for_file("/var/lib/matrix-appservice-irc/media-signingkey.jwk") - appservice.wait_for_open_port(11111) - - with subtest("copy the registration file"): - appservice.copy_from_vm("/var/lib/matrix-appservice-irc/registration.yml") - homeserver.copy_from_host( - str(pathlib.Path(os.environ.get("out", os.getcwd())) / "registration.yml"), "/" - ) - homeserver.succeed("chmod 444 /registration.yml") - - with subtest("start the homeserver"): - homeserver.succeed( - "/run/current-system/specialisation/running/bin/switch-to-configuration test >&2" - ) - - homeserver.wait_for_unit("matrix-synapse.service") - homeserver.wait_for_open_port(8008) - - with subtest("ensure messages can be exchanged"): - client.succeed("do_test ${homeserverUrl} >&2") - ''; - } + }; + + testScript = '' + import pathlib + import os + + start_all() + + ircd.wait_for_unit("ngircd.service") + ircd.wait_for_open_port(6667) + + with subtest("start the appservice"): + appservice.wait_for_unit("matrix-appservice-irc.service") + appservice.wait_for_open_port(8009) + appservice.wait_for_file("/var/lib/matrix-appservice-irc/media-signingkey.jwk") + appservice.wait_for_open_port(11111) + + with subtest("copy the registration file"): + appservice.copy_from_vm("/var/lib/matrix-appservice-irc/registration.yml") + homeserver.copy_from_host( + str(pathlib.Path(os.environ.get("out", os.getcwd())) / "registration.yml"), "/" + ) + homeserver.succeed("chmod 444 /registration.yml") + + with subtest("start the homeserver"): + homeserver.succeed( + "/run/current-system/specialisation/running/bin/switch-to-configuration test >&2" + ) + + homeserver.wait_for_unit("matrix-synapse.service") + homeserver.wait_for_open_port(8008) + + with subtest("ensure messages can be exchanged"): + client.succeed("do_test ${homeserverUrl} >&2") + ''; +} diff --git a/nixos/tests/matrix/conduit.nix b/nixos/tests/matrix/conduit.nix index 2b81c23598eba..b38549b23ab45 100644 --- a/nixos/tests/matrix/conduit.nix +++ b/nixos/tests/matrix/conduit.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ pkgs, ... }: +import ../make-test-python.nix ( + { pkgs, ... }: let name = "conduit"; in @@ -27,11 +28,11 @@ import ../make-test-python.nix ({ pkgs, ... }: }; networking.firewall.allowedTCPPorts = [ 80 ]; }; - client = { pkgs, ... }: { - environment.systemPackages = [ - ( - pkgs.writers.writePython3Bin "do_test" - { libraries = [ pkgs.python3Packages.matrix-nio ]; } '' + client = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "do_test" { libraries = [ pkgs.python3Packages.matrix-nio ]; } '' import asyncio from nio import AsyncClient @@ -78,10 +79,9 @@ import ../make-test-python.nix ({ pkgs, ... }: await client.close() asyncio.get_event_loop().run_until_complete(main()) - '' - ) - ]; - }; + '') + ]; + }; }; testScript = '' @@ -94,4 +94,5 @@ import ../make-test-python.nix ({ pkgs, ... }: with subtest("ensure messages can be exchanged"): client.succeed("do_test") ''; - }) + } +) diff --git a/nixos/tests/matrix/dendrite.nix b/nixos/tests/matrix/dendrite.nix index 82e71d912130d..9796423a5bb74 100644 --- a/nixos/tests/matrix/dendrite.nix +++ b/nixos/tests/matrix/dendrite.nix @@ -1,101 +1,102 @@ import ../make-test-python.nix ( { pkgs, ... }: - let - homeserverUrl = "http://homeserver:8008"; - - private_key = pkgs.runCommand "matrix_key.pem" { - buildInputs = [ pkgs.dendrite ]; - } "generate-keys --private-key $out"; - in - { - name = "dendrite"; - meta = with pkgs.lib; { - maintainers = teams.matrix.members; - }; - - nodes = { - homeserver = { pkgs, ... }: { - services.dendrite = { - enable = true; - loadCredential = [ "test_private_key:${private_key}" ]; - openRegistration = true; - settings = { - global.server_name = "test-dendrite-server.com"; - global.private_key = "$CREDENTIALS_DIRECTORY/test_private_key"; - client_api.registration_disabled = false; - }; + let + homeserverUrl = "http://homeserver:8008"; + + private_key = pkgs.runCommand "matrix_key.pem" { + buildInputs = [ pkgs.dendrite ]; + } "generate-keys --private-key $out"; + in + { + name = "dendrite"; + meta = with pkgs.lib; { + maintainers = teams.matrix.members; + }; + + nodes = { + homeserver = + { pkgs, ... }: + { + services.dendrite = { + enable = true; + loadCredential = [ "test_private_key:${private_key}" ]; + openRegistration = true; + settings = { + global.server_name = "test-dendrite-server.com"; + global.private_key = "$CREDENTIALS_DIRECTORY/test_private_key"; + client_api.registration_disabled = false; }; - - networking.firewall.allowedTCPPorts = [ 8008 ]; }; - client = { pkgs, ... }: { - environment.systemPackages = [ - ( - pkgs.writers.writePython3Bin "do_test" - { libraries = [ pkgs.python3Packages.matrix-nio ]; } '' - import asyncio + networking.firewall.allowedTCPPorts = [ 8008 ]; + }; - from nio import AsyncClient + client = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "do_test" { libraries = [ pkgs.python3Packages.matrix-nio ]; } '' + import asyncio + from nio import AsyncClient - async def main() -> None: - # Connect to dendrite - client = AsyncClient("http://homeserver:8008", "alice") - # Register as user alice - response = await client.register("alice", "my-secret-password") + async def main() -> None: + # Connect to dendrite + client = AsyncClient("http://homeserver:8008", "alice") - # Log in as user alice - response = await client.login("my-secret-password") + # Register as user alice + response = await client.register("alice", "my-secret-password") - # Create a new room - response = await client.room_create(federate=False) - room_id = response.room_id + # Log in as user alice + response = await client.login("my-secret-password") - # Join the room - response = await client.join(room_id) + # Create a new room + response = await client.room_create(federate=False) + room_id = response.room_id - # Send a message to the room - response = await client.room_send( - room_id=room_id, - message_type="m.room.message", - content={ - "msgtype": "m.text", - "body": "Hello world!" - } - ) + # Join the room + response = await client.join(room_id) - # Sync responses - response = await client.sync(timeout=30000) + # Send a message to the room + response = await client.room_send( + room_id=room_id, + message_type="m.room.message", + content={ + "msgtype": "m.text", + "body": "Hello world!" + } + ) - # Check the message was received by dendrite - last_message = response.rooms.join[room_id].timeline.events[-1].body - assert last_message == "Hello world!" + # Sync responses + response = await client.sync(timeout=30000) - # Leave the room - response = await client.room_leave(room_id) + # Check the message was received by dendrite + last_message = response.rooms.join[room_id].timeline.events[-1].body + assert last_message == "Hello world!" - # Close the client - await client.close() + # Leave the room + response = await client.room_leave(room_id) - asyncio.get_event_loop().run_until_complete(main()) - '' - ) - ]; - }; + # Close the client + await client.close() + + asyncio.get_event_loop().run_until_complete(main()) + '') + ]; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("start the homeserver"): - homeserver.wait_for_unit("dendrite.service") - homeserver.wait_for_open_port(8008) + with subtest("start the homeserver"): + homeserver.wait_for_unit("dendrite.service") + homeserver.wait_for_open_port(8008) - with subtest("ensure messages can be exchanged"): - client.succeed("do_test") - ''; + with subtest("ensure messages can be exchanged"): + client.succeed("do_test") + ''; - } + } ) diff --git a/nixos/tests/matrix/mautrix-meta-postgres.nix b/nixos/tests/matrix/mautrix-meta-postgres.nix index c9a45788afaf6..99ed56477df32 100644 --- a/nixos/tests/matrix/mautrix-meta-postgres.nix +++ b/nixos/tests/matrix/mautrix-meta-postgres.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ pkgs, ... }: +import ../make-test-python.nix ( + { pkgs, ... }: let homeserverDomain = "server"; homeserverUrl = "http://server:8008"; @@ -13,145 +14,158 @@ import ../make-test-python.nix ({ pkgs, ... }: meta.maintainers = pkgs.mautrix-meta.meta.maintainers; nodes = { - server = { config, pkgs, ... }: { - services.postgresql = { - enable = true; - - ensureUsers = [ - { - name = "mautrix-meta-instagram"; - ensureDBOwnership = true; - } - ]; - - ensureDatabases = [ - "mautrix-meta-instagram" - ]; - }; - - systemd.services.mautrix-meta-instagram = { - wants = [ "postgres.service" ]; - after = [ "postgres.service" ]; - }; - - services.matrix-synapse = { - enable = true; - settings = { - database.name = "sqlite3"; + server = + { config, pkgs, ... }: + { + services.postgresql = { + enable = true; + + ensureUsers = [ + { + name = "mautrix-meta-instagram"; + ensureDBOwnership = true; + } + ]; - enable_registration = true; + ensureDatabases = [ + "mautrix-meta-instagram" + ]; + }; - # don't use this in production, always use some form of verification - enable_registration_without_verification = true; + systemd.services.mautrix-meta-instagram = { + wants = [ "postgres.service" ]; + after = [ "postgres.service" ]; + }; - listeners = [ { - # The default but tls=false - bind_addresses = [ - "0.0.0.0" + services.matrix-synapse = { + enable = true; + settings = { + database.name = "sqlite3"; + + enable_registration = true; + + # don't use this in production, always use some form of verification + enable_registration_without_verification = true; + + listeners = [ + { + # The default but tls=false + bind_addresses = [ + "0.0.0.0" + ]; + port = 8008; + resources = [ + { + "compress" = true; + "names" = [ "client" ]; + } + { + "compress" = false; + "names" = [ "federation" ]; + } + ]; + tls = false; + type = "http"; + } ]; - port = 8008; - resources = [ { - "compress" = true; - "names" = [ "client" ]; - } { - "compress" = false; - "names" = [ "federation" ]; - } ]; - tls = false; - type = "http"; - } ]; + }; }; - }; - services.mautrix-meta.instances.instagram = { - enable = true; + services.mautrix-meta.instances.instagram = { + enable = true; - environmentFile = pkgs.writeText ''my-secrets'' '' - AS_TOKEN=${asToken} - HS_TOKEN=${hsToken} - ''; + environmentFile = pkgs.writeText ''my-secrets'' '' + AS_TOKEN=${asToken} + HS_TOKEN=${hsToken} + ''; - settings = { - homeserver = { - address = homeserverUrl; - domain = homeserverDomain; - }; + settings = { + homeserver = { + address = homeserverUrl; + domain = homeserverDomain; + }; - appservice = { - port = 8009; + appservice = { + port = 8009; - as_token = "$AS_TOKEN"; - hs_token = "$HS_TOKEN"; + as_token = "$AS_TOKEN"; + hs_token = "$HS_TOKEN"; - database = { - type = "postgres"; - uri = "postgres:///mautrix-meta-instagram?host=/var/run/postgresql"; + database = { + type = "postgres"; + uri = "postgres:///mautrix-meta-instagram?host=/var/run/postgresql"; + }; + + bot.username = botUserName; }; - bot.username = botUserName; + bridge.permissions."@${userName}:server" = "user"; }; - - bridge.permissions."@${userName}:server" = "user"; }; - }; - - networking.firewall.allowedTCPPorts = [ 8008 8009 ]; - }; - - client = { pkgs, ... }: { - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "do_test" - { - libraries = [ pkgs.python3Packages.matrix-nio ]; - flakeIgnore = [ - # We don't live in the dark ages anymore. - # Languages like Python that are whitespace heavy will overrun - # 79 characters.. - "E501" - ]; - } '' - import sys - import functools - import asyncio - - from nio import AsyncClient, RoomMessageNotice, RoomCreateResponse, RoomInviteResponse - - - async def message_callback(matrix: AsyncClient, msg: str, _r, e): - print("Received matrix text message: ", e) - assert msg in e.body - exit(0) # Success! - - - async def run(homeserver: str): - matrix = AsyncClient(homeserver) - response = await matrix.register("${userName}", "foobar") - print("Matrix register response: ", response) - - # Open a DM with the bridge bot - response = await matrix.room_create() - print("Matrix create room response:", response) - assert isinstance(response, RoomCreateResponse) - room_id = response.room_id - - response = await matrix.room_invite(room_id, "@${botUserName}:${homeserverDomain}") - assert isinstance(response, RoomInviteResponse) - - callback = functools.partial( - message_callback, matrix, "Hello, I'm an Instagram bridge bot." - ) - matrix.add_event_callback(callback, RoomMessageNotice) - - print("Waiting for matrix message...") - await matrix.sync_forever(timeout=30000) + networking.firewall.allowedTCPPorts = [ + 8008 + 8009 + ]; + }; - if __name__ == "__main__": - asyncio.run(run(sys.argv[1])) - '' - ) - ]; - }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "do_test" + { + libraries = [ pkgs.python3Packages.matrix-nio ]; + flakeIgnore = [ + # We don't live in the dark ages anymore. + # Languages like Python that are whitespace heavy will overrun + # 79 characters.. + "E501" + ]; + } + '' + import sys + import functools + import asyncio + + from nio import AsyncClient, RoomMessageNotice, RoomCreateResponse, RoomInviteResponse + + + async def message_callback(matrix: AsyncClient, msg: str, _r, e): + print("Received matrix text message: ", e) + assert msg in e.body + exit(0) # Success! + + + async def run(homeserver: str): + matrix = AsyncClient(homeserver) + response = await matrix.register("${userName}", "foobar") + print("Matrix register response: ", response) + + # Open a DM with the bridge bot + response = await matrix.room_create() + print("Matrix create room response:", response) + assert isinstance(response, RoomCreateResponse) + room_id = response.room_id + + response = await matrix.room_invite(room_id, "@${botUserName}:${homeserverDomain}") + assert isinstance(response, RoomInviteResponse) + + callback = functools.partial( + message_callback, matrix, "Hello, I'm an Instagram bridge bot." + ) + matrix.add_event_callback(callback, RoomMessageNotice) + + print("Waiting for matrix message...") + await matrix.sync_forever(timeout=30000) + + + if __name__ == "__main__": + asyncio.run(run(sys.argv[1])) + '' + ) + ]; + }; }; testScript = '' @@ -218,4 +232,5 @@ import ../make-test-python.nix ({ pkgs, ... }: assert as_token_registration == expected_as_token, f"as_token in registration should match the one specified (is: {as_token_registration}, expected: {expected_as_token})" assert hs_token_registration == expected_hs_token, f"hs_token in registration should match the one specified (is: {hs_token_registration}, expected: {expected_hs_token})" ''; - }) + } +) diff --git a/nixos/tests/matrix/mautrix-meta-sqlite.nix b/nixos/tests/matrix/mautrix-meta-sqlite.nix index b5e580620049a..ddd38e8f0b008 100644 --- a/nixos/tests/matrix/mautrix-meta-sqlite.nix +++ b/nixos/tests/matrix/mautrix-meta-sqlite.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ pkgs, ... }: +import ../make-test-python.nix ( + { pkgs, ... }: let homeserverDomain = "server"; homeserverUrl = "http://server:8008"; @@ -11,159 +12,170 @@ import ../make-test-python.nix ({ pkgs, ... }: meta.maintainers = pkgs.mautrix-meta.meta.maintainers; nodes = { - server = { config, pkgs, ... }: { - services.matrix-synapse = { - enable = true; - settings = { - database.name = "sqlite3"; - - enable_registration = true; - - # don't use this in production, always use some form of verification - enable_registration_without_verification = true; - - listeners = [ { - # The default but tls=false - bind_addresses = [ - "0.0.0.0" + server = + { config, pkgs, ... }: + { + services.matrix-synapse = { + enable = true; + settings = { + database.name = "sqlite3"; + + enable_registration = true; + + # don't use this in production, always use some form of verification + enable_registration_without_verification = true; + + listeners = [ + { + # The default but tls=false + bind_addresses = [ + "0.0.0.0" + ]; + port = 8008; + resources = [ + { + "compress" = true; + "names" = [ "client" ]; + } + { + "compress" = false; + "names" = [ "federation" ]; + } + ]; + tls = false; + type = "http"; + } ]; - port = 8008; - resources = [ { - "compress" = true; - "names" = [ "client" ]; - } { - "compress" = false; - "names" = [ "federation" ]; - } ]; - tls = false; - type = "http"; - } ]; + }; }; - }; - services.mautrix-meta.instances.facebook = { - enable = true; + services.mautrix-meta.instances.facebook = { + enable = true; - settings = { - homeserver = { - address = homeserverUrl; - domain = homeserverDomain; - }; + settings = { + homeserver = { + address = homeserverUrl; + domain = homeserverDomain; + }; - appservice = { - port = 8009; + appservice = { + port = 8009; - bot.username = facebookBotUsername; - }; + bot.username = facebookBotUsername; + }; - bridge.permissions."@${username}:server" = "user"; + bridge.permissions."@${username}:server" = "user"; + }; }; - }; - services.mautrix-meta.instances.instagram = { - enable = true; + services.mautrix-meta.instances.instagram = { + enable = true; - settings = { - homeserver = { - address = homeserverUrl; - domain = homeserverDomain; - }; + settings = { + homeserver = { + address = homeserverUrl; + domain = homeserverDomain; + }; - appservice = { - port = 8010; + appservice = { + port = 8010; - bot.username = instagramBotUsername; - }; + bot.username = instagramBotUsername; + }; - bridge.permissions."@${username}:server" = "user"; + bridge.permissions."@${username}:server" = "user"; + }; }; + + networking.firewall.allowedTCPPorts = [ 8008 ]; }; - networking.firewall.allowedTCPPorts = [ 8008 ]; - }; - - client = { pkgs, ... }: { - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "register_user" - { - libraries = [ pkgs.python3Packages.matrix-nio ]; - flakeIgnore = [ - # We don't live in the dark ages anymore. - # Languages like Python that are whitespace heavy will overrun - # 79 characters.. - "E501" - ]; - } '' - import sys - import asyncio - - from nio import AsyncClient - - - async def run(username: str, homeserver: str): - matrix = AsyncClient(homeserver) - - response = await matrix.register(username, "foobar") - print("Matrix register response: ", response) - - - if __name__ == "__main__": - asyncio.run(run(sys.argv[1], sys.argv[2])) - '' - ) - (pkgs.writers.writePython3Bin "do_test" - { - libraries = [ pkgs.python3Packages.matrix-nio ]; - flakeIgnore = [ - # We don't live in the dark ages anymore. - # Languages like Python that are whitespace heavy will overrun - # 79 characters.. - "E501" - ]; - } '' - import sys - import functools - import asyncio - - from nio import AsyncClient, RoomMessageNotice, RoomCreateResponse, RoomInviteResponse - - - async def message_callback(matrix: AsyncClient, msg: str, _r, e): - print("Received matrix text message: ", e) - assert msg in e.body - exit(0) # Success! - - - async def run(username: str, bot_username: str, homeserver: str): - matrix = AsyncClient(homeserver, f"@{username}:${homeserverDomain}") - - response = await matrix.login("foobar") - print("Matrix login response: ", response) - - # Open a DM with the bridge bot - response = await matrix.room_create() - print("Matrix create room response:", response) - assert isinstance(response, RoomCreateResponse) - room_id = response.room_id - - response = await matrix.room_invite(room_id, f"@{bot_username}:${homeserverDomain}") - assert isinstance(response, RoomInviteResponse) - - callback = functools.partial( - message_callback, matrix, "Hello, I'm an Instagram bridge bot." - ) - matrix.add_event_callback(callback, RoomMessageNotice) - - print("Waiting for matrix message...") - await matrix.sync_forever(timeout=30000) - - - if __name__ == "__main__": - asyncio.run(run(sys.argv[1], sys.argv[2], sys.argv[3])) - '' - ) - ]; - }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "register_user" + { + libraries = [ pkgs.python3Packages.matrix-nio ]; + flakeIgnore = [ + # We don't live in the dark ages anymore. + # Languages like Python that are whitespace heavy will overrun + # 79 characters.. + "E501" + ]; + } + '' + import sys + import asyncio + + from nio import AsyncClient + + + async def run(username: str, homeserver: str): + matrix = AsyncClient(homeserver) + + response = await matrix.register(username, "foobar") + print("Matrix register response: ", response) + + + if __name__ == "__main__": + asyncio.run(run(sys.argv[1], sys.argv[2])) + '' + ) + (pkgs.writers.writePython3Bin "do_test" + { + libraries = [ pkgs.python3Packages.matrix-nio ]; + flakeIgnore = [ + # We don't live in the dark ages anymore. + # Languages like Python that are whitespace heavy will overrun + # 79 characters.. + "E501" + ]; + } + '' + import sys + import functools + import asyncio + + from nio import AsyncClient, RoomMessageNotice, RoomCreateResponse, RoomInviteResponse + + + async def message_callback(matrix: AsyncClient, msg: str, _r, e): + print("Received matrix text message: ", e) + assert msg in e.body + exit(0) # Success! + + + async def run(username: str, bot_username: str, homeserver: str): + matrix = AsyncClient(homeserver, f"@{username}:${homeserverDomain}") + + response = await matrix.login("foobar") + print("Matrix login response: ", response) + + # Open a DM with the bridge bot + response = await matrix.room_create() + print("Matrix create room response:", response) + assert isinstance(response, RoomCreateResponse) + room_id = response.room_id + + response = await matrix.room_invite(room_id, f"@{bot_username}:${homeserverDomain}") + assert isinstance(response, RoomInviteResponse) + + callback = functools.partial( + message_callback, matrix, "Hello, I'm an Instagram bridge bot." + ) + matrix.add_event_callback(callback, RoomMessageNotice) + + print("Waiting for matrix message...") + await matrix.sync_forever(timeout=30000) + + + if __name__ == "__main__": + asyncio.run(run(sys.argv[1], sys.argv[2], sys.argv[3])) + '' + ) + ]; + }; }; testScript = '' @@ -244,4 +256,5 @@ import ../make-test-python.nix ({ pkgs, ... }: client.succeed("do_test ${username} ${instagramBotUsername} ${homeserverUrl} >&2") client.succeed("do_test ${username} ${facebookBotUsername} ${homeserverUrl} >&2") ''; - }) + } +) diff --git a/nixos/tests/matrix/mjolnir.nix b/nixos/tests/matrix/mjolnir.nix index 265b13821ebd8..67a53d045c2e1 100644 --- a/nixos/tests/matrix/mjolnir.nix +++ b/nixos/tests/matrix/mjolnir.nix @@ -2,11 +2,11 @@ import ../make-test-python.nix ( { pkgs, ... }: let # Set up SSL certs for Synapse to be happy. - runWithOpenSSL = file: cmd: pkgs.runCommand file - { + runWithOpenSSL = + file: cmd: + pkgs.runCommand file { buildInputs = [ pkgs.openssl ]; - } - cmd; + } cmd; ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; ca_pem = runWithOpenSSL "ca.pem" '' @@ -35,110 +35,121 @@ import ../make-test-python.nix ( }; nodes = { - homeserver = { pkgs, ... }: { - services.matrix-synapse = { - enable = true; - settings = { - database.name = "sqlite3"; - tls_certificate_path = "${cert}"; - tls_private_key_path = "${key}"; - enable_registration = true; - enable_registration_without_verification = true; - registration_shared_secret = "supersecret-registration"; - - listeners = [ { - # The default but tls=false - bind_addresses = [ - "0.0.0.0" + homeserver = + { pkgs, ... }: + { + services.matrix-synapse = { + enable = true; + settings = { + database.name = "sqlite3"; + tls_certificate_path = "${cert}"; + tls_private_key_path = "${key}"; + enable_registration = true; + enable_registration_without_verification = true; + registration_shared_secret = "supersecret-registration"; + + listeners = [ + { + # The default but tls=false + bind_addresses = [ + "0.0.0.0" + ]; + port = 8448; + resources = [ + { + compress = true; + names = [ "client" ]; + } + { + compress = false; + names = [ "federation" ]; + } + ]; + tls = false; + type = "http"; + x_forwarded = false; + } ]; - port = 8448; - resources = [ { - compress = true; - names = [ "client" ]; - } { - compress = false; - names = [ "federation" ]; - } ]; - tls = false; - type = "http"; - x_forwarded = false; - } ]; + }; }; + + networking.firewall.allowedTCPPorts = [ 8448 ]; + + environment.systemPackages = [ + (pkgs.writeShellScriptBin "register_mjolnir_user" '' + exec ${pkgs.matrix-synapse}/bin/register_new_matrix_user \ + -u mjolnir \ + -p mjolnir-password \ + --admin \ + --shared-secret supersecret-registration \ + http://localhost:8448 + '') + (pkgs.writeShellScriptBin "register_moderator_user" '' + exec ${pkgs.matrix-synapse}/bin/register_new_matrix_user \ + -u moderator \ + -p moderator-password \ + --no-admin \ + --shared-secret supersecret-registration \ + http://localhost:8448 + '') + ]; }; - networking.firewall.allowedTCPPorts = [ 8448 ]; - - environment.systemPackages = [ - (pkgs.writeShellScriptBin "register_mjolnir_user" '' - exec ${pkgs.matrix-synapse}/bin/register_new_matrix_user \ - -u mjolnir \ - -p mjolnir-password \ - --admin \ - --shared-secret supersecret-registration \ - http://localhost:8448 - '' - ) - (pkgs.writeShellScriptBin "register_moderator_user" '' - exec ${pkgs.matrix-synapse}/bin/register_new_matrix_user \ - -u moderator \ - -p moderator-password \ - --no-admin \ - --shared-secret supersecret-registration \ - http://localhost:8448 - '' - ) - ]; - }; - - mjolnir = { pkgs, ... }: { - services.mjolnir = { - enable = true; - homeserverUrl = "http://homeserver:8448"; - pantalaimon = { + mjolnir = + { pkgs, ... }: + { + services.mjolnir = { enable = true; - username = "mjolnir"; - passwordFile = pkgs.writeText "password.txt" "mjolnir-password"; - # otherwise mjolnir tries to connect to ::1, which is not listened by pantalaimon - options.listenAddress = "127.0.0.1"; + homeserverUrl = "http://homeserver:8448"; + pantalaimon = { + enable = true; + username = "mjolnir"; + passwordFile = pkgs.writeText "password.txt" "mjolnir-password"; + # otherwise mjolnir tries to connect to ::1, which is not listened by pantalaimon + options.listenAddress = "127.0.0.1"; + }; + managementRoom = "#moderators:homeserver"; }; - managementRoom = "#moderators:homeserver"; }; - }; - client = { pkgs, ... }: { - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "create_management_room_and_invite_mjolnir" - { libraries = with pkgs.python3Packages; [ - (matrix-nio.override { withOlm = true; }) - ]; - } '' - import asyncio - - from nio import ( - AsyncClient, - EnableEncryptionBuilder - ) + client = + { pkgs, ... }: + { + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "create_management_room_and_invite_mjolnir" + { + libraries = with pkgs.python3Packages; [ + (matrix-nio.override { withOlm = true; }) + ]; + } + '' + import asyncio + + from nio import ( + AsyncClient, + EnableEncryptionBuilder + ) - async def main() -> None: - client = AsyncClient("http://homeserver:8448", "moderator") + async def main() -> None: + client = AsyncClient("http://homeserver:8448", "moderator") - await client.login("moderator-password") + await client.login("moderator-password") - room = await client.room_create( - name="Moderators", - alias="moderators", - initial_state=[EnableEncryptionBuilder().as_dict()], - ) + room = await client.room_create( + name="Moderators", + alias="moderators", + initial_state=[EnableEncryptionBuilder().as_dict()], + ) - await client.join(room.room_id) - await client.room_invite(room.room_id, "@mjolnir:homeserver") + await client.join(room.room_id) + await client.room_invite(room.room_id, "@mjolnir:homeserver") - asyncio.run(main()) - '' - ) - ]; - }; + asyncio.run(main()) + '' + ) + ]; + }; }; testScript = '' diff --git a/nixos/tests/matrix/pantalaimon.nix b/nixos/tests/matrix/pantalaimon.nix index b5d649e6517aa..6ff4cf8cda064 100644 --- a/nixos/tests/matrix/pantalaimon.nix +++ b/nixos/tests/matrix/pantalaimon.nix @@ -4,11 +4,11 @@ import ../make-test-python.nix ( pantalaimonInstanceName = "testing"; # Set up SSL certs for Synapse to be happy. - runWithOpenSSL = file: cmd: pkgs.runCommand file - { + runWithOpenSSL = + file: cmd: + pkgs.runCommand file { buildInputs = [ pkgs.openssl ]; - } - cmd; + } cmd; ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; ca_pem = runWithOpenSSL "ca.pem" '' @@ -36,45 +36,52 @@ import ../make-test-python.nix ( maintainers = teams.matrix.members; }; - nodes.machine = { pkgs, ... }: { - services.pantalaimon-headless.instances.${pantalaimonInstanceName} = { - homeserver = "https://localhost:8448"; - listenAddress = "0.0.0.0"; - listenPort = 8888; - logLevel = "debug"; - ssl = false; - }; + nodes.machine = + { pkgs, ... }: + { + services.pantalaimon-headless.instances.${pantalaimonInstanceName} = { + homeserver = "https://localhost:8448"; + listenAddress = "0.0.0.0"; + listenPort = 8888; + logLevel = "debug"; + ssl = false; + }; - services.matrix-synapse = { - enable = true; - settings = { - listeners = [ { - port = 8448; - bind_addresses = [ - "127.0.0.1" - "::1" + services.matrix-synapse = { + enable = true; + settings = { + listeners = [ + { + port = 8448; + bind_addresses = [ + "127.0.0.1" + "::1" + ]; + type = "http"; + tls = true; + x_forwarded = false; + resources = [ + { + names = [ + "client" + ]; + compress = true; + } + { + names = [ + "federation" + ]; + compress = false; + } + ]; + } ]; - type = "http"; - tls = true; - x_forwarded = false; - resources = [ { - names = [ - "client" - ]; - compress = true; - } { - names = [ - "federation" - ]; - compress = false; - } ]; - } ]; - database.name = "sqlite3"; - tls_certificate_path = "${cert}"; - tls_private_key_path = "${key}"; + database.name = "sqlite3"; + tls_certificate_path = "${cert}"; + tls_private_key_path = "${key}"; + }; }; }; - }; testScript = '' start_all() diff --git a/nixos/tests/matrix/synapse-workers.nix b/nixos/tests/matrix/synapse-workers.nix index e90301aeae9e4..10b72da70d43a 100644 --- a/nixos/tests/matrix/synapse-workers.nix +++ b/nixos/tests/matrix/synapse-workers.nix @@ -1,50 +1,55 @@ -import ../make-test-python.nix ({ pkgs, ... }: { - name = "matrix-synapse-workers"; - meta = with pkgs.lib; { - maintainers = teams.matrix.members; - }; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "matrix-synapse-workers"; + meta = with pkgs.lib; { + maintainers = teams.matrix.members; + }; - nodes = { - homeserver = - { pkgs - , nodes - , ... - }: { - services.postgresql = { - enable = true; - initialScript = pkgs.writeText "synapse-init.sql" '' - CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; - CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" - TEMPLATE template0 - LC_COLLATE = "C" - LC_CTYPE = "C"; - ''; - }; + nodes = { + homeserver = + { + pkgs, + nodes, + ... + }: + { + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "synapse-init.sql" '' + CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; + CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" + TEMPLATE template0 + LC_COLLATE = "C" + LC_CTYPE = "C"; + ''; + }; - services.matrix-synapse = { - enable = true; - settings = { - database = { - name = "psycopg2"; - args.password = "synapse"; - }; - enable_registration = true; - enable_registration_without_verification = true; + services.matrix-synapse = { + enable = true; + settings = { + database = { + name = "psycopg2"; + args.password = "synapse"; + }; + enable_registration = true; + enable_registration_without_verification = true; - federation_sender_instances = [ "federation_sender" ]; - }; - configureRedisLocally = true; - workers = { - "federation_sender" = { }; + federation_sender_instances = [ "federation_sender" ]; + }; + configureRedisLocally = true; + workers = { + "federation_sender" = { }; + }; }; }; - }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - homeserver.wait_for_unit("matrix-synapse.service"); - homeserver.wait_for_unit("matrix-synapse-worker-federation_sender.service"); - ''; -}) + homeserver.wait_for_unit("matrix-synapse.service"); + homeserver.wait_for_unit("matrix-synapse-worker-federation_sender.service"); + ''; + } +) diff --git a/nixos/tests/matrix/synapse.nix b/nixos/tests/matrix/synapse.nix index 8c10a575ffbd3..96454491a7a48 100644 --- a/nixos/tests/matrix/synapse.nix +++ b/nixos/tests/matrix/synapse.nix @@ -1,218 +1,248 @@ -import ../make-test-python.nix ({ pkgs, ... } : let - - ca_key = mailerCerts.ca.key; - ca_pem = mailerCerts.ca.cert; - - bundle = pkgs.runCommand "bundle" { - nativeBuildInputs = [ pkgs.minica ]; - } '' - minica -ca-cert ${ca_pem} -ca-key ${ca_key} \ - -domains localhost - install -Dm444 -t $out localhost/{key,cert}.pem - ''; - - mailerCerts = import ../common/acme/server/snakeoil-certs.nix; - mailerDomain = mailerCerts.domain; - registrationSharedSecret = "unsecure123"; - testUser = "alice"; - testPassword = "alicealice"; - testEmail = "alice@example.com"; - - listeners = [ { - port = 8448; - bind_addresses = [ - "127.0.0.1" - "::1" +import ../make-test-python.nix ( + { pkgs, ... }: + let + + ca_key = mailerCerts.ca.key; + ca_pem = mailerCerts.ca.cert; + + bundle = + pkgs.runCommand "bundle" + { + nativeBuildInputs = [ pkgs.minica ]; + } + '' + minica -ca-cert ${ca_pem} -ca-key ${ca_key} \ + -domains localhost + install -Dm444 -t $out localhost/{key,cert}.pem + ''; + + mailerCerts = import ../common/acme/server/snakeoil-certs.nix; + mailerDomain = mailerCerts.domain; + registrationSharedSecret = "unsecure123"; + testUser = "alice"; + testPassword = "alicealice"; + testEmail = "alice@example.com"; + + listeners = [ + { + port = 8448; + bind_addresses = [ + "127.0.0.1" + "::1" + ]; + type = "http"; + tls = true; + x_forwarded = false; + resources = [ + { + names = [ + "client" + ]; + compress = true; + } + { + names = [ + "federation" + ]; + compress = false; + } + ]; + } ]; - type = "http"; - tls = true; - x_forwarded = false; - resources = [ { - names = [ - "client" - ]; - compress = true; - } { - names = [ - "federation" - ]; - compress = false; - } ]; - } ]; - -in { - - name = "matrix-synapse"; - meta = with pkgs.lib; { - maintainers = teams.matrix.members; - }; - - nodes = { - # Since 0.33.0, matrix-synapse doesn't allow underscores in server names - serverpostgres = { pkgs, nodes, config, ... }: let - mailserverIP = nodes.mailserver.config.networking.primaryIPAddress; - in - { - services.matrix-synapse = { - enable = true; - settings = { - inherit listeners; - database = { - name = "psycopg2"; - args.password = "synapse"; - }; - redis = { - enabled = true; - host = "localhost"; - port = config.services.redis.servers.matrix-synapse.port; + + in + { + + name = "matrix-synapse"; + meta = with pkgs.lib; { + maintainers = teams.matrix.members; + }; + + nodes = { + # Since 0.33.0, matrix-synapse doesn't allow underscores in server names + serverpostgres = + { + pkgs, + nodes, + config, + ... + }: + let + mailserverIP = nodes.mailserver.config.networking.primaryIPAddress; + in + { + services.matrix-synapse = { + enable = true; + settings = { + inherit listeners; + database = { + name = "psycopg2"; + args.password = "synapse"; + }; + redis = { + enabled = true; + host = "localhost"; + port = config.services.redis.servers.matrix-synapse.port; + }; + tls_certificate_path = "${bundle}/cert.pem"; + tls_private_key_path = "${bundle}/key.pem"; + registration_shared_secret = registrationSharedSecret; + public_baseurl = "https://example.com"; + email = { + smtp_host = mailerDomain; + smtp_port = 25; + require_transport_security = true; + notif_from = "matrix <matrix@${mailerDomain}>"; + app_name = "Matrix"; + }; + }; }; - tls_certificate_path = "${bundle}/cert.pem"; - tls_private_key_path = "${bundle}/key.pem"; - registration_shared_secret = registrationSharedSecret; - public_baseurl = "https://example.com"; - email = { - smtp_host = mailerDomain; - smtp_port = 25; - require_transport_security = true; - notif_from = "matrix <matrix@${mailerDomain}>"; - app_name = "Matrix"; + services.postgresql = { + enable = true; + + # The database name and user are configured by the following options: + # - services.matrix-synapse.database_name + # - services.matrix-synapse.database_user + # + # The values used here represent the default values of the module. + initialScript = pkgs.writeText "synapse-init.sql" '' + CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; + CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" + TEMPLATE template0 + LC_COLLATE = "C" + LC_CTYPE = "C"; + ''; }; - }; - }; - services.postgresql = { - enable = true; - - # The database name and user are configured by the following options: - # - services.matrix-synapse.database_name - # - services.matrix-synapse.database_user - # - # The values used here represent the default values of the module. - initialScript = pkgs.writeText "synapse-init.sql" '' - CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; - CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" - TEMPLATE template0 - LC_COLLATE = "C" - LC_CTYPE = "C"; - ''; - }; - services.redis.servers.matrix-synapse = { - enable = true; - port = 6380; - }; + services.redis.servers.matrix-synapse = { + enable = true; + port = 6380; + }; - networking.extraHosts = '' - ${mailserverIP} ${mailerDomain} - ''; - - security.pki.certificateFiles = [ - mailerCerts.ca.cert ca_pem - ]; - - environment.systemPackages = let - sendTestMailStarttls = pkgs.writeScriptBin "send-testmail-starttls" '' - #!${pkgs.python3.interpreter} - import smtplib - import ssl - - ctx = ssl.create_default_context() - - with smtplib.SMTP('${mailerDomain}') as smtp: - smtp.ehlo() - smtp.starttls(context=ctx) - smtp.ehlo() - smtp.sendmail('matrix@${mailerDomain}', '${testEmail}', 'Subject: Test STARTTLS\n\nTest data.') - smtp.quit() - ''; - - obtainTokenAndRegisterEmail = let - # adding the email through the API is quite complicated as it involves more than one step and some - # client-side calculation - insertEmailForAlice = pkgs.writeText "alice-email.sql" '' - INSERT INTO user_threepids (user_id, medium, address, validated_at, added_at) VALUES ('${testUser}@serverpostgres', 'email', '${testEmail}', '1629149927271', '1629149927270'); + networking.extraHosts = '' + ${mailserverIP} ${mailerDomain} ''; - in - pkgs.writeScriptBin "obtain-token-and-register-email" '' - #!${pkgs.runtimeShell} - set -o errexit - set -o pipefail - set -o nounset - su postgres -c "psql -d matrix-synapse -f ${insertEmailForAlice}" - curl --fail -XPOST 'https://localhost:8448/_matrix/client/r0/account/password/email/requestToken' -d '{"email":"${testEmail}","client_secret":"foobar","send_attempt":1}' -v - ''; - in [ sendTestMailStarttls pkgs.matrix-synapse obtainTokenAndRegisterEmail ]; - }; - # test mail delivery - mailserver = args: let - in - { - security.pki.certificateFiles = [ - mailerCerts.ca.cert - ]; - - networking.firewall.enable = false; - - services.postfix = { - enable = true; - hostname = "${mailerDomain}"; - # open relay for subnet - networksStyle = "subnet"; - enableSubmission = true; - tlsTrustedAuthorities = "${mailerCerts.ca.cert}"; - sslCert = "${mailerCerts.${mailerDomain}.cert}"; - sslKey = "${mailerCerts.${mailerDomain}.key}"; - - # blackhole transport - transport = "example.com discard:silently"; - - config = { - debug_peer_level = "10"; - smtpd_relay_restrictions = [ - "permit_mynetworks" "reject_unauth_destination" + security.pki.certificateFiles = [ + mailerCerts.ca.cert + ca_pem ]; - # disable obsolete protocols, something old versions of twisted are still using - smtpd_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; - smtp_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; - smtpd_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; - smtp_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; + environment.systemPackages = + let + sendTestMailStarttls = pkgs.writeScriptBin "send-testmail-starttls" '' + #!${pkgs.python3.interpreter} + import smtplib + import ssl + + ctx = ssl.create_default_context() + + with smtplib.SMTP('${mailerDomain}') as smtp: + smtp.ehlo() + smtp.starttls(context=ctx) + smtp.ehlo() + smtp.sendmail('matrix@${mailerDomain}', '${testEmail}', 'Subject: Test STARTTLS\n\nTest data.') + smtp.quit() + ''; + + obtainTokenAndRegisterEmail = + let + # adding the email through the API is quite complicated as it involves more than one step and some + # client-side calculation + insertEmailForAlice = pkgs.writeText "alice-email.sql" '' + INSERT INTO user_threepids (user_id, medium, address, validated_at, added_at) VALUES ('${testUser}@serverpostgres', 'email', '${testEmail}', '1629149927271', '1629149927270'); + ''; + in + pkgs.writeScriptBin "obtain-token-and-register-email" '' + #!${pkgs.runtimeShell} + set -o errexit + set -o pipefail + set -o nounset + su postgres -c "psql -d matrix-synapse -f ${insertEmailForAlice}" + curl --fail -XPOST 'https://localhost:8448/_matrix/client/r0/account/password/email/requestToken' -d '{"email":"${testEmail}","client_secret":"foobar","send_attempt":1}' -v + ''; + in + [ + sendTestMailStarttls + pkgs.matrix-synapse + obtainTokenAndRegisterEmail + ]; }; - }; - }; - serversqlite = args: { - services.matrix-synapse = { - enable = true; - settings = { - inherit listeners; - database.name = "sqlite3"; - tls_certificate_path = "${bundle}/cert.pem"; - tls_private_key_path = "${bundle}/key.pem"; + # test mail delivery + mailserver = + args: + let + in + { + security.pki.certificateFiles = [ + mailerCerts.ca.cert + ]; + + networking.firewall.enable = false; + + services.postfix = { + enable = true; + hostname = "${mailerDomain}"; + # open relay for subnet + networksStyle = "subnet"; + enableSubmission = true; + tlsTrustedAuthorities = "${mailerCerts.ca.cert}"; + sslCert = "${mailerCerts.${mailerDomain}.cert}"; + sslKey = "${mailerCerts.${mailerDomain}.key}"; + + # blackhole transport + transport = "example.com discard:silently"; + + config = { + debug_peer_level = "10"; + smtpd_relay_restrictions = [ + "permit_mynetworks" + "reject_unauth_destination" + ]; + + # disable obsolete protocols, something old versions of twisted are still using + smtpd_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; + smtp_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; + smtpd_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; + smtp_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3"; + }; + }; + }; + + serversqlite = args: { + services.matrix-synapse = { + enable = true; + settings = { + inherit listeners; + database.name = "sqlite3"; + tls_certificate_path = "${bundle}/cert.pem"; + tls_private_key_path = "${bundle}/key.pem"; + }; }; }; }; - }; - - testScript = '' - start_all() - mailserver.wait_for_unit("postfix.service") - serverpostgres.succeed("send-testmail-starttls") - serverpostgres.wait_for_unit("matrix-synapse.service") - serverpostgres.wait_until_succeeds( - "curl --fail -L --cacert ${ca_pem} https://localhost:8448/" - ) - serverpostgres.wait_until_succeeds( - "journalctl -u matrix-synapse.service | grep -q 'Connected to redis'" - ) - serverpostgres.require_unit_state("postgresql.service") - serverpostgres.succeed("REQUESTS_CA_BUNDLE=${ca_pem} register_new_matrix_user -u ${testUser} -p ${testPassword} -a -k ${registrationSharedSecret} https://localhost:8448/") - serverpostgres.succeed("obtain-token-and-register-email") - serversqlite.wait_for_unit("matrix-synapse.service") - serversqlite.wait_until_succeeds( - "curl --fail -L --cacert ${ca_pem} https://localhost:8448/" - ) - serversqlite.succeed("[ -e /var/lib/matrix-synapse/homeserver.db ]") - ''; - -}) + + testScript = '' + start_all() + mailserver.wait_for_unit("postfix.service") + serverpostgres.succeed("send-testmail-starttls") + serverpostgres.wait_for_unit("matrix-synapse.service") + serverpostgres.wait_until_succeeds( + "curl --fail -L --cacert ${ca_pem} https://localhost:8448/" + ) + serverpostgres.wait_until_succeeds( + "journalctl -u matrix-synapse.service | grep -q 'Connected to redis'" + ) + serverpostgres.require_unit_state("postgresql.service") + serverpostgres.succeed("REQUESTS_CA_BUNDLE=${ca_pem} register_new_matrix_user -u ${testUser} -p ${testPassword} -a -k ${registrationSharedSecret} https://localhost:8448/") + serverpostgres.succeed("obtain-token-and-register-email") + serversqlite.wait_for_unit("matrix-synapse.service") + serversqlite.wait_until_succeeds( + "curl --fail -L --cacert ${ca_pem} https://localhost:8448/" + ) + serversqlite.succeed("[ -e /var/lib/matrix-synapse/homeserver.db ]") + ''; + + } +) diff --git a/nixos/tests/matter-server.nix b/nixos/tests/matter-server.nix index c646e9840d194..3337ea3cf66ad 100644 --- a/nixos/tests/matter-server.nix +++ b/nixos/tests/matter-server.nix @@ -1,45 +1,50 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : - -let - chipVersion = pkgs.python311Packages.home-assistant-chip-core.version; -in - -{ - name = "matter-server"; - meta.maintainers = with lib.maintainers; [ leonm1 ]; - - nodes = { - machine = { config, ... }: { - services.matter-server = { - enable = true; - port = 1234; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + chipVersion = pkgs.python311Packages.home-assistant-chip-core.version; + in + + { + name = "matter-server"; + meta.maintainers = with lib.maintainers; [ leonm1 ]; + + nodes = { + machine = + { config, ... }: + { + services.matter-server = { + enable = true; + port = 1234; + }; + }; }; - }; - testScript = /* python */ '' - start_all() + testScript = # python + '' + start_all() - machine.wait_for_unit("matter-server.service") - machine.wait_for_open_port(1234) + machine.wait_for_unit("matter-server.service") + machine.wait_for_open_port(1234) - with subtest("Check websocket server initialized"): - output = machine.succeed("echo \"\" | ${pkgs.websocat}/bin/websocat ws://localhost:1234/ws") - machine.log(output) + with subtest("Check websocket server initialized"): + output = machine.succeed("echo \"\" | ${pkgs.websocat}/bin/websocat ws://localhost:1234/ws") + machine.log(output) - assert '"sdk_version": "${chipVersion}"' in output, ( - 'CHIP version \"${chipVersion}\" not present in websocket message' - ) + assert '"sdk_version": "${chipVersion}"' in output, ( + 'CHIP version \"${chipVersion}\" not present in websocket message' + ) - assert '"fabric_id": 1' in output, ( - "fabric_id not propagated to server" - ) + assert '"fabric_id": 1' in output, ( + "fabric_id not propagated to server" + ) - with subtest("Check storage directory is created"): - machine.succeed("ls /var/lib/matter-server/chip.json") + with subtest("Check storage directory is created"): + machine.succeed("ls /var/lib/matter-server/chip.json") - with subtest("Check systemd hardening"): - _, output = machine.execute("systemd-analyze security matter-server.service | grep -v '✓'") - machine.log(output) - ''; -}) + with subtest("Check systemd hardening"): + _, output = machine.execute("systemd-analyze security matter-server.service | grep -v '✓'") + machine.log(output) + ''; + } +) diff --git a/nixos/tests/mattermost.nix b/nixos/tests/mattermost.nix index e11201f05357d..04df954eef1a6 100644 --- a/nixos/tests/mattermost.nix +++ b/nixos/tests/mattermost.nix @@ -1,140 +1,151 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - host = "smoke.test"; - port = "8065"; - url = "http://${host}:${port}"; - siteName = "NixOS Smoke Tests, Inc."; - - makeMattermost = mattermostConfig: - { config, ... }: { - environment.systemPackages = [ - pkgs.mattermost - pkgs.curl - pkgs.jq - ]; - networking.hosts = { - "127.0.0.1" = [ host ]; - }; - services.mattermost = lib.recursiveUpdate { - enable = true; - inherit siteName; - listenAddress = "0.0.0.0:${port}"; - siteUrl = url; - extraConfig = { - SupportSettings.AboutLink = "https://nixos.org"; - }; - } mattermostConfig; - }; -in -{ - name = "mattermost"; - - nodes = { - mutable = makeMattermost { - mutableConfig = true; - extraConfig.SupportSettings.HelpLink = "https://search.nixos.org"; - }; - mostlyMutable = makeMattermost { - mutableConfig = true; - preferNixConfig = true; - plugins = let - mattermostDemoPlugin = pkgs.fetchurl { - url = "https://github.com/mattermost/mattermost-plugin-demo/releases/download/v0.9.0/com.mattermost.demo-plugin-0.9.0.tar.gz"; - sha256 = "1h4qi34gcxcx63z8wiqcf2aaywmvv8lys5g8gvsk13kkqhlmag25"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + host = "smoke.test"; + port = "8065"; + url = "http://${host}:${port}"; + siteName = "NixOS Smoke Tests, Inc."; + + makeMattermost = + mattermostConfig: + { config, ... }: + { + environment.systemPackages = [ + pkgs.mattermost + pkgs.curl + pkgs.jq + ]; + networking.hosts = { + "127.0.0.1" = [ host ]; }; - in [ - mattermostDemoPlugin - ]; - }; - immutable = makeMattermost { - mutableConfig = false; - extraConfig.SupportSettings.HelpLink = "https://search.nixos.org"; - }; - environmentFile = makeMattermost { - mutableConfig = false; - extraConfig.SupportSettings.AboutLink = "https://example.org"; - environmentFile = pkgs.writeText "mattermost-env" '' - MM_SUPPORTSETTINGS_ABOUTLINK=https://nixos.org - ''; - }; - }; - - testScript = let - expectConfig = jqExpression: pkgs.writeShellScript "expect-config" '' - set -euo pipefail - echo "Expecting config to match: "${lib.escapeShellArg jqExpression} >&2 - curl ${lib.escapeShellArg url} >/dev/null - config="$(curl ${lib.escapeShellArg "${url}/api/v4/config/client?format=old"})" - echo "Config: $(echo "$config" | ${pkgs.jq}/bin/jq)" >&2 - [[ "$(echo "$config" | ${pkgs.jq}/bin/jq -r ${lib.escapeShellArg ".SiteName == $siteName and .Version == ($mattermostName / $sep)[-1] and (${jqExpression})"} --arg siteName ${lib.escapeShellArg siteName} --arg mattermostName ${lib.escapeShellArg pkgs.mattermost.name} --arg sep '-')" = "true" ]] - ''; - - setConfig = jqExpression: pkgs.writeShellScript "set-config" '' - set -euo pipefail - mattermostConfig=/var/lib/mattermost/config/config.json - newConfig="$(${pkgs.jq}/bin/jq -r ${lib.escapeShellArg jqExpression} $mattermostConfig)" - rm -f $mattermostConfig - echo "$newConfig" > "$mattermostConfig" - ''; - + services.mattermost = lib.recursiveUpdate { + enable = true; + inherit siteName; + listenAddress = "0.0.0.0:${port}"; + siteUrl = url; + extraConfig = { + SupportSettings.AboutLink = "https://nixos.org"; + }; + } mattermostConfig; + }; in - '' - start_all() - - ## Mutable node tests ## - mutable.wait_for_unit("mattermost.service") - mutable.wait_for_open_port(8065) - - # Get the initial config - mutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://search.nixos.org"''}") - - # Edit the config - mutable.succeed("${setConfig ''.SupportSettings.AboutLink = "https://mattermost.com"''}") - mutable.succeed("${setConfig ''.SupportSettings.HelpLink = "https://nixos.org/nixos/manual"''}") - mutable.systemctl("restart mattermost.service") - mutable.wait_for_open_port(8065) - - # AboutLink and HelpLink should be changed - mutable.succeed("${expectConfig ''.AboutLink == "https://mattermost.com" and .HelpLink == "https://nixos.org/nixos/manual"''}") - - ## Mostly mutable node tests ## - mostlyMutable.wait_for_unit("mattermost.service") - mostlyMutable.wait_for_open_port(8065) + { + name = "mattermost"; - # Get the initial config - mostlyMutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org"''}") - - # Edit the config - mostlyMutable.succeed("${setConfig ''.SupportSettings.AboutLink = "https://mattermost.com"''}") - mostlyMutable.succeed("${setConfig ''.SupportSettings.HelpLink = "https://nixos.org/nixos/manual"''}") - mostlyMutable.systemctl("restart mattermost.service") - mostlyMutable.wait_for_open_port(8065) - - # AboutLink should be overridden by NixOS configuration; HelpLink should be what we set above - mostlyMutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://nixos.org/nixos/manual"''}") - - ## Immutable node tests ## - immutable.wait_for_unit("mattermost.service") - immutable.wait_for_open_port(8065) - - # Get the initial config - immutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://search.nixos.org"''}") - - # Edit the config - immutable.succeed("${setConfig ''.SupportSettings.AboutLink = "https://mattermost.com"''}") - immutable.succeed("${setConfig ''.SupportSettings.HelpLink = "https://nixos.org/nixos/manual"''}") - immutable.systemctl("restart mattermost.service") - immutable.wait_for_open_port(8065) - - # Our edits should be ignored on restart - immutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://search.nixos.org"''}") - - - ## Environment File node tests ## - environmentFile.wait_for_unit("mattermost.service") - environmentFile.wait_for_open_port(8065) + nodes = { + mutable = makeMattermost { + mutableConfig = true; + extraConfig.SupportSettings.HelpLink = "https://search.nixos.org"; + }; + mostlyMutable = makeMattermost { + mutableConfig = true; + preferNixConfig = true; + plugins = + let + mattermostDemoPlugin = pkgs.fetchurl { + url = "https://github.com/mattermost/mattermost-plugin-demo/releases/download/v0.9.0/com.mattermost.demo-plugin-0.9.0.tar.gz"; + sha256 = "1h4qi34gcxcx63z8wiqcf2aaywmvv8lys5g8gvsk13kkqhlmag25"; + }; + in + [ + mattermostDemoPlugin + ]; + }; + immutable = makeMattermost { + mutableConfig = false; + extraConfig.SupportSettings.HelpLink = "https://search.nixos.org"; + }; + environmentFile = makeMattermost { + mutableConfig = false; + extraConfig.SupportSettings.AboutLink = "https://example.org"; + environmentFile = pkgs.writeText "mattermost-env" '' + MM_SUPPORTSETTINGS_ABOUTLINK=https://nixos.org + ''; + }; + }; - # Settings in the environment file should override settings set otherwise - environmentFile.succeed("${expectConfig ''.AboutLink == "https://nixos.org"''}") - ''; -}) + testScript = + let + expectConfig = + jqExpression: + pkgs.writeShellScript "expect-config" '' + set -euo pipefail + echo "Expecting config to match: "${lib.escapeShellArg jqExpression} >&2 + curl ${lib.escapeShellArg url} >/dev/null + config="$(curl ${lib.escapeShellArg "${url}/api/v4/config/client?format=old"})" + echo "Config: $(echo "$config" | ${pkgs.jq}/bin/jq)" >&2 + [[ "$(echo "$config" | ${pkgs.jq}/bin/jq -r ${lib.escapeShellArg ".SiteName == $siteName and .Version == ($mattermostName / $sep)[-1] and (${jqExpression})"} --arg siteName ${lib.escapeShellArg siteName} --arg mattermostName ${lib.escapeShellArg pkgs.mattermost.name} --arg sep '-')" = "true" ]] + ''; + + setConfig = + jqExpression: + pkgs.writeShellScript "set-config" '' + set -euo pipefail + mattermostConfig=/var/lib/mattermost/config/config.json + newConfig="$(${pkgs.jq}/bin/jq -r ${lib.escapeShellArg jqExpression} $mattermostConfig)" + rm -f $mattermostConfig + echo "$newConfig" > "$mattermostConfig" + ''; + + in + '' + start_all() + + ## Mutable node tests ## + mutable.wait_for_unit("mattermost.service") + mutable.wait_for_open_port(8065) + + # Get the initial config + mutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://search.nixos.org"''}") + + # Edit the config + mutable.succeed("${setConfig ''.SupportSettings.AboutLink = "https://mattermost.com"''}") + mutable.succeed("${setConfig ''.SupportSettings.HelpLink = "https://nixos.org/nixos/manual"''}") + mutable.systemctl("restart mattermost.service") + mutable.wait_for_open_port(8065) + + # AboutLink and HelpLink should be changed + mutable.succeed("${expectConfig ''.AboutLink == "https://mattermost.com" and .HelpLink == "https://nixos.org/nixos/manual"''}") + + ## Mostly mutable node tests ## + mostlyMutable.wait_for_unit("mattermost.service") + mostlyMutable.wait_for_open_port(8065) + + # Get the initial config + mostlyMutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org"''}") + + # Edit the config + mostlyMutable.succeed("${setConfig ''.SupportSettings.AboutLink = "https://mattermost.com"''}") + mostlyMutable.succeed("${setConfig ''.SupportSettings.HelpLink = "https://nixos.org/nixos/manual"''}") + mostlyMutable.systemctl("restart mattermost.service") + mostlyMutable.wait_for_open_port(8065) + + # AboutLink should be overridden by NixOS configuration; HelpLink should be what we set above + mostlyMutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://nixos.org/nixos/manual"''}") + + ## Immutable node tests ## + immutable.wait_for_unit("mattermost.service") + immutable.wait_for_open_port(8065) + + # Get the initial config + immutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://search.nixos.org"''}") + + # Edit the config + immutable.succeed("${setConfig ''.SupportSettings.AboutLink = "https://mattermost.com"''}") + immutable.succeed("${setConfig ''.SupportSettings.HelpLink = "https://nixos.org/nixos/manual"''}") + immutable.systemctl("restart mattermost.service") + immutable.wait_for_open_port(8065) + + # Our edits should be ignored on restart + immutable.succeed("${expectConfig ''.AboutLink == "https://nixos.org" and .HelpLink == "https://search.nixos.org"''}") + + + ## Environment File node tests ## + environmentFile.wait_for_unit("mattermost.service") + environmentFile.wait_for_open_port(8065) + + # Settings in the environment file should override settings set otherwise + environmentFile.succeed("${expectConfig ''.AboutLink == "https://nixos.org"''}") + ''; + } +) diff --git a/nixos/tests/mealie.nix b/nixos/tests/mealie.nix index 810d47ecd2ec4..57bff29731d8a 100644 --- a/nixos/tests/mealie.nix +++ b/nixos/tests/mealie.nix @@ -1,24 +1,29 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "mealie"; - meta = with pkgs.lib.maintainers; { - maintainers = [ litchipi anoa ]; - }; + { + name = "mealie"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + litchipi + anoa + ]; + }; - nodes = { - server = { - services.mealie = { - enable = true; - port = 9001; + nodes = { + server = { + services.mealie = { + enable = true; + port = 9001; + }; }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("mealie.service") - server.wait_for_open_port(9001) - server.succeed("curl --fail http://localhost:9001") - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("mealie.service") + server.wait_for_open_port(9001) + server.succeed("curl --fail http://localhost:9001") + ''; + } +) diff --git a/nixos/tests/mediatomb.nix b/nixos/tests/mediatomb.nix index 5718a9a4a2992..cf359d5928dfb 100644 --- a/nixos/tests/mediatomb.nix +++ b/nixos/tests/mediatomb.nix @@ -27,10 +27,11 @@ import ./make-test-python.nix { ]; }; - client = {}; + client = { }; }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: let serverIP = nodes.server.networking.primaryIPAddress; serverIPv6 = nodes.server.networking.primaryIPv6Address; diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix index e30cc55ff6160..eefb80a03c659 100644 --- a/nixos/tests/mediawiki.nix +++ b/nixos/tests/mediawiki.nix @@ -1,6 +1,6 @@ { system ? builtins.currentSystem, - config ? {}, + config ? { }, pkgs ? import ../.. { inherit system config; }, }: @@ -60,19 +60,21 @@ in nodes.machine = { services.mediawiki.webserver = "none"; }; - testScript = { nodes, ... }: '' - start_all() - machine.wait_for_unit("phpfpm-mediawiki.service") - env = ( - "SCRIPT_NAME=/index.php", - "SCRIPT_FILENAME=${nodes.machine.services.mediawiki.finalPackage}/share/mediawiki/index.php", - "REMOTE_ADDR=127.0.0.1", - 'QUERY_STRING=title=Main_Page', - "REQUEST_METHOD=GET", - ); - page = machine.succeed(f"{' '.join(env)} ${pkgs.fcgi}/bin/cgi-fcgi -bind -connect ${nodes.machine.services.phpfpm.pools.mediawiki.socket}") - assert "MediaWiki has been installed" in page, f"no 'MediaWiki has been installed' in:\n{page}" - ''; + testScript = + { nodes, ... }: + '' + start_all() + machine.wait_for_unit("phpfpm-mediawiki.service") + env = ( + "SCRIPT_NAME=/index.php", + "SCRIPT_FILENAME=${nodes.machine.services.mediawiki.finalPackage}/share/mediawiki/index.php", + "REMOTE_ADDR=127.0.0.1", + 'QUERY_STRING=title=Main_Page', + "REQUEST_METHOD=GET", + ); + page = machine.succeed(f"{' '.join(env)} ${pkgs.fcgi}/bin/cgi-fcgi -bind -connect ${nodes.machine.services.phpfpm.pools.mediawiki.socket}") + assert "MediaWiki has been installed" in page, f"no 'MediaWiki has been installed' in:\n{page}" + ''; }; nginx = testLib.makeTest { diff --git a/nixos/tests/meilisearch.nix b/nixos/tests/meilisearch.nix index c31dcb0559dbb..a73abbba3a48c 100644 --- a/nixos/tests/meilisearch.nix +++ b/nixos/tests/meilisearch.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: let listenAddress = "127.0.0.1"; listenPort = 7700; @@ -9,17 +10,23 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: url = "https://github.com/meilisearch/meilisearch/raw/v0.23.1/datasets/movies/movies.json"; sha256 = "1r3srld63dpmg9yrmysm6xl175661j5cspi93mk5q2wf8xwn50c5"; }; - in { + in + { name = "meilisearch"; meta.maintainers = with lib.maintainers; [ Br1ght0ne ]; - nodes.machine = { ... }: { - environment.systemPackages = with pkgs; [ curl jq ]; - services.meilisearch = { - enable = true; - inherit listenAddress listenPort; + nodes.machine = + { ... }: + { + environment.systemPackages = with pkgs; [ + curl + jq + ]; + services.meilisearch = { + enable = true; + inherit listenAddress listenPort; + }; }; - }; testScript = '' import json @@ -58,4 +65,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: print(response) assert len(response["hits"]) >= 1, "no results found" ''; - }) + } +) diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix index 6549995110d79..c3f8734e320ce 100644 --- a/nixos/tests/memcached.nix +++ b/nixos/tests/memcached.nix @@ -1,24 +1,32 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "memcached"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "memcached"; - nodes.machine = { - imports = [ ../modules/profiles/minimal.nix ]; - services.memcached.enable = true; - }; + nodes.machine = { + imports = [ ../modules/profiles/minimal.nix ]; + services.memcached.enable = true; + }; - testScript = let - testScript = pkgs.writers.writePython3 "test_memcache" { - libraries = with pkgs.python3Packages; [ memcached ]; - } '' - import memcache - c = memcache.Client(['localhost:11211']) - c.set('key', 'value') - assert 'value' == c.get('key') - ''; - in '' - machine.start() - machine.wait_for_unit("memcached.service") - machine.wait_for_open_port(11211) - machine.succeed("${testScript}") - ''; -}) + testScript = + let + testScript = + pkgs.writers.writePython3 "test_memcache" + { + libraries = with pkgs.python3Packages; [ memcached ]; + } + '' + import memcache + c = memcache.Client(['localhost:11211']) + c.set('key', 'value') + assert 'value' == c.get('key') + ''; + in + '' + machine.start() + machine.wait_for_unit("memcached.service") + machine.wait_for_open_port(11211) + machine.succeed("${testScript}") + ''; + } +) diff --git a/nixos/tests/merecat.nix b/nixos/tests/merecat.nix index 9d8f66165ee90..072d8dd933de5 100644 --- a/nixos/tests/merecat.nix +++ b/nixos/tests/merecat.nix @@ -1,28 +1,35 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "merecat"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "merecat"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - services.merecat = { - enable = true; - settings = { - hostname = "localhost"; - virtual-host = true; - directory = toString (pkgs.runCommand "merecat-webdir" {} '' - mkdir -p $out/foo.localhost $out/bar.localhost - echo '<h1>Hello foo</h1>' > $out/foo.localhost/index.html - echo '<h1>Hello bar</h1>' > $out/bar.localhost/index.html - ''); + nodes.machine = + { config, pkgs, ... }: + { + services.merecat = { + enable = true; + settings = { + hostname = "localhost"; + virtual-host = true; + directory = toString ( + pkgs.runCommand "merecat-webdir" { } '' + mkdir -p $out/foo.localhost $out/bar.localhost + echo '<h1>Hello foo</h1>' > $out/foo.localhost/index.html + echo '<h1>Hello bar</h1>' > $out/bar.localhost/index.html + '' + ); + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("merecat") - machine.wait_for_open_port(80) - machine.succeed("curl --fail foo.localhost | grep 'Hello foo'") - machine.succeed("curl --fail bar.localhost | grep 'Hello bar'") - ''; -}) + testScript = '' + machine.wait_for_unit("merecat") + machine.wait_for_open_port(80) + machine.succeed("curl --fail foo.localhost | grep 'Hello foo'") + machine.succeed("curl --fail bar.localhost | grep 'Hello bar'") + ''; + } +) diff --git a/nixos/tests/metabase.nix b/nixos/tests/metabase.nix index 1b25071902e97..f86c51b108fcb 100644 --- a/nixos/tests/metabase.nix +++ b/nixos/tests/metabase.nix @@ -1,19 +1,24 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "metabase"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mmahut ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "metabase"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mmahut ]; + }; - nodes = { - machine = { ... }: { - services.metabase.enable = true; + nodes = { + machine = + { ... }: + { + services.metabase.enable = true; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("metabase.service") - machine.wait_for_open_port(3000) - machine.wait_until_succeeds("curl -fL http://localhost:3000/setup | grep Metabase") - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("metabase.service") + machine.wait_for_open_port(3000) + machine.wait_until_succeeds("curl -fL http://localhost:3000/setup | grep Metabase") + ''; + } +) diff --git a/nixos/tests/mihomo.nix b/nixos/tests/mihomo.nix index a456facb4367c..4e16750a63b5a 100644 --- a/nixos/tests/mihomo.nix +++ b/nixos/tests/mihomo.nix @@ -1,46 +1,49 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "mihomo"; - meta.maintainers = with pkgs.lib.maintainers; [ Guanran928 ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "mihomo"; + meta.maintainers = with pkgs.lib.maintainers; [ Guanran928 ]; - nodes.machine = { - environment.systemPackages = [ pkgs.curl ]; + nodes.machine = { + environment.systemPackages = [ pkgs.curl ]; - services.nginx = { - enable = true; - statusPage = true; - }; + services.nginx = { + enable = true; + statusPage = true; + }; - services.mihomo = { - enable = true; - configFile = pkgs.writeTextFile { - name = "config.yaml"; - text = '' - mixed-port: 7890 - external-controller: 127.0.0.1:9090 - authentication: - - "user:supersecret" - ''; + services.mihomo = { + enable = true; + configFile = pkgs.writeTextFile { + name = "config.yaml"; + text = '' + mixed-port: 7890 + external-controller: 127.0.0.1:9090 + authentication: + - "user:supersecret" + ''; + }; }; }; - }; - testScript = '' - # Wait until it starts - machine.wait_for_unit("nginx.service") - machine.wait_for_unit("mihomo.service") - machine.wait_for_open_port(80) - machine.wait_for_open_port(7890) - machine.wait_for_open_port(9090) + testScript = '' + # Wait until it starts + machine.wait_for_unit("nginx.service") + machine.wait_for_unit("mihomo.service") + machine.wait_for_open_port(80) + machine.wait_for_open_port(7890) + machine.wait_for_open_port(9090) - # Proxy - machine.succeed("curl --fail --max-time 10 --proxy http://user:supersecret@localhost:7890 http://localhost") - machine.succeed("curl --fail --max-time 10 --proxy socks5://user:supersecret@localhost:7890 http://localhost") - machine.fail("curl --fail --max-time 10 --proxy http://user:supervillain@localhost:7890 http://localhost") - machine.fail("curl --fail --max-time 10 --proxy socks5://user:supervillain@localhost:7890 http://localhost") + # Proxy + machine.succeed("curl --fail --max-time 10 --proxy http://user:supersecret@localhost:7890 http://localhost") + machine.succeed("curl --fail --max-time 10 --proxy socks5://user:supersecret@localhost:7890 http://localhost") + machine.fail("curl --fail --max-time 10 --proxy http://user:supervillain@localhost:7890 http://localhost") + machine.fail("curl --fail --max-time 10 --proxy socks5://user:supervillain@localhost:7890 http://localhost") - # Web UI - result = machine.succeed("curl --fail http://localhost:9090") - target = '{"hello":"mihomo"}\n' - assert result == target, f"{result!r} != {target!r}" - ''; -}) + # Web UI + result = machine.succeed("curl --fail http://localhost:9090") + target = '{"hello":"mihomo"}\n' + assert result == target, f"{result!r} != {target!r}" + ''; + } +) diff --git a/nixos/tests/mimir.nix b/nixos/tests/mimir.nix index f1b30d261472b..981990b93a1d3 100644 --- a/nixos/tests/mimir.nix +++ b/nixos/tests/mimir.nix @@ -1,50 +1,55 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "mimir"; - nodes = { - server = { ... }: { - environment.systemPackages = [ pkgs.jq ]; - services.mimir.enable = true; - services.mimir.configuration = { - ingester.ring.replication_factor = 1; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "mimir"; + nodes = { + server = + { ... }: + { + environment.systemPackages = [ pkgs.jq ]; + services.mimir.enable = true; + services.mimir.configuration = { + ingester.ring.replication_factor = 1; + }; - services.telegraf.enable = true; - services.telegraf.extraConfig = { - agent.interval = "1s"; - agent.flush_interval = "1s"; - inputs.exec = { - commands = [ - "${pkgs.coreutils}/bin/echo 'foo i=42i'" - ]; - data_format = "influx"; - }; - outputs = { - http = { - # test remote write - url = "http://localhost:8080/api/v1/push"; + services.telegraf.enable = true; + services.telegraf.extraConfig = { + agent.interval = "1s"; + agent.flush_interval = "1s"; + inputs.exec = { + commands = [ + "${pkgs.coreutils}/bin/echo 'foo i=42i'" + ]; + data_format = "influx"; + }; + outputs = { + http = { + # test remote write + url = "http://localhost:8080/api/v1/push"; - # Data format to output. - data_format = "prometheusremotewrite"; + # Data format to output. + data_format = "prometheusremotewrite"; - headers = { - Content-Type = "application/x-protobuf"; - Content-Encoding = "snappy"; - X-Scope-OrgID = "nixos"; - X-Prometheus-Remote-Write-Version = "0.1.0"; + headers = { + Content-Type = "application/x-protobuf"; + Content-Encoding = "snappy"; + X-Scope-OrgID = "nixos"; + X-Prometheus-Remote-Write-Version = "0.1.0"; + }; + }; }; }; }; - }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("mimir.service") - server.wait_for_unit("telegraf.service") - server.wait_for_open_port(8080) - server.wait_until_succeeds( - "curl -H 'X-Scope-OrgID: nixos' http://127.0.0.1:8080/prometheus/api/v1/label/host/values | jq -r '.data[0]' | grep server" - ) - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("mimir.service") + server.wait_for_unit("telegraf.service") + server.wait_for_open_port(8080) + server.wait_until_succeeds( + "curl -H 'X-Scope-OrgID: nixos' http://127.0.0.1:8080/prometheus/api/v1/label/host/values | jq -r '.data[0]' | grep server" + ) + ''; + } +) diff --git a/nixos/tests/mindustry.nix b/nixos/tests/mindustry.nix index b3f5423c601b3..3ec5fb32a0d3d 100644 --- a/nixos/tests/mindustry.nix +++ b/nixos/tests/mindustry.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "mindustry"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "mindustry"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.mindustry ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.mindustry ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() machine.execute("mindustry >&2 &") machine.wait_for_window("Mindustry") @@ -25,4 +28,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_text(r"(Play|Database|Editor|Mods|Settings|Quit)") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/minecraft.nix b/nixos/tests/minecraft.nix index 1c34f04b4df22..5f75669900a24 100644 --- a/nixos/tests/minecraft.nix +++ b/nixos/tests/minecraft.nix @@ -1,11 +1,21 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "minecraft"; - meta = with lib.maintainers; { maintainers = [ nequissimus ]; }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "minecraft"; + meta = with lib.maintainers; { + maintainers = [ nequissimus ]; + }; - nodes.client = { nodes, ... }: - let user = nodes.client.config.users.users.alice; - in { - imports = [ ./common/user-account.nix ./common/x11.nix ]; + nodes.client = + { nodes, ... }: + let + user = nodes.client.config.users.users.alice; + in + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; environment.systemPackages = [ pkgs.minecraft ]; @@ -14,15 +24,19 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { test-support.displayManager.auto.user = user.name; }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: - let user = nodes.client.config.users.users.alice; - in '' - client.wait_for_x() - client.execute("su - alice -c minecraft-launcher >&2 &") - client.wait_for_text("Create a new Microsoft account") - client.sleep(10) - client.screenshot("launcher") - ''; -}) + testScript = + { nodes, ... }: + let + user = nodes.client.config.users.users.alice; + in + '' + client.wait_for_x() + client.execute("su - alice -c minecraft-launcher >&2 &") + client.wait_for_text("Create a new Microsoft account") + client.sleep(10) + client.screenshot("launcher") + ''; + } +) diff --git a/nixos/tests/minidlna.nix b/nixos/tests/minidlna.nix index 32721819634e3..a1add4ba48366 100644 --- a/nixos/tests/minidlna.nix +++ b/nixos/tests/minidlna.nix @@ -1,40 +1,42 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "minidlna"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "minidlna"; - nodes = { - server = - { ... }: - { - imports = [ ../modules/profiles/minimal.nix ]; - services.minidlna.enable = true; - services.minidlna.openFirewall = true; - services.minidlna.settings = { - log_level = "error"; - media_dir = [ - "PV,/tmp/stuff" - ]; - friendly_name = "rpi3"; - root_container = "B"; - notify_interval = 60; - album_art_names = [ - "Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg" - "AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg" - "Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg" - ]; + nodes = { + server = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + services.minidlna.enable = true; + services.minidlna.openFirewall = true; + services.minidlna.settings = { + log_level = "error"; + media_dir = [ + "PV,/tmp/stuff" + ]; + friendly_name = "rpi3"; + root_container = "B"; + notify_interval = 60; + album_art_names = [ + "Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg" + "AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg" + "Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg" + ]; + }; }; - }; - client = { ... }: { }; - }; + client = { ... }: { }; + }; - testScript = - '' - start_all() - server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff") - server.wait_for_unit("minidlna") - server.wait_for_open_port(8200) - # requests must be made *by IP* to avoid triggering minidlna's - # DNS-rebinding protection - server.succeed("curl --fail http://$(getent ahostsv4 localhost | head -n1 | cut -f 1 -d ' '):8200/") - client.succeed("curl --fail http://$(getent ahostsv4 server | head -n1 | cut -f 1 -d ' '):8200/") - ''; -}) + testScript = '' + start_all() + server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff") + server.wait_for_unit("minidlna") + server.wait_for_open_port(8200) + # requests must be made *by IP* to avoid triggering minidlna's + # DNS-rebinding protection + server.succeed("curl --fail http://$(getent ahostsv4 localhost | head -n1 | cut -f 1 -d ' '):8200/") + client.succeed("curl --fail http://$(getent ahostsv4 server | head -n1 | cut -f 1 -d ' '):8200/") + ''; + } +) diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix index 2adf9010051cb..f349a7a2c45cd 100644 --- a/nixos/tests/miniflux.nix +++ b/nixos/tests/miniflux.nix @@ -1,121 +1,132 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - port = 3142; - username = "alice"; - password = "correcthorsebatterystaple"; - defaultPort = 8080; - defaultUsername = "admin"; - defaultPassword = "password"; - adminCredentialsFile = pkgs.writeText "admin-credentials" '' - ADMIN_USERNAME=${defaultUsername} - ADMIN_PASSWORD=${defaultPassword} - ''; - customAdminCredentialsFile = pkgs.writeText "admin-credentials" '' - ADMIN_USERNAME=${username} - ADMIN_PASSWORD=${password} - ''; - postgresPassword = "correcthorsebatterystaple"; - postgresPasswordFile = pkgs.writeText "pgpass" '' - *:*:*:*:${postgresPassword} - ''; + let + port = 3142; + username = "alice"; + password = "correcthorsebatterystaple"; + defaultPort = 8080; + defaultUsername = "admin"; + defaultPassword = "password"; + adminCredentialsFile = pkgs.writeText "admin-credentials" '' + ADMIN_USERNAME=${defaultUsername} + ADMIN_PASSWORD=${defaultPassword} + ''; + customAdminCredentialsFile = pkgs.writeText "admin-credentials" '' + ADMIN_USERNAME=${username} + ADMIN_PASSWORD=${password} + ''; + postgresPassword = "correcthorsebatterystaple"; + postgresPasswordFile = pkgs.writeText "pgpass" '' + *:*:*:*:${postgresPassword} + ''; -in -{ - name = "miniflux"; - meta.maintainers = [ ]; + in + { + name = "miniflux"; + meta.maintainers = [ ]; - nodes = { - default = - { ... }: - { - security.apparmor.enable = true; - services.miniflux = { - enable = true; - inherit adminCredentialsFile; + nodes = { + default = + { ... }: + { + security.apparmor.enable = true; + services.miniflux = { + enable = true; + inherit adminCredentialsFile; + }; }; - }; - withoutSudo = - { ... }: - { - security.apparmor.enable = true; - services.miniflux = { - enable = true; - inherit adminCredentialsFile; + withoutSudo = + { ... }: + { + security.apparmor.enable = true; + services.miniflux = { + enable = true; + inherit adminCredentialsFile; + }; + security.sudo.enable = false; }; - security.sudo.enable = false; - }; - customized = - { ... }: - { - security.apparmor.enable = true; - services.miniflux = { - enable = true; - config = { - CLEANUP_FREQUENCY = "48"; - LISTEN_ADDR = "localhost:${toString port}"; + customized = + { ... }: + { + security.apparmor.enable = true; + services.miniflux = { + enable = true; + config = { + CLEANUP_FREQUENCY = "48"; + LISTEN_ADDR = "localhost:${toString port}"; + }; + adminCredentialsFile = customAdminCredentialsFile; }; - adminCredentialsFile = customAdminCredentialsFile; }; - }; - postgresTcp = { config, pkgs, lib, ... }: { - services.postgresql = { - enable = true; - initialScript = pkgs.writeText "init-postgres" '' - CREATE USER miniflux WITH PASSWORD '${postgresPassword}'; - CREATE DATABASE miniflux WITH OWNER miniflux; - ''; - enableTCPIP = true; - authentication = '' - host sameuser miniflux samenet scram-sha-256 - ''; - }; - systemd.services.postgresql.postStart = lib.mkAfter '' - $PSQL -tAd miniflux -c 'CREATE EXTENSION hstore;' - ''; - networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; - }; - externalDb = { ... }: { - security.apparmor.enable = true; - services.miniflux = { - enable = true; - createDatabaseLocally = false; - inherit adminCredentialsFile; - config = { - DATABASE_URL = "user=miniflux host=postgresTcp dbname=miniflux sslmode=disable"; - PGPASSFILE = "/run/miniflux/pgpass"; + postgresTcp = + { + config, + pkgs, + lib, + ... + }: + { + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "init-postgres" '' + CREATE USER miniflux WITH PASSWORD '${postgresPassword}'; + CREATE DATABASE miniflux WITH OWNER miniflux; + ''; + enableTCPIP = true; + authentication = '' + host sameuser miniflux samenet scram-sha-256 + ''; + }; + systemd.services.postgresql.postStart = lib.mkAfter '' + $PSQL -tAd miniflux -c 'CREATE EXTENSION hstore;' + ''; + networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; + }; + externalDb = + { ... }: + { + security.apparmor.enable = true; + services.miniflux = { + enable = true; + createDatabaseLocally = false; + inherit adminCredentialsFile; + config = { + DATABASE_URL = "user=miniflux host=postgresTcp dbname=miniflux sslmode=disable"; + PGPASSFILE = "/run/miniflux/pgpass"; + }; + }; + systemd.services.miniflux.preStart = '' + cp ${postgresPasswordFile} /run/miniflux/pgpass + chmod 600 /run/miniflux/pgpass + ''; }; - }; - systemd.services.miniflux.preStart = '' - cp ${postgresPasswordFile} /run/miniflux/pgpass - chmod 600 /run/miniflux/pgpass - ''; }; - }; - testScript = '' - def runTest(machine, port, user): - machine.wait_for_unit("miniflux.service") - machine.wait_for_open_port(port) - machine.succeed(f"curl --fail 'http://localhost:{port}/healthcheck' | grep OK") - machine.succeed( - f"curl 'http://localhost:{port}/v1/me' -u '{user}' -H Content-Type:application/json | grep '\"is_admin\":true'" - ) - machine.fail('journalctl -b --no-pager --grep "^audit: .*apparmor=\\"DENIED\\""') + testScript = '' + def runTest(machine, port, user): + machine.wait_for_unit("miniflux.service") + machine.wait_for_open_port(port) + machine.succeed(f"curl --fail 'http://localhost:{port}/healthcheck' | grep OK") + machine.succeed( + f"curl 'http://localhost:{port}/v1/me' -u '{user}' -H Content-Type:application/json | grep '\"is_admin\":true'" + ) + machine.fail('journalctl -b --no-pager --grep "^audit: .*apparmor=\\"DENIED\\""') - default.start() - withoutSudo.start() - customized.start() - postgresTcp.start() + default.start() + withoutSudo.start() + customized.start() + postgresTcp.start() - runTest(default, ${toString defaultPort}, "${defaultUsername}:${defaultPassword}") - runTest(withoutSudo, ${toString defaultPort}, "${defaultUsername}:${defaultPassword}") - runTest(customized, ${toString port}, "${username}:${password}") + runTest(default, ${toString defaultPort}, "${defaultUsername}:${defaultPassword}") + runTest(withoutSudo, ${toString defaultPort}, "${defaultUsername}:${defaultPassword}") + runTest(customized, ${toString port}, "${username}:${password}") - postgresTcp.wait_for_unit("postgresql.service") - externalDb.start() - runTest(externalDb, ${toString defaultPort}, "${defaultUsername}:${defaultPassword}") - ''; -}) + postgresTcp.wait_for_unit("postgresql.service") + externalDb.start() + runTest(externalDb, ${toString defaultPort}, "${defaultUsername}:${defaultPassword}") + ''; + } +) diff --git a/nixos/tests/miriway.nix b/nixos/tests/miriway.nix index 94373bb75a915..14546dd03dff3 100644 --- a/nixos/tests/miriway.nix +++ b/nixos/tests/miriway.nix @@ -1,123 +1,130 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "miriway"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "miriway"; - meta = { - maintainers = with lib.maintainers; [ OPNA2608 ]; - }; + meta = { + maintainers = with lib.maintainers; [ OPNA2608 ]; + }; - nodes.machine = { config, ... }: { - imports = [ - ./common/auto.nix - ./common/user-account.nix - ]; + nodes.machine = + { config, ... }: + { + imports = [ + ./common/auto.nix + ./common/user-account.nix + ]; - # Seems to very rarely get interrupted by oom-killer - virtualisation.memorySize = 2047; + # Seems to very rarely get interrupted by oom-killer + virtualisation.memorySize = 2047; - test-support.displayManager.auto = { - enable = true; - user = "alice"; - }; + test-support.displayManager.auto = { + enable = true; + user = "alice"; + }; - services.xserver.enable = true; - services.displayManager.defaultSession = lib.mkForce "miriway"; + services.xserver.enable = true; + services.displayManager.defaultSession = lib.mkForce "miriway"; - programs.miriway = { - enable = true; - config = '' - add-wayland-extensions=all - enable-x11= + programs.miriway = { + enable = true; + config = '' + add-wayland-extensions=all + enable-x11= - ctrl-alt=t:foot --maximized - ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY= alacritty --option window.startup_mode=\"maximized\" + ctrl-alt=t:foot --maximized + ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY= alacritty --option window.startup_mode=\"maximized\" - shell-component=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY + shell-component=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY - shell-component=foot --maximized - ''; - }; + shell-component=foot --maximized + ''; + }; - environment = { - shellAliases = { - test-wayland = "wayland-info | tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok"; - test-x11 = "glinfo | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok"; - }; + environment = { + shellAliases = { + test-wayland = "wayland-info | tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok"; + test-x11 = "glinfo | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok"; + }; - systemPackages = with pkgs; [ - mesa-demos - wayland-utils - foot - alacritty - ]; - - # To help with OCR - etc."xdg/foot/foot.ini".text = lib.generators.toINI { } { - main = { - font = "inconsolata:size=16"; - }; - colors = rec { - foreground = "000000"; - background = "ffffff"; - regular2 = foreground; - }; - }; - etc."xdg/alacritty/alacritty.yml".text = lib.generators.toYAML { } { - font = rec { - normal.family = "Inconsolata"; - bold.family = normal.family; - italic.family = normal.family; - bold_italic.family = normal.family; - size = 16; - }; - colors = rec { - primary = { - foreground = "0x000000"; - background = "0xffffff"; + systemPackages = with pkgs; [ + mesa-demos + wayland-utils + foot + alacritty + ]; + + # To help with OCR + etc."xdg/foot/foot.ini".text = lib.generators.toINI { } { + main = { + font = "inconsolata:size=16"; + }; + colors = rec { + foreground = "000000"; + background = "ffffff"; + regular2 = foreground; + }; }; - normal = { - green = primary.foreground; + etc."xdg/alacritty/alacritty.yml".text = lib.generators.toYAML { } { + font = rec { + normal.family = "Inconsolata"; + bold.family = normal.family; + italic.family = normal.family; + bold_italic.family = normal.family; + size = 16; + }; + colors = rec { + primary = { + foreground = "0x000000"; + background = "0xffffff"; + }; + normal = { + green = primary.foreground; + }; + }; }; }; + + fonts.packages = [ pkgs.inconsolata ]; }; - }; - fonts.packages = [ pkgs.inconsolata ]; - }; - - enableOCR = true; - - testScript = { nodes, ... }: '' - start_all() - machine.wait_for_unit("multi-user.target") - - # Wait for Miriway to complete startup - machine.wait_for_file("/run/user/1000/wayland-0") - machine.succeed("pgrep miriway-shell") - machine.screenshot("miriway_launched") - - # Test Wayland - # We let Miriway start the first terminal, as we might get stuck if it's not ready to process the first keybind - # machine.send_key("ctrl-alt-t") - machine.wait_for_text(r"(alice|machine)") - machine.send_chars("test-wayland\n") - machine.wait_for_file("/tmp/test-wayland-exit-ok") - machine.copy_from_vm("/tmp/test-wayland.out") - machine.screenshot("foot_wayland_info") - # Only succeeds when a mouse is moved inside an interactive session? - # machine.send_chars("exit\n") - # machine.wait_until_fails("pgrep foot") - machine.succeed("pkill foot") - - # Test XWayland - machine.send_key("ctrl-alt-a") - machine.wait_for_text(r"(alice|machine)") - machine.send_chars("test-x11\n") - machine.wait_for_file("/tmp/test-x11-exit-ok") - machine.copy_from_vm("/tmp/test-x11.out") - machine.screenshot("alacritty_glinfo") - # Only succeeds when a mouse is moved inside an interactive session? - # machine.send_chars("exit\n") - # machine.wait_until_fails("pgrep alacritty") - machine.succeed("pkill alacritty") - ''; -}) + enableOCR = true; + + testScript = + { nodes, ... }: + '' + start_all() + machine.wait_for_unit("multi-user.target") + + # Wait for Miriway to complete startup + machine.wait_for_file("/run/user/1000/wayland-0") + machine.succeed("pgrep miriway-shell") + machine.screenshot("miriway_launched") + + # Test Wayland + # We let Miriway start the first terminal, as we might get stuck if it's not ready to process the first keybind + # machine.send_key("ctrl-alt-t") + machine.wait_for_text(r"(alice|machine)") + machine.send_chars("test-wayland\n") + machine.wait_for_file("/tmp/test-wayland-exit-ok") + machine.copy_from_vm("/tmp/test-wayland.out") + machine.screenshot("foot_wayland_info") + # Only succeeds when a mouse is moved inside an interactive session? + # machine.send_chars("exit\n") + # machine.wait_until_fails("pgrep foot") + machine.succeed("pkill foot") + + # Test XWayland + machine.send_key("ctrl-alt-a") + machine.wait_for_text(r"(alice|machine)") + machine.send_chars("test-x11\n") + machine.wait_for_file("/tmp/test-x11-exit-ok") + machine.copy_from_vm("/tmp/test-x11.out") + machine.screenshot("alacritty_glinfo") + # Only succeeds when a mouse is moved inside an interactive session? + # machine.send_chars("exit\n") + # machine.wait_until_fails("pgrep alacritty") + machine.succeed("pkill alacritty") + ''; + } +) diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index 1d296accf121f..5734b900f1523 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -1,49 +1,77 @@ # Miscellaneous small tests that don't warrant their own VM run. -import ./make-test-python.nix ({ lib, pkgs, ...} : let - foo = pkgs.writeText "foo" "Hello World"; -in { - name = "misc"; - meta.maintainers = with lib.maintainers; [ eelco ]; - - nodes.machine = - { lib, ... }: - { swapDevices = lib.mkOverride 0 - [ { device = "/root/swapfile"; size = 128; } ]; - environment.variables.EDITOR = lib.mkOverride 0 "emacs"; - documentation.nixos.enable = lib.mkOverride 0 true; - systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; - systemd.tmpfiles.settings."10-test"."/tmp/somefile".d = {}; - virtualisation.fileSystems = { "/tmp2" = - { fsType = "tmpfs"; - options = [ "mode=1777" "noauto" ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + foo = pkgs.writeText "foo" "Hello World"; + in + { + name = "misc"; + meta.maintainers = with lib.maintainers; [ eelco ]; + + nodes.machine = + { lib, ... }: + { + swapDevices = lib.mkOverride 0 [ + { + device = "/root/swapfile"; + size = 128; + } + ]; + environment.variables.EDITOR = lib.mkOverride 0 "emacs"; + documentation.nixos.enable = lib.mkOverride 0 true; + systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; + systemd.tmpfiles.settings."10-test"."/tmp/somefile".d = { }; + virtualisation.fileSystems = { + "/tmp2" = { + fsType = "tmpfs"; + options = [ + "mode=1777" + "noauto" + ]; + }; + # Tests https://discourse.nixos.org/t/how-to-make-a-derivations-executables-have-the-s-permission/8555 + "/user-mount/point" = { + device = "/user-mount/source"; + fsType = "none"; + options = [ + "bind" + "rw" + "user" + "noauto" + ]; + }; + "/user-mount/denied-point" = { + device = "/user-mount/denied-source"; + fsType = "none"; + options = [ + "bind" + "rw" + "noauto" + ]; + }; }; - # Tests https://discourse.nixos.org/t/how-to-make-a-derivations-executables-have-the-s-permission/8555 - "/user-mount/point" = { - device = "/user-mount/source"; - fsType = "none"; - options = [ "bind" "rw" "user" "noauto" ]; + systemd.automounts = lib.singleton { + wantedBy = [ "multi-user.target" ]; + where = "/tmp2"; }; - "/user-mount/denied-point" = { - device = "/user-mount/denied-source"; - fsType = "none"; - options = [ "bind" "rw" "noauto" ]; + users.users.sybil = { + isNormalUser = true; + group = "wheel"; }; - }; - systemd.automounts = lib.singleton - { wantedBy = [ "multi-user.target" ]; - where = "/tmp2"; + users.users.alice = { + isNormalUser = true; }; - users.users.sybil = { isNormalUser = true; group = "wheel"; }; - users.users.alice = { isNormalUser = true; }; - security.sudo = { enable = true; wheelNeedsPassword = false; }; - boot.kernel.sysctl."vm.swappiness" = 1; - boot.kernelParams = [ "vsyscall=emulate" ]; - system.extraDependencies = [ foo ]; - }; - - testScript = - '' + security.sudo = { + enable = true; + wheelNeedsPassword = false; + }; + boot.kernel.sysctl."vm.swappiness" = 1; + boot.kernelParams = [ "vsyscall=emulate" ]; + system.extraDependencies = [ foo ]; + }; + + testScript = '' with subtest("nixos-version"): machine.succeed("[ `nixos-version | wc -w` = 2 ]") @@ -139,4 +167,5 @@ in { with subtest("Test boot parameters"): assert "vsyscall=emulate" in machine.succeed("cat /proc/cmdline") ''; -}) + } +) diff --git a/nixos/tests/mobilizon.nix b/nixos/tests/mobilizon.nix index 2b070ca9d9609..c456242e1b316 100644 --- a/nixos/tests/mobilizon.nix +++ b/nixos/tests/mobilizon.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: let certs = import ./common/acme/server/snakeoil-certs.nix; mobilizonDomain = certs.domain; @@ -7,7 +8,10 @@ import ./make-test-python.nix ({ lib, ... }: { name = "mobilizon"; - meta.maintainers = with lib.maintainers; [ minijackson erictapen ]; + meta.maintainers = with lib.maintainers; [ + minijackson + erictapen + ]; nodes.server = { ... }: @@ -41,4 +45,5 @@ import ./make-test-python.nix ({ lib, ... }: server.wait_for_open_port(${toString port}) server.succeed("curl --fail https://${mobilizonDomain}/") ''; - }) + } +) diff --git a/nixos/tests/mod_perl.nix b/nixos/tests/mod_perl.nix index f29d79ea6206a..677f2bcbc969f 100644 --- a/nixos/tests/mod_perl.nix +++ b/nixos/tests/mod_perl.nix @@ -1,53 +1,65 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "mod_perl"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "mod_perl"; - meta = with pkgs.lib.maintainers; { - maintainers = [ sgo ]; - }; + meta = with pkgs.lib.maintainers; { + maintainers = [ sgo ]; + }; - nodes.machine = { config, lib, pkgs, ... }: { - services.httpd = { - enable = true; - adminAddr = "admin@localhost"; - virtualHosts."modperl" = - let - inc = pkgs.writeTextDir "ModPerlTest.pm" '' - package ModPerlTest; - use strict; - use Apache2::RequestRec (); - use Apache2::RequestIO (); - use Apache2::Const -compile => qw(OK); - sub handler { - my $r = shift; - $r->content_type('text/plain'); - print "Hello mod_perl!\n"; - return Apache2::Const::OK; - } - 1; - ''; - startup = pkgs.writeScript "startup.pl" '' - use lib "${inc}", - split ":","${with pkgs.perl.pkgs; makeFullPerlPath ([ mod_perl2 ])}"; - 1; - ''; - in - { - extraConfig = '' - PerlRequire ${startup} - ''; - locations."/modperl" = { - extraConfig = '' - SetHandler perl-script - PerlResponseHandler ModPerlTest - ''; - }; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + services.httpd = { + enable = true; + adminAddr = "admin@localhost"; + virtualHosts."modperl" = + let + inc = pkgs.writeTextDir "ModPerlTest.pm" '' + package ModPerlTest; + use strict; + use Apache2::RequestRec (); + use Apache2::RequestIO (); + use Apache2::Const -compile => qw(OK); + sub handler { + my $r = shift; + $r->content_type('text/plain'); + print "Hello mod_perl!\n"; + return Apache2::Const::OK; + } + 1; + ''; + startup = pkgs.writeScript "startup.pl" '' + use lib "${inc}", + split ":","${with pkgs.perl.pkgs; makeFullPerlPath ([ mod_perl2 ])}"; + 1; + ''; + in + { + extraConfig = '' + PerlRequire ${startup} + ''; + locations."/modperl" = { + extraConfig = '' + SetHandler perl-script + PerlResponseHandler ModPerlTest + ''; + }; + }; + enablePerl = true; }; - enablePerl = true; - }; - }; - testScript = { ... }: '' - machine.wait_for_unit("httpd.service") - response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/modperl") - assert "Hello mod_perl!" in response, "/modperl handler did not respond" - ''; -}) + }; + testScript = + { ... }: + '' + machine.wait_for_unit("httpd.service") + response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/modperl") + assert "Hello mod_perl!" in response, "/modperl handler did not respond" + ''; + } +) diff --git a/nixos/tests/molly-brown.nix b/nixos/tests/molly-brown.nix index bfc036e81ba04..72e42c4a5be84 100644 --- a/nixos/tests/molly-brown.nix +++ b/nixos/tests/molly-brown.nix @@ -1,18 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: - let testString = "NixOS Gemini test successful"; - in { + let + testString = "NixOS Gemini test successful"; + in + { name = "molly-brown"; - meta = with pkgs.lib.maintainers; { maintainers = [ ehmry ]; }; + meta = with pkgs.lib.maintainers; { + maintainers = [ ehmry ]; + }; nodes = { - geminiServer = { config, pkgs, ... }: + geminiServer = + { config, pkgs, ... }: let inherit (config.networking) hostName; cfg = config.services.molly-brown; - in { + in + { environment.systemPackages = [ (pkgs.writeScriptBin "test-gemini" '' @@ -68,4 +75,5 @@ import ./make-test-python.nix ({ pkgs, ... }: geminiServer.succeed("test-gemini") ''; - }) + } +) diff --git a/nixos/tests/mollysocket.nix b/nixos/tests/mollysocket.nix index 5135d79fcba9b..ccfc20fdda6b2 100644 --- a/nixos/tests/mollysocket.nix +++ b/nixos/tests/mollysocket.nix @@ -1,25 +1,30 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - port = 1234; -in { - name = "mollysocket"; - meta.maintainers = with lib.maintainers; [ dotlambda ]; + let + port = 1234; + in + { + name = "mollysocket"; + meta.maintainers = with lib.maintainers; [ dotlambda ]; - nodes.mollysocket = { ... }: { - services.mollysocket = { - enable = true; - settings = { - inherit port; + nodes.mollysocket = + { ... }: + { + services.mollysocket = { + enable = true; + settings = { + inherit port; + }; + }; }; - }; - }; - testScript = '' - mollysocket.wait_for_unit("mollysocket.service") - mollysocket.wait_for_open_port(${toString port}) + testScript = '' + mollysocket.wait_for_unit("mollysocket.service") + mollysocket.wait_for_open_port(${toString port}) - out = mollysocket.succeed("curl --fail http://127.0.0.1:${toString port}") - assert "Version ${pkgs.mollysocket.version}" in out - ''; -}) + out = mollysocket.succeed("curl --fail http://127.0.0.1:${toString port}") + assert "Version ${pkgs.mollysocket.version}" in out + ''; + } +) diff --git a/nixos/tests/monetdb.nix b/nixos/tests/monetdb.nix index acbf01f769756..53c732338554c 100644 --- a/nixos/tests/monetdb.nix +++ b/nixos/tests/monetdb.nix @@ -1,57 +1,60 @@ -import ./make-test-python.nix ({ pkgs, ...} : - let creds = pkgs.writeText ".monetdb" '' - user=monetdb - password=monetdb - ''; - createUser = pkgs.writeText "createUser.sql" '' - CREATE USER "voc" WITH PASSWORD 'voc' NAME 'VOC Explorer' SCHEMA "sys"; - CREATE SCHEMA "voc" AUTHORIZATION "voc"; - ALTER USER "voc" SET SCHEMA "voc"; - ''; - credsVoc = pkgs.writeText ".monetdb" '' - user=voc - password=voc - ''; - transaction = pkgs.writeText "transaction" '' - START TRANSACTION; - CREATE TABLE test (id int, data varchar(30)); - ROLLBACK; - ''; - vocData = pkgs.fetchzip { - url = "https://dev.monetdb.org/Assets/VOC/voc_dump.zip"; - hash = "sha256-sQ5acTsSAiXQfOgt2PhN7X7Z9TZGZtLrPPxgQT2pCGQ="; - }; - onboardPeople = pkgs.writeText "onboardPeople" '' - CREATE VIEW onboard_people AS - SELECT * FROM ( - SELECT 'craftsmen' AS type, craftsmen.* FROM craftsmen - UNION ALL - SELECT 'impotenten' AS type, impotenten.* FROM impotenten - UNION ALL - SELECT 'passengers' AS type, passengers.* FROM passengers - UNION ALL - SELECT 'seafarers' AS type, seafarers.* FROM seafarers - UNION ALL - SELECT 'soldiers' AS type, soldiers.* FROM soldiers - UNION ALL - SELECT 'total' AS type, total.* FROM total - ) AS onboard_people_table; - SELECT type, COUNT(*) AS total - FROM onboard_people GROUP BY type ORDER BY type; - ''; - onboardExpected = pkgs.lib.strings.replaceStrings ["\n"] ["\\n"] '' - +------------+-------+ - | type | total | - +============+=======+ - | craftsmen | 2349 | - | impotenten | 938 | - | passengers | 2813 | - | seafarers | 4468 | - | soldiers | 4177 | - | total | 2467 | - +------------+-------+ - ''; - in { +import ./make-test-python.nix ( + { pkgs, ... }: + let + creds = pkgs.writeText ".monetdb" '' + user=monetdb + password=monetdb + ''; + createUser = pkgs.writeText "createUser.sql" '' + CREATE USER "voc" WITH PASSWORD 'voc' NAME 'VOC Explorer' SCHEMA "sys"; + CREATE SCHEMA "voc" AUTHORIZATION "voc"; + ALTER USER "voc" SET SCHEMA "voc"; + ''; + credsVoc = pkgs.writeText ".monetdb" '' + user=voc + password=voc + ''; + transaction = pkgs.writeText "transaction" '' + START TRANSACTION; + CREATE TABLE test (id int, data varchar(30)); + ROLLBACK; + ''; + vocData = pkgs.fetchzip { + url = "https://dev.monetdb.org/Assets/VOC/voc_dump.zip"; + hash = "sha256-sQ5acTsSAiXQfOgt2PhN7X7Z9TZGZtLrPPxgQT2pCGQ="; + }; + onboardPeople = pkgs.writeText "onboardPeople" '' + CREATE VIEW onboard_people AS + SELECT * FROM ( + SELECT 'craftsmen' AS type, craftsmen.* FROM craftsmen + UNION ALL + SELECT 'impotenten' AS type, impotenten.* FROM impotenten + UNION ALL + SELECT 'passengers' AS type, passengers.* FROM passengers + UNION ALL + SELECT 'seafarers' AS type, seafarers.* FROM seafarers + UNION ALL + SELECT 'soldiers' AS type, soldiers.* FROM soldiers + UNION ALL + SELECT 'total' AS type, total.* FROM total + ) AS onboard_people_table; + SELECT type, COUNT(*) AS total + FROM onboard_people GROUP BY type ORDER BY type; + ''; + onboardExpected = pkgs.lib.strings.replaceStrings [ "\n" ] [ "\\n" ] '' + +------------+-------+ + | type | total | + +============+=======+ + | craftsmen | 2349 | + | impotenten | 938 | + | passengers | 2813 | + | seafarers | 4468 | + | soldiers | 4177 | + | total | 2467 | + +------------+-------+ + ''; + in + { name = "monetdb"; meta = with pkgs.lib.maintainers; { maintainers = [ StillerHarpo ]; @@ -73,5 +76,6 @@ import ./make-test-python.nix ({ pkgs, ...} : assert "8131" in machine.succeed("mclient -d voc -s \"SELECT count(*) FROM voyages\"") assert "${onboardExpected}" in machine.succeed("mclient -d voc ${onboardPeople}") - ''; - }) + ''; + } +) diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix index d82d5080e69c2..a42ba0abf4239 100644 --- a/nixos/tests/mongodb.nix +++ b/nixos/tests/mongodb.nix @@ -1,6 +1,7 @@ # This test start mongodb, runs a query using mongo shell -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let testQuery = pkgs.writeScript "nixtest.js" '' db.greetings.insert({ "greeting": "hello" }); @@ -24,26 +25,35 @@ import ./make-test-python.nix ({ pkgs, ... }: node.wait_for_closed_port(27017) ''; - in { + in + { name = "mongodb"; meta = with pkgs.lib.maintainers; { - maintainers = [ bluescreen303 offline phile314 ]; + maintainers = [ + bluescreen303 + offline + phile314 + ]; }; nodes = { - node = {...}: { - environment.systemPackages = with pkgs; [ - # remember to update mongodb.passthru.tests if you change this - mongodb-7_0 - ]; - }; + node = + { ... }: + { + environment.systemPackages = with pkgs; [ + # remember to update mongodb.passthru.tests if you change this + mongodb-7_0 + ]; + }; }; - testScript = '' - node.start() - '' + testScript = + '' + node.start() + '' + runMongoDBTest pkgs.mongodb-7_0 + '' node.shutdown() ''; - }) + } +) diff --git a/nixos/tests/moodle.nix b/nixos/tests/moodle.nix index 8fd011e0cb21f..4bf1c5e6c702d 100644 --- a/nixos/tests/moodle.nix +++ b/nixos/tests/moodle.nix @@ -1,22 +1,26 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "moodle"; - meta.maintainers = [ lib.maintainers.aanderse ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "moodle"; + meta.maintainers = [ lib.maintainers.aanderse ]; - nodes.machine = - { ... }: - { services.moodle.enable = true; - services.moodle.virtualHost.hostName = "localhost"; - services.moodle.virtualHost.adminAddr = "root@example.com"; - services.moodle.initialPassword = "correcthorsebatterystaple"; + nodes.machine = + { ... }: + { + services.moodle.enable = true; + services.moodle.virtualHost.hostName = "localhost"; + services.moodle.virtualHost.adminAddr = "root@example.com"; + services.moodle.initialPassword = "correcthorsebatterystaple"; - # Ensure the virtual machine has enough memory to avoid errors like: - # Fatal error: Out of memory (allocated 152047616) (tried to allocate 33554440 bytes) - virtualisation.memorySize = 2000; - }; + # Ensure the virtual machine has enough memory to avoid errors like: + # Fatal error: Out of memory (allocated 152047616) (tried to allocate 33554440 bytes) + virtualisation.memorySize = 2000; + }; - testScript = '' - start_all() - machine.wait_for_unit("phpfpm-moodle.service", timeout=1800) - machine.wait_until_succeeds("curl http://localhost/ | grep 'You are not logged in'") - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("phpfpm-moodle.service", timeout=1800) + machine.wait_until_succeeds("curl http://localhost/ | grep 'You are not logged in'") + ''; + } +) diff --git a/nixos/tests/moonraker.nix b/nixos/tests/moonraker.nix index b0a93a4a608b4..7eb43b68d1ee3 100644 --- a/nixos/tests/moonraker.nix +++ b/nixos/tests/moonraker.nix @@ -1,45 +1,53 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "moonraker"; - meta = with pkgs.lib.maintainers; { - maintainers = [ zhaofengli ]; - }; - - nodes = { - printer = { config, pkgs, ... }: { - security.polkit.enable = true; - - services.moonraker = { - enable = true; - allowSystemControl = true; - - settings = { - authorization = { - trusted_clients = [ "127.0.0.0/8" "::1/128" ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "moonraker"; + meta = with pkgs.lib.maintainers; { + maintainers = [ zhaofengli ]; + }; + + nodes = { + printer = + { config, pkgs, ... }: + { + security.polkit.enable = true; + + services.moonraker = { + enable = true; + allowSystemControl = true; + + settings = { + authorization = { + trusted_clients = [ + "127.0.0.0/8" + "::1/128" + ]; + }; + }; }; - }; - }; - services.klipper = { - enable = true; + services.klipper = { + enable = true; - user = "moonraker"; - group = "moonraker"; + user = "moonraker"; + group = "moonraker"; - # No mcu configured so won't even enter `ready` state - settings = {}; - }; + # No mcu configured so won't even enter `ready` state + settings = { }; + }; + }; }; - }; - testScript = '' - printer.start() + testScript = '' + printer.start() - printer.wait_for_unit("klipper.service") - printer.wait_for_unit("moonraker.service") - printer.wait_until_succeeds("curl http://localhost:7125/printer/info | grep -v 'Not Found' >&2", timeout=30) + printer.wait_for_unit("klipper.service") + printer.wait_for_unit("moonraker.service") + printer.wait_until_succeeds("curl http://localhost:7125/printer/info | grep -v 'Not Found' >&2", timeout=30) - with subtest("Check that we can perform system-level operations"): - printer.succeed("curl -X POST http://localhost:7125/machine/services/stop?service=klipper | grep ok >&2") - printer.wait_until_succeeds("systemctl --no-pager show klipper.service | grep ActiveState=inactive", timeout=10) - ''; -}) + with subtest("Check that we can perform system-level operations"): + printer.succeed("curl -X POST http://localhost:7125/machine/services/stop?service=klipper | grep ok >&2") + printer.wait_until_succeeds("systemctl --no-pager show klipper.service | grep ActiveState=inactive", timeout=10) + ''; + } +) diff --git a/nixos/tests/moosefs.nix b/nixos/tests/moosefs.nix index 0dc08748b8281..ca351c3a88554 100644 --- a/nixos/tests/moosefs.nix +++ b/nixos/tests/moosefs.nix @@ -1,89 +1,100 @@ -import ./make-test-python.nix ({ pkgs, ... } : +import ./make-test-python.nix ( + { pkgs, ... }: -let - master = { pkgs, ... } : { - # data base is stored in memory - # server crashes with default memory size - virtualisation.memorySize = 1024; + let + master = + { pkgs, ... }: + { + # data base is stored in memory + # server crashes with default memory size + virtualisation.memorySize = 1024; - services.moosefs.master = { - enable = true; - openFirewall = true; - exports = [ - "* / rw,alldirs,admin,maproot=0:0" - "* . rw" - ]; - }; - }; + services.moosefs.master = { + enable = true; + openFirewall = true; + exports = [ + "* / rw,alldirs,admin,maproot=0:0" + "* . rw" + ]; + }; + }; - chunkserver = { pkgs, ... } : { - virtualisation.emptyDiskImages = [ 4096 ]; - boot.initrd.postDeviceCommands = '' - ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb - ''; + chunkserver = + { pkgs, ... }: + { + virtualisation.emptyDiskImages = [ 4096 ]; + boot.initrd.postDeviceCommands = '' + ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb + ''; - fileSystems = pkgs.lib.mkVMOverride { - "/data" = { - device = "/dev/disk/by-label/data"; - fsType = "ext4"; - }; - }; + fileSystems = pkgs.lib.mkVMOverride { + "/data" = { + device = "/dev/disk/by-label/data"; + fsType = "ext4"; + }; + }; - services.moosefs = { - masterHost = "master"; - chunkserver = { - openFirewall = true; - enable = true; - hdds = [ "~/data" ]; + services.moosefs = { + masterHost = "master"; + chunkserver = { + openFirewall = true; + enable = true; + hdds = [ "~/data" ]; + }; + }; }; - }; - }; - metalogger = { pkgs, ... } : { - services.moosefs = { - masterHost = "master"; - metalogger.enable = true; - }; - }; + metalogger = + { pkgs, ... }: + { + services.moosefs = { + masterHost = "master"; + metalogger.enable = true; + }; + }; - client = { pkgs, ... } : { - services.moosefs.client.enable = true; - }; + client = + { pkgs, ... }: + { + services.moosefs.client.enable = true; + }; -in { - name = "moosefs"; + in + { + name = "moosefs"; - nodes= { - inherit master; - inherit metalogger; - chunkserver1 = chunkserver; - chunkserver2 = chunkserver; - client1 = client; - client2 = client; - }; + nodes = { + inherit master; + inherit metalogger; + chunkserver1 = chunkserver; + chunkserver2 = chunkserver; + client1 = client; + client2 = client; + }; - testScript = '' - # prepare master server - master.start() - master.wait_for_unit("multi-user.target") - master.succeed("mfsmaster-init") - master.succeed("systemctl restart mfs-master") - master.wait_for_unit("mfs-master.service") + testScript = '' + # prepare master server + master.start() + master.wait_for_unit("multi-user.target") + master.succeed("mfsmaster-init") + master.succeed("systemctl restart mfs-master") + master.wait_for_unit("mfs-master.service") - metalogger.wait_for_unit("mfs-metalogger.service") + metalogger.wait_for_unit("mfs-metalogger.service") - for chunkserver in [chunkserver1, chunkserver2]: - chunkserver.wait_for_unit("multi-user.target") - chunkserver.succeed("chown moosefs:moosefs /data") - chunkserver.succeed("systemctl restart mfs-chunkserver") - chunkserver.wait_for_unit("mfs-chunkserver.service") + for chunkserver in [chunkserver1, chunkserver2]: + chunkserver.wait_for_unit("multi-user.target") + chunkserver.succeed("chown moosefs:moosefs /data") + chunkserver.succeed("systemctl restart mfs-chunkserver") + chunkserver.wait_for_unit("mfs-chunkserver.service") - for client in [client1, client2]: - client.wait_for_unit("multi-user.target") - client.succeed("mkdir /moosefs") - client.succeed("mount -t moosefs master:/ /moosefs") + for client in [client1, client2]: + client.wait_for_unit("multi-user.target") + client.succeed("mkdir /moosefs") + client.succeed("mount -t moosefs master:/ /moosefs") - client1.succeed("echo test > /moosefs/file") - client2.succeed("grep test /moosefs/file") - ''; -}) + client1.succeed("echo test > /moosefs/file") + client2.succeed("grep test /moosefs/file") + ''; + } +) diff --git a/nixos/tests/morph-browser.nix b/nixos/tests/morph-browser.nix index 65ad4d85cc12e..ec526e31c3c39 100644 --- a/nixos/tests/morph-browser.nix +++ b/nixos/tests/morph-browser.nix @@ -1,36 +1,39 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "morph-browser-standalone"; - meta.maintainers = lib.teams.lomiri.members; - - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; - - services.xserver.enable = true; - - environment = { - systemPackages = with pkgs.lomiri; [ - suru-icon-theme - morph-browser - ]; - variables = { - UITK_ICON_THEME = "suru"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "morph-browser-standalone"; + meta.maintainers = lib.teams.lomiri.members; + + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; + + services.xserver.enable = true; + + environment = { + systemPackages = with pkgs.lomiri; [ + suru-icon-theme + morph-browser + ]; + variables = { + UITK_ICON_THEME = "suru"; + }; + }; + + i18n.supportedLocales = [ "all" ]; + + fonts.packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; }; - }; - i18n.supportedLocales = [ "all" ]; + enableOCR = true; - fonts.packages = with pkgs; [ - # Intended font & helps with OCR - ubuntu-classic - ]; - }; - - enableOCR = true; - - testScript = - '' + testScript = '' machine.wait_for_x() with subtest("morph browser launches"): @@ -50,4 +53,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { machine.wait_for_text(r"Web-Browser|Neuer|Seiten|Lesezeichen") machine.screenshot("morph_localised") ''; -}) + } +) diff --git a/nixos/tests/morty.nix b/nixos/tests/morty.nix index 9909596820d31..4ec44e31d487e 100644 --- a/nixos/tests/morty.nix +++ b/nixos/tests/morty.nix @@ -1,30 +1,33 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "morty"; - meta = with pkgs.lib.maintainers; { - maintainers = [ leenaars ]; - }; + { + name = "morty"; + meta = with pkgs.lib.maintainers; { + maintainers = [ leenaars ]; + }; - nodes = - { mortyProxyWithKey = + nodes = { + mortyProxyWithKey = - { ... }: - { services.morty = { - enable = true; - key = "78a9cd0cfee20c672f78427efb2a2a96036027f0"; - port = 3001; + { ... }: + { + services.morty = { + enable = true; + key = "78a9cd0cfee20c672f78427efb2a2a96036027f0"; + port = 3001; + }; }; - }; }; - testScript = - { ... }: - '' - mortyProxyWithKey.wait_for_unit("default.target") - mortyProxyWithKey.wait_for_open_port(3001) - mortyProxyWithKey.succeed("curl -fL 127.0.0.1:3001 | grep MortyProxy") - ''; + testScript = + { ... }: + '' + mortyProxyWithKey.wait_for_unit("default.target") + mortyProxyWithKey.wait_for_open_port(3001) + mortyProxyWithKey.succeed("curl -fL 127.0.0.1:3001 | grep MortyProxy") + ''; -}) + } +) diff --git a/nixos/tests/mosquitto.nix b/nixos/tests/mosquitto.nix index eca29292721fd..30c7e3bcd32c0 100644 --- a/nixos/tests/mosquitto.nix +++ b/nixos/tests/mosquitto.nix @@ -1,213 +1,229 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -let - port = 1888; - tlsPort = 1889; - anonPort = 1890; - password = "VERY_secret"; - hashedPassword = "$7$101$/WJc4Mp+I+uYE9sR$o7z9rD1EYXHPwEP5GqQj6A7k4W1yVbePlb8TqNcuOLV9WNCiDgwHOB0JHC1WCtdkssqTBduBNUnUGd6kmZvDSw=="; - topic = "test/foo"; - - snakeOil = pkgs.runCommand "snakeoil-certs" { - buildInputs = [ pkgs.gnutls.bin ]; - caTemplate = pkgs.writeText "snakeoil-ca.template" '' - cn = server - expiration_days = -1 - cert_signing_key - ca - ''; - certTemplate = pkgs.writeText "snakeoil-cert.template" '' - cn = server - expiration_days = -1 - tls_www_server - encryption_key - signing_key - ''; - userCertTemplate = pkgs.writeText "snakeoil-user-cert.template" '' - organization = snakeoil - cn = client1 - expiration_days = -1 - tls_www_client - encryption_key - signing_key - ''; - } '' - mkdir "$out" - - certtool -p --bits 2048 --outfile "$out/ca.key" - certtool -s --template "$caTemplate" --load-privkey "$out/ca.key" \ - --outfile "$out/ca.crt" - certtool -p --bits 2048 --outfile "$out/server.key" - certtool -c --template "$certTemplate" \ - --load-ca-privkey "$out/ca.key" \ - --load-ca-certificate "$out/ca.crt" \ - --load-privkey "$out/server.key" \ - --outfile "$out/server.crt" - - certtool -p --bits 2048 --outfile "$out/client1.key" - certtool -c --template "$userCertTemplate" \ - --load-privkey "$out/client1.key" \ - --load-ca-privkey "$out/ca.key" \ - --load-ca-certificate "$out/ca.crt" \ - --outfile "$out/client1.crt" - ''; - -in { - name = "mosquitto"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ peterhoeg ]; - }; - - nodes = let - client = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ mosquitto ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + port = 1888; + tlsPort = 1889; + anonPort = 1890; + password = "VERY_secret"; + hashedPassword = "$7$101$/WJc4Mp+I+uYE9sR$o7z9rD1EYXHPwEP5GqQj6A7k4W1yVbePlb8TqNcuOLV9WNCiDgwHOB0JHC1WCtdkssqTBduBNUnUGd6kmZvDSw=="; + topic = "test/foo"; + + snakeOil = + pkgs.runCommand "snakeoil-certs" + { + buildInputs = [ pkgs.gnutls.bin ]; + caTemplate = pkgs.writeText "snakeoil-ca.template" '' + cn = server + expiration_days = -1 + cert_signing_key + ca + ''; + certTemplate = pkgs.writeText "snakeoil-cert.template" '' + cn = server + expiration_days = -1 + tls_www_server + encryption_key + signing_key + ''; + userCertTemplate = pkgs.writeText "snakeoil-user-cert.template" '' + organization = snakeoil + cn = client1 + expiration_days = -1 + tls_www_client + encryption_key + signing_key + ''; + } + '' + mkdir "$out" + + certtool -p --bits 2048 --outfile "$out/ca.key" + certtool -s --template "$caTemplate" --load-privkey "$out/ca.key" \ + --outfile "$out/ca.crt" + certtool -p --bits 2048 --outfile "$out/server.key" + certtool -c --template "$certTemplate" \ + --load-ca-privkey "$out/ca.key" \ + --load-ca-certificate "$out/ca.crt" \ + --load-privkey "$out/server.key" \ + --outfile "$out/server.crt" + + certtool -p --bits 2048 --outfile "$out/client1.key" + certtool -c --template "$userCertTemplate" \ + --load-privkey "$out/client1.key" \ + --load-ca-privkey "$out/ca.key" \ + --load-ca-certificate "$out/ca.crt" \ + --outfile "$out/client1.crt" + ''; + + in + { + name = "mosquitto"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ peterhoeg ]; }; - in { - server = { pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ port tlsPort anonPort ]; - networking.useNetworkd = true; - services.mosquitto = { - enable = true; - settings = { - sys_interval = 1; - }; - listeners = [ - { - inherit port; - users = { - password_store = { - inherit password; - }; - password_file = { - passwordFile = pkgs.writeText "mqtt-password" password; - }; - hashed_store = { - inherit hashedPassword; - }; - hashed_file = { - hashedPasswordFile = pkgs.writeText "mqtt-hashed-password" hashedPassword; - }; - reader = { - inherit password; - acl = [ - "read ${topic}" - "read $SYS/#" # so we always have something to read - ]; - }; - writer = { - inherit password; - acl = [ "write ${topic}" ]; - }; - }; - } + nodes = + let + client = + { pkgs, ... }: { - port = tlsPort; - users.client1 = { - acl = [ "read $SYS/#" ]; - }; - settings = { - cafile = "${snakeOil}/ca.crt"; - certfile = "${snakeOil}/server.crt"; - keyfile = "${snakeOil}/server.key"; - require_certificate = true; - use_identity_as_username = true; - }; - } + environment.systemPackages = with pkgs; [ mosquitto ]; + }; + in + { + server = + { pkgs, ... }: { - port = anonPort; - omitPasswordAuth = true; - settings.allow_anonymous = true; - acl = [ "pattern read #" ]; - users = { - anonWriter = { - password = "<ignored>" + password; - acl = [ "write ${topic}" ]; + networking.firewall.allowedTCPPorts = [ + port + tlsPort + anonPort + ]; + networking.useNetworkd = true; + services.mosquitto = { + enable = true; + settings = { + sys_interval = 1; }; + listeners = [ + { + inherit port; + users = { + password_store = { + inherit password; + }; + password_file = { + passwordFile = pkgs.writeText "mqtt-password" password; + }; + hashed_store = { + inherit hashedPassword; + }; + hashed_file = { + hashedPasswordFile = pkgs.writeText "mqtt-hashed-password" hashedPassword; + }; + + reader = { + inherit password; + acl = [ + "read ${topic}" + "read $SYS/#" # so we always have something to read + ]; + }; + writer = { + inherit password; + acl = [ "write ${topic}" ]; + }; + }; + } + { + port = tlsPort; + users.client1 = { + acl = [ "read $SYS/#" ]; + }; + settings = { + cafile = "${snakeOil}/ca.crt"; + certfile = "${snakeOil}/server.crt"; + keyfile = "${snakeOil}/server.key"; + require_certificate = true; + use_identity_as_username = true; + }; + } + { + port = anonPort; + omitPasswordAuth = true; + settings.allow_anonymous = true; + acl = [ "pattern read #" ]; + users = { + anonWriter = { + password = "<ignored>" + password; + acl = [ "write ${topic}" ]; + }; + }; + } + ]; }; - } - ]; + }; + + client1 = client; + client2 = client; }; - }; - client1 = client; - client2 = client; - }; - - testScript = '' - def mosquitto_cmd(binary, user, topic, port): - return ( - "mosquitto_{} " - "-V mqttv311 " - "-h server " - "-p {} " - "-u {} " - "-P '${password}' " - "-t '{}'" - ).format(binary, port, user, topic) - - - def publish(args, user, topic="${topic}", port=${toString port}): - return "{} {}".format(mosquitto_cmd("pub", user, topic, port), args) - - def subscribe(args, user, topic="${topic}", port=${toString port}): - return "{} -W 5 -C 1 {}".format(mosquitto_cmd("sub", user, topic, port), args) - - def parallel(*fns): - from threading import Thread - threads = [ Thread(target=fn) for fn in fns ] - for t in threads: t.start() - for t in threads: t.join() - - def wait_uuid(uuid): - server.wait_for_console_text(uuid) - return None - - - start_all() - server.wait_for_unit("mosquitto.service") - - with subtest("check passwords"): - client1.succeed(publish("-m test", "password_store")) - client1.succeed(publish("-m test", "password_file")) - client1.succeed(publish("-m test", "hashed_store")) - client1.succeed(publish("-m test", "hashed_file")) - - with subtest("check acl"): - client1.succeed(subscribe("", "reader", topic="$SYS/#")) - client1.fail(subscribe("", "writer", topic="$SYS/#")) - - parallel( - lambda: client1.succeed(subscribe("-i 3688cdd7-aa07-42a4-be22-cb9352917e40", "reader")), - lambda: [ - wait_uuid("3688cdd7-aa07-42a4-be22-cb9352917e40"), - client2.succeed(publish("-m test", "writer")) - ]) - - parallel( - lambda: client1.fail(subscribe("-i 24ff16a2-ae33-4a51-9098-1b417153c712", "reader")), - lambda: [ - wait_uuid("24ff16a2-ae33-4a51-9098-1b417153c712"), - client2.succeed(publish("-m test", "reader")) - ]) - - with subtest("check tls"): - client1.succeed( - subscribe( - "--cafile ${snakeOil}/ca.crt " - "--cert ${snakeOil}/client1.crt " - "--key ${snakeOil}/client1.key", - topic="$SYS/#", - port=${toString tlsPort}, - user="no_such_user")) - - with subtest("check omitPasswordAuth"): - parallel( - lambda: client1.succeed(subscribe("-i fd56032c-d9cb-4813-a3b4-6be0e04c8fc3", - "anonReader", port=${toString anonPort})), - lambda: [ - wait_uuid("fd56032c-d9cb-4813-a3b4-6be0e04c8fc3"), - client2.succeed(publish("-m test", "anonWriter", port=${toString anonPort})) - ]) - ''; -}) + testScript = '' + def mosquitto_cmd(binary, user, topic, port): + return ( + "mosquitto_{} " + "-V mqttv311 " + "-h server " + "-p {} " + "-u {} " + "-P '${password}' " + "-t '{}'" + ).format(binary, port, user, topic) + + + def publish(args, user, topic="${topic}", port=${toString port}): + return "{} {}".format(mosquitto_cmd("pub", user, topic, port), args) + + def subscribe(args, user, topic="${topic}", port=${toString port}): + return "{} -W 5 -C 1 {}".format(mosquitto_cmd("sub", user, topic, port), args) + + def parallel(*fns): + from threading import Thread + threads = [ Thread(target=fn) for fn in fns ] + for t in threads: t.start() + for t in threads: t.join() + + def wait_uuid(uuid): + server.wait_for_console_text(uuid) + return None + + + start_all() + server.wait_for_unit("mosquitto.service") + + with subtest("check passwords"): + client1.succeed(publish("-m test", "password_store")) + client1.succeed(publish("-m test", "password_file")) + client1.succeed(publish("-m test", "hashed_store")) + client1.succeed(publish("-m test", "hashed_file")) + + with subtest("check acl"): + client1.succeed(subscribe("", "reader", topic="$SYS/#")) + client1.fail(subscribe("", "writer", topic="$SYS/#")) + + parallel( + lambda: client1.succeed(subscribe("-i 3688cdd7-aa07-42a4-be22-cb9352917e40", "reader")), + lambda: [ + wait_uuid("3688cdd7-aa07-42a4-be22-cb9352917e40"), + client2.succeed(publish("-m test", "writer")) + ]) + + parallel( + lambda: client1.fail(subscribe("-i 24ff16a2-ae33-4a51-9098-1b417153c712", "reader")), + lambda: [ + wait_uuid("24ff16a2-ae33-4a51-9098-1b417153c712"), + client2.succeed(publish("-m test", "reader")) + ]) + + with subtest("check tls"): + client1.succeed( + subscribe( + "--cafile ${snakeOil}/ca.crt " + "--cert ${snakeOil}/client1.crt " + "--key ${snakeOil}/client1.key", + topic="$SYS/#", + port=${toString tlsPort}, + user="no_such_user")) + + with subtest("check omitPasswordAuth"): + parallel( + lambda: client1.succeed(subscribe("-i fd56032c-d9cb-4813-a3b4-6be0e04c8fc3", + "anonReader", port=${toString anonPort})), + lambda: [ + wait_uuid("fd56032c-d9cb-4813-a3b4-6be0e04c8fc3"), + client2.succeed(publish("-m test", "anonWriter", port=${toString anonPort})) + ]) + ''; + } +) diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix index c2e151c224760..6ec24ae78cd45 100644 --- a/nixos/tests/mpv.nix +++ b/nixos/tests/mpv.nix @@ -1,26 +1,28 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -let - port = toString 4321; -in -{ - name = "mpv"; - meta.maintainers = with lib.maintainers; [ zopieux ]; + let + port = toString 4321; + in + { + name = "mpv"; + meta.maintainers = with lib.maintainers; [ zopieux ]; - nodes.machine = - { pkgs, ... }: - { - environment.systemPackages = [ - pkgs.curl - (pkgs.mpv.override { - scripts = [ pkgs.mpvScripts.simple-mpv-webui ]; - }) - ]; - }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ + pkgs.curl + (pkgs.mpv.override { + scripts = [ pkgs.mpvScripts.simple-mpv-webui ]; + }) + ]; + }; - testScript = '' - machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes >&2 &") - machine.wait_for_open_port(${port}) - assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}") - ''; -}) + testScript = '' + machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes >&2 &") + machine.wait_for_open_port(${port}) + assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}") + ''; + } +) diff --git a/nixos/tests/mtp.nix b/nixos/tests/mtp.nix index 8f0835d75d3fe..b4efef0318aa1 100644 --- a/nixos/tests/mtp.nix +++ b/nixos/tests/mtp.nix @@ -1,109 +1,121 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "mtp"; - meta = with pkgs.lib.maintainers; { - maintainers = [ matthewcroughan nixinator ]; - }; - - nodes = +import ./make-test-python.nix ( + { pkgs, ... }: { - client = { config, pkgs, ... }: { - # DBUS runs only once a user session is created, which means a user has to - # login. Here, we log in as root. Once logged in, the gvfs-daemon service runs - # as UID 0 in User-0.service - services.getty.autologinUser = "root"; + name = "mtp"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + matthewcroughan + nixinator + ]; + }; - # XDG_RUNTIME_DIR is needed for running systemd-user services such as - # gvfs-daemon as root. - environment.variables.XDG_RUNTIME_DIR = "/run/user/0"; + nodes = { + client = + { config, pkgs, ... }: + { + # DBUS runs only once a user session is created, which means a user has to + # login. Here, we log in as root. Once logged in, the gvfs-daemon service runs + # as UID 0 in User-0.service + services.getty.autologinUser = "root"; - environment.systemPackages = with pkgs; [ usbutils glib jmtpfs tree ]; - services.gvfs.enable = true; + # XDG_RUNTIME_DIR is needed for running systemd-user services such as + # gvfs-daemon as root. + environment.variables.XDG_RUNTIME_DIR = "/run/user/0"; - # Creates a usb-mtp device inside the VM, which is mapped to the host's - # /tmp folder, it is able to write files to this location, but only has - # permissions to read its own creations. - virtualisation.qemu.options = [ - "-usb" - "-device usb-mtp,rootdir=/tmp,readonly=false" - ]; - }; - }; + environment.systemPackages = with pkgs; [ + usbutils + glib + jmtpfs + tree + ]; + services.gvfs.enable = true; + # Creates a usb-mtp device inside the VM, which is mapped to the host's + # /tmp folder, it is able to write files to this location, but only has + # permissions to read its own creations. + virtualisation.qemu.options = [ + "-usb" + "-device usb-mtp,rootdir=/tmp,readonly=false" + ]; + }; + }; - testScript = { nodes, ... }: - let - # Creates a list of QEMU MTP devices matching USB ID (46f4:0004). This - # value can be sourced in a shell script. This is so we can loop over the - # devices we find, as this test may want to use more than one MTP device - # in future. - mtpDevices = pkgs.writeScript "mtpDevices.sh" '' - export mtpDevices=$(lsusb -d 46f4:0004 | awk {'print $2","$4'} | sed 's/[:-]/ /g') - ''; - # Qemu is only capable of creating an MTP device with Picture Transfer - # Protocol. This means that gvfs must use gphoto2:// rather than mtp:// - # when mounting. - # https://github.com/qemu/qemu/blob/970bc16f60937bcfd334f14c614bd4407c247961/hw/usb/dev-mtp.c#L278 - gvfs = rec { - mountAllMtpDevices = pkgs.writeScript "mountAllMtpDevices.sh" '' - set -e - source ${mtpDevices} - for i in $mtpDevices - do - gio mount "gphoto2://[usb:$i]/" - done - ''; - unmountAllMtpDevices = pkgs.writeScript "unmountAllMtpDevices.sh" '' - set -e - source ${mtpDevices} - for i in $mtpDevices - do - gio mount -u "gphoto2://[usb:$i]/" - done - ''; - # gvfsTest: - # 1. Creates a 10M test file - # 2. Copies it to the device using GIO tools - # 3. Checks for corruption with `diff` - # 4. Removes the file, then unmounts the disks. - gvfsTest = pkgs.writeScript "gvfsTest.sh" '' - set -e - source ${mtpDevices} - ${mountAllMtpDevices} - dd if=/dev/urandom of=testFile10M bs=1M count=10 - for i in $mtpDevices - do - gio copy ./testFile10M gphoto2://[usb:$i]/ - ls -lah /run/user/0/gvfs/*/testFile10M - gio remove gphoto2://[usb:$i]/testFile10M - done - ${unmountAllMtpDevices} + testScript = + { nodes, ... }: + let + # Creates a list of QEMU MTP devices matching USB ID (46f4:0004). This + # value can be sourced in a shell script. This is so we can loop over the + # devices we find, as this test may want to use more than one MTP device + # in future. + mtpDevices = pkgs.writeScript "mtpDevices.sh" '' + export mtpDevices=$(lsusb -d 46f4:0004 | awk {'print $2","$4'} | sed 's/[:-]/ /g') ''; - }; - jmtpfs = { - # jmtpfsTest: - # 1. Mounts the device on a dir named `phone` using jmtpfs - # 2. Puts the current Nixpkgs libmtp version into a file - # 3. Checks for corruption with `diff` - # 4. Prints the directory tree - jmtpfsTest = pkgs.writeScript "jmtpfsTest.sh" '' - set -e - mkdir phone - jmtpfs phone - echo "${pkgs.libmtp.version}" > phone/tmp/testFile - echo "${pkgs.libmtp.version}" > testFile - diff phone/tmp/testFile testFile - tree phone - ''; - }; - in - # Using >&2 allows the results of the scripts to be printed to the terminal - # when building this test with Nix. Scripts would otherwise complete - # silently. - '' - start_all() - client.wait_for_unit("multi-user.target") - client.wait_for_unit("dbus.service") - client.succeed("${gvfs.gvfsTest} >&2") - client.succeed("${jmtpfs.jmtpfsTest} >&2") - ''; -}) + # Qemu is only capable of creating an MTP device with Picture Transfer + # Protocol. This means that gvfs must use gphoto2:// rather than mtp:// + # when mounting. + # https://github.com/qemu/qemu/blob/970bc16f60937bcfd334f14c614bd4407c247961/hw/usb/dev-mtp.c#L278 + gvfs = rec { + mountAllMtpDevices = pkgs.writeScript "mountAllMtpDevices.sh" '' + set -e + source ${mtpDevices} + for i in $mtpDevices + do + gio mount "gphoto2://[usb:$i]/" + done + ''; + unmountAllMtpDevices = pkgs.writeScript "unmountAllMtpDevices.sh" '' + set -e + source ${mtpDevices} + for i in $mtpDevices + do + gio mount -u "gphoto2://[usb:$i]/" + done + ''; + # gvfsTest: + # 1. Creates a 10M test file + # 2. Copies it to the device using GIO tools + # 3. Checks for corruption with `diff` + # 4. Removes the file, then unmounts the disks. + gvfsTest = pkgs.writeScript "gvfsTest.sh" '' + set -e + source ${mtpDevices} + ${mountAllMtpDevices} + dd if=/dev/urandom of=testFile10M bs=1M count=10 + for i in $mtpDevices + do + gio copy ./testFile10M gphoto2://[usb:$i]/ + ls -lah /run/user/0/gvfs/*/testFile10M + gio remove gphoto2://[usb:$i]/testFile10M + done + ${unmountAllMtpDevices} + ''; + }; + jmtpfs = { + # jmtpfsTest: + # 1. Mounts the device on a dir named `phone` using jmtpfs + # 2. Puts the current Nixpkgs libmtp version into a file + # 3. Checks for corruption with `diff` + # 4. Prints the directory tree + jmtpfsTest = pkgs.writeScript "jmtpfsTest.sh" '' + set -e + mkdir phone + jmtpfs phone + echo "${pkgs.libmtp.version}" > phone/tmp/testFile + echo "${pkgs.libmtp.version}" > testFile + diff phone/tmp/testFile testFile + tree phone + ''; + }; + in + # Using >&2 allows the results of the scripts to be printed to the terminal + # when building this test with Nix. Scripts would otherwise complete + # silently. + '' + start_all() + client.wait_for_unit("multi-user.target") + client.wait_for_unit("dbus.service") + client.succeed("${gvfs.gvfsTest} >&2") + client.succeed("${jmtpfs.jmtpfsTest} >&2") + ''; + } +) diff --git a/nixos/tests/multipass.nix b/nixos/tests/multipass.nix index 0980e9195f5aa..da63a7a41fbbc 100644 --- a/nixos/tests/multipass.nix +++ b/nixos/tests/multipass.nix @@ -1,37 +1,41 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -let - multipass-image = import ../release.nix { - configuration = { - # Building documentation makes the test unnecessarily take a longer time: - documentation.enable = lib.mkForce false; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + multipass-image = import ../release.nix { + configuration = { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; + }; }; - }; -in -{ - name = "multipass"; + in + { + name = "multipass"; - meta.maintainers = [ lib.maintainers.jnsgruk ]; + meta.maintainers = [ lib.maintainers.jnsgruk ]; - nodes.machine = { lib, ... }: { - virtualisation = { - cores = 1; - memorySize = 1024; - diskSize = 4096; + nodes.machine = + { lib, ... }: + { + virtualisation = { + cores = 1; + memorySize = 1024; + diskSize = 4096; - multipass.enable = true; - }; - }; + multipass.enable = true; + }; + }; - testScript = '' - machine.wait_for_unit("sockets.target") - machine.wait_for_unit("multipass.service") - machine.wait_for_file("/var/lib/multipass/data/multipassd/network/multipass_subnet") + testScript = '' + machine.wait_for_unit("sockets.target") + machine.wait_for_unit("multipass.service") + machine.wait_for_file("/var/lib/multipass/data/multipassd/network/multipass_subnet") - # Wait for Multipass to settle - machine.sleep(1) + # Wait for Multipass to settle + machine.sleep(1) - machine.succeed("multipass list") - ''; -}) + machine.succeed("multipass list") + ''; + } +) diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 12fa00b79bbf8..c8bbe473c2b1c 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -1,89 +1,95 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -let - client = { pkgs, ... }: { - imports = [ ./common/x11.nix ]; - environment.systemPackages = [ pkgs.mumble ]; - }; + let + client = + { pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ pkgs.mumble ]; + }; - # outside of tests, this file should obviously not come from the nix store - envFile = pkgs.writeText "nixos-test-mumble-murmurd.env" '' - MURMURD_PASSWORD=testpassword - ''; + # outside of tests, this file should obviously not come from the nix store + envFile = pkgs.writeText "nixos-test-mumble-murmurd.env" '' + MURMURD_PASSWORD=testpassword + ''; -in -{ - name = "mumble"; - meta = with pkgs.lib.maintainers; { - maintainers = [ thoughtpolice ]; - }; - - nodes = { - server = { config, ... }: { - security.apparmor.enable = true; - services.murmur.enable = true; - services.murmur.registerName = "NixOS tests"; - services.murmur.password = "$MURMURD_PASSWORD"; - services.murmur.environmentFile = envFile; - networking.firewall.allowedTCPPorts = [ config.services.murmur.port ]; + in + { + name = "mumble"; + meta = with pkgs.lib.maintainers; { + maintainers = [ thoughtpolice ]; }; - client1 = client; - client2 = client; - }; + nodes = { + server = + { config, ... }: + { + security.apparmor.enable = true; + services.murmur.enable = true; + services.murmur.registerName = "NixOS tests"; + services.murmur.password = "$MURMURD_PASSWORD"; + services.murmur.environmentFile = envFile; + networking.firewall.allowedTCPPorts = [ config.services.murmur.port ]; + }; + + client1 = client; + client2 = client; + }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("murmur.service") - client1.wait_for_x() - client2.wait_for_x() + server.wait_for_unit("murmur.service") + client1.wait_for_x() + client2.wait_for_x() - client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &") - client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &") + client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &") + client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &") - # cancel client audio configuration - client1.wait_for_window(r"Audio Tuning Wizard") - client2.wait_for_window(r"Audio Tuning Wizard") - server.sleep(5) # wait because mumble is slow to register event handlers - client1.send_key("esc") - client2.send_key("esc") + # cancel client audio configuration + client1.wait_for_window(r"Audio Tuning Wizard") + client2.wait_for_window(r"Audio Tuning Wizard") + server.sleep(5) # wait because mumble is slow to register event handlers + client1.send_key("esc") + client2.send_key("esc") - # cancel client cert configuration - client1.wait_for_window(r"Certificate Management") - client2.wait_for_window(r"Certificate Management") - server.sleep(5) # wait because mumble is slow to register event handlers - client1.send_key("esc") - client2.send_key("esc") + # cancel client cert configuration + client1.wait_for_window(r"Certificate Management") + client2.wait_for_window(r"Certificate Management") + server.sleep(5) # wait because mumble is slow to register event handlers + client1.send_key("esc") + client2.send_key("esc") - # accept server certificate - client1.wait_for_window(r"^Mumble$") - client2.wait_for_window(r"^Mumble$") - server.sleep(5) # wait because mumble is slow to register event handlers - client1.send_chars("y") - client2.send_chars("y") - server.sleep(5) # wait because mumble is slow to register event handlers + # accept server certificate + client1.wait_for_window(r"^Mumble$") + client2.wait_for_window(r"^Mumble$") + server.sleep(5) # wait because mumble is slow to register event handlers + client1.send_chars("y") + client2.send_chars("y") + server.sleep(5) # wait because mumble is slow to register event handlers - # sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again - client1.send_key("alt-tab") - client2.send_key("alt-tab") - server.sleep(5) # wait because mumble is slow to register event handlers - client1.send_chars("y") - client2.send_chars("y") + # sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again + client1.send_key("alt-tab") + client2.send_key("alt-tab") + server.sleep(5) # wait because mumble is slow to register event handlers + client1.send_chars("y") + client2.send_chars("y") - # Find clients in logs - server.wait_until_succeeds( - "journalctl -eu murmur -o cat | grep -q 'client1.\+Authenticated'" - ) - server.wait_until_succeeds( - "journalctl -eu murmur -o cat | grep -q 'client2.\+Authenticated'" - ) + # Find clients in logs + server.wait_until_succeeds( + "journalctl -eu murmur -o cat | grep -q 'client1.\+Authenticated'" + ) + server.wait_until_succeeds( + "journalctl -eu murmur -o cat | grep -q 'client2.\+Authenticated'" + ) - server.sleep(5) # wait to get screenshot - client1.screenshot("screen1") - client2.screenshot("screen2") + server.sleep(5) # wait to get screenshot + client1.screenshot("screen1") + client2.screenshot("screen2") - # check if apparmor denied anything - server.fail('journalctl -b --no-pager --grep "^audit: .*apparmor=\\"DENIED\\""') - ''; -}) + # check if apparmor denied anything + server.fail('journalctl -b --no-pager --grep "^audit: .*apparmor=\\"DENIED\\""') + ''; + } +) diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index 7b7bf6f41c046..b28562bbaa2ef 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -1,15 +1,17 @@ # This test runs basic munin setup with node and cron job running on the same # machine. -import ./make-test-python.nix ({ pkgs, ...} : { - name = "munin"; - meta = with pkgs.lib.maintainers; { - maintainers = [ domenkozar ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "munin"; + meta = with pkgs.lib.maintainers; { + maintainers = [ domenkozar ]; + }; - nodes = { - one = - { config, ... }: + nodes = { + one = + { config, ... }: { services = { munin-node = { @@ -18,11 +20,11 @@ import ./make-test-python.nix ({ pkgs, ...} : { disabledPlugins = [ "apc_nis" ]; }; munin-cron = { - enable = true; - hosts = '' - [${config.networking.hostName}] - address localhost - ''; + enable = true; + hosts = '' + [${config.networking.hostName}] + address localhost + ''; }; }; @@ -31,16 +33,17 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("ensure munin-node starts and listens on 4949"): - one.wait_for_unit("munin-node.service") - one.wait_for_open_port(4949) + with subtest("ensure munin-node starts and listens on 4949"): + one.wait_for_unit("munin-node.service") + one.wait_for_open_port(4949) - with subtest("ensure munin-cron output is correct"): - one.wait_for_file("/var/lib/munin/one/one-uptime-uptime-g.rrd") - one.wait_for_file("/var/www/munin/one/index.html") - one.wait_for_file("/var/www/munin/one/one/diskstat_iops_vda-day.png", timeout=60) - ''; -}) + with subtest("ensure munin-cron output is correct"): + one.wait_for_file("/var/lib/munin/one/one-uptime-uptime-g.rrd") + one.wait_for_file("/var/www/munin/one/index.html") + one.wait_for_file("/var/www/munin/one/one/diskstat_iops_vda-day.png", timeout=60) + ''; + } +) diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix index 559c91ed8e550..f34f4514dc65e 100644 --- a/nixos/tests/musescore.nix +++ b/nixos/tests/musescore.nix @@ -1,93 +1,98 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -let - # Make sure we don't have to go through the startup tutorial - customMuseScoreConfig = pkgs.writeText "MuseScore4.ini" '' - [application] - hasCompletedFirstLaunchSetup=true + let + # Make sure we don't have to go through the startup tutorial + customMuseScoreConfig = pkgs.writeText "MuseScore4.ini" '' + [application] + hasCompletedFirstLaunchSetup=true - [project] - preferredScoreCreationMode=1 + [project] + preferredScoreCreationMode=1 ''; -in -{ - name = "musescore"; - meta = with pkgs.lib.maintainers; { - maintainers = [ turion ]; - }; + in + { + name = "musescore"; + meta = with pkgs.lib.maintainers; { + maintainers = [ turion ]; + }; - nodes.machine = { ... }: + nodes.machine = + { ... }: - { - imports = [ - ./common/x11.nix - ]; + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = with pkgs; [ - musescore - pdfgrep - ]; - }; + services.xserver.enable = true; + environment.systemPackages = with pkgs; [ + musescore + pdfgrep + ]; + }; - enableOCR = true; + enableOCR = true; - testScript = { ... }: '' - start_all() - machine.wait_for_x() + testScript = + { ... }: + '' + start_all() + machine.wait_for_x() - # Inject custom settings - machine.succeed("mkdir -p /root/.config/MuseScore/") - machine.succeed( - "cp ${customMuseScoreConfig} /root/.config/MuseScore/MuseScore4.ini" - ) + # Inject custom settings + machine.succeed("mkdir -p /root/.config/MuseScore/") + machine.succeed( + "cp ${customMuseScoreConfig} /root/.config/MuseScore/MuseScore4.ini" + ) - # Start MuseScore window - machine.execute("env XDG_RUNTIME_DIR=$PWD DISPLAY=:0.0 mscore >&2 &") + # Start MuseScore window + machine.execute("env XDG_RUNTIME_DIR=$PWD DISPLAY=:0.0 mscore >&2 &") - # Wait until MuseScore has launched - machine.wait_for_window("MuseScore Studio") + # Wait until MuseScore has launched + machine.wait_for_window("MuseScore Studio") - machine.screenshot("MuseScore0") + machine.screenshot("MuseScore0") - # Create a new score - machine.send_key("ctrl-n") + # Create a new score + machine.send_key("ctrl-n") - # Wait until the creation wizard appears - machine.wait_for_window("New score") + # Wait until the creation wizard appears + machine.wait_for_window("New score") - machine.screenshot("MuseScore1") + machine.screenshot("MuseScore1") - machine.send_key("tab") - machine.send_key("tab") - machine.send_key("ret") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("ret") - machine.sleep(2) + machine.sleep(2) - machine.send_key("tab") - # Type the beginning of https://de.wikipedia.org/wiki/Alle_meine_Entchen - machine.send_chars("cdef6gg5aaaa7g") - machine.sleep(1) + machine.send_key("tab") + # Type the beginning of https://de.wikipedia.org/wiki/Alle_meine_Entchen + machine.send_chars("cdef6gg5aaaa7g") + machine.sleep(1) - machine.screenshot("MuseScore2") + machine.screenshot("MuseScore2") - # Go to the export dialogue and create a PDF - machine.send_key("ctrl-p") + # Go to the export dialogue and create a PDF + machine.send_key("ctrl-p") - # Wait until the Print dialogue appears. - machine.wait_for_window("Print") + # Wait until the Print dialogue appears. + machine.wait_for_window("Print") - machine.screenshot("MuseScore4") - machine.send_key("alt-p") - machine.sleep(1) + machine.screenshot("MuseScore4") + machine.send_key("alt-p") + machine.sleep(1) - machine.screenshot("MuseScore5") + machine.screenshot("MuseScore5") - # Wait until PDF is exported - machine.wait_for_file('"/root/Untitled score.pdf"') + # Wait until PDF is exported + machine.wait_for_file('"/root/Untitled score.pdf"') - ## Check that it contains the title of the score - machine.succeed('pdfgrep "Untitled score" "/root/Untitled score.pdf"') - machine.copy_from_vm("/root/Untitled score.pdf") - ''; -}) + ## Check that it contains the title of the score + machine.succeed('pdfgrep "Untitled score" "/root/Untitled score.pdf"') + machine.copy_from_vm("/root/Untitled score.pdf") + ''; + } +) diff --git a/nixos/tests/mutable-users.nix b/nixos/tests/mutable-users.nix index ef83923f3e232..e4e35f2d72209 100644 --- a/nixos/tests/mutable-users.nix +++ b/nixos/tests/mutable-users.nix @@ -1,73 +1,76 @@ # Mutable users tests. -import ./make-test-python.nix ({ pkgs, ...} : { - name = "mutable-users"; - meta = with pkgs.lib.maintainers; { - maintainers = [ gleber ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "mutable-users"; + meta = with pkgs.lib.maintainers; { + maintainers = [ gleber ]; + }; - nodes = { - machine = { - specialisation.immutable.configuration = { - users.mutableUsers = false; - }; + nodes = { + machine = { + specialisation.immutable.configuration = { + users.mutableUsers = false; + }; - specialisation.mutable.configuration = { - users.mutableUsers = true; - users.users.dry-test.isNormalUser = true; + specialisation.mutable.configuration = { + users.mutableUsers = true; + users.users.dry-test.isNormalUser = true; + }; }; }; - }; - testScript = '' - machine.start() - machine.wait_for_unit("default.target") + testScript = '' + machine.start() + machine.wait_for_unit("default.target") - # Machine starts in immutable mode. Add a user and test if reactivating - # configuration removes the user. - with subtest("Machine in immutable mode"): - assert "foobar" not in machine.succeed("cat /etc/passwd") - machine.succeed("sudo useradd foobar") - assert "foobar" in machine.succeed("cat /etc/passwd") - machine.succeed( - "/run/booted-system/specialisation/immutable/bin/switch-to-configuration test" - ) - assert "foobar" not in machine.succeed("cat /etc/passwd") + # Machine starts in immutable mode. Add a user and test if reactivating + # configuration removes the user. + with subtest("Machine in immutable mode"): + assert "foobar" not in machine.succeed("cat /etc/passwd") + machine.succeed("sudo useradd foobar") + assert "foobar" in machine.succeed("cat /etc/passwd") + machine.succeed( + "/run/booted-system/specialisation/immutable/bin/switch-to-configuration test" + ) + assert "foobar" not in machine.succeed("cat /etc/passwd") - # In immutable mode passwd is not wrapped, while in mutable mode it is - # wrapped. - with subtest("Password is wrapped in mutable mode"): - assert "/run/current-system/" in machine.succeed("which passwd") - machine.succeed( - "/run/booted-system/specialisation/mutable/bin/switch-to-configuration test" - ) - assert "/run/wrappers/" in machine.succeed("which passwd") + # In immutable mode passwd is not wrapped, while in mutable mode it is + # wrapped. + with subtest("Password is wrapped in mutable mode"): + assert "/run/current-system/" in machine.succeed("which passwd") + machine.succeed( + "/run/booted-system/specialisation/mutable/bin/switch-to-configuration test" + ) + assert "/run/wrappers/" in machine.succeed("which passwd") - with subtest("dry-activation does not change files"): - machine.succeed('test -e /home/dry-test') # home was created - machine.succeed('rm -rf /home/dry-test') + with subtest("dry-activation does not change files"): + machine.succeed('test -e /home/dry-test') # home was created + machine.succeed('rm -rf /home/dry-test') - files_to_check = ['/etc/group', - '/etc/passwd', - '/etc/shadow', - '/etc/subuid', - '/etc/subgid', - '/var/lib/nixos/uid-map', - '/var/lib/nixos/gid-map', - '/var/lib/nixos/declarative-groups', - '/var/lib/nixos/declarative-users' - ] - expected_hashes = {} - expected_stats = {} - for file in files_to_check: - expected_hashes[file] = machine.succeed(f"sha256sum {file}") - expected_stats[file] = machine.succeed(f"stat {file}") + files_to_check = ['/etc/group', + '/etc/passwd', + '/etc/shadow', + '/etc/subuid', + '/etc/subgid', + '/var/lib/nixos/uid-map', + '/var/lib/nixos/gid-map', + '/var/lib/nixos/declarative-groups', + '/var/lib/nixos/declarative-users' + ] + expected_hashes = {} + expected_stats = {} + for file in files_to_check: + expected_hashes[file] = machine.succeed(f"sha256sum {file}") + expected_stats[file] = machine.succeed(f"stat {file}") - machine.succeed("/run/booted-system/specialisation/mutable/bin/switch-to-configuration dry-activate") + machine.succeed("/run/booted-system/specialisation/mutable/bin/switch-to-configuration dry-activate") - machine.fail('test -e /home/dry-test') # home was not recreated - for file in files_to_check: - assert machine.succeed(f"sha256sum {file}") == expected_hashes[file] - assert machine.succeed(f"stat {file}") == expected_stats[file] - ''; -}) + machine.fail('test -e /home/dry-test') # home was not recreated + for file in files_to_check: + assert machine.succeed(f"sha256sum {file}") == expected_hashes[file] + assert machine.succeed(f"stat {file}") == expected_stats[file] + ''; + } +) diff --git a/nixos/tests/mycelium/default.nix b/nixos/tests/mycelium/default.nix index 956a822a21860..82ec074f77c44 100644 --- a/nixos/tests/mycelium/default.nix +++ b/nixos/tests/mycelium/default.nix @@ -1,46 +1,56 @@ -import ../make-test-python.nix ({ lib, ... }: let - peer1-ip = "538:f40f:1c51:9bd9:9569:d3f6:d0a1:b2df"; - peer2-ip = "5b6:6776:fee0:c1f3:db00:b6a8:d013:d38f"; -in +import ../make-test-python.nix ( + { lib, ... }: + let + peer1-ip = "538:f40f:1c51:9bd9:9569:d3f6:d0a1:b2df"; + peer2-ip = "5b6:6776:fee0:c1f3:db00:b6a8:d013:d38f"; + in { name = "mycelium"; meta.maintainers = with lib.maintainers; [ lassulus ]; nodes = { - peer1 = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - networking.interfaces.eth1.ipv4.addresses = [{ - address = "192.168.1.11"; - prefixLength = 24; - }]; - - services.mycelium = { - enable = true; - addHostedPublicNodes = false; - openFirewall = true; - keyFile = ./peer1.key; - peers = [ - "quic://192.168.1.12:9651" - "tcp://192.168.1.12:9651" + peer1 = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.11"; + prefixLength = 24; + } ]; + + services.mycelium = { + enable = true; + addHostedPublicNodes = false; + openFirewall = true; + keyFile = ./peer1.key; + peers = [ + "quic://192.168.1.12:9651" + "tcp://192.168.1.12:9651" + ]; + }; }; - }; - - peer2 = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - networking.interfaces.eth1.ipv4.addresses = [{ - address = "192.168.1.12"; - prefixLength = 24; - }]; - - services.mycelium = { - enable = true; - addHostedPublicNodes = false; - openFirewall = true; - keyFile = ./peer2.key; + + peer2 = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.12"; + prefixLength = 24; + } + ]; + + services.mycelium = { + enable = true; + addHostedPublicNodes = false; + openFirewall = true; + keyFile = ./peer2.key; + }; }; - }; }; testScript = '' @@ -57,4 +67,5 @@ in peer1.succeed("ping -c5 ${peer2-ip}") peer2.succeed("ping -c5 ${peer1-ip}") ''; - }) + } +) diff --git a/nixos/tests/mympd.nix b/nixos/tests/mympd.nix index ac6a896966e6b..20c5603da69d8 100644 --- a/nixos/tests/mympd.nix +++ b/nixos/tests/mympd.nix @@ -1,27 +1,30 @@ -import ./make-test-python.nix ({pkgs, lib, ... }: { - name = "mympd"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "mympd"; - nodes.mympd = { - services.mympd = { - enable = true; - settings = { - http_port = 8081; + nodes.mympd = { + services.mympd = { + enable = true; + settings = { + http_port = 8081; + }; }; - }; - services.mpd.enable = true; - }; + services.mpd.enable = true; + }; - testScript = '' - start_all(); - machine.wait_for_unit("mympd.service"); + testScript = '' + start_all(); + machine.wait_for_unit("mympd.service"); - # Ensure that mympd can connect to mpd - machine.wait_until_succeeds( - "journalctl -eu mympd -o cat | grep 'Connected to MPD'" - ) + # Ensure that mympd can connect to mpd + machine.wait_until_succeeds( + "journalctl -eu mympd -o cat | grep 'Connected to MPD'" + ) - # Ensure that the web server is working - machine.succeed("curl http://localhost:8081 --compressed | grep -o myMPD") - ''; -}) + # Ensure that the web server is working + machine.succeed("curl http://localhost:8081 --compressed | grep -o myMPD") + ''; + } +) diff --git a/nixos/tests/mysql/common.nix b/nixos/tests/mysql/common.nix index 079eff163b1cf..17e961021f14f 100644 --- a/nixos/tests/mysql/common.nix +++ b/nixos/tests/mysql/common.nix @@ -1,10 +1,14 @@ -{ lib, pkgs }: { - mariadbPackages = lib.filterAttrs (n: _: lib.hasPrefix "mariadb" n) (import ../../../pkgs/servers/sql/mariadb pkgs); +{ lib, pkgs }: +{ + mariadbPackages = lib.filterAttrs (n: _: lib.hasPrefix "mariadb" n) ( + import ../../../pkgs/servers/sql/mariadb pkgs + ); mysqlPackages = { inherit (pkgs) mysql80; }; perconaPackages = { inherit (pkgs) percona-server_8_0 percona-server_8_4; }; - mkTestName = pkg: "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor pkg.version)}"; + mkTestName = + pkg: "mariadb_${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor pkg.version)}"; } diff --git a/nixos/tests/mysql/mysql-backup.nix b/nixos/tests/mysql/mysql-backup.nix index 451f5c04ce467..4579ddcbaee8f 100644 --- a/nixos/tests/mysql/mysql-backup.nix +++ b/nixos/tests/mysql/mysql-backup.nix @@ -1,8 +1,8 @@ { system ? builtins.currentSystem, - config ? {}, + config ? { }, pkgs ? import ../../.. { inherit system config; }, - lib ? pkgs.lib + lib ? pkgs.lib, }: let @@ -10,59 +10,71 @@ let makeTest = import ./../make-test-python.nix; - makeBackupTest = { - package, - name ? mkTestName package - }: makeTest { - name = "${name}-backup"; + makeBackupTest = + { + package, + name ? mkTestName package, + }: + makeTest { + name = "${name}-backup"; - nodes = { - master = { pkgs, ... }: { - services.mysql = { - inherit package; - enable = true; - initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; - }; + nodes = { + master = + { pkgs, ... }: + { + services.mysql = { + inherit package; + enable = true; + initialDatabases = [ + { + name = "testdb"; + schema = ./testdb.sql; + } + ]; + }; - services.mysqlBackup = { - enable = true; - databases = [ "doesnotexist" "testdb" ]; - }; + services.mysqlBackup = { + enable = true; + databases = [ + "doesnotexist" + "testdb" + ]; + }; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - # Delete backup file that may be left over from a previous test run. - # This is not needed on Hydra but useful for repeated local test runs. - master.execute("rm -f /var/backup/mysql/testdb.gz") + # Delete backup file that may be left over from a previous test run. + # This is not needed on Hydra but useful for repeated local test runs. + master.execute("rm -f /var/backup/mysql/testdb.gz") - # Need to have mysql started so that it can be populated with data. - master.wait_for_unit("mysql.service") + # Need to have mysql started so that it can be populated with data. + master.wait_for_unit("mysql.service") - # Wait for testdb to be fully populated (5 rows). - master.wait_until_succeeds( - "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) + # Wait for testdb to be fully populated (5 rows). + master.wait_until_succeeds( + "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) - # Do a backup and wait for it to start - master.start_job("mysql-backup.service") + # Do a backup and wait for it to start + master.start_job("mysql-backup.service") - # wait for backup to fail, because of database 'doesnotexist' - master.wait_until_fails("systemctl is-active -q mysql-backup.service") + # wait for backup to fail, because of database 'doesnotexist' + master.wait_until_fails("systemctl is-active -q mysql-backup.service") - # wait for backup file and check that data appears in backup - master.wait_for_file("/var/backup/mysql/testdb.gz") - master.succeed( - "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello" - ) + # wait for backup file and check that data appears in backup + master.wait_for_file("/var/backup/mysql/testdb.gz") + master.succeed( + "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello" + ) - # Check that a failed backup is logged - master.succeed( - "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null" - ) - ''; - }; + # Check that a failed backup is logged + master.succeed( + "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null" + ) + ''; + }; in - lib.mapAttrs (_: package: makeBackupTest { inherit package; }) mariadbPackages +lib.mapAttrs (_: package: makeBackupTest { inherit package; }) mariadbPackages diff --git a/nixos/tests/mysql/mysql-replication.nix b/nixos/tests/mysql/mysql-replication.nix index 83da1e7b6cb88..d1ccb7c8c9244 100644 --- a/nixos/tests/mysql/mysql-replication.nix +++ b/nixos/tests/mysql/mysql-replication.nix @@ -1,8 +1,8 @@ { system ? builtins.currentSystem, - config ? {}, + config ? { }, pkgs ? import ../../.. { inherit system config; }, - lib ? pkgs.lib + lib ? pkgs.lib, }: let @@ -13,89 +13,100 @@ let makeTest = import ./../make-test-python.nix; - makeReplicationTest = { - package, - name ? mkTestName package, - }: makeTest { - name = "${name}-replication"; - meta = { - maintainers = lib.teams.helsinki-systems.members; - }; - - nodes = { - primary = { - services.mysql = { - inherit package; - enable = true; - replication.role = "master"; - replication.slaveHost = "%"; - replication.masterUser = replicateUser; - replication.masterPassword = replicatePassword; - initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; - }; - networking.firewall.allowedTCPPorts = [ 3306 ]; + makeReplicationTest = + { + package, + name ? mkTestName package, + }: + makeTest { + name = "${name}-replication"; + meta = { + maintainers = lib.teams.helsinki-systems.members; }; - secondary1 = { nodes, ... }: { - services.mysql = { - inherit package; - enable = true; - replication.role = "slave"; - replication.serverId = 2; - replication.masterHost = nodes.primary.networking.hostName; - replication.masterUser = replicateUser; - replication.masterPassword = replicatePassword; + nodes = { + primary = { + services.mysql = { + inherit package; + enable = true; + replication.role = "master"; + replication.slaveHost = "%"; + replication.masterUser = replicateUser; + replication.masterPassword = replicatePassword; + initialDatabases = [ + { + name = "testdb"; + schema = ./testdb.sql; + } + ]; + }; + networking.firewall.allowedTCPPorts = [ 3306 ]; }; - }; - secondary2 = { nodes, ... }: { - services.mysql = { - inherit package; - enable = true; - replication.role = "slave"; - replication.serverId = 3; - replication.masterHost = nodes.primary.networking.hostName; - replication.masterUser = replicateUser; - replication.masterPassword = replicatePassword; - }; + secondary1 = + { nodes, ... }: + { + services.mysql = { + inherit package; + enable = true; + replication.role = "slave"; + replication.serverId = 2; + replication.masterHost = nodes.primary.networking.hostName; + replication.masterUser = replicateUser; + replication.masterPassword = replicatePassword; + }; + }; + + secondary2 = + { nodes, ... }: + { + services.mysql = { + inherit package; + enable = true; + replication.role = "slave"; + replication.serverId = 3; + replication.masterHost = nodes.primary.networking.hostName; + replication.masterUser = replicateUser; + replication.masterPassword = replicatePassword; + }; + }; }; - }; - testScript = '' - primary.start() - primary.wait_for_unit("mysql") - primary.wait_for_open_port(3306) - # Wait for testdb to be fully populated (5 rows). - primary.wait_until_succeeds( - "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) + testScript = '' + primary.start() + primary.wait_for_unit("mysql") + primary.wait_for_open_port(3306) + # Wait for testdb to be fully populated (5 rows). + primary.wait_until_succeeds( + "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) - secondary1.start() - secondary2.start() - secondary1.wait_for_unit("mysql") - secondary1.wait_for_open_port(3306) - secondary2.wait_for_unit("mysql") - secondary2.wait_for_open_port(3306) + secondary1.start() + secondary2.start() + secondary1.wait_for_unit("mysql") + secondary1.wait_for_open_port(3306) + secondary2.wait_for_unit("mysql") + secondary2.wait_for_open_port(3306) - # wait for replications to finish - secondary1.wait_until_succeeds( - "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) - secondary2.wait_until_succeeds( - "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) + # wait for replications to finish + secondary1.wait_until_succeeds( + "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) + secondary2.wait_until_succeeds( + "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) - secondary2.succeed("systemctl stop mysql") - primary.succeed( - "echo 'insert into testdb.tests values (123, 456);' | sudo -u mysql mysql -u mysql -N" - ) - secondary2.succeed("systemctl start mysql") - secondary2.wait_for_unit("mysql") - secondary2.wait_for_open_port(3306) - secondary2.wait_until_succeeds( - "echo 'select * from testdb.tests where Id = 123;' | sudo -u mysql mysql -u mysql -N | grep 456" - ) - ''; - }; + secondary2.succeed("systemctl stop mysql") + primary.succeed( + "echo 'insert into testdb.tests values (123, 456);' | sudo -u mysql mysql -u mysql -N" + ) + secondary2.succeed("systemctl start mysql") + secondary2.wait_for_unit("mysql") + secondary2.wait_for_open_port(3306) + secondary2.wait_until_succeeds( + "echo 'select * from testdb.tests where Id = 123;' | sudo -u mysql mysql -u mysql -N | grep 456" + ) + ''; + }; in - lib.mapAttrs (_: package: makeReplicationTest { inherit package; }) mariadbPackages +lib.mapAttrs (_: package: makeReplicationTest { inherit package; }) mariadbPackages diff --git a/nixos/tests/mysql/mysql.nix b/nixos/tests/mysql/mysql.nix index 093da4f46aa10..2935c02e1c46f 100644 --- a/nixos/tests/mysql/mysql.nix +++ b/nixos/tests/mysql/mysql.nix @@ -1,151 +1,186 @@ { system ? builtins.currentSystem, - config ? {}, + config ? { }, pkgs ? import ../../.. { inherit system config; }, - lib ? pkgs.lib + lib ? pkgs.lib, }: let - inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages mysqlPackages perconaPackages; + inherit (import ./common.nix { inherit pkgs lib; }) + mkTestName + mariadbPackages + mysqlPackages + perconaPackages + ; makeTest = import ./../make-test-python.nix; # Setup common users - makeMySQLTest = { - package, - name ? mkTestName package, - useSocketAuth ? true, - hasMroonga ? true, - hasRocksDB ? pkgs.stdenv.hostPlatform.is64bit - }: makeTest { - inherit name; - meta = { - maintainers = lib.teams.helsinki-systems.members; - }; + makeMySQLTest = + { + package, + name ? mkTestName package, + useSocketAuth ? true, + hasMroonga ? true, + hasRocksDB ? pkgs.stdenv.hostPlatform.is64bit, + }: + makeTest { + inherit name; + meta = { + maintainers = lib.teams.helsinki-systems.members; + }; - nodes = { - ${name} = - { pkgs, ... }: { + nodes = { + ${name} = + { pkgs, ... }: + { - users = { - groups.testusers = { }; + users = { + groups.testusers = { }; - users.testuser = { - isSystemUser = true; - group = "testusers"; - }; + users.testuser = { + isSystemUser = true; + group = "testusers"; + }; - users.testuser2 = { - isSystemUser = true; - group = "testusers"; + users.testuser2 = { + isSystemUser = true; + group = "testusers"; + }; }; - }; - services.mysql = { - enable = true; - initialDatabases = [ - { name = "testdb3"; schema = ./testdb.sql; } - ]; - # note that using pkgs.writeText here is generally not a good idea, - # as it will store the password in world-readable /nix/store ;) - initialScript = pkgs.writeText "mysql-init.sql" (if (!useSocketAuth) then '' - CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure'; - GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost'; - '' else '' - ALTER USER root@localhost IDENTIFIED WITH unix_socket; - DELETE FROM mysql.user WHERE password = ''' AND plugin = '''; - DELETE FROM mysql.user WHERE user = '''; - FLUSH PRIVILEGES; - ''); + services.mysql = { + enable = true; + initialDatabases = [ + { + name = "testdb3"; + schema = ./testdb.sql; + } + ]; + # note that using pkgs.writeText here is generally not a good idea, + # as it will store the password in world-readable /nix/store ;) + initialScript = pkgs.writeText "mysql-init.sql" ( + if (!useSocketAuth) then + '' + CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure'; + GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost'; + '' + else + '' + ALTER USER root@localhost IDENTIFIED WITH unix_socket; + DELETE FROM mysql.user WHERE password = ''' AND plugin = '''; + DELETE FROM mysql.user WHERE user = '''; + FLUSH PRIVILEGES; + '' + ); - ensureDatabases = [ "testdb" "testdb2" ]; - ensureUsers = [{ - name = "testuser"; - ensurePermissions = { - "testdb.*" = "ALL PRIVILEGES"; - }; - } { - name = "testuser2"; - ensurePermissions = { - "testdb2.*" = "ALL PRIVILEGES"; - }; - }]; - package = package; - settings = { - mysqld = { - plugin-load-add = lib.optional hasMroonga "ha_mroonga.so" - ++ lib.optional hasRocksDB "ha_rocksdb.so"; + ensureDatabases = [ + "testdb" + "testdb2" + ]; + ensureUsers = [ + { + name = "testuser"; + ensurePermissions = { + "testdb.*" = "ALL PRIVILEGES"; + }; + } + { + name = "testuser2"; + ensurePermissions = { + "testdb2.*" = "ALL PRIVILEGES"; + }; + } + ]; + package = package; + settings = { + mysqld = { + plugin-load-add = + lib.optional hasMroonga "ha_mroonga.so" + ++ lib.optional hasRocksDB "ha_rocksdb.so"; + }; }; }; }; - }; - }; - - testScript = '' - start_all() + }; - machine = ${name} - machine.wait_for_unit("mysql") - machine.succeed( - "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser" - ) - machine.succeed( - "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser" - ) - # Ensure testuser2 is not able to insert into testdb as mysql testuser2 - machine.fail( - "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2" - ) - # Ensure testuser2 is not able to authenticate as mysql testuser - machine.fail( - "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser" - ) - machine.succeed( - "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42" - ) + testScript = '' + start_all() - ${lib.optionalString hasMroonga '' - # Check if Mroonga plugin works + machine = ${name} + machine.wait_for_unit("mysql") machine.succeed( - "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser" + "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser" ) machine.succeed( - "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser" + "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser" ) - machine.succeed( - "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25" + # Ensure testuser2 is not able to insert into testdb as mysql testuser2 + machine.fail( + "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2" ) - machine.succeed( - "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser" - ) - ''} - - ${lib.optionalString hasRocksDB '' - # Check if RocksDB plugin works - machine.succeed( - "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser" - ) - machine.succeed( - "echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser" + # Ensure testuser2 is not able to authenticate as mysql testuser + machine.fail( + "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser" ) machine.succeed( - "echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28" + "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42" ) - machine.succeed( - "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser" - ) - ''} - ''; - }; + + ${lib.optionalString hasMroonga '' + # Check if Mroonga plugin works + machine.succeed( + "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25" + ) + machine.succeed( + "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser" + ) + ''} + + ${lib.optionalString hasRocksDB '' + # Check if RocksDB plugin works + machine.succeed( + "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28" + ) + machine.succeed( + "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser" + ) + ''} + ''; + }; in - lib.mapAttrs (_: package: makeMySQLTest { +lib.mapAttrs ( + _: package: + makeMySQLTest { inherit package; - hasRocksDB = false; hasMroonga = false; useSocketAuth = false; - }) mysqlPackages - // (lib.mapAttrs (_: package: makeMySQLTest { + hasRocksDB = false; + hasMroonga = false; + useSocketAuth = false; + } +) mysqlPackages +// (lib.mapAttrs ( + _: package: + makeMySQLTest { inherit package; - }) mariadbPackages) - // (lib.mapAttrs (_: package: makeMySQLTest { + } +) mariadbPackages) +// (lib.mapAttrs ( + _: package: + makeMySQLTest { inherit package; - name = builtins.replaceStrings ["-"] ["_"] package.pname; - hasMroonga = false; useSocketAuth = false; - }) perconaPackages) + name = builtins.replaceStrings [ "-" ] [ "_" ] package.pname; + hasMroonga = false; + useSocketAuth = false; + } +) perconaPackages) diff --git a/nixos/tests/n8n.nix b/nixos/tests/n8n.nix index 0a12192d5c712..e5d730563c67b 100644 --- a/nixos/tests/n8n.nix +++ b/nixos/tests/n8n.nix @@ -1,25 +1,30 @@ -import ./make-test-python.nix ({ lib, ... }: -let - port = 5678; - webhookUrl = "http://example.com"; -in -{ - name = "n8n"; - meta.maintainers = with lib.maintainers; [ freezeboy k900 ]; +import ./make-test-python.nix ( + { lib, ... }: + let + port = 5678; + webhookUrl = "http://example.com"; + in + { + name = "n8n"; + meta.maintainers = with lib.maintainers; [ + freezeboy + k900 + ]; - nodes.machine = - { pkgs, ... }: - { - services.n8n = { - enable = true; - webhookUrl = webhookUrl; + nodes.machine = + { pkgs, ... }: + { + services.n8n = { + enable = true; + webhookUrl = webhookUrl; + }; }; - }; - testScript = '' - machine.wait_for_unit("n8n.service") - machine.wait_for_console_text("Editor is now accessible via") - machine.succeed("curl --fail -vvv http://localhost:${toString port}/") - machine.succeed("grep -qF ${webhookUrl} /etc/systemd/system/n8n.service") - ''; -}) + testScript = '' + machine.wait_for_unit("n8n.service") + machine.wait_for_console_text("Editor is now accessible via") + machine.succeed("curl --fail -vvv http://localhost:${toString port}/") + machine.succeed("grep -qF ${webhookUrl} /etc/systemd/system/n8n.service") + ''; + } +) diff --git a/nixos/tests/nagios.nix b/nixos/tests/nagios.nix index b6e45fc103afd..9dd58215be1ff 100644 --- a/nixos/tests/nagios.nix +++ b/nixos/tests/nagios.nix @@ -1,16 +1,19 @@ import ./make-test-python.nix ( - { pkgs, ... }: { + { pkgs, ... }: + { name = "nagios"; meta = with pkgs.lib.maintainers; { maintainers = [ symphorien ]; }; - nodes.machine = { lib, ... }: let - writer = pkgs.writeShellScript "write" '' - set -x - echo "$@" >> /tmp/notifications - ''; - in + nodes.machine = + { lib, ... }: + let + writer = pkgs.writeShellScript "write" '' + set -x + echo "$@" >> /tmp/notifications + ''; + in { # tested service services.sshd.enable = true; @@ -20,97 +23,102 @@ import ./make-test-python.nix ( # make state transitions faster extraConfig.interval_length = "5"; objectDefs = - (map (x: "${pkgs.nagios}/etc/objects/${x}.cfg") [ "templates" "timeperiods" "commands" ]) ++ [ - ( - pkgs.writeText "objects.cfg" '' - # notifications are written to /tmp/notifications - define command { - command_name notify-host-by-file - command_line ${writer} "$HOSTNAME is $HOSTSTATE$" - } - define command { - command_name notify-service-by-file - command_line ${writer} "$SERVICEDESC$ is $SERVICESTATE$" - } + (map (x: "${pkgs.nagios}/etc/objects/${x}.cfg") [ + "templates" + "timeperiods" + "commands" + ]) + ++ [ + (pkgs.writeText "objects.cfg" '' + # notifications are written to /tmp/notifications + define command { + command_name notify-host-by-file + command_line ${writer} "$HOSTNAME is $HOSTSTATE$" + } + define command { + command_name notify-service-by-file + command_line ${writer} "$SERVICEDESC$ is $SERVICESTATE$" + } - # nagios boilerplate - define contact { - contact_name alice - alias alice - host_notifications_enabled 1 - service_notifications_enabled 1 - service_notification_period 24x7 - host_notification_period 24x7 - service_notification_options w,u,c,r,f,s - host_notification_options d,u,r,f,s - service_notification_commands notify-service-by-file - host_notification_commands notify-host-by-file - email foo@example.com - } - define contactgroup { - contactgroup_name admins - alias Admins - members alice - } - define hostgroup{ - hostgroup_name allhosts - alias All hosts - } + # nagios boilerplate + define contact { + contact_name alice + alias alice + host_notifications_enabled 1 + service_notifications_enabled 1 + service_notification_period 24x7 + host_notification_period 24x7 + service_notification_options w,u,c,r,f,s + host_notification_options d,u,r,f,s + service_notification_commands notify-service-by-file + host_notification_commands notify-host-by-file + email foo@example.com + } + define contactgroup { + contactgroup_name admins + alias Admins + members alice + } + define hostgroup{ + hostgroup_name allhosts + alias All hosts + } - # monitored objects - define host { - use generic-host - host_name localhost - alias localhost - address localhost - hostgroups allhosts - contact_groups admins - # make state transitions faster. - max_check_attempts 2 - check_interval 1 - retry_interval 1 - } - define service { - use generic-service - host_name localhost - service_description ssh - check_command check_ssh - # make state transitions faster. - max_check_attempts 2 - check_interval 1 - retry_interval 1 - } - '' - ) + # monitored objects + define host { + use generic-host + host_name localhost + alias localhost + address localhost + hostgroups allhosts + contact_groups admins + # make state transitions faster. + max_check_attempts 2 + check_interval 1 + retry_interval 1 + } + define service { + use generic-service + host_name localhost + service_description ssh + check_command check_ssh + # make state transitions faster. + max_check_attempts 2 + check_interval 1 + retry_interval 1 + } + '') ]; }; }; - testScript = { ... }: '' - with subtest("ensure sshd starts"): - machine.wait_for_unit("sshd.service") + testScript = + { ... }: + '' + with subtest("ensure sshd starts"): + machine.wait_for_unit("sshd.service") - with subtest("ensure nagios starts"): - machine.wait_for_file("/var/log/nagios/current") + with subtest("ensure nagios starts"): + machine.wait_for_file("/var/log/nagios/current") - def assert_notify(text): - machine.wait_for_file("/tmp/notifications") - real = machine.succeed("cat /tmp/notifications").strip() - print(f"got {real!r}, expected {text!r}") - assert text == real + def assert_notify(text): + machine.wait_for_file("/tmp/notifications") + real = machine.succeed("cat /tmp/notifications").strip() + print(f"got {real!r}, expected {text!r}") + assert text == real - with subtest("ensure we get a notification when sshd is down"): - machine.succeed("systemctl stop sshd") - assert_notify("ssh is CRITICAL") + with subtest("ensure we get a notification when sshd is down"): + machine.succeed("systemctl stop sshd") + assert_notify("ssh is CRITICAL") - with subtest("ensure tests can succeed"): - machine.succeed("systemctl start sshd") - machine.succeed("rm /tmp/notifications") - assert_notify("ssh is OK") - ''; + with subtest("ensure tests can succeed"): + machine.succeed("systemctl start sshd") + machine.succeed("rm /tmp/notifications") + assert_notify("ssh is OK") + ''; } ) diff --git a/nixos/tests/nar-serve.nix b/nixos/tests/nar-serve.nix index f6197567b822a..fde57eb4f670d 100644 --- a/nixos/tests/nar-serve.nix +++ b/nixos/tests/nar-serve.nix @@ -3,9 +3,10 @@ import ./make-test-python.nix ( { name = "nar-serve"; meta.maintainers = [ lib.maintainers.rizary ]; - nodes = - { - server = { pkgs, ... }: { + nodes = { + server = + { pkgs, ... }: + { services.nginx = { enable = true; virtualHosts.default.root = "/var/www"; @@ -25,7 +26,7 @@ import ./make-test-python.nix ( # virtualisation.diskSize = 2 * 1024; }; - }; + }; testScript = '' import os diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index a00febf766ae3..670edc420078a 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -11,28 +11,35 @@ # # The client is behind the nat (read: protected by the nat) and the server is on the external network, attempting to access services behind the NAT. -import ./make-test-python.nix ({ pkgs, lib, withFirewall ? false, nftables ? false, ... }: +import ./make-test-python.nix ( + { + pkgs, + lib, + withFirewall ? false, + nftables ? false, + ... + }: let unit = if nftables then "nftables" else (if withFirewall then "firewall" else "nat"); routerAlternativeExternalIp = "192.168.2.234"; makeNginxConfig = hostname: { - enable = true; - virtualHosts."${hostname}" = { - root = "/etc"; - locations."/".index = "hostname"; - listen = [ - { - addr = "0.0.0.0"; - port = 80; - } - { - addr = "0.0.0.0"; - port = 8080; - } - ]; - }; + enable = true; + virtualHosts."${hostname}" = { + root = "/etc"; + locations."/".index = "hostname"; + listen = [ + { + addr = "0.0.0.0"; + port = 80; + } + { + addr = "0.0.0.0"; + port = 8080; + } + ]; + }; }; makeCommonConfig = hostname: { @@ -51,78 +58,94 @@ import ./make-test-python.nix ({ pkgs, lib, withFirewall ? false, nftables ? fal networking.useDHCP = false; environment.systemPackages = [ - (pkgs.writeScriptBin "check-connection" - '' - #!/usr/bin/env bash - - set -e - - if [[ "$2" == "" || "$3" == "" || "$1" == "--help" || "$1" == "-h" ]]; - then - echo "check-connection <target-address> <target-hostname> <[expect-success|expect-failure]>" - exit 1 - fi - - ADDRESS="$1" - HOSTNAME="$2" - - function test_icmp() { timeout 3 ping -c 1 $ADDRESS; } - function test_http() { [[ `timeout 3 curl $ADDRESS` == "$HOSTNAME" ]]; } - function test_ftp() { timeout 3 curl ftp://$ADDRESS; } - - if [[ "$3" == "expect-success" ]]; - then - test_icmp; test_http; test_ftp - else - ! test_icmp; ! test_http; ! test_ftp - fi - '' - ) - (pkgs.writeScriptBin "check-last-clients-ip" - '' - #!/usr/bin/env bash - set -e - - [[ `cat /var/log/nginx/access.log | tail -n1 | awk '{print $1}'` == "$1" ]] - '' - ) + (pkgs.writeScriptBin "check-connection" '' + #!/usr/bin/env bash + + set -e + + if [[ "$2" == "" || "$3" == "" || "$1" == "--help" || "$1" == "-h" ]]; + then + echo "check-connection <target-address> <target-hostname> <[expect-success|expect-failure]>" + exit 1 + fi + + ADDRESS="$1" + HOSTNAME="$2" + + function test_icmp() { timeout 3 ping -c 1 $ADDRESS; } + function test_http() { [[ `timeout 3 curl $ADDRESS` == "$HOSTNAME" ]]; } + function test_ftp() { timeout 3 curl ftp://$ADDRESS; } + + if [[ "$3" == "expect-success" ]]; + then + test_icmp; test_http; test_ftp + else + ! test_icmp; ! test_http; ! test_ftp + fi + '') + (pkgs.writeScriptBin "check-last-clients-ip" '' + #!/usr/bin/env bash + set -e + + [[ `cat /var/log/nginx/access.log | tail -n1 | awk '{print $1}'` == "$1" ]] + '') ]; }; + in # VLANS: # 1 -- simulates the internal network # 2 -- simulates the external network - in { - name = "nat" + (lib.optionalString nftables "Nftables") - + (if withFirewall then "WithFirewall" else "Standalone"); + name = + "nat" + + (lib.optionalString nftables "Nftables") + + (if withFirewall then "WithFirewall" else "Standalone"); meta = with pkgs.lib.maintainers; { - maintainers = [ tne rob ]; + maintainers = [ + tne + rob + ]; }; - nodes = - { client = - { pkgs, nodes, ... }: - lib.mkMerge [ - ( makeCommonConfig "client" ) - { virtualisation.vlans = [ 1 ]; - networking.defaultGateway = - (pkgs.lib.head nodes.router.networking.interfaces.eth1.ipv4.addresses).address; - networking.nftables.enable = nftables; - networking.firewall.enable = false; - } - ]; - - router = - { nodes, ... }: lib.mkMerge [ - ( makeCommonConfig "router" ) - { virtualisation.vlans = [ 1 2 ]; + nodes = { + client = + { pkgs, nodes, ... }: + lib.mkMerge [ + (makeCommonConfig "client") + { + virtualisation.vlans = [ 1 ]; + networking.defaultGateway = + (pkgs.lib.head nodes.router.networking.interfaces.eth1.ipv4.addresses).address; + networking.nftables.enable = nftables; + networking.firewall.enable = false; + } + ]; + + router = + { nodes, ... }: + lib.mkMerge [ + (makeCommonConfig "router") + { + virtualisation.vlans = [ + 1 + 2 + ]; networking.firewall = { enable = withFirewall; filterForward = nftables; - allowedTCPPorts = [ 21 80 8080 ]; + allowedTCPPorts = [ + 21 + 80 + 8080 + ]; # For FTP passive mode - allowedTCPPortRanges = [ { from = 51000; to = 51999; } ]; + allowedTCPPortRanges = [ + { + from = 51000; + to = 51999; + } + ]; }; networking.nftables.enable = nftables; networking.nat = @@ -148,13 +171,19 @@ import ./make-test-python.nix ({ pkgs, lib, withFirewall ? false, nftables ? fal ]; }; - networking.interfaces.eth2.ipv4.addresses = - lib.mkOrder 10000 [ { address = routerAlternativeExternalIp; prefixLength = 24; } ]; + networking.interfaces.eth2.ipv4.addresses = lib.mkOrder 10000 [ + { + address = routerAlternativeExternalIp; + prefixLength = 24; + } + ]; - services.nginx.virtualHosts.router.listen = lib.mkOrder (-1) [ { - addr = routerAlternativeExternalIp; - port = 8080; - } ]; + services.nginx.virtualHosts.router.listen = lib.mkOrder (-1) [ + { + addr = routerAlternativeExternalIp; + port = 8080; + } + ]; specialisation.no-nat.configuration = { networking.nat.enable = lib.mkForce false; @@ -162,24 +191,28 @@ import ./make-test-python.nix ({ pkgs, lib, withFirewall ? false, nftables ? fal } ]; - server = - { nodes, ... }: lib.mkMerge [ - ( makeCommonConfig "server" ) - { virtualisation.vlans = [ 2 ]; - networking.firewall.enable = false; + server = + { nodes, ... }: + lib.mkMerge [ + (makeCommonConfig "server") + { + virtualisation.vlans = [ 2 ]; + networking.firewall.enable = false; - networking.defaultGateway = - (pkgs.lib.head nodes.router.networking.interfaces.eth2.ipv4.addresses).address; - } - ]; - }; + networking.defaultGateway = + (pkgs.lib.head nodes.router.networking.interfaces.eth2.ipv4.addresses).address; + } + ]; + }; testScript = - { nodes, ... }: let + { nodes, ... }: + let clientIp = (pkgs.lib.head nodes.client.networking.interfaces.eth1.ipv4.addresses).address; serverIp = (pkgs.lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address; routerIp = (pkgs.lib.head nodes.router.networking.interfaces.eth2.ipv4.addresses).address; - in '' + in + '' def wait_for_machine(m): m.wait_for_unit("network.target") m.wait_for_unit("nginx.service") @@ -275,4 +308,5 @@ import ./make-test-python.nix ({ pkgs, lib, withFirewall ? false, nftables ? fal server.succeed('[[ `timeout 3 curl http://${routerIp}:8080` == "router" ]]') router.succeed('[[ `timeout 3 curl http://${routerIp}:8080` == "router" ]]') ''; -}) + } +) diff --git a/nixos/tests/nats.nix b/nixos/tests/nats.nix index c650904e53bf7..b62b9201101a2 100644 --- a/nixos/tests/nats.nix +++ b/nixos/tests/nats.nix @@ -5,59 +5,76 @@ let password = "password"; topic = "foo.bar"; -in import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "nats"; - meta = with pkgs.lib; { maintainers = with maintainers; [ c0deaddict ]; }; - - nodes = let - client = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ natscli ]; +in +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "nats"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ c0deaddict ]; }; - in { - server = { pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ port ]; - services.nats = { - inherit port; - enable = true; - settings = { - authorization = { - users = [{ - user = username; - inherit password; - }]; + + nodes = + let + client = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ natscli ]; }; - }; + in + { + server = + { pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ port ]; + services.nats = { + inherit port; + enable = true; + settings = { + authorization = { + users = [ + { + user = username; + inherit password; + } + ]; + }; + }; + }; + }; + + client1 = client; + client2 = client; }; - }; - client1 = client; - client2 = client; - }; - - testScript = let file = "/tmp/msg"; - in '' - def nats_cmd(*args): - return ( - "nats " - "--server=nats://server:${toString port} " - "--user=${username} " - "--password=${password} " - "{}" - ).format(" ".join(args)) - - def parallel(*fns): - from threading import Thread - threads = [ Thread(target=fn) for fn in fns ] - for t in threads: t.start() - for t in threads: t.join() - - start_all() - server.wait_for_unit("nats.service") - - with subtest("pub sub"): - parallel( - lambda: client1.succeed(nats_cmd("sub", "--count", "1", "${topic}")), - lambda: client2.succeed("sleep 2 && {}".format(nats_cmd("pub", "${topic}", "hello"))), - ) - ''; -}) + testScript = + let + file = "/tmp/msg"; + in + '' + def nats_cmd(*args): + return ( + "nats " + "--server=nats://server:${toString port} " + "--user=${username} " + "--password=${password} " + "{}" + ).format(" ".join(args)) + + def parallel(*fns): + from threading import Thread + threads = [ Thread(target=fn) for fn in fns ] + for t in threads: t.start() + for t in threads: t.join() + + start_all() + server.wait_for_unit("nats.service") + + with subtest("pub sub"): + parallel( + lambda: client1.succeed(nats_cmd("sub", "--count", "1", "${topic}")), + lambda: client2.succeed("sleep 2 && {}".format(nats_cmd("pub", "${topic}", "hello"))), + ) + ''; + } +) diff --git a/nixos/tests/navidrome.nix b/nixos/tests/navidrome.nix index 7315aef624017..b6afad8e56c75 100644 --- a/nixos/tests/navidrome.nix +++ b/nixos/tests/navidrome.nix @@ -1,12 +1,17 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "navidrome"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "navidrome"; - nodes.machine = { ... }: { - services.navidrome.enable = true; - }; + nodes.machine = + { ... }: + { + services.navidrome.enable = true; + }; - testScript = '' - machine.wait_for_unit("navidrome") - machine.wait_for_open_port(4533) - ''; -}) + testScript = '' + machine.wait_for_unit("navidrome") + machine.wait_for_open_port(4533) + ''; + } +) diff --git a/nixos/tests/nbd.nix b/nixos/tests/nbd.nix index b4aaf29ee4e50..7905a4a6127ee 100644 --- a/nixos/tests/nbd.nix +++ b/nixos/tests/nbd.nix @@ -1,68 +1,80 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let listenPort = 30123; testString = "It works!"; - mkCreateSmallFileService = { path, loop ? false }: { - script = '' - ${pkgs.coreutils}/bin/dd if=/dev/zero of=${path} bs=1K count=100 - ${pkgs.lib.optionalString loop - "${pkgs.util-linux}/bin/losetup --find ${path}"} - ''; - serviceConfig = { - Type = "oneshot"; + mkCreateSmallFileService = + { + path, + loop ? false, + }: + { + script = '' + ${pkgs.coreutils}/bin/dd if=/dev/zero of=${path} bs=1K count=100 + ${pkgs.lib.optionalString loop "${pkgs.util-linux}/bin/losetup --find ${path}"} + ''; + serviceConfig = { + Type = "oneshot"; + }; + wantedBy = [ "multi-user.target" ]; + before = [ "nbd-server.service" ]; }; - wantedBy = [ "multi-user.target" ]; - before = [ "nbd-server.service" ]; - }; in { name = "nbd"; nodes = { - server = { config, pkgs, ... }: { - # Create some small files of zeros to use as the ndb disks - ## `vault-pub.disk` is accessible from any IP - systemd.services.create-pub-file = - mkCreateSmallFileService { path = "/vault-pub.disk"; }; - ## `vault-priv.disk` is accessible only from localhost. - ## It's also a loopback device to test exporting /dev/... - systemd.services.create-priv-file = - mkCreateSmallFileService { path = "/vault-priv.disk"; loop = true; }; - ## `aaa.disk` is just here because "[aaa]" sorts before - ## "[generic]" lexicographically, and nbd-server breaks if - ## "[generic]" isn't the first section. - systemd.services.create-aaa-file = - mkCreateSmallFileService { path = "/aaa.disk"; }; + server = + { config, pkgs, ... }: + { + # Create some small files of zeros to use as the ndb disks + ## `vault-pub.disk` is accessible from any IP + systemd.services.create-pub-file = mkCreateSmallFileService { path = "/vault-pub.disk"; }; + ## `vault-priv.disk` is accessible only from localhost. + ## It's also a loopback device to test exporting /dev/... + systemd.services.create-priv-file = mkCreateSmallFileService { + path = "/vault-priv.disk"; + loop = true; + }; + ## `aaa.disk` is just here because "[aaa]" sorts before + ## "[generic]" lexicographically, and nbd-server breaks if + ## "[generic]" isn't the first section. + systemd.services.create-aaa-file = mkCreateSmallFileService { path = "/aaa.disk"; }; - # Needed only for nbd-client used in the tests. - environment.systemPackages = [ pkgs.nbd ]; + # Needed only for nbd-client used in the tests. + environment.systemPackages = [ pkgs.nbd ]; - # Open the nbd port in the firewall - networking.firewall.allowedTCPPorts = [ listenPort ]; + # Open the nbd port in the firewall + networking.firewall.allowedTCPPorts = [ listenPort ]; - # Run the nbd server and expose the small file created above - services.nbd.server = { - enable = true; - exports = { - aaa = { - path = "/aaa.disk"; - }; - vault-pub = { - path = "/vault-pub.disk"; - }; - vault-priv = { - path = "/dev/loop0"; - allowAddresses = [ "127.0.0.1" "::1" ]; + # Run the nbd server and expose the small file created above + services.nbd.server = { + enable = true; + exports = { + aaa = { + path = "/aaa.disk"; + }; + vault-pub = { + path = "/vault-pub.disk"; + }; + vault-priv = { + path = "/dev/loop0"; + allowAddresses = [ + "127.0.0.1" + "::1" + ]; + }; }; + listenAddress = "0.0.0.0"; + listenPort = listenPort; }; - listenAddress = "0.0.0.0"; - listenPort = listenPort; }; - }; - client = { config, pkgs, ... }: { - programs.nbd.enable = true; - }; + client = + { config, pkgs, ... }: + { + programs.nbd.enable = true; + }; }; testScript = '' @@ -100,4 +112,5 @@ import ./make-test-python.nix ({ pkgs, ... }: raise Exception(f"Read the wrong string from nbd disk. Expected: '{testString}'. Found: '{foundString}'") server.succeed("nbd-client -d /dev/nbd0") ''; - }) + } +) diff --git a/nixos/tests/ncdns.nix b/nixos/tests/ncdns.nix index 3ce39ed3cb55c..48f17ed16b855 100644 --- a/nixos/tests/ncdns.nix +++ b/nixos/tests/ncdns.nix @@ -1,93 +1,97 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -let - fakeReply = pkgs.writeText "namecoin-reply.json" '' - { "error": null, - "id": 1, - "result": { - "address": "T31q8ucJ4dI1xzhxQ5QispfECld5c7Xw", - "expired": false, - "expires_in": 2248, - "height": 438155, - "name": "d/test", - "txid": "db61c0b2540ba0c1a2c8cc92af703a37002e7566ecea4dbf8727c7191421edfb", - "value": "{\"ip\": \"1.2.3.4\", \"email\": \"root@test.bit\",\"info\": \"Fake record\"}", - "vout": 0 - } - } - ''; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + fakeReply = pkgs.writeText "namecoin-reply.json" '' + { "error": null, + "id": 1, + "result": { + "address": "T31q8ucJ4dI1xzhxQ5QispfECld5c7Xw", + "expired": false, + "expires_in": 2248, + "height": 438155, + "name": "d/test", + "txid": "db61c0b2540ba0c1a2c8cc92af703a37002e7566ecea4dbf8727c7191421edfb", + "value": "{\"ip\": \"1.2.3.4\", \"email\": \"root@test.bit\",\"info\": \"Fake record\"}", + "vout": 0 + } + } + ''; - # Disabled because DNSSEC does not currently validate, - # see https://github.com/namecoin/ncdns/issues/127 - dnssec = false; + # Disabled because DNSSEC does not currently validate, + # see https://github.com/namecoin/ncdns/issues/127 + dnssec = false; -in + in -{ - name = "ncdns"; - meta = with pkgs.lib.maintainers; { - maintainers = [ rnhmjoj ]; - }; + { + name = "ncdns"; + meta = with pkgs.lib.maintainers; { + maintainers = [ rnhmjoj ]; + }; - nodes.server = { ... }: { - networking.nameservers = [ "::1" ]; + nodes.server = + { ... }: + { + networking.nameservers = [ "::1" ]; - services.namecoind.rpc = { - address = "::1"; - user = "namecoin"; - password = "secret"; - port = 8332; - }; + services.namecoind.rpc = { + address = "::1"; + user = "namecoin"; + password = "secret"; + port = 8332; + }; - # Fake namecoin RPC server because we can't - # run a full node in a test. - systemd.services.namecoind = { - wantedBy = [ "multi-user.target" ]; - script = '' - while true; do - echo -e "HTTP/1.1 200 OK\n\n $(<${fakeReply})\n" \ - | ${pkgs.netcat}/bin/nc -N -l ::1 8332 - done - ''; - }; + # Fake namecoin RPC server because we can't + # run a full node in a test. + systemd.services.namecoind = { + wantedBy = [ "multi-user.target" ]; + script = '' + while true; do + echo -e "HTTP/1.1 200 OK\n\n $(<${fakeReply})\n" \ + | ${pkgs.netcat}/bin/nc -N -l ::1 8332 + done + ''; + }; - services.ncdns = { - enable = true; - dnssec.enable = dnssec; - identity.hostname = "example.com"; - identity.hostmaster = "root@example.com"; - identity.address = "1.0.0.1"; - }; + services.ncdns = { + enable = true; + dnssec.enable = dnssec; + identity.hostname = "example.com"; + identity.hostmaster = "root@example.com"; + identity.address = "1.0.0.1"; + }; - services.pdns-recursor.enable = true; - services.pdns-recursor.resolveNamecoin = true; + services.pdns-recursor.enable = true; + services.pdns-recursor.resolveNamecoin = true; - environment.systemPackages = [ pkgs.dnsutils ]; - }; + environment.systemPackages = [ pkgs.dnsutils ]; + }; - testScript = - (lib.optionalString dnssec '' - with subtest("DNSSEC keys have been generated"): - server.wait_for_unit("ncdns") - server.wait_for_file("/var/lib/ncdns/bit.key") - server.wait_for_file("/var/lib/ncdns/bit-zone.key") + testScript = + (lib.optionalString dnssec '' + with subtest("DNSSEC keys have been generated"): + server.wait_for_unit("ncdns") + server.wait_for_file("/var/lib/ncdns/bit.key") + server.wait_for_file("/var/lib/ncdns/bit-zone.key") - with subtest("DNSKEY bit record is present"): - server.wait_for_unit("pdns-recursor") - server.wait_for_open_port(53) - server.succeed("host -t DNSKEY bit") - '') + - '' - with subtest("can resolve a .bit name"): - server.wait_for_unit("namecoind") - server.wait_for_unit("ncdns") - server.wait_for_open_port(8332) - assert "1.2.3.4" in server.succeed("dig @localhost -p 5333 test.bit") + with subtest("DNSKEY bit record is present"): + server.wait_for_unit("pdns-recursor") + server.wait_for_open_port(53) + server.succeed("host -t DNSKEY bit") + '') + + '' + with subtest("can resolve a .bit name"): + server.wait_for_unit("namecoind") + server.wait_for_unit("ncdns") + server.wait_for_open_port(8332) + assert "1.2.3.4" in server.succeed("dig @localhost -p 5333 test.bit") - with subtest("SOA record has identity information"): - assert "example.com" in server.succeed("dig SOA @localhost -p 5333 bit") + with subtest("SOA record has identity information"): + assert "example.com" in server.succeed("dig SOA @localhost -p 5333 bit") - with subtest("bit. zone forwarding works"): - server.wait_for_unit("pdns-recursor") - assert "1.2.3.4" in server.succeed("host test.bit") - ''; -}) + with subtest("bit. zone forwarding works"): + server.wait_for_unit("pdns-recursor") + assert "1.2.3.4" in server.succeed("host test.bit") + ''; + } +) diff --git a/nixos/tests/ndppd.nix b/nixos/tests/ndppd.nix index e79e2a097b406..23f1826cc3f71 100644 --- a/nixos/tests/ndppd.nix +++ b/nixos/tests/ndppd.nix @@ -1,60 +1,74 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "ndppd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fpletz ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "ndppd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fpletz ]; + }; - nodes = { - upstream = { pkgs, ... }: { - environment.systemPackages = [ pkgs.tcpdump ]; - networking.useDHCP = false; - networking.interfaces = { - eth1 = { - ipv6.addresses = [ - { address = "fd23::1"; prefixLength = 112; } - ]; - ipv6.routes = [ - { address = "fd42::"; - prefixLength = 112; - } - ]; + nodes = { + upstream = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.tcpdump ]; + networking.useDHCP = false; + networking.interfaces = { + eth1 = { + ipv6.addresses = [ + { + address = "fd23::1"; + prefixLength = 112; + } + ]; + ipv6.routes = [ + { + address = "fd42::"; + prefixLength = 112; + } + ]; + }; + }; }; - }; - }; - server = { pkgs, ... }: { - boot.kernel.sysctl = { - "net.ipv6.conf.all.forwarding" = "1"; - "net.ipv6.conf.default.forwarding" = "1"; - }; - environment.systemPackages = [ pkgs.tcpdump ]; - networking.useDHCP = false; - networking.interfaces = { - eth1 = { - ipv6.addresses = [ - { address = "fd23::2"; prefixLength = 112; } - ]; + server = + { pkgs, ... }: + { + boot.kernel.sysctl = { + "net.ipv6.conf.all.forwarding" = "1"; + "net.ipv6.conf.default.forwarding" = "1"; + }; + environment.systemPackages = [ pkgs.tcpdump ]; + networking.useDHCP = false; + networking.interfaces = { + eth1 = { + ipv6.addresses = [ + { + address = "fd23::2"; + prefixLength = 112; + } + ]; + }; + }; + services.ndppd = { + enable = true; + proxies.eth1.rules."fd42::/112" = { }; + }; + containers.client = { + autoStart = true; + privateNetwork = true; + hostAddress = "192.168.255.1"; + localAddress = "192.168.255.2"; + hostAddress6 = "fd42::1"; + localAddress6 = "fd42::2"; + config = { }; + }; }; - }; - services.ndppd = { - enable = true; - proxies.eth1.rules."fd42::/112" = {}; - }; - containers.client = { - autoStart = true; - privateNetwork = true; - hostAddress = "192.168.255.1"; - localAddress = "192.168.255.2"; - hostAddress6 = "fd42::1"; - localAddress6 = "fd42::2"; - config = {}; - }; }; - }; - testScript = '' - start_all() - server.wait_for_unit("multi-user.target") - upstream.wait_for_unit("multi-user.target") - upstream.wait_until_succeeds("ping -c5 fd42::2") - ''; -}) + testScript = '' + start_all() + server.wait_for_unit("multi-user.target") + upstream.wait_for_unit("multi-user.target") + upstream.wait_until_succeeds("ping -c5 fd42::2") + ''; + } +) diff --git a/nixos/tests/nebula.nix b/nixos/tests/nebula.nix index 124be23321964..b3096424a614a 100644 --- a/nixos/tests/nebula.nix +++ b/nixos/tests/nebula.nix @@ -1,312 +1,413 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: let - - # We'll need to be able to trade cert files between nodes via scp. - inherit (import ./ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; - - makeNebulaNode = { config, ... }: name: extraConfig: lib.mkMerge [ - { - # Expose nebula for doing cert signing. - environment.systemPackages = [ pkgs.nebula ]; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - services.openssh.enable = true; - networking.firewall.enable = true; # Implicitly true, but let's make sure. - networking.interfaces.eth1.useDHCP = false; - - services.nebula.networks.smoke = { - # Note that these paths won't exist when the machine is first booted. - ca = "/etc/nebula/ca.crt"; - cert = "/etc/nebula/${name}.crt"; - key = "/etc/nebula/${name}.key"; - listen = { - host = "0.0.0.0"; - port = if (config.services.nebula.networks.smoke.isLighthouse || config.services.nebula.networks.smoke.isRelay) then 4242 else 0; - }; - }; - } - extraConfig - ]; - -in -{ - name = "nebula"; - - nodes = { - - lighthouse = { ... } @ args: - makeNebulaNode args "lighthouse" { - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [{ - address = "192.168.1.1"; - prefixLength = 24; - }]; - - services.nebula.networks.smoke = { - isLighthouse = true; - isRelay = true; - firewall = { - outbound = [ { port = "any"; proto = "any"; host = "any"; } ]; - inbound = [ { port = "any"; proto = "any"; host = "any"; } ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + + # We'll need to be able to trade cert files between nodes via scp. + inherit (import ./ssh-keys.nix pkgs) + snakeOilPrivateKey + snakeOilPublicKey + ; + + makeNebulaNode = + { config, ... }: + name: extraConfig: + lib.mkMerge [ + { + # Expose nebula for doing cert signing. + environment.systemPackages = [ pkgs.nebula ]; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + services.openssh.enable = true; + networking.firewall.enable = true; # Implicitly true, but let's make sure. + networking.interfaces.eth1.useDHCP = false; + + services.nebula.networks.smoke = { + # Note that these paths won't exist when the machine is first booted. + ca = "/etc/nebula/ca.crt"; + cert = "/etc/nebula/${name}.crt"; + key = "/etc/nebula/${name}.key"; + listen = { + host = "0.0.0.0"; + port = + if + ( + config.services.nebula.networks.smoke.isLighthouse || config.services.nebula.networks.smoke.isRelay + ) + then + 4242 + else + 0; + }; + }; + } + extraConfig + ]; + + in + { + name = "nebula"; + + nodes = { + + lighthouse = + { ... }@args: + makeNebulaNode args "lighthouse" { + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + + services.nebula.networks.smoke = { + isLighthouse = true; + isRelay = true; + firewall = { + outbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + inbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + }; }; }; - }; - - allowAny = { ... } @ args: - makeNebulaNode args "allowAny" { - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [{ - address = "192.168.1.2"; - prefixLength = 24; - }]; - - services.nebula.networks.smoke = { - staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; }; - isLighthouse = false; - lighthouses = [ "10.0.100.1" ]; - relays = [ "10.0.100.1" ]; - firewall = { - outbound = [ { port = "any"; proto = "any"; host = "any"; } ]; - inbound = [ { port = "any"; proto = "any"; host = "any"; } ]; + + allowAny = + { ... }@args: + makeNebulaNode args "allowAny" { + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + + services.nebula.networks.smoke = { + staticHostMap = { + "10.0.100.1" = [ "192.168.1.1:4242" ]; + }; + isLighthouse = false; + lighthouses = [ "10.0.100.1" ]; + relays = [ "10.0.100.1" ]; + firewall = { + outbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + inbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + }; }; }; - }; - - allowFromLighthouse = { ... } @ args: - makeNebulaNode args "allowFromLighthouse" { - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [{ - address = "192.168.1.3"; - prefixLength = 24; - }]; - - services.nebula.networks.smoke = { - staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; }; - isLighthouse = false; - lighthouses = [ "10.0.100.1" ]; - relays = [ "10.0.100.1" ]; - firewall = { - outbound = [ { port = "any"; proto = "any"; host = "any"; } ]; - inbound = [ { port = "any"; proto = "any"; host = "lighthouse"; } ]; + + allowFromLighthouse = + { ... }@args: + makeNebulaNode args "allowFromLighthouse" { + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.1.3"; + prefixLength = 24; + } + ]; + + services.nebula.networks.smoke = { + staticHostMap = { + "10.0.100.1" = [ "192.168.1.1:4242" ]; + }; + isLighthouse = false; + lighthouses = [ "10.0.100.1" ]; + relays = [ "10.0.100.1" ]; + firewall = { + outbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + inbound = [ + { + port = "any"; + proto = "any"; + host = "lighthouse"; + } + ]; + }; }; }; - }; - - allowToLighthouse = { ... } @ args: - makeNebulaNode args "allowToLighthouse" { - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [{ - address = "192.168.1.4"; - prefixLength = 24; - }]; - - services.nebula.networks.smoke = { - enable = true; - staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; }; - isLighthouse = false; - lighthouses = [ "10.0.100.1" ]; - relays = [ "10.0.100.1" ]; - firewall = { - outbound = [ { port = "any"; proto = "any"; host = "lighthouse"; } ]; - inbound = [ { port = "any"; proto = "any"; host = "any"; } ]; + + allowToLighthouse = + { ... }@args: + makeNebulaNode args "allowToLighthouse" { + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.1.4"; + prefixLength = 24; + } + ]; + + services.nebula.networks.smoke = { + enable = true; + staticHostMap = { + "10.0.100.1" = [ "192.168.1.1:4242" ]; + }; + isLighthouse = false; + lighthouses = [ "10.0.100.1" ]; + relays = [ "10.0.100.1" ]; + firewall = { + outbound = [ + { + port = "any"; + proto = "any"; + host = "lighthouse"; + } + ]; + inbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + }; }; }; - }; - - disabled = { ... } @ args: - makeNebulaNode args "disabled" { - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [{ - address = "192.168.1.5"; - prefixLength = 24; - }]; - - services.nebula.networks.smoke = { - enable = false; - staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; }; - isLighthouse = false; - lighthouses = [ "10.0.100.1" ]; - relays = [ "10.0.100.1" ]; - firewall = { - outbound = [ { port = "any"; proto = "any"; host = "lighthouse"; } ]; - inbound = [ { port = "any"; proto = "any"; host = "any"; } ]; + + disabled = + { ... }@args: + makeNebulaNode args "disabled" { + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.1.5"; + prefixLength = 24; + } + ]; + + services.nebula.networks.smoke = { + enable = false; + staticHostMap = { + "10.0.100.1" = [ "192.168.1.1:4242" ]; + }; + isLighthouse = false; + lighthouses = [ "10.0.100.1" ]; + relays = [ "10.0.100.1" ]; + firewall = { + outbound = [ + { + port = "any"; + proto = "any"; + host = "lighthouse"; + } + ]; + inbound = [ + { + port = "any"; + proto = "any"; + host = "any"; + } + ]; + }; }; }; - }; - - }; - - testScript = let - - setUpPrivateKey = name: '' - ${name}.start() - ${name}.succeed( - "mkdir -p /root/.ssh", - "chmod 700 /root/.ssh", - "cat '${snakeOilPrivateKey}' > /root/.ssh/id_snakeoil", - "chmod 600 /root/.ssh/id_snakeoil", - "mkdir -p /root" - ) - ''; - - # From what I can tell, StrictHostKeyChecking=no is necessary for ssh to work between machines. - sshOpts = "-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oIdentityFile=/root/.ssh/id_snakeoil"; - - restartAndCheckNebula = name: ip: '' - ${name}.systemctl("restart nebula@smoke.service") - ${name}.succeed("ping -c5 ${ip}") - ''; - - # Create a keypair on the client node, then use the public key to sign a cert on the lighthouse. - signKeysFor = name: ip: '' - lighthouse.wait_for_unit("sshd.service") - ${name}.wait_for_unit("sshd.service") - ${name}.succeed( - "mkdir -p /etc/nebula", - "nebula-cert keygen -out-key /etc/nebula/${name}.key -out-pub /etc/nebula/${name}.pub", - "scp ${sshOpts} /etc/nebula/${name}.pub root@192.168.1.1:/root/${name}.pub", - ) - lighthouse.succeed( - 'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "${name}" -groups "${name}" -ip "${ip}" -in-pub /root/${name}.pub -out-crt /root/${name}.crt' - ) - ${name}.succeed( - "scp ${sshOpts} root@192.168.1.1:/root/${name}.crt /etc/nebula/${name}.crt", - "scp ${sshOpts} root@192.168.1.1:/etc/nebula/ca.crt /etc/nebula/ca.crt", - '(id nebula-smoke >/dev/null && chown -R nebula-smoke:nebula-smoke /etc/nebula) || true' - ) - ''; - - getPublicIp = node: '' - ${node}.succeed("ip --brief addr show eth1 | awk '{print $3}' | tail -n1 | cut -d/ -f1").strip() - ''; - - # Never do this for anything security critical! (Thankfully it's just a test.) - # Restart Nebula right after the mutual block and/or restore so the state is fresh. - blockTrafficBetween = nodeA: nodeB: '' - node_a = ${getPublicIp nodeA} - node_b = ${getPublicIp nodeB} - ${nodeA}.succeed("iptables -I INPUT -s " + node_b + " -j DROP") - ${nodeB}.succeed("iptables -I INPUT -s " + node_a + " -j DROP") - ${nodeA}.systemctl("restart nebula@smoke.service") - ${nodeB}.systemctl("restart nebula@smoke.service") - ''; - allowTrafficBetween = nodeA: nodeB: '' - node_a = ${getPublicIp nodeA} - node_b = ${getPublicIp nodeB} - ${nodeA}.succeed("iptables -D INPUT -s " + node_b + " -j DROP") - ${nodeB}.succeed("iptables -D INPUT -s " + node_a + " -j DROP") - ${nodeA}.systemctl("restart nebula@smoke.service") - ${nodeB}.systemctl("restart nebula@smoke.service") - ''; - in '' - # Create the certificate and sign the lighthouse's keys. - ${setUpPrivateKey "lighthouse"} - lighthouse.succeed( - "mkdir -p /etc/nebula", - 'nebula-cert ca -name "Smoke Test" -out-crt /etc/nebula/ca.crt -out-key /etc/nebula/ca.key', - 'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "lighthouse" -groups "lighthouse" -ip "10.0.100.1/24" -out-crt /etc/nebula/lighthouse.crt -out-key /etc/nebula/lighthouse.key', - 'chown -R nebula-smoke:nebula-smoke /etc/nebula' - ) - - # Reboot the lighthouse and verify that the nebula service comes up on boot. - # Since rebooting takes a while, we'll just restart the service on the other nodes. - lighthouse.shutdown() - lighthouse.start() - lighthouse.wait_for_unit("nebula@smoke.service") - lighthouse.succeed("ping -c5 10.0.100.1") - - # Create keys for allowAny's nebula service and test that it comes up. - ${setUpPrivateKey "allowAny"} - ${signKeysFor "allowAny" "10.0.100.2/24"} - ${restartAndCheckNebula "allowAny" "10.0.100.2"} - - # Create keys for allowFromLighthouse's nebula service and test that it comes up. - ${setUpPrivateKey "allowFromLighthouse"} - ${signKeysFor "allowFromLighthouse" "10.0.100.3/24"} - ${restartAndCheckNebula "allowFromLighthouse" "10.0.100.3"} - - # Create keys for allowToLighthouse's nebula service and test that it comes up. - ${setUpPrivateKey "allowToLighthouse"} - ${signKeysFor "allowToLighthouse" "10.0.100.4/24"} - ${restartAndCheckNebula "allowToLighthouse" "10.0.100.4"} - - # Create keys for disabled's nebula service and test that it does not come up. - ${setUpPrivateKey "disabled"} - ${signKeysFor "disabled" "10.0.100.5/24"} - disabled.fail("systemctl status nebula@smoke.service") - disabled.fail("ping -c5 10.0.100.5") - - # The lighthouse can ping allowAny and allowFromLighthouse but not disabled - lighthouse.succeed("ping -c3 10.0.100.2") - lighthouse.succeed("ping -c3 10.0.100.3") - lighthouse.fail("ping -c3 10.0.100.5") - - # allowAny can ping the lighthouse, but not allowFromLighthouse because of its inbound firewall - allowAny.succeed("ping -c3 10.0.100.1") - allowAny.fail("ping -c3 10.0.100.3") - - # allowFromLighthouse can ping the lighthouse and allowAny - allowFromLighthouse.succeed("ping -c3 10.0.100.1") - allowFromLighthouse.succeed("ping -c3 10.0.100.2") - - # block allowFromLighthouse <-> allowAny, and allowFromLighthouse -> allowAny should still work. - ${blockTrafficBetween "allowFromLighthouse" "allowAny"} - allowFromLighthouse.succeed("ping -c10 10.0.100.2") - ${allowTrafficBetween "allowFromLighthouse" "allowAny"} - allowFromLighthouse.succeed("ping -c10 10.0.100.2") - - # allowToLighthouse can ping the lighthouse but not allowAny or allowFromLighthouse - allowToLighthouse.succeed("ping -c3 10.0.100.1") - allowToLighthouse.fail("ping -c3 10.0.100.2") - allowToLighthouse.fail("ping -c3 10.0.100.3") - - # allowAny can ping allowFromLighthouse now that allowFromLighthouse pinged it first - allowAny.succeed("ping -c3 10.0.100.3") - - # block allowAny <-> allowFromLighthouse, and allowAny -> allowFromLighthouse should still work. - ${blockTrafficBetween "allowAny" "allowFromLighthouse"} - allowFromLighthouse.succeed("ping -c10 10.0.100.2") - allowAny.succeed("ping -c10 10.0.100.3") - ${allowTrafficBetween "allowAny" "allowFromLighthouse"} - allowFromLighthouse.succeed("ping -c10 10.0.100.2") - allowAny.succeed("ping -c10 10.0.100.3") - - # allowToLighthouse can ping allowAny if allowAny pings it first - allowAny.succeed("ping -c3 10.0.100.4") - allowToLighthouse.succeed("ping -c3 10.0.100.2") - - # block allowToLighthouse <-> allowAny, and allowAny <-> allowToLighthouse should still work. - ${blockTrafficBetween "allowAny" "allowToLighthouse"} - allowAny.succeed("ping -c10 10.0.100.4") - allowToLighthouse.succeed("ping -c10 10.0.100.2") - ${allowTrafficBetween "allowAny" "allowToLighthouse"} - allowAny.succeed("ping -c10 10.0.100.4") - allowToLighthouse.succeed("ping -c10 10.0.100.2") - - # block lighthouse <-> allowFromLighthouse and allowAny <-> allowFromLighthouse; allowFromLighthouse won't get to allowAny - ${blockTrafficBetween "allowFromLighthouse" "lighthouse"} - ${blockTrafficBetween "allowFromLighthouse" "allowAny"} - allowFromLighthouse.fail("ping -c3 10.0.100.2") - ${allowTrafficBetween "allowFromLighthouse" "lighthouse"} - ${allowTrafficBetween "allowFromLighthouse" "allowAny"} - allowFromLighthouse.succeed("ping -c3 10.0.100.2") - - # block lighthouse <-> allowAny, allowAny <-> allowFromLighthouse, and allowAny <-> allowToLighthouse; it won't get to allowFromLighthouse or allowToLighthouse - ${blockTrafficBetween "allowAny" "lighthouse"} - ${blockTrafficBetween "allowAny" "allowFromLighthouse"} - ${blockTrafficBetween "allowAny" "allowToLighthouse"} - allowFromLighthouse.fail("ping -c3 10.0.100.2") - allowAny.fail("ping -c3 10.0.100.3") - allowAny.fail("ping -c3 10.0.100.4") - ${allowTrafficBetween "allowAny" "lighthouse"} - ${allowTrafficBetween "allowAny" "allowFromLighthouse"} - ${allowTrafficBetween "allowAny" "allowToLighthouse"} - allowFromLighthouse.succeed("ping -c3 10.0.100.2") - allowAny.succeed("ping -c3 10.0.100.3") - allowAny.succeed("ping -c3 10.0.100.4") - - # block lighthouse <-> allowToLighthouse and allowToLighthouse <-> allowAny; it won't get to allowAny - ${blockTrafficBetween "allowToLighthouse" "lighthouse"} - ${blockTrafficBetween "allowToLighthouse" "allowAny"} - allowAny.fail("ping -c3 10.0.100.4") - allowToLighthouse.fail("ping -c3 10.0.100.2") - ${allowTrafficBetween "allowToLighthouse" "lighthouse"} - ${allowTrafficBetween "allowToLighthouse" "allowAny"} - allowAny.succeed("ping -c3 10.0.100.4") - allowToLighthouse.succeed("ping -c3 10.0.100.2") - ''; -}) + + }; + + testScript = + let + + setUpPrivateKey = name: '' + ${name}.start() + ${name}.succeed( + "mkdir -p /root/.ssh", + "chmod 700 /root/.ssh", + "cat '${snakeOilPrivateKey}' > /root/.ssh/id_snakeoil", + "chmod 600 /root/.ssh/id_snakeoil", + "mkdir -p /root" + ) + ''; + + # From what I can tell, StrictHostKeyChecking=no is necessary for ssh to work between machines. + sshOpts = "-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oIdentityFile=/root/.ssh/id_snakeoil"; + + restartAndCheckNebula = name: ip: '' + ${name}.systemctl("restart nebula@smoke.service") + ${name}.succeed("ping -c5 ${ip}") + ''; + + # Create a keypair on the client node, then use the public key to sign a cert on the lighthouse. + signKeysFor = name: ip: '' + lighthouse.wait_for_unit("sshd.service") + ${name}.wait_for_unit("sshd.service") + ${name}.succeed( + "mkdir -p /etc/nebula", + "nebula-cert keygen -out-key /etc/nebula/${name}.key -out-pub /etc/nebula/${name}.pub", + "scp ${sshOpts} /etc/nebula/${name}.pub root@192.168.1.1:/root/${name}.pub", + ) + lighthouse.succeed( + 'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "${name}" -groups "${name}" -ip "${ip}" -in-pub /root/${name}.pub -out-crt /root/${name}.crt' + ) + ${name}.succeed( + "scp ${sshOpts} root@192.168.1.1:/root/${name}.crt /etc/nebula/${name}.crt", + "scp ${sshOpts} root@192.168.1.1:/etc/nebula/ca.crt /etc/nebula/ca.crt", + '(id nebula-smoke >/dev/null && chown -R nebula-smoke:nebula-smoke /etc/nebula) || true' + ) + ''; + + getPublicIp = node: '' + ${node}.succeed("ip --brief addr show eth1 | awk '{print $3}' | tail -n1 | cut -d/ -f1").strip() + ''; + + # Never do this for anything security critical! (Thankfully it's just a test.) + # Restart Nebula right after the mutual block and/or restore so the state is fresh. + blockTrafficBetween = nodeA: nodeB: '' + node_a = ${getPublicIp nodeA} + node_b = ${getPublicIp nodeB} + ${nodeA}.succeed("iptables -I INPUT -s " + node_b + " -j DROP") + ${nodeB}.succeed("iptables -I INPUT -s " + node_a + " -j DROP") + ${nodeA}.systemctl("restart nebula@smoke.service") + ${nodeB}.systemctl("restart nebula@smoke.service") + ''; + allowTrafficBetween = nodeA: nodeB: '' + node_a = ${getPublicIp nodeA} + node_b = ${getPublicIp nodeB} + ${nodeA}.succeed("iptables -D INPUT -s " + node_b + " -j DROP") + ${nodeB}.succeed("iptables -D INPUT -s " + node_a + " -j DROP") + ${nodeA}.systemctl("restart nebula@smoke.service") + ${nodeB}.systemctl("restart nebula@smoke.service") + ''; + in + '' + # Create the certificate and sign the lighthouse's keys. + ${setUpPrivateKey "lighthouse"} + lighthouse.succeed( + "mkdir -p /etc/nebula", + 'nebula-cert ca -name "Smoke Test" -out-crt /etc/nebula/ca.crt -out-key /etc/nebula/ca.key', + 'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "lighthouse" -groups "lighthouse" -ip "10.0.100.1/24" -out-crt /etc/nebula/lighthouse.crt -out-key /etc/nebula/lighthouse.key', + 'chown -R nebula-smoke:nebula-smoke /etc/nebula' + ) + + # Reboot the lighthouse and verify that the nebula service comes up on boot. + # Since rebooting takes a while, we'll just restart the service on the other nodes. + lighthouse.shutdown() + lighthouse.start() + lighthouse.wait_for_unit("nebula@smoke.service") + lighthouse.succeed("ping -c5 10.0.100.1") + + # Create keys for allowAny's nebula service and test that it comes up. + ${setUpPrivateKey "allowAny"} + ${signKeysFor "allowAny" "10.0.100.2/24"} + ${restartAndCheckNebula "allowAny" "10.0.100.2"} + + # Create keys for allowFromLighthouse's nebula service and test that it comes up. + ${setUpPrivateKey "allowFromLighthouse"} + ${signKeysFor "allowFromLighthouse" "10.0.100.3/24"} + ${restartAndCheckNebula "allowFromLighthouse" "10.0.100.3"} + + # Create keys for allowToLighthouse's nebula service and test that it comes up. + ${setUpPrivateKey "allowToLighthouse"} + ${signKeysFor "allowToLighthouse" "10.0.100.4/24"} + ${restartAndCheckNebula "allowToLighthouse" "10.0.100.4"} + + # Create keys for disabled's nebula service and test that it does not come up. + ${setUpPrivateKey "disabled"} + ${signKeysFor "disabled" "10.0.100.5/24"} + disabled.fail("systemctl status nebula@smoke.service") + disabled.fail("ping -c5 10.0.100.5") + + # The lighthouse can ping allowAny and allowFromLighthouse but not disabled + lighthouse.succeed("ping -c3 10.0.100.2") + lighthouse.succeed("ping -c3 10.0.100.3") + lighthouse.fail("ping -c3 10.0.100.5") + + # allowAny can ping the lighthouse, but not allowFromLighthouse because of its inbound firewall + allowAny.succeed("ping -c3 10.0.100.1") + allowAny.fail("ping -c3 10.0.100.3") + + # allowFromLighthouse can ping the lighthouse and allowAny + allowFromLighthouse.succeed("ping -c3 10.0.100.1") + allowFromLighthouse.succeed("ping -c3 10.0.100.2") + + # block allowFromLighthouse <-> allowAny, and allowFromLighthouse -> allowAny should still work. + ${blockTrafficBetween "allowFromLighthouse" "allowAny"} + allowFromLighthouse.succeed("ping -c10 10.0.100.2") + ${allowTrafficBetween "allowFromLighthouse" "allowAny"} + allowFromLighthouse.succeed("ping -c10 10.0.100.2") + + # allowToLighthouse can ping the lighthouse but not allowAny or allowFromLighthouse + allowToLighthouse.succeed("ping -c3 10.0.100.1") + allowToLighthouse.fail("ping -c3 10.0.100.2") + allowToLighthouse.fail("ping -c3 10.0.100.3") + + # allowAny can ping allowFromLighthouse now that allowFromLighthouse pinged it first + allowAny.succeed("ping -c3 10.0.100.3") + + # block allowAny <-> allowFromLighthouse, and allowAny -> allowFromLighthouse should still work. + ${blockTrafficBetween "allowAny" "allowFromLighthouse"} + allowFromLighthouse.succeed("ping -c10 10.0.100.2") + allowAny.succeed("ping -c10 10.0.100.3") + ${allowTrafficBetween "allowAny" "allowFromLighthouse"} + allowFromLighthouse.succeed("ping -c10 10.0.100.2") + allowAny.succeed("ping -c10 10.0.100.3") + + # allowToLighthouse can ping allowAny if allowAny pings it first + allowAny.succeed("ping -c3 10.0.100.4") + allowToLighthouse.succeed("ping -c3 10.0.100.2") + + # block allowToLighthouse <-> allowAny, and allowAny <-> allowToLighthouse should still work. + ${blockTrafficBetween "allowAny" "allowToLighthouse"} + allowAny.succeed("ping -c10 10.0.100.4") + allowToLighthouse.succeed("ping -c10 10.0.100.2") + ${allowTrafficBetween "allowAny" "allowToLighthouse"} + allowAny.succeed("ping -c10 10.0.100.4") + allowToLighthouse.succeed("ping -c10 10.0.100.2") + + # block lighthouse <-> allowFromLighthouse and allowAny <-> allowFromLighthouse; allowFromLighthouse won't get to allowAny + ${blockTrafficBetween "allowFromLighthouse" "lighthouse"} + ${blockTrafficBetween "allowFromLighthouse" "allowAny"} + allowFromLighthouse.fail("ping -c3 10.0.100.2") + ${allowTrafficBetween "allowFromLighthouse" "lighthouse"} + ${allowTrafficBetween "allowFromLighthouse" "allowAny"} + allowFromLighthouse.succeed("ping -c3 10.0.100.2") + + # block lighthouse <-> allowAny, allowAny <-> allowFromLighthouse, and allowAny <-> allowToLighthouse; it won't get to allowFromLighthouse or allowToLighthouse + ${blockTrafficBetween "allowAny" "lighthouse"} + ${blockTrafficBetween "allowAny" "allowFromLighthouse"} + ${blockTrafficBetween "allowAny" "allowToLighthouse"} + allowFromLighthouse.fail("ping -c3 10.0.100.2") + allowAny.fail("ping -c3 10.0.100.3") + allowAny.fail("ping -c3 10.0.100.4") + ${allowTrafficBetween "allowAny" "lighthouse"} + ${allowTrafficBetween "allowAny" "allowFromLighthouse"} + ${allowTrafficBetween "allowAny" "allowToLighthouse"} + allowFromLighthouse.succeed("ping -c3 10.0.100.2") + allowAny.succeed("ping -c3 10.0.100.3") + allowAny.succeed("ping -c3 10.0.100.4") + + # block lighthouse <-> allowToLighthouse and allowToLighthouse <-> allowAny; it won't get to allowAny + ${blockTrafficBetween "allowToLighthouse" "lighthouse"} + ${blockTrafficBetween "allowToLighthouse" "allowAny"} + allowAny.fail("ping -c3 10.0.100.4") + allowToLighthouse.fail("ping -c3 10.0.100.2") + ${allowTrafficBetween "allowToLighthouse" "lighthouse"} + ${allowTrafficBetween "allowToLighthouse" "allowAny"} + allowAny.succeed("ping -c3 10.0.100.4") + allowToLighthouse.succeed("ping -c3 10.0.100.2") + ''; + } +) diff --git a/nixos/tests/networking-proxy.nix b/nixos/tests/networking-proxy.nix index 72f33c78bd0ec..4592bffec9e3d 100644 --- a/nixos/tests/networking-proxy.nix +++ b/nixos/tests/networking-proxy.nix @@ -3,68 +3,73 @@ # TODO: use a real proxy node and put this test into networking.nix # TODO: test whether nix tools work as expected behind a proxy -let default-config = { - imports = [ ./common/user-account.nix ]; +let + default-config = { + imports = [ ./common/user-account.nix ]; - services.xserver.enable = false; + services.xserver.enable = false; - }; -in import ./make-test-python.nix ({ pkgs, ...} : { - name = "networking-proxy"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; }; +in +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "networking-proxy"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; + + nodes = { + # no proxy + machine = + { ... }: + + default-config; + + # proxy default + machine2 = + { ... }: - nodes = { - # no proxy - machine = - { ... }: - - default-config; - - # proxy default - machine2 = - { ... }: - - default-config // { - networking.proxy.default = "http://user:pass@host:port"; - }; - - # specific proxy options - machine3 = - { ... }: - - default-config // - { - networking.proxy = { - # useless because overridden by the next options - default = "http://user:pass@host:port"; - # advanced proxy setup - httpProxy = "123-http://user:pass@http-host:port"; - httpsProxy = "456-http://user:pass@https-host:port"; - rsyncProxy = "789-http://user:pass@rsync-host:port"; - ftpProxy = "101112-http://user:pass@ftp-host:port"; - noProxy = "131415-127.0.0.1,localhost,.localdomain"; + default-config + // { + networking.proxy.default = "http://user:pass@host:port"; }; - }; - - # mix default + proxy options - machine4 = - { ... }: - - default-config // { - networking.proxy = { - # open for all *_proxy env var - default = "000-http://user:pass@default-host:port"; - # except for those 2 - rsyncProxy = "123-http://user:pass@http-host:port"; - noProxy = "131415-127.0.0.1,localhost,.localdomain"; + + # specific proxy options + machine3 = + { ... }: + + default-config + // { + networking.proxy = { + # useless because overridden by the next options + default = "http://user:pass@host:port"; + # advanced proxy setup + httpProxy = "123-http://user:pass@http-host:port"; + httpsProxy = "456-http://user:pass@https-host:port"; + rsyncProxy = "789-http://user:pass@rsync-host:port"; + ftpProxy = "101112-http://user:pass@ftp-host:port"; + noProxy = "131415-127.0.0.1,localhost,.localdomain"; + }; + }; + + # mix default + proxy options + machine4 = + { ... }: + + default-config + // { + networking.proxy = { + # open for all *_proxy env var + default = "000-http://user:pass@default-host:port"; + # except for those 2 + rsyncProxy = "123-http://user:pass@http-host:port"; + noProxy = "131415-127.0.0.1,localhost,.localdomain"; + }; }; - }; }; - testScript = - '' + testScript = '' from typing import Dict, Optional @@ -131,4 +136,5 @@ in import ./make-test-python.nix ({ pkgs, ...} : { assert "000" in env["ftp_proxy"] assert "131415" in env["no_proxy"] ''; -}) + } +) diff --git a/nixos/tests/networking/networkd-and-scripted.nix b/nixos/tests/networking/networkd-and-scripted.nix index 96347b0fdf2ec..b7ed834f1f66d 100644 --- a/nixos/tests/networking/networkd-and-scripted.nix +++ b/nixos/tests/networking/networkd-and-scripted.nix @@ -1,22 +1,26 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -# bool: whether to use networkd in the tests -, networkd }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + # bool: whether to use networkd in the tests + networkd, +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; let lib = pkgs.lib; router = import ./router.nix { inherit networkd; }; - clientConfig = extraConfig: lib.recursiveUpdate { - networking.useDHCP = false; - networking.useNetworkd = networkd; - } extraConfig; + clientConfig = + extraConfig: + lib.recursiveUpdate { + networking.useDHCP = false; + networking.useNetworkd = networkd; + } extraConfig; testCases = { loopback = { name = "Loopback"; - nodes.client = clientConfig {}; + nodes.client = clientConfig { }; testScript = '' start_all() client.wait_for_unit("network.target") @@ -32,53 +36,73 @@ let virtualisation.interfaces.enp1s0.vlan = 1; virtualisation.interfaces.enp2s0.vlan = 2; networking = { - defaultGateway = { address = "192.168.1.1"; interface = "enp1s0"; }; - defaultGateway6 = { address = "fd00:1234:5678:1::1"; interface = "enp1s0"; }; + defaultGateway = { + address = "192.168.1.1"; + interface = "enp1s0"; + }; + defaultGateway6 = { + address = "fd00:1234:5678:1::1"; + interface = "enp1s0"; + }; interfaces.enp1s0.ipv4.addresses = [ - { address = "192.168.1.2"; prefixLength = 24; } - { address = "192.168.1.3"; prefixLength = 32; } - { address = "192.168.1.10"; prefixLength = 32; } + { + address = "192.168.1.2"; + prefixLength = 24; + } + { + address = "192.168.1.3"; + prefixLength = 32; + } + { + address = "192.168.1.10"; + prefixLength = 32; + } ]; interfaces.enp2s0.ipv4.addresses = [ - { address = "192.168.2.2"; prefixLength = 24; } + { + address = "192.168.2.2"; + prefixLength = 24; + } ]; }; }; testScript = '' - start_all() - - client.wait_for_unit("network.target") - router.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") - - with subtest("Make sure DHCP server is not started"): - client.fail("systemctl status kea-dhcp4-server.service") - client.fail("systemctl status kea-dhcp6-server.service") - - with subtest("Test vlan 1"): - client.wait_until_succeeds("ping -c 1 192.168.1.1") - router.wait_until_succeeds("ping -c 1 192.168.1.2") - router.wait_until_succeeds("ping -c 1 192.168.1.3") - router.wait_until_succeeds("ping -c 1 192.168.1.10") - - with subtest("Test vlan 2"): - client.wait_until_succeeds("ping -c 1 192.168.2.1") - router.wait_until_succeeds("ping -c 1 192.168.2.2") + start_all() - with subtest("Test default gateway"): - client.wait_until_succeeds("ping -c 1 192.168.3.1") - client.wait_until_succeeds("ping -c 1 fd00:1234:5678:3::1") - ''; + client.wait_for_unit("network.target") + router.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") + + with subtest("Make sure DHCP server is not started"): + client.fail("systemctl status kea-dhcp4-server.service") + client.fail("systemctl status kea-dhcp6-server.service") + + with subtest("Test vlan 1"): + client.wait_until_succeeds("ping -c 1 192.168.1.1") + router.wait_until_succeeds("ping -c 1 192.168.1.2") + router.wait_until_succeeds("ping -c 1 192.168.1.3") + router.wait_until_succeeds("ping -c 1 192.168.1.10") + + with subtest("Test vlan 2"): + client.wait_until_succeeds("ping -c 1 192.168.2.1") + router.wait_until_succeeds("ping -c 1 192.168.2.2") + + with subtest("Test default gateway"): + client.wait_until_succeeds("ping -c 1 192.168.3.1") + client.wait_until_succeeds("ping -c 1 fd00:1234:5678:3::1") + ''; }; routeType = { name = "RouteType"; nodes.client = clientConfig { networking = { - interfaces.eth1.ipv4.routes = [{ - address = "192.168.1.127"; - prefixLength = 32; - type = "local"; - }]; + interfaces.eth1.ipv4.routes = [ + { + address = "192.168.1.127"; + prefixLength = 32; + type = "local"; + } + ]; }; }; testScript = '' @@ -95,7 +119,7 @@ let networking.interfaces = lib.mkForce { # Make sure DHCP defaults correctly even when some unrelated config # is set on the interface (nothing, in this case). - enp1s0 = {}; + enp1s0 = { }; }; networking.useNetworkd = networkd; virtualisation.interfaces.enp1s0.vlan = 1; @@ -120,39 +144,39 @@ let }; }; testScript = '' - router.start() - router.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") - - client.start() - client.wait_for_unit("network.target") - - with subtest("Wait until we have an ip address on each interface"): - client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'") - client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'") - client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q '192.168.2'") - client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q 'fd00:1234:5678:2:'") - - with subtest("Wait until we have received the nameservers"): - if "${builtins.toJSON networkd}" == "true": - client.wait_until_succeeds("resolvectl status enp2s0 | grep -q 2001:db8::1") - client.wait_until_succeeds("resolvectl status enp2s0 | grep -q 192.168.2.1") - else: - client.wait_until_succeeds("resolvconf -l | grep -q 2001:db8::1") - client.wait_until_succeeds("resolvconf -l | grep -q 192.168.2.1") - - with subtest("Test vlan 1"): - client.wait_until_succeeds("ping -c 1 192.168.1.1") - client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") - router.wait_until_succeeds("ping -c 1 192.168.1.2") - router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2") + router.start() + router.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") - with subtest("Test vlan 2"): - client.wait_until_succeeds("ping -c 1 192.168.2.1") - client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1") - router.wait_until_succeeds("ping -c 1 192.168.2.2") - router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2") - ''; + client.start() + client.wait_for_unit("network.target") + + with subtest("Wait until we have an ip address on each interface"): + client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'") + client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'") + client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q '192.168.2'") + client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q 'fd00:1234:5678:2:'") + + with subtest("Wait until we have received the nameservers"): + if "${builtins.toJSON networkd}" == "true": + client.wait_until_succeeds("resolvectl status enp2s0 | grep -q 2001:db8::1") + client.wait_until_succeeds("resolvectl status enp2s0 | grep -q 192.168.2.1") + else: + client.wait_until_succeeds("resolvconf -l | grep -q 2001:db8::1") + client.wait_until_succeeds("resolvconf -l | grep -q 192.168.2.1") + + with subtest("Test vlan 1"): + client.wait_until_succeeds("ping -c 1 192.168.1.1") + client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") + router.wait_until_succeeds("ping -c 1 192.168.1.2") + router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2") + + with subtest("Test vlan 2"): + client.wait_until_succeeds("ping -c 1 192.168.2.1") + client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1") + router.wait_until_succeeds("ping -c 1 192.168.2.2") + router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2") + ''; }; dhcpOneIf = { name = "OneInterfaceDHCP"; @@ -168,48 +192,59 @@ let }; }; testScript = '' - start_all() + start_all() - with subtest("Wait for networking to come up"): - client.wait_for_unit("network.target") - router.wait_for_unit("network.target") + with subtest("Wait for networking to come up"): + client.wait_for_unit("network.target") + router.wait_for_unit("network.target") - with subtest("Wait until we have an ip address on each interface"): - client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'") + with subtest("Wait until we have an ip address on each interface"): + client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'") - with subtest("ensure MTU is set"): - assert "mtu 1343" in client.succeed("ip link show dev enp1s0") + with subtest("ensure MTU is set"): + assert "mtu 1343" in client.succeed("ip link show dev enp1s0") - with subtest("Test vlan 1"): - client.wait_until_succeeds("ping -c 1 192.168.1.1") - router.wait_until_succeeds("ping -c 1 192.168.1.2") + with subtest("Test vlan 1"): + client.wait_until_succeeds("ping -c 1 192.168.1.1") + router.wait_until_succeeds("ping -c 1 192.168.1.2") - with subtest("Test vlan 2"): - client.wait_until_succeeds("ping -c 1 192.168.2.1") - client.fail("ping -c 1 192.168.2.2") + with subtest("Test vlan 2"): + client.wait_until_succeeds("ping -c 1 192.168.2.1") + client.fail("ping -c 1 192.168.2.2") - router.wait_until_succeeds("ping -c 1 192.168.2.1") - router.fail("ping -c 1 192.168.2.2") - ''; + router.wait_until_succeeds("ping -c 1 192.168.2.1") + router.fail("ping -c 1 192.168.2.2") + ''; }; - bond = let - node = address: clientConfig { - virtualisation.interfaces.enp1s0.vlan = 1; - virtualisation.interfaces.enp2s0.vlan = 2; - networking = { - bonds.bond0 = { - interfaces = [ "enp1s0" "enp2s0" ]; - driverOptions.mode = "802.3ad"; + bond = + let + node = + address: + clientConfig { + virtualisation.interfaces.enp1s0.vlan = 1; + virtualisation.interfaces.enp2s0.vlan = 2; + networking = { + bonds.bond0 = { + interfaces = [ + "enp1s0" + "enp2s0" + ]; + driverOptions.mode = "802.3ad"; + }; + interfaces.bond0.ipv4.addresses = lib.mkOverride 0 [ + { + inherit address; + prefixLength = 30; + } + ]; + }; }; - interfaces.bond0.ipv4.addresses = lib.mkOverride 0 - [ { inherit address; prefixLength = 30; } ]; - }; - }; - in { - name = "Bond"; - nodes.client1 = node "192.168.1.1"; - nodes.client2 = node "192.168.1.2"; - testScript = '' + in + { + name = "Bond"; + nodes.client1 = node "192.168.1.1"; + nodes.client2 = node "192.168.1.2"; + testScript = '' start_all() with subtest("Wait for networking to come up"): @@ -227,34 +262,57 @@ let for client in client1, client2: client.succeed('grep -q "Bonding Mode: IEEE 802.3ad Dynamic link aggregation" /proc/net/bonding/bond0') ''; - }; - bridge = let - node = { address, vlan }: { pkgs, ... }: { - virtualisation.interfaces.enp1s0.vlan = vlan; - networking = { - useNetworkd = networkd; - useDHCP = false; - interfaces.enp1s0.ipv4.addresses = [ { inherit address; prefixLength = 24; } ]; - }; }; - in { - name = "Bridge"; - nodes.client1 = node { address = "192.168.1.2"; vlan = 1; }; - nodes.client2 = node { address = "192.168.1.3"; vlan = 2; }; - nodes.router = { - virtualisation.interfaces.enp1s0.vlan = 1; - virtualisation.interfaces.enp2s0.vlan = 2; - networking = { - useNetworkd = networkd; - useDHCP = false; - bridges.bridge.interfaces = [ "enp1s0" "enp2s0" ]; - interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; - interfaces.eth2.ipv4.addresses = lib.mkOverride 0 [ ]; - interfaces.bridge.ipv4.addresses = lib.mkOverride 0 - [ { address = "192.168.1.1"; prefixLength = 24; } ]; + bridge = + let + node = + { address, vlan }: + { pkgs, ... }: + { + virtualisation.interfaces.enp1s0.vlan = vlan; + networking = { + useNetworkd = networkd; + useDHCP = false; + interfaces.enp1s0.ipv4.addresses = [ + { + inherit address; + prefixLength = 24; + } + ]; + }; + }; + in + { + name = "Bridge"; + nodes.client1 = node { + address = "192.168.1.2"; + vlan = 1; }; - }; - testScript = '' + nodes.client2 = node { + address = "192.168.1.3"; + vlan = 2; + }; + nodes.router = { + virtualisation.interfaces.enp1s0.vlan = 1; + virtualisation.interfaces.enp2s0.vlan = 2; + networking = { + useNetworkd = networkd; + useDHCP = false; + bridges.bridge.interfaces = [ + "enp1s0" + "enp2s0" + ]; + interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; + interfaces.eth2.ipv4.addresses = lib.mkOverride 0 [ ]; + interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + }; + }; + testScript = '' start_all() with subtest("Wait for networking to come up"): @@ -274,84 +332,105 @@ let router.wait_until_succeeds("ping -c 1 192.168.1.2") router.wait_until_succeeds("ping -c 1 192.168.1.3") ''; - }; + }; macvlan = { name = "MACVLAN"; nodes.router = router; - nodes.client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules - virtualisation.interfaces.enp1s0.vlan = 1; - networking = { - useNetworkd = networkd; - useDHCP = false; - firewall.logReversePathDrops = true; # to debug firewall rules - # reverse path filtering rules for the macvlan interface seem - # to be incorrect, causing the test to fail. Disable temporarily. - firewall.checkReversePath = false; - macvlans.macvlan.interface = "enp1s0"; - interfaces.enp1s0.useDHCP = true; - interfaces.macvlan.useDHCP = true; + nodes.client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules + virtualisation.interfaces.enp1s0.vlan = 1; + networking = { + useNetworkd = networkd; + useDHCP = false; + firewall.logReversePathDrops = true; # to debug firewall rules + # reverse path filtering rules for the macvlan interface seem + # to be incorrect, causing the test to fail. Disable temporarily. + firewall.checkReversePath = false; + macvlans.macvlan.interface = "enp1s0"; + interfaces.enp1s0.useDHCP = true; + interfaces.macvlan.useDHCP = true; + }; }; - }; testScript = '' - start_all() - - with subtest("Wait for networking to come up"): - client.wait_for_unit("network.target") - router.wait_for_unit("network.target") - - with subtest("Wait until we have an ip address on each interface"): - client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'") - client.wait_until_succeeds("ip addr show dev macvlan | grep -q '192.168.1'") - - with subtest("Print lots of diagnostic information"): - router.log("**********************************************") - router.succeed("ip addr >&2") - router.succeed("ip route >&2") - router.execute("iptables-save >&2") - client.log("==============================================") - client.succeed("ip addr >&2") - client.succeed("ip route >&2") - client.execute("iptables-save >&2") - client.log("##############################################") - - with subtest("Test macvlan creates routable ips"): - client.wait_until_succeeds("ping -c 1 192.168.1.1") - client.wait_until_succeeds("ping -c 1 192.168.1.2") - client.wait_until_succeeds("ping -c 1 192.168.1.3") + start_all() - router.wait_until_succeeds("ping -c 1 192.168.1.1") - router.wait_until_succeeds("ping -c 1 192.168.1.2") - router.wait_until_succeeds("ping -c 1 192.168.1.3") - ''; + with subtest("Wait for networking to come up"): + client.wait_for_unit("network.target") + router.wait_for_unit("network.target") + + with subtest("Wait until we have an ip address on each interface"): + client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'") + client.wait_until_succeeds("ip addr show dev macvlan | grep -q '192.168.1'") + + with subtest("Print lots of diagnostic information"): + router.log("**********************************************") + router.succeed("ip addr >&2") + router.succeed("ip route >&2") + router.execute("iptables-save >&2") + client.log("==============================================") + client.succeed("ip addr >&2") + client.succeed("ip route >&2") + client.execute("iptables-save >&2") + client.log("##############################################") + + with subtest("Test macvlan creates routable ips"): + client.wait_until_succeeds("ping -c 1 192.168.1.1") + client.wait_until_succeeds("ping -c 1 192.168.1.2") + client.wait_until_succeeds("ping -c 1 192.168.1.3") + + router.wait_until_succeeds("ping -c 1 192.168.1.1") + router.wait_until_succeeds("ping -c 1 192.168.1.2") + router.wait_until_succeeds("ping -c 1 192.168.1.3") + ''; }; fou = { name = "foo-over-udp"; nodes.machine = clientConfig { virtualisation.interfaces.enp1s0.vlan = 1; networking = { - interfaces.enp1s0.ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ]; + interfaces.enp1s0.ipv4.addresses = [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; fooOverUDP = { - fou1 = { port = 9001; }; - fou2 = { port = 9002; protocol = 41; }; - fou3 = lib.mkIf (!networkd) - { port = 9003; local.address = "192.168.1.1"; }; - fou4 = lib.mkIf (!networkd) - { port = 9004; local = { address = "192.168.1.1"; dev = "enp1s0"; }; }; + fou1 = { + port = 9001; + }; + fou2 = { + port = 9002; + protocol = 41; + }; + fou3 = lib.mkIf (!networkd) { + port = 9003; + local.address = "192.168.1.1"; + }; + fou4 = lib.mkIf (!networkd) { + port = 9004; + local = { + address = "192.168.1.1"; + dev = "enp1s0"; + }; + }; }; }; systemd.services = { fou3-fou-encap.after = lib.optional (!networkd) "network-addresses-enp1s0.service"; }; }; - testScript = '' + testScript = + '' import json machine.wait_for_unit("network.target") fous = json.loads(machine.succeed("ip -json fou show")) assert {"port": 9001, "gue": None, "family": "inet"} in fous, "fou1 exists" assert {"port": 9002, "ipproto": 41, "family": "inet"} in fous, "fou2 exists" - '' + lib.optionalString (!networkd) '' + '' + + lib.optionalString (!networkd) '' assert { "port": 9003, "gue": None, @@ -367,50 +446,83 @@ let } in fous, "fou4 exists" ''; }; - sit = let - node = { address4, remote, address6 }: { pkgs, ... }: { - virtualisation.interfaces.enp1s0.vlan = 1; - networking = { - useNetworkd = networkd; - useDHCP = false; - sits.sit = { - inherit remote; - local = address4; - dev = "enp1s0"; - }; - interfaces.enp1s0.ipv4.addresses = lib.mkOverride 0 - [ { address = address4; prefixLength = 24; } ]; - interfaces.sit.ipv6.addresses = lib.mkOverride 0 - [ { address = address6; prefixLength = 64; } ]; - }; - }; - in { - name = "Sit"; - # note on firewalling: the two nodes are explicitly asymmetric. - # client1 sends SIT packets in UDP, but accepts only proto-41 incoming. - # client2 does the reverse, sending in proto-41 and accepting only UDP incoming. - # that way we'll notice when either SIT itself or FOU breaks. - nodes.client1 = args@{ pkgs, ... }: - lib.mkMerge [ - (node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; } args) + sit = + let + node = { - networking = { - firewall.extraCommands = "iptables -A INPUT -p 41 -j ACCEPT"; - sits.sit.encapsulation = { type = "fou"; port = 9001; }; - }; - } - ]; - nodes.client2 = args@{ pkgs, ... }: - lib.mkMerge [ - (node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; } args) + address4, + remote, + address6, + }: + { pkgs, ... }: { + virtualisation.interfaces.enp1s0.vlan = 1; networking = { - firewall.allowedUDPPorts = [ 9001 ]; - fooOverUDP.fou1 = { port = 9001; protocol = 41; }; + useNetworkd = networkd; + useDHCP = false; + sits.sit = { + inherit remote; + local = address4; + dev = "enp1s0"; + }; + interfaces.enp1s0.ipv4.addresses = lib.mkOverride 0 [ + { + address = address4; + prefixLength = 24; + } + ]; + interfaces.sit.ipv6.addresses = lib.mkOverride 0 [ + { + address = address6; + prefixLength = 64; + } + ]; }; - } - ]; - testScript = '' + }; + in + { + name = "Sit"; + # note on firewalling: the two nodes are explicitly asymmetric. + # client1 sends SIT packets in UDP, but accepts only proto-41 incoming. + # client2 does the reverse, sending in proto-41 and accepting only UDP incoming. + # that way we'll notice when either SIT itself or FOU breaks. + nodes.client1 = + args@{ pkgs, ... }: + lib.mkMerge [ + (node { + address4 = "192.168.1.1"; + remote = "192.168.1.2"; + address6 = "fc00::1"; + } args) + { + networking = { + firewall.extraCommands = "iptables -A INPUT -p 41 -j ACCEPT"; + sits.sit.encapsulation = { + type = "fou"; + port = 9001; + }; + }; + } + ]; + nodes.client2 = + args@{ pkgs, ... }: + lib.mkMerge [ + (node { + address4 = "192.168.1.2"; + remote = "192.168.1.1"; + address6 = "fc00::2"; + } args) + { + networking = { + firewall.allowedUDPPorts = [ 9001 ]; + fooOverUDP.fou1 = { + port = 9001; + protocol = 41; + }; + }; + } + ]; + testScript = '' start_all() with subtest("Wait for networking to be configured"): @@ -428,92 +540,130 @@ let client2.wait_until_succeeds("ping -c 1 fc00::1") client2.wait_until_succeeds("ping -c 1 fc00::2") ''; - }; - gre = let - node = { ... }: { - networking = { - useNetworkd = networkd; - useDHCP = false; - firewall.extraCommands = "ip6tables -A nixos-fw -p gre -j nixos-fw-accept"; - }; }; - in { - name = "GRE"; - nodes.client1 = args@{ pkgs, ... }: - lib.mkMerge [ - (node args) + gre = + let + node = + { ... }: { - virtualisation.vlans = [ 1 2 4 ]; networking = { - greTunnels = { - greTunnel = { - local = "192.168.2.1"; - remote = "192.168.2.2"; - dev = "eth2"; - ttl = 225; - type = "tap"; - }; - gre6Tunnel = { - local = "fd00:1234:5678:4::1"; - remote = "fd00:1234:5678:4::2"; - dev = "eth3"; - ttl = 255; - type = "tun6"; + useNetworkd = networkd; + useDHCP = false; + firewall.extraCommands = "ip6tables -A nixos-fw -p gre -j nixos-fw-accept"; + }; + }; + in + { + name = "GRE"; + nodes.client1 = + args@{ pkgs, ... }: + lib.mkMerge [ + (node args) + { + virtualisation.vlans = [ + 1 + 2 + 4 + ]; + networking = { + greTunnels = { + greTunnel = { + local = "192.168.2.1"; + remote = "192.168.2.2"; + dev = "eth2"; + ttl = 225; + type = "tap"; + }; + gre6Tunnel = { + local = "fd00:1234:5678:4::1"; + remote = "fd00:1234:5678:4::2"; + dev = "eth3"; + ttl = 255; + type = "tun6"; + }; }; + bridges.bridge.interfaces = [ + "greTunnel" + "eth1" + ]; + interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; + interfaces.eth1.ipv6.addresses = lib.mkOverride 0 [ ]; + interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + interfaces.eth3.ipv6.addresses = [ + { + address = "fd00:1234:5678:4::1"; + prefixLength = 64; + } + ]; + interfaces.gre6Tunnel.ipv6.addresses = lib.mkOverride 0 [ + { + address = "fc00::1"; + prefixLength = 64; + } + ]; }; - bridges.bridge.interfaces = [ "greTunnel" "eth1" ]; - interfaces.eth1.ipv4.addresses = lib.mkOverride 0 []; - interfaces.eth1.ipv6.addresses = lib.mkOverride 0 []; - interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; - interfaces.eth3.ipv6.addresses = [ - { address = "fd00:1234:5678:4::1"; prefixLength = 64; } - ]; - interfaces.gre6Tunnel.ipv6.addresses = lib.mkOverride 0 [ - { address = "fc00::1"; prefixLength = 64; } + } + ]; + nodes.client2 = + args@{ pkgs, ... }: + lib.mkMerge [ + (node args) + { + virtualisation.vlans = [ + 2 + 3 + 4 ]; - }; - } - ]; - nodes.client2 = args@{ pkgs, ... }: - lib.mkMerge [ - (node args) - { - virtualisation.vlans = [ 2 3 4 ]; - networking = { - greTunnels = { - greTunnel = { - local = "192.168.2.2"; - remote = "192.168.2.1"; - dev = "eth1"; - ttl = 225; - type = "tap"; - }; - gre6Tunnel = { - local = "fd00:1234:5678:4::2"; - remote = "fd00:1234:5678:4::1"; - dev = "eth3"; - ttl = 255; - type = "tun6"; + networking = { + greTunnels = { + greTunnel = { + local = "192.168.2.2"; + remote = "192.168.2.1"; + dev = "eth1"; + ttl = 225; + type = "tap"; + }; + gre6Tunnel = { + local = "fd00:1234:5678:4::2"; + remote = "fd00:1234:5678:4::1"; + dev = "eth3"; + ttl = 255; + type = "tun6"; + }; }; + bridges.bridge.interfaces = [ + "greTunnel" + "eth2" + ]; + interfaces.eth2.ipv4.addresses = lib.mkOverride 0 [ ]; + interfaces.eth2.ipv6.addresses = lib.mkOverride 0 [ ]; + interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + interfaces.eth3.ipv6.addresses = [ + { + address = "fd00:1234:5678:4::2"; + prefixLength = 64; + } + ]; + interfaces.gre6Tunnel.ipv6.addresses = lib.mkOverride 0 [ + { + address = "fc00::2"; + prefixLength = 64; + } + ]; }; - bridges.bridge.interfaces = [ "greTunnel" "eth2" ]; - interfaces.eth2.ipv4.addresses = lib.mkOverride 0 []; - interfaces.eth2.ipv6.addresses = lib.mkOverride 0 []; - interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; - interfaces.eth3.ipv6.addresses = [ - { address = "fd00:1234:5678:4::2"; prefixLength = 64; } - ]; - interfaces.gre6Tunnel.ipv6.addresses = lib.mkOverride 0 [ - { address = "fc00::2"; prefixLength = 64; } - ]; - }; - } - ]; - testScript = '' + } + ]; + testScript = '' import json start_all() @@ -541,27 +691,33 @@ let links = json.loads(client2.succeed("ip -details -json link show gre6Tunnel")) assert links[0]['linkinfo']['info_data']['ttl'] == 255, "ttl not set for gre6Tunnel" ''; - }; - vlan = let - node = address: { - networking = { - useNetworkd = networkd; - useDHCP = false; - vlans.vlan = { - id = 1; - interface = "eth0"; + }; + vlan = + let + node = address: { + networking = { + useNetworkd = networkd; + useDHCP = false; + vlans.vlan = { + id = 1; + interface = "eth0"; + }; + interfaces.eth0.ipv4.addresses = lib.mkOverride 0 [ ]; + interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; + interfaces.vlan.ipv4.addresses = lib.mkOverride 0 [ + { + inherit address; + prefixLength = 24; + } + ]; }; - interfaces.eth0.ipv4.addresses = lib.mkOverride 0 [ ]; - interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ]; - interfaces.vlan.ipv4.addresses = lib.mkOverride 0 - [ { inherit address; prefixLength = 24; } ]; }; - }; - in { - name = "vlan"; - nodes.client1 = node "192.168.1.1"; - nodes.client2 = node "192.168.1.2"; - testScript = '' + in + { + name = "vlan"; + nodes.client1 = node "192.168.1.1"; + nodes.client2 = node "192.168.1.2"; + testScript = '' start_all() with subtest("Wait for networking to be configured"): @@ -572,8 +728,9 @@ let client1.succeed("ip addr show dev vlan >&2") client2.succeed("ip addr show dev vlan >&2") ''; - }; - vlan-ping = let + }; + vlan-ping = + let baseIP = number: "10.10.10.${number}"; vlanIP = number: "10.1.1.${number}"; baseInterface = "enp1s0"; @@ -583,20 +740,34 @@ let networking = { #useNetworkd = networkd; useDHCP = false; - vlans.${vlanInterface} = { id = 42; interface = baseInterface; }; - interfaces.${baseInterface}.ipv4.addresses = lib.mkOverride 0 [{ address = baseIP number; prefixLength = 24; }]; - interfaces.${vlanInterface}.ipv4.addresses = lib.mkOverride 0 [{ address = vlanIP number; prefixLength = 24; }]; + vlans.${vlanInterface} = { + id = 42; + interface = baseInterface; + }; + interfaces.${baseInterface}.ipv4.addresses = lib.mkOverride 0 [ + { + address = baseIP number; + prefixLength = 24; + } + ]; + interfaces.${vlanInterface}.ipv4.addresses = lib.mkOverride 0 [ + { + address = vlanIP number; + prefixLength = 24; + } + ]; }; }; serverNodeNum = "1"; clientNodeNum = "2"; - in { - name = "vlan-ping"; - nodes.server = node serverNodeNum; - nodes.client = node clientNodeNum; - testScript = '' + in + { + name = "vlan-ping"; + nodes.server = node serverNodeNum; + nodes.client = node clientNodeNum; + testScript = '' start_all() with subtest("Wait for networking to be configured"): @@ -611,78 +782,99 @@ let client.succeed("ping -I ${vlanInterface} -c 1 ${vlanIP serverNodeNum}") server.succeed("ping -I ${vlanInterface} -c 1 ${vlanIP clientNodeNum}") ''; - }; + }; virtual = { name = "Virtual"; nodes.machine = { networking.useNetworkd = networkd; networking.useDHCP = false; networking.interfaces.tap0 = { - ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ]; - ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ]; + ipv4.addresses = [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = "2001:1470:fffd:2096::"; + prefixLength = 64; + } + ]; virtual = true; mtu = 1342; macAddress = "02:de:ad:be:ef:01"; }; networking.interfaces.tun0 = { - ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ]; - ipv6.addresses = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ]; + ipv4.addresses = [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = "2001:1470:fffd:2097::"; + prefixLength = 64; + } + ]; virtual = true; mtu = 1343; }; }; - testScript = '' - targetList = """ - tap0: tap persist user 0 - tun0: tun persist user 0 - """.strip() + testScript = + '' + targetList = """ + tap0: tap persist user 0 + tun0: tun persist user 0 + """.strip() - with subtest("Wait for networking to come up"): - machine.start() - machine.wait_for_unit("network.target") - - with subtest("Test interfaces set up"): - list = machine.succeed("ip tuntap list | sort").strip() - assert ( - list == targetList - ), """ - The list of virtual interfaces does not match the expected one: - Result: - {} - Expected: - {} - """.format( - list, targetList - ) - with subtest("Test MTU and MAC Address are configured"): - machine.wait_until_succeeds("ip link show dev tap0 | grep 'mtu 1342'") - machine.wait_until_succeeds("ip link show dev tun0 | grep 'mtu 1343'") - assert "02:de:ad:be:ef:01" in machine.succeed("ip link show dev tap0") - '' # network-addresses-* only exist in scripted networking - + lib.optionalString (!networkd) '' - with subtest("Test interfaces' addresses clean up"): - machine.succeed("systemctl stop network-addresses-tap0") - machine.sleep(10) - machine.succeed("systemctl stop network-addresses-tun0") - machine.sleep(10) - residue = machine.succeed("ip tuntap list | sort").strip() - assert ( - residue == targetList - ), "Some virtual interface has been removed:\n{}".format(residue) - assert "192.168.1.1" not in machine.succeed("ip address show dev tap0"), "tap0 interface address has not been removed" - assert "192.168.1.2" not in machine.succeed("ip address show dev tun0"), "tun0 interface address has not been removed" - - with subtest("Test interfaces clean up"): - machine.succeed("systemctl stop tap0-netdev") - machine.sleep(10) - machine.succeed("systemctl stop tun0-netdev") - machine.sleep(10) - residue = machine.succeed("ip tuntap list") - assert ( - residue == "" - ), "Some virtual interface has not been properly cleaned:\n{}".format(residue) - ''; + with subtest("Wait for networking to come up"): + machine.start() + machine.wait_for_unit("network.target") + + with subtest("Test interfaces set up"): + list = machine.succeed("ip tuntap list | sort").strip() + assert ( + list == targetList + ), """ + The list of virtual interfaces does not match the expected one: + Result: + {} + Expected: + {} + """.format( + list, targetList + ) + with subtest("Test MTU and MAC Address are configured"): + machine.wait_until_succeeds("ip link show dev tap0 | grep 'mtu 1342'") + machine.wait_until_succeeds("ip link show dev tun0 | grep 'mtu 1343'") + assert "02:de:ad:be:ef:01" in machine.succeed("ip link show dev tap0") + '' # network-addresses-* only exist in scripted networking + + lib.optionalString (!networkd) '' + with subtest("Test interfaces' addresses clean up"): + machine.succeed("systemctl stop network-addresses-tap0") + machine.sleep(10) + machine.succeed("systemctl stop network-addresses-tun0") + machine.sleep(10) + residue = machine.succeed("ip tuntap list | sort").strip() + assert ( + residue == targetList + ), "Some virtual interface has been removed:\n{}".format(residue) + assert "192.168.1.1" not in machine.succeed("ip address show dev tap0"), "tap0 interface address has not been removed" + assert "192.168.1.2" not in machine.succeed("ip address show dev tun0"), "tun0 interface address has not been removed" + + with subtest("Test interfaces clean up"): + machine.succeed("systemctl stop tap0-netdev") + machine.sleep(10) + machine.succeed("systemctl stop tun0-netdev") + machine.sleep(10) + residue = machine.succeed("ip tuntap list") + assert ( + residue == "" + ), "Some virtual interface has not been properly cleaned:\n{}".format(residue) + ''; }; privacy = { name = "Privacy"; @@ -740,33 +932,33 @@ let }; }; testScript = '' - start_all() + start_all() - client.wait_for_unit("network.target") - client_with_privacy.wait_for_unit("network.target") - router.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") + client.wait_for_unit("network.target") + client_with_privacy.wait_for_unit("network.target") + router.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") - with subtest("Wait until we have an ip address"): - client_with_privacy.wait_until_succeeds( - "ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'" - ) - client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'") + with subtest("Wait until we have an ip address"): + client_with_privacy.wait_until_succeeds( + "ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'" + ) + client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'") - with subtest("Test vlan 1"): - client_with_privacy.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") - client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") + with subtest("Test vlan 1"): + client_with_privacy.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") + client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") - with subtest("Test address used is temporary"): - client_with_privacy.wait_until_succeeds( - "! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'" - ) + with subtest("Test address used is temporary"): + client_with_privacy.wait_until_succeeds( + "! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'" + ) - with subtest("Test address used is EUI-64"): - client.wait_until_succeeds( - "ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'" - ) - ''; + with subtest("Test address used is EUI-64"): + client.wait_until_succeeds( + "ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'" + ) + ''; }; routes = { name = "routes"; @@ -774,103 +966,134 @@ let networking.useNetworkd = networkd; networking.useDHCP = false; networking.interfaces.eth0 = { - ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ]; - ipv6.addresses = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ]; + ipv4.addresses = [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = "2001:1470:fffd:2097::"; + prefixLength = 64; + } + ]; ipv6.routes = [ - { address = "fdfd:b3f0::"; prefixLength = 48; } - { address = "2001:1470:fffd:2098::"; prefixLength = 64; via = "fdfd:b3f0::1"; } + { + address = "fdfd:b3f0::"; + prefixLength = 48; + } + { + address = "2001:1470:fffd:2098::"; + prefixLength = 64; + via = "fdfd:b3f0::1"; + } ]; ipv4.routes = [ - { address = "10.0.0.0"; prefixLength = 16; options = { - mtu = "1500"; - # Explicitly set scope because iproute and systemd-networkd - # disagree on what the scope should be - # if the type is the default "unicast" - scope = "link"; - }; } - { address = "192.168.2.0"; prefixLength = 24; via = "192.168.1.1"; } + { + address = "10.0.0.0"; + prefixLength = 16; + options = { + mtu = "1500"; + # Explicitly set scope because iproute and systemd-networkd + # disagree on what the scope should be + # if the type is the default "unicast" + scope = "link"; + }; + } + { + address = "192.168.2.0"; + prefixLength = 24; + via = "192.168.1.1"; + } ]; }; virtualisation.vlans = [ ]; }; - testScript = '' - targetIPv4Table = [ - "10.0.0.0/16 proto static scope link mtu 1500", - "192.168.1.0/24 proto kernel scope link src 192.168.1.2", - "192.168.2.0/24 via 192.168.1.1 proto static", - ] - - targetIPv6Table = [ - "2001:1470:fffd:2097::/64 proto kernel metric 256 pref medium", - "2001:1470:fffd:2098::/64 via fdfd:b3f0::1 proto static metric 1024 pref medium", - "fdfd:b3f0::/48 proto static metric 1024 pref medium", - ] - - machine.start() - machine.wait_for_unit("network.target") - - with subtest("test routing tables"): - ipv4Table = machine.succeed("ip -4 route list dev eth0 | head -n3").strip() - ipv6Table = machine.succeed("ip -6 route list dev eth0 | head -n3").strip() - assert [ - l.strip() for l in ipv4Table.splitlines() - ] == targetIPv4Table, """ - The IPv4 routing table does not match the expected one: - Result: - {} - Expected: - {} - """.format( - ipv4Table, targetIPv4Table - ) - assert [ - l.strip() for l in ipv6Table.splitlines() - ] == targetIPv6Table, """ - The IPv6 routing table does not match the expected one: - Result: - {} - Expected: - {} - """.format( - ipv6Table, targetIPv6Table - ) + testScript = + '' + targetIPv4Table = [ + "10.0.0.0/16 proto static scope link mtu 1500", + "192.168.1.0/24 proto kernel scope link src 192.168.1.2", + "192.168.2.0/24 via 192.168.1.1 proto static", + ] + + targetIPv6Table = [ + "2001:1470:fffd:2097::/64 proto kernel metric 256 pref medium", + "2001:1470:fffd:2098::/64 via fdfd:b3f0::1 proto static metric 1024 pref medium", + "fdfd:b3f0::/48 proto static metric 1024 pref medium", + ] + + machine.start() + machine.wait_for_unit("network.target") - '' + lib.optionalString (!networkd) '' - with subtest("test clean-up of the tables"): - machine.succeed("systemctl stop network-addresses-eth0") - ipv4Residue = machine.succeed("ip -4 route list dev eth0 | head -n-3").strip() - ipv6Residue = machine.succeed("ip -6 route list dev eth0 | head -n-3").strip() - assert ( - ipv4Residue == "" - ), "The IPv4 routing table has not been properly cleaned:\n{}".format(ipv4Residue) - assert ( - ipv6Residue == "" - ), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue) - ''; + with subtest("test routing tables"): + ipv4Table = machine.succeed("ip -4 route list dev eth0 | head -n3").strip() + ipv6Table = machine.succeed("ip -6 route list dev eth0 | head -n3").strip() + assert [ + l.strip() for l in ipv4Table.splitlines() + ] == targetIPv4Table, """ + The IPv4 routing table does not match the expected one: + Result: + {} + Expected: + {} + """.format( + ipv4Table, targetIPv4Table + ) + assert [ + l.strip() for l in ipv6Table.splitlines() + ] == targetIPv6Table, """ + The IPv6 routing table does not match the expected one: + Result: + {} + Expected: + {} + """.format( + ipv6Table, targetIPv6Table + ) + + '' + + lib.optionalString (!networkd) '' + with subtest("test clean-up of the tables"): + machine.succeed("systemctl stop network-addresses-eth0") + ipv4Residue = machine.succeed("ip -4 route list dev eth0 | head -n-3").strip() + ipv6Residue = machine.succeed("ip -6 route list dev eth0 | head -n-3").strip() + assert ( + ipv4Residue == "" + ), "The IPv4 routing table has not been properly cleaned:\n{}".format(ipv4Residue) + assert ( + ipv6Residue == "" + ), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue) + ''; }; - rename = if networkd then { - name = "RenameInterface"; - nodes.machine = { - virtualisation.vlans = [ 1 ]; - networking = { - useNetworkd = networkd; - useDHCP = false; - }; - systemd.network.links."10-custom_name" = { - matchConfig.MACAddress = "52:54:00:12:01:01"; - linkConfig.Name = "custom_name"; + rename = + if networkd then + { + name = "RenameInterface"; + nodes.machine = { + virtualisation.vlans = [ 1 ]; + networking = { + useNetworkd = networkd; + useDHCP = false; + }; + systemd.network.links."10-custom_name" = { + matchConfig.MACAddress = "52:54:00:12:01:01"; + linkConfig.Name = "custom_name"; + }; + }; + testScript = '' + machine.succeed("udevadm settle") + print(machine.succeed("ip link show dev custom_name")) + ''; + } + else + { + name = "RenameInterface"; + nodes = { }; + testScript = ""; }; - }; - testScript = '' - machine.succeed("udevadm settle") - print(machine.succeed("ip link show dev custom_name")) - ''; - } else { - name = "RenameInterface"; - nodes = { }; - testScript = ""; - }; # even with disabled networkd, systemd.network.links should work # (as it's handled by udev, not networkd) link = { @@ -896,49 +1119,69 @@ let assert "mtu 1442" in client.succeed("ip l show dev foo") ''; }; - wlanInterface = let - testMac = "06:00:00:00:02:00"; - in { - name = "WlanInterface"; - nodes.machine = { - boot.kernelModules = [ "mac80211_hwsim" ]; - networking.wlanInterfaces = { - wlan0 = { device = "wlan0"; }; - wap0 = { device = "wlan0"; mac = testMac; }; + wlanInterface = + let + testMac = "06:00:00:00:02:00"; + in + { + name = "WlanInterface"; + nodes.machine = { + boot.kernelModules = [ "mac80211_hwsim" ]; + networking.wlanInterfaces = { + wlan0 = { + device = "wlan0"; + }; + wap0 = { + device = "wlan0"; + mac = testMac; + }; + }; }; + testScript = '' + machine.start() + machine.wait_for_unit("network.target") + machine.wait_until_succeeds("ip address show wap0 | grep -q ${testMac}") + machine.fail("ip address show wlan0 | grep -q ${testMac}") + ''; }; - testScript = '' - machine.start() - machine.wait_for_unit("network.target") - machine.wait_until_succeeds("ip address show wap0 | grep -q ${testMac}") - machine.fail("ip address show wlan0 | grep -q ${testMac}") - ''; - }; - naughtyInterfaceNames = let - ifnames = [ - # flags of ip-address - "home" "temporary" "optimistic" - "bridge_slave" "flush" - # flags of ip-route - "up" "type" "nomaster" "address" - # other - "very_loong_name" "lowerUpper" "-" - ]; - in { - name = "naughtyInterfaceNames"; - nodes.machine = { - networking.useNetworkd = networkd; - networking.bridges = lib.listToAttrs - (lib.flip builtins.map ifnames - (name: { inherit name; value.interfaces = []; })); + naughtyInterfaceNames = + let + ifnames = [ + # flags of ip-address + "home" + "temporary" + "optimistic" + "bridge_slave" + "flush" + # flags of ip-route + "up" + "type" + "nomaster" + "address" + # other + "very_loong_name" + "lowerUpper" + "-" + ]; + in + { + name = "naughtyInterfaceNames"; + nodes.machine = { + networking.useNetworkd = networkd; + networking.bridges = lib.listToAttrs ( + lib.flip builtins.map ifnames (name: { + inherit name; + value.interfaces = [ ]; + }) + ); + }; + testScript = '' + machine.start() + machine.wait_for_unit("network.target") + for ifname in ${builtins.toJSON ifnames}: + machine.wait_until_succeeds(f"ip link show dev '{ifname}' | grep -q '{ifname}'") + ''; }; - testScript = '' - machine.start() - machine.wait_for_unit("network.target") - for ifname in ${builtins.toJSON ifnames}: - machine.wait_until_succeeds(f"ip link show dev '{ifname}' | grep -q '{ifname}'") - ''; - }; caseSensitiveRenaming = { name = "CaseSensitiveRenaming"; nodes.machine = { @@ -956,6 +1199,13 @@ let }; }; -in lib.mapAttrs (lib.const (attrs: makeTest (attrs // { - name = "${attrs.name}-Networking-${if networkd then "Networkd" else "Scripted"}"; -}))) testCases +in +lib.mapAttrs (lib.const ( + attrs: + makeTest ( + attrs + // { + name = "${attrs.name}-Networking-${if networkd then "Networkd" else "Scripted"}"; + } + ) +)) testCases diff --git a/nixos/tests/networking/router.nix b/nixos/tests/networking/router.nix index fab21c9e78624..082f2bc7d2278 100644 --- a/nixos/tests/networking/router.nix +++ b/nixos/tests/networking/router.nix @@ -1,83 +1,113 @@ -{ networkd }: { config, pkgs, ... }: - let - inherit (pkgs) lib; - qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; }; - vlanIfs = lib.range 1 (lib.length config.virtualisation.vlans); - in { - environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules - virtualisation.vlans = [ 1 2 3 ]; - boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; - networking = { - useDHCP = false; - useNetworkd = networkd; - firewall.checkReversePath = true; - firewall.allowedUDPPorts = [ 547 ]; - interfaces = lib.mkOverride 0 (lib.listToAttrs (lib.forEach vlanIfs (n: - lib.nameValuePair "eth${toString n}" { - ipv4.addresses = [ { address = "192.168.${toString n}.1"; prefixLength = 24; } ]; - ipv6.addresses = [ { address = "fd00:1234:5678:${toString n}::1"; prefixLength = 64; } ]; - }))); - }; - services.kea = { - dhcp4 = { - enable = true; - settings = { - interfaces-config = { - interfaces = map (n: "eth${toString n}") vlanIfs; - dhcp-socket-type = "raw"; - service-sockets-require-all = true; - service-sockets-max-retries = 5; - service-sockets-retry-wait-time = 2500; - }; - subnet4 = map (n: { - id = n; - subnet = "192.168.${toString n}.0/24"; - pools = [{ pool = "192.168.${toString n}.3 - 192.168.${toString n}.254"; }]; - option-data = [ - { data = "192.168.${toString n}.1"; name = "routers"; } - { data = "192.168.${toString n}.1"; name = "domain-name-servers"; } +{ networkd }: +{ config, pkgs, ... }: +let + inherit (pkgs) lib; + qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; }; + vlanIfs = lib.range 1 (lib.length config.virtualisation.vlans); +in +{ + environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules + virtualisation.vlans = [ + 1 + 2 + 3 + ]; + boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; + networking = { + useDHCP = false; + useNetworkd = networkd; + firewall.checkReversePath = true; + firewall.allowedUDPPorts = [ 547 ]; + interfaces = lib.mkOverride 0 ( + lib.listToAttrs ( + lib.forEach vlanIfs ( + n: + lib.nameValuePair "eth${toString n}" { + ipv4.addresses = [ + { + address = "192.168.${toString n}.1"; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = "fd00:1234:5678:${toString n}::1"; + prefixLength = 64; + } ]; + } + ) + ) + ); + }; + services.kea = { + dhcp4 = { + enable = true; + settings = { + interfaces-config = { + interfaces = map (n: "eth${toString n}") vlanIfs; + dhcp-socket-type = "raw"; + service-sockets-require-all = true; + service-sockets-max-retries = 5; + service-sockets-retry-wait-time = 2500; + }; + subnet4 = map (n: { + id = n; + subnet = "192.168.${toString n}.0/24"; + pools = [ { pool = "192.168.${toString n}.3 - 192.168.${toString n}.254"; } ]; + option-data = [ + { + data = "192.168.${toString n}.1"; + name = "routers"; + } + { + data = "192.168.${toString n}.1"; + name = "domain-name-servers"; + } + ]; - reservations = [{ + reservations = [ + { hw-address = qemu-common.qemuNicMac n 1; hostname = "client${toString n}"; ip-address = "192.168.${toString n}.2"; - }]; - }) vlanIfs; - }; + } + ]; + }) vlanIfs; }; - dhcp6 = { - enable = true; - settings = { - interfaces-config = { - interfaces = map (n: "eth${toString n}") vlanIfs; - service-sockets-require-all = true; - service-sockets-max-retries = 5; - service-sockets-retry-wait-time = 2500; - }; - - subnet6 = map (n: { - id = n; - subnet = "fd00:1234:5678:${toString n}::/64"; - interface = "eth${toString n}"; - pools = [{ pool = "fd00:1234:5678:${toString n}::2-fd00:1234:5678:${toString n}::2"; }]; - }) vlanIfs; + }; + dhcp6 = { + enable = true; + settings = { + interfaces-config = { + interfaces = map (n: "eth${toString n}") vlanIfs; + service-sockets-require-all = true; + service-sockets-max-retries = 5; + service-sockets-retry-wait-time = 2500; }; + + subnet6 = map (n: { + id = n; + subnet = "fd00:1234:5678:${toString n}::/64"; + interface = "eth${toString n}"; + pools = [ { pool = "fd00:1234:5678:${toString n}::2-fd00:1234:5678:${toString n}::2"; } ]; + }) vlanIfs; }; }; - services.radvd = { - enable = true; - config = lib.flip lib.concatMapStrings vlanIfs (n: '' - interface eth${toString n} { - AdvSendAdvert on; - AdvManagedFlag on; - AdvOtherConfigFlag on; - RDNSS 2001:db8::1 {}; + }; + services.radvd = { + enable = true; + config = lib.flip lib.concatMapStrings vlanIfs (n: '' + interface eth${toString n} { + AdvSendAdvert on; + AdvManagedFlag on; + AdvOtherConfigFlag on; + RDNSS 2001:db8::1 {}; - prefix fd00:1234:5678:${toString n}::/64 { - AdvAutonomous off; - }; + prefix fd00:1234:5678:${toString n}::/64 { + AdvAutonomous off; }; - ''); - }; - } + }; + ''); + }; +} diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index bea08e3231104..f8306503d85fd 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -1,75 +1,111 @@ -{ name, pkgs, testBase, system,... }: +{ + name, + pkgs, + testBase, + system, + ... +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; -runTest ({ config, ... }: { - inherit name; - meta = with pkgs.lib.maintainers; { - maintainers = [ globin eqyiel ma27 ]; - }; +runTest ( + { config, ... }: + { + inherit name; + meta = with pkgs.lib.maintainers; { + maintainers = [ + globin + eqyiel + ma27 + ]; + }; - imports = [ testBase ]; + imports = [ testBase ]; - nodes = { - # The only thing the client needs to do is download a file. - client = { ... }: { - services.davfs2.enable = true; - systemd.tmpfiles.settings.nextcloud = { - "/tmp/davfs2-secrets"."f+" = { - mode = "0600"; - argument = "http://nextcloud/remote.php/dav/files/${config.adminuser} ${config.adminuser} ${config.adminpass}"; + nodes = { + # The only thing the client needs to do is download a file. + client = + { ... }: + { + services.davfs2.enable = true; + systemd.tmpfiles.settings.nextcloud = { + "/tmp/davfs2-secrets"."f+" = { + mode = "0600"; + argument = "http://nextcloud/remote.php/dav/files/${config.adminuser} ${config.adminuser} ${config.adminpass}"; + }; + }; + virtualisation.fileSystems = { + "/mnt/dav" = { + device = "http://nextcloud/remote.php/dav/files/${config.adminuser}"; + fsType = "davfs"; + options = + let + davfs2Conf = (pkgs.writeText "davfs2.conf" "secrets /tmp/davfs2-secrets"); + in + [ + "conf=${davfs2Conf}" + "x-systemd.automount" + "noauto" + ]; + }; + }; }; - }; - virtualisation.fileSystems = { - "/mnt/dav" = { - device = "http://nextcloud/remote.php/dav/files/${config.adminuser}"; - fsType = "davfs"; - options = let - davfs2Conf = (pkgs.writeText "davfs2.conf" "secrets /tmp/davfs2-secrets"); - in [ "conf=${davfs2Conf}" "x-systemd.automount" "noauto"]; - }; - }; - }; - nextcloud = { config, pkgs, ... }: { - systemd.tmpfiles.rules = [ - "d /var/lib/nextcloud-data 0750 nextcloud nginx - -" - ]; + nextcloud = + { config, pkgs, ... }: + { + systemd.tmpfiles.rules = [ + "d /var/lib/nextcloud-data 0750 nextcloud nginx - -" + ]; - services.nextcloud = { - enable = true; - datadir = "/var/lib/nextcloud-data"; - autoUpdateApps = { - enable = true; - startAt = "20:00"; - }; - phpExtraExtensions = all: [ all.bz2 ]; - }; + services.nextcloud = { + enable = true; + datadir = "/var/lib/nextcloud-data"; + autoUpdateApps = { + enable = true; + startAt = "20:00"; + }; + phpExtraExtensions = all: [ all.bz2 ]; + }; - specialisation.withoutMagick.configuration = { - services.nextcloud.enableImagemagick = false; - }; + specialisation.withoutMagick.configuration = { + services.nextcloud.enableImagemagick = false; + }; + }; }; - }; - test-helpers.extraTests = { nodes, ... }: let - findInClosure = what: drv: pkgs.runCommand "find-in-closure" { exportReferencesGraph = [ "graph" drv ]; inherit what; } '' - test -e graph - grep "$what" graph >$out || true - ''; - nexcloudWithImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm; - nextcloudWithoutImagick = findInClosure "imagick" nodes.nextcloud.specialisation.withoutMagick.configuration.system.build.vm; - in '' - with subtest("File is in proper nextcloud home"): - nextcloud.succeed("test -f ${nodes.nextcloud.services.nextcloud.datadir}/data/root/files/test-shared-file") + test-helpers.extraTests = + { nodes, ... }: + let + findInClosure = + what: drv: + pkgs.runCommand "find-in-closure" + { + exportReferencesGraph = [ + "graph" + drv + ]; + inherit what; + } + '' + test -e graph + grep "$what" graph >$out || true + ''; + nexcloudWithImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm; + nextcloudWithoutImagick = findInClosure "imagick" nodes.nextcloud.specialisation.withoutMagick.configuration.system.build.vm; + in + '' + with subtest("File is in proper nextcloud home"): + nextcloud.succeed("test -f ${nodes.nextcloud.services.nextcloud.datadir}/data/root/files/test-shared-file") - with subtest("Closure checks"): - assert open("${nexcloudWithImagick}").read() != "" - assert open("${nextcloudWithoutImagick}").read() == "" + with subtest("Closure checks"): + assert open("${nexcloudWithImagick}").read() != "" + assert open("${nextcloudWithoutImagick}").read() == "" - with subtest("Davfs2"): - assert "hi" in client.succeed("cat /mnt/dav/test-shared-file") + with subtest("Davfs2"): + assert "hi" in client.succeed("cat /mnt/dav/test-shared-file") - with subtest("Ensure SSE is disabled by default"): - nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file") - ''; -}) + with subtest("Ensure SSE is disabled by default"): + nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file") + ''; + } +) diff --git a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix index 80041ed481b45..6b0dd71f85ef2 100644 --- a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix +++ b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix @@ -1,85 +1,102 @@ -{ name, pkgs, testBase, system, ... }: +{ + name, + pkgs, + testBase, + system, + ... +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; -runTest ({ config, ... }: let inherit (config) adminuser; in { - inherit name; - meta = with pkgs.lib.maintainers; { - maintainers = [ eqyiel ma27 ]; - }; +runTest ( + { config, ... }: + let + inherit (config) adminuser; + in + { + inherit name; + meta = with pkgs.lib.maintainers; { + maintainers = [ + eqyiel + ma27 + ]; + }; - imports = [ testBase ]; + imports = [ testBase ]; - nodes = { - nextcloud = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - services.nextcloud = { - caching = { - apcu = false; - redis = true; - memcached = false; - }; - # This test also validates that we can use an "external" database - database.createLocally = false; - config = { - dbtype = "pgsql"; - dbname = "nextcloud"; - dbuser = adminuser; - dbpassFile = config.services.nextcloud.config.adminpassFile; - }; + nodes = { + nextcloud = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + services.nextcloud = { + caching = { + apcu = false; + redis = true; + memcached = false; + }; + # This test also validates that we can use an "external" database + database.createLocally = false; + config = { + dbtype = "pgsql"; + dbname = "nextcloud"; + dbuser = adminuser; + dbpassFile = config.services.nextcloud.config.adminpassFile; + }; - secretFile = "/etc/nextcloud-secrets.json"; + secretFile = "/etc/nextcloud-secrets.json"; - settings = { - allow_local_remote_servers = true; - redis = { - dbindex = 0; - timeout = 1.5; - # password handled via secretfile below + settings = { + allow_local_remote_servers = true; + redis = { + dbindex = 0; + timeout = 1.5; + # password handled via secretfile below + }; + }; + configureRedis = true; }; - }; - configureRedis = true; - }; - services.redis.servers."nextcloud" = { - enable = true; - port = 6379; - requirePass = "secret"; - }; + services.redis.servers."nextcloud" = { + enable = true; + port = 6379; + requirePass = "secret"; + }; - systemd.services.nextcloud-setup= { - requires = ["postgresql.service"]; - after = [ "postgresql.service" ]; - }; + systemd.services.nextcloud-setup = { + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + }; - services.postgresql = { - enable = true; - package = pkgs.postgresql_14; - }; - systemd.services.postgresql.postStart = pkgs.lib.mkAfter '' - password=$(cat ${config.services.nextcloud.config.dbpassFile}) - ${config.services.postgresql.package}/bin/psql <<EOF - CREATE ROLE ${adminuser} WITH LOGIN PASSWORD '$password' CREATEDB; - CREATE DATABASE nextcloud; - GRANT ALL PRIVILEGES ON DATABASE nextcloud TO ${adminuser}; - EOF - ''; + services.postgresql = { + enable = true; + package = pkgs.postgresql_14; + }; + systemd.services.postgresql.postStart = pkgs.lib.mkAfter '' + password=$(cat ${config.services.nextcloud.config.dbpassFile}) + ${config.services.postgresql.package}/bin/psql <<EOF + CREATE ROLE ${adminuser} WITH LOGIN PASSWORD '$password' CREATEDB; + CREATE DATABASE nextcloud; + GRANT ALL PRIVILEGES ON DATABASE nextcloud TO ${adminuser}; + EOF + ''; - # This file is meant to contain secret options which should - # not go into the nix store. Here it is just used to set the - # redis password. - environment.etc."nextcloud-secrets.json".text = '' - { - "redis": { - "password": "secret" - } - } - ''; + # This file is meant to contain secret options which should + # not go into the nix store. Here it is just used to set the + # redis password. + environment.etc."nextcloud-secrets.json".text = '' + { + "redis": { + "password": "secret" + } + } + ''; + }; }; - }; - test-helpers.extraTests = '' - with subtest("non-empty redis cache"): - # redis cache should not be empty - nextcloud.fail('test 0 -lt "$(redis-cli --pass secret --json KEYS "*" | jq "len")"') - ''; -}) + test-helpers.extraTests = '' + with subtest("non-empty redis cache"): + # redis cache should not be empty + nextcloud.fail('test 0 -lt "$(redis-cli --pass secret --json KEYS "*" | jq "len")"') + ''; + } +) diff --git a/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixos/tests/nextcloud/with-mysql-and-memcached.nix index b903f8d0fe952..110047fe66102 100644 --- a/nixos/tests/nextcloud/with-mysql-and-memcached.nix +++ b/nixos/tests/nextcloud/with-mysql-and-memcached.nix @@ -1,37 +1,50 @@ -{ name, pkgs, testBase, system, ... }: +{ + name, + pkgs, + testBase, + system, + ... +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; -runTest ({ config, ... }: { - inherit name; - meta = with pkgs.lib.maintainers; { - maintainers = [ eqyiel ]; - }; +runTest ( + { config, ... }: + { + inherit name; + meta = with pkgs.lib.maintainers; { + maintainers = [ eqyiel ]; + }; - imports = [ testBase ]; + imports = [ testBase ]; - nodes = { - nextcloud = { config, pkgs, ... }: { - services.nextcloud = { - caching = { - apcu = true; - redis = false; - memcached = true; - }; - config.dbtype = "mysql"; - }; + nodes = { + nextcloud = + { config, pkgs, ... }: + { + services.nextcloud = { + caching = { + apcu = true; + redis = false; + memcached = true; + }; + config.dbtype = "mysql"; + }; - services.memcached.enable = true; + services.memcached.enable = true; + }; }; - }; - test-helpers.init = let - configureMemcached = pkgs.writeScript "configure-memcached" '' - nextcloud-occ config:system:set memcached_servers 0 0 --value 127.0.0.1 --type string - nextcloud-occ config:system:set memcached_servers 0 1 --value 11211 --type integer - nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\APCu' --type string - nextcloud-occ config:system:set memcache.distributed --value '\OC\Memcache\Memcached' --type string - ''; - in '' - nextcloud.succeed("${configureMemcached}") - ''; -}) + test-helpers.init = + let + configureMemcached = pkgs.writeScript "configure-memcached" '' + nextcloud-occ config:system:set memcached_servers 0 0 --value 127.0.0.1 --type string + nextcloud-occ config:system:set memcached_servers 0 1 --value 11211 --type integer + nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\APCu' --type string + nextcloud-occ config:system:set memcache.distributed --value '\OC\Memcache\Memcached' --type string + ''; + in + '' + nextcloud.succeed("${configureMemcached}") + ''; + } +) diff --git a/nixos/tests/nextcloud/with-objectstore.nix b/nixos/tests/nextcloud/with-objectstore.nix index fc26760b8babd..48e1edea67ba3 100644 --- a/nixos/tests/nextcloud/with-objectstore.nix +++ b/nixos/tests/nextcloud/with-objectstore.nix @@ -1,96 +1,113 @@ -{ name, pkgs, testBase, system, ... }: +{ + name, + pkgs, + testBase, + system, + ... +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; -runTest ({ config, lib, ... }: let - accessKey = "BKIKJAA5BMMU2RHO6IBB"; - secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; - - rootCredentialsFile = pkgs.writeText "minio-credentials-full" '' - MINIO_ROOT_USER=${accessKey} - MINIO_ROOT_PASSWORD=${secretKey} - ''; -in { - inherit name; - meta = with pkgs.lib.maintainers; { - maintainers = [ onny ma27 ]; - }; - - imports = [ testBase ]; - - nodes = { - nextcloud = { config, pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ 9000 ]; - environment.systemPackages = [ pkgs.minio-client ]; - - services.nextcloud.config.objectstore.s3 = { - enable = true; - bucket = "nextcloud"; - autocreate = true; - key = accessKey; - secretFile = "${pkgs.writeText "secretKey" secretKey}"; - hostname = "nextcloud"; - useSsl = false; - port = 9000; - usePathStyle = true; - region = "us-east-1"; - }; - - services.minio = { - enable = true; - listenAddress = "0.0.0.0:9000"; - consoleAddress = "0.0.0.0:9001"; - inherit rootCredentialsFile; - }; +runTest ( + { config, lib, ... }: + let + accessKey = "BKIKJAA5BMMU2RHO6IBB"; + secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; + + rootCredentialsFile = pkgs.writeText "minio-credentials-full" '' + MINIO_ROOT_USER=${accessKey} + MINIO_ROOT_PASSWORD=${secretKey} + ''; + in + { + inherit name; + meta = with pkgs.lib.maintainers; { + maintainers = [ + onny + ma27 + ]; }; - }; - - test-helpers.init = '' - nextcloud.wait_for_open_port(9000) - ''; - - test-helpers.extraTests = { nodes, ... }: '' - with subtest("File is not on the filesystem"): - nextcloud.succeed("test ! -e ${nodes.nextcloud.services.nextcloud.home}/data/root/files/test-shared-file") - - with subtest("Check if file is in S3"): - nextcloud.succeed( - "mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} --api s3v4" - ) - files = nextcloud.succeed('mc ls minio/nextcloud|sort').strip().split('\n') - - # Cannot assert an exact number here, nc27 writes more stuff initially into S3. - # For now let's assume it's always the most recently added file. - assert len(files) > 0, f""" - Expected to have at least one object in minio/nextcloud. But `mc ls` gave output: - - '{files}' - """ - - import re - ptrn = re.compile("^\[[A-Z0-9 :-]+\] +(?P<details>[A-Za-z0-9 :]+)$") - match = ptrn.match(files[-1].strip()) - assert match, "Cannot match mc client output!" - size, type_, file = tuple(match.group('details').split(' ')) - - assert size == "3B", f""" - Expected size of uploaded file to be 3 bytes, got {size} - """ - - assert type_ == 'STANDARD', f""" - Expected type of bucket entry to be a file, i.e. 'STANDARD'. Got {type_} - """ - - assert file.startswith('urn:oid'), """ - Expected filename to start with 'urn:oid', instead got '{file}. - """ - - with subtest("Test download from S3"): - client.succeed( - "env AWS_ACCESS_KEY_ID=${accessKey} AWS_SECRET_ACCESS_KEY=${secretKey} " - + f"${lib.getExe pkgs.awscli2} s3 cp s3://nextcloud/{file} test --endpoint-url http://nextcloud:9000 " - + "--region us-east-1" - ) - - client.succeed("test hi = $(cat test)") - ''; -}) + + imports = [ testBase ]; + + nodes = { + nextcloud = + { config, pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 9000 ]; + environment.systemPackages = [ pkgs.minio-client ]; + + services.nextcloud.config.objectstore.s3 = { + enable = true; + bucket = "nextcloud"; + autocreate = true; + key = accessKey; + secretFile = "${pkgs.writeText "secretKey" secretKey}"; + hostname = "nextcloud"; + useSsl = false; + port = 9000; + usePathStyle = true; + region = "us-east-1"; + }; + + services.minio = { + enable = true; + listenAddress = "0.0.0.0:9000"; + consoleAddress = "0.0.0.0:9001"; + inherit rootCredentialsFile; + }; + }; + }; + + test-helpers.init = '' + nextcloud.wait_for_open_port(9000) + ''; + + test-helpers.extraTests = + { nodes, ... }: + '' + with subtest("File is not on the filesystem"): + nextcloud.succeed("test ! -e ${nodes.nextcloud.services.nextcloud.home}/data/root/files/test-shared-file") + + with subtest("Check if file is in S3"): + nextcloud.succeed( + "mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} --api s3v4" + ) + files = nextcloud.succeed('mc ls minio/nextcloud|sort').strip().split('\n') + + # Cannot assert an exact number here, nc27 writes more stuff initially into S3. + # For now let's assume it's always the most recently added file. + assert len(files) > 0, f""" + Expected to have at least one object in minio/nextcloud. But `mc ls` gave output: + + '{files}' + """ + + import re + ptrn = re.compile("^\[[A-Z0-9 :-]+\] +(?P<details>[A-Za-z0-9 :]+)$") + match = ptrn.match(files[-1].strip()) + assert match, "Cannot match mc client output!" + size, type_, file = tuple(match.group('details').split(' ')) + + assert size == "3B", f""" + Expected size of uploaded file to be 3 bytes, got {size} + """ + + assert type_ == 'STANDARD', f""" + Expected type of bucket entry to be a file, i.e. 'STANDARD'. Got {type_} + """ + + assert file.startswith('urn:oid'), """ + Expected filename to start with 'urn:oid', instead got '{file}. + """ + + with subtest("Test download from S3"): + client.succeed( + "env AWS_ACCESS_KEY_ID=${accessKey} AWS_SECRET_ACCESS_KEY=${secretKey} " + + f"${lib.getExe pkgs.awscli2} s3 cp s3://nextcloud/{file} test --endpoint-url http://nextcloud:9000 " + + "--region us-east-1" + ) + + client.succeed("test hi = $(cat test)") + ''; + } +) diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix index 24c17f70932d3..43d8a74b3db82 100644 --- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix +++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix @@ -1,60 +1,81 @@ -{ name, pkgs, testBase, system, ... }: +{ + name, + pkgs, + testBase, + system, + ... +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; -runTest ({ config, ... }: { - inherit name; - meta = with pkgs.lib.maintainers; { - maintainers = [ eqyiel ma27 ]; - }; - - imports = [ testBase ]; - - nodes = { - nextcloud = { config, pkgs, lib, ... }: { - services.nextcloud = { - caching = { - apcu = false; - redis = true; - memcached = false; - }; - config.dbtype = "pgsql"; - notify_push = { - enable = true; - logLevel = "debug"; - }; - extraAppsEnable = true; - extraApps = with config.services.nextcloud.package.packages.apps; { - inherit notify_push notes; - }; - settings.trusted_proxies = [ "::1" ]; - }; +runTest ( + { config, ... }: + { + inherit name; + meta = with pkgs.lib.maintainers; { + maintainers = [ + eqyiel + ma27 + ]; + }; + + imports = [ testBase ]; + + nodes = { + nextcloud = + { + config, + pkgs, + lib, + ... + }: + { + services.nextcloud = { + caching = { + apcu = false; + redis = true; + memcached = false; + }; + config.dbtype = "pgsql"; + notify_push = { + enable = true; + logLevel = "debug"; + }; + extraAppsEnable = true; + extraApps = with config.services.nextcloud.package.packages.apps; { + inherit notify_push notes; + }; + settings.trusted_proxies = [ "::1" ]; + }; - services.redis.servers."nextcloud".enable = true; - services.redis.servers."nextcloud".port = 6379; + services.redis.servers."nextcloud".enable = true; + services.redis.servers."nextcloud".port = 6379; + }; }; - }; - - test-helpers.init = let - configureRedis = pkgs.writeScript "configure-redis" '' - nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string - nextcloud-occ config:system:set redis 'port' --value 6379 --type integer - nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string - nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string + + test-helpers.init = + let + configureRedis = pkgs.writeScript "configure-redis" '' + nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string + nextcloud-occ config:system:set redis 'port' --value 6379 --type integer + nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string + nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string + ''; + in + '' + nextcloud.succeed("${configureRedis}") + ''; + + test-helpers.extraTests = '' + with subtest("notify-push"): + client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${config.adminuser} ${config.adminpass} >&2 &") + nextcloud.wait_until_succeeds("journalctl -u nextcloud-notify_push | grep -q \"Sending ping to ${config.adminuser}\"") + + with subtest("Redis is used for caching"): + # redis cache should not be empty + nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"') + + with subtest("No code is returned when requesting PHP files (regression test)"): + nextcloud.fail("curl -f http://nextcloud/nix-apps/notes/lib/AppInfo/Application.php") ''; - in '' - nextcloud.succeed("${configureRedis}") - ''; - - test-helpers.extraTests = '' - with subtest("notify-push"): - client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${config.adminuser} ${config.adminpass} >&2 &") - nextcloud.wait_until_succeeds("journalctl -u nextcloud-notify_push | grep -q \"Sending ping to ${config.adminuser}\"") - - with subtest("Redis is used for caching"): - # redis cache should not be empty - nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"') - - with subtest("No code is returned when requesting PHP files (regression test)"): - nextcloud.fail("curl -f http://nextcloud/nix-apps/notes/lib/AppInfo/Application.php") - ''; -}) + } +) diff --git a/nixos/tests/nexus.nix b/nixos/tests/nexus.nix index 87bb4d2eb58ab..9c3e65daf3176 100644 --- a/nixos/tests/nexus.nix +++ b/nixos/tests/nexus.nix @@ -3,30 +3,34 @@ # 2. nexus service can startup on server (creating database and all other initial stuff) # 3. the web application is reachable via HTTP -import ./make-test-python.nix ({ pkgs, ...} : { - name = "nexus"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ironpinguin ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nexus"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ironpinguin ]; + }; - nodes = { + nodes = { - server = - { ... }: - { virtualisation.memorySize = 2047; # qemu-system-i386 has a 2047M limit - virtualisation.diskSize = 8192; + server = + { ... }: + { + virtualisation.memorySize = 2047; # qemu-system-i386 has a 2047M limit + virtualisation.diskSize = 8192; - services.nexus.enable = true; - }; + services.nexus.enable = true; + }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("nexus") - server.wait_for_open_port(8081) + server.wait_for_unit("nexus") + server.wait_for_open_port(8081) - server.succeed("curl -f 127.0.0.1:8081") - ''; -}) + server.succeed("curl -f 127.0.0.1:8081") + ''; + } +) diff --git a/nixos/tests/nfs/default.nix b/nixos/tests/nfs/default.nix index 6bc803c91b460..09c8a17423705 100644 --- a/nixos/tests/nfs/default.nix +++ b/nixos/tests/nfs/default.nix @@ -1,9 +1,12 @@ -{ version ? 4 -, system ? builtins.currentSystem -, pkgs ? import ../../.. { inherit system; } -}: { +{ + version ? 4, + system ? builtins.currentSystem, + pkgs ? import ../../.. { inherit system; }, +}: +{ simple = import ./simple.nix { inherit version system pkgs; }; -} // pkgs.lib.optionalAttrs (version == 4) { +} +// pkgs.lib.optionalAttrs (version == 4) { # TODO: Test kerberos + nfsv3 kerberos = import ./kerberos.nix { inherit version system pkgs; }; } diff --git a/nixos/tests/nfs/kerberos.nix b/nixos/tests/nfs/kerberos.nix index 5944b53319a0b..f9720cfb87e26 100644 --- a/nixos/tests/nfs/kerberos.nix +++ b/nixos/tests/nfs/kerberos.nix @@ -1,85 +1,95 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: - -let - security.krb5 = { - enable = true; - settings = { - domain_realm."nfs.test" = "NFS.TEST"; - libdefaults.default_realm = "NFS.TEST"; - realms."NFS.TEST" = { - admin_server = "server.nfs.test"; - kdc = "server.nfs.test"; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + + let + security.krb5 = { + enable = true; + settings = { + domain_realm."nfs.test" = "NFS.TEST"; + libdefaults.default_realm = "NFS.TEST"; + realms."NFS.TEST" = { + admin_server = "server.nfs.test"; + kdc = "server.nfs.test"; + }; }; }; - }; - hosts = - '' + hosts = '' 192.168.1.1 client.nfs.test 192.168.1.2 server.nfs.test ''; - users = { - users.alice = { + users = { + users.alice = { isNormalUser = true; name = "alice"; uid = 1000; }; - }; - -in - -{ - name = "nfsv4-with-kerberos"; - - nodes = { - client = { lib, ... }: - { inherit security users; - - networking.extraHosts = hosts; - networking.domain = "nfs.test"; - networking.hostName = "client"; + }; - virtualisation.fileSystems = - { "/data" = { - device = "server.nfs.test:/"; - fsType = "nfs"; - options = [ "nfsvers=4" "sec=krb5p" "noauto" ]; + in + + { + name = "nfsv4-with-kerberos"; + + nodes = { + client = + { lib, ... }: + { + inherit security users; + + networking.extraHosts = hosts; + networking.domain = "nfs.test"; + networking.hostName = "client"; + + virtualisation.fileSystems = { + "/data" = { + device = "server.nfs.test:/"; + fsType = "nfs"; + options = [ + "nfsvers=4" + "sec=krb5p" + "noauto" + ]; }; }; - }; - - server = { lib, ...}: - { inherit security users; - - networking.extraHosts = hosts; - networking.domain = "nfs.test"; - networking.hostName = "server"; - - networking.firewall.allowedTCPPorts = [ - 111 # rpc - 2049 # nfs - 88 # kerberos - 749 # kerberos admin - ]; - - services.kerberos_server.enable = true; - services.kerberos_server.realms = - { "NFS.TEST".acl = - [ { access = "all"; principal = "admin/admin"; } ]; + }; + + server = + { lib, ... }: + { + inherit security users; + + networking.extraHosts = hosts; + networking.domain = "nfs.test"; + networking.hostName = "server"; + + networking.firewall.allowedTCPPorts = [ + 111 # rpc + 2049 # nfs + 88 # kerberos + 749 # kerberos admin + ]; + + services.kerberos_server.enable = true; + services.kerberos_server.realms = { + "NFS.TEST".acl = [ + { + access = "all"; + principal = "admin/admin"; + } + ]; }; - services.nfs.server.enable = true; - services.nfs.server.createMountPoints = true; - services.nfs.server.exports = - '' + services.nfs.server.enable = true; + services.nfs.server.createMountPoints = true; + services.nfs.server.exports = '' /data *(rw,no_root_squash,fsid=0,sec=krb5p) ''; - }; - }; + }; + }; - testScript = - '' + testScript = '' server.succeed("mkdir -p /data/alice") server.succeed("chown alice:users /data/alice") @@ -132,5 +142,6 @@ in assert ids == expected, f"ids incorrect: got {ids} expected {expected}" ''; - meta.maintainers = [ lib.maintainers.dblsaiko ]; -}) + meta.maintainers = [ lib.maintainers.dblsaiko ]; + } +) diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix index 077c1d4109356..a36270dda535f 100644 --- a/nixos/tests/nfs/simple.nix +++ b/nixos/tests/nfs/simple.nix @@ -1,46 +1,51 @@ -import ../make-test-python.nix ({ pkgs, version ? 4, ... }: - -let - - client = - { pkgs, ... }: - { virtualisation.fileSystems = - { "/data" = - { # nfs4 exports the export with fsid=0 as a virtual root directory - device = if (version == 4) then "server:/" else "server:/data"; - fsType = "nfs"; - options = [ "vers=${toString version}" ]; - }; +import ../make-test-python.nix ( + { + pkgs, + version ? 4, + ... + }: + + let + + client = + { pkgs, ... }: + { + virtualisation.fileSystems = { + "/data" = { + # nfs4 exports the export with fsid=0 as a virtual root directory + device = if (version == 4) then "server:/" else "server:/data"; + fsType = "nfs"; + options = [ "vers=${toString version}" ]; + }; }; - networking.firewall.enable = false; # FIXME: only open statd - }; + networking.firewall.enable = false; # FIXME: only open statd + }; -in + in -{ - name = "nfs"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; + { + name = "nfs"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes = - { client1 = client; + nodes = { + client1 = client; client2 = client; server = { ... }: - { services.nfs.server.enable = true; - services.nfs.server.exports = - '' - /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0) - ''; + { + services.nfs.server.enable = true; + services.nfs.server.exports = '' + /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0) + ''; services.nfs.server.createMountPoints = true; networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed }; }; - testScript = - '' + testScript = '' import time server.wait_for_unit("nfs-server") @@ -92,4 +97,5 @@ in # FIXME: regressed in kernel 6.1.28, temporarily disabled while investigating # assert duration < 30, f"shutdown took too long ({duration} seconds)" ''; -}) + } +) diff --git a/nixos/tests/nghttpx.nix b/nixos/tests/nghttpx.nix index 11cac332827dc..15acb81b12c18 100644 --- a/nixos/tests/nghttpx.nix +++ b/nixos/tests/nghttpx.nix @@ -1,8 +1,10 @@ let nginxRoot = "/run/nginx"; in - import ./make-test-python.nix ({...}: { - name = "nghttpx"; +import ./make-test-python.nix ( + { ... }: + { + name = "nghttpx"; nodes = { webserver = { networking.firewall.allowedTCPPorts = [ 80 ]; @@ -26,7 +28,8 @@ in services.nghttpx = { enable = true; frontends = [ - { server = { + { + server = { host = "*"; port = 80; }; @@ -37,7 +40,8 @@ in } ]; backends = [ - { server = { + { + server = { host = "webserver"; port = 80; }; @@ -48,7 +52,7 @@ in }; }; - client = {}; + client = { }; }; testScript = '' @@ -58,4 +62,5 @@ in proxy.wait_for_open_port(80) client.wait_until_succeeds("curl -s --fail http://proxy/hello-world.txt") ''; - }) + } +) diff --git a/nixos/tests/nginx-auth.nix b/nixos/tests/nginx-auth.nix index a85426dda8717..eb04b25719411 100644 --- a/nixos/tests/nginx-auth.nix +++ b/nixos/tests/nginx-auth.nix @@ -1,47 +1,54 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "nginx-auth"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nginx-auth"; - nodes = { - webserver = { pkgs, lib, ... }: { - services.nginx = let - root = pkgs.runCommand "testdir" {} '' - mkdir "$out" - echo hello world > "$out/index.html" - ''; - in { - enable = true; + nodes = { + webserver = + { pkgs, lib, ... }: + { + services.nginx = + let + root = pkgs.runCommand "testdir" { } '' + mkdir "$out" + echo hello world > "$out/index.html" + ''; + in + { + enable = true; - virtualHosts.lockedroot = { - inherit root; - basicAuth.alice = "pwofa"; - }; + virtualHosts.lockedroot = { + inherit root; + basicAuth.alice = "pwofa"; + }; - virtualHosts.lockedsubdir = { - inherit root; - locations."/sublocation/" = { - alias = "${root}/"; - basicAuth.bob = "pwofb"; - }; + virtualHosts.lockedsubdir = { + inherit root; + locations."/sublocation/" = { + alias = "${root}/"; + basicAuth.bob = "pwofb"; + }; + }; + }; }; - }; }; - }; - testScript = '' - webserver.wait_for_unit("nginx") - webserver.wait_for_open_port(80) + testScript = '' + webserver.wait_for_unit("nginx") + webserver.wait_for_open_port(80) - webserver.fail("curl --fail --resolve lockedroot:80:127.0.0.1 http://lockedroot") - webserver.succeed( - "curl --fail --resolve lockedroot:80:127.0.0.1 http://alice:pwofa@lockedroot" - ) + webserver.fail("curl --fail --resolve lockedroot:80:127.0.0.1 http://lockedroot") + webserver.succeed( + "curl --fail --resolve lockedroot:80:127.0.0.1 http://alice:pwofa@lockedroot" + ) - webserver.succeed("curl --fail --resolve lockedsubdir:80:127.0.0.1 http://lockedsubdir") - webserver.fail( - "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://lockedsubdir/sublocation/index.html" - ) - webserver.succeed( - "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://bob:pwofb@lockedsubdir/sublocation/index.html" - ) - ''; -}) + webserver.succeed("curl --fail --resolve lockedsubdir:80:127.0.0.1 http://lockedsubdir") + webserver.fail( + "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://lockedsubdir/sublocation/index.html" + ) + webserver.succeed( + "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://bob:pwofb@lockedsubdir/sublocation/index.html" + ) + ''; + } +) diff --git a/nixos/tests/nginx-etag-compression.nix b/nixos/tests/nginx-etag-compression.nix index 67493ae299841..b012c8b1c15cc 100644 --- a/nixos/tests/nginx-etag-compression.nix +++ b/nixos/tests/nginx-etag-compression.nix @@ -1,45 +1,49 @@ import ./make-test-python.nix { name = "nginx-etag-compression"; - nodes.machine = { pkgs, lib, ... }: { - services.nginx = { - enable = true; - recommendedGzipSettings = true; - virtualHosts.default = { - root = pkgs.runCommandLocal "testdir" {} '' - mkdir "$out" - cat > "$out/index.html" <<EOF - Hello, world! - Hello, world! - Hello, world! - Hello, world! - Hello, world! - Hello, world! - Hello, world! - Hello, world! - EOF - ${pkgs.gzip}/bin/gzip -k "$out/index.html" - ''; + nodes.machine = + { pkgs, lib, ... }: + { + services.nginx = { + enable = true; + recommendedGzipSettings = true; + virtualHosts.default = { + root = pkgs.runCommandLocal "testdir" { } '' + mkdir "$out" + cat > "$out/index.html" <<EOF + Hello, world! + Hello, world! + Hello, world! + Hello, world! + Hello, world! + Hello, world! + Hello, world! + Hello, world! + EOF + ${pkgs.gzip}/bin/gzip -k "$out/index.html" + ''; + }; }; }; - }; - testScript = { nodes, ... }: '' - machine.wait_for_unit("nginx") - machine.wait_for_open_port(80) + testScript = + { nodes, ... }: + '' + machine.wait_for_unit("nginx") + machine.wait_for_open_port(80) - etag_plain = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:' http://127.0.0.1/") - etag_gzip = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:gzip' http://127.0.0.1/") + etag_plain = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:' http://127.0.0.1/") + etag_gzip = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:gzip' http://127.0.0.1/") - with subtest("different representations have different etags"): - assert etag_plain != etag_gzip, f"etags should differ: {etag_plain} == {etag_gzip}" + with subtest("different representations have different etags"): + assert etag_plain != etag_gzip, f"etags should differ: {etag_plain} == {etag_gzip}" - with subtest("etag for uncompressed response is reproducible"): - etag_plain_repeat = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:' http://127.0.0.1/") - assert etag_plain == etag_plain_repeat, f"etags should be the same: {etag_plain} != {etag_plain_repeat}" + with subtest("etag for uncompressed response is reproducible"): + etag_plain_repeat = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:' http://127.0.0.1/") + assert etag_plain == etag_plain_repeat, f"etags should be the same: {etag_plain} != {etag_plain_repeat}" - with subtest("etag for compressed response is reproducible"): - etag_gzip_repeat = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:gzip' http://127.0.0.1/") - assert etag_gzip == etag_gzip_repeat, f"etags should be the same: {etag_gzip} != {etag_gzip_repeat}" - ''; + with subtest("etag for compressed response is reproducible"): + etag_gzip_repeat = machine.succeed("curl -s -w'%header{etag}' -o/dev/null -H 'Accept-encoding:gzip' http://127.0.0.1/") + assert etag_gzip == etag_gzip_repeat, f"etags should be the same: {etag_gzip} != {etag_gzip_repeat}" + ''; } diff --git a/nixos/tests/nginx-etag.nix b/nixos/tests/nginx-etag.nix index 6f45eacf8b41a..e1154466d796c 100644 --- a/nixos/tests/nginx-etag.nix +++ b/nixos/tests/nginx-etag.nix @@ -2,87 +2,105 @@ import ./make-test-python.nix { name = "nginx-etag"; nodes = { - server = { pkgs, lib, ... }: { - networking.firewall.enable = false; - services.nginx.enable = true; - services.nginx.virtualHosts.server = { - root = pkgs.runCommandLocal "testdir" {} '' - mkdir "$out" - cat > "$out/test.js" <<EOF - document.getElementById('foobar').setAttribute('foo', 'bar'); - EOF - cat > "$out/index.html" <<EOF - <!DOCTYPE html> - <div id="foobar">test</div> - <script src="test.js"></script> - EOF - ''; - }; - - specialisation.pass-checks.configuration = { + server = + { pkgs, lib, ... }: + { + networking.firewall.enable = false; + services.nginx.enable = true; services.nginx.virtualHosts.server = { - root = lib.mkForce (pkgs.runCommandLocal "testdir2" {} '' + root = pkgs.runCommandLocal "testdir" { } '' mkdir "$out" cat > "$out/test.js" <<EOF - document.getElementById('foobar').setAttribute('foo', 'yay'); + document.getElementById('foobar').setAttribute('foo', 'bar'); EOF cat > "$out/index.html" <<EOF <!DOCTYPE html> <div id="foobar">test</div> <script src="test.js"></script> EOF - ''); + ''; + }; + + specialisation.pass-checks.configuration = { + services.nginx.virtualHosts.server = { + root = lib.mkForce ( + pkgs.runCommandLocal "testdir2" { } '' + mkdir "$out" + cat > "$out/test.js" <<EOF + document.getElementById('foobar').setAttribute('foo', 'yay'); + EOF + cat > "$out/index.html" <<EOF + <!DOCTYPE html> + <div id="foobar">test</div> + <script src="test.js"></script> + EOF + '' + ); + }; }; }; - }; - client = { pkgs, lib, ... }: { - environment.systemPackages = let - testRunner = pkgs.writers.writePython3Bin "test-runner" { - libraries = [ pkgs.python3Packages.selenium ]; - } '' - import os - import time + client = + { pkgs, lib, ... }: + { + environment.systemPackages = + let + testRunner = + pkgs.writers.writePython3Bin "test-runner" + { + libraries = [ pkgs.python3Packages.selenium ]; + } + '' + import os + import time - from selenium.webdriver import Firefox - from selenium.webdriver.firefox.options import Options + from selenium.webdriver import Firefox + from selenium.webdriver.firefox.options import Options - options = Options() - options.add_argument('--headless') - driver = Firefox(options=options) + options = Options() + options.add_argument('--headless') + driver = Firefox(options=options) - driver.implicitly_wait(20) - driver.get('http://server/') - driver.find_element('xpath', '//div[@foo="bar"]') - open('/tmp/passed_stage1', 'w') + driver.implicitly_wait(20) + driver.get('http://server/') + driver.find_element('xpath', '//div[@foo="bar"]') + open('/tmp/passed_stage1', 'w') - while not os.path.exists('/tmp/proceed'): - time.sleep(0.5) + while not os.path.exists('/tmp/proceed'): + time.sleep(0.5) - driver.get('http://server/') - driver.find_element('xpath', '//div[@foo="yay"]') - open('/tmp/passed', 'w') - ''; - in [ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ]; - }; + driver.get('http://server/') + driver.find_element('xpath', '//div[@foo="yay"]') + open('/tmp/passed', 'w') + ''; + in + [ + pkgs.firefox-unwrapped + pkgs.geckodriver + testRunner + ]; + }; }; - testScript = { nodes, ... }: let - inherit (nodes.server.config.system.build) toplevel; - newSystem = "${toplevel}/specialisation/pass-checks"; - in '' - start_all() + testScript = + { nodes, ... }: + let + inherit (nodes.server.config.system.build) toplevel; + newSystem = "${toplevel}/specialisation/pass-checks"; + in + '' + start_all() - server.wait_for_unit("nginx.service") - client.wait_for_unit("multi-user.target") - client.execute("test-runner >&2 &") - client.wait_for_file("/tmp/passed_stage1") + server.wait_for_unit("nginx.service") + client.wait_for_unit("multi-user.target") + client.execute("test-runner >&2 &") + client.wait_for_file("/tmp/passed_stage1") - server.succeed( - "${newSystem}/bin/switch-to-configuration test >&2" - ) - client.succeed("touch /tmp/proceed") + server.succeed( + "${newSystem}/bin/switch-to-configuration test >&2" + ) + client.succeed("touch /tmp/proceed") - client.wait_for_file("/tmp/passed") - ''; + client.wait_for_file("/tmp/passed") + ''; } diff --git a/nixos/tests/nginx-globalredirect.nix b/nixos/tests/nginx-globalredirect.nix index 5f5f4f344d825..42dda6ccaab57 100644 --- a/nixos/tests/nginx-globalredirect.nix +++ b/nixos/tests/nginx-globalredirect.nix @@ -1,24 +1,29 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "nginx-globalredirect"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nginx-globalredirect"; - nodes = { - webserver = { pkgs, lib, ... }: { - services.nginx = { - enable = true; - virtualHosts.localhost = { - globalRedirect = "other.example.com"; - # Add an exception - locations."/noredirect".return = "200 'foo'"; + nodes = { + webserver = + { pkgs, lib, ... }: + { + services.nginx = { + enable = true; + virtualHosts.localhost = { + globalRedirect = "other.example.com"; + # Add an exception + locations."/noredirect".return = "200 'foo'"; + }; + }; }; - }; }; - }; - testScript = '' - webserver.wait_for_unit("nginx") - webserver.wait_for_open_port(80) + testScript = '' + webserver.wait_for_unit("nginx") + webserver.wait_for_open_port(80) - webserver.succeed("curl --fail -si http://localhost/alf | grep '^Location:.*/alf'") - webserver.fail("curl --fail -si http://localhost/noredirect | grep '^Location:'") - ''; -}) + webserver.succeed("curl --fail -si http://localhost/alf | grep '^Location:.*/alf'") + webserver.fail("curl --fail -si http://localhost/noredirect | grep '^Location:'") + ''; + } +) diff --git a/nixos/tests/nginx-http3.nix b/nixos/tests/nginx-http3.nix index 22f7f61f10ce6..d9f4b072f25ec 100644 --- a/nixos/tests/nginx-http3.nix +++ b/nixos/tests/nginx-http3.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -14,19 +15,23 @@ in builtins.listToAttrs ( builtins.map - (nginxPackage: - { - name = pkgs.lib.getName nginxPackage; - value = makeTest { - name = "nginx-http3-${pkgs.lib.getName nginxPackage}"; - meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; - - nodes = { - server = { lib, pkgs, ... }: { + (nginxPackage: { + name = pkgs.lib.getName nginxPackage; + value = makeTest { + name = "nginx-http3-${pkgs.lib.getName nginxPackage}"; + meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; + + nodes = { + server = + { lib, pkgs, ... }: + { networking = { interfaces.eth1 = { ipv4.addresses = [ - { address = "192.168.2.101"; prefixLength = 24; } + { + address = "192.168.2.101"; + prefixLength = 24; + } ]; }; extraHosts = hosts; @@ -51,25 +56,32 @@ builtins.listToAttrs ( http3_hq = false; quic = true; reuseport = true; - root = lib.mkForce (pkgs.runCommandLocal "testdir" {} '' - mkdir "$out" - cat > "$out/index.html" <<EOF - <html><body>Hello World!</body></html> - EOF - cat > "$out/example.txt" <<EOF - Check http3 protocol. - EOF - ''); + root = lib.mkForce ( + pkgs.runCommandLocal "testdir" { } '' + mkdir "$out" + cat > "$out/index.html" <<EOF + <html><body>Hello World!</body></html> + EOF + cat > "$out/example.txt" <<EOF + Check http3 protocol. + EOF + '' + ); }; }; }; - client = { pkgs, ... }: { + client = + { pkgs, ... }: + { environment.systemPackages = [ pkgs.curlHTTP3 ]; networking = { interfaces.eth1 = { ipv4.addresses = [ - { address = "192.168.2.201"; prefixLength = 24; } + { + address = "192.168.2.201"; + prefixLength = 24; + } ]; }; extraHosts = hosts; @@ -79,35 +91,37 @@ builtins.listToAttrs ( (builtins.readFile ./common/acme/server/ca.cert.pem) ]; }; - }; - - testScript = '' - start_all() - - server.wait_for_unit("nginx") - server.wait_for_open_port(443) - - # Check http connections - client.succeed("curl --verbose --http3-only https://acme.test | grep 'Hello World!'") - - # Check downloadings - client.succeed("curl --verbose --http3-only https://acme.test/example.txt --output /tmp/example.txt") - client.succeed("cat /tmp/example.txt | grep 'Check http3 protocol.'") - - # Check header reading - client.succeed("curl --verbose --http3-only --head https://acme.test | grep 'content-type'") - client.succeed("curl --verbose --http3-only --head https://acme.test | grep 'HTTP/3 200'") - client.succeed("curl --verbose --http3-only --head https://acme.test/error | grep 'HTTP/3 404'") - - # Check change User-Agent - client.succeed("curl --verbose --http3-only --user-agent 'Curl test 3.0' https://acme.test") - server.succeed("cat /var/log/nginx/access.log | grep 'Curl test 3.0'") - - server.shutdown() - client.shutdown() - ''; }; - } - ) - [ pkgs.angieQuic pkgs.nginxQuic ] + + testScript = '' + start_all() + + server.wait_for_unit("nginx") + server.wait_for_open_port(443) + + # Check http connections + client.succeed("curl --verbose --http3-only https://acme.test | grep 'Hello World!'") + + # Check downloadings + client.succeed("curl --verbose --http3-only https://acme.test/example.txt --output /tmp/example.txt") + client.succeed("cat /tmp/example.txt | grep 'Check http3 protocol.'") + + # Check header reading + client.succeed("curl --verbose --http3-only --head https://acme.test | grep 'content-type'") + client.succeed("curl --verbose --http3-only --head https://acme.test | grep 'HTTP/3 200'") + client.succeed("curl --verbose --http3-only --head https://acme.test/error | grep 'HTTP/3 404'") + + # Check change User-Agent + client.succeed("curl --verbose --http3-only --user-agent 'Curl test 3.0' https://acme.test") + server.succeed("cat /var/log/nginx/access.log | grep 'Curl test 3.0'") + + server.shutdown() + client.shutdown() + ''; + }; + }) + [ + pkgs.angieQuic + pkgs.nginxQuic + ] ) diff --git a/nixos/tests/nginx-modsecurity.nix b/nixos/tests/nginx-modsecurity.nix index 3c41da3e8d9bc..892180f1cf730 100644 --- a/nixos/tests/nginx-modsecurity.nix +++ b/nixos/tests/nginx-modsecurity.nix @@ -1,39 +1,51 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "nginx-modsecurity"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "nginx-modsecurity"; - nodes.machine = { config, lib, pkgs, ... }: { - services.nginx = { - enable = true; - additionalModules = [ pkgs.nginxModules.modsecurity ]; - virtualHosts.localhost = - let modsecurity_conf = pkgs.writeText "modsecurity.conf" '' - SecRuleEngine On - SecDefaultAction "phase:1,log,auditlog,deny,status:403" - SecDefaultAction "phase:2,log,auditlog,deny,status:403" - SecRule REQUEST_METHOD "HEAD" "id:100, phase:1, block" - SecRule REQUEST_FILENAME "secret.html" "id:101, phase:2, block" - ''; - testroot = pkgs.runCommand "testroot" {} '' - mkdir -p $out - echo "<html><body>Hello World!</body></html>" > $out/index.html - echo "s3cret" > $out/secret.html - ''; - in { - root = testroot; - extraConfig = '' - modsecurity on; - modsecurity_rules_file ${modsecurity_conf}; - ''; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + services.nginx = { + enable = true; + additionalModules = [ pkgs.nginxModules.modsecurity ]; + virtualHosts.localhost = + let + modsecurity_conf = pkgs.writeText "modsecurity.conf" '' + SecRuleEngine On + SecDefaultAction "phase:1,log,auditlog,deny,status:403" + SecDefaultAction "phase:2,log,auditlog,deny,status:403" + SecRule REQUEST_METHOD "HEAD" "id:100, phase:1, block" + SecRule REQUEST_FILENAME "secret.html" "id:101, phase:2, block" + ''; + testroot = pkgs.runCommand "testroot" { } '' + mkdir -p $out + echo "<html><body>Hello World!</body></html>" > $out/index.html + echo "s3cret" > $out/secret.html + ''; + in + { + root = testroot; + extraConfig = '' + modsecurity on; + modsecurity_rules_file ${modsecurity_conf}; + ''; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("nginx") + testScript = '' + machine.wait_for_unit("nginx") - response = machine.wait_until_succeeds("curl -fvvv -s http://127.0.0.1/") - assert "Hello World!" in response + response = machine.wait_until_succeeds("curl -fvvv -s http://127.0.0.1/") + assert "Hello World!" in response - machine.fail("curl -fvvv -X HEAD -s http://127.0.0.1/") - machine.fail("curl -fvvv -s http://127.0.0.1/secret.html") - ''; -}) + machine.fail("curl -fvvv -X HEAD -s http://127.0.0.1/") + machine.fail("curl -fvvv -s http://127.0.0.1/secret.html") + ''; + } +) diff --git a/nixos/tests/nginx-moreheaders.nix b/nixos/tests/nginx-moreheaders.nix index 560dcf9ce0b82..34bbb211dc9d3 100644 --- a/nixos/tests/nginx-moreheaders.nix +++ b/nixos/tests/nginx-moreheaders.nix @@ -2,26 +2,28 @@ import ./make-test-python.nix { name = "nginx-more-headers"; nodes = { - webserver = { pkgs, ... }: { - services.nginx = { - enable = true; + webserver = + { pkgs, ... }: + { + services.nginx = { + enable = true; - virtualHosts.test = { - locations = { - "/".return = "200 blub"; - "/some" = { - return = "200 blub"; - extraConfig = '' - more_set_headers "Referrer-Policy: no-referrer"; - ''; + virtualHosts.test = { + locations = { + "/".return = "200 blub"; + "/some" = { + return = "200 blub"; + extraConfig = '' + more_set_headers "Referrer-Policy: no-referrer"; + ''; + }; }; + extraConfig = '' + more_set_headers "X-Powered-By: nixos"; + ''; }; - extraConfig = '' - more_set_headers "X-Powered-By: nixos"; - ''; }; }; - }; }; testScript = '' diff --git a/nixos/tests/nginx-njs.nix b/nixos/tests/nginx-njs.nix index 72be16384f1b3..7e9e911ee02f3 100644 --- a/nixos/tests/nginx-njs.nix +++ b/nixos/tests/nginx-njs.nix @@ -1,27 +1,37 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "nginx-njs"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "nginx-njs"; - nodes.machine = { config, lib, pkgs, ... }: { - services.nginx = { - enable = true; - additionalModules = [ pkgs.nginxModules.njs ]; - commonHttpConfig = '' - js_import http from ${builtins.toFile "http.js" '' - function hello(r) { - r.return(200, "Hello world!"); - } - export default {hello}; - ''}; - ''; - virtualHosts."localhost".locations."/".extraConfig = '' - js_content http.hello; - ''; - }; - }; - testScript = '' - machine.wait_for_unit("nginx") + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + services.nginx = { + enable = true; + additionalModules = [ pkgs.nginxModules.njs ]; + commonHttpConfig = '' + js_import http from ${builtins.toFile "http.js" '' + function hello(r) { + r.return(200, "Hello world!"); + } + export default {hello}; + ''}; + ''; + virtualHosts."localhost".locations."/".extraConfig = '' + js_content http.hello; + ''; + }; + }; + testScript = '' + machine.wait_for_unit("nginx") - response = machine.wait_until_succeeds("curl -fvvv -s http://127.0.0.1/") - assert "Hello world!" == response, f"Expected 'Hello world!', got '{response}'" - ''; -}) + response = machine.wait_until_succeeds("curl -fvvv -s http://127.0.0.1/") + assert "Hello world!" == response, f"Expected 'Hello world!', got '{response}'" + ''; + } +) diff --git a/nixos/tests/nginx-proxyprotocol/default.nix b/nixos/tests/nginx-proxyprotocol/default.nix index 2ff7debfcbe25..a94a258db3317 100644 --- a/nixos/tests/nginx-proxyprotocol/default.nix +++ b/nixos/tests/nginx-proxyprotocol/default.nix @@ -1,148 +1,164 @@ let certs = import ./snakeoil-certs.nix; in -import ../make-test-python.nix ({ pkgs, ... }: { - name = "nginx-proxyprotocol"; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "nginx-proxyprotocol"; - meta = { - maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; - }; - - nodes = { - webserver = { pkgs, lib, ... }: { - environment.systemPackages = [ pkgs.netcat ]; - security.pki.certificateFiles = [ - certs.ca.cert - ]; + meta = { + maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + }; - networking.extraHosts = '' - 127.0.0.5 proxy.test.nix - 127.0.0.5 noproxy.test.nix - 127.0.0.3 direct-nossl.test.nix - 127.0.0.4 unsecure-nossl.test.nix - 127.0.0.2 direct-noproxy.test.nix - 127.0.0.1 direct-proxy.test.nix - ''; - services.nginx = { - enable = true; - defaultListen = [ - { addr = "127.0.0.1"; proxyProtocol = true; ssl = true; } - { addr = "127.0.0.2"; } - { addr = "127.0.0.3"; ssl = false; } - { addr = "127.0.0.4"; ssl = false; proxyProtocol = true; } - ]; - commonHttpConfig = '' - log_format pcombined '(proxy_protocol=$proxy_protocol_addr) - (remote_addr=$remote_addr) - (realip=$realip_remote_addr) - (upstream=) - (remote_user=$remote_user) [$time_local] ' - '"$request" $status $body_bytes_sent ' - '"$http_referer" "$http_user_agent"'; - access_log /var/log/nginx/access.log pcombined; - error_log /var/log/nginx/error.log; - ''; - virtualHosts = - let - commonConfig = { - locations."/".return = "200 '$remote_addr'"; - extraConfig = '' - set_real_ip_from 127.0.0.5/32; - real_ip_header proxy_protocol; - ''; - }; - in + nodes = { + webserver = + { pkgs, lib, ... }: { - "*.test.nix" = commonConfig // { - sslCertificate = certs."*.test.nix".cert; - sslCertificateKey = certs."*.test.nix".key; - forceSSL = true; + environment.systemPackages = [ pkgs.netcat ]; + security.pki.certificateFiles = [ + certs.ca.cert + ]; + + networking.extraHosts = '' + 127.0.0.5 proxy.test.nix + 127.0.0.5 noproxy.test.nix + 127.0.0.3 direct-nossl.test.nix + 127.0.0.4 unsecure-nossl.test.nix + 127.0.0.2 direct-noproxy.test.nix + 127.0.0.1 direct-proxy.test.nix + ''; + services.nginx = { + enable = true; + defaultListen = [ + { + addr = "127.0.0.1"; + proxyProtocol = true; + ssl = true; + } + { addr = "127.0.0.2"; } + { + addr = "127.0.0.3"; + ssl = false; + } + { + addr = "127.0.0.4"; + ssl = false; + proxyProtocol = true; + } + ]; + commonHttpConfig = '' + log_format pcombined '(proxy_protocol=$proxy_protocol_addr) - (remote_addr=$remote_addr) - (realip=$realip_remote_addr) - (upstream=) - (remote_user=$remote_user) [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent"'; + access_log /var/log/nginx/access.log pcombined; + error_log /var/log/nginx/error.log; + ''; + virtualHosts = + let + commonConfig = { + locations."/".return = "200 '$remote_addr'"; + extraConfig = '' + set_real_ip_from 127.0.0.5/32; + real_ip_header proxy_protocol; + ''; + }; + in + { + "*.test.nix" = commonConfig // { + sslCertificate = certs."*.test.nix".cert; + sslCertificateKey = certs."*.test.nix".key; + forceSSL = true; + }; + "direct-nossl.test.nix" = commonConfig; + "unsecure-nossl.test.nix" = commonConfig // { + extraConfig = '' + real_ip_header proxy_protocol; + ''; + }; + }; }; - "direct-nossl.test.nix" = commonConfig; - "unsecure-nossl.test.nix" = commonConfig // { - extraConfig = '' - real_ip_header proxy_protocol; + + services.sniproxy = { + enable = true; + config = '' + error_log { + syslog daemon + } + access_log { + syslog daemon + } + listener 127.0.0.5:443 { + protocol tls + source 127.0.0.5 + } + table { + ^proxy\.test\.nix$ 127.0.0.1 proxy_protocol + ^noproxy\.test\.nix$ 127.0.0.2 + } ''; }; }; - }; - - services.sniproxy = { - enable = true; - config = '' - error_log { - syslog daemon - } - access_log { - syslog daemon - } - listener 127.0.0.5:443 { - protocol tls - source 127.0.0.5 - } - table { - ^proxy\.test\.nix$ 127.0.0.1 proxy_protocol - ^noproxy\.test\.nix$ 127.0.0.2 - } - ''; - }; }; - }; - testScript = '' - def check_origin_ip(src_ip: str, dst_url: str, failure: bool = False, proxy_protocol: bool = False, expected_ip: str | None = None): - check = webserver.fail if failure else webserver.succeed - if expected_ip is None: - expected_ip = src_ip + testScript = '' + def check_origin_ip(src_ip: str, dst_url: str, failure: bool = False, proxy_protocol: bool = False, expected_ip: str | None = None): + check = webserver.fail if failure else webserver.succeed + if expected_ip is None: + expected_ip = src_ip - return check(f"curl {'--haproxy-protocol' if proxy_protocol else '''} --interface {src_ip} --fail -L {dst_url} | grep '{expected_ip}'") + return check(f"curl {'--haproxy-protocol' if proxy_protocol else '''} --interface {src_ip} --fail -L {dst_url} | grep '{expected_ip}'") - webserver.wait_for_unit("nginx") - webserver.wait_for_unit("sniproxy") - # This should be closed by virtue of ssl = true; - webserver.wait_for_closed_port(80, "127.0.0.1") - # This should be open by virtue of no explicit ssl - webserver.wait_for_open_port(80, "127.0.0.2") - # This should be open by virtue of ssl = true; - webserver.wait_for_open_port(443, "127.0.0.1") - # This should be open by virtue of no explicit ssl - webserver.wait_for_open_port(443, "127.0.0.2") - # This should be open by sniproxy - webserver.wait_for_open_port(443, "127.0.0.5") - # This should be closed by sniproxy - webserver.wait_for_closed_port(80, "127.0.0.5") + webserver.wait_for_unit("nginx") + webserver.wait_for_unit("sniproxy") + # This should be closed by virtue of ssl = true; + webserver.wait_for_closed_port(80, "127.0.0.1") + # This should be open by virtue of no explicit ssl + webserver.wait_for_open_port(80, "127.0.0.2") + # This should be open by virtue of ssl = true; + webserver.wait_for_open_port(443, "127.0.0.1") + # This should be open by virtue of no explicit ssl + webserver.wait_for_open_port(443, "127.0.0.2") + # This should be open by sniproxy + webserver.wait_for_open_port(443, "127.0.0.5") + # This should be closed by sniproxy + webserver.wait_for_closed_port(80, "127.0.0.5") - # Sanity checks for the NGINX module - # direct-HTTP connection to NGINX without TLS, this checks that ssl = false; works well. - check_origin_ip("127.0.0.10", "http://direct-nossl.test.nix/") - # webserver.execute("openssl s_client -showcerts -connect direct-noproxy.test.nix:443") - # direct-HTTP connection to NGINX with TLS - check_origin_ip("127.0.0.10", "http://direct-noproxy.test.nix/") - check_origin_ip("127.0.0.10", "https://direct-noproxy.test.nix/") - # Well, sniproxy is not listening on 80 and cannot redirect - check_origin_ip("127.0.0.10", "http://proxy.test.nix/", failure=True) - check_origin_ip("127.0.0.10", "http://noproxy.test.nix/", failure=True) + # Sanity checks for the NGINX module + # direct-HTTP connection to NGINX without TLS, this checks that ssl = false; works well. + check_origin_ip("127.0.0.10", "http://direct-nossl.test.nix/") + # webserver.execute("openssl s_client -showcerts -connect direct-noproxy.test.nix:443") + # direct-HTTP connection to NGINX with TLS + check_origin_ip("127.0.0.10", "http://direct-noproxy.test.nix/") + check_origin_ip("127.0.0.10", "https://direct-noproxy.test.nix/") + # Well, sniproxy is not listening on 80 and cannot redirect + check_origin_ip("127.0.0.10", "http://proxy.test.nix/", failure=True) + check_origin_ip("127.0.0.10", "http://noproxy.test.nix/", failure=True) - # Actual PROXY protocol related tests - # Connecting through sniproxy should passthrough the originating IP address. - check_origin_ip("127.0.0.10", "https://proxy.test.nix/") - # Connecting through sniproxy to a non-PROXY protocol enabled listener should not pass the originating IP address. - check_origin_ip("127.0.0.10", "https://noproxy.test.nix/", expected_ip="127.0.0.5") + # Actual PROXY protocol related tests + # Connecting through sniproxy should passthrough the originating IP address. + check_origin_ip("127.0.0.10", "https://proxy.test.nix/") + # Connecting through sniproxy to a non-PROXY protocol enabled listener should not pass the originating IP address. + check_origin_ip("127.0.0.10", "https://noproxy.test.nix/", expected_ip="127.0.0.5") - # Attack tests against spoofing - # Let's try to spoof our IP address by connecting direct-y to the PROXY protocol listener. - # FIXME(RaitoBezarius): rewrite it using Python + (Scapy|something else) as this is too much broken unfortunately. - # Or wait for upstream curl patch. - # def generate_attacker_request(original_ip: str, target_ip: str, dst_url: str): - # return f"""PROXY TCP4 {original_ip} {target_ip} 80 80 - # GET / HTTP/1.1 - # Host: {dst_url} + # Attack tests against spoofing + # Let's try to spoof our IP address by connecting direct-y to the PROXY protocol listener. + # FIXME(RaitoBezarius): rewrite it using Python + (Scapy|something else) as this is too much broken unfortunately. + # Or wait for upstream curl patch. + # def generate_attacker_request(original_ip: str, target_ip: str, dst_url: str): + # return f"""PROXY TCP4 {original_ip} {target_ip} 80 80 + # GET / HTTP/1.1 + # Host: {dst_url} - # """ - # def spoof(original_ip: str, target_ip: str, dst_url: str, tls: bool = False, expect_failure: bool = True): - # method = webserver.fail if expect_failure else webserver.succeed - # port = 443 if tls else 80 - # print(webserver.execute(f"cat <<EOF | nc {target_ip} {port}\n{generate_attacker_request(original_ip, target_ip, dst_url)}\nEOF")) - # return method(f"cat <<EOF | nc {target_ip} {port} | grep {original_ip}\n{generate_attacker_request(original_ip, target_ip, dst_url)}\nEOF") + # """ + # def spoof(original_ip: str, target_ip: str, dst_url: str, tls: bool = False, expect_failure: bool = True): + # method = webserver.fail if expect_failure else webserver.succeed + # port = 443 if tls else 80 + # print(webserver.execute(f"cat <<EOF | nc {target_ip} {port}\n{generate_attacker_request(original_ip, target_ip, dst_url)}\nEOF")) + # return method(f"cat <<EOF | nc {target_ip} {port} | grep {original_ip}\n{generate_attacker_request(original_ip, target_ip, dst_url)}\nEOF") - # check_origin_ip("127.0.0.10", "http://unsecure-nossl.test.nix", proxy_protocol=True) - # spoof("1.1.1.1", "127.0.0.4", "direct-nossl.test.nix") - # spoof("1.1.1.1", "127.0.0.4", "unsecure-nossl.test.nix", expect_failure=False) - ''; -}) + # check_origin_ip("127.0.0.10", "http://unsecure-nossl.test.nix", proxy_protocol=True) + # spoof("1.1.1.1", "127.0.0.4", "direct-nossl.test.nix") + # spoof("1.1.1.1", "127.0.0.4", "unsecure-nossl.test.nix", expect_failure=False) + ''; + } +) diff --git a/nixos/tests/nginx-proxyprotocol/generate-certs.nix b/nixos/tests/nginx-proxyprotocol/generate-certs.nix index b2315062035e3..c8e6a5dc31217 100644 --- a/nixos/tests/nginx-proxyprotocol/generate-certs.nix +++ b/nixos/tests/nginx-proxyprotocol/generate-certs.nix @@ -1,23 +1,27 @@ # Minica can provide a CA key and cert, plus a key # and cert for our fake CA server's Web Front End (WFE). { - pkgs ? import <nixpkgs> {}, + pkgs ? import <nixpkgs> { }, minica ? pkgs.minica, runCommandCC ? pkgs.runCommandCC, }: let conf = import ./snakeoil-certs.nix; domain = conf.domain; - domainSanitized = pkgs.lib.replaceStrings ["*"] ["_"] domain; + domainSanitized = pkgs.lib.replaceStrings [ "*" ] [ "_" ] domain; in - runCommandCC "generate-tests-certs" { - buildInputs = [ (minica.overrideAttrs (old: { - postPatch = '' - sed -i 's_NotAfter: time.Now().AddDate(2, 0, 30),_NotAfter: time.Now().AddDate(20, 0, 0),_' main.go - ''; - })) ]; +runCommandCC "generate-tests-certs" + { + buildInputs = [ + (minica.overrideAttrs (old: { + postPatch = '' + sed -i 's_NotAfter: time.Now().AddDate(2, 0, 30),_NotAfter: time.Now().AddDate(20, 0, 0),_' main.go + ''; + })) + ]; - } '' + } + '' minica \ --ca-key ca.key.pem \ --ca-cert ca.cert.pem \ diff --git a/nixos/tests/nginx-proxyprotocol/snakeoil-certs.nix b/nixos/tests/nginx-proxyprotocol/snakeoil-certs.nix index 61af6351ca655..3468c2c041a8a 100644 --- a/nixos/tests/nginx-proxyprotocol/snakeoil-certs.nix +++ b/nixos/tests/nginx-proxyprotocol/snakeoil-certs.nix @@ -1,7 +1,8 @@ let domain = "*.test.nix"; domainSanitized = "_.test.nix"; -in { +in +{ inherit domain; ca = { cert = ./ca.cert.pem; diff --git a/nixos/tests/nginx-pubhtml.nix b/nixos/tests/nginx-pubhtml.nix index bff24c99d41a4..2eb0b82722863 100644 --- a/nixos/tests/nginx-pubhtml.nix +++ b/nixos/tests/nginx-pubhtml.nix @@ -1,14 +1,16 @@ import ./make-test-python.nix { name = "nginx-pubhtml"; - nodes.machine = { pkgs, ... }: { - systemd.services.nginx.serviceConfig.ProtectHome = "read-only"; - services.nginx.enable = true; - services.nginx.virtualHosts.localhost = { - locations."~ ^/\\~([a-z0-9_]+)(/.*)?$".alias = "/home/$1/public_html$2"; + nodes.machine = + { pkgs, ... }: + { + systemd.services.nginx.serviceConfig.ProtectHome = "read-only"; + services.nginx.enable = true; + services.nginx.virtualHosts.localhost = { + locations."~ ^/\\~([a-z0-9_]+)(/.*)?$".alias = "/home/$1/public_html$2"; + }; + users.users.foo.isNormalUser = true; }; - users.users.foo.isNormalUser = true; - }; testScript = '' machine.wait_for_unit("nginx") diff --git a/nixos/tests/nginx-redirectcode.nix b/nixos/tests/nginx-redirectcode.nix index f60434a21a85d..fd0062a7b786f 100644 --- a/nixos/tests/nginx-redirectcode.nix +++ b/nixos/tests/nginx-redirectcode.nix @@ -1,25 +1,30 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "nginx-redirectcode"; - meta.maintainers = with lib.maintainers; [ misterio77 ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "nginx-redirectcode"; + meta.maintainers = with lib.maintainers; [ misterio77 ]; - nodes = { - webserver = { pkgs, lib, ... }: { - services.nginx = { - enable = true; - virtualHosts.localhost = { - globalRedirect = "example.com/foo"; - # With 308 (and 307), the method and body are to be kept when following it - redirectCode = 308; + nodes = { + webserver = + { pkgs, lib, ... }: + { + services.nginx = { + enable = true; + virtualHosts.localhost = { + globalRedirect = "example.com/foo"; + # With 308 (and 307), the method and body are to be kept when following it + redirectCode = 308; + }; + }; }; - }; }; - }; - testScript = '' - webserver.wait_for_unit("nginx") - webserver.wait_for_open_port(80) + testScript = '' + webserver.wait_for_unit("nginx") + webserver.wait_for_open_port(80) - # Check the status code - webserver.succeed("curl -si http://localhost | grep '^HTTP/[0-9.]\+ 308 Permanent Redirect'") - ''; -}) + # Check the status code + webserver.succeed("curl -si http://localhost | grep '^HTTP/[0-9.]\+ 308 Permanent Redirect'") + ''; + } +) diff --git a/nixos/tests/nginx-status-page.nix b/nixos/tests/nginx-status-page.nix index ff2c0940379c7..2007db205f077 100644 --- a/nixos/tests/nginx-status-page.nix +++ b/nixos/tests/nginx-status-page.nix @@ -1,72 +1,81 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "nginx-status-page"; - meta = with pkgs.lib.maintainers; { - maintainers = [ h7x4 ]; - }; - - nodes = { - webserver = { ... }: { - virtualisation.vlans = [ 1 ]; - - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.1/24"; - }; - - services.nginx = { - enable = true; - statusPage = true; - virtualHosts."localhost".locations."/index.html".return = "200 'hello world\n'"; - }; - - environment.systemPackages = with pkgs; [ curl ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nginx-status-page"; + meta = with pkgs.lib.maintainers; { + maintainers = [ h7x4 ]; }; - client = { ... }: { - virtualisation.vlans = [ 1 ]; - - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.2/24"; - }; - - environment.systemPackages = with pkgs; [ curl ]; + nodes = { + webserver = + { ... }: + { + virtualisation.vlans = [ 1 ]; + + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + }; + + systemd.network.networks."01-eth1" = { + name = "eth1"; + networkConfig.Address = "10.0.0.1/24"; + }; + + services.nginx = { + enable = true; + statusPage = true; + virtualHosts."localhost".locations."/index.html".return = "200 'hello world\n'"; + }; + + environment.systemPackages = with pkgs; [ curl ]; + }; + + client = + { ... }: + { + virtualisation.vlans = [ 1 ]; + + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + }; + + systemd.network.networks."01-eth1" = { + name = "eth1"; + networkConfig.Address = "10.0.0.2/24"; + }; + + environment.systemPackages = with pkgs; [ curl ]; + }; }; - }; - testScript = { nodes, ... }: '' - start_all() + testScript = + { nodes, ... }: + '' + start_all() - webserver.wait_for_unit("nginx") - webserver.wait_for_open_port(80) + webserver.wait_for_unit("nginx") + webserver.wait_for_open_port(80) - def expect_http_code(node, code, url): - http_code = node.succeed(f"curl -w '%{{http_code}}' '{url}'") - assert http_code.split("\n")[-1].strip() == code, \ - f"expected {code} but got following response:\n{http_code}" + def expect_http_code(node, code, url): + http_code = node.succeed(f"curl -w '%{{http_code}}' '{url}'") + assert http_code.split("\n")[-1].strip() == code, \ + f"expected {code} but got following response:\n{http_code}" - with subtest("localhost can access status page"): - expect_http_code(webserver, "200", "http://localhost/nginx_status") + with subtest("localhost can access status page"): + expect_http_code(webserver, "200", "http://localhost/nginx_status") - with subtest("localhost can access other page"): - expect_http_code(webserver, "200", "http://localhost/index.html") + with subtest("localhost can access other page"): + expect_http_code(webserver, "200", "http://localhost/index.html") - with subtest("client can not access status page"): - expect_http_code(client, "403", "http://10.0.0.1/nginx_status") + with subtest("client can not access status page"): + expect_http_code(client, "403", "http://10.0.0.1/nginx_status") - with subtest("client can access other page"): - expect_http_code(client, "200", "http://10.0.0.1/index.html") - ''; -}) + with subtest("client can access other page"): + expect_http_code(client, "200", "http://10.0.0.1/index.html") + ''; + } +) diff --git a/nixos/tests/nginx-tmpdir.nix b/nixos/tests/nginx-tmpdir.nix index f26f992ffe1be..80e9992221554 100644 --- a/nixos/tests/nginx-tmpdir.nix +++ b/nixos/tests/nginx-tmpdir.nix @@ -1,10 +1,12 @@ let dst-dir = "/run/nginx-test-tmpdir-uploads"; in - import ./make-test-python.nix { - name = "nginx-tmpdir"; +import ./make-test-python.nix { + name = "nginx-tmpdir"; - nodes.machine = { pkgs, ... }: { + nodes.machine = + { pkgs, ... }: + { environment.etc."tmpfiles.d/nginx-uploads.conf".text = "d ${dst-dir} 0755 nginx nginx 1d"; # overwrite the tmp.conf with a short age, there will be a duplicate line info from systemd-tmpfiles in the log @@ -29,32 +31,32 @@ in }; }; - testScript = '' - machine.wait_for_unit("nginx") - machine.wait_for_open_port(80) + testScript = '' + machine.wait_for_unit("nginx") + machine.wait_for_open_port(80) - with subtest("Needed prerequisite --http-client-body-temp-path=/tmp/nginx_client_body and private temp"): - machine.succeed("touch /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body") + with subtest("Needed prerequisite --http-client-body-temp-path=/tmp/nginx_client_body and private temp"): + machine.succeed("touch /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body") - with subtest("Working upload of test setup"): - machine.succeed("curl -X PUT http://localhost/upload/test1 --fail --data-raw 'Raw data 1'") - machine.succeed('test "$(cat ${dst-dir}/test1)" = "Raw data 1"') + with subtest("Working upload of test setup"): + machine.succeed("curl -X PUT http://localhost/upload/test1 --fail --data-raw 'Raw data 1'") + machine.succeed('test "$(cat ${dst-dir}/test1)" = "Raw data 1"') - # let the tmpfiles clean service do its job - machine.succeed("touch /tmp/touched") - machine.wait_until_succeeds( - "sleep 15 && systemctl start systemd-tmpfiles-clean.service && [ ! -f /tmp/touched ]", - timeout=150 - ) + # let the tmpfiles clean service do its job + machine.succeed("touch /tmp/touched") + machine.wait_until_succeeds( + "sleep 15 && systemctl start systemd-tmpfiles-clean.service && [ ! -f /tmp/touched ]", + timeout=150 + ) - with subtest("Working upload after cleaning"): - machine.succeed("curl -X PUT http://localhost/upload/test2 --fail --data-raw 'Raw data 2'") - machine.succeed('test "$(cat ${dst-dir}/test2)" = "Raw data 2"') + with subtest("Working upload after cleaning"): + machine.succeed("curl -X PUT http://localhost/upload/test2 --fail --data-raw 'Raw data 2'") + machine.succeed('test "$(cat ${dst-dir}/test2)" = "Raw data 2"') - # manually remove the nginx temp dir - machine.succeed("rm -r --interactive=never /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body") + # manually remove the nginx temp dir + machine.succeed("rm -r --interactive=never /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body") - with subtest("Broken upload after manual temp dir removal"): - machine.fail("curl -X PUT http://localhost/upload/test3 --fail --data-raw 'Raw data 3'") - ''; - } + with subtest("Broken upload after manual temp dir removal"): + machine.fail("curl -X PUT http://localhost/upload/test3 --fail --data-raw 'Raw data 3'") + ''; +} diff --git a/nixos/tests/nginx-unix-socket.nix b/nixos/tests/nginx-unix-socket.nix index 4640eaa171bdf..020a1a7cd97a0 100644 --- a/nixos/tests/nginx-unix-socket.nix +++ b/nixos/tests/nginx-unix-socket.nix @@ -1,27 +1,31 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - nginxSocketPath = "/var/run/nginx/test.sock"; -in -{ - name = "nginx-unix-socket"; +import ./make-test-python.nix ( + { pkgs, ... }: + let + nginxSocketPath = "/var/run/nginx/test.sock"; + in + { + name = "nginx-unix-socket"; - nodes = { - webserver = { pkgs, lib, ... }: { - services.nginx = { - enable = true; - virtualHosts.localhost = { - serverName = "localhost"; - listen = [{ addr = "unix:${nginxSocketPath}"; }]; - locations."/test".return = "200 'foo'"; + nodes = { + webserver = + { pkgs, lib, ... }: + { + services.nginx = { + enable = true; + virtualHosts.localhost = { + serverName = "localhost"; + listen = [ { addr = "unix:${nginxSocketPath}"; } ]; + locations."/test".return = "200 'foo'"; + }; + }; }; - }; }; - }; - testScript = '' - webserver.wait_for_unit("nginx") - webserver.wait_for_open_unix_socket("${nginxSocketPath}") + testScript = '' + webserver.wait_for_unit("nginx") + webserver.wait_for_open_unix_socket("${nginxSocketPath}") - webserver.succeed("curl --fail --silent --unix-socket '${nginxSocketPath}' http://localhost/test | grep '^foo$'") - ''; -}) + webserver.succeed("curl --fail --silent --unix-socket '${nginxSocketPath}' http://localhost/test | grep '^foo$'") + ''; + } +) diff --git a/nixos/tests/nginx-variants.nix b/nixos/tests/nginx-variants.nix index 8c24052aacce3..905c94730d730 100644 --- a/nixos/tests/nginx-variants.nix +++ b/nixos/tests/nginx-variants.nix @@ -1,19 +1,21 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; builtins.listToAttrs ( builtins.map - (nginxPackage: - { - name = pkgs.lib.getName nginxPackage; - value = makeTest { - name = "nginx-variant-${pkgs.lib.getName nginxPackage}"; + (nginxPackage: { + name = pkgs.lib.getName nginxPackage; + value = makeTest { + name = "nginx-variant-${pkgs.lib.getName nginxPackage}"; - nodes.machine = { pkgs, ... }: { + nodes.machine = + { pkgs, ... }: + { services.nginx = { enable = true; virtualHosts.localhost.locations."/".return = "200 'foo'"; @@ -21,13 +23,21 @@ builtins.listToAttrs ( }; }; - testScript = '' - machine.wait_for_unit("nginx") - machine.wait_for_open_port(80) - machine.succeed('test "$(curl -fvvv http://localhost/)" = foo') - ''; - }; - } - ) - [ pkgs.angie pkgs.angieQuic pkgs.nginxStable pkgs.nginxMainline pkgs.nginxQuic pkgs.nginxShibboleth pkgs.openresty pkgs.tengine ] + testScript = '' + machine.wait_for_unit("nginx") + machine.wait_for_open_port(80) + machine.succeed('test "$(curl -fvvv http://localhost/)" = foo') + ''; + }; + }) + [ + pkgs.angie + pkgs.angieQuic + pkgs.nginxStable + pkgs.nginxMainline + pkgs.nginxQuic + pkgs.nginxShibboleth + pkgs.openresty + pkgs.tengine + ] ) diff --git a/nixos/tests/nimdow.nix b/nixos/tests/nimdow.nix index 0656ef04be483..d71fcf35acd8f 100644 --- a/nixos/tests/nimdow.nix +++ b/nixos/tests/nimdow.nix @@ -1,25 +1,35 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "nimdow"; - meta = with pkgs.lib.maintainers; { - maintainers = [ marcusramberg ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nimdow"; + meta = with pkgs.lib.maintainers; { + maintainers = [ marcusramberg ]; + }; - nodes.machine = { lib, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = lib.mkForce "none+nimdow"; - services.xserver.windowManager.nimdow.enable = true; - }; + nodes.machine = + { lib, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = lib.mkForce "none+nimdow"; + services.xserver.windowManager.nimdow.enable = true; + }; - testScript = { ... }: '' - with subtest("ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("/home/alice/.Xauthority") - machine.succeed("xauth merge ~alice/.Xauthority") + testScript = + { ... }: + '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") - with subtest("ensure we can open a new terminal"): - machine.send_key("meta_l-ret") - machine.wait_for_window(r"alice.*?machine") - machine.screenshot("terminal") - ''; -}) + with subtest("ensure we can open a new terminal"): + machine.send_key("meta_l-ret") + machine.wait_for_window(r"alice.*?machine") + machine.screenshot("terminal") + ''; + } +) diff --git a/nixos/tests/nitter.nix b/nixos/tests/nitter.nix index 114f1aac7c7af..22466ec53a098 100644 --- a/nixos/tests/nitter.nix +++ b/nixos/tests/nitter.nix @@ -1,33 +1,35 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - # In a real deployment this should naturally not common from the nix store - # and be seeded via agenix or as a non-nix managed file. - # - # These credentials are from the nitter wiki and are expired. We must provide - # credentials in the correct format, otherwise nitter fails to start. They - # must not be valid, as unauthorized errors are handled gracefully. - guestAccountFile = pkgs.writeText "guest_accounts.jsonl" '' - {"oauth_token":"1719213587296620928-BsXY2RIJEw7fjxoNwbBemgjJhueK0m","oauth_token_secret":"N0WB0xhL4ng6WTN44aZO82SUJjz7ssI3hHez2CUhTiYqy"} - ''; -in -{ - name = "nitter"; - meta.maintainers = with pkgs.lib.maintainers; [ erdnaxe ]; + let + # In a real deployment this should naturally not common from the nix store + # and be seeded via agenix or as a non-nix managed file. + # + # These credentials are from the nitter wiki and are expired. We must provide + # credentials in the correct format, otherwise nitter fails to start. They + # must not be valid, as unauthorized errors are handled gracefully. + guestAccountFile = pkgs.writeText "guest_accounts.jsonl" '' + {"oauth_token":"1719213587296620928-BsXY2RIJEw7fjxoNwbBemgjJhueK0m","oauth_token_secret":"N0WB0xhL4ng6WTN44aZO82SUJjz7ssI3hHez2CUhTiYqy"} + ''; + in + { + name = "nitter"; + meta.maintainers = with pkgs.lib.maintainers; [ erdnaxe ]; - nodes.machine = { - services.nitter = { - enable = true; - # Test CAP_NET_BIND_SERVICE - server.port = 80; - # Provide dummy guest accounts - guestAccounts = guestAccountFile; + nodes.machine = { + services.nitter = { + enable = true; + # Test CAP_NET_BIND_SERVICE + server.port = 80; + # Provide dummy guest accounts + guestAccounts = guestAccountFile; + }; }; - }; - testScript = '' - machine.wait_for_unit("nitter.service") - machine.wait_for_open_port(80) - machine.succeed("curl --fail http://localhost:80/") - ''; -}) + testScript = '' + machine.wait_for_unit("nitter.service") + machine.wait_for_open_port(80) + machine.succeed("curl --fail http://localhost:80/") + ''; + } +) diff --git a/nixos/tests/nix-config.nix b/nixos/tests/nix-config.nix index 907e886def351..18fa3ae347aa8 100644 --- a/nixos/tests/nix-config.nix +++ b/nixos/tests/nix-config.nix @@ -1,18 +1,22 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "nix-config"; - nodes.machine = { pkgs, ... }: { - nix.settings = { - nix-path = [ "nonextra=/etc/value.nix" ]; - extra-nix-path = [ "extra=/etc/value.nix" ]; - }; - environment.etc."value.nix".text = "42"; - }; - testScript = '' - start_all() - machine.wait_for_unit("nix-daemon.socket") - # regression test for the workaround for https://github.com/NixOS/nix/issues/9487 - print(machine.succeed("nix-instantiate --find-file extra")) - print(machine.succeed("nix-instantiate --find-file nonextra")) - ''; -}) +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nix-config"; + nodes.machine = + { pkgs, ... }: + { + nix.settings = { + nix-path = [ "nonextra=/etc/value.nix" ]; + extra-nix-path = [ "extra=/etc/value.nix" ]; + }; + environment.etc."value.nix".text = "42"; + }; + testScript = '' + start_all() + machine.wait_for_unit("nix-daemon.socket") + # regression test for the workaround for https://github.com/NixOS/nix/issues/9487 + print(machine.succeed("nix-instantiate --find-file extra")) + print(machine.succeed("nix-instantiate --find-file nonextra")) + ''; + } +) diff --git a/nixos/tests/nix-ld.nix b/nixos/tests/nix-ld.nix index 9b851f88617a0..03f5c5e89fbf3 100644 --- a/nixos/tests/nix-ld.nix +++ b/nixos/tests/nix-ld.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: let inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; diff --git a/nixos/tests/nix-serve-ssh.nix b/nixos/tests/nix-serve-ssh.nix index 1eb8d5b395b1f..554ea5a69f20b 100644 --- a/nixos/tests/nix-serve-ssh.nix +++ b/nixos/tests/nix-serve-ssh.nix @@ -1,45 +1,50 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let inherit (import ./ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + inherit (import ./ssh-keys.nix pkgs) + snakeOilPrivateKey + snakeOilPublicKey + ; ssh-config = builtins.toFile "ssh.conf" '' UserKnownHostsFile=/dev/null StrictHostKeyChecking=no ''; -in - { name = "nix-ssh-serve"; - meta.maintainers = [ lib.maintainers.shlevy ]; - nodes = - { server.nix.sshServe = - { enable = true; - keys = [ snakeOilPublicKey ]; - protocol = "ssh-ng"; - }; - server.nix.package = pkgs.nix; - client.nix.package = pkgs.nix; - }; - testScript = '' - start_all() + in + { + name = "nix-ssh-serve"; + meta.maintainers = [ lib.maintainers.shlevy ]; + nodes = { + server.nix.sshServe = { + enable = true; + keys = [ snakeOilPublicKey ]; + protocol = "ssh-ng"; + }; + server.nix.package = pkgs.nix; + client.nix.package = pkgs.nix; + }; + testScript = '' + start_all() - client.succeed("mkdir -m 700 /root/.ssh") - client.succeed( - "cat ${ssh-config} > /root/.ssh/config" - ) - client.succeed( - "cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa" - ) - client.succeed("chmod 600 /root/.ssh/id_ecdsa") + client.succeed("mkdir -m 700 /root/.ssh") + client.succeed( + "cat ${ssh-config} > /root/.ssh/config" + ) + client.succeed( + "cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa" + ) + client.succeed("chmod 600 /root/.ssh/id_ecdsa") - client.succeed("nix-store --add /etc/machine-id > mach-id-path") + client.succeed("nix-store --add /etc/machine-id > mach-id-path") - server.wait_for_unit("sshd") + server.wait_for_unit("sshd") - client.fail("diff /root/other-store$(cat mach-id-path) /etc/machine-id") - # Currently due to shared store this is a noop :( - client.succeed("nix copy --experimental-features 'nix-command' --to ssh-ng://nix-ssh@server $(cat mach-id-path)") - client.succeed( - "nix-store --realise $(cat mach-id-path) --store /root/other-store --substituters ssh-ng://nix-ssh@server" - ) - client.succeed("diff /root/other-store$(cat mach-id-path) /etc/machine-id") - ''; - } + client.fail("diff /root/other-store$(cat mach-id-path) /etc/machine-id") + # Currently due to shared store this is a noop :( + client.succeed("nix copy --experimental-features 'nix-command' --to ssh-ng://nix-ssh@server $(cat mach-id-path)") + client.succeed( + "nix-store --realise $(cat mach-id-path) --store /root/other-store --substituters ssh-ng://nix-ssh@server" + ) + client.succeed("diff /root/other-store$(cat mach-id-path) /etc/machine-id") + ''; + } ) diff --git a/nixos/tests/nix-serve.nix b/nixos/tests/nix-serve.nix index c41bc505e9635..d3b4668540a13 100644 --- a/nixos/tests/nix-serve.nix +++ b/nixos/tests/nix-serve.nix @@ -1,22 +1,26 @@ { config, ... }: { name = "nix-serve"; - nodes.machine = { pkgs, ... }: { - services.nix-serve.enable = true; - environment.systemPackages = [ - pkgs.hello - ]; - }; - testScript = let - pkgHash = builtins.head ( - builtins.match "${builtins.storeDir}/([^-]+).+" (toString config.node.pkgs.hello) - ); - in '' - start_all() - machine.wait_for_unit("nix-serve.service") - machine.wait_for_open_port(5000) - machine.succeed( - "curl --fail -g http://0.0.0.0:5000/nar/${pkgHash}.nar -o /tmp/hello.nar" - ) - ''; + nodes.machine = + { pkgs, ... }: + { + services.nix-serve.enable = true; + environment.systemPackages = [ + pkgs.hello + ]; + }; + testScript = + let + pkgHash = builtins.head ( + builtins.match "${builtins.storeDir}/([^-]+).+" (toString config.node.pkgs.hello) + ); + in + '' + start_all() + machine.wait_for_unit("nix-serve.service") + machine.wait_for_open_port(5000) + machine.succeed( + "curl --fail -g http://0.0.0.0:5000/nar/${pkgHash}.nar -o /tmp/hello.nar" + ) + ''; } diff --git a/nixos/tests/nix/misc.nix b/nixos/tests/nix/misc.nix index 6a22ffe0d901f..be23d4e450e3a 100644 --- a/nixos/tests/nix/misc.nix +++ b/nixos/tests/nix/misc.nix @@ -8,57 +8,65 @@ let lix = testsForPackage { nixPackage = pkgs.lix; }; }; - testsForPackage = args: lib.recurseIntoAttrs { - # If the attribute is not named 'test' - # You will break all the universe on the release-*.nix side of things. - # `discoverTests` relies on `test` existence to perform a `callTest`. - test = testMiscFeatures args; - passthru.override = args': testsForPackage (args // args'); - }; - - testMiscFeatures = { nixPackage, ... }: pkgs.testers.nixosTest ( - let - foo = pkgs.writeText "foo" "Hello World"; - in { - name = "${nixPackage.pname}-misc"; - meta.maintainers = with lib.maintainers; [ raitobezarius artturin ]; + testsForPackage = + args: + lib.recurseIntoAttrs { + # If the attribute is not named 'test' + # You will break all the universe on the release-*.nix side of things. + # `discoverTests` relies on `test` existence to perform a `callTest`. + test = testMiscFeatures args; + passthru.override = args': testsForPackage (args // args'); + }; - nodes.machine = - { lib, ... }: + testMiscFeatures = + { nixPackage, ... }: + pkgs.testers.nixosTest ( + let + foo = pkgs.writeText "foo" "Hello World"; + in { - system.extraDependencies = [ foo ]; + name = "${nixPackage.pname}-misc"; + meta.maintainers = with lib.maintainers; [ + raitobezarius + artturin + ]; + + nodes.machine = + { lib, ... }: + { + system.extraDependencies = [ foo ]; - nix.package = nixPackage; - }; + nix.package = nixPackage; + }; - testScript = - '' - import json + testScript = '' + import json - def get_path_info(path): - result = machine.succeed(f"nix --option experimental-features nix-command path-info --json {path}") - parsed = json.loads(result) - return parsed + def get_path_info(path): + result = machine.succeed(f"nix --option experimental-features nix-command path-info --json {path}") + parsed = json.loads(result) + return parsed - with subtest("nix-db"): - out = "${foo}" - info = get_path_info(out) - print(info) + with subtest("nix-db"): + out = "${foo}" + info = get_path_info(out) + print(info) - pathinfo = info[0] if isinstance(info, list) else info[out] + pathinfo = info[0] if isinstance(info, list) else info[out] - if ( - pathinfo["narHash"] - != "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck=" - ): - raise Exception("narHash not set") + if ( + pathinfo["narHash"] + != "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck=" + ): + raise Exception("narHash not set") - if pathinfo["narSize"] != 128: - raise Exception("narSize not set") + if pathinfo["narSize"] != 128: + raise Exception("narSize not set") - with subtest("nix-db"): - machine.succeed("nix-store -qR /run/current-system | grep nixos-") - ''; - }); - in - tests + with subtest("nix-db"): + machine.succeed("nix-store -qR /run/current-system | grep nixos-") + ''; + } + ); +in +tests diff --git a/nixos/tests/nixops/default.nix b/nixos/tests/nixops/default.nix index 6468b8c382249..f389cd0d0b51a 100644 --- a/nixos/tests/nixops/default.nix +++ b/nixos/tests/nixops/default.nix @@ -14,82 +14,98 @@ let # inherit testsForPackage; }; - testsForPackage = args: lib.recurseIntoAttrs { - legacyNetwork = testLegacyNetwork args; - passthru.override = args': testsForPackage (args // args'); - }; + testsForPackage = + args: + lib.recurseIntoAttrs { + legacyNetwork = testLegacyNetwork args; + passthru.override = args': testsForPackage (args // args'); + }; - testLegacyNetwork = { nixopsPkg, ... }: pkgs.testers.nixosTest ({ - name = "nixops-legacy-network"; - nodes = { - deployer = { config, lib, nodes, pkgs, ... }: { - imports = [ ../../modules/installer/cd-dvd/channel.nix ]; - environment.systemPackages = [ nixopsPkg ]; - nix.settings.substituters = lib.mkForce [ ]; - users.users.person.isNormalUser = true; - virtualisation.writableStore = true; - virtualisation.additionalPaths = [ - pkgs.hello - pkgs.figlet - ]; - virtualisation.memorySize = 2048; - - # TODO: make this efficient, https://github.com/NixOS/nixpkgs/issues/180529 - system.includeBuildDependencies = true; + testLegacyNetwork = + { nixopsPkg, ... }: + pkgs.testers.nixosTest ({ + name = "nixops-legacy-network"; + nodes = { + deployer = + { + config, + lib, + nodes, + pkgs, + ... + }: + { + imports = [ ../../modules/installer/cd-dvd/channel.nix ]; + environment.systemPackages = [ nixopsPkg ]; + nix.settings.substituters = lib.mkForce [ ]; + users.users.person.isNormalUser = true; + virtualisation.writableStore = true; + virtualisation.additionalPaths = [ + pkgs.hello + pkgs.figlet + ]; + virtualisation.memorySize = 2048; + + # TODO: make this efficient, https://github.com/NixOS/nixpkgs/issues/180529 + system.includeBuildDependencies = true; + }; + server = + { lib, ... }: + { + imports = [ ./legacy/base-configuration.nix ]; + }; }; - server = { lib, ... }: { - imports = [ ./legacy/base-configuration.nix ]; - }; - }; - testScript = { nodes }: - let - deployerSetup = pkgs.writeScript "deployerSetup" '' - #!${pkgs.runtimeShell} - set -eux -o pipefail - cp --no-preserve=mode -r ${./legacy} unicorn - cp --no-preserve=mode ${../ssh-keys.nix} unicorn/ssh-keys.nix - mkdir -p ~/.ssh - cp ${snakeOilPrivateKey} ~/.ssh/id_ed25519 - chmod 0400 ~/.ssh/id_ed25519 + testScript = + { nodes }: + let + deployerSetup = pkgs.writeScript "deployerSetup" '' + #!${pkgs.runtimeShell} + set -eux -o pipefail + cp --no-preserve=mode -r ${./legacy} unicorn + cp --no-preserve=mode ${../ssh-keys.nix} unicorn/ssh-keys.nix + mkdir -p ~/.ssh + cp ${snakeOilPrivateKey} ~/.ssh/id_ed25519 + chmod 0400 ~/.ssh/id_ed25519 + ''; + serverNetworkJSON = pkgs.writeText "server-network.json" ( + builtins.toJSON nodes.server.system.build.networkConfig + ); + in + '' + import shlex + + def deployer_do(cmd): + cmd = shlex.quote(cmd) + return deployer.succeed(f"su person -l -c {cmd} &>/dev/console") + + start_all() + + deployer_do("cat /etc/hosts") + + deployer_do("${deployerSetup}") + deployer_do("cp ${serverNetworkJSON} unicorn/server-network.json") + + # Establish that ssh works, regardless of nixops + # Easy way to accept the server host key too. + server.wait_for_open_port(22) + deployer.wait_for_unit("network.target") + + # Put newlines on console, to flush the console reader's line buffer + # in case nixops' last output did not end in a newline, as is the case + # with a status line (if implemented?) + deployer.succeed("while sleep 60s; do echo [60s passed]; done >&2 &") + + deployer_do("cd ~/unicorn; ssh -oStrictHostKeyChecking=accept-new root@server echo hi") + + # Create and deploy + deployer_do("cd ~/unicorn; nixops create") + + deployer_do("cd ~/unicorn; nixops deploy --confirm") + + deployer_do("cd ~/unicorn; nixops ssh server 'hello | figlet'") ''; - serverNetworkJSON = pkgs.writeText "server-network.json" - (builtins.toJSON nodes.server.system.build.networkConfig); - in - '' - import shlex - - def deployer_do(cmd): - cmd = shlex.quote(cmd) - return deployer.succeed(f"su person -l -c {cmd} &>/dev/console") - - start_all() - - deployer_do("cat /etc/hosts") - - deployer_do("${deployerSetup}") - deployer_do("cp ${serverNetworkJSON} unicorn/server-network.json") - - # Establish that ssh works, regardless of nixops - # Easy way to accept the server host key too. - server.wait_for_open_port(22) - deployer.wait_for_unit("network.target") - - # Put newlines on console, to flush the console reader's line buffer - # in case nixops' last output did not end in a newline, as is the case - # with a status line (if implemented?) - deployer.succeed("while sleep 60s; do echo [60s passed]; done >&2 &") - - deployer_do("cd ~/unicorn; ssh -oStrictHostKeyChecking=accept-new root@server echo hi") - - # Create and deploy - deployer_do("cd ~/unicorn; nixops create") - - deployer_do("cd ~/unicorn; nixops deploy --confirm") - - deployer_do("cd ~/unicorn; nixops ssh server 'hello | figlet'") - ''; - }); + }); inherit (import ../ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; diff --git a/nixos/tests/nixops/legacy/base-configuration.nix b/nixos/tests/nixops/legacy/base-configuration.nix index 7f1c07a5c4a90..f7c15f3fe1ff0 100644 --- a/nixos/tests/nixops/legacy/base-configuration.nix +++ b/nixos/tests/nixops/legacy/base-configuration.nix @@ -1,14 +1,21 @@ -{ lib, modulesPath, pkgs, ... }: +{ + lib, + modulesPath, + pkgs, + ... +}: let ssh-keys = - if builtins.pathExists ../../ssh-keys.nix - then # Outside sandbox + if builtins.pathExists ../../ssh-keys.nix then # Outside sandbox ../../ssh-keys.nix - else # In sandbox + # In sandbox + else ./ssh-keys.nix; inherit (import ssh-keys pkgs) - snakeOilPrivateKey snakeOilPublicKey; + snakeOilPrivateKey + snakeOilPublicKey + ; in { imports = [ @@ -26,6 +33,12 @@ in users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - security.pam.services.sshd.limits = - [{ domain = "*"; item = "memlock"; type = "-"; value = 1024; }]; + security.pam.services.sshd.limits = [ + { + domain = "*"; + item = "memlock"; + type = "-"; + value = 1024; + } + ]; } diff --git a/nixos/tests/nixops/legacy/nixops.nix b/nixos/tests/nixops/legacy/nixops.nix index 795dc2a718254..c610ce8b159d2 100644 --- a/nixos/tests/nixops/legacy/nixops.nix +++ b/nixos/tests/nixops/legacy/nixops.nix @@ -4,12 +4,17 @@ # NB this is not really what makes it a legacy network; lack of flakes is. storage.legacy = { }; }; - server = { lib, pkgs, ... }: { - deployment.targetEnv = "none"; - imports = [ - ./base-configuration.nix - (lib.modules.importJSON ./server-network.json) - ]; - environment.systemPackages = [ pkgs.hello pkgs.figlet ]; - }; + server = + { lib, pkgs, ... }: + { + deployment.targetEnv = "none"; + imports = [ + ./base-configuration.nix + (lib.modules.importJSON ./server-network.json) + ]; + environment.systemPackages = [ + pkgs.hello + pkgs.figlet + ]; + }; } diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix index e1c2f29e06732..6109e50e8b5ed 100644 --- a/nixos/tests/nixos-generate-config.nix +++ b/nixos/tests/nixos-generate-config.nix @@ -1,41 +1,46 @@ -import ./make-test-python.nix ({ lib, ... } : { - name = "nixos-generate-config"; - meta.maintainers = with lib.maintainers; [ basvandijk ]; - nodes.machine = { - system.nixos-generate-config.configuration = '' - # OVERRIDDEN - { config, pkgs, ... }: { - imports = [ ./hardware-configuration.nix ]; - $bootLoaderConfig - $desktopConfiguration - } - ''; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "nixos-generate-config"; + meta.maintainers = with lib.maintainers; [ basvandijk ]; + nodes.machine = { + system.nixos-generate-config.configuration = '' + # OVERRIDDEN + { config, pkgs, ... }: { + imports = [ ./hardware-configuration.nix ]; + $bootLoaderConfig + $desktopConfiguration + } + ''; - system.nixos-generate-config.desktopConfiguration = ['' - # DESKTOP - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - '']; - }; - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.succeed("nixos-generate-config") + system.nixos-generate-config.desktopConfiguration = [ + '' + # DESKTOP + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + '' + ]; + }; + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.succeed("nixos-generate-config") - # Test if the configuration really is overridden - machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix") + # Test if the configuration really is overridden + machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix") - # Test if desktop configuration really is overridden - machine.succeed("grep 'DESKTOP' /etc/nixos/configuration.nix") + # Test if desktop configuration really is overridden + machine.succeed("grep 'DESKTOP' /etc/nixos/configuration.nix") - # Test of if the Perl variable $bootLoaderConfig is spliced correctly: - machine.succeed( - "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix" - ) + # Test of if the Perl variable $bootLoaderConfig is spliced correctly: + machine.succeed( + "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix" + ) - # Test if the Perl variable $desktopConfiguration is spliced correctly - machine.succeed( - "grep 'services\\.xserver\\.desktopManager\\.gnome\\.enable = true;' /etc/nixos/configuration.nix" - ) - ''; -}) + # Test if the Perl variable $desktopConfiguration is spliced correctly + machine.succeed( + "grep 'services\\.xserver\\.desktopManager\\.gnome\\.enable = true;' /etc/nixos/configuration.nix" + ) + ''; + } +) diff --git a/nixos/tests/nixos-test-driver/busybox.nix b/nixos/tests/nixos-test-driver/busybox.nix index 426f4494436e2..935945a3c6f14 100644 --- a/nixos/tests/nixos-test-driver/busybox.nix +++ b/nixos/tests/nixos-test-driver/busybox.nix @@ -2,11 +2,14 @@ name = "Test that basic tests work when busybox is installed"; nodes = { - machine = ({ pkgs, ... }: { - environment.systemPackages = [ - pkgs.busybox - ]; - }); + machine = ( + { pkgs, ... }: + { + environment.systemPackages = [ + pkgs.busybox + ]; + } + ); }; testScript = '' diff --git a/nixos/tests/nixos-test-driver/extra-python-packages.nix b/nixos/tests/nixos-test-driver/extra-python-packages.nix index 1146bedd996f8..6c187e6055913 100644 --- a/nixos/tests/nixos-test-driver/extra-python-packages.nix +++ b/nixos/tests/nixos-test-driver/extra-python-packages.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ ... }: +import ../make-test-python.nix ( + { ... }: { name = "extra-python-packages"; @@ -10,4 +11,5 @@ import ../make-test-python.nix ({ ... }: import numpy as np assert str(np.zeros(4) == "array([0., 0., 0., 0.])") ''; - }) + } +) diff --git a/nixos/tests/nixos-test-driver/lib-extend.nix b/nixos/tests/nixos-test-driver/lib-extend.nix index 4fb7cf494aed6..31ec2db9dfc6a 100644 --- a/nixos/tests/nixos-test-driver/lib-extend.nix +++ b/nixos/tests/nixos-test-driver/lib-extend.nix @@ -1,19 +1,25 @@ { pkgs, ... }: let - patchedPkgs = pkgs.extend (new: old: { - lib = old.lib.extend (self: super: { - sorry_dave = "sorry dave"; - }); - }); + patchedPkgs = pkgs.extend ( + new: old: { + lib = old.lib.extend ( + self: super: { + sorry_dave = "sorry dave"; + } + ); + } + ); testBody = { name = "demo lib overlay"; nodes = { - machine = { lib, ... }: { - environment.etc."got-lib-overlay".text = lib.sorry_dave; - }; + machine = + { lib, ... }: + { + environment.etc."got-lib-overlay".text = lib.sorry_dave; + }; }; # We don't need to run an actual test. Instead we build the `machine` configuration @@ -25,7 +31,8 @@ let inherit (patchedPkgs.testers) nixosTest runNixOSTest; evaluationNixosTest = nixosTest testBody; evaluationRunNixOSTest = runNixOSTest testBody; -in { +in +{ nixosTest = evaluationNixosTest.driver.nodes.machine.system.build.toplevel; runNixOSTest = evaluationRunNixOSTest.driver.nodes.machine.system.build.toplevel; } diff --git a/nixos/tests/nixos-test-driver/timeout.nix b/nixos/tests/nixos-test-driver/timeout.nix index 29bd85d2498ea..d793f29be9207 100644 --- a/nixos/tests/nixos-test-driver/timeout.nix +++ b/nixos/tests/nixos-test-driver/timeout.nix @@ -3,8 +3,11 @@ globalTimeout = 5; nodes = { - machine = ({ pkgs, ... }: { - }); + machine = ( + { pkgs, ... }: + { + } + ); }; testScript = '' diff --git a/nixos/tests/nixseparatedebuginfod.nix b/nixos/tests/nixseparatedebuginfod.nix index 7c192a73c7064..bb9f8c9f43bee 100644 --- a/nixos/tests/nixseparatedebuginfod.nix +++ b/nixos/tests/nixseparatedebuginfod.nix @@ -1,80 +1,84 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - secret-key = "key-name:/COlMSRbehSh6YSruJWjL+R0JXQUKuPEn96fIb+pLokEJUjcK/2Gv8Ai96D7JGay5gDeUTx5wdpPgNvum9YtwA=="; - public-key = "key-name:BCVI3Cv9hr/AIveg+yRmsuYA3lE8ecHaT4Db7pvWLcA="; -in -{ - name = "nixseparatedebuginfod"; - /* A binary cache with debug info and source for nix */ - nodes.cache = { pkgs, ... }: { - services.nix-serve = { - enable = true; - secretKeyFile = builtins.toFile "secret-key" secret-key; - openFirewall = true; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + secret-key = "key-name:/COlMSRbehSh6YSruJWjL+R0JXQUKuPEn96fIb+pLokEJUjcK/2Gv8Ai96D7JGay5gDeUTx5wdpPgNvum9YtwA=="; + public-key = "key-name:BCVI3Cv9hr/AIveg+yRmsuYA3lE8ecHaT4Db7pvWLcA="; + in + { + name = "nixseparatedebuginfod"; + # A binary cache with debug info and source for nix + nodes.cache = + { pkgs, ... }: + { + services.nix-serve = { + enable = true; + secretKeyFile = builtins.toFile "secret-key" secret-key; + openFirewall = true; + }; + system.extraDependencies = [ + pkgs.nix.debug + pkgs.nix.src + pkgs.sl + ]; + }; + # the machine where we need the debuginfo + nodes.machine = { + imports = [ + ../modules/installer/cd-dvd/channel.nix + ]; + services.nixseparatedebuginfod.enable = true; + nix.settings = { + substituters = lib.mkForce [ "http://cache:5000" ]; + trusted-public-keys = [ public-key ]; + }; + environment.systemPackages = [ + pkgs.valgrind + pkgs.gdb + (pkgs.writeShellScriptBin "wait_for_indexation" '' + set -x + while debuginfod-find debuginfo /run/current-system/sw/bin/nix |& grep 'File too large'; do + sleep 1; + done + '') + ]; }; - system.extraDependencies = [ - pkgs.nix.debug - pkgs.nix.src - pkgs.sl - ]; - }; - /* the machine where we need the debuginfo */ - nodes.machine = { - imports = [ - ../modules/installer/cd-dvd/channel.nix - ]; - services.nixseparatedebuginfod.enable = true; - nix.settings = { - substituters = lib.mkForce [ "http://cache:5000" ]; - trusted-public-keys = [ public-key ]; - }; - environment.systemPackages = [ - pkgs.valgrind - pkgs.gdb - (pkgs.writeShellScriptBin "wait_for_indexation" '' - set -x - while debuginfod-find debuginfo /run/current-system/sw/bin/nix |& grep 'File too large'; do - sleep 1; - done - '') - ]; - }; - testScript = '' - start_all() - cache.wait_for_unit("nix-serve.service") - cache.wait_for_open_port(5000) - machine.wait_for_unit("nixseparatedebuginfod.service") - machine.wait_for_open_port(1949) + testScript = '' + start_all() + cache.wait_for_unit("nix-serve.service") + cache.wait_for_open_port(5000) + machine.wait_for_unit("nixseparatedebuginfod.service") + machine.wait_for_open_port(1949) - with subtest("show the config to debug the test"): - machine.succeed("nix --extra-experimental-features nix-command show-config |& logger") - machine.succeed("cat /etc/nix/nix.conf |& logger") - with subtest("check that the binary cache works"): - machine.succeed("nix-store -r ${pkgs.sl}") + with subtest("show the config to debug the test"): + machine.succeed("nix --extra-experimental-features nix-command show-config |& logger") + machine.succeed("cat /etc/nix/nix.conf |& logger") + with subtest("check that the binary cache works"): + machine.succeed("nix-store -r ${pkgs.sl}") - # nixseparatedebuginfod needs .drv to associate executable -> source - # on regular systems this would be provided by nixos-rebuild - machine.succeed("nix-instantiate '<nixpkgs>' -A nix") + # nixseparatedebuginfod needs .drv to associate executable -> source + # on regular systems this would be provided by nixos-rebuild + machine.succeed("nix-instantiate '<nixpkgs>' -A nix") - machine.succeed("timeout 600 wait_for_indexation") + machine.succeed("timeout 600 wait_for_indexation") - # test debuginfod-find - machine.succeed("debuginfod-find debuginfo /run/current-system/sw/bin/nix") + # test debuginfod-find + machine.succeed("debuginfod-find debuginfo /run/current-system/sw/bin/nix") - # test that gdb can fetch source - out = machine.succeed("gdb /run/current-system/sw/bin/nix --batch -x ${builtins.toFile "commands" '' - start - l - ''}") - print(out) - assert 'int main(' in out + # test that gdb can fetch source + out = machine.succeed("gdb /run/current-system/sw/bin/nix --batch -x ${builtins.toFile "commands" '' + start + l + ''}") + print(out) + assert 'int main(' in out - # test that valgrind can display location information - # this relies on the fact that valgrind complains about nix - # libgc helps in this regard, and we also ask valgrind to show leak kinds - # which are usually false positives. - out = machine.succeed("valgrind --leak-check=full --show-leak-kinds=all nix-env --version 2>&1") - print(out) - assert 'main.cc' in out - ''; -}) + # test that valgrind can display location information + # this relies on the fact that valgrind complains about nix + # libgc helps in this regard, and we also ask valgrind to show leak kinds + # which are usually false positives. + out = machine.succeed("valgrind --leak-check=full --show-leak-kinds=all nix-env --version 2>&1") + print(out) + assert 'main.cc' in out + ''; + } +) diff --git a/nixos/tests/node-red.nix b/nixos/tests/node-red.nix index 5f5960d682959..bb95246367c84 100644 --- a/nixos/tests/node-red.nix +++ b/nixos/tests/node-red.nix @@ -1,31 +1,38 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "nodered"; - meta = with pkgs.lib.maintainers; { - maintainers = [ matthewcroughan ]; - }; - - nodes = { - client = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.curl ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nodered"; + meta = with pkgs.lib.maintainers; { + maintainers = [ matthewcroughan ]; }; - nodered = { config, pkgs, ... }: { - services.node-red = { - enable = true; - openFirewall = true; - }; + + nodes = { + client = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + }; + nodered = + { config, pkgs, ... }: + { + services.node-red = { + enable = true; + openFirewall = true; + }; + }; }; - }; - testScript = '' - start_all() - nodered.wait_for_unit("node-red.service") - nodered.wait_for_open_port(1880) + testScript = '' + start_all() + nodered.wait_for_unit("node-red.service") + nodered.wait_for_open_port(1880) - client.wait_for_unit("multi-user.target") + client.wait_for_unit("multi-user.target") - with subtest("Check that the Node-RED webserver can be reached."): - assert "<title>Node-RED" in client.succeed( - "curl -sSf http:/nodered:1880/ | grep title" - ) - ''; -}) + with subtest("Check that the Node-RED webserver can be reached."): + assert "Node-RED" in client.succeed( + "curl -sSf http:/nodered:1880/ | grep title" + ) + ''; + } +) diff --git a/nixos/tests/nomad.nix b/nixos/tests/nomad.nix index 51b11a8fef909..ee94b5301d0ef 100644 --- a/nixos/tests/nomad.nix +++ b/nixos/tests/nomad.nix @@ -1,72 +1,79 @@ import ./make-test-python.nix ( - { lib, ... }: { + { lib, ... }: + { name = "nomad"; nodes = { - default_server = { pkgs, lib, ... }: { - networking = { - interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [{ - address = "192.168.1.1"; - prefixLength = 16; - }]; - }; + default_server = + { pkgs, lib, ... }: + { + networking = { + interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 16; + } + ]; + }; - environment.etc."nomad.custom.json".source = - (pkgs.formats.json { }).generate "nomad.custom.json" { + environment.etc."nomad.custom.json".source = (pkgs.formats.json { }).generate "nomad.custom.json" { region = "universe"; datacenter = "earth"; }; - services.nomad = { - enable = true; + services.nomad = { + enable = true; - settings = { - server = { - enabled = true; - bootstrap_expect = 1; + settings = { + server = { + enabled = true; + bootstrap_expect = 1; + }; }; - }; - extraSettingsPaths = [ "/etc/nomad.custom.json" ]; - enableDocker = false; - }; - }; - - custom_state_dir_server = { pkgs, lib, ... }: { - networking = { - interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [{ - address = "192.168.1.1"; - prefixLength = 16; - }]; + extraSettingsPaths = [ "/etc/nomad.custom.json" ]; + enableDocker = false; + }; }; - environment.etc."nomad.custom.json".source = - (pkgs.formats.json { }).generate "nomad.custom.json" { + custom_state_dir_server = + { pkgs, lib, ... }: + { + networking = { + interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 16; + } + ]; + }; + + environment.etc."nomad.custom.json".source = (pkgs.formats.json { }).generate "nomad.custom.json" { region = "universe"; datacenter = "earth"; }; - services.nomad = { - enable = true; - dropPrivileges = false; + services.nomad = { + enable = true; + dropPrivileges = false; - settings = { - data_dir = "/nomad/data/dir"; - server = { - enabled = true; - bootstrap_expect = 1; + settings = { + data_dir = "/nomad/data/dir"; + server = { + enabled = true; + bootstrap_expect = 1; + }; }; - }; - extraSettingsPaths = [ "/etc/nomad.custom.json" ]; - enableDocker = false; - }; + extraSettingsPaths = [ "/etc/nomad.custom.json" ]; + enableDocker = false; + }; - systemd.services.nomad.serviceConfig.ExecStartPre = "${pkgs.writeShellScript "mk_data_dir" '' - set -euxo pipefail + systemd.services.nomad.serviceConfig.ExecStartPre = "${pkgs.writeShellScript "mk_data_dir" '' + set -euxo pipefail - ${pkgs.coreutils}/bin/mkdir -p /nomad/data/dir - ''}"; - }; + ${pkgs.coreutils}/bin/mkdir -p /nomad/data/dir + ''}"; + }; }; testScript = '' diff --git a/nixos/tests/non-default-filesystems.nix b/nixos/tests/non-default-filesystems.nix index 98abe1cbc1757..11bf2070464f7 100644 --- a/nixos/tests/non-default-filesystems.nix +++ b/nixos/tests/non-default-filesystems.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -9,84 +10,90 @@ with pkgs.lib; bind = makeTest { name = "non-default-filesystem-bind"; - nodes.machine = { ... }: { - virtualisation.writableStore = false; + nodes.machine = + { ... }: + { + virtualisation.writableStore = false; - virtualisation.fileSystems."/test-bind-dir/bind" = { - device = "/"; - neededForBoot = true; - options = [ "bind" ]; - }; + virtualisation.fileSystems."/test-bind-dir/bind" = { + device = "/"; + neededForBoot = true; + options = [ "bind" ]; + }; - virtualisation.fileSystems."/test-bind-file/bind" = { - depends = [ "/nix/store" ]; - device = builtins.toFile "empty" ""; - neededForBoot = true; - options = [ "bind" ]; + virtualisation.fileSystems."/test-bind-file/bind" = { + depends = [ "/nix/store" ]; + device = builtins.toFile "empty" ""; + neededForBoot = true; + options = [ "bind" ]; + }; }; - }; testScript = '' machine.wait_for_unit("multi-user.target") ''; }; - btrfs = makeTest - { - name = "non-default-filesystems-btrfs"; - - nodes.machine = - { config, pkgs, lib, ... }: - let - disk = config.virtualisation.rootDevice; - in - { - virtualisation.rootDevice = "/dev/vda"; - virtualisation.useDefaultFilesystems = false; - - boot.initrd.availableKernelModules = [ "btrfs" ]; - boot.supportedFilesystems = [ "btrfs" ]; - - boot.initrd.postDeviceCommands = '' - FSTYPE=$(blkid -o value -s TYPE ${disk} || true) - if test -z "$FSTYPE"; then - modprobe btrfs - ${pkgs.btrfs-progs}/bin/mkfs.btrfs ${disk} - - mkdir /nixos - mount -t btrfs ${disk} /nixos - - ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/root - ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/home - - umount /nixos - fi - ''; - - virtualisation.fileSystems = { - "/" = { - device = disk; - fsType = "btrfs"; - options = [ "subvol=/root" ]; - }; - - "/home" = { - device = disk; - fsType = "btrfs"; - options = [ "subvol=/home" ]; - }; + btrfs = makeTest { + name = "non-default-filesystems-btrfs"; + + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + let + disk = config.virtualisation.rootDevice; + in + { + virtualisation.rootDevice = "/dev/vda"; + virtualisation.useDefaultFilesystems = false; + + boot.initrd.availableKernelModules = [ "btrfs" ]; + boot.supportedFilesystems = [ "btrfs" ]; + + boot.initrd.postDeviceCommands = '' + FSTYPE=$(blkid -o value -s TYPE ${disk} || true) + if test -z "$FSTYPE"; then + modprobe btrfs + ${pkgs.btrfs-progs}/bin/mkfs.btrfs ${disk} + + mkdir /nixos + mount -t btrfs ${disk} /nixos + + ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/root + ${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/home + + umount /nixos + fi + ''; + + virtualisation.fileSystems = { + "/" = { + device = disk; + fsType = "btrfs"; + options = [ "subvol=/root" ]; + }; + + "/home" = { + device = disk; + fsType = "btrfs"; + options = [ "subvol=/home" ]; }; }; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") + testScript = '' + machine.wait_for_unit("multi-user.target") - with subtest("BTRFS filesystems are mounted correctly"): - print("output of \"grep -E '/dev/vda' /proc/mounts\":\n" + machine.execute("grep -E '/dev/vda' /proc/mounts")[1]) - machine.succeed("grep -E '/dev/vda / btrfs rw,.*subvolid=[0-9]+,subvol=/root 0 0' /proc/mounts") - machine.succeed("grep -E '/dev/vda /home btrfs rw,.*subvolid=[0-9]+,subvol=/home 0 0' /proc/mounts") - ''; - }; + with subtest("BTRFS filesystems are mounted correctly"): + print("output of \"grep -E '/dev/vda' /proc/mounts\":\n" + machine.execute("grep -E '/dev/vda' /proc/mounts")[1]) + machine.succeed("grep -E '/dev/vda / btrfs rw,.*subvolid=[0-9]+,subvol=/root 0 0' /proc/mounts") + machine.succeed("grep -E '/dev/vda /home btrfs rw,.*subvolid=[0-9]+,subvol=/home 0 0' /proc/mounts") + ''; + }; erofs = let @@ -98,10 +105,12 @@ with pkgs.lib; meta.maintainers = with maintainers; [ nikstur ]; nodes.machine = _: { - virtualisation.qemu.drives = [{ - name = "non-default-filesystem"; - file = fsImage; - }]; + virtualisation.qemu.drives = [ + { + name = "non-default-filesystem"; + file = fsImage; + } + ]; virtualisation.fileSystems."/non-default" = { device = "/dev/vdb"; @@ -142,11 +151,13 @@ with pkgs.lib; meta.maintainers = with maintainers; [ nikstur ]; nodes.machine = { - virtualisation.qemu.drives = [{ - name = "non-default-filesystem"; - file = fsImage; - deviceExtraOpts.serial = "non-default"; - }]; + virtualisation.qemu.drives = [ + { + name = "non-default-filesystem"; + file = fsImage; + deviceExtraOpts.serial = "non-default"; + } + ]; virtualisation.fileSystems."/non-default" = { device = "/dev/disk/by-id/virtio-non-default"; diff --git a/nixos/tests/noto-fonts-cjk-qt-default-weight.nix b/nixos/tests/noto-fonts-cjk-qt-default-weight.nix index c2e0cb3adaebd..44d9cf8083c18 100644 --- a/nixos/tests/noto-fonts-cjk-qt-default-weight.nix +++ b/nixos/tests/noto-fonts-cjk-qt-default-weight.nix @@ -1,30 +1,37 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "noto-fonts-cjk-qt"; - meta.maintainers = with lib.maintainers; [ oxalica ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "noto-fonts-cjk-qt"; + meta.maintainers = with lib.maintainers; [ oxalica ]; - nodes.machine = { - imports = [ ./common/x11.nix ]; - fonts = { - enableDefaultPackages = false; - fonts = [ pkgs.noto-fonts-cjk-sans ]; + nodes.machine = { + imports = [ ./common/x11.nix ]; + fonts = { + enableDefaultPackages = false; + fonts = [ pkgs.noto-fonts-cjk-sans ]; + }; }; - }; - testScript = - let - script = pkgs.writers.writePython3 "qt-default-weight" { - libraries = [ pkgs.python3Packages.pyqt6 ]; - } '' - from PyQt6.QtWidgets import QApplication - from PyQt6.QtGui import QFont, QRawFont + testScript = + let + script = + pkgs.writers.writePython3 "qt-default-weight" + { + libraries = [ pkgs.python3Packages.pyqt6 ]; + } + '' + from PyQt6.QtWidgets import QApplication + from PyQt6.QtGui import QFont, QRawFont - app = QApplication([]) - f = QRawFont.fromFont(QFont("Noto Sans CJK SC", 20)) + app = QApplication([]) + f = QRawFont.fromFont(QFont("Noto Sans CJK SC", 20)) - assert f.styleName() == "Regular", f.styleName() + assert f.styleName() == "Regular", f.styleName() + ''; + in + '' + machine.wait_for_x() + machine.succeed("${script}") ''; - in '' - machine.wait_for_x() - machine.succeed("${script}") - ''; -}) + } +) diff --git a/nixos/tests/noto-fonts.nix b/nixos/tests/noto-fonts.nix index b871f5f517294..2d204131dcf9a 100644 --- a/nixos/tests/noto-fonts.nix +++ b/nixos/tests/noto-fonts.nix @@ -1,42 +1,59 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "noto-fonts"; - meta.maintainers = with lib.maintainers; [ nickcao midchildan ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "noto-fonts"; + meta.maintainers = with lib.maintainers; [ + nickcao + midchildan + ]; - nodes.machine = { - imports = [ ./common/x11.nix ]; - environment.systemPackages = [ pkgs.gedit ]; - fonts = { - enableDefaultPackages = false; - fonts = with pkgs;[ - noto-fonts - noto-fonts-cjk-sans - noto-fonts-cjk-serif - noto-fonts-color-emoji - ]; - fontconfig.defaultFonts = { - serif = [ "Noto Serif" "Noto Serif CJK SC" ]; - sansSerif = [ "Noto Sans" "Noto Sans CJK SC" ]; - monospace = [ "Noto Sans Mono" "Noto Sans Mono CJK SC" ]; - emoji = [ "Noto Color Emoji" ]; + nodes.machine = { + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ pkgs.gedit ]; + fonts = { + enableDefaultPackages = false; + fonts = with pkgs; [ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-color-emoji + ]; + fontconfig.defaultFonts = { + serif = [ + "Noto Serif" + "Noto Serif CJK SC" + ]; + sansSerif = [ + "Noto Sans" + "Noto Sans CJK SC" + ]; + monospace = [ + "Noto Sans Mono" + "Noto Sans Mono CJK SC" + ]; + emoji = [ "Noto Color Emoji" ]; + }; }; }; - }; - testScript = - # extracted from http://www.clagnut.com/blog/2380/ - let testText = builtins.toFile "test.txt" '' - the quick brown fox jumps over the lazy dog - 視野無限廣,窗外有藍天 - Eĥoŝanĝo ĉiuĵaŭde. - いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす - 다람쥐 헌 쳇바퀴에 타고파 - 中国智造,慧及全球 - ''; in - '' - machine.wait_for_x() - machine.succeed("gedit ${testText} >&2 &") - machine.wait_for_window(".* - gedit") - machine.sleep(10) - machine.screenshot("screen") - ''; -}) + testScript = + # extracted from http://www.clagnut.com/blog/2380/ + let + testText = builtins.toFile "test.txt" '' + the quick brown fox jumps over the lazy dog + 視野無限廣,窗外有藍天 + Eĥoŝanĝo ĉiuĵaŭde. + いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす + 다람쥐 헌 쳇바퀴에 타고파 + 中国智造,慧及全球 + ''; + in + '' + machine.wait_for_x() + machine.succeed("gedit ${testText} >&2 &") + machine.wait_for_window(".* - gedit") + machine.sleep(10) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/novacomd.nix b/nixos/tests/novacomd.nix index d47d212fb2eca..2bbe300560555 100644 --- a/nixos/tests/novacomd.nix +++ b/nixos/tests/novacomd.nix @@ -1,28 +1,33 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "novacomd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ dtzWill ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "novacomd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ dtzWill ]; + }; - nodes.machine = { ... }: { - services.novacomd.enable = true; - }; + nodes.machine = + { ... }: + { + services.novacomd.enable = true; + }; - testScript = '' - machine.wait_for_unit("novacomd.service") + testScript = '' + machine.wait_for_unit("novacomd.service") - with subtest("Make sure the daemon is really listening"): - machine.wait_for_open_port(6968) - machine.succeed("novacom -l") + with subtest("Make sure the daemon is really listening"): + machine.wait_for_open_port(6968) + machine.succeed("novacom -l") - with subtest("Stop the daemon, double-check novacom fails if daemon isn't working"): - machine.stop_job("novacomd") - machine.fail("novacom -l") + with subtest("Stop the daemon, double-check novacom fails if daemon isn't working"): + machine.stop_job("novacomd") + machine.fail("novacom -l") - with subtest("Make sure the daemon starts back up again"): - machine.start_job("novacomd") - # make sure the daemon is really listening - machine.wait_for_open_port(6968) - machine.succeed("novacom -l") - ''; -}) + with subtest("Make sure the daemon starts back up again"): + machine.start_job("novacomd") + # make sure the daemon is really listening + machine.wait_for_open_port(6968) + machine.succeed("novacom -l") + ''; + } +) diff --git a/nixos/tests/npmrc.nix b/nixos/tests/npmrc.nix index dbf24d372feb4..0377124433f99 100644 --- a/nixos/tests/npmrc.nix +++ b/nixos/tests/npmrc.nix @@ -1,22 +1,24 @@ -import ./make-test-python.nix ({ ... }: -let - machineName = "machine"; - settingName = "prefix"; - settingValue = "/some/path"; -in -{ - name = "npmrc"; +import ./make-test-python.nix ( + { ... }: + let + machineName = "machine"; + settingName = "prefix"; + settingValue = "/some/path"; + in + { + name = "npmrc"; - nodes."${machineName}".programs.npm = { - enable = true; - npmrc = '' - ${settingName} = ${settingValue} - ''; - }; + nodes."${machineName}".programs.npm = { + enable = true; + npmrc = '' + ${settingName} = ${settingValue} + ''; + }; - testScript = '' - ${machineName}.start() + testScript = '' + ${machineName}.start() - assert ${machineName}.succeed("npm config get ${settingName}") == "${settingValue}\n" - ''; -}) + assert ${machineName}.succeed("npm config get ${settingName}") == "${settingValue}\n" + ''; + } +) diff --git a/nixos/tests/nscd.nix b/nixos/tests/nscd.nix index 356c6d2e2a540..393c97f610953 100644 --- a/nixos/tests/nscd.nix +++ b/nixos/tests/nscd.nix @@ -1,142 +1,151 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - # build a getent that itself doesn't see anything in /etc/hosts and - # /etc/nsswitch.conf, by using libredirect to steer its own requests to - # /dev/null. - # This means is /has/ to go via nscd to actuallly resolve any of the - # additionally configured hosts. - getent' = pkgs.writeScript "getent-without-etc-hosts" '' - export NIX_REDIRECTS=/etc/hosts=/dev/null:/etc/nsswitch.conf=/dev/null - export LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so - exec getent $@ - ''; -in -{ - name = "nscd"; - - nodes.machine = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - networking.extraHosts = '' - 2001:db8::1 somehost.test - 192.0.2.1 somehost.test +import ./make-test-python.nix ( + { pkgs, ... }: + let + # build a getent that itself doesn't see anything in /etc/hosts and + # /etc/nsswitch.conf, by using libredirect to steer its own requests to + # /dev/null. + # This means is /has/ to go via nscd to actuallly resolve any of the + # additionally configured hosts. + getent' = pkgs.writeScript "getent-without-etc-hosts" '' + export NIX_REDIRECTS=/etc/hosts=/dev/null:/etc/nsswitch.conf=/dev/null + export LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so + exec getent $@ ''; - - systemd.services.sockdump = { - wantedBy = [ "multi-user.target" ]; - path = [ - # necessary for bcc to unpack kernel headers and invoke modprobe - pkgs.gnutar - pkgs.xz.bin - pkgs.kmod - ]; - environment.PYTHONUNBUFFERED = "1"; - - serviceConfig = { - ExecStart = "${pkgs.sockdump}/bin/sockdump /var/run/nscd/socket"; - Restart = "on-failure"; - RestartSec = "1"; - Type = "simple"; + in + { + name = "nscd"; + + nodes.machine = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + networking.extraHosts = '' + 2001:db8::1 somehost.test + 192.0.2.1 somehost.test + ''; + + systemd.services.sockdump = { + wantedBy = [ "multi-user.target" ]; + path = [ + # necessary for bcc to unpack kernel headers and invoke modprobe + pkgs.gnutar + pkgs.xz.bin + pkgs.kmod + ]; + environment.PYTHONUNBUFFERED = "1"; + + serviceConfig = { + ExecStart = "${pkgs.sockdump}/bin/sockdump /var/run/nscd/socket"; + Restart = "on-failure"; + RestartSec = "1"; + Type = "simple"; + }; + }; + + specialisation = { + withGlibcNscd.configuration = + { ... }: + { + services.nscd.enableNsncd = false; + }; + withUnscd.configuration = + { ... }: + { + services.nscd.enableNsncd = false; + services.nscd.package = pkgs.unscd; + }; + }; }; - }; - specialisation = { - withGlibcNscd.configuration = { ... }: { - services.nscd.enableNsncd = false; - }; - withUnscd.configuration = { ... }: { - services.nscd.enableNsncd = false; - services.nscd.package = pkgs.unscd; - }; - }; - }; - - testScript = { nodes, ... }: - let - specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; - in - '' - # Regression test for https://github.com/NixOS/nixpkgs/issues/50273 - def test_dynamic_user(): - with subtest("DynamicUser actually allocates a user"): - assert "iamatest" in machine.succeed( - "systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami" - ) - - # Test resolution of somehost.test with getent', to make sure we go via - # nscd protocol - def test_host_lookups(): - with subtest("host lookups via nscd protocol"): - # ahosts - output = machine.succeed("${getent'} ahosts somehost.test") - assert "192.0.2.1" in output - assert "2001:db8::1" in output - - # ahostsv4 - output = machine.succeed("${getent'} ahostsv4 somehost.test") - assert "192.0.2.1" in output - assert "2001:db8::1" not in output - - # ahostsv6 - output = machine.succeed("${getent'} ahostsv6 somehost.test") - assert "192.0.2.1" not in output - assert "2001:db8::1" in output - - # reverse lookups (hosts) - assert "somehost.test" in machine.succeed("${getent'} hosts 2001:db8::1") - assert "somehost.test" in machine.succeed("${getent'} hosts 192.0.2.1") - - - # Test host resolution via nss modules works - # We rely on nss-myhostname in this case, which resolves *.localhost and - # _gateway. - # We don't need to use getent' here, as non-glibc nss modules can only be - # discovered via nscd. - def test_nss_myhostname(): - with subtest("nss-myhostname provides hostnames (ahosts)"): - # ahosts - output = machine.succeed("getent ahosts foobar.localhost") - assert "::1" in output - assert "127.0.0.1" in output - - # ahostsv4 - output = machine.succeed("getent ahostsv4 foobar.localhost") - assert "::1" not in output - assert "127.0.0.1" in output - - # ahostsv6 - output = machine.succeed("getent ahostsv6 foobar.localhost") - assert "::1" in output - assert "127.0.0.1" not in output - - start_all() - machine.wait_for_unit("default.target") - - # give sockdump some time to finish attaching. - machine.sleep(5) - - # Test all tests with glibc-nscd. - test_dynamic_user() - test_host_lookups() - test_nss_myhostname() - - with subtest("glibc-nscd"): - machine.succeed('${specialisations}/withGlibcNscd/bin/switch-to-configuration test') - machine.wait_for_unit("default.target") - - test_dynamic_user() - test_host_lookups() - test_nss_myhostname() - - with subtest("unscd"): - machine.succeed('${specialisations}/withUnscd/bin/switch-to-configuration test') - machine.wait_for_unit("default.target") - - # known to fail, unscd doesn't load external NSS modules - # test_dynamic_user() - - test_host_lookups() - - # known to fail, unscd doesn't load external NSS modules - # test_nss_myhostname() - ''; -}) + testScript = + { nodes, ... }: + let + specialisations = "${nodes.machine.system.build.toplevel}/specialisation"; + in + '' + # Regression test for https://github.com/NixOS/nixpkgs/issues/50273 + def test_dynamic_user(): + with subtest("DynamicUser actually allocates a user"): + assert "iamatest" in machine.succeed( + "systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami" + ) + + # Test resolution of somehost.test with getent', to make sure we go via + # nscd protocol + def test_host_lookups(): + with subtest("host lookups via nscd protocol"): + # ahosts + output = machine.succeed("${getent'} ahosts somehost.test") + assert "192.0.2.1" in output + assert "2001:db8::1" in output + + # ahostsv4 + output = machine.succeed("${getent'} ahostsv4 somehost.test") + assert "192.0.2.1" in output + assert "2001:db8::1" not in output + + # ahostsv6 + output = machine.succeed("${getent'} ahostsv6 somehost.test") + assert "192.0.2.1" not in output + assert "2001:db8::1" in output + + # reverse lookups (hosts) + assert "somehost.test" in machine.succeed("${getent'} hosts 2001:db8::1") + assert "somehost.test" in machine.succeed("${getent'} hosts 192.0.2.1") + + + # Test host resolution via nss modules works + # We rely on nss-myhostname in this case, which resolves *.localhost and + # _gateway. + # We don't need to use getent' here, as non-glibc nss modules can only be + # discovered via nscd. + def test_nss_myhostname(): + with subtest("nss-myhostname provides hostnames (ahosts)"): + # ahosts + output = machine.succeed("getent ahosts foobar.localhost") + assert "::1" in output + assert "127.0.0.1" in output + + # ahostsv4 + output = machine.succeed("getent ahostsv4 foobar.localhost") + assert "::1" not in output + assert "127.0.0.1" in output + + # ahostsv6 + output = machine.succeed("getent ahostsv6 foobar.localhost") + assert "::1" in output + assert "127.0.0.1" not in output + + start_all() + machine.wait_for_unit("default.target") + + # give sockdump some time to finish attaching. + machine.sleep(5) + + # Test all tests with glibc-nscd. + test_dynamic_user() + test_host_lookups() + test_nss_myhostname() + + with subtest("glibc-nscd"): + machine.succeed('${specialisations}/withGlibcNscd/bin/switch-to-configuration test') + machine.wait_for_unit("default.target") + + test_dynamic_user() + test_host_lookups() + test_nss_myhostname() + + with subtest("unscd"): + machine.succeed('${specialisations}/withUnscd/bin/switch-to-configuration test') + machine.wait_for_unit("default.target") + + # known to fail, unscd doesn't load external NSS modules + # test_dynamic_user() + + test_host_lookups() + + # known to fail, unscd doesn't load external NSS modules + # test_nss_myhostname() + ''; + } +) diff --git a/nixos/tests/nsd.nix b/nixos/tests/nsd.nix index eea5a82f6f927..b77e28d805043 100644 --- a/nixos/tests/nsd.nix +++ b/nixos/tests/nsd.nix @@ -1,109 +1,136 @@ let - common = { pkgs, ... }: { - networking.firewall.enable = false; - networking.useDHCP = false; - # for a host utility with IPv6 support - environment.systemPackages = [ pkgs.bind ]; - }; -in import ./make-test-python.nix ({ pkgs, ...} : { - name = "nsd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ aszlig ]; - }; - - nodes = { - clientv4 = { lib, nodes, ... }: { - imports = [ common ]; - networking.nameservers = lib.mkForce [ - (lib.head nodes.server.config.networking.interfaces.eth1.ipv4.addresses).address - ]; - networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.2"; prefixLength = 24; } - ]; + common = + { pkgs, ... }: + { + networking.firewall.enable = false; + networking.useDHCP = false; + # for a host utility with IPv6 support + environment.systemPackages = [ pkgs.bind ]; }; - - clientv6 = { lib, nodes, ... }: { - imports = [ common ]; - networking.nameservers = lib.mkForce [ - (lib.head nodes.server.config.networking.interfaces.eth1.ipv6.addresses).address - ]; - networking.interfaces.eth1.ipv4.addresses = [ - { address = "dead:beef::2"; prefixLength = 24; } - ]; +in +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nsd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ aszlig ]; }; - server = { lib, ... }: { - imports = [ common ]; - networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.1"; prefixLength = 24; } - ]; - networking.interfaces.eth1.ipv6.addresses = [ - { address = "dead:beef::1"; prefixLength = 64; } - ]; - services.nsd.enable = true; - services.nsd.rootServer = true; - services.nsd.interfaces = lib.mkForce []; - services.nsd.keys."tsig.example.com." = { - algorithm = "hmac-sha256"; - keyFile = pkgs.writeTextFile { name = "tsig.example.com."; text = "aR3FJA92+bxRSyosadsJ8Aeeav5TngQW/H/EF9veXbc="; }; - }; - services.nsd.zones."example.com.".data = '' - @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 - ipv4 A 1.2.3.4 - ipv6 AAAA abcd::eeff - deleg NS ns.example.com - ns A 192.168.0.1 - ns AAAA dead:beef::1 - ''; - services.nsd.zones."example.com.".provideXFR = [ "0.0.0.0 tsig.example.com." ]; - services.nsd.zones."deleg.example.com.".data = '' - @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 - @ A 9.8.7.6 - @ AAAA fedc::bbaa - ''; - services.nsd.zones.".".data = '' - @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 - root A 1.8.7.4 - root AAAA acbd::4 - ''; + nodes = { + clientv4 = + { lib, nodes, ... }: + { + imports = [ common ]; + networking.nameservers = lib.mkForce [ + (lib.head nodes.server.config.networking.interfaces.eth1.ipv4.addresses).address + ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.0.2"; + prefixLength = 24; + } + ]; + }; + + clientv6 = + { lib, nodes, ... }: + { + imports = [ common ]; + networking.nameservers = lib.mkForce [ + (lib.head nodes.server.config.networking.interfaces.eth1.ipv6.addresses).address + ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "dead:beef::2"; + prefixLength = 24; + } + ]; + }; + + server = + { lib, ... }: + { + imports = [ common ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + ]; + networking.interfaces.eth1.ipv6.addresses = [ + { + address = "dead:beef::1"; + prefixLength = 64; + } + ]; + services.nsd.enable = true; + services.nsd.rootServer = true; + services.nsd.interfaces = lib.mkForce [ ]; + services.nsd.keys."tsig.example.com." = { + algorithm = "hmac-sha256"; + keyFile = pkgs.writeTextFile { + name = "tsig.example.com."; + text = "aR3FJA92+bxRSyosadsJ8Aeeav5TngQW/H/EF9veXbc="; + }; + }; + services.nsd.zones."example.com.".data = '' + @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 + ipv4 A 1.2.3.4 + ipv6 AAAA abcd::eeff + deleg NS ns.example.com + ns A 192.168.0.1 + ns AAAA dead:beef::1 + ''; + services.nsd.zones."example.com.".provideXFR = [ "0.0.0.0 tsig.example.com." ]; + services.nsd.zones."deleg.example.com.".data = '' + @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 + @ A 9.8.7.6 + @ AAAA fedc::bbaa + ''; + services.nsd.zones.".".data = '' + @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 + root A 1.8.7.4 + root AAAA acbd::4 + ''; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - clientv4.wait_for_unit("network.target") - clientv6.wait_for_unit("network.target") - server.wait_for_unit("nsd.service") + clientv4.wait_for_unit("network.target") + clientv6.wait_for_unit("network.target") + server.wait_for_unit("nsd.service") - with subtest("server tsig.example.com."): - expected_tsig = " secret: \"aR3FJA92+bxRSyosadsJ8Aeeav5TngQW/H/EF9veXbc=\"\n" - tsig=server.succeed("cat /var/lib/nsd/private/tsig.example.com.") - assert expected_tsig == tsig, f"Expected /var/lib/nsd/private/tsig.example.com. to contain '{expected_tsig}', but found '{tsig}'" + with subtest("server tsig.example.com."): + expected_tsig = " secret: \"aR3FJA92+bxRSyosadsJ8Aeeav5TngQW/H/EF9veXbc=\"\n" + tsig=server.succeed("cat /var/lib/nsd/private/tsig.example.com.") + assert expected_tsig == tsig, f"Expected /var/lib/nsd/private/tsig.example.com. to contain '{expected_tsig}', but found '{tsig}'" - def assert_host(type, rr, query, expected): - self = clientv4 if type == 4 else clientv6 - out = self.succeed(f"host -{type} -t {rr} {query}").rstrip() - self.log(f"output: {out}") - import re - assert re.search( - expected, out - ), f"DNS IPv{type} query on {query} gave '{out}' instead of '{expected}'" + def assert_host(type, rr, query, expected): + self = clientv4 if type == 4 else clientv6 + out = self.succeed(f"host -{type} -t {rr} {query}").rstrip() + self.log(f"output: {out}") + import re + assert re.search( + expected, out + ), f"DNS IPv{type} query on {query} gave '{out}' instead of '{expected}'" - for ipv in 4, 6: - with subtest(f"IPv{ipv}"): - assert_host(ipv, "a", "example.com", "has no [^ ]+ record") - assert_host(ipv, "aaaa", "example.com", "has no [^ ]+ record") + for ipv in 4, 6: + with subtest(f"IPv{ipv}"): + assert_host(ipv, "a", "example.com", "has no [^ ]+ record") + assert_host(ipv, "aaaa", "example.com", "has no [^ ]+ record") - assert_host(ipv, "soa", "example.com", "SOA.*?noc\.example\.com") - assert_host(ipv, "a", "ipv4.example.com", "address 1.2.3.4$") - assert_host(ipv, "aaaa", "ipv6.example.com", "address abcd::eeff$") + assert_host(ipv, "soa", "example.com", "SOA.*?noc\.example\.com") + assert_host(ipv, "a", "ipv4.example.com", "address 1.2.3.4$") + assert_host(ipv, "aaaa", "ipv6.example.com", "address abcd::eeff$") - assert_host(ipv, "a", "deleg.example.com", "address 9.8.7.6$") - assert_host(ipv, "aaaa", "deleg.example.com", "address fedc::bbaa$") + assert_host(ipv, "a", "deleg.example.com", "address 9.8.7.6$") + assert_host(ipv, "aaaa", "deleg.example.com", "address fedc::bbaa$") - assert_host(ipv, "a", "root", "address 1.8.7.4$") - assert_host(ipv, "aaaa", "root", "address acbd::4$") - ''; -}) + assert_host(ipv, "a", "root", "address 1.8.7.4$") + assert_host(ipv, "aaaa", "root", "address acbd::4$") + ''; + } +) diff --git a/nixos/tests/ntfy-sh-migration.nix b/nixos/tests/ntfy-sh-migration.nix index de6660052d679..74ba58d98ebb7 100644 --- a/nixos/tests/ntfy-sh-migration.nix +++ b/nixos/tests/ntfy-sh-migration.nix @@ -10,40 +10,42 @@ import ./make-test-python.nix { name = "ntfy-sh"; - nodes.machine = { - lib, - pkgs, - ... - }: { - environment.etc."ntfy-sh-dynamic-user.conf".text = '' - [Service] - Group=new-ntfy-sh - User=new-ntfy-sh - DynamicUser=true - ''; - - services.ntfy-sh.enable = true; - services.ntfy-sh.settings.base-url = "http://localhost:2586"; - - systemd.services.ntfy-sh.serviceConfig = { - DynamicUser = lib.mkForce false; - ExecStartPre = [ - "${pkgs.coreutils}/bin/id" - "${pkgs.coreutils}/bin/ls -lahd /var/lib/ntfy-sh/" - "${pkgs.coreutils}/bin/ls -lah /var/lib/ntfy-sh/" - ]; - Group = lib.mkForce "old-ntfy-sh"; - User = lib.mkForce "old-ntfy-sh"; + nodes.machine = + { + lib, + pkgs, + ... + }: + { + environment.etc."ntfy-sh-dynamic-user.conf".text = '' + [Service] + Group=new-ntfy-sh + User=new-ntfy-sh + DynamicUser=true + ''; + + services.ntfy-sh.enable = true; + services.ntfy-sh.settings.base-url = "http://localhost:2586"; + + systemd.services.ntfy-sh.serviceConfig = { + DynamicUser = lib.mkForce false; + ExecStartPre = [ + "${pkgs.coreutils}/bin/id" + "${pkgs.coreutils}/bin/ls -lahd /var/lib/ntfy-sh/" + "${pkgs.coreutils}/bin/ls -lah /var/lib/ntfy-sh/" + ]; + Group = lib.mkForce "old-ntfy-sh"; + User = lib.mkForce "old-ntfy-sh"; + }; + + users.users.old-ntfy-sh = { + isSystemUser = true; + group = "old-ntfy-sh"; + }; + + users.groups.old-ntfy-sh = { }; }; - users.users.old-ntfy-sh = { - isSystemUser = true; - group = "old-ntfy-sh"; - }; - - users.groups.old-ntfy-sh = {}; - }; - testScript = '' import json diff --git a/nixos/tests/ntfy-sh.nix b/nixos/tests/ntfy-sh.nix index ec2e645bacb5b..b0dba5f0647bb 100644 --- a/nixos/tests/ntfy-sh.nix +++ b/nixos/tests/ntfy-sh.nix @@ -1,10 +1,12 @@ import ./make-test-python.nix { name = "ntfy-sh"; - nodes.machine = { ... }: { - services.ntfy-sh.enable = true; - services.ntfy-sh.settings.base-url = "http://localhost:2586"; - }; + nodes.machine = + { ... }: + { + services.ntfy-sh.enable = true; + services.ntfy-sh.settings.base-url = "http://localhost:2586"; + }; testScript = '' import json diff --git a/nixos/tests/ntpd-rs.nix b/nixos/tests/ntpd-rs.nix index 6f3c80e87f072..2907c75583240 100644 --- a/nixos/tests/ntpd-rs.nix +++ b/nixos/tests/ntpd-rs.nix @@ -1,51 +1,55 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "ntpd-rs"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "ntpd-rs"; - meta = { - maintainers = with lib.maintainers; [ fpletz ]; - }; + meta = { + maintainers = with lib.maintainers; [ fpletz ]; + }; - nodes = { - client = { - services.ntpd-rs = { - enable = true; - metrics.enable = true; - useNetworkingTimeServers = false; - settings = { - source = [ - { - mode = "server"; - address = "server"; - } - ]; - synchronization = { - minimum-agreeing-sources = 1; + nodes = { + client = { + services.ntpd-rs = { + enable = true; + metrics.enable = true; + useNetworkingTimeServers = false; + settings = { + source = [ + { + mode = "server"; + address = "server"; + } + ]; + synchronization = { + minimum-agreeing-sources = 1; + }; }; }; }; - }; - server = { - networking.firewall.allowedUDPPorts = [ 123 ]; - services.ntpd-rs = { - enable = true; - metrics.enable = true; - settings = { - server = [ - { listen = "[::]:123"; } - ]; + server = { + networking.firewall.allowedUDPPorts = [ 123 ]; + services.ntpd-rs = { + enable = true; + metrics.enable = true; + settings = { + server = [ + { listen = "[::]:123"; } + ]; + }; }; }; }; - }; - testScript = { nodes, ... }: '' - start_all() + testScript = + { nodes, ... }: + '' + start_all() - for machine in (server, client): - machine.wait_for_unit('multi-user.target') - machine.succeed('systemctl is-active ntpd-rs.service') - machine.succeed('systemctl is-active ntpd-rs-metrics.service') - machine.succeed('curl http://localhost:9975/metrics | grep ntp_uptime_seconds') - ''; -}) + for machine in (server, client): + machine.wait_for_unit('multi-user.target') + machine.succeed('systemctl is-active ntpd-rs.service') + machine.succeed('systemctl is-active ntpd-rs-metrics.service') + machine.succeed('curl http://localhost:9975/metrics | grep ntp_uptime_seconds') + ''; + } +) diff --git a/nixos/tests/nvmetcfg.nix b/nixos/tests/nvmetcfg.nix index 169e5e9d7b0c9..6f937251bb353 100644 --- a/nixos/tests/nvmetcfg.nix +++ b/nixos/tests/nvmetcfg.nix @@ -1,43 +1,54 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "nvmetcfg"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "nvmetcfg"; - meta = { - maintainers = with lib.maintainers; [ nickcao ]; - }; - - nodes = { - server = { pkgs, ... }: { - boot.kernelModules = [ "nvmet" ]; - environment.systemPackages = [ pkgs.nvmetcfg ]; - networking.firewall.allowedTCPPorts = [ 4420 ]; - virtualisation.emptyDiskImages = [ 512 ]; + meta = { + maintainers = with lib.maintainers; [ nickcao ]; }; - client = { pkgs, ... }: { - boot.kernelModules = [ "nvme-fabrics" ]; - environment.systemPackages = [ pkgs.nvme-cli ]; + + nodes = { + server = + { pkgs, ... }: + { + boot.kernelModules = [ "nvmet" ]; + environment.systemPackages = [ pkgs.nvmetcfg ]; + networking.firewall.allowedTCPPorts = [ 4420 ]; + virtualisation.emptyDiskImages = [ 512 ]; + }; + client = + { pkgs, ... }: + { + boot.kernelModules = [ "nvme-fabrics" ]; + environment.systemPackages = [ pkgs.nvme-cli ]; + }; }; - }; - testScript = let subsystem = "nqn.2014-08.org.nixos:server"; in '' - import json + testScript = + let + subsystem = "nqn.2014-08.org.nixos:server"; + in + '' + import json - with subtest("Create subsystem and namespace"): - server.succeed("nvmet subsystem add ${subsystem}") - server.succeed("nvmet namespace add ${subsystem} 1 /dev/vdb") + with subtest("Create subsystem and namespace"): + server.succeed("nvmet subsystem add ${subsystem}") + server.succeed("nvmet namespace add ${subsystem} 1 /dev/vdb") - with subtest("Bind subsystem to port"): - server.wait_for_unit("network-online.target") - server.succeed("nvmet port add 1 tcp [::]:4420") - server.succeed("nvmet port add-subsystem 1 ${subsystem}") + with subtest("Bind subsystem to port"): + server.wait_for_unit("network-online.target") + server.succeed("nvmet port add 1 tcp [::]:4420") + server.succeed("nvmet port add-subsystem 1 ${subsystem}") - with subtest("Discover and connect to available subsystems"): - client.wait_for_unit("network-online.target") - assert "subnqn: ${subsystem}" in client.succeed("nvme discover --transport=tcp --traddr=server --trsvcid=4420") - client.succeed("nvme connect-all --transport=tcp --traddr=server --trsvcid=4420") + with subtest("Discover and connect to available subsystems"): + client.wait_for_unit("network-online.target") + assert "subnqn: ${subsystem}" in client.succeed("nvme discover --transport=tcp --traddr=server --trsvcid=4420") + client.succeed("nvme connect-all --transport=tcp --traddr=server --trsvcid=4420") - with subtest("Write to the connected subsystem"): - devices = json.loads(client.succeed("lsblk --nvme --paths --json"))["blockdevices"] - assert len(devices) == 1 - client.succeed(f"dd if=/dev/zero of={devices[0]['name']} bs=1M count=64") - ''; -}) + with subtest("Write to the connected subsystem"): + devices = json.loads(client.succeed("lsblk --nvme --paths --json"))["blockdevices"] + assert len(devices) == 1 + client.succeed(f"dd if=/dev/zero of={devices[0]['name']} bs=1M count=64") + ''; + } +) diff --git a/nixos/tests/nzbget.nix b/nixos/tests/nzbget.nix index e45031d5629c4..0fd80c6d554a2 100644 --- a/nixos/tests/nzbget.nix +++ b/nixos/tests/nzbget.nix @@ -1,46 +1,56 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "nzbget"; - meta = with pkgs.lib.maintainers; { - maintainers = [ aanderse flokli ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "nzbget"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + aanderse + flokli + ]; + }; - nodes = { - server = { ... }: { - services.nzbget.enable = true; + nodes = { + server = + { ... }: + { + services.nzbget.enable = true; - # provide some test settings - services.nzbget.settings = { - "MainDir" = "/var/lib/nzbget"; - "DirectRename" = true; - "DiskSpace" = 0; - "Server1.Name" = "this is a test"; - }; + # provide some test settings + services.nzbget.settings = { + "MainDir" = "/var/lib/nzbget"; + "DirectRename" = true; + "DiskSpace" = 0; + "Server1.Name" = "this is a test"; + }; - # hack, don't add (unfree) unrar to nzbget's path, - # so we can run this test in CI - systemd.services.nzbget.path = pkgs.lib.mkForce [ pkgs.p7zip ]; + # hack, don't add (unfree) unrar to nzbget's path, + # so we can run this test in CI + systemd.services.nzbget.path = pkgs.lib.mkForce [ pkgs.p7zip ]; + }; }; - }; - testScript = { nodes, ... }: '' - start_all() + testScript = + { nodes, ... }: + '' + start_all() - server.wait_for_unit("nzbget.service") - server.wait_for_unit("network.target") - server.wait_for_open_port(6789) - assert "This file is part of nzbget" in server.succeed( - "curl -f -s -u nzbget:tegbzn6789 http://127.0.0.1:6789" - ) - server.succeed( - "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V" - ) + server.wait_for_unit("nzbget.service") + server.wait_for_unit("network.target") + server.wait_for_open_port(6789) + assert "This file is part of nzbget" in server.succeed( + "curl -f -s -u nzbget:tegbzn6789 http://127.0.0.1:6789" + ) + server.succeed( + "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V" + ) - config = server.succeed("${nodes.server.systemd.services.nzbget.serviceConfig.ExecStart} --printconfig") + config = server.succeed("${nodes.server.systemd.services.nzbget.serviceConfig.ExecStart} --printconfig") - # confirm the test settings are applied - assert 'MainDir = "/var/lib/nzbget"' in config - assert 'DirectRename = "yes"' in config - assert 'DiskSpace = "0"' in config - assert 'Server1.Name = "this is a test"' in config - ''; -}) + # confirm the test settings are applied + assert 'MainDir = "/var/lib/nzbget"' in config + assert 'DirectRename = "yes"' in config + assert 'DiskSpace = "0"' in config + assert 'Server1.Name = "this is a test"' in config + ''; + } +) diff --git a/nixos/tests/nzbhydra2.nix b/nixos/tests/nzbhydra2.nix index 6262a50b4be0e..9f6f2e98423a1 100644 --- a/nixos/tests/nzbhydra2.nix +++ b/nixos/tests/nzbhydra2.nix @@ -1,9 +1,14 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: { name = "nzbhydra2"; meta.maintainers = with lib.maintainers; [ matteopacini ]; - nodes.machine = { pkgs, ... }: { services.nzbhydra2.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.nzbhydra2.enable = true; + }; testScript = '' machine.start() @@ -11,4 +16,5 @@ import ./make-test-python.nix ({ lib, ... }: machine.wait_for_open_port(5076) machine.succeed("curl --fail http://localhost:5076/") ''; - }) + } +) diff --git a/nixos/tests/ocsinventory-agent.nix b/nixos/tests/ocsinventory-agent.nix index 67b0c8c911036..b2cfba6dcb22d 100644 --- a/nixos/tests/ocsinventory-agent.nix +++ b/nixos/tests/ocsinventory-agent.nix @@ -1,33 +1,38 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "ocsinventory-agent"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ocsinventory-agent"; - nodes.machine = { pkgs, ... }: { - services.ocsinventory-agent = { - enable = true; - settings = { - debug = true; - local = "/var/lib/ocsinventory-agent/reports"; - tag = "MY_INVENTORY_TAG"; + nodes.machine = + { pkgs, ... }: + { + services.ocsinventory-agent = { + enable = true; + settings = { + debug = true; + local = "/var/lib/ocsinventory-agent/reports"; + tag = "MY_INVENTORY_TAG"; + }; + }; }; - }; - }; - testScript = '' - path = "/var/lib/ocsinventory-agent/reports" + testScript = '' + path = "/var/lib/ocsinventory-agent/reports" - # Run the agent to generate the inventory file in offline mode - start_all() - machine.succeed("mkdir -p {}".format(path)) - machine.wait_for_unit("ocsinventory-agent.service") - machine.wait_until_succeeds("journalctl -u ocsinventory-agent.service | grep 'Inventory saved in'") + # Run the agent to generate the inventory file in offline mode + start_all() + machine.succeed("mkdir -p {}".format(path)) + machine.wait_for_unit("ocsinventory-agent.service") + machine.wait_until_succeeds("journalctl -u ocsinventory-agent.service | grep 'Inventory saved in'") - # Fetch the path to the generated inventory file - report_file = machine.succeed("find {}/*.ocs -type f | head -n1".format(path)) + # Fetch the path to the generated inventory file + report_file = machine.succeed("find {}/*.ocs -type f | head -n1".format(path)) - with subtest("Check the tag value"): - tag = machine.succeed( - "${pkgs.libxml2}/bin/xmllint --xpath 'string(/REQUEST/CONTENT/ACCOUNTINFO/KEYVALUE)' {}".format(report_file) - ).rstrip() - assert tag == "MY_INVENTORY_TAG", f"tag is not valid, was '{tag}'" - ''; -}) + with subtest("Check the tag value"): + tag = machine.succeed( + "${pkgs.libxml2}/bin/xmllint --xpath 'string(/REQUEST/CONTENT/ACCOUNTINFO/KEYVALUE)' {}".format(report_file) + ).rstrip() + assert tag == "MY_INVENTORY_TAG", f"tag is not valid, was '{tag}'" + ''; + } +) diff --git a/nixos/tests/octoprint.nix b/nixos/tests/octoprint.nix index 15a2d677d4cf8..9473797d50475 100644 --- a/nixos/tests/octoprint.nix +++ b/nixos/tests/octoprint.nix @@ -1,61 +1,69 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -let - apikey = "testapikey"; -in -{ - name = "octoprint"; - meta.maintainers = with lib.maintainers; [ gador ]; - - nodes.machine = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ jq ]; - services.octoprint = { - enable = true; - extraConfig = { - server = { - firstRun = false; - }; - api = { - enabled = true; - key = apikey; - }; - plugins = { - # these need internet access and pollute the output with connection failed errors - _disabled = [ "softwareupdate" "announcements" "pluginmanager" ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + apikey = "testapikey"; + in + { + name = "octoprint"; + meta.maintainers = with lib.maintainers; [ gador ]; + + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ jq ]; + services.octoprint = { + enable = true; + extraConfig = { + server = { + firstRun = false; + }; + api = { + enabled = true; + key = apikey; + }; + plugins = { + # these need internet access and pollute the output with connection failed errors + _disabled = [ + "softwareupdate" + "announcements" + "pluginmanager" + ]; + }; + }; }; }; - }; - }; - - testScript = '' - import json - - @polling_condition - def octoprint_running(): - machine.succeed("pgrep octoprint") - - with subtest("Wait for octoprint service to start"): - machine.wait_for_unit("octoprint.service") - machine.wait_until_succeeds("pgrep octoprint") - - with subtest("Wait for final boot"): - # this appears whe octoprint is almost finished starting - machine.wait_for_file("/var/lib/octoprint/uploads") - - # octoprint takes some time to start. This makes sure we'll retry just in case it takes longer - # retry-all-errors in necessary, since octoprint will report a 404 error when not yet ready - curl_cmd = "curl --retry-all-errors --connect-timeout 5 --max-time 10 --retry 5 --retry-delay 0 \ - --retry-max-time 40 -X GET --header 'X-API-Key: ${apikey}' " - - # used to fail early, in case octoprint first starts and then crashes - with octoprint_running: # type: ignore[union-attr] - with subtest("Check for web interface"): - machine.wait_until_succeeds("curl -s localhost:5000") - - with subtest("Check API"): - version = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/version")) - server = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/server")) - assert version["server"] == str("${pkgs.octoprint.version}") - assert server["safemode"] == None - ''; -}) + + testScript = '' + import json + + @polling_condition + def octoprint_running(): + machine.succeed("pgrep octoprint") + + with subtest("Wait for octoprint service to start"): + machine.wait_for_unit("octoprint.service") + machine.wait_until_succeeds("pgrep octoprint") + + with subtest("Wait for final boot"): + # this appears whe octoprint is almost finished starting + machine.wait_for_file("/var/lib/octoprint/uploads") + + # octoprint takes some time to start. This makes sure we'll retry just in case it takes longer + # retry-all-errors in necessary, since octoprint will report a 404 error when not yet ready + curl_cmd = "curl --retry-all-errors --connect-timeout 5 --max-time 10 --retry 5 --retry-delay 0 \ + --retry-max-time 40 -X GET --header 'X-API-Key: ${apikey}' " + + # used to fail early, in case octoprint first starts and then crashes + with octoprint_running: # type: ignore[union-attr] + with subtest("Check for web interface"): + machine.wait_until_succeeds("curl -s localhost:5000") + + with subtest("Check API"): + version = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/version")) + server = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/server")) + assert version["server"] == str("${pkgs.octoprint.version}") + assert server["safemode"] == None + ''; + } +) diff --git a/nixos/tests/oddjobd.nix b/nixos/tests/oddjobd.nix index cc2d4079eebc9..853d8e68d5e2b 100644 --- a/nixos/tests/oddjobd.nix +++ b/nixos/tests/oddjobd.nix @@ -1,23 +1,28 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "oddjobd"; - meta.maintainers = [ lib.maintainers.anthonyroussel ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "oddjobd"; + meta.maintainers = [ lib.maintainers.anthonyroussel ]; - nodes.machine = { ... } : { - environment.systemPackages = [ - pkgs.oddjob - ]; + nodes.machine = + { ... }: + { + environment.systemPackages = [ + pkgs.oddjob + ]; - programs.oddjobd.enable = true; - }; + programs.oddjobd.enable = true; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("oddjobd.service") - machine.wait_for_file("/run/oddjobd.pid") + machine.wait_for_unit("oddjobd.service") + machine.wait_for_file("/run/oddjobd.pid") - with subtest("send oddjob listall request"): - result = machine.succeed("oddjob_request -s com.redhat.oddjob -o /com/redhat/oddjob -i com.redhat.oddjob listall") - assert ('(service="com.redhat.oddjob",object="/com/redhat/oddjob",interface="com.redhat.oddjob",method="listall")' in result) - ''; -}) + with subtest("send oddjob listall request"): + result = machine.succeed("oddjob_request -s com.redhat.oddjob -o /com/redhat/oddjob -i com.redhat.oddjob listall") + assert ('(service="com.redhat.oddjob",object="/com/redhat/oddjob",interface="com.redhat.oddjob",method="listall")' in result) + ''; + } +) diff --git a/nixos/tests/odoo.nix b/nixos/tests/odoo.nix index d3764cbc9f0b9..54120b234364a 100644 --- a/nixos/tests/odoo.nix +++ b/nixos/tests/odoo.nix @@ -1,28 +1,39 @@ -import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.odoo, ...} : { - name = "odoo"; - meta.maintainers = with lib.maintainers; [ mkg20001 ]; +import ./make-test-python.nix ( + { + pkgs, + lib, + package ? pkgs.odoo, + ... + }: + { + name = "odoo"; + meta.maintainers = with lib.maintainers; [ mkg20001 ]; - nodes = { - server = { ... }: { - services.nginx = { - enable = true; - recommendedProxySettings = true; - }; + nodes = { + server = + { ... }: + { + services.nginx = { + enable = true; + recommendedProxySettings = true; + }; - services.odoo = { - enable = true; - package = package; - autoInit = true; - autoInitExtraFlags = [ "--without-demo=all" ]; - domain = "localhost"; - }; + services.odoo = { + enable = true; + package = package; + autoInit = true; + autoInitExtraFlags = [ "--without-demo=all" ]; + domain = "localhost"; + }; + }; }; - }; - testScript = { nodes, ... }: - '' - server.wait_for_unit("odoo.service") - server.wait_until_succeeds("curl -s http://localhost:8069/web/database/selector | grep 'Odoo'") - server.succeed("curl -s http://localhost/web/database/selector | grep 'Odoo'") - ''; -}) + testScript = + { nodes, ... }: + '' + server.wait_for_unit("odoo.service") + server.wait_until_succeeds("curl -s http://localhost:8069/web/database/selector | grep 'Odoo'") + server.succeed("curl -s http://localhost/web/database/selector | grep 'Odoo'") + ''; + } +) diff --git a/nixos/tests/oh-my-zsh.nix b/nixos/tests/oh-my-zsh.nix index 1d5227e36236d..25c4e8ebfe977 100644 --- a/nixos/tests/oh-my-zsh.nix +++ b/nixos/tests/oh-my-zsh.nix @@ -1,18 +1,22 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "oh-my-zsh"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "oh-my-zsh"; - nodes.machine = { pkgs, ... }: + nodes.machine = + { pkgs, ... }: - { - programs.zsh = { - enable = true; - ohMyZsh.enable = true; + { + programs.zsh = { + enable = true; + ohMyZsh.enable = true; + }; }; - }; - testScript = '' - start_all() - machine.succeed("touch ~/.zshrc") - machine.succeed("zsh -c 'source /etc/zshrc && echo $ZSH | grep oh-my-zsh-${pkgs.oh-my-zsh.version}'") - ''; -}) + testScript = '' + start_all() + machine.succeed("touch ~/.zshrc") + machine.succeed("zsh -c 'source /etc/zshrc && echo $ZSH | grep oh-my-zsh-${pkgs.oh-my-zsh.version}'") + ''; + } +) diff --git a/nixos/tests/ombi.nix b/nixos/tests/ombi.nix index fb3a37c978e3b..eeeaba5e2d0ec 100644 --- a/nixos/tests/ombi.nix +++ b/nixos/tests/ombi.nix @@ -1,16 +1,20 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "ombi"; - meta.maintainers = with lib.maintainers; [ woky ]; + { + name = "ombi"; + meta.maintainers = with lib.maintainers; [ woky ]; - nodes.machine = - { pkgs, ... }: - { services.ombi.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.ombi.enable = true; + }; - testScript = '' - machine.wait_for_unit("ombi.service") - machine.wait_for_open_port(5000) - machine.succeed("curl --fail http://localhost:5000/") - ''; -}) + testScript = '' + machine.wait_for_unit("ombi.service") + machine.wait_for_open_port(5000) + machine.succeed("curl --fail http://localhost:5000/") + ''; + } +) diff --git a/nixos/tests/openarena.nix b/nixos/tests/openarena.nix index 4dfe71a9a1e95..6ac38729d3f1e 100644 --- a/nixos/tests/openarena.nix +++ b/nixos/tests/openarena.nix @@ -1,35 +1,42 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -let - client = - { pkgs, ... }: - - { imports = [ ./common/x11.nix ]; - hardware.graphics.enable = true; - environment.systemPackages = [ pkgs.openarena ]; +import ./make-test-python.nix ( + { pkgs, ... }: + + let + client = + { pkgs, ... }: + + { + imports = [ ./common/x11.nix ]; + hardware.graphics.enable = true; + environment.systemPackages = [ pkgs.openarena ]; + }; + + in + { + name = "openarena"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fpletz ]; }; -in { - name = "openarena"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fpletz ]; - }; - - nodes = - { server = - { services.openarena = { - enable = true; - extraFlags = [ "+set g_gametype 0" "+map oa_dm7" "+addbot Angelyss" "+addbot Arachna" ]; - openPorts = true; - }; + nodes = { + server = { + services.openarena = { + enable = true; + extraFlags = [ + "+set g_gametype 0" + "+map oa_dm7" + "+addbot Angelyss" + "+addbot Arachna" + ]; + openPorts = true; }; + }; client1 = client; client2 = client; }; - testScript = - '' + testScript = '' start_all() server.wait_for_unit("openarena") @@ -68,4 +75,5 @@ in { client2.screenshot("screen_client2_3") ''; -}) + } +) diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix index 47d6a91843f11..f66aaec780486 100644 --- a/nixos/tests/openldap.nix +++ b/nixos/tests/openldap.nix @@ -1,156 +1,177 @@ -import ./make-test-python.nix ({ pkgs, ... }: let - dbContents = '' - dn: dc=example - objectClass: domain - dc: example +import ./make-test-python.nix ( + { pkgs, ... }: + let + dbContents = '' + dn: dc=example + objectClass: domain + dc: example - dn: ou=users,dc=example - objectClass: organizationalUnit - ou: users - ''; + dn: ou=users,dc=example + objectClass: organizationalUnit + ou: users + ''; - ldifConfig = '' - dn: cn=config - cn: config - objectClass: olcGlobal - olcLogLevel: stats + ldifConfig = '' + dn: cn=config + cn: config + objectClass: olcGlobal + olcLogLevel: stats - dn: cn=schema,cn=config - cn: schema - objectClass: olcSchemaConfig + dn: cn=schema,cn=config + cn: schema + objectClass: olcSchemaConfig - include: file://${pkgs.openldap}/etc/schema/core.ldif - include: file://${pkgs.openldap}/etc/schema/cosine.ldif - include: file://${pkgs.openldap}/etc/schema/inetorgperson.ldif + include: file://${pkgs.openldap}/etc/schema/core.ldif + include: file://${pkgs.openldap}/etc/schema/cosine.ldif + include: file://${pkgs.openldap}/etc/schema/inetorgperson.ldif - dn: olcDatabase={0}config,cn=config - olcDatabase: {0}config - objectClass: olcDatabaseConfig - olcRootDN: cn=root,cn=config - olcRootPW: configpassword + dn: olcDatabase={0}config,cn=config + olcDatabase: {0}config + objectClass: olcDatabaseConfig + olcRootDN: cn=root,cn=config + olcRootPW: configpassword - dn: olcDatabase={1}mdb,cn=config - objectClass: olcDatabaseConfig - objectClass: olcMdbConfig - olcDatabase: {1}mdb - olcDbDirectory: /var/db/openldap - olcDbIndex: objectClass eq - olcSuffix: dc=example - olcRootDN: cn=root,dc=example - olcRootPW: notapassword - ''; + dn: olcDatabase={1}mdb,cn=config + objectClass: olcDatabaseConfig + objectClass: olcMdbConfig + olcDatabase: {1}mdb + olcDbDirectory: /var/db/openldap + olcDbIndex: objectClass eq + olcSuffix: dc=example + olcRootDN: cn=root,dc=example + olcRootPW: notapassword + ''; - ldapClientConfig = { - enable = true; - loginPam = false; - nsswitch = false; - server = "ldap://"; - base = "dc=example"; - }; + ldapClientConfig = { + enable = true; + loginPam = false; + nsswitch = false; + server = "ldap://"; + base = "dc=example"; + }; -in { - name = "openldap"; + in + { + name = "openldap"; - nodes.machine = { pkgs, ... }: { - environment.etc."openldap/root_password".text = "notapassword"; + nodes.machine = + { pkgs, ... }: + { + environment.etc."openldap/root_password".text = "notapassword"; - users.ldap = ldapClientConfig; + users.ldap = ldapClientConfig; - services.openldap = { - enable = true; - urlList = [ "ldapi:///" "ldap://" ]; - settings = { - children = { - "cn=schema".includes = [ - "${pkgs.openldap}/etc/schema/core.ldif" - "${pkgs.openldap}/etc/schema/cosine.ldif" - "${pkgs.openldap}/etc/schema/inetorgperson.ldif" - "${pkgs.openldap}/etc/schema/nis.ldif" + services.openldap = { + enable = true; + urlList = [ + "ldapi:///" + "ldap://" ]; - "olcDatabase={0}config" = { - attrs = { - objectClass = [ "olcDatabaseConfig" ]; - olcDatabase = "{0}config"; - olcRootDN = "cn=root,cn=config"; - olcRootPW = "configpassword"; - }; - }; - "olcDatabase={1}mdb" = { - # This tests string, base64 and path values, as well as lists of string values - attrs = { - objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ]; - olcDatabase = "{1}mdb"; - olcDbDirectory = "/var/lib/openldap/db"; - olcSuffix = "dc=example"; - olcRootDN = { - # cn=root,dc=example - base64 = "Y249cm9vdCxkYz1leGFtcGxl"; + settings = { + children = { + "cn=schema".includes = [ + "${pkgs.openldap}/etc/schema/core.ldif" + "${pkgs.openldap}/etc/schema/cosine.ldif" + "${pkgs.openldap}/etc/schema/inetorgperson.ldif" + "${pkgs.openldap}/etc/schema/nis.ldif" + ]; + "olcDatabase={0}config" = { + attrs = { + objectClass = [ "olcDatabaseConfig" ]; + olcDatabase = "{0}config"; + olcRootDN = "cn=root,cn=config"; + olcRootPW = "configpassword"; + }; }; - olcRootPW = { - path = "/etc/openldap/root_password"; + "olcDatabase={1}mdb" = { + # This tests string, base64 and path values, as well as lists of string values + attrs = { + objectClass = [ + "olcDatabaseConfig" + "olcMdbConfig" + ]; + olcDatabase = "{1}mdb"; + olcDbDirectory = "/var/lib/openldap/db"; + olcSuffix = "dc=example"; + olcRootDN = { + # cn=root,dc=example + base64 = "Y249cm9vdCxkYz1leGFtcGxl"; + }; + olcRootPW = { + path = "/etc/openldap/root_password"; + }; + }; }; }; }; }; - }; - }; - specialisation = { - declarativeContents.configuration = { ... }: { - services.openldap.declarativeContents."dc=example" = dbContents; - }; - mutableConfig.configuration = { ... }: { - services.openldap = { - declarativeContents."dc=example" = dbContents; - mutableConfig = true; - }; - }; - manualConfigDir = { - inheritParentConfig = false; - configuration = { ... }: { - users.ldap = ldapClientConfig; - services.openldap = { - enable = true; - configDir = "/var/db/slapd.d"; + specialisation = { + declarativeContents.configuration = + { ... }: + { + services.openldap.declarativeContents."dc=example" = dbContents; + }; + mutableConfig.configuration = + { ... }: + { + services.openldap = { + declarativeContents."dc=example" = dbContents; + mutableConfig = true; + }; + }; + manualConfigDir = { + inheritParentConfig = false; + configuration = + { ... }: + { + users.ldap = ldapClientConfig; + services.openldap = { + enable = true; + configDir = "/var/db/slapd.d"; + }; + }; }; }; }; - }; - }; - testScript = { nodes, ... }: let - specializations = "${nodes.machine.system.build.toplevel}/specialisation"; - changeRootPw = '' - dn: olcDatabase={1}mdb,cn=config - changetype: modify - replace: olcRootPW - olcRootPW: foobar - ''; - in '' - # Test startup with empty DB - machine.wait_for_unit("openldap.service") + testScript = + { nodes, ... }: + let + specializations = "${nodes.machine.system.build.toplevel}/specialisation"; + changeRootPw = '' + dn: olcDatabase={1}mdb,cn=config + changetype: modify + replace: olcRootPW + olcRootPW: foobar + ''; + in + '' + # Test startup with empty DB + machine.wait_for_unit("openldap.service") - with subtest("declarative contents"): - machine.succeed('${specializations}/declarativeContents/bin/switch-to-configuration test') - machine.wait_for_unit("openldap.service") - machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword') - machine.fail('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}') + with subtest("declarative contents"): + machine.succeed('${specializations}/declarativeContents/bin/switch-to-configuration test') + machine.wait_for_unit("openldap.service") + machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword') + machine.fail('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}') - with subtest("mutable config"): - machine.succeed('${specializations}/mutableConfig/bin/switch-to-configuration test') - machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword') - machine.succeed('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}') - machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w foobar') + with subtest("mutable config"): + machine.succeed('${specializations}/mutableConfig/bin/switch-to-configuration test') + machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword') + machine.succeed('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}') + machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w foobar') - with subtest("manual config dir"): - machine.succeed( - 'mkdir /var/db/slapd.d /var/db/openldap', - 'slapadd -F /var/db/slapd.d -n0 -l ${pkgs.writeText "config.ldif" ldifConfig}', - 'slapadd -F /var/db/slapd.d -n1 -l ${pkgs.writeText "contents.ldif" dbContents}', - 'chown -R openldap:openldap /var/db/slapd.d /var/db/openldap', - '${specializations}/manualConfigDir/bin/switch-to-configuration test', - ) - machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword') - machine.succeed('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}') - machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w foobar') - ''; -}) + with subtest("manual config dir"): + machine.succeed( + 'mkdir /var/db/slapd.d /var/db/openldap', + 'slapadd -F /var/db/slapd.d -n0 -l ${pkgs.writeText "config.ldif" ldifConfig}', + 'slapadd -F /var/db/slapd.d -n1 -l ${pkgs.writeText "contents.ldif" dbContents}', + 'chown -R openldap:openldap /var/db/slapd.d /var/db/openldap', + '${specializations}/manualConfigDir/bin/switch-to-configuration test', + ) + machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword') + machine.succeed('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}') + machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w foobar') + ''; + } +) diff --git a/nixos/tests/openresty-lua.nix b/nixos/tests/openresty-lua.nix index e3629e9ca40a6..7141ef181039e 100644 --- a/nixos/tests/openresty-lua.nix +++ b/nixos/tests/openresty-lua.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: let luaLibs = [ pkgs.lua.pkgs.markdown @@ -14,65 +15,68 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: }; nodes = { - webserver = { pkgs, lib, ... }: { - networking = { - extraHosts = '' - 127.0.0.1 default.test - 127.0.0.1 sandbox.test - ''; - }; - services.nginx = { - enable = true; - package = pkgs.openresty; + webserver = + { pkgs, lib, ... }: + { + networking = { + extraHosts = '' + 127.0.0.1 default.test + 127.0.0.1 sandbox.test + ''; + }; + services.nginx = { + enable = true; + package = pkgs.openresty; - commonHttpConfig = '' - lua_package_path '${luaPath};;'; - ''; + commonHttpConfig = '' + lua_package_path '${luaPath};;'; + ''; - virtualHosts."default.test" = { - default = true; - locations."/" = { - extraConfig = '' - default_type text/html; - access_by_lua ' - local markdown = require "markdown" - markdown("source") - '; - ''; + virtualHosts."default.test" = { + default = true; + locations."/" = { + extraConfig = '' + default_type text/html; + access_by_lua ' + local markdown = require "markdown" + markdown("source") + '; + ''; + }; }; - }; - virtualHosts."sandbox.test" = { - locations."/test1-write" = { - extraConfig = '' - content_by_lua_block { - local create = os.execute('${pkgs.coreutils}/bin/mkdir /tmp/test1-read') - local create = os.execute('${pkgs.coreutils}/bin/touch /tmp/test1-read/foo.txt') - local echo = os.execute('${pkgs.coreutils}/bin/echo worked > /tmp/test1-read/foo.txt') - } - ''; - }; - locations."/test1-read" = { - root = "/tmp"; - }; - locations."/test2-write" = { - extraConfig = '' - content_by_lua_block { - local create = os.execute('${pkgs.coreutils}/bin/mkdir /var/web/test2-read') - local create = os.execute('${pkgs.coreutils}/bin/touch /var/web/test2-read/bar.txt') - local echo = os.execute('${pkgs.coreutils}/bin/echo error-worked > /var/web/test2-read/bar.txt') - } - ''; - }; - locations."/test2-read" = { - root = "/var/web"; + virtualHosts."sandbox.test" = { + locations."/test1-write" = { + extraConfig = '' + content_by_lua_block { + local create = os.execute('${pkgs.coreutils}/bin/mkdir /tmp/test1-read') + local create = os.execute('${pkgs.coreutils}/bin/touch /tmp/test1-read/foo.txt') + local echo = os.execute('${pkgs.coreutils}/bin/echo worked > /tmp/test1-read/foo.txt') + } + ''; + }; + locations."/test1-read" = { + root = "/tmp"; + }; + locations."/test2-write" = { + extraConfig = '' + content_by_lua_block { + local create = os.execute('${pkgs.coreutils}/bin/mkdir /var/web/test2-read') + local create = os.execute('${pkgs.coreutils}/bin/touch /var/web/test2-read/bar.txt') + local echo = os.execute('${pkgs.coreutils}/bin/echo error-worked > /var/web/test2-read/bar.txt') + } + ''; + }; + locations."/test2-read" = { + root = "/var/web"; + }; }; }; }; - }; }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: '' url = "http://localhost" @@ -97,4 +101,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: "curl -vvv -s http://sandbox.test/test2-read/bar.txt" ) ''; - }) + } +) diff --git a/nixos/tests/opensearch.nix b/nixos/tests/opensearch.nix index 7d37583464cb0..a8794340f3062 100644 --- a/nixos/tests/opensearch.nix +++ b/nixos/tests/opensearch.nix @@ -1,7 +1,9 @@ let - opensearchTest = extraSettings: + opensearchTest = + extraSettings: import ./make-test-python.nix ( - { pkgs, lib, ... }: { + { pkgs, lib, ... }: + { name = "opensearch"; meta.maintainers = with pkgs.lib.maintainers; [ shyim ]; @@ -22,10 +24,11 @@ let "curl --fail localhost:9200" ) ''; - }); + } + ); in { - opensearch = opensearchTest {}; + opensearch = opensearchTest { }; opensearchCustomPathAndUser = opensearchTest { services.opensearch.dataDir = "/var/opensearch_test"; services.opensearch.user = "open_search"; diff --git a/nixos/tests/opensmtpd-rspamd.nix b/nixos/tests/opensmtpd-rspamd.nix index e413a2050bd61..58b0e3b3414dc 100644 --- a/nixos/tests/opensmtpd-rspamd.nix +++ b/nixos/tests/opensmtpd-rspamd.nix @@ -2,118 +2,144 @@ import ./make-test-python.nix { name = "opensmtpd-rspamd"; nodes = { - smtp1 = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - networking = { - firewall.allowedTCPPorts = [ 25 143 ]; - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; - }; - environment.systemPackages = [ pkgs.opensmtpd ]; - services.opensmtpd = { - enable = true; - extraServerArgs = [ "-v" ]; - serverConfiguration = '' - listen on 0.0.0.0 - action dovecot_deliver mda \ - "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" - match from any for local action dovecot_deliver + smtp1 = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + networking = { + firewall.allowedTCPPorts = [ + 25 + 143 + ]; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + }; + environment.systemPackages = [ pkgs.opensmtpd ]; + services.opensmtpd = { + enable = true; + extraServerArgs = [ "-v" ]; + serverConfiguration = '' + listen on 0.0.0.0 + action dovecot_deliver mda \ + "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" + match from any for local action dovecot_deliver - action do_relay relay - # DO NOT DO THIS IN PRODUCTION! - # Setting up authentication requires a certificate which is painful in - # a test environment, but THIS WOULD BE DANGEROUS OUTSIDE OF A - # WELL-CONTROLLED ENVIRONMENT! - match from any for any action do_relay - ''; - }; - services.dovecot2 = { - enable = true; - enableImap = true; - mailLocation = "maildir:~/mail"; - protocols = [ "imap" ]; + action do_relay relay + # DO NOT DO THIS IN PRODUCTION! + # Setting up authentication requires a certificate which is painful in + # a test environment, but THIS WOULD BE DANGEROUS OUTSIDE OF A + # WELL-CONTROLLED ENVIRONMENT! + match from any for any action do_relay + ''; + }; + services.dovecot2 = { + enable = true; + enableImap = true; + mailLocation = "maildir:~/mail"; + protocols = [ "imap" ]; + }; }; - }; - smtp2 = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - networking = { - firewall.allowedTCPPorts = [ 25 143 ]; - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; - }; - environment.systemPackages = [ pkgs.opensmtpd ]; - services.rspamd = { - enable = true; - locals."worker-normal.inc".text = '' - bind_socket = "127.0.0.1:11333"; - ''; - }; - services.opensmtpd = { - enable = true; - extraServerArgs = [ "-v" ]; - serverConfiguration = '' - filter rspamd proc-exec "${pkgs.opensmtpd-filter-rspamd}/bin/filter-rspamd" - listen on 0.0.0.0 filter rspamd - action dovecot_deliver mda \ - "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" - match from any for local action dovecot_deliver - ''; + smtp2 = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + networking = { + firewall.allowedTCPPorts = [ + 25 + 143 + ]; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; + environment.systemPackages = [ pkgs.opensmtpd ]; + services.rspamd = { + enable = true; + locals."worker-normal.inc".text = '' + bind_socket = "127.0.0.1:11333"; + ''; + }; + services.opensmtpd = { + enable = true; + extraServerArgs = [ "-v" ]; + serverConfiguration = '' + filter rspamd proc-exec "${pkgs.opensmtpd-filter-rspamd}/bin/filter-rspamd" + listen on 0.0.0.0 filter rspamd + action dovecot_deliver mda \ + "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" + match from any for local action dovecot_deliver + ''; + }; + services.dovecot2 = { + enable = true; + enableImap = true; + mailLocation = "maildir:~/mail"; + protocols = [ "imap" ]; + }; }; - services.dovecot2 = { - enable = true; - enableImap = true; - mailLocation = "maildir:~/mail"; - protocols = [ "imap" ]; - }; - }; - client = { pkgs, ... }: { - networking = { - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.3"; prefixLength = 24; } - ]; - }; - environment.systemPackages = let - sendTestMail = pkgs.writeScriptBin "send-a-test-mail" '' - #!${pkgs.python3.interpreter} - import smtplib, sys + client = + { pkgs, ... }: + { + networking = { + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.3"; + prefixLength = 24; + } + ]; + }; + environment.systemPackages = + let + sendTestMail = pkgs.writeScriptBin "send-a-test-mail" '' + #!${pkgs.python3.interpreter} + import smtplib, sys - with smtplib.SMTP('192.168.1.1') as smtp: - smtp.sendmail('alice@[192.168.1.1]', 'bob@[192.168.1.2]', """ - From: alice@smtp1 - To: bob@smtp2 - Subject: Test + with smtplib.SMTP('192.168.1.1') as smtp: + smtp.sendmail('alice@[192.168.1.1]', 'bob@[192.168.1.2]', """ + From: alice@smtp1 + To: bob@smtp2 + Subject: Test - Hello World - Here goes the spam test - XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X - """) - ''; + Hello World + Here goes the spam test + XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X + """) + ''; - checkMailBounced = pkgs.writeScriptBin "check-mail-bounced" '' - #!${pkgs.python3.interpreter} - import imaplib + checkMailBounced = pkgs.writeScriptBin "check-mail-bounced" '' + #!${pkgs.python3.interpreter} + import imaplib - with imaplib.IMAP4('192.168.1.1', 143) as imap: - imap.login('alice', 'foobar') - imap.select() - status, refs = imap.search(None, 'ALL') - assert status == 'OK' - assert len(refs) == 1 - status, msg = imap.fetch(refs[0], 'BODY[TEXT]') - assert status == 'OK' - content = msg[0][1] - print("===> content:", content) - assert b"An error has occurred while attempting to deliver a message" in content - ''; - in [ sendTestMail checkMailBounced ]; - }; + with imaplib.IMAP4('192.168.1.1', 143) as imap: + imap.login('alice', 'foobar') + imap.select() + status, refs = imap.search(None, 'ALL') + assert status == 'OK' + assert len(refs) == 1 + status, msg = imap.fetch(refs[0], 'BODY[TEXT]') + assert status == 'OK' + content = msg[0][1] + print("===> content:", content) + assert b"An error has occurred while attempting to deliver a message" in content + ''; + in + [ + sendTestMail + checkMailBounced + ]; + }; }; testScript = '' diff --git a/nixos/tests/opensmtpd.nix b/nixos/tests/opensmtpd.nix index d32f82ed33b8c..6e848354c103d 100644 --- a/nixos/tests/opensmtpd.nix +++ b/nixos/tests/opensmtpd.nix @@ -2,103 +2,126 @@ import ./make-test-python.nix { name = "opensmtpd"; nodes = { - smtp1 = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - networking = { - firewall.allowedTCPPorts = [ 25 ]; - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; + smtp1 = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + networking = { + firewall.allowedTCPPorts = [ 25 ]; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + }; + environment.systemPackages = [ pkgs.opensmtpd ]; + services.opensmtpd = { + enable = true; + extraServerArgs = [ "-v" ]; + serverConfiguration = '' + listen on 0.0.0.0 + action do_relay relay + # DO NOT DO THIS IN PRODUCTION! + # Setting up authentication requires a certificate which is painful in + # a test environment, but THIS WOULD BE DANGEROUS OUTSIDE OF A + # WELL-CONTROLLED ENVIRONMENT! + match from any for any action do_relay + ''; + }; }; - environment.systemPackages = [ pkgs.opensmtpd ]; - services.opensmtpd = { - enable = true; - extraServerArgs = [ "-v" ]; - serverConfiguration = '' - listen on 0.0.0.0 - action do_relay relay - # DO NOT DO THIS IN PRODUCTION! - # Setting up authentication requires a certificate which is painful in - # a test environment, but THIS WOULD BE DANGEROUS OUTSIDE OF A - # WELL-CONTROLLED ENVIRONMENT! - match from any for any action do_relay - ''; - }; - }; - smtp2 = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - networking = { - firewall.allowedTCPPorts = [ 25 143 ]; - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; - }; - environment.systemPackages = [ pkgs.opensmtpd ]; - services.opensmtpd = { - enable = true; - extraServerArgs = [ "-v" ]; - serverConfiguration = '' - listen on 0.0.0.0 - action dovecot_deliver mda \ - "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" - match from any for local action dovecot_deliver - ''; - }; - services.dovecot2 = { - enable = true; - enableImap = true; - mailLocation = "maildir:~/mail"; - protocols = [ "imap" ]; + smtp2 = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + networking = { + firewall.allowedTCPPorts = [ + 25 + 143 + ]; + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; + environment.systemPackages = [ pkgs.opensmtpd ]; + services.opensmtpd = { + enable = true; + extraServerArgs = [ "-v" ]; + serverConfiguration = '' + listen on 0.0.0.0 + action dovecot_deliver mda \ + "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" + match from any for local action dovecot_deliver + ''; + }; + services.dovecot2 = { + enable = true; + enableImap = true; + mailLocation = "maildir:~/mail"; + protocols = [ "imap" ]; + }; }; - }; - client = { pkgs, ... }: { - networking = { - useDHCP = false; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.3"; prefixLength = 24; } - ]; - }; - environment.systemPackages = let - sendTestMail = pkgs.writeScriptBin "send-a-test-mail" '' - #!${pkgs.python3.interpreter} - import smtplib, sys + client = + { pkgs, ... }: + { + networking = { + useDHCP = false; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.3"; + prefixLength = 24; + } + ]; + }; + environment.systemPackages = + let + sendTestMail = pkgs.writeScriptBin "send-a-test-mail" '' + #!${pkgs.python3.interpreter} + import smtplib, sys - with smtplib.SMTP('192.168.1.1') as smtp: - smtp.sendmail('alice@[192.168.1.1]', 'bob@[192.168.1.2]', """ - From: alice@smtp1 - To: bob@smtp2 - Subject: Test + with smtplib.SMTP('192.168.1.1') as smtp: + smtp.sendmail('alice@[192.168.1.1]', 'bob@[192.168.1.2]', """ + From: alice@smtp1 + To: bob@smtp2 + Subject: Test - Hello World - """) - ''; + Hello World + """) + ''; - checkMailLanded = pkgs.writeScriptBin "check-mail-landed" '' - #!${pkgs.python3.interpreter} - import imaplib + checkMailLanded = pkgs.writeScriptBin "check-mail-landed" '' + #!${pkgs.python3.interpreter} + import imaplib - with imaplib.IMAP4('192.168.1.2', 143) as imap: - imap.login('bob', 'foobar') - imap.select() - status, refs = imap.search(None, 'ALL') - assert status == 'OK' - assert len(refs) == 1 - status, msg = imap.fetch(refs[0], 'BODY[TEXT]') - assert status == 'OK' - content = msg[0][1] - print("===> content:", content) - split = content.split(b'\r\n') - print("===> split:", split) - lastline = split[-3] - print("===> lastline:", lastline) - assert lastline.strip() == b'Hello World' - ''; - in [ sendTestMail checkMailLanded ]; - }; + with imaplib.IMAP4('192.168.1.2', 143) as imap: + imap.login('bob', 'foobar') + imap.select() + status, refs = imap.search(None, 'ALL') + assert status == 'OK' + assert len(refs) == 1 + status, msg = imap.fetch(refs[0], 'BODY[TEXT]') + assert status == 'OK' + content = msg[0][1] + print("===> content:", content) + split = content.split(b'\r\n') + print("===> split:", split) + lastline = split[-3] + print("===> lastline:", lastline) + assert lastline.strip() == b'Hello World' + ''; + in + [ + sendTestMail + checkMailLanded + ]; + }; }; testScript = '' diff --git a/nixos/tests/opensnitch.nix b/nixos/tests/opensnitch.nix index a1af07647f712..4781cc485dbe0 100644 --- a/nixos/tests/opensnitch.nix +++ b/nixos/tests/opensnitch.nix @@ -1,62 +1,68 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "opensnitch"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "opensnitch"; - meta = with pkgs.lib.maintainers; { - maintainers = [ onny ]; - }; + meta = with pkgs.lib.maintainers; { + maintainers = [ onny ]; + }; - nodes = { - server = - { ... }: { - networking.firewall.allowedTCPPorts = [ 80 ]; - services.caddy = { - enable = true; - virtualHosts."localhost".extraConfig = '' - respond "Hello, world!" - ''; + nodes = { + server = + { ... }: + { + networking.firewall.allowedTCPPorts = [ 80 ]; + services.caddy = { + enable = true; + virtualHosts."localhost".extraConfig = '' + respond "Hello, world!" + ''; + }; }; - }; - clientBlocked = - { ... }: { - services.opensnitch = { - enable = true; - settings.DefaultAction = "deny"; + clientBlocked = + { ... }: + { + services.opensnitch = { + enable = true; + settings.DefaultAction = "deny"; + }; }; - }; - clientAllowed = - { ... }: { - services.opensnitch = { - enable = true; - settings.DefaultAction = "deny"; - rules = { - curl = { - name = "curl"; - enabled = true; - action = "allow"; - duration = "always"; - operator = { - type ="simple"; - sensitive = false; - operand = "process.path"; - data = "${pkgs.curl}/bin/curl"; + clientAllowed = + { ... }: + { + services.opensnitch = { + enable = true; + settings.DefaultAction = "deny"; + rules = { + curl = { + name = "curl"; + enabled = true; + action = "allow"; + duration = "always"; + operator = { + type = "simple"; + sensitive = false; + operand = "process.path"; + data = "${pkgs.curl}/bin/curl"; + }; }; }; }; }; - }; - }; + }; - testScript = '' - start_all() - server.wait_for_unit("caddy.service") - server.wait_for_open_port(80) + testScript = '' + start_all() + server.wait_for_unit("caddy.service") + server.wait_for_open_port(80) - clientBlocked.wait_for_unit("opensnitchd.service") - clientBlocked.fail("curl http://server") + clientBlocked.wait_for_unit("opensnitchd.service") + clientBlocked.fail("curl http://server") - clientAllowed.wait_for_unit("opensnitchd.service") - clientAllowed.succeed("curl http://server") - ''; -}) + clientAllowed.wait_for_unit("opensnitchd.service") + clientAllowed.succeed("curl http://server") + ''; + } +) diff --git a/nixos/tests/openstack-image.nix b/nixos/tests/openstack-image.nix index 0b57dfb8e7eb5..8fcfde974668f 100644 --- a/nixos/tests/openstack-image.nix +++ b/nixos/tests/openstack-image.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -9,34 +10,37 @@ with pkgs.lib; with import common/ec2.nix { inherit makeTest pkgs; }; let - image = (import ../lib/eval-config.nix { - inherit system; - modules = [ - ../maintainers/scripts/openstack/openstack-image.nix - ../modules/testing/test-instrumentation.nix - ../modules/profiles/qemu-guest.nix - { - # Needed by nixos-rebuild due to lack of network access. - system.extraDependencies = with pkgs; [ - stdenv - ]; - } - ]; - }).config.system.build.openstackImage + "/nixos.qcow2"; + image = + (import ../lib/eval-config.nix { + inherit system; + modules = [ + ../maintainers/scripts/openstack/openstack-image.nix + ../modules/testing/test-instrumentation.nix + ../modules/profiles/qemu-guest.nix + { + # Needed by nixos-rebuild due to lack of network access. + system.extraDependencies = with pkgs; [ + stdenv + ]; + } + ]; + }).config.system.build.openstackImage + + "/nixos.qcow2"; sshKeys = import ./ssh-keys.nix pkgs; snakeOilPrivateKey = sshKeys.snakeOilPrivateKey.text; snakeOilPrivateKeyFile = pkgs.writeText "private-key" snakeOilPrivateKey; snakeOilPublicKey = sshKeys.snakeOilPublicKey; -in { +in +{ metadata = makeEc2Test { name = "openstack-ec2-metadata"; inherit image; sshPublicKey = snakeOilPublicKey; userData = '' SSH_HOST_ED25519_KEY_PUB:${snakeOilPublicKey} - SSH_HOST_ED25519_KEY:${replaceStrings ["\n"] ["|"] snakeOilPrivateKey} + SSH_HOST_ED25519_KEY:${replaceStrings [ "\n" ] [ "|" ] snakeOilPrivateKey} ''; script = '' machine.start() diff --git a/nixos/tests/opentabletdriver.nix b/nixos/tests/opentabletdriver.nix index a71a007c41100..b7bdb16bf005d 100644 --- a/nixos/tests/opentabletdriver.nix +++ b/nixos/tests/opentabletdriver.nix @@ -1,23 +1,26 @@ -import ./make-test-python.nix ( { pkgs, ... }: let - testUser = "alice"; -in { - name = "opentabletdriver"; - meta = { - maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; - }; - - nodes.machine = { pkgs, ... }: - { - imports = [ - ./common/user-account.nix - ./common/x11.nix - ]; - test-support.displayManager.auto.user = testUser; - hardware.opentabletdriver.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + let + testUser = "alice"; + in + { + name = "opentabletdriver"; + meta = { + maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; }; - testScript = - '' + nodes.machine = + { pkgs, ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + test-support.displayManager.auto.user = testUser; + hardware.opentabletdriver.enable = true; + }; + + testScript = '' machine.start() machine.wait_for_x() @@ -29,4 +32,5 @@ in { # Needs to run as the same user that started the service machine.succeed("su - ${testUser} -c 'otd detect'") ''; -}) + } +) diff --git a/nixos/tests/opentelemetry-collector.nix b/nixos/tests/opentelemetry-collector.nix index 98e597cf807b5..1d8d4ea815c40 100644 --- a/nixos/tests/opentelemetry-collector.nix +++ b/nixos/tests/opentelemetry-collector.nix @@ -1,78 +1,87 @@ -import ./make-test-python.nix ({ pkgs, ...} : let - port = 4318; -in { - name = "opentelemetry-collector"; - meta = with pkgs.lib.maintainers; { - maintainers = [ tylerjl ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + port = 4318; + in + { + name = "opentelemetry-collector"; + meta = with pkgs.lib.maintainers; { + maintainers = [ tylerjl ]; + }; - nodes.machine = { ... }: { - networking.firewall.allowedTCPPorts = [ port ]; - services.opentelemetry-collector = { - enable = true; - settings = { - exporters.logging.verbosity = "detailed"; - receivers.otlp.protocols = { - http.endpoint = "0.0.0.0:${toString port}"; - }; - service = { - pipelines.logs = { - receivers = [ "otlp" ]; - exporters = [ "logging" ]; + nodes.machine = + { ... }: + { + networking.firewall.allowedTCPPorts = [ port ]; + services.opentelemetry-collector = { + enable = true; + settings = { + exporters.logging.verbosity = "detailed"; + receivers.otlp.protocols = { + http.endpoint = "0.0.0.0:${toString port}"; + }; + service = { + pipelines.logs = { + receivers = [ "otlp" ]; + exporters = [ "logging" ]; + }; + }; }; }; + virtualisation.forwardPorts = [ + { + host.port = port; + guest.port = port; + } + ]; }; - }; - virtualisation.forwardPorts = [{ - host.port = port; - guest.port = port; - }]; - }; - extraPythonPackages = p: [ - p.requests - p.types-requests - ]; + extraPythonPackages = p: [ + p.requests + p.types-requests + ]; - # Send a log event through the OTLP pipeline and check for its - # presence in the collector logs. - testScript = /* python */ '' - import requests - import time + # Send a log event through the OTLP pipeline and check for its + # presence in the collector logs. + testScript = # python + '' + import requests + import time - from uuid import uuid4 + from uuid import uuid4 - flag = str(uuid4()) + flag = str(uuid4()) - machine.wait_for_unit("opentelemetry-collector.service") - machine.wait_for_open_port(${toString port}) + machine.wait_for_unit("opentelemetry-collector.service") + machine.wait_for_open_port(${toString port}) - event = { - "resourceLogs": [ - { - "resource": {"attributes": []}, - "scopeLogs": [ - { - "logRecords": [ - { - "timeUnixNano": str(time.time_ns()), - "severityNumber": 9, - "severityText": "Info", - "name": "logTest", - "body": { - "stringValue": flag + event = { + "resourceLogs": [ + { + "resource": {"attributes": []}, + "scopeLogs": [ + { + "logRecords": [ + { + "timeUnixNano": str(time.time_ns()), + "severityNumber": 9, + "severityText": "Info", + "name": "logTest", + "body": { + "stringValue": flag + }, + "attributes": [] }, - "attributes": [] - }, - ] - } - ] - } - ] - } + ] + } + ] + } + ] + } - response = requests.post("http://localhost:${toString port}/v1/logs", json=event) - assert response.status_code == 200 - assert flag in machine.execute("journalctl -u opentelemetry-collector")[-1] - ''; -}) + response = requests.post("http://localhost:${toString port}/v1/logs", json=event) + assert response.status_code == 200 + assert flag in machine.execute("journalctl -u opentelemetry-collector")[-1] + ''; + } +) diff --git a/nixos/tests/openvscode-server.nix b/nixos/tests/openvscode-server.nix index cbff8e09c5938..eaef459530ba3 100644 --- a/nixos/tests/openvscode-server.nix +++ b/nixos/tests/openvscode-server.nix @@ -1,22 +1,26 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -{ - name = "openvscode-server"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "openvscode-server"; - nodes = { - machine = {pkgs, ...}: { - services.openvscode-server = { - enable = true; - withoutConnectionToken = true; - }; + nodes = { + machine = + { pkgs, ... }: + { + services.openvscode-server = { + enable = true; + withoutConnectionToken = true; + }; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("openvscode-server.service") - machine.wait_for_open_port(3000) - machine.succeed("curl -k --fail http://localhost:3000", timeout=10) - ''; + testScript = '' + start_all() + machine.wait_for_unit("openvscode-server.service") + machine.wait_for_open_port(3000) + machine.succeed("curl -k --fail http://localhost:3000", timeout=10) + ''; - meta.maintainers = [ lib.maintainers.drupol ]; -}) + meta.maintainers = [ lib.maintainers.drupol ]; + } +) diff --git a/nixos/tests/orangefs.nix b/nixos/tests/orangefs.nix index 4e67a7fb8efec..d388826dbf62a 100644 --- a/nixos/tests/orangefs.nix +++ b/nixos/tests/orangefs.nix @@ -1,82 +1,91 @@ -import ./make-test-python.nix ({ ... } : +import ./make-test-python.nix ( + { ... }: -let - server = { pkgs, ... } : { - networking.firewall.allowedTCPPorts = [ 3334 ]; - boot.initrd.postDeviceCommands = '' - ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb - ''; + let + server = + { pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 3334 ]; + boot.initrd.postDeviceCommands = '' + ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb + ''; - virtualisation.emptyDiskImages = [ 4096 ]; + virtualisation.emptyDiskImages = [ 4096 ]; - virtualisation.fileSystems = - { "/data" = - { device = "/dev/disk/by-label/data"; + virtualisation.fileSystems = { + "/data" = { + device = "/dev/disk/by-label/data"; fsType = "ext4"; }; - }; + }; - services.orangefs.server = { - enable = true; - dataStorageSpace = "/data/storage"; - metadataStorageSpace = "/data/meta"; - servers = { - server1 = "tcp://server1:3334"; - server2 = "tcp://server2:3334"; + services.orangefs.server = { + enable = true; + dataStorageSpace = "/data/storage"; + metadataStorageSpace = "/data/meta"; + servers = { + server1 = "tcp://server1:3334"; + server2 = "tcp://server2:3334"; + }; + }; }; - }; - }; - client = { lib, ... } : { - networking.firewall.enable = true; + client = + { lib, ... }: + { + networking.firewall.enable = true; - services.orangefs.client = { - enable = true; - fileSystems = [{ - target = "tcp://server1:3334/orangefs"; - mountPoint = "/orangefs"; - }]; - }; - }; + services.orangefs.client = { + enable = true; + fileSystems = [ + { + target = "tcp://server1:3334/orangefs"; + mountPoint = "/orangefs"; + } + ]; + }; + }; -in { - name = "orangefs"; + in + { + name = "orangefs"; - nodes = { - server1 = server; - server2 = server; + nodes = { + server1 = server; + server2 = server; - client1 = client; - client2 = client; - }; + client1 = client; + client2 = client; + }; - testScript = '' - # format storage - for server in server1, server2: - server.start() - server.wait_for_unit("multi-user.target") - server.succeed("mkdir -p /data/storage /data/meta") - server.succeed("chown orangefs:orangefs /data/storage /data/meta") - server.succeed("chmod 0770 /data/storage /data/meta") - server.succeed( - "sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf" - ) + testScript = '' + # format storage + for server in server1, server2: + server.start() + server.wait_for_unit("multi-user.target") + server.succeed("mkdir -p /data/storage /data/meta") + server.succeed("chown orangefs:orangefs /data/storage /data/meta") + server.succeed("chmod 0770 /data/storage /data/meta") + server.succeed( + "sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf" + ) - # start services after storage is formatted on all machines - for server in server1, server2: - server.succeed("systemctl start orangefs-server.service") + # start services after storage is formatted on all machines + for server in server1, server2: + server.succeed("systemctl start orangefs-server.service") - with subtest("clients can reach and mount the FS"): - for client in client1, client2: - client.start() - client.wait_for_unit("orangefs-client.service") - # Both servers need to be reachable - client.succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334") - client.succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334") - client.wait_for_unit("orangefs.mount") + with subtest("clients can reach and mount the FS"): + for client in client1, client2: + client.start() + client.wait_for_unit("orangefs-client.service") + # Both servers need to be reachable + client.succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334") + client.succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334") + client.wait_for_unit("orangefs.mount") - with subtest("R/W test between clients"): - client1.succeed("echo test > /orangefs/file1") - client2.succeed("grep test /orangefs/file1") - ''; -}) + with subtest("R/W test between clients"): + client1.succeed("echo test > /orangefs/file1") + client2.succeed("grep test /orangefs/file1") + ''; + } +) diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix index 18b646c808904..529bd9df48a75 100644 --- a/nixos/tests/os-prober.nix +++ b/nixos/tests/os-prober.nix @@ -1,141 +1,151 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -let - # A filesystem image with a (presumably) bootable debian - debianImage = pkgs.vmTools.diskImageFuns.debian11i386 { - # os-prober cannot detect systems installed on disks without a partition table - # so we create the disk ourselves - createRootFS = with pkgs; '' - ${parted}/bin/parted --script /dev/vda mklabel msdos - ${parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s - mkdir /mnt - ${e2fsprogs}/bin/mkfs.ext4 -O '^metadata_csum_seed' /dev/vda1 - ${util-linux}/bin/mount -t ext4 /dev/vda1 /mnt +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + # A filesystem image with a (presumably) bootable debian + debianImage = pkgs.vmTools.diskImageFuns.debian11i386 { + # os-prober cannot detect systems installed on disks without a partition table + # so we create the disk ourselves + createRootFS = with pkgs; '' + ${parted}/bin/parted --script /dev/vda mklabel msdos + ${parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s + mkdir /mnt + ${e2fsprogs}/bin/mkfs.ext4 -O '^metadata_csum_seed' /dev/vda1 + ${util-linux}/bin/mount -t ext4 /dev/vda1 /mnt - if test -e /mnt/.debug; then - exec ${bash}/bin/sh - fi - touch /mnt/.debug + if test -e /mnt/.debug; then + exec ${bash}/bin/sh + fi + touch /mnt/.debug - mkdir /mnt/proc /mnt/dev /mnt/sys - ''; - extraPackages = [ - # /etc/os-release - "base-files" - # make the disk bootable-looking - "grub2" "linux-image-686" - ]; - # install grub - postInstall = '' - ln -sf /proc/self/mounts > /etc/mtab - PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ - grub-install /dev/vda --force - PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ - update-grub - ''; - }; - - # a part of the configuration of the test vm - simpleConfig = { - boot.loader.grub = { - enable = true; - useOSProber = true; - device = "/dev/vda"; - # vda is a filesystem without partition table - forceInstall = true; + mkdir /mnt/proc /mnt/dev /mnt/sys + ''; + extraPackages = [ + # /etc/os-release + "base-files" + # make the disk bootable-looking + "grub2" + "linux-image-686" + ]; + # install grub + postInstall = '' + ln -sf /proc/self/mounts > /etc/mtab + PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ + grub-install /dev/vda --force + PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ + update-grub + ''; }; - nix.settings = { - substituters = lib.mkForce []; - hashed-mirrors = null; - connect-timeout = 1; + + # a part of the configuration of the test vm + simpleConfig = { + boot.loader.grub = { + enable = true; + useOSProber = true; + device = "/dev/vda"; + # vda is a filesystem without partition table + forceInstall = true; + }; + nix.settings = { + substituters = lib.mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; + }; + # save some memory + documentation.enable = false; }; - # save some memory - documentation.enable = false; - }; - # /etc/nixos/configuration.nix for the vm - configFile = pkgs.writeText "configuration.nix" '' - {config, pkgs, lib, ...}: ({ - imports = - [ ./hardware-configuration.nix - - ]; - } // lib.importJSON ${ - pkgs.writeText "simpleConfig.json" (builtins.toJSON simpleConfig) - }) - ''; -in { - name = "os-prober"; + # /etc/nixos/configuration.nix for the vm + configFile = pkgs.writeText "configuration.nix" '' + {config, pkgs, lib, ...}: ({ + imports = + [ ./hardware-configuration.nix + + ]; + } // lib.importJSON ${pkgs.writeText "simpleConfig.json" (builtins.toJSON simpleConfig)}) + ''; + in + { + name = "os-prober"; - nodes.machine = { config, pkgs, ... }: (simpleConfig // { - imports = [ ../modules/profiles/installation-device.nix - ../modules/profiles/base.nix ]; - virtualisation.memorySize = 1300; - # To add the secondary disk: - virtualisation.qemu.options = [ "-drive index=2,file=${debianImage}/disk-image.qcow2,read-only,if=virtio" ]; + nodes.machine = + { config, pkgs, ... }: + ( + simpleConfig + // { + imports = [ + ../modules/profiles/installation-device.nix + ../modules/profiles/base.nix + ]; + virtualisation.memorySize = 1300; + # To add the secondary disk: + virtualisation.qemu.options = [ + "-drive index=2,file=${debianImage}/disk-image.qcow2,read-only,if=virtio" + ]; - # The test cannot access the network, so any packages - # nixos-rebuild needs must be included in the VM. - system.extraDependencies = with pkgs; - [ - bintools - brotli - brotli.dev - brotli.lib - desktop-file-utils - docbook5 - docbook_xsl_ns - grub2 - nixos-artwork.wallpapers.simple-dark-gray-bootloader - perlPackages.FileCopyRecursive - perlPackages.XMLSAX - perlPackages.XMLSAXBase - kbd - kbd.dev - kmod.dev - libarchive - libarchive.dev - libxml2.bin - libxslt.bin - nixos-artwork.wallpapers.simple-dark-gray-bottom - perlPackages.ConfigIniFiles - perlPackages.FileSlurp - perlPackages.JSON - perlPackages.ListCompare - perlPackages.XMLLibXML - # make-options-doc/default.nix - (python3.withPackages (p: [ p.mistune ])) - shared-mime-info - sudo - switch-to-configuration-ng - texinfo - unionfs-fuse - xorg.lndir - os-prober + # The test cannot access the network, so any packages + # nixos-rebuild needs must be included in the VM. + system.extraDependencies = with pkgs; [ + bintools + brotli + brotli.dev + brotli.lib + desktop-file-utils + docbook5 + docbook_xsl_ns + grub2 + nixos-artwork.wallpapers.simple-dark-gray-bootloader + perlPackages.FileCopyRecursive + perlPackages.XMLSAX + perlPackages.XMLSAXBase + kbd + kbd.dev + kmod.dev + libarchive + libarchive.dev + libxml2.bin + libxslt.bin + nixos-artwork.wallpapers.simple-dark-gray-bottom + perlPackages.ConfigIniFiles + perlPackages.FileSlurp + perlPackages.JSON + perlPackages.ListCompare + perlPackages.XMLLibXML + # make-options-doc/default.nix + (python3.withPackages (p: [ p.mistune ])) + shared-mime-info + sudo + switch-to-configuration-ng + texinfo + unionfs-fuse + xorg.lndir + os-prober - # add curl so that rather than seeing the test attempt to download - # curl's tarball, we see what it's trying to download - curl - ]; - }); + # add curl so that rather than seeing the test attempt to download + # curl's tarball, we see what it's trying to download + curl + ]; + } + ); - testScript = '' - machine.start() - machine.succeed("udevadm settle") - machine.wait_for_unit("multi-user.target") - print(machine.succeed("lsblk")) + testScript = '' + machine.start() + machine.succeed("udevadm settle") + machine.wait_for_unit("multi-user.target") + print(machine.succeed("lsblk")) - # check that os-prober works standalone - machine.succeed( - "${pkgs.os-prober}/bin/os-prober | grep /dev/vdb1" - ) + # check that os-prober works standalone + machine.succeed( + "${pkgs.os-prober}/bin/os-prober | grep /dev/vdb1" + ) - # rebuild and test that debian is available in the grub menu - machine.succeed("nixos-generate-config") - machine.copy_from_host( - "${configFile}", - "/etc/nixos/configuration.nix", - ) - machine.succeed("nixos-rebuild boot --show-trace >&2") + # rebuild and test that debian is available in the grub menu + machine.succeed("nixos-generate-config") + machine.copy_from_host( + "${configFile}", + "/etc/nixos/configuration.nix", + ) + machine.succeed("nixos-rebuild boot --show-trace >&2") - machine.succeed("egrep 'menuentry.*debian' /boot/grub/grub.cfg") - ''; -}) + machine.succeed("egrep 'menuentry.*debian' /boot/grub/grub.cfg") + ''; + } +) diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix index e98e7c1baf048..5faf2f3437405 100644 --- a/nixos/tests/osquery.nix +++ b/nixos/tests/osquery.nix @@ -1,52 +1,60 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: - -let - config_refresh = "10"; - nullvalue = "NULL"; - utc = false; -in -{ - name = "osquery"; - meta.maintainers = with lib.maintainers; [ znewman01 lewo ]; - - nodes.machine = { config, pkgs, ... }: { - services.osquery = { - enable = true; - - settings.options = { inherit nullvalue utc; }; - flags = { - inherit config_refresh; - nullvalue = "IGNORED"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + + let + config_refresh = "10"; + nullvalue = "NULL"; + utc = false; + in + { + name = "osquery"; + meta.maintainers = with lib.maintainers; [ + znewman01 + lewo + ]; + + nodes.machine = + { config, pkgs, ... }: + { + services.osquery = { + enable = true; + + settings.options = { inherit nullvalue utc; }; + flags = { + inherit config_refresh; + nullvalue = "IGNORED"; + }; + }; }; - }; - }; - - testScript = { nodes, ... }: - let - cfg = nodes.machine.services.osquery; - in - '' - machine.start() - machine.wait_for_unit("osqueryd.service") - - # Stop the osqueryd service so that we can use osqueryi to check information stored in the database. - machine.wait_until_succeeds("systemctl stop osqueryd.service") - - # osqueryd was able to query information about the host. - machine.succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | tee /dev/console | grep -q '127.0.0.1'") - - # osquery binaries respect configuration from the Nix config option. - machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"utc\";' | osqueryi | tee /dev/console | grep -q ${lib.boolToString utc}") - - # osquery binaries respect configuration from the Nix flags option. - machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"config_refresh\";' | osqueryi | tee /dev/console | grep -q ${config_refresh}") - - # Demonstrate that osquery binaries prefer configuration plugin options over CLI flags. - # https://osquery.readthedocs.io/en/latest/deployment/configuration/#options. - machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"nullvalue\";' | osqueryi | tee /dev/console | grep -q ${nullvalue}") - - # Module creates directories for default database_path and pidfile flag values. - machine.succeed("test -d $(dirname ${cfg.flags.database_path})") - machine.succeed("test -d $(dirname ${cfg.flags.pidfile})") - ''; -}) + + testScript = + { nodes, ... }: + let + cfg = nodes.machine.services.osquery; + in + '' + machine.start() + machine.wait_for_unit("osqueryd.service") + + # Stop the osqueryd service so that we can use osqueryi to check information stored in the database. + machine.wait_until_succeeds("systemctl stop osqueryd.service") + + # osqueryd was able to query information about the host. + machine.succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | tee /dev/console | grep -q '127.0.0.1'") + + # osquery binaries respect configuration from the Nix config option. + machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"utc\";' | osqueryi | tee /dev/console | grep -q ${lib.boolToString utc}") + + # osquery binaries respect configuration from the Nix flags option. + machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"config_refresh\";' | osqueryi | tee /dev/console | grep -q ${config_refresh}") + + # Demonstrate that osquery binaries prefer configuration plugin options over CLI flags. + # https://osquery.readthedocs.io/en/latest/deployment/configuration/#options. + machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"nullvalue\";' | osqueryi | tee /dev/console | grep -q ${nullvalue}") + + # Module creates directories for default database_path and pidfile flag values. + machine.succeed("test -d $(dirname ${cfg.flags.database_path})") + machine.succeed("test -d $(dirname ${cfg.flags.pidfile})") + ''; + } +) diff --git a/nixos/tests/osrm-backend.nix b/nixos/tests/osrm-backend.nix index b0e65a2ae1c10..3044504308889 100644 --- a/nixos/tests/osrm-backend.nix +++ b/nixos/tests/osrm-backend.nix @@ -1,57 +1,66 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - port = 5000; -in { - name = "osrm-backend"; - meta.maintainers = [ lib.maintainers.erictapen ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + port = 5000; + in + { + name = "osrm-backend"; + meta.maintainers = [ lib.maintainers.erictapen ]; - nodes.machine = { config, pkgs, ... }:{ + nodes.machine = + { config, pkgs, ... }: + { - services.osrm = { - enable = true; - inherit port; - dataFile = let - filename = "monaco"; - osrm-data = pkgs.stdenv.mkDerivation { - name = "osrm-data"; + services.osrm = { + enable = true; + inherit port; + dataFile = + let + filename = "monaco"; + osrm-data = pkgs.stdenv.mkDerivation { + name = "osrm-data"; - buildInputs = [ pkgs.osrm-backend ]; + buildInputs = [ pkgs.osrm-backend ]; - # This is a pbf file of monaco, downloaded at 2019-01-04 from - # http://download.geofabrik.de/europe/monaco-latest.osm.pbf - # as apparently no provider of OSM files guarantees immutability, - # this is hosted as a gist on GitHub. - src = pkgs.fetchgit { - url = "https://gist.github.com/erictapen/01e39f73a6c856eac53ba809a94cdb83"; - rev = "9b1ff0f24deb40e5cf7df51f843dbe860637b8ce"; - sha256 = "1scqhmrfnpwsy5i2a9jpggqnvfgj4hv9p4qyvc79321pzkbv59nx"; - }; + # This is a pbf file of monaco, downloaded at 2019-01-04 from + # http://download.geofabrik.de/europe/monaco-latest.osm.pbf + # as apparently no provider of OSM files guarantees immutability, + # this is hosted as a gist on GitHub. + src = pkgs.fetchgit { + url = "https://gist.github.com/erictapen/01e39f73a6c856eac53ba809a94cdb83"; + rev = "9b1ff0f24deb40e5cf7df51f843dbe860637b8ce"; + sha256 = "1scqhmrfnpwsy5i2a9jpggqnvfgj4hv9p4qyvc79321pzkbv59nx"; + }; - buildCommand = '' - cp $src/${filename}.osm.pbf . - ${pkgs.osrm-backend}/bin/osrm-extract -p ${pkgs.osrm-backend}/share/osrm/profiles/car.lua ${filename}.osm.pbf - ${pkgs.osrm-backend}/bin/osrm-partition ${filename}.osrm - ${pkgs.osrm-backend}/bin/osrm-customize ${filename}.osrm - mkdir -p $out - cp ${filename}* $out/ - ''; + buildCommand = '' + cp $src/${filename}.osm.pbf . + ${pkgs.osrm-backend}/bin/osrm-extract -p ${pkgs.osrm-backend}/share/osrm/profiles/car.lua ${filename}.osm.pbf + ${pkgs.osrm-backend}/bin/osrm-partition ${filename}.osrm + ${pkgs.osrm-backend}/bin/osrm-customize ${filename}.osrm + mkdir -p $out + cp ${filename}* $out/ + ''; + }; + in + "${osrm-data}/${filename}.osrm"; }; - in "${osrm-data}/${filename}.osrm"; - }; - environment.systemPackages = [ pkgs.jq ]; - }; + environment.systemPackages = [ pkgs.jq ]; + }; - testScript = let - query = "http://localhost:${toString port}/route/v1/driving/7.41720,43.73304;7.42463,43.73886?steps=true"; - in '' - machine.wait_for_unit("osrm.service") - machine.wait_for_open_port(${toString port}) - assert "Boulevard Rainier III" in machine.succeed( - "curl --fail --silent '${query}' | jq .waypoints[0].name" - ) - assert "Avenue de la Costa" in machine.succeed( - "curl --fail --silent '${query}' | jq .waypoints[1].name" - ) - ''; -}) + testScript = + let + query = "http://localhost:${toString port}/route/v1/driving/7.41720,43.73304;7.42463,43.73886?steps=true"; + in + '' + machine.wait_for_unit("osrm.service") + machine.wait_for_open_port(${toString port}) + assert "Boulevard Rainier III" in machine.succeed( + "curl --fail --silent '${query}' | jq .waypoints[0].name" + ) + assert "Avenue de la Costa" in machine.succeed( + "curl --fail --silent '${query}' | jq .waypoints[1].name" + ) + ''; + } +) diff --git a/nixos/tests/outline.nix b/nixos/tests/outline.nix index c7a34c5d6f85e..52f46f5338784 100644 --- a/nixos/tests/outline.nix +++ b/nixos/tests/outline.nix @@ -1,43 +1,45 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - accessKey = "BKIKJAA5BMMU2RHO6IBB"; - secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; - secretKeyFile = pkgs.writeText "outline-secret-key" '' - ${secretKey} - ''; - rootCredentialsFile = pkgs.writeText "minio-credentials-full" '' - MINIO_ROOT_USER=${accessKey} - MINIO_ROOT_PASSWORD=${secretKey} - ''; -in -{ - name = "outline"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + accessKey = "BKIKJAA5BMMU2RHO6IBB"; + secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12"; + secretKeyFile = pkgs.writeText "outline-secret-key" '' + ${secretKey} + ''; + rootCredentialsFile = pkgs.writeText "minio-credentials-full" '' + MINIO_ROOT_USER=${accessKey} + MINIO_ROOT_PASSWORD=${secretKey} + ''; + in + { + name = "outline"; - meta.maintainers = lib.teams.cyberus.members; + meta.maintainers = lib.teams.cyberus.members; - nodes = { - outline = { pkgs, config, ... }: { - nixpkgs.config.allowUnfree = true; - environment.systemPackages = [ pkgs.minio-client ]; - services.outline = { - enable = true; - forceHttps = false; - storage = { - inherit accessKey secretKeyFile; - uploadBucketUrl = "http://localhost:9000"; - uploadBucketName = "outline"; - region = config.services.minio.region; + nodes = { + outline = + { pkgs, config, ... }: + { + nixpkgs.config.allowUnfree = true; + environment.systemPackages = [ pkgs.minio-client ]; + services.outline = { + enable = true; + forceHttps = false; + storage = { + inherit accessKey secretKeyFile; + uploadBucketUrl = "http://localhost:9000"; + uploadBucketName = "outline"; + region = config.services.minio.region; + }; + }; + services.minio = { + enable = true; + inherit rootCredentialsFile; + }; }; - }; - services.minio = { - enable = true; - inherit rootCredentialsFile; - }; }; - }; - testScript = - '' + testScript = '' machine.wait_for_unit("minio.service") machine.wait_for_open_port(9000) @@ -51,4 +53,5 @@ in outline.wait_for_open_port(3000) outline.succeed("curl --fail http://localhost:3000/") ''; -}) + } +) diff --git a/nixos/tests/overlayfs.nix b/nixos/tests/overlayfs.nix index 6dab6760c5b99..cd4843229943f 100644 --- a/nixos/tests/overlayfs.nix +++ b/nixos/tests/overlayfs.nix @@ -1,47 +1,52 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "overlayfs"; - meta.maintainers = with pkgs.lib.maintainers; [ bachp ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "overlayfs"; + meta.maintainers = with pkgs.lib.maintainers; [ bachp ]; - nodes.machine = { pkgs, ... }: { - virtualisation.emptyDiskImages = [ 512 ]; - networking.hostId = "deadbeef"; - environment.systemPackages = with pkgs; [ parted ]; - }; + nodes.machine = + { pkgs, ... }: + { + virtualisation.emptyDiskImages = [ 512 ]; + networking.hostId = "deadbeef"; + environment.systemPackages = with pkgs; [ parted ]; + }; - testScript = '' - machine.succeed("ls /dev") + testScript = '' + machine.succeed("ls /dev") - machine.succeed("mkdir -p /tmp/mnt") + machine.succeed("mkdir -p /tmp/mnt") - # Test ext4 + overlayfs - machine.succeed( - 'mkfs.ext4 -F -L overlay-ext4 /dev/vdb', - 'mount -t ext4 /dev/vdb /tmp/mnt', - 'mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged', - # Setup some existing files - 'echo Replace > /tmp/mnt/lower/replace.txt', - 'echo Append > /tmp/mnt/lower/append.txt', - 'echo Overwrite > /tmp/mnt/lower/overwrite.txt', - 'mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged', - # Test new - 'echo New > /tmp/mnt/merged/new.txt', - '[[ "$(cat /tmp/mnt/merged/new.txt)" == New ]]', - # Test replace - '[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replace ]]', - 'echo Replaced > /tmp/mnt/merged/replace-tmp.txt', - 'mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt', - '[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replaced ]]', - # Overwrite - '[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwrite ]]', - 'echo Overwritten > /tmp/mnt/merged/overwrite.txt', - '[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwritten ]]', - # Test append - '[[ "$(cat /tmp/mnt/merged/append.txt)" == Append ]]', - 'echo ed >> /tmp/mnt/merged/append.txt', - '[[ "$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]', - 'umount /tmp/mnt/merged', - 'umount /tmp/mnt', - 'udevadm settle', - ) - ''; -}) + # Test ext4 + overlayfs + machine.succeed( + 'mkfs.ext4 -F -L overlay-ext4 /dev/vdb', + 'mount -t ext4 /dev/vdb /tmp/mnt', + 'mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged', + # Setup some existing files + 'echo Replace > /tmp/mnt/lower/replace.txt', + 'echo Append > /tmp/mnt/lower/append.txt', + 'echo Overwrite > /tmp/mnt/lower/overwrite.txt', + 'mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged', + # Test new + 'echo New > /tmp/mnt/merged/new.txt', + '[[ "$(cat /tmp/mnt/merged/new.txt)" == New ]]', + # Test replace + '[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replace ]]', + 'echo Replaced > /tmp/mnt/merged/replace-tmp.txt', + 'mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt', + '[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replaced ]]', + # Overwrite + '[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwrite ]]', + 'echo Overwritten > /tmp/mnt/merged/overwrite.txt', + '[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwritten ]]', + # Test append + '[[ "$(cat /tmp/mnt/merged/append.txt)" == Append ]]', + 'echo ed >> /tmp/mnt/merged/append.txt', + '[[ "$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]', + 'umount /tmp/mnt/merged', + 'umount /tmp/mnt', + 'udevadm settle', + ) + ''; + } +) diff --git a/nixos/tests/owncast.nix b/nixos/tests/owncast.nix index 73aac4e704751..a081cd5b544d3 100644 --- a/nixos/tests/owncast.nix +++ b/nixos/tests/owncast.nix @@ -1,44 +1,75 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "owncast"; - meta = with pkgs.lib.maintainers; { maintainers = [ MayNiklas ]; }; - - nodes = { - client = { pkgs, ... }: with pkgs.lib; { - networking = { - dhcpcd.enable = false; - interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ]; - interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "owncast"; + meta = with pkgs.lib.maintainers; { + maintainers = [ MayNiklas ]; }; - server = { pkgs, ... }: with pkgs.lib; { - networking = { - dhcpcd.enable = false; - useNetworkd = true; - useDHCP = false; - interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ]; - interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; - firewall.allowedTCPPorts = [ 8080 ]; - }; + nodes = { + client = + { pkgs, ... }: + with pkgs.lib; + { + networking = { + dhcpcd.enable = false; + interfaces.eth1.ipv6.addresses = mkOverride 0 [ + { + address = "fd00::2"; + prefixLength = 64; + } + ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; + }; + server = + { pkgs, ... }: + with pkgs.lib; + { + networking = { + dhcpcd.enable = false; + useNetworkd = true; + useDHCP = false; + interfaces.eth1.ipv6.addresses = mkOverride 0 [ + { + address = "fd00::1"; + prefixLength = 64; + } + ]; + interfaces.eth1.ipv4.addresses = mkOverride 0 [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + + firewall.allowedTCPPorts = [ 8080 ]; + }; - services.owncast = { - enable = true; - listen = "0.0.0.0"; - }; + services.owncast = { + enable = true; + listen = "0.0.0.0"; + }; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - client.systemctl("start network-online.target") - server.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") - server.wait_for_unit("network-online.target") - server.wait_for_unit("owncast.service") - server.wait_until_succeeds("ss -ntl | grep -q 8080") + client.systemctl("start network-online.target") + server.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") + server.wait_for_unit("network-online.target") + server.wait_for_unit("owncast.service") + server.wait_until_succeeds("ss -ntl | grep -q 8080") - client.succeed("curl http://192.168.1.1:8080/api/status") - client.succeed("curl http://[fd00::1]:8080/api/status") - ''; -}) + client.succeed("curl http://192.168.1.1:8080/api/status") + client.succeed("curl http://[fd00::1]:8080/api/status") + ''; + } +) diff --git a/nixos/tests/pacemaker.nix b/nixos/tests/pacemaker.nix index 6845576149537..6b711ad945520 100644 --- a/nixos/tests/pacemaker.nix +++ b/nixos/tests/pacemaker.nix @@ -1,110 +1,118 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: rec { - name = "pacemaker"; - meta = with pkgs.lib.maintainers; { - maintainers = [ astro ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + rec { + name = "pacemaker"; + meta = with pkgs.lib.maintainers; { + maintainers = [ astro ]; + }; - nodes = - let - node = i: { - networking.interfaces.eth1.ipv4.addresses = [ { - address = "192.168.0.${toString i}"; - prefixLength = 24; - } ]; + nodes = + let + node = i: { + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.0.${toString i}"; + prefixLength = 24; + } + ]; - services.corosync = { - enable = true; - clusterName = "zentralwerk-network"; - nodelist = lib.imap (i: name: { - nodeid = i; - inherit name; - ring_addrs = [ - (builtins.head nodes.${name}.networking.interfaces.eth1.ipv4.addresses).address - ]; - }) (builtins.attrNames nodes); - }; - environment.etc."corosync/authkey" = { - source = builtins.toFile "authkey" - # minimum length: 128 bytes - "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest"; - mode = "0400"; - }; + services.corosync = { + enable = true; + clusterName = "zentralwerk-network"; + nodelist = lib.imap (i: name: { + nodeid = i; + inherit name; + ring_addrs = [ + (builtins.head nodes.${name}.networking.interfaces.eth1.ipv4.addresses).address + ]; + }) (builtins.attrNames nodes); + }; + environment.etc."corosync/authkey" = { + source = + builtins.toFile "authkey" + # minimum length: 128 bytes + "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest"; + mode = "0400"; + }; - services.pacemaker.enable = true; + services.pacemaker.enable = true; - # used for pacemaker resource - systemd.services.ha-cat = { - description = "Highly available netcat"; - serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l discard"; + # used for pacemaker resource + systemd.services.ha-cat = { + description = "Highly available netcat"; + serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l discard"; + }; }; + in + { + node1 = node 1; + node2 = node 2; + node3 = node 3; }; - in { - node1 = node 1; - node2 = node 2; - node3 = node 3; - }; - # sets up pacemaker with resources configuration, then crashes a - # node and waits for service restart on another node - testScript = - let - resources = builtins.toFile "cib-resources.xml" '' - - - - - - - - - - ''; - in '' - import re - import time + # sets up pacemaker with resources configuration, then crashes a + # node and waits for service restart on another node + testScript = + let + resources = builtins.toFile "cib-resources.xml" '' + + + + + + + + + + ''; + in + '' + import re + import time - start_all() + start_all() - ${lib.concatMapStrings (node: '' - ${node}.wait_until_succeeds("corosync-quorumtool") - ${node}.wait_for_unit("pacemaker.service") - '') (builtins.attrNames nodes)} + ${lib.concatMapStrings (node: '' + ${node}.wait_until_succeeds("corosync-quorumtool") + ${node}.wait_for_unit("pacemaker.service") + '') (builtins.attrNames nodes)} - # No STONITH device - node1.succeed("crm_attribute -t crm_config -n stonith-enabled -v false") - # Configure the cat resource - node1.succeed("cibadmin --replace --scope resources --xml-file ${resources}") + # No STONITH device + node1.succeed("crm_attribute -t crm_config -n stonith-enabled -v false") + # Configure the cat resource + node1.succeed("cibadmin --replace --scope resources --xml-file ${resources}") - # wait until the service is started - while True: - output = node1.succeed("crm_resource -r cat --locate") - match = re.search("is running on: (.+)", output) - if match: - for machine in machines: - if machine.name == match.group(1): - current_node = machine - break - time.sleep(1) + # wait until the service is started + while True: + output = node1.succeed("crm_resource -r cat --locate") + match = re.search("is running on: (.+)", output) + if match: + for machine in machines: + if machine.name == match.group(1): + current_node = machine + break + time.sleep(1) - current_node.log("Service running here!") - current_node.crash() + current_node.log("Service running here!") + current_node.crash() - # pick another node that's still up - for machine in machines: - if machine.booted: - check_node = machine - # find where the service has been started next - while True: - output = check_node.succeed("crm_resource -r cat --locate") - match = re.search("is running on: (.+)", output) - # output will remain the old current_node until the crash is detected by pacemaker - if match and match.group(1) != current_node.name: - for machine in machines: - if machine.name == match.group(1): - next_node = machine - break - time.sleep(1) + # pick another node that's still up + for machine in machines: + if machine.booted: + check_node = machine + # find where the service has been started next + while True: + output = check_node.succeed("crm_resource -r cat --locate") + match = re.search("is running on: (.+)", output) + # output will remain the old current_node until the crash is detected by pacemaker + if match and match.group(1) != current_node.name: + for machine in machines: + if machine.name == match.group(1): + next_node = machine + break + time.sleep(1) - next_node.log("Service migrated here!") - ''; -}) + next_node.log("Service migrated here!") + ''; + } +) diff --git a/nixos/tests/packagekit.nix b/nixos/tests/packagekit.nix index 5769c6c9a8d45..1dc248217b110 100644 --- a/nixos/tests/packagekit.nix +++ b/nixos/tests/packagekit.nix @@ -1,25 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "packagekit"; - meta = with pkgs.lib.maintainers; { - maintainers = [ peterhoeg ]; - }; - - nodes.machine = { ... }: { - environment.systemPackages = with pkgs; [ dbus ]; - services.packagekit = { - enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "packagekit"; + meta = with pkgs.lib.maintainers; { + maintainers = [ peterhoeg ]; }; - }; - testScript = '' - start_all() + nodes.machine = + { ... }: + { + environment.systemPackages = with pkgs; [ dbus ]; + services.packagekit = { + enable = true; + }; + }; + + testScript = '' + start_all() - # send a dbus message to activate the service - machine.succeed( - "dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect" - ) + # send a dbus message to activate the service + machine.succeed( + "dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.PackageKit /org/freedesktop/PackageKit org.freedesktop.DBus.Introspectable.Introspect" + ) - # so now it should be running - machine.wait_for_unit("packagekit.service") - ''; -}) + # so now it should be running + machine.wait_for_unit("packagekit.service") + ''; + } +) diff --git a/nixos/tests/pam/pam-oath-login.nix b/nixos/tests/pam/pam-oath-login.nix index dd6ef4a0abcb8..25602b72d35c7 100644 --- a/nixos/tests/pam/pam-oath-login.nix +++ b/nixos/tests/pam/pam-oath-login.nix @@ -1,108 +1,109 @@ -import ../make-test-python.nix ({ ... }: - -let - oathSnakeoilSecret = "cdd4083ef8ff1fa9178c6d46bfb1a3"; - - # With HOTP mode the password is calculated based on a counter of - # how many passwords have been made. In this env, we'll always be on - # the 0th counter, so the password is static. - # - # Generated in nix-shell -p oath-toolkit - # via: oathtool -v -d6 -w10 cdd4083ef8ff1fa9178c6d46bfb1a3 - # and picking a the first 4: - oathSnakeOilPassword1 = "143349"; - oathSnakeOilPassword2 = "801753"; - - alicePassword = "foobar"; - # Generated via: mkpasswd -m sha-512 and passing in "foobar" - hashedAlicePassword = "$6$MsMrE1q.1HrCgTS$Vq2e/uILzYjSN836TobAyN9xh9oi7EmCmucnZID25qgPoibkw8qTCugiAPnn4eCGvn1A.7oEBFJaaGUaJsQQY."; - -in -{ - name = "pam-oath-login"; - - nodes.machine = - { ... }: - { - security.pam.oath = { - enable = true; - }; - - users.users.alice = { - isNormalUser = true; - name = "alice"; - uid = 1000; - hashedPassword = hashedAlicePassword; - extraGroups = [ "wheel" ]; - createHome = true; - home = "/home/alice"; - }; +import ../make-test-python.nix ( + { ... }: + + let + oathSnakeoilSecret = "cdd4083ef8ff1fa9178c6d46bfb1a3"; + + # With HOTP mode the password is calculated based on a counter of + # how many passwords have been made. In this env, we'll always be on + # the 0th counter, so the password is static. + # + # Generated in nix-shell -p oath-toolkit + # via: oathtool -v -d6 -w10 cdd4083ef8ff1fa9178c6d46bfb1a3 + # and picking a the first 4: + oathSnakeOilPassword1 = "143349"; + oathSnakeOilPassword2 = "801753"; + + alicePassword = "foobar"; + # Generated via: mkpasswd -m sha-512 and passing in "foobar" + hashedAlicePassword = "$6$MsMrE1q.1HrCgTS$Vq2e/uILzYjSN836TobAyN9xh9oi7EmCmucnZID25qgPoibkw8qTCugiAPnn4eCGvn1A.7oEBFJaaGUaJsQQY."; + + in + { + name = "pam-oath-login"; + + nodes.machine = + { ... }: + { + security.pam.oath = { + enable = true; + }; + users.users.alice = { + isNormalUser = true; + name = "alice"; + uid = 1000; + hashedPassword = hashedAlicePassword; + extraGroups = [ "wheel" ]; + createHome = true; + home = "/home/alice"; + }; - systemd.services.setupOathSnakeoilFile = { - wantedBy = [ "default.target" ]; - before = [ "default.target" ]; - unitConfig = { - type = "oneshot"; - RemainAfterExit = true; + systemd.services.setupOathSnakeoilFile = { + wantedBy = [ "default.target" ]; + before = [ "default.target" ]; + unitConfig = { + type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + touch /etc/users.oath + chmod 600 /etc/users.oath + chown root /etc/users.oath + echo "HOTP/E/6 alice - ${oathSnakeoilSecret}" > /etc/users.oath + ''; }; - script = '' - touch /etc/users.oath - chmod 600 /etc/users.oath - chown root /etc/users.oath - echo "HOTP/E/6 alice - ${oathSnakeoilSecret}" > /etc/users.oath - ''; }; - }; - testScript = '' - def switch_to_tty(tty_number): - machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'") - machine.send_key(f"alt-f{tty_number}") - machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]") - machine.wait_for_unit(f"getty@tty{tty_number}.service") - machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'") + testScript = '' + def switch_to_tty(tty_number): + machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'") + machine.send_key(f"alt-f{tty_number}") + machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]") + machine.wait_for_unit(f"getty@tty{tty_number}.service") + machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'") - def enter_user_alice(tty_number): - machine.wait_until_tty_matches(tty_number, "login: ") - machine.send_chars("alice\n") - machine.wait_until_tty_matches(tty_number, "login: alice") - machine.wait_until_succeeds("pgrep login") - machine.wait_until_tty_matches(tty_number, "One-time password") + def enter_user_alice(tty_number): + machine.wait_until_tty_matches(tty_number, "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches(tty_number, "login: alice") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches(tty_number, "One-time password") - machine.wait_for_unit("multi-user.target") - machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - machine.screenshot("postboot") + machine.wait_for_unit("multi-user.target") + machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + machine.screenshot("postboot") - with subtest("Invalid password"): - switch_to_tty("2") - enter_user_alice("2") + with subtest("Invalid password"): + switch_to_tty("2") + enter_user_alice("2") - machine.send_chars("${oathSnakeOilPassword1}\n") - machine.wait_until_tty_matches("2", "Password: ") - machine.send_chars("blorg\n") - machine.wait_until_tty_matches("2", "Login incorrect") + machine.send_chars("${oathSnakeOilPassword1}\n") + machine.wait_until_tty_matches("2", "Password: ") + machine.send_chars("blorg\n") + machine.wait_until_tty_matches("2", "Login incorrect") - with subtest("Invalid oath token"): - switch_to_tty("3") - enter_user_alice("3") + with subtest("Invalid oath token"): + switch_to_tty("3") + enter_user_alice("3") - machine.send_chars("000000\n") - machine.wait_until_tty_matches("3", "Login incorrect") - machine.wait_until_tty_matches("3", "login:") + machine.send_chars("000000\n") + machine.wait_until_tty_matches("3", "Login incorrect") + machine.wait_until_tty_matches("3", "login:") - with subtest("Happy path: Both passwords are mandatory to get us in"): - switch_to_tty("4") - enter_user_alice("4") + with subtest("Happy path: Both passwords are mandatory to get us in"): + switch_to_tty("4") + enter_user_alice("4") - machine.send_chars("${oathSnakeOilPassword2}\n") - machine.wait_until_tty_matches("4", "Password: ") - machine.send_chars("${alicePassword}\n") + machine.send_chars("${oathSnakeOilPassword2}\n") + machine.wait_until_tty_matches("4", "Password: ") + machine.send_chars("${alicePassword}\n") - machine.wait_until_succeeds("pgrep -u alice bash") - machine.send_chars("touch done4\n") - machine.wait_for_file("/home/alice/done4") + machine.wait_until_succeeds("pgrep -u alice bash") + machine.send_chars("touch done4\n") + machine.wait_for_file("/home/alice/done4") ''; -}) + } +) diff --git a/nixos/tests/pam/pam-u2f.nix b/nixos/tests/pam/pam-u2f.nix index caa56c30bbce9..c889cb9ee2fad 100644 --- a/nixos/tests/pam/pam-u2f.nix +++ b/nixos/tests/pam/pam-u2f.nix @@ -1,30 +1,31 @@ -import ../make-test-python.nix ({ ... }: +import ../make-test-python.nix ( + { ... }: -{ - name = "pam-u2f"; + { + name = "pam-u2f"; - nodes.machine = - { ... }: - { - security.pam.u2f = { - enable = true; - control = "required"; - settings = { - cue = true; - debug = true; - interactive = true; - origin = "nixos-test"; - # Freeform option - userpresence = 1; + nodes.machine = + { ... }: + { + security.pam.u2f = { + enable = true; + control = "required"; + settings = { + cue = true; + debug = true; + interactive = true; + origin = "nixos-test"; + # Freeform option + userpresence = 1; + }; }; }; - }; - testScript = - '' + testScript = '' machine.wait_for_unit("multi-user.target") machine.succeed( 'egrep "auth required .*/lib/security/pam_u2f.so.*cue.*debug.*interactive.*origin=nixos-test.*userpresence=1" /etc/pam.d/ -R' ) ''; -}) + } +) diff --git a/nixos/tests/pam/pam-ussh.nix b/nixos/tests/pam/pam-ussh.nix index ba0570dbf97d2..c5eefd12aa3b9 100644 --- a/nixos/tests/pam/pam-ussh.nix +++ b/nixos/tests/pam/pam-ussh.nix @@ -1,62 +1,74 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: +import ../make-test-python.nix ( + { pkgs, lib, ... }: -let - testOnlySSHCredentials = pkgs.runCommand "pam-ussh-test-ca" { - nativeBuildInputs = [ pkgs.openssh ]; - } '' - mkdir $out - ssh-keygen -t ed25519 -N "" -f $out/ca + let + testOnlySSHCredentials = + pkgs.runCommand "pam-ussh-test-ca" + { + nativeBuildInputs = [ pkgs.openssh ]; + } + '' + mkdir $out + ssh-keygen -t ed25519 -N "" -f $out/ca - ssh-keygen -t ed25519 -N "" -f $out/alice - ssh-keygen -s $out/ca -I "alice user key" -n "alice,root" -V 19700101:forever $out/alice.pub + ssh-keygen -t ed25519 -N "" -f $out/alice + ssh-keygen -s $out/ca -I "alice user key" -n "alice,root" -V 19700101:forever $out/alice.pub - ssh-keygen -t ed25519 -N "" -f $out/bob - ssh-keygen -s $out/ca -I "bob user key" -n "bob" -V 19700101:forever $out/bob.pub - ''; - makeTestScript = user: pkgs.writeShellScript "pam-ussh-${user}-test-script" '' - set -euo pipefail + ssh-keygen -t ed25519 -N "" -f $out/bob + ssh-keygen -s $out/ca -I "bob user key" -n "bob" -V 19700101:forever $out/bob.pub + ''; + makeTestScript = + user: + pkgs.writeShellScript "pam-ussh-${user}-test-script" '' + set -euo pipefail - eval $(${pkgs.openssh}/bin/ssh-agent) + eval $(${pkgs.openssh}/bin/ssh-agent) - mkdir -p $HOME/.ssh - chmod 700 $HOME/.ssh - cp ${testOnlySSHCredentials}/${user}{,.pub,-cert.pub} $HOME/.ssh - chmod 600 $HOME/.ssh/${user} - chmod 644 $HOME/.ssh/${user}{,-cert}.pub + mkdir -p $HOME/.ssh + chmod 700 $HOME/.ssh + cp ${testOnlySSHCredentials}/${user}{,.pub,-cert.pub} $HOME/.ssh + chmod 600 $HOME/.ssh/${user} + chmod 644 $HOME/.ssh/${user}{,-cert}.pub - set -x + set -x - ${pkgs.openssh}/bin/ssh-add $HOME/.ssh/${user} - ${pkgs.openssh}/bin/ssh-add -l &>2 + ${pkgs.openssh}/bin/ssh-add $HOME/.ssh/${user} + ${pkgs.openssh}/bin/ssh-add -l &>2 - exec sudo id -u -n - ''; -in { - name = "pam-ussh"; - meta.maintainers = with lib.maintainers; [ lukegb ]; + exec sudo id -u -n + ''; + in + { + name = "pam-ussh"; + meta.maintainers = with lib.maintainers; [ lukegb ]; - machine = - { ... }: - { - users.users.alice = { isNormalUser = true; extraGroups = [ "wheel" ]; }; - users.users.bob = { isNormalUser = true; extraGroups = [ "wheel" ]; }; + machine = + { ... }: + { + users.users.alice = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + users.users.bob = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; - security.pam.ussh = { - enable = true; - authorizedPrincipals = "root"; - caFile = "${testOnlySSHCredentials}/ca.pub"; - }; + security.pam.ussh = { + enable = true; + authorizedPrincipals = "root"; + caFile = "${testOnlySSHCredentials}/ca.pub"; + }; - security.sudo = { - enable = true; - extraConfig = '' - Defaults lecture="never" - ''; + security.sudo = { + enable = true; + extraConfig = '' + Defaults lecture="never" + ''; + }; }; - }; - testScript = - '' + testScript = '' with subtest("alice should be allowed to escalate to root"): machine.succeed( 'su -c "${makeTestScript "alice"}" -l alice | grep root' @@ -67,4 +79,5 @@ in { 'su -c "${makeTestScript "bob"}" -l bob | grep root' ) ''; -}) + } +) diff --git a/nixos/tests/pam/zfs-key.nix b/nixos/tests/pam/zfs-key.nix index 4f54c287e91a1..2a494eaa57022 100644 --- a/nixos/tests/pam/zfs-key.nix +++ b/nixos/tests/pam/zfs-key.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ ... }: +import ../make-test-python.nix ( + { ... }: let userPassword = "password"; @@ -8,7 +9,8 @@ import ../make-test-python.nix ({ ... }: name = "pam-zfs-key"; nodes.machine = - { ... }: { + { ... }: + { boot.supportedFilesystems = [ "zfs" ]; networking.hostId = "12345678"; @@ -27,7 +29,8 @@ import ../make-test-python.nix ({ ... }: }; }; - testScript = { nodes, ... }: + testScript = + { nodes, ... }: let homes = nodes.machine.security.pam.zfs.homes; pool = builtins.head (builtins.split "/" homes); diff --git a/nixos/tests/parsedmarc/default.nix b/nixos/tests/parsedmarc/default.nix index 1feadcb7f39b0..41464b90e15b3 100644 --- a/nixos/tests/parsedmarc/default.nix +++ b/nixos/tests/parsedmarc/default.nix @@ -12,7 +12,8 @@ let sha256 = "0dq64cj49711kbja27pjl2hy0d3azrjxg91kqrh40x46fkn1dwkx"; }; - sendEmail = address: + sendEmail = + address: pkgs.writeScriptBin "send-email" '' #!${pkgs.python3.interpreter} import smtplib @@ -52,52 +53,166 @@ let ''; in { - localMail = makeTest - { - name = "parsedmarc-local-mail"; + localMail = makeTest { + name = "parsedmarc-local-mail"; + meta = with lib.maintainers; { + maintainers = [ talyz ]; + }; + + nodes.parsedmarc = + { nodes, ... }: + { + virtualisation.memorySize = 2048; + + services.postfix = { + enableSubmission = true; + enableSubmissions = true; + submissionsOptions = { + smtpd_sasl_auth_enable = "yes"; + smtpd_client_restrictions = "permit"; + }; + }; + + services.parsedmarc = { + enable = true; + provision = { + geoIp = false; + localMail = { + enable = true; + hostname = "localhost"; + }; + }; + }; + + environment.systemPackages = [ + (sendEmail "dmarc@localhost") + pkgs.jq + ]; + }; + + testScript = + { nodes }: + let + esPort = toString nodes.parsedmarc.config.services.elasticsearch.port; + valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value"; + in + '' + parsedmarc.start() + parsedmarc.wait_for_unit("postfix.service") + parsedmarc.wait_for_unit("dovecot2.service") + parsedmarc.wait_for_unit("parsedmarc.service") + parsedmarc.wait_until_succeeds( + "curl -sS -f http://localhost:${esPort}" + ) + + parsedmarc.fail( + "curl -sS -f http://localhost:${esPort}/_search?q=report_id:2940" + + " | tee /dev/console" + + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" + ) + parsedmarc.succeed("send-email") + parsedmarc.wait_until_succeeds( + "curl -sS -f http://localhost:${esPort}/_search?q=report_id:2940" + + " | tee /dev/console" + + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" + ) + ''; + }; + + externalMail = + let + certs = import ../common/acme/server/snakeoil-certs.nix; + mailDomain = certs.domain; + parsedmarcDomain = "parsedmarc.fake.domain"; + in + makeTest { + name = "parsedmarc-external-mail"; meta = with lib.maintainers; { maintainers = [ talyz ]; }; - nodes.parsedmarc = - { nodes, ... }: - { - virtualisation.memorySize = 2048; - - services.postfix = { - enableSubmission = true; - enableSubmissions = true; - submissionsOptions = { - smtpd_sasl_auth_enable = "yes"; - smtpd_client_restrictions = "permit"; + nodes = { + parsedmarc = + { nodes, ... }: + { + virtualisation.memorySize = 2048; + + security.pki.certificateFiles = [ + certs.ca.cert + ]; + + networking.extraHosts = '' + 127.0.0.1 ${parsedmarcDomain} + ${nodes.mail.config.networking.primaryIPAddress} ${mailDomain} + ''; + + services.parsedmarc = { + enable = true; + provision.geoIp = false; + settings.imap = { + host = mailDomain; + port = 993; + ssl = true; + user = "alice"; + password = "${pkgs.writeText "imap-password" "foobar"}"; + }; }; + + environment.systemPackages = [ + pkgs.jq + ]; }; - services.parsedmarc = { - enable = true; - provision = { - geoIp = false; - localMail = { - enable = true; - hostname = "localhost"; + mail = + { nodes, ... }: + { + imports = [ ../common/user-account.nix ]; + + networking.extraHosts = '' + 127.0.0.1 ${mailDomain} + ${nodes.parsedmarc.config.networking.primaryIPAddress} ${parsedmarcDomain} + ''; + + services.dovecot2 = { + enable = true; + protocols = [ "imap" ]; + sslCACert = "${certs.ca.cert}"; + sslServerCert = "${certs.${mailDomain}.cert}"; + sslServerKey = "${certs.${mailDomain}.key}"; + }; + + services.postfix = { + enable = true; + origin = mailDomain; + config = { + myhostname = mailDomain; + mydestination = mailDomain; + }; + enableSubmission = true; + enableSubmissions = true; + submissionsOptions = { + smtpd_sasl_auth_enable = "yes"; + smtpd_client_restrictions = "permit"; }; }; - }; + environment.systemPackages = [ (sendEmail "alice@${mailDomain}") ]; - environment.systemPackages = [ - (sendEmail "dmarc@localhost") - pkgs.jq - ]; - }; + networking.firewall.allowedTCPPorts = [ 993 ]; + }; + }; - testScript = { nodes }: + testScript = + { nodes }: let esPort = toString nodes.parsedmarc.config.services.elasticsearch.port; valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value"; - in '' + in + '' + mail.start() + mail.wait_for_unit("postfix.service") + mail.wait_for_unit("dovecot2.service") + parsedmarc.start() - parsedmarc.wait_for_unit("postfix.service") - parsedmarc.wait_for_unit("dovecot2.service") parsedmarc.wait_for_unit("parsedmarc.service") parsedmarc.wait_until_succeeds( "curl -sS -f http://localhost:${esPort}" @@ -108,7 +223,7 @@ in + " | tee /dev/console" + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" ) - parsedmarc.succeed("send-email") + mail.succeed("send-email") parsedmarc.wait_until_succeeds( "curl -sS -f http://localhost:${esPort}/_search?q=report_id:2940" + " | tee /dev/console" @@ -116,115 +231,4 @@ in ) ''; }; - - externalMail = - let - certs = import ../common/acme/server/snakeoil-certs.nix; - mailDomain = certs.domain; - parsedmarcDomain = "parsedmarc.fake.domain"; - in - makeTest { - name = "parsedmarc-external-mail"; - meta = with lib.maintainers; { - maintainers = [ talyz ]; - }; - - nodes = { - parsedmarc = - { nodes, ... }: - { - virtualisation.memorySize = 2048; - - security.pki.certificateFiles = [ - certs.ca.cert - ]; - - networking.extraHosts = '' - 127.0.0.1 ${parsedmarcDomain} - ${nodes.mail.config.networking.primaryIPAddress} ${mailDomain} - ''; - - services.parsedmarc = { - enable = true; - provision.geoIp = false; - settings.imap = { - host = mailDomain; - port = 993; - ssl = true; - user = "alice"; - password = "${pkgs.writeText "imap-password" "foobar"}"; - }; - }; - - environment.systemPackages = [ - pkgs.jq - ]; - }; - - mail = - { nodes, ... }: - { - imports = [ ../common/user-account.nix ]; - - networking.extraHosts = '' - 127.0.0.1 ${mailDomain} - ${nodes.parsedmarc.config.networking.primaryIPAddress} ${parsedmarcDomain} - ''; - - services.dovecot2 = { - enable = true; - protocols = [ "imap" ]; - sslCACert = "${certs.ca.cert}"; - sslServerCert = "${certs.${mailDomain}.cert}"; - sslServerKey = "${certs.${mailDomain}.key}"; - }; - - services.postfix = { - enable = true; - origin = mailDomain; - config = { - myhostname = mailDomain; - mydestination = mailDomain; - }; - enableSubmission = true; - enableSubmissions = true; - submissionsOptions = { - smtpd_sasl_auth_enable = "yes"; - smtpd_client_restrictions = "permit"; - }; - }; - environment.systemPackages = [ (sendEmail "alice@${mailDomain}") ]; - - networking.firewall.allowedTCPPorts = [ 993 ]; - }; - }; - - testScript = { nodes }: - let - esPort = toString nodes.parsedmarc.config.services.elasticsearch.port; - valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value"; - in '' - mail.start() - mail.wait_for_unit("postfix.service") - mail.wait_for_unit("dovecot2.service") - - parsedmarc.start() - parsedmarc.wait_for_unit("parsedmarc.service") - parsedmarc.wait_until_succeeds( - "curl -sS -f http://localhost:${esPort}" - ) - - parsedmarc.fail( - "curl -sS -f http://localhost:${esPort}/_search?q=report_id:2940" - + " | tee /dev/console" - + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" - ) - mail.succeed("send-email") - parsedmarc.wait_until_succeeds( - "curl -sS -f http://localhost:${esPort}/_search?q=report_id:2940" - + " | tee /dev/console" - + " | jq -es 'if . == [] then null else .[] | .hits.total${valueObject} > 0 end'" - ) - ''; - }; } diff --git a/nixos/tests/pass-secret-service.nix b/nixos/tests/pass-secret-service.nix index cdbdaa52dbc0a..9e85dd30610b4 100644 --- a/nixos/tests/pass-secret-service.nix +++ b/nixos/tests/pass-secret-service.nix @@ -1,68 +1,75 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "pass-secret-service"; - meta.maintainers = [ lib.maintainers.aidalgol ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "pass-secret-service"; + meta.maintainers = [ lib.maintainers.aidalgol ]; - nodes.machine = { nodes, pkgs, ... }: - { - imports = [ ./common/user-account.nix ]; + nodes.machine = + { nodes, pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; - services.passSecretService.enable = true; + services.passSecretService.enable = true; - environment.systemPackages = [ - # Create a script that tries to make a request to the D-Bus secrets API. - (pkgs.writers.writePython3Bin "secrets-dbus-init" - { - libraries = [ pkgs.python3Packages.secretstorage ]; - } '' - import secretstorage - print("Initializing dbus connection...") - connection = secretstorage.dbus_init() - print("Requesting default collection...") - collection = secretstorage.get_default_collection(connection) - print("Done! dbus-org.freedesktop.secrets should now be active.") - '') - pkgs.pass - ]; + environment.systemPackages = [ + # Create a script that tries to make a request to the D-Bus secrets API. + (pkgs.writers.writePython3Bin "secrets-dbus-init" + { + libraries = [ pkgs.python3Packages.secretstorage ]; + } + '' + import secretstorage + print("Initializing dbus connection...") + connection = secretstorage.dbus_init() + print("Requesting default collection...") + collection = secretstorage.get_default_collection(connection) + print("Done! dbus-org.freedesktop.secrets should now be active.") + '' + ) + pkgs.pass + ]; - programs.gnupg = { - agent.enable = true; - dirmngr.enable = true; + programs.gnupg = { + agent.enable = true; + dirmngr.enable = true; + }; }; - }; - # Some of the commands are run via a virtual console because they need to be - # run under a real login session, with D-Bus running in the environment. - testScript = { nodes, ... }: - let - user = nodes.machine.config.users.users.alice; - gpg-uid = "alice@example.net"; - gpg-pw = "foobar9000"; - ready-file = "/tmp/secrets-dbus-init.done"; - in - '' - # Initialise the pass(1) storage. - machine.succeed(""" - sudo -u alice gpg --pinentry-mode loopback --batch --passphrase ${gpg-pw} \ - --quick-gen-key ${gpg-uid} \ - """) - machine.succeed("sudo -u alice pass init ${gpg-uid}") + # Some of the commands are run via a virtual console because they need to be + # run under a real login session, with D-Bus running in the environment. + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + gpg-uid = "alice@example.net"; + gpg-pw = "foobar9000"; + ready-file = "/tmp/secrets-dbus-init.done"; + in + '' + # Initialise the pass(1) storage. + machine.succeed(""" + sudo -u alice gpg --pinentry-mode loopback --batch --passphrase ${gpg-pw} \ + --quick-gen-key ${gpg-uid} \ + """) + machine.succeed("sudo -u alice pass init ${gpg-uid}") - with subtest("Service is not running on login"): - machine.wait_until_tty_matches("1", "login: ") - machine.send_chars("alice\n") - machine.wait_until_tty_matches("1", "login: alice") - machine.wait_until_succeeds("pgrep login") - machine.wait_until_tty_matches("1", "Password: ") - machine.send_chars("${user.password}\n") - machine.wait_until_succeeds("pgrep -u alice bash") + with subtest("Service is not running on login"): + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches("1", "login: alice") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("${user.password}\n") + machine.wait_until_succeeds("pgrep -u alice bash") - _, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice") - assert "Active: inactive (dead)" in output + _, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice") + assert "Active: inactive (dead)" in output - with subtest("Service starts after a client tries to talk to the D-Bus API"): - machine.send_chars("secrets-dbus-init; touch ${ready-file}\n") - machine.wait_for_file("${ready-file}") - _, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice") - assert "Active: active (running)" in output - ''; -}) + with subtest("Service starts after a client tries to talk to the D-Bus API"): + machine.send_chars("secrets-dbus-init; touch ${ready-file}\n") + machine.wait_for_file("${ready-file}") + _, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice") + assert "Active: active (running)" in output + ''; + } +) diff --git a/nixos/tests/patroni.nix b/nixos/tests/patroni.nix index 68fce4051553e..63f8413e41f9e 100644 --- a/nixos/tests/patroni.nix +++ b/nixos/tests/patroni.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: let nodesIps = [ @@ -7,16 +8,25 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: "192.168.1.3" ]; - createNode = index: { pkgs, ... }: + createNode = + index: + { pkgs, ... }: let ip = builtins.elemAt nodesIps index; # since we already use IPs to identify servers in { networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = ip; prefixLength = 16; } + { + address = ip; + prefixLength = 16; + } ]; - networking.firewall.allowedTCPPorts = [ 5432 8008 5010 ]; + networking.firewall.allowedTCPPorts = [ + 5432 + 8008 + 5010 + ]; environment.systemPackages = [ pkgs.jq ]; @@ -27,7 +37,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: postgresqlPackage = pkgs.postgresql_14.withPackages (p: [ p.pg_safeupdate ]); scope = "cluster1"; - name = "node${toString(index + 1)}"; + name = "node${toString (index + 1)}"; nodeIp = ip; otherNodesIps = builtins.filter (h: h != ip) nodesIps; softwareWatchdog = true; @@ -97,55 +107,65 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: node2 = createNode 1; node3 = createNode 2; - etcd = { pkgs, ... }: { + etcd = + { pkgs, ... }: + { - networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.1.4"; prefixLength = 16; } - ]; + networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.1.4"; + prefixLength = 16; + } + ]; - services.etcd = { - enable = true; - listenClientUrls = [ "http://192.168.1.4:2379" ]; - }; - - networking.firewall.allowedTCPPorts = [ 2379 ]; - }; - - client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.postgresql_14 ]; + services.etcd = { + enable = true; + listenClientUrls = [ "http://192.168.1.4:2379" ]; + }; - networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = "192.168.2.1"; prefixLength = 16; } - ]; + networking.firewall.allowedTCPPorts = [ 2379 ]; + }; - services.haproxy = { - enable = true; - config = '' - global - maxconn 100 - - defaults - log global - mode tcp - retries 2 - timeout client 30m - timeout connect 4s - timeout server 30m - timeout check 5s - - listen cluster1 - bind 127.0.0.1:5432 - option httpchk - http-check expect status 200 - default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions - ${builtins.concatStringsSep "\n" (map (ip: "server postgresql_${ip}_5432 ${ip}:5432 maxconn 100 check port 8008") nodesIps)} - ''; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.postgresql_14 ]; + + networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = "192.168.2.1"; + prefixLength = 16; + } + ]; + + services.haproxy = { + enable = true; + config = '' + global + maxconn 100 + + defaults + log global + mode tcp + retries 2 + timeout client 30m + timeout connect 4s + timeout server 30m + timeout check 5s + + listen cluster1 + bind 127.0.0.1:5432 + option httpchk + http-check expect status 200 + default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions + ${builtins.concatStringsSep "\n" ( + map (ip: "server postgresql_${ip}_5432 ${ip}:5432 maxconn 100 check port 8008") nodesIps + )} + ''; + }; }; - }; }; - - testScript = '' nodes = [node1, node2, node3] @@ -203,4 +223,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: # Execute some queries with the node back up. run_dummy_queries() ''; - }) + } +) diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix index 14f1b7ea8a35f..42a227ae8eb5f 100644 --- a/nixos/tests/pdns-recursor.nix +++ b/nixos/tests/pdns-recursor.nix @@ -1,15 +1,20 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "powerdns-recursor"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "powerdns-recursor"; - nodes.server = { ... }: { - services.pdns-recursor.enable = true; - services.pdns-recursor.exportHosts= true; - networking.hosts."192.0.2.1" = [ "example.com" ]; - }; + nodes.server = + { ... }: + { + services.pdns-recursor.enable = true; + services.pdns-recursor.exportHosts = true; + networking.hosts."192.0.2.1" = [ "example.com" ]; + }; - testScript = '' - server.wait_for_unit("pdns-recursor") - server.wait_for_open_port(53) - assert "192.0.2.1" in server.succeed("host example.com localhost") - ''; -}) + testScript = '' + server.wait_for_unit("pdns-recursor") + server.wait_for_open_port(53) + assert "192.0.2.1" in server.succeed("host example.com localhost") + ''; + } +) diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix index 4800413783b1b..b53f1b114abe9 100644 --- a/nixos/tests/peerflix.nix +++ b/nixos/tests/peerflix.nix @@ -1,23 +1,26 @@ # This test runs peerflix and checks if peerflix starts -import ./make-test-python.nix ({ pkgs, ...} : { - name = "peerflix"; - meta = with pkgs.lib.maintainers; { - maintainers = [ offline ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "peerflix"; + meta = with pkgs.lib.maintainers; { + maintainers = [ offline ]; + }; - nodes = { - peerflix = - { ... }: + nodes = { + peerflix = + { ... }: { services.peerflix.enable = true; }; }; - testScript = '' - start_all() + testScript = '' + start_all() - peerflix.wait_for_unit("peerflix.service") - peerflix.wait_until_succeeds("curl -f localhost:9000") - ''; -}) + peerflix.wait_for_unit("peerflix.service") + peerflix.wait_until_succeeds("curl -f localhost:9000") + ''; + } +) diff --git a/nixos/tests/peroxide.nix b/nixos/tests/peroxide.nix index 12e196484164b..3508942d2970e 100644 --- a/nixos/tests/peroxide.nix +++ b/nixos/tests/peroxide.nix @@ -1,16 +1,20 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "peroxide"; - meta.maintainers = with lib.maintainers; [ aidalgol ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "peroxide"; + meta.maintainers = with lib.maintainers; [ aidalgol ]; - nodes.machine = - { config, pkgs, ... }: { - networking.hostName = "nixos"; - services.peroxide.enable = true; - }; + nodes.machine = + { config, pkgs, ... }: + { + networking.hostName = "nixos"; + services.peroxide.enable = true; + }; - testScript = '' - machine.wait_for_unit("peroxide.service") - machine.wait_for_open_port(1143) # IMAP - machine.wait_for_open_port(1025) # SMTP - ''; -}) + testScript = '' + machine.wait_for_unit("peroxide.service") + machine.wait_for_open_port(1143) # IMAP + machine.wait_for_open_port(1025) # SMTP + ''; + } +) diff --git a/nixos/tests/pgadmin4.nix b/nixos/tests/pgadmin4.nix index b726a3eb3b946..0a87d053f324e 100644 --- a/nixos/tests/pgadmin4.nix +++ b/nixos/tests/pgadmin4.nix @@ -1,80 +1,88 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -{ - name = "pgadmin4"; - meta.maintainers = with lib.maintainers; [ mkg20001 gador ]; + { + name = "pgadmin4"; + meta.maintainers = with lib.maintainers; [ + mkg20001 + gador + ]; - nodes = { - machine = { pkgs, ... }: { + nodes = { + machine = + { pkgs, ... }: + { - imports = [ ./common/user-account.nix ]; + imports = [ ./common/user-account.nix ]; - environment.systemPackages = with pkgs; [ - wget - curl - pgadmin4-desktopmode - ]; + environment.systemPackages = with pkgs; [ + wget + curl + pgadmin4-desktopmode + ]; - services.postgresql = { - enable = true; - authentication = '' - host all all localhost trust - ''; - }; + services.postgresql = { + enable = true; + authentication = '' + host all all localhost trust + ''; + }; - services.pgadmin = { - port = 5051; - enable = true; - initialEmail = "bruh@localhost.de"; - initialPasswordFile = pkgs.writeText "pw" "bruh2012!"; - }; - }; - machine2 = { pkgs, ... }: { + services.pgadmin = { + port = 5051; + enable = true; + initialEmail = "bruh@localhost.de"; + initialPasswordFile = pkgs.writeText "pw" "bruh2012!"; + }; + }; + machine2 = + { pkgs, ... }: + { - imports = [ ./common/user-account.nix ]; + imports = [ ./common/user-account.nix ]; - services.postgresql = { - enable = true; - }; + services.postgresql = { + enable = true; + }; - services.pgadmin = { - enable = true; - initialEmail = "bruh@localhost.de"; - initialPasswordFile = pkgs.writeText "pw" "bruh2012!"; - minimumPasswordLength = 12; - }; + services.pgadmin = { + enable = true; + initialEmail = "bruh@localhost.de"; + initialPasswordFile = pkgs.writeText "pw" "bruh2012!"; + minimumPasswordLength = 12; + }; + }; }; - }; - - testScript = '' - with subtest("Check pgadmin module"): - machine.wait_for_unit("postgresql") - machine.wait_for_unit("pgadmin") - machine.wait_until_succeeds("curl -sS localhost:5051") - machine.wait_until_succeeds("curl -sS localhost:5051/login | grep \"pgAdmin 4\" > /dev/null") - # check for missing support files (css, js etc). Should catch not-generated files during build. See e.g. https://github.com/NixOS/nixpkgs/pull/229184 - machine.succeed("wget -nv --level=1 --spider --recursive localhost:5051/login") - # test idempotenceny - machine.systemctl("restart pgadmin.service") - machine.wait_for_unit("pgadmin") - machine.wait_until_succeeds("curl -sS localhost:5051") - machine.wait_until_succeeds("curl -sS localhost:5051/login | grep \"pgAdmin 4\" > /dev/null") + testScript = '' + with subtest("Check pgadmin module"): + machine.wait_for_unit("postgresql") + machine.wait_for_unit("pgadmin") + machine.wait_until_succeeds("curl -sS localhost:5051") + machine.wait_until_succeeds("curl -sS localhost:5051/login | grep \"pgAdmin 4\" > /dev/null") + # check for missing support files (css, js etc). Should catch not-generated files during build. See e.g. https://github.com/NixOS/nixpkgs/pull/229184 + machine.succeed("wget -nv --level=1 --spider --recursive localhost:5051/login") + # test idempotenceny + machine.systemctl("restart pgadmin.service") + machine.wait_for_unit("pgadmin") + machine.wait_until_succeeds("curl -sS localhost:5051") + machine.wait_until_succeeds("curl -sS localhost:5051/login | grep \"pgAdmin 4\" > /dev/null") - # pgadmin4 module saves the configuration to /etc/pgadmin/config_system.py - # pgadmin4-desktopmode tries to read that as well. This normally fails with a PermissionError, as the config file - # is owned by the user of the pgadmin module. With the check-system-config-dir.patch this will just throw a warning - # but will continue and not read the file. - # If we run pgadmin4-desktopmode as root (something one really shouldn't do), it can read the config file and fail, - # because of the wrong config for desktopmode. - with subtest("Check pgadmin standalone desktop mode"): - machine.execute("sudo -u alice pgadmin4 >&2 &", timeout=60) - machine.wait_until_succeeds("curl -sS localhost:5050") - machine.wait_until_succeeds("curl -sS localhost:5050/browser/ | grep \"pgAdmin 4\" > /dev/null") - machine.succeed("wget -nv --level=1 --spider --recursive localhost:5050/browser") + # pgadmin4 module saves the configuration to /etc/pgadmin/config_system.py + # pgadmin4-desktopmode tries to read that as well. This normally fails with a PermissionError, as the config file + # is owned by the user of the pgadmin module. With the check-system-config-dir.patch this will just throw a warning + # but will continue and not read the file. + # If we run pgadmin4-desktopmode as root (something one really shouldn't do), it can read the config file and fail, + # because of the wrong config for desktopmode. + with subtest("Check pgadmin standalone desktop mode"): + machine.execute("sudo -u alice pgadmin4 >&2 &", timeout=60) + machine.wait_until_succeeds("curl -sS localhost:5050") + machine.wait_until_succeeds("curl -sS localhost:5050/browser/ | grep \"pgAdmin 4\" > /dev/null") + machine.succeed("wget -nv --level=1 --spider --recursive localhost:5050/browser") - with subtest("Check pgadmin minimum password length"): - machine2.wait_for_unit("postgresql") - machine2.wait_for_console_text("Password must be at least 12 characters long") - ''; -}) + with subtest("Check pgadmin minimum password length"): + machine2.wait_for_unit("postgresql") + machine2.wait_for_console_text("Password must be at least 12 characters long") + ''; + } +) diff --git a/nixos/tests/pgbouncer.nix b/nixos/tests/pgbouncer.nix index 8d11c4b3f4bf5..7951ad0fb084e 100644 --- a/nixos/tests/pgbouncer.nix +++ b/nixos/tests/pgbouncer.nix @@ -1,57 +1,62 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "pgbouncer"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "pgbouncer"; - meta = with lib.maintainers; { - maintainers = [ _1000101 ]; - }; - - nodes = { - one = { pkgs, ... }: { - systemd.services.postgresql = { - postStart = '' - ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER ROLE testuser WITH LOGIN PASSWORD 'testpass'"; - ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER DATABASE testdb OWNER TO testuser;"; - ''; - }; + meta = with lib.maintainers; { + maintainers = [ _1000101 ]; + }; - services = { - postgresql = { - enable = true; - ensureDatabases = [ "testdb" ]; - ensureUsers = [{ name = "testuser"; }]; - authentication = '' - local testdb testuser scram-sha-256 - ''; - }; + nodes = { + one = + { pkgs, ... }: + { + systemd.services.postgresql = { + postStart = '' + ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER ROLE testuser WITH LOGIN PASSWORD 'testpass'"; + ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER DATABASE testdb OWNER TO testuser;"; + ''; + }; - pgbouncer = { - enable = true; - openFirewall = true; - settings = { - pgbouncer = { - listen_addr = "localhost"; - auth_type = "scram-sha-256"; - auth_file = builtins.toFile "pgbouncer-users.txt" '' - "testuser" "testpass" + services = { + postgresql = { + enable = true; + ensureDatabases = [ "testdb" ]; + ensureUsers = [ { name = "testuser"; } ]; + authentication = '' + local testdb testuser scram-sha-256 ''; }; - databases = { - test = "host=/run/postgresql port=5432 auth_user=testuser dbname=testdb"; + + pgbouncer = { + enable = true; + openFirewall = true; + settings = { + pgbouncer = { + listen_addr = "localhost"; + auth_type = "scram-sha-256"; + auth_file = builtins.toFile "pgbouncer-users.txt" '' + "testuser" "testpass" + ''; + }; + databases = { + test = "host=/run/postgresql port=5432 auth_user=testuser dbname=testdb"; + }; + }; }; }; }; - }; }; - }; - testScript = '' - start_all() - one.wait_for_unit("default.target") - one.require_unit_state("pgbouncer.service", "active") + testScript = '' + start_all() + one.wait_for_unit("default.target") + one.require_unit_state("pgbouncer.service", "active") - # Test if we can make a query through PgBouncer - one.wait_until_succeeds( - "psql 'postgres://testuser:testpass@localhost:6432/test' -c 'SELECT 1;'" - ) - ''; -}) + # Test if we can make a query through PgBouncer + one.wait_until_succeeds( + "psql 'postgres://testuser:testpass@localhost:6432/test' -c 'SELECT 1;'" + ) + ''; + } +) diff --git a/nixos/tests/pghero.nix b/nixos/tests/pghero.nix index bce32da008862..1673877f90c52 100644 --- a/nixos/tests/pghero.nix +++ b/nixos/tests/pghero.nix @@ -3,37 +3,42 @@ let pgheroUser = "pghero"; pgheroPass = "pghero"; in -{ lib, ... }: { +{ lib, ... }: +{ name = "pghero"; meta.maintainers = [ lib.maintainers.tie ]; - nodes.machine = { config, ... }: { - services.postgresql = { - enable = true; - # This test uses default peer authentication (socket and its directory is - # world-readably by default), so we essentially test that we can connect - # with DynamicUser= set. - ensureUsers = [{ - name = "pghero"; - ensureClauses.superuser = true; - }]; - }; - services.pghero = { - enable = true; - listenAddress = "[::]:${toString pgheroPort}"; - settings = { - databases = { - postgres.url = "<%= ENV['POSTGRES_DATABASE_URL'] %>"; - nulldb.url = "nulldb:///"; - }; + nodes.machine = + { config, ... }: + { + services.postgresql = { + enable = true; + # This test uses default peer authentication (socket and its directory is + # world-readably by default), so we essentially test that we can connect + # with DynamicUser= set. + ensureUsers = [ + { + name = "pghero"; + ensureClauses.superuser = true; + } + ]; }; - environment = { - PGHERO_USERNAME = pgheroUser; - PGHERO_PASSWORD = pgheroPass; - POSTGRES_DATABASE_URL = "postgresql:///postgres?host=/run/postgresql"; + services.pghero = { + enable = true; + listenAddress = "[::]:${toString pgheroPort}"; + settings = { + databases = { + postgres.url = "<%= ENV['POSTGRES_DATABASE_URL'] %>"; + nulldb.url = "nulldb:///"; + }; + }; + environment = { + PGHERO_USERNAME = pgheroUser; + PGHERO_PASSWORD = pgheroPass; + POSTGRES_DATABASE_URL = "postgresql:///postgres?host=/run/postgresql"; + }; }; }; - }; testScript = '' pgheroPort = ${toString pgheroPort} diff --git a/nixos/tests/pgmanage.nix b/nixos/tests/pgmanage.nix index 6e72b32eca369..a28a3ce44766f 100644 --- a/nixos/tests/pgmanage.nix +++ b/nixos/tests/pgmanage.nix @@ -1,41 +1,46 @@ -import ./make-test-python.nix ({ pkgs, ... } : -let - role = "test"; - password = "secret"; - conn = "local"; -in -{ - name = "pgmanage"; - meta = with pkgs.lib.maintainers; { - maintainers = [ basvandijk ]; - }; - nodes = { - one = { config, pkgs, ... }: { - services = { - postgresql = { - enable = true; - initialScript = pkgs.writeText "pg-init-script" '' - CREATE ROLE ${role} SUPERUSER LOGIN PASSWORD '${password}'; - ''; - }; - pgmanage = { - enable = true; - connections = { - ${conn} = "hostaddr=127.0.0.1 port=${toString config.services.postgresql.settings.port} dbname=postgres"; +import ./make-test-python.nix ( + { pkgs, ... }: + let + role = "test"; + password = "secret"; + conn = "local"; + in + { + name = "pgmanage"; + meta = with pkgs.lib.maintainers; { + maintainers = [ basvandijk ]; + }; + nodes = { + one = + { config, pkgs, ... }: + { + services = { + postgresql = { + enable = true; + initialScript = pkgs.writeText "pg-init-script" '' + CREATE ROLE ${role} SUPERUSER LOGIN PASSWORD '${password}'; + ''; + }; + pgmanage = { + enable = true; + connections = { + ${conn} = + "hostaddr=127.0.0.1 port=${toString config.services.postgresql.settings.port} dbname=postgres"; + }; + }; }; }; - }; }; - }; - testScript = '' - start_all() - one.wait_for_unit("default.target") - one.require_unit_state("pgmanage.service", "active") + testScript = '' + start_all() + one.wait_for_unit("default.target") + one.require_unit_state("pgmanage.service", "active") - # Test if we can log in. - one.wait_until_succeeds( - "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail" - ) - ''; -}) + # Test if we can log in. + one.wait_until_succeeds( + "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail" + ) + ''; + } +) diff --git a/nixos/tests/phosh.nix b/nixos/tests/phosh.nix index 64d6889aaf741..9a93f64b0ac44 100644 --- a/nixos/tests/phosh.nix +++ b/nixos/tests/phosh.nix @@ -1,79 +1,88 @@ -import ./make-test-python.nix ({ pkgs, ...}: let - pin = "1234"; -in { - name = "phosh"; - meta = with pkgs.lib.maintainers; { - maintainers = [ zhaofengli ]; - }; - - nodes = { - phone = { config, pkgs, ... }: { - users.users.nixos = { - isNormalUser = true; - password = pin; - }; - - services.xserver.desktopManager.phosh = { - enable = true; - user = "nixos"; - group = "users"; - - phocConfig = { - outputs.Virtual-1 = { - scale = 2; +import ./make-test-python.nix ( + { pkgs, ... }: + let + pin = "1234"; + in + { + name = "phosh"; + meta = with pkgs.lib.maintainers; { + maintainers = [ zhaofengli ]; + }; + + nodes = { + phone = + { config, pkgs, ... }: + { + users.users.nixos = { + isNormalUser = true; + password = pin; }; - }; - }; - environment.systemPackages = [ - pkgs.phosh-mobile-settings - ]; + services.xserver.desktopManager.phosh = { + enable = true; + user = "nixos"; + group = "users"; - systemd.services.phosh = { - environment = { - # Accelerated graphics fail on phoc 0.20 (wlroots 0.15) - "WLR_RENDERER" = "pixman"; - }; - }; + phocConfig = { + outputs.Virtual-1 = { + scale = 2; + }; + }; + }; - virtualisation.resolution = { x = 720; y = 1440; }; - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci,xres=720,yres=1440" ]; + environment.systemPackages = [ + pkgs.phosh-mobile-settings + ]; + + systemd.services.phosh = { + environment = { + # Accelerated graphics fail on phoc 0.20 (wlroots 0.15) + "WLR_RENDERER" = "pixman"; + }; + }; + + virtualisation.resolution = { + x = 720; + y = 1440; + }; + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci,xres=720,yres=1440" ]; + }; }; - }; - enableOCR = true; + enableOCR = true; - testScript = '' - import time + testScript = '' + import time - start_all() - phone.wait_for_unit("phosh.service") + start_all() + phone.wait_for_unit("phosh.service") - with subtest("Check that we can see the lock screen info page"): - # Saturday, January 1 - phone.succeed("timedatectl set-time '2022-01-01 07:00'") + with subtest("Check that we can see the lock screen info page"): + # Saturday, January 1 + phone.succeed("timedatectl set-time '2022-01-01 07:00'") - phone.wait_for_text("Saturday") - phone.screenshot("01lockinfo") + phone.wait_for_text("Saturday") + phone.screenshot("01lockinfo") - with subtest("Check that we can unlock the screen"): - phone.send_chars("${pin}", delay=0.2) - time.sleep(1) - phone.screenshot("02unlock") + with subtest("Check that we can unlock the screen"): + phone.send_chars("${pin}", delay=0.2) + time.sleep(1) + phone.screenshot("02unlock") - phone.send_chars("\n") + phone.send_chars("\n") - phone.wait_for_text("All Apps") - phone.screenshot("03launcher") + phone.wait_for_text("All Apps") + phone.screenshot("03launcher") - with subtest("Check the on-screen keyboard shows"): - phone.send_chars("mobile setting", delay=0.2) - phone.wait_for_text("123") # A button on the OSK - phone.screenshot("04osk") + with subtest("Check the on-screen keyboard shows"): + phone.send_chars("mobile setting", delay=0.2) + phone.wait_for_text("123") # A button on the OSK + phone.screenshot("04osk") - with subtest("Check mobile-phosh-settings starts"): - phone.send_chars("\n") - phone.wait_for_text("Tweak advanced mobile settings"); - phone.screenshot("05settings") - ''; -}) + with subtest("Check mobile-phosh-settings starts"): + phone.send_chars("\n") + phone.wait_for_text("Tweak advanced mobile settings"); + phone.screenshot("05settings") + ''; + } +) diff --git a/nixos/tests/photonvision.nix b/nixos/tests/photonvision.nix index 2cadaa4bc02e4..6893e77d15548 100644 --- a/nixos/tests/photonvision.nix +++ b/nixos/tests/photonvision.nix @@ -1,21 +1,24 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -{ - name = "photonvision"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "photonvision"; - nodes = { - machine = { pkgs, ... }: { - services.photonvision = { - enable = true; - }; + nodes = { + machine = + { pkgs, ... }: + { + services.photonvision = { + enable = true; + }; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("photonvision.service") - machine.wait_for_open_port(5800) - ''; - - meta.maintainers = with lib.maintainers; [ max-niederman ]; -}) + testScript = '' + start_all() + machine.wait_for_unit("photonvision.service") + machine.wait_for_open_port(5800) + ''; + meta.maintainers = with lib.maintainers; [ max-niederman ]; + } +) diff --git a/nixos/tests/photoprism.nix b/nixos/tests/photoprism.nix index a77ab59f5c9a2..b8c86c9ac20a5 100644 --- a/nixos/tests/photoprism.nix +++ b/nixos/tests/photoprism.nix @@ -1,23 +1,28 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "photoprism"; - meta.maintainers = with lib.maintainers; [ stunkymonkey ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "photoprism"; + meta.maintainers = with lib.maintainers; [ stunkymonkey ]; - nodes.machine = { pkgs, ... }: { - services.photoprism = { - enable = true; - port = 8080; - originalsPath = "/media/photos/"; - passwordFile = pkgs.writeText "password" "secret"; - }; - environment.extraInit = '' - mkdir -p /media/photos - ''; - }; + nodes.machine = + { pkgs, ... }: + { + services.photoprism = { + enable = true; + port = 8080; + originalsPath = "/media/photos/"; + passwordFile = pkgs.writeText "password" "secret"; + }; + environment.extraInit = '' + mkdir -p /media/photos + ''; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(8080) - response = machine.succeed("curl -vvv -s -H 'Host: photoprism' http://127.0.0.1:8080/library/login") - assert 'PhotoPrism' in response, "Login page didn't load successfully" - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(8080) + response = machine.succeed("curl -vvv -s -H 'Host: photoprism' http://127.0.0.1:8080/library/login") + assert 'PhotoPrism' in response, "Login page didn't load successfully" + ''; + } +) diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix index c0386385753f5..9d9f23d6f051b 100644 --- a/nixos/tests/php/default.nix +++ b/nixos/tests/php/default.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } -, php ? pkgs.php +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, + php ? pkgs.php, }: let @@ -10,7 +11,16 @@ let }; in { - fpm = import ./fpm.nix { inherit system pkgs; php = php'; }; - httpd = import ./httpd.nix { inherit system pkgs; php = php'; }; - pcre = import ./pcre.nix { inherit system pkgs; php = php'; }; + fpm = import ./fpm.nix { + inherit system pkgs; + php = php'; + }; + httpd = import ./httpd.nix { + inherit system pkgs; + php = php'; + }; + pcre = import ./pcre.nix { + inherit system pkgs; + php = php'; + }; } diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix index b6dfbeeaed527..8bdf72dd0c8a6 100644 --- a/nixos/tests/php/httpd.nix +++ b/nixos/tests/php/httpd.nix @@ -1,34 +1,51 @@ -import ../make-test-python.nix ({ pkgs, lib, php, ... }: { - name = "php-${php.version}-httpd-test"; - meta.maintainers = lib.teams.php.members; +import ../make-test-python.nix ( + { + pkgs, + lib, + php, + ... + }: + { + name = "php-${php.version}-httpd-test"; + meta.maintainers = lib.teams.php.members; - nodes.machine = { config, lib, pkgs, ... }: { - services.httpd = { - enable = true; - adminAddr = "admin@phpfpm"; - virtualHosts."phpfpm" = - let - testdir = pkgs.writeTextDir "web/index.php" " - Require all granted -
+ + Require all granted + + ''; + }; + }; + testScript = + let + # PCRE JIT SEAlloc feature does not play well with fork() + # The feature needs to either be disabled or PHP configured correctly + # More information in https://bugs.php.net/bug.php?id=78927 and https://bugs.php.net/bug.php?id=78630 + pcreJitSeallocForkIssue = pkgs.writeText "pcre-jit-sealloc-issue.php" '' + /tmp/machine-id") - client.succeed("diff /tmp/machine-id /etc/machine-id") + # check whether paste matches what we sent + client.succeed(f"curl {raw_url} > /tmp/machine-id") + client.succeed("diff /tmp/machine-id /etc/machine-id") - # remove paste and check that it's not available any more - client.succeed(f"curl {removal_link}") - client.fail(f"curl --fail {raw_url}") + # remove paste and check that it's not available any more + client.succeed(f"curl {removal_link}") + client.fail(f"curl --fail {raw_url}") - server.log(server.execute("systemd-analyze security pinnwand | grep '✗'")[1]) - ''; -}) + server.log(server.execute("systemd-analyze security pinnwand | grep '✗'")[1]) + ''; + } +) diff --git a/nixos/tests/plantuml-server.nix b/nixos/tests/plantuml-server.nix index 460c30919aecf..b0885ea2630d2 100644 --- a/nixos/tests/plantuml-server.nix +++ b/nixos/tests/plantuml-server.nix @@ -1,20 +1,25 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "plantuml-server"; - meta.maintainers = with lib.maintainers; [ anthonyroussel ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "plantuml-server"; + meta.maintainers = with lib.maintainers; [ anthonyroussel ]; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.curl ]; - services.plantuml-server.enable = true; - }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + services.plantuml-server.enable = true; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("plantuml-server.service") - machine.wait_for_open_port(8080) + machine.wait_for_unit("plantuml-server.service") + machine.wait_for_open_port(8080) - with subtest("Generate chart"): - chart_id = machine.succeed("curl -sSf http://localhost:8080/plantuml/coder -d 'Alice -> Bob'") - machine.succeed("curl -sSf http://localhost:8080/plantuml/txt/{}".format(chart_id)) - ''; -}) + with subtest("Generate chart"): + chart_id = machine.succeed("curl -sSf http://localhost:8080/plantuml/coder -d 'Alice -> Bob'") + machine.succeed("curl -sSf http://localhost:8080/plantuml/txt/{}".format(chart_id)) + ''; + } +) diff --git a/nixos/tests/plasma-bigscreen.nix b/nixos/tests/plasma-bigscreen.nix index 050937f33442d..4a14564364ac9 100644 --- a/nixos/tests/plasma-bigscreen.nix +++ b/nixos/tests/plasma-bigscreen.nix @@ -1,35 +1,43 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -{ - name = "plasma-bigscreen"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ttuegel k900 ]; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - services.displayManager.defaultSession = "plasma-bigscreen-x11"; - services.xserver.desktopManager.plasma5.bigscreen.enable = true; - services.displayManager.autoLogin = { - enable = true; - user = "alice"; + name = "plasma-bigscreen"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + ttuegel + k900 + ]; }; - users.users.alice.extraGroups = ["uinput"]; - }; + nodes.machine = + { ... }: + + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.displayManager.defaultSession = "plasma-bigscreen-x11"; + services.xserver.desktopManager.plasma5.bigscreen.enable = true; + services.displayManager.autoLogin = { + enable = true; + user = "alice"; + }; + + users.users.alice.extraGroups = [ "uinput" ]; + }; - testScript = { nodes, ... }: '' - with subtest("Wait for login"): - start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") + testScript = + { nodes, ... }: + '' + with subtest("Wait for login"): + start_all() + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") - with subtest("Check plasmashell started"): - machine.wait_until_succeeds("pgrep plasmashell") - machine.wait_for_window("Plasma Big Screen") - ''; -}) + with subtest("Check plasmashell started"): + machine.wait_until_succeeds("pgrep plasmashell") + machine.wait_for_window("Plasma Big Screen") + ''; + } +) diff --git a/nixos/tests/plasma5-systemd-start.nix b/nixos/tests/plasma5-systemd-start.nix index 891d4df2409f2..9f21c21714b01 100644 --- a/nixos/tests/plasma5-systemd-start.nix +++ b/nixos/tests/plasma5-systemd-start.nix @@ -1,43 +1,48 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -{ - name = "plasma5-systemd-start"; - meta = with pkgs.lib.maintainers; { - maintainers = [ oxalica ]; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver = { - enable = true; - desktopManager.plasma5.enable = true; - desktopManager.plasma5.runUsingSystemd = true; + name = "plasma5-systemd-start"; + meta = with pkgs.lib.maintainers; { + maintainers = [ oxalica ]; }; - services.displayManager = { - sddm.enable = true; - defaultSession = "plasma"; - autoLogin = { - enable = true; - user = "alice"; + nodes.machine = + { ... }: + + { + imports = [ ./common/user-account.nix ]; + services.xserver = { + enable = true; + desktopManager.plasma5.enable = true; + desktopManager.plasma5.runUsingSystemd = true; + }; + + services.displayManager = { + sddm.enable = true; + defaultSession = "plasma"; + autoLogin = { + enable = true; + user = "alice"; + }; + }; }; - }; - }; - testScript = { nodes, ... }: '' - with subtest("Wait for login"): - start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") + testScript = + { nodes, ... }: + '' + with subtest("Wait for login"): + start_all() + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") - with subtest("Check plasmashell started"): - machine.wait_until_succeeds("pgrep plasmashell") - machine.wait_for_window("^Desktop ") + with subtest("Check plasmashell started"): + machine.wait_until_succeeds("pgrep plasmashell") + machine.wait_for_window("^Desktop ") - status, result = machine.systemctl('--no-pager show plasma-plasmashell.service', user='alice') - assert status == 0, 'Service not found' - assert 'ActiveState=active' in result.split('\n'), 'Systemd service not active' - ''; -}) + status, result = machine.systemctl('--no-pager show plasma-plasmashell.service', user='alice') + assert status == 0, 'Service not found' + assert 'ActiveState=active' in result.split('\n'), 'Systemd service not active' + ''; + } +) diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix index b4e10581219cd..d333df24eb8d2 100644 --- a/nixos/tests/plasma5.nix +++ b/nixos/tests/plasma5.nix @@ -1,66 +1,72 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -{ - name = "plasma5"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ttuegel ]; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - services.displayManager.defaultSession = "plasma"; - services.xserver.desktopManager.plasma5.enable = true; - environment.plasma5.excludePackages = [ pkgs.plasma5Packages.elisa ]; - services.displayManager.autoLogin = { - enable = true; - user = "alice"; + name = "plasma5"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ttuegel ]; }; - }; - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - xdo = "${pkgs.xdotool}/bin/xdotool"; - in '' - with subtest("Wait for login"): - start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") + nodes.machine = + { ... }: + + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.displayManager.defaultSession = "plasma"; + services.xserver.desktopManager.plasma5.enable = true; + environment.plasma5.excludePackages = [ pkgs.plasma5Packages.elisa ]; + services.displayManager.autoLogin = { + enable = true; + user = "alice"; + }; + }; + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + xdo = "${pkgs.xdotool}/bin/xdotool"; + in + '' + with subtest("Wait for login"): + start_all() + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") - with subtest("Check plasmashell started"): - machine.wait_until_succeeds("pgrep plasmashell") - machine.wait_for_window("^Desktop ") + with subtest("Check plasmashell started"): + machine.wait_until_succeeds("pgrep plasmashell") + machine.wait_for_window("^Desktop ") - with subtest("Check that KDED is running"): - machine.succeed("pgrep kded5") + with subtest("Check that KDED is running"): + machine.succeed("pgrep kded5") - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - with subtest("Ensure Elisa is not installed"): - machine.fail("which elisa") + with subtest("Ensure Elisa is not installed"): + machine.fail("which elisa") - machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'") + machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'") - with subtest("Run Dolphin"): - machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin >&2 &'") - machine.wait_for_window(" Dolphin") + with subtest("Run Dolphin"): + machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin >&2 &'") + machine.wait_for_window(" Dolphin") - with subtest("Run Konsole"): - machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole >&2 &'") - machine.wait_for_window("Konsole") + with subtest("Run Konsole"): + machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole >&2 &'") + machine.wait_for_window("Konsole") - with subtest("Run systemsettings"): - machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings5 >&2 &'") - machine.wait_for_window("Settings") + with subtest("Run systemsettings"): + machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings5 >&2 &'") + machine.wait_for_window("Settings") - with subtest("Wait to get a screenshot"): - machine.execute( - "${xdo} key Alt+F1 sleep 10" - ) - machine.screenshot("screen") - ''; -}) + with subtest("Wait to get a screenshot"): + machine.execute( + "${xdo} key Alt+F1 sleep 10" + ) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/plasma6.nix b/nixos/tests/plasma6.nix index 7c8fba130e681..afdb965d5d89e 100644 --- a/nixos/tests/plasma6.nix +++ b/nixos/tests/plasma6.nix @@ -1,64 +1,70 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -{ - name = "plasma6"; - meta = with pkgs.lib.maintainers; { - maintainers = [ k900 ]; - }; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - # FIXME: this should be testing Wayland - services.displayManager.defaultSession = "plasmax11"; - services.desktopManager.plasma6.enable = true; - environment.plasma6.excludePackages = [ pkgs.kdePackages.elisa ]; - services.displayManager.autoLogin = { - enable = true; - user = "alice"; + name = "plasma6"; + meta = with pkgs.lib.maintainers; { + maintainers = [ k900 ]; }; - }; - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - xdo = "${pkgs.xdotool}/bin/xdotool"; - in '' - with subtest("Wait for login"): - start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") + nodes.machine = + { ... }: + + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + # FIXME: this should be testing Wayland + services.displayManager.defaultSession = "plasmax11"; + services.desktopManager.plasma6.enable = true; + environment.plasma6.excludePackages = [ pkgs.kdePackages.elisa ]; + services.displayManager.autoLogin = { + enable = true; + user = "alice"; + }; + }; + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + xdo = "${pkgs.xdotool}/bin/xdotool"; + in + '' + with subtest("Wait for login"): + start_all() + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") - with subtest("Check plasmashell started"): - machine.wait_until_succeeds("pgrep plasmashell") - machine.wait_for_window("^Desktop ") + with subtest("Check plasmashell started"): + machine.wait_until_succeeds("pgrep plasmashell") + machine.wait_for_window("^Desktop ") - with subtest("Check that KDED is running"): - machine.succeed("pgrep kded6") + with subtest("Check that KDED is running"): + machine.succeed("pgrep kded6") - with subtest("Ensure Elisa is not installed"): - machine.fail("which elisa") + with subtest("Ensure Elisa is not installed"): + machine.fail("which elisa") - machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'") + machine.succeed("su - ${user.name} -c 'xauth merge /tmp/xauth_*'") - with subtest("Run Dolphin"): - machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin >&2 &'") - machine.wait_for_window(" Dolphin") + with subtest("Run Dolphin"): + machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin >&2 &'") + machine.wait_for_window(" Dolphin") - with subtest("Run Konsole"): - machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole >&2 &'") - machine.wait_for_window("Konsole") + with subtest("Run Konsole"): + machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole >&2 &'") + machine.wait_for_window("Konsole") - with subtest("Run systemsettings"): - machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings >&2 &'") - machine.wait_for_window("Settings") + with subtest("Run systemsettings"): + machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings >&2 &'") + machine.wait_for_window("Settings") - with subtest("Wait to get a screenshot"): - machine.execute( - "${xdo} key Alt+F1 sleep 10" - ) - machine.screenshot("screen") - ''; -}) + with subtest("Wait to get a screenshot"): + machine.execute( + "${xdo} key Alt+F1 sleep 10" + ) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/plausible.nix b/nixos/tests/plausible.nix index 4f1ba137f41bd..2076667797dbb 100644 --- a/nixos/tests/plausible.nix +++ b/nixos/tests/plausible.nix @@ -1,31 +1,36 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "plausible"; - meta = { - maintainers = lib.teams.cyberus.members; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "plausible"; + meta = { + maintainers = lib.teams.cyberus.members; + }; - nodes.machine = { pkgs, ... }: { - virtualisation.memorySize = 4096; - services.plausible = { - enable = true; - server = { - baseUrl = "http://localhost:8000"; - secretKeybaseFile = "${pkgs.writeText "dont-try-this-at-home" "nannannannannannannannannannannannannannannannannannannan_batman!"}"; + nodes.machine = + { pkgs, ... }: + { + virtualisation.memorySize = 4096; + services.plausible = { + enable = true; + server = { + baseUrl = "http://localhost:8000"; + secretKeybaseFile = "${pkgs.writeText "dont-try-this-at-home" "nannannannannannannannannannannannannannannannannannannan_batman!"}"; + }; + }; }; - }; - }; - testScript = '' - start_all() - machine.wait_for_unit("plausible.service") - machine.wait_for_open_port(8000) + testScript = '' + start_all() + machine.wait_for_unit("plausible.service") + machine.wait_for_open_port(8000) - # Ensure that the software does not make not make the machine - # listen on any public interfaces by default. - machine.fail("ss -tlpn 'src = 0.0.0.0 or src = [::]' | grep LISTEN") + # Ensure that the software does not make not make the machine + # listen on any public interfaces by default. + machine.fail("ss -tlpn 'src = 0.0.0.0 or src = [::]' | grep LISTEN") - machine.succeed("curl -f localhost:8000 >&2") + machine.succeed("curl -f localhost:8000 >&2") - machine.succeed("curl -f localhost:8000/js/script.js >&2") - ''; -}) + machine.succeed("curl -f localhost:8000/js/script.js >&2") + ''; + } +) diff --git a/nixos/tests/please.nix b/nixos/tests/please.nix index af825ae4b9b3c..9efd9649ec0f3 100644 --- a/nixos/tests/please.nix +++ b/nixos/tests/please.nix @@ -1,66 +1,68 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "please"; - meta.maintainers = with lib.maintainers; [ azahi ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "please"; + meta.maintainers = with lib.maintainers; [ azahi ]; - nodes.machine = - { ... }: - { - users.users = lib.mkMerge [ - (lib.listToAttrs (map - (n: lib.nameValuePair n { isNormalUser = true; }) - (lib.genList (x: "user${toString x}") 6))) - { - user0.extraGroups = [ "wheel" ]; - } - ]; + nodes.machine = + { ... }: + { + users.users = lib.mkMerge [ + (lib.listToAttrs ( + map (n: lib.nameValuePair n { isNormalUser = true; }) (lib.genList (x: "user${toString x}") 6) + )) + { + user0.extraGroups = [ "wheel" ]; + } + ]; - security.please = { - enable = true; - wheelNeedsPassword = false; - settings = { - user2_run_true_as_root = { - name = "user2"; - target = "root"; - rule = "/run/current-system/sw/bin/true"; - require_pass = false; - }; - user4_edit_etc_hosts_as_root = { - name = "user4"; - type = "edit"; - target = "root"; - rule = "/etc/hosts"; - editmode = 644; - require_pass = false; + security.please = { + enable = true; + wheelNeedsPassword = false; + settings = { + user2_run_true_as_root = { + name = "user2"; + target = "root"; + rule = "/run/current-system/sw/bin/true"; + require_pass = false; + }; + user4_edit_etc_hosts_as_root = { + name = "user4"; + type = "edit"; + target = "root"; + rule = "/etc/hosts"; + editmode = 644; + require_pass = false; + }; }; }; }; - }; - testScript = '' - with subtest("root: can run anything by default"): - machine.succeed('please true') - with subtest("root: can edit anything by default"): - machine.succeed('EDITOR=cat pleaseedit /etc/hosts') + testScript = '' + with subtest("root: can run anything by default"): + machine.succeed('please true') + with subtest("root: can edit anything by default"): + machine.succeed('EDITOR=cat pleaseedit /etc/hosts') - with subtest("user0: can run as root because it's in the wheel group"): - machine.succeed('su - user0 -c "please -u root true"') - with subtest("user1: cannot run as root because it's not in the wheel group"): - machine.fail('su - user1 -c "please -u root true"') + with subtest("user0: can run as root because it's in the wheel group"): + machine.succeed('su - user0 -c "please -u root true"') + with subtest("user1: cannot run as root because it's not in the wheel group"): + machine.fail('su - user1 -c "please -u root true"') - with subtest("user0: can edit as root"): - machine.succeed('su - user0 -c "EDITOR=cat pleaseedit /etc/hosts"') - with subtest("user1: cannot edit as root"): - machine.fail('su - user1 -c "EDITOR=cat pleaseedit /etc/hosts"') + with subtest("user0: can edit as root"): + machine.succeed('su - user0 -c "EDITOR=cat pleaseedit /etc/hosts"') + with subtest("user1: cannot edit as root"): + machine.fail('su - user1 -c "EDITOR=cat pleaseedit /etc/hosts"') - with subtest("user2: can run 'true' as root"): - machine.succeed('su - user2 -c "please -u root true"') - with subtest("user3: cannot run 'true' as root"): - machine.fail('su - user3 -c "please -u root true"') + with subtest("user2: can run 'true' as root"): + machine.succeed('su - user2 -c "please -u root true"') + with subtest("user3: cannot run 'true' as root"): + machine.fail('su - user3 -c "please -u root true"') - with subtest("user4: can edit /etc/hosts"): - machine.succeed('su - user4 -c "EDITOR=cat pleaseedit /etc/hosts"') - with subtest("user5: cannot edit /etc/hosts"): - machine.fail('su - user5 -c "EDITOR=cat pleaseedit /etc/hosts"') - ''; -}) + with subtest("user4: can edit /etc/hosts"): + machine.succeed('su - user4 -c "EDITOR=cat pleaseedit /etc/hosts"') + with subtest("user5: cannot edit /etc/hosts"): + machine.fail('su - user5 -c "EDITOR=cat pleaseedit /etc/hosts"') + ''; + } +) diff --git a/nixos/tests/pleroma.nix b/nixos/tests/pleroma.nix index 8a765c9193291..79746678206b6 100644 --- a/nixos/tests/pleroma.nix +++ b/nixos/tests/pleroma.nix @@ -23,236 +23,260 @@ secret. **DO NOT DO THIS IN A REAL WORLD DEPLOYMENT**. */ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let - send-toot = pkgs.writeScriptBin "send-toot" '' - set -eux - # toot is using the requests library internally. This library - # sadly embed its own certificate store instead of relying on the - # system one. Overriding this pretty bad default behaviour. - export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt + send-toot = pkgs.writeScriptBin "send-toot" '' + set -eux + # toot is using the requests library internally. This library + # sadly embed its own certificate store instead of relying on the + # system one. Overriding this pretty bad default behaviour. + export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt - toot login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test" -p 'jamy-password' - echo "Login OK" + toot login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test" -p 'jamy-password' + echo "Login OK" - # Send a toot then verify it's part of the public timeline - toot post "hello world Jamy here" - echo "Send toot OK" - toot timeline -1 | grep -F -q "hello world Jamy here" - echo "Get toot from timeline OK" + # Send a toot then verify it's part of the public timeline + toot post "hello world Jamy here" + echo "Send toot OK" + toot timeline -1 | grep -F -q "hello world Jamy here" + echo "Get toot from timeline OK" - # Test file upload - echo "y" | ${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none) \ - | grep -F -q "https://pleroma.nixos.test/media" + # Test file upload + echo "y" | ${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none) \ + | grep -F -q "https://pleroma.nixos.test/media" - echo "=====================================================" - echo "= SUCCESS =" - echo "= =" - echo "= We were able to sent a toot + a upload and =" - echo "= retrieve both of them in the public timeline. =" - echo "=====================================================" - ''; + echo "=====================================================" + echo "= SUCCESS =" + echo "= =" + echo "= We were able to sent a toot + a upload and =" + echo "= retrieve both of them in the public timeline. =" + echo "=====================================================" + ''; - provision-db = pkgs.writeScriptBin "provision-db" '' - set -eux - sudo -u postgres psql -f ${db-seed} - ''; + provision-db = pkgs.writeScriptBin "provision-db" '' + set -eux + sudo -u postgres psql -f ${db-seed} + ''; - test-db-passwd = "SccZOvTGM//BMrpoQj68JJkjDkMGb4pHv2cECWiI+XhVe3uGJTLI0vFV/gDlZ5jJ"; + test-db-passwd = "SccZOvTGM//BMrpoQj68JJkjDkMGb4pHv2cECWiI+XhVe3uGJTLI0vFV/gDlZ5jJ"; - /* For this NixOS test, we *had* to store this secret to the store. - Keep in mind the store is world-readable, it's the worst place - possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD - DEPLOYMENT**.*/ - db-seed = pkgs.writeText "provision.psql" '' - CREATE USER pleroma WITH ENCRYPTED PASSWORD '${test-db-passwd}'; - CREATE DATABASE pleroma OWNER pleroma; - \c pleroma; - --Extensions made by ecto.migrate that need superuser access - CREATE EXTENSION IF NOT EXISTS citext; - CREATE EXTENSION IF NOT EXISTS pg_trgm; - CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; - ''; + /* + For this NixOS test, we *had* to store this secret to the store. + Keep in mind the store is world-readable, it's the worst place + possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD + DEPLOYMENT**. + */ + db-seed = pkgs.writeText "provision.psql" '' + CREATE USER pleroma WITH ENCRYPTED PASSWORD '${test-db-passwd}'; + CREATE DATABASE pleroma OWNER pleroma; + \c pleroma; + --Extensions made by ecto.migrate that need superuser access + CREATE EXTENSION IF NOT EXISTS citext; + CREATE EXTENSION IF NOT EXISTS pg_trgm; + CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; + ''; - pleroma-conf = '' - import Config + pleroma-conf = '' + import Config - config :pleroma, Pleroma.Web.Endpoint, - url: [host: "pleroma.nixos.test", scheme: "https", port: 443], - http: [ip: {127, 0, 0, 1}, port: 4000] + config :pleroma, Pleroma.Web.Endpoint, + url: [host: "pleroma.nixos.test", scheme: "https", port: 443], + http: [ip: {127, 0, 0, 1}, port: 4000] - config :pleroma, :instance, - name: "NixOS test pleroma server", - email: "pleroma@nixos.test", - notify_email: "pleroma@nixos.test", - limit: 5000, - registrations_open: true + config :pleroma, :instance, + name: "NixOS test pleroma server", + email: "pleroma@nixos.test", + notify_email: "pleroma@nixos.test", + limit: 5000, + registrations_open: true - config :pleroma, :media_proxy, - enabled: false, - redirect_on_failure: true - #base_url: "https://cache.pleroma.social" + config :pleroma, :media_proxy, + enabled: false, + redirect_on_failure: true + #base_url: "https://cache.pleroma.social" - config :pleroma, Pleroma.Repo, - adapter: Ecto.Adapters.Postgres, - username: "pleroma", - password: "${test-db-passwd}", - database: "pleroma", - hostname: "localhost", - pool_size: 10, - prepare: :named, - parameters: [ - plan_cache_mode: "force_custom_plan" - ] + config :pleroma, Pleroma.Repo, + adapter: Ecto.Adapters.Postgres, + username: "pleroma", + password: "${test-db-passwd}", + database: "pleroma", + hostname: "localhost", + pool_size: 10, + prepare: :named, + parameters: [ + plan_cache_mode: "force_custom_plan" + ] - config :pleroma, :database, rum_enabled: false - config :pleroma, :instance, static_dir: "/var/lib/pleroma/static" - config :pleroma, Pleroma.Uploaders.Local, uploads: "/var/lib/pleroma/uploads" - config :pleroma, configurable_from_database: false - ''; + config :pleroma, :database, rum_enabled: false + config :pleroma, :instance, static_dir: "/var/lib/pleroma/static" + config :pleroma, Pleroma.Uploaders.Local, uploads: "/var/lib/pleroma/uploads" + config :pleroma, configurable_from_database: false + ''; - /* For this NixOS test, we *had* to store this secret to the store. - Keep in mind the store is world-readable, it's the worst place - possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD - DEPLOYMENT**. - In a real-word deployment, you'd handle this either by: - - manually upload your pleroma secrets to /var/lib/pleroma/secrets.exs - - use a deployment tool such as morph or NixOps to deploy your secrets. - */ - pleroma-conf-secret = pkgs.writeText "secrets.exs" '' - import Config + /* + For this NixOS test, we *had* to store this secret to the store. + Keep in mind the store is world-readable, it's the worst place + possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD + DEPLOYMENT**. + In a real-word deployment, you'd handle this either by: + - manually upload your pleroma secrets to /var/lib/pleroma/secrets.exs + - use a deployment tool such as morph or NixOps to deploy your secrets. + */ + pleroma-conf-secret = pkgs.writeText "secrets.exs" '' + import Config - config :joken, default_signer: "PS69/wMW7X6FIQPABt9lwvlZvgrJIncfiAMrK9J5mjVus/7/NJJi1DsDA1OghBE5" + config :joken, default_signer: "PS69/wMW7X6FIQPABt9lwvlZvgrJIncfiAMrK9J5mjVus/7/NJJi1DsDA1OghBE5" - config :pleroma, Pleroma.Web.Endpoint, - secret_key_base: "NvfmU7lYaQrmmxt4NACm0AaAfN9t6WxsrX0NCB4awkGHvr1S7jyshlEmrjaPFhhq", - signing_salt: "3L41+BuJ" + config :pleroma, Pleroma.Web.Endpoint, + secret_key_base: "NvfmU7lYaQrmmxt4NACm0AaAfN9t6WxsrX0NCB4awkGHvr1S7jyshlEmrjaPFhhq", + signing_salt: "3L41+BuJ" - config :web_push_encryption, :vapid_details, - subject: "mailto:pleroma@nixos.test", - public_key: "BKjfNX9-UqAcncaNqERQtF7n9pKrB0-MO-juv6U5E5XQr_Tg5D-f8AlRjduAguDpyAngeDzG8MdrTejMSL4VF30", - private_key: "k7o9onKMQrgMjMb6l4fsxSaXO0BTNAer5MVSje3q60k" - ''; + config :web_push_encryption, :vapid_details, + subject: "mailto:pleroma@nixos.test", + public_key: "BKjfNX9-UqAcncaNqERQtF7n9pKrB0-MO-juv6U5E5XQr_Tg5D-f8AlRjduAguDpyAngeDzG8MdrTejMSL4VF30", + private_key: "k7o9onKMQrgMjMb6l4fsxSaXO0BTNAer5MVSje3q60k" + ''; - /* For this NixOS test, we *had* to store this secret to the store. - Keep in mind the store is world-readable, it's the worst place - possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD - DEPLOYMENT**. - In a real-word deployment, you'd handle this either by: - - manually upload your pleroma secrets to /var/lib/pleroma/secrets.exs - - use a deployment tool such as morph or NixOps to deploy your secrets. + /* + For this NixOS test, we *had* to store this secret to the store. + Keep in mind the store is world-readable, it's the worst place + possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD + DEPLOYMENT**. + In a real-word deployment, you'd handle this either by: + - manually upload your pleroma secrets to /var/lib/pleroma/secrets.exs + - use a deployment tool such as morph or NixOps to deploy your secrets. */ - provision-secrets = pkgs.writeScriptBin "provision-secrets" '' - set -eux - cp "${pleroma-conf-secret}" "/var/lib/pleroma/secrets.exs" - chown pleroma:pleroma /var/lib/pleroma/secrets.exs - ''; + provision-secrets = pkgs.writeScriptBin "provision-secrets" '' + set -eux + cp "${pleroma-conf-secret}" "/var/lib/pleroma/secrets.exs" + chown pleroma:pleroma /var/lib/pleroma/secrets.exs + ''; - /* For this NixOS test, we *had* to store this secret to the store. - Keep in mind the store is world-readable, it's the worst place - possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD - DEPLOYMENT**. - */ - provision-user = pkgs.writeScriptBin "provision-user" '' - set -eux + /* + For this NixOS test, we *had* to store this secret to the store. + Keep in mind the store is world-readable, it's the worst place + possible to store *any* secret. **DO NOT DO THIS IN A REAL WORLD + DEPLOYMENT**. + */ + provision-user = pkgs.writeScriptBin "provision-user" '' + set -eux - # Waiting for pleroma to be up. - timeout 5m bash -c 'while [[ "$(curl -s -o /dev/null -w '%{http_code}' https://pleroma.nixos.test/api/v1/instance)" != "200" ]]; do sleep 2; done' - # Toremove the RELEASE_COOKIE bit when https://github.com/NixOS/nixpkgs/issues/166229 gets fixed. - RELEASE_COOKIE="/var/lib/pleroma/.cookie" \ - pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y - ''; + # Waiting for pleroma to be up. + timeout 5m bash -c 'while [[ "$(curl -s -o /dev/null -w '%{http_code}' https://pleroma.nixos.test/api/v1/instance)" != "200" ]]; do sleep 2; done' + # Toremove the RELEASE_COOKIE bit when https://github.com/NixOS/nixpkgs/issues/166229 gets fixed. + RELEASE_COOKIE="/var/lib/pleroma/.cookie" \ + pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y + ''; - tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - mkdir -p $out - openssl req -x509 \ - -subj '/CN=pleroma.nixos.test/' -days 49710 \ - -addext 'subjectAltName = DNS:pleroma.nixos.test' \ - -keyout "$out/key.pem" -newkey ed25519 \ - -out "$out/cert.pem" -noenc - ''; + tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + mkdir -p $out + openssl req -x509 \ + -subj '/CN=pleroma.nixos.test/' -days 49710 \ + -addext 'subjectAltName = DNS:pleroma.nixos.test' \ + -keyout "$out/key.pem" -newkey ed25519 \ + -out "$out/cert.pem" -noenc + ''; - hosts = nodes: '' - ${nodes.pleroma.networking.primaryIPAddress} pleroma.nixos.test - ${nodes.client.networking.primaryIPAddress} client.nixos.test - ''; - in { - name = "pleroma"; - nodes = { - client = { nodes, pkgs, config, ... }: { - security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; - networking.extraHosts = hosts nodes; - environment.systemPackages = [ - pkgs.toot - send-toot - ]; - }; - pleroma = { nodes, pkgs, config, ... }: { - security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; - networking.extraHosts = hosts nodes; - networking.firewall.enable = false; - environment.systemPackages = [ - provision-db - provision-secrets - provision-user - ]; - services = { - pleroma = { - enable = true; - configs = [ - pleroma-conf + hosts = nodes: '' + ${nodes.pleroma.networking.primaryIPAddress} pleroma.nixos.test + ${nodes.client.networking.primaryIPAddress} client.nixos.test + ''; + in + { + name = "pleroma"; + nodes = { + client = + { + nodes, + pkgs, + config, + ... + }: + { + security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; + networking.extraHosts = hosts nodes; + environment.systemPackages = [ + pkgs.toot + send-toot ]; }; - postgresql = { - enable = true; - package = pkgs.postgresql_13; - }; - nginx = { - enable = true; - virtualHosts."pleroma.nixos.test" = { - addSSL = true; - sslCertificate = "${tls-cert}/cert.pem"; - sslCertificateKey = "${tls-cert}/key.pem"; - locations."/" = { - proxyPass = "http://127.0.0.1:4000"; - extraConfig = '' - add_header 'Access-Control-Allow-Origin' '*' always; - add_header 'Access-Control-Allow-Methods' 'POST, PUT, DELETE, GET, PATCH, OPTIONS' always; - add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Idempotency-Key' always; - add_header 'Access-Control-Expose-Headers' 'Link, X-RateLimit-Reset, X-RateLimit-Limit, X-RateLimit-Remaining, X-Request-Id' always; - if ($request_method = OPTIONS) { - return 204; - } - add_header X-XSS-Protection "1; mode=block"; - add_header X-Permitted-Cross-Domain-Policies none; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Referrer-Policy same-origin; - add_header X-Download-Options noopen; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $host; - client_max_body_size 16m; - ''; + pleroma = + { + nodes, + pkgs, + config, + ... + }: + { + security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; + networking.extraHosts = hosts nodes; + networking.firewall.enable = false; + environment.systemPackages = [ + provision-db + provision-secrets + provision-user + ]; + services = { + pleroma = { + enable = true; + configs = [ + pleroma-conf + ]; + }; + postgresql = { + enable = true; + package = pkgs.postgresql_13; + }; + nginx = { + enable = true; + virtualHosts."pleroma.nixos.test" = { + addSSL = true; + sslCertificate = "${tls-cert}/cert.pem"; + sslCertificateKey = "${tls-cert}/key.pem"; + locations."/" = { + proxyPass = "http://127.0.0.1:4000"; + extraConfig = '' + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'POST, PUT, DELETE, GET, PATCH, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Idempotency-Key' always; + add_header 'Access-Control-Expose-Headers' 'Link, X-RateLimit-Reset, X-RateLimit-Limit, X-RateLimit-Remaining, X-Request-Id' always; + if ($request_method = OPTIONS) { + return 204; + } + add_header X-XSS-Protection "1; mode=block"; + add_header X-Permitted-Cross-Domain-Policies none; + add_header X-Frame-Options DENY; + add_header X-Content-Type-Options nosniff; + add_header Referrer-Policy same-origin; + add_header X-Download-Options noopen; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + client_max_body_size 16m; + ''; + }; + }; }; }; }; - }; }; - }; - testScript = { nodes, ... }: '' - pleroma.wait_for_unit("postgresql.service") - pleroma.wait_until_succeeds("ls /var/lib/pleroma") - pleroma.succeed("provision-db") - pleroma.wait_for_file("/var/lib/pleroma") - pleroma.succeed("provision-secrets") - pleroma.systemctl("restart pleroma.service") - pleroma.wait_for_unit("pleroma.service") - pleroma.succeed("provision-user") - client.succeed("send-toot") - ''; + testScript = + { nodes, ... }: + '' + pleroma.wait_for_unit("postgresql.service") + pleroma.wait_until_succeeds("ls /var/lib/pleroma") + pleroma.succeed("provision-db") + pleroma.wait_for_file("/var/lib/pleroma") + pleroma.succeed("provision-secrets") + pleroma.systemctl("restart pleroma.service") + pleroma.wait_for_unit("pleroma.service") + pleroma.succeed("provision-user") + client.succeed("send-toot") + ''; - meta.timeout = 600; -}) + meta.timeout = 600; + } +) diff --git a/nixos/tests/plikd.nix b/nixos/tests/plikd.nix index 97c254a5f7b05..05a1c6017d2d6 100644 --- a/nixos/tests/plikd.nix +++ b/nixos/tests/plikd.nix @@ -1,27 +1,33 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "plikd"; - meta = with lib.maintainers; { - maintainers = [ freezeboy ]; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "plikd"; + meta = with lib.maintainers; { + maintainers = [ freezeboy ]; + }; - nodes.machine = { pkgs, ... }: let - in { - services.plikd.enable = true; - environment.systemPackages = [ pkgs.plik ]; - }; + nodes.machine = + { pkgs, ... }: + let + in + { + services.plikd.enable = true; + environment.systemPackages = [ pkgs.plik ]; + }; - testScript = '' - # Service basic test - machine.wait_for_unit("plikd") + testScript = '' + # Service basic test + machine.wait_for_unit("plikd") - # Network test - machine.wait_for_open_port(8080) - machine.succeed("curl --fail -v http://localhost:8080") + # Network test + machine.wait_for_open_port(8080) + machine.succeed("curl --fail -v http://localhost:8080") - # Application test - machine.execute("echo test > /tmp/data.txt") - machine.succeed("plik --server http://localhost:8080 /tmp/data.txt | grep curl") + # Application test + machine.execute("echo test > /tmp/data.txt") + machine.succeed("plik --server http://localhost:8080 /tmp/data.txt | grep curl") - machine.succeed("diff data.txt /tmp/data.txt") - ''; -}) + machine.succeed("diff data.txt /tmp/data.txt") + ''; + } +) diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix index 2bb2b705eb7e9..97041012756a5 100644 --- a/nixos/tests/plotinus.nix +++ b/nixos/tests/plotinus.nix @@ -1,32 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "plotinus"; - meta = { - maintainers = pkgs.plotinus.meta.maintainers; - timeout = 600; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "plotinus"; + meta = { + maintainers = pkgs.plotinus.meta.maintainers; + timeout = 600; + }; - nodes.machine = - { pkgs, ... }: + nodes.machine = + { pkgs, ... }: - { imports = [ ./common/x11.nix ]; - programs.plotinus.enable = true; - environment.systemPackages = [ - pkgs.gnome-pomodoro - pkgs.xdotool - ]; - }; + { + imports = [ ./common/x11.nix ]; + programs.plotinus.enable = true; + environment.systemPackages = [ + pkgs.gnome-pomodoro + pkgs.xdotool + ]; + }; - testScript = '' - machine.wait_for_x() - machine.succeed("gnome-pomodoro >&2 &") - machine.wait_for_window("Pomodoro", timeout=120) - machine.succeed( - "xdotool search --sync --onlyvisible --class gnome-pomodoro " - + "windowfocus --sync key --clearmodifiers --delay 1 'ctrl+shift+p'" - ) - machine.sleep(5) # wait for the popup - machine.screenshot("popup") - machine.succeed("xdotool key --delay 100 p r e f e r e n c e s Return") - machine.wait_for_window("Preferences", timeout=120) - ''; -}) + testScript = '' + machine.wait_for_x() + machine.succeed("gnome-pomodoro >&2 &") + machine.wait_for_window("Pomodoro", timeout=120) + machine.succeed( + "xdotool search --sync --onlyvisible --class gnome-pomodoro " + + "windowfocus --sync key --clearmodifiers --delay 1 'ctrl+shift+p'" + ) + machine.sleep(5) # wait for the popup + machine.screenshot("popup") + machine.succeed("xdotool key --delay 100 p r e f e r e n c e s Return") + machine.wait_for_window("Preferences", timeout=120) + ''; + } +) diff --git a/nixos/tests/podgrab.nix b/nixos/tests/podgrab.nix index dc9dfebaf49bd..05c2fd7260162 100644 --- a/nixos/tests/podgrab.nix +++ b/nixos/tests/podgrab.nix @@ -2,33 +2,40 @@ let defaultPort = 8080; customPort = 4242; in -import ./make-test-python.nix ({ pkgs, ... }: { - name = "podgrab"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "podgrab"; - nodes = { - default = { ... }: { - services.podgrab.enable = true; - }; + nodes = { + default = + { ... }: + { + services.podgrab.enable = true; + }; - customized = { ... }: { - services.podgrab = { - enable = true; - port = customPort; - }; + customized = + { ... }: + { + services.podgrab = { + enable = true; + port = customPort; + }; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - default.wait_for_unit("podgrab") - default.wait_for_open_port(${toString defaultPort}) - default.succeed("curl --fail http://localhost:${toString defaultPort}") + default.wait_for_unit("podgrab") + default.wait_for_open_port(${toString defaultPort}) + default.succeed("curl --fail http://localhost:${toString defaultPort}") - customized.wait_for_unit("podgrab") - customized.wait_for_open_port(${toString customPort}) - customized.succeed("curl --fail http://localhost:${toString customPort}") - ''; + customized.wait_for_unit("podgrab") + customized.wait_for_open_port(${toString customPort}) + customized.succeed("curl --fail http://localhost:${toString customPort}") + ''; - meta.maintainers = with pkgs.lib.maintainers; [ ambroisie ]; -}) + meta.maintainers = with pkgs.lib.maintainers; [ ambroisie ]; + } +) diff --git a/nixos/tests/podman/default.nix b/nixos/tests/podman/default.nix index f57523cf58886..164f769b1fb08 100644 --- a/nixos/tests/podman/default.nix +++ b/nixos/tests/podman/default.nix @@ -23,43 +23,51 @@ import ../make-test-python.nix ( }; nodes = { - rootful = { pkgs, ... }: { - virtualisation.podman.enable = true; - - # hack to ensure that podman built with and without zfs in extraPackages is cached - boot.supportedFilesystems = [ "zfs" ]; - networking.hostId = "00000000"; - }; - rootless = { pkgs, ... }: { - virtualisation.podman.enable = true; - - users.users.alice = { - isNormalUser = true; + rootful = + { pkgs, ... }: + { + virtualisation.podman.enable = true; + + # hack to ensure that podman built with and without zfs in extraPackages is cached + boot.supportedFilesystems = [ "zfs" ]; + networking.hostId = "00000000"; }; - }; - dns = { pkgs, ... }: { - virtualisation.podman.enable = true; + rootless = + { pkgs, ... }: + { + virtualisation.podman.enable = true; + + users.users.alice = { + isNormalUser = true; + }; + }; + dns = + { pkgs, ... }: + { + virtualisation.podman.enable = true; - virtualisation.podman.defaultNetwork.settings.dns_enabled = true; - }; - docker = { pkgs, ... }: { - virtualisation.podman.enable = true; + virtualisation.podman.defaultNetwork.settings.dns_enabled = true; + }; + docker = + { pkgs, ... }: + { + virtualisation.podman.enable = true; - virtualisation.podman.dockerSocket.enable = true; + virtualisation.podman.dockerSocket.enable = true; - environment.systemPackages = [ - pkgs.docker-client - ]; + environment.systemPackages = [ + pkgs.docker-client + ]; - users.users.alice = { - isNormalUser = true; - extraGroups = [ "podman" ]; - }; + users.users.alice = { + isNormalUser = true; + extraGroups = [ "podman" ]; + }; - users.users.mallory = { - isNormalUser = true; + users.users.mallory = { + isNormalUser = true; + }; }; - }; }; testScript = '' diff --git a/nixos/tests/podman/tls-ghostunnel.nix b/nixos/tests/podman/tls-ghostunnel.nix index 52c31dc21f101..fb4a43fd4a898 100644 --- a/nixos/tests/podman/tls-ghostunnel.nix +++ b/nixos/tests/podman/tls-ghostunnel.nix @@ -1,38 +1,37 @@ -/* - This test runs podman as a backend for the Docker CLI. - */ +# This test runs podman as a backend for the Docker CLI. import ../make-test-python.nix ( { pkgs, lib, ... }: - let gen-ca = pkgs.writeScript "gen-ca" '' - # Create CA - PATH="${pkgs.openssl}/bin:$PATH" - openssl genrsa -out ca-key.pem 4096 - openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -subj '/C=NL/ST=Zuid-Holland/L=The Hague/O=Stevige Balken en Planken B.V./OU=OpSec/CN=Certificate Authority' -out ca.pem - - # Create service - openssl genrsa -out podman-key.pem 4096 - openssl req -subj '/CN=podman' -sha256 -new -key podman-key.pem -out service.csr - echo subjectAltName = DNS:podman,IP:127.0.0.1 >> extfile.cnf - echo extendedKeyUsage = serverAuth >> extfile.cnf - openssl x509 -req -days 365 -sha256 -in service.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out podman-cert.pem -extfile extfile.cnf - - # Create client - openssl genrsa -out client-key.pem 4096 - openssl req -subj '/CN=client' -new -key client-key.pem -out client.csr - echo extendedKeyUsage = clientAuth > extfile-client.cnf - openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile-client.cnf - - # Create CA 2 - PATH="${pkgs.openssl}/bin:$PATH" - openssl genrsa -out ca-2-key.pem 4096 - openssl req -new -x509 -days 365 -key ca-2-key.pem -sha256 -subj '/C=NL/ST=Zuid-Holland/L=The Hague/O=Stevige Balken en Planken B.V./OU=OpSec/CN=Certificate Authority' -out ca-2.pem - - # Create client signed by CA 2 - openssl genrsa -out client-2-key.pem 4096 - openssl req -subj '/CN=client' -new -key client-2-key.pem -out client-2.csr - echo extendedKeyUsage = clientAuth > extfile-client.cnf - openssl x509 -req -days 365 -sha256 -in client-2.csr -CA ca-2.pem -CAkey ca-2-key.pem -CAcreateserial -out client-2-cert.pem -extfile extfile-client.cnf + let + gen-ca = pkgs.writeScript "gen-ca" '' + # Create CA + PATH="${pkgs.openssl}/bin:$PATH" + openssl genrsa -out ca-key.pem 4096 + openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -subj '/C=NL/ST=Zuid-Holland/L=The Hague/O=Stevige Balken en Planken B.V./OU=OpSec/CN=Certificate Authority' -out ca.pem + + # Create service + openssl genrsa -out podman-key.pem 4096 + openssl req -subj '/CN=podman' -sha256 -new -key podman-key.pem -out service.csr + echo subjectAltName = DNS:podman,IP:127.0.0.1 >> extfile.cnf + echo extendedKeyUsage = serverAuth >> extfile.cnf + openssl x509 -req -days 365 -sha256 -in service.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out podman-cert.pem -extfile extfile.cnf + + # Create client + openssl genrsa -out client-key.pem 4096 + openssl req -subj '/CN=client' -new -key client-key.pem -out client.csr + echo extendedKeyUsage = clientAuth > extfile-client.cnf + openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile-client.cnf + + # Create CA 2 + PATH="${pkgs.openssl}/bin:$PATH" + openssl genrsa -out ca-2-key.pem 4096 + openssl req -new -x509 -days 365 -key ca-2-key.pem -sha256 -subj '/C=NL/ST=Zuid-Holland/L=The Hague/O=Stevige Balken en Planken B.V./OU=OpSec/CN=Certificate Authority' -out ca-2.pem + + # Create client signed by CA 2 + openssl genrsa -out client-2-key.pem 4096 + openssl req -subj '/CN=client' -new -key client-2-key.pem -out client-2.csr + echo extendedKeyUsage = clientAuth > extfile-client.cnf + openssl x509 -req -days 365 -sha256 -in client-2.csr -CA ca-2.pem -CAkey ca-2-key.pem -CAcreateserial -out client-2-cert.pem -extfile extfile-client.cnf ''; in @@ -65,20 +64,22 @@ import ../make-test-python.nix ( isNormalUser = true; home = "/home/alice"; description = "Alice Foobar"; - extraGroups = ["podman"]; + extraGroups = [ "podman" ]; }; }; - client = { ... }: { - environment.systemPackages = [ - # Installs the docker _client_ only - # Normally, you'd want `virtualisation.docker.enable = true;`. - pkgs.docker-client - ]; - environment.variables.DOCKER_HOST = "podman:2376"; - environment.variables.DOCKER_TLS_VERIFY = "1"; - }; + client = + { ... }: + { + environment.systemPackages = [ + # Installs the docker _client_ only + # Normally, you'd want `virtualisation.docker.enable = true;`. + pkgs.docker-client + ]; + environment.variables.DOCKER_HOST = "podman:2376"; + environment.variables.DOCKER_TLS_VERIFY = "1"; + }; }; testScript = '' diff --git a/nixos/tests/polaris.nix b/nixos/tests/polaris.nix index bb105d600032f..3a530996d63ab 100644 --- a/nixos/tests/polaris.nix +++ b/nixos/tests/polaris.nix @@ -1,29 +1,32 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "polaris"; - meta.maintainers = with lib.maintainers; [ pbsds ]; + { + name = "polaris"; + meta.maintainers = with lib.maintainers; [ pbsds ]; - nodes.machine = - { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - services.polaris = { - enable = true; - port = 5050; - settings.users = [ - { - name = "test_user"; - password = "very_secret_password"; - admin = true; - } - ]; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + services.polaris = { + enable = true; + port = 5050; + settings.users = [ + { + name = "test_user"; + password = "very_secret_password"; + admin = true; + } + ]; + }; }; - }; - testScript = '' - machine.wait_for_unit("polaris.service") - machine.wait_for_open_port(5050) - machine.succeed("curl http://localhost:5050/api/version") - machine.succeed("curl -X GET http://localhost:5050/api/initial_setup -H 'accept: application/json' | jq -e '.has_any_users == true'") - ''; -}) + testScript = '' + machine.wait_for_unit("polaris.service") + machine.wait_for_open_port(5050) + machine.succeed("curl http://localhost:5050/api/version") + machine.succeed("curl -X GET http://localhost:5050/api/initial_setup -H 'accept: application/json' | jq -e '.has_any_users == true'") + ''; + } +) diff --git a/nixos/tests/pomerium.nix b/nixos/tests/pomerium.nix index d0204488e8efd..f9a8c2c2a1ed7 100644 --- a/nixos/tests/pomerium.nix +++ b/nixos/tests/pomerium.nix @@ -1,109 +1,143 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "pomerium"; - meta = with lib.maintainers; { - maintainers = [ lukegb devusb ]; - }; - - nodes = let base = myIP: { pkgs, lib, ... }: { - virtualisation.vlans = [ 1 ]; - networking = { - dhcpcd.enable = false; - firewall.allowedTCPPorts = [ 80 443 ]; - hosts = { - "192.168.1.1" = [ "pomerium" "pom-auth" ]; - "192.168.1.2" = [ "backend" "dummy-oidc" ]; - }; - interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ - { address = myIP; prefixLength = 24; } +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "pomerium"; + meta = with lib.maintainers; { + maintainers = [ + lukegb + devusb ]; }; - }; in { - pomerium = { pkgs, lib, ... }: { - imports = [ (base "192.168.1.1") ]; - environment.systemPackages = with pkgs; [ chromium ]; - services.pomerium = { - enable = true; - settings = { - address = ":80"; - insecure_server = true; - authenticate_service_url = "http://pom-auth"; - idp_provider = "oidc"; - idp_scopes = [ "oidc" ]; - idp_client_id = "dummy"; - idp_provider_url = "http://dummy-oidc"; + nodes = + let + base = + myIP: + { pkgs, lib, ... }: + { + virtualisation.vlans = [ 1 ]; + networking = { + dhcpcd.enable = false; + firewall.allowedTCPPorts = [ + 80 + 443 + ]; + hosts = { + "192.168.1.1" = [ + "pomerium" + "pom-auth" + ]; + "192.168.1.2" = [ + "backend" + "dummy-oidc" + ]; + }; + interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [ + { + address = myIP; + prefixLength = 24; + } + ]; + }; + }; + in + { + pomerium = + { pkgs, lib, ... }: + { + imports = [ (base "192.168.1.1") ]; + environment.systemPackages = with pkgs; [ chromium ]; + services.pomerium = { + enable = true; + settings = { + address = ":80"; + insecure_server = true; + authenticate_service_url = "http://pom-auth"; - policy = [{ - from = "https://my.website"; - to = "http://192.168.1.2"; - allow_public_unauthenticated_access = true; - preserve_host_header = true; - } { - from = "https://login.required"; - to = "http://192.168.1.2"; - allowed_domains = [ "my.domain" ]; - preserve_host_header = true; - }]; - }; - secretsFile = pkgs.writeText "pomerium-secrets" '' - # 12345678901234567890123456789012 in base64 - COOKIE_SECRET=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI= - IDP_CLIENT_SECRET=dummy - ''; - }; - }; - backend = { pkgs, lib, ... }: { - imports = [ (base "192.168.1.2") ]; - services.nginx.enable = true; - services.nginx.virtualHosts."my.website" = { - root = pkgs.runCommand "testdir" {} '' - mkdir "$out" - echo hello world > "$out/index.html" - ''; - }; - services.nginx.virtualHosts."dummy-oidc" = { - root = pkgs.runCommand "testdir" {} '' - mkdir -p "$out/.well-known" - cat <"$out/.well-known/openid-configuration" - { - "issuer": "http://dummy-oidc", - "authorization_endpoint": "http://dummy-oidc/auth.txt", - "token_endpoint": "http://dummy-oidc/token", - "jwks_uri": "http://dummy-oidc/jwks.json", - "userinfo_endpoint": "http://dummy-oidc/userinfo", - "id_token_signing_alg_values_supported": ["RS256"] - } - EOF - echo hello I am login page >"$out/auth.txt" - ''; + idp_provider = "oidc"; + idp_scopes = [ "oidc" ]; + idp_client_id = "dummy"; + idp_provider_url = "http://dummy-oidc"; + + policy = [ + { + from = "https://my.website"; + to = "http://192.168.1.2"; + allow_public_unauthenticated_access = true; + preserve_host_header = true; + } + { + from = "https://login.required"; + to = "http://192.168.1.2"; + allowed_domains = [ "my.domain" ]; + preserve_host_header = true; + } + ]; + }; + secretsFile = pkgs.writeText "pomerium-secrets" '' + # 12345678901234567890123456789012 in base64 + COOKIE_SECRET=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI= + IDP_CLIENT_SECRET=dummy + ''; + }; + }; + backend = + { pkgs, lib, ... }: + { + imports = [ (base "192.168.1.2") ]; + services.nginx.enable = true; + services.nginx.virtualHosts."my.website" = { + root = pkgs.runCommand "testdir" { } '' + mkdir "$out" + echo hello world > "$out/index.html" + ''; + }; + services.nginx.virtualHosts."dummy-oidc" = { + root = pkgs.runCommand "testdir" { } '' + mkdir -p "$out/.well-known" + cat <"$out/.well-known/openid-configuration" + { + "issuer": "http://dummy-oidc", + "authorization_endpoint": "http://dummy-oidc/auth.txt", + "token_endpoint": "http://dummy-oidc/token", + "jwks_uri": "http://dummy-oidc/jwks.json", + "userinfo_endpoint": "http://dummy-oidc/userinfo", + "id_token_signing_alg_values_supported": ["RS256"] + } + EOF + echo hello I am login page >"$out/auth.txt" + ''; + }; + }; }; - }; - }; - testScript = { ... }: '' - backend.wait_for_unit("nginx") - backend.wait_for_open_port(80) + testScript = + { ... }: + '' + backend.wait_for_unit("nginx") + backend.wait_for_open_port(80) - pomerium.wait_for_unit("pomerium") - pomerium.wait_for_open_port(80) + pomerium.wait_for_unit("pomerium") + pomerium.wait_for_open_port(80) - with subtest("no authentication required"): - pomerium.succeed( - "curl --resolve my.website:80:127.0.0.1 http://my.website | grep 'hello world'" - ) + with subtest("no authentication required"): + pomerium.succeed( + "curl --resolve my.website:80:127.0.0.1 http://my.website | grep 'hello world'" + ) - with subtest("login required"): - pomerium.succeed( - "curl -I --resolve login.required:80:127.0.0.1 http://login.required | grep pom-auth" - ) - pomerium.succeed( - "curl -L --resolve login.required:80:127.0.0.1 http://login.required | grep 'hello I am login page'" - ) + with subtest("login required"): + pomerium.succeed( + "curl -I --resolve login.required:80:127.0.0.1 http://login.required | grep pom-auth" + ) + pomerium.succeed( + "curl -L --resolve login.required:80:127.0.0.1 http://login.required | grep 'hello I am login page'" + ) - with subtest("ui"): - pomerium.succeed( - # check for a string that only appears if the UI is displayed correctly - "chromium --no-sandbox --headless --disable-gpu --dump-dom --host-resolver-rules='MAP login.required 127.0.0.1:80' http://login.required/.pomerium | grep 'User Details Not Available'" - ) - ''; -}) + with subtest("ui"): + pomerium.succeed( + # check for a string that only appears if the UI is displayed correctly + "chromium --no-sandbox --headless --disable-gpu --dump-dom --host-resolver-rules='MAP login.required 127.0.0.1:80' http://login.required/.pomerium | grep 'User Details Not Available'" + ) + ''; + } +) diff --git a/nixos/tests/portunus.nix b/nixos/tests/portunus.nix index 6fcae7e1c4cea..5bfe990943b54 100644 --- a/nixos/tests/portunus.nix +++ b/nixos/tests/portunus.nix @@ -1,18 +1,20 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "portunus"; - meta.maintainers = with lib.maintainers; [ SuperSandro2000 ]; + { + name = "portunus"; + meta.maintainers = with lib.maintainers; [ SuperSandro2000 ]; - nodes.machine = _: { - services.portunus = { - enable = true; - ldap.suffix = "dc=example,dc=org"; + nodes.machine = _: { + services.portunus = { + enable = true; + ldap.suffix = "dc=example,dc=org"; + }; }; - }; - testScript = '' - machine.wait_for_unit("portunus.service") - machine.succeed("curl --fail -vvv http://localhost:8080/") - ''; -}) + testScript = '' + machine.wait_for_unit("portunus.service") + machine.succeed("curl --fail -vvv http://localhost:8080/") + ''; + } +) diff --git a/nixos/tests/postfix-raise-smtpd-tls-security-level.nix b/nixos/tests/postfix-raise-smtpd-tls-security-level.nix index 2a6c85a3a9202..e9366f96f878c 100644 --- a/nixos/tests/postfix-raise-smtpd-tls-security-level.nix +++ b/nixos/tests/postfix-raise-smtpd-tls-security-level.nix @@ -1,38 +1,42 @@ import ./make-test-python.nix { name = "postfix"; - nodes.machine = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - services.postfix = { - enable = true; - enableSubmissions = true; - submissionsOptions = { - smtpd_tls_security_level = "none"; + nodes.machine = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + services.postfix = { + enable = true; + enableSubmissions = true; + submissionsOptions = { + smtpd_tls_security_level = "none"; + }; }; - }; - environment.systemPackages = let - checkConfig = pkgs.writeScriptBin "check-config" '' - #!${pkgs.python3.interpreter} - import sys + environment.systemPackages = + let + checkConfig = pkgs.writeScriptBin "check-config" '' + #!${pkgs.python3.interpreter} + import sys - state = 1 - success = False + state = 1 + success = False - with open("/etc/postfix/master.cf") as masterCf: - for line in masterCf: - if state == 1 and line.startswith("submissions"): - state = 2 - elif state == 2 and line.startswith(" ") and "smtpd_tls_security_level=encrypt" in line: - success = True - elif state == 2 and not line.startswith(" "): - state == 3 - if not success: - sys.exit(1) - ''; + with open("/etc/postfix/master.cf") as masterCf: + for line in masterCf: + if state == 1 and line.startswith("submissions"): + state = 2 + elif state == 2 and line.startswith(" ") and "smtpd_tls_security_level=encrypt" in line: + success = True + elif state == 2 and not line.startswith(" "): + state == 3 + if not success: + sys.exit(1) + ''; - in [ checkConfig ]; - }; + in + [ checkConfig ]; + }; testScript = '' machine.wait_for_unit("postfix.service") diff --git a/nixos/tests/postfix.nix b/nixos/tests/postfix.nix index 1dbe6a4c51934..674a7656079ff 100644 --- a/nixos/tests/postfix.nix +++ b/nixos/tests/postfix.nix @@ -5,68 +5,76 @@ in import ./make-test-python.nix { name = "postfix"; - nodes.machine = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - services.postfix = { - enable = true; - enableSubmission = true; - enableSubmissions = true; - tlsTrustedAuthorities = "${certs.ca.cert}"; - sslCert = "${certs.${domain}.cert}"; - sslKey = "${certs.${domain}.key}"; - submissionsOptions = { + nodes.machine = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + services.postfix = { + enable = true; + enableSubmission = true; + enableSubmissions = true; + tlsTrustedAuthorities = "${certs.ca.cert}"; + sslCert = "${certs.${domain}.cert}"; + sslKey = "${certs.${domain}.key}"; + submissionsOptions = { smtpd_sasl_auth_enable = "yes"; smtpd_client_restrictions = "permit"; milter_macro_daemon_name = "ORIGINATING"; + }; }; - }; - security.pki.certificateFiles = [ - certs.ca.cert - ]; + security.pki.certificateFiles = [ + certs.ca.cert + ]; - networking.extraHosts = '' - 127.0.0.1 ${domain} - ''; + networking.extraHosts = '' + 127.0.0.1 ${domain} + ''; - environment.systemPackages = let - sendTestMail = pkgs.writeScriptBin "send-testmail" '' - #!${pkgs.python3.interpreter} - import smtplib + environment.systemPackages = + let + sendTestMail = pkgs.writeScriptBin "send-testmail" '' + #!${pkgs.python3.interpreter} + import smtplib - with smtplib.SMTP('${domain}') as smtp: - smtp.sendmail('root@localhost', 'alice@localhost', 'Subject: Test\n\nTest data.') - smtp.quit() - ''; + with smtplib.SMTP('${domain}') as smtp: + smtp.sendmail('root@localhost', 'alice@localhost', 'Subject: Test\n\nTest data.') + smtp.quit() + ''; - sendTestMailStarttls = pkgs.writeScriptBin "send-testmail-starttls" '' - #!${pkgs.python3.interpreter} - import smtplib - import ssl + sendTestMailStarttls = pkgs.writeScriptBin "send-testmail-starttls" '' + #!${pkgs.python3.interpreter} + import smtplib + import ssl - ctx = ssl.create_default_context() + ctx = ssl.create_default_context() - with smtplib.SMTP('${domain}') as smtp: - smtp.ehlo() - smtp.starttls(context=ctx) - smtp.ehlo() - smtp.sendmail('root@localhost', 'alice@localhost', 'Subject: Test STARTTLS\n\nTest data.') - smtp.quit() - ''; + with smtplib.SMTP('${domain}') as smtp: + smtp.ehlo() + smtp.starttls(context=ctx) + smtp.ehlo() + smtp.sendmail('root@localhost', 'alice@localhost', 'Subject: Test STARTTLS\n\nTest data.') + smtp.quit() + ''; - sendTestMailSmtps = pkgs.writeScriptBin "send-testmail-smtps" '' - #!${pkgs.python3.interpreter} - import smtplib - import ssl + sendTestMailSmtps = pkgs.writeScriptBin "send-testmail-smtps" '' + #!${pkgs.python3.interpreter} + import smtplib + import ssl - ctx = ssl.create_default_context() + ctx = ssl.create_default_context() - with smtplib.SMTP_SSL(host='${domain}', context=ctx) as smtp: - smtp.sendmail('root@localhost', 'alice@localhost', 'Subject: Test SMTPS\n\nTest data.') - smtp.quit() - ''; - in [ sendTestMail sendTestMailStarttls sendTestMailSmtps ]; - }; + with smtplib.SMTP_SSL(host='${domain}', context=ctx) as smtp: + smtp.sendmail('root@localhost', 'alice@localhost', 'Subject: Test SMTPS\n\nTest data.') + smtp.quit() + ''; + in + [ + sendTestMail + sendTestMailStarttls + sendTestMailSmtps + ]; + }; testScript = '' machine.wait_for_unit("postfix.service") diff --git a/nixos/tests/postfixadmin.nix b/nixos/tests/postfixadmin.nix index b2712f4699aea..9162de429482d 100644 --- a/nixos/tests/postfixadmin.nix +++ b/nixos/tests/postfixadmin.nix @@ -1,31 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "postfixadmin"; - meta = with pkgs.lib.maintainers; { - maintainers = [ globin ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "postfixadmin"; + meta = with pkgs.lib.maintainers; { + maintainers = [ globin ]; + }; - nodes = { - postfixadmin = { config, pkgs, ... }: { - services.postfixadmin = { - enable = true; - hostName = "postfixadmin"; - setupPasswordFile = pkgs.writeText "insecure-test-setup-pw-file" "$2y$10$r0p63YCjd9rb9nHrV9UtVuFgGTmPDLKu.0UIJoQTkWCZZze2iuB1m"; - }; - services.nginx.virtualHosts.postfixadmin = { - forceSSL = false; - enableACME = false; - }; + nodes = { + postfixadmin = + { config, pkgs, ... }: + { + services.postfixadmin = { + enable = true; + hostName = "postfixadmin"; + setupPasswordFile = pkgs.writeText "insecure-test-setup-pw-file" "$2y$10$r0p63YCjd9rb9nHrV9UtVuFgGTmPDLKu.0UIJoQTkWCZZze2iuB1m"; + }; + services.nginx.virtualHosts.postfixadmin = { + forceSSL = false; + enableACME = false; + }; + }; }; - }; - testScript = '' - postfixadmin.start - postfixadmin.wait_for_unit("postgresql.service") - postfixadmin.wait_for_unit("phpfpm-postfixadmin.service") - postfixadmin.wait_for_unit("nginx.service") - postfixadmin.succeed( - "curl -sSfL http://postfixadmin/setup.php -X POST -F 'setup_password=not production'" - ) - postfixadmin.succeed("curl -sSfL http://postfixadmin/ | grep 'Mail admins login here'") - ''; -}) + testScript = '' + postfixadmin.start + postfixadmin.wait_for_unit("postgresql.service") + postfixadmin.wait_for_unit("phpfpm-postfixadmin.service") + postfixadmin.wait_for_unit("nginx.service") + postfixadmin.succeed( + "curl -sSfL http://postfixadmin/setup.php -X POST -F 'setup_password=not production'" + ) + postfixadmin.succeed("curl -sSfL http://postfixadmin/ | grep 'Mail admins login here'") + ''; + } +) diff --git a/nixos/tests/power-profiles-daemon.nix b/nixos/tests/power-profiles-daemon.nix index 8a54d8e8bab87..a1f10afda9e60 100644 --- a/nixos/tests/power-profiles-daemon.nix +++ b/nixos/tests/power-profiles-daemon.nix @@ -1,57 +1,64 @@ -import ./make-test-python.nix ({ pkgs, ... }: - -{ - name = "power-profiles-daemon"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mvnetbiz ]; - }; - nodes.machine = { pkgs, ... }: { - security.polkit.enable = true; - services.power-profiles-daemon.enable = true; - environment.systemPackages = [ pkgs.glib pkgs.power-profiles-daemon ]; - }; - - testScript = '' - def get_profile(): - return machine.succeed( - """gdbus call --system --dest org.freedesktop.UPower.PowerProfiles --object-path /org/freedesktop/UPower/PowerProfiles \ - --method org.freedesktop.DBus.Properties.Get 'org.freedesktop.UPower.PowerProfiles' 'ActiveProfile' - """ - ) - - - def set_profile(profile): - return machine.succeed( - """gdbus call --system --dest org.freedesktop.UPower.PowerProfiles --object-path /org/freedesktop/UPower/PowerProfiles \ - --method org.freedesktop.DBus.Properties.Set 'org.freedesktop.UPower.PowerProfiles' 'ActiveProfile' "<'{profile}'>" - """.format( - profile=profile - ) - ) - - - machine.wait_for_unit("multi-user.target") - - set_profile("power-saver") - profile = get_profile() - if not "power-saver" in profile: - raise Exception("Unable to set power-saver profile") - - - set_profile("balanced") - profile = get_profile() - if not "balanced" in profile: - raise Exception("Unable to set balanced profile") - - # test powerprofilectl CLI - machine.succeed("powerprofilesctl set power-saver") - profile = get_profile() - if not "power-saver" in profile: - raise Exception("Unable to set power-saver profile with powerprofilectl") - - machine.succeed("powerprofilesctl set balanced") - profile = get_profile() - if not "balanced" in profile: - raise Exception("Unable to set balanced profile with powerprofilectl") - ''; -}) +import ./make-test-python.nix ( + { pkgs, ... }: + + { + name = "power-profiles-daemon"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mvnetbiz ]; + }; + nodes.machine = + { pkgs, ... }: + { + security.polkit.enable = true; + services.power-profiles-daemon.enable = true; + environment.systemPackages = [ + pkgs.glib + pkgs.power-profiles-daemon + ]; + }; + + testScript = '' + def get_profile(): + return machine.succeed( + """gdbus call --system --dest org.freedesktop.UPower.PowerProfiles --object-path /org/freedesktop/UPower/PowerProfiles \ + --method org.freedesktop.DBus.Properties.Get 'org.freedesktop.UPower.PowerProfiles' 'ActiveProfile' + """ + ) + + + def set_profile(profile): + return machine.succeed( + """gdbus call --system --dest org.freedesktop.UPower.PowerProfiles --object-path /org/freedesktop/UPower/PowerProfiles \ + --method org.freedesktop.DBus.Properties.Set 'org.freedesktop.UPower.PowerProfiles' 'ActiveProfile' "<'{profile}'>" + """.format( + profile=profile + ) + ) + + + machine.wait_for_unit("multi-user.target") + + set_profile("power-saver") + profile = get_profile() + if not "power-saver" in profile: + raise Exception("Unable to set power-saver profile") + + + set_profile("balanced") + profile = get_profile() + if not "balanced" in profile: + raise Exception("Unable to set balanced profile") + + # test powerprofilectl CLI + machine.succeed("powerprofilesctl set power-saver") + profile = get_profile() + if not "power-saver" in profile: + raise Exception("Unable to set power-saver profile with powerprofilectl") + + machine.succeed("powerprofilesctl set balanced") + profile = get_profile() + if not "balanced" in profile: + raise Exception("Unable to set balanced profile with powerprofilectl") + ''; + } +) diff --git a/nixos/tests/powerdns-admin.nix b/nixos/tests/powerdns-admin.nix index d326d74a98261..1f9354927acdc 100644 --- a/nixos/tests/powerdns-admin.nix +++ b/nixos/tests/powerdns-admin.nix @@ -1,7 +1,8 @@ # Test powerdns-admin -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -13,33 +14,43 @@ let CAPTCHA_ENABLE = False ''; - makeAppTest = name: configs: makeTest { - name = "powerdns-admin-${name}"; - meta = with pkgs.lib.maintainers; { - maintainers = [ Flakebi zhaofengli ]; - }; - - nodes.server = { pkgs, config, ... }: mkMerge ([ - { - services.powerdns-admin = { - enable = true; - secretKeyFile = "/etc/powerdns-admin/secret"; - saltFile = "/etc/powerdns-admin/salt"; - }; - # It's insecure to have secrets in the world-readable nix store, but this is just a test - environment.etc."powerdns-admin/secret".text = "secret key"; - environment.etc."powerdns-admin/salt".text = "salt"; - environment.systemPackages = [ - (pkgs.writeShellScriptBin "run-test" config.system.build.testScript) + makeAppTest = + name: configs: + makeTest { + name = "powerdns-admin-${name}"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + Flakebi + zhaofengli ]; - } - ] ++ configs); + }; - testScript = '' - server.wait_for_unit("powerdns-admin.service") - server.wait_until_succeeds("run-test", timeout=10) - ''; - }; + nodes.server = + { pkgs, config, ... }: + mkMerge ( + [ + { + services.powerdns-admin = { + enable = true; + secretKeyFile = "/etc/powerdns-admin/secret"; + saltFile = "/etc/powerdns-admin/salt"; + }; + # It's insecure to have secrets in the world-readable nix store, but this is just a test + environment.etc."powerdns-admin/secret".text = "secret key"; + environment.etc."powerdns-admin/salt".text = "salt"; + environment.systemPackages = [ + (pkgs.writeShellScriptBin "run-test" config.system.build.testScript) + ]; + } + ] + ++ configs + ); + + testScript = '' + server.wait_for_unit("powerdns-admin.service") + server.wait_until_succeeds("run-test", timeout=10) + ''; + }; matrix = { backend = { @@ -95,7 +106,10 @@ let }; listen = { tcp = { - services.powerdns-admin.extraArgs = [ "-b" "127.0.0.1:8000" ]; + services.powerdns-admin.extraArgs = [ + "-b" + "127.0.0.1:8000" + ]; system.build.testScript = '' set -euxo pipefail curl -sSf http://127.0.0.1:8000/ @@ -124,7 +138,10 @@ let ''; }; unix = { - services.powerdns-admin.extraArgs = [ "-b" "unix:/run/powerdns-admin/http.sock" ]; + services.powerdns-admin.extraArgs = [ + "-b" + "unix:/run/powerdns-admin/http.sock" + ]; system.build.testScript = '' curl -sSf --unix-socket /run/powerdns-admin/http.sock http://somehost/ ''; @@ -132,8 +149,18 @@ let }; }; in -with matrix; { - postgresql = makeAppTest "postgresql" [ backend.postgresql listen.tcp ]; - mysql = makeAppTest "mysql" [ backend.mysql listen.tcp ]; - unix-listener = makeAppTest "unix-listener" [ backend.postgresql listen.unix ]; +with matrix; +{ + postgresql = makeAppTest "postgresql" [ + backend.postgresql + listen.tcp + ]; + mysql = makeAppTest "mysql" [ + backend.mysql + listen.tcp + ]; + unix-listener = makeAppTest "unix-listener" [ + backend.postgresql + listen.unix + ]; } diff --git a/nixos/tests/powerdns.nix b/nixos/tests/powerdns.nix index 599d5ea67efe6..9ca6e597b6be8 100644 --- a/nixos/tests/powerdns.nix +++ b/nixos/tests/powerdns.nix @@ -2,61 +2,71 @@ # generic MySQL backend (gmysql) to connect to a # MariaDB server using UNIX sockets authentication. -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "powerdns"; - - nodes.server = { ... }: { - services.powerdns.enable = true; - services.powerdns.extraConfig = '' - launch=gmysql - gmysql-user=pdns - zone-cache-refresh-interval=0 - ''; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "powerdns"; + + nodes.server = + { ... }: + { + services.powerdns.enable = true; + services.powerdns.extraConfig = '' + launch=gmysql + gmysql-user=pdns + zone-cache-refresh-interval=0 + ''; - services.mysql = { - enable = true; - package = pkgs.mariadb; - ensureDatabases = [ "powerdns" ]; - ensureUsers = lib.singleton - { name = "pdns"; - ensurePermissions = { "powerdns.*" = "ALL PRIVILEGES"; }; + services.mysql = { + enable = true; + package = pkgs.mariadb; + ensureDatabases = [ "powerdns" ]; + ensureUsers = lib.singleton { + name = "pdns"; + ensurePermissions = { + "powerdns.*" = "ALL PRIVILEGES"; + }; + }; }; - }; - - environment.systemPackages = with pkgs; - [ dnsutils powerdns mariadb ]; - }; - - testScript = '' - with subtest("PowerDNS database exists"): - server.wait_for_unit("mysql") - server.succeed("echo 'SHOW DATABASES;' | sudo -u pdns mysql -u pdns >&2") - - with subtest("Loading the MySQL schema works"): - server.succeed( - "sudo -u pdns mysql -u pdns -D powerdns <" - "${pkgs.powerdns}/share/doc/pdns/schema.mysql.sql" - ) - - with subtest("PowerDNS server starts"): - server.wait_for_unit("pdns") - server.succeed("dig version.bind txt chaos @127.0.0.1 >&2") - - with subtest("Adding an example zone works"): - # Extract configuration file needed by pdnsutil - pdnsutil = "sudo -u pdns pdnsutil " - server.succeed(f"{pdnsutil} create-zone example.com ns1.example.com") - server.succeed(f"{pdnsutil} add-record example.com ns1 A 192.168.1.2") - - with subtest("Querying the example zone works"): - reply = server.succeed("dig +noall +answer ns1.example.com @127.0.0.1") - assert ( - "192.168.1.2" in reply - ), f"""" - The reply does not contain the expected IP address: - Expected: - ns1.example.com. 3600 IN A 192.168.1.2 - Reply: - {reply}""" - ''; -}) + + environment.systemPackages = with pkgs; [ + dnsutils + powerdns + mariadb + ]; + }; + + testScript = '' + with subtest("PowerDNS database exists"): + server.wait_for_unit("mysql") + server.succeed("echo 'SHOW DATABASES;' | sudo -u pdns mysql -u pdns >&2") + + with subtest("Loading the MySQL schema works"): + server.succeed( + "sudo -u pdns mysql -u pdns -D powerdns <" + "${pkgs.powerdns}/share/doc/pdns/schema.mysql.sql" + ) + + with subtest("PowerDNS server starts"): + server.wait_for_unit("pdns") + server.succeed("dig version.bind txt chaos @127.0.0.1 >&2") + + with subtest("Adding an example zone works"): + # Extract configuration file needed by pdnsutil + pdnsutil = "sudo -u pdns pdnsutil " + server.succeed(f"{pdnsutil} create-zone example.com ns1.example.com") + server.succeed(f"{pdnsutil} add-record example.com ns1 A 192.168.1.2") + + with subtest("Querying the example zone works"): + reply = server.succeed("dig +noall +answer ns1.example.com @127.0.0.1") + assert ( + "192.168.1.2" in reply + ), f"""" + The reply does not contain the expected IP address: + Expected: + ns1.example.com. 3600 IN A 192.168.1.2 + Reply: + {reply}""" + ''; + } +) diff --git a/nixos/tests/pppd.nix b/nixos/tests/pppd.nix index d599f918036f7..e6e581c5d05f7 100644 --- a/nixos/tests/pppd.nix +++ b/nixos/tests/pppd.nix @@ -4,56 +4,61 @@ import ./make-test-python.nix ( text = ''"flynn" * "reindeerflotilla" *''; mode = "0640"; }; - in { + in + { name = "pppd"; nodes = { - server = {config, pkgs, ...}: { - config = { - # Run a PPPoE access concentrator server. It will spawn an - # appropriate PPP server process when a PPPoE client sets up a - # PPPoE session. - systemd.services.pppoe-server = { - restartTriggers = [ - config.environment.etc."ppp/pppoe-server-options".source - config.environment.etc."ppp/chap-secrets".source - ]; - after = ["network.target"]; - serviceConfig = { - ExecStart = "${pkgs.rpPPPoE}/sbin/pppoe-server -F -O /etc/ppp/pppoe-server-options -q ${pkgs.ppp}/sbin/pppd -I eth1 -L 192.0.2.1 -R 192.0.2.2"; + server = + { config, pkgs, ... }: + { + config = { + # Run a PPPoE access concentrator server. It will spawn an + # appropriate PPP server process when a PPPoE client sets up a + # PPPoE session. + systemd.services.pppoe-server = { + restartTriggers = [ + config.environment.etc."ppp/pppoe-server-options".source + config.environment.etc."ppp/chap-secrets".source + ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${pkgs.rpPPPoE}/sbin/pppoe-server -F -O /etc/ppp/pppoe-server-options -q ${pkgs.ppp}/sbin/pppd -I eth1 -L 192.0.2.1 -R 192.0.2.2"; + }; + wantedBy = [ "multi-user.target" ]; + }; + environment.etc = { + "ppp/pppoe-server-options".text = '' + lcp-echo-interval 10 + lcp-echo-failure 2 + plugin pppoe.so + require-chap + nobsdcomp + noccp + novj + ''; + "ppp/chap-secrets" = chap-secrets; }; - wantedBy = ["multi-user.target"]; - }; - environment.etc = { - "ppp/pppoe-server-options".text = '' - lcp-echo-interval 10 - lcp-echo-failure 2 - plugin pppoe.so - require-chap - nobsdcomp - noccp - novj - ''; - "ppp/chap-secrets" = chap-secrets; }; }; - }; - client = {config, pkgs, ...}: { - services.pppd = { - enable = true; - peers.test = { - config = '' - plugin pppoe.so eth1 - name "flynn" - noipdefault - persist - noauth - debug - ''; + client = + { config, pkgs, ... }: + { + services.pppd = { + enable = true; + peers.test = { + config = '' + plugin pppoe.so eth1 + name "flynn" + noipdefault + persist + noauth + debug + ''; + }; }; + environment.etc."ppp/chap-secrets" = chap-secrets; }; - environment.etc."ppp/chap-secrets" = chap-secrets; - }; }; testScript = '' @@ -61,4 +66,5 @@ import ./make-test-python.nix ( client.wait_until_succeeds("ping -c1 -W1 192.0.2.1") server.wait_until_succeeds("ping -c1 -W1 192.0.2.2") ''; - }) + } +) diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix index 9ac4f8211e6b1..62cafb1c2c482 100644 --- a/nixos/tests/predictable-interface-names.nix +++ b/nixos/tests/predictable-interface-names.nix @@ -1,60 +1,87 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: let inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; testCombinations = pkgs.lib.cartesianProduct { - predictable = [true false]; - withNetworkd = [true false]; - systemdStage1 = [true false]; + predictable = [ + true + false + ]; + withNetworkd = [ + true + false + ]; + systemdStage1 = [ + true + false + ]; }; -in pkgs.lib.listToAttrs (builtins.map ({ predictable, withNetworkd, systemdStage1 }: { - name = pkgs.lib.optionalString (!predictable) "un" + "predictable" - + pkgs.lib.optionalString withNetworkd "Networkd" - + pkgs.lib.optionalString systemdStage1 "SystemdStage1"; - value = makeTest { - name = pkgs.lib.optionalString (!predictable) "un" + "predictableInterfaceNames" - + pkgs.lib.optionalString withNetworkd "-with-networkd" - + pkgs.lib.optionalString systemdStage1 "-systemd-stage-1"; - meta = {}; +in +pkgs.lib.listToAttrs ( + builtins.map ( + { + predictable, + withNetworkd, + systemdStage1, + }: + { + name = + pkgs.lib.optionalString (!predictable) "un" + + "predictable" + + pkgs.lib.optionalString withNetworkd "Networkd" + + pkgs.lib.optionalString systemdStage1 "SystemdStage1"; + value = makeTest { + name = + pkgs.lib.optionalString (!predictable) "un" + + "predictableInterfaceNames" + + pkgs.lib.optionalString withNetworkd "-with-networkd" + + pkgs.lib.optionalString systemdStage1 "-systemd-stage-1"; + meta = { }; - nodes.machine = { lib, ... }: let - script = '' - ip link - if ${lib.optionalString predictable "!"} ip link show eth0; then - echo Success - else - exit 1 - fi - ''; - in { - networking.usePredictableInterfaceNames = lib.mkForce predictable; - networking.useNetworkd = withNetworkd; - networking.dhcpcd.enable = !withNetworkd; - networking.useDHCP = !withNetworkd; + nodes.machine = + { lib, ... }: + let + script = '' + ip link + if ${lib.optionalString predictable "!"} ip link show eth0; then + echo Success + else + exit 1 + fi + ''; + in + { + networking.usePredictableInterfaceNames = lib.mkForce predictable; + networking.useNetworkd = withNetworkd; + networking.dhcpcd.enable = !withNetworkd; + networking.useDHCP = !withNetworkd; - # Check if predictable interface names are working in stage-1 - boot.initrd.postDeviceCommands = lib.mkIf (!systemdStage1) script; + # Check if predictable interface names are working in stage-1 + boot.initrd.postDeviceCommands = lib.mkIf (!systemdStage1) script; - boot.initrd.systemd = lib.mkIf systemdStage1 { - enable = true; - initrdBin = [ pkgs.iproute2 ]; - services.systemd-udev-settle.wantedBy = ["initrd.target"]; - services.check-interfaces = { - requiredBy = ["initrd.target"]; - after = ["systemd-udev-settle.service"]; - serviceConfig.Type = "oneshot"; - path = [ pkgs.iproute2 ]; - inherit script; - }; - }; - }; + boot.initrd.systemd = lib.mkIf systemdStage1 { + enable = true; + initrdBin = [ pkgs.iproute2 ]; + services.systemd-udev-settle.wantedBy = [ "initrd.target" ]; + services.check-interfaces = { + requiredBy = [ "initrd.target" ]; + after = [ "systemd-udev-settle.service" ]; + serviceConfig.Type = "oneshot"; + path = [ pkgs.iproute2 ]; + inherit script; + }; + }; + }; - testScript = '' - print(machine.succeed("ip link")) - machine.${if predictable then "fail" else "succeed"}("ip link show eth0") - ''; - }; -}) testCombinations) + testScript = '' + print(machine.succeed("ip link")) + machine.${if predictable then "fail" else "succeed"}("ip link show eth0") + ''; + }; + } + ) testCombinations +) diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 5f719a5d97c10..5fee5c6a49890 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -1,128 +1,141 @@ # Test printing via CUPS. import ./make-test-python.nix ( -{ pkgs -, socket ? true # whether to use socket activation -, listenTcp ? true # whether to open port 631 on client -, ... -}: - -let - inherit (pkgs) lib; -in - -{ - name = "printing"; - meta = with lib.maintainers; { - maintainers = [ domenkozar matthewbauer ]; - }; - - nodes.server = { ... }: { - services.printing = { - enable = true; - stateless = true; - startWhenNeeded = socket; - listenAddresses = [ "*:631" ]; - defaultShared = true; - openFirewall = true; - extraConf = '' - - Order allow,deny - Allow from all - - ''; + { + pkgs, + socket ? true, # whether to use socket activation + listenTcp ? true, # whether to open port 631 on client + ... + }: + + let + inherit (pkgs) lib; + in + + { + name = "printing"; + meta = with lib.maintainers; { + maintainers = [ + domenkozar + matthewbauer + ]; }; - # Add a HP Deskjet printer connected via USB to the server. - hardware.printers.ensurePrinters = [{ - name = "DeskjetLocal"; - deviceUri = "usb://foobar/printers/foobar"; - model = "drv:///sample.drv/deskjet.ppd"; - }]; - }; - - nodes.client = { lib, ... }: { - services.printing.enable = true; - services.printing.startWhenNeeded = socket; - services.printing.listenAddresses = lib.mkIf (!listenTcp) []; - # Add printer to the client as well, via IPP. - hardware.printers.ensurePrinters = [{ - name = "DeskjetRemote"; - deviceUri = "ipp://server/printers/DeskjetLocal"; - model = "drv:///sample.drv/deskjet.ppd"; - }]; - hardware.printers.ensureDefaultPrinter = "DeskjetRemote"; - }; - - testScript = '' - import os - import re - - start_all() - - with subtest("Make sure that cups is up on both sides and printers are set up"): - server.wait_for_unit("ensure-printers.service") - client.wait_for_unit("ensure-printers.service") - - assert "scheduler is running" in client.succeed("lpstat -r") - - with subtest("UNIX socket is used for connections"): - assert "/var/run/cups/cups.sock" in client.succeed("lpstat -H") - - with subtest("HTTP server is available too"): - ${lib.optionalString listenTcp ''client.succeed("curl --fail http://localhost:631/")''} - client.succeed(f"curl --fail http://{server.name}:631/") - server.fail(f"curl --fail --connect-timeout 2 http://{client.name}:631/") - - with subtest("LP status checks"): - assert "DeskjetRemote accepting requests" in client.succeed("lpstat -a") - assert "DeskjetLocal accepting requests" in client.succeed( - f"lpstat -h {server.name}:631 -a" - ) - client.succeed("cupsdisable DeskjetRemote") - out = client.succeed("lpq") - print(out) - assert re.search( - "DeskjetRemote is not ready.*no entries", - client.succeed("lpq"), - flags=re.DOTALL, - ) - client.succeed("cupsenable DeskjetRemote") - assert re.match( - "DeskjetRemote is ready.*no entries", client.succeed("lpq"), flags=re.DOTALL - ) - - # Test printing various file types. - for file in [ - "${pkgs.groff.doc}/share/doc/*/examples/mom/penguin.pdf", - "${pkgs.groff.doc}/share/doc/*/meref.ps", - "${pkgs.cups.out}/share/doc/cups/images/cups.png", - "${pkgs.pcre.doc}/share/doc/pcre/pcre.txt", - ]: - file_name = os.path.basename(file) - with subtest(f"print {file_name}"): - # Print the file on the client. - print(client.succeed("lpq")) - client.succeed(f"lp {file}") - client.wait_until_succeeds( - f"lpq; lpq | grep -q -E 'active.*root.*{file_name}'" - ) - - # Ensure that a raw PCL file appeared in the server's queue - # (showing that the right filters have been applied). Of - # course, since there is no actual USB printer attached, the - # file will stay in the queue forever. - server.wait_for_file("/var/spool/cups/d*-001") - server.wait_until_succeeds(f"lpq -a | grep -q -E '{file_name}'") - - # Delete the job on the client. It should disappear on the - # server as well. - client.succeed("lprm") - client.wait_until_succeeds("lpq -a | grep -q -E 'no entries'") - - retry(lambda _: "no entries" in server.succeed("lpq -a")) - - # The queue is empty already, so this should be safe. - # Otherwise, pairs of "c*"-"d*-001" files might persist. - server.execute("rm /var/spool/cups/*") - ''; -}) + + nodes.server = + { ... }: + { + services.printing = { + enable = true; + stateless = true; + startWhenNeeded = socket; + listenAddresses = [ "*:631" ]; + defaultShared = true; + openFirewall = true; + extraConf = '' + + Order allow,deny + Allow from all + + ''; + }; + # Add a HP Deskjet printer connected via USB to the server. + hardware.printers.ensurePrinters = [ + { + name = "DeskjetLocal"; + deviceUri = "usb://foobar/printers/foobar"; + model = "drv:///sample.drv/deskjet.ppd"; + } + ]; + }; + + nodes.client = + { lib, ... }: + { + services.printing.enable = true; + services.printing.startWhenNeeded = socket; + services.printing.listenAddresses = lib.mkIf (!listenTcp) [ ]; + # Add printer to the client as well, via IPP. + hardware.printers.ensurePrinters = [ + { + name = "DeskjetRemote"; + deviceUri = "ipp://server/printers/DeskjetLocal"; + model = "drv:///sample.drv/deskjet.ppd"; + } + ]; + hardware.printers.ensureDefaultPrinter = "DeskjetRemote"; + }; + + testScript = '' + import os + import re + + start_all() + + with subtest("Make sure that cups is up on both sides and printers are set up"): + server.wait_for_unit("ensure-printers.service") + client.wait_for_unit("ensure-printers.service") + + assert "scheduler is running" in client.succeed("lpstat -r") + + with subtest("UNIX socket is used for connections"): + assert "/var/run/cups/cups.sock" in client.succeed("lpstat -H") + + with subtest("HTTP server is available too"): + ${lib.optionalString listenTcp ''client.succeed("curl --fail http://localhost:631/")''} + client.succeed(f"curl --fail http://{server.name}:631/") + server.fail(f"curl --fail --connect-timeout 2 http://{client.name}:631/") + + with subtest("LP status checks"): + assert "DeskjetRemote accepting requests" in client.succeed("lpstat -a") + assert "DeskjetLocal accepting requests" in client.succeed( + f"lpstat -h {server.name}:631 -a" + ) + client.succeed("cupsdisable DeskjetRemote") + out = client.succeed("lpq") + print(out) + assert re.search( + "DeskjetRemote is not ready.*no entries", + client.succeed("lpq"), + flags=re.DOTALL, + ) + client.succeed("cupsenable DeskjetRemote") + assert re.match( + "DeskjetRemote is ready.*no entries", client.succeed("lpq"), flags=re.DOTALL + ) + + # Test printing various file types. + for file in [ + "${pkgs.groff.doc}/share/doc/*/examples/mom/penguin.pdf", + "${pkgs.groff.doc}/share/doc/*/meref.ps", + "${pkgs.cups.out}/share/doc/cups/images/cups.png", + "${pkgs.pcre.doc}/share/doc/pcre/pcre.txt", + ]: + file_name = os.path.basename(file) + with subtest(f"print {file_name}"): + # Print the file on the client. + print(client.succeed("lpq")) + client.succeed(f"lp {file}") + client.wait_until_succeeds( + f"lpq; lpq | grep -q -E 'active.*root.*{file_name}'" + ) + + # Ensure that a raw PCL file appeared in the server's queue + # (showing that the right filters have been applied). Of + # course, since there is no actual USB printer attached, the + # file will stay in the queue forever. + server.wait_for_file("/var/spool/cups/d*-001") + server.wait_until_succeeds(f"lpq -a | grep -q -E '{file_name}'") + + # Delete the job on the client. It should disappear on the + # server as well. + client.succeed("lprm") + client.wait_until_succeeds("lpq -a | grep -q -E 'no entries'") + + retry(lambda _: "no entries" in server.succeed("lpq -a")) + + # The queue is empty already, so this should be safe. + # Otherwise, pairs of "c*"-"d*-001" files might persist. + server.execute("rm /var/spool/cups/*") + ''; + } +) diff --git a/nixos/tests/private-gpt.nix b/nixos/tests/private-gpt.nix index 1c90101d29575..f6bfda38aabf1 100644 --- a/nixos/tests/private-gpt.nix +++ b/nixos/tests/private-gpt.nix @@ -1,27 +1,31 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - mainPort = "8001"; -in -{ - name = "private-gpt"; - meta = with lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + mainPort = "8001"; + in + { + name = "private-gpt"; + meta = with lib.maintainers; { + maintainers = [ ]; + }; - nodes = { - machine = { ... }: { - services.private-gpt = { - enable = true; - }; + nodes = { + machine = + { ... }: + { + services.private-gpt = { + enable = true; + }; + }; }; - }; - testScript = '' - machine.start() + testScript = '' + machine.start() - machine.wait_for_unit("private-gpt.service") - machine.wait_for_open_port(${mainPort}) + machine.wait_for_unit("private-gpt.service") + machine.wait_for_open_port(${mainPort}) - machine.succeed("curl http://127.0.0.1:${mainPort}") - ''; -}) + machine.succeed("curl http://127.0.0.1:${mainPort}") + ''; + } +) diff --git a/nixos/tests/privoxy.nix b/nixos/tests/privoxy.nix index 2a18d332c8778..0c0cb6ab2e317 100644 --- a/nixos/tests/privoxy.nix +++ b/nixos/tests/privoxy.nix @@ -1,11 +1,10 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: - -let - # Note: For some reason Privoxy can't issue valid - # certificates if the CA is generated using gnutls :( - certs = pkgs.runCommand "example-certs" - { buildInputs = [ pkgs.openssl ]; } - '' +import ./make-test-python.nix ( + { lib, pkgs, ... }: + + let + # Note: For some reason Privoxy can't issue valid + # certificates if the CA is generated using gnutls :( + certs = pkgs.runCommand "example-certs" { buildInputs = [ pkgs.openssl ]; } '' mkdir $out # generate CA keypair @@ -25,65 +24,94 @@ let -CAkey $out/ca.key -CAcreateserial -out $out/server.crt \ -days 500 -sha256 ''; -in - -{ - name = "privoxy"; - meta = with lib.maintainers; { - maintainers = [ rnhmjoj ]; - }; - - nodes.machine = { ... }: { - services.nginx.enable = true; - services.nginx.virtualHosts."example.com" = { - addSSL = true; - sslCertificate = "${certs}/server.crt"; - sslCertificateKey = "${certs}/server.key"; - locations."/".root = pkgs.writeTextFile - { name = "bad-day"; - destination = "/how-are-you/index.html"; - text = "I've had a bad day!\n"; - }; - locations."/ads".extraConfig = '' - return 200 "Hot Nixpkgs PRs in your area. Click here!\n"; - ''; - }; + in - services.privoxy = { - enable = true; - inspectHttps = true; - settings = { - ca-cert-file = "${certs}/ca.crt"; - ca-key-file = "${certs}/ca.key"; - debug = 65536; - }; - userActions = '' - {+filter{positive}} - example.com - - {+block{Fake ads}} - example.com/ads - ''; - userFilters = '' - FILTER: positive This is a filter example. - s/bad/great/ig - ''; + { + name = "privoxy"; + meta = with lib.maintainers; { + maintainers = [ rnhmjoj ]; }; - security.pki.certificateFiles = [ "${certs}/ca.crt" ]; + nodes.machine = + { ... }: + { + services.nginx.enable = true; + services.nginx.virtualHosts."example.com" = { + addSSL = true; + sslCertificate = "${certs}/server.crt"; + sslCertificateKey = "${certs}/server.key"; + locations."/".root = pkgs.writeTextFile { + name = "bad-day"; + destination = "/how-are-you/index.html"; + text = "I've had a bad day!\n"; + }; + locations."/ads".extraConfig = '' + return 200 "Hot Nixpkgs PRs in your area. Click here!\n"; + ''; + }; - networking.hosts."::1" = [ "example.com" ]; - networking.proxy.httpProxy = "http://localhost:8118"; - networking.proxy.httpsProxy = "http://localhost:8118"; - }; + services.privoxy = { + enable = true; + inspectHttps = true; + settings = { + ca-cert-file = "${certs}/ca.crt"; + ca-key-file = "${certs}/ca.key"; + debug = 65536; + }; + userActions = '' + {+filter{positive}} + example.com + + {+block{Fake ads}} + example.com/ads + ''; + userFilters = '' + FILTER: positive This is a filter example. + s/bad/great/ig + ''; + }; + + security.pki.certificateFiles = [ "${certs}/ca.crt" ]; + + networking.hosts."::1" = [ "example.com" ]; + networking.proxy.httpProxy = "http://localhost:8118"; + networking.proxy.httpsProxy = "http://localhost:8118"; + }; - nodes.machine_socks4 = { ... }: { services.privoxy = { enable = true; settings.forward-socks4 = "/ 127.0.0.1:9050 ."; }; }; - nodes.machine_socks4a = { ... }: { services.privoxy = { enable = true; settings.forward-socks4a = "/ 127.0.0.1:9050 ."; }; }; - nodes.machine_socks5 = { ... }: { services.privoxy = { enable = true; settings.forward-socks5 = "/ 127.0.0.1:9050 ."; }; }; - nodes.machine_socks5t = { ... }: { services.privoxy = { enable = true; settings.forward-socks5t = "/ 127.0.0.1:9050 ."; }; }; + nodes.machine_socks4 = + { ... }: + { + services.privoxy = { + enable = true; + settings.forward-socks4 = "/ 127.0.0.1:9050 ."; + }; + }; + nodes.machine_socks4a = + { ... }: + { + services.privoxy = { + enable = true; + settings.forward-socks4a = "/ 127.0.0.1:9050 ."; + }; + }; + nodes.machine_socks5 = + { ... }: + { + services.privoxy = { + enable = true; + settings.forward-socks5 = "/ 127.0.0.1:9050 ."; + }; + }; + nodes.machine_socks5t = + { ... }: + { + services.privoxy = { + enable = true; + settings.forward-socks5t = "/ 127.0.0.1:9050 ."; + }; + }; - testScript = - '' + testScript = '' with subtest("Privoxy is running"): machine.wait_for_unit("privoxy") machine.wait_for_open_port(8118) @@ -123,4 +151,5 @@ in # In issue #265654, instead privoxy segfaulted causing curl to exit with "Empty reply from server". m.succeed("http_proxy=http://localhost:8118 curl -v http://does-not-exist/ 2>&1 | grep 'HTTP/1.1 503'") ''; -}) + } +) diff --git a/nixos/tests/prometheus/alertmanager.nix b/nixos/tests/prometheus/alertmanager.nix index 6301db6df62e3..51151cbab5342 100644 --- a/nixos/tests/prometheus/alertmanager.nix +++ b/nixos/tests/prometheus/alertmanager.nix @@ -1,152 +1,160 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "prometheus-alertmanager"; + { + name = "prometheus-alertmanager"; - nodes = { - prometheus = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + prometheus = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - alertmanagers = [ - { - scheme = "http"; - static_configs = [ + alertmanagers = [ { - targets = [ - "alertmanager:${toString config.services.prometheus.alertmanager.port}" + scheme = "http"; + static_configs = [ + { + targets = [ + "alertmanager:${toString config.services.prometheus.alertmanager.port}" + ]; + } ]; } ]; - } - ]; - - rules = [ - '' - groups: - - name: test - rules: - - alert: InstanceDown - expr: up == 0 - for: 5s - labels: - severity: page - annotations: - summary: "Instance {{ $labels.instance }} down" - '' - ]; - - scrapeConfigs = [ - { - job_name = "alertmanager"; - static_configs = [ + + rules = [ + '' + groups: + - name: test + rules: + - alert: InstanceDown + expr: up == 0 + for: 5s + labels: + severity: page + annotations: + summary: "Instance {{ $labels.instance }} down" + '' + ]; + + scrapeConfigs = [ { - targets = [ - "alertmanager:${toString config.services.prometheus.alertmanager.port}" + job_name = "alertmanager"; + static_configs = [ + { + targets = [ + "alertmanager:${toString config.services.prometheus.alertmanager.port}" + ]; + } ]; } - ]; - } - { - job_name = "node"; - static_configs = [ { - targets = [ - "node:${toString config.services.prometheus.exporters.node.port}" + job_name = "node"; + static_configs = [ + { + targets = [ + "node:${toString config.services.prometheus.exporters.node.port}" + ]; + } ]; } ]; - } - ]; - }; - }; - - alertmanager = { config, pkgs, ... }: { - services.prometheus.alertmanager = { - enable = true; - openFirewall = true; - - configuration = { - global = { - resolve_timeout = "1m"; - }; - - route = { - # Root route node - receiver = "test"; - group_by = ["..."]; - continue = false; - group_wait = "1s"; - group_interval = "15s"; - repeat_interval = "24h"; }; + }; - receivers = [ - { - name = "test"; - webhook_configs = [ + alertmanager = + { config, pkgs, ... }: + { + services.prometheus.alertmanager = { + enable = true; + openFirewall = true; + + configuration = { + global = { + resolve_timeout = "1m"; + }; + + route = { + # Root route node + receiver = "test"; + group_by = [ "..." ]; + continue = false; + group_wait = "1s"; + group_interval = "15s"; + repeat_interval = "24h"; + }; + + receivers = [ { - url = "http://logger:6725"; - send_resolved = true; - max_alerts = 0; + name = "test"; + webhook_configs = [ + { + url = "http://logger:6725"; + send_resolved = true; + max_alerts = 0; + } + ]; } ]; - } - ]; + }; + }; }; - }; - }; - logger = { config, pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ 6725 ]; + logger = + { config, pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 6725 ]; - services.prometheus.alertmanagerWebhookLogger.enable = true; + services.prometheus.alertmanagerWebhookLogger.enable = true; + }; }; - }; - testScript = '' - alertmanager.wait_for_unit("alertmanager") - alertmanager.wait_for_open_port(9093) - alertmanager.wait_until_succeeds("curl -s http://127.0.0.1:9093/-/ready") - #alertmanager.wait_until_succeeds("journalctl -o cat -u alertmanager.service | grep 'version=${pkgs.prometheus-alertmanager.version}'") + testScript = '' + alertmanager.wait_for_unit("alertmanager") + alertmanager.wait_for_open_port(9093) + alertmanager.wait_until_succeeds("curl -s http://127.0.0.1:9093/-/ready") + #alertmanager.wait_until_succeeds("journalctl -o cat -u alertmanager.service | grep 'version=${pkgs.prometheus-alertmanager.version}'") - logger.wait_for_unit("alertmanager-webhook-logger") - logger.wait_for_open_port(6725) + logger.wait_for_unit("alertmanager-webhook-logger") + logger.wait_for_open_port(6725) - prometheus.wait_for_unit("prometheus") - prometheus.wait_for_open_port(9090) + prometheus.wait_for_unit("prometheus") + prometheus.wait_for_open_port(9090) - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"alertmanager\"\}==1)' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"alertmanager\"\}==1)' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(alertmanager_build_info)%20by%20(version)' | " - + "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus-alertmanager.version}\"'" - ) + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(alertmanager_build_info)%20by%20(version)' | " + + "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus-alertmanager.version}\"'" + ) - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"node\"\}!=1)' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"node\"\}!=1)' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=alertmanager_notifications_total\{integration=\"webhook\"\}' | " - + "jq '.data.result[0].value[1]' | grep -v '\"0\"'" - ) + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=alertmanager_notifications_total\{integration=\"webhook\"\}' | " + + "jq '.data.result[0].value[1]' | grep -v '\"0\"'" + ) - logger.wait_until_succeeds( - "journalctl -o cat -u alertmanager-webhook-logger.service | grep '\"alertname\":\"InstanceDown\"'" - ) + logger.wait_until_succeeds( + "journalctl -o cat -u alertmanager-webhook-logger.service | grep '\"alertname\":\"InstanceDown\"'" + ) - logger.log(logger.succeed("systemd-analyze security alertmanager-webhook-logger.service | grep -v '✓'")) + logger.log(logger.succeed("systemd-analyze security alertmanager-webhook-logger.service | grep -v '✓'")) - alertmanager.log(alertmanager.succeed("systemd-analyze security alertmanager.service | grep -v '✓'")) - ''; -}) + alertmanager.log(alertmanager.succeed("systemd-analyze security alertmanager.service | grep -v '✓'")) + ''; + } +) diff --git a/nixos/tests/prometheus/config-reload.nix b/nixos/tests/prometheus/config-reload.nix index 786668c624ea9..60f5bc6a1d237 100644 --- a/nixos/tests/prometheus/config-reload.nix +++ b/nixos/tests/prometheus/config-reload.nix @@ -1,116 +1,120 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "prometheus-config-reload"; + { + name = "prometheus-config-reload"; - nodes = { - prometheus = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + prometheus = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - enableReload = true; - globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "prometheus"; - static_configs = [ + services.prometheus = { + enable = true; + enableReload = true; + globalConfig.scrape_interval = "2s"; + scrapeConfigs = [ { - targets = [ - "prometheus:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "prometheus:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; + }; - specialisation = { - "prometheus-config-change" = { - configuration = { - environment.systemPackages = [ pkgs.yq ]; + specialisation = { + "prometheus-config-change" = { + configuration = { + environment.systemPackages = [ pkgs.yq ]; - # This configuration just adds a new prometheus job - # to scrape the node_exporter metrics of the s3 machine. - services.prometheus = { - scrapeConfigs = [ - { - job_name = "node"; - static_configs = [ + # This configuration just adds a new prometheus job + # to scrape the node_exporter metrics of the s3 machine. + services.prometheus = { + scrapeConfigs = [ { - targets = [ "node:${toString config.services.prometheus.exporters.node.port}" ]; + job_name = "node"; + static_configs = [ + { + targets = [ "node:${toString config.services.prometheus.exporters.node.port}" ]; + } + ]; } ]; - } - ]; + }; + }; }; }; }; - }; }; - }; - testScript = '' - prometheus.wait_for_unit("prometheus") - prometheus.wait_for_open_port(9090) + testScript = '' + prometheus.wait_for_unit("prometheus") + prometheus.wait_for_open_port(9090) - # Check if switching to a NixOS configuration that changes the prometheus - # configuration reloads (instead of restarts) prometheus before the switch - # finishes successfully: - with subtest("config change reloads prometheus"): - import json - # We check if prometheus has finished reloading by looking for the message - # "Completed loading of configuration file" in the journal between the start - # and finish of switching to the new NixOS configuration. - # - # To mark the start we record the journal cursor before starting the switch: - cursor_before_switching = json.loads( - prometheus.succeed("journalctl -n1 -o json --output-fields=__CURSOR") - )["__CURSOR"] + # Check if switching to a NixOS configuration that changes the prometheus + # configuration reloads (instead of restarts) prometheus before the switch + # finishes successfully: + with subtest("config change reloads prometheus"): + import json + # We check if prometheus has finished reloading by looking for the message + # "Completed loading of configuration file" in the journal between the start + # and finish of switching to the new NixOS configuration. + # + # To mark the start we record the journal cursor before starting the switch: + cursor_before_switching = json.loads( + prometheus.succeed("journalctl -n1 -o json --output-fields=__CURSOR") + )["__CURSOR"] - # Now we switch: - prometheus_config_change = prometheus.succeed( - "readlink /run/current-system/specialisation/prometheus-config-change" - ).strip() - prometheus.succeed(prometheus_config_change + "/bin/switch-to-configuration test") + # Now we switch: + prometheus_config_change = prometheus.succeed( + "readlink /run/current-system/specialisation/prometheus-config-change" + ).strip() + prometheus.succeed(prometheus_config_change + "/bin/switch-to-configuration test") - # Next we retrieve all logs since the start of switching: - logs_after_starting_switching = prometheus.succeed( - """ - journalctl --after-cursor='{cursor_before_switching}' -o json --output-fields=MESSAGE - """.format( - cursor_before_switching=cursor_before_switching - ) - ) + # Next we retrieve all logs since the start of switching: + logs_after_starting_switching = prometheus.succeed( + """ + journalctl --after-cursor='{cursor_before_switching}' -o json --output-fields=MESSAGE + """.format( + cursor_before_switching=cursor_before_switching + ) + ) - # Finally we check if the message "Completed loading of configuration file" - # occurs before the "finished switching to system configuration" message: - finished_switching_msg = ( - "finished switching to system configuration " + prometheus_config_change - ) - reloaded_before_switching_finished = False - finished_switching = False - for log_line in logs_after_starting_switching.split("\n"): - msg = json.loads(log_line)["MESSAGE"] - if "Completed loading of configuration file" in msg: - reloaded_before_switching_finished = True - if msg == finished_switching_msg: - finished_switching = True - break + # Finally we check if the message "Completed loading of configuration file" + # occurs before the "finished switching to system configuration" message: + finished_switching_msg = ( + "finished switching to system configuration " + prometheus_config_change + ) + reloaded_before_switching_finished = False + finished_switching = False + for log_line in logs_after_starting_switching.split("\n"): + msg = json.loads(log_line)["MESSAGE"] + if "Completed loading of configuration file" in msg: + reloaded_before_switching_finished = True + if msg == finished_switching_msg: + finished_switching = True + break - assert reloaded_before_switching_finished - assert finished_switching + assert reloaded_before_switching_finished + assert finished_switching - # Check if the reloaded config includes the new node job: - prometheus.succeed( - """ - curl -sf http://127.0.0.1:9090/api/v1/status/config \ - | jq -r .data.yaml \ - | yq '.scrape_configs | any(.job_name == "node")' \ - | grep true - """ - ) - ''; -}) + # Check if the reloaded config includes the new node job: + prometheus.succeed( + """ + curl -sf http://127.0.0.1:9090/api/v1/status/config \ + | jq -r .data.yaml \ + | yq '.scrape_configs | any(.job_name == "node")' \ + | grep true + """ + ) + ''; + } +) diff --git a/nixos/tests/prometheus/default.nix b/nixos/tests/prometheus/default.nix index 133922a453c05..ea6c61c85b804 100644 --- a/nixos/tests/prometheus/default.nix +++ b/nixos/tests/prometheus/default.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: { diff --git a/nixos/tests/prometheus/federation.nix b/nixos/tests/prometheus/federation.nix index 0f05166c8f5da..15f84b2d88afb 100644 --- a/nixos/tests/prometheus/federation.nix +++ b/nixos/tests/prometheus/federation.nix @@ -1,213 +1,227 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "prometheus-federation"; + { + name = "prometheus-federation"; - nodes = { - global1 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + global1 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "federate"; - honor_labels = true; - metrics_path = "/federate"; - - params = { - "match[]" = [ - "{job=\"node\"}" - "{job=\"prometheus\"}" - ]; - }; - - static_configs = [ + scrapeConfigs = [ { - targets = [ - "prometheus1:${toString config.services.prometheus.port}" - "prometheus2:${toString config.services.prometheus.port}" + job_name = "federate"; + honor_labels = true; + metrics_path = "/federate"; + + params = { + "match[]" = [ + "{job=\"node\"}" + "{job=\"prometheus\"}" + ]; + }; + + static_configs = [ + { + targets = [ + "prometheus1:${toString config.services.prometheus.port}" + "prometheus2:${toString config.services.prometheus.port}" + ]; + } ]; } - ]; - } - { - job_name = "prometheus"; - static_configs = [ { - targets = [ - "global1:${toString config.services.prometheus.port}" - "global2:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "global1:${toString config.services.prometheus.port}" + "global2:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; - }; + }; + }; - global2 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + global2 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "federate"; - honor_labels = true; - metrics_path = "/federate"; - - params = { - "match[]" = [ - "{job=\"node\"}" - "{job=\"prometheus\"}" - ]; - }; - - static_configs = [ + scrapeConfigs = [ { - targets = [ - "prometheus1:${toString config.services.prometheus.port}" - "prometheus2:${toString config.services.prometheus.port}" + job_name = "federate"; + honor_labels = true; + metrics_path = "/federate"; + + params = { + "match[]" = [ + "{job=\"node\"}" + "{job=\"prometheus\"}" + ]; + }; + + static_configs = [ + { + targets = [ + "prometheus1:${toString config.services.prometheus.port}" + "prometheus2:${toString config.services.prometheus.port}" + ]; + } ]; } - ]; - } - { - job_name = "prometheus"; - static_configs = [ { - targets = [ - "global1:${toString config.services.prometheus.port}" - "global2:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "global1:${toString config.services.prometheus.port}" + "global2:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; - }; + }; + }; - prometheus1 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + prometheus1 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "node"; - static_configs = [ + scrapeConfigs = [ { - targets = [ - "node1:${toString config.services.prometheus.exporters.node.port}" + job_name = "node"; + static_configs = [ + { + targets = [ + "node1:${toString config.services.prometheus.exporters.node.port}" + ]; + } ]; } - ]; - } - { - job_name = "prometheus"; - static_configs = [ { - targets = [ - "prometheus1:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "prometheus1:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; - }; + }; + }; - prometheus2 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + prometheus2 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "node"; - static_configs = [ + scrapeConfigs = [ { - targets = [ - "node2:${toString config.services.prometheus.exporters.node.port}" + job_name = "node"; + static_configs = [ + { + targets = [ + "node2:${toString config.services.prometheus.exporters.node.port}" + ]; + } ]; } - ]; - } - { - job_name = "prometheus"; - static_configs = [ { - targets = [ - "prometheus2:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "prometheus2:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; + }; + }; + + node1 = + { config, pkgs, ... }: + { + services.prometheus.exporters.node = { + enable = true; + openFirewall = true; + }; + }; + + node2 = + { config, pkgs, ... }: + { + services.prometheus.exporters.node = { + enable = true; + openFirewall = true; + }; + }; }; - node1 = { config, pkgs, ... }: { - services.prometheus.exporters.node = { - enable = true; - openFirewall = true; - }; - }; - - node2 = { config, pkgs, ... }: { - services.prometheus.exporters.node = { - enable = true; - openFirewall = true; - }; - }; - }; - - testScript = '' - for machine in node1, node2: - machine.wait_for_unit("prometheus-node-exporter") - machine.wait_for_open_port(9100) - - for machine in prometheus1, prometheus2, global1, global2: - machine.wait_for_unit("prometheus") - machine.wait_for_open_port(9090) - - # Verify both servers got the same data from the exporter - for machine in prometheus1, prometheus2: - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"node\"\})' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(prometheus_build_info)' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) - - for machine in global1, global2: - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"node\"\})' | " - + "jq '.data.result[0].value[1]' | grep '\"2\"'" - ) - - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(prometheus_build_info)' | " - + "jq '.data.result[0].value[1]' | grep '\"4\"'" - ) - ''; -}) + testScript = '' + for machine in node1, node2: + machine.wait_for_unit("prometheus-node-exporter") + machine.wait_for_open_port(9100) + + for machine in prometheus1, prometheus2, global1, global2: + machine.wait_for_unit("prometheus") + machine.wait_for_open_port(9090) + + # Verify both servers got the same data from the exporter + for machine in prometheus1, prometheus2: + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"node\"\})' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(prometheus_build_info)' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) + + for machine in global1, global2: + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"node\"\})' | " + + "jq '.data.result[0].value[1]' | grep '\"2\"'" + ) + + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(prometheus_build_info)' | " + + "jq '.data.result[0].value[1]' | grep '\"4\"'" + ) + ''; + } +) diff --git a/nixos/tests/prometheus/prometheus-pair.nix b/nixos/tests/prometheus/prometheus-pair.nix index 3ac70ca0403ec..98860fa6bf95f 100644 --- a/nixos/tests/prometheus/prometheus-pair.nix +++ b/nixos/tests/prometheus/prometheus-pair.nix @@ -1,87 +1,93 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "prometheus-pair"; + { + name = "prometheus-pair"; - nodes = { - prometheus1 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + prometheus1 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "prometheus"; - static_configs = [ + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; + scrapeConfigs = [ { - targets = [ - "prometheus1:${toString config.services.prometheus.port}" - "prometheus2:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "prometheus1:${toString config.services.prometheus.port}" + "prometheus2:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; - }; + }; + }; - prometheus2 = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + prometheus2 = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "prometheus"; - static_configs = [ + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; + scrapeConfigs = [ { - targets = [ - "prometheus1:${toString config.services.prometheus.port}" - "prometheus2:${toString config.services.prometheus.port}" + job_name = "prometheus"; + static_configs = [ + { + targets = [ + "prometheus1:${toString config.services.prometheus.port}" + "prometheus2:${toString config.services.prometheus.port}" + ]; + } ]; } ]; - } - ]; - }; + }; + }; }; - }; - testScript = '' - for machine in prometheus1, prometheus2: - machine.wait_for_unit("prometheus") - machine.wait_for_open_port(9090) - machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'version=${pkgs.prometheus.version}'") - machine.wait_until_succeeds("curl -sSf http://localhost:9090/-/healthy") + testScript = '' + for machine in prometheus1, prometheus2: + machine.wait_for_unit("prometheus") + machine.wait_for_open_port(9090) + machine.wait_until_succeeds("journalctl -o cat -u prometheus.service | grep 'version=${pkgs.prometheus.version}'") + machine.wait_until_succeeds("curl -sSf http://localhost:9090/-/healthy") - # Prometheii ready - run some queries - for machine in prometheus1, prometheus2: - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_build_info\{instance=\"prometheus1:9090\",version=\"${pkgs.prometheus.version}\"\}' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) + # Prometheii ready - run some queries + for machine in prometheus1, prometheus2: + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_build_info\{instance=\"prometheus1:9090\",version=\"${pkgs.prometheus.version}\"\}' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_build_info\{instance=\"prometheus1:9090\"\}' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=prometheus_build_info\{instance=\"prometheus1:9090\"\}' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(prometheus_build_info)%20by%20(version)' | " - + "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus.version}\"'" - ) + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(prometheus_build_info)%20by%20(version)' | " + + "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus.version}\"'" + ) - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(prometheus_build_info)%20by%20(version)' | " - + "jq '.data.result[0].value[1]' | grep '\"2\"'" - ) + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(prometheus_build_info)%20by%20(version)' | " + + "jq '.data.result[0].value[1]' | grep '\"2\"'" + ) - prometheus1.log(prometheus1.succeed("systemd-analyze security prometheus.service | grep -v '✓'")) - ''; -}) + prometheus1.log(prometheus1.succeed("systemd-analyze security prometheus.service | grep -v '✓'")) + ''; + } +) diff --git a/nixos/tests/prometheus/pushgateway.nix b/nixos/tests/prometheus/pushgateway.nix index 261c41598eb02..1b42c965ca500 100644 --- a/nixos/tests/prometheus/pushgateway.nix +++ b/nixos/tests/prometheus/pushgateway.nix @@ -1,96 +1,104 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "prometheus-pushgateway"; + { + name = "prometheus-pushgateway"; - nodes = { - prometheus = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + prometheus = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - scrapeConfigs = [ - { - job_name = "pushgateway"; - static_configs = [ + scrapeConfigs = [ { - targets = [ - "pushgateway:9091" + job_name = "pushgateway"; + static_configs = [ + { + targets = [ + "pushgateway:9091" + ]; + } ]; } ]; - } - ]; - }; + }; + }; + + pushgateway = + { config, pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 9091 ]; + + services.prometheus.pushgateway = { + enable = true; + }; + }; + + client = + { config, pkgs, ... }: + { + }; }; - pushgateway = { config, pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ 9091 ]; - - services.prometheus.pushgateway = { - enable = true; - }; - }; - - client = { config, pkgs, ... }: { - }; - }; - - testScript = '' - pushgateway.wait_for_unit("pushgateway") - pushgateway.wait_for_open_port(9091) - pushgateway.wait_until_succeeds("curl -s http://127.0.0.1:9091/-/ready") - pushgateway.wait_until_succeeds("journalctl -o cat -u pushgateway.service | grep 'version=${pkgs.prometheus-pushgateway.version}'") - - prometheus.wait_for_unit("prometheus") - prometheus.wait_for_open_port(9090) - - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"pushgateway\"\})' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) - - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(pushgateway_build_info)%20by%20(version)' | " - + "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus-pushgateway.version}\"'" - ) - - client.wait_for_unit("network-online.target") - - # Add a metric and check in Prometheus - client.wait_until_succeeds( - "echo 'some_metric 3.14' | curl --data-binary @- http://pushgateway:9091/metrics/job/some_job" - ) - - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=some_metric' | " - + "jq '.data.result[0].value[1]' | grep '\"3.14\"'" - ) - - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=absent(some_metric)' | " - + "jq '.data.result[0].value[1]' | grep 'null'" - ) - - # Delete the metric, check not in Prometheus - client.wait_until_succeeds( - "curl -X DELETE http://pushgateway:9091/metrics/job/some_job" - ) - - prometheus.wait_until_fails( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=some_metric' | " - + "jq '.data.result[0].value[1]' | grep '\"3.14\"'" - ) - - prometheus.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=absent(some_metric)' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) - - pushgateway.log(pushgateway.succeed("systemd-analyze security pushgateway.service | grep -v '✓'")) - ''; -}) + testScript = '' + pushgateway.wait_for_unit("pushgateway") + pushgateway.wait_for_open_port(9091) + pushgateway.wait_until_succeeds("curl -s http://127.0.0.1:9091/-/ready") + pushgateway.wait_until_succeeds("journalctl -o cat -u pushgateway.service | grep 'version=${pkgs.prometheus-pushgateway.version}'") + + prometheus.wait_for_unit("prometheus") + prometheus.wait_for_open_port(9090) + + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=count(up\{job=\"pushgateway\"\})' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) + + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=sum(pushgateway_build_info)%20by%20(version)' | " + + "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus-pushgateway.version}\"'" + ) + + client.wait_for_unit("network-online.target") + + # Add a metric and check in Prometheus + client.wait_until_succeeds( + "echo 'some_metric 3.14' | curl --data-binary @- http://pushgateway:9091/metrics/job/some_job" + ) + + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=some_metric' | " + + "jq '.data.result[0].value[1]' | grep '\"3.14\"'" + ) + + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=absent(some_metric)' | " + + "jq '.data.result[0].value[1]' | grep 'null'" + ) + + # Delete the metric, check not in Prometheus + client.wait_until_succeeds( + "curl -X DELETE http://pushgateway:9091/metrics/job/some_job" + ) + + prometheus.wait_until_fails( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=some_metric' | " + + "jq '.data.result[0].value[1]' | grep '\"3.14\"'" + ) + + prometheus.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=absent(some_metric)' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) + + pushgateway.log(pushgateway.succeed("systemd-analyze security pushgateway.service | grep -v '✓'")) + ''; + } +) diff --git a/nixos/tests/prometheus/remote-write.nix b/nixos/tests/prometheus/remote-write.nix index 24092b9fb88da..86c14901a6b0b 100644 --- a/nixos/tests/prometheus/remote-write.nix +++ b/nixos/tests/prometheus/remote-write.nix @@ -1,73 +1,81 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "prometheus-remote-write"; + { + name = "prometheus-remote-write"; - nodes = { - receiver = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + receiver = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - extraFlags = [ "--web.enable-remote-write-receiver" ]; - }; - }; + extraFlags = [ "--web.enable-remote-write-receiver" ]; + }; + }; - prometheus = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + prometheus = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; + networking.firewall.allowedTCPPorts = [ config.services.prometheus.port ]; - services.prometheus = { - enable = true; - globalConfig.scrape_interval = "2s"; + services.prometheus = { + enable = true; + globalConfig.scrape_interval = "2s"; - remoteWrite = [ - { - url = "http://receiver:9090/api/v1/write"; - } - ]; + remoteWrite = [ + { + url = "http://receiver:9090/api/v1/write"; + } + ]; - scrapeConfigs = [ - { - job_name = "node"; - static_configs = [ + scrapeConfigs = [ { - targets = [ - "node:${toString config.services.prometheus.exporters.node.port}" + job_name = "node"; + static_configs = [ + { + targets = [ + "node:${toString config.services.prometheus.exporters.node.port}" + ]; + } ]; } ]; - } - ]; - }; - }; + }; + }; - node = { config, pkgs, ... }: { - services.prometheus.exporters.node = { - enable = true; - openFirewall = true; - }; + node = + { config, pkgs, ... }: + { + services.prometheus.exporters.node = { + enable = true; + openFirewall = true; + }; + }; }; - }; - testScript = '' - node.wait_for_unit("prometheus-node-exporter") - node.wait_for_open_port(9100) + testScript = '' + node.wait_for_unit("prometheus-node-exporter") + node.wait_for_open_port(9100) - for machine in prometheus, receiver: - machine.wait_for_unit("prometheus") - machine.wait_for_open_port(9090) + for machine in prometheus, receiver: + machine.wait_for_unit("prometheus") + machine.wait_for_open_port(9090) - # Verify both servers got the same data from the exporter - for machine in prometheus, receiver: - machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=node_exporter_build_info\{instance=\"node:9100\"\}' | " - + "jq '.data.result[0].value[1]' | grep '\"1\"'" - ) - ''; -}) + # Verify both servers got the same data from the exporter + for machine in prometheus, receiver: + machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:9090/api/v1/query?query=node_exporter_build_info\{instance=\"node:9100\"\}' | " + + "jq '.data.result[0].value[1]' | grep '\"1\"'" + ) + ''; + } +) diff --git a/nixos/tests/prowlarr.nix b/nixos/tests/prowlarr.nix index a1450972502ed..859ce58b3b1ba 100644 --- a/nixos/tests/prowlarr.nix +++ b/nixos/tests/prowlarr.nix @@ -1,18 +1,22 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "prowlarr"; - meta.maintainers = with lib.maintainers; [ ]; + { + name = "prowlarr"; + meta.maintainers = with lib.maintainers; [ ]; - nodes.machine = - { pkgs, ... }: - { services.prowlarr.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.prowlarr.enable = true; + }; - testScript = '' - machine.wait_for_unit("prowlarr.service") - machine.wait_for_open_port(9696) - response = machine.succeed("curl --fail http://localhost:9696/") - assert 'Prowlarr' in response, "Login page didn't load successfully" - machine.succeed("[ -d /var/lib/prowlarr ]") - ''; -}) + testScript = '' + machine.wait_for_unit("prowlarr.service") + machine.wait_for_open_port(9696) + response = machine.succeed("curl --fail http://localhost:9696/") + assert 'Prowlarr' in response, "Login page didn't load successfully" + machine.succeed("[ -d /var/lib/prowlarr ]") + ''; + } +) diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index ce7131b09a8ab..beba1d8435923 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -1,90 +1,100 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -let - backend = { pkgs, ... }: { - services.httpd = { - enable = true; - adminAddr = "foo@example.org"; - virtualHosts.localhost.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html"; - }; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; -in { - name = "proxy"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes = { - proxy = { nodes, ... }: { - services.httpd = { - enable = true; - adminAddr = "bar@example.org"; - extraModules = [ "proxy_balancer" "lbmethod_byrequests" ]; - extraConfig = '' - ExtendedStatus on - ''; - virtualHosts.localhost = { - extraConfig = '' - - Require all granted - SetHandler server-status - - - - Require all granted - BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0 - BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0 - - - ProxyStatus full - ProxyPass /server-status ! - ProxyPass / balancer://cluster/ - ProxyPassReverse / balancer://cluster/ - - # For testing; don't want to wait forever for dead backend servers. - ProxyTimeout 5 - ''; +import ./make-test-python.nix ( + { pkgs, ... }: + + let + backend = + { pkgs, ... }: + { + services.httpd = { + enable = true; + adminAddr = "foo@example.org"; + virtualHosts.localhost.documentRoot = "${pkgs.valgrind.doc}/share/doc/valgrind/html"; }; + networking.firewall.allowedTCPPorts = [ 80 ]; }; - networking.firewall.allowedTCPPorts = [ 80 ]; + in + { + name = "proxy"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - backend1 = backend; - backend2 = backend; + nodes = { + proxy = + { nodes, ... }: + { + services.httpd = { + enable = true; + adminAddr = "bar@example.org"; + extraModules = [ + "proxy_balancer" + "lbmethod_byrequests" + ]; + extraConfig = '' + ExtendedStatus on + ''; + virtualHosts.localhost = { + extraConfig = '' + + Require all granted + SetHandler server-status + + + + Require all granted + BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0 + BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0 + + + ProxyStatus full + ProxyPass /server-status ! + ProxyPass / balancer://cluster/ + ProxyPassReverse / balancer://cluster/ + + # For testing; don't want to wait forever for dead backend servers. + ProxyTimeout 5 + ''; + }; + }; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + + backend1 = backend; + backend2 = backend; - client = { ... }: { }; - }; + client = { ... }: { }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - proxy.wait_for_unit("httpd") - backend1.wait_for_unit("httpd") - backend2.wait_for_unit("httpd") - client.wait_for_unit("network.target") + proxy.wait_for_unit("httpd") + backend1.wait_for_unit("httpd") + backend2.wait_for_unit("httpd") + client.wait_for_unit("network.target") - # With the back-ends up, the proxy should work. - client.succeed("curl --fail http://proxy/") + # With the back-ends up, the proxy should work. + client.succeed("curl --fail http://proxy/") - client.succeed("curl --fail http://proxy/server-status") + client.succeed("curl --fail http://proxy/server-status") - # Block the first back-end. - backend1.block() + # Block the first back-end. + backend1.block() - # The proxy should still work. - client.succeed("curl --fail http://proxy/") - client.succeed("curl --fail http://proxy/") + # The proxy should still work. + client.succeed("curl --fail http://proxy/") + client.succeed("curl --fail http://proxy/") - # Block the second back-end. - backend2.block() + # Block the second back-end. + backend2.block() - # Now the proxy should fail as well. - client.fail("curl --fail http://proxy/") + # Now the proxy should fail as well. + client.fail("curl --fail http://proxy/") - # But if the second back-end comes back, the proxy should start - # working again. - backend2.unblock() - client.succeed("curl --fail http://proxy/") - ''; -}) + # But if the second back-end comes back, the proxy should start + # working again. + backend2.unblock() + client.succeed("curl --fail http://proxy/") + ''; + } +) diff --git a/nixos/tests/pt2-clone.nix b/nixos/tests/pt2-clone.nix index 57a8495a3296a..98df2e8cbac37 100644 --- a/nixos/tests/pt2-clone.nix +++ b/nixos/tests/pt2-clone.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "pt2-clone"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "pt2-clone"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.pt2-clone ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.pt2-clone ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") @@ -30,5 +33,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { raise Exception("Program did not start successfully") machine.screenshot("screen") ''; -}) - + } +) diff --git a/nixos/tests/public-inbox.nix b/nixos/tests/public-inbox.nix index 4d06d3e1738ee..36f67b09a4c6a 100644 --- a/nixos/tests/public-inbox.nix +++ b/nixos/tests/public-inbox.nix @@ -1,230 +1,246 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - orga = "example"; - domain = "${orga}.localdomain"; - - tls-cert = pkgs.runCommand "selfSignedCert" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 36500 \ - -subj '/CN=machine.${domain}' - install -D -t $out key.pem cert.pem - ''; -in -{ - name = "public-inbox"; - - meta.maintainers = with pkgs.lib.maintainers; [ julm ]; - - nodes.machine = { config, pkgs, nodes, ... }: let - inherit (config.services) gitolite public-inbox; - # Git repositories paths in Gitolite. - # Only their baseNameOf is used for configuring public-inbox. - repositories = [ - "user/repo1" - "user/repo2" - ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + orga = "example"; + domain = "${orga}.localdomain"; + + tls-cert = pkgs.runCommand "selfSignedCert" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 36500 \ + -subj '/CN=machine.${domain}' + install -D -t $out key.pem cert.pem + ''; in { - virtualisation.diskSize = 1 * 1024; - virtualisation.memorySize = 1 * 1024; - networking.domain = domain; - - security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; - # If using security.acme: - #security.acme.certs."${domain}".postRun = '' - # systemctl try-restart public-inbox-nntpd public-inbox-imapd - #''; - - services.public-inbox = { - enable = true; - postfix.enable = true; - openFirewall = true; - settings.publicinbox = { - css = [ "href=https://machine.${domain}/style/light.css" ]; - nntpserver = [ "nntps://machine.${domain}" ]; - wwwlisting = "match=domain"; - }; - mda = { - enable = true; - args = [ "--no-precheck" ]; # Allow Bcc: - }; - http = { - enable = true; - port = "/run/public-inbox-http.sock"; - #port = 8080; - args = ["-W0"]; - mounts = [ - "https://machine.${domain}/inbox" - ]; - }; - nntp = { - enable = true; - #port = 563; - args = ["-W0"]; - cert = "${tls-cert}/cert.pem"; - key = "${tls-cert}/key.pem"; - }; - imap = { - enable = true; - #port = 993; - args = ["-W0"]; - cert = "${tls-cert}/cert.pem"; - key = "${tls-cert}/key.pem"; - }; - inboxes = lib.recursiveUpdate (lib.genAttrs (map baseNameOf repositories) (repo: { - address = [ - # Routed to the "public-inbox:" transport in services.postfix.transport - "${repo}@${domain}" + name = "public-inbox"; + + meta.maintainers = with pkgs.lib.maintainers; [ julm ]; + + nodes.machine = + { + config, + pkgs, + nodes, + ... + }: + let + inherit (config.services) gitolite public-inbox; + # Git repositories paths in Gitolite. + # Only their baseNameOf is used for configuring public-inbox. + repositories = [ + "user/repo1" + "user/repo2" ]; - description = '' - ${repo}@${domain} : - discussions about ${repo}. - ''; - url = "https://machine.${domain}/inbox/${repo}"; - newsgroup = "inbox.comp.${orga}.${repo}"; - coderepo = [ repo ]; - })) + in { - repo2 = { - hide = [ - "imap" # FIXME: doesn't work for IMAP as of public-inbox 1.6.1 - "manifest" - "www" - ]; + virtualisation.diskSize = 1 * 1024; + virtualisation.memorySize = 1 * 1024; + networking.domain = domain; + + security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; + # If using security.acme: + #security.acme.certs."${domain}".postRun = '' + # systemctl try-restart public-inbox-nntpd public-inbox-imapd + #''; + + services.public-inbox = { + enable = true; + postfix.enable = true; + openFirewall = true; + settings.publicinbox = { + css = [ "href=https://machine.${domain}/style/light.css" ]; + nntpserver = [ "nntps://machine.${domain}" ]; + wwwlisting = "match=domain"; + }; + mda = { + enable = true; + args = [ "--no-precheck" ]; # Allow Bcc: + }; + http = { + enable = true; + port = "/run/public-inbox-http.sock"; + #port = 8080; + args = [ "-W0" ]; + mounts = [ + "https://machine.${domain}/inbox" + ]; + }; + nntp = { + enable = true; + #port = 563; + args = [ "-W0" ]; + cert = "${tls-cert}/cert.pem"; + key = "${tls-cert}/key.pem"; + }; + imap = { + enable = true; + #port = 993; + args = [ "-W0" ]; + cert = "${tls-cert}/cert.pem"; + key = "${tls-cert}/key.pem"; + }; + inboxes = + lib.recursiveUpdate + (lib.genAttrs (map baseNameOf repositories) (repo: { + address = [ + # Routed to the "public-inbox:" transport in services.postfix.transport + "${repo}@${domain}" + ]; + description = '' + ${repo}@${domain} : + discussions about ${repo}. + ''; + url = "https://machine.${domain}/inbox/${repo}"; + newsgroup = "inbox.comp.${orga}.${repo}"; + coderepo = [ repo ]; + })) + { + repo2 = { + hide = [ + "imap" # FIXME: doesn't work for IMAP as of public-inbox 1.6.1 + "manifest" + "www" + ]; + }; + }; + settings.coderepo = lib.listToAttrs ( + map ( + path: + lib.nameValuePair (baseNameOf path) { + dir = "/var/lib/gitolite/repositories/${path}.git"; + cgitUrl = "https://git.${domain}/${path}.git"; + } + ) repositories + ); }; + + # Use gitolite to store Git repositories listed in coderepo entries + services.gitolite = { + enable = true; + adminPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJmoTOQnGqX+//us5oye8UuE+tQBx9QEM7PN13jrwgqY root@localhost"; + }; + systemd.services.public-inbox-httpd = { + serviceConfig.SupplementaryGroups = [ gitolite.group ]; + }; + + # Use nginx as a reverse proxy for public-inbox-httpd + services.nginx = { + enable = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + recommendedProxySettings = true; + virtualHosts."machine.${domain}" = { + forceSSL = true; + sslCertificate = "${tls-cert}/cert.pem"; + sslCertificateKey = "${tls-cert}/key.pem"; + locations."/".return = "302 /inbox"; + locations."= /inbox".return = "302 /inbox/"; + locations."/inbox".proxyPass = "http://unix:${public-inbox.http.port}:/inbox"; + # If using TCP instead of a Unix socket: + #locations."/inbox".proxyPass = "http://127.0.0.1:${toString public-inbox.http.port}/inbox"; + # Referred to by settings.publicinbox.css + # See http://public-inbox.org/meta/_/text/color/ + locations."= /style/light.css".alias = pkgs.writeText "light.css" '' + * { background:#fff; color:#000 } + + a { color:#00f; text-decoration:none } + a:visited { color:#808 } + + *.q { color:#008 } + + *.add { color:#060 } + *.del {color:#900 } + *.head { color:#000 } + *.hunk { color:#960 } + + .hl.num { color:#f30 } /* number */ + .hl.esc { color:#f0f } /* escape character */ + .hl.str { color:#f30 } /* string */ + .hl.ppc { color:#c3c } /* preprocessor */ + .hl.pps { color:#f30 } /* preprocessor string */ + .hl.slc { color:#099 } /* single-line comment */ + .hl.com { color:#099 } /* multi-line comment */ + /* .hl.opt { color:#ccc } */ /* operator */ + /* .hl.ipl { color:#ccc } */ /* interpolation */ + + /* keyword groups kw[a-z] */ + .hl.kwa { color:#f90 } + .hl.kwb { color:#060 } + .hl.kwc { color:#f90 } + /* .hl.kwd { color:#ccc } */ + ''; + }; + }; + + services.postfix = { + enable = true; + setSendmail = true; + #sslCert = "${tls-cert}/cert.pem"; + #sslKey = "${tls-cert}/key.pem"; + recipientDelimiter = "+"; + }; + + environment.systemPackages = [ + pkgs.mailutils + pkgs.openssl + ]; + }; - settings.coderepo = lib.listToAttrs (map (path: lib.nameValuePair (baseNameOf path) { - dir = "/var/lib/gitolite/repositories/${path}.git"; - cgitUrl = "https://git.${domain}/${path}.git"; - }) repositories); - }; - - # Use gitolite to store Git repositories listed in coderepo entries - services.gitolite = { - enable = true; - adminPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJmoTOQnGqX+//us5oye8UuE+tQBx9QEM7PN13jrwgqY root@localhost"; - }; - systemd.services.public-inbox-httpd = { - serviceConfig.SupplementaryGroups = [ gitolite.group ]; - }; - - # Use nginx as a reverse proxy for public-inbox-httpd - services.nginx = { - enable = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedTlsSettings = true; - recommendedProxySettings = true; - virtualHosts."machine.${domain}" = { - forceSSL = true; - sslCertificate = "${tls-cert}/cert.pem"; - sslCertificateKey = "${tls-cert}/key.pem"; - locations."/".return = "302 /inbox"; - locations."= /inbox".return = "302 /inbox/"; - locations."/inbox".proxyPass = "http://unix:${public-inbox.http.port}:/inbox"; - # If using TCP instead of a Unix socket: - #locations."/inbox".proxyPass = "http://127.0.0.1:${toString public-inbox.http.port}/inbox"; - # Referred to by settings.publicinbox.css - # See http://public-inbox.org/meta/_/text/color/ - locations."= /style/light.css".alias = pkgs.writeText "light.css" '' - * { background:#fff; color:#000 } - - a { color:#00f; text-decoration:none } - a:visited { color:#808 } - - *.q { color:#008 } - - *.add { color:#060 } - *.del {color:#900 } - *.head { color:#000 } - *.hunk { color:#960 } - - .hl.num { color:#f30 } /* number */ - .hl.esc { color:#f0f } /* escape character */ - .hl.str { color:#f30 } /* string */ - .hl.ppc { color:#c3c } /* preprocessor */ - .hl.pps { color:#f30 } /* preprocessor string */ - .hl.slc { color:#099 } /* single-line comment */ - .hl.com { color:#099 } /* multi-line comment */ - /* .hl.opt { color:#ccc } */ /* operator */ - /* .hl.ipl { color:#ccc } */ /* interpolation */ - - /* keyword groups kw[a-z] */ - .hl.kwa { color:#f90 } - .hl.kwb { color:#060 } - .hl.kwc { color:#f90 } - /* .hl.kwd { color:#ccc } */ - ''; - }; - }; - - services.postfix = { - enable = true; - setSendmail = true; - #sslCert = "${tls-cert}/cert.pem"; - #sslKey = "${tls-cert}/key.pem"; - recipientDelimiter = "+"; - }; - - environment.systemPackages = [ - pkgs.mailutils - pkgs.openssl - ]; - - }; - - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("public-inbox-init.service") - - # Very basic check that Gitolite can work; - # Gitolite is not needed for the rest of this testScript - machine.wait_for_unit("gitolite-init.service") - - # List inboxes through public-inbox-httpd - machine.wait_for_unit("nginx.service") - machine.succeed("curl -L https://machine.${domain} | grep repo1@${domain}") - # The repo2 inbox is hidden - machine.fail("curl -L https://machine.${domain} | grep repo2@${domain}") - machine.wait_for_unit("public-inbox-httpd.service") - - # Send a mail and read it through public-inbox-httpd - # Must work too when using a recipientDelimiter. - machine.wait_for_unit("postfix.service") - machine.succeed("mail -t <${pkgs.writeText "mail" '' - Subject: Testing mail - From: root@localhost - To: repo1+extension@${domain} - Message-ID: - Content-Type: text/plain; charset=utf-8 - Content-Disposition: inline - - This is a testing mail. - ''}") - machine.sleep(10) - machine.succeed("curl -L 'https://machine.${domain}/inbox/repo1/repo1@root-1/T/#u' | grep 'This is a testing mail.'") - - # Read a mail through public-inbox-imapd - machine.wait_for_open_port(993) - machine.wait_for_unit("public-inbox-imapd.service") - machine.succeed("openssl s_client -ign_eof -crlf -connect machine.${domain}:993 <${pkgs.writeText "imap-commands" '' - tag login anonymous@${domain} anonymous - tag SELECT INBOX.comp.${orga}.repo1.0 - tag FETCH 1 (BODY[HEADER]) - tag LOGOUT - ''} | grep '^Message-ID: '") - - # TODO: Read a mail through public-inbox-nntpd - #machine.wait_for_open_port(563) - #machine.wait_for_unit("public-inbox-nntpd.service") - - # Delete a mail. - # Note that the use of an extension not listed in the addresses - # require to use --all - machine.succeed("curl -L https://machine.${domain}/inbox/repo1/repo1@root-1/raw | sudo -u public-inbox public-inbox-learn rm --all") - machine.fail("curl -L https://machine.${domain}/inbox/repo1/repo1@root-1/T/#u | grep 'This is a testing mail.'") - - # Compact the database - machine.succeed("sudo -u public-inbox public-inbox-compact --all") - ''; -}) + + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("public-inbox-init.service") + + # Very basic check that Gitolite can work; + # Gitolite is not needed for the rest of this testScript + machine.wait_for_unit("gitolite-init.service") + + # List inboxes through public-inbox-httpd + machine.wait_for_unit("nginx.service") + machine.succeed("curl -L https://machine.${domain} | grep repo1@${domain}") + # The repo2 inbox is hidden + machine.fail("curl -L https://machine.${domain} | grep repo2@${domain}") + machine.wait_for_unit("public-inbox-httpd.service") + + # Send a mail and read it through public-inbox-httpd + # Must work too when using a recipientDelimiter. + machine.wait_for_unit("postfix.service") + machine.succeed("mail -t <${pkgs.writeText "mail" '' + Subject: Testing mail + From: root@localhost + To: repo1+extension@${domain} + Message-ID: + Content-Type: text/plain; charset=utf-8 + Content-Disposition: inline + + This is a testing mail. + ''}") + machine.sleep(10) + machine.succeed("curl -L 'https://machine.${domain}/inbox/repo1/repo1@root-1/T/#u' | grep 'This is a testing mail.'") + + # Read a mail through public-inbox-imapd + machine.wait_for_open_port(993) + machine.wait_for_unit("public-inbox-imapd.service") + machine.succeed("openssl s_client -ign_eof -crlf -connect machine.${domain}:993 <${pkgs.writeText "imap-commands" '' + tag login anonymous@${domain} anonymous + tag SELECT INBOX.comp.${orga}.repo1.0 + tag FETCH 1 (BODY[HEADER]) + tag LOGOUT + ''} | grep '^Message-ID: '") + + # TODO: Read a mail through public-inbox-nntpd + #machine.wait_for_open_port(563) + #machine.wait_for_unit("public-inbox-nntpd.service") + + # Delete a mail. + # Note that the use of an extension not listed in the addresses + # require to use --all + machine.succeed("curl -L https://machine.${domain}/inbox/repo1/repo1@root-1/raw | sudo -u public-inbox public-inbox-learn rm --all") + machine.fail("curl -L https://machine.${domain}/inbox/repo1/repo1@root-1/T/#u | grep 'This is a testing mail.'") + + # Compact the database + machine.succeed("sudo -u public-inbox public-inbox-compact --all") + ''; + } +) diff --git a/nixos/tests/pufferpanel.nix b/nixos/tests/pufferpanel.nix index e7b09c13f90bd..e0613b43b7de4 100644 --- a/nixos/tests/pufferpanel.nix +++ b/nixos/tests/pufferpanel.nix @@ -1,74 +1,79 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "pufferpanel"; - meta.maintainers = [ lib.maintainers.tie ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "pufferpanel"; + meta.maintainers = [ lib.maintainers.tie ]; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.pufferpanel ]; - services.pufferpanel = { - enable = true; - extraPackages = [ pkgs.netcat ]; - environment = { - PUFFER_PANEL_REGISTRATIONENABLED = "false"; - PUFFER_PANEL_SETTINGS_COMPANYNAME = "NixOS"; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.pufferpanel ]; + services.pufferpanel = { + enable = true; + extraPackages = [ pkgs.netcat ]; + environment = { + PUFFER_PANEL_REGISTRATIONENABLED = "false"; + PUFFER_PANEL_SETTINGS_COMPANYNAME = "NixOS"; + }; + }; }; - }; - }; - testScript = '' - import shlex - import json + testScript = '' + import shlex + import json - curl = "curl --fail-with-body --silent" - baseURL = "http://localhost:8080" - adminName = "admin" - adminEmail = "admin@nixos.org" - adminPass = "admin" - adminCreds = json.dumps({ - "email": adminEmail, - "password": adminPass, - }) - stopCode = 9 # SIGKILL - serverPort = 1337 - serverDefinition = json.dumps({ - "name": "netcat", - "node": 0, - "users": [ - adminName, - ], - "type": "netcat", - "run": { - "stopCode": stopCode, - "command": f"nc -l {serverPort}", - }, - "environment": { - "type": "standard", - }, - }) + curl = "curl --fail-with-body --silent" + baseURL = "http://localhost:8080" + adminName = "admin" + adminEmail = "admin@nixos.org" + adminPass = "admin" + adminCreds = json.dumps({ + "email": adminEmail, + "password": adminPass, + }) + stopCode = 9 # SIGKILL + serverPort = 1337 + serverDefinition = json.dumps({ + "name": "netcat", + "node": 0, + "users": [ + adminName, + ], + "type": "netcat", + "run": { + "stopCode": stopCode, + "command": f"nc -l {serverPort}", + }, + "environment": { + "type": "standard", + }, + }) - start_all() + start_all() - machine.wait_for_unit("pufferpanel.service") - machine.wait_for_open_port(5657) # SFTP - machine.wait_for_open_port(8080) # HTTP + machine.wait_for_unit("pufferpanel.service") + machine.wait_for_open_port(5657) # SFTP + machine.wait_for_open_port(8080) # HTTP - # Note that PufferPanel does not initialize database unless necessary. - # /api/config endpoint creates database file and triggers migrations. - # On success, we run a command to create administrator user that we use to - # interact with HTTP API. - resp = json.loads(machine.succeed(f"{curl} {baseURL}/api/config")) - assert resp["branding"]["name"] == "NixOS", "Invalid company name in configuration" - assert resp["registrationEnabled"] == False, "Expected registration to be disabled" + # Note that PufferPanel does not initialize database unless necessary. + # /api/config endpoint creates database file and triggers migrations. + # On success, we run a command to create administrator user that we use to + # interact with HTTP API. + resp = json.loads(machine.succeed(f"{curl} {baseURL}/api/config")) + assert resp["branding"]["name"] == "NixOS", "Invalid company name in configuration" + assert resp["registrationEnabled"] == False, "Expected registration to be disabled" - machine.succeed(f"pufferpanel --workDir /var/lib/pufferpanel user add --admin --name {adminName} --email {adminEmail} --password {adminPass}") + machine.succeed(f"pufferpanel --workDir /var/lib/pufferpanel user add --admin --name {adminName} --email {adminEmail} --password {adminPass}") - resp = json.loads(machine.succeed(f"{curl} -d '{adminCreds}' {baseURL}/auth/login")) - assert "servers.admin" in resp["scopes"], "User is not administrator" - token = resp["session"] - authHeader = shlex.quote(f"Authorization: Bearer {token}") + resp = json.loads(machine.succeed(f"{curl} -d '{adminCreds}' {baseURL}/auth/login")) + assert "servers.admin" in resp["scopes"], "User is not administrator" + token = resp["session"] + authHeader = shlex.quote(f"Authorization: Bearer {token}") - resp = json.loads(machine.succeed(f"{curl} -H {authHeader} -H 'Content-Type: application/json' -d '{serverDefinition}' {baseURL}/api/servers")) - serverID = resp["id"] - machine.succeed(f"{curl} -X POST -H {authHeader} {baseURL}/proxy/daemon/server/{serverID}/start") - machine.wait_for_open_port(serverPort) - ''; -}) + resp = json.loads(machine.succeed(f"{curl} -H {authHeader} -H 'Content-Type: application/json' -d '{serverDefinition}' {baseURL}/api/servers")) + serverID = resp["id"] + machine.succeed(f"{curl} -X POST -H {authHeader} {baseURL}/proxy/daemon/server/{serverID}/start") + machine.wait_for_open_port(serverPort) + ''; + } +) diff --git a/nixos/tests/pulseaudio.nix b/nixos/tests/pulseaudio.nix index ccc33f28bc6d5..04bb8612dd628 100644 --- a/nixos/tests/pulseaudio.nix +++ b/nixos/tests/pulseaudio.nix @@ -1,14 +1,19 @@ let - mkTest = { systemWide ? false , fullVersion ? false }: - import ./make-test-python.nix ({ pkgs, lib, ... }: + mkTest = + { + systemWide ? false, + fullVersion ? false, + }: + import ./make-test-python.nix ( + { pkgs, lib, ... }: let testFile = pkgs.fetchurl { - url = - "https://file-examples.com/storage/fe5947fd2362fc197a3c2df/2017/11/file_example_MP3_700KB.mp3"; + url = "https://file-examples.com/storage/fe5947fd2362fc197a3c2df/2017/11/file_example_MP3_700KB.mp3"; hash = "sha256-+iggJW8s0/LfA/okfXsB550/55Q0Sq3OoIzuBrzOPJQ="; }; - makeTestPlay = key: + makeTestPlay = + key: { sox, alsa-utils }: pkgs.writeScriptBin key '' set -euxo pipefail @@ -21,60 +26,83 @@ let testPlay = { inherit (pkgs) sox alsa-utils; }; testPlay32 = { inherit (pkgs.pkgsi686Linux) sox alsa-utils; }; }; - in { + in + { name = "pulseaudio${lib.optionalString fullVersion "Full"}${lib.optionalString systemWide "-systemWide"}"; meta = with pkgs.lib.maintainers; { maintainers = [ synthetica ] ++ pkgs.pulseaudio.meta.maintainers; }; - nodes.machine = { ... }: + nodes.machine = + { ... }: { imports = [ ./common/wayland-cage.nix ]; - hardware.pulseaudio = { - enable = true; - support32Bit = true; - inherit systemWide; - } // lib.optionalAttrs fullVersion { - package = pkgs.pulseaudioFull; - }; + hardware.pulseaudio = + { + enable = true; + support32Bit = true; + inherit systemWide; + } + // lib.optionalAttrs fullVersion { + package = pkgs.pulseaudioFull; + }; - environment.systemPackages = [ testers.testPlay pkgs.pavucontrol ] - ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 testers.testPlay32; - } // lib.optionalAttrs systemWide { + environment.systemPackages = [ + testers.testPlay + pkgs.pavucontrol + ] ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 testers.testPlay32; + } + // lib.optionalAttrs systemWide { users.users.alice.extraGroups = [ "pulse-access" ]; systemd.services.pulseaudio.wantedBy = [ "multi-user.target" ]; }; enableOCR = true; - testScript = { ... }: '' - machine.wait_until_succeeds("pgrep xterm") - machine.wait_for_text("alice@machine") + testScript = + { ... }: + '' + machine.wait_until_succeeds("pgrep xterm") + machine.wait_for_text("alice@machine") - machine.send_chars("testPlay \n") - machine.wait_for_file("/tmp/testPlay_success") - ${lib.optionalString pkgs.stdenv.hostPlatform.isx86_64 '' - machine.send_chars("testPlay32 \n") - machine.wait_for_file("/tmp/testPlay32_success") - ''} - machine.screenshot("testPlay") + machine.send_chars("testPlay \n") + machine.wait_for_file("/tmp/testPlay_success") + ${lib.optionalString pkgs.stdenv.hostPlatform.isx86_64 '' + machine.send_chars("testPlay32 \n") + machine.wait_for_file("/tmp/testPlay32_success") + ''} + machine.screenshot("testPlay") - ${lib.optionalString (!systemWide) '' - machine.send_chars("pacmd info && touch /tmp/pacmd_success\n") - machine.wait_for_file("/tmp/pacmd_success") - ''} + ${lib.optionalString (!systemWide) '' + machine.send_chars("pacmd info && touch /tmp/pacmd_success\n") + machine.wait_for_file("/tmp/pacmd_success") + ''} - # Pavucontrol only loads when Pulseaudio is running. If it isn't, the - # text "Dummy Output" (sound device name) will never show. - machine.send_chars("pavucontrol\n") - machine.wait_for_text("Dummy Output") - machine.screenshot("Pavucontrol") - ''; - }); -in builtins.mapAttrs (key: val: mkTest val) { - user = { systemWide = false; fullVersion = false; }; - system = { systemWide = true; fullVersion = false; }; - userFull = { systemWide = false; fullVersion = true; }; - systemFull = { systemWide = true; fullVersion = true; }; + # Pavucontrol only loads when Pulseaudio is running. If it isn't, the + # text "Dummy Output" (sound device name) will never show. + machine.send_chars("pavucontrol\n") + machine.wait_for_text("Dummy Output") + machine.screenshot("Pavucontrol") + ''; + } + ); +in +builtins.mapAttrs (key: val: mkTest val) { + user = { + systemWide = false; + fullVersion = false; + }; + system = { + systemWide = true; + fullVersion = false; + }; + userFull = { + systemWide = false; + fullVersion = true; + }; + systemFull = { + systemWide = true; + fullVersion = true; + }; } diff --git a/nixos/tests/pykms.nix b/nixos/tests/pykms.nix index 14d776a2f113e..e7df338a9fc26 100644 --- a/nixos/tests/pykms.nix +++ b/nixos/tests/pykms.nix @@ -1,14 +1,23 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { name = "pykms-test"; meta.maintainers = with pkgs.lib.maintainers; [ zopieux ]; - nodes.machine = { config, lib, pkgs, ... }: { - services.pykms.enable = true; - }; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + services.pykms.enable = true; + }; testScript = '' machine.wait_for_unit("pykms.service") machine.succeed("${pkgs.pykms}/bin/client") ''; - }) + } +) diff --git a/nixos/tests/pyload.nix b/nixos/tests/pyload.nix index f913e822b2ff3..9f87faec2b2c2 100644 --- a/nixos/tests/pyload.nix +++ b/nixos/tests/pyload.nix @@ -1,33 +1,38 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "pyload"; - meta.maintainers = with lib.maintainers; [ ambroisie ]; - - nodes = { - machine = { ... }: { - services.pyload = { - enable = true; - - listenAddress = "0.0.0.0"; - port = 9876; - }; - - networking.firewall.allowedTCPPorts = [ 9876 ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "pyload"; + meta.maintainers = with lib.maintainers; [ ambroisie ]; + + nodes = { + machine = + { ... }: + { + services.pyload = { + enable = true; + + listenAddress = "0.0.0.0"; + port = 9876; + }; + + networking.firewall.allowedTCPPorts = [ 9876 ]; + }; + + client = { }; }; - client = { }; - }; - - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("pyload.service") + machine.wait_for_unit("pyload.service") - with subtest("Web interface accessible locally"): - machine.wait_until_succeeds("curl -fs localhost:9876") + with subtest("Web interface accessible locally"): + machine.wait_until_succeeds("curl -fs localhost:9876") - client.wait_for_unit("network.target") + client.wait_for_unit("network.target") - with subtest("Web interface accessible from a different machine"): - client.wait_until_succeeds("curl -fs machine:9876") - ''; -}) + with subtest("Web interface accessible from a different machine"): + client.wait_until_succeeds("curl -fs machine:9876") + ''; + } +) diff --git a/nixos/tests/qboot.nix b/nixos/tests/qboot.nix index 29d999be58e5b..822f74ed26655 100644 --- a/nixos/tests/qboot.nix +++ b/nixos/tests/qboot.nix @@ -1,13 +1,17 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "qboot"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "qboot"; - nodes.machine = { ... }: { - virtualisation.bios = pkgs.qboot; - }; + nodes.machine = + { ... }: + { + virtualisation.bios = pkgs.qboot; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("multi-user.target") ''; -}) + } +) diff --git a/nixos/tests/qemu-vm-external-disk-image.nix b/nixos/tests/qemu-vm-external-disk-image.nix index c481159511a02..94cbbfd884371 100644 --- a/nixos/tests/qemu-vm-external-disk-image.nix +++ b/nixos/tests/qemu-vm-external-disk-image.nix @@ -11,66 +11,82 @@ let rootFslabel = "external"; rootFsDevice = "/dev/disk/by-label/${rootFslabel}"; - externalModule = { config, lib, pkgs, ... }: { - boot.loader.systemd-boot.enable = true; + externalModule = + { + config, + lib, + pkgs, + ... + }: + { + boot.loader.systemd-boot.enable = true; - fileSystems = { - "/".device = rootFsDevice; - }; + fileSystems = { + "/".device = rootFsDevice; + }; - system.build.diskImage = import ../lib/make-disk-image.nix { - inherit config lib pkgs; - label = rootFslabel; - partitionTableType = "efi"; - format = "qcow2"; - bootSize = "32M"; - additionalSpace = "0M"; - copyChannel = false; + system.build.diskImage = import ../lib/make-disk-image.nix { + inherit config lib pkgs; + label = rootFslabel; + partitionTableType = "efi"; + format = "qcow2"; + bootSize = "32M"; + additionalSpace = "0M"; + copyChannel = false; + }; }; - }; in { name = "qemu-vm-external-disk-image"; meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { config, lib, pkgs, ... }: { - virtualisation.directBoot.enable = false; - virtualisation.mountHostNixStore = false; - virtualisation.useEFIBoot = true; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + virtualisation.directBoot.enable = false; + virtualisation.mountHostNixStore = false; + virtualisation.useEFIBoot = true; - # This stops the qemu-vm module from overriding the fileSystems option - # with virtualisation.fileSystems. - virtualisation.fileSystems = lib.mkForce { }; + # This stops the qemu-vm module from overriding the fileSystems option + # with virtualisation.fileSystems. + virtualisation.fileSystems = lib.mkForce { }; - imports = [ externalModule ]; - }; + imports = [ externalModule ]; + }; - testScript = { nodes, ... }: '' - import os - import subprocess - import tempfile + testScript = + { nodes, ... }: + '' + import os + import subprocess + import tempfile - tmp_disk_image = tempfile.NamedTemporaryFile() + tmp_disk_image = tempfile.NamedTemporaryFile() - subprocess.run([ - "${nodes.machine.virtualisation.qemu.package}/bin/qemu-img", - "create", - "-f", - "qcow2", - "-b", - "${nodes.machine.system.build.diskImage}/nixos.qcow2", - "-F", - "qcow2", - tmp_disk_image.name, - ]) + subprocess.run([ + "${nodes.machine.virtualisation.qemu.package}/bin/qemu-img", + "create", + "-f", + "qcow2", + "-b", + "${nodes.machine.system.build.diskImage}/nixos.qcow2", + "-F", + "qcow2", + tmp_disk_image.name, + ]) - # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. - os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name + # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. + os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name - machine.succeed("findmnt --kernel --source ${rootFsDevice} --target /") + machine.succeed("findmnt --kernel --source ${rootFsDevice} --target /") - # Make sure systemd boot didn't clobber this - machine.succeed("[ ! -e /homeless-shelter ]") - ''; + # Make sure systemd boot didn't clobber this + machine.succeed("[ ! -e /homeless-shelter ]") + ''; } diff --git a/nixos/tests/qemu-vm-restrictnetwork.nix b/nixos/tests/qemu-vm-restrictnetwork.nix index 49aefcc099bda..9249f0cc12695 100644 --- a/nixos/tests/qemu-vm-restrictnetwork.nix +++ b/nixos/tests/qemu-vm-restrictnetwork.nix @@ -2,13 +2,17 @@ import ./make-test-python.nix ({ name = "qemu-vm-restrictnetwork"; nodes = { - unrestricted = { config, pkgs, ... }: { - virtualisation.restrictNetwork = false; - }; + unrestricted = + { config, pkgs, ... }: + { + virtualisation.restrictNetwork = false; + }; - restricted = { config, pkgs, ... }: { - virtualisation.restrictNetwork = true; - }; + restricted = + { config, pkgs, ... }: + { + virtualisation.restrictNetwork = true; + }; }; testScript = '' @@ -34,5 +38,5 @@ import ./make-test-python.nix ({ # 10.0.2.2 is the gateway mapping to the host's loopback interface. unrestricted.succeed("curl -s http://10.0.2.2:8000") restricted.fail("curl -s http://10.0.2.2:8000") - ''; + ''; }) diff --git a/nixos/tests/qemu-vm-store.nix b/nixos/tests/qemu-vm-store.nix index 9fb9f4baaafc4..1824ef5591599 100644 --- a/nixos/tests/qemu-vm-store.nix +++ b/nixos/tests/qemu-vm-store.nix @@ -1,4 +1,5 @@ -{ lib, ... }: { +{ lib, ... }: +{ name = "qemu-vm-store"; diff --git a/nixos/tests/qgis.nix b/nixos/tests/qgis.nix index e8149e4885627..1a7b75891b96d 100644 --- a/nixos/tests/qgis.nix +++ b/nixos/tests/qgis.nix @@ -1,4 +1,10 @@ -import ./make-test-python.nix ({ pkgs, lib, package, ... }: +import ./make-test-python.nix ( + { + pkgs, + lib, + package, + ... + }: let qgisPackage = package.override { withServer = true; }; testScript = pkgs.writeTextFile { @@ -13,61 +19,65 @@ import ./make-test-python.nix ({ pkgs, lib, package, ... }: }; nodes = { - machine = { config, pkgs, ... }: + machine = + { config, pkgs, ... }: - let - qgisServerUser = config.services.nginx.user; - qgisServerSocket = "/run/qgis_mapserv.socket"; - in - { - virtualisation.diskSize = 2 * 1024; + let + qgisServerUser = config.services.nginx.user; + qgisServerSocket = "/run/qgis_mapserv.socket"; + in + { + virtualisation.diskSize = 2 * 1024; - imports = [ ./common/x11.nix ]; - environment.systemPackages = [ - qgisPackage - ]; + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ + qgisPackage + ]; - systemd.sockets.qgis-server = { - listenStreams = [ qgisServerSocket ]; - socketConfig = { - Accept = false; - SocketUser = qgisServerUser; - SocketMode = 0600; + systemd.sockets.qgis-server = { + listenStreams = [ qgisServerSocket ]; + socketConfig = { + Accept = false; + SocketUser = qgisServerUser; + SocketMode = 600; + }; + wantedBy = [ + "sockets.target" + "qgis-server.service" + ]; + before = [ "qgis-server.service" ]; }; - wantedBy = ["sockets.target" "qgis-server.service"]; - before = [ "qgis-server.service" ]; - }; - systemd.services.qgis-server = { - description = "QGIS server"; - serviceConfig = { - User = qgisServerUser; - StandardOutput = "null"; - StandardError = "journal"; - StandardInput = "socket"; - Environment = [ - "QT_QPA_PLATFORM_PLUGIN_PATH=${pkgs.libsForQt5.qt5.qtbase}/${pkgs.libsForQt5.qt5.qtbase.qtPluginPrefix}/platforms" - "QGIS_SERVER_LOG_LEVEL=0" - "QGIS_SERVER_LOG_STDERR=1" - ]; - ExecStart = "${qgisPackage}/lib/cgi-bin/qgis_mapserv.fcgi"; + systemd.services.qgis-server = { + description = "QGIS server"; + serviceConfig = { + User = qgisServerUser; + StandardOutput = "null"; + StandardError = "journal"; + StandardInput = "socket"; + Environment = [ + "QT_QPA_PLATFORM_PLUGIN_PATH=${pkgs.libsForQt5.qt5.qtbase}/${pkgs.libsForQt5.qt5.qtbase.qtPluginPrefix}/platforms" + "QGIS_SERVER_LOG_LEVEL=0" + "QGIS_SERVER_LOG_STDERR=1" + ]; + ExecStart = "${qgisPackage}/lib/cgi-bin/qgis_mapserv.fcgi"; + }; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; }; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - }; - services.nginx = { - enable = true; - virtualHosts."qgis" = { - locations."~".extraConfig = '' - gzip off; - include ${pkgs.nginx}/conf/fastcgi_params; - include ${pkgs.nginx}/conf/fastcgi.conf; - fastcgi_pass unix:${qgisServerSocket}; - ''; + services.nginx = { + enable = true; + virtualHosts."qgis" = { + locations."~".extraConfig = '' + gzip off; + include ${pkgs.nginx}/conf/fastcgi_params; + include ${pkgs.nginx}/conf/fastcgi.conf; + fastcgi_pass unix:${qgisServerSocket}; + ''; + }; }; }; - }; }; testScript = '' @@ -83,4 +93,5 @@ import ./make-test-python.nix ({ pkgs, lib, package, ... }: machine.succeed("curl --head http://localhost | grep 'Server:.*${qgisPackage.version}'") machine.succeed("curl http://localhost/index.json | grep 'Landing page as JSON'") ''; - }) + } +) diff --git a/nixos/tests/qownnotes.nix b/nixos/tests/qownnotes.nix index 3390ba6d90253..710492f59bf5e 100644 --- a/nixos/tests/qownnotes.nix +++ b/nixos/tests/qownnotes.nix @@ -1,82 +1,88 @@ -import ./make-test-python.nix ({ lib, pkgs, ...} : - -{ - name = "qownnotes"; - meta.maintainers = [ lib.maintainers.pbek ]; - - nodes.machine = { ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: { - imports = [ - ./common/user-account.nix - ./common/x11.nix - ]; - - test-support.displayManager.auto.user = "alice"; - environment.systemPackages = [ - pkgs.qownnotes - pkgs.xdotool - ]; - }; - - enableOCR = true; - - # https://nixos.org/manual/nixos/stable/#ssec-machine-objects - testScript = { nodes, ... }: let - aliceDo = cmd: ''machine.succeed("su - alice -c '${cmd}' >&2 &");''; - in '' - with subtest("Ensure X starts"): - start_all() - machine.wait_for_x() - - with subtest("Check QOwnNotes version on CLI"): - ${aliceDo "qownnotes --version"} - - machine.wait_for_console_text("QOwnNotes ${pkgs.qownnotes.version}") - - with subtest("Ensure QOwnNotes starts"): - # start QOwnNotes window - ${aliceDo "qownnotes"} - - machine.wait_for_text("Welcome to QOwnNotes") - machine.screenshot("QOwnNotes-Welcome") - - with subtest("Finish first-run wizard"): - # The wizard should show up now - machine.wait_for_text("Note folder") - machine.send_key("ret") - machine.wait_for_console_text("Note path '/home/alice/Notes' was now created.") - machine.wait_for_text("Panel layout") - machine.send_key("ret") - machine.wait_for_text("Nextcloud") - machine.send_key("ret") - machine.wait_for_text("App metric") - machine.send_key("ret") - - # Doesn't work for non-root - #machine.wait_for_window("QOwnNotes - ${pkgs.qownnotes.version}") - - # OCR doesn't seem to be able any more to handle the main window - #machine.wait_for_text("QOwnNotes - ${pkgs.qownnotes.version}") - - # The main window should now show up - machine.wait_for_open_port(22222) - machine.wait_for_console_text("QOwnNotes server listening on port 22222") - - machine.screenshot("QOwnNotes-DemoNote") - - with subtest("Create a new note"): - machine.send_key("ctrl-n") - machine.sleep(1) - machine.send_chars("This is a NixOS test!\n") - machine.wait_until_succeeds("find /home/alice/Notes -type f | grep -qi 'Note 2'") - - # OCR doesn't seem to be able any more to handle the main window - #machine.wait_for_text("This is a NixOS test!") - - # Doesn't work for non-root - #machine.wait_for_window("- QOwnNotes - ${pkgs.qownnotes.version}") - - machine.screenshot("QOwnNotes-NewNote") - ''; -}) + name = "qownnotes"; + meta.maintainers = [ lib.maintainers.pbek ]; + + nodes.machine = + { ... }: + + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + test-support.displayManager.auto.user = "alice"; + environment.systemPackages = [ + pkgs.qownnotes + pkgs.xdotool + ]; + }; + + enableOCR = true; + + # https://nixos.org/manual/nixos/stable/#ssec-machine-objects + testScript = + { nodes, ... }: + let + aliceDo = cmd: ''machine.succeed("su - alice -c '${cmd}' >&2 &");''; + in + '' + with subtest("Ensure X starts"): + start_all() + machine.wait_for_x() + + with subtest("Check QOwnNotes version on CLI"): + ${aliceDo "qownnotes --version"} + + machine.wait_for_console_text("QOwnNotes ${pkgs.qownnotes.version}") + + with subtest("Ensure QOwnNotes starts"): + # start QOwnNotes window + ${aliceDo "qownnotes"} + + machine.wait_for_text("Welcome to QOwnNotes") + machine.screenshot("QOwnNotes-Welcome") + + with subtest("Finish first-run wizard"): + # The wizard should show up now + machine.wait_for_text("Note folder") + machine.send_key("ret") + machine.wait_for_console_text("Note path '/home/alice/Notes' was now created.") + machine.wait_for_text("Panel layout") + machine.send_key("ret") + machine.wait_for_text("Nextcloud") + machine.send_key("ret") + machine.wait_for_text("App metric") + machine.send_key("ret") + + # Doesn't work for non-root + #machine.wait_for_window("QOwnNotes - ${pkgs.qownnotes.version}") + + # OCR doesn't seem to be able any more to handle the main window + #machine.wait_for_text("QOwnNotes - ${pkgs.qownnotes.version}") + + # The main window should now show up + machine.wait_for_open_port(22222) + machine.wait_for_console_text("QOwnNotes server listening on port 22222") + + machine.screenshot("QOwnNotes-DemoNote") + + with subtest("Create a new note"): + machine.send_key("ctrl-n") + machine.sleep(1) + machine.send_chars("This is a NixOS test!\n") + machine.wait_until_succeeds("find /home/alice/Notes -type f | grep -qi 'Note 2'") + + # OCR doesn't seem to be able any more to handle the main window + #machine.wait_for_text("This is a NixOS test!") + + # Doesn't work for non-root + #machine.wait_for_window("- QOwnNotes - ${pkgs.qownnotes.version}") + + machine.screenshot("QOwnNotes-NewNote") + ''; + } +) diff --git a/nixos/tests/qtile/default.nix b/nixos/tests/qtile/default.nix index 718063fa8bb50..547a53dcf1234 100644 --- a/nixos/tests/qtile/default.nix +++ b/nixos/tests/qtile/default.nix @@ -1,45 +1,54 @@ -import ../make-test-python.nix ({ lib, ...} : { - name = "qtile"; - - meta = { - maintainers = with lib.maintainers; [ sigmanificient ]; - }; - - nodes.machine = { pkgs, lib, ... }: let - # We create a custom Qtile configuration file that adds a widget from - # qtile-extras to the bar. This ensure that the qtile-extras package - # also works, and that extraPackages behave as expected. - - config-deriv = pkgs.callPackage ./config.nix { }; - in { - imports = [ ../common/x11.nix ../common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - - services.xserver.windowManager.qtile = { - enable = true; - configFile = "${config-deriv}/config.py"; - extraPackages = ps: [ ps.qtile-extras ]; - }; - - services.displayManager.defaultSession = lib.mkForce "qtile"; - - environment.systemPackages = [ pkgs.kitty ]; - }; +import ../make-test-python.nix ( + { lib, ... }: + { + name = "qtile"; - testScript = '' - with subtest("ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("/home/alice/.Xauthority") - machine.succeed("xauth merge ~alice/.Xauthority") - - with subtest("ensure client is available"): - machine.succeed("qtile --version") + meta = { + maintainers = with lib.maintainers; [ sigmanificient ]; + }; - with subtest("ensure we can open a new terminal"): - machine.sleep(2) - machine.send_key("meta_l-ret") - machine.wait_for_window(r"alice.*?machine") - machine.sleep(2) - machine.screenshot("terminal") - ''; -}) + nodes.machine = + { pkgs, lib, ... }: + let + # We create a custom Qtile configuration file that adds a widget from + # qtile-extras to the bar. This ensure that the qtile-extras package + # also works, and that extraPackages behave as expected. + + config-deriv = pkgs.callPackage ./config.nix { }; + in + { + imports = [ + ../common/x11.nix + ../common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + + services.xserver.windowManager.qtile = { + enable = true; + configFile = "${config-deriv}/config.py"; + extraPackages = ps: [ ps.qtile-extras ]; + }; + + services.displayManager.defaultSession = lib.mkForce "qtile"; + + environment.systemPackages = [ pkgs.kitty ]; + }; + + testScript = '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") + + with subtest("ensure client is available"): + machine.succeed("qtile --version") + + with subtest("ensure we can open a new terminal"): + machine.sleep(2) + machine.send_key("meta_l-ret") + machine.wait_for_window(r"alice.*?machine") + machine.sleep(2) + machine.screenshot("terminal") + ''; + } +) diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 947476c7ebc1a..cade2991de613 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -1,53 +1,60 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let + let - # Build Quake with coverage instrumentation. - overrides = pkgs: - { + # Build Quake with coverage instrumentation. + overrides = pkgs: { quake3game = pkgs.quake3game.override (args: { stdenv = pkgs.stdenvAdapters.addCoverageInstrumentation args.stdenv; }); }; - # Only allow the demo data to be used (only if it's unfreeRedistributable). - unfreePredicate = pkg: let - allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ]; - allowLicenses = [ lib.licenses.unfreeRedistributable ]; - in lib.elem pkg.pname allowPackageNames && - lib.elem (pkg.meta.license or null) allowLicenses; - - client = - { pkgs, ... }: - - { imports = [ ./common/x11.nix ]; - hardware.graphics.enable = true; - environment.systemPackages = [ pkgs.quake3demo ]; - nixpkgs.config.packageOverrides = overrides; - nixpkgs.config.allowUnfreePredicate = unfreePredicate; + # Only allow the demo data to be used (only if it's unfreeRedistributable). + unfreePredicate = + pkg: + let + allowPackageNames = [ + "quake3-demodata" + "quake3-pointrelease" + ]; + allowLicenses = [ lib.licenses.unfreeRedistributable ]; + in + lib.elem pkg.pname allowPackageNames && lib.elem (pkg.meta.license or null) allowLicenses; + + client = + { pkgs, ... }: + + { + imports = [ ./common/x11.nix ]; + hardware.graphics.enable = true; + environment.systemPackages = [ pkgs.quake3demo ]; + nixpkgs.config.packageOverrides = overrides; + nixpkgs.config.allowUnfreePredicate = unfreePredicate; + }; + + in + + rec { + name = "quake3"; + meta = with lib.maintainers; { + maintainers = [ domenkozar ]; }; -in + # TODO: lcov doesn't work atm + #makeCoverageReport = true; -rec { - name = "quake3"; - meta = with lib.maintainers; { - maintainers = [ domenkozar ]; - }; - - # TODO: lcov doesn't work atm - #makeCoverageReport = true; - - nodes = - { server = + nodes = { + server = { pkgs, ... }: - { systemd.services.quake3-server = - { wantedBy = [ "multi-user.target" ]; - script = - "${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " + - "+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log"; - }; + { + systemd.services.quake3-server = { + wantedBy = [ "multi-user.target" ]; + script = + "${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " + + "+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log"; + }; nixpkgs.config.packageOverrides = overrides; nixpkgs.config.allowUnfreePredicate = unfreePredicate; networking.firewall.allowedUDPPorts = [ 27960 ]; @@ -57,8 +64,7 @@ rec { client2 = client; }; - testScript = - '' + testScript = '' start_all() server.wait_for_unit("quake3-server") @@ -92,4 +98,5 @@ rec { server.stop_job("quake3-server") ''; -}) + } +) diff --git a/nixos/tests/quicktun.nix b/nixos/tests/quicktun.nix index a5a6324571174..62b441f3fd780 100644 --- a/nixos/tests/quicktun.nix +++ b/nixos/tests/quicktun.nix @@ -1,18 +1,22 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -{ - name = "quicktun"; - meta.maintainers = with lib.maintainers; [ h7x4 ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "quicktun"; + meta.maintainers = with lib.maintainers; [ h7x4 ]; - nodes = { - machine = { ... }: { - services.quicktun."test-tunnel" = { - protocol = "raw"; - }; + nodes = { + machine = + { ... }: + { + services.quicktun."test-tunnel" = { + protocol = "raw"; + }; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("quicktun-test-tunnel.service") - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("quicktun-test-tunnel.service") + ''; + } +) diff --git a/nixos/tests/quickwit.nix b/nixos/tests/quickwit.nix index 7e617c63d7973..0dddd547fd060 100644 --- a/nixos/tests/quickwit.nix +++ b/nixos/tests/quickwit.nix @@ -1,103 +1,106 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: -let - # Define an example Quickwit index schema, - # and some `exampleDocs` below, to test if ingesting - # and querying works as expected. - index_yaml = '' - version: 0.7 - index_id: example_server_logs - doc_mapping: - mode: dynamic - field_mappings: - - name: datetime - type: datetime - fast: true - input_formats: - - iso8601 - output_format: iso8601 - fast_precision: seconds - fast: true - - name: git - type: text - tokenizer: raw - - name: hostname - type: text - tokenizer: raw - - name: level - type: text - tokenizer: raw - - name: message - type: text - - name: location - type: text - - name: source - type: text - timestamp_field: datetime + let + # Define an example Quickwit index schema, + # and some `exampleDocs` below, to test if ingesting + # and querying works as expected. + index_yaml = '' + version: 0.7 + index_id: example_server_logs + doc_mapping: + mode: dynamic + field_mappings: + - name: datetime + type: datetime + fast: true + input_formats: + - iso8601 + output_format: iso8601 + fast_precision: seconds + fast: true + - name: git + type: text + tokenizer: raw + - name: hostname + type: text + tokenizer: raw + - name: level + type: text + tokenizer: raw + - name: message + type: text + - name: location + type: text + - name: source + type: text + timestamp_field: datetime - search_settings: - default_search_fields: [message] + search_settings: + default_search_fields: [message] - indexing_settings: - commit_timeout_secs: 10 - ''; + indexing_settings: + commit_timeout_secs: 10 + ''; - exampleDocs = '' - {"datetime":"2024-05-03T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Processing request done","location":"path/to/server.c:6442:32","source":""} - {"datetime":"2024-05-04T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} - {"datetime":"2024-05-05T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} - {"datetime":"2024-05-06T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-2","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} - ''; -in -{ - name = "quickwit"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + exampleDocs = '' + {"datetime":"2024-05-03T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Processing request done","location":"path/to/server.c:6442:32","source":""} + {"datetime":"2024-05-04T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} + {"datetime":"2024-05-05T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} + {"datetime":"2024-05-06T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-2","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} + ''; + in + { + name = "quickwit"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes = { - quickwit = { config, pkgs, ... }: { - services.quickwit.enable = true; + nodes = { + quickwit = + { config, pkgs, ... }: + { + services.quickwit.enable = true; + }; }; - }; - testScript = - '' - quickwit.wait_for_unit("quickwit") - quickwit.wait_for_open_port(7280) - quickwit.wait_for_open_port(7281) + testScript = '' + quickwit.wait_for_unit("quickwit") + quickwit.wait_for_open_port(7280) + quickwit.wait_for_open_port(7281) - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'version: ${pkgs.quickwit.version}'" - ) + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'version: ${pkgs.quickwit.version}'" + ) - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" - ) + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" + ) - with subtest("verify UI installed"): - machine.succeed("curl -sSf http://127.0.0.1:7280/ui/") + with subtest("verify UI installed"): + machine.succeed("curl -sSf http://127.0.0.1:7280/ui/") - with subtest("injest and query data"): - import json + with subtest("injest and query data"): + import json - # Test CLI ingestion - print(machine.succeed('${pkgs.quickwit}/bin/quickwit index create --index-config ${pkgs.writeText "index.yaml" index_yaml}')) - # Important to use `--wait`, otherwise the queries below race with index processing. - print(machine.succeed('${pkgs.quickwit}/bin/quickwit index ingest --index example_server_logs --input-path ${pkgs.writeText "exampleDocs.json" exampleDocs} --wait')) + # Test CLI ingestion + print(machine.succeed('${pkgs.quickwit}/bin/quickwit index create --index-config ${pkgs.writeText "index.yaml" index_yaml}')) + # Important to use `--wait`, otherwise the queries below race with index processing. + print(machine.succeed('${pkgs.quickwit}/bin/quickwit index ingest --index example_server_logs --input-path ${pkgs.writeText "exampleDocs.json" exampleDocs} --wait')) - # Test CLI query - cli_query_output = machine.succeed('${pkgs.quickwit}/bin/quickwit index search --index example_server_logs --query "exception"') - print(cli_query_output) + # Test CLI query + cli_query_output = machine.succeed('${pkgs.quickwit}/bin/quickwit index search --index example_server_logs --query "exception"') + print(cli_query_output) - # Assert query result is as expected. - num_hits = len(json.loads(cli_query_output)["hits"]) - assert num_hits == 3, f"cli_query_output contains unexpected number of results: {num_hits}" + # Assert query result is as expected. + num_hits = len(json.loads(cli_query_output)["hits"]) + assert num_hits == 3, f"cli_query_output contains unexpected number of results: {num_hits}" - # Test API query - api_query_output = machine.succeed('curl --fail http://127.0.0.1:7280/api/v1/example_server_logs/search?query=exception') - print(api_query_output) + # Test API query + api_query_output = machine.succeed('curl --fail http://127.0.0.1:7280/api/v1/example_server_logs/search?query=exception') + print(api_query_output) - quickwit.log(quickwit.succeed( - "systemd-analyze security quickwit.service | grep -v '✓'" - )) - ''; -}) + quickwit.log(quickwit.succeed( + "systemd-analyze security quickwit.service | grep -v '✓'" + )) + ''; + } +) diff --git a/nixos/tests/quorum.nix b/nixos/tests/quorum.nix index dd0d1540e8455..1a38ad4346585 100644 --- a/nixos/tests/quorum.nix +++ b/nixos/tests/quorum.nix @@ -1,103 +1,105 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - keystore = { - address = "9377bc3936de934c497e22917b81aa8774ac3bb0"; - crypto = { - cipher = "aes-128-ctr"; - ciphertext = "ad8341d8ef225650403fd366c955f41095e438dd966a3c84b3d406818c1e366c"; - cipherparams = { - iv = "2a09f7a72fd6dff7c43150ff437e6ac2"; +import ./make-test-python.nix ( + { pkgs, ... }: + let + keystore = { + address = "9377bc3936de934c497e22917b81aa8774ac3bb0"; + crypto = { + cipher = "aes-128-ctr"; + ciphertext = "ad8341d8ef225650403fd366c955f41095e438dd966a3c84b3d406818c1e366c"; + cipherparams = { + iv = "2a09f7a72fd6dff7c43150ff437e6ac2"; + }; + kdf = "scrypt"; + kdfparams = { + dklen = 32; + n = 262144; + p = 1; + r = 8; + salt = "d1a153845bb80cd6274c87c5bac8ac09fdfac5ff131a6f41b5ed319667f12027"; + }; + mac = "a9621ad88fa1d042acca6fc2fcd711f7e05bfbadea3f30f379235570c8e270d3"; }; - kdf = "scrypt"; - kdfparams = { - dklen = 32; - n = 262144; - p = 1; - r = 8; - salt = "d1a153845bb80cd6274c87c5bac8ac09fdfac5ff131a6f41b5ed319667f12027"; - }; - mac = "a9621ad88fa1d042acca6fc2fcd711f7e05bfbadea3f30f379235570c8e270d3"; + id = "89e847a3-1527-42f6-a321-77de0a14ce02"; + version = 3; + }; + keystore-file = pkgs.writeText "keystore-file" (builtins.toJSON keystore); + in + { + name = "quorum"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mmahut ]; }; - id = "89e847a3-1527-42f6-a321-77de0a14ce02"; - version = 3; - }; - keystore-file = pkgs.writeText "keystore-file" (builtins.toJSON keystore); -in -{ - name = "quorum"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mmahut ]; - }; - nodes = { - machine = { ... }: { - services.quorum = { - enable = true; - permissioned = false; - staticNodes = [ "enode://dd333ec28f0a8910c92eb4d336461eea1c20803eed9cf2c056557f986e720f8e693605bba2f4e8f289b1162e5ac7c80c914c7178130711e393ca76abc1d92f57@0.0.0.0:30303?discport=0" ]; - genesis = { - alloc = { - "189d23d201b03ae1cf9113672df29a5d672aefa3" = { - balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; - }; - "44b07d2c28b8ed8f02b45bd84ac7d9051b3349e6" = { - balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; - }; - "4c1ccd426833b9782729a212c857f2f03b7b4c0d" = { - balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; - }; - "7ae555d0f6faad7930434abdaac2274fd86ab516" = { - balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; - }; - c1056df7c02b6f1a353052eaf0533cc7cb743b52 = { - balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; - }; - }; - coinbase = "0x0000000000000000000000000000000000000000"; - config = { - byzantiumBlock = 1; - chainId = 10; - eip150Block = 1; - eip150Hash = - "0x0000000000000000000000000000000000000000000000000000000000000000"; - eip155Block = 1; - eip158Block = 1; - homesteadBlock = 1; - isQuorum = true; - istanbul = { - epoch = 30000; - policy = 0; + nodes = { + machine = + { ... }: + { + services.quorum = { + enable = true; + permissioned = false; + staticNodes = [ + "enode://dd333ec28f0a8910c92eb4d336461eea1c20803eed9cf2c056557f986e720f8e693605bba2f4e8f289b1162e5ac7c80c914c7178130711e393ca76abc1d92f57@0.0.0.0:30303?discport=0" + ]; + genesis = { + alloc = { + "189d23d201b03ae1cf9113672df29a5d672aefa3" = { + balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; + }; + "44b07d2c28b8ed8f02b45bd84ac7d9051b3349e6" = { + balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; + }; + "4c1ccd426833b9782729a212c857f2f03b7b4c0d" = { + balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; + }; + "7ae555d0f6faad7930434abdaac2274fd86ab516" = { + balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; + }; + c1056df7c02b6f1a353052eaf0533cc7cb743b52 = { + balance = "0x446c3b15f9926687d2c40534fdb564000000000000"; + }; + }; + coinbase = "0x0000000000000000000000000000000000000000"; + config = { + byzantiumBlock = 1; + chainId = 10; + eip150Block = 1; + eip150Hash = "0x0000000000000000000000000000000000000000000000000000000000000000"; + eip155Block = 1; + eip158Block = 1; + homesteadBlock = 1; + isQuorum = true; + istanbul = { + epoch = 30000; + policy = 0; + }; + }; + difficulty = "0x1"; + extraData = "0x0000000000000000000000000000000000000000000000000000000000000000f8aff869944c1ccd426833b9782729a212c857f2f03b7b4c0d94189d23d201b03ae1cf9113672df29a5d672aefa39444b07d2c28b8ed8f02b45bd84ac7d9051b3349e694c1056df7c02b6f1a353052eaf0533cc7cb743b52947ae555d0f6faad7930434abdaac2274fd86ab516b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0"; + gasLimit = "0xe0000000"; + gasUsed = "0x0"; + mixHash = "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365"; + nonce = "0x0"; + number = "0x0"; + parentHash = "0x0000000000000000000000000000000000000000000000000000000000000000"; + timestamp = "0x5cffc201"; }; }; - difficulty = "0x1"; - extraData = - "0x0000000000000000000000000000000000000000000000000000000000000000f8aff869944c1ccd426833b9782729a212c857f2f03b7b4c0d94189d23d201b03ae1cf9113672df29a5d672aefa39444b07d2c28b8ed8f02b45bd84ac7d9051b3349e694c1056df7c02b6f1a353052eaf0533cc7cb743b52947ae555d0f6faad7930434abdaac2274fd86ab516b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0"; - gasLimit = "0xe0000000"; - gasUsed = "0x0"; - mixHash = - "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365"; - nonce = "0x0"; - number = "0x0"; - parentHash = - "0x0000000000000000000000000000000000000000000000000000000000000000"; - timestamp = "0x5cffc201"; - }; - }; + }; }; - }; - testScript = '' - start_all() - machine.succeed("mkdir -p /var/lib/quorum/keystore") - machine.succeed( - 'cp ${keystore-file} /var/lib/quorum/keystore/UTC--2020-03-23T11-08-34.144812212Z--${keystore.address}' - ) - machine.succeed( - "echo fe2725c4e8f7617764b845e8d939a65c664e7956eb47ed7d934573f16488efc1 > /var/lib/quorum/nodekey" - ) - machine.succeed("systemctl restart quorum") - machine.wait_for_unit("quorum.service") - machine.sleep(15) - machine.succeed('geth attach /var/lib/quorum/geth.ipc --exec "eth.accounts" | grep ${keystore.address}') - ''; -}) + testScript = '' + start_all() + machine.succeed("mkdir -p /var/lib/quorum/keystore") + machine.succeed( + 'cp ${keystore-file} /var/lib/quorum/keystore/UTC--2020-03-23T11-08-34.144812212Z--${keystore.address}' + ) + machine.succeed( + "echo fe2725c4e8f7617764b845e8d939a65c664e7956eb47ed7d934573f16488efc1 > /var/lib/quorum/nodekey" + ) + machine.succeed("systemctl restart quorum") + machine.wait_for_unit("quorum.service") + machine.sleep(15) + machine.succeed('geth attach /var/lib/quorum/geth.ipc --exec "eth.accounts" | grep ${keystore.address}') + ''; + } +) diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix index 4b8921662b7f4..52513b424bb4a 100644 --- a/nixos/tests/rabbitmq.nix +++ b/nixos/tests/rabbitmq.nix @@ -1,61 +1,63 @@ # This test runs rabbitmq and checks if rabbitmq is up and running. -import ./make-test-python.nix ({ pkgs, ... }: -let - # in real life, you would keep this out of your repo and deploy it to a safe - # location using safe means. - configKeyPath = pkgs.writeText "fake-config-key" "hOjWzSEn2Z7cHzKOcf6i183O2NdjurSuoMDIIv01"; -in -{ - name = "rabbitmq"; - meta = with pkgs.lib.maintainers; { - maintainers = [ offline ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + # in real life, you would keep this out of your repo and deploy it to a safe + # location using safe means. + configKeyPath = pkgs.writeText "fake-config-key" "hOjWzSEn2Z7cHzKOcf6i183O2NdjurSuoMDIIv01"; + in + { + name = "rabbitmq"; + meta = with pkgs.lib.maintainers; { + maintainers = [ offline ]; + }; - nodes.machine = { - services.rabbitmq = { - enable = true; - managementPlugin.enable = true; + nodes.machine = { + services.rabbitmq = { + enable = true; + managementPlugin.enable = true; - # To encrypt: - # rabbitmqctl --quiet encode --cipher blowfish_cfb64 --hash sha256 \ - # --iterations 10000 '<<"dJT8isYu6t0Xb6u56rPglSj1vK51SlNVlXfwsRxw">>' \ - # "hOjWzSEn2Z7cHzKOcf6i183O2NdjurSuoMDIIv01" ; - config = '' - [ { rabbit - , [ {default_user, <<"alice">>} - , { default_pass - , {encrypted,<<"oKKxyTze9PYmsEfl6FG1MxIUhxY7WPQL7HBoMPRC/1ZOdOZbtr9+DxjWW3e1D5SL48n3D9QOsGD0cOgYG7Qdvb7Txrepw8w=">>} - } - , {config_entry_decoder - , [ {passphrase, {file, <<"${configKeyPath}">>}} - , {cipher, blowfish_cfb64} - , {hash, sha256} - , {iterations, 10000} - ] - } - % , {rabbitmq_management, [{path_prefix, "/_queues"}]} - ] - } - ]. - ''; + # To encrypt: + # rabbitmqctl --quiet encode --cipher blowfish_cfb64 --hash sha256 \ + # --iterations 10000 '<<"dJT8isYu6t0Xb6u56rPglSj1vK51SlNVlXfwsRxw">>' \ + # "hOjWzSEn2Z7cHzKOcf6i183O2NdjurSuoMDIIv01" ; + config = '' + [ { rabbit + , [ {default_user, <<"alice">>} + , { default_pass + , {encrypted,<<"oKKxyTze9PYmsEfl6FG1MxIUhxY7WPQL7HBoMPRC/1ZOdOZbtr9+DxjWW3e1D5SL48n3D9QOsGD0cOgYG7Qdvb7Txrepw8w=">>} + } + , {config_entry_decoder + , [ {passphrase, {file, <<"${configKeyPath}">>}} + , {cipher, blowfish_cfb64} + , {hash, sha256} + , {iterations, 10000} + ] + } + % , {rabbitmq_management, [{path_prefix, "/_queues"}]} + ] + } + ]. + ''; + }; + # Ensure there is sufficient extra disk space for rabbitmq to be happy + virtualisation.diskSize = 1024; }; - # Ensure there is sufficient extra disk space for rabbitmq to be happy - virtualisation.diskSize = 1024; - }; - testScript = '' - machine.start() + testScript = '' + machine.start() - machine.wait_for_unit("rabbitmq.service") - machine.wait_until_succeeds( - 'su -s ${pkgs.runtimeShell} rabbitmq -c "rabbitmqctl status"' - ) - machine.wait_for_open_port(15672) + machine.wait_for_unit("rabbitmq.service") + machine.wait_until_succeeds( + 'su -s ${pkgs.runtimeShell} rabbitmq -c "rabbitmqctl status"' + ) + machine.wait_for_open_port(15672) - # The password is the plaintext that was encrypted with rabbitmqctl encode above. - machine.wait_until_succeeds( - '${pkgs.rabbitmq-java-client}/bin/PerfTest --time 10 --uri amqp://alice:dJT8isYu6t0Xb6u56rPglSj1vK51SlNVlXfwsRxw@localhost' - ) - ''; -}) + # The password is the plaintext that was encrypted with rabbitmqctl encode above. + machine.wait_until_succeeds( + '${pkgs.rabbitmq-java-client}/bin/PerfTest --time 10 --uri amqp://alice:dJT8isYu6t0Xb6u56rPglSj1vK51SlNVlXfwsRxw@localhost' + ) + ''; + } +) diff --git a/nixos/tests/radarr.nix b/nixos/tests/radarr.nix index bf9eb11c2b126..ac093beeb7909 100644 --- a/nixos/tests/radarr.nix +++ b/nixos/tests/radarr.nix @@ -1,16 +1,20 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "radarr"; - meta.maintainers = with lib.maintainers; [ etu ]; + { + name = "radarr"; + meta.maintainers = with lib.maintainers; [ etu ]; - nodes.machine = - { pkgs, ... }: - { services.radarr.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.radarr.enable = true; + }; - testScript = '' - machine.wait_for_unit("radarr.service") - machine.wait_for_open_port(7878) - machine.succeed("curl --fail http://localhost:7878/") - ''; -}) + testScript = '' + machine.wait_for_unit("radarr.service") + machine.wait_for_open_port(7878) + machine.succeed("curl --fail http://localhost:7878/") + ''; + } +) diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix index 868b28085a675..96c17a657b3af 100644 --- a/nixos/tests/radicale.nix +++ b/nixos/tests/radicale.nix @@ -1,95 +1,100 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: -let - user = "someuser"; - password = "some_password"; - port = "5232"; - filesystem_folder = "/data/radicale"; + let + user = "someuser"; + password = "some_password"; + port = "5232"; + filesystem_folder = "/data/radicale"; - cli = "${lib.getExe pkgs.calendar-cli} --caldav-user ${user} --caldav-pass ${password}"; -in { - name = "radicale3"; - meta.maintainers = with lib.maintainers; [ dotlambda ]; + cli = "${lib.getExe pkgs.calendar-cli} --caldav-user ${user} --caldav-pass ${password}"; + in + { + name = "radicale3"; + meta.maintainers = with lib.maintainers; [ dotlambda ]; - nodes.machine = { pkgs, ... }: { - services.radicale = { - enable = true; - settings = { - auth = { - type = "htpasswd"; - htpasswd_filename = "/etc/radicale/users"; - htpasswd_encryption = "bcrypt"; - }; - storage = { - inherit filesystem_folder; - hook = "git add -A && (git diff --cached --quiet || git commit -m 'Changes by '%(user)s)"; - }; - logging.level = "info"; - }; - rights = { - principal = { - user = ".+"; - collection = "{user}"; - permissions = "RW"; - }; - calendars = { - user = ".+"; - collection = "{user}/[^/]+"; - permissions = "rw"; + nodes.machine = + { pkgs, ... }: + { + services.radicale = { + enable = true; + settings = { + auth = { + type = "htpasswd"; + htpasswd_filename = "/etc/radicale/users"; + htpasswd_encryption = "bcrypt"; + }; + storage = { + inherit filesystem_folder; + hook = "git add -A && (git diff --cached --quiet || git commit -m 'Changes by '%(user)s)"; + }; + logging.level = "info"; + }; + rights = { + principal = { + user = ".+"; + collection = "{user}"; + permissions = "RW"; + }; + calendars = { + user = ".+"; + collection = "{user}/[^/]+"; + permissions = "rw"; + }; + }; }; + systemd.services.radicale.path = [ pkgs.git ]; + environment.systemPackages = [ pkgs.git ]; + systemd.tmpfiles.rules = [ "d ${filesystem_folder} 0750 radicale radicale -" ]; + # WARNING: DON'T DO THIS IN PRODUCTION! + # This puts unhashed secrets directly into the Nix store for ease of testing. + environment.etc."radicale/users".source = pkgs.runCommand "htpasswd" { } '' + ${pkgs.apacheHttpd}/bin/htpasswd -bcB "$out" ${user} ${password} + ''; }; - }; - systemd.services.radicale.path = [ pkgs.git ]; - environment.systemPackages = [ pkgs.git ]; - systemd.tmpfiles.rules = [ "d ${filesystem_folder} 0750 radicale radicale -" ]; - # WARNING: DON'T DO THIS IN PRODUCTION! - # This puts unhashed secrets directly into the Nix store for ease of testing. - environment.etc."radicale/users".source = pkgs.runCommand "htpasswd" {} '' - ${pkgs.apacheHttpd}/bin/htpasswd -bcB "$out" ${user} ${password} - ''; - }; - testScript = '' - machine.wait_for_unit("radicale.service") - machine.wait_for_open_port(${port}) + testScript = '' + machine.wait_for_unit("radicale.service") + machine.wait_for_open_port(${port}) - machine.succeed("sudo -u radicale git -C ${filesystem_folder} init") - machine.succeed( - "sudo -u radicale git -C ${filesystem_folder} config --local user.email radicale@example.com" - ) - machine.succeed( - "sudo -u radicale git -C ${filesystem_folder} config --local user.name radicale" - ) + machine.succeed("sudo -u radicale git -C ${filesystem_folder} init") + machine.succeed( + "sudo -u radicale git -C ${filesystem_folder} config --local user.email radicale@example.com" + ) + machine.succeed( + "sudo -u radicale git -C ${filesystem_folder} config --local user.name radicale" + ) - with subtest("Test calendar and event creation"): - machine.succeed( - "${cli} --caldav-url http://localhost:${port}/${user} calendar create cal" - ) - machine.succeed("test -d ${filesystem_folder}/collection-root/${user}/cal") - machine.succeed('test -z "$(ls ${filesystem_folder}/collection-root/${user}/cal)"') - machine.succeed( - "${cli} --caldav-url http://localhost:${port}/${user}/cal calendar add 2021-04-23 testevent" - ) - machine.succeed('test -n "$(ls ${filesystem_folder}/collection-root/${user}/cal)"') - (status, stdout) = machine.execute( - "sudo -u radicale git -C ${filesystem_folder} log --format=oneline | wc -l" - ) - assert status == 0, "git log failed" - assert stdout == "3\n", "there should be exactly 3 commits" + with subtest("Test calendar and event creation"): + machine.succeed( + "${cli} --caldav-url http://localhost:${port}/${user} calendar create cal" + ) + machine.succeed("test -d ${filesystem_folder}/collection-root/${user}/cal") + machine.succeed('test -z "$(ls ${filesystem_folder}/collection-root/${user}/cal)"') + machine.succeed( + "${cli} --caldav-url http://localhost:${port}/${user}/cal calendar add 2021-04-23 testevent" + ) + machine.succeed('test -n "$(ls ${filesystem_folder}/collection-root/${user}/cal)"') + (status, stdout) = machine.execute( + "sudo -u radicale git -C ${filesystem_folder} log --format=oneline | wc -l" + ) + assert status == 0, "git log failed" + assert stdout == "3\n", "there should be exactly 3 commits" - with subtest("Test rights file"): - machine.fail( - "${cli} --caldav-url http://localhost:${port}/${user} calendar create sub/cal" - ) - machine.fail( - "${cli} --caldav-url http://localhost:${port}/otheruser calendar create cal" - ) + with subtest("Test rights file"): + machine.fail( + "${cli} --caldav-url http://localhost:${port}/${user} calendar create sub/cal" + ) + machine.fail( + "${cli} --caldav-url http://localhost:${port}/otheruser calendar create cal" + ) - with subtest("Test web interface"): - machine.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/") + with subtest("Test web interface"): + machine.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/") - with subtest("Test security"): - output = machine.succeed("systemd-analyze security radicale.service") - machine.log(output) - assert output[-9:-1] == "SAFE :-}" - ''; -}) + with subtest("Test security"): + output = machine.succeed("systemd-analyze security radicale.service") + machine.log(output) + assert output[-9:-1] == "SAFE :-}" + ''; + } +) diff --git a/nixos/tests/radicle.nix b/nixos/tests/radicle.nix index b68cb7d716c23..397a3b5a7b8f1 100644 --- a/nixos/tests/radicle.nix +++ b/nixos/tests/radicle.nix @@ -10,43 +10,54 @@ let seed-ssh-keys = import ./ssh-keys.nix pkgs; seed-tls-certs = import common/acme/server/snakeoil-certs.nix; - commonHostConfig = { nodes, config, pkgs, ... }: { - environment.systemPackages = [ - config.services.radicle.package - pkgs.curl - pkgs.gitMinimal - pkgs.jq - ]; - environment.etc."gitconfig".text = '' - [init] - defaultBranch = main - [user] - email = root@${config.networking.hostName} - name = ${config.networking.hostName} - ''; - networking = { - extraHosts = '' - ${nodes.seed.networking.primaryIPAddress} ${nodes.seed.services.radicle.httpd.nginx.serverName} + commonHostConfig = + { + nodes, + config, + pkgs, + ... + }: + { + environment.systemPackages = [ + config.services.radicle.package + pkgs.curl + pkgs.gitMinimal + pkgs.jq + ]; + environment.etc."gitconfig".text = '' + [init] + defaultBranch = main + [user] + email = root@${config.networking.hostName} + name = ${config.networking.hostName} ''; + networking = { + extraHosts = '' + ${nodes.seed.networking.primaryIPAddress} ${nodes.seed.services.radicle.httpd.nginx.serverName} + ''; + }; + security.pki.certificateFiles = [ + seed-tls-certs.ca.cert + ]; }; - security.pki.certificateFiles = [ - seed-tls-certs.ca.cert - ]; - }; - radicleConfig = { nodes, ... }: alias: - pkgs.writeText "config.json" (builtins.toJSON { - preferredSeeds = [ - "${seed-nid}@seed:${toString nodes.seed.services.radicle.node.listenPort}" - ]; - node = { - inherit alias; - relay = "never"; - seedingPolicy = { - default = "block"; + radicleConfig = + { nodes, ... }: + alias: + pkgs.writeText "config.json" ( + builtins.toJSON { + preferredSeeds = [ + "${seed-nid}@seed:${toString nodes.seed.services.radicle.node.listenPort}" + ]; + node = { + inherit alias; + relay = "never"; + seedingPolicy = { + default = "block"; + }; }; - }; - }); + } + ); in { @@ -60,43 +71,45 @@ in }; nodes = { - seed = { pkgs, config, ... }: { - imports = [ commonHostConfig ]; + seed = + { pkgs, config, ... }: + { + imports = [ commonHostConfig ]; - services.radicle = { - enable = true; - privateKeyFile = seed-ssh-keys.snakeOilEd25519PrivateKey; - publicKey = seed-ssh-keys.snakeOilEd25519PublicKey; - node = { - openFirewall = true; - }; - httpd = { + services.radicle = { enable = true; - nginx = { - serverName = seed-tls-certs.domain; - addSSL = true; - sslCertificate = seed-tls-certs.${seed-tls-certs.domain}.cert; - sslCertificateKey = seed-tls-certs.${seed-tls-certs.domain}.key; - }; - }; - settings = { - preferredSeeds = []; + privateKeyFile = seed-ssh-keys.snakeOilEd25519PrivateKey; + publicKey = seed-ssh-keys.snakeOilEd25519PublicKey; node = { - relay = "always"; - seedingPolicy = { - default = "allow"; - scope = "all"; + openFirewall = true; + }; + httpd = { + enable = true; + nginx = { + serverName = seed-tls-certs.domain; + addSSL = true; + sslCertificate = seed-tls-certs.${seed-tls-certs.domain}.cert; + sslCertificateKey = seed-tls-certs.${seed-tls-certs.domain}.key; + }; + }; + settings = { + preferredSeeds = [ ]; + node = { + relay = "always"; + seedingPolicy = { + default = "allow"; + scope = "all"; + }; }; }; }; - }; - services.nginx = { - enable = true; - }; + services.nginx = { + enable = true; + }; - networking.firewall.allowedTCPPorts = [ 443 ]; - }; + networking.firewall.allowedTCPPorts = [ 443 ]; + }; alice = { imports = [ commonHostConfig ]; @@ -107,101 +120,103 @@ in }; }; - testScript = { nodes, ... }@args: '' - start_all() - - with subtest("seed can run radicle-node"): - # The threshold and/or hardening may have to be changed with new features/checks - print(seed.succeed("systemd-analyze security radicle-node.service --threshold=10 --no-pager")) - seed.wait_for_unit("radicle-node.service") - seed.wait_for_open_port(${toString nodes.seed.services.radicle.node.listenPort}) - - with subtest("seed can run radicle-httpd"): - # The threshold and/or hardening may have to be changed with new features/checks - print(seed.succeed("systemd-analyze security radicle-httpd.service --threshold=10 --no-pager")) - seed.wait_for_unit("radicle-httpd.service") - seed.wait_for_open_port(${toString nodes.seed.services.radicle.httpd.listenPort}) - seed.wait_for_open_port(443) - assert alice.succeed("curl -sS 'https://${nodes.seed.services.radicle.httpd.nginx.serverName}/api/v1' | jq -r .nid") == "${seed-nid}\n" - assert bob.succeed("curl -sS 'https://${nodes.seed.services.radicle.httpd.nginx.serverName}/api/v1' | jq -r .nid") == "${seed-nid}\n" - - with subtest("alice can create a Node ID"): - alice.succeed("rad auth --alias alice --stdin /tmp/repo/testfile", - "git -C /tmp/repo add .", - "git -C /tmp/repo commit -m init" - ) - with subtest("alice can create a Repository ID"): - alice.succeed( - "cd /tmp/repo && rad init --name repo --description descr --default-branch main --public" - ) - alice_repo_rid=alice.succeed("cd /tmp/repo && rad inspect --rid").rstrip("\n") - with subtest("alice can send a repository to the seed"): - alice.succeed(f"rad sync --seed ${seed-nid} {alice_repo_rid}") - - with subtest(f"seed can receive the repository {alice_repo_rid}"): - seed.wait_until_succeeds("test 1 = \"$(rad-system stats | jq .local.repos)\"") - - with subtest("bob can create a Node ID"): - bob.succeed("rad auth --alias bob --stdin /tmp/repo/testfile", - "git -C /tmp/repo add .", - "git -C /tmp/repo commit -m 'hello to bob'", - "git -C /tmp/repo push rad main" - ) - with subtest("bob can sync bob's repository from the seed"): - bob.succeed( - "cd /tmp/repo && rad sync --seed ${seed-nid}", - "cd /tmp/repo && git pull" - ) - assert bob.succeed("cat /tmp/repo/testfile") == "hello bob\n" - - with subtest("bob can push a patch"): - bob.succeed( - "echo hello alice > /tmp/repo/testfile", - "git -C /tmp/repo checkout -b for-alice", - "git -C /tmp/repo add .", - "git -C /tmp/repo commit -m 'hello to alice'", - "git -C /tmp/repo push -o patch.message='hello for alice' rad HEAD:refs/patches" - ) - - bob_repo_patch1_pid=bob.succeed("cd /tmp/repo && git branch --remotes | sed -ne 's:^ *rad/patches/::'p").rstrip("\n") - with subtest("alice can receive the patch"): - alice.wait_until_succeeds("test 1 = \"$(rad stats | jq .local.patches)\"") - alice.succeed( - f"cd /tmp/repo && rad patch show {bob_repo_patch1_pid} | grep 'opened by bob'", - f"cd /tmp/repo && rad patch checkout {bob_repo_patch1_pid}" - ) - assert alice.succeed("cat /tmp/repo/testfile") == "hello alice\n" - with subtest("alice can comment the patch"): - alice.succeed( - f"cd /tmp/repo && rad patch comment {bob_repo_patch1_pid} -m thank-you" - ) - with subtest("alice can merge the patch"): - alice.succeed( - "git -C /tmp/repo checkout main", - f"git -C /tmp/repo merge patch/{bob_repo_patch1_pid[:7]}", - "git -C /tmp/repo push rad main", - "cd /tmp/repo && rad patch list | grep -qxF 'Nothing to show.'" - ) - ''; + testScript = + { nodes, ... }@args: + '' + start_all() + + with subtest("seed can run radicle-node"): + # The threshold and/or hardening may have to be changed with new features/checks + print(seed.succeed("systemd-analyze security radicle-node.service --threshold=10 --no-pager")) + seed.wait_for_unit("radicle-node.service") + seed.wait_for_open_port(${toString nodes.seed.services.radicle.node.listenPort}) + + with subtest("seed can run radicle-httpd"): + # The threshold and/or hardening may have to be changed with new features/checks + print(seed.succeed("systemd-analyze security radicle-httpd.service --threshold=10 --no-pager")) + seed.wait_for_unit("radicle-httpd.service") + seed.wait_for_open_port(${toString nodes.seed.services.radicle.httpd.listenPort}) + seed.wait_for_open_port(443) + assert alice.succeed("curl -sS 'https://${nodes.seed.services.radicle.httpd.nginx.serverName}/api/v1' | jq -r .nid") == "${seed-nid}\n" + assert bob.succeed("curl -sS 'https://${nodes.seed.services.radicle.httpd.nginx.serverName}/api/v1' | jq -r .nid") == "${seed-nid}\n" + + with subtest("alice can create a Node ID"): + alice.succeed("rad auth --alias alice --stdin /tmp/repo/testfile", + "git -C /tmp/repo add .", + "git -C /tmp/repo commit -m init" + ) + with subtest("alice can create a Repository ID"): + alice.succeed( + "cd /tmp/repo && rad init --name repo --description descr --default-branch main --public" + ) + alice_repo_rid=alice.succeed("cd /tmp/repo && rad inspect --rid").rstrip("\n") + with subtest("alice can send a repository to the seed"): + alice.succeed(f"rad sync --seed ${seed-nid} {alice_repo_rid}") + + with subtest(f"seed can receive the repository {alice_repo_rid}"): + seed.wait_until_succeeds("test 1 = \"$(rad-system stats | jq .local.repos)\"") + + with subtest("bob can create a Node ID"): + bob.succeed("rad auth --alias bob --stdin /tmp/repo/testfile", + "git -C /tmp/repo add .", + "git -C /tmp/repo commit -m 'hello to bob'", + "git -C /tmp/repo push rad main" + ) + with subtest("bob can sync bob's repository from the seed"): + bob.succeed( + "cd /tmp/repo && rad sync --seed ${seed-nid}", + "cd /tmp/repo && git pull" + ) + assert bob.succeed("cat /tmp/repo/testfile") == "hello bob\n" + + with subtest("bob can push a patch"): + bob.succeed( + "echo hello alice > /tmp/repo/testfile", + "git -C /tmp/repo checkout -b for-alice", + "git -C /tmp/repo add .", + "git -C /tmp/repo commit -m 'hello to alice'", + "git -C /tmp/repo push -o patch.message='hello for alice' rad HEAD:refs/patches" + ) + + bob_repo_patch1_pid=bob.succeed("cd /tmp/repo && git branch --remotes | sed -ne 's:^ *rad/patches/::'p").rstrip("\n") + with subtest("alice can receive the patch"): + alice.wait_until_succeeds("test 1 = \"$(rad stats | jq .local.patches)\"") + alice.succeed( + f"cd /tmp/repo && rad patch show {bob_repo_patch1_pid} | grep 'opened by bob'", + f"cd /tmp/repo && rad patch checkout {bob_repo_patch1_pid}" + ) + assert alice.succeed("cat /tmp/repo/testfile") == "hello alice\n" + with subtest("alice can comment the patch"): + alice.succeed( + f"cd /tmp/repo && rad patch comment {bob_repo_patch1_pid} -m thank-you" + ) + with subtest("alice can merge the patch"): + alice.succeed( + "git -C /tmp/repo checkout main", + f"git -C /tmp/repo merge patch/{bob_repo_patch1_pid[:7]}", + "git -C /tmp/repo push rad main", + "cd /tmp/repo && rad patch list | grep -qxF 'Nothing to show.'" + ) + ''; } diff --git a/nixos/tests/ragnarwm.nix b/nixos/tests/ragnarwm.nix index 6dc08a805ab12..d944fac4b910c 100644 --- a/nixos/tests/ragnarwm.nix +++ b/nixos/tests/ragnarwm.nix @@ -1,32 +1,40 @@ -import ./make-test-python.nix ({ lib, ...} : { - name = "ragnarwm"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "ragnarwm"; - meta = { - maintainers = with lib.maintainers; [ sigmanificient ]; - }; + meta = { + maintainers = with lib.maintainers; [ sigmanificient ]; + }; - nodes.machine = { pkgs, lib, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = lib.mkForce "ragnar"; - services.xserver.windowManager.ragnarwm.enable = true; + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = lib.mkForce "ragnar"; + services.xserver.windowManager.ragnarwm.enable = true; - # Setup the default terminal of Ragnar - environment.systemPackages = [ pkgs.alacritty ]; - }; + # Setup the default terminal of Ragnar + environment.systemPackages = [ pkgs.alacritty ]; + }; - testScript = '' - with subtest("ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("/home/alice/.Xauthority") - machine.succeed("xauth merge ~alice/.Xauthority") + testScript = '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") - with subtest("ensure we can open a new terminal"): - # Sleeping a bit before the test, as it may help for sending keys - machine.sleep(2) - machine.send_key("meta_l-ret") - machine.wait_for_window(r"alice.*?machine") - machine.sleep(2) - machine.screenshot("terminal") - ''; -}) + with subtest("ensure we can open a new terminal"): + # Sleeping a bit before the test, as it may help for sending keys + machine.sleep(2) + machine.send_key("meta_l-ret") + machine.wait_for_window(r"alice.*?machine") + machine.sleep(2) + machine.screenshot("terminal") + ''; + } +) diff --git a/nixos/tests/rasdaemon.nix b/nixos/tests/rasdaemon.nix index 7f30a3b81ab55..7eeb8b0aa6a13 100644 --- a/nixos/tests/rasdaemon.nix +++ b/nixos/tests/rasdaemon.nix @@ -1,27 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... } : { - name = "rasdaemon"; - meta = with pkgs.lib.maintainers; { - maintainers = [ evils ]; - }; - - nodes.machine = { pkgs, ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - hardware.rasdaemon = { - enable = true; - # should be enabled by default, just making sure - record = true; - # nonsense label - labels = '' - vendor: none - product: none - model: none - DIMM_0: 0.0.0; - ''; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "rasdaemon"; + meta = with pkgs.lib.maintainers; { + maintainers = [ evils ]; }; - }; - testScript = - '' + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + hardware.rasdaemon = { + enable = true; + # should be enabled by default, just making sure + record = true; + # nonsense label + labels = '' + vendor: none + product: none + model: none + DIMM_0: 0.0.0; + ''; + }; + }; + + testScript = '' start_all() machine.wait_for_unit("multi-user.target") # confirm rasdaemon is running and has a valid database @@ -31,4 +34,5 @@ import ./make-test-python.nix ({ pkgs, ... } : { machine.succeed("grep -q 'vendor: none' /etc/ras/dimm_labels.d/labels >&2") machine.shutdown() ''; -}) + } +) diff --git a/nixos/tests/readarr.nix b/nixos/tests/readarr.nix index 7c144e2ee02f5..d6d5fdd586b5a 100644 --- a/nixos/tests/readarr.nix +++ b/nixos/tests/readarr.nix @@ -1,14 +1,19 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "readarr"; - meta.maintainers = with lib.maintainers; [ jocelynthode ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "readarr"; + meta.maintainers = with lib.maintainers; [ jocelynthode ]; - nodes.machine = - { pkgs, ... }: - { services.readarr.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.readarr.enable = true; + }; - testScript = '' - machine.wait_for_unit("readarr.service") - machine.wait_for_open_port(8787) - machine.succeed("curl --fail http://localhost:8787/") - ''; -}) + testScript = '' + machine.wait_for_unit("readarr.service") + machine.wait_for_open_port(8787) + machine.succeed("curl --fail http://localhost:8787/") + ''; + } +) diff --git a/nixos/tests/realm.nix b/nixos/tests/realm.nix index b39b0e0a161c7..826dab61dbf2e 100644 --- a/nixos/tests/realm.nix +++ b/nixos/tests/realm.nix @@ -1,39 +1,44 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "realm"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "realm"; - meta = { - maintainers = with lib.maintainers; [ ocfox ]; - }; - - nodes.machine = { pkgs, ... }: { - services.nginx = { - enable = true; - statusPage = true; + meta = { + maintainers = with lib.maintainers; [ ocfox ]; }; - # realm need DNS resolv server to run or use config.dns.nameserver - services.resolved.enable = true; - services.realm = { - enable = true; - config = { - endpoints = [ - { - listen = "0.0.0.0:1000"; - remote = "127.0.0.1:80"; - } - ]; + nodes.machine = + { pkgs, ... }: + { + services.nginx = { + enable = true; + statusPage = true; + }; + # realm need DNS resolv server to run or use config.dns.nameserver + services.resolved.enable = true; + + services.realm = { + enable = true; + config = { + endpoints = [ + { + listen = "0.0.0.0:1000"; + remote = "127.0.0.1:80"; + } + ]; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("nginx.service") - machine.wait_for_unit("realm.service") + testScript = '' + machine.wait_for_unit("nginx.service") + machine.wait_for_unit("realm.service") - machine.wait_for_open_port(80) - machine.wait_for_open_port(1000) + machine.wait_for_open_port(80) + machine.wait_for_open_port(1000) - machine.succeed("curl --fail http://localhost:1000/") - ''; + machine.succeed("curl --fail http://localhost:1000/") + ''; -}) + } +) diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix index 16fb2e2c64a61..1a002abfbfff5 100644 --- a/nixos/tests/redmine.nix +++ b/nixos/tests/redmine.nix @@ -1,45 +1,61 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let - redmineTest = { name, type }: makeTest { - name = "redmine-${name}"; - nodes.machine = { config, pkgs, ... }: { - services.redmine = { - enable = true; - package = pkgs.redmine; - database.type = type; - plugins = { - redmine_env_auth = pkgs.fetchurl { - url = "https://github.com/Intera/redmine_env_auth/archive/0.7.zip"; - sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc"; + redmineTest = + { name, type }: + makeTest { + name = "redmine-${name}"; + nodes.machine = + { config, pkgs, ... }: + { + services.redmine = { + enable = true; + package = pkgs.redmine; + database.type = type; + plugins = { + redmine_env_auth = pkgs.fetchurl { + url = "https://github.com/Intera/redmine_env_auth/archive/0.7.zip"; + sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc"; + }; + }; + themes = { + dkuk-redmine_alex_skin = pkgs.fetchurl { + url = "https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip"; + sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl"; + }; + }; }; }; - themes = { - dkuk-redmine_alex_skin = pkgs.fetchurl { - url = "https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip"; - sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl"; - }; - }; - }; - }; - testScript = '' - start_all() - machine.wait_for_unit("redmine.service") - machine.wait_for_open_port(3000) - machine.succeed("curl --fail http://localhost:3000/") - ''; - } // { - meta.maintainers = [ maintainers.aanderse ]; + testScript = '' + start_all() + machine.wait_for_unit("redmine.service") + machine.wait_for_open_port(3000) + machine.succeed("curl --fail http://localhost:3000/") + ''; + } + // { + meta.maintainers = [ maintainers.aanderse ]; + }; +in +{ + sqlite3 = redmineTest { + name = "sqlite3"; + type = "sqlite3"; + }; + mysql = redmineTest { + name = "mysql"; + type = "mysql2"; + }; + pgsql = redmineTest { + name = "pgsql"; + type = "postgresql"; }; -in { - sqlite3 = redmineTest { name = "sqlite3"; type = "sqlite3"; }; - mysql = redmineTest { name = "mysql"; type = "mysql2"; }; - pgsql = redmineTest { name = "pgsql"; type = "postgresql"; }; } diff --git a/nixos/tests/restart-by-activation-script.nix b/nixos/tests/restart-by-activation-script.nix index fdab892b72183..cf89aa341adab 100644 --- a/nixos/tests/restart-by-activation-script.nix +++ b/nixos/tests/restart-by-activation-script.nix @@ -1,75 +1,81 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "restart-by-activation-script"; - meta = with pkgs.lib.maintainers; { - maintainers = [ das_j ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "restart-by-activation-script"; + meta = with pkgs.lib.maintainers; { + maintainers = [ das_j ]; + }; - nodes.machine = { pkgs, ... }: { - imports = [ ../modules/profiles/minimal.nix ]; + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; - system.switch.enable = true; + system.switch.enable = true; - systemd.services.restart-me = { - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.coreutils}/bin/true"; - }; - }; + systemd.services.restart-me = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${pkgs.coreutils}/bin/true"; + }; + }; - systemd.services.reload-me = { - wantedBy = [ "multi-user.target" ]; - serviceConfig = rec { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.coreutils}/bin/true"; - ExecReload = ExecStart; - }; - }; + systemd.services.reload-me = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = rec { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${pkgs.coreutils}/bin/true"; + ExecReload = ExecStart; + }; + }; - system.activationScripts.test = { - supportsDryActivation = true; - text = '' - if [ -e /test-the-activation-script ]; then - if [ "$NIXOS_ACTION" != dry-activate ]; then - touch /activation-was-run - echo restart-me.service > /run/nixos/activation-restart-list - echo reload-me.service > /run/nixos/activation-reload-list - else - echo restart-me.service > /run/nixos/dry-activation-restart-list - echo reload-me.service > /run/nixos/dry-activation-reload-list - fi - fi - ''; - }; - }; + system.activationScripts.test = { + supportsDryActivation = true; + text = '' + if [ -e /test-the-activation-script ]; then + if [ "$NIXOS_ACTION" != dry-activate ]; then + touch /activation-was-run + echo restart-me.service > /run/nixos/activation-restart-list + echo reload-me.service > /run/nixos/activation-reload-list + else + echo restart-me.service > /run/nixos/dry-activation-restart-list + echo reload-me.service > /run/nixos/dry-activation-reload-list + fi + fi + ''; + }; + }; - testScript = /* python */ '' - machine.wait_for_unit("multi-user.target") + testScript = # python + '' + machine.wait_for_unit("multi-user.target") - with subtest("nothing happens when the activation script does nothing"): - out = machine.succeed("/run/current-system/bin/switch-to-configuration dry-activate 2>&1") - assert 'restart' not in out - assert 'reload' not in out - out = machine.succeed("/run/current-system/bin/switch-to-configuration test") - assert 'restart' not in out - assert 'reload' not in out + with subtest("nothing happens when the activation script does nothing"): + out = machine.succeed("/run/current-system/bin/switch-to-configuration dry-activate 2>&1") + assert 'restart' not in out + assert 'reload' not in out + out = machine.succeed("/run/current-system/bin/switch-to-configuration test") + assert 'restart' not in out + assert 'reload' not in out - machine.succeed("touch /test-the-activation-script") + machine.succeed("touch /test-the-activation-script") - with subtest("dry activation"): - out = machine.succeed("/run/current-system/bin/switch-to-configuration dry-activate 2>&1") - assert 'would restart the following units: restart-me.service' in out - assert 'would reload the following units: reload-me.service' in out - machine.fail("test -f /run/nixos/dry-activation-restart-list") - machine.fail("test -f /run/nixos/dry-activation-reload-list") + with subtest("dry activation"): + out = machine.succeed("/run/current-system/bin/switch-to-configuration dry-activate 2>&1") + assert 'would restart the following units: restart-me.service' in out + assert 'would reload the following units: reload-me.service' in out + machine.fail("test -f /run/nixos/dry-activation-restart-list") + machine.fail("test -f /run/nixos/dry-activation-reload-list") - with subtest("real activation"): - out = machine.succeed("/run/current-system/bin/switch-to-configuration test 2>&1") - assert 'restarting the following units: restart-me.service' in out - assert 'reloading the following units: reload-me.service' in out - machine.fail("test -f /run/nixos/activation-restart-list") - machine.fail("test -f /run/nixos/activation-reload-list") - ''; -}) + with subtest("real activation"): + out = machine.succeed("/run/current-system/bin/switch-to-configuration test 2>&1") + assert 'restarting the following units: restart-me.service' in out + assert 'reloading the following units: reload-me.service' in out + machine.fail("test -f /run/nixos/activation-restart-list") + machine.fail("test -f /run/nixos/activation-reload-list") + ''; + } +) diff --git a/nixos/tests/restic-rest-server.nix b/nixos/tests/restic-rest-server.nix index 1d38ddbe513c9..ecca1bf83af3e 100644 --- a/nixos/tests/restic-rest-server.nix +++ b/nixos/tests/restic-rest-server.nix @@ -51,7 +51,14 @@ import ./make-test-python.nix ( server = { services.restic.backups = { remotebackup = { - inherit passwordFile paths exclude pruneOpts backupPrepareCommand backupCleanupCommand; + inherit + passwordFile + paths + exclude + pruneOpts + backupPrepareCommand + backupCleanupCommand + ; repository = remoteRepository; initialize = true; timerConfig = null; # has no effect here, just checking that it doesn't break the service diff --git a/nixos/tests/rke2/default.nix b/nixos/tests/rke2/default.nix index e8a5f382b735f..90415a262acff 100644 --- a/nixos/tests/rke2/default.nix +++ b/nixos/tests/rke2/default.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, pkgs ? import ../../.. { inherit system; } -, lib ? pkgs.lib +{ + system ? builtins.currentSystem, + pkgs ? import ../../.. { inherit system; }, + lib ? pkgs.lib, }: let allRKE2 = lib.filterAttrs (n: _: lib.strings.hasPrefix "rke2" n) pkgs; diff --git a/nixos/tests/rke2/multi-node.nix b/nixos/tests/rke2/multi-node.nix index ddf0b60f6fba4..57447388290b0 100644 --- a/nixos/tests/rke2/multi-node.nix +++ b/nixos/tests/rke2/multi-node.nix @@ -1,13 +1,29 @@ -import ../make-test-python.nix ({ pkgs, lib, rke2, ... }: +import ../make-test-python.nix ( + { + pkgs, + lib, + rke2, + ... + }: let pauseImage = pkgs.dockerTools.streamLayeredImage { name = "test.local/pause"; tag = "local"; contents = pkgs.buildEnv { name = "rke2-pause-image-env"; - paths = with pkgs; [ tini bashInteractive coreutils socat ]; + paths = with pkgs; [ + tini + bashInteractive + coreutils + socat + ]; }; - config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ]; + config.Entrypoint = [ + "/bin/tini" + "--" + "/bin/sleep" + "inf" + ]; }; # A daemonset that responds 'server' on port 8000 networkTestDaemonset = pkgs.writeText "test.yml" '' @@ -43,134 +59,152 @@ import ../make-test-python.nix ({ pkgs, lib, rke2, ... }: meta.maintainers = rke2.meta.maintainers; nodes = { - server1 = { pkgs, ... }: { - networking.firewall.enable = false; - networking.useDHCP = false; - networking.defaultGateway = "192.168.1.1"; - networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; - - virtualisation.memorySize = 1536; - virtualisation.diskSize = 4096; - - services.rke2 = { - enable = true; - role = "server"; - inherit tokenFile; - inherit agentTokenFile; - nodeName = "${rke2.name}-server1"; - package = rke2; - nodeIP = "192.168.1.1"; - disable = [ - "rke2-coredns" - "rke2-metrics-server" - "rke2-ingress-nginx" + server1 = + { pkgs, ... }: + { + networking.firewall.enable = false; + networking.useDHCP = false; + networking.defaultGateway = "192.168.1.1"; + networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ + { + address = "192.168.1.1"; + prefixLength = 24; + } ]; - extraFlags = [ - "--cluster-reset" - ]; - }; - }; - server2 = { pkgs, ... }: { - networking.firewall.enable = false; - networking.useDHCP = false; - networking.defaultGateway = "192.168.1.2"; - networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; + virtualisation.memorySize = 1536; + virtualisation.diskSize = 4096; + + services.rke2 = { + enable = true; + role = "server"; + inherit tokenFile; + inherit agentTokenFile; + nodeName = "${rke2.name}-server1"; + package = rke2; + nodeIP = "192.168.1.1"; + disable = [ + "rke2-coredns" + "rke2-metrics-server" + "rke2-ingress-nginx" + ]; + extraFlags = [ + "--cluster-reset" + ]; + }; + }; - virtualisation.memorySize = 1536; - virtualisation.diskSize = 4096; - - services.rke2 = { - enable = true; - role = "server"; - serverAddr = "https://192.168.1.1:6443"; - inherit tokenFile; - inherit agentTokenFile; - nodeName = "${rke2.name}-server2"; - package = rke2; - nodeIP = "192.168.1.2"; - disable = [ - "rke2-coredns" - "rke2-metrics-server" - "rke2-ingress-nginx" + server2 = + { pkgs, ... }: + { + networking.firewall.enable = false; + networking.useDHCP = false; + networking.defaultGateway = "192.168.1.2"; + networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ + { + address = "192.168.1.2"; + prefixLength = 24; + } ]; + + virtualisation.memorySize = 1536; + virtualisation.diskSize = 4096; + + services.rke2 = { + enable = true; + role = "server"; + serverAddr = "https://192.168.1.1:6443"; + inherit tokenFile; + inherit agentTokenFile; + nodeName = "${rke2.name}-server2"; + package = rke2; + nodeIP = "192.168.1.2"; + disable = [ + "rke2-coredns" + "rke2-metrics-server" + "rke2-ingress-nginx" + ]; + }; }; - }; - agent1 = { pkgs, ... }: { - networking.firewall.enable = false; - networking.useDHCP = false; - networking.defaultGateway = "192.168.1.3"; - networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ - { address = "192.168.1.3"; prefixLength = 24; } - ]; + agent1 = + { pkgs, ... }: + { + networking.firewall.enable = false; + networking.useDHCP = false; + networking.defaultGateway = "192.168.1.3"; + networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ + { + address = "192.168.1.3"; + prefixLength = 24; + } + ]; - virtualisation.memorySize = 1536; - virtualisation.diskSize = 4096; - - services.rke2 = { - enable = true; - role = "agent"; - tokenFile = agentTokenFile; - serverAddr = "https://192.168.1.2:6443"; - nodeName = "${rke2.name}-agent1"; - package = rke2; - nodeIP = "192.168.1.3"; + virtualisation.memorySize = 1536; + virtualisation.diskSize = 4096; + + services.rke2 = { + enable = true; + role = "agent"; + tokenFile = agentTokenFile; + serverAddr = "https://192.168.1.2:6443"; + nodeName = "${rke2.name}-agent1"; + package = rke2; + nodeIP = "192.168.1.3"; + }; }; - }; }; - testScript = let - kubectl = "${pkgs.kubectl}/bin/kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml"; - ctr = "${pkgs.containerd}/bin/ctr -a /run/k3s/containerd/containerd.sock"; - jq = "${pkgs.jq}/bin/jq"; - ping = "${pkgs.iputils}/bin/ping"; - in '' - machines = [server1, server2, agent1] - - for machine in machines: - machine.start() - machine.wait_for_unit("rke2") - - # wait for the agent to show up - server1.succeed("${kubectl} get node ${rke2.name}-agent1") - - for machine in machines: - machine.succeed("${pauseImage} | ${ctr} image import -") - - server1.succeed("${kubectl} cluster-info") - server1.wait_until_succeeds("${kubectl} get serviceaccount default") - - # Now create a pod on each node via a daemonset and verify they can talk to each other. - server1.succeed("${kubectl} apply -f ${networkTestDaemonset}") - server1.wait_until_succeeds( - f'[ "$(${kubectl} get ds test -o json | ${jq} .status.numberReady)" -eq {len(machines)} ]' - ) - - # Get pod IPs - pods = server1.succeed("${kubectl} get po -o json | ${jq} '.items[].metadata.name' -r").splitlines() - pod_ips = [ - server1.succeed(f"${kubectl} get po {n} -o json | ${jq} '.status.podIP' -cr").strip() for n in pods - ] - - # Verify each server can ping each pod ip - for pod_ip in pod_ips: - server1.succeed(f"${ping} -c 1 {pod_ip}") - agent1.succeed(f"${ping} -c 1 {pod_ip}") - - # Verify the pods can talk to each other - resp = server1.wait_until_succeeds(f"${kubectl} exec {pods[0]} -- socat TCP:{pod_ips[1]}:8000 -") - assert resp.strip() == "server" - resp = server1.wait_until_succeeds(f"${kubectl} exec {pods[1]} -- socat TCP:{pod_ips[0]}:8000 -") - assert resp.strip() == "server" - - # Cleanup - server1.succeed("${kubectl} delete -f ${networkTestDaemonset}") - for machine in machines: - machine.shutdown() - ''; - }) + testScript = + let + kubectl = "${pkgs.kubectl}/bin/kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml"; + ctr = "${pkgs.containerd}/bin/ctr -a /run/k3s/containerd/containerd.sock"; + jq = "${pkgs.jq}/bin/jq"; + ping = "${pkgs.iputils}/bin/ping"; + in + '' + machines = [server1, server2, agent1] + + for machine in machines: + machine.start() + machine.wait_for_unit("rke2") + + # wait for the agent to show up + server1.succeed("${kubectl} get node ${rke2.name}-agent1") + + for machine in machines: + machine.succeed("${pauseImage} | ${ctr} image import -") + + server1.succeed("${kubectl} cluster-info") + server1.wait_until_succeeds("${kubectl} get serviceaccount default") + + # Now create a pod on each node via a daemonset and verify they can talk to each other. + server1.succeed("${kubectl} apply -f ${networkTestDaemonset}") + server1.wait_until_succeeds( + f'[ "$(${kubectl} get ds test -o json | ${jq} .status.numberReady)" -eq {len(machines)} ]' + ) + + # Get pod IPs + pods = server1.succeed("${kubectl} get po -o json | ${jq} '.items[].metadata.name' -r").splitlines() + pod_ips = [ + server1.succeed(f"${kubectl} get po {n} -o json | ${jq} '.status.podIP' -cr").strip() for n in pods + ] + + # Verify each server can ping each pod ip + for pod_ip in pod_ips: + server1.succeed(f"${ping} -c 1 {pod_ip}") + agent1.succeed(f"${ping} -c 1 {pod_ip}") + + # Verify the pods can talk to each other + resp = server1.wait_until_succeeds(f"${kubectl} exec {pods[0]} -- socat TCP:{pod_ips[1]}:8000 -") + assert resp.strip() == "server" + resp = server1.wait_until_succeeds(f"${kubectl} exec {pods[1]} -- socat TCP:{pod_ips[0]}:8000 -") + assert resp.strip() == "server" + + # Cleanup + server1.succeed("${kubectl} delete -f ${networkTestDaemonset}") + for machine in machines: + machine.shutdown() + ''; + } +) diff --git a/nixos/tests/rke2/single-node.nix b/nixos/tests/rke2/single-node.nix index 5a512eacca0f1..32a90e17f58fc 100644 --- a/nixos/tests/rke2/single-node.nix +++ b/nixos/tests/rke2/single-node.nix @@ -1,13 +1,28 @@ -import ../make-test-python.nix ({ pkgs, lib, rke2, ... }: +import ../make-test-python.nix ( + { + pkgs, + lib, + rke2, + ... + }: let pauseImage = pkgs.dockerTools.streamLayeredImage { name = "test.local/pause"; tag = "local"; contents = pkgs.buildEnv { name = "rke2-pause-image-env"; - paths = with pkgs; [ tini (hiPrio coreutils) busybox ]; + paths = with pkgs; [ + tini + (hiPrio coreutils) + busybox + ]; }; - config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ]; + config.Entrypoint = [ + "/bin/tini" + "--" + "/bin/sleep" + "inf" + ]; }; testPodYaml = pkgs.writeText "test.yaml" '' apiVersion: v1 @@ -26,50 +41,58 @@ import ../make-test-python.nix ({ pkgs, lib, rke2, ... }: name = "${rke2.name}-single-node"; meta.maintainers = rke2.meta.maintainers; - nodes.machine = { pkgs, ... }: { - networking.firewall.enable = false; - networking.useDHCP = false; - networking.defaultGateway = "192.168.1.1"; - networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; + nodes.machine = + { pkgs, ... }: + { + networking.firewall.enable = false; + networking.useDHCP = false; + networking.defaultGateway = "192.168.1.1"; + networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; - virtualisation.memorySize = 1536; - virtualisation.diskSize = 4096; + virtualisation.memorySize = 1536; + virtualisation.diskSize = 4096; - services.rke2 = { - enable = true; - role = "server"; - package = rke2; - nodeIP = "192.168.1.1"; - disable = [ - "rke2-coredns" - "rke2-metrics-server" - "rke2-ingress-nginx" - ]; - extraFlags = [ - "--cluster-reset" - ]; + services.rke2 = { + enable = true; + role = "server"; + package = rke2; + nodeIP = "192.168.1.1"; + disable = [ + "rke2-coredns" + "rke2-metrics-server" + "rke2-ingress-nginx" + ]; + extraFlags = [ + "--cluster-reset" + ]; + }; }; - }; - testScript = let - kubectl = "${pkgs.kubectl}/bin/kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml"; - ctr = "${pkgs.containerd}/bin/ctr -a /run/k3s/containerd/containerd.sock"; - in '' - start_all() + testScript = + let + kubectl = "${pkgs.kubectl}/bin/kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml"; + ctr = "${pkgs.containerd}/bin/ctr -a /run/k3s/containerd/containerd.sock"; + in + '' + start_all() - machine.wait_for_unit("rke2") - machine.succeed("${kubectl} cluster-info") - machine.wait_until_succeeds( - "${pauseImage} | ${ctr} -n k8s.io image import -" - ) + machine.wait_for_unit("rke2") + machine.succeed("${kubectl} cluster-info") + machine.wait_until_succeeds( + "${pauseImage} | ${ctr} -n k8s.io image import -" + ) - machine.wait_until_succeeds("${kubectl} get serviceaccount default") - machine.succeed("${kubectl} apply -f ${testPodYaml}") - machine.succeed("${kubectl} wait --for 'condition=Ready' pod/test") - machine.succeed("${kubectl} delete -f ${testPodYaml}") + machine.wait_until_succeeds("${kubectl} get serviceaccount default") + machine.succeed("${kubectl} apply -f ${testPodYaml}") + machine.succeed("${kubectl} wait --for 'condition=Ready' pod/test") + machine.succeed("${kubectl} delete -f ${testPodYaml}") - machine.shutdown() - ''; - }) + machine.shutdown() + ''; + } +) diff --git a/nixos/tests/rkvm/default.nix b/nixos/tests/rkvm/default.nix index 22425948d8bf9..3c126f41f9293 100644 --- a/nixos/tests/rkvm/default.nix +++ b/nixos/tests/rkvm/default.nix @@ -1,104 +1,113 @@ -import ../make-test-python.nix ({ pkgs, ... }: -let - # Generated with - # - # nix shell .#rkvm --command "rkvm-certificate-gen --ip-addresses 10.0.0.1 cert.pem key.pem" - # - snakeoil-cert = ./cert.pem; - snakeoil-key = ./key.pem; -in -{ - name = "rkvm"; - - nodes = { - server = { pkgs, ... }: { - imports = [ ../common/user-account.nix ]; - - virtualisation.vlans = [ 1 ]; - - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.1/24"; - }; - - services.getty.autologinUser = "alice"; - - services.rkvm.server = { - enable = true; - settings = { - certificate = snakeoil-cert; - key = snakeoil-key; - password = "snakeoil"; - switch-keys = [ "left-alt" "right-alt" ]; +import ../make-test-python.nix ( + { pkgs, ... }: + let + # Generated with + # + # nix shell .#rkvm --command "rkvm-certificate-gen --ip-addresses 10.0.0.1 cert.pem key.pem" + # + snakeoil-cert = ./cert.pem; + snakeoil-key = ./key.pem; + in + { + name = "rkvm"; + + nodes = { + server = + { pkgs, ... }: + { + imports = [ ../common/user-account.nix ]; + + virtualisation.vlans = [ 1 ]; + + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + }; + + systemd.network.networks."01-eth1" = { + name = "eth1"; + networkConfig.Address = "10.0.0.1/24"; + }; + + services.getty.autologinUser = "alice"; + + services.rkvm.server = { + enable = true; + settings = { + certificate = snakeoil-cert; + key = snakeoil-key; + password = "snakeoil"; + switch-keys = [ + "left-alt" + "right-alt" + ]; + }; + }; }; - }; - }; - - client = { pkgs, ... }: { - imports = [ ../common/user-account.nix ]; - - virtualisation.vlans = [ 1 ]; - - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - - systemd.network.networks."01-eth1" = { - name = "eth1"; - networkConfig.Address = "10.0.0.2/24"; - }; - - services.getty.autologinUser = "alice"; - services.rkvm.client = { - enable = true; - settings = { - server = "10.0.0.1:5258"; - certificate = snakeoil-cert; - key = snakeoil-key; - password = "snakeoil"; + client = + { pkgs, ... }: + { + imports = [ ../common/user-account.nix ]; + + virtualisation.vlans = [ 1 ]; + + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + }; + + systemd.network.networks."01-eth1" = { + name = "eth1"; + networkConfig.Address = "10.0.0.2/24"; + }; + + services.getty.autologinUser = "alice"; + + services.rkvm.client = { + enable = true; + settings = { + server = "10.0.0.1:5258"; + certificate = snakeoil-cert; + key = snakeoil-key; + password = "snakeoil"; + }; + }; }; - }; }; - }; - testScript = '' - server.wait_for_unit("getty@tty1.service") - server.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - server.wait_for_unit("rkvm-server") - server.wait_for_open_port(5258) + testScript = '' + server.wait_for_unit("getty@tty1.service") + server.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + server.wait_for_unit("rkvm-server") + server.wait_for_open_port(5258) - client.wait_for_unit("getty@tty1.service") - client.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - client.wait_for_unit("rkvm-client") + client.wait_for_unit("getty@tty1.service") + client.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + client.wait_for_unit("rkvm-client") - server.sleep(1) + server.sleep(1) - # Switch to client - server.send_key("alt-alt_r", delay=0.2) - server.send_chars("echo 'hello client' > /tmp/test.txt\n") + # Switch to client + server.send_key("alt-alt_r", delay=0.2) + server.send_chars("echo 'hello client' > /tmp/test.txt\n") - # Switch to server - server.send_key("alt-alt_r", delay=0.2) - server.send_chars("echo 'hello server' > /tmp/test.txt\n") + # Switch to server + server.send_key("alt-alt_r", delay=0.2) + server.send_chars("echo 'hello server' > /tmp/test.txt\n") - server.sleep(1) + server.sleep(1) - client.systemctl("stop rkvm-client.service") - server.systemctl("stop rkvm-server.service") + client.systemctl("stop rkvm-client.service") + server.systemctl("stop rkvm-server.service") - server_file = server.succeed("cat /tmp/test.txt") - assert server_file.strip() == "hello server" + server_file = server.succeed("cat /tmp/test.txt") + assert server_file.strip() == "hello server" - client_file = client.succeed("cat /tmp/test.txt") - assert client_file.strip() == "hello client" - ''; -}) + client_file = client.succeed("cat /tmp/test.txt") + assert client_file.strip() == "hello client" + ''; + } +) diff --git a/nixos/tests/robustirc-bridge.nix b/nixos/tests/robustirc-bridge.nix index 8493fd6282128..31b4240f98364 100644 --- a/nixos/tests/robustirc-bridge.nix +++ b/nixos/tests/robustirc-bridge.nix @@ -1,14 +1,15 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "robustirc-bridge"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hax404 ]; - }; + { + name = "robustirc-bridge"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hax404 ]; + }; - nodes = - { bridge = - { services.robustirc-bridge = { + nodes = { + bridge = { + services.robustirc-bridge = { enable = true; extraFlags = [ "-listen localhost:6667" @@ -18,12 +19,12 @@ import ./make-test-python.nix ({ pkgs, ... }: }; }; - testScript = - '' + testScript = '' start_all() bridge.wait_for_unit("robustirc-bridge.service") bridge.wait_for_open_port(1080) bridge.wait_for_open_port(6667) ''; -}) + } +) diff --git a/nixos/tests/rosenpass.nix b/nixos/tests/rosenpass.nix index 5ef6e55f53746..cb0937b58971c 100644 --- a/nixos/tests/rosenpass.nix +++ b/nixos/tests/rosenpass.nix @@ -1,214 +1,223 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - deviceName = "rp0"; - - server = { - ip = "fe80::1"; - wg = { - public = "mQufmDFeQQuU/fIaB2hHgluhjjm1ypK4hJr1cW3WqAw="; - secret = "4N5Y1dldqrpsbaEiY8O0XBUGUFf8vkvtBtm8AoOX7Eo="; - listen = 10000; +import ./make-test-python.nix ( + { pkgs, ... }: + let + deviceName = "rp0"; + + server = { + ip = "fe80::1"; + wg = { + public = "mQufmDFeQQuU/fIaB2hHgluhjjm1ypK4hJr1cW3WqAw="; + secret = "4N5Y1dldqrpsbaEiY8O0XBUGUFf8vkvtBtm8AoOX7Eo="; + listen = 10000; + }; }; - }; - client = { - ip = "fe80::2"; - wg = { - public = "Mb3GOlT7oS+F3JntVKiaD7SpHxLxNdtEmWz/9FMnRFU="; - secret = "uC5dfGMv7Oxf5UDfdPkj6rZiRZT2dRWp5x8IQxrNcUE="; + client = { + ip = "fe80::2"; + wg = { + public = "Mb3GOlT7oS+F3JntVKiaD7SpHxLxNdtEmWz/9FMnRFU="; + secret = "uC5dfGMv7Oxf5UDfdPkj6rZiRZT2dRWp5x8IQxrNcUE="; + }; }; - }; -in -{ - name = "rosenpass"; - - nodes = - let - shared = peer: { config, modulesPath, ... }: { - imports = [ "${modulesPath}/services/networking/rosenpass.nix" ]; + in + { + name = "rosenpass"; + + nodes = + let + shared = + peer: + { config, modulesPath, ... }: + { + imports = [ "${modulesPath}/services/networking/rosenpass.nix" ]; + + boot.kernelModules = [ "wireguard" ]; + + services.rosenpass = { + enable = true; + defaultDevice = deviceName; + settings = { + verbosity = "Verbose"; + public_key = "/etc/rosenpass/pqpk"; + secret_key = "/etc/rosenpass/pqsk"; + }; + }; - boot.kernelModules = [ "wireguard" ]; + networking.firewall.allowedUDPPorts = [ 9999 ]; + + systemd.network = { + enable = true; + networks."rosenpass" = { + matchConfig.Name = deviceName; + networkConfig.IPv4Forwarding = true; + networkConfig.IPv6Forwarding = true; + address = [ "${peer.ip}/64" ]; + }; + + netdevs."10-rp0" = { + netdevConfig = { + Kind = "wireguard"; + Name = deviceName; + }; + wireguardConfig.PrivateKeyFile = "/etc/wireguard/wgsk"; + }; + }; - services.rosenpass = { - enable = true; - defaultDevice = deviceName; - settings = { - verbosity = "Verbose"; - public_key = "/etc/rosenpass/pqpk"; - secret_key = "/etc/rosenpass/pqsk"; + environment.etc."wireguard/wgsk" = { + text = peer.wg.secret; + user = "systemd-network"; + group = "systemd-network"; + }; }; - }; - - networking.firewall.allowedUDPPorts = [ 9999 ]; - - systemd.network = { - enable = true; - networks."rosenpass" = { - matchConfig.Name = deviceName; - networkConfig.IPv4Forwarding = true; - networkConfig.IPv6Forwarding = true; - address = [ "${peer.ip}/64" ]; + in + { + server = { + imports = [ (shared server) ]; + + networking.firewall.allowedUDPPorts = [ server.wg.listen ]; + + systemd.network.netdevs."10-${deviceName}" = { + wireguardConfig.ListenPort = server.wg.listen; + wireguardPeers = [ + { + AllowedIPs = [ "::/0" ]; + PublicKey = client.wg.public; + } + ]; }; - netdevs."10-rp0" = { - netdevConfig = { - Kind = "wireguard"; - Name = deviceName; - }; - wireguardConfig.PrivateKeyFile = "/etc/wireguard/wgsk"; + services.rosenpass.settings = { + listen = [ "0.0.0.0:9999" ]; + peers = [ + { + public_key = "/etc/rosenpass/peers/client/pqpk"; + peer = client.wg.public; + } + ]; }; }; + client = { + imports = [ (shared client) ]; - environment.etc."wireguard/wgsk" = { - text = peer.wg.secret; - user = "systemd-network"; - group = "systemd-network"; - }; - }; - in - { - server = { - imports = [ (shared server) ]; - - networking.firewall.allowedUDPPorts = [ server.wg.listen ]; - - systemd.network.netdevs."10-${deviceName}" = { - wireguardConfig.ListenPort = server.wg.listen; - wireguardPeers = [ + systemd.network.netdevs."10-${deviceName}".wireguardPeers = [ { AllowedIPs = [ "::/0" ]; - PublicKey = client.wg.public; + PublicKey = server.wg.public; + Endpoint = "server:${builtins.toString server.wg.listen}"; } ]; - }; - services.rosenpass.settings = { - listen = [ "0.0.0.0:9999" ]; - peers = [ + services.rosenpass.settings.peers = [ { - public_key = "/etc/rosenpass/peers/client/pqpk"; - peer = client.wg.public; + public_key = "/etc/rosenpass/peers/server/pqpk"; + endpoint = "server:9999"; + peer = server.wg.public; } ]; }; }; - client = { - imports = [ (shared client) ]; - - systemd.network.netdevs."10-${deviceName}".wireguardPeers = [ - { - AllowedIPs = [ "::/0" ]; - PublicKey = server.wg.public; - Endpoint = "server:${builtins.toString server.wg.listen}"; - } - ]; - - services.rosenpass.settings.peers = [ - { - public_key = "/etc/rosenpass/peers/server/pqpk"; - endpoint = "server:9999"; - peer = server.wg.public; - } - ]; - }; - }; - testScript = { ... }: '' - from os import system + testScript = + { ... }: + '' + from os import system - # Full path to rosenpass in the store, to avoid fiddling with `$PATH`. - rosenpass = "${pkgs.rosenpass}/bin/rosenpass" + # Full path to rosenpass in the store, to avoid fiddling with `$PATH`. + rosenpass = "${pkgs.rosenpass}/bin/rosenpass" - # Path in `/etc` where keys will be placed. - etc = "/etc/rosenpass" + # Path in `/etc` where keys will be placed. + etc = "/etc/rosenpass" - start_all() + start_all() - for machine in [server, client]: - machine.wait_for_unit("multi-user.target") - - # Gently stop Rosenpass to avoid crashes during key generation/distribution. - for machine in [server, client]: - machine.execute("systemctl stop rosenpass.service") - - for (name, machine, remote) in [("server", server, client), ("client", client, server)]: - pk, sk = f"{name}.pqpk", f"{name}.pqsk" - system(f"{rosenpass} gen-keys --force --secret-key {sk} --public-key {pk}") - machine.copy_from_host(sk, f"{etc}/pqsk") - machine.copy_from_host(pk, f"{etc}/pqpk") - remote.copy_from_host(pk, f"{etc}/peers/{name}/pqpk") + for machine in [server, client]: + machine.wait_for_unit("multi-user.target") - for machine in [server, client]: - machine.execute("systemctl start rosenpass.service") + # Gently stop Rosenpass to avoid crashes during key generation/distribution. + for machine in [server, client]: + machine.execute("systemctl stop rosenpass.service") - for machine in [server, client]: - machine.wait_for_unit("rosenpass.service") + for (name, machine, remote) in [("server", server, client), ("client", client, server)]: + pk, sk = f"{name}.pqpk", f"{name}.pqsk" + system(f"{rosenpass} gen-keys --force --secret-key {sk} --public-key {pk}") + machine.copy_from_host(sk, f"{etc}/pqsk") + machine.copy_from_host(pk, f"{etc}/pqpk") + remote.copy_from_host(pk, f"{etc}/peers/{name}/pqpk") - with subtest("ping"): - client.succeed("ping -c 2 -i 0.5 ${server.ip}%${deviceName}") + for machine in [server, client]: + machine.execute("systemctl start rosenpass.service") - with subtest("preshared-keys"): - # Rosenpass works by setting the WireGuard preshared key at regular intervals. - # Thus, if it is not active, then no key will be set, and the output of `wg show` will contain "none". - # Otherwise, if it is active, then the key will be set and "none" will not be found in the output of `wg show`. for machine in [server, client]: - machine.wait_until_succeeds("wg show all preshared-keys | grep --invert-match none", timeout=5) - ''; - - # NOTE: Below configuration is for "interactive" (=developing/debugging) only. - interactive.nodes = - let - inherit (import ./ssh-keys.nix pkgs) snakeOilPublicKey snakeOilPrivateKey; - - sshAndKeyGeneration = { - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - environment.systemPackages = [ - (pkgs.writeShellApplication { - name = "gen-keys"; - runtimeInputs = [ pkgs.rosenpass ]; - text = '' - HOST="$(hostname)" - if [ "$HOST" == "server" ] - then - PEER="client" - else - PEER="server" - fi - - # Generate keypair. - mkdir -vp /etc/rosenpass/peers/$PEER - rosenpass gen-keys --force --secret-key /etc/rosenpass/pqsk --public-key /etc/rosenpass/pqpk - - # Set up SSH key. - mkdir -p /root/.ssh - cp ${snakeOilPrivateKey} /root/.ssh/id_ecdsa - chmod 0400 /root/.ssh/id_ecdsa - - # Copy public key to other peer. - # shellcheck disable=SC2029 - ssh -o StrictHostKeyChecking=no $PEER "mkdir -pv /etc/rosenpass/peers/$HOST" - scp /etc/rosenpass/pqpk "$PEER:/etc/rosenpass/peers/$HOST/pqpk" - ''; - }) - ]; - }; + machine.wait_for_unit("rosenpass.service") + + with subtest("ping"): + client.succeed("ping -c 2 -i 0.5 ${server.ip}%${deviceName}") + + with subtest("preshared-keys"): + # Rosenpass works by setting the WireGuard preshared key at regular intervals. + # Thus, if it is not active, then no key will be set, and the output of `wg show` will contain "none". + # Otherwise, if it is active, then the key will be set and "none" will not be found in the output of `wg show`. + for machine in [server, client]: + machine.wait_until_succeeds("wg show all preshared-keys | grep --invert-match none", timeout=5) + ''; + + # NOTE: Below configuration is for "interactive" (=developing/debugging) only. + interactive.nodes = + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPublicKey snakeOilPrivateKey; + + sshAndKeyGeneration = { + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + environment.systemPackages = [ + (pkgs.writeShellApplication { + name = "gen-keys"; + runtimeInputs = [ pkgs.rosenpass ]; + text = '' + HOST="$(hostname)" + if [ "$HOST" == "server" ] + then + PEER="client" + else + PEER="server" + fi + + # Generate keypair. + mkdir -vp /etc/rosenpass/peers/$PEER + rosenpass gen-keys --force --secret-key /etc/rosenpass/pqsk --public-key /etc/rosenpass/pqpk + + # Set up SSH key. + mkdir -p /root/.ssh + cp ${snakeOilPrivateKey} /root/.ssh/id_ecdsa + chmod 0400 /root/.ssh/id_ecdsa + + # Copy public key to other peer. + # shellcheck disable=SC2029 + ssh -o StrictHostKeyChecking=no $PEER "mkdir -pv /etc/rosenpass/peers/$HOST" + scp /etc/rosenpass/pqpk "$PEER:/etc/rosenpass/peers/$HOST/pqpk" + ''; + }) + ]; + }; - # Use kmscon - # to provide a slightly nicer console, and while we're at it, - # also use a nice font. - # With kmscon, we can for example zoom in/out using [Ctrl] + [+] - # and [Ctrl] + [-] - niceConsoleAndAutologin.services.kmscon = { - enable = true; - autologinUser = "root"; - fonts = [{ - name = "Fira Code"; - package = pkgs.fira-code; - }]; + # Use kmscon + # to provide a slightly nicer console, and while we're at it, + # also use a nice font. + # With kmscon, we can for example zoom in/out using [Ctrl] + [+] + # and [Ctrl] + [-] + niceConsoleAndAutologin.services.kmscon = { + enable = true; + autologinUser = "root"; + fonts = [ + { + name = "Fira Code"; + package = pkgs.fira-code; + } + ]; + }; + in + { + server = sshAndKeyGeneration // niceConsoleAndAutologin; + client = sshAndKeyGeneration // niceConsoleAndAutologin; }; - in - { - server = sshAndKeyGeneration // niceConsoleAndAutologin; - client = sshAndKeyGeneration // niceConsoleAndAutologin; - }; -}) + } +) diff --git a/nixos/tests/roundcube.nix b/nixos/tests/roundcube.nix index 763f10a7a2dda..1f82e9c7a902c 100644 --- a/nixos/tests/roundcube.nix +++ b/nixos/tests/roundcube.nix @@ -1,31 +1,40 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "roundcube"; - meta = with pkgs.lib.maintainers; { - maintainers = [ globin ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "roundcube"; + meta = with pkgs.lib.maintainers; { + maintainers = [ globin ]; + }; - nodes = { - roundcube = { config, pkgs, ... }: { - services.roundcube = { - enable = true; - hostName = "roundcube"; - database.password = "not production"; - package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]); - plugins = [ "persistent_login" ]; - dicts = with pkgs.aspellDicts; [ en fr de ]; - }; - services.nginx.virtualHosts.roundcube = { - forceSSL = false; - enableACME = false; - }; + nodes = { + roundcube = + { config, pkgs, ... }: + { + services.roundcube = { + enable = true; + hostName = "roundcube"; + database.password = "not production"; + package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]); + plugins = [ "persistent_login" ]; + dicts = with pkgs.aspellDicts; [ + en + fr + de + ]; + }; + services.nginx.virtualHosts.roundcube = { + forceSSL = false; + enableACME = false; + }; + }; }; - }; - testScript = '' - roundcube.start - roundcube.wait_for_unit("postgresql.service") - roundcube.wait_for_unit("phpfpm-roundcube.service") - roundcube.wait_for_unit("nginx.service") - roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'") - ''; -}) + testScript = '' + roundcube.start + roundcube.wait_for_unit("postgresql.service") + roundcube.wait_for_unit("phpfpm-roundcube.service") + roundcube.wait_for_unit("nginx.service") + roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'") + ''; + } +) diff --git a/nixos/tests/rshim.nix b/nixos/tests/rshim.nix index bb5cce028ae79..474018732e165 100644 --- a/nixos/tests/rshim.nix +++ b/nixos/tests/rshim.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -11,15 +12,19 @@ with pkgs.lib; name = "rshim"; meta.maintainers = with maintainers; [ nikstur ]; - nodes.machine = { config, pkgs, ... }: { - services.rshim.enable = true; - }; + nodes.machine = + { config, pkgs, ... }: + { + services.rshim.enable = true; + }; - testScript = { nodes, ... }: '' - machine.start() - machine.wait_for_unit("multi-user.target") + testScript = + { nodes, ... }: + '' + machine.start() + machine.wait_for_unit("multi-user.target") - print(machine.succeed("systemctl status rshim.service")) - ''; + print(machine.succeed("systemctl status rshim.service")) + ''; }; } diff --git a/nixos/tests/rspamd-trainer.nix b/nixos/tests/rspamd-trainer.nix index 9c157903d24b6..fdb05bb8b00d5 100644 --- a/nixos/tests/rspamd-trainer.nix +++ b/nixos/tests/rspamd-trainer.nix @@ -1,155 +1,168 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - certs = import ./common/acme/server/snakeoil-certs.nix; - domain = certs.domain; -in { - name = "rspamd-trainer"; - meta = with pkgs.lib.maintainers; { maintainers = [ onny ]; }; - - nodes = { - machine = { options, config, ... }: { +import ./make-test-python.nix ( + { pkgs, ... }: + let + certs = import ./common/acme/server/snakeoil-certs.nix; + domain = certs.domain; + in + { + name = "rspamd-trainer"; + meta = with pkgs.lib.maintainers; { + maintainers = [ onny ]; + }; - security.pki.certificateFiles = [ - certs.ca.cert - ]; + nodes = { + machine = + { options, config, ... }: + { - networking.extraHosts = '' - 127.0.0.1 ${domain} - ''; + security.pki.certificateFiles = [ + certs.ca.cert + ]; - services.rspamd-trainer = { - enable = true; - settings = { - HOST = domain; - USERNAME = "spam@${domain}"; - INBOXPREFIX = "INBOX/"; - }; - secrets = [ - # Do not use this in production. This will make passwords - # world-readable in the Nix store - "${pkgs.writeText "secrets" '' - PASSWORD = test123 - ''}" - ]; - }; - - services.maddy = { - enable = true; - hostname = domain; - primaryDomain = domain; - ensureAccounts = [ "spam@${domain}" ]; - ensureCredentials = { - # Do not use this in production. This will make passwords world-readable - # in the Nix store - "spam@${domain}".passwordFile = "${pkgs.writeText "postmaster" "test123"}"; - }; - tls = { - loader = "file"; - certificates = [{ - certPath = "${certs.${domain}.cert}"; - keyPath = "${certs.${domain}.key}"; - }]; - }; - config = builtins.replaceStrings [ - "imap tcp://0.0.0.0:143" - "submission tcp://0.0.0.0:587" - ] [ - "imap tls://0.0.0.0:993 tcp://0.0.0.0:143" - "submission tls://0.0.0.0:465 tcp://0.0.0.0:587" - ] options.services.maddy.config.default; - }; - - services.rspamd = { - enable = true; - locals = { - "redis.conf".text = '' - servers = "${config.services.redis.servers.rspamd.unixSocket}"; + networking.extraHosts = '' + 127.0.0.1 ${domain} ''; - "classifier-bayes.conf".text = '' - backend = "redis"; - autolearn = true; - ''; - }; - }; - - services.redis.servers.rspamd = { - enable = true; - port = 0; - unixSocket = "/run/redis-rspamd/redis.sock"; - user = config.services.rspamd.user; - }; - - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "send-testmail" { } '' - import smtplib - import ssl - from email.mime.text import MIMEText - context = ssl.create_default_context() - msg = MIMEText("Hello World") - msg['Subject'] = 'Test' - msg['From'] = "spam@${domain}" - msg['To'] = "spam@${domain}" - with smtplib.SMTP_SSL(host='${domain}', port=465, context=context) as smtp: - smtp.login('spam@${domain}', 'test123') - smtp.sendmail( - 'spam@${domain}', 'spam@${domain}', msg.as_string() - ) - '') - (pkgs.writers.writePython3Bin "create-mail-dirs" { } '' - import imaplib - with imaplib.IMAP4_SSL('${domain}') as imap: - imap.login('spam@${domain}', 'test123') - imap.create("\"INBOX/report_spam\"") - imap.create("\"INBOX/report_ham\"") - imap.create("\"INBOX/report_spam_reply\"") - imap.select("INBOX") - imap.copy("1", "\"INBOX/report_ham\"") - imap.logout() - '') - (pkgs.writers.writePython3Bin "test-imap" { } '' - import imaplib - with imaplib.IMAP4_SSL('${domain}') as imap: - imap.login('spam@${domain}', 'test123') - imap.select("INBOX/learned_ham") - status, refs = imap.search(None, 'ALL') - assert status == 'OK' - assert len(refs) == 1 - status, msg = imap.fetch(refs[0], 'BODY[TEXT]') - assert status == 'OK' - assert msg[0][1].strip() == b"Hello World" - imap.logout() - '') - ]; + services.rspamd-trainer = { + enable = true; + settings = { + HOST = domain; + USERNAME = "spam@${domain}"; + INBOXPREFIX = "INBOX/"; + }; + secrets = [ + # Do not use this in production. This will make passwords + # world-readable in the Nix store + "${pkgs.writeText "secrets" '' + PASSWORD = test123 + ''}" + ]; + }; + + services.maddy = { + enable = true; + hostname = domain; + primaryDomain = domain; + ensureAccounts = [ "spam@${domain}" ]; + ensureCredentials = { + # Do not use this in production. This will make passwords world-readable + # in the Nix store + "spam@${domain}".passwordFile = "${pkgs.writeText "postmaster" "test123"}"; + }; + tls = { + loader = "file"; + certificates = [ + { + certPath = "${certs.${domain}.cert}"; + keyPath = "${certs.${domain}.key}"; + } + ]; + }; + config = + builtins.replaceStrings + [ + "imap tcp://0.0.0.0:143" + "submission tcp://0.0.0.0:587" + ] + [ + "imap tls://0.0.0.0:993 tcp://0.0.0.0:143" + "submission tls://0.0.0.0:465 tcp://0.0.0.0:587" + ] + options.services.maddy.config.default; + }; + + services.rspamd = { + enable = true; + locals = { + "redis.conf".text = '' + servers = "${config.services.redis.servers.rspamd.unixSocket}"; + ''; + "classifier-bayes.conf".text = '' + backend = "redis"; + autolearn = true; + ''; + }; + }; + + services.redis.servers.rspamd = { + enable = true; + port = 0; + unixSocket = "/run/redis-rspamd/redis.sock"; + user = config.services.rspamd.user; + }; + + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "send-testmail" { } '' + import smtplib + import ssl + from email.mime.text import MIMEText + context = ssl.create_default_context() + msg = MIMEText("Hello World") + msg['Subject'] = 'Test' + msg['From'] = "spam@${domain}" + msg['To'] = "spam@${domain}" + with smtplib.SMTP_SSL(host='${domain}', port=465, context=context) as smtp: + smtp.login('spam@${domain}', 'test123') + smtp.sendmail( + 'spam@${domain}', 'spam@${domain}', msg.as_string() + ) + '') + (pkgs.writers.writePython3Bin "create-mail-dirs" { } '' + import imaplib + with imaplib.IMAP4_SSL('${domain}') as imap: + imap.login('spam@${domain}', 'test123') + imap.create("\"INBOX/report_spam\"") + imap.create("\"INBOX/report_ham\"") + imap.create("\"INBOX/report_spam_reply\"") + imap.select("INBOX") + imap.copy("1", "\"INBOX/report_ham\"") + imap.logout() + '') + (pkgs.writers.writePython3Bin "test-imap" { } '' + import imaplib + with imaplib.IMAP4_SSL('${domain}') as imap: + imap.login('spam@${domain}', 'test123') + imap.select("INBOX/learned_ham") + status, refs = imap.search(None, 'ALL') + assert status == 'OK' + assert len(refs) == 1 + status, msg = imap.fetch(refs[0], 'BODY[TEXT]') + assert status == 'OK' + assert msg[0][1].strip() == b"Hello World" + imap.logout() + '') + ]; + }; }; - }; - - testScript = { nodes }: '' - start_all() - machine.wait_for_unit("maddy.service") - machine.wait_for_open_port(143) - machine.wait_for_open_port(993) - machine.wait_for_open_port(587) - machine.wait_for_open_port(465) - - # Send test mail to spam@domain - machine.succeed("send-testmail") - - # Create mail directories required for rspamd-trainer and copy mail from - # INBOX into INBOX/report_ham - machine.succeed("create-mail-dirs") - - # Start rspamd-trainer. It should read mail from INBOX/report_ham - machine.wait_for_unit("rspamd.service") - machine.wait_for_unit("redis-rspamd.service") - machine.wait_for_file("/run/rspamd/rspamd.sock") - machine.succeed("systemctl start rspamd-trainer.service") - - # Check if mail got processed by rspamd-trainer successfully and check for - # it in INBOX/learned_ham - machine.succeed("test-imap") - ''; -}) + testScript = + { nodes }: + '' + start_all() + machine.wait_for_unit("maddy.service") + machine.wait_for_open_port(143) + machine.wait_for_open_port(993) + machine.wait_for_open_port(587) + machine.wait_for_open_port(465) + + # Send test mail to spam@domain + machine.succeed("send-testmail") + + # Create mail directories required for rspamd-trainer and copy mail from + # INBOX into INBOX/report_ham + machine.succeed("create-mail-dirs") + + # Start rspamd-trainer. It should read mail from INBOX/report_ham + machine.wait_for_unit("rspamd.service") + machine.wait_for_unit("redis-rspamd.service") + machine.wait_for_file("/run/rspamd/rspamd.sock") + machine.succeed("systemctl start rspamd-trainer.service") + + # Check if mail got processed by rspamd-trainer successfully and check for + # it in INBOX/learned_ham + machine.succeed("test-imap") + ''; + } +) diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix index 26895fbad3f3b..603b59a52e4ba 100644 --- a/nixos/tests/rspamd.nix +++ b/nixos/tests/rspamd.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -20,32 +21,34 @@ let '[[ "$(stat -c %a ${socket})" == "${mode}" ]]', ) ''; - simple = name: enableIPv6: makeTest { - name = "rspamd-${name}"; - nodes.machine = { - services.rspamd.enable = true; - networking.enableIPv6 = enableIPv6; + simple = + name: enableIPv6: + makeTest { + name = "rspamd-${name}"; + nodes.machine = { + services.rspamd.enable = true; + networking.enableIPv6 = enableIPv6; + }; + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_open_port(11334) + machine.wait_for_unit("rspamd.service") + machine.succeed("id rspamd >/dev/null") + ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660"} + machine.sleep(10) + machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf")) + machine.log( + machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf") + ) + machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf")) + machine.log(machine.succeed("systemctl cat rspamd.service")) + machine.log(machine.succeed("curl http://localhost:11334/auth")) + machine.log(machine.succeed("curl http://127.0.0.1:11334/auth")) + ${optionalString enableIPv6 ''machine.log(machine.succeed("curl http://[::1]:11334/auth"))''} + # would not reformat + ''; }; - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_open_port(11334) - machine.wait_for_unit("rspamd.service") - machine.succeed("id rspamd >/dev/null") - ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" } - machine.sleep(10) - machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf")) - machine.log( - machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf") - ) - machine.log(machine.succeed("grep 'CONFDIR/worker-normal.inc' /etc/rspamd/rspamd.conf")) - machine.log(machine.succeed("systemctl cat rspamd.service")) - machine.log(machine.succeed("curl http://localhost:11334/auth")) - machine.log(machine.succeed("curl http://127.0.0.1:11334/auth")) - ${optionalString enableIPv6 ''machine.log(machine.succeed("curl http://[::1]:11334/auth"))''} - # would not reformat - ''; - }; in { simple = simple "simple" true; @@ -55,26 +58,30 @@ in nodes.machine = { services.rspamd = { enable = true; - workers.normal.bindSockets = [{ - socket = "/run/rspamd/rspamd.sock"; - mode = "0600"; - owner = "rspamd"; - group = "rspamd"; - }]; - workers.controller.bindSockets = [{ - socket = "/run/rspamd/rspamd-worker.sock"; - mode = "0666"; - owner = "rspamd"; - group = "rspamd"; - }]; + workers.normal.bindSockets = [ + { + socket = "/run/rspamd/rspamd.sock"; + mode = "0600"; + owner = "rspamd"; + group = "rspamd"; + } + ]; + workers.controller.bindSockets = [ + { + socket = "/run/rspamd/rspamd-worker.sock"; + mode = "0666"; + owner = "rspamd"; + group = "rspamd"; + } + ]; }; }; testScript = '' ${initMachine} machine.wait_for_file("/run/rspamd/rspamd.sock") - ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "600" } - ${checkSocket "/run/rspamd/rspamd-worker.sock" "rspamd" "rspamd" "666" } + ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "600"} + ${checkSocket "/run/rspamd/rspamd-worker.sock" "rspamd" "rspamd" "666"} machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf")) machine.log( machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf") @@ -94,18 +101,22 @@ in nodes.machine = { services.rspamd = { enable = true; - workers.normal.bindSockets = [{ - socket = "/run/rspamd/rspamd.sock"; - mode = "0600"; - owner = "rspamd"; - group = "rspamd"; - }]; - workers.controller.bindSockets = [{ - socket = "/run/rspamd/rspamd-worker.sock"; - mode = "0666"; - owner = "rspamd"; - group = "rspamd"; - }]; + workers.normal.bindSockets = [ + { + socket = "/run/rspamd/rspamd.sock"; + mode = "0600"; + owner = "rspamd"; + group = "rspamd"; + } + ]; + workers.controller.bindSockets = [ + { + socket = "/run/rspamd/rspamd-worker.sock"; + mode = "0666"; + owner = "rspamd"; + group = "rspamd"; + } + ]; workers.controller2 = { type = "controller"; bindSockets = [ "0.0.0.0:11335" ]; @@ -121,8 +132,8 @@ in testScript = '' ${initMachine} machine.wait_for_file("/run/rspamd/rspamd.sock") - ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "600" } - ${checkSocket "/run/rspamd/rspamd-worker.sock" "rspamd" "rspamd" "666" } + ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "600"} + ${checkSocket "/run/rspamd/rspamd-worker.sock" "rspamd" "rspamd" "666"} machine.log(machine.succeed("cat /etc/rspamd/rspamd.conf")) machine.log( machine.succeed("grep 'CONFDIR/worker-controller.inc' /etc/rspamd/rspamd.conf") @@ -170,7 +181,8 @@ in services.rspamd = { enable = true; locals = { - "antivirus.conf" = mkIf false { text = '' + "antivirus.conf" = mkIf false { + text = '' clamav { action = "reject"; symbol = "CLAM_VIRUS"; @@ -178,7 +190,8 @@ in log_clean = true; servers = "/run/clamav/clamd.ctl"; } - '';}; + ''; + }; "redis.conf" = { enable = false; text = '' @@ -232,7 +245,7 @@ in machine.fail("cat /etc/rspamd/local.d/redis.conf >&2") # Verify that antivirus.conf was not written machine.fail("cat /etc/rspamd/local.d/antivirus.conf >&2") - ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660" } + ${checkSocket "/run/rspamd/rspamd.sock" "rspamd" "rspamd" "660"} machine.log( machine.succeed("curl --unix-socket /run/rspamd/rspamd.sock http://localhost/ping") ) @@ -280,7 +293,7 @@ in }; services.postfix = { enable = true; - destination = ["example.com"]; + destination = [ "example.com" ]; }; services.rspamd = { enable = true; @@ -292,7 +305,7 @@ in ${initMachine} machine.wait_for_open_port(11334) machine.wait_for_open_port(25) - ${checkSocket "/run/rspamd/rspamd-milter.sock" "rspamd" "postfix" "660" } + ${checkSocket "/run/rspamd/rspamd-milter.sock" "rspamd" "postfix" "660"} machine.log(machine.succeed("rspamc -h 127.0.0.1:11334 stat")) machine.log( machine.succeed( diff --git a/nixos/tests/rss2email.nix b/nixos/tests/rss2email.nix index 60b27b95fabe4..490d08943734c 100644 --- a/nixos/tests/rss2email.nix +++ b/nixos/tests/rss2email.nix @@ -2,54 +2,63 @@ import ./make-test-python.nix { name = "rss2email"; nodes = { - server = { pkgs, ... }: { - imports = [ common/user-account.nix ]; - services.nginx = { - enable = true; - virtualHosts."127.0.0.1".root = ./common/webroot; - }; - services.rss2email = { - enable = true; - to = "alice@localhost"; - interval = "1"; - config.from = "test@example.org"; - feeds = { - nixos = { url = "http://127.0.0.1/news-rss.xml"; }; + server = + { pkgs, ... }: + { + imports = [ common/user-account.nix ]; + services.nginx = { + enable = true; + virtualHosts."127.0.0.1".root = ./common/webroot; }; - }; - services.opensmtpd = { - enable = true; - extraServerArgs = [ "-v" ]; - serverConfiguration = '' - listen on 127.0.0.1 - action dovecot_deliver mda \ - "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" - match from any for local action dovecot_deliver - ''; - }; - services.dovecot2 = { - enable = true; - enableImap = true; - mailLocation = "maildir:~/mail"; - protocols = [ "imap" ]; - }; - environment.systemPackages = let - checkMailLanded = pkgs.writeScriptBin "check-mail-landed" '' - #!${pkgs.python3.interpreter} - import imaplib + services.rss2email = { + enable = true; + to = "alice@localhost"; + interval = "1"; + config.from = "test@example.org"; + feeds = { + nixos = { + url = "http://127.0.0.1/news-rss.xml"; + }; + }; + }; + services.opensmtpd = { + enable = true; + extraServerArgs = [ "-v" ]; + serverConfiguration = '' + listen on 127.0.0.1 + action dovecot_deliver mda \ + "${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}" + match from any for local action dovecot_deliver + ''; + }; + services.dovecot2 = { + enable = true; + enableImap = true; + mailLocation = "maildir:~/mail"; + protocols = [ "imap" ]; + }; + environment.systemPackages = + let + checkMailLanded = pkgs.writeScriptBin "check-mail-landed" '' + #!${pkgs.python3.interpreter} + import imaplib - with imaplib.IMAP4('127.0.0.1', 143) as imap: - imap.login('alice', 'foobar') - imap.select() - status, refs = imap.search(None, 'ALL') - print("=====> Result of search for all:", status, refs) - assert status == 'OK' - assert len(refs) > 0 - status, msg = imap.fetch(refs[0], 'BODY[TEXT]') - assert status == 'OK' - ''; - in [ pkgs.opensmtpd checkMailLanded ]; - }; + with imaplib.IMAP4('127.0.0.1', 143) as imap: + imap.login('alice', 'foobar') + imap.select() + status, refs = imap.search(None, 'ALL') + print("=====> Result of search for all:", status, refs) + assert status == 'OK' + assert len(refs) > 0 + status, msg = imap.fetch(refs[0], 'BODY[TEXT]') + assert status == 'OK' + ''; + in + [ + pkgs.opensmtpd + checkMailLanded + ]; + }; }; testScript = '' diff --git a/nixos/tests/rstudio-server.nix b/nixos/tests/rstudio-server.nix index dd5fe3e5b4400..03a173fe32f26 100644 --- a/nixos/tests/rstudio-server.nix +++ b/nixos/tests/rstudio-server.nix @@ -1,18 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: { name = "rstudio-server-test"; - meta.maintainers = with pkgs.lib.maintainers; [ jbedo cfhammill ]; + meta.maintainers = with pkgs.lib.maintainers; [ + jbedo + cfhammill + ]; - nodes.machine = { config, lib, pkgs, ... }: { - services.rstudio-server.enable = true; - }; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + services.rstudio-server.enable = true; + }; - nodes.customPackageMachine = { config, lib, pkgs, ... }: { - services.rstudio-server = { - enable = true; - package = pkgs.rstudioServerWrapper.override { packages = [ pkgs.rPackages.ggplot2 ]; }; + nodes.customPackageMachine = + { + config, + lib, + pkgs, + ... + }: + { + services.rstudio-server = { + enable = true; + package = pkgs.rstudioServerWrapper.override { packages = [ pkgs.rPackages.ggplot2 ]; }; + }; }; - }; testScript = '' machine.wait_for_unit("rstudio-server.service") @@ -21,4 +39,5 @@ import ./make-test-python.nix ({ pkgs, ... }: customPackageMachine.wait_for_unit("rstudio-server.service") customPackageMachine.succeed("curl -f -vvv -s http://127.0.0.1:8787") ''; - }) + } +) diff --git a/nixos/tests/rsyncd.nix b/nixos/tests/rsyncd.nix index 44464e42f28d4..b75b3e0111439 100644 --- a/nixos/tests/rsyncd.nix +++ b/nixos/tests/rsyncd.nix @@ -1,36 +1,43 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "rsyncd"; - meta.maintainers = with pkgs.lib.maintainers; [ ehmry ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "rsyncd"; + meta.maintainers = with pkgs.lib.maintainers; [ ehmry ]; - nodes = let - mkNode = socketActivated: - { config, ... }: { - networking.firewall.allowedTCPPorts = [ config.services.rsyncd.port ]; - services.rsyncd = { - enable = true; - inherit socketActivated; - settings = { - global = { - "reverse lookup" = false; - "forward lookup" = false; - }; - tmp = { - path = "/nix/store"; - comment = "test module"; + nodes = + let + mkNode = + socketActivated: + { config, ... }: + { + networking.firewall.allowedTCPPorts = [ config.services.rsyncd.port ]; + services.rsyncd = { + enable = true; + inherit socketActivated; + settings = { + global = { + "reverse lookup" = false; + "forward lookup" = false; + }; + tmp = { + path = "/nix/store"; + comment = "test module"; + }; + }; }; }; - }; + in + { + a = mkNode false; + b = mkNode true; }; - in { - a = mkNode false; - b = mkNode true; - }; - testScript = '' - start_all() - a.wait_for_unit("rsync") - b.wait_for_unit("sockets.target") - b.succeed("rsync a::") - a.succeed("rsync b::") - ''; -}) + testScript = '' + start_all() + a.wait_for_unit("rsync") + b.wait_for_unit("sockets.target") + b.succeed("rsync a::") + a.succeed("rsync b::") + ''; + } +) diff --git a/nixos/tests/rsyslogd.nix b/nixos/tests/rsyslogd.nix index 049acdcd43934..99703f18d6a72 100644 --- a/nixos/tests/rsyslogd.nix +++ b/nixos/tests/rsyslogd.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -11,10 +12,12 @@ with pkgs.lib; name = "rsyslogd-test1"; meta.maintainers = [ pkgs.lib.maintainers.aanderse ]; - nodes.machine = { config, pkgs, ... }: { - services.rsyslogd.enable = true; - services.journald.forwardToSyslog = false; - }; + nodes.machine = + { config, pkgs, ... }: + { + services.rsyslogd.enable = true; + services.journald.forwardToSyslog = false; + }; # ensure rsyslogd isn't receiving messages from journald if explicitly disabled testScript = '' @@ -27,9 +30,11 @@ with pkgs.lib; name = "rsyslogd-test2"; meta.maintainers = [ pkgs.lib.maintainers.aanderse ]; - nodes.machine = { config, pkgs, ... }: { - services.rsyslogd.enable = true; - }; + nodes.machine = + { config, pkgs, ... }: + { + services.rsyslogd.enable = true; + }; # ensure rsyslogd is receiving messages from journald testScript = '' diff --git a/nixos/tests/rtorrent.nix b/nixos/tests/rtorrent.nix index 77e78b549a96f..ca680380374a3 100644 --- a/nixos/tests/rtorrent.nix +++ b/nixos/tests/rtorrent.nix @@ -1,25 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - port = 50001; -in -{ - name = "rtorrent"; - meta = { - maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; - }; - - nodes.machine = { pkgs, ... }: { - services.rtorrent = { - inherit port; - enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + let + port = 50001; + in + { + name = "rtorrent"; + meta = { + maintainers = with pkgs.lib.maintainers; [ thiagokokada ]; }; - }; - testScript = /* python */ '' - machine.start() - machine.wait_for_unit("rtorrent.service") - machine.wait_for_open_port(${toString port}) + nodes.machine = + { pkgs, ... }: + { + services.rtorrent = { + inherit port; + enable = true; + }; + }; + + testScript = # python + '' + machine.start() + machine.wait_for_unit("rtorrent.service") + machine.wait_for_open_port(${toString port}) - machine.succeed("nc -z localhost ${toString port}") - ''; -}) + machine.succeed("nc -z localhost ${toString port}") + ''; + } +) diff --git a/nixos/tests/rxe.nix b/nixos/tests/rxe.nix index 10753c4ed0c85..f05b5a7dd3749 100644 --- a/nixos/tests/rxe.nix +++ b/nixos/tests/rxe.nix @@ -1,47 +1,53 @@ -import ./make-test-python.nix ({ ... } : - -let - node = { pkgs, ... } : { - networking = { - firewall = { - allowedUDPPorts = [ 4791 ]; # open RoCE port - allowedTCPPorts = [ 4800 ]; # port for test utils +import ./make-test-python.nix ( + { ... }: + + let + node = + { pkgs, ... }: + { + networking = { + firewall = { + allowedUDPPorts = [ 4791 ]; # open RoCE port + allowedTCPPorts = [ 4800 ]; # port for test utils + }; + rxe = { + enable = true; + interfaces = [ "eth1" ]; + }; + }; + + environment.systemPackages = with pkgs; [ + rdma-core + screen + ]; }; - rxe = { - enable = true; - interfaces = [ "eth1" ]; - }; - }; - - environment.systemPackages = with pkgs; [ rdma-core screen ]; - }; - -in { - name = "rxe"; - - nodes = { - server = node; - client = node; - }; - testScript = '' - # Test if rxe interface comes up - server.wait_for_unit("default.target") - server.succeed("systemctl status rxe.service") - server.succeed("ibv_devices | grep rxe_eth1") - - client.wait_for_unit("default.target") - - # ping pong tests - for proto in "rc", "uc", "ud", "srq": - server.succeed( - "screen -dmS {0}_pingpong ibv_{0}_pingpong -p 4800 -s 1024 -g0".format(proto) - ) - client.succeed("sleep 2; ibv_{}_pingpong -p 4800 -s 1024 -g0 server".format(proto)) - - server.succeed("screen -dmS rping rping -s -a server -C 10") - client.succeed("sleep 2; rping -c -a server -C 10") - ''; -}) + in + { + name = "rxe"; + nodes = { + server = node; + client = node; + }; + testScript = '' + # Test if rxe interface comes up + server.wait_for_unit("default.target") + server.succeed("systemctl status rxe.service") + server.succeed("ibv_devices | grep rxe_eth1") + + client.wait_for_unit("default.target") + + # ping pong tests + for proto in "rc", "uc", "ud", "srq": + server.succeed( + "screen -dmS {0}_pingpong ibv_{0}_pingpong -p 4800 -s 1024 -g0".format(proto) + ) + client.succeed("sleep 2; ibv_{}_pingpong -p 4800 -s 1024 -g0 server".format(proto)) + + server.succeed("screen -dmS rping rping -s -a server -C 10") + client.succeed("sleep 2; rping -c -a server -C 10") + ''; + } +) diff --git a/nixos/tests/sabnzbd.nix b/nixos/tests/sabnzbd.nix index 64cb655b43157..5aa466267a5db 100644 --- a/nixos/tests/sabnzbd.nix +++ b/nixos/tests/sabnzbd.nix @@ -1,25 +1,30 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "sabnzbd"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ jojosch ]; - }; - - nodes.machine = { pkgs, ... }: { - services.sabnzbd = { - enable = true; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "sabnzbd"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ jojosch ]; }; - # unrar is unfree - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "unrar" ]; - }; + nodes.machine = + { pkgs, ... }: + { + services.sabnzbd = { + enable = true; + }; + + # unrar is unfree + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "unrar" ]; + }; - testScript = '' - machine.wait_for_unit("sabnzbd.service") - machine.wait_until_succeeds( - "curl --fail -L http://localhost:8080/" - ) - _, out = machine.execute("grep SABCTools /var/lib/sabnzbd/logs/sabnzbd.log") - machine.log(out) - machine.fail("grep 'SABCTools disabled: no correct version found!' /var/lib/sabnzbd/logs/sabnzbd.log") - ''; -}) + testScript = '' + machine.wait_for_unit("sabnzbd.service") + machine.wait_until_succeeds( + "curl --fail -L http://localhost:8080/" + ) + _, out = machine.execute("grep SABCTools /var/lib/sabnzbd/logs/sabnzbd.log") + machine.log(out) + machine.fail("grep 'SABCTools disabled: no correct version found!' /var/lib/sabnzbd/logs/sabnzbd.log") + ''; + } +) diff --git a/nixos/tests/samba-wsdd.nix b/nixos/tests/samba-wsdd.nix index 666a626d1b4a5..2efc3058ee96e 100644 --- a/nixos/tests/samba-wsdd.nix +++ b/nixos/tests/samba-wsdd.nix @@ -1,42 +1,48 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "samba-wsdd"; - meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; + { + name = "samba-wsdd"; + meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; - nodes = { - client_wsdd = { pkgs, ... }: { - services.samba-wsdd = { - enable = true; - openFirewall = true; - interface = "eth1"; - workgroup = "WORKGROUP"; - hostname = "CLIENT-WSDD"; - discovery = true; - extraOptions = [ "--no-host" ]; - }; - }; + nodes = { + client_wsdd = + { pkgs, ... }: + { + services.samba-wsdd = { + enable = true; + openFirewall = true; + interface = "eth1"; + workgroup = "WORKGROUP"; + hostname = "CLIENT-WSDD"; + discovery = true; + extraOptions = [ "--no-host" ]; + }; + }; - server_wsdd = { ... }: { - services.samba-wsdd = { - enable = true; - openFirewall = true; - interface = "eth1"; - workgroup = "WORKGROUP"; - hostname = "SERVER-WSDD"; - }; + server_wsdd = + { ... }: + { + services.samba-wsdd = { + enable = true; + openFirewall = true; + interface = "eth1"; + workgroup = "WORKGROUP"; + hostname = "SERVER-WSDD"; + }; + }; }; - }; - testScript = '' - client_wsdd.start() - client_wsdd.wait_for_unit("samba-wsdd") + testScript = '' + client_wsdd.start() + client_wsdd.wait_for_unit("samba-wsdd") - server_wsdd.start() - server_wsdd.wait_for_unit("samba-wsdd") + server_wsdd.start() + server_wsdd.wait_for_unit("samba-wsdd") - client_wsdd.wait_until_succeeds( - "echo list | ${pkgs.libressl.nc}/bin/nc -N -U /run/wsdd/wsdd.sock | grep -i SERVER-WSDD" - ) - ''; -}) + client_wsdd.wait_until_succeeds( + "echo list | ${pkgs.libressl.nc}/bin/nc -N -U /run/wsdd/wsdd.sock | grep -i SERVER-WSDD" + ) + ''; + } +) diff --git a/nixos/tests/samba.nix b/nixos/tests/samba.nix index 2501fea2d3768..96f63730b6130 100644 --- a/nixos/tests/samba.nix +++ b/nixos/tests/samba.nix @@ -1,47 +1,50 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "samba"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "samba"; - meta.maintainers = [ lib.maintainers.anthonyroussel ]; + meta.maintainers = [ lib.maintainers.anthonyroussel ]; - nodes = { - client = - { ... }: - { - virtualisation.fileSystems = { - "/public" = { - fsType = "cifs"; - device = "//server/public"; - options = [ "guest" ]; + nodes = { + client = + { ... }: + { + virtualisation.fileSystems = { + "/public" = { + fsType = "cifs"; + device = "//server/public"; + options = [ "guest" ]; + }; }; }; - }; - server = - { ... }: - { - services.samba = { - enable = true; - openFirewall = true; - settings = { - "public" = { - "path" = "/public"; - "read only" = true; - "browseable" = "yes"; - "guest ok" = "yes"; - "comment" = "Public samba share."; + server = + { ... }: + { + services.samba = { + enable = true; + openFirewall = true; + settings = { + "public" = { + "path" = "/public"; + "read only" = true; + "browseable" = "yes"; + "guest ok" = "yes"; + "comment" = "Public samba share."; + }; }; }; }; - }; - }; + }; - testScript = '' - server.start() - server.wait_for_unit("samba.target") - server.succeed("mkdir -p /public; echo bar > /public/foo") + testScript = '' + server.start() + server.wait_for_unit("samba.target") + server.succeed("mkdir -p /public; echo bar > /public/foo") - client.start() - client.wait_for_unit("remote-fs.target") - client.succeed("[[ $(cat /public/foo) = bar ]]") - ''; -}) + client.start() + client.wait_for_unit("remote-fs.target") + client.succeed("[[ $(cat /public/foo) = bar ]]") + ''; + } +) diff --git a/nixos/tests/sane.nix b/nixos/tests/sane.nix index cba1b4d1dc4da..117831e5c7ab2 100644 --- a/nixos/tests/sane.nix +++ b/nixos/tests/sane.nix @@ -1,85 +1,94 @@ -import ./make-test-python.nix ({ pkgs, ... }: -/* - SANE NixOS test - =============== - SANE is intrisically tied to hardware, so testing it is not straightforward. - However: - - a fake webcam can be created with v4l2loopback - - sane has a backend (v4l) to use a webcam as a scanner - This test creates a webcam /dev/video0, streams a still image with some text - through this webcam, uses SANE to scan from the webcam, and uses OCR to check - that the expected text was scanned. -*/ -let - text = "66263666188646651519653683416"; - fontsConf = pkgs.makeFontsConf { - fontDirectories = [ - pkgs.dejavu_fonts.minimal - ]; - }; - # an image with black on white text spelling "${text}" - # for some reason, the test fails if it's jpg instead of png - # the font is quite large to make OCR easier - image = pkgs.runCommand "image.png" - { - # only imagemagickBig can render text - nativeBuildInputs = [ pkgs.imagemagickBig ]; - FONTCONFIG_FILE = fontsConf; - } '' - magick -pointsize 100 label:${text} $out - ''; -in -{ - name = "sane"; - nodes.machine = { pkgs, config, ... }: { - boot = { - # create /dev/video0 as a fake webcam whose content is filled by ffmpeg - extraModprobeConfig = '' - options v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label=VirtualCam - ''; - kernelModules = [ "v4l2loopback" ]; - extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; +import ./make-test-python.nix ( + { pkgs, ... }: + /* + SANE NixOS test + =============== + SANE is intrisically tied to hardware, so testing it is not straightforward. + However: + - a fake webcam can be created with v4l2loopback + - sane has a backend (v4l) to use a webcam as a scanner + This test creates a webcam /dev/video0, streams a still image with some text + through this webcam, uses SANE to scan from the webcam, and uses OCR to check + that the expected text was scanned. + */ + let + text = "66263666188646651519653683416"; + fontsConf = pkgs.makeFontsConf { + fontDirectories = [ + pkgs.dejavu_fonts.minimal + ]; }; - systemd.services.fake-webcam = { - wantedBy = [ "multi-user.target" ]; - description = "fill /dev/video0 with ${image}"; - /* HACK: /dev/video0 is a v4l2 only device, it misses one single v4l1 - ioctl, VIDIOCSPICT. But sane only supports v4l1, so it will log that this - ioctl failed, and assume that the pixel format is Y8 (gray). So we tell - ffmpeg to produce this pixel format. - */ - serviceConfig.ExecStart = [ "${pkgs.ffmpeg}/bin/ffmpeg -framerate 30 -re -stream_loop -1 -i ${image} -f v4l2 -pix_fmt gray /dev/video0" ]; - }; - hardware.sane.enable = true; - system.extraDependencies = [ image ]; - environment.systemPackages = [ - pkgs.fswebcam - pkgs.tesseract - pkgs.v4l-utils - ]; - environment.variables.SANE_DEBUG_V4L = "128"; - }; - testScript = '' - start_all() - machine.wait_for_unit("fake-webcam.service") + # an image with black on white text spelling "${text}" + # for some reason, the test fails if it's jpg instead of png + # the font is quite large to make OCR easier + image = + pkgs.runCommand "image.png" + { + # only imagemagickBig can render text + nativeBuildInputs = [ pkgs.imagemagickBig ]; + FONTCONFIG_FILE = fontsConf; + } + '' + magick -pointsize 100 label:${text} $out + ''; + in + { + name = "sane"; + nodes.machine = + { pkgs, config, ... }: + { + boot = { + # create /dev/video0 as a fake webcam whose content is filled by ffmpeg + extraModprobeConfig = '' + options v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label=VirtualCam + ''; + kernelModules = [ "v4l2loopback" ]; + extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; + }; + systemd.services.fake-webcam = { + wantedBy = [ "multi-user.target" ]; + description = "fill /dev/video0 with ${image}"; + /* + HACK: /dev/video0 is a v4l2 only device, it misses one single v4l1 + ioctl, VIDIOCSPICT. But sane only supports v4l1, so it will log that this + ioctl failed, and assume that the pixel format is Y8 (gray). So we tell + ffmpeg to produce this pixel format. + */ + serviceConfig.ExecStart = [ + "${pkgs.ffmpeg}/bin/ffmpeg -framerate 30 -re -stream_loop -1 -i ${image} -f v4l2 -pix_fmt gray /dev/video0" + ]; + }; + hardware.sane.enable = true; + system.extraDependencies = [ image ]; + environment.systemPackages = [ + pkgs.fswebcam + pkgs.tesseract + pkgs.v4l-utils + ]; + environment.variables.SANE_DEBUG_V4L = "128"; + }; + testScript = '' + start_all() + machine.wait_for_unit("fake-webcam.service") - # the device only appears when ffmpeg starts producing frames - machine.wait_until_succeeds("scanimage -L | grep /dev/video0") + # the device only appears when ffmpeg starts producing frames + machine.wait_until_succeeds("scanimage -L | grep /dev/video0") - machine.succeed("scanimage -L >&2") + machine.succeed("scanimage -L >&2") - with subtest("debugging: /dev/video0 works"): - machine.succeed("v4l2-ctl --all >&2") - machine.succeed("fswebcam --no-banner /tmp/webcam.jpg") - machine.copy_from_vm("/tmp/webcam.jpg", "webcam") + with subtest("debugging: /dev/video0 works"): + machine.succeed("v4l2-ctl --all >&2") + machine.succeed("fswebcam --no-banner /tmp/webcam.jpg") + machine.copy_from_vm("/tmp/webcam.jpg", "webcam") - # scan with the webcam - machine.succeed("scanimage -o /tmp/scan.png >&2") - machine.copy_from_vm("/tmp/scan.png", "scan") + # scan with the webcam + machine.succeed("scanimage -o /tmp/scan.png >&2") + machine.copy_from_vm("/tmp/scan.png", "scan") - # the image should contain "${text}" - output = machine.succeed("tesseract /tmp/scan.png -") - print(output) - assert "${text}" in output, f"expected text ${text} was not found, OCR found {output!r}" - ''; -}) + # the image should contain "${text}" + output = machine.succeed("tesseract /tmp/scan.png -") + print(output) + assert "${text}" in output, f"expected text ${text} was not found, OCR found {output!r}" + ''; + } +) diff --git a/nixos/tests/sanoid.nix b/nixos/tests/sanoid.nix index 1575634e62842..227a95e9471d4 100644 --- a/nixos/tests/sanoid.nix +++ b/nixos/tests/sanoid.nix @@ -1,133 +1,148 @@ -import ./make-test-python.nix ({ pkgs, ... }: let - inherit (import ./ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; - - commonConfig = { pkgs, ... }: { - virtualisation.emptyDiskImages = [ 2048 ]; - boot.supportedFilesystems = [ "zfs" ]; - environment.systemPackages = [ pkgs.parted ]; - }; -in { - name = "sanoid"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lopsided98 ]; - }; - - nodes = { - source = { ... }: { - imports = [ commonConfig ]; - networking.hostId = "daa82e91"; - - programs.ssh.extraConfig = '' - UserKnownHostsFile=/dev/null - StrictHostKeyChecking=no - ''; - - services.sanoid = { - enable = true; - templates.test = { - hourly = 12; - daily = 1; - monthly = 1; - yearly = 1; - - autosnap = true; - }; - datasets."pool/sanoid".use_template = [ "test" ]; - datasets."pool/compat".useTemplate = [ "test" ]; - extraArgs = [ "--verbose" ]; +import ./make-test-python.nix ( + { pkgs, ... }: + let + inherit (import ./ssh-keys.nix pkgs) + snakeOilPrivateKey + snakeOilPublicKey + ; + + commonConfig = + { pkgs, ... }: + { + virtualisation.emptyDiskImages = [ 2048 ]; + boot.supportedFilesystems = [ "zfs" ]; + environment.systemPackages = [ pkgs.parted ]; }; + in + { + name = "sanoid"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lopsided98 ]; + }; - services.syncoid = { - enable = true; - sshKey = "/var/lib/syncoid/id_ecdsa"; - commands = { - # Sync snapshot taken by sanoid - "pool/sanoid" = { - target = "root@target:pool/sanoid"; - extraArgs = [ "--no-sync-snap" "--create-bookmark" ]; + nodes = { + source = + { ... }: + { + imports = [ commonConfig ]; + networking.hostId = "daa82e91"; + + programs.ssh.extraConfig = '' + UserKnownHostsFile=/dev/null + StrictHostKeyChecking=no + ''; + + services.sanoid = { + enable = true; + templates.test = { + hourly = 12; + daily = 1; + monthly = 1; + yearly = 1; + + autosnap = true; + }; + datasets."pool/sanoid".use_template = [ "test" ]; + datasets."pool/compat".useTemplate = [ "test" ]; + extraArgs = [ "--verbose" ]; }; - # Take snapshot and sync - "pool/syncoid".target = "root@target:pool/syncoid"; - - # Test pool without parent (regression test for https://github.com/NixOS/nixpkgs/pull/180111) - "pool".target = "root@target:pool/full-pool"; - # Test backward compatible options (regression test for https://github.com/NixOS/nixpkgs/issues/181561) - "pool/compat" = { - target = "root@target:pool/compat"; - extraArgs = [ "--no-sync-snap" ]; + services.syncoid = { + enable = true; + sshKey = "/var/lib/syncoid/id_ecdsa"; + commands = { + # Sync snapshot taken by sanoid + "pool/sanoid" = { + target = "root@target:pool/sanoid"; + extraArgs = [ + "--no-sync-snap" + "--create-bookmark" + ]; + }; + # Take snapshot and sync + "pool/syncoid".target = "root@target:pool/syncoid"; + + # Test pool without parent (regression test for https://github.com/NixOS/nixpkgs/pull/180111) + "pool".target = "root@target:pool/full-pool"; + + # Test backward compatible options (regression test for https://github.com/NixOS/nixpkgs/issues/181561) + "pool/compat" = { + target = "root@target:pool/compat"; + extraArgs = [ "--no-sync-snap" ]; + }; + }; }; }; - }; + target = + { ... }: + { + imports = [ commonConfig ]; + networking.hostId = "dcf39d36"; + + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + }; }; - target = { ... }: { - imports = [ commonConfig ]; - networking.hostId = "dcf39d36"; - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - }; - }; - - testScript = '' - source.succeed( - "mkdir /mnt", - "parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s", - "udevadm settle", - "zpool create pool -R /mnt /dev/vdb1", - "zfs create pool/sanoid", - "zfs create pool/compat", - "zfs create pool/syncoid", - "udevadm settle", - ) - target.succeed( - "mkdir /mnt", - "parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s", - "udevadm settle", - "zpool create pool -R /mnt /dev/vdb1", - "udevadm settle", - ) - - source.succeed( - "mkdir -m 700 -p /var/lib/syncoid", - "cat '${snakeOilPrivateKey}' > /var/lib/syncoid/id_ecdsa", - "chmod 600 /var/lib/syncoid/id_ecdsa", - "chown -R syncoid:syncoid /var/lib/syncoid/", - ) - - assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set before snapshotting" - assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set before snapshotting" - assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set before snapshotting" - - # Take snapshot with sanoid - source.succeed("touch /mnt/pool/sanoid/test.txt") - source.succeed("touch /mnt/pool/compat/test.txt") - source.systemctl("start --wait sanoid.service") - - assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after snapshotting" - assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after snapshotting" - assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after snapshotting" - - # Sync snapshots - target.wait_for_open_port(22) - source.succeed("touch /mnt/pool/syncoid/test.txt") - source.systemctl("start --wait syncoid-pool-sanoid.service") - target.succeed("cat /mnt/pool/sanoid/test.txt") - source.systemctl("start --wait syncoid-pool-syncoid.service") - source.systemctl("start --wait syncoid-pool-syncoid.service") - target.succeed("cat /mnt/pool/syncoid/test.txt") - - assert(len(source.succeed("zfs list -H -t snapshot pool/syncoid").splitlines()) == 1), "Syncoid should only retain one sync snapshot" - - source.systemctl("start --wait syncoid-pool.service") - target.succeed("[[ -d /mnt/pool/full-pool/syncoid ]]") - - source.systemctl("start --wait syncoid-pool-compat.service") - target.succeed("cat /mnt/pool/compat/test.txt") - - assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after syncing snapshots" - assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after syncing snapshots" - assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after syncing snapshots" - ''; -}) + testScript = '' + source.succeed( + "mkdir /mnt", + "parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s", + "udevadm settle", + "zpool create pool -R /mnt /dev/vdb1", + "zfs create pool/sanoid", + "zfs create pool/compat", + "zfs create pool/syncoid", + "udevadm settle", + ) + target.succeed( + "mkdir /mnt", + "parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s", + "udevadm settle", + "zpool create pool -R /mnt /dev/vdb1", + "udevadm settle", + ) + + source.succeed( + "mkdir -m 700 -p /var/lib/syncoid", + "cat '${snakeOilPrivateKey}' > /var/lib/syncoid/id_ecdsa", + "chmod 600 /var/lib/syncoid/id_ecdsa", + "chown -R syncoid:syncoid /var/lib/syncoid/", + ) + + assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set before snapshotting" + assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set before snapshotting" + assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set before snapshotting" + + # Take snapshot with sanoid + source.succeed("touch /mnt/pool/sanoid/test.txt") + source.succeed("touch /mnt/pool/compat/test.txt") + source.systemctl("start --wait sanoid.service") + + assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after snapshotting" + assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after snapshotting" + assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after snapshotting" + + # Sync snapshots + target.wait_for_open_port(22) + source.succeed("touch /mnt/pool/syncoid/test.txt") + source.systemctl("start --wait syncoid-pool-sanoid.service") + target.succeed("cat /mnt/pool/sanoid/test.txt") + source.systemctl("start --wait syncoid-pool-syncoid.service") + source.systemctl("start --wait syncoid-pool-syncoid.service") + target.succeed("cat /mnt/pool/syncoid/test.txt") + + assert(len(source.succeed("zfs list -H -t snapshot pool/syncoid").splitlines()) == 1), "Syncoid should only retain one sync snapshot" + + source.systemctl("start --wait syncoid-pool.service") + target.succeed("[[ -d /mnt/pool/full-pool/syncoid ]]") + + source.systemctl("start --wait syncoid-pool-compat.service") + target.succeed("cat /mnt/pool/compat/test.txt") + + assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after syncing snapshots" + assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after syncing snapshots" + assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after syncing snapshots" + ''; + } +) diff --git a/nixos/tests/scaphandre.nix b/nixos/tests/scaphandre.nix index f0a411748503b..9ca191ab794b5 100644 --- a/nixos/tests/scaphandre.nix +++ b/nixos/tests/scaphandre.nix @@ -2,17 +2,21 @@ import ./make-test-python.nix { name = "scaphandre"; nodes = { - scaphandre = { pkgs, ... } : { - boot.kernelModules = [ "intel_rapl_common" ]; + scaphandre = + { pkgs, ... }: + { + boot.kernelModules = [ "intel_rapl_common" ]; - environment.systemPackages = [ pkgs.scaphandre ]; - }; + environment.systemPackages = [ pkgs.scaphandre ]; + }; }; - testScript = { nodes, ... } : '' - scaphandre.start() - scaphandre.wait_until_succeeds( - "scaphandre stdout -t 4", - ) - ''; + testScript = + { nodes, ... }: + '' + scaphandre.start() + scaphandre.wait_until_succeeds( + "scaphandre stdout -t 4", + ) + ''; } diff --git a/nixos/tests/schleuder.nix b/nixos/tests/schleuder.nix index e57ef66bb8f9d..05e22de056bd8 100644 --- a/nixos/tests/schleuder.nix +++ b/nixos/tests/schleuder.nix @@ -4,119 +4,133 @@ let in import ./make-test-python.nix { name = "schleuder"; - nodes.machine = { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.postfix = { - enable = true; - enableSubmission = true; - tlsTrustedAuthorities = "${certs.ca.cert}"; - sslCert = "${certs.${domain}.cert}"; - sslKey = "${certs.${domain}.key}"; - inherit domain; - destination = [ domain ]; - localRecipients = [ "root" "alice" "bob" ]; - }; - services.schleuder = { - enable = true; - # Don't do it like this in production! The point of this setting - # is to allow loading secrets from _outside_ the world-readable - # Nix store. - extraSettingsFile = pkgs.writeText "schleuder-api-keys.yml" '' - api: - valid_api_keys: - - fnord - ''; - lists = [ "security@${domain}" ]; - settings.api = { - tls_cert_file = "${certs.${domain}.cert}"; - tls_key_file = "${certs.${domain}.key}"; + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + services.postfix = { + enable = true; + enableSubmission = true; + tlsTrustedAuthorities = "${certs.ca.cert}"; + sslCert = "${certs.${domain}.cert}"; + sslKey = "${certs.${domain}.key}"; + inherit domain; + destination = [ domain ]; + localRecipients = [ + "root" + "alice" + "bob" + ]; + }; + services.schleuder = { + enable = true; + # Don't do it like this in production! The point of this setting + # is to allow loading secrets from _outside_ the world-readable + # Nix store. + extraSettingsFile = pkgs.writeText "schleuder-api-keys.yml" '' + api: + valid_api_keys: + - fnord + ''; + lists = [ "security@${domain}" ]; + settings.api = { + tls_cert_file = "${certs.${domain}.cert}"; + tls_key_file = "${certs.${domain}.key}"; + }; }; - }; - environment.systemPackages = [ - pkgs.gnupg - pkgs.msmtp - (pkgs.writeScriptBin "do-test" '' - #!${pkgs.runtimeShell} - set -exuo pipefail + environment.systemPackages = [ + pkgs.gnupg + pkgs.msmtp + (pkgs.writeScriptBin "do-test" '' + #!${pkgs.runtimeShell} + set -exuo pipefail - # Generate a GPG key with no passphrase and export it - sudo -u alice gpg --passphrase-fd 0 --batch --yes --quick-generate-key 'alice@${domain}' rsa4096 sign,encr < <(echo) - sudo -u alice gpg --armor --export alice@${domain} > alice.asc - # Create a new mailing list with alice as the owner, and alice's key - schleuder-cli list new security@${domain} alice@${domain} alice.asc + # Generate a GPG key with no passphrase and export it + sudo -u alice gpg --passphrase-fd 0 --batch --yes --quick-generate-key 'alice@${domain}' rsa4096 sign,encr < <(echo) + sudo -u alice gpg --armor --export alice@${domain} > alice.asc + # Create a new mailing list with alice as the owner, and alice's key + schleuder-cli list new security@${domain} alice@${domain} alice.asc - # Send an email from a non-member of the list. Use --auto-from so we don't have to specify who it's from twice. - msmtp --auto-from security@${domain} --host=${domain} --port=25 --tls --tls-starttls < list.asc + # Find the fingerprint of the mailing list key + read list_key_fp address < <(schleuder-cli keys list security@${domain} | grep security@) + schleuder-cli keys export security@${domain} $list_key_fp > list.asc - # Import the key into alice's keyring, so we can verify it as well as decrypting - sudo -u alice gpg --import decrypted - # And check that the text matches. - grep "big security problem" decrypted - '') + # Import the key into alice's keyring, so we can verify it as well as decrypting + sudo -u alice gpg --import decrypted + # And check that the text matches. + grep "big security problem" decrypted + '') - # For debugging: - # pkgs.vim pkgs.openssl pkgs.sqliteinteractive - ]; + # For debugging: + # pkgs.vim pkgs.openssl pkgs.sqliteinteractive + ]; - security.pki.certificateFiles = [ certs.ca.cert ]; + security.pki.certificateFiles = [ certs.ca.cert ]; - # Since we don't have internet here, use dnsmasq to provide MX records from /etc/hosts - services.dnsmasq = { - enable = true; - settings.selfmx = true; - }; + # Since we don't have internet here, use dnsmasq to provide MX records from /etc/hosts + services.dnsmasq = { + enable = true; + settings.selfmx = true; + }; - networking.extraHosts = '' - 127.0.0.1 ${domain} - ''; + networking.extraHosts = '' + 127.0.0.1 ${domain} + ''; - # schleuder-cli's config is not quite optimal in several ways: - # - A fingerprint _must_ be pinned, it doesn't even have an option - # to trust the PKI - # - It compares certificate fingerprints rather than key - # fingerprints, so renewals break the pin (though that's not - # relevant for this test) - # - It compares them as strings, which means we need to match the - # expected format exactly. This means removing the :s and - # lowercasing it. - # Refs: - # https://0xacab.org/schleuder/schleuder-cli/-/issues/16 - # https://0xacab.org/schleuder/schleuder-cli/-/blob/f8895b9f47083d8c7b99a2797c93f170f3c6a3c0/lib/schleuder-cli/helper.rb#L230-238 - systemd.tmpfiles.rules = let cliconfig = pkgs.runCommand "schleuder-cli.yml" - { - nativeBuildInputs = [ pkgs.jq pkgs.openssl ]; - } '' - fp=$(openssl x509 -in ${certs.${domain}.cert} -noout -fingerprint -sha256 | cut -d = -f 2 | tr -d : | tr 'A-Z' 'a-z') - cat > $out < $out < /dev/null - ret=$? - if [ "$ret" -ne "0" ]; then - break - fi - done - return $ret - } - ping_all() { - ret=0 - for as in "$@" - do - scion ping "$as,127.0.0.1" -c 3 - ret=$? - if [ "$ret" -ne "0" ]; then - break - fi - done - return $ret - } - for i in $(seq 0 $timeout); do - sleep 1 - wait_for_all $addresses || continue - ping_all $addresses && exit 0 - done - exit 1 - ''; - in - '' - # List of AS instances - machines = [scion01, scion02, scion03, scion04, scion05] + testScript = + let + pingAll = pkgs.writeShellScript "ping-all-scion.sh" '' + addresses="42-ffaa:1:1 42-ffaa:1:2 42-ffaa:1:3 42-ffaa:1:4 42-ffaa:1:5" + timeout=100 + wait_for_all() { + ret=0 + for as in "$@" + do + scion showpaths $as --no-probe > /dev/null + ret=$? + if [ "$ret" -ne "0" ]; then + break + fi + done + return $ret + } + ping_all() { + ret=0 + for as in "$@" + do + scion ping "$as,127.0.0.1" -c 3 + ret=$? + if [ "$ret" -ne "0" ]; then + break + fi + done + return $ret + } + for i in $(seq 0 $timeout); do + sleep 1 + wait_for_all $addresses || continue + ping_all $addresses && exit 0 + done + exit 1 + ''; + in + '' + # List of AS instances + machines = [scion01, scion02, scion03, scion04, scion05] - # Functions to avoid many for loops - def start(allow_reboot=False): - for i in machines: - i.start(allow_reboot=allow_reboot) + # Functions to avoid many for loops + def start(allow_reboot=False): + for i in machines: + i.start(allow_reboot=allow_reboot) - def wait_for_unit(service_name): - for i in machines: - i.wait_for_unit(service_name) + def wait_for_unit(service_name): + for i in machines: + i.wait_for_unit(service_name) - def succeed(command): - for i in machines: - i.succeed(command) + def succeed(command): + for i in machines: + i.succeed(command) - def reboot(): - for i in machines: - i.reboot() + def reboot(): + for i in machines: + i.reboot() - def crash(): - for i in machines: - i.crash() + def crash(): + for i in machines: + i.crash() - # Start all machines, allowing reboot for later - start(allow_reboot=True) + # Start all machines, allowing reboot for later + start(allow_reboot=True) - # Wait for scion-control.service on all instances - wait_for_unit("scion-control.service") + # Wait for scion-control.service on all instances + wait_for_unit("scion-control.service") - # Ensure cert is valid against TRC - succeed("scion-pki certificate verify --trc /etc/scion/certs/*.trc /etc/scion/crypto/as/*.pem >&2") + # Ensure cert is valid against TRC + succeed("scion-pki certificate verify --trc /etc/scion/certs/*.trc /etc/scion/crypto/as/*.pem >&2") - # Execute pingAll command on all instances - succeed("${pingAll} >&2") + # Execute pingAll command on all instances + succeed("${pingAll} >&2") - # Execute ICMP pings across scion-ip-gateway - scion04.succeed("ping -c 3 172.16.100.1 >&2") - scion05.succeed("ping -c 3 172.16.1.1 >&2") + # Execute ICMP pings across scion-ip-gateway + scion04.succeed("ping -c 3 172.16.100.1 >&2") + scion05.succeed("ping -c 3 172.16.1.1 >&2") - # Restart all scion services and ping again to test robustness - succeed("systemctl restart scion-* >&2") - succeed("${pingAll} >&2") + # Restart all scion services and ping again to test robustness + succeed("systemctl restart scion-* >&2") + succeed("${pingAll} >&2") - # Reboot machines, wait for service, and ping again - reboot() - wait_for_unit("scion-control.service") - succeed("${pingAll} >&2") + # Reboot machines, wait for service, and ping again + reboot() + wait_for_unit("scion-control.service") + succeed("${pingAll} >&2") - # Crash, start, wait for service, and ping again - crash() - start() - wait_for_unit("scion-control.service") - succeed("pkill -9 scion-* >&2") - wait_for_unit("scion-control.service") - succeed("${pingAll} >&2") - ''; -}) + # Crash, start, wait for service, and ping again + crash() + start() + wait_for_unit("scion-control.service") + succeed("pkill -9 scion-* >&2") + wait_for_unit("scion-control.service") + succeed("${pingAll} >&2") + ''; + } +) diff --git a/nixos/tests/scrutiny.nix b/nixos/tests/scrutiny.nix index 4ac1b47952e08..a81dd60d85183 100644 --- a/nixos/tests/scrutiny.nix +++ b/nixos/tests/scrutiny.nix @@ -1,66 +1,83 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "scrutiny"; - meta.maintainers = with lib.maintainers; [ jnsgruk ]; + { + name = "scrutiny"; + meta.maintainers = with lib.maintainers; [ jnsgruk ]; - nodes = { - machine = { self, pkgs, lib, ... }: { - services = { - scrutiny.enable = true; - scrutiny.collector.enable = true; - }; + nodes = { + machine = + { + self, + pkgs, + lib, + ... + }: + { + services = { + scrutiny.enable = true; + scrutiny.collector.enable = true; + }; - environment.systemPackages = - let - seleniumScript = pkgs.writers.writePython3Bin "selenium-script" - { - libraries = with pkgs.python3Packages; [ selenium ]; - } '' - from selenium import webdriver - from selenium.webdriver.common.by import By - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC + environment.systemPackages = + let + seleniumScript = + pkgs.writers.writePython3Bin "selenium-script" + { + libraries = with pkgs.python3Packages; [ selenium ]; + } + '' + from selenium import webdriver + from selenium.webdriver.common.by import By + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.support.ui import WebDriverWait + from selenium.webdriver.support import expected_conditions as EC - options = Options() - options.add_argument("--headless") - service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 + options = Options() + options.add_argument("--headless") + service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 - driver = webdriver.Firefox(options=options, service=service) - driver.implicitly_wait(10) - driver.get("http://localhost:8080/web/dashboard") + driver = webdriver.Firefox(options=options, service=service) + driver.implicitly_wait(10) + driver.get("http://localhost:8080/web/dashboard") - wait = WebDriverWait(driver, 10).until( - EC.text_to_be_present_in_element( - (By.TAG_NAME, "body"), "Drive health at a glance") - ) + wait = WebDriverWait(driver, 10).until( + EC.text_to_be_present_in_element( + (By.TAG_NAME, "body"), "Drive health at a glance") + ) - body_text = driver.find_element(By.TAG_NAME, "body").text - assert "Temperature history for each device" in body_text + body_text = driver.find_element(By.TAG_NAME, "body").text + assert "Temperature history for each device" in body_text - driver.close() - ''; - in - with pkgs; [ curl firefox-unwrapped geckodriver seleniumScript ]; + driver.close() + ''; + in + with pkgs; + [ + curl + firefox-unwrapped + geckodriver + seleniumScript + ]; + }; }; - }; - # This is the test code that will check if our service is running correctly: - testScript = '' - start_all() + # This is the test code that will check if our service is running correctly: + testScript = '' + start_all() - # Wait for Scrutiny to be available - machine.wait_for_unit("scrutiny") - machine.wait_for_open_port(8080) + # Wait for Scrutiny to be available + machine.wait_for_unit("scrutiny") + machine.wait_for_open_port(8080) - # Ensure the API responds as we expect - output = machine.succeed("curl localhost:8080/api/health") - assert output == '{"success":true}' + # Ensure the API responds as we expect + output = machine.succeed("curl localhost:8080/api/health") + assert output == '{"success":true}' - # Start the collector service to send some metrics - collect = machine.succeed("systemctl start scrutiny-collector.service") + # Start the collector service to send some metrics + collect = machine.succeed("systemctl start scrutiny-collector.service") - # Ensure the application is actually rendered by the Javascript - machine.succeed("PYTHONUNBUFFERED=1 selenium-script") - ''; -}) + # Ensure the application is actually rendered by the Javascript + machine.succeed("PYTHONUNBUFFERED=1 selenium-script") + ''; + } +) diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index 3ca105cf9713d..aaf271dab5b8f 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -12,27 +13,32 @@ let default = { name = "sddm"; - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - services.displayManager.defaultSession = "none+icewm"; - services.xserver.windowManager.icewm.enable = true; - }; + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.displayManager.defaultSession = "none+icewm"; + services.xserver.windowManager.icewm.enable = true; + }; enableOCR = true; - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - in '' - start_all() - machine.wait_for_text("(?i)select your user") - machine.screenshot("sddm") - machine.send_chars("${user.password}\n") - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") - machine.wait_for_window("^IceWM ") - ''; + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + '' + start_all() + machine.wait_for_text("(?i)select your user") + machine.screenshot("sddm") + machine.send_chars("${user.password}\n") + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") + machine.wait_for_window("^IceWM ") + ''; }; autoLogin = { @@ -41,27 +47,31 @@ let maintainers = [ ttuegel ]; }; - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager = { - sddm.enable = true; - autoLogin = { - enable = true; - user = "alice"; + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager = { + sddm.enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; }; + services.displayManager.defaultSession = "none+icewm"; + services.xserver.windowManager.icewm.enable = true; }; - services.displayManager.defaultSession = "none+icewm"; - services.xserver.windowManager.icewm.enable = true; - }; - testScript = { nodes, ... }: '' - start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") - machine.wait_for_window("^IceWM ") - ''; + testScript = + { nodes, ... }: + '' + start_all() + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") + machine.wait_for_window("^IceWM ") + ''; }; }; in - lib.mapAttrs (lib.const makeTest) tests +lib.mapAttrs (lib.const makeTest) tests diff --git a/nixos/tests/seafile.nix b/nixos/tests/seafile.nix index 7784d5fddaedd..54aa582149d58 100644 --- a/nixos/tests/seafile.nix +++ b/nixos/tests/seafile.nix @@ -1,43 +1,57 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: let - client = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.seafile-shared pkgs.curl ]; - }; - in { + client = + { config, pkgs, ... }: + { + environment.systemPackages = [ + pkgs.seafile-shared + pkgs.curl + ]; + }; + in + { name = "seafile"; meta = with pkgs.lib.maintainers; { - maintainers = [ kampfschlaefer schmittlauch ]; + maintainers = [ + kampfschlaefer + schmittlauch + ]; }; nodes = { - server = { config, pkgs, ... }: { - services.seafile = { - enable = true; - ccnetSettings.General.SERVICE_URL = "http://server"; - seafileSettings.fileserver.host = "unix:/run/seafile/server.sock"; - adminEmail = "admin@example.com"; - initialAdminPassword = "seafile_password"; - }; - services.nginx = { - enable = true; - virtualHosts."server" = { - locations."/".proxyPass = "http://unix:/run/seahub/gunicorn.sock"; - locations."/seafhttp" = { - proxyPass = "http://unix:/run/seafile/server.sock"; - extraConfig = '' - rewrite ^/seafhttp(.*)$ $1 break; - client_max_body_size 0; - proxy_connect_timeout 36000s; - proxy_read_timeout 36000s; - proxy_send_timeout 36000s; - send_timeout 36000s; - proxy_http_version 1.1; - ''; + server = + { config, pkgs, ... }: + { + services.seafile = { + enable = true; + ccnetSettings.General.SERVICE_URL = "http://server"; + seafileSettings.fileserver.host = "unix:/run/seafile/server.sock"; + adminEmail = "admin@example.com"; + initialAdminPassword = "seafile_password"; + }; + services.nginx = { + enable = true; + virtualHosts."server" = { + locations."/".proxyPass = "http://unix:/run/seahub/gunicorn.sock"; + locations."/seafhttp" = { + proxyPass = "http://unix:/run/seafile/server.sock"; + extraConfig = '' + rewrite ^/seafhttp(.*)$ $1 break; + client_max_body_size 0; + proxy_connect_timeout 36000s; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + send_timeout 36000s; + proxy_http_version 1.1; + ''; + }; }; }; + networking.firewall = { + allowedTCPPorts = [ 80 ]; + }; }; - networking.firewall = { allowedTCPPorts = [ 80 ]; }; - }; client1 = client pkgs; client2 = client pkgs; }; @@ -113,4 +127,5 @@ import ./make-test-python.nix ({ pkgs, ... }: client2.succeed('[ `cat test01/first_file` = "bla" ]') ''; - }) + } +) diff --git a/nixos/tests/seatd.nix b/nixos/tests/seatd.nix index 9178492fdb0ef..8ba79ca495843 100644 --- a/nixos/tests/seatd.nix +++ b/nixos/tests/seatd.nix @@ -1,51 +1,58 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - seatd-test = pkgs.writeShellApplication { - name = "seatd-client-pid"; - text = '' - journalctl -u seatd --no-pager -b | while read -r line; do - case "$line" in - *"New client connected"*) - line="''${line##*pid: }" - pid="''${line%%,*}" - ;; - *"Opened client"*) - echo "$pid" - exit - esac - done; - ''; - }; -in -{ - name = "seatd"; - meta.maintainers = with lib.maintainers; [ sinanmohd ]; + let + seatd-test = pkgs.writeShellApplication { + name = "seatd-client-pid"; + text = '' + journalctl -u seatd --no-pager -b | while read -r line; do + case "$line" in + *"New client connected"*) + line="''${line##*pid: }" + pid="''${line%%,*}" + ;; + *"Opened client"*) + echo "$pid" + exit + esac + done; + ''; + }; + in + { + name = "seatd"; + meta.maintainers = with lib.maintainers; [ sinanmohd ]; - nodes.machine = { ... }: { - imports = [ ./common/user-account.nix ]; - services.getty.autologinUser = "alice"; - users.users.alice.extraGroups = [ "seat" "wheel" ]; + nodes.machine = + { ... }: + { + imports = [ ./common/user-account.nix ]; + services.getty.autologinUser = "alice"; + users.users.alice.extraGroups = [ + "seat" + "wheel" + ]; - fonts.enableDefaultPackages = true; - environment.systemPackages = with pkgs; [ - dwl - foot - seatd-test - ]; + fonts.enableDefaultPackages = true; + environment.systemPackages = with pkgs; [ + dwl + foot + seatd-test + ]; - programs.bash.loginShellInit = '' - [ "$(tty)" = "/dev/tty1" ] && - dwl -s 'foot touch /tmp/foot_started' - ''; + programs.bash.loginShellInit = '' + [ "$(tty)" = "/dev/tty1" ] && + dwl -s 'foot touch /tmp/foot_started' + ''; - hardware.graphics.enable = true; - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; - services.seatd.enable = true; - }; + hardware.graphics.enable = true; + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; + services.seatd.enable = true; + }; - testScript = '' - machine.wait_for_file("/tmp/foot_started") - machine.succeed("test $(seatd-client-pid) = $(pgrep dwl)") - ''; -}) + testScript = '' + machine.wait_for_file("/tmp/foot_started") + machine.succeed("test $(seatd-client-pid) = $(pgrep dwl)") + ''; + } +) diff --git a/nixos/tests/service-runner.nix b/nixos/tests/service-runner.nix index 79d96f739a6c8..42d87c384234d 100644 --- a/nixos/tests/service-runner.nix +++ b/nixos/tests/service-runner.nix @@ -1,36 +1,43 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "service-runner"; - meta = with pkgs.lib.maintainers; { - maintainers = [ roberth ]; - }; - - nodes = { - machine = { pkgs, lib, ... }: { - services.nginx.enable = true; - services.nginx.virtualHosts.machine.root = pkgs.runCommand "webroot" {} '' - mkdir $out - echo 'yay' >$out/index.html - ''; - systemd.services.nginx.enable = false; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "service-runner"; + meta = with pkgs.lib.maintainers; { + maintainers = [ roberth ]; }; - }; + nodes = { + machine = + { pkgs, lib, ... }: + { + services.nginx.enable = true; + services.nginx.virtualHosts.machine.root = pkgs.runCommand "webroot" { } '' + mkdir $out + echo 'yay' >$out/index.html + ''; + systemd.services.nginx.enable = false; + }; - testScript = { nodes, ... }: '' - url = "http://localhost/index.html" + }; - with subtest("check systemd.services.nginx.runner"): - machine.fail(f"curl {url}") - machine.succeed( - """ - mkdir -p /run/nginx /var/log/nginx /var/cache/nginx - ${nodes.machine.config.systemd.services.nginx.runner} >&2 & - echo $!>my-nginx.pid - """ - ) - machine.wait_for_open_port(80) - machine.succeed(f"curl -f {url}") - machine.succeed("kill -INT $(cat my-nginx.pid)") - machine.wait_for_closed_port(80) - ''; -}) + testScript = + { nodes, ... }: + '' + url = "http://localhost/index.html" + + with subtest("check systemd.services.nginx.runner"): + machine.fail(f"curl {url}") + machine.succeed( + """ + mkdir -p /run/nginx /var/log/nginx /var/cache/nginx + ${nodes.machine.config.systemd.services.nginx.runner} >&2 & + echo $!>my-nginx.pid + """ + ) + machine.wait_for_open_port(80) + machine.succeed(f"curl -f {url}") + machine.succeed("kill -INT $(cat my-nginx.pid)") + machine.wait_for_closed_port(80) + ''; + } +) diff --git a/nixos/tests/sftpgo.nix b/nixos/tests/sftpgo.nix index a5bb1981d2c3c..e3f7491a90d88 100644 --- a/nixos/tests/sftpgo.nix +++ b/nixos/tests/sftpgo.nix @@ -10,14 +10,13 @@ # # Additional test coverage for the remaining protocols (i.e. ftp, http and webdav) # would be a nice to have for the future. -{ pkgs, lib, ... }: +{ pkgs, lib, ... }: let inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; # Returns an attributeset of users who are not system users. - normalUsers = config: - lib.filterAttrs (name: user: user.isNormalUser) config.users.users; + normalUsers = config: lib.filterAttrs (name: user: user.isNormalUser) config.users.users; # Returns true if a user is a member of the given group isMemberOf = @@ -26,7 +25,7 @@ let groupName: # users.users attrset user: - lib.any (x: x == user.name) config.users.groups.${groupName}.members; + lib.any (x: x == user.name) config.users.groups.${groupName}.members; # Generates a valid SFTPGo user configuration for a given user # Will be converted to JSON and loaded on application startup. @@ -51,25 +50,28 @@ let # Supported for local filesystem only. If one or more of the specified folders are not # inside the dataprovider they will be automatically created. # You have to create the folder on the filesystem yourself - virtual_folders = - lib.optional (isMemberOf config sharedFolderName user) { - name = sharedFolderName; - mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}"; - virtual_path = "/${sharedFolderName}"; - }; + virtual_folders = lib.optional (isMemberOf config sharedFolderName user) { + name = sharedFolderName; + mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}"; + virtual_path = "/${sharedFolderName}"; + }; # Defines the ACL on the virtual filesystem permissions = - lib.recursiveUpdate { - "/" = [ "list" ]; # read-only top level directory - "/private" = [ "*" ]; # private subdirectory, not shared with others - } (lib.optionalAttrs (isMemberOf config "shared" user) { - "/shared" = [ "*" ]; - }); + lib.recursiveUpdate + { + "/" = [ "list" ]; # read-only top level directory + "/private" = [ "*" ]; # private subdirectory, not shared with others + } + ( + lib.optionalAttrs (isMemberOf config "shared" user) { + "/shared" = [ "*" ]; + } + ); filters = { - allowed_ip = []; - denied_ip = []; + allowed_ip = [ ]; + denied_ip = [ ]; web_client = [ "password-change-disabled" "password-reset-disabled" @@ -87,28 +89,31 @@ let # Generates a json file containing a static configuration # of users and folders to import to SFTPGo. - loadDataJson = config: pkgs.writeText "users-and-folders.json" (builtins.toJSON { - users = - lib.mapAttrsToList (name: user: generateUserAttrSet config user) (normalUsers config); - - folders = [ - { - name = sharedFolderName; - description = "shared folder"; - - # 0: local filesystem - # 1: AWS S3 compatible - # 2: Google Cloud Storage - filesystem.provider = 0; - - # Mapped path on the local filesystem - mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}"; - - # All users in the matching group gain access - users = config.users.groups.${sharedFolderName}.members; + loadDataJson = + config: + pkgs.writeText "users-and-folders.json" ( + builtins.toJSON { + users = lib.mapAttrsToList (name: user: generateUserAttrSet config user) (normalUsers config); + + folders = [ + { + name = sharedFolderName; + description = "shared folder"; + + # 0: local filesystem + # 1: AWS S3 compatible + # 2: Google Cloud Storage + filesystem.provider = 0; + + # Mapped path on the local filesystem + mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}"; + + # All users in the matching group gain access + users = config.users.groups.${sharedFolderName}.members; + } + ]; } - ]; - }); + ); # Generated Host Key for connecting to SFTPGo's sftp subsystem. snakeOilHostKey = pkgs.writeText "sftpgo_ed25519_host_key" '' @@ -147,236 +152,264 @@ in meta.maintainers = with lib.maintainers; [ yayayayaka ]; nodes = { - server = { nodes, ... }: { - networking.firewall.allowedTCPPorts = [ sftpPort httpPort ]; - - # nodes.server.configure postgresql database - services.postgresql = { - enable = true; - ensureDatabases = [ "sftpgo" ]; - ensureUsers = [{ - name = "sftpgo"; - ensureDBOwnership = true; - }]; - }; - - services.sftpgo = { - enable = true; + server = + { nodes, ... }: + { + networking.firewall.allowedTCPPorts = [ + sftpPort + httpPort + ]; - loadDataFile = (loadDataJson nodes.server); + # nodes.server.configure postgresql database + services.postgresql = { + enable = true; + ensureDatabases = [ "sftpgo" ]; + ensureUsers = [ + { + name = "sftpgo"; + ensureDBOwnership = true; + } + ]; + }; - settings = { - data_provider = { - driver = "postgresql"; - name = "sftpgo"; - username = "sftpgo"; - host = "/run/postgresql"; - port = 5432; + services.sftpgo = { + enable = true; - # Enables the possibility to create an initial admin user on first startup. - create_default_admin = true; - }; + loadDataFile = (loadDataJson nodes.server); - httpd.bindings = [ - { - address = ""; # listen on all interfaces - port = httpPort; - enable_https = false; + settings = { + data_provider = { + driver = "postgresql"; + name = "sftpgo"; + username = "sftpgo"; + host = "/run/postgresql"; + port = 5432; - enable_web_client = true; - enable_web_admin = true; - } - ]; + # Enables the possibility to create an initial admin user on first startup. + create_default_admin = true; + }; - # Enable sftpd - sftpd = { - bindings = [{ - address = ""; # listen on all interfaces - port = sftpPort; - }]; - host_keys = [ snakeOilHostKey ]; - password_authentication = false; - keyboard_interactive_authentication = false; + httpd.bindings = [ + { + address = ""; # listen on all interfaces + port = httpPort; + enable_https = false; + + enable_web_client = true; + enable_web_admin = true; + } + ]; + + # Enable sftpd + sftpd = { + bindings = [ + { + address = ""; # listen on all interfaces + port = sftpPort; + } + ]; + host_keys = [ snakeOilHostKey ]; + password_authentication = false; + keyboard_interactive_authentication = false; + }; }; }; - }; - systemd.services.sftpgo = { - after = [ "postgresql.service"]; - environment = { - # Update existing users - SFTPGO_LOADDATA_MODE = "0"; - SFTPGO_DEFAULT_ADMIN_USERNAME = adminUsername; + systemd.services.sftpgo = { + after = [ "postgresql.service" ]; + environment = { + # Update existing users + SFTPGO_LOADDATA_MODE = "0"; + SFTPGO_DEFAULT_ADMIN_USERNAME = adminUsername; - # This will end up in cleartext in the systemd service. - # Don't use this approach in production! - SFTPGO_DEFAULT_ADMIN_PASSWORD = adminPassword; + # This will end up in cleartext in the systemd service. + # Don't use this approach in production! + SFTPGO_DEFAULT_ADMIN_PASSWORD = adminPassword; + }; }; - }; - # Sets up the folder hierarchy on the local filesystem - systemd.tmpfiles.rules = - let - sftpgoUser = nodes.server.services.sftpgo.user; - sftpgoGroup = nodes.server.services.sftpgo.group; - statePath = nodes.server.services.sftpgo.dataDir; - in [ - # Create state directory - "d ${statePath} 0750 ${sftpgoUser} ${sftpgoGroup} -" - "d ${statePath}/users 0750 ${sftpgoUser} ${sftpgoGroup} -" - - # Created shared folder directories - "d ${statePath}/${sharedFolderName} 2770 ${sftpgoUser} ${sharedFolderName} -" - ] - ++ lib.mapAttrsToList (name: user: - # Create private user directories - '' - d ${statePath}/users/${user.name} 0700 ${sftpgoUser} ${sftpgoGroup} - - d ${statePath}/users/${user.name}/private 0700 ${sftpgoUser} ${sftpgoGroup} - - '' - ) (normalUsers nodes.server); - - users.users = - let - commonAttrs = { - isNormalUser = true; - openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - }; - in { - # SFTPGo admin user - admin = commonAttrs // { - password = adminPassword; - }; + # Sets up the folder hierarchy on the local filesystem + systemd.tmpfiles.rules = + let + sftpgoUser = nodes.server.services.sftpgo.user; + sftpgoGroup = nodes.server.services.sftpgo.group; + statePath = nodes.server.services.sftpgo.dataDir; + in + [ + # Create state directory + "d ${statePath} 0750 ${sftpgoUser} ${sftpgoGroup} -" + "d ${statePath}/users 0750 ${sftpgoUser} ${sftpgoGroup} -" + + # Created shared folder directories + "d ${statePath}/${sharedFolderName} 2770 ${sftpgoUser} ${sharedFolderName} -" + ] + ++ lib.mapAttrsToList ( + name: user: + # Create private user directories + '' + d ${statePath}/users/${user.name} 0700 ${sftpgoUser} ${sftpgoGroup} - + d ${statePath}/users/${user.name}/private 0700 ${sftpgoUser} ${sftpgoGroup} - + '') (normalUsers nodes.server); + + users.users = + let + commonAttrs = { + isNormalUser = true; + openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + }; + in + { + # SFTPGo admin user + admin = commonAttrs // { + password = adminPassword; + }; - # Alice and bob share folders with each other - alice = commonAttrs // { - password = alicePassword; - extraGroups = [ sharedFolderName ]; - }; + # Alice and bob share folders with each other + alice = commonAttrs // { + password = alicePassword; + extraGroups = [ sharedFolderName ]; + }; - bob = commonAttrs // { - password = bobPassword; - extraGroups = [ sharedFolderName ]; - }; + bob = commonAttrs // { + password = bobPassword; + extraGroups = [ sharedFolderName ]; + }; - # Eve has no shared folders - eve = commonAttrs // { - password = evePassword; + # Eve has no shared folders + eve = commonAttrs // { + password = evePassword; + }; }; - }; - users.groups.${sharedFolderName} = {}; - - specialisation = { - # A specialisation for asserting that SFTPGo can bind to privileged ports. - privilegedPorts.configuration = { ... }: { - networking.firewall.allowedTCPPorts = [ 22 80 ]; - services.sftpgo = { - settings = { - sftpd.bindings = lib.mkForce [{ - address = ""; - port = 22; - }]; - - httpd.bindings = lib.mkForce [{ - address = ""; - port = 80; - }]; + users.groups.${sharedFolderName} = { }; + + specialisation = { + # A specialisation for asserting that SFTPGo can bind to privileged ports. + privilegedPorts.configuration = + { ... }: + { + networking.firewall.allowedTCPPorts = [ + 22 + 80 + ]; + services.sftpgo = { + settings = { + sftpd.bindings = lib.mkForce [ + { + address = ""; + port = 22; + } + ]; + + httpd.bindings = lib.mkForce [ + { + address = ""; + port = 80; + } + ]; + }; + }; }; - }; }; }; - }; - client = { nodes, ... }: { - # Add the SFTPGo host key to the global known_hosts file - programs.ssh.knownHosts = - let - commonAttrs = { - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE61C7pTXfnLG2u9So+ijNTKaSOg009UrquqNL3fpEu1"; + client = + { nodes, ... }: + { + # Add the SFTPGo host key to the global known_hosts file + programs.ssh.knownHosts = + let + commonAttrs = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE61C7pTXfnLG2u9So+ijNTKaSOg009UrquqNL3fpEu1"; + }; + in + { + "server" = commonAttrs; + "[server]:2022" = commonAttrs; }; - in { - "server" = commonAttrs; - "[server]:2022" = commonAttrs; - }; }; }; - testScript = { nodes, ... }: let - # A function to generate test cases for wheter - # a specified username is expected to access the shared folder. - accessSharedFoldersSubtest = - { # The username to run as - username - # Whether the tests are expected to succeed or not - , shouldSucceed ? true - }: '' - with subtest("Test whether ${username} can access shared folders"): - client.${if shouldSucceed then "succeed" else "fail"}("sftp -P ${toString sftpPort} -b ${ - pkgs.writeText "${username}-ls-${sharedFolderName}" '' + testScript = + { nodes, ... }: + let + # A function to generate test cases for wheter + # a specified username is expected to access the shared folder. + accessSharedFoldersSubtest = + { + # The username to run as + username, + # Whether the tests are expected to succeed or not + shouldSucceed ? true, + }: + '' + with subtest("Test whether ${username} can access shared folders"): + client.${ + if shouldSucceed then "succeed" else "fail" + }("sftp -P ${toString sftpPort} -b ${pkgs.writeText "${username}-ls-${sharedFolderName}" '' ls ${sharedFolderName} - '' - } ${username}@server") - ''; + ''} ${username}@server") + ''; statePath = nodes.server.services.sftpgo.dataDir; - in '' - start_all() + in + '' + start_all() - client.wait_for_unit("default.target") - server.wait_for_unit("sftpgo.service") + client.wait_for_unit("default.target") + server.wait_for_unit("sftpgo.service") - with subtest("web client"): - client.wait_until_succeeds("curl -sSf http://server:${toString httpPort}/web/client/login") + with subtest("web client"): + client.wait_until_succeeds("curl -sSf http://server:${toString httpPort}/web/client/login") - # Ensure sftpgo found the static folder - client.wait_until_succeeds("curl -o /dev/null -sSf http://server:${toString httpPort}/static/favicon.ico") + # Ensure sftpgo found the static folder + client.wait_until_succeeds("curl -o /dev/null -sSf http://server:${toString httpPort}/static/favicon.ico") - with subtest("Setup SSH keys"): - client.succeed("mkdir -m 700 /root/.ssh") - client.succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa") - client.succeed("chmod 600 /root/.ssh/id_ecdsa") + with subtest("Setup SSH keys"): + client.succeed("mkdir -m 700 /root/.ssh") + client.succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa") + client.succeed("chmod 600 /root/.ssh/id_ecdsa") - with subtest("Copy a file over sftp"): - client.wait_until_succeeds("scp -P ${toString sftpPort} ${toString testFile} alice@server:/private/${testFile.name}") - server.succeed("test -s ${statePath}/users/alice/private/${testFile.name}") + with subtest("Copy a file over sftp"): + client.wait_until_succeeds("scp -P ${toString sftpPort} ${toString testFile} alice@server:/private/${testFile.name}") + server.succeed("test -s ${statePath}/users/alice/private/${testFile.name}") - # The configured ACL should prevent uploading files to the root directory - client.fail("scp -P ${toString sftpPort} ${toString testFile} alice@server:/") + # The configured ACL should prevent uploading files to the root directory + client.fail("scp -P ${toString sftpPort} ${toString testFile} alice@server:/") - with subtest("Attempting an interactive SSH sessions must fail"): - client.fail("ssh -p ${toString sftpPort} alice@server") + with subtest("Attempting an interactive SSH sessions must fail"): + client.fail("ssh -p ${toString sftpPort} alice@server") - ${accessSharedFoldersSubtest { - username = "alice"; - shouldSucceed = true; - }} + ${accessSharedFoldersSubtest { + username = "alice"; + shouldSucceed = true; + }} - ${accessSharedFoldersSubtest { - username = "bob"; - shouldSucceed = true; - }} + ${accessSharedFoldersSubtest { + username = "bob"; + shouldSucceed = true; + }} - ${accessSharedFoldersSubtest { - username = "eve"; - shouldSucceed = false; - }} + ${accessSharedFoldersSubtest { + username = "eve"; + shouldSucceed = false; + }} - with subtest("Test sharing files"): - # Alice uploads a file to shared folder - client.succeed("scp -P ${toString sftpPort} ${toString sharedFile} alice@server:/${sharedFolderName}/${sharedFile.name}") - server.succeed("test -s ${statePath}/${sharedFolderName}/${sharedFile.name}") + with subtest("Test sharing files"): + # Alice uploads a file to shared folder + client.succeed("scp -P ${toString sftpPort} ${toString sharedFile} alice@server:/${sharedFolderName}/${sharedFile.name}") + server.succeed("test -s ${statePath}/${sharedFolderName}/${sharedFile.name}") - # Bob downloads the file from shared folder - client.succeed("scp -P ${toString sftpPort} bob@server:/shared/${sharedFile.name} ${sharedFile.name}") - client.succeed("test -s ${sharedFile.name}") + # Bob downloads the file from shared folder + client.succeed("scp -P ${toString sftpPort} bob@server:/shared/${sharedFile.name} ${sharedFile.name}") + client.succeed("test -s ${sharedFile.name}") - # Eve should not get the file from shared folder - client.fail("scp -P ${toString sftpPort} eve@server:/shared/${sharedFile.name}") + # Eve should not get the file from shared folder + client.fail("scp -P ${toString sftpPort} eve@server:/shared/${sharedFile.name}") - server.succeed("/run/current-system/specialisation/privilegedPorts/bin/switch-to-configuration test") + server.succeed("/run/current-system/specialisation/privilegedPorts/bin/switch-to-configuration test") - client.wait_until_succeeds("sftp -P 22 -b ${pkgs.writeText "get-hello-world.txt" '' - get /private/${testFile.name} - ''} alice@server") - ''; + client.wait_until_succeeds("sftp -P 22 -b ${pkgs.writeText "get-hello-world.txt" '' + get /private/${testFile.name} + ''} alice@server") + ''; } diff --git a/nixos/tests/sfxr-qt.nix b/nixos/tests/sfxr-qt.nix index cca3e5f3ea765..d3696a5760417 100644 --- a/nixos/tests/sfxr-qt.nix +++ b/nixos/tests/sfxr-qt.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "sfxr-qt"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "sfxr-qt"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.sfxr-qt ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.sfxr-qt ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() # Add a dummy sound card, or the program won't start machine.execute("modprobe snd-dummy") @@ -28,4 +31,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.wait_for_text("requency") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/sgt-puzzles.nix b/nixos/tests/sgt-puzzles.nix index 4c5210bfce778..e5a92690854b2 100644 --- a/nixos/tests/sgt-puzzles.nix +++ b/nixos/tests/sgt-puzzles.nix @@ -1,34 +1,38 @@ -import ./make-test-python.nix ({ pkgs, ...} : -{ - name = "sgt-puzzles"; - meta = with pkgs.lib.maintainers; { - maintainers = [ tomfitzhenry ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "sgt-puzzles"; + meta = with pkgs.lib.maintainers; { + maintainers = [ tomfitzhenry ]; + }; - nodes.machine = { ... }: + nodes.machine = + { ... }: - { - imports = [ - ./common/x11.nix - ]; + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = with pkgs; [ - sgt-puzzles - ]; - }; + services.xserver.enable = true; + environment.systemPackages = with pkgs; [ + sgt-puzzles + ]; + }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: - '' - start_all() - machine.wait_for_x() + testScript = + { nodes, ... }: + '' + start_all() + machine.wait_for_x() - machine.execute("mines >&2 &") + machine.execute("mines >&2 &") - machine.wait_for_window("Mines") - machine.wait_for_text("Marked") - machine.screenshot("mines") - ''; -}) + machine.wait_for_window("Mines") + machine.wait_for_text("Marked") + machine.screenshot("mines") + ''; + } +) diff --git a/nixos/tests/shadow.nix b/nixos/tests/shadow.nix index a027af7e450b5..dba18f1276393 100644 --- a/nixos/tests/shadow.nix +++ b/nixos/tests/shadow.nix @@ -6,167 +6,175 @@ let hashed_bcrypt = "$2b$05$8xIEflrk2RxQtcVXbGIxs.Vl0x7dF1/JSv3cyX6JJt0npzkTCWvxK"; # fnord hashed_yeshash = "$y$j9T$d8Z4EAf8P1SvM/aDFbxMS0$VnTXMp/Hnc7QdCBEaLTq5ZFOAFo2/PM0/xEAFuOE88."; # fnord hashed_sha512crypt = "$6$ymzs8WINZ5wGwQcV$VC2S0cQiX8NVukOLymysTPn4v1zJoJp3NGyhnqyv/dAf4NWZsBWYveQcj6gEJr4ZUjRBRjM0Pj1L8TCQ8hUUp0"; # meow -in import ./make-test-python.nix ({ pkgs, ... }: { - name = "shadow"; - meta = with pkgs.lib.maintainers; { maintainers = [ nequissimus ]; }; +in +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "shadow"; + meta = with pkgs.lib.maintainers; { + maintainers = [ nequissimus ]; + }; - nodes.shadow = { pkgs, ... }: { - environment.systemPackages = [ pkgs.shadow ]; + nodes.shadow = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.shadow ]; - users = { - mutableUsers = true; - users.emma = { - isNormalUser = true; - password = password1; - shell = pkgs.bash; - }; - users.layla = { - isNormalUser = true; - password = password2; - shell = pkgs.shadow; - }; - users.ash = { - isNormalUser = true; - password = password4; - shell = pkgs.bash; - }; - users.berta = { - isNormalUser = true; - hashedPasswordFile = (pkgs.writeText "hashed_bcrypt" hashed_bcrypt).outPath; - shell = pkgs.bash; + users = { + mutableUsers = true; + users.emma = { + isNormalUser = true; + password = password1; + shell = pkgs.bash; + }; + users.layla = { + isNormalUser = true; + password = password2; + shell = pkgs.shadow; + }; + users.ash = { + isNormalUser = true; + password = password4; + shell = pkgs.bash; + }; + users.berta = { + isNormalUser = true; + hashedPasswordFile = (pkgs.writeText "hashed_bcrypt" hashed_bcrypt).outPath; + shell = pkgs.bash; + }; + users.yesim = { + isNormalUser = true; + hashedPassword = hashed_yeshash; + shell = pkgs.bash; + }; + users.leo = { + isNormalUser = true; + initialHashedPassword = "!"; + hashedPassword = hashed_sha512crypt; # should take precedence over initialHashedPassword + shell = pkgs.bash; + }; + }; }; - users.yesim = { - isNormalUser = true; - hashedPassword = hashed_yeshash; - shell = pkgs.bash; - }; - users.leo = { - isNormalUser = true; - initialHashedPassword = "!"; - hashedPassword = hashed_sha512crypt; # should take precedence over initialHashedPassword - shell = pkgs.bash; - }; - }; - }; - testScript = '' - shadow.wait_for_unit("multi-user.target") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + testScript = '' + shadow.wait_for_unit("multi-user.target") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - with subtest("Normal login"): - shadow.send_key("alt-f2") - shadow.wait_until_succeeds("[ $(fgconsole) = 2 ]") - shadow.wait_for_unit("getty@tty2.service") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty2'") - shadow.wait_until_tty_matches("2", "login: ") - shadow.send_chars("emma\n") - shadow.wait_until_tty_matches("2", "login: emma") - shadow.wait_until_succeeds("pgrep login") - shadow.sleep(2) - shadow.send_chars("${password1}\n") - shadow.send_chars("whoami > /tmp/1\n") - shadow.wait_for_file("/tmp/1") - assert "emma" in shadow.succeed("cat /tmp/1") + with subtest("Normal login"): + shadow.send_key("alt-f2") + shadow.wait_until_succeeds("[ $(fgconsole) = 2 ]") + shadow.wait_for_unit("getty@tty2.service") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty2'") + shadow.wait_until_tty_matches("2", "login: ") + shadow.send_chars("emma\n") + shadow.wait_until_tty_matches("2", "login: emma") + shadow.wait_until_succeeds("pgrep login") + shadow.sleep(2) + shadow.send_chars("${password1}\n") + shadow.send_chars("whoami > /tmp/1\n") + shadow.wait_for_file("/tmp/1") + assert "emma" in shadow.succeed("cat /tmp/1") - with subtest("Switch user"): - shadow.send_chars("su - ash\n") - shadow.sleep(2) - shadow.send_chars("${password4}\n") - shadow.sleep(2) - shadow.send_chars("whoami > /tmp/3\n") - shadow.wait_for_file("/tmp/3") - assert "ash" in shadow.succeed("cat /tmp/3") + with subtest("Switch user"): + shadow.send_chars("su - ash\n") + shadow.sleep(2) + shadow.send_chars("${password4}\n") + shadow.sleep(2) + shadow.send_chars("whoami > /tmp/3\n") + shadow.wait_for_file("/tmp/3") + assert "ash" in shadow.succeed("cat /tmp/3") - with subtest("Change password"): - shadow.send_key("alt-f3") - shadow.wait_until_succeeds("[ $(fgconsole) = 3 ]") - shadow.wait_for_unit("getty@tty3.service") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty3'") - shadow.wait_until_tty_matches("3", "login: ") - shadow.send_chars("emma\n") - shadow.wait_until_tty_matches("3", "login: emma") - shadow.wait_until_succeeds("pgrep login") - shadow.sleep(2) - shadow.send_chars("${password1}\n") - shadow.send_chars("passwd\n") - shadow.sleep(2) - shadow.send_chars("${password1}\n") - shadow.sleep(2) - shadow.send_chars("${password3}\n") - shadow.sleep(2) - shadow.send_chars("${password3}\n") - shadow.sleep(2) - shadow.send_key("alt-f4") - shadow.wait_until_succeeds("[ $(fgconsole) = 4 ]") - shadow.wait_for_unit("getty@tty4.service") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty4'") - shadow.wait_until_tty_matches("4", "login: ") - shadow.send_chars("emma\n") - shadow.wait_until_tty_matches("4", "login: emma") - shadow.wait_until_succeeds("pgrep login") - shadow.sleep(2) - shadow.send_chars("${password1}\n") - shadow.wait_until_tty_matches("4", "Login incorrect") - shadow.wait_until_tty_matches("4", "login:") - shadow.send_chars("emma\n") - shadow.wait_until_tty_matches("4", "login: emma") - shadow.wait_until_succeeds("pgrep login") - shadow.sleep(2) - shadow.send_chars("${password3}\n") - shadow.send_chars("whoami > /tmp/2\n") - shadow.wait_for_file("/tmp/2") - assert "emma" in shadow.succeed("cat /tmp/2") + with subtest("Change password"): + shadow.send_key("alt-f3") + shadow.wait_until_succeeds("[ $(fgconsole) = 3 ]") + shadow.wait_for_unit("getty@tty3.service") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty3'") + shadow.wait_until_tty_matches("3", "login: ") + shadow.send_chars("emma\n") + shadow.wait_until_tty_matches("3", "login: emma") + shadow.wait_until_succeeds("pgrep login") + shadow.sleep(2) + shadow.send_chars("${password1}\n") + shadow.send_chars("passwd\n") + shadow.sleep(2) + shadow.send_chars("${password1}\n") + shadow.sleep(2) + shadow.send_chars("${password3}\n") + shadow.sleep(2) + shadow.send_chars("${password3}\n") + shadow.sleep(2) + shadow.send_key("alt-f4") + shadow.wait_until_succeeds("[ $(fgconsole) = 4 ]") + shadow.wait_for_unit("getty@tty4.service") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty4'") + shadow.wait_until_tty_matches("4", "login: ") + shadow.send_chars("emma\n") + shadow.wait_until_tty_matches("4", "login: emma") + shadow.wait_until_succeeds("pgrep login") + shadow.sleep(2) + shadow.send_chars("${password1}\n") + shadow.wait_until_tty_matches("4", "Login incorrect") + shadow.wait_until_tty_matches("4", "login:") + shadow.send_chars("emma\n") + shadow.wait_until_tty_matches("4", "login: emma") + shadow.wait_until_succeeds("pgrep login") + shadow.sleep(2) + shadow.send_chars("${password3}\n") + shadow.send_chars("whoami > /tmp/2\n") + shadow.wait_for_file("/tmp/2") + assert "emma" in shadow.succeed("cat /tmp/2") - with subtest("Groups"): - assert "foobar" not in shadow.succeed("groups emma") - shadow.succeed("groupadd foobar") - shadow.succeed("usermod -a -G foobar emma") - assert "foobar" in shadow.succeed("groups emma") + with subtest("Groups"): + assert "foobar" not in shadow.succeed("groups emma") + shadow.succeed("groupadd foobar") + shadow.succeed("usermod -a -G foobar emma") + assert "foobar" in shadow.succeed("groups emma") - with subtest("nologin shell"): - shadow.send_key("alt-f5") - shadow.wait_until_succeeds("[ $(fgconsole) = 5 ]") - shadow.wait_for_unit("getty@tty5.service") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty5'") - shadow.wait_until_tty_matches("5", "login: ") - shadow.send_chars("layla\n") - shadow.wait_until_tty_matches("5", "login: layla") - shadow.wait_until_succeeds("pgrep login") - shadow.send_chars("${password2}\n") - shadow.wait_until_tty_matches("5", "login:") + with subtest("nologin shell"): + shadow.send_key("alt-f5") + shadow.wait_until_succeeds("[ $(fgconsole) = 5 ]") + shadow.wait_for_unit("getty@tty5.service") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty5'") + shadow.wait_until_tty_matches("5", "login: ") + shadow.send_chars("layla\n") + shadow.wait_until_tty_matches("5", "login: layla") + shadow.wait_until_succeeds("pgrep login") + shadow.send_chars("${password2}\n") + shadow.wait_until_tty_matches("5", "login:") - with subtest("check alternate password hashes"): - shadow.send_key("alt-f6") - shadow.wait_until_succeeds("[ $(fgconsole) = 6 ]") - for u in ["berta", "yesim"]: - shadow.wait_for_unit("getty@tty6.service") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty6'") - shadow.wait_until_tty_matches("6", "login: ") - shadow.send_chars(f"{u}\n") - shadow.wait_until_tty_matches("6", f"login: {u}") - shadow.wait_until_succeeds("pgrep login") - shadow.sleep(2) - shadow.send_chars("fnord\n") - shadow.send_chars(f"whoami > /tmp/{u}\n") - shadow.wait_for_file(f"/tmp/{u}") - print(shadow.succeed(f"cat /tmp/{u}")) - assert u in shadow.succeed(f"cat /tmp/{u}") - shadow.send_chars("logout\n") + with subtest("check alternate password hashes"): + shadow.send_key("alt-f6") + shadow.wait_until_succeeds("[ $(fgconsole) = 6 ]") + for u in ["berta", "yesim"]: + shadow.wait_for_unit("getty@tty6.service") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty6'") + shadow.wait_until_tty_matches("6", "login: ") + shadow.send_chars(f"{u}\n") + shadow.wait_until_tty_matches("6", f"login: {u}") + shadow.wait_until_succeeds("pgrep login") + shadow.sleep(2) + shadow.send_chars("fnord\n") + shadow.send_chars(f"whoami > /tmp/{u}\n") + shadow.wait_for_file(f"/tmp/{u}") + print(shadow.succeed(f"cat /tmp/{u}")) + assert u in shadow.succeed(f"cat /tmp/{u}") + shadow.send_chars("logout\n") - with subtest("Ensure hashedPassword does not get overridden by initialHashedPassword"): - shadow.send_key("alt-f6") - shadow.wait_until_succeeds("[ $(fgconsole) = 6 ]") - shadow.wait_for_unit("getty@tty6.service") - shadow.wait_until_succeeds("pgrep -f 'agetty.*tty6'") - shadow.wait_until_tty_matches("6", "login: ") - shadow.send_chars("leo\n") - shadow.wait_until_tty_matches("6", "login: leo") - shadow.wait_until_succeeds("pgrep login") - shadow.sleep(2) - shadow.send_chars("meow\n") - shadow.send_chars("whoami > /tmp/leo\n") - shadow.wait_for_file("/tmp/leo") - assert "leo" in shadow.succeed("cat /tmp/leo") - shadow.send_chars("logout\n") - ''; -}) + with subtest("Ensure hashedPassword does not get overridden by initialHashedPassword"): + shadow.send_key("alt-f6") + shadow.wait_until_succeeds("[ $(fgconsole) = 6 ]") + shadow.wait_for_unit("getty@tty6.service") + shadow.wait_until_succeeds("pgrep -f 'agetty.*tty6'") + shadow.wait_until_tty_matches("6", "login: ") + shadow.send_chars("leo\n") + shadow.wait_until_tty_matches("6", "login: leo") + shadow.wait_until_succeeds("pgrep login") + shadow.sleep(2) + shadow.send_chars("meow\n") + shadow.send_chars("whoami > /tmp/leo\n") + shadow.wait_for_file("/tmp/leo") + assert "leo" in shadow.succeed("cat /tmp/leo") + shadow.send_chars("logout\n") + ''; + } +) diff --git a/nixos/tests/shadowsocks/common.nix b/nixos/tests/shadowsocks/common.nix index 82a63771b03ab..e81eccb3f3b3c 100644 --- a/nixos/tests/shadowsocks/common.nix +++ b/nixos/tests/shadowsocks/common.nix @@ -1,9 +1,12 @@ -{ name -, plugin ? null -, pluginOpts ? "" +{ + name, + plugin ? null, + pluginOpts ? "", }: -import ../make-test-python.nix ({ pkgs, lib, ... }: { +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { inherit name; meta = { maintainers = with lib.maintainers; [ hmenke ]; @@ -14,23 +17,28 @@ import ../make-test-python.nix ({ pkgs, lib, ... }: { boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; networking.useDHCP = false; networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.1"; prefixLength = 24; } + { + address = "192.168.0.1"; + prefixLength = 24; + } ]; networking.firewall.rejectPackets = true; networking.firewall.allowedTCPPorts = [ 8488 ]; networking.firewall.allowedUDPPorts = [ 8488 ]; - services.shadowsocks = { - enable = true; - encryptionMethod = "chacha20-ietf-poly1305"; - password = "pa$$w0rd"; - localAddress = [ "0.0.0.0" ]; - port = 8488; - fastOpen = false; - mode = "tcp_and_udp"; - } // lib.optionalAttrs (plugin != null) { - inherit plugin; - pluginOpts = "server;${pluginOpts}"; - }; + services.shadowsocks = + { + enable = true; + encryptionMethod = "chacha20-ietf-poly1305"; + password = "pa$$w0rd"; + localAddress = [ "0.0.0.0" ]; + port = 8488; + fastOpen = false; + mode = "tcp_and_udp"; + } + // lib.optionalAttrs (plugin != null) { + inherit plugin; + pluginOpts = "server;${pluginOpts}"; + }; services.nginx = { enable = true; virtualHosts.server = { @@ -42,7 +50,10 @@ import ../make-test-python.nix ({ pkgs, lib, ... }: { client = { networking.useDHCP = false; networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.2"; prefixLength = 24; } + { + address = "192.168.0.2"; + prefixLength = 24; + } ]; systemd.services.shadowsocks-client = { description = "connect to shadowsocks"; diff --git a/nixos/tests/shadowsocks/default.nix b/nixos/tests/shadowsocks/default.nix index 37a8c3c9d0d3b..3587ffb0edc50 100644 --- a/nixos/tests/shadowsocks/default.nix +++ b/nixos/tests/shadowsocks/default.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: { diff --git a/nixos/tests/shattered-pixel-dungeon.nix b/nixos/tests/shattered-pixel-dungeon.nix index cabf192c6002f..dadd9991e29e3 100644 --- a/nixos/tests/shattered-pixel-dungeon.nix +++ b/nixos/tests/shattered-pixel-dungeon.nix @@ -1,27 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "shattered-pixel-dungeon"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "shattered-pixel-dungeon"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.shattered-pixel-dungeon ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.shattered-pixel-dungeon ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() machine.execute("shattered-pixel-dungeon >&2 &") machine.wait_for_window(r"Shattered Pixel Dungeon") machine.wait_for_text("Enter") machine.screenshot("screen") ''; -}) - + } +) diff --git a/nixos/tests/shiori.nix b/nixos/tests/shiori.nix index ba9b42235df28..f25807e900f97 100644 --- a/nixos/tests/shiori.nix +++ b/nixos/tests/shiori.nix @@ -1,81 +1,90 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: { name = "shiori"; meta.maintainers = with lib.maintainers; [ minijackson ]; - nodes.machine = { ... }: { services.shiori.enable = true; }; + nodes.machine = + { ... }: + { + services.shiori.enable = true; + }; - testScript = let - authJSON = pkgs.writeText "auth.json" (builtins.toJSON { - username = "shiori"; - password = "gopher"; - owner = true; - }); + testScript = + let + authJSON = pkgs.writeText "auth.json" ( + builtins.toJSON { + username = "shiori"; + password = "gopher"; + owner = true; + } + ); - insertBookmark = { - url = "http://example.org"; - title = "Example Bookmark"; - }; + insertBookmark = { + url = "http://example.org"; + title = "Example Bookmark"; + }; - insertBookmarkJSON = - pkgs.writeText "insertBookmark.json" (builtins.toJSON insertBookmark); - in '' - #import json + insertBookmarkJSON = pkgs.writeText "insertBookmark.json" (builtins.toJSON insertBookmark); + in + '' + #import json - machine.wait_for_unit("shiori.service") - machine.wait_for_open_port(8080) - machine.succeed("curl --fail http://localhost:8080/") - machine.succeed("curl --fail --location http://localhost:8080/ | grep -i shiori") + machine.wait_for_unit("shiori.service") + machine.wait_for_open_port(8080) + machine.succeed("curl --fail http://localhost:8080/") + machine.succeed("curl --fail --location http://localhost:8080/ | grep -i shiori") - # The test code below no longer works because the API authentication has changed. + # The test code below no longer works because the API authentication has changed. - #with subtest("login"): - # auth_json = machine.succeed( - # "curl --fail --location http://localhost:8080/api/login " - # "-X POST -H 'Content-Type:application/json' -d @${authJSON}" - # ) - # auth_ret = json.loads(auth_json) - # session_id = auth_ret["session"] + #with subtest("login"): + # auth_json = machine.succeed( + # "curl --fail --location http://localhost:8080/api/login " + # "-X POST -H 'Content-Type:application/json' -d @${authJSON}" + # ) + # auth_ret = json.loads(auth_json) + # session_id = auth_ret["session"] - #with subtest("bookmarks"): - # with subtest("first use no bookmarks"): - # bookmarks_json = machine.succeed( - # ( - # "curl --fail --location http://localhost:8080/api/bookmarks " - # "-H 'X-Session-Id:{}'" - # ).format(session_id) - # ) + #with subtest("bookmarks"): + # with subtest("first use no bookmarks"): + # bookmarks_json = machine.succeed( + # ( + # "curl --fail --location http://localhost:8080/api/bookmarks " + # "-H 'X-Session-Id:{}'" + # ).format(session_id) + # ) - # if json.loads(bookmarks_json)["bookmarks"] != []: - # raise Exception("Shiori have a bookmark on first use") + # if json.loads(bookmarks_json)["bookmarks"] != []: + # raise Exception("Shiori have a bookmark on first use") - # with subtest("insert bookmark"): - # machine.succeed( - # ( - # "curl --fail --location http://localhost:8080/api/bookmarks " - # "-X POST -H 'X-Session-Id:{}' " - # "-H 'Content-Type:application/json' -d @${insertBookmarkJSON}" - # ).format(session_id) - # ) + # with subtest("insert bookmark"): + # machine.succeed( + # ( + # "curl --fail --location http://localhost:8080/api/bookmarks " + # "-X POST -H 'X-Session-Id:{}' " + # "-H 'Content-Type:application/json' -d @${insertBookmarkJSON}" + # ).format(session_id) + # ) - # with subtest("get inserted bookmark"): - # bookmarks_json = machine.succeed( - # ( - # "curl --fail --location http://localhost:8080/api/bookmarks " - # "-H 'X-Session-Id:{}'" - # ).format(session_id) - # ) + # with subtest("get inserted bookmark"): + # bookmarks_json = machine.succeed( + # ( + # "curl --fail --location http://localhost:8080/api/bookmarks " + # "-H 'X-Session-Id:{}'" + # ).format(session_id) + # ) - # bookmarks = json.loads(bookmarks_json)["bookmarks"] - # if len(bookmarks) != 1: - # raise Exception("Shiori didn't save the bookmark") + # bookmarks = json.loads(bookmarks_json)["bookmarks"] + # if len(bookmarks) != 1: + # raise Exception("Shiori didn't save the bookmark") - # bookmark = bookmarks[0] - # if ( - # bookmark["url"] != "${insertBookmark.url}" - # or bookmark["title"] != "${insertBookmark.title}" - # ): - # raise Exception("Inserted bookmark doesn't have same URL or title") - ''; - }) + # bookmark = bookmarks[0] + # if ( + # bookmark["url"] != "${insertBookmark.url}" + # or bookmark["title"] != "${insertBookmark.title}" + # ): + # raise Exception("Inserted bookmark doesn't have same URL or title") + ''; + } +) diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix index f146804a958de..22b21f4bcecfd 100644 --- a/nixos/tests/signal-desktop.nix +++ b/nixos/tests/signal-desktop.nix @@ -1,69 +1,82 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -let - sqlcipher-signal = pkgs.writeShellScriptBin "sqlcipher" '' - set -eu + let + sqlcipher-signal = pkgs.writeShellScriptBin "sqlcipher" '' + set -eu - readonly CFG=~/.config/Signal/config.json - readonly KEY="$(${pkgs.jq}/bin/jq --raw-output '.key' $CFG)" - readonly DB="$1" - readonly SQL="SELECT * FROM sqlite_master where type='table'" - ${pkgs.sqlcipher}/bin/sqlcipher "$DB" "PRAGMA key = \"x'$KEY'\"; $SQL" - ''; -in { - name = "signal-desktop"; - meta = with pkgs.lib.maintainers; { - maintainers = [ flokli primeos ]; - }; + readonly CFG=~/.config/Signal/config.json + readonly KEY="$(${pkgs.jq}/bin/jq --raw-output '.key' $CFG)" + readonly DB="$1" + readonly SQL="SELECT * FROM sqlite_master where type='table'" + ${pkgs.sqlcipher}/bin/sqlcipher "$DB" "PRAGMA key = \"x'$KEY'\"; $SQL" + ''; + in + { + name = "signal-desktop"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + flokli + primeos + ]; + }; - nodes.machine = { ... }: + nodes.machine = + { ... }: - { - imports = [ - ./common/user-account.nix - ./common/x11.nix - ]; + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; - services.xserver.enable = true; - test-support.displayManager.auto.user = "alice"; - environment.systemPackages = with pkgs; [ - signal-desktop file sqlite sqlcipher-signal - ]; - }; + services.xserver.enable = true; + test-support.displayManager.auto.user = "alice"; + environment.systemPackages = with pkgs; [ + signal-desktop + file + sqlite + sqlcipher-signal + ]; + }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - in '' - start_all() - machine.wait_for_x() + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + start_all() + machine.wait_for_x() - # start signal desktop - machine.execute("su - alice -c signal-desktop >&2 &") + # start signal desktop + machine.execute("su - alice -c signal-desktop >&2 &") - # Wait for the Signal window to appear. Since usually the tests - # are run sandboxed and therefore with no internet, we can not wait - # for the message "Link your phone ...". Nor should we wait for - # the "Failed to connect to server" message, because when manually - # running this test it will be not sandboxed. - machine.wait_for_text("Signal") - machine.wait_for_text("File Edit View Window Help") - machine.screenshot("signal_desktop") + # Wait for the Signal window to appear. Since usually the tests + # are run sandboxed and therefore with no internet, we can not wait + # for the message "Link your phone ...". Nor should we wait for + # the "Failed to connect to server" message, because when manually + # running this test it will be not sandboxed. + machine.wait_for_text("Signal") + machine.wait_for_text("File Edit View Window Help") + machine.screenshot("signal_desktop") - # Test if the database is encrypted to prevent these issues: - # - https://github.com/NixOS/nixpkgs/issues/108772 - # - https://github.com/NixOS/nixpkgs/pull/117555 - print(machine.succeed("su - alice -c 'file ~/.config/Signal/sql/db.sqlite'")) - machine.fail( - "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -e SQLite -e database" - ) - # Only SQLCipher should be able to read the encrypted DB: - machine.fail( - "su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .tables'" - ) - print(machine.succeed( - "su - alice -c 'sqlcipher ~/.config/Signal/sql/db.sqlite'" - )) - ''; -}) + # Test if the database is encrypted to prevent these issues: + # - https://github.com/NixOS/nixpkgs/issues/108772 + # - https://github.com/NixOS/nixpkgs/pull/117555 + print(machine.succeed("su - alice -c 'file ~/.config/Signal/sql/db.sqlite'")) + machine.fail( + "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -e SQLite -e database" + ) + # Only SQLCipher should be able to read the encrypted DB: + machine.fail( + "su - alice -c 'sqlite3 ~/.config/Signal/sql/db.sqlite .tables'" + ) + print(machine.succeed( + "su - alice -c 'sqlcipher ~/.config/Signal/sql/db.sqlite'" + )) + ''; + } +) diff --git a/nixos/tests/silverbullet.nix b/nixos/tests/silverbullet.nix index e7e3cf5365583..a14e59cccf484 100644 --- a/nixos/tests/silverbullet.nix +++ b/nixos/tests/silverbullet.nix @@ -1,47 +1,59 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "silverbullet"; - meta.maintainers = with lib.maintainers; [ aorith ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "silverbullet"; + meta.maintainers = with lib.maintainers; [ aorith ]; - nodes.simple = { ... }: { - services.silverbullet.enable = true; - }; + nodes.simple = + { ... }: + { + services.silverbullet.enable = true; + }; - nodes.configured = { pkgs, ... }: { - users.users.test.isNormalUser = true; - users.groups.test = { }; + nodes.configured = + { pkgs, ... }: + { + users.users.test.isNormalUser = true; + users.groups.test = { }; - services.silverbullet = { - enable = true; - package = pkgs.silverbullet; - listenPort = 3001; - listenAddress = "localhost"; - spaceDir = "/home/test/silverbullet"; - user = "test"; - group = "test"; - envFile = pkgs.writeText "silverbullet.env" '' - SB_USER=user:password - SB_AUTH_TOKEN=test - ''; - extraArgs = [ "--reindex" "--db /home/test/silverbullet/custom.db" ]; - }; - }; + services.silverbullet = { + enable = true; + package = pkgs.silverbullet; + listenPort = 3001; + listenAddress = "localhost"; + spaceDir = "/home/test/silverbullet"; + user = "test"; + group = "test"; + envFile = pkgs.writeText "silverbullet.env" '' + SB_USER=user:password + SB_AUTH_TOKEN=test + ''; + extraArgs = [ + "--reindex" + "--db /home/test/silverbullet/custom.db" + ]; + }; + }; - testScript = { nodes, ... }: '' - PORT = ${builtins.toString nodes.simple.services.silverbullet.listenPort} - ADDRESS = "${nodes.simple.services.silverbullet.listenAddress}" - SPACEDIR = "${nodes.simple.services.silverbullet.spaceDir}" - simple.wait_for_unit("silverbullet.service") - simple.wait_for_open_port(PORT) - simple.succeed(f"curl --max-time 5 -s -v -o /dev/null --fail http://{ADDRESS}:{PORT}/") - simple.succeed(f"test -d '{SPACEDIR}'") + testScript = + { nodes, ... }: + '' + PORT = ${builtins.toString nodes.simple.services.silverbullet.listenPort} + ADDRESS = "${nodes.simple.services.silverbullet.listenAddress}" + SPACEDIR = "${nodes.simple.services.silverbullet.spaceDir}" + simple.wait_for_unit("silverbullet.service") + simple.wait_for_open_port(PORT) + simple.succeed(f"curl --max-time 5 -s -v -o /dev/null --fail http://{ADDRESS}:{PORT}/") + simple.succeed(f"test -d '{SPACEDIR}'") - PORT = ${builtins.toString nodes.configured.services.silverbullet.listenPort} - ADDRESS = "${nodes.configured.services.silverbullet.listenAddress}" - SPACEDIR = "${nodes.configured.services.silverbullet.spaceDir}" - configured.wait_for_unit("silverbullet.service") - configured.wait_for_open_port(PORT) - assert int(configured.succeed(f"curl --max-time 5 -s -o /dev/null -w '%{{http_code}}' -XPUT -d 'test' --fail http://{ADDRESS}:{PORT}/test.md -H'Authorization: Bearer test'")) == 200 - assert int(configured.fail(f"curl --max-time 5 -s -o /dev/null -w '%{{http_code}}' -XPUT -d 'test' --fail http://{ADDRESS}:{PORT}/test.md -H'Authorization: Bearer wrong'")) == 401 - configured.succeed(f"test -d '{SPACEDIR}'") - ''; -}) + PORT = ${builtins.toString nodes.configured.services.silverbullet.listenPort} + ADDRESS = "${nodes.configured.services.silverbullet.listenAddress}" + SPACEDIR = "${nodes.configured.services.silverbullet.spaceDir}" + configured.wait_for_unit("silverbullet.service") + configured.wait_for_open_port(PORT) + assert int(configured.succeed(f"curl --max-time 5 -s -o /dev/null -w '%{{http_code}}' -XPUT -d 'test' --fail http://{ADDRESS}:{PORT}/test.md -H'Authorization: Bearer test'")) == 200 + assert int(configured.fail(f"curl --max-time 5 -s -o /dev/null -w '%{{http_code}}' -XPUT -d 'test' --fail http://{ADDRESS}:{PORT}/test.md -H'Authorization: Bearer wrong'")) == 401 + configured.succeed(f"test -d '{SPACEDIR}'") + ''; + } +) diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix index afd49d481a65d..ab9cf1d9768fe 100644 --- a/nixos/tests/simple.nix +++ b/nixos/tests/simple.nix @@ -1,17 +1,21 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "simple"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "simple"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - }; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("multi-user.target") machine.shutdown() ''; -}) + } +) diff --git a/nixos/tests/slimserver.nix b/nixos/tests/slimserver.nix index abc0cd2ef1812..ac166b109c841 100644 --- a/nixos/tests/slimserver.nix +++ b/nixos/tests/slimserver.nix @@ -1,18 +1,21 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "slimserver"; - meta.maintainers = with pkgs.lib.maintainers; [ adamcstephens ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "slimserver"; + meta.maintainers = with pkgs.lib.maintainers; [ adamcstephens ]; - nodes.machine = { ... }: { - services.slimserver.enable = true; - services.squeezelite = { - enable = true; - extraArguments = "-s 127.0.0.1 -d slimproto=info"; - }; - boot.kernelModules = ["snd-dummy"]; - }; + nodes.machine = + { ... }: + { + services.slimserver.enable = true; + services.squeezelite = { + enable = true; + extraArguments = "-s 127.0.0.1 -d slimproto=info"; + }; + boot.kernelModules = [ "snd-dummy" ]; + }; - testScript = - '' + testScript = '' import json rpc_get_player = { "id": 1, @@ -43,4 +46,5 @@ import ./make-test-python.nix ({ pkgs, ...} : { player_id = machine.succeed(f"curl http://localhost:9000/jsonrpc.js -g -X POST -d '{json.dumps(rpc_get_player)}'") assert player_mac == json.loads(player_id)["result"]["_id"], "squeezelite player not found" ''; -}) + } +) diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix index f35eaf9c8e784..02fe38c6ecfeb 100644 --- a/nixos/tests/slurm.nix +++ b/nixos/tests/slurm.nix @@ -1,5 +1,6 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -let +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let slurmconfig = { services.slurm = { controlMachine = "control"; @@ -17,152 +18,160 @@ let ]; }; - mpitest = let - mpitestC = pkgs.writeText "mpitest.c" '' - #include - #include - #include + mpitest = + let + mpitestC = pkgs.writeText "mpitest.c" '' + #include + #include + #include - int - main (int argc, char *argv[]) - { - int rank, size, length; - char name[512]; + int + main (int argc, char *argv[]) + { + int rank, size, length; + char name[512]; - MPI_Init (&argc, &argv); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Comm_size (MPI_COMM_WORLD, &size); - MPI_Get_processor_name (name, &length); + MPI_Init (&argc, &argv); + MPI_Comm_rank (MPI_COMM_WORLD, &rank); + MPI_Comm_size (MPI_COMM_WORLD, &size); + MPI_Get_processor_name (name, &length); - if ( rank == 0 ) printf("size=%d\n", size); + if ( rank == 0 ) printf("size=%d\n", size); - printf ("%s: hello world from process %d of %d\n", name, rank, size); + printf ("%s: hello world from process %d of %d\n", name, rank, size); - MPI_Finalize (); + MPI_Finalize (); - return EXIT_SUCCESS; - } + return EXIT_SUCCESS; + } + ''; + in + pkgs.runCommand "mpitest" { } '' + mkdir -p $out/bin + ${lib.getDev pkgs.mpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest ''; - in pkgs.runCommand "mpitest" {} '' - mkdir -p $out/bin - ${lib.getDev pkgs.mpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest - ''; -in { - name = "slurm"; + in + { + name = "slurm"; - meta.maintainers = [ lib.maintainers.markuskowa ]; + meta.maintainers = [ lib.maintainers.markuskowa ]; - nodes = - let - computeNode = - { ...}: + nodes = + let + computeNode = + { ... }: + { + imports = [ slurmconfig ]; + # TODO slurmd port and slurmctld port should be configurations and + # automatically allowed by the firewall. + services.slurm = { + client.enable = true; + }; + }; + in { - imports = [ slurmconfig ]; - # TODO slurmd port and slurmctld port should be configurations and - # automatically allowed by the firewall. - services.slurm = { - client.enable = true; - }; - }; - in { - control = - { ...}: - { - imports = [ slurmconfig ]; - services.slurm = { - server.enable = true; - }; - }; + control = + { ... }: + { + imports = [ slurmconfig ]; + services.slurm = { + server.enable = true; + }; + }; - submit = - { ...}: - { - imports = [ slurmconfig ]; - services.slurm = { - enableStools = true; - }; - }; + submit = + { ... }: + { + imports = [ slurmconfig ]; + services.slurm = { + enableStools = true; + }; + }; - dbd = - { pkgs, ... } : - let - passFile = pkgs.writeText "dbdpassword" "password123"; - in { - networking.firewall.enable = false; - systemd.tmpfiles.rules = [ - "f /etc/munge/munge.key 0400 munge munge - mungeverryweakkeybuteasytointegratoinatest" - ]; - services.slurm.dbdserver = { - enable = true; - storagePassFile = "${passFile}"; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - initialScript = pkgs.writeText "mysql-init.sql" '' - CREATE USER 'slurm'@'localhost' IDENTIFIED BY 'password123'; - GRANT ALL PRIVILEGES ON slurm_acct_db.* TO 'slurm'@'localhost'; - ''; - ensureDatabases = [ "slurm_acct_db" ]; - ensureUsers = [{ - ensurePermissions = { "slurm_acct_db.*" = "ALL PRIVILEGES"; }; - name = "slurm"; - }]; - settings.mysqld = { - # recommendations from: https://slurm.schedmd.com/accounting.html#mysql-configuration - innodb_buffer_pool_size="1024M"; - innodb_log_file_size="64M"; - innodb_lock_wait_timeout=900; + dbd = + { pkgs, ... }: + let + passFile = pkgs.writeText "dbdpassword" "password123"; + in + { + networking.firewall.enable = false; + systemd.tmpfiles.rules = [ + "f /etc/munge/munge.key 0400 munge munge - mungeverryweakkeybuteasytointegratoinatest" + ]; + services.slurm.dbdserver = { + enable = true; + storagePassFile = "${passFile}"; + }; + services.mysql = { + enable = true; + package = pkgs.mariadb; + initialScript = pkgs.writeText "mysql-init.sql" '' + CREATE USER 'slurm'@'localhost' IDENTIFIED BY 'password123'; + GRANT ALL PRIVILEGES ON slurm_acct_db.* TO 'slurm'@'localhost'; + ''; + ensureDatabases = [ "slurm_acct_db" ]; + ensureUsers = [ + { + ensurePermissions = { + "slurm_acct_db.*" = "ALL PRIVILEGES"; + }; + name = "slurm"; + } + ]; + settings.mysqld = { + # recommendations from: https://slurm.schedmd.com/accounting.html#mysql-configuration + innodb_buffer_pool_size = "1024M"; + innodb_log_file_size = "64M"; + innodb_lock_wait_timeout = 900; + }; + }; }; - }; + + node1 = computeNode; + node2 = computeNode; + node3 = computeNode; }; - node1 = computeNode; - node2 = computeNode; - node3 = computeNode; - }; - - - testScript = - '' - start_all() - - # Make sure DBD is up after DB initialzation - with subtest("can_start_slurmdbd"): - dbd.succeed("systemctl restart slurmdbd") - dbd.wait_for_unit("slurmdbd.service") - dbd.wait_for_open_port(6819) - - # there needs to be an entry for the current - # cluster in the database before slurmctld is restarted - with subtest("add_account"): - control.succeed("sacctmgr -i add cluster default") - # check for cluster entry - control.succeed("sacctmgr list cluster | awk '{ print $1 }' | grep default") - - with subtest("can_start_slurmctld"): - control.succeed("systemctl restart slurmctld") - control.wait_for_unit("slurmctld.service") - - with subtest("can_start_slurmd"): - for node in [node1, node2, node3]: - node.succeed("systemctl restart slurmd.service") - node.wait_for_unit("slurmd") - - # Test that the cluster works and can distribute jobs; - - with subtest("run_distributed_command"): - # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes). - # The output must contain the 3 different names - submit.succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq") - - with subtest("check_slurm_dbd"): - # find the srun job from above in the database - control.succeed("sleep 5") - control.succeed("sacct | grep hostname") - - with subtest("run_PMIx_mpitest"): - submit.succeed("srun -N 3 --mpi=pmix mpitest | grep size=3") - ''; -}) + testScript = '' + start_all() + + # Make sure DBD is up after DB initialzation + with subtest("can_start_slurmdbd"): + dbd.succeed("systemctl restart slurmdbd") + dbd.wait_for_unit("slurmdbd.service") + dbd.wait_for_open_port(6819) + + # there needs to be an entry for the current + # cluster in the database before slurmctld is restarted + with subtest("add_account"): + control.succeed("sacctmgr -i add cluster default") + # check for cluster entry + control.succeed("sacctmgr list cluster | awk '{ print $1 }' | grep default") + + with subtest("can_start_slurmctld"): + control.succeed("systemctl restart slurmctld") + control.wait_for_unit("slurmctld.service") + + with subtest("can_start_slurmd"): + for node in [node1, node2, node3]: + node.succeed("systemctl restart slurmd.service") + node.wait_for_unit("slurmd") + + # Test that the cluster works and can distribute jobs; + + with subtest("run_distributed_command"): + # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes). + # The output must contain the 3 different names + submit.succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq") + + with subtest("check_slurm_dbd"): + # find the srun job from above in the database + control.succeed("sleep 5") + control.succeed("sacct | grep hostname") + + with subtest("run_PMIx_mpitest"): + submit.succeed("srun -N 3 --mpi=pmix mpitest | grep size=3") + ''; + } +) diff --git a/nixos/tests/smokeping.nix b/nixos/tests/smokeping.nix index fe1ecad9969b0..9aa25ee49d6dc 100644 --- a/nixos/tests/smokeping.nix +++ b/nixos/tests/smokeping.nix @@ -1,42 +1,45 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "smokeping"; - meta = with pkgs.lib.maintainers; { - maintainers = [ cransom ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "smokeping"; + meta = with pkgs.lib.maintainers; { + maintainers = [ cransom ]; + }; - nodes = { - sm = - { ... }: - { - networking.domain = "example.com"; # FQDN: sm.example.com - services.smokeping = { - enable = true; - mailHost = "127.0.0.2"; - probeConfig = '' - + FPing - binary = /run/wrappers/bin/fping - offset = 0% - ''; + nodes = { + sm = + { ... }: + { + networking.domain = "example.com"; # FQDN: sm.example.com + services.smokeping = { + enable = true; + mailHost = "127.0.0.2"; + probeConfig = '' + + FPing + binary = /run/wrappers/bin/fping + offset = 0% + ''; + }; }; - }; - }; + }; - testScript = '' - start_all() - sm.wait_for_unit("smokeping") - sm.wait_for_unit("nginx") - sm.wait_for_file("/var/lib/smokeping/data/Local/LocalMachine.rrd") - sm.succeed("curl -s -f localhost/smokeping.fcgi?target=Local") - # Check that there's a helpful page without explicit path as well. - sm.succeed("curl -s -f localhost") - sm.succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png") - sm.succeed("ls /var/lib/smokeping/cache/index.html") + testScript = '' + start_all() + sm.wait_for_unit("smokeping") + sm.wait_for_unit("nginx") + sm.wait_for_file("/var/lib/smokeping/data/Local/LocalMachine.rrd") + sm.succeed("curl -s -f localhost/smokeping.fcgi?target=Local") + # Check that there's a helpful page without explicit path as well. + sm.succeed("curl -s -f localhost") + sm.succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png") + sm.succeed("ls /var/lib/smokeping/cache/index.html") - # stop and start the service like nixos-rebuild would do - # see https://github.com/NixOS/nixpkgs/issues/265953) - sm.succeed("systemctl stop smokeping") - sm.succeed("systemctl start smokeping") - # ensure all services restarted properly - sm.succeed("systemctl --failed | grep -q '0 loaded units listed'") - ''; -}) + # stop and start the service like nixos-rebuild would do + # see https://github.com/NixOS/nixpkgs/issues/265953) + sm.succeed("systemctl stop smokeping") + sm.succeed("systemctl start smokeping") + # ensure all services restarted properly + sm.succeed("systemctl --failed | grep -q '0 loaded units listed'") + ''; + } +) diff --git a/nixos/tests/snapcast.nix b/nixos/tests/snapcast.nix index 9b62e4724e757..569a50ff39c14 100644 --- a/nixos/tests/snapcast.nix +++ b/nixos/tests/snapcast.nix @@ -1,90 +1,93 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -let - port = 10004; - tcpPort = 10005; - httpPort = 10080; - tcpStreamPort = 10006; - bufferSize = 742; -in { - name = "snapcast"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hexa ]; - }; + let + port = 10004; + tcpPort = 10005; + httpPort = 10080; + tcpStreamPort = 10006; + bufferSize = 742; + in + { + name = "snapcast"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hexa ]; + }; - nodes = { - server = { - services.snapserver = { - enable = true; - port = port; - tcp.port = tcpPort; - http.port = httpPort; - openFirewall = true; - buffer = bufferSize; - streams = { - mpd = { - type = "pipe"; - location = "/run/snapserver/mpd"; - query.mode = "create"; - }; - bluetooth = { - type = "pipe"; - location = "/run/snapserver/bluetooth"; - }; - tcp = { - type = "tcp"; - location = "127.0.0.1:${toString tcpStreamPort}"; - }; - meta = { - type = "meta"; - location = "/mpd/bluetooth/tcp"; + nodes = { + server = { + services.snapserver = { + enable = true; + port = port; + tcp.port = tcpPort; + http.port = httpPort; + openFirewall = true; + buffer = bufferSize; + streams = { + mpd = { + type = "pipe"; + location = "/run/snapserver/mpd"; + query.mode = "create"; + }; + bluetooth = { + type = "pipe"; + location = "/run/snapserver/bluetooth"; + }; + tcp = { + type = "tcp"; + location = "127.0.0.1:${toString tcpStreamPort}"; + }; + meta = { + type = "meta"; + location = "/mpd/bluetooth/tcp"; + }; }; }; + environment.systemPackages = [ pkgs.snapcast ]; + }; + client = { + environment.systemPackages = [ pkgs.snapcast ]; }; - environment.systemPackages = [ pkgs.snapcast ]; - }; - client = { - environment.systemPackages = [ pkgs.snapcast ]; }; - }; - testScript = '' - import json + testScript = '' + import json - get_rpc_version = {"id": "1", "jsonrpc": "2.0", "method": "Server.GetRPCVersion"} + get_rpc_version = {"id": "1", "jsonrpc": "2.0", "method": "Server.GetRPCVersion"} - start_all() + start_all() - server.wait_for_unit("snapserver.service") - server.wait_until_succeeds("ss -ntl | grep -q ${toString port}") - server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpPort}") - server.wait_until_succeeds("ss -ntl | grep -q ${toString httpPort}") - server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpStreamPort}") + server.wait_for_unit("snapserver.service") + server.wait_until_succeeds("ss -ntl | grep -q ${toString port}") + server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpPort}") + server.wait_until_succeeds("ss -ntl | grep -q ${toString httpPort}") + server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpStreamPort}") - with subtest("check that pipes are created"): - server.succeed("test -p /run/snapserver/mpd") - server.succeed("test -p /run/snapserver/bluetooth") + with subtest("check that pipes are created"): + server.succeed("test -p /run/snapserver/mpd") + server.succeed("test -p /run/snapserver/bluetooth") - with subtest("test tcp json-rpc"): - server.succeed(f"echo '{json.dumps(get_rpc_version)}' | nc -w 1 localhost ${toString tcpPort}") + with subtest("test tcp json-rpc"): + server.succeed(f"echo '{json.dumps(get_rpc_version)}' | nc -w 1 localhost ${toString tcpPort}") - with subtest("test http json-rpc"): - server.succeed( - "curl --fail http://localhost:${toString httpPort}/jsonrpc -d '{json.dumps(get_rpc_version)}'" - ) + with subtest("test http json-rpc"): + server.succeed( + "curl --fail http://localhost:${toString httpPort}/jsonrpc -d '{json.dumps(get_rpc_version)}'" + ) - with subtest("test a ipv6 connection"): - server.execute("systemd-run --unit=snapcast-local-client snapclient -h ::1 -p ${toString port}") - server.wait_until_succeeds( - "journalctl -o cat -u snapserver.service | grep -q 'Hello from'" - ) - server.wait_until_succeeds("journalctl -o cat -u snapcast-local-client | grep -q 'buffer: ${toString bufferSize}'") + with subtest("test a ipv6 connection"): + server.execute("systemd-run --unit=snapcast-local-client snapclient -h ::1 -p ${toString port}") + server.wait_until_succeeds( + "journalctl -o cat -u snapserver.service | grep -q 'Hello from'" + ) + server.wait_until_succeeds("journalctl -o cat -u snapcast-local-client | grep -q 'buffer: ${toString bufferSize}'") - with subtest("test a connection"): - client.execute("systemd-run --unit=snapcast-client snapclient -h server -p ${toString port}") - server.wait_until_succeeds( - "journalctl -o cat -u snapserver.service | grep -q 'Hello from'" - ) - client.wait_until_succeeds("journalctl -o cat -u snapcast-client | grep -q 'buffer: ${toString bufferSize}'") - ''; -}) + with subtest("test a connection"): + client.execute("systemd-run --unit=snapcast-client snapclient -h server -p ${toString port}") + server.wait_until_succeeds( + "journalctl -o cat -u snapserver.service | grep -q 'Hello from'" + ) + client.wait_until_succeeds("journalctl -o cat -u snapcast-client | grep -q 'buffer: ${toString bufferSize}'") + ''; + } +) diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix index 0369419930f15..683d2f58ea3cf 100644 --- a/nixos/tests/snapper.nix +++ b/nixos/tests/snapper.nix @@ -1,38 +1,45 @@ -import ./make-test-python.nix ({ ... }: -{ - name = "snapper"; +import ./make-test-python.nix ( + { ... }: + { + name = "snapper"; - nodes.machine = { pkgs, lib, ... }: { - boot.initrd.postDeviceCommands = '' - ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb - ''; + nodes.machine = + { pkgs, lib, ... }: + { + boot.initrd.postDeviceCommands = '' + ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb + ''; - virtualisation.emptyDiskImages = [ 4096 ]; + virtualisation.emptyDiskImages = [ 4096 ]; - virtualisation.fileSystems = { - "/home" = { - device = "/dev/disk/by-label/aux"; - fsType = "btrfs"; + virtualisation.fileSystems = { + "/home" = { + device = "/dev/disk/by-label/aux"; + fsType = "btrfs"; + }; + }; + services.snapper.configs.home.SUBVOLUME = "/home"; + services.snapper.filters = "/nix"; }; - }; - services.snapper.configs.home.SUBVOLUME = "/home"; - services.snapper.filters = "/nix"; - }; - testScript = { nodes, ... }: let - inherit (nodes.machine.services.snapper) snapshotRootOnBoot; - in '' - machine.succeed("btrfs subvolume create /home/.snapshots") - machine.succeed("snapper -c home list") - machine.succeed("snapper -c home create --description empty") - machine.succeed("echo test > /home/file") - machine.succeed("snapper -c home create --description file") - machine.succeed("snapper -c home status 1..2") - machine.succeed("snapper -c home undochange 1..2") - machine.fail("ls /home/file") - machine.succeed("snapper -c home delete 2") - machine.succeed("systemctl --wait start snapper-timeline.service") - machine.succeed("systemctl --wait start snapper-cleanup.service") - machine.${if snapshotRootOnBoot then "succeed" else "fail"}("systemctl cat snapper-boot.service") - ''; -}) + testScript = + { nodes, ... }: + let + inherit (nodes.machine.services.snapper) snapshotRootOnBoot; + in + '' + machine.succeed("btrfs subvolume create /home/.snapshots") + machine.succeed("snapper -c home list") + machine.succeed("snapper -c home create --description empty") + machine.succeed("echo test > /home/file") + machine.succeed("snapper -c home create --description file") + machine.succeed("snapper -c home status 1..2") + machine.succeed("snapper -c home undochange 1..2") + machine.fail("ls /home/file") + machine.succeed("snapper -c home delete 2") + machine.succeed("systemctl --wait start snapper-timeline.service") + machine.succeed("systemctl --wait start snapper-cleanup.service") + machine.${if snapshotRootOnBoot then "succeed" else "fail"}("systemctl cat snapper-boot.service") + ''; + } +) diff --git a/nixos/tests/snmpd.nix b/nixos/tests/snmpd.nix index 9248a6b390101..24d414e03d4d0 100644 --- a/nixos/tests/snmpd.nix +++ b/nixos/tests/snmpd.nix @@ -1,23 +1,26 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "snmpd"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "snmpd"; - nodes.snmpd = { - environment.systemPackages = with pkgs; [ - net-snmp - ]; + nodes.snmpd = { + environment.systemPackages = with pkgs; [ + net-snmp + ]; - services.snmpd = { - enable = true; - configText = '' - rocommunity public - ''; + services.snmpd = { + enable = true; + configText = '' + rocommunity public + ''; + }; }; - }; - testScript = '' - start_all(); - machine.wait_for_unit("snmpd.service") - machine.succeed("snmpwalk -v 2c -c public localhost | grep SNMPv2-MIB::sysName.0"); - ''; + testScript = '' + start_all(); + machine.wait_for_unit("snmpd.service") + machine.succeed("snmpwalk -v 2c -c public localhost | grep SNMPv2-MIB::sysName.0"); + ''; -}) + } +) diff --git a/nixos/tests/soapui.nix b/nixos/tests/soapui.nix index 3a2d11a167562..834369f9dcc72 100644 --- a/nixos/tests/soapui.nix +++ b/nixos/tests/soapui.nix @@ -1,24 +1,29 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "soapui"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "soapui"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; + services.xserver.enable = true; - environment.systemPackages = [ pkgs.soapui ]; - }; + environment.systemPackages = [ pkgs.soapui ]; + }; - testScript = '' - machine.wait_for_x() - machine.succeed("soapui >&2 &") - machine.wait_for_window(r"SoapUI \d+\.\d+\.\d+") - machine.sleep(1) - machine.screenshot("soapui") - ''; -}) + testScript = '' + machine.wait_for_x() + machine.succeed("soapui >&2 &") + machine.wait_for_window(r"SoapUI \d+\.\d+\.\d+") + machine.sleep(1) + machine.screenshot("soapui") + ''; + } +) diff --git a/nixos/tests/soft-serve.nix b/nixos/tests/soft-serve.nix index 1c4cb4c95819e..1fa365c93ef14 100644 --- a/nixos/tests/soft-serve.nix +++ b/nixos/tests/soft-serve.nix @@ -1,102 +1,110 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - sshPort = 8231; - httpPort = 8232; - statsPort = 8233; - gitPort = 8418; -in -{ - name = "soft-serve"; - meta.maintainers = with lib.maintainers; [ dadada ]; - nodes = { - client = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ - curl - git - openssh - ]; - environment.etc.sshKey = { - source = snakeOilPrivateKey; - mode = "0600"; - }; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; + sshPort = 8231; + httpPort = 8232; + statsPort = 8233; + gitPort = 8418; + in + { + name = "soft-serve"; + meta.maintainers = with lib.maintainers; [ dadada ]; + nodes = { + client = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + curl + git + openssh + ]; + environment.etc.sshKey = { + source = snakeOilPrivateKey; + mode = "0600"; + }; + }; - server = - { config, ... }: - { - services.soft-serve = { - enable = true; - settings = { - name = "TestServer"; - ssh.listen_addr = ":${toString sshPort}"; - git.listen_addr = ":${toString gitPort}"; - http.listen_addr = ":${toString httpPort}"; - stats.listen_addr = ":${toString statsPort}"; - initial_admin_keys = [ snakeOilPublicKey ]; + server = + { config, ... }: + { + services.soft-serve = { + enable = true; + settings = { + name = "TestServer"; + ssh.listen_addr = ":${toString sshPort}"; + git.listen_addr = ":${toString gitPort}"; + http.listen_addr = ":${toString httpPort}"; + stats.listen_addr = ":${toString statsPort}"; + initial_admin_keys = [ snakeOilPublicKey ]; + }; }; + networking.firewall.allowedTCPPorts = [ + sshPort + httpPort + statsPort + ]; }; - networking.firewall.allowedTCPPorts = [ sshPort httpPort statsPort ]; - }; - }; + }; - testScript = - { ... }: - '' - SSH_PORT = ${toString sshPort} - HTTP_PORT = ${toString httpPort} - STATS_PORT = ${toString statsPort} - KEY = "${snakeOilPublicKey}" - SSH_KEY = "/etc/sshKey" - SSH_COMMAND = f"ssh -p {SSH_PORT} -i {SSH_KEY} -o StrictHostKeyChecking=no" - TEST_DIR = "/tmp/test" - GIT = f"git -C {TEST_DIR}" + testScript = + { ... }: + '' + SSH_PORT = ${toString sshPort} + HTTP_PORT = ${toString httpPort} + STATS_PORT = ${toString statsPort} + KEY = "${snakeOilPublicKey}" + SSH_KEY = "/etc/sshKey" + SSH_COMMAND = f"ssh -p {SSH_PORT} -i {SSH_KEY} -o StrictHostKeyChecking=no" + TEST_DIR = "/tmp/test" + GIT = f"git -C {TEST_DIR}" - for machine in client, server: - machine.wait_for_unit("network.target") + for machine in client, server: + machine.wait_for_unit("network.target") - server.wait_for_unit("soft-serve.service") - server.wait_for_open_port(SSH_PORT) + server.wait_for_unit("soft-serve.service") + server.wait_for_open_port(SSH_PORT) - with subtest("Get info"): - status, test = client.execute(f"{SSH_COMMAND} server info") - if status != 0: - raise Exception("Failed to get SSH info") - key = " ".join(KEY.split(" ")[0:2]) - if not key in test: - raise Exception("Admin key must be configured correctly") + with subtest("Get info"): + status, test = client.execute(f"{SSH_COMMAND} server info") + if status != 0: + raise Exception("Failed to get SSH info") + key = " ".join(KEY.split(" ")[0:2]) + if not key in test: + raise Exception("Admin key must be configured correctly") - with subtest("Create user"): - client.succeed(f"{SSH_COMMAND} server user create beatrice") - client.succeed(f"{SSH_COMMAND} server user info beatrice") + with subtest("Create user"): + client.succeed(f"{SSH_COMMAND} server user create beatrice") + client.succeed(f"{SSH_COMMAND} server user info beatrice") - with subtest("Create repo"): - client.succeed(f"git init {TEST_DIR}") - client.succeed(f"{GIT} config --global user.email you@example.com") - client.succeed(f"touch {TEST_DIR}/foo") - client.succeed(f"{GIT} add foo") - client.succeed(f"{GIT} commit --allow-empty -m test") - client.succeed(f"{GIT} remote add origin git@server:test") - client.succeed(f"GIT_SSH_COMMAND='{SSH_COMMAND}' {GIT} push -u origin master") - client.execute("rm -r /tmp/test") + with subtest("Create repo"): + client.succeed(f"git init {TEST_DIR}") + client.succeed(f"{GIT} config --global user.email you@example.com") + client.succeed(f"touch {TEST_DIR}/foo") + client.succeed(f"{GIT} add foo") + client.succeed(f"{GIT} commit --allow-empty -m test") + client.succeed(f"{GIT} remote add origin git@server:test") + client.succeed(f"GIT_SSH_COMMAND='{SSH_COMMAND}' {GIT} push -u origin master") + client.execute("rm -r /tmp/test") - server.wait_for_open_port(HTTP_PORT) + server.wait_for_open_port(HTTP_PORT) - with subtest("Clone over HTTP"): - client.succeed(f"curl --connect-timeout 10 http://server:{HTTP_PORT}/") - client.succeed(f"git clone http://server:{HTTP_PORT}/test /tmp/test") - client.execute("rm -r /tmp/test") + with subtest("Clone over HTTP"): + client.succeed(f"curl --connect-timeout 10 http://server:{HTTP_PORT}/") + client.succeed(f"git clone http://server:{HTTP_PORT}/test /tmp/test") + client.execute("rm -r /tmp/test") - with subtest("Clone over SSH"): - client.succeed(f"GIT_SSH_COMMAND='{SSH_COMMAND}' git clone git@server:test /tmp/test") - client.execute("rm -r /tmp/test") + with subtest("Clone over SSH"): + client.succeed(f"GIT_SSH_COMMAND='{SSH_COMMAND}' git clone git@server:test /tmp/test") + client.execute("rm -r /tmp/test") - with subtest("Get stats over HTTP"): - server.wait_for_open_port(STATS_PORT) - status, test = client.execute(f"curl --connect-timeout 10 http://server:{STATS_PORT}/metrics") - if status != 0: - raise Exception("Failed to get metrics from status port") - if not "go_gc_duration_seconds_count" in test: - raise Exception("Metrics did not contain key 'go_gc_duration_seconds_count'") - ''; -}) + with subtest("Get stats over HTTP"): + server.wait_for_open_port(STATS_PORT) + status, test = client.execute(f"curl --connect-timeout 10 http://server:{STATS_PORT}/metrics") + if status != 0: + raise Exception("Failed to get metrics from status port") + if not "go_gc_duration_seconds_count" in test: + raise Exception("Metrics did not contain key 'go_gc_duration_seconds_count'") + ''; + } +) diff --git a/nixos/tests/sogo.nix b/nixos/tests/sogo.nix index 84d219659bdb2..a3ad3bd5b7ac2 100644 --- a/nixos/tests/sogo.nix +++ b/nixos/tests/sogo.nix @@ -1,58 +1,65 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "sogo"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "sogo"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes = { - sogo = { config, pkgs, ... }: { - services.nginx.enable = true; + nodes = { + sogo = + { config, pkgs, ... }: + { + services.nginx.enable = true; - services.mysql = { - enable = true; - package = pkgs.mariadb; - ensureDatabases = [ "sogo" ]; - ensureUsers = [{ - name = "sogo"; - ensurePermissions = { - "sogo.*" = "ALL PRIVILEGES"; + services.mysql = { + enable = true; + package = pkgs.mariadb; + ensureDatabases = [ "sogo" ]; + ensureUsers = [ + { + name = "sogo"; + ensurePermissions = { + "sogo.*" = "ALL PRIVILEGES"; + }; + } + ]; }; - }]; - }; - services.sogo = { - enable = true; - timezone = "Europe/Berlin"; - extraConfig = '' - WOWorkersCount = 1; + services.sogo = { + enable = true; + timezone = "Europe/Berlin"; + extraConfig = '' + WOWorkersCount = 1; - SOGoUserSources = ( - { - type = sql; - userPasswordAlgorithm = md5; - viewURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_users"; - canAuthenticate = YES; - id = users; - } - ); + SOGoUserSources = ( + { + type = sql; + userPasswordAlgorithm = md5; + viewURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_users"; + canAuthenticate = YES; + id = users; + } + ); - SOGoProfileURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_user_profile"; - OCSFolderInfoURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_folder_info"; - OCSSessionsFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_sessions_folder"; - OCSEMailAlarmsFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_alarms_folder"; - OCSStoreURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_store"; - OCSAclURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_acl"; - OCSCacheFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_cache_folder"; - ''; - }; + SOGoProfileURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_user_profile"; + OCSFolderInfoURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_folder_info"; + OCSSessionsFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_sessions_folder"; + OCSEMailAlarmsFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_alarms_folder"; + OCSStoreURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_store"; + OCSAclURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_acl"; + OCSCacheFolderURL = "mysql://sogo@%2Frun%2Fmysqld%2Fmysqld.sock/sogo/sogo_cache_folder"; + ''; + }; + }; }; - }; - testScript = '' - start_all() - sogo.wait_for_unit("multi-user.target") - sogo.wait_for_open_port(20000) - sogo.wait_for_open_port(80) - sogo.succeed("curl -sSfL http://sogo/SOGo") - ''; -}) + testScript = '' + start_all() + sogo.wait_for_unit("multi-user.target") + sogo.wait_for_open_port(20000) + sogo.wait_for_open_port(80) + sogo.succeed("curl -sSfL http://sogo/SOGo") + ''; + } +) diff --git a/nixos/tests/soju.nix b/nixos/tests/soju.nix index f13c447fb5f6b..71f457b142043 100644 --- a/nixos/tests/soju.nix +++ b/nixos/tests/soju.nix @@ -1,31 +1,35 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - certs = import ./common/acme/server/snakeoil-certs.nix; - domain = certs.domain; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + certs = import ./common/acme/server/snakeoil-certs.nix; + domain = certs.domain; - user = "testuser"; - pass = "hunter2"; -in -{ - name = "soju"; - meta.maintainers = [ ]; + user = "testuser"; + pass = "hunter2"; + in + { + name = "soju"; + meta.maintainers = [ ]; - nodes.machine = { ... }: { - services.soju = { - enable = true; - adminSocket.enable = true; - hostName = domain; - tlsCertificate = certs.${domain}.cert; - tlsCertificateKey = certs.${domain}.key; - }; - }; + nodes.machine = + { ... }: + { + services.soju = { + enable = true; + adminSocket.enable = true; + hostName = domain; + tlsCertificate = certs.${domain}.cert; + tlsCertificateKey = certs.${domain}.key; + }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("soju") - machine.wait_for_file("/run/soju/admin") + machine.wait_for_unit("soju") + machine.wait_for_file("/run/soju/admin") - machine.succeed("sojuctl user create -username ${user} -password ${pass}") - ''; -}) + machine.succeed("sojuctl user create -username ${user} -password ${pass}") + ''; + } +) diff --git a/nixos/tests/solanum.nix b/nixos/tests/solanum.nix index 1ecf91bce40bc..be3f4bfd45ae3 100644 --- a/nixos/tests/solanum.nix +++ b/nixos/tests/solanum.nix @@ -9,89 +9,100 @@ let iiDir = "/tmp/irc"; in -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "solanum"; - nodes = { - "${server}" = { - networking.firewall.allowedTCPPorts = [ ircPort ]; - services.solanum = { - enable = true; - motd = '' - The default MOTD doesn't contain the word "nixos" in it. - This one does. - ''; - }; - }; - } // lib.listToAttrs (builtins.map (client: lib.nameValuePair client { - imports = [ - ./common/user-account.nix - ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "solanum"; + nodes = + { + "${server}" = { + networking.firewall.allowedTCPPorts = [ ircPort ]; + services.solanum = { + enable = true; + motd = '' + The default MOTD doesn't contain the word "nixos" in it. + This one does. + ''; + }; + }; + } + // lib.listToAttrs ( + builtins.map ( + client: + lib.nameValuePair client { + imports = [ + ./common/user-account.nix + ]; - systemd.services.ii = { - requires = [ "network.target" ]; - wantedBy = [ "default.target" ]; + systemd.services.ii = { + requires = [ "network.target" ]; + wantedBy = [ "default.target" ]; - serviceConfig = { - Type = "simple"; - ExecPreStartPre = "mkdir -p ${iiDir}"; - ExecStart = '' - ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} - ''; - User = "alice"; - }; - }; - }) clients); + serviceConfig = { + Type = "simple"; + ExecPreStartPre = "mkdir -p ${iiDir}"; + ExecStart = '' + ${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir} + ''; + User = "alice"; + }; + }; + } + ) clients + ); - testScript = - let - msg = client: "Hello, my name is ${client}"; - clientScript = client: [ - '' - ${client}.wait_for_unit("network.target") - ${client}.systemctl("start ii") - ${client}.wait_for_unit("ii") - ${client}.wait_for_file("${iiDir}/${server}/out") - '' - # look for the custom text in the MOTD. - '' - ${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out") - '' - # wait until first PING from server arrives before joining, - # so we don't try it too early - '' - ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") - '' - # join ${channel} - '' - ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") - ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") - '' - # send a greeting - '' - ${client}.succeed( - "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" - ) - '' - # check that all greetings arrived on all clients - ] ++ builtins.map (other: '' - ${client}.succeed( - "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" - ) - '') clients; + testScript = + let + msg = client: "Hello, my name is ${client}"; + clientScript = + client: + [ + '' + ${client}.wait_for_unit("network.target") + ${client}.systemctl("start ii") + ${client}.wait_for_unit("ii") + ${client}.wait_for_file("${iiDir}/${server}/out") + '' + # look for the custom text in the MOTD. + '' + ${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out") + '' + # wait until first PING from server arrives before joining, + # so we don't try it too early + '' + ${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out") + '' + # join ${channel} + '' + ${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in") + ${client}.wait_for_file("${iiDir}/${server}/#${channel}/in") + '' + # send a greeting + '' + ${client}.succeed( + "echo '${msg client}' > ${iiDir}/${server}/#${channel}/in" + ) + '' + # check that all greetings arrived on all clients + ] + ++ builtins.map (other: '' + ${client}.succeed( + "grep '${msg other}$' ${iiDir}/${server}/#${channel}/out" + ) + '') clients; - # foldl', but requires a non-empty list instead of a start value - reduce = f: list: - builtins.foldl' f (builtins.head list) (builtins.tail list); - in '' - start_all() - ${server}.systemctl("status solanum") - ${server}.wait_for_open_port(${toString ircPort}) + # foldl', but requires a non-empty list instead of a start value + reduce = f: list: builtins.foldl' f (builtins.head list) (builtins.tail list); + in + '' + start_all() + ${server}.systemctl("status solanum") + ${server}.wait_for_open_port(${toString ircPort}) - # run clientScript for all clients so that every list - # entry is executed by every client before advancing - # to the next one. - '' + lib.concatStrings - (reduce - (lib.zipListsWith (cs: c: cs + c)) - (builtins.map clientScript clients)); -}) + # run clientScript for all clients so that every list + # entry is executed by every client before advancing + # to the next one. + '' + + lib.concatStrings (reduce (lib.zipListsWith (cs: c: cs + c)) (builtins.map clientScript clients)); + } +) diff --git a/nixos/tests/sonarr.nix b/nixos/tests/sonarr.nix index 57e6b72db3a35..e9d6bdf625940 100644 --- a/nixos/tests/sonarr.nix +++ b/nixos/tests/sonarr.nix @@ -1,16 +1,20 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "sonarr"; - meta.maintainers = with lib.maintainers; [ etu ]; + { + name = "sonarr"; + meta.maintainers = with lib.maintainers; [ etu ]; - nodes.machine = - { pkgs, ... }: - { services.sonarr.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.sonarr.enable = true; + }; - testScript = '' - machine.wait_for_unit("sonarr.service") - machine.wait_for_open_port(8989) - machine.succeed("curl --fail http://localhost:8989/") - ''; -}) + testScript = '' + machine.wait_for_unit("sonarr.service") + machine.wait_for_open_port(8989) + machine.succeed("curl --fail http://localhost:8989/") + ''; + } +) diff --git a/nixos/tests/sonic-server.nix b/nixos/tests/sonic-server.nix index bb98047619b2b..bef0316d66f06 100644 --- a/nixos/tests/sonic-server.nix +++ b/nixos/tests/sonic-server.nix @@ -1,22 +1,27 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "sonic-server"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "sonic-server"; - meta = { - maintainers = with lib.maintainers; [ anthonyroussel ]; - }; + meta = { + maintainers = with lib.maintainers; [ anthonyroussel ]; + }; - nodes.machine = { pkgs, ... }: { - services.sonic-server.enable = true; - }; + nodes.machine = + { pkgs, ... }: + { + services.sonic-server.enable = true; + }; - testScript = '' - machine.start() + testScript = '' + machine.start() - machine.wait_for_unit("sonic-server.service") - machine.wait_for_open_port(1491) + machine.wait_for_unit("sonic-server.service") + machine.wait_for_open_port(1491) - with subtest("Check control mode"): - result = machine.succeed('(echo START control; sleep 1; echo PING; echo QUIT) | nc localhost 1491').splitlines() - assert result[2] == "PONG", f"expected 'PONG', got '{result[2]}'" - ''; -}) + with subtest("Check control mode"): + result = machine.succeed('(echo START control; sleep 1; echo PING; echo QUIT) | nc localhost 1491').splitlines() + assert result[2] == "PONG", f"expected 'PONG', got '{result[2]}'" + ''; + } +) diff --git a/nixos/tests/sourcehut/builds.nix b/nixos/tests/sourcehut/builds.nix index f1f928ecc3d0a..71d5b32384532 100644 --- a/nixos/tests/sourcehut/builds.nix +++ b/nixos/tests/sourcehut/builds.nix @@ -1,54 +1,66 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: -let - domain = "sourcehut.localdomain"; -in -{ - name = "sourcehut"; - - meta.maintainers = with pkgs.lib.maintainers; [ tomberek nessdoor ]; - - nodes.machine = { config, pkgs, nodes, ... }: { - imports = [ - ./nodes/common.nix +import ../make-test-python.nix ( + { pkgs, lib, ... }: + let + domain = "sourcehut.localdomain"; + in + { + name = "sourcehut"; + + meta.maintainers = with pkgs.lib.maintainers; [ + tomberek + nessdoor ]; - networking.domain = domain; - networking.extraHosts = '' - ${config.networking.primaryIPAddress} builds.${domain} - ${config.networking.primaryIPAddress} meta.${domain} - ''; + nodes.machine = + { + config, + pkgs, + nodes, + ... + }: + { + imports = [ + ./nodes/common.nix + ]; - services.sourcehut = { - builds = { - enable = true; - # FIXME: see why it does not seem to activate fully. - #enableWorker = true; - images = { }; - }; + networking.domain = domain; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} builds.${domain} + ${config.networking.primaryIPAddress} meta.${domain} + ''; + + services.sourcehut = { + builds = { + enable = true; + # FIXME: see why it does not seem to activate fully. + #enableWorker = true; + images = { }; + }; - settings."builds.sr.ht" = { - oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc"; - oauth-client-id = "299db9f9c2013170"; + settings."builds.sr.ht" = { + oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc"; + oauth-client-id = "299db9f9c2013170"; + }; + }; }; - }; - }; - - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - - with subtest("Check whether meta comes up"): - machine.wait_for_unit("metasrht-api.service") - machine.wait_for_unit("metasrht.service") - machine.wait_for_unit("metasrht-webhooks.service") - machine.wait_for_open_port(5000) - machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}") - machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}") - - with subtest("Check whether builds comes up"): - machine.wait_for_unit("buildsrht.service") - machine.wait_for_open_port(5002) - machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}") - #machine.wait_for_unit("buildsrht-worker.service") - ''; -}) + + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + + with subtest("Check whether meta comes up"): + machine.wait_for_unit("metasrht-api.service") + machine.wait_for_unit("metasrht.service") + machine.wait_for_unit("metasrht-webhooks.service") + machine.wait_for_open_port(5000) + machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}") + machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}") + + with subtest("Check whether builds comes up"): + machine.wait_for_unit("buildsrht.service") + machine.wait_for_open_port(5002) + machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}") + #machine.wait_for_unit("buildsrht-worker.service") + ''; + } +) diff --git a/nixos/tests/sourcehut/git.nix b/nixos/tests/sourcehut/git.nix index ed184d5d55180..7f50752c7eb8c 100644 --- a/nixos/tests/sourcehut/git.nix +++ b/nixos/tests/sourcehut/git.nix @@ -1,96 +1,108 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: -let - domain = "sourcehut.localdomain"; -in -{ - name = "sourcehut"; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + let + domain = "sourcehut.localdomain"; + in + { + name = "sourcehut"; - meta.maintainers = with pkgs.lib.maintainers; [ tomberek nessdoor ]; - - nodes.machine = { config, pkgs, nodes, ... }: { - imports = [ - ./nodes/common.nix + meta.maintainers = with pkgs.lib.maintainers; [ + tomberek + nessdoor ]; - networking.domain = domain; - networking.extraHosts = '' - ${config.networking.primaryIPAddress} git.${domain} - ${config.networking.primaryIPAddress} meta.${domain} - ''; + nodes.machine = + { + config, + pkgs, + nodes, + ... + }: + { + imports = [ + ./nodes/common.nix + ]; - services.sourcehut = { - git.enable = true; - settings."git.sr.ht" = { - oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d"; - oauth-client-id = "d07cb713d920702e"; - }; - }; + networking.domain = domain; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} git.${domain} + ${config.networking.primaryIPAddress} meta.${domain} + ''; - environment.systemPackages = with pkgs; [ - git - ]; - }; + services.sourcehut = { + git.enable = true; + settings."git.sr.ht" = { + oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d"; + oauth-client-id = "d07cb713d920702e"; + }; + }; - testScript = - let - userName = "nixos-test"; - userPass = "AutoNixosTestPwd"; - hutConfig = pkgs.writeText "hut-config" '' - instance "${domain}" { - # Will be replaced at runtime with the generated token - access-token "OAUTH-TOKEN" - } - ''; - sshConfig = pkgs.writeText "ssh-config" '' - Host git.${domain} - IdentityFile = ~/.ssh/id_rsa - ''; - in - '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("sshd.service") + environment.systemPackages = with pkgs; [ + git + ]; + }; - with subtest("Check whether meta comes up"): - machine.wait_for_unit("metasrht-api.service") - machine.wait_for_unit("metasrht.service") - machine.wait_for_unit("metasrht-webhooks.service") - machine.wait_for_open_port(5000) - machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}") - machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}") + testScript = + let + userName = "nixos-test"; + userPass = "AutoNixosTestPwd"; + hutConfig = pkgs.writeText "hut-config" '' + instance "${domain}" { + # Will be replaced at runtime with the generated token + access-token "OAUTH-TOKEN" + } + ''; + sshConfig = pkgs.writeText "ssh-config" '' + Host git.${domain} + IdentityFile = ~/.ssh/id_rsa + ''; + in + '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("sshd.service") - with subtest("Create a new user account and OAuth access key"): - machine.succeed("echo ${userPass} | metasrht-manageuser -ps -e ${userName}@${domain}\ - -t active_paying ${userName}"); - (_, token) = machine.execute("srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}") - token = token.strip().replace("/", r"\\/") # Escape slashes in token before passing it to sed - machine.execute("mkdir -p ~/.config/hut/") - machine.execute("sed s/OAUTH-TOKEN/" + token + "/ ${hutConfig} > ~/.config/hut/config") + with subtest("Check whether meta comes up"): + machine.wait_for_unit("metasrht-api.service") + machine.wait_for_unit("metasrht.service") + machine.wait_for_unit("metasrht-webhooks.service") + machine.wait_for_open_port(5000) + machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}") + machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}") - with subtest("Check whether git comes up"): - machine.wait_for_unit("gitsrht-api.service") - machine.wait_for_unit("gitsrht.service") - machine.wait_for_unit("gitsrht-webhooks.service") - machine.succeed("curl -sL http://git.${domain} | grep git.${domain}") + with subtest("Create a new user account and OAuth access key"): + machine.succeed("echo ${userPass} | metasrht-manageuser -ps -e ${userName}@${domain}\ + -t active_paying ${userName}"); + (_, token) = machine.execute("srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}") + token = token.strip().replace("/", r"\\/") # Escape slashes in token before passing it to sed + machine.execute("mkdir -p ~/.config/hut/") + machine.execute("sed s/OAUTH-TOKEN/" + token + "/ ${hutConfig} > ~/.config/hut/config") - with subtest("Add an SSH key for Git access"): - machine.execute("ssh-keygen -q -N \"\" -t rsa -f ~/.ssh/id_rsa") - machine.execute("cat ${sshConfig} > ~/.ssh/config") - machine.succeed("hut meta ssh-key create ~/.ssh/id_rsa.pub") + with subtest("Check whether git comes up"): + machine.wait_for_unit("gitsrht-api.service") + machine.wait_for_unit("gitsrht.service") + machine.wait_for_unit("gitsrht-webhooks.service") + machine.succeed("curl -sL http://git.${domain} | grep git.${domain}") - with subtest("Create a new repo and push contents to it"): - machine.execute("git init test") - machine.execute("echo \"Hello world!\" > test/hello.txt") - machine.execute("cd test && git add .") - machine.execute("cd test && git commit -m \"Initial commit\"") - machine.execute("cd test && git tag v0.1") - machine.succeed("cd test && git remote add origin gitsrht@git.${domain}:~${userName}/test") - machine.execute("( echo -n 'git.${domain} '; cat /etc/ssh/ssh_host_ed25519_key.pub ) > ~/.ssh/known_hosts") - machine.succeed("hut git create test") - machine.succeed("cd test && git push --tags --set-upstream origin master") + with subtest("Add an SSH key for Git access"): + machine.execute("ssh-keygen -q -N \"\" -t rsa -f ~/.ssh/id_rsa") + machine.execute("cat ${sshConfig} > ~/.ssh/config") + machine.succeed("hut meta ssh-key create ~/.ssh/id_rsa.pub") - with subtest("Verify that the repo is downloadable and its contents match the original"): - machine.succeed("curl https://git.${domain}/~${userName}/test/archive/v0.1.tar.gz | tar -xz") - machine.succeed("diff test-v0.1/hello.txt test/hello.txt") - ''; -}) + with subtest("Create a new repo and push contents to it"): + machine.execute("git init test") + machine.execute("echo \"Hello world!\" > test/hello.txt") + machine.execute("cd test && git add .") + machine.execute("cd test && git commit -m \"Initial commit\"") + machine.execute("cd test && git tag v0.1") + machine.succeed("cd test && git remote add origin gitsrht@git.${domain}:~${userName}/test") + machine.execute("( echo -n 'git.${domain} '; cat /etc/ssh/ssh_host_ed25519_key.pub ) > ~/.ssh/known_hosts") + machine.succeed("hut git create test") + machine.succeed("cd test && git push --tags --set-upstream origin master") + + with subtest("Verify that the repo is downloadable and its contents match the original"): + machine.succeed("curl https://git.${domain}/~${userName}/test/archive/v0.1.tar.gz | tar -xz") + machine.succeed("diff test-v0.1/hello.txt test/hello.txt") + ''; + } +) diff --git a/nixos/tests/sourcehut/nodes/common.nix b/nixos/tests/sourcehut/nodes/common.nix index 1326a9e900576..54660a4dade57 100644 --- a/nixos/tests/sourcehut/nodes/common.nix +++ b/nixos/tests/sourcehut/nodes/common.nix @@ -1,4 +1,9 @@ -{ config, pkgs, nodes, ... }: +{ + config, + pkgs, + nodes, + ... +}: let domain = config.networking.domain; @@ -41,23 +46,25 @@ in smtp-from = "root+hut@${domain}"; # WARNING: take care to keep pgp-privkey outside the Nix store in production, # or use LoadCredentialEncrypted= - pgp-privkey = toString (pkgs.writeText "sourcehut.pgp-privkey" '' - -----BEGIN PGP PRIVATE KEY BLOCK----- + pgp-privkey = toString ( + pkgs.writeText "sourcehut.pgp-privkey" '' + -----BEGIN PGP PRIVATE KEY BLOCK----- - lFgEZrFBKRYJKwYBBAHaRw8BAQdAS1Ffiytk0h0z0jfaT3qyiDUV/plVIUwOg1Yr - AXP2YmsAAP0W6QMC3G2G41rzCGLeSHeGibor1+XuxvcwUpVdW7ge+BH/tDZuaXhv - cy90ZXN0cy9zb3VyY2VodXQgPHJvb3QraHV0QHNvdXJjZWh1dC5sb2NhbGRvbWFp - bj6IkwQTFgoAOxYhBMISh2Z08FCi969cq9R2wSP9QF2bBQJmsUEpAhsDBQsJCAcC - AiICBhUKCQgLAgQWAgMBAh4HAheAAAoJENR2wSP9QF2b4JMA+wQLdxVcod/ppyvH - QguGqqhkpk8KquCddOuFnQVAfHFWAQCK5putVk4mGzsoLTbOJCSGRC4pjEktZawQ - MTqJmnOuC5xdBGaxQSkSCisGAQQBl1UBBQEBB0Aed6UYJyighTY+KuPNQ439st3x - x04T1j58sx3AnKgYewMBCAcAAP9WLB79HO1zFRqTCnk7GIEWWogMFKVpazeBUNu9 - h9rzCA2+iHgEGBYKACAWIQTCEodmdPBQovevXKvUdsEj/UBdmwUCZrFBKQIbDAAK - CRDUdsEj/UBdmwgJAQDVk/px/pSzqreSeDLzxlb6dOo+N1KcicsJ0akhSJUcvwD9 - EPhpEDZu/UBKchAutOhWwz+y6pyoF4Vt7XG+jbJQtA4= - =KaQc - -----END PGP PRIVATE KEY BLOCK----- - ''); + lFgEZrFBKRYJKwYBBAHaRw8BAQdAS1Ffiytk0h0z0jfaT3qyiDUV/plVIUwOg1Yr + AXP2YmsAAP0W6QMC3G2G41rzCGLeSHeGibor1+XuxvcwUpVdW7ge+BH/tDZuaXhv + cy90ZXN0cy9zb3VyY2VodXQgPHJvb3QraHV0QHNvdXJjZWh1dC5sb2NhbGRvbWFp + bj6IkwQTFgoAOxYhBMISh2Z08FCi969cq9R2wSP9QF2bBQJmsUEpAhsDBQsJCAcC + AiICBhUKCQgLAgQWAgMBAh4HAheAAAoJENR2wSP9QF2b4JMA+wQLdxVcod/ppyvH + QguGqqhkpk8KquCddOuFnQVAfHFWAQCK5putVk4mGzsoLTbOJCSGRC4pjEktZawQ + MTqJmnOuC5xdBGaxQSkSCisGAQQBl1UBBQEBB0Aed6UYJyighTY+KuPNQ439st3x + x04T1j58sx3AnKgYewMBCAcAAP9WLB79HO1zFRqTCnk7GIEWWogMFKVpazeBUNu9 + h9rzCA2+iHgEGBYKACAWIQTCEodmdPBQovevXKvUdsEj/UBdmwUCZrFBKQIbDAAK + CRDUdsEj/UBdmwgJAQDVk/px/pSzqreSeDLzxlb6dOo+N1KcicsJ0akhSJUcvwD9 + EPhpEDZu/UBKchAutOhWwz+y6pyoF4Vt7XG+jbJQtA4= + =KaQc + -----END PGP PRIVATE KEY BLOCK----- + '' + ); pgp-pubkey = pkgs.writeText "sourcehut.pgp-pubkey" '' -----BEGIN PGP PUBLIC KEY BLOCK----- @@ -78,7 +85,10 @@ in }; }; - networking.firewall.allowedTCPPorts = [ 80 443 ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ]; services.nginx = { enable = true; diff --git a/nixos/tests/spacecookie.nix b/nixos/tests/spacecookie.nix index a640657d8a6b6..696cdee902c41 100644 --- a/nixos/tests/spacecookie.nix +++ b/nixos/tests/spacecookie.nix @@ -1,11 +1,13 @@ let - gopherRoot = "/tmp/gopher"; - gopherHost = "gopherd"; + gopherRoot = "/tmp/gopher"; + gopherHost = "gopherd"; gopherClient = "client"; - fileContent = "Hello Gopher!\n"; - fileName = "file.txt"; + fileContent = "Hello Gopher!\n"; + fileName = "file.txt"; in - import ./make-test-python.nix ({...}: { +import ./make-test-python.nix ( + { ... }: + { name = "spacecookie"; nodes = { ${gopherHost} = { @@ -26,7 +28,7 @@ in }; }; - ${gopherClient} = {}; + ${gopherClient} = { }; }; testScript = '' @@ -53,4 +55,5 @@ in if not (["0", "1"] == dirEntries): raise Exception("Unexpected directory response") ''; - }) + } +) diff --git a/nixos/tests/spark/default.nix b/nixos/tests/spark/default.nix index 034e9711bed52..9c6725d460e94 100644 --- a/nixos/tests/spark/default.nix +++ b/nixos/tests/spark/default.nix @@ -6,43 +6,56 @@ let default = testsForPackage { sparkPackage = pkgs.spark; }; }; - testsForPackage = args: lib.recurseIntoAttrs { - sparkCluster = testSparkCluster args; - passthru.override = args': testsForPackage (args // args'); - }; - testSparkCluster = { sparkPackage, ... }: pkgs.testers.nixosTest ({ - name = "spark"; + testsForPackage = + args: + lib.recurseIntoAttrs { + sparkCluster = testSparkCluster args; + passthru.override = args': testsForPackage (args // args'); + }; + testSparkCluster = + { sparkPackage, ... }: + pkgs.testers.nixosTest ({ + name = "spark"; - nodes = { - worker = { nodes, pkgs, ... }: { - services.spark = { - package = sparkPackage; - worker = { - enable = true; - master = "master:7077"; + nodes = { + worker = + { nodes, pkgs, ... }: + { + services.spark = { + package = sparkPackage; + worker = { + enable = true; + master = "master:7077"; + }; + }; + virtualisation.memorySize = 2048; }; - }; - virtualisation.memorySize = 2048; - }; - master = { config, pkgs, ... }: { - services.spark = { - package = sparkPackage; - master = { - enable = true; - bind = "0.0.0.0"; + master = + { config, pkgs, ... }: + { + services.spark = { + package = sparkPackage; + master = { + enable = true; + bind = "0.0.0.0"; + }; + }; + networking.firewall.allowedTCPPorts = [ + 22 + 7077 + 8080 + ]; }; - }; - networking.firewall.allowedTCPPorts = [ 22 7077 8080 ]; }; - }; - testScript = '' - master.wait_for_unit("spark-master.service") - worker.wait_for_unit("spark-worker.service") - worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" ) - assert "Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/") - worker.succeed("spark-submit --version | systemd-cat") - worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py") - ''; - }); -in tests + testScript = '' + master.wait_for_unit("spark-master.service") + worker.wait_for_unit("spark-worker.service") + worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" ) + assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/") + worker.succeed("spark-submit --version | systemd-cat") + worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py") + ''; + }); +in +tests diff --git a/nixos/tests/sqlite3-to-mysql.nix b/nixos/tests/sqlite3-to-mysql.nix index f18a442157e7b..25ffa13ba4f52 100644 --- a/nixos/tests/sqlite3-to-mysql.nix +++ b/nixos/tests/sqlite3-to-mysql.nix @@ -1,65 +1,70 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -/* - This test suite replaces the typical pytestCheckHook function in - sqlite3-to-mysql due to the need of a running mysql instance. -*/ + /* + This test suite replaces the typical pytestCheckHook function in + sqlite3-to-mysql due to the need of a running mysql instance. + */ -{ - name = "sqlite3-to-mysql"; - meta.maintainers = with lib.maintainers; [ gador ]; + { + name = "sqlite3-to-mysql"; + meta.maintainers = with lib.maintainers; [ gador ]; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = with pkgs; [ - sqlite3-to-mysql - # create one coherent python environment - (python3.withPackages - (ps: sqlite3-to-mysql.propagatedBuildInputs ++ - [ - python3Packages.pytest - python3Packages.pytest-mock - python3Packages.pytest-timeout - python3Packages.factory-boy - python3Packages.docker # only needed so import does not fail - sqlite3-to-mysql - ]) - ) - ]; - services.mysql = { - package = pkgs.mariadb; - enable = true; - # from https://github.com/techouse/sqlite3-to-mysql/blob/master/tests/conftest.py - # and https://github.com/techouse/sqlite3-to-mysql/blob/master/.github/workflows/test.yml - initialScript = pkgs.writeText "mysql-init.sql" '' - create database test_db DEFAULT CHARACTER SET utf8mb4; - create user tester identified by 'testpass'; - grant all on test_db.* to tester; - create user tester@localhost identified by 'testpass'; - grant all on test_db.* to tester@localhost; - ''; - settings = { - mysqld = { - character-set-server = "utf8mb4"; - collation-server = "utf8mb4_unicode_ci"; - log_warnings = 1; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + sqlite3-to-mysql + # create one coherent python environment + (python3.withPackages ( + ps: + sqlite3-to-mysql.propagatedBuildInputs + ++ [ + python3Packages.pytest + python3Packages.pytest-mock + python3Packages.pytest-timeout + python3Packages.factory-boy + python3Packages.docker # only needed so import does not fail + sqlite3-to-mysql + ] + )) + ]; + services.mysql = { + package = pkgs.mariadb; + enable = true; + # from https://github.com/techouse/sqlite3-to-mysql/blob/master/tests/conftest.py + # and https://github.com/techouse/sqlite3-to-mysql/blob/master/.github/workflows/test.yml + initialScript = pkgs.writeText "mysql-init.sql" '' + create database test_db DEFAULT CHARACTER SET utf8mb4; + create user tester identified by 'testpass'; + grant all on test_db.* to tester; + create user tester@localhost identified by 'testpass'; + grant all on test_db.* to tester@localhost; + ''; + settings = { + mysqld = { + character-set-server = "utf8mb4"; + collation-server = "utf8mb4_unicode_ci"; + log_warnings = 1; + }; + }; }; }; - }; - }; - testScript = '' - machine.wait_for_unit("mysql") + testScript = '' + machine.wait_for_unit("mysql") - machine.succeed( - "sqlite3mysql --version | grep ${pkgs.sqlite3-to-mysql.version}" - ) + machine.succeed( + "sqlite3mysql --version | grep ${pkgs.sqlite3-to-mysql.version}" + ) - # invalid_database_name: assert '1045 (28000): Access denied' in "1044 (42000): Access denied [...] - # invalid_database_user: does not return non-zero exit for some reason - # test_version: has problems importing sqlite3_to_mysql and determining the version - machine.succeed( - "cd ${pkgs.sqlite3-to-mysql.src} \ - && pytest -v --no-docker -k \"not test_invalid_database_name and not test_invalid_database_user and not test_version\"" - ) - ''; -}) + # invalid_database_name: assert '1045 (28000): Access denied' in "1044 (42000): Access denied [...] + # invalid_database_user: does not return non-zero exit for some reason + # test_version: has problems importing sqlite3_to_mysql and determining the version + machine.succeed( + "cd ${pkgs.sqlite3-to-mysql.src} \ + && pytest -v --no-docker -k \"not test_invalid_database_name and not test_invalid_database_user and not test_version\"" + ) + ''; + } +) diff --git a/nixos/tests/ssh-agent-auth.nix b/nixos/tests/ssh-agent-auth.nix index fee40afd61539..4bfe453586f92 100644 --- a/nixos/tests/ssh-agent-auth.nix +++ b/nixos/tests/ssh-agent-auth.nix @@ -1,55 +1,65 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: let inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - in { + in + { name = "ssh-agent-auth"; meta.maintainers = with lib.maintainers; [ nicoo ]; - nodes = let nodeConfig = n: { ... }: { - users.users = { - admin = { - isNormalUser = true; - extraGroups = [ "wheel" ]; - openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - }; - foo.isNormalUser = true; - }; + nodes = + let + nodeConfig = + n: + { ... }: + { + users.users = { + admin = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + }; + foo.isNormalUser = true; + }; - security.pam.sshAgentAuth = { - # Must be specified, as nixpkgs CI expects everything to eval without warning - authorizedKeysFiles = [ "/etc/ssh/authorized_keys.d/%u" ]; - enable = true; - }; - security.${lib.replaceStrings [ "_" ] [ "-" ] n} = { - enable = true; - wheelNeedsPassword = true; # We are checking `pam_ssh_agent_auth(8)` works for a sudoer - }; + security.pam.sshAgentAuth = { + # Must be specified, as nixpkgs CI expects everything to eval without warning + authorizedKeysFiles = [ "/etc/ssh/authorized_keys.d/%u" ]; + enable = true; + }; + security.${lib.replaceStrings [ "_" ] [ "-" ] n} = { + enable = true; + wheelNeedsPassword = true; # We are checking `pam_ssh_agent_auth(8)` works for a sudoer + }; - # Necessary for pam_ssh_agent_auth >_>' - services.openssh.enable = true; - }; - in lib.genAttrs [ "sudo" "sudo_rs" ] nodeConfig; + # Necessary for pam_ssh_agent_auth >_>' + services.openssh.enable = true; + }; + in + lib.genAttrs [ "sudo" "sudo_rs" ] nodeConfig; - testScript = let - privateKeyPath = "/home/admin/.ssh/id_ecdsa"; - userScript = pkgs.writeShellScript "test-script" '' - set -e - ssh-add -q ${privateKeyPath} + testScript = + let + privateKeyPath = "/home/admin/.ssh/id_ecdsa"; + userScript = pkgs.writeShellScript "test-script" '' + set -e + ssh-add -q ${privateKeyPath} - # faketty needed to ensure `sudo` doesn't write to the controlling PTY, - # which would break the test-driver's line-oriented protocol. - ${lib.getExe pkgs.faketty} sudo -u foo -- id -un - ''; - in '' - for vm in (sudo, sudo_rs): - sudo_impl = vm.name.replace("_", "-") - with subtest(f"wheel user can auth with ssh-agent for {sudo_impl}"): - vm.copy_from_host("${snakeOilPrivateKey}", "${privateKeyPath}") - vm.succeed("chmod -R 0700 /home/admin") - vm.succeed("chown -R admin:users /home/admin") + # faketty needed to ensure `sudo` doesn't write to the controlling PTY, + # which would break the test-driver's line-oriented protocol. + ${lib.getExe pkgs.faketty} sudo -u foo -- id -un + ''; + in + '' + for vm in (sudo, sudo_rs): + sudo_impl = vm.name.replace("_", "-") + with subtest(f"wheel user can auth with ssh-agent for {sudo_impl}"): + vm.copy_from_host("${snakeOilPrivateKey}", "${privateKeyPath}") + vm.succeed("chmod -R 0700 /home/admin") + vm.succeed("chown -R admin:users /home/admin") - # Run `userScript` in an environment with an SSH-agent available - assert vm.succeed("sudo -u admin -- ssh-agent ${userScript} 2>&1").strip() == "foo" - ''; + # Run `userScript` in an environment with an SSH-agent available + assert vm.succeed("sudo -u admin -- ssh-agent ${userScript} 2>&1").strip() == "foo" + ''; } ) diff --git a/nixos/tests/ssh-audit.nix b/nixos/tests/ssh-audit.nix index 25772aba3ea08..3e0c33c6850f1 100644 --- a/nixos/tests/ssh-audit.nix +++ b/nixos/tests/ssh-audit.nix @@ -1,11 +1,13 @@ import ./make-test-python.nix ( - {pkgs, ...}: let + { pkgs, ... }: + let sshKeys = import (pkgs.path + "/nixos/tests/ssh-keys.nix") pkgs; sshUsername = "any-user"; serverName = "server"; clientName = "client"; sshAuditPort = 2222; - in { + in + { name = "ssh"; nodes = { diff --git a/nixos/tests/ssh-keys.nix b/nixos/tests/ssh-keys.nix index 675f3a0b43947..2c25778a20854 100644 --- a/nixos/tests/ssh-keys.nix +++ b/nixos/tests/ssh-keys.nix @@ -1,5 +1,5 @@ -pkgs: -{ snakeOilPrivateKey = pkgs.writeText "privkey.snakeoil" '' +pkgs: { + snakeOilPrivateKey = pkgs.writeText "privkey.snakeoil" '' -----BEGIN EC PRIVATE KEY----- MHcCAQEEIHQf/khLvYrQ8IOika5yqtWvI0oquHlpRLTZiJy5dRJmoAoGCCqGSM49 AwEHoUQDQgAEKF0DYGbBwbj06tA3fd/+yP44cvmwmHBWXZCKbS+RQlAKvLXMWkpN diff --git a/nixos/tests/sslh.nix b/nixos/tests/sslh.nix index 30ffd389d4422..16a74eadb56ac 100644 --- a/nixos/tests/sslh.nix +++ b/nixos/tests/sslh.nix @@ -2,49 +2,64 @@ import ./make-test-python.nix { name = "sslh"; nodes = { - server = { pkgs, lib, ... }: { - networking.firewall.allowedTCPPorts = [ 443 ]; - networking.interfaces.eth1.ipv6.addresses = [ - { - address = "fe00:aa:bb:cc::2"; - prefixLength = 64; - } - ]; - services.sslh = { - enable = true; - settings.transparent = true; - settings.protocols = [ - { name = "ssh"; service = "ssh"; host = "localhost"; port = "22"; probe = "builtin"; } - { name = "http"; host = "localhost"; port = "80"; probe = "builtin"; } + server = + { pkgs, lib, ... }: + { + networking.firewall.allowedTCPPorts = [ 443 ]; + networking.interfaces.eth1.ipv6.addresses = [ + { + address = "fe00:aa:bb:cc::2"; + prefixLength = 64; + } ]; - }; - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keyFiles = [ ./initrd-network-ssh/id_ed25519.pub ]; - services.nginx = { - enable = true; - virtualHosts."localhost" = { - addSSL = false; - default = true; - root = pkgs.runCommand "testdir" {} '' - mkdir "$out" - echo hello world > "$out/index.html" - ''; + services.sslh = { + enable = true; + settings.transparent = true; + settings.protocols = [ + { + name = "ssh"; + service = "ssh"; + host = "localhost"; + port = "22"; + probe = "builtin"; + } + { + name = "http"; + host = "localhost"; + port = "80"; + probe = "builtin"; + } + ]; + }; + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keyFiles = [ ./initrd-network-ssh/id_ed25519.pub ]; + services.nginx = { + enable = true; + virtualHosts."localhost" = { + addSSL = false; + default = true; + root = pkgs.runCommand "testdir" { } '' + mkdir "$out" + echo hello world > "$out/index.html" + ''; + }; }; }; - }; - client = { ... }: { - networking.interfaces.eth1.ipv6.addresses = [ - { - address = "fe00:aa:bb:cc::1"; - prefixLength = 64; - } - ]; - networking.hosts."fe00:aa:bb:cc::2" = [ "server" ]; - environment.etc.sshKey = { - source = ./initrd-network-ssh/id_ed25519; # dont use this anywhere else - mode = "0600"; + client = + { ... }: + { + networking.interfaces.eth1.ipv6.addresses = [ + { + address = "fe00:aa:bb:cc::1"; + prefixLength = 64; + } + ]; + networking.hosts."fe00:aa:bb:cc::2" = [ "server" ]; + environment.etc.sshKey = { + source = ./initrd-network-ssh/id_ed25519; # dont use this anywhere else + mode = "0600"; + }; }; - }; }; testScript = '' diff --git a/nixos/tests/sssd-ldap.nix b/nixos/tests/sssd-ldap.nix index 60f3b1a415daf..9bc991f6ddcea 100644 --- a/nixos/tests/sssd-ldap.nix +++ b/nixos/tests/sssd-ldap.nix @@ -9,165 +9,175 @@ let testPassword = "foobar"; testNewPassword = "barfoo"; in -import ./make-test-python.nix ({ pkgs, ... }: { - name = "sssd-ldap"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "sssd-ldap"; - meta = with pkgs.lib.maintainers; { - maintainers = [ bbigras s1341 ]; - }; + meta = with pkgs.lib.maintainers; { + maintainers = [ + bbigras + s1341 + ]; + }; - nodes.machine = { pkgs, ... }: { - security.pam.services.systemd-user.makeHomeDir = true; - environment.etc."cert.pem".text = builtins.readFile ./common/acme/server/acme.test.cert.pem; - environment.etc."key.pem".text = builtins.readFile ./common/acme/server/acme.test.key.pem; - services.openldap = { - enable = true; - urlList = [ "ldap:///" "ldaps:///" ]; - settings = { - attrs = { - olcTLSCACertificateFile = "/etc/cert.pem"; - olcTLSCertificateFile = "/etc/cert.pem"; - olcTLSCertificateKeyFile = "/etc/key.pem"; - olcTLSCipherSuite = "HIGH:MEDIUM:+3DES:+RC4:+aNULL"; - olcTLSCRLCheck = "none"; - olcTLSVerifyClient = "never"; - olcTLSProtocolMin = "3.1"; - }; - children = { - "cn=schema".includes = [ - "${pkgs.openldap}/etc/schema/core.ldif" - "${pkgs.openldap}/etc/schema/cosine.ldif" - "${pkgs.openldap}/etc/schema/inetorgperson.ldif" - "${pkgs.openldap}/etc/schema/nis.ldif" + nodes.machine = + { pkgs, ... }: + { + security.pam.services.systemd-user.makeHomeDir = true; + environment.etc."cert.pem".text = builtins.readFile ./common/acme/server/acme.test.cert.pem; + environment.etc."key.pem".text = builtins.readFile ./common/acme/server/acme.test.key.pem; + services.openldap = { + enable = true; + urlList = [ + "ldap:///" + "ldaps:///" ]; - "olcDatabase={1}mdb" = { + settings = { attrs = { - objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ]; - olcDatabase = "{1}mdb"; - olcDbDirectory = "/var/lib/openldap/db"; - olcSuffix = dbSuffix; - olcRootDN = "cn=${ldapRootUser},${dbSuffix}"; - olcRootPW = ldapRootPassword; - olcAccess = [ - /* - custom access rules for userPassword attributes - */ - '' - {0}to attrs=userPassword - by self write - by anonymous auth - by * none'' - - /* - allow read on anything else - */ - '' - {1}to * - by * read'' + olcTLSCACertificateFile = "/etc/cert.pem"; + olcTLSCertificateFile = "/etc/cert.pem"; + olcTLSCertificateKeyFile = "/etc/key.pem"; + olcTLSCipherSuite = "HIGH:MEDIUM:+3DES:+RC4:+aNULL"; + olcTLSCRLCheck = "none"; + olcTLSVerifyClient = "never"; + olcTLSProtocolMin = "3.1"; + }; + children = { + "cn=schema".includes = [ + "${pkgs.openldap}/etc/schema/core.ldif" + "${pkgs.openldap}/etc/schema/cosine.ldif" + "${pkgs.openldap}/etc/schema/inetorgperson.ldif" + "${pkgs.openldap}/etc/schema/nis.ldif" ]; + "olcDatabase={1}mdb" = { + attrs = { + objectClass = [ + "olcDatabaseConfig" + "olcMdbConfig" + ]; + olcDatabase = "{1}mdb"; + olcDbDirectory = "/var/lib/openldap/db"; + olcSuffix = dbSuffix; + olcRootDN = "cn=${ldapRootUser},${dbSuffix}"; + olcRootPW = ldapRootPassword; + olcAccess = [ + # custom access rules for userPassword attributes + '' + {0}to attrs=userPassword + by self write + by anonymous auth + by * none'' + + # allow read on anything else + '' + {1}to * + by * read'' + ]; + }; + }; }; }; - }; - }; - declarativeContents = { - ${dbSuffix} = '' - dn: ${dbSuffix} - objectClass: top - objectClass: dcObject - objectClass: organization - o: ${dbDomain} + declarativeContents = { + ${dbSuffix} = '' + dn: ${dbSuffix} + objectClass: top + objectClass: dcObject + objectClass: organization + o: ${dbDomain} - dn: ou=posix,${dbSuffix} - objectClass: top - objectClass: organizationalUnit + dn: ou=posix,${dbSuffix} + objectClass: top + objectClass: organizationalUnit - dn: ou=accounts,ou=posix,${dbSuffix} - objectClass: top - objectClass: organizationalUnit + dn: ou=accounts,ou=posix,${dbSuffix} + objectClass: top + objectClass: organizationalUnit - dn: uid=${testUser},ou=accounts,ou=posix,${dbSuffix} - objectClass: person - objectClass: posixAccount - userPassword: ${testPassword} - homeDirectory: /home/${testUser} - uidNumber: 1234 - gidNumber: 1234 - cn: "" - sn: "" - ''; - }; - }; + dn: uid=${testUser},ou=accounts,ou=posix,${dbSuffix} + objectClass: person + objectClass: posixAccount + userPassword: ${testPassword} + homeDirectory: /home/${testUser} + uidNumber: 1234 + gidNumber: 1234 + cn: "" + sn: "" + ''; + }; + }; - services.sssd = { - enable = true; - # just for testing purposes, don't put this into the Nix store in production! - environmentFile = "${pkgs.writeText "ldap-root" "LDAP_BIND_PW=${ldapRootPassword}"}"; - config = '' - [sssd] - config_file_version = 2 - services = nss, pam, sudo - domains = ${dbDomain} + services.sssd = { + enable = true; + # just for testing purposes, don't put this into the Nix store in production! + environmentFile = "${pkgs.writeText "ldap-root" "LDAP_BIND_PW=${ldapRootPassword}"}"; + config = '' + [sssd] + config_file_version = 2 + services = nss, pam, sudo + domains = ${dbDomain} - [domain/${dbDomain}] - auth_provider = ldap - id_provider = ldap - ldap_uri = ldaps://127.0.0.1:636 - ldap_tls_reqcert = allow - ldap_tls_cacert = /etc/cert.pem - ldap_search_base = ${dbSuffix} - ldap_default_bind_dn = cn=${ldapRootUser},${dbSuffix} - ldap_default_authtok_type = password - ldap_default_authtok = $LDAP_BIND_PW - ''; - }; - }; + [domain/${dbDomain}] + auth_provider = ldap + id_provider = ldap + ldap_uri = ldaps://127.0.0.1:636 + ldap_tls_reqcert = allow + ldap_tls_cacert = /etc/cert.pem + ldap_search_base = ${dbSuffix} + ldap_default_bind_dn = cn=${ldapRootUser},${dbSuffix} + ldap_default_authtok_type = password + ldap_default_authtok = $LDAP_BIND_PW + ''; + }; + }; - testScript = '' - machine.start() - machine.wait_for_unit("openldap.service") - machine.wait_for_unit("sssd.service") - result = machine.execute("getent passwd ${testUser}") - if result[0] == 0: - assert "${testUser}" in result[1] - else: - machine.wait_for_console_text("Backend is online") - machine.succeed("getent passwd ${testUser}") + testScript = '' + machine.start() + machine.wait_for_unit("openldap.service") + machine.wait_for_unit("sssd.service") + result = machine.execute("getent passwd ${testUser}") + if result[0] == 0: + assert "${testUser}" in result[1] + else: + machine.wait_for_console_text("Backend is online") + machine.succeed("getent passwd ${testUser}") - with subtest("Log in as ${testUser}"): - machine.wait_until_tty_matches("1", "login: ") - machine.send_chars("${testUser}\n") - machine.wait_until_tty_matches("1", "login: ${testUser}") - machine.wait_until_succeeds("pgrep login") - machine.wait_until_tty_matches("1", "Password: ") - machine.send_chars("${testPassword}\n") - machine.wait_until_succeeds("pgrep -u ${testUser} bash") - machine.send_chars("touch done\n") - machine.wait_for_file("/home/${testUser}/done") + with subtest("Log in as ${testUser}"): + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("${testUser}\n") + machine.wait_until_tty_matches("1", "login: ${testUser}") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("${testPassword}\n") + machine.wait_until_succeeds("pgrep -u ${testUser} bash") + machine.send_chars("touch done\n") + machine.wait_for_file("/home/${testUser}/done") - with subtest("Change ${testUser}'s password"): - machine.send_chars("passwd\n") - machine.wait_until_tty_matches("1", "Current Password: ") - machine.send_chars("${testPassword}\n") - machine.wait_until_tty_matches("1", "New Password: ") - machine.send_chars("${testNewPassword}\n") - machine.wait_until_tty_matches("1", "Reenter new Password: ") - machine.send_chars("${testNewPassword}\n") - machine.wait_until_tty_matches("1", "passwd: password updated successfully") + with subtest("Change ${testUser}'s password"): + machine.send_chars("passwd\n") + machine.wait_until_tty_matches("1", "Current Password: ") + machine.send_chars("${testPassword}\n") + machine.wait_until_tty_matches("1", "New Password: ") + machine.send_chars("${testNewPassword}\n") + machine.wait_until_tty_matches("1", "Reenter new Password: ") + machine.send_chars("${testNewPassword}\n") + machine.wait_until_tty_matches("1", "passwd: password updated successfully") - with subtest("Log in as ${testUser} with new password in virtual console 2"): - machine.send_key("alt-f2") - machine.wait_until_succeeds("[ $(fgconsole) = 2 ]") - machine.wait_for_unit("getty@tty2.service") - machine.wait_until_succeeds("pgrep -f 'agetty.*tty2'") + with subtest("Log in as ${testUser} with new password in virtual console 2"): + machine.send_key("alt-f2") + machine.wait_until_succeeds("[ $(fgconsole) = 2 ]") + machine.wait_for_unit("getty@tty2.service") + machine.wait_until_succeeds("pgrep -f 'agetty.*tty2'") - machine.wait_until_tty_matches("2", "login: ") - machine.send_chars("${testUser}\n") - machine.wait_until_tty_matches("2", "login: ${testUser}") - machine.wait_until_succeeds("pgrep login") - machine.wait_until_tty_matches("2", "Password: ") - machine.send_chars("${testNewPassword}\n") - machine.wait_until_succeeds("pgrep -u ${testUser} bash") - machine.send_chars("touch done2\n") - machine.wait_for_file("/home/${testUser}/done2") - ''; -}) + machine.wait_until_tty_matches("2", "login: ") + machine.send_chars("${testUser}\n") + machine.wait_until_tty_matches("2", "login: ${testUser}") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches("2", "Password: ") + machine.send_chars("${testNewPassword}\n") + machine.wait_until_succeeds("pgrep -u ${testUser} bash") + machine.send_chars("touch done2\n") + machine.wait_for_file("/home/${testUser}/done2") + ''; + } +) diff --git a/nixos/tests/sssd.nix b/nixos/tests/sssd.nix index c8d356e074ad5..5622eadf4e16d 100644 --- a/nixos/tests/sssd.nix +++ b/nixos/tests/sssd.nix @@ -1,18 +1,22 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "sssd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ bbigras ]; - }; - nodes.machine = { pkgs, ... }: { - services.sssd.enable = true; - }; + { + name = "sssd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ bbigras ]; + }; + nodes.machine = + { pkgs, ... }: + { + services.sssd.enable = true; + }; - testScript = '' + testScript = '' start_all() machine.wait_for_unit("multi-user.target") machine.wait_for_unit("sssd.service") machine.succeed("sssctl config-check") ''; -}) + } +) diff --git a/nixos/tests/stalwart-mail.nix b/nixos/tests/stalwart-mail.nix index 173b4fce4ad5d..fb5b9f7fc593e 100644 --- a/nixos/tests/stalwart-mail.nix +++ b/nixos/tests/stalwart-mail.nix @@ -6,115 +6,126 @@ let certs = import ./common/acme/server/snakeoil-certs.nix; domain = certs.domain; -in import ./make-test-python.nix ({ lib, ... }: { - name = "stalwart-mail"; - - nodes.main = { pkgs, ... }: { - security.pki.certificateFiles = [ certs.ca.cert ]; - - services.stalwart-mail = { - enable = true; - settings = { - server.hostname = domain; - - certificate."snakeoil" = { - cert = "%{file:${certs.${domain}.cert}}%"; - private-key = "%{file:${certs.${domain}.key}}%"; - }; - - server.tls = { - certificate = "snakeoil"; +in +import ./make-test-python.nix ( + { lib, ... }: + { + name = "stalwart-mail"; + + nodes.main = + { pkgs, ... }: + { + security.pki.certificateFiles = [ certs.ca.cert ]; + + services.stalwart-mail = { enable = true; - implicit = false; - }; - - server.listener = { - "smtp-submission" = { - bind = [ "[::]:587" ]; - protocol = "smtp"; - }; - - "imap" = { - bind = [ "[::]:143" ]; - protocol = "imap"; + settings = { + server.hostname = domain; + + certificate."snakeoil" = { + cert = "%{file:${certs.${domain}.cert}}%"; + private-key = "%{file:${certs.${domain}.key}}%"; + }; + + server.tls = { + certificate = "snakeoil"; + enable = true; + implicit = false; + }; + + server.listener = { + "smtp-submission" = { + bind = [ "[::]:587" ]; + protocol = "smtp"; + }; + + "imap" = { + bind = [ "[::]:143" ]; + protocol = "imap"; + }; + }; + + session.auth.mechanisms = "[plain]"; + session.auth.directory = "'in-memory'"; + storage.directory = "in-memory"; + + session.rcpt.directory = "'in-memory'"; + queue.outbound.next-hop = "'local'"; + + directory."in-memory" = { + type = "memory"; + principals = [ + { + class = "individual"; + name = "alice"; + secret = "foobar"; + email = [ "alice@${domain}" ]; + } + { + class = "individual"; + name = "bob"; + secret = "foobar"; + email = [ "bob@${domain}" ]; + } + ]; + }; }; }; - session.auth.mechanisms = "[plain]"; - session.auth.directory = "'in-memory'"; - storage.directory = "in-memory"; - - session.rcpt.directory = "'in-memory'"; - queue.outbound.next-hop = "'local'"; - - directory."in-memory" = { - type = "memory"; - principals = [ - { - class = "individual"; - name = "alice"; - secret = "foobar"; - email = [ "alice@${domain}" ]; - } - { - class = "individual"; - name = "bob"; - secret = "foobar"; - email = [ "bob@${domain}" ]; - } - ]; - }; + environment.systemPackages = [ + (pkgs.writers.writePython3Bin "test-smtp-submission" { } '' + from smtplib import SMTP + + with SMTP('localhost', 587) as smtp: + smtp.starttls() + smtp.login('alice', 'foobar') + smtp.sendmail( + 'alice@${domain}', + 'bob@${domain}', + """ + From: alice@${domain} + To: bob@${domain} + Subject: Some test message + + This is a test message. + """.strip() + ) + '') + + (pkgs.writers.writePython3Bin "test-imap-read" { } '' + from imaplib import IMAP4 + + with IMAP4('localhost') as imap: + imap.starttls() + status, [caps] = imap.login('bob', 'foobar') + assert status == 'OK' + imap.select() + status, [ref] = imap.search(None, 'ALL') + assert status == 'OK' + [msgId] = ref.split() + status, msg = imap.fetch(msgId, 'BODY[TEXT]') + assert status == 'OK' + assert msg[0][1].strip() == b'This is a test message.' + '') + ]; }; - }; - environment.systemPackages = [ - (pkgs.writers.writePython3Bin "test-smtp-submission" { } '' - from smtplib import SMTP - - with SMTP('localhost', 587) as smtp: - smtp.starttls() - smtp.login('alice', 'foobar') - smtp.sendmail( - 'alice@${domain}', - 'bob@${domain}', - """ - From: alice@${domain} - To: bob@${domain} - Subject: Some test message - - This is a test message. - """.strip() - ) - '') - - (pkgs.writers.writePython3Bin "test-imap-read" { } '' - from imaplib import IMAP4 - - with IMAP4('localhost') as imap: - imap.starttls() - status, [caps] = imap.login('bob', 'foobar') - assert status == 'OK' - imap.select() - status, [ref] = imap.search(None, 'ALL') - assert status == 'OK' - [msgId] = ref.split() - status, msg = imap.fetch(msgId, 'BODY[TEXT]') - assert status == 'OK' - assert msg[0][1].strip() == b'This is a test message.' - '') - ]; - }; - - testScript = /* python */ '' - main.wait_for_unit("stalwart-mail.service") - main.wait_for_open_port(587) - main.wait_for_open_port(143) - - main.succeed("test-smtp-submission") - main.succeed("test-imap-read") - ''; - - meta = { - maintainers = with lib.maintainers; [ happysalada pacien onny ]; - }; -}) + testScript = # python + '' + main.wait_for_unit("stalwart-mail.service") + main.wait_for_open_port(587) + main.wait_for_open_port(143) + + main.succeed("test-smtp-submission") + main.succeed("test-imap-read") + ''; + + meta = { + maintainers = with lib.maintainers; [ + happysalada + pacien + onny + ]; + }; + } +) diff --git a/nixos/tests/starship.nix b/nixos/tests/starship.nix index 48a4be6caf176..23e103fc000e1 100644 --- a/nixos/tests/starship.nix +++ b/nixos/tests/starship.nix @@ -1,42 +1,53 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "starship"; - meta.maintainers = pkgs.starship.meta.maintainers; - - nodes.machine = { - programs = { - fish.enable = true; - zsh.enable = true; - - starship = { - enable = true; - settings.format = "<starship>"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "starship"; + meta.maintainers = pkgs.starship.meta.maintainers; + + nodes.machine = { + programs = { + fish.enable = true; + zsh.enable = true; + + starship = { + enable = true; + settings.format = "<starship>"; + }; }; + + environment.systemPackages = + map + ( + shell: + pkgs.writeScriptBin "expect-${shell}" '' + #!${pkgs.expect}/bin/expect -f + + spawn env TERM=xterm ${shell} -i + + expect "<starship>" { + send "exit\n" + } timeout { + send_user "\n${shell} failed to display Starship\n" + exit 1 + } + + expect eof + '' + ) + [ + "bash" + "fish" + "zsh" + ]; }; - environment.systemPackages = map - (shell: pkgs.writeScriptBin "expect-${shell}" '' - #!${pkgs.expect}/bin/expect -f - - spawn env TERM=xterm ${shell} -i - - expect "<starship>" { - send "exit\n" - } timeout { - send_user "\n${shell} failed to display Starship\n" - exit 1 - } - - expect eof - '') - [ "bash" "fish" "zsh" ]; - }; - - testScript = '' - start_all() - machine.wait_for_unit("default.target") - - machine.succeed("expect-bash") - machine.succeed("expect-fish") - machine.succeed("expect-zsh") - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("default.target") + + machine.succeed("expect-bash") + machine.succeed("expect-fish") + machine.succeed("expect-zsh") + ''; + } +) diff --git a/nixos/tests/stratis/default.nix b/nixos/tests/stratis/default.nix index 42daadd5fcaac..3a3452e63f09b 100644 --- a/nixos/tests/stratis/default.nix +++ b/nixos/tests/stratis/default.nix @@ -1,5 +1,6 @@ -{ system ? builtins.currentSystem -, pkgs ? import ../../.. { inherit system; } +{ + system ? builtins.currentSystem, + pkgs ? import ../../.. { inherit system; }, }: { diff --git a/nixos/tests/stratis/encryption.nix b/nixos/tests/stratis/encryption.nix index 81b5f92b4ac4a..719d8dd258412 100644 --- a/nixos/tests/stratis/encryption.nix +++ b/nixos/tests/stratis/encryption.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ pkgs, ... }: +import ../make-test-python.nix ( + { pkgs, ... }: { name = "stratis"; @@ -6,10 +7,12 @@ import ../make-test-python.nix ({ pkgs, ... }: maintainers = [ nickcao ]; }; - nodes.machine = { pkgs, ... }: { - services.stratis.enable = true; - virtualisation.emptyDiskImages = [ 2048 ]; - }; + nodes.machine = + { pkgs, ... }: + { + services.stratis.enable = true; + virtualisation.emptyDiskImages = [ 2048 ]; + }; testScript = let @@ -29,4 +32,5 @@ import ../make-test-python.nix ({ pkgs, ... }: machine.succeed("stratis pool stop --name testpool") machine.succeed("stratis pool start --name testpool --unlock-method keyring") ''; - }) + } +) diff --git a/nixos/tests/stratis/simple.nix b/nixos/tests/stratis/simple.nix index 543789f59c052..7cd28f8aee618 100644 --- a/nixos/tests/stratis/simple.nix +++ b/nixos/tests/stratis/simple.nix @@ -1,4 +1,5 @@ -import ../make-test-python.nix ({ pkgs, ... }: +import ../make-test-python.nix ( + { pkgs, ... }: { name = "stratis"; @@ -6,10 +7,17 @@ import ../make-test-python.nix ({ pkgs, ... }: maintainers = [ nickcao ]; }; - nodes.machine = { pkgs, ... }: { - services.stratis.enable = true; - virtualisation.emptyDiskImages = [ 2048 1024 1024 1024 ]; - }; + nodes.machine = + { pkgs, ... }: + { + services.stratis.enable = true; + virtualisation.emptyDiskImages = [ + 2048 + 1024 + 1024 + 1024 + ]; + }; testScript = '' machine.wait_for_unit("stratisd") @@ -36,4 +44,5 @@ import ../make-test-python.nix ({ pkgs, ... }: assert "test2" in machine.succeed("cat /mnt/testfs1/test1") assert "test1" in machine.succeed("cat /mnt/testfs2/test1") ''; - }) + } +) diff --git a/nixos/tests/strongswan-swanctl.nix b/nixos/tests/strongswan-swanctl.nix index 0cf181ee62a56..a36757bf9eaa8 100644 --- a/nixos/tests/strongswan-swanctl.nix +++ b/nixos/tests/strongswan-swanctl.nix @@ -16,133 +16,150 @@ # See the NixOS manual for how to run this test: # https://nixos.org/nixos/manual/index.html#sec-running-nixos-tests-interactively -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ( + { pkgs, ... }: -let - allowESP = "iptables --insert INPUT --protocol ESP --jump ACCEPT"; + let + allowESP = "iptables --insert INPUT --protocol ESP --jump ACCEPT"; - # Shared VPN settings: - vlan0 = "192.168.0.0/24"; - carolIp = "192.168.1.2"; - moonIp = "192.168.1.3"; - version = 2; - secret = "0sFpZAZqEN6Ti9sqt4ZP5EWcqx"; - esp_proposals = [ "aes128gcm128-x25519" ]; - proposals = [ "aes128-sha256-x25519" ]; -in { - name = "strongswan-swanctl"; - meta.maintainers = with pkgs.lib.maintainers; [ basvandijk ]; - nodes = { + # Shared VPN settings: + vlan0 = "192.168.0.0/24"; + carolIp = "192.168.1.2"; + moonIp = "192.168.1.3"; + version = 2; + secret = "0sFpZAZqEN6Ti9sqt4ZP5EWcqx"; + esp_proposals = [ "aes128gcm128-x25519" ]; + proposals = [ "aes128-sha256-x25519" ]; + in + { + name = "strongswan-swanctl"; + meta.maintainers = with pkgs.lib.maintainers; [ basvandijk ]; + nodes = { - alice = { ... } : { - virtualisation.vlans = [ 0 ]; - networking = { - dhcpcd.enable = false; - defaultGateway = "192.168.0.3"; - }; - }; - - moon = { config, ...} : - let strongswan = config.services.strongswan-swanctl.package; - in { - virtualisation.vlans = [ 0 1 ]; - networking = { - dhcpcd.enable = false; - firewall = { - allowedUDPPorts = [ 4500 500 ]; - extraCommands = allowESP; - }; - nat = { - enable = true; - internalIPs = [ vlan0 ]; - internalInterfaces = [ "eth1" ]; - externalIP = moonIp; - externalInterface = "eth2"; + alice = + { ... }: + { + virtualisation.vlans = [ 0 ]; + networking = { + dhcpcd.enable = false; + defaultGateway = "192.168.0.3"; }; }; - environment.systemPackages = [ strongswan ]; - services.strongswan-swanctl = { - enable = true; - swanctl = { - connections = { - rw = { - local_addrs = [ moonIp ]; - local.main = { - auth = "psk"; - }; - remote.main = { - auth = "psk"; - }; - children = { - net = { - local_ts = [ vlan0 ]; - updown = "${strongswan}/libexec/ipsec/_updown iptables"; - inherit esp_proposals; + + moon = + { config, ... }: + let + strongswan = config.services.strongswan-swanctl.package; + in + { + virtualisation.vlans = [ + 0 + 1 + ]; + networking = { + dhcpcd.enable = false; + firewall = { + allowedUDPPorts = [ + 4500 + 500 + ]; + extraCommands = allowESP; + }; + nat = { + enable = true; + internalIPs = [ vlan0 ]; + internalInterfaces = [ "eth1" ]; + externalIP = moonIp; + externalInterface = "eth2"; + }; + }; + environment.systemPackages = [ strongswan ]; + services.strongswan-swanctl = { + enable = true; + swanctl = { + connections = { + rw = { + local_addrs = [ moonIp ]; + local.main = { + auth = "psk"; + }; + remote.main = { + auth = "psk"; + }; + children = { + net = { + local_ts = [ vlan0 ]; + updown = "${strongswan}/libexec/ipsec/_updown iptables"; + inherit esp_proposals; + }; }; + inherit version; + inherit proposals; }; - inherit version; - inherit proposals; }; - }; - secrets = { - ike.carol = { - id.main = carolIp; - inherit secret; + secrets = { + ike.carol = { + id.main = carolIp; + inherit secret; + }; }; }; }; }; - }; - carol = { config, ...} : - let strongswan = config.services.strongswan-swanctl.package; - in { - virtualisation.vlans = [ 1 ]; - networking = { - dhcpcd.enable = false; - firewall.extraCommands = allowESP; - }; - environment.systemPackages = [ strongswan ]; - services.strongswan-swanctl = { - enable = true; - swanctl = { - connections = { - home = { - local_addrs = [ carolIp ]; - remote_addrs = [ moonIp ]; - local.main = { - auth = "psk"; - id = carolIp; - }; - remote.main = { - auth = "psk"; - id = moonIp; - }; - children = { - home = { - remote_ts = [ vlan0 ]; - start_action = "trap"; - updown = "${strongswan}/libexec/ipsec/_updown iptables"; - inherit esp_proposals; + carol = + { config, ... }: + let + strongswan = config.services.strongswan-swanctl.package; + in + { + virtualisation.vlans = [ 1 ]; + networking = { + dhcpcd.enable = false; + firewall.extraCommands = allowESP; + }; + environment.systemPackages = [ strongswan ]; + services.strongswan-swanctl = { + enable = true; + swanctl = { + connections = { + home = { + local_addrs = [ carolIp ]; + remote_addrs = [ moonIp ]; + local.main = { + auth = "psk"; + id = carolIp; }; + remote.main = { + auth = "psk"; + id = moonIp; + }; + children = { + home = { + remote_ts = [ vlan0 ]; + start_action = "trap"; + updown = "${strongswan}/libexec/ipsec/_updown iptables"; + inherit esp_proposals; + }; + }; + inherit version; + inherit proposals; }; - inherit version; - inherit proposals; }; - }; - secrets = { - ike.moon = { - id.main = moonIp; - inherit secret; + secrets = { + ike.moon = { + id.main = moonIp; + inherit secret; + }; }; }; }; }; - }; - }; - testScript = '' - start_all() - carol.wait_until_succeeds("ping -c 1 alice") - ''; -}) + }; + testScript = '' + start_all() + carol.wait_until_succeeds("ping -c 1 alice") + ''; + } +) diff --git a/nixos/tests/stub-ld.nix b/nixos/tests/stub-ld.nix index f34e082cfd228..c6d045f60c057 100644 --- a/nixos/tests/stub-ld.nix +++ b/nixos/tests/stub-ld.nix @@ -1,73 +1,88 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "stub-ld"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "stub-ld"; - nodes.machine = { lib, ... }: - { - environment.stub-ld.enable = true; + nodes.machine = + { lib, ... }: + { + environment.stub-ld.enable = true; - specialisation.nostub = { - inheritParentConfig = true; + specialisation.nostub = { + inheritParentConfig = true; - configuration = { ... }: { - environment.stub-ld.enable = lib.mkForce false; + configuration = + { ... }: + { + environment.stub-ld.enable = lib.mkForce false; + }; }; }; - }; - testScript = let - libDir = pkgs.stdenv.hostPlatform.libDir; - ldsoBasename = lib.last (lib.splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker); + testScript = + let + libDir = pkgs.stdenv.hostPlatform.libDir; + ldsoBasename = lib.last (lib.splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker); - check32 = pkgs.stdenv.hostPlatform.isx86_64; - pkgs32 = pkgs.pkgsi686Linux; + check32 = pkgs.stdenv.hostPlatform.isx86_64; + pkgs32 = pkgs.pkgsi686Linux; - libDir32 = pkgs32.stdenv.hostPlatform.libDir; - ldsoBasename32 = lib.last (lib.splitString "/" pkgs32.stdenv.cc.bintools.dynamicLinker); + libDir32 = pkgs32.stdenv.hostPlatform.libDir; + ldsoBasename32 = lib.last (lib.splitString "/" pkgs32.stdenv.cc.bintools.dynamicLinker); - test-exec = builtins.mapAttrs (n: v: pkgs.runCommand "test-exec-${n}" { src = pkgs.fetchurl v; } "mkdir -p $out;cd $out;tar -xzf $src") { - x86_64-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-x86_64-unknown-linux-gnu.tar.gz"; - x86_64-linux.hash = "sha256-3zySzx8MKFprMOi++yr2ZGASE0aRfXHQuG3SN+kWUCI="; - i686-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-i686-unknown-linux-gnu.tar.gz"; - i686-linux.hash = "sha256-fWNiATFeg0B2pfB5zndlnzGn7Ztl8diVS1rFLEDnSLU="; - aarch64-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-aarch64-unknown-linux-gnu.tar.gz"; - aarch64-linux.hash = "sha256-hnldbd2cctQIAhIKoEZLIWY8H3jiFBClkNy2UlyyvAs="; - }; - exec-name = "rustic"; + test-exec = + builtins.mapAttrs + ( + n: v: + pkgs.runCommand "test-exec-${n}" { src = pkgs.fetchurl v; } "mkdir -p $out;cd $out;tar -xzf $src" + ) + { + x86_64-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-x86_64-unknown-linux-gnu.tar.gz"; + x86_64-linux.hash = "sha256-3zySzx8MKFprMOi++yr2ZGASE0aRfXHQuG3SN+kWUCI="; + i686-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-i686-unknown-linux-gnu.tar.gz"; + i686-linux.hash = "sha256-fWNiATFeg0B2pfB5zndlnzGn7Ztl8diVS1rFLEDnSLU="; + aarch64-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-aarch64-unknown-linux-gnu.tar.gz"; + aarch64-linux.hash = "sha256-hnldbd2cctQIAhIKoEZLIWY8H3jiFBClkNy2UlyyvAs="; + }; + exec-name = "rustic"; - if32 = pythonStatement: if check32 then pythonStatement else "pass"; - in - '' - machine.start() - machine.wait_for_unit("multi-user.target") + if32 = pythonStatement: if check32 then pythonStatement else "pass"; + in + '' + machine.start() + machine.wait_for_unit("multi-user.target") - with subtest("Check for stub (enabled, initial)"): - machine.succeed('test -L /${libDir}/${ldsoBasename}') - ${if32 "machine.succeed('test -L /${libDir32}/${ldsoBasename32}')"} + with subtest("Check for stub (enabled, initial)"): + machine.succeed('test -L /${libDir}/${ldsoBasename}') + ${if32 "machine.succeed('test -L /${libDir32}/${ldsoBasename32}')"} - with subtest("Try FHS executable"): - machine.copy_from_host('${test-exec.${pkgs.stdenv.hostPlatform.system}}','test-exec') - machine.succeed('if test-exec/${exec-name} 2>outfile; then false; else [ $? -eq 127 ];fi') - machine.succeed('grep -qi nixos outfile') - ${if32 "machine.copy_from_host('${test-exec.${pkgs32.stdenv.hostPlatform.system}}','test-exec32')"} - ${if32 "machine.succeed('if test-exec32/${exec-name} 2>outfile32; then false; else [ $? -eq 127 ];fi')"} - ${if32 "machine.succeed('grep -qi nixos outfile32')"} + with subtest("Try FHS executable"): + machine.copy_from_host('${test-exec.${pkgs.stdenv.hostPlatform.system}}','test-exec') + machine.succeed('if test-exec/${exec-name} 2>outfile; then false; else [ $? -eq 127 ];fi') + machine.succeed('grep -qi nixos outfile') + ${if32 "machine.copy_from_host('${ + test-exec.${pkgs32.stdenv.hostPlatform.system} + }','test-exec32')"} + ${if32 "machine.succeed('if test-exec32/${exec-name} 2>outfile32; then false; else [ $? -eq 127 ];fi')"} + ${if32 "machine.succeed('grep -qi nixos outfile32')"} - with subtest("Disable stub"): - machine.succeed("/run/booted-system/specialisation/nostub/bin/switch-to-configuration test") + with subtest("Disable stub"): + machine.succeed("/run/booted-system/specialisation/nostub/bin/switch-to-configuration test") - with subtest("Check for stub (disabled)"): - machine.fail('test -e /${libDir}/${ldsoBasename}') - ${if32 "machine.fail('test -e /${libDir32}/${ldsoBasename32}')"} + with subtest("Check for stub (disabled)"): + machine.fail('test -e /${libDir}/${ldsoBasename}') + ${if32 "machine.fail('test -e /${libDir32}/${ldsoBasename32}')"} - with subtest("Create file in stub location (to be overwritten)"): - machine.succeed('mkdir -p /${libDir};touch /${libDir}/${ldsoBasename}') - ${if32 "machine.succeed('mkdir -p /${libDir32};touch /${libDir32}/${ldsoBasename32}')"} + with subtest("Create file in stub location (to be overwritten)"): + machine.succeed('mkdir -p /${libDir};touch /${libDir}/${ldsoBasename}') + ${if32 "machine.succeed('mkdir -p /${libDir32};touch /${libDir32}/${ldsoBasename32}')"} - with subtest("Re-enable stub"): - machine.succeed("/run/booted-system/bin/switch-to-configuration test") + with subtest("Re-enable stub"): + machine.succeed("/run/booted-system/bin/switch-to-configuration test") - with subtest("Check for stub (enabled, final)"): - machine.succeed('test -L /${libDir}/${ldsoBasename}') - ${if32 "machine.succeed('test -L /${libDir32}/${ldsoBasename32}')"} - ''; -}) + with subtest("Check for stub (enabled, final)"): + machine.succeed('test -L /${libDir}/${ldsoBasename}') + ${if32 "machine.succeed('test -L /${libDir32}/${ldsoBasename32}')"} + ''; + } +) diff --git a/nixos/tests/stunnel.nix b/nixos/tests/stunnel.nix index f8cfa0414761d..0d817ccf7fb5a 100644 --- a/nixos/tests/stunnel.nix +++ b/nixos/tests/stunnel.nix @@ -1,5 +1,8 @@ -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../.. { inherit system config; } }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, +}: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; @@ -16,35 +19,42 @@ let group = "stunnel"; }; }; - makeCert = { config, pkgs, ... }: { - systemd.services.create-test-cert = { - wantedBy = [ "sysinit.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig.DefaultDependencies = false; - serviceConfig.Type = "oneshot"; - script = '' - ${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName} - ( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem ) - chown stunnel /test-key.pem /test-key-and-cert.pem - ''; - }; - }; - serverCommon = { pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ 443 ]; - services.stunnel.servers.https = { - accept = "443"; - connect = 80; - cert = "/test-key-and-cert.pem"; + makeCert = + { config, pkgs, ... }: + { + systemd.services.create-test-cert = { + wantedBy = [ "sysinit.target" ]; + before = [ + "sysinit.target" + "shutdown.target" + ]; + conflicts = [ "shutdown.target" ]; + unitConfig.DefaultDependencies = false; + serviceConfig.Type = "oneshot"; + script = '' + ${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName} + ( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem ) + chown stunnel /test-key.pem /test-key-and-cert.pem + ''; + }; }; - systemd.services.simple-webserver = { - wantedBy = [ "multi-user.target" ]; - script = '' - cd /etc/webroot - ${pkgs.python3}/bin/python -m http.server 80 - ''; + serverCommon = + { pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 443 ]; + services.stunnel.servers.https = { + accept = "443"; + connect = 80; + cert = "/test-key-and-cert.pem"; + }; + systemd.services.simple-webserver = { + wantedBy = [ "multi-user.target" ]; + script = '' + cd /etc/webroot + ${pkgs.python3}/bin/python -m http.server 80 + ''; + }; }; - }; copyCert = src: dest: filename: '' from shlex import quote ${src}.wait_for_file("/test-key-and-cert.pem") @@ -52,14 +62,19 @@ let ${dest}.succeed("echo %s > ${filename}" % quote(server_cert)) ''; -in { +in +{ basicServer = makeTest { name = "basicServer"; nodes = { client = { }; server = { - imports = [ makeCert serverCommon stunnelCommon ]; + imports = [ + makeCert + serverCommon + stunnelCommon + ]; environment.etc."webroot/index.html".text = "well met"; }; }; @@ -104,7 +119,11 @@ in { }; }; server = { - imports = [ makeCert serverCommon stunnelCommon ]; + imports = [ + makeCert + serverCommon + stunnelCommon + ]; environment.etc."webroot/index.html".text = "hello there"; }; }; @@ -136,7 +155,10 @@ in { nodes = rec { client = { - imports = [ makeCert stunnelCommon ]; + imports = [ + makeCert + stunnelCommon + ]; services.stunnel.clients.authenticated-https = { accept = "80"; connect = "server:443"; @@ -148,7 +170,11 @@ in { }; wrongclient = client; server = { - imports = [ makeCert serverCommon stunnelCommon ]; + imports = [ + makeCert + serverCommon + stunnelCommon + ]; services.stunnel.servers.https = { CAFile = "/authorized-client-certs.crt"; verifyPeer = true; diff --git a/nixos/tests/sudo-rs.nix b/nixos/tests/sudo-rs.nix index 753e00686e956..b57eca1990550 100644 --- a/nixos/tests/sudo-rs.nix +++ b/nixos/tests/sudo-rs.nix @@ -4,7 +4,9 @@ let inherit (pkgs.lib) mkIf optionalString; password = "helloworld"; in - import ./make-test-python.nix ({ lib, pkgs, ...} : { +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { name = "sudo-rs"; meta.maintainers = pkgs.sudo-rs.meta.maintainers; @@ -12,14 +14,38 @@ in { lib, ... }: { environment.systemPackages = [ pkgs.faketty ]; - users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; }; + users.groups = { + foobar = { }; + barfoo = { }; + baz = { + gid = 1337; + }; + }; users.users = { - test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; }; - test1 = { isNormalUser = true; password = password; }; - test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; password = password; }; - test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; }; - test4 = { isNormalUser = true; extraGroups = [ "baz" ]; }; - test5 = { isNormalUser = true; }; + test0 = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + test1 = { + isNormalUser = true; + password = password; + }; + test2 = { + isNormalUser = true; + extraGroups = [ "foobar" ]; + password = password; + }; + test3 = { + isNormalUser = true; + extraGroups = [ "barfoo" ]; + }; + test4 = { + isNormalUser = true; + extraGroups = [ "baz" ]; + }; + test5 = { + isNormalUser = true; + }; }; security.sudo-rs = { @@ -31,65 +57,113 @@ in # errors being detected by the visudo checks. # These should not create any entries - { users = [ "notest1" ]; commands = [ ]; } - { commands = [ { command = "ALL"; options = [ ]; } ]; } + { + users = [ "notest1" ]; + commands = [ ]; + } + { + commands = [ + { + command = "ALL"; + options = [ ]; + } + ]; + } # Test defining commands with the options syntax, though not setting any options - { users = [ "notest2" ]; commands = [ { command = "ALL"; options = [ ]; } ]; } - + { + users = [ "notest2" ]; + commands = [ + { + command = "ALL"; + options = [ ]; + } + ]; + } # CONFIGURATION FOR TEST CASES - { users = [ "test1" ]; groups = [ "foobar" ]; commands = [ "ALL" ]; } - { groups = [ "barfoo" 1337 ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; } - { users = [ "test5" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ]; runAs = "test1:barfoo"; } + { + users = [ "test1" ]; + groups = [ "foobar" ]; + commands = [ "ALL" ]; + } + { + groups = [ + "barfoo" + 1337 + ]; + commands = [ + { + command = "ALL"; + options = [ "NOPASSWD" ]; + } + ]; + } + { + users = [ "test5" ]; + commands = [ + { + command = "ALL"; + options = [ "NOPASSWD" ]; + } + ]; + runAs = "test1:barfoo"; + } ]; }; }; - nodes.strict = { ... }: { - environment.systemPackages = [ pkgs.faketty ]; - users.users = { - admin = { isNormalUser = true; extraGroups = [ "wheel" ]; }; - noadmin = { isNormalUser = true; }; - }; + nodes.strict = + { ... }: + { + environment.systemPackages = [ pkgs.faketty ]; + users.users = { + admin = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + noadmin = { + isNormalUser = true; + }; + }; - security.sudo-rs = { - enable = true; - wheelNeedsPassword = false; - execWheelOnly = true; + security.sudo-rs = { + enable = true; + wheelNeedsPassword = false; + execWheelOnly = true; + }; }; - }; - testScript = - '' - with subtest("users in wheel group should have passwordless sudo"): - machine.succeed('faketty -- su - test0 -c "sudo -u root true"') + testScript = '' + with subtest("users in wheel group should have passwordless sudo"): + machine.succeed('faketty -- su - test0 -c "sudo -u root true"') - with subtest("test1 user should have sudo with password"): - machine.succeed('faketty -- su - test1 -c "echo ${password} | sudo -S -u root true"') + with subtest("test1 user should have sudo with password"): + machine.succeed('faketty -- su - test1 -c "echo ${password} | sudo -S -u root true"') - with subtest("test1 user should not be able to use sudo without password"): - machine.fail('faketty -- su - test1 -c "sudo -n -u root true"') + with subtest("test1 user should not be able to use sudo without password"): + machine.fail('faketty -- su - test1 -c "sudo -n -u root true"') - with subtest("users in group 'foobar' should be able to use sudo with password"): - machine.succeed('faketty -- su - test2 -c "echo ${password} | sudo -S -u root true"') + with subtest("users in group 'foobar' should be able to use sudo with password"): + machine.succeed('faketty -- su - test2 -c "echo ${password} | sudo -S -u root true"') - with subtest("users in group 'barfoo' should be able to use sudo without password"): - machine.succeed("sudo -u test3 sudo -n -u root true") + with subtest("users in group 'barfoo' should be able to use sudo without password"): + machine.succeed("sudo -u test3 sudo -n -u root true") - with subtest("users in group 'baz' (GID 1337)"): - machine.succeed("sudo -u test4 sudo -n -u root echo true") + with subtest("users in group 'baz' (GID 1337)"): + machine.succeed("sudo -u test4 sudo -n -u root echo true") - with subtest("test5 user should be able to run commands under test1"): - machine.succeed("sudo -u test5 sudo -n -u test1 true") + with subtest("test5 user should be able to run commands under test1"): + machine.succeed("sudo -u test5 sudo -n -u test1 true") - with subtest("test5 user should not be able to run commands under root"): - machine.fail("sudo -u test5 sudo -n -u root true 2>/dev/null") + with subtest("test5 user should not be able to run commands under root"): + machine.fail("sudo -u test5 sudo -n -u root true 2>/dev/null") - with subtest("users in wheel should be able to run sudo despite execWheelOnly"): - strict.succeed('faketty -- su - admin -c "sudo -u root true"') + with subtest("users in wheel should be able to run sudo despite execWheelOnly"): + strict.succeed('faketty -- su - admin -c "sudo -u root true"') - with subtest("non-wheel users should be unable to run sudo thanks to execWheelOnly"): - strict.fail('faketty -- su - noadmin -c "sudo --help"') - ''; - }) + with subtest("non-wheel users should be unable to run sudo thanks to execWheelOnly"): + strict.fail('faketty -- su - noadmin -c "sudo --help"') + ''; + } +) diff --git a/nixos/tests/sudo.nix b/nixos/tests/sudo.nix index 1fe478f0bff14..77accf8e82fb9 100644 --- a/nixos/tests/sudo.nix +++ b/nixos/tests/sudo.nix @@ -3,21 +3,47 @@ let password = "helloworld"; in - import ./make-test-python.nix ({ lib, pkgs, ...} : { +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { name = "sudo"; meta.maintainers = pkgs.sudo.meta.maintainers; nodes.machine = { lib, ... }: { - users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; }; + users.groups = { + foobar = { }; + barfoo = { }; + baz = { + gid = 1337; + }; + }; users.users = { - test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; }; - test1 = { isNormalUser = true; password = password; }; - test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; password = password; }; - test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; }; - test4 = { isNormalUser = true; extraGroups = [ "baz" ]; }; - test5 = { isNormalUser = true; }; + test0 = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + test1 = { + isNormalUser = true; + password = password; + }; + test2 = { + isNormalUser = true; + extraGroups = [ "foobar" ]; + password = password; + }; + test3 = { + isNormalUser = true; + extraGroups = [ "barfoo" ]; + }; + test4 = { + isNormalUser = true; + extraGroups = [ "baz" ]; + }; + test5 = { + isNormalUser = true; + }; }; security.sudo = { @@ -34,70 +60,124 @@ in # errors being detected by the visudo checks. # These should not create any entries - { users = [ "notest1" ]; commands = [ ]; } - { commands = [ { command = "ALL"; options = [ ]; } ]; } + { + users = [ "notest1" ]; + commands = [ ]; + } + { + commands = [ + { + command = "ALL"; + options = [ ]; + } + ]; + } # Test defining commands with the options syntax, though not setting any options - { users = [ "notest2" ]; commands = [ { command = "ALL"; options = [ ]; } ]; } - + { + users = [ "notest2" ]; + commands = [ + { + command = "ALL"; + options = [ ]; + } + ]; + } # CONFIGURATION FOR TEST CASES - { users = [ "test1" ]; groups = [ "foobar" ]; commands = [ "ALL" ]; } - { groups = [ "barfoo" 1337 ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" "NOSETENV" ]; } ]; } - { users = [ "test5" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" "SETENV" ]; } ]; runAs = "test1:barfoo"; } + { + users = [ "test1" ]; + groups = [ "foobar" ]; + commands = [ "ALL" ]; + } + { + groups = [ + "barfoo" + 1337 + ]; + commands = [ + { + command = "ALL"; + options = [ + "NOPASSWD" + "NOSETENV" + ]; + } + ]; + } + { + users = [ "test5" ]; + commands = [ + { + command = "ALL"; + options = [ + "NOPASSWD" + "SETENV" + ]; + } + ]; + runAs = "test1:barfoo"; + } ]; }; }; - nodes.strict = { ... }: { - users.users = { - admin = { isNormalUser = true; extraGroups = [ "wheel" ]; }; - noadmin = { isNormalUser = true; }; - }; + nodes.strict = + { ... }: + { + users.users = { + admin = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + noadmin = { + isNormalUser = true; + }; + }; - security.sudo = { - enable = true; - wheelNeedsPassword = false; - execWheelOnly = true; + security.sudo = { + enable = true; + wheelNeedsPassword = false; + execWheelOnly = true; + }; }; - }; - testScript = - '' - with subtest("users in wheel group should have passwordless sudo"): - machine.succeed('su - test0 -c "sudo -u root true"') + testScript = '' + with subtest("users in wheel group should have passwordless sudo"): + machine.succeed('su - test0 -c "sudo -u root true"') - with subtest("test1 user should have sudo with password"): - machine.succeed('su - test1 -c "echo ${password} | sudo -S -u root true"') + with subtest("test1 user should have sudo with password"): + machine.succeed('su - test1 -c "echo ${password} | sudo -S -u root true"') - with subtest("test1 user should not be able to use sudo without password"): - machine.fail('su - test1 -c "sudo -n -u root true"') + with subtest("test1 user should not be able to use sudo without password"): + machine.fail('su - test1 -c "sudo -n -u root true"') - with subtest("users in group 'foobar' should be able to use sudo with password"): - machine.succeed('su - test2 -c "echo ${password} | sudo -S -u root true"') + with subtest("users in group 'foobar' should be able to use sudo with password"): + machine.succeed('su - test2 -c "echo ${password} | sudo -S -u root true"') - with subtest("users in group 'barfoo' should be able to use sudo without password"): - machine.succeed("sudo -u test3 sudo -n -u root true") + with subtest("users in group 'barfoo' should be able to use sudo without password"): + machine.succeed("sudo -u test3 sudo -n -u root true") - with subtest("users in group 'baz' (GID 1337)"): - machine.succeed("sudo -u test4 sudo -n -u root echo true") + with subtest("users in group 'baz' (GID 1337)"): + machine.succeed("sudo -u test4 sudo -n -u root echo true") - with subtest("test5 user should be able to run commands under test1"): - machine.succeed("sudo -u test5 sudo -n -u test1 true") + with subtest("test5 user should be able to run commands under test1"): + machine.succeed("sudo -u test5 sudo -n -u test1 true") - with subtest("test5 user should not be able to run commands under root"): - machine.fail("sudo -u test5 sudo -n -u root true") + with subtest("test5 user should not be able to run commands under root"): + machine.fail("sudo -u test5 sudo -n -u root true") - with subtest("test5 user should be able to keep their environment"): - machine.succeed("sudo -u test5 sudo -n -E -u test1 true") + with subtest("test5 user should be able to keep their environment"): + machine.succeed("sudo -u test5 sudo -n -E -u test1 true") - with subtest("users in group 'barfoo' should not be able to keep their environment"): - machine.fail("sudo -u test3 sudo -n -E -u root true") + with subtest("users in group 'barfoo' should not be able to keep their environment"): + machine.fail("sudo -u test3 sudo -n -E -u root true") - with subtest("users in wheel should be able to run sudo despite execWheelOnly"): - strict.succeed('su - admin -c "sudo -u root true"') + with subtest("users in wheel should be able to run sudo despite execWheelOnly"): + strict.succeed('su - admin -c "sudo -u root true"') - with subtest("non-wheel users should be unable to run sudo thanks to execWheelOnly"): - strict.fail('su - noadmin -c "sudo --help"') - ''; - }) + with subtest("non-wheel users should be unable to run sudo thanks to execWheelOnly"): + strict.fail('su - noadmin -c "sudo --help"') + ''; + } +) diff --git a/nixos/tests/sunshine.nix b/nixos/tests/sunshine.nix index a1207bfa49f76..96ba81d620683 100644 --- a/nixos/tests/sunshine.nix +++ b/nixos/tests/sunshine.nix @@ -1,70 +1,77 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "sunshine"; - meta = { - # test is flaky on aarch64 - broken = pkgs.stdenv.hostPlatform.isAarch64; - maintainers = [ lib.maintainers.devusb ]; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "sunshine"; + meta = { + # test is flaky on aarch64 + broken = pkgs.stdenv.hostPlatform.isAarch64; + maintainers = [ lib.maintainers.devusb ]; + }; - nodes.sunshine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.sunshine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.sunshine = { - enable = true; - openFirewall = true; - settings = { - capture = "x11"; - encoder = "software"; - output_name = 0; - }; - }; + services.sunshine = { + enable = true; + openFirewall = true; + settings = { + capture = "x11"; + encoder = "software"; + output_name = 0; + }; + }; - environment.systemPackages = with pkgs; [ - gxmessage - ]; + environment.systemPackages = with pkgs; [ + gxmessage + ]; - }; + }; - nodes.moonlight = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.moonlight = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - environment.systemPackages = with pkgs; [ - moonlight-qt - ]; + environment.systemPackages = with pkgs; [ + moonlight-qt + ]; - }; + }; - enableOCR = true; + enableOCR = true; - testScript = '' - # start the tests, wait for sunshine to be up - start_all() - sunshine.wait_for_open_port(48010,"localhost") + testScript = '' + # start the tests, wait for sunshine to be up + start_all() + sunshine.wait_for_open_port(48010,"localhost") - # set the admin username/password, restart sunshine - sunshine.execute("sunshine --creds sunshine sunshine") - sunshine.systemctl("restart sunshine","root") - sunshine.wait_for_open_port(48010,"localhost") + # set the admin username/password, restart sunshine + sunshine.execute("sunshine --creds sunshine sunshine") + sunshine.systemctl("restart sunshine","root") + sunshine.wait_for_open_port(48010,"localhost") - # initiate pairing from moonlight - moonlight.execute("moonlight pair sunshine --pin 1234 >&2 & disown") - moonlight.wait_for_console_text("Executing request") + # initiate pairing from moonlight + moonlight.execute("moonlight pair sunshine --pin 1234 >&2 & disown") + moonlight.wait_for_console_text("Executing request") - # respond to pairing request from sunshine - sunshine.succeed("curl --insecure -u sunshine:sunshine -d '{\"pin\": \"1234\"}' https://localhost:47990/api/pin") + # respond to pairing request from sunshine + sunshine.succeed("curl --insecure -u sunshine:sunshine -d '{\"pin\": \"1234\"}' https://localhost:47990/api/pin") - # close moonlight once pairing complete - moonlight.send_key("kp_enter") + # close moonlight once pairing complete + moonlight.send_key("kp_enter") - # put words on the sunshine screen for moonlight to see - sunshine.execute("gxmessage 'hello world' -center -font 'sans 75' >&2 & disown") + # put words on the sunshine screen for moonlight to see + sunshine.execute("gxmessage 'hello world' -center -font 'sans 75' >&2 & disown") - # connect to sunshine from moonlight and look for the words - moonlight.execute("moonlight --video-decoder software stream sunshine 'Desktop' >&2 & disown") - moonlight.wait_for_text("hello world") - ''; -}) + # connect to sunshine from moonlight and look for the words + moonlight.execute("moonlight --video-decoder software stream sunshine 'Desktop' >&2 & disown") + moonlight.wait_for_text("hello world") + ''; + } +) diff --git a/nixos/tests/suwayomi-server.nix b/nixos/tests/suwayomi-server.nix index 36072028380b8..7f7da9c3d831b 100644 --- a/nixos/tests/suwayomi-server.nix +++ b/nixos/tests/suwayomi-server.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, pkgs -, lib ? pkgs.lib +{ + system ? builtins.currentSystem, + pkgs, + lib ? pkgs.lib, }: let inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest; @@ -8,12 +9,14 @@ let baseTestConfig = { meta.maintainers = with lib.maintainers; [ ratcornu ]; - nodes.machine = { pkgs, ... }: { - services.suwayomi-server = { - enable = true; - settings.server.port = 1234; + nodes.machine = + { pkgs, ... }: + { + services.suwayomi-server = { + enable = true; + settings.server.port = 1234; + }; }; - }; testScript = '' machine.wait_for_unit("suwayomi-server.service") machine.wait_for_open_port(1234) @@ -23,24 +26,30 @@ let in { - without-auth = makeTest (recursiveUpdate baseTestConfig { - name = "suwayomi-server-without-auth"; - }); + without-auth = makeTest ( + recursiveUpdate baseTestConfig { + name = "suwayomi-server-without-auth"; + } + ); - with-auth = makeTest (recursiveUpdate baseTestConfig { - name = "suwayomi-server-with-auth"; + with-auth = makeTest ( + recursiveUpdate baseTestConfig { + name = "suwayomi-server-with-auth"; - nodes.machine = { pkgs, ... }: { - services.suwayomi-server = { - enable = true; + nodes.machine = + { pkgs, ... }: + { + services.suwayomi-server = { + enable = true; - settings.server = { - port = 1234; - basicAuthEnabled = true; - basicAuthUsername = "alice"; - basicAuthPasswordFile = pkgs.writeText "snakeoil-pass.txt" "pass"; + settings.server = { + port = 1234; + basicAuthEnabled = true; + basicAuthUsername = "alice"; + basicAuthPasswordFile = pkgs.writeText "snakeoil-pass.txt" "pass"; + }; + }; }; - }; - }; - }); + } + ); } diff --git a/nixos/tests/swap-file-btrfs.nix b/nixos/tests/swap-file-btrfs.nix index 35b9fb4fa50ac..eaea9ad00125e 100644 --- a/nixos/tests/swap-file-btrfs.nix +++ b/nixos/tests/swap-file-btrfs.nix @@ -1,50 +1,52 @@ -import ./make-test-python.nix ({ lib, ... }: -{ - name = "swap-file-btrfs"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "swap-file-btrfs"; - meta.maintainers = with lib.maintainers; [ oxalica ]; + meta.maintainers = with lib.maintainers; [ oxalica ]; - nodes.machine = - { pkgs, ... }: - { - virtualisation.useDefaultFilesystems = false; + nodes.machine = + { pkgs, ... }: + { + virtualisation.useDefaultFilesystems = false; - virtualisation.rootDevice = "/dev/vda"; + virtualisation.rootDevice = "/dev/vda"; - boot.initrd.postDeviceCommands = '' - ${pkgs.btrfs-progs}/bin/mkfs.btrfs --label root /dev/vda - ''; + boot.initrd.postDeviceCommands = '' + ${pkgs.btrfs-progs}/bin/mkfs.btrfs --label root /dev/vda + ''; - virtualisation.fileSystems = { - "/" = { - device = "/dev/disk/by-label/root"; - fsType = "btrfs"; + virtualisation.fileSystems = { + "/" = { + device = "/dev/disk/by-label/root"; + fsType = "btrfs"; + }; }; + + swapDevices = [ + { + device = "/var/swapfile"; + size = 1; # 1MiB. + } + ]; }; - swapDevices = [ - { - device = "/var/swapfile"; - size = 1; # 1MiB. - } - ]; - }; - - testScript = '' - machine.wait_for_unit('var-swapfile.swap') - # Ensure the swap file creation script ran to completion without failing when creating the swap file - machine.fail("systemctl is-failed --quiet mkswap-var-swapfile.service") - machine.succeed("stat --file-system --format=%T /var/swapfile | grep btrfs") - # First run. Auto creation. - machine.succeed("swapon --show | grep /var/swapfile") - - machine.shutdown() - machine.start() - - # Second run. Use it as-is. - machine.wait_for_unit('var-swapfile.swap') - # Ensure the swap file creation script ran to completion without failing when the swap file already exists - machine.fail("systemctl is-failed --quiet mkswap-var-swapfile.service") - machine.succeed("swapon --show | grep /var/swapfile") - ''; -}) + testScript = '' + machine.wait_for_unit('var-swapfile.swap') + # Ensure the swap file creation script ran to completion without failing when creating the swap file + machine.fail("systemctl is-failed --quiet mkswap-var-swapfile.service") + machine.succeed("stat --file-system --format=%T /var/swapfile | grep btrfs") + # First run. Auto creation. + machine.succeed("swapon --show | grep /var/swapfile") + + machine.shutdown() + machine.start() + + # Second run. Use it as-is. + machine.wait_for_unit('var-swapfile.swap') + # Ensure the swap file creation script ran to completion without failing when the swap file already exists + machine.fail("systemctl is-failed --quiet mkswap-var-swapfile.service") + machine.succeed("swapon --show | grep /var/swapfile") + ''; + } +) diff --git a/nixos/tests/swap-partition.nix b/nixos/tests/swap-partition.nix index ddcaeb95453e1..db04bbf559b56 100644 --- a/nixos/tests/swap-partition.nix +++ b/nixos/tests/swap-partition.nix @@ -1,48 +1,55 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "swap-partition"; - - nodes.machine = - { config, pkgs, lib, ... }: - { - virtualisation.useDefaultFilesystems = false; - - virtualisation.rootDevice = "/dev/vda1"; - - boot.initrd.postDeviceCommands = '' - if ! test -b /dev/vda1; then - ${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos - ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB - ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100% - sync - fi - - FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true) - if test -z "$FSTYPE"; then - ${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1 - ${pkgs.util-linux}/bin/mkswap --label swap /dev/vda2 - fi - ''; - - virtualisation.fileSystems = { - "/" = { - device = "/dev/disk/by-label/root"; - fsType = "ext4"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "swap-partition"; + + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + { + virtualisation.useDefaultFilesystems = false; + + virtualisation.rootDevice = "/dev/vda1"; + + boot.initrd.postDeviceCommands = '' + if ! test -b /dev/vda1; then + ${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos + ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB + ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100% + sync + fi + + FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true) + if test -z "$FSTYPE"; then + ${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1 + ${pkgs.util-linux}/bin/mkswap --label swap /dev/vda2 + fi + ''; + + virtualisation.fileSystems = { + "/" = { + device = "/dev/disk/by-label/root"; + fsType = "ext4"; + }; }; + + swapDevices = [ + { + device = "/dev/disk/by-label/swap"; + } + ]; }; - swapDevices = [ - { - device = "/dev/disk/by-label/swap"; - } - ]; - }; - - testScript = '' - machine.wait_for_unit("multi-user.target") - - with subtest("Swap is active"): - # Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions. - machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'") - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + + with subtest("Swap is active"): + # Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions. + machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'") + ''; + } +) diff --git a/nixos/tests/swap-random-encryption.nix b/nixos/tests/swap-random-encryption.nix index 9e919db65dde8..c48452412534e 100644 --- a/nixos/tests/swap-random-encryption.nix +++ b/nixos/tests/swap-random-encryption.nix @@ -1,80 +1,87 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "swap-random-encryption"; - - nodes.machine = - { config, pkgs, lib, ... }: - { - environment.systemPackages = [ pkgs.cryptsetup ]; - - virtualisation.useDefaultFilesystems = false; - - virtualisation.rootDevice = "/dev/vda1"; - - boot.initrd.postDeviceCommands = '' - if ! test -b /dev/vda1; then - ${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos - ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB - ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100% - sync - fi - - FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true) - if test -z "$FSTYPE"; then - ${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1 - fi - ''; - - virtualisation.fileSystems = { - "/" = { - device = "/dev/disk/by-label/root"; - fsType = "ext4"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "swap-random-encryption"; + + nodes.machine = + { + config, + pkgs, + lib, + ... + }: + { + environment.systemPackages = [ pkgs.cryptsetup ]; + + virtualisation.useDefaultFilesystems = false; + + virtualisation.rootDevice = "/dev/vda1"; + + boot.initrd.postDeviceCommands = '' + if ! test -b /dev/vda1; then + ${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos + ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB + ${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100% + sync + fi + + FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true) + if test -z "$FSTYPE"; then + ${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1 + fi + ''; + + virtualisation.fileSystems = { + "/" = { + device = "/dev/disk/by-label/root"; + fsType = "ext4"; + }; }; + + swapDevices = [ + { + device = "/dev/vda2"; + + randomEncryption = { + enable = true; + cipher = "aes-xts-plain64"; + keySize = 512; + sectorSize = 4096; + }; + } + ]; }; - swapDevices = [ - { - device = "/dev/vda2"; + testScript = '' + machine.wait_for_unit("multi-user.target") - randomEncryption = { - enable = true; - cipher = "aes-xts-plain64"; - keySize = 512; - sectorSize = 4096; - }; - } - ]; - }; - - testScript = '' - machine.wait_for_unit("multi-user.target") - - with subtest("Swap is active"): - # Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions. - machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'") - - with subtest("Swap device has 4k sector size"): - import json - result = json.loads(machine.succeed("lsblk -Jo PHY-SEC,LOG-SEC /dev/mapper/dev-vda2")) - block_devices = result["blockdevices"] - if len(block_devices) != 1: - raise Exception ("lsblk output did not report exactly one block device") - - swapDevice = block_devices[0]; - if not (swapDevice["phy-sec"] == 4096 and swapDevice["log-sec"] == 4096): - raise Exception ("swap device does not have the sector size specified in the configuration") - - with subtest("Swap encrypt has assigned cipher and keysize"): - import re - - results = machine.succeed("cryptsetup status dev-vda2").splitlines() - - cipher_pattern = re.compile(r"\s*cipher:\s+aes-xts-plain64\s*") - if not any(cipher_pattern.fullmatch(line) for line in results): - raise Exception ("swap device encryption does not use the cipher specified in the configuration") - - key_size_pattern = re.compile(r"\s*keysize:\s+512\s+bits\s*") - if not any(key_size_pattern.fullmatch(line) for line in results): - raise Exception ("swap device encryption does not use the key size specified in the configuration") - ''; -}) + with subtest("Swap is active"): + # Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions. + machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'") + + with subtest("Swap device has 4k sector size"): + import json + result = json.loads(machine.succeed("lsblk -Jo PHY-SEC,LOG-SEC /dev/mapper/dev-vda2")) + block_devices = result["blockdevices"] + if len(block_devices) != 1: + raise Exception ("lsblk output did not report exactly one block device") + + swapDevice = block_devices[0]; + if not (swapDevice["phy-sec"] == 4096 and swapDevice["log-sec"] == 4096): + raise Exception ("swap device does not have the sector size specified in the configuration") + + with subtest("Swap encrypt has assigned cipher and keysize"): + import re + + results = machine.succeed("cryptsetup status dev-vda2").splitlines() + + cipher_pattern = re.compile(r"\s*cipher:\s+aes-xts-plain64\s*") + if not any(cipher_pattern.fullmatch(line) for line in results): + raise Exception ("swap device encryption does not use the cipher specified in the configuration") + + key_size_pattern = re.compile(r"\s*keysize:\s+512\s+bits\s*") + if not any(key_size_pattern.fullmatch(line) for line in results): + raise Exception ("swap device encryption does not use the key size specified in the configuration") + ''; + } +) diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix index 185c5b1b0aa90..13fa5dacbd925 100644 --- a/nixos/tests/sway.nix +++ b/nixos/tests/sway.nix @@ -1,193 +1,207 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "sway"; - meta = { - maintainers = with lib.maintainers; [ primeos synthetica ]; - }; - - # testScriptWithTypes:49: error: Cannot call function of unknown type - # (machine.succeed if succeed else machine.execute)( - # ^ - # Found 1 error in 1 file (checked 1 source file) - skipTypeCheck = true; - - nodes.machine = { config, ... }: { - # Automatically login on tty1 as a normal user: - imports = [ ./common/user-account.nix ]; - services.getty.autologinUser = "alice"; - - environment = { - # For glinfo and wayland-info: - systemPackages = with pkgs; [ mesa-demos wayland-utils alacritty ]; - # Use a fixed SWAYSOCK path (for swaymsg): - variables = { - "SWAYSOCK" = "/tmp/sway-ipc.sock"; - # TODO: Investigate if we can get hardware acceleration to work (via - # virtio-gpu and Virgil). We currently have to use the Pixman software - # renderer since the GLES2 renderer doesn't work inside the VM (even - # with WLR_RENDERER_ALLOW_SOFTWARE): - # "WLR_RENDERER_ALLOW_SOFTWARE" = "1"; - "WLR_RENDERER" = "pixman"; - }; - # For convenience: - shellAliases = { - test-x11 = "glinfo | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok"; - test-wayland = "wayland-info | tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok"; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "sway"; + meta = { + maintainers = with lib.maintainers; [ + primeos + synthetica + ]; + }; - # To help with OCR: - etc."xdg/foot/foot.ini".text = lib.generators.toINI { } { - main = { - font = "inconsolata:size=14"; + # testScriptWithTypes:49: error: Cannot call function of unknown type + # (machine.succeed if succeed else machine.execute)( + # ^ + # Found 1 error in 1 file (checked 1 source file) + skipTypeCheck = true; + + nodes.machine = + { config, ... }: + { + # Automatically login on tty1 as a normal user: + imports = [ ./common/user-account.nix ]; + services.getty.autologinUser = "alice"; + + environment = { + # For glinfo and wayland-info: + systemPackages = with pkgs; [ + mesa-demos + wayland-utils + alacritty + ]; + # Use a fixed SWAYSOCK path (for swaymsg): + variables = { + "SWAYSOCK" = "/tmp/sway-ipc.sock"; + # TODO: Investigate if we can get hardware acceleration to work (via + # virtio-gpu and Virgil). We currently have to use the Pixman software + # renderer since the GLES2 renderer doesn't work inside the VM (even + # with WLR_RENDERER_ALLOW_SOFTWARE): + # "WLR_RENDERER_ALLOW_SOFTWARE" = "1"; + "WLR_RENDERER" = "pixman"; + }; + # For convenience: + shellAliases = { + test-x11 = "glinfo | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok"; + test-wayland = "wayland-info | tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok"; + }; + + # To help with OCR: + etc."xdg/foot/foot.ini".text = lib.generators.toINI { } { + main = { + font = "inconsolata:size=14"; + }; + colors = rec { + foreground = "000000"; + background = "ffffff"; + regular2 = foreground; + }; + }; + + etc."gpg-agent.conf".text = '' + pinentry-timeout 86400 + ''; }; - colors = rec { - foreground = "000000"; - background = "ffffff"; - regular2 = foreground; - }; - }; - etc."gpg-agent.conf".text = '' - pinentry-timeout 86400 - ''; - }; + fonts.packages = [ pkgs.inconsolata ]; + + # Automatically configure and start Sway when logging in on tty1: + programs.bash.loginShellInit = '' + if [ "$(tty)" = "/dev/tty1" ]; then + set -e + + mkdir -p ~/.config/sway + sed s/Mod4/Mod1/ /etc/sway/config > ~/.config/sway/config - fonts.packages = [ pkgs.inconsolata ]; + sway --validate + sway && touch /tmp/sway-exit-ok + fi + ''; - # Automatically configure and start Sway when logging in on tty1: - programs.bash.loginShellInit = '' - if [ "$(tty)" = "/dev/tty1" ]; then - set -e + programs.sway.enable = true; - mkdir -p ~/.config/sway - sed s/Mod4/Mod1/ /etc/sway/config > ~/.config/sway/config + # To test pinentry via gpg-agent: + programs.gnupg.agent.enable = true; - sway --validate - sway && touch /tmp/sway-exit-ok - fi - ''; - - programs.sway.enable = true; - - # To test pinentry via gpg-agent: - programs.gnupg.agent.enable = true; - - # Need to switch to a different GPU driver than the default one (-vga std) so that Sway can launch: - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; - }; - - testScript = { nodes, ... }: '' - import shlex - import json - - q = shlex.quote - NODE_GROUPS = ["nodes", "floating_nodes"] - - - def swaymsg(command: str = "", succeed=True, type="command"): - assert command != "" or type != "command", "Must specify command or type" - shell = q(f"swaymsg -t {q(type)} -- {q(command)}") - with machine.nested( - f"sending swaymsg {shell!r}" + " (allowed to fail)" * (not succeed) - ): - ret = (machine.succeed if succeed else machine.execute)( - f"su - alice -c {shell}" - ) - - # execute also returns a status code, but disregard. - if not succeed: - _, ret = ret - - if not succeed and not ret: - return None - - parsed = json.loads(ret) - return parsed - - - def walk(tree): - yield tree - for group in NODE_GROUPS: - for node in tree.get(group, []): - yield from walk(node) - - - def wait_for_window(pattern): - def func(last_chance): - nodes = (node["name"] for node in walk(swaymsg(type="get_tree"))) - - if last_chance: - nodes = list(nodes) - machine.log(f"Last call! Current list of windows: {nodes}") - - return any(pattern in name for name in nodes) - - retry(func) - - start_all() - machine.wait_for_unit("multi-user.target") - - # To check the version: - print(machine.succeed("sway --version")) - - # Wait for Sway to complete startup: - machine.wait_for_file("/run/user/1000/wayland-1") - machine.wait_for_file("/tmp/sway-ipc.sock") - - # Test XWayland (foot does not support X): - swaymsg("exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY= alacritty") - wait_for_window("alice@machine") - machine.send_chars("test-x11\n") - machine.wait_for_file("/tmp/test-x11-exit-ok") - print(machine.succeed("cat /tmp/test-x11.out")) - machine.copy_from_vm("/tmp/test-x11.out") - machine.screenshot("alacritty_glinfo") - machine.succeed("pkill alacritty") - - # Start a terminal (foot) on workspace 3: - machine.send_key("alt-3") - machine.sleep(3) - machine.send_key("alt-ret") - wait_for_window("alice@machine") - machine.send_chars("test-wayland\n") - machine.wait_for_file("/tmp/test-wayland-exit-ok") - print(machine.succeed("cat /tmp/test-wayland.out")) - machine.copy_from_vm("/tmp/test-wayland.out") - machine.screenshot("foot_wayland_info") - machine.send_key("alt-shift-q") - machine.wait_until_fails("pgrep foot") - - # Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if - # $WAYLAND_DISPLAY is correctly imported into the D-Bus user env): - swaymsg("exec mkdir -p ~/.gnupg") - swaymsg("exec cp /etc/gpg-agent.conf ~/.gnupg") - - swaymsg("exec DISPLAY=INVALID gpg --no-tty --yes --quick-generate-key test", succeed=False) - machine.wait_until_succeeds("pgrep --exact gpg") - wait_for_window("gpg") - machine.succeed("pgrep --exact gpg") - machine.screenshot("gpg_pinentry") - machine.send_key("alt-shift-q") - machine.wait_until_fails("pgrep --exact gpg") - - # Test swaynag: - def get_height(): - return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0] - - before = get_height() - machine.send_key("alt-shift-e") - retry(lambda _: get_height() < before) - machine.screenshot("sway_exit") - - swaymsg("exec swaylock") - machine.wait_until_succeeds("pgrep -x swaylock") - machine.sleep(3) - machine.send_chars("${nodes.machine.config.users.users.alice.password}") - machine.send_key("ret") - machine.wait_until_fails("pgrep -x swaylock") - - # Exit Sway and verify process exit status 0: - swaymsg("exit", succeed=False) - machine.wait_until_fails("pgrep -x sway") - machine.wait_for_file("/tmp/sway-exit-ok") - ''; -}) + # Need to switch to a different GPU driver than the default one (-vga std) so that Sway can launch: + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; + }; + + testScript = + { nodes, ... }: + '' + import shlex + import json + + q = shlex.quote + NODE_GROUPS = ["nodes", "floating_nodes"] + + + def swaymsg(command: str = "", succeed=True, type="command"): + assert command != "" or type != "command", "Must specify command or type" + shell = q(f"swaymsg -t {q(type)} -- {q(command)}") + with machine.nested( + f"sending swaymsg {shell!r}" + " (allowed to fail)" * (not succeed) + ): + ret = (machine.succeed if succeed else machine.execute)( + f"su - alice -c {shell}" + ) + + # execute also returns a status code, but disregard. + if not succeed: + _, ret = ret + + if not succeed and not ret: + return None + + parsed = json.loads(ret) + return parsed + + + def walk(tree): + yield tree + for group in NODE_GROUPS: + for node in tree.get(group, []): + yield from walk(node) + + + def wait_for_window(pattern): + def func(last_chance): + nodes = (node["name"] for node in walk(swaymsg(type="get_tree"))) + + if last_chance: + nodes = list(nodes) + machine.log(f"Last call! Current list of windows: {nodes}") + + return any(pattern in name for name in nodes) + + retry(func) + + start_all() + machine.wait_for_unit("multi-user.target") + + # To check the version: + print(machine.succeed("sway --version")) + + # Wait for Sway to complete startup: + machine.wait_for_file("/run/user/1000/wayland-1") + machine.wait_for_file("/tmp/sway-ipc.sock") + + # Test XWayland (foot does not support X): + swaymsg("exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY= alacritty") + wait_for_window("alice@machine") + machine.send_chars("test-x11\n") + machine.wait_for_file("/tmp/test-x11-exit-ok") + print(machine.succeed("cat /tmp/test-x11.out")) + machine.copy_from_vm("/tmp/test-x11.out") + machine.screenshot("alacritty_glinfo") + machine.succeed("pkill alacritty") + + # Start a terminal (foot) on workspace 3: + machine.send_key("alt-3") + machine.sleep(3) + machine.send_key("alt-ret") + wait_for_window("alice@machine") + machine.send_chars("test-wayland\n") + machine.wait_for_file("/tmp/test-wayland-exit-ok") + print(machine.succeed("cat /tmp/test-wayland.out")) + machine.copy_from_vm("/tmp/test-wayland.out") + machine.screenshot("foot_wayland_info") + machine.send_key("alt-shift-q") + machine.wait_until_fails("pgrep foot") + + # Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if + # $WAYLAND_DISPLAY is correctly imported into the D-Bus user env): + swaymsg("exec mkdir -p ~/.gnupg") + swaymsg("exec cp /etc/gpg-agent.conf ~/.gnupg") + + swaymsg("exec DISPLAY=INVALID gpg --no-tty --yes --quick-generate-key test", succeed=False) + machine.wait_until_succeeds("pgrep --exact gpg") + wait_for_window("gpg") + machine.succeed("pgrep --exact gpg") + machine.screenshot("gpg_pinentry") + machine.send_key("alt-shift-q") + machine.wait_until_fails("pgrep --exact gpg") + + # Test swaynag: + def get_height(): + return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0] + + before = get_height() + machine.send_key("alt-shift-e") + retry(lambda _: get_height() < before) + machine.screenshot("sway_exit") + + swaymsg("exec swaylock") + machine.wait_until_succeeds("pgrep -x swaylock") + machine.sleep(3) + machine.send_chars("${nodes.machine.config.users.users.alice.password}") + machine.send_key("ret") + machine.wait_until_fails("pgrep -x swaylock") + + # Exit Sway and verify process exit status 0: + swaymsg("exit", succeed=False) + machine.wait_until_fails("pgrep -x sway") + machine.wait_for_file("/tmp/sway-exit-ok") + ''; + } +) diff --git a/nixos/tests/sympa.nix b/nixos/tests/sympa.nix index 80daa4134f75a..fea12926cdad1 100644 --- a/nixos/tests/sympa.nix +++ b/nixos/tests/sympa.nix @@ -1,35 +1,38 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "sympa"; - meta.maintainers = with lib.maintainers; [ mmilata ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "sympa"; + meta.maintainers = with lib.maintainers; [ mmilata ]; - nodes.machine = - { ... }: - { + nodes.machine = + { ... }: + { - services.sympa = { - enable = true; - domains = { - "lists.example.org" = { - webHost = "localhost"; + services.sympa = { + enable = true; + domains = { + "lists.example.org" = { + webHost = "localhost"; + }; + }; + listMasters = [ "bob@example.org" ]; + web.enable = true; + web.https = false; + database = { + type = "PostgreSQL"; + createLocally = true; }; - }; - listMasters = [ "bob@example.org" ]; - web.enable = true; - web.https = false; - database = { - type = "PostgreSQL"; - createLocally = true; }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("sympa.service") - machine.wait_for_unit("wwsympa.service") - assert "Mailing lists service" in machine.succeed( - "curl --fail --insecure -L http://localhost/" - ) - ''; -}) + machine.wait_for_unit("sympa.service") + machine.wait_for_unit("wwsympa.service") + assert "Mailing lists service" in machine.succeed( + "curl --fail --insecure -L http://localhost/" + ) + ''; + } +) diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix index 97fcf2ad28d10..a4401805dcb2a 100644 --- a/nixos/tests/syncthing-init.nix +++ b/nixos/tests/syncthing-init.nix @@ -1,31 +1,35 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: let +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let - testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; + testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; -in { - name = "syncthing-init"; - meta.maintainers = with pkgs.lib.maintainers; [ lassulus ]; + in + { + name = "syncthing-init"; + meta.maintainers = with pkgs.lib.maintainers; [ lassulus ]; - nodes.machine = { - services.syncthing = { - enable = true; - settings.devices.testDevice = { - id = testId; + nodes.machine = { + services.syncthing = { + enable = true; + settings.devices.testDevice = { + id = testId; + }; + settings.folders.testFolder = { + path = "/tmp/test"; + devices = [ "testDevice" ]; + }; + settings.gui.user = "guiUser"; }; - settings.folders.testFolder = { - path = "/tmp/test"; - devices = [ "testDevice" ]; - }; - settings.gui.user = "guiUser"; }; - }; - testScript = '' - machine.wait_for_unit("syncthing-init.service") - config = machine.succeed("cat /var/lib/syncthing/.config/syncthing/config.xml") + testScript = '' + machine.wait_for_unit("syncthing-init.service") + config = machine.succeed("cat /var/lib/syncthing/.config/syncthing/config.xml") - assert "testFolder" in config - assert "${testId}" in config - assert "guiUser" in config - ''; -}) + assert "testFolder" in config + assert "${testId}" in config + assert "guiUser" in config + ''; + } +) diff --git a/nixos/tests/syncthing-many-devices.nix b/nixos/tests/syncthing-many-devices.nix index 2251bf0774533..44bd15e29d91a 100644 --- a/nixos/tests/syncthing-many-devices.nix +++ b/nixos/tests/syncthing-many-devices.nix @@ -1,203 +1,225 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: -# This nixosTest is supposed to check the following: -# -# - Whether syncthing's API handles multiple requests for many devices, see -# https://github.com/NixOS/nixpkgs/issues/260262 -# -# - Whether syncthing-init.service generated bash script removes devices and -# folders that are not present in the user's configuration, which is partly -# injected into the script. See also: -# https://github.com/NixOS/nixpkgs/issues/259256 -# + # This nixosTest is supposed to check the following: + # + # - Whether syncthing's API handles multiple requests for many devices, see + # https://github.com/NixOS/nixpkgs/issues/260262 + # + # - Whether syncthing-init.service generated bash script removes devices and + # folders that are not present in the user's configuration, which is partly + # injected into the script. See also: + # https://github.com/NixOS/nixpkgs/issues/259256 + # -let - # Just a long path not to copy paste - configPath = "/var/lib/syncthing/.config/syncthing/config.xml"; + let + # Just a long path not to copy paste + configPath = "/var/lib/syncthing/.config/syncthing/config.xml"; - # We will iterate this and more attribute sets defined here, later in the - # testScript. Start with this, and distinguish these settings from other - # settings, as we check these differently with xmllint, due to the ID. - settingsWithId = { - devices = { - # All of the device IDs used here were generated by the following command: - # - # (${pkgs.syncthing}/bin/syncthing generate --home /tmp/foo\ - # | grep ID: | sed 's/.*ID: *//') && rm -rf /tmp/foo - # - # See also discussion at: - # https://forum.syncthing.net/t/how-to-generate-dummy-device-ids/20927/8 - test_device1.id = "IVTZ5XF-EF3GKFT-GS4AZLG-IT6H2ZP-6WK75SF-AFXQXJJ-BNRZ4N6-XPDKVAU"; - test_device2.id = "5C35H56-Z2GFF4F-F3IVD4B-GJYVWIE-SMDBJZN-GI66KWP-52JIQGN-4AVLYAM"; - test_device3.id = "XKLSKHE-BZOHV7B-WQZACEF-GTH36NP-6JSBB6L-RXS3M7C-EEVWO2L-C5B4OAJ"; - test_device4.id = "APN5Q7J-35GZETO-5KCLF35-ZA7KBWK-HGWPBNG-FERF24R-UTLGMEX-4VJ6PQX"; - test_device5.id = "D4YXQEE-5MK6LIK-BRU5QWM-ZRXJCK2-N3RQBJE-23JKTQQ-LYGDPHF-RFPZIQX"; - test_device6.id = "TKMCH64-T44VSLI-6FN2YLF-URBZOBR-ATO4DYX-GEDRIII-CSMRQAI-UAQMDQG"; - test_device7.id = "472EEBG-Q4PZCD4-4CX6PGF-XS3FSQ2-UFXBZVB-PGNXWLX-7FKBLER-NJ3EMAR"; - test_device8.id = "HW6KUMK-WTBG24L-2HZQXLO-TGJSG2M-2JG3FHX-5OGYRUJ-T6L5NN7-L364QAZ"; - test_device9.id = "YAE24AP-7LSVY4T-J74ZSEM-A2IK6RB-FGA35TP-AG4CSLU-ED4UYYY-2J2TDQU"; - test_device10.id = "277XFSB-OFMQOBI-3XGNGUE-Y7FWRV3-QQDADIY-QIIPQ26-EOGTYKW-JP2EXAI"; - test_device11.id = "2WWXVTN-Q3QWAAY-XFORMRM-2FDI5XZ-OGN33BD-XOLL42R-DHLT2ML-QYXDQAU"; + # We will iterate this and more attribute sets defined here, later in the + # testScript. Start with this, and distinguish these settings from other + # settings, as we check these differently with xmllint, due to the ID. + settingsWithId = { + devices = { + # All of the device IDs used here were generated by the following command: + # + # (${pkgs.syncthing}/bin/syncthing generate --home /tmp/foo\ + # | grep ID: | sed 's/.*ID: *//') && rm -rf /tmp/foo + # + # See also discussion at: + # https://forum.syncthing.net/t/how-to-generate-dummy-device-ids/20927/8 + test_device1.id = "IVTZ5XF-EF3GKFT-GS4AZLG-IT6H2ZP-6WK75SF-AFXQXJJ-BNRZ4N6-XPDKVAU"; + test_device2.id = "5C35H56-Z2GFF4F-F3IVD4B-GJYVWIE-SMDBJZN-GI66KWP-52JIQGN-4AVLYAM"; + test_device3.id = "XKLSKHE-BZOHV7B-WQZACEF-GTH36NP-6JSBB6L-RXS3M7C-EEVWO2L-C5B4OAJ"; + test_device4.id = "APN5Q7J-35GZETO-5KCLF35-ZA7KBWK-HGWPBNG-FERF24R-UTLGMEX-4VJ6PQX"; + test_device5.id = "D4YXQEE-5MK6LIK-BRU5QWM-ZRXJCK2-N3RQBJE-23JKTQQ-LYGDPHF-RFPZIQX"; + test_device6.id = "TKMCH64-T44VSLI-6FN2YLF-URBZOBR-ATO4DYX-GEDRIII-CSMRQAI-UAQMDQG"; + test_device7.id = "472EEBG-Q4PZCD4-4CX6PGF-XS3FSQ2-UFXBZVB-PGNXWLX-7FKBLER-NJ3EMAR"; + test_device8.id = "HW6KUMK-WTBG24L-2HZQXLO-TGJSG2M-2JG3FHX-5OGYRUJ-T6L5NN7-L364QAZ"; + test_device9.id = "YAE24AP-7LSVY4T-J74ZSEM-A2IK6RB-FGA35TP-AG4CSLU-ED4UYYY-2J2TDQU"; + test_device10.id = "277XFSB-OFMQOBI-3XGNGUE-Y7FWRV3-QQDADIY-QIIPQ26-EOGTYKW-JP2EXAI"; + test_device11.id = "2WWXVTN-Q3QWAAY-XFORMRM-2FDI5XZ-OGN33BD-XOLL42R-DHLT2ML-QYXDQAU"; + }; + # Generates a few folders with IDs and paths as written... + folders = lib.pipe 6 [ + (builtins.genList (x: { + name = "/var/lib/syncthing/test_folder${builtins.toString x}"; + value = { + id = "DontDeleteMe${builtins.toString x}"; + }; + })) + builtins.listToAttrs + ]; }; - # Generates a few folders with IDs and paths as written... - folders = lib.pipe 6 [ - (builtins.genList (x: { - name = "/var/lib/syncthing/test_folder${builtins.toString x}"; - value = { - id = "DontDeleteMe${builtins.toString x}"; - }; - })) - builtins.listToAttrs - ]; - }; - # Non default options that we check later if were applied - settingsWithoutId = { - options = { - autoUpgradeIntervalH = 0; - urAccepted = -1; + # Non default options that we check later if were applied + settingsWithoutId = { + options = { + autoUpgradeIntervalH = 0; + urAccepted = -1; + }; + gui = { + theme = "dark"; + }; }; - gui = { - theme = "dark"; + # Used later when checking whether settings were set in config.xml: + checkSettingWithId = + { + t, # t for type + id, + not ? false, + }: + '' + print("Searching for a ${t} with id ${id}") + configVal_${t} = machine.succeed( + "${pkgs.libxml2}/bin/xmllint " + "--xpath 'string(//${t}[@id=\"${id}\"]/@id)' ${configPath}" + ) + print("${t}.id = {}".format(configVal_${t})) + assert "${id}" ${if not then "not" else ""} in configVal_${t} + ''; + # Same as checkSettingWithId, but for 'options' and 'gui' + checkSettingWithoutId = + { + t, # t for type + n, # n for name + v, # v for value + not ? false, + }: + '' + print("checking whether setting ${t}.${n} is set to ${v}") + configVal_${t}_${n} = machine.succeed( + "${pkgs.libxml2}/bin/xmllint " + "--xpath 'string(/configuration/${t}/${n})' ${configPath}" + ) + print("${t}.${n} = {}".format(configVal_${t}_${n})) + assert "${v}" ${if not then "not" else ""} in configVal_${t}_${n} + ''; + # Removes duplication a bit to define this function for the IDs to delete - + # we check whether they were added after our script ran, and before the + # systemd unit's bash script ran, and afterwards - whether the systemd unit + # worked. + checkSettingsToDelete = + { + not, + }: + lib.pipe IDsToDelete [ + (lib.mapAttrsToList ( + t: id: + checkSettingWithId { + inherit t id; + inherit not; + } + )) + lib.concatStrings + ]; + # These IDs are added to syncthing using the API, similarly to how the + # generated systemd unit's bash script does it. Only we add it and expect the + # systemd unit bash script to remove them when executed. + IDsToDelete = { + # Also created using the syncthing generate command above + device = "LZ2CTHT-3W2M7BC-CMKDFZL-DLUQJFS-WJR73PA-NZGODWG-DZBHCHI-OXTQXAK"; + # Intentionally this is a substring of the IDs of the 'test_folder's, as + # explained in: https://github.com/NixOS/nixpkgs/issues/259256 + folder = "DeleteMe"; }; - }; - # Used later when checking whether settings were set in config.xml: - checkSettingWithId = { t # t for type - , id - , not ? false - }: '' - print("Searching for a ${t} with id ${id}") - configVal_${t} = machine.succeed( - "${pkgs.libxml2}/bin/xmllint " - "--xpath 'string(//${t}[@id=\"${id}\"]/@id)' ${configPath}" - ) - print("${t}.id = {}".format(configVal_${t})) - assert "${id}" ${if not then "not" else ""} in configVal_${t} - ''; - # Same as checkSettingWithId, but for 'options' and 'gui' - checkSettingWithoutId = { t # t for type - , n # n for name - , v # v for value - , not ? false - }: '' - print("checking whether setting ${t}.${n} is set to ${v}") - configVal_${t}_${n} = machine.succeed( - "${pkgs.libxml2}/bin/xmllint " - "--xpath 'string(/configuration/${t}/${n})' ${configPath}" - ) - print("${t}.${n} = {}".format(configVal_${t}_${n})) - assert "${v}" ${if not then "not" else ""} in configVal_${t}_${n} - ''; - # Removes duplication a bit to define this function for the IDs to delete - - # we check whether they were added after our script ran, and before the - # systemd unit's bash script ran, and afterwards - whether the systemd unit - # worked. - checkSettingsToDelete = { - not - }: lib.pipe IDsToDelete [ - (lib.mapAttrsToList (t: id: - checkSettingWithId { - inherit t id; - inherit not; - } - )) - lib.concatStrings - ]; - # These IDs are added to syncthing using the API, similarly to how the - # generated systemd unit's bash script does it. Only we add it and expect the - # systemd unit bash script to remove them when executed. - IDsToDelete = { - # Also created using the syncthing generate command above - device = "LZ2CTHT-3W2M7BC-CMKDFZL-DLUQJFS-WJR73PA-NZGODWG-DZBHCHI-OXTQXAK"; - # Intentionally this is a substring of the IDs of the 'test_folder's, as - # explained in: https://github.com/NixOS/nixpkgs/issues/259256 - folder = "DeleteMe"; - }; - addDeviceToDeleteScript = pkgs.writers.writeBash "syncthing-add-device-to-delete.sh" '' - set -euo pipefail + addDeviceToDeleteScript = pkgs.writers.writeBash "syncthing-add-device-to-delete.sh" '' + set -euo pipefail - export RUNTIME_DIRECTORY=/tmp + export RUNTIME_DIRECTORY=/tmp - curl() { - # get the api key by parsing the config.xml - while - ! ${pkgs.libxml2}/bin/xmllint \ - --xpath 'string(configuration/gui/apikey)' \ - ${configPath} \ - >"$RUNTIME_DIRECTORY/api_key" - do sleep 1; done + curl() { + # get the api key by parsing the config.xml + while + ! ${pkgs.libxml2}/bin/xmllint \ + --xpath 'string(configuration/gui/apikey)' \ + ${configPath} \ + >"$RUNTIME_DIRECTORY/api_key" + do sleep 1; done - (printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers" + (printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers" - ${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers" \ - --retry 1000 --retry-delay 1 --retry-all-errors \ - "$@" - } - curl -d ${lib.escapeShellArg (builtins.toJSON { deviceID = IDsToDelete.device;})} \ - -X POST 127.0.0.1:8384/rest/config/devices - curl -d ${lib.escapeShellArg (builtins.toJSON { id = IDsToDelete.folder;})} \ - -X POST 127.0.0.1:8384/rest/config/folders - ''; -in { - name = "syncthing-init"; - meta.maintainers = with lib.maintainers; [ doronbehar ]; + ${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers" \ + --retry 1000 --retry-delay 1 --retry-all-errors \ + "$@" + } + curl -d ${lib.escapeShellArg (builtins.toJSON { deviceID = IDsToDelete.device; })} \ + -X POST 127.0.0.1:8384/rest/config/devices + curl -d ${lib.escapeShellArg (builtins.toJSON { id = IDsToDelete.folder; })} \ + -X POST 127.0.0.1:8384/rest/config/folders + ''; + in + { + name = "syncthing-init"; + meta.maintainers = with lib.maintainers; [ doronbehar ]; - nodes.machine = { - services.syncthing = { - enable = true; - overrideDevices = true; - overrideFolders = true; - settings = settingsWithoutId // settingsWithId; + nodes.machine = { + services.syncthing = { + enable = true; + overrideDevices = true; + overrideFolders = true; + settings = settingsWithoutId // settingsWithId; + }; }; - }; - testScript = '' - machine.wait_for_unit("syncthing-init.service") - '' + (lib.pipe settingsWithId [ - # Check that folders and devices were added properly and that all IDs exist - (lib.mapAttrsRecursive (path: id: - checkSettingWithId { - # plural -> solitary - t = (lib.removeSuffix "s" (builtins.elemAt path 0)); - inherit id; - } - )) - # Get all the values we applied the above function upon - (lib.collect builtins.isString) - lib.concatStrings - ]) + (lib.pipe settingsWithoutId [ - # Check that all other syncthing.settings were added properly with correct - # values - (lib.mapAttrsRecursive (path: value: - checkSettingWithoutId { - t = (builtins.elemAt path 0); - n = (builtins.elemAt path 1); - v = (builtins.toString value); - } - )) - # Get all the values we applied the above function upon - (lib.collect builtins.isString) - lib.concatStrings - ]) + '' - # Run the script on the machine - machine.succeed("${addDeviceToDeleteScript}") - '' + (checkSettingsToDelete { - not = false; - }) + '' - # Useful for debugging later - machine.copy_from_vm("${configPath}", "before") + testScript = + '' + machine.wait_for_unit("syncthing-init.service") + '' + + (lib.pipe settingsWithId [ + # Check that folders and devices were added properly and that all IDs exist + (lib.mapAttrsRecursive ( + path: id: + checkSettingWithId { + # plural -> solitary + t = (lib.removeSuffix "s" (builtins.elemAt path 0)); + inherit id; + } + )) + # Get all the values we applied the above function upon + (lib.collect builtins.isString) + lib.concatStrings + ]) + + (lib.pipe settingsWithoutId [ + # Check that all other syncthing.settings were added properly with correct + # values + (lib.mapAttrsRecursive ( + path: value: + checkSettingWithoutId { + t = (builtins.elemAt path 0); + n = (builtins.elemAt path 1); + v = (builtins.toString value); + } + )) + # Get all the values we applied the above function upon + (lib.collect builtins.isString) + lib.concatStrings + ]) + + '' + # Run the script on the machine + machine.succeed("${addDeviceToDeleteScript}") + '' + + (checkSettingsToDelete { + not = false; + }) + + '' + # Useful for debugging later + machine.copy_from_vm("${configPath}", "before") - machine.systemctl("restart syncthing-init.service") - machine.wait_for_unit("syncthing-init.service") - '' + (checkSettingsToDelete { - not = true; - }) + '' - # Useful for debugging later - machine.copy_from_vm("${configPath}", "after") + machine.systemctl("restart syncthing-init.service") + machine.wait_for_unit("syncthing-init.service") + '' + + (checkSettingsToDelete { + not = true; + }) + + '' + # Useful for debugging later + machine.copy_from_vm("${configPath}", "after") - # Copy the systemd unit's bash script, to inspect it for debugging. - mergeScript = machine.succeed( - "systemctl cat syncthing-init.service | " - "${pkgs.initool}/bin/initool g - Service ExecStart --value-only" - ).strip() # strip from new lines - machine.copy_from_vm(mergeScript, "") - ''; -}) + # Copy the systemd unit's bash script, to inspect it for debugging. + mergeScript = machine.succeed( + "systemctl cat syncthing-init.service | " + "${pkgs.initool}/bin/initool g - Service ExecStart --value-only" + ).strip() # strip from new lines + machine.copy_from_vm(mergeScript, "") + ''; + } +) diff --git a/nixos/tests/syncthing-no-settings.nix b/nixos/tests/syncthing-no-settings.nix index fee122b5e35c0..904f3eb37356f 100644 --- a/nixos/tests/syncthing-no-settings.nix +++ b/nixos/tests/syncthing-no-settings.nix @@ -1,18 +1,26 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "syncthing"; - meta.maintainers = with pkgs.lib.maintainers; [ chkno ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "syncthing"; + meta.maintainers = with pkgs.lib.maintainers; [ chkno ]; - nodes = { - a = { - environment.systemPackages = with pkgs; [ curl libxml2 syncthing ]; - services.syncthing = { - enable = true; + nodes = { + a = { + environment.systemPackages = with pkgs; [ + curl + libxml2 + syncthing + ]; + services.syncthing = { + enable = true; + }; }; }; - }; - # Test that indeed a syncthing-init.service systemd service is not created. - # - testScript = /* python */ '' - a.succeed("systemctl list-unit-files | awk '$1 == \"syncthing-init.service\" {exit 1;}'") - ''; -}) + # Test that indeed a syncthing-init.service systemd service is not created. + # + testScript = # python + '' + a.succeed("systemctl list-unit-files | awk '$1 == \"syncthing-init.service\" {exit 1;}'") + ''; + } +) diff --git a/nixos/tests/syncthing-relay.nix b/nixos/tests/syncthing-relay.nix index cab9bcafe9d5c..9b44155415d29 100644 --- a/nixos/tests/syncthing-relay.nix +++ b/nixos/tests/syncthing-relay.nix @@ -1,26 +1,29 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "syncthing-relay"; - meta.maintainers = with pkgs.lib.maintainers; [ ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "syncthing-relay"; + meta.maintainers = with pkgs.lib.maintainers; [ ]; - nodes.machine = { - environment.systemPackages = [ pkgs.jq ]; - services.syncthing.relay = { - enable = true; - providedBy = "nixos-test"; - pools = []; # Don't connect to any pool while testing. - port = 12345; - statusPort = 12346; + nodes.machine = { + environment.systemPackages = [ pkgs.jq ]; + services.syncthing.relay = { + enable = true; + providedBy = "nixos-test"; + pools = [ ]; # Don't connect to any pool while testing. + port = 12345; + statusPort = 12346; + }; }; - }; - testScript = '' - machine.wait_for_unit("syncthing-relay.service") - machine.wait_for_open_port(12345) - machine.wait_for_open_port(12346) + testScript = '' + machine.wait_for_unit("syncthing-relay.service") + machine.wait_for_open_port(12345) + machine.wait_for_open_port(12346) - out = machine.succeed( - "curl -sSf http://localhost:12346/status | jq -r '.options.\"provided-by\"'" - ) - assert "nixos-test" in out - ''; -}) + out = machine.succeed( + "curl -sSf http://localhost:12346/status | jq -r '.options.\"provided-by\"'" + ) + assert "nixos-test" in out + ''; + } +) diff --git a/nixos/tests/syncthing.nix b/nixos/tests/syncthing.nix index aff1d87441308..f3e2614a0b837 100644 --- a/nixos/tests/syncthing.nix +++ b/nixos/tests/syncthing.nix @@ -1,65 +1,72 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "syncthing"; - meta.maintainers = with pkgs.lib.maintainers; [ chkno ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "syncthing"; + meta.maintainers = with pkgs.lib.maintainers; [ chkno ]; - nodes = rec { - a = { - environment.systemPackages = with pkgs; [ curl libxml2 syncthing ]; - services.syncthing = { - enable = true; - openDefaultPorts = true; + nodes = rec { + a = { + environment.systemPackages = with pkgs; [ + curl + libxml2 + syncthing + ]; + services.syncthing = { + enable = true; + openDefaultPorts = true; + }; }; + b = a; }; - b = a; - }; - testScript = '' - import json - import shlex + testScript = '' + import json + import shlex - confdir = "/var/lib/syncthing/.config/syncthing" + confdir = "/var/lib/syncthing/.config/syncthing" - def addPeer(host, name, deviceID): - APIKey = host.succeed( - "xmllint --xpath 'string(configuration/gui/apikey)' %s/config.xml" % confdir - ).strip() - oldConf = host.succeed( - "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config" % APIKey - ) - conf = json.loads(oldConf) - conf["devices"].append({"deviceID": deviceID, "id": name}) - conf["folders"].append( - { - "devices": [{"deviceID": deviceID}], - "id": "foo", - "path": "/var/lib/syncthing/foo", - "rescanIntervalS": 1, - } - ) - newConf = json.dumps(conf) - host.succeed( - "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config -X PUT -d %s" - % (APIKey, shlex.quote(newConf)) - ) + def addPeer(host, name, deviceID): + APIKey = host.succeed( + "xmllint --xpath 'string(configuration/gui/apikey)' %s/config.xml" % confdir + ).strip() + oldConf = host.succeed( + "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config" % APIKey + ) + conf = json.loads(oldConf) + conf["devices"].append({"deviceID": deviceID, "id": name}) + conf["folders"].append( + { + "devices": [{"deviceID": deviceID}], + "id": "foo", + "path": "/var/lib/syncthing/foo", + "rescanIntervalS": 1, + } + ) + newConf = json.dumps(conf) + host.succeed( + "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config -X PUT -d %s" + % (APIKey, shlex.quote(newConf)) + ) - start_all() - a.wait_for_unit("syncthing.service") - b.wait_for_unit("syncthing.service") - a.wait_for_open_port(22000) - b.wait_for_open_port(22000) + start_all() + a.wait_for_unit("syncthing.service") + b.wait_for_unit("syncthing.service") + a.wait_for_open_port(22000) + b.wait_for_open_port(22000) - aDeviceID = a.succeed("syncthing -home=%s -device-id" % confdir).strip() - bDeviceID = b.succeed("syncthing -home=%s -device-id" % confdir).strip() - addPeer(a, "b", bDeviceID) - addPeer(b, "a", aDeviceID) + aDeviceID = a.succeed("syncthing -home=%s -device-id" % confdir).strip() + bDeviceID = b.succeed("syncthing -home=%s -device-id" % confdir).strip() + addPeer(a, "b", bDeviceID) + addPeer(b, "a", aDeviceID) - a.wait_for_file("/var/lib/syncthing/foo") - b.wait_for_file("/var/lib/syncthing/foo") - a.succeed("echo a2b > /var/lib/syncthing/foo/a2b") - b.succeed("echo b2a > /var/lib/syncthing/foo/b2a") - a.wait_for_file("/var/lib/syncthing/foo/b2a") - b.wait_for_file("/var/lib/syncthing/foo/a2b") - ''; -}) + a.wait_for_file("/var/lib/syncthing/foo") + b.wait_for_file("/var/lib/syncthing/foo") + a.succeed("echo a2b > /var/lib/syncthing/foo/a2b") + b.succeed("echo b2a > /var/lib/syncthing/foo/b2a") + a.wait_for_file("/var/lib/syncthing/foo/b2a") + b.wait_for_file("/var/lib/syncthing/foo/a2b") + ''; + } +) diff --git a/nixos/tests/sysinit-reactivation.nix b/nixos/tests/sysinit-reactivation.nix index 1a0caecb610a3..335d7ad8d4ca7 100644 --- a/nixos/tests/sysinit-reactivation.nix +++ b/nixos/tests/sysinit-reactivation.nix @@ -21,8 +21,7 @@ let }; systemd.tmpfiles.settings.test = lib.mkForce { - "/run/${generation}-needed-by-pre-sysinit-after-tmpfiles".f.user = - "${generation}-tmpfiles-user"; + "/run/${generation}-needed-by-pre-sysinit-after-tmpfiles".f.user = "${generation}-tmpfiles-user"; }; }; }; @@ -34,74 +33,88 @@ in meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { config, lib, pkgs, ... }: { - systemd.services.pre-sysinit-before-tmpfiles = { - wantedBy = [ "sysinit.target" ]; - requiredBy = [ "sysinit-reactivation.target" ]; - before = [ "systemd-tmpfiles-setup.service" "systemd-tmpfiles-resetup.service" ]; - unitConfig.DefaultDependencies = false; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - environment.USER = "tmpfiles-user"; - script = "${pkgs.shadow}/bin/useradd $USER"; - }; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + systemd.services.pre-sysinit-before-tmpfiles = { + wantedBy = [ "sysinit.target" ]; + requiredBy = [ "sysinit-reactivation.target" ]; + before = [ + "systemd-tmpfiles-setup.service" + "systemd-tmpfiles-resetup.service" + ]; + unitConfig.DefaultDependencies = false; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + environment.USER = "tmpfiles-user"; + script = "${pkgs.shadow}/bin/useradd $USER"; + }; - systemd.services.pre-sysinit-after-tmpfiles = { - wantedBy = [ "sysinit.target" ]; - requiredBy = [ "sysinit-reactivation.target" ]; - after = [ "systemd-tmpfiles-setup.service" "systemd-tmpfiles-resetup.service" ]; - unitConfig.DefaultDependencies = false; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - environment = { - NEEDED_PATH = "/run/needed-by-pre-sysinit-after-tmpfiles"; - PATH_TO_CREATE = "/run/needed-by-post-sysinit"; + systemd.services.pre-sysinit-after-tmpfiles = { + wantedBy = [ "sysinit.target" ]; + requiredBy = [ "sysinit-reactivation.target" ]; + after = [ + "systemd-tmpfiles-setup.service" + "systemd-tmpfiles-resetup.service" + ]; + unitConfig.DefaultDependencies = false; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + environment = { + NEEDED_PATH = "/run/needed-by-pre-sysinit-after-tmpfiles"; + PATH_TO_CREATE = "/run/needed-by-post-sysinit"; + }; + script = '' + if [[ -e $NEEDED_PATH ]]; then + touch $PATH_TO_CREATE + fi + ''; }; - script = '' - if [[ -e $NEEDED_PATH ]]; then - touch $PATH_TO_CREATE - fi - ''; - }; - systemd.services.post-sysinit = { - wantedBy = [ "default.target" ]; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - environment = { - NEEDED_PATH = "/run/needed-by-post-sysinit"; - PATH_TO_CREATE = "/run/created-by-post-sysinit"; + systemd.services.post-sysinit = { + wantedBy = [ "default.target" ]; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + environment = { + NEEDED_PATH = "/run/needed-by-post-sysinit"; + PATH_TO_CREATE = "/run/created-by-post-sysinit"; + }; + script = '' + if [[ -e $NEEDED_PATH ]]; then + touch $PATH_TO_CREATE + fi + ''; }; - script = '' - if [[ -e $NEEDED_PATH ]]; then - touch $PATH_TO_CREATE - fi - ''; - }; - systemd.tmpfiles.settings.test = { - "/run/needed-by-pre-sysinit-after-tmpfiles".f.user = - "tmpfiles-user"; - }; + systemd.tmpfiles.settings.test = { + "/run/needed-by-pre-sysinit-after-tmpfiles".f.user = "tmpfiles-user"; + }; - specialisation = lib.mkMerge [ - (makeGeneration "second") - (makeGeneration "third") - ]; - }; + specialisation = lib.mkMerge [ + (makeGeneration "second") + (makeGeneration "third") + ]; + }; - testScript = { nodes, ... }: '' - def switch(generation): - toplevel = "${nodes.machine.system.build.toplevel}"; - machine.succeed(f"{toplevel}/specialisation/{generation}/bin/switch-to-configuration switch") + testScript = + { nodes, ... }: + '' + def switch(generation): + toplevel = "${nodes.machine.system.build.toplevel}"; + machine.succeed(f"{toplevel}/specialisation/{generation}/bin/switch-to-configuration switch") - machine.wait_for_unit("default.target") - machine.succeed("test -e /run/created-by-post-sysinit") + machine.wait_for_unit("default.target") + machine.succeed("test -e /run/created-by-post-sysinit") - switch("second") - machine.succeed("test -e /run/second-created-by-post-sysinit") + switch("second") + machine.succeed("test -e /run/second-created-by-post-sysinit") - switch("third") - machine.succeed("test -e /run/third-created-by-post-sysinit") - ''; + switch("third") + machine.succeed("test -e /run/third-created-by-post-sysinit") + ''; } diff --git a/nixos/tests/systemd-analyze.nix b/nixos/tests/systemd-analyze.nix index 37c20d5fe5b65..3b1365c0b4cf6 100644 --- a/nixos/tests/systemd-analyze.nix +++ b/nixos/tests/systemd-analyze.nix @@ -1,45 +1,52 @@ -import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: - -{ - name = "systemd-analyze"; - meta = with pkgs.lib.maintainers; { - maintainers = [ raskin ]; - }; - - nodes.machine = - { pkgs, lib, ... }: - { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; +import ./make-test-python.nix ( + { + pkgs, + latestKernel ? false, + ... + }: + + { + name = "systemd-analyze"; + meta = with pkgs.lib.maintainers; { + maintainers = [ raskin ]; }; - testScript = '' - machine.wait_for_unit("multi-user.target") - - # We create a special output directory to copy it as a whole - with subtest("Prepare output dir"): - machine.succeed("mkdir systemd-analyze") - - - # Save the output into a file with given name inside the common - # output directory - def run_systemd_analyze(args, name): - tgt_dir = "systemd-analyze" - machine.succeed( - "systemd-analyze {} > {}/{} 2> {}/{}.err".format( - " ".join(args), tgt_dir, name, tgt_dir, name - ) - ) - - - with subtest("Print statistics"): - run_systemd_analyze(["blame"], "blame.txt") - run_systemd_analyze(["critical-chain"], "critical-chain.txt") - run_systemd_analyze(["dot"], "dependencies.dot") - run_systemd_analyze(["plot"], "systemd-analyze.svg") - - # We copy the main graph into the $out (toplevel), and we also copy - # the entire output directory with additional data - with subtest("Copying the resulting data into $out"): - machine.copy_from_vm("systemd-analyze/", "") - machine.copy_from_vm("systemd-analyze/systemd-analyze.svg", "") - ''; -}) + nodes.machine = + { pkgs, lib, ... }: + { + boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; + }; + + testScript = '' + machine.wait_for_unit("multi-user.target") + + # We create a special output directory to copy it as a whole + with subtest("Prepare output dir"): + machine.succeed("mkdir systemd-analyze") + + + # Save the output into a file with given name inside the common + # output directory + def run_systemd_analyze(args, name): + tgt_dir = "systemd-analyze" + machine.succeed( + "systemd-analyze {} > {}/{} 2> {}/{}.err".format( + " ".join(args), tgt_dir, name, tgt_dir, name + ) + ) + + + with subtest("Print statistics"): + run_systemd_analyze(["blame"], "blame.txt") + run_systemd_analyze(["critical-chain"], "critical-chain.txt") + run_systemd_analyze(["dot"], "dependencies.dot") + run_systemd_analyze(["plot"], "systemd-analyze.svg") + + # We copy the main graph into the $out (toplevel), and we also copy + # the entire output directory with additional data + with subtest("Copying the resulting data into $out"): + machine.copy_from_vm("systemd-analyze/", "") + machine.copy_from_vm("systemd-analyze/systemd-analyze.svg", "") + ''; + } +) diff --git a/nixos/tests/systemd-binfmt.nix b/nixos/tests/systemd-binfmt.nix index a5e46a455d325..33d6cdf51de2f 100644 --- a/nixos/tests/systemd-binfmt.nix +++ b/nixos/tests/systemd-binfmt.nix @@ -1,34 +1,40 @@ # Teach the kernel how to run armv7l and aarch64-linux binaries, # and run GNU Hello for these architectures. -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; let - expectArgv0 = xpkgs: xpkgs.runCommandCC "expect-argv0" { - src = pkgs.writeText "expect-argv0.c" '' - #include <stdio.h> - #include <string.h> + expectArgv0 = + xpkgs: + xpkgs.runCommandCC "expect-argv0" + { + src = pkgs.writeText "expect-argv0.c" '' + #include <stdio.h> + #include <string.h> - int main(int argc, char **argv) { - fprintf(stderr, "Our argv[0] is %s\n", argv[0]); + int main(int argc, char **argv) { + fprintf(stderr, "Our argv[0] is %s\n", argv[0]); - if (strcmp(argv[0], argv[1])) { - fprintf(stderr, "ERROR: argv[0] is %s, should be %s\n", argv[0], argv[1]); - return 1; - } + if (strcmp(argv[0], argv[1])) { + fprintf(stderr, "ERROR: argv[0] is %s, should be %s\n", argv[0], argv[1]); + return 1; + } - return 0; + return 0; + } + ''; } - ''; - } '' - $CC -o $out $src - ''; -in { + '' + $CC -o $out $src + ''; +in +{ basic = makeTest { name = "systemd-binfmt"; nodes.machine = { @@ -38,20 +44,22 @@ in { ]; }; - testScript = let - helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello; - helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello; - in '' - machine.start() + testScript = + let + helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello; + helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello; + in + '' + machine.start() - assert "world" in machine.succeed( - "${helloArmv7l}/bin/hello" - ) + assert "world" in machine.succeed( + "${helloArmv7l}/bin/hello" + ) - assert "world" in machine.succeed( - "${helloAarch64}/bin/hello" - ) - ''; + assert "world" in machine.succeed( + "${helloAarch64}/bin/hello" + ) + ''; }; preserveArgvZero = makeTest { @@ -61,12 +69,14 @@ in { "aarch64-linux" ]; }; - testScript = let - testAarch64 = expectArgv0 pkgs.pkgsCross.aarch64-multiplatform; - in '' - machine.start() - machine.succeed("exec -a meow ${testAarch64} meow") - ''; + testScript = + let + testAarch64 = expectArgv0 pkgs.pkgsCross.aarch64-multiplatform; + in + '' + machine.start() + machine.succeed("exec -a meow ${testAarch64} meow") + ''; }; ldPreload = makeTest { @@ -76,37 +86,42 @@ in { "aarch64-linux" ]; }; - testScript = let - helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello; - libredirectAarch64 = pkgs.pkgsCross.aarch64-multiplatform.libredirect; - in '' - machine.start() + testScript = + let + helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello; + libredirectAarch64 = pkgs.pkgsCross.aarch64-multiplatform.libredirect; + in + '' + machine.start() - assert "error" not in machine.succeed( - "LD_PRELOAD='${libredirectAarch64}/lib/libredirect.so' ${helloAarch64}/bin/hello 2>&1" - ).lower() - ''; + assert "error" not in machine.succeed( + "LD_PRELOAD='${libredirectAarch64}/lib/libredirect.so' ${helloAarch64}/bin/hello 2>&1" + ).lower() + ''; }; chroot = makeTest { name = "systemd-binfmt-chroot"; - nodes.machine = { pkgs, lib, ... }: { - boot.binfmt.emulatedSystems = [ - "aarch64-linux" "wasm32-wasi" - ]; - boot.binfmt.preferStaticEmulators = true; + nodes.machine = + { pkgs, lib, ... }: + { + boot.binfmt.emulatedSystems = [ + "aarch64-linux" + "wasm32-wasi" + ]; + boot.binfmt.preferStaticEmulators = true; - environment.systemPackages = [ - (pkgs.writeShellScriptBin "test-chroot" '' - set -euo pipefail - mkdir -p /tmp/chroot - cp ${lib.getExe' pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic.busybox "busybox"} /tmp/chroot/busybox - cp ${lib.getExe pkgs.pkgsCross.wasi32.yaml2json} /tmp/chroot/yaml2json # wasi binaries that build are hard to come by - chroot /tmp/chroot /busybox uname -m | grep aarch64 - echo 42 | chroot /tmp/chroot /yaml2json | grep 42 - '') - ]; - }; + environment.systemPackages = [ + (pkgs.writeShellScriptBin "test-chroot" '' + set -euo pipefail + mkdir -p /tmp/chroot + cp ${lib.getExe' pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic.busybox "busybox"} /tmp/chroot/busybox + cp ${lib.getExe pkgs.pkgsCross.wasi32.yaml2json} /tmp/chroot/yaml2json # wasi binaries that build are hard to come by + chroot /tmp/chroot /busybox uname -m | grep aarch64 + echo 42 | chroot /tmp/chroot /yaml2json | grep 42 + '') + ]; + }; testScript = '' machine.start() machine.succeed("test-chroot") diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 812d6088ed4e2..570cd6b934091 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -343,10 +343,12 @@ in name = "systemd-boot-edk2-uefi-shell"; meta.maintainers = with pkgs.lib.maintainers; [ iFreilicht ]; - nodes.machine = { ... }: { - imports = [ common ]; - boot.loader.systemd-boot.edk2-uefi-shell.enable = true; - }; + nodes.machine = + { ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.edk2-uefi-shell.enable = true; + }; testScript = '' machine.succeed("test -e /boot/loader/entries/edk2-uefi-shell.conf") @@ -358,21 +360,23 @@ in name = "systemd-boot-windows"; meta.maintainers = with pkgs.lib.maintainers; [ iFreilicht ]; - nodes.machine = { ... }: { - imports = [ common ]; - boot.loader.systemd-boot.windows = { - "7" = { - efiDeviceHandle = "HD0c1"; - sortKey = "before_all_others"; - }; - "Ten".efiDeviceHandle = "FS0"; - "11" = { - title = "Title with-_-punctuation ...?!"; - efiDeviceHandle = "HD0d4"; - sortKey = "zzz"; + nodes.machine = + { ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.windows = { + "7" = { + efiDeviceHandle = "HD0c1"; + sortKey = "before_all_others"; + }; + "Ten".efiDeviceHandle = "FS0"; + "11" = { + title = "Title with-_-punctuation ...?!"; + efiDeviceHandle = "HD0d4"; + sortKey = "zzz"; + }; }; }; - }; testScript = '' machine.succeed("test -e /boot/efi/edk2-uefi-shell/shell.efi") diff --git a/nixos/tests/systemd-bpf.nix b/nixos/tests/systemd-bpf.nix index e11347a2a817a..2820218b22867 100644 --- a/nixos/tests/systemd-bpf.nix +++ b/nixos/tests/systemd-bpf.nix @@ -1,42 +1,51 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "systemd-bpf"; - meta = with lib.maintainers; { - maintainers = [ veehaitch ]; - }; - nodes = { - node1 = { - virtualisation.vlans = [ 1 ]; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - interfaces.eth1.ipv4.addresses = [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "systemd-bpf"; + meta = with lib.maintainers; { + maintainers = [ veehaitch ]; }; + nodes = { + node1 = { + virtualisation.vlans = [ 1 ]; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.1"; + prefixLength = 24; + } + ]; + }; + }; - node2 = { - virtualisation.vlans = [ 1 ]; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - interfaces.eth1.ipv4.addresses = [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; + node2 = { + virtualisation.vlans = [ 1 ]; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.2"; + prefixLength = 24; + } + ]; + }; }; }; - }; - testScript = '' - start_all() - node1.wait_for_unit("systemd-networkd-wait-online.service") - node2.wait_for_unit("systemd-networkd-wait-online.service") + testScript = '' + start_all() + node1.wait_for_unit("systemd-networkd-wait-online.service") + node2.wait_for_unit("systemd-networkd-wait-online.service") - with subtest("test RestrictNetworkInterfaces= works"): - node1.succeed("ping -c 5 192.168.1.2") - node1.succeed("systemd-run -t -p RestrictNetworkInterfaces='eth1' ping -c 5 192.168.1.2") - node1.fail("systemd-run -t -p RestrictNetworkInterfaces='lo' ping -c 5 192.168.1.2") - ''; -}) + with subtest("test RestrictNetworkInterfaces= works"): + node1.succeed("ping -c 5 192.168.1.2") + node1.succeed("systemd-run -t -p RestrictNetworkInterfaces='eth1' ping -c 5 192.168.1.2") + node1.fail("systemd-run -t -p RestrictNetworkInterfaces='lo' ping -c 5 192.168.1.2") + ''; + } +) diff --git a/nixos/tests/systemd-confinement/default.nix b/nixos/tests/systemd-confinement/default.nix index 4ca37b3b9126e..905a2272c0fb8 100644 --- a/nixos/tests/systemd-confinement/default.nix +++ b/nixos/tests/systemd-confinement/default.nix @@ -1,272 +1,344 @@ import ../make-test-python.nix { name = "systemd-confinement"; - nodes.machine = { pkgs, lib, ... }: let - testLib = pkgs.python3Packages.buildPythonPackage { - name = "confinement-testlib"; - unpackPhase = '' - cat > setup.py <<EOF - from setuptools import setup - setup(name='confinement-testlib', py_modules=["checkperms"]) - EOF - cp ${./checkperms.py} checkperms.py - ''; - }; + nodes.machine = + { pkgs, lib, ... }: + let + testLib = pkgs.python3Packages.buildPythonPackage { + name = "confinement-testlib"; + unpackPhase = '' + cat > setup.py <<EOF + from setuptools import setup + setup(name='confinement-testlib', py_modules=["checkperms"]) + EOF + cp ${./checkperms.py} checkperms.py + ''; + }; - mkTest = name: testScript: pkgs.writers.writePython3 "${name}.py" { - libraries = [ pkgs.python3Packages.pytest testLib ]; - } '' - # This runs our test script by using pytest's assertion rewriting, so - # that whenever we use "assert <something>", the actual values are - # printed rather than getting a generic AssertionError or the need to - # pass an explicit assertion error message. - import ast - from pathlib import Path - from _pytest.assertion.rewrite import rewrite_asserts + mkTest = + name: testScript: + pkgs.writers.writePython3 "${name}.py" + { + libraries = [ + pkgs.python3Packages.pytest + testLib + ]; + } + '' + # This runs our test script by using pytest's assertion rewriting, so + # that whenever we use "assert <something>", the actual values are + # printed rather than getting a generic AssertionError or the need to + # pass an explicit assertion error message. + import ast + from pathlib import Path + from _pytest.assertion.rewrite import rewrite_asserts - script = Path('${pkgs.writeText "${name}-main.py" '' - import errno, os, pytest, signal - from subprocess import run - from checkperms import Accessibility, assert_permissions + script = Path('${pkgs.writeText "${name}-main.py" '' + import errno, os, pytest, signal + from subprocess import run + from checkperms import Accessibility, assert_permissions - ${testScript} - ''}') # noqa - filename = str(script) - source = script.read_bytes() + ${testScript} + ''}') # noqa + filename = str(script) + source = script.read_bytes() - tree = ast.parse(source, filename=filename) - rewrite_asserts(tree, source, filename) - exec(compile(tree, filename, 'exec', dont_inherit=True)) - ''; + tree = ast.parse(source, filename=filename) + rewrite_asserts(tree, source, filename) + exec(compile(tree, filename, 'exec', dont_inherit=True)) + ''; - mkTestStep = num: { - description, - testScript, - config ? {}, - serviceName ? "test${toString num}", - rawUnit ? null, - }: { - systemd.packages = lib.optional (rawUnit != null) (pkgs.writeTextFile { - name = serviceName; - destination = "/etc/systemd/system/${serviceName}.service"; - text = rawUnit; - }); + mkTestStep = + num: + { + description, + testScript, + config ? { }, + serviceName ? "test${toString num}", + rawUnit ? null, + }: + { + systemd.packages = lib.optional (rawUnit != null) ( + pkgs.writeTextFile { + name = serviceName; + destination = "/etc/systemd/system/${serviceName}.service"; + text = rawUnit; + } + ); - systemd.services.${serviceName} = { - inherit description; - requiredBy = [ "multi-user.target" ]; - confinement = (config.confinement or {}) // { enable = true; }; - serviceConfig = (config.serviceConfig or {}) // { - ExecStart = mkTest serviceName testScript; - Type = "oneshot"; + systemd.services.${serviceName} = + { + inherit description; + requiredBy = [ "multi-user.target" ]; + confinement = (config.confinement or { }) // { + enable = true; + }; + serviceConfig = (config.serviceConfig or { }) // { + ExecStart = mkTest serviceName testScript; + Type = "oneshot"; + }; + } + // removeAttrs config [ + "confinement" + "serviceConfig" + ]; }; - } // removeAttrs config [ "confinement" "serviceConfig" ]; - }; - parametrisedTests = lib.concatMap ({ user, privateTmp }: let - withTmp = if privateTmp then "with PrivateTmp" else "without PrivateTmp"; + parametrisedTests = + lib.concatMap + ( + { user, privateTmp }: + let + withTmp = if privateTmp then "with PrivateTmp" else "without PrivateTmp"; - serviceConfig = if user == "static-user" then { - User = "chroot-testuser"; - Group = "chroot-testgroup"; - } else if user == "dynamic-user" then { - DynamicUser = true; - } else {}; + serviceConfig = + if user == "static-user" then + { + User = "chroot-testuser"; + Group = "chroot-testgroup"; + } + else if user == "dynamic-user" then + { + DynamicUser = true; + } + else + { }; - in [ - { description = "${user}, chroot-only confinement ${withTmp}"; - config = { - confinement.mode = "chroot-only"; - # Only set if privateTmp is true to ensure that the default is false. - serviceConfig = serviceConfig // lib.optionalAttrs privateTmp { - PrivateTmp = true; - }; - }; - testScript = if user == "root" then '' - assert os.getuid() == 0 - assert os.getgid() == 0 + in + [ + { + description = "${user}, chroot-only confinement ${withTmp}"; + config = { + confinement.mode = "chroot-only"; + # Only set if privateTmp is true to ensure that the default is false. + serviceConfig = + serviceConfig + // lib.optionalAttrs privateTmp { + PrivateTmp = true; + }; + }; + testScript = + if user == "root" then + '' + assert os.getuid() == 0 + assert os.getgid() == 0 - assert_permissions({ - 'bin': Accessibility.READABLE, - 'nix': Accessibility.READABLE, - 'run': Accessibility.READABLE, - ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} - ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} - ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} - }) - '' else '' - assert os.getuid() != 0 - assert os.getgid() != 0 + assert_permissions({ + 'bin': Accessibility.READABLE, + 'nix': Accessibility.READABLE, + 'run': Accessibility.READABLE, + ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} + ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} + ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} + }) + '' + else + '' + assert os.getuid() != 0 + assert os.getgid() != 0 - assert_permissions({ - 'bin': Accessibility.READABLE, - 'nix': Accessibility.READABLE, - 'run': Accessibility.READABLE, - ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} - ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} - ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} - }) - ''; - } - { description = "${user}, full APIVFS confinement ${withTmp}"; - config = { - # Only set if privateTmp is false to ensure that the default is true. - serviceConfig = serviceConfig // lib.optionalAttrs (!privateTmp) { - PrivateTmp = false; - }; - }; - testScript = if user == "root" then '' - assert os.getuid() == 0 - assert os.getgid() == 0 + assert_permissions({ + 'bin': Accessibility.READABLE, + 'nix': Accessibility.READABLE, + 'run': Accessibility.READABLE, + ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} + ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} + ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} + }) + ''; + } + { + description = "${user}, full APIVFS confinement ${withTmp}"; + config = { + # Only set if privateTmp is false to ensure that the default is true. + serviceConfig = + serviceConfig + // lib.optionalAttrs (!privateTmp) { + PrivateTmp = false; + }; + }; + testScript = + if user == "root" then + '' + assert os.getuid() == 0 + assert os.getgid() == 0 - assert_permissions({ - 'bin': Accessibility.READABLE, - 'nix': Accessibility.READABLE, - ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} - 'run': Accessibility.WRITABLE, + assert_permissions({ + 'bin': Accessibility.READABLE, + 'nix': Accessibility.READABLE, + ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} + 'run': Accessibility.WRITABLE, - 'proc': Accessibility.SPECIAL, - 'sys': Accessibility.SPECIAL, - 'dev': Accessibility.WRITABLE, + 'proc': Accessibility.SPECIAL, + 'sys': Accessibility.SPECIAL, + 'dev': Accessibility.WRITABLE, - ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} - ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} - }) - '' else '' - assert os.getuid() != 0 - assert os.getgid() != 0 + ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} + ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} + }) + '' + else + '' + assert os.getuid() != 0 + assert os.getgid() != 0 - assert_permissions({ - 'bin': Accessibility.READABLE, - 'nix': Accessibility.READABLE, - ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} - 'run': Accessibility.STICKY, + assert_permissions({ + 'bin': Accessibility.READABLE, + 'nix': Accessibility.READABLE, + ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"} + 'run': Accessibility.STICKY, - 'proc': Accessibility.SPECIAL, - 'sys': Accessibility.SPECIAL, - 'dev': Accessibility.SPECIAL, - 'dev/shm': Accessibility.STICKY, - 'dev/mqueue': Accessibility.STICKY, + 'proc': Accessibility.SPECIAL, + 'sys': Accessibility.SPECIAL, + 'dev': Accessibility.SPECIAL, + 'dev/shm': Accessibility.STICKY, + 'dev/mqueue': Accessibility.STICKY, - ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} - ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} - }) - ''; - } - ]) (lib.cartesianProduct { - user = [ "root" "dynamic-user" "static-user" ]; - privateTmp = [ true false ]; - }); + ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"} + ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"} + }) + ''; + } + ] + ) + ( + lib.cartesianProduct { + user = [ + "root" + "dynamic-user" + "static-user" + ]; + privateTmp = [ + true + false + ]; + } + ); - in { - imports = lib.imap1 mkTestStep (parametrisedTests ++ [ - { description = "existence of bind-mounted /etc"; - config.serviceConfig.BindReadOnlyPaths = [ "/etc" ]; - testScript = '' - assert Path('/etc/passwd').read_text() - ''; - } - (let - symlink = pkgs.runCommand "symlink" { - target = pkgs.writeText "symlink-target" "got me"; - } "ln -s \"$target\" \"$out\""; - in { - description = "check if symlinks are properly bind-mounted"; - config.confinement.packages = lib.singleton symlink; - testScript = '' - assert Path('${symlink}').read_text() == 'got me' - ''; - }) - { description = "check if StateDirectory works"; - config.serviceConfig.User = "chroot-testuser"; - config.serviceConfig.Group = "chroot-testgroup"; - config.serviceConfig.StateDirectory = "testme"; + in + { + imports = lib.imap1 mkTestStep ( + parametrisedTests + ++ [ + { + description = "existence of bind-mounted /etc"; + config.serviceConfig.BindReadOnlyPaths = [ "/etc" ]; + testScript = '' + assert Path('/etc/passwd').read_text() + ''; + } + ( + let + symlink = pkgs.runCommand "symlink" { + target = pkgs.writeText "symlink-target" "got me"; + } "ln -s \"$target\" \"$out\""; + in + { + description = "check if symlinks are properly bind-mounted"; + config.confinement.packages = lib.singleton symlink; + testScript = '' + assert Path('${symlink}').read_text() == 'got me' + ''; + } + ) + { + description = "check if StateDirectory works"; + config.serviceConfig.User = "chroot-testuser"; + config.serviceConfig.Group = "chroot-testgroup"; + config.serviceConfig.StateDirectory = "testme"; - # We restart on purpose here since we want to check whether the state - # directory actually persists. - config.serviceConfig.Restart = "on-failure"; - config.serviceConfig.RestartMode = "direct"; + # We restart on purpose here since we want to check whether the state + # directory actually persists. + config.serviceConfig.Restart = "on-failure"; + config.serviceConfig.RestartMode = "direct"; - testScript = '' - assert not Path('/tmp/canary').exists() - Path('/tmp/canary').touch() + testScript = '' + assert not Path('/tmp/canary').exists() + Path('/tmp/canary').touch() - if (foo := Path('/var/lib/testme/foo')).exists(): - assert Path('/var/lib/testme/foo').read_text() == 'works' - else: - Path('/var/lib/testme/foo').write_text('works') - print('<4>Exiting with failure to check persistence on restart.') - raise SystemExit(1) - ''; - } - { description = "check if /bin/sh works"; - testScript = '' - assert Path('/bin/sh').exists() + if (foo := Path('/var/lib/testme/foo')).exists(): + assert Path('/var/lib/testme/foo').read_text() == 'works' + else: + Path('/var/lib/testme/foo').write_text('works') + print('<4>Exiting with failure to check persistence on restart.') + raise SystemExit(1) + ''; + } + { + description = "check if /bin/sh works"; + testScript = '' + assert Path('/bin/sh').exists() - result = run( - ['/bin/sh', '-c', 'echo -n bar'], - capture_output=True, - check=True, - ) - assert result.stdout == b'bar' - ''; - } - { description = "check if suppressing /bin/sh works"; - config.confinement.binSh = null; - testScript = '' - assert not Path('/bin/sh').exists() - with pytest.raises(FileNotFoundError): - run(['/bin/sh', '-c', 'echo foo']) - ''; - } - { description = "check if we can set /bin/sh to something different"; - config.confinement.binSh = "${pkgs.hello}/bin/hello"; - testScript = '' - assert Path('/bin/sh').exists() - result = run( - ['/bin/sh', '-g', 'foo'], - capture_output=True, - check=True, - ) - assert result.stdout == b'foo\n' - ''; - } - { description = "check if only Exec* dependencies are included"; - config.environment.FOOBAR = pkgs.writeText "foobar" "eek"; - testScript = '' - with pytest.raises(FileNotFoundError): - Path(os.environ['FOOBAR']).read_text() - ''; - } - { description = "check if fullUnit includes all dependencies"; - config.environment.FOOBAR = pkgs.writeText "foobar" "eek"; - config.confinement.fullUnit = true; - testScript = '' - assert Path(os.environ['FOOBAR']).read_text() == 'eek' - ''; - } - { description = "check if shipped unit file still works"; - config.confinement.mode = "chroot-only"; - rawUnit = '' - [Service] - SystemCallFilter=~kill - SystemCallErrorNumber=ELOOP - ''; - testScript = '' - with pytest.raises(OSError) as excinfo: - os.kill(os.getpid(), signal.SIGKILL) - assert excinfo.value.errno == errno.ELOOP - ''; - } - ]); + result = run( + ['/bin/sh', '-c', 'echo -n bar'], + capture_output=True, + check=True, + ) + assert result.stdout == b'bar' + ''; + } + { + description = "check if suppressing /bin/sh works"; + config.confinement.binSh = null; + testScript = '' + assert not Path('/bin/sh').exists() + with pytest.raises(FileNotFoundError): + run(['/bin/sh', '-c', 'echo foo']) + ''; + } + { + description = "check if we can set /bin/sh to something different"; + config.confinement.binSh = "${pkgs.hello}/bin/hello"; + testScript = '' + assert Path('/bin/sh').exists() + result = run( + ['/bin/sh', '-g', 'foo'], + capture_output=True, + check=True, + ) + assert result.stdout == b'foo\n' + ''; + } + { + description = "check if only Exec* dependencies are included"; + config.environment.FOOBAR = pkgs.writeText "foobar" "eek"; + testScript = '' + with pytest.raises(FileNotFoundError): + Path(os.environ['FOOBAR']).read_text() + ''; + } + { + description = "check if fullUnit includes all dependencies"; + config.environment.FOOBAR = pkgs.writeText "foobar" "eek"; + config.confinement.fullUnit = true; + testScript = '' + assert Path(os.environ['FOOBAR']).read_text() == 'eek' + ''; + } + { + description = "check if shipped unit file still works"; + config.confinement.mode = "chroot-only"; + rawUnit = '' + [Service] + SystemCallFilter=~kill + SystemCallErrorNumber=ELOOP + ''; + testScript = '' + with pytest.raises(OSError) as excinfo: + os.kill(os.getpid(), signal.SIGKILL) + assert excinfo.value.errno == errno.ELOOP + ''; + } + ] + ); - config.users.groups.chroot-testgroup = {}; - config.users.users.chroot-testuser = { - isSystemUser = true; - description = "Chroot Test User"; - group = "chroot-testgroup"; + config.users.groups.chroot-testgroup = { }; + config.users.users.chroot-testuser = { + isSystemUser = true; + description = "Chroot Test User"; + group = "chroot-testgroup"; + }; }; - }; testScript = '' machine.wait_for_unit("multi-user.target") diff --git a/nixos/tests/systemd-coredump.nix b/nixos/tests/systemd-coredump.nix index 62137820878bd..06888682e138c 100644 --- a/nixos/tests/systemd-coredump.nix +++ b/nixos/tests/systemd-coredump.nix @@ -1,44 +1,48 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let + let - crasher = pkgs.writeCBin "crasher" "int main;"; + crasher = pkgs.writeCBin "crasher" "int main;"; - commonConfig = { - systemd.services.crasher.serviceConfig = { - ExecStart = "${crasher}/bin/crasher"; - StateDirectory = "crasher"; - WorkingDirectory = "%S/crasher"; - Restart = "no"; + commonConfig = { + systemd.services.crasher.serviceConfig = { + ExecStart = "${crasher}/bin/crasher"; + StateDirectory = "crasher"; + WorkingDirectory = "%S/crasher"; + Restart = "no"; + }; }; - }; -in + in -{ - name = "systemd-coredump"; - meta = with pkgs.lib.maintainers; { - maintainers = [ squalus ]; - }; - - nodes.machine1 = { pkgs, lib, ... }: commonConfig; - nodes.machine2 = { pkgs, lib, ... }: lib.recursiveUpdate commonConfig { - systemd.coredump.enable = false; - systemd.package = pkgs.systemd.override { - withCoredump = false; + { + name = "systemd-coredump"; + meta = with pkgs.lib.maintainers; { + maintainers = [ squalus ]; }; - }; - - testScript = '' - with subtest("systemd-coredump enabled"): - machine1.wait_for_unit("multi-user.target") - machine1.wait_for_unit("systemd-coredump.socket") - machine1.systemctl("start crasher"); - machine1.wait_until_succeeds("coredumpctl list | grep crasher", timeout=10) - machine1.fail("stat /var/lib/crasher/core") - - with subtest("systemd-coredump disabled"): - machine2.systemctl("start crasher"); - machine2.wait_until_succeeds("stat /var/lib/crasher/core", timeout=10) - ''; -}) + + nodes.machine1 = { pkgs, lib, ... }: commonConfig; + nodes.machine2 = + { pkgs, lib, ... }: + lib.recursiveUpdate commonConfig { + systemd.coredump.enable = false; + systemd.package = pkgs.systemd.override { + withCoredump = false; + }; + }; + + testScript = '' + with subtest("systemd-coredump enabled"): + machine1.wait_for_unit("multi-user.target") + machine1.wait_for_unit("systemd-coredump.socket") + machine1.systemctl("start crasher"); + machine1.wait_until_succeeds("coredumpctl list | grep crasher", timeout=10) + machine1.fail("stat /var/lib/crasher/core") + + with subtest("systemd-coredump disabled"): + machine2.systemctl("start crasher"); + machine2.wait_until_succeeds("stat /var/lib/crasher/core", timeout=10) + ''; + } +) diff --git a/nixos/tests/systemd-credentials-tpm2.nix b/nixos/tests/systemd-credentials-tpm2.nix index bf74183122368..085d05d4b9264 100644 --- a/nixos/tests/systemd-credentials-tpm2.nix +++ b/nixos/tests/systemd-credentials-tpm2.nix @@ -1,69 +1,73 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "systemd-credentials-tpm2"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-credentials-tpm2"; - meta = { - maintainers = with pkgs.lib.maintainers; [ tmarkus ]; - }; + meta = { + maintainers = with pkgs.lib.maintainers; [ tmarkus ]; + }; - nodes.machine = { pkgs, ... }: { - virtualisation.tpm.enable = true; - environment.systemPackages = with pkgs; [ diffutils ]; - }; + nodes.machine = + { pkgs, ... }: + { + virtualisation.tpm.enable = true; + environment.systemPackages = with pkgs; [ diffutils ]; + }; - testScript = '' - CRED_NAME = "testkey" - CRED_RAW_FILE = f"/root/{CRED_NAME}" - CRED_FILE = f"/root/{CRED_NAME}.cred" + testScript = '' + CRED_NAME = "testkey" + CRED_RAW_FILE = f"/root/{CRED_NAME}" + CRED_FILE = f"/root/{CRED_NAME}.cred" - def systemd_run(machine, cmd): - machine.log(f"Executing command (via systemd-run): \"{cmd}\"") + def systemd_run(machine, cmd): + machine.log(f"Executing command (via systemd-run): \"{cmd}\"") - (status, out) = machine.execute( " ".join([ - "systemd-run", - "--service-type=exec", - "--quiet", - "--wait", - "-E PATH=\"$PATH\"", - "-p StandardOutput=journal", - "-p StandardError=journal", - f"-p LoadCredentialEncrypted={CRED_NAME}:{CRED_FILE}", - f"$SHELL -c '{cmd}'" - ]) ) + (status, out) = machine.execute( " ".join([ + "systemd-run", + "--service-type=exec", + "--quiet", + "--wait", + "-E PATH=\"$PATH\"", + "-p StandardOutput=journal", + "-p StandardError=journal", + f"-p LoadCredentialEncrypted={CRED_NAME}:{CRED_FILE}", + f"$SHELL -c '{cmd}'" + ]) ) - if status != 0: - raise Exception(f"systemd_run failed (status {status})") + if status != 0: + raise Exception(f"systemd_run failed (status {status})") - machine.log("systemd-run finished successfully") + machine.log("systemd-run finished successfully") - machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("multi-user.target") - with subtest("Check whether TPM device exists"): - machine.succeed("test -e /dev/tpm0") - machine.succeed("test -e /dev/tpmrm0") + with subtest("Check whether TPM device exists"): + machine.succeed("test -e /dev/tpm0") + machine.succeed("test -e /dev/tpmrm0") - with subtest("Check whether systemd-creds detects TPM2 correctly"): - cmd = "systemd-creds has-tpm2" - machine.log(f"Running \"{cmd}\"") - (status, _) = machine.execute(cmd) + with subtest("Check whether systemd-creds detects TPM2 correctly"): + cmd = "systemd-creds has-tpm2" + machine.log(f"Running \"{cmd}\"") + (status, _) = machine.execute(cmd) - # Check exit code equals 0 or 1 (1 means firmware support is missing, which is OK here) - if status != 0 and status != 1: - raise Exception("systemd-creds failed to detect TPM2") + # Check exit code equals 0 or 1 (1 means firmware support is missing, which is OK here) + if status != 0 and status != 1: + raise Exception("systemd-creds failed to detect TPM2") - with subtest("Encrypt credential using systemd-creds"): - machine.succeed(f"dd if=/dev/urandom of={CRED_RAW_FILE} bs=1k count=16") - machine.succeed(f"systemd-creds --with-key=host+tpm2 encrypt --name=testkey {CRED_RAW_FILE} {CRED_FILE}") + with subtest("Encrypt credential using systemd-creds"): + machine.succeed(f"dd if=/dev/urandom of={CRED_RAW_FILE} bs=1k count=16") + machine.succeed(f"systemd-creds --with-key=host+tpm2 encrypt --name=testkey {CRED_RAW_FILE} {CRED_FILE}") - with subtest("Write provided credential and check for equality"): - CRED_OUT_FILE = f"/root/{CRED_NAME}.out" - systemd_run(machine, f"systemd-creds cat testkey > {CRED_OUT_FILE}") - machine.succeed(f"cmp --silent -- {CRED_RAW_FILE} {CRED_OUT_FILE}") + with subtest("Write provided credential and check for equality"): + CRED_OUT_FILE = f"/root/{CRED_NAME}.out" + systemd_run(machine, f"systemd-creds cat testkey > {CRED_OUT_FILE}") + machine.succeed(f"cmp --silent -- {CRED_RAW_FILE} {CRED_OUT_FILE}") - with subtest("Check whether systemd service can see credential in systemd-creds list"): - systemd_run(machine, f"systemd-creds list | grep {CRED_NAME}") + with subtest("Check whether systemd service can see credential in systemd-creds list"): + systemd_run(machine, f"systemd-creds list | grep {CRED_NAME}") - with subtest("Check whether systemd service can access credential in $CREDENTIALS_DIRECTORY"): - systemd_run(machine, f"cmp --silent -- $CREDENTIALS_DIRECTORY/{CRED_NAME} {CRED_RAW_FILE}") - ''; -}) + with subtest("Check whether systemd service can access credential in $CREDENTIALS_DIRECTORY"): + systemd_run(machine, f"cmp --silent -- $CREDENTIALS_DIRECTORY/{CRED_NAME} {CRED_RAW_FILE}") + ''; + } +) diff --git a/nixos/tests/systemd-cryptenroll.nix b/nixos/tests/systemd-cryptenroll.nix index 034aae1d5e955..c8773888c086b 100644 --- a/nixos/tests/systemd-cryptenroll.nix +++ b/nixos/tests/systemd-cryptenroll.nix @@ -1,41 +1,45 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "systemd-cryptenroll"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ymatsiuk ]; - }; - - nodes.machine = { pkgs, lib, ... }: { - environment.systemPackages = [ pkgs.cryptsetup ]; - virtualisation = { - emptyDiskImages = [ 512 ]; - tpm.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "systemd-cryptenroll"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ymatsiuk ]; }; - }; - testScript = '' - machine.start() + nodes.machine = + { pkgs, lib, ... }: + { + environment.systemPackages = [ pkgs.cryptsetup ]; + virtualisation = { + emptyDiskImages = [ 512 ]; + tpm.enable = true; + }; + }; - # Verify the TPM device is available and accessible by systemd-cryptenroll - machine.succeed("test -e /dev/tpm0") - machine.succeed("test -e /dev/tpmrm0") - machine.succeed("systemd-cryptenroll --tpm2-device=list") + testScript = '' + machine.start() - # Create LUKS partition - machine.succeed("echo -n lukspass | cryptsetup luksFormat -q /dev/vdb -") - # Enroll new LUKS key and bind it to Secure Boot state - # For more details on PASSWORD variable, check the following issue: - # https://github.com/systemd/systemd/issues/20955 - machine.succeed("PASSWORD=lukspass systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/vdb") - # Add LUKS partition to /etc/crypttab to test auto unlock - machine.succeed("echo 'luks /dev/vdb - tpm2-device=auto' >> /etc/crypttab") + # Verify the TPM device is available and accessible by systemd-cryptenroll + machine.succeed("test -e /dev/tpm0") + machine.succeed("test -e /dev/tpmrm0") + machine.succeed("systemd-cryptenroll --tpm2-device=list") - machine.shutdown() - machine.start() + # Create LUKS partition + machine.succeed("echo -n lukspass | cryptsetup luksFormat -q /dev/vdb -") + # Enroll new LUKS key and bind it to Secure Boot state + # For more details on PASSWORD variable, check the following issue: + # https://github.com/systemd/systemd/issues/20955 + machine.succeed("PASSWORD=lukspass systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/vdb") + # Add LUKS partition to /etc/crypttab to test auto unlock + machine.succeed("echo 'luks /dev/vdb - tpm2-device=auto' >> /etc/crypttab") - # Test LUKS partition automatic unlock on boot - machine.wait_for_unit("systemd-cryptsetup@luks.service") - # Wipe TPM2 slot - machine.succeed("systemd-cryptenroll --wipe-slot=tpm2 /dev/vdb") - ''; -}) + machine.shutdown() + machine.start() + # Test LUKS partition automatic unlock on boot + machine.wait_for_unit("systemd-cryptsetup@luks.service") + # Wipe TPM2 slot + machine.succeed("systemd-cryptenroll --wipe-slot=tpm2 /dev/vdb") + ''; + } +) diff --git a/nixos/tests/systemd-escaping.nix b/nixos/tests/systemd-escaping.nix index 29d2ed1aa3523..1eeb7dbe6090d 100644 --- a/nixos/tests/systemd-escaping.nix +++ b/nixos/tests/systemd-escaping.nix @@ -1,45 +1,63 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - echoAll = pkgs.writeScript "echo-all" '' - #! ${pkgs.runtimeShell} - for s in "$@"; do - printf '%s\n' "$s" - done - ''; - # deliberately using a local empty file instead of pkgs.emptyFile to have - # a non-store path in the test - args = [ "a%Nything" "lang=\${LANG}" ";" "/bin/sh -c date" ./empty-file 4.2 23 ]; -in -{ - name = "systemd-escaping"; + let + echoAll = pkgs.writeScript "echo-all" '' + #! ${pkgs.runtimeShell} + for s in "$@"; do + printf '%s\n' "$s" + done + ''; + # deliberately using a local empty file instead of pkgs.emptyFile to have + # a non-store path in the test + args = [ + "a%Nything" + "lang=\${LANG}" + ";" + "/bin/sh -c date" + ./empty-file + 4.2 + 23 + ]; + in + { + name = "systemd-escaping"; - nodes.machine = { pkgs, lib, utils, ... }: { - systemd.services.echo = - assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ [] ])).success; - assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ {} ])).success; - assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ null ])).success; - assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ false ])).success; - assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ (_:_) ])).success; - { description = "Echo to the journal"; - serviceConfig.Type = "oneshot"; - serviceConfig.ExecStart = '' - ${echoAll} ${utils.escapeSystemdExecArgs args} - ''; + nodes.machine = + { + pkgs, + lib, + utils, + ... + }: + { + systemd.services.echo = + assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ [ ] ])).success; + assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ { } ])).success; + assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ null ])).success; + assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ false ])).success; + assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ (_: _) ])).success; + { + description = "Echo to the journal"; + serviceConfig.Type = "oneshot"; + serviceConfig.ExecStart = '' + ${echoAll} ${utils.escapeSystemdExecArgs args} + ''; + }; }; - }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.succeed("systemctl start echo.service") - # skip the first 'Starting <service> ...' line - logs = machine.succeed("journalctl -u echo.service -o cat").splitlines()[1:] - assert "a%Nything" == logs[0] - assert "lang=''${LANG}" == logs[1] - assert ";" == logs[2] - assert "/bin/sh -c date" == logs[3] - assert "/nix/store/ij3gw72f4n5z4dz6nnzl1731p9kmjbwr-empty-file" == logs[4] - assert "4.2" in logs[5] # toString produces extra fractional digits! - assert "23" == logs[6] - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.succeed("systemctl start echo.service") + # skip the first 'Starting <service> ...' line + logs = machine.succeed("journalctl -u echo.service -o cat").splitlines()[1:] + assert "a%Nything" == logs[0] + assert "lang=''${LANG}" == logs[1] + assert ";" == logs[2] + assert "/bin/sh -c date" == logs[3] + assert "/nix/store/ij3gw72f4n5z4dz6nnzl1731p9kmjbwr-empty-file" == logs[4] + assert "4.2" in logs[5] # toString produces extra fractional digits! + assert "23" == logs[6] + ''; + } +) diff --git a/nixos/tests/systemd-homed.nix b/nixos/tests/systemd-homed.nix index 5e723f6769452..b31f66cdd1c80 100644 --- a/nixos/tests/systemd-homed.nix +++ b/nixos/tests/systemd-homed.nix @@ -1,99 +1,103 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - password = "foobarfoo"; - newPass = "barfoobar"; -in -{ - name = "systemd-homed"; - nodes.machine = { config, pkgs, ... }: { - services.homed.enable = true; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + password = "foobarfoo"; + newPass = "barfoobar"; + in + { + name = "systemd-homed"; + nodes.machine = + { config, pkgs, ... }: + { + services.homed.enable = true; - users.users.test-normal-user = { - extraGroups = [ "wheel" ]; - isNormalUser = true; - initialPassword = password; - }; - }; - testScript = '' - def switchTTY(number): - machine.send_key(f"alt-f{number}") - machine.wait_until_succeeds(f"[ $(fgconsole) = {number} ]") - machine.wait_for_unit(f"getty@tty{number}.service") - machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{number}'") + users.users.test-normal-user = { + extraGroups = [ "wheel" ]; + isNormalUser = true; + initialPassword = password; + }; + }; + testScript = '' + def switchTTY(number): + machine.send_key(f"alt-f{number}") + machine.wait_until_succeeds(f"[ $(fgconsole) = {number} ]") + machine.wait_for_unit(f"getty@tty{number}.service") + machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{number}'") - machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("multi-user.target") - # Smoke test to make sure the pam changes didn't break regular users. - machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - with subtest("login as regular user"): - switchTTY(2) - machine.wait_until_tty_matches("2", "login: ") - machine.send_chars("test-normal-user\n") - machine.wait_until_tty_matches("2", "login: test-normal-user") - machine.wait_until_tty_matches("2", "Password: ") - machine.send_chars("${password}\n") - machine.wait_until_succeeds("pgrep -u test-normal-user bash") - machine.send_chars("whoami > /tmp/1\n") - machine.wait_for_file("/tmp/1") - assert "test-normal-user" in machine.succeed("cat /tmp/1") - - with subtest("create homed encrypted user"): - # TODO: Figure out how to pass password manually. - # - # This environment variable is used for homed internal testing - # and is not documented. - machine.succeed("NEWPASSWORD=${password} homectl create --shell=/run/current-system/sw/bin/bash --storage=luks -G wheel test-homed-user") - - with subtest("login as homed user"): - switchTTY(3) - machine.wait_until_tty_matches("3", "login: ") - machine.send_chars("test-homed-user\n") - machine.wait_until_tty_matches("3", "login: test-homed-user") - machine.wait_until_tty_matches("3", "Password: ") - machine.send_chars("${password}\n") - machine.wait_until_succeeds("pgrep -t tty3 -u test-homed-user bash") - machine.send_chars("whoami > /tmp/2\n") - machine.wait_for_file("/tmp/2") - assert "test-homed-user" in machine.succeed("cat /tmp/2") + # Smoke test to make sure the pam changes didn't break regular users. + machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + with subtest("login as regular user"): + switchTTY(2) + machine.wait_until_tty_matches("2", "login: ") + machine.send_chars("test-normal-user\n") + machine.wait_until_tty_matches("2", "login: test-normal-user") + machine.wait_until_tty_matches("2", "Password: ") + machine.send_chars("${password}\n") + machine.wait_until_succeeds("pgrep -u test-normal-user bash") + machine.send_chars("whoami > /tmp/1\n") + machine.wait_for_file("/tmp/1") + assert "test-normal-user" in machine.succeed("cat /tmp/1") - with subtest("change homed user password"): - switchTTY(4) - machine.wait_until_tty_matches("4", "login: ") - machine.send_chars("test-homed-user\n") - machine.wait_until_tty_matches("4", "login: test-homed-user") - machine.wait_until_tty_matches("4", "Password: ") - machine.send_chars("${password}\n") - machine.wait_until_succeeds("pgrep -t tty4 -u test-homed-user bash") - machine.send_chars("passwd\n") - # homed does it in a weird order, it asks for new passes, then it asks - # for the old one. - machine.sleep(2) - machine.send_chars("${newPass}\n") - machine.sleep(2) - machine.send_chars("${newPass}\n") - machine.sleep(4) - machine.send_chars("${password}\n") - machine.wait_until_fails("pgrep -t tty4 passwd") + with subtest("create homed encrypted user"): + # TODO: Figure out how to pass password manually. + # + # This environment variable is used for homed internal testing + # and is not documented. + machine.succeed("NEWPASSWORD=${password} homectl create --shell=/run/current-system/sw/bin/bash --storage=luks -G wheel test-homed-user") - @polling_condition - def not_logged_in_tty5(): - machine.fail("pgrep -t tty5 bash") + with subtest("login as homed user"): + switchTTY(3) + machine.wait_until_tty_matches("3", "login: ") + machine.send_chars("test-homed-user\n") + machine.wait_until_tty_matches("3", "login: test-homed-user") + machine.wait_until_tty_matches("3", "Password: ") + machine.send_chars("${password}\n") + machine.wait_until_succeeds("pgrep -t tty3 -u test-homed-user bash") + machine.send_chars("whoami > /tmp/2\n") + machine.wait_for_file("/tmp/2") + assert "test-homed-user" in machine.succeed("cat /tmp/2") - switchTTY(5) - with not_logged_in_tty5: # type: ignore[union-attr] - machine.wait_until_tty_matches("5", "login: ") + with subtest("change homed user password"): + switchTTY(4) + machine.wait_until_tty_matches("4", "login: ") machine.send_chars("test-homed-user\n") - machine.wait_until_tty_matches("5", "login: test-homed-user") - machine.wait_until_tty_matches("5", "Password: ") + machine.wait_until_tty_matches("4", "login: test-homed-user") + machine.wait_until_tty_matches("4", "Password: ") + machine.send_chars("${password}\n") + machine.wait_until_succeeds("pgrep -t tty4 -u test-homed-user bash") + machine.send_chars("passwd\n") + # homed does it in a weird order, it asks for new passes, then it asks + # for the old one. + machine.sleep(2) + machine.send_chars("${newPass}\n") + machine.sleep(2) + machine.send_chars("${newPass}\n") + machine.sleep(4) machine.send_chars("${password}\n") - machine.wait_until_tty_matches("5", "Password incorrect or not sufficient for authentication of user test-homed-user.") - machine.wait_until_tty_matches("5", "Sorry, try again: ") - machine.send_chars("${newPass}\n") - machine.send_chars("whoami > /tmp/4\n") - machine.wait_for_file("/tmp/4") - assert "test-homed-user" in machine.succeed("cat /tmp/4") + machine.wait_until_fails("pgrep -t tty4 passwd") + + @polling_condition + def not_logged_in_tty5(): + machine.fail("pgrep -t tty5 bash") + + switchTTY(5) + with not_logged_in_tty5: # type: ignore[union-attr] + machine.wait_until_tty_matches("5", "login: ") + machine.send_chars("test-homed-user\n") + machine.wait_until_tty_matches("5", "login: test-homed-user") + machine.wait_until_tty_matches("5", "Password: ") + machine.send_chars("${password}\n") + machine.wait_until_tty_matches("5", "Password incorrect or not sufficient for authentication of user test-homed-user.") + machine.wait_until_tty_matches("5", "Sorry, try again: ") + machine.send_chars("${newPass}\n") + machine.send_chars("whoami > /tmp/4\n") + machine.wait_for_file("/tmp/4") + assert "test-homed-user" in machine.succeed("cat /tmp/4") - with subtest("homed user should be in wheel according to NSS"): - machine.succeed("userdbctl group wheel -s io.systemd.NameServiceSwitch | grep test-homed-user") - ''; -}) + with subtest("homed user should be in wheel according to NSS"): + machine.succeed("userdbctl group wheel -s io.systemd.NameServiceSwitch | grep test-homed-user") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-bridge.nix b/nixos/tests/systemd-initrd-bridge.nix index f48a46ff2b939..7ca3a6a93a006 100644 --- a/nixos/tests/systemd-initrd-bridge.nix +++ b/nixos/tests/systemd-initrd-bridge.nix @@ -1,63 +1,80 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "systemd-initrd-bridge"; - meta.maintainers = [ lib.maintainers.majiir ]; - - # Tests bridge interface configuration in systemd-initrd. - # - # The 'a' and 'b' nodes are connected to a 'bridge' node through different - # links. The 'bridge' node configures a bridge across them. It waits forever - # in initrd (stage 1) with networking enabled. 'a' and 'b' ping 'bridge' to - # test connectivity with the bridge interface. Then, 'a' pings 'b' to test - # the bridge itself. - - nodes = { - bridge = { config, lib, ... }: { - boot.initrd.systemd.enable = true; - boot.initrd.network.enable = true; - boot.initrd.systemd.services.boot-blocker = { - before = [ "initrd.target" ]; - wantedBy = [ "initrd.target" ]; - script = "sleep infinity"; - serviceConfig.Type = "oneshot"; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "systemd-initrd-bridge"; + meta.maintainers = [ lib.maintainers.majiir ]; - networking.primaryIPAddress = "192.168.1.${toString config.virtualisation.test.nodeNumber}"; + # Tests bridge interface configuration in systemd-initrd. + # + # The 'a' and 'b' nodes are connected to a 'bridge' node through different + # links. The 'bridge' node configures a bridge across them. It waits forever + # in initrd (stage 1) with networking enabled. 'a' and 'b' ping 'bridge' to + # test connectivity with the bridge interface. Then, 'a' pings 'b' to test + # the bridge itself. - virtualisation.vlans = [ 1 2 ]; - networking.bridges.br0.interfaces = [ "eth1" "eth2" ]; + nodes = { + bridge = + { config, lib, ... }: + { + boot.initrd.systemd.enable = true; + boot.initrd.network.enable = true; + boot.initrd.systemd.services.boot-blocker = { + before = [ "initrd.target" ]; + wantedBy = [ "initrd.target" ]; + script = "sleep infinity"; + serviceConfig.Type = "oneshot"; + }; - networking.interfaces = { - eth1.ipv4.addresses = lib.mkForce []; - eth2.ipv4.addresses = lib.mkForce []; - br0.ipv4.addresses = [{ - address = config.networking.primaryIPAddress; - prefixLength = 24; - }]; - }; - }; + networking.primaryIPAddress = "192.168.1.${toString config.virtualisation.test.nodeNumber}"; - a = { - virtualisation.vlans = [ 1 ]; - }; + virtualisation.vlans = [ + 1 + 2 + ]; + networking.bridges.br0.interfaces = [ + "eth1" + "eth2" + ]; + + networking.interfaces = { + eth1.ipv4.addresses = lib.mkForce [ ]; + eth2.ipv4.addresses = lib.mkForce [ ]; + br0.ipv4.addresses = [ + { + address = config.networking.primaryIPAddress; + prefixLength = 24; + } + ]; + }; + }; + + a = { + virtualisation.vlans = [ 1 ]; + }; - b = { config, ... }: { - virtualisation.vlans = [ 2 ]; - networking.primaryIPAddress = lib.mkForce "192.168.1.${toString config.virtualisation.test.nodeNumber}"; - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [{ - address = config.networking.primaryIPAddress; - prefixLength = 24; - }]; + b = + { config, ... }: + { + virtualisation.vlans = [ 2 ]; + networking.primaryIPAddress = lib.mkForce "192.168.1.${toString config.virtualisation.test.nodeNumber}"; + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = config.networking.primaryIPAddress; + prefixLength = 24; + } + ]; + }; }; - }; - testScript = '' - start_all() - a.wait_for_unit("network.target") - b.wait_for_unit("network.target") + testScript = '' + start_all() + a.wait_for_unit("network.target") + b.wait_for_unit("network.target") - a.succeed("ping -n -w 10 -c 1 bridge >&2") - b.succeed("ping -n -w 10 -c 1 bridge >&2") + a.succeed("ping -n -w 10 -c 1 bridge >&2") + b.succeed("ping -n -w 10 -c 1 bridge >&2") - a.succeed("ping -n -w 10 -c 1 b >&2") - ''; -}) + a.succeed("ping -n -w 10 -c 1 b >&2") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-btrfs-raid.nix b/nixos/tests/systemd-initrd-btrfs-raid.nix index 9196033789cb8..75f9879628fae 100644 --- a/nixos/tests/systemd-initrd-btrfs-raid.nix +++ b/nixos/tests/systemd-initrd-btrfs-raid.nix @@ -1,47 +1,55 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-btrfs-raid"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-btrfs-raid"; - nodes.machine = { pkgs, ... }: { - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 512 ]; - useBootLoader = true; - # Booting off the BTRFS RAID requires an available init script from the Nix store - mountHostNixStore = true; - useEFIBoot = true; - }; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + nodes.machine = + { pkgs, ... }: + { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ + 512 + 512 + ]; + useBootLoader = true; + # Booting off the BTRFS RAID requires an available init script from the Nix store + mountHostNixStore = true; + useEFIBoot = true; + }; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; - environment.systemPackages = with pkgs; [ btrfs-progs ]; - boot.initrd.systemd = { - enable = true; - emergencyAccess = true; - }; + environment.systemPackages = with pkgs; [ btrfs-progs ]; + boot.initrd.systemd = { + enable = true; + emergencyAccess = true; + }; - specialisation.boot-btrfs-raid.configuration = { - fileSystems = lib.mkVMOverride { - "/".fsType = lib.mkForce "btrfs"; + specialisation.boot-btrfs-raid.configuration = { + fileSystems = lib.mkVMOverride { + "/".fsType = lib.mkForce "btrfs"; + }; + virtualisation.rootDevice = "/dev/vdb"; + }; }; - virtualisation.rootDevice = "/dev/vdb"; - }; - }; - testScript = '' - # Create RAID - machine.succeed("mkfs.btrfs -d raid0 /dev/vdb /dev/vdc") - machine.succeed("mkdir -p /mnt && mount /dev/vdb /mnt && echo hello > /mnt/test && umount /mnt") + testScript = '' + # Create RAID + machine.succeed("mkfs.btrfs -d raid0 /dev/vdb /dev/vdc") + machine.succeed("mkdir -p /mnt && mount /dev/vdb /mnt && echo hello > /mnt/test && umount /mnt") - # Boot from the RAID - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-btrfs-raid.conf") - machine.succeed("sync") - machine.crash() - machine.wait_for_unit("multi-user.target") + # Boot from the RAID + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-btrfs-raid.conf") + machine.succeed("sync") + machine.crash() + machine.wait_for_unit("multi-user.target") - # Ensure we have successfully booted from the RAID - assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 - assert "/dev/vdb on / type btrfs" in machine.succeed("mount") - assert "hello" in machine.succeed("cat /test") - assert "Total devices 2" in machine.succeed("btrfs filesystem show") - ''; -}) + # Ensure we have successfully booted from the RAID + assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 + assert "/dev/vdb on / type btrfs" in machine.succeed("mount") + assert "hello" in machine.succeed("cat /test") + assert "Total devices 2" in machine.succeed("btrfs filesystem show") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-luks-fido2.nix b/nixos/tests/systemd-initrd-luks-fido2.nix index 4441ad061ee42..e681525c99f87 100644 --- a/nixos/tests/systemd-initrd-luks-fido2.nix +++ b/nixos/tests/systemd-initrd-luks-fido2.nix @@ -1,47 +1,55 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-luks-fido2"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-luks-fido2"; - nodes.machine = { pkgs, config, ... }: { - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 ]; - useBootLoader = true; - # Booting off the encrypted disk requires having a Nix store available for the init script - mountHostNixStore = true; - useEFIBoot = true; - qemu.options = [ "-device pci-ohci,id=usb-bus" "-device canokey,bus=usb-bus.0,file=/tmp/canokey-file" ]; - }; - boot.loader.systemd-boot.enable = true; + nodes.machine = + { pkgs, config, ... }: + { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ 512 ]; + useBootLoader = true; + # Booting off the encrypted disk requires having a Nix store available for the init script + mountHostNixStore = true; + useEFIBoot = true; + qemu.options = [ + "-device pci-ohci,id=usb-bus" + "-device canokey,bus=usb-bus.0,file=/tmp/canokey-file" + ]; + }; + boot.loader.systemd-boot.enable = true; - boot.initrd.systemd.enable = true; + boot.initrd.systemd.enable = true; - environment.systemPackages = with pkgs; [ cryptsetup ]; + environment.systemPackages = with pkgs; [ cryptsetup ]; - specialisation.boot-luks.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - cryptroot = { - device = "/dev/vdb"; - crypttabExtraOpts = [ "fido2-device=auto" ]; + specialisation.boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + cryptroot = { + device = "/dev/vdb"; + crypttabExtraOpts = [ "fido2-device=auto" ]; + }; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; + virtualisation.fileSystems."/".autoFormat = true; }; }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; - virtualisation.fileSystems."/".autoFormat = true; - }; - }; - testScript = '' - # Create encrypted volume - machine.wait_for_unit("multi-user.target") - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") - machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --fido2-device=auto /dev/vdb |& systemd-cat") + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") + machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --fido2-device=auto /dev/vdb |& systemd-cat") - # Boot from the encrypted disk - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") - machine.succeed("sync") - machine.crash() + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() - # Boot and decrypt the disk - machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - ''; -}) + # Boot and decrypt the disk + machine.wait_for_unit("multi-user.target") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-luks-keyfile.nix b/nixos/tests/systemd-initrd-luks-keyfile.nix index 617c003484b9d..22794c0dcd852 100644 --- a/nixos/tests/systemd-initrd-luks-keyfile.nix +++ b/nixos/tests/systemd-initrd-luks-keyfile.nix @@ -1,56 +1,62 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: let - - keyfile = pkgs.writeText "luks-keyfile" '' - MIGHAoGBAJ4rGTSo/ldyjQypd0kuS7k2OSsmQYzMH6TNj3nQ/vIUjDn7fqa3slt2 - gV6EK3TmTbGc4tzC1v4SWx2m+2Bjdtn4Fs4wiBwn1lbRdC6i5ZYCqasTWIntWn+6 - FllUkMD5oqjOR/YcboxG8Z3B5sJuvTP9llsF+gnuveWih9dpbBr7AgEC - ''; - -in { - name = "systemd-initrd-luks-keyfile"; - - nodes.machine = { pkgs, ... }: { - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 ]; - useBootLoader = true; - # Necessary to boot off the encrypted disk because it requires a init script coming from the Nix store - mountHostNixStore = true; - useEFIBoot = true; - }; - boot.loader.systemd-boot.enable = true; - - environment.systemPackages = with pkgs; [ cryptsetup ]; - boot.initrd.systemd = { - enable = true; - emergencyAccess = true; - }; - - specialisation.boot-luks.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - cryptroot = { - device = "/dev/vdb"; - keyFile = "/etc/cryptroot.key"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + + keyfile = pkgs.writeText "luks-keyfile" '' + MIGHAoGBAJ4rGTSo/ldyjQypd0kuS7k2OSsmQYzMH6TNj3nQ/vIUjDn7fqa3slt2 + gV6EK3TmTbGc4tzC1v4SWx2m+2Bjdtn4Fs4wiBwn1lbRdC6i5ZYCqasTWIntWn+6 + FllUkMD5oqjOR/YcboxG8Z3B5sJuvTP9llsF+gnuveWih9dpbBr7AgEC + ''; + + in + { + name = "systemd-initrd-luks-keyfile"; + + nodes.machine = + { pkgs, ... }: + { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ 512 ]; + useBootLoader = true; + # Necessary to boot off the encrypted disk because it requires a init script coming from the Nix store + mountHostNixStore = true; + useEFIBoot = true; + }; + boot.loader.systemd-boot.enable = true; + + environment.systemPackages = with pkgs; [ cryptsetup ]; + boot.initrd.systemd = { + enable = true; + emergencyAccess = true; + }; + + specialisation.boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + cryptroot = { + device = "/dev/vdb"; + keyFile = "/etc/cryptroot.key"; + }; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; + virtualisation.fileSystems."/".autoFormat = true; + boot.initrd.secrets."/etc/cryptroot.key" = keyfile; }; }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; - virtualisation.fileSystems."/".autoFormat = true; - boot.initrd.secrets."/etc/cryptroot.key" = keyfile; - }; - }; - - testScript = '' - # Create encrypted volume - machine.wait_for_unit("multi-user.target") - machine.succeed("cryptsetup luksFormat -q --iter-time=1 -d ${keyfile} /dev/vdb") - - # Boot from the encrypted disk - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") - machine.succeed("sync") - machine.crash() - - # Boot and decrypt the disk - machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - ''; -}) + + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("cryptsetup luksFormat -q --iter-time=1 -d ${keyfile} /dev/vdb") + + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() + + # Boot and decrypt the disk + machine.wait_for_unit("multi-user.target") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-luks-password.nix b/nixos/tests/systemd-initrd-luks-password.nix index 66b5022d87fdc..941926f981924 100644 --- a/nixos/tests/systemd-initrd-luks-password.nix +++ b/nixos/tests/systemd-initrd-luks-password.nix @@ -1,56 +1,64 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-luks-password"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-luks-password"; - nodes.machine = { pkgs, ... }: { - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 512 ]; - useBootLoader = true; - # Booting off the encrypted disk requires an available init script - mountHostNixStore = true; - useEFIBoot = true; - }; - boot.loader.systemd-boot.enable = true; + nodes.machine = + { pkgs, ... }: + { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ + 512 + 512 + ]; + useBootLoader = true; + # Booting off the encrypted disk requires an available init script + mountHostNixStore = true; + useEFIBoot = true; + }; + boot.loader.systemd-boot.enable = true; - environment.systemPackages = with pkgs; [ cryptsetup ]; - boot.initrd.systemd = { - enable = true; - emergencyAccess = true; - }; + environment.systemPackages = with pkgs; [ cryptsetup ]; + boot.initrd.systemd = { + enable = true; + emergencyAccess = true; + }; - specialisation.boot-luks.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - # We have two disks and only type one password - key reuse is in place - cryptroot.device = "/dev/vdb"; - cryptroot2.device = "/dev/vdc"; + specialisation.boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + # We have two disks and only type one password - key reuse is in place + cryptroot.device = "/dev/vdb"; + cryptroot2.device = "/dev/vdc"; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; + virtualisation.fileSystems."/".autoFormat = true; + # test mounting device unlocked in initrd after switching root + virtualisation.fileSystems."/cryptroot2".device = "/dev/mapper/cryptroot2"; + }; }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; - virtualisation.fileSystems."/".autoFormat = true; - # test mounting device unlocked in initrd after switching root - virtualisation.fileSystems."/cryptroot2".device = "/dev/mapper/cryptroot2"; - }; - }; - testScript = '' - # Create encrypted volume - machine.wait_for_unit("multi-user.target") - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") - machine.succeed("echo -n supersecret | cryptsetup luksOpen -q /dev/vdc cryptroot2") - machine.succeed("mkfs.ext4 /dev/mapper/cryptroot2") + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") + machine.succeed("echo -n supersecret | cryptsetup luksOpen -q /dev/vdc cryptroot2") + machine.succeed("mkfs.ext4 /dev/mapper/cryptroot2") - # Boot from the encrypted disk - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") - machine.succeed("sync") - machine.crash() + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() - # Boot and decrypt the disk - machine.start() - machine.wait_for_console_text("Please enter passphrase for disk cryptroot") - machine.send_console("supersecret\n") - machine.wait_for_unit("multi-user.target") + # Boot and decrypt the disk + machine.start() + machine.wait_for_console_text("Please enter passphrase for disk cryptroot") + machine.send_console("supersecret\n") + machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount"), "/dev/mapper/cryptroot do not appear in mountpoints list" - assert "/dev/mapper/cryptroot2 on /cryptroot2 type ext4" in machine.succeed("mount") - ''; -}) + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount"), "/dev/mapper/cryptroot do not appear in mountpoints list" + assert "/dev/mapper/cryptroot2 on /cryptroot2 type ext4" in machine.succeed("mount") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-luks-tpm2.nix b/nixos/tests/systemd-initrd-luks-tpm2.nix index e292acfd1c5f9..a6c52435ee034 100644 --- a/nixos/tests/systemd-initrd-luks-tpm2.nix +++ b/nixos/tests/systemd-initrd-luks-tpm2.nix @@ -1,50 +1,55 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-luks-tpm2"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-luks-tpm2"; - nodes.machine = { pkgs, ... }: { - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 ]; - useBootLoader = true; - # Booting off the TPM2-encrypted device requires an available init script - mountHostNixStore = true; - useEFIBoot = true; - tpm.enable = true; - }; - boot.loader.systemd-boot.enable = true; + nodes.machine = + { pkgs, ... }: + { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ 512 ]; + useBootLoader = true; + # Booting off the TPM2-encrypted device requires an available init script + mountHostNixStore = true; + useEFIBoot = true; + tpm.enable = true; + }; + boot.loader.systemd-boot.enable = true; - boot.initrd.availableKernelModules = [ "tpm_tis" ]; + boot.initrd.availableKernelModules = [ "tpm_tis" ]; - environment.systemPackages = with pkgs; [ cryptsetup ]; - boot.initrd.systemd = { - enable = true; - }; + environment.systemPackages = with pkgs; [ cryptsetup ]; + boot.initrd.systemd = { + enable = true; + }; - specialisation.boot-luks.configuration = { - boot.initrd.luks.devices = lib.mkVMOverride { - cryptroot = { - device = "/dev/vdb"; - crypttabExtraOpts = [ "tpm2-device=auto" ]; + specialisation.boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + cryptroot = { + device = "/dev/vdb"; + crypttabExtraOpts = [ "tpm2-device=auto" ]; + }; + }; + virtualisation.rootDevice = "/dev/mapper/cryptroot"; + virtualisation.fileSystems."/".autoFormat = true; }; }; - virtualisation.rootDevice = "/dev/mapper/cryptroot"; - virtualisation.fileSystems."/".autoFormat = true; - }; - }; - testScript = '' - # Create encrypted volume - machine.wait_for_unit("multi-user.target") - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") - machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --tpm2-pcrs= --tpm2-device=auto /dev/vdb |& systemd-cat") + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") + machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --tpm2-pcrs= --tpm2-device=auto /dev/vdb |& systemd-cat") - # Boot from the encrypted disk - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") - machine.succeed("sync") - machine.crash() + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() - # Boot and decrypt the disk - machine.wait_for_unit("multi-user.target") - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") - ''; -}) + # Boot and decrypt the disk + machine.wait_for_unit("multi-user.target") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-modprobe.nix b/nixos/tests/systemd-initrd-modprobe.nix index e563552a645fd..e5aee51ade7f8 100644 --- a/nixos/tests/systemd-initrd-modprobe.nix +++ b/nixos/tests/systemd-initrd-modprobe.nix @@ -1,24 +1,29 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-modprobe"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-modprobe"; - nodes.machine = { pkgs, ... }: { - testing.initrdBackdoor = true; - boot.initrd.systemd.enable = true; - boot.initrd.kernelModules = [ "tcp_hybla" ]; # Load module in initrd. - boot.extraModprobeConfig = '' - options tcp_hybla rtt0=42 - ''; - }; + nodes.machine = + { pkgs, ... }: + { + testing.initrdBackdoor = true; + boot.initrd.systemd.enable = true; + boot.initrd.kernelModules = [ "tcp_hybla" ]; # Load module in initrd. + boot.extraModprobeConfig = '' + options tcp_hybla rtt0=42 + ''; + }; - testScript = '' - machine.wait_for_unit("initrd.target") - rtt = machine.succeed("cat /sys/module/tcp_hybla/parameters/rtt0") - assert int(rtt) == 42, "Parameter should be respected for initrd kernel modules" + testScript = '' + machine.wait_for_unit("initrd.target") + rtt = machine.succeed("cat /sys/module/tcp_hybla/parameters/rtt0") + assert int(rtt) == 42, "Parameter should be respected for initrd kernel modules" - # Make sure it sticks in stage 2 - machine.switch_root() - machine.wait_for_unit("multi-user.target") - rtt = machine.succeed("cat /sys/module/tcp_hybla/parameters/rtt0") - assert int(rtt) == 42, "Parameter should be respected for initrd kernel modules" - ''; -}) + # Make sure it sticks in stage 2 + machine.switch_root() + machine.wait_for_unit("multi-user.target") + rtt = machine.succeed("cat /sys/module/tcp_hybla/parameters/rtt0") + assert int(rtt) == 42, "Parameter should be respected for initrd kernel modules" + ''; + } +) diff --git a/nixos/tests/systemd-initrd-networkd-ssh.nix b/nixos/tests/systemd-initrd-networkd-ssh.nix index d4c168f40e29d..9805689be4aac 100644 --- a/nixos/tests/systemd-initrd-networkd-ssh.nix +++ b/nixos/tests/systemd-initrd-networkd-ssh.nix @@ -1,60 +1,64 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "systemd-initrd-network-ssh"; - meta.maintainers = [ lib.maintainers.elvishjerricco ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "systemd-initrd-network-ssh"; + meta.maintainers = [ lib.maintainers.elvishjerricco ]; - nodes = { - server = { config, pkgs, ... }: { - testing.initrdBackdoor = true; - boot.initrd.systemd.enable = true; - boot.initrd.systemd.contents."/etc/msg".text = "foo"; - boot.initrd.network = { - enable = true; - ssh = { - enable = true; - authorizedKeys = [ (lib.readFile ./initrd-network-ssh/id_ed25519.pub) ]; - port = 22; - hostKeys = [ ./initrd-network-ssh/ssh_host_ed25519_key ]; + nodes = { + server = + { config, pkgs, ... }: + { + testing.initrdBackdoor = true; + boot.initrd.systemd.enable = true; + boot.initrd.systemd.contents."/etc/msg".text = "foo"; + boot.initrd.network = { + enable = true; + ssh = { + enable = true; + authorizedKeys = [ (lib.readFile ./initrd-network-ssh/id_ed25519.pub) ]; + port = 22; + hostKeys = [ ./initrd-network-ssh/ssh_host_ed25519_key ]; + }; + }; }; - }; - }; - client = { config, ... }: { - environment.etc = { - knownHosts = { - text = lib.concatStrings [ - "server," - "${ - toString (lib.head (lib.splitString " " (toString - (lib.elemAt (lib.splitString "\n" config.networking.extraHosts) 2)))) - } " - "${lib.readFile ./initrd-network-ssh/ssh_host_ed25519_key.pub}" - ]; - }; - sshKey = { - source = ./initrd-network-ssh/id_ed25519; - mode = "0600"; + client = + { config, ... }: + { + environment.etc = { + knownHosts = { + text = lib.concatStrings [ + "server," + "${toString (lib.head (lib.splitString " " (toString (lib.elemAt (lib.splitString "\n" config.networking.extraHosts) 2))))} " + "${lib.readFile ./initrd-network-ssh/ssh_host_ed25519_key.pub}" + ]; + }; + sshKey = { + source = ./initrd-network-ssh/id_ed25519; + mode = "0600"; + }; + }; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - def ssh_is_up(_) -> bool: - status, _ = client.execute("nc -z server 22") - return status == 0 + def ssh_is_up(_) -> bool: + status, _ = client.execute("nc -z server 22") + return status == 0 - client.wait_for_unit("network.target") - with client.nested("waiting for SSH server to come up"): - retry(ssh_is_up) + client.wait_for_unit("network.target") + with client.nested("waiting for SSH server to come up"): + retry(ssh_is_up) - msg = client.succeed( - "ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'cat /etc/msg'" - ) - assert "foo" in msg + msg = client.succeed( + "ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'cat /etc/msg'" + ) + assert "foo" in msg - server.switch_root() - server.wait_for_unit("multi-user.target") - ''; -}) + server.switch_root() + server.wait_for_unit("multi-user.target") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-networkd.nix b/nixos/tests/systemd-initrd-networkd.nix index 691f4300d7a23..86accd21d9355 100644 --- a/nixos/tests/systemd-initrd-networkd.nix +++ b/nixos/tests/systemd-initrd-networkd.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } -, lib ? pkgs.lib +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + lib ? pkgs.lib, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -15,47 +16,61 @@ let network.wait-online.timeout = 10; network.wait-online.anyInterface = true; targets.network-online.requiredBy = [ "initrd.target" ]; - services.systemd-networkd-wait-online.requiredBy = - [ "network-online.target" ]; - initrdBin = [ pkgs.iproute2 pkgs.iputils pkgs.gnugrep ]; + services.systemd-networkd-wait-online.requiredBy = [ "network-online.target" ]; + initrdBin = [ + pkgs.iproute2 + pkgs.iputils + pkgs.gnugrep + ]; }; testing.initrdBackdoor = true; boot.initrd.network.enable = true; }; - mkFlushTest = flush: script: makeTest { - name = "systemd-initrd-network-${lib.optionalString (!flush) "no-"}flush"; - meta.maintainers = [ elvishjerricco ]; + mkFlushTest = + flush: script: + makeTest { + name = "systemd-initrd-network-${lib.optionalString (!flush) "no-"}flush"; + meta.maintainers = [ elvishjerricco ]; - nodes.machine = { - imports = [ common ]; + nodes.machine = { + imports = [ common ]; - boot.initrd.network.flushBeforeStage2 = flush; - systemd.services.check-flush = { - requiredBy = ["multi-user.target"]; - before = [ "network-pre.target" "multi-user.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - wants = ["network-pre.target"]; - unitConfig.DefaultDependencies = false; - serviceConfig.Type = "oneshot"; - path = [ pkgs.iproute2 pkgs.iputils pkgs.gnugrep ]; - inherit script; + boot.initrd.network.flushBeforeStage2 = flush; + systemd.services.check-flush = { + requiredBy = [ "multi-user.target" ]; + before = [ + "network-pre.target" + "multi-user.target" + "shutdown.target" + ]; + conflicts = [ "shutdown.target" ]; + wants = [ "network-pre.target" ]; + unitConfig.DefaultDependencies = false; + serviceConfig.Type = "oneshot"; + path = [ + pkgs.iproute2 + pkgs.iputils + pkgs.gnugrep + ]; + inherit script; + }; }; - }; - testScript = '' - machine.wait_for_unit("network-online.target") - machine.succeed( - "ip addr | grep 10.0.2.15", - "ping -c1 10.0.2.2", - ) - machine.switch_root() + testScript = '' + machine.wait_for_unit("network-online.target") + machine.succeed( + "ip addr | grep 10.0.2.15", + "ping -c1 10.0.2.2", + ) + machine.switch_root() - machine.wait_for_unit("multi-user.target") - ''; - }; + machine.wait_for_unit("multi-user.target") + ''; + }; -in { +in +{ basic = makeTest { name = "systemd-initrd-network"; meta.maintainers = [ elvishjerricco ]; diff --git a/nixos/tests/systemd-initrd-simple.nix b/nixos/tests/systemd-initrd-simple.nix index b61cb8ddae7b2..7a379404bbc22 100644 --- a/nixos/tests/systemd-initrd-simple.nix +++ b/nixos/tests/systemd-initrd-simple.nix @@ -1,50 +1,55 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-simple"; - - nodes.machine = { pkgs, ... }: { - testing.initrdBackdoor = true; - boot.initrd.systemd.enable = true; - virtualisation.fileSystems."/".autoResize = true; - }; - - testScript = '' - import subprocess - - with subtest("testing initrd backdoor"): - machine.wait_for_unit("initrd.target") - machine.succeed("systemctl status initrd-fs.target") - machine.switch_root() - - with subtest("handover to stage-2 systemd works"): - machine.wait_for_unit("multi-user.target") - machine.succeed("systemd-analyze | grep -q '(initrd)'") # direct handover - machine.succeed("touch /testfile") # / is writable - machine.fail("touch /nix/store/testfile") # /nix/store is not writable - # Special filesystems are mounted by systemd - machine.succeed("[ -e /run/booted-system ]") # /run - machine.succeed("[ -e /sys/class ]") # /sys - machine.succeed("[ -e /dev/null ]") # /dev - machine.succeed("[ -e /proc/1 ]") # /proc - # stage-2-init mounted more special filesystems - machine.succeed("[ -e /dev/shm ]") # /dev/shm - machine.succeed("[ -e /dev/pts/ptmx ]") # /dev/pts - machine.succeed("[ -e /run/keys ]") # /run/keys - # /nixos-closure didn't leak into stage-2 - machine.succeed("[ ! -e /nixos-closure ]") - - with subtest("groups work"): - machine.fail("journalctl -b 0 | grep 'systemd-udevd.*Unknown group.*ignoring'") - - with subtest("growfs works"): - oldAvail = machine.succeed("df --output=avail / | sed 1d") - machine.shutdown() - - subprocess.check_call(["qemu-img", "resize", "vm-state-machine/machine.qcow2", "+1G"]) - - machine.start() - machine.switch_root() - newAvail = machine.succeed("df --output=avail / | sed 1d") - - assert int(oldAvail) < int(newAvail), "File system did not grow" - ''; -}) +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-simple"; + + nodes.machine = + { pkgs, ... }: + { + testing.initrdBackdoor = true; + boot.initrd.systemd.enable = true; + virtualisation.fileSystems."/".autoResize = true; + }; + + testScript = '' + import subprocess + + with subtest("testing initrd backdoor"): + machine.wait_for_unit("initrd.target") + machine.succeed("systemctl status initrd-fs.target") + machine.switch_root() + + with subtest("handover to stage-2 systemd works"): + machine.wait_for_unit("multi-user.target") + machine.succeed("systemd-analyze | grep -q '(initrd)'") # direct handover + machine.succeed("touch /testfile") # / is writable + machine.fail("touch /nix/store/testfile") # /nix/store is not writable + # Special filesystems are mounted by systemd + machine.succeed("[ -e /run/booted-system ]") # /run + machine.succeed("[ -e /sys/class ]") # /sys + machine.succeed("[ -e /dev/null ]") # /dev + machine.succeed("[ -e /proc/1 ]") # /proc + # stage-2-init mounted more special filesystems + machine.succeed("[ -e /dev/shm ]") # /dev/shm + machine.succeed("[ -e /dev/pts/ptmx ]") # /dev/pts + machine.succeed("[ -e /run/keys ]") # /run/keys + # /nixos-closure didn't leak into stage-2 + machine.succeed("[ ! -e /nixos-closure ]") + + with subtest("groups work"): + machine.fail("journalctl -b 0 | grep 'systemd-udevd.*Unknown group.*ignoring'") + + with subtest("growfs works"): + oldAvail = machine.succeed("df --output=avail / | sed 1d") + machine.shutdown() + + subprocess.check_call(["qemu-img", "resize", "vm-state-machine/machine.qcow2", "+1G"]) + + machine.start() + machine.switch_root() + newAvail = machine.succeed("df --output=avail / | sed 1d") + + assert int(oldAvail) < int(newAvail), "File system did not grow" + ''; + } +) diff --git a/nixos/tests/systemd-initrd-swraid.nix b/nixos/tests/systemd-initrd-swraid.nix index d00e67b5705ab..106839ef4b95b 100644 --- a/nixos/tests/systemd-initrd-swraid.nix +++ b/nixos/tests/systemd-initrd-swraid.nix @@ -1,66 +1,77 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-swraid"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-swraid"; - nodes.machine = { pkgs, ... }: { - # Use systemd-boot - virtualisation = { - emptyDiskImages = [ 512 512 ]; - useBootLoader = true; - # Booting off the RAID requires an available init script - mountHostNixStore = true; - useEFIBoot = true; - }; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + nodes.machine = + { pkgs, ... }: + { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ + 512 + 512 + ]; + useBootLoader = true; + # Booting off the RAID requires an available init script + mountHostNixStore = true; + useEFIBoot = true; + }; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; - environment.systemPackages = with pkgs; [ mdadm e2fsprogs ]; # for mdadm and mkfs.ext4 - boot.swraid = { - enable = true; - mdadmConf = '' - ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc - ''; - }; - environment.etc."mdadm.conf".text = '' - MAILADDR test@example.com - ''; - boot.initrd = { - systemd = { - enable = true; - emergencyAccess = true; - }; - kernelModules = [ "raid0" ]; - }; + environment.systemPackages = with pkgs; [ + mdadm + e2fsprogs + ]; # for mdadm and mkfs.ext4 + boot.swraid = { + enable = true; + mdadmConf = '' + ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc + ''; + }; + environment.etc."mdadm.conf".text = '' + MAILADDR test@example.com + ''; + boot.initrd = { + systemd = { + enable = true; + emergencyAccess = true; + }; + kernelModules = [ "raid0" ]; + }; - specialisation.boot-swraid.configuration.virtualisation.rootDevice = "/dev/disk/by-label/testraid"; - # This protects against a regression. We do not have to switch to it. - # It's sufficient to trigger its evaluation. - specialisation.build-old-initrd.configuration.boot.initrd.systemd.enable = lib.mkForce false; - }; + specialisation.boot-swraid.configuration.virtualisation.rootDevice = "/dev/disk/by-label/testraid"; + # This protects against a regression. We do not have to switch to it. + # It's sufficient to trigger its evaluation. + specialisation.build-old-initrd.configuration.boot.initrd.systemd.enable = lib.mkForce false; + }; - testScript = '' - # Create RAID - machine.succeed("mdadm --create --force /dev/md0 -n 2 --level=raid1 /dev/vdb /dev/vdc --metadata=0.90") - machine.succeed("mkfs.ext4 -L testraid /dev/md0") - machine.succeed("mkdir -p /mnt && mount /dev/md0 /mnt && echo hello > /mnt/test && umount /mnt") + testScript = '' + # Create RAID + machine.succeed("mdadm --create --force /dev/md0 -n 2 --level=raid1 /dev/vdb /dev/vdc --metadata=0.90") + machine.succeed("mkfs.ext4 -L testraid /dev/md0") + machine.succeed("mkdir -p /mnt && mount /dev/md0 /mnt && echo hello > /mnt/test && umount /mnt") - # Boot from the RAID - machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-swraid.conf") - machine.succeed("sync") - machine.crash() - machine.wait_for_unit("multi-user.target") + # Boot from the RAID + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-swraid.conf") + machine.succeed("sync") + machine.crash() + machine.wait_for_unit("multi-user.target") - # Ensure we have successfully booted from the RAID - assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 - assert "/dev/md0 on / type ext4" in machine.succeed("mount") - assert "hello" in machine.succeed("cat /test") - assert "md0" in machine.succeed("cat /proc/mdstat") + # Ensure we have successfully booted from the RAID + assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 + assert "/dev/md0 on / type ext4" in machine.succeed("mount") + assert "hello" in machine.succeed("cat /test") + assert "md0" in machine.succeed("cat /proc/mdstat") - expected_config = """MAILADDR test@example.com + expected_config = """MAILADDR test@example.com - ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc - """ - got_config = machine.execute("cat /etc/mdadm.conf")[1] - assert expected_config == got_config, repr((expected_config, got_config)) - machine.wait_for_unit("mdmonitor.service") - ''; -}) + ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc + """ + got_config = machine.execute("cat /etc/mdadm.conf")[1] + assert expected_config == got_config, repr((expected_config, got_config)) + machine.wait_for_unit("mdmonitor.service") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-vconsole.nix b/nixos/tests/systemd-initrd-vconsole.nix index d4c2a57680c15..4fc9b5f3738c1 100644 --- a/nixos/tests/systemd-initrd-vconsole.nix +++ b/nixos/tests/systemd-initrd-vconsole.nix @@ -1,42 +1,52 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "systemd-initrd-vconsole"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-initrd-vconsole"; - nodes.machine = { pkgs, ... }: { - boot.kernelParams = lib.mkAfter [ "rd.systemd.unit=rescue.target" "loglevel=3" "udev.log_level=3" "systemd.log_level=warning" ]; + nodes.machine = + { pkgs, ... }: + { + boot.kernelParams = lib.mkAfter [ + "rd.systemd.unit=rescue.target" + "loglevel=3" + "udev.log_level=3" + "systemd.log_level=warning" + ]; - boot.initrd.systemd = { - enable = true; - emergencyAccess = true; - }; + boot.initrd.systemd = { + enable = true; + emergencyAccess = true; + }; - console = { - earlySetup = true; - keyMap = "colemak"; - }; - }; + console = { + earlySetup = true; + keyMap = "colemak"; + }; + }; - testScript = '' - # Boot into rescue shell in initrd - machine.start() - machine.wait_for_console_text("Press Enter for maintenance") - machine.send_console("\n") + testScript = '' + # Boot into rescue shell in initrd + machine.start() + machine.wait_for_console_text("Press Enter for maintenance") + machine.send_console("\n") - # Wait for shell to become ready - for _ in range(300): - machine.send_console("printf '%s to receive commands:\\n' Ready\n") - try: - machine.wait_for_console_text("Ready to receive commands:", timeout=1) - break - except Exception: - continue - else: - raise RuntimeError("Rescue shell never became ready") + # Wait for shell to become ready + for _ in range(300): + machine.send_console("printf '%s to receive commands:\\n' Ready\n") + try: + machine.wait_for_console_text("Ready to receive commands:", timeout=1) + break + except Exception: + continue + else: + raise RuntimeError("Rescue shell never became ready") - # Check keymap - machine.send_console("(printf '%s to receive text:\\n' Ready && read text && echo \"$text\") </dev/tty1\n") - machine.wait_for_console_text("Ready to receive text:") - for key in "asdfjkl;\n": - machine.send_key(key) - machine.wait_for_console_text("arstneio") - ''; -}) + # Check keymap + machine.send_console("(printf '%s to receive text:\\n' Ready && read text && echo \"$text\") </dev/tty1\n") + machine.wait_for_console_text("Ready to receive text:") + for key in "asdfjkl;\n": + machine.send_key(key) + machine.wait_for_console_text("arstneio") + ''; + } +) diff --git a/nixos/tests/systemd-initrd-vlan.nix b/nixos/tests/systemd-initrd-vlan.nix index 5060163a047d2..36d8154cdc5ff 100644 --- a/nixos/tests/systemd-initrd-vlan.nix +++ b/nixos/tests/systemd-initrd-vlan.nix @@ -1,59 +1,66 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "systemd-initrd-vlan"; - meta.maintainers = [ lib.maintainers.majiir ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "systemd-initrd-vlan"; + meta.maintainers = [ lib.maintainers.majiir ]; - # Tests VLAN interface configuration in systemd-initrd. - # - # Two nodes are configured for a tagged VLAN. (Note that they also still have - # their ordinary eth0 and eth1 interfaces, which are not VLAN-tagged.) - # - # The 'server' node waits forever in initrd (stage 1) with networking - # enabled. The 'client' node pings it to test network connectivity. + # Tests VLAN interface configuration in systemd-initrd. + # + # Two nodes are configured for a tagged VLAN. (Note that they also still have + # their ordinary eth0 and eth1 interfaces, which are not VLAN-tagged.) + # + # The 'server' node waits forever in initrd (stage 1) with networking + # enabled. The 'client' node pings it to test network connectivity. - nodes = let - network = id: { - networking = { - vlans."eth1.10" = { - id = 10; - interface = "eth1"; + nodes = + let + network = id: { + networking = { + vlans."eth1.10" = { + id = 10; + interface = "eth1"; + }; + interfaces."eth1.10" = { + ipv4.addresses = [ + { + address = "192.168.10.${id}"; + prefixLength = 24; + } + ]; + }; + }; }; - interfaces."eth1.10" = { - ipv4.addresses = [{ - address = "192.168.10.${id}"; - prefixLength = 24; - }]; + in + { + # Node that will use initrd networking. + server = network "1" // { + boot.initrd.systemd.enable = true; + boot.initrd.network.enable = true; + boot.initrd.systemd.services.boot-blocker = { + before = [ "initrd.target" ]; + wantedBy = [ "initrd.target" ]; + script = "sleep infinity"; + serviceConfig.Type = "oneshot"; + }; }; - }; - }; - in { - # Node that will use initrd networking. - server = network "1" // { - boot.initrd.systemd.enable = true; - boot.initrd.network.enable = true; - boot.initrd.systemd.services.boot-blocker = { - before = [ "initrd.target" ]; - wantedBy = [ "initrd.target" ]; - script = "sleep infinity"; - serviceConfig.Type = "oneshot"; - }; - }; - # Node that will ping the server. - client = network "2"; - }; + # Node that will ping the server. + client = network "2"; + }; - testScript = '' - start_all() - client.wait_for_unit("network.target") + testScript = '' + start_all() + client.wait_for_unit("network.target") - # Wait for the regular (untagged) interface to be up. - def server_is_up(_) -> bool: - status, _ = client.execute("ping -n -c 1 server >&2") - return status == 0 - with client.nested("waiting for server to come up"): - retry(server_is_up) + # Wait for the regular (untagged) interface to be up. + def server_is_up(_) -> bool: + status, _ = client.execute("ping -n -c 1 server >&2") + return status == 0 + with client.nested("waiting for server to come up"): + retry(server_is_up) - # Try to ping the (tagged) VLAN interface. - client.succeed("ping -n -w 10 -c 1 192.168.10.1 >&2") - ''; -}) + # Try to ping the (tagged) VLAN interface. + client.succeed("ping -n -w 10 -c 1 192.168.10.1 >&2") + ''; + } +) diff --git a/nixos/tests/systemd-journal-gateway.nix b/nixos/tests/systemd-journal-gateway.nix index 1d20943f23880..1b7428590a4a8 100644 --- a/nixos/tests/systemd-journal-gateway.nix +++ b/nixos/tests/systemd-journal-gateway.nix @@ -1,90 +1,95 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: -{ - name = "systemd-journal-gateway"; - meta = with pkgs.lib.maintainers; { - maintainers = [ minijackson raitobezarius ]; - }; - - # Named client for coherence with the systemd-journal-upload test, and for - # certificate validation - nodes.client = { - services.journald.gateway = { - enable = true; - cert = "/run/secrets/client/cert.pem"; - key = "/run/secrets/client/key.pem"; - trust = "/run/secrets/ca.cert.pem"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "systemd-journal-gateway"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + minijackson + raitobezarius + ]; }; - }; - - testScript = '' - import json - import subprocess - import tempfile - - tmpdir_o = tempfile.TemporaryDirectory() - tmpdir = tmpdir_o.name - - def generate_pems(domain: str): - subprocess.run( - [ - "${pkgs.minica}/bin/minica", - "--ca-key=ca.key.pem", - "--ca-cert=ca.cert.pem", - f"--domains={domain}", - ], - cwd=str(tmpdir), - ) - - with subtest("Creating keys and certificates"): - generate_pems("server") - generate_pems("client") - - client.wait_for_unit("multi-user.target") - - def copy_pem(file: str): - machine.copy_from_host(source=f"{tmpdir}/{file}", target=f"/run/secrets/{file}") - machine.succeed(f"chmod 644 /run/secrets/{file}") - - with subtest("Copying keys and certificates"): - machine.succeed("mkdir -p /run/secrets/{client,server}") - copy_pem("server/cert.pem") - copy_pem("server/key.pem") - copy_pem("client/cert.pem") - copy_pem("client/key.pem") - copy_pem("ca.cert.pem") - - client.wait_for_unit("multi-user.target") - - curl = '${pkgs.curl}/bin/curl' - accept_json = '--header "Accept: application/json"' - cacert = '--cacert /run/secrets/ca.cert.pem' - cert = '--cert /run/secrets/server/cert.pem' - key = '--key /run/secrets/server/key.pem' - base_url = 'https://client:19531' - curl_cli = f"{curl} {accept_json} {cacert} {cert} {key} --fail" - - machine_info = client.succeed(f"{curl_cli} {base_url}/machine") - assert json.loads(machine_info)["hostname"] == "client", "wrong machine name" - - # The HTTP request should have started the gateway service, triggered by - # the .socket unit - client.wait_for_unit("systemd-journal-gatewayd.service") - - identifier = "nixos-test" - message = "Hello from NixOS test infrastructure" - - client.succeed(f"systemd-cat --identifier={identifier} <<< '{message}'") + # Named client for coherence with the systemd-journal-upload test, and for + # certificate validation + nodes.client = { + services.journald.gateway = { + enable = true; + cert = "/run/secrets/client/cert.pem"; + key = "/run/secrets/client/key.pem"; + trust = "/run/secrets/ca.cert.pem"; + }; + }; - # max-time is a workaround against a bug in systemd-journal-gatewayd where - # if TLS is enabled, the connection is never closed. Since it will timeout, - # we ignore the return code. - entries = client.succeed( - f"{curl_cli} --max-time 5 {base_url}/entries?SYSLOG_IDENTIFIER={identifier} || true" - ) + testScript = '' + import json + import subprocess + import tempfile + + tmpdir_o = tempfile.TemporaryDirectory() + tmpdir = tmpdir_o.name + + def generate_pems(domain: str): + subprocess.run( + [ + "${pkgs.minica}/bin/minica", + "--ca-key=ca.key.pem", + "--ca-cert=ca.cert.pem", + f"--domains={domain}", + ], + cwd=str(tmpdir), + ) + + with subtest("Creating keys and certificates"): + generate_pems("server") + generate_pems("client") + + client.wait_for_unit("multi-user.target") + + def copy_pem(file: str): + machine.copy_from_host(source=f"{tmpdir}/{file}", target=f"/run/secrets/{file}") + machine.succeed(f"chmod 644 /run/secrets/{file}") + + with subtest("Copying keys and certificates"): + machine.succeed("mkdir -p /run/secrets/{client,server}") + copy_pem("server/cert.pem") + copy_pem("server/key.pem") + copy_pem("client/cert.pem") + copy_pem("client/key.pem") + copy_pem("ca.cert.pem") + + client.wait_for_unit("multi-user.target") + + curl = '${pkgs.curl}/bin/curl' + accept_json = '--header "Accept: application/json"' + cacert = '--cacert /run/secrets/ca.cert.pem' + cert = '--cert /run/secrets/server/cert.pem' + key = '--key /run/secrets/server/key.pem' + base_url = 'https://client:19531' + + curl_cli = f"{curl} {accept_json} {cacert} {cert} {key} --fail" + + machine_info = client.succeed(f"{curl_cli} {base_url}/machine") + assert json.loads(machine_info)["hostname"] == "client", "wrong machine name" + + # The HTTP request should have started the gateway service, triggered by + # the .socket unit + client.wait_for_unit("systemd-journal-gatewayd.service") + + identifier = "nixos-test" + message = "Hello from NixOS test infrastructure" + + client.succeed(f"systemd-cat --identifier={identifier} <<< '{message}'") + + # max-time is a workaround against a bug in systemd-journal-gatewayd where + # if TLS is enabled, the connection is never closed. Since it will timeout, + # we ignore the return code. + entries = client.succeed( + f"{curl_cli} --max-time 5 {base_url}/entries?SYSLOG_IDENTIFIER={identifier} || true" + ) - # Number of entries should be only 1 - added_entry = json.loads(entries) - assert added_entry["SYSLOG_IDENTIFIER"] == identifier and added_entry["MESSAGE"] == message, "journal entry does not correspond" - ''; -}) + # Number of entries should be only 1 + added_entry = json.loads(entries) + assert added_entry["SYSLOG_IDENTIFIER"] == identifier and added_entry["MESSAGE"] == message, "journal entry does not correspond" + ''; + } +) diff --git a/nixos/tests/systemd-journal-upload.nix b/nixos/tests/systemd-journal-upload.nix index 0cbde379aee96..923dd48b32ac1 100644 --- a/nixos/tests/systemd-journal-upload.nix +++ b/nixos/tests/systemd-journal-upload.nix @@ -1,101 +1,110 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "systemd-journal-upload"; - meta = with pkgs.lib.maintainers; { - maintainers = [ minijackson raitobezarius ]; - }; - - nodes.server = { nodes, ... }: { - services.journald.remote = { - enable = true; - listen = "http"; - settings.Remote = { - ServerCertificateFile = "/run/secrets/sever.cert.pem"; - ServerKeyFile = "/run/secrets/sever.key.pem"; - TrustedCertificateFile = "/run/secrets/ca.cert.pem"; - Seal = true; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "systemd-journal-upload"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + minijackson + raitobezarius + ]; }; - networking.firewall.allowedTCPPorts = [ nodes.server.services.journald.remote.port ]; - }; + nodes.server = + { nodes, ... }: + { + services.journald.remote = { + enable = true; + listen = "http"; + settings.Remote = { + ServerCertificateFile = "/run/secrets/sever.cert.pem"; + ServerKeyFile = "/run/secrets/sever.key.pem"; + TrustedCertificateFile = "/run/secrets/ca.cert.pem"; + Seal = true; + }; + }; - nodes.client = { lib, nodes, ... }: { - services.journald.upload = { - enable = true; - settings.Upload = { - URL = "http://server:${toString nodes.server.services.journald.remote.port}"; - ServerCertificateFile = "/run/secrets/client.cert.pem"; - ServerKeyFile = "/run/secrets/client.key.pem"; - TrustedCertificateFile = "/run/secrets/ca.cert.pem"; + networking.firewall.allowedTCPPorts = [ nodes.server.services.journald.remote.port ]; }; - }; - # Wait for the PEMs to arrive - systemd.services.systemd-journal-upload.wantedBy = lib.mkForce []; - systemd.paths.systemd-journal-upload = { - wantedBy = [ "default.target" ]; - # This file must be copied last - pathConfig.PathExists = [ "/run/secrets/ca.cert.pem" ]; - }; - }; + nodes.client = + { lib, nodes, ... }: + { + services.journald.upload = { + enable = true; + settings.Upload = { + URL = "http://server:${toString nodes.server.services.journald.remote.port}"; + ServerCertificateFile = "/run/secrets/client.cert.pem"; + ServerKeyFile = "/run/secrets/client.key.pem"; + TrustedCertificateFile = "/run/secrets/ca.cert.pem"; + }; + }; - testScript = '' - import subprocess - import tempfile + # Wait for the PEMs to arrive + systemd.services.systemd-journal-upload.wantedBy = lib.mkForce [ ]; + systemd.paths.systemd-journal-upload = { + wantedBy = [ "default.target" ]; + # This file must be copied last + pathConfig.PathExists = [ "/run/secrets/ca.cert.pem" ]; + }; + }; - tmpdir_o = tempfile.TemporaryDirectory() - tmpdir = tmpdir_o.name + testScript = '' + import subprocess + import tempfile - def generate_pems(domain: str): - subprocess.run( - [ - "${pkgs.minica}/bin/minica", - "--ca-key=ca.key.pem", - "--ca-cert=ca.cert.pem", - f"--domains={domain}", - ], - cwd=str(tmpdir), - ) + tmpdir_o = tempfile.TemporaryDirectory() + tmpdir = tmpdir_o.name - with subtest("Creating keys and certificates"): - generate_pems("server") - generate_pems("client") + def generate_pems(domain: str): + subprocess.run( + [ + "${pkgs.minica}/bin/minica", + "--ca-key=ca.key.pem", + "--ca-cert=ca.cert.pem", + f"--domains={domain}", + ], + cwd=str(tmpdir), + ) - server.wait_for_unit("multi-user.target") - client.wait_for_unit("multi-user.target") + with subtest("Creating keys and certificates"): + generate_pems("server") + generate_pems("client") - def copy_pems(machine: Machine, domain: str): - machine.succeed("mkdir /run/secrets") - machine.copy_from_host( - source=f"{tmpdir}/{domain}/cert.pem", - target=f"/run/secrets/{domain}.cert.pem", - ) - machine.copy_from_host( - source=f"{tmpdir}/{domain}/key.pem", - target=f"/run/secrets/{domain}.key.pem", - ) - # Should be last - machine.copy_from_host( - source=f"{tmpdir}/ca.cert.pem", - target="/run/secrets/ca.cert.pem", - ) + server.wait_for_unit("multi-user.target") + client.wait_for_unit("multi-user.target") - with subtest("Copying keys and certificates"): - copy_pems(server, "server") - copy_pems(client, "client") + def copy_pems(machine: Machine, domain: str): + machine.succeed("mkdir /run/secrets") + machine.copy_from_host( + source=f"{tmpdir}/{domain}/cert.pem", + target=f"/run/secrets/{domain}.cert.pem", + ) + machine.copy_from_host( + source=f"{tmpdir}/{domain}/key.pem", + target=f"/run/secrets/{domain}.key.pem", + ) + # Should be last + machine.copy_from_host( + source=f"{tmpdir}/ca.cert.pem", + target="/run/secrets/ca.cert.pem", + ) - client.wait_for_unit("systemd-journal-upload.service") - # The journal upload should have started the remote service, triggered by - # the .socket unit - server.wait_for_unit("systemd-journal-remote.service") + with subtest("Copying keys and certificates"): + copy_pems(server, "server") + copy_pems(client, "client") - identifier = "nixos-test" - message = "Hello from NixOS test infrastructure" + client.wait_for_unit("systemd-journal-upload.service") + # The journal upload should have started the remote service, triggered by + # the .socket unit + server.wait_for_unit("systemd-journal-remote.service") - client.succeed(f"systemd-cat --identifier={identifier} <<< '{message}'") - server.wait_until_succeeds( - f"journalctl --file /var/log/journal/remote/remote-*.journal --identifier={identifier} | grep -F '{message}'" - ) - ''; -}) + identifier = "nixos-test" + message = "Hello from NixOS test infrastructure" + + client.succeed(f"systemd-cat --identifier={identifier} <<< '{message}'") + server.wait_until_succeeds( + f"journalctl --file /var/log/journal/remote/remote-*.journal --identifier={identifier} | grep -F '{message}'" + ) + ''; + } +) diff --git a/nixos/tests/systemd-journal.nix b/nixos/tests/systemd-journal.nix index ad60c0f547a41..a0c2f7ee19bb9 100644 --- a/nixos/tests/systemd-journal.nix +++ b/nixos/tests/systemd-journal.nix @@ -1,16 +1,18 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -{ - name = "systemd-journal"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lewo ]; - }; + { + name = "systemd-journal"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lewo ]; + }; - nodes.machine = { }; + nodes.machine = { }; - testScript = '' - machine.wait_for_unit("multi-user.target") + testScript = '' + machine.wait_for_unit("multi-user.target") - machine.succeed("journalctl --grep=systemd") - ''; -}) + machine.succeed("journalctl --grep=systemd") + ''; + } +) diff --git a/nixos/tests/systemd-lock-handler.nix b/nixos/tests/systemd-lock-handler.nix index d6fb8f5459004..03905f2c81be2 100644 --- a/nixos/tests/systemd-lock-handler.nix +++ b/nixos/tests/systemd-lock-handler.nix @@ -1,11 +1,18 @@ -{ lib, ... }: { +{ lib, ... }: +{ name = "systemd-lock-handler"; meta.maintainers = with lib.maintainers; [ liff ]; enableOCR = true; - nodes.machine = { config, pkgs, lib, ... }: + nodes.machine = + { + config, + pkgs, + lib, + ... + }: let touch = "${lib.getBin pkgs.coreutils}/bin/touch"; in diff --git a/nixos/tests/systemd-machinectl.nix b/nixos/tests/systemd-machinectl.nix index 40ea4905ec67b..5866c6d7603f0 100644 --- a/nixos/tests/systemd-machinectl.nix +++ b/nixos/tests/systemd-machinectl.nix @@ -1,201 +1,211 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let +import ./make-test-python.nix ( + { pkgs, ... }: + let - container = { config, ... }: { - # We re-use the NixOS container option ... - boot.isContainer = true; - # ... and revert unwanted defaults - networking.useHostResolvConf = false; - - # use networkd to obtain systemd network setup - networking.useNetworkd = true; - networking.useDHCP = false; - - # systemd-nspawn expects /sbin/init - boot.loader.initScript.enable = true; - - imports = [ ../modules/profiles/minimal.nix ]; - - system.stateVersion = config.system.nixos.release; - }; - - containerSystem = (import ../lib/eval-config.nix { - inherit (pkgs) system; - modules = [ container ]; - }).config.system.build.toplevel; + container = + { config, ... }: + { + # We re-use the NixOS container option ... + boot.isContainer = true; + # ... and revert unwanted defaults + networking.useHostResolvConf = false; - containerName = "container"; - containerRoot = "/var/lib/machines/${containerName}"; + # use networkd to obtain systemd network setup + networking.useNetworkd = true; + networking.useDHCP = false; - containerTarball = pkgs.callPackage ../lib/make-system-tarball.nix { - storeContents = [ - { - object = containerSystem; - symlink = "/nix/var/nix/profiles/system"; - } - ]; + # systemd-nspawn expects /sbin/init + boot.loader.initScript.enable = true; - contents = [ - { - source = containerSystem + "/etc/os-release"; - target = "/etc/os-release"; - } - { - source = containerSystem + "/init"; - target = "/sbin/init"; - } - ]; - }; -in -{ - name = "systemd-machinectl"; - - nodes.machine = { lib, ... }: { - # use networkd to obtain systemd network setup - networking.useNetworkd = true; - networking.useDHCP = false; - - # do not try to access cache.nixos.org - nix.settings.substituters = lib.mkForce [ ]; - - # auto-start container - systemd.targets.machines.wants = [ "systemd-nspawn@${containerName}.service" ]; - - virtualisation.additionalPaths = [ containerSystem containerTarball ]; - - systemd.tmpfiles.rules = [ - "d /var/lib/machines/shared-decl 0755 root root - -" - ]; - systemd.nspawn.shared-decl = { - execConfig = { - Boot = false; - Parameters = "${containerSystem}/init"; - }; - filesConfig = { - BindReadOnly = "/nix/store"; - }; - }; + imports = [ ../modules/profiles/minimal.nix ]; - systemd.nspawn.${containerName} = { - filesConfig = { - # workaround to fix kernel namespaces; needed for Nix sandbox - # https://github.com/systemd/systemd/issues/27994#issuecomment-1704005670 - Bind = "/proc:/run/proc"; + system.stateVersion = config.system.nixos.release; }; - }; - systemd.services."systemd-nspawn@${containerName}" = { - serviceConfig.Environment = [ - # Disable tmpfs for /tmp - "SYSTEMD_NSPAWN_TMPFS_TMP=0" + containerSystem = + (import ../lib/eval-config.nix { + inherit (pkgs) system; + modules = [ container ]; + }).config.system.build.toplevel; + + containerName = "container"; + containerRoot = "/var/lib/machines/${containerName}"; + + containerTarball = pkgs.callPackage ../lib/make-system-tarball.nix { + storeContents = [ + { + object = containerSystem; + symlink = "/nix/var/nix/profiles/system"; + } + ]; - # force unified cgroup delegation, which would be the default - # if systemd could check the capabilities of the installed systemd. - # see also: https://github.com/NixOS/nixpkgs/pull/198526 - "SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=1" + contents = [ + { + source = containerSystem + "/etc/os-release"; + target = "/etc/os-release"; + } + { + source = containerSystem + "/init"; + target = "/sbin/init"; + } ]; - overrideStrategy = "asDropin"; }; + in + { + name = "systemd-machinectl"; - # open DHCP for container - networking.firewall.extraCommands = '' - ${pkgs.iptables}/bin/iptables -A nixos-fw -i ve-+ -p udp -m udp --dport 67 -j nixos-fw-accept - ''; - }; + nodes.machine = + { lib, ... }: + { + # use networkd to obtain systemd network setup + networking.useNetworkd = true; + networking.useDHCP = false; + + # do not try to access cache.nixos.org + nix.settings.substituters = lib.mkForce [ ]; + + # auto-start container + systemd.targets.machines.wants = [ "systemd-nspawn@${containerName}.service" ]; + + virtualisation.additionalPaths = [ + containerSystem + containerTarball + ]; + + systemd.tmpfiles.rules = [ + "d /var/lib/machines/shared-decl 0755 root root - -" + ]; + systemd.nspawn.shared-decl = { + execConfig = { + Boot = false; + Parameters = "${containerSystem}/init"; + }; + filesConfig = { + BindReadOnly = "/nix/store"; + }; + }; + + systemd.nspawn.${containerName} = { + filesConfig = { + # workaround to fix kernel namespaces; needed for Nix sandbox + # https://github.com/systemd/systemd/issues/27994#issuecomment-1704005670 + Bind = "/proc:/run/proc"; + }; + }; + + systemd.services."systemd-nspawn@${containerName}" = { + serviceConfig.Environment = [ + # Disable tmpfs for /tmp + "SYSTEMD_NSPAWN_TMPFS_TMP=0" + + # force unified cgroup delegation, which would be the default + # if systemd could check the capabilities of the installed systemd. + # see also: https://github.com/NixOS/nixpkgs/pull/198526 + "SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=1" + ]; + overrideStrategy = "asDropin"; + }; + + # open DHCP for container + networking.firewall.extraCommands = '' + ${pkgs.iptables}/bin/iptables -A nixos-fw -i ve-+ -p udp -m udp --dport 67 -j nixos-fw-accept + ''; + }; - testScript = '' - start_all() - machine.wait_for_unit("default.target"); + testScript = '' + start_all() + machine.wait_for_unit("default.target"); - # Test machinectl start stop of shared-decl - machine.succeed("machinectl start shared-decl"); - machine.wait_until_succeeds("systemctl -M shared-decl is-active default.target"); - machine.succeed("machinectl stop shared-decl"); + # Test machinectl start stop of shared-decl + machine.succeed("machinectl start shared-decl"); + machine.wait_until_succeeds("systemctl -M shared-decl is-active default.target"); + machine.succeed("machinectl stop shared-decl"); - # create containers root - machine.succeed("mkdir -p ${containerRoot}"); + # create containers root + machine.succeed("mkdir -p ${containerRoot}"); - # start container with shared nix store by using same arguments as for systemd-nspawn@.service - machine.succeed("systemd-run systemd-nspawn --machine=${containerName} --network-veth -U --bind-ro=/nix/store ${containerSystem}/init") - machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); + # start container with shared nix store by using same arguments as for systemd-nspawn@.service + machine.succeed("systemd-run systemd-nspawn --machine=${containerName} --network-veth -U --bind-ro=/nix/store ${containerSystem}/init") + machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); - # Test machinectl stop - machine.succeed("machinectl stop ${containerName}"); + # Test machinectl stop + machine.succeed("machinectl stop ${containerName}"); - # Install container - # Workaround for nixos-install - machine.succeed("chmod o+rx /var/lib/machines"); - machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd"); + # Install container + # Workaround for nixos-install + machine.succeed("chmod o+rx /var/lib/machines"); + machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd"); - # Allow systemd-nspawn to apply user namespace on immutable files - machine.succeed("chattr -i ${containerRoot}/var/empty"); + # Allow systemd-nspawn to apply user namespace on immutable files + machine.succeed("chattr -i ${containerRoot}/var/empty"); - # Test machinectl start - machine.succeed("machinectl start ${containerName}"); - machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); + # Test machinectl start + machine.succeed("machinectl start ${containerName}"); + machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); - # Test systemd-nspawn configured unified cgroup delegation - # see also: - # https://github.com/systemd/systemd/blob/main/docs/CGROUP_DELEGATION.md#three-different-tree-setups- - machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/stat --format="%T" --file-system /sys/fs/cgroup > fstype') - machine.succeed('test $(tr -d "\\r" < fstype) = cgroup2fs') + # Test systemd-nspawn configured unified cgroup delegation + # see also: + # https://github.com/systemd/systemd/blob/main/docs/CGROUP_DELEGATION.md#three-different-tree-setups- + machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/stat --format="%T" --file-system /sys/fs/cgroup > fstype') + machine.succeed('test $(tr -d "\\r" < fstype) = cgroup2fs') - # Test if systemd-nspawn provides a working environment for nix to build derivations - # https://nixos.org/guides/nix-pills/07-working-derivation - machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/nix-instantiate --expr \'derivation { name = "myname"; builder = "/bin/sh"; args = [ "-c" "echo foo > $out" ]; system = "${pkgs.system}"; }\' --add-root /tmp/drv') - machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/nix-store --option substitute false --realize /tmp/drv') + # Test if systemd-nspawn provides a working environment for nix to build derivations + # https://nixos.org/guides/nix-pills/07-working-derivation + machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/nix-instantiate --expr \'derivation { name = "myname"; builder = "/bin/sh"; args = [ "-c" "echo foo > $out" ]; system = "${pkgs.system}"; }\' --add-root /tmp/drv') + machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/nix-store --option substitute false --realize /tmp/drv') - # Test nss_mymachines without nscd - machine.succeed('LD_LIBRARY_PATH="/run/current-system/sw/lib" getent -s hosts:mymachines hosts ${containerName}'); + # Test nss_mymachines without nscd + machine.succeed('LD_LIBRARY_PATH="/run/current-system/sw/lib" getent -s hosts:mymachines hosts ${containerName}'); - # Test nss_mymachines via nscd - machine.succeed("getent hosts ${containerName}"); + # Test nss_mymachines via nscd + machine.succeed("getent hosts ${containerName}"); - # Test systemd-nspawn network configuration to container - machine.succeed("networkctl --json=short status ve-${containerName} | ${pkgs.jq}/bin/jq -e '.OperationalState == \"routable\"'"); + # Test systemd-nspawn network configuration to container + machine.succeed("networkctl --json=short status ve-${containerName} | ${pkgs.jq}/bin/jq -e '.OperationalState == \"routable\"'"); - # Test systemd-nspawn network configuration to host - machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/networkctl --json=short status host0 | ${pkgs.jq}/bin/jq -r '.OperationalState == \"routable\"'"); + # Test systemd-nspawn network configuration to host + machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/networkctl --json=short status host0 | ${pkgs.jq}/bin/jq -r '.OperationalState == \"routable\"'"); - # Test systemd-nspawn network configuration - machine.succeed("ping -n -c 1 ${containerName}"); + # Test systemd-nspawn network configuration + machine.succeed("ping -n -c 1 ${containerName}"); - # Test systemd-nspawn uses a user namespace - machine.succeed("test $(machinectl status ${containerName} | grep 'UID Shift: ' | wc -l) = 1") + # Test systemd-nspawn uses a user namespace + machine.succeed("test $(machinectl status ${containerName} | grep 'UID Shift: ' | wc -l) = 1") - # Test systemd-nspawn reboot - machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/reboot"); - machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); + # Test systemd-nspawn reboot + machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/reboot"); + machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); - # Test machinectl reboot - machine.succeed("machinectl reboot ${containerName}"); - machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); + # Test machinectl reboot + machine.succeed("machinectl reboot ${containerName}"); + machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); - # Restart machine - machine.shutdown() - machine.start() - machine.wait_for_unit("default.target"); + # Restart machine + machine.shutdown() + machine.start() + machine.wait_for_unit("default.target"); - # Test auto-start - machine.succeed("machinectl show ${containerName}") + # Test auto-start + machine.succeed("machinectl show ${containerName}") - # Test machinectl stop - machine.succeed("machinectl stop ${containerName}"); - machine.wait_until_succeeds("test $(systemctl is-active systemd-nspawn@${containerName}) = inactive"); + # Test machinectl stop + machine.succeed("machinectl stop ${containerName}"); + machine.wait_until_succeeds("test $(systemctl is-active systemd-nspawn@${containerName}) = inactive"); - # Test tmpfs for /tmp - machine.fail("mountpoint /tmp"); + # Test tmpfs for /tmp + machine.fail("mountpoint /tmp"); - # Show to to delete the container - machine.succeed("chattr -i ${containerRoot}/var/empty"); - machine.succeed("rm -rf ${containerRoot}"); + # Show to to delete the container + machine.succeed("chattr -i ${containerRoot}/var/empty"); + machine.succeed("rm -rf ${containerRoot}"); - # Test import tarball, start, stop and remove - machine.succeed("machinectl import-tar ${containerTarball}/tarball/*.tar* ${containerName}"); - machine.succeed("machinectl start ${containerName}"); - machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); - machine.succeed("machinectl stop ${containerName}"); - machine.wait_until_succeeds("test $(systemctl is-active systemd-nspawn@${containerName}) = inactive"); - machine.succeed("machinectl remove ${containerName}"); - ''; -}) + # Test import tarball, start, stop and remove + machine.succeed("machinectl import-tar ${containerTarball}/tarball/*.tar* ${containerName}"); + machine.succeed("machinectl start ${containerName}"); + machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); + machine.succeed("machinectl stop ${containerName}"); + machine.wait_until_succeeds("test $(systemctl is-active systemd-nspawn@${containerName}) = inactive"); + machine.succeed("machinectl remove ${containerName}"); + ''; + } +) diff --git a/nixos/tests/systemd-misc.nix b/nixos/tests/systemd-misc.nix index 0ddd51100463e..632f3f59d47be 100644 --- a/nixos/tests/systemd-misc.nix +++ b/nixos/tests/systemd-misc.nix @@ -1,62 +1,66 @@ -import ./make-test-python.nix ({ pkgs, ... }: - -let - exampleScript = pkgs.writeTextFile { - name = "example.sh"; - text = '' - #! ${pkgs.runtimeShell} -e - - while true; do - echo "Example script running" >&2 - ${pkgs.coreutils}/bin/sleep 1 - done - ''; - executable = true; - }; - - unitFile = pkgs.writeTextFile { - name = "example.service"; - text = '' - [Unit] - Description=Example systemd service unit file - - [Service] - ExecStart=${exampleScript} - - [Install] - WantedBy=multi-user.target - ''; - }; -in -{ - name = "systemd-misc"; +import ./make-test-python.nix ( + { pkgs, ... }: - nodes.machine = { pkgs, lib, ... }: { - boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ]; + let + exampleScript = pkgs.writeTextFile { + name = "example.sh"; + text = '' + #! ${pkgs.runtimeShell} -e - users.users.limited = { - isNormalUser = true; - uid = 1000; + while true; do + echo "Example script running" >&2 + ${pkgs.coreutils}/bin/sleep 1 + done + ''; + executable = true; }; - systemd.units."user-1000.slice.d/limits.conf" = { + unitFile = pkgs.writeTextFile { + name = "example.service"; text = '' - [Slice] - TasksAccounting=yes - TasksMax=100 + [Unit] + Description=Example systemd service unit file + + [Service] + ExecStart=${exampleScript} + + [Install] + WantedBy=multi-user.target ''; }; - }; - - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.succeed("mkdir -p /etc/systemd-rw/system") - machine.succeed( - "cp ${unitFile} /etc/systemd-rw/system/example.service" - ) - machine.succeed("systemctl start example.service") - machine.succeed("systemctl status example.service | grep 'Active: active'") - - machine.succeed("systemctl show --property TasksMax --value user-1000.slice | grep 100") - ''; -}) + in + { + name = "systemd-misc"; + + nodes.machine = + { pkgs, lib, ... }: + { + boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ]; + + users.users.limited = { + isNormalUser = true; + uid = 1000; + }; + + systemd.units."user-1000.slice.d/limits.conf" = { + text = '' + [Slice] + TasksAccounting=yes + TasksMax=100 + ''; + }; + }; + + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.succeed("mkdir -p /etc/systemd-rw/system") + machine.succeed( + "cp ${unitFile} /etc/systemd-rw/system/example.service" + ) + machine.succeed("systemctl start example.service") + machine.succeed("systemctl status example.service | grep 'Active: active'") + + machine.succeed("systemctl show --property TasksMax --value user-1000.slice | grep 100") + ''; + } +) diff --git a/nixos/tests/systemd-networkd-bridge.nix b/nixos/tests/systemd-networkd-bridge.nix index f1f8823e84205..1c21cc113167d 100644 --- a/nixos/tests/systemd-networkd-bridge.nix +++ b/nixos/tests/systemd-networkd-bridge.nix @@ -1,21 +1,22 @@ -/* This test ensures that we can configure spanning-tree protocol - across bridges using systemd-networkd. +/* + This test ensures that we can configure spanning-tree protocol + across bridges using systemd-networkd. - Test topology: + Test topology: - 1 2 3 - node1 --- sw1 --- sw2 --- node2 - \ / - 4 \ / 5 - sw3 - | - 6 | - | - node3 + 1 2 3 + node1 --- sw1 --- sw2 --- node2 + \ / + 4 \ / 5 + sw3 + | + 6 | + | + node3 - where switches 1, 2, and 3 bridge their links and use STP, - and each link is labeled with the VLAN we are assigning it in - virtualisation.vlans. + where switches 1, 2, and 3 bridge their links and use STP, + and each link is labeled with the VLAN we are assigning it in + virtualisation.vlans. */ with builtins; let @@ -26,9 +27,19 @@ let networking.firewall.enable = false; }; - generateNodeConf = { octet, vlan }: - { lib, pkgs, config, ... }: { - imports = [ common/user-account.nix commonConf ]; + generateNodeConf = + { octet, vlan }: + { + lib, + pkgs, + config, + ... + }: + { + imports = [ + common/user-account.nix + commonConf + ]; virtualisation.vlans = [ vlan ]; systemd.network = { enable = true; @@ -41,9 +52,19 @@ let }; }; - generateSwitchConf = vlans: - { lib, pkgs, config, ... }: { - imports = [ common/user-account.nix commonConf ]; + generateSwitchConf = + vlans: + { + lib, + pkgs, + config, + ... + }: + { + imports = [ + common/user-account.nix + commonConf + ]; virtualisation.vlans = vlans; systemd.network = { enable = true; @@ -61,43 +82,63 @@ let matchConfig.Name = "eth*"; networkConfig.Bridge = "br0"; }; - "40-br0" = { matchConfig.Name = "br0"; }; + "40-br0" = { + matchConfig.Name = "br0"; + }; }; }; }; -in import ./make-test-python.nix ({ pkgs, ... }: { - name = "networkd"; - meta = with pkgs.lib.maintainers; { maintainers = [ picnoir ]; }; - nodes = { - node1 = generateNodeConf { - octet = 1; - vlan = 1; +in +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "networkd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ picnoir ]; }; - node2 = generateNodeConf { - octet = 2; - vlan = 3; - }; - node3 = generateNodeConf { - octet = 3; - vlan = 6; + nodes = { + node1 = generateNodeConf { + octet = 1; + vlan = 1; + }; + node2 = generateNodeConf { + octet = 2; + vlan = 3; + }; + node3 = generateNodeConf { + octet = 3; + vlan = 6; + }; + sw1 = generateSwitchConf [ + 1 + 2 + 4 + ]; + sw2 = generateSwitchConf [ + 2 + 3 + 5 + ]; + sw3 = generateSwitchConf [ + 4 + 5 + 6 + ]; }; - sw1 = generateSwitchConf [ 1 2 4 ]; - sw2 = generateSwitchConf [ 2 3 5 ]; - sw3 = generateSwitchConf [ 4 5 6 ]; - }; - testScript = '' - network_nodes = [node1, node2, node3] - network_switches = [sw1, sw2, sw3] - start_all() + testScript = '' + network_nodes = [node1, node2, node3] + network_switches = [sw1, sw2, sw3] + start_all() - for n in network_nodes + network_switches: - n.wait_for_unit("systemd-networkd-wait-online.service") + for n in network_nodes + network_switches: + n.wait_for_unit("systemd-networkd-wait-online.service") - node1.succeed("ping 10.0.0.2 -w 10 -c 1") - node1.succeed("ping 10.0.0.3 -w 10 -c 1") - node2.succeed("ping 10.0.0.1 -w 10 -c 1") - node2.succeed("ping 10.0.0.3 -w 10 -c 1") - node3.succeed("ping 10.0.0.1 -w 10 -c 1") - node3.succeed("ping 10.0.0.2 -w 10 -c 1") - ''; -}) + node1.succeed("ping 10.0.0.2 -w 10 -c 1") + node1.succeed("ping 10.0.0.3 -w 10 -c 1") + node2.succeed("ping 10.0.0.1 -w 10 -c 1") + node2.succeed("ping 10.0.0.3 -w 10 -c 1") + node3.succeed("ping 10.0.0.1 -w 10 -c 1") + node3.succeed("ping 10.0.0.2 -w 10 -c 1") + ''; + } +) diff --git a/nixos/tests/systemd-networkd-dhcpserver-static-leases.nix b/nixos/tests/systemd-networkd-dhcpserver-static-leases.nix index 8c0ebeee97c77..4604b28caf913 100644 --- a/nixos/tests/systemd-networkd-dhcpserver-static-leases.nix +++ b/nixos/tests/systemd-networkd-dhcpserver-static-leases.nix @@ -1,89 +1,94 @@ # In contrast to systemd-networkd-dhcpserver, this test configures # the router with a static DHCP lease for the client's MAC address. -import ./make-test-python.nix ({ lib, ... }: { - name = "systemd-networkd-dhcpserver-static-leases"; - meta = with lib.maintainers; { - maintainers = [ veehaitch ]; - }; - nodes = { - router = { - virtualisation.vlans = [ 1 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - systemd.network = { - networks = { - # systemd-networkd will load the first network unit file - # that matches, ordered lexiographically by filename. - # /etc/systemd/network/{40-eth1,99-main}.network already - # exists. This network unit must be loaded for the test, - # however, hence why this network is named such. - "01-eth1" = { - name = "eth1"; - networkConfig = { - DHCPServer = true; - Address = "10.0.0.1/24"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "systemd-networkd-dhcpserver-static-leases"; + meta = with lib.maintainers; { + maintainers = [ veehaitch ]; + }; + nodes = { + router = { + virtualisation.vlans = [ 1 ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + }; + systemd.network = { + networks = { + # systemd-networkd will load the first network unit file + # that matches, ordered lexiographically by filename. + # /etc/systemd/network/{40-eth1,99-main}.network already + # exists. This network unit must be loaded for the test, + # however, hence why this network is named such. + "01-eth1" = { + name = "eth1"; + networkConfig = { + DHCPServer = true; + Address = "10.0.0.1/24"; + }; + dhcpServerStaticLeases = [ + { + MACAddress = "02:de:ad:be:ef:01"; + Address = "10.0.0.10"; + } + ]; }; - dhcpServerStaticLeases = [{ - MACAddress = "02:de:ad:be:ef:01"; - Address = "10.0.0.10"; - }]; }; }; }; - }; - client = { - virtualisation.vlans = [ 1 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - systemd.network = { - enable = true; - links."10-eth1" = { - matchConfig.OriginalName = "eth1"; - linkConfig.MACAddress = "02:de:ad:be:ef:01"; - }; - networks."40-eth1" = { - matchConfig.Name = "eth1"; - networkConfig = { - DHCP = "ipv4"; - IPv6AcceptRA = false; + client = { + virtualisation.vlans = [ 1 ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + systemd.network = { + enable = true; + links."10-eth1" = { + matchConfig.OriginalName = "eth1"; + linkConfig.MACAddress = "02:de:ad:be:ef:01"; + }; + networks."40-eth1" = { + matchConfig.Name = "eth1"; + networkConfig = { + DHCP = "ipv4"; + IPv6AcceptRA = false; + }; + # This setting is important to have the router assign the + # configured lease based on the client's MAC address. Also see: + # https://github.com/systemd/systemd/issues/21368#issuecomment-982193546 + dhcpV4Config.ClientIdentifier = "mac"; + linkConfig.RequiredForOnline = "routable"; }; - # This setting is important to have the router assign the - # configured lease based on the client's MAC address. Also see: - # https://github.com/systemd/systemd/issues/21368#issuecomment-982193546 - dhcpV4Config.ClientIdentifier = "mac"; - linkConfig.RequiredForOnline = "routable"; }; - }; - networking = { - useDHCP = false; - firewall.enable = false; - interfaces.eth1 = lib.mkForce {}; + networking = { + useDHCP = false; + firewall.enable = false; + interfaces.eth1 = lib.mkForce { }; + }; }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("check router network configuration"): - router.wait_for_unit("systemd-networkd-wait-online.service") - eth1_status = router.succeed("networkctl status eth1") - assert "Network File: /etc/systemd/network/01-eth1.network" in eth1_status, \ - "The router interface eth1 is not using the expected network file" - assert "10.0.0.1" in eth1_status, "Did not find expected router IPv4" + with subtest("check router network configuration"): + router.wait_for_unit("systemd-networkd-wait-online.service") + eth1_status = router.succeed("networkctl status eth1") + assert "Network File: /etc/systemd/network/01-eth1.network" in eth1_status, \ + "The router interface eth1 is not using the expected network file" + assert "10.0.0.1" in eth1_status, "Did not find expected router IPv4" - with subtest("check client network configuration"): - client.wait_for_unit("systemd-networkd-wait-online.service") - eth1_status = client.succeed("networkctl status eth1") - assert "Network File: /etc/systemd/network/40-eth1.network" in eth1_status, \ - "The client interface eth1 is not using the expected network file" - assert "10.0.0.10" in eth1_status, "Did not find expected client IPv4" + with subtest("check client network configuration"): + client.wait_for_unit("systemd-networkd-wait-online.service") + eth1_status = client.succeed("networkctl status eth1") + assert "Network File: /etc/systemd/network/40-eth1.network" in eth1_status, \ + "The client interface eth1 is not using the expected network file" + assert "10.0.0.10" in eth1_status, "Did not find expected client IPv4" - with subtest("router and client can reach each other"): - client.wait_until_succeeds("ping -c 5 10.0.0.1") - router.wait_until_succeeds("ping -c 5 10.0.0.10") - ''; -}) + with subtest("router and client can reach each other"): + client.wait_until_succeeds("ping -c 5 10.0.0.1") + router.wait_until_succeeds("ping -c 5 10.0.0.10") + ''; + } +) diff --git a/nixos/tests/systemd-networkd-dhcpserver.nix b/nixos/tests/systemd-networkd-dhcpserver.nix index fda0c9d641938..59cc2cfd52456 100644 --- a/nixos/tests/systemd-networkd-dhcpserver.nix +++ b/nixos/tests/systemd-networkd-dhcpserver.nix @@ -7,106 +7,121 @@ # br0 ----untagged---v # +---PVID 1+VLAN 2---[bridge]---PVID 2---eth1 # vlan2 ---VLAN 2----^ -import ./make-test-python.nix ({pkgs, ...}: { - name = "systemd-networkd-dhcpserver"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - nodes = { - router = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - }; - systemd.network = { - netdevs = { - br0 = { - enable = true; - netdevConfig = { - Name = "br0"; - Kind = "bridge"; - }; - extraConfig = '' - [Bridge] - VLANFiltering=yes - DefaultPVID=none - ''; - }; - vlan2 = { - enable = true; - netdevConfig = { - Name = "vlan2"; - Kind = "vlan"; - }; - vlanConfig.Id = 2; - }; - }; - networks = { - # systemd-networkd will load the first network unit file - # that matches, ordered lexiographically by filename. - # /etc/systemd/network/{40-eth1,99-main}.network already - # exists. This network unit must be loaded for the test, - # however, hence why this network is named such. - "01-eth1" = { - name = "eth1"; - networkConfig.Bridge = "br0"; - bridgeVLANs = [ - { PVID = 2; EgressUntagged = 2; } - ]; - }; - "02-br0" = { - name = "br0"; - networkConfig = { - DHCPServer = true; - Address = "10.0.0.1/24"; - VLAN = ["vlan2"]; - }; - dhcpServerConfig = { - PoolOffset = 100; - PoolSize = 1; - }; - bridgeVLANs = [ - { PVID = 1; EgressUntagged = 1; } - { VLAN = 2; } - ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "systemd-networkd-dhcpserver"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; + nodes = { + router = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; }; - "02-vlan2" = { - name = "vlan2"; - networkConfig = { - DHCPServer = true; - Address = "10.0.2.1/24"; + systemd.network = { + netdevs = { + br0 = { + enable = true; + netdevConfig = { + Name = "br0"; + Kind = "bridge"; + }; + extraConfig = '' + [Bridge] + VLANFiltering=yes + DefaultPVID=none + ''; + }; + vlan2 = { + enable = true; + netdevConfig = { + Name = "vlan2"; + Kind = "vlan"; + }; + vlanConfig.Id = 2; + }; }; - dhcpServerConfig = { - PoolOffset = 100; - PoolSize = 1; + networks = { + # systemd-networkd will load the first network unit file + # that matches, ordered lexiographically by filename. + # /etc/systemd/network/{40-eth1,99-main}.network already + # exists. This network unit must be loaded for the test, + # however, hence why this network is named such. + "01-eth1" = { + name = "eth1"; + networkConfig.Bridge = "br0"; + bridgeVLANs = [ + { + PVID = 2; + EgressUntagged = 2; + } + ]; + }; + "02-br0" = { + name = "br0"; + networkConfig = { + DHCPServer = true; + Address = "10.0.0.1/24"; + VLAN = [ "vlan2" ]; + }; + dhcpServerConfig = { + PoolOffset = 100; + PoolSize = 1; + }; + bridgeVLANs = [ + { + PVID = 1; + EgressUntagged = 1; + } + { VLAN = 2; } + ]; + }; + "02-vlan2" = { + name = "vlan2"; + networkConfig = { + DHCPServer = true; + Address = "10.0.2.1/24"; + }; + dhcpServerConfig = { + PoolOffset = 100; + PoolSize = 1; + }; + }; }; }; }; - }; - }; - client = { config, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - networking = { - useNetworkd = true; - useDHCP = false; - firewall.enable = false; - interfaces.eth1.useDHCP = true; - }; + client = + { config, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + networking = { + useNetworkd = true; + useDHCP = false; + firewall.enable = false; + interfaces.eth1.useDHCP = true; + }; + }; }; - }; - testScript = { ... }: '' - start_all() + testScript = + { ... }: + '' + start_all() - router.systemctl("start network-online.target") - client.systemctl("start network-online.target") - router.wait_for_unit("systemd-networkd-wait-online.service") - client.wait_for_unit("systemd-networkd-wait-online.service") - client.wait_until_succeeds("ping -c 5 10.0.2.1") - router.wait_until_succeeds("ping -c 5 10.0.2.100") - ''; -}) + router.systemctl("start network-online.target") + client.systemctl("start network-online.target") + router.wait_for_unit("systemd-networkd-wait-online.service") + client.wait_for_unit("systemd-networkd-wait-online.service") + client.wait_until_succeeds("ping -c 5 10.0.2.1") + router.wait_until_succeeds("ping -c 5 10.0.2.100") + ''; + } +) diff --git a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix index 2ea6d0effd536..5ab21bee01957 100644 --- a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix +++ b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix @@ -7,329 +7,356 @@ # - VLAN 1 is the connection between the ISP and the router # - VLAN 2 is the connection between the router and the client -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "systemd-networkd-ipv6-prefix-delegation"; - meta = with lib.maintainers; { - maintainers = [ andir hexa ]; - }; - nodes = { - - # The ISP's routers job is to delegate IPv6 prefixes via DHCPv6. Like with - # regular IPv6 auto-configuration it will also emit IPv6 router - # advertisements (RAs). Those RA's will not carry a prefix but in contrast - # just set the "Other" flag to indicate to the receiving nodes that they - # should attempt DHCPv6. - # - # Note: On the ISPs device we don't really care if we are using networkd in - # this example. That being said we can't use it (yet) as networkd doesn't - # implement the serving side of DHCPv6. We will use ISC Kea for that task. - isp = { lib, pkgs, ... }: { - virtualisation.vlans = [ 1 ]; - networking = { - useDHCP = false; - firewall.enable = false; - interfaces.eth1 = lib.mkForce {}; # Don't use scripted networking - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "systemd-networkd-ipv6-prefix-delegation"; + meta = with lib.maintainers; { + maintainers = [ + andir + hexa + ]; + }; + nodes = { + + # The ISP's routers job is to delegate IPv6 prefixes via DHCPv6. Like with + # regular IPv6 auto-configuration it will also emit IPv6 router + # advertisements (RAs). Those RA's will not carry a prefix but in contrast + # just set the "Other" flag to indicate to the receiving nodes that they + # should attempt DHCPv6. + # + # Note: On the ISPs device we don't really care if we are using networkd in + # this example. That being said we can't use it (yet) as networkd doesn't + # implement the serving side of DHCPv6. We will use ISC Kea for that task. + isp = + { lib, pkgs, ... }: + { + virtualisation.vlans = [ 1 ]; + networking = { + useDHCP = false; + firewall.enable = false; + interfaces.eth1 = lib.mkForce { }; # Don't use scripted networking + }; - systemd.network = { - enable = true; - - networks = { - "eth1" = { - matchConfig.Name = "eth1"; - address = [ - "2001:DB8::1/64" - ]; - networkConfig.IPv4Forwarding = true; - networkConfig.IPv6Forwarding = true; + systemd.network = { + enable = true; + + networks = { + "eth1" = { + matchConfig.Name = "eth1"; + address = [ + "2001:DB8::1/64" + ]; + networkConfig.IPv4Forwarding = true; + networkConfig.IPv6Forwarding = true; + }; + }; }; - }; - }; - # Since we want to program the routes that we delegate to the "customer" - # into our routing table we must provide kea with the required capability. - systemd.services.kea-dhcp6-server.serviceConfig = { - AmbientCapabilities = [ "CAP_NET_ADMIN" ]; - CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; - }; + # Since we want to program the routes that we delegate to the "customer" + # into our routing table we must provide kea with the required capability. + systemd.services.kea-dhcp6-server.serviceConfig = { + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; + }; - services = { - # Configure the DHCPv6 server to hand out both IA_NA and IA_PD. - # - # We will hand out /48 prefixes from the subnet 2001:DB8:F000::/36. - # That gives us ~8k prefixes. That should be enough for this test. - # - # Since (usually) you will not receive a prefix with the router - # advertisements we also hand out /128 leases from the range - # 2001:DB8:0000:0000:FFFF::/112. - kea.dhcp6 = { - enable = true; - settings = { - interfaces-config.interfaces = [ "eth1" ]; - subnet6 = [ { - id = 1; - interface = "eth1"; - subnet = "2001:DB8::/32"; - pd-pools = [ { - prefix = "2001:DB8:1000::"; - prefix-len = 36; - delegated-len = 48; - } ]; - pools = [ { - pool = "2001:DB8:0000:0000::-2001:DB8:0FFF:FFFF::FFFF"; - } ]; - } ]; - - # This is the glue between Kea and the Kernel FIB. DHCPv6 - # rightfully has no concept of setting up a route in your - # FIB. This step really depends on your setup. + services = { + # Configure the DHCPv6 server to hand out both IA_NA and IA_PD. # - # In a production environment your DHCPv6 server is likely - # not the router. You might want to consider BGP, NETCONF - # calls, … in those cases. + # We will hand out /48 prefixes from the subnet 2001:DB8:F000::/36. + # That gives us ~8k prefixes. That should be enough for this test. # - # In this example we use the run script hook, that lets use - # execute anything and passes information via the environment. - # https://kea.readthedocs.io/en/kea-2.2.0/arm/hooks.html#run-script-run-script-support-for-external-hook-scripts - hooks-libraries = [ { - library = "${pkgs.kea}/lib/kea/hooks/libdhcp_run_script.so"; - parameters = { - name = pkgs.writeShellScript "kea-run-hooks" '' - export PATH="${lib.makeBinPath (with pkgs; [ coreutils iproute2 ])}" - - set -euxo pipefail - - leases6_committed() { - for i in $(seq $LEASES6_SIZE); do - idx=$((i-1)) - prefix_var="LEASES6_AT''${idx}_ADDRESS" - plen_var="LEASES6_AT''${idx}_PREFIX_LEN" - - ip -6 route replace ''${!prefix_var}/''${!plen_var} via $QUERY6_REMOTE_ADDR dev $QUERY6_IFACE_NAME - done + # Since (usually) you will not receive a prefix with the router + # advertisements we also hand out /128 leases from the range + # 2001:DB8:0000:0000:FFFF::/112. + kea.dhcp6 = { + enable = true; + settings = { + interfaces-config.interfaces = [ "eth1" ]; + subnet6 = [ + { + id = 1; + interface = "eth1"; + subnet = "2001:DB8::/32"; + pd-pools = [ + { + prefix = "2001:DB8:1000::"; + prefix-len = 36; + delegated-len = 48; + } + ]; + pools = [ + { + pool = "2001:DB8:0000:0000::-2001:DB8:0FFF:FFFF::FFFF"; + } + ]; } - - unknown_handler() { - echo "Unhandled function call ''${*}" - exit 123 + ]; + + # This is the glue between Kea and the Kernel FIB. DHCPv6 + # rightfully has no concept of setting up a route in your + # FIB. This step really depends on your setup. + # + # In a production environment your DHCPv6 server is likely + # not the router. You might want to consider BGP, NETCONF + # calls, … in those cases. + # + # In this example we use the run script hook, that lets use + # execute anything and passes information via the environment. + # https://kea.readthedocs.io/en/kea-2.2.0/arm/hooks.html#run-script-run-script-support-for-external-hook-scripts + hooks-libraries = [ + { + library = "${pkgs.kea}/lib/kea/hooks/libdhcp_run_script.so"; + parameters = { + name = pkgs.writeShellScript "kea-run-hooks" '' + export PATH="${ + lib.makeBinPath ( + with pkgs; + [ + coreutils + iproute2 + ] + ) + }" + + set -euxo pipefail + + leases6_committed() { + for i in $(seq $LEASES6_SIZE); do + idx=$((i-1)) + prefix_var="LEASES6_AT''${idx}_ADDRESS" + plen_var="LEASES6_AT''${idx}_PREFIX_LEN" + + ip -6 route replace ''${!prefix_var}/''${!plen_var} via $QUERY6_REMOTE_ADDR dev $QUERY6_IFACE_NAME + done + } + + unknown_handler() { + echo "Unhandled function call ''${*}" + exit 123 + } + + case "$1" in + "leases6_committed") + leases6_committed + ;; + *) + unknown_handler "''${@}" + ;; + esac + ''; + sync = false; + }; } - - case "$1" in - "leases6_committed") - leases6_committed - ;; - *) - unknown_handler "''${@}" - ;; - esac - ''; - sync = false; + ]; }; - } ]; - }; - }; + }; - # Finally we have to set up the router advertisements. While we could be - # using networkd or bird for this task `radvd` is probably the most - # venerable of them all. It was made explicitly for this purpose and - # the configuration is much more straightforward than what networkd - # requires. - # As outlined above we will have to set the `Managed` flag as otherwise - # the clients will not know if they should do DHCPv6. (Some do - # anyway/always) - radvd = { - enable = true; - config = '' - interface eth1 { - AdvSendAdvert on; - AdvManagedFlag on; - AdvOtherConfigFlag off; # we don't really have DNS or NTP or anything like that to distribute - prefix ::/64 { - AdvOnLink on; - AdvAutonomous on; - }; + # Finally we have to set up the router advertisements. While we could be + # using networkd or bird for this task `radvd` is probably the most + # venerable of them all. It was made explicitly for this purpose and + # the configuration is much more straightforward than what networkd + # requires. + # As outlined above we will have to set the `Managed` flag as otherwise + # the clients will not know if they should do DHCPv6. (Some do + # anyway/always) + radvd = { + enable = true; + config = '' + interface eth1 { + AdvSendAdvert on; + AdvManagedFlag on; + AdvOtherConfigFlag off; # we don't really have DNS or NTP or anything like that to distribute + prefix ::/64 { + AdvOnLink on; + AdvAutonomous on; + }; + }; + ''; }; - ''; - }; - }; - }; + }; + }; - # This will be our (residential) router that receives the IPv6 prefix (IA_PD) - # and /128 (IA_NA) allocation. - # - # Here we will actually start using networkd. - router = { - virtualisation.vlans = [ 1 2 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - - boot.kernel.sysctl = { - # we want to forward packets from the ISP to the client and back. - "net.ipv6.conf.all.forwarding" = 1; - }; + # This will be our (residential) router that receives the IPv6 prefix (IA_PD) + # and /128 (IA_NA) allocation. + # + # Here we will actually start using networkd. + router = { + virtualisation.vlans = [ + 1 + 2 + ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + + boot.kernel.sysctl = { + # we want to forward packets from the ISP to the client and back. + "net.ipv6.conf.all.forwarding" = 1; + }; - networking = { - useNetworkd = true; - useDHCP = false; - # Consider enabling this in production and generating firewall rules - # for fowarding/input from the configured interfaces so you do not have - # to manage multiple places - firewall.enable = false; - interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; - }; + networking = { + useNetworkd = true; + useDHCP = false; + # Consider enabling this in production and generating firewall rules + # for fowarding/input from the configured interfaces so you do not have + # to manage multiple places + firewall.enable = false; + interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; + }; - systemd.network = { - networks = { - # systemd-networkd will load the first network unit file - # that matches, ordered lexiographically by filename. - # /etc/systemd/network/{40-eth1,99-main}.network already - # exists. This network unit must be loaded for the test, - # however, hence why this network is named such. - - # Configuration of the interface to the ISP. - # We must request accept RAs and request the PD prefix. - "01-eth1" = { - name = "eth1"; - networkConfig = { - Description = "ISP interface"; - IPv6AcceptRA = true; - #DHCP = false; # no need for legacy IP - }; - linkConfig = { - # We care about this interface when talking about being "online". - # If this interface is in the `routable` state we can reach - # others and they should be able to reach us. - RequiredForOnline = "routable"; - }; - # This configures the DHCPv6 client part towards the ISPs DHCPv6 server. - dhcpV6Config = { - # We have to include a request for a prefix in our DHCPv6 client - # request packets. - # Otherwise the upstream DHCPv6 server wouldn't know if we want a - # prefix or not. Note: On some installation it makes sense to - # always force that option on the DHPCv6 server since there are - # certain CPEs that are just not setting this field but happily - # accept the delegated prefix. - PrefixDelegationHint = "::/48"; - }; - ipv6SendRAConfig = { - # Let networkd know that we would very much like to use DHCPv6 - # to obtain the "managed" information. Not sure why they can't - # just take that from the upstream RAs. - Managed = true; + systemd.network = { + networks = { + # systemd-networkd will load the first network unit file + # that matches, ordered lexiographically by filename. + # /etc/systemd/network/{40-eth1,99-main}.network already + # exists. This network unit must be loaded for the test, + # however, hence why this network is named such. + + # Configuration of the interface to the ISP. + # We must request accept RAs and request the PD prefix. + "01-eth1" = { + name = "eth1"; + networkConfig = { + Description = "ISP interface"; + IPv6AcceptRA = true; + #DHCP = false; # no need for legacy IP + }; + linkConfig = { + # We care about this interface when talking about being "online". + # If this interface is in the `routable` state we can reach + # others and they should be able to reach us. + RequiredForOnline = "routable"; + }; + # This configures the DHCPv6 client part towards the ISPs DHCPv6 server. + dhcpV6Config = { + # We have to include a request for a prefix in our DHCPv6 client + # request packets. + # Otherwise the upstream DHCPv6 server wouldn't know if we want a + # prefix or not. Note: On some installation it makes sense to + # always force that option on the DHPCv6 server since there are + # certain CPEs that are just not setting this field but happily + # accept the delegated prefix. + PrefixDelegationHint = "::/48"; + }; + ipv6SendRAConfig = { + # Let networkd know that we would very much like to use DHCPv6 + # to obtain the "managed" information. Not sure why they can't + # just take that from the upstream RAs. + Managed = true; + }; }; - }; - # Interface to the client. Here we should redistribute a /64 from - # the prefix we received from the ISP. - "01-eth2" = { - name = "eth2"; - networkConfig = { - Description = "Client interface"; - # The client shouldn't be allowed to send us RAs, that would be weird. - IPv6AcceptRA = false; - - # Delegate prefixes from the DHCPv6 PD pool. - DHCPPrefixDelegation = true; - IPv6SendRA = true; - }; + # Interface to the client. Here we should redistribute a /64 from + # the prefix we received from the ISP. + "01-eth2" = { + name = "eth2"; + networkConfig = { + Description = "Client interface"; + # The client shouldn't be allowed to send us RAs, that would be weird. + IPv6AcceptRA = false; + + # Delegate prefixes from the DHCPv6 PD pool. + DHCPPrefixDelegation = true; + IPv6SendRA = true; + }; - # In a production environment you should consider setting these as well: - # ipv6SendRAConfig = { + # In a production environment you should consider setting these as well: + # ipv6SendRAConfig = { #EmitDNS = true; #EmitDomains = true; #DNS= = "fe80::1"; # or whatever "well known" IP your router will have on the inside. - # }; - - # This adds a "random" ULA prefix to the interface that is being - # advertised to the clients. - # Not used in this test. - # ipv6Prefixes = [ - # { - # ipv6PrefixConfig = { - # AddressAutoconfiguration = true; - # PreferredLifetimeSec = 1800; - # ValidLifetimeSec = 1800; - # }; - # } - # ]; - }; + # }; + + # This adds a "random" ULA prefix to the interface that is being + # advertised to the clients. + # Not used in this test. + # ipv6Prefixes = [ + # { + # ipv6PrefixConfig = { + # AddressAutoconfiguration = true; + # PreferredLifetimeSec = 1800; + # ValidLifetimeSec = 1800; + # }; + # } + # ]; + }; - # finally we are going to add a static IPv6 unique local address to - # the "lo" interface. This will serve as ICMPv6 echo target to - # verify connectivity from the client to the router. - "01-lo" = { - name = "lo"; - addresses = [ - { Address = "FD42::1/128"; } - ]; + # finally we are going to add a static IPv6 unique local address to + # the "lo" interface. This will serve as ICMPv6 echo target to + # verify connectivity from the client to the router. + "01-lo" = { + name = "lo"; + addresses = [ + { Address = "FD42::1/128"; } + ]; + }; }; }; }; - }; - # This is the client behind the router. We should be receiving router - # advertisements for both the ULA and the delegated prefix. - # All we have to do is boot with the default (networkd) configuration. - client = { - virtualisation.vlans = [ 2 ]; - systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; - networking = { - useNetworkd = true; - useDHCP = false; - interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; + # This is the client behind the router. We should be receiving router + # advertisements for both the ULA and the delegated prefix. + # All we have to do is boot with the default (networkd) configuration. + client = { + virtualisation.vlans = [ 2 ]; + systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug"; + networking = { + useNetworkd = true; + useDHCP = false; + interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; + }; }; }; - }; - - testScript = '' - # First start the router and wait for it it reach a state where we are - # certain networkd is up and it is able to send out RAs - router.start() - router.wait_for_unit("systemd-networkd.service") - - # After that we can boot the client and wait for the network online target. - # Since we only care about IPv6 that should not involve waiting for legacy - # IP leases. - client.start() - client.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") - - # the static address on the router should not be reachable - client.wait_until_succeeds("ping -6 -c 1 FD42::1") - - # the global IP of the ISP router should still not be a reachable - router.fail("ping -6 -c 1 2001:DB8::1") - - # Once we have internal connectivity boot up the ISP - isp.start() - - # Since for the ISP "being online" should have no real meaning we just - # wait for the target where all the units have been started. - # It probably still takes a few more seconds for all the RA timers to be - # fired etc.. - isp.wait_for_unit("multi-user.target") - - # wait until the uplink interface has a good status - router.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") - router.wait_until_succeeds("ping -6 -c1 2001:DB8::1") - - # shortly after that the client should have received it's global IPv6 - # address and thus be able to ping the ISP - client.wait_until_succeeds("ping -6 -c1 2001:DB8::1") - - # verify that we got a globally scoped address in eth1 from the - # documentation prefix - ip_output = client.succeed("ip --json -6 address show dev eth1") - - import json - - ip_json = json.loads(ip_output)[0] - assert any( - addr["local"].upper().startswith("2001:DB8:") - for addr in ip_json["addr_info"] - if addr["scope"] == "global" - ) - ''; -}) + + testScript = '' + # First start the router and wait for it it reach a state where we are + # certain networkd is up and it is able to send out RAs + router.start() + router.wait_for_unit("systemd-networkd.service") + + # After that we can boot the client and wait for the network online target. + # Since we only care about IPv6 that should not involve waiting for legacy + # IP leases. + client.start() + client.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") + + # the static address on the router should not be reachable + client.wait_until_succeeds("ping -6 -c 1 FD42::1") + + # the global IP of the ISP router should still not be a reachable + router.fail("ping -6 -c 1 2001:DB8::1") + + # Once we have internal connectivity boot up the ISP + isp.start() + + # Since for the ISP "being online" should have no real meaning we just + # wait for the target where all the units have been started. + # It probably still takes a few more seconds for all the RA timers to be + # fired etc.. + isp.wait_for_unit("multi-user.target") + + # wait until the uplink interface has a good status + router.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") + router.wait_until_succeeds("ping -6 -c1 2001:DB8::1") + + # shortly after that the client should have received it's global IPv6 + # address and thus be able to ping the ISP + client.wait_until_succeeds("ping -6 -c1 2001:DB8::1") + + # verify that we got a globally scoped address in eth1 from the + # documentation prefix + ip_output = client.succeed("ip --json -6 address show dev eth1") + + import json + + ip_json = json.loads(ip_output)[0] + assert any( + addr["local"].upper().startswith("2001:DB8:") + for addr in ip_json["addr_info"] + if addr["scope"] == "global" + ) + ''; + } +) diff --git a/nixos/tests/systemd-networkd-vrf.nix b/nixos/tests/systemd-networkd-vrf.nix index a7875bb177faf..357431fc297ad 100644 --- a/nixos/tests/systemd-networkd-vrf.nix +++ b/nixos/tests/systemd-networkd-vrf.nix @@ -1,187 +1,202 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: let - inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - - mkNode = vlan: id: { - virtualisation.vlans = [ vlan ]; - networking = { - useDHCP = false; - useNetworkd = true; - }; - - systemd.network = { - enable = true; - - networks."10-eth${toString vlan}" = { - matchConfig.Name = "eth${toString vlan}"; - linkConfig.RequiredForOnline = "no"; - networkConfig = { - Address = "192.168.${toString vlan}.${toString id}/24"; - IPv4Forwarding = "yes"; - IPv6Forwarding = "yes"; - }; - }; - }; - }; -in { - name = "systemd-networkd-vrf"; - meta.maintainers = with lib.maintainers; [ ma27 ]; - - nodes = { - client = { pkgs, ... }: { - virtualisation.vlans = [ 1 2 ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; + mkNode = vlan: id: { + virtualisation.vlans = [ vlan ]; networking = { useDHCP = false; useNetworkd = true; - firewall.checkReversePath = "loose"; }; systemd.network = { enable = true; - netdevs."10-vrf1" = { - netdevConfig = { - Kind = "vrf"; - Name = "vrf1"; - MTUBytes = "1300"; - }; - vrfConfig.Table = 23; - }; - netdevs."10-vrf2" = { - netdevConfig = { - Kind = "vrf"; - Name = "vrf2"; - MTUBytes = "1300"; - }; - vrfConfig.Table = 42; - }; - - networks."10-vrf1" = { - matchConfig.Name = "vrf1"; - networkConfig.IPv4Forwarding = "yes"; - networkConfig.IPv6Forwarding = "yes"; - routes = [ - { Destination = "192.168.1.2"; Metric = 100; } - ]; - }; - networks."10-vrf2" = { - matchConfig.Name = "vrf2"; - networkConfig.IPv4Forwarding = "yes"; - networkConfig.IPv6Forwarding = "yes"; - routes = [ - { Destination = "192.168.2.3"; Metric = 100; } - ]; - }; - - networks."10-eth1" = { - matchConfig.Name = "eth1"; + networks."10-eth${toString vlan}" = { + matchConfig.Name = "eth${toString vlan}"; linkConfig.RequiredForOnline = "no"; networkConfig = { - VRF = "vrf1"; - Address = "192.168.1.1/24"; + Address = "192.168.${toString vlan}.${toString id}/24"; IPv4Forwarding = "yes"; IPv6Forwarding = "yes"; }; }; - networks."10-eth2" = { - matchConfig.Name = "eth2"; - linkConfig.RequiredForOnline = "no"; - networkConfig = { - VRF = "vrf2"; - Address = "192.168.2.1/24"; - IPv4Forwarding = "yes"; - IPv6Forwarding = "yes"; + }; + }; + in + { + name = "systemd-networkd-vrf"; + meta.maintainers = with lib.maintainers; [ ma27 ]; + + nodes = { + client = + { pkgs, ... }: + { + virtualisation.vlans = [ + 1 + 2 + ]; + + networking = { + useDHCP = false; + useNetworkd = true; + firewall.checkReversePath = "loose"; + }; + + systemd.network = { + enable = true; + + netdevs."10-vrf1" = { + netdevConfig = { + Kind = "vrf"; + Name = "vrf1"; + MTUBytes = "1300"; + }; + vrfConfig.Table = 23; + }; + netdevs."10-vrf2" = { + netdevConfig = { + Kind = "vrf"; + Name = "vrf2"; + MTUBytes = "1300"; + }; + vrfConfig.Table = 42; + }; + + networks."10-vrf1" = { + matchConfig.Name = "vrf1"; + networkConfig.IPv4Forwarding = "yes"; + networkConfig.IPv6Forwarding = "yes"; + routes = [ + { + Destination = "192.168.1.2"; + Metric = 100; + } + ]; + }; + networks."10-vrf2" = { + matchConfig.Name = "vrf2"; + networkConfig.IPv4Forwarding = "yes"; + networkConfig.IPv6Forwarding = "yes"; + routes = [ + { + Destination = "192.168.2.3"; + Metric = 100; + } + ]; + }; + + networks."10-eth1" = { + matchConfig.Name = "eth1"; + linkConfig.RequiredForOnline = "no"; + networkConfig = { + VRF = "vrf1"; + Address = "192.168.1.1/24"; + IPv4Forwarding = "yes"; + IPv6Forwarding = "yes"; + }; + }; + networks."10-eth2" = { + matchConfig.Name = "eth2"; + linkConfig.RequiredForOnline = "no"; + networkConfig = { + VRF = "vrf2"; + Address = "192.168.2.1/24"; + IPv4Forwarding = "yes"; + IPv6Forwarding = "yes"; + }; + }; }; }; - }; + + node1 = lib.mkMerge [ + (mkNode 1 2) + { + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + } + ]; + + node2 = mkNode 2 3; + node3 = mkNode 2 4; }; - node1 = lib.mkMerge [ - (mkNode 1 2) - { - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - } - ]; - - node2 = mkNode 2 3; - node3 = mkNode 2 4; - }; - - testScript = '' - import json - - def compare(raw_json, to_compare): - data = json.loads(raw_json) - assert len(raw_json) >= len(to_compare) - for i, row in enumerate(to_compare): - actual = data[i] - assert len(row.keys()) > 0 - for key, value in row.items(): - assert value == actual[key], f""" - In entry {i}, value {key}: got: {actual[key]}, expected {value} - """ - - - start_all() - - client.wait_for_unit("network.target") - node1.wait_for_unit("network.target") - node2.wait_for_unit("network.target") - node3.wait_for_unit("network.target") - - # Check that networkd properly configures the main routing table - # and the routing tables for the VRF. - with subtest("check vrf routing tables"): - compare( - client.succeed("ip --json -4 route list"), - [ - {"dst": "192.168.1.2", "dev": "vrf1", "metric": 100}, - {"dst": "192.168.2.3", "dev": "vrf2", "metric": 100} - ] - ) - compare( - client.succeed("ip --json -4 route list table 23"), - [ - {"dst": "192.168.1.0/24", "dev": "eth1", "prefsrc": "192.168.1.1"}, - {"type": "local", "dst": "192.168.1.1", "dev": "eth1", "prefsrc": "192.168.1.1"}, - {"type": "broadcast", "dev": "eth1", "prefsrc": "192.168.1.1", "dst": "192.168.1.255"} - ] - ) - compare( - client.succeed("ip --json -4 route list table 42"), - [ - {"dst": "192.168.2.0/24", "dev": "eth2", "prefsrc": "192.168.2.1"}, - {"type": "local", "dst": "192.168.2.1", "dev": "eth2", "prefsrc": "192.168.2.1"}, - {"type": "broadcast", "dev": "eth2", "prefsrc": "192.168.2.1", "dst": "192.168.2.255"} - ] - ) - - # Ensure that other nodes are reachable via ICMP through the VRF. - with subtest("icmp through vrf works"): - client.succeed("ping -c5 192.168.1.2") - client.succeed("ping -c5 192.168.2.3") - - # Test whether TCP through a VRF IP is possible. - with subtest("tcp traffic through vrf works"): - node1.wait_for_open_port(22) - client.succeed( - "cat ${snakeOilPrivateKey} > privkey.snakeoil" - ) - client.succeed("chmod 600 privkey.snakeoil") - client.succeed( - "ulimit -l 2048; ip vrf exec vrf1 ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.1.2 true" - ) - - # Only configured routes through the VRF from the main routing table should - # work. Additional IPs are only reachable when binding to the vrf interface. - with subtest("only routes from main routing table work by default"): - client.fail("ping -c5 192.168.2.4") - client.succeed("ping -I vrf2 -c5 192.168.2.4") - - client.shutdown() - node1.shutdown() - node2.shutdown() - node3.shutdown() - ''; -}) + testScript = '' + import json + + def compare(raw_json, to_compare): + data = json.loads(raw_json) + assert len(raw_json) >= len(to_compare) + for i, row in enumerate(to_compare): + actual = data[i] + assert len(row.keys()) > 0 + for key, value in row.items(): + assert value == actual[key], f""" + In entry {i}, value {key}: got: {actual[key]}, expected {value} + """ + + + start_all() + + client.wait_for_unit("network.target") + node1.wait_for_unit("network.target") + node2.wait_for_unit("network.target") + node3.wait_for_unit("network.target") + + # Check that networkd properly configures the main routing table + # and the routing tables for the VRF. + with subtest("check vrf routing tables"): + compare( + client.succeed("ip --json -4 route list"), + [ + {"dst": "192.168.1.2", "dev": "vrf1", "metric": 100}, + {"dst": "192.168.2.3", "dev": "vrf2", "metric": 100} + ] + ) + compare( + client.succeed("ip --json -4 route list table 23"), + [ + {"dst": "192.168.1.0/24", "dev": "eth1", "prefsrc": "192.168.1.1"}, + {"type": "local", "dst": "192.168.1.1", "dev": "eth1", "prefsrc": "192.168.1.1"}, + {"type": "broadcast", "dev": "eth1", "prefsrc": "192.168.1.1", "dst": "192.168.1.255"} + ] + ) + compare( + client.succeed("ip --json -4 route list table 42"), + [ + {"dst": "192.168.2.0/24", "dev": "eth2", "prefsrc": "192.168.2.1"}, + {"type": "local", "dst": "192.168.2.1", "dev": "eth2", "prefsrc": "192.168.2.1"}, + {"type": "broadcast", "dev": "eth2", "prefsrc": "192.168.2.1", "dst": "192.168.2.255"} + ] + ) + + # Ensure that other nodes are reachable via ICMP through the VRF. + with subtest("icmp through vrf works"): + client.succeed("ping -c5 192.168.1.2") + client.succeed("ping -c5 192.168.2.3") + + # Test whether TCP through a VRF IP is possible. + with subtest("tcp traffic through vrf works"): + node1.wait_for_open_port(22) + client.succeed( + "cat ${snakeOilPrivateKey} > privkey.snakeoil" + ) + client.succeed("chmod 600 privkey.snakeoil") + client.succeed( + "ulimit -l 2048; ip vrf exec vrf1 ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.1.2 true" + ) + + # Only configured routes through the VRF from the main routing table should + # work. Additional IPs are only reachable when binding to the vrf interface. + with subtest("only routes from main routing table work by default"): + client.fail("ping -c5 192.168.2.4") + client.succeed("ping -I vrf2 -c5 192.168.2.4") + + client.shutdown() + node1.shutdown() + node2.shutdown() + node3.shutdown() + ''; + } +) diff --git a/nixos/tests/systemd-no-tainted.nix b/nixos/tests/systemd-no-tainted.nix index f0504065f2a48..12b68868415c4 100644 --- a/nixos/tests/systemd-no-tainted.nix +++ b/nixos/tests/systemd-no-tainted.nix @@ -1,14 +1,17 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "systemd-no-tainted"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "systemd-no-tainted"; - nodes.machine = { }; + nodes.machine = { }; - testScript = '' - machine.wait_for_unit("multi-user.target") - with subtest("systemctl should not report tainted with unmerged-usr"): - output = machine.succeed("systemctl status") - print(output) - assert "Tainted" not in output - assert "unmerged-usr" not in output - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + with subtest("systemctl should not report tainted with unmerged-usr"): + output = machine.succeed("systemctl status") + print(output) + assert "Tainted" not in output + assert "unmerged-usr" not in output + ''; + } +) diff --git a/nixos/tests/systemd-nspawn-configfile.nix b/nixos/tests/systemd-nspawn-configfile.nix index 12ab21b7f9b57..8dd0260d2aeee 100644 --- a/nixos/tests/systemd-nspawn-configfile.nix +++ b/nixos/tests/systemd-nspawn-configfile.nix @@ -1,128 +1,133 @@ -import ./make-test-python.nix ({ lib, ... }: -let - execOptions = [ - "Boot" - "ProcessTwo" - "Parameters" - "Environment" - "User" - "WorkingDirectory" - "PivotRoot" - "Capability" - "DropCapability" - "NoNewPrivileges" - "KillSignal" - "Personality" - "MachineID" - "PrivateUsers" - "NotifyReady" - "SystemCallFilter" - "LimitCPU" - "LimitFSIZE" - "LimitDATA" - "LimitSTACK" - "LimitCORE" - "LimitRSS" - "LimitNOFILE" - "LimitAS" - "LimitNPROC" - "LimitMEMLOCK" - "LimitLOCKS" - "LimitSIGPENDING" - "LimitMSGQUEUE" - "LimitNICE" - "LimitRTPRIO" - "LimitRTTIME" - "OOMScoreAdjust" - "CPUAffinity" - "Hostname" - "ResolvConf" - "Timezone" - "LinkJournal" - "Ephemeral" - "AmbientCapability" - ]; +import ./make-test-python.nix ( + { lib, ... }: + let + execOptions = [ + "Boot" + "ProcessTwo" + "Parameters" + "Environment" + "User" + "WorkingDirectory" + "PivotRoot" + "Capability" + "DropCapability" + "NoNewPrivileges" + "KillSignal" + "Personality" + "MachineID" + "PrivateUsers" + "NotifyReady" + "SystemCallFilter" + "LimitCPU" + "LimitFSIZE" + "LimitDATA" + "LimitSTACK" + "LimitCORE" + "LimitRSS" + "LimitNOFILE" + "LimitAS" + "LimitNPROC" + "LimitMEMLOCK" + "LimitLOCKS" + "LimitSIGPENDING" + "LimitMSGQUEUE" + "LimitNICE" + "LimitRTPRIO" + "LimitRTTIME" + "OOMScoreAdjust" + "CPUAffinity" + "Hostname" + "ResolvConf" + "Timezone" + "LinkJournal" + "Ephemeral" + "AmbientCapability" + ]; - filesOptions = [ - "ReadOnly" - "Volatile" - "Bind" - "BindReadOnly" - "TemporaryFileSystem" - "Overlay" - "OverlayReadOnly" - "PrivateUsersChown" - "BindUser" - "Inaccessible" - "PrivateUsersOwnership" - ]; + filesOptions = [ + "ReadOnly" + "Volatile" + "Bind" + "BindReadOnly" + "TemporaryFileSystem" + "Overlay" + "OverlayReadOnly" + "PrivateUsersChown" + "BindUser" + "Inaccessible" + "PrivateUsersOwnership" + ]; - networkOptions = [ - "Private" - "VirtualEthernet" - "VirtualEthernetExtra" - "Interface" - "MACVLAN" - "IPVLAN" - "Bridge" - "Zone" - "Port" - ]; + networkOptions = [ + "Private" + "VirtualEthernet" + "VirtualEthernetExtra" + "Interface" + "MACVLAN" + "IPVLAN" + "Bridge" + "Zone" + "Port" + ]; - optionsToConfig = opts: builtins.listToAttrs (map (n: lib.nameValuePair n "testdata") opts); + optionsToConfig = opts: builtins.listToAttrs (map (n: lib.nameValuePair n "testdata") opts); - grepForOptions = opts: ''node.succeed( - "for o in ${builtins.concatStringsSep " " opts} ; do grep --quiet $o ${configFile} || exit 1 ; done" - )''; + grepForOptions = opts: '' + node.succeed( + "for o in ${builtins.concatStringsSep " " opts} ; do grep --quiet $o ${configFile} || exit 1 ; done" + )''; - unitName = "options-test"; - configFile = "/etc/systemd/nspawn/${unitName}.nspawn"; + unitName = "options-test"; + configFile = "/etc/systemd/nspawn/${unitName}.nspawn"; -in -{ - name = "systemd-nspawn-configfile"; + in + { + name = "systemd-nspawn-configfile"; - nodes = { - node = { pkgs, ... }: { - systemd.nspawn."${unitName}" = { - enable = true; + nodes = { + node = + { pkgs, ... }: + { + systemd.nspawn."${unitName}" = { + enable = true; - execConfig = optionsToConfig execOptions // { - Boot = true; - ProcessTwo = true; - NotifyReady = true; - }; + execConfig = optionsToConfig execOptions // { + Boot = true; + ProcessTwo = true; + NotifyReady = true; + }; - filesConfig = optionsToConfig filesOptions // { - ReadOnly = true; - Volatile = "state"; - PrivateUsersChown = true; - PrivateUsersOwnership = "auto"; - }; + filesConfig = optionsToConfig filesOptions // { + ReadOnly = true; + Volatile = "state"; + PrivateUsersChown = true; + PrivateUsersOwnership = "auto"; + }; - networkConfig = optionsToConfig networkOptions // { - Private = true; - VirtualEthernet = true; + networkConfig = optionsToConfig networkOptions // { + Private = true; + VirtualEthernet = true; + }; + }; }; - }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - node.wait_for_file("${configFile}") + node.wait_for_file("${configFile}") - with subtest("Test for presence of all specified options in config file"): - ${grepForOptions execOptions} - ${grepForOptions filesOptions} - ${grepForOptions networkOptions} + with subtest("Test for presence of all specified options in config file"): + ${grepForOptions execOptions} + ${grepForOptions filesOptions} + ${grepForOptions networkOptions} - with subtest("Test for absence of misspelled option 'MachineId' (instead of 'MachineID')"): - node.fail("grep --quiet MachineId ${configFile}") - ''; + with subtest("Test for absence of misspelled option 'MachineId' (instead of 'MachineID')"): + node.fail("grep --quiet MachineId ${configFile}") + ''; - meta.maintainers = [ - lib.maintainers.zi3m5f - ]; -}) + meta.maintainers = [ + lib.maintainers.zi3m5f + ]; + } +) diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix index b86762233d183..feda47bf34ef6 100644 --- a/nixos/tests/systemd-nspawn.nix +++ b/nixos/tests/systemd-nspawn.nix @@ -1,52 +1,68 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -let - gpgKeyring = import ./common/gpg-keyring.nix { inherit pkgs; }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + gpgKeyring = import ./common/gpg-keyring.nix { inherit pkgs; }; - nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } '' - mkdir -p $out - cd $out + nspawnImages = ( + pkgs.runCommand "localhost" + { + buildInputs = [ + pkgs.coreutils + pkgs.gnupg + ]; + } + '' + mkdir -p $out + cd $out - # produce a testimage.raw - dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5 + # produce a testimage.raw + dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5 - # produce a testimage2.tar.xz, containing the hello store path - tar cvJpf testimage2.tar.xz ${pkgs.hello} + # produce a testimage2.tar.xz, containing the hello store path + tar cvJpf testimage2.tar.xz ${pkgs.hello} - # produce signature(s) - sha256sum testimage* > SHA256SUMS - export GNUPGHOME="$(mktemp -d)" - cp -R ${gpgKeyring}/* $GNUPGHOME - gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS - ''); -in { - name = "systemd-nspawn"; + # produce signature(s) + sha256sum testimage* > SHA256SUMS + export GNUPGHOME="$(mktemp -d)" + cp -R ${gpgKeyring}/* $GNUPGHOME + gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS + '' + ); + in + { + name = "systemd-nspawn"; - nodes = { - server = { pkgs, ... }: { - networking.firewall.allowedTCPPorts = [ 80 ]; - services.nginx = { - enable = true; - virtualHosts."server".root = nspawnImages; - }; + nodes = { + server = + { pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 80 ]; + services.nginx = { + enable = true; + virtualHosts."server".root = nspawnImages; + }; + }; + client = + { pkgs, ... }: + { + environment.etc."systemd/import-pubring.gpg".source = "${gpgKeyring}/pubkey.gpg"; + }; }; - client = { pkgs, ... }: { - environment.etc."systemd/import-pubring.gpg".source = "${gpgKeyring}/pubkey.gpg"; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("nginx.service") - client.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") - client.succeed("machinectl pull-raw --verify=signature http://server/testimage.raw") - client.succeed( - "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw" - ) - client.succeed("machinectl pull-tar --verify=signature http://server/testimage2.tar.xz") - client.succeed( - "cmp /var/lib/machines/testimage2/${pkgs.hello}/bin/hello ${pkgs.hello}/bin/hello" - ) - ''; -}) + server.wait_for_unit("nginx.service") + client.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") + client.succeed("machinectl pull-raw --verify=signature http://server/testimage.raw") + client.succeed( + "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw" + ) + client.succeed("machinectl pull-tar --verify=signature http://server/testimage2.tar.xz") + client.succeed( + "cmp /var/lib/machines/testimage2/${pkgs.hello}/bin/hello ${pkgs.hello}/bin/hello" + ) + ''; + } +) diff --git a/nixos/tests/systemd-oomd.nix b/nixos/tests/systemd-oomd.nix index 55c4c13500005..5c95c6705c714 100644 --- a/nixos/tests/systemd-oomd.nix +++ b/nixos/tests/systemd-oomd.nix @@ -1,54 +1,58 @@ -import ./make-test-python.nix ({ pkgs, ... }: - -{ - name = "systemd-oomd"; - - # This test is a simplified version of systemd's testsuite-55. - # https://github.com/systemd/systemd/blob/v251/test/units/testsuite-55.sh - nodes.machine = { pkgs, ... }: { - # Limit VM resource usage. - virtualisation.memorySize = 1024; - systemd.oomd.extraConfig.DefaultMemoryPressureDurationSec = "1s"; - - systemd.slices.workload = { - description = "Test slice for memory pressure kills"; - sliceConfig = { - MemoryAccounting = true; - ManagedOOMMemoryPressure = "kill"; - ManagedOOMMemoryPressureLimit = "10%"; +import ./make-test-python.nix ( + { pkgs, ... }: + + { + name = "systemd-oomd"; + + # This test is a simplified version of systemd's testsuite-55. + # https://github.com/systemd/systemd/blob/v251/test/units/testsuite-55.sh + nodes.machine = + { pkgs, ... }: + { + # Limit VM resource usage. + virtualisation.memorySize = 1024; + systemd.oomd.extraConfig.DefaultMemoryPressureDurationSec = "1s"; + + systemd.slices.workload = { + description = "Test slice for memory pressure kills"; + sliceConfig = { + MemoryAccounting = true; + ManagedOOMMemoryPressure = "kill"; + ManagedOOMMemoryPressureLimit = "10%"; + }; + }; + + systemd.services.testbloat = { + description = "Create a lot of memory pressure"; + serviceConfig = { + Slice = "workload.slice"; + MemoryHigh = "5M"; + ExecStart = "${pkgs.coreutils}/bin/tail /dev/zero"; + }; + }; + + systemd.services.testchill = { + description = "No memory pressure"; + serviceConfig = { + Slice = "workload.slice"; + MemoryHigh = "3M"; + ExecStart = "${pkgs.coreutils}/bin/sleep infinity"; + }; + }; }; - }; - - systemd.services.testbloat = { - description = "Create a lot of memory pressure"; - serviceConfig = { - Slice = "workload.slice"; - MemoryHigh = "5M"; - ExecStart = "${pkgs.coreutils}/bin/tail /dev/zero"; - }; - }; - - systemd.services.testchill = { - description = "No memory pressure"; - serviceConfig = { - Slice = "workload.slice"; - MemoryHigh = "3M"; - ExecStart = "${pkgs.coreutils}/bin/sleep infinity"; - }; - }; - }; - - testScript = '' - # Start the system. - machine.wait_for_unit("multi-user.target") - machine.succeed("oomctl") - - machine.succeed("systemctl start testchill.service") - with subtest("OOMd should kill the bad service"): - machine.fail("systemctl start --wait testbloat.service") - assert machine.get_unit_info("testbloat.service")["Result"] == "oom-kill" - - with subtest("Service without memory pressure should be untouched"): - machine.require_unit_state("testchill.service", "active") - ''; -}) + + testScript = '' + # Start the system. + machine.wait_for_unit("multi-user.target") + machine.succeed("oomctl") + + machine.succeed("systemctl start testchill.service") + with subtest("OOMd should kill the bad service"): + machine.fail("systemctl start --wait testbloat.service") + assert machine.get_unit_info("testbloat.service")["Result"] == "oom-kill" + + with subtest("Service without memory pressure should be untouched"): + machine.require_unit_state("testchill.service", "active") + ''; + } +) diff --git a/nixos/tests/systemd-portabled.nix b/nixos/tests/systemd-portabled.nix index ef38258b0d866..caece9089d226 100644 --- a/nixos/tests/systemd-portabled.nix +++ b/nixos/tests/systemd-portabled.nix @@ -1,51 +1,58 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: let - demo-program = pkgs.writeShellScriptBin "demo" '' +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + demo-program = pkgs.writeShellScriptBin "demo" '' while ${pkgs.coreutils}/bin/sleep 3; do echo Hello World > /dev/null done - ''; - demo-service = pkgs.writeText "demo.service" '' - [Unit] - Description=demo service - Requires=demo.socket - After=demo.socket + ''; + demo-service = pkgs.writeText "demo.service" '' + [Unit] + Description=demo service + Requires=demo.socket + After=demo.socket - [Service] - Type=simple - ExecStart=${demo-program}/bin/demo - Restart=always + [Service] + Type=simple + ExecStart=${demo-program}/bin/demo + Restart=always - [Install] - WantedBy=multi-user.target - Also=demo.socket - ''; - demo-socket = pkgs.writeText "demo.socket" '' - [Unit] - Description=demo socket + [Install] + WantedBy=multi-user.target + Also=demo.socket + ''; + demo-socket = pkgs.writeText "demo.socket" '' + [Unit] + Description=demo socket - [Socket] - ListenStream=/run/demo.sock - SocketMode=0666 + [Socket] + ListenStream=/run/demo.sock + SocketMode=0666 - [Install] - WantedBy=sockets.target - ''; - demo-portable = pkgs.portableService { - pname = "demo"; - version = "1.0"; - description = ''A demo "Portable Service" for a shell program built with nix''; - units = [ demo-service demo-socket ]; - }; -in { + [Install] + WantedBy=sockets.target + ''; + demo-portable = pkgs.portableService { + pname = "demo"; + version = "1.0"; + description = ''A demo "Portable Service" for a shell program built with nix''; + units = [ + demo-service + demo-socket + ]; + }; + in + { - name = "systemd-portabled"; - nodes.machine = {}; - testScript = '' - machine.succeed("portablectl") - machine.wait_for_unit("systemd-portabled.service") - machine.succeed("portablectl attach --now --runtime ${demo-portable}/demo_1.0.raw") - machine.wait_for_unit("demo.service") - machine.succeed("portablectl detach --now --runtime demo_1.0") - machine.fail("systemctl status demo.service") - ''; -}) + name = "systemd-portabled"; + nodes.machine = { }; + testScript = '' + machine.succeed("portablectl") + machine.wait_for_unit("systemd-portabled.service") + machine.succeed("portablectl attach --now --runtime ${demo-portable}/demo_1.0.raw") + machine.wait_for_unit("demo.service") + machine.succeed("portablectl detach --now --runtime demo_1.0") + machine.fail("systemctl status demo.service") + ''; + } +) diff --git a/nixos/tests/systemd-repart.nix b/nixos/tests/systemd-repart.nix index 3914d5b323977..871c66d5350e7 100644 --- a/nixos/tests/systemd-repart.nix +++ b/nixos/tests/systemd-repart.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -33,150 +34,174 @@ let os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name ''; - common = { config, pkgs, lib, ... }: { - virtualisation.useDefaultFilesystems = false; - virtualisation.fileSystems = { - "/" = { - device = "/dev/vda2"; - fsType = "ext4"; + common = + { + config, + pkgs, + lib, + ... + }: + { + virtualisation.useDefaultFilesystems = false; + virtualisation.fileSystems = { + "/" = { + device = "/dev/vda2"; + fsType = "ext4"; + }; }; - }; - # systemd-repart operates on disks with a partition table. The qemu module, - # however, creates separate filesystem images without a partition table, so - # we have to create a disk image manually. - # - # This creates two partitions, an ESP available as /dev/vda1 and the root - # partition available as /dev/vda2. - system.build.diskImage = import ../lib/make-disk-image.nix { - inherit config pkgs lib; - # Use a raw format disk so that it can be resized before starting the - # test VM. - format = "raw"; - # Keep the image as small as possible but leave some room for changes. - bootSize = "32M"; - additionalSpace = "0M"; - # GPT with an EFI System Partition is the typical use case for - # systemd-repart because it does not support MBR. - partitionTableType = "efi"; - # We do not actually care much about the content of the partitions, so we - # do not need a bootloader installed. - installBootLoader = false; - # Improve determinism by not copying a channel. - copyChannel = false; + # systemd-repart operates on disks with a partition table. The qemu module, + # however, creates separate filesystem images without a partition table, so + # we have to create a disk image manually. + # + # This creates two partitions, an ESP available as /dev/vda1 and the root + # partition available as /dev/vda2. + system.build.diskImage = import ../lib/make-disk-image.nix { + inherit config pkgs lib; + # Use a raw format disk so that it can be resized before starting the + # test VM. + format = "raw"; + # Keep the image as small as possible but leave some room for changes. + bootSize = "32M"; + additionalSpace = "0M"; + # GPT with an EFI System Partition is the typical use case for + # systemd-repart because it does not support MBR. + partitionTableType = "efi"; + # We do not actually care much about the content of the partitions, so we + # do not need a bootloader installed. + installBootLoader = false; + # Improve determinism by not copying a channel. + copyChannel = false; + }; }; - }; in { basic = makeTest { name = "systemd-repart"; meta.maintainers = with maintainers; [ nikstur ]; - nodes.machine = { config, pkgs, ... }: { - imports = [ common ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ common ]; - boot.initrd.systemd.enable = true; + boot.initrd.systemd.enable = true; - boot.initrd.systemd.repart.enable = true; - systemd.repart.partitions = { - "10-root" = { - Type = "linux-generic"; + boot.initrd.systemd.repart.enable = true; + systemd.repart.partitions = { + "10-root" = { + Type = "linux-generic"; + }; }; }; - }; - testScript = { nodes, ... }: '' - ${useDiskImage nodes.machine} + testScript = + { nodes, ... }: + '' + ${useDiskImage nodes.machine} - machine.start() - machine.wait_for_unit("multi-user.target") + machine.start() + machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") - assert "Growing existing partition 1." in systemd_repart_logs - ''; + systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") + assert "Growing existing partition 1." in systemd_repart_logs + ''; }; after-initrd = makeTest { name = "systemd-repart-after-initrd"; meta.maintainers = with maintainers; [ nikstur ]; - nodes.machine = { config, pkgs, ... }: { - imports = [ common ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ common ]; - systemd.repart.enable = true; - systemd.repart.partitions = { - "10-root" = { - Type = "linux-generic"; + systemd.repart.enable = true; + systemd.repart.partitions = { + "10-root" = { + Type = "linux-generic"; + }; }; }; - }; - testScript = { nodes, ... }: '' - ${useDiskImage nodes.machine} + testScript = + { nodes, ... }: + '' + ${useDiskImage nodes.machine} - machine.start() - machine.wait_for_unit("multi-user.target") + machine.start() + machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --unit systemd-repart.service") - assert "Growing existing partition 1." in systemd_repart_logs - ''; + systemd_repart_logs = machine.succeed("journalctl --unit systemd-repart.service") + assert "Growing existing partition 1." in systemd_repart_logs + ''; }; create-root = makeTest { name = "systemd-repart-create-root"; meta.maintainers = with maintainers; [ nikstur ]; - nodes.machine = { config, lib, pkgs, ... }: { - virtualisation.useDefaultFilesystems = false; - virtualisation.fileSystems = { - "/" = { - device = "/dev/disk/by-partlabel/created-root"; - fsType = "ext4"; - }; - "/nix/store" = { - device = "/dev/vda2"; - fsType = "ext4"; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + virtualisation.useDefaultFilesystems = false; + virtualisation.fileSystems = { + "/" = { + device = "/dev/disk/by-partlabel/created-root"; + fsType = "ext4"; + }; + "/nix/store" = { + device = "/dev/vda2"; + fsType = "ext4"; + }; }; - }; - # Create an image containing only the Nix store. This enables creating - # the root partition with systemd-repart and then successfully booting - # into a working system. - # - # This creates two partitions, an ESP available as /dev/vda1 and the Nix - # store available as /dev/vda2. - system.build.diskImage = import ../lib/make-disk-image.nix { - inherit config pkgs lib; - onlyNixStore = true; - format = "raw"; - bootSize = "32M"; - additionalSpace = "0M"; - partitionTableType = "efi"; - installBootLoader = false; - copyChannel = false; - }; + # Create an image containing only the Nix store. This enables creating + # the root partition with systemd-repart and then successfully booting + # into a working system. + # + # This creates two partitions, an ESP available as /dev/vda1 and the Nix + # store available as /dev/vda2. + system.build.diskImage = import ../lib/make-disk-image.nix { + inherit config pkgs lib; + onlyNixStore = true; + format = "raw"; + bootSize = "32M"; + additionalSpace = "0M"; + partitionTableType = "efi"; + installBootLoader = false; + copyChannel = false; + }; - boot.initrd.systemd.enable = true; + boot.initrd.systemd.enable = true; - boot.initrd.systemd.repart.enable = true; - boot.initrd.systemd.repart.device = "/dev/vda"; - systemd.repart.partitions = { - "10-root" = { - Type = "root"; - Label = "created-root"; - Format = "ext4"; + boot.initrd.systemd.repart.enable = true; + boot.initrd.systemd.repart.device = "/dev/vda"; + systemd.repart.partitions = { + "10-root" = { + Type = "root"; + Label = "created-root"; + Format = "ext4"; + }; }; }; - }; - testScript = { nodes, ... }: '' - ${useDiskImage nodes.machine} + testScript = + { nodes, ... }: + '' + ${useDiskImage nodes.machine} - machine.start() - machine.wait_for_unit("multi-user.target") + machine.start() + machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") - assert "Adding new partition 2 to partition table." in systemd_repart_logs - ''; + systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") + assert "Adding new partition 2 to partition table." in systemd_repart_logs + ''; }; } diff --git a/nixos/tests/systemd-resolved.nix b/nixos/tests/systemd-resolved.nix index 3eedc17f4b34f..6256b7f2e6751 100644 --- a/nixos/tests/systemd-resolved.nix +++ b/nixos/tests/systemd-resolved.nix @@ -1,75 +1,93 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "systemd-resolved"; - meta.maintainers = [ lib.maintainers.elvishjerricco ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "systemd-resolved"; + meta.maintainers = [ lib.maintainers.elvishjerricco ]; - nodes.server = { lib, config, ... }: let - exampleZone = pkgs.writeTextDir "example.com.zone" '' - @ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800 - @ A ${(lib.head config.networking.interfaces.eth1.ipv4.addresses).address} - @ AAAA ${(lib.head config.networking.interfaces.eth1.ipv6.addresses).address} - ''; - in { - networking.firewall.enable = false; - networking.useDHCP = false; + nodes.server = + { lib, config, ... }: + let + exampleZone = pkgs.writeTextDir "example.com.zone" '' + @ SOA ns.example.com. noc.example.com. 2019031301 86400 7200 3600000 172800 + @ A ${(lib.head config.networking.interfaces.eth1.ipv4.addresses).address} + @ AAAA ${(lib.head config.networking.interfaces.eth1.ipv6.addresses).address} + ''; + in + { + networking.firewall.enable = false; + networking.useDHCP = false; - networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ - { address = "fd00::1"; prefixLength = 64; } - ]; - - services.knot = { - enable = true; - settings = { - server.listen = [ - "0.0.0.0@53" - "::@53" + networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ + { + address = "fd00::1"; + prefixLength = 64; + } ]; - template.default.storage = exampleZone; - zone."example.com".file = "example.com.zone"; + + services.knot = { + enable = true; + settings = { + server.listen = [ + "0.0.0.0@53" + "::@53" + ]; + template.default.storage = exampleZone; + zone."example.com".file = "example.com.zone"; + }; + }; }; - }; - }; - nodes.client = { nodes, ... }: let - inherit (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses) address; - in { - networking.nameservers = [ address ]; - networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ - { address = "fd00::2"; prefixLength = 64; } - ]; - services.resolved.enable = true; - services.resolved.fallbackDns = [ ]; - networking.useNetworkd = true; - networking.useDHCP = false; - systemd.network.networks."40-eth0".enable = false; + nodes.client = + { nodes, ... }: + let + inherit (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses) address; + in + { + networking.nameservers = [ address ]; + networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ + { + address = "fd00::2"; + prefixLength = 64; + } + ]; + services.resolved.enable = true; + services.resolved.fallbackDns = [ ]; + networking.useNetworkd = true; + networking.useDHCP = false; + systemd.network.networks."40-eth0".enable = false; - testing.initrdBackdoor = true; - boot.initrd = { - systemd.enable = true; - systemd.initrdBin = [ pkgs.iputils ]; - network.enable = true; - services.resolved.enable = true; - }; - }; + testing.initrdBackdoor = true; + boot.initrd = { + systemd.enable = true; + systemd.initrdBin = [ pkgs.iputils ]; + network.enable = true; + services.resolved.enable = true; + }; + }; - testScript = { nodes, ... }: let - address4 = (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address; - address6 = (lib.head nodes.server.networking.interfaces.eth1.ipv6.addresses).address; - in '' - start_all() - server.wait_for_unit("multi-user.target") + testScript = + { nodes, ... }: + let + address4 = (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address; + address6 = (lib.head nodes.server.networking.interfaces.eth1.ipv6.addresses).address; + in + '' + start_all() + server.wait_for_unit("multi-user.target") - def test_client(): - query = client.succeed("resolvectl query example.com") - assert "${address4}" in query - assert "${address6}" in query - client.succeed("ping -4 -c 1 example.com") - client.succeed("ping -6 -c 1 example.com") + def test_client(): + query = client.succeed("resolvectl query example.com") + assert "${address4}" in query + assert "${address6}" in query + client.succeed("ping -4 -c 1 example.com") + client.succeed("ping -6 -c 1 example.com") - client.wait_for_unit("initrd.target") - test_client() - client.switch_root() + client.wait_for_unit("initrd.target") + test_client() + client.switch_root() - client.wait_for_unit("multi-user.target") - test_client() - ''; -}) + client.wait_for_unit("multi-user.target") + test_client() + ''; + } +) diff --git a/nixos/tests/systemd-shutdown.nix b/nixos/tests/systemd-shutdown.nix index ca6754046f57a..1f072086bdd1f 100644 --- a/nixos/tests/systemd-shutdown.nix +++ b/nixos/tests/systemd-shutdown.nix @@ -1,27 +1,36 @@ -import ./make-test-python.nix ({ pkgs, systemdStage1 ? false, ...} : let - msg = "Shutting down NixOS"; -in { - name = "systemd-shutdown"; - meta = with pkgs.lib.maintainers; { - maintainers = [ das_j ]; - }; +import ./make-test-python.nix ( + { + pkgs, + systemdStage1 ? false, + ... + }: + let + msg = "Shutting down NixOS"; + in + { + name = "systemd-shutdown"; + meta = with pkgs.lib.maintainers; { + maintainers = [ das_j ]; + }; - nodes.machine = { - imports = [ ../modules/profiles/minimal.nix ]; - systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/shutdown-message".source = pkgs.writeShellScript "shutdown-message" '' - echo "${msg}" - ''; - boot.initrd.systemd.enable = systemdStage1; - }; + nodes.machine = { + imports = [ ../modules/profiles/minimal.nix ]; + systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/shutdown-message".source = + pkgs.writeShellScript "shutdown-message" '' + echo "${msg}" + ''; + boot.initrd.systemd.enable = systemdStage1; + }; - testScript = '' - machine.wait_for_unit("multi-user.target") - # .shutdown() would wait for the machine to power off - machine.succeed("systemctl poweroff") - # Message printed by systemd-shutdown - machine.wait_for_console_text("Unmounting '/oldroot'") - machine.wait_for_console_text("${msg}") - # Don't try to sync filesystems - machine.wait_for_shutdown() - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + # .shutdown() would wait for the machine to power off + machine.succeed("systemctl poweroff") + # Message printed by systemd-shutdown + machine.wait_for_console_text("Unmounting '/oldroot'") + machine.wait_for_console_text("${msg}") + # Don't try to sync filesystems + machine.wait_for_shutdown() + ''; + } +) diff --git a/nixos/tests/systemd-sysupdate.nix b/nixos/tests/systemd-sysupdate.nix index 6592764c9ff46..4cfd6c24438de 100644 --- a/nixos/tests/systemd-sysupdate.nix +++ b/nixos/tests/systemd-sysupdate.nix @@ -14,26 +14,28 @@ in meta.maintainers = with lib.maintainers; [ nikstur ]; nodes = { - server = { pkgs, ... }: { - networking.firewall.enable = false; - services.nginx = { - enable = true; - virtualHosts."server" = { - root = pkgs.runCommand "sysupdate-artifacts" { buildInputs = [ pkgs.gnupg ]; } '' - mkdir -p $out - cd $out + server = + { pkgs, ... }: + { + networking.firewall.enable = false; + services.nginx = { + enable = true; + virtualHosts."server" = { + root = pkgs.runCommand "sysupdate-artifacts" { buildInputs = [ pkgs.gnupg ]; } '' + mkdir -p $out + cd $out - echo "nixos" > nixos_1.txt - sha256sum nixos_1.txt > SHA256SUMS + echo "nixos" > nixos_1.txt + sha256sum nixos_1.txt > SHA256SUMS - export GNUPGHOME="$(mktemp -d)" - cp -R ${gpgKeyring}/* $GNUPGHOME + export GNUPGHOME="$(mktemp -d)" + cp -R ${gpgKeyring}/* $GNUPGHOME - gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS - ''; + gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS + ''; + }; }; }; - }; target = { systemd.sysupdate = { diff --git a/nixos/tests/systemd-sysusers-immutable.nix b/nixos/tests/systemd-sysusers-immutable.nix index 4d65b52a0d336..857488a6cabd2 100644 --- a/nixos/tests/systemd-sysusers-immutable.nix +++ b/nixos/tests/systemd-sysusers-immutable.nix @@ -16,7 +16,6 @@ in systemd.sysusers.enable = true; users.mutableUsers = false; - # Read this password file at runtime from outside the Nix store. environment.etc."rootpw.secret".text = rootPassword; # Override the empty root password set by the test instrumentation. diff --git a/nixos/tests/systemd-sysusers-mutable.nix b/nixos/tests/systemd-sysusers-mutable.nix index 9871a91cca971..b0526d524584f 100644 --- a/nixos/tests/systemd-sysusers-mutable.nix +++ b/nixos/tests/systemd-sysusers-mutable.nix @@ -12,34 +12,36 @@ in meta.maintainers = with lib.maintainers; [ nikstur ]; - nodes.machine = { pkgs, ... }: { - systemd.sysusers.enable = true; - users.mutableUsers = true; - - # Prerequisites - system.etc.overlay.enable = true; - boot.initrd.systemd.enable = true; - boot.kernelPackages = pkgs.linuxPackages_latest; - - # Override the empty root password set by the test instrumentation - users.users.root.hashedPasswordFile = lib.mkForce null; - users.users.root.initialHashedPassword = rootPassword; - users.users.sysuser = { - isSystemUser = true; - group = "wheel"; - home = "/sysuser"; - initialPassword = sysuserPassword; - }; - - specialisation.new-generation.configuration = { - users.users.new-sysuser = { + nodes.machine = + { pkgs, ... }: + { + systemd.sysusers.enable = true; + users.mutableUsers = true; + + # Prerequisites + system.etc.overlay.enable = true; + boot.initrd.systemd.enable = true; + boot.kernelPackages = pkgs.linuxPackages_latest; + + # Override the empty root password set by the test instrumentation + users.users.root.hashedPasswordFile = lib.mkForce null; + users.users.root.initialHashedPassword = rootPassword; + users.users.sysuser = { isSystemUser = true; group = "wheel"; - home = "/new-sysuser"; - initialHashedPassword = newSysuserPassword; + home = "/sysuser"; + initialPassword = sysuserPassword; + }; + + specialisation.new-generation.configuration = { + users.users.new-sysuser = { + isSystemUser = true; + group = "wheel"; + home = "/new-sysuser"; + initialHashedPassword = newSysuserPassword; + }; }; }; - }; testScript = '' machine.wait_for_unit("systemd-sysusers.service") diff --git a/nixos/tests/systemd-timesyncd-nscd-dnssec.nix b/nixos/tests/systemd-timesyncd-nscd-dnssec.nix index 697dd824e3453..fc3002dbf51ac 100644 --- a/nixos/tests/systemd-timesyncd-nscd-dnssec.nix +++ b/nixos/tests/systemd-timesyncd-nscd-dnssec.nix @@ -13,49 +13,57 @@ # server running. For this test to succeed, we only need to ensure that systemd-timesyncd # resolves the IP address of the fake.ntp host. -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - ntpHostname = "fake.ntp"; - ntpIP = "192.0.2.1"; -in -{ - name = "systemd-timesyncd"; - nodes.machine = { pkgs, lib, config, ... }: - let - eth1IP = (lib.head config.networking.interfaces.eth1.ipv4.addresses).address; - in - { - # Setup a local DNS server for the NTP domain on the eth1 IP address - services.tinydns = { - enable = true; - ip = eth1IP; - data = '' - .ntp:${eth1IP} - +.${ntpHostname}:${ntpIP} - ''; - }; + let + ntpHostname = "fake.ntp"; + ntpIP = "192.0.2.1"; + in + { + name = "systemd-timesyncd"; + nodes.machine = + { + pkgs, + lib, + config, + ... + }: + let + eth1IP = (lib.head config.networking.interfaces.eth1.ipv4.addresses).address; + in + { + # Setup a local DNS server for the NTP domain on the eth1 IP address + services.tinydns = { + enable = true; + ip = eth1IP; + data = '' + .ntp:${eth1IP} + +.${ntpHostname}:${ntpIP} + ''; + }; - # Enable systemd-resolved with DNSSEC and use the local DNS as a name server - services.resolved.enable = true; - services.resolved.dnssec = "true"; - networking.nameservers = [ eth1IP ]; + # Enable systemd-resolved with DNSSEC and use the local DNS as a name server + services.resolved.enable = true; + services.resolved.dnssec = "true"; + networking.nameservers = [ eth1IP ]; - # Configure systemd-timesyncd to use our NTP hostname - services.timesyncd.enable = lib.mkForce true; - services.timesyncd.servers = [ ntpHostname ]; - services.timesyncd.extraConfig = '' - FallbackNTP=${ntpHostname} - ''; + # Configure systemd-timesyncd to use our NTP hostname + services.timesyncd.enable = lib.mkForce true; + services.timesyncd.servers = [ ntpHostname ]; + services.timesyncd.extraConfig = '' + FallbackNTP=${ntpHostname} + ''; - # The debug output is necessary to determine whether systemd-timesyncd successfully resolves our NTP hostname or not - systemd.services.systemd-timesyncd.environment.SYSTEMD_LOG_LEVEL = "debug"; - }; + # The debug output is necessary to determine whether systemd-timesyncd successfully resolves our NTP hostname or not + systemd.services.systemd-timesyncd.environment.SYSTEMD_LOG_LEVEL = "debug"; + }; - testScript = '' - machine.wait_for_unit("tinydns.service") - machine.wait_for_unit("systemd-timesyncd.service") - machine.fail("resolvectl query ${ntpHostname}") - machine.wait_until_succeeds("journalctl -u systemd-timesyncd.service --grep='Resolved address ${ntpIP}:123 for ${ntpHostname}'") - ''; -}) + testScript = '' + machine.wait_for_unit("tinydns.service") + machine.wait_for_unit("systemd-timesyncd.service") + machine.fail("resolvectl query ${ntpHostname}") + machine.wait_until_succeeds("journalctl -u systemd-timesyncd.service --grep='Resolved address ${ntpIP}:123 for ${ntpHostname}'") + ''; + } +) diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix index 02f49f49b8a58..d50b6386786c5 100644 --- a/nixos/tests/systemd-timesyncd.nix +++ b/nixos/tests/systemd-timesyncd.nix @@ -1,54 +1,67 @@ # Regression test for systemd-timesync having moved the state directory without # upstream providing a migration path. https://github.com/systemd/systemd/issues/12131 -import ./make-test-python.nix (let - common = { lib, ... }: { - # override the `false` value from the qemu-vm base profile - services.timesyncd.enable = lib.mkForce true; - }; - mkVM = conf: { imports = [ conf common ]; }; -in { - name = "systemd-timesyncd"; - nodes = { - current = mkVM {}; - pre1909 = mkVM ({lib, ... }: { - # create the path that should be migrated by our activation script when - # upgrading to a newer nixos version - system.stateVersion = "19.03"; - systemd.tmpfiles.settings.systemd-timesyncd-test = { - "/var/lib/systemd/timesync".R = { }; - "/var/lib/systemd/timesync".L.argument = "/var/lib/private/systemd/timesync"; - "/var/lib/private/systemd/timesync".d = { - user = "systemd-timesync"; - group = "systemd-timesync"; - }; +import ./make-test-python.nix ( + let + common = + { lib, ... }: + { + # override the `false` value from the qemu-vm base profile + services.timesyncd.enable = lib.mkForce true; }; - }); - }; + mkVM = conf: { + imports = [ + conf + common + ]; + }; + in + { + name = "systemd-timesyncd"; + nodes = { + current = mkVM { }; + pre1909 = mkVM ( + { lib, ... }: + { + # create the path that should be migrated by our activation script when + # upgrading to a newer nixos version + system.stateVersion = "19.03"; + systemd.tmpfiles.settings.systemd-timesyncd-test = { + "/var/lib/systemd/timesync".R = { }; + "/var/lib/systemd/timesync".L.argument = "/var/lib/private/systemd/timesync"; + "/var/lib/private/systemd/timesync".d = { + user = "systemd-timesync"; + group = "systemd-timesync"; + }; + }; + } + ); + }; - testScript = '' - start_all() - current.succeed("systemctl status systemd-timesyncd.service") - # on a new install with a recent systemd there should not be any - # leftovers from the dynamic user mess - current.succeed("test -e /var/lib/systemd/timesync") - current.succeed("test ! -L /var/lib/systemd/timesync") + testScript = '' + start_all() + current.succeed("systemctl status systemd-timesyncd.service") + # on a new install with a recent systemd there should not be any + # leftovers from the dynamic user mess + current.succeed("test -e /var/lib/systemd/timesync") + current.succeed("test ! -L /var/lib/systemd/timesync") - # timesyncd should be running on the upgrading system since we fixed the - # file bits in the activation script - pre1909.succeed("systemctl status systemd-timesyncd.service") + # timesyncd should be running on the upgrading system since we fixed the + # file bits in the activation script + pre1909.succeed("systemctl status systemd-timesyncd.service") - # the path should be gone after the migration - pre1909.succeed("test ! -e /var/lib/private/systemd/timesync") + # the path should be gone after the migration + pre1909.succeed("test ! -e /var/lib/private/systemd/timesync") - # and the new path should no longer be a symlink - pre1909.succeed("test -e /var/lib/systemd/timesync") - pre1909.succeed("test ! -L /var/lib/systemd/timesync") + # and the new path should no longer be a symlink + pre1909.succeed("test -e /var/lib/systemd/timesync") + pre1909.succeed("test ! -L /var/lib/systemd/timesync") - # after a restart things should still work and not fail in the activation - # scripts and cause the boot to fail.. - pre1909.shutdown() - pre1909.start() - pre1909.succeed("systemctl status systemd-timesyncd.service") - ''; -}) + # after a restart things should still work and not fail in the activation + # scripts and cause the boot to fail.. + pre1909.shutdown() + pre1909.start() + pre1909.succeed("systemctl status systemd-timesyncd.service") + ''; + } +) diff --git a/nixos/tests/systemd-user-tmpfiles-rules.nix b/nixos/tests/systemd-user-tmpfiles-rules.nix index bf29b4b57be3e..6e11e9d4e5f68 100644 --- a/nixos/tests/systemd-user-tmpfiles-rules.nix +++ b/nixos/tests/systemd-user-tmpfiles-rules.nix @@ -1,35 +1,42 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "systemd-user-tmpfiles-rules"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "systemd-user-tmpfiles-rules"; - meta = with lib.maintainers; { - maintainers = [ schnusch ]; - }; - - nodes.machine = { ... }: { - users.users = { - alice.isNormalUser = true; - bob.isNormalUser = true; + meta = with lib.maintainers; { + maintainers = [ schnusch ]; }; - systemd.user.tmpfiles = { - rules = [ - "d %h/user_tmpfiles_created" - ]; - users.alice.rules = [ - "d %h/only_alice" - ]; - }; - }; + nodes.machine = + { ... }: + { + users.users = { + alice.isNormalUser = true; + bob.isNormalUser = true; + }; + + systemd.user.tmpfiles = { + rules = [ + "d %h/user_tmpfiles_created" + ]; + users.alice.rules = [ + "d %h/only_alice" + ]; + }; + }; - testScript = { ... }: '' - machine.succeed("loginctl enable-linger alice bob") + testScript = + { ... }: + '' + machine.succeed("loginctl enable-linger alice bob") - machine.wait_until_succeeds("systemctl --user --machine=alice@ is-active systemd-tmpfiles-setup.service") - machine.succeed("[ -d ~alice/user_tmpfiles_created ]") - machine.succeed("[ -d ~alice/only_alice ]") + machine.wait_until_succeeds("systemctl --user --machine=alice@ is-active systemd-tmpfiles-setup.service") + machine.succeed("[ -d ~alice/user_tmpfiles_created ]") + machine.succeed("[ -d ~alice/only_alice ]") - machine.wait_until_succeeds("systemctl --user --machine=bob@ is-active systemd-tmpfiles-setup.service") - machine.succeed("[ -d ~bob/user_tmpfiles_created ]") - machine.succeed("[ ! -e ~bob/only_alice ]") - ''; -}) + machine.wait_until_succeeds("systemctl --user --machine=bob@ is-active systemd-tmpfiles-setup.service") + machine.succeed("[ -d ~bob/user_tmpfiles_created ]") + machine.succeed("[ ! -e ~bob/only_alice ]") + ''; + } +) diff --git a/nixos/tests/systemd-userdbd.nix b/nixos/tests/systemd-userdbd.nix index 5d0233ffd9fb8..75fe469ed9639 100644 --- a/nixos/tests/systemd-userdbd.nix +++ b/nixos/tests/systemd-userdbd.nix @@ -1,32 +1,37 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "systemd-userdbd"; - nodes.machine = { config, pkgs, ... }: { - services.userdbd.enable = true; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "systemd-userdbd"; + nodes.machine = + { config, pkgs, ... }: + { + services.userdbd.enable = true; - users.users.test-user-nss = { - isNormalUser = true; - }; + users.users.test-user-nss = { + isNormalUser = true; + }; - environment.etc."userdb/test-user-dropin.user".text = builtins.toJSON { - userName = "test-user-dropin"; - }; + environment.etc."userdb/test-user-dropin.user".text = builtins.toJSON { + userName = "test-user-dropin"; + }; - environment.systemPackages = with pkgs; [ libvarlink ]; - }; - testScript = '' - import json - from shlex import quote + environment.systemPackages = with pkgs; [ libvarlink ]; + }; + testScript = '' + import json + from shlex import quote - def getUserRecord(name): - Interface = "unix:/run/systemd/userdb/io.systemd.Multiplexer/io.systemd.UserDatabase" - payload = json.dumps({ - "service": "io.systemd.Multiplexer", - "userName": name - }) - return json.loads(machine.succeed(f"varlink call {Interface}.GetUserRecord {quote(payload)}")) + def getUserRecord(name): + Interface = "unix:/run/systemd/userdb/io.systemd.Multiplexer/io.systemd.UserDatabase" + payload = json.dumps({ + "service": "io.systemd.Multiplexer", + "userName": name + }) + return json.loads(machine.succeed(f"varlink call {Interface}.GetUserRecord {quote(payload)}")) - machine.wait_for_unit("systemd-userdbd.socket") - getUserRecord("test-user-nss") - getUserRecord("test-user-dropin") - ''; -}) + machine.wait_for_unit("systemd-userdbd.socket") + getUserRecord("test-user-nss") + getUserRecord("test-user-dropin") + ''; + } +) diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index 63c52227e7fdc..d8dc1998c03b9 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -1,231 +1,252 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "systemd"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "systemd"; + + nodes.machine = + { config, lib, ... }: + { + imports = [ + common/user-account.nix + common/x11.nix + ]; + + virtualisation.emptyDiskImages = [ + 512 + 512 + ]; + + environment.systemPackages = [ pkgs.cryptsetup ]; + + virtualisation.fileSystems = { + "/test-x-initrd-mount" = { + device = "/dev/vdb"; + fsType = "ext2"; + autoFormat = true; + noCheck = true; + options = [ "x-initrd.mount" ]; + }; + }; + + systemd.extraConfig = "DefaultEnvironment=\"XXX_SYSTEM=foo\""; + systemd.user.extraConfig = "DefaultEnvironment=\"XXX_USER=bar\""; + services.journald.extraConfig = "Storage=volatile"; + test-support.displayManager.auto.user = "alice"; + + systemd.shutdown.test = pkgs.writeScript "test.shutdown" '' + #!${pkgs.runtimeShell} + PATH=${ + lib.makeBinPath ( + with pkgs; + [ + util-linux + coreutils + ] + ) + } + mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared + touch /tmp/shared/shutdown-test + umount /tmp/shared + ''; + + systemd.services.oncalendar-test = { + description = "calendar test"; + # Japan does not have DST which makes the test a little bit simpler + startAt = "Wed 10:00 Asia/Tokyo"; + script = "true"; + }; + + systemd.services.testDependency1 = { + description = "Test Dependency 1"; + wantedBy = [ config.systemd.services."testservice1".name ]; + serviceConfig.Type = "oneshot"; + script = '' + true + ''; + }; + + systemd.services.testservice1 = { + description = "Test Service 1"; + wantedBy = [ config.systemd.targets.multi-user.name ]; + serviceConfig.Type = "oneshot"; + script = '' + if [ "$XXX_SYSTEM" = foo ]; then + touch /system_conf_read + fi + ''; + }; + + systemd.user.services.testservice2 = { + description = "Test Service 2"; + wantedBy = [ "default.target" ]; + serviceConfig.Type = "oneshot"; + script = '' + if [ "$XXX_USER" = bar ]; then + touch "$HOME/user_conf_read" + fi + ''; + }; + + systemd.watchdog = { + device = "/dev/watchdog"; + runtimeTime = "30s"; + rebootTime = "10min"; + kexecTime = "5min"; + }; + + environment.etc."systemd/system-preset/10-testservice.preset".text = '' + disable ${config.systemd.services.testservice1.name} + ''; + }; - nodes.machine = { config, lib, ... }: { - imports = [ common/user-account.nix common/x11.nix ]; + testScript = + { nodes, ... }: + '' + import re + import subprocess + + machine.start(allow_reboot=True) + + # Will not succeed unless ConditionFirstBoot=yes + machine.wait_for_unit("first-boot-complete.target") + + # Make sure, a subsequent boot isn't a ConditionFirstBoot=yes. + machine.reboot() + machine.wait_for_x() + state = machine.get_unit_info("first-boot-complete.target")['ActiveState'] + assert state == 'inactive', "Detected first boot despite first-boot-completed.target was already reached on a previous boot." + + # wait for user services + machine.wait_for_unit("default.target", "alice") + + with subtest("systemctl edit suggests --runtime"): + # --runtime is suggested when using `systemctl edit` + ret, out = machine.execute("systemctl edit testservice1.service 2>&1") + assert ret == 1 + assert out.rstrip("\n") == "The unit-directory '/etc/systemd/system' is read-only on NixOS, so it's not possible to edit system-units directly. Use 'systemctl edit --runtime' instead." + # editing w/o `--runtime` is possible for user-services, however + # it's not possible because we're not in a tty when grepping + # (i.e. hacky way to ensure that the error from above doesn't appear here). + _, out = machine.execute("systemctl --user edit testservice2.service 2>&1") + assert out.rstrip("\n") == "Cannot edit units if not on a tty." + + # Regression test for https://github.com/NixOS/nixpkgs/issues/105049 + with subtest("systemd reads timezone database in /etc/zoneinfo"): + timer = machine.succeed("TZ=UTC systemctl show --property=TimersCalendar oncalendar-test.timer") + assert re.search("next_elapse=Wed ....-..-.. 01:00:00 UTC", timer), f"got {timer.strip()}" + + # Regression test for https://github.com/NixOS/nixpkgs/issues/35415 + with subtest("configuration files are recognized by systemd"): + machine.succeed("test -e /system_conf_read") + machine.succeed("test -e /home/alice/user_conf_read") + machine.succeed("test -z $(ls -1 /var/log/journal)") + + with subtest("regression test for https://bugs.freedesktop.org/show_bug.cgi?id=77507"): + retcode, output = machine.execute("systemctl status testservice1.service") + assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507 + + # Regression test for https://github.com/NixOS/nixpkgs/issues/35268 + with subtest("file system with x-initrd.mount is not unmounted"): + machine.succeed("mountpoint -q /test-x-initrd-mount") + machine.shutdown() + + subprocess.check_call( + [ + "qemu-img", + "convert", + "-O", + "raw", + "vm-state-machine/empty0.qcow2", + "x-initrd-mount.raw", + ] + ) + extinfo = subprocess.check_output( + [ + "${pkgs.e2fsprogs}/bin/dumpe2fs", + "x-initrd-mount.raw", + ] + ).decode("utf-8") + assert ( + re.search(r"^Filesystem state: *clean$", extinfo, re.MULTILINE) is not None + ), ("File system was not cleanly unmounted: " + extinfo) + + # Regression test for https://github.com/NixOS/nixpkgs/pull/91232 + with subtest("setting transient hostnames works"): + machine.succeed("hostnamectl set-hostname --transient machine-transient") + machine.fail("hostnamectl set-hostname machine-all") + + with subtest("systemd-shutdown works"): + machine.shutdown() + machine.wait_for_unit("multi-user.target") + machine.succeed("test -e /tmp/shared/shutdown-test") + + # Test settings from /etc/sysctl.d/50-default.conf are applied + with subtest("systemd sysctl settings are applied"): + machine.wait_for_unit("multi-user.target") + assert "fq_codel" in machine.succeed("sysctl net.core.default_qdisc") + + # Test systemd is configured to manage a watchdog + with subtest("systemd manages hardware watchdog"): + machine.wait_for_unit("multi-user.target") + + # It seems that the device's path doesn't appear in 'systemctl show' so + # check it separately. + assert "WatchdogDevice=/dev/watchdog" in machine.succeed( + "cat /etc/systemd/system.conf" + ) + + output = machine.succeed("systemctl show | grep Watchdog") + # assert "RuntimeWatchdogUSec=30s" in output + # for some reason RuntimeWatchdogUSec, doesn't seem to be updated in here. + assert "RebootWatchdogUSec=10min" in output + assert "KExecWatchdogUSec=5min" in output + + # Test systemd cryptsetup support + with subtest("systemd successfully reads /etc/crypttab and unlocks volumes"): + # create a luks volume and put a filesystem on it + machine.succeed( + "echo -n supersecret | cryptsetup luksFormat -q /dev/vdc -", + "echo -n supersecret | cryptsetup luksOpen --key-file - /dev/vdc foo", + "mkfs.ext3 /dev/mapper/foo", + ) + + # create a keyfile and /etc/crypttab + machine.succeed("echo -n supersecret > /var/lib/luks-keyfile") + machine.succeed("chmod 600 /var/lib/luks-keyfile") + machine.succeed("echo 'luks1 /dev/vdc /var/lib/luks-keyfile luks' > /etc/crypttab") + + # after a reboot, systemd should unlock the volume and we should be able to mount it + machine.shutdown() + machine.succeed("systemctl status systemd-cryptsetup@luks1.service") + machine.succeed("mkdir -p /tmp/luks1") + machine.succeed("mount /dev/mapper/luks1 /tmp/luks1") + + # Do some IP traffic + output_ping = machine.succeed( + "systemd-run --wait -- ping -c 1 127.0.0.1 2>&1" + ) - virtualisation.emptyDiskImages = [ 512 512 ]; + with subtest("systemd reports accounting data on system.slice"): + output = machine.succeed("systemctl status system.slice") + assert "CPU:" in output + assert "Memory:" in output - environment.systemPackages = [ pkgs.cryptsetup ]; + assert "IP:" in output + assert "0B in, 0B out" not in output - virtualisation.fileSystems = { - "/test-x-initrd-mount" = { - device = "/dev/vdb"; - fsType = "ext2"; - autoFormat = true; - noCheck = true; - options = [ "x-initrd.mount" ]; - }; - }; - - systemd.extraConfig = "DefaultEnvironment=\"XXX_SYSTEM=foo\""; - systemd.user.extraConfig = "DefaultEnvironment=\"XXX_USER=bar\""; - services.journald.extraConfig = "Storage=volatile"; - test-support.displayManager.auto.user = "alice"; - - systemd.shutdown.test = pkgs.writeScript "test.shutdown" '' - #!${pkgs.runtimeShell} - PATH=${lib.makeBinPath (with pkgs; [ util-linux coreutils ])} - mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared - touch /tmp/shared/shutdown-test - umount /tmp/shared - ''; - - systemd.services.oncalendar-test = { - description = "calendar test"; - # Japan does not have DST which makes the test a little bit simpler - startAt = "Wed 10:00 Asia/Tokyo"; - script = "true"; - }; - - systemd.services.testDependency1 = { - description = "Test Dependency 1"; - wantedBy = [ config.systemd.services."testservice1".name ]; - serviceConfig.Type = "oneshot"; - script = '' - true - ''; - }; - - systemd.services.testservice1 = { - description = "Test Service 1"; - wantedBy = [ config.systemd.targets.multi-user.name ]; - serviceConfig.Type = "oneshot"; - script = '' - if [ "$XXX_SYSTEM" = foo ]; then - touch /system_conf_read - fi - ''; - }; - - systemd.user.services.testservice2 = { - description = "Test Service 2"; - wantedBy = [ "default.target" ]; - serviceConfig.Type = "oneshot"; - script = '' - if [ "$XXX_USER" = bar ]; then - touch "$HOME/user_conf_read" - fi - ''; - }; - - systemd.watchdog = { - device = "/dev/watchdog"; - runtimeTime = "30s"; - rebootTime = "10min"; - kexecTime = "5min"; - }; - - environment.etc."systemd/system-preset/10-testservice.preset".text = '' - disable ${config.systemd.services.testservice1.name} - ''; - }; - - testScript = { nodes, ... }: '' - import re - import subprocess - - machine.start(allow_reboot=True) - - # Will not succeed unless ConditionFirstBoot=yes - machine.wait_for_unit("first-boot-complete.target") - - # Make sure, a subsequent boot isn't a ConditionFirstBoot=yes. - machine.reboot() - machine.wait_for_x() - state = machine.get_unit_info("first-boot-complete.target")['ActiveState'] - assert state == 'inactive', "Detected first boot despite first-boot-completed.target was already reached on a previous boot." - - # wait for user services - machine.wait_for_unit("default.target", "alice") - - with subtest("systemctl edit suggests --runtime"): - # --runtime is suggested when using `systemctl edit` - ret, out = machine.execute("systemctl edit testservice1.service 2>&1") - assert ret == 1 - assert out.rstrip("\n") == "The unit-directory '/etc/systemd/system' is read-only on NixOS, so it's not possible to edit system-units directly. Use 'systemctl edit --runtime' instead." - # editing w/o `--runtime` is possible for user-services, however - # it's not possible because we're not in a tty when grepping - # (i.e. hacky way to ensure that the error from above doesn't appear here). - _, out = machine.execute("systemctl --user edit testservice2.service 2>&1") - assert out.rstrip("\n") == "Cannot edit units if not on a tty." - - # Regression test for https://github.com/NixOS/nixpkgs/issues/105049 - with subtest("systemd reads timezone database in /etc/zoneinfo"): - timer = machine.succeed("TZ=UTC systemctl show --property=TimersCalendar oncalendar-test.timer") - assert re.search("next_elapse=Wed ....-..-.. 01:00:00 UTC", timer), f"got {timer.strip()}" - - # Regression test for https://github.com/NixOS/nixpkgs/issues/35415 - with subtest("configuration files are recognized by systemd"): - machine.succeed("test -e /system_conf_read") - machine.succeed("test -e /home/alice/user_conf_read") - machine.succeed("test -z $(ls -1 /var/log/journal)") - - with subtest("regression test for https://bugs.freedesktop.org/show_bug.cgi?id=77507"): - retcode, output = machine.execute("systemctl status testservice1.service") - assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507 - - # Regression test for https://github.com/NixOS/nixpkgs/issues/35268 - with subtest("file system with x-initrd.mount is not unmounted"): - machine.succeed("mountpoint -q /test-x-initrd-mount") - machine.shutdown() - - subprocess.check_call( - [ - "qemu-img", - "convert", - "-O", - "raw", - "vm-state-machine/empty0.qcow2", - "x-initrd-mount.raw", - ] - ) - extinfo = subprocess.check_output( - [ - "${pkgs.e2fsprogs}/bin/dumpe2fs", - "x-initrd-mount.raw", - ] - ).decode("utf-8") - assert ( - re.search(r"^Filesystem state: *clean$", extinfo, re.MULTILINE) is not None - ), ("File system was not cleanly unmounted: " + extinfo) - - # Regression test for https://github.com/NixOS/nixpkgs/pull/91232 - with subtest("setting transient hostnames works"): - machine.succeed("hostnamectl set-hostname --transient machine-transient") - machine.fail("hostnamectl set-hostname machine-all") - - with subtest("systemd-shutdown works"): - machine.shutdown() - machine.wait_for_unit("multi-user.target") - machine.succeed("test -e /tmp/shared/shutdown-test") - - # Test settings from /etc/sysctl.d/50-default.conf are applied - with subtest("systemd sysctl settings are applied"): - machine.wait_for_unit("multi-user.target") - assert "fq_codel" in machine.succeed("sysctl net.core.default_qdisc") - - # Test systemd is configured to manage a watchdog - with subtest("systemd manages hardware watchdog"): - machine.wait_for_unit("multi-user.target") - - # It seems that the device's path doesn't appear in 'systemctl show' so - # check it separately. - assert "WatchdogDevice=/dev/watchdog" in machine.succeed( - "cat /etc/systemd/system.conf" - ) + assert "IO:" in output + assert "0B read, 0B written" not in output - output = machine.succeed("systemctl show | grep Watchdog") - # assert "RuntimeWatchdogUSec=30s" in output - # for some reason RuntimeWatchdogUSec, doesn't seem to be updated in here. - assert "RebootWatchdogUSec=10min" in output - assert "KExecWatchdogUSec=5min" in output - - # Test systemd cryptsetup support - with subtest("systemd successfully reads /etc/crypttab and unlocks volumes"): - # create a luks volume and put a filesystem on it - machine.succeed( - "echo -n supersecret | cryptsetup luksFormat -q /dev/vdc -", - "echo -n supersecret | cryptsetup luksOpen --key-file - /dev/vdc foo", - "mkfs.ext3 /dev/mapper/foo", - ) + with subtest("systemd per-unit accounting works"): + assert "IP traffic received: 84B sent: 84B" in output_ping - # create a keyfile and /etc/crypttab - machine.succeed("echo -n supersecret > /var/lib/luks-keyfile") - machine.succeed("chmod 600 /var/lib/luks-keyfile") - machine.succeed("echo 'luks1 /dev/vdc /var/lib/luks-keyfile luks' > /etc/crypttab") - - # after a reboot, systemd should unlock the volume and we should be able to mount it - machine.shutdown() - machine.succeed("systemctl status systemd-cryptsetup@luks1.service") - machine.succeed("mkdir -p /tmp/luks1") - machine.succeed("mount /dev/mapper/luks1 /tmp/luks1") - - # Do some IP traffic - output_ping = machine.succeed( - "systemd-run --wait -- ping -c 1 127.0.0.1 2>&1" - ) - - with subtest("systemd reports accounting data on system.slice"): - output = machine.succeed("systemctl status system.slice") - assert "CPU:" in output - assert "Memory:" in output - - assert "IP:" in output - assert "0B in, 0B out" not in output - - assert "IO:" in output - assert "0B read, 0B written" not in output - - with subtest("systemd per-unit accounting works"): - assert "IP traffic received: 84B sent: 84B" in output_ping - - with subtest("systemd environment is properly set"): - machine.systemctl("daemon-reexec") # Rewrites /proc/1/environ - machine.succeed("grep -q TZDIR=/etc/zoneinfo /proc/1/environ") - - with subtest("systemd presets are ignored"): - machine.succeed("systemctl preset ${nodes.machine.systemd.services.testservice1.name}") - machine.succeed("test -e /etc/systemd/system/${nodes.machine.systemd.services.testservice1.name}") - ''; -}) + with subtest("systemd environment is properly set"): + machine.systemctl("daemon-reexec") # Rewrites /proc/1/environ + machine.succeed("grep -q TZDIR=/etc/zoneinfo /proc/1/environ") + + with subtest("systemd presets are ignored"): + machine.succeed("systemctl preset ${nodes.machine.systemd.services.testservice1.name}") + machine.succeed("test -e /etc/systemd/system/${nodes.machine.systemd.services.testservice1.name}") + ''; + } +) diff --git a/nixos/tests/systemtap.nix b/nixos/tests/systemtap.nix index 5cd79d66e872b..d278cf41c0dab 100644 --- a/nixos/tests/systemtap.nix +++ b/nixos/tests/systemtap.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }@args: with pkgs.lib; @@ -14,34 +15,41 @@ let ''; ## TODO shared infra with ../kernel-generic.nix - testsForLinuxPackages = linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: { - name = "kernel-${linuxPackages.kernel.version}"; - meta = with pkgs.lib.maintainers; { - maintainers = [ bendlas ]; - }; - - nodes.machine = { ... }: + testsForLinuxPackages = + linuxPackages: + (import ./make-test-python.nix ( + { pkgs, ... }: { - boot.kernelPackages = linuxPackages; - programs.systemtap.enable = true; - }; - - testScript = - '' - with subtest("Capture stap ouput"): - output = machine.succeed("stap ${stapScript} 2>&1") - - with subtest("Ensure that expected output from stap script is there"): - assert "kernel function probe & println work\n" == output, "kernel function probe & println work\n != " + output - ''; - }) args); + name = "kernel-${linuxPackages.kernel.version}"; + meta = with pkgs.lib.maintainers; { + maintainers = [ bendlas ]; + }; + + nodes.machine = + { ... }: + { + boot.kernelPackages = linuxPackages; + programs.systemtap.enable = true; + }; + + testScript = '' + with subtest("Capture stap ouput"): + output = machine.succeed("stap ${stapScript} 2>&1") + + with subtest("Ensure that expected output from stap script is there"): + assert "kernel function probe & println work\n" == output, "kernel function probe & println work\n != " + output + ''; + } + ) args); ## TODO shared infra with ../kernel-generic.nix kernels = { inherit (pkgs.linuxKernel.packageAliases) linux_default linux_latest; }; -in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // { +in +mapAttrs (_: lP: testsForLinuxPackages lP) kernels +// { passthru = { inherit testsForLinuxPackages; diff --git a/nixos/tests/tandoor-recipes.nix b/nixos/tests/tandoor-recipes.nix index bc5c3cf735755..536746e092b99 100644 --- a/nixos/tests/tandoor-recipes.nix +++ b/nixos/tests/tandoor-recipes.nix @@ -1,41 +1,46 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "tandoor-recipes"; - meta.maintainers = with lib.maintainers; [ ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "tandoor-recipes"; + meta.maintainers = with lib.maintainers; [ ]; - nodes.machine = { pkgs, ... }: { - services.tandoor-recipes = { - enable = true; - extraConfig = { - DB_ENGINE = "django.db.backends.postgresql"; - POSTGRES_HOST = "/run/postgresql"; - POSTGRES_USER = "tandoor_recipes"; - POSTGRES_DB = "tandoor_recipes"; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.tandoor-recipes = { + enable = true; + extraConfig = { + DB_ENGINE = "django.db.backends.postgresql"; + POSTGRES_HOST = "/run/postgresql"; + POSTGRES_USER = "tandoor_recipes"; + POSTGRES_DB = "tandoor_recipes"; + }; + }; - services.postgresql = { - enable = true; - ensureDatabases = [ "tandoor_recipes" ]; - ensureUsers = [ - { - name = "tandoor_recipes"; - ensureDBOwnership = true; - } - ]; - }; + services.postgresql = { + enable = true; + ensureDatabases = [ "tandoor_recipes" ]; + ensureUsers = [ + { + name = "tandoor_recipes"; + ensureDBOwnership = true; + } + ]; + }; - systemd.services = { - tandoor-recipes = { - after = [ "postgresql.service" ]; + systemd.services = { + tandoor-recipes = { + after = [ "postgresql.service" ]; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("tandoor-recipes.service") + testScript = '' + machine.wait_for_unit("tandoor-recipes.service") - with subtest("Web interface gets ready"): - # Wait until server accepts connections - machine.wait_until_succeeds("curl -fs localhost:8080") - ''; -}) + with subtest("Web interface gets ready"): + # Wait until server accepts connections + machine.wait_until_succeeds("curl -fs localhost:8080") + ''; + } +) diff --git a/nixos/tests/tang.nix b/nixos/tests/tang.nix index 10486a9feb8cf..58d3510617917 100644 --- a/nixos/tests/tang.nix +++ b/nixos/tests/tang.nix @@ -1,81 +1,93 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "tang"; - meta = with pkgs.lib.maintainers; { - maintainers = [ jfroche ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "tang"; + meta = with pkgs.lib.maintainers; { + maintainers = [ jfroche ]; + }; - nodes.server = - { config - , pkgs - , modulesPath - , ... - }: { - imports = [ - "${modulesPath}/../tests/common/auto-format-root-device.nix" - ]; - virtualisation = { - emptyDiskImages = [ 512 ]; - useBootLoader = true; - useEFIBoot = true; - # This requires to have access - # to a host Nix store as - # the new root device is /dev/vdb - # an empty 512MiB drive, containing no Nix store. - mountHostNixStore = true; - }; + nodes.server = + { + config, + pkgs, + modulesPath, + ... + }: + { + imports = [ + "${modulesPath}/../tests/common/auto-format-root-device.nix" + ]; + virtualisation = { + emptyDiskImages = [ 512 ]; + useBootLoader = true; + useEFIBoot = true; + # This requires to have access + # to a host Nix store as + # the new root device is /dev/vdb + # an empty 512MiB drive, containing no Nix store. + mountHostNixStore = true; + }; - boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.enable = true; - networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.1"; prefixLength = 24; } - ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + ]; - environment.systemPackages = with pkgs; [ clevis tang cryptsetup ]; - services.tang = { - enable = true; - ipAddressAllow = [ "127.0.0.1/32" ]; + environment.systemPackages = with pkgs; [ + clevis + tang + cryptsetup + ]; + services.tang = { + enable = true; + ipAddressAllow = [ "127.0.0.1/32" ]; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("sockets.target") + testScript = '' + start_all() + machine.wait_for_unit("sockets.target") - with subtest("Check keys are generated"): - machine.wait_until_succeeds("curl -v http://127.0.0.1:7654/adv") - key = machine.wait_until_succeeds("tang-show-keys 7654") + with subtest("Check keys are generated"): + machine.wait_until_succeeds("curl -v http://127.0.0.1:7654/adv") + key = machine.wait_until_succeeds("tang-show-keys 7654") - with subtest("Check systemd access list"): - machine.succeed("ping -c 3 192.168.0.1") - machine.fail("curl -v --connect-timeout 3 http://192.168.0.1:7654/adv") + with subtest("Check systemd access list"): + machine.succeed("ping -c 3 192.168.0.1") + machine.fail("curl -v --connect-timeout 3 http://192.168.0.1:7654/adv") - with subtest("Check basic encrypt and decrypt message"): - machine.wait_until_succeeds(f"""echo 'Hello World' | clevis encrypt tang '{{ "url": "http://127.0.0.1:7654", "thp":"{key}"}}' > /tmp/encrypted""") - decrypted = machine.wait_until_succeeds("clevis decrypt < /tmp/encrypted") - assert decrypted.strip() == "Hello World" - machine.wait_until_succeeds("tang-show-keys 7654") + with subtest("Check basic encrypt and decrypt message"): + machine.wait_until_succeeds(f"""echo 'Hello World' | clevis encrypt tang '{{ "url": "http://127.0.0.1:7654", "thp":"{key}"}}' > /tmp/encrypted""") + decrypted = machine.wait_until_succeeds("clevis decrypt < /tmp/encrypted") + assert decrypted.strip() == "Hello World" + machine.wait_until_succeeds("tang-show-keys 7654") - with subtest("Check encrypt and decrypt disk"): - machine.succeed("cryptsetup luksFormat --force-password --batch-mode /dev/vdb <<<'password'") - machine.succeed(f"""clevis luks bind -s1 -y -f -d /dev/vdb tang '{{ "url": "http://127.0.0.1:7654", "thp":"{key}" }}' <<< 'password' """) - clevis_luks = machine.succeed("clevis luks list -d /dev/vdb") - assert clevis_luks.strip() == """1: tang '{"url":"http://127.0.0.1:7654"}'""" - machine.succeed("clevis luks unlock -d /dev/vdb") - machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") - machine.succeed("clevis luks unlock -d /dev/vdb") - machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") - # without tang available, unlock should fail - machine.succeed("systemctl stop tangd.socket") - machine.fail("clevis luks unlock -d /dev/vdb") - machine.succeed("systemctl start tangd.socket") + with subtest("Check encrypt and decrypt disk"): + machine.succeed("cryptsetup luksFormat --force-password --batch-mode /dev/vdb <<<'password'") + machine.succeed(f"""clevis luks bind -s1 -y -f -d /dev/vdb tang '{{ "url": "http://127.0.0.1:7654", "thp":"{key}" }}' <<< 'password' """) + clevis_luks = machine.succeed("clevis luks list -d /dev/vdb") + assert clevis_luks.strip() == """1: tang '{"url":"http://127.0.0.1:7654"}'""" + machine.succeed("clevis luks unlock -d /dev/vdb") + machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") + machine.succeed("clevis luks unlock -d /dev/vdb") + machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") + # without tang available, unlock should fail + machine.succeed("systemctl stop tangd.socket") + machine.fail("clevis luks unlock -d /dev/vdb") + machine.succeed("systemctl start tangd.socket") - with subtest("Rotate server keys"): - machine.succeed("${pkgs.tang}/libexec/tangd-rotate-keys -d /var/lib/tang") - machine.succeed("clevis luks unlock -d /dev/vdb") - machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") + with subtest("Rotate server keys"): + machine.succeed("${pkgs.tang}/libexec/tangd-rotate-keys -d /var/lib/tang") + machine.succeed("clevis luks unlock -d /dev/vdb") + machine.succeed("find /dev/mapper -name 'luks*' -exec cryptsetup close {} +") - with subtest("Test systemd service security"): - output = machine.succeed("systemd-analyze security tangd@.service") - machine.log(output) - assert output[-9:-1] == "SAFE :-}" - ''; -}) + with subtest("Test systemd service security"): + output = machine.succeed("systemd-analyze security tangd@.service") + machine.log(output) + assert output[-9:-1] == "SAFE :-}" + ''; + } +) diff --git a/nixos/tests/taskserver.nix b/nixos/tests/taskserver.nix index caf48db77c44a..bd4dac40da87b 100644 --- a/nixos/tests/taskserver.nix +++ b/nixos/tests/taskserver.nix @@ -1,275 +1,299 @@ -import ./make-test-python.nix ({ pkgs, ... }: let - snakeOil = pkgs.runCommand "snakeoil-certs" { - outputs = [ "out" "cacert" "cert" "key" "crl" ]; - buildInputs = [ pkgs.gnutls.bin ]; - caTemplate = pkgs.writeText "snakeoil-ca.template" '' - cn = server - expiration_days = -1 - cert_signing_key - ca - ''; - certTemplate = pkgs.writeText "snakeoil-cert.template" '' - cn = server - expiration_days = -1 - tls_www_server - encryption_key - signing_key - ''; - crlTemplate = pkgs.writeText "snakeoil-crl.template" '' - expiration_days = -1 - ''; - userCertTemplate = pkgs.writeText "snakeoil-user-cert.template" '' - organization = snakeoil - cn = server - expiration_days = -1 - tls_www_client - encryption_key - signing_key - ''; - } '' - certtool -p --bits 4096 --outfile ca.key - certtool -s --template "$caTemplate" --load-privkey ca.key \ - --outfile "$cacert" - certtool -p --bits 4096 --outfile "$key" - certtool -c --template "$certTemplate" \ - --load-ca-privkey ca.key \ - --load-ca-certificate "$cacert" \ - --load-privkey "$key" \ - --outfile "$cert" - certtool --generate-crl --template "$crlTemplate" \ - --load-ca-privkey ca.key \ - --load-ca-certificate "$cacert" \ - --outfile "$crl" - - mkdir "$out" - - # Stripping key information before the actual PEM-encoded values is solely - # to make test output a bit less verbose when copying the client key to the - # actual client. - certtool -p --bits 4096 | sed -n \ - -e '/^----* *BEGIN/,/^----* *END/p' > "$out/alice.key" - - certtool -c --template "$userCertTemplate" \ - --load-privkey "$out/alice.key" \ - --load-ca-privkey ca.key \ - --load-ca-certificate "$cacert" \ - --outfile "$out/alice.cert" - ''; - -in { - name = "taskserver"; - - nodes = rec { - server = { - services.taskserver.enable = true; - services.taskserver.listenHost = "::"; - services.taskserver.openFirewall = true; - services.taskserver.fqdn = "server"; - services.taskserver.organisations = { - testOrganisation.users = [ "alice" "foo" ]; - anotherOrganisation.users = [ "bob" ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + snakeOil = + pkgs.runCommand "snakeoil-certs" + { + outputs = [ + "out" + "cacert" + "cert" + "key" + "crl" + ]; + buildInputs = [ pkgs.gnutls.bin ]; + caTemplate = pkgs.writeText "snakeoil-ca.template" '' + cn = server + expiration_days = -1 + cert_signing_key + ca + ''; + certTemplate = pkgs.writeText "snakeoil-cert.template" '' + cn = server + expiration_days = -1 + tls_www_server + encryption_key + signing_key + ''; + crlTemplate = pkgs.writeText "snakeoil-crl.template" '' + expiration_days = -1 + ''; + userCertTemplate = pkgs.writeText "snakeoil-user-cert.template" '' + organization = snakeoil + cn = server + expiration_days = -1 + tls_www_client + encryption_key + signing_key + ''; + } + '' + certtool -p --bits 4096 --outfile ca.key + certtool -s --template "$caTemplate" --load-privkey ca.key \ + --outfile "$cacert" + certtool -p --bits 4096 --outfile "$key" + certtool -c --template "$certTemplate" \ + --load-ca-privkey ca.key \ + --load-ca-certificate "$cacert" \ + --load-privkey "$key" \ + --outfile "$cert" + certtool --generate-crl --template "$crlTemplate" \ + --load-ca-privkey ca.key \ + --load-ca-certificate "$cacert" \ + --outfile "$crl" + + mkdir "$out" + + # Stripping key information before the actual PEM-encoded values is solely + # to make test output a bit less verbose when copying the client key to the + # actual client. + certtool -p --bits 4096 | sed -n \ + -e '/^----* *BEGIN/,/^----* *END/p' > "$out/alice.key" + + certtool -c --template "$userCertTemplate" \ + --load-privkey "$out/alice.key" \ + --load-ca-privkey ca.key \ + --load-ca-certificate "$cacert" \ + --outfile "$out/alice.cert" + ''; + + in + { + name = "taskserver"; + + nodes = rec { + server = { + services.taskserver.enable = true; + services.taskserver.listenHost = "::"; + services.taskserver.openFirewall = true; + services.taskserver.fqdn = "server"; + services.taskserver.organisations = { + testOrganisation.users = [ + "alice" + "foo" + ]; + anotherOrganisation.users = [ "bob" ]; + }; - specialisation.manual_config.configuration = { - services.taskserver.pki.manual = { - ca.cert = snakeOil.cacert; - server.cert = snakeOil.cert; - server.key = snakeOil.key; - server.crl = snakeOil.crl; + specialisation.manual_config.configuration = { + services.taskserver.pki.manual = { + ca.cert = snakeOil.cacert; + server.cert = snakeOil.cert; + server.key = snakeOil.key; + server.crl = snakeOil.crl; + }; }; }; - }; - client1 = { pkgs, ... }: { - environment.systemPackages = [ pkgs.taskwarrior2 pkgs.gnutls ]; - users.users.alice.isNormalUser = true; - users.users.bob.isNormalUser = true; - users.users.foo.isNormalUser = true; - users.users.bar.isNormalUser = true; - }; + client1 = + { pkgs, ... }: + { + environment.systemPackages = [ + pkgs.taskwarrior2 + pkgs.gnutls + ]; + users.users.alice.isNormalUser = true; + users.users.bob.isNormalUser = true; + users.users.foo.isNormalUser = true; + users.users.bar.isNormalUser = true; + }; - client2 = client1; - }; + client2 = client1; + }; - testScript = { nodes, ... }: let - cfg = nodes.server.config.services.taskserver; - portStr = toString cfg.listenPort; - specialisations = "${nodes.server.system.build.toplevel}/specialisation"; - newServerSystem = "${specialisations}/manual_config"; - switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test"; - in '' - from shlex import quote + testScript = + { nodes, ... }: + let + cfg = nodes.server.config.services.taskserver; + portStr = toString cfg.listenPort; + specialisations = "${nodes.server.system.build.toplevel}/specialisation"; + newServerSystem = "${specialisations}/manual_config"; + switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test"; + in + '' + from shlex import quote - def su(user, cmd): - return f"su - {user} -c {quote(cmd)}" + def su(user, cmd): + return f"su - {user} -c {quote(cmd)}" - def no_extra_init(client, org, user): - pass + def no_extra_init(client, org, user): + pass - def setup_clients_for(org, user, extra_init=no_extra_init): - for client in [client1, client2]: - with client.nested(f"initialize client for user {user}"): - client.succeed( - su(user, f"rm -rf /home/{user}/.task"), - su(user, "task rc.confirmation=no config confirmation no"), - ) + def setup_clients_for(org, user, extra_init=no_extra_init): + for client in [client1, client2]: + with client.nested(f"initialize client for user {user}"): + client.succeed( + su(user, f"rm -rf /home/{user}/.task"), + su(user, "task rc.confirmation=no config confirmation no"), + ) - exportinfo = server.succeed(f"nixos-taskserver user export {org} {user}") + exportinfo = server.succeed(f"nixos-taskserver user export {org} {user}") - with client.nested("importing taskwarrior configuration"): - client.succeed(su(user, f"eval {quote(exportinfo)} >&2")) + with client.nested("importing taskwarrior configuration"): + client.succeed(su(user, f"eval {quote(exportinfo)} >&2")) - extra_init(client, org, user) + extra_init(client, org, user) - client.succeed(su(user, "task config taskd.server server:${portStr} >&2")) + client.succeed(su(user, "task config taskd.server server:${portStr} >&2")) - client.succeed(su(user, "task sync init >&2")) + client.succeed(su(user, "task sync init >&2")) - def restart_server(): - server.systemctl("restart taskserver.service") - server.wait_for_open_port(${portStr}) + def restart_server(): + server.systemctl("restart taskserver.service") + server.wait_for_open_port(${portStr}) - def re_add_imperative_user(): - with server.nested("(re-)add imperative user bar"): - server.execute("nixos-taskserver org remove imperativeOrg") - server.succeed( - "nixos-taskserver org add imperativeOrg", - "nixos-taskserver user add imperativeOrg bar", + def re_add_imperative_user(): + with server.nested("(re-)add imperative user bar"): + server.execute("nixos-taskserver org remove imperativeOrg") + server.succeed( + "nixos-taskserver org add imperativeOrg", + "nixos-taskserver user add imperativeOrg bar", + ) + setup_clients_for("imperativeOrg", "bar") + + + def test_sync(user): + with subtest(f"sync for user {user}"): + client1.succeed(su(user, "task add foo >&2")) + client1.succeed(su(user, "task sync >&2")) + client2.fail(su(user, "task list >&2")) + client2.succeed(su(user, "task sync >&2")) + client2.succeed(su(user, "task list >&2")) + + + def check_client_cert(user): + # debug level 3 is a workaround for gnutls issue https://gitlab.com/gnutls/gnutls/-/issues/1040 + cmd = ( + f"gnutls-cli -d 3" + f" --x509cafile=/home/{user}/.task/keys/ca.cert" + f" --x509keyfile=/home/{user}/.task/keys/private.key" + f" --x509certfile=/home/{user}/.task/keys/public.cert" + f" --port=${portStr} server < /dev/null" ) - setup_clients_for("imperativeOrg", "bar") - - - def test_sync(user): - with subtest(f"sync for user {user}"): - client1.succeed(su(user, "task add foo >&2")) - client1.succeed(su(user, "task sync >&2")) - client2.fail(su(user, "task list >&2")) - client2.succeed(su(user, "task sync >&2")) - client2.succeed(su(user, "task list >&2")) - - - def check_client_cert(user): - # debug level 3 is a workaround for gnutls issue https://gitlab.com/gnutls/gnutls/-/issues/1040 - cmd = ( - f"gnutls-cli -d 3" - f" --x509cafile=/home/{user}/.task/keys/ca.cert" - f" --x509keyfile=/home/{user}/.task/keys/private.key" - f" --x509certfile=/home/{user}/.task/keys/public.cert" - f" --port=${portStr} server < /dev/null" - ) - return su(user, cmd) + return su(user, cmd) - # Explicitly start the VMs so that we don't accidentally start newServer - server.start() - client1.start() - client2.start() + # Explicitly start the VMs so that we don't accidentally start newServer + server.start() + client1.start() + client2.start() - server.wait_for_unit("taskserver.service") + server.wait_for_unit("taskserver.service") - server.succeed( - "nixos-taskserver user list testOrganisation | grep -qxF alice", - "nixos-taskserver user list testOrganisation | grep -qxF foo", - "nixos-taskserver user list anotherOrganisation | grep -qxF bob", - ) + server.succeed( + "nixos-taskserver user list testOrganisation | grep -qxF alice", + "nixos-taskserver user list testOrganisation | grep -qxF foo", + "nixos-taskserver user list anotherOrganisation | grep -qxF bob", + ) - server.wait_for_open_port(${portStr}) + server.wait_for_open_port(${portStr}) - client1.wait_for_unit("multi-user.target") - client2.wait_for_unit("multi-user.target") + client1.wait_for_unit("multi-user.target") + client2.wait_for_unit("multi-user.target") - setup_clients_for("testOrganisation", "alice") - setup_clients_for("testOrganisation", "foo") - setup_clients_for("anotherOrganisation", "bob") + setup_clients_for("testOrganisation", "alice") + setup_clients_for("testOrganisation", "foo") + setup_clients_for("anotherOrganisation", "bob") - for user in ["alice", "bob", "foo"]: - test_sync(user) + for user in ["alice", "bob", "foo"]: + test_sync(user) - server.fail("nixos-taskserver user add imperativeOrg bar") - re_add_imperative_user() + server.fail("nixos-taskserver user add imperativeOrg bar") + re_add_imperative_user() - test_sync("bar") + test_sync("bar") - with subtest("checking certificate revocation of user bar"): - client1.succeed(check_client_cert("bar")) + with subtest("checking certificate revocation of user bar"): + client1.succeed(check_client_cert("bar")) - server.succeed("nixos-taskserver user remove imperativeOrg bar") - restart_server() + server.succeed("nixos-taskserver user remove imperativeOrg bar") + restart_server() - client1.fail(check_client_cert("bar")) + client1.fail(check_client_cert("bar")) - client1.succeed(su("bar", "task add destroy everything >&2")) - client1.fail(su("bar", "task sync >&2")) + client1.succeed(su("bar", "task add destroy everything >&2")) + client1.fail(su("bar", "task sync >&2")) - re_add_imperative_user() + re_add_imperative_user() - with subtest("checking certificate revocation of org imperativeOrg"): - client1.succeed(check_client_cert("bar")) + with subtest("checking certificate revocation of org imperativeOrg"): + client1.succeed(check_client_cert("bar")) - server.succeed("nixos-taskserver org remove imperativeOrg") - restart_server() + server.succeed("nixos-taskserver org remove imperativeOrg") + restart_server() - client1.fail(check_client_cert("bar")) + client1.fail(check_client_cert("bar")) - client1.succeed(su("bar", "task add destroy even more >&2")) - client1.fail(su("bar", "task sync >&2")) + client1.succeed(su("bar", "task add destroy even more >&2")) + client1.fail(su("bar", "task sync >&2")) - re_add_imperative_user() + re_add_imperative_user() - with subtest("check whether declarative config overrides user bar"): - restart_server() - test_sync("bar") + with subtest("check whether declarative config overrides user bar"): + restart_server() + test_sync("bar") - def init_manual_config(client, org, user): - cfgpath = f"/home/{user}/.task" + def init_manual_config(client, org, user): + cfgpath = f"/home/{user}/.task" - client.copy_from_host( - "${snakeOil.cacert}", - f"{cfgpath}/ca.cert", - ) - for file in ["alice.key", "alice.cert"]: client.copy_from_host( - f"${snakeOil}/{file}", - f"{cfgpath}/{file}", + "${snakeOil.cacert}", + f"{cfgpath}/ca.cert", ) + for file in ["alice.key", "alice.cert"]: + client.copy_from_host( + f"${snakeOil}/{file}", + f"{cfgpath}/{file}", + ) - for file in [f"{user}.key", f"{user}.cert"]: - client.copy_from_host( - f"${snakeOil}/{file}", - f"{cfgpath}/{file}", - ) + for file in [f"{user}.key", f"{user}.cert"]: + client.copy_from_host( + f"${snakeOil}/{file}", + f"{cfgpath}/{file}", + ) - client.succeed( - su("alice", f"task config taskd.ca {cfgpath}/ca.cert"), - su("alice", f"task config taskd.key {cfgpath}/{user}.key"), - su(user, f"task config taskd.certificate {cfgpath}/{user}.cert"), - ) + client.succeed( + su("alice", f"task config taskd.ca {cfgpath}/ca.cert"), + su("alice", f"task config taskd.key {cfgpath}/{user}.key"), + su(user, f"task config taskd.certificate {cfgpath}/{user}.cert"), + ) - with subtest("check manual configuration"): - # Remove the keys from automatic CA creation, to make sure the new - # generation doesn't use keys from before. - server.succeed("rm -rf ${cfg.dataDir}/keys/* >&2") + with subtest("check manual configuration"): + # Remove the keys from automatic CA creation, to make sure the new + # generation doesn't use keys from before. + server.succeed("rm -rf ${cfg.dataDir}/keys/* >&2") - server.succeed( - "${switchToNewServer} >&2" - ) - server.wait_for_unit("taskserver.service") - server.wait_for_open_port(${portStr}) + server.succeed( + "${switchToNewServer} >&2" + ) + server.wait_for_unit("taskserver.service") + server.wait_for_open_port(${portStr}) - server.succeed( - "nixos-taskserver org add manualOrg", - "nixos-taskserver user add manualOrg alice", - ) + server.succeed( + "nixos-taskserver org add manualOrg", + "nixos-taskserver user add manualOrg alice", + ) - setup_clients_for("manualOrg", "alice", init_manual_config) + setup_clients_for("manualOrg", "alice", init_manual_config) - test_sync("alice") - ''; -}) + test_sync("alice") + ''; + } +) diff --git a/nixos/tests/tayga.nix b/nixos/tests/tayga.nix index e3c57b7d58feb..bd60b51449b8e 100644 --- a/nixos/tests/tayga.nix +++ b/nixos/tests/tayga.nix @@ -22,229 +22,257 @@ # | Route: 192.0.2.0/24 via 100.64.0.1 # +------ -import ./make-test-python.nix ({ pkgs, lib, ... }: - -{ - name = "tayga"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hax404 ]; - }; - - nodes = { - # The server is configured with static IPv4 addresses. RFC 6052 Section 3.1 - # disallows the mapping of non-global IPv4 addresses like RFC 1918 into the - # Well-Known Prefix 64:ff9b::/96. TAYGA also does not allow the mapping of - # documentation space (RFC 5737). To circumvent this, 100.64.0.2/24 from - # RFC 6589 (Carrier Grade NAT) is used here. - # To reach the IPv4 address pool of the NAT64 gateway, there is a static - # route configured. In normal cases, where the router would also source NAT - # the pool addresses to one IPv4 addresses, this would not be needed. - server = { - virtualisation.vlans = [ - 2 # towards router - ]; - networking = { - useDHCP = false; - interfaces.eth1 = lib.mkForce {}; - }; - systemd.network = { - enable = true; - networks."vlan1" = { - matchConfig.Name = "eth1"; - address = [ - "100.64.0.2/24" - ]; - routes = [ - { Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; } - ]; - }; - }; - programs.mtr.enable = true; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + { + name = "tayga"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hax404 ]; }; - # The router is configured with static IPv4 addresses towards the server - # and IPv6 addresses towards the client. For NAT64, the Well-Known prefix - # 64:ff9b::/96 is used. NAT64 is done with TAYGA which provides the - # tun-interface nat64 and does the translation over it. The IPv6 packets - # are sent to this interfaces and received as IPv4 packets and vice versa. - # As TAYGA only translates IPv6 addresses to dedicated IPv4 addresses, it - # needs a pool of IPv4 addresses which must be at least as big as the - # expected amount of clients. In this test, the packets from the pool are - # directly routed towards the client. In normal cases, there would be a - # second source NAT44 to map all clients behind one IPv4 address. - router_systemd = { - boot.kernel.sysctl = { - "net.ipv4.ip_forward" = 1; - "net.ipv6.conf.all.forwarding" = 1; + nodes = { + # The server is configured with static IPv4 addresses. RFC 6052 Section 3.1 + # disallows the mapping of non-global IPv4 addresses like RFC 1918 into the + # Well-Known Prefix 64:ff9b::/96. TAYGA also does not allow the mapping of + # documentation space (RFC 5737). To circumvent this, 100.64.0.2/24 from + # RFC 6589 (Carrier Grade NAT) is used here. + # To reach the IPv4 address pool of the NAT64 gateway, there is a static + # route configured. In normal cases, where the router would also source NAT + # the pool addresses to one IPv4 addresses, this would not be needed. + server = { + virtualisation.vlans = [ + 2 # towards router + ]; + networking = { + useDHCP = false; + interfaces.eth1 = lib.mkForce { }; + }; + systemd.network = { + enable = true; + networks."vlan1" = { + matchConfig.Name = "eth1"; + address = [ + "100.64.0.2/24" + ]; + routes = [ + { + Destination = "192.0.2.0/24"; + Gateway = "100.64.0.1"; + } + ]; + }; + }; + programs.mtr.enable = true; }; - virtualisation.vlans = [ - 2 # towards server - 3 # towards client - ]; + # The router is configured with static IPv4 addresses towards the server + # and IPv6 addresses towards the client. For NAT64, the Well-Known prefix + # 64:ff9b::/96 is used. NAT64 is done with TAYGA which provides the + # tun-interface nat64 and does the translation over it. The IPv6 packets + # are sent to this interfaces and received as IPv4 packets and vice versa. + # As TAYGA only translates IPv6 addresses to dedicated IPv4 addresses, it + # needs a pool of IPv4 addresses which must be at least as big as the + # expected amount of clients. In this test, the packets from the pool are + # directly routed towards the client. In normal cases, there would be a + # second source NAT44 to map all clients behind one IPv4 address. + router_systemd = { + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; - networking = { - useDHCP = false; - useNetworkd = true; - firewall.enable = false; - interfaces.eth1 = lib.mkForce { - ipv4 = { - addresses = [ { address = "100.64.0.1"; prefixLength = 24; } ]; + virtualisation.vlans = [ + 2 # towards server + 3 # towards client + ]; + + networking = { + useDHCP = false; + useNetworkd = true; + firewall.enable = false; + interfaces.eth1 = lib.mkForce { + ipv4 = { + addresses = [ + { + address = "100.64.0.1"; + prefixLength = 24; + } + ]; + }; }; - }; - interfaces.eth2 = lib.mkForce { - ipv6 = { - addresses = [ { address = "2001:db8::1"; prefixLength = 64; } ]; + interfaces.eth2 = lib.mkForce { + ipv6 = { + addresses = [ + { + address = "2001:db8::1"; + prefixLength = 64; + } + ]; + }; }; }; - }; - services.tayga = { - enable = true; - ipv4 = { - address = "192.0.2.0"; - router = { - address = "192.0.2.1"; - }; - pool = { + services.tayga = { + enable = true; + ipv4 = { address = "192.0.2.0"; - prefixLength = 24; + router = { + address = "192.0.2.1"; + }; + pool = { + address = "192.0.2.0"; + prefixLength = 24; + }; }; - }; - ipv6 = { - address = "2001:db8::1"; - router = { - address = "64:ff9b::1"; + ipv6 = { + address = "2001:db8::1"; + router = { + address = "64:ff9b::1"; + }; + pool = { + address = "64:ff9b::"; + prefixLength = 96; + }; }; - pool = { - address = "64:ff9b::"; - prefixLength = 96; + mappings = { + "192.0.2.42" = "2001:db8::2"; }; }; - mappings = { - "192.0.2.42" = "2001:db8::2"; - }; }; - }; - router_nixos = { - boot.kernel.sysctl = { - "net.ipv4.ip_forward" = 1; - "net.ipv6.conf.all.forwarding" = 1; - }; + router_nixos = { + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; - virtualisation.vlans = [ - 2 # towards server - 3 # towards client - ]; + virtualisation.vlans = [ + 2 # towards server + 3 # towards client + ]; - networking = { - useDHCP = false; - firewall.enable = false; - interfaces.eth1 = lib.mkForce { - ipv4 = { - addresses = [ { address = "100.64.0.1"; prefixLength = 24; } ]; + networking = { + useDHCP = false; + firewall.enable = false; + interfaces.eth1 = lib.mkForce { + ipv4 = { + addresses = [ + { + address = "100.64.0.1"; + prefixLength = 24; + } + ]; + }; }; - }; - interfaces.eth2 = lib.mkForce { - ipv6 = { - addresses = [ { address = "2001:db8::1"; prefixLength = 64; } ]; + interfaces.eth2 = lib.mkForce { + ipv6 = { + addresses = [ + { + address = "2001:db8::1"; + prefixLength = 64; + } + ]; + }; }; }; - }; - services.tayga = { - enable = true; - ipv4 = { - address = "192.0.2.0"; - router = { - address = "192.0.2.1"; - }; - pool = { + services.tayga = { + enable = true; + ipv4 = { address = "192.0.2.0"; - prefixLength = 24; + router = { + address = "192.0.2.1"; + }; + pool = { + address = "192.0.2.0"; + prefixLength = 24; + }; }; - }; - ipv6 = { - address = "2001:db8::1"; - router = { - address = "64:ff9b::1"; + ipv6 = { + address = "2001:db8::1"; + router = { + address = "64:ff9b::1"; + }; + pool = { + address = "64:ff9b::"; + prefixLength = 96; + }; }; - pool = { - address = "64:ff9b::"; - prefixLength = 96; + mappings = { + "192.0.2.42" = "2001:db8::2"; }; }; - mappings = { - "192.0.2.42" = "2001:db8::2"; - }; }; - }; - # The client is configured with static IPv6 addresses. It has also a static - # route for the NAT64 IP space where the IPv4 addresses are mapped in. In - # normal cases, there would be only a default route. - client = { - virtualisation.vlans = [ - 3 # towards router - ]; - - networking = { - useDHCP = false; - interfaces.eth1 = lib.mkForce {}; - }; + # The client is configured with static IPv6 addresses. It has also a static + # route for the NAT64 IP space where the IPv4 addresses are mapped in. In + # normal cases, there would be only a default route. + client = { + virtualisation.vlans = [ + 3 # towards router + ]; - systemd.network = { - enable = true; - networks."vlan1" = { - matchConfig.Name = "eth1"; - address = [ - "2001:db8::2/64" - ]; - routes = [ - { Destination = "64:ff9b::/96"; Gateway = "2001:db8::1"; } - ]; + networking = { + useDHCP = false; + interfaces.eth1 = lib.mkForce { }; }; + + systemd.network = { + enable = true; + networks."vlan1" = { + matchConfig.Name = "eth1"; + address = [ + "2001:db8::2/64" + ]; + routes = [ + { + Destination = "64:ff9b::/96"; + Gateway = "2001:db8::1"; + } + ]; + }; + }; + programs.mtr.enable = true; }; - programs.mtr.enable = true; }; - }; - - testScript = '' - # start client and server - for machine in client, server: - machine.systemctl("start network-online.target") - machine.wait_for_unit("network-online.target") - machine.log(machine.execute("ip addr")[1]) - machine.log(machine.execute("ip route")[1]) - machine.log(machine.execute("ip -6 route")[1]) - - # test systemd-networkd and nixos-scripts based router - for router in router_systemd, router_nixos: - router.start() - router.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") - router.wait_for_unit("tayga.service") - router.log(machine.execute("ip addr")[1]) - router.log(machine.execute("ip route")[1]) - router.log(machine.execute("ip -6 route")[1]) - - with subtest("Wait for tayga"): + + testScript = '' + # start client and server + for machine in client, server: + machine.systemctl("start network-online.target") + machine.wait_for_unit("network-online.target") + machine.log(machine.execute("ip addr")[1]) + machine.log(machine.execute("ip route")[1]) + machine.log(machine.execute("ip -6 route")[1]) + + # test systemd-networkd and nixos-scripts based router + for router in router_systemd, router_nixos: + router.start() + router.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") router.wait_for_unit("tayga.service") + router.log(machine.execute("ip addr")[1]) + router.log(machine.execute("ip route")[1]) + router.log(machine.execute("ip -6 route")[1]) + + with subtest("Wait for tayga"): + router.wait_for_unit("tayga.service") - with subtest("Test ICMP server -> client"): - server.wait_until_succeeds("ping -c 3 192.0.2.42 >&2") + with subtest("Test ICMP server -> client"): + server.wait_until_succeeds("ping -c 3 192.0.2.42 >&2") - with subtest("Test ICMP and show a traceroute server -> client"): - server.wait_until_succeeds("mtr --show-ips --report-wide 192.0.2.42 >&2") + with subtest("Test ICMP and show a traceroute server -> client"): + server.wait_until_succeeds("mtr --show-ips --report-wide 192.0.2.42 >&2") - with subtest("Test ICMP client -> server"): - client.wait_until_succeeds("ping -c 3 64:ff9b::100.64.0.2 >&2") + with subtest("Test ICMP client -> server"): + client.wait_until_succeeds("ping -c 3 64:ff9b::100.64.0.2 >&2") - with subtest("Test ICMP and show a traceroute client -> server"): - client.wait_until_succeeds("mtr --show-ips --report-wide 64:ff9b::100.64.0.2 >&2") + with subtest("Test ICMP and show a traceroute client -> server"): + client.wait_until_succeeds("mtr --show-ips --report-wide 64:ff9b::100.64.0.2 >&2") - router.log(router.execute("systemd-analyze security tayga.service")[1]) - router.shutdown() - ''; -}) + router.log(router.execute("systemd-analyze security tayga.service")[1]) + router.shutdown() + ''; + } +) diff --git a/nixos/tests/technitium-dns-server.nix b/nixos/tests/technitium-dns-server.nix index 12ee57ed52d21..dbe8fac5d3542 100644 --- a/nixos/tests/technitium-dns-server.nix +++ b/nixos/tests/technitium-dns-server.nix @@ -1,27 +1,31 @@ -import ./make-test-python.nix ({pkgs, lib, ...}: -{ - name = "technitium-dns-server"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "technitium-dns-server"; - nodes = { - machine = {pkgs, ...}: { - services.technitium-dns-server = { - enable = true; - openFirewall = true; - }; + nodes = { + machine = + { pkgs, ... }: + { + services.technitium-dns-server = { + enable = true; + openFirewall = true; + }; + }; }; - }; - testScript = '' - import json + testScript = '' + import json - start_all() - machine.wait_for_unit("technitium-dns-server.service") - machine.wait_for_open_port(53) - curl_cmd = 'curl --fail-with-body -X GET "http://localhost:5380/api/user/login?user=admin&pass=admin"' - output = json.loads(machine.wait_until_succeeds(curl_cmd, timeout=10)) - print(output) - assert "ok" == output['status'], "status not ok" - ''; + start_all() + machine.wait_for_unit("technitium-dns-server.service") + machine.wait_for_open_port(53) + curl_cmd = 'curl --fail-with-body -X GET "http://localhost:5380/api/user/login?user=admin&pass=admin"' + output = json.loads(machine.wait_until_succeeds(curl_cmd, timeout=10)) + print(output) + assert "ok" == output['status'], "status not ok" + ''; - meta.maintainers = with lib.maintainers; [ fabianrig ]; -}) + meta.maintainers = with lib.maintainers; [ fabianrig ]; + } +) diff --git a/nixos/tests/teeworlds.nix b/nixos/tests/teeworlds.nix index ac2c996955c80..7c94f66a2b204 100644 --- a/nixos/tests/teeworlds.nix +++ b/nixos/tests/teeworlds.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let - client = - { pkgs, ... }: + let + client = + { pkgs, ... }: - { imports = [ ./common/x11.nix ]; - environment.systemPackages = [ pkgs.teeworlds ]; - }; + { + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ pkgs.teeworlds ]; + }; -in { - name = "teeworlds"; - meta = with pkgs.lib.maintainers; { - maintainers = [ hax404 ]; - }; + in + { + name = "teeworlds"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hax404 ]; + }; - nodes = - { server = - { services.teeworlds = { + nodes = { + server = { + services.teeworlds = { enable = true; openPorts = true; }; @@ -26,8 +29,7 @@ in { client2 = client; }; - testScript = - '' + testScript = '' start_all() server.wait_for_unit("teeworlds.service") @@ -52,4 +54,5 @@ in { client2.screenshot("screen_client2") ''; -}) + } +) diff --git a/nixos/tests/telegraf.nix b/nixos/tests/telegraf.nix index 2ccad7af3f555..93d4c85b3e8db 100644 --- a/nixos/tests/telegraf.nix +++ b/nixos/tests/telegraf.nix @@ -1,40 +1,47 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "telegraf"; - meta = with pkgs.lib.maintainers; { - maintainers = [ mic92 ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "telegraf"; + meta = with pkgs.lib.maintainers; { + maintainers = [ mic92 ]; + }; - nodes.machine = { ... }: { - services.telegraf.enable = true; - services.telegraf.environmentFiles = [(pkgs.writeText "secrets" '' - SECRET=example - '')]; - services.telegraf.extraConfig = { - agent.interval = "1s"; - agent.flush_interval = "1s"; - inputs.exec = { - commands = [ - "${pkgs.runtimeShell} -c 'echo $SECRET,tag=a i=42i'" + nodes.machine = + { ... }: + { + services.telegraf.enable = true; + services.telegraf.environmentFiles = [ + (pkgs.writeText "secrets" '' + SECRET=example + '') ]; - timeout = "5s"; - data_format = "influx"; - }; - inputs.ping = { - urls = ["127.0.0.1"]; - count = 4; - interval = "10s"; - timeout = 1.0; + services.telegraf.extraConfig = { + agent.interval = "1s"; + agent.flush_interval = "1s"; + inputs.exec = { + commands = [ + "${pkgs.runtimeShell} -c 'echo $SECRET,tag=a i=42i'" + ]; + timeout = "5s"; + data_format = "influx"; + }; + inputs.ping = { + urls = [ "127.0.0.1" ]; + count = 4; + interval = "10s"; + timeout = 1.0; + }; + outputs.file.files = [ "/tmp/metrics.out" ]; + outputs.file.data_format = "influx"; + }; }; - outputs.file.files = ["/tmp/metrics.out"]; - outputs.file.data_format = "influx"; - }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("telegraf.service") - machine.wait_until_succeeds("grep -q example /tmp/metrics.out") - machine.wait_until_succeeds("grep -q ping /tmp/metrics.out") - ''; -}) + machine.wait_for_unit("telegraf.service") + machine.wait_until_succeeds("grep -q example /tmp/metrics.out") + machine.wait_until_succeeds("grep -q ping /tmp/metrics.out") + ''; + } +) diff --git a/nixos/tests/teleport.nix b/nixos/tests/teleport.nix index b04b45f52132a..2fb372f6f4192 100644 --- a/nixos/tests/teleport.nix +++ b/nixos/tests/teleport.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../.. { inherit system config; } -, lib ? pkgs.lib +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, + lib ? pkgs.lib, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -41,10 +42,12 @@ let auth_service.enabled = false; }; }; - networking.interfaces.eth1.ipv4.addresses = [{ - address = "192.168.1.20"; - prefixLength = 24; - }]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.20"; + prefixLength = 24; + } + ]; }; server = package: { @@ -68,48 +71,48 @@ let }; networking = { firewall.allowedTCPPorts = [ 3025 ]; - interfaces.eth1.ipv4.addresses = [{ - address = "192.168.1.10"; - prefixLength = 24; - }]; + interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.10"; + prefixLength = 24; + } + ]; }; }; in -lib.concatMapAttrs - (name: package: { - "minimal_${name}" = makeTest { - # minimal setup should always work - name = "teleport-minimal-setup"; - meta.maintainers = with pkgs.lib.maintainers; [ justinas ]; - nodes.minimal = minimal package; +lib.concatMapAttrs (name: package: { + "minimal_${name}" = makeTest { + # minimal setup should always work + name = "teleport-minimal-setup"; + meta.maintainers = with pkgs.lib.maintainers; [ justinas ]; + nodes.minimal = minimal package; - testScript = '' - minimal.wait_for_open_port(3025) - minimal.wait_for_open_port(3080) - minimal.wait_for_open_port(3022) - ''; - }; + testScript = '' + minimal.wait_for_open_port(3025) + minimal.wait_for_open_port(3080) + minimal.wait_for_open_port(3022) + ''; + }; - "basic_${name}" = makeTest { - # basic server and client test - name = "teleport-server-client"; - meta.maintainers = with pkgs.lib.maintainers; [ justinas ]; - nodes = { - server = server package; - client = client package; - }; + "basic_${name}" = makeTest { + # basic server and client test + name = "teleport-server-client"; + meta.maintainers = with pkgs.lib.maintainers; [ justinas ]; + nodes = { + server = server package; + client = client package; + }; - testScript = '' - with subtest("teleport ready"): - server.wait_for_open_port(3025) - client.wait_for_open_port(3022) + testScript = '' + with subtest("teleport ready"): + server.wait_for_open_port(3025) + client.wait_for_open_port(3022) - with subtest("check applied configuration"): - server.wait_until_succeeds("tctl get nodes --format=json | ${pkgs.jq}/bin/jq -e '.[] | select(.spec.hostname==\"client\") | .metadata.labels.role==\"client\"'") - server.wait_for_open_port(3000) - client.succeed("journalctl -u teleport.service --grep='DEBU'") - server.succeed("journalctl -u teleport.service --grep='Starting teleport in insecure mode.'") - ''; - }; - }) - packages + with subtest("check applied configuration"): + server.wait_until_succeeds("tctl get nodes --format=json | ${pkgs.jq}/bin/jq -e '.[] | select(.spec.hostname==\"client\") | .metadata.labels.role==\"client\"'") + server.wait_for_open_port(3000) + client.succeed("journalctl -u teleport.service --grep='DEBU'") + server.succeed("journalctl -u teleport.service --grep='Starting teleport in insecure mode.'") + ''; + }; +}) packages diff --git a/nixos/tests/terminal-emulators.nix b/nixos/tests/terminal-emulators.nix index 9195f619c8d21..1affcbf3c8f79 100644 --- a/nixos/tests/terminal-emulators.nix +++ b/nixos/tests/terminal-emulators.nix @@ -12,211 +12,234 @@ # - Wayland support (both for testing the existing terminals, and for testing wayland-only terminals like foot and havoc) # - Test keyboard input? (skipped for now, to eliminate the possibility of race conditions and focus issues) -{ system ? builtins.currentSystem, - config ? {}, - pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; -let tests = { - alacritty.pkg = p: p.alacritty; +let + tests = { + alacritty.pkg = p: p.alacritty; - contour.pkg = p: p.contour; - contour.cmd = "contour early-exit-threshold 0 execute $command"; + contour.pkg = p: p.contour; + contour.cmd = "contour early-exit-threshold 0 execute $command"; - cool-retro-term.pkg = p: p.cool-retro-term; - cool-retro-term.colourTest = false; # broken by gloss effect + cool-retro-term.pkg = p: p.cool-retro-term; + cool-retro-term.colourTest = false; # broken by gloss effect - ctx.pkg = p: p.ctx; - ctx.pinkValue = "#FE0065"; + ctx.pkg = p: p.ctx; + ctx.pinkValue = "#FE0065"; - darktile.pkg = p: p.darktile; + darktile.pkg = p: p.darktile; - deepin-terminal.pkg = p: p.deepin.deepin-terminal; + deepin-terminal.pkg = p: p.deepin.deepin-terminal; - eterm.pkg = p: p.eterm; - eterm.executable = "Eterm"; - eterm.pinkValue = "#D40055"; + eterm.pkg = p: p.eterm; + eterm.executable = "Eterm"; + eterm.pinkValue = "#D40055"; - germinal.pkg = p: p.germinal; + germinal.pkg = p: p.germinal; - gnome-terminal.pkg = p: p.gnome-terminal; + gnome-terminal.pkg = p: p.gnome-terminal; - guake.pkg = p: p.guake; - guake.cmd = "SHELL=$command guake --show"; - guake.kill = true; + guake.pkg = p: p.guake; + guake.cmd = "SHELL=$command guake --show"; + guake.kill = true; - hyper.pkg = p: p.hyper; + hyper.pkg = p: p.hyper; - kermit.pkg = p: p.kermit-terminal; + kermit.pkg = p: p.kermit-terminal; - kgx.pkg = p: p.kgx; - kgx.cmd = "kgx -e $command"; - kgx.kill = true; + kgx.pkg = p: p.kgx; + kgx.cmd = "kgx -e $command"; + kgx.kill = true; - kitty.pkg = p: p.kitty; - kitty.cmd = "kitty $command"; + kitty.pkg = p: p.kitty; + kitty.cmd = "kitty $command"; - konsole.pkg = p: p.plasma5Packages.konsole; + konsole.pkg = p: p.plasma5Packages.konsole; - lomiri-terminal-app.pkg = p: p.lomiri.lomiri-terminal-app; - # after recent Mesa change, borked software rendering config under x86_64 icewm? - # BGR colour display on x86_64, RGB on aarch64 - lomiri-terminal-app.colourTest = false; + lomiri-terminal-app.pkg = p: p.lomiri.lomiri-terminal-app; + # after recent Mesa change, borked software rendering config under x86_64 icewm? + # BGR colour display on x86_64, RGB on aarch64 + lomiri-terminal-app.colourTest = false; - lxterminal.pkg = p: p.lxterminal; + lxterminal.pkg = p: p.lxterminal; - mate-terminal.pkg = p: p.mate.mate-terminal; - mate-terminal.cmd = "SHELL=$command mate-terminal --disable-factory"; # factory mode uses dbus, and we don't have a proper dbus session set up + mate-terminal.pkg = p: p.mate.mate-terminal; + mate-terminal.cmd = "SHELL=$command mate-terminal --disable-factory"; # factory mode uses dbus, and we don't have a proper dbus session set up - mlterm.pkg = p: p.mlterm; + mlterm.pkg = p: p.mlterm; - mrxvt.pkg = p: p.mrxvt; + mrxvt.pkg = p: p.mrxvt; - qterminal.pkg = p: p.lxqt.qterminal; - qterminal.kill = true; + qterminal.pkg = p: p.lxqt.qterminal; + qterminal.kill = true; - rio.pkg = p: p.rio; - rio.cmd = "rio -e $command"; - rio.colourTest = false; # the rendering is changing too much so colors change every release. + rio.pkg = p: p.rio; + rio.cmd = "rio -e $command"; + rio.colourTest = false; # the rendering is changing too much so colors change every release. - roxterm.pkg = p: p.roxterm; - roxterm.cmd = "roxterm -e $command"; + roxterm.pkg = p: p.roxterm; + roxterm.cmd = "roxterm -e $command"; - sakura.pkg = p: p.sakura; + sakura.pkg = p: p.sakura; - st.pkg = p: p.st; - st.kill = true; + st.pkg = p: p.st; + st.kill = true; - stupidterm.pkg = p: p.stupidterm; - stupidterm.cmd = "stupidterm -- $command"; + stupidterm.pkg = p: p.stupidterm; + stupidterm.cmd = "stupidterm -- $command"; - terminator.pkg = p: p.terminator; - terminator.cmd = "terminator -e $command"; + terminator.pkg = p: p.terminator; + terminator.cmd = "terminator -e $command"; - terminology.pkg = p: p.enlightenment.terminology; - terminology.cmd = "SHELL=$command terminology --no-wizard=true"; - terminology.colourTest = false; # broken by gloss effect + terminology.pkg = p: p.enlightenment.terminology; + terminology.cmd = "SHELL=$command terminology --no-wizard=true"; + terminology.colourTest = false; # broken by gloss effect - termite.pkg = p: p.termite; + termite.pkg = p: p.termite; - termonad.pkg = p: p.termonad; + termonad.pkg = p: p.termonad; - tilda.pkg = p: p.tilda; + tilda.pkg = p: p.tilda; - tilix.pkg = p: p.tilix; - tilix.cmd = "tilix -e $command"; + tilix.pkg = p: p.tilix; + tilix.cmd = "tilix -e $command"; - urxvt.pkg = p: p.rxvt-unicode; + urxvt.pkg = p: p.rxvt-unicode; - wayst.pkg = p: p.wayst; - wayst.pinkValue = "#FF0066"; + wayst.pkg = p: p.wayst; + wayst.pinkValue = "#FF0066"; - # times out after spending many hours - #wezterm.pkg = p: p.wezterm; + # times out after spending many hours + #wezterm.pkg = p: p.wezterm; - xfce4-terminal.pkg = p: p.xfce.xfce4-terminal; + xfce4-terminal.pkg = p: p.xfce.xfce4-terminal; - xterm.pkg = p: p.xterm; + xterm.pkg = p: p.xterm; - zutty.pkg = p: p.zutty; - }; -in mapAttrs (name: { pkg, executable ? name, cmd ? "SHELL=$command ${executable}", colourTest ? true, pinkValue ? "#FF0087", kill ? false }: makeTest -{ - name = "terminal-emulator-${name}"; - meta = with pkgs.lib.maintainers; { - maintainers = [ jjjollyjim ]; + zutty.pkg = p: p.zutty; }; - - nodes.machine = { pkgsInner, ... }: - +in +mapAttrs ( + name: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - - # Hyper (and any other electron-based terminals) won't run as root - test-support.displayManager.auto.user = "alice"; - - environment.systemPackages = [ - (pkg pkgs) - (pkgs.writeShellScriptBin "report-success" '' - echo 1 > /tmp/term-ran-successfully - ${optionalString kill "pkill ${executable}"} - '') - (pkgs.writeShellScriptBin "display-colour" '' - # A 256-colour background colour code for pink, then spaces. - # - # Background is used rather than foreground to minimize the effect of anti-aliasing. - # - # Keep adding more in case the window is partially offscreen to the left or requires - # a change to correctly redraw after initialising the window (as with ctx). - - while : - do - echo -ne "\e[48;5;198m " - sleep 0.5 - done - sleep infinity - '') - (pkgs.writeShellScriptBin "run-in-this-term" "sudo -u alice run-in-this-term-wrapped $1") - - (pkgs.writeShellScriptBin "run-in-this-term-wrapped" "command=\"$(which \"$1\")\"; ${cmd}") - ]; - - # Helpful reminder to add this test to passthru.tests - warnings = if !((pkg pkgs) ? "passthru" && (pkg pkgs).passthru ? "tests") then [ "The package for ${name} doesn't have a passthru.tests" ] else [ ]; - }; - - # We need imagemagick, though not tesseract - enableOCR = true; - - testScript = { nodes, ... }: let - in '' - with subtest("wait for x"): - start_all() - machine.wait_for_x() - - with subtest("have the terminal run a command"): - # We run this command synchronously, so we can be certain the exit codes are happy - machine.${if kill then "execute" else "succeed"}("run-in-this-term report-success") - machine.wait_for_file("/tmp/term-ran-successfully") - ${optionalString colourTest '' - - import tempfile - import subprocess - - - def check_for_pink(final=False) -> bool: - with tempfile.NamedTemporaryFile() as tmpin: - machine.send_monitor_command("screendump {}".format(tmpin.name)) - - cmd = 'convert {} -define histogram:unique-colors=true -format "%c" histogram:info:'.format( - tmpin.name - ) - ret = subprocess.run(cmd, shell=True, capture_output=True) - if ret.returncode != 0: - raise Exception( - "image analysis failed with exit code {}".format(ret.returncode) - ) - - text = ret.stdout.decode("utf-8") - return "${pinkValue}" in text - - - with subtest("ensuring no pink is present without the terminal"): - assert ( - check_for_pink() == False - ), "Pink was present on the screen before we even launched a terminal!" - - with subtest("have the terminal display a colour"): - # We run this command in the background - assert machine.shell is not None - machine.shell.send(b"(run-in-this-term display-colour |& systemd-cat -t terminal) &\n") - - with machine.nested("Waiting for the screen to have pink on it:"): - retry(check_for_pink) - ''}''; -} + pkg, + executable ? name, + cmd ? "SHELL=$command ${executable}", + colourTest ? true, + pinkValue ? "#FF0087", + kill ? false, + }: + makeTest { + name = "terminal-emulator-${name}"; + meta = with pkgs.lib.maintainers; { + maintainers = [ jjjollyjim ]; + }; - ) tests + nodes.machine = + { pkgsInner, ... }: + + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + + # Hyper (and any other electron-based terminals) won't run as root + test-support.displayManager.auto.user = "alice"; + + environment.systemPackages = [ + (pkg pkgs) + (pkgs.writeShellScriptBin "report-success" '' + echo 1 > /tmp/term-ran-successfully + ${optionalString kill "pkill ${executable}"} + '') + (pkgs.writeShellScriptBin "display-colour" '' + # A 256-colour background colour code for pink, then spaces. + # + # Background is used rather than foreground to minimize the effect of anti-aliasing. + # + # Keep adding more in case the window is partially offscreen to the left or requires + # a change to correctly redraw after initialising the window (as with ctx). + + while : + do + echo -ne "\e[48;5;198m " + sleep 0.5 + done + sleep infinity + '') + (pkgs.writeShellScriptBin "run-in-this-term" "sudo -u alice run-in-this-term-wrapped $1") + + (pkgs.writeShellScriptBin "run-in-this-term-wrapped" "command=\"$(which \"$1\")\"; ${cmd}") + ]; + + # Helpful reminder to add this test to passthru.tests + warnings = + if !((pkg pkgs) ? "passthru" && (pkg pkgs).passthru ? "tests") then + [ "The package for ${name} doesn't have a passthru.tests" ] + else + [ ]; + }; + + # We need imagemagick, though not tesseract + enableOCR = true; + + testScript = + { nodes, ... }: + let + in + '' + with subtest("wait for x"): + start_all() + machine.wait_for_x() + + with subtest("have the terminal run a command"): + # We run this command synchronously, so we can be certain the exit codes are happy + machine.${if kill then "execute" else "succeed"}("run-in-this-term report-success") + machine.wait_for_file("/tmp/term-ran-successfully") + ${optionalString colourTest '' + + import tempfile + import subprocess + + + def check_for_pink(final=False) -> bool: + with tempfile.NamedTemporaryFile() as tmpin: + machine.send_monitor_command("screendump {}".format(tmpin.name)) + + cmd = 'convert {} -define histogram:unique-colors=true -format "%c" histogram:info:'.format( + tmpin.name + ) + ret = subprocess.run(cmd, shell=True, capture_output=True) + if ret.returncode != 0: + raise Exception( + "image analysis failed with exit code {}".format(ret.returncode) + ) + + text = ret.stdout.decode("utf-8") + return "${pinkValue}" in text + + + with subtest("ensuring no pink is present without the terminal"): + assert ( + check_for_pink() == False + ), "Pink was present on the screen before we even launched a terminal!" + + with subtest("have the terminal display a colour"): + # We run this command in the background + assert machine.shell is not None + machine.shell.send(b"(run-in-this-term display-colour |& systemd-cat -t terminal) &\n") + + with machine.nested("Waiting for the screen to have pink on it:"): + retry(check_for_pink) + ''}''; + } + +) tests diff --git a/nixos/tests/thanos.nix b/nixos/tests/thanos.nix index 5bdfab7b3573f..bfdee16a6f9bc 100644 --- a/nixos/tests/thanos.nix +++ b/nixos/tests/thanos.nix @@ -1,9 +1,9 @@ let - grpcPort = 19090; - queryPort = 9090; - minioPort = 9000; - pushgwPort = 9091; - frontPort = 9092; + grpcPort = 19090; + queryPort = 9090; + minioPort = 9000; + pushgwPort = 9091; + frontPort = 9092; s3 = { accessKey = "BKIKJAA5BMMU2RHO6IBB"; @@ -15,12 +15,12 @@ let config = { bucket = "thanos-bucket"; endpoint = "s3:${toString minioPort}"; - region = "us-east-1"; + region = "us-east-1"; access_key = s3.accessKey; secret_key = s3.secretKey; insecure = true; signature_version2 = false; - put_user_metadata = {}; + put_user_metadata = { }; http_config = { idle_conn_timeout = "0s"; insecure_skip_verify = false; @@ -31,261 +31,277 @@ let }; }; -in import ./make-test-python.nix { +in +import ./make-test-python.nix { name = "prometheus"; nodes = { - prometheus = { pkgs, ... }: { - virtualisation.diskSize = 2 * 1024; - virtualisation.memorySize = 2048; - environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ grpcPort ]; - services.prometheus = { - enable = true; - enableReload = true; - scrapeConfigs = [ - { - job_name = "prometheus"; - static_configs = [ - { - targets = [ "127.0.0.1:${toString queryPort}" ]; - labels = { instance = "localhost"; }; - } - ]; - } - { - job_name = "pushgateway"; - scrape_interval = "1s"; - static_configs = [ - { - targets = [ "127.0.0.1:${toString pushgwPort}" ]; - } - ]; - } - ]; - rules = [ - '' - groups: - - name: test - rules: - - record: testrule - expr: count(up{job="prometheus"}) - '' - ]; - globalConfig = { - external_labels = { - some_label = "required by thanos"; + prometheus = + { pkgs, ... }: + { + virtualisation.diskSize = 2 * 1024; + virtualisation.memorySize = 2048; + environment.systemPackages = [ pkgs.jq ]; + networking.firewall.allowedTCPPorts = [ grpcPort ]; + services.prometheus = { + enable = true; + enableReload = true; + scrapeConfigs = [ + { + job_name = "prometheus"; + static_configs = [ + { + targets = [ "127.0.0.1:${toString queryPort}" ]; + labels = { + instance = "localhost"; + }; + } + ]; + } + { + job_name = "pushgateway"; + scrape_interval = "1s"; + static_configs = [ + { + targets = [ "127.0.0.1:${toString pushgwPort}" ]; + } + ]; + } + ]; + rules = [ + '' + groups: + - name: test + rules: + - record: testrule + expr: count(up{job="prometheus"}) + '' + ]; + globalConfig = { + external_labels = { + some_label = "required by thanos"; + }; }; + extraFlags = [ + # Required by thanos + "--storage.tsdb.min-block-duration=5s" + "--storage.tsdb.max-block-duration=5s" + ]; }; - extraFlags = [ - # Required by thanos - "--storage.tsdb.min-block-duration=5s" - "--storage.tsdb.max-block-duration=5s" - ]; - }; - services.prometheus.pushgateway = { - enable = true; - web.listen-address = ":${toString pushgwPort}"; - persistMetrics = true; - persistence.interval = "1s"; - stateDir = "prometheus-pushgateway"; - }; - services.thanos = { - sidecar = { + services.prometheus.pushgateway = { enable = true; - grpc-address = "0.0.0.0:${toString grpcPort}"; - inherit objstore; + web.listen-address = ":${toString pushgwPort}"; + persistMetrics = true; + persistence.interval = "1s"; + stateDir = "prometheus-pushgateway"; }; + services.thanos = { + sidecar = { + enable = true; + grpc-address = "0.0.0.0:${toString grpcPort}"; + inherit objstore; + }; - # TODO: Add some tests for these services: - #rule = { - # enable = true; - # http-address = "0.0.0.0:19194"; - # grpc-address = "0.0.0.0:19193"; - # query.addresses = [ - # "localhost:19191" - # ]; - # labels = { - # just = "some"; - # nice = "labels"; - # }; - #}; - # - #receive = { - # http-address = "0.0.0.0:19195"; - # enable = true; - # labels = { - # just = "some"; - # nice = "labels"; - # }; - #}; - }; - # Adds a "specialisation" of the above config which allows us to - # "switch" to it and see if the services.prometheus.enableReload - # functionality actually reloads the prometheus service instead of - # restarting it. - specialisation = { - "prometheus-config-change" = { - configuration = { - environment.systemPackages = [ pkgs.yq ]; + # TODO: Add some tests for these services: + #rule = { + # enable = true; + # http-address = "0.0.0.0:19194"; + # grpc-address = "0.0.0.0:19193"; + # query.addresses = [ + # "localhost:19191" + # ]; + # labels = { + # just = "some"; + # nice = "labels"; + # }; + #}; + # + #receive = { + # http-address = "0.0.0.0:19195"; + # enable = true; + # labels = { + # just = "some"; + # nice = "labels"; + # }; + #}; + }; + # Adds a "specialisation" of the above config which allows us to + # "switch" to it and see if the services.prometheus.enableReload + # functionality actually reloads the prometheus service instead of + # restarting it. + specialisation = { + "prometheus-config-change" = { + configuration = { + environment.systemPackages = [ pkgs.yq ]; - # This configuration just adds a new prometheus job - # to scrape the node_exporter metrics of the s3 machine. - services.prometheus = { - scrapeConfigs = [ - { - job_name = "s3-node_exporter"; - static_configs = [ - { - targets = [ "s3:9100" ]; - } - ]; - } - ]; + # This configuration just adds a new prometheus job + # to scrape the node_exporter metrics of the s3 machine. + services.prometheus = { + scrapeConfigs = [ + { + job_name = "s3-node_exporter"; + static_configs = [ + { + targets = [ "s3:9100" ]; + } + ]; + } + ]; + }; }; }; }; }; - }; - query = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - services.thanos.query = { - enable = true; - http-address = "0.0.0.0:${toString queryPort}"; - endpoints = [ - "prometheus:${toString grpcPort}" - ]; - }; - services.thanos.query-frontend = { - enable = true; - http-address = "0.0.0.0:${toString frontPort}"; - query-frontend.downstream-url = "http://127.0.0.1:${toString queryPort}"; + query = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + services.thanos.query = { + enable = true; + http-address = "0.0.0.0:${toString queryPort}"; + endpoints = [ + "prometheus:${toString grpcPort}" + ]; + }; + services.thanos.query-frontend = { + enable = true; + http-address = "0.0.0.0:${toString frontPort}"; + query-frontend.downstream-url = "http://127.0.0.1:${toString queryPort}"; + }; }; - }; - store = { pkgs, ... }: { - virtualisation.diskSize = 2 * 1024; - virtualisation.memorySize = 2048; - environment.systemPackages = with pkgs; [ jq thanos ]; - services.thanos.store = { - enable = true; - http-address = "0.0.0.0:10902"; - grpc-address = "0.0.0.0:${toString grpcPort}"; - inherit objstore; - sync-block-duration = "1s"; - }; - services.thanos.compact = { - enable = true; - http-address = "0.0.0.0:10903"; - inherit objstore; - consistency-delay = "5s"; - }; - services.thanos.query = { - enable = true; - http-address = "0.0.0.0:${toString queryPort}"; - endpoints = [ - "localhost:${toString grpcPort}" + store = + { pkgs, ... }: + { + virtualisation.diskSize = 2 * 1024; + virtualisation.memorySize = 2048; + environment.systemPackages = with pkgs; [ + jq + thanos ]; + services.thanos.store = { + enable = true; + http-address = "0.0.0.0:10902"; + grpc-address = "0.0.0.0:${toString grpcPort}"; + inherit objstore; + sync-block-duration = "1s"; + }; + services.thanos.compact = { + enable = true; + http-address = "0.0.0.0:10903"; + inherit objstore; + consistency-delay = "5s"; + }; + services.thanos.query = { + enable = true; + http-address = "0.0.0.0:${toString queryPort}"; + endpoints = [ + "localhost:${toString grpcPort}" + ]; + }; }; - }; - s3 = { pkgs, ... } : { - # Minio requires at least 1GiB of free disk space to run. - virtualisation = { - diskSize = 2 * 1024; - }; - networking.firewall.allowedTCPPorts = [ minioPort ]; + s3 = + { pkgs, ... }: + { + # Minio requires at least 1GiB of free disk space to run. + virtualisation = { + diskSize = 2 * 1024; + }; + networking.firewall.allowedTCPPorts = [ minioPort ]; - services.minio = { - enable = true; - inherit (s3) accessKey secretKey; - }; + services.minio = { + enable = true; + inherit (s3) accessKey secretKey; + }; - environment.systemPackages = [ pkgs.minio-client ]; + environment.systemPackages = [ pkgs.minio-client ]; - services.prometheus.exporters.node = { - enable = true; - openFirewall = true; + services.prometheus.exporters.node = { + enable = true; + openFirewall = true; + }; }; - }; }; - testScript = { nodes, ... } : '' - # Before starting the other machines we first make sure that our S3 service is online - # and has a bucket added for thanos: - s3.start() - s3.wait_for_unit("minio.service") - s3.wait_for_open_port(${toString minioPort}) - s3.succeed( - "mc config host add minio " - + "http://localhost:${toString minioPort} " - + "${s3.accessKey} ${s3.secretKey} --api s3v4", - "mc mb minio/thanos-bucket", - ) + testScript = + { nodes, ... }: + '' + # Before starting the other machines we first make sure that our S3 service is online + # and has a bucket added for thanos: + s3.start() + s3.wait_for_unit("minio.service") + s3.wait_for_open_port(${toString minioPort}) + s3.succeed( + "mc config host add minio " + + "http://localhost:${toString minioPort} " + + "${s3.accessKey} ${s3.secretKey} --api s3v4", + "mc mb minio/thanos-bucket", + ) - # Now that s3 has started we can start the other machines: - for machine in prometheus, query, store: - machine.start() + # Now that s3 has started we can start the other machines: + for machine in prometheus, query, store: + machine.start() - # Check if prometheus responds to requests: - prometheus.wait_for_unit("prometheus.service") + # Check if prometheus responds to requests: + prometheus.wait_for_unit("prometheus.service") - prometheus.wait_for_open_port(${toString queryPort}) - prometheus.succeed("curl -sf http://127.0.0.1:${toString queryPort}/metrics") + prometheus.wait_for_open_port(${toString queryPort}) + prometheus.succeed("curl -sf http://127.0.0.1:${toString queryPort}/metrics") - # Let's test if pushing a metric to the pushgateway succeeds: - prometheus.wait_for_unit("pushgateway.service") - prometheus.succeed( - "echo 'some_metric 3.14' | " - + "curl -f --data-binary \@- " - + "http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job" - ) + # Let's test if pushing a metric to the pushgateway succeeds: + prometheus.wait_for_unit("pushgateway.service") + prometheus.succeed( + "echo 'some_metric 3.14' | " + + "curl -f --data-binary \@- " + + "http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job" + ) - # Now check whether that metric gets ingested by prometheus. - # Since we'll check for the metric several times on different machines - # we abstract the test using the following function: + # Now check whether that metric gets ingested by prometheus. + # Since we'll check for the metric several times on different machines + # we abstract the test using the following function: - # Function to check if the metric "some_metric" has been received and returns the correct value. - def wait_for_metric(machine): - return machine.wait_until_succeeds( - "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' | " - + "jq '.data.result[0].value[1]' | grep '\"3.14\"'" - ) + # Function to check if the metric "some_metric" has been received and returns the correct value. + def wait_for_metric(machine): + return machine.wait_until_succeeds( + "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' | " + + "jq '.data.result[0].value[1]' | grep '\"3.14\"'" + ) - wait_for_metric(prometheus) + wait_for_metric(prometheus) - # Let's test if the pushgateway persists metrics to the configured location. - prometheus.wait_until_succeeds("test -e /var/lib/prometheus-pushgateway/metrics") + # Let's test if the pushgateway persists metrics to the configured location. + prometheus.wait_until_succeeds("test -e /var/lib/prometheus-pushgateway/metrics") - # Test thanos - prometheus.wait_for_unit("thanos-sidecar.service") + # Test thanos + prometheus.wait_for_unit("thanos-sidecar.service") - # Test if the Thanos query service can correctly retrieve the metric that was send above. - query.wait_for_unit("thanos-query.service") - wait_for_metric(query) + # Test if the Thanos query service can correctly retrieve the metric that was send above. + query.wait_for_unit("thanos-query.service") + wait_for_metric(query) - # Test Thanos query frontend service - query.wait_for_unit("thanos-query-frontend.service") - query.succeed("curl -sS http://localhost:${toString frontPort}/-/healthy") + # Test Thanos query frontend service + query.wait_for_unit("thanos-query-frontend.service") + query.succeed("curl -sS http://localhost:${toString frontPort}/-/healthy") - # Test if the Thanos sidecar has correctly uploaded its TSDB to S3, if the - # Thanos storage service has correctly downloaded it from S3 and if the Thanos - # query service running on $store can correctly retrieve the metric: - store.wait_for_unit("thanos-store.service") - wait_for_metric(store) + # Test if the Thanos sidecar has correctly uploaded its TSDB to S3, if the + # Thanos storage service has correctly downloaded it from S3 and if the Thanos + # query service running on $store can correctly retrieve the metric: + store.wait_for_unit("thanos-store.service") + wait_for_metric(store) - store.wait_for_unit("thanos-compact.service") + store.wait_for_unit("thanos-compact.service") - # Test if the Thanos bucket command is able to retrieve blocks from the S3 bucket - # and check if the blocks have the correct labels: - store.succeed( - "thanos tools bucket ls " - + "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} " - + "--output=json | " - + "jq .thanos.labels.some_label | " - + "grep 'required by thanos'" - ) - ''; + # Test if the Thanos bucket command is able to retrieve blocks from the S3 bucket + # and check if the blocks have the correct labels: + store.succeed( + "thanos tools bucket ls " + + "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} " + + "--output=json | " + + "jq .thanos.labels.some_label | " + + "grep 'required by thanos'" + ) + ''; } diff --git a/nixos/tests/thelounge.nix b/nixos/tests/thelounge.nix index 8d5a37d46c466..5214d10739bab 100644 --- a/nixos/tests/thelounge.nix +++ b/nixos/tests/thelounge.nix @@ -2,19 +2,23 @@ import ./make-test-python.nix { name = "thelounge"; nodes = { - private = { config, pkgs, ... }: { - services.thelounge = { - enable = true; - plugins = [ pkgs.theLoungePlugins.themes.solarized ]; + private = + { config, pkgs, ... }: + { + services.thelounge = { + enable = true; + plugins = [ pkgs.theLoungePlugins.themes.solarized ]; + }; }; - }; - public = { config, pkgs, ... }: { - services.thelounge = { - enable = true; - public = true; + public = + { config, pkgs, ... }: + { + services.thelounge = { + enable = true; + public = true; + }; }; - }; }; testScript = '' diff --git a/nixos/tests/tiddlywiki.nix b/nixos/tests/tiddlywiki.nix index 822711b8939c5..b52bc385f7f34 100644 --- a/nixos/tests/tiddlywiki.nix +++ b/nixos/tests/tiddlywiki.nix @@ -1,27 +1,28 @@ -import ./make-test-python.nix ({ ... }: { - name = "tiddlywiki"; - nodes = { - default = { - services.tiddlywiki.enable = true; - }; - configured = { - boot.postBootCommands = '' - echo "username,password - somelogin,somesecret" > /var/lib/wikiusers.csv - ''; - services.tiddlywiki = { - enable = true; - listenOptions = { - port = 3000; - credentials="../wikiusers.csv"; - readers="(authenticated)"; +import ./make-test-python.nix ( + { ... }: + { + name = "tiddlywiki"; + nodes = { + default = { + services.tiddlywiki.enable = true; + }; + configured = { + boot.postBootCommands = '' + echo "username,password + somelogin,somesecret" > /var/lib/wikiusers.csv + ''; + services.tiddlywiki = { + enable = true; + listenOptions = { + port = 3000; + credentials = "../wikiusers.csv"; + readers = "(authenticated)"; + }; }; }; }; - }; - testScript = - '' + testScript = '' start_all() with subtest("by default works without configuration"): @@ -66,4 +67,5 @@ import ./make-test-python.nix ({ ... }: { "curl --fail -o /dev/null 127.0.0.1:8080/recipes/default/tiddlers/somepage" ) ''; -}) + } +) diff --git a/nixos/tests/tigervnc.nix b/nixos/tests/tigervnc.nix index 79c4f19178d5e..05e4366045f28 100644 --- a/nixos/tests/tigervnc.nix +++ b/nixos/tests/tigervnc.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? {} -, pkgs ? import ../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -11,20 +12,24 @@ makeTest { }; nodes = { - server = { pkgs, ...}: { - environment.systemPackages = with pkgs; [ - tigervnc # for Xvnc - xorg.xwininfo - imagemagickBig # for display with working label: support - ]; - networking.firewall.allowedTCPPorts = [ 5901 ]; - }; - - client = { pkgs, ... }: { - imports = [ ./common/x11.nix ]; - # for vncviewer - environment.systemPackages = [ pkgs.tigervnc ]; - }; + server = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ + tigervnc # for Xvnc + xorg.xwininfo + imagemagickBig # for display with working label: support + ]; + networking.firewall.allowedTCPPorts = [ 5901 ]; + }; + + client = + { pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + # for vncviewer + environment.systemPackages = [ pkgs.tigervnc ]; + }; }; enableOCR = true; diff --git a/nixos/tests/tika.nix b/nixos/tests/tika.nix index 61a3a6ad22aed..39cd3ec33c416 100644 --- a/nixos/tests/tika.nix +++ b/nixos/tests/tika.nix @@ -4,11 +4,13 @@ name = "tika-server"; nodes = { - machine = { pkgs, ... }: { - services.tika = { - enable = true; + machine = + { pkgs, ... }: + { + services.tika = { + enable = true; + }; }; - }; }; testScript = '' diff --git a/nixos/tests/timezone.nix b/nixos/tests/timezone.nix index 5d0318e33daab..86de47204ae89 100644 --- a/nixos/tests/timezone.nix +++ b/nixos/tests/timezone.nix @@ -1,50 +1,59 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "timezone"; - meta.maintainers = with pkgs.lib.maintainers; [ ]; - - nodes = { - node_eutz = { pkgs, ... }: { - time.timeZone = "Europe/Amsterdam"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "timezone"; + meta.maintainers = with pkgs.lib.maintainers; [ ]; + + nodes = { + node_eutz = + { pkgs, ... }: + { + time.timeZone = "Europe/Amsterdam"; + }; + + node_nulltz = + { pkgs, ... }: + { + time.timeZone = null; + }; }; - node_nulltz = { pkgs, ... }: { - time.timeZone = null; - }; - }; - - testScript = { nodes, ... }: '' - node_eutz.wait_for_unit("dbus.socket") - - with subtest("static - Ensure timezone change gives the correct result"): - node_eutz.fail("timedatectl set-timezone Asia/Tokyo") - date_result = node_eutz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') - assert date_result == "1970-01-01 01:00:00\n", "Timezone seems to be wrong" - - node_nulltz.wait_for_unit("dbus.socket") - - with subtest("imperative - Ensure timezone defaults to UTC"): - date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') - print(date_result) - assert ( - date_result == "1970-01-01 00:00:00\n" - ), "Timezone seems to be wrong (not UTC)" - - with subtest("imperative - Ensure timezone adjustment produces expected result"): - node_nulltz.succeed("timedatectl set-timezone Asia/Tokyo") - - # Adjustment should be taken into account - date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') - print(date_result) - assert date_result == "1970-01-01 09:00:00\n", "Timezone was not adjusted" - - with subtest("imperative - Ensure timezone adjustment persists across reboot"): - # Adjustment should persist across a reboot - node_nulltz.shutdown() - node_nulltz.wait_for_unit("dbus.socket") - date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') - print(date_result) - assert ( - date_result == "1970-01-01 09:00:00\n" - ), "Timezone adjustment was not persisted" - ''; -}) + testScript = + { nodes, ... }: + '' + node_eutz.wait_for_unit("dbus.socket") + + with subtest("static - Ensure timezone change gives the correct result"): + node_eutz.fail("timedatectl set-timezone Asia/Tokyo") + date_result = node_eutz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') + assert date_result == "1970-01-01 01:00:00\n", "Timezone seems to be wrong" + + node_nulltz.wait_for_unit("dbus.socket") + + with subtest("imperative - Ensure timezone defaults to UTC"): + date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') + print(date_result) + assert ( + date_result == "1970-01-01 00:00:00\n" + ), "Timezone seems to be wrong (not UTC)" + + with subtest("imperative - Ensure timezone adjustment produces expected result"): + node_nulltz.succeed("timedatectl set-timezone Asia/Tokyo") + + # Adjustment should be taken into account + date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') + print(date_result) + assert date_result == "1970-01-01 09:00:00\n", "Timezone was not adjusted" + + with subtest("imperative - Ensure timezone adjustment persists across reboot"): + # Adjustment should persist across a reboot + node_nulltz.shutdown() + node_nulltz.wait_for_unit("dbus.socket") + date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"') + print(date_result) + assert ( + date_result == "1970-01-01 09:00:00\n" + ), "Timezone adjustment was not persisted" + ''; + } +) diff --git a/nixos/tests/tinc/default.nix b/nixos/tests/tinc/default.nix index 31b675ad35c06..bec266154fe40 100644 --- a/nixos/tests/tinc/default.nix +++ b/nixos/tests/tinc/default.nix @@ -1,73 +1,89 @@ -import ../make-test-python.nix ({ lib, ... }: +import ../make-test-python.nix ( + { lib, ... }: let snakeoil-keys = import ./snakeoil-keys.nix; hosts = lib.attrNames snakeoil-keys; - subnetOf = name: config: + subnetOf = + name: config: let subnets = config.services.tinc.networks.myNetwork.hostSettings.${name}.subnets; in (builtins.head subnets).address; - makeTincHost = name: { subnet, extraConfig ? { } }: lib.mkMerge [ + makeTincHost = + name: { - subnets = [{ address = subnet; }]; - settings = { - Ed25519PublicKey = snakeoil-keys.${name}.ed25519Public; - }; - rsaPublicKey = snakeoil-keys.${name}.rsaPublic; - } - extraConfig - ]; - - makeTincNode = { config, ... }: name: extraConfig: lib.mkMerge [ - { - services.tinc.networks.myNetwork = { - inherit name; - rsaPrivateKeyFile = - builtins.toFile "rsa.priv" snakeoil-keys.${name}.rsaPrivate; - ed25519PrivateKeyFile = - builtins.toFile "ed25519.priv" snakeoil-keys.${name}.ed25519Private; - - hostSettings = lib.mapAttrs makeTincHost { - static = { - subnet = "10.0.0.11"; - # Only specify the addresses in the node's vlans, Tinc does not - # seem to try each one, unlike the documentation suggests... - extraConfig.addresses = map - (vlan: { address = "192.168.${toString vlan}.11"; port = 655; }) - config.virtualisation.vlans; + subnet, + extraConfig ? { }, + }: + lib.mkMerge [ + { + subnets = [ { address = subnet; } ]; + settings = { + Ed25519PublicKey = snakeoil-keys.${name}.ed25519Public; + }; + rsaPublicKey = snakeoil-keys.${name}.rsaPublic; + } + extraConfig + ]; + + makeTincNode = + { config, ... }: + name: extraConfig: + lib.mkMerge [ + { + services.tinc.networks.myNetwork = { + inherit name; + rsaPrivateKeyFile = builtins.toFile "rsa.priv" snakeoil-keys.${name}.rsaPrivate; + ed25519PrivateKeyFile = builtins.toFile "ed25519.priv" snakeoil-keys.${name}.ed25519Private; + + hostSettings = lib.mapAttrs makeTincHost { + static = { + subnet = "10.0.0.11"; + # Only specify the addresses in the node's vlans, Tinc does not + # seem to try each one, unlike the documentation suggests... + extraConfig.addresses = map (vlan: { + address = "192.168.${toString vlan}.11"; + port = 655; + }) config.virtualisation.vlans; + }; + dynamic1 = { + subnet = "10.0.0.21"; + }; + dynamic2 = { + subnet = "10.0.0.22"; + }; }; - dynamic1 = { subnet = "10.0.0.21"; }; - dynamic2 = { subnet = "10.0.0.22"; }; }; - }; - - networking.useDHCP = false; - networking.interfaces."tinc.myNetwork" = { - virtual = true; - virtualType = "tun"; - ipv4.addresses = [{ - address = subnetOf name config; - prefixLength = 24; - }]; - }; + networking.useDHCP = false; + + networking.interfaces."tinc.myNetwork" = { + virtual = true; + virtualType = "tun"; + ipv4.addresses = [ + { + address = subnetOf name config; + prefixLength = 24; + } + ]; + }; - # Prevents race condition between NixOS service and tinc creating the - # interface. - # See: https://github.com/NixOS/nixpkgs/issues/27070 - systemd.services."tinc.myNetwork" = { - after = [ "network-addresses-tinc.myNetwork.service" ]; - requires = [ "network-addresses-tinc.myNetwork.service" ]; - }; + # Prevents race condition between NixOS service and tinc creating the + # interface. + # See: https://github.com/NixOS/nixpkgs/issues/27070 + systemd.services."tinc.myNetwork" = { + after = [ "network-addresses-tinc.myNetwork.service" ]; + requires = [ "network-addresses-tinc.myNetwork.service" ]; + }; - networking.firewall.allowedTCPPorts = [ 655 ]; - networking.firewall.allowedUDPPorts = [ 655 ]; - } - extraConfig - ]; + networking.firewall.allowedTCPPorts = [ 655 ]; + networking.firewall.allowedUDPPorts = [ 655 ]; + } + extraConfig + ]; in { @@ -76,28 +92,37 @@ import ../make-test-python.nix ({ lib, ... }: nodes = { - static = { ... } @ args: + static = + { ... }@args: makeTincNode args "static" { - virtualisation.vlans = [ 1 2 ]; - - networking.interfaces.eth1.ipv4.addresses = [{ - address = "192.168.1.11"; - prefixLength = 24; - }]; - - networking.interfaces.eth2.ipv4.addresses = [{ - address = "192.168.2.11"; - prefixLength = 24; - }]; + virtualisation.vlans = [ + 1 + 2 + ]; + + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.11"; + prefixLength = 24; + } + ]; + + networking.interfaces.eth2.ipv4.addresses = [ + { + address = "192.168.2.11"; + prefixLength = 24; + } + ]; }; - - dynamic1 = { ... } @ args: + dynamic1 = + { ... }@args: makeTincNode args "dynamic1" { virtualisation.vlans = [ 1 ]; }; - dynamic2 = { ... } @ args: + dynamic2 = + { ... }@args: makeTincNode args "dynamic2" { virtualisation.vlans = [ 2 ]; }; @@ -136,4 +161,5 @@ import ../make-test-python.nix ({ lib, ... }: dynamic1.succeed("ping -c5 10.0.0.22") dynamic2.succeed("ping -c5 10.0.0.21") ''; - }) + } +) diff --git a/nixos/tests/tinydns.nix b/nixos/tests/tinydns.nix index 124508bc004ba..74f5a9413752d 100644 --- a/nixos/tests/tinydns.nix +++ b/nixos/tests/tinydns.nix @@ -1,40 +1,46 @@ -import ./make-test-python.nix ({ lib, ...} : { - name = "tinydns"; - meta = { - maintainers = with lib.maintainers; [ basvandijk ]; - }; - nodes = { - nameserver = { config, lib, ... } : let - ip = (lib.head config.networking.interfaces.eth1.ipv4.addresses).address; - in { - networking.nameservers = [ ip ]; - services.tinydns = { - enable = true; - inherit ip; - data = '' - .foo.bar:${ip} - +.bla.foo.bar:1.2.3.4:300 - ''; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "tinydns"; + meta = { + maintainers = with lib.maintainers; [ basvandijk ]; }; - }; - testScript = '' - nameserver.start() - nameserver.wait_for_unit("tinydns.service") + nodes = { + nameserver = + { config, lib, ... }: + let + ip = (lib.head config.networking.interfaces.eth1.ipv4.addresses).address; + in + { + networking.nameservers = [ ip ]; + services.tinydns = { + enable = true; + inherit ip; + data = '' + .foo.bar:${ip} + +.bla.foo.bar:1.2.3.4:300 + ''; + }; + }; + }; + testScript = '' + nameserver.start() + nameserver.wait_for_unit("tinydns.service") - # We query tinydns a few times to trigger the bug: - # - # nameserver # [ 6.105872] mmap: tinydns (842): VmData 331776 exceed data ulimit 300000. Update limits or use boot option ignore_rlimit_data. - # - # which was reported in https://github.com/NixOS/nixpkgs/issues/119066. - # Without the patch <nixpkgs/pkgs/tools/networking/djbdns/softlimit.patch> - # it fails on the 10th iteration. - nameserver.succeed( - """ - for i in {1..100}; do - host bla.foo.bar 192.168.1.1 | grep '1\.2\.3\.4' - done - """ - ) - ''; -}) + # We query tinydns a few times to trigger the bug: + # + # nameserver # [ 6.105872] mmap: tinydns (842): VmData 331776 exceed data ulimit 300000. Update limits or use boot option ignore_rlimit_data. + # + # which was reported in https://github.com/NixOS/nixpkgs/issues/119066. + # Without the patch <nixpkgs/pkgs/tools/networking/djbdns/softlimit.patch> + # it fails on the 10th iteration. + nameserver.succeed( + """ + for i in {1..100}; do + host bla.foo.bar 192.168.1.1 | grep '1\.2\.3\.4' + done + """ + ) + ''; + } +) diff --git a/nixos/tests/tinyproxy.nix b/nixos/tests/tinyproxy.nix index b8448d4c23b66..4184f68fd181c 100644 --- a/nixos/tests/tinyproxy.nix +++ b/nixos/tests/tinyproxy.nix @@ -1,20 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "tinyproxy"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "tinyproxy"; - nodes.machine = { config, pkgs, ... }: { - services.tinyproxy = { - enable = true; - settings = { - Listen = "127.0.0.1"; - Port = 8080; + nodes.machine = + { config, pkgs, ... }: + { + services.tinyproxy = { + enable = true; + settings = { + Listen = "127.0.0.1"; + Port = 8080; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("tinyproxy.service") - machine.wait_for_open_port(8080) + testScript = '' + machine.wait_for_unit("tinyproxy.service") + machine.wait_for_open_port(8080) - machine.succeed('curl -s http://localhost:8080 |grep -i tinyproxy') - ''; -}) + machine.succeed('curl -s http://localhost:8080 |grep -i tinyproxy') + ''; + } +) diff --git a/nixos/tests/tinywl.nix b/nixos/tests/tinywl.nix index 2dc354812a75e..85788d74ec891 100644 --- a/nixos/tests/tinywl.nix +++ b/nixos/tests/tinywl.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: { name = "tinywl"; @@ -6,54 +7,63 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: maintainers = with lib.maintainers; [ primeos ]; }; - nodes.machine = { config, ... }: { - # Automatically login on tty1 as a normal user: - imports = [ ./common/user-account.nix ]; - services.getty.autologinUser = "alice"; - security.polkit.enable = true; + nodes.machine = + { config, ... }: + { + # Automatically login on tty1 as a normal user: + imports = [ ./common/user-account.nix ]; + services.getty.autologinUser = "alice"; + security.polkit.enable = true; - environment = { - systemPackages = with pkgs; [ tinywl foot wayland-utils ]; + environment = { + systemPackages = with pkgs; [ + tinywl + foot + wayland-utils + ]; + }; + + hardware.graphics.enable = true; + + # Automatically start TinyWL when logging in on tty1: + programs.bash.loginShellInit = '' + if [ "$(tty)" = "/dev/tty1" ]; then + set -e + test ! -e /tmp/tinywl.log # Only start tinywl once + readonly TEST_CMD="wayland-info |& tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok; read" + readonly FOOT_CMD="foot sh -c '$TEST_CMD'" + tinywl -s "$FOOT_CMD" |& tee /tmp/tinywl.log + touch /tmp/tinywl-exit-ok + fi + ''; + + # Switch to a different GPU driver (default: -vga std), otherwise TinyWL segfaults: + virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; }; - hardware.graphics.enable = true; - - # Automatically start TinyWL when logging in on tty1: - programs.bash.loginShellInit = '' - if [ "$(tty)" = "/dev/tty1" ]; then - set -e - test ! -e /tmp/tinywl.log # Only start tinywl once - readonly TEST_CMD="wayland-info |& tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok; read" - readonly FOOT_CMD="foot sh -c '$TEST_CMD'" - tinywl -s "$FOOT_CMD" |& tee /tmp/tinywl.log - touch /tmp/tinywl-exit-ok - fi - ''; + testScript = + { nodes, ... }: + '' + start_all() + machine.wait_for_unit("multi-user.target") - # Switch to a different GPU driver (default: -vga std), otherwise TinyWL segfaults: - virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; - }; + # Wait for complete startup: + machine.wait_until_succeeds("pgrep tinywl") + machine.wait_for_file("/run/user/1000/wayland-0") + machine.wait_until_succeeds("pgrep foot") + machine.wait_for_file("/tmp/test-wayland-exit-ok") + + # Make a screenshot and save the result: + machine.screenshot("tinywl_foot") + print(machine.succeed("cat /tmp/test-wayland.out")) + machine.copy_from_vm("/tmp/test-wayland.out") - testScript = { nodes, ... }: '' - start_all() - machine.wait_for_unit("multi-user.target") - - # Wait for complete startup: - machine.wait_until_succeeds("pgrep tinywl") - machine.wait_for_file("/run/user/1000/wayland-0") - machine.wait_until_succeeds("pgrep foot") - machine.wait_for_file("/tmp/test-wayland-exit-ok") - - # Make a screenshot and save the result: - machine.screenshot("tinywl_foot") - print(machine.succeed("cat /tmp/test-wayland.out")) - machine.copy_from_vm("/tmp/test-wayland.out") - - # Terminate cleanly: - machine.send_key("alt-esc") - machine.wait_until_fails("pgrep foot") - machine.wait_until_fails("pgrep tinywl") - machine.wait_for_file("/tmp/tinywl-exit-ok") - machine.copy_from_vm("/tmp/tinywl.log") - ''; - }) + # Terminate cleanly: + machine.send_key("alt-esc") + machine.wait_until_fails("pgrep foot") + machine.wait_until_fails("pgrep tinywl") + machine.wait_for_file("/tmp/tinywl-exit-ok") + machine.copy_from_vm("/tmp/tinywl.log") + ''; + } +) diff --git a/nixos/tests/tmate-ssh-server.nix b/nixos/tests/tmate-ssh-server.nix index 593663a13a4e3..0d529d6e68120 100644 --- a/nixos/tests/tmate-ssh-server.nix +++ b/nixos/tests/tmate-ssh-server.nix @@ -1,76 +1,85 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: -let - inherit (import ./ssh-keys.nix pkgs) - snakeOilPrivateKey snakeOilPublicKey; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + inherit (import ./ssh-keys.nix pkgs) + snakeOilPrivateKey + snakeOilPublicKey + ; - setUpPrivateKey = name: '' - ${name}.succeed( - "mkdir -p /root/.ssh", - "chmod 700 /root/.ssh", - "cat '${snakeOilPrivateKey}' > /root/.ssh/id_snakeoil", - "chmod 600 /root/.ssh/id_snakeoil", - ) - ${name}.wait_for_file("/root/.ssh/id_snakeoil") - ''; + setUpPrivateKey = name: '' + ${name}.succeed( + "mkdir -p /root/.ssh", + "chmod 700 /root/.ssh", + "cat '${snakeOilPrivateKey}' > /root/.ssh/id_snakeoil", + "chmod 600 /root/.ssh/id_snakeoil", + ) + ${name}.wait_for_file("/root/.ssh/id_snakeoil") + ''; - sshOpts = "-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oIdentityFile=/root/.ssh/id_snakeoil"; + sshOpts = "-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oIdentityFile=/root/.ssh/id_snakeoil"; -in -{ - name = "tmate-ssh-server"; - nodes = - { - server = { ... }: { - services.tmate-ssh-server = { - enable = true; - port = 2223; - openFirewall = true; + in + { + name = "tmate-ssh-server"; + nodes = { + server = + { ... }: + { + services.tmate-ssh-server = { + enable = true; + port = 2223; + openFirewall = true; + }; + }; + client = + { ... }: + { + environment.systemPackages = [ pkgs.tmate ]; + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + }; + client2 = + { ... }: + { + environment.systemPackages = [ pkgs.openssh ]; }; - }; - client = { ... }: { - environment.systemPackages = [ pkgs.tmate ]; - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - }; - client2 = { ... }: { - environment.systemPackages = [ pkgs.openssh ]; - }; }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("tmate-ssh-server.service") - server.wait_for_open_port(2223) - server.wait_for_file("/etc/tmate-ssh-server-keys/ssh_host_ed25519_key.pub") - server.wait_for_file("/etc/tmate-ssh-server-keys/ssh_host_rsa_key.pub") - server.succeed("tmate-client-config > /tmp/tmate.conf") - server.wait_for_file("/tmp/tmate.conf") + server.wait_for_unit("tmate-ssh-server.service") + server.wait_for_open_port(2223) + server.wait_for_file("/etc/tmate-ssh-server-keys/ssh_host_ed25519_key.pub") + server.wait_for_file("/etc/tmate-ssh-server-keys/ssh_host_rsa_key.pub") + server.succeed("tmate-client-config > /tmp/tmate.conf") + server.wait_for_file("/tmp/tmate.conf") - ${setUpPrivateKey "server"} - client.wait_for_unit("sshd.service") - client.wait_for_open_port(22) - server.succeed("scp ${sshOpts} /tmp/tmate.conf client:/tmp/tmate.conf") + ${setUpPrivateKey "server"} + client.wait_for_unit("sshd.service") + client.wait_for_open_port(22) + server.succeed("scp ${sshOpts} /tmp/tmate.conf client:/tmp/tmate.conf") - client.wait_for_file("/tmp/tmate.conf") - client.wait_until_tty_matches("1", "login:") - client.send_chars("root\n") - client.sleep(2) - client.send_chars("tmate -f /tmp/tmate.conf\n") - client.sleep(2) - client.send_chars("q") - client.sleep(2) - client.send_chars("tmate display -p '#{tmate_ssh}' > /tmp/ssh_command\n") - client.wait_for_file("/tmp/ssh_command") - ssh_cmd = client.succeed("cat /tmp/ssh_command") + client.wait_for_file("/tmp/tmate.conf") + client.wait_until_tty_matches("1", "login:") + client.send_chars("root\n") + client.sleep(2) + client.send_chars("tmate -f /tmp/tmate.conf\n") + client.sleep(2) + client.send_chars("q") + client.sleep(2) + client.send_chars("tmate display -p '#{tmate_ssh}' > /tmp/ssh_command\n") + client.wait_for_file("/tmp/ssh_command") + ssh_cmd = client.succeed("cat /tmp/ssh_command") - client2.succeed("mkdir -p ~/.ssh; ssh-keyscan -4 -p 2223 server > ~/.ssh/known_hosts") - client2.wait_until_tty_matches("1", "login:") - client2.send_chars("root\n") - client2.sleep(2) - client2.send_chars(ssh_cmd.strip() + "\n") - client2.sleep(2) - client2.send_chars("touch /tmp/client_2\n") + client2.succeed("mkdir -p ~/.ssh; ssh-keyscan -4 -p 2223 server > ~/.ssh/known_hosts") + client2.wait_until_tty_matches("1", "login:") + client2.send_chars("root\n") + client2.sleep(2) + client2.send_chars(ssh_cmd.strip() + "\n") + client2.sleep(2) + client2.send_chars("touch /tmp/client_2\n") - client.wait_for_file("/tmp/client_2") - ''; -}) + client.wait_for_file("/tmp/client_2") + ''; + } +) diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index c5e6e65ac600e..6d8b9f496454e 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -1,28 +1,33 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "tomcat"; - meta.maintainers = [ lib.maintainers.anthonyroussel ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "tomcat"; + meta.maintainers = [ lib.maintainers.anthonyroussel ]; - nodes.machine = { pkgs, ... }: { - services.tomcat = { - enable = true; - port = 8001; - axis2.enable = true; - }; - }; + nodes.machine = + { pkgs, ... }: + { + services.tomcat = { + enable = true; + port = 8001; + axis2.enable = true; + }; + }; - testScript = '' - machine.wait_for_unit("tomcat.service") - machine.wait_for_open_port(8001) - machine.wait_for_file("/var/tomcat/webapps/examples"); + testScript = '' + machine.wait_for_unit("tomcat.service") + machine.wait_for_open_port(8001) + machine.wait_for_file("/var/tomcat/webapps/examples"); - machine.succeed( - "curl -sS --fail http://localhost:8001/examples/servlets/servlet/HelloWorldExample | grep 'Hello World!'" - ) - machine.succeed( - "curl -sS --fail http://localhost:8001/examples/jsp/jsp2/simpletag/hello.jsp | grep 'Hello, world!'" - ) - machine.succeed( - "curl -sS --fail http://localhost:8001/axis2/axis2-web/HappyAxis.jsp | grep 'Found Axis2'" - ) - ''; -}) + machine.succeed( + "curl -sS --fail http://localhost:8001/examples/servlets/servlet/HelloWorldExample | grep 'Hello World!'" + ) + machine.succeed( + "curl -sS --fail http://localhost:8001/examples/jsp/jsp2/simpletag/hello.jsp | grep 'Hello, world!'" + ) + machine.succeed( + "curl -sS --fail http://localhost:8001/axis2/axis2-web/HappyAxis.jsp | grep 'Found Axis2'" + ) + ''; + } +) diff --git a/nixos/tests/tor.nix b/nixos/tests/tor.nix index b55fbf91232cb..6eff3c7e260af 100644 --- a/nixos/tests/tor.nix +++ b/nixos/tests/tor.nix @@ -1,23 +1,32 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "tor"; - meta.maintainers = with lib.maintainers; [ joachifm ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "tor"; + meta.maintainers = with lib.maintainers; [ joachifm ]; - nodes.client = { pkgs, ... }: { - boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ]; - networking.firewall.enable = false; - networking.useDHCP = false; + nodes.client = + { pkgs, ... }: + { + boot.kernelParams = [ + "audit=0" + "apparmor=0" + "quiet" + ]; + networking.firewall.enable = false; + networking.useDHCP = false; - environment.systemPackages = [ pkgs.netcat ]; - services.tor.enable = true; - services.tor.client.enable = true; - services.tor.settings.ControlPort = 9051; - }; + environment.systemPackages = [ pkgs.netcat ]; + services.tor.enable = true; + services.tor.client.enable = true; + services.tor.settings.ControlPort = 9051; + }; - testScript = '' - client.wait_for_unit("tor.service") - client.wait_for_open_port(9051) - assert "514 Authentication required." in client.succeed( - "echo GETINFO version | nc 127.0.0.1 9051" - ) - ''; -}) + testScript = '' + client.wait_for_unit("tor.service") + client.wait_for_open_port(9051) + assert "514 Authentication required." in client.succeed( + "echo GETINFO version | nc 127.0.0.1 9051" + ) + ''; + } +) diff --git a/nixos/tests/tracee.nix b/nixos/tests/tracee.nix index 1c241f3ec4983..af9e173bca951 100644 --- a/nixos/tests/tracee.nix +++ b/nixos/tests/tracee.nix @@ -1,65 +1,72 @@ -import ./make-test-python.nix ({ pkgs, ... }: rec { - name = "tracee-integration"; - meta.maintainers = pkgs.tracee.meta.maintainers; +import ./make-test-python.nix ( + { pkgs, ... }: + rec { + name = "tracee-integration"; + meta.maintainers = pkgs.tracee.meta.maintainers; - passthru.hello-world-builder = pkgs: pkgs.dockerTools.buildImage { - name = "hello-world"; - tag = "latest"; - config.Cmd = [ "${pkgs.hello}/bin/hello" ]; - }; + passthru.hello-world-builder = + pkgs: + pkgs.dockerTools.buildImage { + name = "hello-world"; + tag = "latest"; + config.Cmd = [ "${pkgs.hello}/bin/hello" ]; + }; - nodes = { - machine = { config, pkgs, ... }: { - # EventFilters/trace_only_events_from_new_containers and - # Test_EventFilters/trace_only_events_from_"dockerd"_binary_and_contain_it's_pid - # require docker/dockerd - virtualisation.docker.enable = true; + nodes = { + machine = + { config, pkgs, ... }: + { + # EventFilters/trace_only_events_from_new_containers and + # Test_EventFilters/trace_only_events_from_"dockerd"_binary_and_contain_it's_pid + # require docker/dockerd + virtualisation.docker.enable = true; - environment.systemPackages = with pkgs; [ - # required by Test_EventFilters/trace_events_from_ls_and_which_binary_in_separate_scopes - which - # the go integration tests as a binary - tracee.passthru.tests.integration-test-cli - ]; + environment.systemPackages = with pkgs; [ + # required by Test_EventFilters/trace_events_from_ls_and_which_binary_in_separate_scopes + which + # the go integration tests as a binary + tracee.passthru.tests.integration-test-cli + ]; + }; }; - }; - testScript = - let - skippedTests = [ - # these comm tests for some reason do not resolve. - # something about the test is different as it works fine if I replicate - # the policies and run tracee myself but doesn't work in the integration - # test either with the automatic run or running the commands by hand - # while it's searching. - "Test_EventFilters/comm:_event:_args:_trace_event_set_in_a_specific_policy_with_args_from_ls_command" - "Test_EventFilters/comm:_event:_trace_events_set_in_two_specific_policies_from_ls_and_uname_commands" + testScript = + let + skippedTests = [ + # these comm tests for some reason do not resolve. + # something about the test is different as it works fine if I replicate + # the policies and run tracee myself but doesn't work in the integration + # test either with the automatic run or running the commands by hand + # while it's searching. + "Test_EventFilters/comm:_event:_args:_trace_event_set_in_a_specific_policy_with_args_from_ls_command" + "Test_EventFilters/comm:_event:_trace_events_set_in_two_specific_policies_from_ls_and_uname_commands" - # worked at some point, seems to be flakey - "Test_EventFilters/pid:_event:_args:_trace_event_sched_switch_with_args_from_pid_0" - ]; - in - '' - with subtest("prepare for integration tests"): - machine.wait_for_unit("docker.service") - machine.succeed('which bash') + # worked at some point, seems to be flakey + "Test_EventFilters/pid:_event:_args:_trace_event_sched_switch_with_args_from_pid_0" + ]; + in + '' + with subtest("prepare for integration tests"): + machine.wait_for_unit("docker.service") + machine.succeed('which bash') - # EventFilters/trace_only_events_from_new_containers also requires a container called "hello-world" - machine.succeed('docker load < ${passthru.hello-world-builder pkgs}') + # EventFilters/trace_only_events_from_new_containers also requires a container called "hello-world" + machine.succeed('docker load < ${passthru.hello-world-builder pkgs}') - # exec= needs fully resolved paths - machine.succeed( - 'mkdir /tmp/testdir', - 'cp $(which who) /tmp/testdir/who', - 'cp $(which uname) /tmp/testdir/uname', - ) + # exec= needs fully resolved paths + machine.succeed( + 'mkdir /tmp/testdir', + 'cp $(which who) /tmp/testdir/who', + 'cp $(which uname) /tmp/testdir/uname', + ) - with subtest("run integration tests"): - # Test_EventFilters/trace_event_set_in_a_specific_scope expects to be in a dir that includes "integration" - # tests must be ran with 1 process - print(machine.succeed( - 'mkdir /tmp/integration', - 'cd /tmp/integration && export PATH="/tmp/testdir:$PATH" && integration.test -test.v -test.parallel 1 -test.skip="^${builtins.concatStringsSep "$|^" skippedTests}$"' - )) - ''; -}) + with subtest("run integration tests"): + # Test_EventFilters/trace_event_set_in_a_specific_scope expects to be in a dir that includes "integration" + # tests must be ran with 1 process + print(machine.succeed( + 'mkdir /tmp/integration', + 'cd /tmp/integration && export PATH="/tmp/testdir:$PATH" && integration.test -test.v -test.parallel 1 -test.skip="^${builtins.concatStringsSep "$|^" skippedTests}$"' + )) + ''; + } +) diff --git a/nixos/tests/traefik.nix b/nixos/tests/traefik.nix index f26b79a0fa4d6..5e0c88c8130a6 100644 --- a/nixos/tests/traefik.nix +++ b/nixos/tests/traefik.nix @@ -1,98 +1,109 @@ # Test Traefik as a reverse proxy of a local web service # and a Docker container. -import ./make-test-python.nix ({ pkgs, ... }: { - name = "traefik"; - meta = with pkgs.lib.maintainers; { - maintainers = [ joko ]; - }; - - nodes = { - client = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.curl ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "traefik"; + meta = with pkgs.lib.maintainers; { + maintainers = [ joko ]; }; - traefik = { config, pkgs, ... }: { - virtualisation.oci-containers = { - backend = "docker"; - containers.nginx = { - extraOptions = [ - "-l" - "traefik.enable=true" - "-l" - "traefik.http.routers.nginx.entrypoints=web" - "-l" - "traefik.http.routers.nginx.rule=Host(`nginx.traefik.test`)" - ]; - image = "nginx-container"; - imageStream = pkgs.dockerTools.examples.nginxStream; - }; - }; - - networking.firewall.allowedTCPPorts = [ 80 ]; - - services.traefik = { - enable = true; - dynamicConfigOptions = { - http.routers.simplehttp = { - rule = "Host(`simplehttp.traefik.test`)"; - entryPoints = [ "web" ]; - service = "simplehttp"; + nodes = { + client = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + }; + traefik = + { config, pkgs, ... }: + { + virtualisation.oci-containers = { + backend = "docker"; + containers.nginx = { + extraOptions = [ + "-l" + "traefik.enable=true" + "-l" + "traefik.http.routers.nginx.entrypoints=web" + "-l" + "traefik.http.routers.nginx.rule=Host(`nginx.traefik.test`)" + ]; + image = "nginx-container"; + imageStream = pkgs.dockerTools.examples.nginxStream; + }; }; - http.services.simplehttp = { - loadBalancer.servers = [{ - url = "http://127.0.0.1:8000"; - }]; + networking.firewall.allowedTCPPorts = [ 80 ]; + + services.traefik = { + enable = true; + + dynamicConfigOptions = { + http.routers.simplehttp = { + rule = "Host(`simplehttp.traefik.test`)"; + entryPoints = [ "web" ]; + service = "simplehttp"; + }; + + http.services.simplehttp = { + loadBalancer.servers = [ + { + url = "http://127.0.0.1:8000"; + } + ]; + }; + }; + + staticConfigOptions = { + global = { + checkNewVersion = false; + sendAnonymousUsage = false; + }; + + entryPoints.web.address = ":\${HTTP_PORT}"; + + providers.docker.exposedByDefault = false; + }; + environmentFiles = [ + (pkgs.writeText "traefik.env" '' + HTTP_PORT=80 + '') + ]; }; - }; - staticConfigOptions = { - global = { - checkNewVersion = false; - sendAnonymousUsage = false; + systemd.services.simplehttp = { + script = "${pkgs.python3}/bin/python -m http.server 8000"; + serviceConfig.Type = "simple"; + wantedBy = [ "multi-user.target" ]; }; - entryPoints.web.address = ":\${HTTP_PORT}"; - - providers.docker.exposedByDefault = false; + users.users.traefik.extraGroups = [ "docker" ]; }; - environmentFiles = [(pkgs.writeText "traefik.env" '' - HTTP_PORT=80 - '')]; - }; - - systemd.services.simplehttp = { - script = "${pkgs.python3}/bin/python -m http.server 8000"; - serviceConfig.Type = "simple"; - wantedBy = [ "multi-user.target" ]; - }; - - users.users.traefik.extraGroups = [ "docker" ]; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - traefik.wait_for_unit("docker-nginx.service") - traefik.wait_until_succeeds("docker ps | grep nginx-container") - traefik.wait_for_unit("simplehttp.service") - traefik.wait_for_unit("traefik.service") - traefik.wait_for_open_port(80) - traefik.wait_for_unit("multi-user.target") + traefik.wait_for_unit("docker-nginx.service") + traefik.wait_until_succeeds("docker ps | grep nginx-container") + traefik.wait_for_unit("simplehttp.service") + traefik.wait_for_unit("traefik.service") + traefik.wait_for_open_port(80) + traefik.wait_for_unit("multi-user.target") - client.wait_for_unit("multi-user.target") + client.wait_for_unit("multi-user.target") - client.wait_until_succeeds("curl -sSf -H Host:nginx.traefik.test http://traefik/") + client.wait_until_succeeds("curl -sSf -H Host:nginx.traefik.test http://traefik/") - with subtest("Check that a container can be reached via Traefik"): - assert "Hello from NGINX" in client.succeed( - "curl -sSf -H Host:nginx.traefik.test http://traefik/" - ) + with subtest("Check that a container can be reached via Traefik"): + assert "Hello from NGINX" in client.succeed( + "curl -sSf -H Host:nginx.traefik.test http://traefik/" + ) - with subtest("Check that dynamic configuration works"): - assert "Directory listing for " in client.succeed( - "curl -sSf -H Host:simplehttp.traefik.test http://traefik/" - ) - ''; -}) + with subtest("Check that dynamic configuration works"): + assert "Directory listing for " in client.succeed( + "curl -sSf -H Host:simplehttp.traefik.test http://traefik/" + ) + ''; + } +) diff --git a/nixos/tests/trafficserver.nix b/nixos/tests/trafficserver.nix index 94d0e4dd926e9..9a64534e4357f 100644 --- a/nixos/tests/trafficserver.nix +++ b/nixos/tests/trafficserver.nix @@ -19,161 +19,188 @@ # - bin/traffic_logcat # - bin/traffic_logstats # - bin/tspush -import ./make-test-python.nix ({ pkgs, ... }: { - name = "trafficserver"; - meta = with pkgs.lib.maintainers; { - maintainers = [ midchildan ]; - }; - - nodes = { - ats = { pkgs, lib, config, ... }: let - user = config.users.users.trafficserver.name; - group = config.users.groups.trafficserver.name; - healthchecks = pkgs.writeText "healthchecks.conf" '' - /status /tmp/ats.status text/plain 200 500 - ''; - in { - services.trafficserver.enable = true; - - services.trafficserver.records = { - proxy.config.http.server_ports = "80 80:ipv6"; - proxy.config.hostdb.host_file.path = "/etc/hosts"; - proxy.config.log.max_space_mb_headroom = 0; - proxy.config.http.push_method_enabled = 1; - - # check that cache storage is usable before accepting traffic - proxy.config.http.wait_for_cache = 2; - }; - - services.trafficserver.plugins = [ - { path = "healthchecks.so"; arg = toString healthchecks; } - { path = "xdebug.so"; } - ]; - - services.trafficserver.remap = '' - map http://httpbin.test http://httpbin - map http://pristine-host-hdr.test http://httpbin \ - @plugin=conf_remap.so \ - @pparam=proxy.config.url_remap.pristine_host_hdr=1 - map http://ats/tspush http://httpbin/cache \ - @plugin=conf_remap.so \ - @pparam=proxy.config.http.cache.required_headers=0 - ''; - - services.trafficserver.storage = '' - /dev/vdb volume=1 - ''; - - networking.firewall.allowedTCPPorts = [ 80 ]; - virtualisation.emptyDiskImages = [ 256 ]; - services.udev.extraRules = '' - KERNEL=="vdb", OWNER="${user}", GROUP="${group}" - ''; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "trafficserver"; + meta = with pkgs.lib.maintainers; { + maintainers = [ midchildan ]; }; - httpbin = { pkgs, lib, ... }: let - python = pkgs.python3.withPackages - (ps: with ps; [ httpbin gunicorn gevent ]); - in { - systemd.services.httpbin = { - enable = true; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${python}/bin/gunicorn -b 0.0.0.0:80 httpbin:app -k gevent"; + nodes = { + ats = + { + pkgs, + lib, + config, + ... + }: + let + user = config.users.users.trafficserver.name; + group = config.users.groups.trafficserver.name; + healthchecks = pkgs.writeText "healthchecks.conf" '' + /status /tmp/ats.status text/plain 200 500 + ''; + in + { + services.trafficserver.enable = true; + + services.trafficserver.records = { + proxy.config.http.server_ports = "80 80:ipv6"; + proxy.config.hostdb.host_file.path = "/etc/hosts"; + proxy.config.log.max_space_mb_headroom = 0; + proxy.config.http.push_method_enabled = 1; + + # check that cache storage is usable before accepting traffic + proxy.config.http.wait_for_cache = 2; + }; + + services.trafficserver.plugins = [ + { + path = "healthchecks.so"; + arg = toString healthchecks; + } + { path = "xdebug.so"; } + ]; + + services.trafficserver.remap = '' + map http://httpbin.test http://httpbin + map http://pristine-host-hdr.test http://httpbin \ + @plugin=conf_remap.so \ + @pparam=proxy.config.url_remap.pristine_host_hdr=1 + map http://ats/tspush http://httpbin/cache \ + @plugin=conf_remap.so \ + @pparam=proxy.config.http.cache.required_headers=0 + ''; + + services.trafficserver.storage = '' + /dev/vdb volume=1 + ''; + + networking.firewall.allowedTCPPorts = [ 80 ]; + virtualisation.emptyDiskImages = [ 256 ]; + services.udev.extraRules = '' + KERNEL=="vdb", OWNER="${user}", GROUP="${group}" + ''; }; - }; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; + httpbin = + { pkgs, lib, ... }: + let + python = pkgs.python3.withPackages ( + ps: with ps; [ + httpbin + gunicorn + gevent + ] + ); + in + { + systemd.services.httpbin = { + enable = true; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${python}/bin/gunicorn -b 0.0.0.0:80 httpbin:app -k gevent"; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + }; - client = { pkgs, lib, ... }: { - environment.systemPackages = with pkgs; [ curl ]; + client = + { pkgs, lib, ... }: + { + environment.systemPackages = with pkgs; [ curl ]; + }; }; - }; - - testScript = { nodes, ... }: let - sampleFile = pkgs.writeText "sample.txt" '' - It's the season of White Album. - ''; - in '' - import json - import re - - ats.wait_for_unit("trafficserver") - ats.wait_for_open_port(80) - httpbin.wait_for_unit("httpbin") - httpbin.wait_for_open_port(80) - client.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") - - with subtest("Traffic Server is running"): - out = ats.succeed("traffic_ctl server status") - assert out.strip() == "Proxy -- on" - - with subtest("traffic_crashlog is running"): - ats.succeed("pgrep -f traffic_crashlog") - - with subtest("basic remapping works"): - out = client.succeed("curl -vv -H 'Host: httpbin.test' http://ats/headers") - assert json.loads(out)["headers"]["Host"] == "httpbin" - - with subtest("conf_remap plugin works"): - out = client.succeed( - "curl -vv -H 'Host: pristine-host-hdr.test' http://ats/headers" - ) - assert json.loads(out)["headers"]["Host"] == "pristine-host-hdr.test" - - with subtest("caching works"): - out = client.succeed( - "curl -vv -D - -H 'Host: httpbin.test' -H 'X-Debug: X-Cache' http://ats/cache/60 -o /dev/null" - ) - assert "X-Cache: miss" in out - - out = client.succeed( - "curl -vv -D - -H 'Host: httpbin.test' -H 'X-Debug: X-Cache' http://ats/cache/60 -o /dev/null" - ) - assert "X-Cache: hit-fresh" in out - - with subtest("pushing to cache works"): - url = "http://ats/tspush" - - ats.succeed(f"echo {url} > /tmp/urls.txt") - out = ats.succeed( - f"tspush -f '${sampleFile}' -u {url}" - ) - assert "HTTP/1.0 201 Created" in out, "cache push failed" - - out = ats.succeed( - "traffic_cache_tool --spans /etc/trafficserver/storage.config find --input /tmp/urls.txt" - ) - assert "Span: /dev/vdb" in out, "cache not stored on disk" - - out = client.succeed(f"curl {url}").strip() - expected = ( - open("${sampleFile}").read().strip() - ) - assert out == expected, "cache content mismatch" - - with subtest("healthcheck plugin works"): - out = client.succeed("curl -vv http://ats/status -o /dev/null -w '%{http_code}'") - assert out.strip() == "500" - - ats.succeed("touch /tmp/ats.status") - - out = client.succeed("curl -vv http://ats/status -o /dev/null -w '%{http_code}'") - assert out.strip() == "200" - - with subtest("logging works"): - access_log_path = "/var/log/trafficserver/squid.blog" - ats.wait_for_file(access_log_path) - - out = ats.succeed(f"traffic_logcat {access_log_path}").split("\n")[0] - expected = "^\S+ \S+ \S+ TCP_MISS/200 \S+ GET http://httpbin/headers - DIRECT/httpbin application/json$" - assert re.fullmatch(expected, out) is not None, "no matching logs" - - out = json.loads(ats.succeed(f"traffic_logstats -jf {access_log_path}")) - assert isinstance(out, dict) - assert out["total"]["error.total"]["req"] == "0", "unexpected log stat" - ''; -}) + + testScript = + { nodes, ... }: + let + sampleFile = pkgs.writeText "sample.txt" '' + It's the season of White Album. + ''; + in + '' + import json + import re + + ats.wait_for_unit("trafficserver") + ats.wait_for_open_port(80) + httpbin.wait_for_unit("httpbin") + httpbin.wait_for_open_port(80) + client.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") + + with subtest("Traffic Server is running"): + out = ats.succeed("traffic_ctl server status") + assert out.strip() == "Proxy -- on" + + with subtest("traffic_crashlog is running"): + ats.succeed("pgrep -f traffic_crashlog") + + with subtest("basic remapping works"): + out = client.succeed("curl -vv -H 'Host: httpbin.test' http://ats/headers") + assert json.loads(out)["headers"]["Host"] == "httpbin" + + with subtest("conf_remap plugin works"): + out = client.succeed( + "curl -vv -H 'Host: pristine-host-hdr.test' http://ats/headers" + ) + assert json.loads(out)["headers"]["Host"] == "pristine-host-hdr.test" + + with subtest("caching works"): + out = client.succeed( + "curl -vv -D - -H 'Host: httpbin.test' -H 'X-Debug: X-Cache' http://ats/cache/60 -o /dev/null" + ) + assert "X-Cache: miss" in out + + out = client.succeed( + "curl -vv -D - -H 'Host: httpbin.test' -H 'X-Debug: X-Cache' http://ats/cache/60 -o /dev/null" + ) + assert "X-Cache: hit-fresh" in out + + with subtest("pushing to cache works"): + url = "http://ats/tspush" + + ats.succeed(f"echo {url} > /tmp/urls.txt") + out = ats.succeed( + f"tspush -f '${sampleFile}' -u {url}" + ) + assert "HTTP/1.0 201 Created" in out, "cache push failed" + + out = ats.succeed( + "traffic_cache_tool --spans /etc/trafficserver/storage.config find --input /tmp/urls.txt" + ) + assert "Span: /dev/vdb" in out, "cache not stored on disk" + + out = client.succeed(f"curl {url}").strip() + expected = ( + open("${sampleFile}").read().strip() + ) + assert out == expected, "cache content mismatch" + + with subtest("healthcheck plugin works"): + out = client.succeed("curl -vv http://ats/status -o /dev/null -w '%{http_code}'") + assert out.strip() == "500" + + ats.succeed("touch /tmp/ats.status") + + out = client.succeed("curl -vv http://ats/status -o /dev/null -w '%{http_code}'") + assert out.strip() == "200" + + with subtest("logging works"): + access_log_path = "/var/log/trafficserver/squid.blog" + ats.wait_for_file(access_log_path) + + out = ats.succeed(f"traffic_logcat {access_log_path}").split("\n")[0] + expected = "^\S+ \S+ \S+ TCP_MISS/200 \S+ GET http://httpbin/headers - DIRECT/httpbin application/json$" + assert re.fullmatch(expected, out) is not None, "no matching logs" + + out = json.loads(ats.succeed(f"traffic_logstats -jf {access_log_path}")) + assert isinstance(out, dict) + assert out["total"]["error.total"]["req"] == "0", "unexpected log stat" + ''; + } +) diff --git a/nixos/tests/transfer-sh.nix b/nixos/tests/transfer-sh.nix index f4ab7d28858e1..32750b1fdc259 100644 --- a/nixos/tests/transfer-sh.nix +++ b/nixos/tests/transfer-sh.nix @@ -1,20 +1,25 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "transfer-sh"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "transfer-sh"; - meta = { - maintainers = with lib.maintainers; [ ocfox ]; - }; - - nodes.machine = { pkgs, ... }: { - services.transfer-sh = { - enable = true; - settings.LISTENER = ":1234"; + meta = { + maintainers = with lib.maintainers; [ ocfox ]; }; - }; - testScript = '' - machine.wait_for_unit("transfer-sh.service") - machine.wait_for_open_port(1234) - machine.succeed("curl --fail http://localhost:1234/") - ''; -}) + nodes.machine = + { pkgs, ... }: + { + services.transfer-sh = { + enable = true; + settings.LISTENER = ":1234"; + }; + }; + + testScript = '' + machine.wait_for_unit("transfer-sh.service") + machine.wait_for_open_port(1234) + machine.succeed("curl --fail http://localhost:1234/") + ''; + } +) diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix index 03fc9a421510a..0ddce92e83456 100644 --- a/nixos/tests/transmission.nix +++ b/nixos/tests/transmission.nix @@ -1,24 +1,28 @@ -import ./make-test-python.nix ({ pkgs, transmission, ... }: { - name = "transmission"; - meta = with pkgs.lib.maintainers; { - maintainers = [ coconnor ]; - }; +import ./make-test-python.nix ( + { pkgs, transmission, ... }: + { + name = "transmission"; + meta = with pkgs.lib.maintainers; { + maintainers = [ coconnor ]; + }; - nodes.machine = { ... }: { - imports = [ ../modules/profiles/minimal.nix ]; + nodes.machine = + { ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; - networking.firewall.allowedTCPPorts = [ 9091 ]; + networking.firewall.allowedTCPPorts = [ 9091 ]; - security.apparmor.enable = true; + security.apparmor.enable = true; - services.transmission.enable = true; - services.transmission.package = transmission; - }; + services.transmission.enable = true; + services.transmission.package = transmission; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("transmission") machine.shutdown() ''; -}) + } +) diff --git a/nixos/tests/trezord.nix b/nixos/tests/trezord.nix index fb60cb4aff100..d8b85d99f09c4 100644 --- a/nixos/tests/trezord.nix +++ b/nixos/tests/trezord.nix @@ -1,19 +1,27 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "trezord"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ mmahut _1000101 ]; - }; - nodes = { - machine = { ... }: { - services.trezord.enable = true; - services.trezord.emulator.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "trezord"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ + mmahut + _1000101 + ]; + }; + nodes = { + machine = + { ... }: + { + services.trezord.enable = true; + services.trezord.emulator.enable = true; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("trezord.service") - machine.wait_for_open_port(21325) - machine.wait_until_succeeds("curl -fL http://localhost:21325/status/ | grep Version") - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("trezord.service") + machine.wait_for_open_port(21325) + machine.wait_until_succeeds("curl -fL http://localhost:21325/status/ | grep Version") + ''; + } +) diff --git a/nixos/tests/trickster.nix b/nixos/tests/trickster.nix index acb2e735c39f8..97ee1855496e4 100644 --- a/nixos/tests/trickster.nix +++ b/nixos/tests/trickster.nix @@ -1,37 +1,44 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "trickster"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ _1000101 ]; - }; - - nodes = { - prometheus = { ... }: { - services.prometheus.enable = true; - networking.firewall.allowedTCPPorts = [ 9090 ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "trickster"; + meta = with pkgs.lib; { + maintainers = with maintainers; [ _1000101 ]; }; - trickster = { ... }: { - services.trickster.enable = true; + + nodes = { + prometheus = + { ... }: + { + services.prometheus.enable = true; + networking.firewall.allowedTCPPorts = [ 9090 ]; + }; + trickster = + { ... }: + { + services.trickster.enable = true; + }; }; - }; - testScript = '' - start_all() - prometheus.wait_for_unit("prometheus.service") - prometheus.wait_for_open_port(9090) - prometheus.wait_until_succeeds( - "curl -fL http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" - ) - trickster.wait_for_unit("trickster.service") - trickster.wait_for_open_port(8082) - trickster.wait_for_open_port(9090) - trickster.wait_until_succeeds( - "curl -fL http://localhost:8082/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" - ) - trickster.wait_until_succeeds( - "curl -fL http://prometheus:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" - ) - trickster.wait_until_succeeds( - "curl -fL http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" - ) - ''; -}) + testScript = '' + start_all() + prometheus.wait_for_unit("prometheus.service") + prometheus.wait_for_open_port(9090) + prometheus.wait_until_succeeds( + "curl -fL http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" + ) + trickster.wait_for_unit("trickster.service") + trickster.wait_for_open_port(8082) + trickster.wait_for_open_port(9090) + trickster.wait_until_succeeds( + "curl -fL http://localhost:8082/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" + ) + trickster.wait_until_succeeds( + "curl -fL http://prometheus:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" + ) + trickster.wait_until_succeeds( + "curl -fL http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'" + ) + ''; + } +) diff --git a/nixos/tests/trilium-server.nix b/nixos/tests/trilium-server.nix index 6346575b33da6..e20e38610220a 100644 --- a/nixos/tests/trilium-server.nix +++ b/nixos/tests/trilium-server.nix @@ -1,27 +1,28 @@ -import ./make-test-python.nix ({ ... }: { - name = "trilium-server"; - nodes = { - default = { - services.trilium-server.enable = true; - }; - configured = { - services.trilium-server = { - enable = true; - dataDir = "/data/trilium"; +import ./make-test-python.nix ( + { ... }: + { + name = "trilium-server"; + nodes = { + default = { + services.trilium-server.enable = true; + }; + configured = { + services.trilium-server = { + enable = true; + dataDir = "/data/trilium"; + }; }; - }; - nginx = { - services.trilium-server = { - enable = true; - nginx.enable = true; - nginx.hostName = "trilium.example.com"; + nginx = { + services.trilium-server = { + enable = true; + nginx.enable = true; + nginx.hostName = "trilium.example.com"; + }; }; }; - }; - testScript = - '' + testScript = '' start_all() with subtest("by default works without configuration"): @@ -50,4 +51,5 @@ import ./make-test-python.nix ({ ... }: { "curl --resolve 'trilium.example.com:80:127.0.0.1' http://trilium.example.com/" ) ''; -}) + } +) diff --git a/nixos/tests/tsm-client-gui.nix b/nixos/tests/tsm-client-gui.nix index ca10cddc411fa..edae66f670288 100644 --- a/nixos/tests/tsm-client-gui.nix +++ b/nixos/tests/tsm-client-gui.nix @@ -5,53 +5,58 @@ # to show its main application window # and verifies some configuration information. -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "tsm-client"; - - enableOCR = true; - - nodes.machine = { pkgs, ... }: { - imports = [ ./common/x11.nix ]; - programs.tsmClient = { - enable = true; - package = pkgs.tsm-client-withGui; - defaultServername = "testserver"; - servers.testserver = { - # 192.0.0.8 is a "dummy address" according to RFC 7600 - tcpserveraddress = "192.0.0.8"; - nodename = "SOME-NODE"; - passworddir = "/tmp"; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "tsm-client"; + + enableOCR = true; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + programs.tsmClient = { + enable = true; + package = pkgs.tsm-client-withGui; + defaultServername = "testserver"; + servers.testserver = { + # 192.0.0.8 is a "dummy address" according to RFC 7600 + tcpserveraddress = "192.0.0.8"; + nodename = "SOME-NODE"; + passworddir = "/tmp"; + }; + }; }; - }; - }; - - testScript = '' - machine.succeed("which dsmj") # fail early if this is missing - machine.wait_for_x() - machine.execute("DSM_LOG=/tmp dsmj -optfile=/dev/null >&2 &") - - # does it report the "TCP/IP connection failure" error code? - machine.wait_for_window("IBM Storage Protect") - machine.wait_for_text("ANS2610S") - machine.send_key("esc") - - # it asks to continue to restore a local backupset now; - # "yes" (return) leads to the main application window - machine.wait_for_text("backupset") - machine.send_key("ret") - - # main window: navigate to "Connection Information" - machine.wait_for_text("Welcome") - machine.send_key("alt-f") # "File" menu - machine.send_key("c") # "Connection Information" - - # "Connection Information" dialog box - machine.wait_for_window("Connection Information") - machine.wait_for_text("SOME-NODE") - machine.wait_for_text("${pkgs.tsm-client.passthru.unwrapped.version}") - - machine.shutdown() - ''; - - meta.maintainers = [ lib.maintainers.yarny ]; -}) + + testScript = '' + machine.succeed("which dsmj") # fail early if this is missing + machine.wait_for_x() + machine.execute("DSM_LOG=/tmp dsmj -optfile=/dev/null >&2 &") + + # does it report the "TCP/IP connection failure" error code? + machine.wait_for_window("IBM Storage Protect") + machine.wait_for_text("ANS2610S") + machine.send_key("esc") + + # it asks to continue to restore a local backupset now; + # "yes" (return) leads to the main application window + machine.wait_for_text("backupset") + machine.send_key("ret") + + # main window: navigate to "Connection Information" + machine.wait_for_text("Welcome") + machine.send_key("alt-f") # "File" menu + machine.send_key("c") # "Connection Information" + + # "Connection Information" dialog box + machine.wait_for_window("Connection Information") + machine.wait_for_text("SOME-NODE") + machine.wait_for_text("${pkgs.tsm-client.passthru.unwrapped.version}") + + machine.shutdown() + ''; + + meta.maintainers = [ lib.maintainers.yarny ]; + } +) diff --git a/nixos/tests/tuptime.nix b/nixos/tests/tuptime.nix index 93410de7bdf52..a879781c55c0e 100644 --- a/nixos/tests/tuptime.nix +++ b/nixos/tests/tuptime.nix @@ -1,16 +1,19 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "tuptime"; - meta = with pkgs.lib.maintainers; { - maintainers = [ evils ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "tuptime"; + meta = with pkgs.lib.maintainers; { + maintainers = [ evils ]; + }; - nodes.machine = { pkgs, ... }: { - imports = [ ../modules/profiles/minimal.nix ]; - services.tuptime.enable = true; - }; + nodes.machine = + { pkgs, ... }: + { + imports = [ ../modules/profiles/minimal.nix ]; + services.tuptime.enable = true; + }; - testScript = - '' + testScript = '' # see if it starts start_all() machine.wait_for_unit("multi-user.target") @@ -25,5 +28,5 @@ import ./make-test-python.nix ({ pkgs, ...} : { machine.succeed("tuptime | grep 'System shutdowns:[[:blank:]]*1 ok'") machine.shutdown() ''; -}) - + } +) diff --git a/nixos/tests/turbovnc-headless-server.nix b/nixos/tests/turbovnc-headless-server.nix index c4384a4fc95c9..f51968e29b294 100644 --- a/nixos/tests/turbovnc-headless-server.nix +++ b/nixos/tests/turbovnc-headless-server.nix @@ -1,175 +1,180 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "turbovnc-headless-server"; - meta = { - maintainers = with lib.maintainers; [ nh2 ]; - }; - - nodes.machine = { pkgs, ... }: { - - environment.systemPackages = with pkgs; [ - mesa-demos - procps # for `pkill`, `pidof` in the test - scrot # for screenshotting Xorg - turbovnc - ]; - - programs.turbovnc.ensureHeadlessSoftwareOpenGL = true; - - networking.firewall = { - # Reject instead of drop, for failures instead of hangs. - rejectPackets = true; - allowedTCPPorts = [ - 5900 # VNC :0, for seeing what's going on in the server - ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "turbovnc-headless-server"; + meta = { + maintainers = with lib.maintainers; [ nh2 ]; }; - # So that we can ssh into the VM, see e.g. - # https://nixos.org/manual/nixos/stable/#sec-nixos-test-port-forwarding - services.openssh.enable = true; - users.mutableUsers = false; - # `test-instrumentation.nix` already sets an empty root password. - # The following have to all be set to allow an empty SSH login password. - services.openssh.settings.PermitRootLogin = "yes"; - services.openssh.settings.PermitEmptyPasswords = "yes"; - security.pam.services.sshd.allowNullPassword = true; # the default `UsePam yes` makes this necessary - }; - - testScript = '' - def wait_until_terminated_or_succeeds( - termination_check_shell_command, - success_check_shell_command, - get_detail_message_fn, - retries=60, - retry_sleep=0.5, - ): - def check_success(): - command_exit_code, _output = machine.execute(success_check_shell_command) - return command_exit_code == 0 - - for _ in range(retries): - exit_check_exit_code, _output = machine.execute(termination_check_shell_command) - is_terminated = exit_check_exit_code != 0 - if is_terminated: - if check_success(): - return - else: - details = get_detail_message_fn() - raise Exception( - f"termination check ({termination_check_shell_command}) triggered without command succeeding ({success_check_shell_command}); details: {details}" - ) - else: - if check_success(): - return - import time - time.sleep(retry_sleep) - - if not check_success(): - details = get_detail_message_fn() - raise Exception( - f"action timed out ({success_check_shell_command}); details: {details}" - ) - - - # Below we use the pattern: - # (cmd | tee stdout.log) 3>&1 1>&2 2>&3 | tee stderr.log - # to capture both stderr and stdout while also teeing them, see: - # https://unix.stackexchange.com/questions/6430/how-to-redirect-stderr-and-stdout-to-different-files-and-also-display-in-termina/6431#6431 - - - # Starts headless VNC server, backgrounding it. - def start_xvnc(): - xvnc_command = " ".join( - [ - "Xvnc", - ":0", - "-iglx", - "-auth /root/.Xauthority", - "-geometry 1240x900", - "-depth 24", - "-rfbwait 5000", - "-deferupdate 1", - "-verbose", - "-securitytypes none", - # We don't enforce localhost listening such that we - # can connect from outside the VM using - # env QEMU_NET_OPTS=hostfwd=tcp::5900-:5900 $(nix-build nixos/tests/turbovnc-headless-server.nix -A driver)/bin/nixos-test-driver - # for testing purposes, and so that we can in the future - # add another test case that connects the TurboVNC client. - # "-localhost", - ] - ) - machine.execute( - # Note trailing & for backgrounding. - f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr >&2 &", - ) - - - # Waits until the server log message that tells us that GLX is ready - # (requires `-verbose` above), avoiding screenshoting racing below. - def wait_until_xvnc_glx_ready(): - machine.wait_until_succeeds("test -f /tmp/Xvnc.stderr") - wait_until_terminated_or_succeeds( - termination_check_shell_command="pidof Xvnc", - success_check_shell_command="grep 'GLX: Initialized DRISWRAST' /tmp/Xvnc.stderr", - get_detail_message_fn=lambda: "Contents of /tmp/Xvnc.stderr:\n" - + machine.succeed("cat /tmp/Xvnc.stderr"), - ) - - - # Checks that we detect glxgears failing when - # `LIBGL_DRIVERS_PATH=/nonexistent` is set - # (in which case software rendering should not work). - def test_glxgears_failing_with_bad_driver_path(): - machine.execute( - # Note trailing & for backgrounding. - "(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr >&2 &" - ) - machine.wait_until_succeeds("test -f /tmp/glxgears-should-fail.stderr") - wait_until_terminated_or_succeeds( - termination_check_shell_command="pidof glxgears", - success_check_shell_command="grep 'MESA-LOADER: failed to open swrast' /tmp/glxgears-should-fail.stderr", - get_detail_message_fn=lambda: "Contents of /tmp/glxgears-should-fail.stderr:\n" - + machine.succeed("cat /tmp/glxgears-should-fail.stderr"), - ) - machine.wait_until_fails("pidof glxgears") - - - # Starts glxgears, backgrounding it. Waits until it prints the `GL_RENDERER`. - # Does not quit glxgears. - def test_glxgears_prints_renderer(): - machine.execute( - # Note trailing & for backgrounding. - "(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr >&2 &" - ) - machine.wait_until_succeeds("test -f /tmp/glxgears.stderr") - wait_until_terminated_or_succeeds( - termination_check_shell_command="pidof glxgears", - success_check_shell_command="grep 'GL_RENDERER' /tmp/glxgears.stdout", - get_detail_message_fn=lambda: "Contents of /tmp/glxgears.stderr:\n" - + machine.succeed("cat /tmp/glxgears.stderr"), - ) - - - with subtest("Start Xvnc"): - start_xvnc() - wait_until_xvnc_glx_ready() - - with subtest("Ensure bad driver path makes glxgears fail"): - test_glxgears_failing_with_bad_driver_path() - - with subtest("Run 3D application (glxgears)"): - test_glxgears_prints_renderer() - - # Take screenshot; should display the glxgears. - machine.succeed("scrot --display :0 /tmp/glxgears.png") - - # Copy files down. - machine.copy_from_vm("/tmp/glxgears.png") - machine.copy_from_vm("/tmp/glxgears.stdout") - machine.copy_from_vm("/tmp/glxgears-should-fail.stdout") - machine.copy_from_vm("/tmp/glxgears-should-fail.stderr") - machine.copy_from_vm("/tmp/Xvnc.stdout") - machine.copy_from_vm("/tmp/Xvnc.stderr") - ''; - -}) + nodes.machine = + { pkgs, ... }: + { + + environment.systemPackages = with pkgs; [ + mesa-demos + procps # for `pkill`, `pidof` in the test + scrot # for screenshotting Xorg + turbovnc + ]; + + programs.turbovnc.ensureHeadlessSoftwareOpenGL = true; + + networking.firewall = { + # Reject instead of drop, for failures instead of hangs. + rejectPackets = true; + allowedTCPPorts = [ + 5900 # VNC :0, for seeing what's going on in the server + ]; + }; + + # So that we can ssh into the VM, see e.g. + # https://nixos.org/manual/nixos/stable/#sec-nixos-test-port-forwarding + services.openssh.enable = true; + users.mutableUsers = false; + # `test-instrumentation.nix` already sets an empty root password. + # The following have to all be set to allow an empty SSH login password. + services.openssh.settings.PermitRootLogin = "yes"; + services.openssh.settings.PermitEmptyPasswords = "yes"; + security.pam.services.sshd.allowNullPassword = true; # the default `UsePam yes` makes this necessary + }; + + testScript = '' + def wait_until_terminated_or_succeeds( + termination_check_shell_command, + success_check_shell_command, + get_detail_message_fn, + retries=60, + retry_sleep=0.5, + ): + def check_success(): + command_exit_code, _output = machine.execute(success_check_shell_command) + return command_exit_code == 0 + + for _ in range(retries): + exit_check_exit_code, _output = machine.execute(termination_check_shell_command) + is_terminated = exit_check_exit_code != 0 + if is_terminated: + if check_success(): + return + else: + details = get_detail_message_fn() + raise Exception( + f"termination check ({termination_check_shell_command}) triggered without command succeeding ({success_check_shell_command}); details: {details}" + ) + else: + if check_success(): + return + import time + time.sleep(retry_sleep) + + if not check_success(): + details = get_detail_message_fn() + raise Exception( + f"action timed out ({success_check_shell_command}); details: {details}" + ) + + + # Below we use the pattern: + # (cmd | tee stdout.log) 3>&1 1>&2 2>&3 | tee stderr.log + # to capture both stderr and stdout while also teeing them, see: + # https://unix.stackexchange.com/questions/6430/how-to-redirect-stderr-and-stdout-to-different-files-and-also-display-in-termina/6431#6431 + + + # Starts headless VNC server, backgrounding it. + def start_xvnc(): + xvnc_command = " ".join( + [ + "Xvnc", + ":0", + "-iglx", + "-auth /root/.Xauthority", + "-geometry 1240x900", + "-depth 24", + "-rfbwait 5000", + "-deferupdate 1", + "-verbose", + "-securitytypes none", + # We don't enforce localhost listening such that we + # can connect from outside the VM using + # env QEMU_NET_OPTS=hostfwd=tcp::5900-:5900 $(nix-build nixos/tests/turbovnc-headless-server.nix -A driver)/bin/nixos-test-driver + # for testing purposes, and so that we can in the future + # add another test case that connects the TurboVNC client. + # "-localhost", + ] + ) + machine.execute( + # Note trailing & for backgrounding. + f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr >&2 &", + ) + + + # Waits until the server log message that tells us that GLX is ready + # (requires `-verbose` above), avoiding screenshoting racing below. + def wait_until_xvnc_glx_ready(): + machine.wait_until_succeeds("test -f /tmp/Xvnc.stderr") + wait_until_terminated_or_succeeds( + termination_check_shell_command="pidof Xvnc", + success_check_shell_command="grep 'GLX: Initialized DRISWRAST' /tmp/Xvnc.stderr", + get_detail_message_fn=lambda: "Contents of /tmp/Xvnc.stderr:\n" + + machine.succeed("cat /tmp/Xvnc.stderr"), + ) + + + # Checks that we detect glxgears failing when + # `LIBGL_DRIVERS_PATH=/nonexistent` is set + # (in which case software rendering should not work). + def test_glxgears_failing_with_bad_driver_path(): + machine.execute( + # Note trailing & for backgrounding. + "(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr >&2 &" + ) + machine.wait_until_succeeds("test -f /tmp/glxgears-should-fail.stderr") + wait_until_terminated_or_succeeds( + termination_check_shell_command="pidof glxgears", + success_check_shell_command="grep 'MESA-LOADER: failed to open swrast' /tmp/glxgears-should-fail.stderr", + get_detail_message_fn=lambda: "Contents of /tmp/glxgears-should-fail.stderr:\n" + + machine.succeed("cat /tmp/glxgears-should-fail.stderr"), + ) + machine.wait_until_fails("pidof glxgears") + + + # Starts glxgears, backgrounding it. Waits until it prints the `GL_RENDERER`. + # Does not quit glxgears. + def test_glxgears_prints_renderer(): + machine.execute( + # Note trailing & for backgrounding. + "(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr >&2 &" + ) + machine.wait_until_succeeds("test -f /tmp/glxgears.stderr") + wait_until_terminated_or_succeeds( + termination_check_shell_command="pidof glxgears", + success_check_shell_command="grep 'GL_RENDERER' /tmp/glxgears.stdout", + get_detail_message_fn=lambda: "Contents of /tmp/glxgears.stderr:\n" + + machine.succeed("cat /tmp/glxgears.stderr"), + ) + + + with subtest("Start Xvnc"): + start_xvnc() + wait_until_xvnc_glx_ready() + + with subtest("Ensure bad driver path makes glxgears fail"): + test_glxgears_failing_with_bad_driver_path() + + with subtest("Run 3D application (glxgears)"): + test_glxgears_prints_renderer() + + # Take screenshot; should display the glxgears. + machine.succeed("scrot --display :0 /tmp/glxgears.png") + + # Copy files down. + machine.copy_from_vm("/tmp/glxgears.png") + machine.copy_from_vm("/tmp/glxgears.stdout") + machine.copy_from_vm("/tmp/glxgears-should-fail.stdout") + machine.copy_from_vm("/tmp/glxgears-should-fail.stderr") + machine.copy_from_vm("/tmp/Xvnc.stdout") + machine.copy_from_vm("/tmp/Xvnc.stderr") + ''; + + } +) diff --git a/nixos/tests/tuxguitar.nix b/nixos/tests/tuxguitar.nix index 00833024bfeac..e491f96a89ce9 100644 --- a/nixos/tests/tuxguitar.nix +++ b/nixos/tests/tuxguitar.nix @@ -1,24 +1,29 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "tuxguitar"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "tuxguitar"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; + services.xserver.enable = true; - environment.systemPackages = [ pkgs.tuxguitar ]; - }; + environment.systemPackages = [ pkgs.tuxguitar ]; + }; - testScript = '' - machine.wait_for_x() - machine.succeed("tuxguitar >&2 &") - machine.wait_for_window("TuxGuitar - Untitled.tg") - machine.sleep(1) - machine.screenshot("tuxguitar") - ''; -}) + testScript = '' + machine.wait_for_x() + machine.succeed("tuxguitar >&2 &") + machine.wait_for_window("TuxGuitar - Untitled.tg") + machine.sleep(1) + machine.screenshot("tuxguitar") + ''; + } +) diff --git a/nixos/tests/twingate.nix b/nixos/tests/twingate.nix index f8bede09d9f26..095b8e380b07d 100644 --- a/nixos/tests/twingate.nix +++ b/nixos/tests/twingate.nix @@ -3,12 +3,14 @@ nodes.machine.services.twingate.enable = true; - testScript = { nodes, ... }: '' - machine.wait_for_unit("twingate.service") - machine.succeed("twingate --version | grep '${nodes.machine.services.twingate.package.version}' >&2") - machine.succeed("twingate config log-level 'debug'") - machine.systemctl("restart twingate.service") - machine.succeed("grep 'debug' /etc/twingate/log_level.conf >&2") - machine.succeed("twingate config log-level | grep 'debug' >&2") - ''; + testScript = + { nodes, ... }: + '' + machine.wait_for_unit("twingate.service") + machine.succeed("twingate --version | grep '${nodes.machine.services.twingate.package.version}' >&2") + machine.succeed("twingate config log-level 'debug'") + machine.systemctl("restart twingate.service") + machine.succeed("grep 'debug' /etc/twingate/log_level.conf >&2") + machine.succeed("twingate config log-level | grep 'debug' >&2") + ''; } diff --git a/nixos/tests/txredisapi.nix b/nixos/tests/txredisapi.nix index 47c2ba6d3749a..ecfb79ea13d7a 100644 --- a/nixos/tests/txredisapi.nix +++ b/nixos/tests/txredisapi.nix @@ -1,29 +1,40 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "txredisapi"; - meta = with pkgs.lib.maintainers; { - maintainers = [ dandellion ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "txredisapi"; + meta = with pkgs.lib.maintainers; { + maintainers = [ dandellion ]; + }; - nodes = { - machine = - { pkgs, ... }: + nodes = { + machine = + { pkgs, ... }: - { - services.redis.servers."".enable = true; + { + services.redis.servers."".enable = true; - environment.systemPackages = with pkgs; [ (python3.withPackages (ps: [ ps.twisted ps.txredisapi ps.mock ]))]; - }; - }; + environment.systemPackages = with pkgs; [ + (python3.withPackages (ps: [ + ps.twisted + ps.txredisapi + ps.mock + ])) + ]; + }; + }; - testScript = { nodes, ... }: let - inherit (nodes.machine.config.services) redis; - in '' - start_all() - machine.wait_for_unit("redis") - machine.wait_for_file("${redis.servers."".unixSocket}") - machine.succeed("ln -s ${redis.servers."".unixSocket} /tmp/redis.sock") + testScript = + { nodes, ... }: + let + inherit (nodes.machine.config.services) redis; + in + '' + start_all() + machine.wait_for_unit("redis") + machine.wait_for_file("${redis.servers."".unixSocket}") + machine.succeed("ln -s ${redis.servers."".unixSocket} /tmp/redis.sock") - tests = machine.succeed("PYTHONPATH=\"${pkgs.python3Packages.txredisapi.src}\" python -m twisted.trial ${pkgs.python3Packages.txredisapi.src}/tests") - ''; -}) + tests = machine.succeed("PYTHONPATH=\"${pkgs.python3Packages.txredisapi.src}\" python -m twisted.trial ${pkgs.python3Packages.txredisapi.src}/tests") + ''; + } +) diff --git a/nixos/tests/typesense.nix b/nixos/tests/typesense.nix index 87ed248257ea0..dbd9e4e38a9fb 100644 --- a/nixos/tests/typesense.nix +++ b/nixos/tests/typesense.nix @@ -1,24 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... }: let - testPort = 8108; -in { - name = "typesense"; - meta.maintainers = with pkgs.lib.maintainers; [ oddlama ]; +import ./make-test-python.nix ( + { pkgs, ... }: + let + testPort = 8108; + in + { + name = "typesense"; + meta.maintainers = with pkgs.lib.maintainers; [ oddlama ]; - nodes.machine = { ... }: { - services.typesense = { - enable = true; - apiKeyFile = pkgs.writeText "typesense-api-key" "dummy"; - settings.server = { - api-port = testPort; - api-address = "0.0.0.0"; + nodes.machine = + { ... }: + { + services.typesense = { + enable = true; + apiKeyFile = pkgs.writeText "typesense-api-key" "dummy"; + settings.server = { + api-port = testPort; + api-address = "0.0.0.0"; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("typesense.service") - machine.wait_for_open_port(${toString testPort}) - # After waiting for the port, typesense still hasn't initialized the database, so wait until we can connect successfully - assert machine.wait_until_succeeds("curl --fail http://localhost:${toString testPort}/health") == '{"ok":true}' - ''; -}) + testScript = '' + machine.wait_for_unit("typesense.service") + machine.wait_for_open_port(${toString testPort}) + # After waiting for the port, typesense still hasn't initialized the database, so wait until we can connect successfully + assert machine.wait_until_succeeds("curl --fail http://localhost:${toString testPort}/health") == '{"ok":true}' + ''; + } +) diff --git a/nixos/tests/ucarp.nix b/nixos/tests/ucarp.nix index 1f60f770d3a8a..ec24d49e95a9d 100644 --- a/nixos/tests/ucarp.nix +++ b/nixos/tests/ucarp.nix @@ -1,66 +1,80 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - addrShared = "192.168.0.1"; - addrHostA = "192.168.0.10"; - addrHostB = "192.168.0.11"; + let + addrShared = "192.168.0.1"; + addrHostA = "192.168.0.10"; + addrHostB = "192.168.0.11"; - mkUcarpHost = addr: { config, pkgs, lib, ... }: { - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ - { address = addr; prefixLength = 24; } - ]; + mkUcarpHost = + addr: + { + config, + pkgs, + lib, + ... + }: + { + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = addr; + prefixLength = 24; + } + ]; - networking.ucarp = { - enable = true; - interface = "eth1"; - srcIp = addr; - vhId = 1; - passwordFile = "${pkgs.writeText "ucarp-pass" "secure"}"; - addr = addrShared; - upscript = pkgs.writeScript "upscript" '' - #!/bin/sh - ${pkgs.iproute2}/bin/ip addr add "$2"/24 dev "$1" - ''; - downscript = pkgs.writeScript "downscript" '' - #!/bin/sh - ${pkgs.iproute2}/bin/ip addr del "$2"/24 dev "$1" - ''; - }; - }; -in { - name = "ucarp"; - meta.maintainers = with lib.maintainers; [ oxzi ]; + networking.ucarp = { + enable = true; + interface = "eth1"; + srcIp = addr; + vhId = 1; + passwordFile = "${pkgs.writeText "ucarp-pass" "secure"}"; + addr = addrShared; + upscript = pkgs.writeScript "upscript" '' + #!/bin/sh + ${pkgs.iproute2}/bin/ip addr add "$2"/24 dev "$1" + ''; + downscript = pkgs.writeScript "downscript" '' + #!/bin/sh + ${pkgs.iproute2}/bin/ip addr del "$2"/24 dev "$1" + ''; + }; + }; + in + { + name = "ucarp"; + meta.maintainers = with lib.maintainers; [ oxzi ]; - nodes = { - hostA = mkUcarpHost addrHostA; - hostB = mkUcarpHost addrHostB; - }; + nodes = { + hostA = mkUcarpHost addrHostA; + hostB = mkUcarpHost addrHostB; + }; - testScript = '' - def is_master(host): - ipOutput = host.succeed("ip addr show dev eth1") - return "inet ${addrShared}/24" in ipOutput + testScript = '' + def is_master(host): + ipOutput = host.succeed("ip addr show dev eth1") + return "inet ${addrShared}/24" in ipOutput - start_all() + start_all() - # First, let both hosts start and let a master node be selected - for host, peer in [(hostA, "${addrHostB}"), (hostB, "${addrHostA}")]: - host.wait_for_unit("ucarp.service") - host.succeed(f"ping -c 1 {peer}") + # First, let both hosts start and let a master node be selected + for host, peer in [(hostA, "${addrHostB}"), (hostB, "${addrHostA}")]: + host.wait_for_unit("ucarp.service") + host.succeed(f"ping -c 1 {peer}") - hostA.sleep(5) + hostA.sleep(5) - hostA_master, hostB_master = is_master(hostA), is_master(hostB) - assert hostA_master != hostB_master, "only one master node is allowed" + hostA_master, hostB_master = is_master(hostA), is_master(hostB) + assert hostA_master != hostB_master, "only one master node is allowed" - master_host = hostA if hostA_master else hostB - backup_host = hostB if hostA_master else hostA + master_host = hostA if hostA_master else hostB + backup_host = hostB if hostA_master else hostA - # Let's crash the master host and let the backup take over - master_host.crash() + # Let's crash the master host and let the backup take over + master_host.crash() - backup_host.sleep(5) - assert is_master(backup_host), "backup did not take over" - ''; -}) + backup_host.sleep(5) + assert is_master(backup_host), "backup did not take over" + ''; + } +) diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix index b934f0b951562..3800a53ef196c 100644 --- a/nixos/tests/udisks2.nix +++ b/nixos/tests/udisks2.nix @@ -1,36 +1,36 @@ -import ./make-test-python.nix ({ pkgs, ... }: +import ./make-test-python.nix ( + { pkgs, ... }: -let + let - # FIXME: 404s - stick = pkgs.fetchurl { - url = "https://nixos.org/~eelco/nix/udisks-test.img.xz"; - sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b"; - }; + # FIXME: 404s + stick = pkgs.fetchurl { + url = "https://nixos.org/~eelco/nix/udisks-test.img.xz"; + sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b"; + }; -in + in -{ - name = "udisks2"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; + { + name = "udisks2"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; + }; - nodes.machine = - { ... }: - { services.udisks2.enable = true; - imports = [ ./common/user-account.nix ]; + nodes.machine = + { ... }: + { + services.udisks2.enable = true; + imports = [ ./common/user-account.nix ]; - security.polkit.extraConfig = - '' + security.polkit.extraConfig = '' polkit.addRule(function(action, subject) { if (subject.user == "alice") return "yes"; }); ''; - }; + }; - testScript = - '' + testScript = '' import lzma machine.systemctl("start udisks2") @@ -70,4 +70,5 @@ in machine.fail("[ -e /dev/sda ]") ''; -}) + } +) diff --git a/nixos/tests/ulogd/ulogd.nix b/nixos/tests/ulogd/ulogd.nix index 0fa92229a1005..9146ec44561df 100644 --- a/nixos/tests/ulogd/ulogd.nix +++ b/nixos/tests/ulogd/ulogd.nix @@ -1,56 +1,61 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: { - name = "ulogd"; - - meta.maintainers = with lib.maintainers; [ p-h ]; - - nodes.machine = { ... }: { - networking.firewall.enable = false; - networking.nftables.enable = true; - networking.nftables.ruleset = '' - table inet filter { - chain input { - type filter hook input priority 0; - icmp type { echo-request, echo-reply } log group 2 accept - } - - chain output { - type filter hook output priority 0; policy accept; - icmp type { echo-request, echo-reply } log group 2 accept - } - - chain forward { - type filter hook forward priority 0; policy drop; - } - - } - ''; - services.ulogd = { - enable = true; - settings = { - global = { - logfile = "/var/log/ulogd.log"; - stack = [ - "log1:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,emu1:LOGEMU" - "log1:NFLOG,base1:BASE,pcap1:PCAP" - ]; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "ulogd"; + + meta.maintainers = with lib.maintainers; [ p-h ]; + + nodes.machine = + { ... }: + { + networking.firewall.enable = false; + networking.nftables.enable = true; + networking.nftables.ruleset = '' + table inet filter { + chain input { + type filter hook input priority 0; + icmp type { echo-request, echo-reply } log group 2 accept + } + + chain output { + type filter hook output priority 0; policy accept; + icmp type { echo-request, echo-reply } log group 2 accept + } + + chain forward { + type filter hook forward priority 0; policy drop; + } + + } + ''; + services.ulogd = { + enable = true; + settings = { + global = { + logfile = "/var/log/ulogd.log"; + stack = [ + "log1:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,emu1:LOGEMU" + "log1:NFLOG,base1:BASE,pcap1:PCAP" + ]; + }; + + log1.group = 2; + + pcap1 = { + sync = 1; + file = "/var/log/ulogd.pcap"; + }; + + emu1 = { + sync = 1; + file = "/var/log/ulogd_pkts.log"; + }; + }; }; - log1.group = 2; - - pcap1 = { - sync = 1; - file = "/var/log/ulogd.pcap"; - }; - - emu1 = { - sync = 1; - file = "/var/log/ulogd_pkts.log"; - }; + environment.systemPackages = with pkgs; [ tcpdump ]; }; - }; - - environment.systemPackages = with pkgs; [ tcpdump ]; - }; - testScript = lib.readFile ./ulogd.py; -}) + testScript = lib.readFile ./ulogd.py; + } +) diff --git a/nixos/tests/unbound.nix b/nixos/tests/unbound.nix index 39a01259edeb5..0aa3a6a0c16f3 100644 --- a/nixos/tests/unbound.nix +++ b/nixos/tests/unbound.nix @@ -1,37 +1,40 @@ /* - Test that our unbound module indeed works as most users would expect. - There are a few settings that we must consider when modifying the test. The - usual use-cases for unbound are - * running a recursive DNS resolver on the local machine - * running a recursive DNS resolver on the local machine, forwarding to a local DNS server via UDP/53 & TCP/53 - * running a recursive DNS resolver on the local machine, forwarding to a local DNS server via TCP/853 (DoT) - * running a recursive DNS resolver on a machine in the network awaiting input from clients over TCP/53 & UDP/53 - * running a recursive DNS resolver on a machine in the network awaiting input from clients over TCP/853 (DoT) - - In the below test setup we are trying to implement all of those use cases. - - Another aspect that we cover is access to the local control UNIX socket. It - can optionally be enabled and users can optionally be in a group to gain - access. Users that are not in the group (except for root) should not have - access to that socket. Also, when there is no socket configured, users - shouldn't be able to access the control socket at all. Not even root. + Test that our unbound module indeed works as most users would expect. + There are a few settings that we must consider when modifying the test. The + usual use-cases for unbound are + * running a recursive DNS resolver on the local machine + * running a recursive DNS resolver on the local machine, forwarding to a local DNS server via UDP/53 & TCP/53 + * running a recursive DNS resolver on the local machine, forwarding to a local DNS server via TCP/853 (DoT) + * running a recursive DNS resolver on a machine in the network awaiting input from clients over TCP/53 & UDP/53 + * running a recursive DNS resolver on a machine in the network awaiting input from clients over TCP/853 (DoT) + + In the below test setup we are trying to implement all of those use cases. + + Another aspect that we cover is access to the local control UNIX socket. It + can optionally be enabled and users can optionally be in a group to gain + access. Users that are not in the group (except for root) should not have + access to that socket. Also, when there is no socket configured, users + shouldn't be able to access the control socket at all. Not even root. */ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: let # common client configuration that we can just use for the multitude of # clients we are constructing - common = { lib, pkgs, ... }: { - config = { - environment.systemPackages = [ pkgs.knot-dns ]; - - # disable the root anchor update as we do not have internet access during - # the test execution - services.unbound.enableRootTrustAnchor = false; - - # we want to test the full-variant of the package to also get DoH support - services.unbound.package = pkgs.unbound-full; + common = + { lib, pkgs, ... }: + { + config = { + environment.systemPackages = [ pkgs.knot-dns ]; + + # disable the root anchor update as we do not have internet access during + # the test execution + services.unbound.enableRootTrustAnchor = false; + + # we want to test the full-variant of the package to also get DoH support + services.unbound.package = pkgs.unbound-full; + }; }; - }; cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=dns.example.local' @@ -48,268 +51,344 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: nodes = { # The server that actually serves our zones, this tests unbounds authoriative mode - authoritative = { lib, pkgs, config, ... }: { - imports = [ common ]; - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ - { address = "192.168.0.1"; prefixLength = 24; } - ]; - networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ - { address = "fd21::1"; prefixLength = 64; } - ]; - networking.firewall.allowedTCPPorts = [ 53 ]; - networking.firewall.allowedUDPPorts = [ 53 ]; - - services.unbound = { - enable = true; - settings = { - server = { - interface = [ "192.168.0.1" "fd21::1" "::1" "127.0.0.1" ]; - access-control = [ "192.168.0.0/24 allow" "fd21::/64 allow" "::1 allow" "127.0.0.0/8 allow" ]; - local-data = [ - ''"example.local. IN A 1.2.3.4"'' - ''"example.local. IN AAAA abcd::eeff"'' - ]; + authoritative = + { + lib, + pkgs, + config, + ... + }: + { + imports = [ common ]; + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.0.1"; + prefixLength = 24; + } + ]; + networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ + { + address = "fd21::1"; + prefixLength = 64; + } + ]; + networking.firewall.allowedTCPPorts = [ 53 ]; + networking.firewall.allowedUDPPorts = [ 53 ]; + + services.unbound = { + enable = true; + settings = { + server = { + interface = [ + "192.168.0.1" + "fd21::1" + "::1" + "127.0.0.1" + ]; + access-control = [ + "192.168.0.0/24 allow" + "fd21::/64 allow" + "::1 allow" + "127.0.0.0/8 allow" + ]; + local-data = [ + ''"example.local. IN A 1.2.3.4"'' + ''"example.local. IN AAAA abcd::eeff"'' + ]; + }; }; }; }; - }; # The resolver that knows that forwards (only) to the authoritative server # and listens on UDP/53, TCP/53 & TCP/853. - resolver = { lib, nodes, ... }: { - imports = [ common ]; - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ - { address = "192.168.0.2"; prefixLength = 24; } - ]; - networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ - { address = "fd21::2"; prefixLength = 64; } - ]; - networking.firewall.allowedTCPPorts = [ - 53 # regular DNS - 853 # DNS over TLS - 443 # DNS over HTTPS - ]; - networking.firewall.allowedUDPPorts = [ 53 ]; - - services.unbound = { - enable = true; - settings = { - server = { - interface = [ "::1" "127.0.0.1" "192.168.0.2" "fd21::2" - "192.168.0.2@853" "fd21::2@853" "::1@853" "127.0.0.1@853" - "192.168.0.2@443" "fd21::2@443" "::1@443" "127.0.0.1@443" ]; - access-control = [ "192.168.0.0/24 allow" "fd21::/64 allow" "::1 allow" "127.0.0.0/8 allow" ]; - tls-service-pem = "${cert}/cert.pem"; - tls-service-key = "${cert}/key.pem"; - }; - forward-zone = [ - { - name = "."; - forward-addr = [ - (lib.head nodes.authoritative.networking.interfaces.eth1.ipv6.addresses).address - (lib.head nodes.authoritative.networking.interfaces.eth1.ipv4.addresses).address + resolver = + { lib, nodes, ... }: + { + imports = [ common ]; + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.0.2"; + prefixLength = 24; + } + ]; + networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ + { + address = "fd21::2"; + prefixLength = 64; + } + ]; + networking.firewall.allowedTCPPorts = [ + 53 # regular DNS + 853 # DNS over TLS + 443 # DNS over HTTPS + ]; + networking.firewall.allowedUDPPorts = [ 53 ]; + + services.unbound = { + enable = true; + settings = { + server = { + interface = [ + "::1" + "127.0.0.1" + "192.168.0.2" + "fd21::2" + "192.168.0.2@853" + "fd21::2@853" + "::1@853" + "127.0.0.1@853" + "192.168.0.2@443" + "fd21::2@443" + "::1@443" + "127.0.0.1@443" ]; - } - ]; + access-control = [ + "192.168.0.0/24 allow" + "fd21::/64 allow" + "::1 allow" + "127.0.0.0/8 allow" + ]; + tls-service-pem = "${cert}/cert.pem"; + tls-service-key = "${cert}/key.pem"; + }; + forward-zone = [ + { + name = "."; + forward-addr = [ + (lib.head nodes.authoritative.networking.interfaces.eth1.ipv6.addresses).address + (lib.head nodes.authoritative.networking.interfaces.eth1.ipv4.addresses).address + ]; + } + ]; + }; }; }; - }; # machine that runs a local unbound that will be reconfigured during test execution - local_resolver = { lib, nodes, config, ... }: { - imports = [ common ]; - networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ - { address = "192.168.0.3"; prefixLength = 24; } - ]; - networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ - { address = "fd21::3"; prefixLength = 64; } - ]; - networking.firewall.allowedTCPPorts = [ - 53 # regular DNS - ]; - networking.firewall.allowedUDPPorts = [ 53 ]; - - services.unbound = { - enable = true; - settings = { - server = { - interface = [ "::1" "127.0.0.1" ]; - access-control = [ "::1 allow" "127.0.0.0/8 allow" ]; + local_resolver = + { + lib, + nodes, + config, + ... + }: + { + imports = [ common ]; + networking.interfaces.eth1.ipv4.addresses = lib.mkForce [ + { + address = "192.168.0.3"; + prefixLength = 24; + } + ]; + networking.interfaces.eth1.ipv6.addresses = lib.mkForce [ + { + address = "fd21::3"; + prefixLength = 64; + } + ]; + networking.firewall.allowedTCPPorts = [ + 53 # regular DNS + ]; + networking.firewall.allowedUDPPorts = [ 53 ]; + + services.unbound = { + enable = true; + settings = { + server = { + interface = [ + "::1" + "127.0.0.1" + ]; + access-control = [ + "::1 allow" + "127.0.0.0/8 allow" + ]; + }; + include = "/etc/unbound/extra*.conf"; }; - include = "/etc/unbound/extra*.conf"; + localControlSocketPath = "/run/unbound/unbound.ctl"; }; - localControlSocketPath = "/run/unbound/unbound.ctl"; - }; - users.users = { - # user that is permitted to access the unix socket - someuser = { - isSystemUser = true; - group = "someuser"; - extraGroups = [ - config.users.users.unbound.group - ]; - }; + users.users = { + # user that is permitted to access the unix socket + someuser = { + isSystemUser = true; + group = "someuser"; + extraGroups = [ + config.users.users.unbound.group + ]; + }; - # user that is not permitted to access the unix socket - unauthorizeduser = { - isSystemUser = true; - group = "unauthorizeduser"; - }; + # user that is not permitted to access the unix socket + unauthorizeduser = { + isSystemUser = true; + group = "unauthorizeduser"; + }; - }; - users.groups = { - someuser = {}; - unauthorizeduser = {}; - }; + }; + users.groups = { + someuser = { }; + unauthorizeduser = { }; + }; - # Used for testing configuration reloading - environment.etc = { - "unbound-extra1.conf".text = '' - forward-zone: - name: "example.local." - forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address} - forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address} - ''; - "unbound-extra2.conf".text = '' - auth-zone: - name: something.local. - zonefile: ${pkgs.writeText "zone" '' - something.local. IN A 3.4.5.6 - ''} - ''; + # Used for testing configuration reloading + environment.etc = { + "unbound-extra1.conf".text = '' + forward-zone: + name: "example.local." + forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address} + forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address} + ''; + "unbound-extra2.conf".text = '' + auth-zone: + name: something.local. + zonefile: ${pkgs.writeText "zone" '' + something.local. IN A 3.4.5.6 + ''} + ''; + }; }; - }; - # plain node that only has network access and doesn't run any part of the # resolver software locally - client = { lib, nodes, ... }: { - imports = [ common ]; - networking.nameservers = [ - (lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address - (lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address - ]; - networking.interfaces.eth1.ipv4.addresses = [ - { address = "192.168.0.10"; prefixLength = 24; } - ]; - networking.interfaces.eth1.ipv6.addresses = [ - { address = "fd21::10"; prefixLength = 64; } - ]; - }; + client = + { lib, nodes, ... }: + { + imports = [ common ]; + networking.nameservers = [ + (lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address + (lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address + ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.0.10"; + prefixLength = 24; + } + ]; + networking.interfaces.eth1.ipv6.addresses = [ + { + address = "fd21::10"; + prefixLength = 64; + } + ]; + }; }; - testScript = { nodes, ... }: '' - import typing - - zone = "example.local." - records = [("AAAA", "abcd::eeff"), ("A", "1.2.3.4")] - - - def query( - machine, - host: str, - query_type: str, - query: str, - expected: typing.Optional[str] = None, - args: typing.Optional[typing.List[str]] = None, - ): - """ - Execute a single query and compare the result with expectation - """ - text_args = "" - if args: - text_args = " ".join(args) - - out = machine.succeed( - f"kdig {text_args} {query} {query_type} @{host} +short" - ).strip() - machine.log(f"{host} replied with {out}") - if expected: - assert expected == out, f"Expected `{expected}` but got `{out}`" - - - def test(machine, remotes, /, doh=False, zone=zone, records=records, args=[]): - """ - Run queries for the given remotes on the given machine. - """ - for query_type, expected in records: - for remote in remotes: - query(machine, remote, query_type, zone, expected, args) - query(machine, remote, query_type, zone, expected, ["+tcp"] + args) - if doh: - query( - machine, - remote, - query_type, - zone, - expected, - ["+tcp", "+tls"] + args, - ) - query( - machine, - remote, - query_type, - zone, - expected, - ["+https"] + args, - ) - - - client.start() - authoritative.wait_for_unit("unbound.service") - - # verify that we can resolve locally - with subtest("test the authoritative servers local responses"): - test(authoritative, ["::1", "127.0.0.1"]) - - resolver.wait_for_unit("unbound.service") - - with subtest("root is unable to use unbounc-control when the socket is not configured"): - resolver.succeed("which unbound-control") # the binary must exist - resolver.fail("unbound-control list_forwards") # the invocation must fail - - # verify that the resolver is able to resolve on all the local protocols - with subtest("test that the resolver resolves on all protocols and transports"): - test(resolver, ["::1", "127.0.0.1"], doh=True) - - resolver.wait_for_unit("multi-user.target") - - with subtest("client should be able to query the resolver"): - test(client, ["${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address}", "${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}"], doh=True) - - # discard the client we do not need anymore - client.shutdown() - - local_resolver.wait_for_unit("multi-user.target") - - # link a new config file to /etc/unbound/extra.conf - local_resolver.succeed("ln -s /etc/unbound-extra1.conf /etc/unbound/extra1.conf") - - # reload the server & ensure the forwarding works - with subtest("test that the local resolver resolves on all protocols and transports"): - local_resolver.succeed("systemctl reload unbound") - print(local_resolver.succeed("journalctl -u unbound -n 1000")) - test(local_resolver, ["::1", "127.0.0.1"], args=["+timeout=60"]) - - with subtest("test that we can use the unbound control socket"): - out = local_resolver.succeed( - "sudo -u someuser -- unbound-control list_forwards" - ).strip() - - # Thank you black! Can't really break this line into a readable version. - expected = "example.local. IN forward ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address} ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}" - assert out == expected, f"Expected `{expected}` but got `{out}` instead." - local_resolver.fail("sudo -u unauthorizeduser -- unbound-control list_forwards") - - - # link a new config file to /etc/unbound/extra.conf - local_resolver.succeed("ln -sf /etc/unbound-extra2.conf /etc/unbound/extra2.conf") - - # reload the server & ensure the new local zone works - with subtest("test that we can query the new local zone"): - local_resolver.succeed("unbound-control reload") - r = [("A", "3.4.5.6")] - test(local_resolver, ["::1", "127.0.0.1"], zone="something.local.", records=r) - ''; - }) + testScript = + { nodes, ... }: + '' + import typing + + zone = "example.local." + records = [("AAAA", "abcd::eeff"), ("A", "1.2.3.4")] + + + def query( + machine, + host: str, + query_type: str, + query: str, + expected: typing.Optional[str] = None, + args: typing.Optional[typing.List[str]] = None, + ): + """ + Execute a single query and compare the result with expectation + """ + text_args = "" + if args: + text_args = " ".join(args) + + out = machine.succeed( + f"kdig {text_args} {query} {query_type} @{host} +short" + ).strip() + machine.log(f"{host} replied with {out}") + if expected: + assert expected == out, f"Expected `{expected}` but got `{out}`" + + + def test(machine, remotes, /, doh=False, zone=zone, records=records, args=[]): + """ + Run queries for the given remotes on the given machine. + """ + for query_type, expected in records: + for remote in remotes: + query(machine, remote, query_type, zone, expected, args) + query(machine, remote, query_type, zone, expected, ["+tcp"] + args) + if doh: + query( + machine, + remote, + query_type, + zone, + expected, + ["+tcp", "+tls"] + args, + ) + query( + machine, + remote, + query_type, + zone, + expected, + ["+https"] + args, + ) + + + client.start() + authoritative.wait_for_unit("unbound.service") + + # verify that we can resolve locally + with subtest("test the authoritative servers local responses"): + test(authoritative, ["::1", "127.0.0.1"]) + + resolver.wait_for_unit("unbound.service") + + with subtest("root is unable to use unbounc-control when the socket is not configured"): + resolver.succeed("which unbound-control") # the binary must exist + resolver.fail("unbound-control list_forwards") # the invocation must fail + + # verify that the resolver is able to resolve on all the local protocols + with subtest("test that the resolver resolves on all protocols and transports"): + test(resolver, ["::1", "127.0.0.1"], doh=True) + + resolver.wait_for_unit("multi-user.target") + + with subtest("client should be able to query the resolver"): + test(client, ["${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address}", "${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}"], doh=True) + + # discard the client we do not need anymore + client.shutdown() + + local_resolver.wait_for_unit("multi-user.target") + + # link a new config file to /etc/unbound/extra.conf + local_resolver.succeed("ln -s /etc/unbound-extra1.conf /etc/unbound/extra1.conf") + + # reload the server & ensure the forwarding works + with subtest("test that the local resolver resolves on all protocols and transports"): + local_resolver.succeed("systemctl reload unbound") + print(local_resolver.succeed("journalctl -u unbound -n 1000")) + test(local_resolver, ["::1", "127.0.0.1"], args=["+timeout=60"]) + + with subtest("test that we can use the unbound control socket"): + out = local_resolver.succeed( + "sudo -u someuser -- unbound-control list_forwards" + ).strip() + + # Thank you black! Can't really break this line into a readable version. + expected = "example.local. IN forward ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address} ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}" + assert out == expected, f"Expected `{expected}` but got `{out}` instead." + local_resolver.fail("sudo -u unauthorizeduser -- unbound-control list_forwards") + + + # link a new config file to /etc/unbound/extra.conf + local_resolver.succeed("ln -sf /etc/unbound-extra2.conf /etc/unbound/extra2.conf") + + # reload the server & ensure the new local zone works + with subtest("test that we can query the new local zone"): + local_resolver.succeed("unbound-control reload") + r = [("A", "3.4.5.6")] + test(local_resolver, ["::1", "127.0.0.1"], zone="something.local.", records=r) + ''; + } +) diff --git a/nixos/tests/upnp.nix b/nixos/tests/upnp.nix index 93bc08f752ce3..1971943b267ce 100644 --- a/nixos/tests/upnp.nix +++ b/nixos/tests/upnp.nix @@ -5,25 +5,29 @@ # this succeeds an external client will try to connect to the port # mapping. -import ./make-test-python.nix ({ pkgs, useNftables, ... }: +import ./make-test-python.nix ( + { pkgs, useNftables, ... }: -let - internalRouterAddress = "192.168.3.1"; - internalClient1Address = "192.168.3.2"; - externalRouterAddress = "80.100.100.1"; - externalClient2Address = "80.100.100.2"; -in -{ - name = "upnp"; - meta = with pkgs.lib.maintainers; { - maintainers = [ bobvanderlinden ]; - }; + let + internalRouterAddress = "192.168.3.1"; + internalClient1Address = "192.168.3.2"; + externalRouterAddress = "80.100.100.1"; + externalClient2Address = "80.100.100.2"; + in + { + name = "upnp"; + meta = with pkgs.lib.maintainers; { + maintainers = [ bobvanderlinden ]; + }; - nodes = - { + nodes = { router = { pkgs, nodes, ... }: - { virtualisation.vlans = [ 1 2 ]; + { + virtualisation.vlans = [ + 1 + 2 + ]; networking.nat.enable = true; networking.nat.internalInterfaces = [ "eth2" ]; networking.nat.externalInterface = "eth1"; @@ -31,10 +35,16 @@ in networking.firewall.enable = true; networking.firewall.trustedInterfaces = [ "eth2" ]; networking.interfaces.eth1.ipv4.addresses = [ - { address = externalRouterAddress; prefixLength = 24; } + { + address = externalRouterAddress; + prefixLength = 24; + } ]; networking.interfaces.eth2.ipv4.addresses = [ - { address = internalRouterAddress; prefixLength = 24; } + { + address = internalRouterAddress; + prefixLength = 24; + } ]; services.miniupnpd = { enable = true; @@ -48,17 +58,29 @@ in client1 = { pkgs, nodes, ... }: - { environment.systemPackages = [ pkgs.miniupnpc pkgs.netcat ]; + { + environment.systemPackages = [ + pkgs.miniupnpc + pkgs.netcat + ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = internalRouterAddress; networking.interfaces.eth1.ipv4.addresses = [ - { address = internalClient1Address; prefixLength = 24; } + { + address = internalClient1Address; + prefixLength = 24; + } ]; networking.firewall.enable = false; services.httpd.enable = true; services.httpd.virtualHosts.localhost = { - listen = [{ ip = "*"; port = 9000; }]; + listen = [ + { + ip = "*"; + port = 9000; + } + ]; adminAddr = "foo@example.org"; documentRoot = "/tmp"; }; @@ -66,34 +88,39 @@ in client2 = { pkgs, ... }: - { environment.systemPackages = [ pkgs.miniupnpc ]; + { + environment.systemPackages = [ pkgs.miniupnpc ]; virtualisation.vlans = [ 1 ]; networking.interfaces.eth1.ipv4.addresses = [ - { address = externalClient2Address; prefixLength = 24; } + { + address = externalClient2Address; + prefixLength = 24; + } ]; networking.firewall.enable = false; }; }; - testScript = - { nodes, ... }: - '' - start_all() + testScript = + { nodes, ... }: + '' + start_all() - # Wait for network and miniupnpd. - router.systemctl("start network-online.target") - router.wait_for_unit("network-online.target") - # $router.wait_for_unit("nat") - router.wait_for_unit("${if useNftables then "nftables" else "firewall"}.service") - router.wait_for_unit("miniupnpd") + # Wait for network and miniupnpd. + router.systemctl("start network-online.target") + router.wait_for_unit("network-online.target") + # $router.wait_for_unit("nat") + router.wait_for_unit("${if useNftables then "nftables" else "firewall"}.service") + router.wait_for_unit("miniupnpd") - client1.systemctl("start network-online.target") - client1.wait_for_unit("network-online.target") + client1.systemctl("start network-online.target") + client1.wait_for_unit("network-online.target") - client1.succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP") + client1.succeed("upnpc -a ${internalClient1Address} 9000 9000 TCP") - client1.wait_for_unit("httpd") - client2.wait_until_succeeds("curl -f http://${externalRouterAddress}:9000/") - ''; + client1.wait_for_unit("httpd") + client2.wait_until_succeeds("curl -f http://${externalRouterAddress}:9000/") + ''; -}) + } +) diff --git a/nixos/tests/uptermd.nix b/nixos/tests/uptermd.nix index 469aa5047c27c..a7f18fa3cba7c 100644 --- a/nixos/tests/uptermd.nix +++ b/nixos/tests/uptermd.nix @@ -1,66 +1,71 @@ -import ./make-test-python.nix ({ pkgs, ...}: +import ./make-test-python.nix ( + { pkgs, ... }: -let - client = {pkgs, ...}:{ - environment.systemPackages = [ pkgs.upterm ]; - }; -in -{ - name = "uptermd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fleaz ]; - }; - - nodes = { - server = {config, ...}: { - services.uptermd = { - enable = true; - openFirewall = true; - port = 1337; + let + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.upterm ]; }; + in + { + name = "uptermd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fleaz ]; }; - client1 = client; - client2 = client; - }; + nodes = { + server = + { config, ... }: + { + services.uptermd = { + enable = true; + openFirewall = true; + port = 1337; + }; + }; + client1 = client; + client2 = client; + }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("uptermd.service") - server.systemctl("start network-online.target") - server.wait_for_unit("network-online.target") + server.wait_for_unit("uptermd.service") + server.systemctl("start network-online.target") + server.wait_for_unit("network-online.target") - # wait for upterm port to be reachable - client1.wait_until_succeeds("nc -z -v server 1337") + # wait for upterm port to be reachable + client1.wait_until_succeeds("nc -z -v server 1337") - # Add SSH hostkeys from the server to both clients - # uptermd needs an '@cert-authority entry so we need to modify the known_hosts file - client1.execute("mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls") - client1.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts") - client2.execute("mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls") - client2.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts") + # Add SSH hostkeys from the server to both clients + # uptermd needs an '@cert-authority entry so we need to modify the known_hosts file + client1.execute("mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls") + client1.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts") + client2.execute("mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls") + client2.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts") - client1.wait_for_unit("multi-user.target") - client1.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - client1.wait_until_tty_matches("1", "login: ") - client1.send_chars("root\n") - client1.wait_until_succeeds("pgrep -u root bash") + client1.wait_for_unit("multi-user.target") + client1.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + client1.wait_until_tty_matches("1", "login: ") + client1.send_chars("root\n") + client1.wait_until_succeeds("pgrep -u root bash") - client1.execute("ssh-keygen -t ed25519 -N \"\" -f /root/.ssh/id_ed25519") - client1.send_chars("TERM=xterm upterm host --server ssh://server:1337 --force-command hostname -- bash > /tmp/session-details\n") - client1.wait_for_file("/tmp/session-details") - client1.send_key("q") + client1.execute("ssh-keygen -t ed25519 -N \"\" -f /root/.ssh/id_ed25519") + client1.send_chars("TERM=xterm upterm host --server ssh://server:1337 --force-command hostname -- bash > /tmp/session-details\n") + client1.wait_for_file("/tmp/session-details") + client1.send_key("q") - # uptermd can't connect if we don't have a keypair - client2.execute("ssh-keygen -t ed25519 -N \"\" -f /root/.ssh/id_ed25519") + # uptermd can't connect if we don't have a keypair + client2.execute("ssh-keygen -t ed25519 -N \"\" -f /root/.ssh/id_ed25519") - # Grep the ssh connect command from the output of 'upterm host' - ssh_command = client1.succeed("grep 'SSH Session' /tmp/session-details | cut -d':' -f2-").strip() + # Grep the ssh connect command from the output of 'upterm host' + ssh_command = client1.succeed("grep 'SSH Session' /tmp/session-details | cut -d':' -f2-").strip() - # Connect with client2. Because we used '--force-command hostname' we should get "client1" as the output - output = client2.succeed(ssh_command) + # Connect with client2. Because we used '--force-command hostname' we should get "client1" as the output + output = client2.succeed(ssh_command) - assert output.strip() == "client1" - ''; -}) + assert output.strip() == "client1" + ''; + } +) diff --git a/nixos/tests/uptime-kuma.nix b/nixos/tests/uptime-kuma.nix index 00e2008a5257d..e79546246f62c 100644 --- a/nixos/tests/uptime-kuma.nix +++ b/nixos/tests/uptime-kuma.nix @@ -1,17 +1,21 @@ -import ./make-test-python.nix ({ lib, ... }: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "uptime-kuma"; - meta.maintainers = with lib.maintainers; [ julienmalka ]; + { + name = "uptime-kuma"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; - nodes.machine = - { pkgs, ... }: - { services.uptime-kuma.enable = true; }; + nodes.machine = + { pkgs, ... }: + { + services.uptime-kuma.enable = true; + }; - testScript = '' - machine.start() - machine.wait_for_unit("uptime-kuma.service") - machine.wait_for_open_port(3001) - machine.succeed("curl --fail http://localhost:3001/") - ''; -}) + testScript = '' + machine.start() + machine.wait_for_unit("uptime-kuma.service") + machine.wait_for_open_port(3001) + machine.succeed("curl --fail http://localhost:3001/") + ''; + } +) diff --git a/nixos/tests/urn-timer.nix b/nixos/tests/urn-timer.nix index 10c5bef49b5b3..157e26b30b5ec 100644 --- a/nixos/tests/urn-timer.nix +++ b/nixos/tests/urn-timer.nix @@ -1,26 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "urn-timer"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "urn-timer"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.urn-timer ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.urn-timer ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() machine.execute("urn-gtk ${pkgs.urn-timer.src}/splits_examples/sotn.json >&2 &") machine.wait_for_window("urn") machine.wait_for_text(r"(Mist|Bat|Reverse|Dracula)") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/usbguard.nix b/nixos/tests/usbguard.nix index d6d3a80c5d23c..210b8b2adac51 100644 --- a/nixos/tests/usbguard.nix +++ b/nixos/tests/usbguard.nix @@ -1,62 +1,68 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "usbguard"; - meta = with pkgs.lib.maintainers; { - maintainers = [ tnias ]; - }; - - nodes.machine = - { ... }: - { - services.usbguard = { - enable = true; - IPCAllowedUsers = [ "alice" "root" ]; - - # As virtual USB devices get attached to the "QEMU USB Hub" we need to - # allow Hubs. Otherwise we would have to explicitly allow them too. - rules = '' - allow with-interface equals { 09:00:00 } - ''; - }; - imports = [ ./common/user-account.nix ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "usbguard"; + meta = with pkgs.lib.maintainers; { + maintainers = [ tnias ]; }; - testScript = '' - # create a blank disk image for our fake USB stick - with open(machine.state_dir / "usbstick.img", "wb") as stick: - stick.write(b"\x00" * (1024 * 1024)) + nodes.machine = + { ... }: + { + services.usbguard = { + enable = true; + IPCAllowedUsers = [ + "alice" + "root" + ]; + + # As virtual USB devices get attached to the "QEMU USB Hub" we need to + # allow Hubs. Otherwise we would have to explicitly allow them too. + rules = '' + allow with-interface equals { 09:00:00 } + ''; + }; + imports = [ ./common/user-account.nix ]; + }; + + testScript = '' + # create a blank disk image for our fake USB stick + with open(machine.state_dir / "usbstick.img", "wb") as stick: + stick.write(b"\x00" * (1024 * 1024)) - # wait for machine to have started and the usbguard service to be up - machine.wait_for_unit("usbguard.service") + # wait for machine to have started and the usbguard service to be up + machine.wait_for_unit("usbguard.service") - with subtest("IPC access control"): - # User "alice" is allowed to access the IPC interface - machine.succeed("su alice -c 'usbguard list-devices'") + with subtest("IPC access control"): + # User "alice" is allowed to access the IPC interface + machine.succeed("su alice -c 'usbguard list-devices'") - # User "bob" is not allowed to access the IPC interface - machine.fail("su bob -c 'usbguard list-devices'") + # User "bob" is not allowed to access the IPC interface + machine.fail("su bob -c 'usbguard list-devices'") - with subtest("check basic functionality"): - # at this point we expect that no USB HDD is connected - machine.fail("usbguard list-devices | grep -E 'QEMU USB HARDDRIVE'") + with subtest("check basic functionality"): + # at this point we expect that no USB HDD is connected + machine.fail("usbguard list-devices | grep -E 'QEMU USB HARDDRIVE'") - # insert usb device - machine.send_monitor_command( - f"drive_add 0 id=stick,if=none,file={stick.name},format=raw" - ) - machine.send_monitor_command("device_add usb-storage,id=stick,drive=stick") + # insert usb device + machine.send_monitor_command( + f"drive_add 0 id=stick,if=none,file={stick.name},format=raw" + ) + machine.send_monitor_command("device_add usb-storage,id=stick,drive=stick") - # the attached USB HDD should show up after a short while - machine.wait_until_succeeds("usbguard list-devices | grep -E 'QEMU USB HARDDRIVE'") + # the attached USB HDD should show up after a short while + machine.wait_until_succeeds("usbguard list-devices | grep -E 'QEMU USB HARDDRIVE'") - # at this point there should be a **blocked** USB HDD - machine.succeed("usbguard list-devices | grep -E 'block.*QEMU USB HARDDRIVE'") - machine.fail("usbguard list-devices | grep -E ' allow .*QEMU USB HARDDRIVE'") + # at this point there should be a **blocked** USB HDD + machine.succeed("usbguard list-devices | grep -E 'block.*QEMU USB HARDDRIVE'") + machine.fail("usbguard list-devices | grep -E ' allow .*QEMU USB HARDDRIVE'") - # allow storage devices - machine.succeed("usbguard allow-device 'with-interface { 08:*:* }'") + # allow storage devices + machine.succeed("usbguard allow-device 'with-interface { 08:*:* }'") - # at this point there should be an **allowed** USB HDD - machine.succeed("usbguard list-devices | grep -E ' allow .*QEMU USB HARDDRIVE'") - machine.fail("usbguard list-devices | grep -E ' block .*QEMU USB HARDDRIVE'") - ''; -}) + # at this point there should be an **allowed** USB HDD + machine.succeed("usbguard list-devices | grep -E ' allow .*QEMU USB HARDDRIVE'") + machine.fail("usbguard list-devices | grep -E ' block .*QEMU USB HARDDRIVE'") + ''; + } +) diff --git a/nixos/tests/user-activation-scripts.nix b/nixos/tests/user-activation-scripts.nix index 2e1840a8460f6..58d1b97a09d67 100644 --- a/nixos/tests/user-activation-scripts.nix +++ b/nixos/tests/user-activation-scripts.nix @@ -1,37 +1,42 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "user-activation-scripts"; - meta = with lib.maintainers; { maintainers = [ chkno ]; }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "user-activation-scripts"; + meta = with lib.maintainers; { + maintainers = [ chkno ]; + }; - nodes.machine = { - system.switch.enable = true; - system.userActivationScripts.foo = "mktemp ~/user-activation-ran.XXXXXX"; - users.users.alice = { - initialPassword = "pass1"; - isNormalUser = true; + nodes.machine = { + system.switch.enable = true; + system.userActivationScripts.foo = "mktemp ~/user-activation-ran.XXXXXX"; + users.users.alice = { + initialPassword = "pass1"; + isNormalUser = true; + }; + systemd.user.tmpfiles.users.alice.rules = [ "r %h/file-to-remove" ]; }; - systemd.user.tmpfiles.users.alice.rules = [ "r %h/file-to-remove" ]; - }; - testScript = '' - def verify_user_activation_run_count(n): - machine.succeed( - '[[ "$(find /home/alice/ -name user-activation-ran.\\* | wc -l)" == %s ]]' % n - ) + testScript = '' + def verify_user_activation_run_count(n): + machine.succeed( + '[[ "$(find /home/alice/ -name user-activation-ran.\\* | wc -l)" == %s ]]' % n + ) - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("getty@tty1.service") - machine.wait_until_tty_matches("1", "login: ") - machine.send_chars("alice\n") - machine.wait_until_tty_matches("1", "Password: ") - machine.send_chars("pass1\n") - machine.send_chars("touch login-ok\n") - machine.wait_for_file("/home/alice/login-ok") - verify_user_activation_run_count(1) + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("getty@tty1.service") + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("pass1\n") + machine.send_chars("touch login-ok\n") + machine.wait_for_file("/home/alice/login-ok") + verify_user_activation_run_count(1) - machine.succeed("touch /home/alice/file-to-remove") - machine.succeed("/run/current-system/bin/switch-to-configuration test") - verify_user_activation_run_count(2) - machine.succeed("[[ ! -f /home/alice/file-to-remove ]] || false") - ''; -}) + machine.succeed("touch /home/alice/file-to-remove") + machine.succeed("/run/current-system/bin/switch-to-configuration test") + verify_user_activation_run_count(2) + machine.succeed("[[ ! -f /home/alice/file-to-remove ]] || false") + ''; + } +) diff --git a/nixos/tests/user-home-mode.nix b/nixos/tests/user-home-mode.nix index 2d6d1af3f391b..f5bcbcbcef8a3 100644 --- a/nixos/tests/user-home-mode.nix +++ b/nixos/tests/user-home-mode.nix @@ -1,35 +1,40 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "user-home-mode"; - meta = with lib.maintainers; { maintainers = [ fbeffa ]; }; - - nodes.machine = { - users.users.alice = { - initialPassword = "pass1"; - isNormalUser = true; - }; - users.users.bob = { - initialPassword = "pass2"; - isNormalUser = true; - homeMode = "750"; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "user-home-mode"; + meta = with lib.maintainers; { + maintainers = [ fbeffa ]; }; - users.users.carol = { - initialPassword = "pass3"; - isNormalUser = true; - createHome = true; - home = "/users/carol"; + + nodes.machine = { + users.users.alice = { + initialPassword = "pass1"; + isNormalUser = true; + }; + users.users.bob = { + initialPassword = "pass2"; + isNormalUser = true; + homeMode = "750"; + }; + users.users.carol = { + initialPassword = "pass3"; + isNormalUser = true; + createHome = true; + home = "/users/carol"; + }; }; - }; - testScript = '' - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("getty@tty1.service") - machine.wait_until_tty_matches("1", "login: ") - machine.send_chars("alice\n") - machine.wait_until_tty_matches("1", "Password: ") - machine.send_chars("pass1\n") - machine.succeed('[ "$(stat -c %a /home/alice)" == "700" ]') - machine.succeed('[ "$(stat -c %a /home/bob)" == "750" ]') - machine.succeed('[ "$(stat -c %a /users)" == "755" ]') - machine.succeed('[ "$(stat -c %a /users/carol)" == "700" ]') - ''; -}) + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("getty@tty1.service") + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("pass1\n") + machine.succeed('[ "$(stat -c %a /home/alice)" == "700" ]') + machine.succeed('[ "$(stat -c %a /home/bob)" == "750" ]') + machine.succeed('[ "$(stat -c %a /users)" == "755" ]') + machine.succeed('[ "$(stat -c %a /users/carol)" == "700" ]') + ''; + } +) diff --git a/nixos/tests/ustreamer.nix b/nixos/tests/ustreamer.nix index 1354eb03a3269..12793ff8451df 100644 --- a/nixos/tests/ustreamer.nix +++ b/nixos/tests/ustreamer.nix @@ -1,75 +1,83 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "ustreamer-vmtest"; - nodes = { - client = {...}: { - environment.systemPackages = [ pkgs.curl ]; - }; - camera = {config, ...}: let - configFile = pkgs.writeText "akvcam-configFile" '' - [Cameras] - cameras/size = 2 +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "ustreamer-vmtest"; + nodes = { + client = + { ... }: + { + environment.systemPackages = [ pkgs.curl ]; + }; + camera = + { config, ... }: + let + configFile = pkgs.writeText "akvcam-configFile" '' + [Cameras] + cameras/size = 2 - cameras/1/type = output - cameras/1/mode = mmap, userptr, rw - cameras/1/description = Virtual Camera (output device) - cameras/1/formats = 2 - cameras/1/videonr = 7 + cameras/1/type = output + cameras/1/mode = mmap, userptr, rw + cameras/1/description = Virtual Camera (output device) + cameras/1/formats = 2 + cameras/1/videonr = 7 - cameras/2/type = capture - cameras/2/mode = mmap, rw - cameras/2/description = Virtual Camera - cameras/2/formats = 1, 2 - cameras/2/videonr = 9 + cameras/2/type = capture + cameras/2/mode = mmap, rw + cameras/2/description = Virtual Camera + cameras/2/formats = 1, 2 + cameras/2/videonr = 9 - [Connections] - connections/size = 1 - connections/1/connection = 1:2 + [Connections] + connections/size = 1 + connections/1/connection = 1:2 - [Formats] - formats/size = 2 + [Formats] + formats/size = 2 - formats/1/format = YUY2 - formats/1/width = 640 - formats/1/height = 480 - formats/1/fps = 30 + formats/1/format = YUY2 + formats/1/width = 640 + formats/1/height = 480 + formats/1/fps = 30 - formats/2/format = RGB24, YUY2 - formats/2/width = 640 - formats/2/height = 480 - formats/2/fps = 20/1, 15/2 - ''; - in { - environment.systemPackages = [ pkgs.ustreamer ]; - networking.firewall.enable = false; - systemd.services.ustreamer = { - description = "ustreamer service"; - wantedBy = ["multi-user.target"]; - serviceConfig = { - DynamicUser = true; - ExecStart = "${pkgs.ustreamer}/bin/ustreamer --host=0.0.0.0 --port 8000 --device /dev/video9 --device-timeout=8"; - PrivateTmp = true; - BindReadOnlyPaths = "/dev/video9"; - SupplementaryGroups = [ - "video" - ]; - Restart = "always"; + formats/2/format = RGB24, YUY2 + formats/2/width = 640 + formats/2/height = 480 + formats/2/fps = 20/1, 15/2 + ''; + in + { + environment.systemPackages = [ pkgs.ustreamer ]; + networking.firewall.enable = false; + systemd.services.ustreamer = { + description = "ustreamer service"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + ExecStart = "${pkgs.ustreamer}/bin/ustreamer --host=0.0.0.0 --port 8000 --device /dev/video9 --device-timeout=8"; + PrivateTmp = true; + BindReadOnlyPaths = "/dev/video9"; + SupplementaryGroups = [ + "video" + ]; + Restart = "always"; + }; + }; + boot.extraModulePackages = [ config.boot.kernelPackages.akvcam ]; + boot.kernelModules = [ "akvcam" ]; + boot.extraModprobeConfig = '' + options akvcam config_file=${configFile} + ''; }; - }; - boot.extraModulePackages = [config.boot.kernelPackages.akvcam]; - boot.kernelModules = ["akvcam"]; - boot.extraModprobeConfig = '' - options akvcam config_file=${configFile} - ''; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - camera.wait_for_unit("ustreamer.service") - camera.wait_for_open_port(8000) + camera.wait_for_unit("ustreamer.service") + camera.wait_for_open_port(8000) - client.wait_for_unit("multi-user.target") - client.succeed("curl http://camera:8000") - ''; -}) + client.wait_for_unit("multi-user.target") + client.succeed("curl http://camera:8000") + ''; + } +) diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix index 62da9e0a7168c..ea8e73b0b638e 100644 --- a/nixos/tests/uwsgi.nix +++ b/nixos/tests/uwsgi.nix @@ -1,64 +1,69 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "uwsgi"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "uwsgi"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lnl7 ]; + }; - nodes.machine = { pkgs, ... }: { - users.users.hello = - { isSystemUser = true; - group = "hello"; - }; - users.groups.hello = { }; + nodes.machine = + { pkgs, ... }: + { + users.users.hello = { + isSystemUser = true; + group = "hello"; + }; + users.groups.hello = { }; - services.uwsgi = { - enable = true; - plugins = [ "python3" "php" ]; - capabilities = [ "CAP_NET_BIND_SERVICE" ]; - instance.type = "emperor"; + services.uwsgi = { + enable = true; + plugins = [ + "python3" + "php" + ]; + capabilities = [ "CAP_NET_BIND_SERVICE" ]; + instance.type = "emperor"; - instance.vassals.hello = { - type = "normal"; - immediate-uid = "hello"; - immediate-gid = "hello"; - module = "wsgi:application"; - http = ":80"; - cap = "net_bind_service"; - pythonPackages = self: [ self.flask ]; - chdir = pkgs.writeTextDir "wsgi.py" '' - from flask import Flask - import subprocess - application = Flask(__name__) + instance.vassals.hello = { + type = "normal"; + immediate-uid = "hello"; + immediate-gid = "hello"; + module = "wsgi:application"; + http = ":80"; + cap = "net_bind_service"; + pythonPackages = self: [ self.flask ]; + chdir = pkgs.writeTextDir "wsgi.py" '' + from flask import Flask + import subprocess + application = Flask(__name__) - @application.route("/") - def hello(): - return "Hello, World!" + @application.route("/") + def hello(): + return "Hello, World!" - @application.route("/whoami") - def whoami(): - whoami = "${pkgs.coreutils}/bin/whoami" - proc = subprocess.run(whoami, capture_output=True) - return proc.stdout.decode().strip() - ''; - }; + @application.route("/whoami") + def whoami(): + whoami = "${pkgs.coreutils}/bin/whoami" + proc = subprocess.run(whoami, capture_output=True) + return proc.stdout.decode().strip() + ''; + }; - instance.vassals.php = { - type = "normal"; - master = true; - workers = 2; - http-socket = ":8000"; - http-socket-modifier1 = 14; - php-index = "index.php"; - php-docroot = pkgs.writeTextDir "index.php" '' - <?php echo "Hello World\n"; ?> - ''; + instance.vassals.php = { + type = "normal"; + master = true; + workers = 2; + http-socket = ":8000"; + http-socket-modifier1 = 14; + php-index = "index.php"; + php-docroot = pkgs.writeTextDir "index.php" '' + <?php echo "Hello World\n"; ?> + ''; + }; + }; }; - }; - }; - testScript = - '' + testScript = '' machine.wait_for_unit("multi-user.target") machine.wait_for_unit("uwsgi.service") @@ -78,4 +83,5 @@ import ./make-test-python.nix ({ pkgs, ... }: machine.wait_for_open_port(8000) assert "Hello World" in machine.succeed("curl -fv http://machine:8000") ''; -}) + } +) diff --git a/nixos/tests/v2ray.nix b/nixos/tests/v2ray.nix index 9eee962c64e40..c20720d057d09 100644 --- a/nixos/tests/v2ray.nix +++ b/nixos/tests/v2ray.nix @@ -1,91 +1,99 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: let +import ./make-test-python.nix ( + { lib, pkgs, ... }: + let - v2rayUser = { - # A random UUID. - id = "a6a46834-2150-45f8-8364-0f6f6ab32384"; - alterId = 0; # Non-zero support will be disabled in the future. - }; + v2rayUser = { + # A random UUID. + id = "a6a46834-2150-45f8-8364-0f6f6ab32384"; + alterId = 0; # Non-zero support will be disabled in the future. + }; - # 1080 [http proxy] -> 1081 [vmess] -> direct - v2rayConfig = { - inbounds = [ - { - tag = "http_in"; - port = 1080; - listen = "127.0.0.1"; - protocol = "http"; - } - { - tag = "vmess_in"; - port = 1081; - listen = "127.0.0.1"; - protocol = "vmess"; - settings.clients = [ v2rayUser ]; - } - ]; - outbounds = [ - { - tag = "vmess_out"; - protocol = "vmess"; - settings.vnext = [{ - address = "127.0.0.1"; + # 1080 [http proxy] -> 1081 [vmess] -> direct + v2rayConfig = { + inbounds = [ + { + tag = "http_in"; + port = 1080; + listen = "127.0.0.1"; + protocol = "http"; + } + { + tag = "vmess_in"; port = 1081; - users = [ v2rayUser ]; - }]; - } - { - tag = "direct"; - protocol = "freedom"; - } - ]; - routing.rules = [ - { - type = "field"; - inboundTag = "http_in"; - outboundTag = "vmess_out"; - } - { - type = "field"; - inboundTag = "vmess_in"; - outboundTag = "direct"; - } - - # Assert assets "geoip" and "geosite" are accessible. - { - type = "field"; - ip = [ "geoip:private" ]; - domain = [ "geosite:category-ads" ]; - outboundTag = "direct"; - } - ]; - }; + listen = "127.0.0.1"; + protocol = "vmess"; + settings.clients = [ v2rayUser ]; + } + ]; + outbounds = [ + { + tag = "vmess_out"; + protocol = "vmess"; + settings.vnext = [ + { + address = "127.0.0.1"; + port = 1081; + users = [ v2rayUser ]; + } + ]; + } + { + tag = "direct"; + protocol = "freedom"; + } + ]; + routing.rules = [ + { + type = "field"; + inboundTag = "http_in"; + outboundTag = "vmess_out"; + } + { + type = "field"; + inboundTag = "vmess_in"; + outboundTag = "direct"; + } -in { - name = "v2ray"; - meta = with lib.maintainers; { - maintainers = [ servalcatty ]; - }; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.curl ]; - services.v2ray = { - enable = true; - config = v2rayConfig; + # Assert assets "geoip" and "geosite" are accessible. + { + type = "field"; + ip = [ "geoip:private" ]; + domain = [ "geosite:category-ads" ]; + outboundTag = "direct"; + } + ]; }; - services.httpd = { - enable = true; - adminAddr = "foo@example.org"; + + in + { + name = "v2ray"; + meta = with lib.maintainers; { + maintainers = [ servalcatty ]; }; - }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.curl ]; + services.v2ray = { + enable = true; + config = v2rayConfig; + }; + services.httpd = { + enable = true; + adminAddr = "foo@example.org"; + }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("httpd.service") - machine.wait_for_unit("v2ray.service") - machine.wait_for_open_port(80) - machine.wait_for_open_port(1080) - machine.succeed( - "curl --fail --max-time 10 --proxy http://localhost:1080 http://localhost" - ) - ''; -}) + machine.wait_for_unit("httpd.service") + machine.wait_for_unit("v2ray.service") + machine.wait_for_open_port(80) + machine.wait_for_open_port(1080) + machine.succeed( + "curl --fail --max-time 10 --proxy http://localhost:1080 http://localhost" + ) + ''; + } +) diff --git a/nixos/tests/varnish.nix b/nixos/tests/varnish.nix index b7cb79a71cb0b..ec9f058537374 100644 --- a/nixos/tests/varnish.nix +++ b/nixos/tests/varnish.nix @@ -1,55 +1,63 @@ { - system ? builtins.currentSystem -, pkgs ? import ../.. { inherit system; } -, package + system ? builtins.currentSystem, + pkgs ? import ../.. { inherit system; }, + package, }: -import ./make-test-python.nix ({ pkgs, lib, ... }: let - testPath = pkgs.hello; -in { - name = "varnish"; - meta = { - maintainers = [ ]; - }; - - nodes = { - varnish = { config, pkgs, ... }: { - services.nix-serve = { - enable = true; - }; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + testPath = pkgs.hello; + in + { + name = "varnish"; + meta = { + maintainers = [ ]; + }; - services.varnish = { - inherit package; - enable = true; - http_address = "0.0.0.0:80"; - config = '' - vcl 4.0; - - backend nix-serve { - .host = "127.0.0.1"; - .port = "${toString config.services.nix-serve.port}"; - } - ''; + nodes = { + varnish = + { config, pkgs, ... }: + { + services.nix-serve = { + enable = true; + }; + + services.varnish = { + inherit package; + enable = true; + http_address = "0.0.0.0:80"; + config = '' + vcl 4.0; + + backend nix-serve { + .host = "127.0.0.1"; + .port = "${toString config.services.nix-serve.port}"; + } + ''; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + system.extraDependencies = [ testPath ]; }; - networking.firewall.allowedTCPPorts = [ 80 ]; - system.extraDependencies = [ testPath ]; - }; - - client = { lib, ... }: { - nix.settings = { - require-sigs = false; - substituters = lib.mkForce [ "http://varnish" ]; - }; + client = + { lib, ... }: + { + nix.settings = { + require-sigs = false; + substituters = lib.mkForce [ "http://varnish" ]; + }; + }; }; - }; - testScript = '' - start_all() - varnish.wait_for_open_port(80) + testScript = '' + start_all() + varnish.wait_for_open_port(80) - client.wait_until_succeeds("curl -f http://varnish/nix-cache-info"); + client.wait_until_succeeds("curl -f http://varnish/nix-cache-info"); - client.wait_until_succeeds("nix-store -r ${testPath}"); - client.succeed("${testPath}/bin/hello"); - ''; -}) + client.wait_until_succeeds("nix-store -r ${testPath}"); + client.succeed("${testPath}/bin/hello"); + ''; + } +) diff --git a/nixos/tests/vault-agent.nix b/nixos/tests/vault-agent.nix index dc86c829b67af..dfebc6b21828c 100644 --- a/nixos/tests/vault-agent.nix +++ b/nixos/tests/vault-agent.nix @@ -1,52 +1,63 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "vault-agent"; - - nodes.machine = { config, pkgs, ... }: { - services.vault-agent.instances.example.settings = { - vault.address = config.environment.variables.VAULT_ADDR; - - auto_auth = [{ - method = [{ - type = "token_file"; - config.token_file_path = pkgs.writeText "vault-token" config.environment.variables.VAULT_TOKEN; - }]; - }]; - - template = [{ - contents = '' - {{- with secret "secret/example" }} - {{ .Data.data.key }}" - {{- end }} - ''; - perms = "0600"; - destination = "/example"; - }]; - }; - - services.vault = { - enable = true; - dev = true; - devRootTokenID = config.environment.variables.VAULT_TOKEN; - }; - - environment = { - systemPackages = [ pkgs.vault ]; - variables = { - VAULT_ADDR = "http://localhost:8200"; - VAULT_TOKEN = "root"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "vault-agent"; + + nodes.machine = + { config, pkgs, ... }: + { + services.vault-agent.instances.example.settings = { + vault.address = config.environment.variables.VAULT_ADDR; + + auto_auth = [ + { + method = [ + { + type = "token_file"; + config.token_file_path = pkgs.writeText "vault-token" config.environment.variables.VAULT_TOKEN; + } + ]; + } + ]; + + template = [ + { + contents = '' + {{- with secret "secret/example" }} + {{ .Data.data.key }}" + {{- end }} + ''; + perms = "0600"; + destination = "/example"; + } + ]; + }; + + services.vault = { + enable = true; + dev = true; + devRootTokenID = config.environment.variables.VAULT_TOKEN; + }; + + environment = { + systemPackages = [ pkgs.vault ]; + variables = { + VAULT_ADDR = "http://localhost:8200"; + VAULT_TOKEN = "root"; + }; + }; }; - }; - }; - testScript = '' - machine.wait_for_unit("vault.service") - machine.wait_for_open_port(8200) + testScript = '' + machine.wait_for_unit("vault.service") + machine.wait_for_open_port(8200) - machine.wait_until_succeeds('vault kv put secret/example key=example') + machine.wait_until_succeeds('vault kv put secret/example key=example') - machine.wait_for_unit("vault-agent-example.service") + machine.wait_for_unit("vault-agent-example.service") - machine.wait_for_file("/example") - machine.succeed('grep "example" /example') - ''; -}) + machine.wait_for_file("/example") + machine.succeed('grep "example" /example') + ''; + } +) diff --git a/nixos/tests/vault-dev.nix b/nixos/tests/vault-dev.nix index ba9a1015cc13c..b66b72ac74a9c 100644 --- a/nixos/tests/vault-dev.nix +++ b/nixos/tests/vault-dev.nix @@ -1,35 +1,42 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "vault-dev"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 mic92 ]; - }; - nodes.machine = { pkgs, config, ... }: { - environment.systemPackages = [ pkgs.vault ]; - environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; - environment.variables.VAULT_TOKEN = "phony-secret"; - - services.vault = { - enable = true; - dev = true; - devRootTokenID = config.environment.variables.VAULT_TOKEN; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "vault-dev"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + lnl7 + mic92 + ]; }; - }; + nodes.machine = + { pkgs, config, ... }: + { + environment.systemPackages = [ pkgs.vault ]; + environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; + environment.variables.VAULT_TOKEN = "phony-secret"; + + services.vault = { + enable = true; + dev = true; + devRootTokenID = config.environment.variables.VAULT_TOKEN; + }; + }; - testScript = '' - import json - start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("vault.service") - machine.wait_for_open_port(8200) - out = machine.succeed("vault status -format=json") - print(out) - status = json.loads(out) - assert status.get("initialized") == True - machine.succeed("vault kv put secret/foo bar=baz") - out = machine.succeed("vault kv get -format=json secret/foo") - print(out) - status = json.loads(out) - assert status.get("data", {}).get("data", {}).get("bar") == "baz" - ''; -}) + testScript = '' + import json + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("vault.service") + machine.wait_for_open_port(8200) + out = machine.succeed("vault status -format=json") + print(out) + status = json.loads(out) + assert status.get("initialized") == True + machine.succeed("vault kv put secret/foo bar=baz") + out = machine.succeed("vault kv get -format=json secret/foo") + print(out) + status = json.loads(out) + assert status.get("data", {}).get("data", {}).get("bar") == "baz" + ''; + } +) diff --git a/nixos/tests/vault-postgresql.nix b/nixos/tests/vault-postgresql.nix index e0e5881c6da79..33d45306a36cc 100644 --- a/nixos/tests/vault-postgresql.nix +++ b/nixos/tests/vault-postgresql.nix @@ -1,53 +1,59 @@ -/* This test checks that - - multiple config files can be loaded - - the storage backend can be in a file outside the nix store - as is required for security (required because while confidentiality is - always covered, availability isn't) - - the postgres integration works - */ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "vault-postgresql"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 roberth ]; - }; - nodes.machine = { lib, pkgs, ... }: { - environment.systemPackages = [ pkgs.vault ]; - environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; - services.vault.enable = true; - services.vault.extraSettingsPaths = [ "/run/vault.hcl" ]; - - systemd.services.vault = { - after = [ - "postgresql.service" +/* + This test checks that + - multiple config files can be loaded + - the storage backend can be in a file outside the nix store + as is required for security (required because while confidentiality is + always covered, availability isn't) + - the postgres integration works +*/ +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "vault-postgresql"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + lnl7 + roberth ]; - # Try for about 10 minutes rather than the default of 5 attempts. - serviceConfig.RestartSec = 1; - serviceConfig.StartLimitBurst = 600; }; - # systemd.services.vault.unitConfig.RequiresMountsFor = "/run/keys/"; + nodes.machine = + { lib, pkgs, ... }: + { + environment.systemPackages = [ pkgs.vault ]; + environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; + services.vault.enable = true; + services.vault.extraSettingsPaths = [ "/run/vault.hcl" ]; - services.postgresql.enable = true; - services.postgresql.initialScript = pkgs.writeText "init.psql" '' - CREATE USER vaultuser WITH ENCRYPTED PASSWORD 'thisisthepass'; - GRANT CONNECT ON DATABASE postgres TO vaultuser; + systemd.services.vault = { + after = [ + "postgresql.service" + ]; + # Try for about 10 minutes rather than the default of 5 attempts. + serviceConfig.RestartSec = 1; + serviceConfig.StartLimitBurst = 600; + }; + # systemd.services.vault.unitConfig.RequiresMountsFor = "/run/keys/"; - -- https://www.vaultproject.io/docs/configuration/storage/postgresql - CREATE TABLE vault_kv_store ( - parent_path TEXT COLLATE "C" NOT NULL, - path TEXT COLLATE "C", - key TEXT COLLATE "C", - value BYTEA, - CONSTRAINT pkey PRIMARY KEY (path, key) - ); - CREATE INDEX parent_path_idx ON vault_kv_store (parent_path); + services.postgresql.enable = true; + services.postgresql.initialScript = pkgs.writeText "init.psql" '' + CREATE USER vaultuser WITH ENCRYPTED PASSWORD 'thisisthepass'; + GRANT CONNECT ON DATABASE postgres TO vaultuser; - GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO vaultuser; - ''; - }; + -- https://www.vaultproject.io/docs/configuration/storage/postgresql + CREATE TABLE vault_kv_store ( + parent_path TEXT COLLATE "C" NOT NULL, + path TEXT COLLATE "C", + key TEXT COLLATE "C", + value BYTEA, + CONSTRAINT pkey PRIMARY KEY (path, key) + ); + CREATE INDEX parent_path_idx ON vault_kv_store (parent_path); + + GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO vaultuser; + ''; + }; - testScript = - '' + testScript = '' secretConfig = """ storage "postgresql" { connection_url = "postgres://vaultuser:thisisthepass@localhost/postgres?sslmode=disable" @@ -66,4 +72,5 @@ import ./make-test-python.nix ({ pkgs, ... }: machine.succeed("vault operator init") machine.succeed("vault status || test $? -eq 2") ''; -}) + } +) diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix index 1b0a26a4487f0..a17e4fdfba088 100644 --- a/nixos/tests/vault.nix +++ b/nixos/tests/vault.nix @@ -1,17 +1,19 @@ -import ./make-test-python.nix ({ pkgs, ... }: -{ - name = "vault"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 ]; - }; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.vault ]; - environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; - services.vault.enable = true; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "vault"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lnl7 ]; + }; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.vault ]; + environment.variables.VAULT_ADDR = "http://127.0.0.1:8200"; + services.vault.enable = true; + }; - testScript = - '' + testScript = '' start_all() machine.wait_for_unit("multi-user.target") @@ -22,4 +24,5 @@ import ./make-test-python.nix ({ pkgs, ... }: machine.fail("vault status") machine.succeed("vault status || test $? -eq 2") ''; -}) + } +) diff --git a/nixos/tests/vaultwarden.nix b/nixos/tests/vaultwarden.nix index b51a147be99d3..6ddb6161f15cb 100644 --- a/nixos/tests/vaultwarden.nix +++ b/nixos/tests/vaultwarden.nix @@ -8,187 +8,217 @@ # The same tests should work without modification on the official bitwarden server, if we ever package that. let - makeVaultwardenTest = name: { - backend ? name, - withClient ? true, - testScript ? null, - }: import ./make-test-python.nix ({ lib, pkgs, ...}: let - dbPassword = "please_dont_hack"; - userEmail = "meow@example.com"; - userPassword = "also_super_secret_ZJWpBKZi668QGt"; # Must be complex to avoid interstitial warning on the signup page - storedPassword = "seeeecret"; - - testRunner = pkgs.writers.writePython3Bin "test-runner" { - libraries = [ pkgs.python3Packages.selenium ]; - flakeIgnore = [ "E501" ]; - } '' - - from selenium.webdriver.common.by import By - from selenium.webdriver import Firefox - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - - options = Options() - options.add_argument('--headless') - driver = Firefox(options=options) - - driver.implicitly_wait(20) - driver.get('http://localhost:8080/#/register') - - wait = WebDriverWait(driver, 10) - - wait.until(EC.title_contains("Vaultwarden Web")) - - driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_email').send_keys( - '${userEmail}' - ) - driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_name').send_keys( - 'A Cat' - ) - driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_master-password').send_keys( - '${userPassword}' - ) - driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_confirm-master-password').send_keys( - '${userPassword}' - ) - if driver.find_element(By.CSS_SELECTOR, 'input#checkForBreaches').is_selected(): - driver.find_element(By.CSS_SELECTOR, 'input#checkForBreaches').click() - - driver.find_element(By.XPATH, "//button[contains(., 'Create account')]").click() - - wait.until_not(EC.title_contains("Create account")) - - driver.find_element(By.XPATH, "//button[contains(., 'Continue')]").click() - - driver.find_element(By.CSS_SELECTOR, 'input#login_input_master-password').send_keys( - '${userPassword}' - ) - driver.find_element(By.XPATH, "//button[contains(., 'Log in')]").click() - - wait.until(EC.title_contains("Vaults")) - - driver.find_element(By.XPATH, "//button[contains(., 'New item')]").click() - - driver.find_element(By.CSS_SELECTOR, 'input#name').send_keys( - 'secrets' - ) - driver.find_element(By.CSS_SELECTOR, 'input#loginPassword').send_keys( - '${storedPassword}' - ) - - driver.find_element(By.XPATH, "//button[contains(., 'Save')]").click() - ''; - in { - inherit name; - - meta = { - maintainers = with pkgs.lib.maintainers; [ dotlambda SuperSandro2000 ]; - }; - - nodes = { - server = { pkgs, ... }: lib.mkMerge [ - { - mysql = { - services.mysql = { - enable = true; - initialScript = pkgs.writeText "mysql-init.sql" '' - CREATE DATABASE bitwarden; - CREATE USER 'bitwardenuser'@'localhost' IDENTIFIED BY '${dbPassword}'; - GRANT ALL ON `bitwarden`.* TO 'bitwardenuser'@'localhost'; - FLUSH PRIVILEGES; - ''; - package = pkgs.mariadb; - }; - - services.vaultwarden.config.databaseUrl = "mysql://bitwardenuser:${dbPassword}@localhost/bitwarden"; - - systemd.services.vaultwarden.after = [ "mysql.service" ]; - }; - - postgresql = { - services.postgresql = { - enable = true; - ensureDatabases = [ "vaultwarden" ]; - ensureUsers = [{ - name = "vaultwarden"; - ensureDBOwnership = true; - }]; - }; - - services.vaultwarden.config.databaseUrl = "postgresql:///vaultwarden?host=/run/postgresql"; - - systemd.services.vaultwarden.after = [ "postgresql.service" ]; + makeVaultwardenTest = + name: + { + backend ? name, + withClient ? true, + testScript ? null, + }: + import ./make-test-python.nix ( + { lib, pkgs, ... }: + let + dbPassword = "please_dont_hack"; + userEmail = "meow@example.com"; + userPassword = "also_super_secret_ZJWpBKZi668QGt"; # Must be complex to avoid interstitial warning on the signup page + storedPassword = "seeeecret"; + + testRunner = + pkgs.writers.writePython3Bin "test-runner" + { + libraries = [ pkgs.python3Packages.selenium ]; + flakeIgnore = [ "E501" ]; + } + '' + + from selenium.webdriver.common.by import By + from selenium.webdriver import Firefox + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.support.ui import WebDriverWait + from selenium.webdriver.support import expected_conditions as EC + + options = Options() + options.add_argument('--headless') + driver = Firefox(options=options) + + driver.implicitly_wait(20) + driver.get('http://localhost:8080/#/register') + + wait = WebDriverWait(driver, 10) + + wait.until(EC.title_contains("Vaultwarden Web")) + + driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_email').send_keys( + '${userEmail}' + ) + driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_name').send_keys( + 'A Cat' + ) + driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_master-password').send_keys( + '${userPassword}' + ) + driver.find_element(By.CSS_SELECTOR, 'input#register-form_input_confirm-master-password').send_keys( + '${userPassword}' + ) + if driver.find_element(By.CSS_SELECTOR, 'input#checkForBreaches').is_selected(): + driver.find_element(By.CSS_SELECTOR, 'input#checkForBreaches').click() + + driver.find_element(By.XPATH, "//button[contains(., 'Create account')]").click() + + wait.until_not(EC.title_contains("Create account")) + + driver.find_element(By.XPATH, "//button[contains(., 'Continue')]").click() + + driver.find_element(By.CSS_SELECTOR, 'input#login_input_master-password').send_keys( + '${userPassword}' + ) + driver.find_element(By.XPATH, "//button[contains(., 'Log in')]").click() + + wait.until(EC.title_contains("Vaults")) + + driver.find_element(By.XPATH, "//button[contains(., 'New item')]").click() + + driver.find_element(By.CSS_SELECTOR, 'input#name').send_keys( + 'secrets' + ) + driver.find_element(By.CSS_SELECTOR, 'input#loginPassword').send_keys( + '${storedPassword}' + ) + + driver.find_element(By.XPATH, "//button[contains(., 'Save')]").click() + ''; + in + { + inherit name; + + meta = { + maintainers = with pkgs.lib.maintainers; [ + dotlambda + SuperSandro2000 + ]; + }; + + nodes = + { + server = + { pkgs, ... }: + lib.mkMerge [ + { + mysql = { + services.mysql = { + enable = true; + initialScript = pkgs.writeText "mysql-init.sql" '' + CREATE DATABASE bitwarden; + CREATE USER 'bitwardenuser'@'localhost' IDENTIFIED BY '${dbPassword}'; + GRANT ALL ON `bitwarden`.* TO 'bitwardenuser'@'localhost'; + FLUSH PRIVILEGES; + ''; + package = pkgs.mariadb; + }; + + services.vaultwarden.config.databaseUrl = "mysql://bitwardenuser:${dbPassword}@localhost/bitwarden"; + + systemd.services.vaultwarden.after = [ "mysql.service" ]; + }; + + postgresql = { + services.postgresql = { + enable = true; + ensureDatabases = [ "vaultwarden" ]; + ensureUsers = [ + { + name = "vaultwarden"; + ensureDBOwnership = true; + } + ]; + }; + + services.vaultwarden.config.databaseUrl = "postgresql:///vaultwarden?host=/run/postgresql"; + + systemd.services.vaultwarden.after = [ "postgresql.service" ]; + }; + + sqlite = { + services.vaultwarden.backupDir = "/srv/backups/vaultwarden"; + + environment.systemPackages = [ pkgs.sqlite ]; + }; + } + .${backend} + + { + services.vaultwarden = { + enable = true; + dbBackend = backend; + config = { + rocketAddress = "::"; + rocketPort = 8080; + }; + }; + + networking.firewall.allowedTCPPorts = [ 8080 ]; + + environment.systemPackages = [ + pkgs.firefox-unwrapped + pkgs.geckodriver + testRunner + ]; + } + ]; + } + // lib.optionalAttrs withClient { + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.bitwarden-cli ]; + }; }; - sqlite = { - services.vaultwarden.backupDir = "/srv/backups/vaultwarden"; - - environment.systemPackages = [ pkgs.sqlite ]; - }; - }.${backend} - - { - services.vaultwarden = { - enable = true; - dbBackend = backend; - config = { - rocketAddress = "::"; - rocketPort = 8080; - }; - }; - - networking.firewall.allowedTCPPorts = [ 8080 ]; - - environment.systemPackages = [ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ]; - } - ]; - } // lib.optionalAttrs withClient { - client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.bitwarden-cli ]; - }; - }; - - testScript = if testScript != null then testScript else '' - start_all() - server.wait_for_unit("vaultwarden.service") - server.wait_for_open_port(8080) - - with subtest("configure the cli"): - client.succeed("bw --nointeraction config server http://server:8080") - - with subtest("can't login to nonexistent account"): - client.fail( - "bw --nointeraction --raw login ${userEmail} ${userPassword}" - ) - - with subtest("use the web interface to sign up, log in, and save a password"): - server.succeed("PYTHONUNBUFFERED=1 systemd-cat -t test-runner test-runner") - - with subtest("log in with the cli"): - key = client.succeed( - "bw --nointeraction --raw login ${userEmail} ${userPassword}" - ).strip() - - with subtest("sync with the cli"): - client.succeed(f"bw --nointeraction --raw --session {key} sync -f") - - with subtest("get the password with the cli"): - password = client.wait_until_succeeds( - f"bw --nointeraction --raw --session {key} list items | ${pkgs.jq}/bin/jq -r .[].login.password", - timeout=60 - ) - assert password.strip() == "${storedPassword}" - - with subtest("Check systemd unit hardening"): - server.log(server.succeed("systemd-analyze security vaultwarden.service | grep -v ✓")) - ''; - }); + testScript = + if testScript != null then + testScript + else + '' + start_all() + server.wait_for_unit("vaultwarden.service") + server.wait_for_open_port(8080) + + with subtest("configure the cli"): + client.succeed("bw --nointeraction config server http://server:8080") + + with subtest("can't login to nonexistent account"): + client.fail( + "bw --nointeraction --raw login ${userEmail} ${userPassword}" + ) + + with subtest("use the web interface to sign up, log in, and save a password"): + server.succeed("PYTHONUNBUFFERED=1 systemd-cat -t test-runner test-runner") + + with subtest("log in with the cli"): + key = client.succeed( + "bw --nointeraction --raw login ${userEmail} ${userPassword}" + ).strip() + + with subtest("sync with the cli"): + client.succeed(f"bw --nointeraction --raw --session {key} sync -f") + + with subtest("get the password with the cli"): + password = client.wait_until_succeeds( + f"bw --nointeraction --raw --session {key} list items | ${pkgs.jq}/bin/jq -r .[].login.password", + timeout=60 + ) + assert password.strip() == "${storedPassword}" + + with subtest("Check systemd unit hardening"): + server.log(server.succeed("systemd-analyze security vaultwarden.service | grep -v ✓")) + ''; + } + ); in builtins.mapAttrs (k: v: makeVaultwardenTest k v) { - mysql = {}; - postgresql = {}; - sqlite = {}; + mysql = { }; + postgresql = { }; + sqlite = { }; sqlite-backup = { backend = "sqlite"; withClient = false; diff --git a/nixos/tests/vector/api.nix b/nixos/tests/vector/api.nix index 8aa3a0c1b771f..e67097ee9428e 100644 --- a/nixos/tests/vector/api.nix +++ b/nixos/tests/vector/api.nix @@ -1,39 +1,45 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "vector-api"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + { + name = "vector-api"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes.machineapi = { config, pkgs, ... }: { - services.vector = { - enable = true; - journaldAccess = false; - settings = { - api.enabled = true; + nodes.machineapi = + { config, pkgs, ... }: + { + services.vector = { + enable = true; + journaldAccess = false; + settings = { + api.enabled = true; - sources = { - demo_logs = { - type = "demo_logs"; - format = "json"; - }; - }; + sources = { + demo_logs = { + type = "demo_logs"; + format = "json"; + }; + }; - sinks = { - file = { - type = "file"; - inputs = [ "demo_logs" ]; - path = "/var/lib/vector/logs.log"; - encoding = { codec = "json"; }; + sinks = { + file = { + type = "file"; + inputs = [ "demo_logs" ]; + path = "/var/lib/vector/logs.log"; + encoding = { + codec = "json"; + }; + }; + }; }; }; }; - }; - }; - testScript = '' - machineapi.wait_for_unit("vector") - machineapi.wait_for_open_port(8686) - machineapi.succeed("journalctl -o cat -u vector.service | grep 'API server running'") - machineapi.wait_until_succeeds("curl -sSf http://localhost:8686/health") - ''; -}) + testScript = '' + machineapi.wait_for_unit("vector") + machineapi.wait_for_open_port(8686) + machineapi.succeed("journalctl -o cat -u vector.service | grep 'API server running'") + machineapi.wait_until_succeeds("curl -sSf http://localhost:8686/health") + ''; + } +) diff --git a/nixos/tests/vector/default.nix b/nixos/tests/vector/default.nix index dc3747da74216..7ec435bd848c3 100644 --- a/nixos/tests/vector/default.nix +++ b/nixos/tests/vector/default.nix @@ -1,6 +1,7 @@ -{ system ? builtins.currentSystem -, config ? { } -, pkgs ? import ../../.. { inherit system config; } +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, }: { diff --git a/nixos/tests/vector/dnstap.nix b/nixos/tests/vector/dnstap.nix index 5143fd938fdef..935ea757e1073 100644 --- a/nixos/tests/vector/dnstap.nix +++ b/nixos/tests/vector/dnstap.nix @@ -1,118 +1,132 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: - -let - dnstapSocket = "/var/run/vector/dnstap.sock"; -in -{ - name = "vector-dnstap"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - - nodes = { - unbound = { config, pkgs, ... }: { - networking.firewall.allowedUDPPorts = [ 53 ]; - - services.vector = { - enable = true; - - settings = { - sources = { - dnstap = { - type = "dnstap"; - multithreaded = true; - mode = "unix"; - lowercase_hostnames = true; - socket_file_mode = 504; - socket_path = "${dnstapSocket}"; +import ../make-test-python.nix ( + { lib, pkgs, ... }: + + let + dnstapSocket = "/var/run/vector/dnstap.sock"; + in + { + name = "vector-dnstap"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + + nodes = { + unbound = + { config, pkgs, ... }: + { + networking.firewall.allowedUDPPorts = [ 53 ]; + + services.vector = { + enable = true; + + settings = { + sources = { + dnstap = { + type = "dnstap"; + multithreaded = true; + mode = "unix"; + lowercase_hostnames = true; + socket_file_mode = 504; + socket_path = "${dnstapSocket}"; + }; + }; + + sinks = { + file = { + type = "file"; + inputs = [ "dnstap" ]; + path = "/var/lib/vector/logs.log"; + encoding = { + codec = "json"; + }; + }; + }; }; }; - sinks = { - file = { - type = "file"; - inputs = [ "dnstap" ]; - path = "/var/lib/vector/logs.log"; - encoding = { codec = "json"; }; - }; + systemd.services.vector.serviceConfig = { + RuntimeDirectory = "vector"; + RuntimeDirectoryMode = "0770"; }; - }; - }; - - systemd.services.vector.serviceConfig = { - RuntimeDirectory = "vector"; - RuntimeDirectoryMode = "0770"; - }; - - services.unbound = { - enable = true; - enableRootTrustAnchor = false; - package = pkgs.unbound-full; - settings = { - server = { - interface = [ "0.0.0.0" "::" ]; - access-control = [ "192.168.0.0/24 allow" "::/0 allow" ]; - - domain-insecure = "local"; - private-domain = "local"; - - local-zone = "local. static"; - local-data = [ - ''"test.local. 10800 IN A 192.168.123.5"'' - ]; + + services.unbound = { + enable = true; + enableRootTrustAnchor = false; + package = pkgs.unbound-full; + settings = { + server = { + interface = [ + "0.0.0.0" + "::" + ]; + access-control = [ + "192.168.0.0/24 allow" + "::/0 allow" + ]; + + domain-insecure = "local"; + private-domain = "local"; + + local-zone = "local. static"; + local-data = [ + ''"test.local. 10800 IN A 192.168.123.5"'' + ]; + }; + + dnstap = { + dnstap-enable = "yes"; + dnstap-socket-path = "${dnstapSocket}"; + dnstap-send-identity = "yes"; + dnstap-send-version = "yes"; + dnstap-log-client-query-messages = "yes"; + dnstap-log-client-response-messages = "yes"; + }; + }; }; - dnstap = { - dnstap-enable = "yes"; - dnstap-socket-path = "${dnstapSocket}"; - dnstap-send-identity = "yes"; - dnstap-send-version = "yes"; - dnstap-log-client-query-messages = "yes"; - dnstap-log-client-response-messages = "yes"; + systemd.services.unbound = { + after = [ "vector.service" ]; + wants = [ "vector.service" ]; + serviceConfig = { + # DNSTAP access + ReadWritePaths = [ "/var/run/vector" ]; + SupplementaryGroups = [ "vector" ]; + }; }; }; - }; - - systemd.services.unbound = { - after = [ "vector.service" ]; - wants = [ "vector.service" ]; - serviceConfig = { - # DNSTAP access - ReadWritePaths = [ "/var/run/vector" ]; - SupplementaryGroups = [ "vector" ]; + + dnsclient = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.dig ]; }; - }; }; - dnsclient = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.dig ]; - }; - }; - - testScript = '' - unbound.wait_for_unit("unbound") - unbound.wait_for_unit("vector") - - unbound.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Socket permissions updated to 0o770'" - ) - unbound.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'component_type=dnstap' | grep 'Listening... path=\"${dnstapSocket}\"'" - ) - - unbound.wait_for_file("${dnstapSocket}") - unbound.succeed("test 770 -eq $(stat -c '%a' ${dnstapSocket})") - - dnsclient.wait_for_unit("network-online.target") - dnsclient.succeed( - "dig @unbound test.local" - ) - - unbound.wait_for_file("/var/lib/vector/logs.log") - - unbound.wait_until_succeeds( - "grep ClientQuery /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rcodeName\":\"NoError\"'" - ) - unbound.wait_until_succeeds( - "grep ClientResponse /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rData\":\"192.168.123.5\"'" - ) - ''; -}) + testScript = '' + unbound.wait_for_unit("unbound") + unbound.wait_for_unit("vector") + + unbound.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Socket permissions updated to 0o770'" + ) + unbound.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'component_type=dnstap' | grep 'Listening... path=\"${dnstapSocket}\"'" + ) + + unbound.wait_for_file("${dnstapSocket}") + unbound.succeed("test 770 -eq $(stat -c '%a' ${dnstapSocket})") + + dnsclient.wait_for_unit("network-online.target") + dnsclient.succeed( + "dig @unbound test.local" + ) + + unbound.wait_for_file("/var/lib/vector/logs.log") + + unbound.wait_until_succeeds( + "grep ClientQuery /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rcodeName\":\"NoError\"'" + ) + unbound.wait_until_succeeds( + "grep ClientResponse /var/lib/vector/logs.log | grep '\"domainName\":\"test.local.\"' | grep '\"rData\":\"192.168.123.5\"'" + ) + ''; + } +) diff --git a/nixos/tests/vector/file-sink.nix b/nixos/tests/vector/file-sink.nix index 2220d20ac55c3..999e8d58443c3 100644 --- a/nixos/tests/vector/file-sink.nix +++ b/nixos/tests/vector/file-sink.nix @@ -1,49 +1,58 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -{ - name = "vector-test1"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + { + name = "vector-test1"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes.machine = { config, pkgs, ... }: { - services.vector = { - enable = true; - journaldAccess = true; - settings = { - sources = { - journald.type = "journald"; + nodes.machine = + { config, pkgs, ... }: + { + services.vector = { + enable = true; + journaldAccess = true; + settings = { + sources = { + journald.type = "journald"; - vector_metrics.type = "internal_metrics"; + vector_metrics.type = "internal_metrics"; - vector_logs.type = "internal_logs"; - }; + vector_logs.type = "internal_logs"; + }; - sinks = { - file = { - type = "file"; - inputs = [ "journald" "vector_logs" ]; - path = "/var/lib/vector/logs.log"; - encoding = { codec = "json"; }; - }; + sinks = { + file = { + type = "file"; + inputs = [ + "journald" + "vector_logs" + ]; + path = "/var/lib/vector/logs.log"; + encoding = { + codec = "json"; + }; + }; - prometheus_exporter = { - type = "prometheus_exporter"; - inputs = [ "vector_metrics" ]; - address = "[::]:9598"; + prometheus_exporter = { + type = "prometheus_exporter"; + inputs = [ "vector_metrics" ]; + address = "[::]:9598"; + }; + }; }; }; }; - }; - }; - # ensure vector is forwarding the messages appropriately - testScript = '' - machine.wait_for_unit("vector.service") - machine.wait_for_open_port(9598) - machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'version=\"${pkgs.vector.version}\"'") - machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'API is disabled'") - machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info") - machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald") - machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter") - machine.wait_for_file("/var/lib/vector/logs.log") - ''; -}) + # ensure vector is forwarding the messages appropriately + testScript = '' + machine.wait_for_unit("vector.service") + machine.wait_for_open_port(9598) + machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'version=\"${pkgs.vector.version}\"'") + machine.wait_until_succeeds("journalctl -o cat -u vector.service | grep 'API is disabled'") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter") + machine.wait_for_file("/var/lib/vector/logs.log") + ''; + } +) diff --git a/nixos/tests/vector/nginx-clickhouse.nix b/nixos/tests/vector/nginx-clickhouse.nix index 3d99bac6ac161..9470d78d968bd 100644 --- a/nixos/tests/vector/nginx-clickhouse.nix +++ b/nixos/tests/vector/nginx-clickhouse.nix @@ -1,168 +1,174 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: - -{ - name = "vector-nginx-clickhouse"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - - nodes = { - clickhouse = { config, pkgs, ... }: { - virtualisation.memorySize = 4096; - - # Clickhouse module can't listen on a non-loopback IP. - networking.firewall.allowedTCPPorts = [ 6000 ]; - services.clickhouse.enable = true; - - # Exercise Vector sink->source for now. - services.vector = { - enable = true; - - settings = { - sources = { - vector_source = { - type = "vector"; - address = "[::]:6000"; +import ../make-test-python.nix ( + { lib, pkgs, ... }: + + { + name = "vector-nginx-clickhouse"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + + nodes = { + clickhouse = + { config, pkgs, ... }: + { + virtualisation.memorySize = 4096; + + # Clickhouse module can't listen on a non-loopback IP. + networking.firewall.allowedTCPPorts = [ 6000 ]; + services.clickhouse.enable = true; + + # Exercise Vector sink->source for now. + services.vector = { + enable = true; + + settings = { + sources = { + vector_source = { + type = "vector"; + address = "[::]:6000"; + }; + }; + + sinks = { + clickhouse = { + type = "clickhouse"; + inputs = [ "vector_source" ]; + endpoint = "http://localhost:8123"; + database = "nginxdb"; + table = "access_logs"; + skip_unknown_fields = true; + }; + }; }; }; + }; - sinks = { - clickhouse = { - type = "clickhouse"; - inputs = [ "vector_source" ]; - endpoint = "http://localhost:8123"; - database = "nginxdb"; - table = "access_logs"; - skip_unknown_fields = true; - }; + nginx = + { config, pkgs, ... }: + { + services.nginx = { + enable = true; + virtualHosts.localhost = { }; }; - }; - }; - }; - nginx = { config, pkgs, ... }: { - services.nginx = { - enable = true; - virtualHosts.localhost = {}; - }; - - services.vector = { - enable = true; - - settings = { - sources = { - nginx_logs = { - type = "file"; - include = [ "/var/log/nginx/access.log" ]; - read_from = "end"; + services.vector = { + enable = true; + + settings = { + sources = { + nginx_logs = { + type = "file"; + include = [ "/var/log/nginx/access.log" ]; + read_from = "end"; + }; + }; + + sinks = { + vector_sink = { + type = "vector"; + inputs = [ "nginx_logs" ]; + address = "clickhouse:6000"; + }; + }; }; }; - sinks = { - vector_sink = { - type = "vector"; - inputs = [ "nginx_logs" ]; - address = "clickhouse:6000"; - }; + systemd.services.vector.serviceConfig = { + SupplementaryGroups = [ "nginx" ]; }; }; - }; - - systemd.services.vector.serviceConfig = { - SupplementaryGroups = [ "nginx" ]; - }; }; - }; - - testScript = - let - # work around quote/substitution complexity by Nix, Perl, bash and SQL. - databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS nginxdb"; - - tableDDL = pkgs.writeText "table.sql" '' - CREATE TABLE IF NOT EXISTS nginxdb.access_logs ( - message String - ) - ENGINE = MergeTree() - ORDER BY tuple() - ''; - - # Graciously taken from https://clickhouse.com/docs/en/integrations/vector - tableView = pkgs.writeText "table-view.sql" '' - CREATE MATERIALIZED VIEW nginxdb.access_logs_view - ( - RemoteAddr String, - Client String, - RemoteUser String, - TimeLocal DateTime, - RequestMethod String, - Request String, - HttpVersion String, - Status Int32, - BytesSent Int64, - UserAgent String - ) - ENGINE = MergeTree() - ORDER BY RemoteAddr - POPULATE AS - WITH - splitByWhitespace(message) as split, - splitByRegexp('\S \d+ "([^"]*)"', message) as referer - SELECT - split[1] AS RemoteAddr, - split[2] AS Client, - split[3] AS RemoteUser, - parseDateTimeBestEffort(replaceOne(trim(LEADING '[' FROM split[4]), ':', ' ')) AS TimeLocal, - trim(LEADING '"' FROM split[6]) AS RequestMethod, - split[7] AS Request, - trim(TRAILING '"' FROM split[8]) AS HttpVersion, - split[9] AS Status, - split[10] AS BytesSent, - trim(BOTH '"' from referer[2]) AS UserAgent - FROM - (SELECT message FROM nginxdb.access_logs) - ''; - - selectQuery = pkgs.writeText "select.sql" "SELECT * from nginxdb.access_logs_view"; - in - '' - clickhouse.wait_for_unit("clickhouse") - clickhouse.wait_for_open_port(8123) - - clickhouse.wait_until_succeeds( - "journalctl -o cat -u clickhouse.service | grep 'Started ClickHouse server'" - ) - - clickhouse.wait_for_unit("vector") - clickhouse.wait_for_open_port(6000) - - clickhouse.succeed( - "cat ${databaseDDL} | clickhouse-client" - ) - - clickhouse.succeed( - "cat ${tableDDL} | clickhouse-client" - ) - - clickhouse.succeed( - "cat ${tableView} | clickhouse-client" - ) - - nginx.wait_for_unit("nginx") - nginx.wait_for_open_port(80) - nginx.wait_for_unit("vector") - nginx.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Starting file server'" - ) - - nginx.succeed("curl http://localhost/") - nginx.succeed("curl http://localhost/") - - nginx.wait_for_file("/var/log/nginx/access.log") - nginx.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Found new file to watch. file=/var/log/nginx/access.log'" - ) - - clickhouse.wait_until_succeeds( - "cat ${selectQuery} | clickhouse-client | grep 'curl'" - ) - ''; -}) + + testScript = + let + # work around quote/substitution complexity by Nix, Perl, bash and SQL. + databaseDDL = pkgs.writeText "database.sql" "CREATE DATABASE IF NOT EXISTS nginxdb"; + + tableDDL = pkgs.writeText "table.sql" '' + CREATE TABLE IF NOT EXISTS nginxdb.access_logs ( + message String + ) + ENGINE = MergeTree() + ORDER BY tuple() + ''; + + # Graciously taken from https://clickhouse.com/docs/en/integrations/vector + tableView = pkgs.writeText "table-view.sql" '' + CREATE MATERIALIZED VIEW nginxdb.access_logs_view + ( + RemoteAddr String, + Client String, + RemoteUser String, + TimeLocal DateTime, + RequestMethod String, + Request String, + HttpVersion String, + Status Int32, + BytesSent Int64, + UserAgent String + ) + ENGINE = MergeTree() + ORDER BY RemoteAddr + POPULATE AS + WITH + splitByWhitespace(message) as split, + splitByRegexp('\S \d+ "([^"]*)"', message) as referer + SELECT + split[1] AS RemoteAddr, + split[2] AS Client, + split[3] AS RemoteUser, + parseDateTimeBestEffort(replaceOne(trim(LEADING '[' FROM split[4]), ':', ' ')) AS TimeLocal, + trim(LEADING '"' FROM split[6]) AS RequestMethod, + split[7] AS Request, + trim(TRAILING '"' FROM split[8]) AS HttpVersion, + split[9] AS Status, + split[10] AS BytesSent, + trim(BOTH '"' from referer[2]) AS UserAgent + FROM + (SELECT message FROM nginxdb.access_logs) + ''; + + selectQuery = pkgs.writeText "select.sql" "SELECT * from nginxdb.access_logs_view"; + in + '' + clickhouse.wait_for_unit("clickhouse") + clickhouse.wait_for_open_port(8123) + + clickhouse.wait_until_succeeds( + "journalctl -o cat -u clickhouse.service | grep 'Started ClickHouse server'" + ) + + clickhouse.wait_for_unit("vector") + clickhouse.wait_for_open_port(6000) + + clickhouse.succeed( + "cat ${databaseDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + + clickhouse.succeed( + "cat ${tableView} | clickhouse-client" + ) + + nginx.wait_for_unit("nginx") + nginx.wait_for_open_port(80) + nginx.wait_for_unit("vector") + nginx.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Starting file server'" + ) + + nginx.succeed("curl http://localhost/") + nginx.succeed("curl http://localhost/") + + nginx.wait_for_file("/var/log/nginx/access.log") + nginx.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Found new file to watch. file=/var/log/nginx/access.log'" + ) + + clickhouse.wait_until_succeeds( + "cat ${selectQuery} | clickhouse-client | grep 'curl'" + ) + ''; + } +) diff --git a/nixos/tests/vector/syslog-quickwit.nix b/nixos/tests/vector/syslog-quickwit.nix index cb6e04e00eae4..68783a1642f1d 100644 --- a/nixos/tests/vector/syslog-quickwit.nix +++ b/nixos/tests/vector/syslog-quickwit.nix @@ -1,156 +1,162 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: +import ../make-test-python.nix ( + { lib, pkgs, ... }: -# Based on https://quickwit.io/docs/log-management/send-logs/using-vector + # Based on https://quickwit.io/docs/log-management/send-logs/using-vector -{ - name = "vector-syslog-quickwit"; - meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; + { + name = "vector-syslog-quickwit"; + meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; - nodes = { - quickwit = { config, pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; + nodes = { + quickwit = + { config, pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; - networking.firewall.allowedTCPPorts = [ 7280 ]; + networking.firewall.allowedTCPPorts = [ 7280 ]; - services.quickwit = { - enable = true; - settings = { - listen_address = "::"; - }; - }; - }; - - syslog = { config, pkgs, ... }: { - services.vector = { - enable = true; - - settings = { - sources = { - generate_syslog = { - type = "demo_logs"; - format = "syslog"; - interval = 0.5; - }; - }; - - transforms = { - remap_syslog = { - inputs = ["generate_syslog"]; - type = "remap"; - source = '' - structured = parse_syslog!(.message) - .timestamp_nanos = to_unix_timestamp!(structured.timestamp, unit: "nanoseconds") - .body = structured - .service_name = structured.appname - .resource_attributes.source_type = .source_type - .resource_attributes.host.hostname = structured.hostname - .resource_attributes.service.name = structured.appname - .attributes.syslog.procid = structured.procid - .attributes.syslog.facility = structured.facility - .attributes.syslog.version = structured.version - .severity_text = if includes(["emerg", "err", "crit", "alert"], structured.severity) { - "ERROR" - } else if structured.severity == "warning" { - "WARN" - } else if structured.severity == "debug" { - "DEBUG" - } else if includes(["info", "notice"], structured.severity) { - "INFO" - } else { - structured.severity - } - .scope_name = structured.msgid - del(.message) - del(.host) - del(.timestamp) - del(.service) - del(.source_type) - ''; + services.quickwit = { + enable = true; + settings = { + listen_address = "::"; }; }; + }; - sinks = { - #emit_syslog = { - # inputs = ["remap_syslog"]; - # type = "console"; - # encoding.codec = "json"; - #}; - quickwit_logs = { - type = "http"; - method = "post"; - inputs = [ "remap_syslog" ]; - encoding.codec = "json"; - framing.method = "newline_delimited"; - uri = "http://quickwit:7280/api/v1/otel-logs-v0_7/ingest"; + syslog = + { config, pkgs, ... }: + { + services.vector = { + enable = true; + + settings = { + sources = { + generate_syslog = { + type = "demo_logs"; + format = "syslog"; + interval = 0.5; + }; + }; + + transforms = { + remap_syslog = { + inputs = [ "generate_syslog" ]; + type = "remap"; + source = '' + structured = parse_syslog!(.message) + .timestamp_nanos = to_unix_timestamp!(structured.timestamp, unit: "nanoseconds") + .body = structured + .service_name = structured.appname + .resource_attributes.source_type = .source_type + .resource_attributes.host.hostname = structured.hostname + .resource_attributes.service.name = structured.appname + .attributes.syslog.procid = structured.procid + .attributes.syslog.facility = structured.facility + .attributes.syslog.version = structured.version + .severity_text = if includes(["emerg", "err", "crit", "alert"], structured.severity) { + "ERROR" + } else if structured.severity == "warning" { + "WARN" + } else if structured.severity == "debug" { + "DEBUG" + } else if includes(["info", "notice"], structured.severity) { + "INFO" + } else { + structured.severity + } + .scope_name = structured.msgid + del(.message) + del(.host) + del(.timestamp) + del(.service) + del(.source_type) + ''; + }; + }; + + sinks = { + #emit_syslog = { + # inputs = ["remap_syslog"]; + # type = "console"; + # encoding.codec = "json"; + #}; + quickwit_logs = { + type = "http"; + method = "post"; + inputs = [ "remap_syslog" ]; + encoding.codec = "json"; + framing.method = "newline_delimited"; + uri = "http://quickwit:7280/api/v1/otel-logs-v0_7/ingest"; + }; + }; }; }; }; - }; }; - }; - - testScript = - let - aggregationQuery = pkgs.writeText "aggregation-query.json" '' - { - "query": "*", - "max_hits": 0, - "aggs": { - "count_per_minute": { - "histogram": { - "field": "timestamp_nanos", - "interval": 60000000 - }, + + testScript = + let + aggregationQuery = pkgs.writeText "aggregation-query.json" '' + { + "query": "*", + "max_hits": 0, "aggs": { - "severity_text_count": { - "terms": { - "field": "severity_text" + "count_per_minute": { + "histogram": { + "field": "timestamp_nanos", + "interval": 60000000 + }, + "aggs": { + "severity_text_count": { + "terms": { + "field": "severity_text" + } + } } } } } - } - } - ''; - in - '' - quickwit.wait_for_unit("quickwit") - quickwit.wait_for_open_port(7280) - quickwit.wait_for_open_port(7281) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" - ) - - syslog.wait_for_unit("vector") - syslog.wait_until_succeeds( - "journalctl -o cat -u vector.service | grep 'Vector has started'" - ) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'publish-new-splits'" - ) - - # Wait for logs to be generated - # Test below aggregates by the minute - syslog.sleep(60 * 2) - - quickwit.wait_until_succeeds( - "curl -sSf -XGET http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search?query=severity_text:ERROR |" - + " jq '.num_hits' | grep -v '0'" - ) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'SearchRequest'" - ) - - quickwit.wait_until_succeeds( - "curl -sSf -XPOST -H 'Content-Type: application/json' http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search --data @${aggregationQuery} |" - + " jq '.num_hits' | grep -v '0'" - ) - - quickwit.wait_until_succeeds( - "journalctl -o cat -u quickwit.service | grep 'count_per_minute'" - ) - ''; -}) + ''; + in + '' + quickwit.wait_for_unit("quickwit") + quickwit.wait_for_open_port(7280) + quickwit.wait_for_open_port(7281) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" + ) + + syslog.wait_for_unit("vector") + syslog.wait_until_succeeds( + "journalctl -o cat -u vector.service | grep 'Vector has started'" + ) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'publish-new-splits'" + ) + + # Wait for logs to be generated + # Test below aggregates by the minute + syslog.sleep(60 * 2) + + quickwit.wait_until_succeeds( + "curl -sSf -XGET http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search?query=severity_text:ERROR |" + + " jq '.num_hits' | grep -v '0'" + ) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'SearchRequest'" + ) + + quickwit.wait_until_succeeds( + "curl -sSf -XPOST -H 'Content-Type: application/json' http://127.0.0.1:7280/api/v1/otel-logs-v0_7/search --data @${aggregationQuery} |" + + " jq '.num_hits' | grep -v '0'" + ) + + quickwit.wait_until_succeeds( + "journalctl -o cat -u quickwit.service | grep 'count_per_minute'" + ) + ''; + } +) diff --git a/nixos/tests/vengi-tools.nix b/nixos/tests/vengi-tools.nix index fd7567991487e..fcf42c09a7a82 100644 --- a/nixos/tests/vengi-tools.nix +++ b/nixos/tests/vengi-tools.nix @@ -1,22 +1,25 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "vengi-tools"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "vengi-tools"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.vengi-tools ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.vengi-tools ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() machine.execute("vengi-voxedit >&2 &") machine.wait_for_window("voxedit") @@ -24,4 +27,5 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.sleep(15) machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/vikunja.nix b/nixos/tests/vikunja.nix index 4e2bf166a7b6c..f1108dc69330e 100644 --- a/nixos/tests/vikunja.nix +++ b/nixos/tests/vikunja.nix @@ -1,58 +1,64 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "vikunja"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "vikunja"; - meta.maintainers = with lib.maintainers; [ leona ]; + meta.maintainers = with lib.maintainers; [ leona ]; - nodes = { - vikunjaSqlite = { ... }: { - services.vikunja = { - enable = true; - database = { - type = "sqlite"; + nodes = { + vikunjaSqlite = + { ... }: + { + services.vikunja = { + enable = true; + database = { + type = "sqlite"; + }; + frontendScheme = "http"; + frontendHostname = "localhost"; + }; + services.nginx = { + enable = true; + virtualHosts."http://localhost" = { + locations."/".proxyPass = "http://localhost:3456"; + }; + }; }; - frontendScheme = "http"; - frontendHostname = "localhost"; - }; - services.nginx = { - enable = true; - virtualHosts."http://localhost" = { - locations."/".proxyPass = "http://localhost:3456"; + vikunjaPostgresql = + { pkgs, ... }: + { + services.vikunja = { + enable = true; + database = { + type = "postgres"; + user = "vikunja"; + database = "vikunja"; + host = "/run/postgresql"; + }; + frontendScheme = "http"; + frontendHostname = "localhost"; + port = 9090; + }; + services.postgresql = { + enable = true; + ensureDatabases = [ "vikunja" ]; + ensureUsers = [ + { + name = "vikunja"; + ensureDBOwnership = true; + } + ]; + }; + services.nginx = { + enable = true; + virtualHosts."http://localhost" = { + locations."/".proxyPass = "http://localhost:9090"; + }; + }; }; - }; }; - vikunjaPostgresql = { pkgs, ... }: { - services.vikunja = { - enable = true; - database = { - type = "postgres"; - user = "vikunja"; - database = "vikunja"; - host = "/run/postgresql"; - }; - frontendScheme = "http"; - frontendHostname = "localhost"; - port = 9090; - }; - services.postgresql = { - enable = true; - ensureDatabases = [ "vikunja" ]; - ensureUsers = [ - { name = "vikunja"; - ensureDBOwnership = true; - } - ]; - }; - services.nginx = { - enable = true; - virtualHosts."http://localhost" = { - locations."/".proxyPass = "http://localhost:9090"; - }; - }; - }; - }; - testScript = - '' + testScript = '' vikunjaSqlite.wait_for_unit("vikunja.service") vikunjaSqlite.wait_for_open_port(3456) vikunjaSqlite.succeed("curl --fail http://localhost:3456/api/v1/info") @@ -71,4 +77,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { vikunjaPostgresql.succeed("curl --fail http://localhost/api/v1/info") vikunjaPostgresql.succeed("curl --fail http://localhost") ''; -}) + } +) diff --git a/nixos/tests/vscode-remote-ssh.nix b/nixos/tests/vscode-remote-ssh.nix index 305f931d4df1b..3ceaba967fa69 100644 --- a/nixos/tests/vscode-remote-ssh.nix +++ b/nixos/tests/vscode-remote-ssh.nix @@ -1,132 +1,167 @@ -import ./make-test-python.nix ({ lib, ... }@args: let - pkgs = args.pkgs.extend (self: super: { - stdenv = super.stdenv.override { - config = super.config // { - allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "vscode" "vscode-with-extensions" "vscode-extension-ms-vscode-remote-remote-ssh" - ]; - }; - }; - }); - - inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - - inherit (pkgs.vscode.passthru) rev vscodeServer; -in { - name = "vscode-remote-ssh"; - - meta = { - maintainers = [ ]; - timeout = 600; - }; - - nodes = let - serverAddress = "192.168.0.2"; - clientAddress = "192.168.0.1"; - in { - server = { ... }: { - networking.interfaces.eth1.ipv4.addresses = [ { address = serverAddress; prefixLength = 24; } ]; - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - virtualisation.additionalPaths = with pkgs; [ patchelf bintools (lib.getLib stdenv.cc.cc) ]; - }; - client = { ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - networking.interfaces.eth1.ipv4.addresses = [ { address = clientAddress; prefixLength = 24; } ]; - networking.hosts.${serverAddress} = [ "server" ]; - test-support.displayManager.auto.user = "alice"; - environment.systemPackages = [ - (pkgs.vscode-with-extensions.override { - vscodeExtensions = [ - pkgs.vscode-extensions.ms-vscode-remote.remote-ssh - ]; - }) - ]; - }; - }; +import ./make-test-python.nix ( + { lib, ... }@args: + let + pkgs = args.pkgs.extend ( + self: super: { + stdenv = super.stdenv.override { + config = super.config // { + allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "vscode" + "vscode-with-extensions" + "vscode-extension-ms-vscode-remote-remote-ssh" + ]; + }; + }; + } + ); - enableOCR = true; + inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; - testScript = let - jq = "${pkgs.jq}/bin/jq"; + inherit (pkgs.vscode.passthru) rev vscodeServer; + in + { + name = "vscode-remote-ssh"; - sshConfig = builtins.toFile "ssh.conf" '' - UserKnownHostsFile=/dev/null - StrictHostKeyChecking=no - ''; + meta = { + maintainers = [ ]; + timeout = 600; + }; - vscodeConfig = builtins.toFile "settings.json" '' + nodes = + let + serverAddress = "192.168.0.2"; + clientAddress = "192.168.0.1"; + in { - "window.zoomLevel": 1, - "security.workspace.trust.startupPrompt": "always" - } - ''; - in '' - def connect_with_remote_ssh(screenshot, should_succeed): - print(f"connect_with_remote_ssh({screenshot=}, {should_succeed=})") - - if server.execute("test -d ~/.vscode-server")[0] == 0: - server.succeed("rm -r ~/.vscode-server") - - server.succeed("mkdir -p ~/.vscode-server/bin") - server.succeed("cp -r ${vscodeServer} ~/.vscode-server/bin/${rev}") - - client.succeed("sudo -u alice code --remote=ssh-remote+root@server /root") - client.wait_for_window("Visual Studio Code") - - if should_succeed: - ocr_text = "Do you trust" - else: - ocr_text = "Could not establish connection" - client.wait_for_text(ocr_text) - client.screenshot(screenshot) - - if should_succeed: - # Press the Don't Trust button - client.send_key("tab") - client.send_key("tab") - client.send_key("tab") - client.send_key("\n") - else: - # Close the error dialog - client.send_key("esc") - - # Don't send Ctrl-q too quickly otherwise it might not get sent to VS Code - client.sleep(1) - client.send_key("ctrl-q") - client.wait_until_fails("pidof code") - - - start_all() - server.wait_for_open_port(22) - - VSCODE_COMMIT = server.execute("${jq} -r .commit ${pkgs.vscode}/lib/vscode/resources/app/product.json")[1].rstrip() - SERVER_COMMIT = server.execute("${jq} -r .commit ${vscodeServer}/product.json")[1].rstrip() - - print(f"{VSCODE_COMMIT=} {SERVER_COMMIT=}") - assert VSCODE_COMMIT == SERVER_COMMIT, "VSCODE_COMMIT and SERVER_COMMIT do not match" - - client.wait_until_succeeds("ping -c1 server") - client.succeed("sudo -u alice mkdir ~alice/.ssh") - client.succeed("sudo -u alice install -Dm 600 ${snakeOilPrivateKey} ~alice/.ssh/id_ecdsa") - client.succeed("sudo -u alice install ${sshConfig} ~alice/.ssh/config") - client.succeed("sudo -u alice install -Dm 644 ${vscodeConfig} ~alice/.config/Code/User/settings.json") - - client.wait_for_x() - client.wait_for_file("~alice/.Xauthority") - client.succeed("xauth merge ~alice/.Xauthority") - # Move the mouse out of the way - client.succeed("${pkgs.xdotool}/bin/xdotool mousemove 0 0") - - with subtest("fails to connect when nixpkgs isn't available"): - server.fail("nix-build '<nixpkgs>' -A hello") - connect_with_remote_ssh(screenshot="no_node_installed", should_succeed=False) - server.succeed("test -e ~/.vscode-server/bin/${rev}/node") - server.fail("~/.vscode-server/bin/${rev}/node -v") - - with subtest("connects when server can patch Node"): - server.succeed("mkdir -p /nix/var/nix/profiles/per-user/root/channels") - server.succeed("ln -s ${pkgs.path} /nix/var/nix/profiles/per-user/root/channels/nixos") - connect_with_remote_ssh(screenshot="build_node_with_nix", should_succeed=True) - ''; -}) + server = + { ... }: + { + networking.interfaces.eth1.ipv4.addresses = [ + { + address = serverAddress; + prefixLength = 24; + } + ]; + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + virtualisation.additionalPaths = with pkgs; [ + patchelf + bintools + (lib.getLib stdenv.cc.cc) + ]; + }; + client = + { ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = clientAddress; + prefixLength = 24; + } + ]; + networking.hosts.${serverAddress} = [ "server" ]; + test-support.displayManager.auto.user = "alice"; + environment.systemPackages = [ + (pkgs.vscode-with-extensions.override { + vscodeExtensions = [ + pkgs.vscode-extensions.ms-vscode-remote.remote-ssh + ]; + }) + ]; + }; + }; + + enableOCR = true; + + testScript = + let + jq = "${pkgs.jq}/bin/jq"; + + sshConfig = builtins.toFile "ssh.conf" '' + UserKnownHostsFile=/dev/null + StrictHostKeyChecking=no + ''; + + vscodeConfig = builtins.toFile "settings.json" '' + { + "window.zoomLevel": 1, + "security.workspace.trust.startupPrompt": "always" + } + ''; + in + '' + def connect_with_remote_ssh(screenshot, should_succeed): + print(f"connect_with_remote_ssh({screenshot=}, {should_succeed=})") + + if server.execute("test -d ~/.vscode-server")[0] == 0: + server.succeed("rm -r ~/.vscode-server") + + server.succeed("mkdir -p ~/.vscode-server/bin") + server.succeed("cp -r ${vscodeServer} ~/.vscode-server/bin/${rev}") + + client.succeed("sudo -u alice code --remote=ssh-remote+root@server /root") + client.wait_for_window("Visual Studio Code") + + if should_succeed: + ocr_text = "Do you trust" + else: + ocr_text = "Could not establish connection" + client.wait_for_text(ocr_text) + client.screenshot(screenshot) + + if should_succeed: + # Press the Don't Trust button + client.send_key("tab") + client.send_key("tab") + client.send_key("tab") + client.send_key("\n") + else: + # Close the error dialog + client.send_key("esc") + + # Don't send Ctrl-q too quickly otherwise it might not get sent to VS Code + client.sleep(1) + client.send_key("ctrl-q") + client.wait_until_fails("pidof code") + + + start_all() + server.wait_for_open_port(22) + + VSCODE_COMMIT = server.execute("${jq} -r .commit ${pkgs.vscode}/lib/vscode/resources/app/product.json")[1].rstrip() + SERVER_COMMIT = server.execute("${jq} -r .commit ${vscodeServer}/product.json")[1].rstrip() + + print(f"{VSCODE_COMMIT=} {SERVER_COMMIT=}") + assert VSCODE_COMMIT == SERVER_COMMIT, "VSCODE_COMMIT and SERVER_COMMIT do not match" + + client.wait_until_succeeds("ping -c1 server") + client.succeed("sudo -u alice mkdir ~alice/.ssh") + client.succeed("sudo -u alice install -Dm 600 ${snakeOilPrivateKey} ~alice/.ssh/id_ecdsa") + client.succeed("sudo -u alice install ${sshConfig} ~alice/.ssh/config") + client.succeed("sudo -u alice install -Dm 644 ${vscodeConfig} ~alice/.config/Code/User/settings.json") + + client.wait_for_x() + client.wait_for_file("~alice/.Xauthority") + client.succeed("xauth merge ~alice/.Xauthority") + # Move the mouse out of the way + client.succeed("${pkgs.xdotool}/bin/xdotool mousemove 0 0") + + with subtest("fails to connect when nixpkgs isn't available"): + server.fail("nix-build '<nixpkgs>' -A hello") + connect_with_remote_ssh(screenshot="no_node_installed", should_succeed=False) + server.succeed("test -e ~/.vscode-server/bin/${rev}/node") + server.fail("~/.vscode-server/bin/${rev}/node -v") + + with subtest("connects when server can patch Node"): + server.succeed("mkdir -p /nix/var/nix/profiles/per-user/root/channels") + server.succeed("ln -s ${pkgs.path} /nix/var/nix/profiles/per-user/root/channels/nixos") + connect_with_remote_ssh(screenshot="build_node_with_nix", should_succeed=True) + ''; + } +) diff --git a/nixos/tests/vscodium.nix b/nixos/tests/vscodium.nix index b3512ec66107c..8600ccb814364 100644 --- a/nixos/tests/vscodium.nix +++ b/nixos/tests/vscodium.nix @@ -1,80 +1,96 @@ let tests = { - wayland = { pkgs, ... }: { - imports = [ ./common/wayland-cage.nix ]; - - # We scale vscodium to help OCR find the small "Untitled" text. - services.cage.program = "${pkgs.vscodium}/bin/codium --force-device-scale-factor=2"; - - environment.variables.NIXOS_OZONE_WL = "1"; - environment.variables.DISPLAY = "do not use"; - - fonts.packages = with pkgs; [ dejavu_fonts ]; - }; - xorg = { pkgs, ... }: { - imports = [ ./common/user-account.nix ./common/x11.nix ]; - - virtualisation.memorySize = 2047; - services.xserver.enable = true; - services.xserver.displayManager.sessionCommands = '' - ${pkgs.vscodium}/bin/codium --force-device-scale-factor=2 - ''; - test-support.displayManager.auto.user = "alice"; - }; - }; + wayland = + { pkgs, ... }: + { + imports = [ ./common/wayland-cage.nix ]; - mkTest = name: machine: - import ./make-test-python.nix ({ pkgs, ... }: { - inherit name; + # We scale vscodium to help OCR find the small "Untitled" text. + services.cage.program = "${pkgs.vscodium}/bin/codium --force-device-scale-factor=2"; - nodes = { "${name}" = machine; }; + environment.variables.NIXOS_OZONE_WL = "1"; + environment.variables.DISPLAY = "do not use"; - meta = with pkgs.lib.maintainers; { - maintainers = [ synthetica turion ]; + fonts.packages = with pkgs; [ dejavu_fonts ]; }; - enableOCR = true; - - testScript = '' - @polling_condition - def codium_running(): - machine.succeed('pgrep -x codium') - - - start_all() - - machine.wait_for_unit('graphical.target') - - codium_running.wait() # type: ignore[union-attr] - with codium_running: # type: ignore[union-attr] - # Wait until vscodium is visible. "File" is in the menu bar. - machine.wait_for_text('Get Started with') - machine.screenshot('start_screen') - - test_string = 'testfile' - - # Create a new file - machine.send_key('ctrl-n') - machine.wait_for_text('Untitled') - machine.screenshot('empty_editor') - - # Type a string - machine.send_chars(test_string) - machine.wait_for_text(test_string) - machine.screenshot('editor') - - # Save the file - machine.send_key('ctrl-s') - machine.wait_for_text('(Save|Desktop|alice|Size)') - machine.screenshot('save_window') - machine.send_key('ret') - - # (the default filename is the first line of the file) - machine.wait_for_file(f'/home/alice/{test_string}') + xorg = + { pkgs, ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + virtualisation.memorySize = 2047; + services.xserver.enable = true; + services.xserver.displayManager.sessionCommands = '' + ${pkgs.vscodium}/bin/codium --force-device-scale-factor=2 + ''; + test-support.displayManager.auto.user = "alice"; + }; + }; - # machine.send_key('ctrl-q') - # machine.wait_until_fails('pgrep -x codium') - ''; - }); + mkTest = + name: machine: + import ./make-test-python.nix ( + { pkgs, ... }: + { + inherit name; + + nodes = { + "${name}" = machine; + }; + + meta = with pkgs.lib.maintainers; { + maintainers = [ + synthetica + turion + ]; + }; + enableOCR = true; + + testScript = '' + @polling_condition + def codium_running(): + machine.succeed('pgrep -x codium') + + + start_all() + + machine.wait_for_unit('graphical.target') + + codium_running.wait() # type: ignore[union-attr] + with codium_running: # type: ignore[union-attr] + # Wait until vscodium is visible. "File" is in the menu bar. + machine.wait_for_text('Get Started with') + machine.screenshot('start_screen') + + test_string = 'testfile' + + # Create a new file + machine.send_key('ctrl-n') + machine.wait_for_text('Untitled') + machine.screenshot('empty_editor') + + # Type a string + machine.send_chars(test_string) + machine.wait_for_text(test_string) + machine.screenshot('editor') + + # Save the file + machine.send_key('ctrl-s') + machine.wait_for_text('(Save|Desktop|alice|Size)') + machine.screenshot('save_window') + machine.send_key('ret') + + # (the default filename is the first line of the file) + machine.wait_for_file(f'/home/alice/{test_string}') + + # machine.send_key('ctrl-q') + # machine.wait_until_fails('pgrep -x codium') + ''; + } + ); in builtins.mapAttrs (k: v: mkTest k v) tests diff --git a/nixos/tests/vsftpd.nix b/nixos/tests/vsftpd.nix index 6eaf32b225838..816014a10b54f 100644 --- a/nixos/tests/vsftpd.nix +++ b/nixos/tests/vsftpd.nix @@ -1,42 +1,45 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "vsftpd"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "vsftpd"; - nodes = { - server = { - services.vsftpd = { - enable = true; - userlistDeny = false; - localUsers = true; - userlist = [ "ftp-test-user" ]; - writeEnable = true; - localRoot = "/tmp"; - }; - networking.firewall.enable = false; + nodes = { + server = { + services.vsftpd = { + enable = true; + userlistDeny = false; + localUsers = true; + userlist = [ "ftp-test-user" ]; + writeEnable = true; + localRoot = "/tmp"; + }; + networking.firewall.enable = false; - users = { - users.ftp-test-user = { - isSystemUser = true; - password = "ftp-test-password"; - group = "ftp-test-group"; + users = { + users.ftp-test-user = { + isSystemUser = true; + password = "ftp-test-password"; + group = "ftp-test-group"; + }; + groups.ftp-test-group = { }; }; - groups.ftp-test-group = {}; }; - }; - client = {}; - }; + client = { }; + }; - testScript = '' - client.start() - server.wait_for_unit("vsftpd") - server.wait_for_open_port(21) + testScript = '' + client.start() + server.wait_for_unit("vsftpd") + server.wait_for_open_port(21) - client.succeed("curl -u ftp-test-user:ftp-test-password ftp://server") - client.succeed('echo "this is a test" > /tmp/test.file.up') - client.succeed("curl -v -T /tmp/test.file.up -u ftp-test-user:ftp-test-password ftp://server") - client.succeed("curl -u ftp-test-user:ftp-test-password ftp://server/test.file.up > /tmp/test.file.down") - client.succeed("diff /tmp/test.file.up /tmp/test.file.down") - assert client.succeed("cat /tmp/test.file.up") == server.succeed("cat /tmp/test.file.up") - assert client.succeed("cat /tmp/test.file.down") == server.succeed("cat /tmp/test.file.up") - ''; -}) + client.succeed("curl -u ftp-test-user:ftp-test-password ftp://server") + client.succeed('echo "this is a test" > /tmp/test.file.up') + client.succeed("curl -v -T /tmp/test.file.up -u ftp-test-user:ftp-test-password ftp://server") + client.succeed("curl -u ftp-test-user:ftp-test-password ftp://server/test.file.up > /tmp/test.file.down") + client.succeed("diff /tmp/test.file.up /tmp/test.file.down") + assert client.succeed("cat /tmp/test.file.up") == server.succeed("cat /tmp/test.file.up") + assert client.succeed("cat /tmp/test.file.down") == server.succeed("cat /tmp/test.file.up") + ''; + } +) diff --git a/nixos/tests/warzone2100.nix b/nixos/tests/warzone2100.nix index 568e04a46999d..4e9572a12c737 100644 --- a/nixos/tests/warzone2100.nix +++ b/nixos/tests/warzone2100.nix @@ -1,26 +1,30 @@ -import ./make-test-python.nix ({ pkgs, ... }: { - name = "warzone2100"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "warzone2100"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; + }; - nodes.machine = { config, pkgs, ... }: { - imports = [ - ./common/x11.nix - ]; + nodes.machine = + { config, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ]; - services.xserver.enable = true; - environment.systemPackages = [ pkgs.warzone2100 ]; - }; + services.xserver.enable = true; + environment.systemPackages = [ pkgs.warzone2100 ]; + }; - enableOCR = true; + enableOCR = true; - testScript = - '' + testScript = '' machine.wait_for_x() machine.execute("warzone2100 >&2 &") machine.wait_for_window("Warzone 2100") machine.wait_for_text(r"(Single Player|Multi Player|Tutorial|Options|Quit Game)") machine.screenshot("screen") ''; -}) + } +) diff --git a/nixos/tests/wastebin.nix b/nixos/tests/wastebin.nix index 1cf0ff80ae99d..dde1f658b948f 100644 --- a/nixos/tests/wastebin.nix +++ b/nixos/tests/wastebin.nix @@ -1,19 +1,24 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "wastebin"; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "wastebin"; - meta = { - maintainers = with lib.maintainers; [ pinpox ]; - }; - - nodes.machine = { pkgs, ... }: { - services.wastebin = { - enable = true; + meta = { + maintainers = with lib.maintainers; [ pinpox ]; }; - }; - testScript = '' - machine.wait_for_unit("wastebin.service") - machine.wait_for_open_port(8088) - machine.succeed("curl --fail http://localhost:8088/") - ''; -}) + nodes.machine = + { pkgs, ... }: + { + services.wastebin = { + enable = true; + }; + }; + + testScript = '' + machine.wait_for_unit("wastebin.service") + machine.wait_for_open_port(8088) + machine.succeed("curl --fail http://localhost:8088/") + ''; + } +) diff --git a/nixos/tests/watchdogd.nix b/nixos/tests/watchdogd.nix index 663e97cbae104..711cdee65f8e8 100644 --- a/nixos/tests/watchdogd.nix +++ b/nixos/tests/watchdogd.nix @@ -1,22 +1,27 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "watchdogd"; - meta.maintainers = with lib.maintainers; [ vifino ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "watchdogd"; + meta.maintainers = with lib.maintainers; [ vifino ]; - nodes.machine = { pkgs, ... }: { - virtualisation.qemu.options = [ - "-device i6300esb" # virtual watchdog timer - ]; - boot.kernelModules = [ "i6300esb" ]; - services.watchdogd.enable = true; - services.watchdogd.settings = { - supervisor.enabled = true; - }; - }; + nodes.machine = + { pkgs, ... }: + { + virtualisation.qemu.options = [ + "-device i6300esb" # virtual watchdog timer + ]; + boot.kernelModules = [ "i6300esb" ]; + services.watchdogd.enable = true; + services.watchdogd.settings = { + supervisor.enabled = true; + }; + }; - testScript = '' - machine.wait_for_unit("watchdogd.service") + testScript = '' + machine.wait_for_unit("watchdogd.service") - assert "i6300ESB" in machine.succeed("watchdogctl status") - machine.succeed("watchdogctl test") - ''; -}) + assert "i6300ESB" in machine.succeed("watchdogctl status") + machine.succeed("watchdogctl test") + ''; + } +) diff --git a/nixos/tests/web-apps/gotosocial.nix b/nixos/tests/web-apps/gotosocial.nix index 49e8400533bc7..7edb04ac9df98 100644 --- a/nixos/tests/web-apps/gotosocial.nix +++ b/nixos/tests/web-apps/gotosocial.nix @@ -3,17 +3,19 @@ name = "gotosocial"; meta.maintainers = with lib.maintainers; [ blakesmith ]; - nodes.machine = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - services.gotosocial = { - enable = true; - setupPostgresqlDB = true; - settings = { - host = "localhost:8081"; - port = 8081; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + services.gotosocial = { + enable = true; + setupPostgresqlDB = true; + settings = { + host = "localhost:8081"; + port = 8081; + }; }; }; - }; testScript = '' machine.wait_for_unit("gotosocial.service") diff --git a/nixos/tests/web-apps/healthchecks.nix b/nixos/tests/web-apps/healthchecks.nix index cb81c8b736516..1c6755ec922ce 100644 --- a/nixos/tests/web-apps/healthchecks.nix +++ b/nixos/tests/web-apps/healthchecks.nix @@ -1,42 +1,46 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: { - name = "healthchecks"; +import ../make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "healthchecks"; - meta = with lib.maintainers; { - maintainers = [ phaer ]; - }; + meta = with lib.maintainers; { + maintainers = [ phaer ]; + }; - nodes.machine = { ... }: { - services.healthchecks = { - enable = true; - settings = { - SITE_NAME = "MyUniqueInstance"; - COMPRESS_ENABLED = "True"; - SECRET_KEY_FILE = pkgs.writeText "secret" - "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + nodes.machine = + { ... }: + { + services.healthchecks = { + enable = true; + settings = { + SITE_NAME = "MyUniqueInstance"; + COMPRESS_ENABLED = "True"; + SECRET_KEY_FILE = pkgs.writeText "secret" "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + }; + }; }; - }; - }; - testScript = '' - machine.start() - machine.wait_for_unit("healthchecks.target") - machine.wait_until_succeeds("journalctl --since -1m --unit healthchecks --grep Listening") + testScript = '' + machine.start() + machine.wait_for_unit("healthchecks.target") + machine.wait_until_succeeds("journalctl --since -1m --unit healthchecks --grep Listening") - with subtest("Home screen loads"): - machine.succeed( - "curl -sSfL http://localhost:8000 | grep '<title>Log In'" - ) + with subtest("Home screen loads"): + machine.succeed( + "curl -sSfL http://localhost:8000 | grep '<title>Log In'" + ) - with subtest("Setting SITE_NAME via freeform option works"): - machine.succeed( - "curl -sSfL http://localhost:8000 | grep 'MyUniqueInstance'" - ) + with subtest("Setting SITE_NAME via freeform option works"): + machine.succeed( + "curl -sSfL http://localhost:8000 | grep 'MyUniqueInstance'" + ) - with subtest("Manage script works"): - # "shell" sucommand should succeed, needs python in PATH. - assert "foo\n" == machine.succeed("echo 'print(\"foo\")' | sudo -u healthchecks healthchecks-manage shell") + with subtest("Manage script works"): + # "shell" sucommand should succeed, needs python in PATH. + assert "foo\n" == machine.succeed("echo 'print(\"foo\")' | sudo -u healthchecks healthchecks-manage shell") - # Shouldn't fail if not called by healthchecks user - assert "foo\n" == machine.succeed("echo 'print(\"foo\")' | healthchecks-manage shell") - ''; -}) + # Shouldn't fail if not called by healthchecks user + assert "foo\n" == machine.succeed("echo 'print(\"foo\")' | healthchecks-manage shell") + ''; + } +) diff --git a/nixos/tests/web-apps/mastodon/default.nix b/nixos/tests/web-apps/mastodon/default.nix index 7f925b9ad4ed2..b563b8cde9781 100644 --- a/nixos/tests/web-apps/mastodon/default.nix +++ b/nixos/tests/web-apps/mastodon/default.nix @@ -1,6 +1,15 @@ -{ system ? builtins.currentSystem, pkgs, handleTestOn, ... }: +{ + system ? builtins.currentSystem, + pkgs, + handleTestOn, + ... +}: let - supportedSystems = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; + supportedSystems = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + ]; in { diff --git a/nixos/tests/web-apps/mastodon/remote-databases.nix b/nixos/tests/web-apps/mastodon/remote-databases.nix index 8dc754fe9eb09..24709fe0df07f 100644 --- a/nixos/tests/web-apps/mastodon/remote-databases.nix +++ b/nixos/tests/web-apps/mastodon/remote-databases.nix @@ -1,190 +1,220 @@ -import ../../make-test-python.nix ({pkgs, ...}: -let - cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; - - hosts = '' - 192.168.2.103 mastodon.local - ''; - - postgresqlPassword = "thisisnotasecret"; - redisPassword = "thisisnotasecrettoo"; - -in -{ - name = "mastodon-remote-postgresql"; - meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin ]; - - nodes = { - databases = { config, ... }: { - environment = { - etc = { - "redis/password-redis-db".text = redisPassword; - }; - }; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.102"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - firewall.allowedTCPPorts = [ - config.services.redis.servers.mastodon.port - config.services.postgresql.settings.port - ]; - }; - - services.redis.servers.mastodon = { - enable = true; - bind = "0.0.0.0"; - port = 31637; - requirePassFile = "/etc/redis/password-redis-db"; - }; - - services.postgresql = { - enable = true; - enableTCPIP = true; - authentication = '' - hostnossl mastodon mastodon 192.168.2.201/32 md5 - ''; - ensureDatabases = [ "mastodon" ]; - ensureUsers = [ - { - name = "mastodon"; - ensureDBOwnership = true; - } - ]; - initialScript = pkgs.writeText "postgresql_init.sql" '' - CREATE ROLE mastodon LOGIN PASSWORD '${postgresqlPassword}'; - ''; - }; - }; +import ../../make-test-python.nix ( + { pkgs, ... }: + let + cert = + pkgs: + pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; + + hosts = '' + 192.168.2.103 mastodon.local + ''; - nginx = { nodes, ... }: { - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.103"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - firewall.allowedTCPPorts = [ 80 443 ]; - }; - - security = { - pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - }; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - virtualHosts."mastodon.local" = { - root = "/var/empty"; - forceSSL = true; - enableACME = pkgs.lib.mkForce false; - sslCertificate = "${cert pkgs}/cert.pem"; - sslCertificateKey = "${cert pkgs}/key.pem"; - locations."/" = { - tryFiles = "$uri @proxy"; + postgresqlPassword = "thisisnotasecret"; + redisPassword = "thisisnotasecrettoo"; + + in + { + name = "mastodon-remote-postgresql"; + meta.maintainers = with pkgs.lib.maintainers; [ + erictapen + izorkin + ]; + + nodes = { + databases = + { config, ... }: + { + environment = { + etc = { + "redis/password-redis-db".text = redisPassword; + }; }; - locations."@proxy" = { - proxyPass = "http://192.168.2.201:${toString nodes.server.services.mastodon.webPort}"; - proxyWebsockets = true; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.102"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + firewall.allowedTCPPorts = [ + config.services.redis.servers.mastodon.port + config.services.postgresql.settings.port + ]; }; - }; - }; - }; - server = { config, pkgs, ... }: { - virtualisation.memorySize = 2048; + services.redis.servers.mastodon = { + enable = true; + bind = "0.0.0.0"; + port = 31637; + requirePassFile = "/etc/redis/password-redis-db"; + }; - environment = { - etc = { - "mastodon/password-redis-db".text = redisPassword; - "mastodon/password-posgressql-db".text = postgresqlPassword; + services.postgresql = { + enable = true; + enableTCPIP = true; + authentication = '' + hostnossl mastodon mastodon 192.168.2.201/32 md5 + ''; + ensureDatabases = [ "mastodon" ]; + ensureUsers = [ + { + name = "mastodon"; + ensureDBOwnership = true; + } + ]; + initialScript = pkgs.writeText "postgresql_init.sql" '' + CREATE ROLE mastodon LOGIN PASSWORD '${postgresqlPassword}'; + ''; + }; }; - }; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.201"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - firewall.allowedTCPPorts = [ - config.services.mastodon.webPort - config.services.mastodon.sidekiqPort - ]; - }; - - services.mastodon = { - enable = true; - configureNginx = false; - localDomain = "mastodon.local"; - enableUnixSocket = false; - streamingProcesses = 2; - redis = { - createLocally = false; - host = "192.168.2.102"; - port = 31637; - passwordFile = "/etc/mastodon/password-redis-db"; - }; - database = { - createLocally = false; - host = "192.168.2.102"; - port = 5432; - name = "mastodon"; - user = "mastodon"; - passwordFile = "/etc/mastodon/password-posgressql-db"; - }; - smtp = { - createLocally = false; - fromAddress = "mastodon@mastodon.local"; + nginx = + { nodes, ... }: + { + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.103"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + firewall.allowedTCPPorts = [ + 80 + 443 + ]; + }; + + security = { + pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + }; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts."mastodon.local" = { + root = "/var/empty"; + forceSSL = true; + enableACME = pkgs.lib.mkForce false; + sslCertificate = "${cert pkgs}/cert.pem"; + sslCertificateKey = "${cert pkgs}/key.pem"; + locations."/" = { + tryFiles = "$uri @proxy"; + }; + locations."@proxy" = { + proxyPass = "http://192.168.2.201:${toString nodes.server.services.mastodon.webPort}"; + proxyWebsockets = true; + }; + }; + }; }; - extraConfig = { - BIND = "0.0.0.0"; - EMAIL_DOMAIN_ALLOWLIST = "example.com"; - RAILS_SERVE_STATIC_FILES = "true"; - TRUSTED_PROXY_IP = "192.168.2.103"; + + server = + { config, pkgs, ... }: + { + virtualisation.memorySize = 2048; + + environment = { + etc = { + "mastodon/password-redis-db".text = redisPassword; + "mastodon/password-posgressql-db".text = postgresqlPassword; + }; + }; + + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.201"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + firewall.allowedTCPPorts = [ + config.services.mastodon.webPort + config.services.mastodon.sidekiqPort + ]; + }; + + services.mastodon = { + enable = true; + configureNginx = false; + localDomain = "mastodon.local"; + enableUnixSocket = false; + streamingProcesses = 2; + redis = { + createLocally = false; + host = "192.168.2.102"; + port = 31637; + passwordFile = "/etc/mastodon/password-redis-db"; + }; + database = { + createLocally = false; + host = "192.168.2.102"; + port = 5432; + name = "mastodon"; + user = "mastodon"; + passwordFile = "/etc/mastodon/password-posgressql-db"; + }; + smtp = { + createLocally = false; + fromAddress = "mastodon@mastodon.local"; + }; + extraConfig = { + BIND = "0.0.0.0"; + EMAIL_DOMAIN_ALLOWLIST = "example.com"; + RAILS_SERVE_STATIC_FILES = "true"; + TRUSTED_PROXY_IP = "192.168.2.103"; + }; + }; }; - }; - }; - client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.202"; prefixLength = 24; } - ]; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.202"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + }; + + security = { + pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + }; }; - extraHosts = hosts; - }; + }; - security = { - pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - }; + testScript = import ./script.nix { + inherit pkgs; + extraInit = '' + nginx.wait_for_unit("nginx.service") + nginx.wait_for_open_port(443) + databases.wait_for_unit("redis-mastodon.service") + databases.wait_for_unit("postgresql.service") + databases.wait_for_open_port(31637) + databases.wait_for_open_port(5432) + ''; + extraShutdown = '' + nginx.shutdown() + databases.shutdown() + ''; }; - }; - - testScript = import ./script.nix { - inherit pkgs; - extraInit = '' - nginx.wait_for_unit("nginx.service") - nginx.wait_for_open_port(443) - databases.wait_for_unit("redis-mastodon.service") - databases.wait_for_unit("postgresql.service") - databases.wait_for_open_port(31637) - databases.wait_for_open_port(5432) - ''; - extraShutdown = '' - nginx.shutdown() - databases.shutdown() - ''; - }; -}) + } +) diff --git a/nixos/tests/web-apps/mastodon/script.nix b/nixos/tests/web-apps/mastodon/script.nix index 9184c63c89419..be6cbc87ae9bc 100644 --- a/nixos/tests/web-apps/mastodon/script.nix +++ b/nixos/tests/web-apps/mastodon/script.nix @@ -1,6 +1,7 @@ -{ pkgs -, extraInit ? "" -, extraShutdown ? "" +{ + pkgs, + extraInit ? "", + extraShutdown ? "", }: '' diff --git a/nixos/tests/web-apps/mastodon/standard.nix b/nixos/tests/web-apps/mastodon/standard.nix index cd720ce9f2bfc..3437900741a96 100644 --- a/nixos/tests/web-apps/mastodon/standard.nix +++ b/nixos/tests/web-apps/mastodon/standard.nix @@ -1,88 +1,109 @@ -import ../../make-test-python.nix ({pkgs, ...}: -let - cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; +import ../../make-test-python.nix ( + { pkgs, ... }: + let + cert = + pkgs: + pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=mastodon.local' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; - hosts = '' - 192.168.2.101 mastodon.local - ''; + hosts = '' + 192.168.2.101 mastodon.local + ''; -in -{ - name = "mastodon-standard"; - meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin turion ]; + in + { + name = "mastodon-standard"; + meta.maintainers = with pkgs.lib.maintainers; [ + erictapen + izorkin + turion + ]; - nodes = { - server = { pkgs, ... }: { + nodes = { + server = + { pkgs, ... }: + { - virtualisation.memorySize = 2048; + virtualisation.memorySize = 2048; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.101"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - firewall.allowedTCPPorts = [ 80 443 ]; - }; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.101"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + firewall.allowedTCPPorts = [ + 80 + 443 + ]; + }; - security = { - pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - }; + security = { + pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + }; - services.mastodon = { - enable = true; - configureNginx = true; - localDomain = "mastodon.local"; - enableUnixSocket = false; - streamingProcesses = 2; - smtp = { - createLocally = false; - fromAddress = "mastodon@mastodon.local"; - }; - extraConfig = { - EMAIL_DOMAIN_ALLOWLIST = "example.com"; - }; - }; + services.mastodon = { + enable = true; + configureNginx = true; + localDomain = "mastodon.local"; + enableUnixSocket = false; + streamingProcesses = 2; + smtp = { + createLocally = false; + fromAddress = "mastodon@mastodon.local"; + }; + extraConfig = { + EMAIL_DOMAIN_ALLOWLIST = "example.com"; + }; + }; - services.nginx = { - virtualHosts."mastodon.local" = { - enableACME = pkgs.lib.mkForce false; - sslCertificate = "${cert pkgs}/cert.pem"; - sslCertificateKey = "${cert pkgs}/key.pem"; + services.nginx = { + virtualHosts."mastodon.local" = { + enableACME = pkgs.lib.mkForce false; + sslCertificate = "${cert pkgs}/cert.pem"; + sslCertificateKey = "${cert pkgs}/key.pem"; + }; + }; }; - }; - }; - client = { pkgs, ... }: { - environment.systemPackages = [ pkgs.jq ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.102"; prefixLength = 24; } - ]; - }; - extraHosts = hosts; - }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.102"; + prefixLength = 24; + } + ]; + }; + extraHosts = hosts; + }; - security = { - pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - }; + security = { + pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + }; + }; }; - }; - testScript = import ./script.nix { - inherit pkgs; - extraInit = '' - server.wait_for_unit("nginx.service") - server.wait_for_open_port(443) - server.wait_for_unit("redis-mastodon.service") - server.wait_for_unit("postgresql.service") - server.wait_for_open_port(5432) - ''; - }; -}) + testScript = import ./script.nix { + inherit pkgs; + extraInit = '' + server.wait_for_unit("nginx.service") + server.wait_for_open_port(443) + server.wait_for_unit("redis-mastodon.service") + server.wait_for_unit("postgresql.service") + server.wait_for_open_port(5432) + ''; + }; + } +) diff --git a/nixos/tests/web-apps/monica.nix b/nixos/tests/web-apps/monica.nix index 29f5cb85bb13a..bb770828d5f79 100644 --- a/nixos/tests/web-apps/monica.nix +++ b/nixos/tests/web-apps/monica.nix @@ -1,33 +1,37 @@ -import ../make-test-python.nix ({pkgs, ...}: -let - cert = pkgs.runCommand "selfSignedCerts" { nativeBuildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=localhost' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; -in -{ - name = "monica"; +import ../make-test-python.nix ( + { pkgs, ... }: + let + cert = pkgs.runCommand "selfSignedCerts" { nativeBuildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=localhost' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; + in + { + name = "monica"; - nodes = { - machine = {pkgs, ...}: { - services.monica = { - enable = true; - hostname = "localhost"; - appKeyFile = "${pkgs.writeText "keyfile" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}"; - nginx = { - forceSSL = true; - sslCertificate = "${cert}/cert.pem"; - sslCertificateKey = "${cert}/key.pem"; + nodes = { + machine = + { pkgs, ... }: + { + services.monica = { + enable = true; + hostname = "localhost"; + appKeyFile = "${pkgs.writeText "keyfile" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}"; + nginx = { + forceSSL = true; + sslCertificate = "${cert}/cert.pem"; + sslCertificateKey = "${cert}/key.pem"; + }; + }; }; - }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("monica-setup.service") - machine.wait_for_open_port(443) - machine.succeed("curl -k --fail https://localhost", timeout=10) - ''; -}) + testScript = '' + start_all() + machine.wait_for_unit("monica-setup.service") + machine.wait_for_open_port(443) + machine.succeed("curl -k --fail https://localhost", timeout=10) + ''; + } +) diff --git a/nixos/tests/web-apps/movim/default.nix b/nixos/tests/web-apps/movim/default.nix index 5d6314e2b41be..8274a390990ea 100644 --- a/nixos/tests/web-apps/movim/default.nix +++ b/nixos/tests/web-apps/movim/default.nix @@ -1,7 +1,13 @@ -{ system ? builtins.currentSystem, handleTestOn }: +{ + system ? builtins.currentSystem, + handleTestOn, +}: let - supportedSystems = [ "x86_64-linux" "i686-linux" ]; + supportedSystems = [ + "x86_64-linux" + "i686-linux" + ]; in { standard = handleTestOn supportedSystems ./standard.nix { inherit system; }; diff --git a/nixos/tests/web-apps/movim/standard.nix b/nixos/tests/web-apps/movim/standard.nix index 470d81d8f7229..1207000b922b4 100644 --- a/nixos/tests/web-apps/movim/standard.nix +++ b/nixos/tests/web-apps/movim/standard.nix @@ -1,102 +1,110 @@ -import ../../make-test-python.nix ({ lib, pkgs, ... }: +import ../../make-test-python.nix ( + { lib, pkgs, ... }: -let - movim = { - domain = "movim.local"; - info = "No ToS in tests"; - description = "NixOS testing server"; - }; - xmpp = { - domain = "xmpp.local"; - admin = rec { - JID = "${username}@${xmpp.domain}"; - username = "romeo"; - password = "juliet"; + let + movim = { + domain = "movim.local"; + info = "No ToS in tests"; + description = "NixOS testing server"; }; - }; -in -{ - name = "movim-standard"; + xmpp = { + domain = "xmpp.local"; + admin = rec { + JID = "${username}@${xmpp.domain}"; + username = "romeo"; + password = "juliet"; + }; + }; + in + { + name = "movim-standard"; - meta = { - maintainers = with pkgs.lib.maintainers; [ toastal ]; - }; + meta = { + maintainers = with pkgs.lib.maintainers; [ toastal ]; + }; - nodes = { - server = { pkgs, ... }: { - services.movim = { - inherit (movim) domain; - enable = true; - verbose = true; - podConfig = { - inherit (movim) description info; - xmppdomain = xmpp.domain; - }; - nginx = { }; - }; + nodes = { + server = + { pkgs, ... }: + { + services.movim = { + inherit (movim) domain; + enable = true; + verbose = true; + podConfig = { + inherit (movim) description info; + xmppdomain = xmpp.domain; + }; + nginx = { }; + }; - services.prosody = { - enable = true; - xmppComplianceSuite = false; - disco_items = [ - { url = "upload.${xmpp.domain}"; description = "File Uploads"; } - ]; - virtualHosts."${xmpp.domain}" = { - inherit (xmpp) domain; - enabled = true; - extraConfig = '' - Component "pubsub.${xmpp.domain}" "pubsub" - pubsub_max_items = 10000 - expose_publisher = true + services.prosody = { + enable = true; + xmppComplianceSuite = false; + disco_items = [ + { + url = "upload.${xmpp.domain}"; + description = "File Uploads"; + } + ]; + virtualHosts."${xmpp.domain}" = { + inherit (xmpp) domain; + enabled = true; + extraConfig = '' + Component "pubsub.${xmpp.domain}" "pubsub" + pubsub_max_items = 10000 + expose_publisher = true - Component "upload.${xmpp.domain}" "http_file_share" - http_external_url = "http://upload.${xmpp.domain}" - http_file_share_expires_after = 300 * 24 * 60 * 60 - http_file_share_size_limit = 1024 * 1024 * 1024 - http_file_share_daily_quota = 4 * 1024 * 1024 * 1024 - ''; - }; - extraConfig = '' - pep_max_items = 10000 + Component "upload.${xmpp.domain}" "http_file_share" + http_external_url = "http://upload.${xmpp.domain}" + http_file_share_expires_after = 300 * 24 * 60 * 60 + http_file_share_size_limit = 1024 * 1024 * 1024 + http_file_share_daily_quota = 4 * 1024 * 1024 * 1024 + ''; + }; + extraConfig = '' + pep_max_items = 10000 - http_paths = { - file_share = "/"; - } - ''; - }; + http_paths = { + file_share = "/"; + } + ''; + }; - networking.extraHosts = '' - 127.0.0.1 ${movim.domain} - 127.0.0.1 ${xmpp.domain} - ''; + networking.extraHosts = '' + 127.0.0.1 ${movim.domain} + 127.0.0.1 ${xmpp.domain} + ''; + }; }; - }; - testScript = /* python */ '' - server.wait_for_unit("phpfpm-movim.service") - server.wait_for_unit("nginx.service") - server.wait_for_open_port(80) + testScript = # python + '' + server.wait_for_unit("phpfpm-movim.service") + server.wait_for_unit("nginx.service") + server.wait_for_open_port(80) - server.wait_for_unit("prosody.service") - server.succeed('prosodyctl status | grep "Prosody is running"') - server.succeed("prosodyctl register ${xmpp.admin.username} ${xmpp.domain} ${xmpp.admin.password}") + server.wait_for_unit("prosody.service") + server.succeed('prosodyctl status | grep "Prosody is running"') + server.succeed("prosodyctl register ${xmpp.admin.username} ${xmpp.domain} ${xmpp.admin.password}") - server.wait_for_unit("movim.service") + server.wait_for_unit("movim.service") - # Test unauthenticated - server.fail("curl -L --fail-with-body --max-redirs 0 http://${movim.domain}/chat") + # Test unauthenticated + server.fail("curl -L --fail-with-body --max-redirs 0 http://${movim.domain}/chat") - # Test basic Websocket - server.succeed("echo \"\" | ${lib.getExe pkgs.websocat} 'ws://${movim.domain}/ws/?path=login&offset=0' --origin 'http://${movim.domain}'") + # Test basic Websocket + server.succeed("echo \"\" | ${lib.getExe pkgs.websocat} 'ws://${movim.domain}/ws/?path=login&offset=0' --origin 'http://${movim.domain}'") - # Test login + create cookiejar - login_html = server.succeed("curl --fail-with-body -c /tmp/cookies http://${movim.domain}/login") - assert "${movim.description}" in login_html - assert "${movim.info}" in login_html + # Test login + create cookiejar + login_html = server.succeed("curl --fail-with-body -c /tmp/cookies http://${movim.domain}/login") + assert "${movim.description}" in login_html + assert "${movim.info}" in login_html - # Test authentication POST - server.succeed("curl --fail-with-body -b /tmp/cookies -X POST --data-urlencode 'username=${xmpp.admin.JID}' --data-urlencode 'password=${xmpp.admin.password}' http://${movim.domain}/login") + # Test authentication POST + server.succeed("curl --fail-with-body -b /tmp/cookies -X POST --data-urlencode 'username=${xmpp.admin.JID}' --data-urlencode 'password=${xmpp.admin.password}' http://${movim.domain}/login") - server.succeed("curl -L --fail-with-body --max-redirs 1 -b /tmp/cookies http://${movim.domain}/chat") - ''; -}) + server.succeed("curl -L --fail-with-body --max-redirs 1 -b /tmp/cookies http://${movim.domain}/chat") + ''; + } +) diff --git a/nixos/tests/web-apps/netbox-upgrade.nix b/nixos/tests/web-apps/netbox-upgrade.nix index b43313bc8a774..cc044b76f0b37 100644 --- a/nixos/tests/web-apps/netbox-upgrade.nix +++ b/nixos/tests/web-apps/netbox-upgrade.nix @@ -1,89 +1,101 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: let - oldNetbox = pkgs.netbox_3_7; - newNetbox = pkgs.netbox_4_1; -in { - name = "netbox-upgrade"; +import ../make-test-python.nix ( + { lib, pkgs, ... }: + let + oldNetbox = pkgs.netbox_3_7; + newNetbox = pkgs.netbox_4_1; + in + { + name = "netbox-upgrade"; - meta = with lib.maintainers; { - maintainers = [ minijackson raitobezarius ]; - }; - - nodes.machine = { config, ... }: { - virtualisation.memorySize = 2048; - services.netbox = { - enable = true; - package = oldNetbox; - secretKeyFile = pkgs.writeText "secret" '' - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 - ''; + meta = with lib.maintainers; { + maintainers = [ + minijackson + raitobezarius + ]; }; - services.nginx = { - enable = true; + nodes.machine = + { config, ... }: + { + virtualisation.memorySize = 2048; + services.netbox = { + enable = true; + package = oldNetbox; + secretKeyFile = pkgs.writeText "secret" '' + abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + ''; + }; - recommendedProxySettings = true; + services.nginx = { + enable = true; - virtualHosts.netbox = { - default = true; - locations."/".proxyPass = "http://localhost:${toString config.services.netbox.port}"; - locations."/static/".alias = "/var/lib/netbox/static/"; - }; - }; + recommendedProxySettings = true; - users.users.nginx.extraGroups = [ "netbox" ]; + virtualHosts.netbox = { + default = true; + locations."/".proxyPass = "http://localhost:${toString config.services.netbox.port}"; + locations."/static/".alias = "/var/lib/netbox/static/"; + }; + }; - networking.firewall.allowedTCPPorts = [ 80 ]; + users.users.nginx.extraGroups = [ "netbox" ]; - specialisation.upgrade.configuration.services.netbox.package = lib.mkForce newNetbox; - }; + networking.firewall.allowedTCPPorts = [ 80 ]; - testScript = { nodes, ... }: - let - apiVersion = version: lib.pipe version [ - (lib.splitString ".") - (lib.take 2) - (lib.concatStringsSep ".") - ]; - oldApiVersion = apiVersion oldNetbox.version; - newApiVersion = apiVersion newNetbox.version; - in - '' - start_all() - machine.wait_for_unit("netbox.target") - machine.wait_for_unit("nginx.service") - machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening") + specialisation.upgrade.configuration.services.netbox.package = lib.mkForce newNetbox; + }; - def api_version(headers): - header = [header for header in headers.splitlines() if header.startswith("API-Version:")][0] - return header.split()[1] + testScript = + { nodes, ... }: + let + apiVersion = + version: + lib.pipe version [ + (lib.splitString ".") + (lib.take 2) + (lib.concatStringsSep ".") + ]; + oldApiVersion = apiVersion oldNetbox.version; + newApiVersion = apiVersion newNetbox.version; + in + '' + start_all() + machine.wait_for_unit("netbox.target") + machine.wait_for_unit("nginx.service") + machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening") - def check_api_version(version): - # Returns 403 with NetBox >= 4.0, - # but we still get the API version in the headers - headers = machine.succeed( - "curl -sSL http://localhost/api/ --head -H 'Content-Type: application/json'" - ) - assert api_version(headers) == version + def api_version(headers): + header = [header for header in headers.splitlines() if header.startswith("API-Version:")][0] + return header.split()[1] - with subtest("NetBox version is the old one"): - check_api_version("${oldApiVersion}") + def check_api_version(version): + # Returns 403 with NetBox >= 4.0, + # but we still get the API version in the headers + headers = machine.succeed( + "curl -sSL http://localhost/api/ --head -H 'Content-Type: application/json'" + ) + assert api_version(headers) == version - # Somehow, even though netbox-housekeeping.service has After=netbox.service, - # netbox-housekeeping.service and netbox.service still get started at the - # same time, making netbox-housekeeping fail (can't really do some house - # keeping job if the database is not correctly formed). - # - # So we don't check that the upgrade went well, we just check that - # netbox.service is active, and that netbox-housekeeping can be run - # successfully afterwards. - # - # This is not good UX, but the system should be working nonetheless. - machine.execute("${nodes.machine.system.build.toplevel}/specialisation/upgrade/bin/switch-to-configuration test >&2") + with subtest("NetBox version is the old one"): + check_api_version("${oldApiVersion}") - machine.wait_for_unit("netbox.service") - machine.succeed("systemctl start netbox-housekeeping.service") + # Somehow, even though netbox-housekeeping.service has After=netbox.service, + # netbox-housekeeping.service and netbox.service still get started at the + # same time, making netbox-housekeeping fail (can't really do some house + # keeping job if the database is not correctly formed). + # + # So we don't check that the upgrade went well, we just check that + # netbox.service is active, and that netbox-housekeeping can be run + # successfully afterwards. + # + # This is not good UX, but the system should be working nonetheless. + machine.execute("${nodes.machine.system.build.toplevel}/specialisation/upgrade/bin/switch-to-configuration test >&2") - with subtest("NetBox version is the new one"): - check_api_version("${newApiVersion}") - ''; -}) + machine.wait_for_unit("netbox.service") + machine.succeed("systemctl start netbox-housekeeping.service") + + with subtest("NetBox version is the new one"): + check_api_version("${newApiVersion}") + ''; + } +) diff --git a/nixos/tests/web-apps/netbox.nix b/nixos/tests/web-apps/netbox.nix index 2fdd70cfb1bfc..3aee8d964844b 100644 --- a/nixos/tests/web-apps/netbox.nix +++ b/nixos/tests/web-apps/netbox.nix @@ -8,306 +8,325 @@ let testUser = "alice"; testPassword = "verySecure"; testGroup = "netbox-users"; -in import ../make-test-python.nix ({ lib, pkgs, netbox, ... }: { - name = "netbox"; - - meta = with lib.maintainers; { - maintainers = [ minijackson n0emis ]; - }; - - nodes.machine = { config, ... }: { - virtualisation.memorySize = 2048; - services.netbox = { - enable = true; - package = netbox; - secretKeyFile = pkgs.writeText "secret" '' - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 - ''; - - enableLdap = true; - ldapConfigPath = pkgs.writeText "ldap_config.py" '' - import ldap - from django_auth_ldap.config import LDAPSearch, PosixGroupType - - AUTH_LDAP_SERVER_URI = "ldap://localhost/" +in +import ../make-test-python.nix ( + { + lib, + pkgs, + netbox, + ... + }: + { + name = "netbox"; + + meta = with lib.maintainers; { + maintainers = [ + minijackson + n0emis + ]; + }; - AUTH_LDAP_USER_SEARCH = LDAPSearch( - "ou=accounts,ou=posix,${ldapSuffix}", - ldap.SCOPE_SUBTREE, - "(uid=%(user)s)", - ) + nodes.machine = + { config, ... }: + { + virtualisation.memorySize = 2048; + services.netbox = { + enable = true; + package = netbox; + secretKeyFile = pkgs.writeText "secret" '' + abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + ''; + + enableLdap = true; + ldapConfigPath = pkgs.writeText "ldap_config.py" '' + import ldap + from django_auth_ldap.config import LDAPSearch, PosixGroupType + + AUTH_LDAP_SERVER_URI = "ldap://localhost/" + + AUTH_LDAP_USER_SEARCH = LDAPSearch( + "ou=accounts,ou=posix,${ldapSuffix}", + ldap.SCOPE_SUBTREE, + "(uid=%(user)s)", + ) - AUTH_LDAP_GROUP_SEARCH = LDAPSearch( - "ou=groups,ou=posix,${ldapSuffix}", - ldap.SCOPE_SUBTREE, - "(objectClass=posixGroup)", - ) - AUTH_LDAP_GROUP_TYPE = PosixGroupType() + AUTH_LDAP_GROUP_SEARCH = LDAPSearch( + "ou=groups,ou=posix,${ldapSuffix}", + ldap.SCOPE_SUBTREE, + "(objectClass=posixGroup)", + ) + AUTH_LDAP_GROUP_TYPE = PosixGroupType() - # Mirror LDAP group assignments. - AUTH_LDAP_MIRROR_GROUPS = True + # Mirror LDAP group assignments. + AUTH_LDAP_MIRROR_GROUPS = True - # For more granular permissions, we can map LDAP groups to Django groups. - AUTH_LDAP_FIND_GROUP_PERMS = True - ''; - }; + # For more granular permissions, we can map LDAP groups to Django groups. + AUTH_LDAP_FIND_GROUP_PERMS = True + ''; + }; - services.nginx = { - enable = true; + services.nginx = { + enable = true; - recommendedProxySettings = true; + recommendedProxySettings = true; - virtualHosts.netbox = { - default = true; - locations."/".proxyPass = "http://localhost:${toString config.services.netbox.port}"; - locations."/static/".alias = "/var/lib/netbox/static/"; - }; - }; + virtualHosts.netbox = { + default = true; + locations."/".proxyPass = "http://localhost:${toString config.services.netbox.port}"; + locations."/static/".alias = "/var/lib/netbox/static/"; + }; + }; - # Adapted from the sssd-ldap NixOS test - services.openldap = { - enable = true; - settings = { - children = { - "cn=schema".includes = [ - "${pkgs.openldap}/etc/schema/core.ldif" - "${pkgs.openldap}/etc/schema/cosine.ldif" - "${pkgs.openldap}/etc/schema/inetorgperson.ldif" - "${pkgs.openldap}/etc/schema/nis.ldif" - ]; - "olcDatabase={1}mdb" = { - attrs = { - objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ]; - olcDatabase = "{1}mdb"; - olcDbDirectory = "/var/lib/openldap/db"; - olcSuffix = ldapSuffix; - olcRootDN = "cn=${ldapRootUser},${ldapSuffix}"; - olcRootPW = ldapRootPassword; + # Adapted from the sssd-ldap NixOS test + services.openldap = { + enable = true; + settings = { + children = { + "cn=schema".includes = [ + "${pkgs.openldap}/etc/schema/core.ldif" + "${pkgs.openldap}/etc/schema/cosine.ldif" + "${pkgs.openldap}/etc/schema/inetorgperson.ldif" + "${pkgs.openldap}/etc/schema/nis.ldif" + ]; + "olcDatabase={1}mdb" = { + attrs = { + objectClass = [ + "olcDatabaseConfig" + "olcMdbConfig" + ]; + olcDatabase = "{1}mdb"; + olcDbDirectory = "/var/lib/openldap/db"; + olcSuffix = ldapSuffix; + olcRootDN = "cn=${ldapRootUser},${ldapSuffix}"; + olcRootPW = ldapRootPassword; + }; + }; }; }; + declarativeContents = { + ${ldapSuffix} = '' + dn: ${ldapSuffix} + objectClass: top + objectClass: dcObject + objectClass: organization + o: ${ldapDomain} + + dn: ou=posix,${ldapSuffix} + objectClass: top + objectClass: organizationalUnit + + dn: ou=accounts,ou=posix,${ldapSuffix} + objectClass: top + objectClass: organizationalUnit + + dn: uid=${testUser},ou=accounts,ou=posix,${ldapSuffix} + objectClass: person + objectClass: posixAccount + userPassword: ${testPassword} + homeDirectory: /home/${testUser} + uidNumber: 1234 + gidNumber: 1234 + cn: "" + sn: "" + + dn: ou=groups,ou=posix,${ldapSuffix} + objectClass: top + objectClass: organizationalUnit + + dn: cn=${testGroup},ou=groups,ou=posix,${ldapSuffix} + objectClass: posixGroup + gidNumber: 2345 + memberUid: ${testUser} + ''; + }; }; + + users.users.nginx.extraGroups = [ "netbox" ]; + + networking.firewall.allowedTCPPorts = [ 80 ]; }; - declarativeContents = { - ${ldapSuffix} = '' - dn: ${ldapSuffix} - objectClass: top - objectClass: dcObject - objectClass: organization - o: ${ldapDomain} - - dn: ou=posix,${ldapSuffix} - objectClass: top - objectClass: organizationalUnit - - dn: ou=accounts,ou=posix,${ldapSuffix} - objectClass: top - objectClass: organizationalUnit - - dn: uid=${testUser},ou=accounts,ou=posix,${ldapSuffix} - objectClass: person - objectClass: posixAccount - userPassword: ${testPassword} - homeDirectory: /home/${testUser} - uidNumber: 1234 - gidNumber: 1234 - cn: "" - sn: "" - - dn: ou=groups,ou=posix,${ldapSuffix} - objectClass: top - objectClass: organizationalUnit - - dn: cn=${testGroup},ou=groups,ou=posix,${ldapSuffix} - objectClass: posixGroup - gidNumber: 2345 - memberUid: ${testUser} + + testScript = + let + changePassword = pkgs.writeText "change-password.py" '' + from users.models import User + u = User.objects.get(username='netbox') + u.set_password('netbox') + u.save() ''; - }; - }; + in + '' + from typing import Any, Dict + import json + + start_all() + machine.wait_for_unit("netbox.target") + machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening") - users.users.nginx.extraGroups = [ "netbox" ]; - - networking.firewall.allowedTCPPorts = [ 80 ]; - }; - - testScript = let - changePassword = pkgs.writeText "change-password.py" '' - from users.models import User - u = User.objects.get(username='netbox') - u.set_password('netbox') - u.save() - ''; - in '' - from typing import Any, Dict - import json - - start_all() - machine.wait_for_unit("netbox.target") - machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening") - - with subtest("Home screen loads"): - machine.succeed( - "curl -sSfL http://[::1]:8001 | grep 'Home | NetBox'" - ) - - with subtest("Staticfiles are generated"): - machine.succeed("test -e /var/lib/netbox/static/netbox.js") - - with subtest("Superuser can be created"): - machine.succeed( - "netbox-manage createsuperuser --noinput --username netbox --email netbox@example.com" - ) - # Django doesn't have a "clean" way of inputting the password from the command line - machine.succeed("cat '${changePassword}' | netbox-manage shell") - - machine.wait_for_unit("network.target") - - with subtest("Home screen loads from nginx"): - machine.succeed( - "curl -sSfL http://localhost | grep 'Home | NetBox'" - ) - - with subtest("Staticfiles can be fetched"): - machine.succeed("curl -sSfL http://localhost/static/netbox.js") - machine.succeed("curl -sSfL http://localhost/static/docs/") - - def login(username: str, password: str): - encoded_data = json.dumps({"username": username, "password": password}) - uri = "/users/tokens/provision/" - result = json.loads( + with subtest("Home screen loads"): machine.succeed( - "curl -sSfL " - "-X POST " - "-H 'Accept: application/json' " - "-H 'Content-Type: application/json' " - f"'http://localhost/api{uri}' " - f"--data '{encoded_data}'" + "curl -sSfL http://[::1]:8001 | grep 'Home | NetBox'" + ) + + with subtest("Staticfiles are generated"): + machine.succeed("test -e /var/lib/netbox/static/netbox.js") + + with subtest("Superuser can be created"): + machine.succeed( + "netbox-manage createsuperuser --noinput --username netbox --email netbox@example.com" ) - ) - return result["key"] + # Django doesn't have a "clean" way of inputting the password from the command line + machine.succeed("cat '${changePassword}' | netbox-manage shell") - with subtest("Can login"): - auth_token = login("netbox", "netbox") + machine.wait_for_unit("network.target") - def get(uri: str): - return json.loads( + with subtest("Home screen loads from nginx"): machine.succeed( + "curl -sSfL http://localhost | grep 'Home | NetBox'" + ) + + with subtest("Staticfiles can be fetched"): + machine.succeed("curl -sSfL http://localhost/static/netbox.js") + machine.succeed("curl -sSfL http://localhost/static/docs/") + + def login(username: str, password: str): + encoded_data = json.dumps({"username": username, "password": password}) + uri = "/users/tokens/provision/" + result = json.loads( + machine.succeed( + "curl -sSfL " + "-X POST " + "-H 'Accept: application/json' " + "-H 'Content-Type: application/json' " + f"'http://localhost/api{uri}' " + f"--data '{encoded_data}'" + ) + ) + return result["key"] + + with subtest("Can login"): + auth_token = login("netbox", "netbox") + + def get(uri: str): + return json.loads( + machine.succeed( + "curl -sSfL " + "-H 'Accept: application/json' " + f"-H 'Authorization: Token {auth_token}' " + f"'http://localhost/api{uri}'" + ) + ) + + def delete(uri: str): + return machine.succeed( "curl -sSfL " + f"-X DELETE " "-H 'Accept: application/json' " f"-H 'Authorization: Token {auth_token}' " f"'http://localhost/api{uri}'" ) - ) - def delete(uri: str): - return machine.succeed( - "curl -sSfL " - f"-X DELETE " - "-H 'Accept: application/json' " - f"-H 'Authorization: Token {auth_token}' " - f"'http://localhost/api{uri}'" - ) + def data_request(uri: str, method: str, data: Dict[str, Any]): + encoded_data = json.dumps(data) + return json.loads( + machine.succeed( + "curl -sSfL " + f"-X {method} " + "-H 'Accept: application/json' " + "-H 'Content-Type: application/json' " + f"-H 'Authorization: Token {auth_token}' " + f"'http://localhost/api{uri}' " + f"--data '{encoded_data}'" + ) + ) - def data_request(uri: str, method: str, data: Dict[str, Any]): - encoded_data = json.dumps(data) - return json.loads( - machine.succeed( - "curl -sSfL " - f"-X {method} " - "-H 'Accept: application/json' " - "-H 'Content-Type: application/json' " - f"-H 'Authorization: Token {auth_token}' " - f"'http://localhost/api{uri}' " - f"--data '{encoded_data}'" + def post(uri: str, data: Dict[str, Any]): + return data_request(uri, "POST", data) + + def patch(uri: str, data: Dict[str, Any]): + return data_request(uri, "PATCH", data) + + with subtest("Can create objects"): + result = post("/dcim/sites/", {"name": "Test site", "slug": "test-site"}) + site_id = result["id"] + + # Example from: + # http://netbox.extra.cea.fr/static/docs/integrations/rest-api/#creating-a-new-object + post("/ipam/prefixes/", {"prefix": "192.0.2.0/24", "site": site_id}) + + result = post( + "/dcim/manufacturers/", + {"name": "Test manufacturer", "slug": "test-manufacturer"} ) - ) - - def post(uri: str, data: Dict[str, Any]): - return data_request(uri, "POST", data) - - def patch(uri: str, data: Dict[str, Any]): - return data_request(uri, "PATCH", data) - - with subtest("Can create objects"): - result = post("/dcim/sites/", {"name": "Test site", "slug": "test-site"}) - site_id = result["id"] - - # Example from: - # http://netbox.extra.cea.fr/static/docs/integrations/rest-api/#creating-a-new-object - post("/ipam/prefixes/", {"prefix": "192.0.2.0/24", "site": site_id}) - - result = post( - "/dcim/manufacturers/", - {"name": "Test manufacturer", "slug": "test-manufacturer"} - ) - manufacturer_id = result["id"] - - # Had an issue with device-types before NetBox 3.4.0 - result = post( - "/dcim/device-types/", - { - "model": "Test device type", - "manufacturer": manufacturer_id, - "slug": "test-device-type", - }, - ) - device_type_id = result["id"] - - with subtest("Can list objects"): - result = get("/dcim/sites/") - - assert result["count"] == 1 - assert result["results"][0]["id"] == site_id - assert result["results"][0]["name"] == "Test site" - assert result["results"][0]["description"] == "" - - result = get("/dcim/device-types/") - assert result["count"] == 1 - assert result["results"][0]["id"] == device_type_id - assert result["results"][0]["model"] == "Test device type" - - with subtest("Can update objects"): - new_description = "Test site description" - patch(f"/dcim/sites/{site_id}/", {"description": new_description}) - result = get(f"/dcim/sites/{site_id}/") - assert result["description"] == new_description - - with subtest("Can delete objects"): - # Delete a device-type since no object depends on it - delete(f"/dcim/device-types/{device_type_id}/") - - result = get("/dcim/device-types/") - assert result["count"] == 0 - - with subtest("Can use the GraphQL API"): - encoded_data = json.dumps({ - "query": "query { prefix_list { prefix, site { id, description } } }", - }) - result = json.loads( - machine.succeed( - "curl -sSfL " - "-H 'Accept: application/json' " - "-H 'Content-Type: application/json' " - f"-H 'Authorization: Token {auth_token}' " - "'http://localhost/graphql/' " - f"--data '{encoded_data}'" + manufacturer_id = result["id"] + + # Had an issue with device-types before NetBox 3.4.0 + result = post( + "/dcim/device-types/", + { + "model": "Test device type", + "manufacturer": manufacturer_id, + "slug": "test-device-type", + }, + ) + device_type_id = result["id"] + + with subtest("Can list objects"): + result = get("/dcim/sites/") + + assert result["count"] == 1 + assert result["results"][0]["id"] == site_id + assert result["results"][0]["name"] == "Test site" + assert result["results"][0]["description"] == "" + + result = get("/dcim/device-types/") + assert result["count"] == 1 + assert result["results"][0]["id"] == device_type_id + assert result["results"][0]["model"] == "Test device type" + + with subtest("Can update objects"): + new_description = "Test site description" + patch(f"/dcim/sites/{site_id}/", {"description": new_description}) + result = get(f"/dcim/sites/{site_id}/") + assert result["description"] == new_description + + with subtest("Can delete objects"): + # Delete a device-type since no object depends on it + delete(f"/dcim/device-types/{device_type_id}/") + + result = get("/dcim/device-types/") + assert result["count"] == 0 + + with subtest("Can use the GraphQL API"): + encoded_data = json.dumps({ + "query": "query { prefix_list { prefix, site { id, description } } }", + }) + result = json.loads( + machine.succeed( + "curl -sSfL " + "-H 'Accept: application/json' " + "-H 'Content-Type: application/json' " + f"-H 'Authorization: Token {auth_token}' " + "'http://localhost/graphql/' " + f"--data '{encoded_data}'" + ) ) - ) - assert len(result["data"]["prefix_list"]) == 1 - assert result["data"]["prefix_list"][0]["prefix"] == "192.0.2.0/24" - assert result["data"]["prefix_list"][0]["site"]["id"] == str(site_id) - assert result["data"]["prefix_list"][0]["site"]["description"] == new_description + assert len(result["data"]["prefix_list"]) == 1 + assert result["data"]["prefix_list"][0]["prefix"] == "192.0.2.0/24" + assert result["data"]["prefix_list"][0]["site"]["id"] == str(site_id) + assert result["data"]["prefix_list"][0]["site"]["description"] == new_description - with subtest("Can login with LDAP"): - machine.wait_for_unit("openldap.service") - login("alice", "${testPassword}") + with subtest("Can login with LDAP"): + machine.wait_for_unit("openldap.service") + login("alice", "${testPassword}") - with subtest("Can associate LDAP groups"): - result = get("/users/users/?username=${testUser}") + with subtest("Can associate LDAP groups"): + result = get("/users/users/?username=${testUser}") - assert result["count"] == 1 - assert any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"]) - ''; -}) + assert result["count"] == 1 + assert any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"]) + ''; + } +) diff --git a/nixos/tests/web-apps/nifi.nix b/nixos/tests/web-apps/nifi.nix index 92f7fa231df3a..06c50151c7176 100644 --- a/nixos/tests/web-apps/nifi.nix +++ b/nixos/tests/web-apps/nifi.nix @@ -1,30 +1,34 @@ -import ../make-test-python.nix ({pkgs, ...}: -{ - name = "nifi"; - meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "nifi"; + meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; - nodes = { - nifi = { pkgs, ... }: { - virtualisation = { - memorySize = 2048; - diskSize = 4096; - }; - services.nifi = { - enable = true; - enableHTTPS = false; - }; + nodes = { + nifi = + { pkgs, ... }: + { + virtualisation = { + memorySize = 2048; + diskSize = 4096; + }; + services.nifi = { + enable = true; + enableHTTPS = false; + }; + }; }; - }; - testScript = '' - nifi.start() + testScript = '' + nifi.start() - nifi.wait_for_unit("nifi.service") - nifi.wait_for_open_port(8080) + nifi.wait_for_unit("nifi.service") + nifi.wait_for_open_port(8080) - # Check if NiFi is running - nifi.succeed("curl --fail http://127.0.0.1:8080/nifi/login 2> /dev/null | grep 'NiFi Login'") + # Check if NiFi is running + nifi.succeed("curl --fail http://127.0.0.1:8080/nifi/login 2> /dev/null | grep 'NiFi Login'") - nifi.shutdown() - ''; -}) + nifi.shutdown() + ''; + } +) diff --git a/nixos/tests/web-apps/peering-manager.nix b/nixos/tests/web-apps/peering-manager.nix index 3f0acd560d132..6a04d5f4e5e6d 100644 --- a/nixos/tests/web-apps/peering-manager.nix +++ b/nixos/tests/web-apps/peering-manager.nix @@ -1,40 +1,47 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: { - name = "peering-manager"; +import ../make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "peering-manager"; - meta = with lib.maintainers; { - maintainers = [ yuka ]; - }; - - nodes.machine = { ... }: { - services.peering-manager = { - enable = true; - secretKeyFile = pkgs.writeText "secret" '' - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 - ''; + meta = with lib.maintainers; { + maintainers = [ yuka ]; }; - }; - testScript = { nodes }: '' - machine.start() - machine.wait_for_unit("peering-manager.target") - machine.wait_until_succeeds("journalctl --since -1m --unit peering-manager --grep Listening") + nodes.machine = + { ... }: + { + services.peering-manager = { + enable = true; + secretKeyFile = pkgs.writeText "secret" '' + abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + ''; + }; + }; - print(machine.succeed( - "curl -sSfL http://[::1]:8001" - )) - with subtest("Home screen loads"): - machine.succeed( - "curl -sSfL http://[::1]:8001 | grep 'Home - Peering Manager'" - ) - with subtest("checks succeed"): - machine.succeed( - "systemctl stop peering-manager peering-manager-rq" - ) - machine.succeed( - "sudo -u postgres psql -c 'ALTER USER \"peering-manager\" WITH SUPERUSER;'" - ) - machine.succeed( - "cd ${nodes.machine.system.build.peeringManagerPkg}/opt/peering-manager ; peering-manager-manage test --no-input" - ) - ''; -}) + testScript = + { nodes }: + '' + machine.start() + machine.wait_for_unit("peering-manager.target") + machine.wait_until_succeeds("journalctl --since -1m --unit peering-manager --grep Listening") + + print(machine.succeed( + "curl -sSfL http://[::1]:8001" + )) + with subtest("Home screen loads"): + machine.succeed( + "curl -sSfL http://[::1]:8001 | grep 'Home - Peering Manager'" + ) + with subtest("checks succeed"): + machine.succeed( + "systemctl stop peering-manager peering-manager-rq" + ) + machine.succeed( + "sudo -u postgres psql -c 'ALTER USER \"peering-manager\" WITH SUPERUSER;'" + ) + machine.succeed( + "cd ${nodes.machine.system.build.peeringManagerPkg}/opt/peering-manager ; peering-manager-manage test --no-input" + ) + ''; + } +) diff --git a/nixos/tests/web-apps/peertube.nix b/nixos/tests/web-apps/peertube.nix index 83c7cf03701e0..e260786458e49 100644 --- a/nixos/tests/web-apps/peertube.nix +++ b/nixos/tests/web-apps/peertube.nix @@ -1,149 +1,168 @@ -import ../make-test-python.nix ({pkgs, ...}: -{ - name = "peertube"; - meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; - - nodes = { - database = { - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.10"; prefixLength = 24; } +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "peertube"; + meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; + + nodes = { + database = { + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.10"; + prefixLength = 24; + } + ]; + }; + firewall.allowedTCPPorts = [ + 5432 + 31638 ]; }; - firewall.allowedTCPPorts = [ 5432 31638 ]; - }; - - services.postgresql = { - enable = true; - enableTCPIP = true; - ensureDatabases = [ "peertube_test" ]; - ensureUsers = [ - { - name = "peertube_test"; - ensureDBOwnership = true; - } - ]; - authentication = '' - hostnossl peertube_test peertube_test 192.168.2.11/32 md5 - ''; - initialScript = pkgs.writeText "postgresql_init.sql" '' - CREATE ROLE peertube_test LOGIN PASSWORD '0gUN0C1mgST6czvjZ8T9'; - ''; - }; - - services.redis.servers.peertube = { - enable = true; - bind = "0.0.0.0"; - requirePass = "turrQfaQwnanGbcsdhxy"; - port = 31638; - }; - }; - server = { pkgs, ... }: { - environment = { - etc = { - "peertube/password-init-root".text = '' - PT_INITIAL_ROOT_PASSWORD=zw4SqYVdcsXUfRX8aaFX - ''; - "peertube/secrets-peertube".text = '' - 063d9c60d519597acef26003d5ecc32729083965d09181ef3949200cbe5f09ee - ''; - "peertube/password-posgressql-db".text = '' - 0gUN0C1mgST6czvjZ8T9 + services.postgresql = { + enable = true; + enableTCPIP = true; + ensureDatabases = [ "peertube_test" ]; + ensureUsers = [ + { + name = "peertube_test"; + ensureDBOwnership = true; + } + ]; + authentication = '' + hostnossl peertube_test peertube_test 192.168.2.11/32 md5 ''; - "peertube/password-redis-db".text = '' - turrQfaQwnanGbcsdhxy + initialScript = pkgs.writeText "postgresql_init.sql" '' + CREATE ROLE peertube_test LOGIN PASSWORD '0gUN0C1mgST6czvjZ8T9'; ''; }; - }; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.11"; prefixLength = 24; } - ]; + services.redis.servers.peertube = { + enable = true; + bind = "0.0.0.0"; + requirePass = "turrQfaQwnanGbcsdhxy"; + port = 31638; }; - extraHosts = '' - 192.168.2.11 peertube.local - ''; - firewall.allowedTCPPorts = [ 9000 ]; }; - services.peertube = { - enable = true; - localDomain = "peertube.local"; - enableWebHttps = false; - - serviceEnvironmentFile = "/etc/peertube/password-init-root"; - - secrets = { - secretsFile = "/etc/peertube/secrets-peertube"; - }; + server = + { pkgs, ... }: + { + environment = { + etc = { + "peertube/password-init-root".text = '' + PT_INITIAL_ROOT_PASSWORD=zw4SqYVdcsXUfRX8aaFX + ''; + "peertube/secrets-peertube".text = '' + 063d9c60d519597acef26003d5ecc32729083965d09181ef3949200cbe5f09ee + ''; + "peertube/password-posgressql-db".text = '' + 0gUN0C1mgST6czvjZ8T9 + ''; + "peertube/password-redis-db".text = '' + turrQfaQwnanGbcsdhxy + ''; + }; + }; - database = { - host = "192.168.2.10"; - name = "peertube_test"; - user = "peertube_test"; - passwordFile = "/etc/peertube/password-posgressql-db"; - }; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.11"; + prefixLength = 24; + } + ]; + }; + extraHosts = '' + 192.168.2.11 peertube.local + ''; + firewall.allowedTCPPorts = [ 9000 ]; + }; - redis = { - host = "192.168.2.10"; - port = 31638; - passwordFile = "/etc/peertube/password-redis-db"; + services.peertube = { + enable = true; + localDomain = "peertube.local"; + enableWebHttps = false; + + serviceEnvironmentFile = "/etc/peertube/password-init-root"; + + secrets = { + secretsFile = "/etc/peertube/secrets-peertube"; + }; + + database = { + host = "192.168.2.10"; + name = "peertube_test"; + user = "peertube_test"; + passwordFile = "/etc/peertube/password-posgressql-db"; + }; + + redis = { + host = "192.168.2.10"; + port = 31638; + passwordFile = "/etc/peertube/password-redis-db"; + }; + + settings = { + listen = { + hostname = "0.0.0.0"; + }; + instance = { + name = "PeerTube Test Server"; + }; + }; + }; }; - settings = { - listen = { - hostname = "0.0.0.0"; - }; - instance = { - name = "PeerTube Test Server"; + client = { + environment.systemPackages = [ + pkgs.jq + pkgs.peertube.cli + ]; + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { + address = "192.168.2.12"; + prefixLength = 24; + } + ]; }; + extraHosts = '' + 192.168.2.11 peertube.local + ''; }; }; - }; - client = { - environment.systemPackages = [ pkgs.jq pkgs.peertube.cli ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.12"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.2.11 peertube.local - ''; - }; }; - }; - - testScript = '' - start_all() + testScript = '' + start_all() - database.wait_for_unit("postgresql.service") - database.wait_for_unit("redis-peertube.service") + database.wait_for_unit("postgresql.service") + database.wait_for_unit("redis-peertube.service") - database.wait_for_open_port(5432) - database.wait_for_open_port(31638) + database.wait_for_open_port(5432) + database.wait_for_open_port(31638) - server.wait_for_unit("peertube.service") - server.wait_for_open_port(9000) + server.wait_for_unit("peertube.service") + server.wait_for_open_port(9000) - # Check if PeerTube is running - client.succeed("curl --fail http://peertube.local:9000/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube\ Test\ Server'") + # Check if PeerTube is running + client.succeed("curl --fail http://peertube.local:9000/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube\ Test\ Server'") - # Check PeerTube CLI version - client.succeed('peertube-cli auth add -u "http://peertube.local:9000" -U "root" --password "zw4SqYVdcsXUfRX8aaFX"') - client.succeed('peertube-cli auth list | grep "http://peertube.local:9000"') - client.succeed('peertube-cli auth del "http://peertube.local:9000"') - client.fail('peertube-cli auth list | grep "http://peertube.local:9000"') + # Check PeerTube CLI version + client.succeed('peertube-cli auth add -u "http://peertube.local:9000" -U "root" --password "zw4SqYVdcsXUfRX8aaFX"') + client.succeed('peertube-cli auth list | grep "http://peertube.local:9000"') + client.succeed('peertube-cli auth del "http://peertube.local:9000"') + client.fail('peertube-cli auth list | grep "http://peertube.local:9000"') - client.shutdown() - server.shutdown() - database.shutdown() - ''; -}) + client.shutdown() + server.shutdown() + database.shutdown() + ''; + } +) diff --git a/nixos/tests/web-apps/phylactery.nix b/nixos/tests/web-apps/phylactery.nix index cf2689d2300d3..492d50d3d2d1f 100644 --- a/nixos/tests/web-apps/phylactery.nix +++ b/nixos/tests/web-apps/phylactery.nix @@ -1,20 +1,25 @@ -import ../make-test-python.nix ({ pkgs, lib, ... }: { - name = "phylactery"; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "phylactery"; - nodes.machine = { ... }: { - services.phylactery = rec { - enable = true; - port = 8080; - library = "/tmp"; - }; - }; + nodes.machine = + { ... }: + { + services.phylactery = rec { + enable = true; + port = 8080; + library = "/tmp"; + }; + }; - testScript = '' - start_all() - machine.wait_for_unit('phylactery') - machine.wait_for_open_port(8080) - machine.wait_until_succeeds('curl localhost:8080') - ''; + testScript = '' + start_all() + machine.wait_for_unit('phylactery') + machine.wait_for_open_port(8080) + machine.wait_until_succeeds('curl localhost:8080') + ''; - meta.maintainers = with lib.maintainers; [ McSinyx ]; -}) + meta.maintainers = with lib.maintainers; [ McSinyx ]; + } +) diff --git a/nixos/tests/web-apps/pixelfed/default.nix b/nixos/tests/web-apps/pixelfed/default.nix index 4464ebe434865..0422b6cf11f4e 100644 --- a/nixos/tests/web-apps/pixelfed/default.nix +++ b/nixos/tests/web-apps/pixelfed/default.nix @@ -1,6 +1,12 @@ -{ system ? builtins.currentSystem, handleTestOn }: +{ + system ? builtins.currentSystem, + handleTestOn, +}: let - supportedSystems = [ "x86_64-linux" "i686-linux" ]; + supportedSystems = [ + "x86_64-linux" + "i686-linux" + ]; in { diff --git a/nixos/tests/web-apps/pixelfed/standard.nix b/nixos/tests/web-apps/pixelfed/standard.nix index c575ee0b0f76c..7b916649bf0dc 100644 --- a/nixos/tests/web-apps/pixelfed/standard.nix +++ b/nixos/tests/web-apps/pixelfed/standard.nix @@ -3,19 +3,23 @@ import ../../make-test-python.nix { meta.maintainers = [ ]; nodes = { - server = { pkgs, ... }: { - services.pixelfed = { - enable = true; - domain = "pixelfed.local"; - # Configure NGINX. - nginx = {}; - secretFile = (pkgs.writeText "secrets.env" '' - # Snakeoil secret, can be any random 32-chars secret via CSPRNG. - APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA - ''); - settings."FORCE_HTTPS_URLS" = false; + server = + { pkgs, ... }: + { + services.pixelfed = { + enable = true; + domain = "pixelfed.local"; + # Configure NGINX. + nginx = { }; + secretFile = ( + pkgs.writeText "secrets.env" '' + # Snakeoil secret, can be any random 32-chars secret via CSPRNG. + APP_KEY=adKK9EcY8Hcj3PLU7rzG9rJ6KKTOtYfA + '' + ); + settings."FORCE_HTTPS_URLS" = false; + }; }; - }; }; testScript = '' diff --git a/nixos/tests/web-apps/pretalx.nix b/nixos/tests/web-apps/pretalx.nix index cbb6580aa0515..c226d607ad00a 100644 --- a/nixos/tests/web-apps/pretalx.nix +++ b/nixos/tests/web-apps/pretalx.nix @@ -5,22 +5,24 @@ meta.maintainers = lib.teams.c3d2.members; nodes = { - pretalx = { config, ... }: { - networking.extraHosts = '' - 127.0.0.1 talks.local - ''; - - services.pretalx = { - enable = true; - plugins = with config.services.pretalx.package.plugins; [ - pages - ]; - nginx.domain = "talks.local"; - settings = { - site.url = "http://talks.local"; + pretalx = + { config, ... }: + { + networking.extraHosts = '' + 127.0.0.1 talks.local + ''; + + services.pretalx = { + enable = true; + plugins = with config.services.pretalx.package.plugins; [ + pages + ]; + nginx.domain = "talks.local"; + settings = { + site.url = "http://talks.local"; + }; }; }; - }; }; testScript = '' diff --git a/nixos/tests/web-apps/snipe-it.nix b/nixos/tests/web-apps/snipe-it.nix index b04bd516831cb..2f5764cd33be9 100644 --- a/nixos/tests/web-apps/snipe-it.nix +++ b/nixos/tests/web-apps/snipe-it.nix @@ -1,103 +1,118 @@ /* -Snipe-IT NixOS test + Snipe-IT NixOS test -It covers the following scenario: -- Installation -- Backup and restore + It covers the following scenario: + - Installation + - Backup and restore -Scenarios NOT covered by this test (but perhaps in the future): -- Sending and receiving emails + Scenarios NOT covered by this test (but perhaps in the future): + - Sending and receiving emails */ -{ pkgs, ... }: let +{ pkgs, ... }: +let siteName = "NixOS Snipe-IT Test Instance"; -in { +in +{ name = "snipe-it"; meta.maintainers = with pkgs.lib.maintainers; [ yayayayaka ]; nodes = { - snipeit = { ... }: { - services.snipe-it = { - enable = true; - appKeyFile = toString (pkgs.writeText "snipe-it-app-key" "uTqGUN5GUmUrh/zSAYmhyzRk62pnpXICyXv9eeITI8k="); - hostName = "localhost"; - database.createLocally = true; - mail = { - driver = "smtp"; - encryption = "tls"; - host = "localhost"; - port = 1025; - from.name = "Snipe-IT NixOS test"; - from.address = "snipe-it@localhost"; - replyTo.address = "snipe-it@localhost"; - user = "snipe-it@localhost"; - passwordFile = toString (pkgs.writeText "snipe-it-mail-pass" "a-secure-mail-password"); + snipeit = + { ... }: + { + services.snipe-it = { + enable = true; + appKeyFile = toString ( + pkgs.writeText "snipe-it-app-key" "uTqGUN5GUmUrh/zSAYmhyzRk62pnpXICyXv9eeITI8k=" + ); + hostName = "localhost"; + database.createLocally = true; + mail = { + driver = "smtp"; + encryption = "tls"; + host = "localhost"; + port = 1025; + from.name = "Snipe-IT NixOS test"; + from.address = "snipe-it@localhost"; + replyTo.address = "snipe-it@localhost"; + user = "snipe-it@localhost"; + passwordFile = toString (pkgs.writeText "snipe-it-mail-pass" "a-secure-mail-password"); + }; }; }; - }; }; - testScript = { nodes }: let - backupPath = "${nodes.snipeit.services.snipe-it.dataDir}/storage/app/backups"; - - # Snipe-IT has been installed successfully if the site name shows up on the login page - checkLoginPage = { shouldSucceed ? true }: '' - snipeit.${if shouldSucceed then "succeed" else "fail"}("""curl http://localhost/login | grep '${siteName}'""") + testScript = + { nodes }: + let + backupPath = "${nodes.snipeit.services.snipe-it.dataDir}/storage/app/backups"; + + # Snipe-IT has been installed successfully if the site name shows up on the login page + checkLoginPage = + { + shouldSucceed ? true, + }: + '' + snipeit.${ + if shouldSucceed then "succeed" else "fail" + }("""curl http://localhost/login | grep '${siteName}'""") + ''; + in + '' + start_all() + + snipeit.wait_for_unit("nginx.service") + snipeit.wait_for_unit("snipe-it-setup.service") + + # Create an admin user + snipeit.succeed( + """ + snipe-it snipeit:create-admin \ + --username="admin" \ + --email="janedoe@localhost" \ + --password="extremesecurepassword" \ + --first_name="Jane" \ + --last_name="Doe" + """ + ) + + with subtest("Circumvent the pre-flight setup by just writing some settings into the database ourself"): + snipeit.succeed( + """ + mysql -D ${nodes.snipeit.services.snipe-it.database.name} -e " + INSERT INTO settings (id, site_name, login_remote_user_custom_logout_url, login_remote_user_header_name) + VALUES ('1', '${siteName}', 'https://whatever.invalid', 'whatever');" + """ + ) + + # Usually these are generated during the pre-flight setup + snipeit.succeed("snipe-it passport:keys") + + + # Login page should now contain the configured site name + ${checkLoginPage { }} + + with subtest("Test Backup and restore"): + snipeit.succeed("snipe-it snipeit:backup") + + # One zip file should have been created + snipeit.succeed("""[ "$(ls -1 "${backupPath}" | wc -l)" -eq 1 ]""") + + # Purge the state + snipeit.succeed("snipe-it migrate:fresh --force") + + # Login page should disappear + ${checkLoginPage { shouldSucceed = false; }} + + # Restore the state + snipeit.succeed( + """ + snipe-it snipeit:restore --force $(find "${backupPath}/" -type f -name "*.zip") + """ + ) + + # Login page should be back again + ${checkLoginPage { }} ''; - in '' - start_all() - - snipeit.wait_for_unit("nginx.service") - snipeit.wait_for_unit("snipe-it-setup.service") - - # Create an admin user - snipeit.succeed( - """ - snipe-it snipeit:create-admin \ - --username="admin" \ - --email="janedoe@localhost" \ - --password="extremesecurepassword" \ - --first_name="Jane" \ - --last_name="Doe" - """ - ) - - with subtest("Circumvent the pre-flight setup by just writing some settings into the database ourself"): - snipeit.succeed( - """ - mysql -D ${nodes.snipeit.services.snipe-it.database.name} -e " - INSERT INTO settings (id, site_name, login_remote_user_custom_logout_url, login_remote_user_header_name) - VALUES ('1', '${siteName}', 'https://whatever.invalid', 'whatever');" - """ - ) - - # Usually these are generated during the pre-flight setup - snipeit.succeed("snipe-it passport:keys") - - - # Login page should now contain the configured site name - ${checkLoginPage {}} - - with subtest("Test Backup and restore"): - snipeit.succeed("snipe-it snipeit:backup") - - # One zip file should have been created - snipeit.succeed("""[ "$(ls -1 "${backupPath}" | wc -l)" -eq 1 ]""") - - # Purge the state - snipeit.succeed("snipe-it migrate:fresh --force") - - # Login page should disappear - ${checkLoginPage { shouldSucceed = false; }} - - # Restore the state - snipeit.succeed( - """ - snipe-it snipeit:restore --force $(find "${backupPath}/" -type f -name "*.zip") - """ - ) - - # Login page should be back again - ${checkLoginPage {}} - ''; } diff --git a/nixos/tests/web-apps/writefreely.nix b/nixos/tests/web-apps/writefreely.nix index ce614909706b4..3f56e1df8ead8 100644 --- a/nixos/tests/web-apps/writefreely.nix +++ b/nixos/tests/web-apps/writefreely.nix @@ -1,29 +1,35 @@ -{ system ? builtins.currentSystem, config ? { } -, pkgs ? import ../../.. { inherit system config; } }: +{ + system ? builtins.currentSystem, + config ? { }, + pkgs ? import ../../.. { inherit system config; }, +}: with import ../../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let - writefreelyTest = { name, type }: + writefreelyTest = + { name, type }: makeTest { name = "writefreely-${name}"; - nodes.machine = { config, pkgs, ... }: { - services.writefreely = { - enable = true; - host = "localhost:3000"; - admin.name = "nixos"; + nodes.machine = + { config, pkgs, ... }: + { + services.writefreely = { + enable = true; + host = "localhost:3000"; + admin.name = "nixos"; - database = { - inherit type; - createLocally = type == "mysql"; - passwordFile = pkgs.writeText "db-pass" "pass"; - }; + database = { + inherit type; + createLocally = type == "mysql"; + passwordFile = pkgs.writeText "db-pass" "pass"; + }; - settings.server.port = 3000; + settings.server.port = 3000; + }; }; - }; testScript = '' start_all() @@ -32,7 +38,8 @@ let machine.succeed("curl --fail http://localhost:3000") ''; }; -in { +in +{ sqlite = writefreelyTest { name = "sqlite"; type = "sqlite3"; diff --git a/nixos/tests/web-servers/agate.nix b/nixos/tests/web-servers/agate.nix index 0de27b6f7d8df..2801ac4c9265b 100644 --- a/nixos/tests/web-servers/agate.nix +++ b/nixos/tests/web-servers/agate.nix @@ -1,27 +1,33 @@ { pkgs, lib, ... }: { name = "agate"; - meta = with lib.maintainers; { maintainers = [ jk ]; }; + meta = with lib.maintainers; { + maintainers = [ jk ]; + }; nodes = { - geminiserver = { pkgs, ... }: { - services.agate = { - enable = true; - hostnames = [ "localhost" ]; - contentDir = pkgs.writeTextDir "index.gmi" '' - # Hello NixOS! - ''; + geminiserver = + { pkgs, ... }: + { + services.agate = { + enable = true; + hostnames = [ "localhost" ]; + contentDir = pkgs.writeTextDir "index.gmi" '' + # Hello NixOS! + ''; + }; }; - }; }; - testScript = { nodes, ... }: '' - geminiserver.wait_for_unit("agate") - geminiserver.wait_for_open_port(1965) + testScript = + { nodes, ... }: + '' + geminiserver.wait_for_unit("agate") + geminiserver.wait_for_open_port(1965) - with subtest("check is serving over gemini"): - response = geminiserver.succeed("${pkgs.gemget}/bin/gemget --header -o - gemini://localhost:1965") - print(response) - assert "Hello NixOS!" in response - ''; + with subtest("check is serving over gemini"): + response = geminiserver.succeed("${pkgs.gemget}/bin/gemget --header -o - gemini://localhost:1965") + print(response) + assert "Hello NixOS!" in response + ''; } diff --git a/nixos/tests/web-servers/stargazer.nix b/nixos/tests/web-servers/stargazer.nix index b687f2046a044..776b9095b4aed 100644 --- a/nixos/tests/web-servers/stargazer.nix +++ b/nixos/tests/web-servers/stargazer.nix @@ -3,7 +3,14 @@ let test_script = pkgs.stdenv.mkDerivation { pname = "stargazer-test-script"; inherit (pkgs.stargazer) version src; - buildInputs = with pkgs; [ (python3.withPackages (ps: with ps; [ cryptography urllib3 ])) ]; + buildInputs = with pkgs; [ + (python3.withPackages ( + ps: with ps; [ + cryptography + urllib3 + ] + )) + ]; dontBuild = true; doCheck = false; installPhase = '' @@ -38,120 +45,128 @@ let in { name = "stargazer"; - meta = with lib.maintainers; { maintainers = [ gaykitty ]; }; + meta = with lib.maintainers; { + maintainers = [ gaykitty ]; + }; nodes = { - geminiserver = { pkgs, ... }: { - services.stargazer = { - enable = true; - connectionLogging = false; - requestTimeout = 1; - routes = [ - { - route = "localhost"; - root = "${test_env}/test_data/test_site"; - } - { - route = "localhost=/en.gmi"; - root = "${test_env}/test_data/test_site"; - lang = "en"; - charset = "ascii"; - } - { - route = "localhost~/(.*).gemini"; - root = "${test_env}/test_data/test_site"; - rewrite = "\\1.gmi"; - lang = "en"; - charset = "ascii"; - } - { - route = "localhost=/plain.txt"; - root = "${test_env}/test_data/test_site"; - lang = "en"; - charset = "ascii"; - cert-path = "/var/lib/gemini/certs/localhost.crt"; - key-path = "/var/lib/gemini/certs/localhost.key"; - } - { - route = "localhost:/cgi-bin"; - root = "${test_env}/test_data"; - cgi = true; - cgi-timeout = 5; - } - { - route = "localhost:/scgi"; - scgi = true; - scgi-address = "127.0.0.1:1099"; - } - { - route = "localhost=/root"; - redirect = ".."; - permanent = true; - } - { - route = "localhost=/priv.gmi"; - root = "${test_env}/test_data/test_site"; - client-cert = "${test_env}/test_data/client_cert/good.crt"; - } - { - route = "example.com~(.*)"; - redirect = "gemini://localhost"; - rewrite = "\\1"; - } - { - route = "localhost:/no-exist"; - root = "${test_env}/does_not_exist"; - } - { - route = "localhost=/rss.xml"; - root = "${test_env}/test_data/test_site"; - mime-override = "application/atom+xml"; - } - ]; - }; - systemd.services.scgi_server = { - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${scgi_server}/bin/scgi-server"; + geminiserver = + { pkgs, ... }: + { + services.stargazer = { + enable = true; + connectionLogging = false; + requestTimeout = 1; + routes = [ + { + route = "localhost"; + root = "${test_env}/test_data/test_site"; + } + { + route = "localhost=/en.gmi"; + root = "${test_env}/test_data/test_site"; + lang = "en"; + charset = "ascii"; + } + { + route = "localhost~/(.*).gemini"; + root = "${test_env}/test_data/test_site"; + rewrite = "\\1.gmi"; + lang = "en"; + charset = "ascii"; + } + { + route = "localhost=/plain.txt"; + root = "${test_env}/test_data/test_site"; + lang = "en"; + charset = "ascii"; + cert-path = "/var/lib/gemini/certs/localhost.crt"; + key-path = "/var/lib/gemini/certs/localhost.key"; + } + { + route = "localhost:/cgi-bin"; + root = "${test_env}/test_data"; + cgi = true; + cgi-timeout = 5; + } + { + route = "localhost:/scgi"; + scgi = true; + scgi-address = "127.0.0.1:1099"; + } + { + route = "localhost=/root"; + redirect = ".."; + permanent = true; + } + { + route = "localhost=/priv.gmi"; + root = "${test_env}/test_data/test_site"; + client-cert = "${test_env}/test_data/client_cert/good.crt"; + } + { + route = "example.com~(.*)"; + redirect = "gemini://localhost"; + rewrite = "\\1"; + } + { + route = "localhost:/no-exist"; + root = "${test_env}/does_not_exist"; + } + { + route = "localhost=/rss.xml"; + root = "${test_env}/test_data/test_site"; + mime-override = "application/atom+xml"; + } + ]; + }; + systemd.services.scgi_server = { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${scgi_server}/bin/scgi-server"; + }; }; }; - }; - cgiTestServer = { ... }: { - users.users.cgi = { - isSystemUser = true; - group = "cgi"; - }; - users.groups.cgi = { }; - services.stargazer = { - enable = true; - connectionLogging = false; - requestTimeout = 1; - allowCgiUser = true; - routes = [ - { - route = "localhost:/cgi-bin"; - root = "${test_env}/test_data"; - cgi = true; - cgi-timeout = 5; - cgi-user = "cgi"; - } - ]; + cgiTestServer = + { ... }: + { + users.users.cgi = { + isSystemUser = true; + group = "cgi"; + }; + users.groups.cgi = { }; + services.stargazer = { + enable = true; + connectionLogging = false; + requestTimeout = 1; + allowCgiUser = true; + routes = [ + { + route = "localhost:/cgi-bin"; + root = "${test_env}/test_data"; + cgi = true; + cgi-timeout = 5; + cgi-user = "cgi"; + } + ]; + }; }; - }; }; - testScript = { nodes, ... }: '' - geminiserver.wait_for_unit("scgi_server") - geminiserver.wait_for_open_port(1099) - geminiserver.wait_for_unit("stargazer") - cgiTestServer.wait_for_open_port(1965) + testScript = + { nodes, ... }: + '' + geminiserver.wait_for_unit("scgi_server") + geminiserver.wait_for_open_port(1099) + geminiserver.wait_for_unit("stargazer") + cgiTestServer.wait_for_open_port(1965) - with subtest("stargazer test suite"): - response = geminiserver.succeed("sh -c 'cd ${test_env}; ${test_script}/bin/test'") - print(response) - with subtest("stargazer cgi-user test"): - response = cgiTestServer.succeed("sh -c 'cd ${test_env}; ${test_script}/bin/test --checks CGIVars'") - print(response) - ''; + with subtest("stargazer test suite"): + response = geminiserver.succeed("sh -c 'cd ${test_env}; ${test_script}/bin/test'") + print(response) + with subtest("stargazer cgi-user test"): + response = cgiTestServer.succeed("sh -c 'cd ${test_env}; ${test_script}/bin/test --checks CGIVars'") + print(response) + ''; } diff --git a/nixos/tests/web-servers/static-web-server.nix b/nixos/tests/web-servers/static-web-server.nix index da1a9bdec5d25..1c88e70a09578 100644 --- a/nixos/tests/web-servers/static-web-server.nix +++ b/nixos/tests/web-servers/static-web-server.nix @@ -1,32 +1,41 @@ -import ../make-test-python.nix ({ pkgs, lib, ... } : { - name = "static-web-server"; - meta = { - maintainers = with lib.maintainers; [ mac-chaffee ]; - }; +import ../make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "static-web-server"; + meta = { + maintainers = with lib.maintainers; [ mac-chaffee ]; + }; - nodes.machine = { pkgs, ... }: { - services.static-web-server = { - enable = true; - listen = "[::]:8080"; - root = toString (pkgs.writeTextDir "nixos-test.html" '' -

Hello NixOS!

- ''); - configuration = { - general = { directory-listing = true; }; + nodes.machine = + { pkgs, ... }: + { + services.static-web-server = { + enable = true; + listen = "[::]:8080"; + root = toString ( + pkgs.writeTextDir "nixos-test.html" '' +

Hello NixOS!

+ '' + ); + configuration = { + general = { + directory-listing = true; + }; + }; + }; }; - }; - }; - testScript = '' - machine.start() - machine.wait_for_unit("static-web-server.socket") - machine.wait_for_open_port(8080) - # We don't use wait_until_succeeds() because we're testing socket - # activation which better work on the first request - response = machine.succeed("curl -fsS localhost:8080") - assert "nixos-test.html" in response, "The directory listing page did not include a link to our nixos-test.html file" - response = machine.succeed("curl -fsS localhost:8080/nixos-test.html") - assert "Hello NixOS!" in response - machine.wait_for_unit("static-web-server.service") - ''; -}) + testScript = '' + machine.start() + machine.wait_for_unit("static-web-server.socket") + machine.wait_for_open_port(8080) + # We don't use wait_until_succeeds() because we're testing socket + # activation which better work on the first request + response = machine.succeed("curl -fsS localhost:8080") + assert "nixos-test.html" in response, "The directory listing page did not include a link to our nixos-test.html file" + response = machine.succeed("curl -fsS localhost:8080/nixos-test.html") + assert "Hello NixOS!" in response + machine.wait_for_unit("static-web-server.service") + ''; + } +) diff --git a/nixos/tests/web-servers/ttyd.nix b/nixos/tests/web-servers/ttyd.nix index b79a2032ec75a..8735269afcff0 100644 --- a/nixos/tests/web-servers/ttyd.nix +++ b/nixos/tests/web-servers/ttyd.nix @@ -1,29 +1,36 @@ -import ../make-test-python.nix ({ lib, pkgs, ... }: { - name = "ttyd"; - meta.maintainers = with lib.maintainers; [ stunkymonkey ]; +import ../make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "ttyd"; + meta.maintainers = with lib.maintainers; [ stunkymonkey ]; - nodes.readonly = { pkgs, ... }: { - services.ttyd = { - enable = true; - entrypoint = [ (lib.getExe pkgs.htop) ]; - writeable = false; - }; - }; + nodes.readonly = + { pkgs, ... }: + { + services.ttyd = { + enable = true; + entrypoint = [ (lib.getExe pkgs.htop) ]; + writeable = false; + }; + }; - nodes.writeable = { pkgs, ... }: { - services.ttyd = { - enable = true; - username = "foo"; - passwordFile = pkgs.writeText "password" "bar"; - writeable = true; - }; - }; + nodes.writeable = + { pkgs, ... }: + { + services.ttyd = { + enable = true; + username = "foo"; + passwordFile = pkgs.writeText "password" "bar"; + writeable = true; + }; + }; - testScript = '' - for machine in [readonly, writeable]: - machine.wait_for_unit("ttyd.service") - machine.wait_for_open_port(7681) - response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/") - assert 'ttyd - Terminal' in response, "Page didn't load successfully" - ''; -}) + testScript = '' + for machine in [readonly, writeable]: + machine.wait_for_unit("ttyd.service") + machine.wait_for_open_port(7681) + response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/") + assert 'ttyd - Terminal' in response, "Page didn't load successfully" + ''; + } +) diff --git a/nixos/tests/web-servers/unit-php.nix b/nixos/tests/web-servers/unit-php.nix index f0df371945e5b..fcf0224639da1 100644 --- a/nixos/tests/web-servers/unit-php.nix +++ b/nixos/tests/web-servers/unit-php.nix @@ -1,52 +1,62 @@ -import ../make-test-python.nix ({pkgs, ...}: -let - testdir = pkgs.writeTextDir "www/info.php" " >(tee wine-stderr >&2)'" - ) - assert 'Hello, world!' in greeting - '' - # only the full version contains Gecko, but the error is not printed reliably in other variants - + optionalString (variant == "full") '' - machine.fail( - "fgrep 'Could not find Wine Gecko. HTML rendering will be disabled.' wine-stderr" - ) - '') exes} + ${concatMapStrings ( + exe: + '' + greeting = machine.succeed( + "bash -c 'wine ${exe} 2> >(tee wine-stderr >&2)'" + ) + assert 'Hello, world!' in greeting + '' + # only the full version contains Gecko, but the error is not printed reliably in other variants + + optionalString (variant == "full") '' + machine.fail( + "fgrep 'Could not find Wine Gecko. HTML rendering will be disabled.' wine-stderr" + ) + '' + ) exes} ''; }; }; - variants = [ "base" "full" "minimal" "staging" "unstable" "wayland" ]; + variants = [ + "base" + "full" + "minimal" + "staging" + "unstable" + "wayland" + ]; in listToAttrs ( map (makeWineTest "winePackages" [ hello32 ]) variants - ++ optionals pkgs.stdenv.hostPlatform.is64bit - (map (makeWineTest "wineWowPackages" [ hello32 hello64 ]) - # This wayland combination times out after spending many hours. - # https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.wine.wineWowPackages-wayland.x86_64-linux - (pkgs.lib.remove "wayland" variants)) + ++ optionals pkgs.stdenv.hostPlatform.is64bit ( + map + (makeWineTest "wineWowPackages" [ + hello32 + hello64 + ]) + # This wayland combination times out after spending many hours. + # https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.wine.wineWowPackages-wayland.x86_64-linux + (pkgs.lib.remove "wayland" variants) + ) ) diff --git a/nixos/tests/wireguard/basic.nix b/nixos/tests/wireguard/basic.nix index 96b0a681c364d..f0ef97b55fdce 100644 --- a/nixos/tests/wireguard/basic.nix +++ b/nixos/tests/wireguard/basic.nix @@ -1,4 +1,10 @@ -import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, ...} : +import ../make-test-python.nix ( + { + pkgs, + lib, + kernelPackages ? null, + ... + }: let wg-snakeoil-keys = import ./snakeoil-keys.nix; peer = (import ./make-peer.nix) { inherit lib; }; @@ -17,13 +23,19 @@ import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, ...} : boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; networking.firewall.allowedUDPPorts = [ 23542 ]; networking.wireguard.interfaces.wg0 = { - ips = [ "10.23.42.1/32" "fc00::1/128" ]; + ips = [ + "10.23.42.1/32" + "fc00::1/128" + ]; listenPort = 23542; inherit (wg-snakeoil-keys.peer0) privateKey; peers = lib.singleton { - allowedIPs = [ "10.23.42.2/32" "fc00::2/128" ]; + allowedIPs = [ + "10.23.42.2/32" + "fc00::2/128" + ]; inherit (wg-snakeoil-keys.peer1) publicKey; }; @@ -37,24 +49,34 @@ import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, ...} : extraConfig = { boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; networking.wireguard.interfaces.wg0 = { - ips = [ "10.23.42.2/32" "fc00::2/128" ]; + ips = [ + "10.23.42.2/32" + "fc00::2/128" + ]; listenPort = 23542; allowedIPsAsRoutes = false; inherit (wg-snakeoil-keys.peer1) privateKey; peers = lib.singleton { - allowedIPs = [ "0.0.0.0/0" "::/0" ]; + allowedIPs = [ + "0.0.0.0/0" + "::/0" + ]; endpoint = "192.168.0.1:23542"; persistentKeepalive = 25; inherit (wg-snakeoil-keys.peer0) publicKey; }; - postSetup = let inherit (pkgs) iproute2; in '' - ${iproute2}/bin/ip route replace 10.23.42.1/32 dev wg0 - ${iproute2}/bin/ip route replace fc00::1/128 dev wg0 - ''; + postSetup = + let + inherit (pkgs) iproute2; + in + '' + ${iproute2}/bin/ip route replace 10.23.42.1/32 dev wg0 + ${iproute2}/bin/ip route replace fc00::1/128 dev wg0 + ''; }; }; }; diff --git a/nixos/tests/wireguard/generated.nix b/nixos/tests/wireguard/generated.nix index c58f7a75071ec..31ecd9643ffc4 100644 --- a/nixos/tests/wireguard/generated.nix +++ b/nixos/tests/wireguard/generated.nix @@ -1,63 +1,74 @@ -import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, ... } : { - name = "wireguard-generated"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ma27 grahamc ]; - }; - - nodes = { - peer1 = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.firewall.allowedUDPPorts = [ 12345 ]; - networking.wireguard.interfaces.wg0 = { - ips = [ "10.10.10.1/24" ]; - listenPort = 12345; - privateKeyFile = "/etc/wireguard/private"; - generatePrivateKeyFile = true; +import ../make-test-python.nix ( + { + pkgs, + lib, + kernelPackages ? null, + ... + }: + { + name = "wireguard-generated"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + ma27 + grahamc + ]; + }; + + nodes = { + peer1 = { + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + networking.firewall.allowedUDPPorts = [ 12345 ]; + networking.wireguard.interfaces.wg0 = { + ips = [ "10.10.10.1/24" ]; + listenPort = 12345; + privateKeyFile = "/etc/wireguard/private"; + generatePrivateKeyFile = true; + }; }; - }; - peer2 = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.firewall.allowedUDPPorts = [ 12345 ]; - networking.wireguard.interfaces.wg0 = { - ips = [ "10.10.10.2/24" ]; - listenPort = 12345; - privateKeyFile = "/etc/wireguard/private"; - generatePrivateKeyFile = true; + peer2 = { + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + networking.firewall.allowedUDPPorts = [ 12345 ]; + networking.wireguard.interfaces.wg0 = { + ips = [ "10.10.10.2/24" ]; + listenPort = 12345; + privateKeyFile = "/etc/wireguard/private"; + generatePrivateKeyFile = true; + }; }; }; - }; - - testScript = '' - start_all() - - peer1.wait_for_unit("wireguard-wg0.service") - peer2.wait_for_unit("wireguard-wg0.service") - - retcode, peer1pubkey = peer1.execute("wg pubkey < /etc/wireguard/private") - if retcode != 0: - raise Exception("Could not read public key from peer1") - - retcode, peer2pubkey = peer2.execute("wg pubkey < /etc/wireguard/private") - if retcode != 0: - raise Exception("Could not read public key from peer2") - - peer1.succeed( - "wg set wg0 peer {} allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1".format( - peer2pubkey.strip() - ) - ) - peer1.succeed("ip route replace 10.10.10.2/32 dev wg0 table main") - - peer2.succeed( - "wg set wg0 peer {} allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1".format( - peer1pubkey.strip() - ) - ) - peer2.succeed("ip route replace 10.10.10.1/32 dev wg0 table main") - - peer1.succeed("ping -c1 10.10.10.2") - peer2.succeed("ping -c1 10.10.10.1") - ''; -}) + + testScript = '' + start_all() + + peer1.wait_for_unit("wireguard-wg0.service") + peer2.wait_for_unit("wireguard-wg0.service") + + retcode, peer1pubkey = peer1.execute("wg pubkey < /etc/wireguard/private") + if retcode != 0: + raise Exception("Could not read public key from peer1") + + retcode, peer2pubkey = peer2.execute("wg pubkey < /etc/wireguard/private") + if retcode != 0: + raise Exception("Could not read public key from peer2") + + peer1.succeed( + "wg set wg0 peer {} allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1".format( + peer2pubkey.strip() + ) + ) + peer1.succeed("ip route replace 10.10.10.2/32 dev wg0 table main") + + peer2.succeed( + "wg set wg0 peer {} allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1".format( + peer1pubkey.strip() + ) + ) + peer2.succeed("ip route replace 10.10.10.1/32 dev wg0 table main") + + peer1.succeed("ping -c1 10.10.10.2") + peer2.succeed("ping -c1 10.10.10.1") + ''; + } +) diff --git a/nixos/tests/wireguard/make-peer.nix b/nixos/tests/wireguard/make-peer.nix index d2740549738b4..aaee4b6507613 100644 --- a/nixos/tests/wireguard/make-peer.nix +++ b/nixos/tests/wireguard/make-peer.nix @@ -1,4 +1,9 @@ -{ lib, ... }: { ip4, ip6, extraConfig }: +{ lib, ... }: +{ + ip4, + ip6, + extraConfig, +}: lib.mkMerge [ { boot.kernel.sysctl = { @@ -9,14 +14,18 @@ lib.mkMerge [ networking.useDHCP = false; networking.interfaces.eth1 = { - ipv4.addresses = [{ - address = ip4; - prefixLength = 24; - }]; - ipv6.addresses = [{ - address = ip6; - prefixLength = 64; - }]; + ipv4.addresses = [ + { + address = ip4; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = ip6; + prefixLength = 64; + } + ]; }; } extraConfig diff --git a/nixos/tests/wireguard/namespaces.nix b/nixos/tests/wireguard/namespaces.nix index d0eb009e1107d..f88ac1eb2dfa7 100644 --- a/nixos/tests/wireguard/namespaces.nix +++ b/nixos/tests/wireguard/namespaces.nix @@ -13,71 +13,79 @@ let in -import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, ... } : { - name = "wireguard-with-namespaces"; - meta = with pkgs.lib.maintainers; { - maintainers = [ asymmetric ]; - }; +import ../make-test-python.nix ( + { + pkgs, + lib, + kernelPackages ? null, + ... + }: + { + name = "wireguard-with-namespaces"; + meta = with pkgs.lib.maintainers; { + maintainers = [ asymmetric ]; + }; - nodes = { - # interface should be created in the socketNamespace - # and not moved from there - peer0 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.wireguard.interfaces.wg0 = { - preSetup = '' - ip netns add ${socketNamespace} - ''; - inherit socketNamespace; + nodes = { + # interface should be created in the socketNamespace + # and not moved from there + peer0 = pkgs.lib.attrsets.recursiveUpdate node { + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + networking.wireguard.interfaces.wg0 = { + preSetup = '' + ip netns add ${socketNamespace} + ''; + inherit socketNamespace; + }; }; - }; - # interface should be created in the init namespace - # and moved to the interfaceNamespace - peer1 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.wireguard.interfaces.wg0 = { - preSetup = '' - ip netns add ${interfaceNamespace} - ''; - mtu = 1280; - inherit interfaceNamespace; + # interface should be created in the init namespace + # and moved to the interfaceNamespace + peer1 = pkgs.lib.attrsets.recursiveUpdate node { + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + networking.wireguard.interfaces.wg0 = { + preSetup = '' + ip netns add ${interfaceNamespace} + ''; + mtu = 1280; + inherit interfaceNamespace; + }; }; - }; - # interface should be created in the socketNamespace - # and moved to the interfaceNamespace - peer2 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.wireguard.interfaces.wg0 = { - preSetup = '' - ip netns add ${socketNamespace} - ip netns add ${interfaceNamespace} - ''; - inherit socketNamespace interfaceNamespace; + # interface should be created in the socketNamespace + # and moved to the interfaceNamespace + peer2 = pkgs.lib.attrsets.recursiveUpdate node { + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + networking.wireguard.interfaces.wg0 = { + preSetup = '' + ip netns add ${socketNamespace} + ip netns add ${interfaceNamespace} + ''; + inherit socketNamespace interfaceNamespace; + }; }; - }; - # interface should be created in the socketNamespace - # and moved to the init namespace - peer3 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.wireguard.interfaces.wg0 = { - preSetup = '' - ip netns add ${socketNamespace} - ''; - inherit socketNamespace; - interfaceNamespace = "init"; + # interface should be created in the socketNamespace + # and moved to the init namespace + peer3 = pkgs.lib.attrsets.recursiveUpdate node { + boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + networking.wireguard.interfaces.wg0 = { + preSetup = '' + ip netns add ${socketNamespace} + ''; + inherit socketNamespace; + interfaceNamespace = "init"; + }; }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - for machine in peer0, peer1, peer2, peer3: - machine.wait_for_unit("wireguard-wg0.service") + for machine in peer0, peer1, peer2, peer3: + machine.wait_for_unit("wireguard-wg0.service") - peer0.succeed("ip -n ${socketNamespace} link show wg0") - peer1.succeed("ip -n ${interfaceNamespace} link show wg0") - peer2.succeed("ip -n ${interfaceNamespace} link show wg0") - peer3.succeed("ip link show wg0") - ''; -}) + peer0.succeed("ip -n ${socketNamespace} link show wg0") + peer1.succeed("ip -n ${interfaceNamespace} link show wg0") + peer2.succeed("ip -n ${interfaceNamespace} link show wg0") + peer3.succeed("ip link show wg0") + ''; + } +) diff --git a/nixos/tests/wireguard/wg-quick.nix b/nixos/tests/wireguard/wg-quick.nix index ec2b8d7f2d9d1..981e741d32d2a 100644 --- a/nixos/tests/wireguard/wg-quick.nix +++ b/nixos/tests/wireguard/wg-quick.nix @@ -1,4 +1,11 @@ -import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, nftables ? false, ... }: +import ../make-test-python.nix ( + { + pkgs, + lib, + kernelPackages ? null, + nftables ? false, + ... + }: let wg-snakeoil-keys = import ./snakeoil-keys.nix; peer = import ./make-peer.nix { inherit lib; }; @@ -24,18 +31,28 @@ import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, nftables ? f { networking.firewall.allowedUDPPorts = [ 23542 ]; networking.wg-quick.interfaces.wg0 = { - address = [ "10.23.42.1/32" "fc00::1/128" ]; + address = [ + "10.23.42.1/32" + "fc00::1/128" + ]; listenPort = 23542; inherit (wg-snakeoil-keys.peer0) privateKey; peers = lib.singleton { - allowedIPs = [ "10.23.42.2/32" "fc00::2/128" ]; + allowedIPs = [ + "10.23.42.2/32" + "fc00::2/128" + ]; inherit (wg-snakeoil-keys.peer1) publicKey; }; - dns = [ "10.23.42.2" "fc00::2" "wg0" ]; + dns = [ + "10.23.42.2" + "fc00::2" + "wg0" + ]; }; } ]; @@ -49,18 +66,28 @@ import ../make-test-python.nix ({ pkgs, lib, kernelPackages ? null, nftables ? f { networking.useNetworkd = true; networking.wg-quick.interfaces.wg0 = { - address = [ "10.23.42.2/32" "fc00::2/128" ]; + address = [ + "10.23.42.2/32" + "fc00::2/128" + ]; inherit (wg-snakeoil-keys.peer1) privateKey; peers = lib.singleton { - allowedIPs = [ "0.0.0.0/0" "::/0" ]; + allowedIPs = [ + "0.0.0.0/0" + "::/0" + ]; endpoint = "192.168.0.1:23542"; persistentKeepalive = 25; inherit (wg-snakeoil-keys.peer0) publicKey; }; - dns = [ "10.23.42.1" "fc00::1" "wg0" ]; + dns = [ + "10.23.42.1" + "fc00::1" + "wg0" + ]; }; } ]; diff --git a/nixos/tests/without-nix.nix b/nixos/tests/without-nix.nix index b21e9f2844f50..2469a80e99b38 100644 --- a/nixos/tests/without-nix.nix +++ b/nixos/tests/without-nix.nix @@ -1,32 +1,37 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "without-nix"; - meta = with lib.maintainers; { - maintainers = [ ericson2314 ]; - }; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "without-nix"; + meta = with lib.maintainers; { + maintainers = [ ericson2314 ]; + }; - nodes.machine = { ... }: { - nix.enable = false; - nixpkgs.overlays = [ - (self: super: { - nix = throw "don't want to use pkgs.nix"; - nixVersions = lib.mapAttrs (k: throw "don't want to use pkgs.nixVersions.${k}") super.nixVersions; - # aliases, some deprecated - nix_2_3 = throw "don't want to use pkgs.nix_2_3"; - nix_2_4 = throw "don't want to use pkgs.nix_2_4"; - nix_2_5 = throw "don't want to use pkgs.nix_2_5"; - nix_2_6 = throw "don't want to use pkgs.nix_2_6"; - nixFlakes = throw "don't want to use pkgs.nixFlakes"; - nixStable = throw "don't want to use pkgs.nixStable"; - nixUnstable = throw "don't want to use pkgs.nixUnstable"; - nixStatic = throw "don't want to use pkgs.nixStatic"; - }) - ]; - }; + nodes.machine = + { ... }: + { + nix.enable = false; + nixpkgs.overlays = [ + (self: super: { + nix = throw "don't want to use pkgs.nix"; + nixVersions = lib.mapAttrs (k: throw "don't want to use pkgs.nixVersions.${k}") super.nixVersions; + # aliases, some deprecated + nix_2_3 = throw "don't want to use pkgs.nix_2_3"; + nix_2_4 = throw "don't want to use pkgs.nix_2_4"; + nix_2_5 = throw "don't want to use pkgs.nix_2_5"; + nix_2_6 = throw "don't want to use pkgs.nix_2_6"; + nixFlakes = throw "don't want to use pkgs.nixFlakes"; + nixStable = throw "don't want to use pkgs.nixStable"; + nixUnstable = throw "don't want to use pkgs.nixUnstable"; + nixStatic = throw "don't want to use pkgs.nixStatic"; + }) + ]; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.succeed("which which") - machine.fail("which nix") - ''; -}) + machine.succeed("which which") + machine.fail("which nix") + ''; + } +) diff --git a/nixos/tests/wmderland.nix b/nixos/tests/wmderland.nix index c60751c44e2cc..44622f340ca92 100644 --- a/nixos/tests/wmderland.nix +++ b/nixos/tests/wmderland.nix @@ -1,54 +1,66 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "wmderland"; - meta = with pkgs.lib.maintainers; { - maintainers = [ takagiy ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "wmderland"; + meta = with pkgs.lib.maintainers; { + maintainers = [ takagiy ]; + }; - nodes.machine = { lib, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = lib.mkForce "none+wmderland"; - services.xserver.windowManager.wmderland.enable = true; + nodes.machine = + { lib, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = lib.mkForce "none+wmderland"; + services.xserver.windowManager.wmderland.enable = true; - systemd.services.setupWmderlandConfig = { - wantedBy = [ "multi-user.target" ]; - before = [ "multi-user.target" ]; - environment = { - HOME = "/home/alice"; - }; - unitConfig = { - type = "oneshot"; - RemainAfterExit = true; - user = "alice"; + systemd.services.setupWmderlandConfig = { + wantedBy = [ "multi-user.target" ]; + before = [ "multi-user.target" ]; + environment = { + HOME = "/home/alice"; + }; + unitConfig = { + type = "oneshot"; + RemainAfterExit = true; + user = "alice"; + }; + script = + let + config = pkgs.writeText "config" '' + set $Mod = Mod1 + bindsym $Mod+Return exec ${pkgs.xterm}/bin/xterm -cm -pc + ''; + in + '' + mkdir -p $HOME/.config/wmderland + cp ${config} $HOME/.config/wmderland/config + ''; + }; }; - script = let - config = pkgs.writeText "config" '' - set $Mod = Mod1 - bindsym $Mod+Return exec ${pkgs.xterm}/bin/xterm -cm -pc - ''; - in '' - mkdir -p $HOME/.config/wmderland - cp ${config} $HOME/.config/wmderland/config - ''; - }; - }; - testScript = { ... }: '' - with subtest("ensure x starts"): - machine.wait_for_x() - machine.wait_for_file("/home/alice/.Xauthority") - machine.succeed("xauth merge ~alice/.Xauthority") + testScript = + { ... }: + '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") - with subtest("ensure we can open a new terminal"): - machine.send_key("alt-ret") - machine.wait_until_succeeds("pgrep xterm") - machine.wait_for_window(r"alice.*?machine") - machine.screenshot("terminal") + with subtest("ensure we can open a new terminal"): + machine.send_key("alt-ret") + machine.wait_until_succeeds("pgrep xterm") + machine.wait_for_window(r"alice.*?machine") + machine.screenshot("terminal") - with subtest("ensure we can communicate through ipc with wmderlandc"): - # Kills the previously open xterm - machine.succeed("pgrep xterm") - machine.execute("DISPLAY=:0 wmderlandc kill") - machine.fail("pgrep xterm") - ''; -}) + with subtest("ensure we can communicate through ipc with wmderlandc"): + # Kills the previously open xterm + machine.succeed("pgrep xterm") + machine.execute("DISPLAY=:0 wmderlandc kill") + machine.fail("pgrep xterm") + ''; + } +) diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix index e54f32bf0a5d8..4961a60275653 100644 --- a/nixos/tests/wordpress.nix +++ b/nixos/tests/wordpress.nix @@ -1,101 +1,123 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: - -rec { - name = "wordpress"; - meta = with pkgs.lib.maintainers; { - maintainers = [ - flokli - grahamc # under duress! - mmilata - ]; - }; - - nodes = lib.foldl (a: version: let - package = pkgs."wordpress_${version}"; - in a // { - "wp${version}_httpd" = _: { - services.httpd.adminAddr = "webmaster@site.local"; - services.httpd.logPerVirtualHost = true; - - services.wordpress.webserver = "httpd"; - services.wordpress.sites = { - "site1.local" = { - database.tablePrefix = "site1_"; - inherit package; - }; - "site2.local" = { - database.tablePrefix = "site2_"; - inherit package; - }; - }; - - networking.firewall.allowedTCPPorts = [ 80 ]; - networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + + rec { + name = "wordpress"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + flokli + grahamc # under duress! + mmilata + ]; }; - "wp${version}_nginx" = _: { - services.wordpress.webserver = "nginx"; - services.wordpress.sites = { - "site1.local" = { - database.tablePrefix = "site1_"; - inherit package; - }; - "site2.local" = { - database.tablePrefix = "site2_"; - inherit package; - }; - }; - - networking.firewall.allowedTCPPorts = [ 80 ]; - networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; - }; - - "wp${version}_caddy" = _: { - services.wordpress.webserver = "caddy"; - services.wordpress.sites = { - "site1.local" = { - database.tablePrefix = "site1_"; - inherit package; - }; - "site2.local" = { - database.tablePrefix = "site2_"; - inherit package; - }; - }; - - networking.firewall.allowedTCPPorts = [ 80 ]; - networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; - }; - }) {} [ - "6_7" - ]; - - testScript = '' - import re - - start_all() - - ${lib.concatStrings (lib.mapAttrsToList (name: value: '' - ${name}.wait_for_unit("${(value null).services.wordpress.webserver}") - '') nodes)} - - site_names = ["site1.local", "site2.local"] - - for machine in (${lib.concatStringsSep ", " (builtins.attrNames nodes)}): - for site_name in site_names: - machine.wait_for_unit(f"phpfpm-wordpress-{site_name}") - - with subtest("website returns welcome screen"): - assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}") - - with subtest("wordpress-init went through"): - info = machine.get_unit_info(f"wordpress-init-{site_name}") - assert info["Result"] == "success" - - with subtest("secret keys are set"): - pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE) - assert pattern.search( - machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php") - ) - ''; -}) + nodes = + lib.foldl + ( + a: version: + let + package = pkgs."wordpress_${version}"; + in + a + // { + "wp${version}_httpd" = _: { + services.httpd.adminAddr = "webmaster@site.local"; + services.httpd.logPerVirtualHost = true; + + services.wordpress.webserver = "httpd"; + services.wordpress.sites = { + "site1.local" = { + database.tablePrefix = "site1_"; + inherit package; + }; + "site2.local" = { + database.tablePrefix = "site2_"; + inherit package; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ + "site1.local" + "site2.local" + ]; + }; + + "wp${version}_nginx" = _: { + services.wordpress.webserver = "nginx"; + services.wordpress.sites = { + "site1.local" = { + database.tablePrefix = "site1_"; + inherit package; + }; + "site2.local" = { + database.tablePrefix = "site2_"; + inherit package; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ + "site1.local" + "site2.local" + ]; + }; + + "wp${version}_caddy" = _: { + services.wordpress.webserver = "caddy"; + services.wordpress.sites = { + "site1.local" = { + database.tablePrefix = "site1_"; + inherit package; + }; + "site2.local" = { + database.tablePrefix = "site2_"; + inherit package; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ + "site1.local" + "site2.local" + ]; + }; + } + ) + { } + [ + "6_7" + ]; + + testScript = '' + import re + + start_all() + + ${lib.concatStrings ( + lib.mapAttrsToList (name: value: '' + ${name}.wait_for_unit("${(value null).services.wordpress.webserver}") + '') nodes + )} + + site_names = ["site1.local", "site2.local"] + + for machine in (${lib.concatStringsSep ", " (builtins.attrNames nodes)}): + for site_name in site_names: + machine.wait_for_unit(f"phpfpm-wordpress-{site_name}") + + with subtest("website returns welcome screen"): + assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}") + + with subtest("wordpress-init went through"): + info = machine.get_unit_info(f"wordpress-init-{site_name}") + assert info["Result"] == "success" + + with subtest("secret keys are set"): + pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE) + assert pattern.search( + machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php") + ) + ''; + } +) diff --git a/nixos/tests/wpa_supplicant.nix b/nixos/tests/wpa_supplicant.nix index 0ec75b4606764..180219adca754 100644 --- a/nixos/tests/wpa_supplicant.nix +++ b/nixos/tests/wpa_supplicant.nix @@ -5,89 +5,94 @@ let inherit (pkgs) lib; meta = with lib.maintainers; { - maintainers = [ oddlama rnhmjoj ]; + maintainers = [ + oddlama + rnhmjoj + ]; }; naughtyPassphrase = ''!,./;'[]\-=<>?:"{}|_+@$%^&*()`~ # ceci n'est pas un commentaire''; - runConnectionTest = name: extraConfig: runTest { - name = "wpa_supplicant-${name}"; - inherit meta; - - nodes.machine = { - # add a virtual wlan interface - boot.kernelModules = [ "mac80211_hwsim" ]; - - # wireless access point - services.hostapd = { - enable = true; - radios.wlan0 = { - band = "2g"; - channel = 6; - countryCode = "US"; - networks = { - wlan0 = { - ssid = "nixos-test-sae"; - authentication = { - mode = "wpa3-sae"; - saePasswords = [ { password = naughtyPassphrase; } ]; + runConnectionTest = + name: extraConfig: + runTest { + name = "wpa_supplicant-${name}"; + inherit meta; + + nodes.machine = { + # add a virtual wlan interface + boot.kernelModules = [ "mac80211_hwsim" ]; + + # wireless access point + services.hostapd = { + enable = true; + radios.wlan0 = { + band = "2g"; + channel = 6; + countryCode = "US"; + networks = { + wlan0 = { + ssid = "nixos-test-sae"; + authentication = { + mode = "wpa3-sae"; + saePasswords = [ { password = naughtyPassphrase; } ]; + }; + bssid = "02:00:00:00:00:00"; }; - bssid = "02:00:00:00:00:00"; - }; - wlan0-1 = { - ssid = "nixos-test-mixed"; - authentication = { - mode = "wpa3-sae-transition"; - saeAddToMacAllow = true; - saePasswordsFile = pkgs.writeText "password" naughtyPassphrase; - wpaPasswordFile = pkgs.writeText "password" naughtyPassphrase; + wlan0-1 = { + ssid = "nixos-test-mixed"; + authentication = { + mode = "wpa3-sae-transition"; + saeAddToMacAllow = true; + saePasswordsFile = pkgs.writeText "password" naughtyPassphrase; + wpaPasswordFile = pkgs.writeText "password" naughtyPassphrase; + }; + bssid = "02:00:00:00:00:01"; }; - bssid = "02:00:00:00:00:01"; - }; - wlan0-2 = { - ssid = "nixos-test-wpa2"; - authentication = { - mode = "wpa2-sha256"; - wpaPassword = naughtyPassphrase; + wlan0-2 = { + ssid = "nixos-test-wpa2"; + authentication = { + mode = "wpa2-sha256"; + wpaPassword = naughtyPassphrase; + }; + bssid = "02:00:00:00:00:02"; }; - bssid = "02:00:00:00:00:02"; }; }; }; + + # wireless client + networking.wireless = lib.mkMerge [ + { + # the override is needed because the wifi is + # disabled with mkVMOverride in qemu-vm.nix. + enable = lib.mkOverride 0 true; + userControlled.enable = true; + interfaces = [ "wlan1" ]; + fallbackToWPA2 = lib.mkDefault true; + + # secrets + secretsFile = pkgs.writeText "wpa-secrets" '' + psk_nixos_test=${naughtyPassphrase} + ''; + } + extraConfig + ]; }; - # wireless client - networking.wireless = lib.mkMerge [ - { - # the override is needed because the wifi is - # disabled with mkVMOverride in qemu-vm.nix. - enable = lib.mkOverride 0 true; - userControlled.enable = true; - interfaces = [ "wlan1" ]; - fallbackToWPA2 = lib.mkDefault true; - - # secrets - secretsFile = pkgs.writeText "wpa-secrets" '' - psk_nixos_test=${naughtyPassphrase} - ''; - } - extraConfig - ]; + testScript = '' + # save hostapd config file for manual inspection + machine.wait_for_unit("hostapd.service") + machine.copy_from_vm("/run/hostapd/wlan0.hostapd.conf") + + with subtest("Daemon can connect to the access point"): + machine.wait_for_unit("wpa_supplicant-wlan1.service") + machine.wait_until_succeeds( + "wpa_cli -i wlan1 status | grep -q wpa_state=COMPLETED" + ) + ''; }; - testScript = '' - # save hostapd config file for manual inspection - machine.wait_for_unit("hostapd.service") - machine.copy_from_vm("/run/hostapd/wlan0.hostapd.conf") - - with subtest("Daemon can connect to the access point"): - machine.wait_for_unit("wpa_supplicant-wlan1.service") - machine.wait_until_succeeds( - "wpa_cli -i wlan1 status | grep -q wpa_state=COMPLETED" - ) - ''; - }; - in { @@ -115,7 +120,10 @@ in # test WPA2 fallback mixed-wpa = { psk = "password"; - authProtocols = [ "WPA-PSK" "SAE" ]; + authProtocols = [ + "WPA-PSK" + "SAE" + ]; }; sae-only = { psk = "password"; diff --git a/nixos/tests/wrappers.nix b/nixos/tests/wrappers.nix index 1d4fa85d73993..8feb92b379275 100644 --- a/nixos/tests/wrappers.nix +++ b/nixos/tests/wrappers.nix @@ -1,55 +1,59 @@ -import ./make-test-python.nix ({ pkgs, ... }: -let - userUid = 1000; - usersGid = 100; - busybox = pkgs : pkgs.busybox.override { - # Without this, the busybox binary drops euid to ruid for most applets, including id. - # See https://bugs.busybox.net/show_bug.cgi?id=15101 - extraConfig = "CONFIG_FEATURE_SUID n"; - }; -in -{ - name = "wrappers"; - - nodes.machine = { config, pkgs, ... }: { - ids.gids.users = usersGid; - - users.users = { - regular = { - uid = userUid; - isNormalUser = true; +import ./make-test-python.nix ( + { pkgs, ... }: + let + userUid = 1000; + usersGid = 100; + busybox = + pkgs: + pkgs.busybox.override { + # Without this, the busybox binary drops euid to ruid for most applets, including id. + # See https://bugs.busybox.net/show_bug.cgi?id=15101 + extraConfig = "CONFIG_FEATURE_SUID n"; }; - }; - - security.apparmor.enable = true; - - security.wrappers = { - suidRoot = { - owner = "root"; - group = "root"; - setuid = true; - source = "${busybox pkgs}/bin/busybox"; - program = "suid_root_busybox"; - }; - sgidRoot = { - owner = "root"; - group = "root"; - setgid = true; - source = "${busybox pkgs}/bin/busybox"; - program = "sgid_root_busybox"; - }; - withChown = { - owner = "root"; - group = "root"; - source = "${pkgs.libcap}/bin/capsh"; - program = "capsh_with_chown"; - capabilities = "cap_chown+ep"; + in + { + name = "wrappers"; + + nodes.machine = + { config, pkgs, ... }: + { + ids.gids.users = usersGid; + + users.users = { + regular = { + uid = userUid; + isNormalUser = true; + }; + }; + + security.apparmor.enable = true; + + security.wrappers = { + suidRoot = { + owner = "root"; + group = "root"; + setuid = true; + source = "${busybox pkgs}/bin/busybox"; + program = "suid_root_busybox"; + }; + sgidRoot = { + owner = "root"; + group = "root"; + setgid = true; + source = "${busybox pkgs}/bin/busybox"; + program = "sgid_root_busybox"; + }; + withChown = { + owner = "root"; + group = "root"; + source = "${pkgs.libcap}/bin/capsh"; + program = "capsh_with_chown"; + capabilities = "cap_chown+ep"; + }; + }; }; - }; - }; - testScript = - '' + testScript = '' def cmd_as_regular(cmd): return "su -l regular -c '{0}'".format(cmd) @@ -109,4 +113,5 @@ in # test for that one. machine.succeed("ping -c 1 127.0.0.1") ''; -}) + } +) diff --git a/nixos/tests/xandikos.nix b/nixos/tests/xandikos.nix index 69d78ee21e767..4905a5bc067d5 100644 --- a/nixos/tests/xandikos.nix +++ b/nixos/tests/xandikos.nix @@ -1,70 +1,73 @@ import ./make-test-python.nix ( { pkgs, lib, ... }: - { - name = "xandikos"; + { + name = "xandikos"; - meta.maintainers = with lib.maintainers; [ _0x4A6F ]; + meta.maintainers = with lib.maintainers; [ _0x4A6F ]; - nodes = { - xandikos_client = {}; - xandikos_default = { - networking.firewall.allowedTCPPorts = [ 8080 ]; - services.xandikos.enable = true; - }; - xandikos_proxy = { - networking.firewall.allowedTCPPorts = [ 80 8080 ]; - services.xandikos.enable = true; - services.xandikos.address = "localhost"; - services.xandikos.port = 8080; - services.xandikos.routePrefix = "/xandikos-prefix/"; - services.xandikos.extraOptions = [ - "--defaults" - ]; - services.nginx = { - enable = true; - recommendedProxySettings = true; - virtualHosts."xandikos" = { - serverName = "xandikos.local"; - basicAuth.xandikos = "snakeOilPassword"; - locations."/xandikos/" = { - proxyPass = "http://localhost:8080/xandikos-prefix/"; - }; + nodes = { + xandikos_client = { }; + xandikos_default = { + networking.firewall.allowedTCPPorts = [ 8080 ]; + services.xandikos.enable = true; + }; + xandikos_proxy = { + networking.firewall.allowedTCPPorts = [ + 80 + 8080 + ]; + services.xandikos.enable = true; + services.xandikos.address = "localhost"; + services.xandikos.port = 8080; + services.xandikos.routePrefix = "/xandikos-prefix/"; + services.xandikos.extraOptions = [ + "--defaults" + ]; + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts."xandikos" = { + serverName = "xandikos.local"; + basicAuth.xandikos = "snakeOilPassword"; + locations."/xandikos/" = { + proxyPass = "http://localhost:8080/xandikos-prefix/"; }; }; }; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("Xandikos default"): - xandikos_default.wait_for_unit("multi-user.target") - xandikos_default.wait_for_unit("xandikos.service") - xandikos_default.wait_for_open_port(8080) - xandikos_default.succeed("curl --fail http://localhost:8080/") - xandikos_default.succeed( - "curl -s --fail --location http://localhost:8080/ | grep -i Xandikos" - ) - xandikos_client.wait_for_unit("network.target") - xandikos_client.fail("curl --fail http://xandikos_default:8080/") + with subtest("Xandikos default"): + xandikos_default.wait_for_unit("multi-user.target") + xandikos_default.wait_for_unit("xandikos.service") + xandikos_default.wait_for_open_port(8080) + xandikos_default.succeed("curl --fail http://localhost:8080/") + xandikos_default.succeed( + "curl -s --fail --location http://localhost:8080/ | grep -i Xandikos" + ) + xandikos_client.wait_for_unit("network.target") + xandikos_client.fail("curl --fail http://xandikos_default:8080/") - with subtest("Xandikos proxy"): - xandikos_proxy.wait_for_unit("multi-user.target") - xandikos_proxy.wait_for_unit("xandikos.service") - xandikos_proxy.wait_for_open_port(8080) - xandikos_proxy.succeed("curl --fail http://localhost:8080/") - xandikos_proxy.succeed( - "curl -s --fail --location http://localhost:8080/ | grep -i Xandikos" - ) - xandikos_client.wait_for_unit("network.target") - xandikos_client.fail("curl --fail http://xandikos_proxy:8080/") - xandikos_client.succeed( - "curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/ | grep -i Xandikos" - ) - xandikos_client.succeed( - "curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/user/ | grep -i Xandikos" - ) - ''; - } + with subtest("Xandikos proxy"): + xandikos_proxy.wait_for_unit("multi-user.target") + xandikos_proxy.wait_for_unit("xandikos.service") + xandikos_proxy.wait_for_open_port(8080) + xandikos_proxy.succeed("curl --fail http://localhost:8080/") + xandikos_proxy.succeed( + "curl -s --fail --location http://localhost:8080/ | grep -i Xandikos" + ) + xandikos_client.wait_for_unit("network.target") + xandikos_client.fail("curl --fail http://xandikos_proxy:8080/") + xandikos_client.succeed( + "curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/ | grep -i Xandikos" + ) + xandikos_client.succeed( + "curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/user/ | grep -i Xandikos" + ) + ''; + } ) diff --git a/nixos/tests/xautolock.nix b/nixos/tests/xautolock.nix index cf81c4a1cf05d..5b35f36b75464 100644 --- a/nixos/tests/xautolock.nix +++ b/nixos/tests/xautolock.nix @@ -1,22 +1,27 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: -{ - name = "xautolock"; - meta.maintainers = [ ]; + { + name = "xautolock"; + meta.maintainers = [ ]; - nodes.machine = { - imports = [ ./common/x11.nix ./common/user-account.nix ]; + nodes.machine = { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; - test-support.displayManager.auto.user = "bob"; - services.xserver.xautolock.enable = true; - services.xserver.xautolock.time = 1; - }; + test-support.displayManager.auto.user = "bob"; + services.xserver.xautolock.enable = true; + services.xserver.xautolock.time = 1; + }; - testScript = '' - machine.start() - machine.wait_for_x() - machine.fail("pgrep xlock") - machine.sleep(120) - machine.succeed("pgrep xlock") - ''; -}) + testScript = '' + machine.start() + machine.wait_for_x() + machine.fail("pgrep xlock") + machine.sleep(120) + machine.succeed("pgrep xlock") + ''; + } +) diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 1cef8daf3d49f..d22681dd903bd 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,70 +1,76 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "xfce"; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "xfce"; - nodes.machine = - { pkgs, ... }: + nodes.machine = + { pkgs, ... }: - { - imports = [ - ./common/user-account.nix - ]; + { + imports = [ + ./common/user-account.nix + ]; - services.xserver.enable = true; - services.xserver.displayManager.lightdm.enable = true; + services.xserver.enable = true; + services.xserver.displayManager.lightdm.enable = true; - services.displayManager.autoLogin = { - enable = true; - user = "alice"; - }; + services.displayManager.autoLogin = { + enable = true; + user = "alice"; + }; - services.xserver.desktopManager.xfce.enable = true; - environment.systemPackages = [ pkgs.xfce.xfce4-whiskermenu-plugin ]; - }; + services.xserver.desktopManager.xfce.enable = true; + environment.systemPackages = [ pkgs.xfce.xfce4-whiskermenu-plugin ]; + }; - enableOCR = true; + enableOCR = true; - testScript = { nodes, ... }: let - user = nodes.machine.users.users.alice; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; - in '' - with subtest("Wait for login"): - machine.wait_for_x() - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus"; + in + '' + with subtest("Wait for login"): + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") - with subtest("Check that logging in has given the user ownership of devices"): - machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") + with subtest("Check that logging in has given the user ownership of devices"): + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") - with subtest("Check if Xfce components actually start"): - machine.wait_for_window("xfce4-panel") - machine.wait_for_window("Desktop") - for i in ["xfwm4", "xfsettingsd", "xfdesktop", "xfce4-screensaver", "xfce4-notifyd", "xfconfd"]: - machine.wait_until_succeeds(f"pgrep -f {i}") + with subtest("Check if Xfce components actually start"): + machine.wait_for_window("xfce4-panel") + machine.wait_for_window("Desktop") + for i in ["xfwm4", "xfsettingsd", "xfdesktop", "xfce4-screensaver", "xfce4-notifyd", "xfconfd"]: + machine.wait_until_succeeds(f"pgrep -f {i}") - with subtest("Open whiskermenu"): - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfconf-query -c xfce4-panel -p /plugins/plugin-1 -t string -s whiskermenu -n >&2 &'") - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfconf-query -c xfce4-panel -p /plugins/plugin-1/stay-on-focus-out -t bool -s true -n >&2 &'") - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfce4-panel -r >&2 &'") - machine.wait_until_succeeds("journalctl -b --grep 'xfce4-panel: Restarting' -t xsession") - machine.sleep(5) - machine.wait_until_succeeds("pgrep -f libwhiskermenu") - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfce4-popup-whiskermenu >&2 &'") - machine.wait_for_text('Mail Reader') - # Close the menu. - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfce4-popup-whiskermenu >&2 &'") + with subtest("Open whiskermenu"): + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfconf-query -c xfce4-panel -p /plugins/plugin-1 -t string -s whiskermenu -n >&2 &'") + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfconf-query -c xfce4-panel -p /plugins/plugin-1/stay-on-focus-out -t bool -s true -n >&2 &'") + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfce4-panel -r >&2 &'") + machine.wait_until_succeeds("journalctl -b --grep 'xfce4-panel: Restarting' -t xsession") + machine.sleep(5) + machine.wait_until_succeeds("pgrep -f libwhiskermenu") + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfce4-popup-whiskermenu >&2 &'") + machine.wait_for_text('Mail Reader') + # Close the menu. + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 ${bus} xfce4-popup-whiskermenu >&2 &'") - with subtest("Open Xfce terminal"): - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 xfce4-terminal >&2 &'") - machine.wait_for_window("Terminal") + with subtest("Open Xfce terminal"): + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 xfce4-terminal >&2 &'") + machine.wait_for_window("Terminal") - with subtest("Open Thunar"): - machine.succeed("su - ${user.name} -c 'DISPLAY=:0 thunar >&2 &'") - machine.wait_for_window("Thunar") - machine.wait_for_text('(Pictures|Public|Templates|Videos)') + with subtest("Open Thunar"): + machine.succeed("su - ${user.name} -c 'DISPLAY=:0 thunar >&2 &'") + machine.wait_for_window("Thunar") + machine.wait_for_text('(Pictures|Public|Templates|Videos)') - with subtest("Check if any coredumps are found"): - machine.succeed("(coredumpctl --json=short 2>&1 || true) | grep 'No coredumps found'") - machine.sleep(10) - machine.screenshot("screen") - ''; -}) + with subtest("Check if any coredumps are found"): + machine.succeed("(coredumpctl --json=short 2>&1 || true) | grep 'No coredumps found'") + machine.sleep(10) + machine.screenshot("screen") + ''; + } +) diff --git a/nixos/tests/xmonad-xdg-autostart.nix b/nixos/tests/xmonad-xdg-autostart.nix index f1780072f9740..419b3e413a08f 100644 --- a/nixos/tests/xmonad-xdg-autostart.nix +++ b/nixos/tests/xmonad-xdg-autostart.nix @@ -1,35 +1,44 @@ -import ./make-test-python.nix ({ lib, ... }: { - name = "xmonad-xdg-autostart"; - meta.maintainers = with lib.maintainers; [ oxalica ]; +import ./make-test-python.nix ( + { lib, ... }: + { + name = "xmonad-xdg-autostart"; + meta.maintainers = with lib.maintainers; [ oxalica ]; - nodes.machine = { pkgs, config, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = "none+xmonad"; - services.xserver.windowManager.xmonad.enable = true; - services.xserver.desktopManager.runXdgAutostartIfNone = true; + nodes.machine = + { pkgs, config, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = "none+xmonad"; + services.xserver.windowManager.xmonad.enable = true; + services.xserver.desktopManager.runXdgAutostartIfNone = true; - environment.systemPackages = [ - (pkgs.writeTextFile { - name = "test-xdg-autostart"; - destination = "/etc/xdg/autostart/test-xdg-autostart.desktop"; - text = '' - [Desktop Entry] - Name=test-xdg-autoatart - Type=Application - Terminal=false - Exec=${pkgs.coreutils}/bin/touch ${config.users.users.alice.home}/xdg-autostart-executed - ''; - }) - ]; - }; + environment.systemPackages = [ + (pkgs.writeTextFile { + name = "test-xdg-autostart"; + destination = "/etc/xdg/autostart/test-xdg-autostart.desktop"; + text = '' + [Desktop Entry] + Name=test-xdg-autoatart + Type=Application + Terminal=false + Exec=${pkgs.coreutils}/bin/touch ${config.users.users.alice.home}/xdg-autostart-executed + ''; + }) + ]; + }; - testScript = { nodes, ... }: - let - user = nodes.machine.config.users.users.alice; - in - '' - machine.wait_for_x() - machine.wait_for_file("${user.home}/xdg-autostart-executed") - ''; -}) + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + machine.wait_for_x() + machine.wait_for_file("${user.home}/xdg-autostart-executed") + ''; + } +) diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix index c61e96886e2c5..803d468bd12fa 100644 --- a/nixos/tests/xmonad.nix +++ b/nixos/tests/xmonad.nix @@ -1,117 +1,131 @@ -import ./make-test-python.nix ({ pkgs, ...}: - -let - mkConfig = name: keys: '' - import XMonad - import XMonad.Operations (restart) - import XMonad.Util.EZConfig - import XMonad.Util.SessionStart - import Control.Monad (when) - import Text.Printf (printf) - import System.Posix.Process (executeFile) - import System.Info (arch,os) - import System.Environment (getArgs) - import System.FilePath (()) - - main = do - dirs <- getDirectories - launch (def { startupHook = startup } `additionalKeysP` myKeys) dirs - - startup = isSessionStart >>= \sessInit -> - spawn "touch /tmp/${name}" - >> if sessInit then setSessionStarted else spawn "xterm" - - myKeys = [${builtins.concatStringsSep ", " keys}] - - compiledConfig = printf "xmonad-%s-%s" arch os - - compileRestart resume = do - dirs <- asks directories - - whenX (recompile dirs True) $ - when resume writeStateToFile - *> catchIO - ( do - args <- getArgs - executeFile (cacheDir dirs compiledConfig) False args Nothing - ) - ''; - - oldKeys = - [ ''("M-C-x", spawn "xterm")'' +import ./make-test-python.nix ( + { pkgs, ... }: + + let + mkConfig = name: keys: '' + import XMonad + import XMonad.Operations (restart) + import XMonad.Util.EZConfig + import XMonad.Util.SessionStart + import Control.Monad (when) + import Text.Printf (printf) + import System.Posix.Process (executeFile) + import System.Info (arch,os) + import System.Environment (getArgs) + import System.FilePath (()) + + main = do + dirs <- getDirectories + launch (def { startupHook = startup } `additionalKeysP` myKeys) dirs + + startup = isSessionStart >>= \sessInit -> + spawn "touch /tmp/${name}" + >> if sessInit then setSessionStarted else spawn "xterm" + + myKeys = [${builtins.concatStringsSep ", " keys}] + + compiledConfig = printf "xmonad-%s-%s" arch os + + compileRestart resume = do + dirs <- asks directories + + whenX (recompile dirs True) $ + when resume writeStateToFile + *> catchIO + ( do + args <- getArgs + executeFile (cacheDir dirs compiledConfig) False args Nothing + ) + ''; + + oldKeys = [ + ''("M-C-x", spawn "xterm")'' ''("M-q", restart "xmonad" True)'' ''("M-C-q", compileRestart True)'' ''("M-C-t", spawn "touch /tmp/somefile")'' # create somefile ]; - newKeys = - [ ''("M-C-x", spawn "xterm")'' + newKeys = [ + ''("M-C-x", spawn "xterm")'' ''("M-q", restart "xmonad" True)'' ''("M-C-q", compileRestart True)'' ''("M-C-r", spawn "rm /tmp/somefile")'' # delete somefile ]; - newConfig = pkgs.writeText "xmonad.hs" (mkConfig "newXMonad" newKeys); -in { - name = "xmonad"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nequissimus ivanbrennan ]; - }; - - nodes.machine = { pkgs, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.displayManager.defaultSession = "none+xmonad"; - services.xserver.windowManager.xmonad = { - enable = true; - enableConfiguredRecompile = true; - enableContribAndExtras = true; - extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ]; - config = mkConfig "oldXMonad" oldKeys; + newConfig = pkgs.writeText "xmonad.hs" (mkConfig "newXMonad" newKeys); + in + { + name = "xmonad"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + nequissimus + ivanbrennan + ]; }; - }; - - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - in '' - machine.wait_for_x() - machine.wait_for_file("${user.home}/.Xauthority") - machine.succeed("xauth merge ${user.home}/.Xauthority") - machine.send_key("alt-ctrl-x") - machine.wait_for_window("${user.name}.*machine") - machine.sleep(1) - machine.screenshot("terminal1") - machine.succeed("rm /tmp/oldXMonad") - machine.send_key("alt-q") - machine.wait_for_file("/tmp/oldXMonad") - machine.wait_for_window("${user.name}.*machine") - machine.sleep(1) - machine.screenshot("terminal2") - - # /tmp/somefile should not exist yet - machine.fail("stat /tmp/somefile") - - # original config has a keybinding that creates somefile - machine.send_key("alt-ctrl-t") - machine.wait_for_file("/tmp/somefile") - - # set up the new config - machine.succeed("mkdir -p ${user.home}/.xmonad") - machine.copy_from_host("${newConfig}", "${user.home}/.config/xmonad/xmonad.hs") - - # recompile xmonad using the new config - machine.send_key("alt-ctrl-q") - machine.wait_for_file("/tmp/newXMonad") - - # new config has a keybinding that deletes somefile - machine.send_key("alt-ctrl-r") - machine.wait_until_fails("stat /tmp/somefile", timeout=30) - - # restart with the old config, and confirm the old keybinding is back - machine.succeed("rm /tmp/oldXMonad") - machine.send_key("alt-q") - machine.wait_for_file("/tmp/oldXMonad") - machine.send_key("alt-ctrl-t") - machine.wait_for_file("/tmp/somefile") - ''; -}) + + nodes.machine = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = "none+xmonad"; + services.xserver.windowManager.xmonad = { + enable = true; + enableConfiguredRecompile = true; + enableContribAndExtras = true; + extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ]; + config = mkConfig "oldXMonad" oldKeys; + }; + }; + + testScript = + { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + in + '' + machine.wait_for_x() + machine.wait_for_file("${user.home}/.Xauthority") + machine.succeed("xauth merge ${user.home}/.Xauthority") + machine.send_key("alt-ctrl-x") + machine.wait_for_window("${user.name}.*machine") + machine.sleep(1) + machine.screenshot("terminal1") + machine.succeed("rm /tmp/oldXMonad") + machine.send_key("alt-q") + machine.wait_for_file("/tmp/oldXMonad") + machine.wait_for_window("${user.name}.*machine") + machine.sleep(1) + machine.screenshot("terminal2") + + # /tmp/somefile should not exist yet + machine.fail("stat /tmp/somefile") + + # original config has a keybinding that creates somefile + machine.send_key("alt-ctrl-t") + machine.wait_for_file("/tmp/somefile") + + # set up the new config + machine.succeed("mkdir -p ${user.home}/.xmonad") + machine.copy_from_host("${newConfig}", "${user.home}/.config/xmonad/xmonad.hs") + + # recompile xmonad using the new config + machine.send_key("alt-ctrl-q") + machine.wait_for_file("/tmp/newXMonad") + + # new config has a keybinding that deletes somefile + machine.send_key("alt-ctrl-r") + machine.wait_until_fails("stat /tmp/somefile", timeout=30) + + # restart with the old config, and confirm the old keybinding is back + machine.succeed("rm /tmp/oldXMonad") + machine.send_key("alt-q") + machine.wait_for_file("/tmp/oldXMonad") + machine.send_key("alt-ctrl-t") + machine.wait_for_file("/tmp/somefile") + ''; + } +) diff --git a/nixos/tests/xmpp/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix index a31a1b8eeab85..8af378322aa93 100644 --- a/nixos/tests/xmpp/ejabberd.nix +++ b/nixos/tests/xmpp/ejabberd.nix @@ -1,293 +1,306 @@ let - cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=muc.example.com' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; + cert = + pkgs: + pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=muc.example.com' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; in -import ../make-test-python.nix ({ pkgs, ... }: { - name = "ejabberd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - nodes = { - client = { nodes, pkgs, ... }: { - security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - networking.extraHosts = '' - ${nodes.server.config.networking.primaryIPAddress} example.com - ''; - - environment.systemPackages = [ - (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) - ]; +import ../make-test-python.nix ( + { pkgs, ... }: + { + name = "ejabberd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - server = { config, pkgs, ... }: { - security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - networking.extraHosts = '' - ${config.networking.primaryIPAddress} example.com - ''; + nodes = { + client = + { nodes, pkgs, ... }: + { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + networking.extraHosts = '' + ${nodes.server.config.networking.primaryIPAddress} example.com + ''; - services.ejabberd = { - enable = true; - configFile = "/etc/ejabberd.yml"; - }; + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { + connectTo = nodes.server.config.networking.primaryIPAddress; + }) + ]; + }; + server = + { config, pkgs, ... }: + { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ''; - systemd.services.ejabberd.serviceConfig.TimeoutStartSec = "15min"; - environment.etc."ejabberd.yml" = { - user = "ejabberd"; - mode = "0600"; - text = '' - loglevel: 3 + services.ejabberd = { + enable = true; + configFile = "/etc/ejabberd.yml"; + }; - hosts: - - "example.com" + systemd.services.ejabberd.serviceConfig.TimeoutStartSec = "15min"; + environment.etc."ejabberd.yml" = { + user = "ejabberd"; + mode = "0600"; + text = '' + loglevel: 3 - listen: - - - port: 5222 - module: ejabberd_c2s - zlib: false - max_stanza_size: 65536 - shaper: c2s_shaper - access: c2s - starttls: true - - - port: 5269 - ip: "::" - module: ejabberd_s2s_in - - - port: 5347 - ip: "127.0.0.1" - module: ejabberd_service - access: local - shaper: fast - - - port: 5444 - module: ejabberd_http - request_handlers: - "/upload": mod_http_upload + hosts: + - "example.com" - certfiles: - - ${cert pkgs}/key.pem - - ${cert pkgs}/cert.pem + listen: + - + port: 5222 + module: ejabberd_c2s + zlib: false + max_stanza_size: 65536 + shaper: c2s_shaper + access: c2s + starttls: true + - + port: 5269 + ip: "::" + module: ejabberd_s2s_in + - + port: 5347 + ip: "127.0.0.1" + module: ejabberd_service + access: local + shaper: fast + - + port: 5444 + module: ejabberd_http + request_handlers: + "/upload": mod_http_upload - ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text - ## password storage (see auth_password_format option). - disable_sasl_mechanisms: "digest-md5" + certfiles: + - ${cert pkgs}/key.pem + - ${cert pkgs}/cert.pem - ## Outgoing S2S options - ## Preferred address families (which to try first) and connect timeout - ## in seconds. - outgoing_s2s_families: - - ipv4 - - ipv6 + ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text + ## password storage (see auth_password_format option). + disable_sasl_mechanisms: "digest-md5" - ## auth_method: Method used to authenticate the users. - ## The default method is the internal. - ## If you want to use a different method, - ## comment this line and enable the correct ones. - auth_method: internal + ## Outgoing S2S options + ## Preferred address families (which to try first) and connect timeout + ## in seconds. + outgoing_s2s_families: + - ipv4 + - ipv6 - ## Store the plain passwords or hashed for SCRAM: - ## auth_password_format: plain - auth_password_format: scram + ## auth_method: Method used to authenticate the users. + ## The default method is the internal. + ## If you want to use a different method, + ## comment this line and enable the correct ones. + auth_method: internal - ###' TRAFFIC SHAPERS - shaper: - # in B/s - normal: 1000000 - fast: 50000000 + ## Store the plain passwords or hashed for SCRAM: + ## auth_password_format: plain + auth_password_format: scram - ## This option specifies the maximum number of elements in the queue - ## of the FSM. Refer to the documentation for details. - max_fsm_queue: 1000 + ###' TRAFFIC SHAPERS + shaper: + # in B/s + normal: 1000000 + fast: 50000000 - ###' ACCESS CONTROL LISTS - acl: - ## The 'admin' ACL grants administrative privileges to XMPP accounts. - ## You can put here as many accounts as you want. - admin: - user: - - "root": "example.com" + ## This option specifies the maximum number of elements in the queue + ## of the FSM. Refer to the documentation for details. + max_fsm_queue: 1000 - ## Local users: don't modify this. - local: - user_regexp: "" + ###' ACCESS CONTROL LISTS + acl: + ## The 'admin' ACL grants administrative privileges to XMPP accounts. + ## You can put here as many accounts as you want. + admin: + user: + - "root": "example.com" - ## Loopback network - loopback: - ip: - - "127.0.0.0/8" - - "::1/128" - - "::FFFF:127.0.0.1/128" + ## Local users: don't modify this. + local: + user_regexp: "" - ###' SHAPER RULES - shaper_rules: - ## Maximum number of simultaneous sessions allowed for a single user: - max_user_sessions: 10 - ## Maximum number of offline messages that users can have: - max_user_offline_messages: - - 5000: admin - - 1024 - ## For C2S connections, all users except admins use the "normal" shaper - c2s_shaper: - - none: admin - - normal - ## All S2S connections use the "fast" shaper - s2s_shaper: fast + ## Loopback network + loopback: + ip: + - "127.0.0.0/8" + - "::1/128" + - "::FFFF:127.0.0.1/128" - ###' ACCESS RULES - access_rules: - ## This rule allows access only for local users: - local: - - allow: local - ## Only non-blocked users can use c2s connections: - c2s: - - deny: blocked - - allow - ## Only admins can send announcement messages: - announce: - - allow: admin - ## Only admins can use the configuration interface: - configure: - - allow: admin - ## Only accounts of the local ejabberd server can create rooms: - muc_create: - - allow: local - ## Only accounts on the local ejabberd server can create Pubsub nodes: - pubsub_createnode: - - allow: local - ## In-band registration allows registration of any possible username. - ## To disable in-band registration, replace 'allow' with 'deny'. - register: - - allow - ## Only allow to register from localhost - trusted_network: - - allow: loopback + ###' SHAPER RULES + shaper_rules: + ## Maximum number of simultaneous sessions allowed for a single user: + max_user_sessions: 10 + ## Maximum number of offline messages that users can have: + max_user_offline_messages: + - 5000: admin + - 1024 + ## For C2S connections, all users except admins use the "normal" shaper + c2s_shaper: + - none: admin + - normal + ## All S2S connections use the "fast" shaper + s2s_shaper: fast - ## =============== - ## API PERMISSIONS - ## =============== - ## - ## This section allows you to define who and using what method - ## can execute commands offered by ejabberd. - ## - ## By default "console commands" section allow executing all commands - ## issued using ejabberdctl command, and "admin access" section allows - ## users in admin acl that connect from 127.0.0.1 to execute all - ## commands except start and stop with any available access method - ## (ejabberdctl, http-api, xmlrpc depending what is enabled on server). - ## - ## If you remove "console commands" there will be one added by - ## default allowing executing all commands, but if you just change - ## permissions in it, version from config file will be used instead - ## of default one. - ## - api_permissions: - "console commands": - from: - - ejabberd_ctl - who: all - what: "*" + ###' ACCESS RULES + access_rules: + ## This rule allows access only for local users: + local: + - allow: local + ## Only non-blocked users can use c2s connections: + c2s: + - deny: blocked + - allow + ## Only admins can send announcement messages: + announce: + - allow: admin + ## Only admins can use the configuration interface: + configure: + - allow: admin + ## Only accounts of the local ejabberd server can create rooms: + muc_create: + - allow: local + ## Only accounts on the local ejabberd server can create Pubsub nodes: + pubsub_createnode: + - allow: local + ## In-band registration allows registration of any possible username. + ## To disable in-band registration, replace 'allow' with 'deny'. + register: + - allow + ## Only allow to register from localhost + trusted_network: + - allow: loopback - language: "en" + ## =============== + ## API PERMISSIONS + ## =============== + ## + ## This section allows you to define who and using what method + ## can execute commands offered by ejabberd. + ## + ## By default "console commands" section allow executing all commands + ## issued using ejabberdctl command, and "admin access" section allows + ## users in admin acl that connect from 127.0.0.1 to execute all + ## commands except start and stop with any available access method + ## (ejabberdctl, http-api, xmlrpc depending what is enabled on server). + ## + ## If you remove "console commands" there will be one added by + ## default allowing executing all commands, but if you just change + ## permissions in it, version from config file will be used instead + ## of default one. + ## + api_permissions: + "console commands": + from: + - ejabberd_ctl + who: all + what: "*" - ###' MODULES - ## Modules enabled in all ejabberd virtual hosts. - modules: - mod_adhoc: {} - mod_announce: # recommends mod_adhoc - access: announce - mod_blocking: {} # requires mod_privacy - mod_caps: {} - mod_carboncopy: {} - mod_client_state: {} - mod_configure: {} # requires mod_adhoc - ## mod_delegation: {} # for xep0356 - mod_disco: {} - #mod_irc: - # host: "irc.@HOST@" - # default_encoding: "utf-8" - ## mod_bosh: {} - ## mod_http_fileserver: - ## docroot: "/var/www" - ## accesslog: "/var/log/ejabberd/access.log" - mod_http_upload: - thumbnail: false # otherwise needs the identify command from ImageMagick installed - put_url: "http://@HOST@:5444/upload" - ## # docroot: "@HOME@/upload" - #mod_http_upload_quota: - # max_days: 14 - mod_last: {} - ## XEP-0313: Message Archive Management - ## You might want to setup a SQL backend for MAM because the mnesia database is - ## limited to 2GB which might be exceeded on large servers - mod_mam: {} - mod_muc: - host: "muc.@HOST@" - access: - - allow - access_admin: - - allow: admin - access_create: muc_create - access_persistent: muc_create - mod_muc_admin: {} - mod_muc_log: {} - mod_offline: - access_max_user_messages: max_user_offline_messages - mod_ping: {} - ## mod_pres_counter: - ## count: 5 - ## interval: 60 - mod_privacy: {} - mod_private: {} - mod_roster: - versioning: true - mod_shared_roster: {} - mod_stats: {} - mod_time: {} - mod_vcard: - search: false - mod_vcard_xupdate: {} - ## Convert all avatars posted by Android clients from WebP to JPEG - mod_avatar: {} - # convert: - # webp: jpeg - mod_version: {} - mod_stream_mgmt: {} - ## The module for S2S dialback (XEP-0220). Please note that you cannot - ## rely solely on dialback if you want to federate with other servers, - ## because a lot of servers have dialback disabled and instead rely on - ## PKIX authentication. Make sure you have proper certificates installed - ## and check your accessibility at https://check.messaging.one/ - mod_s2s_dialback: {} - mod_pubsub: - plugins: - - "pep" - mod_push: {} - ''; - }; + language: "en" - networking.firewall.enable = false; + ###' MODULES + ## Modules enabled in all ejabberd virtual hosts. + modules: + mod_adhoc: {} + mod_announce: # recommends mod_adhoc + access: announce + mod_blocking: {} # requires mod_privacy + mod_caps: {} + mod_carboncopy: {} + mod_client_state: {} + mod_configure: {} # requires mod_adhoc + ## mod_delegation: {} # for xep0356 + mod_disco: {} + #mod_irc: + # host: "irc.@HOST@" + # default_encoding: "utf-8" + ## mod_bosh: {} + ## mod_http_fileserver: + ## docroot: "/var/www" + ## accesslog: "/var/log/ejabberd/access.log" + mod_http_upload: + thumbnail: false # otherwise needs the identify command from ImageMagick installed + put_url: "http://@HOST@:5444/upload" + ## # docroot: "@HOME@/upload" + #mod_http_upload_quota: + # max_days: 14 + mod_last: {} + ## XEP-0313: Message Archive Management + ## You might want to setup a SQL backend for MAM because the mnesia database is + ## limited to 2GB which might be exceeded on large servers + mod_mam: {} + mod_muc: + host: "muc.@HOST@" + access: + - allow + access_admin: + - allow: admin + access_create: muc_create + access_persistent: muc_create + mod_muc_admin: {} + mod_muc_log: {} + mod_offline: + access_max_user_messages: max_user_offline_messages + mod_ping: {} + ## mod_pres_counter: + ## count: 5 + ## interval: 60 + mod_privacy: {} + mod_private: {} + mod_roster: + versioning: true + mod_shared_roster: {} + mod_stats: {} + mod_time: {} + mod_vcard: + search: false + mod_vcard_xupdate: {} + ## Convert all avatars posted by Android clients from WebP to JPEG + mod_avatar: {} + # convert: + # webp: jpeg + mod_version: {} + mod_stream_mgmt: {} + ## The module for S2S dialback (XEP-0220). Please note that you cannot + ## rely solely on dialback if you want to federate with other servers, + ## because a lot of servers have dialback disabled and instead rely on + ## PKIX authentication. Make sure you have proper certificates installed + ## and check your accessibility at https://check.messaging.one/ + mod_s2s_dialback: {} + mod_pubsub: + plugins: + - "pep" + mod_push: {} + ''; + }; + + networking.firewall.enable = false; + }; }; - }; - testScript = { nodes, ... }: '' - ejabberd_prefix = "su ejabberd -s $(which ejabberdctl) " + testScript = + { nodes, ... }: + '' + ejabberd_prefix = "su ejabberd -s $(which ejabberdctl) " - server.wait_for_unit("ejabberd.service") + server.wait_for_unit("ejabberd.service") - assert "status: started" in server.succeed(ejabberd_prefix + "status") + assert "status: started" in server.succeed(ejabberd_prefix + "status") - server.succeed( - ejabberd_prefix + "register azurediamond example.com hunter2", - ejabberd_prefix + "register cthon98 example.com nothunter2", - ) - server.fail(ejabberd_prefix + "register asdf wrong.domain") - client.succeed("send-message") - server.succeed( - ejabberd_prefix + "unregister cthon98 example.com", - ejabberd_prefix + "unregister azurediamond example.com", - ) - ''; -}) + server.succeed( + ejabberd_prefix + "register azurediamond example.com hunter2", + ejabberd_prefix + "register cthon98 example.com nothunter2", + ) + server.fail(ejabberd_prefix + "register asdf wrong.domain") + client.succeed("send-message") + server.succeed( + ejabberd_prefix + "unregister cthon98 example.com", + ejabberd_prefix + "unregister azurediamond example.com", + ) + ''; + } +) diff --git a/nixos/tests/xmpp/prosody-mysql.nix b/nixos/tests/xmpp/prosody-mysql.nix index 40f3e308a04ea..abb6db37e76af 100644 --- a/nixos/tests/xmpp/prosody-mysql.nix +++ b/nixos/tests/xmpp/prosody-mysql.nix @@ -1,124 +1,146 @@ let - cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; - createUsers = pkgs: pkgs.writeScriptBin "create-prosody-users" '' - #!${pkgs.bash}/bin/bash - set -e + cert = + pkgs: + pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; + createUsers = + pkgs: + pkgs.writeScriptBin "create-prosody-users" '' + #!${pkgs.bash}/bin/bash + set -e - # Creates and set password for the 2 xmpp test users. - # - # Doing that in a bash script instead of doing that in the test - # script allow us to easily provision the users when running that - # test interactively. + # Creates and set password for the 2 xmpp test users. + # + # Doing that in a bash script instead of doing that in the test + # script allow us to easily provision the users when running that + # test interactively. - prosodyctl register cthon98 example.com nothunter2 - prosodyctl register azurediamond example.com hunter2 - ''; - delUsers = pkgs: pkgs.writeScriptBin "delete-prosody-users" '' - #!${pkgs.bash}/bin/bash - set -e + prosodyctl register cthon98 example.com nothunter2 + prosodyctl register azurediamond example.com hunter2 + ''; + delUsers = + pkgs: + pkgs.writeScriptBin "delete-prosody-users" '' + #!${pkgs.bash}/bin/bash + set -e - # Deletes the test users. - # - # Doing that in a bash script instead of doing that in the test - # script allow us to easily provision the users when running that - # test interactively. + # Deletes the test users. + # + # Doing that in a bash script instead of doing that in the test + # script allow us to easily provision the users when running that + # test interactively. - prosodyctl deluser cthon98@example.com - prosodyctl deluser azurediamond@example.com - ''; -in import ../make-test-python.nix { + prosodyctl deluser cthon98@example.com + prosodyctl deluser azurediamond@example.com + ''; +in +import ../make-test-python.nix { name = "prosody-mysql"; nodes = { - client = { nodes, pkgs, config, ... }: { - security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - console.keyMap = "fr-bepo"; - networking.extraHosts = '' - ${nodes.server.config.networking.primaryIPAddress} example.com - ${nodes.server.config.networking.primaryIPAddress} conference.example.com - ${nodes.server.config.networking.primaryIPAddress} uploads.example.com - ''; - environment.systemPackages = [ - (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) - ]; - }; - server = { config, pkgs, ... }: { - nixpkgs.overlays = [ - (self: super: { - prosody = super.prosody.override { - withExtraLuaPackages = p: [ p.luadbi-mysql ]; - }; - }) - ]; - security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - console.keyMap = "fr-bepo"; - networking.extraHosts = '' - ${config.networking.primaryIPAddress} example.com - ${config.networking.primaryIPAddress} conference.example.com - ${config.networking.primaryIPAddress} uploads.example.com - ''; - networking.firewall.enable = false; - environment.systemPackages = [ - (createUsers pkgs) - (delUsers pkgs) - ]; - services.prosody = { - enable = true; - ssl.cert = "${cert pkgs}/cert.pem"; - ssl.key = "${cert pkgs}/key.pem"; - virtualHosts.example = { - domain = "example.com"; - enabled = true; + client = + { + nodes, + pkgs, + config, + ... + }: + { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + console.keyMap = "fr-bepo"; + networking.extraHosts = '' + ${nodes.server.config.networking.primaryIPAddress} example.com + ${nodes.server.config.networking.primaryIPAddress} conference.example.com + ${nodes.server.config.networking.primaryIPAddress} uploads.example.com + ''; + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { + connectTo = nodes.server.config.networking.primaryIPAddress; + }) + ]; + }; + server = + { config, pkgs, ... }: + { + nixpkgs.overlays = [ + (self: super: { + prosody = super.prosody.override { + withExtraLuaPackages = p: [ p.luadbi-mysql ]; + }; + }) + ]; + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + console.keyMap = "fr-bepo"; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ${config.networking.primaryIPAddress} conference.example.com + ${config.networking.primaryIPAddress} uploads.example.com + ''; + networking.firewall.enable = false; + environment.systemPackages = [ + (createUsers pkgs) + (delUsers pkgs) + ]; + services.prosody = { + enable = true; ssl.cert = "${cert pkgs}/cert.pem"; ssl.key = "${cert pkgs}/key.pem"; - }; - muc = [ - { - domain = "conference.example.com"; - } - ]; - uploadHttp = { - domain = "uploads.example.com"; - }; - extraConfig = '' - storage = "sql" - sql = { - driver = "MySQL"; - database = "prosody"; - host = "mysql"; - port = 3306; - username = "prosody"; - password = "password123"; + virtualHosts.example = { + domain = "example.com"; + enabled = true; + ssl.cert = "${cert pkgs}/cert.pem"; + ssl.key = "${cert pkgs}/key.pem"; }; - ''; + muc = [ + { + domain = "conference.example.com"; + } + ]; + uploadHttp = { + domain = "uploads.example.com"; + }; + extraConfig = '' + storage = "sql" + sql = { + driver = "MySQL"; + database = "prosody"; + host = "mysql"; + port = 3306; + username = "prosody"; + password = "password123"; + }; + ''; + }; }; - }; - mysql = { config, pkgs, ... }: { - networking.firewall.enable = false; - services.mysql = { - enable = true; - initialScript = pkgs.writeText "mysql_init.sql" '' - CREATE DATABASE prosody; - CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123'; - GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server'; - FLUSH PRIVILEGES; - ''; - package = pkgs.mariadb; + mysql = + { config, pkgs, ... }: + { + networking.firewall.enable = false; + services.mysql = { + enable = true; + initialScript = pkgs.writeText "mysql_init.sql" '' + CREATE DATABASE prosody; + CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123'; + GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server'; + FLUSH PRIVILEGES; + ''; + package = pkgs.mariadb; + }; }; - }; }; - testScript = { nodes, ... }: '' - # Check with mysql storage - mysql.wait_for_unit("mysql.service") - server.wait_for_unit("prosody.service") - server.succeed('prosodyctl status | grep "Prosody is running"') + testScript = + { nodes, ... }: + '' + # Check with mysql storage + mysql.wait_for_unit("mysql.service") + server.wait_for_unit("prosody.service") + server.succeed('prosodyctl status | grep "Prosody is running"') - server.succeed("create-prosody-users") - client.succeed("send-message") - server.succeed("delete-prosody-users") - ''; + server.succeed("create-prosody-users") + client.succeed("send-message") + server.succeed("delete-prosody-users") + ''; } diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix index 045ae6430fd48..0183e876803eb 100644 --- a/nixos/tests/xmpp/prosody.nix +++ b/nixos/tests/xmpp/prosody.nix @@ -1,93 +1,111 @@ let - cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' - openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500 - mkdir -p $out - cp key.pem cert.pem $out - ''; - createUsers = pkgs: pkgs.writeScriptBin "create-prosody-users" '' - #!${pkgs.bash}/bin/bash - set -e + cert = + pkgs: + pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; + createUsers = + pkgs: + pkgs.writeScriptBin "create-prosody-users" '' + #!${pkgs.bash}/bin/bash + set -e - # Creates and set password for the 2 xmpp test users. - # - # Doing that in a bash script instead of doing that in the test - # script allow us to easily provision the users when running that - # test interactively. + # Creates and set password for the 2 xmpp test users. + # + # Doing that in a bash script instead of doing that in the test + # script allow us to easily provision the users when running that + # test interactively. - prosodyctl register cthon98 example.com nothunter2 - prosodyctl register azurediamond example.com hunter2 - ''; - delUsers = pkgs: pkgs.writeScriptBin "delete-prosody-users" '' - #!${pkgs.bash}/bin/bash - set -e + prosodyctl register cthon98 example.com nothunter2 + prosodyctl register azurediamond example.com hunter2 + ''; + delUsers = + pkgs: + pkgs.writeScriptBin "delete-prosody-users" '' + #!${pkgs.bash}/bin/bash + set -e - # Deletes the test users. - # - # Doing that in a bash script instead of doing that in the test - # script allow us to easily provision the users when running that - # test interactively. + # Deletes the test users. + # + # Doing that in a bash script instead of doing that in the test + # script allow us to easily provision the users when running that + # test interactively. - prosodyctl deluser cthon98@example.com - prosodyctl deluser azurediamond@example.com - ''; -in import ../make-test-python.nix { + prosodyctl deluser cthon98@example.com + prosodyctl deluser azurediamond@example.com + ''; +in +import ../make-test-python.nix { name = "prosody"; nodes = { - client = { nodes, pkgs, config, ... }: { - security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - console.keyMap = "fr-bepo"; - networking.extraHosts = '' - ${nodes.server.config.networking.primaryIPAddress} example.com - ${nodes.server.config.networking.primaryIPAddress} conference.example.com - ${nodes.server.config.networking.primaryIPAddress} uploads.example.com - ''; - environment.systemPackages = [ - (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = "example.com"; }) - ]; - }; - server = { config, pkgs, ... }: { - security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; - console.keyMap = "fr-bepo"; - networking.extraHosts = '' - ${config.networking.primaryIPAddress} example.com - ${config.networking.primaryIPAddress} conference.example.com - ${config.networking.primaryIPAddress} uploads.example.com - ''; - networking.firewall.enable = false; - environment.systemPackages = [ - (createUsers pkgs) - (delUsers pkgs) - ]; - services.prosody = { - enable = true; - ssl.cert = "${cert pkgs}/cert.pem"; - ssl.key = "${cert pkgs}/key.pem"; - virtualHosts.example = { - domain = "example.com"; - enabled = true; + client = + { + nodes, + pkgs, + config, + ... + }: + { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + console.keyMap = "fr-bepo"; + networking.extraHosts = '' + ${nodes.server.config.networking.primaryIPAddress} example.com + ${nodes.server.config.networking.primaryIPAddress} conference.example.com + ${nodes.server.config.networking.primaryIPAddress} uploads.example.com + ''; + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = "example.com"; }) + ]; + }; + server = + { config, pkgs, ... }: + { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + console.keyMap = "fr-bepo"; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ${config.networking.primaryIPAddress} conference.example.com + ${config.networking.primaryIPAddress} uploads.example.com + ''; + networking.firewall.enable = false; + environment.systemPackages = [ + (createUsers pkgs) + (delUsers pkgs) + ]; + services.prosody = { + enable = true; ssl.cert = "${cert pkgs}/cert.pem"; ssl.key = "${cert pkgs}/key.pem"; - }; - muc = [ - { - domain = "conference.example.com"; - } - ]; - uploadHttp = { - domain = "uploads.example.com"; + virtualHosts.example = { + domain = "example.com"; + enabled = true; + ssl.cert = "${cert pkgs}/cert.pem"; + ssl.key = "${cert pkgs}/key.pem"; + }; + muc = [ + { + domain = "conference.example.com"; + } + ]; + uploadHttp = { + domain = "uploads.example.com"; + }; }; }; - }; }; - testScript = { nodes, ... }: '' - # Check with sqlite storage - start_all() - server.wait_for_unit("prosody.service") - server.succeed('prosodyctl status | grep "Prosody is running"') + testScript = + { nodes, ... }: + '' + # Check with sqlite storage + start_all() + server.wait_for_unit("prosody.service") + server.succeed('prosodyctl status | grep "Prosody is running"') - server.succeed("create-prosody-users") - client.succeed("send-message") - server.succeed("delete-prosody-users") - ''; + server.succeed("create-prosody-users") + client.succeed("send-message") + server.succeed("delete-prosody-users") + ''; } diff --git a/nixos/tests/xmpp/xmpp-sendmessage.nix b/nixos/tests/xmpp/xmpp-sendmessage.nix index 8ccac06124913..62971d8673043 100644 --- a/nixos/tests/xmpp/xmpp-sendmessage.nix +++ b/nixos/tests/xmpp/xmpp-sendmessage.nix @@ -1,4 +1,9 @@ -{ writeScriptBin, writeText, python3, connectTo ? "localhost" }: +{ + writeScriptBin, + writeText, + python3, + connectTo ? "localhost", +}: let dummyFile = writeText "dummy-file" '' Dear dog, @@ -8,83 +13,84 @@ let Yours truly, Bob ''; -in writeScriptBin "send-message" '' -#!${(python3.withPackages (ps: [ ps.slixmpp ])).interpreter} -import logging -import sys -import signal -from types import MethodType +in +writeScriptBin "send-message" '' + #!${(python3.withPackages (ps: [ ps.slixmpp ])).interpreter} + import logging + import sys + import signal + from types import MethodType -from slixmpp import ClientXMPP -from slixmpp.exceptions import IqError, IqTimeout + from slixmpp import ClientXMPP + from slixmpp.exceptions import IqError, IqTimeout -class CthonTest(ClientXMPP): + class CthonTest(ClientXMPP): - def __init__(self, jid, password): - ClientXMPP.__init__(self, jid, password) - self.add_event_handler("session_start", self.session_start) - self.test_succeeded = False + def __init__(self, jid, password): + ClientXMPP.__init__(self, jid, password) + self.add_event_handler("session_start", self.session_start) + self.test_succeeded = False - async def session_start(self, event): - try: - # Exceptions in event handlers are printed to stderr but not - # propagated, they do not make the script terminate with a non-zero - # exit code. We use the `test_succeeded` flag as a workaround and - # check it later at the end of the script to exit with a proper - # exit code. - # Additionally, this flag ensures that this event handler has been - # actually run by ClientXMPP, which may well not be the case. - await self.test_xmpp_server() - self.test_succeeded = True - finally: - # Even if an exception happens in `test_xmpp_server()`, we still - # need to disconnect explicitly, otherwise the process will hang - # forever. - self.disconnect(wait=True) + async def session_start(self, event): + try: + # Exceptions in event handlers are printed to stderr but not + # propagated, they do not make the script terminate with a non-zero + # exit code. We use the `test_succeeded` flag as a workaround and + # check it later at the end of the script to exit with a proper + # exit code. + # Additionally, this flag ensures that this event handler has been + # actually run by ClientXMPP, which may well not be the case. + await self.test_xmpp_server() + self.test_succeeded = True + finally: + # Even if an exception happens in `test_xmpp_server()`, we still + # need to disconnect explicitly, otherwise the process will hang + # forever. + self.disconnect(wait=True) - async def test_xmpp_server(self): - log = logging.getLogger(__name__) - self.send_presence() - self.get_roster() - # Sending a test message - self.send_message(mto="azurediamond@example.com", mbody="Hello, this is dog.", mtype="chat") - log.info('Message sent') + async def test_xmpp_server(self): + log = logging.getLogger(__name__) + self.send_presence() + self.get_roster() + # Sending a test message + self.send_message(mto="azurediamond@example.com", mbody="Hello, this is dog.", mtype="chat") + log.info('Message sent') - # Test http upload (XEP_0363) - try: - url = await self['xep_0363'].upload_file("${dummyFile}",timeout=10) - except: - log.error("ERROR: Cannot run upload command. XEP_0363 seems broken") - sys.exit(1) - log.info('Upload success!') + # Test http upload (XEP_0363) + try: + url = await self['xep_0363'].upload_file("${dummyFile}",timeout=10) + except: + log.error("ERROR: Cannot run upload command. XEP_0363 seems broken") + sys.exit(1) + log.info('Upload success!') - # Test MUC - # TODO: use join_muc_wait() after slixmpp 1.8.0 is released. - self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98') - log.info('MUC join success!') - log.info('XMPP SCRIPT TEST SUCCESS') + # Test MUC + # TODO: use join_muc_wait() after slixmpp 1.8.0 is released. + self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98') + log.info('MUC join success!') + log.info('XMPP SCRIPT TEST SUCCESS') -def timeout_handler(signalnum, stackframe): - print('ERROR: xmpp-sendmessage timed out') - sys.exit(1) + def timeout_handler(signalnum, stackframe): + print('ERROR: xmpp-sendmessage timed out') + sys.exit(1) -if __name__ == '__main__': - signal.signal(signal.SIGALRM, timeout_handler) - signal.alarm(120) - logging.basicConfig(level=logging.DEBUG, - format='%(levelname)-8s %(message)s') + if __name__ == '__main__': + signal.signal(signal.SIGALRM, timeout_handler) + signal.alarm(120) + logging.basicConfig(level=logging.DEBUG, + format='%(levelname)-8s %(message)s') - ct = CthonTest('cthon98@example.com', 'nothunter2') - ct.register_plugin('xep_0071') - ct.register_plugin('xep_0128') - # HTTP Upload - ct.register_plugin('xep_0363') - # MUC - ct.register_plugin('xep_0045') - ct.connect(("${connectTo}", 5222)) - ct.process(forever=False) + ct = CthonTest('cthon98@example.com', 'nothunter2') + ct.register_plugin('xep_0071') + ct.register_plugin('xep_0128') + # HTTP Upload + ct.register_plugin('xep_0363') + # MUC + ct.register_plugin('xep_0045') + ct.connect(("${connectTo}", 5222)) + ct.process(forever=False) - if not ct.test_succeeded: - sys.exit(1) + if not ct.test_succeeded: + sys.exit(1) '' diff --git a/nixos/tests/xpadneo.nix b/nixos/tests/xpadneo.nix index c7b72831fce82..20ddf4c9d048b 100644 --- a/nixos/tests/xpadneo.nix +++ b/nixos/tests/xpadneo.nix @@ -1,18 +1,21 @@ -import ./make-test-python.nix ({ lib, pkgs, ... }: { - name = "xpadneo"; - meta.maintainers = with lib.maintainers; [ kira-bruneau ]; +import ./make-test-python.nix ( + { lib, pkgs, ... }: + { + name = "xpadneo"; + meta.maintainers = with lib.maintainers; [ kira-bruneau ]; - nodes = { - machine = { - config.hardware.xpadneo.enable = true; + nodes = { + machine = { + config.hardware.xpadneo.enable = true; + }; }; - }; - # This is just a sanity check to make sure the module was - # loaded. We'd have to find some way to mock an xbox controller if - # we wanted more in-depth testing. - testScript = '' - machine.start(); - machine.succeed("modinfo hid_xpadneo | grep 'version:\s\+${pkgs.linuxPackages.xpadneo.version}'") - ''; -}) + # This is just a sanity check to make sure the module was + # loaded. We'd have to find some way to mock an xbox controller if + # we wanted more in-depth testing. + testScript = '' + machine.start(); + machine.succeed("modinfo hid_xpadneo | grep 'version:\s\+${pkgs.linuxPackages.xpadneo.version}'") + ''; + } +) diff --git a/nixos/tests/xrdp-with-audio-pulseaudio.nix b/nixos/tests/xrdp-with-audio-pulseaudio.nix index 27da7c457c493..839a2c07aea3b 100644 --- a/nixos/tests/xrdp-with-audio-pulseaudio.nix +++ b/nixos/tests/xrdp-with-audio-pulseaudio.nix @@ -1,97 +1,110 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - # How to interactively test this module if the audio actually works - - # - nix run .#pulseaudio-module-xrdp.tests.xrdp-with-audio-pulseaudio.driverInteractive - # - test_script() # launches the terminal and the tests itself - # - server.send_monitor_command("hostfwd_add tcp::3389-:3389") # forward the RDP port to the host - # - Connect with the RDP client you like (ex: Remmina) - # - Don't forget to enable audio support. In remmina: Advanced -> Audio output mode to Local (default is Off) - # - Open a browser or something that plays sound. Ex: chromium - - name = "xrdp-with-audio-pulseaudio"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lucasew ]; - }; - - nodes = { - server = { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - - environment.etc."xrdp/test.txt".text = "Shouldn't conflict"; - - services.xrdp.enable = true; - services.xrdp.audio.enable = true; - services.xrdp.defaultWindowManager = "${pkgs.xterm}/bin/xterm"; - - hardware.pulseaudio = { - enable = true; - }; - - systemd.user.services.pactl-list = { - script = '' - while [ ! -S /tmp/.xrdp/xrdp_chansrv_audio_in_socket_* ]; do - sleep 1 - done - sleep 1 - ${pkgs.pulseaudio}/bin/pactl list - echo Source: - ${pkgs.pulseaudio}/bin/pactl get-default-source | tee /tmp/pulseaudio-source - echo Sink: - ${pkgs.pulseaudio}/bin/pactl get-default-sink | tee /tmp/pulseaudio-sink - - ''; - wantedBy = [ "default.target" ]; - }; - - networking.firewall.allowedTCPPorts = [ 3389 ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + # How to interactively test this module if the audio actually works + + # - nix run .#pulseaudio-module-xrdp.tests.xrdp-with-audio-pulseaudio.driverInteractive + # - test_script() # launches the terminal and the tests itself + # - server.send_monitor_command("hostfwd_add tcp::3389-:3389") # forward the RDP port to the host + # - Connect with the RDP client you like (ex: Remmina) + # - Don't forget to enable audio support. In remmina: Advanced -> Audio output mode to Local (default is Off) + # - Open a browser or something that plays sound. Ex: chromium + + name = "xrdp-with-audio-pulseaudio"; + meta = with pkgs.lib.maintainers; { + maintainers = [ lucasew ]; }; - client = { pkgs, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - - environment.systemPackages = [ pkgs.freerdp ]; - - services.xrdp.enable = true; - services.xrdp.audio.enable = true; - services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm"; - - hardware.pulseaudio = { - enable = true; - }; + nodes = { + server = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + + environment.etc."xrdp/test.txt".text = "Shouldn't conflict"; + + services.xrdp.enable = true; + services.xrdp.audio.enable = true; + services.xrdp.defaultWindowManager = "${pkgs.xterm}/bin/xterm"; + + hardware.pulseaudio = { + enable = true; + }; + + systemd.user.services.pactl-list = { + script = '' + while [ ! -S /tmp/.xrdp/xrdp_chansrv_audio_in_socket_* ]; do + sleep 1 + done + sleep 1 + ${pkgs.pulseaudio}/bin/pactl list + echo Source: + ${pkgs.pulseaudio}/bin/pactl get-default-source | tee /tmp/pulseaudio-source + echo Sink: + ${pkgs.pulseaudio}/bin/pactl get-default-sink | tee /tmp/pulseaudio-sink + + ''; + wantedBy = [ "default.target" ]; + }; + + networking.firewall.allowedTCPPorts = [ 3389 ]; + }; + + client = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + + environment.systemPackages = [ pkgs.freerdp ]; + + services.xrdp.enable = true; + services.xrdp.audio.enable = true; + services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm"; + + hardware.pulseaudio = { + enable = true; + }; + }; }; - }; - testScript = { nodes, ... }: let - user = nodes.client.config.users.users.alice; - in '' - start_all() + testScript = + { nodes, ... }: + let + user = nodes.client.config.users.users.alice; + in + '' + start_all() - client.wait_for_x() - client.wait_for_file("${user.home}/.Xauthority") - client.succeed("xauth merge ${user.home}/.Xauthority") + client.wait_for_x() + client.wait_for_file("${user.home}/.Xauthority") + client.succeed("xauth merge ${user.home}/.Xauthority") - client.sleep(5) + client.sleep(5) - client.execute("xterm >&2 &") - client.sleep(1) + client.execute("xterm >&2 &") + client.sleep(1) - client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password} /sound\n") + client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password} /sound\n") - client.sleep(10) + client.sleep(10) - client.succeed("[ -S /tmp/.xrdp/xrdp_chansrv_audio_in_socket_* ]") # checks if it's a socket - client.sleep(5) - client.screenshot("localrdp") + client.succeed("[ -S /tmp/.xrdp/xrdp_chansrv_audio_in_socket_* ]") # checks if it's a socket + client.sleep(5) + client.screenshot("localrdp") - client.execute("xterm >&2 &") - client.sleep(1) - client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password} /sound\n") - client.sleep(10) + client.execute("xterm >&2 &") + client.sleep(1) + client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password} /sound\n") + client.sleep(10) - server.succeed("[ -S /tmp/.xrdp/xrdp_chansrv_audio_in_socket_* ]") # checks if it's a socket - server.succeed('[ "$(cat /tmp/pulseaudio-source)" == "xrdp-source" ]') - server.succeed('[ "$(cat /tmp/pulseaudio-sink)" == "xrdp-sink" ]') - client.screenshot("remoterdp") - ''; -}) + server.succeed("[ -S /tmp/.xrdp/xrdp_chansrv_audio_in_socket_* ]") # checks if it's a socket + server.succeed('[ "$(cat /tmp/pulseaudio-source)" == "xrdp-source" ]') + server.succeed('[ "$(cat /tmp/pulseaudio-sink)" == "xrdp-sink" ]') + client.screenshot("remoterdp") + ''; + } +) diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix index f277d4b795256..10cc80de5056f 100644 --- a/nixos/tests/xrdp.nix +++ b/nixos/tests/xrdp.nix @@ -1,47 +1,60 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "xrdp"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes = { - server = { pkgs, ... }: { - imports = [ ./common/user-account.nix ]; - services.xrdp.enable = true; - services.xrdp.defaultWindowManager = "${pkgs.xterm}/bin/xterm"; - networking.firewall.allowedTCPPorts = [ 3389 ]; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "xrdp"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - client = { pkgs, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - environment.systemPackages = [ pkgs.freerdp ]; - services.xrdp.enable = true; - services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm"; + nodes = { + server = + { pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + services.xrdp.enable = true; + services.xrdp.defaultWindowManager = "${pkgs.xterm}/bin/xterm"; + networking.firewall.allowedTCPPorts = [ 3389 ]; + }; + + client = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + environment.systemPackages = [ pkgs.freerdp ]; + services.xrdp.enable = true; + services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm"; + }; }; - }; - testScript = { nodes, ... }: let - user = nodes.client.config.users.users.alice; - in '' - start_all() + testScript = + { nodes, ... }: + let + user = nodes.client.config.users.users.alice; + in + '' + start_all() - client.wait_for_x() - client.wait_for_file("${user.home}/.Xauthority") - client.succeed("xauth merge ${user.home}/.Xauthority") + client.wait_for_x() + client.wait_for_file("${user.home}/.Xauthority") + client.succeed("xauth merge ${user.home}/.Xauthority") - client.sleep(5) + client.sleep(5) - client.execute("xterm >&2 &") - client.sleep(1) - client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n") - client.sleep(5) - client.screenshot("localrdp") + client.execute("xterm >&2 &") + client.sleep(1) + client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n") + client.sleep(5) + client.screenshot("localrdp") - client.execute("xterm >&2 &") - client.sleep(1) - client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n") - client.sleep(5) - client.screenshot("remoterdp") - ''; -}) + client.execute("xterm >&2 &") + client.sleep(1) + client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n") + client.sleep(5) + client.screenshot("remoterdp") + ''; + } +) diff --git a/nixos/tests/xscreensaver.nix b/nixos/tests/xscreensaver.nix index 820ddbb0e9626..70eed6034498f 100644 --- a/nixos/tests/xscreensaver.nix +++ b/nixos/tests/xscreensaver.nix @@ -1,64 +1,82 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "pass-secret-service"; - meta.maintainers = with lib.maintainers; [ vancluever AndersonTorres ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "pass-secret-service"; + meta.maintainers = with lib.maintainers; [ + vancluever + AndersonTorres + ]; - nodes = { - ok = { nodes, pkgs, ... }: - { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.xscreensaver.enable = true; - }; + nodes = { + ok = + { nodes, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.xscreensaver.enable = true; + }; - empty_wrapperPrefix = { nodes, pkgs, ... }: - { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.xscreensaver.enable = true; - nixpkgs.overlays = [ - (self: super: { - xscreensaver = super.xscreensaver.override { - wrapperPrefix = ""; - }; - }) - ]; - }; + empty_wrapperPrefix = + { nodes, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.xscreensaver.enable = true; + nixpkgs.overlays = [ + (self: super: { + xscreensaver = super.xscreensaver.override { + wrapperPrefix = ""; + }; + }) + ]; + }; - bad_wrapperPrefix = { nodes, pkgs, ... }: - { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; - services.xscreensaver.enable = true; - nixpkgs.overlays = [ - (self: super: { - xscreensaver = super.xscreensaver.override { - wrapperPrefix = "/a/bad/path"; - }; - }) - ]; - }; - }; + bad_wrapperPrefix = + { nodes, pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.xscreensaver.enable = true; + nixpkgs.overlays = [ + (self: super: { + xscreensaver = super.xscreensaver.override { + wrapperPrefix = "/a/bad/path"; + }; + }) + ]; + }; + }; - testScript = '' - ok.wait_for_x() - ok.wait_for_unit("xscreensaver", "alice") - _, output_ok = ok.systemctl("status xscreensaver", "alice") - assert 'To prevent the kernel from randomly unlocking' not in output_ok - assert 'your screen via the out-of-memory killer' not in output_ok - assert '"xscreensaver-auth" must be setuid root' not in output_ok + testScript = '' + ok.wait_for_x() + ok.wait_for_unit("xscreensaver", "alice") + _, output_ok = ok.systemctl("status xscreensaver", "alice") + assert 'To prevent the kernel from randomly unlocking' not in output_ok + assert 'your screen via the out-of-memory killer' not in output_ok + assert '"xscreensaver-auth" must be setuid root' not in output_ok - empty_wrapperPrefix.wait_for_x() - empty_wrapperPrefix.wait_for_unit("xscreensaver", "alice") - _, output_empty_wrapperPrefix = empty_wrapperPrefix.systemctl("status xscreensaver", "alice") - assert 'To prevent the kernel from randomly unlocking' in output_empty_wrapperPrefix - assert 'your screen via the out-of-memory killer' in output_empty_wrapperPrefix - assert '"xscreensaver-auth" must be setuid root' in output_empty_wrapperPrefix + empty_wrapperPrefix.wait_for_x() + empty_wrapperPrefix.wait_for_unit("xscreensaver", "alice") + _, output_empty_wrapperPrefix = empty_wrapperPrefix.systemctl("status xscreensaver", "alice") + assert 'To prevent the kernel from randomly unlocking' in output_empty_wrapperPrefix + assert 'your screen via the out-of-memory killer' in output_empty_wrapperPrefix + assert '"xscreensaver-auth" must be setuid root' in output_empty_wrapperPrefix - bad_wrapperPrefix.wait_for_x() - bad_wrapperPrefix.wait_for_unit("xscreensaver", "alice") - _, output_bad_wrapperPrefix = bad_wrapperPrefix.systemctl("status xscreensaver", "alice") - assert 'To prevent the kernel from randomly unlocking' in output_bad_wrapperPrefix - assert 'your screen via the out-of-memory killer' in output_bad_wrapperPrefix - assert '"xscreensaver-auth" must be setuid root' in output_bad_wrapperPrefix - ''; -}) + bad_wrapperPrefix.wait_for_x() + bad_wrapperPrefix.wait_for_unit("xscreensaver", "alice") + _, output_bad_wrapperPrefix = bad_wrapperPrefix.systemctl("status xscreensaver", "alice") + assert 'To prevent the kernel from randomly unlocking' in output_bad_wrapperPrefix + assert 'your screen via the out-of-memory killer' in output_bad_wrapperPrefix + assert '"xscreensaver-auth" must be setuid root' in output_bad_wrapperPrefix + ''; + } +) diff --git a/nixos/tests/xss-lock.nix b/nixos/tests/xss-lock.nix index e4e41a5aa7978..f46db1e49c28c 100644 --- a/nixos/tests/xss-lock.nix +++ b/nixos/tests/xss-lock.nix @@ -1,40 +1,54 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "xss-lock"; - meta.maintainers = [ ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "xss-lock"; + meta.maintainers = [ ]; - nodes = { - simple = { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - programs.xss-lock.enable = true; - test-support.displayManager.auto.user = "alice"; - }; + nodes = { + simple = { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + programs.xss-lock.enable = true; + test-support.displayManager.auto.user = "alice"; + }; - custom_lockcmd = { pkgs, ... }: { - imports = [ ./common/x11.nix ./common/user-account.nix ]; - test-support.displayManager.auto.user = "alice"; + custom_lockcmd = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; - programs.xss-lock = { - enable = true; - extraOptions = [ "-n" "${pkgs.libnotify}/bin/notify-send 'About to sleep!'"]; - lockerCommand = "${pkgs.xlockmore}/bin/xlock -mode ant"; - }; + programs.xss-lock = { + enable = true; + extraOptions = [ + "-n" + "${pkgs.libnotify}/bin/notify-send 'About to sleep!'" + ]; + lockerCommand = "${pkgs.xlockmore}/bin/xlock -mode ant"; + }; + }; }; - }; - testScript = '' - def perform_xsslock_test(machine, lockCmd): - machine.start() - machine.wait_for_x() - machine.wait_for_unit("xss-lock.service", "alice") - machine.fail(f"pgrep {lockCmd}") - machine.succeed("su -l alice -c 'xset dpms force standby'") - machine.wait_until_succeeds(f"pgrep {lockCmd}") + testScript = '' + def perform_xsslock_test(machine, lockCmd): + machine.start() + machine.wait_for_x() + machine.wait_for_unit("xss-lock.service", "alice") + machine.fail(f"pgrep {lockCmd}") + machine.succeed("su -l alice -c 'xset dpms force standby'") + machine.wait_until_succeeds(f"pgrep {lockCmd}") - with subtest("simple"): - perform_xsslock_test(simple, "i3lock") + with subtest("simple"): + perform_xsslock_test(simple, "i3lock") - with subtest("custom_cmd"): - perform_xsslock_test(custom_lockcmd, "xlock") - ''; -}) + with subtest("custom_cmd"): + perform_xsslock_test(custom_lockcmd, "xlock") + ''; + } +) diff --git a/nixos/tests/xterm.nix b/nixos/tests/xterm.nix index 745d33e8a0d53..52a7b431a44e1 100644 --- a/nixos/tests/xterm.nix +++ b/nixos/tests/xterm.nix @@ -1,17 +1,19 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "xterm"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nequissimus ]; - }; - - nodes.machine = { pkgs, ... }: - { - imports = [ ./common/x11.nix ]; - services.xserver.desktopManager.xterm.enable = false; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "xterm"; + meta = with pkgs.lib.maintainers; { + maintainers = [ nequissimus ]; }; - testScript = - '' + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + services.xserver.desktopManager.xterm.enable = false; + }; + + testScript = '' machine.wait_for_x() machine.succeed("DISPLAY=:0 xterm -title testterm -class testterm -fullscreen >&2 &") machine.sleep(2) @@ -20,4 +22,5 @@ import ./make-test-python.nix ({ pkgs, ...} : { assert "${pkgs.xterm.version}" in machine.succeed("cat /tmp/xterm_version") machine.screenshot("window") ''; -}) + } +) diff --git a/nixos/tests/xxh.nix b/nixos/tests/xxh.nix index 3af8e53779e34..03273ad775b56 100644 --- a/nixos/tests/xxh.nix +++ b/nixos/tests/xxh.nix @@ -1,4 +1,5 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: let inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; @@ -38,16 +39,23 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: }; nodes = { - server = { ... }: { - services.openssh.enable = true; - users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; - }; + server = + { ... }: + { + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + }; - client = { ... }: { - programs.zsh.enable = true; - users.users.root.shell = pkgs.zsh; - environment.systemPackages = with pkgs; [ xxh git ]; - }; + client = + { ... }: + { + programs.zsh.enable = true; + users.users.root.shell = pkgs.zsh; + environment.systemPackages = with pkgs; [ + xxh + git + ]; + }; }; testScript = '' @@ -64,4 +72,5 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: client.succeed("xxh server -i /root/.ssh/id_ecdsa +hc \'echo $0\' +i +s zsh +I xxh-shell-zsh+path+${xxh-shell-zsh} | grep -Fq '/root/.xxh/.xxh/shells/xxh-shell-zsh/build/zsh-bin/bin/zsh'") ''; - }) + } +) diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix index 212a8ce4bbf5f..1c844677abbdf 100644 --- a/nixos/tests/yabar.nix +++ b/nixos/tests/yabar.nix @@ -1,27 +1,33 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "yabar"; - meta.maintainers = [ ]; +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "yabar"; + meta.maintainers = [ ]; - nodes.machine = { - imports = [ ./common/x11.nix ./common/user-account.nix ]; + nodes.machine = { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; - test-support.displayManager.auto.user = "bob"; + test-support.displayManager.auto.user = "bob"; - programs.yabar.enable = true; - programs.yabar.bars = { - top.indicators.date.exec = "YABAR_DATE"; + programs.yabar.enable = true; + programs.yabar.bars = { + top.indicators.date.exec = "YABAR_DATE"; + }; }; - }; - testScript = '' - machine.start() - machine.wait_for_x() + testScript = '' + machine.start() + machine.wait_for_x() - # confirm proper startup - machine.wait_for_unit("yabar.service", "bob") - machine.sleep(10) - machine.wait_for_unit("yabar.service", "bob") + # confirm proper startup + machine.wait_for_unit("yabar.service", "bob") + machine.sleep(10) + machine.wait_for_unit("yabar.service", "bob") - machine.screenshot("top_bar") - ''; -}) + machine.screenshot("top_bar") + ''; + } +) diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix index 70d148380bf75..0d47a599f94cd 100644 --- a/nixos/tests/yggdrasil.nix +++ b/nixos/tests/yggdrasil.nix @@ -10,131 +10,155 @@ let InterfacePeers = { eth1 = [ "tcp://192.168.1.200:12345" ]; }; - MulticastInterfaces = [ { - Regex = ".*"; - Beacon = true; - Listen = true; - Port = 54321; - Priority = 0; - } ]; + MulticastInterfaces = [ + { + Regex = ".*"; + Beacon = true; + Listen = true; + Port = 54321; + Priority = 0; + } + ]; PublicKey = "2b6f918b6c1a4b54d6bcde86cf74e074fb32ead4ee439b7930df2aa60c825186"; PrivateKey = "0c4a24acd3402722ce9277ed179f4a04b895b49586493c25fbaed60653d857d62b6f918b6c1a4b54d6bcde86cf74e074fb32ead4ee439b7930df2aa60c825186"; }; danIp6 = bobPrefix + "::2"; -in import ./make-test-python.nix ({ pkgs, ...} : { - name = "yggdrasil"; - meta = with pkgs.lib.maintainers; { - maintainers = [ gazally ]; - }; +in +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "yggdrasil"; + meta = with pkgs.lib.maintainers; { + maintainers = [ gazally ]; + }; - nodes = rec { - # Alice is listening for peerings on a specified port, - # but has multicast peering disabled. Alice has part of her - # yggdrasil config in Nix and part of it in a file. - alice = - { ... }: - { - networking = { - interfaces.eth1.ipv4.addresses = [{ - address = "192.168.1.200"; - prefixLength = 24; - }]; - firewall.allowedTCPPorts = [ 80 12345 ]; - }; - services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - - services.yggdrasil = { - enable = true; - settings = { - Listen = ["tcp://0.0.0.0:12345"]; - MulticastInterfaces = [ ]; + nodes = rec { + # Alice is listening for peerings on a specified port, + # but has multicast peering disabled. Alice has part of her + # yggdrasil config in Nix and part of it in a file. + alice = + { ... }: + { + networking = { + interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.200"; + prefixLength = 24; + } + ]; + firewall.allowedTCPPorts = [ + 80 + 12345 + ]; + }; + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + + services.yggdrasil = { + enable = true; + settings = { + Listen = [ "tcp://0.0.0.0:12345" ]; + MulticastInterfaces = [ ]; + }; + configFile = toString ( + pkgs.writeTextFile { + name = "yggdrasil-alice-conf"; + text = builtins.toJSON aliceKeys; + } + ); }; - configFile = toString (pkgs.writeTextFile { - name = "yggdrasil-alice-conf"; - text = builtins.toJSON aliceKeys; - }); - }; - }; - - # Bob is set up to peer with Alice, and also to do local multicast - # peering. Bob's yggdrasil config is in a file. - bob = - { ... }: - { - networking.firewall.allowedTCPPorts = [ 54321 ]; - services.yggdrasil = { - enable = true; - openMulticastPort = true; - configFile = toString (pkgs.writeTextFile { - name = "yggdrasil-bob-conf"; - text = builtins.toJSON bobConfig; - }); }; - boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1; - - networking = { - bridges.br0.interfaces = [ ]; - interfaces.br0 = { - ipv6.addresses = [{ - address = bobPrefix + "::1"; - prefixLength = 64; - }]; + # Bob is set up to peer with Alice, and also to do local multicast + # peering. Bob's yggdrasil config is in a file. + bob = + { ... }: + { + networking.firewall.allowedTCPPorts = [ 54321 ]; + services.yggdrasil = { + enable = true; + openMulticastPort = true; + configFile = toString ( + pkgs.writeTextFile { + name = "yggdrasil-bob-conf"; + text = builtins.toJSON bobConfig; + } + ); }; - }; - # dan is a node inside a container running on bob's host. - containers.dan = { - autoStart = true; - privateNetwork = true; - hostBridge = "br0"; - config = { config, pkgs, ... }: { - networking.interfaces.eth0.ipv6 = { - addresses = [{ - address = bobPrefix + "::2"; - prefixLength = 64; - }]; - routes = [{ - address = "200::"; - prefixLength = 7; - via = bobPrefix + "::1"; - }]; + boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1; + + networking = { + bridges.br0.interfaces = [ ]; + interfaces.br0 = { + ipv6.addresses = [ + { + address = bobPrefix + "::1"; + prefixLength = 64; + } + ]; }; - services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall.allowedTCPPorts = [ 80 ]; }; - }; - }; - # Carol only does local peering. Carol's yggdrasil config is all Nix. - carol = - { ... }: - { - networking.firewall.allowedTCPPorts = [ 43210 ]; - services.yggdrasil = { - enable = true; - extraArgs = [ "-loglevel" "error" ]; - denyDhcpcdInterfaces = [ "ygg0" ]; - settings = { - IfTAPMode = true; - IfName = "ygg0"; - MulticastInterfaces = [ + # dan is a node inside a container running on bob's host. + containers.dan = { + autoStart = true; + privateNetwork = true; + hostBridge = "br0"; + config = + { config, pkgs, ... }: { - Port = 43210; - } + networking.interfaces.eth0.ipv6 = { + addresses = [ + { + address = bobPrefix + "::2"; + prefixLength = 64; + } + ]; + routes = [ + { + address = "200::"; + prefixLength = 7; + via = bobPrefix + "::1"; + } + ]; + }; + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + }; + }; + + # Carol only does local peering. Carol's yggdrasil config is all Nix. + carol = + { ... }: + { + networking.firewall.allowedTCPPorts = [ 43210 ]; + services.yggdrasil = { + enable = true; + extraArgs = [ + "-loglevel" + "error" ]; - openMulticastPort = true; + denyDhcpcdInterfaces = [ "ygg0" ]; + settings = { + IfTAPMode = true; + IfName = "ygg0"; + MulticastInterfaces = [ + { + Port = 43210; + } + ]; + openMulticastPort = true; + }; + persistentKeys = true; }; - persistentKeys = true; }; - }; }; - testScript = - '' + testScript = '' import re # Give Alice a head start so she is ready when Bob calls. @@ -169,4 +193,5 @@ in import ./make-test-python.nix ({ pkgs, ...} : { carol.succeed("curl --fail -g http://[${aliceIp6}]") carol.succeed("curl --fail -g http://[${danIp6}]") ''; -}) + } +) diff --git a/nixos/tests/your_spotify.nix b/nixos/tests/your_spotify.nix index a1fa0e459a8e1..9fdc2dad8eb50 100644 --- a/nixos/tests/your_spotify.nix +++ b/nixos/tests/your_spotify.nix @@ -1,33 +1,36 @@ -import ./make-test-python.nix ({pkgs, ...}: { - name = "your_spotify"; - meta = with pkgs.lib.maintainers; { - maintainers = [patrickdag]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "your_spotify"; + meta = with pkgs.lib.maintainers; { + maintainers = [ patrickdag ]; + }; - nodes.machine = { - services.your_spotify = { - enable = true; - spotifySecretFile = pkgs.writeText "spotifySecretFile" "deadbeef"; - settings = { - CLIENT_ENDPOINT = "http://localhost"; - API_ENDPOINT = "http://localhost:3000"; - SPOTIFY_PUBLIC = "beefdead"; + nodes.machine = { + services.your_spotify = { + enable = true; + spotifySecretFile = pkgs.writeText "spotifySecretFile" "deadbeef"; + settings = { + CLIENT_ENDPOINT = "http://localhost"; + API_ENDPOINT = "http://localhost:3000"; + SPOTIFY_PUBLIC = "beefdead"; + }; + enableLocalDB = true; + nginxVirtualHost = "localhost"; }; - enableLocalDB = true; - nginxVirtualHost = "localhost"; }; - }; - testScript = '' - machine.wait_for_unit("your_spotify.service") + testScript = '' + machine.wait_for_unit("your_spotify.service") - machine.wait_for_open_port(3000) - machine.wait_for_open_port(80) + machine.wait_for_open_port(3000) + machine.wait_for_open_port(80) - out = machine.succeed("curl --fail -X GET 'http://localhost:3000/'") - assert "Hello !" in out + out = machine.succeed("curl --fail -X GET 'http://localhost:3000/'") + assert "Hello !" in out - out = machine.succeed("curl --fail -X GET 'http://localhost:80/'") - assert "Your Spotify" in out - ''; -}) + out = machine.succeed("curl --fail -X GET 'http://localhost:80/'") + assert "Your Spotify" in out + ''; + } +) diff --git a/nixos/tests/zammad.nix b/nixos/tests/zammad.nix index c799a29580039..47255500fd3ac 100644 --- a/nixos/tests/zammad.nix +++ b/nixos/tests/zammad.nix @@ -4,18 +4,24 @@ import ./make-test-python.nix ( { name = "zammad"; - meta.maintainers = with lib.maintainers; [ taeer n0emis netali ]; + meta.maintainers = with lib.maintainers; [ + taeer + n0emis + netali + ]; - nodes.machine = { config, ... }: { - virtualisation = { - memorySize = 2048; - }; + nodes.machine = + { config, ... }: + { + virtualisation = { + memorySize = 2048; + }; - services.zammad.enable = true; - services.zammad.secretKeyBaseFile = pkgs.writeText "secret" '' - 52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 - ''; - }; + services.zammad.enable = true; + services.zammad.secretKeyBaseFile = pkgs.writeText "secret" '' + 52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 + ''; + }; testScript = '' start_all() diff --git a/nixos/tests/zeronet-conservancy.nix b/nixos/tests/zeronet-conservancy.nix index 8cb649cbdaabc..1c906d80a3176 100644 --- a/nixos/tests/zeronet-conservancy.nix +++ b/nixos/tests/zeronet-conservancy.nix @@ -1,25 +1,30 @@ let port = 43110; in -import ./make-test-python.nix ({ pkgs, ... }: { - name = "zeronet-conservancy"; - meta = with pkgs.lib.maintainers; { - maintainers = [ fgaz ]; - }; - - nodes.machine = { config, pkgs, ... }: { - services.zeronet = { - enable = true; - package = pkgs.zeronet-conservancy; - inherit port; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "zeronet-conservancy"; + meta = with pkgs.lib.maintainers; { + maintainers = [ fgaz ]; }; - }; - testScript = '' - machine.wait_for_unit("zeronet.service") + nodes.machine = + { config, pkgs, ... }: + { + services.zeronet = { + enable = true; + package = pkgs.zeronet-conservancy; + inherit port; + }; + }; + + testScript = '' + machine.wait_for_unit("zeronet.service") - machine.wait_for_open_port(${toString port}) + machine.wait_for_open_port(${toString port}) - machine.succeed("curl --fail -H 'Accept: text/html, application/xml, */*' localhost:${toString port}/Stats") - ''; -}) + machine.succeed("curl --fail -H 'Accept: text/html, application/xml, */*' localhost:${toString port}/Stats") + ''; + } +) diff --git a/nixos/tests/zigbee2mqtt.nix b/nixos/tests/zigbee2mqtt.nix index 3311bb11eb1a2..3b7b6a8033b09 100644 --- a/nixos/tests/zigbee2mqtt.nix +++ b/nixos/tests/zigbee2mqtt.nix @@ -1,7 +1,9 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ( + { pkgs, lib, ... }: { name = "zigbee2mqtt"; - nodes.machine = { pkgs, ... }: + nodes.machine = + { pkgs, ... }: { systemd.services.dummy-serial = { wantedBy = [ diff --git a/nixos/tests/zoneminder.nix b/nixos/tests/zoneminder.nix index 3c97bc8282d22..7a32ff8bb8bbe 100644 --- a/nixos/tests/zoneminder.nix +++ b/nixos/tests/zoneminder.nix @@ -1,23 +1,26 @@ -import ./make-test-python.nix ({ lib, ...}: +import ./make-test-python.nix ( + { lib, ... }: -{ - name = "zoneminder"; - meta.maintainers = with lib.maintainers; [ danielfullmer ]; - - nodes.machine = { ... }: { - services.zoneminder = { - enable = true; - database.createLocally = true; - database.username = "zoneminder"; - }; - time.timeZone = "America/New_York"; - }; + name = "zoneminder"; + meta.maintainers = with lib.maintainers; [ danielfullmer ]; + + nodes.machine = + { ... }: + { + services.zoneminder = { + enable = true; + database.createLocally = true; + database.username = "zoneminder"; + }; + time.timeZone = "America/New_York"; + }; - testScript = '' - machine.wait_for_unit("zoneminder.service") - machine.wait_for_unit("nginx.service") - machine.wait_for_open_port(8095) - machine.succeed("curl --fail http://localhost:8095/") - ''; -}) + testScript = '' + machine.wait_for_unit("zoneminder.service") + machine.wait_for_unit("nginx.service") + machine.wait_for_open_port(8095) + machine.succeed("curl --fail http://localhost:8095/") + ''; + } +) diff --git a/nixos/tests/zookeeper.nix b/nixos/tests/zookeeper.nix index 0ee2673886a74..8442f021e051b 100644 --- a/nixos/tests/zookeeper.nix +++ b/nixos/tests/zookeeper.nix @@ -1,46 +1,54 @@ -import ./make-test-python.nix ({ pkgs, ...} : -let - - perlEnv = pkgs.perl.withPackages (p: [p.NetZooKeeper]); - -in { - name = "zookeeper"; - meta = with pkgs.lib.maintainers; { - maintainers = [ nequissimus ztzg ]; - }; +import ./make-test-python.nix ( + { pkgs, ... }: + let + + perlEnv = pkgs.perl.withPackages (p: [ p.NetZooKeeper ]); + + in + { + name = "zookeeper"; + meta = with pkgs.lib.maintainers; { + maintainers = [ + nequissimus + ztzg + ]; + }; - nodes = { - server = { ... }: { - services.zookeeper = { - enable = true; - }; + nodes = { + server = + { ... }: + { + services.zookeeper = { + enable = true; + }; - networking.firewall.allowedTCPPorts = [ 2181 ]; + networking.firewall.allowedTCPPorts = [ 2181 ]; + }; }; - }; - - testScript = '' - start_all() - - server.wait_for_unit("zookeeper") - server.wait_for_unit("network.target") - server.wait_for_open_port(2181) - - server.wait_until_succeeds( - "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar" - ) - server.wait_until_succeeds( - "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello" - ) - server.wait_until_succeeds( - "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello" - ) - - server.wait_until_succeeds( - "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181)); $z->create(qw(/perl foo acl), ZOO_OPEN_ACL_UNSAFE) || die $z->get_error()'" - ) - server.wait_until_succeeds( - "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181)); $z->get(qw(/perl)) eq qw(foo) || die $z->get_error()'" - ) - ''; -}) + + testScript = '' + start_all() + + server.wait_for_unit("zookeeper") + server.wait_for_unit("network.target") + server.wait_for_open_port(2181) + + server.wait_until_succeeds( + "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 create /foo bar" + ) + server.wait_until_succeeds( + "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 set /foo hello" + ) + server.wait_until_succeeds( + "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello" + ) + + server.wait_until_succeeds( + "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181)); $z->create(qw(/perl foo acl), ZOO_OPEN_ACL_UNSAFE) || die $z->get_error()'" + ) + server.wait_until_succeeds( + "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181)); $z->get(qw(/perl)) eq qw(foo) || die $z->get_error()'" + ) + ''; + } +) diff --git a/nixos/tests/zram-generator.nix b/nixos/tests/zram-generator.nix index 2be7bd2e05b1d..14c988f944298 100644 --- a/nixos/tests/zram-generator.nix +++ b/nixos/tests/zram-generator.nix @@ -2,30 +2,34 @@ import ./make-test-python.nix { name = "zram-generator"; nodes = { - single = { ... }: { - virtualisation = { - emptyDiskImages = [ 512 ]; + single = + { ... }: + { + virtualisation = { + emptyDiskImages = [ 512 ]; + }; + zramSwap = { + enable = true; + priority = 10; + algorithm = "lz4"; + swapDevices = 1; + memoryPercent = 30; + memoryMax = 10 * 1024 * 1024; + writebackDevice = "/dev/vdb"; + }; }; - zramSwap = { - enable = true; - priority = 10; - algorithm = "lz4"; - swapDevices = 1; - memoryPercent = 30; - memoryMax = 10 * 1024 * 1024; - writebackDevice = "/dev/vdb"; + machine = + { ... }: + { + zramSwap = { + enable = true; + priority = 10; + algorithm = "lz4"; + swapDevices = 2; + memoryPercent = 30; + memoryMax = 10 * 1024 * 1024; + }; }; - }; - machine = { ... }: { - zramSwap = { - enable = true; - priority = 10; - algorithm = "lz4"; - swapDevices = 2; - memoryPercent = 30; - memoryMax = 10 * 1024 * 1024; - }; - }; }; testScript = '' diff --git a/nixos/tests/zrepl.nix b/nixos/tests/zrepl.nix index bdf11122c73f6..095e03cb33446 100644 --- a/nixos/tests/zrepl.nix +++ b/nixos/tests/zrepl.nix @@ -1,8 +1,9 @@ -import ./make-test-python.nix ( - { - name = "zrepl"; +import ./make-test-python.nix ({ + name = "zrepl"; - nodes.host = {config, pkgs, ...}: { + nodes.host = + { config, pkgs, ... }: + { config = { # Prerequisites for ZFS and tests. boot.supportedFilesystems = [ "zfs" ]; @@ -12,58 +13,64 @@ import ./make-test-python.nix ( enable = true; settings = { # Enable Prometheus output for status assertions. - global.monitoring = [{ - type = "prometheus"; - listen = ":9811"; - }]; + global.monitoring = [ + { + type = "prometheus"; + listen = ":9811"; + } + ]; # Create a periodic snapshot job for an ephemeral zpool. - jobs = [{ - name = "snap_test"; - type = "snap"; + jobs = [ + { + name = "snap_test"; + type = "snap"; - filesystems."test" = true; - snapshotting = { - type = "periodic"; - prefix = "zrepl_"; - interval = "1s"; - }; + filesystems."test" = true; + snapshotting = { + type = "periodic"; + prefix = "zrepl_"; + interval = "1s"; + }; - pruning.keep = [{ - type = "last_n"; - count = 8; - }]; - }]; + pruning.keep = [ + { + type = "last_n"; + count = 8; + } + ]; + } + ]; }; }; }; }; - testScript = '' - start_all() + testScript = '' + start_all() - with subtest("Wait for zrepl and network ready"): - host.systemctl("start network-online.target") - host.wait_for_unit("network-online.target") - host.wait_for_unit("zrepl.service") + with subtest("Wait for zrepl and network ready"): + host.systemctl("start network-online.target") + host.wait_for_unit("network-online.target") + host.wait_for_unit("zrepl.service") - with subtest("Create test zpool"): - # ZFS requires 64MiB minimum pool size. - host.succeed("fallocate -l 64MiB /root/zpool.img") - host.succeed("zpool create test /root/zpool.img") + with subtest("Create test zpool"): + # ZFS requires 64MiB minimum pool size. + host.succeed("fallocate -l 64MiB /root/zpool.img") + host.succeed("zpool create test /root/zpool.img") - with subtest("Check for completed zrepl snapshot"): - # zrepl periodic snapshot job creates a snapshot with this prefix. - host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_") + with subtest("Check for completed zrepl snapshot"): + # zrepl periodic snapshot job creates a snapshot with this prefix. + host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_") - with subtest("Verify HTTP monitoring server is configured"): - out = host.succeed("curl -f localhost:9811/metrics") + with subtest("Verify HTTP monitoring server is configured"): + out = host.succeed("curl -f localhost:9811/metrics") - assert ( - "zrepl_start_time" in out - ), "zrepl start time metric was not found in Prometheus output" + assert ( + "zrepl_start_time" in out + ), "zrepl start time metric was not found in Prometheus output" - assert ( - "zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out - ), "zrepl snapshot counter for test was not found in Prometheus output" - ''; - }) + assert ( + "zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out + ), "zrepl snapshot counter for test was not found in Prometheus output" + ''; +}) diff --git a/nixos/tests/zsh-history.nix b/nixos/tests/zsh-history.nix index 64f32a07e2158..539729e32039e 100644 --- a/nixos/tests/zsh-history.nix +++ b/nixos/tests/zsh-history.nix @@ -1,35 +1,40 @@ -import ./make-test-python.nix ({ pkgs, ...} : { - name = "zsh-history"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ]; - }; - - nodes.default = { ... }: { - programs = { - zsh.enable = true; +import ./make-test-python.nix ( + { pkgs, ... }: + { + name = "zsh-history"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ]; }; - environment.systemPackages = [ pkgs.zsh-history ]; - programs.zsh.interactiveShellInit = '' - source ${pkgs.zsh-history.out}/share/zsh/init.zsh - ''; - users.users.root.shell = "${pkgs.zsh}/bin/zsh"; - }; - testScript = '' - start_all() - default.wait_for_unit("multi-user.target") - default.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + nodes.default = + { ... }: + { + programs = { + zsh.enable = true; + }; + environment.systemPackages = [ pkgs.zsh-history ]; + programs.zsh.interactiveShellInit = '' + source ${pkgs.zsh-history.out}/share/zsh/init.zsh + ''; + users.users.root.shell = "${pkgs.zsh}/bin/zsh"; + }; - # Login - default.wait_until_tty_matches("1", "login: ") - default.send_chars("root\n") - default.wait_until_tty_matches("1", r"\nroot@default\b") + testScript = '' + start_all() + default.wait_for_unit("multi-user.target") + default.wait_until_succeeds("pgrep -f 'agetty.*tty1'") - # Generate some history - default.send_chars("echo foobar\n") - default.wait_until_tty_matches("1", "foobar") + # Login + default.wait_until_tty_matches("1", "login: ") + default.send_chars("root\n") + default.wait_until_tty_matches("1", r"\nroot@default\b") - # Ensure that command was recorded in history - default.succeed("/run/current-system/sw/bin/history list | grep -q foobar") - ''; -}) + # Generate some history + default.send_chars("echo foobar\n") + default.wait_until_tty_matches("1", "foobar") + + # Ensure that command was recorded in history + default.succeed("/run/current-system/sw/bin/history list | grep -q foobar") + ''; + } +) diff --git a/nixos/tests/zwave-js.nix b/nixos/tests/zwave-js.nix index 9239e6964fd78..3ce12780893ed 100644 --- a/nixos/tests/zwave-js.nix +++ b/nixos/tests/zwave-js.nix @@ -1,31 +1,38 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : +import ./make-test-python.nix ( + { pkgs, lib, ... }: -let - secretsConfigFile = pkgs.writeText "secrets.json" (builtins.toJSON { - securityKeys = { - "S0_Legacy" = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; - }; - }); -in { - name = "zwave-js"; - meta.maintainers = with lib.maintainers; [ graham33 ]; + let + secretsConfigFile = pkgs.writeText "secrets.json" ( + builtins.toJSON { + securityKeys = { + "S0_Legacy" = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; + }; + } + ); + in + { + name = "zwave-js"; + meta.maintainers = with lib.maintainers; [ graham33 ]; - nodes = { - machine = { config, ... }: { - services.zwave-js = { - enable = true; - serialPort = "/dev/null"; - extraFlags = ["--mock-driver"]; - inherit secretsConfigFile; - }; + nodes = { + machine = + { config, ... }: + { + services.zwave-js = { + enable = true; + serialPort = "/dev/null"; + extraFlags = [ "--mock-driver" ]; + inherit secretsConfigFile; + }; + }; }; - }; - testScript = '' - start_all() + testScript = '' + start_all() - machine.wait_for_unit("zwave-js.service") - machine.wait_for_open_port(3000) - machine.wait_until_succeeds("journalctl --since -1m --unit zwave-js --grep 'ZwaveJS server listening'") - ''; -}) + machine.wait_for_unit("zwave-js.service") + machine.wait_for_open_port(3000) + machine.wait_until_succeeds("journalctl --since -1m --unit zwave-js --grep 'ZwaveJS server listening'") + ''; + } +) diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix index fe83e71a598f4..bf1278e42ce8a 100644 --- a/pkgs/applications/audio/adlplug/default.nix +++ b/pkgs/applications/audio/adlplug/default.nix @@ -1,30 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, fmt -, liblo -, alsa-lib -, freetype -, libX11 -, libXrandr -, libXinerama -, libXext -, libXcursor +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + fmt, + liblo, + alsa-lib, + freetype, + libX11, + libXrandr, + libXinerama, + libXext, + libXcursor, # Enabling JACK requires a JACK server at runtime, no fallback mechanism -, withJack ? false, jack + withJack ? false, + jack, -, type ? "ADL" + type ? "ADL", }: -assert lib.assertOneOf "type" type [ "ADL" "OPN" ]; +assert lib.assertOneOf "type" type [ + "ADL" + "OPN" +]; let - chip = { - ADL = "OPL3"; - OPN = "OPN2"; - }.${type}; + chip = + { + ADL = "OPL3"; + OPN = "OPN2"; + } + .${type}; mainProgram = "${type}plug"; in stdenv.mkDerivation rec { @@ -45,37 +52,43 @@ stdenv.mkDerivation rec { "-DADLplug_Jack=${if withJack then "ON" else "OFF"}" ]; - NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - # Framework that JUCE needs which don't get linked properly - "-framework CoreAudioKit" - "-framework QuartzCore" - "-framework AudioToolbox" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # JUCE dlopen's these at runtime - "-lX11" - "-lXext" - "-lXcursor" - "-lXinerama" - "-lXrandr" - ]); + NIX_LDFLAGS = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + # Framework that JUCE needs which don't get linked properly + "-framework CoreAudioKit" + "-framework QuartzCore" + "-framework AudioToolbox" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # JUCE dlopen's these at runtime + "-lX11" + "-lXext" + "-lXcursor" + "-lXinerama" + "-lXrandr" + ] + ); nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - fmt - liblo - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - freetype - libX11 - libXrandr - libXinerama - libXext - libXcursor - ] ++ lib.optional withJack jack; + buildInputs = + [ + fmt + liblo + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + freetype + libX11 + libXrandr + libXinerama + libXext + libXcursor + ] + ++ lib.optional withJack jack; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/{Applications,Library/Audio/Plug-Ins/{VST,Components}} diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix index b8a2fe7557042..00dc302718051 100644 --- a/pkgs/applications/audio/aeolus/default.nix +++ b/pkgs/applications/audio/aeolus/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, libclthreads, zita-alsa-pcmi, alsa-lib, libjack2 -, libclxclient, libX11, libXft, readline, aeolus-stops +{ + lib, + stdenv, + fetchurl, + libclthreads, + zita-alsa-pcmi, + alsa-lib, + libjack2, + libclxclient, + libX11, + libXft, + readline, + aeolus-stops, }: stdenv.mkDerivation rec { @@ -12,8 +23,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libclthreads zita-alsa-pcmi alsa-lib libjack2 libclxclient - libX11 libXft readline + libclthreads + zita-alsa-pcmi + alsa-lib + libjack2 + libclxclient + libX11 + libXft + readline ]; postPatch = '' @@ -23,23 +40,33 @@ stdenv.mkDerivation rec { preBuild = "cd source"; - makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ]; + makeFlags = [ + "DESTDIR=" + "PREFIX=$(out)" + ]; - postInstall = let cfg = '' - # Aeolus system wide default options - # Ignored if ~/.aeolusrc with local options exists - -u -S ${aeolus-stops}/${aeolus-stops.subdir} - ''; in '' - mkdir -p $out/etc - echo -n "${cfg}" > $out/etc/aeolus.conf - ''; + postInstall = + let + cfg = '' + # Aeolus system wide default options + # Ignored if ~/.aeolusrc with local options exists + -u -S ${aeolus-stops}/${aeolus-stops.subdir} + ''; + in + '' + mkdir -p $out/etc + echo -n "${cfg}" > $out/etc/aeolus.conf + ''; meta = with lib; { description = "Synthetized (not sampled) pipe organ emulator"; homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html"; license = licenses.lgpl3; platforms = platforms.linux; - maintainers = with maintainers; [ nico202 orivej ]; + maintainers = with maintainers; [ + nico202 + orivej + ]; mainProgram = "aeolus"; }; } diff --git a/pkgs/applications/audio/aeolus/stops.nix b/pkgs/applications/audio/aeolus/stops.nix index 50a2013b80480..c4ba2f3412311 100644 --- a/pkgs/applications/audio/aeolus/stops.nix +++ b/pkgs/applications/audio/aeolus/stops.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "stops"; @@ -28,6 +32,9 @@ stdenvNoCC.mkDerivation rec { homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html"; license = licenses.lgpl3; platforms = platforms.linux; - maintainers = with maintainers; [ nico202 orivej ]; + maintainers = with maintainers; [ + nico202 + orivej + ]; }; } diff --git a/pkgs/applications/audio/airwave/default.nix b/pkgs/applications/audio/airwave/default.nix index a57f43eea651a..c7422a2baac82 100644 --- a/pkgs/applications/audio/airwave/default.nix +++ b/pkgs/applications/audio/airwave/default.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, stdenv, multiStdenv, fetchFromGitHub, @@ -10,7 +11,7 @@ wrapQtAppsHook, file, libX11, - qt5 + qt5, }: let @@ -107,6 +108,6 @@ multiStdenv.mkDerivation { license = licenses.mit; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ michalrus ]; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix index edecadba1f167..1160c05b6101e 100644 --- a/pkgs/applications/audio/amarok/default.nix +++ b/pkgs/applications/audio/amarok/default.nix @@ -1,9 +1,45 @@ -{ stdenv, fetchurl, lib -, extra-cmake-modules, kdoctools -, qca-qt5, qjson, qtquickcontrols2, qtscript, qtwebengine -, karchive, kcmutils, kconfig, kdnssd, kguiaddons, kinit, kirigami2, knewstuff, knotifyconfig, ktexteditor, kwindowsystem -, fftw, phonon, plasma-framework, threadweaver, breeze-icons, wrapQtAppsHook -, curl, ffmpeg, gdk-pixbuf, libaio, liblastfm, libmtp, loudmouth, lzo, lz4, mariadb-embedded, pcre, snappy, taglib, taglib_extras +{ + stdenv, + fetchurl, + lib, + extra-cmake-modules, + kdoctools, + qca-qt5, + qjson, + qtquickcontrols2, + qtscript, + qtwebengine, + karchive, + kcmutils, + kconfig, + kdnssd, + kguiaddons, + kinit, + kirigami2, + knewstuff, + knotifyconfig, + ktexteditor, + kwindowsystem, + fftw, + phonon, + plasma-framework, + threadweaver, + breeze-icons, + wrapQtAppsHook, + curl, + ffmpeg, + gdk-pixbuf, + libaio, + liblastfm, + libmtp, + loudmouth, + lzo, + lz4, + mariadb-embedded, + pcre, + snappy, + taglib, + taglib_extras, }: stdenv.mkDerivation (finalAttrs: { @@ -15,16 +51,53 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-CrilxE8v6OcEdnWlfmQM54fxyAE0rB5VX8vvzZRyLmY="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapQtAppsHook + ]; propagatedBuildInputs = [ - qca-qt5 qjson qtquickcontrols2 qtscript qtwebengine - karchive kcmutils kconfig kdnssd kguiaddons kinit kirigami2 knewstuff knotifyconfig ktexteditor kwindowsystem - phonon plasma-framework threadweaver - curl fftw ffmpeg gdk-pixbuf libaio liblastfm libmtp loudmouth lz4 lzo mariadb-embedded - pcre snappy taglib taglib_extras breeze-icons + qca-qt5 + qjson + qtquickcontrols2 + qtscript + qtwebengine + karchive + kcmutils + kconfig + kdnssd + kguiaddons + kinit + kirigami2 + knewstuff + knotifyconfig + ktexteditor + kwindowsystem + phonon + plasma-framework + threadweaver + curl + fftw + ffmpeg + gdk-pixbuf + libaio + liblastfm + libmtp + loudmouth + lz4 + lzo + mariadb-embedded + pcre + snappy + taglib + taglib_extras + breeze-icons ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/ardour/7.nix b/pkgs/applications/audio/ardour/7.nix index d0554a21af185..fc0ba8e7a9557 100644 --- a/pkgs/applications/audio/ardour/7.nix +++ b/pkgs/applications/audio/ardour/7.nix @@ -1,62 +1,63 @@ -{ lib -, stdenv -, fetchgit -, fetchzip -, fetchpatch -, fetchpatch2 -, alsa-lib -, aubio -, boost -, cairomm -, cppunit -, curl -, dbus -, doxygen -, ffmpeg -, fftw -, fftwSinglePrec -, flac -, glibc -, glibmm -, graphviz -, gtkmm2 -, harvid -, itstool -, libarchive -, libjack2 -, liblo -, libogg -, libpulseaudio -, librdf_raptor -, librdf_rasqal -, libsamplerate -, libsigcxx -, libsndfile -, libusb1 -, libuv -, libwebsockets -, libxml2 -, libxslt -, lilv -, lrdf -, lv2 -, makeWrapper -, pango -, perl -, pkg-config -, python3 -, readline -, rubberband -, serd -, sord -, soundtouch -, sratom -, suil -, taglib -, vamp-plugin-sdk -, wafHook -, xjadeo -, videoSupport ? true +{ + lib, + stdenv, + fetchgit, + fetchzip, + fetchpatch, + fetchpatch2, + alsa-lib, + aubio, + boost, + cairomm, + cppunit, + curl, + dbus, + doxygen, + ffmpeg, + fftw, + fftwSinglePrec, + flac, + glibc, + glibmm, + graphviz, + gtkmm2, + harvid, + itstool, + libarchive, + libjack2, + liblo, + libogg, + libpulseaudio, + librdf_raptor, + librdf_rasqal, + libsamplerate, + libsigcxx, + libsndfile, + libusb1, + libuv, + libwebsockets, + libxml2, + libxslt, + lilv, + lrdf, + lv2, + makeWrapper, + pango, + perl, + pkg-config, + python3, + readline, + rubberband, + serd, + sord, + soundtouch, + sratom, + suil, + taglib, + vamp-plugin-sdk, + wafHook, + xjadeo, + videoSupport ? true, }: stdenv.mkDerivation rec { pname = "ardour"; @@ -117,52 +118,57 @@ stdenv.mkDerivation rec { wafHook ]; - buildInputs = [ - alsa-lib - aubio - boost - cairomm - cppunit - curl - dbus - ffmpeg - fftw - fftwSinglePrec - flac - glibmm - gtkmm2 - itstool - libarchive - libjack2 - liblo - libogg - libpulseaudio - librdf_raptor - librdf_rasqal - libsamplerate - libsigcxx - libsndfile - libusb1 - libuv - libwebsockets - libxml2 - libxslt - lilv - lrdf - lv2 - pango - perl - python3 - readline - rubberband - serd - sord - soundtouch - sratom - suil - taglib - vamp-plugin-sdk - ] ++ lib.optionals videoSupport [ harvid xjadeo ]; + buildInputs = + [ + alsa-lib + aubio + boost + cairomm + cppunit + curl + dbus + ffmpeg + fftw + fftwSinglePrec + flac + glibmm + gtkmm2 + itstool + libarchive + libjack2 + liblo + libogg + libpulseaudio + librdf_raptor + librdf_rasqal + libsamplerate + libsigcxx + libsndfile + libusb1 + libuv + libwebsockets + libxml2 + libxslt + lilv + lrdf + lv2 + pango + perl + python3 + readline + rubberband + serd + sord + soundtouch + sratom + suil + taglib + vamp-plugin-sdk + ] + ++ lib.optionals videoSupport [ + harvid + xjadeo + ]; wafConfigureFlags = [ "--cxx11" @@ -177,25 +183,32 @@ stdenv.mkDerivation rec { # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437 # "--use-external-libs" - postInstall = '' - # wscript does not install these for some reason - install -vDm 644 "build/gtk2_ardour/ardour.xml" \ - -t "$out/share/mime/packages" - install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \ - -t "$out/share/applications" - for size in 16 22 32 48 256 512; do - install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ - "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png" - done - install -vDm 644 "ardour.1"* -t "$out/share/man/man1" + postInstall = + '' + # wscript does not install these for some reason + install -vDm 644 "build/gtk2_ardour/ardour.xml" \ + -t "$out/share/mime/packages" + install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \ + -t "$out/share/applications" + for size in 16 22 32 48 256 512; do + install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ + "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png" + done + install -vDm 644 "ardour.1"* -t "$out/share/man/man1" - # install additional bundled beats, chords and progressions - cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media" - '' + lib.optionalString videoSupport '' - # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. - wrapProgram "$out/bin/ardour${lib.versions.major version}" \ - --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}" - ''; + # install additional bundled beats, chords and progressions + cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media" + '' + + lib.optionalString videoSupport '' + # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. + wrapProgram "$out/bin/ardour${lib.versions.major version}" \ + --prefix PATH : "${ + lib.makeBinPath [ + harvid + xjadeo + ] + }" + ''; LINKFLAGS = "-lpthread"; @@ -214,6 +227,9 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; mainProgram = "ardour7"; platforms = platforms.linux; - maintainers = with maintainers; [ magnetophon mitchmindtree ]; + maintainers = with maintainers; [ + magnetophon + mitchmindtree + ]; }; } diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix index 419a53006ef1a..5bf7445d26820 100644 --- a/pkgs/applications/audio/bambootracker/default.nix +++ b/pkgs/applications/audio/bambootracker/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, gitUpdater -, pkg-config -, qmake -, qt5compat ? null -, qtbase -, qttools -, qtwayland -, rtaudio_6 -, rtmidi -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + gitUpdater, + pkg-config, + qmake, + qt5compat ? null, + qtbase, + qttools, + qtwayland, + rtaudio_6, + rtmidi, + wrapQtAppsHook, }: assert lib.versionAtLeast qtbase.version "6.0" -> qt5compat != null; @@ -41,24 +42,29 @@ stdenv.mkDerivation (finalAttrs: { wrapQtAppsHook ]; - buildInputs = [ - qtbase - rtaudio_6 - rtmidi - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ] ++ lib.optionals (lib.versionAtLeast qtbase.version "6.0") [ - qt5compat - ]; + buildInputs = + [ + qtbase + rtaudio_6 + rtmidi + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ] + ++ lib.optionals (lib.versionAtLeast qtbase.version "6.0") [ + qt5compat + ]; - qmakeFlags = [ - "CONFIG+=system_rtaudio" - "CONFIG+=system_rtmidi" - ] ++ lib.optionals (stdenv.cc.isClang || (lib.versionAtLeast qtbase.version "6.0")) [ - # Clang is extra-strict about some deprecations - # Latest Qt6 deprecated QCheckBox::stateChanged(int) - "CONFIG+=no_warnings_are_errors" - ]; + qmakeFlags = + [ + "CONFIG+=system_rtaudio" + "CONFIG+=system_rtmidi" + ] + ++ lib.optionals (stdenv.cc.isClang || (lib.versionAtLeast qtbase.version "6.0")) [ + # Clang is extra-strict about some deprecations + # Latest Qt6 deprecated QCheckBox::stateChanged(int) + "CONFIG+=no_warnings_are_errors" + ]; postConfigure = "make qmake_all"; diff --git a/pkgs/applications/audio/bespokesynth/default.nix b/pkgs/applications/audio/bespokesynth/default.nix index 01b98999ce25f..8eb63539040c4 100644 --- a/pkgs/applications/audio/bespokesynth/default.nix +++ b/pkgs/applications/audio/bespokesynth/default.nix @@ -1,46 +1,47 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchzip -, cmake -, pkg-config -, ninja -, makeWrapper -, libjack2 -, alsa-lib -, alsa-tools -, freetype -, libusb1 -, libX11 -, libXrandr -, libXinerama -, libXext -, libXcursor -, libXScrnSaver -, libGL -, libxcb -, xcbutil -, libxkbcommon -, xcbutilkeysyms -, xcb-util-cursor -, gtk3 -, webkitgtk_4_0 -, python3 -, curl -, pcre -, mount -, zenity -, Accelerate -, Cocoa -, WebKit -, CoreServices -, CoreAudioKit -, IOBluetooth -, MetalKit +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + cmake, + pkg-config, + ninja, + makeWrapper, + libjack2, + alsa-lib, + alsa-tools, + freetype, + libusb1, + libX11, + libXrandr, + libXinerama, + libXext, + libXcursor, + libXScrnSaver, + libGL, + libxcb, + xcbutil, + libxkbcommon, + xcbutilkeysyms, + xcb-util-cursor, + gtk3, + webkitgtk_4_0, + python3, + curl, + pcre, + mount, + zenity, + Accelerate, + Cocoa, + WebKit, + CoreServices, + CoreAudioKit, + IOBluetooth, + MetalKit, # It is not allowed to distribute binaries with the VST2 SDK plugin without a license # (the author of Bespoke has such a licence but not Nix). VST3 should work out of the box. # Read more in https://github.com/NixOS/nixpkgs/issues/145607 -, enableVST2 ? false + enableVST2 ? false, }: let @@ -73,85 +74,107 @@ stdenv.mkDerivation rec { cmakeFlags = lib.optionals enableVST2 [ "-DBESPOKE_VST2_SDK_LOCATION=${vst-sdk}/VST2_SDK" ]; - nativeBuildInputs = [ python3 makeWrapper cmake pkg-config ninja ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - # List obtained from https://github.com/BespokeSynth/BespokeSynth/blob/main/azure-pipelines.yml - libX11 - libXrandr - libXinerama - libXext - libXcursor - libXScrnSaver - curl - gtk3 - webkitgtk_4_0 - freetype - libGL - libusb1 - alsa-lib - libjack2 - zenity - alsa-tools - libxcb - xcbutil - libxkbcommon - xcbutilkeysyms - xcb-util-cursor - pcre - mount - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Accelerate - Cocoa - WebKit - CoreServices - CoreAudioKit - IOBluetooth - MetalKit + nativeBuildInputs = [ + python3 + makeWrapper + cmake + pkg-config + ninja ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + # List obtained from https://github.com/BespokeSynth/BespokeSynth/blob/main/azure-pipelines.yml + libX11 + libXrandr + libXinerama + libXext + libXcursor + libXScrnSaver + curl + gtk3 + webkitgtk_4_0 + freetype + libGL + libusb1 + alsa-lib + libjack2 + zenity + alsa-tools + libxcb + xcbutil + libxkbcommon + xcbutilkeysyms + xcb-util-cursor + pcre + mount + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + Cocoa + WebKit + CoreServices + CoreAudioKit + IOBluetooth + MetalKit + ]; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [ # Fails to find fp.h on its own "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/Current/Headers/" ]); postInstall = - if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/{Applications,bin} - mv Source/BespokeSynth_artefacts/${cmakeBuildType}/BespokeSynth.app $out/Applications/ - # Symlinking confuses the resource finding about the actual location of the binary - # Resources are looked up relative to the executed file's location - makeWrapper $out/{Applications/BespokeSynth.app/Contents/MacOS,bin}/BespokeSynth - '' else '' - # Ensure zenity is available, or it won't be able to open new files. - # Ensure the python used for compilation is the same as the python used at run-time. - # jedi is also required for auto-completion. - # These X11 libs get dlopen'd, they cause visual bugs when unavailable. - wrapProgram $out/bin/BespokeSynth \ - --prefix PATH : '${lib.makeBinPath [ - zenity - (python3.withPackages (ps: with ps; [ jedi ])) - ]}' - ''; + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/{Applications,bin} + mv Source/BespokeSynth_artefacts/${cmakeBuildType}/BespokeSynth.app $out/Applications/ + # Symlinking confuses the resource finding about the actual location of the binary + # Resources are looked up relative to the executed file's location + makeWrapper $out/{Applications/BespokeSynth.app/Contents/MacOS,bin}/BespokeSynth + '' + else + '' + # Ensure zenity is available, or it won't be able to open new files. + # Ensure the python used for compilation is the same as the python used at run-time. + # jedi is also required for auto-completion. + # These X11 libs get dlopen'd, they cause visual bugs when unavailable. + wrapProgram $out/bin/BespokeSynth \ + --prefix PATH : '${ + lib.makeBinPath [ + zenity + (python3.withPackages (ps: with ps; [ jedi ])) + ] + }' + ''; - env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-rpath ${lib.makeLibraryPath ([ - libX11 - libXrandr - libXinerama - libXext - libXcursor - libXScrnSaver - ])}"; + env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-rpath ${ + lib.makeLibraryPath ([ + libX11 + libXrandr + libXinerama + libXext + libXcursor + libXScrnSaver + ]) + }"; dontPatchELF = true; # needed or nix will try to optimize the binary by removing "useless" rpath meta = with lib; { - description = - "Software modular synth with controllers support, scripting and VST"; + description = "Software modular synth with controllers support, scripting and VST"; homepage = "https://www.bespokesynth.com/"; - license = with licenses; [ - gpl3Plus - ] ++ lib.optional enableVST2 unfree; - maintainers = with maintainers; [ astro tobiasBora OPNA2608 PowerUser64 ]; + license = + with licenses; + [ + gpl3Plus + ] + ++ lib.optional enableVST2 unfree; + maintainers = with maintainers; [ + astro + tobiasBora + OPNA2608 + PowerUser64 + ]; mainProgram = "BespokeSynth"; platforms = platforms.all; }; diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix index 4d5e5dbc26595..7c6c916154657 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix @@ -1,8 +1,25 @@ -{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype -, gdk-pixbuf, glib, gtk3, lib, xorg -, libglvnd, libjack2, ffmpeg -, libxkbcommon, xdg-utils, zlib, pulseaudio -, wrapGAppsHook3, makeWrapper }: +{ + stdenv, + fetchurl, + alsa-lib, + cairo, + dpkg, + freetype, + gdk-pixbuf, + glib, + gtk3, + lib, + xorg, + libglvnd, + libjack2, + ffmpeg, + libxkbcommon, + xdg-utils, + zlib, + pulseaudio, + wrapGAppsHook3, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "bitwig-studio"; @@ -13,13 +30,34 @@ stdenv.mkDerivation rec { sha256 = "sha256-cF8gVPjM0KUcKOW09uFccp4/lzbUmZcBkVOwr/A/8Yw="; }; - nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + dpkg + makeWrapper + wrapGAppsHook3 + ]; dontBuild = true; dontWrapGApps = true; # we only want $gappsWrapperArgs here buildInputs = with xorg; [ - alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor (lib.getLib stdenv.cc.cc) + alsa-lib + cairo + freetype + gdk-pixbuf + glib + gtk3 + libxcb + xcbutil + xcbutilwm + zlib + libXtst + libxkbcommon + pulseaudio + libjack2 + libX11 + libglvnd + libXcursor + (lib.getLib stdenv.cc.cc) ]; ldLibraryPath = lib.strings.makeLibraryPath buildInputs; @@ -64,7 +102,11 @@ stdenv.mkDerivation rec { homepage = "https://www.bitwig.com/"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ bfortz michalrus mrVanDalo ]; + maintainers = with maintainers; [ + bfortz + michalrus + mrVanDalo + ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; } diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index 47b2fbbeb968a..fcfcd3b09b11a 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -1,25 +1,26 @@ -{ stdenv -, fetchurl -, alsa-lib -, cairo -, dpkg -, ffmpeg -, freetype -, gdk-pixbuf -, glib -, gtk3 -, lib -, libglvnd -, libjack2 -, libjpeg -, libxkbcommon -, makeWrapper -, pipewire -, pulseaudio -, wrapGAppsHook3 -, xdg-utils -, xorg -, zlib +{ + stdenv, + fetchurl, + alsa-lib, + cairo, + dpkg, + ffmpeg, + freetype, + gdk-pixbuf, + glib, + gtk3, + lib, + libglvnd, + libjack2, + libjpeg, + libxkbcommon, + makeWrapper, + pipewire, + pulseaudio, + wrapGAppsHook3, + xdg-utils, + xorg, + zlib, }: stdenv.mkDerivation rec { @@ -31,7 +32,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-gtQ1mhXk0AqGidZk5TCzSR58pD1JJoELMBmELtqyb4U="; }; - nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + dpkg + makeWrapper + wrapGAppsHook3 + ]; dontBuild = true; dontWrapGApps = true; # we only want $gappsWrapperArgs here @@ -110,7 +115,11 @@ stdenv.mkDerivation rec { homepage = "https://www.bitwig.com/"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ bfortz michalrus mrVanDalo ]; + maintainers = with maintainers; [ + bfortz + michalrus + mrVanDalo + ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; } diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix index 4955b43943096..9b34f00791486 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix @@ -1,31 +1,32 @@ -{ stdenv -, fetchurl -, alsa-lib -, atk -, cairo -, dpkg -, ffmpeg -, freetype -, gdk-pixbuf -, glib -, gtk3 -, harfbuzz -, lib -, libglvnd -, libjack2 -, libjpeg -, libnghttp2 -, libxkbcommon -, makeWrapper -, pango -, pipewire -, pulseaudio -, vulkan-loader -, wrapGAppsHook3 -, xcb-imdkit -, xdg-utils -, xorg -, zlib +{ + stdenv, + fetchurl, + alsa-lib, + atk, + cairo, + dpkg, + ffmpeg, + freetype, + gdk-pixbuf, + glib, + gtk3, + harfbuzz, + lib, + libglvnd, + libjack2, + libjpeg, + libnghttp2, + libxkbcommon, + makeWrapper, + pango, + pipewire, + pulseaudio, + vulkan-loader, + wrapGAppsHook3, + xcb-imdkit, + xdg-utils, + xorg, + zlib, }: stdenv.mkDerivation rec { @@ -38,7 +39,11 @@ stdenv.mkDerivation rec { hash = "sha256-Tyi7qYhTQ5i6fRHhrmz4yHXSdicd4P4iuF9FRKRhkMI="; }; - nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + dpkg + makeWrapper + wrapGAppsHook3 + ]; dontBuild = true; dontWrapGApps = true; # we only want $gappsWrapperArgs here @@ -128,7 +133,11 @@ stdenv.mkDerivation rec { homepage = "https://www.bitwig.com/"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ bfortz michalrus mrVanDalo ]; + maintainers = with maintainers; [ + bfortz + michalrus + mrVanDalo + ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; } diff --git a/pkgs/applications/audio/bucklespring/default.nix b/pkgs/applications/audio/bucklespring/default.nix index ccc25da4f1ed0..a126c227f3467 100644 --- a/pkgs/applications/audio/bucklespring/default.nix +++ b/pkgs/applications/audio/bucklespring/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, legacy ? false -, libinput + legacy ? false, + libinput, -, pkg-config -, makeWrapper + pkg-config, + makeWrapper, -, openal -, alure -, libXtst -, libX11 + openal, + alure, + libXtst, + libX11, }: let @@ -28,10 +29,20 @@ stdenv.mkDerivation rec { sha256 = "0prhqibivxzmz90k79zpwx3c97h8wa61rk5ihi9a5651mnc46mna"; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; - buildInputs = [ openal alure ] - ++ optionals (legacy) [ libXtst libX11 ] + buildInputs = + [ + openal + alure + ] + ++ optionals (legacy) [ + libXtst + libX11 + ] ++ optionals (!legacy) [ libinput ]; makeFlags = optionals (!legacy) [ "libinput=1" ]; @@ -58,7 +69,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/zevv/bucklespring"; license = licenses.gpl2Only; - platforms = platforms.unix; + platforms = platforms.unix; maintainers = [ maintainers.evils ]; }; } diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix index d4da3a2d86911..36b6bf4d3de7a 100644 --- a/pkgs/applications/audio/calf/default.nix +++ b/pkgs/applications/audio/calf/default.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib -, gtk2, libjack2, ladspaH , libglade, lv2, pkg-config }: +{ + lib, + stdenv, + fetchurl, + cairo, + expat, + fftwSinglePrec, + fluidsynth, + glib, + gtk2, + libjack2, + ladspaH, + libglade, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "calf"; @@ -10,14 +24,25 @@ stdenv.mkDerivation rec { sha256 = "17x4hylgq4dn9qycsdacfxy64f5cv57n2qgkvsdp524gnqzw4az3"; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; enableParallelBuilding = true; nativeBuildInputs = [ pkg-config ]; buildInputs = [ - cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH - libglade lv2 + cairo + expat + fftwSinglePrec + fluidsynth + glib + gtk2 + libjack2 + ladspaH + libglade + lv2 ]; meta = with lib; { diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix index 68016e4a16bee..7748d68206e7d 100644 --- a/pkgs/applications/audio/carla/default.nix +++ b/pkgs/applications/audio/carla/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, file -, fluidsynth -, jack2 -, liblo -, libpulseaudio -, libsndfile -, pkg-config -, python3Packages -, which -, gtk2 ? null -, gtk3 ? null -, qtbase ? null -, withFrontend ? true -, withGtk2 ? true -, withGtk3 ? true -, withQt ? true -, wrapQtAppsHook ? null +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + file, + fluidsynth, + jack2, + liblo, + libpulseaudio, + libsndfile, + pkg-config, + python3Packages, + which, + gtk2 ? null, + gtk3 ? null, + qtbase ? null, + withFrontend ? true, + withGtk2 ? true, + withGtk3 ? true, + withQt ? true, + wrapQtAppsHook ? null, }: assert withQt -> qtbase != null; @@ -36,16 +37,31 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - python3Packages.wrapPython pkg-config which wrapQtAppsHook + python3Packages.wrapPython + pkg-config + which + wrapQtAppsHook ]; - pythonPath = with python3Packages; [ - rdflib pyliblo - ] ++ lib.optional withFrontend pyqt5; + pythonPath = + with python3Packages; + [ + rdflib + pyliblo + ] + ++ lib.optional withFrontend pyqt5; - buildInputs = [ - file liblo alsa-lib fluidsynth jack2 libpulseaudio libsndfile - ] ++ lib.optional withQt qtbase + buildInputs = + [ + file + liblo + alsa-lib + fluidsynth + jack2 + libpulseaudio + libsndfile + ] + ++ lib.optional withQt qtbase ++ lib.optional withGtk2 gtk2 ++ lib.optional withGtk3 gtk3; @@ -55,17 +71,19 @@ stdenv.mkDerivation (finalAttrs: { installFlags = [ "PREFIX=$(out)" ]; - postPatch = '' - # --with-appname="$0" is evaluated with $0=.carla-wrapped instead of carla. Fix that. - for file in $(grep -rl -- '--with-appname="$0"'); do - filename="$(basename -- "$file")" - substituteInPlace "$file" --replace '--with-appname="$0"' "--with-appname=\"$filename\"" - done - '' + lib.optionalString withGtk2 '' - # Will try to dlopen() libgtk-x11-2.0 at runtime when using the bridge. - substituteInPlace source/bridges-ui/Makefile \ - --replace '$(CXX) $(OBJS_GTK2)' '$(CXX) $(OBJS_GTK2) -lgtk-x11-2.0' - ''; + postPatch = + '' + # --with-appname="$0" is evaluated with $0=.carla-wrapped instead of carla. Fix that. + for file in $(grep -rl -- '--with-appname="$0"'); do + filename="$(basename -- "$file")" + substituteInPlace "$file" --replace '--with-appname="$0"' "--with-appname=\"$filename\"" + done + '' + + lib.optionalString withGtk2 '' + # Will try to dlopen() libgtk-x11-2.0 at runtime when using the bridge. + substituteInPlace source/bridges-ui/Makefile \ + --replace '$(CXX) $(OBJS_GTK2)' '$(CXX) $(OBJS_GTK2) -lgtk-x11-2.0' + ''; dontWrapQtApps = true; postFixup = '' diff --git a/pkgs/applications/audio/cd-discid/default.nix b/pkgs/applications/audio/cd-discid/default.nix index a30ebc8fbe394..25898ef8bd278 100644 --- a/pkgs/applications/audio/cd-discid/default.nix +++ b/pkgs/applications/audio/cd-discid/default.nix @@ -1,5 +1,9 @@ -{ fetchurl, lib, stdenv -, IOKit ? null }: +{ + fetchurl, + lib, + stdenv, + IOKit ? null, +}: stdenv.mkDerivation rec { pname = "cd-discid"; @@ -10,10 +14,12 @@ stdenv.mkDerivation rec { sha256 = "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz"; }; - installFlags = [ "PREFIX=$(out)" "INSTALL=install" ]; + installFlags = [ + "PREFIX=$(out)" + "INSTALL=install" + ]; - buildInputs = [] - ++ lib.optional stdenv.hostPlatform.isDarwin IOKit; + buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isDarwin IOKit; meta = with lib; { homepage = "http://linukz.org/cd-discid.shtml"; diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix index 3f15f90f5b78a..e3760c9e20127 100644 --- a/pkgs/applications/audio/cdparanoia/default.nix +++ b/pkgs/applications/audio/cdparanoia/default.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch -, updateAutotoolsGnuConfigScriptsHook, autoreconfHook +{ + lib, + stdenv, + fetchurl, + fetchpatch, + updateAutotoolsGnuConfigScriptsHook, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -11,50 +16,53 @@ stdenv.mkDerivation rec { sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"; }; - patches = lib.optionals stdenv.hostPlatform.isDarwin [ - (fetchpatch { - url = "https://github.com/macports/macports-ports/raw/c8e15973bc3c1e1ab371bc0ee2de14209e639f17/audio/cdparanoia/files/osx_interface.patch"; - hash = "sha256-9p4+9dRvqLHkpR0RWLQcNL1m7fb7L6r+c9Q2tt4jh0U="; - # Our configure patch will subsume it, but we want our configure - # patch to be used on all platforms so we cannot just start where - # this leaves off. - excludes = [ "configure.in" ]; - }) - (fetchurl { - url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/patch-paranoia_paranoia.c.10.4.diff"; - hash = "sha256-TW1RkJ0bKaPIrDSfUTKorNlmKDVRF++z8ZJAjSzEgp4="; - }) - # add missing include files needed for function prototypes - (fetchpatch { - url = "https://github.com/macports/macports-ports/raw/f210a6061bc53c746730a37922399c6de6d69cb7/audio/cdparanoia/files/fixing-include.patch"; - hash = "sha256-6a/u4b8/H/4XjyFup23xySgyAI9SMVMom4PLvH8KzhE="; - }) - ] ++ [ - # Has to come after darwin patches - ./fix_private_keyword.patch - # Order does not matter - ./configure.patch - # labs for long - (fetchpatch { - url = "https://github.com/macports/macports-ports/raw/f210a6061bc53c746730a37922399c6de6d69cb7/audio/cdparanoia/files/fixing-labs.patch"; - hash = "sha256-BMMQ5bbPP3eevuwWUVjQCtRBiWbkAHD+O0C0fp+BPaw="; - }) - # use "%s" for passing a buffer to fprintf - (fetchpatch { - url = "https://github.com/macports/macports-ports/raw/f210a6061bc53c746730a37922399c6de6d69cb7/audio/cdparanoia/files/fixing-fprintf.patch"; - hash = "sha256-2dJl16p+f5l3wxVOJhsuLiQ9a4prq7jsRZP8/ygEae4="; - }) - # add support for IDE4-9 - (fetchpatch { - url = "https://salsa.debian.org/optical-media-team/cdparanoia/-/raw/bbf353721834b3784ccc0fd54a36a6b25181f5a4/debian/patches/02-ide-devices.patch"; - hash = "sha256-S6OzftUIPPq9JHsoAE2K51ltsI1WkVaQrpgCjgm5AG4="; - }) - # check buffer is non-null before dereferencing - (fetchpatch { - url = "https://salsa.debian.org/optical-media-team/cdparanoia/-/raw/f7bab3024c5576da1fdb7497abbd6abc8959a98c/debian/patches/04-endian.patch"; - hash = "sha256-krfprwls0L3hsNfoj2j69J5k1RTKEQtzE0fLYG9EJKo="; - }) - ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch; + patches = + lib.optionals stdenv.hostPlatform.isDarwin [ + (fetchpatch { + url = "https://github.com/macports/macports-ports/raw/c8e15973bc3c1e1ab371bc0ee2de14209e639f17/audio/cdparanoia/files/osx_interface.patch"; + hash = "sha256-9p4+9dRvqLHkpR0RWLQcNL1m7fb7L6r+c9Q2tt4jh0U="; + # Our configure patch will subsume it, but we want our configure + # patch to be used on all platforms so we cannot just start where + # this leaves off. + excludes = [ "configure.in" ]; + }) + (fetchurl { + url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/patch-paranoia_paranoia.c.10.4.diff"; + hash = "sha256-TW1RkJ0bKaPIrDSfUTKorNlmKDVRF++z8ZJAjSzEgp4="; + }) + # add missing include files needed for function prototypes + (fetchpatch { + url = "https://github.com/macports/macports-ports/raw/f210a6061bc53c746730a37922399c6de6d69cb7/audio/cdparanoia/files/fixing-include.patch"; + hash = "sha256-6a/u4b8/H/4XjyFup23xySgyAI9SMVMom4PLvH8KzhE="; + }) + ] + ++ [ + # Has to come after darwin patches + ./fix_private_keyword.patch + # Order does not matter + ./configure.patch + # labs for long + (fetchpatch { + url = "https://github.com/macports/macports-ports/raw/f210a6061bc53c746730a37922399c6de6d69cb7/audio/cdparanoia/files/fixing-labs.patch"; + hash = "sha256-BMMQ5bbPP3eevuwWUVjQCtRBiWbkAHD+O0C0fp+BPaw="; + }) + # use "%s" for passing a buffer to fprintf + (fetchpatch { + url = "https://github.com/macports/macports-ports/raw/f210a6061bc53c746730a37922399c6de6d69cb7/audio/cdparanoia/files/fixing-fprintf.patch"; + hash = "sha256-2dJl16p+f5l3wxVOJhsuLiQ9a4prq7jsRZP8/ygEae4="; + }) + # add support for IDE4-9 + (fetchpatch { + url = "https://salsa.debian.org/optical-media-team/cdparanoia/-/raw/bbf353721834b3784ccc0fd54a36a6b25181f5a4/debian/patches/02-ide-devices.patch"; + hash = "sha256-S6OzftUIPPq9JHsoAE2K51ltsI1WkVaQrpgCjgm5AG4="; + }) + # check buffer is non-null before dereferencing + (fetchpatch { + url = "https://salsa.debian.org/optical-media-team/cdparanoia/-/raw/f7bab3024c5576da1fdb7497abbd6abc8959a98c/debian/patches/04-endian.patch"; + hash = "sha256-krfprwls0L3hsNfoj2j69J5k1RTKEQtzE0fLYG9EJKo="; + }) + ] + ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook @@ -73,7 +81,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://xiph.org/paranoia"; description = "Tool and library for reading digital audio from CDs"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; platforms = platforms.unix; mainProgram = "cdparanoia"; }; diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix index db42e60730eab..54fe244158407 100644 --- a/pkgs/applications/audio/chuck/default.nix +++ b/pkgs/applications/audio/chuck/default.nix @@ -1,5 +1,21 @@ -{ stdenv, lib, fetchurl, alsa-lib, bison, flex, libsndfile, which, DarwinTools, xcbuild -, AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel, MultitouchSupport +{ + stdenv, + lib, + fetchurl, + alsa-lib, + bison, + flex, + libsndfile, + which, + DarwinTools, + xcbuild, + AppKit, + Carbon, + CoreAudio, + CoreMIDI, + CoreServices, + Kernel, + MultitouchSupport, }: stdenv.mkDerivation rec { @@ -11,16 +27,36 @@ stdenv.mkDerivation rec { sha256 = "sha256-hIwsC9rYgXWSTFqUufKGqoT0Gnsf4nR4KQ0iSVbj8xg="; }; - nativeBuildInputs = [ flex bison which ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ DarwinTools xcbuild ]; + nativeBuildInputs = + [ + flex + bison + which + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + DarwinTools + xcbuild + ]; - buildInputs = [ libsndfile ] + buildInputs = + [ libsndfile ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) alsa-lib - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel MultitouchSupport ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Carbon + CoreAudio + CoreMIDI + CoreServices + Kernel + MultitouchSupport + ]; patches = [ ./darwin-limits.patch ]; - makeFlags = [ "-C src" "DESTDIR=$(out)/bin" ]; + makeFlags = [ + "-C src" + "DESTDIR=$(out)/bin" + ]; buildFlags = [ (if stdenv.hostPlatform.isDarwin then "mac" else "linux-alsa") ]; meta = with lib; { diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix index 2ca612841cc31..d4fef58281d01 100644 --- a/pkgs/applications/audio/cmus/default.nix +++ b/pkgs/applications/audio/cmus/default.nix @@ -1,39 +1,73 @@ -{ config, lib, stdenv, fetchFromGitHub, ncurses, pkg-config -, libiconv, CoreAudio, AudioUnit, VideoToolbox - -, alsaSupport ? stdenv.hostPlatform.isLinux, alsa-lib ? null -# simple fallback for everyone else -, aoSupport ? !stdenv.hostPlatform.isLinux, libao ? null -, jackSupport ? false, libjack ? null -, samplerateSupport ? jackSupport, libsamplerate ? null -, ossSupport ? false, alsa-oss ? null -, pulseaudioSupport ? config.pulseaudio or false, libpulseaudio ? null -, sndioSupport ? false, sndio ? null -, mprisSupport ? stdenv.hostPlatform.isLinux, systemd ? null - -# TODO: add these -#, artsSupport -#, roarSupport -#, sunSupport -#, waveoutSupport - -, cddbSupport ? true, libcddb ? null -, cdioSupport ? true, libcdio ? null, libcdio-paranoia ? null -, cueSupport ? true, libcue ? null -, discidSupport ? false, libdiscid ? null -, ffmpegSupport ? true, ffmpeg ? null -, flacSupport ? true, flac ? null -, madSupport ? true, libmad ? null -, mikmodSupport ? true, libmikmod ? null -, modplugSupport ? true, libmodplug ? null -, mpcSupport ? true, libmpcdec ? null -, tremorSupport ? false, tremor ? null -, vorbisSupport ? true, libvorbis ? null -, wavpackSupport ? true, wavpack ? null -, opusSupport ? true, opusfile ? null - -, aacSupport ? false, faad2 ? null # already handled by ffmpeg -, mp4Support ? false, mp4v2 ? null # ffmpeg does support mp4 better +{ + config, + lib, + stdenv, + fetchFromGitHub, + ncurses, + pkg-config, + libiconv, + CoreAudio, + AudioUnit, + VideoToolbox, + + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib ? null, + # simple fallback for everyone else + aoSupport ? !stdenv.hostPlatform.isLinux, + libao ? null, + jackSupport ? false, + libjack ? null, + samplerateSupport ? jackSupport, + libsamplerate ? null, + ossSupport ? false, + alsa-oss ? null, + pulseaudioSupport ? config.pulseaudio or false, + libpulseaudio ? null, + sndioSupport ? false, + sndio ? null, + mprisSupport ? stdenv.hostPlatform.isLinux, + systemd ? null, + + # TODO: add these + #, artsSupport + #, roarSupport + #, sunSupport + #, waveoutSupport + + cddbSupport ? true, + libcddb ? null, + cdioSupport ? true, + libcdio ? null, + libcdio-paranoia ? null, + cueSupport ? true, + libcue ? null, + discidSupport ? false, + libdiscid ? null, + ffmpegSupport ? true, + ffmpeg ? null, + flacSupport ? true, + flac ? null, + madSupport ? true, + libmad ? null, + mikmodSupport ? true, + libmikmod ? null, + modplugSupport ? true, + libmodplug ? null, + mpcSupport ? true, + libmpcdec ? null, + tremorSupport ? false, + tremor ? null, + vorbisSupport ? true, + libvorbis ? null, + wavpackSupport ? true, + wavpack ? null, + opusSupport ? true, + opusfile ? null, + + aacSupport ? false, + faad2 ? null, # already handled by ffmpeg + mp4Support ? false, + mp4v2 ? null, # ffmpeg does support mp4 better # not in nixpkgs #, vtxSupport ? true, libayemu ? null @@ -47,20 +81,29 @@ assert tremorSupport -> !vorbisSupport; let - mkFlag = b: f: dep: if b - then { flags = [ f ]; deps = [ dep ]; } - else { flags = []; deps = []; }; + mkFlag = + b: f: dep: + if b then + { + flags = [ f ]; + deps = [ dep ]; + } + else + { + flags = [ ]; + deps = [ ]; + }; opts = [ # Audio output - (mkFlag alsaSupport "CONFIG_ALSA=y" alsa-lib) - (mkFlag aoSupport "CONFIG_AO=y" libao) - (mkFlag jackSupport "CONFIG_JACK=y" libjack) + (mkFlag alsaSupport "CONFIG_ALSA=y" alsa-lib) + (mkFlag aoSupport "CONFIG_AO=y" libao) + (mkFlag jackSupport "CONFIG_JACK=y" libjack) (mkFlag samplerateSupport "CONFIG_SAMPLERATE=y" libsamplerate) - (mkFlag ossSupport "CONFIG_OSS=y" alsa-oss) - (mkFlag pulseaudioSupport "CONFIG_PULSE=y" libpulseaudio) - (mkFlag sndioSupport "CONFIG_SNDIO=y" sndio) - (mkFlag mprisSupport "CONFIG_MPRIS=y" systemd) + (mkFlag ossSupport "CONFIG_OSS=y" alsa-oss) + (mkFlag pulseaudioSupport "CONFIG_PULSE=y" libpulseaudio) + (mkFlag sndioSupport "CONFIG_SNDIO=y" sndio) + (mkFlag mprisSupport "CONFIG_MPRIS=y" systemd) #(mkFlag artsSupport "CONFIG_ARTS=y") #(mkFlag roarSupport "CONFIG_ROAR=y") @@ -68,23 +111,26 @@ let #(mkFlag waveoutSupport "CONFIG_WAVEOUT=y") # Input file formats - (mkFlag cddbSupport "CONFIG_CDDB=y" libcddb) - (mkFlag cdioSupport "CONFIG_CDIO=y" [ libcdio libcdio-paranoia ]) - (mkFlag cueSupport "CONFIG_CUE=y" libcue) - (mkFlag discidSupport "CONFIG_DISCID=y" libdiscid) - (mkFlag ffmpegSupport "CONFIG_FFMPEG=y" ffmpeg) - (mkFlag flacSupport "CONFIG_FLAC=y" flac) - (mkFlag madSupport "CONFIG_MAD=y" libmad) - (mkFlag mikmodSupport "CONFIG_MIKMOD=y" libmikmod) + (mkFlag cddbSupport "CONFIG_CDDB=y" libcddb) + (mkFlag cdioSupport "CONFIG_CDIO=y" [ + libcdio + libcdio-paranoia + ]) + (mkFlag cueSupport "CONFIG_CUE=y" libcue) + (mkFlag discidSupport "CONFIG_DISCID=y" libdiscid) + (mkFlag ffmpegSupport "CONFIG_FFMPEG=y" ffmpeg) + (mkFlag flacSupport "CONFIG_FLAC=y" flac) + (mkFlag madSupport "CONFIG_MAD=y" libmad) + (mkFlag mikmodSupport "CONFIG_MIKMOD=y" libmikmod) (mkFlag modplugSupport "CONFIG_MODPLUG=y" libmodplug) - (mkFlag mpcSupport "CONFIG_MPC=y" libmpcdec) - (mkFlag tremorSupport "CONFIG_TREMOR=y" tremor) - (mkFlag vorbisSupport "CONFIG_VORBIS=y" libvorbis) + (mkFlag mpcSupport "CONFIG_MPC=y" libmpcdec) + (mkFlag tremorSupport "CONFIG_TREMOR=y" tremor) + (mkFlag vorbisSupport "CONFIG_VORBIS=y" libvorbis) (mkFlag wavpackSupport "CONFIG_WAVPACK=y" wavpack) - (mkFlag opusSupport "CONFIG_OPUS=y" opusfile) + (mkFlag opusSupport "CONFIG_OPUS=y" opusfile) - (mkFlag mp4Support "CONFIG_MP4=y" mp4v2) - (mkFlag aacSupport "CONFIG_AAC=y" faad2) + (mkFlag mp4Support "CONFIG_MP4=y" mp4v2) + (mkFlag aacSupport "CONFIG_AAC=y" faad2) #(mkFlag vtxSupport "CONFIG_VTX=y" libayemu) ]; @@ -95,15 +141,21 @@ stdenv.mkDerivation rec { version = "2.12.0"; src = fetchFromGitHub { - owner = "cmus"; - repo = "cmus"; - rev = "v${version}"; - hash = "sha256-8hgibGtkiwzenMI9YImIApRmw2EzTwE6RhglALpUkp4="; + owner = "cmus"; + repo = "cmus"; + rev = "v${version}"; + hash = "sha256-8hgibGtkiwzenMI9YImIApRmw2EzTwE6RhglALpUkp4="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ncurses ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv CoreAudio AudioUnit VideoToolbox ] + buildInputs = + [ ncurses ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + CoreAudio + AudioUnit + VideoToolbox + ] ++ lib.flatten (lib.concatMap (a: a.deps) opts); prefixKey = "prefix="; diff --git a/pkgs/applications/audio/codecserver/default.nix b/pkgs/applications/audio/codecserver/default.nix index 0c1bee94cc10f..c055c72c4eafa 100644 --- a/pkgs/applications/audio/codecserver/default.nix +++ b/pkgs/applications/audio/codecserver/default.nix @@ -1,5 +1,11 @@ -{ stdenv, lib, fetchFromGitHub -, cmake, pkg-config, udev, protobuf +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + udev, + protobuf, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/csound/csound-qt/default.nix b/pkgs/applications/audio/csound/csound-qt/default.nix index 5c0c2a7f3d00e..9ff6bb2de902c 100644 --- a/pkgs/applications/audio/csound/csound-qt/default.nix +++ b/pkgs/applications/audio/csound/csound-qt/default.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, csound, desktop-file-utils, - fetchFromGitHub, python3, python-qt, qmake, - qtwebengine, qtxmlpatterns, rtmidi, wrapQtAppsHook }: +{ + lib, + stdenv, + csound, + desktop-file-utils, + fetchFromGitHub, + python3, + python-qt, + qmake, + qtwebengine, + qtxmlpatterns, + rtmidi, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "csound-qt"; @@ -17,23 +28,36 @@ stdenv.mkDerivation rec { ./rtmidipath.patch ]; - nativeBuildInputs = [ qmake qtwebengine qtxmlpatterns wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + qtwebengine + qtxmlpatterns + wrapQtAppsHook + ]; - buildInputs = [ csound desktop-file-utils rtmidi ]; + buildInputs = [ + csound + desktop-file-utils + rtmidi + ]; - qmakeFlags = [ "qcs.pro" "CONFIG+=rtmidi" "CONFIG+=pythonqt" - "CONFIG+=record_support" "CONFIG+=html_webengine" - "CSOUND_INCLUDE_DIR=${csound}/include/csound" - "CSOUND_LIBRARY_DIR=${csound}/lib" - "RTMIDI_DIR=${rtmidi.src}" - "PYTHONQT_SRC_DIR=${python-qt.src}" - "PYTHONQT_LIB_DIR=${python-qt}/lib" - "LIBS+=-L${python-qt}/lib" - "INSTALL_DIR=${placeholder "out"}" - "SHARE_DIR=${placeholder "out"}/share" - "PYTHON_DIR=${python3}" - "PYTHON_VERSION=3.${python3.sourceVersion.minor}" - ]; + qmakeFlags = [ + "qcs.pro" + "CONFIG+=rtmidi" + "CONFIG+=pythonqt" + "CONFIG+=record_support" + "CONFIG+=html_webengine" + "CSOUND_INCLUDE_DIR=${csound}/include/csound" + "CSOUND_LIBRARY_DIR=${csound}/lib" + "RTMIDI_DIR=${rtmidi.src}" + "PYTHONQT_SRC_DIR=${python-qt.src}" + "PYTHONQT_LIB_DIR=${python-qt}/lib" + "LIBS+=-L${python-qt}/lib" + "INSTALL_DIR=${placeholder "out"}" + "SHARE_DIR=${placeholder "out"}/share" + "PYTHON_DIR=${python3}" + "PYTHON_VERSION=3.${python3.sourceVersion.minor}" + ]; meta = with lib; { description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features"; diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix index c6359103593ff..207f1201a6710 100644 --- a/pkgs/applications/audio/csound/default.nix +++ b/pkgs/applications/audio/csound/default.nix @@ -1,20 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext -, Accelerate -, AudioUnit -, CoreAudio -, CoreMIDI -, portaudio -, alsa-lib ? null -, libpulseaudio ? null -, libjack2 ? null -, liblo ? null -, ladspa-sdk ? null -, fluidsynth ? null -# , gmm ? null # opcodes don't build with gmm 5.1 -, eigen ? null -, curl ? null -, tcltk ? null -, fltk ? null +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libsndfile, + libsamplerate, + flex, + bison, + boost, + gettext, + Accelerate, + AudioUnit, + CoreAudio, + CoreMIDI, + portaudio, + alsa-lib ? null, + libpulseaudio ? null, + libjack2 ? null, + liblo ? null, + ladspa-sdk ? null, + fluidsynth ? null, + # , gmm ? null # opcodes don't build with gmm 5.1 + eigen ? null, + curl ? null, + tcltk ? null, + fltk ? null, }: stdenv.mkDerivation rec { @@ -30,20 +40,47 @@ stdenv.mkDerivation rec { sha256 = "sha256-O7s92N54+zIl07eIdK/puoSve/qJ3O01fTh0TP+VdZA="; }; - cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp + cmakeFlags = + [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp ++ lib.optional stdenv.hostPlatform.isDarwin "-DCS_FRAMEWORK_DEST=${placeholder "out"}/lib" # Ignore gettext in CMAKE_PREFIX_PATH on cross to prevent find_program picking up the wrong gettext - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DCMAKE_IGNORE_PATH=${lib.getBin gettext}/bin"; + ++ lib.optional ( + stdenv.hostPlatform != stdenv.buildPlatform + ) "-DCMAKE_IGNORE_PATH=${lib.getBin gettext}/bin"; - nativeBuildInputs = [ cmake flex bison gettext ]; - buildInputs = [ libsndfile libsamplerate boost ] + nativeBuildInputs = [ + cmake + flex + bison + gettext + ]; + buildInputs = + [ + libsndfile + libsamplerate + boost + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Accelerate AudioUnit CoreAudio CoreMIDI portaudio - ] ++ lib.optionals stdenv.hostPlatform.isLinux (builtins.filter (optional: optional != null) [ - alsa-lib libpulseaudio libjack2 - liblo ladspa-sdk fluidsynth eigen - curl tcltk fltk - ]); + Accelerate + AudioUnit + CoreAudio + CoreMIDI + portaudio + ] + ++ lib.optionals stdenv.hostPlatform.isLinux ( + builtins.filter (optional: optional != null) [ + alsa-lib + libpulseaudio + libjack2 + liblo + ladspa-sdk + fluidsynth + eigen + curl + tcltk + fltk + ] + ); postInstall = lib.optional stdenv.hostPlatform.isDarwin '' mkdir -p $out/Library/Frameworks @@ -54,7 +91,7 @@ stdenv.mkDerivation rec { description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms"; homepage = "https://csound.com/"; license = licenses.lgpl21Plus; - maintainers = [maintainers.marcweber]; + maintainers = [ maintainers.marcweber ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix index d141a61963659..537ed98806659 100644 --- a/pkgs/applications/audio/deadbeef/default.nix +++ b/pkgs/applications/audio/deadbeef/default.nix @@ -1,39 +1,68 @@ -{ lib, config, clangStdenv, fetchFromGitHub -, autoconf -, automake -, libtool -, intltool -, pkg-config -, jansson -, swift-corelibs-libdispatch -# deadbeef can use either gtk2 or gtk3 -, gtk2Support ? false, gtk2 -, gtk3Support ? true, gtk3, gsettings-desktop-schemas, wrapGAppsHook3 -# input plugins -, vorbisSupport ? true, libvorbis -, mp123Support ? true, libmad -, flacSupport ? true, flac -, wavSupport ? true, libsndfile -, cdaSupport ? true, libcdio, libcddb -, aacSupport ? true, faad2 -, opusSupport ? true, opusfile -, wavpackSupport ? false, wavpack -, ffmpegSupport ? false, ffmpeg -, apeSupport ? true, yasm -# misc plugins -, zipSupport ? true, libzip -, artworkSupport ? true, imlib2 -, hotkeysSupport ? true, libX11 -, osdSupport ? true, dbus -# output plugins -, alsaSupport ? true, alsa-lib -, pulseSupport ? config.pulseaudio or true, libpulseaudio -, pipewireSupport ? true, pipewire -# effect plugins -, resamplerSupport ? true, libsamplerate -, overloadSupport ? true, zlib -# transports -, remoteSupport ? true, curl +{ + lib, + config, + clangStdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + intltool, + pkg-config, + jansson, + swift-corelibs-libdispatch, + # deadbeef can use either gtk2 or gtk3 + gtk2Support ? false, + gtk2, + gtk3Support ? true, + gtk3, + gsettings-desktop-schemas, + wrapGAppsHook3, + # input plugins + vorbisSupport ? true, + libvorbis, + mp123Support ? true, + libmad, + flacSupport ? true, + flac, + wavSupport ? true, + libsndfile, + cdaSupport ? true, + libcdio, + libcddb, + aacSupport ? true, + faad2, + opusSupport ? true, + opusfile, + wavpackSupport ? false, + wavpack, + ffmpegSupport ? false, + ffmpeg, + apeSupport ? true, + yasm, + # misc plugins + zipSupport ? true, + libzip, + artworkSupport ? true, + imlib2, + hotkeysSupport ? true, + libX11, + osdSupport ? true, + dbus, + # output plugins + alsaSupport ? true, + alsa-lib, + pulseSupport ? config.pulseaudio or true, + libpulseaudio, + pipewireSupport ? true, + pipewire, + # effect plugins + resamplerSupport ? true, + libsamplerate, + overloadSupport ? true, + zlib, + # transports + remoteSupport ? true, + curl, }: assert gtk2Support || gtk3Support; @@ -42,7 +71,8 @@ let inherit (lib) optionals; version = "1.9.6"; -in clangStdenv.mkDerivation { +in +clangStdenv.mkDerivation { pname = "deadbeef"; inherit version; @@ -54,66 +84,91 @@ in clangStdenv.mkDerivation { hash = "sha256-Q6hL4fOFPHn26ZqvrebgTMTgQZrhbXCEhM4ZFzNeyJE="; }; - buildInputs = [ - jansson - swift-corelibs-libdispatch - ] ++ optionals gtk2Support [ - gtk2 - ] ++ optionals gtk3Support [ - gtk3 - gsettings-desktop-schemas - ] ++ optionals vorbisSupport [ - libvorbis - ] ++ optionals mp123Support [ - libmad - ] ++ optionals flacSupport [ - flac - ] ++ optionals wavSupport [ - libsndfile - ] ++ optionals cdaSupport [ - libcdio - libcddb - ] ++ optionals aacSupport [ - faad2 - ] ++ optionals opusSupport [ - opusfile - ] ++ optionals zipSupport [ - libzip - ] ++ optionals ffmpegSupport [ - ffmpeg - ] ++ optionals apeSupport [ - yasm - ] ++ optionals artworkSupport [ - imlib2 - ] ++ optionals hotkeysSupport [ - libX11 - ] ++ optionals osdSupport [ - dbus - ] ++ optionals alsaSupport [ - alsa-lib - ] ++ optionals pulseSupport [ - libpulseaudio - ] ++ optionals pipewireSupport [ - pipewire - ] ++ optionals resamplerSupport [ - libsamplerate - ] ++ optionals overloadSupport [ - zlib - ] ++ optionals wavpackSupport [ - wavpack - ] ++ optionals remoteSupport [ - curl - ]; + buildInputs = + [ + jansson + swift-corelibs-libdispatch + ] + ++ optionals gtk2Support [ + gtk2 + ] + ++ optionals gtk3Support [ + gtk3 + gsettings-desktop-schemas + ] + ++ optionals vorbisSupport [ + libvorbis + ] + ++ optionals mp123Support [ + libmad + ] + ++ optionals flacSupport [ + flac + ] + ++ optionals wavSupport [ + libsndfile + ] + ++ optionals cdaSupport [ + libcdio + libcddb + ] + ++ optionals aacSupport [ + faad2 + ] + ++ optionals opusSupport [ + opusfile + ] + ++ optionals zipSupport [ + libzip + ] + ++ optionals ffmpegSupport [ + ffmpeg + ] + ++ optionals apeSupport [ + yasm + ] + ++ optionals artworkSupport [ + imlib2 + ] + ++ optionals hotkeysSupport [ + libX11 + ] + ++ optionals osdSupport [ + dbus + ] + ++ optionals alsaSupport [ + alsa-lib + ] + ++ optionals pulseSupport [ + libpulseaudio + ] + ++ optionals pipewireSupport [ + pipewire + ] + ++ optionals resamplerSupport [ + libsamplerate + ] + ++ optionals overloadSupport [ + zlib + ] + ++ optionals wavpackSupport [ + wavpack + ] + ++ optionals remoteSupport [ + curl + ]; - nativeBuildInputs = [ - autoconf - automake - intltool - libtool - pkg-config - ] ++ optionals gtk3Support [ - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + autoconf + automake + intltool + libtool + pkg-config + ] + ++ optionals gtk3Support [ + wrapGAppsHook3 + ]; enableParallelBuilding = true; @@ -134,7 +189,10 @@ in clangStdenv.mkDerivation { homepage = "http://deadbeef.sourceforge.net/"; downloadPage = "https://github.com/DeaDBeeF-Player/deadbeef"; license = licenses.gpl2; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ maintainers.abbradar ]; }; } diff --git a/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix b/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix index 16cefc5ff85a1..784195b23d737 100644 --- a/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix +++ b/pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, libxml2, deadbeef, glib, gtk3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + libxml2, + deadbeef, + glib, + gtk3, +}: stdenv.mkDerivation rec { pname = "deadbeef-headerbar-gtk3-plugin"; @@ -11,8 +23,18 @@ stdenv.mkDerivation rec { sha256 = "1v1schvnps7ypjqgcbqi74a45w8r2gbhrawz7filym22h1qr9wn0"; }; - nativeBuildInputs = [ autoconf automake libtool pkg-config libxml2 ]; - buildInputs = [ deadbeef glib gtk3 ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + libxml2 + ]; + buildInputs = [ + deadbeef + glib + gtk3 + ]; # Choose correct installation path # https://github.com/saivert/ddb_misc_headerbar_GTK3/commit/50ff75f76aa9d40761e352311670a894bfcd5cf6#r30319680 diff --git a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix index bc6d206956f09..3a6a705de5cb5 100644 --- a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix +++ b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, deadbeef, gtkmm3, libxmlxx3 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + deadbeef, + gtkmm3, + libxmlxx3, +}: stdenv.mkDerivation { pname = "deadbeef-lyricbar-plugin"; @@ -12,7 +20,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ deadbeef gtkmm3 libxmlxx3 ]; + buildInputs = [ + deadbeef + gtkmm3 + libxmlxx3 + ]; buildFlags = [ "gtk3" ]; diff --git a/pkgs/applications/audio/deadbeef/plugins/mpris2.nix b/pkgs/applications/audio/deadbeef/plugins/mpris2.nix index a6d6409f9f86c..bb41a6f0f5f47 100644 --- a/pkgs/applications/audio/deadbeef/plugins/mpris2.nix +++ b/pkgs/applications/audio/deadbeef/plugins/mpris2.nix @@ -1,16 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, deadbeef -, autoreconfHook -, pkg-config -, glib +{ + lib, + stdenv, + fetchFromGitHub, + deadbeef, + autoreconfHook, + pkg-config, + glib, }: let pname = "deadbeef-mpris2-plugin"; version = "1.16"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; src = fetchFromGitHub { diff --git a/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix b/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix index de371bfb552da..f60351ad11fac 100644 --- a/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix +++ b/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix @@ -1,11 +1,12 @@ -{ deadbeef -, fetchFromGitHub -, fftw -, glib -, gtk3 -, lib -, pkg-config -, stdenv +{ + deadbeef, + fetchFromGitHub, + fftw, + glib, + gtk3, + lib, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { @@ -20,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ deadbeef fftw glib gtk3 ]; + buildInputs = [ + deadbeef + fftw + glib + gtk3 + ]; makeFlags = [ "gtk3" ]; installPhase = '' diff --git a/pkgs/applications/audio/deadbeef/plugins/playlist-manager.nix b/pkgs/applications/audio/deadbeef/plugins/playlist-manager.nix index cf82697988941..f6113cb9e904f 100644 --- a/pkgs/applications/audio/deadbeef/plugins/playlist-manager.nix +++ b/pkgs/applications/audio/deadbeef/plugins/playlist-manager.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, deadbeef -, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + deadbeef, + gtk3, }: stdenv.mkDerivation { diff --git a/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix b/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix index 287f439c94d50..c6a1a08d59542 100644 --- a/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix +++ b/pkgs/applications/audio/deadbeef/plugins/statusnotifier.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, deadbeef, gtk3, perl -, libdbusmenu }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + deadbeef, + gtk3, + perl, + libdbusmenu, +}: stdenv.mkDerivation rec { pname = "deadbeef-statusnotifier-plugin"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ deadbeef gtk3 libdbusmenu ]; + buildInputs = [ + deadbeef + gtk3 + libdbusmenu + ]; buildFlags = [ "gtk3" ]; diff --git a/pkgs/applications/audio/deadbeef/wrapper.nix b/pkgs/applications/audio/deadbeef/wrapper.nix index 66108deab1e32..c3074e7b2e076 100644 --- a/pkgs/applications/audio/deadbeef/wrapper.nix +++ b/pkgs/applications/audio/deadbeef/wrapper.nix @@ -1,4 +1,9 @@ -{ symlinkJoin, deadbeef, makeWrapper, plugins }: +{ + symlinkJoin, + deadbeef, + makeWrapper, + plugins, +}: symlinkJoin { name = "deadbeef-with-plugins-${deadbeef.version}"; diff --git a/pkgs/applications/audio/dfasma/default.nix b/pkgs/applications/audio/dfasma/default.nix index 78ab9c8a5f4f0..dd3827ab8a194 100644 --- a/pkgs/applications/audio/dfasma/default.nix +++ b/pkgs/applications/audio/dfasma/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitHub, fftw, libsndfile, qtbase, qtmultimedia, qmake }: +{ + mkDerivation, + lib, + fetchFromGitHub, + fftw, + libsndfile, + qtbase, + qtmultimedia, + qmake, +}: let @@ -10,7 +19,7 @@ let owner = "gillesdegottex"; }; meta = with lib; { - license = licenses.asl20; + license = licenses.asl20; }; }; @@ -22,11 +31,12 @@ let owner = "gillesdegottex"; }; meta = with lib; { - license = licenses.gpl3Plus; + license = licenses.gpl3Plus; }; }; -in mkDerivation rec { +in +mkDerivation rec { pname = "dfasma"; version = "1.4.5"; @@ -37,7 +47,12 @@ in mkDerivation rec { owner = "gillesdegottex"; }; - buildInputs = [ fftw libsndfile qtbase qtmultimedia ]; + buildInputs = [ + fftw + libsndfile + qtbase + qtmultimedia + ]; nativeBuildInputs = [ qmake ]; @@ -59,7 +74,10 @@ in mkDerivation rec { amplitude, this software does not aim to be an audio editor. ''; homepage = "https://gillesdegottex.gitlab.io/dfasma-website/"; - license = [ licenses.gpl3Plus reaperFork.meta.license ]; + license = [ + licenses.gpl3Plus + reaperFork.meta.license + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/easyabc/default.nix b/pkgs/applications/audio/easyabc/default.nix index bdc753d0f45e0..10af7b23b9d53 100644 --- a/pkgs/applications/audio/easyabc/default.nix +++ b/pkgs/applications/audio/easyabc/default.nix @@ -1,4 +1,16 @@ -{ lib, fetchFromGitHub, fetchPypi, substituteAll, python39, fluidsynth, soundfont-fluid, wrapGAppsHook3, abcmidi, abcm2ps, ghostscript }: +{ + lib, + fetchFromGitHub, + fetchPypi, + substituteAll, + python39, + fluidsynth, + soundfont-fluid, + wrapGAppsHook3, + abcmidi, + abcm2ps, + ghostscript, +}: let # requires python39 due to https://stackoverflow.com/a/71902541 https://github.com/jwdj/EasyABC/issues/52 @@ -17,7 +29,8 @@ let }); }; }; -in python.pkgs.buildPythonApplication { +in +python.pkgs.buildPythonApplication { pname = "easyabc"; version = "1.3.8.6"; diff --git a/pkgs/applications/audio/easyaudiosync/default.nix b/pkgs/applications/audio/easyaudiosync/default.nix index b5f6a522ff5a8..e7166cd9eb80c 100644 --- a/pkgs/applications/audio/easyaudiosync/default.nix +++ b/pkgs/applications/audio/easyaudiosync/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, qtbase -, qttools -, spdlog -, ffmpeg -, taglib -, wrapQtAppsHook -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + qtbase, + qttools, + spdlog, + ffmpeg, + taglib, + wrapQtAppsHook, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation rec { @@ -47,11 +48,13 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications mv "easyaudiosync.app" "Easy Audio Sync.app" cp -r "Easy Audio Sync.app" $out/Applications - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' install -Dm755 easyaudiosync $out/bin/easyaudiosync for RES in 48 64 128 256; do @@ -59,7 +62,8 @@ stdenv.mkDerivation rec { done install -Dm755 "$src/assets/icons/easyaudiosync.svg" "$out/share/icons/hicolor/scalable/apps/easyaudiosync.svg" - '' + '' + '' + + '' runHook postInstall ''; diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix index 7eabadec04c22..e7463c8c6613d 100644 --- a/pkgs/applications/audio/espeak-ng/default.nix +++ b/pkgs/applications/audio/espeak-ng/default.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, autoconf -, automake -, which -, libtool -, pkg-config -, ronn -, substituteAll -, buildPackages -, mbrolaSupport ? true -, mbrola -, pcaudiolibSupport ? true -, pcaudiolib -, sonicSupport ? true -, sonic -, CoreAudio -, AudioToolbox -, AudioUnit -, alsa-plugins -, makeWrapper +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoconf, + automake, + which, + libtool, + pkg-config, + ronn, + substituteAll, + buildPackages, + mbrolaSupport ? true, + mbrola, + pcaudiolibSupport ? true, + pcaudiolib, + sonicSupport ? true, + sonic, + CoreAudio, + AudioToolbox, + AudioUnit, + alsa-plugins, + makeWrapper, }: stdenv.mkDerivation rec { @@ -34,38 +35,51 @@ stdenv.mkDerivation rec { hash = "sha256-aAJ+k+kkOS6k835mEW7BvgAIYGhUHxf7Q4P5cKO8XTk="; }; - patches = [ - # Fix build with Clang 16. - (fetchpatch { - url = "https://github.com/espeak-ng/espeak-ng/commit/497c6217d696c1190c3e8b992ff7b9110eb3bedd.patch"; - hash = "sha256-KfzqnRyQfz6nuMKnsHoUzb9rn9h/Pg54mupW1Cr+Zx0="; - }) - ] ++ lib.optionals mbrolaSupport [ - # Hardcode correct mbrola paths. - (substituteAll { - src = ./mbrola.patch; - inherit mbrola; - }) - ]; + patches = + [ + # Fix build with Clang 16. + (fetchpatch { + url = "https://github.com/espeak-ng/espeak-ng/commit/497c6217d696c1190c3e8b992ff7b9110eb3bedd.patch"; + hash = "sha256-KfzqnRyQfz6nuMKnsHoUzb9rn9h/Pg54mupW1Cr+Zx0="; + }) + ] + ++ lib.optionals mbrolaSupport [ + # Hardcode correct mbrola paths. + (substituteAll { + src = ./mbrola.patch; + inherit mbrola; + }) + ]; - nativeBuildInputs = [ autoconf automake which libtool pkg-config ronn makeWrapper ]; + nativeBuildInputs = [ + autoconf + automake + which + libtool + pkg-config + ronn + makeWrapper + ]; - buildInputs = lib.optional mbrolaSupport mbrola + buildInputs = + lib.optional mbrolaSupport mbrola ++ lib.optional pcaudiolibSupport pcaudiolib ++ lib.optional sonicSupport sonic ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreAudio - AudioToolbox - AudioUnit - ]; + CoreAudio + AudioToolbox + AudioUnit + ]; # touch ChangeLog to avoid below error on darwin: # Makefile.am: error: required file './ChangeLog.md' not found - preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' - touch ChangeLog - '' + '' - ./autogen.sh - ''; + preConfigure = + lib.optionalString stdenv.hostPlatform.isDarwin '' + touch ChangeLog + '' + + '' + ./autogen.sh + ''; configureFlags = [ "--with-mbrola=${if mbrolaSupport then "yes" else "no"}" diff --git a/pkgs/applications/audio/espeak/default.nix b/pkgs/applications/audio/espeak/default.nix index 4693995883d91..d5a443095bf18 100644 --- a/pkgs/applications/audio/espeak/default.nix +++ b/pkgs/applications/audio/espeak/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, portaudio }: +{ + lib, + stdenv, + fetchurl, + unzip, + portaudio, +}: stdenv.mkDerivation rec { pname = "espeak"; @@ -16,12 +22,14 @@ stdenv.mkDerivation rec { ./gcc6.patch ]; - prePatch = '' - sed -e s,/bin/ln,ln,g -i src/Makefile - sed -e 's,^CXXFLAGS=-O2,CXXFLAGS=-O2 -D PATH_ESPEAK_DATA=\\\"$(DATADIR)\\\",' -i src/Makefile - '' + (lib.optionalString (portaudio.api_version == 19) '' - cp src/portaudio19.h src/portaudio.h - ''); + prePatch = + '' + sed -e s,/bin/ln,ln,g -i src/Makefile + sed -e 's,^CXXFLAGS=-O2,CXXFLAGS=-O2 -D PATH_ESPEAK_DATA=\\\"$(DATADIR)\\\",' -i src/Makefile + '' + + (lib.optionalString (portaudio.api_version == 19) '' + cp src/portaudio19.h src/portaudio.h + ''); configurePhase = '' cd src diff --git a/pkgs/applications/audio/espeak/edit.nix b/pkgs/applications/audio/espeak/edit.nix index 4be2f404f60f6..a4b5536e6f997 100644 --- a/pkgs/applications/audio/espeak/edit.nix +++ b/pkgs/applications/audio/espeak/edit.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, unzip, portaudio, wxGTK32, sox }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + unzip, + portaudio, + wxGTK32, + sox, +}: stdenv.mkDerivation rec { pname = "espeakedit"; @@ -9,8 +18,14 @@ stdenv.mkDerivation rec { sha256 = "0x8s7vpb7rw5x37yjzy1f98m4f2csdg89libb74fm36gn8ly0hli"; }; - nativeBuildInputs = [ pkg-config unzip ]; - buildInputs = [ portaudio wxGTK32 ]; + nativeBuildInputs = [ + pkg-config + unzip + ]; + buildInputs = [ + portaudio + wxGTK32 + ]; # TODO: # Uhm, seems like espeakedit still wants espeak-data/ in $HOME, even thought @@ -30,19 +45,21 @@ stdenv.mkDerivation rec { ./espeakedit-wxgtk30.patch ]; - postPatch = '' - # Disable -Wall flag because it's noisy - sed -i "s/-Wall//g" src/Makefile - - # Fixup paths (file names from above espeak-configurable* patches) - for file in src/compiledata.cpp src/readclause.cpp src/speech.h; do - sed -e "s|@sox@|${sox}/bin/sox|" \ - -e "s|@prefix@|$out|" \ - -i "$file" - done - '' + lib.optionalString (portaudio.api_version == 19) '' - cp src/portaudio19.h src/portaudio.h - ''; + postPatch = + '' + # Disable -Wall flag because it's noisy + sed -i "s/-Wall//g" src/Makefile + + # Fixup paths (file names from above espeak-configurable* patches) + for file in src/compiledata.cpp src/readclause.cpp src/speech.h; do + sed -e "s|@sox@|${sox}/bin/sox|" \ + -e "s|@prefix@|$out|" \ + -i "$file" + done + '' + + lib.optionalString (portaudio.api_version == 19) '' + cp src/portaudio19.h src/portaudio.h + ''; buildPhase = '' make -C src diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix index 68a9708e2842e..c1c6fb225c3eb 100644 --- a/pkgs/applications/audio/faust/faust2.nix +++ b/pkgs/applications/audio/faust/faust2.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, coreutils -, fetchFromGitHub -, makeWrapper -, pkg-config -, cmake -, llvm -, emscripten -, openssl -, libsndfile -, libmicrohttpd -, gnutls -, libtasn1 -, p11-kit -, vim -, which -, ncurses -, fetchpatch +{ + lib, + stdenv, + coreutils, + fetchFromGitHub, + makeWrapper, + pkg-config, + cmake, + llvm, + emscripten, + openssl, + libsndfile, + libmicrohttpd, + gnutls, + libtasn1, + p11-kit, + vim, + which, + ncurses, + fetchpatch, }: with lib.strings; @@ -38,19 +39,30 @@ let downloadPage = "https://github.com/grame-cncm/faust/"; license = licenses.gpl2; platforms = platforms.unix; - maintainers = with maintainers; [ magnetophon pmahoney ]; + maintainers = with maintainers; [ + magnetophon + pmahoney + ]; }; faust = - let ncurses_static = ncurses.override { enableStatic = true; }; - in stdenv.mkDerivation { + let + ncurses_static = ncurses.override { enableStatic = true; }; + in + stdenv.mkDerivation { pname = "faust"; inherit version; inherit src; - nativeBuildInputs = [ makeWrapper pkg-config cmake vim which ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + cmake + vim + which + ]; buildInputs = [ llvm emscripten @@ -74,7 +86,10 @@ let --replace 'rm -rf $(TMP)' ' ' ''; - cmakeFlags = [ "-C../backends/all.cmake" "-C../targets/all.cmake" ]; + cmakeFlags = [ + "-C../backends/all.cmake" + "-C../targets/all.cmake" + ]; postInstall = '' # syntax error when eval'd directly @@ -97,8 +112,7 @@ let ''; meta = meta // { - description = - "A functional programming language for realtime audio signal processing"; + description = "A functional programming language for realtime audio signal processing"; longDescription = '' FAUST (Functional Audio Stream) is a functional programming language specifically designed for real-time signal processing @@ -121,9 +135,15 @@ let # Default values for faust2appl. faust2ApplBase = - { baseName, dir ? "tools/faust2appls", scripts ? [ baseName ], ... }@args: - - args // { + { + baseName, + dir ? "tools/faust2appls", + scripts ? [ baseName ], + ... + }@args: + + args + // { name = "${baseName}-${version}"; inherit src; @@ -151,8 +171,7 @@ let ''; meta = meta // { - description = - "The ${baseName} script, part of faust functional programming language for realtime audio signal processing"; + description = "The ${baseName} script, part of faust functional programming language for realtime audio signal processing"; }; }; @@ -172,65 +191,83 @@ let # # The build input 'faust' is automatically added to the # propagatedBuildInputs. - wrapWithBuildEnv = { baseName, propagatedBuildInputs ? [ ], ... }@args: + wrapWithBuildEnv = + { + baseName, + propagatedBuildInputs ? [ ], + ... + }@args: - stdenv.mkDerivation ((faust2ApplBase args) // { + stdenv.mkDerivation ( + (faust2ApplBase args) + // { - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; - propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs; + propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs; - libPath = lib.makeLibraryPath propagatedBuildInputs; - - postFixup = '' - - # export parts of the build environment - for script in "$out"/bin/*; do - # e.g. NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu - nix_cc_wrapper_target_host="$(printenv | grep ^NIX_CC_WRAPPER_TARGET_HOST | sed 's/=.*//')" + libPath = lib.makeLibraryPath propagatedBuildInputs; - # e.g. NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu - nix_bintools_wrapper_target_host="$(printenv | grep ^NIX_BINTOOLS_WRAPPER_TARGET_HOST | sed 's/=.*//')" + postFixup = '' - wrapProgram "$script" \ - --set FAUSTLDDIR "${faust}/lib" \ - --set FAUSTLIB "${faust}/share/faust" \ - --set FAUSTINC "${faust}/include/faust" \ - --set FAUSTARCH "${faust}/share/faust" \ - --prefix PATH : "$PATH" \ - --prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \ - --set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \ - --set NIX_LDFLAGS "$NIX_LDFLAGS -lpthread" \ - --set "$nix_cc_wrapper_target_host" "''${!nix_cc_wrapper_target_host}" \ - --set "$nix_bintools_wrapper_target_host" "''${!nix_bintools_wrapper_target_host}" \ - --prefix LIBRARY_PATH "$libPath" - done - ''; - }); + # export parts of the build environment + for script in "$out"/bin/*; do + # e.g. NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu + nix_cc_wrapper_target_host="$(printenv | grep ^NIX_CC_WRAPPER_TARGET_HOST | sed 's/=.*//')" + + # e.g. NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu + nix_bintools_wrapper_target_host="$(printenv | grep ^NIX_BINTOOLS_WRAPPER_TARGET_HOST | sed 's/=.*//')" + + wrapProgram "$script" \ + --set FAUSTLDDIR "${faust}/lib" \ + --set FAUSTLIB "${faust}/share/faust" \ + --set FAUSTINC "${faust}/include/faust" \ + --set FAUSTARCH "${faust}/share/faust" \ + --prefix PATH : "$PATH" \ + --prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \ + --set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \ + --set NIX_LDFLAGS "$NIX_LDFLAGS -lpthread" \ + --set "$nix_cc_wrapper_target_host" "''${!nix_cc_wrapper_target_host}" \ + --set "$nix_bintools_wrapper_target_host" "''${!nix_bintools_wrapper_target_host}" \ + --prefix LIBRARY_PATH "$libPath" + done + ''; + } + ); # Builder for 'faust2appl' scripts, such as faust2firefox that # simply need to be wrapped with some dependencies on PATH. # # The build input 'faust' is automatically added to the PATH. - wrap = { baseName, runtimeInputs ? [ ], ... }@args: + wrap = + { + baseName, + runtimeInputs ? [ ], + ... + }@args: let - runtimePath = - concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs)); + runtimePath = concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs)); in - stdenv.mkDerivation ((faust2ApplBase args) // { + stdenv.mkDerivation ( + (faust2ApplBase args) + // { nativeBuildInputs = [ makeWrapper ]; postFixup = '' - for script in "$out"/bin/*; do - wrapProgram "$script" --prefix PATH : "${runtimePath}" - done - ''; + for script in "$out"/bin/*; do + wrapProgram "$script" --prefix PATH : "${runtimePath}" + done + ''; - }); + } + ); in faust diff --git a/pkgs/applications/audio/faust/faust2alqt.nix b/pkgs/applications/audio/faust/faust2alqt.nix index b12b41763ba59..66d394e9d7403 100644 --- a/pkgs/applications/audio/faust/faust2alqt.nix +++ b/pkgs/applications/audio/faust/faust2alqt.nix @@ -1,8 +1,9 @@ -{ faust -, alsa-lib -, qtbase -, writeText -, buildPackages +{ + faust, + alsa-lib, + qtbase, + writeText, + buildPackages, }: let # Wrap the binary coming out of the the compilation script, so it knows QT_PLUGIN_PATH diff --git a/pkgs/applications/audio/faust/faust2alsa.nix b/pkgs/applications/audio/faust/faust2alsa.nix index bb6121a5d70bd..b14d65fcd119f 100644 --- a/pkgs/applications/audio/faust/faust2alsa.nix +++ b/pkgs/applications/audio/faust/faust2alsa.nix @@ -1,13 +1,14 @@ -{ faust -, alsa-lib -, atk -, cairo -, fontconfig -, freetype -, gdk-pixbuf -, glib -, gtk2 -, pango +{ + faust, + alsa-lib, + atk, + cairo, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk2, + pango, }: faust.wrapWithBuildEnv { diff --git a/pkgs/applications/audio/faust/faust2csound.nix b/pkgs/applications/audio/faust/faust2csound.nix index eb5e5831cddd7..9b921eb88af28 100644 --- a/pkgs/applications/audio/faust/faust2csound.nix +++ b/pkgs/applications/audio/faust/faust2csound.nix @@ -1,5 +1,6 @@ -{ faust -, csound +{ + faust, + csound, }: faust.wrapWithBuildEnv { diff --git a/pkgs/applications/audio/faust/faust2firefox.nix b/pkgs/applications/audio/faust/faust2firefox.nix index c718aa06806a4..cda50b929629b 100644 --- a/pkgs/applications/audio/faust/faust2firefox.nix +++ b/pkgs/applications/audio/faust/faust2firefox.nix @@ -1,5 +1,6 @@ -{ faust -, xdg-utils +{ + faust, + xdg-utils, }: # This just runs faust2svg, then attempts to open a browser using diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix index bd213bfcadbe4..77f9b39102341 100644 --- a/pkgs/applications/audio/faust/faust2jack.nix +++ b/pkgs/applications/audio/faust/faust2jack.nix @@ -1,10 +1,11 @@ -{ faust -, gtk2 -, jack2 -, alsa-lib -, opencv -, libsndfile -, which +{ + faust, + gtk2, + jack2, + alsa-lib, + opencv, + libsndfile, + which, }: faust.wrapWithBuildEnv { diff --git a/pkgs/applications/audio/faust/faust2jackrust.nix b/pkgs/applications/audio/faust/faust2jackrust.nix index a93251c8d2d26..a14e12e63916f 100644 --- a/pkgs/applications/audio/faust/faust2jackrust.nix +++ b/pkgs/applications/audio/faust/faust2jackrust.nix @@ -1,11 +1,12 @@ -{ faust -, libjack2 -, cargo -, binutils -, gcc -, gnumake -, openssl -, pkg-config +{ + faust, + libjack2, + cargo, + binutils, + gcc, + gnumake, + openssl, + pkg-config, }: @@ -13,5 +14,13 @@ faust.wrapWithBuildEnv { baseName = "faust2jackrust"; - propagatedBuildInputs = [ libjack2 cargo binutils gcc gnumake openssl pkg-config ]; + propagatedBuildInputs = [ + libjack2 + cargo + binutils + gcc + gnumake + openssl + pkg-config + ]; } diff --git a/pkgs/applications/audio/faust/faust2jaqt.nix b/pkgs/applications/audio/faust/faust2jaqt.nix index 90b6ca218dd42..2fe663431aac6 100644 --- a/pkgs/applications/audio/faust/faust2jaqt.nix +++ b/pkgs/applications/audio/faust/faust2jaqt.nix @@ -1,11 +1,12 @@ -{ faust -, jack2 -, qtbase -, libsndfile -, alsa-lib -, writeText -, buildPackages -, which +{ + faust, + jack2, + qtbase, + libsndfile, + alsa-lib, + writeText, + buildPackages, + which, }: let # Wrap the binary coming out of the the compilation script, so it knows QT_PLUGIN_PATH @@ -39,7 +40,6 @@ faust.wrapWithBuildEnv { which ]; - dontWrapQtApps = true; preFixup = '' diff --git a/pkgs/applications/audio/faust/faust2ladspa.nix b/pkgs/applications/audio/faust/faust2ladspa.nix index 67de98cab9a20..13545980b7ca9 100644 --- a/pkgs/applications/audio/faust/faust2ladspa.nix +++ b/pkgs/applications/audio/faust/faust2ladspa.nix @@ -1,12 +1,16 @@ -{ boost -, faust -, ladspaH +{ + boost, + faust, + ladspaH, }: faust.wrapWithBuildEnv { baseName = "faust2ladspa"; - propagatedBuildInputs = [ boost ladspaH ]; + propagatedBuildInputs = [ + boost + ladspaH + ]; } diff --git a/pkgs/applications/audio/faust/faust2lv2.nix b/pkgs/applications/audio/faust/faust2lv2.nix index b863ad25ebdb5..92c2e9df94235 100644 --- a/pkgs/applications/audio/faust/faust2lv2.nix +++ b/pkgs/applications/audio/faust/faust2lv2.nix @@ -1,14 +1,19 @@ -{ boost -, faust -, lv2 -, qtbase +{ + boost, + faust, + lv2, + qtbase, }: faust.wrapWithBuildEnv { baseName = "faust2lv2"; - propagatedBuildInputs = [ boost lv2 qtbase ]; + propagatedBuildInputs = [ + boost + lv2 + qtbase + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/faust/faust2sc.nix b/pkgs/applications/audio/faust/faust2sc.nix index acdc54434dc68..52690b19d5c40 100644 --- a/pkgs/applications/audio/faust/faust2sc.nix +++ b/pkgs/applications/audio/faust/faust2sc.nix @@ -1,32 +1,42 @@ -{ faust -, baseName ? "faust2sc" -, supercollider -, makeWrapper -, python3 -, stdenv +{ + faust, + baseName ? "faust2sc", + supercollider, + makeWrapper, + python3, + stdenv, }@args: let - faustDefaults = faust.faust2ApplBase - (args // { + faustDefaults = faust.faust2ApplBase ( + args + // { baseName = "${baseName}.py"; - }); + } + ); in -stdenv.mkDerivation (faustDefaults // { +stdenv.mkDerivation ( + faustDefaults + // { - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - propagatedBuildInputs = [ python3 faust supercollider ]; + propagatedBuildInputs = [ + python3 + faust + supercollider + ]; - postInstall = '' - mv "$out/bin/${baseName}.py" "$out"/bin/${baseName} - ''; + postInstall = '' + mv "$out/bin/${baseName}.py" "$out"/bin/${baseName} + ''; - postFixup = '' - wrapProgram "$out"/bin/${baseName} \ - --append-flags "--import-dir ${faust}/share/faust" \ - --append-flags "--architecture-dir ${faust}/share/faust" \ - --append-flags "--architecture-dir ${faust}/include" \ - --append-flags "-p ${supercollider}" \ - --prefix PATH : "$PATH" - ''; -}) + postFixup = '' + wrapProgram "$out"/bin/${baseName} \ + --append-flags "--import-dir ${faust}/share/faust" \ + --append-flags "--architecture-dir ${faust}/share/faust" \ + --append-flags "--architecture-dir ${faust}/include" \ + --append-flags "-p ${supercollider}" \ + --prefix PATH : "$PATH" + ''; + } +) diff --git a/pkgs/applications/audio/faust/faustlive.nix b/pkgs/applications/audio/faust/faustlive.nix index 9051334cb2be1..d7830565fcc80 100644 --- a/pkgs/applications/audio/faust/faustlive.nix +++ b/pkgs/applications/audio/faust/faustlive.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, which -, alsa-lib -, curl -, faust -, flac -, gnutls -, libjack2 -, libmicrohttpd -, libmpg123 -, libogg -, libopus -, libsndfile -, libtasn1 -, libvorbis -, libxcb -, llvm -, p11-kit -, qrencode -, qt5 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + which, + alsa-lib, + curl, + faust, + flac, + gnutls, + libjack2, + libmicrohttpd, + libmpg123, + libogg, + libopus, + libsndfile, + libtasn1, + libvorbis, + libxcb, + llvm, + p11-kit, + qrencode, + qt5, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix index 811e1d806c607..ef460e7737dda 100644 --- a/pkgs/applications/audio/flacon/default.nix +++ b/pkgs/applications/audio/flacon/default.nix @@ -1,6 +1,26 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libuchardet, pkg-config, shntool, flac -, opusTools, vorbis-tools, mp3gain, lame, taglib, wavpack, vorbisgain -, monkeysAudio, sox, gtk3, qtbase, qttools, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libuchardet, + pkg-config, + shntool, + flac, + opusTools, + vorbis-tools, + mp3gain, + lame, + taglib, + wavpack, + vorbisgain, + monkeysAudio, + sox, + gtk3, + qtbase, + qttools, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "flacon"; @@ -13,8 +33,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-guIGSKmpinDDfTDSCmcJKWysUPdG/gw5oaKmXqgf53o="; }; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; - buildInputs = [ qtbase qttools libuchardet taglib ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + qttools + libuchardet + taglib + ]; bin_path = lib.makeBinPath [ shntool @@ -36,8 +65,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "Extracts audio tracks from an audio CD image to separate tracks"; + description = "Extracts audio tracks from an audio CD image to separate tracks"; mainProgram = "flacon"; homepage = "https://flacon.github.io/"; license = licenses.lgpl21; diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix index c22fe3ab0977a..81ac1609c4af4 100644 --- a/pkgs/applications/audio/fmit/default.nix +++ b/pkgs/applications/audio/fmit/default.nix @@ -1,7 +1,20 @@ -{ lib, mkDerivation, fetchFromGitHub, fftw, qtbase, qtmultimedia, qmake, itstool, wrapQtAppsHook -, alsaSupport ? true, alsa-lib ? null -, jackSupport ? false, libjack2 ? null -, portaudioSupport ? false, portaudio ? null }: +{ + lib, + mkDerivation, + fetchFromGitHub, + fftw, + qtbase, + qtmultimedia, + qmake, + itstool, + wrapQtAppsHook, + alsaSupport ? true, + alsa-lib ? null, + jackSupport ? false, + libjack2 ? null, + portaudioSupport ? false, + portaudio ? null, +}: assert alsaSupport -> alsa-lib != null; assert jackSupport -> libjack2 != null; @@ -18,8 +31,17 @@ mkDerivation rec { sha256 = "1q062pfwz2vr9hbfn29fv54ip3jqfd9r99nhpr8w7mn1csy38azx"; }; - nativeBuildInputs = [ qmake itstool wrapQtAppsHook ]; - buildInputs = [ fftw qtbase qtmultimedia ] + nativeBuildInputs = [ + qmake + itstool + wrapQtAppsHook + ]; + buildInputs = + [ + fftw + qtbase + qtmultimedia + ] ++ lib.optionals alsaSupport [ alsa-lib ] ++ lib.optionals jackSupport [ libjack2 ] ++ lib.optionals portaudioSupport [ portaudio ]; diff --git a/pkgs/applications/audio/freqtweak/default.nix b/pkgs/applications/audio/freqtweak/default.nix index c880fdb113a0e..0f51fac4e9fed 100644 --- a/pkgs/applications/audio/freqtweak/default.nix +++ b/pkgs/applications/audio/freqtweak/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, fftwFloat, libjack2, libsigcxx, libxml2, wxGTK }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + fftwFloat, + libjack2, + libsigcxx, + libxml2, + wxGTK, +}: stdenv.mkDerivation rec { pname = "freqtweak"; @@ -11,8 +23,18 @@ stdenv.mkDerivation rec { sha256 = "10cq27mdgrrc54a40al9ahi0wqd0p2c1wxbdg518q8pzfxaxs5fi"; }; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ fftwFloat libjack2 libsigcxx libxml2 wxGTK ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + fftwFloat + libjack2 + libsigcxx + libxml2 + wxGTK + ]; preConfigure = '' sh autogen.sh diff --git a/pkgs/applications/audio/goattracker/default.nix b/pkgs/applications/audio/goattracker/default.nix index 810b4185330c3..7580bf86dfb0f 100644 --- a/pkgs/applications/audio/goattracker/default.nix +++ b/pkgs/applications/audio/goattracker/default.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchurl -, unzip -, copyDesktopItems -, makeDesktopItem -, imagemagick -, SDL -, isStereo ? false +{ + lib, + stdenv, + fetchurl, + unzip, + copyDesktopItems, + makeDesktopItem, + imagemagick, + SDL, + isStereo ? false, }: let @@ -14,29 +16,42 @@ let name = pname; desktopName = "GoatTracker 2" + lib.optionalString isStereo " Stereo"; genericName = "Music Tracker"; - exec = if isStereo - then "gt2stereo" - else "goattrk2"; + exec = if isStereo then "gt2stereo" else "goattrk2"; icon = "goattracker"; - categories = [ "AudioVideo" "AudioVideoEditing" ]; - keywords = [ "tracker" "music" ]; + categories = [ + "AudioVideo" + "AudioVideoEditing" + ]; + keywords = [ + "tracker" + "music" + ]; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { inherit pname; - version = if isStereo - then "2.77" # stereo - else "2.76"; # normal + version = + if isStereo then + "2.77" # stereo + else + "2.76"; # normal src = fetchurl { url = "mirror://sourceforge/goattracker2/GoatTracker_${finalAttrs.version}${lib.optionalString isStereo "_Stereo"}.zip"; - sha256 = if isStereo - then "1hiig2d152sv9kazwz33i56x1c54h5sh21ipkqnp6qlnwj8x1ksy" # stereo - else "0d7a3han4jw4bwiba3j87racswaajgl3pj4sb5lawdqdxicv3dn1"; # normal + sha256 = + if isStereo then + "1hiig2d152sv9kazwz33i56x1c54h5sh21ipkqnp6qlnwj8x1ksy" # stereo + else + "0d7a3han4jw4bwiba3j87racswaajgl3pj4sb5lawdqdxicv3dn1"; # normal }; sourceRoot = "src"; - nativeBuildInputs = [ copyDesktopItems unzip imagemagick ]; + nativeBuildInputs = [ + copyDesktopItems + unzip + imagemagick + ]; buildInputs = [ SDL ]; # PREFIX gets treated as BINDIR. @@ -58,7 +73,9 @@ in stdenv.mkDerivation (finalAttrs: { convert goattrk2.bmp goattracker.png install -Dm644 goattracker.png $out/share/icons/hicolor/32x32/apps/goattracker.png - ${lib.optionalString (!isStereo) "install -Dm644 ../linux/goattracker.1 $out/share/man/man1/goattracker.1"} + ${lib.optionalString ( + !isStereo + ) "install -Dm644 ../linux/goattracker.1 $out/share/man/man1/goattracker.1"} runHook postInstall ''; @@ -66,7 +83,8 @@ in stdenv.mkDerivation (finalAttrs: { desktopItems = [ desktopItem ]; meta = { - description = "Crossplatform music editor for creating Commodore 64 music. Uses reSID library by Dag Lem and supports alternatively HardSID & CatWeasel devices" + description = + "Crossplatform music editor for creating Commodore 64 music. Uses reSID library by Dag Lem and supports alternatively HardSID & CatWeasel devices" + lib.optionalString isStereo " - Stereo version"; homepage = "https://cadaver.github.io/tools.html"; downloadPage = "https://sourceforge.net/projects/goattracker2/"; diff --git a/pkgs/applications/audio/greg/default.nix b/pkgs/applications/audio/greg/default.nix index 77ed401f6662d..cb1e046fbe485 100644 --- a/pkgs/applications/audio/greg/default.nix +++ b/pkgs/applications/audio/greg/default.nix @@ -1,6 +1,11 @@ -{ lib, fetchFromGitHub, pythonPackages }: +{ + lib, + fetchFromGitHub, + pythonPackages, +}: -with pythonPackages; buildPythonApplication rec { +with pythonPackages; +buildPythonApplication rec { pname = "greg"; version = "0.4.8"; @@ -13,7 +18,10 @@ with pythonPackages; buildPythonApplication rec { sha256 = "sha256-o4+tXVJTgT52JyJOC+Glr2cvZjbTaZL8TIsmz+A4vE4="; }; - propagatedBuildInputs = [ setuptools feedparser ]; + propagatedBuildInputs = [ + setuptools + feedparser + ]; meta = with lib; { homepage = "https://github.com/manolomartinez/greg"; diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 5b23b0e34a219..e565605721a83 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -1,40 +1,41 @@ -{ lib -, stdenv -, fetchFromGitHub -, avahi -, bluez -, boost -, curl -, eigen -, faust -, fftw -, gettext -, glib -, glib-networking -, glibmm -, adwaita-icon-theme -, gsettings-desktop-schemas -, gtk3 -, gtkmm3 -, hicolor-icon-theme -, intltool -, ladspaH -, libjack2 -, libsndfile -, lilv -, lrdf -, lv2 -, pkg-config -, python3 -, sassc -, serd -, sord -, sratom -, wafHook -, wrapGAppsHook3 -, zita-convolver -, zita-resampler -, optimizationSupport ? false # Enable support for native CPU extensions +{ + lib, + stdenv, + fetchFromGitHub, + avahi, + bluez, + boost, + curl, + eigen, + faust, + fftw, + gettext, + glib, + glib-networking, + glibmm, + adwaita-icon-theme, + gsettings-desktop-schemas, + gtk3, + gtkmm3, + hicolor-icon-theme, + intltool, + ladspaH, + libjack2, + libsndfile, + lilv, + lrdf, + lv2, + pkg-config, + python3, + sassc, + serd, + sord, + sratom, + wafHook, + wrapGAppsHook3, + zita-convolver, + zita-resampler, + optimizationSupport ? false, # Enable support for native CPU extensions }: let @@ -131,7 +132,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/brummer10/guitarix"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ astsmtl lord-valen ]; + maintainers = with maintainers; [ + astsmtl + lord-valen + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/applications/audio/hqplayer-desktop/default.nix b/pkgs/applications/audio/hqplayer-desktop/default.nix index 8f097ff235901..8dd61ab808f41 100644 --- a/pkgs/applications/audio/hqplayer-desktop/default.nix +++ b/pkgs/applications/audio/hqplayer-desktop/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, alsa-lib -, autoPatchelfHook -, dpkg -, evince -, fetchurl -, flac -, lib -, libmicrohttpd -, libogg -, libusb-compat-0_1 -, llvmPackages -, mpfr -, qtcharts -, qtdeclarative -, qtwayland -, qtwebengine -, qtwebview -, wavpack -, wrapQtAppsHook +{ + stdenv, + alsa-lib, + autoPatchelfHook, + dpkg, + evince, + fetchurl, + flac, + lib, + libmicrohttpd, + libogg, + libusb-compat-0_1, + llvmPackages, + mpfr, + qtcharts, + qtdeclarative, + qtwayland, + qtwebengine, + qtwebview, + wavpack, + wrapQtAppsHook, }: let @@ -37,7 +38,8 @@ stdenv.mkDerivation { pname = "hqplayer-desktop"; inherit version; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook @@ -90,7 +92,10 @@ stdenv.mkDerivation { ''; # doc has dependencies on evince that is not required by main app - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; postInstall = '' for desktopFile in $out/share/applications/hqplayer5{client,desktop}.desktop; do diff --git a/pkgs/applications/audio/hushboard/default.nix b/pkgs/applications/audio/hushboard/default.nix index dbc0a467024cb..e5953a922e8e0 100644 --- a/pkgs/applications/audio/hushboard/default.nix +++ b/pkgs/applications/audio/hushboard/default.nix @@ -1,16 +1,17 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, gobject-introspection -, gtk3 -, libappindicator -, libpulseaudio -, librsvg -, pycairo -, pygobject3 -, six -, wrapGAppsHook3 -, xlib +{ + lib, + buildPythonApplication, + fetchFromGitHub, + gobject-introspection, + gtk3, + libappindicator, + libpulseaudio, + librsvg, + pycairo, + pygobject3, + six, + wrapGAppsHook3, + xlib, }: buildPythonApplication { diff --git a/pkgs/applications/audio/iannix/default.nix b/pkgs/applications/audio/iannix/default.nix index f55fcdfd3601c..753a58d0c42a0 100644 --- a/pkgs/applications/audio/iannix/default.nix +++ b/pkgs/applications/audio/iannix/default.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, fetchFromGitHub, alsa-lib, pkg-config, qtbase, qtscript, qmake +{ + mkDerivation, + lib, + fetchFromGitHub, + alsa-lib, + pkg-config, + qtbase, + qtscript, + qmake, }: mkDerivation rec { @@ -12,8 +20,15 @@ mkDerivation rec { sha256 = "AhoP+Ok78Vk8Aee/RP572hJeM8O7v2ZTvFalOZZqRy8="; }; - nativeBuildInputs = [ pkg-config qmake ]; - buildInputs = [ alsa-lib qtbase qtscript ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; + buildInputs = [ + alsa-lib + qtbase + qtscript + ]; qmakeFlags = [ "PREFIX=/" ]; diff --git a/pkgs/applications/audio/in-formant/default.nix b/pkgs/applications/audio/in-formant/default.nix index 1f33323736cef..7266470cc9e91 100644 --- a/pkgs/applications/audio/in-formant/default.nix +++ b/pkgs/applications/audio/in-formant/default.nix @@ -1,21 +1,22 @@ -{ stdenv -, cmake -, lib -, fetchFromGitHub -, wrapQtAppsHook -, qtbase -, qtcharts -, fftw -, libtorch-bin -, portaudio -, eigen -, xorg -, pkg-config -, autoPatchelfHook -, soxr -, libsamplerate -, armadillo -, tomlplusplus +{ + stdenv, + cmake, + lib, + fetchFromGitHub, + wrapQtAppsHook, + qtbase, + qtcharts, + fftw, + libtorch-bin, + portaudio, + eigen, + xorg, + pkg-config, + autoPatchelfHook, + soxr, + libsamplerate, + armadillo, + tomlplusplus, }: stdenv.mkDerivation rec { @@ -36,7 +37,12 @@ stdenv.mkDerivation rec { ./0001-Avoid-using-vendored-dependencies-we-have-in-nixpkgs.patch ]; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook autoPatchelfHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + autoPatchelfHook + ]; buildInputs = [ qtbase diff --git a/pkgs/applications/audio/ir.lv2/default.nix b/pkgs/applications/audio/ir.lv2/default.nix index d1984170e3acc..9414019d956cc 100644 --- a/pkgs/applications/audio/ir.lv2/default.nix +++ b/pkgs/applications/audio/ir.lv2/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchgit, fftw, gtk2, lv2, libsamplerate, libsndfile, pkg-config, zita-convolver }: +{ + lib, + stdenv, + fetchgit, + fftw, + gtk2, + lv2, + libsamplerate, + libsndfile, + pkg-config, + zita-convolver, +}: stdenv.mkDerivation rec { pname = "ir.lv2"; @@ -10,9 +21,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-5toZYQX2oIAfQ5XPMMN+HGNE4FOE/t6mciih/OpU1dw="; }; - buildInputs = [ fftw gtk2 lv2 libsamplerate libsndfile zita-convolver ]; + buildInputs = [ + fftw + gtk2 + lv2 + libsamplerate + libsndfile + zita-convolver + ]; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ]; env.NIX_CFLAGS_COMPILE = "-fpermissive"; diff --git a/pkgs/applications/audio/jack-autoconnect/default.nix b/pkgs/applications/audio/jack-autoconnect/default.nix index d4fd50ca4f6d3..51600ed031f45 100644 --- a/pkgs/applications/audio/jack-autoconnect/default.nix +++ b/pkgs/applications/audio/jack-autoconnect/default.nix @@ -1,4 +1,12 @@ -{ lib, mkDerivation, fetchFromGitHub, pkg-config, qmake, qtbase, libjack2 }: +{ + lib, + mkDerivation, + fetchFromGitHub, + pkg-config, + qmake, + qtbase, + libjack2, +}: mkDerivation rec { pname = "jack_autoconnect"; @@ -12,8 +20,14 @@ mkDerivation rec { sha256 = "sha256-imvNc498Q2W9RKmiOoNepSoJzIv2tGvFG6hx+seiifw="; }; - buildInputs = [ qtbase libjack2 ]; - nativeBuildInputs = [ pkg-config qmake ]; + buildInputs = [ + qtbase + libjack2 + ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; installPhase = '' mkdir -p -- "$out/bin" @@ -22,8 +36,7 @@ mkDerivation rec { meta = with lib; { homepage = "https://github.com/kripton/jack_autoconnect"; - description = - "Tiny application that reacts on port registrations by clients and connects them"; + description = "Tiny application that reacts on port registrations by clients and connects them"; mainProgram = "jack_autoconnect"; maintainers = with maintainers; [ unclechu ]; license = licenses.gpl2Only; diff --git a/pkgs/applications/audio/jackmix/default.nix b/pkgs/applications/audio/jackmix/default.nix index 86c8a91862e77..d4a0bf6064a44 100644 --- a/pkgs/applications/audio/jackmix/default.nix +++ b/pkgs/applications/audio/jackmix/default.nix @@ -1,5 +1,15 @@ -{ mkDerivation, lib, fetchFromGitHub, pkg-config, scons, qtbase, lash, libjack2, jack ? libjack2, alsa-lib -, fetchpatch +{ + mkDerivation, + lib, + fetchFromGitHub, + pkg-config, + scons, + qtbase, + lash, + libjack2, + jack ? libjack2, + alsa-lib, + fetchpatch, }: mkDerivation rec { @@ -22,7 +32,10 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ scons pkg-config ]; + nativeBuildInputs = [ + scons + pkg-config + ]; buildInputs = [ qtbase lash diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix index 20c40d5d9d9b4..6dd5c4bba8ba7 100644 --- a/pkgs/applications/audio/jamesdsp/default.nix +++ b/pkgs/applications/audio/jamesdsp/default.nix @@ -1,24 +1,27 @@ -{ copyDesktopItems -, fetchFromGitHub -, glibmm -, gst_all_1 -, lib -, libarchive -, makeDesktopItem -, pipewire -, pkg-config -, pulseaudio -, qmake -, qtbase -, qtsvg -, qtwayland -, stdenv -, usePipewire ? true -, usePulseaudio ? false -, wrapQtAppsHook +{ + copyDesktopItems, + fetchFromGitHub, + glibmm, + gst_all_1, + lib, + libarchive, + makeDesktopItem, + pipewire, + pkg-config, + pulseaudio, + qmake, + qtbase, + qtsvg, + qtwayland, + stdenv, + usePipewire ? true, + usePulseaudio ? false, + wrapQtAppsHook, }: -assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support"; +assert lib.asserts.assertMsg ( + usePipewire != usePulseaudio +) "You need to enable one and only one of pulseaudio or pipewire support"; stdenv.mkDerivation (finalAttrs: { pname = "jamesdsp"; @@ -39,20 +42,23 @@ stdenv.mkDerivation (finalAttrs: { wrapQtAppsHook ]; - buildInputs = [ - glibmm - libarchive - qtbase - qtsvg - qtwayland - ] ++ lib.optionals usePipewire [ - pipewire - ] ++ lib.optionals usePulseaudio [ - pulseaudio - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gstreamer - ]; + buildInputs = + [ + glibmm + libarchive + qtbase + qtsvg + qtwayland + ] + ++ lib.optionals usePipewire [ + pipewire + ] + ++ lib.optionals usePulseaudio [ + pulseaudio + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer + ]; preFixup = lib.optionalString usePulseaudio '' qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") @@ -68,9 +74,16 @@ stdenv.mkDerivation (finalAttrs: { exec = "jamesdsp"; icon = "jamesdsp"; comment = "JamesDSP for Linux"; - categories = [ "AudioVideo" "Audio" ]; + categories = [ + "AudioVideo" + "Audio" + ]; startupNotify = false; - keywords = [ "equalizer" "audio" "effect" ]; + keywords = [ + "equalizer" + "audio" + "effect" + ]; }) ]; @@ -85,7 +98,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "jamesdsp"; homepage = "https://github.com/Audio4Linux/JDSP4Linux"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ pasqui23 rewine ]; + maintainers = with lib.maintainers; [ + pasqui23 + rewine + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/applications/audio/kmetronome/default.nix b/pkgs/applications/audio/kmetronome/default.nix index 9fd74e930a028..a7de91b61e5ed 100644 --- a/pkgs/applications/audio/kmetronome/default.nix +++ b/pkgs/applications/audio/kmetronome/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, cmake, pandoc, pkg-config, qttools, alsa-lib, drumstick, qtbase, qtsvg }: +{ + lib, + stdenv, + fetchurl, + cmake, + pandoc, + pkg-config, + qttools, + alsa-lib, + drumstick, + qtbase, + qtsvg, +}: stdenv.mkDerivation rec { pname = "kmetronome"; @@ -9,9 +21,19 @@ stdenv.mkDerivation rec { hash = "sha256-51uFAPR0xsY3z9rFc8SdSGu4ae/VzUmC1qC8RGdt48Y="; }; - nativeBuildInputs = [ cmake pandoc pkg-config qttools ]; + nativeBuildInputs = [ + cmake + pandoc + pkg-config + qttools + ]; - buildInputs = [ alsa-lib drumstick qtbase qtsvg ]; + buildInputs = [ + alsa-lib + drumstick + qtbase + qtsvg + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/ladspa-plugins/default.nix b/pkgs/applications/audio/ladspa-plugins/default.nix index d7e7dd7b69477..3544d18878d03 100644 --- a/pkgs/applications/audio/ladspa-plugins/default.nix +++ b/pkgs/applications/audio/ladspa-plugins/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, automake -, fftw -, ladspaH -, libxml2 -, pkg-config -, perlPackages +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + automake, + fftw, + ladspaH, + libxml2, + pkg-config, + perlPackages, }: stdenv.mkDerivation rec { @@ -21,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-eOtIhNcuItREUShI8JRlBVKfMfovpdfIYu+m37v4KLE="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ fftw ladspaH libxml2 perlPackages.perl perlPackages.XMLParser ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + fftw + ladspaH + libxml2 + perlPackages.perl + perlPackages.XMLParser + ]; patchPhase = '' patchShebangs . diff --git a/pkgs/applications/audio/ladspa-sdk/default.nix b/pkgs/applications/audio/ladspa-sdk/default.nix index de0f07b64fddb..0103db6a7422b 100644 --- a/pkgs/applications/audio/ladspa-sdk/default.nix +++ b/pkgs/applications/audio/ladspa-sdk/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ladspa-sdk"; diff --git a/pkgs/applications/audio/ladspa-sdk/ladspah.nix b/pkgs/applications/audio/ladspa-sdk/ladspah.nix index b497e91927b06..fae714eb19ae3 100644 --- a/pkgs/applications/audio/ladspa-sdk/ladspah.nix +++ b/pkgs/applications/audio/ladspa-sdk/ladspah.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ladspa.h"; version = "1.15"; diff --git a/pkgs/applications/audio/librespot/default.nix b/pkgs/applications/audio/librespot/default.nix index f598a4d21ff85..bbc55b41de22e 100644 --- a/pkgs/applications/audio/librespot/default.nix +++ b/pkgs/applications/audio/librespot/default.nix @@ -1,18 +1,19 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeWrapper -, pkg-config -, stdenv -, openssl -, withALSA ? stdenv.hostPlatform.isLinux -, alsa-lib -, alsa-plugins -, withPortAudio ? false -, portaudio -, withPulseAudio ? false -, libpulseaudio -, withRodio ? true +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + pkg-config, + stdenv, + openssl, + withALSA ? stdenv.hostPlatform.isLinux, + alsa-lib, + alsa-plugins, + withPortAudio ? false, + portaudio, + withPulseAudio ? false, + libpulseaudio, + withRodio ? true, }: rustPlatform.buildRustPackage rec { @@ -28,17 +29,24 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-GScAUqALoocqvsHz4XgPytI8cl0hiuWjqaO/ItNo4v4="; - nativeBuildInputs = [ pkg-config makeWrapper ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - rustPlatform.bindgenHook - ]; + nativeBuildInputs = + [ + pkg-config + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + rustPlatform.bindgenHook + ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optional withALSA alsa-lib ++ lib.optional withPortAudio portaudio ++ lib.optional withPulseAudio libpulseaudio; buildNoDefaultFeatures = true; - buildFeatures = lib.optional withRodio "rodio-backend" + buildFeatures = + lib.optional withRodio "rodio-backend" ++ lib.optional withALSA "alsa-backend" ++ lib.optional withPortAudio "portaudio-backend" ++ lib.optional withPulseAudio "pulseaudio-backend"; diff --git a/pkgs/applications/audio/linvstmanager/default.nix b/pkgs/applications/audio/linvstmanager/default.nix index 8df3fd507adc3..1da68ebb45d1d 100644 --- a/pkgs/applications/audio/linvstmanager/default.nix +++ b/pkgs/applications/audio/linvstmanager/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/listenbrainz-mpd/default.nix b/pkgs/applications/audio/listenbrainz-mpd/default.nix index 900839081e717..9b3683a9f0919 100644 --- a/pkgs/applications/audio/listenbrainz-mpd/default.nix +++ b/pkgs/applications/audio/listenbrainz-mpd/default.nix @@ -1,16 +1,18 @@ -{ lib -, rustPlatform -, fetchFromGitea -, pkg-config -, stdenv -, openssl -, libiconv -, sqlite -, Security -, SystemConfiguration -, CoreFoundation -, installShellFiles -, asciidoctor }: +{ + lib, + rustPlatform, + fetchFromGitea, + pkg-config, + stdenv, + openssl, + libiconv, + sqlite, + Security, + SystemConfiguration, + CoreFoundation, + installShellFiles, + asciidoctor, +}: rustPlatform.buildRustPackage rec { pname = "listenbrainz-mpd"; @@ -26,22 +28,35 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-jnDS9tIJ387A2P9oUSYB3tXrXjwwVmQ26erIIlHBkao="; - nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + asciidoctor + ]; - buildInputs = [ sqlite ] ++ (if stdenv.hostPlatform.isDarwin then [ - libiconv - Security - SystemConfiguration - CoreFoundation - ] else [ - openssl - ]); + buildInputs = + [ sqlite ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ + libiconv + Security + SystemConfiguration + CoreFoundation + ] + else + [ + openssl + ] + ); - buildFeatures = [ - "shell_completion" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "systemd" - ]; + buildFeatures = + [ + "shell_completion" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "systemd" + ]; postInstall = '' installShellCompletion \ diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix index e1e338698f433..d4c45a283603c 100644 --- a/pkgs/applications/audio/lmms/default.nix +++ b/pkgs/applications/audio/lmms/default.nix @@ -1,7 +1,29 @@ -{ lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, alsa-lib ? null, carla ? null, fftwFloat, fltk13 -, fluidsynth ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null -, libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null -, qtbase, qtx11extras, qttools, SDL ? null, mkDerivation }: +{ + lib, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + alsa-lib ? null, + carla ? null, + fftwFloat, + fltk13, + fluidsynth ? null, + lame ? null, + libgig ? null, + libjack2 ? null, + libpulseaudio ? null, + libsamplerate, + libsoundio ? null, + libsndfile, + libvorbis ? null, + portaudio ? null, + qtbase, + qtx11extras, + qttools, + SDL ? null, + mkDerivation, +}: mkDerivation rec { pname = "lmms"; @@ -15,7 +37,11 @@ mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake qttools pkg-config ]; + nativeBuildInputs = [ + cmake + qttools + pkg-config + ]; buildInputs = [ carla @@ -51,7 +77,10 @@ mkDerivation rec { mainProgram = "lmms"; homepage = "https://lmms.io"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/audio/lpd8editor/default.nix b/pkgs/applications/audio/lpd8editor/default.nix index 4c48ca18ad37f..6592f68fa98aa 100644 --- a/pkgs/applications/audio/lpd8editor/default.nix +++ b/pkgs/applications/audio/lpd8editor/default.nix @@ -1,11 +1,12 @@ -{ lib -, qt5 -, stdenv -, git -, fetchFromGitHub -, cmake -, alsa-lib -, qttools +{ + lib, + qt5, + stdenv, + git, + fetchFromGitHub, + cmake, + alsa-lib, + qttools, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix index ae768da7a0128..89cbd99851d8a 100644 --- a/pkgs/applications/audio/lsp-plugins/default.nix +++ b/pkgs/applications/audio/lsp-plugins/default.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config, makeWrapper -, libsndfile, jack2 -, libGLU, libGL, lv2, cairo -, ladspaH, php, libXrandr }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + makeWrapper, + libsndfile, + jack2, + libGLU, + libGL, + lv2, + cairo, + ladspaH, + php, + libXrandr, +}: stdenv.mkDerivation rec { pname = "lsp-plugins"; @@ -12,10 +24,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-w2BUIF44z78syLroQk2asVXA5bt9P9POiuwxpnlkc8o="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - nativeBuildInputs = [ pkg-config (php.withExtensions (_: [])) makeWrapper ]; - buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH libXrandr ]; + nativeBuildInputs = [ + pkg-config + (php.withExtensions (_: [ ])) + makeWrapper + ]; + buildInputs = [ + jack2 + libsndfile + libGLU + libGL + lv2 + cairo + ladspaH + libXrandr + ]; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -33,69 +62,72 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = with lib; - { description = "Collection of open-source audio plugins"; - longDescription = '' - Compatible with the following formats: + meta = with lib; { + description = "Collection of open-source audio plugins"; + longDescription = '' + Compatible with the following formats: - - CLAP - set of plugins for Clever Audio Plugins API - - LADSPA - set of plugins for Linux Audio Developer's Simple Plugin API - - LV2 - set of plugins and UIs for Linux Audio Developer's Simple Plugin API (LADSPA) version 2 - - LinuxVST - set of plugins and UIs for Steinberg's VST 2.4 format ported on GNU/Linux Platform - - JACK - Standalone versions for JACK Audio connection Kit with UI + - CLAP - set of plugins for Clever Audio Plugins API + - LADSPA - set of plugins for Linux Audio Developer's Simple Plugin API + - LV2 - set of plugins and UIs for Linux Audio Developer's Simple Plugin API (LADSPA) version 2 + - LinuxVST - set of plugins and UIs for Steinberg's VST 2.4 format ported on GNU/Linux Platform + - JACK - Standalone versions for JACK Audio connection Kit with UI - Contains the following plugins (https://lsp-plug.in/?page=plugins) + Contains the following plugins (https://lsp-plug.in/?page=plugins) - Equalizers: - - Fliter - - Graphic Equalizer - - Parametric Equalizer - Dynamic Processing: - - Compressor - - Dynamic Processor - - Expander - - Gate - - Limiter - Multiband Dynamic Processing: - - GOTT Compressor - - Multiband Compressor - - Multiband Dynamics Processor - - Multiband Expander - - Multiband Gate - - Multiband Limiter - Convolution / Reverb processing: - - Impulse Responses - - Impulse Reverb - - Room Builder - Delay Effects: - - Artistic Delay - - Compensation Delay - - Slap-back Delay - Analyzers: - - Oscilloscope - - Phase Detector - - Spectrum Analyzer - Multiband Processing: - - Crossover - Samplers: - - Multisampler - - Sampler - Generators / Oscillators: - - Noise Generator - - Oscillator - Utilitary Plugins: - - A/B Test Plugin - - Flanger - - Latency Meter - - Loudness Compensator - - Mixer - - Profiler - - Surge Filter - - Trigger - ''; - homepage = "https://lsp-plug.in"; - maintainers = with maintainers; [ magnetophon PowerUser64 ]; - license = licenses.gpl2; - platforms = platforms.linux; - }; + Equalizers: + - Fliter + - Graphic Equalizer + - Parametric Equalizer + Dynamic Processing: + - Compressor + - Dynamic Processor + - Expander + - Gate + - Limiter + Multiband Dynamic Processing: + - GOTT Compressor + - Multiband Compressor + - Multiband Dynamics Processor + - Multiband Expander + - Multiband Gate + - Multiband Limiter + Convolution / Reverb processing: + - Impulse Responses + - Impulse Reverb + - Room Builder + Delay Effects: + - Artistic Delay + - Compensation Delay + - Slap-back Delay + Analyzers: + - Oscilloscope + - Phase Detector + - Spectrum Analyzer + Multiband Processing: + - Crossover + Samplers: + - Multisampler + - Sampler + Generators / Oscillators: + - Noise Generator + - Oscillator + Utilitary Plugins: + - A/B Test Plugin + - Flanger + - Latency Meter + - Loudness Compensator + - Mixer + - Profiler + - Surge Filter + - Trigger + ''; + homepage = "https://lsp-plug.in"; + maintainers = with maintainers; [ + magnetophon + PowerUser64 + ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; } diff --git a/pkgs/applications/audio/lv2lint/default.nix b/pkgs/applications/audio/lv2lint/default.nix index 85d3733905623..c35e277675375 100644 --- a/pkgs/applications/audio/lv2lint/default.nix +++ b/pkgs/applications/audio/lv2lint/default.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchFromSourcehut, pkg-config, meson, ninja, lv2, lilv, curl, elfutils, xorg }: +{ + stdenv, + lib, + fetchFromSourcehut, + pkg-config, + meson, + ninja, + lv2, + lilv, + curl, + elfutils, + xorg, +}: stdenv.mkDerivation (finalAttrs: { pname = "lv2lint"; @@ -12,9 +24,19 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-NkzbKteLZ+P+Py+CMOYYipvu6psDslWnM1MAV1XB0TM="; }; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; - buildInputs = [ lv2 lilv curl elfutils xorg.libX11 ]; + buildInputs = [ + lv2 + lilv + curl + elfutils + xorg.libX11 + ]; mesonFlags = [ (lib.mesonEnable "online-tests" true) diff --git a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix index 09e87abec0ea3..6de1768401157 100644 --- a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "CharacterCompressor"; version = "0.3.3"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1h0bhjhx023476gbijq842b6f8z71zcyn4c9mddwyb18w9cdamp5"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix index ce90f0f5f1641..528c972a9829e 100644 --- a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "CompBus"; version = "1.1.1"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "0yhj680zgk4dn4fi8j3apm72f3z2mjk12amf2a7p0lwn9iyh4a2z"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix index 98fae67d71c52..b10cb501e12e1 100644 --- a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "constant-detune-chorus"; version = "0.1.3"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1sipmc25fr7w7xqx1r0y6i2zwfkgszzwvhk1v15mnsb3cqvk8ybn"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix index 66f66d2e24483..cc968b5226cc7 100644 --- a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "LazyLimiter"; version = "0.3.2"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "10xdydwmsnkx8hzsm74pa546yahp29wifydbc48yywv3sfj5anm7"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix index e8798424cc12f..3dfea346b60a3 100644 --- a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "MBdistortion"; version = "1.1.1"; @@ -17,7 +24,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix index fb55af1dcebd7..ab7e651fc691a 100644 --- a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "RhythmDelay"; version = "2.1"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1j0bjl9agz43dcrcrbiqd7fv7xsxgd65s4ahhv5pvcr729y0fxg4"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix index f85df83401e08..983e3924f815f 100644 --- a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins, jack-example-tools }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jack, + faust2lv2, + helmholtz, + mrpeach, + puredata-with-plugins, + jack-example-tools, +}: stdenv.mkDerivation rec { pname = "VoiceOfFaust"; version = "1.1.5"; @@ -10,11 +20,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-vB8+ymvNuuovFXwOJ3BTIj5mGzCGa1+yhYs4nWMYIxU="; }; - plugins = [ helmholtz mrpeach ]; + plugins = [ + helmholtz + mrpeach + ]; pitchTracker = puredata-with-plugins plugins; - buildInputs = [ faust2jack faust2lv2 ]; + buildInputs = [ + faust2jack + faust2lv2 + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix index 0caba36177438..beb40dcbfecec 100644 --- a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "faustCompressors"; version = "1.2"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "144f6g17q4m50kxzdncsfzdyycdfprnpwdaxcwgxj4jky1xsha1d"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix index 5230ed327e23a..7c81a87cfe9fa 100644 --- a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "pluginUtils"; version = "1.1"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1hnr5sp7k6ypf4ks61lnyqx44dkv35yllf3a3xcbrw7yqzagwr1c"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; @@ -33,7 +42,7 @@ stdenv.mkDerivation rec { for f in $(find . -executable -type f); do cp $f $out/bin/ done - ''; + ''; meta = { description = "Some simple utility lv2 plugins"; diff --git a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix index 42163d9879b8b..70020efe09807 100644 --- a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "shelfMultiBand"; version = "0.6.1"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1b1h4z5fs2xm7wvw11p9wnd0bxs3m88124f5phh0gwvpsdrd0im5"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/audio/master_me/default.nix b/pkgs/applications/audio/master_me/default.nix index 4d8a35588e7e6..3c766b701cf9b 100644 --- a/pkgs/applications/audio/master_me/default.nix +++ b/pkgs/applications/audio/master_me/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, libGL -, libX11 -, libXext -, libXrandr -, pkg-config -, python3 -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + libGL, + libX11, + libXext, + libXrandr, + pkg-config, + python3, + Cocoa, }: stdenv.mkDerivation rec { pname = "master_me"; @@ -22,9 +23,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libGL python3 ] + buildInputs = + [ + libGL + python3 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 libXext libXrandr ]; + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libXext + libXrandr + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/mbrola/default.nix b/pkgs/applications/audio/mbrola/default.nix index c67d30fc3dc60..ade11f764c70d 100644 --- a/pkgs/applications/audio/mbrola/default.nix +++ b/pkgs/applications/audio/mbrola/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, runCommandLocal, mbrola-voices }: +{ + stdenv, + lib, + fetchFromGitHub, + runCommandLocal, + mbrola-voices, +}: let pname = "mbrola"; @@ -43,13 +49,12 @@ let }; in - runCommandLocal - "${pname}-${version}" - { - inherit pname version meta; - } - '' - mkdir -p "$out/share/mbrola" - ln -s '${mbrola-voices}/data' "$out/share/mbrola/voices" - ln -s '${bin}/bin' "$out/" - '' +runCommandLocal "${pname}-${version}" + { + inherit pname version meta; + } + '' + mkdir -p "$out/share/mbrola" + ln -s '${mbrola-voices}/data' "$out/share/mbrola/voices" + ln -s '${bin}/bin' "$out/" + '' diff --git a/pkgs/applications/audio/mellowplayer/default.nix b/pkgs/applications/audio/mellowplayer/default.nix index 2bffd43b7b957..0b51b83f98f79 100644 --- a/pkgs/applications/audio/mellowplayer/default.nix +++ b/pkgs/applications/audio/mellowplayer/default.nix @@ -1,16 +1,17 @@ -{ cmake -, fetchFromGitLab -, lib -, libnotify -, mkDerivation -, pkg-config -, qtbase -, qtdeclarative -, qtgraphicaleffects -, qtquickcontrols2 -, qttools -, qtwebengine -, stdenv +{ + cmake, + fetchFromGitLab, + lib, + libnotify, + mkDerivation, + pkg-config, + qtbase, + qtdeclarative, + qtgraphicaleffects, + qtquickcontrols2, + qttools, + qtwebengine, + stdenv, }: mkDerivation rec { @@ -24,7 +25,10 @@ mkDerivation rec { hash = "sha256-rsF2xQet7U8d4oGU/HgghvE3vvmkxjlGXPBlLD9mWTk="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libnotify @@ -40,25 +44,29 @@ mkDerivation rec { cmakeFlags = [ "-DBUILD_TESTS=ON" ]; - preCheck = '' - # Running the tests requires a location at the home directory for logging. - export HOME="$NIX_BUILD_TOP/home" - mkdir -p "$HOME/.local/share/MellowPlayer.Tests/MellowPlayer.Tests/Logs" + preCheck = + '' + # Running the tests requires a location at the home directory for logging. + export HOME="$NIX_BUILD_TOP/home" + mkdir -p "$HOME/.local/share/MellowPlayer.Tests/MellowPlayer.Tests/Logs" - # Without this, the tests fail because they cannot create the QT Window - export QT_QPA_PLATFORM=offscreen - '' - # TODO: The tests are failing because it can't locate QT plugins. Is there a better way to do this? - + (builtins.concatStringsSep "\n" (lib.lists.flatten (builtins.map - (pkg: [ - (lib.optionalString (pkg ? qtPluginPrefix) '' - export QT_PLUGIN_PATH="${pkg}/${pkg.qtPluginPrefix}"''${QT_PLUGIN_PATH:+':'}$QT_PLUGIN_PATH - '') + # Without this, the tests fail because they cannot create the QT Window + export QT_QPA_PLATFORM=offscreen + '' + # TODO: The tests are failing because it can't locate QT plugins. Is there a better way to do this? + + (builtins.concatStringsSep "\n" ( + lib.lists.flatten ( + builtins.map (pkg: [ + (lib.optionalString (pkg ? qtPluginPrefix) '' + export QT_PLUGIN_PATH="${pkg}/${pkg.qtPluginPrefix}"''${QT_PLUGIN_PATH:+':'}$QT_PLUGIN_PATH + '') - (lib.optionalString (pkg ? qtQmlPrefix) '' - export QML2_IMPORT_PATH="${pkg}/${pkg.qtQmlPrefix}"''${QML2_IMPORT_PATH:+':'}$QML2_IMPORT_PATH - '') - ]) buildInputs))); + (lib.optionalString (pkg ? qtQmlPrefix) '' + export QML2_IMPORT_PATH="${pkg}/${pkg.qtQmlPrefix}"''${QML2_IMPORT_PATH:+':'}$QML2_IMPORT_PATH + '') + ]) buildInputs + ) + )); meta = with lib; { inherit (qtbase.meta) platforms; diff --git a/pkgs/applications/audio/melmatcheq.lv2/default.nix b/pkgs/applications/audio/melmatcheq.lv2/default.nix index 7469b8146f72c..ef49dc783d2e2 100644 --- a/pkgs/applications/audio/melmatcheq.lv2/default.nix +++ b/pkgs/applications/audio/melmatcheq.lv2/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + xorgproto, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "MelMatchEQ.lv2"; @@ -13,7 +22,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 xorgproto cairo lv2 + xorg.libX11 + xorgproto + cairo + lv2 ]; installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ]; diff --git a/pkgs/applications/audio/midas/generic.nix b/pkgs/applications/audio/midas/generic.nix index 6e71620ad444a..1f0847881b6fa 100644 --- a/pkgs/applications/audio/midas/generic.nix +++ b/pkgs/applications/audio/midas/generic.nix @@ -1,4 +1,19 @@ -{ stdenv, fetchurl, lib, libX11, libXext, alsa-lib, freetype, brand, type, version, homepage, url, sha256, ... }: +{ + stdenv, + fetchurl, + lib, + libX11, + libXext, + alsa-lib, + freetype, + brand, + type, + version, + homepage, + url, + sha256, + ... +}: stdenv.mkDerivation rec { pname = "${lib.toLower type}-edit"; inherit version; @@ -16,21 +31,23 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp ${type}-Edit $out/bin/${pname} ''; - preFixup = let - # we prepare our library path in the let clause to avoid it become part of the input of mkDerivation - libPath = lib.makeLibraryPath [ - libX11 # libX11.so.6 - libXext # libXext.so.6 - alsa-lib # libasound.so.2 - freetype # libfreetype.so.6 - (lib.getLib stdenv.cc.cc) # libstdc++.so.6 - ]; - in '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}" \ - $out/bin/${pname} - ''; + preFixup = + let + # we prepare our library path in the let clause to avoid it become part of the input of mkDerivation + libPath = lib.makeLibraryPath [ + libX11 # libX11.so.6 + libXext # libXext.so.6 + alsa-lib # libasound.so.2 + freetype # libfreetype.so.6 + (lib.getLib stdenv.cc.cc) # libstdc++.so.6 + ]; + in + '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + $out/bin/${pname} + ''; meta = with lib; { inherit homepage; diff --git a/pkgs/applications/audio/midas/m32edit.nix b/pkgs/applications/audio/midas/m32edit.nix index eff7fb8f80833..41f30235f68e8 100644 --- a/pkgs/applications/audio/midas/m32edit.nix +++ b/pkgs/applications/audio/midas/m32edit.nix @@ -1,10 +1,13 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // rec { - brand = "Midas"; - type = "M32"; - version = "4.1"; - url = "https://mediadl.musictribe.com/download/software/midas_${type}/${type}-Edit_LINUX_${version}.tar.gz"; - sha256 = "0aqhdrxqa49liyvbbw5x32kwk0h1spzvmizmdxklrfs64vvr9bvh"; - homepage = "https://midasconsoles.com/midas/product?modelCode=P0B3I"; -}) +callPackage ./generic.nix ( + args + // rec { + brand = "Midas"; + type = "M32"; + version = "4.1"; + url = "https://mediadl.musictribe.com/download/software/midas_${type}/${type}-Edit_LINUX_${version}.tar.gz"; + sha256 = "0aqhdrxqa49liyvbbw5x32kwk0h1spzvmizmdxklrfs64vvr9bvh"; + homepage = "https://midasconsoles.com/midas/product?modelCode=P0B3I"; + } +) diff --git a/pkgs/applications/audio/midas/x32edit.nix b/pkgs/applications/audio/midas/x32edit.nix index d375ebf1a4680..c425665df7a0f 100644 --- a/pkgs/applications/audio/midas/x32edit.nix +++ b/pkgs/applications/audio/midas/x32edit.nix @@ -1,10 +1,13 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // rec { - brand = "Behringer"; - type = "X32"; - version = "4.1"; - url = "https://mediadl.musictribe.com/download/software/behringer/${type}/${type}-Edit_LINUX_${version}.tar.gz"; - sha256 = "0zsw7qfmcci87skkpq8vx5zxk35phn8y4byispvki9ascifnnb33"; - homepage = "https://www.behringer.com/behringer/product?modelCode=P0ASF"; -}) +callPackage ./generic.nix ( + args + // rec { + brand = "Behringer"; + type = "X32"; + version = "4.1"; + url = "https://mediadl.musictribe.com/download/software/behringer/${type}/${type}-Edit_LINUX_${version}.tar.gz"; + sha256 = "0zsw7qfmcci87skkpq8vx5zxk35phn8y4byispvki9ascifnnb33"; + homepage = "https://www.behringer.com/behringer/product?modelCode=P0ASF"; + } +) diff --git a/pkgs/applications/audio/midivisualizer/default.nix b/pkgs/applications/audio/midivisualizer/default.nix index 54f13d3e628a7..eb409930a3b21 100644 --- a/pkgs/applications/audio/midivisualizer/default.nix +++ b/pkgs/applications/audio/midivisualizer/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libX11 -, glfw -, makeWrapper -, libXrandr -, libXinerama -, libXcursor -, gtk3 -, ffmpeg-full -, AppKit -, Carbon -, Cocoa -, CoreAudio -, CoreMIDI -, CoreServices -, Kernel +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libX11, + glfw, + makeWrapper, + libXrandr, + libXinerama, + libXcursor, + gtk3, + ffmpeg-full, + AppKit, + Carbon, + Cocoa, + CoreAudio, + CoreMIDI, + CoreServices, + Kernel, }: stdenv.mkDerivation (finalAttrs: { @@ -31,38 +32,49 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-wfPSPH+E9cErVvfJZqHttFtjiUYJopM/u6w6NpRHifE="; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper]; - - buildInputs = [ - glfw - ffmpeg-full - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - libXrandr - libXinerama - libXcursor - gtk3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Carbon - Cocoa - CoreAudio - CoreMIDI - CoreServices - Kernel + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper ]; - installPhase = if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications $out/bin - cp -r MIDIVisualizer.app $out/Applications/ - ln -s ../Applications/MIDIVisualizer.app/Contents/MacOS/MIDIVisualizer $out/bin/ - '' else '' - mkdir -p $out/bin - cp MIDIVisualizer $out/bin + buildInputs = + [ + glfw + ffmpeg-full + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libXrandr + libXinerama + libXcursor + gtk3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Carbon + Cocoa + CoreAudio + CoreMIDI + CoreServices + Kernel + ]; + + installPhase = + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications $out/bin + cp -r MIDIVisualizer.app $out/Applications/ + ln -s ../Applications/MIDIVisualizer.app/Contents/MacOS/MIDIVisualizer $out/bin/ + '' + else + '' + mkdir -p $out/bin + cp MIDIVisualizer $out/bin - wrapProgram $out/bin/MIDIVisualizer \ - --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" - ''; + wrapProgram $out/bin/MIDIVisualizer \ + --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" + ''; meta = with lib; { description = "Small MIDI visualizer tool, using OpenGL"; diff --git a/pkgs/applications/audio/minidsp/default.nix b/pkgs/applications/audio/minidsp/default.nix index f6affaeefc3a6..0c2e76cae389e 100644 --- a/pkgs/applications/audio/minidsp/default.nix +++ b/pkgs/applications/audio/minidsp/default.nix @@ -21,19 +21,25 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-GUrYEFpTo83lKuDyENaVN3VhnZ2Y/igtsbEY7kNa1os="; - cargoBuildFlags = ["-p minidsp -p minidsp-daemon"]; + cargoBuildFlags = [ "-p minidsp -p minidsp-daemon" ]; buildInputs = - lib.optionals stdenv.hostPlatform.isLinux [libusb1] - ++ lib.optionals stdenv.hostPlatform.isDarwin [AppKit IOKit]; + lib.optionals stdenv.hostPlatform.isLinux [ libusb1 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + IOKit + ]; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [pkg-config]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; meta = with lib; { description = "Control interface for some MiniDSP products"; homepage = "https://github.com/mrene/minidsp-rs"; license = licenses.asl20; platforms = platforms.linux ++ platforms.darwin; - maintainers = [maintainers.adamcstephens maintainers.mrene]; + maintainers = [ + maintainers.adamcstephens + maintainers.mrene + ]; }; } diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix index 33dddd20cfc4e..13ddb4be64816 100644 --- a/pkgs/applications/audio/mixxx/default.nix +++ b/pkgs/applications/audio/mixxx/default.nix @@ -1,58 +1,59 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, chromaprint -, cmake -, faad2 -, ffmpeg -, fftw -, flac -, gbenchmark -, glibcLocales -, gtest -, hidapi -, lame -, libebur128 -, libdjinterop -, libGLU -, libid3tag -, libkeyfinder -, libmad -, libmodplug -, libopus -, libsecret -, libshout -, libsndfile -, libusb1 -, libvorbis -, libxcb -, lilv -, lv2 -, microsoft-gsl -, mp4v2 -, opusfile -, pcre -, pkg-config -, portaudio -, portmidi -, protobuf -, qtbase -, qtkeychain -, qtscript -, qtsvg -, qtx11extras -, rubberband -, serd -, sord -, soundtouch -, sratom -, sqlite -, taglib -, upower -, vamp-plugin-sdk -, wavpack -, wrapGAppsHook3 +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + chromaprint, + cmake, + faad2, + ffmpeg, + fftw, + flac, + gbenchmark, + glibcLocales, + gtest, + hidapi, + lame, + libebur128, + libdjinterop, + libGLU, + libid3tag, + libkeyfinder, + libmad, + libmodplug, + libopus, + libsecret, + libshout, + libsndfile, + libusb1, + libvorbis, + libxcb, + lilv, + lv2, + microsoft-gsl, + mp4v2, + opusfile, + pcre, + pkg-config, + portaudio, + portmidi, + protobuf, + qtbase, + qtkeychain, + qtscript, + qtsvg, + qtx11extras, + rubberband, + serd, + sord, + soundtouch, + sratom, + sqlite, + taglib, + upower, + vamp-plugin-sdk, + wavpack, + wrapGAppsHook3, }: mkDerivation rec { @@ -66,7 +67,11 @@ mkDerivation rec { hash = "sha256-YfpFRLosIIND+HnZN+76ZY0dQqEJaFkWZS84gZOCdfc="; }; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + ]; dontWrapGApps = true; @@ -121,7 +126,7 @@ mkDerivation rec { wavpack ]; - preFixup='' + preFixup = '' qtWrapperArgs+=(--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive ''${gappsWrapperArgs[@]}) ''; @@ -147,7 +152,10 @@ mkDerivation rec { description = "Digital DJ mixing software"; mainProgram = "mixxx"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ bfortz benley ]; + maintainers = with maintainers; [ + bfortz + benley + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/mmlgui/default.nix b/pkgs/applications/audio/mmlgui/default.nix index d9197abd04dc9..d5ea07d6d3626 100644 --- a/pkgs/applications/audio/mmlgui/default.nix +++ b/pkgs/applications/audio/mmlgui/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, unstableGitUpdater -, pkg-config -, glfw -, libvgm -, libX11 -, libXau -, libXdmcp -, Carbon -, Cocoa -, cppunit +{ + stdenv, + lib, + fetchFromGitHub, + unstableGitUpdater, + pkg-config, + glfw, + libvgm, + libX11, + libXau, + libXdmcp, + Carbon, + Cocoa, + cppunit, }: stdenv.mkDerivation rec { @@ -51,17 +52,20 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - glfw - libvgm - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - libXau - libXdmcp - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon - Cocoa - ]; + buildInputs = + [ + glfw + libvgm + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libXau + libXdmcp + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + ]; checkInputs = [ cppunit diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index eae8f02fe1792..581ace1d3c3c0 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -1,28 +1,57 @@ -{ lib, stdenv, fetchsvn, fetchpatch2, pkg-config -, autoreconfHook, autoconf-archive -, ncurses, db , popt, libtool -, libiconv, CoreServices -# Sound sub-systems -, alsaSupport ? (!stdenv.hostPlatform.isDarwin), alsa-lib -, pulseSupport ? true, libpulseaudio -, jackSupport ? true, libjack2 -, ossSupport ? true -# Audio formats -, aacSupport ? true, faad2, libid3tag -, flacSupport ? true, flac -, midiSupport ? true, timidity -, modplugSupport ? true, libmodplug -, mp3Support ? true, libmad -, musepackSupport ? true, libmpc, libmpcdec, taglib -, vorbisSupport ? true, libvorbis -, speexSupport ? true, speex -, ffmpegSupport ? true, ffmpeg -, sndfileSupport ? true, libsndfile -, wavpackSupport ? true, wavpack -# Misc -, curlSupport ? true, curl -, samplerateSupport ? true, libsamplerate -, withDebug ? false +{ + lib, + stdenv, + fetchsvn, + fetchpatch2, + pkg-config, + autoreconfHook, + autoconf-archive, + ncurses, + db, + popt, + libtool, + libiconv, + CoreServices, + # Sound sub-systems + alsaSupport ? (!stdenv.hostPlatform.isDarwin), + alsa-lib, + pulseSupport ? true, + libpulseaudio, + jackSupport ? true, + libjack2, + ossSupport ? true, + # Audio formats + aacSupport ? true, + faad2, + libid3tag, + flacSupport ? true, + flac, + midiSupport ? true, + timidity, + modplugSupport ? true, + libmodplug, + mp3Support ? true, + libmad, + musepackSupport ? true, + libmpc, + libmpcdec, + taglib, + vorbisSupport ? true, + libvorbis, + speexSupport ? true, + speex, + ffmpegSupport ? true, + ffmpeg, + sndfileSupport ? true, + libsndfile, + wavpackSupport ? true, + wavpack, + # Misc + curlSupport ? true, + curl, + samplerateSupport ? true, + libsamplerate, + withDebug ? false, }: stdenv.mkDerivation { @@ -57,9 +86,19 @@ stdenv.mkDerivation { rm m4/* ''; - nativeBuildInputs = [ pkg-config autoreconfHook autoconf-archive ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + autoconf-archive + ]; - buildInputs = [ ncurses db popt libtool ] + buildInputs = + [ + ncurses + db + popt + libtool + ] # Sound sub-systems ++ lib.optional alsaSupport alsa-lib ++ lib.optional pulseSupport libpulseaudio @@ -71,7 +110,11 @@ stdenv.mkDerivation { ++ lib.optional midiSupport timidity ++ lib.optional modplugSupport libmodplug ++ lib.optional mp3Support libmad - ++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ] + ++ lib.optionals musepackSupport [ + libmpc + libmpcdec + taglib + ] ++ lib.optional vorbisSupport libvorbis ++ lib.optional speexSupport speex ++ lib.optional ffmpegSupport ffmpeg @@ -80,7 +123,10 @@ stdenv.mkDerivation { # Misc ++ lib.optional curlSupport curl ++ lib.optional samplerateSupport libsamplerate - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv CoreServices ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + CoreServices + ]; configureFlags = [ # Sound sub-systems @@ -112,7 +158,11 @@ stdenv.mkDerivation { description = "Terminal audio player designed to be powerful and easy to use"; homepage = "http://moc.daper.net/"; license = licenses.gpl2; - maintainers = with maintainers; [ aethelz pSub jagajaga ]; + maintainers = with maintainers; [ + aethelz + pSub + jagajaga + ]; platforms = platforms.unix; mainProgram = "mocp"; }; diff --git a/pkgs/applications/audio/mopidy/bandcamp.nix b/pkgs/applications/audio/mopidy/bandcamp.nix index 35491813f1a2e..3d3d074aaf826 100644 --- a/pkgs/applications/audio/mopidy/bandcamp.nix +++ b/pkgs/applications/audio/mopidy/bandcamp.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "Mopidy-Bandcamp"; @@ -8,7 +13,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ="; }; - propagatedBuildInputs = with python3Packages; [ mopidy pykka ]; + propagatedBuildInputs = with python3Packages; [ + mopidy + pykka + ]; meta = with lib; { description = "Mopidy extension for playing music from bandcamp"; diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index 958be098d7bb7..f7c71866accba 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -1,51 +1,57 @@ -{ lib, newScope, python }: +{ + lib, + newScope, + python, +}: # Create a custom scope so we are consistent in which python version is used -lib.makeScope newScope (self: with self; { - inherit python; - pythonPackages = python.pkgs; +lib.makeScope newScope ( + self: with self; { + inherit python; + pythonPackages = python.pkgs; - mopidy = callPackage ./mopidy.nix { }; + mopidy = callPackage ./mopidy.nix { }; - mopidy-bandcamp = callPackage ./bandcamp.nix { }; + mopidy-bandcamp = callPackage ./bandcamp.nix { }; - mopidy-iris = callPackage ./iris.nix { }; + mopidy-iris = callPackage ./iris.nix { }; - mopidy-jellyfin = callPackage ./jellyfin.nix { }; + mopidy-jellyfin = callPackage ./jellyfin.nix { }; - mopidy-local = callPackage ./local.nix { }; + mopidy-local = callPackage ./local.nix { }; - mopidy-moped = callPackage ./moped.nix { }; + mopidy-moped = callPackage ./moped.nix { }; - mopidy-mopify = callPackage ./mopify.nix { }; + mopidy-mopify = callPackage ./mopify.nix { }; - mopidy-mpd = callPackage ./mpd.nix { }; + mopidy-mpd = callPackage ./mpd.nix { }; - mopidy-mpris = callPackage ./mpris.nix { }; + mopidy-mpris = callPackage ./mpris.nix { }; - mopidy-muse = callPackage ./muse.nix { }; + mopidy-muse = callPackage ./muse.nix { }; - mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { }; + mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { }; - mopidy-notify = callPackage ./notify.nix { }; + mopidy-notify = callPackage ./notify.nix { }; - mopidy-podcast = callPackage ./podcast.nix { }; + mopidy-podcast = callPackage ./podcast.nix { }; - mopidy-scrobbler = callPackage ./scrobbler.nix { }; + mopidy-scrobbler = callPackage ./scrobbler.nix { }; - mopidy-somafm = callPackage ./somafm.nix { }; + mopidy-somafm = callPackage ./somafm.nix { }; - mopidy-soundcloud = callPackage ./soundcloud.nix { }; + mopidy-soundcloud = callPackage ./soundcloud.nix { }; - mopidy-spotify = callPackage ./spotify.nix { }; + mopidy-spotify = callPackage ./spotify.nix { }; - mopidy-tidal = callPackage ./tidal.nix { }; + mopidy-tidal = callPackage ./tidal.nix { }; - mopidy-tunein = callPackage ./tunein.nix { }; + mopidy-tunein = callPackage ./tunein.nix { }; - mopidy-youtube = callPackage ./youtube.nix { }; + mopidy-youtube = callPackage ./youtube.nix { }; - mopidy-ytmusic = callPackage ./ytmusic.nix { }; + mopidy-ytmusic = callPackage ./ytmusic.nix { }; - mopidy-subidy = callPackage ./subidy.nix { }; -}) + mopidy-subidy = callPackage ./subidy.nix { }; + } +) diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index bebb4082a40fa..d07b294528320 100644 --- a/pkgs/applications/audio/mopidy/iris.nix +++ b/pkgs/applications/audio/mopidy/iris.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "Mopidy-Iris"; @@ -9,13 +14,15 @@ python3Packages.buildPythonApplication rec { hash = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4="; }; - propagatedBuildInputs = [ - mopidy - ] ++ (with python3Packages; [ - configobj - requests - tornado - ]); + propagatedBuildInputs = + [ + mopidy + ] + ++ (with python3Packages; [ + configobj + requests + tornado + ]); # no tests implemented doCheck = false; diff --git a/pkgs/applications/audio/mopidy/jellyfin.nix b/pkgs/applications/audio/mopidy/jellyfin.nix index 8193361666109..9a2e7fe34c7b2 100644 --- a/pkgs/applications/audio/mopidy/jellyfin.nix +++ b/pkgs/applications/audio/mopidy/jellyfin.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "mopidy-jellyfin"; @@ -10,7 +15,11 @@ python3Packages.buildPythonApplication rec { hash = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc="; }; - propagatedBuildInputs = [ mopidy python3Packages.unidecode python3Packages.websocket-client ]; + propagatedBuildInputs = [ + mopidy + python3Packages.unidecode + python3Packages.websocket-client + ]; # no tests implemented doCheck = false; diff --git a/pkgs/applications/audio/mopidy/local.nix b/pkgs/applications/audio/mopidy/local.nix index c907deff34f94..b76a3abbbb197 100644 --- a/pkgs/applications/audio/mopidy/local.nix +++ b/pkgs/applications/audio/mopidy/local.nix @@ -1,8 +1,9 @@ -{ lib -, mopidy -, python3Packages -, fetchPypi -, fetchpatch +{ + lib, + mopidy, + python3Packages, + fetchPypi, + fetchpatch, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/applications/audio/mopidy/moped.nix b/pkgs/applications/audio/mopidy/moped.nix index afefc0f0d9d51..edb94a5a02c98 100644 --- a/pkgs/applications/audio/mopidy/moped.nix +++ b/pkgs/applications/audio/mopidy/moped.nix @@ -1,4 +1,10 @@ -{ lib, pythonPackages, fetchPypi, mopidy, glibcLocales }: +{ + lib, + pythonPackages, + fetchPypi, + mopidy, + glibcLocales, +}: pythonPackages.buildPythonApplication rec { pname = "Mopidy-Moped"; @@ -21,6 +27,6 @@ pythonPackages.buildPythonApplication rec { description = "Web client for Mopidy"; license = licenses.mit; maintainers = [ ]; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/applications/audio/mopidy/mopify.nix b/pkgs/applications/audio/mopidy/mopify.nix index 21ebc32b9d15f..ca27c0f717062 100644 --- a/pkgs/applications/audio/mopidy/mopify.nix +++ b/pkgs/applications/audio/mopidy/mopify.nix @@ -1,4 +1,9 @@ -{ lib, pythonPackages, fetchPypi, mopidy }: +{ + lib, + pythonPackages, + fetchPypi, + mopidy, +}: pythonPackages.buildPythonApplication rec { pname = "Mopidy-Mopify"; @@ -9,7 +14,10 @@ pythonPackages.buildPythonApplication rec { hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE="; }; - propagatedBuildInputs = with pythonPackages; [ mopidy configobj ]; + propagatedBuildInputs = with pythonPackages; [ + mopidy + configobj + ]; # no tests implemented doCheck = false; diff --git a/pkgs/applications/audio/mopidy/mpd.nix b/pkgs/applications/audio/mopidy/mpd.nix index 303a4c733e8aa..ac4073979e79e 100644 --- a/pkgs/applications/audio/mopidy/mpd.nix +++ b/pkgs/applications/audio/mopidy/mpd.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "Mopidy-MPD"; diff --git a/pkgs/applications/audio/mopidy/mpris.nix b/pkgs/applications/audio/mopidy/mpris.nix index c4f205cd359b6..5b0e09432a2e4 100644 --- a/pkgs/applications/audio/mopidy/mpris.nix +++ b/pkgs/applications/audio/mopidy/mpris.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "mopidy-mpris"; @@ -24,4 +29,3 @@ python3Packages.buildPythonApplication rec { maintainers = [ maintainers.nickhu ]; }; } - diff --git a/pkgs/applications/audio/mopidy/muse.nix b/pkgs/applications/audio/mopidy/muse.nix index f98d1ca458fe2..c70a874593e0a 100644 --- a/pkgs/applications/audio/mopidy/muse.nix +++ b/pkgs/applications/audio/mopidy/muse.nix @@ -1,4 +1,9 @@ -{ lib, pythonPackages, fetchPypi, mopidy }: +{ + lib, + pythonPackages, + fetchPypi, + mopidy, +}: pythonPackages.buildPythonApplication rec { pname = "mopidy-muse"; diff --git a/pkgs/applications/audio/mopidy/musicbox-webclient.nix b/pkgs/applications/audio/mopidy/musicbox-webclient.nix index 105fcff2accdd..caf18e26e7f1d 100644 --- a/pkgs/applications/audio/mopidy/musicbox-webclient.nix +++ b/pkgs/applications/audio/mopidy/musicbox-webclient.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, pythonPackages -, mopidy +{ + lib, + fetchFromGitHub, + pythonPackages, + mopidy, }: pythonPackages.buildPythonApplication rec { diff --git a/pkgs/applications/audio/mopidy/notify.nix b/pkgs/applications/audio/mopidy/notify.nix index f52ed61911135..8967dcaf0ae78 100644 --- a/pkgs/applications/audio/mopidy/notify.nix +++ b/pkgs/applications/audio/mopidy/notify.nix @@ -1,4 +1,9 @@ -{ lib, fetchPypi, pythonPackages, mopidy }: +{ + lib, + fetchPypi, + pythonPackages, + mopidy, +}: pythonPackages.buildPythonApplication rec { pname = "Mopidy-Notify"; diff --git a/pkgs/applications/audio/mopidy/podcast.nix b/pkgs/applications/audio/mopidy/podcast.nix index 8af6dff625481..f84389dd18b49 100644 --- a/pkgs/applications/audio/mopidy/podcast.nix +++ b/pkgs/applications/audio/mopidy/podcast.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "mopidy-podcast"; diff --git a/pkgs/applications/audio/mopidy/scrobbler.nix b/pkgs/applications/audio/mopidy/scrobbler.nix index f283356c808ad..8a4d33619d143 100644 --- a/pkgs/applications/audio/mopidy/scrobbler.nix +++ b/pkgs/applications/audio/mopidy/scrobbler.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "Mopidy-Scrobbler"; @@ -9,7 +14,10 @@ python3Packages.buildPythonApplication rec { sha256 = "11vxgax4xgkggnq4fr1rh2rcvzspkkimck5p3h4phdj3qpnj0680"; }; - propagatedBuildInputs = with python3Packages; [ mopidy pylast ]; + propagatedBuildInputs = with python3Packages; [ + mopidy + pylast + ]; # no tests implemented doCheck = false; diff --git a/pkgs/applications/audio/mopidy/somafm.nix b/pkgs/applications/audio/mopidy/somafm.nix index f9a9343dbf174..ee7f63d7a24a9 100644 --- a/pkgs/applications/audio/mopidy/somafm.nix +++ b/pkgs/applications/audio/mopidy/somafm.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "mopidy-somafm"; @@ -21,4 +26,3 @@ python3Packages.buildPythonApplication rec { maintainers = [ maintainers.nickhu ]; }; } - diff --git a/pkgs/applications/audio/mopidy/soundcloud.nix b/pkgs/applications/audio/mopidy/soundcloud.nix index cd9ef3e691ae2..a601cc2196a62 100644 --- a/pkgs/applications/audio/mopidy/soundcloud.nix +++ b/pkgs/applications/audio/mopidy/soundcloud.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, pythonPackages, mopidy }: +{ + lib, + fetchFromGitHub, + pythonPackages, + mopidy, +}: pythonPackages.buildPythonApplication rec { pname = "mopidy-soundcloud"; diff --git a/pkgs/applications/audio/mopidy/subidy.nix b/pkgs/applications/audio/mopidy/subidy.nix index b84a14106fdca..0891d19f8a8f4 100644 --- a/pkgs/applications/audio/mopidy/subidy.nix +++ b/pkgs/applications/audio/mopidy/subidy.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, pythonPackages, mopidy }: +{ + lib, + fetchFromGitHub, + pythonPackages, + mopidy, +}: pythonPackages.buildPythonApplication rec { pname = "mopidy-subidy"; @@ -11,7 +16,10 @@ pythonPackages.buildPythonApplication rec { sha256 = "0c5ghhhrj5v3yp4zmll9ari6r5c6ha8c1izwqshvadn40b02q7xz"; }; - propagatedBuildInputs = [ mopidy pythonPackages.py-sonic ]; + propagatedBuildInputs = [ + mopidy + pythonPackages.py-sonic + ]; nativeCheckInputs = with pythonPackages; [ pytestCheckHook ]; diff --git a/pkgs/applications/audio/mopidy/tidal.nix b/pkgs/applications/audio/mopidy/tidal.nix index 4b485ba3886b2..5548130665cb9 100644 --- a/pkgs/applications/audio/mopidy/tidal.nix +++ b/pkgs/applications/audio/mopidy/tidal.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchPypi -, mopidy +{ + lib, + python3Packages, + fetchPypi, + mopidy, }: python3Packages.buildPythonApplication rec { @@ -32,5 +33,3 @@ python3Packages.buildPythonApplication rec { maintainers = [ ]; }; } - - diff --git a/pkgs/applications/audio/mopidy/tunein.nix b/pkgs/applications/audio/mopidy/tunein.nix index b306ae91f17c2..e536d81ddece8 100644 --- a/pkgs/applications/audio/mopidy/tunein.nix +++ b/pkgs/applications/audio/mopidy/tunein.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, mopidy }: +{ + lib, + python3Packages, + fetchPypi, + mopidy, +}: python3Packages.buildPythonApplication rec { pname = "mopidy-tunein"; diff --git a/pkgs/applications/audio/mopidy/ytmusic.nix b/pkgs/applications/audio/mopidy/ytmusic.nix index 6981be30b2ea5..5db613bc3ebe5 100644 --- a/pkgs/applications/audio/mopidy/ytmusic.nix +++ b/pkgs/applications/audio/mopidy/ytmusic.nix @@ -1,12 +1,14 @@ -{ lib -, python3 -, fetchFromGitHub -, mopidy +{ + lib, + python3, + fetchFromGitHub, + mopidy, }: let python = python3; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "mopidy-ytmusic"; version = "0.3.9"; pyproject = true; diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index f18469f565885..1d4c619fb3491 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, pkg-config -, libOnly ? false # whether to build only the library -, withAlsa ? stdenv.hostPlatform.isLinux -, alsa-lib -, withPulse ? stdenv.hostPlatform.isLinux -, libpulseaudio -, withCoreAudio ? stdenv.hostPlatform.isDarwin -, AudioUnit -, AudioToolbox -, withJack ? stdenv.hostPlatform.isUnix -, jack -, withConplay ? !stdenv.hostPlatform.isWindows -, perl -, writeScript +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + libOnly ? false, # whether to build only the library + withAlsa ? stdenv.hostPlatform.isLinux, + alsa-lib, + withPulse ? stdenv.hostPlatform.isLinux, + libpulseaudio, + withCoreAudio ? stdenv.hostPlatform.isDarwin, + AudioUnit, + AudioToolbox, + withJack ? stdenv.hostPlatform.isUnix, + jack, + withConplay ? !stdenv.hostPlatform.isWindows, + perl, + writeScript, }: assert withConplay -> !libOnly; @@ -29,30 +30,40 @@ stdenv.mkDerivation rec { hash = "sha256-/u4TdMeVQODkBd8LxF/eIK1nARQlw2GidZ4hRolKJ6c="; }; - outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay"; + outputs = [ + "out" + "dev" + "man" + ] ++ lib.optional withConplay "conplay"; nativeBuildInputs = lib.optionals (!libOnly) ( - lib.optionals withConplay [ makeWrapper ] - ++ lib.optionals (withPulse || withJack) [ pkg-config ] + lib.optionals withConplay [ makeWrapper ] ++ lib.optionals (withPulse || withJack) [ pkg-config ] ); buildInputs = lib.optionals (!libOnly) ( lib.optionals withConplay [ perl ] ++ lib.optionals withAlsa [ alsa-lib ] ++ lib.optionals withPulse [ libpulseaudio ] - ++ lib.optionals withCoreAudio [ AudioUnit AudioToolbox ] + ++ lib.optionals withCoreAudio [ + AudioUnit + AudioToolbox + ] ++ lib.optionals withJack [ jack ] ); - configureFlags = lib.optionals (!libOnly) [ - "--with-audio=${lib.strings.concatStringsSep "," ( - lib.optional withJack "jack" - ++ lib.optional withPulse "pulse" - ++ lib.optional withAlsa "alsa" - ++ lib.optional withCoreAudio "coreaudio" - ++ [ "dummy" ] - )}" - ] ++ lib.optional (stdenv.hostPlatform ? mpg123) "--with-cpu=${stdenv.hostPlatform.mpg123.cpu}"; + configureFlags = + lib.optionals (!libOnly) [ + "--with-audio=${ + lib.strings.concatStringsSep "," ( + lib.optional withJack "jack" + ++ lib.optional withPulse "pulse" + ++ lib.optional withAlsa "alsa" + ++ lib.optional withCoreAudio "coreaudio" + ++ [ "dummy" ] + ) + }" + ] + ++ lib.optional (stdenv.hostPlatform ? mpg123) "--with-cpu=${stdenv.hostPlatform.mpg123.cpu}"; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/munt/libmt32emu.nix b/pkgs/applications/audio/munt/libmt32emu.nix index c8a9263b7501f..31db8595ca103 100644 --- a/pkgs/applications/audio/munt/libmt32emu.nix +++ b/pkgs/applications/audio/munt/libmt32emu.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-zY1AFcm8uvFkrKUZHsqtKY2CYTY4bWmkTJ7bZPqXoxk="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/applications/audio/munt/mt32emu-qt.nix b/pkgs/applications/audio/munt/mt32emu-qt.nix index e84ad492c488e..0a75f0620383c 100644 --- a/pkgs/applications/audio/munt/mt32emu-qt.nix +++ b/pkgs/applications/audio/munt/mt32emu-qt.nix @@ -1,16 +1,18 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, alsa-lib -, cmake -, libpulseaudio -, libmt32emu -, pkg-config -, portaudio -, qtbase -, qtmultimedia -, withJack ? stdenv.hostPlatform.isUnix, libjack2 +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + alsa-lib, + cmake, + libpulseaudio, + libmt32emu, + pkg-config, + portaudio, + qtbase, + qtmultimedia, + withJack ? stdenv.hostPlatform.isUnix, + libjack2, }: let @@ -36,17 +38,18 @@ mkDerivation rec { pkg-config ]; - buildInputs = [ - libmt32emu - portaudio - qtbase - qtmultimedia - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - libpulseaudio - ] - ++ lib.optional withJack libjack2; + buildInputs = + [ + libmt32emu + portaudio + qtbase + qtmultimedia + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libpulseaudio + ] + ++ lib.optional withJack libjack2; dontFixCmake = true; diff --git a/pkgs/applications/audio/munt/mt32emu-smf2wav.nix b/pkgs/applications/audio/munt/mt32emu-smf2wav.nix index 3ebadcca91bec..0b1010be1893f 100644 --- a/pkgs/applications/audio/munt/mt32emu-smf2wav.nix +++ b/pkgs/applications/audio/munt/mt32emu-smf2wav.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, glib -, libmt32emu -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + glib, + libmt32emu, + pkg-config, }: let diff --git a/pkgs/applications/audio/mup/default.nix b/pkgs/applications/audio/mup/default.nix index 8f1d5c38b341c..b879b7c14c0cb 100644 --- a/pkgs/applications/audio/mup/default.nix +++ b/pkgs/applications/audio/mup/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, autoreconfHook, bison, flex, ghostscript, groff, netpbm -, fltk, libXinerama, libXpm, libjpeg +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + bison, + flex, + ghostscript, + groff, + netpbm, + fltk, + libXinerama, + libXpm, + libjpeg, }: stdenv.mkDerivation rec { @@ -7,13 +19,27 @@ stdenv.mkDerivation rec { version = "6.8"; src = fetchurl { - url = "http://www.arkkra.com/ftp/pub/unix/mup${builtins.replaceStrings ["."] [""] version}src.tar.gz"; + url = "http://www.arkkra.com/ftp/pub/unix/mup${ + builtins.replaceStrings [ "." ] [ "" ] version + }src.tar.gz"; sha256 = "06bv5nyl8rcibyb83zzrfdq6x6f93g3rgnv47i5gsjcaw5w6l31y"; }; - nativeBuildInputs = [ autoreconfHook bison flex ghostscript groff netpbm ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + ghostscript + groff + netpbm + ]; - buildInputs = [ fltk libXinerama libXpm libjpeg ]; + buildInputs = [ + fltk + libXinerama + libXpm + libjpeg + ]; patches = [ ./ghostscript-permit-file-write.patch ]; diff --git a/pkgs/applications/audio/muse/default.nix b/pkgs/applications/audio/muse/default.nix index d5f32097250b0..5bf3612596b2b 100644 --- a/pkgs/applications/audio/muse/default.nix +++ b/pkgs/applications/audio/muse/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, pkg-config -, qttools -, wrapQtAppsHook -, alsa-lib -, dssi -, fluidsynth -, ladspaH -, lash -, libinstpatch -, libjack2 -, liblo -, libsamplerate -, libsndfile -, lilv -, lrdf -, lv2 -, qtsvg -, rtaudio -, rubberband -, sord -, serd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + pkg-config, + qttools, + wrapQtAppsHook, + alsa-lib, + dssi, + fluidsynth, + ladspaH, + lash, + libinstpatch, + libjack2, + liblo, + libsamplerate, + libsndfile, + lilv, + lrdf, + lv2, + qtsvg, + rtaudio, + rubberband, + sord, + serd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix index 8ce689018e253..b36d146a7d433 100644 --- a/pkgs/applications/audio/musescore/default.nix +++ b/pkgs/applications/audio/musescore/default.nix @@ -1,37 +1,38 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, wrapGAppsHook3 -, wrapQtAppsHook -, pkg-config -, ninja -, alsa-lib -, alsa-plugins -, freetype -, libjack2 -, lame -, libogg -, libpulseaudio -, libsndfile -, libvorbis -, portaudio -, portmidi -, qtbase -, qtdeclarative -, flac -, libopusenc -, libopus -, tinyxml-2 -, qt5compat -, qtwayland -, qtsvg -, qtscxml -, qtnetworkauth -, qttools -, nixosTests -, apple-sdk_11 +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + wrapGAppsHook3, + wrapQtAppsHook, + pkg-config, + ninja, + alsa-lib, + alsa-plugins, + freetype, + libjack2, + lame, + libogg, + libpulseaudio, + libsndfile, + libvorbis, + portaudio, + portmidi, + qtbase, + qtdeclarative, + flac, + libopusenc, + libopus, + tinyxml-2, + qt5compat, + qtwayland, + qtsvg, + qtscxml, + qtnetworkauth, + qttools, + nixosTests, + apple-sdk_11, }: stdenv.mkDerivation (finalAttrs: { @@ -65,16 +66,21 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "MUSE_ENABLE_UNIT_TESTS" finalAttrs.finalPackage.doCheck) ]; - qtWrapperArgs = [ - # MuseScore JACK backend loads libjack at runtime. - "--prefix ${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ - "--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # There are some issues with using the wayland backend, see: - # https://musescore.org/en/node/321936 - "--set-default QT_QPA_PLATFORM xcb" - ]; + qtWrapperArgs = + [ + # MuseScore JACK backend loads libjack at runtime. + "--prefix ${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ libjack2 ] + }" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + "--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # There are some issues with using the wayland backend, see: + # https://musescore.org/en/node/321936 + "--set-default QT_QPA_PLATFORM xcb" + ]; preFixup = '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") @@ -82,54 +88,61 @@ stdenv.mkDerivation (finalAttrs: { dontWrapGApps = true; - nativeBuildInputs = [ - wrapQtAppsHook - cmake - qttools - pkg-config - ninja - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # Since https://github.com/musescore/MuseScore/pull/13847/commits/685ac998 - # GTK3 is needed for file dialogs. Fixes crash with No GSettings schemas error. - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + wrapQtAppsHook + cmake + qttools + pkg-config + ninja + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # Since https://github.com/musescore/MuseScore/pull/13847/commits/685ac998 + # GTK3 is needed for file dialogs. Fixes crash with No GSettings schemas error. + wrapGAppsHook3 + ]; - buildInputs = [ - libjack2 - freetype - lame - libogg - libpulseaudio - libsndfile - libvorbis - portaudio - portmidi - flac - libopusenc - libopus - tinyxml-2 - qtbase - qtdeclarative - qt5compat - qtsvg - qtscxml - qtnetworkauth - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - qtwayland - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - ]; + buildInputs = + [ + libjack2 + freetype + lame + libogg + libpulseaudio + libsndfile + libvorbis + portaudio + portmidi + flac + libopusenc + libopus + tinyxml-2 + qtbase + qtdeclarative + qt5compat + qtsvg + qtscxml + qtnetworkauth + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + qtwayland + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + ]; - postInstall = '' - # Remove unneeded bundled libraries and headers - rm -r $out/{include,lib} - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p "$out/Applications" - mv "$out/mscore.app" "$out/Applications/mscore.app" - mkdir -p $out/bin - ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore - ''; + postInstall = + '' + # Remove unneeded bundled libraries and headers + rm -r $out/{include,lib} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$out/Applications" + mv "$out/mscore.app" "$out/Applications/mscore.app" + mkdir -p $out/bin + ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore + ''; # muse-sounds-manager installs Muse Sounds sampler libMuseSamplerCoreLib.so. # It requires that argv0 of the calling process ends with "/mscore" or "/MuseScore-4". @@ -163,7 +176,11 @@ stdenv.mkDerivation (finalAttrs: { description = "Music notation and composition software"; homepage = "https://musescore.org/"; license = licenses.gpl3Only; - maintainers = with maintainers; [ vandenoever doronbehar orivej ]; + maintainers = with maintainers; [ + vandenoever + doronbehar + orivej + ]; mainProgram = "mscore"; platforms = platforms.unix; }; diff --git a/pkgs/applications/audio/muso/default.nix b/pkgs/applications/audio/muso/default.nix index 97d897d5fcb39..0623754cfa184 100644 --- a/pkgs/applications/audio/muso/default.nix +++ b/pkgs/applications/audio/muso/default.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform -, pkg-config, wrapGAppsHook3, CoreServices +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + wrapGAppsHook3, + CoreServices, }: rustPlatform.buildRustPackage rec { @@ -13,7 +19,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-09DWUER0ZWQuwfE3sjov2GjJNI7coE3D3E5iUy9mlSE="; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin CoreServices; preConfigure = '' diff --git a/pkgs/applications/audio/non/default.nix b/pkgs/applications/audio/non/default.nix index bd4c83742930e..28ce729667e3d 100644 --- a/pkgs/applications/audio/non/default.nix +++ b/pkgs/applications/audio/non/default.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, python3, cairo, libjpeg, ntk, libjack2 -, libsndfile, ladspaH, liblo, libsigcxx, lrdf, wafHook +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + python3, + cairo, + libjpeg, + ntk, + libjack2, + libsndfile, + ladspaH, + liblo, + libsigcxx, + lrdf, + wafHook, }: stdenv.mkDerivation { @@ -12,9 +26,21 @@ stdenv.mkDerivation { sha256 = "sha256-iMJNMDytNXpEkUhL0RILSd25ixkm8HL/edtOZta0Pf4="; }; - nativeBuildInputs = [ pkg-config wafHook ]; - buildInputs = [ python3 cairo libjpeg ntk libjack2 libsndfile - ladspaH liblo libsigcxx lrdf + nativeBuildInputs = [ + pkg-config + wafHook + ]; + buildInputs = [ + python3 + cairo + libjpeg + ntk + libjack2 + libsndfile + ladspaH + liblo + libsigcxx + lrdf ]; # NOTE: non provides its own waf script that is incompatible with new diff --git a/pkgs/applications/audio/nootka/default.nix b/pkgs/applications/audio/nootka/default.nix index a52c5bb98176a..88a5ed0c43015 100644 --- a/pkgs/applications/audio/nootka/default.nix +++ b/pkgs/applications/audio/nootka/default.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, fetchurl, cmake -, alsa-lib, fftwSinglePrec, libjack2, libpulseaudio, libvorbis, soundtouch -, qtbase, qtdeclarative, qtgraphicaleffects, qtquickcontrols2, qttools, wrapQtAppsHook +{ + lib, + stdenv, + fetchurl, + cmake, + alsa-lib, + fftwSinglePrec, + libjack2, + libpulseaudio, + libvorbis, + soundtouch, + qtbase, + qtdeclarative, + qtgraphicaleffects, + qtquickcontrols2, + qttools, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -12,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-ZHdyLZ3+TCpQ77tcNuDlN2124qLDZu9DdH5x7RI1HIs="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ alsa-lib fftwSinglePrec @@ -38,7 +55,10 @@ stdenv.mkDerivation rec { mainProgram = "nootka"; homepage = "https://nootka.sourceforge.io/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ mmlb orivej ]; + maintainers = with maintainers; [ + mmlb + orivej + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/noson/default.nix b/pkgs/applications/audio/noson/default.nix index bf2c115758c48..0ab89c1085241 100644 --- a/pkgs/applications/audio/noson/default.nix +++ b/pkgs/applications/audio/noson/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, flac -, libpulseaudio -, qtbase -, qtgraphicaleffects -, qtquickcontrols2 -, wrapQtAppsHook -, makeWrapper +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + flac, + libpulseaudio, + qtbase, + qtgraphicaleffects, + qtquickcontrols2, + wrapQtAppsHook, + makeWrapper, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/audio/open-music-kontrollers/eteroj.nix b/pkgs/applications/audio/open-music-kontrollers/eteroj.nix index 60de97ca3d0de..6076a8ff2f792 100644 --- a/pkgs/applications/audio/open-music-kontrollers/eteroj.nix +++ b/pkgs/applications/audio/open-music-kontrollers/eteroj.nix @@ -1,10 +1,13 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // rec { - pname = "eteroj"; - version = "0.10.0"; +callPackage ./generic.nix ( + args + // rec { + pname = "eteroj"; + version = "0.10.0"; - sha256 = "18iv1sdwm0g6b53shsylj6bf3svmvvy5xadhfsgb4xg39qr07djz"; + sha256 = "18iv1sdwm0g6b53shsylj6bf3svmvvy5xadhfsgb4xg39qr07djz"; - description = "OSC injection/ejection from/to UDP/TCP/Serial for LV2"; -}) + description = "OSC injection/ejection from/to UDP/TCP/Serial for LV2"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/generic.nix b/pkgs/applications/audio/open-music-kontrollers/generic.nix index 4c4211e49f0ae..9d07272720aca 100644 --- a/pkgs/applications/audio/open-music-kontrollers/generic.nix +++ b/pkgs/applications/audio/open-music-kontrollers/generic.nix @@ -1,9 +1,24 @@ -{ stdenv, lib, fetchurl, pkg-config, meson, ninja, lv2, sord, libX11, libXext, glew, lv2lint -, pname, version, sha256, description -, url ? "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-${version}.tar.xz" -, additionalBuildInputs ? [] -, postPatch ? "" -, ... +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + lv2, + sord, + libX11, + libXext, + glew, + lv2lint, + pname, + version, + sha256, + description, + url ? "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-${version}.tar.xz", + additionalBuildInputs ? [ ], + postPatch ? "", + ... }: stdenv.mkDerivation { @@ -17,7 +32,11 @@ stdenv.mkDerivation { url = url; sha256 = sha256; }; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; buildInputs = [ lv2 sord diff --git a/pkgs/applications/audio/open-music-kontrollers/jit.nix b/pkgs/applications/audio/open-music-kontrollers/jit.nix index b82b12385ea3c..ff6b4f46a9ddd 100644 --- a/pkgs/applications/audio/open-music-kontrollers/jit.nix +++ b/pkgs/applications/audio/open-music-kontrollers/jit.nix @@ -1,12 +1,25 @@ -{ callPackage, lv2, fontconfig, libvterm-neovim, ... } @ args: +{ + callPackage, + lv2, + fontconfig, + libvterm-neovim, + ... +}@args: -callPackage ./generic.nix (args // rec { - pname = "jit"; - version = "unstable-2021-08-15"; - url = "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-1f5d6935049fc0dd5a4dc257b84b36d2048f2d83.tar.xz"; - sha256 = "sha256-XGICowVb0JgLJpn2h9GtViobYTdmo1LJ7/JFEyVsIqU="; +callPackage ./generic.nix ( + args + // rec { + pname = "jit"; + version = "unstable-2021-08-15"; + url = "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-1f5d6935049fc0dd5a4dc257b84b36d2048f2d83.tar.xz"; + sha256 = "sha256-XGICowVb0JgLJpn2h9GtViobYTdmo1LJ7/JFEyVsIqU="; - additionalBuildInputs = [ lv2 fontconfig libvterm-neovim ]; + additionalBuildInputs = [ + lv2 + fontconfig + libvterm-neovim + ]; - description = "Just-in-Time C/Rust compiler embedded in an LV2 plugin"; -}) + description = "Just-in-Time C/Rust compiler embedded in an LV2 plugin"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/mephisto.nix b/pkgs/applications/audio/open-music-kontrollers/mephisto.nix index e63c2fb7325c2..f64577d53e75c 100644 --- a/pkgs/applications/audio/open-music-kontrollers/mephisto.nix +++ b/pkgs/applications/audio/open-music-kontrollers/mephisto.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromSourcehut -, pkg-config -, cmake -, meson -, ninja -, faust -, fontconfig -, glew -, libvterm-neovim -, lv2 -, lv2lint -, sord -, xorg +{ + stdenv, + lib, + fetchFromSourcehut, + pkg-config, + cmake, + meson, + ninja, + faust, + fontconfig, + glew, + libvterm-neovim, + lv2, + lv2lint, + sord, + xorg, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ab6OGt1XVgynKNdszzdXwJ/jVKJSzgSmAv6j1U3/va0="; }; - nativeBuildInputs = [ pkg-config meson ninja fontconfig cmake ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + fontconfig + cmake + ]; buildInputs = [ faust diff --git a/pkgs/applications/audio/open-music-kontrollers/midi_matrix.nix b/pkgs/applications/audio/open-music-kontrollers/midi_matrix.nix index 7da92eb45b18e..7185ef1785851 100644 --- a/pkgs/applications/audio/open-music-kontrollers/midi_matrix.nix +++ b/pkgs/applications/audio/open-music-kontrollers/midi_matrix.nix @@ -1,10 +1,13 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // rec { - pname = "midi_matrix"; - version = "0.30.0"; +callPackage ./generic.nix ( + args + // rec { + pname = "midi_matrix"; + version = "0.30.0"; - sha256 = "1nwmfxdzk4pvbwcgi3d7v4flqc10bmi2fxhrhrpfa7cafqs40ib6"; + sha256 = "1nwmfxdzk4pvbwcgi3d7v4flqc10bmi2fxhrhrpfa7cafqs40ib6"; - description = "LV2 MIDI channel matrix patcher"; -}) + description = "LV2 MIDI channel matrix patcher"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/moony.nix b/pkgs/applications/audio/open-music-kontrollers/moony.nix index 6087e05537652..d2eda0a202b7d 100644 --- a/pkgs/applications/audio/open-music-kontrollers/moony.nix +++ b/pkgs/applications/audio/open-music-kontrollers/moony.nix @@ -1,13 +1,28 @@ -{ callPackage, cairo, libvterm-neovim, robodoc, cmake, ... } @ args: +{ + callPackage, + cairo, + libvterm-neovim, + robodoc, + cmake, + ... +}@args: -callPackage ./generic.nix (args // rec { - pname = "moony"; - version = "0.40.0"; +callPackage ./generic.nix ( + args + // rec { + pname = "moony"; + version = "0.40.0"; - sha256 = "sha256-9a3gR3lV8xFFTDZD+fJPCALVztgmggzyIpsPZCOw/uY="; + sha256 = "sha256-9a3gR3lV8xFFTDZD+fJPCALVztgmggzyIpsPZCOw/uY="; - additionalBuildInputs = [ cairo libvterm-neovim robodoc cmake ]; + additionalBuildInputs = [ + cairo + libvterm-neovim + robodoc + cmake + ]; - description = "Realtime Lua as programmable glue in LV2"; + description = "Realtime Lua as programmable glue in LV2"; -}) + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/orbit.nix b/pkgs/applications/audio/open-music-kontrollers/orbit.nix index 21fdf44b24c04..be7d0b5844d99 100644 --- a/pkgs/applications/audio/open-music-kontrollers/orbit.nix +++ b/pkgs/applications/audio/open-music-kontrollers/orbit.nix @@ -1,12 +1,15 @@ -{ callPackage, zlib, ... } @ args: +{ callPackage, zlib, ... }@args: -callPackage ./generic.nix (args // rec { - pname = "orbit"; - version = "unstable-2021-04-13"; - url = "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-f4aa620fc8d77418856581a6a955192af15b3860.tar.xz"; - sha256 = "0z8d8h2w8fb2zx84n697jvy32dc0vf60jyiyh4gm22prgr2dvgkc"; +callPackage ./generic.nix ( + args + // rec { + pname = "orbit"; + version = "unstable-2021-04-13"; + url = "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-f4aa620fc8d77418856581a6a955192af15b3860.tar.xz"; + sha256 = "0z8d8h2w8fb2zx84n697jvy32dc0vf60jyiyh4gm22prgr2dvgkc"; - additionalBuildInputs = [ zlib ]; + additionalBuildInputs = [ zlib ]; - description = "LV2 time event manipulation plugin bundle"; -}) + description = "LV2 time event manipulation plugin bundle"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/patchmatrix.nix b/pkgs/applications/audio/open-music-kontrollers/patchmatrix.nix index 39b68ba3a577c..0e550c60b2b07 100644 --- a/pkgs/applications/audio/open-music-kontrollers/patchmatrix.nix +++ b/pkgs/applications/audio/open-music-kontrollers/patchmatrix.nix @@ -1,13 +1,16 @@ -{ callPackage, libjack2, ... } @ args: +{ callPackage, libjack2, ... }@args: -callPackage ./generic.nix (args // rec { - pname = "patchmatrix"; - version = "0.26.0"; +callPackage ./generic.nix ( + args + // rec { + pname = "patchmatrix"; + version = "0.26.0"; - url = "https://git.open-music-kontrollers.ch/lad/${pname}/snapshot/${pname}-${version}.tar.xz"; - sha256 = "sha256-cqPHCnrAhHB6a0xmPUYOAsZfLsqnGpXEuGR1W6i6W7I="; + url = "https://git.open-music-kontrollers.ch/lad/${pname}/snapshot/${pname}-${version}.tar.xz"; + sha256 = "sha256-cqPHCnrAhHB6a0xmPUYOAsZfLsqnGpXEuGR1W6i6W7I="; - additionalBuildInputs = [ libjack2 ]; + additionalBuildInputs = [ libjack2 ]; - description = "JACK patchbay in flow matrix style"; -}) + description = "JACK patchbay in flow matrix style"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/router.nix b/pkgs/applications/audio/open-music-kontrollers/router.nix index b7e734db2803c..b9037d2ed78bc 100644 --- a/pkgs/applications/audio/open-music-kontrollers/router.nix +++ b/pkgs/applications/audio/open-music-kontrollers/router.nix @@ -1,11 +1,14 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // rec { - pname = "router"; - version = "unstable-2021-04-13"; +callPackage ./generic.nix ( + args + // rec { + pname = "router"; + version = "unstable-2021-04-13"; - url = "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-7d754dd64c540d40b828166401617715dc235ca3.tar.xz"; - sha256 = "sha256-LjaW5Xdxfjzd6IJ2ptHzmHt7fhU1HQo7ubZ4USVqRE8="; + url = "https://git.open-music-kontrollers.ch/lv2/${pname}.lv2/snapshot/${pname}.lv2-7d754dd64c540d40b828166401617715dc235ca3.tar.xz"; + sha256 = "sha256-LjaW5Xdxfjzd6IJ2ptHzmHt7fhU1HQo7ubZ4USVqRE8="; - description = "Atom/Audio/CV router LV2 plugin bundle"; -}) + description = "Atom/Audio/CV router LV2 plugin bundle"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/sherlock.nix b/pkgs/applications/audio/open-music-kontrollers/sherlock.nix index c8ae0afd09a75..0a79951cd9dd5 100644 --- a/pkgs/applications/audio/open-music-kontrollers/sherlock.nix +++ b/pkgs/applications/audio/open-music-kontrollers/sherlock.nix @@ -1,12 +1,23 @@ -{ callPackage, sratom, flex, ... } @ args: +{ + callPackage, + sratom, + flex, + ... +}@args: -callPackage ./generic.nix (args // rec { - pname = "sherlock"; - version = "0.28.0"; +callPackage ./generic.nix ( + args + // rec { + pname = "sherlock"; + version = "0.28.0"; - sha256 = "07zj88s1593fpw2s0r3ix7cj2icfd9zyirsyhr2i8l6d30b6n6fb"; + sha256 = "07zj88s1593fpw2s0r3ix7cj2icfd9zyirsyhr2i8l6d30b6n6fb"; - additionalBuildInputs = [ sratom flex ]; + additionalBuildInputs = [ + sratom + flex + ]; - description = "Plugins for visualizing LV2 atom, MIDI and OSC events"; -}) + description = "Plugins for visualizing LV2 atom, MIDI and OSC events"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/synthpod.nix b/pkgs/applications/audio/open-music-kontrollers/synthpod.nix index 9b7964e839bf7..e513a2f61bbde 100644 --- a/pkgs/applications/audio/open-music-kontrollers/synthpod.nix +++ b/pkgs/applications/audio/open-music-kontrollers/synthpod.nix @@ -1,13 +1,45 @@ -{ callPackage, lilv, libjack2, alsa-lib, zita-alsa-pcmi, libxcb, xcbutilxrm, sratom, gtk2, qt5, libvterm-neovim, robodoc, cmake,... } @ args: +{ + callPackage, + lilv, + libjack2, + alsa-lib, + zita-alsa-pcmi, + libxcb, + xcbutilxrm, + sratom, + gtk2, + qt5, + libvterm-neovim, + robodoc, + cmake, + ... +}@args: -callPackage ./generic.nix (args // rec { - pname = "synthpod"; - version = "unstable-2021-10-22"; +callPackage ./generic.nix ( + args + // rec { + pname = "synthpod"; + version = "unstable-2021-10-22"; - url = "https://git.open-music-kontrollers.ch/lv2/synthpod/snapshot/synthpod-6f284bdad882037a522c120af92b96d8abf2de60.tar.xz"; - sha256 = "sha256-59WBlOKum5Pcmq2CfFfRHCNEa8uPCoBk0kSjFlIcypw="; + url = "https://git.open-music-kontrollers.ch/lv2/synthpod/snapshot/synthpod-6f284bdad882037a522c120af92b96d8abf2de60.tar.xz"; + sha256 = "sha256-59WBlOKum5Pcmq2CfFfRHCNEa8uPCoBk0kSjFlIcypw="; - additionalBuildInputs = [ lilv libjack2 alsa-lib zita-alsa-pcmi libxcb xcbutilxrm sratom gtk2 qt5.qtbase qt5.wrapQtAppsHook libvterm-neovim robodoc cmake ]; + additionalBuildInputs = [ + lilv + libjack2 + alsa-lib + zita-alsa-pcmi + libxcb + xcbutilxrm + sratom + gtk2 + qt5.qtbase + qt5.wrapQtAppsHook + libvterm-neovim + robodoc + cmake + ]; - description = "Lightweight Nonlinear LV2 Plugin Container"; -}) + description = "Lightweight Nonlinear LV2 Plugin Container"; + } +) diff --git a/pkgs/applications/audio/open-music-kontrollers/vm.nix b/pkgs/applications/audio/open-music-kontrollers/vm.nix index c35da5bf36364..79f8144f54c6b 100644 --- a/pkgs/applications/audio/open-music-kontrollers/vm.nix +++ b/pkgs/applications/audio/open-music-kontrollers/vm.nix @@ -1,10 +1,13 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // rec { - pname = "vm"; - version = "0.14.0"; +callPackage ./generic.nix ( + args + // rec { + pname = "vm"; + version = "0.14.0"; - sha256 = "013gq7jn556nkk1nq6zzh9nmp3fb36jd7ndzvyq3qryw7khzkagc"; + sha256 = "013gq7jn556nkk1nq6zzh9nmp3fb36jd7ndzvyq3qryw7khzkagc"; - description = "Programmable virtual machine LV2 plugin"; -}) + description = "Programmable virtual machine LV2 plugin"; + } +) diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix index f51a3f69a2c5d..4254b53bbd919 100644 --- a/pkgs/applications/audio/padthv1/default.nix +++ b/pkgs/applications/audio/padthv1/default.nix @@ -1,4 +1,16 @@ -{ lib, fetchurl, pkg-config, libjack2, alsa-lib, libsndfile, liblo, lv2, qt5, fftwFloat, mkDerivation }: +{ + lib, + fetchurl, + pkg-config, + libjack2, + alsa-lib, + libsndfile, + liblo, + lv2, + qt5, + fftwFloat, + mkDerivation, +}: mkDerivation rec { pname = "padthv1"; @@ -9,7 +21,16 @@ mkDerivation rec { sha256 = "sha256-9yFfvlskOYnGraou2S3Qffl8RoYJqE0wnDlOP8mxQgg="; }; - buildInputs = [ libjack2 alsa-lib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftwFloat ]; + buildInputs = [ + libjack2 + alsa-lib + libsndfile + liblo + lv2 + qt5.qtbase + qt5.qttools + fftwFloat + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/parrot/default.nix b/pkgs/applications/audio/parrot/default.nix index d7da9213bce85..c34bd7649b13b 100644 --- a/pkgs/applications/audio/parrot/default.nix +++ b/pkgs/applications/audio/parrot/default.nix @@ -1,16 +1,17 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake -, ffmpeg -, libopus -, makeBinaryWrapper -, unstableGitUpdater -, openssl -, pkg-config -, stdenv -, yt-dlp -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + ffmpeg, + libopus, + makeBinaryWrapper, + unstableGitUpdater, + openssl, + pkg-config, + stdenv, + yt-dlp, + Security, }: rustPlatform.buildRustPackage { pname = "parrot"; @@ -25,14 +26,25 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-3G7NwSZaiocjgfdtmJVWfMZOHCNhC08NgolPa9AvPfE="; - nativeBuildInputs = [ cmake makeBinaryWrapper pkg-config ]; + nativeBuildInputs = [ + cmake + makeBinaryWrapper + pkg-config + ]; - buildInputs = [ libopus openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + buildInputs = [ + libopus + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; postInstall = '' wrapProgram $out/bin/parrot \ - --prefix PATH : ${lib.makeBinPath [ ffmpeg yt-dlp ]} + --prefix PATH : ${ + lib.makeBinPath [ + ffmpeg + yt-dlp + ] + } ''; passthru.updateScript = unstableGitUpdater { diff --git a/pkgs/applications/audio/patchance/default.nix b/pkgs/applications/audio/patchance/default.nix index a1b39b1d78a3e..c527bc7037c2b 100644 --- a/pkgs/applications/audio/patchance/default.nix +++ b/pkgs/applications/audio/patchance/default.nix @@ -1,4 +1,13 @@ -{ lib, fetchurl, buildPythonApplication, libjack2, pyqt5, qt5, which, bash }: +{ + lib, + fetchurl, + buildPythonApplication, + libjack2, + pyqt5, + qt5, + which, + bash, +}: buildPythonApplication rec { pname = "patchance"; @@ -12,12 +21,15 @@ buildPythonApplication rec { format = "other"; nativeBuildInputs = [ - pyqt5 # pyuic5 and pyrcc5 to build resources. + pyqt5 # pyuic5 and pyrcc5 to build resources. qt5.qttools # lrelease to build translations. - which # which to find lrelease. + which # which to find lrelease. qt5.wrapQtAppsHook ]; - buildInputs = [ libjack2 bash ]; + buildInputs = [ + libjack2 + bash + ]; propagatedBuildInputs = [ pyqt5 ]; dontWrapQtApps = true; # The program is a python script. @@ -25,7 +37,10 @@ buildPythonApplication rec { installFlags = [ "PREFIX=$(out)" ]; makeWrapperArgs = [ - "--suffix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ libjack2 ]) + "--suffix" + "LD_LIBRARY_PATH" + ":" + (lib.makeLibraryPath [ libjack2 ]) ]; preFixup = '' diff --git a/pkgs/applications/audio/pd-plugins/timbreid/default.nix b/pkgs/applications/audio/pd-plugins/timbreid/default.nix index f3da39f15b33d..b11e6ffcdb55e 100644 --- a/pkgs/applications/audio/pd-plugins/timbreid/default.nix +++ b/pkgs/applications/audio/pd-plugins/timbreid/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, unzip, puredata, fftw }: +{ + lib, + stdenv, + fetchurl, + unzip, + puredata, + fftw, +}: stdenv.mkDerivation rec { version = "0.7.0"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ unzip ]; - buildInputs = [ puredata fftw ]; + buildInputs = [ + puredata + fftw + ]; unpackPhase = '' mkdir source @@ -20,7 +30,7 @@ stdenv.mkDerivation rec { buildPhase = '' make tIDLib.o all - ''; + ''; installPhase = '' mkdir -p $out/ @@ -34,7 +44,7 @@ stdenv.mkDerivation rec { postFixup = '' mv $out/share/doc/ $out/ rm -rf $out/share/ - ''; + ''; meta = { description = "Collection of audio feature analysis externals for puredata"; diff --git a/pkgs/applications/audio/pd-plugins/zexy/default.nix b/pkgs/applications/audio/pd-plugins/zexy/default.nix index 3e5285fbba406..642ccee603b80 100644 --- a/pkgs/applications/audio/pd-plugins/zexy/default.nix +++ b/pkgs/applications/audio/pd-plugins/zexy/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoconf, automake, puredata }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + puredata, +}: stdenv.mkDerivation rec { pname = "zexy"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp"; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ puredata ]; preBuild = '' diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix index e8298ea321c39..de8d4dc7920f2 100644 --- a/pkgs/applications/audio/petrifoo/default.nix +++ b/pkgs/applications/audio/petrifoo/default.nix @@ -1,13 +1,28 @@ -{ lib, stdenv, fetchurl, fetchpatch, alsa-lib, cmake, gtk2, libjack2, libgnomecanvas -, libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2 -, pkg-config, openssl }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + alsa-lib, + cmake, + gtk2, + libjack2, + libgnomecanvas, + libpthreadstubs, + libsamplerate, + libsndfile, + libtool, + libxml2, + pkg-config, + openssl, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "petri-foo"; version = "0.1.87"; src = fetchurl { - url = "mirror://sourceforge/petri-foo/${pname}-${version}.tar.bz2"; + url = "mirror://sourceforge/petri-foo/${pname}-${version}.tar.bz2"; sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh"; }; @@ -21,10 +36,23 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ alsa-lib gtk2 libjack2 libgnomecanvas libpthreadstubs - libsamplerate libsndfile libtool libxml2 openssl ]; + buildInputs = [ + alsa-lib + gtk2 + libjack2 + libgnomecanvas + libpthreadstubs + libsamplerate + libsndfile + libtool + libxml2 + openssl + ]; meta = with lib; { description = "MIDI controllable audio sampler"; diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix index 216ca845f1fa1..3ec19cf487dc5 100644 --- a/pkgs/applications/audio/pianobooster/default.nix +++ b/pkgs/applications/audio/pianobooster/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, qttools -, alsa-lib -, ftgl -, libGLU -, qtbase -, rtmidi -, libjack2 -, fluidsynth -, soundfont-fluid -, unzip -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + qttools, + alsa-lib, + ftgl, + libGLU, + qtbase, + rtmidi, + libjack2, + fluidsynth, + soundfont-fluid, + unzip, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/pipecontrol/default.nix b/pkgs/applications/audio/pipecontrol/default.nix index 4bed5cb25037e..63b8160868f8a 100644 --- a/pkgs/applications/audio/pipecontrol/default.nix +++ b/pkgs/applications/audio/pipecontrol/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, pipewire -, cmake -, extra-cmake-modules -, wrapQtAppsHook -, qtbase -, qttools -, kirigami2 -, kcoreaddons -, ki18n -, qtquickcontrols2 +{ + lib, + stdenv, + fetchFromGitHub, + pipewire, + cmake, + extra-cmake-modules, + wrapQtAppsHook, + qtbase, + qttools, + kirigami2, + kcoreaddons, + ki18n, + qtquickcontrols2, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix index a9ea4096859c7..dd3473c069b4d 100644 --- a/pkgs/applications/audio/pithos/default.nix +++ b/pkgs/applications/audio/pithos/default.nix @@ -1,6 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, appstream-glib, glib -, wrapGAppsHook3, pythonPackages, gtk3, adwaita-icon-theme, gobject-introspection -, libnotify, libsecret, gst_all_1 }: +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + appstream-glib, + glib, + wrapGAppsHook3, + pythonPackages, + gtk3, + adwaita-icon-theme, + gobject-introspection, + libnotify, + libsecret, + gst_all_1, +}: pythonPackages.buildPythonApplication rec { pname = "pithos"; @@ -8,7 +23,7 @@ pythonPackages.buildPythonApplication rec { src = fetchFromGitHub { owner = pname; - repo = pname; + repo = pname; rev = "refs/tags/${version}"; hash = "sha256-3j6IoMi30BQ8WHK4BxbsW+/3XZx7rBFd47EBENa2GiQ="; }; @@ -20,14 +35,36 @@ pythonPackages.buildPythonApplication rec { patchShebangs meson_post_install.py ''; - nativeBuildInputs = [ meson ninja pkg-config appstream-glib wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + appstream-glib + wrapGAppsHook3 + gobject-introspection + ]; - buildInputs = [ gtk3 libnotify libsecret glib ] - ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad ]); + buildInputs = + [ + gtk3 + libnotify + libsecret + glib + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + ]); propagatedBuildInputs = - [ adwaita-icon-theme ] ++ - (with pythonPackages; [ pygobject3 pylast ]); + [ adwaita-icon-theme ] + ++ (with pythonPackages; [ + pygobject3 + pylast + ]); meta = with lib; { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/applications/audio/playbar2/default.nix b/pkgs/applications/audio/playbar2/default.nix index dfbfb43e625c5..f698a39440a6f 100644 --- a/pkgs/applications/audio/playbar2/default.nix +++ b/pkgs/applications/audio/playbar2/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, cmake -, extra-cmake-modules -, plasma-framework -, kwindowsystem -, fetchFromGitHub +{ + lib, + stdenv, + cmake, + extra-cmake-modules, + plasma-framework, + kwindowsystem, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix index b11a35c25dc56..bd949f5de67ef 100644 --- a/pkgs/applications/audio/plexamp/default.nix +++ b/pkgs/applications/audio/plexamp/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, appimageTools, makeWrapper }: +{ + lib, + fetchurl, + appimageTools, + makeWrapper, +}: let pname = "plexamp"; @@ -35,7 +40,11 @@ appimageTools.wrapType2 { homepage = "https://plexamp.com/"; changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/76"; license = licenses.unfree; - maintainers = with maintainers; [ killercup redhawk synthetica ]; + maintainers = with maintainers; [ + killercup + redhawk + synthetica + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/audio/pocket-casts/default.nix b/pkgs/applications/audio/pocket-casts/default.nix index ca5d25dd6a732..b34c5eed3d016 100644 --- a/pkgs/applications/audio/pocket-casts/default.nix +++ b/pkgs/applications/audio/pocket-casts/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, electron +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + electron, }: buildNpmPackage rec { diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix index f7ca3d37793b6..09db5ad83393f 100644 --- a/pkgs/applications/audio/projectm/default.nix +++ b/pkgs/applications/audio/projectm/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, mkDerivation -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, SDL2 -, qtdeclarative -, libpulseaudio -, glm -, which +{ + stdenv, + mkDerivation, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + SDL2, + qtdeclarative, + libpulseaudio, + glm, + which, }: mkDerivation rec { @@ -40,16 +41,18 @@ mkDerivation rec { "--enable-sdl" ]; - fixupPhase = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - # NOTE: 2019-10-05: Upstream inserts the src path buring build into ELF rpath, so must delete it out - # upstream report: https://github.com/projectM-visualizer/projectm/issues/245 - for entry in $out/bin/* ; do - patchelf --set-rpath "$(patchelf --print-rpath $entry | tr ':' '\n' | grep -v 'src/libprojectM' | tr '\n' ':')" "$entry" - done - '' + '' - wrapQtApp $out/bin/projectM-pulseaudio - rm $out/bin/projectM-unittest - ''; + fixupPhase = + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + # NOTE: 2019-10-05: Upstream inserts the src path buring build into ELF rpath, so must delete it out + # upstream report: https://github.com/projectM-visualizer/projectm/issues/245 + for entry in $out/bin/* ; do + patchelf --set-rpath "$(patchelf --print-rpath $entry | tr ':' '\n' | grep -v 'src/libprojectM' | tr '\n' ':')" "$entry" + done + '' + + '' + wrapQtApp $out/bin/projectM-pulseaudio + rm $out/bin/projectM-unittest + ''; meta = { homepage = "https://github.com/projectM-visualizer/projectm"; diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix index 09ed89bb2ba21..415e1ce8425e1 100644 --- a/pkgs/applications/audio/puddletag/default.nix +++ b/pkgs/applications/audio/puddletag/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, fetchurl -, python3 -, qtbase -, qtwayland -, wrapQtAppsHook +{ + lib, + fetchFromGitHub, + fetchurl, + python3, + qtbase, + qtwayland, + wrapQtAppsHook, }: python3.pkgs.buildPythonApplication rec { @@ -77,7 +78,10 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "puddletag"; homepage = "https://docs.puddletag.net"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ peterhoeg dschrempf ]; + maintainers = with maintainers; [ + peterhoeg + dschrempf + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix index f4206cb0ea7cc..32eef50a10689 100644 --- a/pkgs/applications/audio/puredata/default.nix +++ b/pkgs/applications/audio/puredata/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, gettext -, makeWrapper -, alsa-lib -, libjack2 -, tk -, fftw -, portaudio +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gettext, + makeWrapper, + alsa-lib, + libjack2, + tk, + fftw, + portaudio, }: stdenv.mkDerivation rec { @@ -20,29 +21,39 @@ stdenv.mkDerivation rec { hash = "sha256-hcPUvTYgtAHntdWEeHoFIIKylMTE7us1g9dwnZP9BMI="; }; - nativeBuildInputs = [ autoreconfHook gettext makeWrapper ]; - - buildInputs = [ - fftw - libjack2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - portaudio + nativeBuildInputs = [ + autoreconfHook + gettext + makeWrapper ]; - configureFlags = [ - "--enable-universal" - "--enable-fftw" - "--enable-jack" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--enable-alsa" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--enable-portaudio" - "--without-local-portaudio" - "--disable-jack-framework" - "--with-wish=${tk}/bin/wish8.6" - ]; + buildInputs = + [ + fftw + libjack2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + portaudio + ]; + + configureFlags = + [ + "--enable-universal" + "--enable-fftw" + "--enable-jack" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--enable-alsa" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--enable-portaudio" + "--without-local-portaudio" + "--disable-jack-framework" + "--with-wish=${tk}/bin/wish8.6" + ]; postInstall = '' wrapProgram $out/bin/pd --prefix PATH : ${lib.makeBinPath [ tk ]} diff --git a/pkgs/applications/audio/puredata/wrapper.nix b/pkgs/applications/audio/puredata/wrapper.nix index 3444ef9acbdc1..526dd0f3da38a 100644 --- a/pkgs/applications/audio/puredata/wrapper.nix +++ b/pkgs/applications/audio/puredata/wrapper.nix @@ -1,8 +1,14 @@ -{ symlinkJoin, puredata, makeWrapper, plugins }: +{ + symlinkJoin, + puredata, + makeWrapper, + plugins, +}: let -puredataFlags = map (x: "-path ${x}/") plugins; -in symlinkJoin { + puredataFlags = map (x: "-path ${x}/") plugins; +in +symlinkJoin { name = "puredata-with-plugins-${puredata.version}"; paths = [ puredata ] ++ plugins; diff --git a/pkgs/applications/audio/qmidinet/default.nix b/pkgs/applications/audio/qmidinet/default.nix index f6985abfbe3f8..782ddc6132608 100644 --- a/pkgs/applications/audio/qmidinet/default.nix +++ b/pkgs/applications/audio/qmidinet/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchurl, pkg-config, qtbase, qttools, alsa-lib, libjack2 }: +{ + mkDerivation, + lib, + fetchurl, + pkg-config, + qtbase, + qttools, + alsa-lib, + libjack2, +}: mkDerivation rec { version = "0.9.4"; @@ -11,7 +20,12 @@ mkDerivation rec { hardeningDisable = [ "format" ]; - buildInputs = [ qtbase qttools alsa-lib libjack2 ]; + buildInputs = [ + qtbase + qttools + alsa-lib + libjack2 + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index 1496efd886ca9..407d44c785da2 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -1,15 +1,46 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config -, qtbase, qttools, qtmultimedia, wrapQtAppsHook -# transports -, curl, libmms -# input plugins -, libmad, taglib, libvorbis, libogg, flac, libmpcdec, libmodplug, libsndfile -, libcdio, cdparanoia, libcddb, faad2, ffmpeg, wildmidi, libbs2b, game-music-emu -, libarchive, opusfile, soxr, wavpack, libxmp, libsidplayfp -# output plugins -, alsa-lib, libpulseaudio, pipewire, libjack2 -# effect plugins -, libsamplerate +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + qtbase, + qttools, + qtmultimedia, + wrapQtAppsHook, + # transports + curl, + libmms, + # input plugins + libmad, + taglib, + libvorbis, + libogg, + flac, + libmpcdec, + libmodplug, + libsndfile, + libcdio, + cdparanoia, + libcddb, + faad2, + ffmpeg, + wildmidi, + libbs2b, + game-music-emu, + libarchive, + opusfile, + soxr, + wavpack, + libxmp, + libsidplayfp, + # output plugins + alsa-lib, + libpulseaudio, + pipewire, + libjack2, + # effect plugins + libsamplerate, }: # Additional plugins that can be added: @@ -33,22 +64,51 @@ stdenv.mkDerivation rec { hash = "sha256-hGphQ8epqym47C9doiSOQd3yc28XwV2UsNc7ivhaae4="; }; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; - - buildInputs = - [ # basic requirements - qtbase qttools qtmultimedia - # transports - curl libmms - # input plugins - libmad taglib libvorbis libogg flac libmpcdec libmodplug libsndfile - libcdio cdparanoia libcddb faad2 ffmpeg wildmidi libbs2b game-music-emu - libarchive opusfile soxr wavpack libxmp libsidplayfp - # output plugins - alsa-lib libpulseaudio pipewire libjack2 - # effect plugins - libsamplerate - ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; + + buildInputs = [ + # basic requirements + qtbase + qttools + qtmultimedia + # transports + curl + libmms + # input plugins + libmad + taglib + libvorbis + libogg + flac + libmpcdec + libmodplug + libsndfile + libcdio + cdparanoia + libcddb + faad2 + ffmpeg + wildmidi + libbs2b + game-music-emu + libarchive + opusfile + soxr + wavpack + libxmp + libsidplayfp + # output plugins + alsa-lib + libpulseaudio + pipewire + libjack2 + # effect plugins + libsamplerate + ]; meta = with lib; { description = "Qt-based audio player that looks like Winamp"; diff --git a/pkgs/applications/audio/qpwgraph/default.nix b/pkgs/applications/audio/qpwgraph/default.nix index 218148ca8fa5a..32d254f6d69d7 100644 --- a/pkgs/applications/audio/qpwgraph/default.nix +++ b/pkgs/applications/audio/qpwgraph/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, pkg-config -, wrapQtAppsHook -, qtbase -, qtsvg -, qtwayland -, alsa-lib -, pipewire +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + pkg-config, + wrapQtAppsHook, + qtbase, + qtsvg, + qtwayland, + alsa-lib, + pipewire, }: stdenv.mkDerivation (finalAttrs: { @@ -23,9 +24,19 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-jB2mMLwJ1e/fIsf1R9Wd0stwp/RQH6f9pkF1qQX72Aw="; }; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; - buildInputs = [ qtbase qtsvg qtwayland alsa-lib pipewire ]; + buildInputs = [ + qtbase + qtsvg + qtwayland + alsa-lib + pipewire + ]; cmakeFlags = [ "-DCONFIG_WAYLAND=ON" ]; @@ -39,7 +50,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://gitlab.freedesktop.org/rncbc/qpwgraph"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ kanashimia exi Scrumplex ]; + maintainers = with maintainers; [ + kanashimia + exi + Scrumplex + ]; mainProgram = "qpwgraph"; }; }) diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix index b4c7cf5bce1d2..46e7a5c7fea31 100644 --- a/pkgs/applications/audio/qsampler/default.nix +++ b/pkgs/applications/audio/qsampler/default.nix @@ -1,5 +1,16 @@ -{ lib, fetchurl, autoconf, automake, libtool, pkg-config, qttools -, liblscp, libgig, qtbase, mkDerivation }: +{ + lib, + fetchurl, + autoconf, + automake, + libtool, + pkg-config, + qttools, + liblscp, + libgig, + qtbase, + mkDerivation, +}: mkDerivation rec { pname = "qsampler"; @@ -10,8 +21,18 @@ mkDerivation rec { sha256 = "1wr7k739zx2nz00b810f60g9k3y92w05nfci987hw7y2sks9rd8j"; }; - nativeBuildInputs = [ autoconf automake libtool pkg-config qttools ]; - buildInputs = [ liblscp libgig qtbase ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + qttools + ]; + buildInputs = [ + liblscp + libgig + qtbase + ]; preConfigure = "make -f Makefile.svn"; diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix index d1accf5c66d2e..5c7ae53e0bdec 100644 --- a/pkgs/applications/audio/qsynth/default.nix +++ b/pkgs/applications/audio/qsynth/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, alsa-lib, fluidsynth, libjack2, cmake, pkg-config -, qtbase, qttools, qtx11extras, wrapQtAppsHook +{ + lib, + stdenv, + fetchurl, + alsa-lib, + fluidsynth, + libjack2, + cmake, + pkg-config, + qtbase, + qttools, + qtx11extras, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -11,9 +22,20 @@ stdenv.mkDerivation rec { hash = "sha256-SHMPmZMAlC9L5EAecaZNB0pWnq0heeD8bcbhKeI+YOo="; }; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; - buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ]; + buildInputs = [ + alsa-lib + fluidsynth + libjack2 + qtbase + qttools + qtx11extras + ]; meta = with lib; { description = "Fluidsynth GUI"; diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix index 6577f33baba0c..439fa8e4a0dd7 100644 --- a/pkgs/applications/audio/radiotray-ng/default.nix +++ b/pkgs/applications/audio/radiotray-ng/default.nix @@ -1,43 +1,54 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, cmake, pkg-config -# Transport -, curl -# Libraries -, boost -, jsoncpp -, libbsd -, pcre -# GUI/Desktop -, dbus -, glibmm -, gsettings-desktop-schemas -, hicolor-icon-theme -, libappindicator-gtk3 -, libnotify -, libxdg_basedir -, wxGTK -# GStreamer -, glib-networking -, gst_all_1 -# User-agent info -, lsb-release -# rt2rtng -, python3 -# Testing -, gtest -# Fixup -, wrapGAppsHook3 -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + # Transport + curl, + # Libraries + boost, + jsoncpp, + libbsd, + pcre, + # GUI/Desktop + dbus, + glibmm, + gsettings-desktop-schemas, + hicolor-icon-theme, + libappindicator-gtk3, + libnotify, + libxdg_basedir, + wxGTK, + # GStreamer + glib-networking, + gst_all_1, + # User-agent info + lsb-release, + # rt2rtng + python3, + # Testing + gtest, + # Fixup + wrapGAppsHook3, + makeWrapper, }: let gstInputs = with gst_all_1; [ - gstreamer gst-plugins-base - gst-plugins-good gst-plugins-bad gst-plugins-ugly + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly gst-libav ]; # For the rt2rtng utility for converting bookmark file to -ng format - pythonInputs = with python3.pkgs; [ python lxml ]; + pythonInputs = with python3.pkgs; [ + python + lxml + ]; in stdenv.mkDerivation rec { pname = "radiotray-ng"; @@ -50,18 +61,32 @@ stdenv.mkDerivation rec { sha256 = "sha256-/0GlQdSsIPKGrDT9CgxvaH8TpAbqxFduwL2A2+BSrEI="; }; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + makeWrapper + ]; - buildInputs = [ - curl - boost jsoncpp libbsd pcre - glibmm hicolor-icon-theme gsettings-desktop-schemas libappindicator-gtk3 libnotify - libxdg_basedir - lsb-release - wxGTK - # for https gstreamer / libsoup - glib-networking - ] ++ gstInputs + buildInputs = + [ + curl + boost + jsoncpp + libbsd + pcre + glibmm + hicolor-icon-theme + gsettings-desktop-schemas + libappindicator-gtk3 + libnotify + libxdg_basedir + lsb-release + wxGTK + # for https gstreamer / libsoup + glib-networking + ] + ++ gstInputs ++ pythonInputs; patches = [ diff --git a/pkgs/applications/audio/raysession/default.nix b/pkgs/applications/audio/raysession/default.nix index 375c5d3d646cf..cc7c0e0d5a741 100644 --- a/pkgs/applications/audio/raysession/default.nix +++ b/pkgs/applications/audio/raysession/default.nix @@ -1,4 +1,14 @@ -{ lib, fetchurl, buildPythonApplication, libjack2, pyliblo, pyqt5, which, bash, qt5 }: +{ + lib, + fetchurl, + buildPythonApplication, + libjack2, + pyliblo, + pyqt5, + which, + bash, + qt5, +}: buildPythonApplication rec { pname = "raysession"; @@ -19,20 +29,29 @@ buildPythonApplication rec { format = "other"; nativeBuildInputs = [ - pyqt5 # pyuic5 and pyrcc5 to build resources. + pyqt5 # pyuic5 and pyrcc5 to build resources. qt5.qttools # lrelease to build translations. - which # which to find lrelease. + which # which to find lrelease. qt5.wrapQtAppsHook ]; - buildInputs = [ libjack2 bash ]; - propagatedBuildInputs = [ pyliblo pyqt5 ]; + buildInputs = [ + libjack2 + bash + ]; + propagatedBuildInputs = [ + pyliblo + pyqt5 + ]; dontWrapQtApps = true; # The program is a python script. installFlags = [ "PREFIX=$(out)" ]; makeWrapperArgs = [ - "--suffix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ libjack2 ]) + "--suffix" + "LD_LIBRARY_PATH" + ":" + (lib.makeLibraryPath [ libjack2 ]) ]; postFixup = '' diff --git a/pkgs/applications/audio/samplebrain/default.nix b/pkgs/applications/audio/samplebrain/default.nix index ae3549ff16d91..253aa2b343527 100644 --- a/pkgs/applications/audio/samplebrain/default.nix +++ b/pkgs/applications/audio/samplebrain/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitLab -, fftw -, liblo -, libsndfile -, makeDesktopItem -, portaudio -, qmake -, qtbase -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitLab, + fftw, + liblo, + libsndfile, + makeDesktopItem, + portaudio, + qmake, + qtbase, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index c2f86609d45eb..cc46296342e44 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -1,6 +1,16 @@ -{ mkDerivation, lib, fetchurl, pkg-config, libjack2 -, alsa-lib, liblo, libsndfile, lv2, qtbase, qttools -, rubberband +{ + mkDerivation, + lib, + fetchurl, + pkg-config, + libjack2, + alsa-lib, + liblo, + libsndfile, + lv2, + qtbase, + qttools, + rubberband, }: mkDerivation rec { @@ -12,9 +22,20 @@ mkDerivation rec { sha256 = "sha256-eJA6ixH20Wv+cD2CKGomncyfJ4tfpOL3UrTeCkb5/q0="; }; - nativeBuildInputs = [ qttools pkg-config ]; + nativeBuildInputs = [ + qttools + pkg-config + ]; - buildInputs = [ libjack2 alsa-lib liblo libsndfile lv2 qtbase rubberband ]; + buildInputs = [ + libjack2 + alsa-lib + liblo + libsndfile + lv2 + qtbase + rubberband + ]; meta = with lib; { description = "Old-school all-digital polyphonic sampler synthesizer with stereo fx"; diff --git a/pkgs/applications/audio/sayonara/default.nix b/pkgs/applications/audio/sayonara/default.nix index e937cd6ea7790..8426cc20e2e1b 100644 --- a/pkgs/applications/audio/sayonara/default.nix +++ b/pkgs/applications/audio/sayonara/default.nix @@ -1,24 +1,27 @@ -{ mkDerivation -, cmake -, fetchFromGitLab -, nix-update-script -, gst_all_1 -, lib -, libpulseaudio -, ninja -, pcre -, pkg-config -, qtbase -, qttools -, taglib -, zlib -, python3 +{ + mkDerivation, + cmake, + fetchFromGitLab, + nix-update-script, + gst_all_1, + lib, + libpulseaudio, + ninja, + pcre, + pkg-config, + qtbase, + qttools, + taglib, + zlib, + python3, }: let - py = python3.withPackages (ps: with ps; [ - pydbus - ]); + py = python3.withPackages ( + ps: with ps; [ + pydbus + ] + ); in mkDerivation rec { pname = "sayonara"; @@ -37,23 +40,29 @@ mkDerivation rec { --replace-fail "std::max" "std::max" ''; - nativeBuildInputs = [ cmake ninja pkg-config qttools ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + qttools + ]; - buildInputs = [ - libpulseaudio - pcre - qtbase - taglib - zlib - py - ] - ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]); + buildInputs = + [ + libpulseaudio + pcre + qtbase + taglib + zlib + py + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); # we carry the patched taglib 1.11.1 that doesn't break ogg but sayonara just # checks for the version diff --git a/pkgs/applications/audio/schismtracker/default.nix b/pkgs/applications/audio/schismtracker/default.nix index e6044f10a3411..107a32ffd50bc 100644 --- a/pkgs/applications/audio/schismtracker/default.nix +++ b/pkgs/applications/audio/schismtracker/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, alsa-lib -, perl -, pkg-config -, SDL2 -, libXext -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + alsa-lib, + perl, + pkg-config, + SDL2, + libXext, + Cocoa, }: stdenv.mkDerivation rec { @@ -29,13 +30,22 @@ stdenv.mkDerivation rec { --replace-fail 'git log' 'echo ${version} #' ''; - configureFlags = [ "--enable-dependency-tracking" ] - ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-sdltest"; + configureFlags = [ + "--enable-dependency-tracking" + ] ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-sdltest"; - nativeBuildInputs = [ autoreconfHook perl pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + perl + pkg-config + ]; - buildInputs = [ SDL2 ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libXext ] + buildInputs = + [ SDL2 ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libXext + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix index a204ad566d4d1..e1caae7c8024f 100644 --- a/pkgs/applications/audio/sfxr-qt/default.nix +++ b/pkgs/applications/audio/sfxr-qt/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, extra-cmake-modules -, qtbase -, qtquickcontrols2 -, SDL -, python3 -, catch2_3 -, callPackage -, nixosTests +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + extra-cmake-modules, + qtbase, + qtquickcontrols2, + SDL, + python3, + catch2_3, + callPackage, + nixosTests, }: mkDerivation rec { @@ -27,7 +28,13 @@ mkDerivation rec { nativeBuildInputs = [ cmake extra-cmake-modules - (python3.withPackages (pp: with pp; [ pyyaml jinja2 setuptools ])) + (python3.withPackages ( + pp: with pp; [ + pyyaml + jinja2 + setuptools + ] + )) ]; buildInputs = [ @@ -47,7 +54,7 @@ mkDerivation rec { doCheck = true; passthru.tests = { - export-square-wave = callPackage ./test-export-square-wave {}; + export-square-wave = callPackage ./test-export-square-wave { }; sfxr-qt-starts = nixosTests.sfxr-qt; }; diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix index 8fd514abea512..2163ea5db514b 100644 --- a/pkgs/applications/audio/sisco.lv2/default.nix +++ b/pkgs/applications/audio/sisco.lv2/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, lv2, pkg-config, libGLU, libGL, cairo, pango, libjack2 }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, + pkg-config, + libGLU, + libGL, + cairo, + pango, + libjack2, +}: let version = "0.7.0"; @@ -24,11 +35,21 @@ stdenv.mkDerivation rec { pname = "sisco.lv2"; inherit version; - srcs = [ src robtkSrc ]; + srcs = [ + src + robtkSrc + ]; sourceRoot = src.name; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lv2 pango cairo libjack2 libGLU libGL ]; + buildInputs = [ + lv2 + pango + cairo + libjack2 + libGLU + libGL + ]; postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk"; sisco_VERSION = version; diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix index 821cda32e9779..534c951092728 100644 --- a/pkgs/applications/audio/snapcast/default.nix +++ b/pkgs/applications/audio/snapcast/default.nix @@ -1,33 +1,65 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config -, alsa-lib, asio, avahi, boost179, flac, libogg, libvorbis, libopus, soxr -, IOKit, AudioToolbox -, aixlog, popl -, pulseaudioSupport ? false, libpulseaudio -, nixosTests }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + asio, + avahi, + boost179, + flac, + libogg, + libvorbis, + libopus, + soxr, + IOKit, + AudioToolbox, + aixlog, + popl, + pulseaudioSupport ? false, + libpulseaudio, + nixosTests, +}: stdenv.mkDerivation rec { pname = "snapcast"; version = "0.29.0"; src = fetchFromGitHub { - owner = "badaix"; - repo = "snapcast"; - rev = "v${version}"; + owner = "badaix"; + repo = "snapcast"; + rev = "v${version}"; hash = "sha256-FWOGBXYWLHHZhvC5/BpkDd70ZupzALZ3ks3qTcrtwKQ="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; # snapcast also supports building against tremor but as we have libogg, that's # not needed - buildInputs = [ - boost179 - asio avahi flac libogg libvorbis libopus - aixlog popl soxr - ] ++ lib.optional pulseaudioSupport libpulseaudio - ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib - ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit AudioToolbox ]; + buildInputs = + [ + boost179 + asio + avahi + flac + libogg + libvorbis + libopus + aixlog + popl + soxr + ] + ++ lib.optional pulseaudioSupport libpulseaudio + ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + AudioToolbox + ]; - TARGET=lib.optionalString stdenv.hostPlatform.isDarwin "MACOS"; + TARGET = lib.optionalString stdenv.hostPlatform.isDarwin "MACOS"; # Upstream systemd unit files are pretty awful, so we provide our own in a # NixOS module. It might make sense to get that upstreamed... diff --git a/pkgs/applications/audio/sonic-lineup/default.nix b/pkgs/applications/audio/sonic-lineup/default.nix index f58f88b321382..e464c4a00f46d 100644 --- a/pkgs/applications/audio/sonic-lineup/default.nix +++ b/pkgs/applications/audio/sonic-lineup/default.nix @@ -1,8 +1,31 @@ -{ lib, stdenv, fetchurl, fetchpatch2, alsa-lib, boost, bzip2, fftw, fftwFloat, libfishsound -, libid3tag, liblo, libmad, liboggz, libpulseaudio, libsamplerate -, libsndfile, lrdf, opusfile, portaudio, rubberband, serd, sord, capnproto -, wrapQtAppsHook, pkg-config -, libjack2 +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + alsa-lib, + boost, + bzip2, + fftw, + fftwFloat, + libfishsound, + libid3tag, + liblo, + libmad, + liboggz, + libpulseaudio, + libsamplerate, + libsndfile, + lrdf, + opusfile, + portaudio, + rubberband, + serd, + sord, + capnproto, + wrapQtAppsHook, + pkg-config, + libjack2, }: stdenv.mkDerivation rec { @@ -24,14 +47,34 @@ stdenv.mkDerivation rec { ./match-vamp.patch ]; - buildInputs = - [ alsa-lib boost bzip2 fftw fftwFloat libfishsound libid3tag liblo - libmad liboggz libpulseaudio libsamplerate libsndfile lrdf opusfile - portaudio rubberband serd sord capnproto - libjack2 - ]; + buildInputs = [ + alsa-lib + boost + bzip2 + fftw + fftwFloat + libfishsound + libid3tag + liblo + libmad + liboggz + libpulseaudio + libsamplerate + libsndfile + lrdf + opusfile + portaudio + rubberband + serd + sord + capnproto + libjack2 + ]; - nativeBuildInputs = [ pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + pkg-config + wrapQtAppsHook + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix index 286e26bdaad38..2cf404acec5ee 100644 --- a/pkgs/applications/audio/sonic-pi/default.nix +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -1,42 +1,43 @@ -{ stdenv -, lib -, fetchFromGitHub -, wrapQtAppsHook -, makeDesktopItem -, copyDesktopItems -, cmake -, pkg-config -, catch2_3 -, qtbase -, qtsvg -, qttools -, qwt -, qscintilla -, kissfftFloat -, crossguid -, reproc -, platform-folders -, ruby -, erlang -, elixir -, beamPackages -, alsa-lib -, rtmidi -, boost -, aubio -, jack2 -, jack-example-tools -, pipewire -, supercollider-with-sc3-plugins -, parallel - -, withTauWidget ? false -, qtwebengine - -, withImGui ? false -, gl3w -, SDL2 -, fmt +{ + stdenv, + lib, + fetchFromGitHub, + wrapQtAppsHook, + makeDesktopItem, + copyDesktopItems, + cmake, + pkg-config, + catch2_3, + qtbase, + qtsvg, + qttools, + qwt, + qscintilla, + kissfftFloat, + crossguid, + reproc, + platform-folders, + ruby, + erlang, + elixir, + beamPackages, + alsa-lib, + rtmidi, + boost, + aubio, + jack2, + jack-example-tools, + pipewire, + supercollider-with-sc3-plugins, + parallel, + + withTauWidget ? false, + qtwebengine, + + withImGui ? false, + gl3w, + SDL2, + fmt, }: stdenv.mkDerivation rec { @@ -71,29 +72,32 @@ stdenv.mkDerivation rec { beamPackages.hex ]; - buildInputs = [ - qtbase - qtsvg - qttools - qwt - qscintilla - kissfftFloat - catch2_3 - crossguid - reproc - platform-folders - ruby - alsa-lib - rtmidi - boost - aubio - ] ++ lib.optionals withTauWidget [ - qtwebengine - ] ++ lib.optionals withImGui [ - gl3w - SDL2 - fmt - ]; + buildInputs = + [ + qtbase + qtsvg + qttools + qwt + qscintilla + kissfftFloat + catch2_3 + crossguid + reproc + platform-folders + ruby + alsa-lib + rtmidi + boost + aubio + ] + ++ lib.optionals withTauWidget [ + qtwebengine + ] + ++ lib.optionals withImGui [ + gl3w + SDL2 + fmt + ]; nativeCheckInputs = [ parallel @@ -189,14 +193,30 @@ stdenv.mkDerivation rec { preFixup = '' # Wrap Qt GUI (distributed binary) wrapQtApp $out/bin/sonic-pi \ - --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools pipewire.jack ]} + --prefix PATH : ${ + lib.makeBinPath [ + ruby + supercollider-with-sc3-plugins + jack2 + jack-example-tools + pipewire.jack + ] + } # If ImGui was built if [ -e $out/app/build/gui/imgui/sonic-pi-imgui ]; then # Wrap ImGui into bin makeWrapper $out/app/build/gui/imgui/sonic-pi-imgui $out/bin/sonic-pi-imgui \ --inherit-argv0 \ - --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools pipewire.jack ]} + --prefix PATH : ${ + lib.makeBinPath [ + ruby + supercollider-with-sc3-plugins + jack2 + jack-example-tools + pipewire.jack + ] + } fi # Remove runtime Erlang references @@ -205,7 +225,10 @@ stdenv.mkDerivation rec { done ''; - stripDebugList = [ "app" "bin" ]; + stripDebugList = [ + "app" + "bin" + ]; desktopItems = [ (makeDesktopItem { @@ -214,7 +237,11 @@ stdenv.mkDerivation rec { icon = "sonic-pi"; desktopName = "Sonic Pi"; comment = meta.description; - categories = [ "Audio" "AudioVideo" "Education" ]; + categories = [ + "Audio" + "AudioVideo" + "Education" + ]; }) ]; @@ -224,7 +251,12 @@ stdenv.mkDerivation rec { homepage = "https://sonic-pi.net/"; description = "Free live coding synth for everyone originally designed to support computing and music lessons within schools"; license = licenses.mit; - maintainers = with maintainers; [ Phlogistique kamilchm c0deaddict sohalt ]; + maintainers = with maintainers; [ + Phlogistique + kamilchm + c0deaddict + sohalt + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix index ef6ed0c695a06..8f6a6e6f4cc7f 100644 --- a/pkgs/applications/audio/sonic-visualiser/default.nix +++ b/pkgs/applications/audio/sonic-visualiser/default.nix @@ -1,11 +1,40 @@ # TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html -{ lib, stdenv, fetchurl, alsa-lib, bzip2, fftw, libjack2, libX11, liblo -, libmad, lrdf, librdf_raptor, librdf_rasqal, libsamplerate -, libsndfile, pkg-config, libpulseaudio, qtbase, qtsvg, redland -, rubberband, serd, sord, vamp-plugin-sdk, fftwFloat -, capnproto, liboggz, libfishsound, libid3tag, opusfile -, wrapQtAppsHook, meson, ninja, cmake +{ + lib, + stdenv, + fetchurl, + alsa-lib, + bzip2, + fftw, + libjack2, + libX11, + liblo, + libmad, + lrdf, + librdf_raptor, + librdf_rasqal, + libsamplerate, + libsndfile, + pkg-config, + libpulseaudio, + qtbase, + qtsvg, + redland, + rubberband, + serd, + sord, + vamp-plugin-sdk, + fftwFloat, + capnproto, + liboggz, + libfishsound, + libid3tag, + opusfile, + wrapQtAppsHook, + meson, + ninja, + cmake, }: stdenv.mkDerivation rec { @@ -17,25 +46,43 @@ stdenv.mkDerivation rec { sha256 = "1sgg4m3035a03ldipgysz7zqfa9pqaqa4j024gyvvcwh4ml8iasr"; }; - nativeBuildInputs = [ meson ninja cmake pkg-config wrapQtAppsHook ]; - buildInputs = - [ libsndfile qtbase qtsvg fftw fftwFloat bzip2 lrdf rubberband - libsamplerate vamp-plugin-sdk alsa-lib librdf_raptor librdf_rasqal redland - serd - sord - # optional - libjack2 - # portaudio - libpulseaudio - libmad - libfishsound - liblo - libX11 - capnproto - liboggz - libid3tag - opusfile - ]; + nativeBuildInputs = [ + meson + ninja + cmake + pkg-config + wrapQtAppsHook + ]; + buildInputs = [ + libsndfile + qtbase + qtsvg + fftw + fftwFloat + bzip2 + lrdf + rubberband + libsamplerate + vamp-plugin-sdk + alsa-lib + librdf_raptor + librdf_rasqal + redland + serd + sord + # optional + libjack2 + # portaudio + libpulseaudio + libmad + libfishsound + liblo + libX11 + capnproto + liboggz + libid3tag + opusfile + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix index 87c063ce009fe..1155ba492ddf8 100644 --- a/pkgs/applications/audio/soundkonverter/default.nix +++ b/pkgs/applications/audio/soundkonverter/default.nix @@ -1,32 +1,68 @@ # currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery { - mkDerivation, fetchFromGitHub, fetchpatch, lib, makeWrapper, - cmake, extra-cmake-modules, pkg-config, - libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui, - qtbase, phonon, + mkDerivation, + fetchFromGitHub, + fetchpatch, + lib, + makeWrapper, + cmake, + extra-cmake-modules, + pkg-config, + libkcddb, + kconfig, + kconfigwidgets, + ki18n, + kdelibs4support, + kio, + solid, + kwidgetsaddons, + kxmlgui, + qtbase, + phonon, taglib, # optional backends - withCD ? true, cdparanoia, - withFlac ? true, flac, - withMidi ? true, fluidsynth, timidity, - withSpeex ? false, speex, - withVorbis ? true, vorbis-tools, vorbisgain, - withMp3 ? true, lame, mp3gain, - withAac ? true, faad2, aacgain, - withUnfreeAac ? false, faac, - withFfmpeg ? true, ffmpeg-full, - withMplayer ? false, mplayer, - withSox ? true, sox, - withOpus ? true, opusTools, - withTwolame ? false, twolame, - withApe ? false, monkeysAudio, - withWavpack ? false, wavpack + withCD ? true, + cdparanoia, + withFlac ? true, + flac, + withMidi ? true, + fluidsynth, + timidity, + withSpeex ? false, + speex, + withVorbis ? true, + vorbis-tools, + vorbisgain, + withMp3 ? true, + lame, + mp3gain, + withAac ? true, + faad2, + aacgain, + withUnfreeAac ? false, + faac, + withFfmpeg ? true, + ffmpeg-full, + withMplayer ? false, + mplayer, + withSox ? true, + sox, + withOpus ? true, + opusTools, + withTwolame ? false, + twolame, + withApe ? false, + monkeysAudio, + withWavpack ? false, + wavpack, }: assert withAac -> withFfmpeg || withUnfreeAac; assert withUnfreeAac -> withAac; -let runtimeDeps = [] +let + runtimeDeps = + [ ] ++ lib.optional withCD cdparanoia ++ lib.optional withFlac flac ++ lib.optional withSpeex speex @@ -38,10 +74,22 @@ let runtimeDeps = [] ++ lib.optional withApe monkeysAudio ++ lib.optional withWavpack wavpack ++ lib.optional withUnfreeAac faac - ++ lib.optionals withMidi [ fluidsynth timidity ] - ++ lib.optionals withVorbis [ vorbis-tools vorbisgain ] - ++ lib.optionals withMp3 [ lame mp3gain ] - ++ lib.optionals withAac [ faad2 aacgain ]; + ++ lib.optionals withMidi [ + fluidsynth + timidity + ] + ++ lib.optionals withVorbis [ + vorbis-tools + vorbisgain + ] + ++ lib.optionals withMp3 [ + lame + mp3gain + ] + ++ lib.optionals withAac [ + faad2 + aacgain + ]; in mkDerivation rec { @@ -63,16 +111,34 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config kdelibs4support makeWrapper ]; - propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + pkg-config + kdelibs4support + makeWrapper + ]; + propagatedBuildInputs = [ + libkcddb + kconfig + kconfigwidgets + ki18n + kdelibs4support + kio + solid + kwidgetsaddons + kxmlgui + qtbase + phonon + ]; buildInputs = [ taglib ] ++ runtimeDeps; # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5 cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ]; sourceRoot = "${src.name}/src"; # add runt-time deps to PATH postInstall = '' - wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps } - ''; + wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps} + ''; meta = { homepage = "https://github.com/dfaust/soundkonverter"; license = lib.licenses.gpl2; @@ -103,6 +169,6 @@ mkDerivation rec { - CD ripping Backends: cdparanoia - ''; + ''; }; } diff --git a/pkgs/applications/audio/spek/default.nix b/pkgs/applications/audio/spek/default.nix index 6bc15adf6082e..ad1c2ff5b7e2a 100644 --- a/pkgs/applications/audio/spek/default.nix +++ b/pkgs/applications/audio/spek/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg, wxGTK32, gtk3, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + intltool, + pkg-config, + ffmpeg, + wxGTK32, + gtk3, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "spek"; @@ -11,9 +22,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-VYt2so2k3Rk3sLSV1Tf1G2pESYiXygrKr9Koop8ChCg="; }; - nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + autoreconfHook + intltool + pkg-config + wrapGAppsHook3 + ]; - buildInputs = [ ffmpeg wxGTK32 gtk3 ]; + buildInputs = [ + ffmpeg + wxGTK32 + gtk3 + ]; meta = with lib; { description = "Analyse your audio files by showing their spectrogram"; diff --git a/pkgs/applications/audio/spotify-qt/default.nix b/pkgs/applications/audio/spotify-qt/default.nix index cbe252bc2b946..01600dbf5ca79 100644 --- a/pkgs/applications/audio/spotify-qt/default.nix +++ b/pkgs/applications/audio/spotify-qt/default.nix @@ -1,44 +1,49 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib -, cmake -, mkDerivation -, libxcb -, qtbase -, qtsvg +{ + stdenvNoCC, + fetchFromGitHub, + lib, + cmake, + mkDerivation, + libxcb, + qtbase, + qtsvg, }: mkDerivation rec { - pname = "spotify-qt"; - version = "3.11"; + pname = "spotify-qt"; + version = "3.11"; - src = fetchFromGitHub { - owner = "kraxarn"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-Dm+ELHtYZGSzJSrERtvpuuV5cVZ9ah9WQ0iTTJqGqVg="; - }; + src = fetchFromGitHub { + owner = "kraxarn"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-Dm+ELHtYZGSzJSrERtvpuuV5cVZ9ah9WQ0iTTJqGqVg="; + }; - buildInputs = [ libxcb qtbase qtsvg ]; + buildInputs = [ + libxcb + qtbase + qtsvg + ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ]; - cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=" ]; + cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=" ]; - installFlags = [ "DESTDIR=$(out)" ]; + installFlags = [ "DESTDIR=$(out)" ]; - postInstall = lib.optionalString stdenvNoCC.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv $out/bin/spotify-qt.app $out/Applications - ln $out/Applications/spotify-qt.app/Contents/MacOS/spotify-qt $out/bin/spotify-qt - ''; + postInstall = lib.optionalString stdenvNoCC.hostPlatform.isDarwin '' + mkdir -p $out/Applications + mv $out/bin/spotify-qt.app $out/Applications + ln $out/Applications/spotify-qt.app/Contents/MacOS/spotify-qt $out/bin/spotify-qt + ''; - meta = with lib; { + meta = with lib; { description = "Lightweight unofficial Spotify client using Qt"; mainProgram = "spotify-qt"; homepage = "https://github.com/kraxarn/spotify-qt"; license = licenses.gpl3Only; maintainers = with maintainers; [ iivusly ]; platforms = platforms.unix; - }; + }; } diff --git a/pkgs/applications/audio/squishyball/default.nix b/pkgs/applications/audio/squishyball/default.nix index 170cfe63ba255..d74b372b25f3b 100644 --- a/pkgs/applications/audio/squishyball/default.nix +++ b/pkgs/applications/audio/squishyball/default.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, autoreconfHook, fetchFromGitLab, fetchpatch, flac, libao, libvorbis, ncurses -, opusfile, pkg-config +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitLab, + fetchpatch, + flac, + libao, + libvorbis, + ncurses, + opusfile, + pkg-config, }: stdenv.mkDerivation rec { @@ -14,9 +24,18 @@ stdenv.mkDerivation rec { sha256 = "07zs8wx1ahf3q505fk9b6cgzlkhnayfsscch46yy9s1wgxgphj7s"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ flac libao libvorbis ncurses opusfile ]; + buildInputs = [ + flac + libao + libvorbis + ncurses + opusfile + ]; patches = [ ./gnu-screen.patch @@ -39,18 +58,18 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tool to perform sample comparison testing on the command line"; longDescription = '' - squishyball is a simple command-line utility for performing - double-blind A/B, A/B/X or X/X/Y testing on the command line. - The user specifies two input files to be compared and uses the - keyboard during playback to flip between the randomized samples - to perform on-the-fly compar‐ isons. After a predetermined - number of trials, squishyball prints the trial results to - stdout and exits. Results (stdout) may be redirected to a file - without affecting interactive use of the terminal. - - squishyball can also be used to perform casual, non-randomized - comparisons of groups of up to ten samples; this is the default - mode of operation. + squishyball is a simple command-line utility for performing + double-blind A/B, A/B/X or X/X/Y testing on the command line. + The user specifies two input files to be compared and uses the + keyboard during playback to flip between the randomized samples + to perform on-the-fly compar‐ isons. After a predetermined + number of trials, squishyball prints the trial results to + stdout and exits. Results (stdout) may be redirected to a file + without affecting interactive use of the terminal. + + squishyball can also be used to perform casual, non-randomized + comparisons of groups of up to ten samples; this is the default + mode of operation. ''; homepage = "https://gitlab.xiph.org/xiph/squishyball"; license = licenses.gpl2Plus; diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix index f1d8600ed01bf..5f65fab87578f 100644 --- a/pkgs/applications/audio/surge/default.nix +++ b/pkgs/applications/audio/surge/default.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, fetchFromGitHub -, cmake -, git -, pkg-config -, python3 -, cairo -, libsndfile -, libxcb -, libxkbcommon -, xcbutil -, xcbutilcursor -, xcbutilkeysyms -, zenity -, curl -, rsync +{ + stdenv, + lib, + fetchurl, + fetchpatch, + fetchFromGitHub, + cmake, + git, + pkg-config, + python3, + cairo, + libsndfile, + libxcb, + libxkbcommon, + xcbutil, + xcbutilcursor, + xcbutilkeysyms, + zenity, + curl, + rsync, }: stdenv.mkDerivation rec { @@ -78,7 +79,6 @@ stdenv.mkDerivation rec { cp -r $extraContent/Skins/ resources/data/skins ''; - installPhase = '' cd .. cmake --build build --config Release --target install-everything-global @@ -100,6 +100,9 @@ stdenv.mkDerivation rec { homepage = "https://surge-synthesizer.github.io"; license = licenses.gpl3; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ magnetophon orivej ]; + maintainers = with maintainers; [ + magnetophon + orivej + ]; }; } diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index a42671b3d303d..4f6582a875cc7 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, fetchurl, pkg-config, qtbase, qttools, libjack2, alsa-lib, liblo, lv2 }: +{ + mkDerivation, + lib, + fetchurl, + pkg-config, + qtbase, + qttools, + libjack2, + alsa-lib, + liblo, + lv2, +}: mkDerivation rec { pname = "synthv1"; @@ -9,7 +20,14 @@ mkDerivation rec { sha256 = "sha256-0V72T51icT/t9fJf4mwcMYZLjzTPnmiCbU+BdwnCmw4="; }; - buildInputs = [ qtbase qttools libjack2 alsa-lib liblo lv2 ]; + buildInputs = [ + qtbase + qttools + libjack2 + alsa-lib + liblo + lv2 + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/tageditor/default.nix b/pkgs/applications/audio/tageditor/default.nix index 173ced9ca525f..8464918d746a2 100644 --- a/pkgs/applications/audio/tageditor/default.nix +++ b/pkgs/applications/audio/tageditor/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, cmake -, cpp-utilities -, qtutilities -, mp4v2 -, libid3tag -, qtbase -, qttools -, qtwebengine -, qtx11extras -, tagparser -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + cmake, + cpp-utilities, + qtutilities, + mp4v2, + libid3tag, + qtbase, + qttools, + qtwebengine, + qtx11extras, + tagparser, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/audio/tamgamp.lv2/default.nix b/pkgs/applications/audio/tamgamp.lv2/default.nix index 2907a5277ee29..17b75b395ff87 100644 --- a/pkgs/applications/audio/tamgamp.lv2/default.nix +++ b/pkgs/applications/audio/tamgamp.lv2/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, lv2, zita-resampler }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + lv2, + zita-resampler, +}: stdenv.mkDerivation rec { pname = "tamgamp.lv2"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lv2 zita-resampler ]; + buildInputs = [ + lv2 + zita-resampler + ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -23,29 +33,29 @@ stdenv.mkDerivation rec { homepage = "https://github.com/sadko4u/tamgamp.lv2"; description = "Guitar amplifier simulator"; longDescription = '' - Tamgamp (Pronouncement: "Damage Amp") is an LV2 guitar amp simulator that provides two plugins: - - - Tamgamp - a plugin based on Guitarix DK Builder simulated chains. - - TamgampGX - a plugin based on tuned Guitarix internal amplifiers implementation. - - The reference to the original Guitarix project: https://guitarix.org/ - - It simulates the set of the following guitar amplifiers: - - - Fender Princeton Reverb-amp AA1164 (without reverb module) - - Fender Twin Reverb-Amp AA769 (Normal channel, bright off) - - Fender Twin Reverb-Amp AA769 (Vibrato channel, bright on) - - Marshall JCM-800 High-gain input - - Marshall JCM-800 Low-gain input - - Mesa/Boogie DC3 preamplifier (lead channel) - - Mesa/Boogie DC3 preamplifier (rhythm channel) - - Mesa Dual Rectifier preamplifier (orange channel, less gain) - - Mesa Dual Rectifier preamplifier (red channel, more gain) - - Peavey 5150II crunch channel - - Peavey 5150II lead channel - - VOX AC-30 Brilliant channel - - VOX AC-30 normal channel - ''; + Tamgamp (Pronouncement: "Damage Amp") is an LV2 guitar amp simulator that provides two plugins: + + - Tamgamp - a plugin based on Guitarix DK Builder simulated chains. + - TamgampGX - a plugin based on tuned Guitarix internal amplifiers implementation. + + The reference to the original Guitarix project: https://guitarix.org/ + + It simulates the set of the following guitar amplifiers: + + - Fender Princeton Reverb-amp AA1164 (without reverb module) + - Fender Twin Reverb-Amp AA769 (Normal channel, bright off) + - Fender Twin Reverb-Amp AA769 (Vibrato channel, bright on) + - Marshall JCM-800 High-gain input + - Marshall JCM-800 Low-gain input + - Mesa/Boogie DC3 preamplifier (lead channel) + - Mesa/Boogie DC3 preamplifier (rhythm channel) + - Mesa Dual Rectifier preamplifier (orange channel, less gain) + - Mesa Dual Rectifier preamplifier (red channel, more gain) + - Peavey 5150II crunch channel + - Peavey 5150II lead channel + - VOX AC-30 Brilliant channel + - VOX AC-30 normal channel + ''; maintainers = [ maintainers.magnetophon ]; platforms = platforms.linux; license = licenses.lgpl3Plus; diff --git a/pkgs/applications/audio/termusic/default.nix b/pkgs/applications/audio/termusic/default.nix index c4a42aa3837c7..afc767749a3d9 100644 --- a/pkgs/applications/audio/termusic/default.nix +++ b/pkgs/applications/audio/termusic/default.nix @@ -1,25 +1,25 @@ { - alsa-lib -, AppKit -, CoreAudio -, CoreGraphics -, dbus -, Foundation -, fetchFromGitHub -, fetchpatch -, glib -, gst_all_1 -, IOKit -, lib -, MediaPlayer -, mpv-unwrapped -, openssl -, pkg-config -, protobuf -, rustPlatform -, Security -, sqlite -, stdenv + alsa-lib, + AppKit, + CoreAudio, + CoreGraphics, + dbus, + Foundation, + fetchFromGitHub, + fetchpatch, + glib, + gst_all_1, + IOKit, + lib, + MediaPlayer, + mpv-unwrapped, + openssl, + pkg-config, + protobuf, + rustPlatform, + Security, + sqlite, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -67,24 +67,27 @@ rustPlatform.buildRustPackage rec { rustPlatform.bindgenHook ]; - buildInputs = [ - dbus - glib - gst_all_1.gstreamer - mpv-unwrapped - openssl - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - CoreAudio - CoreGraphics - Foundation - IOKit - MediaPlayer - Security - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ]; + buildInputs = + [ + dbus + glib + gst_all_1.gstreamer + mpv-unwrapped + openssl + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + CoreAudio + CoreGraphics + Foundation + IOKit + MediaPlayer + Security + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ]; meta = { description = "Terminal Music Player TUI written in Rust"; diff --git a/pkgs/applications/audio/tony/default.nix b/pkgs/applications/audio/tony/default.nix index a0af1a706643b..643228bfad913 100644 --- a/pkgs/applications/audio/tony/default.nix +++ b/pkgs/applications/audio/tony/default.nix @@ -1,7 +1,33 @@ -{ lib, stdenv, fetchurl, fetchpatch2, pkg-config, wrapQtAppsHook -, alsa-lib, boost, bzip2, fftw, fftwFloat, libX11, libfishsound, libid3tag -, libjack2, liblo, libmad, libogg, liboggz, libpulseaudio, libsamplerate -, libsndfile, lrdf, opusfile, qtbase, qtsvg, rubberband, serd, sord +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + pkg-config, + wrapQtAppsHook, + alsa-lib, + boost, + bzip2, + fftw, + fftwFloat, + libX11, + libfishsound, + libid3tag, + libjack2, + liblo, + libmad, + libogg, + liboggz, + libpulseaudio, + libsamplerate, + libsndfile, + lrdf, + opusfile, + qtbase, + qtsvg, + rubberband, + serd, + sord, }: stdenv.mkDerivation rec { @@ -29,12 +55,35 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + pkg-config + wrapQtAppsHook + ]; buildInputs = [ - alsa-lib boost bzip2 fftw fftwFloat libX11 libfishsound libid3tag - libjack2 liblo libmad libogg liboggz libpulseaudio libsamplerate - libsndfile lrdf opusfile qtbase qtsvg rubberband serd sord + alsa-lib + boost + bzip2 + fftw + fftwFloat + libX11 + libfishsound + libid3tag + libjack2 + liblo + libmad + libogg + liboggz + libpulseaudio + libsamplerate + libsndfile + lrdf + opusfile + qtbase + qtsvg + rubberband + serd + sord ]; # comment out the tests diff --git a/pkgs/applications/audio/traverso/default.nix b/pkgs/applications/audio/traverso/default.nix index b8a81ec7a8e97..d58ccbf940f0a 100644 --- a/pkgs/applications/audio/traverso/default.nix +++ b/pkgs/applications/audio/traverso/default.nix @@ -1,6 +1,22 @@ -{ mkDerivation, lib, fetchurl, cmake, pkg-config -, alsa-lib, fftw, flac, lame, libjack2, libmad, libpulseaudio -, libsamplerate, libsndfile, libvorbis, portaudio, qtbase, wavpack +{ + mkDerivation, + lib, + fetchurl, + cmake, + pkg-config, + alsa-lib, + fftw, + flac, + lame, + libjack2, + libmad, + libpulseaudio, + libsamplerate, + libsndfile, + libvorbis, + portaudio, + qtbase, + wavpack, }: mkDerivation { pname = "traverso"; @@ -11,12 +27,32 @@ mkDerivation { sha256 = "12f7x8kw4fw1j0xkwjrp54cy4cv1ql0zwz2ba5arclk4pf6bhl7q"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ alsa-lib fftw flac.dev libjack2 lame - libmad libpulseaudio libsamplerate.dev libsndfile.dev libvorbis - portaudio qtbase wavpack ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + alsa-lib + fftw + flac.dev + libjack2 + lame + libmad + libpulseaudio + libsamplerate.dev + libsndfile.dev + libvorbis + portaudio + qtbase + wavpack + ]; - cmakeFlags = [ "-DWANT_PORTAUDIO=1" "-DWANT_PULSEAUDIO=1" "-DWANT_MP3_ENCODE=1" "-DWANT_LV2=0" ]; + cmakeFlags = [ + "-DWANT_PORTAUDIO=1" + "-DWANT_PULSEAUDIO=1" + "-DWANT_MP3_ENCODE=1" + "-DWANT_LV2=0" + ]; hardeningDisable = [ "format" ]; @@ -24,7 +60,10 @@ mkDerivation { description = "Cross-platform multitrack audio recording and audio editing suite"; mainProgram = "traverso"; homepage = "https://traverso-daw.org/"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; platforms = platforms.all; maintainers = with maintainers; [ coconnor ]; }; diff --git a/pkgs/applications/audio/tunefish/default.nix b/pkgs/applications/audio/tunefish/default.nix index 8c2855d732828..a953f59601228 100644 --- a/pkgs/applications/audio/tunefish/default.nix +++ b/pkgs/applications/audio/tunefish/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, python3 -, alsa-lib, curl, freetype, gtk3, libGL, libX11, libXext, libXinerama, webkitgtk_4_0 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + python3, + alsa-lib, + curl, + freetype, + gtk3, + libGL, + libX11, + libXext, + libXinerama, + webkitgtk_4_0, }: stdenv.mkDerivation { @@ -14,15 +27,29 @@ stdenv.mkDerivation { sha256 = "0rjpq3s609fblzkvnc9729glcnfinmxljh0z8ldpzr245h367zxh"; }; - nativeBuildInputs = [ pkg-config python3 ]; - buildInputs = [ alsa-lib curl freetype gtk3 libGL libX11 libXext libXinerama webkitgtk_4_0 ]; + nativeBuildInputs = [ + pkg-config + python3 + ]; + buildInputs = [ + alsa-lib + curl + freetype + gtk3 + libGL + libX11 + libXext + libXinerama + webkitgtk_4_0 + ]; postPatch = '' patchShebangs src/tunefish4/generate-lv2-ttl.py ''; makeFlags = [ - "-C" "src/tunefish4/Builds/LinuxMakefile" + "-C" + "src/tunefish4/Builds/LinuxMakefile" "CONFIG=Release" ]; diff --git a/pkgs/applications/audio/viper4linux-gui/default.nix b/pkgs/applications/audio/viper4linux-gui/default.nix index ee8593c8e6202..769a0e445f790 100644 --- a/pkgs/applications/audio/viper4linux-gui/default.nix +++ b/pkgs/applications/audio/viper4linux-gui/default.nix @@ -1,20 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, copyDesktopItems -, pkg-config -, qtbase -, qtsvg -, qtmultimedia -, qmake -, gst_all_1 -, libpulseaudio -, makeDesktopItem -, viper4linux -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + copyDesktopItems, + pkg-config, + qtbase, + qtsvg, + qtmultimedia, + qmake, + gst_all_1, + libpulseaudio, + makeDesktopItem, + viper4linux, + wrapQtAppsHook, }: let - gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-viperfx gst-plugins-base gst-plugins-good ]); + gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" ( + with gst_all_1; + [ + gstreamer + gst-plugins-viperfx + gst-plugins-base + gst-plugins-good + ] + ); in stdenv.mkDerivation rec { pname = "viper4linux-gui"; @@ -35,7 +44,10 @@ stdenv.mkDerivation rec { desktopName = "viper4linux"; genericName = "Equalizer"; comment = meta.description; - categories = [ "AudioVideo" "Audio" ]; + categories = [ + "AudioVideo" + "Audio" + ]; startupNotify = false; }) ]; @@ -61,7 +73,12 @@ stdenv.mkDerivation rec { qmakeFlags = [ "V4L_Frontend.pro" ]; qtWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ viper4linux gst_all_1.gstreamer ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + viper4linux + gst_all_1.gstreamer + ] + }" "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${gstPluginPath}" ]; diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix index 7802c6cce7045..7201030bac352 100644 --- a/pkgs/applications/audio/vmpk/default.nix +++ b/pkgs/applications/audio/vmpk/default.nix @@ -1,6 +1,13 @@ -{ mkDerivation, lib, fetchurl, cmake, pkg-config -, qttools, qtx11extras, drumstick -, docbook-xsl-nons +{ + mkDerivation, + lib, + fetchurl, + cmake, + pkg-config, + qttools, + qtx11extras, + drumstick, + docbook-xsl-nons, }: mkDerivation rec { @@ -12,9 +19,17 @@ mkDerivation rec { sha256 = "sha256-+NjTcszb1KXGynIcCf4IEDvN4f8pgXtR1TksxGR5ZHQ="; }; - nativeBuildInputs = [ cmake pkg-config qttools docbook-xsl-nons ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + docbook-xsl-nons + ]; - buildInputs = [ drumstick qtx11extras ]; + buildInputs = [ + drumstick + qtx11extras + ]; postInstall = '' # vmpk drumstickLocales looks here: diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix index 8abce73aff1ff..dace69315ac13 100644 --- a/pkgs/applications/audio/xmp/default.nix +++ b/pkgs/applications/audio/xmp/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, alsa-lib, libxmp, AudioUnit, CoreAudio }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + alsa-lib, + libxmp, + AudioUnit, + CoreAudio, +}: stdenv.mkDerivation rec { pname = "xmp"; @@ -11,16 +21,23 @@ stdenv.mkDerivation rec { hash = "sha256-037k1rFjGR6XFtr08bzs4zVz+GyUGuuutuWFlNEuATA="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libxmp ] + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = + [ libxmp ] ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioUnit CoreAudio ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioUnit + CoreAudio + ]; meta = with lib; { description = "Extended module player"; - homepage = "https://xmp.sourceforge.net/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; + homepage = "https://xmp.sourceforge.net/"; + license = licenses.gpl2Plus; + platforms = platforms.unix; mainProgram = "xmp"; }; } diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index 8ed37540a4d70..b3cf7a032fad6 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, electron -, python3 -, stdenv -, copyDesktopItems -, nodejs -, pnpm -, makeDesktopItem +{ + lib, + fetchFromGitHub, + makeWrapper, + electron, + python3, + stdenv, + copyDesktopItems, + nodejs, + pnpm, + makeDesktopItem, }: stdenv.mkDerivation (finalAttrs: { @@ -26,43 +27,52 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-brHNp19BEYzgxhdNnn7n1GYhBdyi3S/2VqvKWXmKGX8="; }; - nativeBuildInputs = [ makeWrapper python3 nodejs pnpm.configHook ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ]; - + nativeBuildInputs = [ + makeWrapper + python3 + nodejs + pnpm.configHook + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ]; ELECTRON_SKIP_BINARY_DOWNLOAD = 1; - postBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' - cp -R ${electron.dist}/Electron.app Electron.app - chmod -R u+w Electron.app - '' + '' - pnpm build - ./node_modules/.bin/electron-builder \ - --dir \ - -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \ - -c.electronVersion=${electron.version} - ''; + postBuild = + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp -R ${electron.dist}/Electron.app Electron.app + chmod -R u+w Electron.app + '' + + '' + pnpm build + ./node_modules/.bin/electron-builder \ + --dir \ + -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \ + -c.electronVersion=${electron.version} + ''; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/{Applications,bin} - mv pack/mac*/YouTube\ Music.app $out/Applications - makeWrapper $out/Applications/YouTube\ Music.app/Contents/MacOS/YouTube\ Music $out/bin/youtube-music - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - mkdir -p "$out/share/lib/youtube-music" - cp -r pack/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/youtube-music" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/{Applications,bin} + mv pack/mac*/YouTube\ Music.app $out/Applications + makeWrapper $out/Applications/YouTube\ Music.app/Contents/MacOS/YouTube\ Music $out/bin/youtube-music + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + mkdir -p "$out/share/lib/youtube-music" + cp -r pack/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/youtube-music" - pushd assets/generated/icons/png - for file in *.png; do - install -Dm0644 $file $out/share/icons/hicolor/''${file//.png}/apps/youtube-music.png - done - popd - '' + '' + pushd assets/generated/icons/png + for file in *.png; do + install -Dm0644 $file $out/share/icons/hicolor/''${file//.png}/apps/youtube-music.png + done + popd + '' + + '' - runHook postInstall - ''; + runHook postInstall + ''; postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' makeWrapper ${electron}/bin/electron $out/bin/youtube-music \ @@ -87,10 +97,20 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Electron wrapper around YouTube Music"; homepage = "https://th-ch.github.io/youtube-music/"; - changelog = "https://github.com/th-ch/youtube-music/blob/master/changelog.md#${lib.replaceStrings ["."] [""] finalAttrs.src.rev}"; + changelog = "https://github.com/th-ch/youtube-music/blob/master/changelog.md#${ + lib.replaceStrings [ "." ] [ "" ] finalAttrs.src.rev + }"; license = licenses.mit; - maintainers = with maintainers; [ aacebedo SuperSandro2000 ]; + maintainers = with maintainers; [ + aacebedo + SuperSandro2000 + ]; mainProgram = "youtube-music"; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; }) diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index b419ec217a808..77045ea36dfb6 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -1,62 +1,71 @@ -{ lib -, stdenv -, fetchFromGitHub -, callPackage -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + callPackage, + fetchpatch, # Required build tools -, cmake -, makeWrapper -, pkg-config + cmake, + makeWrapper, + pkg-config, # Required dependencies -, fftw -, liblo -, minixml -, zlib + fftw, + liblo, + minixml, + zlib, # Optional dependencies -, alsaSupport ? stdenv.hostPlatform.isLinux -, alsa-lib -, dssiSupport ? false -, dssi -, ladspaH -, jackSupport ? true -, libjack2 -, lashSupport ? false -, lash -, ossSupport ? true -, portaudioSupport ? true -, portaudio -, sndioSupport ? stdenv.hostPlatform.isOpenBSD -, sndio + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + dssiSupport ? false, + dssi, + ladspaH, + jackSupport ? true, + libjack2, + lashSupport ? false, + lash, + ossSupport ? true, + portaudioSupport ? true, + portaudio, + sndioSupport ? stdenv.hostPlatform.isOpenBSD, + sndio, # Optional GUI dependencies -, guiModule ? "off" -, cairo -, fltk -, libGL -, libjpeg -, libX11 -, libXpm -, ntk + guiModule ? "off", + cairo, + fltk, + libGL, + libjpeg, + libX11, + libXpm, + ntk, # Test dependencies -, cxxtest -, ruby + cxxtest, + ruby, }: -assert builtins.any (g: guiModule == g) [ "fltk" "ntk" "zest" "off" ]; +assert builtins.any (g: guiModule == g) [ + "fltk" + "ntk" + "zest" + "off" +]; let - guiName = { - "fltk" = "FLTK"; - "ntk" = "NTK"; - "zest" = "Zyn-Fusion"; - }.${guiModule}; + guiName = + { + "fltk" = "FLTK"; + "ntk" = "NTK"; + "zest" = "Zyn-Fusion"; + } + .${guiModule}; mruby-zest = callPackage ./mruby-zest { }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "zynaddsubfx"; version = "3.0.6"; @@ -68,7 +77,10 @@ in stdenv.mkDerivation rec { hash = "sha256-0siAx141DZx39facXWmKbsi0rHBNpobApTdey07EcXg="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; patches = [ # Lazily expand ZYN_DATADIR to fix builtin banks across updates @@ -82,18 +94,42 @@ in stdenv.mkDerivation rec { patchShebangs rtosc/test/test-port-checker.rb src/Tests/check-ports.rb ''; - nativeBuildInputs = [ cmake makeWrapper pkg-config ]; + nativeBuildInputs = [ + cmake + makeWrapper + pkg-config + ]; - buildInputs = [ fftw liblo minixml zlib ] + buildInputs = + [ + fftw + liblo + minixml + zlib + ] ++ lib.optionals alsaSupport [ alsa-lib ] - ++ lib.optionals dssiSupport [ dssi ladspaH ] + ++ lib.optionals dssiSupport [ + dssi + ladspaH + ] ++ lib.optionals jackSupport [ libjack2 ] ++ lib.optionals lashSupport [ lash ] ++ lib.optionals portaudioSupport [ portaudio ] ++ lib.optionals sndioSupport [ sndio ] - ++ lib.optionals (guiModule == "fltk") [ fltk libjpeg libXpm ] - ++ lib.optionals (guiModule == "ntk") [ ntk cairo libXpm ] - ++ lib.optionals (guiModule == "zest") [ libGL libX11 ]; + ++ lib.optionals (guiModule == "fltk") [ + fltk + libjpeg + libXpm + ] + ++ lib.optionals (guiModule == "ntk") [ + ntk + cairo + libXpm + ] + ++ lib.optionals (guiModule == "zest") [ + libGL + libX11 + ]; cmakeFlags = [ @@ -112,23 +148,31 @@ in stdenv.mkDerivation rec { ]; doCheck = true; - nativeCheckInputs = [ cxxtest ruby ]; + nativeCheckInputs = [ + cxxtest + ruby + ]; # TODO: Update cmake hook to make it simpler to selectively disable cmake tests: #113829 - checkPhase = let - disabledTests = - # PortChecker is non-deterministic. It's fixed in the master - # branch, but backporting would require an update to rtosc, so - # we'll just disable it until the next release. - [ "PortChecker" ] - - # Tests fail on aarch64 - ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "MessageTest" "UnisonTest" ]; - in '' - runHook preCheck - ctest --output-on-failure -E '^${lib.concatStringsSep "|" disabledTests}$' - runHook postCheck - ''; + checkPhase = + let + disabledTests = + # PortChecker is non-deterministic. It's fixed in the master + # branch, but backporting would require an update to rtosc, so + # we'll just disable it until the next release. + [ "PortChecker" ] + + # Tests fail on aarch64 + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + "MessageTest" + "UnisonTest" + ]; + in + '' + runHook preCheck + ctest --output-on-failure -E '^${lib.concatStringsSep "|" disabledTests}$' + runHook postCheck + ''; # Use Zyn-Fusion logo for zest build # An SVG version of the logo isn't hosted anywhere we can fetch, I @@ -156,9 +200,10 @@ in stdenv.mkDerivation rec { description = "High quality software synthesizer (${guiName} GUI)"; mainProgram = "zynaddsubfx"; homepage = - if guiModule == "zest" - then "https://zynaddsubfx.sourceforge.io/zyn-fusion.html" - else "https://zynaddsubfx.sourceforge.io"; + if guiModule == "zest" then + "https://zynaddsubfx.sourceforge.io/zyn-fusion.html" + else + "https://zynaddsubfx.sourceforge.io"; license = licenses.gpl2Plus; maintainers = with maintainers; [ kira-bruneau ]; diff --git a/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix b/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix index 7f33e10f74208..d7b9ad3133537 100644 --- a/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, bison -, pkg-config -, rake -, ruby -, libGL -, libuv -, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + bison, + pkg-config, + rake, + ruby, + libGL, + libuv, + libX11, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/backup/restique/default.nix b/pkgs/applications/backup/restique/default.nix index b7038d5a3d6ed..d2e1a78361ee5 100644 --- a/pkgs/applications/backup/restique/default.nix +++ b/pkgs/applications/backup/restique/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, fetchFromGitea -, cmake -, libsecret -, qtkeychain -, qttools -, restic +{ + lib, + mkDerivation, + fetchFromGitea, + cmake, + libsecret, + qtkeychain, + qttools, + restic, }: mkDerivation rec { @@ -31,13 +32,20 @@ mkDerivation rec { ]; qtWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ restic ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ restic ]) ]; meta = with lib; { description = "Restic GUI for Desktop/Laptop Backups"; homepage = "https://git.srcbox.net/stefan/restique"; - license = with licenses; [ gpl3Plus cc-by-sa-40 cc0 ]; + license = with licenses; [ + gpl3Plus + cc-by-sa-40 + cc0 + ]; maintainers = with maintainers; [ dotlambda ]; mainProgram = "restique"; }; diff --git a/pkgs/applications/backup/vorta/default.nix b/pkgs/applications/backup/vorta/default.nix index 8bc6e719718ad..0eb847724fea6 100644 --- a/pkgs/applications/backup/vorta/default.nix +++ b/pkgs/applications/backup/vorta/default.nix @@ -1,12 +1,13 @@ -{ lib -, python3Packages -, fetchFromGitHub -, wrapQtAppsHook -, borgbackup -, qtbase -, qtwayland -, stdenv -, makeFontsConf +{ + lib, + python3Packages, + fetchFromGitHub, + wrapQtAppsHook, + borgbackup, + qtbase, + qtwayland, + stdenv, + makeFontsConf, }: python3Packages.buildPythonApplication rec { @@ -62,18 +63,20 @@ python3Packages.buildPythonApplication rec { pytestCheckHook ]; - preCheck = let - fontsConf = makeFontsConf { - fontDirectories = [ ]; - }; - in '' - export HOME=$(mktemp -d) - export FONTCONFIG_FILE=${fontsConf}; - # For tests/test_misc.py::test_autostart - mkdir -p $HOME/.config/autostart - export QT_PLUGIN_PATH="${qtbase}/${qtbase.qtPluginPrefix}" - export QT_QPA_PLATFORM=offscreen - ''; + preCheck = + let + fontsConf = makeFontsConf { + fontDirectories = [ ]; + }; + in + '' + export HOME=$(mktemp -d) + export FONTCONFIG_FILE=${fontsConf}; + # For tests/test_misc.py::test_autostart + mkdir -p $HOME/.config/autostart + export QT_PLUGIN_PATH="${qtbase}/${qtbase.qtPluginPrefix}" + export QT_QPA_PLATFORM=offscreen + ''; disabledTestPaths = [ # QObject::connect: No such signal QPlatformNativeInterface::systemTrayWindowChanged(QScreen*) diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix index 8ae8a998b76c4..d4c96b31232d6 100644 --- a/pkgs/applications/blockchains/bitcoin-abc/default.nix +++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, fetchpatch2 -, pkg-config -, cmake -, openssl -, db53 -, boost -, zlib -, miniupnpc -, qtbase ? null -, qttools ? null -, util-linux -, protobuf -, qrencode -, libevent -, libnatpmp -, sqlite -, withGui -, python3 -, jemalloc -, zeromq4 +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + fetchpatch2, + pkg-config, + cmake, + openssl, + db53, + boost, + zlib, + miniupnpc, + qtbase ? null, + qttools ? null, + util-linux, + protobuf, + qrencode, + libevent, + libnatpmp, + sqlite, + withGui, + python3, + jemalloc, + zeromq4, }: mkDerivation rec { @@ -43,22 +44,31 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ - openssl - db53 - boost - zlib - python3 - jemalloc - libnatpmp - zeromq4 - miniupnpc - util-linux - protobuf - libevent - sqlite - ] ++ lib.optionals withGui [ qtbase qttools qrencode ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = + [ + openssl + db53 + boost + zlib + python3 + jemalloc + libnatpmp + zeromq4 + miniupnpc + util-linux + protobuf + libevent + sqlite + ] + ++ lib.optionals withGui [ + qtbase + qttools + qrencode + ]; cmakeFlags = lib.optionals (!withGui) [ "-DBUILD_BITCOIN_QT=OFF" diff --git a/pkgs/applications/blockchains/bitcoin-knots/default.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix index e0db12dc167c1..984ba370893bc 100644 --- a/pkgs/applications/blockchains/bitcoin-knots/default.nix +++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch2 -, autoreconfHook -, pkg-config -, util-linux -, hexdump -, autoSignDarwinBinariesHook -, wrapQtAppsHook ? null -, boost -, libevent -, miniupnpc -, zeromq -, zlib -, db48 -, sqlite -, qrencode -, qtbase ? null -, qttools ? null -, python3 -, withGui -, withWallet ? true +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + autoreconfHook, + pkg-config, + util-linux, + hexdump, + autoSignDarwinBinariesHook, + wrapQtAppsHook ? null, + boost, + libevent, + miniupnpc, + zeromq, + zlib, + db48, + sqlite, + qrencode, + qtbase ? null, + qttools ? null, + python3, + withGui, + withWallet ? true, }: stdenv.mkDerivation rec { @@ -41,29 +42,49 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = - [ autoreconfHook pkg-config ] + [ + autoreconfHook + pkg-config + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ] ++ lib.optionals withGui [ wrapQtAppsHook ]; - buildInputs = [ boost libevent miniupnpc zeromq zlib ] + buildInputs = + [ + boost + libevent + miniupnpc + zeromq + zlib + ] ++ lib.optionals withWallet [ sqlite ] ++ lib.optionals (withWallet && !stdenv.hostPlatform.isDarwin) [ db48 ] - ++ lib.optionals withGui [ qrencode qtbase qttools ]; + ++ lib.optionals withGui [ + qrencode + qtbase + qttools + ]; - configureFlags = [ - "--with-boost-libdir=${boost.out}/lib" - "--disable-bench" - ] ++ lib.optionals (!doCheck) [ - "--disable-tests" - "--disable-gui-tests" - ] ++ lib.optionals (!withWallet) [ - "--disable-wallet" - ] ++ lib.optionals withGui [ - "--with-gui=qt5" - "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; + configureFlags = + [ + "--with-boost-libdir=${boost.out}/lib" + "--disable-bench" + ] + ++ lib.optionals (!doCheck) [ + "--disable-tests" + "--disable-gui-tests" + ] + ++ lib.optionals (!withWallet) [ + "--disable-wallet" + ] + ++ lib.optionals withGui [ + "--with-gui=qt5" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; nativeCheckInputs = [ python3 ]; @@ -81,7 +102,10 @@ stdenv.mkDerivation rec { description = "Derivative of Bitcoin Core with a collection of improvements"; homepage = "https://bitcoinknots.org/"; changelog = "https://github.com/bitcoinknots/bitcoin/blob/v${version}/doc/release-notes.md"; - maintainers = with maintainers; [ prusnak mmahut ]; + maintainers = with maintainers; [ + prusnak + mmahut + ]; license = licenses.mit; platforms = platforms.unix; }; diff --git a/pkgs/applications/blockchains/bitcoin/default.nix b/pkgs/applications/blockchains/bitcoin/default.nix index e56d332cf5759..03f518cbab928 100644 --- a/pkgs/applications/blockchains/bitcoin/default.nix +++ b/pkgs/applications/blockchains/bitcoin/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch2 -, autoreconfHook -, pkg-config -, installShellFiles -, util-linux -, hexdump -, autoSignDarwinBinariesHook -, wrapQtAppsHook ? null -, boost -, libevent -, miniupnpc -, zeromq -, zlib -, db48 -, sqlite -, qrencode -, qtbase ? null -, qttools ? null -, python3 -, nixosTests -, withGui -, withWallet ? true +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + autoreconfHook, + pkg-config, + installShellFiles, + util-linux, + hexdump, + autoSignDarwinBinariesHook, + wrapQtAppsHook ? null, + boost, + libevent, + miniupnpc, + zeromq, + zlib, + db48, + sqlite, + qrencode, + qtbase ? null, + qttools ? null, + python3, + nixosTests, + withGui, + withWallet ? true, }: let @@ -45,52 +46,75 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = - [ autoreconfHook pkg-config installShellFiles ] + [ + autoreconfHook + pkg-config + installShellFiles + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ] ++ lib.optionals withGui [ wrapQtAppsHook ]; - buildInputs = [ boost libevent miniupnpc zeromq zlib ] + buildInputs = + [ + boost + libevent + miniupnpc + zeromq + zlib + ] ++ lib.optionals withWallet [ sqlite ] # building with db48 (for legacy descriptor wallet support) is broken on Darwin ++ lib.optionals (withWallet && !stdenv.hostPlatform.isDarwin) [ db48 ] - ++ lib.optionals withGui [ qrencode qtbase qttools ]; + ++ lib.optionals withGui [ + qrencode + qtbase + qttools + ]; - postInstall = '' - installShellCompletion --bash contrib/completions/bash/bitcoin-cli.bash - installShellCompletion --bash contrib/completions/bash/bitcoind.bash - installShellCompletion --bash contrib/completions/bash/bitcoin-tx.bash + postInstall = + '' + installShellCompletion --bash contrib/completions/bash/bitcoin-cli.bash + installShellCompletion --bash contrib/completions/bash/bitcoind.bash + installShellCompletion --bash contrib/completions/bash/bitcoin-tx.bash - installShellCompletion --fish contrib/completions/fish/bitcoin-cli.fish - installShellCompletion --fish contrib/completions/fish/bitcoind.fish - installShellCompletion --fish contrib/completions/fish/bitcoin-tx.fish - installShellCompletion --fish contrib/completions/fish/bitcoin-util.fish - installShellCompletion --fish contrib/completions/fish/bitcoin-wallet.fish - '' + lib.optionalString withGui '' - installShellCompletion --fish contrib/completions/fish/bitcoin-qt.fish + installShellCompletion --fish contrib/completions/fish/bitcoin-cli.fish + installShellCompletion --fish contrib/completions/fish/bitcoind.fish + installShellCompletion --fish contrib/completions/fish/bitcoin-tx.fish + installShellCompletion --fish contrib/completions/fish/bitcoin-util.fish + installShellCompletion --fish contrib/completions/fish/bitcoin-wallet.fish + '' + + lib.optionalString withGui '' + installShellCompletion --fish contrib/completions/fish/bitcoin-qt.fish - install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop - substituteInPlace $out/share/applications/bitcoin-qt.desktop --replace "Icon=bitcoin128" "Icon=bitcoin" - install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png - ''; + install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop + substituteInPlace $out/share/applications/bitcoin-qt.desktop --replace "Icon=bitcoin128" "Icon=bitcoin" + install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png + ''; preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' export MACOSX_DEPLOYMENT_TARGET=10.13 ''; - configureFlags = [ - "--with-boost-libdir=${boost.out}/lib" - "--disable-bench" - ] ++ lib.optionals (!doCheck) [ - "--disable-tests" - "--disable-gui-tests" - ] ++ lib.optionals (!withWallet) [ - "--disable-wallet" - ] ++ lib.optionals withGui [ - "--with-gui=qt5" - "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; + configureFlags = + [ + "--with-boost-libdir=${boost.out}/lib" + "--disable-bench" + ] + ++ lib.optionals (!doCheck) [ + "--disable-tests" + "--disable-gui-tests" + ] + ++ lib.optionals (!withWallet) [ + "--disable-wallet" + ] + ++ lib.optionals withGui [ + "--with-gui=qt5" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; nativeCheckInputs = [ python3 ]; @@ -119,7 +143,10 @@ stdenv.mkDerivation rec { homepage = "https://bitcoin.org/en/"; downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/"; changelog = "https://bitcoincore.org/en/releases/${version}/"; - maintainers = with maintainers; [ prusnak roconnor ]; + maintainers = with maintainers; [ + prusnak + roconnor + ]; license = licenses.mit; platforms = platforms.unix; }; diff --git a/pkgs/applications/blockchains/cryptop/default.nix b/pkgs/applications/blockchains/cryptop/default.nix index 588fb03a36569..61ab913b2e156 100644 --- a/pkgs/applications/blockchains/cryptop/default.nix +++ b/pkgs/applications/blockchains/cryptop/default.nix @@ -1,4 +1,11 @@ -{ lib, buildPythonApplication, fetchPypi, requests, requests-cache, setuptools }: +{ + lib, + buildPythonApplication, + fetchPypi, + requests, + requests-cache, + setuptools, +}: buildPythonApplication rec { pname = "cryptop"; @@ -9,7 +16,11 @@ buildPythonApplication rec { sha256 = "0akrrz735vjfrm78plwyg84vabj0x3qficq9xxmy9kr40fhdkzpb"; }; - propagatedBuildInputs = [ setuptools requests requests-cache ]; + propagatedBuildInputs = [ + setuptools + requests + requests-cache + ]; # No tests in archive doCheck = false; diff --git a/pkgs/applications/blockchains/digibyte/default.nix b/pkgs/applications/blockchains/digibyte/default.nix index 4e563d21fa22d..bb254dc0c32f6 100644 --- a/pkgs/applications/blockchains/digibyte/default.nix +++ b/pkgs/applications/blockchains/digibyte/default.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, fetchFromGitHub -, openssl -, boost -, libevent -, autoreconfHook -, db4 -, pkg-config -, protobuf -, hexdump -, zeromq -, withGui -, qtbase ? null -, qttools ? null -, wrapQtAppsHook ? null +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + boost, + libevent, + autoreconfHook, + db4, + pkg-config, + protobuf, + hexdump, + zeromq, + withGui, + qtbase ? null, + qttools ? null, + wrapQtAppsHook ? null, }: stdenv.mkDerivation rec { @@ -28,34 +30,40 @@ stdenv.mkDerivation rec { sha256 = "zPwnC2qd28fA1saG4nysPlKU1nnXhfuSG3DpCY6T+kM="; }; - nativeBuildInputs = [ - autoreconfHook - pkg-config - hexdump - ] ++ lib.optionals withGui [ - wrapQtAppsHook - ]; + nativeBuildInputs = + [ + autoreconfHook + pkg-config + hexdump + ] + ++ lib.optionals withGui [ + wrapQtAppsHook + ]; - buildInputs = [ - openssl - boost - libevent - db4 - zeromq - ] ++ lib.optionals withGui [ - qtbase - qttools - protobuf - ]; + buildInputs = + [ + openssl + boost + libevent + db4 + zeromq + ] + ++ lib.optionals withGui [ + qtbase + qttools + protobuf + ]; enableParallelBuilding = true; - configureFlags = [ + configureFlags = + [ "--with-boost-libdir=${boost.out}/lib" - ] ++ lib.optionals withGui [ + ] + ++ lib.optionals withGui [ "--with-gui=qt5" "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; + ]; meta = with lib; { description = "DigiByte (DGB) is a rapidly growing decentralized, global blockchain"; diff --git a/pkgs/applications/blockchains/electrs/default.nix b/pkgs/applications/blockchains/electrs/default.nix index 3c669592c0dd5..c24cca9fcf0be 100644 --- a/pkgs/applications/blockchains/electrs/default.nix +++ b/pkgs/applications/blockchains/electrs/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, rocksdb_7_10 -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + rocksdb_7_10, + Security, }: let diff --git a/pkgs/applications/blockchains/fulcrum/default.nix b/pkgs/applications/blockchains/fulcrum/default.nix index 8c45ab4857028..b52c720267e5a 100644 --- a/pkgs/applications/blockchains/fulcrum/default.nix +++ b/pkgs/applications/blockchains/fulcrum/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, qmake -, python3 -, qtbase -, rocksdb_7_10 -, zeromq +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + qmake, + python3, + qtbase, + rocksdb_7_10, + zeromq, }: stdenv.mkDerivation rec { @@ -20,11 +21,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-+hBc7jW1MVLVjYXNOV7QvFJJpZ5RzW5/c9NdqOXrsj0="; }; - nativeBuildInputs = [ pkg-config qmake ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; dontWrapQtApps = true; # no GUI - buildInputs = [ python3 qtbase rocksdb_7_10 zeromq ]; + buildInputs = [ + python3 + qtbase + rocksdb_7_10 + zeromq + ]; meta = with lib; { description = "Fast & nimble SPV server for Bitcoin Cash & Bitcoin BTC"; diff --git a/pkgs/applications/blockchains/gridcoin-research/default.nix b/pkgs/applications/blockchains/gridcoin-research/default.nix index d5e06622ae0d2..136800a4eb11d 100644 --- a/pkgs/applications/blockchains/gridcoin-research/default.nix +++ b/pkgs/applications/blockchains/gridcoin-research/default.nix @@ -1,20 +1,21 @@ -{ fetchFromGitHub -, stdenv -, lib -, openssl -, boost -, curl -, libevent -, libzip -, qrencode -, qtbase -, qttools -, wrapQtAppsHook -, autoreconfHook -, pkg-config -, libtool -, miniupnpc -, hexdump +{ + fetchFromGitHub, + stdenv, + lib, + openssl, + boost, + curl, + libevent, + libzip, + qrencode, + qtbase, + qttools, + wrapQtAppsHook, + autoreconfHook, + pkg-config, + libtool, + miniupnpc, + hexdump, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/blockchains/groestlcoin/default.nix b/pkgs/applications/blockchains/groestlcoin/default.nix index b107cd2372631..2922a04723120 100644 --- a/pkgs/applications/blockchains/groestlcoin/default.nix +++ b/pkgs/applications/blockchains/groestlcoin/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, autoreconfHook -, pkg-config -, installShellFiles -, util-linux -, hexdump -, autoSignDarwinBinariesHook -, wrapQtAppsHook ? null -, boost -, libevent -, miniupnpc -, zeromq -, zlib -, db53 -, sqlite -, qrencode -, qtbase ? null -, qttools ? null -, python3 -, withGui ? false -, withWallet ? true +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + autoreconfHook, + pkg-config, + installShellFiles, + util-linux, + hexdump, + autoSignDarwinBinariesHook, + wrapQtAppsHook ? null, + boost, + libevent, + miniupnpc, + zeromq, + zlib, + db53, + sqlite, + qrencode, + qtbase ? null, + qttools ? null, + python3, + withGui ? false, + withWallet ? true, }: let @@ -42,49 +43,76 @@ stdenv.mkDerivation rec { sha256 = "0kl7nq62362clgzxwwd5c256xnaar4ilxcvbralazxg47zv95r11"; }; - nativeBuildInputs = [ autoreconfHook pkg-config installShellFiles ] + nativeBuildInputs = + [ + autoreconfHook + pkg-config + installShellFiles + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ] ++ lib.optionals withGui [ wrapQtAppsHook ]; - buildInputs = [ boost libevent miniupnpc zeromq zlib ] - ++ lib.optionals withWallet [ db53 sqlite ] - ++ lib.optionals withGui [ qrencode qtbase qttools ]; + buildInputs = + [ + boost + libevent + miniupnpc + zeromq + zlib + ] + ++ lib.optionals withWallet [ + db53 + sqlite + ] + ++ lib.optionals withGui [ + qrencode + qtbase + qttools + ]; - postInstall = '' - installShellCompletion --bash contrib/completions/bash/groestlcoin-cli.bash - installShellCompletion --bash contrib/completions/bash/groestlcoind.bash - installShellCompletion --bash contrib/completions/bash/groestlcoin-tx.bash + postInstall = + '' + installShellCompletion --bash contrib/completions/bash/groestlcoin-cli.bash + installShellCompletion --bash contrib/completions/bash/groestlcoind.bash + installShellCompletion --bash contrib/completions/bash/groestlcoin-tx.bash - for file in contrib/completions/fish/groestlcoin-*.fish; do - installShellCompletion --fish $file - done - '' + lib.optionalString withGui '' - installShellCompletion --fish contrib/completions/fish/groestlcoin-qt.fish + for file in contrib/completions/fish/groestlcoin-*.fish; do + installShellCompletion --fish $file + done + '' + + lib.optionalString withGui '' + installShellCompletion --fish contrib/completions/fish/groestlcoin-qt.fish - install -Dm644 ${desktop} $out/share/applications/groestlcoin-qt.desktop - substituteInPlace $out/share/applications/groestlcoin-qt.desktop --replace "Icon=groestlcoin128" "Icon=groestlcoin" - install -Dm644 share/pixmaps/groestlcoin256.png $out/share/pixmaps/groestlcoin.png - ''; + install -Dm644 ${desktop} $out/share/applications/groestlcoin-qt.desktop + substituteInPlace $out/share/applications/groestlcoin-qt.desktop --replace "Icon=groestlcoin128" "Icon=groestlcoin" + install -Dm644 share/pixmaps/groestlcoin256.png $out/share/pixmaps/groestlcoin.png + ''; preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' export MACOSX_DEPLOYMENT_TARGET=10.13 ''; - configureFlags = [ - "--with-boost-libdir=${boost.out}/lib" - "--disable-bench" - ] ++ lib.optionals (!withWallet) [ - "--disable-wallet" - ] ++ lib.optionals withGui [ - "--with-gui=qt5" - "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; + configureFlags = + [ + "--with-boost-libdir=${boost.out}/lib" + "--disable-bench" + ] + ++ lib.optionals (!withWallet) [ + "--disable-wallet" + ] + ++ lib.optionals withGui [ + "--with-gui=qt5" + "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + ]; nativeCheckInputs = [ python3 ]; - checkFlags = [ "LC_ALL=en_US.UTF-8" ] + checkFlags = + [ "LC_ALL=en_US.UTF-8" ] # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Groestlcoin's GUI. # See also https://github.com/NixOS/nixpkgs/issues/24256 ++ lib.optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}"; diff --git a/pkgs/applications/blockchains/haven-cli/default.nix b/pkgs/applications/blockchains/haven-cli/default.nix index 31ceee6ff1025..55024aa83e440 100644 --- a/pkgs/applications/blockchains/haven-cli/default.nix +++ b/pkgs/applications/blockchains/haven-cli/default.nix @@ -1,10 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, pkg-config -, boost, miniupnpc, openssl, unbound -, zeromq, pcsclite, readline, libsodium, hidapi -, randomx, rapidjson, easyloggingpp -, CoreData, IOKit, PCSC -, trezorSupport ? true, libusb1, protobuf, python3 -, monero-cli +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + pkg-config, + boost, + miniupnpc, + openssl, + unbound, + zeromq, + pcsclite, + readline, + libsodium, + hidapi, + randomx, + rapidjson, + easyloggingpp, + CoreData, + IOKit, + PCSC, + trezorSupport ? true, + libusb1, + protobuf, + python3, + monero-cli, }: stdenv.mkDerivation rec { @@ -28,33 +48,62 @@ stdenv.mkDerivation rec { cp -r . $source ''; - nativeBuildInputs = [ cmake ninja pkg-config ]; - - buildInputs = [ - boost miniupnpc openssl unbound - zeromq pcsclite readline - libsodium hidapi randomx rapidjson - protobuf readline easyloggingpp - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit CoreData PCSC ] - ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]; - - cmakeFlags = [ - "-DBUILD_GUI_DEPS=ON" - "-DReadline_ROOT_DIR=${readline.dev}" - "-DReadline_INCLUDE_DIR=${readline.dev}/include/readline" - "-DRandomX_ROOT_DIR=${randomx}" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "-DBoost_USE_MULTITHREADED=OFF" + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; + + buildInputs = + [ + boost + miniupnpc + openssl + unbound + zeromq + pcsclite + readline + libsodium + hidapi + randomx + rapidjson + protobuf + readline + easyloggingpp + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + CoreData + PCSC + ] + ++ lib.optionals trezorSupport [ + libusb1 + protobuf + python3 + ]; + + cmakeFlags = + [ + "-DBUILD_GUI_DEPS=ON" + "-DReadline_ROOT_DIR=${readline.dev}" + "-DReadline_INCLUDE_DIR=${readline.dev}/include/readline" + "-DRandomX_ROOT_DIR=${randomx}" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "-DBoost_USE_MULTITHREADED=OFF" ++ lib.optional (!trezorSupport) "-DUSE_DEVICE_TREZOR=OFF"; - outputs = [ "out" "source" ]; + outputs = [ + "out" + "source" + ]; meta = with lib; { - description = "Haven Protocol is the world's only network of private stable asset"; - homepage = "https://havenprotocol.org/"; - license = licenses.bsd3; - platforms = platforms.all; + description = "Haven Protocol is the world's only network of private stable asset"; + homepage = "https://havenprotocol.org/"; + license = licenses.bsd3; + platforms = platforms.all; badPlatforms = [ "x86_64-darwin" ]; - maintainers = with maintainers; [ kim0 ]; - mainProgram = "haven-wallet-cli"; + maintainers = with maintainers; [ kim0 ]; + mainProgram = "haven-wallet-cli"; }; } diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix index 7e8a5fe73dcd2..f1173d97f8d9a 100644 --- a/pkgs/applications/blockchains/monero-gui/default.nix +++ b/pkgs/applications/blockchains/monero-gui/default.nix @@ -126,7 +126,10 @@ stdenv.mkDerivation rec { icon = "monero"; desktopName = "Monero"; genericName = "Wallet"; - categories = [ "Network" "Utility" ]; + categories = [ + "Network" + "Utility" + ]; }; postInstall = '' diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix index 0dc6db9e5d7f7..f0080a1150da3 100644 --- a/pkgs/applications/blockchains/nano-wallet/default.nix +++ b/pkgs/applications/blockchains/nano-wallet/default.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, fetchpatch -, cmake, pkg-config, wrapQtAppsHook, boost, libGL -, qtbase, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + wrapQtAppsHook, + boost, + libGL, + qtbase, + python3, +}: stdenv.mkDerivation rec { @@ -27,23 +36,33 @@ stdenv.mkDerivation rec { }) ]; - cmakeFlags = let - options = { - PYTHON_EXECUTABLE = "${python3.interpreter}"; - NANO_SHARED_BOOST = "ON"; - BOOST_ROOT = boost; - RAIBLOCKS_GUI = "ON"; - RAIBLOCKS_TEST = "ON"; - Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5"; - Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core"; - Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui"; - Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets"; - }; - optionToFlag = name: value: "-D${name}=${value}"; - in lib.mapAttrsToList optionToFlag options; + cmakeFlags = + let + options = { + PYTHON_EXECUTABLE = "${python3.interpreter}"; + NANO_SHARED_BOOST = "ON"; + BOOST_ROOT = boost; + RAIBLOCKS_GUI = "ON"; + RAIBLOCKS_TEST = "ON"; + Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5"; + Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core"; + Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui"; + Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets"; + }; + optionToFlag = name: value: "-D${name}=${value}"; + in + lib.mapAttrsToList optionToFlag options; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; - buildInputs = [ boost libGL qtbase ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; + buildInputs = [ + boost + libGL + qtbase + ]; strictDeps = true; diff --git a/pkgs/applications/blockchains/optimism/default.nix b/pkgs/applications/blockchains/optimism/default.nix index 73f26ee494b90..d4b915d8cd82b 100644 --- a/pkgs/applications/blockchains/optimism/default.nix +++ b/pkgs/applications/blockchains/optimism/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + libpcap, }: buildGoModule rec { @@ -16,7 +17,11 @@ buildGoModule rec { fetchSubmodules = true; }; - subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ]; + subPackages = [ + "op-node/cmd" + "op-proposer/cmd" + "op-batcher/cmd" + ]; vendorHash = "sha256-Sr9OECXbRa4SPe3owMto2EbnAIygeIEmZv73hvA6iww="; @@ -24,7 +29,10 @@ buildGoModule rec { libpcap ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Optimism is Ethereum, scaled"; diff --git a/pkgs/applications/blockchains/optimism/geth.nix b/pkgs/applications/blockchains/optimism/geth.nix index 473ee254d08fe..e88ce594cd8d5 100644 --- a/pkgs/applications/blockchains/optimism/geth.nix +++ b/pkgs/applications/blockchains/optimism/geth.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, libobjc -, IOKit +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + libobjc, + IOKit, }: buildGoModule rec { @@ -36,10 +37,15 @@ buildGoModule rec { vendorHash = "sha256-pcIydpKWZt3vwShwzGlPKGq+disdxYFOB8gxHou3mVU="; # Fix for usb-related segmentation faults on darwin - propagatedBuildInputs = - lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = ""; diff --git a/pkgs/applications/blockchains/snarkos/default.nix b/pkgs/applications/blockchains/snarkos/default.nix index 0cebbecc03095..e54e24c5a7b6d 100644 --- a/pkgs/applications/blockchains/snarkos/default.nix +++ b/pkgs/applications/blockchains/snarkos/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, fetchFromGitHub -, lib -, rustPlatform -, Security -, curl -, pkg-config -, openssl +{ + stdenv, + fetchFromGitHub, + lib, + rustPlatform, + Security, + curl, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { pname = "snarkos"; @@ -22,12 +23,15 @@ rustPlatform.buildRustPackage rec { # buildAndTestSubdir = "cli"; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + pkg-config + rustPlatform.bindgenHook + ]; # Needed to get openssl-sys to use pkg-config. OPENSSL_NO_VENDOR = 1; OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib"; - OPENSSL_DIR="${lib.getDev openssl}"; + OPENSSL_DIR = "${lib.getDev openssl}"; # TODO check why rust compilation fails by including the rocksdb from nixpkgs # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would @@ -35,7 +39,10 @@ rustPlatform.buildRustPackage rec { # ROCKSDB_INCLUDE_DIR="${rocksdb}/include"; # ROCKSDB_LIB_DIR="${rocksdb}/lib"; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security curl ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Security + curl + ]; # some tests are flaky and some need network access # TODO finish filtering the tests to enable them @@ -47,7 +54,6 @@ rustPlatform.buildRustPackage rec { # "--skip=helpers::block_requests::tests::test_block_requests_case_2ca" # ]; - meta = with lib; { description = "Decentralized Operating System for Zero-Knowledge Applications"; homepage = "https://snarkos.org"; diff --git a/pkgs/applications/blockchains/solana-validator/default.nix b/pkgs/applications/blockchains/solana-validator/default.nix index de66bc1c6d57c..ffd6ec7243703 100644 --- a/pkgs/applications/blockchains/solana-validator/default.nix +++ b/pkgs/applications/blockchains/solana-validator/default.nix @@ -1,44 +1,47 @@ # largely inspired from https://github.com/saber-hq/saber-overlay/blob/master/packages/solana/solana.nix -{ stdenv -, fetchFromGitHub -, lib -, rustPlatform -, pkg-config -, darwin -, udev -, zlib -, protobuf -, openssl -, libcxx -, rocksdb_8_3 -, rustfmt -, perl -, hidapi -, solanaPkgs ? [ - "solana" - "solana-bench-tps" - "solana-faucet" - "solana-gossip" - "solana-install" - "solana-keygen" - "solana-ledger-tool" - "solana-log-analyzer" - "solana-net-shaper" - "solana-validator" - "cargo-build-bpf" - "cargo-test-bpf" - "solana-dos" - "solana-install-init" - "solana-stake-accounts" - "solana-test-validator" - "solana-tokens" - "solana-watchtower" - ] ++ [ - # XXX: Ensure `solana-genesis` is built LAST! - # See https://github.com/solana-labs/solana/issues/5826 - "solana-genesis" - ] +{ + stdenv, + fetchFromGitHub, + lib, + rustPlatform, + pkg-config, + darwin, + udev, + zlib, + protobuf, + openssl, + libcxx, + rocksdb_8_3, + rustfmt, + perl, + hidapi, + solanaPkgs ? + [ + "solana" + "solana-bench-tps" + "solana-faucet" + "solana-gossip" + "solana-install" + "solana-keygen" + "solana-ledger-tool" + "solana-log-analyzer" + "solana-net-shaper" + "solana-validator" + "cargo-build-bpf" + "cargo-test-bpf" + "solana-dos" + "solana-install-init" + "solana-stake-accounts" + "solana-test-validator" + "solana-tokens" + "solana-watchtower" + ] + ++ [ + # XXX: Ensure `solana-genesis` is built LAST! + # See https://github.com/solana-labs/solana/issues/5826 + "solana-genesis" + ], }: let pinData = lib.importJSON ./pin.json; @@ -46,7 +49,12 @@ let hash = pinData.hash; rocksdb = rocksdb_8_3; inherit (darwin.apple_sdk_11_0) Libsystem; - inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security; + inherit (darwin.apple_sdk_11_0.frameworks) + System + IOKit + AppKit + Security + ; in rustPlatform.buildRustPackage rec { pname = "solana-validator"; @@ -72,27 +80,45 @@ rustPlatform.buildRustPackage rec { # weird errors. see https://github.com/NixOS/nixpkgs/issues/52447#issuecomment-852079285 # LLVM_CONFIG_PATH = "${llvm}/bin/llvm-config"; - nativeBuildInputs = [ pkg-config protobuf rustfmt perl rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + pkg-config + protobuf + rustfmt + perl + rustPlatform.bindgenHook + ]; buildInputs = - [ openssl zlib hidapi ] ++ (lib.optionals stdenv.hostPlatform.isLinux [ udev ]) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security System Libsystem libcxx ]; + [ + openssl + zlib + hidapi + ] + ++ (lib.optionals stdenv.hostPlatform.isLinux [ udev ]) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + System + Libsystem + libcxx + ]; strictDeps = true; doCheck = false; - env = { - # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would - # try to build RocksDB from source. - ROCKSDB_LIB_DIR = "${lib.getLib rocksdb}/lib"; + env = + { + # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would + # try to build RocksDB from source. + ROCKSDB_LIB_DIR = "${lib.getLib rocksdb}/lib"; - # If set, always finds OpenSSL in the system, even if the vendored feature is enabled. - OPENSSL_NO_VENDOR = "1"; - } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # Require this on darwin otherwise the compiler starts rambling about missing - # cmath functions - CPPFLAGS = "-isystem ${lib.getDev libcxx}/include/c++/v1"; - LDFLAGS = "-L${lib.getLib libcxx}/lib"; - }; + # If set, always finds OpenSSL in the system, even if the vendored feature is enabled. + OPENSSL_NO_VENDOR = "1"; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # Require this on darwin otherwise the compiler starts rambling about missing + # cmath functions + CPPFLAGS = "-isystem ${lib.getDev libcxx}/include/c++/v1"; + LDFLAGS = "-L${lib.getLib libcxx}/lib"; + }; meta = with lib; { description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces."; diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix index ec5bea4535022..e0df2dc7bc6bb 100644 --- a/pkgs/applications/blockchains/sparrow/default.nix +++ b/pkgs/applications/blockchains/sparrow/default.nix @@ -1,24 +1,25 @@ -{ stdenv -, stdenvNoCC -, lib -, makeWrapper -, fetchurl -, makeDesktopItem -, copyDesktopItems -, autoPatchelfHook -, openjdk -, gtk3 -, gsettings-desktop-schemas -, writeScript -, bash -, gnugrep -, tor -, zlib -, openimajgrabber -, hwi -, imagemagick -, gzip -, gnupg +{ + stdenv, + stdenvNoCC, + lib, + makeWrapper, + fetchurl, + makeDesktopItem, + copyDesktopItems, + autoPatchelfHook, + openjdk, + gtk3, + gsettings-desktop-schemas, + writeScript, + bash, + gnugrep, + tor, + zlib, + openimajgrabber, + hwi, + imagemagick, + gzip, + gnupg, }: let @@ -136,7 +137,15 @@ let sparrow-modules = stdenvNoCC.mkDerivation { pname = "sparrow-modules"; inherit version src; - nativeBuildInputs = [ makeWrapper gzip gnugrep openjdk autoPatchelfHook (lib.getLib stdenv.cc.cc) zlib ]; + nativeBuildInputs = [ + makeWrapper + gzip + gnugrep + openjdk + autoPatchelfHook + (lib.getLib stdenv.cc.cc) + zlib + ]; buildPhase = '' # Extract Sparrow's JIMAGE and generate a list of them. @@ -202,7 +211,10 @@ in stdenvNoCC.mkDerivation rec { inherit version src; pname = "sparrow-unwrapped"; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; desktopItems = [ (makeDesktopItem { @@ -211,8 +223,17 @@ stdenvNoCC.mkDerivation rec { icon = "sparrow-desktop"; desktopName = "Sparrow Bitcoin Wallet"; genericName = "Bitcoin Wallet"; - categories = [ "Finance" "Network" ]; - mimeTypes = [ "application/psbt" "application/bitcoin-transaction" "x-scheme-handler/bitcoin" "x-scheme-handler/auth47" "x-scheme-handler/lightning" ]; + categories = [ + "Finance" + "Network" + ]; + mimeTypes = [ + "application/psbt" + "application/bitcoin-transaction" + "x-scheme-handler/bitcoin" + "x-scheme-handler/auth47" + "x-scheme-handler/lightning" + ]; startupWMClass = "Sparrow"; }) ]; @@ -257,7 +278,10 @@ stdenvNoCC.mkDerivation rec { binaryNativeCode ]; license = licenses.asl20; - maintainers = with maintainers; [ emmanuelrosa _1000101 ]; + maintainers = with maintainers; [ + emmanuelrosa + _1000101 + ]; platforms = [ "x86_64-linux" ]; mainProgram = "sparrow-desktop"; }; diff --git a/pkgs/applications/blockchains/sparrow/fhsenv.nix b/pkgs/applications/blockchains/sparrow/fhsenv.nix index 8a8abfe810328..4d17e8adb1a47 100644 --- a/pkgs/applications/blockchains/sparrow/fhsenv.nix +++ b/pkgs/applications/blockchains/sparrow/fhsenv.nix @@ -1,5 +1,6 @@ -{ buildFHSEnv -, sparrow-unwrapped +{ + buildFHSEnv, + sparrow-unwrapped, }: buildFHSEnv { @@ -8,14 +9,16 @@ buildFHSEnv { runScript = "${sparrow-unwrapped}/bin/sparrow-desktop"; - targetPkgs = pkgs: with pkgs; [ - sparrow-unwrapped - pcsclite - ]; + targetPkgs = + pkgs: with pkgs; [ + sparrow-unwrapped + pcsclite + ]; - multiPkgs = pkgs: with pkgs; [ - pcsclite - ]; + multiPkgs = + pkgs: with pkgs; [ + pcsclite + ]; extraInstallCommands = '' mkdir -p $out/share diff --git a/pkgs/applications/blockchains/sparrow/openimajgrabber.nix b/pkgs/applications/blockchains/sparrow/openimajgrabber.nix index 8fac6f1a27ae6..7282aa8c305c1 100644 --- a/pkgs/applications/blockchains/sparrow/openimajgrabber.nix +++ b/pkgs/applications/blockchains/sparrow/openimajgrabber.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, libv4l +{ + stdenv, + lib, + fetchFromGitHub, + libv4l, }: stdenv.mkDerivation rec { pname = "openimajgrabber"; @@ -34,7 +35,10 @@ stdenv.mkDerivation rec { description = "Collection of libraries and tools for multimedia (images, text, video, audio, etc.) content analysis and content generation. This package only builds the OpenIMAJGrabber for Linux"; homepage = "http://www.openimaj.org"; license = licenses.bsd0; - maintainers = with maintainers; [ emmanuelrosa _1000101 ]; + maintainers = with maintainers; [ + emmanuelrosa + _1000101 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/blockchains/teos/default.nix b/pkgs/applications/blockchains/teos/default.nix index 61299621e0fb5..45cb42514ac34 100644 --- a/pkgs/applications/blockchains/teos/default.nix +++ b/pkgs/applications/blockchains/teos/default.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, protobuf -, rustfmt -, stdenv -, darwin -, pkg-config -, openssl +{ + lib, + rustPlatform, + fetchFromGitHub, + protobuf, + rustfmt, + stdenv, + darwin, + pkg-config, + openssl, }: let @@ -67,11 +68,13 @@ in rustfmt ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; passthru.updateScript = updateScript; diff --git a/pkgs/applications/blockchains/vertcoin/default.nix b/pkgs/applications/blockchains/vertcoin/default.nix index 835c89768de91..056bad01dfc64 100644 --- a/pkgs/applications/blockchains/vertcoin/default.nix +++ b/pkgs/applications/blockchains/vertcoin/default.nix @@ -1,20 +1,22 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, openssl -, boost -, libevent -, autoreconfHook -, db4 -, pkg-config -, protobuf -, hexdump -, zeromq -, gmp -, withGui -, qtbase ? null -, qttools ? null -, wrapQtAppsHook ? null +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + openssl, + boost, + libevent, + autoreconfHook, + db4, + pkg-config, + protobuf, + hexdump, + zeromq, + gmp, + withGui, + qtbase ? null, + qttools ? null, + wrapQtAppsHook ? null, }: stdenv.mkDerivation rec { @@ -44,35 +46,41 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - autoreconfHook - pkg-config - hexdump - ] ++ lib.optionals withGui [ - wrapQtAppsHook - ]; + nativeBuildInputs = + [ + autoreconfHook + pkg-config + hexdump + ] + ++ lib.optionals withGui [ + wrapQtAppsHook + ]; - buildInputs = [ - openssl - boost - libevent - db4 - zeromq - gmp - ] ++ lib.optionals withGui [ - qtbase - qttools - protobuf - ]; + buildInputs = + [ + openssl + boost + libevent + db4 + zeromq + gmp + ] + ++ lib.optionals withGui [ + qtbase + qttools + protobuf + ]; enableParallelBuilding = true; - configureFlags = [ + configureFlags = + [ "--with-boost-libdir=${boost.out}/lib" - ] ++ lib.optionals withGui [ + ] + ++ lib.optionals withGui [ "--with-gui=qt5" "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; + ]; meta = with lib; { description = "Digital currency with mining decentralisation and ASIC resistance as a key focus"; diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix index f2c3cc7a065f2..a11388ef4764f 100644 --- a/pkgs/applications/blockchains/zcash/default.nix +++ b/pkgs/applications/blockchains/zcash/default.nix @@ -1,6 +1,28 @@ -{ autoreconfHook, boost180, cargo, coreutils, curl, cxx-rs, db62, fetchFromGitHub -, git, hexdump, lib, libevent, libsodium, makeWrapper, rustPlatform -, pkg-config, Security, stdenv, testers, tl-expected, utf8cpp, util-linux, zcash, zeromq +{ + autoreconfHook, + boost180, + cargo, + coreutils, + curl, + cxx-rs, + db62, + fetchFromGitHub, + git, + hexdump, + lib, + libevent, + libsodium, + makeWrapper, + rustPlatform, + pkg-config, + Security, + stdenv, + testers, + tl-expected, + utf8cpp, + util-linux, + zcash, + zeromq, }: rustPlatform.buildRustPackage.override { inherit stdenv; } rec { @@ -9,7 +31,7 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec { src = fetchFromGitHub { owner = "zcash"; - repo = "zcash"; + repo = "zcash"; rev = "v${version}"; hash = "sha256-XGq/cYUo43FcpmRDO2YiNLCuEQLsTFLBFC4M1wM29l8="; }; @@ -22,20 +44,30 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec { cargoHash = "sha256-Mz8mr/RDcOfwJvXhY19rZmWHP8mUeEf9GYD+3JAPNOw="; - nativeBuildInputs = [ autoreconfHook cargo cxx-rs git hexdump makeWrapper pkg-config ]; - - buildInputs = [ - boost180 - db62 - libevent - libsodium - tl-expected - utf8cpp - zeromq - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security + nativeBuildInputs = [ + autoreconfHook + cargo + cxx-rs + git + hexdump + makeWrapper + pkg-config ]; + buildInputs = + [ + boost180 + db62 + libevent + libsodium + tl-expected + utf8cpp + zeromq + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; + # Use the stdenv default phases (./configure; make) instead of the # ones from buildRustPackage. configurePhase = "configurePhase"; @@ -73,13 +105,23 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec { postInstall = '' wrapProgram $out/bin/zcash-fetch-params \ - --set PATH ${lib.makeBinPath [ coreutils curl util-linux ]} + --set PATH ${ + lib.makeBinPath [ + coreutils + curl + util-linux + ] + } ''; meta = with lib; { description = "Peer-to-peer, anonymous electronic cash system"; homepage = "https://z.cash/"; - maintainers = with maintainers; [ rht tkerber centromere ]; + maintainers = with maintainers; [ + rht + tkerber + centromere + ]; license = licenses.mit; # https://github.com/zcash/zcash/issues/4405 diff --git a/pkgs/applications/display-managers/greetd/default.nix b/pkgs/applications/display-managers/greetd/default.nix index 08661deb7a3c7..37db111efe0ad 100644 --- a/pkgs/applications/display-managers/greetd/default.nix +++ b/pkgs/applications/display-managers/greetd/default.nix @@ -1,9 +1,10 @@ -{ rustPlatform -, lib -, fetchFromSourcehut -, pam -, scdoc -, installShellFiles +{ + rustPlatform, + lib, + fetchFromSourcehut, + pam, + scdoc, + installShellFiles, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/display-managers/greetd/gtkgreet.nix b/pkgs/applications/display-managers/greetd/gtkgreet.nix index b40d4051083c2..425e4c1790b3d 100644 --- a/pkgs/applications/display-managers/greetd/gtkgreet.nix +++ b/pkgs/applications/display-managers/greetd/gtkgreet.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromSourcehut -, wrapGAppsHook3 -, pkg-config -, cmake -, meson -, ninja -, gtk3 -, gtk-layer-shell -, json_c -, librsvg -, scdoc +{ + stdenv, + lib, + fetchFromSourcehut, + wrapGAppsHook3, + pkg-config, + cmake, + meson, + ninja, + gtk3, + gtk-layer-shell, + json_c, + librsvg, + scdoc, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/display-managers/greetd/regreet.nix b/pkgs/applications/display-managers/greetd/regreet.nix index ff0511a15c1c3..99b5dce2455d6 100644 --- a/pkgs/applications/display-managers/greetd/regreet.nix +++ b/pkgs/applications/display-managers/greetd/regreet.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, glib -, gtk4 -, pango -, librsvg +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + glib, + gtk4, + pango, + librsvg, }: rustPlatform.buildRustPackage rec { @@ -24,8 +25,16 @@ rustPlatform.buildRustPackage rec { buildFeatures = [ "gtk4_8" ]; - nativeBuildInputs = [ pkg-config wrapGAppsHook4 ]; - buildInputs = [ glib gtk4 pango librsvg ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + ]; + buildInputs = [ + glib + gtk4 + pango + librsvg + ]; meta = with lib; { description = "Clean and customizable greeter for greetd"; diff --git a/pkgs/applications/display-managers/greetd/wlgreet.nix b/pkgs/applications/display-managers/greetd/wlgreet.nix index 3e1ee18e7b462..aa4cd8e2f94bb 100644 --- a/pkgs/applications/display-managers/greetd/wlgreet.nix +++ b/pkgs/applications/display-managers/greetd/wlgreet.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromSourcehut -, autoPatchelfHook -, gcc-unwrapped -, wayland -, libxkbcommon +{ + lib, + rustPlatform, + fetchFromSourcehut, + autoPatchelfHook, + gcc-unwrapped, + wayland, + libxkbcommon, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index 820477861bb59..c3988cdd4e681 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -1,41 +1,46 @@ -{ lib, stdenv -, buildPackages -, fetchFromGitHub -, nix-update-script -, substituteAll -, plymouth -, pam -, pkg-config -, autoconf -, automake -, libtool -, libxcb -, glib -, libXdmcp -, itstool -, intltool -, libxklavier -, libgcrypt -, audit -, busybox -, polkit -, accountsservice -, gtk-doc -, gobject-introspection -, vala -, fetchpatch -, withQt5 ? false -, qtbase -, yelp-tools -, yelp-xsl -, nixosTests +{ + lib, + stdenv, + buildPackages, + fetchFromGitHub, + nix-update-script, + substituteAll, + plymouth, + pam, + pkg-config, + autoconf, + automake, + libtool, + libxcb, + glib, + libXdmcp, + itstool, + intltool, + libxklavier, + libgcrypt, + audit, + busybox, + polkit, + accountsservice, + gtk-doc, + gobject-introspection, + vala, + fetchpatch, + withQt5 ? false, + qtbase, + yelp-tools, + yelp-xsl, + nixosTests, }: stdenv.mkDerivation rec { pname = "lightdm"; version = "1.32.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "canonical"; @@ -119,7 +124,6 @@ stdenv.mkDerivation rec { tests = { inherit (nixosTests) lightdm; }; }; - meta = with lib; { homepage = "https://github.com/canonical/lightdm"; description = "Cross-desktop display manager"; diff --git a/pkgs/applications/display-managers/ly/default.nix b/pkgs/applications/display-managers/ly/default.nix index 24332a10c080f..35221c4637c71 100644 --- a/pkgs/applications/display-managers/ly/default.nix +++ b/pkgs/applications/display-managers/ly/default.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, linux-pam, libxcb, makeBinaryWrapper, zig_0_12 -, callPackage, nixosTests }: +{ + stdenv, + lib, + fetchFromGitHub, + linux-pam, + libxcb, + makeBinaryWrapper, + zig_0_12, + callPackage, + nixosTests, +}: stdenv.mkDerivation { pname = "ly"; @@ -12,8 +21,14 @@ stdenv.mkDerivation { hash = "sha256-VUtNEL7Te/ba+wvL0SsUHlyv2NPmkYKs76TnW8r3ysw="; }; - nativeBuildInputs = [ makeBinaryWrapper zig_0_12.hook ]; - buildInputs = [ libxcb linux-pam ]; + nativeBuildInputs = [ + makeBinaryWrapper + zig_0_12.hook + ]; + buildInputs = [ + libxcb + linux-pam + ]; postPatch = '' ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 451317fae2681..bbddc99731fcd 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -5,38 +5,42 @@ layer-shell-qt, qtwayland, wrapQtAppsHook, - unwrapped ? callPackage ./unwrapped.nix {}, + unwrapped ? callPackage ./unwrapped.nix { }, withWayland ? false, withLayerShellQt ? false, - extraPackages ? [], + extraPackages ? [ ], }: -runCommand "sddm-wrapped" { - inherit (unwrapped) version; +runCommand "sddm-wrapped" + { + inherit (unwrapped) version; - buildInputs = unwrapped.buildInputs ++ extraPackages - ++ lib.optional withWayland qtwayland - ++ lib.optional (withWayland && withLayerShellQt) layer-shell-qt; - nativeBuildInputs = [ wrapQtAppsHook ]; + buildInputs = + unwrapped.buildInputs + ++ extraPackages + ++ lib.optional withWayland qtwayland + ++ lib.optional (withWayland && withLayerShellQt) layer-shell-qt; + nativeBuildInputs = [ wrapQtAppsHook ]; - passthru = { - inherit unwrapped; - inherit (unwrapped.passthru) tests; - }; + passthru = { + inherit unwrapped; + inherit (unwrapped.passthru) tests; + }; - meta = unwrapped.meta; -} '' - mkdir -p $out/bin + meta = unwrapped.meta; + } + '' + mkdir -p $out/bin - cd ${unwrapped} + cd ${unwrapped} - for i in *; do - if [ "$i" == "bin" ]; then - continue - fi - ln -s ${unwrapped}/$i $out/$i - done + for i in *; do + if [ "$i" == "bin" ]; then + continue + fi + ln -s ${unwrapped}/$i $out/$i + done - for i in bin/*; do - makeQtWrapper ${unwrapped}/$i $out/$i --set SDDM_GREETER_DIR $out/bin - done -'' + for i in bin/*; do + makeQtWrapper ${unwrapped}/$i $out/$i --set SDDM_GREETER_DIR $out/bin + done + '' diff --git a/pkgs/applications/display-managers/sddm/unwrapped.nix b/pkgs/applications/display-managers/sddm/unwrapped.nix index 3a7a73dd9610f..517cfddd881de 100644 --- a/pkgs/applications/display-managers/sddm/unwrapped.nix +++ b/pkgs/applications/display-managers/sddm/unwrapped.nix @@ -1,12 +1,24 @@ -{ stdenv, lib, fetchFromGitHub -, cmake, pkg-config, qttools -, libxcb, libXau, pam, qtbase, qtdeclarative -, qtquickcontrols2 ? null, systemd, xkeyboardconfig -, nixosTests +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + qttools, + libxcb, + libXau, + pam, + qtbase, + qtdeclarative, + qtquickcontrols2 ? null, + systemd, + xkeyboardconfig, + nixosTests, }: let isQt6 = lib.versions.major qtbase.version == "6"; -in stdenv.mkDerivation(finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "sddm-unwrapped"; version = "0.21.0"; @@ -28,7 +40,11 @@ in stdenv.mkDerivation(finalAttrs: { --replace "/usr/share/X11/xkb/rules/evdev.xml" "${xkeyboardconfig}/share/X11/xkb/rules/evdev.xml" ''; - nativeBuildInputs = [ cmake pkg-config qttools ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + ]; buildInputs = [ libxcb @@ -81,9 +97,13 @@ in stdenv.mkDerivation(finalAttrs: { meta = with lib; { description = "QML based X11 display manager"; - homepage = "https://github.com/sddm/sddm"; - maintainers = with maintainers; [ abbradar ttuegel k900 ]; - platforms = platforms.linux; - license = licenses.gpl2Plus; + homepage = "https://github.com/sddm/sddm"; + maintainers = with maintainers; [ + abbradar + ttuegel + k900 + ]; + platforms = platforms.linux; + license = licenses.gpl2Plus; }; }) diff --git a/pkgs/applications/editors/android-studio-for-platform/common.nix b/pkgs/applications/editors/android-studio-for-platform/common.nix index 049a5600d6848..299bc5c627c02 100644 --- a/pkgs/applications/editors/android-studio-for-platform/common.nix +++ b/pkgs/applications/editors/android-studio-for-platform/common.nix @@ -1,45 +1,52 @@ -{ channel, pname, version, sha256Hash }: - -{ android-tools -, bash -, buildFHSEnv -, coreutils -, dpkg -, e2fsprogs -, fetchurl -, findutils -, git -, gnugrep -, gnused -, gnutar -, gtk2, glib -, gzip -, fontsConf -, fontconfig -, freetype -, libX11 -, libXext -, libXi -, libXrandr -, libXrender -, libXtst -, makeFontsConf -, makeWrapper -, ncurses5 -, openssl -, ps -, python3 -, lib -, stdenv -, unzip -, usbutils -, which -, runCommand -, xkeyboard_config -, zip -, zlib -, makeDesktopItem -, tiling_wm ? false # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper +{ + channel, + pname, + version, + sha256Hash, +}: + +{ + android-tools, + bash, + buildFHSEnv, + coreutils, + dpkg, + e2fsprogs, + fetchurl, + findutils, + git, + gnugrep, + gnused, + gnutar, + gtk2, + glib, + gzip, + fontsConf, + fontconfig, + freetype, + libX11, + libXext, + libXi, + libXrandr, + libXrender, + libXtst, + makeFontsConf, + makeWrapper, + ncurses5, + openssl, + ps, + python3, + lib, + stdenv, + unzip, + usbutils, + which, + runCommand, + xkeyboard_config, + zip, + zlib, + makeDesktopItem, + tiling_wm ? false, # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper }: let @@ -66,52 +73,56 @@ let --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \ ${lib.optionalString tiling_wm "--set _JAVA_AWT_WM_NONREPARENTING 1"} \ --set FONTCONFIG_FILE ${fontsConf} \ - --prefix PATH : "${lib.makeBinPath [ - - # Checked in studio.sh - coreutils - findutils - gnugrep - which - gnused - - # Used during setup wizard - gnutar - gzip - - # Runtime stuff - git - ps - usbutils - android-tools - - # For Soong sync - openssl - python3 - unzip - zip - e2fsprogs - ]}" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - # Crash at startup without these - fontconfig - freetype - libXext - libXi - libXrender - libXtst - libX11 - - # Support multiple monitors - libXrandr - - # For GTKLookAndFeel - gtk2 - glib - - # For Soong sync - e2fsprogs - ]}" + --prefix PATH : "${ + lib.makeBinPath [ + + # Checked in studio.sh + coreutils + findutils + gnugrep + which + gnused + + # Used during setup wizard + gnutar + gzip + + # Runtime stuff + git + ps + usbutils + android-tools + + # For Soong sync + openssl + python3 + unzip + zip + e2fsprogs + ] + }" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + # Crash at startup without these + fontconfig + freetype + libXext + libXi + libXrender + libXtst + libX11 + + # Support multiple monitors + libXrandr + + # For GTKLookAndFeel + gtk2 + glib + + # For Soong sync + e2fsprogs + ] + }" ''; }; @@ -121,7 +132,10 @@ let icon = pname; desktopName = "Android Studio for Platform (${channel} channel)"; comment = "The official Android IDE for Android platform development"; - categories = [ "Development" "IDE" ]; + categories = [ + "Development" + "IDE" + ]; startupNotify = true; startupWMClass = "jetbrains-studio"; }; @@ -142,8 +156,8 @@ let export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib32 ''; }; -in runCommand - drvName +in +runCommand drvName { startScript = '' #!${bash}/bin/bash @@ -161,7 +175,10 @@ in runCommand for Android Open Source Project (AOSP) platform developers who build with the Soong build system. ''; homepage = "https://developer.android.com/studio/platform.html"; - license = with licenses; [ asl20 unfree ]; # The code is under Apache-2.0, but: + license = with licenses; [ + asl20 + unfree + ]; # The code is under Apache-2.0, but: # If one selects Help -> Licenses in Android Studio, the dialog shows the following: # "Android Studio includes proprietary code subject to separate license, # including JetBrains CLion(R) (www.jetbrains.com/clion) and IntelliJ(R) diff --git a/pkgs/applications/editors/android-studio-for-platform/default.nix b/pkgs/applications/editors/android-studio-for-platform/default.nix index 1f11bd55ac3a7..444368bb9f9ea 100644 --- a/pkgs/applications/editors/android-studio-for-platform/default.nix +++ b/pkgs/applications/editors/android-studio-for-platform/default.nix @@ -1,13 +1,20 @@ -{ callPackage, makeFontsConf, buildFHSEnv, tiling_wm ? false }: +{ + callPackage, + makeFontsConf, + buildFHSEnv, + tiling_wm ? false, +}: let - mkStudio = opts: callPackage (import ./common.nix opts) { - fontsConf = makeFontsConf { - fontDirectories = []; + mkStudio = + opts: + callPackage (import ./common.nix opts) { + fontsConf = makeFontsConf { + fontDirectories = [ ]; + }; + inherit buildFHSEnv; + inherit tiling_wm; }; - inherit buildFHSEnv; - inherit tiling_wm; - }; stableVersion = { version = "2023.2.1.20"; # Android Studio Iguana | 2023.2.1 Beta 2 sha256Hash = "sha256-cM/pkSghqLUUvJVF/OVLDOxVBJlJLH8ge1bfZtDUegY="; @@ -16,16 +23,23 @@ let version = "2023.3.2.1"; # Android Studio Jellyfish | 2023.3.2 Canary 1 sha256Hash = "sha256-XOsbMyNentklfEp1k49H3uFeiRNMCV/Seisw9K1ganM="; }; -in { +in +{ # Attributes are named by their corresponding release channels - stable = mkStudio (stableVersion // { - channel = "stable"; - pname = "android-studio-for-platform"; - }); + stable = mkStudio ( + stableVersion + // { + channel = "stable"; + pname = "android-studio-for-platform"; + } + ); - canary = mkStudio (canaryVersion // { - channel = "canary"; - pname = "android-studio-for-platform-canary"; - }); + canary = mkStudio ( + canaryVersion + // { + channel = "canary"; + pname = "android-studio-for-platform-canary"; + } + ); } diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index a3e5f4cc3e525..768e572b11c9e 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -1,74 +1,81 @@ -{ channel, pname, version, sha256Hash }: +{ + channel, + pname, + version, + sha256Hash, +}: -{ alsa-lib -, runtimeShell -, buildFHSEnv -, cacert -, coreutils -, dbus -, e2fsprogs -, expat -, fetchurl -, findutils -, file -, fontsConf -, git -, gnugrep -, gnused -, gnutar -, gtk2, glib -, gzip -, fontconfig -, freetype -, libbsd -, libpulseaudio -, libGL -, libdrm -, libpng -, libuuid -, libX11 -, libxcb -, libxkbcommon -, mesa-demos -, xcbutilwm -, xcbutilrenderutil -, xcbutilkeysyms -, xcbutilimage -, xcbutilcursor -, libxkbfile -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXrandr -, libXrender -, libXtst -, makeWrapper -, ncurses5 -, nspr -, nss_latest -, pciutils -, pkgsi686Linux -, ps -, setxkbmap -, lib -, stdenv -, systemd -, unzip -, usbutils -, which -, runCommand -, wayland -, xkeyboard_config -, xorg -, zlib -, makeDesktopItem -, tiling_wm # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper -, androidenv +{ + alsa-lib, + runtimeShell, + buildFHSEnv, + cacert, + coreutils, + dbus, + e2fsprogs, + expat, + fetchurl, + findutils, + file, + fontsConf, + git, + gnugrep, + gnused, + gnutar, + gtk2, + glib, + gzip, + fontconfig, + freetype, + libbsd, + libpulseaudio, + libGL, + libdrm, + libpng, + libuuid, + libX11, + libxcb, + libxkbcommon, + mesa-demos, + xcbutilwm, + xcbutilrenderutil, + xcbutilkeysyms, + xcbutilimage, + xcbutilcursor, + libxkbfile, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXtst, + makeWrapper, + ncurses5, + nspr, + nss_latest, + pciutils, + pkgsi686Linux, + ps, + setxkbmap, + lib, + stdenv, + systemd, + unzip, + usbutils, + which, + runCommand, + wayland, + xkeyboard_config, + xorg, + zlib, + makeDesktopItem, + tiling_wm, # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper + androidenv, -, forceWayland ? false + forceWayland ? false, }: let @@ -99,97 +106,103 @@ let --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \ ${lib.optionalString tiling_wm "--set _JAVA_AWT_WM_NONREPARENTING 1"} \ --set FONTCONFIG_FILE ${fontsConf} \ - --prefix PATH : "${lib.makeBinPath [ + --prefix PATH : "${ + lib.makeBinPath [ - # Checked in studio.sh - coreutils - findutils - gnugrep - which - gnused + # Checked in studio.sh + coreutils + findutils + gnugrep + which + gnused - # For Android emulator - file - mesa-demos - pciutils - setxkbmap + # For Android emulator + file + mesa-demos + pciutils + setxkbmap - # Used during setup wizard - gnutar - gzip + # Used during setup wizard + gnutar + gzip - # Runtime stuff - git - ps - usbutils - ]}" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ + # Runtime stuff + git + ps + usbutils + ] + }" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ - # Crash at startup without these - fontconfig - freetype - libXext - libXi - libXrender - libXtst + # Crash at startup without these + fontconfig + freetype + libXext + libXi + libXrender + libXtst - # No crash, but attempted to load at startup - e2fsprogs + # No crash, but attempted to load at startup + e2fsprogs - # Gradle wants libstdc++.so.6 - (lib.getLib stdenv.cc.cc) - # mksdcard wants 32 bit libstdc++.so.6 - pkgsi686Linux.stdenv.cc.cc.lib + # Gradle wants libstdc++.so.6 + (lib.getLib stdenv.cc.cc) + # mksdcard wants 32 bit libstdc++.so.6 + pkgsi686Linux.stdenv.cc.cc.lib - # aapt wants libz.so.1 - zlib - pkgsi686Linux.zlib - # Support multiple monitors - libXrandr + # aapt wants libz.so.1 + zlib + pkgsi686Linux.zlib + # Support multiple monitors + libXrandr - # For Android emulator - alsa-lib - dbus - expat - libbsd - libpulseaudio - libuuid - libX11 - libxcb - libxkbcommon - xcbutilwm - xcbutilrenderutil - xcbutilkeysyms - xcbutilimage - xcbutilcursor - xorg.libICE - xorg.libSM - libxkbfile - libXcomposite - libXcursor - libXdamage - libXfixes - libGL - libdrm - libpng - nspr - nss_latest - systemd + # For Android emulator + alsa-lib + dbus + expat + libbsd + libpulseaudio + libuuid + libX11 + libxcb + libxkbcommon + xcbutilwm + xcbutilrenderutil + xcbutilkeysyms + xcbutilimage + xcbutilcursor + xorg.libICE + xorg.libSM + libxkbfile + libXcomposite + libXcursor + libXdamage + libXfixes + libGL + libdrm + libpng + nspr + nss_latest + systemd - # For GTKLookAndFeel - gtk2 - glib + # For GTKLookAndFeel + gtk2 + glib - # For wayland support - wayland - ]}" \ + # For wayland support + wayland + ] + }" \ ${lib.optionalString forceWayland "--add-flags -Dawt.toolkit.name=WLToolkit"} # AS launches LLDBFrontend with a custom LD_LIBRARY_PATH - wrapProgram $(find $out -name LLDBFrontend) --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - ncurses5 - zlib - ]}" + wrapProgram $(find $out -name LLDBFrontend) --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + ncurses5 + zlib + ] + }" ''; }; @@ -199,7 +212,10 @@ let icon = pname; desktopName = "Android Studio (${channel} channel)"; comment = "The official Android IDE"; - categories = [ "Development" "IDE" ]; + categories = [ + "Development" + "IDE" + ]; startupNotify = true; startupWMClass = "jetbrains-studio"; }; @@ -214,97 +230,122 @@ let ncurses5 # Flutter can only search for certs Fedora-way. - (runCommand "fedoracert" {} - '' + (runCommand "fedoracert" { } '' mkdir -p $out/etc/pki/tls/ ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs - '') + '') ]; }; - mkAndroidStudioWrapper = {androidStudio, androidSdk ? null}: runCommand drvName { - startScript = let - hasAndroidSdk = androidSdk != null; - androidSdkRoot = lib.optionalString hasAndroidSdk "${androidSdk}/libexec/android-sdk"; - in '' - #!${runtimeShell} - ${lib.optionalString hasAndroidSdk '' - echo "=== nixpkgs Android Studio wrapper" >&2 + mkAndroidStudioWrapper = + { + androidStudio, + androidSdk ? null, + }: + runCommand drvName + { + startScript = + let + hasAndroidSdk = androidSdk != null; + androidSdkRoot = lib.optionalString hasAndroidSdk "${androidSdk}/libexec/android-sdk"; + in + '' + #!${runtimeShell} + ${lib.optionalString hasAndroidSdk '' + echo "=== nixpkgs Android Studio wrapper" >&2 - # Default ANDROID_SDK_ROOT to the packaged one, if not provided. - ANDROID_SDK_ROOT="''${ANDROID_SDK_ROOT-${androidSdkRoot}}" + # Default ANDROID_SDK_ROOT to the packaged one, if not provided. + ANDROID_SDK_ROOT="''${ANDROID_SDK_ROOT-${androidSdkRoot}}" - if [ -d "$ANDROID_SDK_ROOT" ]; then - export ANDROID_SDK_ROOT - # Legacy compatibility. - export ANDROID_HOME="$ANDROID_SDK_ROOT" - echo " - ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" >&2 + if [ -d "$ANDROID_SDK_ROOT" ]; then + export ANDROID_SDK_ROOT + # Legacy compatibility. + export ANDROID_HOME="$ANDROID_SDK_ROOT" + echo " - ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" >&2 - # See if we can export ANDROID_NDK_ROOT too. - ANDROID_NDK_ROOT="$ANDROID_SDK_ROOT/ndk-bundle" - if [ ! -d "$ANDROID_NDK_ROOT" ]; then - ANDROID_NDK_ROOT="$(ls "$ANDROID_SDK_ROOT/ndk/"* 2>/dev/null | head -n1)" - fi + # See if we can export ANDROID_NDK_ROOT too. + ANDROID_NDK_ROOT="$ANDROID_SDK_ROOT/ndk-bundle" + if [ ! -d "$ANDROID_NDK_ROOT" ]; then + ANDROID_NDK_ROOT="$(ls "$ANDROID_SDK_ROOT/ndk/"* 2>/dev/null | head -n1)" + fi - if [ -d "$ANDROID_NDK_ROOT" ]; then - export ANDROID_NDK_ROOT - echo " - ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT" >&2 - else - unset ANDROID_NDK_ROOT - fi - else - unset ANDROID_SDK_ROOT - unset ANDROID_HOME - fi - ''} - exec ${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh "$@" - ''; - preferLocalBuild = true; - allowSubstitutes = false; - passthru = let - withSdk = androidSdk: mkAndroidStudioWrapper { inherit androidStudio androidSdk; }; - in { - inherit version; - unwrapped = androidStudio; - full = withSdk androidenv.androidPkgs.androidsdk; - inherit withSdk; - sdk = androidSdk; - updateScript = [ ./update.sh "${channel}" ]; - }; - meta = { - description = "Official IDE for Android (${channel} channel)"; - longDescription = '' - Android Studio is the official IDE for Android app development, based on - IntelliJ IDEA. - ''; - homepage = if channel == "stable" - then "https://developer.android.com/studio/index.html" - else "https://developer.android.com/studio/preview/index.html"; - license = with lib.licenses; [ asl20 unfree ]; # The code is under Apache-2.0, but: - # If one selects Help -> Licenses in Android Studio, the dialog shows the following: - # "Android Studio includes proprietary code subject to separate license, - # including JetBrains CLion(R) (www.jetbrains.com/clion) and IntelliJ(R) - # IDEA Community Edition (www.jetbrains.com/idea)." - # Also: For actual development the Android SDK is required and the Google - # binaries are also distributed as proprietary software (unlike the - # source-code itself). - platforms = [ "x86_64-linux" ]; - maintainers = with lib.maintainers; rec { - stable = [ alapshin johnrtitor numinit ]; - beta = stable; - canary = stable; - dev = stable; - }."${channel}"; - mainProgram = pname; - sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; - }; - } - '' - mkdir -p $out/{bin,share/pixmaps} + if [ -d "$ANDROID_NDK_ROOT" ]; then + export ANDROID_NDK_ROOT + echo " - ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT" >&2 + else + unset ANDROID_NDK_ROOT + fi + else + unset ANDROID_SDK_ROOT + unset ANDROID_HOME + fi + ''} + exec ${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh "$@" + ''; + preferLocalBuild = true; + allowSubstitutes = false; + passthru = + let + withSdk = androidSdk: mkAndroidStudioWrapper { inherit androidStudio androidSdk; }; + in + { + inherit version; + unwrapped = androidStudio; + full = withSdk androidenv.androidPkgs.androidsdk; + inherit withSdk; + sdk = androidSdk; + updateScript = [ + ./update.sh + "${channel}" + ]; + }; + meta = { + description = "Official IDE for Android (${channel} channel)"; + longDescription = '' + Android Studio is the official IDE for Android app development, based on + IntelliJ IDEA. + ''; + homepage = + if channel == "stable" then + "https://developer.android.com/studio/index.html" + else + "https://developer.android.com/studio/preview/index.html"; + license = with lib.licenses; [ + asl20 + unfree + ]; # The code is under Apache-2.0, but: + # If one selects Help -> Licenses in Android Studio, the dialog shows the following: + # "Android Studio includes proprietary code subject to separate license, + # including JetBrains CLion(R) (www.jetbrains.com/clion) and IntelliJ(R) + # IDEA Community Edition (www.jetbrains.com/idea)." + # Also: For actual development the Android SDK is required and the Google + # binaries are also distributed as proprietary software (unlike the + # source-code itself). + platforms = [ "x86_64-linux" ]; + maintainers = + with lib.maintainers; + rec { + stable = [ + alapshin + johnrtitor + numinit + ]; + beta = stable; + canary = stable; + dev = stable; + } + ."${channel}"; + mainProgram = pname; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + }; + } + '' + mkdir -p $out/{bin,share/pixmaps} - echo -n "$startScript" > $out/bin/${pname} - chmod +x $out/bin/${pname} + echo -n "$startScript" > $out/bin/${pname} + chmod +x $out/bin/${pname} - ln -s ${androidStudio}/bin/studio.png $out/share/pixmaps/${pname}.png - ln -s ${desktopItem}/share/applications $out/share/applications - ''; -in mkAndroidStudioWrapper { inherit androidStudio; } + ln -s ${androidStudio}/bin/studio.png $out/share/pixmaps/${pname}.png + ln -s ${desktopItem}/share/applications $out/share/applications + ''; +in +mkAndroidStudioWrapper { inherit androidStudio; } diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix index 09795194bf0af..04f5a97a51ae4 100644 --- a/pkgs/applications/editors/bluefish/default.nix +++ b/pkgs/applications/editors/bluefish/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, wrapGAppsHook3 -, pkg-config -, gtk -, libxml2 -, enchant -, gucharmap -, python3 -, adwaita-icon-theme +{ + lib, + stdenv, + fetchurl, + wrapGAppsHook3, + pkg-config, + gtk, + libxml2, + enchant, + gucharmap, + python3, + adwaita-icon-theme, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-FOZHb87o+jJvf2Px9pPSUhlfncsWrw/jyRXEmbr13XQ="; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ adwaita-icon-theme gtk diff --git a/pkgs/applications/editors/code-browser/default.nix b/pkgs/applications/editors/code-browser/default.nix index 0efdae2ea65d3..093b5fe3309e4 100644 --- a/pkgs/applications/editors/code-browser/default.nix +++ b/pkgs/applications/editors/code-browser/default.nix @@ -1,15 +1,27 @@ -{ lib, stdenv -, fetchurl -, copper -, python3 -, pkg-config -, withQt ? false, qtbase ? null, wrapQtAppsHook ? null -, withGtk2 ? false, gtk2 -, withGtk3 ? false, gtk3 -, mkDerivation ? stdenv.mkDerivation +{ + lib, + stdenv, + fetchurl, + copper, + python3, + pkg-config, + withQt ? false, + qtbase ? null, + wrapQtAppsHook ? null, + withGtk2 ? false, + gtk2, + withGtk3 ? false, + gtk3, + mkDerivation ? stdenv.mkDerivation, }: -let onlyOneEnabled = xs: 1 == builtins.length (builtins.filter lib.id xs); -in assert onlyOneEnabled [ withQt withGtk2 withGtk3 ]; +let + onlyOneEnabled = xs: 1 == builtins.length (builtins.filter lib.id xs); +in +assert onlyOneEnabled [ + withQt + withGtk2 + withGtk3 +]; mkDerivation rec { pname = "code-browser"; version = "8.0"; @@ -17,41 +29,49 @@ mkDerivation rec { url = "https://tibleiz.net/download/code-browser-${version}-src.tar.gz"; sha256 = "sha256-beCp4lx4MI1+hVgWp2h3piE/zu51zfwQdB5g7ImgmwY="; }; - postPatch = '' - substituteInPlace Makefile --replace "LFLAGS=-no-pie" "LFLAGS=-no-pie -L." - patchShebangs . - '' - + lib.optionalString withQt '' - substituteInPlace libs/copper-ui/Makefile --replace "moc -o" "${qtbase.dev}/bin/moc -o" - substituteInPlace libs/copper-ui/Makefile --replace "all: qt gtk gtk2" "all: qt" - '' - + lib.optionalString withGtk2 '' - substituteInPlace libs/copper-ui/Makefile --replace "all: qt gtk gtk2" "all: gtk2" - '' - + lib.optionalString withGtk3 '' - substituteInPlace libs/copper-ui/Makefile --replace "all: qt gtk gtk2" "all: gtk" - '' - ; - nativeBuildInputs = [ copper - python3 - pkg-config - ] - ++ lib.optionals withGtk2 [ gtk2 ] - ++ lib.optionals withGtk3 [ gtk3 ] - ++ lib.optionals withQt [ qtbase wrapQtAppsHook ]; - buildInputs = lib.optionals withQt [ qtbase ] - ++ lib.optionals withGtk2 [ gtk2 ] - ++ lib.optionals withGtk3 [ gtk3 ]; - makeFlags = [ - "prefix=$(out)" - "COPPER=${copper}/bin/copper-elf64" - "with-local-libs" - ] - ++ lib.optionals withQt [ "QINC=${qtbase.dev}/include" - "UI=qt" - ] - ++ lib.optionals withGtk2 [ "UI=gtk2" ] - ++ lib.optionals withGtk3 [ "UI=gtk" ]; + postPatch = + '' + substituteInPlace Makefile --replace "LFLAGS=-no-pie" "LFLAGS=-no-pie -L." + patchShebangs . + '' + + lib.optionalString withQt '' + substituteInPlace libs/copper-ui/Makefile --replace "moc -o" "${qtbase.dev}/bin/moc -o" + substituteInPlace libs/copper-ui/Makefile --replace "all: qt gtk gtk2" "all: qt" + '' + + lib.optionalString withGtk2 '' + substituteInPlace libs/copper-ui/Makefile --replace "all: qt gtk gtk2" "all: gtk2" + '' + + lib.optionalString withGtk3 '' + substituteInPlace libs/copper-ui/Makefile --replace "all: qt gtk gtk2" "all: gtk" + ''; + nativeBuildInputs = + [ + copper + python3 + pkg-config + ] + ++ lib.optionals withGtk2 [ gtk2 ] + ++ lib.optionals withGtk3 [ gtk3 ] + ++ lib.optionals withQt [ + qtbase + wrapQtAppsHook + ]; + buildInputs = + lib.optionals withQt [ qtbase ] + ++ lib.optionals withGtk2 [ gtk2 ] + ++ lib.optionals withGtk3 [ gtk3 ]; + makeFlags = + [ + "prefix=$(out)" + "COPPER=${copper}/bin/copper-elf64" + "with-local-libs" + ] + ++ lib.optionals withQt [ + "QINC=${qtbase.dev}/include" + "UI=qt" + ] + ++ lib.optionals withGtk2 [ "UI=gtk2" ] + ++ lib.optionals withGtk3 [ "UI=gtk" ]; meta = with lib; { description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code"; diff --git a/pkgs/applications/editors/cpeditor/default.nix b/pkgs/applications/editors/cpeditor/default.nix index d90ab08614077..b869ec3b6d155 100644 --- a/pkgs/applications/editors/cpeditor/default.nix +++ b/pkgs/applications/editors/cpeditor/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, qtbase -, qttools -, wrapQtAppsHook -, syntax-highlighting -, cmake -, ninja -, python3 -, runtimeShell +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + qtbase, + qttools, + wrapQtAppsHook, + syntax-highlighting, + cmake, + ninja, + python3, + runtimeShell, }: stdenv.mkDerivation rec { @@ -24,8 +25,18 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake ninja pkg-config wrapQtAppsHook python3 ]; - buildInputs = [ qtbase qttools syntax-highlighting ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + wrapQtAppsHook + python3 + ]; + buildInputs = [ + qtbase + qttools + syntax-highlighting + ]; postPatch = '' substituteInPlace src/Core/Runner.cpp --replace-fail "/bin/bash" "${runtimeShell}" diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix index dfb2fd38b9978..2852d7649ad60 100644 --- a/pkgs/applications/editors/eclipse/build-eclipse.nix +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -1,8 +1,32 @@ -{ lib, stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender -, zlib, jdk, glib, glib-networking, gtk, libXtst, libsecret, gsettings-desktop-schemas, webkitgtk_4_0 -, makeWrapper, perl, ... }: +{ + lib, + stdenv, + makeDesktopItem, + freetype, + fontconfig, + libX11, + libXrender, + zlib, + jdk, + glib, + glib-networking, + gtk, + libXtst, + libsecret, + gsettings-desktop-schemas, + webkitgtk_4_0, + makeWrapper, + perl, + ... +}: -{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description, productVersion }: +{ + name, + src ? builtins.getAttr stdenv.hostPlatform.system sources, + sources ? null, + description, + productVersion, +}: stdenv.mkDerivation rec { inherit name src; @@ -17,10 +41,22 @@ stdenv.mkDerivation rec { categories = [ "Development" ]; }; - nativeBuildInputs = [ makeWrapper perl ]; + nativeBuildInputs = [ + makeWrapper + perl + ]; buildInputs = [ - fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11 - libXrender libXtst libsecret zlib + fontconfig + freetype + glib + gsettings-desktop-schemas + gtk + jdk + libX11 + libXrender + libXtst + libsecret + zlib ] ++ lib.optional (webkitgtk_4_0 != null) webkitgtk_4_0; buildCommand = '' @@ -32,7 +68,15 @@ stdenv.mkDerivation rec { interpreter="$(cat $NIX_BINTOOLS/nix-support/dynamic-linker)" libCairo=$out/eclipse/libcairo-swt.so patchelf --set-interpreter $interpreter $out/eclipse/eclipse - [ -f $libCairo ] && patchelf --set-rpath ${lib.makeLibraryPath [ freetype fontconfig libX11 libXrender zlib ]} $libCairo + [ -f $libCairo ] && patchelf --set-rpath ${ + lib.makeLibraryPath [ + freetype + fontconfig + libX11 + libXrender + zlib + ] + } $libCairo # Create wrapper script. Pass -configuration to store # settings in ~/.eclipse/org.eclipse.platform_ rather @@ -41,7 +85,17 @@ stdenv.mkDerivation rec { makeWrapper $out/eclipse/eclipse $out/bin/eclipse \ --prefix PATH : ${jdk}/bin \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk libXtst libsecret ] ++ lib.optional (webkitgtk_4_0 != null) webkitgtk_4_0)} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath ( + [ + glib + gtk + libXtst + libsecret + ] + ++ lib.optional (webkitgtk_4_0 != null) webkitgtk_4_0 + ) + } \ --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --add-flags "-configuration \$HOME/.eclipse/''${productId}_${productVersion}/configuration" @@ -60,7 +114,10 @@ stdenv.mkDerivation rec { homepage = "https://www.eclipse.org/"; inherit description; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index bb2a4d3bfd296..74e8257c77bda 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -1,9 +1,25 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper -, freetype, fontconfig, libX11, libXrender, zlib -, glib, gtk3, gtk2, libXtst, jdk, jdk8, gsettings-desktop-schemas -, webkitgtk_4_0 ? null # for internal web browser -, buildEnv, runCommand -, callPackage +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + makeWrapper, + freetype, + fontconfig, + libX11, + libXrender, + zlib, + glib, + gtk3, + gtk2, + libXtst, + jdk, + jdk8, + gsettings-desktop-schemas, + webkitgtk_4_0 ? null, # for internal web browser + buildEnv, + runCommand, + callPackage, }: # use ./update.sh to help with updating for each quarterly release @@ -15,38 +31,59 @@ let platform_major = "4"; platform_minor = "33"; year = "2024"; - month = "09"; #release month - buildmonth = "09"; #sometimes differs from release month + month = "09"; # release month + buildmonth = "09"; # sometimes differs from release month timestamp = "${year}${buildmonth}030240"; gtk = gtk3; - arch = if stdenv.hostPlatform.isx86_64 then - "x86_64" - else if stdenv.hostPlatform.isAarch64 then - "aarch64" - else throw "don't know what platform suffix for ${stdenv.hostPlatform.system} will be"; -in rec { + arch = + if stdenv.hostPlatform.isx86_64 then + "x86_64" + else if stdenv.hostPlatform.isAarch64 then + "aarch64" + else + throw "don't know what platform suffix for ${stdenv.hostPlatform.system} will be"; +in +rec { # work around https://bugs.eclipse.org/bugs/show_bug.cgi?id=476075#c3 buildEclipseUnversioned = callPackage ./build-eclipse.nix { - inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib - jdk glib gtk libXtst gsettings-desktop-schemas webkitgtk_4_0 - makeWrapper; + inherit + stdenv + makeDesktopItem + freetype + fontconfig + libX11 + libXrender + zlib + jdk + glib + gtk + libXtst + gsettings-desktop-schemas + webkitgtk_4_0 + makeWrapper + ; }; - buildEclipse = eclipseData: buildEclipseUnversioned (eclipseData // { productVersion = "${platform_major}.${platform_minor}"; }); + buildEclipse = + eclipseData: + buildEclipseUnversioned ( + eclipseData // { productVersion = "${platform_major}.${platform_minor}"; } + ); ### Eclipse CPP eclipse-cpp = buildEclipse { name = "eclipse-cpp-${platform_major}.${platform_minor}"; description = "Eclipse IDE for C/C++ Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-zCIVlrr8CPRBiv1FOVHjoW7WcKC74V+JC2ciyiBuYOw="; aarch64 = "sha256-Lnwz8up/WoOdth0bxxePxagwkOaTljFYkCHHu5NoCPk="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse DSL @@ -54,14 +91,15 @@ in rec { eclipse-dsl = buildEclipse { name = "eclipse-dsl-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Java and DSL Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-a/Vnbm1zzay5GSsJbU3yFGs7fSBx77wvOHJdlEs8BjE="; aarch64 = "sha256-ghf0Q31cudxGDmYvLXyeqTYCpqIkZNp9y1Bd/izOSl4="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse IDE for Embedded C/C++ Developers @@ -69,14 +107,15 @@ in rec { eclipse-embedcpp = buildEclipse { name = "eclipse-embedcpp-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Embedded C/C++ Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-6krmMvja30Jal1w4gi1NQSZpPxAMtjvs+tPtts+YuLA="; aarch64 = "sha256-qYzcR+4m8QAdV6JTvMuVU2h2oxVJGmyg9UJMibdkPxM="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse Modeling @@ -84,14 +123,15 @@ in rec { eclipse-modeling = buildEclipse { name = "eclipse-modeling-${platform_major}.${platform_minor}"; description = "Eclipse Modeling Tools"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-AFwJNQJdULmiID3JPjQG3L631ujaNYsaDJ3QT60WwSY="; aarch64 = "sha256-MbvWrgHhTS1odtFCdZYdTOYZNjhb3gqvjGO1dVfdokA="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse Platform @@ -99,46 +139,54 @@ in rec { eclipse-platform = buildEclipse { name = "eclipse-platform-${platform_major}.${platform_minor}"; description = "Eclipse Platform ${year}-${month}"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-6vNwys0HTaJdSl+1mK7hlGU0tQVyakvzrL0GZEObniQ="; aarch64 = "sha256-fERBf9bkGowZkRLQEMxLUB8qUVKZgRZOZjJEz+kc+WU="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse Scala SDK eclipse-scala-sdk = - (buildEclipseUnversioned.override { jdk = jdk8; gtk = gtk2; } { - name = "eclipse-scala-sdk-4.7.0"; - description = "Eclipse IDE for Scala Developers"; - productVersion = "4.7"; - src = - fetchurl { + (buildEclipseUnversioned.override + { + jdk = jdk8; + gtk = gtk2; + } + { + name = "eclipse-scala-sdk-4.7.0"; + description = "Eclipse IDE for Scala Developers"; + productVersion = "4.7"; + src = fetchurl { url = "https://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz"; - sha256 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya"; + sha256 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya"; }; - }).overrideAttrs(oa: { - # Only download for x86_64 - meta.platforms = [ "x86_64-linux" ]; - }); + } + ).overrideAttrs + (oa: { + # Only download for x86_64 + meta.platforms = [ "x86_64-linux" ]; + }); ### Eclipse SDK eclipse-sdk = buildEclipse { name = "eclipse-sdk-${platform_major}.${platform_minor}"; description = "Eclipse ${year}-${month} Classic"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-4eYdixsPswwsBWfRng5VPp+/39mDuAO7cHc6NS3VI7o="; aarch64 = "sha256-UUdm7YqLOTappGwEnM3frvGZcESuh3LVl1L/HoN88Ug="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse Java @@ -146,14 +194,15 @@ in rec { eclipse-java = buildEclipse { name = "eclipse-java-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Java Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-gAbc049iHCPwGohQwNG1pCejCpOh0qUsnjSZosedqUU="; aarch64 = "sha256-VpKs4O1Rxb/qhULUK+EPIPsGSH+qQJpNsDRGNX09Bj0="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse Java EE @@ -161,14 +210,15 @@ in rec { eclipse-jee = buildEclipse { name = "eclipse-jee-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Enterprise Java and Web Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-BLvjy4vBuvMt3mZccp+UWw9p58taWiyZkbwaeMOOBpU="; aarch64 = "sha256-5tGJoOPk56/0WVZAxB8VWryJmnHMr4gHQyjET9sB1Qk="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse Committers @@ -176,14 +226,15 @@ in rec { eclipse-committers = buildEclipse { name = "eclipse-committers-${platform_major}.${platform_minor}"; description = "Eclipse IDE for Eclipse Committers and Eclipse Platform Plugin Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-IQL6dWNHg5DMVkR2XYge2jHmIwx8KS968k8EoS/II+A="; aarch64 = "sha256-ATni52tdHyaVvacSAiiOB6eN1zwS17VZazcsd6HOemA="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Eclipse IDE for RCP and RAP Developers @@ -191,21 +242,27 @@ in rec { eclipse-rcp = buildEclipse { name = "eclipse-rcp-${platform_major}.${platform_minor}"; description = "Eclipse IDE for RCP and RAP Developers"; - src = - fetchurl { - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; - hash = { + src = fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz"; + hash = + { x86_64 = "sha256-BqRcUU6GivuPFzr3e2FX+ga5OVO8o7NzuXuqUu52pN4="; aarch64 = "sha256-lAsur73Z/EaKVLY9URoyvcvtD9LoOO7FG6l/lUtT8H8="; - }.${arch}; - }; + } + .${arch}; + }; }; ### Environments # Function that assembles a complete Eclipse environment from an # Eclipse package and list of Eclipse plugins. - eclipseWithPlugins = { eclipse, plugins ? [], jvmArgs ? [] }: + eclipseWithPlugins = + { + eclipse, + plugins ? [ ], + jvmArgs ? [ ], + }: let # Gather up the desired plugins. pluginEnv = buildEnv { @@ -217,25 +274,25 @@ in rec { # add the property indicating the plugin directory. dropinPropName = "org.eclipse.equinox.p2.reconciler.dropins.directory"; dropinProp = "-D${dropinPropName}=${pluginEnv}/eclipse/dropins"; - jvmArgsText = lib.concatStringsSep "\n" (jvmArgs ++ [dropinProp]); + jvmArgsText = lib.concatStringsSep "\n" (jvmArgs ++ [ dropinProp ]); # Base the derivation name on the name of the underlying # Eclipse. name = (lib.meta.appendToName "with-plugins" eclipse).name; in - runCommand name { nativeBuildInputs = [ makeWrapper ]; } '' - mkdir -p $out/bin $out/etc + runCommand name { nativeBuildInputs = [ makeWrapper ]; } '' + mkdir -p $out/bin $out/etc - # Prepare an eclipse.ini with the plugin directory. - cat ${eclipse}/eclipse/eclipse.ini - > $out/etc/eclipse.ini < $out/etc/eclipse.ini < srcPlugins != []; - assert srcPlugin != null -> srcPlugins == []; + { + name, + srcFeature, + srcPlugin ? null, + srcPlugins ? [ ], + ... + }@attrs: + assert srcPlugin == null -> srcPlugins != [ ]; + assert srcPlugin != null -> srcPlugins == [ ]; - let + let - pSrcs = if (srcPlugin != null) then [ srcPlugin ] else srcPlugins; + pSrcs = if (srcPlugin != null) then [ srcPlugin ] else srcPlugins; - in + in - buildEclipsePluginBase (attrs // { - srcs = [ srcFeature ] ++ pSrcs; + buildEclipsePluginBase ( + attrs + // { + srcs = [ srcFeature ] ++ pSrcs; - buildCommand = '' - dropinDir="$out/eclipse/dropins/${name}" + buildCommand = '' + dropinDir="$out/eclipse/dropins/${name}" - mkdir -p $dropinDir/features - unzip ${srcFeature} -d $dropinDir/features/ + mkdir -p $dropinDir/features + unzip ${srcFeature} -d $dropinDir/features/ - mkdir -p $dropinDir/plugins - for plugin in ${toString pSrcs}; do - cp -v $plugin $dropinDir/plugins/$(stripHash $plugin) - done - ''; - }); + mkdir -p $dropinDir/plugins + for plugin in ${toString pSrcs}; do + cp -v $plugin $dropinDir/plugins/$(stripHash $plugin) + done + ''; + } + ); # Helper for the case where the build directory has the layout of an # Eclipse update site, that is, it contains the directories # `features` and `plugins`. All features and plugins inside these # directories will be installed. - buildEclipseUpdateSite = { name, ... } @ attrs: - buildEclipsePluginBase (attrs // { - dontBuild = true; - doCheck = false; - - installPhase = '' - dropinDir="$out/eclipse/dropins/${name}" - - # Install features. - cd features - for feature in *.jar; do - featureName=''${feature%.jar} - mkdir -p $dropinDir/features/$featureName - unzip $feature -d $dropinDir/features/$featureName - done - cd .. - - # Install plugins. - mkdir -p $dropinDir/plugins - - # A bundle should be unpacked if the manifest matches this - # pattern. - unpackPat="Eclipse-BundleShape:\\s*dir" - - cd plugins - for plugin in *.jar ; do - pluginName=''${plugin%.jar} - manifest=$(unzip -p $plugin META-INF/MANIFEST.MF) - - if [[ $manifest =~ $unpackPat ]] ; then - mkdir $dropinDir/plugins/$pluginName - unzip $plugin -d $dropinDir/plugins/$pluginName - else - cp -v $plugin $dropinDir/plugins/ - fi - done - cd .. - ''; - }); + buildEclipseUpdateSite = + { name, ... }@attrs: + buildEclipsePluginBase ( + attrs + // { + dontBuild = true; + doCheck = false; + + installPhase = '' + dropinDir="$out/eclipse/dropins/${name}" + + # Install features. + cd features + for feature in *.jar; do + featureName=''${feature%.jar} + mkdir -p $dropinDir/features/$featureName + unzip $feature -d $dropinDir/features/$featureName + done + cd .. + + # Install plugins. + mkdir -p $dropinDir/plugins + + # A bundle should be unpacked if the manifest matches this + # pattern. + unpackPat="Eclipse-BundleShape:\\s*dir" + + cd plugins + for plugin in *.jar ; do + pluginName=''${plugin%.jar} + manifest=$(unzip -p $plugin META-INF/MANIFEST.MF) + + if [[ $manifest =~ $unpackPat ]] ; then + mkdir $dropinDir/plugins/$pluginName + unzip $plugin -d $dropinDir/plugins/$pluginName + else + cp -v $plugin $dropinDir/plugins/ + fi + done + cd .. + ''; + } + ); acejump = buildEclipsePlugin rec { name = "acejump-${version}"; @@ -465,21 +490,43 @@ rec { srcPlugins = let - fetch = { n, h }: + fetch = + { n, h }: fetchurl { url = "https://boothen.github.io/Json-Eclipse-Plugin/plugins/jsonedit-${n}_${version}.jar"; sha256 = h; }; in - map fetch [ - { n = "core"; h = "0svs0aswnhl26cqw6bmw30cisx4cr50kc5njg272sy5c1dqjm1zq"; } - { n = "editor"; h = "1q62dinrbb18aywbvii4mlr7rxa20rdsxxd6grix9y8h9776q4l5"; } - { n = "folding"; h = "1qh4ijfb1gl9xza5ydi87v1kyima3a9sh7lncwdy1way3pdhln1y"; } - { n = "model"; h = "1pr6k2pdfdwx8jqs7gx7wzn3gxsql3sk6lnjha8m15lv4al6d4kj"; } - { n = "outline"; h = "1jgr2g16j3id8v367jbgd6kx6g2w636fbzmd8jvkvkh7y1jgjqxm"; } - { n = "preferences"; h = "027fhaqa5xbil6dmhvkbpha3pgw6dpmc2im3nlliyds57mdmdb1h"; } - { n = "text"; h = "0clywylyidrxlqs0n816nhgjmk1c3xl7sn904ki4q050amfy0wb2"; } - ]; + map fetch [ + { + n = "core"; + h = "0svs0aswnhl26cqw6bmw30cisx4cr50kc5njg272sy5c1dqjm1zq"; + } + { + n = "editor"; + h = "1q62dinrbb18aywbvii4mlr7rxa20rdsxxd6grix9y8h9776q4l5"; + } + { + n = "folding"; + h = "1qh4ijfb1gl9xza5ydi87v1kyima3a9sh7lncwdy1way3pdhln1y"; + } + { + n = "model"; + h = "1pr6k2pdfdwx8jqs7gx7wzn3gxsql3sk6lnjha8m15lv4al6d4kj"; + } + { + n = "outline"; + h = "1jgr2g16j3id8v367jbgd6kx6g2w636fbzmd8jvkvkh7y1jgjqxm"; + } + { + n = "preferences"; + h = "027fhaqa5xbil6dmhvkbpha3pgw6dpmc2im3nlliyds57mdmdb1h"; + } + { + n = "text"; + h = "0clywylyidrxlqs0n816nhgjmk1c3xl7sn904ki4q050amfy0wb2"; + } + ]; propagatedBuildInputs = [ antlr-runtime_4_7 ]; @@ -526,10 +573,9 @@ rec { stripRoot = false; url = "https://github.com/${owner}/${repo}/archive/${rev}.zip"; sha256 = "1xfj4j27d1h4bdf2v7f78zi8lz4zkkj7s9kskmsqx5jcs2d459yp"; - postFetch = - '' - mv "$out/${repo}-${rev}/releases/local-repo/"* "$out/" - ''; + postFetch = '' + mv "$out/${repo}-${rev}/releases/local-repo/"* "$out/" + ''; }; meta = with lib; { diff --git a/pkgs/applications/editors/emacs/build-support/buffer.nix b/pkgs/applications/editors/emacs/build-support/buffer.nix index 48a7996916e8d..c91fd033e0b65 100644 --- a/pkgs/applications/editors/emacs/build-support/buffer.nix +++ b/pkgs/applications/editors/emacs/build-support/buffer.nix @@ -1,13 +1,22 @@ # Functions to build elisp files to locally configure emcas buffers. # See https://github.com/shlevy/nix-buffer -{ lib, writeText, inherit-local }: +{ + lib, + writeText, + inherit-local, +}: rec { - withPackages = pkgs': let + withPackages = + pkgs': + let pkgs = builtins.filter (x: x != null) pkgs'; - extras = map (x: x.emacsBufferSetup pkgs) (builtins.filter (builtins.hasAttr "emacsBufferSetup") pkgs); - in writeText "dir-locals.el" '' + extras = map (x: x.emacsBufferSetup pkgs) ( + builtins.filter (builtins.hasAttr "emacsBufferSetup") pkgs + ); + in + writeText "dir-locals.el" '' (require 'inherit-local "${inherit-local}/share/emacs/site-lisp/elpa/inherit-local-${inherit-local.version}/inherit-local.elc") ; Only set up nixpkgs buffer handling when we have some buffers active @@ -43,7 +52,9 @@ rec { ; setenv modifies in place, so copy the environment first (setq process-environment (copy-tree process-environment)) (setenv "PATH" (concat "${lib.makeSearchPath "bin" pkgs}:" (getenv "PATH"))) - (inherit-local-permanent exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path)) + (inherit-local-permanent exec-path (append '(${ + builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs) + }) exec-path)) (inherit-local-permanent eshell-path-env (concat "${lib.makeSearchPath "bin" pkgs}:" (if (boundp 'eshell-path-env) eshell-path-env (getenv "PATH")))) @@ -54,24 +65,28 @@ rec { ''; # nix-buffer function for a project with a bunch of haskell packages # in one directory - haskellMonoRepo = { project-root # The monorepo root - , haskellPackages # The composed haskell packages set that contains all of the packages - }: { root }: - let # The haskell paths. - haskell-paths = lib.filesystem.haskellPathsInDir project-root; - # Find the haskell package that the 'root' is in, if any. - haskell-path-parent = - let filtered = builtins.filter (name: - lib.hasPrefix (toString (project-root + "/${name}")) (toString root) + haskellMonoRepo = + { + project-root, # The monorepo root + haskellPackages, # The composed haskell packages set that contains all of the packages + }: + { root }: + let + # The haskell paths. + haskell-paths = lib.filesystem.haskellPathsInDir project-root; + # Find the haskell package that the 'root' is in, if any. + haskell-path-parent = + let + filtered = builtins.filter ( + name: lib.hasPrefix (toString (project-root + "/${name}")) (toString root) ) (builtins.attrNames haskell-paths); - in - if filtered == [] then null else builtins.head filtered; - # We're in the directory of a haskell package - is-haskell-package = haskell-path-parent != null; - haskell-package = haskellPackages.${haskell-path-parent}; - # GHC environment with all needed deps for the haskell package - haskell-package-env = - builtins.head haskell-package.env.nativeBuildInputs; + in + if filtered == [ ] then null else builtins.head filtered; + # We're in the directory of a haskell package + is-haskell-package = haskell-path-parent != null; + haskell-package = haskellPackages.${haskell-path-parent}; + # GHC environment with all needed deps for the haskell package + haskell-package-env = builtins.head haskell-package.env.nativeBuildInputs; in - lib.optionalAttrs is-haskell-package (withPackages [ haskell-package-env ]); + lib.optionalAttrs is-haskell-package (withPackages [ haskell-package-env ]); } diff --git a/pkgs/applications/editors/emacs/build-support/elpa.nix b/pkgs/applications/editors/emacs/build-support/elpa.nix index 5a8f0ab9e52c8..1b30a5ac898d8 100644 --- a/pkgs/applications/editors/emacs/build-support/elpa.nix +++ b/pkgs/applications/editors/emacs/build-support/elpa.nix @@ -1,40 +1,57 @@ # builder for Emacs packages built for packages.el -{ lib, stdenv, emacs, texinfo, writeText }: +{ + lib, + stdenv, + emacs, + texinfo, + writeText, +}: let - genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText; }; + genericBuild = import ./generic.nix { + inherit + lib + stdenv + emacs + texinfo + writeText + ; + }; libBuildHelper = import ./lib-build-helper.nix; in -libBuildHelper.extendMkDerivation' genericBuild (finalAttrs: +libBuildHelper.extendMkDerivation' genericBuild ( + finalAttrs: -{ pname -, dontUnpack ? true -, meta ? {} -, ... -}@args: + { + pname, + dontUnpack ? true, + meta ? { }, + ... + }@args: -{ + { - elpa2nix = args.elpa2nix or ./elpa2nix.el; + elpa2nix = args.elpa2nix or ./elpa2nix.el; - inherit dontUnpack; + inherit dontUnpack; - installPhase = args.installPhase or '' - runHook preInstall + installPhase = + args.installPhase or '' + runHook preInstall - emacs --batch -Q -l "$elpa2nix" \ - -f elpa2nix-install-package \ - "$src" "$out/share/emacs/site-lisp/elpa" + emacs --batch -Q -l "$elpa2nix" \ + -f elpa2nix-install-package \ + "$src" "$out/share/emacs/site-lisp/elpa" - runHook postInstall - ''; + runHook postInstall + ''; - meta = { - homepage = args.src.meta.homepage or "https://elpa.gnu.org/packages/${pname}.html"; - } // meta; -} + meta = { + homepage = args.src.meta.homepage or "https://elpa.gnu.org/packages/${pname}.html"; + } // meta; + } ) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index f5b60305fc6b9..282d42d76284b 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -1,6 +1,13 @@ # generic builder for Emacs packages -{ lib, stdenv, emacs, texinfo, writeText, ... }: +{ + lib, + stdenv, + emacs, + texinfo, + writeText, + ... +}: let inherit (lib) optionalAttrs; @@ -23,84 +30,97 @@ let in -libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: - -{ buildInputs ? [] -, nativeBuildInputs ? [] -, packageRequires ? [] -, propagatedBuildInputs ? [] -, propagatedUserEnvPkgs ? [] -, postInstall ? "" -, meta ? {} -, turnCompilationWarningToError ? false -, ignoreCompilationError ? false -, ... -}@args: - -{ - name = args.name or "emacs-${finalAttrs.pname}-${finalAttrs.version}"; - - unpackCmd = args.unpackCmd or '' - case "$curSrc" in - *.el) - # keep original source filename without the hash - local filename=$(basename "$curSrc") - filename="''${filename:33}" - cp $curSrc $filename - chmod +w $filename - sourceRoot="." - ;; - *) - _defaultUnpack "$curSrc" - ;; - esac - ''; - - inherit packageRequires; - buildInputs = finalAttrs.packageRequires ++ buildInputs; - nativeBuildInputs = [ emacs texinfo ] ++ nativeBuildInputs; - propagatedBuildInputs = finalAttrs.packageRequires ++ propagatedBuildInputs; - propagatedUserEnvPkgs = finalAttrs.packageRequires ++ propagatedUserEnvPkgs; - - setupHook = args.setupHook or setupHook; - - inherit turnCompilationWarningToError ignoreCompilationError; - - meta = { - broken = false; - platforms = emacs.meta.platforms; - } // optionalAttrs ((args.src.meta.homepage or "") != "") { - homepage = args.src.meta.homepage; - } // meta; -} - -// optionalAttrs (emacs.withNativeCompilation or false) { - - addEmacsNativeLoadPath = args.addEmacsNativeLoadPath or true; - - postInstall = '' - # Besides adding the output directory to the native load path, make sure - # the current package's elisp files are in the load path, otherwise - # (require 'file-b) from file-a.el in the same package will fail. - mkdir -p $out/share/emacs/native-lisp - source ${./emacs-funcs.sh} - addEmacsVars "$out" - - # package-activate-all is used to activate packages. In other builder - # helpers, package-initialize is used for this purpose because - # package-activate-all is not available before Emacs 27. - find $out/share/emacs -type f -name '*.el' -not -name ".dir-locals.el" -print0 \ - | xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \ - "emacs \ - --batch \ - -f package-activate-all \ - --eval '(setq native-comp-eln-load-path (cdr native-comp-eln-load-path))' \ - --eval '(let ((default-directory \"$out/share/emacs/site-lisp\")) (normal-top-level-add-subdirs-to-load-path))' \ - --eval '(setq large-file-warning-threshold nil)' \ - --eval '(setq byte-compile-error-on-warn ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"})' \ - -f batch-native-compile {} \ - || exit ${if finalAttrs.ignoreCompilationError then "0" else "\\$?"}" - '' + postInstall; -} +libBuildHelper.extendMkDerivation' stdenv.mkDerivation ( + finalAttrs: + + { + buildInputs ? [ ], + nativeBuildInputs ? [ ], + packageRequires ? [ ], + propagatedBuildInputs ? [ ], + propagatedUserEnvPkgs ? [ ], + postInstall ? "", + meta ? { }, + turnCompilationWarningToError ? false, + ignoreCompilationError ? false, + ... + }@args: + + { + name = args.name or "emacs-${finalAttrs.pname}-${finalAttrs.version}"; + + unpackCmd = + args.unpackCmd or '' + case "$curSrc" in + *.el) + # keep original source filename without the hash + local filename=$(basename "$curSrc") + filename="''${filename:33}" + cp $curSrc $filename + chmod +w $filename + sourceRoot="." + ;; + *) + _defaultUnpack "$curSrc" + ;; + esac + ''; + + inherit packageRequires; + buildInputs = finalAttrs.packageRequires ++ buildInputs; + nativeBuildInputs = [ + emacs + texinfo + ] ++ nativeBuildInputs; + propagatedBuildInputs = finalAttrs.packageRequires ++ propagatedBuildInputs; + propagatedUserEnvPkgs = finalAttrs.packageRequires ++ propagatedUserEnvPkgs; + + setupHook = args.setupHook or setupHook; + + inherit turnCompilationWarningToError ignoreCompilationError; + + meta = + { + broken = false; + platforms = emacs.meta.platforms; + } + // optionalAttrs ((args.src.meta.homepage or "") != "") { + homepage = args.src.meta.homepage; + } + // meta; + } + + // optionalAttrs (emacs.withNativeCompilation or false) { + + addEmacsNativeLoadPath = args.addEmacsNativeLoadPath or true; + + postInstall = + '' + # Besides adding the output directory to the native load path, make sure + # the current package's elisp files are in the load path, otherwise + # (require 'file-b) from file-a.el in the same package will fail. + mkdir -p $out/share/emacs/native-lisp + source ${./emacs-funcs.sh} + addEmacsVars "$out" + + # package-activate-all is used to activate packages. In other builder + # helpers, package-initialize is used for this purpose because + # package-activate-all is not available before Emacs 27. + find $out/share/emacs -type f -name '*.el' -not -name ".dir-locals.el" -print0 \ + | xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \ + "emacs \ + --batch \ + -f package-activate-all \ + --eval '(setq native-comp-eln-load-path (cdr native-comp-eln-load-path))' \ + --eval '(let ((default-directory \"$out/share/emacs/site-lisp\")) (normal-top-level-add-subdirs-to-load-path))' \ + --eval '(setq large-file-warning-threshold nil)' \ + --eval '(setq byte-compile-error-on-warn ${ + if finalAttrs.turnCompilationWarningToError then "t" else "nil" + })' \ + -f batch-native-compile {} \ + || exit ${if finalAttrs.ignoreCompilationError then "0" else "\\$?"}" + '' + + postInstall; + } ) diff --git a/pkgs/applications/editors/emacs/build-support/melpa.nix b/pkgs/applications/editors/emacs/build-support/melpa.nix index a6e6e7c5d4b1b..6aa9d2502d76f 100644 --- a/pkgs/applications/editors/emacs/build-support/melpa.nix +++ b/pkgs/applications/editors/emacs/build-support/melpa.nix @@ -1,10 +1,25 @@ # builder for Emacs packages built for packages.el # using MELPA package-build.el -{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText }: +{ + lib, + stdenv, + fetchFromGitHub, + emacs, + texinfo, + writeText, +}: let - genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText; }; + genericBuild = import ./generic.nix { + inherit + lib + stdenv + emacs + texinfo + writeText + ; + }; libBuildHelper = import ./lib-build-helper.nix; packageBuild = stdenv.mkDerivation { @@ -29,140 +44,156 @@ let in -libBuildHelper.extendMkDerivation' genericBuild (finalAttrs: - -{ /* - pname: Nix package name without special symbols and without version or - "emacs-" prefix. - */ - pname - /* - ename: Original Emacs package name, possibly containing special symbols. - Default: pname - */ -, ename ? pname - /* - version: Either a stable version such as "1.2" or an unstable version. - An unstable version can use either Nix format (preferred) such as - "1.2-unstable-2024-06-01" or MELPA format such as "20240601.1230". - */ -, version - /* - commit: Optional package history commit. - Default: src.rev or "unknown" - This will be written into the generated package but it is not needed during - the build process. - */ -, commit ? (finalAttrs.src.rev or "unknown") - /* - files: Optional recipe property specifying the files used to build the package. - If null, do not set it in recipe, keeping the default upstream behaviour. - Default: null - */ -, files ? null - /* - recipe: Optional MELPA recipe. - Default: a minimally functional recipe - This can be a path of a recipe file, a string of the recipe content or an empty string. - The default value is used if it is an empty string. - */ -, recipe ? "" -, preUnpack ? "" -, postUnpack ? "" -, meta ? {} -, ... -}@args: - -{ - - elpa2nix = args.elpa2nix or ./elpa2nix.el; - melpa2nix = args.melpa2nix or ./melpa2nix.el; - - inherit commit ename files recipe; - - packageBuild = args.packageBuild or packageBuild; - - melpaVersion = args.melpaVersion or ( - let - parsed = lib.flip builtins.match version - # match -unstable-YYYY-MM-DD format - "^.*-unstable-([[:digit:]]{4})-([[:digit:]]{2})-([[:digit:]]{2})$"; - unstableVersionInNixFormat = parsed != null; # heuristics - date = builtins.concatStringsSep "" parsed; - time = "0"; # unstable version in nix format lacks this info - in - if unstableVersionInNixFormat - then date + "." + time - else finalAttrs.version); - - preUnpack = '' - mkdir -p "$NIX_BUILD_TOP/recipes" - recipeFile="$NIX_BUILD_TOP/recipes/$ename" - if [ -r "$recipe" ]; then - ln -s "$recipe" "$recipeFile" - nixInfoLog "link recipe" - elif [ -n "$recipe" ]; then - printf "%s" "$recipe" > "$recipeFile" - nixInfoLog "write recipe" - else - cat > "$recipeFile" <<'EOF' -(${finalAttrs.ename} :fetcher git :url "" ${lib.optionalString (finalAttrs.files != null) ":files ${finalAttrs.files}"}) -EOF - nixInfoLog "use default recipe" - fi - nixInfoLog "recipe content:" "$(< $recipeFile)" - unset -v recipeFile - - ln -s "$packageBuild" "$NIX_BUILD_TOP/package-build" - - mkdir -p "$NIX_BUILD_TOP/packages" - '' + preUnpack; - - postUnpack = '' - mkdir -p "$NIX_BUILD_TOP/working" - ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$ename" - '' + postUnpack; - - buildPhase = args.buildPhase or '' - runHook preBuild - - # This is modified from stdenv buildPhase. foundMakefile is used in stdenv checkPhase. - if [[ ! ( -z "''${makeFlags-}" && -z "''${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ) ]]; then - foundMakefile=1 - fi - - pushd "$NIX_BUILD_TOP" - - emacs --batch -Q \ - -L "$NIX_BUILD_TOP/package-build" \ - -l "$melpa2nix" \ - -f melpa2nix-build-package \ - $ename $melpaVersion $commit - - popd - - runHook postBuild - ''; - - installPhase = args.installPhase or '' - runHook preInstall - - archive="$NIX_BUILD_TOP/packages/$ename-$melpaVersion.el" - if [ ! -f "$archive" ]; then - archive="$NIX_BUILD_TOP/packages/$ename-$melpaVersion.tar" - fi - - emacs --batch -Q \ - -l "$elpa2nix" \ - -f elpa2nix-install-package \ - "$archive" "$out/share/emacs/site-lisp/elpa" - - runHook postInstall - ''; - - meta = { - homepage = args.src.meta.homepage or "https://melpa.org/#/${pname}"; - } // meta; -} +libBuildHelper.extendMkDerivation' genericBuild ( + finalAttrs: + + { + /* + pname: Nix package name without special symbols and without version or + "emacs-" prefix. + */ + pname, + /* + ename: Original Emacs package name, possibly containing special symbols. + Default: pname + */ + ename ? pname, + /* + version: Either a stable version such as "1.2" or an unstable version. + An unstable version can use either Nix format (preferred) such as + "1.2-unstable-2024-06-01" or MELPA format such as "20240601.1230". + */ + version, + /* + commit: Optional package history commit. + Default: src.rev or "unknown" + This will be written into the generated package but it is not needed during + the build process. + */ + commit ? (finalAttrs.src.rev or "unknown"), + /* + files: Optional recipe property specifying the files used to build the package. + If null, do not set it in recipe, keeping the default upstream behaviour. + Default: null + */ + files ? null, + /* + recipe: Optional MELPA recipe. + Default: a minimally functional recipe + This can be a path of a recipe file, a string of the recipe content or an empty string. + The default value is used if it is an empty string. + */ + recipe ? "", + preUnpack ? "", + postUnpack ? "", + meta ? { }, + ... + }@args: + + { + + elpa2nix = args.elpa2nix or ./elpa2nix.el; + melpa2nix = args.melpa2nix or ./melpa2nix.el; + + inherit + commit + ename + files + recipe + ; + + packageBuild = args.packageBuild or packageBuild; + + melpaVersion = + args.melpaVersion or ( + let + parsed = + lib.flip builtins.match version + # match -unstable-YYYY-MM-DD format + "^.*-unstable-([[:digit:]]{4})-([[:digit:]]{2})-([[:digit:]]{2})$"; + unstableVersionInNixFormat = parsed != null; # heuristics + date = builtins.concatStringsSep "" parsed; + time = "0"; # unstable version in nix format lacks this info + in + if unstableVersionInNixFormat then date + "." + time else finalAttrs.version + ); + + preUnpack = + '' + mkdir -p "$NIX_BUILD_TOP/recipes" + recipeFile="$NIX_BUILD_TOP/recipes/$ename" + if [ -r "$recipe" ]; then + ln -s "$recipe" "$recipeFile" + nixInfoLog "link recipe" + elif [ -n "$recipe" ]; then + printf "%s" "$recipe" > "$recipeFile" + nixInfoLog "write recipe" + else + cat > "$recipeFile" <<'EOF' + (${finalAttrs.ename} :fetcher git :url "" ${ + lib.optionalString (finalAttrs.files != null) ":files ${finalAttrs.files}" + }) + EOF + nixInfoLog "use default recipe" + fi + nixInfoLog "recipe content:" "$(< $recipeFile)" + unset -v recipeFile + + ln -s "$packageBuild" "$NIX_BUILD_TOP/package-build" + + mkdir -p "$NIX_BUILD_TOP/packages" + '' + + preUnpack; + + postUnpack = + '' + mkdir -p "$NIX_BUILD_TOP/working" + ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$ename" + '' + + postUnpack; + + buildPhase = + args.buildPhase or '' + runHook preBuild + + # This is modified from stdenv buildPhase. foundMakefile is used in stdenv checkPhase. + if [[ ! ( -z "''${makeFlags-}" && -z "''${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ) ]]; then + foundMakefile=1 + fi + + pushd "$NIX_BUILD_TOP" + + emacs --batch -Q \ + -L "$NIX_BUILD_TOP/package-build" \ + -l "$melpa2nix" \ + -f melpa2nix-build-package \ + $ename $melpaVersion $commit + + popd + + runHook postBuild + ''; + + installPhase = + args.installPhase or '' + runHook preInstall + + archive="$NIX_BUILD_TOP/packages/$ename-$melpaVersion.el" + if [ ! -f "$archive" ]; then + archive="$NIX_BUILD_TOP/packages/$ename-$melpaVersion.tar" + fi + + emacs --batch -Q \ + -l "$elpa2nix" \ + -f elpa2nix-install-package \ + "$archive" "$out/share/emacs/site-lisp/elpa" + + runHook postInstall + ''; + + meta = { + homepage = args.src.meta.homepage or "https://melpa.org/#/${pname}"; + } // meta; + } ) diff --git a/pkgs/applications/editors/emacs/build-support/trivial.nix b/pkgs/applications/editors/emacs/build-support/trivial.nix index 2e4da1ca8ea02..9a3b59246497b 100644 --- a/pkgs/applications/editors/emacs/build-support/trivial.nix +++ b/pkgs/applications/editors/emacs/build-support/trivial.nix @@ -6,33 +6,36 @@ let libBuildHelper = import ./lib-build-helper.nix; in -libBuildHelper.extendMkDerivation' (callPackage ./generic.nix envargs) (finalAttrs: +libBuildHelper.extendMkDerivation' (callPackage ./generic.nix envargs) ( + finalAttrs: -args: + args: -{ - buildPhase = args.buildPhase or '' - runHook preBuild + { + buildPhase = + args.buildPhase or '' + runHook preBuild - # This is modified from stdenv buildPhase. foundMakefile is used in stdenv checkPhase. - if [[ ! ( -z "''${makeFlags-}" && -z "''${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ) ]]; then - foundMakefile=1 - fi + # This is modified from stdenv buildPhase. foundMakefile is used in stdenv checkPhase. + if [[ ! ( -z "''${makeFlags-}" && -z "''${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ) ]]; then + foundMakefile=1 + fi - emacs -l package -f package-initialize -L . --batch -f batch-byte-compile *.el + emacs -l package -f package-initialize -L . --batch -f batch-byte-compile *.el - runHook postBuild - ''; + runHook postBuild + ''; - installPhase = args.installPhase or '' - runHook preInstall + installPhase = + args.installPhase or '' + runHook preInstall - LISPDIR=$out/share/emacs/site-lisp - install -d $LISPDIR - install *.el *.elc $LISPDIR + LISPDIR=$out/share/emacs/site-lisp + install -d $LISPDIR + install *.el *.elc $LISPDIR - runHook postInstall - ''; -} + runHook postInstall + ''; + } ) diff --git a/pkgs/applications/editors/emacs/build-support/wrapper.nix b/pkgs/applications/editors/emacs/build-support/wrapper.nix index 5b325f5e0a9e6..606a7a500e33a 100644 --- a/pkgs/applications/editors/emacs/build-support/wrapper.nix +++ b/pkgs/applications/editors/emacs/build-support/wrapper.nix @@ -1,38 +1,41 @@ /* - -# Usage - -`emacs.pkgs.withPackages` takes a single argument: a function from a package -set to a list of packages (the packages that will be available in -Emacs). For example, -``` -emacs.pkgs.withPackages (epkgs: [ epkgs.evil epkgs.magit ]) -``` -All the packages in the list should come from the provided package -set. It is possible to add any package to the list, but the provided -set is guaranteed to have consistent dependencies and be built with -the correct version of Emacs. - -# Overriding - -`emacs.pkgs.withPackages` inherits the package set which contains it, so the -correct way to override the provided package set is to override the -set which contains `emacs.pkgs.withPackages`. For example, to override -`emacs.pkgs.emacs.pkgs.withPackages`, -``` -let customEmacsPackages = - emacs.pkgs.overrideScope (self: super: { - # use a custom version of emacs - emacs = ...; - # use the unstable MELPA version of magit - magit = self.melpaPackages.magit; - }); -in customEmacsPackages.withPackages (epkgs: [ epkgs.evil epkgs.magit ]) -``` - + # Usage + + `emacs.pkgs.withPackages` takes a single argument: a function from a package + set to a list of packages (the packages that will be available in + Emacs). For example, + ``` + emacs.pkgs.withPackages (epkgs: [ epkgs.evil epkgs.magit ]) + ``` + All the packages in the list should come from the provided package + set. It is possible to add any package to the list, but the provided + set is guaranteed to have consistent dependencies and be built with + the correct version of Emacs. + + # Overriding + + `emacs.pkgs.withPackages` inherits the package set which contains it, so the + correct way to override the provided package set is to override the + set which contains `emacs.pkgs.withPackages`. For example, to override + `emacs.pkgs.emacs.pkgs.withPackages`, + ``` + let customEmacsPackages = + emacs.pkgs.overrideScope (self: super: { + # use a custom version of emacs + emacs = ...; + # use the unstable MELPA version of magit + magit = self.melpaPackages.magit; + }); + in customEmacsPackages.withPackages (epkgs: [ epkgs.evil epkgs.magit ]) + ``` */ -{ lib, lndir, makeBinaryWrapper, runCommand }: +{ + lib, + lndir, + makeBinaryWrapper, + runCommand, +}: self: let inherit (self) emacs; @@ -41,148 +44,152 @@ let in packagesFun: # packages explicitly requested by the user let - explicitRequires = - if lib.isFunction packagesFun - then packagesFun self - else packagesFun; + explicitRequires = if lib.isFunction packagesFun then packagesFun self else packagesFun; in -runCommand - (lib.appendToName "with-packages" emacs).name +runCommand (lib.appendToName "with-packages" emacs).name { inherit emacs explicitRequires; - nativeBuildInputs = [ emacs lndir makeBinaryWrapper ]; + nativeBuildInputs = [ + emacs + lndir + makeBinaryWrapper + ]; preferLocalBuild = true; allowSubstitutes = false; # Store all paths we want to add to emacs here, so that we only need to add # one path to the load lists - deps = runCommand "emacs-packages-deps" - ({ - inherit explicitRequires lndir emacs; - } // lib.optionalAttrs withNativeCompilation { - inherit (emacs) LIBRARY_PATH; - }) - '' - findInputsOld() { - local pkg="$1"; shift - local var="$1"; shift - local propagatedBuildInputsFiles=("$@") - - # TODO(@Ericson2314): Restore using associative array once Darwin - # nix-shell doesn't use impure bash. This should replace the O(n) - # case with an O(1) hash map lookup, assuming bash is implemented - # well :D. - local varSlice="$var[*]" - # ''${..-} to hack around old bash empty array problem - case "''${!varSlice-}" in - *" $pkg "*) return 0 ;; - esac - unset -v varSlice - - eval "$var"'+=("$pkg")' - - if ! [ -e "$pkg" ]; then - echo "build input $pkg does not exist" >&2 - exit 1 - fi - - local file - for file in "''${propagatedBuildInputsFiles[@]}"; do - file="$pkg/nix-support/$file" - [[ -f "$file" ]] || continue - - local pkgNext - for pkgNext in $(< "$file"); do - findInputsOld "$pkgNext" "$var" "''${propagatedBuildInputsFiles[@]}" - done - done - } - mkdir -p $out/bin - mkdir -p $out/share/emacs/site-lisp - ${lib.optionalString withNativeCompilation '' - mkdir -p $out/share/emacs/native-lisp - ''} - ${lib.optionalString withTreeSitter '' - mkdir -p $out/lib - ''} - - local requires - for pkg in $explicitRequires; do - findInputsOld $pkg requires propagated-user-env-packages - done - # requires now holds all requested packages and their transitive dependencies - - linkPath() { - local pkg=$1 - local origin_path=$2 - local dest_path=$3 - - # Add the path to the search path list, but only if it exists - if [[ -d "$pkg/$origin_path" ]]; then - $lndir/bin/lndir -silent "$pkg/$origin_path" "$out/$dest_path" - fi - } - - linkEmacsPackage() { - linkPath "$1" "bin" "bin" - linkPath "$1" "share/emacs/site-lisp" "share/emacs/site-lisp" + deps = + runCommand "emacs-packages-deps" + ( + { + inherit explicitRequires lndir emacs; + } + // lib.optionalAttrs withNativeCompilation { + inherit (emacs) LIBRARY_PATH; + } + ) + '' + findInputsOld() { + local pkg="$1"; shift + local var="$1"; shift + local propagatedBuildInputsFiles=("$@") + + # TODO(@Ericson2314): Restore using associative array once Darwin + # nix-shell doesn't use impure bash. This should replace the O(n) + # case with an O(1) hash map lookup, assuming bash is implemented + # well :D. + local varSlice="$var[*]" + # ''${..-} to hack around old bash empty array problem + case "''${!varSlice-}" in + *" $pkg "*) return 0 ;; + esac + unset -v varSlice + + eval "$var"'+=("$pkg")' + + if ! [ -e "$pkg" ]; then + echo "build input $pkg does not exist" >&2 + exit 1 + fi + + local file + for file in "''${propagatedBuildInputsFiles[@]}"; do + file="$pkg/nix-support/$file" + [[ -f "$file" ]] || continue + + local pkgNext + for pkgNext in $(< "$file"); do + findInputsOld "$pkgNext" "$var" "''${propagatedBuildInputsFiles[@]}" + done + done + } + mkdir -p $out/bin + mkdir -p $out/share/emacs/site-lisp ${lib.optionalString withNativeCompilation '' - linkPath "$1" "share/emacs/native-lisp" "share/emacs/native-lisp" + mkdir -p $out/share/emacs/native-lisp ''} ${lib.optionalString withTreeSitter '' - linkPath "$1" "lib" "lib" + mkdir -p $out/lib + ''} + + local requires + for pkg in $explicitRequires; do + findInputsOld $pkg requires propagated-user-env-packages + done + # requires now holds all requested packages and their transitive dependencies + + linkPath() { + local pkg=$1 + local origin_path=$2 + local dest_path=$3 + + # Add the path to the search path list, but only if it exists + if [[ -d "$pkg/$origin_path" ]]; then + $lndir/bin/lndir -silent "$pkg/$origin_path" "$out/$dest_path" + fi + } + + linkEmacsPackage() { + linkPath "$1" "bin" "bin" + linkPath "$1" "share/emacs/site-lisp" "share/emacs/site-lisp" + ${lib.optionalString withNativeCompilation '' + linkPath "$1" "share/emacs/native-lisp" "share/emacs/native-lisp" + ''} + ${lib.optionalString withTreeSitter '' + linkPath "$1" "lib" "lib" + ''} + } + + # Iterate over the array of inputs (avoiding nix's own interpolation) + for pkg in "''${requires[@]}"; do + linkEmacsPackage $pkg + done + + siteStart="$out/share/emacs/site-lisp/site-start.el" + siteStartByteCompiled="$siteStart"c + subdirs="$out/share/emacs/site-lisp/subdirs.el" + subdirsByteCompiled="$subdirs"c + + # A dependency may have brought the original siteStart or subdirs, delete + # it and create our own + # Begin the new site-start.el by loading the original, which sets some + # NixOS-specific paths. Paths are searched in the reverse of the order + # they are specified in, so user and system profile paths are searched last. + # + # NOTE: Avoid displaying messages early at startup by binding + # inhibit-message to t. This would prevent the Emacs GUI from showing up + # prematurely. The messages would still be logged to the *Messages* + # buffer. + rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled + cat >"$siteStart" < "$subdirs" + + # Byte-compiling improves start-up time only slightly, but costs nothing. + $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs" + + ${lib.optionalString withNativeCompilation '' + $emacs/bin/emacs --batch \ + --eval "(add-to-list 'native-comp-eln-load-path \"$out/share/emacs/native-lisp/\")" \ + -f batch-native-compile "$siteStart" "$subdirs" ''} - } - - # Iterate over the array of inputs (avoiding nix's own interpolation) - for pkg in "''${requires[@]}"; do - linkEmacsPackage $pkg - done - - siteStart="$out/share/emacs/site-lisp/site-start.el" - siteStartByteCompiled="$siteStart"c - subdirs="$out/share/emacs/site-lisp/subdirs.el" - subdirsByteCompiled="$subdirs"c - - # A dependency may have brought the original siteStart or subdirs, delete - # it and create our own - # Begin the new site-start.el by loading the original, which sets some - # NixOS-specific paths. Paths are searched in the reverse of the order - # they are specified in, so user and system profile paths are searched last. - # - # NOTE: Avoid displaying messages early at startup by binding - # inhibit-message to t. This would prevent the Emacs GUI from showing up - # prematurely. The messages would still be logged to the *Messages* - # buffer. - rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled - cat >"$siteStart" < "$subdirs" - - # Byte-compiling improves start-up time only slightly, but costs nothing. - $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs" - - ${lib.optionalString withNativeCompilation '' - $emacs/bin/emacs --batch \ - --eval "(add-to-list 'native-comp-eln-load-path \"$out/share/emacs/native-lisp/\")" \ - -f batch-native-compile "$siteStart" "$subdirs" - ''} - ''; + ''; inherit (emacs) meta; } diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index faf06ca843c7f..2801a660f3125 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -1,21 +1,35 @@ { lib, pkgs }: -lib.makeScope pkgs.newScope (self: +lib.makeScope pkgs.newScope ( + self: let inherit (self) callPackage; inheritedArgs = { inherit (pkgs.darwin) sigtool; inherit (pkgs.darwin.apple_sdk.frameworks) - Accelerate AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit - Quartz QuartzCore WebKit; + Accelerate + AppKit + Carbon + Cocoa + GSS + ImageCaptureCore + ImageIO + IOKit + OSAKit + Quartz + QuartzCore + WebKit + ; inherit (pkgs.darwin.apple_sdk_11_0.frameworks) UniformTypeIdentifiers; }; - in { + in + { sources = import ./sources.nix { inherit lib; inherit (pkgs) fetchFromBitbucket - fetchFromSavannah; + fetchFromSavannah + ; }; emacs28 = callPackage (self.sources.emacs28) inheritedArgs; @@ -24,9 +38,11 @@ lib.makeScope pkgs.newScope (self: withGTK3 = true; }; - emacs28-nox = pkgs.lowPrio (self.emacs28.override { - noGui = true; - }); + emacs28-nox = pkgs.lowPrio ( + self.emacs28.override { + noGui = true; + } + ); emacs29 = callPackage (self.sources.emacs29) inheritedArgs; @@ -59,4 +75,5 @@ lib.makeScope pkgs.newScope (self: emacs28-macport = callPackage (self.sources.emacs28-macport) inheritedArgs; emacs29-macport = callPackage (self.sources.emacs29-macport) inheritedArgs; - }) + } +) diff --git a/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix b/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix index f4524f3b7a95b..1f76abd232e57 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/fetchelpa.nix @@ -7,15 +7,19 @@ { fetchurl, lzip }: -{ url, ... }@args: fetchurl ((removeAttrs args [ "url" ]) // { - urls = [ - url - (url + ".lz") - ]; - postFetch = '' - if [[ $url == *.lz ]]; then - ${lzip}/bin/lzip -c -d $out > uncompressed - mv uncompressed $out - fi - ''; -}) +{ url, ... }@args: +fetchurl ( + (removeAttrs args [ "url" ]) + // { + urls = [ + url + (url + ".lz") + ]; + postFetch = '' + if [[ $url == *.lz ]]; then + ${lzip}/bin/lzip -c -d $out > uncompressed + mv uncompressed $out + fi + ''; + } +) diff --git a/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix b/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix index 1a2a138b206af..bccc26776c32e 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix @@ -52,9 +52,10 @@ let (fetchgit { rev = commit; inherit sha256 url; - }).overrideAttrs(_: { - GIT_SSL_NO_VERIFY = true; - }) + }).overrideAttrs + (_: { + GIT_SSL_NO_VERIFY = true; + }) ); bitbucket = @@ -107,50 +108,61 @@ let }; }; -in { +in +{ - melpaDerivation = variant: - { ename, fetcher - , commit ? null - , sha256 ? null - , ... }@args: - let - sourceArgs = args.${variant}; - version = sourceArgs.version or null; - deps = sourceArgs.deps or null; - error = sourceArgs.error or args.error or null; - hasSource = lib.hasAttr variant args; - pname = builtins.replaceStrings [ "@" ] [ "at" ] ename; - broken = error != null; - in - if hasSource then - lib.nameValuePair ename ( - self.callPackage ({ melpaBuild, fetchurl, ... }@pkgargs: + melpaDerivation = + variant: + { + ename, + fetcher, + commit ? null, + sha256 ? null, + ... + }@args: + let + sourceArgs = args.${variant}; + version = sourceArgs.version or null; + deps = sourceArgs.deps or null; + error = sourceArgs.error or args.error or null; + hasSource = lib.hasAttr variant args; + pname = builtins.replaceStrings [ "@" ] [ "at" ] ename; + broken = error != null; + in + if hasSource then + lib.nameValuePair ename ( + self.callPackage ( + { melpaBuild, fetchurl, ... }@pkgargs: melpaBuild { inherit pname ename; inherit (sourceArgs) commit; - version = lib.optionalString (version != null) - (lib.concatStringsSep "." (map toString - # Hack: Melpa archives contains versions with parse errors such as [ 4 4 -4 413 ] which should be 4.4-413 - # This filter method is still technically wrong, but it's computationally cheap enough and tapers over the issue - (builtins.filter (n: n >= 0) version))); + version = lib.optionalString (version != null) ( + lib.concatStringsSep "." ( + map toString + # Hack: Melpa archives contains versions with parse errors such as [ 4 4 -4 413 ] which should be 4.4-413 + # This filter method is still technically wrong, but it's computationally cheap enough and tapers over the issue + (builtins.filter (n: n >= 0) version) + ) + ); # TODO: Broken should not result in src being null (hack to avoid eval errors) - src = if (sha256 == null || broken) then null else - fetchers.${fetcher} args sourceArgs; - recipe = if commit == null then null else - fetchurl { - name = pname + "-recipe"; - url = "https://raw.githubusercontent.com/melpa/melpa/${commit}/recipes/${ename}"; - inherit sha256; - }; - packageRequires = lib.optionals (deps != null) - (map (dep: pkgargs.${dep} or self.${dep} or null) - deps); - meta = (sourceArgs.meta or {}) // { + src = if (sha256 == null || broken) then null else fetchers.${fetcher} args sourceArgs; + recipe = + if commit == null then + null + else + fetchurl { + name = pname + "-recipe"; + url = "https://raw.githubusercontent.com/melpa/melpa/${commit}/recipes/${ename}"; + inherit sha256; + }; + packageRequires = lib.optionals (deps != null) ( + map (dep: pkgargs.${dep} or self.${dep} or null) deps + ); + meta = (sourceArgs.meta or { }) // { inherit broken; }; } - ) {} + ) { } ) else null; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index 2186fede2562c..ecb597cfc9733 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -16,7 +16,13 @@ lib.packagesFromDirectoryRecursive { }; lsp-bridge = callPackage ./manual-packages/lsp-bridge { - inherit (pkgs) basedpyright git go gopls python3; + inherit (pkgs) + basedpyright + git + go + gopls + python3 + ; }; structured-haskell-mode = self.shm; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix index e9a5e9128810b..cb514eef5347d 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, cedille -, emacs +{ + stdenv, + cedille, + emacs, }: stdenv.mkDerivation { @@ -27,7 +28,11 @@ stdenv.mkDerivation { meta = { inherit (cedille.meta) - homepage license maintainers platforms; + homepage + license + maintainers + platforms + ; description = "Emacs major mode for Cedille"; }; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix index 2a7b7b571d12e..52f82935717dd 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix @@ -30,6 +30,9 @@ melpaBuild { homepage = "https://github.com/idris-community/idris2-mode"; description = "Emacs mode for editing Idris 2 code"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ wuyoli AndersonTorres ]; + maintainers = with lib.maintainers; [ + wuyoli + AndersonTorres + ]; }; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix index f8c2a6c6aafe2..4b893e5b98fd4 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix @@ -22,6 +22,9 @@ melpaBuild { homepage = "https://www.emacswiki.org/emacs/IsearchPlus"; description = "Search text- or overlay-property contexts"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ leungbk AndersonTorres ]; + maintainers = with lib.maintainers; [ + leungbk + AndersonTorres + ]; }; } diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix index f6ec8048715ce..bf6d2aef72ce9 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix @@ -1,7 +1,7 @@ { lib, melpaBuild, - fetchurl + fetchurl, }: let diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix index 5f04332db117f..902e8f1721bfe 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, melpaStablePackages -, runCommand -, tree-sitter-grammars -, plugins ? map (g: tree-sitter-grammars.${g}) (lib.importJSON ./default-grammars.json) -, final +{ + lib, + stdenv, + melpaStablePackages, + runCommand, + tree-sitter-grammars, + plugins ? map (g: tree-sitter-grammars.${g}) (lib.importJSON ./default-grammars.json), + final, }: let @@ -13,38 +14,44 @@ let langName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname); soName = g: langName g + stdenv.hostPlatform.extensions.sharedLibrary; - grammarDir = runCommand "emacs-tree-sitter-grammars" { - # Fake same version number as upstream language bundle to prevent triggering runtime downloads - inherit (tree-sitter-langs) version; - } ('' - install -d $out/langs/bin - echo -n $version > $out/langs/bin/BUNDLE-VERSION - '' + lib.concatStringsSep "\n" (map ( - g: "ln -s ${g}/parser $out/langs/bin/${soName g}") plugins - )); + grammarDir = + runCommand "emacs-tree-sitter-grammars" + { + # Fake same version number as upstream language bundle to prevent triggering runtime downloads + inherit (tree-sitter-langs) version; + } + ( + '' + install -d $out/langs/bin + echo -n $version > $out/langs/bin/BUNDLE-VERSION + '' + + lib.concatStringsSep "\n" (map (g: "ln -s ${g}/parser $out/langs/bin/${soName g}") plugins) + ); siteDir = "$out/share/emacs/site-lisp/elpa/${tree-sitter-langs.pname}-${tree-sitter-langs.version}"; in -melpaStablePackages.tree-sitter-langs.overrideAttrs(old: { - postPatch = old.postPatch or "" + '' - substituteInPlace ./tree-sitter-langs-build.el \ - --replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir" "tree-sitter-langs-grammar-dir \"${grammarDir}/langs\"" - ''; +melpaStablePackages.tree-sitter-langs.overrideAttrs (old: { + postPatch = + old.postPatch or "" + + '' + substituteInPlace ./tree-sitter-langs-build.el \ + --replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir" "tree-sitter-langs-grammar-dir \"${grammarDir}/langs\"" + ''; postInstall = old.postInstall or "" - + lib.concatStringsSep "\n" - (map - (g: '' - if [[ -d "${g}/queries" ]]; then - mkdir -p ${siteDir}/queries/${langName g}/ - for f in ${g}/queries/*; do - ln -sfn "$f" ${siteDir}/queries/${langName g}/ - done - fi - '') plugins); + + lib.concatStringsSep "\n" ( + map (g: '' + if [[ -d "${g}/queries" ]]; then + mkdir -p ${siteDir}/queries/${langName g}/ + for f in ${g}/queries/*; do + ln -sfn "$f" ${siteDir}/queries/${langName g}/ + done + fi + '') plugins + ); - passthru = old.passthru or {} // { + passthru = old.passthru or { } // { inherit plugins; withPlugins = fn: final.tree-sitter-langs.override { plugins = fn tree-sitter-grammars; }; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix index af720337ff05e..30a536e3d4e5e 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix @@ -2,16 +2,16 @@ let libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary; - grammarToAttrSet = drv: - { - name = "lib/lib${lib.strings.removeSuffix "-grammar" (lib.strings.getName drv)}${libExt}"; - path = "${drv}/parser"; - }; + grammarToAttrSet = drv: { + name = "lib/lib${lib.strings.removeSuffix "-grammar" (lib.strings.getName drv)}${libExt}"; + path = "${drv}/parser"; + }; # Usage: # treesit-grammars.with-grammars (p: [ p.tree-sitter-bash p.tree-sitter-c ... ]) - with-grammars = fn: pkgs.linkFarm "emacs-treesit-grammars" - (map grammarToAttrSet (fn pkgs.tree-sitter.builtGrammars)); + with-grammars = + fn: + pkgs.linkFarm "emacs-treesit-grammars" (map grammarToAttrSet (fn pkgs.tree-sitter.builtGrammars)); in { inherit with-grammars; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix index bf23d0caf9df0..c3fafdf27a133 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix @@ -1,9 +1,10 @@ -{ lib -, melpaBuild -, fetchFromGitHub -, rustPlatform -, stdenv -, nix-update-script +{ + lib, + melpaBuild, + fetchFromGitHub, + rustPlatform, + stdenv, + nix-update-script, }: let @@ -36,7 +37,8 @@ let popd ''; }; -in melpaBuild { +in +melpaBuild { pname = "tsc"; inherit (tsc-dyn) version src; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/package.nix index afd1ddb0fbebd..754eb9fa926c1 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, emacs, fetchFromSourcehut, xapian }: +{ + lib, + stdenv, + emacs, + fetchFromSourcehut, + xapian, +}: stdenv.mkDerivation (finalAttrs: { pname = "xapian-lite"; @@ -16,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { rm emacs-module.h ''; - buildInputs = [ xapian emacs ]; + buildInputs = [ + xapian + emacs + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix index 788d096e6ec69..ff14c7a29de76 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix @@ -3,9 +3,18 @@ let config.allowBroken = true; }; inherit (pkgs) lib emacs; - inherit (lib) isDerivation hasAttr filterAttrs mapAttrs attrValues; + inherit (lib) + isDerivation + hasAttr + filterAttrs + mapAttrs + attrValues + ; # Extract updateScript's from manually package emacs packages - hasScript = filterAttrs (_: v: isDerivation v && hasAttr "updateScript" v) emacs.pkgs.manualPackages; + hasScript = filterAttrs ( + _: v: isDerivation v && hasAttr "updateScript" v + ) emacs.pkgs.manualPackages; -in attrValues (mapAttrs (_: v: v.updateScript) hasScript) +in +attrValues (mapAttrs (_: v: v.updateScript) hasScript) diff --git a/pkgs/applications/editors/emacs/elisp-packages/updater-emacs.nix b/pkgs/applications/editors/emacs/elisp-packages/updater-emacs.nix index 824567318f223..9356a9e3d0c1a 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/updater-emacs.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/updater-emacs.nix @@ -1,39 +1,47 @@ let - pkgs = import ../../../../.. {}; + pkgs = import ../../../../.. { }; - emacsEnv = pkgs.emacs.pkgs.withPackages (epkgs: let + emacsEnv = pkgs.emacs.pkgs.withPackages ( + epkgs: + let - promise = epkgs.melpaBuild { - pname = "promise"; - version = "0-unstable-2019-06-07"; + promise = epkgs.melpaBuild { + pname = "promise"; + version = "0-unstable-2019-06-07"; - src = pkgs.fetchFromGitHub { - owner = "bendlas"; - repo = "emacs-promise"; - rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022"; - hash = "sha256-XsvPsA/lUzPWyJAdJg9XtD/vLDtk7guG7p+8ZOQ8Nno="; + src = pkgs.fetchFromGitHub { + owner = "bendlas"; + repo = "emacs-promise"; + rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022"; + hash = "sha256-XsvPsA/lUzPWyJAdJg9XtD/vLDtk7guG7p+8ZOQ8Nno="; + }; + + packageRequires = [ epkgs.async ]; }; - packageRequires = [ epkgs.async ]; - }; + semaphore = epkgs.melpaBuild { + pname = "semaphore"; + version = "0-unstable-2019-06-07"; - semaphore = epkgs.melpaBuild { - pname = "semaphore"; - version = "0-unstable-2019-06-07"; + src = pkgs.fetchFromGitHub { + owner = "webnf"; + repo = "semaphore.el"; + rev = "93802cb093073bc6a6ccd797328dafffcef248e0"; + hash = "sha256-o6B5oaGGxwQOCoTIXrQre4veT6Mwqw7I2LqMesT17iY="; + }; - src = pkgs.fetchFromGitHub { - owner = "webnf"; - repo = "semaphore.el"; - rev = "93802cb093073bc6a6ccd797328dafffcef248e0"; - hash = "sha256-o6B5oaGGxwQOCoTIXrQre4veT6Mwqw7I2LqMesT17iY="; + packageRequires = [ promise ]; }; - packageRequires = [ promise ]; - }; - - in [ promise semaphore ]); + in + [ + promise + semaphore + ] + ); -in pkgs.mkShell { +in +pkgs.mkShell { packages = [ pkgs.git pkgs.bash diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix index 7bae78f35e70e..63f4d1e59cb51 100644 --- a/pkgs/applications/editors/emacs/make-emacs.nix +++ b/pkgs/applications/editors/emacs/make-emacs.nix @@ -1,117 +1,128 @@ -{ pname -, version -, variant -, src -, patches ? _: [ ] -, meta +{ + pname, + version, + variant, + src, + patches ? _: [ ], + meta, }: -{ lib -, stdenv -, Xaw3d -, acl -, alsa-lib -, autoreconfHook -, cairo -, dbus -, emacsPackagesFor -, fetchpatch -, gettext -, giflib -, glib-networking -, gnutls -, gpm -, gsettings-desktop-schemas -, gtk3 -, gtk3-x11 -, harfbuzz -, imagemagick -, jansson -, libXaw -, libXcursor -, libXi -, libXpm -, libgccjit -, libjpeg -, libotf -, libpng -, librsvg -, libselinux -, libtiff -, libwebp -, libxml2 -, llvmPackages_14 -, m17n_lib -, mailutils -, makeWrapper -, motif -, ncurses -, nixosTests -, pkg-config -, recurseIntoAttrs -, sigtool -, sqlite -, substituteAll -, systemd -, tree-sitter -, texinfo -, webkitgtk_4_0 -, wrapGAppsHook3 -, zlib +{ + lib, + stdenv, + Xaw3d, + acl, + alsa-lib, + autoreconfHook, + cairo, + dbus, + emacsPackagesFor, + fetchpatch, + gettext, + giflib, + glib-networking, + gnutls, + gpm, + gsettings-desktop-schemas, + gtk3, + gtk3-x11, + harfbuzz, + imagemagick, + jansson, + libXaw, + libXcursor, + libXi, + libXpm, + libgccjit, + libjpeg, + libotf, + libpng, + librsvg, + libselinux, + libtiff, + libwebp, + libxml2, + llvmPackages_14, + m17n_lib, + mailutils, + makeWrapper, + motif, + ncurses, + nixosTests, + pkg-config, + recurseIntoAttrs, + sigtool, + sqlite, + substituteAll, + systemd, + tree-sitter, + texinfo, + webkitgtk_4_0, + wrapGAppsHook3, + zlib, -# Boolean flags -, withNativeCompilation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform -, noGui ? false -, srcRepo ? true -, withAcl ? false -, withAlsaLib ? false -, withAthena ? false -, withCsrc ? true -, withDbus ? stdenv.hostPlatform.isLinux -, withGTK3 ? withPgtk && !noGui -, withGlibNetworking ? withPgtk || withGTK3 || (withX && withXwidgets) -, withGpm ? stdenv.hostPlatform.isLinux -, withImageMagick ? lib.versionOlder version "27" && (withX || withNS) -# Emacs 30+ has native JSON support -, withJansson ? lib.versionOlder version "30" -, withMailutils ? true -, withMotif ? false -, withNS ? stdenv.hostPlatform.isDarwin && !(variant == "macport" || noGui) -, withPgtk ? false -, withSelinux ? stdenv.hostPlatform.isLinux -, withSQLite3 ? lib.versionAtLeast version "29" -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, withToolkitScrollBars ? true -, withTreeSitter ? lib.versionAtLeast version "29" -, withWebP ? lib.versionAtLeast version "29" -, withX ? !(stdenv.hostPlatform.isDarwin || noGui || withPgtk) -, withXinput2 ? withX && lib.versionAtLeast version "29" -, withXwidgets ? !stdenv.hostPlatform.isDarwin && !noGui && (withGTK3 || withPgtk) && (lib.versionOlder version "30") # XXX: upstream bug 66068 precludes newer versions of webkit2gtk (https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00695.html) -, withSmallJaDic ? false -, withCompressInstall ? true + # Boolean flags + withNativeCompilation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + noGui ? false, + srcRepo ? true, + withAcl ? false, + withAlsaLib ? false, + withAthena ? false, + withCsrc ? true, + withDbus ? stdenv.hostPlatform.isLinux, + withGTK3 ? withPgtk && !noGui, + withGlibNetworking ? withPgtk || withGTK3 || (withX && withXwidgets), + withGpm ? stdenv.hostPlatform.isLinux, + withImageMagick ? lib.versionOlder version "27" && (withX || withNS), + # Emacs 30+ has native JSON support + withJansson ? lib.versionOlder version "30", + withMailutils ? true, + withMotif ? false, + withNS ? stdenv.hostPlatform.isDarwin && !(variant == "macport" || noGui), + withPgtk ? false, + withSelinux ? stdenv.hostPlatform.isLinux, + withSQLite3 ? lib.versionAtLeast version "29", + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + withToolkitScrollBars ? true, + withTreeSitter ? lib.versionAtLeast version "29", + withWebP ? lib.versionAtLeast version "29", + withX ? !(stdenv.hostPlatform.isDarwin || noGui || withPgtk), + withXinput2 ? withX && lib.versionAtLeast version "29", + withXwidgets ? + !stdenv.hostPlatform.isDarwin + && !noGui + && (withGTK3 || withPgtk) + && (lib.versionOlder version "30"), # XXX: upstream bug 66068 precludes newer versions of webkit2gtk (https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00695.html) + withSmallJaDic ? false, + withCompressInstall ? true, -# Options -, siteStart ? ./site-start.el -, toolkit ? ( - if withGTK3 then "gtk3" - else if withMotif then "motif" - else if withAthena then "athena" - else "lucid") + # Options + siteStart ? ./site-start.el, + toolkit ? ( + if withGTK3 then + "gtk3" + else if withMotif then + "motif" + else if withAthena then + "athena" + else + "lucid" + ), -# macOS dependencies for NS and macPort -, Accelerate -, AppKit -, Carbon -, Cocoa -, GSS -, IOKit -, ImageCaptureCore -, ImageIO -, OSAKit -, Quartz -, QuartzCore -, UniformTypeIdentifiers -, WebKit + # macOS dependencies for NS and macPort + Accelerate, + AppKit, + Carbon, + Cocoa, + GSS, + IOKit, + ImageCaptureCore, + ImageIO, + OSAKit, + Quartz, + QuartzCore, + UniformTypeIdentifiers, + WebKit, }: assert (withGTK3 && !withNS && variant != "macport") -> withX || withPgtk; @@ -125,47 +136,68 @@ assert withPgtk -> withGTK3 && !withX; assert withXwidgets -> !noGui && (withGTK3 || withPgtk); let - libGccJitLibraryPaths = [ - "${lib.getLib libgccjit}/lib/gcc" - "${lib.getLib stdenv.cc.libc}/lib" - ] ++ lib.optionals (stdenv.cc?cc.lib.libgcc) [ - "${lib.getLib stdenv.cc.cc.lib.libgcc}/lib" - ]; + libGccJitLibraryPaths = + [ + "${lib.getLib libgccjit}/lib/gcc" + "${lib.getLib stdenv.cc.libc}/lib" + ] + ++ lib.optionals (stdenv.cc ? cc.lib.libgcc) [ + "${lib.getLib stdenv.cc.cc.lib.libgcc}/lib" + ]; - inherit (if variant == "macport" - then llvmPackages_14.stdenv - else stdenv) mkDerivation; + inherit (if variant == "macport" then llvmPackages_14.stdenv else stdenv) + mkDerivation + ; in mkDerivation (finalAttrs: { - pname = pname - + (if noGui then "-nox" - else if variant == "macport" then "-macport" - else if withPgtk then "-pgtk" - else if withGTK3 then "-gtk3" - else ""); + pname = + pname + + ( + if noGui then + "-nox" + else if variant == "macport" then + "-macport" + else if withPgtk then + "-pgtk" + else if withGTK3 then + "-gtk3" + else + "" + ); inherit version; inherit src; - patches = patches fetchpatch ++ lib.optionals withNativeCompilation [ - (substituteAll { - src = if lib.versionOlder finalAttrs.version "29" - then ./native-comp-driver-options-28.patch - else if lib.versionOlder finalAttrs.version "30" - then ./native-comp-driver-options.patch - else ./native-comp-driver-options-30.patch; - backendPath = (lib.concatStringsSep " " - (builtins.map (x: ''"-B${x}"'') ([ - # Paths necessary so the JIT compiler finds its libraries: - "${lib.getLib libgccjit}/lib" - ] ++ libGccJitLibraryPaths ++ [ - # Executable paths necessary for compilation (ld, as): - "${lib.getBin stdenv.cc.cc}/bin" - "${lib.getBin stdenv.cc.bintools}/bin" - "${lib.getBin stdenv.cc.bintools.bintools}/bin" - ]))); - }) - ]; + patches = + patches fetchpatch + ++ lib.optionals withNativeCompilation [ + (substituteAll { + src = + if lib.versionOlder finalAttrs.version "29" then + ./native-comp-driver-options-28.patch + else if lib.versionOlder finalAttrs.version "30" then + ./native-comp-driver-options.patch + else + ./native-comp-driver-options-30.patch; + backendPath = ( + lib.concatStringsSep " " ( + builtins.map (x: ''"-B${x}"'') ( + [ + # Paths necessary so the JIT compiler finds its libraries: + "${lib.getLib libgccjit}/lib" + ] + ++ libGccJitLibraryPaths + ++ [ + # Executable paths necessary for compilation (ld, as): + "${lib.getBin stdenv.cc.cc}/bin" + "${lib.getBin stdenv.cc.bintools}/bin" + "${lib.getBin stdenv.cc.bintools.bintools}/bin" + ] + ) + ) + ); + }) + ]; postPatch = lib.concatStringsSep "\n" [ (lib.optionalString srcRepo '' @@ -175,12 +207,16 @@ mkDerivation (finalAttrs: { # Add the name of the wrapped gvfsd # This used to be carried as a patch but it often got out of sync with # upstream and was hard to maintain for emacs-overlay. - (lib.concatStrings (map (fn: '' - sed -i 's#(${fn} "gvfs-fuse-daemon")#(${fn} "gvfs-fuse-daemon") (${fn} ".gvfsd-fuse-wrapped")#' lisp/net/tramp-gvfs.el - '') [ - "tramp-compat-process-running-p" - "tramp-process-running-p" - ])) + (lib.concatStrings ( + map + (fn: '' + sed -i 's#(${fn} "gvfs-fuse-daemon")#(${fn} "gvfs-fuse-daemon") (${fn} ".gvfsd-fuse-wrapped")#' lisp/net/tramp-gvfs.el + '') + [ + "tramp-compat-process-running-p" + "tramp-process-running-p" + ] + )) # Reduce closure size by cleaning the environment of the emacs dumper '' @@ -200,105 +236,136 @@ mkDerivation (finalAttrs: { "" ]; - nativeBuildInputs = [ - makeWrapper - pkg-config - ] ++ lib.optionals (variant == "macport") [ - texinfo - ] ++ lib.optionals srcRepo [ - autoreconfHook - texinfo - ] ++ lib.optionals (withPgtk || withX && (withGTK3 || withXwidgets)) [ wrapGAppsHook3 ]; + nativeBuildInputs = + [ + makeWrapper + pkg-config + ] + ++ lib.optionals (variant == "macport") [ + texinfo + ] + ++ lib.optionals srcRepo [ + autoreconfHook + texinfo + ] + ++ lib.optionals (withPgtk || withX && (withGTK3 || withXwidgets)) [ wrapGAppsHook3 ]; - buildInputs = [ - gettext - gnutls - (lib.getDev harfbuzz) - ] ++ lib.optionals withJansson [ - jansson - ] ++ [ - libxml2 - ncurses - ] ++ lib.optionals withAcl [ - acl - ] ++ lib.optionals withAlsaLib [ - alsa-lib - ] ++ lib.optionals withGpm [ - gpm - ] ++ lib.optionals withDbus [ - dbus - ] ++ lib.optionals withSelinux [ - libselinux - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withGTK3) [ - gsettings-desktop-schemas - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withX) [ - libotf - m17n_lib - ] ++ lib.optionals (withX && withGTK3) [ - gtk3-x11 - ] ++ lib.optionals (withX && withMotif) [ - motif - ] ++ lib.optionals withGlibNetworking [ - glib-networking - ] ++ lib.optionals withNativeCompilation [ - libgccjit - zlib - ] ++ lib.optionals withImageMagick [ - imagemagick - ] ++ lib.optionals withPgtk [ - giflib - gtk3 - libXpm - libjpeg - libpng - librsvg - libtiff - ] ++ lib.optionals withSQLite3 [ - sqlite - ] ++ lib.optionals withSystemd [ - systemd - ] ++ lib.optionals withTreeSitter [ - tree-sitter - ] ++ lib.optionals withWebP [ - libwebp - ] ++ lib.optionals withX [ - Xaw3d - cairo - giflib - libXaw - libXpm - libjpeg - libpng - librsvg - libtiff - ] ++ lib.optionals withXinput2 [ - libXi - ] ++ lib.optionals withXwidgets [ - webkitgtk_4_0 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - sigtool - ] ++ lib.optionals withNS [ - librsvg - AppKit - GSS - ImageIO - ] ++ lib.optionals (variant == "macport") [ - Accelerate - AppKit - Carbon - Cocoa - IOKit - OSAKit - Quartz - QuartzCore - WebKit - # TODO are these optional? - GSS - ImageCaptureCore - ImageIO - ] ++ lib.optionals (variant == "macport" && stdenv.hostPlatform.isAarch64) [ - UniformTypeIdentifiers - ]; + buildInputs = + [ + gettext + gnutls + (lib.getDev harfbuzz) + ] + ++ lib.optionals withJansson [ + jansson + ] + ++ [ + libxml2 + ncurses + ] + ++ lib.optionals withAcl [ + acl + ] + ++ lib.optionals withAlsaLib [ + alsa-lib + ] + ++ lib.optionals withGpm [ + gpm + ] + ++ lib.optionals withDbus [ + dbus + ] + ++ lib.optionals withSelinux [ + libselinux + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withGTK3) [ + gsettings-desktop-schemas + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && withX) [ + libotf + m17n_lib + ] + ++ lib.optionals (withX && withGTK3) [ + gtk3-x11 + ] + ++ lib.optionals (withX && withMotif) [ + motif + ] + ++ lib.optionals withGlibNetworking [ + glib-networking + ] + ++ lib.optionals withNativeCompilation [ + libgccjit + zlib + ] + ++ lib.optionals withImageMagick [ + imagemagick + ] + ++ lib.optionals withPgtk [ + giflib + gtk3 + libXpm + libjpeg + libpng + librsvg + libtiff + ] + ++ lib.optionals withSQLite3 [ + sqlite + ] + ++ lib.optionals withSystemd [ + systemd + ] + ++ lib.optionals withTreeSitter [ + tree-sitter + ] + ++ lib.optionals withWebP [ + libwebp + ] + ++ lib.optionals withX [ + Xaw3d + cairo + giflib + libXaw + libXpm + libjpeg + libpng + librsvg + libtiff + ] + ++ lib.optionals withXinput2 [ + libXi + ] + ++ lib.optionals withXwidgets [ + webkitgtk_4_0 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + sigtool + ] + ++ lib.optionals withNS [ + librsvg + AppKit + GSS + ImageIO + ] + ++ lib.optionals (variant == "macport") [ + Accelerate + AppKit + Carbon + Cocoa + IOKit + OSAKit + Quartz + QuartzCore + WebKit + # TODO are these optional? + GSS + ImageCaptureCore + ImageIO + ] + ++ lib.optionals (variant == "macport" && stdenv.hostPlatform.isAarch64) [ + UniformTypeIdentifiers + ]; # Emacs needs to find movemail at run time, see info (emacs) Movemail propagatedUserEnvPkgs = lib.optionals withMailutils [ @@ -307,101 +374,122 @@ mkDerivation (finalAttrs: { hardeningDisable = [ "format" ]; - configureFlags = [ - (lib.enableFeature false "build-details") # for a (more) reproducible build - (lib.withFeature true "modules") - ] ++ (if withNS then [ - (lib.enableFeature false "ns-self-contained") - ] else if withX then [ - (lib.withFeatureAs true "x-toolkit" toolkit) - (lib.withFeature true "cairo") - (lib.withFeature true "xft") - ] else if withPgtk then [ - (lib.withFeature true "pgtk") - ] else [ - (lib.withFeature false "gif") - (lib.withFeature false "jpeg") - (lib.withFeature false "png") - (lib.withFeature false "tiff") - (lib.withFeature false "x") - (lib.withFeature false "xpm") - ]) - ++ lib.optionals (variant == "macport") [ - (lib.enableFeatureAs true "mac-app" "$$out/Applications") - (lib.withFeature true "gnutls") - (lib.withFeature true "mac") - (lib.withFeature true "xml2") - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.withFeature withNS "ns") - ] - ++ [ - (lib.withFeature withCompressInstall "compress-install") - (lib.withFeature withToolkitScrollBars "toolkit-scroll-bars") - (lib.withFeature withNativeCompilation "native-compilation") - (lib.withFeature withImageMagick "imagemagick") - (lib.withFeature withMailutils "mailutils") - (lib.withFeature withSmallJaDic "small-ja-dic") - (lib.withFeature withTreeSitter "tree-sitter") - (lib.withFeature withXinput2 "xinput2") - (lib.withFeature withXwidgets "xwidgets") - (lib.withFeature withDbus "dbus") - (lib.withFeature withSelinux "selinux") - ]; + configureFlags = + [ + (lib.enableFeature false "build-details") # for a (more) reproducible build + (lib.withFeature true "modules") + ] + ++ ( + if withNS then + [ + (lib.enableFeature false "ns-self-contained") + ] + else if withX then + [ + (lib.withFeatureAs true "x-toolkit" toolkit) + (lib.withFeature true "cairo") + (lib.withFeature true "xft") + ] + else if withPgtk then + [ + (lib.withFeature true "pgtk") + ] + else + [ + (lib.withFeature false "gif") + (lib.withFeature false "jpeg") + (lib.withFeature false "png") + (lib.withFeature false "tiff") + (lib.withFeature false "x") + (lib.withFeature false "xpm") + ] + ) + ++ lib.optionals (variant == "macport") [ + (lib.enableFeatureAs true "mac-app" "$$out/Applications") + (lib.withFeature true "gnutls") + (lib.withFeature true "mac") + (lib.withFeature true "xml2") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.withFeature withNS "ns") + ] + ++ [ + (lib.withFeature withCompressInstall "compress-install") + (lib.withFeature withToolkitScrollBars "toolkit-scroll-bars") + (lib.withFeature withNativeCompilation "native-compilation") + (lib.withFeature withImageMagick "imagemagick") + (lib.withFeature withMailutils "mailutils") + (lib.withFeature withSmallJaDic "small-ja-dic") + (lib.withFeature withTreeSitter "tree-sitter") + (lib.withFeature withXinput2 "xinput2") + (lib.withFeature withXwidgets "xwidgets") + (lib.withFeature withDbus "dbus") + (lib.withFeature withSelinux "selinux") + ]; - env = lib.optionalAttrs withNativeCompilation { - NATIVE_FULL_AOT = "1"; - LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths; - } // lib.optionalAttrs (variant == "macport") { - # Fixes intermittent segfaults when compiled with LLVM >= 7.0. - # See https://github.com/NixOS/nixpkgs/issues/127902 - NIX_CFLAGS_COMPILE = "-include ${./macport_noescape_noop.h}"; - }; + env = + lib.optionalAttrs withNativeCompilation { + NATIVE_FULL_AOT = "1"; + LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths; + } + // lib.optionalAttrs (variant == "macport") { + # Fixes intermittent segfaults when compiled with LLVM >= 7.0. + # See https://github.com/NixOS/nixpkgs/issues/127902 + NIX_CFLAGS_COMPILE = "-include ${./macport_noescape_noop.h}"; + }; enableParallelBuilding = true; - installTargets = [ "tags" "install" ]; + installTargets = [ + "tags" + "install" + ]; - postInstall = '' - mkdir -p $out/share/emacs/site-lisp - cp ${siteStart} $out/share/emacs/site-lisp/site-start.el + postInstall = + '' + mkdir -p $out/share/emacs/site-lisp + cp ${siteStart} $out/share/emacs/site-lisp/site-start.el - $out/bin/emacs --batch -f batch-byte-compile $out/share/emacs/site-lisp/site-start.el + $out/bin/emacs --batch -f batch-byte-compile $out/share/emacs/site-lisp/site-start.el - siteVersionDir=`ls $out/share/emacs | grep -v site-lisp | head -n 1` + siteVersionDir=`ls $out/share/emacs | grep -v site-lisp | head -n 1` - rm -r $out/share/emacs/$siteVersionDir/site-lisp - '' + lib.optionalString withCsrc '' - for srcdir in src lisp lwlib ; do - dstdir=$out/share/emacs/$siteVersionDir/$srcdir - mkdir -p $dstdir - find $srcdir -name "*.[chm]" -exec cp {} $dstdir \; - cp $srcdir/TAGS $dstdir - echo '((nil . ((tags-file-name . "TAGS"))))' > $dstdir/.dir-locals.el - done - '' + lib.optionalString withNS '' - mkdir -p $out/Applications - mv nextstep/Emacs.app $out/Applications - '' + lib.optionalString (withNativeCompilation && (withNS || variant == "macport")) '' - ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp - '' + lib.optionalString withNativeCompilation '' - echo "Generating native-compiled trampolines..." - # precompile trampolines in parallel, but avoid spawning one process per trampoline. - # 1000 is a rough lower bound on the number of trampolines compiled. - $out/bin/emacs --batch --eval "(mapatoms (lambda (s) \ - (when (subr-primitive-p (symbol-function s)) (print s))))" \ - | xargs -n $((1000/NIX_BUILD_CORES + 1)) -P $NIX_BUILD_CORES \ - $out/bin/emacs --batch -l comp --eval "(while argv \ - (comp-trampoline-compile (intern (pop argv))))" - mkdir -p $out/share/emacs/native-lisp - $out/bin/emacs --batch \ - --eval "(add-to-list 'native-comp-eln-load-path \"$out/share/emacs/native-lisp\")" \ - -f batch-native-compile $out/share/emacs/site-lisp/site-start.el - ''; + rm -r $out/share/emacs/$siteVersionDir/site-lisp + '' + + lib.optionalString withCsrc '' + for srcdir in src lisp lwlib ; do + dstdir=$out/share/emacs/$siteVersionDir/$srcdir + mkdir -p $dstdir + find $srcdir -name "*.[chm]" -exec cp {} $dstdir \; + cp $srcdir/TAGS $dstdir + echo '((nil . ((tags-file-name . "TAGS"))))' > $dstdir/.dir-locals.el + done + '' + + lib.optionalString withNS '' + mkdir -p $out/Applications + mv nextstep/Emacs.app $out/Applications + '' + + lib.optionalString (withNativeCompilation && (withNS || variant == "macport")) '' + ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp + '' + + lib.optionalString withNativeCompilation '' + echo "Generating native-compiled trampolines..." + # precompile trampolines in parallel, but avoid spawning one process per trampoline. + # 1000 is a rough lower bound on the number of trampolines compiled. + $out/bin/emacs --batch --eval "(mapatoms (lambda (s) \ + (when (subr-primitive-p (symbol-function s)) (print s))))" \ + | xargs -n $((1000/NIX_BUILD_CORES + 1)) -P $NIX_BUILD_CORES \ + $out/bin/emacs --batch -l comp --eval "(while argv \ + (comp-trampoline-compile (intern (pop argv))))" + mkdir -p $out/share/emacs/native-lisp + $out/bin/emacs --batch \ + --eval "(add-to-list 'native-comp-eln-load-path \"$out/share/emacs/native-lisp\")" \ + -f batch-native-compile $out/share/emacs/site-lisp/site-start.el + ''; postFixup = lib.optionalString (stdenv.hostPlatform.isLinux && withX && toolkit == "lucid") '' - patchelf --add-rpath ${lib.makeLibraryPath [ libXcursor ]} $out/bin/emacs - patchelf --add-needed "libXcursor.so.1" "$out/bin/emacs" + patchelf --add-rpath ${lib.makeLibraryPath [ libXcursor ]} $out/bin/emacs + patchelf --add-needed "libXcursor.so.1" "$out/bin/emacs" ''; passthru = { diff --git a/pkgs/applications/editors/emacs/sources.nix b/pkgs/applications/editors/emacs/sources.nix index 521a3d83a0976..f197a0d1d09cf 100644 --- a/pkgs/applications/editors/emacs/sources.nix +++ b/pkgs/applications/editors/emacs/sources.nix @@ -1,72 +1,104 @@ -{ lib -, fetchFromBitbucket -, fetchFromSavannah +{ + lib, + fetchFromBitbucket, + fetchFromSavannah, }: let - mkArgs = { pname, version, variant, patches ? _: [ ], rev, hash }: { - inherit pname version variant patches; + mkArgs = + { + pname, + version, + variant, + patches ? _: [ ], + rev, + hash, + }: + { + inherit + pname + version + variant + patches + ; - src = { - "mainline" = (fetchFromSavannah { - repo = "emacs"; - inherit rev hash; - }); - "macport" = (fetchFromBitbucket { - owner = "mituharu"; - repo = "emacs-mac"; - inherit rev hash; - }); - }.${variant}; + src = + { + "mainline" = ( + fetchFromSavannah { + repo = "emacs"; + inherit rev hash; + } + ); + "macport" = ( + fetchFromBitbucket { + owner = "mituharu"; + repo = "emacs-mac"; + inherit rev hash; + } + ); + } + .${variant}; - meta = { - homepage = { - "mainline" = "https://www.gnu.org/software/emacs/"; - "macport" = "https://bitbucket.org/mituharu/emacs-mac/"; - }.${variant}; - description = "Extensible, customizable GNU text editor" - + lib.optionalString (variant == "macport") " - macport variant"; - longDescription = '' - GNU Emacs is an extensible, customizable text editor—and more. At its core - is an interpreter for Emacs Lisp, a dialect of the Lisp programming - language with extensions to support text editing. + meta = { + homepage = + { + "mainline" = "https://www.gnu.org/software/emacs/"; + "macport" = "https://bitbucket.org/mituharu/emacs-mac/"; + } + .${variant}; + description = + "Extensible, customizable GNU text editor" + + lib.optionalString (variant == "macport") " - macport variant"; + longDescription = + '' + GNU Emacs is an extensible, customizable text editor—and more. At its core + is an interpreter for Emacs Lisp, a dialect of the Lisp programming + language with extensions to support text editing. - The features of GNU Emacs include: content-sensitive editing modes, - including syntax coloring, for a wide variety of file types including - plain text, source code, and HTML; complete built-in documentation, - including a tutorial for new users; full Unicode support for nearly all - human languages and their scripts; highly customizable, using Emacs Lisp - code or a graphical interface; a large number of extensions that add other - functionality, including a project planner, mail and news reader, debugger - interface, calendar, and more. Many of these extensions are distributed - with GNU Emacs; others are available separately. - '' + lib.optionalString (variant == "macport") '' + The features of GNU Emacs include: content-sensitive editing modes, + including syntax coloring, for a wide variety of file types including + plain text, source code, and HTML; complete built-in documentation, + including a tutorial for new users; full Unicode support for nearly all + human languages and their scripts; highly customizable, using Emacs Lisp + code or a graphical interface; a large number of extensions that add other + functionality, including a project planner, mail and news reader, debugger + interface, calendar, and more. Many of these extensions are distributed + with GNU Emacs; others are available separately. + '' + + lib.optionalString (variant == "macport") '' - This release is built from Mitsuharu Yamamoto's patched source code - tailored for macOS. - ''; - changelog = { - "mainline" = "https://www.gnu.org/savannah-checkouts/gnu/emacs/news/NEWS.${version}"; - "macport" = "https://bitbucket.org/mituharu/emacs-mac/raw/${rev}/NEWS-mac"; - }.${variant}; - license = lib.licenses.gpl3Plus; - maintainers = { - "mainline" = with lib.maintainers; [ - AndersonTorres - adisbladis - jwiegley - lovek323 - matthewbauer - ]; - "macport" = with lib.maintainers; [ ]; - }.${variant}; - platforms = { - "mainline" = lib.platforms.all; - "macport" = lib.platforms.darwin; - }.${variant}; - mainProgram = "emacs"; + This release is built from Mitsuharu Yamamoto's patched source code + tailored for macOS. + ''; + changelog = + { + "mainline" = "https://www.gnu.org/savannah-checkouts/gnu/emacs/news/NEWS.${version}"; + "macport" = "https://bitbucket.org/mituharu/emacs-mac/raw/${rev}/NEWS-mac"; + } + .${variant}; + license = lib.licenses.gpl3Plus; + maintainers = + { + "mainline" = with lib.maintainers; [ + AndersonTorres + adisbladis + jwiegley + lovek323 + matthewbauer + ]; + "macport" = with lib.maintainers; [ ]; + } + .${variant}; + platforms = + { + "mainline" = lib.platforms.all; + "macport" = lib.platforms.darwin; + } + .${variant}; + mainProgram = "emacs"; + }; }; - }; in { emacs28 = import ./make-emacs.nix (mkArgs { diff --git a/pkgs/applications/editors/featherpad/default.nix b/pkgs/applications/editors/featherpad/default.nix index 4334a7ba1191a..72fd7d1dac875 100644 --- a/pkgs/applications/editors/featherpad/default.nix +++ b/pkgs/applications/editors/featherpad/default.nix @@ -1,5 +1,15 @@ -{ lib, mkDerivation, cmake, hunspell, pkg-config, qttools, qtbase, qtsvg, qtx11extras -, fetchFromGitHub }: +{ + lib, + mkDerivation, + cmake, + hunspell, + pkg-config, + qttools, + qtbase, + qtsvg, + qtx11extras, + fetchFromGitHub, +}: mkDerivation rec { pname = "featherpad"; @@ -12,8 +22,17 @@ mkDerivation rec { sha256 = "sha256-8IT/PxLz6BsLHzY5pM0bTlAO0xvfC7/aI7+Gbw2LyME="; }; - nativeBuildInputs = [ cmake pkg-config qttools ]; - buildInputs = [ hunspell qtbase qtsvg qtx11extras ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + ]; + buildInputs = [ + hunspell + qtbase + qtsvg + qtx11extras + ]; meta = with lib; { description = "Lightweight Qt5 Plain-Text Editor for Linux"; diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix index 5126c7c6725e5..1319120a1991d 100644 --- a/pkgs/applications/editors/focuswriter/default.nix +++ b/pkgs/applications/editors/focuswriter/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, hunspell -, qtbase -, qtmultimedia -, qttools -, qt5compat -, qtwayland -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + hunspell, + qtbase, + qtmultimedia, + qttools, + qt5compat, + qtwayland, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -23,15 +24,29 @@ stdenv.mkDerivation rec { hash = "sha256-FFfNjjVwi0bE6oc8LYhXrCKd+nwRQrjWzK5P4DSIIgs="; }; - nativeBuildInputs = [ pkg-config cmake qttools wrapQtAppsHook ]; - buildInputs = [ hunspell qtbase qtmultimedia qt5compat qtwayland ]; + nativeBuildInputs = [ + pkg-config + cmake + qttools + wrapQtAppsHook + ]; + buildInputs = [ + hunspell + qtbase + qtmultimedia + qt5compat + qtwayland + ]; installFlags = [ "INSTALL_ROOT=$(out)" ]; meta = with lib; { description = "Simple, distraction-free writing environment"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ madjar kashw2 ]; + maintainers = with maintainers; [ + madjar + kashw2 + ]; platforms = platforms.linux; homepage = "https://gottcode.org/focuswriter/"; mainProgram = "focuswriter"; diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix index 8268c7c867897..4c98f18c4346d 100644 --- a/pkgs/applications/editors/geany/default.nix +++ b/pkgs/applications/editors/geany/default.nix @@ -1,21 +1,28 @@ -{ lib, stdenv -, fetchurl -, gtk3 -, which -, pkg-config -, intltool -, file -, libintl -, hicolor-icon-theme -, python3 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + gtk3, + which, + pkg-config, + intltool, + file, + libintl, + hicolor-icon-theme, + python3, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { pname = "geany"; version = "2.0"; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; src = fetchurl { url = "https://download.geany.org/geany-${finalAttrs.version}.tar.bz2"; diff --git a/pkgs/applications/editors/geany/with-vte.nix b/pkgs/applications/editors/geany/with-vte.nix index ba9e941f38968..c896cb8df25ef 100644 --- a/pkgs/applications/editors/geany/with-vte.nix +++ b/pkgs/applications/editors/geany/with-vte.nix @@ -1,14 +1,19 @@ -{ symlinkJoin -, makeWrapper -, geany -, vte +{ + symlinkJoin, + makeWrapper, + geany, + vte, }: symlinkJoin { name = "geany-with-vte-${geany.version}"; # TODO: add geany-plugins - paths = with geany; [ out doc man ]; + paths = with geany; [ + out + doc + man + ]; nativeBuildInputs = [ makeWrapper ]; @@ -19,5 +24,5 @@ symlinkJoin { --prefix LD_LIBRARY_PATH : ${vte}/lib ''; - inherit (geany.meta); + inherit (geany.meta) ; } diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix index 50a912fd0f01c..1a1b8dcffd17b 100644 --- a/pkgs/applications/editors/greenfoot/default.nix +++ b/pkgs/applications/editors/greenfoot/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, openjdk, glib, dpkg, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchurl, + openjdk, + glib, + dpkg, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "greenfoot"; @@ -8,11 +16,16 @@ stdenv.mkDerivation rec { # We use the deb here. First instinct might be to go for the "generic" JAR # download, but that is actually a graphical installer that is much harder # to unpack than the deb. - url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb"; + url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${ + builtins.replaceStrings [ "." ] [ "" ] version + }.deb"; hash = "sha256-wpmgWtx2jTDjt+7p6HcjU/uy1PRmnAHpJ1rOYb+hV+U="; }; - nativeBuildInputs = [ dpkg wrapGAppsHook3 ]; + nativeBuildInputs = [ + dpkg + wrapGAppsHook3 + ]; buildInputs = [ glib ]; dontWrapGApps = true; diff --git a/pkgs/applications/editors/jetbrains/bin/darwin.nix b/pkgs/applications/editors/jetbrains/bin/darwin.nix index f5edf904726b0..14673f41debb9 100644 --- a/pkgs/applications/editors/jetbrains/bin/darwin.nix +++ b/pkgs/applications/editors/jetbrains/bin/darwin.nix @@ -1,28 +1,37 @@ -{ lib -, stdenvNoCC -, undmg -, ... +{ + lib, + stdenvNoCC, + undmg, + ... }: -{ meta -, pname -, product -, productShort ? product -, src -, version -, plugins ? [ ] -, buildNumber -, ... +{ + meta, + pname, + product, + productShort ? product, + src, + version, + plugins ? [ ], + buildNumber, + ... }: let loname = lib.toLower productShort; in stdenvNoCC.mkDerivation { - inherit pname src version plugins; + inherit + pname + src + version + plugins + ; passthru.buildNumber = buildNumber; passthru.product = product; - meta = meta // { mainProgram = loname; }; + meta = meta // { + mainProgram = loname; + }; desktopName = product; dontFixup = true; installPhase = '' diff --git a/pkgs/applications/editors/jetbrains/bin/linux.nix b/pkgs/applications/editors/jetbrains/bin/linux.nix index b1ddb8f5cb62b..123bf81d2dde7 100644 --- a/pkgs/applications/editors/jetbrains/bin/linux.nix +++ b/pkgs/applications/editors/jetbrains/bin/linux.nix @@ -1,138 +1,161 @@ -{ stdenv -, lib -, makeDesktopItem -, makeWrapper -, patchelf -, writeText -, coreutils -, gnugrep -, which -, git -, unzip -, libsecret -, libnotify -, udev -, e2fsprogs -, python3 -, autoPatchelfHook -, vmopts ? null -, glibcLocales +{ + stdenv, + lib, + makeDesktopItem, + makeWrapper, + patchelf, + writeText, + coreutils, + gnugrep, + which, + git, + unzip, + libsecret, + libnotify, + udev, + e2fsprogs, + python3, + autoPatchelfHook, + vmopts ? null, + glibcLocales, }: -{ pname -, product -, productShort ? product -, version -, src -, wmClass -, buildNumber -, jdk -, meta -, libdbm -, fsnotifier -, extraLdPath ? [ ] -, extraWrapperArgs ? [ ] -, extraBuildInputs ? [ ] +{ + pname, + product, + productShort ? product, + version, + src, + wmClass, + buildNumber, + jdk, + meta, + libdbm, + fsnotifier, + extraLdPath ? [ ], + extraWrapperArgs ? [ ], + extraBuildInputs ? [ ], }@args: let loName = lib.toLower productShort; hiName = lib.toUpper productShort; - vmoptsName = loName - + lib.optionalString stdenv.hostPlatform.is64bit "64" - + ".vmoptions"; + vmoptsName = loName + lib.optionalString stdenv.hostPlatform.is64bit "64" + ".vmoptions"; in -with stdenv; lib.makeOverridable mkDerivation (rec { - inherit pname version src; - passthru.buildNumber = buildNumber; - meta = args.meta // { mainProgram = pname; }; - - desktopItem = makeDesktopItem { - name = pname; - exec = pname; - comment = lib.replaceStrings [ "\n" ] [ " " ] meta.longDescription; - desktopName = product; - genericName = meta.description; - categories = [ "Development" ]; - icon = pname; - startupWMClass = wmClass; - }; - - vmoptsIDE = if hiName == "WEBSTORM" then "WEBIDE" else hiName; - vmoptsFile = lib.optionalString (vmopts != null) (writeText vmoptsName vmopts); - - nativeBuildInputs = [ makeWrapper patchelf unzip autoPatchelfHook ]; - buildInputs = extraBuildInputs; - - postPatch = '' - rm -rf jbr - # When using the IDE as a remote backend using gateway, it expects the jbr directory to contain the jdk - ln -s ${jdk.home} jbr - - if [ -d "plugins/remote-dev-server" ]; then - patch -F3 -p1 < ${../patches/jetbrains-remote-dev.patch} - fi - - vmopts_file=bin/linux/${vmoptsName} - if [[ ! -f $vmopts_file ]]; then - vmopts_file=bin/${vmoptsName} +with stdenv; +lib.makeOverridable mkDerivation ( + rec { + inherit pname version src; + passthru.buildNumber = buildNumber; + meta = args.meta // { + mainProgram = pname; + }; + + desktopItem = makeDesktopItem { + name = pname; + exec = pname; + comment = lib.replaceStrings [ "\n" ] [ " " ] meta.longDescription; + desktopName = product; + genericName = meta.description; + categories = [ "Development" ]; + icon = pname; + startupWMClass = wmClass; + }; + + vmoptsIDE = if hiName == "WEBSTORM" then "WEBIDE" else hiName; + vmoptsFile = lib.optionalString (vmopts != null) (writeText vmoptsName vmopts); + + nativeBuildInputs = [ + makeWrapper + patchelf + unzip + autoPatchelfHook + ]; + buildInputs = extraBuildInputs; + + postPatch = '' + rm -rf jbr + # When using the IDE as a remote backend using gateway, it expects the jbr directory to contain the jdk + ln -s ${jdk.home} jbr + + if [ -d "plugins/remote-dev-server" ]; then + patch -F3 -p1 < ${../patches/jetbrains-remote-dev.patch} + fi + + vmopts_file=bin/linux/${vmoptsName} if [[ ! -f $vmopts_file ]]; then - echo "ERROR: $vmopts_file not found" - exit 1 + vmopts_file=bin/${vmoptsName} + if [[ ! -f $vmopts_file ]]; then + echo "ERROR: $vmopts_file not found" + exit 1 + fi fi - fi - echo -Djna.library.path=${lib.makeLibraryPath ([ - libsecret e2fsprogs libnotify - # Required for Help -> Collect Logs - # in at least rider and goland - udev - ])} >> $vmopts_file - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/{bin,$pname,share/pixmaps,share/icons/hicolor/scalable/apps} - cp -a . $out/$pname - [[ -f $out/$pname/bin/${loName}.png ]] && ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png - [[ -f $out/$pname/bin/${loName}.svg ]] && ln -s $out/$pname/bin/${loName}.svg $out/share/pixmaps/${pname}.svg \ - && ln -s $out/$pname/bin/${loName}.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg - cp ${libdbm}/lib/libdbm.so $out/$pname/bin/libdbm.so - cp ${fsnotifier}/bin/fsnotifier $out/$pname/bin/fsnotifier - - jdk=${jdk.home} - item=${desktopItem} - - launcher="$out/$pname/bin/${loName}" - if [ -e "$launcher" ]; then - rm "$launcher".sh # We do not wrap the old script-style launcher anymore. - else - launcher+=.sh - fi - - wrapProgram "$launcher" \ - --prefix PATH : "${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \ - --suffix PATH : "${lib.makeBinPath [ python3 ]}" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLdPath}" \ - ${lib.concatStringsSep " " extraWrapperArgs} \ - --set-default JDK_HOME "$jdk" \ - --set-default ANDROID_JAVA_HOME "$jdk" \ - --set-default JAVA_HOME "$jdk" \ - --set-default JETBRAINS_CLIENT_JDK "$jdk" \ - --set-default ${hiName}_JDK "$jdk" \ - --set-default LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive" \ - --set-default ${vmoptsIDE}_VM_OPTIONS ${vmoptsFile} - - ln -s "$launcher" $out/bin/$pname - rm -rf $out/$pname/plugins/remote-dev-server/selfcontained/ - echo -e '#!/usr/bin/env bash\n'"$out/$pname/bin/remote-dev-server.sh"' "$@"' > $out/$pname/bin/remote-dev-server-wrapped.sh - chmod +x $out/$pname/bin/remote-dev-server-wrapped.sh - ln -s "$out/$pname/bin/remote-dev-server-wrapped.sh" $out/bin/$pname-remote-dev-server - ln -s "$item/share/applications" $out/share - - runHook postInstall - ''; -} // lib.optionalAttrs (!(meta.license.free or true)) { - preferLocalBuild = true; -}) + echo -Djna.library.path=${ + lib.makeLibraryPath ([ + libsecret + e2fsprogs + libnotify + # Required for Help -> Collect Logs + # in at least rider and goland + udev + ]) + } >> $vmopts_file + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,$pname,share/pixmaps,share/icons/hicolor/scalable/apps} + cp -a . $out/$pname + [[ -f $out/$pname/bin/${loName}.png ]] && ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png + [[ -f $out/$pname/bin/${loName}.svg ]] && ln -s $out/$pname/bin/${loName}.svg $out/share/pixmaps/${pname}.svg \ + && ln -s $out/$pname/bin/${loName}.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg + cp ${libdbm}/lib/libdbm.so $out/$pname/bin/libdbm.so + cp ${fsnotifier}/bin/fsnotifier $out/$pname/bin/fsnotifier + + jdk=${jdk.home} + item=${desktopItem} + + launcher="$out/$pname/bin/${loName}" + if [ -e "$launcher" ]; then + rm "$launcher".sh # We do not wrap the old script-style launcher anymore. + else + launcher+=.sh + fi + + wrapProgram "$launcher" \ + --prefix PATH : "${ + lib.makeBinPath [ + jdk + coreutils + gnugrep + which + git + ] + }" \ + --suffix PATH : "${lib.makeBinPath [ python3 ]}" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLdPath}" \ + ${lib.concatStringsSep " " extraWrapperArgs} \ + --set-default JDK_HOME "$jdk" \ + --set-default ANDROID_JAVA_HOME "$jdk" \ + --set-default JAVA_HOME "$jdk" \ + --set-default JETBRAINS_CLIENT_JDK "$jdk" \ + --set-default ${hiName}_JDK "$jdk" \ + --set-default LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive" \ + --set-default ${vmoptsIDE}_VM_OPTIONS ${vmoptsFile} + + ln -s "$launcher" $out/bin/$pname + rm -rf $out/$pname/plugins/remote-dev-server/selfcontained/ + echo -e '#!/usr/bin/env bash\n'"$out/$pname/bin/remote-dev-server.sh"' "$@"' > $out/$pname/bin/remote-dev-server-wrapped.sh + chmod +x $out/$pname/bin/remote-dev-server-wrapped.sh + ln -s "$out/$pname/bin/remote-dev-server-wrapped.sh" $out/bin/$pname-remote-dev-server + ln -s "$item/share/applications" $out/share + + runHook postInstall + ''; + } + // lib.optionalAttrs (!(meta.license.free or true)) { + preferLocalBuild = true; + } +) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index e2552a631becc..5f212cc1b679c 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -5,37 +5,38 @@ let versions = builtins.fromJSON (builtins.readFile ./bin/versions.json); in -{ lib -, stdenv -, callPackage -, fetchurl - -, jdk -, zlib -, python3 -, lldb -, dotnet-sdk_8 -, maven -, openssl -, expat -, libxcrypt -, libxcrypt-legacy -, fontconfig -, libxml2 -, runCommand -, musl -, R -, libgcc -, lttng-ust_2_12 -, xz -, xorg -, libGL - -, libICE -, libSM -, libX11 - -, vmopts ? null +{ + lib, + stdenv, + callPackage, + fetchurl, + + jdk, + zlib, + python3, + lldb, + dotnet-sdk_8, + maven, + openssl, + expat, + libxcrypt, + libxcrypt-legacy, + fontconfig, + libxml2, + runCommand, + musl, + R, + libgcc, + lttng-ust_2_12, + xz, + xorg, + libGL, + + libICE, + libSM, + libX11, + + vmopts ? null, }: let @@ -47,179 +48,286 @@ let mkJetBrainsProductCore = callPackage package { inherit vmopts; }; mkMeta = meta: fromSource: { inherit (meta) homepage longDescription; - description = meta.description + lib.optionalString meta.isOpenSource (if fromSource then " (built from source)" else " (patched binaries from jetbrains)"); + description = + meta.description + + lib.optionalString meta.isOpenSource ( + if fromSource then " (built from source)" else " (patched binaries from jetbrains)" + ); maintainers = map (x: lib.maintainers."${x}") meta.maintainers; license = if meta.isOpenSource then lib.licenses.asl20 else lib.licenses.unfree; - sourceProvenance = if fromSource then [ lib.sourceTypes.fromSource ] else - (if stdenv.hostPlatform.isDarwin then [ lib.sourceTypes.binaryNativeCode ] else [ lib.sourceTypes.binaryBytecode ]); + sourceProvenance = + if fromSource then + [ lib.sourceTypes.fromSource ] + else + ( + if stdenv.hostPlatform.isDarwin then + [ lib.sourceTypes.binaryNativeCode ] + else + [ lib.sourceTypes.binaryBytecode ] + ); }; mkJetBrainsProduct = - { pname - , fromSource ? false - , extraWrapperArgs ? [ ] - , extraLdPath ? [ ] - , extraBuildInputs ? [ ] + { + pname, + fromSource ? false, + extraWrapperArgs ? [ ], + extraLdPath ? [ ], + extraBuildInputs ? [ ], }: mkJetBrainsProductCore { - inherit pname jdk extraWrapperArgs extraLdPath extraBuildInputs; - src = if fromSource then communitySources."${pname}" else - fetchurl { - url = products."${pname}".url; - sha256 = products."${pname}".sha256; - }; + inherit + pname + jdk + extraWrapperArgs + extraLdPath + extraBuildInputs + ; + src = + if fromSource then + communitySources."${pname}" + else + fetchurl { + url = products."${pname}".url; + sha256 = products."${pname}".sha256; + }; inherit (products."${pname}") version; buildNumber = products."${pname}".build_number; inherit (ideInfo."${pname}") wmClass product; productShort = ideInfo."${pname}".productShort or ideInfo."${pname}".product; meta = mkMeta ideInfo."${pname}".meta fromSource; - libdbm = if ideInfo."${pname}".meta.isOpenSource then communitySources."${pname}".libdbm else communitySources.idea-community.libdbm; - fsnotifier = if ideInfo."${pname}".meta.isOpenSource then communitySources."${pname}".fsnotifier else communitySources.idea-community.fsnotifier; + libdbm = + if ideInfo."${pname}".meta.isOpenSource then + communitySources."${pname}".libdbm + else + communitySources.idea-community.libdbm; + fsnotifier = + if ideInfo."${pname}".meta.isOpenSource then + communitySources."${pname}".fsnotifier + else + communitySources.idea-community.fsnotifier; }; communitySources = callPackage ./source { }; - buildIdea = args: - mkJetBrainsProduct (args // { - extraLdPath = [ zlib ]; - extraWrapperArgs = [ - ''--set M2_HOME "${maven}/maven"'' - ''--set M2 "${maven}/maven/bin"'' - ]; - }); - - buildPycharm = args: - (mkJetBrainsProduct args).overrideAttrs (finalAttrs: previousAttrs: lib.optionalAttrs stdenv.hostPlatform.isLinux { - buildInputs = with python3.pkgs; (previousAttrs.buildInputs or []) ++ [ python3 setuptools ]; - preInstall = '' - echo "compiling cython debug speedups" - if [[ -d plugins/python-ce ]]; then - ${python3.interpreter} plugins/python-ce/helpers/pydev/setup_cython.py build_ext --inplace - else - ${python3.interpreter} plugins/python/helpers/pydev/setup_cython.py build_ext --inplace - fi - ''; - # See https://www.jetbrains.com/help/pycharm/2022.1/cython-speedups.html - }); + buildIdea = + args: + mkJetBrainsProduct ( + args + // { + extraLdPath = [ zlib ]; + extraWrapperArgs = [ + ''--set M2_HOME "${maven}/maven"'' + ''--set M2 "${maven}/maven/bin"'' + ]; + } + ); + + buildPycharm = + args: + (mkJetBrainsProduct args).overrideAttrs ( + finalAttrs: previousAttrs: + lib.optionalAttrs stdenv.hostPlatform.isLinux { + buildInputs = + with python3.pkgs; + (previousAttrs.buildInputs or [ ]) + ++ [ + python3 + setuptools + ]; + preInstall = '' + echo "compiling cython debug speedups" + if [[ -d plugins/python-ce ]]; then + ${python3.interpreter} plugins/python-ce/helpers/pydev/setup_cython.py build_ext --inplace + else + ${python3.interpreter} plugins/python/helpers/pydev/setup_cython.py build_ext --inplace + fi + ''; + # See https://www.jetbrains.com/help/pycharm/2022.1/cython-speedups.html + } + ); in rec { # Sorted alphabetically - aqua = mkJetBrainsProduct { pname = "aqua"; extraBuildInputs = [ stdenv.cc.cc lldb ]; }; - - clion = (mkJetBrainsProduct { - pname = "clion"; - extraBuildInputs = lib.optionals (stdenv.hostPlatform.isLinux) [ - fontconfig - python3 + aqua = mkJetBrainsProduct { + pname = "aqua"; + extraBuildInputs = [ stdenv.cc.cc - openssl - libxcrypt-legacy - lttng-ust_2_12 - musl - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - expat - libxml2 - xz + lldb ]; - }).overrideAttrs (attrs: { - postInstall = (attrs.postInstall or "") + lib.optionalString (stdenv.hostPlatform.isLinux) '' - ( - cd $out/clion - - for dir in plugins/clion-radler/DotFiles/linux-*; do - rm -rf $dir/dotnet - ln -s ${dotnet-sdk_8.unwrapped}/share/dotnet $dir/dotnet - done - ) - ''; - - postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.hostPlatform.isLinux) '' - ( - cd $out/clion - - # I think the included gdb has a couple of patches, so we patch it instead of replacing - ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* | - xargs patchelf \ - --replace-needed libssl.so.10 libssl.so \ - --replace-needed libcrypto.so.10 libcrypto.so - - ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* | - xargs patchelf \ - --replace-needed libssl.so.10 libssl.so \ - --replace-needed libcrypto.so.10 libcrypto.so - ) - ''; - }); - - datagrip = mkJetBrainsProduct { pname = "datagrip"; extraBuildInputs = [ stdenv.cc.cc ]; }; - - dataspell = let - libr = runCommand "libR" {} '' - mkdir -p $out/lib - ln -s ${R}/lib/R/lib/libR.so $out/lib/libR.so - ''; - in mkJetBrainsProduct { - pname = "dataspell"; - extraBuildInputs = [ libgcc libr stdenv.cc.cc ]; }; + clion = + (mkJetBrainsProduct { + pname = "clion"; + extraBuildInputs = + lib.optionals (stdenv.hostPlatform.isLinux) [ + fontconfig + python3 + stdenv.cc.cc + openssl + libxcrypt-legacy + lttng-ust_2_12 + musl + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + expat + libxml2 + xz + ]; + }).overrideAttrs + (attrs: { + postInstall = + (attrs.postInstall or "") + + lib.optionalString (stdenv.hostPlatform.isLinux) '' + ( + cd $out/clion + + for dir in plugins/clion-radler/DotFiles/linux-*; do + rm -rf $dir/dotnet + ln -s ${dotnet-sdk_8.unwrapped}/share/dotnet $dir/dotnet + done + ) + ''; + + postFixup = + (attrs.postFixup or "") + + lib.optionalString (stdenv.hostPlatform.isLinux) '' + ( + cd $out/clion + + # I think the included gdb has a couple of patches, so we patch it instead of replacing + ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* | + xargs patchelf \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* | + xargs patchelf \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + ) + ''; + }); + + datagrip = mkJetBrainsProduct { + pname = "datagrip"; + extraBuildInputs = [ stdenv.cc.cc ]; + }; + + dataspell = + let + libr = runCommand "libR" { } '' + mkdir -p $out/lib + ln -s ${R}/lib/R/lib/libR.so $out/lib/libR.so + ''; + in + mkJetBrainsProduct { + pname = "dataspell"; + extraBuildInputs = [ + libgcc + libr + stdenv.cc.cc + ]; + }; + gateway = mkJetBrainsProduct { pname = "gateway"; extraBuildInputs = [ libgcc ]; }; - goland = (mkJetBrainsProduct { - pname = "goland"; - extraWrapperArgs = [ - # fortify source breaks build since delve compiles with -O0 - ''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"'' - ]; - extraBuildInputs = [ libgcc stdenv.cc.cc ]; - }).overrideAttrs - (attrs: { - postFixup = (attrs.postFixup or "") + lib.optionalString stdenv.hostPlatform.isLinux '' - interp="$(cat $NIX_CC/nix-support/dynamic-linker)" - patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv - chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv - ''; - }); - - idea-community-bin = buildIdea { pname = "idea-community"; extraBuildInputs = [ stdenv.cc.cc ]; }; + goland = + (mkJetBrainsProduct { + pname = "goland"; + extraWrapperArgs = [ + # fortify source breaks build since delve compiles with -O0 + ''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"'' + ]; + extraBuildInputs = [ + libgcc + stdenv.cc.cc + ]; + }).overrideAttrs + (attrs: { + postFixup = + (attrs.postFixup or "") + + lib.optionalString stdenv.hostPlatform.isLinux '' + interp="$(cat $NIX_CC/nix-support/dynamic-linker)" + patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv + chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv + ''; + }); + + idea-community-bin = buildIdea { + pname = "idea-community"; + extraBuildInputs = [ stdenv.cc.cc ]; + }; - idea-community-src = buildIdea { pname = "idea-community"; extraBuildInputs = [ stdenv.cc.cc ]; fromSource = true; }; + idea-community-src = buildIdea { + pname = "idea-community"; + extraBuildInputs = [ stdenv.cc.cc ]; + fromSource = true; + }; - idea-community = if stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64 then idea-community-bin else idea-community-src; + idea-community = + if stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64 then + idea-community-bin + else + idea-community-src; - idea-ultimate = buildIdea { pname = "idea-ultimate"; extraBuildInputs = [ stdenv.cc.cc lldb musl ]; }; + idea-ultimate = buildIdea { + pname = "idea-ultimate"; + extraBuildInputs = [ + stdenv.cc.cc + lldb + musl + ]; + }; mps = mkJetBrainsProduct { pname = "mps"; }; - phpstorm = mkJetBrainsProduct { pname = "phpstorm"; extraBuildInputs = [ stdenv.cc.cc musl ]; }; + phpstorm = mkJetBrainsProduct { + pname = "phpstorm"; + extraBuildInputs = [ + stdenv.cc.cc + musl + ]; + }; pycharm-community-bin = buildPycharm { pname = "pycharm-community"; }; - pycharm-community-src = buildPycharm { pname = "pycharm-community"; fromSource = true; }; + pycharm-community-src = buildPycharm { + pname = "pycharm-community"; + fromSource = true; + }; - pycharm-community = if stdenv.hostPlatform.isDarwin then pycharm-community-bin else pycharm-community-src; + pycharm-community = + if stdenv.hostPlatform.isDarwin then pycharm-community-bin else pycharm-community-src; - pycharm-professional = buildPycharm { pname = "pycharm-professional"; extraBuildInputs = [ musl ]; }; + pycharm-professional = buildPycharm { + pname = "pycharm-professional"; + extraBuildInputs = [ musl ]; + }; - rider = (mkJetBrainsProduct { + rider = + (mkJetBrainsProduct { pname = "rider"; - extraBuildInputs = [ - fontconfig - stdenv.cc.cc - openssl - libxcrypt - lttng-ust_2_12 - musl - ]++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - expat - libxml2 - xz - ]; + extraBuildInputs = + [ + fontconfig + stdenv.cc.cc + openssl + libxcrypt + lttng-ust_2_12 + musl + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + expat + libxml2 + xz + ]; extraLdPath = lib.optionals (stdenv.hostPlatform.isLinux) [ # Avalonia dependencies needed for dotMemory libICE @@ -227,66 +335,95 @@ rec { libX11 libGL ]; - }).overrideAttrs (attrs: { - postInstall = (attrs.postInstall or "") + lib.optionalString (stdenv.hostPlatform.isLinux) '' - ( - cd $out/rider - - ls -d $PWD/plugins/cidr-debugger-plugin/bin/lldb/linux/*/lib/python3.8/lib-dynload/* | - xargs patchelf \ - --replace-needed libssl.so.10 libssl.so \ - --replace-needed libcrypto.so.10 libcrypto.so \ - --replace-needed libcrypt.so.1 libcrypt.so - - for dir in lib/ReSharperHost/linux-*; do - rm -rf $dir/dotnet - ln -s ${dotnet-sdk_8.unwrapped}/share/dotnet $dir/dotnet - done - ) - ''; - }); - - ruby-mine = mkJetBrainsProduct { pname = "ruby-mine"; extraBuildInputs = [ stdenv.cc.cc musl ]; }; - - rust-rover = (mkJetBrainsProduct { - pname = "rust-rover"; - extraBuildInputs = lib.optionals (stdenv.hostPlatform.isLinux) [ - python3 - openssl - libxcrypt-legacy - fontconfig - xorg.libX11 - libGL - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - expat - libxml2 - xz + }).overrideAttrs + (attrs: { + postInstall = + (attrs.postInstall or "") + + lib.optionalString (stdenv.hostPlatform.isLinux) '' + ( + cd $out/rider + + ls -d $PWD/plugins/cidr-debugger-plugin/bin/lldb/linux/*/lib/python3.8/lib-dynload/* | + xargs patchelf \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so \ + --replace-needed libcrypt.so.1 libcrypt.so + + for dir in lib/ReSharperHost/linux-*; do + rm -rf $dir/dotnet + ln -s ${dotnet-sdk_8.unwrapped}/share/dotnet $dir/dotnet + done + ) + ''; + }); + + ruby-mine = mkJetBrainsProduct { + pname = "ruby-mine"; + extraBuildInputs = [ + stdenv.cc.cc + musl ]; - }).overrideAttrs (attrs: { - postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.hostPlatform.isLinux) '' - ( - cd $out/rust-rover - - # Copied over from clion (gdb seems to have a couple of patches) - ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* | - xargs patchelf \ - --replace-needed libssl.so.10 libssl.so \ - --replace-needed libcrypto.so.10 libcrypto.so - - ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* | - xargs patchelf \ - --replace-needed libssl.so.10 libssl.so \ - --replace-needed libcrypto.so.10 libcrypto.so - - chmod +x $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper - ) - ''; - }); + }; - webstorm = mkJetBrainsProduct { pname = "webstorm"; extraBuildInputs = [ stdenv.cc.cc musl ]; }; + rust-rover = + (mkJetBrainsProduct { + pname = "rust-rover"; + extraBuildInputs = + lib.optionals (stdenv.hostPlatform.isLinux) [ + python3 + openssl + libxcrypt-legacy + fontconfig + xorg.libX11 + libGL + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + expat + libxml2 + xz + ]; + }).overrideAttrs + (attrs: { + postFixup = + (attrs.postFixup or "") + + lib.optionalString (stdenv.hostPlatform.isLinux) '' + ( + cd $out/rust-rover + + # Copied over from clion (gdb seems to have a couple of patches) + ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* | + xargs patchelf \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* | + xargs patchelf \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + chmod +x $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper + ) + ''; + }); + + webstorm = mkJetBrainsProduct { + pname = "webstorm"; + extraBuildInputs = [ + stdenv.cc.cc + musl + ]; + }; - writerside = mkJetBrainsProduct { pname = "writerside"; extraBuildInputs = [ stdenv.cc.cc musl ]; }; + writerside = mkJetBrainsProduct { + pname = "writerside"; + extraBuildInputs = [ + stdenv.cc.cc + musl + ]; + }; - plugins = callPackage ./plugins { } // { __attrsFailEvaluation = true; }; + plugins = callPackage ./plugins { } // { + __attrsFailEvaluation = true; + }; } diff --git a/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix b/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix index 1ba1e0f38c1f8..ccfd90b68b8cb 100644 --- a/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix +++ b/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix @@ -1,4 +1,11 @@ -{ delve, autoPatchelfHook, stdenv, lib, glibc, gcc-unwrapped }: +{ + delve, + autoPatchelfHook, + stdenv, + lib, + glibc, + gcc-unwrapped, +}: # This is a list of plugins that need special treatment. For example, the go plugin (id is 9568) comes with delve, a # debugger, but that needs various linking fixes. The changes here replace it with the system one. { @@ -27,8 +34,11 @@ buildInputs = [ delve ]; buildPhase = let - arch = (if stdenv.hostPlatform.isLinux then "linux" else "mac") + (if stdenv.hostPlatform.isAarch64 then "arm" else ""); - in '' + arch = + (if stdenv.hostPlatform.isLinux then "linux" else "mac") + + (if stdenv.hostPlatform.isAarch64 then "arm" else ""); + in + '' runHook preBuild ln -sf ${delve}/bin/dlv lib/dlv/${arch}/dlv runHook postBuild @@ -38,13 +48,21 @@ # Github Copilot # Modified version of https://github.com/ktor/nixos/commit/35f4071faab696b2a4d86643726c9dd3e4293964 buildPhase = '' - agent='copilot-agent/native/${lib.toLower stdenv.hostPlatform.uname.system}${{ - x86_64 = "-x64"; - aarch64 = "-arm64"; - }.${stdenv.hostPlatform.uname.processor} or ""}/copilot-language-server' + agent='copilot-agent/native/${lib.toLower stdenv.hostPlatform.uname.system}${ + { + x86_64 = "-x64"; + aarch64 = "-arm64"; + } + .${stdenv.hostPlatform.uname.processor} or "" + }/copilot-language-server' orig_size=$(stat --printf=%s $agent) patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $agent - patchelf --set-rpath ${lib.makeLibraryPath [glibc gcc-unwrapped]} $agent + patchelf --set-rpath ${ + lib.makeLibraryPath [ + glibc + gcc-unwrapped + ] + } $agent chmod +x $agent new_size=$(stat --printf=%s $agent) var_skip=20 diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix index 4b07cc5f8818c..2c9be7479368a 100644 --- a/pkgs/applications/editors/jetbrains/plugins/tests.nix +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -5,25 +5,27 @@ default = let modify-ide = ide: jetbrains.plugins.addPlugins ide [ ]; - ides = with jetbrains; map modify-ide [ - clion - datagrip - dataspell - goland - idea-community - idea-ultimate - mps - phpstorm - pycharm-community - pycharm-professional - rider - ruby-mine - rust-rover - webstorm - ]; + ides = + with jetbrains; + map modify-ide [ + clion + datagrip + dataspell + goland + idea-community + idea-ultimate + mps + phpstorm + pycharm-community + pycharm-professional + rider + ruby-mine + rust-rover + webstorm + ]; paths = builtins.concatStringsSep " " ides; in writeText "jb-ides" paths; - clion-with-vim = jetbrains.plugins.addPlugins jetbrains.clion [ "ideavim" ]; + clion-with-vim = jetbrains.plugins.addPlugins jetbrains.clion [ "ideavim" ]; } diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix b/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix index 2f06cf3757c9e..0a1de3a871a2c 100644 --- a/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix @@ -1,11 +1,12 @@ -{ pkgs -, stdenv -, lib -, jre -, fetchFromGitHub -, writeShellScript -, runCommand -, imagemagick +{ + pkgs, + stdenv, + lib, + jre, + fetchFromGitHub, + writeShellScript, + runCommand, + imagemagick, }: # Jupyter console: @@ -16,7 +17,7 @@ let cljdeps = import ./deps.nix { inherit pkgs; }; - classp = cljdeps.makeClasspaths {}; + classp = cljdeps.makeClasspaths { }; shellScript = writeShellScript "clojupyter" '' ${jre}/bin/java -cp ${classp} clojupyter.kernel.core "$@" @@ -28,41 +29,53 @@ let meta = with lib; { description = "Jupyter kernel for Clojure"; homepage = "https://github.com/clojupyter/clojupyter"; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; # deps from maven + sourceProvenance = with sourceTypes; [ binaryBytecode ]; # deps from maven license = licenses.mit; maintainers = with maintainers; [ thomasjm ]; platforms = jre.meta.platforms; }; - sizedLogo = size: stdenv.mkDerivation { - name = "clojupyter-logo-${size}x${size}.png"; + sizedLogo = + size: + stdenv.mkDerivation { + name = "clojupyter-logo-${size}x${size}.png"; - src = fetchFromGitHub { - owner = "clojupyter"; - repo = "clojupyter"; - rev = version; - sha256 = "sha256-BCzcPnLSonm+ELFU4JIIzLPlVnP0VzlrRSGxOd/LFow="; - }; + src = fetchFromGitHub { + owner = "clojupyter"; + repo = "clojupyter"; + rev = version; + sha256 = "sha256-BCzcPnLSonm+ELFU4JIIzLPlVnP0VzlrRSGxOd/LFow="; + }; - buildInputs = [ imagemagick ]; + buildInputs = [ imagemagick ]; - dontConfigure = true; - dontInstall = true; + dontConfigure = true; + dontInstall = true; - buildPhase = '' - convert ./resources/clojupyter/assets/logo-64x64.png -resize ${size}x${size} $out - ''; + buildPhase = '' + convert ./resources/clojupyter/assets/logo-64x64.png -resize ${size}x${size} $out + ''; - inherit meta; - }; + inherit meta; + }; in rec { - launcher = runCommand "clojupyter" { inherit pname version meta shellScript; } '' - mkdir -p $out/bin - ln -s $shellScript $out/bin/clojupyter - ''; + launcher = + runCommand "clojupyter" + { + inherit + pname + version + meta + shellScript + ; + } + '' + mkdir -p $out/bin + ln -s $shellScript $out/bin/clojupyter + ''; definition = { displayName = "Clojure"; diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix index 99299e2715094..00d19b2915231 100644 --- a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix +++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix @@ -1,1085 +1,1100 @@ # generated by clj2nix-1.0.5 -{ pkgs ? import {} }: - - let repos = [ - "https://repo1.maven.org/maven2/" - "https://repo.clojars.org/" - "http://oss.sonatype.org/content/repositories/releases/" - "http://oss.sonatype.org/content/repositories/public/" - "http://repo.typesafe.com/typesafe/releases/" - ]; - - in rec { - makePaths = {extraClasspaths ? []}: (builtins.map (dep: if builtins.hasAttr "jar" dep.path then dep.path.jar else dep.path) packages) ++ extraClasspaths; - makeClasspaths = {extraClasspaths ? []}: builtins.concatStringsSep ":" (makePaths {inherit extraClasspaths;}); - - packages = [ - { - name = "javax.inject/javax.inject"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "javax.inject"; - groupId = "javax.inject"; - sha512 = "e126b7ccf3e42fd1984a0beef1004a7269a337c202e59e04e8e2af714280d2f2d8d2ba5e6f59481b8dcd34aaf35c966a688d0b48ec7e96f102c274dc0d3b381e"; - version = "1"; - }; - } - - { - name = "org.clojure/data.json"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "data.json"; - groupId = "org.clojure"; - sha512 = "04b7c0c90cb26d643a0b3e7e1ffa2d2d423e977c1454ee5ea7c2e75547ecbc113838df17b797902a975f5ea2184a81a45b605a4d82970805e2bbb02feebc578d"; - version = "2.4.0"; - }; - } - - { - name = "org.clojure/clojure"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "clojure"; - groupId = "org.clojure"; - sha512 = "1925300a0fe4cc9fc3985910bb04ae65a19ce274dacc5ec76e708cfa87a7952a0a77282b083d0aebb2206afff619af73a57f0d661a3423601586f0829cc7956b"; - version = "1.11.1"; - }; - } - - { - name = "net.cgrand/sjacket"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "sjacket"; - groupId = "net.cgrand"; - sha512 = "34a359a0a633f116147e5bd52d4f4a9cd755636ce0e8abf155da9c3f04b07f93bbbf7c1f8e370db922e14da0efd36a5b127ff9e564141ca7a843f0498a8b860a"; - version = "0.1.1"; - }; - } - - { - name = "clojupyter/clojupyter"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "clojupyter"; - groupId = "clojupyter"; - sha512 = "9a4f001cbde7a4de2d27859b25e508ba649225acf9dabad4c1c274e86674e0dcde250a49cacd0767bb99f5b15a61e2f1c829fb2fe7b7dfc4b87681b7ae0b04ae"; - version = "0.3.6"; - }; - } - - { - name = "commons-codec/commons-codec"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "commons-codec"; - groupId = "commons-codec"; - sha512 = "b65531ead8500493e3dd14a860224851b80f438fc53bf8868b443a0557d839a2b0c868e4fedcf99579ae04b6b2bbd8cdb37f9921ad785983c37569aa9d2e8102"; - version = "1.9"; - }; - } - - { - name = "org.clojure/tools.analyzer"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "tools.analyzer"; - groupId = "org.clojure"; - sha512 = "c51752a714848247b05c6f98b54276b4fe8fd44b3d970070b0f30cd755ac6656030fd8943a1ffd08279af8eeff160365be47791e48f05ac9cc2488b6e2dfe504"; - version = "1.1.0"; - }; - } - - { - name = "org.codehaus.plexus/plexus-component-annotations"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "plexus-component-annotations"; - groupId = "org.codehaus.plexus"; - sha512 = "e20aa9fdb3fda4126f55ef45c36362138c6554ede40fa266ff6b63fe1c3b4d699f9eb95793f26527e096ec7567874aa7af5fe84124815729fdb2d4abaa9ddea8"; - version = "1.7.1"; - }; - } - - { - name = "org.apache.commons/commons-compress"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "commons-compress"; - groupId = "org.apache.commons"; - sha512 = "f3e077ff7f69992961d744dc513eca93606e472e3733657636808a7f50c17f39e3de8367a1af7972cb158f05725808627b6232585a81f197c0da3eff0336913e"; - version = "1.8"; - }; - } - - { - name = "org.apache.commons/commons-lang3"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "commons-lang3"; - groupId = "org.apache.commons"; - sha512 = "9e6ff20e891b6835d5926c90f237d55931e75723c8b88d6417926393e077e71013dab006372d34a6b5801e6ca3ce080a00f202cba700cab5aabfc17bbbdcab36"; - version = "3.5"; - }; - } - - { - name = "org.clojure/core.specs.alpha"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "core.specs.alpha"; - groupId = "org.clojure"; - sha512 = "f521f95b362a47bb35f7c85528c34537f905fb3dd24f2284201e445635a0df701b35d8419d53c6507cc78d3717c1f83cda35ea4c82abd8943cd2ab3de3fcad70"; - version = "0.2.62"; - }; - } - - { - name = "org.tukaani/xz"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "xz"; - groupId = "org.tukaani"; - sha512 = "c5c130bf22f24f61b57fc0c6243e7f961ca2a8928416e8bb288aec6650c1c1c06ace4383913cd1277fc6785beb9a74458807ea7e3d6b2e09189cfaf2fb9ab7e1"; - version = "1.5"; - }; - } - - { - name = "org.zeromq/jeromq"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jeromq"; - groupId = "org.zeromq"; - sha512 = "bd502d345926160b1a09e45f60eb81254dc67d6d9d7b79e025c08018dd16a18d32ff85b2440c352d530e61c96cd3b2d88fee2a8a912b436015ed31039e308ff4"; - version = "0.5.2"; - }; - } - - { - name = "org.clojure/spec.alpha"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "spec.alpha"; - groupId = "org.clojure"; - sha512 = "ddfe4fa84622abd8ac56e2aa565a56e6bdc0bf330f377ff3e269ddc241bb9dbcac332c13502dfd4c09c2c08fe24d8d2e8cf3d04a1bc819ca5657b4e41feaa7c2"; - version = "0.3.218"; - }; - } - - { - name = "pandect/pandect"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "pandect"; - groupId = "pandect"; - sha512 = "6179967af34e1abbe0dda2bd0961f101d016df6b1ce5bf4bb823794b07ee551d245d09e957a9c47bc3a15d306cca80ad1b9b11be99e1b3feb245c26e1b9154a3"; - version = "1.0.2"; - }; - } - - { - name = "org.clojure/tools.cli"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "tools.cli"; - groupId = "org.clojure"; - sha512 = "1d88aa03eb6a664bf2c0ce22c45e7296d54d716e29b11904115be80ea1661623cf3e81fc222d164047058239010eb678af92ffedc7c3006475cceb59f3b21265"; - version = "1.0.206"; - }; - } - - { - name = "com.taoensso/encore"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "encore"; - groupId = "com.taoensso"; - sha512 = "43dbec081c4ad7b21526371bc78844877d50dd08580c4c039c4dac7e854247a6b145bda835460863fa91d270e81783ddcdad3aaa1a902575be5b21ac0a95c7d0"; - version = "3.21.0"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-transport-wagon"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-transport-wagon"; - groupId = "org.apache.maven.resolver"; - sha512 = "b7a4dcd2f9bb39bfd561e9b2a8fc087bd9e7e59136ea7787341c173fa22c6b8e9370117ed6c30b0c930dd5b188fab2f2b060042861df19e79772a74c703fcf64"; - version = "1.0.3"; - }; - } - - { - name = "org.slf4j/jcl-over-slf4j"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jcl-over-slf4j"; - groupId = "org.slf4j"; - sha512 = "17aca766b01f136d39bda982a6046d01d296ee076d9628e9776256bd931bbd88437377d5f1cc196d75bd7fa1672dd131311dbf567b4c3a618dd538a6905fbb64"; - version = "2.0.3"; - }; - } - - { - name = "org.clojure/tools.analyzer.jvm"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "tools.analyzer.jvm"; - groupId = "org.clojure"; - sha512 = "36ad50a7a79c47dea16032fc4b927bd7b56b8bedcbd20cc9c1b9c85edede3a455369b8806509b56a48457dcd32e1f708f74228bce2b4492bd6ff6fc4f1219d56"; - version = "1.2.2"; - }; - } - - { - name = "org.apache.maven.wagon/wagon-provider-api"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "wagon-provider-api"; - groupId = "org.apache.maven.wagon"; - sha512 = "4571002ad5bfc0442bb2eaf32ec42675dc0a179413230615475842bba12fb561159ffc0213127cf241088641a218627e84049b715b9e71ed83d960f4f09da985"; - version = "3.0.0"; - }; - } - - { - name = "io.pedestal/pedestal.log"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "pedestal.log"; - groupId = "io.pedestal"; - sha512 = "229c6c73dc7ec39aee15f54ce81cf2b33301e444241f2dff2066b4c10ff47968f3caa95a8a918601e8f3e7563b34da6925e533615e7ce8b1f39bdb97ca082757"; - version = "0.5.10"; - }; - } - - { - name = "com.fasterxml.jackson.dataformat/jackson-dataformat-cbor"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jackson-dataformat-cbor"; - groupId = "com.fasterxml.jackson.dataformat"; - sha512 = "b6e16c43fb3e71f82f8e7dc558f53cbcc8fea31efa59f40d22220f6e40167cf32c150efa18a81f839008d6a042e201bf17d8fd52a4fecbe8f356454f2d6a6170"; - version = "2.13.3"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-transport-http"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-transport-http"; - groupId = "org.apache.maven.resolver"; - sha512 = "97c23620a57406a8d87a08ab2897355afcce4b53b397ef7d13b4254cb07e965b51f05e21ce2d77ea93c4dbc63f32b3f07ff2171bccfe2b4f21116569968a003e"; - version = "1.0.3"; - }; - } - - { - name = "net.cgrand/parsley"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "parsley"; - groupId = "net.cgrand"; - sha512 = "e114f9e5709b9a38214aabc2b7bb33984693a4302fd8570bb91956bce2755d69b6ee2eaa7224137e306ab1f830672eee928e030677f50739edc62314429fa1f7"; - version = "0.9.3"; - }; - } - - { - name = "funcool/cats"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "cats"; - groupId = "funcool"; - sha512 = "83ccb058078c3c380435512e6f92cfc117244fab4819db776eb963d3b488ac92ca70a783b5d3b776d9d4cf06d9de5d3730c07ce6e7013e6717ba28335601ece8"; - version = "2.3.2"; - }; - } - - { - name = "org.apache.maven/maven-model-builder"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-model-builder"; - groupId = "org.apache.maven"; - sha512 = "6684b58d14e7d037f240ae15ee0456d27354c9dd93a1dc2bdbb66f399b012ffe8ff67a1dd83ee1e45c07fd91af77909a9c19d6b29791002d5b5acf23ca75dcb2"; - version = "3.5.3"; - }; - } - - { - name = "io.aviso/pretty"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "pretty"; - groupId = "io.aviso"; - sha512 = "416433ae5c5773a3a12e7cff3f75a43f1a2d3f4454aad04d065c1e4e13627130f289dbb41355a5665236082b6535939fc4c40a2fddcc22a40d0d4ba290544bfb"; - version = "1.1.1"; - }; - } - - { - name = "rewrite-clj/rewrite-clj"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "rewrite-clj"; - groupId = "rewrite-clj"; - sha512 = "04850f7b29be722be6c01760705be43e1b5b93315baa096925ceac94835b58702913c45c8166dadf193fb8f5150ff2c5539ae3ec85c37331727e5d0accfefcca"; - version = "1.1.45"; - }; - } - - { - name = "org.codehaus.plexus/plexus-utils"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "plexus-utils"; - groupId = "org.codehaus.plexus"; - sha512 = "3805c57b7297459c5e2754d0fd56abd454eee08691974fb930ebb9b79a529fd874f16d40cec66e7fd90d4146c9d1fef45cdb59f9e359fce0c48ac77526fc320d"; - version = "3.1.0"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-transport-file"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-transport-file"; - groupId = "org.apache.maven.resolver"; - sha512 = "a83cc067c0857f091787120dcbde00f2df5cd6379a02cca95a091aa243ca22dfbae634406c58373b391caf911dd6db3b4ff4a3d51768f4a61b1081e7c78bb252"; - version = "1.0.3"; - }; - } - - { - name = "slingshot/slingshot"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "slingshot"; - groupId = "slingshot"; - sha512 = "ff2b2a27b441d230261c7f3ec8c38aa551865e05ab6438a74bd12bfcbc5f6bdc88199d42aaf5932b47df84f3d2700c8f514b9f4e9b5da28d29da7ff6b09a7fb5"; - version = "0.12.2"; - }; - } - - { - name = "org.flatland/ordered"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "ordered"; - groupId = "org.flatland"; - sha512 = "849f115d8dc22122577bb6c2af383663488a84125303ba90559f4f5d8538693a5797d95aca608e6844413b925ea6e12112f0cf2d3dcacfcc603b50d749f7a25e"; - version = "1.15.10"; - }; - } - - { - name = "commons-io/commons-io"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "commons-io"; - groupId = "commons-io"; - sha512 = "1f6bfc215da9ae661dbabba80a0f29101a2d5e49c7d0c6ed760d1cafea005b7f0ff177b3b741e75b8e59804b0280fa453a76940b97e52b800ec03042f1692b07"; - version = "2.5"; - }; - } - - { - name = "org.apache.maven.wagon/wagon-http-shared"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "wagon-http-shared"; - groupId = "org.apache.maven.wagon"; - sha512 = "d4ef092c8ca8efd4295323d7bdb98315fcf574c2e5e227840847b936ab36095217583c5a807a27e21b831ade4cfbaa570278aa0d1a0144e92b90a42099b541f1"; - version = "3.0.0"; - }; - } - - { - name = "com.fasterxml.jackson.core/jackson-core"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jackson-core"; - groupId = "com.fasterxml.jackson.core"; - sha512 = "d5337db908b2c56dcb911e3d1a5f671456c13f254fe8d2a620823bc15b2db6aaa8325a86b436b5d181f2584b533158fd14d140b98305ac252f8dfd9a627da859"; - version = "2.13.3"; - }; - } - - { - name = "org.yaml/snakeyaml"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "snakeyaml"; - groupId = "org.yaml"; - sha512 = "4322e41c6fc5114521da21787ab313fa74bf8449ab0c23ec830627b8121504f70d4522e880aec64df227164729d40b2fbd9670e3a046dd5a5aabc1f71e91c16c"; - version = "1.25"; - }; - } - - { - name = "org.ow2.asm/asm"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "asm"; - groupId = "org.ow2.asm"; - sha512 = "876eac7406e60ab8b9bd6cd3c221960eaa53febea176a88ae02f4fa92dbcfe80a3c764ba390d96b909c87269a30a69b1ee037a4c642c2f535df4ea2e0dd499f2"; - version = "9.2"; - }; - } - - { - name = "org.slf4j/jul-to-slf4j"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jul-to-slf4j"; - groupId = "org.slf4j"; - sha512 = "152f153c42e5f69c95e3caeed5ab519e975d7ad79ac0199f31699646299b7ddab58068d5964fbd2170eed29966c3d8d1b00b0a1a4a6f698f9a9eb9c9b9d30dcb"; - version = "2.0.3"; - }; - } - - { - name = "org.apache.httpcomponents/httpcore"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "httpcore"; - groupId = "org.apache.httpcomponents"; - sha512 = "10814bfb8dcce31034f8fd6822f9da29299529b900616b78d8caf846748cf2b1e093f7b99db26a8580266e3346b822b5edb347004b0d13580e6df85cb327c93c"; - version = "4.4.6"; - }; - } - - { - name = "io.pedestal/pedestal.interceptor"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "pedestal.interceptor"; - groupId = "io.pedestal"; - sha512 = "b6d99300e2c656fc63841449067d74893c63f884d282ff1af40510e5e53baac0f17ac869212e0023dc01d3766248ce28e93e32a57239926254e3af0240c82178"; - version = "0.5.10"; - }; - } - - { - name = "io.dropwizard.metrics/metrics-core"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "metrics-core"; - groupId = "io.dropwizard.metrics"; - sha512 = "4b500efcc88e717dbbfff9629e12db0f23380bc7dbae820039ed730cdaf26fb6d5be6e58434bd6f688ea3d675576e2057ec183472aac99189817fc28b3c3489e"; - version = "4.1.0"; - }; - } - - { - name = "com.grammarly/omniconf"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "omniconf"; - groupId = "com.grammarly"; - sha512 = "2b13138090c9706af014b7d22b316af5300f41bfc70ee1f604ee6d817f70ca6227951f673231830c81888db2c50533f9c53de3e314d725a60b8eee99718655af"; - version = "0.4.3"; - }; - } - - { - name = "eu.neilalexander/jnacl"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jnacl"; - groupId = "eu.neilalexander"; - sha512 = "addba1eae1975a71a204557dafb111c5c2aab39d9a7bb6428a26107935d95290139381c0a283b77e67b44e1d8110d3fa3919d7e7fc73e0023771beece4eab994"; - version = "1.0.0"; - }; - } - - { - name = "zprint/zprint"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "zprint"; - groupId = "zprint"; - sha512 = "2f29288a1d9dd7e76689b32616049af8ebc0e98f0994f1eae1c8e6e725084df23de11a4d6231d2712167ef4adfdfffe494cea2c11b6e752f81acd641381516eb"; - version = "1.2.4"; - }; - } - - { - name = "com.taoensso/truss"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "truss"; - groupId = "com.taoensso"; - sha512 = "79a515306228e8e8f1c1cf5bb65ac8c979954f3a6e8461c059a7b9402967163a1eb7a70de3ad41e8195d9dbfac2d17af8cc03e09bf72f8e9f6704b842656c0b9"; - version = "1.6.0"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-api"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-api"; - groupId = "org.apache.maven.resolver"; - sha512 = "d00cd4ec92bfafe88d9c4f4ce91e6c2d581d416a096743d396c1712a5788239cf2d55f910e1c0024034f7e0d8028ff602339b87c8fd3ad54f665a8b63d142e67"; - version = "1.1.1"; - }; - } - - { - name = "hiccup/hiccup"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "hiccup"; - groupId = "hiccup"; - sha512 = "419dd67281135feb31f74528907b785679066e22cf397f14a6d9439cb9c463d0db66436c214b2b1b5944be6b9d28e3fc7d9e4042de52f9633bf0825548c0f524"; - version = "2.0.0-alpha2"; - }; - } - - { - name = "io.opentracing/opentracing-api"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "opentracing-api"; - groupId = "io.opentracing"; - sha512 = "931197ca33e509570e389cd163af96e277bb3635f019e34e2fc97d3fa9c34bb9042f25b2ba8aa59f8516cc044ec3e9584462601b8aa5f954bbc6ad88e5fbe5cd"; - version = "0.33.0"; - }; - } - - { - name = "org.apache.maven/maven-resolver-provider"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-provider"; - groupId = "org.apache.maven"; - sha512 = "ec9e402084886554d247232b3dc5a971f6cbc93206759104ee7f94c7ba3ea2d69a715c68e479d2c64f6fe5045b6d7bd75cc3bb239462464ac608b0db1a5f0db5"; - version = "3.5.3"; - }; - } - - { - name = "commons-logging/commons-logging"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "commons-logging"; - groupId = "commons-logging"; - sha512 = "ed00dbfabd9ae00efa26dd400983601d076fe36408b7d6520084b447e5d1fa527ce65bd6afdcb58506c3a808323d28e88f26cb99c6f5db9ff64f6525ecdfa557"; - version = "1.2"; - }; - } - - { - name = "com.google.guava/guava"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "guava"; - groupId = "com.google.guava"; - sha512 = "d8736b5151df2dd052c09548a118af15a8b8b40999954cd093cfd301445accb8b7e9532b36bac8b2fab9234a24e2e05009a33d0a8e149e841ebddbcc733a8e4c"; - version = "20.0"; - }; - } - - { - name = "com.fzakaria/slf4j-timbre"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "slf4j-timbre"; - groupId = "com.fzakaria"; - sha512 = "9a25ed545a7dac8fb74096ed531fa4362989a1ed68350e63f403a871fdf19ab582c6f2c1c8e08978a431d8da31d8226bf34f1d0263ac5f6a14955ff56fdf9e17"; - version = "0.3.21"; - }; - } - - { - name = "clojure.java-time/clojure.java-time"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "clojure.java-time"; - groupId = "clojure.java-time"; - sha512 = "cd27eddad69554fcc443603bb69ab7dbe5d4cc937080f4b4d1ef3590e855faef2366dda77724da6c9b8941c340f8b5c5cb1345855f946718bd3ceb9c124a226a"; - version = "1.1.0"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-spi"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-spi"; - groupId = "org.apache.maven.resolver"; - sha512 = "bb58083c5ef2b6d3915acb368c80bd55ca6318925c606ad74e3e4ab2fc0066c7fa2480cefa34487c5349f1edff02131bbaa4c3a426f9a52d5a6a66a4a023d452"; - version = "1.1.1"; - }; - } - - { - name = "org.clojure/algo.generic"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "algo.generic"; - groupId = "org.clojure"; - sha512 = "2ded22096f7bf051fcc649d56fdb0ef2dddcb5490e22ce4d7e6f714d910db0cc7d453862b2180169641c21f0754b799036e4b0e7944c79f29d22dcb4152e384d"; - version = "0.1.3"; - }; - } - - { - name = "borkdude/edamame"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "edamame"; - groupId = "borkdude"; - sha512 = "5f5f36a85521464e97c0ada94581b37d7ffc7d1b9adaf7b3b509447bc0d6cedf339f12ae75d6bf679b69f9e1b582d0ee1a995bfd039657b17ec9a85516700fbe"; - version = "0.0.19"; - }; - } - - { - name = "com.taoensso/timbre"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "timbre"; - groupId = "com.taoensso"; - sha512 = "8c88eea8f0a94a3fc14f450a03e76ce0573d31f6c301252d3f9afc177f87a03326966197e8508e766f3caab61ef356142c6dc002e07ed09771f341dd6b290edf"; - version = "5.2.1"; - }; - } - - { - name = "org.clojure/java.jdbc"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "java.jdbc"; - groupId = "org.clojure"; - sha512 = "19e37ee3a16ccfdeb299e72ee0ae64a557b20296dd9461bf2288d0507e1d915ad6fcc56e4aadd712340f5c21e2c764ed7d4ad074eb8e4c82dc6ba5fe96111930"; - version = "0.7.12"; - }; - } - - { - name = "org.apache.maven.wagon/wagon-http"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "wagon-http"; - groupId = "org.apache.maven.wagon"; - sha512 = "e565e6541d53a5c2823a211586163707a5dbf5d9b3dd9f4a8d1d9dd2ffc0c8cf3ef2adb78d455235d22ede99d2e4619eb7f94d2a52eb0ffd119b52b33f9d89ba"; - version = "3.0.0"; - }; - } - - { - name = "io.opentracing/opentracing-noop"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "opentracing-noop"; - groupId = "io.opentracing"; - sha512 = "c727bcf20504fa72bfc07456bdde3b0b50988632d85c7af78df742efd90a431c125f5d644273203fa211a62fc4a282455cf281c7c82b82df4695afbc5488577f"; - version = "0.33.0"; - }; - } - - { - name = "net.cgrand/regex"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "regex"; - groupId = "net.cgrand"; - sha512 = "f0dfa4727818765364ce1793337597b06a2f95364245ab6c860e2373a98da55771e77a7eb772dcf415a336d8caad35673d5054e18b9494c3e1b9f882fecfb4d9"; - version = "1.1.0"; - }; - } - - { - name = "cider/cider-nrepl"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "cider-nrepl"; - groupId = "cider"; - sha512 = "e201944e32ce9b8fa328327c84f31d11cf5507a97b4fd3189a0304f4ebfd3bd557a1886335f295831941ac30d2b2394ad79a2897cb9bce506c0cbd8e04bbc40f"; - version = "0.26.0"; - }; - } - - { - name = "com.cemerick/pomegranate"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "pomegranate"; - groupId = "com.cemerick"; - sha512 = "a08137b575305aeff9858b93fc1febba92aaff27d9994e884c0e614f43704403cfb7e3e8d819a8151966c6439c178f4fb371003c392591dbc87b9e0fa64788fd"; - version = "1.1.0"; - }; - } - - { - name = "org.codehaus.plexus/plexus-interpolation"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "plexus-interpolation"; - groupId = "org.codehaus.plexus"; - sha512 = "d9183dc0920fb996901644903194883d1e1d1e8c4863f3c55bd6a9b14de996ee30651849435a92c8c55fc82be0e4524f1b2741957f9464434da292188ffcee70"; - version = "1.24"; - }; - } - - { - name = "org.apache.httpcomponents/httpclient"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "httpclient"; - groupId = "org.apache.httpcomponents"; - sha512 = "f8d4a960ed235770570afaf793c4596404adfa777e08bdb87ae2db92575db5e11755025fe43969f852ef505a390833e79bdd1fccd5f3fb7dee87625607b504a2"; - version = "4.5.3"; - }; - } - - { - name = "cheshire/cheshire"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "cheshire"; - groupId = "cheshire"; - sha512 = "2262573047d194bba28b3d2ca4b00b12f8171d6f8f7f5449df35f10ab1ef5902a9ba2f9937399d6e4b54a78bda919fa205a22a44cde998019bc0cfc508e90f29"; - version = "5.11.0"; - }; - } - - { - name = "tigris/tigris"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "tigris"; - groupId = "tigris"; - sha512 = "fdff4ef5e7175a973aaef98de4f37dee8e125fc711c495382e280aaf3e11341fe8925d52567ca60f3f1795511ade11bc23461c88959632dfae3cf50374d02bf6"; - version = "0.1.2"; - }; - } - - { - name = "org.clojure/core.match"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "core.match"; - groupId = "org.clojure"; - sha512 = "d69ed23bad115ed665b402886e1946fcecacbbfd05150f3eb66dce9ffc0381d0e02ed6f41cb390a6dfb74f4f26e3b0f6793dec38f6a4622dc53c0739d79f5f5e"; - version = "0.3.0"; - }; - } - - { - name = "org.clojure/tools.reader"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "tools.reader"; - groupId = "org.clojure"; - sha512 = "3481259c7a1eac719db2921e60173686726a0c2b65879d51a64d516a37f6120db8ffbb74b8bd273404285d7b25143ab5c7ced37e7c0eaf4ab1e44586ccd3c651"; - version = "1.3.6"; - }; - } - - { - name = "org.tcrawley/dynapath"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "dynapath"; - groupId = "org.tcrawley"; - sha512 = "1b0caf390515212e6b151d6c227b1a62e430e682b6c811736edba3cc918344053e35c092e12afd523198ed6244018450931776f8388e61a593f266476b6db19e"; - version = "1.0.0"; - }; - } - - { - name = "org.babashka/sci"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "sci"; - groupId = "org.babashka"; - sha512 = "2897029dba4917facf93935229f1288d9e90973e8dbc8ff84448335452815274c23371ab643c35df0b1854ff6de1574c37880267fd0edd900039f5a1678d73c5"; - version = "0.3.4"; - }; - } - - { - name = "io.opentracing/opentracing-util"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "opentracing-util"; - groupId = "io.opentracing"; - sha512 = "fbba29ff3d6018561077e9539ad9b72876424600eca3addb6a26981a4a3e52cb3dfd30f27945aff2b6c222c42454ce3ba67597171fd809a74c65b920f3a47c7a"; - version = "0.33.0"; - }; - } - - { - name = "org.jsoup/jsoup"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jsoup"; - groupId = "org.jsoup"; - sha512 = "8119ec44ee622c75f47a80dedeadf557744208dc49d3d9f579660929a0be3f71d3b8cb4aed64ee31f6bf7488bfc3516fb3980137d2fc63063caf46c9921f19f0"; - version = "1.7.2"; - }; - } - - { - name = "nrepl/nrepl"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "nrepl"; - groupId = "nrepl"; - sha512 = "92534555cc5fa45e8990b8566996fe784df368849e0938fbc7a89909ccbb62dd7d4fca9b7aa3c615702ec30f9962a460c500f6b60abc72661c5f4c66414fc395"; - version = "1.0.0"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-connector-basic"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-connector-basic"; - groupId = "org.apache.maven.resolver"; - sha512 = "c8c14480ed89cf5d4cfec5dee7dae366b0b5d003cd835d4b1358add81253b205a53f6a62e5ecc145f09406fc8c57adb5fbf8f4521a044ac3d37b5fa8e67d4e21"; - version = "1.0.3"; - }; - } - - { - name = "org.xerial/sqlite-jdbc"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "sqlite-jdbc"; - groupId = "org.xerial"; - sha512 = "f4c27027fe3cb7914aaf155a1afaa0c8b455e5d142b4e5f31d87bfe619c9949e1981ba7eed1f7a8a3cd27edba1321cc4cd74cf4321ae800e8a911b4d94e03930"; - version = "3.39.3.0"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-impl"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-impl"; - groupId = "org.apache.maven.resolver"; - sha512 = "3ffcac7ed4a05b2b58669ce05cc348acad627be3e0941ee28a9a665fea43a571d554005dd72ec51130083f792e31894880525df3cd6962d7c95885340abfb7da"; - version = "1.1.1"; - }; - } - - { - name = "org.slf4j/slf4j-api"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "slf4j-api"; - groupId = "org.slf4j"; - sha512 = "cf50d5cc86404fefa49730da36147db5f6d65c8b06163bbf62311e6874c20ca46db02ab6bda27c9c1485a5c57fe63b89fd3000b8d838c429240ee95734f5901e"; - version = "2.0.3"; - }; - } - - { - name = "org.apache.maven/maven-model"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-model"; - groupId = "org.apache.maven"; - sha512 = "888a778101774265e0d8dbc96305274053d275c0b261e81c6aae8765f92b13d1e06c5aa8f51c7d53d5267e46041adc9218686e53fc47cc15563a1b178291bc16"; - version = "3.5.3"; - }; - } - - { - name = "org.clojure/test.check"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "test.check"; - groupId = "org.clojure"; - sha512 = "b8d7a330b0b5514cd6a00c4382052fab51c3c9d3bc53133f8506791fa670e7c5ecd65094977ea5ced91f59623b0abd1ab8feeec96d63c5c6e459b265a655c577"; - version = "1.1.1"; - }; - } - - { - name = "org.apache.maven.resolver/maven-resolver-util"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-resolver-util"; - groupId = "org.apache.maven.resolver"; - sha512 = "91dcbb8184f06e64da35d40c7b96e854f7311b6232d74b4b6d3489a51e0c05ebbee44f59367ab118974cdb6c5b3747981a41869cc7372691b2c2e1d0daa2ffa3"; - version = "1.1.1"; - }; - } - - { - name = "io.dropwizard.metrics/metrics-jmx"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "metrics-jmx"; - groupId = "io.dropwizard.metrics"; - sha512 = "706f7428b967923d2792b0587684e972b1404d663a6ac3d661772a57edf096f0de0efac8bbfcead4576c008b096c33f77499e8f193ccbb8b072d7aa6e6d7a40d"; - version = "4.1.0"; - }; - } - - { - name = "io.forward/yaml"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "yaml"; - groupId = "io.forward"; - sha512 = "e2d3b7aea260346a1db44bcc3c363877d0ff2b327c4fd287759782949b1a498bc8019f06ddabee84443b96b07ea4765443f8190e04f5f903de049e2cc0fd63e9"; - version = "1.0.11"; - }; - } - - { - name = "me.raynes/fs"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "fs"; - groupId = "me.raynes"; - sha512 = "b72af0093c1feccf78ea0632ba523eca89436b0575abc0af484e03570011aa89f429f9820a9fc27f60da113d728d2bbc09ba26d3a0cdd63d9d9c7775643f6852"; - version = "1.4.6"; - }; - } - - { - name = "org.clojure/core.memoize"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "core.memoize"; - groupId = "org.clojure"; - sha512 = "67196537084b7cc34a01454d2a3b72de3fddce081b72d7a6dc1592d269a6c2728b79630bd2d52c1bf2d2f903c12add6f23df954c02ef8237f240d7394ccc3dde"; - version = "1.0.253"; - }; - } - - { - name = "org.apache.maven/maven-repository-metadata"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-repository-metadata"; - groupId = "org.apache.maven"; - sha512 = "6d898373d483ac7f24ab0256406f4be45035f95a247bb19ac7102ea7f5e336976381c5125b30a7148bc9a8e1df6d27b456d1f8e9b55b99d9688e37dfd03733a3"; - version = "3.5.3"; - }; - } - - { - name = "io.simplect/compose"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "compose"; - groupId = "io.simplect"; - sha512 = "0aceab86d4a97285ddd6d40abdeb5b9bea16a16b6509ef2fcd80e547d772185041e26abcc12ae11938d7b78fed175850f811d5cb2a2f0590524c2c11975bacd1"; - version = "0.7.27"; - }; - } - - { - name = "org.clojure/data.priority-map"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "data.priority-map"; - groupId = "org.clojure"; - sha512 = "bb8bc5dbfd3738c36b99a51880ac3f1381d6564e67601549ef5e7ae2b900e53cdcdfb8d0fa4bf32fb8ebc4de89d954bfa3ab7e8a1122bc34ee5073c7c707ac13"; - version = "1.1.0"; - }; - } - - { - name = "borkdude/sci.impl.reflector"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "sci.impl.reflector"; - groupId = "borkdude"; - sha512 = "c747fd347e6aba9578d105298b7c7402f53e8639d5c8e6dc83b127f3c413feeb1b9dead7405ac2c4345f02290902e8a2affbec749474481e9c9f19b3d049f18f"; - version = "0.0.1"; - }; - } - - { - name = "org.apache.maven/maven-builder-support"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-builder-support"; - groupId = "org.apache.maven"; - sha512 = "1b2ca4427772532cfb93b4d643b17eca5843f1e1a9c4b26089eed8c10028344fb85d593d133fdffaff07b552c3027a9f24e1a92d68ed4696682be04069e84583"; - version = "3.5.3"; - }; - } - - { - name = "org.slf4j/log4j-over-slf4j"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "log4j-over-slf4j"; - groupId = "org.slf4j"; - sha512 = "a1f90d8ea338660cc0e38073752cf32e46a042bc408477d841ba7ad69ad0d066bbbf9d4c399a34352d620ba9d2402c7a51574a88f314ddcc796c35adc99c37f4"; - version = "2.0.3"; - }; - } - - { - name = "org.clojure/core.cache"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "core.cache"; - groupId = "org.clojure"; - sha512 = "0a07ceffc2fa3a536b23773eefc7ef5e1108913b93c3a5416116a6566de76dd5c218f3fb0cc19415cbaa8843838de310b76282f20bf1fc3467006c9ec373667e"; - version = "1.0.225"; - }; - } - - { - name = "org.clojure/core.async"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "core.async"; - groupId = "org.clojure"; - sha512 = "160a77da25382d7c257eee56cfe83538620576a331e025a2d672fc26d9f04e606666032395f3c2e26247c782544816a5862348f3a921b1ffffcd309c62ac64f5"; - version = "1.5.648"; - }; - } - - { - name = "com.fasterxml.jackson.dataformat/jackson-dataformat-smile"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "jackson-dataformat-smile"; - groupId = "com.fasterxml.jackson.dataformat"; - sha512 = "4c1566aa4fac309de8fba08ea355165cf2a888b7bcec98e7035ac8acd7315e340415a10b8deec6497fc4eea5ba9319fc989676170d8c4c0d0bbc3d4f3cc4d681"; - version = "2.13.3"; - }; - } - - { - name = "org.apache.maven/maven-artifact"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "maven-artifact"; - groupId = "org.apache.maven"; - sha512 = "a4cafc89d66c8f074c5c3f9454e5077abc0de6242c29904d8ee5816348af21b1006da67f3118478bc9eb067725c39be9b88e4a019eb8368c936f971f0499c2ca"; - version = "3.5.3"; - }; - } - - { - name = "org.clojure/data.codec"; - path = pkgs.fetchMavenArtifact { - inherit repos; - artifactId = "data.codec"; - groupId = "org.clojure"; - sha512 = "cb6910fc0ee47ce6959a442ba3ef456dd91fe8589a576526d20fd661c8d305962f64a8e8ebde69f0bd00082027dbd0ac52b642fcd4950b4f0e5b7a1205f95138"; - version = "0.1.1"; - }; - } +{ + pkgs ? import { }, +}: + +let + repos = [ + "https://repo1.maven.org/maven2/" + "https://repo.clojars.org/" + "http://oss.sonatype.org/content/repositories/releases/" + "http://oss.sonatype.org/content/repositories/public/" + "http://repo.typesafe.com/typesafe/releases/" + ]; + +in +rec { + makePaths = + { + extraClasspaths ? [ ], + }: + (builtins.map (dep: if builtins.hasAttr "jar" dep.path then dep.path.jar else dep.path) packages) + ++ extraClasspaths; + makeClasspaths = + { + extraClasspaths ? [ ], + }: + builtins.concatStringsSep ":" (makePaths { + inherit extraClasspaths; + }); + + packages = [ + { + name = "javax.inject/javax.inject"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "javax.inject"; + groupId = "javax.inject"; + sha512 = "e126b7ccf3e42fd1984a0beef1004a7269a337c202e59e04e8e2af714280d2f2d8d2ba5e6f59481b8dcd34aaf35c966a688d0b48ec7e96f102c274dc0d3b381e"; + version = "1"; + }; + } + + { + name = "org.clojure/data.json"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "data.json"; + groupId = "org.clojure"; + sha512 = "04b7c0c90cb26d643a0b3e7e1ffa2d2d423e977c1454ee5ea7c2e75547ecbc113838df17b797902a975f5ea2184a81a45b605a4d82970805e2bbb02feebc578d"; + version = "2.4.0"; + }; + } + + { + name = "org.clojure/clojure"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "clojure"; + groupId = "org.clojure"; + sha512 = "1925300a0fe4cc9fc3985910bb04ae65a19ce274dacc5ec76e708cfa87a7952a0a77282b083d0aebb2206afff619af73a57f0d661a3423601586f0829cc7956b"; + version = "1.11.1"; + }; + } + + { + name = "net.cgrand/sjacket"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "sjacket"; + groupId = "net.cgrand"; + sha512 = "34a359a0a633f116147e5bd52d4f4a9cd755636ce0e8abf155da9c3f04b07f93bbbf7c1f8e370db922e14da0efd36a5b127ff9e564141ca7a843f0498a8b860a"; + version = "0.1.1"; + }; + } + + { + name = "clojupyter/clojupyter"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "clojupyter"; + groupId = "clojupyter"; + sha512 = "9a4f001cbde7a4de2d27859b25e508ba649225acf9dabad4c1c274e86674e0dcde250a49cacd0767bb99f5b15a61e2f1c829fb2fe7b7dfc4b87681b7ae0b04ae"; + version = "0.3.6"; + }; + } + + { + name = "commons-codec/commons-codec"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "commons-codec"; + groupId = "commons-codec"; + sha512 = "b65531ead8500493e3dd14a860224851b80f438fc53bf8868b443a0557d839a2b0c868e4fedcf99579ae04b6b2bbd8cdb37f9921ad785983c37569aa9d2e8102"; + version = "1.9"; + }; + } + + { + name = "org.clojure/tools.analyzer"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "tools.analyzer"; + groupId = "org.clojure"; + sha512 = "c51752a714848247b05c6f98b54276b4fe8fd44b3d970070b0f30cd755ac6656030fd8943a1ffd08279af8eeff160365be47791e48f05ac9cc2488b6e2dfe504"; + version = "1.1.0"; + }; + } + + { + name = "org.codehaus.plexus/plexus-component-annotations"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "plexus-component-annotations"; + groupId = "org.codehaus.plexus"; + sha512 = "e20aa9fdb3fda4126f55ef45c36362138c6554ede40fa266ff6b63fe1c3b4d699f9eb95793f26527e096ec7567874aa7af5fe84124815729fdb2d4abaa9ddea8"; + version = "1.7.1"; + }; + } + + { + name = "org.apache.commons/commons-compress"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "commons-compress"; + groupId = "org.apache.commons"; + sha512 = "f3e077ff7f69992961d744dc513eca93606e472e3733657636808a7f50c17f39e3de8367a1af7972cb158f05725808627b6232585a81f197c0da3eff0336913e"; + version = "1.8"; + }; + } + + { + name = "org.apache.commons/commons-lang3"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "commons-lang3"; + groupId = "org.apache.commons"; + sha512 = "9e6ff20e891b6835d5926c90f237d55931e75723c8b88d6417926393e077e71013dab006372d34a6b5801e6ca3ce080a00f202cba700cab5aabfc17bbbdcab36"; + version = "3.5"; + }; + } + + { + name = "org.clojure/core.specs.alpha"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "core.specs.alpha"; + groupId = "org.clojure"; + sha512 = "f521f95b362a47bb35f7c85528c34537f905fb3dd24f2284201e445635a0df701b35d8419d53c6507cc78d3717c1f83cda35ea4c82abd8943cd2ab3de3fcad70"; + version = "0.2.62"; + }; + } + + { + name = "org.tukaani/xz"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "xz"; + groupId = "org.tukaani"; + sha512 = "c5c130bf22f24f61b57fc0c6243e7f961ca2a8928416e8bb288aec6650c1c1c06ace4383913cd1277fc6785beb9a74458807ea7e3d6b2e09189cfaf2fb9ab7e1"; + version = "1.5"; + }; + } + + { + name = "org.zeromq/jeromq"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jeromq"; + groupId = "org.zeromq"; + sha512 = "bd502d345926160b1a09e45f60eb81254dc67d6d9d7b79e025c08018dd16a18d32ff85b2440c352d530e61c96cd3b2d88fee2a8a912b436015ed31039e308ff4"; + version = "0.5.2"; + }; + } + + { + name = "org.clojure/spec.alpha"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "spec.alpha"; + groupId = "org.clojure"; + sha512 = "ddfe4fa84622abd8ac56e2aa565a56e6bdc0bf330f377ff3e269ddc241bb9dbcac332c13502dfd4c09c2c08fe24d8d2e8cf3d04a1bc819ca5657b4e41feaa7c2"; + version = "0.3.218"; + }; + } + + { + name = "pandect/pandect"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "pandect"; + groupId = "pandect"; + sha512 = "6179967af34e1abbe0dda2bd0961f101d016df6b1ce5bf4bb823794b07ee551d245d09e957a9c47bc3a15d306cca80ad1b9b11be99e1b3feb245c26e1b9154a3"; + version = "1.0.2"; + }; + } + + { + name = "org.clojure/tools.cli"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "tools.cli"; + groupId = "org.clojure"; + sha512 = "1d88aa03eb6a664bf2c0ce22c45e7296d54d716e29b11904115be80ea1661623cf3e81fc222d164047058239010eb678af92ffedc7c3006475cceb59f3b21265"; + version = "1.0.206"; + }; + } + + { + name = "com.taoensso/encore"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "encore"; + groupId = "com.taoensso"; + sha512 = "43dbec081c4ad7b21526371bc78844877d50dd08580c4c039c4dac7e854247a6b145bda835460863fa91d270e81783ddcdad3aaa1a902575be5b21ac0a95c7d0"; + version = "3.21.0"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-transport-wagon"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-transport-wagon"; + groupId = "org.apache.maven.resolver"; + sha512 = "b7a4dcd2f9bb39bfd561e9b2a8fc087bd9e7e59136ea7787341c173fa22c6b8e9370117ed6c30b0c930dd5b188fab2f2b060042861df19e79772a74c703fcf64"; + version = "1.0.3"; + }; + } + + { + name = "org.slf4j/jcl-over-slf4j"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jcl-over-slf4j"; + groupId = "org.slf4j"; + sha512 = "17aca766b01f136d39bda982a6046d01d296ee076d9628e9776256bd931bbd88437377d5f1cc196d75bd7fa1672dd131311dbf567b4c3a618dd538a6905fbb64"; + version = "2.0.3"; + }; + } + + { + name = "org.clojure/tools.analyzer.jvm"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "tools.analyzer.jvm"; + groupId = "org.clojure"; + sha512 = "36ad50a7a79c47dea16032fc4b927bd7b56b8bedcbd20cc9c1b9c85edede3a455369b8806509b56a48457dcd32e1f708f74228bce2b4492bd6ff6fc4f1219d56"; + version = "1.2.2"; + }; + } + + { + name = "org.apache.maven.wagon/wagon-provider-api"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "wagon-provider-api"; + groupId = "org.apache.maven.wagon"; + sha512 = "4571002ad5bfc0442bb2eaf32ec42675dc0a179413230615475842bba12fb561159ffc0213127cf241088641a218627e84049b715b9e71ed83d960f4f09da985"; + version = "3.0.0"; + }; + } + + { + name = "io.pedestal/pedestal.log"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "pedestal.log"; + groupId = "io.pedestal"; + sha512 = "229c6c73dc7ec39aee15f54ce81cf2b33301e444241f2dff2066b4c10ff47968f3caa95a8a918601e8f3e7563b34da6925e533615e7ce8b1f39bdb97ca082757"; + version = "0.5.10"; + }; + } + + { + name = "com.fasterxml.jackson.dataformat/jackson-dataformat-cbor"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jackson-dataformat-cbor"; + groupId = "com.fasterxml.jackson.dataformat"; + sha512 = "b6e16c43fb3e71f82f8e7dc558f53cbcc8fea31efa59f40d22220f6e40167cf32c150efa18a81f839008d6a042e201bf17d8fd52a4fecbe8f356454f2d6a6170"; + version = "2.13.3"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-transport-http"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-transport-http"; + groupId = "org.apache.maven.resolver"; + sha512 = "97c23620a57406a8d87a08ab2897355afcce4b53b397ef7d13b4254cb07e965b51f05e21ce2d77ea93c4dbc63f32b3f07ff2171bccfe2b4f21116569968a003e"; + version = "1.0.3"; + }; + } + + { + name = "net.cgrand/parsley"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "parsley"; + groupId = "net.cgrand"; + sha512 = "e114f9e5709b9a38214aabc2b7bb33984693a4302fd8570bb91956bce2755d69b6ee2eaa7224137e306ab1f830672eee928e030677f50739edc62314429fa1f7"; + version = "0.9.3"; + }; + } + + { + name = "funcool/cats"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "cats"; + groupId = "funcool"; + sha512 = "83ccb058078c3c380435512e6f92cfc117244fab4819db776eb963d3b488ac92ca70a783b5d3b776d9d4cf06d9de5d3730c07ce6e7013e6717ba28335601ece8"; + version = "2.3.2"; + }; + } + + { + name = "org.apache.maven/maven-model-builder"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-model-builder"; + groupId = "org.apache.maven"; + sha512 = "6684b58d14e7d037f240ae15ee0456d27354c9dd93a1dc2bdbb66f399b012ffe8ff67a1dd83ee1e45c07fd91af77909a9c19d6b29791002d5b5acf23ca75dcb2"; + version = "3.5.3"; + }; + } + + { + name = "io.aviso/pretty"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "pretty"; + groupId = "io.aviso"; + sha512 = "416433ae5c5773a3a12e7cff3f75a43f1a2d3f4454aad04d065c1e4e13627130f289dbb41355a5665236082b6535939fc4c40a2fddcc22a40d0d4ba290544bfb"; + version = "1.1.1"; + }; + } + + { + name = "rewrite-clj/rewrite-clj"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "rewrite-clj"; + groupId = "rewrite-clj"; + sha512 = "04850f7b29be722be6c01760705be43e1b5b93315baa096925ceac94835b58702913c45c8166dadf193fb8f5150ff2c5539ae3ec85c37331727e5d0accfefcca"; + version = "1.1.45"; + }; + } + + { + name = "org.codehaus.plexus/plexus-utils"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "plexus-utils"; + groupId = "org.codehaus.plexus"; + sha512 = "3805c57b7297459c5e2754d0fd56abd454eee08691974fb930ebb9b79a529fd874f16d40cec66e7fd90d4146c9d1fef45cdb59f9e359fce0c48ac77526fc320d"; + version = "3.1.0"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-transport-file"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-transport-file"; + groupId = "org.apache.maven.resolver"; + sha512 = "a83cc067c0857f091787120dcbde00f2df5cd6379a02cca95a091aa243ca22dfbae634406c58373b391caf911dd6db3b4ff4a3d51768f4a61b1081e7c78bb252"; + version = "1.0.3"; + }; + } + + { + name = "slingshot/slingshot"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "slingshot"; + groupId = "slingshot"; + sha512 = "ff2b2a27b441d230261c7f3ec8c38aa551865e05ab6438a74bd12bfcbc5f6bdc88199d42aaf5932b47df84f3d2700c8f514b9f4e9b5da28d29da7ff6b09a7fb5"; + version = "0.12.2"; + }; + } + + { + name = "org.flatland/ordered"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "ordered"; + groupId = "org.flatland"; + sha512 = "849f115d8dc22122577bb6c2af383663488a84125303ba90559f4f5d8538693a5797d95aca608e6844413b925ea6e12112f0cf2d3dcacfcc603b50d749f7a25e"; + version = "1.15.10"; + }; + } + + { + name = "commons-io/commons-io"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "commons-io"; + groupId = "commons-io"; + sha512 = "1f6bfc215da9ae661dbabba80a0f29101a2d5e49c7d0c6ed760d1cafea005b7f0ff177b3b741e75b8e59804b0280fa453a76940b97e52b800ec03042f1692b07"; + version = "2.5"; + }; + } + + { + name = "org.apache.maven.wagon/wagon-http-shared"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "wagon-http-shared"; + groupId = "org.apache.maven.wagon"; + sha512 = "d4ef092c8ca8efd4295323d7bdb98315fcf574c2e5e227840847b936ab36095217583c5a807a27e21b831ade4cfbaa570278aa0d1a0144e92b90a42099b541f1"; + version = "3.0.0"; + }; + } + + { + name = "com.fasterxml.jackson.core/jackson-core"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jackson-core"; + groupId = "com.fasterxml.jackson.core"; + sha512 = "d5337db908b2c56dcb911e3d1a5f671456c13f254fe8d2a620823bc15b2db6aaa8325a86b436b5d181f2584b533158fd14d140b98305ac252f8dfd9a627da859"; + version = "2.13.3"; + }; + } + + { + name = "org.yaml/snakeyaml"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "snakeyaml"; + groupId = "org.yaml"; + sha512 = "4322e41c6fc5114521da21787ab313fa74bf8449ab0c23ec830627b8121504f70d4522e880aec64df227164729d40b2fbd9670e3a046dd5a5aabc1f71e91c16c"; + version = "1.25"; + }; + } + + { + name = "org.ow2.asm/asm"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "asm"; + groupId = "org.ow2.asm"; + sha512 = "876eac7406e60ab8b9bd6cd3c221960eaa53febea176a88ae02f4fa92dbcfe80a3c764ba390d96b909c87269a30a69b1ee037a4c642c2f535df4ea2e0dd499f2"; + version = "9.2"; + }; + } + + { + name = "org.slf4j/jul-to-slf4j"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jul-to-slf4j"; + groupId = "org.slf4j"; + sha512 = "152f153c42e5f69c95e3caeed5ab519e975d7ad79ac0199f31699646299b7ddab58068d5964fbd2170eed29966c3d8d1b00b0a1a4a6f698f9a9eb9c9b9d30dcb"; + version = "2.0.3"; + }; + } + + { + name = "org.apache.httpcomponents/httpcore"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "httpcore"; + groupId = "org.apache.httpcomponents"; + sha512 = "10814bfb8dcce31034f8fd6822f9da29299529b900616b78d8caf846748cf2b1e093f7b99db26a8580266e3346b822b5edb347004b0d13580e6df85cb327c93c"; + version = "4.4.6"; + }; + } + + { + name = "io.pedestal/pedestal.interceptor"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "pedestal.interceptor"; + groupId = "io.pedestal"; + sha512 = "b6d99300e2c656fc63841449067d74893c63f884d282ff1af40510e5e53baac0f17ac869212e0023dc01d3766248ce28e93e32a57239926254e3af0240c82178"; + version = "0.5.10"; + }; + } + + { + name = "io.dropwizard.metrics/metrics-core"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "metrics-core"; + groupId = "io.dropwizard.metrics"; + sha512 = "4b500efcc88e717dbbfff9629e12db0f23380bc7dbae820039ed730cdaf26fb6d5be6e58434bd6f688ea3d675576e2057ec183472aac99189817fc28b3c3489e"; + version = "4.1.0"; + }; + } + + { + name = "com.grammarly/omniconf"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "omniconf"; + groupId = "com.grammarly"; + sha512 = "2b13138090c9706af014b7d22b316af5300f41bfc70ee1f604ee6d817f70ca6227951f673231830c81888db2c50533f9c53de3e314d725a60b8eee99718655af"; + version = "0.4.3"; + }; + } + + { + name = "eu.neilalexander/jnacl"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jnacl"; + groupId = "eu.neilalexander"; + sha512 = "addba1eae1975a71a204557dafb111c5c2aab39d9a7bb6428a26107935d95290139381c0a283b77e67b44e1d8110d3fa3919d7e7fc73e0023771beece4eab994"; + version = "1.0.0"; + }; + } + + { + name = "zprint/zprint"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "zprint"; + groupId = "zprint"; + sha512 = "2f29288a1d9dd7e76689b32616049af8ebc0e98f0994f1eae1c8e6e725084df23de11a4d6231d2712167ef4adfdfffe494cea2c11b6e752f81acd641381516eb"; + version = "1.2.4"; + }; + } + + { + name = "com.taoensso/truss"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "truss"; + groupId = "com.taoensso"; + sha512 = "79a515306228e8e8f1c1cf5bb65ac8c979954f3a6e8461c059a7b9402967163a1eb7a70de3ad41e8195d9dbfac2d17af8cc03e09bf72f8e9f6704b842656c0b9"; + version = "1.6.0"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-api"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-api"; + groupId = "org.apache.maven.resolver"; + sha512 = "d00cd4ec92bfafe88d9c4f4ce91e6c2d581d416a096743d396c1712a5788239cf2d55f910e1c0024034f7e0d8028ff602339b87c8fd3ad54f665a8b63d142e67"; + version = "1.1.1"; + }; + } + + { + name = "hiccup/hiccup"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "hiccup"; + groupId = "hiccup"; + sha512 = "419dd67281135feb31f74528907b785679066e22cf397f14a6d9439cb9c463d0db66436c214b2b1b5944be6b9d28e3fc7d9e4042de52f9633bf0825548c0f524"; + version = "2.0.0-alpha2"; + }; + } + + { + name = "io.opentracing/opentracing-api"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "opentracing-api"; + groupId = "io.opentracing"; + sha512 = "931197ca33e509570e389cd163af96e277bb3635f019e34e2fc97d3fa9c34bb9042f25b2ba8aa59f8516cc044ec3e9584462601b8aa5f954bbc6ad88e5fbe5cd"; + version = "0.33.0"; + }; + } + + { + name = "org.apache.maven/maven-resolver-provider"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-provider"; + groupId = "org.apache.maven"; + sha512 = "ec9e402084886554d247232b3dc5a971f6cbc93206759104ee7f94c7ba3ea2d69a715c68e479d2c64f6fe5045b6d7bd75cc3bb239462464ac608b0db1a5f0db5"; + version = "3.5.3"; + }; + } + + { + name = "commons-logging/commons-logging"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "commons-logging"; + groupId = "commons-logging"; + sha512 = "ed00dbfabd9ae00efa26dd400983601d076fe36408b7d6520084b447e5d1fa527ce65bd6afdcb58506c3a808323d28e88f26cb99c6f5db9ff64f6525ecdfa557"; + version = "1.2"; + }; + } + + { + name = "com.google.guava/guava"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "guava"; + groupId = "com.google.guava"; + sha512 = "d8736b5151df2dd052c09548a118af15a8b8b40999954cd093cfd301445accb8b7e9532b36bac8b2fab9234a24e2e05009a33d0a8e149e841ebddbcc733a8e4c"; + version = "20.0"; + }; + } + + { + name = "com.fzakaria/slf4j-timbre"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "slf4j-timbre"; + groupId = "com.fzakaria"; + sha512 = "9a25ed545a7dac8fb74096ed531fa4362989a1ed68350e63f403a871fdf19ab582c6f2c1c8e08978a431d8da31d8226bf34f1d0263ac5f6a14955ff56fdf9e17"; + version = "0.3.21"; + }; + } + + { + name = "clojure.java-time/clojure.java-time"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "clojure.java-time"; + groupId = "clojure.java-time"; + sha512 = "cd27eddad69554fcc443603bb69ab7dbe5d4cc937080f4b4d1ef3590e855faef2366dda77724da6c9b8941c340f8b5c5cb1345855f946718bd3ceb9c124a226a"; + version = "1.1.0"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-spi"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-spi"; + groupId = "org.apache.maven.resolver"; + sha512 = "bb58083c5ef2b6d3915acb368c80bd55ca6318925c606ad74e3e4ab2fc0066c7fa2480cefa34487c5349f1edff02131bbaa4c3a426f9a52d5a6a66a4a023d452"; + version = "1.1.1"; + }; + } + + { + name = "org.clojure/algo.generic"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "algo.generic"; + groupId = "org.clojure"; + sha512 = "2ded22096f7bf051fcc649d56fdb0ef2dddcb5490e22ce4d7e6f714d910db0cc7d453862b2180169641c21f0754b799036e4b0e7944c79f29d22dcb4152e384d"; + version = "0.1.3"; + }; + } + + { + name = "borkdude/edamame"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "edamame"; + groupId = "borkdude"; + sha512 = "5f5f36a85521464e97c0ada94581b37d7ffc7d1b9adaf7b3b509447bc0d6cedf339f12ae75d6bf679b69f9e1b582d0ee1a995bfd039657b17ec9a85516700fbe"; + version = "0.0.19"; + }; + } + + { + name = "com.taoensso/timbre"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "timbre"; + groupId = "com.taoensso"; + sha512 = "8c88eea8f0a94a3fc14f450a03e76ce0573d31f6c301252d3f9afc177f87a03326966197e8508e766f3caab61ef356142c6dc002e07ed09771f341dd6b290edf"; + version = "5.2.1"; + }; + } + + { + name = "org.clojure/java.jdbc"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "java.jdbc"; + groupId = "org.clojure"; + sha512 = "19e37ee3a16ccfdeb299e72ee0ae64a557b20296dd9461bf2288d0507e1d915ad6fcc56e4aadd712340f5c21e2c764ed7d4ad074eb8e4c82dc6ba5fe96111930"; + version = "0.7.12"; + }; + } + + { + name = "org.apache.maven.wagon/wagon-http"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "wagon-http"; + groupId = "org.apache.maven.wagon"; + sha512 = "e565e6541d53a5c2823a211586163707a5dbf5d9b3dd9f4a8d1d9dd2ffc0c8cf3ef2adb78d455235d22ede99d2e4619eb7f94d2a52eb0ffd119b52b33f9d89ba"; + version = "3.0.0"; + }; + } + + { + name = "io.opentracing/opentracing-noop"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "opentracing-noop"; + groupId = "io.opentracing"; + sha512 = "c727bcf20504fa72bfc07456bdde3b0b50988632d85c7af78df742efd90a431c125f5d644273203fa211a62fc4a282455cf281c7c82b82df4695afbc5488577f"; + version = "0.33.0"; + }; + } + + { + name = "net.cgrand/regex"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "regex"; + groupId = "net.cgrand"; + sha512 = "f0dfa4727818765364ce1793337597b06a2f95364245ab6c860e2373a98da55771e77a7eb772dcf415a336d8caad35673d5054e18b9494c3e1b9f882fecfb4d9"; + version = "1.1.0"; + }; + } + + { + name = "cider/cider-nrepl"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "cider-nrepl"; + groupId = "cider"; + sha512 = "e201944e32ce9b8fa328327c84f31d11cf5507a97b4fd3189a0304f4ebfd3bd557a1886335f295831941ac30d2b2394ad79a2897cb9bce506c0cbd8e04bbc40f"; + version = "0.26.0"; + }; + } + + { + name = "com.cemerick/pomegranate"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "pomegranate"; + groupId = "com.cemerick"; + sha512 = "a08137b575305aeff9858b93fc1febba92aaff27d9994e884c0e614f43704403cfb7e3e8d819a8151966c6439c178f4fb371003c392591dbc87b9e0fa64788fd"; + version = "1.1.0"; + }; + } + + { + name = "org.codehaus.plexus/plexus-interpolation"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "plexus-interpolation"; + groupId = "org.codehaus.plexus"; + sha512 = "d9183dc0920fb996901644903194883d1e1d1e8c4863f3c55bd6a9b14de996ee30651849435a92c8c55fc82be0e4524f1b2741957f9464434da292188ffcee70"; + version = "1.24"; + }; + } + + { + name = "org.apache.httpcomponents/httpclient"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "httpclient"; + groupId = "org.apache.httpcomponents"; + sha512 = "f8d4a960ed235770570afaf793c4596404adfa777e08bdb87ae2db92575db5e11755025fe43969f852ef505a390833e79bdd1fccd5f3fb7dee87625607b504a2"; + version = "4.5.3"; + }; + } + + { + name = "cheshire/cheshire"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "cheshire"; + groupId = "cheshire"; + sha512 = "2262573047d194bba28b3d2ca4b00b12f8171d6f8f7f5449df35f10ab1ef5902a9ba2f9937399d6e4b54a78bda919fa205a22a44cde998019bc0cfc508e90f29"; + version = "5.11.0"; + }; + } + + { + name = "tigris/tigris"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "tigris"; + groupId = "tigris"; + sha512 = "fdff4ef5e7175a973aaef98de4f37dee8e125fc711c495382e280aaf3e11341fe8925d52567ca60f3f1795511ade11bc23461c88959632dfae3cf50374d02bf6"; + version = "0.1.2"; + }; + } + + { + name = "org.clojure/core.match"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "core.match"; + groupId = "org.clojure"; + sha512 = "d69ed23bad115ed665b402886e1946fcecacbbfd05150f3eb66dce9ffc0381d0e02ed6f41cb390a6dfb74f4f26e3b0f6793dec38f6a4622dc53c0739d79f5f5e"; + version = "0.3.0"; + }; + } + + { + name = "org.clojure/tools.reader"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "tools.reader"; + groupId = "org.clojure"; + sha512 = "3481259c7a1eac719db2921e60173686726a0c2b65879d51a64d516a37f6120db8ffbb74b8bd273404285d7b25143ab5c7ced37e7c0eaf4ab1e44586ccd3c651"; + version = "1.3.6"; + }; + } + + { + name = "org.tcrawley/dynapath"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "dynapath"; + groupId = "org.tcrawley"; + sha512 = "1b0caf390515212e6b151d6c227b1a62e430e682b6c811736edba3cc918344053e35c092e12afd523198ed6244018450931776f8388e61a593f266476b6db19e"; + version = "1.0.0"; + }; + } + + { + name = "org.babashka/sci"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "sci"; + groupId = "org.babashka"; + sha512 = "2897029dba4917facf93935229f1288d9e90973e8dbc8ff84448335452815274c23371ab643c35df0b1854ff6de1574c37880267fd0edd900039f5a1678d73c5"; + version = "0.3.4"; + }; + } + + { + name = "io.opentracing/opentracing-util"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "opentracing-util"; + groupId = "io.opentracing"; + sha512 = "fbba29ff3d6018561077e9539ad9b72876424600eca3addb6a26981a4a3e52cb3dfd30f27945aff2b6c222c42454ce3ba67597171fd809a74c65b920f3a47c7a"; + version = "0.33.0"; + }; + } + + { + name = "org.jsoup/jsoup"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jsoup"; + groupId = "org.jsoup"; + sha512 = "8119ec44ee622c75f47a80dedeadf557744208dc49d3d9f579660929a0be3f71d3b8cb4aed64ee31f6bf7488bfc3516fb3980137d2fc63063caf46c9921f19f0"; + version = "1.7.2"; + }; + } + + { + name = "nrepl/nrepl"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "nrepl"; + groupId = "nrepl"; + sha512 = "92534555cc5fa45e8990b8566996fe784df368849e0938fbc7a89909ccbb62dd7d4fca9b7aa3c615702ec30f9962a460c500f6b60abc72661c5f4c66414fc395"; + version = "1.0.0"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-connector-basic"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-connector-basic"; + groupId = "org.apache.maven.resolver"; + sha512 = "c8c14480ed89cf5d4cfec5dee7dae366b0b5d003cd835d4b1358add81253b205a53f6a62e5ecc145f09406fc8c57adb5fbf8f4521a044ac3d37b5fa8e67d4e21"; + version = "1.0.3"; + }; + } + + { + name = "org.xerial/sqlite-jdbc"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "sqlite-jdbc"; + groupId = "org.xerial"; + sha512 = "f4c27027fe3cb7914aaf155a1afaa0c8b455e5d142b4e5f31d87bfe619c9949e1981ba7eed1f7a8a3cd27edba1321cc4cd74cf4321ae800e8a911b4d94e03930"; + version = "3.39.3.0"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-impl"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-impl"; + groupId = "org.apache.maven.resolver"; + sha512 = "3ffcac7ed4a05b2b58669ce05cc348acad627be3e0941ee28a9a665fea43a571d554005dd72ec51130083f792e31894880525df3cd6962d7c95885340abfb7da"; + version = "1.1.1"; + }; + } + + { + name = "org.slf4j/slf4j-api"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "slf4j-api"; + groupId = "org.slf4j"; + sha512 = "cf50d5cc86404fefa49730da36147db5f6d65c8b06163bbf62311e6874c20ca46db02ab6bda27c9c1485a5c57fe63b89fd3000b8d838c429240ee95734f5901e"; + version = "2.0.3"; + }; + } + + { + name = "org.apache.maven/maven-model"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-model"; + groupId = "org.apache.maven"; + sha512 = "888a778101774265e0d8dbc96305274053d275c0b261e81c6aae8765f92b13d1e06c5aa8f51c7d53d5267e46041adc9218686e53fc47cc15563a1b178291bc16"; + version = "3.5.3"; + }; + } + + { + name = "org.clojure/test.check"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "test.check"; + groupId = "org.clojure"; + sha512 = "b8d7a330b0b5514cd6a00c4382052fab51c3c9d3bc53133f8506791fa670e7c5ecd65094977ea5ced91f59623b0abd1ab8feeec96d63c5c6e459b265a655c577"; + version = "1.1.1"; + }; + } + + { + name = "org.apache.maven.resolver/maven-resolver-util"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-resolver-util"; + groupId = "org.apache.maven.resolver"; + sha512 = "91dcbb8184f06e64da35d40c7b96e854f7311b6232d74b4b6d3489a51e0c05ebbee44f59367ab118974cdb6c5b3747981a41869cc7372691b2c2e1d0daa2ffa3"; + version = "1.1.1"; + }; + } + + { + name = "io.dropwizard.metrics/metrics-jmx"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "metrics-jmx"; + groupId = "io.dropwizard.metrics"; + sha512 = "706f7428b967923d2792b0587684e972b1404d663a6ac3d661772a57edf096f0de0efac8bbfcead4576c008b096c33f77499e8f193ccbb8b072d7aa6e6d7a40d"; + version = "4.1.0"; + }; + } + + { + name = "io.forward/yaml"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "yaml"; + groupId = "io.forward"; + sha512 = "e2d3b7aea260346a1db44bcc3c363877d0ff2b327c4fd287759782949b1a498bc8019f06ddabee84443b96b07ea4765443f8190e04f5f903de049e2cc0fd63e9"; + version = "1.0.11"; + }; + } + + { + name = "me.raynes/fs"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "fs"; + groupId = "me.raynes"; + sha512 = "b72af0093c1feccf78ea0632ba523eca89436b0575abc0af484e03570011aa89f429f9820a9fc27f60da113d728d2bbc09ba26d3a0cdd63d9d9c7775643f6852"; + version = "1.4.6"; + }; + } + + { + name = "org.clojure/core.memoize"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "core.memoize"; + groupId = "org.clojure"; + sha512 = "67196537084b7cc34a01454d2a3b72de3fddce081b72d7a6dc1592d269a6c2728b79630bd2d52c1bf2d2f903c12add6f23df954c02ef8237f240d7394ccc3dde"; + version = "1.0.253"; + }; + } + + { + name = "org.apache.maven/maven-repository-metadata"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-repository-metadata"; + groupId = "org.apache.maven"; + sha512 = "6d898373d483ac7f24ab0256406f4be45035f95a247bb19ac7102ea7f5e336976381c5125b30a7148bc9a8e1df6d27b456d1f8e9b55b99d9688e37dfd03733a3"; + version = "3.5.3"; + }; + } + + { + name = "io.simplect/compose"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "compose"; + groupId = "io.simplect"; + sha512 = "0aceab86d4a97285ddd6d40abdeb5b9bea16a16b6509ef2fcd80e547d772185041e26abcc12ae11938d7b78fed175850f811d5cb2a2f0590524c2c11975bacd1"; + version = "0.7.27"; + }; + } + + { + name = "org.clojure/data.priority-map"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "data.priority-map"; + groupId = "org.clojure"; + sha512 = "bb8bc5dbfd3738c36b99a51880ac3f1381d6564e67601549ef5e7ae2b900e53cdcdfb8d0fa4bf32fb8ebc4de89d954bfa3ab7e8a1122bc34ee5073c7c707ac13"; + version = "1.1.0"; + }; + } + + { + name = "borkdude/sci.impl.reflector"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "sci.impl.reflector"; + groupId = "borkdude"; + sha512 = "c747fd347e6aba9578d105298b7c7402f53e8639d5c8e6dc83b127f3c413feeb1b9dead7405ac2c4345f02290902e8a2affbec749474481e9c9f19b3d049f18f"; + version = "0.0.1"; + }; + } + + { + name = "org.apache.maven/maven-builder-support"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-builder-support"; + groupId = "org.apache.maven"; + sha512 = "1b2ca4427772532cfb93b4d643b17eca5843f1e1a9c4b26089eed8c10028344fb85d593d133fdffaff07b552c3027a9f24e1a92d68ed4696682be04069e84583"; + version = "3.5.3"; + }; + } + + { + name = "org.slf4j/log4j-over-slf4j"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "log4j-over-slf4j"; + groupId = "org.slf4j"; + sha512 = "a1f90d8ea338660cc0e38073752cf32e46a042bc408477d841ba7ad69ad0d066bbbf9d4c399a34352d620ba9d2402c7a51574a88f314ddcc796c35adc99c37f4"; + version = "2.0.3"; + }; + } + + { + name = "org.clojure/core.cache"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "core.cache"; + groupId = "org.clojure"; + sha512 = "0a07ceffc2fa3a536b23773eefc7ef5e1108913b93c3a5416116a6566de76dd5c218f3fb0cc19415cbaa8843838de310b76282f20bf1fc3467006c9ec373667e"; + version = "1.0.225"; + }; + } + + { + name = "org.clojure/core.async"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "core.async"; + groupId = "org.clojure"; + sha512 = "160a77da25382d7c257eee56cfe83538620576a331e025a2d672fc26d9f04e606666032395f3c2e26247c782544816a5862348f3a921b1ffffcd309c62ac64f5"; + version = "1.5.648"; + }; + } + + { + name = "com.fasterxml.jackson.dataformat/jackson-dataformat-smile"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "jackson-dataformat-smile"; + groupId = "com.fasterxml.jackson.dataformat"; + sha512 = "4c1566aa4fac309de8fba08ea355165cf2a888b7bcec98e7035ac8acd7315e340415a10b8deec6497fc4eea5ba9319fc989676170d8c4c0d0bbc3d4f3cc4d681"; + version = "2.13.3"; + }; + } + + { + name = "org.apache.maven/maven-artifact"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "maven-artifact"; + groupId = "org.apache.maven"; + sha512 = "a4cafc89d66c8f074c5c3f9454e5077abc0de6242c29904d8ee5816348af21b1006da67f3118478bc9eb067725c39be9b88e4a019eb8368c936f971f0499c2ca"; + version = "3.5.3"; + }; + } + + { + name = "org.clojure/data.codec"; + path = pkgs.fetchMavenArtifact { + inherit repos; + artifactId = "data.codec"; + groupId = "org.clojure"; + sha512 = "cb6910fc0ee47ce6959a442ba3ef456dd91fe8589a576526d20fd661c8d305962f64a8e8ebde69f0bd00082027dbd0ac52b642fcd4950b4f0e5b7a1205f95138"; + version = "0.1.1"; + }; + } ]; - } +} diff --git a/pkgs/applications/editors/jupyter-kernels/coq/default.nix b/pkgs/applications/editors/jupyter-kernels/coq/default.nix index 9a2c12152d976..134a6b2a6b63e 100644 --- a/pkgs/applications/editors/jupyter-kernels/coq/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/coq/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, callPackage -, runCommand -, makeWrapper -, coq -, imagemagick -, python3 +{ + lib, + stdenv, + callPackage, + runCommand, + makeWrapper, + coq, + imagemagick, + python3, }: # Jupyter console: @@ -18,7 +19,12 @@ # nix run --impure --expr 'with import {}; jupyter.override { definitions.coq = coq-kernel.definition; }' let - python = python3.withPackages (ps: [ ps.traitlets ps.jupyter-core ps.ipykernel (callPackage ./kernel.nix {}) ]); + python = python3.withPackages (ps: [ + ps.traitlets + ps.jupyter-core + ps.ipykernel + (callPackage ./kernel.nix { }) + ]); logos = runCommand "coq-logos" { buildInputs = [ imagemagick ]; } '' mkdir -p $out @@ -29,17 +35,20 @@ let in rec { - launcher = runCommand "coq-kernel-launcher" { - nativeBuildInputs = [ makeWrapper ]; - } '' - mkdir -p $out/bin - - makeWrapper ${python.interpreter} $out/bin/coq-kernel \ - --add-flags "-m coq_jupyter" \ - --suffix PATH : ${coq}/bin - ''; + launcher = + runCommand "coq-kernel-launcher" + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin + + makeWrapper ${python.interpreter} $out/bin/coq-kernel \ + --add-flags "-m coq_jupyter" \ + --suffix PATH : ${coq}/bin + ''; - definition = definitionWithPackages []; + definition = definitionWithPackages [ ]; definitionWithPackages = packages: { displayName = "Coq " + coq.version; @@ -52,7 +61,9 @@ rec { logo32 = "${logos}/logo-32x32.png"; logo64 = "${logos}/logo-64x64.png"; env = { - COQPATH = lib.concatStringsSep ":" (map (x: "${x}/lib/coq/${coq.coq-version}/user-contrib/") packages); + COQPATH = lib.concatStringsSep ":" ( + map (x: "${x}/lib/coq/${coq.coq-version}/user-contrib/") packages + ); }; }; } diff --git a/pkgs/applications/editors/jupyter-kernels/coq/kernel.nix b/pkgs/applications/editors/jupyter-kernels/coq/kernel.nix index 78bf84716fef5..1fd032e465f07 100644 --- a/pkgs/applications/editors/jupyter-kernels/coq/kernel.nix +++ b/pkgs/applications/editors/jupyter-kernels/coq/kernel.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, coq +{ + lib, + fetchFromGitHub, + python3, + coq, }: python3.pkgs.buildPythonPackage rec { @@ -15,7 +16,12 @@ python3.pkgs.buildPythonPackage rec { sha256 = "sha256-+Pp51cxeqjg5MW4CEccNWVjNcY9iyFNATIEage9RWJ0="; }; - propagatedBuildInputs = (with python3.pkgs; [ ipykernel future ]) ++ [ coq ]; + propagatedBuildInputs = + (with python3.pkgs; [ + ipykernel + future + ]) + ++ [ coq ]; nativeBuildInputs = [ coq ]; diff --git a/pkgs/applications/editors/jupyter-kernels/iruby/default.nix b/pkgs/applications/editors/jupyter-kernels/iruby/default.nix index f456d469ca36e..26da29208d3a7 100644 --- a/pkgs/applications/editors/jupyter-kernels/iruby/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/iruby/default.nix @@ -1,5 +1,6 @@ -{ lib -, bundlerApp +{ + lib, + bundlerApp, }: # Jupyter console: @@ -30,10 +31,13 @@ let meta = { description = "Ruby kernel for Jupyter"; - homepage = "https://github.com/SciRuby/iruby"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ costrouc thomasjm ]; - platforms = lib.platforms.unix; + homepage = "https://github.com/SciRuby/iruby"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + costrouc + thomasjm + ]; + platforms = lib.platforms.unix; }; }; diff --git a/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix b/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix index 314b78be4bd14..932a0b79221e2 100644 --- a/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix +++ b/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix @@ -1,125 +1,132 @@ { data_uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fzkxgdxrlbfl4537y3n9mjxbm28kir639gcw3x47ffchwsgdcky"; type = "gem"; }; version = "0.1.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; type = "gem"; }; version = "1.15.5"; }; ffi-rzmq = { - dependencies = ["ffi-rzmq-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi-rzmq-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14a5kxfnf8l3ngyk8hgmk30z07aj1324ll8i48z67ps6pz2kpsrg"; type = "gem"; }; version = "2.0.7"; }; ffi-rzmq-core = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0amkbvljpjfnv0jpdmz71p1i3mqbhyrnhamjn566w0c01xd64hb5"; type = "gem"; }; version = "1.0.7"; }; io-console = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff"; type = "gem"; }; version = "0.6.0"; }; irb = { - dependencies = ["reline"]; - groups = ["default"]; - platforms = []; + dependencies = [ "reline" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "158ca10kj3qqnql5g8f1g2arsnhgdl79mg74manpf8ldkwjjn3n8"; type = "gem"; }; version = "1.7.4"; }; iruby = { - dependencies = ["data_uri" "ffi-rzmq" "irb" "mime-types" "multi_json" "native-package-installer"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "data_uri" + "ffi-rzmq" + "irb" + "mime-types" + "multi_json" + "native-package-installer" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0856ncjk7akm55gxcnhfmv426xsl4ryywdxrqbwgphwpqwm9w8fc"; type = "gem"; }; version = "0.7.4"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5"; type = "gem"; }; version = "3.5.1"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a"; type = "gem"; }; version = "3.2023.0808"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; native-package-installer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "004wx9xhcam92g1d4ybvrl1yqablm2svalyck9sq4igy9nwkz9nb"; type = "gem"; }; version = "1.1.8"; }; reline = { - dependencies = ["io-console"]; - groups = ["default"]; - platforms = []; + dependencies = [ "io-console" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lv1nv7z63n4qmsm3h5h273m7daxngkcq8ynkk9j8lmn7jji98lb"; type = "gem"; }; diff --git a/pkgs/applications/editors/jupyter-kernels/octave/default.nix b/pkgs/applications/editors/jupyter-kernels/octave/default.nix index 88bc1b2803bbd..158fc967056b7 100644 --- a/pkgs/applications/editors/jupyter-kernels/octave/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/octave/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, callPackage -, runCommand -, makeWrapper -, octave -, imagemagick -, python3 +{ + stdenv, + callPackage, + runCommand, + makeWrapper, + octave, + imagemagick, + python3, }: # Jupyter console: @@ -21,33 +22,44 @@ let in rec { - launcher = runCommand "octave-kernel-launcher" { - inherit octave; - python = python3.withPackages (ps: [ ps.traitlets ps.jupyter-core ps.ipykernel ps.metakernel kernel ]); - nativeBuildInputs = [ makeWrapper ]; - } '' - mkdir -p $out/bin + launcher = + runCommand "octave-kernel-launcher" + { + inherit octave; + python = python3.withPackages (ps: [ + ps.traitlets + ps.jupyter-core + ps.ipykernel + ps.metakernel + kernel + ]); + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin - makeWrapper $python/bin/python $out/bin/octave-kernel \ - --add-flags "-m octave_kernel" \ - --suffix PATH : $octave/bin - ''; + makeWrapper $python/bin/python $out/bin/octave-kernel \ + --add-flags "-m octave_kernel" \ + --suffix PATH : $octave/bin + ''; - sizedLogo = size: stdenv.mkDerivation { - pname = "octave-logo-${size}x${size}.png"; - inherit (octave) version; + sizedLogo = + size: + stdenv.mkDerivation { + pname = "octave-logo-${size}x${size}.png"; + inherit (octave) version; - src = octave.src; + src = octave.src; - buildInputs = [ imagemagick ]; + buildInputs = [ imagemagick ]; - dontConfigure = true; - dontInstall = true; + dontConfigure = true; + dontInstall = true; - buildPhase = '' - convert ./libgui/src/icons/octave/128x128/logo.png -resize ${size}x${size} $out - ''; - }; + buildPhase = '' + convert ./libgui/src/icons/octave/128x128/logo.png -resize ${size}x${size} $out + ''; + }; definition = { displayName = "Octave"; diff --git a/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix b/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix index f1a83bc274c27..e21608970e6d0 100644 --- a/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix +++ b/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: with python3Packages; @@ -12,7 +16,10 @@ buildPythonPackage rec { sha256 = "sha256-5ki2lekfK7frPsmPBIzYQOfANCUY9x+F2ZRAQSdPTxo="; }; - propagatedBuildInputs = [ metakernel ipykernel ]; + propagatedBuildInputs = [ + metakernel + ipykernel + ]; # Tests fail because the kernel appears to be halting or failing to launch # There appears to be a similar problem with metakernel's tests diff --git a/pkgs/applications/editors/jupyter-kernels/wolfram/default.nix b/pkgs/applications/editors/jupyter-kernels/wolfram/default.nix index efa78f74bc960..92ffdcb38e8a3 100644 --- a/pkgs/applications/editors/jupyter-kernels/wolfram/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/wolfram/default.nix @@ -1,5 +1,6 @@ -{ callPackage -, wolfram-engine +{ + callPackage, + wolfram-engine, }: # Jupyter console: @@ -8,8 +9,10 @@ # Jupyter notebook: # nix run --impure --expr 'with import {}; jupyter.override { definitions.wolfram = wolfram-for-jupyter-kernel.definition; }' -let kernel = callPackage ./kernel.nix {}; -in { +let + kernel = callPackage ./kernel.nix { }; +in +{ definition = { displayName = "Wolfram Language ${wolfram-engine.version}"; argv = [ diff --git a/pkgs/applications/editors/jupyter-kernels/wolfram/kernel.nix b/pkgs/applications/editors/jupyter-kernels/wolfram/kernel.nix index e1beb4048b14d..eab4626a663c5 100644 --- a/pkgs/applications/editors/jupyter-kernels/wolfram/kernel.nix +++ b/pkgs/applications/editors/jupyter-kernels/wolfram/kernel.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "wolfram-for-jupyter-kernel"; diff --git a/pkgs/applications/editors/jupyter-kernels/xeus-cling/default.nix b/pkgs/applications/editors/jupyter-kernels/xeus-cling/default.nix index 751c3db697ee8..bffd4c8940392 100644 --- a/pkgs/applications/editors/jupyter-kernels/xeus-cling/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/xeus-cling/default.nix @@ -1,10 +1,11 @@ -{ callPackage -, cling -, fetchurl -, jq -, makeWrapper -, python3 -, stdenv +{ + callPackage, + cling, + fetchurl, + jq, + makeWrapper, + python3, + stdenv, }: # Jupyter console: @@ -14,17 +15,20 @@ # nix run --impure --expr 'with import {}; jupyter.override { definitions = { cpp17 = cpp17-kernel; }; }' let - xeus-cling-unwrapped = callPackage ./xeus-cling.nix {}; + xeus-cling-unwrapped = callPackage ./xeus-cling.nix { }; xeus-cling = xeus-cling-unwrapped.overrideAttrs (oldAttrs: { - nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [makeWrapper]; + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ]; # xcpp needs a collection of flags to start up properly, so wrap it by default. # We'll provide the unwrapped version as a passthru flags = cling.flags ++ [ - "-resource-dir" "${cling.unwrapped}" - "-L" "${cling.unwrapped}/lib" - "-l" "${cling.unwrapped}/lib/cling.so" + "-resource-dir" + "${cling.unwrapped}" + "-L" + "${cling.unwrapped}/lib" + "-l" + "${cling.unwrapped}/lib/cling.so" ]; fixupPhase = '' @@ -59,17 +63,18 @@ let runHook postCheck ''; - passthru = (oldAttrs.passthru or {}) // { + passthru = (oldAttrs.passthru or { }) // { unwrapped = xeus-cling-unwrapped; }; }); mkKernelSpec = std: { - displayName = builtins.replaceStrings ["c++"] ["C++ "] std; + displayName = builtins.replaceStrings [ "c++" ] [ "C++ " ] std; argv = [ "${xeus-cling}/bin/xcpp" "-std=${std}" - "-f" "{connection_file}" + "-f" + "{connection_file}" ]; language = "cpp"; logo32 = "${xeus-cling-unwrapped}/share/jupyter/kernels/xcpp17/logo-32x32.png"; diff --git a/pkgs/applications/editors/jupyter-kernels/xeus-cling/xeus-cling.nix b/pkgs/applications/editors/jupyter-kernels/xeus-cling/xeus-cling.nix index b944569ff4a7b..fd88db33bcc4a 100644 --- a/pkgs/applications/editors/jupyter-kernels/xeus-cling/xeus-cling.nix +++ b/pkgs/applications/editors/jupyter-kernels/xeus-cling/xeus-cling.nix @@ -1,23 +1,24 @@ -{ lib -, clangStdenv -, cmake -, fetchFromGitHub -, llvmPackages_13 -# Libraries -, argparse -, cling -, cppzmq -, libuuid -, ncurses -, openssl -, pugixml -, xeus -, xeus-zmq -, xtl -, zeromq -, zlib -# Settings -, debug ? false +{ + lib, + clangStdenv, + cmake, + fetchFromGitHub, + llvmPackages_13, + # Libraries + argparse, + cling, + cppzmq, + libuuid, + ncurses, + openssl, + pugixml, + xeus, + xeus-zmq, + xtl, + zeromq, + zlib, + # Settings + debug ? false, }: let diff --git a/pkgs/applications/editors/jupyter/console.nix b/pkgs/applications/editors/jupyter/console.nix index 06bc82a1780b4..255e76e85132a 100644 --- a/pkgs/applications/editors/jupyter/console.nix +++ b/pkgs/applications/editors/jupyter/console.nix @@ -1,25 +1,32 @@ -{ python3 -, jupyter-kernel -, lib +{ + python3, + jupyter-kernel, + lib, }: let - mkConsole = { - definitions ? jupyter-kernel.default - , kernel ? null - }: + mkConsole = + { + definitions ? jupyter-kernel.default, + kernel ? null, + }: (python3.buildEnv.override { extraLibs = [ python3.pkgs.jupyter-console ]; - makeWrapperArgs = [ - "--set JUPYTER_PATH ${jupyter-kernel.create { inherit definitions; }}" - ] ++ lib.optionals (kernel != null) [ - "--add-flags --kernel" - "--add-flags ${kernel}" - ]; - }).overrideAttrs (oldAttrs: { - # To facilitate running nix run .#jupyter-console - meta = oldAttrs.meta // { mainProgram = "jupyter-console"; }; - }); + makeWrapperArgs = + [ + "--set JUPYTER_PATH ${jupyter-kernel.create { inherit definitions; }}" + ] + ++ lib.optionals (kernel != null) [ + "--add-flags --kernel" + "--add-flags ${kernel}" + ]; + }).overrideAttrs + (oldAttrs: { + # To facilitate running nix run .#jupyter-console + meta = oldAttrs.meta // { + mainProgram = "jupyter-console"; + }; + }); in @@ -30,8 +37,10 @@ in inherit mkConsole; # An ergonomic way to start a console with a single kernel. - withSingleKernel = definition: mkConsole { - definitions = lib.listToAttrs [(lib.nameValuePair definition.language definition)]; - kernel = definition.language; - }; + withSingleKernel = + definition: + mkConsole { + definitions = lib.listToAttrs [ (lib.nameValuePair definition.language definition) ]; + kernel = definition.language; + }; } diff --git a/pkgs/applications/editors/jupyter/default.nix b/pkgs/applications/editors/jupyter/default.nix index 08c33982364da..9b078be78a70f 100644 --- a/pkgs/applications/editors/jupyter/default.nix +++ b/pkgs/applications/editors/jupyter/default.nix @@ -1,18 +1,23 @@ # Jupyter notebook with the given kernel definitions -{ python3 -, jupyter-kernel -, definitions ? jupyter-kernel.default +{ + python3, + jupyter-kernel, + definitions ? jupyter-kernel.default, }: let jupyterPath = (jupyter-kernel.create { inherit definitions; }); - jupyter-notebook = (python3.buildEnv.override { - extraLibs = [ python3.pkgs.notebook ]; - makeWrapperArgs = ["--prefix JUPYTER_PATH : ${jupyterPath}"]; - }).overrideAttrs(oldAttrs: { - meta = oldAttrs.meta // { mainProgram = "jupyter-notebook"; }; - }); + jupyter-notebook = + (python3.buildEnv.override { + extraLibs = [ python3.pkgs.notebook ]; + makeWrapperArgs = [ "--prefix JUPYTER_PATH : ${jupyterPath}" ]; + }).overrideAttrs + (oldAttrs: { + meta = oldAttrs.meta // { + mainProgram = "jupyter-notebook"; + }; + }); in jupyter-notebook diff --git a/pkgs/applications/editors/jupyter/kernel.nix b/pkgs/applications/editors/jupyter/kernel.nix index b036c7274d51d..4496b943997bf 100644 --- a/pkgs/applications/editors/jupyter/kernel.nix +++ b/pkgs/applications/editors/jupyter/kernel.nix @@ -1,23 +1,29 @@ -{ lib, stdenv, python3}: +{ + lib, + stdenv, + python3, +}: let default = { - python3 = let - env = (python3.withPackages (ps: with ps; [ ipykernel ])); - in { - displayName = "Python 3"; - argv = [ - env.interpreter - "-m" - "ipykernel_launcher" - "-f" - "{connection_file}" - ]; - language = "python"; - logo32 = "${env}/${env.sitePackages}/ipykernel/resources/logo-32x32.png"; - logo64 = "${env}/${env.sitePackages}/ipykernel/resources/logo-64x64.png"; - }; + python3 = + let + env = (python3.withPackages (ps: with ps; [ ipykernel ])); + in + { + displayName = "Python 3"; + argv = [ + env.interpreter + "-m" + "ipykernel_launcher" + "-f" + "{connection_file}" + ]; + language = "python"; + logo32 = "${env}/${env.sitePackages}/ipykernel/resources/logo-32x32.png"; + logo64 = "${env}/${env.sitePackages}/ipykernel/resources/logo-64x64.png"; + }; }; in @@ -26,45 +32,68 @@ in # Definitions is an attribute set. - create = { definitions ? default }: stdenv.mkDerivation { + create = + { + definitions ? default, + }: + stdenv.mkDerivation { - name = "jupyter-kernels"; + name = "jupyter-kernels"; - src = "/dev/null"; + src = "/dev/null"; - unpackCmd = "mkdir jupyter_kernels"; + unpackCmd = "mkdir jupyter_kernels"; - installPhase = '' - mkdir kernels + installPhase = '' + mkdir kernels - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (kernelName: unfilteredKernel: - let - allowedKernelKeys = ["argv" "displayName" "language" "interruptMode" "env" "metadata" "logo32" "logo64" "extraPaths"]; - kernel = lib.filterAttrs (n: v: (lib.any (x: x == n) allowedKernelKeys)) unfilteredKernel; - config = builtins.toJSON ( - kernel - // {display_name = if (kernel.displayName != "") then kernel.displayName else kernelName;} - // (lib.optionalAttrs (kernel ? interruptMode) { interrupt_mode = kernel.interruptMode; }) - ); - extraPaths = kernel.extraPaths or {} - // lib.optionalAttrs (kernel.logo32 != null) { "logo-32x32.png" = kernel.logo32; } - // lib.optionalAttrs (kernel.logo64 != null) { "logo-64x64.png" = kernel.logo64; } - ; - linkExtraPaths = lib.mapAttrsToList (name: value: "ln -s ${value} 'kernels/${kernelName}/${name}';") extraPaths; - in '' - mkdir 'kernels/${kernelName}'; - echo '${config}' > 'kernels/${kernelName}/kernel.json'; - ${lib.concatStringsSep "\n" linkExtraPaths} - '') definitions)} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + kernelName: unfilteredKernel: + let + allowedKernelKeys = [ + "argv" + "displayName" + "language" + "interruptMode" + "env" + "metadata" + "logo32" + "logo64" + "extraPaths" + ]; + kernel = lib.filterAttrs (n: v: (lib.any (x: x == n) allowedKernelKeys)) unfilteredKernel; + config = builtins.toJSON ( + kernel + // { + display_name = if (kernel.displayName != "") then kernel.displayName else kernelName; + } + // (lib.optionalAttrs (kernel ? interruptMode) { interrupt_mode = kernel.interruptMode; }) + ); + extraPaths = + kernel.extraPaths or { } + // lib.optionalAttrs (kernel.logo32 != null) { "logo-32x32.png" = kernel.logo32; } + // lib.optionalAttrs (kernel.logo64 != null) { "logo-64x64.png" = kernel.logo64; }; + linkExtraPaths = lib.mapAttrsToList ( + name: value: "ln -s ${value} 'kernels/${kernelName}/${name}';" + ) extraPaths; + in + '' + mkdir 'kernels/${kernelName}'; + echo '${config}' > 'kernels/${kernelName}/kernel.json'; + ${lib.concatStringsSep "\n" linkExtraPaths} + '' + ) definitions + )} - mkdir $out - cp -r kernels $out - ''; + mkdir $out + cp -r kernels $out + ''; - meta = { - description = "Wrapper to create jupyter notebook kernel definitions"; - homepage = "https://jupyter.org/"; - maintainers = with lib.maintainers; [ aborsu ]; + meta = { + description = "Wrapper to create jupyter notebook kernel definitions"; + homepage = "https://jupyter.org/"; + maintainers = with lib.maintainers; [ aborsu ]; + }; }; - }; } diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index c45ad92674a68..7b20a0d668d3d 100644 --- a/pkgs/applications/editors/kakoune/default.nix +++ b/pkgs/applications/editors/kakoune/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "kakoune-unwrapped"; @@ -9,7 +13,10 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; hash = "sha256-1nYSVbvQ4tz1r8p7zCD6w/79haqpelb15qva9r3Fwew="; }; - makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ]; + makeFlags = [ + "debug=no" + "PREFIX=${placeholder "out"}" + ]; postPatch = '' echo "v${finalAttrs.version}" >.version diff --git a/pkgs/applications/editors/kakoune/plugins/aliases.nix b/pkgs/applications/editors/kakoune/plugins/aliases.nix index 392ee835d3392..0b43189e617c1 100644 --- a/pkgs/applications/editors/kakoune/plugins/aliases.nix +++ b/pkgs/applications/editors/kakoune/plugins/aliases.nix @@ -5,41 +5,43 @@ lib: overridden: let # Removing recurseForDerivation prevents derivations of aliased attribute # set to appear while listing all the packages available. - removeRecurseForDerivations = alias: + removeRecurseForDerivations = + alias: if alias.recurseForDerivations or false then - lib.removeAttrs alias ["recurseForDerivations"] - else alias; + lib.removeAttrs alias [ "recurseForDerivations" ] + else + alias; # Disabling distribution prevents top-level aliases for non-recursed package # sets from building on Hydra. - removeDistribute = alias: - if lib.isDerivation alias then - lib.dontDistribute alias - else alias; + removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias; # Make sure that we are not shadowing something from # all-packages.nix. - checkInPkgs = n: alias: if builtins.hasAttr n overridden - then throw "Alias ${n} is still in kakounePlugins" - else alias; + checkInPkgs = + n: alias: + if builtins.hasAttr n overridden then throw "Alias ${n} is still in kakounePlugins" else alias; - mapAliases = aliases: - lib.mapAttrs (n: alias: removeDistribute - (removeRecurseForDerivations - (checkInPkgs n alias))) - aliases; + mapAliases = + aliases: + lib.mapAttrs ( + n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias)) + ) aliases; - deprecations = lib.mapAttrs (old: info: - throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}." + deprecations = lib.mapAttrs ( + old: info: throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}." ) (lib.importJSON ./deprecated.json); in -mapAliases ({ - kak-auto-pairs = overridden.auto-pairs-kak; # backwards compat, added 2021-01-04 - kak-buffers = overridden.kakoune-buffers; # backwards compat, added 2021-01-04 - kak-byline = overridden.byline-kak; # backwards compat, added 2023-10-22 - kak-fzf = overridden.fzf-kak; # backwards compat, added 2021-01-04 - kak-powerline = overridden.powerline-kak; # backwards compat, added 2021-01-04 - kak-prelude = overridden.prelude-kak; # backwards compat, added 2021-01-04 - kak-vertical-selection = overridden.kakoune-vertical-selection; # backwards compat, added 2021-01-04 -} // deprecations) +mapAliases ( + { + kak-auto-pairs = overridden.auto-pairs-kak; # backwards compat, added 2021-01-04 + kak-buffers = overridden.kakoune-buffers; # backwards compat, added 2021-01-04 + kak-byline = overridden.byline-kak; # backwards compat, added 2023-10-22 + kak-fzf = overridden.fzf-kak; # backwards compat, added 2021-01-04 + kak-powerline = overridden.powerline-kak; # backwards compat, added 2021-01-04 + kak-prelude = overridden.prelude-kak; # backwards compat, added 2021-01-04 + kak-vertical-selection = overridden.kakoune-vertical-selection; # backwards compat, added 2021-01-04 + } + // deprecations +) diff --git a/pkgs/applications/editors/kakoune/plugins/build-kakoune-plugin.nix b/pkgs/applications/editors/kakoune/plugins/build-kakoune-plugin.nix index 196a1d122d65a..11a615cfba82d 100644 --- a/pkgs/applications/editors/kakoune/plugins/build-kakoune-plugin.nix +++ b/pkgs/applications/editors/kakoune/plugins/build-kakoune-plugin.nix @@ -1,33 +1,49 @@ -{ lib, stdenv, rtpPath ? "share/kak/autoload/plugins" }: +{ + lib, + stdenv, + rtpPath ? "share/kak/autoload/plugins", +}: rec { - buildKakounePlugin = attrs@{ - name ? "${attrs.pname}-${attrs.version}", - namePrefix ? "kakplugin-", - src, - unpackPhase ? "", - configurePhase ? "", - buildPhase ? "", - preInstall ? "", - postInstall ? "", - path ? lib.getName name, - ... - }: - stdenv.mkDerivation ((builtins.removeAttrs attrs [ "namePrefix" "path" ]) // { - name = namePrefix + name; + buildKakounePlugin = + attrs@{ + name ? "${attrs.pname}-${attrs.version}", + namePrefix ? "kakplugin-", + src, + unpackPhase ? "", + configurePhase ? "", + buildPhase ? "", + preInstall ? "", + postInstall ? "", + path ? lib.getName name, + ... + }: + stdenv.mkDerivation ( + (builtins.removeAttrs attrs [ + "namePrefix" + "path" + ]) + // { + name = namePrefix + name; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - target=$out/${rtpPath}/${path} - mkdir -p $out/${rtpPath} - cp -r . $target + target=$out/${rtpPath}/${path} + mkdir -p $out/${rtpPath} + cp -r . $target - runHook postInstall - ''; - }); + runHook postInstall + ''; + } + ); - buildKakounePluginFrom2Nix = attrs: buildKakounePlugin ({ - dontBuild = true; - dontConfigure = true; - } // attrs); + buildKakounePluginFrom2Nix = + attrs: + buildKakounePlugin ( + { + dontBuild = true; + dontConfigure = true; + } + // attrs + ); } diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix index dc4381446b97a..21f4018d2e2b9 100644 --- a/pkgs/applications/editors/kakoune/plugins/default.nix +++ b/pkgs/applications/editors/kakoune/plugins/default.nix @@ -1,8 +1,13 @@ -{ callPackage, config, kakouneUtils, lib }: +{ + callPackage, + config, + kakouneUtils, + lib, +}: let - inherit (kakouneUtils.override {}) buildKakounePluginFrom2Nix; + inherit (kakouneUtils.override { }) buildKakounePluginFrom2Nix; plugins = callPackage ./generated.nix { inherit buildKakounePluginFrom2Nix overrides; diff --git a/pkgs/applications/editors/kakoune/plugins/generated.nix b/pkgs/applications/editors/kakoune/plugins/generated.nix index 9bc508d618d69..403e0f8039127 100644 --- a/pkgs/applications/editors/kakoune/plugins/generated.nix +++ b/pkgs/applications/editors/kakoune/plugins/generated.nix @@ -1,248 +1,255 @@ # This file has been generated by ./pkgs/applications/editors/kakoune/plugins/update.py. Do not edit! -{ lib, buildKakounePluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }: -let -packages = ( self: { - active-window-kak = buildKakounePluginFrom2Nix { - pname = "active-window-kak"; - version = "2022-11-14"; - src = fetchFromGitHub { - owner = "greenfork"; - repo = "active-window.kak"; - rev = "36bf0364eed856a52cddf274072e9f255902c0ee"; - sha256 = "1fv1cp9q212gamf9z2papl5xcl2w31fpcmbgdzbxcxdl1pvfsqp8"; - }; - meta.homepage = "https://github.com/greenfork/active-window.kak/"; - }; - - auto-pairs-kak = buildKakounePluginFrom2Nix { - pname = "auto-pairs-kak"; - version = "2023-07-30"; - src = fetchFromGitHub { - owner = "alexherbo2"; - repo = "auto-pairs.kak"; - rev = "d4b33b783ea42a536c848296b5b6d434b4d1470f"; - sha256 = "017x9g89q0w60y561xhigc0f14ryp4phh1hdna847ca5lvmbxksp"; - }; - meta.homepage = "https://github.com/alexherbo2/auto-pairs.kak/"; - }; - - byline-kak = buildKakounePluginFrom2Nix { - pname = "byline-kak"; - version = "2023-02-27"; - src = fetchFromGitHub { - owner = "evanrelf"; - repo = "byline.kak"; - rev = "a27d109b776c60e11752eeb3207c989a5e157fc0"; - sha256 = "121dxd65ml65ablkvdxj0rib3kvfwss0pv943bgl3nq35ag19b81"; - }; - meta.homepage = "https://github.com/evanrelf/byline.kak/"; - }; - - connect-kak = buildKakounePluginFrom2Nix { - pname = "connect-kak"; - version = "2021-02-24"; - src = fetchFromGitHub { - owner = "kakounedotcom"; - repo = "connect.kak"; - rev = "a536605a208149eed58986bda54f3dda215dfe61"; - sha256 = "1svw64zk28sn271vjyzvq21zaln13vnx59rxnxah6adq8n5nkr4a"; - }; - meta.homepage = "https://github.com/kakounedotcom/connect.kak/"; - }; - - fzf-kak = buildKakounePluginFrom2Nix { - pname = "fzf-kak"; - version = "2022-10-11"; - src = fetchFromGitHub { - owner = "andreyorst"; - repo = "fzf.kak"; - rev = "6910bfb4c23cac59c17f5b7850f7bd49aba3e5cb"; - sha256 = "1hlals4d9x5i4mwigxjlx4f9xgc9rw15yzvbvc64cminxic2i3i8"; - }; - meta.homepage = "https://github.com/andreyorst/fzf.kak/"; - }; - - kakboard = buildKakounePluginFrom2Nix { - pname = "kakboard"; - version = "2022-04-02"; - src = fetchFromGitHub { - owner = "lePerdu"; - repo = "kakboard"; - rev = "5759dcc5af593ff88a7faecc41a8f549ec440771"; - sha256 = "0g8q0rkdnzsfvlibjd1zfcapngfli5aa3qrgmkgdi24n9ad8wzvh"; - }; - meta.homepage = "https://github.com/lePerdu/kakboard/"; - }; - - kakoune-buffer-switcher = buildKakounePluginFrom2Nix { - pname = "kakoune-buffer-switcher"; - version = "2022-09-18"; - src = fetchFromGitHub { - owner = "occivink"; - repo = "kakoune-buffer-switcher"; - rev = "21319aa08e7c9072dcf1a4f2f5583887d701fc37"; - sha256 = "0lnvcb4khw1ywxd369phd2xibsh5f6qc11x5vrla331wr1q7y8j8"; - }; - meta.homepage = "https://github.com/occivink/kakoune-buffer-switcher/"; - }; - - kakoune-buffers = buildKakounePluginFrom2Nix { - pname = "kakoune-buffers"; - version = "2021-11-10"; - src = fetchFromGitHub { - owner = "Delapouite"; - repo = "kakoune-buffers"; - rev = "6b2081f5b7d58c72de319a5cba7bf628b6802881"; - sha256 = "0pbrgydifw2a8yf3ringyqq91fccfv4lm4v8sk5349hbcz6apr4c"; - }; - meta.homepage = "https://github.com/Delapouite/kakoune-buffers/"; - }; - - kakoune-easymotion = buildKakounePluginFrom2Nix { - pname = "kakoune-easymotion"; - version = "2020-03-09"; - src = fetchFromGitHub { - owner = "danr"; - repo = "kakoune-easymotion"; - rev = "0ca75450023a149efc70e8e383e459b571355c70"; - sha256 = "15czvl0qj2k767pysr6xk2v31mkhvcbmv76xs2a8yrslchms70b5"; - }; - meta.homepage = "https://github.com/danr/kakoune-easymotion/"; - }; - - kakoune-extra-filetypes = buildKakounePluginFrom2Nix { - pname = "kakoune-extra-filetypes"; - version = "2021-05-16"; - src = fetchFromGitHub { - owner = "kakoune-editor"; - repo = "kakoune-extra-filetypes"; - rev = "8ffeec08068edfee42e076c5f6d56a54a498bad2"; - sha256 = "1v87aqfk2jcysbdls3mh2v1yafk1albbinfxsxp11m4nxd2b9agl"; - }; - meta.homepage = "https://github.com/kakoune-editor/kakoune-extra-filetypes/"; - }; - - kakoune-rainbow = buildKakounePluginFrom2Nix { - pname = "kakoune-rainbow"; - version = "2020-09-01"; - src = fetchFromGitHub { - owner = "listentolist"; - repo = "kakoune-rainbow"; - rev = "d09103e8d268cf4621215bf162a0244c9482be3c"; - sha256 = "1i3id7xw0j4z1a14mscr68ckpgvcwsjpl86lr864wy7w7qcmblx6"; - }; - meta.homepage = "https://github.com/listentolist/kakoune-rainbow/"; - meta.mainProgram = "kak-rainbow.scm"; - }; - - kakoune-registers = buildKakounePluginFrom2Nix { - pname = "kakoune-registers"; - version = "2022-03-01"; - src = fetchFromGitHub { - owner = "Delapouite"; - repo = "kakoune-registers"; - rev = "b8ca8e04ebe50671a937bceccba69c62b68ae8b0"; - sha256 = "0vy5dc6jly5xqcck0vhnmbjxjdy3615b6d329v0b04amzy0hdlck"; - }; - meta.homepage = "https://github.com/Delapouite/kakoune-registers/"; - }; - - kakoune-vertical-selection = buildKakounePluginFrom2Nix { - pname = "kakoune-vertical-selection"; - version = "2023-04-20"; - src = fetchFromGitHub { - owner = "occivink"; - repo = "kakoune-vertical-selection"; - rev = "dbb39712e3824ca6142b510f26f35a769934a1e1"; - sha256 = "1wncx16a8mi2b81cvkiji3ccv8is5g3sa4hwf1669va5a432vdwn"; - }; - meta.homepage = "https://github.com/occivink/kakoune-vertical-selection/"; - }; - - openscad-kak = buildKakounePluginFrom2Nix { - pname = "openscad-kak"; - version = "2020-12-10"; - src = fetchFromGitHub { - owner = "mayjs"; - repo = "openscad.kak"; - rev = "ba51bbdcd96ccf94bb9239bef1481b6f37125849"; - sha256 = "15dybd6dnnwla6mj8sw83nwd62para1syxzifznl6rz6kp8vqjjj"; - }; - meta.homepage = "https://github.com/mayjs/openscad.kak/"; - }; - - pandoc-kak = buildKakounePluginFrom2Nix { - pname = "pandoc-kak"; - version = "2021-06-29"; - src = fetchFromGitHub { - owner = "basbebe"; - repo = "pandoc.kak"; - rev = "e9597e8df58427884161ce27392a9558930832a7"; - sha256 = "1baslidszbybx2ngdkm7wns2m5l27gc0mb3blhhydiav8fcfvc6m"; - }; - meta.homepage = "https://github.com/basbebe/pandoc.kak/"; - }; - - powerline-kak = buildKakounePluginFrom2Nix { - pname = "powerline-kak"; - version = "2022-04-05"; - src = fetchFromGitHub { - owner = "andreyorst"; - repo = "powerline.kak"; - rev = "c5ef9a845bbd886c73ef00c0efff986e02d5f5d8"; - sha256 = "1lshlnz5xrxzafxmb6w05g2i6nvi49aqyd8852k9l0lmzqryp7l2"; - }; - meta.homepage = "https://github.com/andreyorst/powerline.kak/"; - }; - - prelude-kak = buildKakounePluginFrom2Nix { - pname = "prelude-kak"; - version = "2021-02-24"; - src = fetchFromGitHub { - owner = "kakounedotcom"; - repo = "prelude.kak"; - rev = "5dbdc020c546032885c1fdb463e366cc89fc15ad"; - sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c"; - }; - meta.homepage = "https://github.com/kakounedotcom/prelude.kak/"; - }; - - smarttab-kak = buildKakounePluginFrom2Nix { - pname = "smarttab-kak"; - version = "2022-04-10"; - src = fetchFromGitHub { - owner = "andreyorst"; - repo = "smarttab.kak"; - rev = "86ac6599b13617ff938905ba4cdd8225d7eb6a2e"; - sha256 = "1992xwf2aygzfd26lhg3yiy253g0hl1iagj0kq9yhcqg0i5xjcj9"; - }; - meta.homepage = "https://github.com/andreyorst/smarttab.kak/"; - }; - - tabs-kak = buildKakounePluginFrom2Nix { - pname = "tabs-kak"; - version = "2023-05-15"; - src = fetchFromGitHub { - owner = "enricozb"; - repo = "tabs.kak"; - rev = "f0b3a399db1dfa12b89fbff3eed09aec74725bab"; - sha256 = "1sg26bv4vr08pqyxp68wsmzj8vhi2qg1bmkqb2jnngi5sjp4r7xy"; - }; - meta.homepage = "https://github.com/enricozb/tabs.kak/"; - }; - - zig-kak = buildKakounePluginFrom2Nix { - pname = "zig-kak"; - version = "2019-05-06"; - src = fetchFromGitHub { - owner = "adrusi"; - repo = "zig.kak"; - rev = "5a7e84e138324e6b8d140fe384dfe5cc941e26b7"; - sha256 = "1w0nmhsgchjga4by9ch9md3pdc1bwn0p157g6zwnfpj7lnaahsmq"; - }; - meta.homepage = "https://github.com/adrusi/zig.kak/"; - }; - -}); -in lib.fix' (lib.extends overrides packages) + lib, + buildKakounePluginFrom2Nix, + fetchFromGitHub, + overrides ? (self: super: { }), +}: +let + packages = ( + self: { + active-window-kak = buildKakounePluginFrom2Nix { + pname = "active-window-kak"; + version = "2022-11-14"; + src = fetchFromGitHub { + owner = "greenfork"; + repo = "active-window.kak"; + rev = "36bf0364eed856a52cddf274072e9f255902c0ee"; + sha256 = "1fv1cp9q212gamf9z2papl5xcl2w31fpcmbgdzbxcxdl1pvfsqp8"; + }; + meta.homepage = "https://github.com/greenfork/active-window.kak/"; + }; + + auto-pairs-kak = buildKakounePluginFrom2Nix { + pname = "auto-pairs-kak"; + version = "2023-07-30"; + src = fetchFromGitHub { + owner = "alexherbo2"; + repo = "auto-pairs.kak"; + rev = "d4b33b783ea42a536c848296b5b6d434b4d1470f"; + sha256 = "017x9g89q0w60y561xhigc0f14ryp4phh1hdna847ca5lvmbxksp"; + }; + meta.homepage = "https://github.com/alexherbo2/auto-pairs.kak/"; + }; + + byline-kak = buildKakounePluginFrom2Nix { + pname = "byline-kak"; + version = "2023-02-27"; + src = fetchFromGitHub { + owner = "evanrelf"; + repo = "byline.kak"; + rev = "a27d109b776c60e11752eeb3207c989a5e157fc0"; + sha256 = "121dxd65ml65ablkvdxj0rib3kvfwss0pv943bgl3nq35ag19b81"; + }; + meta.homepage = "https://github.com/evanrelf/byline.kak/"; + }; + + connect-kak = buildKakounePluginFrom2Nix { + pname = "connect-kak"; + version = "2021-02-24"; + src = fetchFromGitHub { + owner = "kakounedotcom"; + repo = "connect.kak"; + rev = "a536605a208149eed58986bda54f3dda215dfe61"; + sha256 = "1svw64zk28sn271vjyzvq21zaln13vnx59rxnxah6adq8n5nkr4a"; + }; + meta.homepage = "https://github.com/kakounedotcom/connect.kak/"; + }; + + fzf-kak = buildKakounePluginFrom2Nix { + pname = "fzf-kak"; + version = "2022-10-11"; + src = fetchFromGitHub { + owner = "andreyorst"; + repo = "fzf.kak"; + rev = "6910bfb4c23cac59c17f5b7850f7bd49aba3e5cb"; + sha256 = "1hlals4d9x5i4mwigxjlx4f9xgc9rw15yzvbvc64cminxic2i3i8"; + }; + meta.homepage = "https://github.com/andreyorst/fzf.kak/"; + }; + + kakboard = buildKakounePluginFrom2Nix { + pname = "kakboard"; + version = "2022-04-02"; + src = fetchFromGitHub { + owner = "lePerdu"; + repo = "kakboard"; + rev = "5759dcc5af593ff88a7faecc41a8f549ec440771"; + sha256 = "0g8q0rkdnzsfvlibjd1zfcapngfli5aa3qrgmkgdi24n9ad8wzvh"; + }; + meta.homepage = "https://github.com/lePerdu/kakboard/"; + }; + + kakoune-buffer-switcher = buildKakounePluginFrom2Nix { + pname = "kakoune-buffer-switcher"; + version = "2022-09-18"; + src = fetchFromGitHub { + owner = "occivink"; + repo = "kakoune-buffer-switcher"; + rev = "21319aa08e7c9072dcf1a4f2f5583887d701fc37"; + sha256 = "0lnvcb4khw1ywxd369phd2xibsh5f6qc11x5vrla331wr1q7y8j8"; + }; + meta.homepage = "https://github.com/occivink/kakoune-buffer-switcher/"; + }; + + kakoune-buffers = buildKakounePluginFrom2Nix { + pname = "kakoune-buffers"; + version = "2021-11-10"; + src = fetchFromGitHub { + owner = "Delapouite"; + repo = "kakoune-buffers"; + rev = "6b2081f5b7d58c72de319a5cba7bf628b6802881"; + sha256 = "0pbrgydifw2a8yf3ringyqq91fccfv4lm4v8sk5349hbcz6apr4c"; + }; + meta.homepage = "https://github.com/Delapouite/kakoune-buffers/"; + }; + + kakoune-easymotion = buildKakounePluginFrom2Nix { + pname = "kakoune-easymotion"; + version = "2020-03-09"; + src = fetchFromGitHub { + owner = "danr"; + repo = "kakoune-easymotion"; + rev = "0ca75450023a149efc70e8e383e459b571355c70"; + sha256 = "15czvl0qj2k767pysr6xk2v31mkhvcbmv76xs2a8yrslchms70b5"; + }; + meta.homepage = "https://github.com/danr/kakoune-easymotion/"; + }; + + kakoune-extra-filetypes = buildKakounePluginFrom2Nix { + pname = "kakoune-extra-filetypes"; + version = "2021-05-16"; + src = fetchFromGitHub { + owner = "kakoune-editor"; + repo = "kakoune-extra-filetypes"; + rev = "8ffeec08068edfee42e076c5f6d56a54a498bad2"; + sha256 = "1v87aqfk2jcysbdls3mh2v1yafk1albbinfxsxp11m4nxd2b9agl"; + }; + meta.homepage = "https://github.com/kakoune-editor/kakoune-extra-filetypes/"; + }; + + kakoune-rainbow = buildKakounePluginFrom2Nix { + pname = "kakoune-rainbow"; + version = "2020-09-01"; + src = fetchFromGitHub { + owner = "listentolist"; + repo = "kakoune-rainbow"; + rev = "d09103e8d268cf4621215bf162a0244c9482be3c"; + sha256 = "1i3id7xw0j4z1a14mscr68ckpgvcwsjpl86lr864wy7w7qcmblx6"; + }; + meta.homepage = "https://github.com/listentolist/kakoune-rainbow/"; + meta.mainProgram = "kak-rainbow.scm"; + }; + + kakoune-registers = buildKakounePluginFrom2Nix { + pname = "kakoune-registers"; + version = "2022-03-01"; + src = fetchFromGitHub { + owner = "Delapouite"; + repo = "kakoune-registers"; + rev = "b8ca8e04ebe50671a937bceccba69c62b68ae8b0"; + sha256 = "0vy5dc6jly5xqcck0vhnmbjxjdy3615b6d329v0b04amzy0hdlck"; + }; + meta.homepage = "https://github.com/Delapouite/kakoune-registers/"; + }; + + kakoune-vertical-selection = buildKakounePluginFrom2Nix { + pname = "kakoune-vertical-selection"; + version = "2023-04-20"; + src = fetchFromGitHub { + owner = "occivink"; + repo = "kakoune-vertical-selection"; + rev = "dbb39712e3824ca6142b510f26f35a769934a1e1"; + sha256 = "1wncx16a8mi2b81cvkiji3ccv8is5g3sa4hwf1669va5a432vdwn"; + }; + meta.homepage = "https://github.com/occivink/kakoune-vertical-selection/"; + }; + + openscad-kak = buildKakounePluginFrom2Nix { + pname = "openscad-kak"; + version = "2020-12-10"; + src = fetchFromGitHub { + owner = "mayjs"; + repo = "openscad.kak"; + rev = "ba51bbdcd96ccf94bb9239bef1481b6f37125849"; + sha256 = "15dybd6dnnwla6mj8sw83nwd62para1syxzifznl6rz6kp8vqjjj"; + }; + meta.homepage = "https://github.com/mayjs/openscad.kak/"; + }; + + pandoc-kak = buildKakounePluginFrom2Nix { + pname = "pandoc-kak"; + version = "2021-06-29"; + src = fetchFromGitHub { + owner = "basbebe"; + repo = "pandoc.kak"; + rev = "e9597e8df58427884161ce27392a9558930832a7"; + sha256 = "1baslidszbybx2ngdkm7wns2m5l27gc0mb3blhhydiav8fcfvc6m"; + }; + meta.homepage = "https://github.com/basbebe/pandoc.kak/"; + }; + + powerline-kak = buildKakounePluginFrom2Nix { + pname = "powerline-kak"; + version = "2022-04-05"; + src = fetchFromGitHub { + owner = "andreyorst"; + repo = "powerline.kak"; + rev = "c5ef9a845bbd886c73ef00c0efff986e02d5f5d8"; + sha256 = "1lshlnz5xrxzafxmb6w05g2i6nvi49aqyd8852k9l0lmzqryp7l2"; + }; + meta.homepage = "https://github.com/andreyorst/powerline.kak/"; + }; + + prelude-kak = buildKakounePluginFrom2Nix { + pname = "prelude-kak"; + version = "2021-02-24"; + src = fetchFromGitHub { + owner = "kakounedotcom"; + repo = "prelude.kak"; + rev = "5dbdc020c546032885c1fdb463e366cc89fc15ad"; + sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c"; + }; + meta.homepage = "https://github.com/kakounedotcom/prelude.kak/"; + }; + + smarttab-kak = buildKakounePluginFrom2Nix { + pname = "smarttab-kak"; + version = "2022-04-10"; + src = fetchFromGitHub { + owner = "andreyorst"; + repo = "smarttab.kak"; + rev = "86ac6599b13617ff938905ba4cdd8225d7eb6a2e"; + sha256 = "1992xwf2aygzfd26lhg3yiy253g0hl1iagj0kq9yhcqg0i5xjcj9"; + }; + meta.homepage = "https://github.com/andreyorst/smarttab.kak/"; + }; + + tabs-kak = buildKakounePluginFrom2Nix { + pname = "tabs-kak"; + version = "2023-05-15"; + src = fetchFromGitHub { + owner = "enricozb"; + repo = "tabs.kak"; + rev = "f0b3a399db1dfa12b89fbff3eed09aec74725bab"; + sha256 = "1sg26bv4vr08pqyxp68wsmzj8vhi2qg1bmkqb2jnngi5sjp4r7xy"; + }; + meta.homepage = "https://github.com/enricozb/tabs.kak/"; + }; + + zig-kak = buildKakounePluginFrom2Nix { + pname = "zig-kak"; + version = "2019-05-06"; + src = fetchFromGitHub { + owner = "adrusi"; + repo = "zig.kak"; + rev = "5a7e84e138324e6b8d140fe384dfe5cc941e26b7"; + sha256 = "1w0nmhsgchjga4by9ch9md3pdc1bwn0p157g6zwnfpj7lnaahsmq"; + }; + meta.homepage = "https://github.com/adrusi/zig.kak/"; + }; + + } + ); +in +lib.fix' (lib.extends overrides packages) diff --git a/pkgs/applications/editors/kakoune/plugins/kakoune-utils.nix b/pkgs/applications/editors/kakoune/plugins/kakoune-utils.nix index 11a1cc130d6c9..9bceed0841b3d 100644 --- a/pkgs/applications/editors/kakoune/plugins/kakoune-utils.nix +++ b/pkgs/applications/editors/kakoune/plugins/kakoune-utils.nix @@ -1,4 +1,7 @@ { lib, stdenv }: { - inherit (import ./build-kakoune-plugin.nix { inherit lib stdenv; }) buildKakounePlugin buildKakounePluginFrom2Nix; + inherit (import ./build-kakoune-plugin.nix { inherit lib stdenv; }) + buildKakounePlugin + buildKakounePluginFrom2Nix + ; } diff --git a/pkgs/applications/editors/kakoune/plugins/overrides.nix b/pkgs/applications/editors/kakoune/plugins/overrides.nix index 6f60573f48b29..1f5aaeb092793 100644 --- a/pkgs/applications/editors/kakoune/plugins/overrides.nix +++ b/pkgs/applications/editors/kakoune/plugins/overrides.nix @@ -1,8 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, fetchFromGitLab, fetchgit -, buildKakounePluginFrom2Nix -, kakoune-lsp, parinfer-rust, rep -, fzf, git, guile, kakoune-unwrapped, lua5_3, plan9port -, rustPlatform +{ + lib, + stdenv, + fetchFromGitHub, + fetchFromGitLab, + fetchgit, + buildKakounePluginFrom2Nix, + kakoune-lsp, + parinfer-rust, + rep, + fzf, + git, + guile, + kakoune-unwrapped, + lua5_3, + plan9port, + rustPlatform, }: self: super: { @@ -20,7 +32,7 @@ self: super: { meta.homepage = "https://gitlab.com/FlyingWombat/case.kak"; }; - fzf-kak = super.fzf-kak.overrideAttrs(oldAttrs: rec { + fzf-kak = super.fzf-kak.overrideAttrs (oldAttrs: rec { preFixup = '' if [[ -x "${fzf}/bin/fzf" ]]; then fzfImpl='${fzf}/bin/fzf' @@ -45,21 +57,24 @@ self: super: { }; installPhase = '' - mkdir -p $out/bin $out/share/kak/autoload/plugins/ - cp kak-ansi-filter $out/bin/ - # Hard-code path of filter and don't try to build when Kakoune boots - sed ' - /^declare-option.* ansi_filter /i\ -declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter} - /^declare-option.* ansi_filter /,/^}/d - ' rc/ansi.kak >$out/share/kak/autoload/plugins/ansi.kak + mkdir -p $out/bin $out/share/kak/autoload/plugins/ + cp kak-ansi-filter $out/bin/ + # Hard-code path of filter and don't try to build when Kakoune boots + sed ' + /^declare-option.* ansi_filter /i\ + declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter} + /^declare-option.* ansi_filter /,/^}/d + ' rc/ansi.kak >$out/share/kak/autoload/plugins/ansi.kak ''; meta = with lib; { description = "Kakoune support for rendering ANSI code"; homepage = "https://github.com/eraserhd/kak-ansi"; license = licenses.unlicense; - maintainers = with maintainers; [ eraserhd philiptaron ]; + maintainers = with maintainers; [ + eraserhd + philiptaron + ]; platforms = platforms.all; }; }; @@ -89,12 +104,15 @@ declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter} description = "Kakoune integration with the Plan 9 plumber"; homepage = "https://github.com/eraserhd/kak-plumb"; license = licenses.unlicense; - maintainers = with maintainers; [ eraserhd philiptaron ]; + maintainers = with maintainers; [ + eraserhd + philiptaron + ]; platforms = platforms.all; }; }; - kakoune-rainbow = super.kakoune-rainbow.overrideAttrs(oldAttrs: rec { + kakoune-rainbow = super.kakoune-rainbow.overrideAttrs (oldAttrs: rec { preFixup = '' mkdir -p $out/bin mv $out/share/kak/autoload/plugins/kakoune-rainbow/bin/kak-rainbow.scm $out/bin @@ -120,12 +138,15 @@ declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter} description = "Help Kakoune save and restore state between sessions"; homepage = "https://gitlab.com/Screwtapello/kakoune-state-save"; license = licenses.mit; - maintainers = with maintainers; [ Flakebi philiptaron ]; + maintainers = with maintainers; [ + Flakebi + philiptaron + ]; platforms = platforms.all; }; }; - powerline-kak = super.powerline-kak.overrideAttrs(oldAttrs: rec { + powerline-kak = super.powerline-kak.overrideAttrs (oldAttrs: rec { preFixup = '' substituteInPlace $out/share/kak/autoload/plugins/powerline-kak/rc/modules/git.kak \ --replace ' git ' ' ${git}/bin/git ' diff --git a/pkgs/applications/editors/kakoune/plugins/update-shell.nix b/pkgs/applications/editors/kakoune/plugins/update-shell.nix index b323574169aa3..787891309237b 100644 --- a/pkgs/applications/editors/kakoune/plugins/update-shell.nix +++ b/pkgs/applications/editors/kakoune/plugins/update-shell.nix @@ -1,4 +1,6 @@ -{ pkgs ? import ../../../../.. { } }: +{ + pkgs ? import ../../../../.. { }, +}: with pkgs; let diff --git a/pkgs/applications/editors/kakoune/wrapper.nix b/pkgs/applications/editors/kakoune/wrapper.nix index 60ae58aa72c36..b1db86c7e5885 100644 --- a/pkgs/applications/editors/kakoune/wrapper.nix +++ b/pkgs/applications/editors/kakoune/wrapper.nix @@ -1,38 +1,47 @@ -{ lib, symlinkJoin, makeWrapper, kakoune, plugins ? [], configure ? {} }: +{ + lib, + symlinkJoin, + makeWrapper, + kakoune, + plugins ? [ ], + configure ? { }, +}: let # "plugins" is the preferred way, but some configurations may be # using "configure.plugins", so accept both - requestedPlugins = plugins ++ (configure.plugins or []); + requestedPlugins = plugins ++ (configure.plugins or [ ]); in - symlinkJoin { - name = "kakoune-${kakoune.version}"; - - nativeBuildInputs = [ makeWrapper ]; - - paths = [ kakoune ] ++ requestedPlugins; - - postBuild = '' - # create a directory for bins that kakoune needs - # access to, without polluting the users path by adding - # that binary nested with this symlinkJoin. - mkdir -p $out/share/kak/bin - - # location of kak binary is used to find ../share/kak/autoload, - # unless explicitly overriden with KAKOUNE_RUNTIME - rm "$out/bin/kak" - makeWrapper "${kakoune}/bin/kak" "$out/bin/kak" \ - --set KAKOUNE_RUNTIME "$out/share/kak" \ - --suffix PATH : "$out/share/kak/bin" - - # currently kakoune ignores doc files if they are symlinks, so workaround by - # copying doc files over, so they become regular files... - mkdir "$out/DELETE_ME" - mv "$out/share/kak/doc" "$out/DELETE_ME" - cp -r --dereference "$out/DELETE_ME/doc" "$out/share/kak" - rm -Rf "$out/DELETE_ME" - ''; - - meta = kakoune.meta // { priority = (kakoune.meta.priority or lib.meta.defaultPriority) - 1; }; - } +symlinkJoin { + name = "kakoune-${kakoune.version}"; + + nativeBuildInputs = [ makeWrapper ]; + + paths = [ kakoune ] ++ requestedPlugins; + + postBuild = '' + # create a directory for bins that kakoune needs + # access to, without polluting the users path by adding + # that binary nested with this symlinkJoin. + mkdir -p $out/share/kak/bin + + # location of kak binary is used to find ../share/kak/autoload, + # unless explicitly overriden with KAKOUNE_RUNTIME + rm "$out/bin/kak" + makeWrapper "${kakoune}/bin/kak" "$out/bin/kak" \ + --set KAKOUNE_RUNTIME "$out/share/kak" \ + --suffix PATH : "$out/share/kak/bin" + + # currently kakoune ignores doc files if they are symlinks, so workaround by + # copying doc files over, so they become regular files... + mkdir "$out/DELETE_ME" + mv "$out/share/kak/doc" "$out/DELETE_ME" + cp -r --dereference "$out/DELETE_ME/doc" "$out/share/kak" + rm -Rf "$out/DELETE_ME" + ''; + + meta = kakoune.meta // { + priority = (kakoune.meta.priority or lib.meta.defaultPriority) - 1; + }; +} diff --git a/pkgs/applications/editors/libresprite/default.nix b/pkgs/applications/editors/libresprite/default.nix index e4e6a1dd3c811..d65389d917e27 100644 --- a/pkgs/applications/editors/libresprite/default.nix +++ b/pkgs/applications/editors/libresprite/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, cmake -, pkg-config -, ninja -, gtest + cmake, + pkg-config, + ninja, + gtest, -, curl -, freetype -, giflib -, libjpeg -, libpng -, libwebp -, libarchive -, pixman -, tinyxml-2 -, zlib -, SDL2 -, SDL2_image -, lua -, AppKit -, Cocoa -, Foundation + curl, + freetype, + giflib, + libjpeg, + libpng, + libwebp, + libarchive, + pixman, + tinyxml-2, + zlib, + SDL2, + SDL2_image, + lua, + AppKit, + Cocoa, + Foundation, -, nixosTests + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -46,26 +47,28 @@ stdenv.mkDerivation (finalAttrs: { gtest ]; - buildInputs = [ - curl - freetype - giflib - libjpeg - libpng - libwebp - libarchive - pixman - tinyxml-2 - zlib - SDL2 - SDL2_image - lua - # no v8 due to missing libplatform and libbase - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Cocoa - Foundation - ]; + buildInputs = + [ + curl + freetype + giflib + libjpeg + libpng + libwebp + libarchive + pixman + tinyxml-2 + zlib + SDL2 + SDL2_image + lua + # no v8 due to missing libplatform and libbase + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Cocoa + Foundation + ]; cmakeFlags = [ "-DWITH_DESKTOP_INTEGRATION=ON" @@ -92,19 +95,19 @@ stdenv.mkDerivation (finalAttrs: { description = "Animated sprite editor & pixel art tool, fork of Aseprite"; license = lib.licenses.gpl2Only; longDescription = '' - LibreSprite is a program to create animated sprites. Its main features are: + LibreSprite is a program to create animated sprites. Its main features are: - - Sprites are composed by layers & frames (as separated concepts). - - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. - - Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA). - - Export/import animations to/from Sprite Sheets. - - Tiled drawing mode, useful to draw patterns and textures. - - Undo/Redo for every operation. - - Real-time animation preview. - - Multiple editors support. - - Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. - - Onion skinning. - ''; + - Sprites are composed by layers & frames (as separated concepts). + - Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale. + - Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA). + - Export/import animations to/from Sprite Sheets. + - Tiled drawing mode, useful to draw patterns and textures. + - Undo/Redo for every operation. + - Real-time animation preview. + - Multiple editors support. + - Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc. + - Onion skinning. + ''; maintainers = with lib.maintainers; [ fgaz ]; platforms = lib.platforms.all; # https://github.com/LibreSprite/LibreSprite/issues/308 diff --git a/pkgs/applications/editors/manuskript/default.nix b/pkgs/applications/editors/manuskript/default.nix index 8fa589c13b5d4..56802dde7cd54 100644 --- a/pkgs/applications/editors/manuskript/default.nix +++ b/pkgs/applications/editors/manuskript/default.nix @@ -1,4 +1,10 @@ -{ lib, zlib, fetchFromGitHub, python3Packages, wrapQtAppsHook }: +{ + lib, + zlib, + fetchFromGitHub, + python3Packages, + wrapQtAppsHook, +}: python3Packages.buildPythonApplication rec { pname = "manuskript"; diff --git a/pkgs/applications/editors/molsketch/default.nix b/pkgs/applications/editors/molsketch/default.nix index dd3ee9bcdbb1c..ca8c048fa1822 100644 --- a/pkgs/applications/editors/molsketch/default.nix +++ b/pkgs/applications/editors/molsketch/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, qttools -, wrapQtAppsHook -, hicolor-icon-theme -, openbabel -, desktop-file-utils +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + qttools, + wrapQtAppsHook, + hicolor-icon-theme, + openbabel, + desktop-file-utils, }: stdenv.mkDerivation rec { @@ -41,7 +42,12 @@ stdenv.mkDerivation rec { ln -s $out/lib/molsketch/* $out/lib/. ''; - nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + wrapQtAppsHook + ]; buildInputs = [ hicolor-icon-theme openbabel diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 76fd7cea62380..f353e39d2d175 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, ncurses, texinfo, writeScript -, common-updater-scripts, git, nix, nixfmt-classic, coreutils, gnused -, callPackage, file ? null, gettext ? null, enableNls ? true, enableTiny ? false +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + ncurses, + texinfo, + writeScript, + common-updater-scripts, + git, + nix, + nixfmt-classic, + coreutils, + gnused, + callPackage, + file ? null, + gettext ? null, + enableNls ? true, + enableTiny ? false, }: assert enableNls -> (gettext != null); @@ -13,7 +29,8 @@ let hash = "sha256-1tJV7F+iwMPRV6FgnbTw+5m7vMhgaeXftYkr9GPR4xw="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "nano"; version = "8.2"; @@ -25,7 +42,10 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ texinfo ] ++ lib.optional enableNls gettext; buildInputs = [ ncurses ] ++ lib.optional (!enableTiny) file; - outputs = [ "out" "info" ]; + outputs = [ + "out" + "info" + ]; configureFlags = [ "--sysconfdir=/etc" @@ -33,16 +53,20 @@ in stdenv.mkDerivation rec { (lib.enableFeature enableTiny "tiny") ]; - postInstall = if enableTiny then - null - else '' - cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/ - ''; + postInstall = + if enableTiny then + null + else + '' + cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/ + ''; enableParallelBuilding = true; passthru = { - tests = { expect = callPackage ./test-with-expect.nix { }; }; + tests = { + expect = callPackage ./test-with-expect.nix { }; + }; updateScript = writeScript "update.sh" '' #!${stdenv.shell} @@ -76,7 +100,11 @@ in stdenv.mkDerivation rec { homepage = "https://www.nano-editor.org/"; description = "Small, user-friendly console text editor"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ joachifm nequissimus sigmasquadron ]; + maintainers = with maintainers; [ + joachifm + nequissimus + sigmasquadron + ]; platforms = platforms.all; mainProgram = "nano"; }; diff --git a/pkgs/applications/editors/nano/test-with-expect.nix b/pkgs/applications/editors/nano/test-with-expect.nix index 60cd302045429..9e97e3843df85 100644 --- a/pkgs/applications/editors/nano/test-with-expect.nix +++ b/pkgs/applications/editors/nano/test-with-expect.nix @@ -1,35 +1,46 @@ -{ nano, expect, runCommand, writeScriptBin }: +{ + nano, + expect, + runCommand, + writeScriptBin, +}: -let expect-script = writeScriptBin "expect-script" '' - #!${expect}/bin/expect -f +let + expect-script = writeScriptBin "expect-script" '' + #!${expect}/bin/expect -f - # Load nano - spawn nano file.txt - expect "GNU nano ${nano.version}" + # Load nano + spawn nano file.txt + expect "GNU nano ${nano.version}" - # Add some text to the buffer - send "Hello world!" - expect "Hello world!" + # Add some text to the buffer + send "Hello world!" + expect "Hello world!" - # Send ctrl-x (exit) - send "\030" - expect "Save modified buffer?" + # Send ctrl-x (exit) + send "\030" + expect "Save modified buffer?" - # Answer "yes" - send "y" - expect "File Name to Write" + # Answer "yes" + send "y" + expect "File Name to Write" - # Send "return" to accept the file path. - send "\r" - sleep 1 - exit -''; in + # Send "return" to accept the file path. + send "\r" + sleep 1 + exit + ''; +in runCommand "nano-test-expect" -{ - nativeBuildInputs = [ nano expect ]; - passthru = { inherit expect-script; }; -} '' - expect -f ${expect-script}/bin/expect-script - grep "Hello world!" file.txt - touch $out -'' + { + nativeBuildInputs = [ + nano + expect + ]; + passthru = { inherit expect-script; }; + } + '' + expect -f ${expect-script}/bin/expect-script + grep "Hello world!" file.txt + touch $out + '' diff --git a/pkgs/applications/editors/neovim/gnvim/default.nix b/pkgs/applications/editors/neovim/gnvim/default.nix index e39a43a85863d..ea2f543b5ef10 100644 --- a/pkgs/applications/editors/neovim/gnvim/default.nix +++ b/pkgs/applications/editors/neovim/gnvim/default.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, glib, gtk4 }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + glib, + gtk4, +}: rustPlatform.buildRustPackage rec { pname = "gnvim-unwrapped"; @@ -18,7 +25,10 @@ rustPlatform.buildRustPackage rec { # for the `glib-compile-resources` command glib ]; - buildInputs = [ glib gtk4 ]; + buildInputs = [ + glib + gtk4 + ]; # The default build script tries to get the version through Git, so we # replace it diff --git a/pkgs/applications/editors/neovim/gnvim/wrapper.nix b/pkgs/applications/editors/neovim/gnvim/wrapper.nix index 7869885d1b749..dd651f56ff15e 100644 --- a/pkgs/applications/editors/neovim/gnvim/wrapper.nix +++ b/pkgs/applications/editors/neovim/gnvim/wrapper.nix @@ -1,22 +1,30 @@ -{ lib, stdenv, gnvim-unwrapped, neovim, makeWrapper }: +{ + lib, + stdenv, + gnvim-unwrapped, + neovim, + makeWrapper, +}: stdenv.mkDerivation { pname = "gnvim"; version = gnvim-unwrapped.version; - buildCommand = '' - makeWrapper '${gnvim-unwrapped}/bin/gnvim' "$out/bin/gnvim" \ - --prefix PATH : "${neovim}/bin" \ - --set GNVIM_RUNTIME_PATH "${gnvim-unwrapped}/share/gnvim/runtime" - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - mkdir -p "$out/share" - ln -s '${gnvim-unwrapped}/share/icons' "$out/share/icons" + buildCommand = + '' + makeWrapper '${gnvim-unwrapped}/bin/gnvim' "$out/bin/gnvim" \ + --prefix PATH : "${neovim}/bin" \ + --set GNVIM_RUNTIME_PATH "${gnvim-unwrapped}/share/gnvim/runtime" + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + mkdir -p "$out/share" + ln -s '${gnvim-unwrapped}/share/icons' "$out/share/icons" - # copy and fix .desktop file - cp -r '${gnvim-unwrapped}/share/applications' "$out/share/applications" - # Sed needs a writable directory to do inplace modifications - chmod u+rw "$out/share/applications" - sed -e "s|Exec=.\\+gnvim\\>|Exec=gnvim|" -i $out/share/applications/*.desktop - ''; + # copy and fix .desktop file + cp -r '${gnvim-unwrapped}/share/applications' "$out/share/applications" + # Sed needs a writable directory to do inplace modifications + chmod u+rw "$out/share/applications" + sed -e "s|Exec=.\\+gnvim\\>|Exec=gnvim|" -i $out/share/applications/*.desktop + ''; preferLocalBuild = true; @@ -28,4 +36,3 @@ stdenv.mkDerivation { inherit (gnvim-unwrapped) meta; } - diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index 75b461a908a3c..f19ac51e9d551 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -1,40 +1,43 @@ { logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; msgpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5fsgchkpcca4wf3pipbb2jbj523l7fbaq37j10cr0yymwlkc7z"; type = "gem"; }; version = "1.7.5"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "sha256-H9BBOLbkqQAX6NG4BMA5AxOZhm/z+6u3girqNnx4YV0="; type = "gem"; }; version = "1.15.0"; }; neovim = { - dependencies = ["msgpack" "multi_json"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "msgpack" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gl34rriwwmj6p1s6ms0b311wmqaqiyc510svq31283jk0kp0qcd"; type = "gem"; }; diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix index 946619698dbc4..926e0a5cf5c4e 100644 --- a/pkgs/applications/editors/neovim/utils.nix +++ b/pkgs/applications/editors/neovim/utils.nix @@ -1,34 +1,36 @@ -{ lib -, stdenv -, makeSetupHook -, callPackage -, config -, vimUtils -, vimPlugins -, nodejs -, neovim-unwrapped -, bundlerEnv -, ruby -, lua -, python3Packages -, wrapNeovimUnstable +{ + lib, + stdenv, + makeSetupHook, + callPackage, + config, + vimUtils, + vimPlugins, + nodejs, + neovim-unwrapped, + bundlerEnv, + ruby, + lua, + python3Packages, + wrapNeovimUnstable, }: let inherit (vimUtils) toVimPlugin; - /* transform all plugins into an attrset - { optional = bool; plugin = package; } + /* + transform all plugins into an attrset + { optional = bool; plugin = package; } */ - normalizePlugins = plugins: - let - defaultPlugin = { - plugin = null; - config = null; - optional = false; - }; - in - map (x: defaultPlugin // (if (x ? plugin) then x else { plugin = x; })) plugins; - + normalizePlugins = + plugins: + let + defaultPlugin = { + plugin = null; + config = null; + optional = false; + }; + in + map (x: defaultPlugin // (if (x ? plugin) then x else { plugin = x; })) plugins; /** accepts a list of normalized plugins and convert them into a vim package @@ -47,97 +49,135 @@ let => { start = [ vim-fugitive ]; opt = []; } ::: */ - normalizedPluginsToVimPackage = normalizedPlugins: + normalizedPluginsToVimPackage = + normalizedPlugins: let pluginsPartitioned = lib.partition (x: x.optional == true) normalizedPlugins; - in { - start = map (x: x.plugin) pluginsPartitioned.wrong; - opt = map (x: x.plugin) pluginsPartitioned.right; - }; + in + { + start = map (x: x.plugin) pluginsPartitioned.wrong; + opt = map (x: x.plugin) pluginsPartitioned.right; + }; - /* returns everything needed for the caller to wrap its own neovim: - - the generated content of the future init.vim - - the arguments to wrap neovim with - The caller is responsible for writing the init.vim and adding it to the wrapped - arguments (["-u" writeText "init.vim" GENERATEDRC)]). - This makes it possible to write the config anywhere: on a per-project basis - .nvimrc or in $XDG_CONFIG_HOME/nvim/init.vim to avoid sideeffects. - Indeed, note that wrapping with `-u init.vim` has sideeffects like .nvimrc wont be loaded - anymore, $MYVIMRC wont be set etc - */ - makeNeovimConfig = { - customRC ? "" - /* the function you would have passed to lua.withPackages */ - , extraLuaPackages ? (_: [ ]) - , ...}@attrs: let - luaEnv = neovim-unwrapped.lua.withPackages extraLuaPackages; - in attrs // { - neovimRcContent = customRC; - wrapperArgs = lib.optionals (luaEnv != null) [ - "--prefix" "LUA_PATH" ";" (neovim-unwrapped.lua.pkgs.luaLib.genLuaPathAbsStr luaEnv) - "--prefix" "LUA_CPATH" ";" (neovim-unwrapped.lua.pkgs.luaLib.genLuaCPathAbsStr luaEnv) + /* + returns everything needed for the caller to wrap its own neovim: + - the generated content of the future init.vim + - the arguments to wrap neovim with + The caller is responsible for writing the init.vim and adding it to the wrapped + arguments (["-u" writeText "init.vim" GENERATEDRC)]). + This makes it possible to write the config anywhere: on a per-project basis + .nvimrc or in $XDG_CONFIG_HOME/nvim/init.vim to avoid sideeffects. + Indeed, note that wrapping with `-u init.vim` has sideeffects like .nvimrc wont be loaded + anymore, $MYVIMRC wont be set etc + */ + makeNeovimConfig = + { + customRC ? "", + # the function you would have passed to lua.withPackages + extraLuaPackages ? (_: [ ]), + ... + }@attrs: + let + luaEnv = neovim-unwrapped.lua.withPackages extraLuaPackages; + in + attrs + // { + neovimRcContent = customRC; + wrapperArgs = lib.optionals (luaEnv != null) [ + "--prefix" + "LUA_PATH" + ";" + (neovim-unwrapped.lua.pkgs.luaLib.genLuaPathAbsStr luaEnv) + "--prefix" + "LUA_CPATH" + ";" + (neovim-unwrapped.lua.pkgs.luaLib.genLuaCPathAbsStr luaEnv) ]; - }; - + }; # to keep backwards compatibility for people using neovim.override - legacyWrapper = neovim: { - extraMakeWrapperArgs ? "" - /* the function you would have passed to python.withPackages */ - , extraPythonPackages ? (_: []) - /* the function you would have passed to python.withPackages */ - , withPython3 ? true, extraPython3Packages ? (_: []) - /* the function you would have passed to lua.withPackages */ - , extraLuaPackages ? (_: []) - , withNodeJs ? false - , withRuby ? true - , vimAlias ? false - , viAlias ? false - , configure ? {} - , extraName ? "" - }: + legacyWrapper = + neovim: + { + extraMakeWrapperArgs ? "", + # the function you would have passed to python.withPackages + extraPythonPackages ? (_: [ ]), + # the function you would have passed to python.withPackages + withPython3 ? true, + extraPython3Packages ? (_: [ ]), + # the function you would have passed to lua.withPackages + extraLuaPackages ? (_: [ ]), + withNodeJs ? false, + withRuby ? true, + vimAlias ? false, + viAlias ? false, + configure ? { }, + extraName ? "", + }: let # we convert from the old configure.format to - plugins = if builtins.hasAttr "plug" configure then + plugins = + if builtins.hasAttr "plug" configure then throw "The neovim legacy wrapper doesn't support configure.plug anymore, please setup your plugins via 'configure.packages' instead" else - lib.flatten (lib.mapAttrsToList genPlugin (configure.packages or {})); - genPlugin = packageName: {start ? [], opt ? []}: - start ++ (map (p: { plugin = p; optional = true; }) opt); + lib.flatten (lib.mapAttrsToList genPlugin (configure.packages or { })); + genPlugin = + packageName: + { + start ? [ ], + opt ? [ ], + }: + start + ++ (map (p: { + plugin = p; + optional = true; + }) opt); res = makeNeovimConfig { inherit withPython3; inherit extraPython3Packages; inherit extraLuaPackages; - inherit withNodeJs withRuby viAlias vimAlias; + inherit + withNodeJs + withRuby + viAlias + vimAlias + ; customRC = configure.customRC or ""; inherit plugins; inherit extraName; }; in - wrapNeovimUnstable neovim (res // { - wrapperArgs = lib.escapeShellArgs res.wrapperArgs + " " + extraMakeWrapperArgs; - wrapRc = (configure != {}); - }); - - /* Generate vim.g._host_prog lua rc to setup host providers - - Mapping a boolean argument to a key that tells us whether to add - vim.g._host_prog=$out/bin/nvim- - Or this: - let g:loaded_${prog}_provider=0 - While the latter tells nvim that this provider is not available */ - generateProviderRc = { - withPython3 ? true - , withNodeJs ? false - , withRuby ? true - # perl is problematic https://github.com/NixOS/nixpkgs/issues/132368 - , withPerl ? false - - # so that we can pass the full neovim config while ignoring it - , ... - }: let + wrapNeovimUnstable neovim ( + res + // { + wrapperArgs = lib.escapeShellArgs res.wrapperArgs + " " + extraMakeWrapperArgs; + wrapRc = (configure != { }); + } + ); + + /* + Generate vim.g._host_prog lua rc to setup host providers + + Mapping a boolean argument to a key that tells us whether to add + vim.g._host_prog=$out/bin/nvim- + Or this: + let g:loaded_${prog}_provider=0 + While the latter tells nvim that this provider is not available + */ + generateProviderRc = + { + withPython3 ? true, + withNodeJs ? false, + withRuby ? true, + # perl is problematic https://github.com/NixOS/nixpkgs/issues/132368 + withPerl ? false, + + # so that we can pass the full neovim config while ignoring it + ... + }: + let hostprog_check_table = { node = withNodeJs; python = false; @@ -146,7 +186,8 @@ let perl = withPerl; }; - genProviderCommand = prog: withProg: + genProviderCommand = + prog: withProg: if withProg then "vim.g.${prog}_host_prog='${placeholder "out"}/bin/nvim-${prog}'" else @@ -154,9 +195,10 @@ let hostProviderLua = lib.mapAttrsToList genProviderCommand hostprog_check_table; in - lib.concatStringsSep ";" hostProviderLua; + lib.concatStringsSep ";" hostProviderLua; - /* Converts a lua package into a neovim plugin. + /* + Converts a lua package into a neovim plugin. Does so by installing the lua package with a flat hierarchy of folders */ buildNeovimPlugin = callPackage ./build-neovim-plugin.nix { @@ -164,7 +206,8 @@ let inherit lua; }; - grammarToPlugin = grammar: + grammarToPlugin = + grammar: let name = lib.pipe grammar [ lib.getName @@ -184,45 +227,49 @@ let ) vimPlugins.nvim-treesitter.grammarPlugins; isNvimGrammar = x: builtins.elem x nvimGrammars; - toNvimTreesitterGrammar = callPackage ({ }: + toNvimTreesitterGrammar = callPackage ( + { }: makeSetupHook { name = "to-nvim-treesitter-grammar"; - } ./to-nvim-treesitter-grammar.sh) {}; + } ./to-nvim-treesitter-grammar.sh + ) { }; in - (toVimPlugin (stdenv.mkDerivation { - name = "treesitter-grammar-${name}"; - - origGrammar = grammar; - grammarName = name; - - # Queries for nvim-treesitter's (not just tree-sitter's) officially - # supported languages are bundled with nvim-treesitter - # Queries from repositories for such languages are incompatible - # with nvim's implementation of treesitter. - # - # We try our best effort to only include queries for niche languages - # (there are grammars for them in nixpkgs, but they're in - # `tree-sitter-grammars.tree-sitter-*`; `vimPlugins.nvim-treesitter-parsers.*` - # only includes officially supported languages) - # - # To use grammar for a niche language, users usually do: - # packages.all.start = with final.vimPlugins; [ - # (pkgs.neovimUtils.grammarToPlugin pkgs.tree-sitter-grammars.tree-sitter-LANG) - # ] - # - # See also https://github.com/NixOS/nixpkgs/pull/344849#issuecomment-2381447839 - installQueries = !isNvimGrammar grammar; - - dontUnpack = true; - __structuredAttrs = true; - - nativeBuildInputs = [ toNvimTreesitterGrammar ]; - - meta = { - platforms = lib.platforms.all; - } // grammar.meta; - })); + (toVimPlugin ( + stdenv.mkDerivation { + name = "treesitter-grammar-${name}"; + + origGrammar = grammar; + grammarName = name; + + # Queries for nvim-treesitter's (not just tree-sitter's) officially + # supported languages are bundled with nvim-treesitter + # Queries from repositories for such languages are incompatible + # with nvim's implementation of treesitter. + # + # We try our best effort to only include queries for niche languages + # (there are grammars for them in nixpkgs, but they're in + # `tree-sitter-grammars.tree-sitter-*`; `vimPlugins.nvim-treesitter-parsers.*` + # only includes officially supported languages) + # + # To use grammar for a niche language, users usually do: + # packages.all.start = with final.vimPlugins; [ + # (pkgs.neovimUtils.grammarToPlugin pkgs.tree-sitter-grammars.tree-sitter-LANG) + # ] + # + # See also https://github.com/NixOS/nixpkgs/pull/344849#issuecomment-2381447839 + installQueries = !isNvimGrammar grammar; + + dontUnpack = true; + __structuredAttrs = true; + + nativeBuildInputs = [ toNvimTreesitterGrammar ]; + + meta = { + platforms = lib.platforms.all; + } // grammar.meta; + } + )); /* Fork of vimUtils.packDir that additionnally generates a propagated-build-inputs-file that @@ -233,19 +280,20 @@ let packDir ( {myVimPackage = { start = [ vimPlugins.vim-fugitive ]; opt = []; }; }) => "/nix/store/xxxxx-pack-dir" */ - packDir = packages: - let - rawPackDir = vimUtils.packDir packages; + packDir = + packages: + let + rawPackDir = vimUtils.packDir packages; - in + in rawPackDir.override ({ - postBuild = '' - mkdir $out/nix-support - for i in $(find -L $out -name propagated-build-inputs ); do - cat "$i" >> $out/nix-support/propagated-build-inputs - done - '';}); - + postBuild = '' + mkdir $out/nix-support + for i in $(find -L $out -name propagated-build-inputs ); do + cat "$i" >> $out/nix-support/propagated-build-inputs + done + ''; + }); in { @@ -257,6 +305,7 @@ in inherit normalizePlugins normalizedPluginsToVimPackage; inherit buildNeovimPlugin; -} // lib.optionalAttrs config.allowAliases { +} +// lib.optionalAttrs config.allowAliases { buildNeovimPluginFrom2Nix = lib.warn "buildNeovimPluginFrom2Nix was renamed to buildNeovimPlugin" buildNeovimPlugin; } diff --git a/pkgs/applications/editors/notepad-next/default.nix b/pkgs/applications/editors/notepad-next/default.nix index aecdc76d9c688..e7a41ddc482b0 100644 --- a/pkgs/applications/editors/notepad-next/default.nix +++ b/pkgs/applications/editors/notepad-next/default.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, fetchFromGitHub, qmake, qttools, qtx11extras, stdenv }: +{ + mkDerivation, + lib, + fetchFromGitHub, + qmake, + qttools, + qtx11extras, + stdenv, +}: mkDerivation rec { pname = "notepad-next"; @@ -13,7 +21,10 @@ mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; buildInputs = [ qtx11extras ]; qmakeFlags = [ diff --git a/pkgs/applications/editors/notepadqq/default.nix b/pkgs/applications/editors/notepadqq/default.nix index 0fbf6685a79d9..019887ee324bb 100644 --- a/pkgs/applications/editors/notepadqq/default.nix +++ b/pkgs/applications/editors/notepadqq/default.nix @@ -1,14 +1,15 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, pkg-config -, which -, libuchardet -, qtbase -, qtsvg -, qttools -, qtwebengine -, qtwebsockets +{ + mkDerivation, + lib, + fetchFromGitHub, + pkg-config, + which, + libuchardet, + qtbase, + qtsvg, + qttools, + qtwebengine, + qtwebsockets, }: mkDerivation rec { diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix index e210787327b90..d0f9dfc4b6fd9 100644 --- a/pkgs/applications/editors/okteta/default.nix +++ b/pkgs/applications/editors/okteta/default.nix @@ -1,6 +1,21 @@ -{ mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools, qtscript, kconfig -, kinit, karchive, kcrash, kcmutils, kconfigwidgets, knewstuff, kparts -, qca-qt5, shared-mime-info }: +{ + mkDerivation, + lib, + fetchurl, + extra-cmake-modules, + kdoctools, + qtscript, + kconfig, + kinit, + karchive, + kcrash, + kcmutils, + kconfigwidgets, + knewstuff, + kparts, + qca-qt5, + shared-mime-info, +}: mkDerivation rec { pname = "okteta"; @@ -11,7 +26,11 @@ mkDerivation rec { sha256 = "sha256-xAlhZtQuIRtvMaHflCr89lHH6ocqIRAECwHdRa+/imM="; }; - nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + qtscript + extra-cmake-modules + kdoctools + ]; buildInputs = [ shared-mime-info ]; propagatedBuildInputs = [ @@ -26,13 +45,19 @@ mkDerivation rec { kcrash ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { license = licenses.gpl2; description = "Hex editor"; homepage = "https://apps.kde.org/okteta/"; - maintainers = with maintainers; [ peterhoeg bkchr ]; + maintainers = with maintainers; [ + peterhoeg + bkchr + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/pinegrow/default.nix b/pkgs/applications/editors/pinegrow/default.nix index 2e3de9ae8aa36..25d3f0a100bb5 100644 --- a/pkgs/applications/editors/pinegrow/default.nix +++ b/pkgs/applications/editors/pinegrow/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchurl -, unzip -, udev -, nwjs -, gcc-unwrapped -, autoPatchelfHook -, gsettings-desktop-schemas -, gtk3 -, wrapGAppsHook3 -, makeWrapper -, pinegrowVersion ? "7" +{ + stdenv, + lib, + fetchurl, + unzip, + udev, + nwjs, + gcc-unwrapped, + autoPatchelfHook, + gsettings-desktop-schemas, + gtk3, + wrapGAppsHook3, + makeWrapper, + pinegrowVersion ? "7", }: let @@ -26,7 +27,9 @@ let "7" = { version = "7.8"; src = fetchurl { - url = "https://github.com/Pinegrow/PinegrowReleases/releases/download/pg${builtins.substring 0 4 (versions."7".version)}/PinegrowLinux64.${versions."7".version}.zip"; + url = "https://github.com/Pinegrow/PinegrowReleases/releases/download/pg${ + builtins.substring 0 4 (versions."7".version) + }/PinegrowLinux64.${versions."7".version}.zip"; hash = "sha256-tYQfPfzKRwClNwgSoJfMwG3LHhi3O/iFuuwIVHS8OXk="; }; }; @@ -58,7 +61,13 @@ stdenv.mkDerivation rec { dontWrapGApps = true; makeWrapperArgs = [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib gtk3 udev ]}" + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + gcc-unwrapped.lib + gtk3 + udev + ] + }" "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" ]; diff --git a/pkgs/applications/editors/qxmledit/default.nix b/pkgs/applications/editors/qxmledit/default.nix index 946a56917d630..9d64e6549c8e9 100644 --- a/pkgs/applications/editors/qxmledit/default.nix +++ b/pkgs/applications/editors/qxmledit/default.nix @@ -1,11 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml -, libGLU }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + qtxmlpatterns, + qtsvg, + qtscxml, + libGLU, +}: stdenv.mkDerivation rec { pname = "qxmledit"; version = "0.9.17"; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; src = fetchFromGitHub { owner = "lbellonda"; @@ -16,7 +28,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtxmlpatterns qtsvg qtscxml libGLU ]; + buildInputs = [ + qtbase + qtxmlpatterns + qtsvg + qtscxml + libGLU + ]; qmakeFlags = [ "CONFIG+=release" ]; diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix index 4709d880056bc..7600b3376d17d 100644 --- a/pkgs/applications/editors/rednotebook/default.nix +++ b/pkgs/applications/editors/rednotebook/default.nix @@ -1,6 +1,17 @@ -{ lib, buildPythonApplication, fetchFromGitHub -, gdk-pixbuf, glib, gobject-introspection, gtk3, gtksourceview, pango, webkitgtk_4_0 -, pygobject3, pyyaml, setuptools +{ + lib, + buildPythonApplication, + fetchFromGitHub, + gdk-pixbuf, + glib, + gobject-introspection, + gtk3, + gtksourceview, + pango, + webkitgtk_4_0, + pygobject3, + pyyaml, + setuptools, }: buildPythonApplication rec { @@ -23,8 +34,14 @@ buildPythonApplication rec { build-system = [ setuptools ]; propagatedBuildInputs = [ - gdk-pixbuf glib gtk3 gtksourceview pango webkitgtk_4_0 - pygobject3 pyyaml + gdk-pixbuf + glib + gtk3 + gtksourceview + pango + webkitgtk_4_0 + pygobject3 + pyyaml ]; makeWrapperArgs = [ diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix index 10e6a04498ab5..095447a17a404 100644 --- a/pkgs/applications/editors/retext/default.nix +++ b/pkgs/applications/editors/retext/default.nix @@ -1,16 +1,20 @@ -{ lib -, python3 -, fetchzip -, fetchFromGitHub -, wrapQtAppsHook -, qtbase -, qttools -, qtsvg -, buildEnv -, aspellDicts +{ + lib, + python3, + fetchzip, + fetchFromGitHub, + wrapQtAppsHook, + qtbase, + qttools, + qtsvg, + buildEnv, + aspellDicts, # Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries # available. -, enchantAspellDicts ? with aspellDicts; [ en en-computers ] + enchantAspellDicts ? with aspellDicts; [ + en + en-computers + ], }: python3.pkgs.buildPythonApplication rec { @@ -63,10 +67,12 @@ python3.pkgs.buildPythonApplication rec { postInstall = '' makeWrapperArgs+=("''${qtWrapperArgs[@]}") makeWrapperArgs+=( - "--set" "ASPELL_CONF" "dict-dir ${buildEnv { - name = "aspell-all-dicts"; - paths = map (path: "${path}/lib/aspell") enchantAspellDicts; - }}" + "--set" "ASPELL_CONF" "dict-dir ${ + buildEnv { + name = "aspell-all-dicts"; + paths = map (path: "${path}/lib/aspell") enchantAspellDicts; + } + }" ) cp ${toolbarIcons}/* $out/${python3.pkgs.python.sitePackages}/ReText/icons diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix index 022e9ec697202..4bba56f46e329 100644 --- a/pkgs/applications/editors/sigil/default.nix +++ b/pkgs/applications/editors/sigil/default.nix @@ -1,6 +1,17 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, makeWrapper -, boost, xercesc, qtbase, qttools, qtwebengine, qtxmlpatterns -, python3Packages +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + makeWrapper, + boost, + xercesc, + qtbase, + qttools, + qtwebengine, + qtxmlpatterns, + python3Packages, }: mkDerivation rec { @@ -16,10 +27,19 @@ mkDerivation rec { pythonPath = with python3Packages; [ lxml ]; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; buildInputs = [ - boost xercesc qtbase qttools qtwebengine qtxmlpatterns + boost + xercesc + qtbase + qttools + qtwebengine + qtxmlpatterns python3Packages.lxml ]; diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix index f7cd2872a227b..61eb5f8858521 100644 --- a/pkgs/applications/editors/standardnotes/default.nix +++ b/pkgs/applications/editors/standardnotes/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, makeWrapper -, electron -, libsecret -, asar -, glib -, desktop-file-utils -, callPackage +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + electron, + libsecret, + asar, + glib, + desktop-file-utils, + callPackage, }: let @@ -31,37 +32,43 @@ stdenv.mkDerivation rec { dontBuild = true; - nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils asar ]; - - installPhase = let - libPath = lib.makeLibraryPath [ - libsecret - glib - (lib.getLib stdenv.cc.cc) - ]; - in + nativeBuildInputs = [ + makeWrapper + dpkg + desktop-file-utils + asar + ]; + + installPhase = + let + libPath = lib.makeLibraryPath [ + libsecret + glib + (lib.getLib stdenv.cc.cc) + ]; + in '' - runHook preInstall + runHook preInstall - mkdir -p $out/bin $out/share/standardnotes - cp -R usr/share/{applications,icons} $out/share - cp -R opt/Standard\ Notes/resources/app.asar $out/share/standardnotes/ - asar e $out/share/standardnotes/app.asar asar-unpacked - find asar-unpacked -name '*.node' -exec patchelf \ - --add-rpath "${libPath}" \ - {} \; - asar p asar-unpacked $out/share/standardnotes/app.asar + mkdir -p $out/bin $out/share/standardnotes + cp -R usr/share/{applications,icons} $out/share + cp -R opt/Standard\ Notes/resources/app.asar $out/share/standardnotes/ + asar e $out/share/standardnotes/app.asar asar-unpacked + find asar-unpacked -name '*.node' -exec patchelf \ + --add-rpath "${libPath}" \ + {} \; + asar p asar-unpacked $out/share/standardnotes/app.asar - makeWrapper ${electron}/bin/electron $out/bin/standardnotes \ - --add-flags $out/share/standardnotes/app.asar + makeWrapper ${electron}/bin/electron $out/bin/standardnotes \ + --add-flags $out/share/standardnotes/app.asar - ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \ - --set-key Exec --set-value standardnotes usr/share/applications/standard-notes.desktop + ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \ + --set-key Exec --set-value standardnotes usr/share/applications/standard-notes.desktop - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = callPackage ./update.nix {}; + passthru.updateScript = callPackage ./update.nix { }; meta = with lib; { description = "Simple and private notes app"; @@ -71,7 +78,11 @@ stdenv.mkDerivation rec { ''; homepage = "https://standardnotes.org"; license = licenses.agpl3Only; - maintainers = with maintainers; [ mgregoire chuangzhu squalus ]; + maintainers = with maintainers; [ + mgregoire + chuangzhu + squalus + ]; sourceProvenance = [ sourceTypes.binaryNativeCode ]; platforms = builtins.attrNames srcjson.deb; mainProgram = "standardnotes"; diff --git a/pkgs/applications/editors/standardnotes/update.nix b/pkgs/applications/editors/standardnotes/update.nix index ab8e472a324f8..a6110e0684de2 100644 --- a/pkgs/applications/editors/standardnotes/update.nix +++ b/pkgs/applications/editors/standardnotes/update.nix @@ -1,9 +1,27 @@ -{ writeScript -, lib, curl, runtimeShell, jq, coreutils, moreutils, nix, gnused }: +{ + writeScript, + lib, + curl, + runtimeShell, + jq, + coreutils, + moreutils, + nix, + gnused, +}: writeScript "update-standardnotes" '' #!${runtimeShell} - PATH=${lib.makeBinPath [ jq curl nix coreutils moreutils gnused ]} + PATH=${ + lib.makeBinPath [ + jq + curl + nix + coreutils + moreutils + gnused + ] + } set -euo pipefail set -x diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix index 7c5e9aef1ea1f..65d01a6eedb16 100644 --- a/pkgs/applications/editors/sublime/3/common.nix +++ b/pkgs/applications/editors/sublime/3/common.nix @@ -1,31 +1,58 @@ -{ buildVersion, x32sha256, x64sha256, dev ? false }: +{ + buildVersion, + x32sha256, + x64sha256, + dev ? false, +}: -{ fetchurl, lib, stdenv, xorg, glib, glibcLocales, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook3 -, pkexecPath ? "/run/wrappers/bin/pkexec" -, openssl, bzip2, bash, unzip, zip +{ + fetchurl, + lib, + stdenv, + xorg, + glib, + glibcLocales, + gtk3, + cairo, + pango, + libredirect, + makeWrapper, + wrapGAppsHook3, + pkexecPath ? "/run/wrappers/bin/pkexec", + openssl, + bzip2, + bash, + unzip, + zip, }: let pname = "sublimetext3"; packageAttribute = "sublime3${lib.optionalString dev "-dev"}"; - binaries = [ "sublime_text" "plugin_host" "crash_reporter" ]; + binaries = [ + "sublime_text" + "plugin_host" + "crash_reporter" + ]; primaryBinary = "sublime_text"; - primaryBinaryAliases = [ "subl" "sublime" "sublime3" ]; + primaryBinaryAliases = [ + "subl" + "sublime" + "sublime3" + ]; downloadUrl = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2"; versionUrl = "https://download.sublimetext.com/latest/${if dev then "dev" else "stable"}"; versionFile = builtins.toString ./packages.nix; - archSha256 = - if stdenv.hostPlatform.system == "i686-linux" then - x32sha256 - else - x64sha256; - arch = - if stdenv.hostPlatform.system == "i686-linux" then - "x32" - else - "x64"; - - libPath = lib.makeLibraryPath [ xorg.libX11 glib gtk3 cairo pango ]; + archSha256 = if stdenv.hostPlatform.system == "i686-linux" then x32sha256 else x64sha256; + arch = if stdenv.hostPlatform.system == "i686-linux" then "x32" else "x64"; + + libPath = lib.makeLibraryPath [ + xorg.libX11 + glib + gtk3 + cairo + pango + ]; redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]; binaryPackage = stdenv.mkDerivation { @@ -39,8 +66,16 @@ let dontStrip = true; dontPatchELF = true; - buildInputs = [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH - nativeBuildInputs = [ zip unzip makeWrapper wrapGAppsHook3 ]; + buildInputs = [ + glib + gtk3 + ]; # for GSETTINGS_SCHEMAS_PATH + nativeBuildInputs = [ + zip + unzip + makeWrapper + wrapGAppsHook3 + ]; # make exec.py in Default.sublime-package use own bash with an LD_PRELOAD instead of "/bin/bash" patchPhase = '' @@ -62,7 +97,7 @@ let buildPhase = '' runHook preBuild - for binary in ${ builtins.concatStringsSep " " binaries }; do + for binary in ${builtins.concatStringsSep " " binaries}; do patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath ${libPath}:${lib.getLib stdenv.cc.cc}/lib${lib.optionalString stdenv.hostPlatform.is64bit "64"} \ @@ -104,7 +139,8 @@ let wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${lib.getLib stdenv.cc.cc}/lib${lib.optionalString stdenv.hostPlatform.is64bit "64"}/libgcc_s.so.1:${lib.getLib openssl}/lib/libssl.so:${bzip2.out}/lib/libbz2.so ''; }; -in stdenv.mkDerivation (rec { +in +stdenv.mkDerivation (rec { inherit pname; version = buildVersion; @@ -114,25 +150,37 @@ in stdenv.mkDerivation (rec { nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p "$out/bin" - makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" - '' + builtins.concatStringsSep "" (map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases) + '' - mkdir -p "$out/share/applications" - substitute "''$${primaryBinary}/${primaryBinary}.desktop" "$out/share/applications/${primaryBinary}.desktop" --replace "/opt/${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" - for directory in ''$${primaryBinary}/Icon/*; do - size=$(basename $directory) - mkdir -p "$out/share/icons/hicolor/$size/apps" - ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps - done - ''; + installPhase = + '' + mkdir -p "$out/bin" + makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" + '' + + builtins.concatStringsSep "" ( + map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases + ) + + '' + mkdir -p "$out/share/applications" + substitute "''$${primaryBinary}/${primaryBinary}.desktop" "$out/share/applications/${primaryBinary}.desktop" --replace "/opt/${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" + for directory in ''$${primaryBinary}/Icon/*; do + size=$(basename $directory) + mkdir -p "$out/share/icons/hicolor/$size/apps" + ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps + done + ''; meta = with lib; { description = "Sophisticated text editor for code, markup and prose"; homepage = "https://www.sublimetext.com/"; - maintainers = with maintainers; [ wmertens demin-dmitriy zimbatm ]; + maintainers = with maintainers; [ + wmertens + demin-dmitriy + zimbatm + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; }) diff --git a/pkgs/applications/editors/sublime/3/packages.nix b/pkgs/applications/editors/sublime/3/packages.nix index d72966e04401d..e511ba54103fc 100644 --- a/pkgs/applications/editors/sublime/3/packages.nix +++ b/pkgs/applications/editors/sublime/3/packages.nix @@ -3,17 +3,17 @@ let common = opts: callPackage (import ./common.nix opts); in - { - sublime3-dev = common { - buildVersion = "3210"; - dev = true; - x32sha256 = "1ngr4c8h2mafy96mi8dd3g8mg5r9ha1cpcd8p3gz7jwpbypvkkbv"; - x64sha256 = "0j65a4ylgga1qzc74wf3k5craghahma8hwqg3zs1rgzz601nl693"; - } {}; +{ + sublime3-dev = common { + buildVersion = "3210"; + dev = true; + x32sha256 = "1ngr4c8h2mafy96mi8dd3g8mg5r9ha1cpcd8p3gz7jwpbypvkkbv"; + x64sha256 = "0j65a4ylgga1qzc74wf3k5craghahma8hwqg3zs1rgzz601nl693"; + } { }; - sublime3 = common { - buildVersion = "3211"; - x32sha256 = "0w9hba1nl2hv1mri418n7v0m321b6wqphb1knll23ldv5fb0j1j8"; - x64sha256 = "1vkldmimyjhbgplcd6r27gvk64rr7cparfd44hy6qdyzwsjqqg0b"; - } {}; - } + sublime3 = common { + buildVersion = "3211"; + x32sha256 = "0w9hba1nl2hv1mri418n7v0m321b6wqphb1knll23ldv5fb0j1j8"; + x64sha256 = "1vkldmimyjhbgplcd6r27gvk64rr7cparfd44hy6qdyzwsjqqg0b"; + } { }; +} diff --git a/pkgs/applications/editors/sublime/4/common.nix b/pkgs/applications/editors/sublime/4/common.nix index 8390a004b1f4a..5eb44da324944 100644 --- a/pkgs/applications/editors/sublime/4/common.nix +++ b/pkgs/applications/editors/sublime/4/common.nix @@ -48,19 +48,21 @@ let versionUrl = "https://download.sublimetext.com/latest/${if dev then "dev" else "stable"}"; versionFile = builtins.toString ./packages.nix; - neededLibraries = [ - xorg.libX11 - xorg.libXtst - glib - libglvnd - openssl_1_1 - gtk3 - cairo - pango - curl - ] ++ lib.optionals (lib.versionAtLeast buildVersion "4145") [ - sqlite - ]; + neededLibraries = + [ + xorg.libX11 + xorg.libXtst + glib + libglvnd + openssl_1_1 + gtk3 + cairo + pango + curl + ] + ++ lib.optionals (lib.versionAtLeast buildVersion "4145") [ + sqlite + ]; binaryPackage = stdenv.mkDerivation rec { pname = "${pnameBase}-bin"; diff --git a/pkgs/applications/editors/texmacs/common.nix b/pkgs/applications/editors/texmacs/common.nix index 06b7290c4baff..bbf7e64549498 100644 --- a/pkgs/applications/editors/texmacs/common.nix +++ b/pkgs/applications/editors/texmacs/common.nix @@ -1,4 +1,12 @@ -{ lib, fetchurl, tex, extraFonts, chineseFonts, japaneseFonts, koreanFonts }: +{ + lib, + fetchurl, + tex, + extraFonts, + chineseFonts, + japaneseFonts, + koreanFonts, +}: rec { extraFontsSrc = fetchurl { url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz"; @@ -25,21 +33,26 @@ rec { sha256 = "07axg57mqm3jbnm4lawx0h3r2h56xv9acwzjppryfklw4c27f5hh"; }; - postPatch = (if tex == null then '' - gunzip < ${fullFontsSrc} | (cd TeXmacs && tar xvf -) - '' else lib.optionalString extraFonts '' - gunzip < ${extraFontsSrc} | (cd TeXmacs && tar xvf -) - '') + - (lib.optionalString chineseFonts '' - gunzip < ${chineseFontsSrc} | (cd TeXmacs && tar xvf -) - '') + - (lib.optionalString japaneseFonts '' - gunzip < ${japaneseFontsSrc} | (cd TeXmacs && tar xvf -) - '') + - (lib.optionalString koreanFonts '' - gunzip < ${koreanFontsSrc} | (cd TeXmacs && tar xvf -) - ''); - + postPatch = + ( + if tex == null then + '' + gunzip < ${fullFontsSrc} | (cd TeXmacs && tar xvf -) + '' + else + lib.optionalString extraFonts '' + gunzip < ${extraFontsSrc} | (cd TeXmacs && tar xvf -) + '' + ) + + (lib.optionalString chineseFonts '' + gunzip < ${chineseFontsSrc} | (cd TeXmacs && tar xvf -) + '') + + (lib.optionalString japaneseFonts '' + gunzip < ${japaneseFontsSrc} | (cd TeXmacs && tar xvf -) + '') + + (lib.optionalString koreanFonts '' + gunzip < ${koreanFontsSrc} | (cd TeXmacs && tar xvf -) + ''); meta = { description = "WYSIWYW editing platform with special features for scientists"; diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix index 92d162cdc3003..329c0f5a88937 100644 --- a/pkgs/applications/editors/texmacs/default.nix +++ b/pkgs/applications/editors/texmacs/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, callPackage, fetchurl, - guile_1_8, xmodmap, which, freetype, +{ + lib, + stdenv, + callPackage, + fetchurl, + guile_1_8, + xmodmap, + which, + freetype, libjpeg, sqlite, texliveSmall ? null, @@ -17,13 +24,19 @@ extraFonts ? false, chineseFonts ? false, japaneseFonts ? false, - koreanFonts ? false }: + koreanFonts ? false, +}: let pname = "texmacs"; version = "2.1.4"; common = callPackage ./common.nix { - inherit extraFonts chineseFonts japaneseFonts koreanFonts; + inherit + extraFonts + chineseFonts + japaneseFonts + koreanFonts + ; tex = texliveSmall; }; in @@ -35,10 +48,12 @@ stdenv.mkDerivation { hash = "sha256-h6aSLuDdrAtVzOnNVPqMEWX9WLDHtkCjPy9JXWnBgYY="; }; - postPatch = common.postPatch + '' - substituteInPlace configure \ - --replace "-mfpmath=sse -msse2" "" - ''; + postPatch = + common.postPatch + + '' + substituteInPlace configure \ + --replace "-mfpmath=sse -msse2" "" + ''; nativeBuildInputs = [ guile_1_8 @@ -48,19 +63,21 @@ stdenv.mkDerivation { cmake ]; - buildInputs = [ - guile_1_8 - qtbase - qtsvg - ghostscriptX - freetype - libjpeg - sqlite - git - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - qtmacextras - ]; + buildInputs = + [ + guile_1_8 + qtbase + qtsvg + ghostscriptX + freetype + libjpeg + sqlite + git + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + qtmacextras + ]; cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ (lib.cmakeFeature "TEXMACS_GUI" "Qt") @@ -76,7 +93,10 @@ stdenv.mkDerivation { ''; qtWrapperArgs = [ - "--suffix" "PATH" ":" (lib.makeBinPath [ + "--suffix" + "PATH" + ":" + (lib.makeBinPath [ xmodmap which ghostscriptX diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix index 57757746cba32..fada79bc0f8d9 100644 --- a/pkgs/applications/editors/texmaker/default.nix +++ b/pkgs/applications/editors/texmaker/default.nix @@ -10,7 +10,7 @@ qttools, qtwebengine, qt5compat, - zlib + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix index bdd8fab7a9a6f..71569838c0c8a 100644 --- a/pkgs/applications/editors/texstudio/default.nix +++ b/pkgs/applications/editors/texstudio/default.nix @@ -1,7 +1,20 @@ -{ stdenv, lib, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qt5compat, quazip -, qtwayland -, hunspell -, wrapQtAppsHook, poppler, zlib, pkg-config }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qtbase, + qttools, + qtsvg, + qt5compat, + quazip, + qtwayland, + hunspell, + wrapQtAppsHook, + poppler, + zlib, + pkg-config, +}: stdenv.mkDerivation (finalAttrs: { pname = "texstudio"; @@ -19,18 +32,20 @@ stdenv.mkDerivation (finalAttrs: { wrapQtAppsHook pkg-config ]; - buildInputs = [ - hunspell - poppler - qt5compat - qtbase - qtsvg - qttools - quazip - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]; + buildInputs = + [ + hunspell + poppler + qt5compat + qtbase + qtsvg + qttools + quazip + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p "$out/Applications" @@ -40,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "TeX and LaTeX editor"; - longDescription='' + longDescription = '' Fork of TeXMaker, this editor is a full fledged IDE for LaTeX editing with completion, structure viewer, preview, spell checking and support of any compilation chain. @@ -49,7 +64,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/texstudio-org/texstudio/blob/${finalAttrs.version}/utilities/manual/source/CHANGELOG.md"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ ajs124 cfouche ]; + maintainers = with maintainers; [ + ajs124 + cfouche + ]; mainProgram = "texstudio"; }; }) diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix index 936361c844066..da5ffb192a3fc 100644 --- a/pkgs/applications/editors/textadept/default.nix +++ b/pkgs/applications/editors/textadept/default.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, cmake -, withQt ? true, qtbase, wrapQtAppsHook -, withCurses ? false, ncurses +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + cmake, + withQt ? true, + qtbase, + wrapQtAppsHook, + withCurses ? false, + ncurses, }: stdenv.mkDerivation rec { version = "12.4"; @@ -14,30 +22,37 @@ stdenv.mkDerivation rec { sha256 = "sha256-nPgpQeBq5Stv2o0Ke4W2Ltnx6qLe5TIC5a8HSYVkmfI="; }; - nativeBuildInputs = [ cmake ] - ++ lib.optionals withQt [ wrapQtAppsHook ]; + nativeBuildInputs = [ cmake ] ++ lib.optionals withQt [ wrapQtAppsHook ]; - buildInputs = - lib.optionals withQt [ qtbase ] - ++ lib.optionals withCurses ncurses; + buildInputs = lib.optionals withQt [ qtbase ] ++ lib.optionals withCurses ncurses; cmakeFlags = - lib.optional withQt [ "-DQT=ON" ] - ++ lib.optional withCurses [ "-DCURSES=ON" "-DQT=OFF"]; + lib.optional withQt [ "-DQT=ON" ] + ++ lib.optional withCurses [ + "-DCURSES=ON" + "-DQT=OFF" + ]; - preConfigure = '' - mkdir -p $PWD/build/_deps + preConfigure = + '' + mkdir -p $PWD/build/_deps - '' + - lib.concatStringsSep "\n" (lib.mapAttrsToList (name: params: - "ln -s ${fetchurl params} $PWD/build/_deps/${name}" - ) (import ./deps.nix)); + '' + + lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + name: params: "ln -s ${fetchurl params} $PWD/build/_deps/${name}" + ) (import ./deps.nix) + ); meta = with lib; { description = "Extensible text editor based on Scintilla with Lua scripting"; homepage = "http://foicica.com/textadept"; license = licenses.mit; - maintainers = with maintainers; [ raskin mirrexagon arcuru ]; + maintainers = with maintainers; [ + raskin + mirrexagon + arcuru + ]; platforms = platforms.linux; mainProgram = "textadept"; }; diff --git a/pkgs/applications/editors/textadept/deps.nix b/pkgs/applications/editors/textadept/deps.nix index f2322fd8a0131..0018eb15849a9 100644 --- a/pkgs/applications/editors/textadept/deps.nix +++ b/pkgs/applications/editors/textadept/deps.nix @@ -55,5 +55,3 @@ sha256 = "sha256-FwyzM+R9ALpGH9u2RXab4Sqi4Q+p3Qs+8EdfhjPGcXY="; }; } - - diff --git a/pkgs/applications/editors/texworks/default.nix b/pkgs/applications/editors/texworks/default.nix index a20bc426b3ca2..31c719ba3f2f4 100644 --- a/pkgs/applications/editors/texworks/default.nix +++ b/pkgs/applications/editors/texworks/default.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wrapQtAppsHook -, hunspell -, poppler -, qt5compat -, qttools -, qtwayland -, withLua ? true, lua -, withPython ? true, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapQtAppsHook, + hunspell, + poppler, + qt5compat, + qttools, + qtwayland, + withLua ? true, + lua, + withPython ? true, + python3, +}: stdenv.mkDerivation rec { pname = "texworks"; @@ -29,18 +33,22 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; - buildInputs = [ - hunspell - poppler - qt5compat - qttools - ] ++ lib.optional withLua lua + buildInputs = + [ + hunspell + poppler + qt5compat + qttools + ] + ++ lib.optional withLua lua ++ lib.optional withPython python3 ++ lib.optional stdenv.hostPlatform.isLinux qtwayland; - cmakeFlags = [ - "-DQT_DEFAULT_MAJOR_VERSION=6" - ] ++ lib.optional withLua "-DWITH_LUA=ON" + cmakeFlags = + [ + "-DQT_DEFAULT_MAJOR_VERSION=6" + ] + ++ lib.optional withLua "-DWITH_LUA=ON" ++ lib.optional withPython "-DWITH_PYTHON=ON"; meta = with lib; { diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix index dac1dbe0d0f71..a8c7a18a4aae3 100644 --- a/pkgs/applications/editors/tiled/default.nix +++ b/pkgs/applications/editors/tiled/default.nix @@ -1,22 +1,29 @@ -{ lib -, stdenv -, env -, fetchFromGitHub -, pkg-config -, qbs -, wrapQtAppsHook -, qtbase -, qtdeclarative -, qttools -, qtwayland -, qtsvg -, zlib -, zstd -, libGL +{ + lib, + stdenv, + env, + fetchFromGitHub, + pkg-config, + qbs, + wrapQtAppsHook, + qtbase, + qtdeclarative, + qttools, + qtwayland, + qtsvg, + zlib, + zstd, + libGL, }: let - qtEnv = env "tiled-qt-env" [ qtbase qtdeclarative qtsvg qttools qtwayland ]; + qtEnv = env "tiled-qt-env" [ + qtbase + qtdeclarative + qtsvg + qttools + qtwayland + ]; in stdenv.mkDerivation rec { @@ -30,10 +37,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-cFS1OSYfGMsnw+VkZD/HO4+D+pxNKuifWjNhy0FoxN0="; }; - nativeBuildInputs = [ pkg-config qbs wrapQtAppsHook ]; - buildInputs = [ qtEnv zlib zstd libGL ]; - - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + pkg-config + qbs + wrapQtAppsHook + ]; + buildInputs = [ + qtEnv + zlib + zstd + libGL + ]; + + outputs = [ + "out" + "dev" + ]; strictDeps = true; @@ -67,10 +86,13 @@ stdenv.mkDerivation rec { description = "Free, easy to use and flexible tile map editor"; homepage = "https://www.mapeditor.org/"; license = with licenses; [ - bsd2 # libtiled and tmxviewer - gpl2Plus # all the rest + bsd2 # libtiled and tmxviewer + gpl2Plus # all the rest + ]; + maintainers = with maintainers; [ + dywedir + ryan4yin ]; - maintainers = with maintainers; [ dywedir ryan4yin ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index afe60212baf77..4dbf706a0a67e 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -2,7 +2,10 @@ rec { version = "9.1.0787"; - outputs = [ "out" "xxd" ]; + outputs = [ + "out" + "xxd" + ]; src = fetchFromGitHub { owner = "vim"; @@ -34,11 +37,18 @@ rec { meta = with lib; { description = "Most popular clone of the VI editor"; - homepage = "http://www.vim.org"; - license = licenses.vim; - maintainers = with maintainers; [ das_j equirosa philiptaron ]; - platforms = platforms.unix; + homepage = "http://www.vim.org"; + license = licenses.vim; + maintainers = with maintainers; [ + das_j + equirosa + philiptaron + ]; + platforms = platforms.unix; mainProgram = "vim"; - outputsToInstall = [ "out" "xxd" ]; + outputsToInstall = [ + "out" + "xxd" + ]; }; } diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index b9c5f4ff7bbcc..837e0b9085a07 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -1,47 +1,84 @@ -{ lib, stdenv, fetchurl, callPackage, ncurses, bash, gawk, gettext, pkg-config -# default vimrc -, vimrc ? fetchurl { +{ + lib, + stdenv, + fetchurl, + callPackage, + ncurses, + bash, + gawk, + gettext, + pkg-config, + # default vimrc + vimrc ? fetchurl { name = "default-vimrc"; url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/68f6d131750aa778807119e03eed70286a17b1cb/trunk/archlinux.vim"; sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c"; - } -# apple frameworks -, Carbon, Cocoa + }, + # apple frameworks + Carbon, + Cocoa, }: let - common = callPackage ./common.nix {}; + common = callPackage ./common.nix { }; in stdenv.mkDerivation { pname = "vim"; - inherit (common) version outputs src postPatch hardeningDisable enableParallelBuilding enableParallelInstalling postFixup meta; + inherit (common) + version + outputs + src + postPatch + hardeningDisable + enableParallelBuilding + enableParallelInstalling + postFixup + meta + ; - nativeBuildInputs = [ gettext pkg-config ]; - buildInputs = [ ncurses bash gawk ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ]; + nativeBuildInputs = [ + gettext + pkg-config + ]; + buildInputs = + [ + ncurses + bash + gawk + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + ]; strictDeps = true; - configureFlags = [ - "--enable-multibyte" - "--enable-nls" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) ([ - "vim_cv_toupper_broken=no" - "--with-tlib=ncurses" - "vim_cv_terminfo=yes" - "vim_cv_tgetent=zero" # it does on native anyway - "vim_cv_tty_group=tty" - "vim_cv_tty_mode=0660" - "vim_cv_getcwd_broken=no" - "vim_cv_stat_ignores_slash=yes" - "vim_cv_memmove_handles_overlap=yes" - ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - "vim_cv_timer_create=no" - "vim_cv_timer_create_with_lrt=yes" - ] ++ lib.optionals (!stdenv.hostPlatform.isFreeBSD) [ - "vim_cv_timer_create=yes" - ]); + configureFlags = + [ + "--enable-multibyte" + "--enable-nls" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) ( + [ + "vim_cv_toupper_broken=no" + "--with-tlib=ncurses" + "vim_cv_terminfo=yes" + "vim_cv_tgetent=zero" # it does on native anyway + "vim_cv_tty_group=tty" + "vim_cv_tty_mode=0660" + "vim_cv_getcwd_broken=no" + "vim_cv_stat_ignores_slash=yes" + "vim_cv_memmove_handles_overlap=yes" + ] + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + "vim_cv_timer_create=no" + "vim_cv_timer_create_with_lrt=yes" + ] + ++ lib.optionals (!stdenv.hostPlatform.isFreeBSD) [ + "vim_cv_timer_create=yes" + ] + ); # which.sh is used to for vim's own shebang patching, so make it find # binaries for the host platform. diff --git a/pkgs/applications/editors/vim/full.nix b/pkgs/applications/editors/vim/full.nix index 5183ee5d39f20..34aa8e84721a4 100644 --- a/pkgs/applications/editors/vim/full.nix +++ b/pkgs/applications/editors/vim/full.nix @@ -1,33 +1,60 @@ -{ source ? "default", callPackage, lib, stdenv, ncurses, pkg-config, gettext -, writeText, config, glib, gtk2-x11, gtk3-x11, lua, python3, perl, tcl, ruby -, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu, libsodium -, libICE -, vimPlugins -, makeWrapper -, wrapGAppsHook3 - -# apple frameworks -, CoreServices, CoreData, Cocoa, Foundation, libobjc - -, features ? "huge" # One of tiny, small, normal, big or huge -, wrapPythonDrv ? false -, guiSupport ? config.vim.gui or (if stdenv.hostPlatform.isDarwin then "gtk2" else "gtk3") -, luaSupport ? config.vim.lua or true -, perlSupport ? config.vim.perl or false # Perl interpreter -, pythonSupport ? config.vim.python or true # Python interpreter -, rubySupport ? config.vim.ruby or true # Ruby interpreter -, nlsSupport ? config.vim.nls or false # Enable NLS (gettext()) -, tclSupport ? config.vim.tcl or false # Include Tcl interpreter -, multibyteSupport ? config.vim.multibyte or false # Enable multibyte editing support -, cscopeSupport ? config.vim.cscope or true # Enable cscope interface -, netbeansSupport ? config.netbeans or true # Enable NetBeans integration support. -, ximSupport ? config.vim.xim or true # less than 15KB, needed for deadkeys -, darwinSupport ? config.vim.darwin or false # Enable Darwin support -, ftNixSupport ? config.vim.ftNix or true # Add nix indentation support from vim-nix (not needed for basic syntax highlighting) -, sodiumSupport ? config.vim.sodium or true # Enable sodium based encryption +{ + source ? "default", + callPackage, + lib, + stdenv, + ncurses, + pkg-config, + gettext, + writeText, + config, + glib, + gtk2-x11, + gtk3-x11, + lua, + python3, + perl, + tcl, + ruby, + libX11, + libXext, + libSM, + libXpm, + libXt, + libXaw, + libXau, + libXmu, + libsodium, + libICE, + vimPlugins, + makeWrapper, + wrapGAppsHook3, + + # apple frameworks + CoreServices, + CoreData, + Cocoa, + Foundation, + libobjc, + + features ? "huge", # One of tiny, small, normal, big or huge + wrapPythonDrv ? false, + guiSupport ? config.vim.gui or (if stdenv.hostPlatform.isDarwin then "gtk2" else "gtk3"), + luaSupport ? config.vim.lua or true, + perlSupport ? config.vim.perl or false, # Perl interpreter + pythonSupport ? config.vim.python or true, # Python interpreter + rubySupport ? config.vim.ruby or true, # Ruby interpreter + nlsSupport ? config.vim.nls or false, # Enable NLS (gettext()) + tclSupport ? config.vim.tcl or false, # Include Tcl interpreter + multibyteSupport ? config.vim.multibyte or false, # Enable multibyte editing support + cscopeSupport ? config.vim.cscope or true, # Enable cscope interface + netbeansSupport ? config.netbeans or true, # Enable NetBeans integration support. + ximSupport ? config.vim.xim or true, # less than 15KB, needed for deadkeys + darwinSupport ? config.vim.darwin or false, # Enable Darwin support + ftNixSupport ? config.vim.ftNix or true, # Add nix indentation support from vim-nix (not needed for basic syntax highlighting) + sodiumSupport ? config.vim.sodium or true, # Enable sodium based encryption }: - let nixosRuntimepath = writeText "nixos-vimrc" '' set nocompatible @@ -59,13 +86,21 @@ let endif ''; - common = callPackage ./common.nix {}; + common = callPackage ./common.nix { }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "vim-full"; - inherit (common) version outputs postPatch hardeningDisable enableParallelBuilding meta; + inherit (common) + version + outputs + postPatch + hardeningDisable + enableParallelBuilding + meta + ; src = builtins.getAttr source { default = common.src; # latest release @@ -73,74 +108,79 @@ in stdenv.mkDerivation { patches = [ ./cflags-prune.diff ]; - configureFlags = [ - "--with-features=${features}" - "--disable-xsmp" # XSMP session management - "--disable-xsmp_interact" # XSMP interaction - "--disable-workshop" # Sun Visual Workshop support - "--disable-sniff" # Sniff interface - "--disable-hangulinput" # Hangul input support - "--disable-fontset" # X fontset output support - "--disable-acl" # ACL support - "--disable-gpm" # GPM (Linux mouse daemon) - "--disable-mzschemeinterp" - "--disable-gtk_check" - "--disable-gtk2_check" - "--disable-gnome_check" - "--disable-motif_check" - "--disable-athena_check" - "--disable-nextaf_check" - "--disable-carbon_check" - "--disable-gtktest" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "vim_cv_toupper_broken=no" - "--with-tlib=ncurses" - "vim_cv_terminfo=yes" - "vim_cv_tgetent=zero" # it does on native anyway - "vim_cv_tty_group=tty" - "vim_cv_tty_mode=0660" - "vim_cv_getcwd_broken=no" - "vim_cv_stat_ignores_slash=yes" - "vim_cv_memmove_handles_overlap=yes" - ] + configureFlags = + [ + "--with-features=${features}" + "--disable-xsmp" # XSMP session management + "--disable-xsmp_interact" # XSMP interaction + "--disable-workshop" # Sun Visual Workshop support + "--disable-sniff" # Sniff interface + "--disable-hangulinput" # Hangul input support + "--disable-fontset" # X fontset output support + "--disable-acl" # ACL support + "--disable-gpm" # GPM (Linux mouse daemon) + "--disable-mzschemeinterp" + "--disable-gtk_check" + "--disable-gtk2_check" + "--disable-gnome_check" + "--disable-motif_check" + "--disable-athena_check" + "--disable-nextaf_check" + "--disable-carbon_check" + "--disable-gtktest" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "vim_cv_toupper_broken=no" + "--with-tlib=ncurses" + "vim_cv_terminfo=yes" + "vim_cv_tgetent=zero" # it does on native anyway + "vim_cv_tty_group=tty" + "vim_cv_tty_mode=0660" + "vim_cv_getcwd_broken=no" + "vim_cv_stat_ignores_slash=yes" + "vim_cv_memmove_handles_overlap=yes" + ] ++ lib.optional (guiSupport == "gtk2" || guiSupport == "gtk3") "--enable-gui=${guiSupport}" - ++ lib.optional stdenv.hostPlatform.isDarwin - (if darwinSupport then "--enable-darwin" else "--disable-darwin") - ++ lib.optionals luaSupport [ - "--with-lua-prefix=${lua}" - "--enable-luainterp" - ] ++ lib.optionals lua.pkgs.isLuaJIT [ - "--with-luajit" - ] - ++ lib.optionals pythonSupport [ - "--enable-python3interp=yes" - "--with-python3-config-dir=${python3}/lib" - # Disables Python 2 - "--disable-pythoninterp" - ] - ++ lib.optional nlsSupport "--enable-nls" - ++ lib.optional perlSupport "--enable-perlinterp" - ++ lib.optional rubySupport "--enable-rubyinterp" - ++ lib.optional tclSupport "--enable-tclinterp" - ++ lib.optional multibyteSupport "--enable-multibyte" - ++ lib.optional cscopeSupport "--enable-cscope" - ++ lib.optional netbeansSupport "--enable-netbeans" - ++ lib.optional ximSupport "--enable-xim" - ++ lib.optional sodiumSupport "--enable-sodium"; - - nativeBuildInputs = [ - pkg-config - ] - ++ lib.optional wrapPythonDrv makeWrapper - ++ lib.optional nlsSupport gettext - ++ lib.optional perlSupport perl - ++ lib.optional (guiSupport == "gtk3") wrapGAppsHook3 - ; - - buildInputs = [ - ncurses - glib - ] + ++ lib.optional stdenv.hostPlatform.isDarwin ( + if darwinSupport then "--enable-darwin" else "--disable-darwin" + ) + ++ lib.optionals luaSupport [ + "--with-lua-prefix=${lua}" + "--enable-luainterp" + ] + ++ lib.optionals lua.pkgs.isLuaJIT [ + "--with-luajit" + ] + ++ lib.optionals pythonSupport [ + "--enable-python3interp=yes" + "--with-python3-config-dir=${python3}/lib" + # Disables Python 2 + "--disable-pythoninterp" + ] + ++ lib.optional nlsSupport "--enable-nls" + ++ lib.optional perlSupport "--enable-perlinterp" + ++ lib.optional rubySupport "--enable-rubyinterp" + ++ lib.optional tclSupport "--enable-tclinterp" + ++ lib.optional multibyteSupport "--enable-multibyte" + ++ lib.optional cscopeSupport "--enable-cscope" + ++ lib.optional netbeansSupport "--enable-netbeans" + ++ lib.optional ximSupport "--enable-xim" + ++ lib.optional sodiumSupport "--enable-sodium"; + + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optional wrapPythonDrv makeWrapper + ++ lib.optional nlsSupport gettext + ++ lib.optional perlSupport perl + ++ lib.optional (guiSupport == "gtk3") wrapGAppsHook3; + + buildInputs = + [ + ncurses + glib + ] # All X related dependencies ++ lib.optionals (guiSupport == "gtk2" || guiSupport == "gtk3") [ libSM @@ -155,7 +195,13 @@ in stdenv.mkDerivation { ] ++ lib.optional (guiSupport == "gtk2") gtk2-x11 ++ lib.optional (guiSupport == "gtk3") gtk3-x11 - ++ lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ] + ++ lib.optionals darwinSupport [ + CoreServices + CoreData + Cocoa + Foundation + libobjc + ] ++ lib.optional luaSupport lua ++ lib.optional pythonSupport python3 ++ lib.optional tclSupport tcl @@ -166,24 +212,28 @@ in stdenv.mkDerivation { env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-fdeclspec"; preConfigure = lib.optionalString ftNixSupport '' - cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim - cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim - ''; + cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim + cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim + ''; preInstall = '' mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps ''; - postInstall = '' - ln -s $out/bin/vim $out/bin/vi - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc - ''; + postInstall = + '' + ln -s $out/bin/vim $out/bin/vi + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc + ''; - postFixup = common.postFixup + lib.optionalString wrapPythonDrv '' - wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin" \ - --set NIX_PYTHONPATH "${python3}/${python3.sitePackages}" - ''; + postFixup = + common.postFixup + + lib.optionalString wrapPythonDrv '' + wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin" \ + --set NIX_PYTHONPATH "${python3}/${python3.sitePackages}" + ''; dontStrip = true; } diff --git a/pkgs/applications/editors/vim/macvim-configurable.nix b/pkgs/applications/editors/vim/macvim-configurable.nix index cca5d06ba90ad..36253f918a5c2 100644 --- a/pkgs/applications/editors/vim/macvim-configurable.nix +++ b/pkgs/applications/editors/vim/macvim-configurable.nix @@ -1,63 +1,81 @@ -{ lib, stdenv, callPackage, vimUtils, buildEnv, makeWrapper }: +{ + lib, + stdenv, + callPackage, + vimUtils, + buildEnv, + makeWrapper, +}: let - makeCustomizable = macvim: macvim // { - # configure expects the same args as vimUtils.vimrcFile. - # This is the same as the value given to neovim.override { configure = … } - # or the value of vim-full.customize { vimrcConfig = … } - # - # Note: Like neovim and vim-full, configuring macvim disables the - # sourcing of the user's vimrc. Use `customRC = "source $HOME/.vim/vimrc"` - # if you want to preserve that behavior. - configure = let - doConfig = config: let - vimrcConfig = config // { - # always source the bundled system vimrc - beforePlugins = '' - source $VIM/vimrc - ${config.beforePlugins or ""} - ''; - }; - in buildEnv { - name = macvim.name; - paths = [ macvim ]; - pathsToLink = [ - "/" - "/bin" - "/Applications/MacVim.app/Contents/MacOS" - "/Applications/MacVim.app/Contents/bin" - ]; - nativeBuildInputs = [ makeWrapper ]; - # We need to do surgery on the resulting app. We can't just make a wrapper for vim because this - # is a GUI app. We need to copy the actual GUI executable image as AppKit uses the loaded image's - # path to locate the bundle. We can use symlinks for other executables and resources though. - postBuild = '' - # Replace the Contents/MacOS/MacVim symlink with the original file - target=$(readlink $out/Applications/MacVim.app/Contents/MacOS/MacVim) - rm $out/Applications/MacVim.app/Contents/MacOS/MacVim - cp -a -t $out/Applications/MacVim.app/Contents/MacOS "$target" + makeCustomizable = + macvim: + macvim + // { + # configure expects the same args as vimUtils.vimrcFile. + # This is the same as the value given to neovim.override { configure = … } + # or the value of vim-full.customize { vimrcConfig = … } + # + # Note: Like neovim and vim-full, configuring macvim disables the + # sourcing of the user's vimrc. Use `customRC = "source $HOME/.vim/vimrc"` + # if you want to preserve that behavior. + configure = + let + doConfig = + config: + let + vimrcConfig = config // { + # always source the bundled system vimrc + beforePlugins = '' + source $VIM/vimrc + ${config.beforePlugins or ""} + ''; + }; + in + buildEnv { + name = macvim.name; + paths = [ macvim ]; + pathsToLink = [ + "/" + "/bin" + "/Applications/MacVim.app/Contents/MacOS" + "/Applications/MacVim.app/Contents/bin" + ]; + nativeBuildInputs = [ makeWrapper ]; + # We need to do surgery on the resulting app. We can't just make a wrapper for vim because this + # is a GUI app. We need to copy the actual GUI executable image as AppKit uses the loaded image's + # path to locate the bundle. We can use symlinks for other executables and resources though. + postBuild = '' + # Replace the Contents/MacOS/MacVim symlink with the original file + target=$(readlink $out/Applications/MacVim.app/Contents/MacOS/MacVim) + rm $out/Applications/MacVim.app/Contents/MacOS/MacVim + cp -a -t $out/Applications/MacVim.app/Contents/MacOS "$target" - # Wrap the Vim binary for our vimrc - wrapProgram $out/Applications/MacVim.app/Contents/MacOS/Vim \ - --add-flags "-u ${vimUtils.vimrcFile vimrcConfig}" + # Wrap the Vim binary for our vimrc + wrapProgram $out/Applications/MacVim.app/Contents/MacOS/Vim \ + --add-flags "-u ${vimUtils.vimrcFile vimrcConfig}" - # Replace each symlink in bin/ with the original. Most of them point at other symlinks - # and we need those original symlinks to point into our new app bundle. - for prefix in bin Applications/MacVim.app/Contents/bin; do - for link in $out/$prefix/*; do - target=$(readlink "$link") - # don't copy binaries like vimtutor, but we do need mvim - [ -L "$target" ] || [ "$(basename "$target")" = mvim ] || continue; - rm "$link" - cp -a -t $out/$prefix "$target" - done - done - ''; - meta = macvim.meta; - }; - in lib.makeOverridable (lib.setFunctionArgs doConfig (lib.functionArgs vimUtils.vimrcFile)); + # Replace each symlink in bin/ with the original. Most of them point at other symlinks + # and we need those original symlinks to point into our new app bundle. + for prefix in bin Applications/MacVim.app/Contents/bin; do + for link in $out/$prefix/*; do + target=$(readlink "$link") + # don't copy binaries like vimtutor, but we do need mvim + [ -L "$target" ] || [ "$(basename "$target")" = mvim ] || continue; + rm "$link" + cp -a -t $out/$prefix "$target" + done + done + ''; + meta = macvim.meta; + }; + in + lib.makeOverridable (lib.setFunctionArgs doConfig (lib.functionArgs vimUtils.vimrcFile)); - override = f: makeCustomizable (macvim.override f); - overrideAttrs = f: makeCustomizable (macvim.overrideAttrs f); - }; -in { inherit makeCustomizable; } + override = f: makeCustomizable (macvim.override f); + overrideAttrs = f: makeCustomizable (macvim.overrideAttrs f); + }; +in +{ + inherit makeCustomizable; +} diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index 23aa24ff9b6d7..3d401f553f35d 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, runCommand -, ncurses -, gettext -, pkg-config -, cscope -, ruby_3_2 -, tcl -, perl540 -, luajit -, darwin -, libiconv -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, + ncurses, + gettext, + pkg-config, + cscope, + ruby_3_2, + tcl, + perl540, + luajit, + darwin, + libiconv, + python3, }: # Try to match MacVim's documented script interface compatibility @@ -25,7 +26,7 @@ let # Some of these we could patch into the relevant source files (such as xcodebuild and # qlmanage) but some are used by Xcode itself and we have no choice but to put them in PATH. # Symlinking them in this way is better than just putting all of /usr/bin in there. - buildSymlinks = runCommand "macvim-build-symlinks" {} '' + buildSymlinks = runCommand "macvim-build-symlinks" { } '' mkdir -p $out/bin ln -s /usr/bin/xcrun /usr/bin/xcodebuild /usr/bin/tiffutil /usr/bin/qlmanage $out/bin ''; @@ -45,9 +46,19 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config buildSymlinks ]; + nativeBuildInputs = [ + pkg-config + buildSymlinks + ]; buildInputs = [ - gettext ncurses cscope luajit ruby tcl perl python3 + gettext + ncurses + cscope + luajit + ruby + tcl + perl + python3 ]; patches = [ ./macvim.patch ]; @@ -123,8 +134,7 @@ stdenv.mkDerivation (finalAttrs: { XCODEFLAGS="-scheme MacVim -derivedDataPath $NIX_BUILD_TOP/derivedData" --with-xcodecfg="Release" ) - '' - ; + ''; # Because we're building with system clang, this means we're building against Xcode's SDK and # linking against system libraries. The configure script is picking up Nix Libsystem (via ruby) @@ -205,6 +215,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.vim; maintainers = [ ]; platforms = platforms.darwin; - hydraPlatforms = []; # hydra can't build this as long as we rely on Xcode and sandboxProfile + hydraPlatforms = [ ]; # hydra can't build this as long as we rely on Xcode and sandboxProfile }; }) diff --git a/pkgs/applications/editors/vim/plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix index 299faf7222c73..a69af50ef77e4 100644 --- a/pkgs/applications/editors/vim/plugins/aliases.nix +++ b/pkgs/applications/editors/vim/plugins/aliases.nix @@ -6,148 +6,150 @@ final: prev: let # Removing recurseForDerivation prevents derivations of aliased attribute # set to appear while listing all the packages available. - removeRecurseForDerivations = alias: + removeRecurseForDerivations = + alias: if alias.recurseForDerivations or false then - lib.removeAttrs alias ["recurseForDerivations"] - else alias; + lib.removeAttrs alias [ "recurseForDerivations" ] + else + alias; # Disabling distribution prevents top-level aliases for non-recursed package # sets from building on Hydra. - removeDistribute = alias: - if lib.isDerivation alias then - lib.dontDistribute alias - else alias; + removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias; # Make sure that we are not shadowing something from # all-packages.nix. - checkInPkgs = n: alias: if builtins.hasAttr n prev - then throw "Alias ${n} is still in vim-plugins" - else alias; + checkInPkgs = + n: alias: if builtins.hasAttr n prev then throw "Alias ${n} is still in vim-plugins" else alias; - mapAliases = aliases: - lib.mapAttrs (n: alias: removeDistribute - (removeRecurseForDerivations - (checkInPkgs n alias))) - aliases; + mapAliases = + aliases: + lib.mapAttrs ( + n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias)) + ) aliases; - deprecations = lib.mapAttrs (old: info: - throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}." + deprecations = lib.mapAttrs ( + old: info: throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}." ) (lib.importJSON ./deprecated.json); in -mapAliases (with prev; { - airline = vim-airline; - alternative = a-vim; # backwards compat, added 2014-10-21 - bats = bats-vim; - BufOnly = BufOnly-vim; - calendar = calendar-vim; - coffee-script = vim-coffee-script; - coffeeScript = vim-coffee-script; # backwards compat, added 2014-10-18 - Solarized = vim-colors-solarized; - solarized = vim-colors-solarized; - spacevim = throw "this distribution was unmaintained for the last 6 years, please use top-level 'spacevim'"; # added 2024-11-27 - SpaceVim = throw "this distribution didn't work properly in vimPlugins, please use top-level 'spacevim' instead"; # added 2024-11-27 - colors-solarized = vim-colors-solarized; - caw = caw-vim; - chad = chadtree; - colorsamplerpack = Colour-Sampler-Pack; - Colour_Sampler_Pack = Colour-Sampler-Pack; - command_T = command-t; # backwards compat, added 2014-10-18 - commentary = vim-commentary; - committia = committia-vim; - concealedyank = concealedyank-vim; - context-filetype = context_filetype-vim; - Cosco = cosco-vim; - css_color_5056 = vim-css-color; - CSApprox = csapprox; - csv = csv-vim; - ctrlp = ctrlp-vim; - cute-python = vim-cute-python; - denite = denite-nvim; - easy-align = vim-easy-align; - easygit = vim-easygit; - easymotion = vim-easymotion; - echodoc = echodoc-vim; - eighties = vim-eighties; - extradite = vim-extradite; - fugitive = vim-fugitive; - floating-nvim = throw "floating.nvim has been removed: abandoned by upstream. Use popup-nvim or nui-nvim"; # Added 2024-11-26 - ghc-mod-vim = ghcmod-vim; - ghcmod = ghcmod-vim; - goyo = goyo-vim; - Gist = vim-gist; - gitgutter = vim-gitgutter; - gundo = gundo-vim; - Gundo = gundo-vim; # backwards compat, added 2015-10-03 - haskellConceal = vim-haskellconceal; # backwards compat, added 2014-10-18 - haskellConcealPlus = vim-haskellConcealPlus; - haskellconceal = vim-haskellconceal; - hier = vim-hier; - hlint-refactor = hlint-refactor-vim; - hoogle = vim-hoogle; - Hoogle = vim-hoogle; - indent-blankline-nvim-lua = indent-blankline-nvim; # backwards compat, added 2021-07-05 - ipython = vim-ipython; - latex-live-preview = vim-latex-live-preview; - maktaba = vim-maktaba; - multiple-cursors = vim-multiple-cursors; - necoGhc = neco-ghc; # backwards compat, added 2014-10-18 - neocomplete = neocomplete-vim; - neoinclude = neoinclude-vim; - neomru = neomru-vim; - neosnippet = neosnippet-vim; - nvim-ts-rainbow = throw "nvim-ts-rainbow has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30 - nvim-ts-rainbow2 = throw "nvim-ts-rainbow2 has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30 - The_NERD_Commenter = nerdcommenter; - The_NERD_tree = nerdtree; - open-browser = open-browser-vim; - pathogen = vim-pathogen; - peskcolor-vim = throw "peskcolor-vim has been removed: abandoned by upstream"; # Added 2024-08-23 - polyglot = vim-polyglot; - prettyprint = vim-prettyprint; - quickrun = vim-quickrun; - rainbow_parentheses = rainbow_parentheses-vim; - repeat = vim-repeat; - riv = riv-vim; - rhubarb = vim-rhubarb; - sensible = vim-sensible; - signature = vim-signature; - snipmate = vim-snipmate; - sourcemap = sourcemap-vim; - "sourcemap.vim" = sourcemap-vim; - surround = vim-surround; - sleuth = vim-sleuth; - solidity = vim-solidity; - stylish-haskell = vim-stylish-haskell; - stylishHaskell = vim-stylish-haskell; # backwards compat, added 2014-10-18 - suda-vim = vim-suda; # backwards compat, added 2024-05-16 - Supertab = supertab; - Syntastic = syntastic; - SyntaxRange = vim-SyntaxRange; - table-mode = vim-table-mode; - taglist = taglist-vim; - tabpagebuffer = tabpagebuffer-vim; - tabpagecd = vim-tabpagecd; - Tabular = tabular; - Tagbar = tagbar; - thumbnail = thumbnail-vim; - tlib = tlib_vim; - tmux-navigator = vim-tmux-navigator; - tmuxNavigator = vim-tmux-navigator; # backwards compat, added 2014-10-18 - todo-nvim = throw "todo-nvim has been removed: abandoned by upstream"; # Added 2023-08-23 - tslime = tslime-vim; - unite = unite-vim; - UltiSnips = ultisnips; - vim-addon-vim2nix = vim2nix; - vim-sourcetrail = throw "vim-sourcetrail has been removed: abandoned by upstream"; # Added 2022-08-14 - vimproc = vimproc-vim; - vimshell = vimshell-vim; - vinegar = vim-vinegar; - watchdogs = vim-watchdogs; - WebAPI = webapi-vim; - wombat256 = wombat256-vim; # backwards compat, added 2015-7-8 - yankring = YankRing-vim; - Yankring = YankRing-vim; - xterm-color-table = xterm-color-table-vim; - zeavim = zeavim-vim; -} // deprecations) +mapAliases ( + with prev; + { + airline = vim-airline; + alternative = a-vim; # backwards compat, added 2014-10-21 + bats = bats-vim; + BufOnly = BufOnly-vim; + calendar = calendar-vim; + coffee-script = vim-coffee-script; + coffeeScript = vim-coffee-script; # backwards compat, added 2014-10-18 + Solarized = vim-colors-solarized; + solarized = vim-colors-solarized; + spacevim = throw "this distribution was unmaintained for the last 6 years, please use top-level 'spacevim'"; # added 2024-11-27 + SpaceVim = throw "this distribution didn't work properly in vimPlugins, please use top-level 'spacevim' instead"; # added 2024-11-27 + colors-solarized = vim-colors-solarized; + caw = caw-vim; + chad = chadtree; + colorsamplerpack = Colour-Sampler-Pack; + Colour_Sampler_Pack = Colour-Sampler-Pack; + command_T = command-t; # backwards compat, added 2014-10-18 + commentary = vim-commentary; + committia = committia-vim; + concealedyank = concealedyank-vim; + context-filetype = context_filetype-vim; + Cosco = cosco-vim; + css_color_5056 = vim-css-color; + CSApprox = csapprox; + csv = csv-vim; + ctrlp = ctrlp-vim; + cute-python = vim-cute-python; + denite = denite-nvim; + easy-align = vim-easy-align; + easygit = vim-easygit; + easymotion = vim-easymotion; + echodoc = echodoc-vim; + eighties = vim-eighties; + extradite = vim-extradite; + fugitive = vim-fugitive; + floating-nvim = throw "floating.nvim has been removed: abandoned by upstream. Use popup-nvim or nui-nvim"; # Added 2024-11-26 + ghc-mod-vim = ghcmod-vim; + ghcmod = ghcmod-vim; + goyo = goyo-vim; + Gist = vim-gist; + gitgutter = vim-gitgutter; + gundo = gundo-vim; + Gundo = gundo-vim; # backwards compat, added 2015-10-03 + haskellConceal = vim-haskellconceal; # backwards compat, added 2014-10-18 + haskellConcealPlus = vim-haskellConcealPlus; + haskellconceal = vim-haskellconceal; + hier = vim-hier; + hlint-refactor = hlint-refactor-vim; + hoogle = vim-hoogle; + Hoogle = vim-hoogle; + indent-blankline-nvim-lua = indent-blankline-nvim; # backwards compat, added 2021-07-05 + ipython = vim-ipython; + latex-live-preview = vim-latex-live-preview; + maktaba = vim-maktaba; + multiple-cursors = vim-multiple-cursors; + necoGhc = neco-ghc; # backwards compat, added 2014-10-18 + neocomplete = neocomplete-vim; + neoinclude = neoinclude-vim; + neomru = neomru-vim; + neosnippet = neosnippet-vim; + nvim-ts-rainbow = throw "nvim-ts-rainbow has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30 + nvim-ts-rainbow2 = throw "nvim-ts-rainbow2 has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30 + The_NERD_Commenter = nerdcommenter; + The_NERD_tree = nerdtree; + open-browser = open-browser-vim; + pathogen = vim-pathogen; + peskcolor-vim = throw "peskcolor-vim has been removed: abandoned by upstream"; # Added 2024-08-23 + polyglot = vim-polyglot; + prettyprint = vim-prettyprint; + quickrun = vim-quickrun; + rainbow_parentheses = rainbow_parentheses-vim; + repeat = vim-repeat; + riv = riv-vim; + rhubarb = vim-rhubarb; + sensible = vim-sensible; + signature = vim-signature; + snipmate = vim-snipmate; + sourcemap = sourcemap-vim; + "sourcemap.vim" = sourcemap-vim; + surround = vim-surround; + sleuth = vim-sleuth; + solidity = vim-solidity; + stylish-haskell = vim-stylish-haskell; + stylishHaskell = vim-stylish-haskell; # backwards compat, added 2014-10-18 + suda-vim = vim-suda; # backwards compat, added 2024-05-16 + Supertab = supertab; + Syntastic = syntastic; + SyntaxRange = vim-SyntaxRange; + table-mode = vim-table-mode; + taglist = taglist-vim; + tabpagebuffer = tabpagebuffer-vim; + tabpagecd = vim-tabpagecd; + Tabular = tabular; + Tagbar = tagbar; + thumbnail = thumbnail-vim; + tlib = tlib_vim; + tmux-navigator = vim-tmux-navigator; + tmuxNavigator = vim-tmux-navigator; # backwards compat, added 2014-10-18 + todo-nvim = throw "todo-nvim has been removed: abandoned by upstream"; # Added 2023-08-23 + tslime = tslime-vim; + unite = unite-vim; + UltiSnips = ultisnips; + vim-addon-vim2nix = vim2nix; + vim-sourcetrail = throw "vim-sourcetrail has been removed: abandoned by upstream"; # Added 2022-08-14 + vimproc = vimproc-vim; + vimshell = vimshell-vim; + vinegar = vim-vinegar; + watchdogs = vim-watchdogs; + WebAPI = webapi-vim; + wombat256 = wombat256-vim; # backwards compat, added 2015-7-8 + yankring = YankRing-vim; + Yankring = YankRing-vim; + xterm-color-table = xterm-color-table-vim; + zeavim = zeavim-vim; + } + // deprecations +) diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix index b746e186644e0..ac5fb20e183b5 100644 --- a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix +++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix @@ -1,47 +1,59 @@ -{ lib -, stdenv -, rtpPath -, toVimPlugin +{ + lib, + stdenv, + rtpPath, + toVimPlugin, }: { addRtp = drv: lib.warn "`addRtp` is deprecated, does nothing." drv; buildVimPlugin = - { name ? "${attrs.pname}-${attrs.version}" - , src - , unpackPhase ? "" - , configurePhase ? ":" - , buildPhase ? ":" - , preInstall ? "" - , postInstall ? "" - , path ? "." - , addonInfo ? null - , meta ? { } - , ... + { + name ? "${attrs.pname}-${attrs.version}", + src, + unpackPhase ? "", + configurePhase ? ":", + buildPhase ? ":", + preInstall ? "", + postInstall ? "", + path ? ".", + addonInfo ? null, + meta ? { }, + ... }@attrs: let - drv = stdenv.mkDerivation (attrs // { - name = lib.warnIf (attrs ? vimprefix) "The 'vimprefix' is now hardcoded in toVimPlugin" name; - - __structuredAttrs = true; - inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall; - - installPhase = '' - runHook preInstall - - target=$out/${rtpPath}/${path} - mkdir -p $out/${rtpPath} - cp -r . $target - - runHook postInstall - ''; - - meta = { - platforms = lib.platforms.all; - } // meta; - }); + drv = stdenv.mkDerivation ( + attrs + // { + name = lib.warnIf (attrs ? vimprefix) "The 'vimprefix' is now hardcoded in toVimPlugin" name; + + __structuredAttrs = true; + inherit + unpackPhase + configurePhase + buildPhase + addonInfo + preInstall + postInstall + ; + + installPhase = '' + runHook preInstall + + target=$out/${rtpPath}/${path} + mkdir -p $out/${rtpPath} + cp -r . $target + + runHook postInstall + ''; + + meta = { + platforms = lib.platforms.all; + } // meta; + } + ); in - toVimPlugin drv; + toVimPlugin drv; } diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix index fd821bbec9701..4ee82593a198a 100644 --- a/pkgs/applications/editors/vim/plugins/default.nix +++ b/pkgs/applications/editors/vim/plugins/default.nix @@ -1,13 +1,21 @@ # TODO check that no license information gets lost -{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages -, neovim-unwrapped -, neovimUtils +{ + callPackage, + config, + lib, + vimUtils, + vim, + darwin, + llvmPackages, + neovim-unwrapped, + neovimUtils, }: let - inherit (vimUtils.override {inherit vim;}) - buildVimPlugin; + inherit (vimUtils.override { inherit vim; }) + buildVimPlugin + ; inherit (lib) extends; @@ -30,13 +38,10 @@ let inherit llvmPackages; }; - aliases = if config.allowAliases then (import ./aliases.nix lib) else final: prev: {}; + aliases = if config.allowAliases then (import ./aliases.nix lib) else final: prev: { }; - extensible-self = lib.makeExtensible - (extends aliases - (extends overrides - (extends plugins initialPackages) - ) - ); + extensible-self = lib.makeExtensible ( + extends aliases (extends overrides (extends plugins initialPackages)) + ); in - extensible-self +extensible-self diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index c1e80f20d198b..ef1fd6363c71c 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -1,4 +1,13 @@ -{ lib, callPackage, tree-sitter, neovim, neovimUtils, runCommand, vimPlugins, tree-sitter-grammars }: +{ + lib, + callPackage, + tree-sitter, + neovim, + neovimUtils, + runCommand, + vimPlugins, + tree-sitter-grammars, +}: self: super: @@ -15,18 +24,21 @@ let # ocaml-interface # tree-sitter-ocaml-interface # tree-sitter-ocaml_interface - builtGrammars = generatedGrammars // lib.concatMapAttrs - (k: v: + builtGrammars = + generatedGrammars + // lib.concatMapAttrs ( + k: v: let replaced = lib.replaceStrings [ "_" ] [ "-" ] k; in { "tree-sitter-${k}" = v; - } // lib.optionalAttrs (k != replaced) { + } + // lib.optionalAttrs (k != replaced) { ${replaced} = v; "tree-sitter-${replaced}" = v; - }) - generatedDerivations; + } + ) generatedDerivations; allGrammars = lib.attrValues generatedDerivations; @@ -35,9 +47,9 @@ let # or for all grammars: # pkgs.vimPlugins.nvim-treesitter.withAllGrammars withPlugins = - f: self.nvim-treesitter.overrideAttrs { - passthru.dependencies = map grammarToPlugin - (f (tree-sitter.builtGrammars // builtGrammars)); + f: + self.nvim-treesitter.overrideAttrs { + passthru.dependencies = map grammarToPlugin (f (tree-sitter.builtGrammars // builtGrammars)); }; withAllGrammars = withPlugins (_: allGrammars); @@ -49,7 +61,13 @@ in ''; passthru = (super.nvim-treesitter.passthru or { }) // { - inherit builtGrammars allGrammars grammarToPlugin withPlugins withAllGrammars; + inherit + builtGrammars + allGrammars + grammarToPlugin + withPlugins + withAllGrammars + ; grammarPlugins = lib.mapAttrs (_: grammarToPlugin) generatedDerivations; @@ -81,16 +99,11 @@ in tree-sitter-queries-are-present-for-custom-grammars = let pluginsToCheck = - builtins.map - (grammar: grammarToPlugin grammar) - # true is here because there is `recurseForDerivations = true` - (lib.remove true - (lib.attrValues tree-sitter-grammars) - ); + builtins.map (grammar: grammarToPlugin grammar) + # true is here because there is `recurseForDerivations = true` + (lib.remove true (lib.attrValues tree-sitter-grammars)); in - runCommand "nvim-treesitter-test-queries-are-present-for-custom-grammars" - { CI = true; } - '' + runCommand "nvim-treesitter-test-queries-are-present-for-custom-grammars" { CI = true; } '' function check_grammar { EXPECTED_FILES="$2/parser/$1.so `ls $2/queries/$1/*.scm`" @@ -110,12 +123,7 @@ in done } - ${lib.concatLines - (lib.forEach - pluginsToCheck - (g: "check_grammar \"${g.grammarName}\" \"${g}\"") - ) - } + ${lib.concatLines (lib.forEach pluginsToCheck (g: "check_grammar \"${g.grammarName}\" \"${g}\""))} touch $out ''; @@ -123,13 +131,9 @@ in let pluginsToCheck = # true is here because there is `recurseForDerivations = true` - (lib.remove true - (lib.attrValues vimPlugins.nvim-treesitter-parsers) - ); + (lib.remove true (lib.attrValues vimPlugins.nvim-treesitter-parsers)); in - runCommand "nvim-treesitter-test-no-queries-for-official-grammars" - { CI = true; } - '' + runCommand "nvim-treesitter-test-no-queries-for-official-grammars" { CI = true; } '' touch $out function check_grammar { @@ -141,19 +145,17 @@ in fi } - ${lib.concatLines - (lib.forEach - pluginsToCheck - (g: "check_grammar \"${g.grammarName}\" \"${g}\"") - ) - } + ${lib.concatLines (lib.forEach pluginsToCheck (g: "check_grammar \"${g.grammarName}\" \"${g}\""))} ''; }; }; - meta = with lib; (super.nvim-treesitter.meta or { }) // { - license = licenses.asl20; - maintainers = with maintainers; [ figsoda ]; - }; + meta = + with lib; + (super.nvim-treesitter.meta or { }) + // { + license = licenses.asl20; + maintainers = with maintainers; [ figsoda ]; + }; nvimRequireCheck = "nvim-treesitter"; } diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix index 04d83d42c8733..a81c4daa32f8d 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix @@ -1,4 +1,6 @@ -{ pkgs ? import ../../../../../.. { } }: +{ + pkgs ? import ../../../../../.. { }, +}: with pkgs; @@ -11,7 +13,11 @@ let in mkShell { - packages = [ neovim nurl python3 ]; + packages = [ + neovim + nurl + python3 + ]; NVIM_TREESITTER = nvim-treesitter; } diff --git a/pkgs/applications/editors/vim/plugins/updater.nix b/pkgs/applications/editors/vim/plugins/updater.nix index 1a62f13a04086..41413a5b4c661 100644 --- a/pkgs/applications/editors/vim/plugins/updater.nix +++ b/pkgs/applications/editors/vim/plugins/updater.nix @@ -1,13 +1,14 @@ -{ buildPythonApplication -, nix -, makeWrapper -, python3Packages -, lib -, nix-prefetch-git -, nurl - -# optional -, neovim-unwrapped +{ + buildPythonApplication, + nix, + makeWrapper, + python3Packages, + lib, + nix-prefetch-git, + nurl, + + # optional + neovim-unwrapped, }: buildPythonApplication { pname = "vim-plugins-updater"; @@ -32,15 +33,20 @@ buildPythonApplication { cp ${./get-plugins.nix} $out/bin/get-plugins.nix # wrap python scripts - makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [ - nix nix-prefetch-git neovim-unwrapped nurl ]}" --prefix PYTHONPATH : "${./.}:${../../../../../maintainers/scripts/pluginupdate-py}" ) + makeWrapperArgs+=( --prefix PATH : "${ + lib.makeBinPath [ + nix + nix-prefetch-git + neovim-unwrapped + nurl + ] + }" --prefix PYTHONPATH : "${./.}:${../../../../../maintainers/scripts/pluginupdate-py}" ) wrapPythonPrograms ''; shellHook = '' export PYTHONPATH=pkgs/applications/editors/vim/plugins:maintainers/scripts/pluginupdate-py:$PYTHONPATH - ''; + ''; meta.mainProgram = "vim-plugins-updater"; } - diff --git a/pkgs/applications/editors/vim/vimacs.nix b/pkgs/applications/editors/vim/vimacs.nix index e54ac39b2ae49..09f092be322dd 100644 --- a/pkgs/applications/editors/vim/vimacs.nix +++ b/pkgs/applications/editors/vim/vimacs.nix @@ -1,13 +1,23 @@ -{ lib, stdenv, config, vim-full, macvim, vimPlugins -, useMacvim ? stdenv.hostPlatform.isDarwin && (config.vimacs.macvim or true) -, vimacsExtraArgs ? "" }: +{ + lib, + stdenv, + config, + vim-full, + macvim, + vimPlugins, + useMacvim ? stdenv.hostPlatform.isDarwin && (config.vimacs.macvim or true), + vimacsExtraArgs ? "", +}: stdenv.mkDerivation rec { pname = "vimacs"; version = lib.getVersion vimPackage; vimPackage = if useMacvim then macvim else vim-full; - buildInputs = [ vimPackage vimPlugins.vimacs ]; + buildInputs = [ + vimPackage + vimPlugins.vimacs + ]; buildCommand = '' mkdir -p "$out"/bin diff --git a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix index 96b892911b06d..ed2e32bd0c083 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix @@ -19,13 +19,11 @@ writeShellScriptBin "vscodeExts2nix" '' echo '[' for line in $(${vscode}/bin/code --list-extensions --show-versions \ - ${ - lib.optionalString (extensionsToIgnore != [ ]) '' - | grep -v -i '^\(${ - lib.concatMapStringsSep "\\|" (e: "${e.publisher}.${e.name}") extensionsToIgnore - }\)' - '' - } + ${lib.optionalString (extensionsToIgnore != [ ]) '' + | grep -v -i '^\(${ + lib.concatMapStringsSep "\\|" (e: "${e.publisher}.${e.name}") extensionsToIgnore + }\)' + ''} ) ; do [[ $line =~ ([^.]*)\.([^@]*)@(.*) ]] name=''${BASH_REMATCH[2]} diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix index fbe7658d8e4d5..c32f80bd89da2 100644 --- a/pkgs/applications/editors/vscode/generic.nix +++ b/pkgs/applications/editors/vscode/generic.nix @@ -1,265 +1,334 @@ -{ stdenv -, lib -, copyDesktopItems -, makeDesktopItem -, unzip -, libsecret -, libXScrnSaver -, libxshmfence -, buildPackages -, at-spi2-atk -, autoPatchelfHook -, alsa-lib -, mesa -, nss -, nspr -, xorg -, systemd -, fontconfig -, libdbusmenu -, glib -, buildFHSEnv -, wayland -, libglvnd -, libkrb5 +{ + stdenv, + lib, + copyDesktopItems, + makeDesktopItem, + unzip, + libsecret, + libXScrnSaver, + libxshmfence, + buildPackages, + at-spi2-atk, + autoPatchelfHook, + alsa-lib, + mesa, + nss, + nspr, + xorg, + systemd, + fontconfig, + libdbusmenu, + glib, + buildFHSEnv, + wayland, + libglvnd, + libkrb5, # Populate passthru.tests -, tests + tests, # needed to fix "Save as Root" -, asar -, bash + asar, + bash, # Attributes inherit from specific versions -, version -, src -, meta -, sourceRoot -, commandLineArgs -, executableName -, longName -, shortName -, pname -, updateScript -, dontFixup ? false -, rev ? null -, vscodeServer ? null -, sourceExecutableName ? executableName -, useVSCodeRipgrep ? false -, ripgrep + version, + src, + meta, + sourceRoot, + commandLineArgs, + executableName, + longName, + shortName, + pname, + updateScript, + dontFixup ? false, + rev ? null, + vscodeServer ? null, + sourceExecutableName ? executableName, + useVSCodeRipgrep ? false, + ripgrep, }: -stdenv.mkDerivation (finalAttrs: -let +stdenv.mkDerivation ( + finalAttrs: + let - # Vscode and variants allow for users to download and use extensions - # which often include the usage of pre-built binaries. - # This has been an on-going painpoint for many users, as - # a full extension update cycle has to be done through nixpkgs - # in order to create or update extensions. - # See: #83288 #91179 #73810 #41189 - # - # buildFHSEnv allows for users to use the existing vscode - # extension tooling without significant pain. - fhs = { additionalPkgs ? pkgs: [ ] }: buildFHSEnv { - # also determines the name of the wrapped command - pname = executableName; - inherit version; + # Vscode and variants allow for users to download and use extensions + # which often include the usage of pre-built binaries. + # This has been an on-going painpoint for many users, as + # a full extension update cycle has to be done through nixpkgs + # in order to create or update extensions. + # See: #83288 #91179 #73810 #41189 + # + # buildFHSEnv allows for users to use the existing vscode + # extension tooling without significant pain. + fhs = + { + additionalPkgs ? pkgs: [ ], + }: + buildFHSEnv { + # also determines the name of the wrapped command + pname = executableName; + inherit version; - # additional libraries which are commonly needed for extensions - targetPkgs = pkgs: (with pkgs; [ - # ld-linux-x86-64-linux.so.2 and others - glibc + # additional libraries which are commonly needed for extensions + targetPkgs = + pkgs: + (with pkgs; [ + # ld-linux-x86-64-linux.so.2 and others + glibc - # dotnet - curl - icu - libunwind - libuuid - lttng-ust - openssl - zlib + # dotnet + curl + icu + libunwind + libuuid + lttng-ust + openssl + zlib - # mono - krb5 - ]) ++ additionalPkgs pkgs; + # mono + krb5 + ]) + ++ additionalPkgs pkgs; - extraBwrapArgs = [ - "--bind-try /etc/nixos/ /etc/nixos/" - ]; + extraBwrapArgs = [ + "--bind-try /etc/nixos/ /etc/nixos/" + ]; - # symlink shared assets, including icons and desktop entries - extraInstallCommands = '' - ln -s "${finalAttrs.finalPackage}/share" "$out/" - ''; + # symlink shared assets, including icons and desktop entries + extraInstallCommands = '' + ln -s "${finalAttrs.finalPackage}/share" "$out/" + ''; - runScript = "${finalAttrs.finalPackage}/bin/${executableName}"; + runScript = "${finalAttrs.finalPackage}/bin/${executableName}"; - # vscode likes to kill the parent so that the - # gui application isn't attached to the terminal session - dieWithParent = false; + # vscode likes to kill the parent so that the + # gui application isn't attached to the terminal session + dieWithParent = false; - passthru = { - inherit executableName; - inherit (finalAttrs.finalPackage) pname version; # for home-manager module - }; + passthru = { + inherit executableName; + inherit (finalAttrs.finalPackage) pname version; # for home-manager module + }; - meta = meta // { - description = '' - Wrapped variant of ${pname} which launches in a FHS compatible environment. - Should allow for easy usage of extensions without nix-specific modifications. - ''; - }; - }; -in -{ + meta = meta // { + description = '' + Wrapped variant of ${pname} which launches in a FHS compatible environment. + Should allow for easy usage of extensions without nix-specific modifications. + ''; + }; + }; + in + { - inherit pname version src sourceRoot dontFixup; + inherit + pname + version + src + sourceRoot + dontFixup + ; - passthru = { - inherit executableName longName tests updateScript; - fhs = fhs { }; - fhsWithPackages = f: fhs { additionalPkgs = f; }; - } // lib.optionalAttrs (vscodeServer != null) { - inherit rev vscodeServer; - }; + passthru = + { + inherit + executableName + longName + tests + updateScript + ; + fhs = fhs { }; + fhsWithPackages = f: fhs { additionalPkgs = f; }; + } + // lib.optionalAttrs (vscodeServer != null) { + inherit rev vscodeServer; + }; - desktopItems = [ - (makeDesktopItem { - name = executableName; - desktopName = longName; - comment = "Code Editing. Redefined."; - genericName = "Text Editor"; - exec = "${executableName} %F"; - icon = "vs${executableName}"; - startupNotify = true; - startupWMClass = shortName; - categories = [ "Utility" "TextEditor" "Development" "IDE" ]; - keywords = [ "vscode" ]; - actions.new-empty-window = { - name = "New Empty Window"; - exec = "${executableName} --new-window %F"; + desktopItems = [ + (makeDesktopItem { + name = executableName; + desktopName = longName; + comment = "Code Editing. Redefined."; + genericName = "Text Editor"; + exec = "${executableName} %F"; icon = "vs${executableName}"; - }; - }) - (makeDesktopItem { - name = executableName + "-url-handler"; - desktopName = longName + " - URL Handler"; - comment = "Code Editing. Redefined."; - genericName = "Text Editor"; - exec = executableName + " --open-url %U"; - icon = "vs${executableName}"; - startupNotify = true; - startupWMClass = shortName; - categories = [ "Utility" "TextEditor" "Development" "IDE" ]; - mimeTypes = [ "x-scheme-handler/vs${executableName}" ]; - keywords = [ "vscode" ]; - noDisplay = true; - }) - ]; + startupNotify = true; + startupWMClass = shortName; + categories = [ + "Utility" + "TextEditor" + "Development" + "IDE" + ]; + keywords = [ "vscode" ]; + actions.new-empty-window = { + name = "New Empty Window"; + exec = "${executableName} --new-window %F"; + icon = "vs${executableName}"; + }; + }) + (makeDesktopItem { + name = executableName + "-url-handler"; + desktopName = longName + " - URL Handler"; + comment = "Code Editing. Redefined."; + genericName = "Text Editor"; + exec = executableName + " --open-url %U"; + icon = "vs${executableName}"; + startupNotify = true; + startupWMClass = shortName; + categories = [ + "Utility" + "TextEditor" + "Development" + "IDE" + ]; + mimeTypes = [ "x-scheme-handler/vs${executableName}" ]; + keywords = [ "vscode" ]; + noDisplay = true; + }) + ]; - buildInputs = [ libsecret libXScrnSaver libxshmfence ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ alsa-lib at-spi2-atk libkrb5 mesa nss nspr systemd xorg.libxkbfile ]; + buildInputs = + [ + libsecret + libXScrnSaver + libxshmfence + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + alsa-lib + at-spi2-atk + libkrb5 + mesa + nss + nspr + systemd + xorg.libxkbfile + ]; - runtimeDependencies = lib.optionals stdenv.hostPlatform.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ]; + runtimeDependencies = lib.optionals stdenv.hostPlatform.isLinux [ + (lib.getLib systemd) + fontconfig.lib + libdbusmenu + wayland + libsecret + ]; - nativeBuildInputs = [ unzip ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - autoPatchelfHook - asar - copyDesktopItems - # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651 - # Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset. - (buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; }) - ]; + nativeBuildInputs = + [ unzip ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + asar + copyDesktopItems + # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651 + # Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset. + (buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; }) + ]; - dontBuild = true; - dontConfigure = true; - noDumpEnvVars = true; + dontBuild = true; + dontConfigure = true; + noDumpEnvVars = true; - installPhase = '' - runHook preInstall - '' + (if stdenv.hostPlatform.isDarwin then '' - mkdir -p "$out/Applications/${longName}.app" "$out/bin" - cp -r ./* "$out/Applications/${longName}.app" - ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" "$out/bin/${executableName}" - '' else '' - mkdir -p "$out/lib/vscode" "$out/bin" - cp -r ./* "$out/lib/vscode" + installPhase = + '' + runHook preInstall + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p "$out/Applications/${longName}.app" "$out/bin" + cp -r ./* "$out/Applications/${longName}.app" + ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" "$out/bin/${executableName}" + '' + else + '' + mkdir -p "$out/lib/vscode" "$out/bin" + cp -r ./* "$out/lib/vscode" - ln -s "$out/lib/vscode/bin/${sourceExecutableName}" "$out/bin/${executableName}" + ln -s "$out/lib/vscode/bin/${sourceExecutableName}" "$out/bin/${executableName}" - # These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages. - mkdir -p "$out/share/pixmaps" - cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/vs${executableName}.png" + # These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages. + mkdir -p "$out/share/pixmaps" + cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/vs${executableName}.png" - # Override the previously determined VSCODE_PATH with the one we know to be correct - sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" - grep -q "VSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" # check if sed succeeded + # Override the previously determined VSCODE_PATH with the one we know to be correct + sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" + grep -q "VSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" # check if sed succeeded - # Remove native encryption code, as it derives the key from the executable path which does not work for us. - # The credentials should be stored in a secure keychain already, so the benefit of this is questionable - # in the first place. - rm -rf $out/lib/vscode/resources/app/node_modules/vscode-encrypt - '') + '' - runHook postInstall - ''; + # Remove native encryption code, as it derives the key from the executable path which does not work for us. + # The credentials should be stored in a secure keychain already, so the benefit of this is questionable + # in the first place. + rm -rf $out/lib/vscode/resources/app/node_modules/vscode-encrypt + '' + ) + + '' + runHook postInstall + ''; - preFixup = '' - gappsWrapperArgs+=( - ${ # we cannot use runtimeDependencies otherwise libdbusmenu do not work on kde - lib.optionalString stdenv.hostPlatform.isLinux - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libdbusmenu ]}"} - # Add gio to PATH so that moving files to the trash works when not using a desktop environment - --prefix PATH : ${glib.bin}/bin - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" - --add-flags ${lib.escapeShellArg commandLineArgs} - ) - ''; + preFixup = '' + gappsWrapperArgs+=( + ${ + # we cannot use runtimeDependencies otherwise libdbusmenu do not work on kde + lib.optionalString stdenv.hostPlatform.isLinux + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libdbusmenu ]}" + } + # Add gio to PATH so that moving files to the trash works when not using a desktop environment + --prefix PATH : ${glib.bin}/bin + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" + --add-flags ${lib.escapeShellArg commandLineArgs} + ) + ''; - # See https://github.com/NixOS/nixpkgs/issues/49643#issuecomment-873853897 - # linux only because of https://github.com/NixOS/nixpkgs/issues/138729 - postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' - # this is a fix for "save as root" functionality - packed="resources/app/node_modules.asar" - unpacked="resources/app/node_modules" - asar extract "$packed" "$unpacked" - substituteInPlace $unpacked/@vscode/sudo-prompt/index.js \ - --replace "/usr/bin/pkexec" "/run/wrappers/bin/pkexec" \ - --replace "/bin/bash" "${bash}/bin/bash" - rm -rf "$packed" + # See https://github.com/NixOS/nixpkgs/issues/49643#issuecomment-873853897 + # linux only because of https://github.com/NixOS/nixpkgs/issues/138729 + postPatch = + lib.optionalString stdenv.hostPlatform.isLinux '' + # this is a fix for "save as root" functionality + packed="resources/app/node_modules.asar" + unpacked="resources/app/node_modules" + asar extract "$packed" "$unpacked" + substituteInPlace $unpacked/@vscode/sudo-prompt/index.js \ + --replace "/usr/bin/pkexec" "/run/wrappers/bin/pkexec" \ + --replace "/bin/bash" "${bash}/bin/bash" + rm -rf "$packed" - # without this symlink loading JsChardet, the library that is used for auto encoding detection when files.autoGuessEncoding is true, - # fails to load with: electron/js2c/renderer_init: Error: Cannot find module 'jschardet' - # and the window immediately closes which renders VSCode unusable - # see https://github.com/NixOS/nixpkgs/issues/152939 for full log - ln -rs "$unpacked" "$packed" - '' + ( - let - vscodeRipgrep = - if stdenv.hostPlatform.isDarwin then - if lib.versionAtLeast version "1.94.0" then - "Contents/Resources/app/node_modules/@vscode/ripgrep/bin/rg" - else - "Contents/Resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg" + # without this symlink loading JsChardet, the library that is used for auto encoding detection when files.autoGuessEncoding is true, + # fails to load with: electron/js2c/renderer_init: Error: Cannot find module 'jschardet' + # and the window immediately closes which renders VSCode unusable + # see https://github.com/NixOS/nixpkgs/issues/152939 for full log + ln -rs "$unpacked" "$packed" + '' + + ( + let + vscodeRipgrep = + if stdenv.hostPlatform.isDarwin then + if lib.versionAtLeast version "1.94.0" then + "Contents/Resources/app/node_modules/@vscode/ripgrep/bin/rg" + else + "Contents/Resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg" + else + "resources/app/node_modules/@vscode/ripgrep/bin/rg"; + in + if !useVSCodeRipgrep then + '' + rm ${vscodeRipgrep} + ln -s ${ripgrep}/bin/rg ${vscodeRipgrep} + '' else - "resources/app/node_modules/@vscode/ripgrep/bin/rg"; - in - if !useVSCodeRipgrep then '' - rm ${vscodeRipgrep} - ln -s ${ripgrep}/bin/rg ${vscodeRipgrep} - '' else '' - chmod +x ${vscodeRipgrep} - '' - ); + '' + chmod +x ${vscodeRipgrep} + '' + ); - postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf \ - --add-needed ${libglvnd}/lib/libGLESv2.so.2 \ - --add-needed ${libglvnd}/lib/libGL.so.1 \ - --add-needed ${libglvnd}/lib/libEGL.so.1 \ - $out/lib/vscode/${executableName} - ''; + postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' + patchelf \ + --add-needed ${libglvnd}/lib/libGLESv2.so.2 \ + --add-needed ${libglvnd}/lib/libGL.so.1 \ + --add-needed ${libglvnd}/lib/libEGL.so.1 \ + $out/lib/vscode/${executableName} + ''; - inherit meta; -}) + inherit meta; + } +) diff --git a/pkgs/applications/editors/vscode/update-shell.nix b/pkgs/applications/editors/vscode/update-shell.nix index aa9488c217f4b..03ad778072226 100644 --- a/pkgs/applications/editors/vscode/update-shell.nix +++ b/pkgs/applications/editors/vscode/update-shell.nix @@ -1,4 +1,6 @@ -{ pkgs ? import ../../../.. { } }: +{ + pkgs ? import ../../../.. { }, +}: # Ideally, pkgs points to default.nix file of Nixpkgs official tree with pkgs; diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index 90c543f352b13..1da3040f558e8 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -1,105 +1,122 @@ -{ stdenv -, stdenvNoCC -, lib -, callPackage -, fetchurl -, nixosTests -, srcOnly -, isInsiders ? false -# sourceExecutableName is the name of the binary in the source archive over -# which we have no control and it is needed to run the insider version as -# documented in https://wiki.nixos.org/wiki/Visual_Studio_Code#Insiders_Build -# On MacOS the insider binary is still called code instead of code-insiders as -# of 2023-08-06. -, sourceExecutableName ? "code" + lib.optionalString (isInsiders && stdenv.hostPlatform.isLinux) "-insiders" -, commandLineArgs ? "" -, useVSCodeRipgrep ? stdenv.hostPlatform.isDarwin +{ + stdenv, + stdenvNoCC, + lib, + callPackage, + fetchurl, + nixosTests, + srcOnly, + isInsiders ? false, + # sourceExecutableName is the name of the binary in the source archive over + # which we have no control and it is needed to run the insider version as + # documented in https://wiki.nixos.org/wiki/Visual_Studio_Code#Insiders_Build + # On MacOS the insider binary is still called code instead of code-insiders as + # of 2023-08-06. + sourceExecutableName ? + "code" + lib.optionalString (isInsiders && stdenv.hostPlatform.isLinux) "-insiders", + commandLineArgs ? "", + useVSCodeRipgrep ? stdenv.hostPlatform.isDarwin, }: let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; - plat = { - x86_64-linux = "linux-x64"; - x86_64-darwin = "darwin"; - aarch64-linux = "linux-arm64"; - aarch64-darwin = "darwin-arm64"; - armv7l-linux = "linux-armhf"; - }.${system} or throwSystem; + plat = + { + x86_64-linux = "linux-x64"; + x86_64-darwin = "darwin"; + aarch64-linux = "linux-arm64"; + aarch64-darwin = "darwin-arm64"; + armv7l-linux = "linux-armhf"; + } + .${system} or throwSystem; archive_fmt = if stdenv.hostPlatform.isDarwin then "zip" else "tar.gz"; - sha256 = { - x86_64-linux = "0ijv2y2brc05m45slsy24dp8r0733d89f082l3mbs64vkz76s748"; - x86_64-darwin = "012lkaxq5cqcby6lzmgwxbhgr36mk5szqvnxkw9xf5bjcpmxllfz"; - aarch64-linux = "1975pvzg9hvbwqri80sbzbrgr96h85fi22x1walgqw4px74lsa1d"; - aarch64-darwin = "023an5g5lgjizdppv52lpsah8kr0y40dm2kl7rq7byvsfxjga0gy"; - armv7l-linux = "1f871lafkfyjw57iwz5gzl3bjjhqdac32akj0n26lkl3zq86p417"; - }.${system} or throwSystem; + sha256 = + { + x86_64-linux = "0ijv2y2brc05m45slsy24dp8r0733d89f082l3mbs64vkz76s748"; + x86_64-darwin = "012lkaxq5cqcby6lzmgwxbhgr36mk5szqvnxkw9xf5bjcpmxllfz"; + aarch64-linux = "1975pvzg9hvbwqri80sbzbrgr96h85fi22x1walgqw4px74lsa1d"; + aarch64-darwin = "023an5g5lgjizdppv52lpsah8kr0y40dm2kl7rq7byvsfxjga0gy"; + armv7l-linux = "1f871lafkfyjw57iwz5gzl3bjjhqdac32akj0n26lkl3zq86p417"; + } + .${system} or throwSystem; in - callPackage ./generic.nix rec { - # Please backport all compatible updates to the stable release. - # This is important for the extension ecosystem. - version = "1.95.3"; - pname = "vscode" + lib.optionalString isInsiders "-insiders"; +callPackage ./generic.nix rec { + # Please backport all compatible updates to the stable release. + # This is important for the extension ecosystem. + version = "1.95.3"; + pname = "vscode" + lib.optionalString isInsiders "-insiders"; - # This is used for VS Code - Remote SSH test - rev = "f1a4fb101478ce6ec82fe9627c43efbf9e98c813"; + # This is used for VS Code - Remote SSH test + rev = "f1a4fb101478ce6ec82fe9627c43efbf9e98c813"; - executableName = "code" + lib.optionalString isInsiders "-insiders"; - longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; - shortName = "Code" + lib.optionalString isInsiders " - Insiders"; - inherit commandLineArgs useVSCodeRipgrep sourceExecutableName; + executableName = "code" + lib.optionalString isInsiders "-insiders"; + longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; + shortName = "Code" + lib.optionalString isInsiders " - Insiders"; + inherit commandLineArgs useVSCodeRipgrep sourceExecutableName; - src = fetchurl { - name = "VSCode_${version}_${plat}.${archive_fmt}"; - url = "https://update.code.visualstudio.com/${version}/${plat}/stable"; - inherit sha256; - }; + src = fetchurl { + name = "VSCode_${version}_${plat}.${archive_fmt}"; + url = "https://update.code.visualstudio.com/${version}/${plat}/stable"; + inherit sha256; + }; - # We don't test vscode on CI, instead we test vscodium - tests = {}; + # We don't test vscode on CI, instead we test vscodium + tests = { }; - sourceRoot = ""; + sourceRoot = ""; - # As tests run without networking, we need to download this for the Remote SSH server - vscodeServer = srcOnly { + # As tests run without networking, we need to download this for the Remote SSH server + vscodeServer = srcOnly { + name = "vscode-server-${rev}.tar.gz"; + src = fetchurl { name = "vscode-server-${rev}.tar.gz"; - src = fetchurl { - name = "vscode-server-${rev}.tar.gz"; - url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; - sha256 = "1ij7qfp5z801ny3n397801fv3hw5yvss1wxl9cyjgmjxmi6id7c1"; - }; - stdenv = stdenvNoCC; + url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; + sha256 = "1ij7qfp5z801ny3n397801fv3hw5yvss1wxl9cyjgmjxmi6id7c1"; }; + stdenv = stdenvNoCC; + }; - tests = { inherit (nixosTests) vscode-remote-ssh; }; + tests = { inherit (nixosTests) vscode-remote-ssh; }; - updateScript = ./update-vscode.sh; + updateScript = ./update-vscode.sh; - # Editing the `code` binary within the app bundle causes the bundle's signature - # to be invalidated, which prevents launching starting with macOS Ventura, because VS Code is notarized. - # See https://eclecticlight.co/2022/06/17/app-security-changes-coming-in-ventura/ for more information. - dontFixup = stdenv.hostPlatform.isDarwin; + # Editing the `code` binary within the app bundle causes the bundle's signature + # to be invalidated, which prevents launching starting with macOS Ventura, because VS Code is notarized. + # See https://eclecticlight.co/2022/06/17/app-security-changes-coming-in-ventura/ for more information. + dontFixup = stdenv.hostPlatform.isDarwin; - meta = with lib; { - description = '' - Open source source code editor developed by Microsoft for Windows, - Linux and macOS - ''; - mainProgram = "code"; - longDescription = '' - Open source source code editor developed by Microsoft for Windows, - Linux and macOS. It includes support for debugging, embedded Git - control, syntax highlighting, intelligent code completion, snippets, - and code refactoring. It is also customizable, so users can change the - editor's theme, keyboard shortcuts, and preferences - ''; - homepage = "https://code.visualstudio.com/"; - downloadPage = "https://code.visualstudio.com/Updates"; - license = licenses.unfree; - maintainers = with maintainers; [ eadwu synthetica bobby285271 johnrtitor ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "armv7l-linux" ]; - }; - } + meta = with lib; { + description = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS + ''; + mainProgram = "code"; + longDescription = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS. It includes support for debugging, embedded Git + control, syntax highlighting, intelligent code completion, snippets, + and code refactoring. It is also customizable, so users can change the + editor's theme, keyboard shortcuts, and preferences + ''; + homepage = "https://code.visualstudio.com/"; + downloadPage = "https://code.visualstudio.com/Updates"; + license = licenses.unfree; + maintainers = with maintainers; [ + eadwu + synthetica + bobby285271 + johnrtitor + ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + "armv7l-linux" + ]; + }; +} diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index 167df0c854822..de083f67a7d99 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -1,68 +1,90 @@ -{ lib, stdenv, callPackage, fetchurl, nixosTests, commandLineArgs ? "", useVSCodeRipgrep ? stdenv.hostPlatform.isDarwin }: +{ + lib, + stdenv, + callPackage, + fetchurl, + nixosTests, + commandLineArgs ? "", + useVSCodeRipgrep ? stdenv.hostPlatform.isDarwin, +}: let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; - plat = { - x86_64-linux = "linux-x64"; - x86_64-darwin = "darwin-x64"; - aarch64-linux = "linux-arm64"; - aarch64-darwin = "darwin-arm64"; - armv7l-linux = "linux-armhf"; - }.${system} or throwSystem; + plat = + { + x86_64-linux = "linux-x64"; + x86_64-darwin = "darwin-x64"; + aarch64-linux = "linux-arm64"; + aarch64-darwin = "darwin-arm64"; + armv7l-linux = "linux-armhf"; + } + .${system} or throwSystem; archive_fmt = if stdenv.hostPlatform.isDarwin then "zip" else "tar.gz"; - sha256 = { - x86_64-linux = "0948jbnhjra09bvf9acrl6b2dp1xar5ajahmzy0cwf6dbidfms5y"; - x86_64-darwin = "1a8ga66526lfy2xrgshhizmidp8aaiwvpr38rvhsx0hqb4vmm0hy"; - aarch64-linux = "08la7kbb6myf9iz23p60vd00mrmhnizw8dgh54gb0msh8wbasidq"; - aarch64-darwin = "01z1dx77briqzhfx45c2f2np78r11b5xm92smi9idivbsia800i3"; - armv7l-linux = "0h3f9sy7d4ylk0ay63adhnz9s7jlpwlf3x831v8pygzm2r7k9zgc"; - }.${system} or throwSystem; + sha256 = + { + x86_64-linux = "0948jbnhjra09bvf9acrl6b2dp1xar5ajahmzy0cwf6dbidfms5y"; + x86_64-darwin = "1a8ga66526lfy2xrgshhizmidp8aaiwvpr38rvhsx0hqb4vmm0hy"; + aarch64-linux = "08la7kbb6myf9iz23p60vd00mrmhnizw8dgh54gb0msh8wbasidq"; + aarch64-darwin = "01z1dx77briqzhfx45c2f2np78r11b5xm92smi9idivbsia800i3"; + armv7l-linux = "0h3f9sy7d4ylk0ay63adhnz9s7jlpwlf3x831v8pygzm2r7k9zgc"; + } + .${system} or throwSystem; sourceRoot = lib.optionalString (!stdenv.hostPlatform.isDarwin) "."; in - callPackage ./generic.nix rec { - inherit sourceRoot commandLineArgs useVSCodeRipgrep; +callPackage ./generic.nix rec { + inherit sourceRoot commandLineArgs useVSCodeRipgrep; - # Please backport all compatible updates to the stable release. - # This is important for the extension ecosystem. - version = "1.95.3.24321"; - pname = "vscodium"; + # Please backport all compatible updates to the stable release. + # This is important for the extension ecosystem. + version = "1.95.3.24321"; + pname = "vscodium"; - executableName = "codium"; - longName = "VSCodium"; - shortName = "vscodium"; + executableName = "codium"; + longName = "VSCodium"; + shortName = "vscodium"; - src = fetchurl { - url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-${plat}-${version}.${archive_fmt}"; - inherit sha256; - }; + src = fetchurl { + url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-${plat}-${version}.${archive_fmt}"; + inherit sha256; + }; - tests = nixosTests.vscodium; + tests = nixosTests.vscodium; - updateScript = ./update-vscodium.sh; + updateScript = ./update-vscodium.sh; - meta = with lib; { - description = '' - Open source source code editor developed by Microsoft for Windows, - Linux and macOS (VS Code without MS branding/telemetry/licensing) - ''; - longDescription = '' - Open source source code editor developed by Microsoft for Windows, - Linux and macOS. It includes support for debugging, embedded Git - control, syntax highlighting, intelligent code completion, snippets, - and code refactoring. It is also customizable, so users can change the - editor's theme, keyboard shortcuts, and preferences - ''; - homepage = "https://github.com/VSCodium/vscodium"; - downloadPage = "https://github.com/VSCodium/vscodium/releases"; - license = licenses.mit; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ synthetica bobby285271 ludovicopiero ]; - mainProgram = "codium"; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" "armv7l-linux" ]; - }; - } + meta = with lib; { + description = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS (VS Code without MS branding/telemetry/licensing) + ''; + longDescription = '' + Open source source code editor developed by Microsoft for Windows, + Linux and macOS. It includes support for debugging, embedded Git + control, syntax highlighting, intelligent code completion, snippets, + and code refactoring. It is also customizable, so users can change the + editor's theme, keyboard shortcuts, and preferences + ''; + homepage = "https://github.com/VSCodium/vscodium"; + downloadPage = "https://github.com/VSCodium/vscodium/releases"; + license = licenses.mit; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ + synthetica + bobby285271 + ludovicopiero + ]; + mainProgram = "codium"; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + "armv7l-linux" + ]; + }; +} diff --git a/pkgs/applications/editors/vscode/with-extensions.nix b/pkgs/applications/editors/vscode/with-extensions.nix index 25c97f52d765e..5097d177d6242 100644 --- a/pkgs/applications/editors/vscode/with-extensions.nix +++ b/pkgs/applications/editors/vscode/with-extensions.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, runCommand, buildEnv, vscode, vscode-utils, makeWrapper, writeTextFile -, vscodeExtensions ? [] }: +{ + lib, + stdenv, + runCommand, + buildEnv, + vscode, + vscode-utils, + makeWrapper, + writeTextFile, + vscodeExtensions ? [ ], +}: /* `vscodeExtensions` @@ -62,29 +71,36 @@ let ''; in -runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ vscode ]; - dontPatchELF = true; - dontStrip = true; - meta = vscode.meta; -} (if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/bin/ - mkdir -p "$out/Applications/${longName}.app/Contents/MacOS" - - for path in PkgInfo Frameworks Resources _CodeSignature Info.plist; do - ln -s "${vscode}/Applications/${longName}.app/Contents/$path" "$out/Applications/${longName}.app/Contents/" - done - - makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag} - makeWrapper "${vscode}/Applications/${longName}.app/Contents/MacOS/Electron" "$out/Applications/${longName}.app/Contents/MacOS/Electron" ${extensionsFlag} -'' else '' - mkdir -p "$out/bin" - mkdir -p "$out/share/applications" - mkdir -p "$out/share/pixmaps" - - ln -sT "${vscode}/share/pixmaps/vs${executableName}.png" "$out/share/pixmaps/vs${executableName}.png" - ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop" - ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop" - makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag} -'') +runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" + { + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ vscode ]; + dontPatchELF = true; + dontStrip = true; + meta = vscode.meta; + } + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/bin/ + mkdir -p "$out/Applications/${longName}.app/Contents/MacOS" + + for path in PkgInfo Frameworks Resources _CodeSignature Info.plist; do + ln -s "${vscode}/Applications/${longName}.app/Contents/$path" "$out/Applications/${longName}.app/Contents/" + done + + makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag} + makeWrapper "${vscode}/Applications/${longName}.app/Contents/MacOS/Electron" "$out/Applications/${longName}.app/Contents/MacOS/Electron" ${extensionsFlag} + '' + else + '' + mkdir -p "$out/bin" + mkdir -p "$out/share/applications" + mkdir -p "$out/share/pixmaps" + + ln -sT "${vscode}/share/pixmaps/vs${executableName}.png" "$out/share/pixmaps/vs${executableName}.png" + ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop" + ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop" + makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag} + '' + ) diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix index eee370d174e02..9dda57287fc44 100644 --- a/pkgs/applications/editors/wxhexeditor/default.nix +++ b/pkgs/applications/editors/wxhexeditor/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoconf -, automake -, gettext -, libtool -, python3 -, wxGTK -, openmp -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoconf, + automake, + gettext, + libtool, + python3, + wxGTK, + openmp, + Cocoa, }: stdenv.mkDerivation rec { @@ -34,20 +35,24 @@ stdenv.mkDerivation rec { wxGTK ]; - buildInputs = lib.optionals stdenv.cc.isClang [ - openmp - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ]; + buildInputs = + lib.optionals stdenv.cc.isClang [ + openmp + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; preConfigure = "patchShebangs ."; - prePatch = '' - substituteInPlace Makefile --replace "/usr" "$out" - substituteInPlace Makefile --replace "mhash; ./configure" "mhash; ./configure --prefix=$out" - '' + lib.optionalString stdenv.cc.isClang '' - substituteInPlace Makefile --replace "-lgomp" "-lomp" - ''; + prePatch = + '' + substituteInPlace Makefile --replace "/usr" "$out" + substituteInPlace Makefile --replace "mhash; ./configure" "mhash; ./configure --prefix=$out" + '' + + lib.optionalString stdenv.cc.isClang '' + substituteInPlace Makefile --replace "-lgomp" "-lomp" + ''; patches = [ # https://github.com/EUA/wxHexEditor/issues/90 diff --git a/pkgs/applications/editors/your-editor/default.nix b/pkgs/applications/editors/your-editor/default.nix index 7ca6cd4b4fc5a..272729bcb47fe 100644 --- a/pkgs/applications/editors/your-editor/default.nix +++ b/pkgs/applications/editors/your-editor/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "your-editor"; diff --git a/pkgs/applications/editors/zee/default.nix b/pkgs/applications/editors/zee/default.nix index cea97686072c5..4aec2af12cda9 100644 --- a/pkgs/applications/editors/zee/default.nix +++ b/pkgs/applications/editors/zee/default.nix @@ -1,4 +1,12 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl, stdenv, Security }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "zee"; @@ -23,7 +31,7 @@ rustPlatform.buildRustPackage rec { # disable downloading and building the tree-sitter grammars at build time # grammars can be configured in a config file and installed with `zee --build` # see https://github.com/zee-editor/zee#syntax-highlighting - ZEE_DISABLE_GRAMMAR_BUILD=1; + ZEE_DISABLE_GRAMMAR_BUILD = 1; cargoHash = "sha256-fBBjtjM7AnyAL6EOFstL4h6yS+UoLgxck6Mc0tJcXaI="; diff --git a/pkgs/applications/emulators/blink/default.nix b/pkgs/applications/emulators/blink/default.nix index 129bde2792c3c..a65ebf5886b38 100644 --- a/pkgs/applications/emulators/blink/default.nix +++ b/pkgs/applications/emulators/blink/default.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib }: +{ + stdenv, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation (finalAttrs: { pname = "blink"; diff --git a/pkgs/applications/emulators/cdemu/analyzer.nix b/pkgs/applications/emulators/cdemu/analyzer.nix index 09e5f4959bac2..e9065676e1476 100644 --- a/pkgs/applications/emulators/cdemu/analyzer.nix +++ b/pkgs/applications/emulators/cdemu/analyzer.nix @@ -1,16 +1,49 @@ -{ cmake, pkg-config, callPackage, gobject-introspection, wrapGAppsHook3 -, python3Packages, libxml2, gnuplot, adwaita-icon-theme, gdk-pixbuf, intltool, libmirage }: +{ + cmake, + pkg-config, + callPackage, + gobject-introspection, + wrapGAppsHook3, + python3Packages, + libxml2, + gnuplot, + adwaita-icon-theme, + gdk-pixbuf, + intltool, + libmirage, +}: python3Packages.buildPythonApplication { - inherit (callPackage ./common-drv-attrs.nix { - version = "3.2.6"; - pname = "image-analyzer"; - hash = "sha256-7I8RUgd+k3cEzskJGbziv1f0/eo5QQXn62wGh/Y5ozc="; - }) pname version src meta; + inherit + (callPackage ./common-drv-attrs.nix { + version = "3.2.6"; + pname = "image-analyzer"; + hash = "sha256-7I8RUgd+k3cEzskJGbziv1f0/eo5QQXn62wGh/Y5ozc="; + }) + pname + version + src + meta + ; - buildInputs = [ libxml2 gnuplot libmirage adwaita-icon-theme gdk-pixbuf ]; - propagatedBuildInputs = with python3Packages; [ pygobject3 matplotlib ]; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 intltool gobject-introspection ]; + buildInputs = [ + libxml2 + gnuplot + libmirage + adwaita-icon-theme + gdk-pixbuf + ]; + propagatedBuildInputs = with python3Packages; [ + pygobject3 + matplotlib + ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + intltool + gobject-introspection + ]; pyproject = false; dontWrapGApps = true; diff --git a/pkgs/applications/emulators/cdemu/client.nix b/pkgs/applications/emulators/cdemu/client.nix index 0a9c71cf6e14c..afb68755775c8 100644 --- a/pkgs/applications/emulators/cdemu/client.nix +++ b/pkgs/applications/emulators/cdemu/client.nix @@ -1,14 +1,37 @@ -{ callPackage, python3Packages, cmake, pkg-config, intltool, wrapGAppsNoGuiHook, gobject-introspection }: +{ + callPackage, + python3Packages, + cmake, + pkg-config, + intltool, + wrapGAppsNoGuiHook, + gobject-introspection, +}: python3Packages.buildPythonApplication { - inherit (callPackage ./common-drv-attrs.nix { - version = "3.2.5"; - pname = "cdemu-client"; - hash = "sha256-py2F61v8vO0BCM18GCflAiD48deZjbMM6wqoCDZsOd8="; - }) pname version src meta; + inherit + (callPackage ./common-drv-attrs.nix { + version = "3.2.5"; + pname = "cdemu-client"; + hash = "sha256-py2F61v8vO0BCM18GCflAiD48deZjbMM6wqoCDZsOd8="; + }) + pname + version + src + meta + ; - nativeBuildInputs = [ cmake pkg-config intltool wrapGAppsNoGuiHook gobject-introspection ]; - propagatedBuildInputs = with python3Packages; [ dbus-python pygobject3 ]; + nativeBuildInputs = [ + cmake + pkg-config + intltool + wrapGAppsNoGuiHook + gobject-introspection + ]; + propagatedBuildInputs = with python3Packages; [ + dbus-python + pygobject3 + ]; pyproject = false; dontWrapGApps = true; diff --git a/pkgs/applications/emulators/cdemu/common-drv-attrs.nix b/pkgs/applications/emulators/cdemu/common-drv-attrs.nix index 2a99841eeed81..f6dc006ad0561 100644 --- a/pkgs/applications/emulators/cdemu/common-drv-attrs.nix +++ b/pkgs/applications/emulators/cdemu/common-drv-attrs.nix @@ -1,5 +1,9 @@ -{ lib, fetchurl -, pname, version, hash +{ + lib, + fetchurl, + pname, + version, + hash, }: { diff --git a/pkgs/applications/emulators/cdemu/daemon.nix b/pkgs/applications/emulators/cdemu/daemon.nix index 0100ea5321d63..874b0522aa07f 100644 --- a/pkgs/applications/emulators/cdemu/daemon.nix +++ b/pkgs/applications/emulators/cdemu/daemon.nix @@ -1,17 +1,41 @@ -{ stdenv, callPackage, cmake, pkg-config, glib, libao, intltool, libmirage, coreutils }: +{ + stdenv, + callPackage, + cmake, + pkg-config, + glib, + libao, + intltool, + libmirage, + coreutils, +}: let - inherit (callPackage ./common-drv-attrs.nix { - version = "3.2.7"; - pname = "cdemu-daemon"; - hash = "sha256-EKh2G6RA9Yq46BpTAqN2s6TpLJb8gwDuEpGiwdGcelc="; - }) pname version src meta; + inherit + (callPackage ./common-drv-attrs.nix { + version = "3.2.7"; + pname = "cdemu-daemon"; + hash = "sha256-EKh2G6RA9Yq46BpTAqN2s6TpLJb8gwDuEpGiwdGcelc="; + }) + pname + version + src + meta + ; in stdenv.mkDerivation { inherit pname version src; - nativeBuildInputs = [ cmake pkg-config intltool ]; - buildInputs = [ glib libao libmirage ]; + nativeBuildInputs = [ + cmake + pkg-config + intltool + ]; + buildInputs = [ + glib + libao + libmirage + ]; postInstall = '' mkdir -p $out/share/dbus-1/services cp -R ../service-example $out/share/cdemu diff --git a/pkgs/applications/emulators/cdemu/gui.nix b/pkgs/applications/emulators/cdemu/gui.nix index eb1d533c40f4a..779f21ac2f20c 100644 --- a/pkgs/applications/emulators/cdemu/gui.nix +++ b/pkgs/applications/emulators/cdemu/gui.nix @@ -1,15 +1,41 @@ -{ callPackage, cmake, pkg-config, wrapGAppsHook3, gobject-introspection -, python3Packages, libnotify, intltool, adwaita-icon-theme, gdk-pixbuf }: +{ + callPackage, + cmake, + pkg-config, + wrapGAppsHook3, + gobject-introspection, + python3Packages, + libnotify, + intltool, + adwaita-icon-theme, + gdk-pixbuf, +}: python3Packages.buildPythonApplication { - inherit (callPackage ./common-drv-attrs.nix { - version = "3.2.6"; - pname = "gcdemu"; - hash = "sha256-w4vzKoSotL5Cjfr4Cu4YhNSWXJqS+n/vySrwvbhR1zA="; - }) pname version src meta; + inherit + (callPackage ./common-drv-attrs.nix { + version = "3.2.6"; + pname = "gcdemu"; + hash = "sha256-w4vzKoSotL5Cjfr4Cu4YhNSWXJqS+n/vySrwvbhR1zA="; + }) + pname + version + src + meta + ; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 intltool gobject-introspection ]; - buildInputs = [ libnotify adwaita-icon-theme gdk-pixbuf ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + intltool + gobject-introspection + ]; + buildInputs = [ + libnotify + adwaita-icon-theme + gdk-pixbuf + ]; propagatedBuildInputs = with python3Packages; [ pygobject3 ]; pyproject = false; diff --git a/pkgs/applications/emulators/cdemu/libmirage.nix b/pkgs/applications/emulators/cdemu/libmirage.nix index 2cad367259978..8015093207c16 100644 --- a/pkgs/applications/emulators/cdemu/libmirage.nix +++ b/pkgs/applications/emulators/cdemu/libmirage.nix @@ -1,22 +1,60 @@ -{ stdenv, callPackage, cmake, pkg-config, gobject-introspection -, glib, libsndfile, zlib, bzip2, xz, libsamplerate, intltool -, pcre, util-linux, libselinux, libsepol }: +{ + stdenv, + callPackage, + cmake, + pkg-config, + gobject-introspection, + glib, + libsndfile, + zlib, + bzip2, + xz, + libsamplerate, + intltool, + pcre, + util-linux, + libselinux, + libsepol, +}: let - inherit (callPackage ./common-drv-attrs.nix { - version = "3.2.9"; - pname = "libmirage"; - hash = "sha256-JBd+wHSZRyRW1SZsaAaRO2dNUFkpwRCr3s1f39KyWIs="; - }) pname version src meta; + inherit + (callPackage ./common-drv-attrs.nix { + version = "3.2.9"; + pname = "libmirage"; + hash = "sha256-JBd+wHSZRyRW1SZsaAaRO2dNUFkpwRCr3s1f39KyWIs="; + }) + pname + version + src + meta + ; in stdenv.mkDerivation { inherit pname version src; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; - buildInputs = [ glib libsndfile zlib bzip2 xz libsamplerate ]; - nativeBuildInputs = [ cmake pkg-config intltool gobject-introspection ]; - propagatedBuildInputs = [ pcre util-linux libselinux libsepol ]; + buildInputs = [ + glib + libsndfile + zlib + bzip2 + xz + libsamplerate + ]; + nativeBuildInputs = [ + cmake + pkg-config + intltool + gobject-introspection + ]; + propagatedBuildInputs = [ + pcre + util-linux + libselinux + libsepol + ]; meta = { inherit (meta) diff --git a/pkgs/applications/emulators/cdemu/vhba.nix b/pkgs/applications/emulators/cdemu/vhba.nix index e1d251a763923..4ab79810dc2ac 100644 --- a/pkgs/applications/emulators/cdemu/vhba.nix +++ b/pkgs/applications/emulators/cdemu/vhba.nix @@ -1,15 +1,23 @@ -{ lib, stdenv, fetchurl, kernel }: +{ + lib, + stdenv, + fetchurl, + kernel, +}: stdenv.mkDerivation rec { pname = "vhba"; version = "20240917"; - src = fetchurl { + src = fetchurl { url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.xz"; hash = "sha256-zjTLriw2zvjX0Jxfa9QtaHG5tTC7cLTKEA+WSCP+Dpg="; }; - makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ]; + makeFlags = kernel.makeFlags ++ [ + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "INSTALL_MOD_PATH=$(out)" + ]; nativeBuildInputs = kernel.moduleBuildDependencies; meta = with lib; { diff --git a/pkgs/applications/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix index 9872a1bffdc72..66200efda7202 100644 --- a/pkgs/applications/emulators/dolphin-emu/primehack.nix +++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix @@ -1,50 +1,51 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, wrapQtAppsHook -, qtbase -, qtsvg -, bluez -, ffmpeg -, libao -, libGLU -, libGL -, pcre -, gettext -, libXrandr -, libusb1 -, libpthreadstubs -, libXext -, libXxf86vm -, libXinerama -, libSM -, libXdmcp -, readline -, openal -, udev -, libevdev -, portaudio -, curl -, alsa-lib -, miniupnpc -, enet -, mbedtls_2 -, soundtouch -, sfml -, fmt -, xz -, vulkan-loader -, libpulseaudio +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + wrapQtAppsHook, + qtbase, + qtsvg, + bluez, + ffmpeg, + libao, + libGLU, + libGL, + pcre, + gettext, + libXrandr, + libusb1, + libpthreadstubs, + libXext, + libXxf86vm, + libXinerama, + libSM, + libXdmcp, + readline, + openal, + udev, + libevdev, + portaudio, + curl, + alsa-lib, + miniupnpc, + enet, + mbedtls_2, + soundtouch, + sfml, + fmt, + xz, + vulkan-loader, + libpulseaudio, -# - Inputs used for Darwin -, CoreBluetooth -, ForceFeedback -, IOKit -, OpenGL -, libpng -, hidapi + # - Inputs used for Darwin + CoreBluetooth, + ForceFeedback, + IOKit, + OpenGL, + libpng, + hidapi, }: stdenv.mkDerivation rec { @@ -64,56 +65,61 @@ stdenv.mkDerivation rec { cmake ] ++ lib.optional stdenv.hostPlatform.isLinux wrapQtAppsHook; - buildInputs = [ - curl - ffmpeg - libao - libGLU - libGL - pcre - gettext - libpthreadstubs - libpulseaudio - libXrandr - libXext - libXxf86vm - libXinerama - libSM - readline - openal - libXdmcp - portaudio - libusb1 - libpng - hidapi - miniupnpc - enet - mbedtls_2 - soundtouch - sfml - fmt - xz - qtbase - qtsvg - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - bluez - udev - libevdev - alsa-lib - vulkan-loader - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreBluetooth - OpenGL - ForceFeedback - IOKit - ]; + buildInputs = + [ + curl + ffmpeg + libao + libGLU + libGL + pcre + gettext + libpthreadstubs + libpulseaudio + libXrandr + libXext + libXxf86vm + libXinerama + libSM + readline + openal + libXdmcp + portaudio + libusb1 + libpng + hidapi + miniupnpc + enet + mbedtls_2 + soundtouch + sfml + fmt + xz + qtbase + qtsvg + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + bluez + udev + libevdev + alsa-lib + vulkan-loader + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreBluetooth + OpenGL + ForceFeedback + IOKit + ]; - cmakeFlags = [ - "-DUSE_SHARED_ENET=ON" - "-DENABLE_LTO=ON" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DOSX_USE_DEFAULT_SEARCH_PATH=True" - ]; + cmakeFlags = + [ + "-DUSE_SHARED_ENET=ON" + "-DENABLE_LTO=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DOSX_USE_DEFAULT_SEARCH_PATH=True" + ]; qtWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [ "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" @@ -123,23 +129,27 @@ stdenv.mkDerivation rec { ]; # - Allow Dolphin to use nix-provided libraries instead of building them - postPatch = '' - substituteInPlace CMakeLists.txt --replace 'DISTRIBUTOR "None"' 'DISTRIBUTOR "NixOS"' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace CMakeLists.txt --replace 'if(NOT APPLE)' 'if(true)' - substituteInPlace CMakeLists.txt --replace 'if(LIBUSB_FOUND AND NOT APPLE)' 'if(LIBUSB_FOUND)' - ''; + postPatch = + '' + substituteInPlace CMakeLists.txt --replace 'DISTRIBUTOR "None"' 'DISTRIBUTOR "NixOS"' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace CMakeLists.txt --replace 'if(NOT APPLE)' 'if(true)' + substituteInPlace CMakeLists.txt --replace 'if(LIBUSB_FOUND AND NOT APPLE)' 'if(LIBUSB_FOUND)' + ''; - postInstall = '' - mv $out/bin/dolphin-emu $out/bin/dolphin-emu-primehack - mv $out/bin/dolphin-emu-nogui $out/bin/dolphin-emu-primehack-nogui - mv $out/share/applications/dolphin-emu.desktop $out/share/applications/dolphin-emu-primehack.desktop - mv $out/share/icons/hicolor/256x256/apps/dolphin-emu.png $out/share/icons/hicolor/256x256/apps/dolphin-emu-primehack.png - substituteInPlace $out/share/applications/dolphin-emu-primehack.desktop --replace 'dolphin-emu' 'dolphin-emu-primehack' - substituteInPlace $out/share/applications/dolphin-emu-primehack.desktop --replace 'Dolphin Emulator' 'PrimeHack' - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules - ''; + postInstall = + '' + mv $out/bin/dolphin-emu $out/bin/dolphin-emu-primehack + mv $out/bin/dolphin-emu-nogui $out/bin/dolphin-emu-primehack-nogui + mv $out/share/applications/dolphin-emu.desktop $out/share/applications/dolphin-emu-primehack.desktop + mv $out/share/icons/hicolor/256x256/apps/dolphin-emu.png $out/share/icons/hicolor/256x256/apps/dolphin-emu-primehack.png + substituteInPlace $out/share/applications/dolphin-emu-primehack.desktop --replace 'dolphin-emu' 'dolphin-emu-primehack' + substituteInPlace $out/share/applications/dolphin-emu-primehack.desktop --replace 'Dolphin Emulator' 'PrimeHack' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules + ''; meta = with lib; { homepage = "https://github.com/shiiion/dolphin"; diff --git a/pkgs/applications/emulators/dosbox/default.nix b/pkgs/applications/emulators/dosbox/default.nix index cda07d42423cc..f27d3e06adb59 100644 --- a/pkgs/applications/emulators/dosbox/default.nix +++ b/pkgs/applications/emulators/dosbox/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, SDL -, SDL_net -, SDL_sound -, copyDesktopItems -, graphicsmagick -, libGL -, libGLU -, OpenGL -, libpng -, makeDesktopItem +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + SDL, + SDL_net, + SDL_sound, + copyDesktopItems, + graphicsmagick, + libGL, + libGLU, + OpenGL, + libpng, + makeDesktopItem, }: stdenv.mkDerivation rec { @@ -38,17 +39,24 @@ stdenv.mkDerivation rec { graphicsmagick ]; - buildInputs = [ - SDL - SDL_net - SDL_sound - libpng - ] ++ (if stdenv.hostPlatform.isDarwin then [ - OpenGL - ] else [ - libGL - libGLU - ]); + buildInputs = + [ + SDL + SDL_net + SDL_sound + libpng + ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ + OpenGL + ] + else + [ + libGL + libGLU + ] + ); # Tests for SDL_net.h for modem & IPX support, not automatically picked up due to being in SDL subdirectory env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL_net}/include/SDL"; @@ -65,13 +73,16 @@ stdenv.mkDerivation rec { comment = "x86 dos emulator"; desktopName = "DOSBox"; genericName = "DOS emulator"; - categories = [ "Emulator" "Game" ]; + categories = [ + "Emulator" + "Game" + ]; }) ]; postInstall = '' - mkdir -p $out/share/icons/hicolor/256x256/apps - gm convert src/dosbox.ico $out/share/icons/hicolor/256x256/apps/dosbox.png + mkdir -p $out/share/icons/hicolor/256x256/apps + gm convert src/dosbox.ico $out/share/icons/hicolor/256x256/apps/dosbox.png ''; enableParallelBuilding = true; diff --git a/pkgs/applications/emulators/firebird-emu/default.nix b/pkgs/applications/emulators/firebird-emu/default.nix index 28d6c182c7606..e0ff2b7c20a6d 100644 --- a/pkgs/applications/emulators/firebird-emu/default.nix +++ b/pkgs/applications/emulators/firebird-emu/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, qmake -, qtbase -, qtdeclarative -, qtquickcontrols -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + qmake, + qtbase, + qtdeclarative, + qtquickcontrols, + wrapQtAppsHook, }: stdenv.mkDerivation rec { pname = "firebird-emu"; @@ -19,9 +20,16 @@ stdenv.mkDerivation rec { hash = "sha256-ZptjlnOiF+hKuKYvBFJL95H5YQuR99d4biOco/MVEmE="; }; - nativeBuildInputs = [ wrapQtAppsHook qmake ]; + nativeBuildInputs = [ + wrapQtAppsHook + qmake + ]; - buildInputs = [ qtbase qtdeclarative qtquickcontrols ]; + buildInputs = [ + qtbase + qtdeclarative + qtquickcontrols + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications diff --git a/pkgs/applications/emulators/gens-gs/default.nix b/pkgs/applications/emulators/gens-gs/default.nix index 7665d324971a0..c2b4751b5adb9 100644 --- a/pkgs/applications/emulators/gens-gs/default.nix +++ b/pkgs/applications/emulators/gens-gs/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, SDL, nasm, zlib, libpng, libGLU, libGL }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + SDL, + nasm, + zlib, + libpng, + libGLU, + libGL, +}: stdenv.mkDerivation rec { pname = "gens-gs"; @@ -10,7 +22,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 SDL nasm zlib libpng libGLU libGL ]; + buildInputs = [ + gtk2 + SDL + nasm + zlib + libpng + libGLU + libGL + ]; # Work around build failures on recent GTK. # See http://ubuntuforums.org/showthread.php?p=10535837 diff --git a/pkgs/applications/emulators/goldberg-emu/default.nix b/pkgs/applications/emulators/goldberg-emu/default.nix index e165a36b317b9..e3100d497681c 100644 --- a/pkgs/applications/emulators/goldberg-emu/default.nix +++ b/pkgs/applications/emulators/goldberg-emu/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, protobuf - }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + protobuf, +}: stdenv.mkDerivation rec { pname = "goldberg-emu"; diff --git a/pkgs/applications/emulators/kega-fusion/default.nix b/pkgs/applications/emulators/kega-fusion/default.nix index 9bf359b88ccd0..e74e02d9e5068 100644 --- a/pkgs/applications/emulators/kega-fusion/default.nix +++ b/pkgs/applications/emulators/kega-fusion/default.nix @@ -1,9 +1,40 @@ -{ stdenv, lib, writeText, fetchurl, upx, libGL, libGLU, glib, gtk2, alsa-lib, libSM, libX11, gdk-pixbuf, pango, libXinerama, mpg123, runtimeShell }: +{ + stdenv, + lib, + writeText, + fetchurl, + upx, + libGL, + libGLU, + glib, + gtk2, + alsa-lib, + libSM, + libX11, + gdk-pixbuf, + pango, + libXinerama, + mpg123, + runtimeShell, +}: let - libPath = lib.makeLibraryPath [ stdenv.cc.cc libGL libGLU glib gtk2 alsa-lib libSM libX11 gdk-pixbuf pango libXinerama ]; - -in stdenv.mkDerivation { + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + libGL + libGLU + glib + gtk2 + alsa-lib + libSM + libX11 + gdk-pixbuf + pango + libXinerama + ]; + +in +stdenv.mkDerivation { pname = "kega-fusion"; version = "3.63x"; diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix index cb0f765c776d1..d4fe0df367912 100644 --- a/pkgs/applications/emulators/mame/default.nix +++ b/pkgs/applications/emulators/mame/default.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, SDL2 -, SDL2_ttf -, copyDesktopItems -, expat -, flac -, fontconfig -, glm -, installShellFiles -, libXi -, libXinerama -, libjpeg -, libpcap -, libpulseaudio -, makeDesktopItem -, makeWrapper -, papirus-icon-theme -, pkg-config -, portaudio -, portmidi -, pugixml -, python3 -, qtbase -, rapidjson -, sqlite -, utf8proc -, which -, writeScript -, zlib -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + SDL2, + SDL2_ttf, + copyDesktopItems, + expat, + flac, + fontconfig, + glm, + installShellFiles, + libXi, + libXinerama, + libjpeg, + libpcap, + libpulseaudio, + makeDesktopItem, + makeWrapper, + papirus-icon-theme, + pkg-config, + portaudio, + portmidi, + pugixml, + python3, + qtbase, + rapidjson, + sqlite, + utf8proc, + which, + writeScript, + zlib, + darwin, }: let @@ -48,7 +49,10 @@ stdenv.mkDerivation rec { hash = "sha256-qD9xWP4KtPJWqje9QVb5wozgLTc+hE84kkEFM6Re+Sk="; }; - outputs = [ "out" "tools" ]; + outputs = [ + "out" + "tools" + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" @@ -74,24 +78,35 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; # https://docs.mamedev.org/initialsetup/compilingmame.html - buildInputs = [ - expat - zlib - flac - portmidi - portaudio - utf8proc - libjpeg - rapidjson - pugixml - glm - SDL2 - SDL2_ttf - sqlite - qtbase - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libpulseaudio libXinerama libXi fontconfig ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libpcap CoreAudioKit ForceFeedback ]; + buildInputs = + [ + expat + zlib + flac + portmidi + portaudio + utf8proc + libjpeg + rapidjson + pugixml + glm + SDL2 + SDL2_ttf + sqlite + qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libpulseaudio + libXinerama + libXi + fontconfig + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libpcap + CoreAudioKit + ForceFeedback + ]; nativeBuildInputs = [ copyDesktopItems @@ -125,36 +140,45 @@ stdenv.mkDerivation rec { type = "Application"; genericName = "MAME is a multi-purpose emulation framework"; comment = "Play vintage games using the MAME emulator"; - categories = [ "Game" "Emulator" ]; - keywords = [ "Game" "Emulator" "Arcade" ]; + categories = [ + "Game" + "Emulator" + ]; + keywords = [ + "Game" + "Emulator" + "Arcade" + ]; }) ]; # TODO: copy shaders from src/osd/modules/opengl/shader/glsl*.*h # to the final package after we figure out how they work - installPhase = let - icon = "${papirus-icon-theme}/share/icons/Papirus/32x32/apps/mame.svg"; - in '' - runHook preInstall - - # mame - mkdir -p $out/opt/mame - - install -Dm755 mame -t $out/bin - install -Dm644 ${icon} $out/share/icons/hicolor/scalable/apps/mame.svg - installManPage docs/man/*.1 docs/man/*.6 - cp -ar {artwork,bgfx,plugins,language,ctrlr,keymaps,hash} $out/opt/mame - - # mame-tools - for _tool in castool chdman floptool imgtool jedutil ldresample ldverify \ - nltool nlwav pngcmp regrep romcmp split srcclean testkeys \ - unidasm; do - install -Dm755 $_tool -t $tools/bin - done - mv $tools/bin/{,mame-}split - - runHook postInstall - ''; + installPhase = + let + icon = "${papirus-icon-theme}/share/icons/Papirus/32x32/apps/mame.svg"; + in + '' + runHook preInstall + + # mame + mkdir -p $out/opt/mame + + install -Dm755 mame -t $out/bin + install -Dm644 ${icon} $out/share/icons/hicolor/scalable/apps/mame.svg + installManPage docs/man/*.1 docs/man/*.6 + cp -ar {artwork,bgfx,plugins,language,ctrlr,keymaps,hash} $out/opt/mame + + # mame-tools + for _tool in castool chdman floptool imgtool jedutil ldresample ldverify \ + nltool nlwav pngcmp regrep romcmp split srcclean testkeys \ + unidasm; do + install -Dm755 $_tool -t $tools/bin + done + mv $tools/bin/{,mame-}split + + runHook postInstall + ''; # man1 is the tools documentation, man6 is the emulator documentation # Need to be done in postFixup otherwise multi-output hook will move it back to $out @@ -192,7 +216,10 @@ stdenv.mkDerivation rec { focus. ''; changelog = "https://github.com/mamedev/mame/releases/download/mame${srcVersion}/whatsnew_${srcVersion}.txt"; - license = with licenses; [ bsd3 gpl2Plus ]; + license = with licenses; [ + bsd3 + gpl2Plus + ]; maintainers = with maintainers; [ thiagokokada ]; platforms = platforms.unix; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/applications/emulators/punes/default.nix b/pkgs/applications/emulators/punes/default.nix index a7b435c3a0ae8..f1d713e9f0087 100644 --- a/pkgs/applications/emulators/punes/default.nix +++ b/pkgs/applications/emulators/punes/default.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, gitUpdater -, cmake -, pkg-config -, ffmpeg -, libGLU -, alsa-lib -, libX11 -, libXrandr -, sndio -, qtbase -, qtsvg -, qttools -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + gitUpdater, + cmake, + pkg-config, + ffmpeg, + libGLU, + alsa-lib, + libX11, + libXrandr, + sndio, + qtbase, + qtsvg, + qttools, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { @@ -45,18 +46,21 @@ stdenv.mkDerivation (finalAttrs: { wrapQtAppsHook ]; - buildInputs = [ - ffmpeg - libGLU - qtbase - qtsvg - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - libX11 - libXrandr - ] ++ lib.optionals stdenv.hostPlatform.isBSD [ - sndio - ]; + buildInputs = + [ + ffmpeg + libGLU + qtbase + qtsvg + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libX11 + libXrandr + ] + ++ lib.optionals stdenv.hostPlatform.isBSD [ + sndio + ]; cmakeFlags = [ "-DENABLE_GIT_INFO=OFF" diff --git a/pkgs/applications/emulators/ripes/default.nix b/pkgs/applications/emulators/ripes/default.nix index 312c25a020076..61cc99cbc46c4 100644 --- a/pkgs/applications/emulators/ripes/default.nix +++ b/pkgs/applications/emulators/ripes/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, qtbase -, qtsvg -, qtcharts -, wrapQtAppsHook -, cmake -, python3 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + qtbase, + qtsvg, + qtcharts, + wrapQtAppsHook, + cmake, + python3, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -37,18 +38,22 @@ stdenv.mkDerivation rec { qtcharts ]; - installPhase = '' - runHook preInstall - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - cp -r Ripes.app $out/Applications/ - makeBinaryWrapper $out/Applications/Ripes.app/Contents/MacOS/Ripes $out/bin/Ripes - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -D Ripes $out/bin/Ripes - '' + '' - cp -r ${src}/appdir/usr/share $out/share - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + cp -r Ripes.app $out/Applications/ + makeBinaryWrapper $out/Applications/Ripes.app/Contents/MacOS/Ripes $out/bin/Ripes + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -D Ripes $out/bin/Ripes + '' + + '' + cp -r ${src}/appdir/usr/share $out/share + runHook postInstall + ''; passthru.updateScript = unstableGitUpdater { }; diff --git a/pkgs/applications/emulators/wibo/default.nix b/pkgs/applications/emulators/wibo/default.nix index 71ed31ff4bcb6..1909e6b0fb8dd 100644 --- a/pkgs/applications/emulators/wibo/default.nix +++ b/pkgs/applications/emulators/wibo/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchzip -, srcOnly -, cmake -, unzip +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + srcOnly, + cmake, + unzip, }: stdenv.mkDerivation rec { @@ -25,20 +26,22 @@ stdenv.mkDerivation rec { doCheck = false; # Test step from https://github.com/decompals/wibo/blob/main/.github/workflows/ci.yml - checkPhase = let - gc = srcOnly { - name = "GC_WII_COMPILERS"; - src = fetchzip { - url = "https://files.decomp.dev/compilers_20230715.zip"; - hash = "sha256-IX3byvEUVJB6Rmc+NqO9ZNt1jl95nQpEIqxbHI+uUio="; - stripRoot = false; + checkPhase = + let + gc = srcOnly { + name = "GC_WII_COMPILERS"; + src = fetchzip { + url = "https://files.decomp.dev/compilers_20230715.zip"; + hash = "sha256-IX3byvEUVJB6Rmc+NqO9ZNt1jl95nQpEIqxbHI+uUio="; + stripRoot = false; + }; + meta.license = lib.licenses.unfree; }; - meta.license = lib.licenses.unfree; - }; - in lib.optionalString doCheck '' - MWCIncludes=../test ./wibo ${gc}/GC/2.7/mwcceppc.exe -c ../test/test.c - file test.o | grep "ELF 32-bit" - ''; + in + lib.optionalString doCheck '' + MWCIncludes=../test ./wibo ${gc}/GC/2.7/mwcceppc.exe -c ../test/test.c + file test.o | grep "ELF 32-bit" + ''; meta = with lib; { description = "Quick-and-dirty wrapper to run 32-bit windows EXEs on linux"; diff --git a/pkgs/applications/emulators/wine/default.nix b/pkgs/applications/emulators/wine/default.nix index 8f579c35184f7..c39e373587ca7 100644 --- a/pkgs/applications/emulators/wine/default.nix +++ b/pkgs/applications/emulators/wine/default.nix @@ -6,7 +6,11 @@ # }; # Make additional configurations on demand: # wine.override { wineBuild = "wine32"; wineRelease = "staging"; }; -{ lib, stdenv, callPackage, darwin, +{ + lib, + stdenv, + callPackage, + darwin, wineRelease ? "stable", wineBuild ? if stdenv.hostPlatform.system == "x86_64-linux" then "wineWow" else "wine32", gettextSupport ? false, @@ -39,27 +43,55 @@ waylandSupport ? false, x11Support ? false, embedInstallers ? false, # The Mono and Gecko MSI installers - moltenvk # Allow users to override MoltenVK easily + moltenvk, # Allow users to override MoltenVK easily }: -let wine-build = build: release: - lib.getAttr build (callPackage ./packages.nix { +let + wine-build = + build: release: + lib.getAttr build ( + callPackage ./packages.nix { wineRelease = release; supportFlags = { inherit - alsaSupport cairoSupport cupsSupport cursesSupport dbusSupport - embedInstallers fontconfigSupport gettextSupport gphoto2Support - gstreamerSupport gtkSupport krb5Support mingwSupport netapiSupport - odbcSupport openclSupport openglSupport pcapSupport - pulseaudioSupport saneSupport sdlSupport tlsSupport udevSupport - usbSupport v4lSupport vaSupport vulkanSupport waylandSupport - x11Support xineramaSupport - ; + alsaSupport + cairoSupport + cupsSupport + cursesSupport + dbusSupport + embedInstallers + fontconfigSupport + gettextSupport + gphoto2Support + gstreamerSupport + gtkSupport + krb5Support + mingwSupport + netapiSupport + odbcSupport + openclSupport + openglSupport + pcapSupport + pulseaudioSupport + saneSupport + sdlSupport + tlsSupport + udevSupport + usbSupport + v4lSupport + vaSupport + vulkanSupport + waylandSupport + x11Support + xineramaSupport + ; }; inherit moltenvk; - }); + } + ); -in if wineRelease == "staging" then +in +if wineRelease == "staging" then callPackage ./staging.nix { wineUnstable = wine-build wineBuild "unstable"; } diff --git a/pkgs/applications/emulators/wine/fonts.nix b/pkgs/applications/emulators/wine/fonts.nix index 0ee1b3973d86c..9620d51cb74e9 100644 --- a/pkgs/applications/emulators/wine/fonts.nix +++ b/pkgs/applications/emulators/wine/fonts.nix @@ -1,5 +1,10 @@ -{ stdenv, lib, callPackage }: -let src = (callPackage ./sources.nix {}).stable; +{ + stdenv, + lib, + callPackage, +}: +let + src = (callPackage ./sources.nix { }).stable; in stdenv.mkDerivation { pname = "wine-fonts"; @@ -17,6 +22,11 @@ stdenv.mkDerivation { homepage = "https://wiki.winehq.org/Create_Fonts"; license = with lib.licenses; [ lgpl21Plus ]; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ avnik raskin bendlas johnazoidberg ]; + maintainers = with lib.maintainers; [ + avnik + raskin + bendlas + johnazoidberg + ]; }; } diff --git a/pkgs/applications/emulators/wine/packages.nix b/pkgs/applications/emulators/wine/packages.nix index b40f92dae81c7..3d87723f44041 100644 --- a/pkgs/applications/emulators/wine/packages.nix +++ b/pkgs/applications/emulators/wine/packages.nix @@ -1,57 +1,120 @@ -{ stdenv_32bit, lib, pkgs, pkgsi686Linux, pkgsCross, callPackage, substituteAll, moltenvk, +{ + stdenv_32bit, + lib, + pkgs, + pkgsi686Linux, + pkgsCross, + callPackage, + substituteAll, + moltenvk, wineRelease ? "stable", - supportFlags + supportFlags, }: let - src = lib.getAttr wineRelease (callPackage ./sources.nix {}); -in with src; { + src = lib.getAttr wineRelease (callPackage ./sources.nix { }); +in +with src; +{ wine32 = pkgsi686Linux.callPackage ./base.nix { pname = "wine"; - inherit src version supportFlags patches moltenvk wineRelease; + inherit + src + version + supportFlags + patches + moltenvk + wineRelease + ; pkgArches = [ pkgsi686Linux ]; geckos = [ gecko32 ]; mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc ]; - monos = [ mono ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + monos = [ mono ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; wine64 = callPackage ./base.nix { pname = "wine64"; - inherit src version supportFlags patches moltenvk wineRelease; + inherit + src + version + supportFlags + patches + moltenvk + wineRelease + ; pkgArches = [ pkgs ]; mingwGccs = with pkgsCross; [ mingwW64.buildPackages.gcc ]; geckos = [ gecko64 ]; - monos = [ mono ]; + monos = [ mono ]; configureFlags = [ "--enable-win64" ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; mainProgram = "wine64"; }; wineWow = callPackage ./base.nix { pname = "wine-wow"; - inherit src version supportFlags patches moltenvk wineRelease; + inherit + src + version + supportFlags + patches + moltenvk + wineRelease + ; stdenv = stdenv_32bit; - pkgArches = [ pkgs pkgsi686Linux ]; - geckos = [ gecko32 gecko64 ]; - mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ]; - monos = [ mono ]; + pkgArches = [ + pkgs + pkgsi686Linux + ]; + geckos = [ + gecko32 + gecko64 + ]; + mingwGccs = with pkgsCross; [ + mingw32.buildPackages.gcc + mingwW64.buildPackages.gcc + ]; + monos = [ mono ]; buildScript = substituteAll { - src = ./builder-wow.sh; - # pkgconfig has trouble picking the right architecture - pkgconfig64remove = lib.makeSearchPathOutput "dev" "lib/pkgconfig" [ pkgs.glib pkgs.gst_all_1.gstreamer ]; - }; + src = ./builder-wow.sh; + # pkgconfig has trouble picking the right architecture + pkgconfig64remove = lib.makeSearchPathOutput "dev" "lib/pkgconfig" [ + pkgs.glib + pkgs.gst_all_1.gstreamer + ]; + }; platforms = [ "x86_64-linux" ]; mainProgram = "wine64"; }; wineWow64 = callPackage ./base.nix { pname = "wine-wow64"; - inherit src version patches moltenvk wineRelease; - supportFlags = supportFlags // { mingwSupport = true; }; # Required because we request "--enable-archs=x86_64" + inherit + src + version + patches + moltenvk + wineRelease + ; + supportFlags = supportFlags // { + mingwSupport = true; + }; # Required because we request "--enable-archs=x86_64" pkgArches = [ pkgs ]; - mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ]; + mingwGccs = with pkgsCross; [ + mingw32.buildPackages.gcc + mingwW64.buildPackages.gcc + ]; geckos = [ gecko64 ]; - monos = [ mono ]; + monos = [ mono ]; configureFlags = [ "--enable-archs=x86_64,i386" ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; mainProgram = "wine"; }; } diff --git a/pkgs/applications/emulators/wine/staging.nix b/pkgs/applications/emulators/wine/staging.nix index 634964fb75330..ed3fe3125067d 100644 --- a/pkgs/applications/emulators/wine/staging.nix +++ b/pkgs/applications/emulators/wine/staging.nix @@ -1,24 +1,53 @@ -{ lib, stdenv, callPackage, autoconf, hexdump, perl, python3, wineUnstable, gitMinimal }: +{ + lib, + stdenv, + callPackage, + autoconf, + hexdump, + perl, + python3, + wineUnstable, + gitMinimal, +}: -with callPackage ./util.nix {}; +with callPackage ./util.nix { }; -let patch = (callPackage ./sources.nix {}).staging; - build-inputs = pkgNames: extra: - (mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra; -in assert lib.versions.majorMinor wineUnstable.version == lib.versions.majorMinor patch.version; +let + patch = (callPackage ./sources.nix { }).staging; + build-inputs = pkgNames: extra: (mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra; +in +assert lib.versions.majorMinor wineUnstable.version == lib.versions.majorMinor patch.version; (wineUnstable.override { wineRelease = "staging"; }).overrideAttrs (self: { - buildInputs = build-inputs ([ "perl" "autoconf" "gitMinimal" ] ++ lib.optional stdenv.hostPlatform.isLinux "util-linux") self.buildInputs; - nativeBuildInputs = [ autoconf hexdump perl python3 gitMinimal ] ++ self.nativeBuildInputs; + buildInputs = build-inputs ( + [ + "perl" + "autoconf" + "gitMinimal" + ] + ++ lib.optional stdenv.hostPlatform.isLinux "util-linux" + ) self.buildInputs; + nativeBuildInputs = [ + autoconf + hexdump + perl + python3 + gitMinimal + ] ++ self.nativeBuildInputs; - prePatch = self.prePatch or "" + '' - patchShebangs tools - cp -r ${patch}/patches ${patch}/staging . - chmod +w patches - patchShebangs ./patches/gitapply.sh - python3 ./staging/patchinstall.py DESTDIR="$PWD" --all ${lib.concatMapStringsSep " " (ps: "-W ${ps}") patch.disabledPatchsets} - ''; -}) // { + prePatch = + self.prePatch or "" + + '' + patchShebangs tools + cp -r ${patch}/patches ${patch}/staging . + chmod +w patches + patchShebangs ./patches/gitapply.sh + python3 ./staging/patchinstall.py DESTDIR="$PWD" --all ${ + lib.concatMapStringsSep " " (ps: "-W ${ps}") patch.disabledPatchsets + } + ''; +}) +// { meta = wineUnstable.meta // { description = wineUnstable.meta.description + " (with staging patches)"; }; diff --git a/pkgs/applications/emulators/wine/util.nix b/pkgs/applications/emulators/wine/util.nix index cd5bd03130b60..5eb27588f653a 100644 --- a/pkgs/applications/emulators/wine/util.nix +++ b/pkgs/applications/emulators/wine/util.nix @@ -1,9 +1,6 @@ { lib }: rec { - toPackages = pkgNames: pkgs: - map (pn: lib.getAttr pn pkgs) pkgNames; - toBuildInputs = pkgArches: archPkgs: - lib.concatLists (map archPkgs pkgArches); - mkBuildInputs = pkgArches: pkgNames: - toBuildInputs pkgArches (toPackages pkgNames); + toPackages = pkgNames: pkgs: map (pn: lib.getAttr pn pkgs) pkgNames; + toBuildInputs = pkgArches: archPkgs: lib.concatLists (map archPkgs pkgArches); + mkBuildInputs = pkgArches: pkgNames: toBuildInputs pkgArches (toPackages pkgNames); } diff --git a/pkgs/applications/emulators/wine/winetricks.nix b/pkgs/applications/emulators/wine/winetricks.nix index b809a85a079b6..dee2a107e9d2a 100644 --- a/pkgs/applications/emulators/wine/winetricks.nix +++ b/pkgs/applications/emulators/wine/winetricks.nix @@ -1,17 +1,44 @@ -{ lib, stdenv, callPackage, perl, which, coreutils, zenity, curl -, cabextract, unzip, p7zip, gnused, gnugrep, bash } : +{ + lib, + stdenv, + callPackage, + perl, + which, + coreutils, + zenity, + curl, + cabextract, + unzip, + p7zip, + gnused, + gnugrep, + bash, +}: stdenv.mkDerivation rec { pname = "winetricks"; version = src.version; - src = (callPackage ./sources.nix {}).winetricks; + src = (callPackage ./sources.nix { }).winetricks; - buildInputs = [ perl which ]; + buildInputs = [ + perl + which + ]; # coreutils is for sha1sum pathAdd = lib.makeBinPath [ - perl which coreutils zenity curl cabextract unzip p7zip gnused gnugrep bash + perl + which + coreutils + zenity + curl + cabextract + unzip + p7zip + gnused + gnugrep + bash ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/emulators/yabause/default.nix b/pkgs/applications/emulators/yabause/default.nix index 7623cc49efb9a..1016d00fbaae5 100644 --- a/pkgs/applications/emulators/yabause/default.nix +++ b/pkgs/applications/emulators/yabause/default.nix @@ -1,5 +1,17 @@ -{ mkDerivation, lib, fetchurl, cmake, pkg-config, qtbase, qt5, libGLU, libGL -, libglut ? null, openal ? null, SDL2 ? null }: +{ + mkDerivation, + lib, + fetchurl, + cmake, + pkg-config, + qtbase, + qt5, + libGLU, + libGL, + libglut ? null, + openal ? null, + SDL2 ? null, +}: mkDerivation rec { pname = "yabause"; @@ -10,8 +22,19 @@ mkDerivation rec { sha256 = "1cn2rjjb7d9pkr4g5bqz55vd4pzyb7hg94cfmixjkzzkw0zw8d23"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ qtbase qt5.qtmultimedia libGLU libGL libglut openal SDL2 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + qtbase + qt5.qtmultimedia + libGLU + libGL + libglut + openal + SDL2 + ]; patches = [ ./linkage-rwx-linux-elf.patch @@ -24,7 +47,7 @@ mkDerivation rec { "-DYAB_NETWORK=ON" "-DYAB_OPTIMIZED_DMA=ON" "-DYAB_PORTS=qt" - ] ; + ]; meta = with lib; { description = "Open-source Sega Saturn emulator"; diff --git a/pkgs/applications/emulators/zsnes/2.x.nix b/pkgs/applications/emulators/zsnes/2.x.nix index 4a446174a34d2..58e537c064ee4 100644 --- a/pkgs/applications/emulators/zsnes/2.x.nix +++ b/pkgs/applications/emulators/zsnes/2.x.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL -, libGL -, libGLU -, libpng -, nasm -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + SDL, + libGL, + libGLU, + libpng, + nasm, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/emulators/zsnes/default.nix b/pkgs/applications/emulators/zsnes/default.nix index 98fed7058611c..718ce9e371280 100644 --- a/pkgs/applications/emulators/zsnes/default.nix +++ b/pkgs/applications/emulators/zsnes/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU, libGL -, makeDesktopItem }: +{ + lib, + stdenv, + fetchFromGitHub, + nasm, + SDL, + zlib, + libpng, + ncurses, + libGLU, + libGL, + makeDesktopItem, +}: let desktopItem = makeDesktopItem { @@ -12,7 +23,8 @@ let categories = [ "Game" ]; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "zsnes"; version = "1.51"; @@ -28,7 +40,15 @@ in stdenv.mkDerivation { ./fortify3.patch ]; - buildInputs = [ nasm SDL zlib libpng ncurses libGLU libGL ]; + buildInputs = [ + nasm + SDL + zlib + libpng + ncurses + libGLU + libGL + ]; prePatch = '' for i in $(cat debian/patches/series); do @@ -69,7 +89,10 @@ in stdenv.mkDerivation { license = lib.licenses.gpl2Plus; maintainers = [ lib.maintainers.sander ]; homepage = "https://www.zsnes.com"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; mainProgram = "zsnes"; }; } diff --git a/pkgs/applications/file-managers/dfilemanager/default.nix b/pkgs/applications/file-managers/dfilemanager/default.nix index 8a30535f646ee..44f2675f18d69 100644 --- a/pkgs/applications/file-managers/dfilemanager/default.nix +++ b/pkgs/applications/file-managers/dfilemanager/default.nix @@ -1,4 +1,13 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, file, qtbase, qttools, solid }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + file, + qtbase, + qttools, + solid, +}: mkDerivation { pname = "dfilemanager"; @@ -12,7 +21,12 @@ mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ qtbase qttools file solid ]; + buildInputs = [ + qtbase + qttools + file + solid + ]; cmakeFlags = [ "-DQT5BUILD=true" ]; diff --git a/pkgs/applications/file-managers/krusader/default.nix b/pkgs/applications/file-managers/krusader/default.nix index 0df5ed386c43e..e11d3f71af893 100644 --- a/pkgs/applications/file-managers/krusader/default.nix +++ b/pkgs/applications/file-managers/krusader/default.nix @@ -1,16 +1,17 @@ -{ mkDerivation -, lib -, fetchurl -, extra-cmake-modules -, kdoctools -, wrapGAppsHook3 -, karchive -, kconfig -, kcrash -, kguiaddons -, kinit -, kparts -, kwindowsystem +{ + mkDerivation, + lib, + fetchurl, + extra-cmake-modules, + kdoctools, + wrapGAppsHook3, + karchive, + kconfig, + kcrash, + kguiaddons, + kinit, + kparts, + kwindowsystem, }: mkDerivation rec { diff --git a/pkgs/applications/file-managers/lf/ctpv.nix b/pkgs/applications/file-managers/lf/ctpv.nix index d1e4a6633730b..257fd9cc666e8 100644 --- a/pkgs/applications/file-managers/lf/ctpv.nix +++ b/pkgs/applications/file-managers/lf/ctpv.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, file -, openssl -, atool -, bat -, chafa -, delta -, ffmpeg -, ffmpegthumbnailer -, fontforge -, glow -, imagemagick -, jq -, ueberzug +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + file, + openssl, + atool, + bat, + chafa, + delta, + ffmpeg, + ffmpegthumbnailer, + fontforge, + glow, + imagemagick, + jq, + ueberzug, }: stdenv.mkDerivation rec { @@ -39,19 +40,21 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram $out/bin/ctpv \ - --prefix PATH ":" "${lib.makeBinPath [ - atool # for archive files - bat - chafa # for image files on Wayland - delta # for diff files - ffmpeg - ffmpegthumbnailer - fontforge - glow # for markdown files - imagemagick - jq # for json files - ueberzug # for image files on X11 - ]}"; + --prefix PATH ":" "${ + lib.makeBinPath [ + atool # for archive files + bat + chafa # for image files on Wayland + delta # for diff files + ffmpeg + ffmpegthumbnailer + fontforge + glow # for markdown files + imagemagick + jq # for json files + ueberzug # for image files on X11 + ] + }"; ''; meta = with lib; { diff --git a/pkgs/applications/file-managers/lf/default.nix b/pkgs/applications/file-managers/lf/default.nix index 79975b988926b..0426d0725ac00 100644 --- a/pkgs/applications/file-managers/lf/default.nix +++ b/pkgs/applications/file-managers/lf/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -20,7 +21,11 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" "-X main.gVersion=r${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.gVersion=r${version}" + ]; # Force the use of the pure-go implementation of the os/user library. # Relevant issue: https://github.com/gokcehan/lf/issues/191 diff --git a/pkgs/applications/file-managers/mc/default.nix b/pkgs/applications/file-managers/mc/default.nix index 1644da02ed2fd..80e929eb71600 100644 --- a/pkgs/applications/file-managers/mc/default.nix +++ b/pkgs/applications/file-managers/mc/default.nix @@ -1,25 +1,28 @@ -{ lib, stdenv -, fetchurl -, buildPackages -, pkg-config -, glib -, gpm -, file -, e2fsprogs -, libICE -, perl -, zip -, unzip -, gettext -, slang -, libssh2 -, openssl -, coreutils -, autoSignDarwinBinariesHook -, x11Support ? true, libX11 +{ + lib, + stdenv, + fetchurl, + buildPackages, + pkg-config, + glib, + gpm, + file, + e2fsprogs, + libICE, + perl, + zip, + unzip, + gettext, + slang, + libssh2, + openssl, + coreutils, + autoSignDarwinBinariesHook, + x11Support ? true, + libX11, -# updater only -, writeScript + # updater only + writeScript, }: stdenv.mkDerivation rec { @@ -31,24 +34,33 @@ stdenv.mkDerivation rec { hash = "sha256-TdyD0e3pryNjs+q5h/VLh89mGTJBEM4tOg5wlE0TWf4="; }; - nativeBuildInputs = [ pkg-config unzip ] + nativeBuildInputs = + [ + pkg-config + unzip + ] # The preFixup hook rewrites the binary, which invaliates the code # signature. Add the fixup hook to sign the output. ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ]; - buildInputs = [ - file - gettext - glib - libICE - libssh2 - openssl - slang - zip - ] ++ lib.optionals x11Support [ libX11 ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ e2fsprogs gpm ]; + buildInputs = + [ + file + gettext + glib + libICE + libssh2 + openssl + slang + zip + ] + ++ lib.optionals x11Support [ libX11 ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + e2fsprogs + gpm + ]; enableParallelBuilding = true; @@ -76,15 +88,15 @@ stdenv.mkDerivation rec { ''; passthru.updateScript = writeScript "update-mc" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p curl pcre common-updater-scripts + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl pcre common-updater-scripts - set -eu -o pipefail + set -eu -o pipefail - # Expect the text in format of "Current version is: 4.8.27; ...". - new_version="$(curl -s https://midnight-commander.org/ | pcregrep -o1 'Current version is: (([0-9]+\.?)+);')" - update-source-version mc "$new_version" - ''; + # Expect the text in format of "Current version is: 4.8.27; ...". + new_version="$(curl -s https://midnight-commander.org/ | pcregrep -o1 'Current version is: (([0-9]+\.?)+);')" + update-source-version mc "$new_version" + ''; meta = with lib; { description = "File Manager and User Shell for the GNU Project, known as Midnight Commander"; diff --git a/pkgs/applications/file-managers/xfe/default.nix b/pkgs/applications/file-managers/xfe/default.nix index 0b09d6ea9ed58..383ed13c9498c 100644 --- a/pkgs/applications/file-managers/xfe/default.nix +++ b/pkgs/applications/file-managers/xfe/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, fox -, fontconfig -, freetype -, pkg-config -, gettext -, xcbutil -, gcc -, intltool -, file -, libpng -, xorg +{ + lib, + stdenv, + fetchurl, + fox, + fontconfig, + freetype, + pkg-config, + gettext, + xcbutil, + gcc, + intltool, + file, + libpng, + xorg, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-6hNNda4BKCY9E02uFYJnt0JySNp/is1ZqjFlOwQcRWs="; }; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ fox gettext diff --git a/pkgs/applications/gis/grass/tests.nix b/pkgs/applications/gis/grass/tests.nix index 1a38d07de7891..0a54bfaef8355 100644 --- a/pkgs/applications/gis/grass/tests.nix +++ b/pkgs/applications/gis/grass/tests.nix @@ -4,15 +4,14 @@ let inherit (grass) pname version; in -runCommand "${pname}-tests" { meta.timeout = 60; } - '' - HOME=$(mktemp -d) +runCommand "${pname}-tests" { meta.timeout = 60; } '' + HOME=$(mktemp -d) - ${grass}/bin/grass --tmp-location EPSG:3857 --exec g.version \ - | grep 'GRASS ${version}' + ${grass}/bin/grass --tmp-location EPSG:3857 --exec g.version \ + | grep 'GRASS ${version}' - ${grass}/bin/grass --tmp-location EPSG:3857 --exec g.mapset -l \ - | grep 'PERMANENT' + ${grass}/bin/grass --tmp-location EPSG:3857 --exec g.mapset -l \ + | grep 'PERMANENT' - touch $out - '' + touch $out +'' diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix index d7a65bb7b7a42..29294726714ce 100644 --- a/pkgs/applications/gis/qgis/default.nix +++ b/pkgs/applications/gis/qgis/default.nix @@ -1,15 +1,16 @@ -{ makeWrapper -, nixosTests -, symlinkJoin +{ + makeWrapper, + nixosTests, + symlinkJoin, -, extraPythonPackages ? (ps: [ ]) + extraPythonPackages ? (ps: [ ]), -, libsForQt5 + libsForQt5, -# unwrapped package parameters -, withGrass ? false -, withServer ? false -, withWebKit ? false + # unwrapped package parameters + withGrass ? false, + withServer ? false, + withWebKit ? false, }: let qgis-unwrapped = libsForQt5.callPackage ./unwrapped.nix { @@ -17,7 +18,8 @@ let withServer = withServer; withWebKit = withWebKit; }; -in symlinkJoin rec { +in +symlinkJoin rec { inherit (qgis-unwrapped) version; name = "qgis-${version}"; diff --git a/pkgs/applications/gis/qgis/ltr.nix b/pkgs/applications/gis/qgis/ltr.nix index 596347a97e3f2..9d53d47af96c0 100644 --- a/pkgs/applications/gis/qgis/ltr.nix +++ b/pkgs/applications/gis/qgis/ltr.nix @@ -1,15 +1,16 @@ -{ makeWrapper -, nixosTests -, symlinkJoin +{ + makeWrapper, + nixosTests, + symlinkJoin, -, extraPythonPackages ? (ps: [ ]) + extraPythonPackages ? (ps: [ ]), -, libsForQt5 + libsForQt5, -# unwrapped package parameters -, withGrass ? false -, withServer ? false -, withWebKit ? false + # unwrapped package parameters + withGrass ? false, + withServer ? false, + withWebKit ? false, }: let qgis-ltr-unwrapped = libsForQt5.callPackage ./unwrapped-ltr.nix { @@ -17,7 +18,8 @@ let withServer = withServer; withWebKit = withWebKit; }; -in symlinkJoin rec { +in +symlinkJoin rec { inherit (qgis-ltr-unwrapped) version; name = "qgis-${version}"; @@ -30,7 +32,8 @@ in symlinkJoin rec { ]; # extend to add to the python environment of QGIS without rebuilding QGIS application. - pythonInputs = qgis-ltr-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-ltr-unwrapped.py.pkgs); + pythonInputs = + qgis-ltr-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-ltr-unwrapped.py.pkgs); postBuild = '' buildPythonPath "$pythonInputs" diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix index 7ebf46bb840ab..6806ba5d41e4d 100644 --- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix +++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix @@ -1,51 +1,52 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, mkDerivation -, substituteAll -, wrapGAppsHook3 -, wrapQtAppsHook - -, withGrass -, withServer -, withWebKit - -, bison -, cmake -, draco -, exiv2 -, fcgi -, flex -, geos -, grass -, gsl -, hdf5 -, libspatialindex -, libspatialite -, libzip -, netcdf -, ninja -, openssl -, pdal -, postgresql -, proj -, protobuf -, python3 -, qca-qt5 -, qscintilla -, qt3d -, qtbase -, qtkeychain -, qtlocation -, qtmultimedia -, qtsensors -, qtserialport -, qtwebkit -, qtxmlpatterns -, qwt -, sqlite -, txt2tags -, zstd +{ + lib, + fetchFromGitHub, + makeWrapper, + mkDerivation, + substituteAll, + wrapGAppsHook3, + wrapQtAppsHook, + + withGrass, + withServer, + withWebKit, + + bison, + cmake, + draco, + exiv2, + fcgi, + flex, + geos, + grass, + gsl, + hdf5, + libspatialindex, + libspatialite, + libzip, + netcdf, + ninja, + openssl, + pdal, + postgresql, + proj, + protobuf, + python3, + qca-qt5, + qscintilla, + qt3d, + qtbase, + qtkeychain, + qtlocation, + qtmultimedia, + qtsensors, + qtserialport, + qtwebkit, + qtxmlpatterns, + qwt, + sqlite, + txt2tags, + zstd, }: let @@ -79,7 +80,8 @@ let six urllib3 ]; -in mkDerivation rec { +in +mkDerivation rec { version = "3.34.13"; pname = "qgis-ltr-unwrapped"; @@ -106,37 +108,39 @@ in mkDerivation rec { ninja ]; - buildInputs = [ - draco - exiv2 - fcgi - geos - gsl - hdf5 - libspatialindex - libspatialite - libzip - netcdf - openssl - pdal - postgresql - proj - protobuf - qca-qt5 - qscintilla - qt3d - qtbase - qtkeychain - qtlocation - qtmultimedia - qtsensors - qtserialport - qtxmlpatterns - qwt - sqlite - txt2tags - zstd - ] ++ lib.optional withGrass grass + buildInputs = + [ + draco + exiv2 + fcgi + geos + gsl + hdf5 + libspatialindex + libspatialite + libzip + netcdf + openssl + pdal + postgresql + proj + protobuf + qca-qt5 + qscintilla + qt3d + qtbase + qtkeychain + qtlocation + qtmultimedia + qtsensors + qtserialport + qtxmlpatterns + qwt + sqlite + txt2tags + zstd + ] + ++ lib.optional withGrass grass ++ lib.optional withWebKit qtwebkit ++ pythonBuildInputs; @@ -150,20 +154,25 @@ in mkDerivation rec { # Add path to Qt platform plugins # (offscreen is needed by "${APIS_SRC_DIR}/generate_console_pap.py") - env.QT_QPA_PLATFORM_PLUGIN_PATH="${qtbase}/${qtbase.qtPluginPrefix}/platforms"; - - cmakeFlags = [ - "-DWITH_3D=True" - "-DWITH_PDAL=True" - "-DENABLE_TESTS=False" - ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" + env.QT_QPA_PLATFORM_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}/platforms"; + + cmakeFlags = + [ + "-DWITH_3D=True" + "-DWITH_PDAL=True" + "-DENABLE_TESTS=False" + ] + ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" ++ lib.optional withServer [ - "-DWITH_SERVER=True" - "-DQGIS_CGIBIN_SUBDIR=${placeholder "out"}/lib/cgi-bin" - ] ++ lib.optional withGrass (let + "-DWITH_SERVER=True" + "-DQGIS_CGIBIN_SUBDIR=${placeholder "out"}/lib/cgi-bin" + ] + ++ lib.optional withGrass ( + let gmajor = lib.versions.major grass.version; gminor = lib.versions.minor grass.version; - in "-DGRASS_PREFIX${gmajor}=${grass}/grass${gmajor}${gminor}" + in + "-DGRASS_PREFIX${gmajor}=${grass}/grass${gmajor}${gminor}" ); qtWrapperArgs = [ diff --git a/pkgs/applications/gis/qmapshack/default.nix b/pkgs/applications/gis/qmapshack/default.nix index 4fca64f0dde5d..de60afff3ffe1 100644 --- a/pkgs/applications/gis/qmapshack/default.nix +++ b/pkgs/applications/gis/qmapshack/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, wrapQtAppsHook -, qtscript, qtwebengine, gdal, proj, routino, quazip }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + wrapQtAppsHook, + qtscript, + qtwebengine, + gdal, + proj, + routino, + quazip, +}: stdenv.mkDerivation rec { pname = "qmapshack"; @@ -12,16 +23,31 @@ stdenv.mkDerivation rec { hash = "sha256-wqztKmaUxY3qd7IgPM7kV7x0BsrTMTX3DbcdM+lsarI="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; - buildInputs = [ qtscript qtwebengine gdal proj routino quazip ]; + buildInputs = [ + qtscript + qtwebengine + gdal + proj + routino + quazip + ]; cmakeFlags = [ "-DROUTINO_XML_PATH=${routino}/share/routino" ]; qtWrapperArgs = [ - "--suffix PATH : ${lib.makeBinPath [ gdal routino ]}" + "--suffix PATH : ${ + lib.makeBinPath [ + gdal + routino + ] + }" ]; meta = with lib; { @@ -29,7 +55,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Maproom/qmapshack"; changelog = "https://github.com/Maproom/qmapshack/blob/V_${version}/changelog.txt"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ dotlambda sikmir ]; + maintainers = with maintainers; [ + dotlambda + sikmir + ]; platforms = with platforms; linux; }; } diff --git a/pkgs/applications/gis/spatialite-gui/default.nix b/pkgs/applications/gis/spatialite-gui/default.nix index a8bdedabaa374..c5257c9669a13 100644 --- a/pkgs/applications/gis/spatialite-gui/default.nix +++ b/pkgs/applications/gis/spatialite-gui/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, desktopToDarwinBundle -, curl -, freexl -, geos -, librasterlite2 -, librttopo -, libspatialite -, libwebp -, libxlsxwriter -, libxml2 -, lz4 -, minizip -, openjpeg -, postgresql -, proj -, sqlite -, virtualpg -, wxGTK -, xz -, zstd -, Carbon -, Cocoa -, IOKit +{ + lib, + stdenv, + fetchurl, + pkg-config, + desktopToDarwinBundle, + curl, + freexl, + geos, + librasterlite2, + librttopo, + libspatialite, + libwebp, + libxlsxwriter, + libxml2, + lz4, + minizip, + openjpeg, + postgresql, + proj, + sqlite, + virtualpg, + wxGTK, + xz, + zstd, + Carbon, + Cocoa, + IOKit, }: stdenv.mkDerivation rec { @@ -36,30 +37,37 @@ stdenv.mkDerivation rec { hash = "sha256-ukjZbfGM68P/I/aXlyB64VgszmL0WWtpuuMAyjwj2zM="; }; - nativeBuildInputs = [ pkg-config ] - ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; + nativeBuildInputs = [ + pkg-config + ] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; - buildInputs = [ - curl - freexl - geos - librasterlite2 - librttopo - libspatialite - libwebp - libxlsxwriter - libxml2 - lz4 - minizip - openjpeg - postgresql - proj - sqlite - virtualpg - wxGTK - xz - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa IOKit ]; + buildInputs = + [ + curl + freexl + geos + librasterlite2 + librttopo + libspatialite + libwebp + libxlsxwriter + libxml2 + lz4 + minizip + openjpeg + postgresql + proj + sqlite + virtualpg + wxGTK + xz + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + IOKit + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/gis/zombietrackergps/default.nix b/pkgs/applications/gis/zombietrackergps/default.nix index 762777bf8acf5..2cd1c823521fc 100644 --- a/pkgs/applications/gis/zombietrackergps/default.nix +++ b/pkgs/applications/gis/zombietrackergps/default.nix @@ -55,7 +55,7 @@ mkDerivation rec { homepage = "https://www.zombietrackergps.net/ztgps/"; changelog = "https://www.zombietrackergps.net/ztgps/history.html"; license = licenses.gpl3Plus; - maintainers = with maintainers; [sohalt]; + maintainers = with maintainers; [ sohalt ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix index e0834055e7163..3dd69d56b19d1 100644 --- a/pkgs/applications/graphics/ImageMagick/6.x.nix +++ b/pkgs/applications/graphics/ImageMagick/6.x.nix @@ -1,37 +1,73 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libtool -, bzip2Support ? true, bzip2 -, zlibSupport ? true, zlib -, libX11Support ? !stdenv.hostPlatform.isMinGW, libX11 -, libXtSupport ? !stdenv.hostPlatform.isMinGW, libXt -, fontconfigSupport ? true, fontconfig -, freetypeSupport ? true, freetype -, ghostscriptSupport ? false, ghostscript -, libjpegSupport ? true, libjpeg -, djvulibreSupport ? true, djvulibre -, lcms2Support ? true, lcms2 -, openexrSupport ? !stdenv.hostPlatform.isMinGW, openexr -, libpngSupport ? true, libpng -, liblqr1Support ? true, liblqr1 -, librsvgSupport ? !stdenv.hostPlatform.isMinGW, librsvg -, libtiffSupport ? true, libtiff -, libxml2Support ? true, libxml2 -, openjpegSupport ? !stdenv.hostPlatform.isMinGW, openjpeg -, libwebpSupport ? !stdenv.hostPlatform.isMinGW, libwebp -, libheifSupport ? true, libheif -, libde265Support ? true, libde265 -, fftw -, ApplicationServices, Foundation -, testers +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libtool, + bzip2Support ? true, + bzip2, + zlibSupport ? true, + zlib, + libX11Support ? !stdenv.hostPlatform.isMinGW, + libX11, + libXtSupport ? !stdenv.hostPlatform.isMinGW, + libXt, + fontconfigSupport ? true, + fontconfig, + freetypeSupport ? true, + freetype, + ghostscriptSupport ? false, + ghostscript, + libjpegSupport ? true, + libjpeg, + djvulibreSupport ? true, + djvulibre, + lcms2Support ? true, + lcms2, + openexrSupport ? !stdenv.hostPlatform.isMinGW, + openexr, + libpngSupport ? true, + libpng, + liblqr1Support ? true, + liblqr1, + librsvgSupport ? !stdenv.hostPlatform.isMinGW, + librsvg, + libtiffSupport ? true, + libtiff, + libxml2Support ? true, + libxml2, + openjpegSupport ? !stdenv.hostPlatform.isMinGW, + openjpeg, + libwebpSupport ? !stdenv.hostPlatform.isMinGW, + libwebp, + libheifSupport ? true, + libheif, + libde265Support ? true, + libde265, + fftw, + ApplicationServices, + Foundation, + testers, }: let arch = - if stdenv.hostPlatform.system == "i686-linux" then "i686" - else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64" - else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l" - else if stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64" - else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le" - else null; + if stdenv.hostPlatform.system == "i686-linux" then + "i686" + else if + stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" + then + "x86-64" + else if stdenv.hostPlatform.system == "armv7l-linux" then + "armv7l" + else if + stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" + then + "aarch64" + else if stdenv.hostPlatform.system == "powerpc64le-linux" then + "ppc64le" + else + null; in stdenv.mkDerivation (finalAttrs: { @@ -45,26 +81,37 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-AdlJaCJOrN+NkkzzzgELtgAr5iZ9dvlVYVc7tYiM+R8="; }; - outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big + outputs = [ + "out" + "dev" + "doc" + ]; # bin/ isn't really big outputMan = "out"; # it's tiny enableParallelBuilding = true; - configureFlags = [ - "--with-frozenpaths" - (lib.withFeatureAs (arch != null) "gcc-arch" arch) - (lib.withFeature librsvgSupport "rsvg") - (lib.withFeature liblqr1Support "lqr") - (lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript.fonts}/share/fonts") - (lib.withFeature ghostscriptSupport "gslib") - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - # due to libxml2 being without DLLs ATM - "--enable-static" "--disable-shared" - ]; + configureFlags = + [ + "--with-frozenpaths" + (lib.withFeatureAs (arch != null) "gcc-arch" arch) + (lib.withFeature librsvgSupport "rsvg") + (lib.withFeature liblqr1Support "lqr") + (lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript.fonts}/share/fonts") + (lib.withFeature ghostscriptSupport "gslib") + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # due to libxml2 being without DLLs ATM + "--enable-static" + "--disable-shared" + ]; - nativeBuildInputs = [ pkg-config libtool ]; + nativeBuildInputs = [ + pkg-config + libtool + ]; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optional zlibSupport zlib ++ lib.optional fontconfigSupport fontconfig ++ lib.optional ghostscriptSupport ghostscript @@ -83,7 +130,8 @@ stdenv.mkDerivation (finalAttrs: { Foundation ]; - propagatedBuildInputs = [ fftw ] + propagatedBuildInputs = + [ fftw ] ++ lib.optional bzip2Support bzip2 ++ lib.optional freetypeSupport freetype ++ lib.optional libjpegSupport libjpeg @@ -94,21 +142,23 @@ stdenv.mkDerivation (finalAttrs: { doCheck = false; # fails 2 out of 76 tests - postInstall = '' - (cd "$dev/include" && ln -s ImageMagick* ImageMagick) - moveToOutput "bin/*-config" "$dev" - moveToOutput "lib/ImageMagick-*/config-Q16" "$dev" # includes configure params - for file in "$dev"/bin/*-config; do - substituteInPlace "$file" --replace "${pkg-config}/bin/pkg-config -config" \ - ${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config - substituteInPlace "$file" --replace ${pkg-config}/bin/pkg-config \ - "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'" - done - '' + lib.optionalString ghostscriptSupport '' - for la in $out/lib/*.la; do - sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la - done - ''; + postInstall = + '' + (cd "$dev/include" && ln -s ImageMagick* ImageMagick) + moveToOutput "bin/*-config" "$dev" + moveToOutput "lib/ImageMagick-*/config-Q16" "$dev" # includes configure params + for file in "$dev"/bin/*-config; do + substituteInPlace "$file" --replace "${pkg-config}/bin/pkg-config -config" \ + ${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config + substituteInPlace "$file" --replace ${pkg-config}/bin/pkg-config \ + "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'" + done + '' + + lib.optionalString ghostscriptSupport '' + for la in $out/lib/*.la; do + sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la + done + ''; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; @@ -116,7 +166,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://legacy.imagemagick.org/"; changelog = "https://legacy.imagemagick.org/script/changelog.php"; description = "Software suite to create, edit, compose, or convert bitmap images"; - pkgConfigModules = [ "ImageMagick" "MagickWand" ]; + pkgConfigModules = [ + "ImageMagick" + "MagickWand" + ]; platforms = platforms.linux ++ platforms.darwin; maintainers = [ ]; license = licenses.asl20; diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index b55e6a8a5bb00..4078f09d24eec 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -1,71 +1,101 @@ -{ lib, stdenv, fetchFromGitHub, libpng, python3 -, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses -, cmake, flex, lemon -, makeDesktopItem, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + libpng, + python3, + libGLU, + libGL, + qtbase, + wrapQtAppsHook, + ncurses, + cmake, + flex, + lemon, + makeDesktopItem, + copyDesktopItems, }: let - gitRev = "8b805c674adad536f9dd552b4be75fadcb3c7db6"; + gitRev = "8b805c674adad536f9dd552b4be75fadcb3c7db6"; gitBranch = "develop"; - gitTag = "0.9.3"; + gitTag = "0.9.3"; in - stdenv.mkDerivation { - pname = "antimony"; - version = "2022-11-23"; +stdenv.mkDerivation { + pname = "antimony"; + version = "2022-11-23"; - src = fetchFromGitHub { - owner = "mkeeter"; - repo = "antimony"; - rev = gitRev; - sha256 = "NmOuBewfHqtAim2cNP62LXgRjVWuVUGweV46sY1qjGk="; - }; + src = fetchFromGitHub { + owner = "mkeeter"; + repo = "antimony"; + rev = gitRev; + sha256 = "NmOuBewfHqtAim2cNP62LXgRjVWuVUGweV46sY1qjGk="; + }; - patches = [ ./paths-fix.patch ]; + patches = [ ./paths-fix.patch ]; - postPatch = '' - sed -i "s,/usr/local,$out,g" \ - app/CMakeLists.txt app/app/app.cpp app/app/main.cpp - sed -i "s,python3,${python3.executable}," CMakeLists.txt - ''; + postPatch = '' + sed -i "s,/usr/local,$out,g" \ + app/CMakeLists.txt app/app/app.cpp app/app/main.cpp + sed -i "s,python3,${python3.executable}," CMakeLists.txt + ''; - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm644 $src/deploy/icon.svg $out/share/icons/hicolor/scalable/apps/antimony.svg - install -Dm644 ${./mimetype.xml} $out/share/mime/packages/antimony.xml - ''; + postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm644 $src/deploy/icon.svg $out/share/icons/hicolor/scalable/apps/antimony.svg + install -Dm644 ${./mimetype.xml} $out/share/mime/packages/antimony.xml + ''; - buildInputs = [ - libpng python3 python3.pkgs.boost - libGLU libGL qtbase ncurses - ]; + buildInputs = [ + libpng + python3 + python3.pkgs.boost + libGLU + libGL + qtbase + ncurses + ]; - nativeBuildInputs = [ cmake flex lemon wrapQtAppsHook copyDesktopItems ]; + nativeBuildInputs = [ + cmake + flex + lemon + wrapQtAppsHook + copyDesktopItems + ]; - desktopItems = [ - (makeDesktopItem { - name = "antimony"; - desktopName = "Antimony"; - comment="Tree-based Modeler"; - genericName = "CAD Application"; - exec = "antimony %f"; - icon = "antimony"; - categories = [ "Graphics" "Science" "Engineering" ]; - mimeTypes = [ "application/x-extension-sb" "application/x-antimony" ]; - startupWMClass = "antimony"; - }) - ]; + desktopItems = [ + (makeDesktopItem { + name = "antimony"; + desktopName = "Antimony"; + comment = "Tree-based Modeler"; + genericName = "CAD Application"; + exec = "antimony %f"; + icon = "antimony"; + categories = [ + "Graphics" + "Science" + "Engineering" + ]; + mimeTypes = [ + "application/x-extension-sb" + "application/x-antimony" + ]; + startupWMClass = "antimony"; + }) + ]; - cmakeFlags= [ - "-DGITREV=${gitRev}" - "-DGITTAG=${gitTag}" - "-DGITBRANCH=${gitBranch}" - ]; + cmakeFlags = [ + "-DGITREV=${gitRev}" + "-DGITTAG=${gitTag}" + "-DGITBRANCH=${gitBranch}" + ]; - meta = with lib; { - description = "Computer-aided design (CAD) tool from a parallel universe"; - mainProgram = "antimony"; - homepage = "https://github.com/mkeeter/antimony"; - license = licenses.mit; - maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.linux; - }; - } + meta = with lib; { + description = "Computer-aided design (CAD) tool from a parallel universe"; + mainProgram = "antimony"; + homepage = "https://github.com/mkeeter/antimony"; + license = licenses.mit; + maintainers = with maintainers; [ rnhmjoj ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix index c6057ccc285b2..0aa3f79b001dd 100644 --- a/pkgs/applications/graphics/apitrace/default.nix +++ b/pkgs/applications/graphics/apitrace/default.nix @@ -29,9 +29,21 @@ stdenv.mkDerivation rec { # LD_PRELOAD wrappers need to be statically linked to work against all kinds # of games -- so it's fine to use e.g. bundled snappy. - buildInputs = [ libX11 procps python3 libdwarf qtbase gtest brotli ]; + buildInputs = [ + libX11 + procps + python3 + libdwarf + qtbase + gtest + brotli + ]; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; # Don't automatically wrap all binaries, I prefer to explicitly only wrap # `qapitrace`. @@ -68,7 +80,7 @@ stdenv.mkDerivation rec { for i in $out/bin/eglretrace $out/bin/glretrace do echo "Patching RPath for $i" - patchelf --set-rpath "${lib.makeLibraryPath [libglvnd]}:$(patchelf --print-rpath $i)" $i + patchelf --set-rpath "${lib.makeLibraryPath [ libglvnd ]}:$(patchelf --print-rpath $i)" $i done wrapQtApp $out/bin/qapitrace diff --git a/pkgs/applications/graphics/apngasm/2.nix b/pkgs/applications/graphics/apngasm/2.nix index f581f9dd12456..7a7084cc17ce8 100644 --- a/pkgs/applications/graphics/apngasm/2.nix +++ b/pkgs/applications/graphics/apngasm/2.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, libpng, zlib, zopfli }: +{ + lib, + stdenv, + fetchzip, + libpng, + zlib, + zopfli, +}: stdenv.mkDerivation rec { pname = "apngasm"; @@ -10,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "0qhljqql159xkn1l83vz0q8wvzr7rjz4jnhiy0zn36pgvacg0zn1"; }; - buildInputs = [ libpng zlib zopfli ]; + buildInputs = [ + libpng + zlib + zopfli + ]; postPatch = '' rm -rf libpng zlib zopfli diff --git a/pkgs/applications/graphics/apngasm/default.nix b/pkgs/applications/graphics/apngasm/default.nix index d75188b36dd61..f915d88d3f2a1 100644 --- a/pkgs/applications/graphics/apngasm/default.nix +++ b/pkgs/applications/graphics/apngasm/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, libpng, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + libpng, + zlib, +}: stdenv.mkDerivation rec { pname = "apngasm"; @@ -21,7 +30,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost libpng zlib ]; + buildInputs = [ + boost + libpng + zlib + ]; meta = with lib; { description = "Create an APNG from multiple PNG files"; diff --git a/pkgs/applications/graphics/awesomebump/default.nix b/pkgs/applications/graphics/awesomebump/default.nix index a096a14ec4f7d..78028135186df 100644 --- a/pkgs/applications/graphics/awesomebump/default.nix +++ b/pkgs/applications/graphics/awesomebump/default.nix @@ -1,5 +1,14 @@ -{ mkDerivation, lib, fetchgit, qtbase, qmake, qtscript, flex, bison, qtdeclarative }: - +{ + mkDerivation, + lib, + fetchgit, + qtbase, + qmake, + qtscript, + flex, + bison, + qtdeclarative, +}: let version = "5.1"; @@ -16,19 +25,32 @@ let inherit src; sourceRoot = "${src.name}/Sources/utils/QtnProperty"; patches = [ ./qtnproperty-parallel-building.patch ]; - buildInputs = [ qtscript qtbase qtdeclarative ]; - nativeBuildInputs = [ qmake flex bison ]; + buildInputs = [ + qtscript + qtbase + qtdeclarative + ]; + nativeBuildInputs = [ + qmake + flex + bison + ]; postInstall = '' install -D bin-linux/QtnPEG $out/bin/QtnPEG ''; }; -in mkDerivation { +in +mkDerivation { pname = "awesomebump"; inherit version; inherit src; - buildInputs = [ qtbase qtscript qtdeclarative ]; + buildInputs = [ + qtbase + qtscript + qtdeclarative + ]; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix index 738ce255a4cf7..39ca9122d13ad 100644 --- a/pkgs/applications/graphics/cloudcompare/default.nix +++ b/pkgs/applications/graphics/cloudcompare/default.nix @@ -1,24 +1,25 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, cmake -, boost -, cgal -, eigen -, flann -, gdal -, gmp -, laszip -, mpfr -, pcl -, qtbase -, qtsvg -, qttools -, tbb -, xercesc -, wrapGAppsHook3 +{ + lib, + mkDerivation, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + cmake, + boost, + cgal, + eigen, + flann, + gdal, + gmp, + laszip, + mpfr, + pcl, + qtbase, + qtsvg, + qttools, + tbb, + xercesc, + wrapGAppsHook3, }: mkDerivation rec { @@ -119,8 +120,15 @@ mkDerivation rec { comment = "3D point cloud and mesh processing software"; exec = "CloudCompare"; terminal = false; - categories = [ "Graphics" "3DGraphics" "Viewer" ]; - keywords = [ "3d" "processing" ]; + categories = [ + "Graphics" + "3DGraphics" + "Viewer" + ]; + keywords = [ + "3d" + "processing" + ]; icon = "CloudCompare"; }) (makeDesktopItem { @@ -129,8 +137,15 @@ mkDerivation rec { comment = "3D point cloud and mesh processing software"; exec = "ccViewer"; terminal = false; - categories = [ "Graphics" "3DGraphics" "Viewer" ]; - keywords = [ "3d" "viewer" ]; + categories = [ + "Graphics" + "3DGraphics" + "Viewer" + ]; + keywords = [ + "3d" + "viewer" + ]; icon = "ccViewer"; }) ]; diff --git a/pkgs/applications/graphics/comical/default.nix b/pkgs/applications/graphics/comical/default.nix index f25259e5ebf40..4fcbd1e98eeb6 100644 --- a/pkgs/applications/graphics/comical/default.nix +++ b/pkgs/applications/graphics/comical/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, hexdump -, wxGTK32 -, zlib -, Cocoa +{ + lib, + stdenv, + fetchurl, + hexdump, + wxGTK32, + zlib, + Cocoa, }: stdenv.mkDerivation rec { @@ -24,12 +25,14 @@ stdenv.mkDerivation rec { hexdump ]; - buildInputs = [ - wxGTK32 - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ]; + buildInputs = + [ + wxGTK32 + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; makeFlags = [ "prefix=${placeholder "out"}" diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix index 99af85a12b8d6..e207d3c68373a 100644 --- a/pkgs/applications/graphics/djview/default.nix +++ b/pkgs/applications/graphics/djview/default.nix @@ -1,23 +1,28 @@ -{ lib, stdenv -, mkDerivation -, fetchurl -, autoconf -, automake -, libtool -, pkg-config -, djvulibre -, qtbase -, qttools -, xorg -, libtiff -, darwin +{ + lib, + stdenv, + mkDerivation, + fetchurl, + autoconf, + automake, + libtool, + pkg-config, + djvulibre, + qtbase, + qttools, + xorg, + libtiff, + darwin, }: mkDerivation rec { pname = "djview"; version = "4.12"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchurl { url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz"; diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix index 2963624aaae17..432ec2db9f7f3 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/applications/graphics/drawio/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeDesktopItem -, copyDesktopItems -, fixup-yarn-lock -, makeWrapper -, autoSignDarwinBinariesHook -, nodejs -, yarn -, electron +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeDesktopItem, + copyDesktopItems, + fixup-yarn-lock, + makeWrapper, + autoSignDarwinBinariesHook, + nodejs, + yarn, + electron, }: stdenv.mkDerivation rec { @@ -34,16 +35,19 @@ stdenv.mkDerivation rec { hash = "sha256-bAvS7AXmmS+yYsEkXxvszlErpZ3J5hVVXxxzYcsVP5Y="; }; - nativeBuildInputs = [ - fixup-yarn-lock - makeWrapper - nodejs - yarn - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - copyDesktopItems - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - autoSignDarwinBinariesHook - ]; + nativeBuildInputs = + [ + fixup-yarn-lock + makeWrapper + nodejs + yarn + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + copyDesktopItems + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + autoSignDarwinBinariesHook + ]; ELECTRON_SKIP_BINARY_DOWNLOAD = true; @@ -59,46 +63,53 @@ stdenv.mkDerivation rec { runHook postConfigure ''; - buildPhase = '' - runHook preBuild - - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - cp -R ${electron.dist}/Electron.app Electron.app - chmod -R u+w Electron.app - export CSC_IDENTITY_AUTO_DISCOVERY=false - sed -i "/afterSign/d" electron-builder-linux-mac.json - '' + '' - yarn --offline run electron-builder --dir \ - ${lib.optionalString stdenv.hostPlatform.isDarwin "--config electron-builder-linux-mac.json"} \ - -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \ - -c.electronVersion=${electron.version} - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/{Applications,bin} - mv dist/mac*/draw.io.app $out/Applications - - # Symlinking `draw.io` doesn't work; seems to look for files in the wrong place. - makeWrapper $out/Applications/draw.io.app/Contents/MacOS/draw.io $out/bin/drawio - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - mkdir -p "$out/share/lib/drawio" - cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/drawio" - - install -Dm644 build/icon.svg "$out/share/icons/hicolor/scalable/apps/drawio.svg" - - makeWrapper '${electron}/bin/electron' "$out/bin/drawio" \ - --add-flags "$out/share/lib/drawio/resources/app.asar" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --inherit-argv0 - '' + '' - - runHook postInstall - ''; + buildPhase = + '' + runHook preBuild + + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp -R ${electron.dist}/Electron.app Electron.app + chmod -R u+w Electron.app + export CSC_IDENTITY_AUTO_DISCOVERY=false + sed -i "/afterSign/d" electron-builder-linux-mac.json + '' + + '' + yarn --offline run electron-builder --dir \ + ${lib.optionalString stdenv.hostPlatform.isDarwin "--config electron-builder-linux-mac.json"} \ + -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else electron.dist} \ + -c.electronVersion=${electron.version} + + runHook postBuild + ''; + + installPhase = + '' + runHook preInstall + + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/{Applications,bin} + mv dist/mac*/draw.io.app $out/Applications + + # Symlinking `draw.io` doesn't work; seems to look for files in the wrong place. + makeWrapper $out/Applications/draw.io.app/Contents/MacOS/draw.io $out/bin/drawio + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + mkdir -p "$out/share/lib/drawio" + cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/drawio" + + install -Dm644 build/icon.svg "$out/share/icons/hicolor/scalable/apps/drawio.svg" + + makeWrapper '${electron}/bin/electron' "$out/bin/drawio" \ + --add-flags "$out/share/lib/drawio/resources/app.asar" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --inherit-argv0 + '' + + '' + + runHook postInstall + ''; desktopItems = [ (makeDesktopItem { @@ -107,7 +118,10 @@ stdenv.mkDerivation rec { icon = "drawio"; desktopName = "drawio"; comment = "draw.io desktop"; - mimeTypes = [ "application/vnd.jgraph.mxfile" "application/vnd.visio" ]; + mimeTypes = [ + "application/vnd.jgraph.mxfile" + "application/vnd.visio" + ]; categories = [ "Graphics" ]; startupWMClass = "draw.io"; }) diff --git a/pkgs/applications/graphics/drawio/headless.nix b/pkgs/applications/graphics/drawio/headless.nix index a287c40c6801d..b7880e791fa61 100644 --- a/pkgs/applications/graphics/drawio/headless.nix +++ b/pkgs/applications/graphics/drawio/headless.nix @@ -1,4 +1,10 @@ -{ lib, writeTextFile, runtimeShell, drawio, xvfb-run }: +{ + lib, + writeTextFile, + runtimeShell, + drawio, + xvfb-run, +}: writeTextFile { name = "${drawio.pname}-headless-${drawio.version}"; @@ -31,7 +37,10 @@ writeTextFile { Runs drawio under xvfb-run, with configuration going to a temporary directory. ''; - maintainers = with maintainers; [ qyliss tfc ]; + maintainers = with maintainers; [ + qyliss + tfc + ]; mainProgram = "drawio"; }; } diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix index ad76e0e92b7cc..b8a9339f5ecf0 100644 --- a/pkgs/applications/graphics/drawpile/default.nix +++ b/pkgs/applications/graphics/drawpile/default.nix @@ -1,45 +1,47 @@ -{ stdenv -, lib -, mkDerivation -, fetchFromGitHub -, cargo -, extra-cmake-modules -, rustc -, rustPlatform +{ + stdenv, + lib, + mkDerivation, + fetchFromGitHub, + cargo, + extra-cmake-modules, + rustc, + rustPlatform, -# common deps -, karchive -, qtwebsockets + # common deps + karchive, + qtwebsockets, -# client deps -, qtbase -, qtkeychain -, qtmultimedia -, qtsvg -, qttools -, libsecret + # client deps + qtbase, + qtkeychain, + qtmultimedia, + qtsvg, + qttools, + libsecret, -# optional client deps -, giflib -, kdnssd -, libvpx -, miniupnpc + # optional client deps + giflib, + kdnssd, + libvpx, + miniupnpc, -# optional server deps -, libmicrohttpd -, libsodium -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd ? null + # optional server deps + libmicrohttpd, + libsodium, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd ? null, -# options -, buildClient ? true -, buildServer ? true -, buildServerGui ? true # if false builds a headless server -, buildExtraTools ? false + # options + buildClient ? true, + buildServer ? true, + buildServerGui ? true, # if false builds a headless server + buildExtraTools ? false, }: -assert lib.assertMsg (buildClient || buildServer || buildExtraTools) - "You must specify at least one of buildClient, buildServer, or buildExtraTools."; +assert lib.assertMsg ( + buildClient || buildServer || buildExtraTools +) "You must specify at least one of buildClient, buildServer, or buildExtraTools."; let clientDeps = [ @@ -62,7 +64,8 @@ let libsodium # ext-auth support ] ++ lib.optional withSystemd systemd; -in mkDerivation rec { +in +mkDerivation rec { pname = "drawpile"; version = "2.2.1"; @@ -85,12 +88,13 @@ in mkDerivation rec { rustPlatform.cargoSetupHook ]; - buildInputs = [ - karchive - qtwebsockets - ] - ++ lib.optionals buildClient clientDeps - ++ lib.optionals buildServer serverDeps; + buildInputs = + [ + karchive + qtwebsockets + ] + ++ lib.optionals buildClient clientDeps + ++ lib.optionals buildServer serverDeps; cmakeFlags = [ (lib.cmakeFeature "INITSYS" (lib.optionalString withSystemd "systemd")) @@ -100,17 +104,20 @@ in mkDerivation rec { (lib.cmakeBool "TOOLS" buildExtraTools) ]; - meta = { - description = "Collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously"; - homepage = "https://drawpile.net/"; - downloadPage = "https://drawpile.net/download/"; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ fgaz ]; - platforms = lib.platforms.unix; - broken = stdenv.hostPlatform.isDarwin; - } // lib.optionalAttrs buildServer { - mainProgram = "drawpile-srv"; - } // lib.optionalAttrs buildClient { - mainProgram = "drawpile"; - }; + meta = + { + description = "Collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously"; + homepage = "https://drawpile.net/"; + downloadPage = "https://drawpile.net/download/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ fgaz ]; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isDarwin; + } + // lib.optionalAttrs buildServer { + mainProgram = "drawpile-srv"; + } + // lib.optionalAttrs buildClient { + mainProgram = "drawpile"; + }; } diff --git a/pkgs/applications/graphics/emulsion/default.nix b/pkgs/applications/graphics/emulsion/default.nix index 0db2a75721ec0..03032dd6074bf 100644 --- a/pkgs/applications/graphics/emulsion/default.nix +++ b/pkgs/applications/graphics/emulsion/default.nix @@ -1,39 +1,42 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, installShellFiles -, makeWrapper -, pkg-config -, python3 -, libGL -, libX11 -, libXcursor -, libXi -, libXrandr -, libXxf86vm -, libxcb -, libxkbcommon -, wayland -, AppKit -, CoreGraphics -, CoreServices -, Foundation -, OpenGL +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + installShellFiles, + makeWrapper, + pkg-config, + python3, + libGL, + libX11, + libXcursor, + libXi, + libXrandr, + libXxf86vm, + libxcb, + libxkbcommon, + wayland, + AppKit, + CoreGraphics, + CoreServices, + Foundation, + OpenGL, }: let - rpathLibs = [ - libGL - libX11 - libXcursor - libXi - libXrandr - libXxf86vm - libxcb - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libxkbcommon - wayland - ]; + rpathLibs = + [ + libGL + libX11 + libXcursor + libXi + libXrandr + libXxf86vm + libxcb + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxkbcommon + wayland + ]; in rustPlatform.buildRustPackage rec { pname = "emulsion"; @@ -55,13 +58,15 @@ rustPlatform.buildRustPackage rec { python3 ]; - buildInputs = rpathLibs ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - CoreGraphics - CoreServices - Foundation - OpenGL - ]; + buildInputs = + rpathLibs + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + CoreGraphics + CoreServices + Foundation + OpenGL + ]; postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/emulsion diff --git a/pkgs/applications/graphics/epick/default.nix b/pkgs/applications/graphics/epick/default.nix index 939232197eeb3..a74e1c0018130 100644 --- a/pkgs/applications/graphics/epick/default.nix +++ b/pkgs/applications/graphics/epick/default.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, pkg-config -, expat -, fontconfig -, freetype -, libGL -, xorg -, AppKit +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + pkg-config, + expat, + fontconfig, + freetype, + libGL, + xorg, + AppKit, }: rustPlatform.buildRustPackage rec { @@ -28,17 +29,19 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - expat - fontconfig - freetype - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXrandr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + expat + fontconfig + freetype + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + ]; postInstall = '' install -Dm444 assets/epick.desktop -t $out/share/applications diff --git a/pkgs/applications/graphics/evilpixie/default.nix b/pkgs/applications/graphics/evilpixie/default.nix index 9c5c7e81c3a76..0c7bb0023cbf1 100644 --- a/pkgs/applications/graphics/evilpixie/default.nix +++ b/pkgs/applications/graphics/evilpixie/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wrapQtAppsHook -, qtbase -, libpng -, giflib -, libjpeg -, impy +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wrapQtAppsHook, + qtbase, + libpng, + giflib, + libjpeg, + impy, }: stdenv.mkDerivation (finalAttrs: { @@ -48,8 +49,10 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.all; # Undefined symbols for architecture x86_64: # "_bundle_path", referenced from: App::SetupPaths() in src_app.cpp.o - broken = stdenv.hostPlatform.isDarwin || - # https://github.com/bcampbell/evilpixie/issues/28 - stdenv.hostPlatform.isAarch64; + broken = + stdenv.hostPlatform.isDarwin + || + # https://github.com/bcampbell/evilpixie/issues/28 + stdenv.hostPlatform.isAarch64; }; }) diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index e7d144579afdf..fcc62660dc0f4 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, xorg -, imlib2 -, libjpeg -, libpng -, curl -, libexif -, jpegexiforient -, perl -, enableAutoreload ? !stdenv.hostPlatform.isDarwin +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + xorg, + imlib2, + libjpeg, + libpng, + curl, + libexif, + jpegexiforient, + perl, + enableAutoreload ? !stdenv.hostPlatform.isDarwin, }: stdenv.mkDerivation (finalAttrs: { @@ -24,21 +25,41 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-FtaFoLjI3HTLAxRTucp5VDYS73UuWqw9r9UWKK6T+og="; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ xorg.libXt xorg.libX11 xorg.libXinerama imlib2 libjpeg libpng curl libexif ]; + buildInputs = [ + xorg.libXt + xorg.libX11 + xorg.libXinerama + imlib2 + libjpeg + libpng + curl + libexif + ]; - makeFlags = [ - "PREFIX=${placeholder "out"}" - "exif=1" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "verscmp=0" - ++ lib.optional enableAutoreload "inotify=1"; + makeFlags = + [ + "PREFIX=${placeholder "out"}" + "exif=1" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "verscmp=0" + ++ lib.optional enableAutoreload "inotify=1"; installTargets = [ "install" ]; postInstall = '' - wrapProgram "$out/bin/feh" --prefix PATH : "${lib.makeBinPath [ libjpeg jpegexiforient ]}" \ + wrapProgram "$out/bin/feh" --prefix PATH : "${ + lib.makeBinPath [ + libjpeg + jpegexiforient + ] + }" \ --add-flags '--theme=feh' ''; @@ -51,7 +72,11 @@ stdenv.mkDerivation (finalAttrs: { # released under a variant of the MIT license # https://spdx.org/licenses/MIT-feh.html license = licenses.mit-feh; - maintainers = with maintainers; [ gepbird globin willibutz ]; + maintainers = with maintainers; [ + gepbird + globin + willibutz + ]; platforms = platforms.unix; mainProgram = "feh"; }; diff --git a/pkgs/applications/graphics/fontmatrix/default.nix b/pkgs/applications/graphics/fontmatrix/default.nix index 6945c3ac3ae42..04f0ff9bf3588 100644 --- a/pkgs/applications/graphics/fontmatrix/default.nix +++ b/pkgs/applications/graphics/fontmatrix/default.nix @@ -1,9 +1,10 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, qttools -, qtwebkit +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + qttools, + qtwebkit, }: mkDerivation rec { @@ -17,7 +18,10 @@ mkDerivation rec { sha256 = "sha256-DtajGhx79DiecglXHja9q/TKVq8Jl2faQdA5Ib/yT88="; }; - buildInputs = [ qttools qtwebkit ]; + buildInputs = [ + qttools + qtwebkit + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/graphics/foxotron/default.nix b/pkgs/applications/graphics/foxotron/default.nix index 1ccbc136c7c9c..f25c1064a7acc 100644 --- a/pkgs/applications/graphics/foxotron/default.nix +++ b/pkgs/applications/graphics/foxotron/default.nix @@ -1,27 +1,28 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, nix-update-script -, cmake -, pkg-config -, makeWrapper -, zlib -, libX11 -, libXrandr -, libXinerama -, libXcursor -, libXi -, libXext -, libGLU -, alsa-lib -, fontconfig -, AVFoundation -, Carbon -, Cocoa -, CoreAudio -, Kernel -, OpenGL +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + nix-update-script, + cmake, + pkg-config, + makeWrapper, + zlib, + libX11, + libXrandr, + libXinerama, + libXcursor, + libXi, + libXext, + libGLU, + alsa-lib, + fontconfig, + AVFoundation, + Carbon, + Cocoa, + CoreAudio, + Kernel, + OpenGL, }: stdenv.mkDerivation rec { @@ -56,11 +57,33 @@ stdenv.mkDerivation rec { --replace 'TARGET_COMPILE_OPTIONS(assimp PRIVATE -Werror)' "" ''; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; - buildInputs = [ zlib ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 libXrandr libXinerama libXcursor libXi libXext alsa-lib fontconfig libGLU ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AVFoundation Carbon Cocoa CoreAudio Kernel OpenGL ]; + buildInputs = + [ zlib ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libXrandr + libXinerama + libXcursor + libXi + libXext + alsa-lib + fontconfig + libGLU + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AVFoundation + Carbon + Cocoa + CoreAudio + Kernel + OpenGL + ]; env.NIX_CFLAGS_COMPILE = toString [ # Needed with GCC 12 diff --git a/pkgs/applications/graphics/fstl/default.nix b/pkgs/applications/graphics/fstl/default.nix index f902776fb58b3..68f55c84c5712 100644 --- a/pkgs/applications/graphics/fstl/default.nix +++ b/pkgs/applications/graphics/fstl/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, mkDerivation, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + mkDerivation, + cmake, +}: mkDerivation rec { pname = "fstl"; diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index e71cefc6ce06c..9258defc289d5 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -1,65 +1,70 @@ -{ stdenv -, lib -, fetchurl -, substituteAll -, autoreconfHook -, pkg-config -, intltool -, babl -, gegl -, gtk2 -, glib -, gdk-pixbuf -, isocodes -, pango -, cairo -, freetype -, fontconfig -, lcms -, libpng -, libjpeg -, libjxl -, poppler -, poppler_data -, libtiff -, libmng -, librsvg -, libwmf -, zlib -, libzip -, ghostscript -, aalib -, shared-mime-info -, libexif -, gettext -, makeWrapper -, gtk-doc -, xorg -, glib-networking -, libmypaint -, gexiv2 -, harfbuzz -, mypaint-brushes1 -, libwebp -, libheif -, libxslt -, libgudev -, openexr -, desktopToDarwinBundle -, AppKit -, Cocoa -, gtk-mac-integration-gtk2 -, withPython ? false -, python2 +{ + stdenv, + lib, + fetchurl, + substituteAll, + autoreconfHook, + pkg-config, + intltool, + babl, + gegl, + gtk2, + glib, + gdk-pixbuf, + isocodes, + pango, + cairo, + freetype, + fontconfig, + lcms, + libpng, + libjpeg, + libjxl, + poppler, + poppler_data, + libtiff, + libmng, + librsvg, + libwmf, + zlib, + libzip, + ghostscript, + aalib, + shared-mime-info, + libexif, + gettext, + makeWrapper, + gtk-doc, + xorg, + glib-networking, + libmypaint, + gexiv2, + harfbuzz, + mypaint-brushes1, + libwebp, + libheif, + libxslt, + libgudev, + openexr, + desktopToDarwinBundle, + AppKit, + Cocoa, + gtk-mac-integration-gtk2, + withPython ? false, + python2, }: let python = python2.withPackages (pp: [ pp.pygtk ]); -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "gimp"; version = "2.10.38"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor finalAttrs.version}/gimp-${finalAttrs.version}.tar.bz2"; @@ -87,81 +92,89 @@ in stdenv.mkDerivation (finalAttrs: { ./force-enable-libheif.patch ]; - nativeBuildInputs = [ - autoreconfHook # hardcode-plugin-interpreters.patch changes Makefile.am - pkg-config - intltool - gettext - makeWrapper - gtk-doc - libxslt - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - desktopToDarwinBundle - ]; - - buildInputs = [ - babl - gegl - gtk2 - glib - gdk-pixbuf - pango - cairo - gexiv2 - harfbuzz - isocodes - freetype - fontconfig - lcms - libpng - libjpeg - libjxl - poppler - poppler_data - libtiff - openexr - libmng - librsvg - libwmf - zlib - libzip - ghostscript - aalib - shared-mime-info - libwebp - libheif - libexif - xorg.libXpm - glib-networking - libmypaint - mypaint-brushes1 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Cocoa - gtk-mac-integration-gtk2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libgudev - ] ++ lib.optionals withPython [ - python - # Duplicated here because python.withPackages does not expose the dev output with pkg-config files - python2.pkgs.pygtk - ]; + nativeBuildInputs = + [ + autoreconfHook # hardcode-plugin-interpreters.patch changes Makefile.am + pkg-config + intltool + gettext + makeWrapper + gtk-doc + libxslt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + desktopToDarwinBundle + ]; + + buildInputs = + [ + babl + gegl + gtk2 + glib + gdk-pixbuf + pango + cairo + gexiv2 + harfbuzz + isocodes + freetype + fontconfig + lcms + libpng + libjpeg + libjxl + poppler + poppler_data + libtiff + openexr + libmng + librsvg + libwmf + zlib + libzip + ghostscript + aalib + shared-mime-info + libwebp + libheif + libexif + xorg.libXpm + glib-networking + libmypaint + mypaint-brushes1 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Cocoa + gtk-mac-integration-gtk2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libgudev + ] + ++ lib.optionals withPython [ + python + # Duplicated here because python.withPackages does not expose the dev output with pkg-config files + python2.pkgs.pygtk + ]; # needed by gimp-2.0.pc propagatedBuildInputs = [ gegl ]; - configureFlags = [ - "--without-webkit" # old version is required - "--disable-check-update" - "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new" - "--with-icc-directory=/run/current-system/sw/share/color/icc" - # fix libdir in pc files (${exec_prefix} needs to be passed verbatim) - "--libdir=\${exec_prefix}/lib" - ] ++ lib.optionals (!withPython) [ - "--disable-python" # depends on Python2 which was EOLed on 2020-01-01 - ]; + configureFlags = + [ + "--without-webkit" # old version is required + "--disable-check-update" + "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new" + "--with-icc-directory=/run/current-system/sw/share/color/icc" + # fix libdir in pc files (${exec_prefix} needs to be passed verbatim) + "--libdir=\${exec_prefix}/lib" + ] + ++ lib.optionals (!withPython) [ + "--disable-python" # depends on Python2 which was EOLed on 2020-01-01 + ]; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 04721df9197f9..bf30838cc12b0 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -5,370 +5,410 @@ { lib, pkgs }: let - inherit (pkgs) stdenv fetchurl fetchpatch fetchpatch2 pkg-config intltool glib fetchFromGitHub fetchFromGitLab; + inherit (pkgs) + stdenv + fetchurl + fetchpatch + fetchpatch2 + pkg-config + intltool + glib + fetchFromGitHub + fetchFromGitLab + ; in -lib.makeScope pkgs.newScope (self: - -let - # Use GIMP from the scope. - inherit (self) gimp; - - pluginDerivation = attrs: let - name = attrs.name or "${attrs.pname}-${attrs.version}"; - in stdenv.mkDerivation ({ - prePhases = [ "extraLib" ]; - extraLib = '' - installScripts(){ - mkdir -p $out/${gimp.targetScriptDir}/${name}; - for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done - } - installPlugin() { - # The base name of the first argument is the plug-in name and the main executable. - # GIMP only allows a single plug-in per directory: - # https://gitlab.gnome.org/GNOME/gimp/-/commit/efae55a73e98389e38fa0e59ebebcda0abe3ee96 - pluginDir=$out/${gimp.targetPluginDir}/$(basename "$1") - install -Dt "$pluginDir" "$@" - } - ''; - } - // attrs - // { - name = "${gimp.pname}-plugin-${name}"; - buildInputs = [ - gimp - gimp.gtk - glib - ] ++ (attrs.buildInputs or []); - - nativeBuildInputs = [ - pkg-config - intltool - ] ++ (attrs.nativeBuildInputs or []); - - # Override installation paths. - env = { - PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}"; - PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}"; - } // attrs.env or { }; - }); - - scriptDerivation = {src, ...}@attrs : pluginDerivation ({ - prePhases = [ "extraLib" ]; - dontUnpack = true; - installPhase = '' - runHook preInstall - installScripts ${src} - runHook postInstall - ''; - } // attrs); -in -{ - # Allow overriding GIMP package in the scope. - inherit (pkgs) gimp; - - bimp = pluginDerivation rec { - /* menu: - File/Batch Image Manipulation... - */ - pname = "bimp"; - version = "2.6"; - - src = fetchFromGitHub { - owner = "alessandrofrancesconi"; - repo = "gimp-plugin-bimp"; - rev = "v${version}"; - hash = "sha256-IJ3+/9UwxJTRo0hUdzlOndOHwso1wGv7Q4UuhbsFkco="; - }; +lib.makeScope pkgs.newScope ( + self: + + let + # Use GIMP from the scope. + inherit (self) gimp; + + pluginDerivation = + attrs: + let + name = attrs.name or "${attrs.pname}-${attrs.version}"; + in + stdenv.mkDerivation ( + { + prePhases = [ "extraLib" ]; + extraLib = '' + installScripts(){ + mkdir -p $out/${gimp.targetScriptDir}/${name}; + for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done + } + installPlugin() { + # The base name of the first argument is the plug-in name and the main executable. + # GIMP only allows a single plug-in per directory: + # https://gitlab.gnome.org/GNOME/gimp/-/commit/efae55a73e98389e38fa0e59ebebcda0abe3ee96 + pluginDir=$out/${gimp.targetPluginDir}/$(basename "$1") + install -Dt "$pluginDir" "$@" + } + ''; + } + // attrs + // { + name = "${gimp.pname}-plugin-${name}"; + buildInputs = [ + gimp + gimp.gtk + glib + ] ++ (attrs.buildInputs or [ ]); + + nativeBuildInputs = [ + pkg-config + intltool + ] ++ (attrs.nativeBuildInputs or [ ]); + + # Override installation paths. + env = { + PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}"; + PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}"; + } // attrs.env or { }; + } + ); + + scriptDerivation = + { src, ... }@attrs: + pluginDerivation ( + { + prePhases = [ "extraLib" ]; + dontUnpack = true; + installPhase = '' + runHook preInstall + installScripts ${src} + runHook postInstall + ''; + } + // attrs + ); + in + { + # Allow overriding GIMP package in the scope. + inherit (pkgs) gimp; + + bimp = pluginDerivation rec { + /* + menu: + File/Batch Image Manipulation... + */ + pname = "bimp"; + version = "2.6"; + + src = fetchFromGitHub { + owner = "alessandrofrancesconi"; + repo = "gimp-plugin-bimp"; + rev = "v${version}"; + hash = "sha256-IJ3+/9UwxJTRo0hUdzlOndOHwso1wGv7Q4UuhbsFkco="; + }; - patches = [ - # Allow overriding installation path - # https://github.com/alessandrofrancesconi/gimp-plugin-bimp/pull/311 - (fetchpatch { - url = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp/commit/098edb5f70a151a3f377478fd6e0d08ed56b8ef7.patch"; - sha256 = "2Afx9fmdn6ztbsll2f2j7mfffMWYWyr4BuBy9ySV6vM="; - }) - ]; - - postPatch = '' - substituteInPlace Makefile \ - --replace-fail "gcc" "${stdenv.cc.targetPrefix}cc" - ''; - - nativeBuildInputs = with pkgs; [ which ]; - - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=incompatible-function-pointer-types" - ]); - - installFlags = [ - "SYSTEM_INSTALL_DIR=${placeholder "out"}/${gimp.targetPluginDir}/bimp" - ]; - - installTargets = [ "install-admin" ]; - - meta = with lib; { - description = "Batch Image Manipulation Plugin for GIMP"; - homepage = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp"; - license = licenses.gpl2Plus; - maintainers = [ ]; - }; - }; - - gap = pluginDerivation { - /* menu: - Video - */ - pname = "gap"; - version = "2.6.0-unstable-2023-05-20"; - - src = fetchFromGitLab { - domain = "gitlab.gnome.org"; - owner = "Archive"; - repo = "gimp-gap"; - rev = "b2aa06cc7ee4ae1938f14640fe46b75ef5b15982"; - hash = "sha256-q5TgCy0+iIfxyqJRXsKxiFrWMFSzBqC0SA9MBGTHXcA="; + patches = [ + # Allow overriding installation path + # https://github.com/alessandrofrancesconi/gimp-plugin-bimp/pull/311 + (fetchpatch { + url = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp/commit/098edb5f70a151a3f377478fd6e0d08ed56b8ef7.patch"; + sha256 = "2Afx9fmdn6ztbsll2f2j7mfffMWYWyr4BuBy9ySV6vM="; + }) + ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail "gcc" "${stdenv.cc.targetPrefix}cc" + ''; + + nativeBuildInputs = with pkgs; [ which ]; + + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); + + installFlags = [ + "SYSTEM_INSTALL_DIR=${placeholder "out"}/${gimp.targetPluginDir}/bimp" + ]; + + installTargets = [ "install-admin" ]; + + meta = with lib; { + description = "Batch Image Manipulation Plugin for GIMP"; + homepage = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp"; + license = licenses.gpl2Plus; + maintainers = [ ]; + }; }; - nativeBuildInputs = with pkgs; [autoreconfHook]; + gap = pluginDerivation { + /* + menu: + Video + */ + pname = "gap"; + version = "2.6.0-unstable-2023-05-20"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "Archive"; + repo = "gimp-gap"; + rev = "b2aa06cc7ee4ae1938f14640fe46b75ef5b15982"; + hash = "sha256-q5TgCy0+iIfxyqJRXsKxiFrWMFSzBqC0SA9MBGTHXcA="; + }; - postUnpack = '' - tar -xf $sourceRoot/extern_libs/ffmpeg.tar.gz -C $sourceRoot/extern_libs - ''; + nativeBuildInputs = with pkgs; [ autoreconfHook ]; + + postUnpack = '' + tar -xf $sourceRoot/extern_libs/ffmpeg.tar.gz -C $sourceRoot/extern_libs + ''; + + postPatch = + let + ffmpegPatch = fetchpatch2 { + name = "fix-ffmpeg-binutil-2.41.patch"; + url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb"; + hash = "sha256-vLSltvZVMcQ0CnkU0A29x6fJSywE8/aU+Mp9os8DZYY="; + }; + in + '' + patch -Np1 -i ${ffmpegPatch} -d extern_libs/ffmpeg + ffmpegSrc=$(realpath extern_libs/ffmpeg) + ''; + + configureFlags = + [ + "--with-ffmpegsrcdir=${placeholder "ffmpegSrc"}" + ] + ++ lib.optionals (!stdenv.hostPlatform.isx86) [ + "--disable-libavformat" + ]; + + hardeningDisable = [ "format" ]; + + env = { + NIX_LDFLAGS = "-lm"; + }; - postPatch = let - ffmpegPatch = fetchpatch2 { - name = "fix-ffmpeg-binutil-2.41.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb"; - hash = "sha256-vLSltvZVMcQ0CnkU0A29x6fJSywE8/aU+Mp9os8DZYY="; + meta = with lib; { + description = "GIMP Animation Package"; + homepage = "https://www.gimp.org"; + # The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license + # falls inside "free". + license = with licenses; [ + gpl3 + free + ]; + # Depends on linux/soundcard.h + platforms = platforms.linux; }; - in '' - patch -Np1 -i ${ffmpegPatch} -d extern_libs/ffmpeg - ffmpegSrc=$(realpath extern_libs/ffmpeg) - ''; + }; - configureFlags = [ - "--with-ffmpegsrcdir=${placeholder "ffmpegSrc"}" - ] ++ lib.optionals (!stdenv.hostPlatform.isx86) [ - "--disable-libavformat" - ]; + farbfeld = pluginDerivation { + pname = "farbfeld"; + version = "unstable-2019-08-12"; - hardeningDisable = [ "format" ]; + src = fetchFromGitHub { + owner = "ids1024"; + repo = "gimp-farbfeld"; + rev = "5feacebf61448bd3c550dda03cd08130fddc5af4"; + sha256 = "1vmw7k773vrndmfffj0m503digdjmkpcqy2r3p3i5x0qw9vkkkc6"; + }; - env = { - NIX_LDFLAGS = "-lm"; - }; + installPhase = '' + installPlugin farbfeld + ''; - meta = with lib; { - description = "GIMP Animation Package"; - homepage = "https://www.gimp.org"; - # The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license - # falls inside "free". - license = with licenses; [ gpl3 free ]; - # Depends on linux/soundcard.h - platforms = platforms.linux; + meta = { + description = "Gimp plug-in for the farbfeld image format"; + homepage = "https://github.com/ids1024/gimp-farbfeld"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ sikmir ]; + }; }; - }; - farbfeld = pluginDerivation { - pname = "farbfeld"; - version = "unstable-2019-08-12"; - - src = fetchFromGitHub { - owner = "ids1024"; - repo = "gimp-farbfeld"; - rev = "5feacebf61448bd3c550dda03cd08130fddc5af4"; - sha256 = "1vmw7k773vrndmfffj0m503digdjmkpcqy2r3p3i5x0qw9vkkkc6"; - }; + fourier = pluginDerivation rec { + /* + menu: + Filters/Generic/FFT Forward + Filters/Generic/FFT Inverse + */ + pname = "fourier"; + version = "0.4.3"; + + src = fetchurl { + url = "https://www.lprp.fr/files/old-web/soft/gimp/${pname}-${version}.tar.gz"; + sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn"; + }; - installPhase = '' - installPlugin farbfeld - ''; + buildInputs = with pkgs; [ fftw ]; - meta = { - description = "Gimp plug-in for the farbfeld image format"; - homepage = "https://github.com/ids1024/gimp-farbfeld"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ sikmir ]; - }; - }; - - fourier = pluginDerivation rec { - /* menu: - Filters/Generic/FFT Forward - Filters/Generic/FFT Inverse - */ - pname = "fourier"; - version = "0.4.3"; - - src = fetchurl { - url = "https://www.lprp.fr/files/old-web/soft/gimp/${pname}-${version}.tar.gz"; - sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn"; - }; + postPatch = '' + substituteInPlace Makefile --replace '$(GCC)' '$(CC)' - buildInputs = with pkgs; [ fftw ]; + # The tarball contains a prebuilt binary. + make clean + ''; - postPatch = '' - substituteInPlace Makefile --replace '$(GCC)' '$(CC)' + installPhase = '' + runHook preInstall - # The tarball contains a prebuilt binary. - make clean - ''; + installPlugin fourier - installPhase = '' - runHook preInstall + runHook postInstall + ''; - installPlugin fourier + meta = with lib; { + description = "GIMP plug-in to do the fourier transform"; + homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier"; + license = with licenses; [ gpl3Plus ]; + }; + }; - runHook postInstall - ''; + resynthesizer = pluginDerivation rec { + /* + menu: + Edit/Fill with pattern seamless... + Filters/Enhance/Heal selection... + Filters/Enhance/Heal transparency... + Filters/Enhance/Sharpen by synthesis... + Filters/Enhance/Uncrop... + Filters/Map/Style... + Filters/Render/Texture... + */ + pname = "resynthesizer"; + version = "2.0.3"; + buildInputs = with pkgs; [ fftw ]; + nativeBuildInputs = with pkgs; [ autoreconfHook ]; + makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ]; + src = fetchFromGitHub { + owner = "bootchk"; + repo = "resynthesizer"; + rev = "v${version}"; + sha256 = "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j"; + }; - meta = with lib; { - description = "GIMP plug-in to do the fourier transform"; - homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier"; - license = with licenses; [ gpl3Plus ]; - }; - }; - - resynthesizer = pluginDerivation rec { - /* menu: - Edit/Fill with pattern seamless... - Filters/Enhance/Heal selection... - Filters/Enhance/Heal transparency... - Filters/Enhance/Sharpen by synthesis... - Filters/Enhance/Uncrop... - Filters/Map/Style... - Filters/Render/Texture... - */ - pname = "resynthesizer"; - version = "2.0.3"; - buildInputs = with pkgs; [ fftw ]; - nativeBuildInputs = with pkgs; [ autoreconfHook ]; - makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ]; - src = fetchFromGitHub { - owner = "bootchk"; - repo = "resynthesizer"; - rev = "v${version}"; - sha256 = "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j"; + meta = { + broken = !gimp.python2Support; + }; }; - meta = { - broken = !gimp.python2Support; - }; - }; - - texturize = pluginDerivation { - pname = "texturize"; - version = "2.2+unstable=2021-12-03"; - src = fetchFromGitHub { - owner = "lmanul"; - repo = "gimp-texturize"; - rev = "9ceff0d411cda018108e5477320669b8d00d811e"; - sha256 = "haYS0K3oAPlHtHB8phOCX5/gtWq9uiVQhG5ZhAFX0t0="; - }; - nativeBuildInputs = with pkgs; [ - meson - ninja - gettext - ]; - }; - - waveletSharpen = pluginDerivation { - /* menu: - Filters/Enhance/Wavelet sharpen - */ - pname = "wavelet-sharpen"; - version = "0.1.2"; - - src = fetchurl { - url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz"; - sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw"; + texturize = pluginDerivation { + pname = "texturize"; + version = "2.2+unstable=2021-12-03"; + src = fetchFromGitHub { + owner = "lmanul"; + repo = "gimp-texturize"; + rev = "9ceff0d411cda018108e5477320669b8d00d811e"; + sha256 = "haYS0K3oAPlHtHB8phOCX5/gtWq9uiVQhG5ZhAFX0t0="; + }; + nativeBuildInputs = with pkgs; [ + meson + ninja + gettext + ]; }; - env = { - # Workaround build failure on -fno-common toolchains like upstream - # gcc-10. Otherwise build fails as: - # ld: interface.o:(.bss+0xe0): multiple definition of `fimg'; plugin.o:(.bss+0x40): first defined here - NIX_CFLAGS_COMPILE = "-fcommon"; - NIX_LDFLAGS = "-lm"; + waveletSharpen = pluginDerivation { + /* + menu: + Filters/Enhance/Wavelet sharpen + */ + pname = "wavelet-sharpen"; + version = "0.1.2"; + + src = fetchurl { + url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz"; + sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw"; + }; + + env = { + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: interface.o:(.bss+0xe0): multiple definition of `fimg'; plugin.o:(.bss+0x40): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + NIX_LDFLAGS = "-lm"; + }; + + installPhase = "installPlugin src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix? }; - installPhase = "installPlugin src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix? - }; - - lqrPlugin = pluginDerivation rec { - /* menu: - Layer/Liquid Rescale - */ - pname = "lqr-plugin"; - version = "0.7.2"; - buildInputs = with pkgs; [ liblqr1 ]; - src = fetchFromGitHub { - owner = "carlobaldassi"; - repo = "gimp-lqr-plugin"; - rev = "v${version}"; - sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo="; + lqrPlugin = pluginDerivation rec { + /* + menu: + Layer/Liquid Rescale + */ + pname = "lqr-plugin"; + version = "0.7.2"; + buildInputs = with pkgs; [ liblqr1 ]; + src = fetchFromGitHub { + owner = "carlobaldassi"; + repo = "gimp-lqr-plugin"; + rev = "v${version}"; + sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo="; + }; + patches = [ + # Pull upstream fix for -fno-common toolchain support: + # https://github.com/carlobaldassi/gimp-lqr-plugin/pull/6 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/carlobaldassi/gimp-lqr-plugin/commit/ae3464a82e1395fc577cc94999bdc7c4a7bb35f1.patch"; + sha256 = "EdjZWM6U1bhUmsOnLA8iJ4SFKuAXHIfNPzxZqel+JrY="; + }) + ]; }; - patches = [ - # Pull upstream fix for -fno-common toolchain support: - # https://github.com/carlobaldassi/gimp-lqr-plugin/pull/6 - (fetchpatch { - name = "fno-common.patch"; - url = "https://github.com/carlobaldassi/gimp-lqr-plugin/commit/ae3464a82e1395fc577cc94999bdc7c4a7bb35f1.patch"; - sha256 = "EdjZWM6U1bhUmsOnLA8iJ4SFKuAXHIfNPzxZqel+JrY="; - }) - ]; - }; - - gmic = pkgs.gmic-qt.override { - variant = "gimp"; - }; - - gimplensfun = pluginDerivation { - version = "unstable-2018-10-21"; - pname = "gimplensfun"; - - src = fetchFromGitHub { - owner = "seebk"; - repo = "GIMP-Lensfun"; - rev = "1c5a5c1534b5faf098b7441f8840d22835592f17"; - sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w"; + + gmic = pkgs.gmic-qt.override { + variant = "gimp"; }; - buildInputs = with pkgs; [ lensfun gexiv2 ]; + gimplensfun = pluginDerivation { + version = "unstable-2018-10-21"; + pname = "gimplensfun"; + + src = fetchFromGitHub { + owner = "seebk"; + repo = "GIMP-Lensfun"; + rev = "1c5a5c1534b5faf098b7441f8840d22835592f17"; + sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w"; + }; + + buildInputs = with pkgs; [ + lensfun + gexiv2 + ]; - installPhase = " + installPhase = " installPlugin gimp-lensfun "; - meta = { - description = "GIMP plugin to correct lens distortion using the lensfun library and database"; + meta = { + description = "GIMP plugin to correct lens distortion using the lensfun library and database"; - homepage = "http://lensfun.sebastiankraft.net/"; + homepage = "http://lensfun.sebastiankraft.net/"; - license = lib.licenses.gpl3Plus; - maintainers = [ ]; - platforms = lib.platforms.gnu ++ lib.platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = [ ]; + platforms = lib.platforms.gnu ++ lib.platforms.linux; + }; }; - }; - /* =============== simple script files ==================== */ + # =============== simple script files ==================== - # also have a look at enblend-enfuse in all-packages.nix - exposureBlend = scriptDerivation { - name = "exposure-blend"; - src = fetchurl { - url = "http://tir.astro.utoledo.edu/jdsmith/code/eb/exposure-blend.scm"; - sha256 = "1b6c9wzpklqras4wwsyw3y3jp6fjmhnnskqiwm5sabs8djknfxla"; + # also have a look at enblend-enfuse in all-packages.nix + exposureBlend = scriptDerivation { + name = "exposure-blend"; + src = fetchurl { + url = "http://tir.astro.utoledo.edu/jdsmith/code/eb/exposure-blend.scm"; + sha256 = "1b6c9wzpklqras4wwsyw3y3jp6fjmhnnskqiwm5sabs8djknfxla"; + }; + meta.broken = true; }; - meta.broken = true; - }; - - lightning = scriptDerivation { - name = "Lightning"; - src = fetchurl { - url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm"; - sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49"; + + lightning = scriptDerivation { + name = "Lightning"; + src = fetchurl { + url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm"; + sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49"; + }; }; - }; -}) + } +) diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix index f2400aca0fd1f..82ff058ba7dc0 100644 --- a/pkgs/applications/graphics/gimp/wrapper.nix +++ b/pkgs/applications/graphics/gimp/wrapper.nix @@ -1,13 +1,23 @@ -{ lib, symlinkJoin, makeWrapper, gimpPlugins, gnome-themes-extra, plugins ? null}: +{ + lib, + symlinkJoin, + makeWrapper, + gimpPlugins, + gnome-themes-extra, + plugins ? null, +}: let -inherit (gimpPlugins) gimp; -allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins); -selectedPlugins = lib.filter (pkg: pkg != gimp) (if plugins == null then allPlugins else plugins); -extraArgs = map (x: x.wrapArgs or "") selectedPlugins; -versionBranch = lib.versions.majorMinor gimp.version; + inherit (gimpPlugins) gimp; + allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) ( + lib.attrValues gimpPlugins + ); + selectedPlugins = lib.filter (pkg: pkg != gimp) (if plugins == null then allPlugins else plugins); + extraArgs = map (x: x.wrapArgs or "") selectedPlugins; + versionBranch = lib.versions.majorMinor gimp.version; -in symlinkJoin { +in +symlinkJoin { name = "gimp-with-plugins-${gimp.version}"; paths = [ gimp ] ++ selectedPlugins; diff --git a/pkgs/applications/graphics/glabels-qt/default.nix b/pkgs/applications/graphics/glabels-qt/default.nix index 5715241fb7578..6865060f2fc24 100644 --- a/pkgs/applications/graphics/glabels-qt/default.nix +++ b/pkgs/applications/graphics/glabels-qt/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, cmake -, mkDerivation -, qttools +{ + lib, + fetchFromGitHub, + cmake, + mkDerivation, + qttools, }: mkDerivation { diff --git a/pkgs/applications/graphics/gnome-obfuscate/default.nix b/pkgs/applications/graphics/gnome-obfuscate/default.nix index db173f58b54e6..8d8f5e37fb2df 100644 --- a/pkgs/applications/graphics/gnome-obfuscate/default.nix +++ b/pkgs/applications/graphics/gnome-obfuscate/default.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitLab -, buildPackages -, cargo -, gettext -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils -, glib -, gtk4 -, gdk-pixbuf -, libadwaita -, Foundation +{ + stdenv, + lib, + fetchFromGitLab, + buildPackages, + cargo, + gettext, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, + glib, + gtk4, + gdk-pixbuf, + libadwaita, + Foundation, }: stdenv.mkDerivation (finalAttrs: { @@ -58,14 +59,16 @@ stdenv.mkDerivation (finalAttrs: { desktop-file-utils ]; - buildInputs = [ - glib - gtk4 - gdk-pixbuf - libadwaita - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Foundation - ]; + buildInputs = + [ + glib + gtk4 + gdk-pixbuf + libadwaita + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + ]; meta = with lib; { description = "Censor private information"; diff --git a/pkgs/applications/graphics/hdrmerge/default.nix b/pkgs/applications/graphics/hdrmerge/default.nix index ba0d25ac112d4..1c8eb72562685 100644 --- a/pkgs/applications/graphics/hdrmerge/default.nix +++ b/pkgs/applications/graphics/hdrmerge/default.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation -, fetchpatch -, fetchFromGitHub -, cmake -, qtbase -, wrapQtAppsHook -, libraw -, exiv2 -, zlib -, alglib -, pkg-config -, makeDesktopItem -, copyDesktopItems +{ + lib, + mkDerivation, + fetchpatch, + fetchFromGitHub, + cmake, + qtbase, + wrapQtAppsHook, + libraw, + exiv2, + zlib, + alglib, + pkg-config, + makeDesktopItem, + copyDesktopItems, }: mkDerivation rec { @@ -31,7 +32,13 @@ mkDerivation rec { copyDesktopItems ]; - buildInputs = [ qtbase libraw exiv2 zlib alglib ]; + buildInputs = [ + qtbase + libraw + exiv2 + zlib + alglib + ]; cmakeFlags = [ "-DALGLIB_DIR:PATH=${alglib}" @@ -51,7 +58,10 @@ mkDerivation rec { icon = "hdrmerge"; exec = "hdrmerge %F"; categories = [ "Graphics" ]; - mimeTypes = [ "image/x-dcraw" "image/x-adobe-dng" ]; + mimeTypes = [ + "image/x-dcraw" + "image/x-adobe-dng" + ]; terminal = false; }) ]; diff --git a/pkgs/applications/graphics/image_optim/default.nix b/pkgs/applications/graphics/image_optim/default.nix index feceb00c31e84..cf3f813906c61 100644 --- a/pkgs/applications/graphics/image_optim/default.nix +++ b/pkgs/applications/graphics/image_optim/default.nix @@ -1,20 +1,37 @@ -{ lib, bundlerApp, bundlerUpdateScript, makeWrapper, - withPngcrush ? true, pngcrush, - withPngout ? false, pngout, # disabled by default because it's unfree - withAdvpng ? true, advancecomp, - withOptipng ? true, optipng, - withPngquant ? true, pngquant, - withOxipng ? true, oxipng, - withJhead ? true, jhead, - withJpegoptim ? true, jpegoptim, - withJpegrecompress ? true, jpeg-archive, - withJpegtran ? true, libjpeg, - withGifsicle ? true, gifsicle, - withSvgo ? true, svgo +{ + lib, + bundlerApp, + bundlerUpdateScript, + makeWrapper, + withPngcrush ? true, + pngcrush, + withPngout ? false, + pngout, # disabled by default because it's unfree + withAdvpng ? true, + advancecomp, + withOptipng ? true, + optipng, + withPngquant ? true, + pngquant, + withOxipng ? true, + oxipng, + withJhead ? true, + jhead, + withJpegoptim ? true, + jpegoptim, + withJpegrecompress ? true, + jpeg-archive, + withJpegtran ? true, + libjpeg, + withGifsicle ? true, + gifsicle, + withSvgo ? true, + svgo, }: let - optionalDepsPath = lib.optional withPngcrush pngcrush + optionalDepsPath = + lib.optional withPngcrush pngcrush ++ lib.optional withPngout pngout ++ lib.optional withAdvpng advancecomp ++ lib.optional withOptipng optipng @@ -27,7 +44,8 @@ let ++ lib.optional withGifsicle gifsicle ++ lib.optional withSvgo svgo; - disabledWorkersFlags = lib.optional (!withPngcrush) "--no-pngcrush" + disabledWorkersFlags = + lib.optional (!withPngcrush) "--no-pngcrush" ++ lib.optional (!withPngout) "--no-pngout" ++ lib.optional (!withAdvpng) "--no-advpng" ++ lib.optional (!withOptipng) "--no-optipng" @@ -67,7 +85,10 @@ bundlerApp { ''; homepage = "https://github.com/toy/image_optim"; license = licenses.mit; - maintainers = with maintainers; [ srghma nicknovitski ]; + maintainers = with maintainers; [ + srghma + nicknovitski + ]; platforms = platforms.all; mainProgram = "image_optim"; }; diff --git a/pkgs/applications/graphics/image_optim/gemset.nix b/pkgs/applications/graphics/image_optim/gemset.nix index b9de8acc28d16..10c909a92080f 100644 --- a/pkgs/applications/graphics/image_optim/gemset.nix +++ b/pkgs/applications/graphics/image_optim/gemset.nix @@ -1,60 +1,66 @@ { exifr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08fmmswa9fwymwsa2gzlm856ak3y9kjxdzm4zdrcrfyxs2p8yqwc"; type = "gem"; }; version = "1.3.10"; }; fspath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xcxikkrjv8ws328nn5ax5pyfjs8pn7djg1hks7qyb3yp6prpb5m"; type = "gem"; }; version = "3.1.2"; }; image_optim = { - dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "exifr" + "fspath" + "image_size" + "in_threads" + "progress" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02iw1plldayr1l8bdw2gshq0h083h0fxwji1m1nfhzikz917c07p"; type = "gem"; }; version = "0.31.3"; }; image_size = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10slvvyam8gkdjzlhb3wb21hp46ay18miyh1advwvyny660rmdsb"; type = "gem"; }; version = "3.2.0"; }; in_threads = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j9132d4g8prjafgdh4pw948j527kr09m2lvylrcd797il9yd9wi"; type = "gem"; }; version = "1.6.0"; }; progress = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wymdk40cwrqn32gwg1kw94s5p1n0z3n7ma7x1s62gd4vw3d63in"; type = "gem"; }; diff --git a/pkgs/applications/graphics/imgp/default.nix b/pkgs/applications/graphics/imgp/default.nix index bb2334222fb7c..3855d3e16ba5f 100644 --- a/pkgs/applications/graphics/imgp/default.nix +++ b/pkgs/applications/graphics/imgp/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildPythonApplication, pythonOlder, pillow }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + pythonOlder, + pillow, +}: buildPythonApplication rec { pname = "imgp"; diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix index 7fac0a0d386c9..81976a3160c94 100644 --- a/pkgs/applications/graphics/imlibsetroot/default.nix +++ b/pkgs/applications/graphics/imlibsetroot/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libX11, libXinerama, imlib2 }: +{ + lib, + stdenv, + fetchurl, + libX11, + libXinerama, + imlib2, +}: stdenv.mkDerivation { pname = "imlibsetroot"; @@ -8,7 +15,11 @@ stdenv.mkDerivation { sha256 = "8c1b3b7c861e4d865883ec13a96b8e4ab22464a87d4e6c67255b17a88e3cfd1c"; }; - buildInputs = [ libX11 imlib2 libXinerama ]; + buildInputs = [ + libX11 + imlib2 + libXinerama + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix b/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix index ceab3eaea3d9a..0405b961605ce 100644 --- a/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix +++ b/pkgs/applications/graphics/inkscape/extensions/applytransforms/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: stdenv.mkDerivation { diff --git a/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix b/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix index 3a121a9bfde09..d511395889b08 100644 --- a/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix +++ b/pkgs/applications/graphics/inkscape/extensions/silhouette/default.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, gettext -, pkgs -, python3 -, umockdev -, writeScript +{ + fetchFromGitHub, + lib, + gettext, + pkgs, + python3, + umockdev, + writeScript, }: let diff --git a/pkgs/applications/graphics/inkscape/extensions/textext/default.nix b/pkgs/applications/graphics/inkscape/extensions/textext/default.nix index cb4be37759bcb..312d018c13b47 100644 --- a/pkgs/applications/graphics/inkscape/extensions/textext/default.nix +++ b/pkgs/applications/graphics/inkscape/extensions/textext/default.nix @@ -1,15 +1,16 @@ -{ lib -, writeScript -, fetchFromGitHub -, substituteAll -, inkscape -, pdflatex -, lualatex -, python3 -, wrapGAppsHook3 -, gobject-introspection -, gtk3 -, gtksourceview3 +{ + lib, + writeScript, + fetchFromGitHub, + substituteAll, + inkscape, + pdflatex, + lualatex, + python3, + wrapGAppsHook3, + gobject-introspection, + gtk3, + gtksourceview3, }: let diff --git a/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix b/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix index 3e55557c860e1..8f500e9ab2cbd 100644 --- a/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix +++ b/pkgs/applications/graphics/inkscape/test-ps2pdf-plugin.nix @@ -1,27 +1,32 @@ -{ inkscape, runCommand, writeTextFile }: +{ + inkscape, + runCommand, + writeTextFile, +}: let svg_file = writeTextFile { name = "test.svg"; text = '' - - - -''; + + + + ''; }; in runCommand "inkscape-test-eps" -{ - nativeBuildInputs = [ inkscape ]; -} '' - echo ps test - inkscape ${svg_file} --export-type=ps -o test.ps - inkscape test.ps -o test.ps.svg + { + nativeBuildInputs = [ inkscape ]; + } + '' + echo ps test + inkscape ${svg_file} --export-type=ps -o test.ps + inkscape test.ps -o test.ps.svg - echo eps test - inkscape ${svg_file} --export-type=eps -o test.eps - inkscape test.eps -o test.eps.svg + echo eps test + inkscape ${svg_file} --export-type=eps -o test.eps + inkscape test.eps -o test.eps.svg - # inkscape does not return an error code, only does not create files - [[ -f test.ps.svg && -f test.eps.svg ]] && touch $out -'' + # inkscape does not return an error code, only does not create files + [[ -f test.ps.svg && -f test.eps.svg ]] && touch $out + '' diff --git a/pkgs/applications/graphics/inkscape/with-extensions.nix b/pkgs/applications/graphics/inkscape/with-extensions.nix index 14fffadd03606..7970cdfb89a4c 100644 --- a/pkgs/applications/graphics/inkscape/with-extensions.nix +++ b/pkgs/applications/graphics/inkscape/with-extensions.nix @@ -1,13 +1,16 @@ -{ lib -, inkscape -, symlinkJoin -, makeWrapper -, inkscapeExtensions ? [ ] -, inkscape-extensions +{ + lib, + inkscape, + symlinkJoin, + makeWrapper, + inkscapeExtensions ? [ ], + inkscape-extensions, }: let - allExtensions = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues inkscape-extensions); + allExtensions = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) ( + lib.attrValues inkscape-extensions + ); selectedExtensions = if inkscapeExtensions == null then allExtensions else inkscapeExtensions; in diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix index c7cbf22e013eb..b387a1a8d918c 100644 --- a/pkgs/applications/graphics/kgraphviewer/default.nix +++ b/pkgs/applications/graphics/kgraphviewer/default.nix @@ -1,7 +1,21 @@ -{ lib, mkDerivation, fetchurl, cmake, extra-cmake-modules, pkg-config, wrapGAppsHook3 -, kconfig, kinit, kdoctools, kio, kparts, kwidgetsaddons -, qtbase, qtsvg -, boost, graphviz +{ + lib, + mkDerivation, + fetchurl, + cmake, + extra-cmake-modules, + pkg-config, + wrapGAppsHook3, + kconfig, + kinit, + kdoctools, + kio, + kparts, + kwidgetsaddons, + qtbase, + qtsvg, + boost, + graphviz, }: mkDerivation rec { @@ -14,24 +28,33 @@ mkDerivation rec { }; buildInputs = [ - qtbase qtsvg - boost graphviz + qtbase + qtsvg + boost + graphviz ]; nativeBuildInputs = [ - cmake extra-cmake-modules pkg-config wrapGAppsHook3 + cmake + extra-cmake-modules + pkg-config + wrapGAppsHook3 kdoctools ]; propagatedBuildInputs = [ - kconfig kinit kio kparts kwidgetsaddons + kconfig + kinit + kio + kparts + kwidgetsaddons ]; meta = with lib; { description = "Graphviz dot graph viewer for KDE"; mainProgram = "kgraphviewer"; - license = licenses.gpl2; + license = licenses.gpl2; maintainers = [ ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix index 564be8f105938..10acce631f6df 100644 --- a/pkgs/applications/graphics/kodelife/default.nix +++ b/pkgs/applications/graphics/kodelife/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, autoPatchelfHook -, dpkg -, alsa-lib -, curl -, avahi -, gstreamer -, gst-plugins-base -, libxcb -, libX11 -, libXcursor -, libXext -, libXi -, libXinerama -, libXrandr -, libXrender -, libXxf86vm -, libglvnd -, zenity +{ + lib, + stdenv, + fetchurl, + makeWrapper, + autoPatchelfHook, + dpkg, + alsa-lib, + curl, + avahi, + gstreamer, + gst-plugins-base, + libxcb, + libX11, + libXcursor, + libXext, + libXi, + libXinerama, + libXrandr, + libXrender, + libXxf86vm, + libglvnd, + zenity, }: let @@ -47,19 +48,23 @@ stdenv.mkDerivation rec { pname = "kodelife"; version = "1.1.0.173"; - suffix = { - aarch64-linux = "linux-arm64"; - armv7l-linux = "linux-armhf"; - x86_64-linux = "linux-x64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + aarch64-linux = "linux-arm64"; + armv7l-linux = "linux-armhf"; + x86_64-linux = "linux-x64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb"; - hash = { - aarch64-linux = "sha256-WPUWvgVZR+2Dg4zpk+iUemMBGlGBDtaGkUGrWuF5LBs="; - armv7l-linux = "sha256-tOPqP40e0JrXg92OluMZrurWHXZavGwTkJiNN1IFVEE="; - x86_64-linux = "sha256-ZA8BlUtKaiSnXGncYwb2BbhBlULuGz7SWuXL0RAgQLI="; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = + { + aarch64-linux = "sha256-WPUWvgVZR+2Dg4zpk+iUemMBGlGBDtaGkUGrWuF5LBs="; + armv7l-linux = "sha256-tOPqP40e0JrXg92OluMZrurWHXZavGwTkJiNN1IFVEE="; + x86_64-linux = "sha256-ZA8BlUtKaiSnXGncYwb2BbhBlULuGz7SWuXL0RAgQLI="; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; strictDeps = true; @@ -101,7 +106,11 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ prusnak ]; - platforms = [ "aarch64-linux" "armv7l-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "armv7l-linux" + "x86_64-linux" + ]; mainProgram = "KodeLife"; }; } diff --git a/pkgs/applications/graphics/kphotoalbum/default.nix b/pkgs/applications/graphics/kphotoalbum/default.nix index aa4bd7fd7e7e6..6af9d69f5574e 100644 --- a/pkgs/applications/graphics/kphotoalbum/default.nix +++ b/pkgs/applications/graphics/kphotoalbum/default.nix @@ -1,20 +1,21 @@ -{ mkDerivation -, fetchpatch -, fetchurl -, lib -, extra-cmake-modules -, kdoctools -, wrapGAppsHook3 -, exiv2 -, ffmpeg -, libkdcraw -, phonon -, libvlc -, kconfig -, kiconthemes -, kio -, kinit -, kpurpose +{ + mkDerivation, + fetchpatch, + fetchurl, + lib, + extra-cmake-modules, + kdoctools, + wrapGAppsHook3, + exiv2, + ffmpeg, + libkdcraw, + phonon, + libvlc, + kconfig, + kiconthemes, + kio, + kinit, + kpurpose, }: mkDerivation rec { @@ -36,11 +37,26 @@ mkDerivation rec { # not sure if we really need phonon when we have vlc, but on KDE it's bound to # be on the system anyway, so there is no real harm including it - buildInputs = [ exiv2 phonon libvlc ]; + buildInputs = [ + exiv2 + phonon + libvlc + ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook3 ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapGAppsHook3 + ]; - propagatedBuildInputs = [ kconfig kiconthemes kio kinit kpurpose libkdcraw ]; + propagatedBuildInputs = [ + kconfig + kiconthemes + kio + kinit + kpurpose + libkdcraw + ]; qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}" diff --git a/pkgs/applications/graphics/krita/generic.nix b/pkgs/applications/graphics/krita/generic.nix index b781bedd084fe..1a1ba8e115fd5 100644 --- a/pkgs/applications/graphics/krita/generic.nix +++ b/pkgs/applications/graphics/krita/generic.nix @@ -1,15 +1,61 @@ -{ mkDerivation, lib, stdenv, fetchpatch, fetchurl, cmake, extra-cmake-modules -, karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons -, kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem -, kio, kcrash, breeze-icons -, boost, libraw, fftw, eigen, exiv2, fribidi, libaom, libheif, libkdcraw, lcms2, gsl, openexr, giflib -, libjxl, mlt , openjpeg, opencolorio, xsimd, poppler, curl, ilmbase, immer, kseexpr, lager -, libmypaint , libunibreak, libwebp -, qtmultimedia, qtx11extras, quazip, SDL2, zug, pkg-config -, python3Packages -, version -, kde-channel -, hash +{ + mkDerivation, + lib, + stdenv, + fetchpatch, + fetchurl, + cmake, + extra-cmake-modules, + karchive, + kconfig, + kwidgetsaddons, + kcompletion, + kcoreaddons, + kguiaddons, + ki18n, + kitemmodels, + kitemviews, + kwindowsystem, + kio, + kcrash, + breeze-icons, + boost, + libraw, + fftw, + eigen, + exiv2, + fribidi, + libaom, + libheif, + libkdcraw, + lcms2, + gsl, + openexr, + giflib, + libjxl, + mlt, + openjpeg, + opencolorio, + xsimd, + poppler, + curl, + ilmbase, + immer, + kseexpr, + lager, + libmypaint, + libunibreak, + libwebp, + qtmultimedia, + qtx11extras, + quazip, + SDL2, + zug, + pkg-config, + python3Packages, + version, + kde-channel, + hash, }: mkDerivation rec { @@ -30,33 +76,87 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config python3Packages.sip ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + pkg-config + python3Packages.sip + ]; buildInputs = [ - karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons - ki18n kitemmodels kitemviews kwindowsystem kio kcrash breeze-icons - boost libraw fftw eigen exiv2 fribidi lcms2 gsl openexr lager libaom libheif libkdcraw giflib - libjxl mlt openjpeg opencolorio xsimd poppler curl ilmbase immer kseexpr libmypaint - libunibreak libwebp qtmultimedia qtx11extras quazip SDL2 zug + karchive + kconfig + kwidgetsaddons + kcompletion + kcoreaddons + kguiaddons + ki18n + kitemmodels + kitemviews + kwindowsystem + kio + kcrash + breeze-icons + boost + libraw + fftw + eigen + exiv2 + fribidi + lcms2 + gsl + openexr + lager + libaom + libheif + libkdcraw + giflib + libjxl + mlt + openjpeg + opencolorio + xsimd + poppler + curl + ilmbase + immer + kseexpr + libmypaint + libunibreak + libwebp + qtmultimedia + qtx11extras + quazip + SDL2 + zug python3Packages.pyqt5 ]; - env.NIX_CFLAGS_COMPILE = toString ([ "-I${ilmbase.dev}/include/OpenEXR" ] - ++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy"); + env.NIX_CFLAGS_COMPILE = toString ( + [ "-I${ilmbase.dev}/include/OpenEXR" ] ++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy" + ); # Krita runs custom python scripts in CMake with custom PYTHONPATH which krita determined in their CMake script. # Patch the PYTHONPATH so python scripts can import sip successfully. - postPatch = let - pythonPath = python3Packages.makePythonPath (with python3Packages; [ sip setuptools ]); - in '' - substituteInPlace cmake/modules/FindSIP.cmake \ - --replace 'PYTHONPATH=''${_sip_python_path}' 'PYTHONPATH=${pythonPath}' - substituteInPlace cmake/modules/SIPMacros.cmake \ - --replace 'PYTHONPATH=''${_krita_python_path}' 'PYTHONPATH=${pythonPath}' + postPatch = + let + pythonPath = python3Packages.makePythonPath ( + with python3Packages; + [ + sip + setuptools + ] + ); + in + '' + substituteInPlace cmake/modules/FindSIP.cmake \ + --replace 'PYTHONPATH=''${_sip_python_path}' 'PYTHONPATH=${pythonPath}' + substituteInPlace cmake/modules/SIPMacros.cmake \ + --replace 'PYTHONPATH=''${_krita_python_path}' 'PYTHONPATH=${pythonPath}' - substituteInPlace plugins/impex/jp2/jp2_converter.cc \ - --replace '' '<${openjpeg.incDir}/openjpeg.h>' - ''; + substituteInPlace plugins/impex/jp2/jp2_converter.cc \ + --replace '' '<${openjpeg.incDir}/openjpeg.h>' + ''; cmakeBuildType = "RelWithDebInfo"; @@ -69,7 +169,11 @@ mkDerivation rec { meta = with lib; { description = "Free and open source painting application"; homepage = "https://krita.org/"; - maintainers = with maintainers; [ abbradar sifmelcara nek0 ]; + maintainers = with maintainers; [ + abbradar + sifmelcara + nek0 + ]; mainProgram = "krita"; platforms = platforms.linux; license = licenses.gpl3Only; diff --git a/pkgs/applications/graphics/krita/wrapper.nix b/pkgs/applications/graphics/krita/wrapper.nix index 6d62412e5662c..75160d027a83d 100644 --- a/pkgs/applications/graphics/krita/wrapper.nix +++ b/pkgs/applications/graphics/krita/wrapper.nix @@ -1,17 +1,23 @@ -{ lib -, libsForQt5 -, symlinkJoin -, unwrapped ? libsForQt5.callPackage ./. { } -, krita-plugin-gmic -, binaryPlugins ? [ +{ + lib, + libsForQt5, + symlinkJoin, + unwrapped ? libsForQt5.callPackage ./. { }, + krita-plugin-gmic, + binaryPlugins ? [ # Default plugins provided by upstream appimage krita-plugin-gmic - ] + ], }: symlinkJoin { name = lib.replaceStrings [ "-unwrapped" ] [ "" ] unwrapped.name; - inherit (unwrapped) version buildInputs nativeBuildInputs meta; + inherit (unwrapped) + version + buildInputs + nativeBuildInputs + meta + ; paths = [ unwrapped ] ++ binaryPlugins; diff --git a/pkgs/applications/graphics/ktikz/default.nix b/pkgs/applications/graphics/ktikz/default.nix index b7fe2e205fa8b..c267b563d974a 100644 --- a/pkgs/applications/graphics/ktikz/default.nix +++ b/pkgs/applications/graphics/ktikz/default.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, pkg-config, wrapQtAppsHook -, poppler, gnuplot -, qmake, qtbase, qttools +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + wrapQtAppsHook, + poppler, + gnuplot, + qmake, + qtbase, + qttools, }: # This package only builds ktikz without KDE integration because KDE4 is @@ -44,10 +52,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config qttools qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + pkg-config + qttools + qmake + wrapQtAppsHook + ]; QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}"; - buildInputs = [ qtbase poppler ]; + buildInputs = [ + qtbase + poppler + ]; qmakeFlags = [ "DESKTOP_INSTALL_DIR=${placeholder "out"}/share/applications" diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix index 9a0bbaefe5056..1d9b06f4144bb 100644 --- a/pkgs/applications/graphics/leocad/default.nix +++ b/pkgs/applications/graphics/leocad/default.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fetchurl -, povray -, qmake -, qttools -, substituteAll -, zlib +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchurl, + povray, + qmake, + qttools, + substituteAll, + zlib, }: /* -To use aditional parts libraries -set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/ + To use aditional parts libraries + set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/ */ let @@ -32,7 +33,10 @@ mkDerivation rec { sha256 = "1ifbxngkbmg6d8vv08amxbnfvlyjdwzykrjp98lbwvgb0b843ygq"; }; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; buildInputs = [ zlib ]; diff --git a/pkgs/applications/graphics/lightburn/default.nix b/pkgs/applications/graphics/lightburn/default.nix index 5877d6a013d5a..11a6b17cd3160 100644 --- a/pkgs/applications/graphics/lightburn/default.nix +++ b/pkgs/applications/graphics/lightburn/default.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchurl, p7zip -, nss, nspr, libusb1 -, qtbase, qtmultimedia, qtserialport, cups -, autoPatchelfHook +{ + lib, + stdenv, + fetchurl, + p7zip, + nss, + nspr, + libusb1, + qtbase, + qtmultimedia, + qtserialport, + cups, + autoPatchelfHook, }: stdenv.mkDerivation rec { @@ -19,8 +28,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ - nss nspr libusb1 - qtbase qtmultimedia qtserialport cups + nss + nspr + libusb1 + qtbase + qtmultimedia + qtserialport + cups ]; unpackPhase = '' diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix index ef0f687d334b6..e12bca0374615 100644 --- a/pkgs/applications/graphics/luminance-hdr/default.nix +++ b/pkgs/applications/graphics/luminance-hdr/default.nix @@ -1,7 +1,24 @@ -{ lib, mkDerivation, cmake, fetchFromGitHub, fetchpatch, pkg-config -, boost, exiv2, fftwFloat, gsl -, ilmbase, lcms2, libraw, libtiff, openexr -, qtbase, qtdeclarative, qttools, qtwebengine, eigen +{ + lib, + mkDerivation, + cmake, + fetchFromGitHub, + fetchpatch, + pkg-config, + boost, + exiv2, + fftwFloat, + gsl, + ilmbase, + lcms2, + libraw, + libtiff, + openexr, + qtbase, + qtdeclarative, + qttools, + qtwebengine, + eigen, }: mkDerivation rec { @@ -26,11 +43,26 @@ mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR"; buildInputs = [ - qtbase qtdeclarative qttools qtwebengine eigen - boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr + qtbase + qtdeclarative + qttools + qtwebengine + eigen + boost + exiv2 + fftwFloat + gsl + ilmbase + lcms2 + libraw + libtiff + openexr ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { homepage = "https://qtpfsgui.sourceforge.net/"; diff --git a/pkgs/applications/graphics/menyoki/default.nix b/pkgs/applications/graphics/menyoki/default.nix index e8ae4e7f25558..c2b66fb45755c 100644 --- a/pkgs/applications/graphics/menyoki/default.nix +++ b/pkgs/applications/graphics/menyoki/default.nix @@ -1,14 +1,15 @@ -{ fetchFromGitHub -, installShellFiles -, lib -, pkg-config -, rustPlatform -, stdenv -, withSixel ? false -, libsixel -, xorg -, AppKit -, withSki ? true +{ + fetchFromGitHub, + installShellFiles, + lib, + pkg-config, + rustPlatform, + stdenv, + withSixel ? false, + libsixel, + xorg, + AppKit, + withSki ? true, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-NtXjlGkX8AzSw98xHPymzdnTipMIunyDbpSr4eVowa0="; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; - - buildInputs = lib.optional withSixel libsixel - ++ lib.optionals stdenv.hostPlatform.isLinux (with xorg; [ libX11 libXrandr ]) + nativeBuildInputs = [ installShellFiles ] ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; + + buildInputs = + lib.optional withSixel libsixel + ++ lib.optionals stdenv.hostPlatform.isLinux ( + with xorg; + [ + libX11 + libXrandr + ] + ) ++ lib.optional stdenv.hostPlatform.isDarwin AppKit; buildNoDefaultFeatures = !withSki; diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix index 658e4b4e9c704..7e5f40682ff0f 100644 --- a/pkgs/applications/graphics/meshlab/default.nix +++ b/pkgs/applications/graphics/meshlab/default.nix @@ -1,30 +1,31 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, libGLU -, qtbase -, qtscript -, qtxmlpatterns -, lib3ds -, bzip2 -, muparser -, eigen -, glew -, gmp -, levmar -, qhull -, cmake -, cgal -, boost -, mpfr -, xercesc -, tbb -, embree -, vcg -, libigl -, corto -, openctm -, structuresynth +{ + mkDerivation, + lib, + fetchFromGitHub, + libGLU, + qtbase, + qtscript, + qtxmlpatterns, + lib3ds, + bzip2, + muparser, + eigen, + glew, + gmp, + levmar, + qhull, + cmake, + cgal, + boost, + mpfr, + xercesc, + tbb, + embree, + vcg, + libigl, + corto, + openctm, + structuresynth, }: mkDerivation rec { diff --git a/pkgs/applications/graphics/nufraw/default.nix b/pkgs/applications/graphics/nufraw/default.nix index 8b5966bbaf0a5..58624aa5199d6 100644 --- a/pkgs/applications/graphics/nufraw/default.nix +++ b/pkgs/applications/graphics/nufraw/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch +{ + lib, + stdenv, + fetchurl, + fetchpatch, -, autoreconfHook -, bzip2 -, cfitsio -, exiv2 -, gettext -, gtk2 -, gtkimageview -, lcms2 -, lensfun -, libjpeg -, libtiff -, perl -, pkg-config -, zlib + autoreconfHook, + bzip2, + cfitsio, + exiv2, + gettext, + gtk2, + gtkimageview, + lcms2, + lensfun, + libjpeg, + libtiff, + perl, + pkg-config, + zlib, -, addThumbnailer ? false + addThumbnailer ? false, }: stdenv.mkDerivation rec { @@ -30,7 +31,12 @@ stdenv.mkDerivation rec { sha256 = "0b63qvw9r8kaqw36bk3a9zwxc41h8fr6498indkw4glrj0awqz9c"; }; - nativeBuildInputs = [ autoreconfHook gettext perl pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + gettext + perl + pkg-config + ]; buildInputs = [ bzip2 @@ -57,32 +63,33 @@ stdenv.mkDerivation rec { substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer ''; - patches = [ - # Fixes an upstream issue where headers with templates were included in an extern-C scope - # which caused the build to fail - (fetchpatch { - name = "0001-nufraw-glib-2.70.patch"; - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/gimp-nufraw/-/raw/3405bc864752dbd04f2d182a21b4108d6cc3aa95/0001-nufraw-glib-2.70.patch"; - hash = "sha256-XgzgjikWTcqymHa7bKmruNZaeb2/lpN19HXoRUt5rTk="; - }) - ] ++ lib.optionals (lib.versionAtLeast exiv2.version "0.28") [ - (fetchpatch { - name = "0002-exiv2-error.patch"; - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/gimp-nufraw/-/raw/3405bc864752dbd04f2d182a21b4108d6cc3aa95/0002-exiv2-error.patch"; - hash = "sha256-40/Wwk1sWiaIWp077EYgP8jFO4k1cvf30heRDMYJw3M="; - }) - ]; + patches = + [ + # Fixes an upstream issue where headers with templates were included in an extern-C scope + # which caused the build to fail + (fetchpatch { + name = "0001-nufraw-glib-2.70.patch"; + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/gimp-nufraw/-/raw/3405bc864752dbd04f2d182a21b4108d6cc3aa95/0001-nufraw-glib-2.70.patch"; + hash = "sha256-XgzgjikWTcqymHa7bKmruNZaeb2/lpN19HXoRUt5rTk="; + }) + ] + ++ lib.optionals (lib.versionAtLeast exiv2.version "0.28") [ + (fetchpatch { + name = "0002-exiv2-error.patch"; + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/gimp-nufraw/-/raw/3405bc864752dbd04f2d182a21b4108d6cc3aa95/0002-exiv2-error.patch"; + hash = "sha256-40/Wwk1sWiaIWp077EYgP8jFO4k1cvf30heRDMYJw3M="; + }) + ]; meta = with lib; { homepage = "https://nufraw.sourceforge.io/"; description = "Utility to read and manipulate raw images from digital cameras"; - longDescription = - '' - A new version of the popular raw digital images manipulator ufraw. - Forks from the version 0.23 of ufraw (that's why the first nufraw version is the 0.24). - Nufraw offers the same features (gimp plugin, batch, ecc) and the same quality of - ufraw in a brand new improved user interface. - ''; + longDescription = '' + A new version of the popular raw digital images manipulator ufraw. + Forks from the version 0.23 of ufraw (that's why the first nufraw version is the 0.24). + Nufraw offers the same features (gimp plugin, batch, ecc) and the same quality of + ufraw in a brand new improved user interface. + ''; license = licenses.gpl2Plus; maintainers = with maintainers; [ asbachb ]; platforms = platforms.linux; diff --git a/pkgs/applications/graphics/odafileconverter/default.nix b/pkgs/applications/graphics/odafileconverter/default.nix index acc00b4fa0bd4..047c2e9dd56a5 100644 --- a/pkgs/applications/graphics/odafileconverter/default.nix +++ b/pkgs/applications/graphics/odafileconverter/default.nix @@ -1,13 +1,26 @@ -{ lib, stdenv, mkDerivation, dpkg, fetchurl, qtbase }: +{ + lib, + stdenv, + mkDerivation, + dpkg, + fetchurl, + qtbase, +}: let # To obtain the version you will need to run the following command: # # dpkg-deb -I ${odafileconverter.src} | grep Version version = "21.11.0.0"; - rpath = "$ORIGIN:${lib.makeLibraryPath [ stdenv.cc.cc qtbase ]}"; + rpath = "$ORIGIN:${ + lib.makeLibraryPath [ + stdenv.cc.cc + qtbase + ] + }"; -in mkDerivation { +in +mkDerivation { pname = "oda-file-converter"; inherit version; nativeBuildInputs = [ dpkg ]; diff --git a/pkgs/applications/graphics/openboard/default.nix b/pkgs/applications/graphics/openboard/default.nix index cd5331d00672f..f8ffdc12ec671 100644 --- a/pkgs/applications/graphics/openboard/default.nix +++ b/pkgs/applications/graphics/openboard/default.nix @@ -1,7 +1,37 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch2, copyDesktopItems, makeDesktopItem, qmake -, qtbase, qtxmlpatterns, qttools, qtwebengine, libGL, fontconfig, openssl, poppler, wrapQtAppsHook -, ffmpeg, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg -, libopus, lame, fdk_aac, libass, quazip, libXext, libXfixes }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch2, + copyDesktopItems, + makeDesktopItem, + qmake, + qtbase, + qtxmlpatterns, + qttools, + qtwebengine, + libGL, + fontconfig, + openssl, + poppler, + wrapQtAppsHook, + ffmpeg, + libva, + alsa-lib, + SDL, + x264, + libvpx, + libvorbis, + libtheora, + libogg, + libopus, + lame, + fdk_aac, + libass, + quazip, + libXext, + libXfixes, +}: let importer = stdenv.mkDerivation { @@ -23,7 +53,8 @@ let install -Dm755 OpenBoardImporter $out/bin/OpenBoardImporter ''; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "openboard"; version = "1.7.1"; @@ -62,7 +93,11 @@ in stdenv.mkDerivation (finalAttrs: { --replace-fail 'HideCheckForSoftwareUpdate=false' 'HideCheckForSoftwareUpdate=true' ''; - nativeBuildInputs = [ qmake copyDesktopItems wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + copyDesktopItems + wrapQtAppsHook + ]; buildInputs = [ qtbase diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index 26e19eec33f8d..9299811de9cea 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -1,39 +1,43 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, qtbase -, qtmultimedia -, qscintilla -, bison -, flex -, eigen -, boost -, libGLU, libGL -, glew -, opencsg -, cgal_4 -, mpfr -, gmp -, glib -, pkg-config -, harfbuzz -, gettext -, freetype -, fontconfig -, double-conversion -, lib3mf -, libzip -, mkDerivation -, qtmacextras -, qmake -, spacenavSupport ? stdenv.hostPlatform.isLinux, libspnav -, wayland -, wayland-protocols -, wrapGAppsHook3 -, qtwayland -, cairo -, openscad -, runCommand +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qtbase, + qtmultimedia, + qscintilla, + bison, + flex, + eigen, + boost, + libGLU, + libGL, + glew, + opencsg, + cgal_4, + mpfr, + gmp, + glib, + pkg-config, + harfbuzz, + gettext, + freetype, + fontconfig, + double-conversion, + lib3mf, + libzip, + mkDerivation, + qtmacextras, + qmake, + spacenavSupport ? stdenv.hostPlatform.isLinux, + libspnav, + wayland, + wayland-protocols, + wrapGAppsHook3, + qtwayland, + cairo, + openscad, + runCommand, }: mkDerivation rec { @@ -60,23 +64,53 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ bison flex pkg-config gettext qmake wrapGAppsHook3]; + nativeBuildInputs = [ + bison + flex + pkg-config + gettext + qmake + wrapGAppsHook3 + ]; - buildInputs = [ - eigen boost glew opencsg cgal_4 mpfr gmp glib - harfbuzz lib3mf libzip double-conversion freetype fontconfig - qtbase qtmultimedia qscintilla cairo - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libGLU libGL wayland wayland-protocols qtwayland ] + buildInputs = + [ + eigen + boost + glew + opencsg + cgal_4 + mpfr + gmp + glib + harfbuzz + lib3mf + libzip + double-conversion + freetype + fontconfig + qtbase + qtmultimedia + qscintilla + cairo + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libGL + wayland + wayland-protocols + qtwayland + ] ++ lib.optional stdenv.hostPlatform.isDarwin qtmacextras - ++ lib.optional spacenavSupport libspnav - ; + ++ lib.optional spacenavSupport libspnav; - qmakeFlags = [ - "VERSION=${version}" - "LIB3MF_INCLUDEPATH=${lib3mf.dev}/include/lib3mf/Bindings/Cpp" - "LIB3MF_LIBPATH=${lib3mf}/lib" - ] ++ - lib.optionals spacenavSupport [ + qmakeFlags = + [ + "VERSION=${version}" + "LIB3MF_INCLUDEPATH=${lib3mf.dev}/include/lib3mf/Bindings/Cpp" + "LIB3MF_LIBPATH=${lib3mf}/lib" + ] + ++ lib.optionals spacenavSupport [ "ENABLE_SPNAV=1" "SPNAV_INCLUDEPATH=${libspnav}/include" "SPNAV_LIBPATH=${libspnav}/lib" @@ -115,17 +149,24 @@ mkDerivation rec { homepage = "https://openscad.org/"; license = lib.licenses.gpl2; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ bjornfor raskin gebner ]; + maintainers = with lib.maintainers; [ + bjornfor + raskin + gebner + ]; mainProgram = "openscad"; }; passthru.tests = { - lib3mf_support = runCommand "${pname}-lib3mf-support-test" { - nativeBuildInputs = [ openscad ]; - } '' - echo "cube([1, 1, 1]);" | openscad -o cube.3mf - - echo "import(\"cube.3mf\");" | openscad -o cube-import.3mf - - mv cube-import.3mf $out - ''; + lib3mf_support = + runCommand "${pname}-lib3mf-support-test" + { + nativeBuildInputs = [ openscad ]; + } + '' + echo "cube([1, 1, 1]);" | openscad -o cube.3mf - + echo "import(\"cube.3mf\");" | openscad -o cube-import.3mf - + mv cube-import.3mf $out + ''; }; } diff --git a/pkgs/applications/graphics/opentoonz/default.nix b/pkgs/applications/graphics/opentoonz/default.nix index a474550820ba3..c53122f52434e 100644 --- a/pkgs/applications/graphics/opentoonz/default.nix +++ b/pkgs/applications/graphics/opentoonz/default.nix @@ -1,29 +1,30 @@ -{ boost -, cmake -, fetchFromGitHub -, libglut -, freetype -, glew -, libjpeg -, libmypaint -, libpng -, libusb1 -, lz4 -, xz -, lzo -, openblas -, opencv -, pkg-config -, qtbase -, qtmultimedia -, qtscript -, qtserialport -, lib -, stdenv -, superlu -, wrapQtAppsHook -, libtiff -, zlib +{ + boost, + cmake, + fetchFromGitHub, + libglut, + freetype, + glew, + libjpeg, + libmypaint, + libpng, + libusb1, + lz4, + xz, + lzo, + openblas, + opencv, + pkg-config, + qtbase, + qtmultimedia, + qtscript, + qtserialport, + lib, + stdenv, + superlu, + wrapQtAppsHook, + libtiff, + zlib, }: let libtiff-ver = "4.0.3"; # The version in thirdparty/tiff-* @@ -45,10 +46,20 @@ let version = "${libtiff-ver}-opentoonz"; inherit src; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ zlib libjpeg xz ]; + propagatedBuildInputs = [ + zlib + libjpeg + xz + ]; postUnpack = '' sourceRoot="$sourceRoot/thirdparty/tiff-${libtiff-ver}" @@ -89,7 +100,11 @@ stdenv.mkDerivation { pname = "opentoonz"; version = opentoonz-ver; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; buildInputs = [ boost diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix index 96d9ddd0ab217..35cbfbf83c170 100644 --- a/pkgs/applications/graphics/pencil/default.nix +++ b/pkgs/applications/graphics/pencil/default.nix @@ -1,8 +1,30 @@ -{ stdenv, fetchurl, lib, makeWrapper, wrapGAppsHook3, +{ + stdenv, + fetchurl, + lib, + makeWrapper, + wrapGAppsHook3, # build dependencies - alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, - freetype, gdk-pixbuf, glib, glibc, gtk3, libuuid, nspr, nss, pango, - xorg, systemd + alsa-lib, + atk, + at-spi2-atk, + at-spi2-core, + cairo, + cups, + dbus, + expat, + fontconfig, + freetype, + gdk-pixbuf, + glib, + glibc, + gtk3, + libuuid, + nspr, + nss, + pango, + xorg, + systemd, }: let @@ -41,12 +63,13 @@ let stdenv.cc.cc ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "3.1.0"; pname = "pencil"; src = fetchurl { - url = "http://pencil.evolus.vn/dl/V${version}.ga/pencil_${version}.ga_amd64.deb"; + url = "http://pencil.evolus.vn/dl/V${version}.ga/pencil_${version}.ga_amd64.deb"; sha256 = "01ae54b1a1351b909eb2366c6ec00816e1deba370e58f35601cf7368f10aaba3"; }; @@ -58,7 +81,10 @@ in stdenv.mkDerivation rec { dontBuild = true; - nativeBuildInputs = [ makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + makeWrapper + wrapGAppsHook3 + ]; buildInputs = deps; @@ -77,32 +103,37 @@ in stdenv.mkDerivation rec { ln -s $out/opt/pencil/pencil $out/bin/pencil ''; + preFixup = + let + packages = deps; + libPathNative = lib.makeLibraryPath packages; + libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; + libPath = "${libPathNative}:${libPath64}"; + in + '' + # patch executable + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}:$out/opt/pencil" \ + $out/opt/pencil/pencil - preFixup = let - packages = deps; - libPathNative = lib.makeLibraryPath packages; - libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; - libPath = "${libPathNative}:${libPath64}"; - in '' - # patch executable - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}:$out/opt/pencil" \ - $out/opt/pencil/pencil - - # fix missing libudev - ln -s ${lib.getLib systemd}/lib/libudev.so.1 $out/opt/pencil/libudev.so.1 - wrapProgram $out/opt/pencil/pencil \ - --prefix LD_LIBRARY_PATH : $out/opt/pencil - ''; + # fix missing libudev + ln -s ${lib.getLib systemd}/lib/libudev.so.1 $out/opt/pencil/libudev.so.1 + wrapProgram $out/opt/pencil/pencil \ + --prefix LD_LIBRARY_PATH : $out/opt/pencil + ''; meta = with lib; { description = "GUI prototyping/mockup tool"; mainProgram = "pencil"; - homepage = "https://pencil.evolus.vn/"; + homepage = "https://pencil.evolus.vn/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.gpl2; # Commercial license is also available - maintainers = with maintainers; [ bjornfor prikhi mrVanDalo ]; - platforms = platforms.linux; + license = licenses.gpl2; # Commercial license is also available + maintainers = with maintainers; [ + bjornfor + prikhi + mrVanDalo + ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/photoflare/default.nix b/pkgs/applications/graphics/photoflare/default.nix index bb79b8c8ddc0f..75645349377b3 100644 --- a/pkgs/applications/graphics/photoflare/default.nix +++ b/pkgs/applications/graphics/photoflare/default.nix @@ -1,4 +1,11 @@ -{ mkDerivation, lib, graphicsmagick, fetchFromGitHub, qmake, qtbase, qttools +{ + mkDerivation, + lib, + graphicsmagick, + fetchFromGitHub, + qmake, + qtbase, + qttools, }: mkDerivation rec { @@ -12,8 +19,14 @@ mkDerivation rec { sha256 = "sha256-0eAuof/FBro2IKxkJ6JHauW6C96VTPxy7QtfPVzPFi4="; }; - nativeBuildInputs = [ qmake qttools ]; - buildInputs = [ qtbase graphicsmagick ]; + nativeBuildInputs = [ + qmake + qttools + ]; + buildInputs = [ + qtbase + graphicsmagick + ]; qmakeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix index e3fea1ee9c478..fca4490d34489 100644 --- a/pkgs/applications/graphics/phototonic/default.nix +++ b/pkgs/applications/graphics/phototonic/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, qmake, wrapQtAppsHook, qtbase, exiv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qmake, + wrapQtAppsHook, + qtbase, + exiv2, +}: stdenv.mkDerivation rec { pname = "phototonic"; @@ -19,8 +28,14 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; - buildInputs = [ qtbase exiv2 ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + exiv2 + ]; preConfigure = '' sed -i 's;/usr;$$PREFIX/;g' phototonic.pro diff --git a/pkgs/applications/graphics/pick-colour-picker/default.nix b/pkgs/applications/graphics/pick-colour-picker/default.nix index b255db3362564..4e72738134d52 100644 --- a/pkgs/applications/graphics/pick-colour-picker/default.nix +++ b/pkgs/applications/graphics/pick-colour-picker/default.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, buildPythonPackage -, pygobject3 -, pycairo -, glib -, gtk3 -, gobject-introspection -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + buildPythonPackage, + pygobject3, + pycairo, + glib, + gtk3, + gobject-introspection, + wrapGAppsHook3, }: buildPythonPackage rec { @@ -53,6 +54,6 @@ buildPythonPackage rec { Pick lets you pick colours from anywhere on your screen. Choose the colour you want and Pick remembers it, names it, and shows you a screenshot so you can remember where you got it from. Zoom all the way in to pixels to pick just the right one. Show your colours in your choice of format: rgba() or hex, CSS or Gdk or Qt, whichever you prefer. Copy to the clipboard ready for pasting into code or graphics apps. - ''; + ''; }; } diff --git a/pkgs/applications/graphics/pixinsight/default.nix b/pkgs/applications/graphics/pixinsight/default.nix index a6692b350f3c2..3cce7faf76d0f 100644 --- a/pkgs/applications/graphics/pixinsight/default.nix +++ b/pkgs/applications/graphics/pixinsight/default.nix @@ -1,49 +1,50 @@ -{ stdenv -, lib -, requireFile -, wrapQtAppsHook -, autoPatchelfHook -, unixtools -, fakeroot -, mailcap -, libGL -, libpulseaudio -, alsa-lib -, nss -, gd -, gst_all_1 -, nspr -, expat -, fontconfig -, dbus -, glib -, zlib -, openssl -, libdrm -, cups -, avahi-compat -, xorg -, wayland -, libudev0-shim -, bubblewrap -, libjpeg8 -, gdk-pixbuf -, gtk3 -, pango +{ + stdenv, + lib, + requireFile, + wrapQtAppsHook, + autoPatchelfHook, + unixtools, + fakeroot, + mailcap, + libGL, + libpulseaudio, + alsa-lib, + nss, + gd, + gst_all_1, + nspr, + expat, + fontconfig, + dbus, + glib, + zlib, + openssl, + libdrm, + cups, + avahi-compat, + xorg, + wayland, + libudev0-shim, + bubblewrap, + libjpeg8, + gdk-pixbuf, + gtk3, + pango, # Qt 6 subpackages -, qtbase -, qtserialport -, qtserialbus -, qtvirtualkeyboard -, qtmultimedia -, qt3d -, mlt -, qtlocation -, qtwebengine -, qtquick3d -, qtwayland -, qtwebview -, qtscxml + qtbase, + qtserialport, + qtserialbus, + qtvirtualkeyboard, + qtmultimedia, + qt3d, + mlt, + qtlocation, + qtwebengine, + qtquick3d, + qtwayland, + qtwebview, + qtscxml, }: stdenv.mkDerivation (finalAttrs: { @@ -74,57 +75,59 @@ stdenv.mkDerivation (finalAttrs: { bubblewrap ]; - buildInputs = [ - (lib.getLib stdenv.cc.cc) - stdenv.cc - libGL - libpulseaudio - alsa-lib - nss - gd - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - nspr - expat - fontconfig - dbus - glib - zlib - openssl - libdrm - wayland - cups - avahi-compat - libjpeg8 - gdk-pixbuf - gtk3 - pango - # Qt stuff - qt3d - mlt - qtbase - #qtgamepad - qtserialport - qtserialbus - qtvirtualkeyboard - qtmultimedia - qtlocation - qtwebengine - qtquick3d - qtwayland - qtwebview - qtscxml - ] ++ (with xorg; [ - libX11 - libXdamage - xrandr - libXtst - libXcomposite - libXext - libXfixes - libXrandr - libxkbfile - ]); + buildInputs = + [ + (lib.getLib stdenv.cc.cc) + stdenv.cc + libGL + libpulseaudio + alsa-lib + nss + gd + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + nspr + expat + fontconfig + dbus + glib + zlib + openssl + libdrm + wayland + cups + avahi-compat + libjpeg8 + gdk-pixbuf + gtk3 + pango + # Qt stuff + qt3d + mlt + qtbase + #qtgamepad + qtserialport + qtserialbus + qtvirtualkeyboard + qtmultimedia + qtlocation + qtwebengine + qtquick3d + qtwayland + qtwebview + qtscxml + ] + ++ (with xorg; [ + libX11 + libXdamage + xrandr + libXtst + libXcomposite + libXext + libXfixes + libXrandr + libxkbfile + ]); postPatch = '' patchelf ./installer \ diff --git a/pkgs/applications/graphics/pymeshlab/default.nix b/pkgs/applications/graphics/pymeshlab/default.nix index 4a4653b452272..a44d4c4f5bee6 100644 --- a/pkgs/applications/graphics/pymeshlab/default.nix +++ b/pkgs/applications/graphics/pymeshlab/default.nix @@ -1,32 +1,33 @@ -{ stdenv -, lib -, fetchFromGitHub -, libGLU -, qtbase -, qtscript -, qtxmlpatterns -, lib3ds -, bzip2 -, muparser -, eigen -, glew -, gmp -, levmar -, qhull -, cmake -, cgal -, boost -, mpfr -, xercesc -, tbb -, embree -, vcg -, libigl -, corto -, openctm -, structuresynth -, wrapQtAppsHook -, python3Packages +{ + stdenv, + lib, + fetchFromGitHub, + libGLU, + qtbase, + qtscript, + qtxmlpatterns, + lib3ds, + bzip2, + muparser, + eigen, + glew, + gmp, + levmar, + qhull, + cmake, + cgal, + boost, + mpfr, + xercesc, + tbb, + embree, + vcg, + libigl, + corto, + openctm, + structuresynth, + wrapQtAppsHook, + python3Packages, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/graphics/qcomicbook/default.nix b/pkgs/applications/graphics/qcomicbook/default.nix index ee2296b391bb2..734a49f026227 100644 --- a/pkgs/applications/graphics/qcomicbook/default.nix +++ b/pkgs/applications/graphics/qcomicbook/default.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, fetchFromGitHub, pkg-config, cmake, qtbase, qttools, qtx11extras, poppler }: +{ + mkDerivation, + lib, + fetchFromGitHub, + pkg-config, + cmake, + qtbase, + qttools, + qtx11extras, + poppler, +}: mkDerivation rec { pname = "qcomicbook"; @@ -12,11 +22,15 @@ mkDerivation rec { }; nativeBuildInputs = [ - cmake pkg-config + cmake + pkg-config ]; buildInputs = [ - qtbase qttools qtx11extras poppler + qtbase + qttools + qtx11extras + poppler ]; postInstall = '' diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix index f4eedb6c3fb0e..6bd3fabee5e13 100644 --- a/pkgs/applications/graphics/qimgv/default.nix +++ b/pkgs/applications/graphics/qimgv/default.nix @@ -1,16 +1,17 @@ -{ mkDerivation -, lib -, fetchFromGitHub +{ + mkDerivation, + lib, + fetchFromGitHub, -, cmake -, pkg-config + cmake, + pkg-config, -, exiv2 -, mpv -, opencv4 -, qtbase -, qtimageformats -, qtsvg + exiv2, + mpv, + opencv4, + qtbase, + qtimageformats, + qtsvg, }: mkDerivation rec { diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix index 2758148dc1ae3..311ed40220f37 100644 --- a/pkgs/applications/graphics/qiv/default.nix +++ b/pkgs/applications/graphics/qiv/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, imlib2, file, lcms2, libexif } : +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + imlib2, + file, + lcms2, + libexif, +}: stdenv.mkDerivation (rec { version = "2.3.3"; @@ -10,9 +20,15 @@ stdenv.mkDerivation (rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 imlib2 file lcms2 libexif ]; + buildInputs = [ + gtk2 + imlib2 + file + lcms2 + libexif + ]; - preBuild='' + preBuild = '' substituteInPlace Makefile --replace /usr/local "$out" substituteInPlace Makefile --replace /man/ /share/man/ substituteInPlace Makefile --replace /share/share/ /share/ diff --git a/pkgs/applications/graphics/qosmic/default.nix b/pkgs/applications/graphics/qosmic/default.nix index eab80b018ccc8..3643a9e7af4f0 100644 --- a/pkgs/applications/graphics/qosmic/default.nix +++ b/pkgs/applications/graphics/qosmic/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, fetchFromGitHub -, fetchpatch -, qmake -, wrapQtAppsHook -, qtbase -, pkg-config -, lua -, flam3 -, libxml2 -, libpng -, libjpeg -, lib +{ + stdenv, + fetchFromGitHub, + fetchpatch, + qmake, + wrapQtAppsHook, + qtbase, + pkg-config, + lua, + flam3, + libxml2, + libpng, + libjpeg, + lib, }: stdenv.mkDerivation rec { @@ -49,7 +50,11 @@ stdenv.mkDerivation rec { --replace "install_icons install_desktop" "" ''; - nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + pkg-config + ]; buildInputs = [ qtbase diff --git a/pkgs/applications/graphics/qscreenshot/default.nix b/pkgs/applications/graphics/qscreenshot/default.nix index d8ed2a14e925a..3120503b07391 100644 --- a/pkgs/applications/graphics/qscreenshot/default.nix +++ b/pkgs/applications/graphics/qscreenshot/default.nix @@ -1,11 +1,13 @@ -{ stdenv -, lib -, fetchgit -, qtbase -, qttools -, qtx11extras -, wrapQtAppsHook -, cmake }: +{ + stdenv, + lib, + fetchgit, + qtbase, + qttools, + qtx11extras, + wrapQtAppsHook, + cmake, +}: stdenv.mkDerivation rec { pname = "qscreenshot"; diff --git a/pkgs/applications/graphics/qvge/default.nix b/pkgs/applications/graphics/qvge/default.nix index ef4e17fcce812..1ded1a805ca7e 100644 --- a/pkgs/applications/graphics/qvge/default.nix +++ b/pkgs/applications/graphics/qvge/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, wrapQtAppsHook -, qmake -, qtsvg -, qtx11extras -, graphviz +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + wrapQtAppsHook, + qmake, + qtsvg, + qtx11extras, + graphviz, }: stdenv.mkDerivation rec { @@ -22,12 +23,17 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - patches = (substituteAll { - src = ./set-graphviz-path.patch; - inherit graphviz; - }); + patches = ( + substituteAll { + src = ./set-graphviz-path.patch; + inherit graphviz; + } + ); - nativeBuildInputs = [ wrapQtAppsHook qmake ]; + nativeBuildInputs = [ + wrapQtAppsHook + qmake + ]; buildInputs = if stdenv.hostPlatform.isDarwin then [ qtsvg ] else [ qtx11extras ]; diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix index 38ff606487c0a..eb2f81c939845 100644 --- a/pkgs/applications/graphics/qview/default.nix +++ b/pkgs/applications/graphics/qview/default.nix @@ -1,13 +1,14 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, qmake -, qtbase -, qttools -, qtimageformats -, qtsvg -, qtx11extras -, x11Support ? true +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + qttools, + qtimageformats, + qtsvg, + qtx11extras, + x11Support ? true, }: mkDerivation rec { diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix index 8b952ab79d840..f7a2685169ca8 100644 --- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix +++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix @@ -1,7 +1,22 @@ -{ lib, mkDerivationWith, fetchFromGitHub, python3Packages -, file, intltool, gobject-introspection, libgudev -, udisks, gexiv2, gst_all_1, libnotify, ifuse, libimobiledevice -, exiftool, gdk-pixbuf, libmediainfo, vmtouch +{ + lib, + mkDerivationWith, + fetchFromGitHub, + python3Packages, + file, + intltool, + gobject-introspection, + libgudev, + udisks, + gexiv2, + gst_all_1, + libnotify, + ifuse, + libimobiledevice, + exiftool, + gdk-pixbuf, + libmediainfo, + vmtouch, }: mkDerivationWith python3Packages.buildPythonApplication rec { @@ -57,38 +72,46 @@ mkDerivationWith python3Packages.buildPythonApplication rec { # "Namespace [Notify / GExiv2 / GUdev] not available" strictDeps = false; - propagatedBuildInputs = with python3Packages; [ - ifuse - libimobiledevice - pyqt5 - pygobject3 - gphoto2 - pyzmq - tornado - psutil - pyxdg - arrow - python-dateutil - easygui - babel - colour - pillow - pyheif - pymediainfo - sortedcontainers - requests - colorlog - pyprind - setuptools - show-in-file-manager - tenacity - ] ++ lib.optional (pythonOlder "3.8") importlib-metadata; + propagatedBuildInputs = + with python3Packages; + [ + ifuse + libimobiledevice + pyqt5 + pygobject3 + gphoto2 + pyzmq + tornado + psutil + pyxdg + arrow + python-dateutil + easygui + babel + colour + pillow + pyheif + pymediainfo + sortedcontainers + requests + colorlog + pyprind + setuptools + show-in-file-manager + tenacity + ] + ++ lib.optional (pythonOlder "3.8") importlib-metadata; preFixup = '' makeWrapperArgs+=( --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" --set PYTHONPATH "$PYTHONPATH" - --prefix PATH : "${lib.makeBinPath [ exiftool vmtouch ]}" + --prefix PATH : "${ + lib.makeBinPath [ + exiftool + vmtouch + ] + }" --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libmediainfo ]}" --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" "''${qtWrapperArgs[@]}" diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index deb45b06d19f1..b4493bdbc41cd 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -1,37 +1,38 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, util-linux -, libselinux -, libsepol -, lerc -, libthai -, libdatrie -, libxkbcommon -, libepoxy -, libXtst -, wrapGAppsHook3 -, makeWrapper -, pixman -, libpthreadstubs -, gtkmm3 -, libXau -, libXdmcp -, lcms2 -, libiptcdata -, fftw -, expat -, pcre2 -, libsigcxx -, lensfun -, librsvg -, libcanberra-gtk3 -, gtk-mac-integration -, exiv2 -, libraw - , libjxl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + util-linux, + libselinux, + libsepol, + lerc, + libthai, + libdatrie, + libxkbcommon, + libepoxy, + libXtst, + wrapGAppsHook3, + makeWrapper, + pixman, + libpthreadstubs, + gtkmm3, + libXau, + libXdmcp, + lcms2, + libiptcdata, + fftw, + expat, + pcre2, + libsigcxx, + lensfun, + librsvg, + libcanberra-gtk3, + gtk-mac-integration, + exiv2, + libraw, + libjxl, }: stdenv.mkDerivation rec { @@ -54,54 +55,61 @@ stdenv.mkDerivation rec { --replace "/Applications" "${placeholder "out"}/Applications" ''; - nativeBuildInputs = [ - cmake - pkg-config - wrapGAppsHook3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - makeWrapper - ]; + nativeBuildInputs = + [ + cmake + pkg-config + wrapGAppsHook3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeWrapper + ]; - buildInputs = [ - util-linux - libselinux - libsepol - lerc - libthai - libdatrie - libxkbcommon - libepoxy - libXtst - pixman - libpthreadstubs - gtkmm3 - libXau - libXdmcp - lcms2 - libiptcdata - fftw - expat - pcre2 - libsigcxx - lensfun - librsvg - exiv2 - libraw - libjxl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libcanberra-gtk3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - gtk-mac-integration - ]; + buildInputs = + [ + util-linux + libselinux + libsepol + lerc + libthai + libdatrie + libxkbcommon + libepoxy + libXtst + pixman + libpthreadstubs + gtkmm3 + libXau + libXdmcp + lcms2 + libiptcdata + fftw + expat + pcre2 + libsigcxx + lensfun + librsvg + exiv2 + libraw + libjxl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcanberra-gtk3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + gtk-mac-integration + ]; - cmakeFlags = [ - "-DPROC_TARGET_NUMBER=2" - "-DCACHE_NAME_SUFFIX=\"\"" - "-DWITH_SYSTEM_LIBRAW=\"ON\"" - "-DWITH_JXL=\"ON\"" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}" - ]; + cmakeFlags = + [ + "-DPROC_TARGET_NUMBER=2" + "-DCACHE_NAME_SUFFIX=\"\"" + "-DWITH_SYSTEM_LIBRAW=\"ON\"" + "-DWITH_JXL=\"ON\"" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}" + ]; CMAKE_CXX_FLAGS = toString [ "-std=c++11" @@ -122,7 +130,10 @@ stdenv.mkDerivation rec { description = "RAW converter and digital photo processing software"; homepage = "http://www.rawtherapee.com/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ jcumming mahe ]; + maintainers = with lib.maintainers; [ + jcumming + mahe + ]; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix index 55fbc9a3616a7..4532d7317c571 100644 --- a/pkgs/applications/graphics/sane/backends/default.nix +++ b/pkgs/applications/graphics/sane/backends/default.nix @@ -28,14 +28,16 @@ libtool, autoconf-archive, -# List of { src name backend } attibute sets - see installFirmware below: - extraFirmware ? [], + # List of { src name backend } attibute sets - see installFirmware below: + extraFirmware ? [ ], -# For backwards compatibility with older setups; use extraFirmware instead: - gt68xxFirmware ? null, snapscanFirmware ? null, + # For backwards compatibility with older setups; use extraFirmware instead: + gt68xxFirmware ? null, + snapscanFirmware ? null, -# Not included by default, scan snap drivers require fetching of unfree binaries. - scanSnapDriversUnfree ? false, scanSnapDriversPackage ? sane-drivers.epjitsu, + # Not included by default, scan snap drivers require fetching of unfree binaries. + scanSnapDriversUnfree ? false, + scanSnapDriversPackage ? sane-drivers.epjitsu, }: stdenv.mkDerivation rec { @@ -74,7 +76,11 @@ stdenv.mkDerivation rec { patch -p1 -i ${./sane-desc-cross.patch} ''; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -88,28 +94,31 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ - avahi - libgphoto2 - libjpeg - libpng - libtiff - libusb1 - curl - libxml2 - poppler - gawk - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libieee1284 - libv4l - net-snmp - systemd - ]; + buildInputs = + [ + avahi + libgphoto2 + libjpeg + libpng + libtiff + libusb1 + curl + libxml2 + poppler + gawk + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libieee1284 + libv4l + net-snmp + systemd + ]; enableParallelBuilding = true; - configureFlags = [ "--with-lockdir=/var/lock/sane" ] - ++ lib.optional (avahi != null) "--with-avahi" + configureFlags = + [ "--with-lockdir=/var/lock/sane" ] + ++ lib.optional (avahi != null) "--with-avahi" ++ lib.optional (libusb1 != null) "--with-usb"; # autoconf check for HAVE_MMAP is never set on cross compilation. @@ -118,46 +127,49 @@ stdenv.mkDerivation rec { "CFLAGS=-DHAVE_MMAP=${if stdenv.hostPlatform.isLinux then "1" else "0"}" ]; - postInstall = let - - compatFirmware = extraFirmware - ++ lib.optional (gt68xxFirmware != null) { - src = gt68xxFirmware.fw; - inherit (gt68xxFirmware) name; - backend = "gt68xx"; - } - ++ lib.optional (snapscanFirmware != null) { - src = snapscanFirmware; - name = "your-firmwarefile.bin"; - backend = "snapscan"; - }; - - installFirmware = f: '' - mkdir -p $out/share/sane/${f.backend} - ln -sv ${f.src} $out/share/sane/${f.backend}/${f.name} - ''; - - in '' - mkdir -p $out/etc/udev/rules.d/ $out/etc/udev/hwdb.d - ./tools/sane-desc -m udev+hwdb -s doc/descriptions:doc/descriptions-external > $out/etc/udev/rules.d/49-libsane.rules - ./tools/sane-desc -m udev+hwdb -s doc/descriptions:doc/descriptions-external -m hwdb > $out/etc/udev/hwdb.d/20-sane.hwdb - # the created 49-libsane references /bin/sh - substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \ - --replace "RUN+=\"/bin/sh" "RUN+=\"${runtimeShell}" - - substituteInPlace $out/lib/libsane.la \ - --replace "-ljpeg" "-L${lib.getLib libjpeg}/lib -ljpeg" - - # net.conf conflicts with the file generated by the nixos module - rm $out/etc/sane.d/net.conf - - '' - + lib.optionalString scanSnapDriversUnfree '' - # the ScanSnap drivers live under the epjitsu subdirectory, which was already created by the build but is empty. - rmdir $out/share/sane/epjitsu - ln -svT ${scanSnapDriversPackage} $out/share/sane/epjitsu - '' - + lib.concatStrings (builtins.map installFirmware compatFirmware); + postInstall = + let + + compatFirmware = + extraFirmware + ++ lib.optional (gt68xxFirmware != null) { + src = gt68xxFirmware.fw; + inherit (gt68xxFirmware) name; + backend = "gt68xx"; + } + ++ lib.optional (snapscanFirmware != null) { + src = snapscanFirmware; + name = "your-firmwarefile.bin"; + backend = "snapscan"; + }; + + installFirmware = f: '' + mkdir -p $out/share/sane/${f.backend} + ln -sv ${f.src} $out/share/sane/${f.backend}/${f.name} + ''; + + in + '' + mkdir -p $out/etc/udev/rules.d/ $out/etc/udev/hwdb.d + ./tools/sane-desc -m udev+hwdb -s doc/descriptions:doc/descriptions-external > $out/etc/udev/rules.d/49-libsane.rules + ./tools/sane-desc -m udev+hwdb -s doc/descriptions:doc/descriptions-external -m hwdb > $out/etc/udev/hwdb.d/20-sane.hwdb + # the created 49-libsane references /bin/sh + substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \ + --replace "RUN+=\"/bin/sh" "RUN+=\"${runtimeShell}" + + substituteInPlace $out/lib/libsane.la \ + --replace "-ljpeg" "-L${lib.getLib libjpeg}/lib -ljpeg" + + # net.conf conflicts with the file generated by the nixos module + rm $out/etc/sane.d/net.conf + + '' + + lib.optionalString scanSnapDriversUnfree '' + # the ScanSnap drivers live under the epjitsu subdirectory, which was already created by the build but is empty. + rmdir $out/share/sane/epjitsu + ln -svT ${scanSnapDriversPackage} $out/share/sane/epjitsu + '' + + lib.concatStrings (builtins.map installFirmware compatFirmware); # parallel install creates a bad symlink at $out/lib/sane/libsane.so.1 which prevents finding plugins # https://github.com/NixOS/nixpkgs/issues/224569 diff --git a/pkgs/applications/graphics/sane/config.nix b/pkgs/applications/graphics/sane/config.nix index c637ff3cfcd32..07cb0736690b3 100644 --- a/pkgs/applications/graphics/sane/config.nix +++ b/pkgs/applications/graphics/sane/config.nix @@ -1,53 +1,56 @@ { lib, stdenv }: -{ paths, disabledDefaultBackends ? [] }: - +{ + paths, + disabledDefaultBackends ? [ ], +}: let -installSanePath = path: '' - if [ -e "${path}/lib/sane" ]; then - find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do - symlink "$backend" "$out/lib/sane/$(basename "$backend")" - done - fi + installSanePath = path: '' + if [ -e "${path}/lib/sane" ]; then + find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do + symlink "$backend" "$out/lib/sane/$(basename "$backend")" + done + fi - if [ -e "${path}/etc/sane.d" ]; then - find "${path}/etc/sane.d" -maxdepth 1 -not -type d | while read conf; do - name="$(basename $conf)" - if [ "$name" = "dll.conf" ] || [ "$name" = "saned.conf" ] || [ "$name" = "net.conf" ]; then - cat "$conf" >> "$out/etc/sane.d/$name" - else - symlink "$conf" "$out/etc/sane.d/$name" - fi - done - fi + if [ -e "${path}/etc/sane.d" ]; then + find "${path}/etc/sane.d" -maxdepth 1 -not -type d | while read conf; do + name="$(basename $conf)" + if [ "$name" = "dll.conf" ] || [ "$name" = "saned.conf" ] || [ "$name" = "net.conf" ]; then + cat "$conf" >> "$out/etc/sane.d/$name" + else + symlink "$conf" "$out/etc/sane.d/$name" + fi + done + fi - if [ -e "${path}/etc/sane.d/dll.d" ]; then - find "${path}/etc/sane.d/dll.d" -maxdepth 1 -not -type d | while read conf; do - symlink "$conf" "$out/etc/sane.d/dll.d/$(basename $conf)" - done - fi - ''; - disableBackend = backend: '' - grep -w -q '${backend}' $out/etc/sane.d/dll.conf || { echo '${backend} is not a default plugin in $SANE_CONFIG_DIR/dll.conf'; exit 1; } - sed -i 's/\b${backend}\b/# ${backend} disabled by nixos config/' $out/etc/sane.d/dll.conf - ''; + if [ -e "${path}/etc/sane.d/dll.d" ]; then + find "${path}/etc/sane.d/dll.d" -maxdepth 1 -not -type d | while read conf; do + symlink "$conf" "$out/etc/sane.d/dll.d/$(basename $conf)" + done + fi + ''; + disableBackend = backend: '' + grep -w -q '${backend}' $out/etc/sane.d/dll.conf || { echo '${backend} is not a default plugin in $SANE_CONFIG_DIR/dll.conf'; exit 1; } + sed -i 's/\b${backend}\b/# ${backend} disabled by nixos config/' $out/etc/sane.d/dll.conf + ''; in stdenv.mkDerivation { name = "sane-config"; dontUnpack = true; - installPhase = '' - function symlink () { - local target=$1 linkname=$2 - if [ -e "$linkname" ]; then - echo "warning: conflict for $linkname. Overriding $(readlink $linkname) with $target." - fi - ln -sfn "$target" "$linkname" - } + installPhase = + '' + function symlink () { + local target=$1 linkname=$2 + if [ -e "$linkname" ]; then + echo "warning: conflict for $linkname. Overriding $(readlink $linkname) with $target." + fi + ln -sfn "$target" "$linkname" + } - mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane - '' - + (lib.concatMapStrings installSanePath paths) - + (lib.concatMapStrings disableBackend disabledDefaultBackends); + mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane + '' + + (lib.concatMapStrings installSanePath paths) + + (lib.concatMapStrings disableBackend disabledDefaultBackends); } diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix index d34ab9856fca5..5cbc2dd298822 100644 --- a/pkgs/applications/graphics/sane/frontends.nix +++ b/pkgs/applications/graphics/sane/frontends.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, sane-backends, libX11, gtk2, pkg-config, libusb-compat-0_1 ? null }: +{ + lib, + stdenv, + fetchurl, + sane-backends, + libX11, + gtk2, + pkg-config, + libusb-compat-0_1 ? null, +}: stdenv.mkDerivation rec { pname = "sane-frontends"; @@ -13,16 +22,19 @@ stdenv.mkDerivation rec { sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/gtkglue.c ''; - buildInputs = [ sane-backends libX11 gtk2 ] - ++ lib.optional (libusb-compat-0_1 != null) libusb-compat-0_1; + buildInputs = [ + sane-backends + libX11 + gtk2 + ] ++ lib.optional (libusb-compat-0_1 != null) libusb-compat-0_1; nativeBuildInputs = [ pkg-config ]; enableParallelBuilding = true; meta = with lib; { description = "Scanner Access Now Easy"; - homepage = "http://www.sane-project.org/"; - license = licenses.gpl2Plus; - platforms = platforms.linux; + homepage = "http://www.sane-project.org/"; + license = licenses.gpl2Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix index e9a1ca2c40de0..773474edd8914 100644 --- a/pkgs/applications/graphics/sane/xsane.nix +++ b/pkgs/applications/graphics/sane/xsane.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitLab -, sane-backends -, sane-frontends -, libX11 -, gtk2 -, pkg-config -, libpng -, libusb-compat-0_1 -, gimpSupport ? false -, gimp -, nix-update-script -, fetchpatch +{ + lib, + stdenv, + fetchFromGitLab, + sane-backends, + sane-frontends, + libX11, + gtk2, + pkg-config, + libpng, + libusb-compat-0_1, + gimpSupport ? false, + gimp, + nix-update-script, + fetchpatch, }: stdenv.mkDerivation rec { @@ -40,8 +41,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpng libusb-compat-0_1 sane-backends sane-frontends libX11 gtk2 ] - ++ lib.optional gimpSupport gimp; + buildInputs = [ + libpng + libusb-compat-0_1 + sane-backends + sane-frontends + libX11 + gtk2 + ] ++ lib.optional gimpSupport gimp; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/applications/graphics/scantailor/advanced.nix b/pkgs/applications/graphics/scantailor/advanced.nix index b85e0bdc6042d..954ddb4f407c2 100644 --- a/pkgs/applications/graphics/scantailor/advanced.nix +++ b/pkgs/applications/graphics/scantailor/advanced.nix @@ -1,6 +1,15 @@ -{ lib, fetchFromGitHub, mkDerivation -, cmake, libjpeg, libpng, libtiff, boost -, qtbase, qttools }: +{ + lib, + fetchFromGitHub, + mkDerivation, + cmake, + libjpeg, + libpng, + libtiff, + boost, + qtbase, + qttools, +}: mkDerivation rec { pname = "scantailor-advanced"; @@ -13,8 +22,17 @@ mkDerivation rec { sha256 = "sha256-mvoCoYdRTgXW5t8yd9Y9TOl7D3RDVwcjUv2YDUWrtRI="; }; - nativeBuildInputs = [ cmake qttools ]; - buildInputs = [ libjpeg libpng libtiff boost qtbase ]; + nativeBuildInputs = [ + cmake + qttools + ]; + buildInputs = [ + libjpeg + libpng + libtiff + boost + qtbase + ]; meta = with lib; { homepage = "https://github.com/vigri/scantailor-advanced"; diff --git a/pkgs/applications/graphics/scantailor/universal.nix b/pkgs/applications/graphics/scantailor/universal.nix index 31d5c6ca65707..b7bdc609f61c8 100644 --- a/pkgs/applications/graphics/scantailor/universal.nix +++ b/pkgs/applications/graphics/scantailor/universal.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, cmake -, qtbase -, qttools -, wrapQtAppsHook -, zlib -, openjpeg -, libjpeg_turbo -, libpng -, libtiff -, boost -, libcanberra +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + cmake, + qtbase, + qttools, + wrapQtAppsHook, + zlib, + openjpeg, + libjpeg_turbo, + libpng, + libtiff, + boost, + libcanberra, }: stdenv.mkDerivation rec { @@ -27,8 +28,21 @@ stdenv.mkDerivation rec { hash = "sha256-n8NbokK+U0FAuYXtjRJcxlI1XAmI4hk5zV3sF86hB/s="; }; - buildInputs = [ qtbase zlib libjpeg_turbo libpng libtiff boost libcanberra openjpeg ]; - nativeBuildInputs = [ cmake wrapQtAppsHook qttools ]; + buildInputs = [ + qtbase + zlib + libjpeg_turbo + libpng + libtiff + boost + libcanberra + openjpeg + ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + qttools + ]; meta = with lib; { description = "Interactive post-processing tool for scanned pages"; diff --git a/pkgs/applications/graphics/seamly2d/default.nix b/pkgs/applications/graphics/seamly2d/default.nix index b25c9b6dacfe8..295f688748879 100644 --- a/pkgs/applications/graphics/seamly2d/default.nix +++ b/pkgs/applications/graphics/seamly2d/default.nix @@ -1,6 +1,22 @@ -{ stdenv, lib, qtbase, wrapQtAppsHook, fetchFromGitHub, - addDriverRunpath, poppler_utils, qtxmlpatterns, qtsvg, mesa, xvfb-run, - fontconfig, freetype, xorg, qmake, python3, qttools, git +{ + stdenv, + lib, + qtbase, + wrapQtAppsHook, + fetchFromGitHub, + addDriverRunpath, + poppler_utils, + qtxmlpatterns, + qtsvg, + mesa, + xvfb-run, + fontconfig, + freetype, + xorg, + qmake, + python3, + qttools, + git, }: let qtPython = python3.withPackages (pkgs: with pkgs; [ pyqt5 ]); diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix index db2dd60214a2a..a1c7dee5f8428 100644 --- a/pkgs/applications/graphics/smartdeblur/default.nix +++ b/pkgs/applications/graphics/smartdeblur/default.nix @@ -1,5 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, fftw -, qtbase, qmake, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchFromGitHub, + fftw, + qtbase, + qmake, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "smartdeblur"; @@ -14,8 +21,14 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; - buildInputs = [ qtbase fftw ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + fftw + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix index 09855af551fe7..e40a1e0b5805c 100644 --- a/pkgs/applications/graphics/sxiv/default.nix +++ b/pkgs/applications/graphics/sxiv/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libXft, imlib2, giflib, libexif, conf ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + libXft, + imlib2, + giflib, + libexif, + conf ? null, +}: stdenv.mkDerivation rec { pname = "sxiv"; @@ -11,10 +20,15 @@ stdenv.mkDerivation rec { sha256 = "0xaawlfdy7b277m38mgg4423kd7p1ffn0dq4hciqs6ivbb3q9c4f"; }; - configFile = lib.optionalString (conf!=null) (builtins.toFile "config.def.h" conf); - preBuild = lib.optionalString (conf!=null) "cp ${configFile} config.def.h"; + configFile = lib.optionalString (conf != null) (builtins.toFile "config.def.h" conf); + preBuild = lib.optionalString (conf != null) "cp ${configFile} config.def.h"; - buildInputs = [ libXft imlib2 giflib libexif ]; + buildInputs = [ + libXft + imlib2 + giflib + libexif + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix index 70649d633b852..16b15a555172b 100644 --- a/pkgs/applications/graphics/tesseract/default.nix +++ b/pkgs/applications/graphics/tesseract/default.nix @@ -1,12 +1,18 @@ -{ callPackage, lowPrio, Accelerate, CoreGraphics, CoreVideo}: +{ + callPackage, + lowPrio, + Accelerate, + CoreGraphics, + CoreVideo, +}: let - base3 = callPackage ./tesseract3.nix {}; - base4 = callPackage ./tesseract4.nix {}; + base3 = callPackage ./tesseract3.nix { }; + base4 = callPackage ./tesseract4.nix { }; base5 = callPackage ./tesseract5.nix { inherit Accelerate CoreGraphics CoreVideo; }; - languages = callPackage ./languages.nix {}; + languages = callPackage ./languages.nix { }; in { tesseract3 = callPackage ./wrapper.nix { @@ -14,13 +20,17 @@ in languages = languages.v3; }; - tesseract4 = lowPrio (callPackage ./wrapper.nix { - tesseractBase = base4; - languages = languages.v4; - }); + tesseract4 = lowPrio ( + callPackage ./wrapper.nix { + tesseractBase = base4; + languages = languages.v4; + } + ); - tesseract5 = lowPrio (callPackage ./wrapper.nix { - tesseractBase = base5; - languages = languages.v4; - }); + tesseract5 = lowPrio ( + callPackage ./wrapper.nix { + tesseractBase = base5; + languages = languages.v4; + } + ); } diff --git a/pkgs/applications/graphics/tesseract/languages.nix b/pkgs/applications/graphics/tesseract/languages.nix index 11270f70b5da0..c705a8e90355e 100644 --- a/pkgs/applications/graphics/tesseract/languages.nix +++ b/pkgs/applications/graphics/tesseract/languages.nix @@ -1,7 +1,18 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub }: +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, +}: rec { - makeLanguages = { tessdataRev, tessdata ? null, all ? null, languages ? {} }: + makeLanguages = + { + tessdataRev, + tessdata ? null, + all ? null, + languages ? { }, + }: let tessdataSrc = fetchFromGitHub { owner = "tesseract-ocr"; @@ -10,25 +21,28 @@ rec { hash = tessdata; }; - languageFile = lang: hash: fetchurl { - url = "https://github.com/tesseract-ocr/tessdata/raw/${tessdataRev}/${lang}.traineddata"; - inherit hash; - }; - in - { - # Use a simple fixed-output derivation for all languages to increase nix eval performance - all = stdenv.mkDerivation { - name = "all"; - buildCommand = '' - mkdir $out - cd ${tessdataSrc} - cp *.traineddata $out - ''; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = all; + languageFile = + lang: hash: + fetchurl { + url = "https://github.com/tesseract-ocr/tessdata/raw/${tessdataRev}/${lang}.traineddata"; + inherit hash; }; - } // (lib.mapAttrs languageFile languages); + in + { + # Use a simple fixed-output derivation for all languages to increase nix eval performance + all = stdenv.mkDerivation { + name = "all"; + buildCommand = '' + mkdir $out + cd ${tessdataSrc} + cp *.traineddata $out + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = all; + }; + } + // (lib.mapAttrs languageFile languages); v3 = makeLanguages { tessdataRev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; diff --git a/pkgs/applications/graphics/tesseract/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix index 5ee965a25e09f..4d3a97ade7dd1 100644 --- a/pkgs/applications/graphics/tesseract/tesseract3.nix +++ b/pkgs/applications/graphics/tesseract/tesseract3.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, leptonica, libpng, libtiff, icu, pango, opencl-headers }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + leptonica, + libpng, + libtiff, + icu, + pango, + opencl-headers, +}: stdenv.mkDerivation rec { pname = "tesseract"; diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix index e73e237cfea53..96ce6dda1ead8 100644 --- a/pkgs/applications/graphics/tesseract/tesseract4.nix +++ b/pkgs/applications/graphics/tesseract/tesseract4.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkg-config -, leptonica, libpng, libtiff, icu, pango, opencl-headers }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + pkg-config, + leptonica, + libpng, + libtiff, + icu, + pango, + opencl-headers, +}: stdenv.mkDerivation rec { pname = "tesseract"; diff --git a/pkgs/applications/graphics/unigine-superposition/default.nix b/pkgs/applications/graphics/unigine-superposition/default.nix index 6d62edab7a4a5..37b7418c843f0 100644 --- a/pkgs/applications/graphics/unigine-superposition/default.nix +++ b/pkgs/applications/graphics/unigine-superposition/default.nix @@ -1,37 +1,38 @@ -{ lib -, glib -, stdenv -, dbus -, freetype -, fontconfig -, zlib -, qtquickcontrols2 -, libXinerama -, libxcb -, libSM -, libXi -, libglvnd -, libXext -, libXrandr -, mailspring -, libX11 -, libICE -, libXrender -, autoPatchelfHook -, makeWrapper -, mkDerivation -, xkeyboard_config -, fetchurl -, buildFHSEnv -, openal -, makeDesktopItem +{ + lib, + glib, + stdenv, + dbus, + freetype, + fontconfig, + zlib, + qtquickcontrols2, + libXinerama, + libxcb, + libSM, + libXi, + libglvnd, + libXext, + libXrandr, + mailspring, + libX11, + libICE, + libXrender, + autoPatchelfHook, + makeWrapper, + mkDerivation, + xkeyboard_config, + fetchurl, + buildFHSEnv, + openal, + makeDesktopItem, }: let pname = "unigine-superposition"; version = "1.1"; - superposition = stdenv.mkDerivation rec{ + superposition = stdenv.mkDerivation rec { inherit pname version; src = fetchurl { diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix index 1487e2d65324b..b4a99396fb977 100644 --- a/pkgs/applications/graphics/vengi-tools/default.nix +++ b/pkgs/applications/graphics/vengi-tools/default.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, cmake -, pkg-config -, ninja -, python3 -, makeWrapper + cmake, + pkg-config, + ninja, + python3, + makeWrapper, -, backward-cpp -, curl -, enet -, freetype -, glm -, gtest -, libbfd -, libdwarf -, libjpeg -, libuuid -, libuv -, lua5_4 -, lzfse -, opencl-headers -, SDL2 -, SDL2_mixer -, wayland-protocols -, Carbon -, CoreServices -, OpenCL + backward-cpp, + curl, + enet, + freetype, + glm, + gtest, + libbfd, + libdwarf, + libjpeg, + libuuid, + libuv, + lua5_4, + lzfse, + opencl-headers, + SDL2, + SDL2_mixer, + wayland-protocols, + Carbon, + CoreServices, + OpenCL, -, callPackage -, nixosTests + callPackage, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -52,27 +53,32 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ]; - buildInputs = [ - libbfd - libdwarf - backward-cpp - curl - enet - freetype - glm - libjpeg - libuuid - libuv - lua5_4 - lzfse - SDL2 - SDL2_mixer - ] ++ lib.optional stdenv.hostPlatform.isLinux wayland-protocols - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon CoreServices OpenCL ] + buildInputs = + [ + libbfd + libdwarf + backward-cpp + curl + enet + freetype + glm + libjpeg + libuuid + libuv + lua5_4 + lzfse + SDL2 + SDL2_mixer + ] + ++ lib.optional stdenv.hostPlatform.isLinux wayland-protocols + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + CoreServices + OpenCL + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) opencl-headers; - cmakeFlags = - lib.optional stdenv.hostPlatform.isDarwin "-DCORESERVICES_LIB=${CoreServices}"; + cmakeFlags = lib.optional stdenv.hostPlatform.isDarwin "-DCORESERVICES_LIB=${CoreServices}"; # error: "The plain signature for target_link_libraries has already been used" doCheck = false; @@ -94,8 +100,8 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru.tests = { - voxconvert-roundtrip = callPackage ./test-voxconvert-roundtrip.nix {}; - voxconvert-all-formats = callPackage ./test-voxconvert-all-formats.nix {}; + voxconvert-roundtrip = callPackage ./test-voxconvert-roundtrip.nix { }; + voxconvert-all-formats = callPackage ./test-voxconvert-all-formats.nix { }; run-voxedit = nixosTests.vengi-tools; }; @@ -110,7 +116,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://mgerhardy.github.io/vengi/"; downloadPage = "https://github.com/mgerhardy/vengi/releases"; - license = [ licenses.mit licenses.cc-by-sa-30 ]; + license = [ + licenses.mit + licenses.cc-by-sa-30 + ]; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix b/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix index c3e6e47adfbaf..767983cc84743 100644 --- a/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix +++ b/pkgs/applications/graphics/vengi-tools/test-voxconvert-all-formats.nix @@ -1,5 +1,6 @@ -{ stdenv -, vengi-tools +{ + stdenv, + vengi-tools, }: stdenv.mkDerivation { diff --git a/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix b/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix index a683bff7a10b6..91737ed583669 100644 --- a/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix +++ b/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix @@ -1,5 +1,6 @@ -{ stdenv -, vengi-tools +{ + stdenv, + vengi-tools, }: stdenv.mkDerivation { diff --git a/pkgs/applications/graphics/veusz/default.nix b/pkgs/applications/graphics/veusz/default.nix index d5ccbf7166197..4622f87d9312c 100644 --- a/pkgs/applications/graphics/veusz/default.nix +++ b/pkgs/applications/graphics/veusz/default.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchPypi -, wrapQtAppsHook -, qtbase +{ + lib, + python3Packages, + fetchPypi, + wrapQtAppsHook, + qtbase, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/applications/graphics/weylus/default.nix b/pkgs/applications/graphics/weylus/default.nix index 61b40006b3865..264f34a8fe420 100644 --- a/pkgs/applications/graphics/weylus/default.nix +++ b/pkgs/applications/graphics/weylus/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, makeWrapper -, dbus -, ffmpeg -, x264 -, libva -, gst_all_1 -, xorg -, libdrm -, pkg-config -, pango -, pipewire -, cmake -, git -, autoconf -, libtool -, typescript -, ApplicationServices -, Carbon -, Cocoa -, VideoToolbox +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + makeWrapper, + dbus, + ffmpeg, + x264, + libva, + gst_all_1, + xorg, + libdrm, + pkg-config, + pango, + pipewire, + cmake, + git, + autoconf, + libtool, + typescript, + ApplicationServices, + Carbon, + Cocoa, + VideoToolbox, }: rustPlatform.buildRustPackage rec { @@ -35,43 +36,48 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-J9eVFIfmyBviVuT1MYKb5yoacbPqOAT3A8jahWv5qw8="; }; - buildInputs = [ - ffmpeg - x264 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - Carbon - Cocoa - VideoToolbox - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - dbus - libva - gst_all_1.gst-plugins-base - xorg.libXext - xorg.libXft - xorg.libXinerama - xorg.libXcursor - xorg.libXrender - xorg.libXfixes - xorg.libXtst - xorg.libXrandr - xorg.libXcomposite - xorg.libXi - xorg.libXv - pango - libdrm - ]; + buildInputs = + [ + ffmpeg + x264 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + Carbon + Cocoa + VideoToolbox + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + dbus + libva + gst_all_1.gst-plugins-base + xorg.libXext + xorg.libXft + xorg.libXinerama + xorg.libXcursor + xorg.libXrender + xorg.libXfixes + xorg.libXtst + xorg.libXrandr + xorg.libXcomposite + xorg.libXi + xorg.libXv + pango + libdrm + ]; - nativeBuildInputs = [ - cmake - git - typescript - makeWrapper - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - pkg-config - autoconf - libtool - ]; + nativeBuildInputs = + [ + cmake + git + typescript + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pkg-config + autoconf + libtool + ]; cargoLock = { lockFile = ./Cargo.lock; @@ -83,14 +89,16 @@ rustPlatform.buildRustPackage rec { cargoBuildFlags = [ "--features=ffmpeg-system" ]; cargoTestFlags = [ "--features=ffmpeg-system" ]; - postFixup = let - GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ - gst_all_1.gst-plugins-base - pipewire - ]; - in lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/weylus --prefix GST_PLUGIN_PATH : ${GST_PLUGIN_PATH} - ''; + postFixup = + let + GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ + gst_all_1.gst-plugins-base + pipewire + ]; + in + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/weylus --prefix GST_PLUGIN_PATH : ${GST_PLUGIN_PATH} + ''; postInstall = '' install -vDm755 weylus.desktop $out/share/applications/weylus.desktop diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix index dd717223fdbb3..a337447eaeb59 100644 --- a/pkgs/applications/graphics/xaos/default.nix +++ b/pkgs/applications/graphics/xaos/default.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qttools, wrapQtAppsHook, copyDesktopItems }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + qttools, + wrapQtAppsHook, + copyDesktopItems, +}: -let datapath = "$out/share/XaoS"; -in stdenv.mkDerivation rec { +let + datapath = "$out/share/XaoS"; +in +stdenv.mkDerivation rec { pname = "xaos"; version = "4.2.1"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "xaos-project"; @@ -13,11 +27,19 @@ in stdenv.mkDerivation rec { hash = "sha256-JLF8Mz/OHZEEJG/aryKQuJ6B5R8hPJdvln7mbKoqXFU="; }; - nativeBuildInputs = [ qmake qttools wrapQtAppsHook copyDesktopItems ]; + nativeBuildInputs = [ + qmake + qttools + wrapQtAppsHook + copyDesktopItems + ]; buildInputs = [ qtbase ]; QMAKE_LRELEASE = "lrelease"; - DEFINES = [ "USE_OPENGL" "USE_FLOAT128" ]; + DEFINES = [ + "USE_OPENGL" + "USE_FLOAT128" + ]; postPatch = '' substituteInPlace src/include/config.h \ diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix index e0fa8cc64da49..af1d7579bbcac 100644 --- a/pkgs/applications/graphics/yacreader/default.nix +++ b/pkgs/applications/graphics/yacreader/default.nix @@ -1,6 +1,17 @@ -{ mkDerivation, lib, fetchFromGitHub, qmake, poppler, pkg-config, libunarr -, libGLU, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols2 -, qtscript +{ + mkDerivation, + lib, + fetchFromGitHub, + qmake, + poppler, + pkg-config, + libunarr, + libGLU, + qtdeclarative, + qtgraphicaleffects, + qtmultimedia, + qtquickcontrols2, + qtscript, }: mkDerivation rec { @@ -14,9 +25,22 @@ mkDerivation rec { sha256 = "sha256-gQ4Aaapini6j3lCtowFbrfwbe91aFl50hp1EfxTO8uY="; }; - nativeBuildInputs = [ qmake pkg-config ]; - buildInputs = [ poppler libunarr libGLU qtmultimedia qtscript ]; - propagatedBuildInputs = [ qtquickcontrols2 qtgraphicaleffects qtdeclarative ]; + nativeBuildInputs = [ + qmake + pkg-config + ]; + buildInputs = [ + poppler + libunarr + libGLU + qtmultimedia + qtscript + ]; + propagatedBuildInputs = [ + qtquickcontrols2 + qtgraphicaleffects + qtdeclarative + ]; meta = { description = "Comic reader for cross-platform reading and managing your digital comic collection"; diff --git a/pkgs/applications/graphics/zgv/default.nix b/pkgs/applications/graphics/zgv/default.nix index 8df5e82622494..457d233176b9f 100644 --- a/pkgs/applications/graphics/zgv/default.nix +++ b/pkgs/applications/graphics/zgv/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, SDL, SDL_image, libjpeg, libpng, libtiff }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + SDL, + SDL_image, + libjpeg, + libpng, + libtiff, +}: stdenv.mkDerivation rec { pname = "zgv"; @@ -9,7 +20,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL SDL_image libjpeg libpng libtiff ]; + buildInputs = [ + SDL + SDL_image + libjpeg + libpng + libtiff + ]; hardeningDisable = [ "format" ]; @@ -19,8 +36,8 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { - url = "https://foss.aueb.gr/mirrors/linux/gentoo/media-gfx/zgv/files/zgv-5.9-libpng15.patch"; - sha256 = "1blw9n04c28bnwcmcn64si4f5zpg42s8yn345js88fyzi9zm19xw"; + url = "https://foss.aueb.gr/mirrors/linux/gentoo/media-gfx/zgv/files/zgv-5.9-libpng15.patch"; + sha256 = "1blw9n04c28bnwcmcn64si4f5zpg42s8yn345js88fyzi9zm19xw"; }) ./switch.patch ]; diff --git a/pkgs/applications/kde/akonadi-calendar-tools.nix b/pkgs/applications/kde/akonadi-calendar-tools.nix index 64fe3e1f4388e..204fe6f46a0a7 100644 --- a/pkgs/applications/kde/akonadi-calendar-tools.nix +++ b/pkgs/applications/kde/akonadi-calendar-tools.nix @@ -1,9 +1,10 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, akonadi -, calendarsupport +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + akonadi, + calendarsupport, }: mkDerivation { @@ -11,14 +12,23 @@ mkDerivation { meta = { homepage = "https://github.com/KDE/akonadi-calendar-tools"; description = "Console applications and utilities for managing calendars in Akonadi"; - license = with lib.licenses; [ gpl2Plus cc0 ]; + license = with lib.licenses; [ + gpl2Plus + cc0 + ]; maintainers = with lib.maintainers; [ kennyballou ]; platforms = lib.platforms.linux; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ akonadi calendarsupport ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/akonadi-calendar.nix b/pkgs/applications/kde/akonadi-calendar.nix index c149ac905dd8d..6b4a248d88ddc 100644 --- a/pkgs/applications/kde/akonadi-calendar.nix +++ b/pkgs/applications/kde/akonadi-calendar.nix @@ -1,22 +1,48 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-contacts, kcalendarcore, kcalutils, kcontacts, - kidentitymanagement, kio, kmailtransport, messagelib + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-contacts, + kcalendarcore, + kcalutils, + kcontacts, + kidentitymanagement, + kio, + kmailtransport, + messagelib, }: mkDerivation { pname = "akonadi-calendar"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - akonadi akonadi-contacts kcalendarcore kcalutils kcontacts kidentitymanagement - kio kmailtransport messagelib + akonadi + akonadi-contacts + kcalendarcore + kcalutils + kcontacts + kidentitymanagement + kio + kmailtransport + messagelib + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix index 2486019ac69ad..d00fe2e8f56ba 100644 --- a/pkgs/applications/kde/akonadi-contacts.nix +++ b/pkgs/applications/kde/akonadi-contacts.nix @@ -1,27 +1,60 @@ { - mkDerivation, lib, kdepimTeam, + mkDerivation, + lib, + kdepimTeam, extra-cmake-modules, qtwebengine, - grantlee, grantleetheme, - kcmutils, kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets, - prison, akonadi, akonadi-mime, kcontacts, kmime, libkleo, + grantlee, + grantleetheme, + kcmutils, + kdbusaddons, + ki18n, + kiconthemes, + kio, + kitemmodels, + ktextwidgets, + prison, + akonadi, + akonadi-mime, + kcontacts, + kmime, + libkleo, }: mkDerivation { pname = "akonadi-contacts"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + ]; maintainers = kdepimTeam; }; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ qtwebengine grantlee - kcmutils kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison - akonadi-mime kcontacts kmime libkleo + kcmutils + kdbusaddons + ki18n + kiconthemes + kio + kitemmodels + ktextwidgets + prison + akonadi-mime + kcontacts + kmime + libkleo + ]; + propagatedBuildInputs = [ + akonadi + grantleetheme + ]; + outputs = [ + "out" + "dev" ]; - propagatedBuildInputs = [ akonadi grantleetheme ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/akonadi-import-wizard.nix b/pkgs/applications/kde/akonadi-import-wizard.nix index 370f77c383181..fcdab9b52858e 100644 --- a/pkgs/applications/kde/akonadi-import-wizard.nix +++ b/pkgs/applications/kde/akonadi-import-wizard.nix @@ -1,22 +1,55 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, karchive, kcontacts, kcrash, kidentitymanagement, kio, - kmailtransport, kwallet, mailcommon, mailimporter, messagelib, - qtkeychain, libsecret + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + karchive, + kcontacts, + kcrash, + kidentitymanagement, + kio, + kmailtransport, + kwallet, + mailcommon, + mailimporter, + messagelib, + qtkeychain, + libsecret, }: mkDerivation { pname = "akonadi-import-wizard"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi karchive kcontacts kcrash kidentitymanagement kio - kmailtransport kwallet mailcommon mailimporter messagelib - qtkeychain libsecret + akonadi + karchive + kcontacts + kcrash + kidentitymanagement + kio + kmailtransport + kwallet + mailcommon + mailimporter + messagelib + qtkeychain + libsecret + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/akonadi-mime.nix b/pkgs/applications/kde/akonadi-mime.nix index b498fde26dfa4..fb53857434933 100644 --- a/pkgs/applications/kde/akonadi-mime.nix +++ b/pkgs/applications/kde/akonadi-mime.nix @@ -1,18 +1,42 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, shared-mime-info, - akonadi, kdbusaddons, ki18n, kio, kitemmodels, kmime + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + shared-mime-info, + akonadi, + kdbusaddons, + ki18n, + kio, + kitemmodels, + kmime, }: mkDerivation { pname = "akonadi-mime"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; - buildInputs = [ akonadi kdbusaddons ki18n kio kitemmodels kmime ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; + buildInputs = [ + akonadi + kdbusaddons + ki18n + kio + kitemmodels + kmime + ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/akonadi-notes.nix b/pkgs/applications/kde/akonadi-notes.nix index 411f71440a0dc..f40d588ff6874 100644 --- a/pkgs/applications/kde/akonadi-notes.nix +++ b/pkgs/applications/kde/akonadi-notes.nix @@ -1,20 +1,43 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, kcompletion, ki18n, kitemmodels, kmime, kxmlgui + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + kcompletion, + ki18n, + kitemmodels, + kmime, + kxmlgui, }: mkDerivation { pname = "akonadi-notes"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi kcompletion ki18n kitemmodels kmime kxmlgui + akonadi + kcompletion + ki18n + kitemmodels + kmime + kxmlgui + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/akonadi-search.nix b/pkgs/applications/kde/akonadi-search.nix index 2908748e474dd..5050d2ae3ddc4 100644 --- a/pkgs/applications/kde/akonadi-search.nix +++ b/pkgs/applications/kde/akonadi-search.nix @@ -1,22 +1,53 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, kcalendarcore, kcmutils, kcontacts, kcoreaddons, kmime, - krunner, qtbase, xapian + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-mime, + kcalendarcore, + kcmutils, + kcontacts, + kcoreaddons, + kmime, + krunner, + qtbase, + xapian, }: mkDerivation { pname = "akonadi-search"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcmutils krunner xapian ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcmutils + krunner + xapian + ]; propagatedBuildInputs = [ - akonadi akonadi-mime kcalendarcore kcontacts kcoreaddons kmime qtbase + akonadi + akonadi-mime + kcalendarcore + kcontacts + kcoreaddons + kmime + qtbase + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix index ade8ebbcf4213..fc3fd063720d3 100644 --- a/pkgs/applications/kde/akonadi/default.nix +++ b/pkgs/applications/kde/akonadi/default.nix @@ -1,9 +1,27 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, shared-mime-info, accounts-qt, - boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons, - kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, - postgresql, qttools, signond, xz, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + shared-mime-info, + accounts-qt, + boost, + kaccounts-integration, + kcompletion, + kconfigwidgets, + kcrash, + kdbusaddons, + kdesignerplugin, + ki18n, + kiconthemes, + kio, + kitemmodels, + kwindowsystem, + mariadb, + postgresql, + qttools, + signond, + xz, mysqlSupport ? true, postgresSupport ? false, @@ -23,13 +41,34 @@ mkDerivation { ./0002-akonadi-timestamps.patch ./0003-akonadi-revert-make-relocatable.patch ]; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; buildInputs = [ - kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin - ki18n kiconthemes kio kwindowsystem xz accounts-qt qttools signond + kaccounts-integration + kcompletion + kconfigwidgets + kcrash + kdbusaddons + kdesignerplugin + ki18n + kiconthemes + kio + kwindowsystem + xz + accounts-qt + qttools + signond + ]; + propagatedBuildInputs = [ + boost + kitemmodels + ]; + outputs = [ + "out" + "dev" ]; - propagatedBuildInputs = [ boost kitemmodels ]; - outputs = [ "out" "dev" ]; CXXFLAGS = [ ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqld"}\"'' ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqladmin"}\"'' @@ -39,7 +78,7 @@ mkDerivation { ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/pg_upgrade"}\"'' ''-DNIXPKGS_POSTGRES_INITDB=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/initdb"}\"'' ''-DNIX_OUT=\"${placeholder "out"}\"'' - ''-I${lib.getDev kio}/include/KF5'' # Fixes: kio_version.h: No such file or directory + ''-I${lib.getDev kio}/include/KF5'' # Fixes: kio_version.h: No such file or directory ]; cmakeFlags = lib.optional (defaultDriver != "MYSQL") "-DDATABASE_BACKEND=${defaultDriver}"; diff --git a/pkgs/applications/kde/akonadiconsole.nix b/pkgs/applications/kde/akonadiconsole.nix index bb0b8424b4e47..da5f1ec023cda 100644 --- a/pkgs/applications/kde/akonadiconsole.nix +++ b/pkgs/applications/kde/akonadiconsole.nix @@ -1,21 +1,59 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-contacts, calendarsupport, kcalendarcore, kcompletion, - kconfigwidgets, kcontacts, kdbusaddons, kitemmodels, kpimtextedit, libkdepim, - ktextwidgets, kxmlgui, messagelib, qtbase, akonadi-search, xapian + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-contacts, + calendarsupport, + kcalendarcore, + kcompletion, + kconfigwidgets, + kcontacts, + kdbusaddons, + kitemmodels, + kpimtextedit, + libkdepim, + ktextwidgets, + kxmlgui, + messagelib, + qtbase, + akonadi-search, + xapian, }: mkDerivation { pname = "akonadiconsole"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-contacts calendarsupport kcalendarcore kcompletion kconfigwidgets - kcontacts kdbusaddons kitemmodels kpimtextedit ktextwidgets kxmlgui - messagelib qtbase libkdepim akonadi-search xapian + akonadi + akonadi-contacts + calendarsupport + kcalendarcore + kcompletion + kconfigwidgets + kcontacts + kdbusaddons + kitemmodels + kpimtextedit + ktextwidgets + kxmlgui + messagelib + qtbase + libkdepim + akonadi-search + xapian ]; } diff --git a/pkgs/applications/kde/akregator.nix b/pkgs/applications/kde/akregator.nix index 684049d5f0b28..1d86d93a73b15 100644 --- a/pkgs/applications/kde/akregator.nix +++ b/pkgs/applications/kde/akregator.nix @@ -1,13 +1,27 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, qtwebengine, grantlee, - kcmutils, kcrash, kiconthemes, knotifyconfig, kparts, ktexteditor, + kcmutils, + kcrash, + kiconthemes, + knotifyconfig, + kparts, + ktexteditor, kuserfeedback, kwindowsystem, - akonadi, akonadi-mime, grantleetheme, kontactinterface, libkdepim, libkleo, - messagelib, syndication + akonadi, + akonadi-mime, + grantleetheme, + kontactinterface, + libkdepim, + libkleo, + messagelib, + syndication, }: mkDerivation { @@ -15,21 +29,42 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/akregator/"; description = "KDE feed reader"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ qtwebengine grantlee - kcmutils kcrash kiconthemes knotifyconfig kparts ktexteditor + kcmutils + kcrash + kiconthemes + knotifyconfig + kparts + ktexteditor kuserfeedback kwindowsystem - akonadi akonadi-mime grantleetheme kontactinterface libkdepim libkleo - messagelib syndication + akonadi + akonadi-mime + grantleetheme + kontactinterface + libkdepim + libkleo + messagelib + syndication + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/alligator.nix b/pkgs/applications/kde/alligator.nix index cf178e3fe4a7b..305f39bd712f7 100644 --- a/pkgs/applications/kde/alligator.nix +++ b/pkgs/applications/kde/alligator.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kconfig -, kcoreaddons -, ki18n -, kirigami-addons -, kirigami2 -, qtquickcontrols2 -, syndication + kconfig, + kcoreaddons, + ki18n, + kirigami-addons, + kirigami2, + qtquickcontrols2, + syndication, }: mkDerivation rec { @@ -37,7 +38,10 @@ mkDerivation rec { homepage = "https://invent.kde.org/plasma-mobile/alligator"; # https://invent.kde.org/plasma-mobile/alligator/-/commit/db30f159c4700244532b17a260deb95551045b7a # * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL - license = with licenses; [ gpl2Only gpl3Only ]; + license = with licenses; [ + gpl2Only + gpl3Only + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/kde/analitza.nix b/pkgs/applications/kde/analitza.nix index 2ddd8cfbb821f..74d1b4f816f01 100644 --- a/pkgs/applications/kde/analitza.nix +++ b/pkgs/applications/kde/analitza.nix @@ -1,12 +1,13 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, qtbase -, qtsvg -, eigen -, kdoctools -, qttools +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + qtbase, + qtsvg, + eigen, + kdoctools, + qttools, }: mkDerivation { @@ -28,7 +29,11 @@ mkDerivation { meta = with lib; { description = "Front end to powerful mathematics and statistics packages"; homepage = "https://cantor.kde.org/"; - license = with licenses; [ gpl2Only lgpl2Only fdl12Only ]; + license = with licenses; [ + gpl2Only + lgpl2Only + fdl12Only + ]; maintainers = with maintainers; [ hqurve ]; }; } diff --git a/pkgs/applications/kde/angelfish.nix b/pkgs/applications/kde/angelfish.nix index 326a9fc309ac2..22b24f112ce98 100644 --- a/pkgs/applications/kde/angelfish.nix +++ b/pkgs/applications/kde/angelfish.nix @@ -1,31 +1,32 @@ -{ lib -, mkDerivation -, cargo -, cmake -, corrosion -, extra-cmake-modules -, fetchpatch2 -, futuresql -, kconfig -, kcoreaddons -, kdbusaddons -, ki18n -, kirigami-addons -, kirigami2 -, knotifications -, kpurpose -, kwindowsystem -, qcoro -, qtfeedback -, qtquickcontrols2 -, qqc2-desktop-style -, qtwebengine -, rustPlatform -, rustc -, srcs +{ + lib, + mkDerivation, + cargo, + cmake, + corrosion, + extra-cmake-modules, + fetchpatch2, + futuresql, + kconfig, + kcoreaddons, + kdbusaddons, + ki18n, + kirigami-addons, + kirigami2, + knotifications, + kpurpose, + kwindowsystem, + qcoro, + qtfeedback, + qtquickcontrols2, + qqc2-desktop-style, + qtwebengine, + rustPlatform, + rustc, + srcs, -# provided as callPackage input to enable easier overrides through overlays -, cargoSha256 ? "sha256-PSrTo7nGgH0KxA82RlBEwtOu80WMCBeaCxHj3n7SgEE=" + # provided as callPackage input to enable easier overrides through overlays + cargoSha256 ? "sha256-PSrTo7nGgH0KxA82RlBEwtOu80WMCBeaCxHj3n7SgEE=", }: mkDerivation rec { diff --git a/pkgs/applications/kde/arianna.nix b/pkgs/applications/kde/arianna.nix index 95427d74e2955..79cb3670895fb 100644 --- a/pkgs/applications/kde/arianna.nix +++ b/pkgs/applications/kde/arianna.nix @@ -1,25 +1,26 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, qtbase -, qtdeclarative -, qtquickcontrols2 -, qtwebchannel -, qtwebengine -, qtwebsockets -, baloo -, karchive -, kconfig -, kcoreaddons -, kdbusaddons -, kfilemetadata -, ki18n -, kirigami-addons -, kitemmodels -, kquickcharts -, kwindowsystem -, qqc2-desktop-style +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + qtbase, + qtdeclarative, + qtquickcontrols2, + qtwebchannel, + qtwebengine, + qtwebsockets, + baloo, + karchive, + kconfig, + kcoreaddons, + kdbusaddons, + kfilemetadata, + ki18n, + kirigami-addons, + kitemmodels, + kquickcharts, + kwindowsystem, + qqc2-desktop-style, }: mkDerivation { diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix index 815bee892d6de..931282c7f282f 100644 --- a/pkgs/applications/kde/ark/default.nix +++ b/pkgs/applications/kde/ark/default.nix @@ -1,38 +1,94 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools -, breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n -, kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons -, libarchive, libzip -# Archive tools -, p7zip, lrzip, unar -# Unfree tools -, unfreeEnableUnrar ? false, unrar +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + breeze-icons, + karchive, + kconfig, + kcrash, + kdbusaddons, + ki18n, + kiconthemes, + kitemmodels, + khtml, + kio, + kparts, + kpty, + kservice, + kwidgetsaddons, + libarchive, + libzip, + # Archive tools + p7zip, + lrzip, + unar, + # Unfree tools + unfreeEnableUnrar ? false, + unrar, }: let - extraTools = [ p7zip lrzip unar ] ++ lib.optional unfreeEnableUnrar unrar; + extraTools = [ + p7zip + lrzip + unar + ] ++ lib.optional unfreeEnableUnrar unrar; in mkDerivation { pname = "ark"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; - buildInputs = [ libarchive libzip ] ++ extraTools; + buildInputs = [ + libarchive + libzip + ] ++ extraTools; propagatedBuildInputs = [ - breeze-icons karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio - kitemmodels kparts kpty kservice kwidgetsaddons + breeze-icons + karchive + kconfig + kcrash + kdbusaddons + khtml + ki18n + kiconthemes + kio + kitemmodels + kparts + kpty + kservice + kwidgetsaddons ]; - qtWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath extraTools) ]; + qtWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath extraTools) + ]; meta = with lib; { homepage = "https://apps.kde.org/ark/"; description = "Graphical file compression/decompression utility"; mainProgram = "ark"; - license = with licenses; [ gpl2 lgpl3 ] ++ optional unfreeEnableUnrar unfree; + license = + with licenses; + [ + gpl2 + lgpl3 + ] + ++ optional unfreeEnableUnrar unfree; maintainers = [ maintainers.ttuegel ]; }; } diff --git a/pkgs/applications/kde/audiotube.nix b/pkgs/applications/kde/audiotube.nix index 2f9937f106b61..9bd199d99296b 100644 --- a/pkgs/applications/kde/audiotube.nix +++ b/pkgs/applications/kde/audiotube.nix @@ -1,22 +1,23 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, extra-cmake-modules -, wrapGAppsHook3 + extra-cmake-modules, + wrapGAppsHook3, -, futuresql -, gst_all_1 -, kcoreaddons -, kcrash -, ki18n -, kirigami2 -, kirigami-addons -, kpurpose -, qcoro -, qtimageformats -, qtmultimedia -, qtquickcontrols2 -, python3Packages + futuresql, + gst_all_1, + kcoreaddons, + kcrash, + ki18n, + kirigami2, + kirigami-addons, + kpurpose, + qcoro, + qtimageformats, + qtmultimedia, + qtquickcontrols2, + python3Packages, }: mkDerivation rec { @@ -29,24 +30,27 @@ mkDerivation rec { python3Packages.pybind11 ]; - buildInputs = [ - futuresql - kcoreaddons - kcrash - ki18n - kirigami2 - kirigami-addons - kpurpose - qcoro - qtimageformats - qtmultimedia - qtquickcontrols2 - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer - ]) ++ pythonPath; + buildInputs = + [ + futuresql + kcoreaddons + kcrash + ki18n + kirigami2 + kirigami-addons + kpurpose + qcoro + qtimageformats + qtmultimedia + qtquickcontrols2 + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + ]) + ++ pythonPath; pythonPath = with python3Packages; [ yt-dlp @@ -65,7 +69,12 @@ mkDerivation rec { mainProgram = "audiotube"; homepage = "https://invent.kde.org/plasma-mobile/audiotube"; # https://invent.kde.org/plasma-mobile/audiotube/-/tree/c503d0607a3386112beaa9cf990ab85fe33ef115/LICENSES - license = with licenses; [ bsd2 cc0 gpl2Only gpl3Only ]; + license = with licenses; [ + bsd2 + cc0 + gpl2Only + gpl3Only + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/kde/baloo-widgets.nix b/pkgs/applications/kde/baloo-widgets.nix index 940c47a2ac83f..646a4582a5e20 100644 --- a/pkgs/applications/kde/baloo-widgets.nix +++ b/pkgs/applications/kde/baloo-widgets.nix @@ -1,7 +1,14 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - baloo, kconfig, kfilemetadata, ki18n, kio, kservice + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + baloo, + kconfig, + kfilemetadata, + ki18n, + kio, + kservice, }: mkDerivation { @@ -10,9 +17,20 @@ mkDerivation { license = [ lib.licenses.lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - baloo kconfig kfilemetadata ki18n kio kservice + baloo + kconfig + kfilemetadata + ki18n + kio + kservice + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/bomber.nix b/pkgs/applications/kde/bomber.nix index 59c6ab779cf35..9e84dc1edfa38 100644 --- a/pkgs/applications/kde/bomber.nix +++ b/pkgs/applications/kde/bomber.nix @@ -1,6 +1,10 @@ -{ mkDerivation, lib -, libkdegames, extra-cmake-modules -, kdeclarative, knewstuff +{ + mkDerivation, + lib, + libkdegames, + extra-cmake-modules, + kdeclarative, + knewstuff, }: mkDerivation { @@ -15,7 +19,7 @@ mkDerivation { The goal of the game is to destroy all the buildings and advance to the next level. Each level gets a bit harder by increasing the speed of the plane and the height of the buildings. - ''; + ''; maintainers = with maintainers; [ freezeboy ]; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/kde/bovo.nix b/pkgs/applications/kde/bovo.nix index d1788bd5e234c..b441234d65fe9 100644 --- a/pkgs/applications/kde/bovo.nix +++ b/pkgs/applications/kde/bovo.nix @@ -1,6 +1,10 @@ -{ mkDerivation, lib -, libkdegames, extra-cmake-modules -, kdeclarative, knewstuff +{ + mkDerivation, + lib, + libkdegames, + extra-cmake-modules, + kdeclarative, + knewstuff, }: mkDerivation { diff --git a/pkgs/applications/kde/calendarsupport.nix b/pkgs/applications/kde/calendarsupport.nix index 4cc1bb1f1c6ca..f28eb200ce686 100644 --- a/pkgs/applications/kde/calendarsupport.nix +++ b/pkgs/applications/kde/calendarsupport.nix @@ -1,22 +1,53 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils, - kholidays, kidentitymanagement, kmime, pimcommon, qttools, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-calendar, + akonadi-mime, + akonadi-notes, + kcalutils, + kholidays, + kidentitymanagement, + kmime, + pimcommon, + qttools, }: mkDerivation { pname = "calendarsupport"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-mime akonadi-notes kcalutils kholidays pimcommon qttools + akonadi + akonadi-mime + akonadi-notes + kcalutils + kholidays + pimcommon + qttools + ]; + propagatedBuildInputs = [ + akonadi-calendar + kidentitymanagement + kmime + ]; + outputs = [ + "out" + "dev" ]; - propagatedBuildInputs = [ akonadi-calendar kidentitymanagement kmime ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/calindori.nix b/pkgs/applications/kde/calindori.nix index d7d508f55bcd0..76bf9a806f19a 100644 --- a/pkgs/applications/kde/calindori.nix +++ b/pkgs/applications/kde/calindori.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kcalendarcore -, kconfig -, kcoreaddons -, kdbusaddons -, ki18n -, kirigami2 -, knotifications -, kpeople -, kservice -, qtquickcontrols2 + kcalendarcore, + kconfig, + kcoreaddons, + kdbusaddons, + ki18n, + kirigami2, + knotifications, + kpeople, + kservice, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/kde/colord-kde.nix b/pkgs/applications/kde/colord-kde.nix index 7b3c783995c6c..02fe456061d77 100644 --- a/pkgs/applications/kde/colord-kde.nix +++ b/pkgs/applications/kde/colord-kde.nix @@ -1,8 +1,25 @@ -{ mkDerivation, lib -, extra-cmake-modules, ki18n -, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kiconthemes, kirigami-addons -, kcmutils, kio, knotifications, plasma-framework, kwidgetsaddons -, kwindowsystem, kitemmodels, kitemviews, lcms2, libXrandr, qtx11extras +{ + mkDerivation, + lib, + extra-cmake-modules, + ki18n, + kconfig, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kiconthemes, + kirigami-addons, + kcmutils, + kio, + knotifications, + plasma-framework, + kwidgetsaddons, + kwindowsystem, + kitemmodels, + kitemviews, + lcms2, + libXrandr, + qtx11extras, }: mkDerivation { @@ -11,9 +28,24 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ - kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes kirigami-addons - kcmutils ki18n kio knotifications plasma-framework kwidgetsaddons - kwindowsystem kitemmodels kitemviews lcms2 libXrandr qtx11extras + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kiconthemes + kirigami-addons + kcmutils + ki18n + kio + knotifications + plasma-framework + kwidgetsaddons + kwindowsystem + kitemmodels + kitemviews + lcms2 + libXrandr + qtx11extras ]; meta = with lib; { diff --git a/pkgs/applications/kde/dolphin-plugins.nix b/pkgs/applications/kde/dolphin-plugins.nix index 123b6f0fc268c..946fcd4143dd1 100644 --- a/pkgs/applications/kde/dolphin-plugins.nix +++ b/pkgs/applications/kde/dolphin-plugins.nix @@ -1,7 +1,12 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - dolphin, ki18n, kio, kxmlgui + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + dolphin, + ki18n, + kio, + kxmlgui, }: mkDerivation { @@ -10,9 +15,18 @@ mkDerivation { license = [ lib.licenses.gpl2 ]; maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - dolphin ki18n kio kxmlgui + dolphin + ki18n + kio + kxmlgui + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix index ad14f62d7c0f5..69ce5b03e455b 100644 --- a/pkgs/applications/kde/dolphin.nix +++ b/pkgs/applications/kde/dolphin.nix @@ -1,11 +1,34 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - baloo, baloo-widgets, kactivities, kbookmarks, kcmutils, - kcompletion, kconfig, kcoreaddons, kdbusaddons, - kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications, - kparts, ktexteditor, kwindowsystem, phonon, solid, - kuserfeedback, wayland, qtwayland, qtx11extras, qtimageformats + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + baloo, + baloo-widgets, + kactivities, + kbookmarks, + kcmutils, + kcompletion, + kconfig, + kcoreaddons, + kdbusaddons, + kfilemetadata, + ki18n, + kiconthemes, + kinit, + kio, + knewstuff, + knotifications, + kparts, + ktexteditor, + kwindowsystem, + phonon, + solid, + kuserfeedback, + wayland, + qtwayland, + qtx11extras, + qtimageformats, }: mkDerivation { @@ -13,20 +36,47 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/dolphin/"; description = "KDE file manager"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedUserEnvPkgs = [ baloo ]; propagatedBuildInputs = [ - baloo baloo-widgets kactivities kbookmarks kcmutils kcompletion kconfig - kcoreaddons kdbusaddons kfilemetadata ki18n kiconthemes - kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem - phonon solid + baloo + baloo-widgets + kactivities + kbookmarks + kcmutils + kcompletion + kconfig + kcoreaddons + kdbusaddons + kfilemetadata + ki18n + kiconthemes + kinit + kio + knewstuff + knotifications + kparts + ktexteditor + kwindowsystem + phonon + solid kuserfeedback - wayland qtwayland + wayland + qtwayland qtx11extras qtimageformats ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/dragon.nix b/pkgs/applications/kde/dragon.nix index 38d81647edadf..d1bc7233a5f8e 100644 --- a/pkgs/applications/kde/dragon.nix +++ b/pkgs/applications/kde/dragon.nix @@ -1,27 +1,74 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - baloo, baloo-widgets, kactivities, kbookmarks, kcmutils, - kcompletion, kconfig, kcoreaddons, kdbusaddons, - kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications, - kparts, ktexteditor, kwindowsystem, phonon, solid, phonon-backend-gstreamer + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + baloo, + baloo-widgets, + kactivities, + kbookmarks, + kcmutils, + kcompletion, + kconfig, + kcoreaddons, + kdbusaddons, + kfilemetadata, + ki18n, + kiconthemes, + kinit, + kio, + knewstuff, + knotifications, + kparts, + ktexteditor, + kwindowsystem, + phonon, + solid, + phonon-backend-gstreamer, }: mkDerivation { pname = "dragon"; meta = { homepage = "https://apps.kde.org/dragonplayer/"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; description = "Simple media player for KDE"; mainProgram = "dragon"; maintainers = [ lib.maintainers.jonathanreeve ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - baloo baloo-widgets kactivities kbookmarks kcmutils kcompletion kconfig - kcoreaddons kdbusaddons kfilemetadata ki18n kiconthemes - kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem - phonon solid phonon-backend-gstreamer + baloo + baloo-widgets + kactivities + kbookmarks + kcmutils + kcompletion + kconfig + kcoreaddons + kdbusaddons + kfilemetadata + ki18n + kiconthemes + kinit + kio + knewstuff + knotifications + kparts + ktexteditor + kwindowsystem + phonon + solid + phonon-backend-gstreamer + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/elisa.nix b/pkgs/applications/kde/elisa.nix index 82facd60e72a3..f920f4811ae41 100644 --- a/pkgs/applications/kde/elisa.nix +++ b/pkgs/applications/kde/elisa.nix @@ -1,29 +1,36 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, qtmultimedia -, qtquickcontrols2 -, qtwebsockets -, kconfig -, kcmutils -, kcrash -, kdeclarative -, kfilemetadata -, kinit -, kirigami2 -, baloo -, libvlc +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + qtmultimedia, + qtquickcontrols2, + qtwebsockets, + kconfig, + kcmutils, + kcrash, + kdeclarative, + kfilemetadata, + kinit, + kirigami2, + baloo, + libvlc, }: mkDerivation { pname = "elisa"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ libvlc ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ baloo diff --git a/pkgs/applications/kde/eventviews.nix b/pkgs/applications/kde/eventviews.nix index 382f0ee48b1db..12fbe28e6148a 100644 --- a/pkgs/applications/kde/eventviews.nix +++ b/pkgs/applications/kde/eventviews.nix @@ -1,22 +1,47 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, calendarsupport, kcalutils, - kdiagram, libkdepim, qtbase, qttools, kholidays + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + calendarsupport, + kcalutils, + kdiagram, + libkdepim, + qtbase, + qttools, + kholidays, }: mkDerivation { pname = "eventviews"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi calendarsupport kcalutils kdiagram - libkdepim qtbase qttools kholidays + akonadi + calendarsupport + kcalutils + kdiagram + libkdepim + qtbase + qttools + kholidays + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/falkon.nix b/pkgs/applications/kde/falkon.nix index 85c4d113fb139..0a630f0cfe64c 100644 --- a/pkgs/applications/kde/falkon.nix +++ b/pkgs/applications/kde/falkon.nix @@ -1,9 +1,23 @@ -{ stdenv, mkDerivation, lib -, cmake, extra-cmake-modules, pkg-config -, libpthreadstubs, libxcb, libXdmcp -, qtsvg, qttools, qtwebengine, qtx11extras -, qtwayland, wrapQtAppsHook -, kwallet, kpurpose, karchive, kio +{ + stdenv, + mkDerivation, + lib, + cmake, + extra-cmake-modules, + pkg-config, + libpthreadstubs, + libxcb, + libXdmcp, + qtsvg, + qttools, + qtwebengine, + qtx11extras, + qtwayland, + wrapQtAppsHook, + kwallet, + kpurpose, + karchive, + kio, }: mkDerivation rec { @@ -17,9 +31,17 @@ mkDerivation rec { ''; buildInputs = [ - libpthreadstubs libxcb libXdmcp - qtsvg qttools qtwebengine qtx11extras - kwallet kpurpose karchive kio + libpthreadstubs + libxcb + libXdmcp + qtsvg + qttools + qtwebengine + qtx11extras + kwallet + kpurpose + karchive + kio ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; nativeBuildInputs = [ @@ -33,9 +55,9 @@ mkDerivation rec { meta = with lib; { description = "QtWebEngine based cross-platform web browser"; mainProgram = "falkon"; - homepage = "https://www.falkon.org"; - license = licenses.gpl3; + homepage = "https://www.falkon.org"; + license = licenses.gpl3; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix index 360da8ede775a..76d04046d741b 100644 --- a/pkgs/applications/kde/ffmpegthumbs.nix +++ b/pkgs/applications/kde/ffmpegthumbs.nix @@ -1,15 +1,25 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - ffmpeg, kio, taglib + ffmpeg, + kio, + taglib, }: mkDerivation { pname = "ffmpegthumbs"; meta = { - license = with lib.licenses; [ gpl2 bsd3 ]; + license = with lib.licenses; [ + gpl2 + bsd3 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ ffmpeg kio taglib ]; + buildInputs = [ + ffmpeg + kio + taglib + ]; } diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix index 4793da1562a7e..b64add65981d4 100644 --- a/pkgs/applications/kde/filelight.nix +++ b/pkgs/applications/kde/filelight.nix @@ -1,16 +1,17 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, kio -, kparts -, kxmlgui -, qtscript -, solid -, qtquickcontrols2 -, kdeclarative -, kirigami2 -, kquickcharts +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kio, + kparts, + kxmlgui, + qtscript, + solid, + qtquickcontrols2, + kdeclarative, + kirigami2, + kquickcharts, }: mkDerivation { @@ -22,7 +23,10 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ vcunat ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ kio kparts @@ -34,5 +38,8 @@ mkDerivation { kirigami2 kquickcharts ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/ghostwriter.nix b/pkgs/applications/kde/ghostwriter.nix index b29d1a9519b66..3541de3df6c41 100644 --- a/pkgs/applications/kde/ghostwriter.nix +++ b/pkgs/applications/kde/ghostwriter.nix @@ -1,22 +1,26 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, qttools -, qtwebengine -, kcoreaddons -, kconfigwidgets -, sonnet -, kxmlgui -, hunspell -, cmark -, multimarkdown -, pandoc +{ + lib, + mkDerivation, + extra-cmake-modules, + qttools, + qtwebengine, + kcoreaddons, + kconfigwidgets, + sonnet, + kxmlgui, + hunspell, + cmark, + multimarkdown, + pandoc, }: mkDerivation { pname = "ghostwriter"; - nativeBuildInputs = [ extra-cmake-modules qttools ]; + nativeBuildInputs = [ + extra-cmake-modules + qttools + ]; buildInputs = [ qtwebengine @@ -28,7 +32,14 @@ mkDerivation { ]; qtWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ cmark multimarkdown pandoc ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + cmark + multimarkdown + pandoc + ]) ]; meta = with lib; { @@ -37,6 +48,9 @@ mkDerivation { homepage = "https://ghostwriter.kde.org/"; changelog = "https://invent.kde.org/office/ghostwriter/-/blob/master/CHANGELOG.md"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ dotlambda erictapen ]; + maintainers = with maintainers; [ + dotlambda + erictapen + ]; }; } diff --git a/pkgs/applications/kde/granatier.nix b/pkgs/applications/kde/granatier.nix index ac050e0147944..35683214a721b 100644 --- a/pkgs/applications/kde/granatier.nix +++ b/pkgs/applications/kde/granatier.nix @@ -1,6 +1,10 @@ -{ mkDerivation, lib -, libkdegames, extra-cmake-modules -, kdeclarative, knewstuff +{ + mkDerivation, + lib, + libkdegames, + extra-cmake-modules, + kdeclarative, + knewstuff, }: mkDerivation { diff --git a/pkgs/applications/kde/grantleetheme/default.nix b/pkgs/applications/kde/grantleetheme/default.nix index 14f4b26290c87..7e5aa89f128eb 100644 --- a/pkgs/applications/kde/grantleetheme/default.nix +++ b/pkgs/applications/kde/grantleetheme/default.nix @@ -1,21 +1,50 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - grantlee, ki18n, kiconthemes, knewstuff, kservice, kxmlgui, qtbase, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + grantlee, + ki18n, + kiconthemes, + knewstuff, + kservice, + kxmlgui, + qtbase, }: mkDerivation { pname = "grantleetheme"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - outputs = [ "out" "dev" ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + outputs = [ + "out" + "dev" + ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - grantlee ki18n kiconthemes knewstuff kservice kxmlgui qtbase + grantlee + ki18n + kiconthemes + knewstuff + kservice + kxmlgui + qtbase + ]; + propagatedBuildInputs = [ + grantlee + kiconthemes + knewstuff ]; - propagatedBuildInputs = [ grantlee kiconthemes knewstuff ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/gwenview/default.nix b/pkgs/applications/kde/gwenview/default.nix index 883620904ee47..13dc1b52a60b7 100644 --- a/pkgs/applications/kde/gwenview/default.nix +++ b/pkgs/applications/kde/gwenview/default.nix @@ -1,10 +1,30 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - exiv2, lcms2, cfitsio, - baloo, kactivities, kio, kipi-plugins, kitemmodels, kparts, libkdcraw, libkipi, - phonon, qtimageformats, qtsvg, qtx11extras, kinit, kpurpose, kcolorpicker, kimageannotator, - wayland, wayland-protocols, wayland-scanner + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + exiv2, + lcms2, + cfitsio, + baloo, + kactivities, + kio, + kipi-plugins, + kitemmodels, + kparts, + libkdcraw, + libkipi, + phonon, + qtimageformats, + qtsvg, + qtx11extras, + kinit, + kpurpose, + kcolorpicker, + kimageannotator, + wayland, + wayland-protocols, + wayland-scanner, }: mkDerivation { @@ -12,20 +32,46 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/gwenview/"; description = "KDE image viewer"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; maintainers = [ lib.maintainers.ttuegel ]; mainProgram = "gwenview"; }; # Fix build with versioned kImageAnnotator - patches = [./kimageannotator.patch]; + patches = [ ./kimageannotator.patch ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wayland-scanner + ]; buildInputs = [ - baloo kactivities kio kitemmodels kparts libkdcraw libkipi phonon - exiv2 lcms2 cfitsio - qtimageformats qtsvg qtx11extras kpurpose kcolorpicker kimageannotator - wayland wayland-protocols + baloo + kactivities + kio + kitemmodels + kparts + libkdcraw + libkipi + phonon + exiv2 + lcms2 + cfitsio + qtimageformats + qtsvg + qtx11extras + kpurpose + kcolorpicker + kimageannotator + wayland + wayland-protocols + ]; + propagatedUserEnvPkgs = [ + kipi-plugins + libkipi + (lib.getBin kinit) ]; - propagatedUserEnvPkgs = [ kipi-plugins libkipi (lib.getBin kinit) ]; } diff --git a/pkgs/applications/kde/incidenceeditor.nix b/pkgs/applications/kde/incidenceeditor.nix index 2e10c129eefd6..36b056280992c 100644 --- a/pkgs/applications/kde/incidenceeditor.nix +++ b/pkgs/applications/kde/incidenceeditor.nix @@ -1,22 +1,49 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, calendarsupport, eventviews, - kdiagram, kldap, kmime, pimcommon, qtbase + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-mime, + calendarsupport, + eventviews, + kdiagram, + kldap, + kmime, + pimcommon, + qtbase, }: mkDerivation { pname = "incidenceeditor"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-mime calendarsupport eventviews kdiagram - kldap kmime pimcommon qtbase + akonadi + akonadi-mime + calendarsupport + eventviews + kdiagram + kldap + kmime + pimcommon + qtbase + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/itinerary.nix b/pkgs/applications/kde/itinerary.nix index 7ac03f0800ff6..1fb82cdac64e8 100644 --- a/pkgs/applications/kde/itinerary.nix +++ b/pkgs/applications/kde/itinerary.nix @@ -1,34 +1,38 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, karchive -, kcalendarcore -, kcontacts -, kdbusaddons -, kfilemetadata -, kholidays -, kio -, kirigami-addons -, kitemmodels -, kitinerary -, kmime -, knotifications -, kosmindoormap -, kpkpass -, kpublictransport -, kunitconversion -, libquotient -, networkmanager-qt -, prison -, qqc2-desktop-style -, qtpositioning -, qtquickcontrols2 -, shared-mime-info +{ + mkDerivation, + lib, + extra-cmake-modules, + karchive, + kcalendarcore, + kcontacts, + kdbusaddons, + kfilemetadata, + kholidays, + kio, + kirigami-addons, + kitemmodels, + kitinerary, + kmime, + knotifications, + kosmindoormap, + kpkpass, + kpublictransport, + kunitconversion, + libquotient, + networkmanager-qt, + prison, + qqc2-desktop-style, + qtpositioning, + qtquickcontrols2, + shared-mime-info, }: mkDerivation { pname = "itinerary"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ extra-cmake-modules @@ -60,5 +64,10 @@ mkDerivation { qtquickcontrols2 ]; - meta.license = with lib.licenses; [ asl20 bsd3 cc0 lgpl2Plus ]; + meta.license = with lib.licenses; [ + asl20 + bsd3 + cc0 + lgpl2Plus + ]; } diff --git a/pkgs/applications/kde/juk.nix b/pkgs/applications/kde/juk.nix index dd428a0144874..4e887562b0703 100644 --- a/pkgs/applications/kde/juk.nix +++ b/pkgs/applications/kde/juk.nix @@ -1,13 +1,14 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, wrapQtAppsHook -, kdoctools -, kcoreaddons -, kxmlgui -, kio -, phonon -, taglib +{ + lib, + mkDerivation, + extra-cmake-modules, + wrapQtAppsHook, + kdoctools, + kcoreaddons, + kxmlgui, + kio, + phonon, + taglib, }: mkDerivation { diff --git a/pkgs/applications/kde/kaccounts-integration.nix b/pkgs/applications/kde/kaccounts-integration.nix index 069bedcb53b25..ef9b3deb2d193 100644 --- a/pkgs/applications/kde/kaccounts-integration.nix +++ b/pkgs/applications/kde/kaccounts-integration.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, kcmutils, kcoreaddons, kwallet, accounts-qt, signond, qcoro }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kcmutils, + kcoreaddons, + kwallet, + accounts-qt, + signond, + qcoro, +}: mkDerivation { pname = "kaccounts-integration"; diff --git a/pkgs/applications/kde/kaccounts-providers.nix b/pkgs/applications/kde/kaccounts-providers.nix index e0e5ee3cd3261..3e265c3767783 100644 --- a/pkgs/applications/kde/kaccounts-providers.nix +++ b/pkgs/applications/kde/kaccounts-providers.nix @@ -1,18 +1,19 @@ -{ mkDerivation -, lib -, accounts-qt -, extra-cmake-modules -, intltool -, kaccounts-integration -, kcmutils -, kcoreaddons -, kdeclarative -, kdoctools -, kio -, kpackage -, kwallet -, qtwebengine -, signond +{ + mkDerivation, + lib, + accounts-qt, + extra-cmake-modules, + intltool, + kaccounts-integration, + kcmutils, + kcoreaddons, + kdeclarative, + kdoctools, + kio, + kpackage, + kwallet, + qtwebengine, + signond, }: mkDerivation { diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix index 0d5df31781c31..9e01da6d5a192 100644 --- a/pkgs/applications/kde/kaddressbook.nix +++ b/pkgs/applications/kde/kaddressbook.nix @@ -1,12 +1,30 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion, - kcrash, kdbusaddons, ki18n, kontactinterface, kparts, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-search, + grantlee, + grantleetheme, + kcmutils, + kcompletion, + kcrash, + kdbusaddons, + ki18n, + kontactinterface, + kparts, kpimtextedit, kuserfeedback, - kxmlgui, libkdepim, libkleo, mailcommon, pimcommon, prison, - qgpgme, qtbase, + kxmlgui, + libkdepim, + libkleo, + mailcommon, + pimcommon, + prison, + qgpgme, + qtbase, }: mkDerivation { @@ -15,15 +33,39 @@ mkDerivation { homepage = "https://apps.kde.org/kaddressbook/"; description = "KDE contact manager"; mainProgram = "kaddressbook"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-search grantlee grantleetheme kcmutils kcompletion kcrash - kdbusaddons ki18n kontactinterface kparts kpimtextedit + akonadi + akonadi-search + grantlee + grantleetheme + kcmutils + kcompletion + kcrash + kdbusaddons + ki18n + kontactinterface + kparts + kpimtextedit kuserfeedback - kxmlgui libkdepim libkleo mailcommon pimcommon prison qgpgme qtbase + kxmlgui + libkdepim + libkleo + mailcommon + pimcommon + prison + qgpgme + qtbase ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix index b99098c56f936..6a546c8f23550 100644 --- a/pkgs/applications/kde/kalarm.nix +++ b/pkgs/applications/kde/kalarm.nix @@ -1,19 +1,49 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - kauth, kcodecs, kcompletion, kconfig, kconfigwidgets, kdbusaddons, kdoctools, - kguiaddons, ki18n, kiconthemes, kidletime, kjobwidgets, kcmutils, - kio, knotifications, knotifyconfig, kservice, kwidgetsaddons, - kwindowsystem, kxmlgui, phonon, + kauth, + kcodecs, + kcompletion, + kconfig, + kconfigwidgets, + kdbusaddons, + kdoctools, + kguiaddons, + ki18n, + kiconthemes, + kidletime, + kjobwidgets, + kcmutils, + kio, + knotifications, + knotifyconfig, + kservice, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + phonon, - kimap, akonadi, akonadi-contacts, akonadi-mime, kcalendarcore, kcalutils, - kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime, - pimcommon, kpimtextedit, messagelib, + kimap, + akonadi, + akonadi-contacts, + akonadi-mime, + kcalendarcore, + kcalutils, + kholidays, + kidentitymanagement, + libkdepim, + mailcommon, + kmailtransport, + kmime, + pimcommon, + kpimtextedit, + messagelib, qtx11extras, - kdepim-runtime + kdepim-runtime, }: mkDerivation { @@ -24,16 +54,48 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kauth kcodecs kcompletion kconfig kconfigwidgets kdbusaddons kdoctools - kguiaddons ki18n kiconthemes kidletime kjobwidgets kcmutils - kio knotifications knotifyconfig kservice kwidgetsaddons kwindowsystem - kxmlgui phonon + kauth + kcodecs + kcompletion + kconfig + kconfigwidgets + kdbusaddons + kdoctools + kguiaddons + ki18n + kiconthemes + kidletime + kjobwidgets + kcmutils + kio + knotifications + knotifyconfig + kservice + kwidgetsaddons + kwindowsystem + kxmlgui + phonon - kimap akonadi akonadi-contacts akonadi-mime kcalendarcore - kcalutils kholidays kidentitymanagement libkdepim mailcommon kmailtransport - kmime pimcommon kpimtextedit messagelib + kimap + akonadi + akonadi-contacts + akonadi-mime + kcalendarcore + kcalutils + kholidays + kidentitymanagement + libkdepim + mailcommon + kmailtransport + kmime + pimcommon + kpimtextedit + messagelib qtx11extras ]; diff --git a/pkgs/applications/kde/kalgebra.nix b/pkgs/applications/kde/kalgebra.nix index 539ee30a66802..b3d6e7b76df47 100644 --- a/pkgs/applications/kde/kalgebra.nix +++ b/pkgs/applications/kde/kalgebra.nix @@ -1,23 +1,27 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, analitza -, ki18n -, kinit -, kirigami2 -, kconfigwidgets -, kwidgetsaddons -, kio -, kxmlgui -, qtwebengine -, plasma-framework +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + analitza, + ki18n, + kinit, + kirigami2, + kconfigwidgets, + kwidgetsaddons, + kio, + kxmlgui, + qtwebengine, + plasma-framework, }: mkDerivation { pname = "kalgebra"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ extra-cmake-modules diff --git a/pkgs/applications/kde/kalk.nix b/pkgs/applications/kde/kalk.nix index dd4be365d7be3..688c3de271128 100644 --- a/pkgs/applications/kde/kalk.nix +++ b/pkgs/applications/kde/kalk.nix @@ -1,21 +1,22 @@ -{ lib -, mkDerivation - -, cmake -, extra-cmake-modules -, bison -, flex - -, gmp -, mpfr - -, kconfig -, kcoreaddons -, ki18n -, kirigami2 -, kunitconversion -, qtfeedback -, qtquickcontrols2 +{ + lib, + mkDerivation, + + cmake, + extra-cmake-modules, + bison, + flex, + + gmp, + mpfr, + + kconfig, + kcoreaddons, + ki18n, + kirigami2, + kunitconversion, + qtfeedback, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/kde/kalzium.nix b/pkgs/applications/kde/kalzium.nix index c365f6e7e7d44..8565fc6d8d722 100644 --- a/pkgs/applications/kde/kalzium.nix +++ b/pkgs/applications/kde/kalzium.nix @@ -1,4 +1,16 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, qtscript, kparts, kplotting, kunitconversion }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + openbabel, + qtscript, + kparts, + kplotting, + kunitconversion, +}: mkDerivation { pname = "kalzium"; diff --git a/pkgs/applications/kde/kamoso.nix b/pkgs/applications/kde/kamoso.nix index bb83ccb8f20b1..42de6ca81e9f5 100644 --- a/pkgs/applications/kde/kamoso.nix +++ b/pkgs/applications/kde/kamoso.nix @@ -1,24 +1,35 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, wrapQtAppsHook -, qtdeclarative -, qtgraphicaleffects -, qtquickcontrols2 -, kirigami2 -, kpurpose -, gst_all_1 -, pcre +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + wrapQtAppsHook, + qtdeclarative, + qtgraphicaleffects, + qtquickcontrols2, + kirigami2, + kpurpose, + gst_all_1, + pcre, }: let - gst = with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad ]; + gst = with gst_all_1; [ + gstreamer + gst-libav + gst-plugins-base + gst-plugins-good + gst-plugins-bad + ]; in mkDerivation { pname = "kamoso"; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapQtAppsHook + ]; buildInputs = [ pcre ] ++ gst; propagatedBuildInputs = [ qtdeclarative @@ -41,6 +52,9 @@ mkDerivation { homepage = "https://apps.kde.org/kamoso/"; description = "Simple and friendly program to use your camera"; mainProgram = "kamoso"; - license = with lib.licenses; [ lgpl21Only gpl3Only ]; + license = with lib.licenses; [ + lgpl21Only + gpl3Only + ]; }; } diff --git a/pkgs/applications/kde/kapman.nix b/pkgs/applications/kde/kapman.nix index cb0187e976397..2d736f974cdc0 100644 --- a/pkgs/applications/kde/kapman.nix +++ b/pkgs/applications/kde/kapman.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "kapman"; diff --git a/pkgs/applications/kde/kapptemplate.nix b/pkgs/applications/kde/kapptemplate.nix index 38b671bc382d2..278e14a244279 100644 --- a/pkgs/applications/kde/kapptemplate.nix +++ b/pkgs/applications/kde/kapptemplate.nix @@ -1,17 +1,24 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, qtbase -, kactivities +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + qtbase, + kactivities, }: mkDerivation { pname = "kapptemplate"; - nativeBuildInputs = [ extra-cmake-modules cmake ]; + nativeBuildInputs = [ + extra-cmake-modules + cmake + ]; - buildInputs = [ kactivities qtbase ]; + buildInputs = [ + kactivities + qtbase + ]; meta = with lib; { description = "KDE App Code Template Generator"; diff --git a/pkgs/applications/kde/kasts.nix b/pkgs/applications/kde/kasts.nix index 00e87c05a4866..7ac724c761c01 100644 --- a/pkgs/applications/kde/kasts.nix +++ b/pkgs/applications/kde/kasts.nix @@ -1,27 +1,33 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules -, wrapGAppsHook3 + cmake, + extra-cmake-modules, + wrapGAppsHook3, -, gst_all_1 -, kconfig -, kcoreaddons -, ki18n -, kirigami-addons -, kirigami2 -, networkmanager-qt -, qtkeychain -, qtmultimedia -, qtquickcontrols2 -, syndication -, taglib -, threadweaver + gst_all_1, + kconfig, + kcoreaddons, + ki18n, + kirigami-addons, + kirigami2, + networkmanager-qt, + qtkeychain, + qtmultimedia, + qtquickcontrols2, + syndication, + taglib, + threadweaver, }: let - inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad; + inherit (gst_all_1) + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + ; in mkDerivation rec { pname = "kasts"; @@ -62,7 +68,16 @@ mkDerivation rec { mainProgram = "kasts"; homepage = "https://apps.kde.org/kasts/"; # https://invent.kde.org/plasma-mobile/kasts/-/tree/master/LICENSES - license = with licenses; [ bsd2 cc-by-sa-40 cc0 gpl2Only gpl2Plus gpl3Only gpl3Plus lgpl3Plus ]; + license = with licenses; [ + bsd2 + cc-by-sa-40 + cc0 + gpl2Only + gpl2Plus + gpl3Only + gpl3Plus + lgpl3Plus + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix index 646fedba158f0..6ac890208f57a 100644 --- a/pkgs/applications/kde/kate.nix +++ b/pkgs/applications/kde/kate.nix @@ -1,10 +1,33 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kactivities, kconfig, kcrash, kdbusaddons, kguiaddons, kiconthemes, ki18n, - kinit, kio, kitemmodels, kjobwidgets, knewstuff, knotifications, konsole, - kparts, ktexteditor, kwindowsystem, kwallet, kxmlgui, libgit2, - kuserfeedback, plasma-framework, qtscript, threadweaver, qtx11extras + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kactivities, + kconfig, + kcrash, + kdbusaddons, + kguiaddons, + kiconthemes, + ki18n, + kinit, + kio, + kitemmodels, + kjobwidgets, + knewstuff, + knotifications, + konsole, + kparts, + ktexteditor, + kwindowsystem, + kwallet, + kxmlgui, + libgit2, + kuserfeedback, + plasma-framework, + qtscript, + threadweaver, + qtx11extras, }: mkDerivation { @@ -12,7 +35,11 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/kate/"; description = "Advanced text editor"; - license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ]; + license = with lib.licenses; [ + gpl3 + lgpl3 + lgpl2 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; @@ -26,13 +53,35 @@ mkDerivation { --replace InitialPreference=8 InitialPreference=1 ''; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ libgit2 - kactivities ki18n kio ktexteditor kwindowsystem plasma-framework - qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts - kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver - knewstuff kuserfeedback qtx11extras + kactivities + ki18n + kio + ktexteditor + kwindowsystem + plasma-framework + qtscript + kconfig + kcrash + kguiaddons + kiconthemes + kinit + kjobwidgets + kparts + kxmlgui + kdbusaddons + kwallet + kitemmodels + knotifications + threadweaver + knewstuff + kuserfeedback + qtx11extras ]; propagatedUserEnvPkgs = [ konsole ]; } diff --git a/pkgs/applications/kde/katomic.nix b/pkgs/applications/kde/katomic.nix index 29e67635fb3e0..b6b39e04365c5 100644 --- a/pkgs/applications/kde/katomic.nix +++ b/pkgs/applications/kde/katomic.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, + knewstuff, +}: mkDerivation { pname = "katomic"; diff --git a/pkgs/applications/kde/kblackbox.nix b/pkgs/applications/kde/kblackbox.nix index c85184dcc1092..167a2d833011f 100644 --- a/pkgs/applications/kde/kblackbox.nix +++ b/pkgs/applications/kde/kblackbox.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "kblackbox"; diff --git a/pkgs/applications/kde/kblocks.nix b/pkgs/applications/kde/kblocks.nix index 61e49a69999c2..80107c310a395 100644 --- a/pkgs/applications/kde/kblocks.nix +++ b/pkgs/applications/kde/kblocks.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "kblocks"; diff --git a/pkgs/applications/kde/kbounce.nix b/pkgs/applications/kde/kbounce.nix index f6f6ad43829b5..531f703489f90 100644 --- a/pkgs/applications/kde/kbounce.nix +++ b/pkgs/applications/kde/kbounce.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kio, ki18n }: +{ + mkDerivation, + lib, + extra-cmake-modules, + libkdegames, + kconfig, + kcrash, + kio, + ki18n, +}: mkDerivation { pname = "kbounce"; diff --git a/pkgs/applications/kde/kbreakout.nix b/pkgs/applications/kde/kbreakout.nix index eb448d1a7400b..71ce5517667a2 100644 --- a/pkgs/applications/kde/kbreakout.nix +++ b/pkgs/applications/kde/kbreakout.nix @@ -1,12 +1,14 @@ -{ mkDerivation, lib -, extra-cmake-modules -, cmake -, kdbusaddons -, ki18n -, kconfigwidgets -, kcrash -, kxmlgui -, libkdegames +{ + mkDerivation, + lib, + extra-cmake-modules, + cmake, + kdbusaddons, + ki18n, + kconfigwidgets, + kcrash, + kxmlgui, + libkdegames, }: mkDerivation { @@ -15,13 +17,25 @@ mkDerivation { homepage = "https://apps.kde.org/kbreakout/"; description = "Breakout-like game"; mainProgram = "kbreakout"; - license = with lib.licenses; [ lgpl21 gpl3 ]; + license = with lib.licenses; [ + lgpl21 + gpl3 + ]; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ - cmake extra-cmake-modules + cmake + extra-cmake-modules ]; propagatedBuildInputs = [ - kdbusaddons ki18n kconfigwidgets kcrash kxmlgui libkdegames + kdbusaddons + ki18n + kconfigwidgets + kcrash + kxmlgui + libkdegames ]; } diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix index 3648c18934492..db65a3ef4c29c 100644 --- a/pkgs/applications/kde/kcachegrind.nix +++ b/pkgs/applications/kde/kcachegrind.nix @@ -1,8 +1,18 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - karchive, ki18n, kio, perl, python3, php, qttools, - kdbusaddons, makeBinaryWrapper, graphviz + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + karchive, + ki18n, + kio, + perl, + python3, + php, + qttools, + kdbusaddons, + makeBinaryWrapper, + graphviz, }: mkDerivation { @@ -13,8 +23,21 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ orivej ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeBinaryWrapper ]; - buildInputs = [ karchive ki18n kio perl python3 php qttools kdbusaddons ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeBinaryWrapper + ]; + buildInputs = [ + karchive + ki18n + kio + perl + python3 + php + qttools + kdbusaddons + ]; postInstall = '' wrapProgram $out/bin/kcachegrind \ --suffix PATH : "${lib.makeBinPath [ graphviz ]}" diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix index b17bda85fb724..bbfc5661ebac1 100644 --- a/pkgs/applications/kde/kcalc.nix +++ b/pkgs/applications/kde/kcalc.nix @@ -1,8 +1,18 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - gmp, kconfig, kconfigwidgets, kcrash, kguiaddons, ki18n, kinit, - knotifications, kxmlgui, mpfr, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + gmp, + kconfig, + kconfigwidgets, + kcrash, + kguiaddons, + ki18n, + kinit, + knotifications, + kxmlgui, + mpfr, }: mkDerivation { @@ -13,9 +23,20 @@ mkDerivation { mainProgram = "kcalc"; license = with lib.licenses; [ gpl2 ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - gmp kconfig kconfigwidgets kcrash kguiaddons ki18n kinit knotifications - kxmlgui mpfr + gmp + kconfig + kconfigwidgets + kcrash + kguiaddons + ki18n + kinit + knotifications + kxmlgui + mpfr ]; } diff --git a/pkgs/applications/kde/kcalutils.nix b/pkgs/applications/kde/kcalutils.nix index 591e28cd737f1..3cfbc789a5085 100644 --- a/pkgs/applications/kde/kcalutils.nix +++ b/pkgs/applications/kde/kcalutils.nix @@ -1,22 +1,45 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - grantlee, kcalendarcore, kconfig, kontactinterface, kcoreaddons, - kidentitymanagement, kpimtextedit, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + grantlee, + kcalendarcore, + kconfig, + kontactinterface, + kcoreaddons, + kidentitymanagement, + kpimtextedit, }: mkDerivation { pname = "kcalutils"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - grantlee kcalendarcore kconfig kontactinterface kcoreaddons - kidentitymanagement kpimtextedit + grantlee + kcalendarcore + kconfig + kontactinterface + kcoreaddons + kidentitymanagement + kpimtextedit + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kcharselect.nix b/pkgs/applications/kde/kcharselect.nix index ae607c5fe49e4..5f92632cda85e 100644 --- a/pkgs/applications/kde/kcharselect.nix +++ b/pkgs/applications/kde/kcharselect.nix @@ -1,7 +1,16 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kbookmarks, kconfig, kconfigwidgets, kcrash, kcoreaddons, ki18n, kwidgetsaddons, kxmlgui + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kbookmarks, + kconfig, + kconfigwidgets, + kcrash, + kcoreaddons, + ki18n, + kwidgetsaddons, + kxmlgui, }: mkDerivation { @@ -13,9 +22,19 @@ mkDerivation { description = "Tool to select special characters from all installed fonts and copy them into the clipboard"; mainProgram = "kcharselect"; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kbookmarks kconfig kconfigwidgets kcoreaddons kcrash ki18n kwidgetsaddons kxmlgui + kbookmarks + kconfig + kconfigwidgets + kcoreaddons + kcrash + ki18n + kwidgetsaddons + kxmlgui ]; enableParallelBuilding = true; } diff --git a/pkgs/applications/kde/kclock.nix b/pkgs/applications/kde/kclock.nix index 678c5ad6285e5..2f135727ba646 100644 --- a/pkgs/applications/kde/kclock.nix +++ b/pkgs/applications/kde/kclock.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kconfig -, kcoreaddons -, kdbusaddons -, ki18n -, kirigami-addons -, kirigami2 -, knotifications -, plasma-framework -, qtmultimedia -, qtquickcontrols2 + kconfig, + kcoreaddons, + kdbusaddons, + ki18n, + kirigami-addons, + kirigami2, + knotifications, + plasma-framework, + qtmultimedia, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/kde/kcolorchooser.nix b/pkgs/applications/kde/kcolorchooser.nix index 601fe705d47ad..2a9777388b1c2 100644 --- a/pkgs/applications/kde/kcolorchooser.nix +++ b/pkgs/applications/kde/kcolorchooser.nix @@ -1,7 +1,10 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - ki18n, kwidgetsaddons, kxmlgui + ki18n, + kwidgetsaddons, + kxmlgui, }: mkDerivation { @@ -14,5 +17,9 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ ki18n kwidgetsaddons kxmlgui ]; + buildInputs = [ + ki18n + kwidgetsaddons + kxmlgui + ]; } diff --git a/pkgs/applications/kde/kde-inotify-survey.nix b/pkgs/applications/kde/kde-inotify-survey.nix index 9adbbe3a08c1e..9fa9c91758e83 100644 --- a/pkgs/applications/kde/kde-inotify-survey.nix +++ b/pkgs/applications/kde/kde-inotify-survey.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kauth -, kcoreaddons -, kdbusaddons -, ki18n -, knotifications +{ + mkDerivation, + lib, + extra-cmake-modules, + kauth, + kcoreaddons, + kdbusaddons, + ki18n, + knotifications, }: mkDerivation { diff --git a/pkgs/applications/kde/kdebugsettings.nix b/pkgs/applications/kde/kdebugsettings.nix index 792d2dc048966..968096d668711 100644 --- a/pkgs/applications/kde/kdebugsettings.nix +++ b/pkgs/applications/kde/kdebugsettings.nix @@ -1,9 +1,17 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, gettext, - kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion, kxmlgui, - python3 + kcoreaddons, + kconfig, + kdbusaddons, + kwidgetsaddons, + kitemviews, + kcompletion, + kxmlgui, + python3, }: mkDerivation { @@ -15,9 +23,20 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion kxmlgui python3 + gettext + kcoreaddons + kconfig + kdbusaddons + kwidgetsaddons + kitemviews + kcompletion + kxmlgui + python3 ]; propagatedUserEnvPkgs = [ ]; } diff --git a/pkgs/applications/kde/kdeconnect-kde.nix b/pkgs/applications/kde/kdeconnect-kde.nix index 56ccd7f103c87..736a25ec58fd5 100644 --- a/pkgs/applications/kde/kdeconnect-kde.nix +++ b/pkgs/applications/kde/kdeconnect-kde.nix @@ -1,36 +1,37 @@ -{ mkDerivation -, extra-cmake-modules -, kcmutils -, kconfigwidgets -, kdbusaddons -, kdoctools -, ki18n -, kiconthemes -, kio -, kirigami2 -, kirigami-addons -, knotifications -, kpeople -, kpeoplevcard -, kwayland -, lib -, libXtst -, libfakekey -, makeWrapper -, modemmanager-qt -, pulseaudio-qt -, qca-qt5 -, qqc2-desktop-style -, qtgraphicaleffects -, qtmultimedia -, qtquickcontrols2 -, qtx11extras -, breeze-icons -, sshfs -, wayland -, wayland-protocols -, wayland-scanner -, plasma-wayland-protocols +{ + mkDerivation, + extra-cmake-modules, + kcmutils, + kconfigwidgets, + kdbusaddons, + kdoctools, + ki18n, + kiconthemes, + kio, + kirigami2, + kirigami-addons, + knotifications, + kpeople, + kpeoplevcard, + kwayland, + lib, + libXtst, + libfakekey, + makeWrapper, + modemmanager-qt, + pulseaudio-qt, + qca-qt5, + qqc2-desktop-style, + qtgraphicaleffects, + qtmultimedia, + qtquickcontrols2, + qtx11extras, + breeze-icons, + sshfs, + wayland, + wayland-protocols, + wayland-scanner, + plasma-wayland-protocols, }: mkDerivation { @@ -67,7 +68,11 @@ mkDerivation { breeze-icons ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeWrapper + ]; qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ sshfs ]}" diff --git a/pkgs/applications/kde/kdegraphics-mobipocket.nix b/pkgs/applications/kde/kdegraphics-mobipocket.nix index bdfe5102c01a1..221e8bbabcf19 100644 --- a/pkgs/applications/kde/kdegraphics-mobipocket.nix +++ b/pkgs/applications/kde/kdegraphics-mobipocket.nix @@ -1,7 +1,8 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - kio + kio, }: mkDerivation { @@ -12,5 +13,8 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ kio ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers/default.nix b/pkgs/applications/kde/kdegraphics-thumbnailers/default.nix index 6686f582d6d2b..94ff4fb6b5cf8 100644 --- a/pkgs/applications/kde/kdegraphics-thumbnailers/default.nix +++ b/pkgs/applications/kde/kdegraphics-thumbnailers/default.nix @@ -1,6 +1,14 @@ { - mkDerivation, lib, ghostscript, substituteAll, - extra-cmake-modules, karchive, kio, libkexiv2, libkdcraw, kdegraphics-mobipocket + mkDerivation, + lib, + ghostscript, + substituteAll, + extra-cmake-modules, + karchive, + kio, + libkexiv2, + libkdcraw, + kdegraphics-mobipocket, }: mkDerivation { @@ -10,7 +18,13 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ karchive kio libkexiv2 libkdcraw kdegraphics-mobipocket ]; + buildInputs = [ + karchive + kio + libkexiv2 + libkdcraw + kdegraphics-mobipocket + ]; patches = [ # Hardcode patches to Ghostscript so PDF thumbnails work OOTB. diff --git a/pkgs/applications/kde/kdenetwork-filesharing.nix b/pkgs/applications/kde/kdenetwork-filesharing.nix index 4cff4a84fc407..8300986b634ee 100644 --- a/pkgs/applications/kde/kdenetwork-filesharing.nix +++ b/pkgs/applications/kde/kdenetwork-filesharing.nix @@ -1,15 +1,37 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kcoreaddons, kdeclarative, ki18n, kio, kwidgetsaddons, samba, qcoro + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kcoreaddons, + kdeclarative, + ki18n, + kio, + kwidgetsaddons, + samba, + qcoro, }: mkDerivation { pname = "kdenetwork-filesharing"; meta = { - license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ]; + license = [ + lib.licenses.gpl2 + lib.licenses.lgpl21 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcoreaddons kdeclarative ki18n kio kwidgetsaddons samba qcoro ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcoreaddons + kdeclarative + ki18n + kio + kwidgetsaddons + samba + qcoro + ]; } diff --git a/pkgs/applications/kde/kdenlive/default.nix b/pkgs/applications/kde/kdenlive/default.nix index 13a208fd99718..95fed3cd35ba9 100644 --- a/pkgs/applications/kde/kdenlive/default.nix +++ b/pkgs/applications/kde/kdenlive/default.nix @@ -1,41 +1,42 @@ -{ mkDerivation -, substituteAll -, lib -, extra-cmake-modules -, breeze-icons -, breeze-qt5 -, kdoctools -, kconfig -, kcrash -, kguiaddons -, kiconthemes -, ki18n -, kinit -, kdbusaddons -, knotifications -, knewstuff -, karchive -, knotifyconfig -, kplotting -, ktextwidgets -, mediainfo -, mlt -, shared-mime-info -, libv4l -, kfilemetadata -, ffmpeg-full -, frei0r -, phonon-backend-gstreamer -, qtdeclarative -, qtmultimedia -, qtnetworkauth -, qtquickcontrols2 -, qtscript -, rttr -, kpurpose -, kdeclarative -, wrapGAppsHook3 -, glaxnimate +{ + mkDerivation, + substituteAll, + lib, + extra-cmake-modules, + breeze-icons, + breeze-qt5, + kdoctools, + kconfig, + kcrash, + kguiaddons, + kiconthemes, + ki18n, + kinit, + kdbusaddons, + knotifications, + knewstuff, + karchive, + knotifyconfig, + kplotting, + ktextwidgets, + mediainfo, + mlt, + shared-mime-info, + libv4l, + kfilemetadata, + ffmpeg-full, + frei0r, + phonon-backend-gstreamer, + qtdeclarative, + qtmultimedia, + qtnetworkauth, + qtquickcontrols2, + qtscript, + rttr, + kpurpose, + kdeclarative, + wrapGAppsHook3, + glaxnimate, }: let @@ -88,14 +89,12 @@ mkDerivation { # doesn't find them. See: # https://github.com/NixOS/nixpkgs/issues/83885 patches = [ - ( - substituteAll { - src = ./dependency-paths.patch; - inherit mediainfo glaxnimate; - ffmpeg = ffmpeg-full; - mlt = mlt-full; - } - ) + (substituteAll { + src = ./dependency-paths.patch; + inherit mediainfo glaxnimate; + ffmpeg = ffmpeg-full; + mlt = mlt-full; + }) ]; postPatch = diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix index 2baf991f2fb60..e86e774416eb2 100644 --- a/pkgs/applications/kde/kdepim-addons.nix +++ b/pkgs/applications/kde/kdepim-addons.nix @@ -1,25 +1,78 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, shared-mime-info, - akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews, - incidenceeditor, kcalendarcore, kcalutils, kconfig, kdbusaddons, kdeclarative, - kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar, - libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass, - kitinerary, kontactinterface, kaddressbook, discount + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + shared-mime-info, + akonadi-import-wizard, + akonadi-notes, + calendarsupport, + eventviews, + incidenceeditor, + kcalendarcore, + kcalutils, + kconfig, + kdbusaddons, + kdeclarative, + kholidays, + ki18n, + kmime, + ktexteditor, + ktnef, + libgravatar, + libksieve, + mailcommon, + mailimporter, + messagelib, + poppler, + prison, + kpkpass, + kitinerary, + kontactinterface, + kaddressbook, + discount, }: mkDerivation { pname = "kdepim-addons"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; buildInputs = [ - akonadi-import-wizard akonadi-notes calendarsupport eventviews - incidenceeditor kcalendarcore kcalutils kconfig kdbusaddons kdeclarative - kholidays ki18n kmime ktexteditor ktnef libgravatar - libksieve mailcommon mailimporter messagelib poppler prison kpkpass - kitinerary kontactinterface kaddressbook discount + akonadi-import-wizard + akonadi-notes + calendarsupport + eventviews + incidenceeditor + kcalendarcore + kcalutils + kconfig + kdbusaddons + kdeclarative + kholidays + ki18n + kmime + ktexteditor + ktnef + libgravatar + libksieve + mailcommon + mailimporter + messagelib + poppler + prison + kpkpass + kitinerary + kontactinterface + kaddressbook + discount ]; } diff --git a/pkgs/applications/kde/kdepim-runtime/default.nix b/pkgs/applications/kde/kdepim-runtime/default.nix index b5158bfd15491..5287737fb4b10 100644 --- a/pkgs/applications/kde/kdepim-runtime/default.nix +++ b/pkgs/applications/kde/kdepim-runtime/default.nix @@ -1,29 +1,88 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, shared-mime-info, - akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes, - cyrus_sasl, kholidays, kcalutils, kcontacts, kdav, kidentitymanagement, - kimap, kldap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig, - pimcommon, libkgapi, libsecret, - qca-qt5, qtkeychain, qtnetworkauth, qtspeech, qtwebengine, qtxmlpatterns, + akonadi, + akonadi-calendar, + akonadi-contacts, + akonadi-mime, + akonadi-notes, + cyrus_sasl, + kholidays, + kcalutils, + kcontacts, + kdav, + kidentitymanagement, + kimap, + kldap, + kmailtransport, + kmbox, + kmime, + knotifications, + knotifyconfig, + pimcommon, + libkgapi, + libsecret, + qca-qt5, + qtkeychain, + qtnetworkauth, + qtspeech, + qtwebengine, + qtxmlpatterns, }: mkDerivation { pname = "kdepim-runtime"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + shared-mime-info + ]; buildInputs = [ - akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes - kholidays kcalutils kcontacts kdav kidentitymanagement kimap - kldap kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine - pimcommon libkgapi libsecret - qca-qt5 qtkeychain qtnetworkauth qtspeech qtxmlpatterns + akonadi + akonadi-calendar + akonadi-contacts + akonadi-mime + akonadi-notes + kholidays + kcalutils + kcontacts + kdav + kidentitymanagement + kimap + kldap + kmailtransport + kmbox + kmime + knotifications + knotifyconfig + qtwebengine + pimcommon + libkgapi + libsecret + qca-qt5 + qtkeychain + qtnetworkauth + qtspeech + qtxmlpatterns ]; qtWrapperArgs = [ - "--prefix SASL_PATH : ${lib.makeSearchPath "lib/sasl2" [ cyrus_sasl.out libkgapi ]}" + "--prefix SASL_PATH : ${ + lib.makeSearchPath "lib/sasl2" [ + cyrus_sasl.out + libkgapi + ] + }" ]; } diff --git a/pkgs/applications/kde/kdevelop/kdev-php.nix b/pkgs/applications/kde/kdevelop/kdev-php.nix index 46c4af8c1c078..5edb607cb40ee 100644 --- a/pkgs/applications/kde/kdevelop/kdev-php.nix +++ b/pkgs/applications/kde/kdevelop/kdev-php.nix @@ -1,10 +1,27 @@ -{ mkDerivation, lib, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, kdevelop-pg-qt }: +{ + mkDerivation, + lib, + cmake, + extra-cmake-modules, + threadweaver, + ktexteditor, + kdevelop-unwrapped, + kdevelop-pg-qt, +}: mkDerivation rec { pname = "kdev-php"; - nativeBuildInputs = [ cmake extra-cmake-modules ]; - buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = [ + kdevelop-pg-qt + threadweaver + ktexteditor + kdevelop-unwrapped + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/kde/kdevelop/kdev-python.nix b/pkgs/applications/kde/kdevelop/kdev-python.nix index 66335429bdd13..9c033837b0a81 100644 --- a/pkgs/applications/kde/kdevelop/kdev-python.nix +++ b/pkgs/applications/kde/kdevelop/kdev-python.nix @@ -1,5 +1,12 @@ -{ mkDerivation, lib, cmake, extra-cmake-modules -, threadweaver, ktexteditor, kdevelop-unwrapped, python39 +{ + mkDerivation, + lib, + cmake, + extra-cmake-modules, + threadweaver, + ktexteditor, + kdevelop-unwrapped, + python39, }: let # FIXME: stick with python 3.9 until MR supporting 3.10 is ready: @@ -13,8 +20,15 @@ mkDerivation rec { "-DPYTHON_EXECUTABLE=${python}/bin/python" ]; - nativeBuildInputs = [ cmake extra-cmake-modules ]; - buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = [ + threadweaver + ktexteditor + kdevelop-unwrapped + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/kde/kdevelop/kdevelop-pg-qt.nix b/pkgs/applications/kde/kdevelop/kdevelop-pg-qt.nix index 908c21bba8a65..f164e3f2e96f1 100644 --- a/pkgs/applications/kde/kdevelop/kdevelop-pg-qt.nix +++ b/pkgs/applications/kde/kdevelop/kdevelop-pg-qt.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, extra-cmake-modules, qtbase }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + extra-cmake-modules, + qtbase, +}: stdenv.mkDerivation rec { pname = "kdevelop-pg-qt"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-PVZgTEefjwSuMqUj7pHzB4xxcRfQ3rOelz4iSUy7ZfE="; }; - nativeBuildInputs = [ cmake pkg-config extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + pkg-config + extra-cmake-modules + ]; buildInputs = [ qtbase ]; diff --git a/pkgs/applications/kde/kdevelop/kdevelop.nix b/pkgs/applications/kde/kdevelop/kdevelop.nix index f62d71726b22d..7c99e4e23c300 100644 --- a/pkgs/applications/kde/kdevelop/kdevelop.nix +++ b/pkgs/applications/kde/kdevelop/kdevelop.nix @@ -1,11 +1,47 @@ -{ mkDerivation, lib, cmake, gettext, pkg-config, extra-cmake-modules -, qtquickcontrols, qttools, kde-cli-tools -, kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews -, kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor -, threadweaver, kxmlgui, kwindowsystem, grantlee, kcrash, karchive, kguiaddons -, plasma-framework, krunner, kdevelop-pg-qt, shared-mime-info, libkomparediff2 -, libksysguard, konsole, llvmPackages_13, makeWrapper, kpurpose, boost -, qtwebengine, cppcheck +{ + mkDerivation, + lib, + cmake, + gettext, + pkg-config, + extra-cmake-modules, + qtquickcontrols, + qttools, + kde-cli-tools, + kconfig, + kdeclarative, + kdoctools, + kiconthemes, + ki18n, + kitemmodels, + kitemviews, + kjobwidgets, + kcmutils, + kio, + knewstuff, + knotifyconfig, + kparts, + ktexteditor, + threadweaver, + kxmlgui, + kwindowsystem, + grantlee, + kcrash, + karchive, + kguiaddons, + plasma-framework, + krunner, + kdevelop-pg-qt, + shared-mime-info, + libkomparediff2, + libksysguard, + konsole, + llvmPackages_13, + makeWrapper, + kpurpose, + boost, + qtwebengine, + cppcheck, }: let @@ -15,21 +51,52 @@ mkDerivation rec { pname = "kdevelop"; nativeBuildInputs = [ - cmake gettext pkg-config extra-cmake-modules makeWrapper + cmake + gettext + pkg-config + extra-cmake-modules + makeWrapper ]; buildInputs = [ kdevelop-pg-qt - llvmPackages.llvm llvmPackages.libclang + llvmPackages.llvm + llvmPackages.libclang ]; propagatedBuildInputs = [ - qtquickcontrols boost libkomparediff2 - kconfig kdeclarative kdoctools kiconthemes ki18n kitemmodels kitemviews - kjobwidgets kcmutils kio knewstuff knotifyconfig kparts ktexteditor - threadweaver kxmlgui kwindowsystem grantlee plasma-framework krunner - shared-mime-info libksysguard konsole kcrash karchive kguiaddons kpurpose - cppcheck qtwebengine + qtquickcontrols + boost + libkomparediff2 + kconfig + kdeclarative + kdoctools + kiconthemes + ki18n + kitemmodels + kitemviews + kjobwidgets + kcmutils + kio + knewstuff + knotifyconfig + kparts + ktexteditor + threadweaver + kxmlgui + kwindowsystem + grantlee + plasma-framework + krunner + shared-mime-info + libksysguard + konsole + kcrash + karchive + kguiaddons + kpurpose + cppcheck + qtwebengine ]; # https://cgit.kde.org/kdevelop.git/commit/?id=716372ae2e8dff9c51e94d33443536786e4bd85b @@ -43,7 +110,12 @@ mkDerivation rec { postInstall = '' # The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH. wrapProgram "$out/bin/kdevelop!" \ - --prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + qttools + kde-cli-tools + ] + }" wrapQtApp "$out/bin/kdevelop" @@ -57,15 +129,17 @@ mkDerivation rec { maintainers = [ maintainers.ambrop72 ]; platforms = platforms.linux; description = "KDE official IDE"; - longDescription = - '' - A free, opensource IDE (Integrated Development Environment) - for MS Windows, Mac OsX, Linux, Solaris and FreeBSD. It is a - feature-full, plugin extendable IDE for C/C++ and other - programming languages. It is based on KDevPlatform, KDE and Qt - libraries and is under development since 1998. - ''; + longDescription = '' + A free, opensource IDE (Integrated Development Environment) + for MS Windows, Mac OsX, Linux, Solaris and FreeBSD. It is a + feature-full, plugin extendable IDE for C/C++ and other + programming languages. It is based on KDevPlatform, KDE and Qt + libraries and is under development since 1998. + ''; homepage = "https://www.kdevelop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; }; } diff --git a/pkgs/applications/kde/kdevelop/wrapper.nix b/pkgs/applications/kde/kdevelop/wrapper.nix index c73f2bba7b508..757e4d5db8d38 100644 --- a/pkgs/applications/kde/kdevelop/wrapper.nix +++ b/pkgs/applications/kde/kdevelop/wrapper.nix @@ -1,4 +1,9 @@ -{ lib, symlinkJoin, kdevelop-unwrapped, plugins ? null }: +{ + lib, + symlinkJoin, + kdevelop-unwrapped, + plugins ? null, +}: symlinkJoin { name = "kdevelop-with-plugins"; diff --git a/pkgs/applications/kde/kdf.nix b/pkgs/applications/kde/kdf.nix index 5c196d6a3b129..931d0ce88febc 100644 --- a/pkgs/applications/kde/kdf.nix +++ b/pkgs/applications/kde/kdf.nix @@ -1,7 +1,14 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kcmutils, ki18n, kiconthemes, kio, knotifications, kxmlgui, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kcmutils, + ki18n, + kiconthemes, + kio, + knotifications, + kxmlgui, }: mkDerivation { @@ -10,6 +17,16 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.peterhoeg ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcmutils ki18n kiconthemes kio knotifications kxmlgui ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcmutils + ki18n + kiconthemes + kio + knotifications + kxmlgui + ]; } diff --git a/pkgs/applications/kde/kdialog.nix b/pkgs/applications/kde/kdialog.nix index ea7393e72261b..857ce19890f57 100644 --- a/pkgs/applications/kde/kdialog.nix +++ b/pkgs/applications/kde/kdialog.nix @@ -1,7 +1,11 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kinit, kguiaddons, kwindowsystem + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kinit, + kguiaddons, + kwindowsystem, }: mkDerivation { @@ -10,11 +14,21 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/kdialog/"; description = "Display dialog boxes from shell scripts"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; maintainers = with lib.maintainers; [ peterhoeg ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; - propagatedBuildInputs = [ kinit kguiaddons kwindowsystem ]; + propagatedBuildInputs = [ + kinit + kguiaddons + kwindowsystem + ]; } diff --git a/pkgs/applications/kde/kdiamond.nix b/pkgs/applications/kde/kdiamond.nix index 7da4e4605289c..8415deb26180f 100644 --- a/pkgs/applications/kde/kdiamond.nix +++ b/pkgs/applications/kde/kdiamond.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, kconfig, knotifyconfig }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, + kconfig, + knotifyconfig, +}: mkDerivation { pname = "kdiamond"; diff --git a/pkgs/applications/kde/keditbookmarks.nix b/pkgs/applications/kde/keditbookmarks.nix index 8bc0ec8736130..f5fa35591c80b 100644 --- a/pkgs/applications/kde/keditbookmarks.nix +++ b/pkgs/applications/kde/keditbookmarks.nix @@ -1,16 +1,32 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kio, kparts, kwindowsystem + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kio, + kparts, + kwindowsystem, }: mkDerivation { pname = "keditbookmarks"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kio kparts kwindowsystem ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kio + kparts + kwindowsystem + ]; meta = with lib; { homepage = "http://www.kde.org"; - license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + bsd3 + ]; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/kde/keysmith.nix b/pkgs/applications/kde/keysmith.nix index 08327151b580a..427d708f99224 100644 --- a/pkgs/applications/kde/keysmith.nix +++ b/pkgs/applications/kde/keysmith.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kdbusaddons -, ki18n -, kirigami2 -, kirigami-addons -, kwindowsystem -, libsodium -, qtquickcontrols2 + kdbusaddons, + ki18n, + kirigami2, + kirigami-addons, + kwindowsystem, + libsodium, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/kde/kfind.nix b/pkgs/applications/kde/kfind.nix index e7449660fcd53..70b79716dc3d2 100644 --- a/pkgs/applications/kde/kfind.nix +++ b/pkgs/applications/kde/kfind.nix @@ -1,7 +1,14 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - karchive, kcoreaddons, kfilemetadata, ktextwidgets, kwidgetsaddons, kio + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + karchive, + kcoreaddons, + kfilemetadata, + ktextwidgets, + kwidgetsaddons, + kio, }: mkDerivation { @@ -13,8 +20,16 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.iblech ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - karchive kcoreaddons kfilemetadata ktextwidgets kwidgetsaddons kio + karchive + kcoreaddons + kfilemetadata + ktextwidgets + kwidgetsaddons + kio ]; } diff --git a/pkgs/applications/kde/kgeography.nix b/pkgs/applications/kde/kgeography.nix index 9e55ed5879d8c..e38c3a12bf929 100644 --- a/pkgs/applications/kde/kgeography.nix +++ b/pkgs/applications/kde/kgeography.nix @@ -1,7 +1,14 @@ -{ mkDerivation, lib -, cmake, extra-cmake-modules, qtbase -, kconfigwidgets, kxmlgui, kcrash, kdoctools -, kitemviews +{ + mkDerivation, + lib, + cmake, + extra-cmake-modules, + qtbase, + kconfigwidgets, + kxmlgui, + kcrash, + kdoctools, + kitemviews, }: mkDerivation { @@ -13,6 +20,16 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.globin ]; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; - buildInputs = [ qtbase kconfigwidgets kxmlgui kcrash kdoctools kitemviews ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = [ + qtbase + kconfigwidgets + kxmlgui + kcrash + kdoctools + kitemviews + ]; } diff --git a/pkgs/applications/kde/kget.nix b/pkgs/applications/kde/kget.nix index 1c537e9707114..d086b193cf80e 100644 --- a/pkgs/applications/kde/kget.nix +++ b/pkgs/applications/kde/kget.nix @@ -1,18 +1,47 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kdelibs4support, libgcrypt, libktorrent, qca-qt5, qgpgme, - kcmutils, kcompletion, kcoreaddons, knotifyconfig, kparts, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kdelibs4support, + libgcrypt, + libktorrent, + qca-qt5, + qgpgme, + kcmutils, + kcompletion, + kcoreaddons, + knotifyconfig, + kparts, + kwallet, + kwidgetsaddons, + kwindowsystem, + kxmlgui, }: mkDerivation { pname = "kget"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kdelibs4support libgcrypt libktorrent qca-qt5 qgpgme - kcmutils kcompletion kcoreaddons knotifyconfig kparts kwallet kwidgetsaddons kwindowsystem kxmlgui + kdelibs4support + libgcrypt + libktorrent + qca-qt5 + qgpgme + kcmutils + kcompletion + kcoreaddons + knotifyconfig + kparts + kwallet + kwidgetsaddons + kwindowsystem + kxmlgui ]; meta = with lib; { diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix index 0aa84dd5eaffc..8c4faa87f7278 100644 --- a/pkgs/applications/kde/kgpg.nix +++ b/pkgs/applications/kde/kgpg.nix @@ -1,18 +1,57 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, ki18n, makeWrapper, - akonadi-contacts, gnupg, karchive, kcodecs, kcontacts, kcoreaddons, - kcrash, kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice, - ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem, qgpgme, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + makeWrapper, + akonadi-contacts, + gnupg, + karchive, + kcodecs, + kcontacts, + kcoreaddons, + kcrash, + kdbusaddons, + kiconthemes, + kjobwidgets, + kio, + knotifications, + kservice, + ktextwidgets, + kxmlgui, + kwidgetsaddons, + kwindowsystem, + qgpgme, }: mkDerivation { pname = "kgpg"; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeWrapper + ]; buildInputs = [ - akonadi-contacts gnupg karchive kcodecs kcontacts kcoreaddons kcrash - kdbusaddons ki18n kiconthemes kjobwidgets kio knotifications kservice - ktextwidgets kxmlgui kwidgetsaddons kwindowsystem qgpgme + akonadi-contacts + gnupg + karchive + kcodecs + kcontacts + kcoreaddons + kcrash + kdbusaddons + ki18n + kiconthemes + kjobwidgets + kio + knotifications + kservice + ktextwidgets + kxmlgui + kwidgetsaddons + kwindowsystem + qgpgme ]; postFixup = '' wrapProgram "$out/bin/kgpg" --prefix PATH : "${lib.makeBinPath [ gnupg ]}" diff --git a/pkgs/applications/kde/khelpcenter.nix b/pkgs/applications/kde/khelpcenter.nix index 1638c3223de56..838705a3812ee 100644 --- a/pkgs/applications/kde/khelpcenter.nix +++ b/pkgs/applications/kde/khelpcenter.nix @@ -1,15 +1,37 @@ -{ lib, mkDerivation -, extra-cmake-modules, kdoctools -, grantlee, kcmutils, kconfig, kcoreaddons, kdbusaddons, ki18n -, kinit, khtml, kservice, xapian +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + grantlee, + kcmutils, + kconfig, + kcoreaddons, + kdbusaddons, + ki18n, + kinit, + khtml, + kservice, + xapian, }: mkDerivation { pname = "khelpcenter"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - grantlee kcmutils kconfig kcoreaddons kdbusaddons khtml - ki18n kinit kservice xapian + grantlee + kcmutils + kconfig + kcoreaddons + kdbusaddons + khtml + ki18n + kinit + kservice + xapian ]; preFixup = '' diff --git a/pkgs/applications/kde/kidentitymanagement.nix b/pkgs/applications/kde/kidentitymanagement.nix index 6316a86024b2e..024bed81044b4 100644 --- a/pkgs/applications/kde/kidentitymanagement.nix +++ b/pkgs/applications/kde/kidentitymanagement.nix @@ -1,22 +1,49 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kcompletion, kcoreaddons, kemoticons, kiconthemes, kio, kpimtextedit, - ktextwidgets, kxmlgui + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kcompletion, + kcoreaddons, + kemoticons, + kiconthemes, + kio, + kpimtextedit, + ktextwidgets, + kxmlgui, }: mkDerivation { pname = "kidentitymanagement"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kcompletion kemoticons kiconthemes kio ktextwidgets kxmlgui + kcompletion + kemoticons + kiconthemes + kio + ktextwidgets + kxmlgui + ]; + propagatedBuildInputs = [ + kcoreaddons + kpimtextedit + ]; + outputs = [ + "out" + "dev" ]; - propagatedBuildInputs = [ kcoreaddons kpimtextedit ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kig.nix b/pkgs/applications/kde/kig.nix index d04cc76fc22a4..9eb9c3e7a8534 100644 --- a/pkgs/applications/kde/kig.nix +++ b/pkgs/applications/kde/kig.nix @@ -1,7 +1,15 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - boost, karchive, kcrash, kiconthemes, kparts, ktexteditor, qtsvg, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + boost, + karchive, + kcrash, + kiconthemes, + kparts, + ktexteditor, + qtsvg, qtxmlpatterns, }: @@ -13,8 +21,18 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = with lib.maintainers; [ raskin ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - boost karchive kcrash kiconthemes kparts ktexteditor qtsvg qtxmlpatterns + boost + karchive + kcrash + kiconthemes + kparts + ktexteditor + qtsvg + qtxmlpatterns ]; } diff --git a/pkgs/applications/kde/kigo.nix b/pkgs/applications/kde/kigo.nix index 7d6b99fd136ae..d6780752c5462 100644 --- a/pkgs/applications/kde/kigo.nix +++ b/pkgs/applications/kde/kigo.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, knewstuff }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, + knewstuff, +}: mkDerivation { pname = "kigo"; diff --git a/pkgs/applications/kde/killbots.nix b/pkgs/applications/kde/killbots.nix index 39a774b8212ed..dd3500be7ffaa 100644 --- a/pkgs/applications/kde/killbots.nix +++ b/pkgs/applications/kde/killbots.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "killbots"; diff --git a/pkgs/applications/kde/kimap.nix b/pkgs/applications/kde/kimap.nix index b910328c2cada..fd0a21d4312e9 100644 --- a/pkgs/applications/kde/kimap.nix +++ b/pkgs/applications/kde/kimap.nix @@ -1,19 +1,45 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - cyrus_sasl, kcoreaddons, ki18n, kio, kmime, kitemmodels + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + cyrus_sasl, + kcoreaddons, + ki18n, + kio, + kmime, + kitemmodels, }: mkDerivation { pname = "kimap"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ ki18n kio ]; - propagatedBuildInputs = [ cyrus_sasl kcoreaddons kmime kitemmodels ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + ki18n + kio + ]; + propagatedBuildInputs = [ + cyrus_sasl + kcoreaddons + kmime + kitemmodels + ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kio-admin.nix b/pkgs/applications/kde/kio-admin.nix index 70215ee863ed2..824ef5edb66ea 100644 --- a/pkgs/applications/kde/kio-admin.nix +++ b/pkgs/applications/kde/kio-admin.nix @@ -1,10 +1,23 @@ -{ mkDerivation, lib, extra-cmake-modules, qtbase, kio, ki18n, polkit-qt }: +{ + mkDerivation, + lib, + extra-cmake-modules, + qtbase, + kio, + ki18n, + polkit-qt, +}: mkDerivation { pname = "kio-admin"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase kio ki18n polkit-qt ]; + buildInputs = [ + qtbase + kio + ki18n + polkit-qt + ]; meta = with lib; { description = "Manage files as administrator using the admin:// KIO protocol"; diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix index 880fba59b1cbe..21738a1ac1428 100644 --- a/pkgs/applications/kde/kio-extras.nix +++ b/pkgs/applications/kde/kio-extras.nix @@ -1,23 +1,87 @@ { - mkDerivation, lib, extra-cmake-modules, kdoctools, shared-mime-info, - exiv2, kactivities, kactivities-stats, karchive, kbookmarks, kconfig, kconfigwidgets, - kcoreaddons, kdbusaddons, kdsoap, kguiaddons, kdnssd, kiconthemes, ki18n, kio, - khtml, kpty, syntax-highlighting, libmtp, libssh, openexr, libtirpc, - ilmbase, phonon, qtsvg, samba, solid, gperf, taglib, libX11, libXcursor + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + shared-mime-info, + exiv2, + kactivities, + kactivities-stats, + karchive, + kbookmarks, + kconfig, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kdsoap, + kguiaddons, + kdnssd, + kiconthemes, + ki18n, + kio, + khtml, + kpty, + syntax-highlighting, + libmtp, + libssh, + openexr, + libtirpc, + ilmbase, + phonon, + qtsvg, + samba, + solid, + gperf, + taglib, + libX11, + libXcursor, }: mkDerivation { pname = "kio-extras"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + shared-mime-info + ]; buildInputs = [ - exiv2 kactivities kactivities-stats karchive kbookmarks kconfig kconfigwidgets kcoreaddons - kdbusaddons kdsoap kguiaddons kdnssd kiconthemes ki18n kio khtml - kpty syntax-highlighting libmtp libssh openexr libtirpc - phonon qtsvg samba solid gperf taglib libX11 libXcursor + exiv2 + kactivities + kactivities-stats + karchive + kbookmarks + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kdsoap + kguiaddons + kdnssd + kiconthemes + ki18n + kio + khtml + kpty + syntax-highlighting + libmtp + libssh + openexr + libtirpc + phonon + qtsvg + samba + solid + gperf + taglib + libX11 + libXcursor ]; # org.kde.kmtpd5 DBUS service launches kiod5 binary from kio derivation, not from kio-extras diff --git a/pkgs/applications/kde/kio-gdrive.nix b/pkgs/applications/kde/kio-gdrive.nix index 0be35469d4068..13076e58987cd 100644 --- a/pkgs/applications/kde/kio-gdrive.nix +++ b/pkgs/applications/kde/kio-gdrive.nix @@ -1,14 +1,15 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, kio -, libkgapi -, kcalendarcore -, kcontacts -, qtkeychain -, libsecret -, kaccounts-integration +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kio, + libkgapi, + kcalendarcore, + kcontacts, + qtkeychain, + libsecret, + kaccounts-integration, }: mkDerivation { diff --git a/pkgs/applications/kde/kipi-plugins.nix b/pkgs/applications/kde/kipi-plugins.nix index 8dde231b7cecb..a9de8cf2dabb0 100644 --- a/pkgs/applications/kde/kipi-plugins.nix +++ b/pkgs/applications/kde/kipi-plugins.nix @@ -1,17 +1,38 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - karchive, kconfig, ki18n, kiconthemes, kio, kservice, kwindowsystem, kxmlgui, - libkipi, qtbase, qtsvg, qtxmlpatterns + karchive, + kconfig, + ki18n, + kiconthemes, + kio, + kservice, + kwindowsystem, + kxmlgui, + libkipi, + qtbase, + qtsvg, + qtxmlpatterns, }: mkDerivation { - pname = "kipi-plugins"; + pname = "kipi-plugins"; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ - karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi - qtbase qtsvg qtxmlpatterns + karchive + kconfig + ki18n + kiconthemes + kio + kservice + kwindowsystem + kxmlgui + libkipi + qtbase + qtsvg + qtxmlpatterns ]; meta = { diff --git a/pkgs/applications/kde/kirigami-gallery.nix b/pkgs/applications/kde/kirigami-gallery.nix index 492d687e01d72..34ce15ffc6d12 100644 --- a/pkgs/applications/kde/kirigami-gallery.nix +++ b/pkgs/applications/kde/kirigami-gallery.nix @@ -1,17 +1,21 @@ -{ mkDerivation -, lib -, kirigami2 -, extra-cmake-modules -, kitemmodels -, qtgraphicaleffects -, qtquickcontrols2 -, qttools +{ + mkDerivation, + lib, + kirigami2, + extra-cmake-modules, + kitemmodels, + qtgraphicaleffects, + qtquickcontrols2, + qttools, }: mkDerivation { pname = "kirigami-gallery"; - nativeBuildInputs = [ extra-cmake-modules qttools ]; + nativeBuildInputs = [ + extra-cmake-modules + qttools + ]; buildInputs = [ qtgraphicaleffects diff --git a/pkgs/applications/kde/kitinerary.nix b/pkgs/applications/kde/kitinerary.nix index d795e4fac4c89..0ccc338badb1b 100644 --- a/pkgs/applications/kde/kitinerary.nix +++ b/pkgs/applications/kde/kitinerary.nix @@ -1,7 +1,16 @@ -{ mkDerivation, lib, extra-cmake-modules -, qtdeclarative, ki18n, kmime, kpkpass -, poppler, kcontacts, kcalendarcore -, shared-mime-info, zxing-cpp +{ + mkDerivation, + lib, + extra-cmake-modules, + qtdeclarative, + ki18n, + kmime, + kpkpass, + poppler, + kcontacts, + kcalendarcore, + shared-mime-info, + zxing-cpp, }: mkDerivation { @@ -15,9 +24,18 @@ mkDerivation { shared-mime-info # for update-mime-database ]; buildInputs = [ - qtdeclarative kmime kpkpass poppler - kcontacts kcalendarcore ki18n zxing-cpp + qtdeclarative + kmime + kpkpass + poppler + kcontacts + kcalendarcore + ki18n + zxing-cpp ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/kldap.nix b/pkgs/applications/kde/kldap.nix index b7c7777a9a5ef..2cd16f9235f77 100644 --- a/pkgs/applications/kde/kldap.nix +++ b/pkgs/applications/kde/kldap.nix @@ -1,19 +1,47 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - cyrus_sasl, ki18n, kio, kmbox, libsecret, openldap, qtkeychain + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + cyrus_sasl, + ki18n, + kio, + kmbox, + libsecret, + openldap, + qtkeychain, }: mkDerivation { pname = "kldap"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ ki18n kio kmbox libsecret qtkeychain ]; - propagatedBuildInputs = [ cyrus_sasl openldap ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + ki18n + kio + kmbox + libsecret + qtkeychain + ]; + propagatedBuildInputs = [ + cyrus_sasl + openldap + ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kleopatra.nix b/pkgs/applications/kde/kleopatra.nix index fc844796acd02..1b07daee7a338 100644 --- a/pkgs/applications/kde/kleopatra.nix +++ b/pkgs/applications/kde/kleopatra.nix @@ -1,24 +1,56 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - boost, gpgme, kcmutils, kdbusaddons, kiconthemes, kitemmodels, kmime, - knotifications, kwindowsystem, kxmlgui, libkleo, kcrash, kpipewire + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + boost, + gpgme, + kcmutils, + kdbusaddons, + kiconthemes, + kitemmodels, + kmime, + knotifications, + kwindowsystem, + kxmlgui, + libkleo, + kcrash, + kpipewire, }: mkDerivation { pname = "kleopatra"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - boost gpgme kcmutils kdbusaddons kiconthemes kitemmodels kmime - knotifications kwindowsystem kxmlgui libkleo kcrash kpipewire + boost + gpgme + kcmutils + kdbusaddons + kiconthemes + kitemmodels + kmime + knotifications + kwindowsystem + kxmlgui + libkleo + kcrash + kpipewire ]; meta = { homepage = "https://apps.kde.org/kleopatra/"; description = "Certificate manager and unified crypto GUI"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; } diff --git a/pkgs/applications/kde/klettres.nix b/pkgs/applications/kde/klettres.nix index 806aa6583d5c3..6e87d56519850 100644 --- a/pkgs/applications/kde/klettres.nix +++ b/pkgs/applications/kde/klettres.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, phonon, knewstuff }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + phonon, + knewstuff, +}: mkDerivation { pname = "klettres"; diff --git a/pkgs/applications/kde/klines.nix b/pkgs/applications/kde/klines.nix index de628516c826c..36d76211c81d2 100644 --- a/pkgs/applications/kde/klines.nix +++ b/pkgs/applications/kde/klines.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "klines"; diff --git a/pkgs/applications/kde/kmag.nix b/pkgs/applications/kde/kmag.nix index adf63b145f89c..b12e36917623e 100644 --- a/pkgs/applications/kde/kmag.nix +++ b/pkgs/applications/kde/kmag.nix @@ -1,4 +1,11 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, +}: mkDerivation { pname = "kmag"; diff --git a/pkgs/applications/kde/kmahjongg.nix b/pkgs/applications/kde/kmahjongg.nix index 6b089aa156acd..9d3bef13e588d 100644 --- a/pkgs/applications/kde/kmahjongg.nix +++ b/pkgs/applications/kde/kmahjongg.nix @@ -1,17 +1,26 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, kdeclarative -, knewstuff -, libkdegames -, libkmahjongg +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kdeclarative, + knewstuff, + libkdegames, + libkmahjongg, }: mkDerivation { pname = "kmahjongg"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kdeclarative libkmahjongg knewstuff libkdegames ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kdeclarative + libkmahjongg + knewstuff + libkdegames + ]; meta = { description = "Mahjongg solitaire"; mainProgram = "kmahjongg"; diff --git a/pkgs/applications/kde/kmail-account-wizard.nix b/pkgs/applications/kde/kmail-account-wizard.nix index 216586076aeca..6a2e867fa3468 100644 --- a/pkgs/applications/kde/kmail-account-wizard.nix +++ b/pkgs/applications/kde/kmail-account-wizard.nix @@ -1,21 +1,63 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, shared-mime-info, - akonadi, kcmutils, kcrash, kdbusaddons, kidentitymanagement, kldap, - kmailtransport, knewstuff, knotifications, knotifyconfig, kparts, kross, ktexteditor, - kwallet, libkdepim, libkleo, pimcommon, qttools, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + shared-mime-info, + akonadi, + kcmutils, + kcrash, + kdbusaddons, + kidentitymanagement, + kldap, + kmailtransport, + knewstuff, + knotifications, + knotifyconfig, + kparts, + kross, + ktexteditor, + kwallet, + libkdepim, + libkleo, + pimcommon, + qttools, }: mkDerivation { pname = "kmail-account-wizard"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + shared-mime-info + ]; buildInputs = [ - akonadi kcmutils kcrash kdbusaddons kidentitymanagement kldap kmailtransport - knewstuff knotifications knotifyconfig kparts kross ktexteditor kwallet libkdepim - libkleo pimcommon qttools + akonadi + kcmutils + kcrash + kdbusaddons + kidentitymanagement + kldap + kmailtransport + knewstuff + knotifications + knotifyconfig + kparts + kross + ktexteditor + kwallet + libkdepim + libkleo + pimcommon + qttools ]; } diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix index 29a60880f1274..d8876da285a52 100644 --- a/pkgs/applications/kde/kmail.nix +++ b/pkgs/applications/kde/kmail.nix @@ -1,54 +1,55 @@ -{ mkDerivation -, lib -, akonadi -, akonadi-import-wizard -, akonadi-search -, extra-cmake-modules -, kaddressbook -, kbookmarks -, kcalutils -, kcmutils -, kcompletion -, kconfig -, kconfigwidgets -, kcoreaddons -, kdepim-addons -, kdepim-runtime -, kdepimTeam -, kdoctools -, kguiaddons -, ki18n -, kiconthemes -, kinit -, kio -, kldap -, kleopatra -, kmail-account-wizard -, kmailtransport -, knotifications -, knotifyconfig -, kontactinterface -, kparts -, kpty -, kservice -, ktextwidgets -, ktnef -, kuserfeedback -, kwallet -, kwidgetsaddons -, kwindowsystem -, kxmlgui -, libgravatar -, libkdepim -, libksieve -, libsecret -, mailcommon -, messagelib -, pim-data-exporter -, pim-sieve-editor -, qtkeychain -, qtscript -, qtwebengine +{ + mkDerivation, + lib, + akonadi, + akonadi-import-wizard, + akonadi-search, + extra-cmake-modules, + kaddressbook, + kbookmarks, + kcalutils, + kcmutils, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kdepim-addons, + kdepim-runtime, + kdepimTeam, + kdoctools, + kguiaddons, + ki18n, + kiconthemes, + kinit, + kio, + kldap, + kleopatra, + kmail-account-wizard, + kmailtransport, + knotifications, + knotifyconfig, + kontactinterface, + kparts, + kpty, + kservice, + ktextwidgets, + ktnef, + kuserfeedback, + kwallet, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + libgravatar, + libkdepim, + libksieve, + libsecret, + mailcommon, + messagelib, + pim-data-exporter, + pim-sieve-editor, + qtkeychain, + qtscript, + qtwebengine, }: mkDerivation { @@ -56,10 +57,17 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/kmail2/"; description = "Mail client"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ akonadi-search kbookmarks @@ -105,10 +113,26 @@ mkDerivation { kleopatra pim-data-exporter ]; - outputs = [ "out" "doc" ]; - propagatedUserEnvPkgs = [ kdepim-runtime kwallet akonadi ]; + outputs = [ + "out" + "doc" + ]; + propagatedUserEnvPkgs = [ + kdepim-runtime + kwallet + akonadi + ]; postFixup = '' wrapProgram "$out/bin/kmail" \ - --prefix PATH : "${lib.makeBinPath [ akonadi akonadi-import-wizard kaddressbook kleopatra kmail-account-wizard pim-data-exporter ]}" + --prefix PATH : "${ + lib.makeBinPath [ + akonadi + akonadi-import-wizard + kaddressbook + kleopatra + kmail-account-wizard + pim-data-exporter + ] + }" ''; } diff --git a/pkgs/applications/kde/kmailtransport.nix b/pkgs/applications/kde/kmailtransport.nix index ab6700144a815..335e4a42b663f 100644 --- a/pkgs/applications/kde/kmailtransport.nix +++ b/pkgs/applications/kde/kmailtransport.nix @@ -1,24 +1,61 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, cyrus_sasl, kcmutils, - ki18n, kio, kmime, kwallet, ksmtp, libkgapi, - kcalendarcore, kcontacts, qtkeychain, libsecret + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-mime, + cyrus_sasl, + kcmutils, + ki18n, + kio, + kmime, + kwallet, + ksmtp, + libkgapi, + kcalendarcore, + kcontacts, + qtkeychain, + libsecret, }: mkDerivation { pname = "kmailtransport"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi kcmutils ki18n kio ksmtp libkgapi kcalendarcore kcontacts - qtkeychain libsecret + akonadi + kcmutils + ki18n + kio + ksmtp + libkgapi + kcalendarcore + kcontacts + qtkeychain + libsecret + ]; + propagatedBuildInputs = [ + akonadi-mime + cyrus_sasl + kmime + kwallet + ]; + outputs = [ + "out" + "dev" ]; - propagatedBuildInputs = [ akonadi-mime cyrus_sasl kmime kwallet ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kmbox.nix b/pkgs/applications/kde/kmbox.nix index 9a835116c42f9..d14d3dba08b5b 100644 --- a/pkgs/applications/kde/kmbox.nix +++ b/pkgs/applications/kde/kmbox.nix @@ -1,18 +1,37 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kmime, qtbase, kcodecs + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kmime, + qtbase, + kcodecs, }: mkDerivation { pname = "kmbox"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kmime qtbase kcodecs ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kmime + qtbase + kcodecs + ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kmime.nix b/pkgs/applications/kde/kmime.nix index fe8442e9d19dd..6e2ad294db1c6 100644 --- a/pkgs/applications/kde/kmime.nix +++ b/pkgs/applications/kde/kmime.nix @@ -1,7 +1,11 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, ki18n, - kcodecs, qtbase, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + ki18n, + kcodecs, + qtbase, }: mkDerivation { @@ -11,8 +15,15 @@ mkDerivation { maintainers = kdepimTeam; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kcodecs ki18n qtbase ]; - outputs = [ "out" "dev" ]; + buildInputs = [ + kcodecs + ki18n + qtbase + ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kmines.nix b/pkgs/applications/kde/kmines.nix index 99413733b13bb..d527f9f0aff2b 100644 --- a/pkgs/applications/kde/kmines.nix +++ b/pkgs/applications/kde/kmines.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, libkdegames, kconfig, kcrash, kdoctools, ki18n, kio }: +{ + mkDerivation, + lib, + extra-cmake-modules, + libkdegames, + kconfig, + kcrash, + kdoctools, + ki18n, + kio, +}: mkDerivation { pname = "kmines"; diff --git a/pkgs/applications/kde/kmix.nix b/pkgs/applications/kde/kmix.nix index 352fd129ce945..1c433395dc24f 100644 --- a/pkgs/applications/kde/kmix.nix +++ b/pkgs/applications/kde/kmix.nix @@ -1,8 +1,15 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kglobalaccel, kxmlgui, kcoreaddons, - plasma-framework, libpulseaudio, alsa-lib, libcanberra_kde + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kglobalaccel, + kxmlgui, + kcoreaddons, + plasma-framework, + libpulseaudio, + alsa-lib, + libcanberra_kde, }: mkDerivation { @@ -10,13 +17,25 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/kmix/"; description = "Sound mixer"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = [ lib.maintainers.rongcuid ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - alsa-lib kglobalaccel kxmlgui kcoreaddons - libcanberra_kde libpulseaudio plasma-framework + alsa-lib + kglobalaccel + kxmlgui + kcoreaddons + libcanberra_kde + libpulseaudio + plasma-framework ]; cmakeFlags = [ "-DKMIX_KF5_BUILD=1" ]; } diff --git a/pkgs/applications/kde/kmousetool.nix b/pkgs/applications/kde/kmousetool.nix index bedcbb6bc4dc0..b750a34d1899b 100644 --- a/pkgs/applications/kde/kmousetool.nix +++ b/pkgs/applications/kde/kmousetool.nix @@ -1,20 +1,24 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, ki18n -, kiconthemes -, knotifications -, kxmlgui -, kwindowsystem -, phonon -, libXtst -, libXt +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kiconthemes, + knotifications, + kxmlgui, + kwindowsystem, + phonon, + libXtst, + libXt, }: mkDerivation { pname = "kmousetool"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ ki18n kiconthemes @@ -29,8 +33,10 @@ mkDerivation { homepage = "https://github.com/KDE/kmousetool"; description = "Program that clicks the mouse for you"; mainProgram = "kmousetool"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; maintainers = [ lib.maintainers.jayesh-bhoot ]; }; } - diff --git a/pkgs/applications/kde/kmplot.nix b/pkgs/applications/kde/kmplot.nix index 4781982153962..b4a35a8bbc09f 100644 --- a/pkgs/applications/kde/kmplot.nix +++ b/pkgs/applications/kde/kmplot.nix @@ -1,5 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools -, kcrash, kguiaddons, ki18n, kparts, kwidgetsaddons, kdbusaddons +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kcrash, + kguiaddons, + ki18n, + kparts, + kwidgetsaddons, + kdbusaddons, }: mkDerivation { @@ -8,11 +17,22 @@ mkDerivation { homepage = "https://apps.kde.org/kmplot/"; description = "Mathematical function plotter"; mainProgram = "kmplot"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; maintainers = [ lib.maintainers.orivej ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kcrash kguiaddons ki18n kparts kwidgetsaddons kdbusaddons + kcrash + kguiaddons + ki18n + kparts + kwidgetsaddons + kdbusaddons ]; } diff --git a/pkgs/applications/kde/knavalbattle.nix b/pkgs/applications/kde/knavalbattle.nix index b405bfe1834d7..dce8ac5f0515d 100644 --- a/pkgs/applications/kde/knavalbattle.nix +++ b/pkgs/applications/kde/knavalbattle.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, kdnssd }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, + kdnssd, +}: mkDerivation { pname = "knavalbattle"; diff --git a/pkgs/applications/kde/knetwalk.nix b/pkgs/applications/kde/knetwalk.nix index a74b18d184d7c..14c301c065218 100644 --- a/pkgs/applications/kde/knetwalk.nix +++ b/pkgs/applications/kde/knetwalk.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "knetwalk"; diff --git a/pkgs/applications/kde/knights.nix b/pkgs/applications/kde/knights.nix index ae0d1d62fe573..a96486d62dbfc 100644 --- a/pkgs/applications/kde/knights.nix +++ b/pkgs/applications/kde/knights.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, kplotting, plasma-framework, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + kplotting, + plasma-framework, + libkdegames, +}: mkDerivation { pname = "knights"; diff --git a/pkgs/applications/kde/knotes.nix b/pkgs/applications/kde/knotes.nix index a465b82041a0f..cf8bf1658bb7d 100644 --- a/pkgs/applications/kde/knotes.nix +++ b/pkgs/applications/kde/knotes.nix @@ -1,26 +1,79 @@ -{ lib, mkDerivation -, extra-cmake-modules, kdoctools -, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash -, kdbusaddons, kdnssd, kglobalaccel, kiconthemes, kitemmodels -, kitemviews, kcmutils, knewstuff, knotifications, knotifyconfig -, kparts, ktextwidgets, kwidgetsaddons, kwindowsystem -, grantlee, grantleetheme, qtx11extras -, akonadi, akonadi-notes, akonadi-search, kcalutils -, kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit -, kcalendarcore +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kcrash, + kdbusaddons, + kdnssd, + kglobalaccel, + kiconthemes, + kitemmodels, + kitemviews, + kcmutils, + knewstuff, + knotifications, + knotifyconfig, + kparts, + ktextwidgets, + kwidgetsaddons, + kwindowsystem, + grantlee, + grantleetheme, + qtx11extras, + akonadi, + akonadi-notes, + akonadi-search, + kcalutils, + kontactinterface, + libkdepim, + kmime, + pimcommon, + kpimtextedit, + kcalendarcore, }: mkDerivation { pname = "knotes"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kcompletion kconfig kconfigwidgets kcoreaddons kcrash - kdbusaddons kdnssd kglobalaccel kiconthemes kitemmodels kitemviews - kcmutils knewstuff knotifications knotifyconfig kparts ktextwidgets - kwidgetsaddons kwindowsystem - grantlee grantleetheme qtx11extras - akonadi akonadi-notes kcalutils kontactinterface - libkdepim kmime pimcommon kpimtextedit + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kdnssd + kglobalaccel + kiconthemes + kitemmodels + kitemviews + kcmutils + knewstuff + knotifications + knotifyconfig + kparts + ktextwidgets + kwidgetsaddons + kwindowsystem + grantlee + grantleetheme + qtx11extras + akonadi + akonadi-notes + kcalutils + kontactinterface + libkdepim + kmime + pimcommon + kpimtextedit akonadi-search kcalendarcore ]; diff --git a/pkgs/applications/kde/koko.nix b/pkgs/applications/kde/koko.nix index 4ea96c995bd20..38b0a3f69887f 100644 --- a/pkgs/applications/kde/koko.nix +++ b/pkgs/applications/kde/koko.nix @@ -1,25 +1,26 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, fetchurl -, cmake -, extra-cmake-modules + fetchurl, + cmake, + extra-cmake-modules, -, exiv2 -, kconfig -, kcoreaddons -, kdeclarative -, kfilemetadata -, kguiaddons -, ki18n -, kio -, kirigami2 -, knotifications -, kpurpose -, kquickimageedit -, qtgraphicaleffects -, qtlocation -, qtquickcontrols2 + exiv2, + kconfig, + kcoreaddons, + kdeclarative, + kfilemetadata, + kguiaddons, + ki18n, + kio, + kirigami2, + knotifications, + kpurpose, + kquickimageedit, + qtgraphicaleffects, + qtlocation, + qtquickcontrols2, }: let @@ -76,7 +77,10 @@ mkDerivation rec { mainProgram = "koko"; homepage = "https://apps.kde.org/koko/"; # LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL - license = [ licenses.lgpl3Only licenses.lgpl21Only ]; + license = [ + licenses.lgpl3Only + licenses.lgpl21Only + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/kde/kolf.nix b/pkgs/applications/kde/kolf.nix index 7d966e60c6793..eeddcf100710f 100644 --- a/pkgs/applications/kde/kolf.nix +++ b/pkgs/applications/kde/kolf.nix @@ -1,14 +1,24 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, libkdegames, kio, ktextwidgets +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + libkdegames, + kio, + ktextwidgets, }: mkDerivation { pname = "kolf"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ libkdegames kio ktextwidgets ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + libkdegames + kio + ktextwidgets + ]; meta = { homepage = "https://apps.kde.org/kolf/"; description = "Miniature golf"; diff --git a/pkgs/applications/kde/kollision.nix b/pkgs/applications/kde/kollision.nix index 96e34f69c93b3..eced7728016e0 100644 --- a/pkgs/applications/kde/kollision.nix +++ b/pkgs/applications/kde/kollision.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, +}: mkDerivation { pname = "kollision"; diff --git a/pkgs/applications/kde/kolourpaint.nix b/pkgs/applications/kde/kolourpaint.nix index 0844cbe0a23ea..1182cdf8d6be9 100644 --- a/pkgs/applications/kde/kolourpaint.nix +++ b/pkgs/applications/kde/kolourpaint.nix @@ -1,20 +1,29 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, kguiaddons -, kio -, ktextwidgets -, kwidgetsaddons -, kxmlgui -, libkexiv2 +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kguiaddons, + kio, + ktextwidgets, + kwidgetsaddons, + kxmlgui, + libkexiv2, }: mkDerivation { pname = "kolourpaint"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kguiaddons kio ktextwidgets kwidgetsaddons kxmlgui libkexiv2 + kguiaddons + kio + ktextwidgets + kwidgetsaddons + kxmlgui + libkexiv2 ]; meta = { homepage = "https://apps.kde.org/kolourpaint/"; diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix index 27c2d646413ba..efcc37a339038 100644 --- a/pkgs/applications/kde/kompare.nix +++ b/pkgs/applications/kde/kompare.nix @@ -1,7 +1,13 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kiconthemes, + kparts, + ktexteditor, + kwidgetsaddons, + libkomparediff2, }: mkDerivation { @@ -12,9 +18,19 @@ mkDerivation { mainProgram = "kompare"; license = with lib.licenses; [ gpl2 ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kiconthemes kparts ktexteditor kwidgetsaddons libkomparediff2 + kiconthemes + kparts + ktexteditor + kwidgetsaddons + libkomparediff2 + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/kongress.nix b/pkgs/applications/kde/kongress.nix index f5bfa9f919d11..75c650c2c85f7 100644 --- a/pkgs/applications/kde/kongress.nix +++ b/pkgs/applications/kde/kongress.nix @@ -1,14 +1,15 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, qtquickcontrols2 -, kcalendarcore -, kconfig -, kcoreaddons -, kdbusaddons -, kirigami2 -, ki18n -, knotifications +{ + mkDerivation, + lib, + extra-cmake-modules, + qtquickcontrols2, + kcalendarcore, + kconfig, + kcoreaddons, + kdbusaddons, + kirigami2, + ki18n, + knotifications, }: mkDerivation { diff --git a/pkgs/applications/kde/konqueror.nix b/pkgs/applications/kde/konqueror.nix index f048879ea545d..ce734cb3024a3 100644 --- a/pkgs/applications/kde/konqueror.nix +++ b/pkgs/applications/kde/konqueror.nix @@ -1,16 +1,33 @@ -{ lib -, mkDerivation -, extra-cmake-modules, kdoctools -, kinit, kcmutils, khtml, kdesu -, qtwebengine, qtx11extras, qtscript, qtwayland +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kinit, + kcmutils, + khtml, + kdesu, + qtwebengine, + qtx11extras, + qtscript, + qtwayland, }: mkDerivation { pname = "konqueror"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kcmutils khtml kinit kdesu - qtwebengine qtx11extras qtscript qtwayland + kcmutils + khtml + kinit + kdesu + qtwebengine + qtx11extras + qtscript + qtwayland ]; # InitialPreference values are too high and any text/html ends up diff --git a/pkgs/applications/kde/konquest.nix b/pkgs/applications/kde/konquest.nix index ca5be592af141..5de5fc7eb5df3 100644 --- a/pkgs/applications/kde/konquest.nix +++ b/pkgs/applications/kde/konquest.nix @@ -1,23 +1,33 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, kconfig -, kcoreaddons -, kcrash -, kdbusaddons -, kguiaddons -, kxmlgui -, kwidgetsaddons -, libkdegames -, qtquickcontrols +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kconfig, + kcoreaddons, + kcrash, + kdbusaddons, + kguiaddons, + kxmlgui, + kwidgetsaddons, + libkdegames, + qtquickcontrols, }: mkDerivation { pname = "konquest"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kconfig kcoreaddons kcrash kdbusaddons kguiaddons kxmlgui kwidgetsaddons + kconfig + kcoreaddons + kcrash + kdbusaddons + kguiaddons + kxmlgui + kwidgetsaddons libkdegames qtquickcontrols ]; diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix index e063743186dc3..3a5ba815b9565 100644 --- a/pkgs/applications/kde/konsole.nix +++ b/pkgs/applications/kde/konsole.nix @@ -1,10 +1,31 @@ { - mkDerivation, lib, nixosTests, - extra-cmake-modules, kdoctools, - kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons, - ki18n, kiconthemes, kinit, kio, knotifications, - knotifyconfig, kparts, kpty, kservice, ktextwidgets, kwidgetsaddons, - kwindowsystem, kxmlgui, qtscript, knewstuff, qtmultimedia + mkDerivation, + lib, + nixosTests, + extra-cmake-modules, + kdoctools, + kbookmarks, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kguiaddons, + ki18n, + kiconthemes, + kinit, + kio, + knotifications, + knotifyconfig, + kparts, + kpty, + kservice, + ktextwidgets, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + qtscript, + knewstuff, + qtmultimedia, }: mkDerivation { @@ -12,15 +33,41 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/konsole/"; description = "KDE terminal emulator"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = with lib.maintainers; [ ttuegel ]; mainProgram = "konsole"; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons - kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty - kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff qtmultimedia + kbookmarks + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kguiaddons + ki18n + kiconthemes + kinit + kio + knotifications + knotifyconfig + kparts + kpty + kservice + ktextwidgets + kwidgetsaddons + kwindowsystem + kxmlgui + qtscript + knewstuff + qtmultimedia ]; passthru.tests.test = nixosTests.terminal-emulators.konsole; diff --git a/pkgs/applications/kde/kontact.nix b/pkgs/applications/kde/kontact.nix index f405b9af20abe..7923157c96f4f 100644 --- a/pkgs/applications/kde/kontact.nix +++ b/pkgs/applications/kde/kontact.nix @@ -1,11 +1,28 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, qtwebengine, - kcmutils, kcrash, kdbusaddons, kparts, kwindowsystem, - akonadi, grantleetheme, kontactinterface, kpimtextedit, - mailcommon, libkdepim, pimcommon, - akregator, kaddressbook, kmail, knotes, korganizer, zanshin + kcmutils, + kcrash, + kdbusaddons, + kparts, + kwindowsystem, + akonadi, + grantleetheme, + kontactinterface, + kpimtextedit, + mailcommon, + libkdepim, + pimcommon, + akregator, + kaddressbook, + kmail, + knotes, + korganizer, + zanshin, }: mkDerivation { @@ -14,15 +31,36 @@ mkDerivation { homepage = "https://apps.kde.org/kontact/"; description = "Personal information manager"; mainProgram = "kontact"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ qtwebengine - kcmutils kcrash kdbusaddons kparts kwindowsystem - akonadi grantleetheme kontactinterface kpimtextedit - mailcommon libkdepim pimcommon - akregator kaddressbook kmail knotes korganizer zanshin + kcmutils + kcrash + kdbusaddons + kparts + kwindowsystem + akonadi + grantleetheme + kontactinterface + kpimtextedit + mailcommon + libkdepim + pimcommon + akregator + kaddressbook + kmail + knotes + korganizer + zanshin ]; } diff --git a/pkgs/applications/kde/kontactinterface.nix b/pkgs/applications/kde/kontactinterface.nix index 43e09777bddd1..c1b7957dee4ee 100644 --- a/pkgs/applications/kde/kontactinterface.nix +++ b/pkgs/applications/kde/kontactinterface.nix @@ -1,19 +1,35 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kiconthemes, kparts, kwindowsystem, kxmlgui, - qtx11extras + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kiconthemes, + kparts, + kwindowsystem, + kxmlgui, + qtx11extras, }: mkDerivation { pname = "kontactinterface"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kiconthemes kwindowsystem kxmlgui qtx11extras + kiconthemes + kwindowsystem + kxmlgui + qtx11extras ]; propagatedBuildInputs = [ kparts ]; postInstall = '' diff --git a/pkgs/applications/kde/konversation.nix b/pkgs/applications/kde/konversation.nix index 9b995629460fa..0752c253f7f46 100644 --- a/pkgs/applications/kde/konversation.nix +++ b/pkgs/applications/kde/konversation.nix @@ -1,31 +1,32 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, kbookmarks -, karchive -, kconfig -, kconfigwidgets -, kcoreaddons -, kcrash -, kdbusaddons -, kemoticons -, kglobalaccel -, ki18n -, kiconthemes -, kidletime -, kitemviews -, knewstuff -, knotifications -, knotifyconfig -, kwindowsystem -, kio -, kparts -, kwallet -, solid -, sonnet -, phonon -, qtmultimedia +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kbookmarks, + karchive, + kconfig, + kconfigwidgets, + kcoreaddons, + kcrash, + kdbusaddons, + kemoticons, + kglobalaccel, + ki18n, + kiconthemes, + kidletime, + kitemviews, + knewstuff, + knotifications, + knotifyconfig, + kwindowsystem, + kio, + kparts, + kwallet, + solid, + sonnet, + phonon, + qtmultimedia, }: mkDerivation { diff --git a/pkgs/applications/kde/kopeninghours.nix b/pkgs/applications/kde/kopeninghours.nix index 6a49aeea5874c..a35fa19dc56ca 100644 --- a/pkgs/applications/kde/kopeninghours.nix +++ b/pkgs/applications/kde/kopeninghours.nix @@ -1,15 +1,19 @@ -{ mkDerivation -, lib -, bison -, extra-cmake-modules -, flex -, kholidays -, ki18n +{ + mkDerivation, + lib, + bison, + extra-cmake-modules, + flex, + kholidays, + ki18n, }: mkDerivation { pname = "kopeninghours"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ bison @@ -23,6 +27,10 @@ mkDerivation { ]; meta = { - license = with lib.licenses; [ bsd3 cc0 lgpl2Plus ]; + license = with lib.licenses; [ + bsd3 + cc0 + lgpl2Plus + ]; }; } diff --git a/pkgs/applications/kde/korganizer.nix b/pkgs/applications/kde/korganizer.nix index c1febe58f45ad..811b67345eeb8 100644 --- a/pkgs/applications/kde/korganizer.nix +++ b/pkgs/applications/kde/korganizer.nix @@ -1,13 +1,28 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - qtbase, qttools, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + qtbase, + qttools, phonon, knewstuff, - akonadi-calendar, akonadi-contacts, akonadi-notes, akonadi-search, - calendarsupport, eventviews, incidenceeditor, kcalutils, - kholidays, kidentitymanagement, kldap, kmailtransport, kontactinterface, - kparts, kpimtextedit, + akonadi-calendar, + akonadi-contacts, + akonadi-notes, + akonadi-search, + calendarsupport, + eventviews, + incidenceeditor, + kcalutils, + kholidays, + kidentitymanagement, + kldap, + kmailtransport, + kontactinterface, + kparts, + kpimtextedit, kuserfeedback, pimcommon, }: @@ -18,18 +33,37 @@ mkDerivation { homepage = "https://apps.kde.org/korganizer/"; description = "Personal organizer"; mainProgram = "korganizer"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - qtbase qttools + qtbase + qttools phonon knewstuff - akonadi-calendar akonadi-contacts akonadi-notes akonadi-search - calendarsupport eventviews incidenceeditor kcalutils - kholidays kidentitymanagement kldap kmailtransport kontactinterface - kparts kpimtextedit + akonadi-calendar + akonadi-contacts + akonadi-notes + akonadi-search + calendarsupport + eventviews + incidenceeditor + kcalutils + kholidays + kidentitymanagement + kldap + kmailtransport + kontactinterface + kparts + kpimtextedit kuserfeedback pimcommon ]; diff --git a/pkgs/applications/kde/kosmindoormap.nix b/pkgs/applications/kde/kosmindoormap.nix index 529aac48da7a7..6569615eb6b0f 100644 --- a/pkgs/applications/kde/kosmindoormap.nix +++ b/pkgs/applications/kde/kosmindoormap.nix @@ -1,16 +1,20 @@ -{ mkDerivation -, lib -, bison -, extra-cmake-modules -, flex -, ki18n -, kopeninghours -, kpublictransport +{ + mkDerivation, + lib, + bison, + extra-cmake-modules, + flex, + ki18n, + kopeninghours, + kpublictransport, }: mkDerivation { pname = "kosmindoormap"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ bison @@ -25,6 +29,14 @@ mkDerivation { ]; meta = { - license = with lib.licenses; [ bsd2 bsd3 cc0 lgpl2Plus lgpl3Plus mit odbl ]; + license = with lib.licenses; [ + bsd2 + bsd3 + cc0 + lgpl2Plus + lgpl3Plus + mit + odbl + ]; }; } diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix index 3d480db6bc13f..077a6ea5b4e36 100644 --- a/pkgs/applications/kde/kpat.nix +++ b/pkgs/applications/kde/kpat.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, knewstuff -, shared-mime-info -, libkdegames -, freecell-solver -, black-hole-solver +{ + lib, + mkDerivation, + extra-cmake-modules, + knewstuff, + shared-mime-info, + libkdegames, + freecell-solver, + black-hole-solver, }: mkDerivation { @@ -21,7 +22,11 @@ mkDerivation { freecell-solver ]; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = with lib.maintainers; [ rnhmjoj ]; }; } diff --git a/pkgs/applications/kde/kpimtextedit.nix b/pkgs/applications/kde/kpimtextedit.nix index de5afb72d1fab..634cc2ab26fe3 100644 --- a/pkgs/applications/kde/kpimtextedit.nix +++ b/pkgs/applications/kde/kpimtextedit.nix @@ -1,24 +1,57 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - grantlee, kcodecs, kconfigwidgets, kemoticons, ki18n, kiconthemes, kio, - kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qttools, - qtspeech + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + grantlee, + kcodecs, + kconfigwidgets, + kemoticons, + ki18n, + kiconthemes, + kio, + kdesignerplugin, + ktextwidgets, + sonnet, + syntax-highlighting, + qttools, + qtspeech, }: mkDerivation { pname = "kpimtextedit"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - grantlee kcodecs kconfigwidgets kemoticons ki18n kiconthemes kio kdesignerplugin - sonnet syntax-highlighting qttools qtspeech + grantlee + kcodecs + kconfigwidgets + kemoticons + ki18n + kiconthemes + kio + kdesignerplugin + sonnet + syntax-highlighting + qttools + qtspeech ]; propagatedBuildInputs = [ ktextwidgets ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/kpkpass.nix b/pkgs/applications/kde/kpkpass.nix index 1d5454ac04565..94dd6381a0d58 100644 --- a/pkgs/applications/kde/kpkpass.nix +++ b/pkgs/applications/kde/kpkpass.nix @@ -1,6 +1,10 @@ { - mkDerivation, lib, extra-cmake-modules -, qtbase, karchive, shared-mime-info + mkDerivation, + lib, + extra-cmake-modules, + qtbase, + karchive, + shared-mime-info, }: mkDerivation { @@ -9,7 +13,16 @@ mkDerivation { license = with lib.licenses; [ lgpl21 ]; maintainers = [ lib.maintainers.bkchr ]; }; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; - buildInputs = [ qtbase karchive ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; + buildInputs = [ + qtbase + karchive + ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/kpmcore/default.nix b/pkgs/applications/kde/kpmcore/default.nix index 4bfc4db0f4a53..c76603b174732 100644 --- a/pkgs/applications/kde/kpmcore/default.nix +++ b/pkgs/applications/kde/kpmcore/default.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, qca-qt5 -, kauth -, kio -, polkit-qt -, util-linux +{ + mkDerivation, + lib, + extra-cmake-modules, + qca-qt5, + kauth, + kio, + polkit-qt, + util-linux, }: mkDerivation rec { @@ -38,7 +39,15 @@ mkDerivation rec { meta = with lib; { description = "KDE Partition Manager core library"; homepage = "https://invent.kde.org/system/kpmcore"; - license = with licenses; [ cc-by-40 cc0 gpl3Plus mit ]; - maintainers = with maintainers; [ peterhoeg oxalica ]; + license = with licenses; [ + cc-by-40 + cc0 + gpl3Plus + mit + ]; + maintainers = with maintainers; [ + peterhoeg + oxalica + ]; }; } diff --git a/pkgs/applications/kde/kpublictransport.nix b/pkgs/applications/kde/kpublictransport.nix index 84d97a42ac3fe..87cc7e65bc889 100644 --- a/pkgs/applications/kde/kpublictransport.nix +++ b/pkgs/applications/kde/kpublictransport.nix @@ -1,9 +1,10 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, qtquickcontrols2 -, networkmanager-qt -, ki18n +{ + mkDerivation, + lib, + extra-cmake-modules, + qtquickcontrols2, + networkmanager-qt, + ki18n, }: mkDerivation { diff --git a/pkgs/applications/kde/kqtquickcharts.nix b/pkgs/applications/kde/kqtquickcharts.nix index 0560fc9da01df..16b4432cb9342 100644 --- a/pkgs/applications/kde/kqtquickcharts.nix +++ b/pkgs/applications/kde/kqtquickcharts.nix @@ -1,15 +1,24 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - qtbase, qtdeclarative, + qtbase, + qtdeclarative, }: mkDerivation { pname = "kqtquickcharts"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/applications/kde/krdc.nix b/pkgs/applications/kde/krdc.nix index 5d3fd18706dbd..2c6f4106ec53f 100644 --- a/pkgs/applications/kde/krdc.nix +++ b/pkgs/applications/kde/krdc.nix @@ -1,16 +1,39 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, makeWrapper, - kcmutils, kcompletion, kconfig, kdnssd, knotifyconfig, kwallet, kwidgetsaddons, - kwindowsystem, libvncserver, freerdp, + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + makeWrapper, + kcmutils, + kcompletion, + kconfig, + kdnssd, + knotifyconfig, + kwallet, + kwidgetsaddons, + kwindowsystem, + libvncserver, + freerdp, }: mkDerivation { pname = "krdc"; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeWrapper + ]; buildInputs = [ - kcmutils kcompletion kconfig kdnssd knotifyconfig kwallet kwidgetsaddons - kwindowsystem freerdp libvncserver + kcmutils + kcompletion + kconfig + kdnssd + knotifyconfig + kwallet + kwidgetsaddons + kwindowsystem + freerdp + libvncserver ]; postFixup = '' wrapProgram $out/bin/krdc \ @@ -20,7 +43,12 @@ mkDerivation { homepage = "http://www.kde.org"; description = "Remote desktop client"; mainProgram = "krdc"; - license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + bsd3 + ]; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/kde/krecorder.nix b/pkgs/applications/kde/krecorder.nix index 78c8e9ebb7fdb..baae8e36eefd1 100644 --- a/pkgs/applications/kde/krecorder.nix +++ b/pkgs/applications/kde/krecorder.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kconfig -, kcoreaddons -, ki18n -, kirigami2 -, kirigami-addons -, kwindowsystem -, qtmultimedia -, qtquickcontrols2 + kconfig, + kcoreaddons, + ki18n, + kirigami2, + kirigami-addons, + kwindowsystem, + qtmultimedia, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/kde/kreversi.nix b/pkgs/applications/kde/kreversi.nix index 11cce1799c1b6..0afc0a8eef870 100644 --- a/pkgs/applications/kde/kreversi.nix +++ b/pkgs/applications/kde/kreversi.nix @@ -1,4 +1,10 @@ -{ mkDerivation, lib, extra-cmake-modules, libkdegames, kdeclarative }: +{ + mkDerivation, + lib, + extra-cmake-modules, + libkdegames, + kdeclarative, +}: mkDerivation { pname = "kreversi"; diff --git a/pkgs/applications/kde/krfb.nix b/pkgs/applications/kde/krfb.nix index c1294e1f1e3bb..efd564de083f5 100644 --- a/pkgs/applications/kde/krfb.nix +++ b/pkgs/applications/kde/krfb.nix @@ -1,9 +1,28 @@ -{ mkDerivation, lib -, extra-cmake-modules, kdoctools, wayland-scanner -, kconfig, kcoreaddons, kcrash, kdbusaddons, kdnssd, knotifications, kwallet -, kwidgetsaddons, kwindowsystem, kxmlgui, kwayland, kpipewire -, libvncserver, libXtst, libXdamage -, qtx11extras, pipewire, plasma-wayland-protocols, wayland +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + wayland-scanner, + kconfig, + kcoreaddons, + kcrash, + kdbusaddons, + kdnssd, + knotifications, + kwallet, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + kwayland, + kpipewire, + libvncserver, + libXtst, + libXdamage, + qtx11extras, + pipewire, + plasma-wayland-protocols, + wayland, }: mkDerivation { @@ -11,14 +30,32 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/krfb/"; description = "Desktop sharing (VNC)"; - license = with lib.licenses; [ gpl2Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + fdl12Plus + ]; maintainers = with lib.maintainers; [ jerith666 ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wayland-scanner + ]; buildInputs = [ - libvncserver libXtst libXdamage - kconfig kcoreaddons kcrash kdbusaddons knotifications kwallet kwidgetsaddons - kwindowsystem kxmlgui kwayland kpipewire + libvncserver + libXtst + libXdamage + kconfig + kcoreaddons + kcrash + kdbusaddons + knotifications + kwallet + kwidgetsaddons + kwindowsystem + kxmlgui + kwayland + kpipewire qtx11extras pipewire plasma-wayland-protocols diff --git a/pkgs/applications/kde/kruler.nix b/pkgs/applications/kde/kruler.nix index 965ef278542b4..fe905d37cd0a2 100644 --- a/pkgs/applications/kde/kruler.nix +++ b/pkgs/applications/kde/kruler.nix @@ -1,7 +1,12 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - knotifications, kwindowsystem, kxmlgui, qtx11extras + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + knotifications, + kwindowsystem, + kxmlgui, + qtx11extras, }: mkDerivation { @@ -13,8 +18,14 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ lib.maintainers.vandenoever ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kwindowsystem knotifications kxmlgui qtx11extras + kwindowsystem + knotifications + kxmlgui + qtx11extras ]; } diff --git a/pkgs/applications/kde/ksanecore.nix b/pkgs/applications/kde/ksanecore.nix index 4ba18ffca1dff..ae9ec9dfebcdd 100644 --- a/pkgs/applications/kde/ksanecore.nix +++ b/pkgs/applications/kde/ksanecore.nix @@ -1,13 +1,20 @@ { - mkDerivation, lib, - extra-cmake-modules, qtbase, - ki18n, sane-backends + mkDerivation, + lib, + extra-cmake-modules, + qtbase, + ki18n, + sane-backends, }: mkDerivation { pname = "ksanecore"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase ki18n sane-backends ]; + buildInputs = [ + qtbase + ki18n + sane-backends + ]; meta = with lib; { license = licenses.gpl2; maintainers = with maintainers; [ andrevmatos ]; diff --git a/pkgs/applications/kde/kshisen.nix b/pkgs/applications/kde/kshisen.nix index 4982456bdd01e..3ec0dc535025b 100644 --- a/pkgs/applications/kde/kshisen.nix +++ b/pkgs/applications/kde/kshisen.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, libkdegames, libkmahjongg }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + libkdegames, + libkmahjongg, +}: mkDerivation { pname = "kshisen"; diff --git a/pkgs/applications/kde/ksmtp/default.nix b/pkgs/applications/kde/ksmtp/default.nix index 591426e141e08..f25110706d65b 100644 --- a/pkgs/applications/kde/ksmtp/default.nix +++ b/pkgs/applications/kde/ksmtp/default.nix @@ -1,17 +1,34 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kcoreaddons, kio, kmime, cyrus_sasl + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kcoreaddons, + kio, + kmime, + cyrus_sasl, }: mkDerivation { pname = "ksmtp"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcoreaddons kio kmime ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcoreaddons + kio + kmime + ]; propagatedBuildInputs = [ cyrus_sasl ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing diff --git a/pkgs/applications/kde/kspaceduel.nix b/pkgs/applications/kde/kspaceduel.nix index 500f2813b8f44..15adbd15a87b6 100644 --- a/pkgs/applications/kde/kspaceduel.nix +++ b/pkgs/applications/kde/kspaceduel.nix @@ -1,12 +1,14 @@ -{ mkDerivation, lib -, extra-cmake-modules -, cmake -, kdbusaddons -, ki18n -, kconfigwidgets -, kcrash -, kxmlgui -, libkdegames +{ + mkDerivation, + lib, + extra-cmake-modules, + cmake, + kdbusaddons, + ki18n, + kconfigwidgets, + kcrash, + kxmlgui, + libkdegames, }: mkDerivation { @@ -15,13 +17,25 @@ mkDerivation { homepage = "https://apps.kde.org/kspaceduel/"; description = "Space arcade game"; mainProgram = "kspaceduel"; - license = with lib.licenses; [ lgpl21 gpl3 ]; + license = with lib.licenses; [ + lgpl21 + gpl3 + ]; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ - cmake extra-cmake-modules + cmake + extra-cmake-modules ]; propagatedBuildInputs = [ - kdbusaddons ki18n kconfigwidgets kcrash kxmlgui libkdegames + kdbusaddons + ki18n + kconfigwidgets + kcrash + kxmlgui + libkdegames ]; } diff --git a/pkgs/applications/kde/ksquares.nix b/pkgs/applications/kde/ksquares.nix index 34a3cdeb8702f..cdd2ce84afad8 100644 --- a/pkgs/applications/kde/ksquares.nix +++ b/pkgs/applications/kde/ksquares.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, libkdegames, kconfig, kcrash, kxmlgui }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + libkdegames, + kconfig, + kcrash, + kxmlgui, +}: mkDerivation { pname = "ksquares"; diff --git a/pkgs/applications/kde/ksudoku.nix b/pkgs/applications/kde/ksudoku.nix index 8771c878323f7..dd5744c7aa9a9 100644 --- a/pkgs/applications/kde/ksudoku.nix +++ b/pkgs/applications/kde/ksudoku.nix @@ -1,16 +1,24 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, libGLU -, kdoctools -, kdeclarative -, libkdegames +{ + lib, + mkDerivation, + extra-cmake-modules, + libGLU, + kdoctools, + kdeclarative, + libkdegames, }: mkDerivation { pname = "ksudoku"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ libGLU kdeclarative libkdegames ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + libGLU + kdeclarative + libkdegames + ]; meta = { homepage = "https://apps.kde.org/ksudoku/"; description = "Suduko game"; diff --git a/pkgs/applications/kde/ksystemlog.nix b/pkgs/applications/kde/ksystemlog.nix index c886acc65f5a7..f3e88e6e03523 100644 --- a/pkgs/applications/kde/ksystemlog.nix +++ b/pkgs/applications/kde/ksystemlog.nix @@ -1,14 +1,27 @@ { - mkDerivation, lib, - extra-cmake-modules, gettext, kdoctools, - karchive, kconfig, kio + mkDerivation, + lib, + extra-cmake-modules, + gettext, + kdoctools, + karchive, + kconfig, + kio, }: mkDerivation { pname = "ksystemlog"; - nativeBuildInputs = [ extra-cmake-modules gettext kdoctools ]; - propagatedBuildInputs = [ karchive kconfig kio ]; + nativeBuildInputs = [ + extra-cmake-modules + gettext + kdoctools + ]; + propagatedBuildInputs = [ + karchive + kconfig + kio + ]; meta = with lib; { homepage = "https://apps.kde.org/ksystemlog/"; diff --git a/pkgs/applications/kde/kteatime.nix b/pkgs/applications/kde/kteatime.nix index bda8f6b7f1f7a..0f48b6c8b45a0 100644 --- a/pkgs/applications/kde/kteatime.nix +++ b/pkgs/applications/kde/kteatime.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kconfig, kcrash, kiconthemes, knotifyconfig }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kconfig, + kcrash, + kiconthemes, + knotifyconfig, +}: mkDerivation { pname = "kteatime"; diff --git a/pkgs/applications/kde/ktimer.nix b/pkgs/applications/kde/ktimer.nix index bc2d6494c1346..a4034b83f4748 100644 --- a/pkgs/applications/kde/ktimer.nix +++ b/pkgs/applications/kde/ktimer.nix @@ -1,4 +1,11 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, +}: mkDerivation { pname = "ktimer"; diff --git a/pkgs/applications/kde/ktnef.nix b/pkgs/applications/kde/ktnef.nix index 4b0e751734e15..0bde31a482e03 100644 --- a/pkgs/applications/kde/ktnef.nix +++ b/pkgs/applications/kde/ktnef.nix @@ -1,20 +1,37 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kcalendarcore, kcalutils, kcontacts + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kcalendarcore, + kcalutils, + kcontacts, }: mkDerivation { pname = "ktnef"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - kcalendarcore kcalutils kcontacts + kcalendarcore + kcalutils + kcontacts + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/ktorrent.nix b/pkgs/applications/kde/ktorrent.nix index b33cc3bc541b4..b2e5118bee8e2 100644 --- a/pkgs/applications/kde/ktorrent.nix +++ b/pkgs/applications/kde/ktorrent.nix @@ -1,22 +1,47 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - karchive, kcmutils, kcrash, kdnssd, ki18n, knotifications, knotifyconfig, - kplotting, kross, libgcrypt, libktorrent, taglib + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + karchive, + kcmutils, + kcrash, + kdnssd, + ki18n, + knotifications, + knotifyconfig, + kplotting, + kross, + libgcrypt, + libktorrent, + taglib, }: mkDerivation { pname = "ktorrent"; meta = with lib; { description = "KDE integrated BtTorrent client"; - homepage = "https://apps.kde.org/ktorrent/"; - license = licenses.gpl2Plus; + homepage = "https://apps.kde.org/ktorrent/"; + license = licenses.gpl2Plus; maintainers = [ ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - karchive kcmutils kcrash kdnssd ki18n knotifications knotifyconfig kplotting - kross libgcrypt libktorrent taglib + karchive + kcmutils + kcrash + kdnssd + ki18n + knotifications + knotifyconfig + kplotting + kross + libgcrypt + libktorrent + taglib ]; } diff --git a/pkgs/applications/kde/ktouch.nix b/pkgs/applications/kde/ktouch.nix index 18cc2ec0e32f2..6256fd174bf53 100644 --- a/pkgs/applications/kde/ktouch.nix +++ b/pkgs/applications/kde/ktouch.nix @@ -1,10 +1,29 @@ -{ mkDerivation, lib -, extra-cmake-modules, kdoctools -, kconfig, kconfigwidgets, kcoreaddons, kdeclarative, ki18n -, kitemviews, kcmutils, kio, knewstuff, ktexteditor, kwidgetsaddons -, kwindowsystem, kxmlgui, qtscript, qtdeclarative, kqtquickcharts -, qtx11extras, qtgraphicaleffects, qtxmlpatterns, qtquickcontrols2 -, xorg +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kconfig, + kconfigwidgets, + kcoreaddons, + kdeclarative, + ki18n, + kitemviews, + kcmutils, + kio, + knewstuff, + ktexteditor, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + qtscript, + qtdeclarative, + kqtquickcharts, + qtx11extras, + qtgraphicaleffects, + qtxmlpatterns, + qtquickcontrols2, + xorg, }: mkDerivation { @@ -16,13 +35,34 @@ mkDerivation { description = "Touch typing tutor from the KDE software collection"; mainProgram = "ktouch"; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools qtdeclarative ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + qtdeclarative + ]; buildInputs = [ - kconfig kconfigwidgets kcoreaddons kdeclarative ki18n - kitemviews kcmutils kio knewstuff ktexteditor kwidgetsaddons - kwindowsystem kxmlgui qtscript qtdeclarative kqtquickcharts - qtx11extras qtgraphicaleffects qtxmlpatterns qtquickcontrols2 - xorg.libxkbfile xorg.libxcb + kconfig + kconfigwidgets + kcoreaddons + kdeclarative + ki18n + kitemviews + kcmutils + kio + knewstuff + ktexteditor + kwidgetsaddons + kwindowsystem + kxmlgui + qtscript + qtdeclarative + kqtquickcharts + qtx11extras + qtgraphicaleffects + qtxmlpatterns + qtquickcontrols2 + xorg.libxkbfile + xorg.libxcb ]; enableParallelBuilding = true; diff --git a/pkgs/applications/kde/ktrip.nix b/pkgs/applications/kde/ktrip.nix index fd30379465d53..9d14b319a1b97 100644 --- a/pkgs/applications/kde/ktrip.nix +++ b/pkgs/applications/kde/ktrip.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kconfig -, kcontacts -, kcoreaddons -, ki18n -, kirigami-addons -, kirigami2 -, kitemmodels -, kpublictransport -, qqc2-desktop-style -, qtquickcontrols2 + kconfig, + kcontacts, + kcoreaddons, + ki18n, + kirigami-addons, + kirigami2, + kitemmodels, + kpublictransport, + qqc2-desktop-style, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/kde/kturtle.nix b/pkgs/applications/kde/kturtle.nix index 299b6bd83facc..af0b867ae9881 100644 --- a/pkgs/applications/kde/kturtle.nix +++ b/pkgs/applications/kde/kturtle.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, knewstuff }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + kio, + knewstuff, +}: mkDerivation { pname = "kturtle"; diff --git a/pkgs/applications/kde/kwalletmanager.nix b/pkgs/applications/kde/kwalletmanager.nix index 64d4d36806f2e..8edc210f2e068 100644 --- a/pkgs/applications/kde/kwalletmanager.nix +++ b/pkgs/applications/kde/kwalletmanager.nix @@ -1,14 +1,15 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, kauth -, kcmutils -, kconfigwidgets -, kcoreaddons -, kdbusaddons -, kwallet -, kxmlgui +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kauth, + kcmutils, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kwallet, + kxmlgui, }: mkDerivation { @@ -20,9 +21,17 @@ mkDerivation { mainProgram = "kwalletmanager5"; license = with lib.licenses; [ gpl2 ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kauth kcmutils kconfigwidgets kcoreaddons kdbusaddons - kwallet kxmlgui + kauth + kcmutils + kconfigwidgets + kcoreaddons + kdbusaddons + kwallet + kxmlgui ]; } diff --git a/pkgs/applications/kde/kwave.nix b/pkgs/applications/kde/kwave.nix index 46e6c1a5cf3c4..899b0177da98c 100644 --- a/pkgs/applications/kde/kwave.nix +++ b/pkgs/applications/kde/kwave.nix @@ -1,6 +1,27 @@ -{ mkDerivation, lib, extra-cmake-modules, kdoctools, qtmultimedia, kcompletion, kconfig -, kcrash, kiconthemes, kio, audiofile, libsamplerate, alsa-lib, libpulseaudio, flac, id3lib -, libogg, libmad, libopus, libvorbis, fftw, librsvg }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + qtmultimedia, + kcompletion, + kconfig, + kcrash, + kiconthemes, + kio, + audiofile, + libsamplerate, + alsa-lib, + libpulseaudio, + flac, + id3lib, + libogg, + libmad, + libopus, + libvorbis, + fftw, + librsvg, +}: mkDerivation { pname = "kwave"; diff --git a/pkgs/applications/kde/kweather.nix b/pkgs/applications/kde/kweather.nix index 6e2d3047d0251..7bf505d27ca4e 100644 --- a/pkgs/applications/kde/kweather.nix +++ b/pkgs/applications/kde/kweather.nix @@ -1,20 +1,21 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kconfig -, kholidays -, ki18n -, kirigami-addons -, kirigami2 -, knotifications -, kquickcharts -, kweathercore -, plasma-framework -, qtcharts -, qtquickcontrols2 + kconfig, + kholidays, + ki18n, + kirigami-addons, + kirigami2, + knotifications, + kquickcharts, + kweathercore, + plasma-framework, + qtcharts, + qtquickcontrols2, }: mkDerivation rec { @@ -43,7 +44,10 @@ mkDerivation rec { description = "Weather application for Plasma Mobile"; mainProgram = "kweather"; homepage = "https://invent.kde.org/plasma-mobile/kweather"; - license = with licenses; [ gpl2Plus cc-by-40 ]; + license = with licenses; [ + gpl2Plus + cc-by-40 + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/kde/libgravatar.nix b/pkgs/applications/kde/libgravatar.nix index 0335ded006521..b444d0488e334 100644 --- a/pkgs/applications/kde/libgravatar.nix +++ b/pkgs/applications/kde/libgravatar.nix @@ -1,20 +1,41 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kconfig, kio, ktextwidgets, kwidgetsaddons, pimcommon + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kconfig, + kio, + ktextwidgets, + kwidgetsaddons, + pimcommon, }: mkDerivation { pname = "libgravatar"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; propagatedBuildInputs = [ - kconfig kio ktextwidgets kwidgetsaddons pimcommon + kconfig + kio + ktextwidgets + kwidgetsaddons + pimcommon + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/libkcddb.nix b/pkgs/applications/kde/libkcddb.nix index d7523de0db8a5..1a634fd44532f 100644 --- a/pkgs/applications/kde/libkcddb.nix +++ b/pkgs/applications/kde/libkcddb.nix @@ -1,17 +1,40 @@ -{ mkDerivation, lib, extra-cmake-modules, qtbase, kdoctools -, kcodecs, ki18n, kio, kwidgetsaddons, kcmutils -, libmusicbrainz5 }: +{ + mkDerivation, + lib, + extra-cmake-modules, + qtbase, + kdoctools, + kcodecs, + ki18n, + kio, + kwidgetsaddons, + kcmutils, + libmusicbrainz5, +}: mkDerivation { pname = "libkcddb"; meta = with lib; { - license = with licenses; [ gpl2 lgpl21 bsd3 ]; + license = with licenses; [ + gpl2 + lgpl21 + bsd3 + ]; maintainers = with maintainers; [ peterhoeg ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ qtbase kcmutils ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + qtbase + kcmutils + ]; propagatedBuildInputs = [ - kcodecs ki18n kio kwidgetsaddons + kcodecs + ki18n + kio + kwidgetsaddons libmusicbrainz5 ]; } diff --git a/pkgs/applications/kde/libkdcraw.nix b/pkgs/applications/kde/libkdcraw.nix index 1419fb0e980b2..545233d970f9a 100644 --- a/pkgs/applications/kde/libkdcraw.nix +++ b/pkgs/applications/kde/libkdcraw.nix @@ -1,13 +1,26 @@ -{ mkDerivation, lib, extra-cmake-modules, libraw, qtbase }: +{ + mkDerivation, + lib, + extra-cmake-modules, + libraw, + qtbase, +}: mkDerivation { pname = "libkdcraw"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + bsd3 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ qtbase ]; propagatedBuildInputs = [ libraw ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/libkdegames.nix b/pkgs/applications/kde/libkdegames.nix index 89d9626363ea4..dc667eb75a97b 100644 --- a/pkgs/applications/kde/libkdegames.nix +++ b/pkgs/applications/kde/libkdegames.nix @@ -1,21 +1,30 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, qtdeclarative -, kdeclarative -, kdnssd -, knewstuff -, openal -, libsndfile -, qtquickcontrols +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + qtdeclarative, + kdeclarative, + kdnssd, + knewstuff, + openal, + libsndfile, + qtquickcontrols, }: mkDerivation { pname = "libkdegames"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - qtdeclarative kdeclarative kdnssd knewstuff openal libsndfile + qtdeclarative + kdeclarative + kdnssd + knewstuff + openal + libsndfile qtquickcontrols ]; meta = { diff --git a/pkgs/applications/kde/libkdepim.nix b/pkgs/applications/kde/libkdepim.nix index 7e66a17e5dc43..63eb026585011 100644 --- a/pkgs/applications/kde/libkdepim.nix +++ b/pkgs/applications/kde/libkdepim.nix @@ -1,21 +1,55 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-contacts, akonadi-search, kcmutils, kcodecs, kcompletion, - kconfigwidgets, kcontacts, ki18n, kiconthemes, kio, kitemviews, kjobwidgets, - kldap, kwallet, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-contacts, + akonadi-search, + kcmutils, + kcodecs, + kcompletion, + kconfigwidgets, + kcontacts, + ki18n, + kiconthemes, + kio, + kitemviews, + kjobwidgets, + kldap, + kwallet, }: mkDerivation { pname = "libkdepim"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-contacts akonadi-search kcmutils kcodecs kcompletion - kconfigwidgets kcontacts ki18n kiconthemes kio kitemviews kjobwidgets kldap + akonadi + akonadi-contacts + akonadi-search + kcmutils + kcodecs + kcompletion + kconfigwidgets + kcontacts + ki18n + kiconthemes + kio + kitemviews + kjobwidgets + kldap kwallet ]; postInstall = '' diff --git a/pkgs/applications/kde/libkexiv2.nix b/pkgs/applications/kde/libkexiv2.nix index 8d9b3a8203299..3017618fcaa55 100644 --- a/pkgs/applications/kde/libkexiv2.nix +++ b/pkgs/applications/kde/libkexiv2.nix @@ -1,13 +1,26 @@ -{ mkDerivation, lib, exiv2, extra-cmake-modules, qtbase }: +{ + mkDerivation, + lib, + exiv2, + extra-cmake-modules, + qtbase, +}: mkDerivation { pname = "libkexiv2"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + bsd3 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ qtbase ]; propagatedBuildInputs = [ exiv2 ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/libkgapi.nix b/pkgs/applications/kde/libkgapi.nix index d5e34aa5024fa..3e3678d58812f 100644 --- a/pkgs/applications/kde/libkgapi.nix +++ b/pkgs/applications/kde/libkgapi.nix @@ -1,16 +1,35 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - qtwebengine, kio, kcalendarcore, kcontacts, - cyrus_sasl + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + qtwebengine, + kio, + kcalendarcore, + kcontacts, + cyrus_sasl, }: mkDerivation { pname = "libkgapi"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ qtwebengine kio kcalendarcore kcontacts cyrus_sasl ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + qtwebengine + kio + kcalendarcore + kcontacts + cyrus_sasl + ]; } diff --git a/pkgs/applications/kde/libkipi.nix b/pkgs/applications/kde/libkipi.nix index e94f0e6c4a824..79fd1eed63b9d 100644 --- a/pkgs/applications/kde/libkipi.nix +++ b/pkgs/applications/kde/libkipi.nix @@ -1,12 +1,32 @@ -{ mkDerivation, lib, extra-cmake-modules, kconfig, ki18n, kservice, kxmlgui }: +{ + mkDerivation, + lib, + extra-cmake-modules, + kconfig, + ki18n, + kservice, + kxmlgui, +}: mkDerivation { pname = "libkipi"; meta = { - license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + bsd3 + ]; maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kconfig ki18n kservice kxmlgui ]; - outputs = [ "out" "dev" ]; + buildInputs = [ + kconfig + ki18n + kservice + kxmlgui + ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/libkleo.nix b/pkgs/applications/kde/libkleo.nix index 32369495aefa3..ac13ea5ae853b 100644 --- a/pkgs/applications/kde/libkleo.nix +++ b/pkgs/applications/kde/libkleo.nix @@ -1,23 +1,53 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - boost, qgpgme, kcodecs, kcompletion, kconfig, kcoreaddons, ki18n, kitemmodels, - kpimtextedit, kwidgetsaddons, kwindowsystem + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + boost, + qgpgme, + kcodecs, + kcompletion, + kconfig, + kcoreaddons, + ki18n, + kitemmodels, + kpimtextedit, + kwidgetsaddons, + kwindowsystem, }: mkDerivation { pname = "libkleo"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - boost kcodecs kcompletion kconfig kcoreaddons ki18n kitemmodels - kpimtextedit kwidgetsaddons kwindowsystem + boost + kcodecs + kcompletion + kconfig + kcoreaddons + ki18n + kitemmodels + kpimtextedit + kwidgetsaddons + kwindowsystem ]; propagatedBuildInputs = [ qgpgme ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/libkmahjongg.nix b/pkgs/applications/kde/libkmahjongg.nix index 1b202b614880e..97ff358b9b549 100644 --- a/pkgs/applications/kde/libkmahjongg.nix +++ b/pkgs/applications/kde/libkmahjongg.nix @@ -1,8 +1,14 @@ { - mkDerivation, lib, - extra-cmake-modules, kdoctools, - kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, - kwidgetsaddons + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + ki18n, + kwidgetsaddons, }: mkDerivation { @@ -11,8 +17,20 @@ mkDerivation { license = with lib.licenses; [ gpl2 ]; maintainers = [ ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcompletion kconfig kconfigwidgets kcoreaddons ki18n - kwidgetsaddons ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcompletion + kconfig + kconfigwidgets + kcoreaddons + ki18n + kwidgetsaddons + ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/applications/kde/libkomparediff2.nix b/pkgs/applications/kde/libkomparediff2.nix index 93ac12d97d620..8f18cd0b3b2e8 100644 --- a/pkgs/applications/kde/libkomparediff2.nix +++ b/pkgs/applications/kde/libkomparediff2.nix @@ -1,7 +1,19 @@ -{ mkDerivation, extra-cmake-modules, ki18n, kxmlgui, kcodecs, kio }: +{ + mkDerivation, + extra-cmake-modules, + ki18n, + kxmlgui, + kcodecs, + kio, +}: mkDerivation { pname = "libkomparediff2"; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ kcodecs ki18n kxmlgui kio ]; + propagatedBuildInputs = [ + kcodecs + ki18n + kxmlgui + kio + ]; } diff --git a/pkgs/applications/kde/libksane.nix b/pkgs/applications/kde/libksane.nix index 8dee898412b88..241a9e284b86e 100644 --- a/pkgs/applications/kde/libksane.nix +++ b/pkgs/applications/kde/libksane.nix @@ -1,8 +1,14 @@ { - mkDerivation, lib, - extra-cmake-modules, qtbase, - ki18n, ktextwidgets, kwallet, kwidgetsaddons, - ksanecore, sane-backends + mkDerivation, + lib, + extra-cmake-modules, + qtbase, + ki18n, + ktextwidgets, + kwallet, + kwidgetsaddons, + ksanecore, + sane-backends, }: mkDerivation { @@ -12,6 +18,15 @@ mkDerivation { maintainers = with maintainers; [ polendri ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase ki18n ktextwidgets kwallet kwidgetsaddons ]; - propagatedBuildInputs = [ ksanecore sane-backends ]; + buildInputs = [ + qtbase + ki18n + ktextwidgets + kwallet + kwidgetsaddons + ]; + propagatedBuildInputs = [ + ksanecore + sane-backends + ]; } diff --git a/pkgs/applications/kde/libksieve.nix b/pkgs/applications/kde/libksieve.nix index adc232f091d68..f6e3d3252b3bf 100644 --- a/pkgs/applications/kde/libksieve.nix +++ b/pkgs/applications/kde/libksieve.nix @@ -1,22 +1,56 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, karchive, kcompletion, kiconthemes, kidentitymanagement, kio, - kmailtransport, knewstuff, kwindowsystem, kxmlgui, libkdepim, pimcommon, - qtwebengine, syntax-highlighting, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + karchive, + kcompletion, + kiconthemes, + kidentitymanagement, + kio, + kmailtransport, + knewstuff, + kwindowsystem, + kxmlgui, + libkdepim, + pimcommon, + qtwebengine, + syntax-highlighting, }: mkDerivation { pname = "libksieve"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - outputs = [ "out" "dev" ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + outputs = [ + "out" + "dev" + ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi karchive kcompletion kiconthemes kidentitymanagement kio - kmailtransport knewstuff kwindowsystem kxmlgui libkdepim pimcommon + akonadi + karchive + kcompletion + kiconthemes + kidentitymanagement + kio + kmailtransport + knewstuff + kwindowsystem + kxmlgui + libkdepim + pimcommon qtwebengine ]; propagatedBuildInputs = [ syntax-highlighting ]; diff --git a/pkgs/applications/kde/libktorrent.nix b/pkgs/applications/kde/libktorrent.nix index 63732bb8dcdf3..c7432bb0f1d3f 100644 --- a/pkgs/applications/kde/libktorrent.nix +++ b/pkgs/applications/kde/libktorrent.nix @@ -1,22 +1,43 @@ { mkDerivation, extra-cmake-modules, - karchive, kcrash, ki18n, kio, libgcrypt, qca-qt5, solid, - boost, gmp + karchive, + kcrash, + ki18n, + kio, + libgcrypt, + qca-qt5, + solid, + boost, + gmp, }: mkDerivation { pname = "libktorrent"; meta = { description = "BitTorrent library used by KTorrent"; - homepage = "https://apps.kde.org/ktorrent/"; + homepage = "https://apps.kde.org/ktorrent/"; maintainers = [ ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ karchive kcrash ki18n kio libgcrypt qca-qt5 solid ]; - propagatedBuildInputs = [ boost gmp ]; - outputs = [ "out" "dev" ]; + buildInputs = [ + karchive + kcrash + ki18n + kio + libgcrypt + qca-qt5 + solid + ]; + propagatedBuildInputs = [ + boost + gmp + ]; + outputs = [ + "out" + "dev" + ]; dontWrapQtApps = true; } diff --git a/pkgs/applications/kde/mailcommon.nix b/pkgs/applications/kde/mailcommon.nix index d9885058ef895..b703f056488bc 100644 --- a/pkgs/applications/kde/mailcommon.nix +++ b/pkgs/applications/kde/mailcommon.nix @@ -1,24 +1,67 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, karchive, kcodecs, kcompletion, kconfigwidgets, - kdbusaddons, kdesignerplugin, kiconthemes, kio, kitemmodels, kldap, - kmailtransport, kwindowsystem, mailimporter, messagelib, phonon, libkdepim + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-mime, + karchive, + kcodecs, + kcompletion, + kconfigwidgets, + kdbusaddons, + kdesignerplugin, + kiconthemes, + kio, + kitemmodels, + kldap, + kmailtransport, + kwindowsystem, + mailimporter, + messagelib, + phonon, + libkdepim, }: mkDerivation { pname = "mailcommon"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-mime karchive kcodecs kcompletion kconfigwidgets kdbusaddons - kdesignerplugin kiconthemes kio kitemmodels kldap kmailtransport - kwindowsystem mailimporter messagelib phonon libkdepim + akonadi + akonadi-mime + karchive + kcodecs + kcompletion + kconfigwidgets + kdbusaddons + kdesignerplugin + kiconthemes + kio + kitemmodels + kldap + kmailtransport + kwindowsystem + mailimporter + messagelib + phonon + libkdepim + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/mailimporter.nix b/pkgs/applications/kde/mailimporter.nix index 08503ba9e8312..270c515f5fe8c 100644 --- a/pkgs/applications/kde/mailimporter.nix +++ b/pkgs/applications/kde/mailimporter.nix @@ -1,20 +1,48 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, karchive, kcompletion, kconfig, kcoreaddons, ki18n, - kmime, kxmlgui, libkdepim, pimcommon + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-mime, + karchive, + kcompletion, + kconfig, + kcoreaddons, + ki18n, + kmime, + kxmlgui, + libkdepim, + pimcommon, }: mkDerivation { pname = "mailimporter"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-mime karchive kcompletion kconfig kcoreaddons ki18n kmime - kxmlgui libkdepim pimcommon + akonadi + akonadi-mime + karchive + kcompletion + kconfig + kcoreaddons + ki18n + kmime + kxmlgui + libkdepim + pimcommon ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing diff --git a/pkgs/applications/kde/marble.nix b/pkgs/applications/kde/marble.nix index 78fc52996dc51..00a3d834ee3ca 100644 --- a/pkgs/applications/kde/marble.nix +++ b/pkgs/applications/kde/marble.nix @@ -1,8 +1,19 @@ -{ mkDerivation, lib -, extra-cmake-modules, kdoctools -, qtscript, qtsvg, qtquickcontrols, qtwebengine -, krunner, shared-mime-info, kparts, knewstuff -, gpsd, perl, protobuf_21 +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + qtscript, + qtsvg, + qtquickcontrols, + qtwebengine, + krunner, + shared-mime-info, + kparts, + knewstuff, + gpsd, + perl, + protobuf_21, }: mkDerivation { @@ -10,13 +21,31 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/marble/"; description = "Virtual globe"; - license = with lib.licenses; [ lgpl21 gpl3 ]; + license = with lib.licenses; [ + lgpl21 + gpl3 + ]; }; - outputs = [ "out" "dev" ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools perl ]; + outputs = [ + "out" + "dev" + ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + perl + ]; propagatedBuildInputs = [ - protobuf_21 qtscript qtsvg qtquickcontrols qtwebengine shared-mime-info krunner kparts - knewstuff gpsd + protobuf_21 + qtscript + qtsvg + qtquickcontrols + qtwebengine + shared-mime-info + krunner + kparts + knewstuff + gpsd ]; preConfigure = '' cmakeFlags+=" -DINCLUDE_INSTALL_DIR=''${!outputDev}/include" diff --git a/pkgs/applications/kde/mbox-importer.nix b/pkgs/applications/kde/mbox-importer.nix index d51b7e99ce60b..fe1864b11e844 100644 --- a/pkgs/applications/kde/mbox-importer.nix +++ b/pkgs/applications/kde/mbox-importer.nix @@ -1,17 +1,41 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-search, kconfig, kservice, kio, mailcommon, mailimporter, messagelib + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-search, + kconfig, + kservice, + kio, + mailcommon, + mailimporter, + messagelib, }: mkDerivation { pname = "mbox-importer"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-search kconfig kservice kio mailcommon mailimporter messagelib + akonadi + akonadi-search + kconfig + kservice + kio + mailcommon + mailimporter + messagelib ]; } diff --git a/pkgs/applications/kde/merkuro.nix b/pkgs/applications/kde/merkuro.nix index 7c2064e2969b2..89220319be138 100644 --- a/pkgs/applications/kde/merkuro.nix +++ b/pkgs/applications/kde/merkuro.nix @@ -1,44 +1,45 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, makeWrapper +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + makeWrapper, -, qtbase -, qtquickcontrols2 -, qtsvg -, qtlocation -, qtdeclarative -, qqc2-desktop-style + qtbase, + qtquickcontrols2, + qtsvg, + qtlocation, + qtdeclarative, + qqc2-desktop-style, -, kirigami2 -, kirigami-addons -, kdbusaddons -, ki18n -, kcalendarcore -, kconfigwidgets -, kwindowsystem -, kcoreaddons -, kcontacts -, kitemmodels -, kxmlgui -, knotifications -, kiconthemes -, kservice -, kmime -, kpackage -, eventviews -, calendarsupport + kirigami2, + kirigami-addons, + kdbusaddons, + ki18n, + kcalendarcore, + kconfigwidgets, + kwindowsystem, + kcoreaddons, + kcontacts, + kitemmodels, + kxmlgui, + knotifications, + kiconthemes, + kservice, + kmime, + kpackage, + eventviews, + calendarsupport, -, akonadi -, akonadi-search -, akonadi-contacts -, akonadi-calendar-tools -, kdepim-runtime -, gpgme -, pimcommon -, mailcommon -, messagelib + akonadi, + akonadi-search, + akonadi-contacts, + akonadi-calendar-tools, + kdepim-runtime, + gpgme, + pimcommon, + mailcommon, + messagelib, }: mkDerivation { @@ -88,8 +89,20 @@ mkDerivation { messagelib ]; - propagatedUserEnvPkgs = [ akonadi kdepim-runtime akonadi-search ]; - qtWrapperArgs = [''--prefix PATH : "${lib.makeBinPath [ akonadi kdepim-runtime akonadi-search ]}"'']; + propagatedUserEnvPkgs = [ + akonadi + kdepim-runtime + akonadi-search + ]; + qtWrapperArgs = [ + ''--prefix PATH : "${ + lib.makeBinPath [ + akonadi + kdepim-runtime + akonadi-search + ] + }"'' + ]; meta = with lib; { description = "Calendar application using Akonadi to sync with external services (Nextcloud, GMail, ...)"; diff --git a/pkgs/applications/kde/messagelib.nix b/pkgs/applications/kde/messagelib.nix index abd9382a1f0ff..8c1e91e9f6f2c 100644 --- a/pkgs/applications/kde/messagelib.nix +++ b/pkgs/applications/kde/messagelib.nix @@ -1,31 +1,90 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, akonadi-notes, akonadi-search, gpgme, grantlee, - grantleetheme, karchive, kcodecs, kconfig, kconfigwidgets, kcontacts, - kiconthemes, kidentitymanagement, kio, kjobwidgets, kldap, - kmailtransport, kmbox, kmime, kwindowsystem, libgravatar, libkdepim, libkleo, - pimcommon, qca-qt5, qtwebengine, syntax-highlighting + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-mime, + akonadi-notes, + akonadi-search, + gpgme, + grantlee, + grantleetheme, + karchive, + kcodecs, + kconfig, + kconfigwidgets, + kcontacts, + kiconthemes, + kidentitymanagement, + kio, + kjobwidgets, + kldap, + kmailtransport, + kmbox, + kmime, + kwindowsystem, + libgravatar, + libkdepim, + libkleo, + pimcommon, + qca-qt5, + qtwebengine, + syntax-highlighting, }: mkDerivation { pname = "messagelib"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi-notes akonadi-search gpgme grantlee grantleetheme karchive kcodecs - kconfig kconfigwidgets kiconthemes kio kjobwidgets kldap - kmailtransport kmbox kmime kwindowsystem libgravatar libkdepim qca-qt5 + akonadi-notes + akonadi-search + gpgme + grantlee + grantleetheme + karchive + kcodecs + kconfig + kconfigwidgets + kiconthemes + kio + kjobwidgets + kldap + kmailtransport + kmbox + kmime + kwindowsystem + libgravatar + libkdepim + qca-qt5 syntax-highlighting ]; propagatedBuildInputs = [ - akonadi akonadi-mime kcontacts kidentitymanagement kmime libkleo pimcommon + akonadi + akonadi-mime + kcontacts + kidentitymanagement + kmime + libkleo + pimcommon qtwebengine ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' # added as an include directory by cmake files and fails to compile if it's missing mkdir -p "$dev/include/KF5" diff --git a/pkgs/applications/kde/minuet.nix b/pkgs/applications/kde/minuet.nix index 8e5285ac57d8e..c3000bdec25dd 100644 --- a/pkgs/applications/kde/minuet.nix +++ b/pkgs/applications/kde/minuet.nix @@ -1,8 +1,18 @@ -{ mkDerivation -, lib, extra-cmake-modules, gettext, python3 -, drumstick, fluidsynth -, kcoreaddons, kcrash, kdoctools -, qtquickcontrols2, qtsvg, qttools, qtdeclarative +{ + mkDerivation, + lib, + extra-cmake-modules, + gettext, + python3, + drumstick, + fluidsynth, + kcoreaddons, + kcrash, + kdoctools, + qtquickcontrols2, + qtsvg, + qttools, + qtdeclarative, }: mkDerivation { @@ -11,16 +21,32 @@ mkDerivation { homepage = "https://apps.kde.org/minuet/"; description = "Music Education Software"; mainProgram = "minuet"; - license = with licenses; [ lgpl21 gpl3 ]; - maintainers = with maintainers; [ peterhoeg HaoZeke ]; + license = with licenses; [ + lgpl21 + gpl3 + ]; + maintainers = with maintainers; [ + peterhoeg + HaoZeke + ]; }; - nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 qtdeclarative ]; + nativeBuildInputs = [ + extra-cmake-modules + gettext + kdoctools + python3 + qtdeclarative + ]; propagatedBuildInputs = [ - drumstick fluidsynth - kcoreaddons kcrash - qtquickcontrols2 qtsvg qttools + drumstick + fluidsynth + kcoreaddons + kcrash + qtquickcontrols2 + qtsvg + qttools ]; enableParallelBuilding = true; diff --git a/pkgs/applications/kde/neochat.nix b/pkgs/applications/kde/neochat.nix index f8dc1f6c35b7e..8f2601930d7f4 100644 --- a/pkgs/applications/kde/neochat.nix +++ b/pkgs/applications/kde/neochat.nix @@ -1,33 +1,34 @@ -{ mkDerivation -, lib +{ + mkDerivation, + lib, -, cmake -, extra-cmake-modules -, pkg-config -, wrapQtAppsHook + cmake, + extra-cmake-modules, + pkg-config, + wrapQtAppsHook, -, cmark -, kconfig -, kdbusaddons -, ki18n -, kio -, kirigami-addons -, kirigami2 -, kitemmodels -, knotifications -, kquickcharts -, kquickimageedit -, libpulseaudio -, libquotient -, libsecret -, olm -, qcoro -, qqc2-desktop-style -, qtgraphicaleffects -, qtlocation -, qtmultimedia -, qtquickcontrols2 -, sonnet + cmark, + kconfig, + kdbusaddons, + ki18n, + kio, + kirigami-addons, + kirigami2, + kitemmodels, + knotifications, + kquickcharts, + kquickimageedit, + libpulseaudio, + libquotient, + libsecret, + olm, + qcoro, + qqc2-desktop-style, + qtgraphicaleffects, + qtlocation, + qtmultimedia, + qtquickcontrols2, + sonnet, }: mkDerivation { diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix index bd2794af24212..d604b800d7ba1 100644 --- a/pkgs/applications/kde/okular.nix +++ b/pkgs/applications/kde/okular.nix @@ -1,24 +1,89 @@ -{ mkDerivation, lib -, extra-cmake-modules, kdoctools -, breeze-icons, chmlib, discount, djvulibre, ebook_tools, kactivities -, karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons -, kdbusaddons, kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts -, kpty, kpurpose, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler -, qca-qt5, qtdeclarative, qtsvg, threadweaver, kcrash -, withSpeech ? true, qtspeech, qtx11extras +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + breeze-icons, + chmlib, + discount, + djvulibre, + ebook_tools, + kactivities, + karchive, + kbookmarks, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kdegraphics-mobipocket, + kiconthemes, + kjs, + khtml, + kio, + kparts, + kpty, + kpurpose, + kwallet, + kwindowsystem, + libkexiv2, + libspectre, + libzip, + phonon, + poppler, + qca-qt5, + qtdeclarative, + qtsvg, + threadweaver, + kcrash, + withSpeech ? true, + qtspeech, + qtx11extras, }: mkDerivation { pname = "okular"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - breeze-icons discount djvulibre ebook_tools kactivities karchive kbookmarks - kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons - kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kpurpose kwallet - kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5 - qtdeclarative qtsvg threadweaver kcrash chmlib qtx11extras + breeze-icons + discount + djvulibre + ebook_tools + kactivities + karchive + kbookmarks + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kdegraphics-mobipocket + kiconthemes + kjs + khtml + kio + kparts + kpty + kpurpose + kwallet + kwindowsystem + libkexiv2 + libspectre + libzip + phonon + poppler + qca-qt5 + qtdeclarative + qtsvg + threadweaver + kcrash + chmlib + qtx11extras ] ++ lib.optional withSpeech qtspeech; # InitialPreference values are too high and end up making okular @@ -35,7 +100,12 @@ mkDerivation { homepage = "http://www.kde.org"; description = "KDE document viewer"; mainProgram = "okular"; - license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + bsd3 + ]; maintainers = with maintainers; [ ttuegel ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/applications/kde/palapeli.nix b/pkgs/applications/kde/palapeli.nix index 1db865942fd25..43c5134343a80 100644 --- a/pkgs/applications/kde/palapeli.nix +++ b/pkgs/applications/kde/palapeli.nix @@ -1,17 +1,26 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, shared-mime-info -, kdoctools -, kio -, ktextwidgets -, libkdegames +{ + lib, + mkDerivation, + extra-cmake-modules, + shared-mime-info, + kdoctools, + kio, + ktextwidgets, + libkdegames, }: mkDerivation { pname = "palapeli"; - nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ]; - buildInputs = [ libkdegames kio ktextwidgets ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + shared-mime-info + ]; + buildInputs = [ + libkdegames + kio + ktextwidgets + ]; meta = { homepage = "https://apps.kde.org/palapeli/"; description = "Single-player jigsaw puzzle game"; diff --git a/pkgs/applications/kde/partitionmanager/default.nix b/pkgs/applications/kde/partitionmanager/default.nix index b5a5053419ecd..35ede9df1eebf 100644 --- a/pkgs/applications/kde/partitionmanager/default.nix +++ b/pkgs/applications/kde/partitionmanager/default.nix @@ -1,33 +1,34 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, wrapGAppsHook3 -, kconfig -, kcrash -, kinit -, kpmcore -, polkit-qt -, cryptsetup -, lvm2 -, mdadm -, smartmontools -, systemdMinimal -, util-linux -, btrfs-progs -, dosfstools -, e2fsprogs -, exfat -, f2fs-tools -, fatresize -, jfsutils -, nilfs-utils -, ntfs3g -, reiser4progs -, reiserfsprogs -, udftools -, xfsprogs -, zfs +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + wrapGAppsHook3, + kconfig, + kcrash, + kinit, + kpmcore, + polkit-qt, + cryptsetup, + lvm2, + mdadm, + smartmontools, + systemdMinimal, + util-linux, + btrfs-progs, + dosfstools, + e2fsprogs, + exfat, + f2fs-tools, + fatresize, + jfsutils, + nilfs-utils, + ntfs3g, + reiser4progs, + reiserfsprogs, + udftools, + xfsprogs, + zfs, }: let @@ -66,9 +67,19 @@ in mkDerivation { pname = "partitionmanager"; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook3 ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapGAppsHook3 + ]; - propagatedBuildInputs = [ kconfig kcrash kinit kpmcore polkit-qt ]; + propagatedBuildInputs = [ + kconfig + kcrash + kinit + kpmcore + polkit-qt + ]; dontWrapGApps = true; preFixup = '' @@ -91,9 +102,18 @@ mkDerivation { To install on NixOS, use the option `programs.partition-manager.enable = true`. ''; - license = with licenses; [ cc-by-40 cc0 gpl3Plus lgpl3Plus mit ]; + license = with licenses; [ + cc-by-40 + cc0 + gpl3Plus + lgpl3Plus + mit + ]; homepage = "https://www.kde.org/applications/system/kdepartitionmanager/"; - maintainers = with maintainers; [ peterhoeg oxalica ]; + maintainers = with maintainers; [ + peterhoeg + oxalica + ]; mainProgram = "partitionmanager"; }; } diff --git a/pkgs/applications/kde/picmi.nix b/pkgs/applications/kde/picmi.nix index 52a1245610b8b..7261f1f392567 100644 --- a/pkgs/applications/kde/picmi.nix +++ b/pkgs/applications/kde/picmi.nix @@ -1,6 +1,10 @@ -{ mkDerivation, lib -, libkdegames, extra-cmake-modules -, kdeclarative, knewstuff +{ + mkDerivation, + lib, + libkdegames, + extra-cmake-modules, + kdeclarative, + knewstuff, }: mkDerivation { diff --git a/pkgs/applications/kde/pim-data-exporter.nix b/pkgs/applications/kde/pim-data-exporter.nix index 1bc54cac3e143..f40365eb36da1 100644 --- a/pkgs/applications/kde/pim-data-exporter.nix +++ b/pkgs/applications/kde/pim-data-exporter.nix @@ -1,12 +1,33 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-notes, kcalendarcore, kcmutils, kcrash, kdbusaddons, - kidentitymanagement, kldap, kmailtransport, knewstuff, knotifications, - knotifyconfig, kparts, kross, ktexteditor, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-notes, + kcalendarcore, + kcmutils, + kcrash, + kdbusaddons, + kidentitymanagement, + kldap, + kmailtransport, + knewstuff, + knotifications, + knotifyconfig, + kparts, + kross, + ktexteditor, kuserfeedback, - kwallet, libkdepim, libkleo, - pimcommon, qttools, karchive, mailcommon, messagelib + kwallet, + libkdepim, + libkleo, + pimcommon, + qttools, + karchive, + mailcommon, + messagelib, }: mkDerivation { @@ -14,16 +35,41 @@ mkDerivation { meta = { homepage = "https://apps.kde.org/pimdataexporter/"; description = "Saves and restores all data from PIM apps"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi akonadi-notes kcalendarcore kcmutils kcrash kdbusaddons - kidentitymanagement kldap kmailtransport knewstuff knotifications - knotifyconfig kparts kross ktexteditor + akonadi + akonadi-notes + kcalendarcore + kcmutils + kcrash + kdbusaddons + kidentitymanagement + kldap + kmailtransport + knewstuff + knotifications + knotifyconfig + kparts + kross + ktexteditor kuserfeedback - kwallet libkdepim libkleo pimcommon - qttools karchive mailcommon messagelib + kwallet + libkdepim + libkleo + pimcommon + qttools + karchive + mailcommon + messagelib ]; } diff --git a/pkgs/applications/kde/pim-sieve-editor.nix b/pkgs/applications/kde/pim-sieve-editor.nix index 28c15282c5feb..def5908a205dd 100644 --- a/pkgs/applications/kde/pim-sieve-editor.nix +++ b/pkgs/applications/kde/pim-sieve-editor.nix @@ -1,22 +1,49 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kdbusaddons, kcrash, kbookmarks, kiconthemes, kio, kpimtextedit, + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + kdbusaddons, + kcrash, + kbookmarks, + kiconthemes, + kio, + kpimtextedit, kmailtransport, kuserfeedback, - libksieve, pimcommon, qtkeychain, libsecret + libksieve, + pimcommon, + qtkeychain, + libsecret, }: mkDerivation { pname = "pim-sieve-editor"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - kdbusaddons kcrash kbookmarks kiconthemes kio kpimtextedit kmailtransport + kdbusaddons + kcrash + kbookmarks + kiconthemes + kio + kpimtextedit + kmailtransport kuserfeedback - libksieve pimcommon qtkeychain libsecret + libksieve + pimcommon + qtkeychain + libsecret ]; } diff --git a/pkgs/applications/kde/pimcommon.nix b/pkgs/applications/kde/pimcommon.nix index d82bc3f506b50..1fa03b02b5c6c 100644 --- a/pkgs/applications/kde/pimcommon.nix +++ b/pkgs/applications/kde/pimcommon.nix @@ -1,26 +1,85 @@ { - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - akonadi, akonadi-contacts, akonadi-mime, akonadi-search, grantlee, karchive, kcmutils, kcodecs, - kcompletion, kconfig, kconfigwidgets, kcontacts, kdbusaddons, - kiconthemes, kimap, kio, kitemmodels, kjobwidgets, kldap, knewstuff, kpimtextedit, - kpurpose, kwallet, kwindowsystem, libkdepim, qtwebengine, ktextaddons + mkDerivation, + lib, + kdepimTeam, + extra-cmake-modules, + kdoctools, + akonadi, + akonadi-contacts, + akonadi-mime, + akonadi-search, + grantlee, + karchive, + kcmutils, + kcodecs, + kcompletion, + kconfig, + kconfigwidgets, + kcontacts, + kdbusaddons, + kiconthemes, + kimap, + kio, + kitemmodels, + kjobwidgets, + kldap, + knewstuff, + kpimtextedit, + kpurpose, + kwallet, + kwindowsystem, + libkdepim, + qtwebengine, + ktextaddons, }: mkDerivation { pname = "pimcommon"; meta = { - license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; maintainers = kdepimTeam; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - akonadi-mime grantlee karchive kcmutils kcodecs kcompletion kconfigwidgets - kdbusaddons kiconthemes kio kitemmodels kjobwidgets knewstuff kldap - kpurpose kwallet kwindowsystem libkdepim qtwebengine ktextaddons + akonadi-mime + grantlee + karchive + kcmutils + kcodecs + kcompletion + kconfigwidgets + kdbusaddons + kiconthemes + kio + kitemmodels + kjobwidgets + knewstuff + kldap + kpurpose + kwallet + kwindowsystem + libkdepim + qtwebengine + ktextaddons ]; propagatedBuildInputs = [ - akonadi akonadi-contacts akonadi-search kconfig kcontacts kimap kpimtextedit + akonadi + akonadi-contacts + akonadi-search + kconfig + kcontacts + kimap + kpimtextedit + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/plasmatube/default.nix b/pkgs/applications/kde/plasmatube/default.nix index fbb577e6c80b7..c36554b5705d0 100644 --- a/pkgs/applications/kde/plasmatube/default.nix +++ b/pkgs/applications/kde/plasmatube/default.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, wrapGAppsHook3 -, gst_all_1 -, kcoreaddons -, kdeclarative -, ki18n -, kirigami2 -, mpv -, qtmultimedia -, qtquickcontrols2 -, yt-dlp +{ + lib, + mkDerivation, + extra-cmake-modules, + wrapGAppsHook3, + gst_all_1, + kcoreaddons, + kdeclarative, + ki18n, + kirigami2, + mpv, + qtmultimedia, + qtquickcontrols2, + yt-dlp, }: mkDerivation { @@ -21,20 +22,22 @@ mkDerivation { wrapGAppsHook3 ]; - buildInputs = [ - kcoreaddons - kdeclarative - ki18n - kirigami2 - mpv - qtmultimedia - qtquickcontrols2 - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer - ]); + buildInputs = + [ + kcoreaddons + kdeclarative + ki18n + kirigami2 + mpv + qtmultimedia + qtquickcontrols2 + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + ]); qtWrapperArgs = [ "--prefix" diff --git a/pkgs/applications/kde/print-manager.nix b/pkgs/applications/kde/print-manager.nix index 5fa200978353c..5b213cc914eee 100644 --- a/pkgs/applications/kde/print-manager.nix +++ b/pkgs/applications/kde/print-manager.nix @@ -1,10 +1,21 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - cups, ki18n, - kconfig, kconfigwidgets, kdbusaddons, kiconthemes, kcmutils, kio, - knotifications, kwidgetsaddons, kwindowsystem, kitemviews, plasma-framework, - qtdeclarative + cups, + ki18n, + kconfig, + kconfigwidgets, + kdbusaddons, + kiconthemes, + kcmutils, + kio, + knotifications, + kwidgetsaddons, + kwindowsystem, + kitemviews, + plasma-framework, + qtdeclarative, }: mkDerivation { @@ -14,12 +25,28 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ cups ki18n ]; + buildInputs = [ + cups + ki18n + ]; propagatedBuildInputs = [ - kconfig kconfigwidgets kdbusaddons kiconthemes kcmutils knotifications - kwidgetsaddons kitemviews kio kwindowsystem plasma-framework qtdeclarative + kconfig + kconfigwidgets + kdbusaddons + kiconthemes + kcmutils + knotifications + kwidgetsaddons + kitemviews + kio + kwindowsystem + plasma-framework + qtdeclarative + ]; + outputs = [ + "out" + "dev" ]; - outputs = [ "out" "dev" ]; # Fix build with cups deprecations etc. # See: https://github.com/NixOS/nixpkgs/issues/73334 env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations -Wno-error=format-security"; diff --git a/pkgs/applications/kde/qmlkonsole.nix b/pkgs/applications/kde/qmlkonsole.nix index 1071fce7e752f..5cf001eb1ed19 100644 --- a/pkgs/applications/kde/qmlkonsole.nix +++ b/pkgs/applications/kde/qmlkonsole.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kconfig -, ki18n -, kirigami-addons -, kirigami2 -, kcoreaddons -, qtquickcontrols2 -, kwindowsystem -, qmltermwidget + kconfig, + ki18n, + kirigami-addons, + kirigami2, + kcoreaddons, + qtquickcontrols2, + kwindowsystem, + qmltermwidget, }: mkDerivation { @@ -37,7 +38,11 @@ mkDerivation { description = "Terminal app for Plasma Mobile"; mainProgram = "qmlkonsole"; homepage = "https://invent.kde.org/plasma-mobile/qmlkonsole"; - license = with licenses; [ gpl2Plus gpl3Plus cc0 ]; + license = with licenses; [ + gpl2Plus + gpl3Plus + cc0 + ]; maintainers = with maintainers; [ balsoft ]; }; } diff --git a/pkgs/applications/kde/rocs.nix b/pkgs/applications/kde/rocs.nix index 263cce39f176f..6742ad2182c79 100644 --- a/pkgs/applications/kde/rocs.nix +++ b/pkgs/applications/kde/rocs.nix @@ -1,8 +1,20 @@ { - mkDerivation, lib, - extra-cmake-modules, boost, - qtbase, qtscript, qtquickcontrols, qtxmlpatterns, grantlee, - kdoctools, karchive, kxmlgui, kcrash, kdeclarative, ktexteditor, kguiaddons + mkDerivation, + lib, + extra-cmake-modules, + boost, + qtbase, + qtscript, + qtquickcontrols, + qtxmlpatterns, + grantlee, + kdoctools, + karchive, + kxmlgui, + kcrash, + kdeclarative, + ktexteditor, + kguiaddons, }: mkDerivation { @@ -12,15 +24,31 @@ mkDerivation { homepage = "https://edu.kde.org/rocs/"; description = "Graph theory IDE"; mainProgram = "rocs"; - license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + fdl12Plus + ]; platforms = lib.platforms.linux; maintainers = with maintainers; [ knairda ]; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ boost - qtbase qtscript qtquickcontrols qtxmlpatterns grantlee - kxmlgui kcrash kdeclarative karchive ktexteditor kguiaddons + qtbase + qtscript + qtquickcontrols + qtxmlpatterns + grantlee + kxmlgui + kcrash + kdeclarative + karchive + ktexteditor + kguiaddons ]; } diff --git a/pkgs/applications/kde/skanlite.nix b/pkgs/applications/kde/skanlite.nix index 0c518cc8ca22b..6dcba10e0897f 100644 --- a/pkgs/applications/kde/skanlite.nix +++ b/pkgs/applications/kde/skanlite.nix @@ -1,8 +1,11 @@ { - mkDerivation, lib, + mkDerivation, + lib, wrapGAppsHook3, - extra-cmake-modules, kdoctools, - kio, libksane + extra-cmake-modules, + kdoctools, + kio, + libksane, }: mkDerivation { @@ -10,11 +13,18 @@ mkDerivation { meta = with lib; { description = "KDE simple image scanning application"; mainProgram = "skanlite"; - homepage = "https://apps.kde.org/skanlite"; - license = licenses.gpl2Plus; + homepage = "https://apps.kde.org/skanlite"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ polendri ]; }; - nativeBuildInputs = [ wrapGAppsHook3 extra-cmake-modules kdoctools ]; - buildInputs = [ kio libksane ]; + nativeBuildInputs = [ + wrapGAppsHook3 + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kio + libksane + ]; } diff --git a/pkgs/applications/kde/skanpage.nix b/pkgs/applications/kde/skanpage.nix index 89094a10a87b3..8f4a636f5cb12 100644 --- a/pkgs/applications/kde/skanpage.nix +++ b/pkgs/applications/kde/skanpage.nix @@ -1,12 +1,13 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kirigami2 -, ktextwidgets -, libksane -, qtquickcontrols2 -, kpurpose -, kquickimageedit +{ + lib, + mkDerivation, + extra-cmake-modules, + kirigami2, + ktextwidgets, + libksane, + qtquickcontrols2, + kpurpose, + kquickimageedit, }: mkDerivation { diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix index 528c15eb8b734..657af4cbc26ba 100644 --- a/pkgs/applications/kde/spectacle.nix +++ b/pkgs/applications/kde/spectacle.nix @@ -1,22 +1,72 @@ -{ mkDerivation, lib -, extra-cmake-modules, kdoctools -, ki18n, xcb-util-cursor -, kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins -, knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi -, qtx11extras, knewstuff, kwayland, qttools, kcolorpicker, kimageannotator -, qcoro, qtquickcontrols2, wayland, plasma-wayland-protocols, kpurpose, kpipewire -, wrapGAppsHook3, wayland-scanner +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + ki18n, + xcb-util-cursor, + kconfig, + kcoreaddons, + kdbusaddons, + kdeclarative, + kio, + kipi-plugins, + knotifications, + kscreen, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + libkipi, + qtx11extras, + knewstuff, + kwayland, + qttools, + kcolorpicker, + kimageannotator, + qcoro, + qtquickcontrols2, + wayland, + plasma-wayland-protocols, + kpurpose, + kpipewire, + wrapGAppsHook3, + wayland-scanner, }: mkDerivation { pname = "spectacle"; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook3 wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapGAppsHook3 + wayland-scanner + ]; buildInputs = [ - kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications - kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor - knewstuff kwayland kcolorpicker kimageannotator qcoro qtquickcontrols2 - wayland plasma-wayland-protocols kpurpose kpipewire + kconfig + kcoreaddons + kdbusaddons + kdeclarative + ki18n + kio + knotifications + kscreen + kwidgetsaddons + kwindowsystem + kxmlgui + libkipi + qtx11extras + xcb-util-cursor + knewstuff + kwayland + kcolorpicker + kimageannotator + qcoro + qtquickcontrols2 + wayland + plasma-wayland-protocols + kpurpose + kpipewire ]; postPatch = '' substituteInPlace desktop/org.kde.spectacle.desktop.cmake \ @@ -29,7 +79,10 @@ mkDerivation { qtWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; - propagatedUserEnvPkgs = [ kipi-plugins libkipi ]; + propagatedUserEnvPkgs = [ + kipi-plugins + libkipi + ]; meta = with lib; { homepage = "https://apps.kde.org/spectacle/"; description = "Screenshot capture utility"; diff --git a/pkgs/applications/kde/telly-skout.nix b/pkgs/applications/kde/telly-skout.nix index 00df33583f5c1..12496afe9dbf9 100644 --- a/pkgs/applications/kde/telly-skout.nix +++ b/pkgs/applications/kde/telly-skout.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, qtquickcontrols2 -, kcoreaddons -, kconfig -, ki18n -, kirigami2 +{ + mkDerivation, + lib, + extra-cmake-modules, + qtquickcontrols2, + kcoreaddons, + kconfig, + ki18n, + kirigami2, }: mkDerivation { @@ -13,7 +14,13 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtquickcontrols2 kcoreaddons kconfig ki18n kirigami2 ]; + buildInputs = [ + qtquickcontrols2 + kcoreaddons + kconfig + ki18n + kirigami2 + ]; meta = { description = "Convergent Kirigami TV guide"; diff --git a/pkgs/applications/kde/tokodon.nix b/pkgs/applications/kde/tokodon.nix index fdf2d63d2bf5f..5771ce5c60e51 100644 --- a/pkgs/applications/kde/tokodon.nix +++ b/pkgs/applications/kde/tokodon.nix @@ -1,26 +1,27 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules -, pkg-config + cmake, + extra-cmake-modules, + pkg-config, -, kconfig -, kdbusaddons -, ki18n -, kirigami2 -, kirigami-addons -, knotifications -, qqc2-desktop-style -, qtbase -, qtkeychain -, qtmultimedia -, qtquickcontrols2 -, qttools -, qtwebsockets -, kitemmodels -, pimcommon -, mpv + kconfig, + kdbusaddons, + ki18n, + kirigami2, + kirigami-addons, + knotifications, + qqc2-desktop-style, + qtbase, + qtkeychain, + qtmultimedia, + qtquickcontrols2, + qttools, + qtwebsockets, + kitemmodels, + pimcommon, + mpv, }: mkDerivation { diff --git a/pkgs/applications/kde/umbrello.nix b/pkgs/applications/kde/umbrello.nix index 7a3356fd2103a..e6ee77742877a 100644 --- a/pkgs/applications/kde/umbrello.nix +++ b/pkgs/applications/kde/umbrello.nix @@ -1,12 +1,13 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, cmake -, karchive -, ki18n -, kiconthemes -, kdelibs4support -, ktexteditor +{ + mkDerivation, + lib, + extra-cmake-modules, + cmake, + karchive, + ki18n, + kiconthemes, + kdelibs4support, + ktexteditor, }: mkDerivation { @@ -17,9 +18,14 @@ mkDerivation { license = [ lib.licenses.gpl2 ]; }; nativeBuildInputs = [ - cmake extra-cmake-modules + cmake + extra-cmake-modules ]; propagatedBuildInputs = [ - karchive ki18n kiconthemes kdelibs4support ktexteditor + karchive + ki18n + kiconthemes + kdelibs4support + ktexteditor ]; } diff --git a/pkgs/applications/kde/yakuake.nix b/pkgs/applications/kde/yakuake.nix index cf88cd280c2eb..b64a7aac69642 100644 --- a/pkgs/applications/kde/yakuake.nix +++ b/pkgs/applications/kde/yakuake.nix @@ -1,29 +1,65 @@ { - mkDerivation, lib, kdoctools, extra-cmake-modules, - karchive, kcrash, kdbusaddons, ki18n, kiconthemes, knewstuff, knotifications, - knotifyconfig, konsole, kparts, kwayland, kwindowsystem, qtx11extras + mkDerivation, + lib, + kdoctools, + extra-cmake-modules, + karchive, + kcrash, + kdbusaddons, + ki18n, + kiconthemes, + knewstuff, + knotifications, + knotifyconfig, + konsole, + kparts, + kwayland, + kwindowsystem, + qtx11extras, }: mkDerivation { pname = "yakuake"; buildInputs = [ - karchive kcrash kdbusaddons ki18n kiconthemes knewstuff knotifications - knotifyconfig kparts kwayland kwindowsystem qtx11extras + karchive + kcrash + kdbusaddons + ki18n + kiconthemes + knewstuff + knotifications + knotifyconfig + kparts + kwayland + kwindowsystem + qtx11extras ]; propagatedBuildInputs = [ - karchive kcrash kdbusaddons ki18n kiconthemes knewstuff knotifications - knotifyconfig kparts kwindowsystem + karchive + kcrash + kdbusaddons + ki18n + kiconthemes + knewstuff + knotifications + knotifyconfig + kparts + kwindowsystem ]; propagatedUserEnvPkgs = [ konsole ]; nativeBuildInputs = [ - extra-cmake-modules kdoctools + extra-cmake-modules + kdoctools ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = { homepage = "https://yakuake.kde.org"; diff --git a/pkgs/applications/kde/zanshin.nix b/pkgs/applications/kde/zanshin.nix index 4b98ea8e0cf7c..137f7fc02c557 100644 --- a/pkgs/applications/kde/zanshin.nix +++ b/pkgs/applications/kde/zanshin.nix @@ -1,7 +1,11 @@ { - mkDerivation, lib, + mkDerivation, + lib, extra-cmake-modules, - akonadi-calendar, boost, kontactinterface, krunner + akonadi-calendar, + boost, + kontactinterface, + krunner, }: mkDerivation { @@ -14,5 +18,10 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ akonadi-calendar boost kontactinterface krunner ]; + buildInputs = [ + akonadi-calendar + boost + kontactinterface + krunner + ]; } diff --git a/pkgs/applications/logging/sosreport/default.nix b/pkgs/applications/logging/sosreport/default.nix index c92bab6d52374..faa59c21fa875 100644 --- a/pkgs/applications/logging/sosreport/default.nix +++ b/pkgs/applications/logging/sosreport/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, gettext -, magic -, pexpect -, pyyaml -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + gettext, + magic, + pexpect, + pyyaml, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/applications/maui/booth.nix b/pkgs/applications/maui/booth.nix index bca0c23a85436..1d9a8e9568df7 100644 --- a/pkgs/applications/maui/booth.nix +++ b/pkgs/applications/maui/booth.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kcoreaddons -, ki18n -, kirigami2 -, mauikit -, mauikit-filebrowsing -, prison -, qtgraphicaleffects -, qtmultimedia -, qtquickcontrols2 -, gst_all_1 +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kcoreaddons, + ki18n, + kirigami2, + mauikit, + mauikit-filebrowsing, + prison, + qtgraphicaleffects, + qtmultimedia, + qtquickcontrols2, + gst_all_1, }: mkDerivation { @@ -22,22 +23,24 @@ mkDerivation { extra-cmake-modules ]; - buildInputs = [ - kcoreaddons - ki18n - kirigami2 - mauikit - mauikit-filebrowsing - prison - qtgraphicaleffects - qtmultimedia - qtquickcontrols2 - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer - ]); + buildInputs = + [ + kcoreaddons + ki18n + kirigami2 + mauikit + mauikit-filebrowsing + prison + qtgraphicaleffects + qtmultimedia + qtquickcontrols2 + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + ]); preFixup = '' qtWrapperArgs+=( diff --git a/pkgs/applications/maui/buho.nix b/pkgs/applications/maui/buho.nix index b9f9fb446fb5d..d207955ad4b91 100644 --- a/pkgs/applications/maui/buho.nix +++ b/pkgs/applications/maui/buho.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, applet-window-buttons -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-filebrowsing -, mauikit-accounts -, mauikit-texteditor -, qtmultimedia -, qtquickcontrols2 +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + applet-window-buttons, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-filebrowsing, + mauikit-accounts, + mauikit-texteditor, + qtmultimedia, + qtquickcontrols2, }: mkDerivation { diff --git a/pkgs/applications/maui/clip.nix b/pkgs/applications/maui/clip.nix index 88d874c04e120..901a798252b7f 100644 --- a/pkgs/applications/maui/clip.nix +++ b/pkgs/applications/maui/clip.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, applet-window-buttons -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-filebrowsing -, qtmultimedia -, qtquickcontrols2 -, taglib -, ffmpeg +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + applet-window-buttons, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-filebrowsing, + qtmultimedia, + qtquickcontrols2, + taglib, + ffmpeg, }: mkDerivation { diff --git a/pkgs/applications/maui/communicator.nix b/pkgs/applications/maui/communicator.nix index 4ee5f59dc3cd9..c239a1c84296d 100644 --- a/pkgs/applications/maui/communicator.nix +++ b/pkgs/applications/maui/communicator.nix @@ -1,21 +1,22 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, applet-window-buttons -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-accounts -, mauikit-filebrowsing -, mauikit-texteditor -, qtmultimedia -, qtquickcontrols2 -, kpeople -, kcontacts +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + applet-window-buttons, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-accounts, + mauikit-filebrowsing, + mauikit-texteditor, + qtmultimedia, + qtquickcontrols2, + kpeople, + kcontacts, }: mkDerivation { diff --git a/pkgs/applications/maui/index.nix b/pkgs/applications/maui/index.nix index 4e12123074fdd..c16603490d18d 100644 --- a/pkgs/applications/maui/index.nix +++ b/pkgs/applications/maui/index.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-filebrowsing -, qtmultimedia -, qtquickcontrols2 +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-filebrowsing, + qtmultimedia, + qtquickcontrols2, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit-accounts.nix b/pkgs/applications/maui/mauikit-accounts.nix index 24308b7624831..e04ab551f0870 100644 --- a/pkgs/applications/maui/mauikit-accounts.nix +++ b/pkgs/applications/maui/mauikit-accounts.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kio -, mauikit +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kio, + mauikit, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit-calendar/default.nix b/pkgs/applications/maui/mauikit-calendar/default.nix index 161e2046b7283..42aaff0f386c7 100644 --- a/pkgs/applications/maui/mauikit-calendar/default.nix +++ b/pkgs/applications/maui/mauikit-calendar/default.nix @@ -1,14 +1,15 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, mauikit -, qtquickcontrols2 -, akonadi -, akonadi-contacts -, akonadi-calendar -, calendarsupport -, eventviews +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + mauikit, + qtquickcontrols2, + akonadi, + akonadi-contacts, + akonadi-calendar, + calendarsupport, + eventviews, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit-documents.nix b/pkgs/applications/maui/mauikit-documents.nix index 19d8e9faa2072..4ec7e6892bfb0 100644 --- a/pkgs/applications/maui/mauikit-documents.nix +++ b/pkgs/applications/maui/mauikit-documents.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, karchive -, kconfig -, kcoreaddons -, kfilemetadata -, kguiaddons -, ki18n -, kiconthemes -, kio -, mauikit -, poppler +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + karchive, + kconfig, + kcoreaddons, + kfilemetadata, + kguiaddons, + ki18n, + kiconthemes, + kio, + mauikit, + poppler, }: mkDerivation { @@ -38,7 +39,10 @@ mkDerivation { meta = { homepage = "https://invent.kde.org/maui/mauikit-documents"; description = "MauiKit QtQuick plugins for text editing"; - license = with lib.licenses; [ bsd2 lgpl21Plus ]; + license = with lib.licenses; [ + bsd2 + lgpl21Plus + ]; maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/applications/maui/mauikit-filebrowsing.nix b/pkgs/applications/maui/mauikit-filebrowsing.nix index d8be881f76496..13a98b37e03b9 100644 --- a/pkgs/applications/maui/mauikit-filebrowsing.nix +++ b/pkgs/applications/maui/mauikit-filebrowsing.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kio -, mauikit +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kio, + mauikit, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit-imagetools.nix b/pkgs/applications/maui/mauikit-imagetools.nix index 141d1953528a0..8b96c55002fc0 100644 --- a/pkgs/applications/maui/mauikit-imagetools.nix +++ b/pkgs/applications/maui/mauikit-imagetools.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kio -, leptonica -, mauikit -, opencv -, qtlocation -, exiv2 -, kquickimageedit -, tesseract +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kio, + leptonica, + mauikit, + opencv, + qtlocation, + exiv2, + kquickimageedit, + tesseract, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit-terminal.nix b/pkgs/applications/maui/mauikit-terminal.nix index 2f292ba2d0a1a..905132a9d7a58 100644 --- a/pkgs/applications/maui/mauikit-terminal.nix +++ b/pkgs/applications/maui/mauikit-terminal.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kcoreaddons -, ki18n -, mauikit +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kcoreaddons, + ki18n, + mauikit, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit-texteditor.nix b/pkgs/applications/maui/mauikit-texteditor.nix index 75826c2079ac0..c38ba401d060f 100644 --- a/pkgs/applications/maui/mauikit-texteditor.nix +++ b/pkgs/applications/maui/mauikit-texteditor.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kio -, mauikit -, syntax-highlighting +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kio, + mauikit, + syntax-highlighting, }: mkDerivation { diff --git a/pkgs/applications/maui/mauikit.nix b/pkgs/applications/maui/mauikit.nix index 71d148685e7ee..60b795604c830 100644 --- a/pkgs/applications/maui/mauikit.nix +++ b/pkgs/applications/maui/mauikit.nix @@ -1,14 +1,15 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kcoreaddons -, ki18n -, knotifications -, mauiman -, qtquickcontrols2 -, qtx11extras +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kcoreaddons, + ki18n, + knotifications, + mauiman, + qtquickcontrols2, + qtx11extras, }: mkDerivation { diff --git a/pkgs/applications/maui/mauiman.nix b/pkgs/applications/maui/mauiman.nix index 7566c7d6ed7d0..c90a02055450e 100644 --- a/pkgs/applications/maui/mauiman.nix +++ b/pkgs/applications/maui/mauiman.nix @@ -1,8 +1,9 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, qtsystems +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + qtsystems, }: mkDerivation { diff --git a/pkgs/applications/maui/nota.nix b/pkgs/applications/maui/nota.nix index 5e579c8cbdcb4..0c72106795fea 100644 --- a/pkgs/applications/maui/nota.nix +++ b/pkgs/applications/maui/nota.nix @@ -1,18 +1,19 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, applet-window-buttons -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-filebrowsing -, mauikit-texteditor -, qtmultimedia -, qtquickcontrols2 +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + applet-window-buttons, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-filebrowsing, + mauikit-texteditor, + qtmultimedia, + qtquickcontrols2, }: mkDerivation { diff --git a/pkgs/applications/maui/shelf.nix b/pkgs/applications/maui/shelf.nix index 1c1b53a8e1e93..e82c8afb6fe01 100644 --- a/pkgs/applications/maui/shelf.nix +++ b/pkgs/applications/maui/shelf.nix @@ -1,20 +1,21 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, applet-window-buttons -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-documents -, mauikit-filebrowsing -, mauikit-texteditor -, qtmultimedia -, qtquickcontrols2 -, poppler +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + applet-window-buttons, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-documents, + mauikit-filebrowsing, + mauikit-texteditor, + qtmultimedia, + qtquickcontrols2, + poppler, }: mkDerivation { diff --git a/pkgs/applications/maui/station.nix b/pkgs/applications/maui/station.nix index 2ca994397ccd2..6389576a125cf 100644 --- a/pkgs/applications/maui/station.nix +++ b/pkgs/applications/maui/station.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, kconfig -, kcoreaddons -, ki18n -, kirigami2 -, mauikit -, mauikit-filebrowsing -, mauikit-terminal -, qmltermwidget -, qtmultimedia +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + kconfig, + kcoreaddons, + ki18n, + kirigami2, + mauikit, + mauikit-filebrowsing, + mauikit-terminal, + qmltermwidget, + qtmultimedia, }: mkDerivation { diff --git a/pkgs/applications/maui/vvave.nix b/pkgs/applications/maui/vvave.nix index e10d33df0eb5f..d30a747a87e5b 100644 --- a/pkgs/applications/maui/vvave.nix +++ b/pkgs/applications/maui/vvave.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation -, cmake -, extra-cmake-modules -, applet-window-buttons -, karchive -, kcoreaddons -, ki18n -, kio -, kirigami2 -, mauikit -, mauikit-accounts -, mauikit-filebrowsing -, qtmultimedia -, qtquickcontrols2 -, taglib +{ + lib, + mkDerivation, + cmake, + extra-cmake-modules, + applet-window-buttons, + karchive, + kcoreaddons, + ki18n, + kio, + kirigami2, + mauikit, + mauikit-accounts, + mauikit-filebrowsing, + qtmultimedia, + qtquickcontrols2, + taglib, }: mkDerivation { @@ -47,4 +48,3 @@ mkDerivation { maintainers = with maintainers; [ onny ]; }; } - diff --git a/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix b/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix index c9b3ee26d3bae..28e4be38989c4 100644 --- a/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix +++ b/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildNpmPackage, ArchiSteamFarm }: +{ + lib, + fetchFromGitHub, + buildNpmPackage, + ArchiSteamFarm, +}: buildNpmPackage rec { pname = "asf-ui"; diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix index 1a164f578a016..3510d9393e43d 100644 --- a/pkgs/applications/misc/adobe-reader/default.nix +++ b/pkgs/applications/misc/adobe-reader/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, libX11 -, cups -, zlib -, libxml2 -, pango -, atk -, gtk2 -, glib -, gdk-pixbuf -, gdk-pixbuf-xlib +{ + lib, + stdenv, + fetchurl, + libX11, + cups, + zlib, + libxml2, + pango, + atk, + gtk2, + glib, + gdk-pixbuf, + gdk-pixbuf-xlib, }: stdenv.mkDerivation rec { @@ -27,7 +28,19 @@ stdenv.mkDerivation rec { # !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu. # We should probably remove those and use the regular Nixpkgs versions. - libPath = lib.makeLibraryPath [ stdenv.cc.cc libX11 zlib libxml2 cups pango atk gtk2 glib gdk-pixbuf gdk-pixbuf-xlib ]; + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + libX11 + zlib + libxml2 + cups + pango + atk + gtk2 + glib + gdk-pixbuf + gdk-pixbuf-xlib + ]; passthru.mozillaPlugin = "/libexec/adobe-reader/Browser/intellinux"; diff --git a/pkgs/applications/misc/aitrack/default.nix b/pkgs/applications/misc/aitrack/default.nix index b9bb696234877..7fa8e8e9d6107 100644 --- a/pkgs/applications/misc/aitrack/default.nix +++ b/pkgs/applications/misc/aitrack/default.nix @@ -1,14 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, qmake -, wrapQtAppsHook -, opencv -, spdlog -, onnxruntime -, qtx11extras -}: stdenv.mkDerivation { +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + qmake, + wrapQtAppsHook, + opencv, + spdlog, + onnxruntime, + qtx11extras, +}: +stdenv.mkDerivation { pname = "aitrack"; version = "0.6.5"; diff --git a/pkgs/applications/misc/anup/default.nix b/pkgs/applications/misc/anup/default.nix index a72ba17eb6b4a..ef343f3461464 100644 --- a/pkgs/applications/misc/anup/default.nix +++ b/pkgs/applications/misc/anup/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, Security, sqlite, xdg-utils}: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, + sqlite, + xdg-utils, +}: rustPlatform.buildRustPackage rec { pname = "anup"; @@ -11,12 +19,14 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-4pXF4p4K8+YihVB9NdgT6bOidmQEgWXUbcbvgXJ0IDA="; }; - buildInputs = [ - sqlite - xdg-utils - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + sqlite + xdg-utils + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; cargoLock = { lockFile = ./Cargo.lock; diff --git a/pkgs/applications/misc/ape/apeclex.nix b/pkgs/applications/misc/ape/apeclex.nix index 7f0523270f283..1f59e8dcf0afe 100644 --- a/pkgs/applications/misc/ape/apeclex.nix +++ b/pkgs/applications/misc/ape/apeclex.nix @@ -1,8 +1,15 @@ -{ lib, attemptoClex, callPackage }: +{ + lib, + attemptoClex, + callPackage, +}: callPackage ./. { pname = "ape-clex"; lexiconPath = "${attemptoClex}/clex_lexicon.pl"; description = "Parser for Attempto Controlled English (ACE) with a large lexicon (~100,000 entries)"; - license = with lib.licenses; [ lgpl3 gpl3 ]; + license = with lib.licenses; [ + lgpl3 + gpl3 + ]; } diff --git a/pkgs/applications/misc/ape/clex.nix b/pkgs/applications/misc/ape/clex.nix index a98695dab6825..5403e4d5e95bd 100644 --- a/pkgs/applications/misc/ape/clex.nix +++ b/pkgs/applications/misc/ape/clex.nix @@ -1,14 +1,18 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "attempto-clex"; version = "5133afe"; src = fetchFromGitHub { - owner = "Attempto"; - repo = "Clex"; - rev = version; - sha256 = "0p9s64g1jic213bwm6347jqckszgnni9szrrz31qjgaf32kf7nkp"; + owner = "Attempto"; + repo = "Clex"; + rev = version; + sha256 = "0p9s64g1jic213bwm6347jqckszgnni9szrrz31qjgaf32kf7nkp"; }; installPhase = '' diff --git a/pkgs/applications/misc/ape/default.nix b/pkgs/applications/misc/ape/default.nix index 598ad82c1e35f..b3c281c6b820a 100644 --- a/pkgs/applications/misc/ape/default.nix +++ b/pkgs/applications/misc/ape/default.nix @@ -1,9 +1,13 @@ -{ lib, stdenv, swi-prolog, makeWrapper, +{ + lib, + stdenv, + swi-prolog, + makeWrapper, fetchFromGitHub, lexiconPath ? "prolog/lexicon/clex_lexicon.pl", pname ? "ape", description ? "Parser for Attempto Controlled English (ACE)", - license ? lib.licenses.lgpl3 + license ? lib.licenses.lgpl3, }: stdenv.mkDerivation rec { @@ -14,10 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ swi-prolog ]; src = fetchFromGitHub { - owner = "Attempto"; - repo = "APE"; - rev = "113b81621262d7a395779465cb09397183e6f74c"; - sha256 = "0xyvna2fbr18hi5yvm0zwh77q02dfna1g4g53z9mn2rmlfn2mhjh"; + owner = "Attempto"; + repo = "APE"; + rev = "113b81621262d7a395779465cb09397183e6f74c"; + sha256 = "0xyvna2fbr18hi5yvm0zwh77q02dfna1g4g53z9mn2rmlfn2mhjh"; }; patchPhase = '' diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 621fca6feb2d7..26a93f8b00357 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -1,38 +1,40 @@ -{ config -, lib -, stdenv -, fetchgit -, autoreconfHook -, autoconf-archive -, pkg-config -, CoreAudio -, enableAlsa ? true -, alsa-lib -, enableLibao ? true -, libao -, enableLame ? config.sox.enableLame or false -, lame -, enableLibmad ? true -, libmad -, enableLibogg ? true -, libogg -, libvorbis -, enableOpusfile ? true -, opusfile -, enableFLAC ? true -, flac -, enablePNG ? true -, libpng -, enableLibsndfile ? true -, libsndfile -, enableWavpack ? true -, wavpack +{ + config, + lib, + stdenv, + fetchgit, + autoreconfHook, + autoconf-archive, + pkg-config, + CoreAudio, + enableAlsa ? true, + alsa-lib, + enableLibao ? true, + libao, + enableLame ? config.sox.enableLame or false, + lame, + enableLibmad ? true, + libmad, + enableLibogg ? true, + libogg, + libvorbis, + enableOpusfile ? true, + opusfile, + enableFLAC ? true, + flac, + enablePNG ? true, + libpng, + enableLibsndfile ? true, + libsndfile, + enableWavpack ? true, + wavpack, # amrnb and amrwb are unfree, disabled by default -, enableAMR ? false -, amrnb -, amrwb -, enableLibpulseaudio ? stdenv.hostPlatform.isLinux && lib.meta.availableOn stdenv.hostPlatform libpulseaudio -, libpulseaudio + enableAMR ? false, + amrnb, + amrwb, + enableLibpulseaudio ? + stdenv.hostPlatform.isLinux && lib.meta.availableOn stdenv.hostPlatform libpulseaudio, + libpulseaudio, }: stdenv.mkDerivation rec { @@ -69,13 +71,19 @@ stdenv.mkDerivation rec { ++ lib.optional enableLibao libao ++ lib.optional enableLame lame ++ lib.optional enableLibmad libmad - ++ lib.optionals enableLibogg [ libogg libvorbis ] + ++ lib.optionals enableLibogg [ + libogg + libvorbis + ] ++ lib.optional enableOpusfile opusfile ++ lib.optional enableFLAC flac ++ lib.optional enablePNG libpng ++ lib.optional enableLibsndfile libsndfile ++ lib.optional enableWavpack wavpack - ++ lib.optionals enableAMR [ amrnb amrwb ] + ++ lib.optionals enableAMR [ + amrnb + amrwb + ] ++ lib.optional enableLibpulseaudio libpulseaudio ++ lib.optional stdenv.hostPlatform.isDarwin CoreAudio; diff --git a/pkgs/applications/misc/ausweisapp/default.nix b/pkgs/applications/misc/ausweisapp/default.nix index 7b4f813e8084a..c20def2cadc98 100644 --- a/pkgs/applications/misc/ausweisapp/default.nix +++ b/pkgs/applications/misc/ausweisapp/default.nix @@ -12,7 +12,7 @@ qttools, qtwayland, qtwebsockets, - gitUpdater + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { pname = "ausweisapp"; @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.ausweisapp.bund.de/open-source-software"; license = lib.licenses.eupl12; mainProgram = "AusweisApp"; - maintainers = with lib.maintainers; [b4dm4n]; + maintainers = with lib.maintainers; [ b4dm4n ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/applications/misc/avell-unofficial-control-center/default.nix b/pkgs/applications/misc/avell-unofficial-control-center/default.nix index c37d2c42b64f2..94b091a2b2ca5 100644 --- a/pkgs/applications/misc/avell-unofficial-control-center/default.nix +++ b/pkgs/applications/misc/avell-unofficial-control-center/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "avell-unofficial-control-center"; @@ -15,7 +19,10 @@ python3Packages.buildPythonApplication rec { # No tests included doCheck = false; - propagatedBuildInputs = with python3Packages; [ pyusb elevate ]; + propagatedBuildInputs = with python3Packages; [ + pyusb + elevate + ]; meta = with lib; { homepage = "https://github.com/rodgomesc/avell-unofficial-control-center"; diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix index 6c483c02f3c78..d43ed3921c0d1 100644 --- a/pkgs/applications/misc/barrier/default.nix +++ b/pkgs/applications/misc/barrier/default.nix @@ -1,7 +1,16 @@ -{ lib, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation, - openssl, wrapGAppsHook3, +{ + lib, + fetchFromGitHub, + cmake, + curl, + xorg, + avahi, + qtbase, + mkDerivation, + openssl, + wrapGAppsHook3, avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; }, - fetchpatch + fetchpatch, }: mkDerivation rec { @@ -31,8 +40,18 @@ mkDerivation rec { "-include cstdint" ]; - buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ]; - nativeBuildInputs = [ cmake wrapGAppsHook3 ]; + buildInputs = [ + curl + xorg.libX11 + xorg.libXext + xorg.libXtst + avahiWithLibdnssdCompat + qtbase + ]; + nativeBuildInputs = [ + cmake + wrapGAppsHook3 + ]; postFixup = '' substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier" diff --git a/pkgs/applications/misc/bfcal/default.nix b/pkgs/applications/misc/bfcal/default.nix index 0f801aa2e1304..c309652c6d48f 100644 --- a/pkgs/applications/misc/bfcal/default.nix +++ b/pkgs/applications/misc/bfcal/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromSourcehut -, meson -, ninja -, pkg-config -, wrapQtAppsHook -, qtbase +{ + stdenv, + lib, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + wrapQtAppsHook, + qtbase, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja pkg-config wrapQtAppsHook + meson + ninja + pkg-config + wrapQtAppsHook ]; buildInputs = [ diff --git a/pkgs/applications/misc/binocle/default.nix b/pkgs/applications/misc/binocle/default.nix index da77d6c693df7..d80678848b942 100644 --- a/pkgs/applications/misc/binocle/default.nix +++ b/pkgs/applications/misc/binocle/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, makeWrapper -, AppKit -, CoreFoundation -, CoreGraphics -, CoreVideo -, Foundation -, Metal -, QuartzCore -, xorg -, vulkan-loader +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + makeWrapper, + AppKit, + CoreFoundation, + CoreGraphics, + CoreVideo, + Foundation, + Metal, + QuartzCore, + xorg, + vulkan-loader, }: rustPlatform.buildRustPackage rec { @@ -32,19 +33,39 @@ rustPlatform.buildRustPackage rec { ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit CoreFoundation CoreGraphics CoreVideo Foundation Metal QuartzCore + AppKit + CoreFoundation + CoreGraphics + CoreVideo + Foundation + Metal + QuartzCore ]; postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' wrapProgram $out/bin/binocle \ - --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath (with xorg; [ libX11 libXcursor libXi libXrandr ] ++ [ vulkan-loader ])} + --suffix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath ( + with xorg; + [ + libX11 + libXcursor + libXi + libXrandr + ] + ++ [ vulkan-loader ] + ) + } ''; meta = with lib; { description = "Graphical tool to visualize binary data"; mainProgram = "binocle"; homepage = "https://github.com/sharkdp/binocle"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/applications/misc/birdtray/default.nix b/pkgs/applications/misc/birdtray/default.nix index cbdb165a64847..4282495495098 100644 --- a/pkgs/applications/misc/birdtray/default.nix +++ b/pkgs/applications/misc/birdtray/default.nix @@ -1,12 +1,13 @@ -{ mkDerivation - , lib - , fetchFromGitHub +{ + mkDerivation, + lib, + fetchFromGitHub, - , cmake - , pkg-config - , qtbase - , qttools - , qtx11extras + cmake, + pkg-config, + qtbase, + qttools, + qtx11extras, }: mkDerivation rec { @@ -20,9 +21,14 @@ mkDerivation rec { sha256 = "sha256-rj8tPzZzgW0hXmq8c1LiunIX1tO/tGAaqDGJgCQda5M="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - qtbase qttools qtx11extras + qtbase + qttools + qtx11extras ]; # Wayland support is broken. diff --git a/pkgs/applications/misc/blender/wrapper.nix b/pkgs/applications/misc/blender/wrapper.nix index 8b5e8916a1388..5606de21aeb82 100644 --- a/pkgs/applications/misc/blender/wrapper.nix +++ b/pkgs/applications/misc/blender/wrapper.nix @@ -1,7 +1,8 @@ -{ stdenv -, blender -, makeWrapper -, extraModules ? [] +{ + stdenv, + blender, + makeWrapper, + extraModules ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = blender.pname + "-wrapped"; @@ -9,7 +10,10 @@ stdenv.mkDerivation (finalAttrs: { inherit (blender) version meta; - nativeBuildInputs = [ blender.pythonPackages.wrapPython makeWrapper ]; + nativeBuildInputs = [ + blender.pythonPackages.wrapPython + makeWrapper + ]; installPhase = '' mkdir $out/{share/applications,bin} -p sed 's/Exec=blender/Exec=${finalAttrs.finalPackage.pname}/g' $src/share/applications/blender.desktop > $out/share/applications/${finalAttrs.finalPackage.pname}.desktop diff --git a/pkgs/applications/misc/blucontrol/wrapper.nix b/pkgs/applications/misc/blucontrol/wrapper.nix index 3ace71b7644a6..20b19c45bb8b9 100644 --- a/pkgs/applications/misc/blucontrol/wrapper.nix +++ b/pkgs/applications/misc/blucontrol/wrapper.nix @@ -1,33 +1,39 @@ -{ stdenv, lib, makeWrapper, ghcWithPackages, packages ? (_:[]) }: +{ + stdenv, + lib, + makeWrapper, + ghcWithPackages, + packages ? (_: [ ]), +}: let blucontrolEnv = ghcWithPackages (self: [ self.blucontrol ] ++ packages self); in - stdenv.mkDerivation { - pname = "blucontrol-with-packages"; - version = blucontrolEnv.version; +stdenv.mkDerivation { + pname = "blucontrol-with-packages"; + version = blucontrolEnv.version; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' - makeWrapper ${blucontrolEnv}/bin/blucontrol $out/bin/blucontrol \ - --prefix PATH : ${lib.makeBinPath [ blucontrolEnv ]} - ''; + buildCommand = '' + makeWrapper ${blucontrolEnv}/bin/blucontrol $out/bin/blucontrol \ + --prefix PATH : ${lib.makeBinPath [ blucontrolEnv ]} + ''; - # trivial derivation - preferLocalBuild = true; - allowSubstitues = false; + # trivial derivation + preferLocalBuild = true; + allowSubstitues = false; - meta = with lib; { - description = "Configurable blue light filter"; - mainProgram = "blucontrol"; - longDescription = '' - This application is a blue light filter, with the main focus on configurability. - Configuration is done in Haskell in the style of xmonad. - Blucontrol makes use of monad transformers and allows monadic calculation of gamma values and recoloring. The user chooses, what will be captured in the monadic state. - ''; - license = licenses.bsd3; - homepage = "https://github.com/jumper149/blucontrol"; - platforms = platforms.unix; - maintainers = with maintainers; [ jumper149 ]; - }; - } + meta = with lib; { + description = "Configurable blue light filter"; + mainProgram = "blucontrol"; + longDescription = '' + This application is a blue light filter, with the main focus on configurability. + Configuration is done in Haskell in the style of xmonad. + Blucontrol makes use of monad transformers and allows monadic calculation of gamma values and recoloring. The user chooses, what will be captured in the monadic state. + ''; + license = licenses.bsd3; + homepage = "https://github.com/jumper149/blucontrol"; + platforms = platforms.unix; + maintainers = with maintainers; [ jumper149 ]; + }; +} diff --git a/pkgs/applications/misc/bluetooth_battery/default.nix b/pkgs/applications/misc/bluetooth_battery/default.nix index 4158cdf8cc559..0eff5be2206fd 100644 --- a/pkgs/applications/misc/bluetooth_battery/default.nix +++ b/pkgs/applications/misc/bluetooth_battery/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildPythonApplication, pybluez }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + pybluez, +}: buildPythonApplication rec { pname = "bluetooth_battery"; diff --git a/pkgs/applications/misc/brewtarget/default.nix b/pkgs/applications/misc/brewtarget/default.nix index d46cf7e0d5dd3..72e7df62486a0 100644 --- a/pkgs/applications/misc/brewtarget/default.nix +++ b/pkgs/applications/misc/brewtarget/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, bash -, cmake -, boost -, xercesc -, xalanc -, qtbase -, qttools -, qtmultimedia -, qtsvg +{ + lib, + mkDerivation, + fetchFromGitHub, + bash, + cmake, + boost, + xercesc, + xalanc, + qtbase, + qttools, + qtmultimedia, + qtsvg, }: mkDerivation rec { @@ -23,8 +24,18 @@ mkDerivation rec { sha256 = "sha256-PqaiZ2eLH8+qRRkIolnQClTL9O9EgHMqFH/nUffosV8="; }; - nativeBuildInputs = [ cmake boost xercesc xalanc ]; - buildInputs = [ qtbase qttools qtmultimedia qtsvg ]; + nativeBuildInputs = [ + cmake + boost + xercesc + xalanc + ]; + buildInputs = [ + qtbase + qttools + qtmultimedia + qtsvg + ]; preConfigure = '' chmod +x configure diff --git a/pkgs/applications/misc/cambrinary/default.nix b/pkgs/applications/misc/cambrinary/default.nix index 15bb60d4c3f76..c55007b6205ff 100644 --- a/pkgs/applications/misc/cambrinary/default.nix +++ b/pkgs/applications/misc/cambrinary/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, flit -, aiohttp -, beautifulsoup4 +{ + lib, + buildPythonApplication, + fetchFromGitHub, + flit, + aiohttp, + beautifulsoup4, }: buildPythonApplication rec { diff --git a/pkgs/applications/misc/candle/default.nix b/pkgs/applications/misc/candle/default.nix index 7b62e50e90063..32c0b872d1ae1 100644 --- a/pkgs/applications/misc/candle/default.nix +++ b/pkgs/applications/misc/candle/default.nix @@ -1,13 +1,20 @@ -{ mkDerivation, lib, fetchFromGitHub, qtbase, qtserialport, qmake }: +{ + mkDerivation, + lib, + fetchFromGitHub, + qtbase, + qtserialport, + qmake, +}: mkDerivation rec { pname = "candle"; version = "1.1"; src = fetchFromGitHub { - owner = "Denvi"; - repo = "Candle"; - rev = "v${version}"; + owner = "Denvi"; + repo = "Candle"; + rev = "v${version}"; sha256 = "1gpx08gdz8awbsj6lsczwgffp19z3q0r2fvm72a73qd9az29pmm0"; }; @@ -21,7 +28,10 @@ mkDerivation rec { runHook postInstall ''; - buildInputs = [ qtbase qtserialport ]; + buildInputs = [ + qtbase + qtserialport + ]; meta = with lib; { description = "GRBL controller application with G-Code visualizer written in Qt"; diff --git a/pkgs/applications/misc/cardpeek/default.nix b/pkgs/applications/misc/cardpeek/default.nix index 6122607bc4dc2..cc953ba23ec83 100644 --- a/pkgs/applications/misc/cardpeek/default.nix +++ b/pkgs/applications/misc/cardpeek/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, glib -, gtk3 -, pcsclite -, lua5_2 -, curl -, readline -, PCSC +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + glib, + gtk3, + pcsclite, + lua5_2, + curl, + readline, + PCSC, }: let version = "0.8.4"; @@ -32,8 +33,18 @@ stdenv.mkDerivation { --replace 'PCSC_HEADERS=`ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/*.sdk/System/Library/Frameworks/PCSC.framework/Versions/Current/Headers/ | sort | head -1`' 'PCSC_HEADERS=${PCSC}/Library/Frameworks/PCSC.framework/Headers' ''; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ glib gtk3 lua5_2 curl readline ] + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = + [ + glib + gtk3 + lua5_2 + curl + readline + ] ++ lib.optional stdenv.hostPlatform.isDarwin PCSC ++ lib.optional stdenv.hostPlatform.isLinux pcsclite; diff --git a/pkgs/applications/misc/cask-server/default.nix b/pkgs/applications/misc/cask-server/default.nix index 2cb52a2b2cc8c..f2d6b680be34a 100644 --- a/pkgs/applications/misc/cask-server/default.nix +++ b/pkgs/applications/misc/cask-server/default.nix @@ -1,8 +1,9 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, extra-cmake-modules +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + extra-cmake-modules, }: mkDerivation rec { diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix index 860a49b5ce03e..a6ee2a4a36c99 100644 --- a/pkgs/applications/misc/cataract/build.nix +++ b/pkgs/applications/misc/cataract/build.nix @@ -1,14 +1,17 @@ -{ lib, stdenv -, fetchgit -, autoreconfHook -, glib -, pkg-config -, libxml2 -, exiv2 -, imagemagick6 -, version -, sha256 -, rev }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + glib, + pkg-config, + libxml2, + exiv2, + imagemagick6, + version, + sha256, + rev, +}: stdenv.mkDerivation { inherit version; @@ -19,8 +22,16 @@ stdenv.mkDerivation { inherit sha256 rev; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ glib libxml2 exiv2 imagemagick6 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + glib + libxml2 + exiv2 + imagemagick6 + ]; prePatch = '' sed -i 's|#include |#include |' src/jpeg-utils.cpp @@ -45,5 +56,3 @@ stdenv.mkDerivation { platforms = with platforms; linux ++ darwin; }; } - - diff --git a/pkgs/applications/misc/cataract/default.nix b/pkgs/applications/misc/cataract/default.nix index 3a9f20289227b..0c450be402926 100644 --- a/pkgs/applications/misc/cataract/default.nix +++ b/pkgs/applications/misc/cataract/default.nix @@ -5,4 +5,3 @@ callPackage ./build.nix { rev = "675e647dc8ae918d29f520a29be9201ae85a94dd"; sha256 = "13b9rvcy9k2ay8w36j28kc7f4lnxp4jc0494ck3xsmwgqsawmzdj"; } - diff --git a/pkgs/applications/misc/cataract/unstable.nix b/pkgs/applications/misc/cataract/unstable.nix index 397aed355a952..deabaf7417211 100644 --- a/pkgs/applications/misc/cataract/unstable.nix +++ b/pkgs/applications/misc/cataract/unstable.nix @@ -5,4 +5,3 @@ callPackage ./build.nix { rev = "db3d992febbe703931840e9bdad95c43081694a5"; sha256 = "04f85piy675lq36w1mw6mw66n8911mmn4ifj8h9x47z8z806h3rf"; } - diff --git a/pkgs/applications/misc/chewing-editor/default.nix b/pkgs/applications/misc/chewing-editor/default.nix index 9cf163055a4bc..9f2e10fce8743 100644 --- a/pkgs/applications/misc/chewing-editor/default.nix +++ b/pkgs/applications/misc/chewing-editor/default.nix @@ -1,5 +1,13 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, libchewing, qtbase -, qttools }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + libchewing, + qtbase, + qttools, +}: mkDerivation rec { pname = "chewing-editor"; @@ -14,8 +22,15 @@ mkDerivation rec { doCheck = true; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libchewing qtbase qttools ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libchewing + qtbase + qttools + ]; meta = with lib; { description = "Cross platform chewing user phrase editor"; diff --git a/pkgs/applications/misc/clight/clight-gui.nix b/pkgs/applications/misc/clight/clight-gui.nix index da7dd77deeaa2..495ebc5024cd1 100644 --- a/pkgs/applications/misc/clight/clight-gui.nix +++ b/pkgs/applications/misc/clight/clight-gui.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, qtcharts -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + qtcharts, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -18,8 +19,14 @@ stdenv.mkDerivation rec { hash = "sha256-U4vaMwnVDZnYLc+K3/yD81Q1vyBL8uSrrhOHbjbox5U="; }; - buildInputs = [ qtbase qtcharts ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + buildInputs = [ + qtbase + qtcharts + ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; sourceRoot = "${src.name}/src"; diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix index 14fba10232bbf..cb9bdea22067a 100644 --- a/pkgs/applications/misc/clight/clightd.nix +++ b/pkgs/applications/misc/clight/clightd.nix @@ -1,12 +1,32 @@ -{ lib, stdenv, fetchFromGitHub -, dbus, cmake, pkg-config, wayland-scanner -, glib, udev, polkit, libusb1, libjpeg, libmodule -, pcre, libXdmcp, util-linux, libpthreadstubs -, enableDdc ? true, ddcutil -, enableDpms ? true, libXext -, enableGamma ? true, libdrm, libXrandr, wayland -, enableScreen ? true -, enableYoctolight ? true }: +{ + lib, + stdenv, + fetchFromGitHub, + dbus, + cmake, + pkg-config, + wayland-scanner, + glib, + udev, + polkit, + libusb1, + libjpeg, + libmodule, + pcre, + libXdmcp, + util-linux, + libpthreadstubs, + enableDdc ? true, + ddcutil, + enableDpms ? true, + libXext, + enableGamma ? true, + libdrm, + libXrandr, + wayland, + enableScreen ? true, + enableYoctolight ? true, +}: stdenv.mkDerivation rec { pname = "clightd"; @@ -30,15 +50,17 @@ stdenv.mkDerivation rec { ''; cmakeFlags = - [ "-DSYSTEMD_SERVICE_DIR=${placeholder "out"}/lib/systemd/system" + [ + "-DSYSTEMD_SERVICE_DIR=${placeholder "out"}/lib/systemd/system" "-DDBUS_CONFIG_DIR=${placeholder "out"}/etc/dbus-1/system.d" # systemd.pc has prefix=${systemd.out} "-DMODULE_LOAD_DIR=${placeholder "out"}/lib/modules-load.d" - ] ++ lib.optional enableDdc "-DENABLE_DDC=1" - ++ lib.optional enableDpms "-DENABLE_DPMS=1" - ++ lib.optional enableGamma "-DENABLE_GAMMA=1" - ++ lib.optional enableScreen "-DENABLE_SCREEN=1" - ++ lib.optional enableYoctolight "-DENABLE_YOCTOLIGHT=1"; + ] + ++ lib.optional enableDdc "-DENABLE_DDC=1" + ++ lib.optional enableDpms "-DENABLE_DPMS=1" + ++ lib.optional enableGamma "-DENABLE_GAMMA=1" + ++ lib.optional enableScreen "-DENABLE_SCREEN=1" + ++ lib.optional enableYoctolight "-DENABLE_YOCTOLIGHT=1"; depsBuildBuild = [ pkg-config @@ -50,23 +72,28 @@ stdenv.mkDerivation rec { wayland-scanner ]; - buildInputs = [ - dbus - glib - udev - polkit - libusb1 - libjpeg - libmodule + buildInputs = + [ + dbus + glib + udev + polkit + libusb1 + libjpeg + libmodule - pcre - libXdmcp - util-linux - libpthreadstubs - ] ++ lib.optionals enableDdc [ ddcutil ] + pcre + libXdmcp + util-linux + libpthreadstubs + ] + ++ lib.optionals enableDdc [ ddcutil ] ++ lib.optionals enableDpms [ libXext ] ++ lib.optionals enableGamma [ libXrandr ] - ++ lib.optionals (enableDpms || enableGamma || enableScreen) [ libdrm wayland ]; + ++ lib.optionals (enableDpms || enableGamma || enableScreen) [ + libdrm + wayland + ]; postInstall = '' mkdir -p $out/bin diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix index 3f3ea2416d893..820e1f3d62fd6 100644 --- a/pkgs/applications/misc/clight/default.nix +++ b/pkgs/applications/misc/clight/default.nix @@ -1,8 +1,22 @@ -{ lib, stdenv, fetchFromGitHub -, dbus, cmake, pkg-config, bash-completion -, gsl, popt, clightd, systemd, libconfig, libmodule -, withGeoclue ? true, geoclue2 -, withUpower ? true, upower }: +{ + lib, + stdenv, + fetchFromGitHub, + dbus, + cmake, + pkg-config, + bash-completion, + gsl, + popt, + clightd, + systemd, + libconfig, + libmodule, + withGeoclue ? true, + geoclue2, + withUpower ? true, + upower, +}: stdenv.mkDerivation rec { pname = "clight"; @@ -22,16 +36,18 @@ stdenv.mkDerivation rec { bash-completion ]; - buildInputs = [ - gsl - popt - upower - clightd - systemd - geoclue2 - libconfig - libmodule - ] ++ lib.optional withGeoclue geoclue2 + buildInputs = + [ + gsl + popt + upower + clightd + systemd + geoclue2 + libconfig + libmodule + ] + ++ lib.optional withGeoclue geoclue2 ++ lib.optional withUpower upower; cmakeFlags = [ diff --git a/pkgs/applications/misc/cobalt/default.nix b/pkgs/applications/misc/cobalt/default.nix index a5dd6a8d9ef40..53cff166991e4 100644 --- a/pkgs/applications/misc/cobalt/default.nix +++ b/pkgs/applications/misc/cobalt/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "cobalt"; diff --git a/pkgs/applications/misc/collision/default.nix b/pkgs/applications/misc/collision/default.nix index 1f05eb614f0da..a0ff53ec33144 100644 --- a/pkgs/applications/misc/collision/default.nix +++ b/pkgs/applications/misc/collision/default.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, crystal -, wrapGAppsHook4 -, desktopToDarwinBundle -, gobject-introspection -, nautilus-python -, python3 -, libadwaita -, openssl -, libxml2 -, pkg-config -, gitUpdater -, _experimental-update-script-combinators -, runCommand -, crystal2nix -, writeShellScript +{ + stdenv, + lib, + fetchFromGitHub, + crystal, + wrapGAppsHook4, + desktopToDarwinBundle, + gobject-introspection, + nautilus-python, + python3, + libadwaita, + openssl, + libxml2, + pkg-config, + gitUpdater, + _experimental-update-script-combinators, + runCommand, + crystal2nix, + writeShellScript, }: crystal.buildCrystalPackage rec { @@ -47,8 +48,11 @@ crystal.buildCrystalPackage rec { # There is an explanation for this https://danilafe.com/blog/crystal_nix_revisited/ # Shortly, adding pkg-config to buildInputs along with openssl fixes the issue. - nativeBuildInputs = [ wrapGAppsHook4 pkg-config gobject-introspection ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + nativeBuildInputs = [ + wrapGAppsHook4 + pkg-config + gobject-introspection + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; buildInputs = [ libadwaita @@ -58,23 +62,41 @@ crystal.buildCrystalPackage rec { python3.pkgs.pygobject3 ]; - buildTargets = ["bindings" "build"]; + buildTargets = [ + "bindings" + "build" + ]; doCheck = false; doInstallCheck = false; - installTargets = ["desktop" "install"]; + installTargets = [ + "desktop" + "install" + ]; postInstall = '' - install -Dm555 ./nautilus-extension/collision-extension.py -t $out/share/nautilus-python/extensions + install -Dm555 ./nautilus-extension/collision-extension.py -t $out/share/nautilus-python/extensions ''; passthru = { updateScript = _experimental-update-script-combinators.sequence [ (gitUpdater { rev-prefix = "v"; }) (_experimental-update-script-combinators.copyAttrOutputToFile "collision.shardLock" ./shard.lock) - { command = [ (writeShellScript "update-lock" "cd $1; ${lib.getExe crystal2nix}") ./. ]; supportedFeatures = [ "silent" ]; } - { command = [ "rm" ./shard.lock ]; supportedFeatures = [ "silent" ]; } + { + command = [ + (writeShellScript "update-lock" "cd $1; ${lib.getExe crystal2nix}") + ./. + ]; + supportedFeatures = [ "silent" ]; + } + { + command = [ + "rm" + ./shard.lock + ]; + supportedFeatures = [ "silent" ]; + } ]; shardLock = runCommand "shard.lock" { inherit src; } '' cp $src/shard.lock $out diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix index 0ace0e1e493b0..0d7a4131e6fe6 100644 --- a/pkgs/applications/misc/confclerk/default.nix +++ b/pkgs/applications/misc/confclerk/default.nix @@ -1,4 +1,10 @@ -{ lib, mkDerivation, fetchurl, qtbase, qmake }: +{ + lib, + mkDerivation, + fetchurl, + qtbase, + qmake, +}: mkDerivation rec { pname = "confclerk"; diff --git a/pkgs/applications/misc/coolreader/default.nix b/pkgs/applications/misc/coolreader/default.nix index 22e9906db561d..6433e00799237 100644 --- a/pkgs/applications/misc/coolreader/default.nix +++ b/pkgs/applications/misc/coolreader/default.nix @@ -1,5 +1,14 @@ -{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkg-config, lib, - qttools, fribidi, libunibreak }: +{ + stdenv, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + lib, + qttools, + fribidi, + libunibreak, +}: mkDerivation rec { pname = "coolreader"; @@ -12,9 +21,16 @@ mkDerivation rec { sha256 = "sha256-ZfgaLCLvBU6xP7nx7YJTsJSpvpdQgLpSMWH+BsG8E1g="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ qttools fribidi libunibreak ]; + buildInputs = [ + qttools + fribidi + libunibreak + ]; meta = with lib; { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix index e6788abeca528..bb395236a66c3 100644 --- a/pkgs/applications/misc/copyq/default.nix +++ b/pkgs/applications/misc/copyq/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, qtbase -, qtsvg -, qttools -, qtdeclarative -, libXfixes -, libXtst -, qtwayland -, wayland -, wrapQtAppsHook -, kdePackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + qtbase, + qtsvg, + qttools, + qtdeclarative, + libXfixes, + libXtst, + qtwayland, + wayland, + wrapQtAppsHook, + kdePackages, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/cubocore-packages/coreaction/default.nix b/pkgs/applications/misc/cubocore-packages/coreaction/default.nix index cd6363f5a1006..944dc109c0e9f 100644 --- a/pkgs/applications/misc/cubocore-packages/coreaction/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coreaction/default.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, fetchFromGitLab, qtsvg, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtsvg, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coreaction"; diff --git a/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix b/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix index 691917e28da9f..d06bea646dc7e 100644 --- a/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, libarchive, libarchive-qt, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + libarchive, + libarchive-qt, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corearchiver"; diff --git a/pkgs/applications/misc/cubocore-packages/corefm/default.nix b/pkgs/applications/misc/cubocore-packages/corefm/default.nix index 79e1e206ea02d..1bdf0f104dee6 100644 --- a/pkgs/applications/misc/cubocore-packages/corefm/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corefm/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corefm"; diff --git a/pkgs/applications/misc/cubocore-packages/coregarage/default.nix b/pkgs/applications/misc/cubocore-packages/coregarage/default.nix index 6c181da0b112d..32ab1063a04b6 100644 --- a/pkgs/applications/misc/cubocore-packages/coregarage/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coregarage/default.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, libarchive, libarchive-qt, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + libarchive, + libarchive-qt, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coregarage"; diff --git a/pkgs/applications/misc/cubocore-packages/corehunt/default.nix b/pkgs/applications/misc/cubocore-packages/corehunt/default.nix index 1c4d643488eb5..61d585e347fe9 100644 --- a/pkgs/applications/misc/cubocore-packages/corehunt/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corehunt/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corehunt"; diff --git a/pkgs/applications/misc/cubocore-packages/coreimage/default.nix b/pkgs/applications/misc/cubocore-packages/coreimage/default.nix index 61e20afa5eeb0..d0c01f95c0d26 100644 --- a/pkgs/applications/misc/cubocore-packages/coreimage/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coreimage/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coreimage"; diff --git a/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix b/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix index 32ccccf4b2a41..7d788eea2286a 100644 --- a/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix @@ -1,4 +1,16 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, libzen, libmediainfo, zlib, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + libzen, + libmediainfo, + zlib, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coreinfo"; diff --git a/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix b/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix index 0a6b7b15e1424..d5df2a0bf8300 100644 --- a/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, qtx11extras, xorg, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + qtx11extras, + xorg, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corekeyboard"; diff --git a/pkgs/applications/misc/cubocore-packages/corepad/default.nix b/pkgs/applications/misc/cubocore-packages/corepad/default.nix index 3a1cd9f87c1c8..e3ff6fdf2b367 100644 --- a/pkgs/applications/misc/cubocore-packages/corepad/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corepad/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corepad"; diff --git a/pkgs/applications/misc/cubocore-packages/corepaint/default.nix b/pkgs/applications/misc/cubocore-packages/corepaint/default.nix index 01a495bfcbaf8..2f4e15543a2f3 100644 --- a/pkgs/applications/misc/cubocore-packages/corepaint/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corepaint/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corepaint"; diff --git a/pkgs/applications/misc/cubocore-packages/corepdf/default.nix b/pkgs/applications/misc/cubocore-packages/corepdf/default.nix index a343f84baf8c7..b45330fef2cea 100644 --- a/pkgs/applications/misc/cubocore-packages/corepdf/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corepdf/default.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, poppler, qtwebengine, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + poppler, + qtwebengine, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corepdf"; diff --git a/pkgs/applications/misc/cubocore-packages/corepins/default.nix b/pkgs/applications/misc/cubocore-packages/corepins/default.nix index e7306691b02c0..19e34bfbfea1d 100644 --- a/pkgs/applications/misc/cubocore-packages/corepins/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corepins/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corepins"; diff --git a/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix b/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix index 92d8cd04c95b4..c500ab6fa6a81 100644 --- a/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corerenamer"; diff --git a/pkgs/applications/misc/cubocore-packages/coreshot/default.nix b/pkgs/applications/misc/cubocore-packages/coreshot/default.nix index ed9339251756a..b283e49237aae 100644 --- a/pkgs/applications/misc/cubocore-packages/coreshot/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coreshot/default.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, qtx11extras, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + qtx11extras, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coreshot"; diff --git a/pkgs/applications/misc/cubocore-packages/corestats/default.nix b/pkgs/applications/misc/cubocore-packages/corestats/default.nix index a6d12a0d2c28a..f557f48740f8b 100644 --- a/pkgs/applications/misc/cubocore-packages/corestats/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corestats/default.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, lm_sensors, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + lm_sensors, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corestats"; diff --git a/pkgs/applications/misc/cubocore-packages/corestuff/default.nix b/pkgs/applications/misc/cubocore-packages/corestuff/default.nix index 08b8629da6525..8ec6080a4c32a 100644 --- a/pkgs/applications/misc/cubocore-packages/corestuff/default.nix +++ b/pkgs/applications/misc/cubocore-packages/corestuff/default.nix @@ -1,4 +1,16 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, qtx11extras, kglobalaccel, xorg, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + qtx11extras, + kglobalaccel, + xorg, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "corestuff"; diff --git a/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix b/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix index d2dc3599bd34a..f2671ab3eff25 100644 --- a/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix @@ -1,13 +1,14 @@ -{ mkDerivation -, lib -, fetchFromGitLab -, qtbase -, qtserialport -, qtermwidget -, cmake -, ninja -, libcprime -, libcsys +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + qtserialport, + qtermwidget, + cmake, + ninja, + libcprime, + libcsys, }: mkDerivation rec { diff --git a/pkgs/applications/misc/cubocore-packages/coretime/default.nix b/pkgs/applications/misc/cubocore-packages/coretime/default.nix index 626b7cf8eda41..b210b0ca766c2 100644 --- a/pkgs/applications/misc/cubocore-packages/coretime/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coretime/default.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, qtmultimedia, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + qtmultimedia, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coretime"; diff --git a/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix b/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix index 1296c8f57564f..ed5d5fc49fa94 100644 --- a/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix @@ -1,31 +1,32 @@ -{ mkDerivation -, lib -, fetchFromGitLab -, ffmpeg -, cmake -, ninja -, qtbase -, qtx11extras -, qtconnectivity -, v4l-utils -, grim -, wf-recorder -, libdbusmenu -, playerctl -, xorg -, iio-sensor-proxy -, inotify-tools -, bluez -, networkmanager -, connman -, redshift -, gawk -, polkit -, libnotify -, systemd -, xdg-utils -, libcprime -, libcsys +{ + mkDerivation, + lib, + fetchFromGitLab, + ffmpeg, + cmake, + ninja, + qtbase, + qtx11extras, + qtconnectivity, + v4l-utils, + grim, + wf-recorder, + libdbusmenu, + playerctl, + xorg, + iio-sensor-proxy, + inotify-tools, + bluez, + networkmanager, + connman, + redshift, + gawk, + polkit, + libnotify, + systemd, + xdg-utils, + libcprime, + libcsys, }: mkDerivation rec { diff --git a/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix b/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix index df84578090f85..dfe9e4f1ea893 100644 --- a/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix +++ b/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitLab, qtbase, cmake, ninja, libcprime, libcsys }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qtbase, + cmake, + ninja, + libcprime, + libcsys, +}: mkDerivation rec { pname = "coreuniverse"; diff --git a/pkgs/applications/misc/cubocore-packages/libcprime/default.nix b/pkgs/applications/misc/cubocore-packages/libcprime/default.nix index d4b15ead4ec00..353128b091af6 100644 --- a/pkgs/applications/misc/cubocore-packages/libcprime/default.nix +++ b/pkgs/applications/misc/cubocore-packages/libcprime/default.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, lib -, fetchFromGitLab -, libnotify -, cmake -, ninja -, qtbase -, qtconnectivity +{ + mkDerivation, + lib, + fetchFromGitLab, + libnotify, + cmake, + ninja, + qtbase, + qtconnectivity, }: mkDerivation rec { diff --git a/pkgs/applications/misc/cubocore-packages/libcsys/default.nix b/pkgs/applications/misc/cubocore-packages/libcsys/default.nix index 3a36c40fd2813..ba9162ed33c8c 100644 --- a/pkgs/applications/misc/cubocore-packages/libcsys/default.nix +++ b/pkgs/applications/misc/cubocore-packages/libcsys/default.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, fetchFromGitLab, udisks2, qtbase, cmake, ninja }: +{ + mkDerivation, + lib, + fetchFromGitLab, + udisks2, + qtbase, + cmake, + ninja, +}: mkDerivation rec { pname = "libcsys"; diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix index a385d31ec74b6..1c512fec699f8 100644 --- a/pkgs/applications/misc/cura/default.nix +++ b/pkgs/applications/misc/cura/default.nix @@ -1,5 +1,15 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, - qtquickcontrols2, qtgraphicaleffects, curaengine, plugins ? [] }: +{ + mkDerivation, + lib, + fetchFromGitHub, + cmake, + python3, + qtbase, + qtquickcontrols2, + qtgraphicaleffects, + curaengine, + plugins ? [ ], +}: mkDerivation rec { pname = "cura"; @@ -19,12 +29,30 @@ mkDerivation rec { sha256 = "sha256-7y4OcbeQHv+loJ4cMgPU0e818Zsv90EwARdztNWS8zM="; }; - buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ]; - propagatedBuildInputs = with python3.pkgs; [ - libsavitar numpy-stl pyserial requests uranium zeroconf pynest2d - sentry-sdk trimesh keyring - ] ++ plugins; - nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; + buildInputs = [ + qtbase + qtquickcontrols2 + qtgraphicaleffects + ]; + propagatedBuildInputs = + with python3.pkgs; + [ + libsavitar + numpy-stl + pyserial + requests + uranium + zeroconf + pynest2d + sentry-sdk + trimesh + keyring + ] + ++ plugins; + nativeBuildInputs = [ + cmake + python3.pkgs.wrapPython + ]; cmakeFlags = [ "-DURANIUM_DIR=${python3.pkgs.uranium.src}" @@ -61,6 +89,9 @@ mkDerivation rec { homepage = "https://github.com/Ultimaker/Cura"; license = licenses.lgpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ abbradar gebner ]; + maintainers = with maintainers; [ + abbradar + gebner + ]; }; } diff --git a/pkgs/applications/misc/cura/plugins.nix b/pkgs/applications/misc/cura/plugins.nix index 12f7920d3bf72..b80111e216dba 100644 --- a/pkgs/applications/misc/cura/plugins.nix +++ b/pkgs/applications/misc/cura/plugins.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages, libspnav, jq }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + libspnav, + jq, +}: let @@ -73,4 +80,5 @@ let }; -in self +in +self diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix index 70283d49fea93..428865935e2da 100644 --- a/pkgs/applications/misc/curaengine/default.nix +++ b/pkgs/applications/misc/curaengine/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libarcus, stb, protobuf, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libarcus, + stb, + protobuf, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "curaengine"; @@ -12,7 +21,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libarcus stb protobuf ]; + buildInputs = [ + libarcus + stb + protobuf + ]; cmakeFlags = [ "-DCURA_ENGINE_VERSION=${version}" ]; @@ -30,7 +43,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Ultimaker/CuraEngine"; license = licenses.agpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ abbradar gebner ]; + maintainers = with maintainers; [ + abbradar + gebner + ]; mainProgram = "CuraEngine"; }; } diff --git a/pkgs/applications/misc/curaengine/stable.nix b/pkgs/applications/misc/curaengine/stable.nix index 0de7e18f172d7..103f081fe1501 100644 --- a/pkgs/applications/misc/curaengine/stable.nix +++ b/pkgs/applications/misc/curaengine/stable.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "curaengine"; diff --git a/pkgs/applications/misc/databricks-sql-cli/default.nix b/pkgs/applications/misc/databricks-sql-cli/default.nix index 75b5529187296..385910f680103 100644 --- a/pkgs/applications/misc/databricks-sql-cli/default.nix +++ b/pkgs/applications/misc/databricks-sql-cli/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/applications/misc/ddcui/default.nix b/pkgs/applications/misc/ddcui/default.nix index 045e37cef160e..f4095b1782c08 100644 --- a/pkgs/applications/misc/ddcui/default.nix +++ b/pkgs/applications/misc/ddcui/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, pkg-config -, qtbase -, qttools -, ddcutil +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + qtbase, + qttools, + ddcutil, }: mkDerivation rec { diff --git a/pkgs/applications/misc/deadd-notification-center/default.nix b/pkgs/applications/misc/deadd-notification-center/default.nix index e6fed669c72d6..dda967a113e17 100644 --- a/pkgs/applications/misc/deadd-notification-center/default.nix +++ b/pkgs/applications/misc/deadd-notification-center/default.nix @@ -1,4 +1,9 @@ -{ mkDerivation, haskellPackages, fetchFromGitHub, lib }: +{ + mkDerivation, + haskellPackages, + fetchFromGitHub, + lib, +}: let # deadd-notification-center.service @@ -15,7 +20,8 @@ let [Install] WantedBy=graphical-session.target ''; -in mkDerivation rec { +in +mkDerivation rec { pname = "deadd-notification-center"; version = "2.1.1"; @@ -31,11 +37,42 @@ in mkDerivation rec { isExecutable = true; libraryHaskellDepends = with haskellPackages; [ - aeson base bytestring ConfigFile containers dbus directory env-locale - filepath gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib gi-gobject - gi-gtk gi-pango haskell-gettext haskell-gi haskell-gi-base - hdaemonize here lens mtl process regex-tdfa setlocale split stm - tagsoup text time transformers tuple unix yaml + aeson + base + bytestring + ConfigFile + containers + dbus + directory + env-locale + filepath + gi-cairo + gi-gdk + gi-gdkpixbuf + gi-gio + gi-glib + gi-gobject + gi-gtk + gi-pango + haskell-gettext + haskell-gi + haskell-gi-base + hdaemonize + here + lens + mtl + process + regex-tdfa + setlocale + split + stm + tagsoup + text + time + transformers + tuple + unix + yaml ]; executableHaskellDepends = with haskellPackages; [ base ]; @@ -58,7 +95,10 @@ in mkDerivation rec { description = "Haskell-written notification center for users that like a desktop with style"; homepage = "https://github.com/phuhl/linux_notification_center"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ melkor333 sna ]; + maintainers = with lib.maintainers; [ + melkor333 + sna + ]; platforms = lib.platforms.linux; mainProgram = "deadd-notification-center"; } diff --git a/pkgs/applications/misc/devilspie2/default.nix b/pkgs/applications/misc/devilspie2/default.nix index 830bfd19471a2..89af855c78625 100644 --- a/pkgs/applications/misc/devilspie2/default.nix +++ b/pkgs/applications/misc/devilspie2/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, intltool, pkg-config, glib, gtk, lua, libwnck }: +{ + lib, + stdenv, + fetchurl, + intltool, + pkg-config, + glib, + gtk, + lua, + libwnck, +}: stdenv.mkDerivation rec { pname = "devilspie2"; @@ -9,8 +19,16 @@ stdenv.mkDerivation rec { sha256 = "Cp8erdKyKjGBY+QYAGXUlSIboaQ60gIepoZs0RgEJkA="; }; - nativeBuildInputs = [ intltool pkg-config ]; - buildInputs = [ glib gtk lua libwnck ]; + nativeBuildInputs = [ + intltool + pkg-config + ]; + buildInputs = [ + glib + gtk + lua + libwnck + ]; installPhase = '' mkdir -p $out/bin $out/share/man/man1 diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix index d64d8f6ab9be1..4302d6cde399f 100644 --- a/pkgs/applications/misc/diff-pdf/default.nix +++ b/pkgs/applications/misc/diff-pdf/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, cairo, poppler, wxGTK, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + cairo, + poppler, + wxGTK, + Cocoa, +}: stdenv.mkDerivation rec { pname = "diff-pdf"; @@ -11,9 +22,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-6aKF3Xqp/1BoHEiZVZJSemTjn5Qwwr3QyhsXOIjTr08="; }; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ cairo poppler wxGTK ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + cairo + poppler + wxGTK + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; preConfigure = "./bootstrap"; diff --git a/pkgs/applications/misc/diffpdf/default.nix b/pkgs/applications/misc/diffpdf/default.nix index 41265e61cfc36..e0e8211926942 100644 --- a/pkgs/applications/misc/diffpdf/default.nix +++ b/pkgs/applications/misc/diffpdf/default.nix @@ -1,4 +1,13 @@ -{ lib, mkDerivation, fetchurl, fetchpatch, qmake, qttools, qtbase, poppler }: +{ + lib, + mkDerivation, + fetchurl, + fetchpatch, + qmake, + qttools, + qtbase, + poppler, +}: mkDerivation rec { version = "2.1.3"; @@ -17,8 +26,14 @@ mkDerivation rec { ./fix_path_poppler_qt5.patch ]; - nativeBuildInputs = [ qmake qttools ]; - buildInputs = [ qtbase poppler ]; + nativeBuildInputs = [ + qmake + qttools + ]; + buildInputs = [ + qtbase + poppler + ]; preConfigure = '' substituteInPlace diffpdf.pro --replace @@NIX_POPPLER_QT5@@ ${poppler.dev} @@ -46,7 +61,7 @@ mkDerivation rec { Exec=$out/bin/diffpdf Terminal=false EOF - ''; + ''; meta = { homepage = "http://www.qtrac.eu/diffpdf.html"; diff --git a/pkgs/applications/misc/digitalbitbox/default.nix b/pkgs/applications/misc/digitalbitbox/default.nix index 93802ee8682c4..1aa3ca72eb619 100644 --- a/pkgs/applications/misc/digitalbitbox/default.nix +++ b/pkgs/applications/misc/digitalbitbox/default.nix @@ -1,27 +1,28 @@ -{ mkDerivation -, lib -, autoreconfHook -, curl -, fetchFromGitHub -, git -, libevent -, libtool -, qrencode -, udev -, libusb1 -, makeWrapper -, pkg-config -, qtbase -, qttools -, qtwebsockets -, qtmultimedia -, udevRule51 ? '' -, SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbb%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402" -, '' -, udevRule52 ? '' -, KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbbf%n" -, '' -, writeText +{ + mkDerivation, + lib, + autoreconfHook, + curl, + fetchFromGitHub, + git, + libevent, + libtool, + qrencode, + udev, + libusb1, + makeWrapper, + pkg-config, + qtbase, + qttools, + qtwebsockets, + qtmultimedia, + udevRule51 ? '' + , SUBSYSTEM=="usb", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbb%n", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402" + , '', + udevRule52 ? '' + , KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="dbbf%n" + , '', + writeText, }: # Enabling the digitalbitbox program @@ -45,9 +46,9 @@ # See https://digitalbitbox.com/start_linux for more information. let - copyUdevRuleToOutput = name: rule: - "cp ${writeText name rule} $out/etc/udev/rules.d/${name}"; -in mkDerivation rec { + copyUdevRuleToOutput = name: rule: "cp ${writeText name rule} $out/etc/udev/rules.d/${name}"; +in +mkDerivation rec { pname = "digitalbitbox"; version = "3.0.0"; @@ -79,12 +80,12 @@ in mkDerivation rec { qtmultimedia ]; - LUPDATE="${qttools.dev}/bin/lupdate"; - LRELEASE="${qttools.dev}/bin/lrelease"; - MOC="${qtbase.dev}/bin/moc"; - QTDIR=qtbase.dev; - RCC="${qtbase.dev}/bin/rcc"; - UIC="${qtbase.dev}/bin/uic"; + LUPDATE = "${qttools.dev}/bin/lupdate"; + LRELEASE = "${qttools.dev}/bin/lrelease"; + MOC = "${qtbase.dev}/bin/moc"; + QTDIR = qtbase.dev; + RCC = "${qtbase.dev}/bin/rcc"; + UIC = "${qtbase.dev}/bin/uic"; configureFlags = [ "--enable-libusb" diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix index d0791b492f09f..a80f3061241c4 100644 --- a/pkgs/applications/misc/ding/default.nix +++ b/pkgs/applications/misc/ding/default.nix @@ -1,4 +1,17 @@ -{ aspell, aspellDicts_de, aspellDicts_en, buildEnv, fetchurl, fortune, gnugrep, makeWrapper, lib, stdenv, tk, tre }: +{ + aspell, + aspellDicts_de, + aspellDicts_en, + buildEnv, + fetchurl, + fortune, + gnugrep, + makeWrapper, + lib, + stdenv, + tk, + tre, +}: let aspellEnv = buildEnv { name = "env-ding-aspell"; @@ -19,7 +32,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ aspellEnv fortune gnugrep tk tre ]; + buildInputs = [ + aspellEnv + fortune + gnugrep + tk + tre + ]; patches = [ ./dict.patch ]; @@ -44,7 +63,14 @@ stdenv.mkDerivation rec { cp -v ding.png $out/share/pixmaps/ cp -v ding.desktop $out/share/applications/ - wrapProgram $out/bin/ding --prefix PATH : ${lib.makeBinPath [ gnugrep aspellEnv tk fortune ]} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\"" + wrapProgram $out/bin/ding --prefix PATH : ${ + lib.makeBinPath [ + gnugrep + aspellEnv + tk + fortune + ] + } --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\"" ''; meta = with lib; { diff --git a/pkgs/applications/misc/dmensamenu/default.nix b/pkgs/applications/misc/dmensamenu/default.nix index 75c9302e07916..7e20001b44a38 100644 --- a/pkgs/applications/misc/dmensamenu/default.nix +++ b/pkgs/applications/misc/dmensamenu/default.nix @@ -1,4 +1,11 @@ -{ lib, buildPythonApplication, fetchFromGitHub, substituteAll, requests, dmenu }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + substituteAll, + requests, + dmenu, +}: buildPythonApplication rec { pname = "dmensamenu"; diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix index 75ae73179cf37..8479bf15d382b 100644 --- a/pkgs/applications/misc/dmenu/default.nix +++ b/pkgs/applications/misc/dmenu/default.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchurl, fontconfig, libX11, libXinerama, libXft, pkg-config, zlib, writeText -, conf ? null, patches ? null +{ + lib, + stdenv, + fetchurl, + fontconfig, + libX11, + libXinerama, + libXft, + pkg-config, + zlib, + writeText, + conf ? null, + patches ? null, # update script dependencies -, gitUpdater }: + gitUpdater, +}: stdenv.mkDerivation rec { pname = "dmenu"; @@ -13,20 +25,26 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fontconfig libX11 libXinerama zlib libXft ]; + buildInputs = [ + fontconfig + libX11 + libXinerama + zlib + libXft + ]; inherit patches; - postPatch = let - configFile = if lib.isDerivation conf || builtins.isPath conf then - conf - else - writeText "config.def.h" conf; - in '' - sed -ri -e 's!\<(dmenu|dmenu_path|stest)\>!'"$out/bin"'/&!g' dmenu_run - sed -ri -e 's!\!'"$out/bin"'/&!g' dmenu_path - ${lib.optionalString (conf != null) "cp ${configFile} config.def.h"} - ''; + postPatch = + let + configFile = + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf; + in + '' + sed -ri -e 's!\<(dmenu|dmenu_path|stest)\>!'"$out/bin"'/&!g' dmenu_run + sed -ri -e 's!\!'"$out/bin"'/&!g' dmenu_path + ${lib.optionalString (conf != null) "cp ${configFile} config.def.h"} + ''; preConfigure = '' makeFlagsArray+=( @@ -41,11 +59,15 @@ stdenv.mkDerivation rec { passthru.updateScript = gitUpdater { url = "git://git.suckless.org/dmenu"; }; meta = with lib; { - description = - "Generic, highly customizable, and efficient menu for the X Window System"; + description = "Generic, highly customizable, and efficient menu for the X Window System"; homepage = "https://tools.suckless.org/dmenu"; license = licenses.mit; - maintainers = with maintainers; [ pSub globin qusic _0david0mp ]; + maintainers = with maintainers; [ + pSub + globin + qusic + _0david0mp + ]; platforms = platforms.all; mainProgram = "dmenu"; }; diff --git a/pkgs/applications/misc/dmenu/wayland.nix b/pkgs/applications/misc/dmenu/wayland.nix index 2e4e62acae634..996aef30464dc 100644 --- a/pkgs/applications/misc/dmenu/wayland.nix +++ b/pkgs/applications/misc/dmenu/wayland.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, cairo, pango, pkg-config, wayland-protocols -, glib, wayland, libxkbcommon, makeWrapper, wayland-scanner -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + cairo, + pango, + pkg-config, + wayland-protocols, + glib, + wayland, + libxkbcommon, + makeWrapper, + wayland-scanner, + fetchpatch, }: stdenv.mkDerivation rec { @@ -14,11 +27,27 @@ stdenv.mkDerivation rec { hash = "sha256-dqFvU2mRYEw7n8Fmbudwi5XMLQ7mQXFkug9D9j4FIrU="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config makeWrapper wayland-scanner ]; - buildInputs = [ cairo pango wayland-protocols glib wayland libxkbcommon ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + makeWrapper + wayland-scanner + ]; + buildInputs = [ + cairo + pango + wayland-protocols + glib + wayland + libxkbcommon + ]; patches = [ # can be removed when https://github.com/nyyManni/dmenu-wayland/pull/23 is included diff --git a/pkgs/applications/misc/dupeguru/default.nix b/pkgs/applications/misc/dupeguru/default.nix index 8ec9dfc35033b..bab21335b1e8e 100644 --- a/pkgs/applications/misc/dupeguru/default.nix +++ b/pkgs/applications/misc/dupeguru/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, python3Packages, gettext, qt5, fetchFromGitHub }: +{ + stdenv, + lib, + python3Packages, + gettext, + qt5, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "dupeguru"; diff --git a/pkgs/applications/misc/edgetx/default.nix b/pkgs/applications/misc/edgetx/default.nix index 36626903b4c8b..e4b4e3f3b385c 100644 --- a/pkgs/applications/misc/edgetx/default.nix +++ b/pkgs/applications/misc/edgetx/default.nix @@ -1,7 +1,16 @@ -{ lib, mkDerivation, fetchFromGitHub -, cmake, gcc-arm-embedded, python3Packages -, qtbase, qtmultimedia, qttools, SDL, gtest -, dfu-util +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + gcc-arm-embedded, + python3Packages, + qtbase, + qtmultimedia, + qttools, + SDL, + gtest, + dfu-util, }: mkDerivation rec { @@ -16,9 +25,18 @@ mkDerivation rec { hash = "sha256-bKMAyONy1Udd+2nDVEMrtIsnfqrNuBVMWU7nCqvZ+3E="; }; - nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow qttools ]; + nativeBuildInputs = [ + cmake + gcc-arm-embedded + python3Packages.pillow + qttools + ]; - buildInputs = [ qtbase qtmultimedia SDL ]; + buildInputs = [ + qtbase + qtmultimedia + SDL + ]; postPatch = '' sed -i companion/src/burnconfigdialog.cpp \ @@ -42,8 +60,16 @@ mkDerivation rec { mainProgram = "companion" + lib.concatStrings (lib.take 2 (lib.splitVersion version)); homepage = "https://edgetx.org/"; license = licenses.gpl2Only; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ elitak lopsided98 wucke13 ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + elitak + lopsided98 + wucke13 + ]; }; } diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 6078c17f4cbb7..219046157cf8f 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,26 +1,33 @@ -{ lib -, stdenv -, fetchurl -, protobuf -, wrapQtAppsHook -, python3 -, zbar -, secp256k1 -, enableQt ? true -, callPackage -, qtwayland +{ + lib, + stdenv, + fetchurl, + protobuf, + wrapQtAppsHook, + python3, + zbar, + secp256k1, + enableQt ? true, + callPackage, + qtwayland, }: let libsecp256k1_name = - if stdenv.hostPlatform.isLinux then "libsecp256k1.so.{v}" - else if stdenv.hostPlatform.isDarwin then "libsecp256k1.{v}.dylib" - else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}"; + if stdenv.hostPlatform.isLinux then + "libsecp256k1.so.{v}" + else if stdenv.hostPlatform.isDarwin then + "libsecp256k1.{v}.dylib" + else + "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}"; libzbar_name = - if stdenv.hostPlatform.isLinux then "libzbar.so.0" - else if stdenv.hostPlatform.isDarwin then "libzbar.0.dylib" - else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; + if stdenv.hostPlatform.isLinux then + "libzbar.so.0" + else if stdenv.hostPlatform.isDarwin then + "libzbar.0.dylib" + else + "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; in @@ -36,56 +43,68 @@ python3.pkgs.buildPythonApplication rec { build-system = [ protobuf ] ++ lib.optionals enableQt [ wrapQtAppsHook ]; buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland; - dependencies = with python3.pkgs; [ - aiohttp - aiohttp-socks - aiorpcx - attrs - bitstring - cryptography - dnspython - jsonrpclib-pelix - matplotlib - pbkdf2 - protobuf - pysocks - qrcode - requests - certifi - jsonpatch - # plugins - btchip-python - ledger-bitcoin - ckcc-protocol - keepkey - trezor - bitbox02 - cbor2 - pyserial - ] ++ lib.optionals enableQt [ - pyqt5 - qdarkstyle - ]; - - checkInputs = with python3.pkgs; lib.optionals enableQt [ - pyqt6 - ]; - - postPatch = '' - # make compatible with protobuf4 by easing dependencies ... - substituteInPlace ./contrib/requirements/requirements.txt \ - --replace "protobuf>=3.20,<4" "protobuf>=3.20" - # ... and regenerating the paymentrequest_pb2.py file - protoc --python_out=. electrum/paymentrequest.proto - - substituteInPlace ./electrum/ecc_fast.py \ - --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} - '' + (if enableQt then '' - substituteInPlace ./electrum/qrscanner.py \ - --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary} - '' else '' - sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt - ''); + dependencies = + with python3.pkgs; + [ + aiohttp + aiohttp-socks + aiorpcx + attrs + bitstring + cryptography + dnspython + jsonrpclib-pelix + matplotlib + pbkdf2 + protobuf + pysocks + qrcode + requests + certifi + jsonpatch + # plugins + btchip-python + ledger-bitcoin + ckcc-protocol + keepkey + trezor + bitbox02 + cbor2 + pyserial + ] + ++ lib.optionals enableQt [ + pyqt5 + qdarkstyle + ]; + + checkInputs = + with python3.pkgs; + lib.optionals enableQt [ + pyqt6 + ]; + + postPatch = + '' + # make compatible with protobuf4 by easing dependencies ... + substituteInPlace ./contrib/requirements/requirements.txt \ + --replace "protobuf>=3.20,<4" "protobuf>=3.20" + # ... and regenerating the paymentrequest_pb2.py file + protoc --python_out=. electrum/paymentrequest.proto + + substituteInPlace ./electrum/ecc_fast.py \ + --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} + '' + + ( + if enableQt then + '' + substituteInPlace ./electrum/qrscanner.py \ + --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary} + '' + else + '' + sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt + '' + ); postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace $out/share/applications/electrum.desktop \ @@ -99,7 +118,11 @@ python3.pkgs.buildPythonApplication rec { wrapQtApp $out/bin/electrum ''; - nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ]; + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + pyaes + pycryptodomex + ]; pytestFlagsArray = [ "tests" ]; @@ -122,7 +145,12 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ joachifm np prusnak chewblacka ]; + maintainers = with maintainers; [ + joachifm + np + prusnak + chewblacka + ]; mainProgram = "electrum"; }; } diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix index e0aaf139cd65e..e2d1f54c63a9b 100644 --- a/pkgs/applications/misc/electrum/ltc.nix +++ b/pkgs/applications/misc/electrum/ltc.nix @@ -1,27 +1,34 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, wrapQtAppsHook -, python3 -, zbar -, secp256k1 -, enableQt ? true -, qtwayland +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + wrapQtAppsHook, + python3, + zbar, + secp256k1, + enableQt ? true, + qtwayland, }: let version = "4.2.2.1"; libsecp256k1_name = - if stdenv.hostPlatform.isLinux then "libsecp256k1.so.0" - else if stdenv.hostPlatform.isDarwin then "libsecp256k1.0.dylib" - else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}"; + if stdenv.hostPlatform.isLinux then + "libsecp256k1.so.0" + else if stdenv.hostPlatform.isDarwin then + "libsecp256k1.0.dylib" + else + "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}"; libzbar_name = - if stdenv.hostPlatform.isLinux then "libzbar.so.0" - else if stdenv.hostPlatform.isDarwin then "libzbar.0.dylib" - else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; + if stdenv.hostPlatform.isLinux then + "libzbar.so.0" + else if stdenv.hostPlatform.isDarwin then + "libzbar.0.dylib" + else + "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; # Not provided in official source releases, which are what upstream signs. tests = fetchFromGitHub { @@ -54,32 +61,35 @@ python3.pkgs.buildPythonApplication { nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ]; - propagatedBuildInputs = with python3.pkgs; [ - aiohttp - aiohttp-socks - aiorpcx - attrs - bitstring - cryptography - dnspython - jsonrpclib-pelix - matplotlib - pbkdf2 - protobuf - py-scrypt - pysocks - qrcode - requests - certifi - # plugins - btchip-python - ckcc-protocol - keepkey - trezor - ] ++ lib.optionals enableQt [ - pyqt5 - qdarkstyle - ]; + propagatedBuildInputs = + with python3.pkgs; + [ + aiohttp + aiohttp-socks + aiorpcx + attrs + bitstring + cryptography + dnspython + jsonrpclib-pelix + matplotlib + pbkdf2 + protobuf + py-scrypt + pysocks + qrcode + requests + certifi + # plugins + btchip-python + ckcc-protocol + keepkey + trezor + ] + ++ lib.optionals enableQt [ + pyqt5 + qdarkstyle + ]; patches = [ # electrum-ltc attempts to pin to aiorpcX < 0.23, but nixpkgs @@ -101,16 +111,23 @@ python3.pkgs.buildPythonApplication { cp run_electrum electrum_ltc/electrum-ltc ''; - preBuild = '' - sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py - substituteInPlace ./electrum_ltc/ecc_fast.py \ - --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} - '' + (if enableQt then '' - substituteInPlace ./electrum_ltc/qrscanner.py \ - --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary} - '' else '' - sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt - ''); + preBuild = + '' + sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py + substituteInPlace ./electrum_ltc/ecc_fast.py \ + --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} + '' + + ( + if enableQt then + '' + substituteInPlace ./electrum_ltc/qrscanner.py \ + --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary} + '' + else + '' + sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt + '' + ); postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' # Despite setting usr_share above, these files are installed under @@ -130,14 +147,18 @@ python3.pkgs.buildPythonApplication { wrapQtApp $out/bin/electrum-ltc ''; - nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ]; + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + pyaes + pycryptodomex + ]; buildInputs = lib.optional stdenv.hostPlatform.isLinux qtwayland; pytestFlagsArray = [ "electrum_ltc/tests" ]; disabledTests = [ - "test_loop" # test tries to bind 127.0.0.1 causing permission error - "test_is_ip_address" # fails spuriously https://github.com/spesmilo/electrum/issues/7307 + "test_loop" # test tries to bind 127.0.0.1 causing permission error + "test_is_ip_address" # fails spuriously https://github.com/spesmilo/electrum/issues/7307 # electrum_ltc.lnutil.RemoteMisbehaving: received commitment_signed without pending changes "test_reestablish_replay_messages_rev_then_sig" "test_reestablish_replay_messages_sig_then_rev" diff --git a/pkgs/applications/misc/electrum/update.nix b/pkgs/applications/misc/electrum/update.nix index 509a643780885..e231757da9993 100644 --- a/pkgs/applications/misc/electrum/update.nix +++ b/pkgs/applications/misc/electrum/update.nix @@ -1,14 +1,15 @@ -{ lib -, writeScript -, common-updater-scripts -, bash -, coreutils -, curl -, fetchurl -, gnugrep -, gnupg -, gnused -, nix +{ + lib, + writeScript, + common-updater-scripts, + bash, + coreutils, + curl, + fetchurl, + gnugrep, + gnupg, + gnused, + nix, }: let @@ -33,41 +34,43 @@ let in writeScript "update-electrum" '' -#! ${bash}/bin/bash + #! ${bash}/bin/bash -set -eu -o pipefail + set -eu -o pipefail -export PATH=${lib.makeBinPath [ - common-updater-scripts - coreutils - curl - gnugrep - gnupg - gnused - nix -]} + export PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + gnupg + gnused + nix + ] + } -version=$(curl -L --list-only -- '${downloadPageUrl}' \ - | grep -Po '
src/huggle_core/version.txt @@ -42,7 +51,8 @@ stdenv.mkDerivation rec { cmakeBuildType = "None"; cmakeFlags = [ - "-S" "/build/source/src" + "-S" + "/build/source/src" "-DINSTALL_DATA_DIR=bin" "-DQT5_BUILD=ON" "-DWEB_ENGINE=ON" diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 49798c843231c..ef866eb7b5414 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -1,12 +1,31 @@ -{ lib, stdenv, fetchurl, fetchpatch, perlPackages, gettext, makeWrapper, ImageMagick, which, highlight -, gitSupport ? false, git -, docutilsSupport ? false, python, docutils -, monotoneSupport ? false, monotone -, bazaarSupport ? false, breezy -, cvsSupport ? false, cvs, cvsps -, subversionSupport ? false, subversion -, mercurialSupport ? false, mercurial -, extraUtils ? [] +{ + lib, + stdenv, + fetchurl, + fetchpatch, + perlPackages, + gettext, + makeWrapper, + ImageMagick, + which, + highlight, + gitSupport ? false, + git, + docutilsSupport ? false, + python, + docutils, + monotoneSupport ? false, + monotone, + bazaarSupport ? false, + breezy, + cvsSupport ? false, + cvs, + cvsps, + subversionSupport ? false, + subversion, + mercurialSupport ? false, + mercurial, + extraUtils ? [ ], }: stdenv.mkDerivation rec { @@ -19,21 +38,49 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ which highlight ] - ++ (with perlPackages; [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate - TimeDate gettext DBFile CGISession CGIFormBuilder LocaleGettext - RpcXML XMLSimple ImageMagick YAML YAMLLibYAML HTMLTree AuthenPassphrase - NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ]) + buildInputs = + [ + which + highlight + ] + ++ (with perlPackages; [ + perl + TextMarkdown + URI + HTMLParser + HTMLScrubber + HTMLTemplate + TimeDate + gettext + DBFile + CGISession + CGIFormBuilder + LocaleGettext + RpcXML + XMLSimple + ImageMagick + YAML + YAMLLibYAML + HTMLTree + AuthenPassphrase + NetOpenIDConsumer + LWPxParanoidAgent + CryptSSLeay + ]) ++ lib.optionals docutilsSupport [ - (python.withPackages (pp: with pp; [ pygments ])) - docutils - ] - ++ lib.optionals gitSupport [git] - ++ lib.optionals monotoneSupport [monotone] - ++ lib.optionals bazaarSupport [breezy] - ++ lib.optionals cvsSupport [cvs cvsps perlPackages.Filechdir] - ++ lib.optionals subversionSupport [subversion] - ++ lib.optionals mercurialSupport [mercurial]; + (python.withPackages (pp: with pp; [ pygments ])) + docutils + ] + ++ lib.optionals gitSupport [ git ] + ++ lib.optionals monotoneSupport [ monotone ] + ++ lib.optionals bazaarSupport [ breezy ] + ++ lib.optionals cvsSupport [ + cvs + cvsps + perlPackages.Filechdir + ] + ++ lib.optionals subversionSupport [ subversion ] + ++ lib.optionals mercurialSupport [ mercurial ]; patches = [ # A few markdown tests fail, but this is expected when using Text::Markdown diff --git a/pkgs/applications/misc/inherd-quake/default.nix b/pkgs/applications/misc/inherd-quake/default.nix index c71dae3b27e1b..5cd38ca8cc08f 100644 --- a/pkgs/applications/misc/inherd-quake/default.nix +++ b/pkgs/applications/misc/inherd-quake/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, stdenv -, CoreServices -, Security +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + stdenv, + CoreServices, + Security, }: rustPlatform.buildRustPackage rec { @@ -23,12 +24,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + ]; meta = with lib; { description = "Knowledge management meta-framework for geeks"; diff --git a/pkgs/applications/misc/inkcut/default.nix b/pkgs/applications/misc/inkcut/default.nix index b711fd9330dc5..b23d544071acc 100644 --- a/pkgs/applications/misc/inkcut/default.nix +++ b/pkgs/applications/misc/inkcut/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchpatch -, python3 -, fetchFromGitHub -, wrapQtAppsHook -, cups +{ + lib, + fetchpatch, + python3, + fetchFromGitHub, + wrapQtAppsHook, + cups, }: python3.pkgs.buildPythonApplication rec { @@ -75,7 +76,11 @@ python3.pkgs.buildPythonApplication rec { ]; dontWrapQtApps = true; - makeWrapperArgs = [ "--unset" "PYTHONPATH" "\${qtWrapperArgs[@]}" ]; + makeWrapperArgs = [ + "--unset" + "PYTHONPATH" + "\${qtWrapperArgs[@]}" + ]; postInstall = '' mkdir -p $out/share/inkscape/extensions diff --git a/pkgs/applications/misc/inlyne/default.nix b/pkgs/applications/misc/inlyne/default.nix index 9f10136042293..904f4df67646d 100644 --- a/pkgs/applications/misc/inlyne/default.nix +++ b/pkgs/applications/misc/inlyne/default.nix @@ -1,16 +1,17 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, pkg-config -, fontconfig -, xorg -, libxkbcommon -, wayland -, libGL -, openssl -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + pkg-config, + fontconfig, + xorg, + libxkbcommon, + wayland, + libGL, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { @@ -26,24 +27,28 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-fMovzaP+R0CUwJy1HKATH2tPrIPwzGtubF1WHUoQDRY="; - nativeBuildInputs = [ - installShellFiles - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - pkg-config - ]; + nativeBuildInputs = + [ + installShellFiles + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pkg-config + ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - fontconfig - xorg.libXcursor - xorg.libXi - xorg.libXrandr - xorg.libxcb - wayland - libxkbcommon - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.AppKit - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + fontconfig + xorg.libXcursor + xorg.libXi + xorg.libXrandr + xorg.libxcb + wayland + libxkbcommon + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.AppKit + ]; checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ # time out on darwin @@ -60,7 +65,12 @@ rustPlatform.buildRustPackage rec { postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf $out/bin/inlyne \ - --add-rpath ${lib.makeLibraryPath [ libGL xorg.libX11 ]} + --add-rpath ${ + lib.makeLibraryPath [ + libGL + xorg.libX11 + ] + } ''; meta = with lib; { diff --git a/pkgs/applications/misc/input-leap/default.nix b/pkgs/applications/misc/input-leap/default.nix index a826afefc63a7..fc43fe749fea6 100644 --- a/pkgs/applications/misc/input-leap/default.nix +++ b/pkgs/applications/misc/input-leap/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, -, withLibei ? true + withLibei ? true, -, avahi -, curl -, libICE -, libSM -, libX11 -, libXdmcp -, libXext -, libXinerama -, libXrandr -, libXtst -, libei -, libportal -, openssl -, pkg-config -, qtbase -, qttools -, wrapGAppsHook3 -, wrapQtAppsHook + avahi, + curl, + libICE, + libSM, + libX11, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + libei, + libportal, + openssl, + pkg-config, + qtbase, + qttools, + wrapGAppsHook3, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -37,11 +38,31 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config cmake wrapGAppsHook3 wrapQtAppsHook qttools ]; - buildInputs = [ - curl qtbase avahi - libX11 libXext libXtst libXinerama libXrandr libXdmcp libICE libSM - ] ++ lib.optionals withLibei [ libei libportal ]; + nativeBuildInputs = [ + pkg-config + cmake + wrapGAppsHook3 + wrapQtAppsHook + qttools + ]; + buildInputs = + [ + curl + qtbase + avahi + libX11 + libXext + libXtst + libXinerama + libXrandr + libXdmcp + libICE + libSM + ] + ++ lib.optionals withLibei [ + libei + libportal + ]; cmakeFlags = [ "-DINPUTLEAP_REVISION=${builtins.substring 0 8 src.rev}" @@ -72,7 +93,12 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/input-leap/input-leap"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ kovirobi phryneas twey shymega ]; + maintainers = with lib.maintainers; [ + kovirobi + phryneas + twey + shymega + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/misc/johnny-reborn/default.nix b/pkgs/applications/misc/johnny-reborn/default.nix index 4ad2328feda85..7b3630654933c 100644 --- a/pkgs/applications/misc/johnny-reborn/default.nix +++ b/pkgs/applications/misc/johnny-reborn/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/johnny-reborn/with-data.nix b/pkgs/applications/misc/johnny-reborn/with-data.nix index 1e669658186f1..a316dae27f860 100644 --- a/pkgs/applications/misc/johnny-reborn/with-data.nix +++ b/pkgs/applications/misc/johnny-reborn/with-data.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchzip -, johnny-reborn-engine -, makeWrapper +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchzip, + johnny-reborn-engine, + makeWrapper, }: let @@ -26,7 +27,10 @@ stdenvNoCC.mkDerivation { pname = "johnny-reborn"; inherit (johnny-reborn-engine) version; - srcs = [ sounds resources ]; + srcs = [ + sounds + resources + ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/k4dirstat/default.nix b/pkgs/applications/misc/k4dirstat/default.nix index 55e0de4d55246..0894b4b08b692 100644 --- a/pkgs/applications/misc/k4dirstat/default.nix +++ b/pkgs/applications/misc/k4dirstat/default.nix @@ -1,13 +1,14 @@ -{ mkDerivation -, extra-cmake-modules -, fetchFromGitHub -, kiconthemes -, kio -, kjobwidgets -, kxmlgui -, lib -, testers -, k4dirstat +{ + mkDerivation, + extra-cmake-modules, + fetchFromGitHub, + kiconthemes, + kio, + kjobwidgets, + kxmlgui, + lib, + testers, + k4dirstat, }: mkDerivation rec { @@ -22,13 +23,17 @@ mkDerivation rec { }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kiconthemes kio kjobwidgets kxmlgui ]; + buildInputs = [ + kiconthemes + kio + kjobwidgets + kxmlgui + ]; - passthru.tests.version = - testers.testVersion { - package = k4dirstat; - command = "k4dirstat -platform offscreen --version &>/dev/stdout"; - }; + passthru.tests.version = testers.testVersion { + package = k4dirstat; + command = "k4dirstat -platform offscreen --version &>/dev/stdout"; + }; meta = with lib; { homepage = "https://github.com/jeromerobert/k4dirstat"; diff --git a/pkgs/applications/misc/kapow/default.nix b/pkgs/applications/misc/kapow/default.nix index db352199408cf..d2eef8279c3aa 100644 --- a/pkgs/applications/misc/kapow/default.nix +++ b/pkgs/applications/misc/kapow/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, qmake, fetchFromGitHub, qtbase, qttools, wrapQtAppsHook }: +{ + lib, + stdenv, + qmake, + fetchFromGitHub, + qtbase, + qttools, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "kapow"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "1fz9fb4w21ax8hjs6dwfn2410ig4lqvzdlijq0jcj3jbgxd4i1gw"; }; - nativeBuildInputs = [ qmake qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + qttools + wrapQtAppsHook + ]; buildInputs = [ qtbase ]; diff --git a/pkgs/applications/misc/kchmviewer/default.nix b/pkgs/applications/misc/kchmviewer/default.nix index 83d077f827955..f3ecbdf87e376 100644 --- a/pkgs/applications/misc/kchmviewer/default.nix +++ b/pkgs/applications/misc/kchmviewer/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, qmake, wrapQtAppsHook, chmlib, libzip, qtwebengine }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qmake, + wrapQtAppsHook, + chmlib, + libzip, + qtwebengine, +}: stdenv.mkDerivation rec { pname = "kchmviewer"; @@ -28,9 +38,16 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ chmlib libzip qtwebengine ]; + buildInputs = [ + chmlib + libzip + qtwebengine + ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; postInstall = '' install -Dm755 bin/kchmviewer -t $out/bin diff --git a/pkgs/applications/misc/keepassxc/default.nix b/pkgs/applications/misc/keepassxc/default.nix index 941c658fea71b..e563e84a345df 100644 --- a/pkgs/applications/misc/keepassxc/default.nix +++ b/pkgs/applications/misc/keepassxc/default.nix @@ -1,44 +1,45 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, qttools - -, asciidoctor -, botan3 -, curl -, kio -, libXi -, libXtst -, libargon2 -, libusb1 -, minizip -, pcsclite -, pkg-config -, qrencode -, qtbase -, qtmacextras -, qtsvg -, qtx11extras -, readline -, wrapGAppsHook3 -, wrapQtAppsHook -, zlib - -, LocalAuthentication - -, withKeePassBrowser ? true -, withKeePassBrowserPasskeys ? true -, withKeePassFDOSecrets ? true -, withKeePassKeeShare ? true -, withKeePassNetworking ? true -, withKeePassSSHAgent ? true -, withKeePassTouchID ? true -, withKeePassX11 ? true -, withKeePassYubiKey ? true - -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + qttools, + + asciidoctor, + botan3, + curl, + kio, + libXi, + libXtst, + libargon2, + libusb1, + minizip, + pcsclite, + pkg-config, + qrencode, + qtbase, + qtmacextras, + qtsvg, + qtx11extras, + readline, + wrapGAppsHook3, + wrapQtAppsHook, + zlib, + + LocalAuthentication, + + withKeePassBrowser ? true, + withKeePassBrowserPasskeys ? true, + withKeePassFDOSecrets ? true, + withKeePassKeeShare ? true, + withKeePassNetworking ? true, + withKeePassSSHAgent ? true, + withKeePassTouchID ? true, + withKeePassX11 ? true, + withKeePassYubiKey ? true, + + nixosTests, }: stdenv.mkDerivation rec { @@ -70,19 +71,20 @@ stdenv.mkDerivation rec { }) ]; - cmakeFlags = [ - "-DKEEPASSXC_BUILD_TYPE=Release" - "-DWITH_GUI_TESTS=ON" - "-DWITH_XC_UPDATECHECK=OFF" - ] - ++ (lib.optional (!withKeePassX11) "-DWITH_XC_X11=OFF") - ++ (lib.optional (withKeePassFDOSecrets && stdenv.hostPlatform.isLinux) "-DWITH_XC_FDOSECRETS=ON") - ++ (lib.optional (withKeePassYubiKey && stdenv.hostPlatform.isLinux) "-DWITH_XC_YUBIKEY=ON") - ++ (lib.optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") - ++ (lib.optional withKeePassBrowserPasskeys "-DWITH_XC_BROWSER_PASSKEYS=ON") - ++ (lib.optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON") - ++ (lib.optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON") - ++ (lib.optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON"); + cmakeFlags = + [ + "-DKEEPASSXC_BUILD_TYPE=Release" + "-DWITH_GUI_TESTS=ON" + "-DWITH_XC_UPDATECHECK=OFF" + ] + ++ (lib.optional (!withKeePassX11) "-DWITH_XC_X11=OFF") + ++ (lib.optional (withKeePassFDOSecrets && stdenv.hostPlatform.isLinux) "-DWITH_XC_FDOSECRETS=ON") + ++ (lib.optional (withKeePassYubiKey && stdenv.hostPlatform.isLinux) "-DWITH_XC_YUBIKEY=ON") + ++ (lib.optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") + ++ (lib.optional withKeePassBrowserPasskeys "-DWITH_XC_BROWSER_PASSKEYS=ON") + ++ (lib.optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON") + ++ (lib.optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON") + ++ (lib.optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON"); doCheck = true; checkPhase = '' @@ -104,15 +106,16 @@ stdenv.mkDerivation rec { wrapQtAppsHook qttools pkg-config - ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) wrapGAppsHook3; + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) wrapGAppsHook3; dontWrapGApps = true; - preFixup = '' - qtWrapperArgs+=("''${gappsWrapperArgs[@]}") - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC" - ''; + preFixup = + '' + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC" + ''; # See https://github.com/keepassxreboot/keepassxc/blob/cd7a53abbbb81e468efb33eb56eefc12739969b8/src/browser/NativeMessageInstaller.cpp#L317 postInstall = lib.optionalString withKeePassBrowser '' @@ -120,25 +123,26 @@ stdenv.mkDerivation rec { substituteAll "${./firefox-native-messaging-host.json}" "$out/lib/mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json" ''; - buildInputs = [ - curl - botan3 - kio - libXi - libXtst - libargon2 - minizip - pcsclite - qrencode - qtbase - qtsvg - readline - zlib - ] - ++ lib.optional (stdenv.hostPlatform.isDarwin && withKeePassTouchID) LocalAuthentication - ++ lib.optional stdenv.hostPlatform.isDarwin qtmacextras - ++ lib.optional stdenv.hostPlatform.isLinux libusb1 - ++ lib.optional withKeePassX11 qtx11extras; + buildInputs = + [ + curl + botan3 + kio + libXi + libXtst + libargon2 + minizip + pcsclite + qrencode + qtbase + qtsvg + readline + zlib + ] + ++ lib.optional (stdenv.hostPlatform.isDarwin && withKeePassTouchID) LocalAuthentication + ++ lib.optional stdenv.hostPlatform.isDarwin qtmacextras + ++ lib.optional stdenv.hostPlatform.isLinux libusb1 + ++ lib.optional withKeePassX11 qtx11extras; passthru.tests = nixosTests.keepassxc; @@ -154,7 +158,10 @@ stdenv.mkDerivation rec { homepage = "https://keepassxc.org/"; license = licenses.gpl2Plus; mainProgram = "keepassxc"; - maintainers = with maintainers; [ blankparticle sigmasquadron ]; + maintainers = with maintainers; [ + blankparticle + sigmasquadron + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/applications/misc/keystore-explorer/default.nix b/pkgs/applications/misc/keystore-explorer/default.nix index d5576ccb725e7..aa37f5cfe689c 100644 --- a/pkgs/applications/misc/keystore-explorer/default.nix +++ b/pkgs/applications/misc/keystore-explorer/default.nix @@ -1,10 +1,20 @@ -{ fetchzip, lib, stdenv, jdk, runtimeShell, glib, wrapGAppsHook3 }: +{ + fetchzip, + lib, + stdenv, + jdk, + runtimeShell, + glib, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { version = "5.5.3"; pname = "keystore-explorer"; src = fetchzip { - url = "https://github.com/kaikramer/keystore-explorer/releases/download/v${version}/kse-${lib.replaceStrings ["."] [""] version}.zip"; + url = "https://github.com/kaikramer/keystore-explorer/releases/download/v${version}/kse-${ + lib.replaceStrings [ "." ] [ "" ] version + }.zip"; sha256 = "sha256-oShVfmien4HMpAfSa9rPr18wLu7RN8ZWEZEUtiBHyBs="; }; diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix index 3b9d4f83f5743..2c9eafb16c11f 100644 --- a/pkgs/applications/misc/kiwix/default.nix +++ b/pkgs/applications/misc/kiwix/default.nix @@ -1,12 +1,15 @@ -{ lib, mkDerivation, fetchFromGitHub -, libkiwix -, pkg-config -, qmake -, qtbase -, qtwebengine -, qtsvg -, qtimageformats -, aria2 +{ + lib, + mkDerivation, + fetchFromGitHub, + libkiwix, + pkg-config, + qmake, + qtbase, + qtwebengine, + qtsvg, + qtimageformats, + aria2, }: mkDerivation { diff --git a/pkgs/applications/misc/kiwix/lib.nix b/pkgs/applications/misc/kiwix/lib.nix index 0fb33b6b0a9b1..dfaddd3212afd 100644 --- a/pkgs/applications/misc/kiwix/lib.nix +++ b/pkgs/applications/misc/kiwix/lib.nix @@ -1,14 +1,19 @@ -{ lib, stdenv, fetchFromGitHub -, meson, ninja, pkg-config -, python3 -, curl -, icu -, libzim -, pugixml -, zlib -, libmicrohttpd -, mustache-hpp -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + curl, + icu, + libzim, + pugixml, + zlib, + libmicrohttpd, + mustache-hpp, + gtest, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/misc/kiwix/tools.nix b/pkgs/applications/misc/kiwix/tools.nix index bc2ea83d1480e..e8564a7ff77b1 100644 --- a/pkgs/applications/misc/kiwix/tools.nix +++ b/pkgs/applications/misc/kiwix/tools.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, icu -, libkiwix -, meson -, ninja -, pkg-config -, stdenv +{ + lib, + fetchFromGitHub, + gitUpdater, + icu, + libkiwix, + meson, + ninja, + pkg-config, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/misc/kjv/default.nix b/pkgs/applications/misc/kjv/default.nix index 6408168d67838..0bd8f52d0a3b0 100644 --- a/pkgs/applications/misc/kjv/default.nix +++ b/pkgs/applications/misc/kjv/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + readline, +}: let patchPrefix = "https://web.archive.org/web/20220422205751/https://github.com/samuelgrf/kjv/commit/"; @@ -25,7 +31,10 @@ stdenv.mkDerivation { hash = "sha256-Z6myd9Xn23pYizG+IZVDrP988pYU06QIcpqXtWTcPiw="; }; - patches = [ add-apocrypha add-install-target ]; + patches = [ + add-apocrypha + add-install-target + ]; buildInputs = [ readline ]; @@ -35,7 +44,10 @@ stdenv.mkDerivation { description = "Bible, King James Version"; homepage = "https://github.com/bontibon/kjv"; license = licenses.unlicense; - maintainers = with maintainers; [ jtobin cafkafk ]; + maintainers = with maintainers; [ + jtobin + cafkafk + ]; mainProgram = "kjv"; }; } diff --git a/pkgs/applications/misc/kjv/lukesmithxyz-kjv.nix b/pkgs/applications/misc/kjv/lukesmithxyz-kjv.nix index 27a1a90502845..8e08295a58e37 100644 --- a/pkgs/applications/misc/kjv/lukesmithxyz-kjv.nix +++ b/pkgs/applications/misc/kjv/lukesmithxyz-kjv.nix @@ -1,7 +1,8 @@ -{ lib -, gawk -, stdenv -, fetchFromGitHub +{ + lib, + gawk, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/klipper-estimator/default.nix b/pkgs/applications/misc/klipper-estimator/default.nix index e7a511769a8eb..a577bb30f6462 100644 --- a/pkgs/applications/misc/klipper-estimator/default.nix +++ b/pkgs/applications/misc/klipper-estimator/default.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, stdenv -, rustPlatform -, pkg-config -, openssl -, libgit2 -, Security -, SystemConfiguration +{ + lib, + fetchFromGitHub, + stdenv, + rustPlatform, + pkg-config, + openssl, + libgit2, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,11 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libgit2 Security SystemConfiguration ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libgit2 + Security + SystemConfiguration + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix index a5f09789fc404..58e81790e6831 100644 --- a/pkgs/applications/misc/krename/default.nix +++ b/pkgs/applications/misc/krename/default.nix @@ -1,15 +1,26 @@ { - mkDerivation, fetchurl, fetchpatch, lib, - extra-cmake-modules, kdoctools, wrapGAppsHook3, - kconfig, kinit, kjsembed, taglib, exiv2, podofo, - kcrash + mkDerivation, + fetchurl, + fetchpatch, + lib, + extra-cmake-modules, + kdoctools, + wrapGAppsHook3, + kconfig, + kinit, + kjsembed, + taglib, + exiv2, + podofo, + kcrash, }: let pname = "krename"; version = "5.0.2"; -in mkDerivation rec { +in +mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { @@ -25,11 +36,24 @@ in mkDerivation rec { }) ]; - buildInputs = [ taglib exiv2 podofo ]; + buildInputs = [ + taglib + exiv2 + podofo + ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook3 ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapGAppsHook3 + ]; - propagatedBuildInputs = [ kconfig kcrash kinit kjsembed ]; + propagatedBuildInputs = [ + kconfig + kcrash + kinit + kjsembed + ]; NIX_LDFLAGS = "-ltag"; diff --git a/pkgs/applications/misc/ksmoothdock/default.nix b/pkgs/applications/misc/ksmoothdock/default.nix index 41a7c43875019..526ee7eafd96e 100644 --- a/pkgs/applications/misc/ksmoothdock/default.nix +++ b/pkgs/applications/misc/ksmoothdock/default.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, extra-cmake-modules -, kactivities -, qtbase +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + extra-cmake-modules, + kactivities, + qtbase, }: mkDerivation rec { @@ -24,9 +25,15 @@ mkDerivation rec { substituteInPlace src/CMakeLists.txt --replace "-Werror" "" ''; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; - buildInputs = [ kactivities qtbase ]; + buildInputs = [ + kactivities + qtbase + ]; cmakeDir = "../src"; diff --git a/pkgs/applications/misc/kup/default.nix b/pkgs/applications/misc/kup/default.nix index 3ac622b11ff50..2ee5e5e7aaa65 100644 --- a/pkgs/applications/misc/kup/default.nix +++ b/pkgs/applications/misc/kup/default.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, stdenv, fetchFromGitLab, extra-cmake-modules, @@ -15,7 +16,7 @@ kinit, kjobwidgets, plasma-framework, - libgit2 + libgit2, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix index a870a7fec3b01..4337fb4c85bb0 100644 --- a/pkgs/applications/misc/latte-dock/default.nix +++ b/pkgs/applications/misc/latte-dock/default.nix @@ -1,8 +1,22 @@ -{ lib, mkDerivation, fetchFromGitLab -, cmake, extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash -, knewstuff, wayland-scanner -, plasma-framework, plasma-wayland-protocols, plasma-workspace, plasma-desktop, qtwayland -, wayland, xorg +{ + lib, + mkDerivation, + fetchFromGitLab, + cmake, + extra-cmake-modules, + karchive, + kwindowsystem, + qtx11extras, + kcrash, + knewstuff, + wayland-scanner, + plasma-framework, + plasma-wayland-protocols, + plasma-workspace, + plasma-desktop, + qtwayland, + wayland, + xorg, }: mkDerivation rec { @@ -17,10 +31,28 @@ mkDerivation rec { sha256 = "sha256-C1FvgkdxCzny+F6igS2YjsHOpkK34wl6je2tHlGQwU0="; }; - buildInputs = [ plasma-framework plasma-wayland-protocols qtwayland xorg.libpthreadstubs xorg.libXdmcp xorg.libSM wayland plasma-workspace plasma-desktop ]; + buildInputs = [ + plasma-framework + plasma-wayland-protocols + qtwayland + xorg.libpthreadstubs + xorg.libXdmcp + xorg.libSM + wayland + plasma-workspace + plasma-desktop + ]; - nativeBuildInputs = [ extra-cmake-modules cmake karchive kwindowsystem - qtx11extras kcrash knewstuff wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + cmake + karchive + kwindowsystem + qtx11extras + kcrash + knewstuff + wayland-scanner + ]; patches = [ ./0001-Disable-autostart.patch @@ -40,5 +72,4 @@ mkDerivation rec { maintainers = [ maintainers.ysndr ]; }; - } diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index ae1f5c9813ac6..7d41c040db8e2 100644 --- a/pkgs/applications/misc/librecad/default.nix +++ b/pkgs/applications/misc/librecad/default.nix @@ -1,15 +1,16 @@ -{ lib -, boost -, fetchFromGitHub -, installShellFiles -, mkDerivation -, muparser -, pkg-config -, qmake -, qtbase -, qtsvg -, qttools -, runtimeShell +{ + lib, + boost, + fetchFromGitHub, + installShellFiles, + mkDerivation, + muparser, + pkg-config, + qmake, + qtbase, + qtsvg, + qttools, + runtimeShell, }: mkDerivation rec { @@ -50,7 +51,6 @@ mkDerivation rec { --replace __DATE__ 0 ''; - installPhase = '' runHook preInstall diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index 5b44dde5dac86..27b05e427b138 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -1,55 +1,56 @@ -{ buildPythonApplication -, lib -, fetchFromGitHub +{ + buildPythonApplication, + lib, + fetchFromGitHub, # build inputs -, atk -, file -, gdk-pixbuf -, glib-networking -, gnome-desktop -, gobject-introspection -, gst_all_1 -, gtk3 -, libnotify -, pango -, webkitgtk_4_0 -, wrapGAppsHook3 + atk, + file, + gdk-pixbuf, + glib-networking, + gnome-desktop, + gobject-introspection, + gst_all_1, + gtk3, + libnotify, + pango, + webkitgtk_4_0, + wrapGAppsHook3, # check inputs -, xvfb-run -, nose2 -, flake8 + xvfb-run, + nose2, + flake8, # python dependencies -, certifi -, dbus-python -, distro -, evdev -, lxml -, pillow -, pygobject3 -, pypresence -, pyyaml -, requests -, protobuf -, moddb + certifi, + dbus-python, + distro, + evdev, + lxml, + pillow, + pygobject3, + pypresence, + pyyaml, + requests, + protobuf, + moddb, # commands that lutris needs -, xrandr -, pciutils -, psmisc -, mesa-demos -, vulkan-tools -, xboxdrv -, pulseaudio -, p7zip -, xgamma -, libstrangle -, fluidsynth -, xorgserver -, xorg -, util-linux + xrandr, + pciutils, + psmisc, + mesa-demos, + vulkan-tools, + xboxdrv, + pulseaudio, + p7zip, + xgamma, + libstrangle, + fluidsynth, + xorgserver, + xorg, + util-linux, }: let @@ -84,24 +85,29 @@ buildPythonApplication rec { hash = "sha256-dI5hqWBWrOGYUEM9Mfm7bTh7BEc4e+T9gJeiZ3BiqmE="; }; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; - buildInputs = [ - atk - gdk-pixbuf - glib-networking - gnome-desktop - gtk3 - libnotify - pango - webkitgtk_4_0 - ] ++ (with gst_all_1; [ - gst-libav - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gstreamer - ]); + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = + [ + atk + gdk-pixbuf + glib-networking + gnome-desktop + gtk3 + libnotify + pango + webkitgtk_4_0 + ] + ++ (with gst_all_1; [ + gst-libav + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + ]); # See `install_requires` in https://github.com/lutris/lutris/blob/master/setup.py propagatedBuildInputs = [ @@ -124,7 +130,11 @@ buildPythonApplication rec { --replace '"libmagic.so.1"' "'${lib.getLib file}/lib/libmagic.so.1'" ''; - nativeCheckInputs = [ xvfb-run nose2 flake8 ] ++ requiredTools; + nativeCheckInputs = [ + xvfb-run + nose2 + flake8 + ] ++ requiredTools; checkPhase = '' runHook preCheck @@ -146,7 +156,10 @@ buildPythonApplication rec { homepage = "https://lutris.net"; description = "Open Source gaming platform for GNU/Linux"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ Madouura rapiteanu ]; + maintainers = with maintainers; [ + Madouura + rapiteanu + ]; platforms = platforms.linux; mainProgram = "lutris"; }; diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix index 56a23a42ae63d..770ae39bd0d51 100644 --- a/pkgs/applications/misc/lutris/fhsenv.nix +++ b/pkgs/applications/misc/lutris/fhsenv.nix @@ -1,29 +1,64 @@ -{ lib, buildFHSEnv, lutris-unwrapped -, extraPkgs ? pkgs: [ ] -, extraLibraries ? pkgs: [ ] -, steamSupport ? true +{ + lib, + buildFHSEnv, + lutris-unwrapped, + extraPkgs ? pkgs: [ ], + extraLibraries ? pkgs: [ ], + steamSupport ? true, }: let - qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ]; + qt5Deps = + pkgs: with pkgs.qt5; [ + qtbase + qtmultimedia + ]; qt6Deps = pkgs: with pkgs.qt6; [ qtbase ]; - gnomeDeps = pkgs: with pkgs; [ zenity gtksourceview gnome-desktop libgnome-keyring webkitgtk_4_0 ]; - xorgDeps = pkgs: with pkgs.xorg; [ - libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp - libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite - libXfixes libXtst libXScrnSaver libICE libXt - ]; - gstreamerDeps = pkgs: with pkgs.gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gst-plugins-bad - gst-libav - ]; - -in buildFHSEnv { + gnomeDeps = + pkgs: with pkgs; [ + zenity + gtksourceview + gnome-desktop + libgnome-keyring + webkitgtk_4_0 + ]; + xorgDeps = + pkgs: with pkgs.xorg; [ + libX11 + libXrender + libXrandr + libxcb + libXmu + libpthreadstubs + libXext + libXdmcp + libXxf86vm + libXinerama + libSM + libXv + libXaw + libXi + libXcursor + libXcomposite + libXfixes + libXtst + libXScrnSaver + libICE + libXt + ]; + gstreamerDeps = + pkgs: with pkgs.gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + gst-libav + ]; + +in +buildFHSEnv { pname = "lutris"; inherit (lutris-unwrapped) version; @@ -32,112 +67,229 @@ in buildFHSEnv { # Many native and WINE games need 32bit multiArch = true; - targetPkgs = pkgs: with pkgs; [ - lutris-unwrapped - - # Appimages - fuse - - # Adventure Game Studio - allegro dumb - - # Battle.net - jansson - - # Curl - libnghttp2 - - # Desmume - lua agg soundtouch openal desktop-file-utils atk - - # DGen // TODO: libarchive is broken - - # Dolphin - bluez ffmpeg_6 gettext portaudio miniupnpc mbedtls_2 lzo sfml gsm - wavpack orc nettle gmp pcre vulkan-loader zstd - - # DOSBox - SDL_net SDL_sound - - # GOG - glib-networking - - # Higan // TODO: "higan is not available for the x86_64 architecture" - - # Libretro - fluidsynth hidapi mesa libdrm - - # MAME - fontconfig SDL2_ttf - - # Mednafen - libglut mesa_glu - - # MESS - expat - - # Minecraft - nss - - # Mupen64Plus - boost dash - - # Overwatch 2 - libunwind - - # PPSSPP - glew snappy - - # Redream // "redream is not available for the x86_64 architecture" - - # RPCS3 - llvm e2fsprogs libgpg-error - - # ScummVM - nasm sndio - - # ResidualVM is now merged with ScummVM and therefore does not exist anymore - flac - - # Snes9x - libepoxy minizip - - # Vice - bison flex - - # WINE - xorg.xrandr perl which p7zip gnused gnugrep psmisc opencl-headers - - # ZDOOM - soundfont-fluid bzip2 game-music-emu - ] ++ qt5Deps pkgs + targetPkgs = + pkgs: + with pkgs; + [ + lutris-unwrapped + + # Appimages + fuse + + # Adventure Game Studio + allegro + dumb + + # Battle.net + jansson + + # Curl + libnghttp2 + + # Desmume + lua + agg + soundtouch + openal + desktop-file-utils + atk + + # DGen // TODO: libarchive is broken + + # Dolphin + bluez + ffmpeg_6 + gettext + portaudio + miniupnpc + mbedtls_2 + lzo + sfml + gsm + wavpack + orc + nettle + gmp + pcre + vulkan-loader + zstd + + # DOSBox + SDL_net + SDL_sound + + # GOG + glib-networking + + # Higan // TODO: "higan is not available for the x86_64 architecture" + + # Libretro + fluidsynth + hidapi + mesa + libdrm + + # MAME + fontconfig + SDL2_ttf + + # Mednafen + libglut + mesa_glu + + # MESS + expat + + # Minecraft + nss + + # Mupen64Plus + boost + dash + + # Overwatch 2 + libunwind + + # PPSSPP + glew + snappy + + # Redream // "redream is not available for the x86_64 architecture" + + # RPCS3 + llvm + e2fsprogs + libgpg-error + + # ScummVM + nasm + sndio + + # ResidualVM is now merged with ScummVM and therefore does not exist anymore + flac + + # Snes9x + libepoxy + minizip + + # Vice + bison + flex + + # WINE + xorg.xrandr + perl + which + p7zip + gnused + gnugrep + psmisc + opencl-headers + + # ZDOOM + soundfont-fluid + bzip2 + game-music-emu + ] + ++ qt5Deps pkgs ++ qt6Deps pkgs ++ gnomeDeps pkgs ++ lib.optional steamSupport pkgs.steam ++ extraPkgs pkgs; - multiPkgs = pkgs: with pkgs; [ - # Common - libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio - libao libevdev udev libgcrypt libxml2 libusb1 libpng libmpeg2 libv4l - libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio - libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib - alsa-lib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils - readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd - vulkan-loader xdg-utils sqlite gnutls p11-kit libbsd harfbuzz - - # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64" - - # WINE - cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap - ocl-icd util-linux libkrb5 - - # Proton - libselinux - - # Winetricks - fribidi pango - ] ++ xorgDeps pkgs + multiPkgs = + pkgs: + with pkgs; + [ + # Common + libsndfile + libtheora + libogg + libvorbis + libopus + libGLU + libpcap + libpulseaudio + libao + libevdev + udev + libgcrypt + libxml2 + libusb1 + libpng + libmpeg2 + libv4l + libjpeg + libxkbcommon + libass + libcdio + libjack2 + libsamplerate + libzip + libmad + libaio + libcap + libtiff + libva + libgphoto2 + libxslt + libsndfile + giflib + zlib + glib + alsa-lib + zziplib + bash + dbus + keyutils + zip + cabextract + freetype + unzip + coreutils + readline + gcc + SDL + SDL2 + curl + graphite2 + gtk2 + gtk3 + udev + ncurses + wayland + libglvnd + vulkan-loader + xdg-utils + sqlite + gnutls + p11-kit + libbsd + harfbuzz + + # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64" + + # WINE + cups + lcms2 + mpg123 + cairo + unixODBC + samba4 + sane-backends + openldap + ocl-icd + util-linux + libkrb5 + + # Proton + libselinux + + # Winetricks + fribidi + pango + ] + ++ xorgDeps pkgs ++ gstreamerDeps pkgs ++ extraLibraries pkgs; @@ -163,7 +315,8 @@ in buildFHSEnv { platforms license maintainers - broken; + broken + ; mainProgram = "lutris"; }; diff --git a/pkgs/applications/misc/makehuman/default.nix b/pkgs/applications/misc/makehuman/default.nix index b9394aacb6f5c..04cc4e5c0d5c0 100644 --- a/pkgs/applications/misc/makehuman/default.nix +++ b/pkgs/applications/misc/makehuman/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchpatch -, fetchFromGitHub -, python3 -, qtbase -, git-lfs -, wrapQtAppsHook +{ + stdenv, + lib, + fetchpatch, + fetchFromGitHub, + python3, + qtbase, + git-lfs, + wrapQtAppsHook, }: let @@ -99,7 +100,10 @@ stdenv.mkDerivation rec { meta = { description = "Software to create realistic humans"; homepage = "http://www.makehumancommunity.org/"; - license = with lib.licenses; [ agpl3Plus cc0 ]; + license = with lib.licenses; [ + agpl3Plus + cc0 + ]; longDescription = '' MakeHuman is a GUI program for procedurally generating realistic-looking humans. diff --git a/pkgs/applications/misc/maliit-framework/default.nix b/pkgs/applications/misc/maliit-framework/default.nix index 7093524fc04df..99b3e75922d0c 100644 --- a/pkgs/applications/misc/maliit-framework/default.nix +++ b/pkgs/applications/misc/maliit-framework/default.nix @@ -1,26 +1,27 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, fetchpatch +{ + mkDerivation, + lib, + fetchFromGitHub, + fetchpatch, -, at-spi2-atk -, at-spi2-core -, libepoxy -, gtk3 -, libdatrie -, libselinux -, libsepol -, libthai -, pcre -, util-linux -, wayland -, xorg + at-spi2-atk, + at-spi2-core, + libepoxy, + gtk3, + libdatrie, + libselinux, + libsepol, + libthai, + pcre, + util-linux, + wayland, + xorg, -, cmake -, doxygen -, pkg-config -, wayland-protocols -, wayland-scanner + cmake, + doxygen, + pkg-config, + wayland-protocols, + wayland-scanner, }: mkDerivation rec { diff --git a/pkgs/applications/misc/maliit-keyboard/default.nix b/pkgs/applications/misc/maliit-keyboard/default.nix index 108137188b226..dd7d60049c466 100644 --- a/pkgs/applications/misc/maliit-keyboard/default.nix +++ b/pkgs/applications/misc/maliit-keyboard/default.nix @@ -1,22 +1,23 @@ -{ mkDerivation -, lib -, fetchFromGitHub +{ + mkDerivation, + lib, + fetchFromGitHub, -, anthy -, hunspell -, libchewing -, libpinyin -, maliit-framework -, pcre -, presage -, qtfeedback -, qtmultimedia -, qtquickcontrols2 -, qtgraphicaleffects + anthy, + hunspell, + libchewing, + libpinyin, + maliit-framework, + pcre, + presage, + qtfeedback, + qtmultimedia, + qtquickcontrols2, + qtgraphicaleffects, -, cmake -, pkg-config -, wrapGAppsHook3 + cmake, + pkg-config, + wrapGAppsHook3, }: mkDerivation rec { @@ -68,7 +69,11 @@ mkDerivation rec { description = "Virtual keyboard"; mainProgram = "maliit-keyboard"; homepage = "http://maliit.github.io/"; - license = with licenses; [ lgpl3Only bsd3 cc-by-30 ]; + license = with licenses; [ + lgpl3Only + bsd3 + cc-by-30 + ]; maintainers = [ ]; }; } diff --git a/pkgs/applications/misc/masterpdfeditor4/default.nix b/pkgs/applications/misc/masterpdfeditor4/default.nix index 355c23d3d1872..9eeac8660a2aa 100644 --- a/pkgs/applications/misc/masterpdfeditor4/default.nix +++ b/pkgs/applications/misc/masterpdfeditor4/default.nix @@ -1,4 +1,13 @@ -{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, autoPatchelfHook, lib, wrapQtAppsHook }: +{ + stdenv, + fetchurl, + sane-backends, + qtbase, + qtsvg, + autoPatchelfHook, + lib, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "masterpdfeditor4"; @@ -9,9 +18,17 @@ stdenv.mkDerivation rec { sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc"; }; - nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ]; - - buildInputs = [ qtbase qtsvg sane-backends stdenv.cc.cc ]; + nativeBuildInputs = [ + autoPatchelfHook + wrapQtAppsHook + ]; + + buildInputs = [ + qtbase + qtsvg + sane-backends + stdenv.cc.cc + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/misc/mdzk/default.nix b/pkgs/applications/misc/mdzk/default.nix index 92498cc92612d..a613fe5492a14 100644 --- a/pkgs/applications/misc/mdzk/default.nix +++ b/pkgs/applications/misc/mdzk/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "mdzk"; @@ -25,7 +31,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/mdzk-rs/mdzk/"; changelog = "https://github.com/mdzk-rs/mdzk/blob/main/CHANGELOG.md"; license = licenses.mpl20; - maintainers = with maintainers; [ bryanasdev000 ratsclub ]; + maintainers = with maintainers; [ + bryanasdev000 + ratsclub + ]; mainProgram = "mdzk"; }; } diff --git a/pkgs/applications/misc/mediaelch/default.nix b/pkgs/applications/misc/mediaelch/default.nix index 58aae6450ed08..d815c354f8e6d 100644 --- a/pkgs/applications/misc/mediaelch/default.nix +++ b/pkgs/applications/misc/mediaelch/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, cmake -, qttools -, wrapQtAppsHook + cmake, + qttools, + wrapQtAppsHook, -, curl -, ffmpeg -, libmediainfo -, libzen -, qt5compat ? null # qt6 only -, qtbase -, qtdeclarative -, qtmultimedia -, qtsvg -, qtwayland -, quazip + curl, + ffmpeg, + libmediainfo, + libzen, + qt5compat ? null, # qt6 only + qtbase, + qtdeclarative, + qtmultimedia, + qtsvg, + qtwayland, + quazip, }: let qtVersion = lib.versions.major qtbase.version; @@ -39,21 +40,22 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; - buildInputs = [ - curl - ffmpeg - libmediainfo - libzen - qtbase - qtdeclarative - qtmultimedia - qtsvg - qtwayland - quazip - ] ++ lib.optionals (qtVersion == "6") [ - qt5compat - ]; - + buildInputs = + [ + curl + ffmpeg + libmediainfo + libzen + qtbase + qtdeclarative + qtmultimedia + qtsvg + qtwayland + quazip + ] + ++ lib.optionals (qtVersion == "6") [ + qt5compat + ]; cmakeFlags = [ "-DDISABLE_UPDATER=ON" diff --git a/pkgs/applications/misc/meerk40t/camera.nix b/pkgs/applications/misc/meerk40t/camera.nix index ab2a70ad8eb27..6e33c8077c668 100644 --- a/pkgs/applications/misc/meerk40t/camera.nix +++ b/pkgs/applications/misc/meerk40t/camera.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix index e9a2a9d4838e7..6406abad27bb3 100644 --- a/pkgs/applications/misc/meerk40t/default.nix +++ b/pkgs/applications/misc/meerk40t/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, meerk40t-camera -, python3Packages -, gtk3 -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + meerk40t-camera, + python3Packages, + gtk3, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { @@ -18,25 +19,29 @@ python3Packages.buildPythonApplication rec { hash = "sha256-dybmbmEvvTka0wMBIUDYemqDaCvG9odgCbIWYhROJLI="; }; - nativeBuildInputs = [ - wrapGAppsHook3 - ] ++ (with python3Packages; [ - setuptools - ]); + nativeBuildInputs = + [ + wrapGAppsHook3 + ] + ++ (with python3Packages; [ + setuptools + ]); # prevent double wrapping dontWrapGApps = true; # https://github.com/meerk40t/meerk40t/blob/main/setup.py - propagatedBuildInputs = with python3Packages; [ - meerk40t-camera - numpy - pyserial - pyusb - setuptools - wxpython - ] - ++ lib.flatten (lib.attrValues optional-dependencies); + propagatedBuildInputs = + with python3Packages; + [ + meerk40t-camera + numpy + pyserial + pyusb + setuptools + wxpython + ] + ++ lib.flatten (lib.attrValues optional-dependencies); optional-dependencies = with python3Packages; { cam = [ diff --git a/pkgs/applications/misc/michabo/default.nix b/pkgs/applications/misc/michabo/default.nix index 7f077d20fc85c..b44b5300749b0 100644 --- a/pkgs/applications/misc/michabo/default.nix +++ b/pkgs/applications/misc/michabo/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, makeDesktopItem -, fetchFromGitLab -, qmake -# qt -, qtbase -, qtwebsockets +{ + lib, + mkDerivation, + makeDesktopItem, + fetchFromGitLab, + qmake, + # qt + qtbase, + qtwebsockets, }: let @@ -15,7 +16,8 @@ let exec = "Michabo"; }; -in mkDerivation rec { +in +mkDerivation rec { pname = "michabo"; version = "0.1"; @@ -35,7 +37,10 @@ in mkDerivation rec { qtwebsockets ]; - qmakeFlags = [ "michabo.pro" "DESTDIR=${placeholder "out"}/bin" ]; + qmakeFlags = [ + "michabo.pro" + "DESTDIR=${placeholder "out"}/bin" + ]; postInstall = '' ln -s ${desktopItem}/share $out/share @@ -50,4 +55,3 @@ in mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix index f475359a86cb3..19e16d2d854ba 100644 --- a/pkgs/applications/misc/mkgmap/default.nix +++ b/pkgs/applications/misc/mkgmap/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, fetchsvn -, jdk -, jre -, ant -, makeWrapper -, stripJavaArchivesHook -, doCheck ? true -, withExamples ? false +{ + lib, + stdenv, + fetchurl, + fetchsvn, + jdk, + jre, + ant, + makeWrapper, + stripJavaArchivesHook, + doCheck ? true, + withExamples ? false, }: let deps = import ./deps.nix { inherit fetchurl; }; @@ -30,35 +31,43 @@ stdenv.mkDerivation rec { ./ignore-impure-test.patch ]; - postPatch = with deps; '' - # Manually create version properties file for reproducibility - mkdir -p build/classes - cat > build/classes/mkgmap-version.properties << EOF - svn.version=${version} - build.timestamp=unknown - EOF - - # Put pre-fetched dependencies into the right place - mkdir -p lib/compile - cp ${fastutil} lib/compile/${fastutil.name} - cp ${osmpbf} lib/compile/${osmpbf.name} - cp ${protobuf} lib/compile/${protobuf.name} - '' + lib.optionalString doCheck '' - mkdir -p lib/test - cp ${fastutil} lib/test/${fastutil.name} - cp ${osmpbf} lib/test/${osmpbf.name} - cp ${protobuf} lib/test/${protobuf.name} - cp ${jaxb-api} lib/test/${jaxb-api.name} - cp ${junit} lib/test/${junit.name} - cp ${hamcrest-core} lib/test/${hamcrest-core.name} - - mkdir -p test/resources/in/img - ${lib.concatMapStringsSep "\n" (res: '' - cp ${res} test/resources/in/${builtins.replaceStrings [ "__" ] [ "/" ] res.name} - '') testInputs} - ''; - - nativeBuildInputs = [ jdk ant makeWrapper stripJavaArchivesHook ]; + postPatch = + with deps; + '' + # Manually create version properties file for reproducibility + mkdir -p build/classes + cat > build/classes/mkgmap-version.properties << EOF + svn.version=${version} + build.timestamp=unknown + EOF + + # Put pre-fetched dependencies into the right place + mkdir -p lib/compile + cp ${fastutil} lib/compile/${fastutil.name} + cp ${osmpbf} lib/compile/${osmpbf.name} + cp ${protobuf} lib/compile/${protobuf.name} + '' + + lib.optionalString doCheck '' + mkdir -p lib/test + cp ${fastutil} lib/test/${fastutil.name} + cp ${osmpbf} lib/test/${osmpbf.name} + cp ${protobuf} lib/test/${protobuf.name} + cp ${jaxb-api} lib/test/${jaxb-api.name} + cp ${junit} lib/test/${junit.name} + cp ${hamcrest-core} lib/test/${hamcrest-core.name} + + mkdir -p test/resources/in/img + ${lib.concatMapStringsSep "\n" (res: '' + cp ${res} test/resources/in/${builtins.replaceStrings [ "__" ] [ "/" ] res.name} + '') testInputs} + ''; + + nativeBuildInputs = [ + jdk + ant + makeWrapper + stripJavaArchivesHook + ]; buildPhase = '' runHook preBuild @@ -91,7 +100,11 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.updateScript = [ ./update.sh "mkgmap" meta.downloadPage ]; + passthru.updateScript = [ + ./update.sh + "mkgmap" + meta.downloadPage + ]; meta = with lib; { description = "Create maps for Garmin GPS devices from OpenStreetMap (OSM) data"; diff --git a/pkgs/applications/misc/mkgmap/splitter/testinputs.nix b/pkgs/applications/misc/mkgmap/splitter/testinputs.nix index 0d73f97102910..462e8bfa0bebf 100644 --- a/pkgs/applications/misc/mkgmap/splitter/testinputs.nix +++ b/pkgs/applications/misc/mkgmap/splitter/testinputs.nix @@ -1,10 +1,12 @@ { fetchurl }: let - fetchTestInput = { res, sha256 }: fetchurl { - inherit sha256; - url = "https://www.mkgmap.org.uk/testinput/${res}"; - name = builtins.replaceStrings [ "/" ] [ "__" ] res; - }; + fetchTestInput = + { res, sha256 }: + fetchurl { + inherit sha256; + url = "https://www.mkgmap.org.uk/testinput/${res}"; + name = builtins.replaceStrings [ "/" ] [ "__" ] res; + }; in [ (fetchTestInput { diff --git a/pkgs/applications/misc/mkgmap/testinputs.nix b/pkgs/applications/misc/mkgmap/testinputs.nix index 93c858a388952..c92499aea5c7e 100644 --- a/pkgs/applications/misc/mkgmap/testinputs.nix +++ b/pkgs/applications/misc/mkgmap/testinputs.nix @@ -1,10 +1,12 @@ { fetchurl }: let - fetchTestInput = { res, sha256 }: fetchurl { - inherit sha256; - url = "https://www.mkgmap.org.uk/testinput/${res}"; - name = builtins.replaceStrings [ "/" ] [ "__" ] res; - }; + fetchTestInput = + { res, sha256 }: + fetchurl { + inherit sha256; + url = "https://www.mkgmap.org.uk/testinput/${res}"; + name = builtins.replaceStrings [ "/" ] [ "__" ] res; + }; in [ (fetchTestInput { diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix index fbdbe92ff6341..b8023272f60f1 100644 --- a/pkgs/applications/misc/moolticute/default.nix +++ b/pkgs/applications/misc/moolticute/default.nix @@ -1,10 +1,13 @@ -{ lib, mkDerivation, fetchFromGitHub -, libusb1 -, pkg-config -, qmake -, qtbase -, qttools -, qtwebsockets +{ + lib, + mkDerivation, + fetchFromGitHub, + libusb1, + pkg-config, + qmake, + qtbase, + qttools, + qtwebsockets, }: mkDerivation rec { @@ -18,10 +21,21 @@ mkDerivation rec { sha256 = "sha256-S2Pnueo3opP1k6XBBHGAyRJpkNuI1Hotz7ypXa/96eQ="; }; - outputs = [ "out" "udev" ]; + outputs = [ + "out" + "udev" + ]; - nativeBuildInputs = [ pkg-config qmake qttools ]; - buildInputs = [ libusb1 qtbase qtwebsockets ]; + nativeBuildInputs = [ + pkg-config + qmake + qttools + ]; + buildInputs = [ + libusb1 + qtbase + qtwebsockets + ]; preConfigure = "mkdir -p build && cd build"; qmakeFlags = [ "../Moolticute.pro" ]; @@ -30,7 +44,7 @@ mkDerivation rec { mkdir -p $udev/lib/udev/rules.d sed -n '/^UDEV_RULE=="\$(cat <<-EOF$/,/^EOF$/p' ../data/moolticute.sh | sed '1d;$d' > $udev/lib/udev/rules.d/50-mooltipass.rules - ''; + ''; meta = with lib; { description = "GUI app and daemon to work with Mooltipass device via USB"; @@ -40,7 +54,10 @@ mkDerivation rec { ''; homepage = "https://github.com/mooltipass/moolticute"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ kirikaza hughobrien ]; + maintainers = with maintainers; [ + kirikaza + hughobrien + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/mu-repo/default.nix b/pkgs/applications/misc/mu-repo/default.nix index ff07856e0e8d8..c2acd018b78ef 100644 --- a/pkgs/applications/misc/mu-repo/default.nix +++ b/pkgs/applications/misc/mu-repo/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, buildPythonApplication, pytestCheckHook, git, testers, mu-repo }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + pytestCheckHook, + git, + testers, + mu-repo, +}: buildPythonApplication rec { pname = "mu-repo"; @@ -13,7 +21,10 @@ buildPythonApplication rec { propagatedBuildInputs = [ git ]; - nativeCheckInputs = [ pytestCheckHook git ]; + nativeCheckInputs = [ + pytestCheckHook + git + ]; passthru.tests.version = testers.testVersion { package = mu-repo; diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix index 6b647aab24734..045c8cdfeab30 100644 --- a/pkgs/applications/misc/mwic/default.nix +++ b/pkgs/applications/misc/mwic/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pythonPackages }: +{ + lib, + stdenv, + fetchurl, + pythonPackages, +}: stdenv.mkDerivation rec { version = "0.7.10"; @@ -9,13 +14,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-dmIHPehkxpSb78ymVpcPCu4L41coskrHQOg067dprOo="; }; - makeFlags=["PREFIX=\${out}"]; + makeFlags = [ "PREFIX=\${out}" ]; nativeBuildInputs = [ pythonPackages.wrapPython ]; - propagatedBuildInputs = with pythonPackages; [ pyenchant regex ]; + propagatedBuildInputs = with pythonPackages; [ + pyenchant + regex + ]; postFixup = '' wrapPythonPrograms @@ -29,4 +37,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ matthiasbeyer ]; }; } - diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 01df4df5d1c75..a6705904f78f9 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,46 +1,47 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, cmake -, ninja -, pkg-config -, glibc -, gtk3 -, gtkmm3 -, pcre -, swig -, antlr4_12 -, sudo -, mysql -, libxml2 -, libmysqlconnectorcpp -, vsqlite -, gdal -, libiodbc -, libpthreadstubs -, libXdmcp -, libuuid -, libzip -, libsecret -, libssh -, python3 -, jre -, boost -, libsigcxx -, libX11 -, openssl -, rapidjson -, proj -, cairo -, libxkbcommon -, libepoxy -, wrapGAppsHook3 -, at-spi2-core -, dbus -, bash -, coreutils -, zstd +{ + lib, + stdenv, + fetchurl, + substituteAll, + cmake, + ninja, + pkg-config, + glibc, + gtk3, + gtkmm3, + pcre, + swig, + antlr4_12, + sudo, + mysql, + libxml2, + libmysqlconnectorcpp, + vsqlite, + gdal, + libiodbc, + libpthreadstubs, + libXdmcp, + libuuid, + libzip, + libsecret, + libssh, + python3, + jre, + boost, + libsigcxx, + libX11, + openssl, + rapidjson, + proj, + cairo, + libxkbcommon, + libepoxy, + wrapGAppsHook3, + at-spi2-core, + dbus, + bash, + coreutils, + zstd, }: let @@ -138,16 +139,20 @@ stdenv.mkDerivation (finalAttrs: { zstd ]; - env.NIX_CFLAGS_COMPILE = toString ([ - # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated - "-Wno-error=deprecated-declarations" - ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ - # error: narrowing conversion of '-1' from 'int' to 'char' - "-Wno-error=narrowing" - ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but problematic with some old GCCs - "-Wno-error=maybe-uninitialized" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated + "-Wno-error=deprecated-declarations" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + # error: narrowing conversion of '-1' from 'int' to 'char' + "-Wno-error=narrowing" + ] + ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs + "-Wno-error=maybe-uninitialized" + ] + ); cmakeFlags = [ "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config" diff --git a/pkgs/applications/misc/nimbo/default.nix b/pkgs/applications/misc/nimbo/default.nix index d028f205f3d53..151393c804b40 100644 --- a/pkgs/applications/misc/nimbo/default.nix +++ b/pkgs/applications/misc/nimbo/default.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, installShellFiles -, awscli +{ + lib, + python3, + fetchFromGitHub, + installShellFiles, + awscli, }: python3.pkgs.buildPythonApplication rec { @@ -43,7 +44,10 @@ python3.pkgs.buildPythonApplication rec { pythonImportsCheck = [ "nimbo" ]; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ awscli ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ awscli ]) ]; postInstall = '' diff --git a/pkgs/applications/misc/nixnote2/default.nix b/pkgs/applications/misc/nixnote2/default.nix index d6d0775f78d21..9014f2f32344c 100644 --- a/pkgs/applications/misc/nixnote2/default.nix +++ b/pkgs/applications/misc/nixnote2/default.nix @@ -1,5 +1,15 @@ -{ lib, mkDerivation, fetchFromGitHub, boost -, qtbase, qtwebkit, poppler, qmake, hunspell, html-tidy}: +{ + lib, + mkDerivation, + fetchFromGitHub, + boost, + qtbase, + qtwebkit, + poppler, + qmake, + hunspell, + html-tidy, +}: mkDerivation rec { pname = "nixnote2"; @@ -12,7 +22,13 @@ mkDerivation rec { sha256 = "0cfq95mxvcgby66r61gclm1a2c6zck5aln04xmg2q8kg6p9d31fr"; }; - buildInputs = [ boost qtbase qtwebkit poppler hunspell ]; + buildInputs = [ + boost + qtbase + qtwebkit + poppler + hunspell + ]; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix index 26f9845dcfd1d..3a8f03259f216 100644 --- a/pkgs/applications/misc/ola/default.nix +++ b/pkgs/applications/misc/ola/default.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, bison -, flex -, pkg-config -, libftdi1 -, libuuid -, cppunit -, protobuf -, zlib -, avahi -, libmicrohttpd -, perl -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + pkg-config, + libftdi1, + libuuid, + cppunit, + protobuf, + zlib, + avahi, + libmicrohttpd, + perl, + python3, }: stdenv.mkDerivation rec { @@ -26,7 +28,13 @@ stdenv.mkDerivation rec { hash = "sha256-8w8ZT3D/+8Pxl9z2KTXeydVxE5xiPjxZevgmMFgrblU="; }; - nativeBuildInputs = [ autoreconfHook bison flex pkg-config perl ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + pkg-config + perl + ]; buildInputs = [ # required for ola-ftdidmx plugin (support for 'dumb' FTDI devices) libftdi1 @@ -52,7 +60,10 @@ stdenv.mkDerivation rec { description = "Framework for controlling entertainment lighting equipment"; homepage = "https://www.openlighting.org/ola/"; maintainers = [ ]; - license = with licenses; [ lgpl21 gpl2Plus ]; + license = with licenses; [ + lgpl21 + gpl2Plus + ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/misc/omegat.nix b/pkgs/applications/misc/omegat.nix index f5d9a9eb92071..b88bccd32de48 100644 --- a/pkgs/applications/misc/omegat.nix +++ b/pkgs/applications/misc/omegat.nix @@ -1,17 +1,28 @@ -{ lib, stdenv, fetchurl, unzip, jdk, makeWrapper}: +{ + lib, + stdenv, + fetchurl, + unzip, + jdk, + makeWrapper, +}: stdenv.mkDerivation { version = "6.0.1"; pname = "omegat"; - src = fetchurl { # their zip has repeated files or something, so no fetchzip + src = fetchurl { + # their zip has repeated files or something, so no fetchzip url = "mirror://sourceforge/project/omegat/OmegaT%20-%20Standard/OmegaT%206.0.1/OmegaT_6.0.1_Without_JRE.zip"; sha256 = "sha256-Rj50bzT8k7+GWb0p/ma+zy+PzkF7tB6iV4F4UVAImJg="; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; - unpackCmd = "unzip -o $curSrc"; # tries to go interactive without -o + unpackCmd = "unzip -o $curSrc"; # tries to go interactive without -o installPhase = '' mkdir -p $out/bin @@ -37,6 +48,9 @@ stdenv.mkDerivation { sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.gpl3Plus; maintainers = with maintainers; [ t184256 ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/applications/misc/openambit/default.nix b/pkgs/applications/misc/openambit/default.nix index f3429a05ee6e3..9f80b8ee31682 100644 --- a/pkgs/applications/misc/openambit/default.nix +++ b/pkgs/applications/misc/openambit/default.nix @@ -1,14 +1,15 @@ -{ cmake -, fetchFromGitHub -, fetchpatch -, lib -, libusb1 -, mkDerivation -, python3 -, qtbase -, qttools -, udev -, zlib +{ + cmake, + fetchFromGitHub, + fetchpatch, + lib, + libusb1, + mkDerivation, + python3, + qtbase, + qttools, + udev, + zlib, }: mkDerivation rec { @@ -32,8 +33,17 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake qttools ]; - buildInputs = [ libusb1 python3 qtbase udev zlib ]; + nativeBuildInputs = [ + cmake + qttools + ]; + buildInputs = [ + libusb1 + python3 + qtbase + udev + zlib + ]; cmakeFlags = [ "-DCMAKE_INSTALL_UDEVRULESDIR=${placeholder "out"}/lib/udev/rules.d" ]; diff --git a/pkgs/applications/misc/openbangla-keyboard/default.nix b/pkgs/applications/misc/openbangla-keyboard/default.nix index 04a9fffcb083b..f257eff50a326 100644 --- a/pkgs/applications/misc/openbangla-keyboard/default.nix +++ b/pkgs/applications/misc/openbangla-keyboard/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, cmake -, pkg-config -, rustPlatform -, rustc -, wrapQtAppsHook -, fcitx5 -, ibus -, qtbase -, zstd -, fetchpatch -, withFcitx5Support ? false -, withIbusSupport ? false +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + cmake, + pkg-config, + rustPlatform, + rustc, + wrapQtAppsHook, + fcitx5, + ibus, + qtbase, + zstd, + fetchpatch, + withFcitx5Support ? false, + withIbusSupport ? false, }: stdenv.mkDerivation rec { @@ -48,14 +49,17 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; - buildInputs = lib.optionals withFcitx5Support [ - fcitx5 - ] ++ lib.optionals withIbusSupport [ - ibus - ] ++ [ - qtbase - zstd - ]; + buildInputs = + lib.optionals withFcitx5Support [ + fcitx5 + ] + ++ lib.optionals withIbusSupport [ + ibus + ] + ++ [ + qtbase + zstd + ]; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; @@ -66,16 +70,18 @@ stdenv.mkDerivation rec { hash = "sha256-XMleyP2h1aBhtjXhuGHyU0BN+tuL12CGoj+kLY5uye0="; }; - cmakeFlags = lib.optionals withFcitx5Support [ - "-DENABLE_FCITX=YES" - ] ++ lib.optionals withIbusSupport [ - "-DENABLE_IBUS=YES" - ]; + cmakeFlags = + lib.optionals withFcitx5Support [ + "-DENABLE_FCITX=YES" + ] + ++ lib.optionals withIbusSupport [ + "-DENABLE_IBUS=YES" + ]; cargoRoot = "src/engine/riti"; postPatch = '' cp ${./Cargo.lock} ${cargoRoot}/Cargo.lock - ''; + ''; meta = { isIbusEngine = withIbusSupport; diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix index 7a9fd06cc295c..465a3749df6d6 100644 --- a/pkgs/applications/misc/openbox-menu/default.nix +++ b/pkgs/applications/misc/openbox-menu/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, glib -, gtk2 -, menu-cache +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gtk2, + menu-cache, }: stdenv.mkDerivation rec { @@ -17,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib gtk2 menu-cache ]; + buildInputs = [ + glib + gtk2 + menu-cache + ]; # Enables SVG support by uncommenting the Makefile patches = [ ./000-enable-svg.patch ]; @@ -41,7 +46,7 @@ stdenv.mkDerivation rec { ''; license = licenses.gpl3Plus; maintainers = [ maintainers.romildo ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "openbox-menu"; }; } diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix index d2419ae25b9ec..bfac320abe8a4 100644 --- a/pkgs/applications/misc/openbrf/default.nix +++ b/pkgs/applications/misc/openbrf/default.nix @@ -1,5 +1,17 @@ -{ mkDerivation, lib, stdenv, fetchFromGitHub, fetchpatch, qtbase, vcg, glew, qmake, libGLU, eigen, libGL }: - +{ + mkDerivation, + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qtbase, + vcg, + glew, + qmake, + libGLU, + eigen, + libGL, +}: mkDerivation { pname = "openbrf"; @@ -21,7 +33,12 @@ mkDerivation { }) ]; - buildInputs = [ qtbase vcg glew eigen ]; + buildInputs = [ + qtbase + vcg + glew + eigen + ]; nativeBuildInputs = [ qmake ]; @@ -39,7 +56,15 @@ mkDerivation { install -Dm644 reference.brf $out/share/openBrf/reference.brf patchelf \ - --set-rpath "${lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU libGL ]}" \ + --set-rpath "${ + lib.makeLibraryPath [ + qtbase + glew + stdenv.cc.cc + libGLU + libGL + ] + }" \ $out/share/openBrf/openBrf mkdir -p "$out/bin" diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix index 8e5009d440c47..cf253fa3bc52c 100644 --- a/pkgs/applications/misc/opencpn/default.nix +++ b/pkgs/applications/misc/opencpn/default.nix @@ -1,50 +1,51 @@ -{ stdenv -, lib -, AppKit -, DarwinTools -, alsa-utils -, at-spi2-core -, cmake -, curl -, dbus -, elfutils -, fetchFromGitHub -, flac -, gitMinimal -, gtk3 -, glew -, gtest -, jasper -, lame -, libGLU -, libarchive -, libdatrie -, libepoxy -, libexif -, libogg -, libopus -, libselinux -, libsepol -, libsndfile -, libthai -, libunarr -, libusb1 -, libvorbis -, libxkbcommon -, lsb-release -, lz4 -, libmpg123 -, makeWrapper -, pcre -, pcre2 -, pkg-config -, portaudio -, rapidjson -, sqlite -, tinyxml -, util-linux -, wxGTK32 -, xorg +{ + stdenv, + lib, + AppKit, + DarwinTools, + alsa-utils, + at-spi2-core, + cmake, + curl, + dbus, + elfutils, + fetchFromGitHub, + flac, + gitMinimal, + gtk3, + glew, + gtest, + jasper, + lame, + libGLU, + libarchive, + libdatrie, + libepoxy, + libexif, + libogg, + libopus, + libselinux, + libsepol, + libsndfile, + libthai, + libunarr, + libusb1, + libvorbis, + libxkbcommon, + lsb-release, + lz4, + libmpg123, + makeWrapper, + pcre, + pcre2, + pkg-config, + portaudio, + rapidjson, + sqlite, + tinyxml, + util-linux, + wxGTK32, + xorg, }: stdenv.mkDerivation (finalAttrs: { @@ -62,74 +63,87 @@ stdenv.mkDerivation (finalAttrs: { sed -i '/fixup_bundle/d; /NO_DEFAULT_PATH/d' CMakeLists.txt ''; - nativeBuildInputs = [ - cmake - pkg-config - gtest - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - lsb-release - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - DarwinTools - makeWrapper - ]; + nativeBuildInputs = + [ + cmake + pkg-config + gtest + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + lsb-release + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + DarwinTools + makeWrapper + ]; - buildInputs = [ - at-spi2-core - curl - dbus - flac - gitMinimal - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - AppKit - ] ++ [ - gtk3 - glew - jasper - libGLU - libarchive - libdatrie - libepoxy - libexif - libogg - libopus - libsndfile - libthai - libunarr - libusb1 - libvorbis - libxkbcommon - lz4 - libmpg123 - pcre - pcre2 - portaudio - rapidjson - sqlite - tinyxml - wxGTK32 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-utils - libselinux - libsepol - util-linux - xorg.libXdmcp - xorg.libXtst - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ - elfutils - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - lame - ]; + buildInputs = + [ + at-spi2-core + curl + dbus + flac + gitMinimal + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + AppKit + ] + ++ [ + gtk3 + glew + jasper + libGLU + libarchive + libdatrie + libepoxy + libexif + libogg + libopus + libsndfile + libthai + libunarr + libusb1 + libvorbis + libxkbcommon + lz4 + libmpg123 + pcre + pcre2 + portaudio + rapidjson + sqlite + tinyxml + wxGTK32 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-utils + libselinux + libsepol + util-linux + xorg.libXdmcp + xorg.libXtst + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ + elfutils + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + lame + ]; - cmakeFlags = [ - "-DOCPN_BUNDLE_DOCS=true" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # Override OpenCPN platform detection. - "-DOCPN_TARGET_TUPLE=unknown;unknown;${stdenv.hostPlatform.linuxArch}" - ]; + cmakeFlags = + [ + "-DOCPN_BUNDLE_DOCS=true" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # Override OpenCPN platform detection. + "-DOCPN_TARGET_TUPLE=unknown;unknown;${stdenv.hostPlatform.linuxArch}" + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (!stdenv.hostPlatform.isx86) [ - "-DSQUISH_USE_SSE=0" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (!stdenv.hostPlatform.isx86) [ + "-DSQUISH_USE_SSE=0" + ] + ); postInstall = lib.optionals stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications @@ -141,7 +155,10 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Concise ChartPlotter/Navigator"; - maintainers = with maintainers; [ kragniz lovesegfault ]; + maintainers = with maintainers; [ + kragniz + lovesegfault + ]; platforms = platforms.unix; license = licenses.gpl2Plus; homepage = "https://opencpn.org/"; diff --git a/pkgs/applications/misc/openrgb-plugins/effects/default.nix b/pkgs/applications/misc/openrgb-plugins/effects/default.nix index 9cdda76f8a138..5723bab1d1c80 100644 --- a/pkgs/applications/misc/openrgb-plugins/effects/default.nix +++ b/pkgs/applications/misc/openrgb-plugins/effects/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitLab -, qtbase -, openrgb -, glib -, openal -, qmake -, pkg-config -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitLab, + qtbase, + openrgb, + glib, + openal, + qmake, + pkg-config, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/misc/openrgb-plugins/hardwaresync/default.nix b/pkgs/applications/misc/openrgb-plugins/hardwaresync/default.nix index 9080f53481fbc..497da16c10a60 100644 --- a/pkgs/applications/misc/openrgb-plugins/hardwaresync/default.nix +++ b/pkgs/applications/misc/openrgb-plugins/hardwaresync/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitLab -, qtbase -, openrgb -, glib -, libgtop -, lm_sensors -, qmake -, pkg-config -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitLab, + qtbase, + openrgb, + glib, + libgtop, + lm_sensors, + qmake, + pkg-config, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/misc/openrgb/default.nix b/pkgs/applications/misc/openrgb/default.nix index 5c158d7ab7679..ac8651b36e379 100644 --- a/pkgs/applications/misc/openrgb/default.nix +++ b/pkgs/applications/misc/openrgb/default.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitLab, qmake, wrapQtAppsHook, libusb1, hidapi, pkg-config, coreutils, mbedtls_2, qtbase, qttools, symlinkJoin, openrgb }: +{ + lib, + stdenv, + fetchFromGitLab, + qmake, + wrapQtAppsHook, + libusb1, + hidapi, + pkg-config, + coreutils, + mbedtls_2, + qtbase, + qttools, + symlinkJoin, + openrgb, +}: stdenv.mkDerivation rec { pname = "openrgb"; @@ -11,8 +26,18 @@ stdenv.mkDerivation rec { hash = "sha256-XBLj4EfupyeVHRc0pVI7hrXFoCNJ7ak2yO0QSfhBsGU="; }; - nativeBuildInputs = [ qmake pkg-config wrapQtAppsHook ]; - buildInputs = [ libusb1 hidapi mbedtls_2 qtbase qttools ]; + nativeBuildInputs = [ + qmake + pkg-config + wrapQtAppsHook + ]; + buildInputs = [ + libusb1 + hidapi + mbedtls_2 + qtbase + qttools + ]; postPatch = '' patchShebangs scripts/build-udev-rules.sh @@ -25,26 +50,31 @@ stdenv.mkDerivation rec { HOME=$TMPDIR $out/bin/openrgb --help > /dev/null ''; - passthru.withPlugins = plugins: - let pluginsDir = symlinkJoin { - name = "openrgb-plugins"; - paths = plugins; - # Remove all library version symlinks except one, - # or they will result in duplicates in the UI. - # We leave the one pointing to the actual library, usually the most - # qualified one (eg. libOpenRGBHardwareSyncPlugin.so.1.0.0). - postBuild = '' - for f in $out/lib/*; do - if [ "$(dirname $(readlink "$f"))" == "." ]; then - rm "$f" - fi - done - ''; - }; - in openrgb.overrideAttrs (old: { - qmakeFlags = old.qmakeFlags or [] ++ [ + passthru.withPlugins = + plugins: + let + pluginsDir = symlinkJoin { + name = "openrgb-plugins"; + paths = plugins; + # Remove all library version symlinks except one, + # or they will result in duplicates in the UI. + # We leave the one pointing to the actual library, usually the most + # qualified one (eg. libOpenRGBHardwareSyncPlugin.so.1.0.0). + postBuild = '' + for f in $out/lib/*; do + if [ "$(dirname $(readlink "$f"))" == "." ]; then + rm "$f" + fi + done + ''; + }; + in + openrgb.overrideAttrs (old: { + qmakeFlags = old.qmakeFlags or [ ] ++ [ # Welcome to Escape Hell, we have backslashes - ''DEFINES+=OPENRGB_EXTRA_PLUGIN_DIRECTORY=\\\""${lib.escape ["\\" "\"" " "] (toString pluginsDir)}/lib\\\""'' + ''DEFINES+=OPENRGB_EXTRA_PLUGIN_DIRECTORY=\\\""${ + lib.escape [ "\\" "\"" " " ] (toString pluginsDir) + }/lib\\\""'' ]; }); diff --git a/pkgs/applications/misc/opentrack/aruco.nix b/pkgs/applications/misc/opentrack/aruco.nix index dddbfe78beabe..291ff7ad24f94 100644 --- a/pkgs/applications/misc/opentrack/aruco.nix +++ b/pkgs/applications/misc/opentrack/aruco.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, cmake, fetchFromGitHub, opencv4 }: +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + opencv4, +}: stdenv.mkDerivation { pname = "opentrack-aruco"; diff --git a/pkgs/applications/misc/opentrack/default.nix b/pkgs/applications/misc/opentrack/default.nix index 13466240ffe0e..8297117956c9c 100644 --- a/pkgs/applications/misc/opentrack/default.nix +++ b/pkgs/applications/misc/opentrack/default.nix @@ -20,10 +20,11 @@ fetchurl, fetchpatch, wineWowPackages, -}: let +}: +let version = "2023.3.0"; - aruco = callPackage ./aruco.nix {}; + aruco = callPackage ./aruco.nix { }; # license.txt inside the zip file is MIT xplaneSdk = fetchzip { @@ -31,63 +32,76 @@ hash = "sha256-tUT9yV1949QVr5VebU/7esg7wwWkyak2TSA/kQSrbeo="; }; in - mkDerivation { - pname = "opentrack"; - inherit version; +mkDerivation { + pname = "opentrack"; + inherit version; - src = fetchFromGitHub { - owner = "opentrack"; - repo = "opentrack"; - rev = "opentrack-${version}"; - hash = "sha256-C0jLS55DcLJh/e5yM8kLG7fhhKvBNllv5HkfCWRIfc4="; - }; + src = fetchFromGitHub { + owner = "opentrack"; + repo = "opentrack"; + rev = "opentrack-${version}"; + hash = "sha256-C0jLS55DcLJh/e5yM8kLG7fhhKvBNllv5HkfCWRIfc4="; + }; - patches = [ - # https://github.com/opentrack/opentrack/pull/1754 - (fetchpatch { - url = "https://github.com/opentrack/opentrack/commit/d501d7e0b237ed0c305525788b423d842ffa356d.patch"; - hash = "sha256-XMGHV78vt/Xn3hS+4V//pqtsdBQCfJPjIXxfwtdXX+Q="; - }) - ]; + patches = [ + # https://github.com/opentrack/opentrack/pull/1754 + (fetchpatch { + url = "https://github.com/opentrack/opentrack/commit/d501d7e0b237ed0c305525788b423d842ffa356d.patch"; + hash = "sha256-XMGHV78vt/Xn3hS+4V//pqtsdBQCfJPjIXxfwtdXX+Q="; + }) + ]; - nativeBuildInputs = [cmake pkg-config ninja copyDesktopItems]; - buildInputs = [qtbase qttools opencv4 procps eigen libXdmcp libevdev aruco] - ++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [ wineWowPackages.stable ]; + nativeBuildInputs = [ + cmake + pkg-config + ninja + copyDesktopItems + ]; + buildInputs = [ + qtbase + qttools + opencv4 + procps + eigen + libXdmcp + libevdev + aruco + ] ++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [ wineWowPackages.stable ]; - env.NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -O3"; - dontWrapQtApps = true; + env.NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -O3"; + dontWrapQtApps = true; - cmakeFlags = [ - "-GNinja" - "-DCMAKE_BUILD_TYPE=Release" - "-DSDK_ARUCO_LIBPATH=${aruco}/lib/libaruco.a" - "-DSDK_XPLANE=${xplaneSdk}" - ] ++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [ "-DSDK_WINE=ON" ]; + cmakeFlags = [ + "-GNinja" + "-DCMAKE_BUILD_TYPE=Release" + "-DSDK_ARUCO_LIBPATH=${aruco}/lib/libaruco.a" + "-DSDK_XPLANE=${xplaneSdk}" + ] ++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [ "-DSDK_WINE=ON" ]; - postInstall = '' - wrapQtApp $out/bin/opentrack - ''; + postInstall = '' + wrapQtApp $out/bin/opentrack + ''; - desktopItems = [ - (makeDesktopItem rec { - name = "opentrack"; - exec = "opentrack"; - icon = fetchurl { - url = "https://github.com/opentrack/opentrack/raw/opentrack-${version}/gui/images/opentrack.png"; - hash = "sha256-9k3jToEpdW14ErbNGHM4c0x/LH7k14RmtvY4dOYnITQ="; - }; - desktopName = name; - genericName = "Head tracking software"; - categories = ["Utility"]; - }) - ]; + desktopItems = [ + (makeDesktopItem rec { + name = "opentrack"; + exec = "opentrack"; + icon = fetchurl { + url = "https://github.com/opentrack/opentrack/raw/opentrack-${version}/gui/images/opentrack.png"; + hash = "sha256-9k3jToEpdW14ErbNGHM4c0x/LH7k14RmtvY4dOYnITQ="; + }; + desktopName = name; + genericName = "Head tracking software"; + categories = [ "Utility" ]; + }) + ]; - meta = with lib; { - homepage = "https://github.com/opentrack/opentrack"; - description = "Head tracking software for MS Windows, Linux, and Apple OSX"; - mainProgram = "opentrack"; - changelog = "https://github.com/opentrack/opentrack/releases/tag/${version}"; - license = licenses.isc; - maintainers = with maintainers; [zaninime]; - }; - } + meta = with lib; { + homepage = "https://github.com/opentrack/opentrack"; + description = "Head tracking software for MS Windows, Linux, and Apple OSX"; + mainProgram = "opentrack"; + changelog = "https://github.com/opentrack/opentrack/releases/tag/${version}"; + license = licenses.isc; + maintainers = with maintainers; [ zaninime ]; + }; +} diff --git a/pkgs/applications/misc/opentx/default.nix b/pkgs/applications/misc/opentx/default.nix index 52d53c44cf3a8..fba0292455a78 100644 --- a/pkgs/applications/misc/opentx/default.nix +++ b/pkgs/applications/misc/opentx/default.nix @@ -1,7 +1,17 @@ -{ lib, mkDerivation, fetchFromGitHub -, cmake, gcc-arm-embedded, python3Packages -, qtbase, qtmultimedia, qttools, SDL, gtest -, dfu-util, avrdude +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + gcc-arm-embedded, + python3Packages, + qtbase, + qtmultimedia, + qttools, + SDL, + gtest, + dfu-util, + avrdude, }: mkDerivation rec { @@ -15,9 +25,18 @@ mkDerivation rec { sha256 = "sha256-F3zykJhKuIpLQSTjn7mcdjEmgRAlwCZpkTaKQR9ve3g="; }; - nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow qttools ]; + nativeBuildInputs = [ + cmake + gcc-arm-embedded + python3Packages.pillow + qttools + ]; - buildInputs = [ qtbase qtmultimedia SDL ]; + buildInputs = [ + qtbase + qtmultimedia + SDL + ]; postPatch = '' sed -i companion/src/burnconfigdialog.cpp \ @@ -45,8 +64,15 @@ mkDerivation rec { mainProgram = "companion" + lib.concatStrings (lib.take 2 (lib.splitVersion version)); homepage = "https://www.open-tx.org/"; license = licenses.gpl2Only; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ elitak lopsided98 ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + elitak + lopsided98 + ]; }; } diff --git a/pkgs/applications/misc/orpie/default.nix b/pkgs/applications/misc/orpie/default.nix index b817c253830b6..0783d9cf16bfe 100644 --- a/pkgs/applications/misc/orpie/default.nix +++ b/pkgs/applications/misc/orpie/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: ocamlPackages.buildDunePackage rec { pname = "orpie"; @@ -18,7 +22,11 @@ ocamlPackages.buildDunePackage rec { ''; nativeBuildInputs = [ ocamlPackages.camlp5 ]; - buildInputs = with ocamlPackages; [ curses num gsl ]; + buildInputs = with ocamlPackages; [ + curses + num + gsl + ]; meta = { inherit (src.meta) homepage; diff --git a/pkgs/applications/misc/osmscout-server/default.nix b/pkgs/applications/misc/osmscout-server/default.nix index 4772ac454fc68..a06269390b4e7 100644 --- a/pkgs/applications/misc/osmscout-server/default.nix +++ b/pkgs/applications/misc/osmscout-server/default.nix @@ -1,23 +1,24 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fetchpatch -, pkg-config -, qmake -, qttools -, boost -, kirigami2 -, kyotocabinet -, libmicrohttpd -, libosmscout -, libpostal -, marisa -, osrm-backend -, protobuf -, qtquickcontrols2 -, qtlocation -, sqlite -, valhalla +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + pkg-config, + qmake, + qttools, + boost, + kirigami2, + kyotocabinet, + libmicrohttpd, + libosmscout, + libpostal, + marisa, + osrm-backend, + protobuf, + qtquickcontrols2, + qtlocation, + sqlite, + valhalla, }: let @@ -40,11 +41,26 @@ mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ qmake pkg-config qttools ]; + nativeBuildInputs = [ + qmake + pkg-config + qttools + ]; buildInputs = [ - kirigami2 qtquickcontrols2 qtlocation - valhalla libosmscout osrm-backend libmicrohttpd - libpostal sqlite marisa kyotocabinet boost protobuf date + kirigami2 + qtquickcontrols2 + qtlocation + valhalla + libosmscout + osrm-backend + libmicrohttpd + libpostal + sqlite + marisa + kyotocabinet + boost + protobuf + date ]; qmakeFlags = [ diff --git a/pkgs/applications/misc/parsec/bin.nix b/pkgs/applications/misc/parsec/bin.nix index b94c65c081254..a1aa2bf422ed0 100644 --- a/pkgs/applications/misc/parsec/bin.nix +++ b/pkgs/applications/misc/parsec/bin.nix @@ -1,27 +1,28 @@ -{ stdenvNoCC -, stdenv -, lib -, dpkg -, autoPatchelfHook -, makeWrapper -, fetchurl -, alsa-lib -, openssl -, udev -, libglvnd -, libX11 -, libXcursor -, libXi -, libXrandr -, libXfixes -, libpulseaudio -, libva -, ffmpeg_6 -, libpng -, libjpeg8 -, curl -, vulkan-loader -, zenity +{ + stdenvNoCC, + stdenv, + lib, + dpkg, + autoPatchelfHook, + makeWrapper, + fetchurl, + alsa-lib, + openssl, + udev, + libglvnd, + libX11, + libXcursor, + libXi, + libXrandr, + libXfixes, + libpulseaudio, + libva, + ffmpeg_6, + libpng, + libjpeg8, + curl, + vulkan-loader, + zenity, }: stdenvNoCC.mkDerivation { @@ -33,7 +34,11 @@ stdenvNoCC.mkDerivation { sha256 = "sha256-9F56u+jYj2CClhbnGlLi65FxS1Vq00coxwu7mjVTY1w="; }; - nativeBuildInputs = [ dpkg autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + makeWrapper + ]; buildInputs = [ stdenv.cc.cc # libstdc++ @@ -108,7 +113,10 @@ stdenvNoCC.mkDerivation { changelog = "https://parsec.app/changelog"; description = "Remote streaming service client"; license = licenses.unfree; - maintainers = with maintainers; [ arcnmx pabloaul ]; + maintainers = with maintainers; [ + arcnmx + pabloaul + ]; platforms = platforms.linux; mainProgram = "parsecd"; }; diff --git a/pkgs/applications/misc/pastel/default.nix b/pkgs/applications/misc/pastel/default.nix index 5164e294a89bc..e8b81cfeb59de 100644 --- a/pkgs/applications/misc/pastel/default.nix +++ b/pkgs/applications/misc/pastel/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "pastel"; @@ -19,7 +25,10 @@ rustPlatform.buildRustPackage rec { description = "Command-line tool to generate, analyze, convert and manipulate colors"; homepage = "https://github.com/sharkdp/pastel"; changelog = "https://github.com/sharkdp/pastel/releases/tag/v${version}"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ davidtwco ]; mainProgram = "pastel"; }; diff --git a/pkgs/applications/misc/pattypan/default.nix b/pkgs/applications/misc/pattypan/default.nix index b5f48c51de803..a02c8ae92f531 100644 --- a/pkgs/applications/misc/pattypan/default.nix +++ b/pkgs/applications/misc/pattypan/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, ant -, jdk -, makeWrapper -, wrapGAppsHook3 -, makeDesktopItem -, copyDesktopItems -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk, + makeWrapper, + wrapGAppsHook3, + makeDesktopItem, + copyDesktopItems, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix index f7fa1223a34c6..661117bcaacee 100644 --- a/pkgs/applications/misc/pdfpc/default.nix +++ b/pkgs/applications/misc/pdfpc/default.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, vala, gtk3, libgee -, poppler, libpthreadstubs, gstreamer, gst-plugins-base, gst-plugins-good, gst-libav, gobject-introspection, wrapGAppsHook3 -, qrencode, webkitgtk_4_0, discount, json-glib, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + vala, + gtk3, + libgee, + poppler, + libpthreadstubs, + gstreamer, + gst-plugins-base, + gst-plugins-good, + gst-libav, + gobject-introspection, + wrapGAppsHook3, + qrencode, + webkitgtk_4_0, + discount, + json-glib, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "pdfpc"; @@ -14,14 +34,18 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - cmake pkg-config vala + cmake + pkg-config + vala # For setup hook gobject-introspection wrapGAppsHook3 ]; buildInputs = [ - gtk3 libgee poppler + gtk3 + libgee + poppler libpthreadstubs gstreamer gst-plugins-base diff --git a/pkgs/applications/misc/pdfsam-basic/default.nix b/pkgs/applications/misc/pdfsam-basic/default.nix index 79d053fa20839..a67a1821d554d 100644 --- a/pkgs/applications/misc/pdfsam-basic/default.nix +++ b/pkgs/applications/misc/pdfsam-basic/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, makeDesktopItem, fetchurl, jdk21, wrapGAppsHook3, glib }: +{ + lib, + stdenv, + makeDesktopItem, + fetchurl, + jdk21, + wrapGAppsHook3, + glib, +}: stdenv.mkDerivation rec { pname = "pdfsam-basic"; diff --git a/pkgs/applications/misc/pe-bear/default.nix b/pkgs/applications/misc/pe-bear/default.nix index 7ee5f3167434f..c85fc3f9403be 100644 --- a/pkgs/applications/misc/pe-bear/default.nix +++ b/pkgs/applications/misc/pe-bear/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/peaclock/default.nix b/pkgs/applications/misc/peaclock/default.nix index 57f1a17685d8f..7b495ed4dc30f 100644 --- a/pkgs/applications/misc/peaclock/default.nix +++ b/pkgs/applications/misc/peaclock/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libpthreadstubs, icu }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libpthreadstubs, + icu, +}: stdenv.mkDerivation rec { pname = "peaclock"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libpthreadstubs icu ]; + buildInputs = [ + libpthreadstubs + icu + ]; meta = with lib; { description = "Clock, timer, and stopwatch for the terminal"; diff --git a/pkgs/applications/misc/pgmodeler/default.nix b/pkgs/applications/misc/pgmodeler/default.nix index 59c732ec81d06..b1dcadb75b34c 100644 --- a/pkgs/applications/misc/pgmodeler/default.nix +++ b/pkgs/applications/misc/pgmodeler/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, copyDesktopItems -, fetchFromGitHub -, makeDesktopItem -, wrapQtAppsHook -, pkg-config -, qmake -, qtwayland -, qtsvg -, postgresql -, cups -, libxml2 +{ + lib, + stdenv, + copyDesktopItems, + fetchFromGitHub, + makeDesktopItem, + wrapQtAppsHook, + pkg-config, + qmake, + qtwayland, + qtsvg, + postgresql, + cups, + libxml2, }: stdenv.mkDerivation rec { @@ -24,19 +25,36 @@ stdenv.mkDerivation rec { sha256 = "sha256-VbAGdMeuIQLzcHwYoPbkC0UjzxXgW4BGlYfz32oHmms="; }; - nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook copyDesktopItems ]; - qmakeFlags = [ "pgmodeler.pro" "CONFIG+=release" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "PGSQL_INC=${lib.getDev postgresql}/include" - "PGSQL_LIB=${lib.getLib postgresql}/lib/libpq.dylib" - "XML_INC=${libxml2.dev}/include/libxml2" - "XML_LIB=${libxml2.out}/lib/libxml2.dylib" - "PREFIX=${placeholder "out"}/Applications/pgModeler.app/Contents" + nativeBuildInputs = [ + pkg-config + qmake + wrapQtAppsHook + copyDesktopItems ]; + qmakeFlags = + [ + "pgmodeler.pro" + "CONFIG+=release" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "PGSQL_INC=${lib.getDev postgresql}/include" + "PGSQL_LIB=${lib.getLib postgresql}/lib/libpq.dylib" + "XML_INC=${libxml2.dev}/include/libxml2" + "XML_LIB=${libxml2.out}/lib/libxml2.dylib" + "PREFIX=${placeholder "out"}/Applications/pgModeler.app/Contents" + ]; # todo: libpq would suffice here. Unfortunately this won't work, if one uses only postgresql.lib here. - buildInputs = [ postgresql qtsvg ] + buildInputs = + [ + postgresql + qtsvg + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cups libxml2 ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cups + libxml2 + ]; desktopItems = [ (makeDesktopItem { @@ -51,15 +69,17 @@ stdenv.mkDerivation rec { }) ]; - postInstall = '' - install -Dm444 apps/pgmodeler/res/windows_ico.ico $out/share/icons/hicolor/256x256/apps/pgmodeler.ico - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/bin - for item in pgmodeler pgmodeler-{cli,se,ch} - do - ln -s $out/Applications/pgModeler.app/Contents/MacOS/$item $out/bin - done - ''; + postInstall = + '' + install -Dm444 apps/pgmodeler/res/windows_ico.ico $out/share/icons/hicolor/256x256/apps/pgmodeler.ico + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/bin + for item in pgmodeler pgmodeler-{cli,se,ch} + do + ln -s $out/Applications/pgModeler.app/Contents/MacOS/$item $out/bin + done + ''; dontWrapQtApps = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix index 124b43f1bfae5..cba463516a688 100644 --- a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix +++ b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, cmake, extra-cmake-modules, plasma-framework, kwindowsystem, plasma-pa, fetchFromGitHub }: +{ + lib, + stdenv, + cmake, + extra-cmake-modules, + plasma-framework, + kwindowsystem, + plasma-pa, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "plasma-applet-volumewin7mixer"; @@ -14,8 +23,15 @@ stdenv.mkDerivation rec { # Adds the CMakeLists.txt not provided by upstream patches = [ ./cmake.patch ]; postPatch = "rm build"; - nativeBuildInputs = [ cmake extra-cmake-modules ]; - buildInputs = [ plasma-framework kwindowsystem plasma-pa ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = [ + plasma-framework + kwindowsystem + plasma-pa + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/misc/plasma-theme-switcher/default.nix b/pkgs/applications/misc/plasma-theme-switcher/default.nix index ecdece47c0b2e..324cca93099f1 100644 --- a/pkgs/applications/misc/plasma-theme-switcher/default.nix +++ b/pkgs/applications/misc/plasma-theme-switcher/default.nix @@ -1,5 +1,11 @@ { - stdenv, lib, cmake, extra-cmake-modules, fetchFromGitHub, qtbase, kdeFrameworks + stdenv, + lib, + cmake, + extra-cmake-modules, + fetchFromGitHub, + qtbase, + kdeFrameworks, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/plater/default.nix b/pkgs/applications/misc/plater/default.nix index e2e1906926a72..80cd745f8b9af 100644 --- a/pkgs/applications/misc/plater/default.nix +++ b/pkgs/applications/misc/plater/default.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, cmake -, fetchFromGitHub -, lib -, libGLU -, makeDesktopItem -, qtbase -, wrapQtAppsHook +{ + mkDerivation, + cmake, + fetchFromGitHub, + lib, + libGLU, + makeDesktopItem, + qtbase, + wrapQtAppsHook, }: mkDerivation rec { @@ -19,8 +20,14 @@ mkDerivation rec { sha256 = "0r20mbzd16zv1aiadjqdy7z6sp09rr6lgfxhvir4ll3cpakkynr4"; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; - buildInputs = [ libGLU qtbase ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; + buildInputs = [ + libGLU + qtbase + ]; desktopItem = makeDesktopItem { name = pname; @@ -28,7 +35,10 @@ mkDerivation rec { icon = pname; desktopName = "Ideamaker"; genericName = meta.description; - categories = ["Utility" "Engineering"]; + categories = [ + "Utility" + "Engineering" + ]; }; postInstall = '' diff --git a/pkgs/applications/misc/pomodoro/default.nix b/pkgs/applications/misc/pomodoro/default.nix index d9f76a75451b8..b0afdcf23538d 100644 --- a/pkgs/applications/misc/pomodoro/default.nix +++ b/pkgs/applications/misc/pomodoro/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Foundation }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Foundation, +}: rustPlatform.buildRustPackage rec { pname = "pomodoro"; diff --git a/pkgs/applications/misc/protonup-qt/default.nix b/pkgs/applications/misc/protonup-qt/default.nix index f5c47507893a2..20e51b4897cc1 100644 --- a/pkgs/applications/misc/protonup-qt/default.nix +++ b/pkgs/applications/misc/protonup-qt/default.nix @@ -1,4 +1,8 @@ -{ appimageTools, fetchurl, lib }: +{ + appimageTools, + fetchurl, + lib, +}: let pname = "protonup-qt"; version = "2.10.2"; diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix index 358dc6781a450..5d137f557fef5 100644 --- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix +++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, fetchpatch, makeDesktopItem, wxGTK31, prusa-slicer, libspnav }: +{ + lib, + fetchFromGitHub, + fetchpatch, + makeDesktopItem, + wxGTK31, + prusa-slicer, + libspnav, +}: let appname = "SuperSlicer"; pname = "super-slicer"; @@ -41,65 +49,76 @@ let }; }; - override = { version, hash, patches }: super: { - inherit version pname patches; + override = + { + version, + hash, + patches, + }: + super: { + inherit version pname patches; - src = fetchFromGitHub { - owner = "supermerill"; - repo = "SuperSlicer"; - inherit hash; - rev = version; - fetchSubmodules = true; - }; + src = fetchFromGitHub { + owner = "supermerill"; + repo = "SuperSlicer"; + inherit hash; + rev = version; + fetchSubmodules = true; + }; - # - wxScintilla is not used on macOS - # - Partially applied upstream changes cause a bug when trying to link against a nonexistent libexpat - postPatch = super.postPatch + '' - substituteInPlace src/CMakeLists.txt \ - --replace "scintilla" "" \ - --replace "list(APPEND wxWidgets_LIBRARIES libexpat)" "list(APPEND wxWidgets_LIBRARIES EXPAT::EXPAT)" + # - wxScintilla is not used on macOS + # - Partially applied upstream changes cause a bug when trying to link against a nonexistent libexpat + postPatch = + super.postPatch + + '' + substituteInPlace src/CMakeLists.txt \ + --replace "scintilla" "" \ + --replace "list(APPEND wxWidgets_LIBRARIES libexpat)" "list(APPEND wxWidgets_LIBRARIES EXPAT::EXPAT)" - substituteInPlace src/libslic3r/CMakeLists.txt \ - --replace "libexpat" "EXPAT::EXPAT" + substituteInPlace src/libslic3r/CMakeLists.txt \ + --replace "libexpat" "EXPAT::EXPAT" - # fixes GCC 14 error - substituteInPlace src/libslic3r/MeshBoolean.cpp \ - --replace-fail 'auto &face' 'auto face' \ - --replace-fail 'auto &vi' 'auto vi' - ''; + # fixes GCC 14 error + substituteInPlace src/libslic3r/MeshBoolean.cpp \ + --replace-fail 'auto &face' 'auto face' \ + --replace-fail 'auto &vi' 'auto vi' + ''; - # We don't need PS overrides anymore, and gcode-viewer is embedded in the binary. - postInstall = null; - separateDebugInfo = true; + # We don't need PS overrides anymore, and gcode-viewer is embedded in the binary. + postInstall = null; + separateDebugInfo = true; - buildInputs = super.buildInputs ++ [ - libspnav - ]; + buildInputs = super.buildInputs ++ [ + libspnav + ]; - desktopItems = [ - (makeDesktopItem { - name = "superslicer"; - exec = "superslicer"; - icon = appname; - comment = description; - desktopName = appname; - genericName = "3D printer tool"; - categories = [ "Development" ]; - }) - ]; + desktopItems = [ + (makeDesktopItem { + name = "superslicer"; + exec = "superslicer"; + icon = appname; + comment = description; + desktopName = appname; + genericName = "3D printer tool"; + categories = [ "Development" ]; + }) + ]; - meta = with lib; { - inherit description; - homepage = "https://github.com/supermerill/SuperSlicer"; - license = licenses.agpl3Plus; - maintainers = with maintainers; [ cab404 tmarkus ]; - mainProgram = "superslicer"; - }; + meta = with lib; { + inherit description; + homepage = "https://github.com/supermerill/SuperSlicer"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ + cab404 + tmarkus + ]; + mainProgram = "superslicer"; + }; - passthru = allVersions; + passthru = allVersions; - }; - wxGTK31-prusa = wxGTK31.overrideAttrs (old: rec { + }; + wxGTK31-prusa = wxGTK31.overrideAttrs (old: rec { pname = "wxwidgets-prusa3d-patched"; version = "3.1.4"; src = fetchFromGitHub { @@ -111,6 +130,8 @@ let }; }); prusa-slicer-wxGTK-override = prusa-slicer.override { wxGTK-override = wxGTK31-prusa; }; - allVersions = builtins.mapAttrs (_name: version: (prusa-slicer-wxGTK-override.overrideAttrs (override version))) versions; + allVersions = builtins.mapAttrs ( + _name: version: (prusa-slicer-wxGTK-override.overrideAttrs (override version)) + ) versions; in allVersions.stable diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix index 1eff0355412c5..31f19f4fbbe04 100644 --- a/pkgs/applications/misc/pueue/default.nix +++ b/pkgs/applications/misc/pueue/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, Libsystem -, SystemConfiguration -, installShellFiles -, libiconv -, rustPlatform +{ + lib, + stdenv, + fetchFromGitHub, + Libsystem, + SystemConfiguration, + installShellFiles, + libiconv, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -21,11 +22,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-sTpxcJs5I7LzVw56ka5PlFixJSiJeCae9serS0FhmuA="; - nativeBuildInputs = [ - installShellFiles - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - rustPlatform.bindgenHook - ]; + nativeBuildInputs = + [ + installShellFiles + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + rustPlatform.bindgenHook + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Libsystem diff --git a/pkgs/applications/misc/pure-maps/default.nix b/pkgs/applications/misc/pure-maps/default.nix index c3fdc5b7ed66c..f93c1e6cd8535 100644 --- a/pkgs/applications/misc/pure-maps/default.nix +++ b/pkgs/applications/misc/pure-maps/default.nix @@ -1,7 +1,18 @@ -{ lib, mkDerivation, fetchFromGitHub -, cmake, qttools, kirigami2, qtquickcontrols2, qtlocation, qtsensors -, nemo-qml-plugin-dbus, mapbox-gl-qml, s2geometry -, python3, pyotherside +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + qttools, + kirigami2, + qtquickcontrols2, + qtlocation, + qtsensors, + nemo-qml-plugin-dbus, + mapbox-gl-qml, + s2geometry, + python3, + pyotherside, }: mkDerivation rec { @@ -17,12 +28,21 @@ mkDerivation rec { }; nativeBuildInputs = [ - cmake python3 qttools python3.pkgs.wrapPython + cmake + python3 + qttools + python3.pkgs.wrapPython ]; buildInputs = [ - kirigami2 qtquickcontrols2 qtlocation qtsensors - nemo-qml-plugin-dbus pyotherside mapbox-gl-qml s2geometry + kirigami2 + qtquickcontrols2 + qtlocation + qtsensors + nemo-qml-plugin-dbus + pyotherside + mapbox-gl-qml + s2geometry ]; cmakeFlags = [ "-DFLAVOR=kirigami" ]; diff --git a/pkgs/applications/misc/q4wine/default.nix b/pkgs/applications/misc/q4wine/default.nix index a06dbc8f47fc5..b3cbb95729234 100644 --- a/pkgs/applications/misc/q4wine/default.nix +++ b/pkgs/applications/misc/q4wine/default.nix @@ -1,7 +1,18 @@ -{ lib, fetchFromGitHub, mkDerivation, cmake, sqlite -, qtbase, qtsvg, qttools, wrapQtAppsHook -, icoutils # build and runtime deps. -, wget, fuseiso, wine, which # runtime deps. +{ + lib, + fetchFromGitHub, + mkDerivation, + cmake, + sqlite, + qtbase, + qtsvg, + qttools, + wrapQtAppsHook, + icoutils, # build and runtime deps. + wget, + fuseiso, + wine, + which, # runtime deps. }: mkDerivation rec { @@ -16,15 +27,30 @@ mkDerivation rec { }; buildInputs = [ - sqlite icoutils qtbase qtsvg qttools + sqlite + icoutils + qtbase + qtsvg + qttools ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; # Add runtime deps. postInstall = '' wrapProgram $out/bin/q4wine \ - --prefix PATH : ${lib.makeBinPath [ icoutils wget fuseiso wine which ]} + --prefix PATH : ${ + lib.makeBinPath [ + icoutils + wget + fuseiso + wine + which + ] + } ''; meta = with lib; { diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix index 806d1df05fc44..069e5ae7b48a6 100644 --- a/pkgs/applications/misc/qMasterPassword/default.nix +++ b/pkgs/applications/misc/qMasterPassword/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 -, libXtst -, cmake -, qtbase -, qttools -, qtwayland -, openssl -, libscrypt -, wrapQtAppsHook -, testers -, qMasterPassword -, x11Support ? true -, waylandSupport ? false +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXtst, + cmake, + qtbase, + qttools, + qtwayland, + openssl, + libscrypt, + wrapQtAppsHook, + testers, + qMasterPassword, + x11Support ? true, + waylandSupport ? false, }: stdenv.mkDerivation rec { @@ -27,29 +28,47 @@ stdenv.mkDerivation rec { hash = "sha256-4qxPjrf6r2S0l/hcs6bqfJm56jdDz+0a0xEkqGBYGBs="; }; - buildInputs = [ qtbase qtwayland openssl libscrypt ] ++ lib.optionals x11Support [ libX11 libXtst ]; - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; + buildInputs = + [ + qtbase + qtwayland + openssl + libscrypt + ] + ++ lib.optionals x11Support [ + libX11 + libXtst + ]; + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; cmakeFlags = lib.optionals waylandSupport [ "-DDISABLE_FILL_FORM_SHORTCUTS=1" ]; # Upstream install is mostly defunct. It hardcodes target.path and doesn't # install anything but the binary. - installPhase = if stdenv.hostPlatform.isDarwin then '' - mkdir -p "$out"/{Applications,bin} - mv qMasterPassword.app "$out"/Applications/ - ln -s ../Applications/qMasterPassword.app/Contents/MacOS/qMasterPassword "$out"/bin/qMasterPassword - '' else '' - mkdir -p $out/bin - mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps,qMasterPassword/translations} - cp qMasterPassword $out/bin - cp $src/data/qMasterPassword.desktop $out/share/applications - cp $src/LICENSE $src/README.md $out/share/doc/qMasterPassword - cp $src/data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png - cp $src/data/icons/* $out/share/icons/qmasterpassword - cp ./translations/translation_de.qm $out/share/qMasterPassword/translations/translation_de.qm - cp ./translations/translation_pl.qm $out/share/qMasterPassword/translations/translation_pl.qm - ''; + installPhase = + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p "$out"/{Applications,bin} + mv qMasterPassword.app "$out"/Applications/ + ln -s ../Applications/qMasterPassword.app/Contents/MacOS/qMasterPassword "$out"/bin/qMasterPassword + '' + else + '' + mkdir -p $out/bin + mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps,qMasterPassword/translations} + cp qMasterPassword $out/bin + cp $src/data/qMasterPassword.desktop $out/share/applications + cp $src/LICENSE $src/README.md $out/share/doc/qMasterPassword + cp $src/data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png + cp $src/data/icons/* $out/share/icons/qmasterpassword + cp ./translations/translation_de.qm $out/share/qMasterPassword/translations/translation_de.qm + cp ./translations/translation_pl.qm $out/share/qMasterPassword/translations/translation_pl.qm + ''; passthru = { tests.version = testers.testVersion { diff --git a/pkgs/applications/misc/qelectrotech/default.nix b/pkgs/applications/misc/qelectrotech/default.nix index 705618bd2f01c..a7dc6d32d83e5 100644 --- a/pkgs/applications/misc/qelectrotech/default.nix +++ b/pkgs/applications/misc/qelectrotech/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, mkDerivation -, fetchzip -, installShellFiles -, pkg-config -, qmake -, qtbase -, kcoreaddons -, kwidgetsaddons +{ + lib, + stdenv, + mkDerivation, + fetchzip, + installShellFiles, + pkg-config, + qmake, + qtbase, + kcoreaddons, + kwidgetsaddons, }: mkDerivation rec { diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix index 806a2fed8943a..e61fbe2864e50 100644 --- a/pkgs/applications/misc/qlcplus/default.nix +++ b/pkgs/applications/misc/qlcplus/default.nix @@ -1,6 +1,19 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, udev -, qtmultimedia, qtscript, qtserialport, alsa-lib, ola, libftdi1, libusb-compat-0_1 -, libsndfile, libmad +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + pkg-config, + udev, + qtmultimedia, + qtscript, + qtserialport, + alsa-lib, + ola, + libftdi1, + libusb-compat-0_1, + libsndfile, + libmad, }: mkDerivation rec { @@ -14,9 +27,21 @@ mkDerivation rec { sha256 = "sha256-AKmPxHOlMtea3q0NDULp3XfJ0JnYeF/iFUJw0dDOiio="; }; - nativeBuildInputs = [ qmake pkg-config ]; + nativeBuildInputs = [ + qmake + pkg-config + ]; buildInputs = [ - udev qtmultimedia qtscript qtserialport alsa-lib ola libftdi1 libusb-compat-0_1 libsndfile libmad + udev + qtmultimedia + qtscript + qtserialport + alsa-lib + ola + libftdi1 + libusb-compat-0_1 + libsndfile + libmad ]; qmakeFlags = [ "INSTALLROOT=$(out)" ]; diff --git a/pkgs/applications/misc/qolibri/default.nix b/pkgs/applications/misc/qolibri/default.nix index 4b8213d46d607..bd4dfaf58a85c 100644 --- a/pkgs/applications/misc/qolibri/default.nix +++ b/pkgs/applications/misc/qolibri/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, ninja -, qttools -, qtwebengine -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + ninja, + qttools, + qtwebengine, + wrapQtAppsHook, }: let diff --git a/pkgs/applications/misc/qsudo/default.nix b/pkgs/applications/misc/qsudo/default.nix index a573ba814a427..d379b95eb2bb8 100644 --- a/pkgs/applications/misc/qsudo/default.nix +++ b/pkgs/applications/misc/qsudo/default.nix @@ -1,9 +1,10 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, qmake -, qtbase -, sudo +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + sudo, }: mkDerivation rec { diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix index 68baf5e08ebb3..523a91b92f4f7 100644 --- a/pkgs/applications/misc/qsyncthingtray/default.nix +++ b/pkgs/applications/misc/qsyncthingtray/default.nix @@ -1,34 +1,49 @@ -{ mkDerivation, stdenv, lib, fetchFromGitHub, fetchpatch, procps -, qtbase, qtwebengine, qtwebkit -, cmake -, syncthing -, preferQWebView ? false -, preferNative ? true }: +{ + mkDerivation, + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + procps, + qtbase, + qtwebengine, + qtwebkit, + cmake, + syncthing, + preferQWebView ? false, + preferNative ? true, +}: mkDerivation rec { version = "0.5.8"; pname = "qsyncthingtray"; src = fetchFromGitHub { - owner = "sieren"; - repo = "QSyncthingTray"; - rev = version; + owner = "sieren"; + repo = "QSyncthingTray"; + rev = version; sha256 = "1n9g4j7qznvg9zl6x163pi9f7wsc3x6q76i33psnm7x2v1i22x5w"; }; - buildInputs = [ qtbase qtwebengine ] ++ lib.optional preferQWebView qtwebkit; + buildInputs = [ + qtbase + qtwebengine + ] ++ lib.optional preferQWebView qtwebkit; nativeBuildInputs = [ cmake ]; - cmakeFlags = [ ] + cmakeFlags = + [ ] ++ lib.optional preferQWebView "-DQST_BUILD_WEBKIT=1" - ++ lib.optional preferNative "-DQST_BUILD_NATIVEBROWSER=1"; + ++ lib.optional preferNative "-DQST_BUILD_NATIVEBROWSER=1"; - patches = [ (fetchpatch { - name = "support_native_browser.patch"; - url = "https://patch-diff.githubusercontent.com/raw/sieren/QSyncthingTray/pull/225.patch"; - sha256 = "0w665xdlsbjxs977pdpzaclxpswf7xys1q3rxriz181lhk2y66yy"; - }) ] ++ lib.optional (!preferQWebView && !preferNative) ./qsyncthingtray-0.5.8-qt-5.6.3.patch; + patches = [ + (fetchpatch { + name = "support_native_browser.patch"; + url = "https://patch-diff.githubusercontent.com/raw/sieren/QSyncthingTray/pull/225.patch"; + sha256 = "0w665xdlsbjxs977pdpzaclxpswf7xys1q3rxriz181lhk2y66yy"; + }) + ] ++ lib.optional (!preferQWebView && !preferNative) ./qsyncthingtray-0.5.8-qt-5.6.3.patch; postPatch = '' ${lib.optionalString stdenv.hostPlatform.isLinux '' @@ -43,26 +58,33 @@ mkDerivation rec { ''} ''; - installPhase = let qst = "qsyncthingtray"; in '' - runHook preInstall + installPhase = + let + qst = "qsyncthingtray"; + in + '' + runHook preInstall - mkdir -p $out/bin - install -m755 QSyncthingTray $out/bin/${qst} - ln -s $out/bin/${qst} $out/bin/QSyncthingTray + mkdir -p $out/bin + install -m755 QSyncthingTray $out/bin/${qst} + ln -s $out/bin/${qst} $out/bin/QSyncthingTray - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { homepage = "https://github.com/sieren/QSyncthingTray/"; description = "Traybar Application for Syncthing written in C++"; longDescription = '' - A cross-platform status bar for Syncthing. - Currently supports macOS, Windows and Linux. - Written in C++ with Qt. + A cross-platform status bar for Syncthing. + Currently supports macOS, Windows and Linux. + Written in C++ with Qt. ''; license = licenses.lgpl3; - maintainers = with maintainers; [ zraexy peterhoeg ]; + maintainers = with maintainers; [ + zraexy + peterhoeg + ]; platforms = platforms.all; broken = !preferNative || stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/applications/misc/qt-box-editor/default.nix b/pkgs/applications/misc/qt-box-editor/default.nix index 937641021a5c2..7d584f78645dd 100644 --- a/pkgs/applications/misc/qt-box-editor/default.nix +++ b/pkgs/applications/misc/qt-box-editor/default.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, qtbase -, qtsvg -, qmake -, leptonica -, tesseract4 +{ + mkDerivation, + lib, + fetchFromGitHub, + qtbase, + qtsvg, + qmake, + leptonica, + tesseract4, }: mkDerivation { @@ -19,7 +20,12 @@ mkDerivation { hash = "sha256-3dWnAu0CLO3atjbC1zJEnL3vzsIEecDDDhW3INMfCv4="; }; - buildInputs = [ qtbase qtsvg leptonica tesseract4 ]; + buildInputs = [ + qtbase + qtsvg + leptonica + tesseract4 + ]; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/misc/qt-video-wlr/default.nix b/pkgs/applications/misc/qt-video-wlr/default.nix index dc634a8f2ad8b..7b3fe39b6d1ae 100644 --- a/pkgs/applications/misc/qt-video-wlr/default.nix +++ b/pkgs/applications/misc/qt-video-wlr/default.nix @@ -1,13 +1,30 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, meson, cmake, ninja, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia, layer-shell-qt, wayland-scanner }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + meson, + cmake, + ninja, + gst_all_1, + wrapQtAppsHook, + qtbase, + qtmultimedia, + layer-shell-qt, + wayland-scanner, +}: let - gstreamerPath = with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]; -in stdenv.mkDerivation rec { + gstreamerPath = + with gst_all_1; + lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]; +in +stdenv.mkDerivation rec { pname = "qt-video-wlr"; version = "2023-07-22"; @@ -43,7 +60,10 @@ in stdenv.mkDerivation rec { mainProgram = "qt-video-wlr"; homepage = "https://github.com/xdavidwu/qt-video-wlr"; license = licenses.mit; - maintainers = with maintainers; [ fionera rewine ]; + maintainers = with maintainers; [ + fionera + rewine + ]; platforms = with platforms; linux; }; } diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix index ce265d5f67fd4..89ed268ff5ced 100644 --- a/pkgs/applications/misc/qtbitcointrader/default.nix +++ b/pkgs/applications/misc/qtbitcointrader/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, qt5, mkDerivation }: +{ + lib, + fetchFromGitHub, + qt5, + mkDerivation, +}: mkDerivation rec { pname = "qtbitcointrader"; @@ -11,7 +16,11 @@ mkDerivation rec { sha256 = "sha256-u3+Kwn8KunYUpWCd55TQuVVfoSp8hdti93d6hk7Uqx8="; }; - buildInputs = [ qt5.qtbase qt5.qtmultimedia qt5.qtscript ]; + buildInputs = [ + qt5.qtbase + qt5.qtmultimedia + qt5.qtscript + ]; postUnpack = "sourceRoot=\${sourceRoot}/src"; diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix index e37056e86a56a..56a43e10e360a 100644 --- a/pkgs/applications/misc/qtpass/default.nix +++ b/pkgs/applications/misc/qtpass/default.nix @@ -1,6 +1,17 @@ -{ fetchFromGitHub, lib, stdenv -, git, gnupg, pass, pwgen, qrencode -, qtbase, qtsvg, qttools, qmake, wrapQtAppsHook +{ + fetchFromGitHub, + lib, + stdenv, + git, + gnupg, + pass, + pwgen, + qrencode, + qtbase, + qtsvg, + qttools, + qmake, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -19,9 +30,19 @@ stdenv.mkDerivation rec { --replace "/usr/bin/qrencode" "${qrencode}/bin/qrencode" ''; - buildInputs = [ git gnupg pass qtbase qtsvg ]; + buildInputs = [ + git + gnupg + pass + qtbase + qtsvg + ]; - nativeBuildInputs = [ qmake qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + qttools + wrapQtAppsHook + ]; qmakeFlags = [ # setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too: @@ -29,7 +50,14 @@ stdenv.mkDerivation rec { ]; qtWrapperArgs = [ - "--suffix PATH : ${lib.makeBinPath [ git gnupg pass pwgen ]}" + "--suffix PATH : ${ + lib.makeBinPath [ + git + gnupg + pass + pwgen + ] + }" ]; postInstall = '' diff --git a/pkgs/applications/misc/razergenie/default.nix b/pkgs/applications/misc/razergenie/default.nix index 9b18c60447e39..ca5ac7f4a42ea 100644 --- a/pkgs/applications/misc/razergenie/default.nix +++ b/pkgs/applications/misc/razergenie/default.nix @@ -1,14 +1,23 @@ -{ stdenv, fetchFromGitHub, lib, meson, ninja, pkg-config, qtbase, qttools -, wrapQtAppsHook -, enableExperimental ? false -, includeMatrixDiscovery ? false +{ + stdenv, + fetchFromGitHub, + lib, + meson, + ninja, + pkg-config, + qtbase, + qttools, + wrapQtAppsHook, + enableExperimental ? false, + includeMatrixDiscovery ? false, }: let version = "0.9.0"; pname = "razergenie"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; src = fetchFromGitHub { @@ -19,11 +28,15 @@ in stdenv.mkDerivation { }; nativeBuildInputs = [ - pkg-config meson ninja wrapQtAppsHook + pkg-config + meson + ninja + wrapQtAppsHook ]; buildInputs = [ - qtbase qttools + qtbase + qttools ]; mesonFlags = [ @@ -36,7 +49,10 @@ in stdenv.mkDerivation { description = "Qt application for configuring your Razer devices under GNU/Linux"; mainProgram = "razergenie"; license = licenses.gpl3; - maintainers = with maintainers; [ f4814n Mogria ]; + maintainers = with maintainers; [ + f4814n + Mogria + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/reddsaver/default.nix b/pkgs/applications/misc/reddsaver/default.nix index c544dc44888f0..46e684d0d36e4 100644 --- a/pkgs/applications/misc/reddsaver/default.nix +++ b/pkgs/applications/misc/reddsaver/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, rustPlatform -, openssl -, pkg-config -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + Security, }: rustPlatform.buildRustPackage rec { @@ -20,8 +22,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-l+fxk9gkM+pStBVJcsN4P2tNCuFIiBaAxpq9SLlvJHk="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin Security; + buildInputs = [ openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; # package does not contain tests as of v0.3.3 docCheck = false; @@ -29,7 +30,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "CLI tool to download saved media from Reddit"; homepage = "https://github.com/manojkarthick/reddsaver"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = [ maintainers.manojkarthick ]; mainProgram = "reddsaver"; }; diff --git a/pkgs/applications/misc/redshift-plasma-applet/default.nix b/pkgs/applications/misc/redshift-plasma-applet/default.nix index 9bc39aaac4ff6..8a198a702eaab 100644 --- a/pkgs/applications/misc/redshift-plasma-applet/default.nix +++ b/pkgs/applications/misc/redshift-plasma-applet/default.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, cmake, extra-cmake-modules, plasma-framework, kwindowsystem, redshift, fetchFromGitHub, fetchpatch, }: +{ + lib, + stdenv, + cmake, + extra-cmake-modules, + plasma-framework, + kwindowsystem, + redshift, + fetchFromGitHub, + fetchpatch, +}: -let version = "1.0.18"; in +let + version = "1.0.18"; +in stdenv.mkDerivation { pname = "redshift-plasma-applet"; @@ -20,7 +32,7 @@ stdenv.mkDerivation { # Without it scrolling makes the screen gets darker and darker until it is impossible to see anything. (fetchpatch { url = "https://invent.kde.org/plasma/plasma-redshift-control/-/commit/898c3a4cfc6c317915f1e664078d8606497c4049.patch"; - sha256 = "0b6pa3fcj698mgqnc85jbbmcl3qpf418mh06qgsd3c4v237my0nv"; + sha256 = "0b6pa3fcj698mgqnc85jbbmcl3qpf418mh06qgsd3c4v237my0nv"; }) ]; @@ -53,6 +65,9 @@ stdenv.mkDerivation { homepage = "https://github.com/kotelnik/plasma-applet-redshift-control"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ benley zraexy ]; + maintainers = with maintainers; [ + benley + zraexy + ]; }; } diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index 6451fa2c7acf9..31e866d0e7c5c 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -1,24 +1,59 @@ -{ lib, stdenv, fetchFromGitHub, fetchFromGitLab -, autoconf, automake, gettext, intltool -, libtool, pkg-config, wrapGAppsHook3, wrapPython, gobject-introspection, wayland-scanner -, gtk3, python, pygobject3, pyxdg - -, withQuartz ? stdenv.hostPlatform.isDarwin, ApplicationServices -, withRandr ? stdenv.hostPlatform.isLinux, libxcb -, withDrm ? stdenv.hostPlatform.isLinux, libdrm -, withVidmode ? stdenv.hostPlatform.isLinux, libXxf86vm - -, withGeolocation ? true -, withCoreLocation ? withGeolocation && stdenv.hostPlatform.isDarwin, CoreLocation, Foundation, Cocoa -, withGeoclue ? withGeolocation && stdenv.hostPlatform.isLinux, geoclue -, withAppIndicator ? stdenv.hostPlatform.isLinux, libappindicator, libayatana-appindicator +{ + lib, + stdenv, + fetchFromGitHub, + fetchFromGitLab, + autoconf, + automake, + gettext, + intltool, + libtool, + pkg-config, + wrapGAppsHook3, + wrapPython, + gobject-introspection, + wayland-scanner, + gtk3, + python, + pygobject3, + pyxdg, + + withQuartz ? stdenv.hostPlatform.isDarwin, + ApplicationServices, + withRandr ? stdenv.hostPlatform.isLinux, + libxcb, + withDrm ? stdenv.hostPlatform.isLinux, + libdrm, + withVidmode ? stdenv.hostPlatform.isLinux, + libXxf86vm, + + withGeolocation ? true, + withCoreLocation ? withGeolocation && stdenv.hostPlatform.isDarwin, + CoreLocation, + Foundation, + Cocoa, + withGeoclue ? withGeolocation && stdenv.hostPlatform.isLinux, + geoclue, + withAppIndicator ? stdenv.hostPlatform.isLinux, + libappindicator, + libayatana-appindicator, }: let mkRedshift = - { pname, version, src, meta }: + { + pname, + version, + src, + meta, + }: stdenv.mkDerivation rec { - inherit pname version src meta; + inherit + pname + version + src + meta + ; patches = lib.optionals (pname != "gammastep") [ # https://github.com/jonls/redshift/pull/575 @@ -42,33 +77,43 @@ let python ] ++ lib.optionals (pname == "gammastep") [ wayland-scanner ]; - configureFlags = [ - "--enable-randr=${if withRandr then "yes" else "no"}" - "--enable-geoclue2=${if withGeoclue then "yes" else "no"}" - "--enable-drm=${if withDrm then "yes" else "no"}" - "--enable-vidmode=${if withVidmode then "yes" else "no"}" - "--enable-quartz=${if withQuartz then "yes" else "no"}" - "--enable-corelocation=${if withCoreLocation then "yes" else "no"}" - ] ++ lib.optionals (pname == "gammastep") [ - "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user/" - "--enable-apparmor" + configureFlags = + [ + "--enable-randr=${if withRandr then "yes" else "no"}" + "--enable-geoclue2=${if withGeoclue then "yes" else "no"}" + "--enable-drm=${if withDrm then "yes" else "no"}" + "--enable-vidmode=${if withVidmode then "yes" else "no"}" + "--enable-quartz=${if withQuartz then "yes" else "no"}" + "--enable-corelocation=${if withCoreLocation then "yes" else "no"}" + ] + ++ lib.optionals (pname == "gammastep") [ + "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user/" + "--enable-apparmor" + ]; + + buildInputs = + [ + gtk3 + ] + ++ lib.optional withRandr libxcb + ++ lib.optional withGeoclue geoclue + ++ lib.optional withDrm libdrm + ++ lib.optional withVidmode libXxf86vm + ++ lib.optional withQuartz ApplicationServices + ++ lib.optionals withCoreLocation [ + CoreLocation + Foundation + Cocoa + ] + ++ lib.optional withAppIndicator ( + if (pname != "gammastep") then libappindicator else libayatana-appindicator + ); + + pythonPath = [ + pygobject3 + pyxdg ]; - buildInputs = [ - gtk3 - ] ++ lib.optional withRandr libxcb - ++ lib.optional withGeoclue geoclue - ++ lib.optional withDrm libdrm - ++ lib.optional withVidmode libXxf86vm - ++ lib.optional withQuartz ApplicationServices - ++ lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ] - ++ lib.optional withAppIndicator (if (pname != "gammastep") - then libappindicator - else libayatana-appindicator) - ; - - pythonPath = [ pygobject3 pyxdg ]; - preConfigure = "./bootstrap"; dontWrapGApps = true; @@ -84,17 +129,21 @@ let # the geoclue agent may inspect these paths and expect them to be # valid without having the correct $PATH set - postInstall = if (pname == "gammastep") then '' - substituteInPlace $out/share/applications/gammastep.desktop \ - --replace 'Exec=gammastep' "Exec=$out/bin/gammastep" - substituteInPlace $out/share/applications/gammastep-indicator.desktop \ - --replace 'Exec=gammastep-indicator' "Exec=$out/bin/gammastep-indicator" - '' else '' - substituteInPlace $out/share/applications/redshift.desktop \ - --replace 'Exec=redshift' "Exec=$out/bin/redshift" - substituteInPlace $out/share/applications/redshift-gtk.desktop \ - --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk" - ''; + postInstall = + if (pname == "gammastep") then + '' + substituteInPlace $out/share/applications/gammastep.desktop \ + --replace 'Exec=gammastep' "Exec=$out/bin/gammastep" + substituteInPlace $out/share/applications/gammastep-indicator.desktop \ + --replace 'Exec=gammastep-indicator' "Exec=$out/bin/gammastep-indicator" + '' + else + '' + substituteInPlace $out/share/applications/redshift.desktop \ + --replace 'Exec=redshift' "Exec=$out/bin/redshift" + substituteInPlace $out/share/applications/redshift-gtk.desktop \ + --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk" + ''; enableParallelBuilding = true; }; @@ -142,8 +191,7 @@ rec { meta = redshift.meta // { name = "${pname}-${version}"; - longDescription = "Gammastep" - + lib.removePrefix "Redshift" redshift.meta.longDescription; + longDescription = "Gammastep" + lib.removePrefix "Redshift" redshift.meta.longDescription; homepage = "https://gitlab.com/chinstrap/gammastep"; mainProgram = "gammastep"; maintainers = (with lib.maintainers; [ primeos ]) ++ redshift.meta.maintainers; diff --git a/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix b/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix index 8d59f0ae99f66..5a85f5ab4867d 100644 --- a/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix +++ b/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonApplication, fetchPypi, python3Packages }: +{ + lib, + buildPythonApplication, + fetchPypi, + python3Packages, +}: buildPythonApplication rec { pname = "remarkable-mouse"; @@ -9,7 +14,12 @@ buildPythonApplication rec { hash = "sha256-82P9tE3jiUlKBGZCiWDoL+9VJ06Bc+If+aMfcEEU90U="; }; - propagatedBuildInputs = with python3Packages; [ screeninfo paramiko pynput libevdev ]; + propagatedBuildInputs = with python3Packages; [ + screeninfo + paramiko + pynput + libevdev + ]; # no tests doCheck = false; diff --git a/pkgs/applications/misc/remarkable/rmview/default.nix b/pkgs/applications/misc/remarkable/rmview/default.nix index 40ffc4df8b912..5831773cfd8ce 100644 --- a/pkgs/applications/misc/remarkable/rmview/default.nix +++ b/pkgs/applications/misc/remarkable/rmview/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }: +{ + lib, + fetchFromGitHub, + python3Packages, + wrapQtAppsHook, +}: python3Packages.buildPythonApplication rec { pname = "rmview"; @@ -12,8 +17,20 @@ python3Packages.buildPythonApplication rec { sha256 = "sha256-V26zmu8cQkLs0IMR7eFO8x34McnT3xYyzlZfntApYkk="; }; - nativeBuildInputs = with python3Packages; [ pyqt5 setuptools wrapQtAppsHook ]; - propagatedBuildInputs = with python3Packages; [ pyqt5 paramiko twisted pyjwt pyopenssl service-identity sshtunnel ]; + nativeBuildInputs = with python3Packages; [ + pyqt5 + setuptools + wrapQtAppsHook + ]; + propagatedBuildInputs = with python3Packages; [ + pyqt5 + paramiko + twisted + pyjwt + pyopenssl + service-identity + sshtunnel + ]; preBuild = '' pyrcc5 -o src/rmview/resources.py resources.qrc diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix index fa1cfe4afb623..7788357f97604 100644 --- a/pkgs/applications/misc/rescuetime/default.nix +++ b/pkgs/applications/misc/rescuetime/default.nix @@ -1,18 +1,38 @@ -{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, libXScrnSaver, writeScript, common-updater-scripts, curl, pup }: +{ + stdenv, + lib, + fetchurl, + dpkg, + patchelf, + qt5, + libXtst, + libXext, + libX11, + mkDerivation, + libXScrnSaver, + writeScript, + common-updater-scripts, + curl, + pup, +}: let version = "2.16.5.1"; src = - if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - name = "rescuetime-installer.deb"; - url = "https://www.rescuetime.com/installers/rescuetime_${version}_i386.deb"; - sha256 = "1xrvyy0higc1fbc8ascpaszvg2bl6x0a35bzmdq6dkay48hnrd8b"; - } else fetchurl { - name = "rescuetime-installer.deb"; - url = "https://www.rescuetime.com/installers/rescuetime_${version}_amd64.deb"; - sha256 = "09ng0yal66d533vzfv27k9l2va03rqbqmsni43qi3hgx7w9wx5ii"; - }; -in mkDerivation rec { + if stdenv.hostPlatform.system == "i686-linux" then + fetchurl { + name = "rescuetime-installer.deb"; + url = "https://www.rescuetime.com/installers/rescuetime_${version}_i386.deb"; + sha256 = "1xrvyy0higc1fbc8ascpaszvg2bl6x0a35bzmdq6dkay48hnrd8b"; + } + else + fetchurl { + name = "rescuetime-installer.deb"; + url = "https://www.rescuetime.com/installers/rescuetime_${version}_amd64.deb"; + sha256 = "09ng0yal66d533vzfv27k9l2va03rqbqmsni43qi3hgx7w9wx5ii"; + }; +in +mkDerivation rec { # https://www.rescuetime.com/updates/linux_release_notes.html inherit version; pname = "rescuetime"; @@ -27,14 +47,28 @@ in mkDerivation rec { ${patchelf}/bin/patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${lib.makeLibraryPath [ qt5.qtbase libXtst libXext libX11 libXScrnSaver ]}" \ + --set-rpath "${ + lib.makeLibraryPath [ + qt5.qtbase + libXtst + libXext + libX11 + libXScrnSaver + ] + }" \ $out/bin/rescuetime ''; passthru.updateScript = writeScript "${pname}-updater" '' #!${stdenv.shell} set -eu -o pipefail - PATH=${lib.makeBinPath [curl pup common-updater-scripts]}:$PATH + PATH=${ + lib.makeBinPath [ + curl + pup + common-updater-scripts + ] + }:$PATH latestVersion="$(curl -sS https://www.rescuetime.com/release-notes/linux | pup '.release:first-of-type h2 strong text{}' | tr -d '\n')" for platform in ${lib.concatStringsSep " " meta.platforms}; do @@ -44,10 +78,13 @@ in mkDerivation rec { meta = with lib; { description = "Helps you understand your daily habits so you can focus and be more productive"; - homepage = "https://www.rescuetime.com"; + homepage = "https://www.rescuetime.com"; maintainers = [ ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; + license = licenses.unfree; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/applications/misc/resp-app/default.nix b/pkgs/applications/misc/resp-app/default.nix index 18e7a1c722417..25f80e3e2a83c 100644 --- a/pkgs/applications/misc/resp-app/default.nix +++ b/pkgs/applications/misc/resp-app/default.nix @@ -1,20 +1,21 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, fetchpatch -, brotli -, lz4 -, pyotherside -, python3 -, python3Packages -, qtbase -, qtcharts -, qmake -, qttools -, rdbtools -, snappy -, wrapQtAppsHook -, zstd +{ + mkDerivation, + lib, + fetchFromGitHub, + fetchpatch, + brotli, + lz4, + pyotherside, + python3, + python3Packages, + qtbase, + qtcharts, + qmake, + qttools, + rdbtools, + snappy, + wrapQtAppsHook, + zstd, }: let @@ -59,7 +60,6 @@ mkDerivation rec { zstd ] ++ pythonPath; - pythonPath = with python3Packages; [ bitstring cbor diff --git a/pkgs/applications/misc/rofi-emoji/default.nix b/pkgs/applications/misc/rofi-emoji/default.nix index 39004f04945ec..a8a83fcfe8631 100644 --- a/pkgs/applications/misc/rofi-emoji/default.nix +++ b/pkgs/applications/misc/rofi-emoji/default.nix @@ -1,25 +1,31 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, -, autoreconfHook -, pkg-config + autoreconfHook, + pkg-config, -, waylandSupport ? true -, x11Support ? true + waylandSupport ? true, + x11Support ? true, -, cairo -, glib -, libnotify -, rofi-unwrapped -, wl-clipboard -, xclip -, xdotool -, wtype + cairo, + glib, + libnotify, + rofi-unwrapped, + wl-clipboard, + xclip, + xdotool, + wtype, }: -import ./versions.nix ({ version, hash, patches}: +import ./versions.nix ( + { + version, + hash, + patches, + }: stdenv.mkDerivation rec { pname = "rofi-emoji"; inherit version; @@ -40,32 +46,48 @@ import ./versions.nix ({ version, hash, patches}: postFixup = '' chmod +x $out/share/rofi-emoji/clipboard-adapter.sh wrapProgram $out/share/rofi-emoji/clipboard-adapter.sh \ - --prefix PATH ":" ${lib.makeBinPath ([ libnotify ] - ++ lib.optionals waylandSupport [ wl-clipboard wtype ] - ++ lib.optionals x11Support [ xclip xdotool ])} + --prefix PATH ":" ${ + lib.makeBinPath ( + [ libnotify ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] + ++ lib.optionals x11Support [ + xclip + xdotool + ] + ) + } ''; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; - buildInputs = [ - cairo - glib - libnotify - rofi-unwrapped - ] - ++ lib.optionals waylandSupport [ wl-clipboard wtype ] + buildInputs = + [ + cairo + glib + libnotify + rofi-unwrapped + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] ++ lib.optionals x11Support [ xclip ]; meta = with lib; { description = "Emoji selector plugin for Rofi (built against ${rofi-unwrapped.pname})"; homepage = "https://github.com/Mange/rofi-emoji"; license = licenses.mit; - maintainers = with maintainers; [ cole-h Mange ]; + maintainers = with maintainers; [ + cole-h + Mange + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/rofi-rbw/default.nix b/pkgs/applications/misc/rofi-rbw/default.nix index f4cbf40e3d07c..e1cb6a1e61bfc 100644 --- a/pkgs/applications/misc/rofi-rbw/default.nix +++ b/pkgs/applications/misc/rofi-rbw/default.nix @@ -1,18 +1,19 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, configargparse -, setuptools -, poetry-core -, rbw +{ + lib, + buildPythonApplication, + fetchFromGitHub, + configargparse, + setuptools, + poetry-core, + rbw, -, waylandSupport ? false -, wl-clipboard -, wtype + waylandSupport ? false, + wl-clipboard, + wtype, -, x11Support ? false -, xclip -, xdotool + x11Support ? false, + xclip, + xdotool, }: buildPythonApplication rec { @@ -32,29 +33,35 @@ buildPythonApplication rec { poetry-core ]; - buildInputs = [ - rbw - ] ++ lib.optionals waylandSupport [ - wl-clipboard - wtype - ] ++ lib.optionals x11Support [ - xclip - xdotool - ]; + buildInputs = + [ + rbw + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] + ++ lib.optionals x11Support [ + xclip + xdotool + ]; propagatedBuildInputs = [ configargparse ]; pythonImportsCheck = [ "rofi_rbw" ]; - wrapper_paths = [ - rbw - ] ++ lib.optionals waylandSupport [ - wl-clipboard - wtype - ] ++ lib.optionals x11Support [ - xclip - xdotool - ]; + wrapper_paths = + [ + rbw + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] + ++ lib.optionals x11Support [ + xclip + xdotool + ]; wrapper_flags = lib.optionalString waylandSupport "--typer wtype --clipboarder wl-copy" @@ -68,7 +75,10 @@ buildPythonApplication rec { description = "Rofi frontend for Bitwarden"; homepage = "https://github.com/fdw/rofi-rbw"; license = licenses.mit; - maintainers = with maintainers; [ equirosa dit7ya ]; + maintainers = with maintainers; [ + equirosa + dit7ya + ]; platforms = platforms.linux; mainProgram = "rofi-rbw"; }; diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix index cad73779a85e6..3aedaeb2eece1 100644 --- a/pkgs/applications/misc/rofi/default.nix +++ b/pkgs/applications/misc/rofi/default.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, libxkbcommon -, pango -, which -, git -, cairo -, libxcb -, xcbutil -, xcbutilwm -, xcbutilxrm -, xcb-util-cursor -, libstartup_notification -, bison -, flex -, librsvg -, check -, glib -, buildPackages +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libxkbcommon, + pango, + which, + git, + cairo, + libxcb, + xcbutil, + xcbutilwm, + xcbutilxrm, + xcb-util-cursor, + libstartup_notification, + bison, + flex, + librsvg, + check, + glib, + buildPackages, }: stdenv.mkDerivation rec { @@ -41,8 +42,18 @@ stdenv.mkDerivation rec { sed -i 's/~root/~nobody/g' test/helper-expand.c ''; - depsBuildBuild = [ buildPackages.stdenv.cc pkg-config glib ]; - nativeBuildInputs = [ meson ninja pkg-config flex bison ]; + depsBuildBuild = [ + buildPackages.stdenv.cc + pkg-config + glib + ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + flex + bison + ]; buildInputs = [ libxkbcommon pango diff --git a/pkgs/applications/misc/rofi/wayland.nix b/pkgs/applications/misc/rofi/wayland.nix index f866f8fb7f72f..56e23ffb7c52e 100644 --- a/pkgs/applications/misc/rofi/wayland.nix +++ b/pkgs/applications/misc/rofi/wayland.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, rofi-unwrapped -, wayland-scanner -, pkg-config -, wayland-protocols -, wayland +{ + lib, + fetchFromGitHub, + fetchpatch, + rofi-unwrapped, + wayland-scanner, + pkg-config, + wayland-protocols, + wayland, }: rofi-unwrapped.overrideAttrs (oldAttrs: rec { @@ -31,8 +32,14 @@ rofi-unwrapped.overrideAttrs (oldAttrs: rec { ]; depsBuildBuild = oldAttrs.depsBuildBuild ++ [ pkg-config ]; - nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ wayland-protocols wayland-scanner ]; - buildInputs = oldAttrs.buildInputs ++ [ wayland wayland-protocols ]; + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ + wayland-protocols + wayland-scanner + ]; + buildInputs = oldAttrs.buildInputs ++ [ + wayland + wayland-protocols + ]; meta = with lib; { description = "Window switcher, run dialog and dmenu replacement for Wayland"; diff --git a/pkgs/applications/misc/rofi/wrapper.nix b/pkgs/applications/misc/rofi/wrapper.nix index 3f08a50475904..89bf267998a89 100644 --- a/pkgs/applications/misc/rofi/wrapper.nix +++ b/pkgs/applications/misc/rofi/wrapper.nix @@ -1,4 +1,15 @@ -{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, wrapGAppsHook3, gdk-pixbuf, hicolor-icon-theme, theme ? null, plugins ? [], symlink-dmenu ? false }: +{ + symlinkJoin, + lib, + rofi-unwrapped, + makeWrapper, + wrapGAppsHook3, + gdk-pixbuf, + hicolor-icon-theme, + theme ? null, + plugins ? [ ], + symlink-dmenu ? false, +}: symlinkJoin { name = "rofi-${rofi-unwrapped.version}"; @@ -7,7 +18,10 @@ symlinkJoin { rofi-unwrapped.out ] ++ (lib.forEach plugins (p: p.out)); - nativeBuildInputs = [ makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + makeWrapper + wrapGAppsHook3 + ]; buildInputs = [ gdk-pixbuf ]; preferLocalBuild = true; @@ -25,9 +39,12 @@ symlinkJoin { makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \ ''${gappsWrapperArgs[@]} \ --prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \ - ${lib.optionalString (plugins != []) ''--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}''} \ + ${ + lib.optionalString (plugins != [ ]) + ''--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}'' + } \ ${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \ - ${lib.optionalString (plugins != []) ''--add-flags "-plugin-path $out/lib/rofi"''} + ${lib.optionalString (plugins != [ ]) ''--add-flags "-plugin-path $out/lib/rofi"''} ${lib.optionalString symlink-dmenu "ln -s ${rofi-unwrapped}/bin/rofi $out/bin/dmenu"} diff --git a/pkgs/applications/misc/rsibreak/default.nix b/pkgs/applications/misc/rsibreak/default.nix index 24d0a0eaa6ab9..e680ee956ef52 100644 --- a/pkgs/applications/misc/rsibreak/default.nix +++ b/pkgs/applications/misc/rsibreak/default.nix @@ -1,7 +1,14 @@ { - mkDerivation, fetchurl, lib, - extra-cmake-modules, kdoctools, - knotifyconfig, kidletime, kwindowsystem, ktextwidgets, kcrash + mkDerivation, + fetchurl, + lib, + extra-cmake-modules, + kdoctools, + knotifyconfig, + kidletime, + kwindowsystem, + ktextwidgets, + kcrash, }: mkDerivation rec { @@ -13,8 +20,17 @@ mkDerivation rec { sha256 = "N0C+f788fq5yotSC54H2K4WDc6PnGi8Nh/vXL4v0fxo="; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - propagatedBuildInputs = [ knotifyconfig kidletime kwindowsystem ktextwidgets kcrash ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + propagatedBuildInputs = [ + knotifyconfig + kidletime + kwindowsystem + ktextwidgets + kcrash + ]; meta = with lib; { description = "Takes care of your health and regularly breaks your work to avoid repetitive strain injury (RSI)"; diff --git a/pkgs/applications/misc/selectdefaultapplication/default.nix b/pkgs/applications/misc/selectdefaultapplication/default.nix index cfc142cb96e8d..46868edc6fe63 100644 --- a/pkgs/applications/misc/selectdefaultapplication/default.nix +++ b/pkgs/applications/misc/selectdefaultapplication/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, qmake, qtbase, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchFromGitHub, + qmake, + qtbase, + wrapQtAppsHook, +}: stdenv.mkDerivation { pname = "selectdefaultapplication"; @@ -11,7 +18,10 @@ stdenv.mkDerivation { sha256 = "C/70xpt6RoQNIlAjSJhOCyheolK4Xp6RiSZmeqMP4fw="; }; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; buildInputs = [ qtbase ]; installPhase = '' diff --git a/pkgs/applications/misc/serial-studio/default.nix b/pkgs/applications/misc/serial-studio/default.nix index 129f3d49eb75e..081cff81337b8 100644 --- a/pkgs/applications/misc/serial-studio/default.nix +++ b/pkgs/applications/misc/serial-studio/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtquickcontrols2, qtserialport, qtsvg, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtquickcontrols2, + qtserialport, + qtsvg, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "serial-studio"; @@ -12,9 +21,16 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; - buildInputs = [ qtquickcontrols2 qtserialport qtsvg ]; + buildInputs = [ + qtquickcontrols2 + qtserialport + qtsvg + ]; meta = with lib; { description = "Multi-purpose serial data visualization & processing program"; diff --git a/pkgs/applications/misc/sl1-to-photon/default.nix b/pkgs/applications/misc/sl1-to-photon/default.nix index 901265016f8ef..f9bd5c9d0c1fb 100644 --- a/pkgs/applications/misc/sl1-to-photon/default.nix +++ b/pkgs/applications/misc/sl1-to-photon/default.nix @@ -1,16 +1,17 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, pillow -, pyside2 -, numpy -, pyphotonfile -, shiboken2 +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pillow, + pyside2, + numpy, + pyphotonfile, + shiboken2, }: let version = "0.1.3+"; in - buildPythonApplication rec { +buildPythonApplication rec { pname = "sl1-to-photon"; inherit version; @@ -21,7 +22,13 @@ in sha256 = "ssFfjlBMi3FHosDBUA2gs71VUIBkEdPVcV3STNxmOIM="; }; - pythonPath = [ pyphotonfile pillow numpy pyside2 shiboken2 ]; + pythonPath = [ + pyphotonfile + pillow + numpy + pyside2 + shiboken2 + ]; format = "setuptools"; dontUseSetuptoolsCheck = true; diff --git a/pkgs/applications/misc/slstatus/default.nix b/pkgs/applications/misc/slstatus/default.nix index 94aad50bc1d37..090c0454def11 100644 --- a/pkgs/applications/misc/slstatus/default.nix +++ b/pkgs/applications/misc/slstatus/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchgit -, pkg-config -, writeText -, libX11 -, libXau -, libXdmcp -, conf ? null -, patches ? [ ] -# update script dependencies -, gitUpdater +{ + lib, + stdenv, + fetchgit, + pkg-config, + writeText, + libX11, + libXau, + libXdmcp, + conf ? null, + patches ? [ ], + # update script dependencies + gitUpdater, }: stdenv.mkDerivation rec { @@ -24,27 +25,35 @@ stdenv.mkDerivation rec { preBuild = let - configFile = if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf; + configFile = + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf; in '' - ${lib.optionalString (conf!=null) "cp ${configFile} config.def.h"} + ${lib.optionalString (conf != null) "cp ${configFile} config.def.h"} makeFlagsArray+=(LDLIBS="-lX11 -lxcb -lXau -lXdmcp" CC=$CC) ''; inherit patches; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXau libXdmcp ]; + buildInputs = [ + libX11 + libXau + libXdmcp + ]; installFlags = [ "PREFIX=$(out)" ]; - passthru.updateScript = gitUpdater {}; + passthru.updateScript = gitUpdater { }; meta = with lib; { homepage = "https://tools.suckless.org/slstatus/"; description = "status monitor for window managers that use WM_NAME like dwm"; license = licenses.isc; - maintainers = with maintainers; [ oxzi qusic ]; + maintainers = with maintainers; [ + oxzi + qusic + ]; platforms = platforms.linux; mainProgram = "slstatus"; }; diff --git a/pkgs/applications/misc/snagboot/default.nix b/pkgs/applications/misc/snagboot/default.nix index 3a663443513c8..ccfe1fc9ab0ba 100644 --- a/pkgs/applications/misc/snagboot/default.nix +++ b/pkgs/applications/misc/snagboot/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, snagboot -, testers -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + python3, + snagboot, + testers, + gitUpdater, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix index 711d549d1ac35..2efe5eaa4dbf7 100644 --- a/pkgs/applications/misc/stag/default.nix +++ b/pkgs/applications/misc/stag/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, curses, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + curses, + fetchpatch, +}: stdenv.mkDerivation (finalAttrs: { pname = "stag"; diff --git a/pkgs/applications/misc/stog/asy.nix b/pkgs/applications/misc/stog/asy.nix index 58f1cf35f4d47..f39ece3ec9f8a 100644 --- a/pkgs/applications/misc/stog/asy.nix +++ b/pkgs/applications/misc/stog/asy.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, stog, ocf_ppx }: +{ + buildDunePackage, + stog, + ocf_ppx, +}: buildDunePackage { pname = "stog_asy"; diff --git a/pkgs/applications/misc/stog/default.nix b/pkgs/applications/misc/stog/default.nix index b91624525483b..e002893538423 100644 --- a/pkgs/applications/misc/stog/default.nix +++ b/pkgs/applications/misc/stog/default.nix @@ -1,6 +1,23 @@ -{ lib, buildDunePackage, fetchFromGitLab -, fmt, lwt_ppx, menhir, ocf_ppx, ppx_blob, xtmpl_ppx -, dune-build-info, dune-site, higlo, logs, lwt, ocf, ptime, uri, uutf, xtmpl +{ + lib, + buildDunePackage, + fetchFromGitLab, + fmt, + lwt_ppx, + menhir, + ocf_ppx, + ppx_blob, + xtmpl_ppx, + dune-build-info, + dune-site, + higlo, + logs, + lwt, + ocf, + ptime, + uri, + uutf, + xtmpl, }: buildDunePackage rec { @@ -16,7 +33,13 @@ buildDunePackage rec { }; nativeBuildInputs = [ menhir ]; - buildInputs = [ fmt lwt_ppx ocf_ppx ppx_blob xtmpl_ppx ]; + buildInputs = [ + fmt + lwt_ppx + ocf_ppx + ppx_blob + xtmpl_ppx + ]; propagatedBuildInputs = [ dune-build-info dune-site diff --git a/pkgs/applications/misc/stog/markdown.nix b/pkgs/applications/misc/stog/markdown.nix index 48fd4a0b00967..f5a3142b2a035 100644 --- a/pkgs/applications/misc/stog/markdown.nix +++ b/pkgs/applications/misc/stog/markdown.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, stog, ocf_ppx, omd }: +{ + buildDunePackage, + stog, + ocf_ppx, + omd, +}: buildDunePackage { pname = "stog_markdown"; @@ -6,10 +11,12 @@ buildDunePackage { inherit (stog) version src; buildInputs = [ ocf_ppx ]; - propagatedBuildInputs = [ omd stog ]; + propagatedBuildInputs = [ + omd + stog + ]; meta = stog.meta // { description = "Stog plugin to use markdown syntax"; }; } - diff --git a/pkgs/applications/misc/stork/default.nix b/pkgs/applications/misc/stork/default.nix index 4441508e0be88..5c020e923765f 100644 --- a/pkgs/applications/misc/stork/default.nix +++ b/pkgs/applications/misc/stork/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, openssl -, pkg-config -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -27,8 +28,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; meta = with lib; { description = "Impossibly fast web search, made for static sites"; diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix index f1ebdb98c1c86..6387913ac3732 100644 --- a/pkgs/applications/misc/subsurface/default.nix +++ b/pkgs/applications/misc/subsurface/default.nix @@ -1,43 +1,46 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, writeShellScriptBin -, cmake -, wrapQtAppsHook -, pkg-config -, qmake -, curl -, grantlee -, hidapi -, libgit2 -, libssh2 -, libusb1 -, libxml2 -, libxslt -, libzip -, zlib -, qtbase -, qtconnectivity -, qtlocation -, qtsvg -, qttools -, qtwebengine -, libXcomposite -, bluez -, writeScript +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + writeShellScriptBin, + cmake, + wrapQtAppsHook, + pkg-config, + qmake, + curl, + grantlee, + hidapi, + libgit2, + libssh2, + libusb1, + libxml2, + libxslt, + libzip, + zlib, + qtbase, + qtconnectivity, + qtlocation, + qtsvg, + qttools, + qtwebengine, + libXcomposite, + bluez, + writeScript, }: let version = "6.0.5231"; - subsurfaceSrc = (fetchFromGitHub { - owner = "Subsurface"; - repo = "subsurface"; - rev = "38a0050ac33566dfd34bf94cf1d7ac66034e4118"; - hash = "sha256-6fNcBF/Ep2xs2z83ZQ09XNb/ZkhK1nUNLChV1x8qh0Y="; - fetchSubmodules = true; - }); + subsurfaceSrc = ( + fetchFromGitHub { + owner = "Subsurface"; + repo = "subsurface"; + rev = "38a0050ac33566dfd34bf94cf1d7ac66034e4118"; + hash = "sha256-6fNcBF/Ep2xs2z83ZQ09XNb/ZkhK1nUNLChV1x8qh0Y="; + fetchSubmodules = true; + } + ); libdc = stdenv.mkDerivation { pname = "libdivecomputer-ssrf"; @@ -47,9 +50,17 @@ let sourceRoot = "${subsurfaceSrc.name}/libdivecomputer"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ zlib libusb1 bluez hidapi ]; + buildInputs = [ + zlib + libusb1 + bluez + hidapi + ]; enableParallelBuilding = true; @@ -75,7 +86,11 @@ let nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtlocation libXcomposite ]; + buildInputs = [ + qtbase + qtlocation + libXcomposite + ]; dontWrapQtApps = true; @@ -130,7 +145,11 @@ stdenv.mkDerivation { qtwebengine ]; - nativeBuildInputs = [ cmake wrapQtAppsHook pkg-config ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + pkg-config + ]; cmakeFlags = [ "-DLIBDC_FROM_PKGCONFIG=ON" diff --git a/pkgs/applications/misc/survex/default.nix b/pkgs/applications/misc/survex/default.nix index f5ce17ea21f78..fe33a366780f8 100644 --- a/pkgs/applications/misc/survex/default.nix +++ b/pkgs/applications/misc/survex/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, Carbon -, Cocoa -, ffmpeg -, glib -, libGLU -, libICE -, libX11 -, mesa -, perl -, pkg-config -, proj -, gdal -, python3 -, wrapGAppsHook3 -, wxGTK32 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + Carbon, + Cocoa, + ffmpeg, + glib, + libGLU, + libICE, + libX11, + mesa, + perl, + pkg-config, + proj, + gdal, + python3, + wrapGAppsHook3, + wxGTK32, }: stdenv.mkDerivation rec { @@ -35,23 +36,26 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ - ffmpeg - glib - proj - gdal - wxGTK32 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon - Cocoa - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # TODO: libGLU doesn't build for macOS because of Mesa issues - # (#233265); is it required for anything? - libGLU - mesa - libICE - libX11 - ]; + buildInputs = + [ + ffmpeg + glib + proj + gdal + wxGTK32 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # TODO: libGLU doesn't build for macOS because of Mesa issues + # (#233265); is it required for anything? + libGLU + mesa + libICE + libX11 + ]; postPatch = '' patchShebangs . diff --git a/pkgs/applications/misc/swappy/default.nix b/pkgs/applications/misc/swappy/default.nix index d13578b3c82ae..848e73ff2df3a 100644 --- a/pkgs/applications/misc/swappy/default.nix +++ b/pkgs/applications/misc/swappy/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, wayland -, cairo -, pango -, gtk -, pkg-config -, scdoc -, libnotify -, glib -, wrapGAppsHook3 -, hicolor-icon-theme +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + wayland, + cairo, + pango, + gtk, + pkg-config, + scdoc, + libnotify, + glib, + wrapGAppsHook3, + hicolor-icon-theme, }: stdenv.mkDerivation rec { @@ -26,10 +27,23 @@ stdenv.mkDerivation rec { hash = "sha256-/XPvy98Il4i8cDl9vH6f0/AZmiSqseSXnen7HfMqCDo="; }; - nativeBuildInputs = [ glib meson ninja pkg-config scdoc wrapGAppsHook3 ]; + nativeBuildInputs = [ + glib + meson + ninja + pkg-config + scdoc + wrapGAppsHook3 + ]; buildInputs = [ - cairo pango gtk libnotify wayland glib hicolor-icon-theme + cairo + pango + gtk + libnotify + wayland + glib + hicolor-icon-theme ]; strictDeps = true; diff --git a/pkgs/applications/misc/sway-contrib/default.nix b/pkgs/applications/misc/sway-contrib/default.nix index b0c8154f2c513..04854aec5b099 100644 --- a/pkgs/applications/misc/sway-contrib/default.nix +++ b/pkgs/applications/misc/sway-contrib/default.nix @@ -1,18 +1,20 @@ -{ lib, stdenvNoCC -, fetchFromGitHub -, coreutils -, makeWrapper -, sway-unwrapped -, installShellFiles -, wl-clipboard -, libnotify -, slurp -, grim -, jq -, gnugrep -, bash - -, python3Packages +{ + lib, + stdenvNoCC, + fetchFromGitHub, + coreutils, + makeWrapper, + sway-unwrapped, + installShellFiles, + wl-clipboard, + libnotify, + slurp, + grim, + jq, + gnugrep, + bash, + + python3Packages, }: let @@ -32,80 +34,95 @@ let in { -grimshot = stdenvNoCC.mkDerivation { - inherit version src; - - pname = "grimshot"; - - dontBuild = true; - dontConfigure = true; - - outputs = [ "out" "man" ]; - - strictDeps = true; - nativeBuildInputs = [ makeWrapper installShellFiles ]; - buildInputs = [ bash ]; - installPhase = '' - installManPage grimshot.1 - installShellCompletion --cmd grimshot grimshot-completion.bash - - install -Dm 0755 grimshot $out/bin/grimshot - wrapProgram $out/bin/grimshot --set PATH \ - "${lib.makeBinPath [ - sway-unwrapped - wl-clipboard - coreutils - libnotify - slurp - grim - jq - gnugrep - ] }" - ''; - - doInstallCheck = true; - - installCheckPhase = '' - # check always returns 0 - if [[ $($out/bin/grimshot check | grep "NOT FOUND") ]]; then false - else - echo "grimshot check passed" - fi - ''; - - meta = with lib; meta // { - description = "Helper for screenshots within sway"; - maintainers = with maintainers; [ evils ]; - mainProgram = "grimshot"; - }; -}; - - -inactive-windows-transparency = let - # long name is long - lname = "inactive-windows-transparency"; -in python3Packages.buildPythonApplication { - inherit version src; + grimshot = stdenvNoCC.mkDerivation { + inherit version src; - pname = "sway-${lname}"; + pname = "grimshot"; - format = "other"; - dontBuild = true; - dontConfigure = true; + dontBuild = true; + dontConfigure = true; - propagatedBuildInputs = [ python3Packages.i3ipc ]; - - installPhase = '' - install -Dm 0755 $src/${lname}.py $out/bin/${lname}.py - ''; + outputs = [ + "out" + "man" + ]; - meta = with lib; meta // { - description = "It makes inactive sway windows transparent"; - mainProgram = "${lname}.py"; - maintainers = with maintainers; [ - evils # packaged this as a side-effect of grimshot but doesn't use it + strictDeps = true; + nativeBuildInputs = [ + makeWrapper + installShellFiles ]; + buildInputs = [ bash ]; + installPhase = '' + installManPage grimshot.1 + installShellCompletion --cmd grimshot grimshot-completion.bash + + install -Dm 0755 grimshot $out/bin/grimshot + wrapProgram $out/bin/grimshot --set PATH \ + "${ + lib.makeBinPath [ + sway-unwrapped + wl-clipboard + coreutils + libnotify + slurp + grim + jq + gnugrep + ] + }" + ''; + + doInstallCheck = true; + + installCheckPhase = '' + # check always returns 0 + if [[ $($out/bin/grimshot check | grep "NOT FOUND") ]]; then false + else + echo "grimshot check passed" + fi + ''; + + meta = + with lib; + meta + // { + description = "Helper for screenshots within sway"; + maintainers = with maintainers; [ evils ]; + mainProgram = "grimshot"; + }; }; -}; + + inactive-windows-transparency = + let + # long name is long + lname = "inactive-windows-transparency"; + in + python3Packages.buildPythonApplication { + inherit version src; + + pname = "sway-${lname}"; + + format = "other"; + dontBuild = true; + dontConfigure = true; + + propagatedBuildInputs = [ python3Packages.i3ipc ]; + + installPhase = '' + install -Dm 0755 $src/${lname}.py $out/bin/${lname}.py + ''; + + meta = + with lib; + meta + // { + description = "It makes inactive sway windows transparent"; + mainProgram = "${lname}.py"; + maintainers = with maintainers; [ + evils # packaged this as a side-effect of grimshot but doesn't use it + ]; + }; + }; } diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix index 9d37423f568db..8a9959832da75 100644 --- a/pkgs/applications/misc/sweethome3d/editors.nix +++ b/pkgs/applications/misc/sweethome3d/editors.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchzip -, makeWrapper -, makeDesktopItem -, jdk -, ant -, stripJavaArchivesHook -, gtk3 -, gsettings-desktop-schemas -, sweethome3dApp -, unzip +{ + lib, + stdenv, + fetchzip, + makeWrapper, + makeDesktopItem, + jdk, + ant, + stripJavaArchivesHook, + gtk3, + gsettings-desktop-schemas, + sweethome3dApp, + unzip, }: let @@ -17,65 +18,92 @@ let sweetExec = m: "sweethome3d-" + lib.removeSuffix "libraryeditor" (lib.toLower m) + "-editor"; mkEditorProject = - { pname, module, version, src, license, description, desktopName }: - - stdenv.mkDerivation rec { - application = sweethome3dApp; - inherit pname module version src description; - exec = sweetExec module; - editorItem = makeDesktopItem { - inherit exec desktopName; - name = pname; - comment = description; - genericName = "Computer Aided (Interior) Design"; - categories = [ "Graphics" "2DGraphics" "3DGraphics" ]; - }; - - nativeBuildInputs = [ makeWrapper stripJavaArchivesHook ]; - buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ]; - - # upstream targets Java 7 by default - env.ANT_ARGS = "-DappletClassSource=8 -DappletClassTarget=8 -DclassSource=8 -DclassTarget=8"; - - postPatch = '' - sed -i -e 's,../SweetHome3D,${sweethome3dApp.src},g' build.xml - sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml - ''; - - buildPhase = '' - runHook preBuild - - ant -lib ${sweethome3dApp.src}/libtest -lib ${sweethome3dApp.src}/lib -lib ${jdk}/lib + { + pname, + module, + version, + src, + license, + description, + desktopName, + }: + + stdenv.mkDerivation rec { + application = sweethome3dApp; + inherit + pname + module + version + src + description + ; + exec = sweetExec module; + editorItem = makeDesktopItem { + inherit exec desktopName; + name = pname; + comment = description; + genericName = "Computer Aided (Interior) Design"; + categories = [ + "Graphics" + "2DGraphics" + "3DGraphics" + ]; + }; + + nativeBuildInputs = [ + makeWrapper + stripJavaArchivesHook + ]; + buildInputs = [ + ant + jdk + gtk3 + gsettings-desktop-schemas + ]; + + # upstream targets Java 7 by default + env.ANT_ARGS = "-DappletClassSource=8 -DappletClassTarget=8 -DclassSource=8 -DclassTarget=8"; + + postPatch = '' + sed -i -e 's,../SweetHome3D,${sweethome3dApp.src},g' build.xml + sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml + ''; + + buildPhase = '' + runHook preBuild + + ant -lib ${sweethome3dApp.src}/libtest -lib ${sweethome3dApp.src}/lib -lib ${jdk}/lib + + runHook postBuild + ''; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/{java,applications} + cp ${module}-${version}.jar $out/share/java/. + cp "${editorItem}/share/applications/"* $out/share/applications + makeWrapper ${jdk}/bin/java $out/bin/$exec \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" + ''; + + dontStrip = true; + + meta = { + homepage = "http://www.sweethome3d.com/index.jsp"; + inherit description; + inherit license; + maintainers = [ lib.maintainers.edwtjo ]; + platforms = lib.platforms.linux; + mainProgram = exec; + }; - runHook postBuild - ''; - - installPhase = '' - mkdir -p $out/bin - mkdir -p $out/share/{java,applications} - cp ${module}-${version}.jar $out/share/java/. - cp "${editorItem}/share/applications/"* $out/share/applications - makeWrapper ${jdk}/bin/java $out/bin/$exec \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ - --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" - ''; - - dontStrip = true; - - meta = { - homepage = "http://www.sweethome3d.com/index.jsp"; - inherit description; - inherit license; - maintainers = [ lib.maintainers.edwtjo ]; - platforms = lib.platforms.linux; - mainProgram = exec; }; - }; - - d2u = lib.replaceStrings ["."] ["_"]; + d2u = lib.replaceStrings [ "." ] [ "_" ]; -in { +in +{ textures-editor = mkEditorProject rec { version = "1.7"; diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix index e996a39d9d4b4..fdfff2f567ac4 100644 --- a/pkgs/applications/misc/syncthingtray/default.nix +++ b/pkgs/applications/misc/syncthingtray/default.nix @@ -1,37 +1,40 @@ -{ lib -, stdenv -, fetchFromGitHub -, qtbase -, qtsvg -, qtwayland -, qtwebengine -, qtdeclarative -, extra-cmake-modules -, cpp-utilities -, qtutilities -, qtforkawesome -, boost -, wrapQtAppsHook -, cmake -, kio -, plasma-framework -, qttools -, iconv -, cppunit -, syncthing -, xdg-utils -, webviewSupport ? true -, jsSupport ? true -, kioPluginSupport ? stdenv.hostPlatform.isLinux -, plasmoidSupport ? stdenv.hostPlatform.isLinux -, systemdSupport ? stdenv.hostPlatform.isLinux -/* It is possible to set via this option an absolute exec path that will be -written to the `~/.config/autostart/syncthingtray.desktop` file generated -during runtime. Alternatively, one can edit the desktop file themselves after -it is generated See: -https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */ -, autostartExecPath ? "syncthingtray" -, versionCheckHook +{ + lib, + stdenv, + fetchFromGitHub, + qtbase, + qtsvg, + qtwayland, + qtwebengine, + qtdeclarative, + extra-cmake-modules, + cpp-utilities, + qtutilities, + qtforkawesome, + boost, + wrapQtAppsHook, + cmake, + kio, + plasma-framework, + qttools, + iconv, + cppunit, + syncthing, + xdg-utils, + webviewSupport ? true, + jsSupport ? true, + kioPluginSupport ? stdenv.hostPlatform.isLinux, + plasmoidSupport ? stdenv.hostPlatform.isLinux, + systemdSupport ? stdenv.hostPlatform.isLinux, + /* + It is possible to set via this option an absolute exec path that will be + written to the `~/.config/autostart/syncthingtray.desktop` file generated + during runtime. Alternatively, one can edit the desktop file themselves after + it is generated See: + https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 + */ + autostartExecPath ? "syncthingtray", + versionCheckHook, }: stdenv.mkDerivation (finalAttrs: { @@ -45,20 +48,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-nWG9r0/qs9Jrj0Bo3RKtNSP1pnUd7CRiEkkRWf0UMNs="; }; - buildInputs = [ - qtbase - qtsvg - cpp-utilities - qtutilities - boost - qtforkawesome - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ iconv ] + buildInputs = + [ + qtbase + qtsvg + cpp-utilities + qtutilities + boost + qtforkawesome + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ iconv ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ] ++ lib.optionals webviewSupport [ qtwebengine ] ++ lib.optionals jsSupport [ qtdeclarative ] ++ lib.optionals kioPluginSupport [ kio ] - ++ lib.optionals plasmoidSupport [ plasma-framework ] - ; + ++ lib.optionals plasmoidSupport [ plasma-framework ]; nativeBuildInputs = [ wrapQtAppsHook @@ -69,9 +73,7 @@ stdenv.mkDerivation (finalAttrs: { # still build them. cppunit syncthing - ] - ++ lib.optionals plasmoidSupport [ extra-cmake-modules ] - ; + ] ++ lib.optionals plasmoidSupport [ extra-cmake-modules ]; # syncthing server seems to hang on darwin, causing tests to fail. doCheck = !stdenv.hostPlatform.isDarwin; @@ -91,21 +93,22 @@ stdenv.mkDerivation (finalAttrs: { ]; doInstallCheck = true; - cmakeFlags = [ - "-DQT_PACKAGE_PREFIX=Qt${lib.versions.major qtbase.version}" - "-DKF_PACKAGE_PREFIX=KF${lib.versions.major qtbase.version}" - "-DBUILD_TESTING=ON" - # See https://github.com/Martchus/syncthingtray/issues/208 - "-DEXCLUDE_TESTS_FROM_ALL=OFF" - "-DAUTOSTART_EXEC_PATH=${autostartExecPath}" - # See https://github.com/Martchus/syncthingtray/issues/42 - "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/${qtbase.qtPluginPrefix}" - "-DBUILD_SHARED_LIBS=ON" - ] ++ lib.optionals (!plasmoidSupport) ["-DNO_PLASMOID=ON"] - ++ lib.optionals (!kioPluginSupport) ["-DNO_FILE_ITEM_ACTION_PLUGIN=ON"] - ++ lib.optionals systemdSupport ["-DSYSTEMD_SUPPORT=ON"] - ++ lib.optionals (!webviewSupport) ["-DWEBVIEW_PROVIDER:STRING=none"] - ; + cmakeFlags = + [ + "-DQT_PACKAGE_PREFIX=Qt${lib.versions.major qtbase.version}" + "-DKF_PACKAGE_PREFIX=KF${lib.versions.major qtbase.version}" + "-DBUILD_TESTING=ON" + # See https://github.com/Martchus/syncthingtray/issues/208 + "-DEXCLUDE_TESTS_FROM_ALL=OFF" + "-DAUTOSTART_EXEC_PATH=${autostartExecPath}" + # See https://github.com/Martchus/syncthingtray/issues/42 + "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/${qtbase.qtPluginPrefix}" + "-DBUILD_SHARED_LIBS=ON" + ] + ++ lib.optionals (!plasmoidSupport) [ "-DNO_PLASMOID=ON" ] + ++ lib.optionals (!kioPluginSupport) [ "-DNO_FILE_ITEM_ACTION_PLUGIN=ON" ] + ++ lib.optionals systemdSupport [ "-DSYSTEMD_SUPPORT=ON" ] + ++ lib.optionals (!webviewSupport) [ "-DWEBVIEW_PROVIDER:STRING=none" ]; qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ xdg-utils ]}" diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 7db338b16897f..df841710a11ca 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,38 +1,39 @@ -{ withGUI ? true -, stdenv -, lib -, fetchFromGitHub -, wrapQtAppsHook - -, cmake -, openssl -, pcre -, util-linux -, libselinux -, libsepol -, pkg-config -, gdk-pixbuf -, libnotify -, qttools -, libICE -, libSM -, libX11 -, libxkbfile -, libXi -, libXtst -, libXrandr -, libXinerama -, xkeyboardconfig -, xinput -, avahi-compat +{ + withGUI ? true, + stdenv, + lib, + fetchFromGitHub, + wrapQtAppsHook, + + cmake, + openssl, + pcre, + util-linux, + libselinux, + libsepol, + pkg-config, + gdk-pixbuf, + libnotify, + qttools, + libICE, + libSM, + libX11, + libxkbfile, + libXi, + libXtst, + libXrandr, + libXinerama, + xkeyboardconfig, + xinput, + avahi-compat, # MacOS / darwin -, ApplicationServices -, Carbon -, Cocoa -, CoreServices -, ScreenSaver -, UserNotifications + ApplicationServices, + Carbon, + Cocoa, + CoreServices, + ScreenSaver, + UserNotifications, }: stdenv.mkDerivation rec { @@ -52,86 +53,102 @@ stdenv.mkDerivation rec { ./darwin-non-static-openssl.patch ]; - postPatch = '' - substituteInPlace src/gui/src/SslCertificate.cpp \ - --replace 'kUnixOpenSslCommand[] = "openssl";' 'kUnixOpenSslCommand[] = "${openssl}/bin/openssl";' - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace src/lib/synergy/unix/AppUtilUnix.cpp \ - --replace "/usr/share/X11/xkb/rules/evdev.xml" "${xkeyboardconfig}/share/X11/xkb/rules/evdev.xml" - ''; + postPatch = + '' + substituteInPlace src/gui/src/SslCertificate.cpp \ + --replace 'kUnixOpenSslCommand[] = "openssl";' 'kUnixOpenSslCommand[] = "${openssl}/bin/openssl";' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace src/lib/synergy/unix/AppUtilUnix.cpp \ + --replace "/usr/share/X11/xkb/rules/evdev.xml" "${xkeyboardconfig}/share/X11/xkb/rules/evdev.xml" + ''; nativeBuildInputs = [ cmake pkg-config ] ++ lib.optional withGUI wrapQtAppsHook; - buildInputs = [ - qttools # Used for translations even when not building the GUI - openssl - pcre - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - Carbon - Cocoa - CoreServices - ScreenSaver - UserNotifications - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - util-linux - libselinux - libsepol - libICE - libSM - libX11 - libXi - libXtst - libXrandr - libXinerama - libxkbfile - xinput - avahi-compat - gdk-pixbuf - libnotify - ]; + buildInputs = + [ + qttools # Used for translations even when not building the GUI + openssl + pcre + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + Carbon + Cocoa + CoreServices + ScreenSaver + UserNotifications + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + util-linux + libselinux + libsepol + libICE + libSM + libX11 + libXi + libXtst + libXrandr + libXinerama + libxkbfile + xinput + avahi-compat + gdk-pixbuf + libnotify + ]; # Silences many warnings env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-inconsistent-missing-override"; - cmakeFlags = lib.optional (!withGUI) "-DSYNERGY_BUILD_LEGACY_GUI=OFF" + cmakeFlags = + lib.optional (!withGUI) "-DSYNERGY_BUILD_LEGACY_GUI=OFF" # NSFilenamesPboardType is deprecated in 10.14+ - ++ lib.optional stdenv.hostPlatform.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${if stdenv.hostPlatform.isAarch64 then "10.13" else stdenv.hostPlatform.darwinSdkVersion}"; + ++ lib.optional stdenv.hostPlatform.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${ + if stdenv.hostPlatform.isAarch64 then "10.13" else stdenv.hostPlatform.darwinSdkVersion + }"; doCheck = true; - checkPhase = '' - runHook preCheck - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # filter out tests failing with sandboxing on darwin - export GTEST_FILTER=-ServerConfigTests.serverconfig_will_deem_equal_configs_with_same_cell_names:NetworkAddress.hostname_valid_parsing - '' + '' - bin/unittests - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp bin/{synergyc,synergys,synergyd,syntool} $out/bin/ - '' + lib.optionalString withGUI '' - cp bin/synergy $out/bin/ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - mkdir -p $out/share/{applications,icons/hicolor/scalable/apps} - cp ../res/synergy.svg $out/share/icons/hicolor/scalable/apps/ - substitute ../res/synergy.desktop $out/share/applications/synergy.desktop \ - --replace "/usr/bin" "$out/bin" - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && withGUI) '' - mkdir -p $out/Applications - cp -r bundle/Synergy.app $out/Applications - ln -s $out/bin $out/Applications/Synergy.app/Contents/MacOS - '' + '' - runHook postInstall - ''; + checkPhase = + '' + runHook preCheck + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # filter out tests failing with sandboxing on darwin + export GTEST_FILTER=-ServerConfigTests.serverconfig_will_deem_equal_configs_with_same_cell_names:NetworkAddress.hostname_valid_parsing + '' + + '' + bin/unittests + runHook postCheck + ''; + + installPhase = + '' + runHook preInstall + + mkdir -p $out/bin + cp bin/{synergyc,synergys,synergyd,syntool} $out/bin/ + '' + + lib.optionalString withGUI '' + cp bin/synergy $out/bin/ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + mkdir -p $out/share/{applications,icons/hicolor/scalable/apps} + cp ../res/synergy.svg $out/share/icons/hicolor/scalable/apps/ + substitute ../res/synergy.desktop $out/share/applications/synergy.desktop \ + --replace "/usr/bin" "$out/bin" + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && withGUI) '' + mkdir -p $out/Applications + cp -r bundle/Synergy.app $out/Applications + ln -s $out/bin $out/Applications/Synergy.app/Contents/MacOS + '' + + '' + runHook postInstall + ''; dontWrapQtApps = lib.optional (!withGUI) true; diff --git a/pkgs/applications/misc/tandoor-recipes/frontend.nix b/pkgs/applications/misc/tandoor-recipes/frontend.nix index 76867f67a2cc1..0248e5ffbae0d 100644 --- a/pkgs/applications/misc/tandoor-recipes/frontend.nix +++ b/pkgs/applications/misc/tandoor-recipes/frontend.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchYarnDeps, fixup-yarn-lock, callPackage, nodejs, yarn }: +{ + stdenv, + fetchYarnDeps, + fixup-yarn-lock, + callPackage, + nodejs, + yarn, +}: let common = callPackage ./common.nix { }; in diff --git a/pkgs/applications/misc/tellico/default.nix b/pkgs/applications/misc/tellico/default.nix index 4fd35bee7e93c..baf3f2faa4958 100644 --- a/pkgs/applications/misc/tellico/default.nix +++ b/pkgs/applications/misc/tellico/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitLab -, mkDerivation -, cmake -, exempi -, extra-cmake-modules -, karchive -, kdoctools -, kfilemetadata -, khtml -, kitemmodels -, knewstuff -, kxmlgui -, libcdio -, libkcddb -, libksane -, makeWrapper -, poppler -, qtcharts -, qtwebengine -, solid -, taglib -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitLab, + mkDerivation, + cmake, + exempi, + extra-cmake-modules, + karchive, + kdoctools, + kfilemetadata, + khtml, + kitemmodels, + knewstuff, + kxmlgui, + libcdio, + libkcddb, + libksane, + makeWrapper, + poppler, + qtcharts, + qtwebengine, + solid, + taglib, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -66,7 +67,11 @@ stdenv.mkDerivation rec { description = "Collection management software, free and simple"; mainProgram = "tellico"; homepage = "https://tellico-project.org/"; - license = with licenses; [ gpl2Only gpl3Only lgpl2Only ]; + license = with licenses; [ + gpl2Only + gpl3Only + lgpl2Only + ]; maintainers = with maintainers; [ numkem ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/misc/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix index d2d592dce7e9d..aa20f51e3ae0a 100644 --- a/pkgs/applications/misc/termdown/default.nix +++ b/pkgs/applications/misc/termdown/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, buildPythonApplication -, click -, pyfiglet -, python-dateutil -, setuptools +{ + lib, + fetchFromGitHub, + buildPythonApplication, + click, + pyfiglet, + python-dateutil, + setuptools, }: buildPythonApplication rec { @@ -18,7 +19,12 @@ buildPythonApplication rec { owner = "trehn"; }; - propagatedBuildInputs = [ python-dateutil click pyfiglet setuptools ]; + propagatedBuildInputs = [ + python-dateutil + click + pyfiglet + setuptools + ]; meta = with lib; { description = "Starts a countdown to or from TIMESPEC"; diff --git a/pkgs/applications/misc/termpdf.py/default.nix b/pkgs/applications/misc/termpdf.py/default.nix index 244bfee240329..9997f53ca3fb3 100644 --- a/pkgs/applications/misc/termpdf.py/default.nix +++ b/pkgs/applications/misc/termpdf.py/default.nix @@ -1,5 +1,17 @@ -{ lib, buildPythonApplication, fetchFromGitHub, bibtool, pybtex, pymupdf, pynvim -, pyperclip, roman, pdfrw, pagelabels, setuptools }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + bibtool, + pybtex, + pymupdf, + pynvim, + pyperclip, + roman, + pdfrw, + pagelabels, + setuptools, +}: buildPythonApplication { pname = "termpdf.py"; diff --git a/pkgs/applications/misc/tipp10/default.nix b/pkgs/applications/misc/tipp10/default.nix index 2986d7981b35f..29f1591b9fc85 100644 --- a/pkgs/applications/misc/tipp10/default.nix +++ b/pkgs/applications/misc/tipp10/default.nix @@ -1,5 +1,14 @@ -{ stdenv, cmake, lib, fetchFromGitLab, - qtmultimedia, qttools, qtwayland, wrapQtAppsHook, ... }: +{ + stdenv, + cmake, + lib, + fetchFromGitLab, + qtmultimedia, + qttools, + qtwayland, + wrapQtAppsHook, + ... +}: stdenv.mkDerivation rec { pname = "tipp10"; @@ -12,8 +21,15 @@ stdenv.mkDerivation rec { hash = "sha256-e0sWH4pT7ej9XGK/Sg9XMX2bMqcXqtSaYI7KBZTXvp4="; }; - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; - buildInputs = [ qtmultimedia qtwayland ]; + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; + buildInputs = [ + qtmultimedia + qtwayland + ]; meta = { description = "Learn and train typing with the ten-finger system"; diff --git a/pkgs/applications/misc/tpmmanager/default.nix b/pkgs/applications/misc/tpmmanager/default.nix index 763cd75ffdbfa..0e25349d2f338 100644 --- a/pkgs/applications/misc/tpmmanager/default.nix +++ b/pkgs/applications/misc/tpmmanager/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, qtbase, qmake, wrapQtAppsHook, trousers }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qtbase, + qmake, + wrapQtAppsHook, + trousers, +}: stdenv.mkDerivation rec { version = "0.8.1"; @@ -23,9 +32,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; - buildInputs = [ qtbase trousers ]; + buildInputs = [ + qtbase + trousers + ]; installPhase = '' mkdir -p $out/bin @@ -41,7 +56,7 @@ stdenv.mkDerivation rec { Exec=$out/bin/tpmmanager Terminal=false EOF - ''; + ''; meta = { homepage = "https://projects.sirrix.com/trac/tpmmanager"; diff --git a/pkgs/applications/misc/trenchbroom/default.nix b/pkgs/applications/misc/trenchbroom/default.nix index df7cb0a083923..646cac86cb8b9 100644 --- a/pkgs/applications/misc/trenchbroom/default.nix +++ b/pkgs/applications/misc/trenchbroom/default.nix @@ -1,9 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, writeText -, cmake, ninja, curl, git, pandoc, pkg-config, unzip, zip -, libGL, libGLU, freeimage, freetype, assimp -, catch2, fmt, glew, miniz, tinyxml-2, xorg -, qtbase, qtwayland, wrapQtAppsHook -, copyDesktopItems, makeDesktopItem +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + cmake, + ninja, + curl, + git, + pandoc, + pkg-config, + unzip, + zip, + libGL, + libGLU, + freeimage, + freetype, + assimp, + catch2, + fmt, + glew, + miniz, + tinyxml-2, + xorg, + qtbase, + qtwayland, + wrapQtAppsHook, + copyDesktopItems, + makeDesktopItem, }: stdenv.mkDerivation rec { @@ -40,8 +63,10 @@ stdenv.mkDerivation rec { Architecture : ${vcpkg_target} Version : 1.0 Status : is installed - '') vcpkg_pkgs); - in '' + '') vcpkg_pkgs + ); + in + '' export VCPKG_ROOT="$TMP/vcpkg" mkdir -p $VCPKG_ROOT/.vcpkg-root @@ -71,11 +96,33 @@ stdenv.mkDerivation rec { --replace 'set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")' 'set(CPACK_PACKAGING_INSTALL_PREFIX "'$out'")' ''; - nativeBuildInputs = [ cmake ninja curl git pandoc wrapQtAppsHook copyDesktopItems pkg-config unzip zip ]; + nativeBuildInputs = [ + cmake + ninja + curl + git + pandoc + wrapQtAppsHook + copyDesktopItems + pkg-config + unzip + zip + ]; buildInputs = [ - libGL libGLU xorg.libXxf86vm xorg.libSM - freeimage freetype qtbase qtwayland catch2 fmt - glew miniz tinyxml-2 assimp + libGL + libGLU + xorg.libXxf86vm + xorg.libSM + freeimage + freetype + qtbase + qtwayland + catch2 + fmt + glew + miniz + tinyxml-2 + assimp ]; QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}"; QT_QPA_PLATFORM = "offscreen"; diff --git a/pkgs/applications/misc/tuxclocker/default.nix b/pkgs/applications/misc/tuxclocker/default.nix index 8f1cdde3d703f..42f02f2ab223a 100644 --- a/pkgs/applications/misc/tuxclocker/default.nix +++ b/pkgs/applications/misc/tuxclocker/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, boost -, fetchFromGitHub -, git -, makeWrapper -, meson -, ninja -, pkg-config -, python3 -, qtbase -, qtcharts -, tuxclocker-plugins -, tuxclocker-without-unfree -, wrapQtAppsHook +{ + lib, + stdenv, + boost, + fetchFromGitHub, + git, + makeWrapper, + meson, + ninja, + pkg-config, + python3, + qtbase, + qtcharts, + tuxclocker-plugins, + tuxclocker-without-unfree, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/misc/twitch-chat-downloader/default.nix b/pkgs/applications/misc/twitch-chat-downloader/default.nix index ffe1ddc9c220a..e3b42c54a1988 100644 --- a/pkgs/applications/misc/twitch-chat-downloader/default.nix +++ b/pkgs/applications/misc/twitch-chat-downloader/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, iso8601 -, progressbar2 -, requests +{ + lib, + buildPythonApplication, + fetchFromGitHub, + iso8601, + progressbar2, + requests, }: buildPythonApplication rec { diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix index 7700c62a50642..6a55e9ecdcbf1 100644 --- a/pkgs/applications/misc/twmn/default.nix +++ b/pkgs/applications/misc/twmn/default.nix @@ -1,4 +1,13 @@ -{ lib, mkDerivation, fetchFromGitHub, qtbase, qtx11extras, qmake, pkg-config, boost }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qtbase, + qtx11extras, + qmake, + pkg-config, + boost, +}: mkDerivation { pname = "twmn"; @@ -11,8 +20,15 @@ mkDerivation { sha256 = "0mpjvp800x07lp9i3hfcc5f4bqj1fj4w3dyr0zwaxc6wqmm0fdqz"; }; - nativeBuildInputs = [ pkg-config qmake ]; - buildInputs = [ qtbase qtx11extras boost ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; + buildInputs = [ + qtbase + qtx11extras + boost + ]; postPatch = '' sed -i s/-Werror// twmnd/twmnd.pro diff --git a/pkgs/applications/misc/ubpm/default.nix b/pkgs/applications/misc/ubpm/default.nix index 883850f10b133..013d31b9d57fd 100644 --- a/pkgs/applications/misc/ubpm/default.nix +++ b/pkgs/applications/misc/ubpm/default.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchFromGitea, qmake, qttools, qtbase, qtserialport -, qtconnectivity, qtcharts, wrapQtAppsHook, fetchpatch }: +{ + stdenv, + lib, + fetchFromGitea, + qmake, + qttools, + qtbase, + qtserialport, + qtconnectivity, + qtcharts, + wrapQtAppsHook, + fetchpatch, +}: stdenv.mkDerivation (finalAttrs: { pname = "ubpm"; @@ -16,8 +27,7 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # fixes qmake for nix (fetchpatch { - url = - "https://codeberg.org/LazyT/ubpm/commit/f18841d6473cab9aa2a9d4c02392b8e103245ef6.diff"; + url = "https://codeberg.org/LazyT/ubpm/commit/f18841d6473cab9aa2a9d4c02392b8e103245ef6.diff"; hash = "sha256-lgXWu8PUUCt66btj6hVgOFXz3U1BJM3ataSo1MpHkfU="; }) ]; @@ -30,12 +40,21 @@ stdenv.mkDerivation (finalAttrs: { wrapQtApp $out/bin/ubpm ''; - nativeBuildInputs = [ qmake qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + qttools + wrapQtAppsHook + ]; # *.so plugins are being wrapped automatically which breaks them dontWrapQtApps = true; - buildInputs = [ qtbase qtserialport qtconnectivity qtcharts ]; + buildInputs = [ + qtbase + qtserialport + qtconnectivity + qtcharts + ]; meta = with lib; { homepage = "https://codeberg.org/LazyT/ubpm"; diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix index 7cb59e2c8c2bf..51530cec1a28c 100644 --- a/pkgs/applications/misc/visidata/default.nix +++ b/pkgs/applications/misc/visidata/default.nix @@ -1,49 +1,53 @@ -{ stdenv -, lib -, buildPythonApplication -, fetchFromGitHub +{ + stdenv, + lib, + buildPythonApplication, + fetchFromGitHub, # python requirements -, beautifulsoup4 -, boto3 -, faker -, fonttools -, h5py -, importlib-metadata -, lxml -, matplotlib -, numpy -, odfpy -, openpyxl -, pandas -, pdfminer-six -, praw -, psutil -, psycopg2 -, pyarrow -, pyshp -, pypng -, msgpack -, brotli -, python-dateutil -, pyyaml -, requests -, seaborn -, setuptools -, sh -, tabulate -, urllib3 -, vobject -, wcwidth -, xlrd -, xlwt -, zstandard -, zulip -# other -, git -, withPcap ? true, dpkt, dnslib -, withXclip ? stdenv.hostPlatform.isLinux, xclip -, testers -, visidata + beautifulsoup4, + boto3, + faker, + fonttools, + h5py, + importlib-metadata, + lxml, + matplotlib, + numpy, + odfpy, + openpyxl, + pandas, + pdfminer-six, + praw, + psutil, + psycopg2, + pyarrow, + pyshp, + pypng, + msgpack, + brotli, + python-dateutil, + pyyaml, + requests, + seaborn, + setuptools, + sh, + tabulate, + urllib3, + vobject, + wcwidth, + xlrd, + xlwt, + zstandard, + zulip, + # other + git, + withPcap ? true, + dpkt, + dnslib, + withXclip ? stdenv.hostPlatform.isLinux, + xclip, + testers, + visidata, }: buildPythonApplication rec { pname = "visidata"; @@ -56,60 +60,65 @@ buildPythonApplication rec { hash = "sha256-ICEYC9QjYrB+oTzakfjgyg4DigzDOtYnqHRTaqF7Gw0="; }; - propagatedBuildInputs = [ - # from visidata/requirements.txt - # packages not (yet) present in nixpkgs are commented - python-dateutil - pandas - requests - lxml - openpyxl - xlrd - xlwt - h5py - psycopg2 - boto3 - pyshp - #mapbox-vector-tile - pypng - #pyconll - msgpack - brotli - #fecfile - fonttools - #sas7bdat - #xport - #savReaderWriter - pyyaml - #namestand - #datapackage - pdfminer-six - #tabula - vobject - tabulate - wcwidth - zstandard - odfpy - urllib3 - pyarrow - seaborn - matplotlib - sh - psutil - numpy + propagatedBuildInputs = + [ + # from visidata/requirements.txt + # packages not (yet) present in nixpkgs are commented + python-dateutil + pandas + requests + lxml + openpyxl + xlrd + xlwt + h5py + psycopg2 + boto3 + pyshp + #mapbox-vector-tile + pypng + #pyconll + msgpack + brotli + #fecfile + fonttools + #sas7bdat + #xport + #savReaderWriter + pyyaml + #namestand + #datapackage + pdfminer-six + #tabula + vobject + tabulate + wcwidth + zstandard + odfpy + urllib3 + pyarrow + seaborn + matplotlib + sh + psutil + numpy - #requests_cache - beautifulsoup4 + #requests_cache + beautifulsoup4 - faker - praw - zulip - #pyairtable + faker + praw + zulip + #pyairtable - setuptools - importlib-metadata - ] ++ lib.optionals withPcap [ dpkt dnslib ] - ++ lib.optional withXclip xclip; + setuptools + importlib-metadata + ] + ++ lib.optionals withPcap [ + dpkt + dnslib + ] + ++ lib.optional withXclip xclip; nativeCheckInputs = [ git @@ -147,7 +156,7 @@ buildPythonApplication rec { install -Dm644 _visidata -t $out/share/zsh/site-functions ''; - pythonImportsCheck = ["visidata"]; + pythonImportsCheck = [ "visidata" ]; passthru.tests.version = testers.testVersion { package = visidata; @@ -157,7 +166,10 @@ buildPythonApplication rec { meta = { description = "Interactive terminal multitool for tabular data"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ raskin markus1189 ]; + maintainers = with lib.maintainers; [ + raskin + markus1189 + ]; homepage = "https://visidata.org/"; changelog = "https://github.com/saulpw/visidata/blob/v${version}/CHANGELOG.md"; }; diff --git a/pkgs/applications/misc/whalebird/default.nix b/pkgs/applications/misc/whalebird/default.nix index 794ae86e0cfcc..938904dfc7999 100644 --- a/pkgs/applications/misc/whalebird/default.nix +++ b/pkgs/applications/misc/whalebird/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, electron -, cacert -, gitMinimal -, yarn +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + electron, + cacert, + gitMinimal, + yarn, }: stdenv.mkDerivation rec { pname = "whalebird"; @@ -108,6 +109,9 @@ stdenv.mkDerivation rec { changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${version}"; license = licenses.gpl3Only; maintainers = with maintainers; [ weathercold ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/applications/misc/wikicurses/default.nix b/pkgs/applications/misc/wikicurses/default.nix index d339e8646e75f..64f8f2cbac36c 100644 --- a/pkgs/applications/misc/wikicurses/default.nix +++ b/pkgs/applications/misc/wikicurses/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, pythonPackages }: +{ + lib, + fetchFromGitHub, + pythonPackages, +}: pythonPackages.buildPythonApplication rec { version = "1.4"; @@ -11,9 +15,16 @@ pythonPackages.buildPythonApplication rec { sha256 = "0f14s4qx3q5pr5vn460c34b5mbz2xs62d8ljs3kic8gmdn8x2knm"; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - propagatedBuildInputs = with pythonPackages; [ urwid beautifulsoup4 lxml ]; + propagatedBuildInputs = with pythonPackages; [ + urwid + beautifulsoup4 + lxml + ]; postInstall = '' mkdir -p $man/share/man/man{1,5} @@ -33,4 +44,3 @@ pythonPackages.buildPythonApplication rec { }; } - diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix index 6789c33ce29df..0772cd2d01a22 100644 --- a/pkgs/applications/misc/wordnet/default.nix +++ b/pkgs/applications/misc/wordnet/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, tcl, tk, Cocoa, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + tcl, + tk, + Cocoa, + makeWrapper, +}: stdenv.mkDerivation rec { version = "3.0"; @@ -9,8 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ tcl tk ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + buildInputs = [ + tcl + tk + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix index 869f7c63712c7..5a0f4cd51acf6 100644 --- a/pkgs/applications/misc/workrave/default.nix +++ b/pkgs/applications/misc/workrave/default.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapGAppsHook3 -, autoconf -, autoconf-archive -, automake -, gettext -, intltool -, libtool -, pkg-config -, libICE -, libSM -, libXScrnSaver -, libXtst -, gobject-introspection -, glib -, glibmm -, gtkmm3 -, atk -, pango -, pangomm -, cairo -, cairomm -, dbus -, dbus-glib -, gdome2 -, gstreamer -, gst-plugins-base -, gst-plugins-good -, libsigcxx -, boost -, jinja2 +{ + lib, + stdenv, + fetchFromGitHub, + wrapGAppsHook3, + autoconf, + autoconf-archive, + automake, + gettext, + intltool, + libtool, + pkg-config, + libICE, + libSM, + libXScrnSaver, + libXtst, + gobject-introspection, + glib, + glibmm, + gtkmm3, + atk, + pango, + pangomm, + cairo, + cairomm, + dbus, + dbus-glib, + gdome2, + gstreamer, + gst-plugins-base, + gst-plugins-good, + libsigcxx, + boost, + jinja2, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index 0863756777e23..bd8227b4c8351 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, wrapQtAppsHook -, cmake -, pkg-config -, openssl -, qtbase -, qttools -, sphinx +{ + stdenv, + lib, + fetchFromGitHub, + wrapQtAppsHook, + cmake, + pkg-config, + openssl, + qtbase, + qttools, + sphinx, }: stdenv.mkDerivation (finalAttrs: { @@ -21,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-2TqqHTutG+5YU2mJNTS3pvtEqV7qKVB+j/dipdmEkIk="; }; - buildInputs = [ openssl qtbase ]; + buildInputs = [ + openssl + qtbase + ]; nativeBuildInputs = [ cmake @@ -48,7 +52,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "xca"; homepage = "https://hohnstaedt.de/xca/"; license = licenses.bsd3; - maintainers = with maintainers; [ offline peterhoeg ]; + maintainers = with maintainers; [ + offline + peterhoeg + ]; inherit (qtbase.meta) platforms; }; }) diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix index 9efdbc700a646..7090f85483b4c 100644 --- a/pkgs/applications/misc/xmrig/proxy.nix +++ b/pkgs/applications/misc/xmrig/proxy.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, libuv -, libmicrohttpd -, openssl -, darwin +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libuv, + libmicrohttpd, + openssl, + darwin, }: let @@ -34,14 +35,16 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = [ - libuv - libmicrohttpd - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - IOKit - ]; + buildInputs = + [ + libuv + libmicrohttpd + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + IOKit + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix index 13b4097f8cdf2..172da584bd0eb 100644 --- a/pkgs/applications/misc/xpdf/default.nix +++ b/pkgs/applications/misc/xpdf/default.nix @@ -1,9 +1,19 @@ -{ enableGUI ? true -, enablePDFtoPPM ? true -, enablePrinting ? true -, lib, stdenv, fetchzip, cmake, makeDesktopItem -, zlib, libpng, cups ? null, freetype ? null -, qtbase ? null, qtsvg ? null, wrapQtAppsHook +{ + enableGUI ? true, + enablePDFtoPPM ? true, + enablePrinting ? true, + lib, + stdenv, + fetchzip, + cmake, + makeDesktopItem, + zlib, + libpng, + cups ? null, + freetype ? null, + qtbase ? null, + qtsvg ? null, + wrapQtAppsHook, }: assert enableGUI -> qtbase != null && qtsvg != null && freetype != null; @@ -28,19 +38,24 @@ stdenv.mkDerivation rec { postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace CMakeLists.txt --replace \ 'cmake_minimum_required(VERSION 2.8.12)' 'cmake_minimum_required(VERSION 3.1.0)' - ''; + ''; - nativeBuildInputs = - [ cmake ] - ++ lib.optional enableGUI wrapQtAppsHook; + nativeBuildInputs = [ cmake ] ++ lib.optional enableGUI wrapQtAppsHook; - cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON" "-DOPI_SUPPORT=ON"] - ++ lib.optional (!enablePrinting) "-DXPDFWIDGET_PRINTING=OFF"; + cmakeFlags = [ + "-DSYSTEM_XPDFRC=/etc/xpdfrc" + "-DA4_PAPER=ON" + "-DOPI_SUPPORT=ON" + ] ++ lib.optional (!enablePrinting) "-DXPDFWIDGET_PRINTING=OFF"; - buildInputs = [ zlib libpng ] ++ - lib.optional enableGUI qtbase ++ - lib.optional enablePrinting cups ++ - lib.optional enablePDFtoPPM freetype; + buildInputs = + [ + zlib + libpng + ] + ++ lib.optional enableGUI qtbase + ++ lib.optional enablePrinting cups + ++ lib.optional enablePDFtoPPM freetype; desktopItem = makeDesktopItem { name = "xpdf"; @@ -72,7 +87,10 @@ stdenv.mkDerivation rec { pdffonts: lists fonts used in PDF files pdfdetach: extracts attached files from PDF files ''; - license = with licenses; [ gpl2Only gpl3Only ]; + license = with licenses; [ + gpl2Only + gpl3Only + ]; platforms = platforms.unix; maintainers = with maintainers; [ sikmir ]; knownVulnerabilities = [ diff --git a/pkgs/applications/misc/xpdf/libxpdf.nix b/pkgs/applications/misc/xpdf/libxpdf.nix index 61c696f1309e5..6f7ccfb897408 100644 --- a/pkgs/applications/misc/xpdf/libxpdf.nix +++ b/pkgs/applications/misc/xpdf/libxpdf.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation { diff --git a/pkgs/applications/misc/xsw/default.nix b/pkgs/applications/misc/xsw/default.nix index 0baf0dc47a4e0..fddaaa1652d74 100644 --- a/pkgs/applications/misc/xsw/default.nix +++ b/pkgs/applications/misc/xsw/default.nix @@ -1,9 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, SDL, SDL_image, SDL_ttf, SDL_gfx, flex, bison }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + SDL, + SDL_image, + SDL_ttf, + SDL_gfx, + flex, + bison, +}: let makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL"); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "xsw"; version = "0.1.2"; @@ -14,11 +26,25 @@ in stdenv.mkDerivation rec { sha256 = "092vp61ngd2vscsvyisi7dv6qrk5m1i81gg19hyfl5qvjq5p0p8g"; }; - nativeBuildInputs = [ pkg-config flex bison ]; + nativeBuildInputs = [ + pkg-config + flex + bison + ]; - buildInputs = [ SDL SDL_image SDL_ttf SDL_gfx ]; + buildInputs = [ + SDL + SDL_image + SDL_ttf + SDL_gfx + ]; - env.NIX_CFLAGS_COMPILE = toString (makeSDLFlags [ SDL SDL_image SDL_ttf SDL_gfx ]); + env.NIX_CFLAGS_COMPILE = toString (makeSDLFlags [ + SDL + SDL_image + SDL_ttf + SDL_gfx + ]); patches = [ ./parse.patch # Fixes compilation error by avoiding redundant definitions. @@ -29,7 +55,7 @@ in stdenv.mkDerivation rec { description = "Slide show presentation tool"; platforms = platforms.unix; - license = licenses.gpl3; + license = licenses.gpl3; maintainers = [ ]; mainProgram = "xsw"; }; diff --git a/pkgs/applications/misc/xygrib/default.nix b/pkgs/applications/misc/xygrib/default.nix index 32605747399a3..72a5f47d9053b 100644 --- a/pkgs/applications/misc/xygrib/default.nix +++ b/pkgs/applications/misc/xygrib/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj_7, libpng, openjpeg }: +{ + lib, + stdenv, + fetchFromGitHub, + wrapQtAppsHook, + cmake, + bzip2, + qtbase, + qttools, + libnova, + proj_7, + libpng, + openjpeg, +}: stdenv.mkDerivation rec { version = "unstable-2022-05-16"; @@ -11,26 +24,43 @@ stdenv.mkDerivation rec { sha256 = "sha256-qMMeRYIQqJpVRE3YjbXIiXHwS/CHs9l2QihszwQIr/A="; }; - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; - buildInputs = [ bzip2 qtbase libnova proj_7 openjpeg libpng ]; - cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-${lib.versions.majorMinor openjpeg.version}" ] + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; + buildInputs = [ + bzip2 + qtbase + libnova + proj_7 + openjpeg + libpng + ]; + cmakeFlags = + [ + "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-${lib.versions.majorMinor openjpeg.version}" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DLIBNOVA_LIBRARY=${libnova}/lib/libnova.dylib" ]; postInstall = - if stdenv.hostPlatform.isDarwin then '' - mkdir -p "$out/Applications" "$out/XyGrib/XyGrib.app/Contents/Resources" - cp "../data/img/xyGrib.icns" "$out/XyGrib/XyGrib.app/Contents/Resources/xyGrib.icns" - mv $out/XyGrib/XyGrib.app $out/Applications - wrapQtApp "$out/Applications/XyGrib.app/Contents/MacOS/XyGrib" - '' else '' - wrapQtApp $out/XyGrib/XyGrib - mkdir -p $out/bin - ln -s $out/XyGrib/XyGrib $out/bin/xygrib - install -Dm444 $src/debian/xygrib.png -t $out/share/icons/hicolor/32x32/apps - install -Dm444 $src/debian/xygrib.desktop -t $out/share/applications - substituteInPlace $out/share/applications/xygrib.desktop \ - --replace 'Exec=XyGrib' 'Exec=xygrib' - ''; + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p "$out/Applications" "$out/XyGrib/XyGrib.app/Contents/Resources" + cp "../data/img/xyGrib.icns" "$out/XyGrib/XyGrib.app/Contents/Resources/xyGrib.icns" + mv $out/XyGrib/XyGrib.app $out/Applications + wrapQtApp "$out/Applications/XyGrib.app/Contents/MacOS/XyGrib" + '' + else + '' + wrapQtApp $out/XyGrib/XyGrib + mkdir -p $out/bin + ln -s $out/XyGrib/XyGrib $out/bin/xygrib + install -Dm444 $src/debian/xygrib.png -t $out/share/icons/hicolor/32x32/apps + install -Dm444 $src/debian/xygrib.desktop -t $out/share/applications + substituteInPlace $out/share/applications/xygrib.desktop \ + --replace 'Exec=XyGrib' 'Exec=xygrib' + ''; meta = with lib; { homepage = "https://opengribs.org"; diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix index 55acd53fd1e0f..84030033ffe0a 100644 --- a/pkgs/applications/misc/yokadi/default.nix +++ b/pkgs/applications/misc/yokadi/default.nix @@ -1,5 +1,12 @@ -{ lib, fetchurl, buildPythonApplication, python-dateutil, - sqlalchemy, setproctitle, icalendar }: +{ + lib, + fetchurl, + buildPythonApplication, + python-dateutil, + sqlalchemy, + setproctitle, + icalendar, +}: buildPythonApplication rec { pname = "yokadi"; diff --git a/pkgs/applications/networking/breitbandmessung/default.nix b/pkgs/applications/networking/breitbandmessung/default.nix index 6bcd3c662e86c..56315779dd111 100644 --- a/pkgs/applications/networking/breitbandmessung/default.nix +++ b/pkgs/applications/networking/breitbandmessung/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, asar -, dpkg -, electron -, makeWrapper -, nixosTests -, undmg +{ + lib, + stdenv, + fetchurl, + asar, + dpkg, + electron, + makeWrapper, + nixosTests, + undmg, }: let @@ -14,74 +15,85 @@ let sources = import ./sources.nix; - systemArgs = rec { - x86_64-linux = { - src = fetchurl sources.x86_64-linux; + systemArgs = + rec { + x86_64-linux = { + src = fetchurl sources.x86_64-linux; - nativeBuildInputs = [ - asar - dpkg - makeWrapper - ]; + nativeBuildInputs = [ + asar + dpkg + makeWrapper + ]; - installPhase = '' - mkdir -p $out/bin - mv usr/share $out/share - mkdir -p $out/share/breitbandmessung/resources + installPhase = '' + mkdir -p $out/bin + mv usr/share $out/share + mkdir -p $out/share/breitbandmessung/resources - asar e opt/Breitbandmessung/resources/app.asar $out/share/breitbandmessung/resources + asar e opt/Breitbandmessung/resources/app.asar $out/share/breitbandmessung/resources - # At first start, the program checks for supported operating systems by using the `bizzby-lsb-release` - # module and only runs when it finds Debian/Ubuntu. So we present us as Debian and make it happy. - cat < $out/share/breitbandmessung/resources/node_modules/bizzby-lsb-release/lib/lsb-release.js - module.exports = function release() { - return { - distributorID: "Debian", - description: "Debian GNU/Linux 10 (buster)", - release: "10", - codename: "buster" + # At first start, the program checks for supported operating systems by using the `bizzby-lsb-release` + # module and only runs when it finds Debian/Ubuntu. So we present us as Debian and make it happy. + cat < $out/share/breitbandmessung/resources/node_modules/bizzby-lsb-release/lib/lsb-release.js + module.exports = function release() { + return { + distributorID: "Debian", + description: "Debian GNU/Linux 10 (buster)", + release: "10", + codename: "buster" + } } - } - EOF + EOF - makeWrapper ${electron}/bin/electron $out/bin/breitbandmessung \ - --add-flags $out/share/breitbandmessung/resources/build/electron.js + makeWrapper ${electron}/bin/electron $out/bin/breitbandmessung \ + --add-flags $out/share/breitbandmessung/resources/build/electron.js - # Fix the desktop link - substituteInPlace $out/share/applications/breitbandmessung.desktop \ - --replace /opt/Breitbandmessung $out/bin - ''; - }; + # Fix the desktop link + substituteInPlace $out/share/applications/breitbandmessung.desktop \ + --replace /opt/Breitbandmessung $out/bin + ''; + }; - x86_64-darwin = { - src = fetchurl sources.x86_64-darwin; + x86_64-darwin = { + src = fetchurl sources.x86_64-darwin; - nativeBuildInputs = [ undmg ]; + nativeBuildInputs = [ undmg ]; - installPhase = '' - runHook preInstall - mkdir -p $out/Applications/Breitbandmessung.app - cp -R . $out/Applications/Breitbandmessung.app - runHook postInstall - ''; - }; + installPhase = '' + runHook preInstall + mkdir -p $out/Applications/Breitbandmessung.app + cp -R . $out/Applications/Breitbandmessung.app + runHook postInstall + ''; + }; - aarch64-darwin = x86_64-darwin; - }.${system} or { src = throw "Unsupported system: ${system}"; }; + aarch64-darwin = x86_64-darwin; + } + .${system} or { + src = throw "Unsupported system: ${system}"; + }; in -stdenv.mkDerivation ({ - pname = "breitbandmessung"; - inherit (sources) version; +stdenv.mkDerivation ( + { + pname = "breitbandmessung"; + inherit (sources) version; - passthru.tests = { inherit (nixosTests) breitbandmessung; }; - passthru.updateScript = ./update.sh; + passthru.tests = { inherit (nixosTests) breitbandmessung; }; + passthru.updateScript = ./update.sh; - meta = with lib; { - description = "Broadband internet speed test app from the german Bundesnetzagentur"; - homepage = "https://www.breitbandmessung.de"; - license = licenses.unfree; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ b4dm4n ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; - }; -} // systemArgs) + meta = with lib; { + description = "Broadband internet speed test app from the german Bundesnetzagentur"; + homepage = "https://www.breitbandmessung.de"; + license = licenses.unfree; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ b4dm4n ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + }; + } + // systemArgs +) diff --git a/pkgs/applications/networking/browsers/asuka/default.nix b/pkgs/applications/networking/browsers/asuka/default.nix index 786f11d2d743c..c2f6a0936771f 100644 --- a/pkgs/applications/networking/browsers/asuka/default.nix +++ b/pkgs/applications/networking/browsers/asuka/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, rustPlatform, fetchFromSourcehut, pkg-config, ncurses, openssl, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchFromSourcehut, + pkg-config, + ncurses, + openssl, + Security, +}: rustPlatform.buildRustPackage rec { pname = "asuka"; @@ -15,8 +24,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ncurses openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin Security; + buildInputs = [ + ncurses + openssl + ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; meta = with lib; { description = "Gemini Project client written in Rust with NCurses"; diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index bdedac20c5ebd..9006e143ed6ea 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -1,14 +1,24 @@ -{ lib, mkChromiumDerivation -, chromiumVersionAtLeast -, enableWideVine, ungoogled +{ + lib, + mkChromiumDerivation, + chromiumVersionAtLeast, + enableWideVine, + ungoogled, }: mkChromiumDerivation (base: rec { name = "chromium-browser"; packageName = "chromium"; - buildTargets = [ "run_mksnapshot_default" "chrome_sandbox" "chrome" ]; + buildTargets = [ + "run_mksnapshot_default" + "chrome_sandbox" + "chrome" + ]; - outputs = ["out" "sandbox"]; + outputs = [ + "out" + "sandbox" + ]; sandboxExecutableName = "__chromium-suid-sandbox"; @@ -73,7 +83,8 @@ mkChromiumDerivation (base: rec { requiredSystemFeatures = [ "big-parallel" ]; meta = { - description = "Open source web browser from Google" + description = + "Open source web browser from Google" + lib.optionalString ungoogled ", with dependencies on Google web services removed"; longDescription = '' Chromium is an open source web browser from Google that aims to build a @@ -81,18 +92,32 @@ mkChromiumDerivation (base: rec { the web. It has a minimalist user interface and provides the vast majority of source code for Google Chrome (which has some additional features). ''; - homepage = if ungoogled - then "https://github.com/ungoogled-software/ungoogled-chromium" - else "https://www.chromium.org/"; + homepage = + if ungoogled then + "https://github.com/ungoogled-software/ungoogled-chromium" + else + "https://www.chromium.org/"; # Maintainer pings for this derivation are highly unreliable. # If you add yourself as maintainer here, please also add yourself as CODEOWNER. - maintainers = with lib.maintainers; if ungoogled - then [ networkexception emilylange ] - else [ networkexception emilylange ]; + maintainers = + with lib.maintainers; + if ungoogled then + [ + networkexception + emilylange + ] + else + [ + networkexception + emilylange + ]; license = if enableWideVine then lib.licenses.unfree else lib.licenses.bsd3; platforms = lib.platforms.linux; mainProgram = "chromium"; - hydraPlatforms = ["aarch64-linux" "x86_64-linux"]; + hydraPlatforms = [ + "aarch64-linux" + "x86_64-linux" + ]; timeout = 172800; # 48 hours (increased from the Hydra default of 10h) }; }) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index c0a661a860389..0c990c1b9d2a1 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -1,97 +1,152 @@ -{ stdenv, lib, fetchpatch -, zstd -, fetchFromGitiles -, fetchNpmDeps -, buildPackages -, pkgsBuildBuild -# Channel data: -, upstream-info -# Helper functions: -, chromiumVersionAtLeast, versionRange - -# Native build inputs: -, ninja, pkg-config -, python3, perl -, nodejs -, npmHooks -, which -, libuuid -, overrideCC -# postPatch: -, pkgsBuildHost -# configurePhase: -, gnChromium -, symlinkJoin - -# Build inputs: -, libpng -, bzip2, flac, speex, libopus -, libevent, expat, libjpeg, snappy -, libcap -, minizip, libwebp -, libusb1, re2 -, ffmpeg, libxslt, libxml2 -, nasm -, nspr, nss -, util-linux, alsa-lib -, bison, gperf, libkrb5 -, glib, gtk3, dbus-glib -, libXScrnSaver, libXcursor, libXtst, libxshmfence, libGLU, libGL -, mesa -, pciutils, protobuf, speechd-minimal, libXdamage, at-spi2-core -, pipewire -, libva -, libdrm, wayland, libxkbcommon # Ozone -, curl -, libffi -, libepoxy -, libevdev -# postPatch: -, glibc # gconv + locale -# postFixup: -, vulkan-loader - -# Package customization: -, cupsSupport ? true, cups ? null -, proprietaryCodecs ? true -, pulseSupport ? false, libpulseaudio ? null -, ungoogled ? false, ungoogled-chromium -# Optional dependencies: -, libgcrypt ? null # cupsSupport -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd +{ + stdenv, + lib, + fetchpatch, + zstd, + fetchFromGitiles, + fetchNpmDeps, + buildPackages, + pkgsBuildBuild, + # Channel data: + upstream-info, + # Helper functions: + chromiumVersionAtLeast, + versionRange, + + # Native build inputs: + ninja, + pkg-config, + python3, + perl, + nodejs, + npmHooks, + which, + libuuid, + overrideCC, + # postPatch: + pkgsBuildHost, + # configurePhase: + gnChromium, + symlinkJoin, + + # Build inputs: + libpng, + bzip2, + flac, + speex, + libopus, + libevent, + expat, + libjpeg, + snappy, + libcap, + minizip, + libwebp, + libusb1, + re2, + ffmpeg, + libxslt, + libxml2, + nasm, + nspr, + nss, + util-linux, + alsa-lib, + bison, + gperf, + libkrb5, + glib, + gtk3, + dbus-glib, + libXScrnSaver, + libXcursor, + libXtst, + libxshmfence, + libGLU, + libGL, + mesa, + pciutils, + protobuf, + speechd-minimal, + libXdamage, + at-spi2-core, + pipewire, + libva, + libdrm, + wayland, + libxkbcommon, # Ozone + curl, + libffi, + libepoxy, + libevdev, + # postPatch: + glibc, # gconv + locale + # postFixup: + vulkan-loader, + + # Package customization: + cupsSupport ? true, + cups ? null, + proprietaryCodecs ? true, + pulseSupport ? false, + libpulseaudio ? null, + ungoogled ? false, + ungoogled-chromium, + # Optional dependencies: + libgcrypt ? null, # cupsSupport + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, }: buildFun: let - python3WithPackages = python3.pythonOnBuildForHost.withPackages(ps: with ps; [ - ply jinja2 setuptools - ]); + python3WithPackages = python3.pythonOnBuildForHost.withPackages ( + ps: with ps; [ + ply + jinja2 + setuptools + ] + ); # The additional attributes for creating derivations based on the chromium # source tree. extraAttrs = buildFun base; - githubPatch = { commit, hash, revert ? false, excludes ? [] }: fetchpatch { - url = "https://github.com/chromium/chromium/commit/${commit}.patch"; - inherit hash revert excludes; - }; + githubPatch = + { + commit, + hash, + revert ? false, + excludes ? [ ], + }: + fetchpatch { + url = "https://github.com/chromium/chromium/commit/${commit}.patch"; + inherit hash revert excludes; + }; mkGnFlags = let # Serialize Nix types into GN types according to this document: # https://source.chromium.org/gn/gn/+/master:docs/language.md - mkGnString = value: "\"${lib.escape ["\"" "$" "\\"] value}\""; - sanitize = value: - if value == true then "true" - else if value == false then "false" - else if lib.isList value then "[${lib.concatMapStringsSep ", " sanitize value}]" - else if lib.isInt value then toString value - else if lib.isString value then mkGnString value - else throw "Unsupported type for GN value `${value}'."; + mkGnString = value: "\"${lib.escape [ "\"" "$" "\\" ] value}\""; + sanitize = + value: + if value == true then + "true" + else if value == false then + "false" + else if lib.isList value then + "[${lib.concatMapStringsSep ", " sanitize value}]" + else if lib.isInt value then + toString value + else if lib.isString value then + mkGnString value + else + throw "Unsupported type for GN value `${value}'."; toFlag = key: value: "${key}=${sanitize value}"; - in attrs: lib.concatStringsSep " " (lib.attrValues (lib.mapAttrs toFlag attrs)); + in + attrs: lib.concatStringsSep " " (lib.attrValues (lib.mapAttrs toFlag attrs)); # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py gnSystemLibraries = [ @@ -111,7 +166,6 @@ let # "opus" ]; - # build paths and release info packageName = extraAttrs.packageName or extraAttrs.name; buildType = "Release"; @@ -129,61 +183,83 @@ let let llvmPackages = pkgsBuildBuild.rustc.llvmPackages; in - overrideCC llvmPackages.stdenv - (llvmPackages.stdenv.cc.override { - inherit (llvmPackages) bintools; - }); + overrideCC llvmPackages.stdenv ( + llvmPackages.stdenv.cc.override { + inherit (llvmPackages) bintools; + } + ); chromiumRosettaStone = { - cpu = platform: - let name = platform.parsed.cpu.name; - in ({ "x86_64" = "x64"; - "i686" = "x86"; - "arm" = "arm"; - "aarch64" = "arm64"; - }.${platform.parsed.cpu.name} - or (throw "no chromium Rosetta Stone entry for cpu: ${name}")); - os = platform: - if platform.isLinux - then "linux" - else throw "no chromium Rosetta Stone entry for os: ${platform.config}"; + cpu = + platform: + let + name = platform.parsed.cpu.name; + in + ( + { + "x86_64" = "x64"; + "i686" = "x86"; + "arm" = "arm"; + "aarch64" = "arm64"; + } + .${platform.parsed.cpu.name} or (throw "no chromium Rosetta Stone entry for cpu: ${name}") + ); + os = + platform: + if platform.isLinux then + "linux" + else + throw "no chromium Rosetta Stone entry for os: ${platform.config}"; }; isElectron = packageName == "electron"; - chromiumDeps = lib.mapAttrs (path: args: fetchFromGitiles (removeAttrs args [ "recompress" ] // lib.optionalAttrs args.recompress or false { - name = "source.tar.zstd"; - downloadToTemp = false; - passthru.unpack = true; - postFetch = '' - tar \ - --use-compress-program="${lib.getExe zstd} -T$NIX_BUILD_CORES" \ - --sort=name \ - --mtime="1970-01-01" \ - --owner=root --group=root \ - --numeric-owner --mode=go=rX,u+rw,a-s \ - --remove-files \ - --directory="$out" \ - -cf "$TMPDIR/source.zstd" . - mv "$TMPDIR/source.zstd" "$out" - ''; - })) upstream-info.DEPS; - - unpackPhaseSnippet = lib.concatStrings (lib.mapAttrsToList (path: dep: - (if dep.unpack or false - then '' - mkdir -p ${path} - pushd ${path} - unpackFile ${dep} - popd - '' - else '' - mkdir -p ${builtins.dirOf path} - cp -r ${dep}/. ${path} + chromiumDeps = lib.mapAttrs ( + path: args: + fetchFromGitiles ( + removeAttrs args [ "recompress" ] + // lib.optionalAttrs args.recompress or false { + name = "source.tar.zstd"; + downloadToTemp = false; + passthru.unpack = true; + postFetch = '' + tar \ + --use-compress-program="${lib.getExe zstd} -T$NIX_BUILD_CORES" \ + --sort=name \ + --mtime="1970-01-01" \ + --owner=root --group=root \ + --numeric-owner --mode=go=rX,u+rw,a-s \ + --remove-files \ + --directory="$out" \ + -cf "$TMPDIR/source.zstd" . + mv "$TMPDIR/source.zstd" "$out" + ''; + } + ) + ) upstream-info.DEPS; + + unpackPhaseSnippet = lib.concatStrings ( + lib.mapAttrsToList ( + path: dep: + ( + if dep.unpack or false then + '' + mkdir -p ${path} + pushd ${path} + unpackFile ${dep} + popd + '' + else + '' + mkdir -p ${builtins.dirOf path} + cp -r ${dep}/. ${path} + '' + ) + + '' + chmod u+w -R ${path} '' - ) + '' - chmod u+w -R ${path} - '') chromiumDeps); + ) chromiumDeps + ); base = rec { pname = "${lib.optionalString ungoogled "ungoogled-"}${packageName}-unwrapped"; @@ -200,292 +276,374 @@ let ''; npmRoot = "third_party/node"; - npmDeps = (fetchNpmDeps { - src = chromiumDeps."src"; - sourceRoot = npmRoot; - hash = upstream-info.deps.npmHash; - }).overrideAttrs (p: { - nativeBuildInputs = p.nativeBuildInputs or [ ] ++ [ zstd ]; - }); - - nativeBuildInputs = [ - ninja pkg-config - python3WithPackages perl - which - buildPackages.rustc.llvmPackages.bintools - bison gperf - ] ++ lib.optionals (!isElectron) [ - nodejs - npmHooks.npmConfigHook - ]; - - depsBuildBuild = [ - buildPlatformLlvmStdenv - buildPlatformLlvmStdenv.cc - pkg-config - libuuid - ] - # When cross-compiling, chromium builds a huge proportion of its - # components for both the `buildPlatform` (which it calls - # `host`) as well as for the `hostPlatform` -- easily more than - # half of the dependencies are needed here. To avoid having to - # maintain a separate list of buildPlatform-dependencies, we - # simply throw in the kitchen sink. - # ** Because of overrides, we have to copy the list as it otherwise mess with splicing ** - ++ [ - (buildPackages.libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403 - (buildPackages.libopus.override { withCustomModes = true; }) - bzip2 flac speex - libevent expat libjpeg snappy - libcap - minizip libwebp - libusb1 re2 - ffmpeg libxslt libxml2 - nasm - nspr nss - util-linux alsa-lib - libkrb5 - glib gtk3 dbus-glib - libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL - mesa # required for libgbm - pciutils protobuf speechd-minimal libXdamage at-spi2-core - pipewire - libva - libdrm wayland libxkbcommon - curl - libepoxy - libffi - libevdev - ] ++ lib.optional systemdSupport systemd - ++ lib.optionals cupsSupport [ libgcrypt cups ] + npmDeps = + (fetchNpmDeps { + src = chromiumDeps."src"; + sourceRoot = npmRoot; + hash = upstream-info.deps.npmHash; + }).overrideAttrs + (p: { + nativeBuildInputs = p.nativeBuildInputs or [ ] ++ [ zstd ]; + }); + + nativeBuildInputs = + [ + ninja + pkg-config + python3WithPackages + perl + which + buildPackages.rustc.llvmPackages.bintools + bison + gperf + ] + ++ lib.optionals (!isElectron) [ + nodejs + npmHooks.npmConfigHook + ]; + + depsBuildBuild = + [ + buildPlatformLlvmStdenv + buildPlatformLlvmStdenv.cc + pkg-config + libuuid + ] + # When cross-compiling, chromium builds a huge proportion of its + # components for both the `buildPlatform` (which it calls + # `host`) as well as for the `hostPlatform` -- easily more than + # half of the dependencies are needed here. To avoid having to + # maintain a separate list of buildPlatform-dependencies, we + # simply throw in the kitchen sink. + # ** Because of overrides, we have to copy the list as it otherwise mess with splicing ** + ++ [ + (buildPackages.libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403 + (buildPackages.libopus.override { withCustomModes = true; }) + bzip2 + flac + speex + libevent + expat + libjpeg + snappy + libcap + minizip + libwebp + libusb1 + re2 + ffmpeg + libxslt + libxml2 + nasm + nspr + nss + util-linux + alsa-lib + libkrb5 + glib + gtk3 + dbus-glib + libXScrnSaver + libXcursor + libXtst + libxshmfence + libGLU + libGL + mesa # required for libgbm + pciutils + protobuf + speechd-minimal + libXdamage + at-spi2-core + pipewire + libva + libdrm + wayland + libxkbcommon + curl + libepoxy + libffi + libevdev + ] + ++ lib.optional systemdSupport systemd + ++ lib.optionals cupsSupport [ + libgcrypt + cups + ] ++ lib.optional pulseSupport libpulseaudio; - buildInputs = [ - (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403 - (libopus.override { withCustomModes = true; }) - bzip2 flac speex - libevent expat libjpeg snappy - libcap - minizip libwebp - libusb1 re2 - ffmpeg libxslt libxml2 - nasm - nspr nss - util-linux alsa-lib - libkrb5 - glib gtk3 dbus-glib - libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL - mesa # required for libgbm - pciutils protobuf speechd-minimal libXdamage at-spi2-core - pipewire - libva - libdrm wayland libxkbcommon - curl - libepoxy - libffi - libevdev - ] ++ lib.optional systemdSupport systemd - ++ lib.optionals cupsSupport [ libgcrypt cups ] + buildInputs = + [ + (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403 + (libopus.override { withCustomModes = true; }) + bzip2 + flac + speex + libevent + expat + libjpeg + snappy + libcap + minizip + libwebp + libusb1 + re2 + ffmpeg + libxslt + libxml2 + nasm + nspr + nss + util-linux + alsa-lib + libkrb5 + glib + gtk3 + dbus-glib + libXScrnSaver + libXcursor + libXtst + libxshmfence + libGLU + libGL + mesa # required for libgbm + pciutils + protobuf + speechd-minimal + libXdamage + at-spi2-core + pipewire + libva + libdrm + wayland + libxkbcommon + curl + libepoxy + libffi + libevdev + ] + ++ lib.optional systemdSupport systemd + ++ lib.optionals cupsSupport [ + libgcrypt + cups + ] ++ lib.optional pulseSupport libpulseaudio; - patches = [ - ./patches/cross-compile.patch - # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed): - ./patches/no-build-timestamps.patch - ] ++ lib.optionals (packageName == "chromium") [ - # This patch is limited to chromium and ungoogled-chromium because electron-source sets - # enable_widevine to false. - # - # The patch disables the automatic Widevine download (component) that happens at runtime - # completely (~/.config/chromium/WidevineCdm/). This would happen if chromium encounters DRM - # protected content or when manually opening chrome://components. - # - # It also prevents previously downloaded Widevine blobs in that location from being loaded and - # used at all, while still allowing the use of our -wv wrapper. This is because those old - # versions are out of out our control and may be vulnerable, given we literally disable their - # auto updater. - # - # bundle_widevine_cdm is available as gn flag, but we cannot use it, as it expects a bunch of - # files Widevine files at configure/compile phase that we don't have. Changing the value of the - # BUNDLE_WIDEVINE_CDM build flag does work in the way we want though. - # We also need enable_widevine_cdm_component to be false. Unfortunately it isn't exposed as gn - # flag (declare_args) so we simply hardcode it to false. - ./patches/widevine-disable-auto-download-allow-bundle.patch - ] ++ lib.optionals (versionRange "127" "128") [ - # Fix missing chrome/browser/ui/webui_name_variants.h dependency - # and ninja 1.12 compat in M127. - # https://issues.chromium.org/issues/345645751 - # https://issues.chromium.org/issues/40253918 - # https://chromium-review.googlesource.com/c/chromium/src/+/5641516 - (githubPatch { - commit = "2c101186b60ed50f2ba4feaa2e963bd841bcca47"; - hash = "sha256-luu3ggo6XoeeECld1cKZ6Eh8x/qQYmmKI/ThEhuutuY="; - }) - # https://chromium-review.googlesource.com/c/chromium/src/+/5644627 - (githubPatch { - commit = "f2b43c18b8ecfc3ddc49c42c062d796c8b563984"; - hash = "sha256-uxXxSsiS8R0827Oi3xsG2gtT0X+jJXziwZ1y8+7K+Qg="; - }) - # https://chromium-review.googlesource.com/c/chromium/src/+/5646245 - (githubPatch { - commit = "4ca70656fde83d2db6ed5a8ac9ec9e7443846924"; - hash = "sha256-iQuRRZjDDtJfr+B7MV+TvUDDX3bvpCnv8OpSLJ1WqCE="; - }) - # https://chromium-review.googlesource.com/c/chromium/src/+/5647662 - (githubPatch { - commit = "50d63ffee3f7f1b1b9303363742ad8ebbfec31fa"; - hash = "sha256-H+dv+lgXSdry3NkygpbCdTAWWdTVdKdVD3Aa62w091E="; - }) - ] ++ [ - # Required to fix the build with a more recent wayland-protocols version - # (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21): - # Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1 - ./patches/angle-wayland-include-protocol.patch - # Chromium reads initial_preferences from its own executable directory - # This patch modifies it to read /etc/chromium/initial_preferences - ./patches/chromium-initial-prefs.patch - # https://github.com/chromium/chromium/commit/02b6456643700771597c00741937e22068b0f956 - # https://github.com/chromium/chromium/commit/69736ffe943ff996d4a88d15eb30103a8c854e29 - # Rebased variant of patch to build M126+ with LLVM 17. - # staging-next will bump LLVM to 18, so we will be able to drop this soon. - ./patches/chromium-126-llvm-17.patch - ] ++ lib.optionals (versionRange "126" "129") [ - # Partial revert of https://github.com/chromium/chromium/commit/3687976b0c6d36cf4157419a24a39f6770098d61 - # allowing us to use our rustc and our clang. - # Rebased variant of patch right above to build M126+ with our rust and our clang. - ./patches/chromium-126-rust.patch - ] ++ lib.optionals (chromiumVersionAtLeast "129") [ - # Rebased variant of patch right above to build M129+ with our rust and our clang. - ./patches/chromium-129-rust.patch - ] ++ lib.optionals (chromiumVersionAtLeast "130" && !ungoogled) [ - # Our rustc.llvmPackages is too old for std::hardware_destructive_interference_size - # and std::hardware_constructive_interference_size. - # So let's revert the change for now and hope that our rustc.llvmPackages and - # nixpkgs-stable catch up sooner than later. - # https://groups.google.com/a/chromium.org/g/cxx/c/cwktrFxxUY4 - # https://chromium-review.googlesource.com/c/chromium/src/+/5767325 - # Note: We exclude the changes made to the partition_allocator (PA), as the revert - # would otherwise not apply because upstream reverted those changes to PA already - # in https://chromium-review.googlesource.com/c/chromium/src/+/5841144 - # Note: ungoogled-chromium already reverts this as part of its patchset. - (githubPatch { - commit = "fc838e8cc887adbe95110045d146b9d5885bf2a9"; - hash = "sha256-NNKzIp6NYdeZaqBLWDW/qNxiDB1VFRz7msjMXuMOrZ8="; - excludes = [ "base/allocator/partition_allocator/src/partition_alloc/*" ]; - revert = true; - }) - ]; - - postPatch = lib.optionalString (!isElectron) '' - ln -s ${./files/gclient_args.gni} build/config/gclient_args.gni - - echo 'LASTCHANGE=${upstream-info.DEPS."src".rev}-refs/tags/${version}@{#0}' > build/util/LASTCHANGE - echo "$SOURCE_DATE_EPOCH" > build/util/LASTCHANGE.committime - - cat << EOF > gpu/config/gpu_lists_version.h - /* Generated by lastchange.py, do not edit.*/ - #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ - #define GPU_CONFIG_GPU_LISTS_VERSION_H_ - #define GPU_LISTS_VERSION "${upstream-info.DEPS."src".rev}" - #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ - EOF - - cat << EOF > skia/ext/skia_commit_hash.h - /* Generated by lastchange.py, do not edit.*/ - #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_COMMIT_HASH "${upstream-info.DEPS."src/third_party/skia".rev}-" - #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ - EOF - - echo -n '${upstream-info.DEPS."src/third_party/dawn".rev}' > gpu/webgpu/DAWN_VERSION - - mkdir -p third_party/jdk/current/bin - '' + '' - # Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361: - substituteInPlace BUILD.gn \ - --replace '"//infra/orchestrator:orchestrator_all",' "" - # Disable build flags that require LLVM 15: - substituteInPlace build/config/compiler/BUILD.gn \ - --replace '"-Xclang",' "" \ - --replace '"-no-opaque-pointers",' "" - # remove unused third-party - for lib in ${toString gnSystemLibraries}; do - if [ -d "third_party/$lib" ]; then - find "third_party/$lib" -type f \ - \! -path "third_party/$lib/chromium/*" \ - \! -path "third_party/$lib/google/*" \ - \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \ - \! -regex '.*\.\(gn\|gni\|isolate\)' \ - -delete + patches = + [ + ./patches/cross-compile.patch + # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed): + ./patches/no-build-timestamps.patch + ] + ++ lib.optionals (packageName == "chromium") [ + # This patch is limited to chromium and ungoogled-chromium because electron-source sets + # enable_widevine to false. + # + # The patch disables the automatic Widevine download (component) that happens at runtime + # completely (~/.config/chromium/WidevineCdm/). This would happen if chromium encounters DRM + # protected content or when manually opening chrome://components. + # + # It also prevents previously downloaded Widevine blobs in that location from being loaded and + # used at all, while still allowing the use of our -wv wrapper. This is because those old + # versions are out of out our control and may be vulnerable, given we literally disable their + # auto updater. + # + # bundle_widevine_cdm is available as gn flag, but we cannot use it, as it expects a bunch of + # files Widevine files at configure/compile phase that we don't have. Changing the value of the + # BUNDLE_WIDEVINE_CDM build flag does work in the way we want though. + # We also need enable_widevine_cdm_component to be false. Unfortunately it isn't exposed as gn + # flag (declare_args) so we simply hardcode it to false. + ./patches/widevine-disable-auto-download-allow-bundle.patch + ] + ++ lib.optionals (versionRange "127" "128") [ + # Fix missing chrome/browser/ui/webui_name_variants.h dependency + # and ninja 1.12 compat in M127. + # https://issues.chromium.org/issues/345645751 + # https://issues.chromium.org/issues/40253918 + # https://chromium-review.googlesource.com/c/chromium/src/+/5641516 + (githubPatch { + commit = "2c101186b60ed50f2ba4feaa2e963bd841bcca47"; + hash = "sha256-luu3ggo6XoeeECld1cKZ6Eh8x/qQYmmKI/ThEhuutuY="; + }) + # https://chromium-review.googlesource.com/c/chromium/src/+/5644627 + (githubPatch { + commit = "f2b43c18b8ecfc3ddc49c42c062d796c8b563984"; + hash = "sha256-uxXxSsiS8R0827Oi3xsG2gtT0X+jJXziwZ1y8+7K+Qg="; + }) + # https://chromium-review.googlesource.com/c/chromium/src/+/5646245 + (githubPatch { + commit = "4ca70656fde83d2db6ed5a8ac9ec9e7443846924"; + hash = "sha256-iQuRRZjDDtJfr+B7MV+TvUDDX3bvpCnv8OpSLJ1WqCE="; + }) + # https://chromium-review.googlesource.com/c/chromium/src/+/5647662 + (githubPatch { + commit = "50d63ffee3f7f1b1b9303363742ad8ebbfec31fa"; + hash = "sha256-H+dv+lgXSdry3NkygpbCdTAWWdTVdKdVD3Aa62w091E="; + }) + ] + ++ [ + # Required to fix the build with a more recent wayland-protocols version + # (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21): + # Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1 + ./patches/angle-wayland-include-protocol.patch + # Chromium reads initial_preferences from its own executable directory + # This patch modifies it to read /etc/chromium/initial_preferences + ./patches/chromium-initial-prefs.patch + # https://github.com/chromium/chromium/commit/02b6456643700771597c00741937e22068b0f956 + # https://github.com/chromium/chromium/commit/69736ffe943ff996d4a88d15eb30103a8c854e29 + # Rebased variant of patch to build M126+ with LLVM 17. + # staging-next will bump LLVM to 18, so we will be able to drop this soon. + ./patches/chromium-126-llvm-17.patch + ] + ++ lib.optionals (versionRange "126" "129") [ + # Partial revert of https://github.com/chromium/chromium/commit/3687976b0c6d36cf4157419a24a39f6770098d61 + # allowing us to use our rustc and our clang. + # Rebased variant of patch right above to build M126+ with our rust and our clang. + ./patches/chromium-126-rust.patch + ] + ++ lib.optionals (chromiumVersionAtLeast "129") [ + # Rebased variant of patch right above to build M129+ with our rust and our clang. + ./patches/chromium-129-rust.patch + ] + ++ lib.optionals (chromiumVersionAtLeast "130" && !ungoogled) [ + # Our rustc.llvmPackages is too old for std::hardware_destructive_interference_size + # and std::hardware_constructive_interference_size. + # So let's revert the change for now and hope that our rustc.llvmPackages and + # nixpkgs-stable catch up sooner than later. + # https://groups.google.com/a/chromium.org/g/cxx/c/cwktrFxxUY4 + # https://chromium-review.googlesource.com/c/chromium/src/+/5767325 + # Note: We exclude the changes made to the partition_allocator (PA), as the revert + # would otherwise not apply because upstream reverted those changes to PA already + # in https://chromium-review.googlesource.com/c/chromium/src/+/5841144 + # Note: ungoogled-chromium already reverts this as part of its patchset. + (githubPatch { + commit = "fc838e8cc887adbe95110045d146b9d5885bf2a9"; + hash = "sha256-NNKzIp6NYdeZaqBLWDW/qNxiDB1VFRz7msjMXuMOrZ8="; + excludes = [ "base/allocator/partition_allocator/src/partition_alloc/*" ]; + revert = true; + }) + ]; + + postPatch = + lib.optionalString (!isElectron) '' + ln -s ${./files/gclient_args.gni} build/config/gclient_args.gni + + echo 'LASTCHANGE=${upstream-info.DEPS."src".rev}-refs/tags/${version}@{#0}' > build/util/LASTCHANGE + echo "$SOURCE_DATE_EPOCH" > build/util/LASTCHANGE.committime + + cat << EOF > gpu/config/gpu_lists_version.h + /* Generated by lastchange.py, do not edit.*/ + #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ + #define GPU_CONFIG_GPU_LISTS_VERSION_H_ + #define GPU_LISTS_VERSION "${upstream-info.DEPS."src".rev}" + #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ + EOF + + cat << EOF > skia/ext/skia_commit_hash.h + /* Generated by lastchange.py, do not edit.*/ + #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ + #define SKIA_EXT_SKIA_COMMIT_HASH_H_ + #define SKIA_COMMIT_HASH "${upstream-info.DEPS."src/third_party/skia".rev}-" + #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ + EOF + + echo -n '${upstream-info.DEPS."src/third_party/dawn".rev}' > gpu/webgpu/DAWN_VERSION + + mkdir -p third_party/jdk/current/bin + '' + + '' + # Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361: + substituteInPlace BUILD.gn \ + --replace '"//infra/orchestrator:orchestrator_all",' "" + # Disable build flags that require LLVM 15: + substituteInPlace build/config/compiler/BUILD.gn \ + --replace '"-Xclang",' "" \ + --replace '"-no-opaque-pointers",' "" + # remove unused third-party + for lib in ${toString gnSystemLibraries}; do + if [ -d "third_party/$lib" ]; then + find "third_party/$lib" -type f \ + \! -path "third_party/$lib/chromium/*" \ + \! -path "third_party/$lib/google/*" \ + \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \ + \! -regex '.*\.\(gn\|gni\|isolate\)' \ + -delete + fi + done + + if [[ -e native_client/SConstruct ]]; then + # Required for patchShebangs (unsupported interpreter directive, basename: invalid option -- '*', etc.): + substituteInPlace native_client/SConstruct --replace "#! -*- python -*-" "" + fi + if [ -e third_party/harfbuzz-ng/src/src/update-unicode-tables.make ]; then + substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ + --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" + fi + if [ -e third_party/webgpu-cts/src/tools/run_deno ]; then + chmod -x third_party/webgpu-cts/src/tools/run_deno + fi + if [ -e third_party/dawn/third_party/webgpu-cts/tools/run_deno ]; then + chmod -x third_party/dawn/third_party/webgpu-cts/tools/run_deno fi - done - if [[ -e native_client/SConstruct ]]; then - # Required for patchShebangs (unsupported interpreter directive, basename: invalid option -- '*', etc.): - substituteInPlace native_client/SConstruct --replace "#! -*- python -*-" "" - fi - if [ -e third_party/harfbuzz-ng/src/src/update-unicode-tables.make ]; then - substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ - --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" - fi - if [ -e third_party/webgpu-cts/src/tools/run_deno ]; then - chmod -x third_party/webgpu-cts/src/tools/run_deno - fi - if [ -e third_party/dawn/third_party/webgpu-cts/tools/run_deno ]; then - chmod -x third_party/dawn/third_party/webgpu-cts/tools/run_deno - fi - - # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX - substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \ - --replace \ - 'return sandbox_binary;' \ - 'return base::FilePath(GetDevelSandboxPath());' - - substituteInPlace services/audio/audio_sandbox_hook_linux.cc \ - --replace \ - '/usr/share/alsa/' \ - '${alsa-lib}/share/alsa/' \ - --replace \ - '/usr/lib/x86_64-linux-gnu/gconv/' \ - '${glibc}/lib/gconv/' \ - --replace \ - '/usr/share/locale/' \ - '${glibc}/share/locale/' - - '' + lib.optionalString systemdSupport '' - sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \ - device/udev_linux/udev?_loader.cc - '' + '' - # Allow to put extensions into the system-path. - sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc - - # Add final newlines to scripts that do not end with one. - # This is a temporary workaround until https://github.com/NixOS/nixpkgs/pull/255463 (or similar) has been merged, - # as patchShebangs hard-crashes when it encounters files that contain only a shebang and do not end with a final - # newline. - find . -type f -perm -0100 -exec sed -i -e '$a\' {} + - - patchShebangs . - '' + lib.optionalString (ungoogled) '' - # Prune binaries (ungoogled only) *before* linking our own binaries: - ${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors" - '' + '' - # Link to our own Node.js and Java (required during the build): - mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s${lib.optionalString (chromiumVersionAtLeast "127") "f"} "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node - ln -s "${pkgsBuildHost.jdk17_headless}/bin/java" third_party/jdk/current/bin/ - - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py - - '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch64) '' - substituteInPlace build/toolchain/linux/BUILD.gn \ - --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' - '' + lib.optionalString ungoogled '' - ${ungoogler}/utils/patches.py . ${ungoogler}/patches - ${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz . - ''; + # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX + substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \ + --replace \ + 'return sandbox_binary;' \ + 'return base::FilePath(GetDevelSandboxPath());' + + substituteInPlace services/audio/audio_sandbox_hook_linux.cc \ + --replace \ + '/usr/share/alsa/' \ + '${alsa-lib}/share/alsa/' \ + --replace \ + '/usr/lib/x86_64-linux-gnu/gconv/' \ + '${glibc}/lib/gconv/' \ + --replace \ + '/usr/share/locale/' \ + '${glibc}/share/locale/' + + '' + + lib.optionalString systemdSupport '' + sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \ + device/udev_linux/udev?_loader.cc + '' + + '' + # Allow to put extensions into the system-path. + sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc + + # Add final newlines to scripts that do not end with one. + # This is a temporary workaround until https://github.com/NixOS/nixpkgs/pull/255463 (or similar) has been merged, + # as patchShebangs hard-crashes when it encounters files that contain only a shebang and do not end with a final + # newline. + find . -type f -perm -0100 -exec sed -i -e '$a\' {} + + + patchShebangs . + '' + + lib.optionalString (ungoogled) '' + # Prune binaries (ungoogled only) *before* linking our own binaries: + ${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors" + '' + + '' + # Link to our own Node.js and Java (required during the build): + mkdir -p third_party/node/linux/node-linux-x64/bin + ln -s${lib.optionalString (chromiumVersionAtLeast "127") "f"} "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node + ln -s "${pkgsBuildHost.jdk17_headless}/bin/java" third_party/jdk/current/bin/ + + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py + + '' + + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch64) + '' + substituteInPlace build/toolchain/linux/BUILD.gn \ + --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' + '' + + lib.optionalString ungoogled '' + ${ungoogler}/utils/patches.py . ${ungoogler}/patches + ${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz . + ''; llvmCcAndBintools = symlinkJoin { name = "llvmCcAndBintools"; @@ -495,114 +653,128 @@ let ]; }; - gnFlags = mkGnFlags ({ - # Main build and toolchain settings: - # Create an official and optimized release build (only official builds - # should be distributed to users, as non-official builds are intended for - # development and may not be configured appropriately for production, - # e.g. unsafe developer builds have developer-friendly features that may - # weaken or disable security measures like sandboxing or ASLR): - is_official_build = true; - disable_fieldtrial_testing_config = true; - - # note: chromium calls buildPlatform "host" and calls hostPlatform "target" - host_cpu = chromiumRosettaStone.cpu stdenv.buildPlatform; - host_os = chromiumRosettaStone.os stdenv.buildPlatform; - target_cpu = chromiumRosettaStone.cpu stdenv.hostPlatform; - v8_target_cpu = chromiumRosettaStone.cpu stdenv.hostPlatform; - target_os = chromiumRosettaStone.os stdenv.hostPlatform; - - # Build Chromium using the system toolchain (for Linux distributions): - # - # What you would expect to be caled "target_toolchain" is - # actually called either "default_toolchain" or "custom_toolchain", - # depending on which part of the codebase you are in; see: - # https://github.com/chromium/chromium/blob/d36462cc9279464395aea5e65d0893d76444a296/build/config/BUILDCONFIG.gn#L17-L44 - custom_toolchain = "//build/toolchain/linux/unbundle:default"; - host_toolchain = "//build/toolchain/linux/unbundle:default"; - # We only build those specific toolchains when we cross-compile, as native non-cross-compilations would otherwise - # end up building much more things than they need to (roughtly double the build steps and time/compute): - } // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { - host_toolchain = "//build/toolchain/linux/unbundle:host"; - v8_snapshot_toolchain = "//build/toolchain/linux/unbundle:host"; - } // { - host_pkg_config = "${pkgsBuildBuild.pkg-config}/bin/pkg-config"; - pkg_config = "${pkgsBuildHost.pkg-config}/bin/${stdenv.cc.targetPrefix}pkg-config"; - - # Don't build against a sysroot image downloaded from Cloud Storage: - use_sysroot = false; - # Because we use a different toolchain / compiler version: - treat_warnings_as_errors = false; - # We aren't compiling with Chrome's Clang (would enable Chrome-specific - # plugins for enforcing coding guidelines, etc.): - clang_use_chrome_plugins = false; - # Disable symbols (they would negatively affect the performance of the - # build since the symbols are large and dealing with them is slow): - symbol_level = 0; - blink_symbol_level = 0; - - # Google API key, see: https://www.chromium.org/developers/how-tos/api-keys - # Note: The API key is for NixOS/nixpkgs use ONLY. - # For your own distribution, please get your own set of keys. - google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; - - # Optional features: - use_gio = true; - use_cups = cupsSupport; - - # Feature overrides: - # Native Client support was deprecated in 2020 and support will end in June 2021: - enable_nacl = false; - } // lib.optionalAttrs (packageName == "chromium") { - # Enabling the Widevine here doesn't affect whether we can redistribute the chromium package. - # Widevine in this drv is a bit more complex than just that. See Widevine patch somewhere above. - enable_widevine = true; - } // { - # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture: - rtc_use_pipewire = true; - # Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient): - chrome_pgo_phase = 0; - clang_base_path = "${llvmCcAndBintools}"; - use_qt = false; - # To fix the build as we don't provide libffi_pic.a - # (ld.lld: error: unable to find library -l:libffi_pic.a): - use_system_libffi = true; - # Use nixpkgs Rust compiler instead of the one shipped by Chromium. - rust_sysroot_absolute = "${buildPackages.rustc}"; - } // lib.optionalAttrs (chromiumVersionAtLeast "127") { - rust_bindgen_root = "${buildPackages.rust-bindgen}"; - } // { - enable_rust = true; - # While we technically don't need the cache-invalidation rustc_version provides, rustc_version - # is still used in some scripts (e.g. build/rust/std/find_std_rlibs.py). - rustc_version = buildPackages.rustc.version; - } // lib.optionalAttrs (!(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) { - # https://www.mail-archive.com/v8-users@googlegroups.com/msg14528.html - arm_control_flow_integrity = "none"; - } // lib.optionalAttrs proprietaryCodecs { - # enable support for the H.264 codec - proprietary_codecs = true; - enable_hangout_services_extension = true; - ffmpeg_branding = "Chrome"; - } // lib.optionalAttrs pulseSupport { - use_pulseaudio = true; - link_pulseaudio = true; - } // lib.optionalAttrs ungoogled (lib.importTOML ./ungoogled-flags.toml) - // (extraAttrs.gnFlags or {})); + gnFlags = mkGnFlags ( + { + # Main build and toolchain settings: + # Create an official and optimized release build (only official builds + # should be distributed to users, as non-official builds are intended for + # development and may not be configured appropriately for production, + # e.g. unsafe developer builds have developer-friendly features that may + # weaken or disable security measures like sandboxing or ASLR): + is_official_build = true; + disable_fieldtrial_testing_config = true; + + # note: chromium calls buildPlatform "host" and calls hostPlatform "target" + host_cpu = chromiumRosettaStone.cpu stdenv.buildPlatform; + host_os = chromiumRosettaStone.os stdenv.buildPlatform; + target_cpu = chromiumRosettaStone.cpu stdenv.hostPlatform; + v8_target_cpu = chromiumRosettaStone.cpu stdenv.hostPlatform; + target_os = chromiumRosettaStone.os stdenv.hostPlatform; + + # Build Chromium using the system toolchain (for Linux distributions): + # + # What you would expect to be caled "target_toolchain" is + # actually called either "default_toolchain" or "custom_toolchain", + # depending on which part of the codebase you are in; see: + # https://github.com/chromium/chromium/blob/d36462cc9279464395aea5e65d0893d76444a296/build/config/BUILDCONFIG.gn#L17-L44 + custom_toolchain = "//build/toolchain/linux/unbundle:default"; + host_toolchain = "//build/toolchain/linux/unbundle:default"; + # We only build those specific toolchains when we cross-compile, as native non-cross-compilations would otherwise + # end up building much more things than they need to (roughtly double the build steps and time/compute): + } + // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { + host_toolchain = "//build/toolchain/linux/unbundle:host"; + v8_snapshot_toolchain = "//build/toolchain/linux/unbundle:host"; + } + // { + host_pkg_config = "${pkgsBuildBuild.pkg-config}/bin/pkg-config"; + pkg_config = "${pkgsBuildHost.pkg-config}/bin/${stdenv.cc.targetPrefix}pkg-config"; + + # Don't build against a sysroot image downloaded from Cloud Storage: + use_sysroot = false; + # Because we use a different toolchain / compiler version: + treat_warnings_as_errors = false; + # We aren't compiling with Chrome's Clang (would enable Chrome-specific + # plugins for enforcing coding guidelines, etc.): + clang_use_chrome_plugins = false; + # Disable symbols (they would negatively affect the performance of the + # build since the symbols are large and dealing with them is slow): + symbol_level = 0; + blink_symbol_level = 0; + + # Google API key, see: https://www.chromium.org/developers/how-tos/api-keys + # Note: The API key is for NixOS/nixpkgs use ONLY. + # For your own distribution, please get your own set of keys. + google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; + + # Optional features: + use_gio = true; + use_cups = cupsSupport; + + # Feature overrides: + # Native Client support was deprecated in 2020 and support will end in June 2021: + enable_nacl = false; + } + // lib.optionalAttrs (packageName == "chromium") { + # Enabling the Widevine here doesn't affect whether we can redistribute the chromium package. + # Widevine in this drv is a bit more complex than just that. See Widevine patch somewhere above. + enable_widevine = true; + } + // { + # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture: + rtc_use_pipewire = true; + # Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient): + chrome_pgo_phase = 0; + clang_base_path = "${llvmCcAndBintools}"; + use_qt = false; + # To fix the build as we don't provide libffi_pic.a + # (ld.lld: error: unable to find library -l:libffi_pic.a): + use_system_libffi = true; + # Use nixpkgs Rust compiler instead of the one shipped by Chromium. + rust_sysroot_absolute = "${buildPackages.rustc}"; + } + // lib.optionalAttrs (chromiumVersionAtLeast "127") { + rust_bindgen_root = "${buildPackages.rust-bindgen}"; + } + // { + enable_rust = true; + # While we technically don't need the cache-invalidation rustc_version provides, rustc_version + # is still used in some scripts (e.g. build/rust/std/find_std_rlibs.py). + rustc_version = buildPackages.rustc.version; + } + // lib.optionalAttrs (!(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) { + # https://www.mail-archive.com/v8-users@googlegroups.com/msg14528.html + arm_control_flow_integrity = "none"; + } + // lib.optionalAttrs proprietaryCodecs { + # enable support for the H.264 codec + proprietary_codecs = true; + enable_hangout_services_extension = true; + ffmpeg_branding = "Chrome"; + } + // lib.optionalAttrs pulseSupport { + use_pulseaudio = true; + link_pulseaudio = true; + } + // lib.optionalAttrs ungoogled (lib.importTOML ./ungoogled-flags.toml) + // (extraAttrs.gnFlags or { }) + ); # TODO: Migrate this to env.RUSTC_BOOTSTRAP next mass-rebuild. # Chromium expects nightly/bleeding edge rustc features to be available. # Our rustc in nixpkgs follows stable, but since bootstrapping rustc requires # nightly features too, we can (ab-)use RUSTC_BOOTSTRAP here as well to # enable those features in our stable builds. - preConfigure = '' - export RUSTC_BOOTSTRAP=1 - '' + lib.optionalString (!isElectron) '' - ( - cd third_party/node - grep patch update_npm_deps | sh - ) - ''; + preConfigure = + '' + export RUSTC_BOOTSTRAP=1 + '' + + lib.optionalString (!isElectron) '' + ( + cd third_party/node + grep patch update_npm_deps | sh + ) + ''; configurePhase = '' runHook preConfigure @@ -628,29 +800,37 @@ let env.BUILD_NM = "$NM_FOR_BUILD"; env.BUILD_READELF = "$READELF_FOR_BUILD"; - buildPhase = let - buildCommand = target: '' - TERM=dumb ninja -C "${buildPath}" -j$NIX_BUILD_CORES "${target}" - ( - source chrome/installer/linux/common/installer.include - PACKAGE=$packageName - MENUNAME="Chromium" - process_template chrome/app/resources/manpage.1.in "${buildPath}/chrome.1" - ) + buildPhase = + let + buildCommand = target: '' + TERM=dumb ninja -C "${buildPath}" -j$NIX_BUILD_CORES "${target}" + ( + source chrome/installer/linux/common/installer.include + PACKAGE=$packageName + MENUNAME="Chromium" + process_template chrome/app/resources/manpage.1.in "${buildPath}/chrome.1" + ) + ''; + targets = extraAttrs.buildTargets or [ ]; + commands = map buildCommand targets; + in + '' + runHook preBuild + ${lib.concatStringsSep "\n" commands} + runHook postBuild ''; - targets = extraAttrs.buildTargets or []; - commands = map buildCommand targets; - in '' - runHook preBuild - ${lib.concatStringsSep "\n" commands} - runHook postBuild - ''; postFixup = '' # Make sure that libGLESv2 and libvulkan are found by dlopen in both chromium binary and ANGLE libGLESv2.so. # libpci (from pciutils) is needed by dlopen in angle/src/gpu_info_util/SystemInfo_libpci.cpp for chromiumBinary in "$libExecPath/$packageName" "$libExecPath/libGLESv2.so"; do - patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader pciutils ]}:$(patchelf --print-rpath "$chromiumBinary")" "$chromiumBinary" + patchelf --set-rpath "${ + lib.makeLibraryPath [ + libGL + vulkan-loader + pciutils + ] + }:$(patchelf --print-rpath "$chromiumBinary")" "$chromiumBinary" done # replace bundled vulkan-loader @@ -658,14 +838,25 @@ let ln -s -t "$libExecPath" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1" ''; - passthru = { - updateScript = ./update.mjs; - } // lib.optionalAttrs (!isElectron) { - inherit chromiumDeps npmDeps; - }; + passthru = + { + updateScript = ./update.mjs; + } + // lib.optionalAttrs (!isElectron) { + inherit chromiumDeps npmDeps; + }; }; +in # Remove some extraAttrs we supplied to the base attributes already. -in stdenv.mkDerivation (base // removeAttrs extraAttrs [ - "name" "gnFlags" "buildTargets" -] // { passthru = base.passthru // (extraAttrs.passthru or {}); }) +stdenv.mkDerivation ( + base + // removeAttrs extraAttrs [ + "name" + "gnFlags" + "buildTargets" + ] + // { + passthru = base.passthru // (extraAttrs.passthru or { }); + } +) diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 296c350212806..884399fd6b748 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,43 +1,68 @@ -{ newScope, config, stdenv, makeWrapper -, buildPackages -, ed, gnugrep, coreutils, xdg-utils -, glib, gtk3, gtk4, adwaita-icon-theme, gsettings-desktop-schemas, gn, fetchgit -, libva, pipewire, wayland -, runCommand -, lib, libkrb5 -, widevine-cdm -, electron-source # for warnObsoleteVersionConditional - -# package customization -# Note: enable* flags should not require full rebuilds (i.e. only affect the wrapper) -, upstream-info ? (lib.importJSON ./info.json).${if !ungoogled then "chromium" else "ungoogled-chromium"} -, proprietaryCodecs ? true -, enableWideVine ? false -, ungoogled ? false # Whether to build chromium or ungoogled-chromium -, cupsSupport ? true -, pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux -, commandLineArgs ? "" -, pkgsBuildBuild -, pkgs +{ + newScope, + config, + stdenv, + makeWrapper, + buildPackages, + ed, + gnugrep, + coreutils, + xdg-utils, + glib, + gtk3, + gtk4, + adwaita-icon-theme, + gsettings-desktop-schemas, + gn, + fetchgit, + libva, + pipewire, + wayland, + runCommand, + lib, + libkrb5, + widevine-cdm, + electron-source, # for warnObsoleteVersionConditional + + # package customization + # Note: enable* flags should not require full rebuilds (i.e. only affect the wrapper) + upstream-info ? + (lib.importJSON ./info.json).${if !ungoogled then "chromium" else "ungoogled-chromium"}, + proprietaryCodecs ? true, + enableWideVine ? false, + ungoogled ? false, # Whether to build chromium or ungoogled-chromium + cupsSupport ? true, + pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, + commandLineArgs ? "", + pkgsBuildBuild, + pkgs, }: let stdenv = pkgs.rustc.llvmPackages.stdenv; # Helper functions for changes that depend on specific versions: - warnObsoleteVersionConditional = min-version: result: - let min-supported-version = (lib.head (lib.attrValues electron-source)).unwrapped.info.chromium.version; - in lib.warnIf - (lib.versionAtLeast min-supported-version min-version) - "chromium: min-supported-version ${min-supported-version} is newer than a conditional bounded at ${min-version}. You can safely delete it." - result; - chromiumVersionAtLeast = min-version: - let result = lib.versionAtLeast upstream-info.version min-version; - in warnObsoleteVersionConditional min-version result; - versionRange = min-version: upto-version: - let inherit (upstream-info) version; - result = lib.versionAtLeast version min-version && lib.versionOlder version upto-version; - in warnObsoleteVersionConditional upto-version result; + warnObsoleteVersionConditional = + min-version: result: + let + min-supported-version = (lib.head (lib.attrValues electron-source)).unwrapped.info.chromium.version; + in + lib.warnIf (lib.versionAtLeast min-supported-version min-version) + "chromium: min-supported-version ${min-supported-version} is newer than a conditional bounded at ${min-version}. You can safely delete it." + result; + chromiumVersionAtLeast = + min-version: + let + result = lib.versionAtLeast upstream-info.version min-version; + in + warnObsoleteVersionConditional min-version result; + versionRange = + min-version: upto-version: + let + inherit (upstream-info) version; + result = lib.versionAtLeast version min-version && lib.versionOlder version upto-version; + in + warnObsoleteVersionConditional upto-version result; callPackage = newScope chromium; @@ -46,25 +71,34 @@ let mkChromiumDerivation = callPackage ./common.nix ({ inherit chromiumVersionAtLeast versionRange; - inherit proprietaryCodecs - cupsSupport pulseSupport ungoogled; - gnChromium = buildPackages.gn.overrideAttrs (oldAttrs: { - version = if (upstream-info.deps.gn ? "version") then upstream-info.deps.gn.version else "0"; - src = fetchgit { - url = "https://gn.googlesource.com/gn"; - inherit (upstream-info.deps.gn) rev hash; - }; - } // lib.optionalAttrs (chromiumVersionAtLeast "127") { - # Relax hardening as otherwise gn unstable 2024-06-06 and later fail with: - # cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security] - hardeningDisable = [ "format" ]; - } // lib.optionalAttrs (chromiumVersionAtLeast "130") { - # At the time of writing, gn is at v2024-05-13 and has a backported patch. - # This patch appears to be already present in v2024-09-09 (from M130), which - # results in the patch not applying and thus failing the build. - # As a work around until gn is updated again, we filter specifically that patch out. - patches = lib.filter (e: lib.getName e != "LFS64.patch") oldAttrs.patches; - }); + inherit + proprietaryCodecs + cupsSupport + pulseSupport + ungoogled + ; + gnChromium = buildPackages.gn.overrideAttrs ( + oldAttrs: + { + version = if (upstream-info.deps.gn ? "version") then upstream-info.deps.gn.version else "0"; + src = fetchgit { + url = "https://gn.googlesource.com/gn"; + inherit (upstream-info.deps.gn) rev hash; + }; + } + // lib.optionalAttrs (chromiumVersionAtLeast "127") { + # Relax hardening as otherwise gn unstable 2024-06-06 and later fail with: + # cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security] + hardeningDisable = [ "format" ]; + } + // lib.optionalAttrs (chromiumVersionAtLeast "130") { + # At the time of writing, gn is at v2024-05-13 and has a backported patch. + # This patch appears to be already present in v2024-09-09 (from M130), which + # results in the patch not applying and thus failing the build. + # As a work around until gn is updated again, we filter specifically that patch out. + patches = lib.filter (e: lib.getName e != "LFS64.patch") oldAttrs.patches; + } + ); }); browser = callPackage ./browser.nix { @@ -76,7 +110,7 @@ let # Therefore, it needs to come from buildPackages, because it # contains python scripts which get /nix/store/.../bin/python3 # patched into their shebangs. - ungoogled-chromium = pkgsBuildBuild.callPackage ./ungoogled.nix {}; + ungoogled-chromium = pkgsBuildBuild.callPackage ./ungoogled.nix { }; }; sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName; @@ -84,28 +118,36 @@ let # We want users to be able to enableWideVine without rebuilding all of # chromium, so we have a separate derivation here that copies chromium # and adds the unfree WidevineCdm. - chromiumWV = let browser = chromium.browser; in if enableWideVine then - runCommand (browser.name + "-wv") { version = browser.version; } - '' + chromiumWV = + let + browser = chromium.browser; + in + if enableWideVine then + runCommand (browser.name + "-wv") { version = browser.version; } '' mkdir -p $out cp -a ${browser}/* $out/ chmod u+w $out/libexec/chromium cp -a ${widevine-cdm}/share/google/chrome/WidevineCdm $out/libexec/chromium/ '' - else browser; + else + browser; -in stdenv.mkDerivation { - pname = lib.optionalString ungoogled "ungoogled-" - + "chromium"; +in +stdenv.mkDerivation { + pname = lib.optionalString ungoogled "ungoogled-" + "chromium"; inherit (chromium.browser) version; nativeBuildInputs = [ - makeWrapper ed + makeWrapper + ed ]; buildInputs = [ # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas glib gtk3 gtk4 + gsettings-desktop-schemas + glib + gtk3 + gtk4 # needed for XDG_ICON_DIRS adwaita-icon-theme @@ -114,61 +156,77 @@ in stdenv.mkDerivation { libkrb5 ]; - outputs = ["out" "sandbox"]; - - buildCommand = let - browserBinary = "${chromiumWV}/libexec/chromium/chromium"; - libPath = lib.makeLibraryPath [ libva pipewire wayland gtk3 gtk4 libkrb5 ]; - - in '' - mkdir -p "$out/bin" - - makeWrapper "${browserBinary}" "$out/bin/chromium" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --add-flags ${lib.escapeShellArg commandLineArgs} - - ed -v -s "$out/bin/chromium" << EOF - 2i - - if [ -x "/run/wrappers/bin/${sandboxExecutableName}" ] - then - export CHROME_DEVEL_SANDBOX="/run/wrappers/bin/${sandboxExecutableName}" - else - export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" - fi - - # Make generated desktop shortcuts have a valid executable name. - export CHROME_WRAPPER='chromium' - - '' + lib.optionalString (libPath != "") '' - # To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not - # contain an empty section before or after a colon. - export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}${libPath}" - '' + '' - - # libredirect causes chromium to deadlock on startup - export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | ${coreutils}/bin/tr ':' '\n' | ${gnugrep}/bin/grep -v /lib/libredirect\\\\.so$ | ${coreutils}/bin/tr '\n' ':')" - - export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS - - '' + lib.optionalString (!xdg-utils.meta.broken) '' - # Mainly for xdg-open but also other xdg-* tools (this is only a fallback; \$PATH is suffixed so that other implementations can be used): - export PATH="\$PATH\''${PATH:+:}${xdg-utils}/bin" - '' + '' - - . - w - EOF - - ln -sv "${chromium.browser.sandbox}" "$sandbox" - - ln -s "$out/bin/chromium" "$out/bin/chromium-browser" + outputs = [ + "out" + "sandbox" + ]; - mkdir -p "$out/share" - for f in '${chromium.browser}'/share/*; do # hello emacs */ - ln -s -t "$out/share/" "$f" - done - ''; + buildCommand = + let + browserBinary = "${chromiumWV}/libexec/chromium/chromium"; + libPath = lib.makeLibraryPath [ + libva + pipewire + wayland + gtk3 + gtk4 + libkrb5 + ]; + + in + '' + mkdir -p "$out/bin" + + makeWrapper "${browserBinary}" "$out/bin/chromium" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags ${lib.escapeShellArg commandLineArgs} + + ed -v -s "$out/bin/chromium" << EOF + 2i + + if [ -x "/run/wrappers/bin/${sandboxExecutableName}" ] + then + export CHROME_DEVEL_SANDBOX="/run/wrappers/bin/${sandboxExecutableName}" + else + export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" + fi + + # Make generated desktop shortcuts have a valid executable name. + export CHROME_WRAPPER='chromium' + + '' + + lib.optionalString (libPath != "") '' + # To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not + # contain an empty section before or after a colon. + export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}${libPath}" + '' + + '' + + # libredirect causes chromium to deadlock on startup + export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | ${coreutils}/bin/tr ':' '\n' | ${gnugrep}/bin/grep -v /lib/libredirect\\\\.so$ | ${coreutils}/bin/tr '\n' ':')" + + export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS + + '' + + lib.optionalString (!xdg-utils.meta.broken) '' + # Mainly for xdg-open but also other xdg-* tools (this is only a fallback; \$PATH is suffixed so that other implementations can be used): + export PATH="\$PATH\''${PATH:+:}${xdg-utils}/bin" + '' + + '' + + . + w + EOF + + ln -sv "${chromium.browser.sandbox}" "$sandbox" + + ln -s "$out/bin/chromium" "$out/bin/chromium-browser" + + mkdir -p "$out/share" + for f in '${chromium.browser}'/share/*; do # hello emacs */ + ln -s -t "$out/share/" "$f" + done + ''; inherit (chromium.browser) packageName; meta = chromium.browser.meta; diff --git a/pkgs/applications/networking/browsers/chromium/ungoogled.nix b/pkgs/applications/networking/browsers/chromium/ungoogled.nix index cf3d0a7d73ad2..d4895b848544c 100644 --- a/pkgs/applications/networking/browsers/chromium/ungoogled.nix +++ b/pkgs/applications/networking/browsers/chromium/ungoogled.nix @@ -1,12 +1,14 @@ -{ stdenv -, fetchFromGitHub -, python3Packages -, makeWrapper -, patch +{ + stdenv, + fetchFromGitHub, + python3Packages, + makeWrapper, + patch, }: -{ rev -, hash +{ + rev, + hash, }: stdenv.mkDerivation { diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix index 25a4368e82212..5dbc82b991bb6 100644 --- a/pkgs/applications/networking/browsers/elinks/default.nix +++ b/pkgs/applications/networking/browsers/elinks/default.nix @@ -1,10 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, libX11, bzip2, zlib -, brotli, zstd, xz, openssl, autoreconfHook, gettext, pkg-config, libev -, gpm, libidn, tre, expat -, # Incompatible licenses, LGPLv3 - GPLv2 - enableGuile ? false, guile ? null -, enablePython ? false, python ? null -, enablePerl ? (!stdenv.hostPlatform.isDarwin) && (stdenv.hostPlatform == stdenv.buildPlatform), perl ? null +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + libX11, + bzip2, + zlib, + brotli, + zstd, + xz, + openssl, + autoreconfHook, + gettext, + pkg-config, + libev, + gpm, + libidn, + tre, + expat, + # Incompatible licenses, LGPLv3 - GPLv2 + enableGuile ? false, + guile ? null, + enablePython ? false, + python ? null, + enablePerl ? (!stdenv.hostPlatform.isDarwin) && (stdenv.hostPlatform == stdenv.buildPlatform), + perl ? null, # re-add javascript support when upstream supports modern spidermonkey }: @@ -22,36 +42,51 @@ stdenv.mkDerivation rec { hash = "sha256-d5bc6SZ8UQuvVJZjWziy4pi/iIiDAnpU9YTlrlfkdoo="; }; - buildInputs = [ - ncurses libX11 bzip2 zlib brotli zstd xz - openssl libidn tre expat libev - ] + buildInputs = + [ + ncurses + libX11 + bzip2 + zlib + brotli + zstd + xz + openssl + libidn + tre + expat + libev + ] ++ lib.optional stdenv.hostPlatform.isLinux gpm ++ lib.optional enableGuile guile ++ lib.optional enablePython python - ++ lib.optional enablePerl perl - ; + ++ lib.optional enablePerl perl; - nativeBuildInputs = [ autoreconfHook gettext pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + gettext + pkg-config + ]; - configureFlags = [ - "--enable-finger" - "--enable-html-highlight" - "--enable-gopher" - "--enable-gemini" - "--enable-cgi" - "--enable-bittorrent" - "--enable-nntp" - "--enable-256-colors" - "--enable-true-color" - "--with-brotli" - "--with-lzma" - "--with-libev" - "--with-terminfo" - ] ++ lib.optional enableGuile "--with-guile" - ++ lib.optional enablePython "--with-python" - ++ lib.optional enablePerl "--with-perl" - ; + configureFlags = + [ + "--enable-finger" + "--enable-html-highlight" + "--enable-gopher" + "--enable-gemini" + "--enable-cgi" + "--enable-bittorrent" + "--enable-nntp" + "--enable-256-colors" + "--enable-true-color" + "--with-brotli" + "--with-lzma" + "--with-libev" + "--with-terminfo" + ] + ++ lib.optional enableGuile "--with-guile" + ++ lib.optional enablePython "--with-python" + ++ lib.optional enablePerl "--with-perl"; meta = with lib; { description = "Full-featured text-mode web browser"; @@ -59,6 +94,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/rkd77/elinks"; license = licenses.gpl2; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ iblech gebner ]; + maintainers = with maintainers; [ + iblech + gebner + ]; }; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix index 156ab2725eaa8..6e214e3e21590 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix @@ -1,1035 +1,1241 @@ { version = "133.0b1"; sources = [ - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ach/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ach/firefox-133.0b1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha256 = "5c42ebef65493ca583a7f00d22bc1b7f62cc9bd91ae96c08dbd74d7126df38ad"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/af/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/af/firefox-133.0b1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha256 = "6d1ff31eaf8fe786b9de349314175a1b542b7fbed9510d30795cd7898260580d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/an/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/an/firefox-133.0b1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha256 = "9e4aee3ae27ce32ef25865d23dd00e62c627e4e1cea5cc71a456aa514b41f8fe"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ar/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ar/firefox-133.0b1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha256 = "173b9c75fa988e17f85ebaedc81d7f01a47e1cebe9b5705c21b6ebd9b68f870c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ast/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ast/firefox-133.0b1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha256 = "82322cc9db2fb89267b28b869cc1d3abd9a99f53967bd588e1debd8c7c3d2a44"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/az/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/az/firefox-133.0b1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha256 = "8eded83bc34d39495ae67333f96efc00e71d3152d842ea8b70ad09303b479af9"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/be/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/be/firefox-133.0b1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha256 = "240be57831e1981cbb6fb803e7c269d3e4f880aafefc4a94eb848d8296e511a2"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bg/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bg/firefox-133.0b1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha256 = "75181bb251f3a0ed3ee54a59d8336cc5ae1b9275b513c6a251e8f7b61acca0bc"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bn/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bn/firefox-133.0b1.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; sha256 = "b98e1240f7a254de8d11a20081b9b78977ca5fb457a554a59a9898f6a02aa2fd"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/br/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/br/firefox-133.0b1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha256 = "f9ba2badd98674e657d6cc11a8bb0a9dc40a987fdd9feb6c5c09cc724b15a1c8"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bs/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bs/firefox-133.0b1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha256 = "7b2bc6c540c69db95777ca8237408bb0c7d9722edbce25a1b0ff768ce401e759"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ca-valencia/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ca-valencia/firefox-133.0b1.tar.bz2"; locale = "ca-valencia"; arch = "linux-x86_64"; sha256 = "48f589c0ae08b84600897683d8cc88fa8e0b6b7feb9803a9ac7d0f6eff57e39d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ca/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ca/firefox-133.0b1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha256 = "dc9b36d6d4fffd577d793edb4a15e115ca623e7160c3ba122ed5b7b91e6213b9"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cak/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cak/firefox-133.0b1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha256 = "d23edc8e857bd65bddd142c9f8d324951e1d8c47ec5457aa5c17db1c1f8abad0"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cs/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cs/firefox-133.0b1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha256 = "aff33a070bde117bc895a9341db21a66e22b81834c4035a7d8d490f276778027"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cy/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cy/firefox-133.0b1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha256 = "75bcfe33c4d161a64e259112032ade36fb8d02284b3882c948c62e04082caa0b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/da/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/da/firefox-133.0b1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha256 = "797573e69ac32c81011e8f627ec2cbf621a5bf189ced7514e3fc125ecc889f7d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/de/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/de/firefox-133.0b1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha256 = "414afe0dc658893cce23a21ddd4f879e8402a1eea60d62ce591e483da657b48b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/dsb/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/dsb/firefox-133.0b1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha256 = "4ca0de6888fdf03640b2d25eb46a88ed8b43eef26a71e2aceadd8c22341ce1fb"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/el/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/el/firefox-133.0b1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha256 = "9eb42c8323ac9f05f157a36265b3cffc3b8c20f9730018912db76e9bb511a023"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-CA/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-CA/firefox-133.0b1.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; sha256 = "54a05bcd08463251bd62b5e1b43e2a063d6a757f66855cac981c19482c171205"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-GB/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-GB/firefox-133.0b1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha256 = "8d6070c9e4d20aa11aec0b1b89963c103c665035f6a315adf5c1321a8f84c03d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-US/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-US/firefox-133.0b1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha256 = "bd60365443d1063aaabf555df4fb11411fd29ea31ac2aa1c80c9ada0e363e087"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/eo/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/eo/firefox-133.0b1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha256 = "c145076111c58985e25d4ca937ca51a92e1359b8b87d117c1ccdd8aeda58bb83"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-AR/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-AR/firefox-133.0b1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha256 = "aadd10fa5e2c58b77caef30e59d4ba6f6d0c7502387bc6e96921b3308383f065"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-CL/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-CL/firefox-133.0b1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha256 = "5635b30ca049a62e7ae2bd2ddb5a5d0bd3a89ddc4fbaebb9aa8069d55c28b6ea"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-ES/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-ES/firefox-133.0b1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha256 = "cb65652cc54501185be04b33c2f89d29ae118f84d30149f747270551fb1a1b9b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-MX/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-MX/firefox-133.0b1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha256 = "2a9ed3f17448c7c2158bb13c757fa42a473bab4208e17879f7be7f45d2b3e532"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/et/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/et/firefox-133.0b1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha256 = "edaef66989d1641d2854dc2766d99ed46764b2d769093094b3dfe15a31f52d4c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/eu/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/eu/firefox-133.0b1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha256 = "92f713be50d333f4a09eacf4ae63d3031fef13893ec96d4e5fc1f6a8085cfc7f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fa/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fa/firefox-133.0b1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha256 = "d67cb179bb6ab763867a0c3e37f4a60c0374343a5c3832ebd515bc22e10db74b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ff/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ff/firefox-133.0b1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha256 = "a3a2453735601d5ff84214061bd0a13c34d0c77c186fb224565573bddf27fff6"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fi/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fi/firefox-133.0b1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha256 = "0be6d6b66280b352783a276eda0bd4895f05d27b0012528c1d1c73ab15326585"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fr/firefox-133.0b1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha256 = "2ebeaab8ca0e53240e8ba2858b7a161a7725336be452c8deb643f36b4398e619"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fur/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fur/firefox-133.0b1.tar.bz2"; locale = "fur"; arch = "linux-x86_64"; sha256 = "a5bf8c850244ac685fcdc21e988398bfe740b4b7cf8bb871e9966b12f73cd1f9"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fy-NL/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fy-NL/firefox-133.0b1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "09db11c5eda2a8b3b0f456fb5dcd35dc794d0793d5b48c33cb3c045ff6ac7ab3"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ga-IE/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ga-IE/firefox-133.0b1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "9f3b087ad1193a637173b912139750acc0c06a52e11326fcebdc8371b74602e5"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gd/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gd/firefox-133.0b1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha256 = "8989162bb822f5a9a9f51eda496022066e232e93f97fc0a4c3a533c37f688090"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gl/firefox-133.0b1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha256 = "84a82790c373b0b70410fa06df2e63d776ac709345eb11a6464143371c9e7dd8"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gn/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gn/firefox-133.0b1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha256 = "409c4d33cd7120e9e6b81c245f6b704052644c262b7417316d02c965e3127ab2"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gu-IN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gu-IN/firefox-133.0b1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "dda2b37db9e0913d4bff59671eca21479e6e64b41f41ea9879c98d42864eb4fa"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/he/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/he/firefox-133.0b1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha256 = "1b7b0eda7e646daff52964f619fe9c463127aba76a4dcc472c75af25ce412927"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hi-IN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hi-IN/firefox-133.0b1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "8a0858bdfb74aeb3fb5dc7f6f58de97ba72b1a7280f23a7261c838cdc3f3b4c3"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hr/firefox-133.0b1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha256 = "666c22ef6c63393fcfadc106e5d9e45f9045871d7320084bb27bea2bc940a4dd"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hsb/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hsb/firefox-133.0b1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha256 = "3687f58291699a0998156e17384da66cafab51834d7c5dbe8a4b6a106173b32c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hu/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hu/firefox-133.0b1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha256 = "96809520bad15744ac0882acadcce7b5bcf5fa0bc4b352a0d4ed2577ff625750"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hy-AM/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hy-AM/firefox-133.0b1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "c8ceac8c1d97cb6526b4d5010762afe6a4259f02e7e0bb7e237f811ebdf73eab"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ia/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ia/firefox-133.0b1.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; sha256 = "114b0c25121b47a83b6614e7e1c7d4f267b38033b4d9ba1da0299cc2e64c9388"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/id/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/id/firefox-133.0b1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha256 = "67aac95105b980657b01eddd19fe36febb3bbd085be505695a1addb7681d0e4c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/is/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/is/firefox-133.0b1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha256 = "6e712498fdab6993e70245a81a3dd34ef28743d08222637963028efff80ce076"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/it/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/it/firefox-133.0b1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha256 = "b17a924b15c6fa4f2b894557d596d7e9e44829fbd1aee36ad8923bbb183dd2f4"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ja/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ja/firefox-133.0b1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha256 = "fba05f5aed261d17be91fd8b244decbd376d9a99d845c14d9a233a6e480cf7ec"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ka/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ka/firefox-133.0b1.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; sha256 = "7d6ec78930a4d530f4dbdb471e870c0b9ec4b908d83100edaf1eec5a4c1a69fb"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kab/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kab/firefox-133.0b1.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; sha256 = "f819c92656b1d7a11e73ed35d5bfc443ef5af0468935dbd783788e48cb07ae40"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kk/firefox-133.0b1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha256 = "616dab450ca82656646018e5718a83b4689e3e51f82a10211c543e39fcbba3a4"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/km/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/km/firefox-133.0b1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha256 = "946d66dac62726147ffae686410a761b7187c1230a740bee61937fc5acfd3b68"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kn/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kn/firefox-133.0b1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha256 = "57aa68e667431152b26dce17f52d381daea3bbbd51d20d2d41c282b71506b4d0"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ko/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ko/firefox-133.0b1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha256 = "8a8b38085990d15443e819ea087b1b241af99ed843351308d7cd49962e434fb5"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lij/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lij/firefox-133.0b1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha256 = "5d88633bc0cc1badd60c32ae3ca597ecbd6f82c8ba17c363ba35504451aa0966"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lt/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lt/firefox-133.0b1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha256 = "c70d3e92bd3f9027c69589fb17996a8085bb4c74f447f0cd32610988851817ed"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lv/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lv/firefox-133.0b1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha256 = "066ac178e2e6076f9d15f731e71b0346e30b54be2d896cf00cd78eb6601083db"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/mk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/mk/firefox-133.0b1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha256 = "31c8eff29a9ebe3b29c683533cad12aa48b3afd5ee7845f3033f70b6c0bc6241"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/mr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/mr/firefox-133.0b1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha256 = "078da76e4f7b8764593f1701cef1f06d9e77fd607c68be7481948ee2fb4a791a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ms/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ms/firefox-133.0b1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha256 = "94229a433c2487ac653c82b2daad6503cdf80602b4ded2fb7072c7d0a64afb3d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/my/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/my/firefox-133.0b1.tar.bz2"; locale = "my"; arch = "linux-x86_64"; sha256 = "317294bf218a0d19f205b908a48a90fbe06cf5c0fa114e8e831d033ddb3e32b4"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nb-NO/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nb-NO/firefox-133.0b1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "64014f27b7cd516da9f76bea26a2e37729a535740b5c52e1556932fa8e357c82"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ne-NP/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ne-NP/firefox-133.0b1.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; sha256 = "d5c3cd9524e069953305c1a52b8e6a9967f0eb947baedeeff8736ef6a6ac83ca"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nl/firefox-133.0b1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha256 = "a575e4899c81ac773d0a40a1a9f89af0c3ad77b8776634abed33fc9fe7511fca"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nn-NO/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nn-NO/firefox-133.0b1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "36ad31e105bf6edb37fac55bfd58e50afe32b4a705c74e5c2b6e9db27a869d54"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/oc/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/oc/firefox-133.0b1.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; sha256 = "e3fb3a792cb7afc025ce3b4d19f089c80a542a9b91ea0cf8945e69a229ccfe6f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pa-IN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pa-IN/firefox-133.0b1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "0c5a828f6c7d42026cf896fba8423d04e094de396bf26dde94621fcff363e975"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pl/firefox-133.0b1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha256 = "4b122397e9ccdabccdf7f0f5ddbfc734c5675170d8e32a1059ff42da08fe11e5"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pt-BR/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pt-BR/firefox-133.0b1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "076a75a158bea4023bd38e4f5a534187ba329b0ddfcf3ab0b97657bf21dccc66"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pt-PT/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pt-PT/firefox-133.0b1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "6c254118ee767d71a0203487512ab2411dacea0903074def934581c92d5b5fb3"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/rm/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/rm/firefox-133.0b1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha256 = "313917e95e615d934308b127f56a35a69bb516a5e4d6ef5f63fe4a2f7a5fcf2a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ro/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ro/firefox-133.0b1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha256 = "8ad52f9cd80a2bb1df257f7a3b5c09ebc6abff52eaa5d504a9a45819e2329a85"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ru/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ru/firefox-133.0b1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha256 = "ad91ca54f0b7cde1de770bb57078ba8d891300ea5554aac6e7b1e8fbd750e097"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sat/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sat/firefox-133.0b1.tar.bz2"; locale = "sat"; arch = "linux-x86_64"; sha256 = "f8e310b7fde9ba123fdf478038dd9597979dc710491a1fe4316a0759b756e5e6"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sc/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sc/firefox-133.0b1.tar.bz2"; locale = "sc"; arch = "linux-x86_64"; sha256 = "15b761a6fbb95c47ba6fe2d7bb1d2cedfd522ce43645f070e1403ba6fef74e08"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sco/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sco/firefox-133.0b1.tar.bz2"; locale = "sco"; arch = "linux-x86_64"; sha256 = "bb56b3741ddcfd7d1d3751a364985cd94a59b4b26f18c4502a57687cc269ae1a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/si/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/si/firefox-133.0b1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha256 = "4f6011912dd99fbc23e3d764874c1e6e532957c561e79b30252f6dfcccd400f3"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sk/firefox-133.0b1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha256 = "82af3e4d39dfa2f5c8f399af21c0f167941a46bd7ad4ca512c652909b45d034a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/skr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/skr/firefox-133.0b1.tar.bz2"; locale = "skr"; arch = "linux-x86_64"; sha256 = "3fd67475eb317ea3f83c0787cac862d8b8725aedfd3f6dc8d0274f368dd1a36a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sl/firefox-133.0b1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha256 = "5c8991a89e795de0d8c5c6b2a08e1029d7ddbfd25045951b33a0b04223a41bad"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/son/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/son/firefox-133.0b1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha256 = "d9a96931cfeb04cc23bc03954c69934d21bf4c5a5810c94ac961a6088e39054e"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sq/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sq/firefox-133.0b1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha256 = "8d27d21903f512004900cdc7198de4991f22218ce948d5242cda649cc30ccf68"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sr/firefox-133.0b1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha256 = "b78db319c021661d41824f2267ae462695745e19345364495c40827e0a5247ca"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sv-SE/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sv-SE/firefox-133.0b1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "1215e48cacd11570a2f3a8914328a472c6167d7810f94953699e5c6f44d2bac3"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/szl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/szl/firefox-133.0b1.tar.bz2"; locale = "szl"; arch = "linux-x86_64"; sha256 = "2828965807f5b8ec7718cc58eb9ef38452acd6018a89987fb1e07faca47c1c9a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ta/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ta/firefox-133.0b1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha256 = "ea30035871e66630a9057c54ca67fa49b94f0c75772a4fc2f1aad486481ed385"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/te/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/te/firefox-133.0b1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha256 = "e878689ad558db568f50baf0803978f2c6fde36fa8020cdcd7706b2f223d4e05"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tg/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tg/firefox-133.0b1.tar.bz2"; locale = "tg"; arch = "linux-x86_64"; sha256 = "4611925af4e593b82f4fbd7517bcb48ba3757093c819af3c5c5b69e0b45672bc"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/th/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/th/firefox-133.0b1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha256 = "fb6240f394ff58a04557117ed281d28c28abcbb7a37223281e42cba3aba58a8e"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tl/firefox-133.0b1.tar.bz2"; locale = "tl"; arch = "linux-x86_64"; sha256 = "e6233f5f26b5b22aec20cab3c0fa434ca8cdbd301c671650e8a4385f2785517d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tr/firefox-133.0b1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha256 = "de2e4b9ebbec7428044df32206338318a77625c70bef63b86a87df7880f899e9"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/trs/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/trs/firefox-133.0b1.tar.bz2"; locale = "trs"; arch = "linux-x86_64"; sha256 = "e23e749741ae2afdf3cbe580221753c90a5dc115327f1dc1b17a840cd05b93d2"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/uk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/uk/firefox-133.0b1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha256 = "7641ff9a44fed05133ec2a7876f7a70b7fc701efb98a99c9099f0263cf100701"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ur/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ur/firefox-133.0b1.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; sha256 = "76b84dea317b8d096626636e4317df7a0de33f045824494dc1076fbf9a11c3ce"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/uz/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/uz/firefox-133.0b1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha256 = "ea3bbd715f93ac09524258ef039f97b67ae04163f9ba490217e3448a50ea69db"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/vi/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/vi/firefox-133.0b1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha256 = "d26f876dc7458fec133133cb4bc25350f96a0a7b4b6ffcfe26483fa62c03985f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/xh/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/xh/firefox-133.0b1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha256 = "69e8a971f8925945c0323320f45a843d98d7ab73b80f9428f47e83626651b6ef"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/zh-CN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/zh-CN/firefox-133.0b1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "1eaa3adc05330db6849d01314a7bb8afea8dd69b7ad1dde5c0b373d84341eeb3"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/zh-TW/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/zh-TW/firefox-133.0b1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "22d501328e4728fdd2e8e22c44b164ea3435b5905f57adfcaa97843abf3d1d2b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ach/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ach/firefox-133.0b1.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha256 = "5235e26e6100a1216b7e814f4885cb70f18544926cd5717bd10ce0f921a5dfa7"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/af/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/af/firefox-133.0b1.tar.bz2"; locale = "af"; arch = "linux-i686"; sha256 = "ecd5f7edcf44f0bc6c8f9cb2e959d64652477c0a91138186a47d049090333967"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/an/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/an/firefox-133.0b1.tar.bz2"; locale = "an"; arch = "linux-i686"; sha256 = "62080977a6f277a02982a1ca4f95226539d896cbcab49be5ada9419fbb35c2a7"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ar/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ar/firefox-133.0b1.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha256 = "d159f1146a116f128fd93468f9a52b264bb97c8f98cd615b4c22fd0f4bb54369"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ast/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ast/firefox-133.0b1.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha256 = "c7786d6134922c00a7add9d55b36aa277f791c57e7ae1370a57ad2293c279a58"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/az/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/az/firefox-133.0b1.tar.bz2"; locale = "az"; arch = "linux-i686"; sha256 = "37a7f70e459ce17ba506dcf57a2d0a918b1d34f6d65d71a65cacdded1d36cbec"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/be/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/be/firefox-133.0b1.tar.bz2"; locale = "be"; arch = "linux-i686"; sha256 = "f35bfd4c67e2e16241bf5d18058d01da003b6db98ef20a5c5ff80866dee2a3a5"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bg/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bg/firefox-133.0b1.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha256 = "6e591047810cdeb9fb455146a6d7fc40e2bc07be8ba80b9000956c958bc4590a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bn/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bn/firefox-133.0b1.tar.bz2"; locale = "bn"; arch = "linux-i686"; sha256 = "94018749fd939955bda8911d44ebfa1336e1ed6b0deb78cfcf51c978ca21c586"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/br/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/br/firefox-133.0b1.tar.bz2"; locale = "br"; arch = "linux-i686"; sha256 = "dc9a5b38938dc4ee51a1774b57ea9b8ed178908d5c792b5c8d6072f964a8ce2b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bs/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bs/firefox-133.0b1.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha256 = "4dfecd9c6b843636df4a952769d30779ca167968c204556ca21be822f2c6488b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ca-valencia/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ca-valencia/firefox-133.0b1.tar.bz2"; locale = "ca-valencia"; arch = "linux-i686"; sha256 = "d95465f69ff0a31c5c5fab725a0c8bfc9564a896993f5eaef9f1a46badef9d16"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ca/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ca/firefox-133.0b1.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha256 = "f60d2f04ef97c94604a38c9065fbc4d7762a0e97cb7a951963d977f599574fb4"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cak/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cak/firefox-133.0b1.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha256 = "8fc8cee299c1eb3a7bff416cb749eca7a26840d7b4934f31bc36cf6b9ac0a40e"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cs/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cs/firefox-133.0b1.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha256 = "6a1adadeb5516c35fe30874c3805f31276aae3638213a3b14a491e2b091aacef"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cy/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cy/firefox-133.0b1.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha256 = "9eb63eded5bdb7199b26bc621fca862df9aa7aab1886b79e1c1d3e230742976e"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/da/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/da/firefox-133.0b1.tar.bz2"; locale = "da"; arch = "linux-i686"; sha256 = "e4e33e4319a9072892ef395aaf6c1175223e802bfc1f7dc474ad1ef9f91c5883"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/de/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/de/firefox-133.0b1.tar.bz2"; locale = "de"; arch = "linux-i686"; sha256 = "ec69257df5cfe9a37c3a69726f2281a3d0e6a9a85a501f19e46535eae80a5e2d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/dsb/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/dsb/firefox-133.0b1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha256 = "e7244987df4e971dedd31de64586863f5d2888382d3da68d1386b406f2405200"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/el/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/el/firefox-133.0b1.tar.bz2"; locale = "el"; arch = "linux-i686"; sha256 = "5b3c989407a6ed42f095cf8b5656aa2a49dca17adb117458828424812881183d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-CA/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-CA/firefox-133.0b1.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; sha256 = "2377969cb6f7e2f169932c7f20581bcd1bf740db9f1e2f464896666a3fc38987"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-GB/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-GB/firefox-133.0b1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha256 = "039ceea2c9ebc264d01bfefed9bf8fbc16434698d5c4d4cfe457794d92a92a1f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-US/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-US/firefox-133.0b1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha256 = "32ce9d0bbb2080ce8afa73ae5d1bf166105b6dfe8bf26ccce3721d42815f0581"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/eo/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/eo/firefox-133.0b1.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha256 = "90a50460c92718c62a0c0f0c3e58348ef5cb4757db8fd05aca4c251bf23ab3d7"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-AR/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-AR/firefox-133.0b1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha256 = "4ae7d1644197612b266b8844e27c6ea7b5e3df079e0ef1b44f8b885b93e1f18f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-CL/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-CL/firefox-133.0b1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha256 = "e547ecb14f8bd32c91f4025022029bb79af4b065e71c234940306949b5c5e462"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-ES/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-ES/firefox-133.0b1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha256 = "e5a6d7dc34190992814995a0b57b4d9188c3ed6c8746a045750a56bd079713e2"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-MX/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-MX/firefox-133.0b1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha256 = "53ad3eaa0f7b969350ae43c023586d42fb18044926bde5c1f5d8337c8d83f7f6"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/et/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/et/firefox-133.0b1.tar.bz2"; locale = "et"; arch = "linux-i686"; sha256 = "c647317e95f41ea684e38d3aace7055d920f3b119a82759b335012446f1b5724"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/eu/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/eu/firefox-133.0b1.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha256 = "873e4d999c8a96c8aafcbffea4c18cfce5166c395309ccbeec638ea26a80dfa2"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fa/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fa/firefox-133.0b1.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha256 = "fa443519be951c02b12dd2cf8a5c163deb8408ce3142d499484078d8f7040f9d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ff/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ff/firefox-133.0b1.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha256 = "dd025f7616a71ff7fc71162acbfef86ae1a6905c039ec2749c7742982dc89a4a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fi/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fi/firefox-133.0b1.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha256 = "bed429db1a03783615ddcd1ecd1383f3f4c52e1295bc7cff0af450718d079db7"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fr/firefox-133.0b1.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha256 = "7d577bd3cad1e960424aceffcea266d1e0f26757e5942dcb473a1657c3290ba0"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fur/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fur/firefox-133.0b1.tar.bz2"; locale = "fur"; arch = "linux-i686"; sha256 = "5fa36efcefbb0626419b9a8beae643ef1e6f0c386a2f507e72247c565e1e8998"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fy-NL/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fy-NL/firefox-133.0b1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha256 = "02997236f0488ce1b9fa1ec40648154bda3c445c0130d7a08982abc25ea2ebf1"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ga-IE/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ga-IE/firefox-133.0b1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha256 = "41bbc0b9583e97acb6c52751974e602345e1ed593673574a9c6d6ae4fc185990"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gd/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gd/firefox-133.0b1.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha256 = "a6831f8632128c1b2d02935f63000b1bf7d0e88b6bea0b2d814a8e8774aa24fe"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gl/firefox-133.0b1.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha256 = "54b7785440073d33262667bfa6c2867a8f623741274dc55ac70b3053ff17032b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gn/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gn/firefox-133.0b1.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha256 = "e2542e3c1d1fa72bfaa601bc6db5c327cf3d992efeb0d40dda79c8c2a91e57e0"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gu-IN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gu-IN/firefox-133.0b1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha256 = "e67053a7ab1a8549de586a38271239188aa77572514945781d34d3c56b61259d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/he/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/he/firefox-133.0b1.tar.bz2"; locale = "he"; arch = "linux-i686"; sha256 = "a0d06ad4015f912dbf8f12b97a7193ffbba48afe63b53bf24242f4eec44b21ad"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hi-IN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hi-IN/firefox-133.0b1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha256 = "74d9298bf2219c3fd8e9ee0783b90d2fdeec7dc11ef48d7dd388a20b9e99079b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hr/firefox-133.0b1.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha256 = "067f27467dced6d01362b396802cd33dd9c80d45c849a579b49f3c5c07ebd182"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hsb/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hsb/firefox-133.0b1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha256 = "46581a547587e8469d171192d7f45c029c6868addc0df73ae52ce86eec5b555d"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hu/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hu/firefox-133.0b1.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha256 = "7401a0dd3ea993a1b35252e383258b03ea3b66bb5f8760b06556b1141598f740"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hy-AM/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hy-AM/firefox-133.0b1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha256 = "2aa425086ff2ceefca72afb084992225b33383492379e91b85441c33140f34d0"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ia/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ia/firefox-133.0b1.tar.bz2"; locale = "ia"; arch = "linux-i686"; sha256 = "0aa4009346092ad02ec4242f5748c087ca3a1f0f49c753101b70a03ec8e07a42"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/id/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/id/firefox-133.0b1.tar.bz2"; locale = "id"; arch = "linux-i686"; sha256 = "be998daeebbf20dbd12976f33c75edd7dd1db838c439ae16120ad96e887f5e7c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/is/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/is/firefox-133.0b1.tar.bz2"; locale = "is"; arch = "linux-i686"; sha256 = "89c5a3329217c033b12a706b1dfd239a31b9b6c25bcc44fc250cde6cae9a7a5e"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/it/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/it/firefox-133.0b1.tar.bz2"; locale = "it"; arch = "linux-i686"; sha256 = "b2eb6281f75c734ff2d8190bbefe360e239a384161fbd61eb61dca837be6df3c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ja/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ja/firefox-133.0b1.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha256 = "cfb7a0c45fc51a75c888f27c119e841e4afbf59a68af79ed81fd054a8fab3292"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ka/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ka/firefox-133.0b1.tar.bz2"; locale = "ka"; arch = "linux-i686"; sha256 = "134cc6680cd261624677b68c41330e7283cbf940e3c5cadc89cce10fcbcff4f8"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kab/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kab/firefox-133.0b1.tar.bz2"; locale = "kab"; arch = "linux-i686"; sha256 = "e9eef562d65a06f595cf620b96fd796c76cde9c9ebafe017bac7ee01abb09d85"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kk/firefox-133.0b1.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha256 = "844b7b7c2737bf8ab1beface6fb3ab66bb9447d90c7e284c0db5977f193ca608"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/km/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/km/firefox-133.0b1.tar.bz2"; locale = "km"; arch = "linux-i686"; sha256 = "3153a0d951761133902853591b8dc324f51b7937afef7f876d42cef9819de7e5"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kn/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kn/firefox-133.0b1.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha256 = "3b15251296773062dd58666feb4e4d1d069069035f7f29d0c30d89a8aa8ede52"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ko/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ko/firefox-133.0b1.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha256 = "26d3ec847cb4f4a63dc65e5f85b71a83c0000b3a2245242aeb0c85717f638c05"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lij/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lij/firefox-133.0b1.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha256 = "821cebf1615b8d6ccc886f1ba6f71b7c96d1f905f25656c06202aa9823b9fd7c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lt/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lt/firefox-133.0b1.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha256 = "67f446c2dc13ab0f5e807c359f58b6629237b84b270119e1a07b4783c0f32f8a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lv/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lv/firefox-133.0b1.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha256 = "3610f2928483acf76391b76d6daa7163dd2f67fafc9f52fd24741cb9fceb6c27"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/mk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/mk/firefox-133.0b1.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha256 = "59952564993c98da66d5b88672fd9c40911601cb7845d64587f88636ac724310"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/mr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/mr/firefox-133.0b1.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha256 = "a28a7e3bc05f3053d35a2f7ec1e6f6e9a23b09039d129986fdda4f8e827b85ec"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ms/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ms/firefox-133.0b1.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha256 = "7ffaa99af8244ab466607bccefded8b0e6e714fd40243160a9c4bc8778faa1bc"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/my/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/my/firefox-133.0b1.tar.bz2"; locale = "my"; arch = "linux-i686"; sha256 = "c709c5f9dc3626a3bc9bc68d833ee1c4f1d31fe316f5b764d40f73540e0a38f6"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nb-NO/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nb-NO/firefox-133.0b1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha256 = "a97b29ebe0a76915cc4faedea6c448300ab8c7e8767c9f3244f1b339c8ebed5b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ne-NP/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ne-NP/firefox-133.0b1.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; sha256 = "3214b27b65fbd84ebb8f409a6d05e2afe76f838432e4c35865ff3bd3fbc5b5b7"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nl/firefox-133.0b1.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha256 = "fe1de7ebf13cf5fd0d9460a331d66d490b00fca1c1f5f36877297f65b34acb9a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nn-NO/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nn-NO/firefox-133.0b1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha256 = "131754185d4b0bdbdd8e5456ae54051a7e974fe65c92e5e68cebbc09ad77c3cf"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/oc/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/oc/firefox-133.0b1.tar.bz2"; locale = "oc"; arch = "linux-i686"; sha256 = "a83510b6064cada58cb3e69faa54081f63e118cc6a3ee82fae6b85041f4e9d7c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pa-IN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pa-IN/firefox-133.0b1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha256 = "7ff6673e6851a9c7885803d4410534fbef1e383b24f5675dc0cd4536278bd6a8"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pl/firefox-133.0b1.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha256 = "21958228263df676dd210810523848a25875f45897b2c777a23c0b41e57aceb9"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pt-BR/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pt-BR/firefox-133.0b1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha256 = "e5b6e65b2e94fd4c083405ff9402d8b8121578e429403413969e973217d8edec"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pt-PT/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pt-PT/firefox-133.0b1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha256 = "bce05639655230d8fddae84489f89505517dcdf7d2270635de952f02a1dfb0f8"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/rm/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/rm/firefox-133.0b1.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha256 = "fad7e57b866dd5484a3c2987cfa7092d3b1505b9ff1bbe8b4abae01cb2862893"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ro/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ro/firefox-133.0b1.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha256 = "91680a58a8178c48f22ca36a7d86bb09bed0ae26b223b8d3ee4b1401aae56f29"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ru/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ru/firefox-133.0b1.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha256 = "9071420c5ad59bbf55c86c6b399d664547cc3f0e061985ddafc084c7ecb20996"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sat/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sat/firefox-133.0b1.tar.bz2"; locale = "sat"; arch = "linux-i686"; sha256 = "ebdb74ac24cd8844efcdb33eaecf2e3e6638708e87c720c81b7f2c5e968c068a"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sc/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sc/firefox-133.0b1.tar.bz2"; locale = "sc"; arch = "linux-i686"; sha256 = "caa20cc0c17491356bb4e1a5bbaa00278145773ede483f8aafdc42be39afd438"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sco/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sco/firefox-133.0b1.tar.bz2"; locale = "sco"; arch = "linux-i686"; sha256 = "09c69b7988f004b8a8ead03ecc784d11a3360d73dad12360692252660472f3b5"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/si/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/si/firefox-133.0b1.tar.bz2"; locale = "si"; arch = "linux-i686"; sha256 = "c087b6c581e769ae4d66761ff8826fb329d7f0bf6420b73368d2ceb538bf3d9f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sk/firefox-133.0b1.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha256 = "1b1226826371a1ebe2fcff4b8c874f0e0bbc854f8a3d6ea38aff82ff859b5eb9"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/skr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/skr/firefox-133.0b1.tar.bz2"; locale = "skr"; arch = "linux-i686"; sha256 = "3a40bee963b81c94eac34b0da4163751f04dd97f9e18e22a408ea2e055c34a46"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sl/firefox-133.0b1.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha256 = "7b34537382118ab1fd811d81a7ffb2a7292d447d3e5c922412676ddcca2c94dc"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/son/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/son/firefox-133.0b1.tar.bz2"; locale = "son"; arch = "linux-i686"; sha256 = "fa1660e07117c736a2d7c4249b3b34da98c70061dafcb7971ebaddf88c8fff18"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sq/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sq/firefox-133.0b1.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha256 = "e4fb5bfb39bac51113b585daca8d60734a551252d7ae1196fb96023b2ba57c72"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sr/firefox-133.0b1.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha256 = "62594ac892147e1a21bd7bb7b0d8609e779f18fab6c45cf9910b79bc6a7eae03"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sv-SE/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sv-SE/firefox-133.0b1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha256 = "dd1e6823bfbd0063912258e0da87df33d770fef2847643fda0a9b806d196e049"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/szl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/szl/firefox-133.0b1.tar.bz2"; locale = "szl"; arch = "linux-i686"; sha256 = "28329d3165c3a0f629b71450df71ef264d0b962e0a19969c7fb1dce35c88b290"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ta/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ta/firefox-133.0b1.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha256 = "8ab0bd1542f5484edeb1c8d4290a33ccbac6702bf732e9a57e34e28218605f7f"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/te/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/te/firefox-133.0b1.tar.bz2"; locale = "te"; arch = "linux-i686"; sha256 = "6e73c1550ea59e9177b13daefc84f9cd024c285865aba024af84ccea87e7ed30"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tg/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tg/firefox-133.0b1.tar.bz2"; locale = "tg"; arch = "linux-i686"; sha256 = "956a5816c8d32a9d513fb36889f1910c2d2e61b2e19ef4244572d993bd768611"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/th/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/th/firefox-133.0b1.tar.bz2"; locale = "th"; arch = "linux-i686"; sha256 = "685abae351da387a88ab5810c63fc7aba98f2c6329ef278e14666c1528be2554"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tl/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tl/firefox-133.0b1.tar.bz2"; locale = "tl"; arch = "linux-i686"; sha256 = "596044bebf8631c25f0025ed4b48a3ace63e854a6c35f7e5703780c5df2d814b"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tr/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tr/firefox-133.0b1.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha256 = "a8de705710efc4bba5cd91dccb82d609cb05c218225cd93149c945a1c514d4ef"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/trs/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/trs/firefox-133.0b1.tar.bz2"; locale = "trs"; arch = "linux-i686"; sha256 = "2c147a19c1c09ae9ff74f885ba2e37808303d9ad78bc5f20354fcad59d345f42"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/uk/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/uk/firefox-133.0b1.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha256 = "a408f1aff785082a163590575999837aa6ccaf681893266c2a3d497a32a50e8c"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ur/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ur/firefox-133.0b1.tar.bz2"; locale = "ur"; arch = "linux-i686"; sha256 = "91ccc6797e9db30917880159356d4a79edf966ad55b000bddfaa73d46afab7ba"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/uz/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/uz/firefox-133.0b1.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha256 = "58c625b07d58c5d10ac4d445d0f2c7f04ddddbd52089ad276ee831d8af1982df"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/vi/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/vi/firefox-133.0b1.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha256 = "eddc3be87d3e8f496dbdc1cc722f60d61daf32bdefa13ae3988309e672e9f2ff"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/xh/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/xh/firefox-133.0b1.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha256 = "2e78558a4e9861230f145896f3f1d5ea36aa5dcfca8f95dc671f992510f8a062"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/zh-CN/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/zh-CN/firefox-133.0b1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha256 = "c4746b06cf2ebdba66d84c4a2e0cd62ff41cb5320f91542c98a315a1c0800492"; } - { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/zh-TW/firefox-133.0b1.tar.bz2"; + { + url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/zh-TW/firefox-133.0b1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha256 = "ce7e0872a09c86c1da689d68bc7eb4adcbdbfdc7d0a9e76ca48dafdb8ba6124f"; } - ]; + ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix index 0e1c6241aae41..8d3ea28e46b38 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/update.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix @@ -1,25 +1,26 @@ -{ pname -, channel -, lib -, writeScript -, xidel -, coreutils -, gnused -, gnugrep -, curl -, gnupg -, runtimeShell -, baseName ? "firefox" -, basePath ? "pkgs/applications/networking/browsers/firefox-bin" -, baseUrl -, versionSuffix ? "" +{ + pname, + channel, + lib, + writeScript, + xidel, + coreutils, + gnused, + gnugrep, + curl, + gnupg, + runtimeShell, + baseName ? "firefox", + basePath ? "pkgs/applications/networking/browsers/firefox-bin", + baseUrl, + versionSuffix ? "", }: let - isBeta = - channel != "release"; + isBeta = channel != "release"; -in writeScript "update-${pname}" '' +in +writeScript "update-${pname}" '' #!${runtimeShell} PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin set -eux @@ -48,7 +49,9 @@ in writeScript "update-${pname}" '' grep "^[0-9]" | \ sort --version-sort | \ grep -v "funnelcake" | \ - grep -e "${lib.optionalString isBeta "b"}\([[:digit:]]\|[[:digit:]][[:digit:]]\)${versionSuffix}$" | ${lib.optionalString (!isBeta) "grep -v \"b\" |"} \ + grep -e "${lib.optionalString isBeta "b"}\([[:digit:]]\|[[:digit:]][[:digit:]]\)${versionSuffix}$" | ${ + lib.optionalString (!isBeta) "grep -v \"b\" |" + } \ tail -1` curl --silent -o $HOME/shasums "$url$version/SHA256SUMS" diff --git a/pkgs/applications/networking/browsers/firefox/mobile-config.nix b/pkgs/applications/networking/browsers/firefox/mobile-config.nix index 7d97a2e97d684..db88c09312014 100644 --- a/pkgs/applications/networking/browsers/firefox/mobile-config.nix +++ b/pkgs/applications/networking/browsers/firefox/mobile-config.nix @@ -1,4 +1,9 @@ -{ runCommand, fetchFromGitLab, wrapFirefox, firefox-unwrapped }: +{ + runCommand, + fetchFromGitLab, + wrapFirefox, + firefox-unwrapped, +}: let pkg = fetchFromGitLab { @@ -7,13 +12,14 @@ let rev = "ff2f07873f4ebc6e220da0e9b9f04c69f451edda"; sha256 = "sha256-8wRz8corz00+0qROMiOmZAddM4tjfmE91bx0+P8JNx4="; }; - userChrome = runCommand "userChrome.css" {} '' + userChrome = runCommand "userChrome.css" { } '' cat ${pkg}/src/userChrome/*.css > $out ''; - userContent = runCommand "userContent.css" {} '' + userContent = runCommand "userContent.css" { } '' cat ${pkg}/src/userContent/*.css > $out ''; -in wrapFirefox firefox-unwrapped { +in +wrapFirefox firefox-unwrapped { # extraPolicies = (lib.importJSON "${pkg}/src/policies.json").policies; extraPoliciesFiles = [ "${pkg}/src/policies.json" ]; extraPrefs = '' diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix index 95820bc406c40..14ccac1368077 100644 --- a/pkgs/applications/networking/browsers/firefox/update.nix +++ b/pkgs/applications/networking/browsers/firefox/update.nix @@ -1,23 +1,34 @@ -{ writeScript -, lib -, xidel -, common-updater-scripts -, coreutils -, gnused -, gnugrep -, curl -, gnupg -, attrPath -, runtimeShell -, baseUrl ? "https://archive.mozilla.org/pub/firefox/releases/" -, versionPrefix ? "" -, versionSuffix ? "" -, versionKey ? "version" +{ + writeScript, + lib, + xidel, + common-updater-scripts, + coreutils, + gnused, + gnugrep, + curl, + gnupg, + attrPath, + runtimeShell, + baseUrl ? "https://archive.mozilla.org/pub/firefox/releases/", + versionPrefix ? "", + versionSuffix ? "", + versionKey ? "version", }: writeScript "update-${attrPath}" '' #!${runtimeShell} - PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnupg gnused xidel ]} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + gnupg + gnused + xidel + ] + } set -eux HOME=`mktemp -d` diff --git a/pkgs/applications/networking/browsers/kristall/default.nix b/pkgs/applications/networking/browsers/kristall/default.nix index f228c97306840..ac6ac96c3faea 100644 --- a/pkgs/applications/networking/browsers/kristall/default.nix +++ b/pkgs/applications/networking/browsers/kristall/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, qmake, qtmultimedia }: +{ + lib, + stdenv, + fetchFromGitHub, + wrapQtAppsHook, + qmake, + qtmultimedia, +}: stdenv.mkDerivation rec { pname = "kristall"; @@ -15,27 +22,33 @@ stdenv.mkDerivation rec { sed -i '1i #include ' src/browsertab.cpp ''; - nativeBuildInputs = [ wrapQtAppsHook qmake ]; + nativeBuildInputs = [ + wrapQtAppsHook + qmake + ]; buildInputs = [ qtmultimedia ]; qmakeFlags = [ "src/kristall.pro" ]; - installPhase = if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - mv kristall.app $out/Applications - '' else '' - install -Dt $out/bin kristall - install -D Kristall.desktop $out/share/applications/net.random-projects.kristall.desktop - install -D src/icons/kristall.svg $out/share/icons/hicolor/scalable/apps/net.random-projects.kristall.svg - for size in 16 32 64 128; do - install -D src/icons/kristall-''${size}.png $out/share/icons/hicolor/''${size}x''${size}/apps/net.random-projects.kristall.png - done - ''; + installPhase = + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + mv kristall.app $out/Applications + '' + else + '' + install -Dt $out/bin kristall + install -D Kristall.desktop $out/share/applications/net.random-projects.kristall.desktop + install -D src/icons/kristall.svg $out/share/icons/hicolor/scalable/apps/net.random-projects.kristall.svg + for size in 16 32 64 128; do + install -D src/icons/kristall-''${size}.png $out/share/icons/hicolor/''${size}x''${size}/apps/net.random-projects.kristall.png + done + ''; meta = with lib; { - description = - "Graphical small-internet client, supports gemini, http, https, gopher, finger"; + description = "Graphical small-internet client, supports gemini, http, https, gopher, finger"; mainProgram = "kristall"; homepage = "https://random-projects.net/projects/kristall.gemini"; maintainers = with maintainers; [ ehmry ]; diff --git a/pkgs/applications/networking/browsers/librewolf/default.nix b/pkgs/applications/networking/browsers/librewolf/default.nix index bcaa02cfa9489..df1ac6fa676f2 100644 --- a/pkgs/applications/networking/browsers/librewolf/default.nix +++ b/pkgs/applications/networking/browsers/librewolf/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, callPackage, buildMozillaMach, nixosTests }: +{ + stdenv, + lib, + callPackage, + buildMozillaMach, + nixosTests, +}: let librewolf-src = callPackage ./librewolf.nix { }; @@ -12,15 +18,24 @@ in requireSigning = false; allowAddonSideload = true; branding = "browser/branding/librewolf"; - inherit (librewolf-src) extraConfigureFlags extraPatches extraPostPatch extraPassthru; + inherit (librewolf-src) + extraConfigureFlags + extraPatches + extraPostPatch + extraPassthru + ; meta = { description = "Fork of Firefox, focused on privacy, security and freedom"; homepage = "https://librewolf.net/"; - maintainers = with lib.maintainers; [ squalus dwrege ]; + maintainers = with lib.maintainers; [ + squalus + dwrege + ]; platforms = lib.platforms.unix; - broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. + broken = stdenv.buildPlatform.is32bit; + # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) license = lib.licenses.mpl20; mainProgram = "librewolf"; @@ -29,7 +44,8 @@ in updateScript = callPackage ./update.nix { attrPath = "librewolf-unwrapped"; }; -}).override { - crashreporterSupport = false; - enableOfficialBranding = false; -} +}).override + { + crashreporterSupport = false; + enableOfficialBranding = false; + } diff --git a/pkgs/applications/networking/browsers/librewolf/src.nix b/pkgs/applications/networking/browsers/librewolf/src.nix index fd5b1aaa1f210..ead541fa36d61 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.nix +++ b/pkgs/applications/networking/browsers/librewolf/src.nix @@ -1,5 +1,10 @@ -{ lib, fetchurl, fetchFromGitea }: -let src = lib.importJSON ./src.json; +{ + lib, + fetchurl, + fetchFromGitea, +}: +let + src = lib.importJSON ./src.json; in { inherit (src) packageVersion; @@ -11,9 +16,7 @@ in inherit (src.source) rev sha256; }; firefox = fetchurl { - url = - "mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz"; + url = "mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz"; inherit (src.firefox) sha512; }; } - diff --git a/pkgs/applications/networking/browsers/librewolf/update.nix b/pkgs/applications/networking/browsers/librewolf/update.nix index f614509fba286..33807902ea84a 100644 --- a/pkgs/applications/networking/browsers/librewolf/update.nix +++ b/pkgs/applications/networking/browsers/librewolf/update.nix @@ -1,20 +1,32 @@ -{ writeScript -, lib -, coreutils -, gnused -, gnugrep -, curl -, gnupg -, jq -, nix-prefetch-git -, moreutils -, runtimeShell -, ... +{ + writeScript, + lib, + coreutils, + gnused, + gnugrep, + curl, + gnupg, + jq, + nix-prefetch-git, + moreutils, + runtimeShell, + ... }: writeScript "update-librewolf" '' #!${runtimeShell} - PATH=${lib.makeBinPath [ coreutils curl gnugrep gnupg gnused jq moreutils nix-prefetch-git ]} + PATH=${ + lib.makeBinPath [ + coreutils + curl + gnugrep + gnupg + gnused + jq + moreutils + nix-prefetch-git + ] + } set -euo pipefail latestTag=$(curl "https://codeberg.org/api/v1/repos/librewolf/source/tags?page=1&limit=1" | jq -r .[0].name) diff --git a/pkgs/applications/networking/browsers/misc/widevine-cdm.nix b/pkgs/applications/networking/browsers/misc/widevine-cdm.nix index ce68502c57c9a..a5e7bc2f1b402 100644 --- a/pkgs/applications/networking/browsers/misc/widevine-cdm.nix +++ b/pkgs/applications/networking/browsers/misc/widevine-cdm.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchzip +{ + lib, + stdenv, + fetchzip, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/browsers/netsurf/browser.nix b/pkgs/applications/networking/browsers/netsurf/browser.nix index 760bd691dfb81..6396009fd47a6 100644 --- a/pkgs/applications/networking/browsers/netsurf/browser.nix +++ b/pkgs/applications/networking/browsers/netsurf/browser.nix @@ -1,47 +1,48 @@ -{ lib -, stdenv -, fetchurl -, SDL -, check -, curl -, expat -, gperf -, gtk2 -, gtk3 -, libXcursor -, libXrandr -, libidn -, libjpeg -, libjxl -, libpng -, libwebp -, libxml2 -, makeWrapper -, openssl -, perlPackages -, pkg-config -, wrapGAppsHook3 -, xxd - -# Netsurf-specific dependencies -, buildsystem -, libcss -, libdom -, libhubbub -, libnsbmp -, libnsfb -, libnsgif -, libnslog -, libnspsl -, libnsutils -, libparserutils -, libsvgtiny -, libutf8proc -, libwapcaplet -, nsgenbind - -# Configuration -, uilib +{ + lib, + stdenv, + fetchurl, + SDL, + check, + curl, + expat, + gperf, + gtk2, + gtk3, + libXcursor, + libXrandr, + libidn, + libjpeg, + libjxl, + libpng, + libwebp, + libxml2, + makeWrapper, + openssl, + perlPackages, + pkg-config, + wrapGAppsHook3, + xxd, + + # Netsurf-specific dependencies + buildsystem, + libcss, + libdom, + libhubbub, + libnsbmp, + libnsfb, + libnsgif, + libnslog, + libnspsl, + libnsutils, + libparserutils, + libsvgtiny, + libutf8proc, + libwapcaplet, + nsgenbind, + + # Configuration + uilib, }: stdenv.mkDerivation (finalAttrs: { @@ -59,42 +60,44 @@ stdenv.mkDerivation (finalAttrs: { perlPackages.perl pkg-config xxd - ] - ++ lib.optional (uilib == "gtk2" || uilib == "gtk3") wrapGAppsHook3; - - buildInputs = [ - check - curl - gperf - libXcursor - libXrandr - libidn - libjpeg - libjxl - libpng - libwebp - libxml2 - openssl - - libcss - libdom - libhubbub - libnsbmp - libnsfb - libnsgif - libnslog - libnspsl - libnsutils - libparserutils - libsvgtiny - libutf8proc - libwapcaplet - nsgenbind - ] - ++ lib.optionals (uilib == "framebuffer") [ expat SDL ] - ++ lib.optional (uilib == "gtk2") gtk2 - ++ lib.optional (uilib == "gtk3") gtk3 - ; + ] ++ lib.optional (uilib == "gtk2" || uilib == "gtk3") wrapGAppsHook3; + + buildInputs = + [ + check + curl + gperf + libXcursor + libXrandr + libidn + libjpeg + libjxl + libpng + libwebp + libxml2 + openssl + + libcss + libdom + libhubbub + libnsbmp + libnsfb + libnsgif + libnslog + libnspsl + libnsutils + libparserutils + libsvgtiny + libutf8proc + libwapcaplet + nsgenbind + ] + ++ lib.optionals (uilib == "framebuffer") [ + expat + SDL + ] + ++ lib.optional (uilib == "gtk2") gtk2 + ++ lib.optional (uilib == "gtk3") gtk3; # Since at least 2018 AD, GCC and other compilers run in `-fno-common` mode as # default, in order to comply with C standards and also get rid of some bad diff --git a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix index 489bf7cd7e029..12ce586c4de75 100644 --- a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix +++ b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix index 36bfe10d5d240..11f9742975a60 100644 --- a/pkgs/applications/networking/browsers/netsurf/default.nix +++ b/pkgs/applications/networking/browsers/netsurf/default.nix @@ -1,39 +1,46 @@ { lib, pkgs }: -lib.makeScope pkgs.newScope (self: +lib.makeScope pkgs.newScope ( + self: let inherit (self) callPackage; - in { - # ui can be: gtk2, gtk3, sixel, framebuffer. Note that console display (sixel) - # requires a terminal that supports `sixel` capabilities, such as mlterm - # or xterm -ti 340 - ui = "gtk3"; - uilib = { - "framebuffer" = "framebuffer"; - "gtk2" = "gtk2"; - "gtk3" = "gtk3"; - "sixel" = "framebuffer"; - }.${self.ui} or null; # Null will never happen - SDL = { - "sixel" = pkgs.SDL_sixel; - "framebuffer" = pkgs.SDL; - }.${self.ui} or null; + in + { + # ui can be: gtk2, gtk3, sixel, framebuffer. Note that console display (sixel) + # requires a terminal that supports `sixel` capabilities, such as mlterm + # or xterm -ti 340 + ui = "gtk3"; + uilib = + { + "framebuffer" = "framebuffer"; + "gtk2" = "gtk2"; + "gtk3" = "gtk3"; + "sixel" = "framebuffer"; + } + .${self.ui} or null; # Null will never happen + SDL = + { + "sixel" = pkgs.SDL_sixel; + "framebuffer" = pkgs.SDL; + } + .${self.ui} or null; - browser = callPackage ./browser.nix { }; + browser = callPackage ./browser.nix { }; - buildsystem = callPackage ./buildsystem.nix { }; - libcss = callPackage ./libcss.nix { }; - libdom = callPackage ./libdom.nix { }; - libhubbub = callPackage ./libhubbub.nix { }; - libnsbmp = callPackage ./libnsbmp.nix { }; - libnsfb = callPackage ./libnsfb.nix { }; - libnsgif = callPackage ./libnsgif.nix { }; - libnslog = callPackage ./libnslog.nix { }; - libnspsl = callPackage ./libnspsl.nix { }; - libnsutils = callPackage ./libnsutils.nix { }; - libparserutils = callPackage ./libparserutils.nix { }; - libsvgtiny = callPackage ./libsvgtiny.nix { }; - libutf8proc = callPackage ./libutf8proc.nix { }; - libwapcaplet = callPackage ./libwapcaplet.nix { }; - nsgenbind = callPackage ./nsgenbind.nix { }; -}) + buildsystem = callPackage ./buildsystem.nix { }; + libcss = callPackage ./libcss.nix { }; + libdom = callPackage ./libdom.nix { }; + libhubbub = callPackage ./libhubbub.nix { }; + libnsbmp = callPackage ./libnsbmp.nix { }; + libnsfb = callPackage ./libnsfb.nix { }; + libnsgif = callPackage ./libnsgif.nix { }; + libnslog = callPackage ./libnslog.nix { }; + libnspsl = callPackage ./libnspsl.nix { }; + libnsutils = callPackage ./libnsutils.nix { }; + libparserutils = callPackage ./libparserutils.nix { }; + libsvgtiny = callPackage ./libsvgtiny.nix { }; + libutf8proc = callPackage ./libutf8proc.nix { }; + libwapcaplet = callPackage ./libwapcaplet.nix { }; + nsgenbind = callPackage ./nsgenbind.nix { }; + } +) diff --git a/pkgs/applications/networking/browsers/netsurf/libcss.nix b/pkgs/applications/networking/browsers/netsurf/libcss.nix index 4b54f013449b7..c6c1de45fe759 100644 --- a/pkgs/applications/networking/browsers/netsurf/libcss.nix +++ b/pkgs/applications/networking/browsers/netsurf/libcss.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, perl -, pkg-config -, buildsystem -, libparserutils -, libwapcaplet +{ + lib, + stdenv, + fetchurl, + perl, + pkg-config, + buildsystem, + libparserutils, + libwapcaplet, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libdom.nix b/pkgs/applications/networking/browsers/netsurf/libdom.nix index 2f198021fafbb..015b5cec03213 100644 --- a/pkgs/applications/networking/browsers/netsurf/libdom.nix +++ b/pkgs/applications/networking/browsers/netsurf/libdom.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, expat -, pkg-config -, buildsystem -, libparserutils -, libwapcaplet -, libhubbub +{ + lib, + stdenv, + fetchurl, + expat, + pkg-config, + buildsystem, + libparserutils, + libwapcaplet, + libhubbub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix index 5847fd21d2ae8..85a086702a4de 100644 --- a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix +++ b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, gperf -, perl -, pkg-config -, buildsystem -, libparserutils +{ + lib, + stdenv, + fetchurl, + gperf, + perl, + pkg-config, + buildsystem, + libparserutils, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix index a0c1cf1062883..59c37ef3869ec 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, buildsystem +{ + lib, + stdenv, + fetchurl, + pkg-config, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libnsfb.nix b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix index 079e351ab18a8..7faf219e855bf 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnsfb.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, SDL -, pkg-config -, buildsystem -, uilib +{ + lib, + stdenv, + fetchurl, + SDL, + pkg-config, + buildsystem, + uilib, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL buildsystem ]; + buildInputs = [ + SDL + buildsystem + ]; makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix index 0f57939e17007..1a4b2dcaebb7d 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, buildPackages -, buildsystem +{ + lib, + stdenv, + fetchurl, + pkg-config, + buildPackages, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libnslog.nix b/pkgs/applications/networking/browsers/netsurf/libnslog.nix index f9243ec568888..c7cff75ecd06b 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnslog.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnslog.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, bison -, flex -, pkg-config -, buildsystem +{ + lib, + stdenv, + fetchurl, + bison, + flex, + pkg-config, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libnspsl.nix b/pkgs/applications/networking/browsers/netsurf/libnspsl.nix index 30c91908d9f37..3b07876961fa3 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnspsl.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnspsl.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, buildsystem +{ + lib, + stdenv, + fetchurl, + pkg-config, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix index 141117a94f709..d72cbc6eec27f 100644 --- a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix +++ b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, buildsystem +{ + lib, + stdenv, + fetchurl, + pkg-config, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libparserutils.nix b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix index 73c8448f2604d..55bc05cbbf117 100644 --- a/pkgs/applications/networking/browsers/netsurf/libparserutils.nix +++ b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, perl -, buildsystem -, libiconv +{ + lib, + stdenv, + fetchurl, + perl, + buildsystem, + libiconv, }: stdenv.mkDerivation (finalAttrs: { @@ -15,12 +16,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-MX7VxxjxeSe1chl0uuXeMsP9bQVdsTGtMbQxKgMu0Tk="; }; - buildInputs = [ - perl - buildsystem - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + buildInputs = + [ + perl + buildsystem + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix index a672a7b7cde9d..bcdc561da2d19 100644 --- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix +++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, gperf -, pkg-config -, buildsystem -, libdom -, libhubbub -, libparserutils -, libwapcaplet +{ + lib, + stdenv, + fetchurl, + gperf, + pkg-config, + buildsystem, + libdom, + libhubbub, + libparserutils, + libwapcaplet, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix index adbd138b2260f..9740911160f35 100644 --- a/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix +++ b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, buildsystem +{ + lib, + stdenv, + fetchurl, + pkg-config, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix index 01c1b6c67f3a9..6f783a35f7eec 100644 --- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix +++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, buildsystem +{ + lib, + stdenv, + fetchurl, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix b/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix index 0ad77b07ca406..efd68a30571fa 100644 --- a/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix +++ b/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, bison -, flex -, buildsystem +{ + lib, + stdenv, + fetchurl, + bison, + flex, + buildsystem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/browsers/nyxt/default.nix b/pkgs/applications/networking/browsers/nyxt/default.nix index 6ff4976f00c8b..5c1d3a610e8db 100644 --- a/pkgs/applications/networking/browsers/nyxt/default.nix +++ b/pkgs/applications/networking/browsers/nyxt/default.nix @@ -1,32 +1,33 @@ -{ stdenv -, lib -, testers -, wrapGAppsHook3 -, fetchzip -, sbcl -, pkg-config -, libfixposix -, gobject-introspection -, gsettings-desktop-schemas -, glib-networking -, notify-osd -, gtk3 -, glib -, gdk-pixbuf -, cairo -, pango -, webkitgtk_4_0 -, openssl -, gstreamer -, gst-libav -, gst-plugins-base -, gst-plugins-good -, gst-plugins-bad -, gst-plugins-ugly -, xdg-utils -, xclip -, wl-clipboard -, nix-update-script +{ + stdenv, + lib, + testers, + wrapGAppsHook3, + fetchzip, + sbcl, + pkg-config, + libfixposix, + gobject-introspection, + gsettings-desktop-schemas, + glib-networking, + notify-osd, + gtk3, + glib, + gdk-pixbuf, + cairo, + pango, + webkitgtk_4_0, + openssl, + gstreamer, + gst-libav, + gst-plugins-base, + gst-plugins-good, + gst-plugins-bad, + gst-plugins-ugly, + xdg-utils, + xclip, + wl-clipboard, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -44,7 +45,8 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ sbcl # for groveller - pkg-config libfixposix + pkg-config + libfixposix # for gappsWrapper gobject-introspection gsettings-desktop-schemas @@ -80,11 +82,20 @@ stdenv.mkDerivation (finalAttrs: { ''; # don't refresh from git - makeFlags = [ "all" "NYXT_SUBMODULES=false" ]; + makeFlags = [ + "all" + "NYXT_SUBMODULES=false" + ]; preFixup = '' gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH") - gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ xdg-utils xclip wl-clipboard ]}") + gappsWrapperArgs+=(--prefix PATH : "${ + lib.makeBinPath [ + xdg-utils + xclip + wl-clipboard + ] + }") ''; # prevent corrupting core in exe @@ -100,7 +111,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "nyxt"; homepage = "https://nyxt.atlas.engineer"; license = licenses.bsd3; - maintainers = with maintainers; [ lewo dariof4 ]; + maintainers = with maintainers; [ + lewo + dariof4 + ]; platforms = platforms.all; }; }) diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix index 07b2b80494319..637672bef5955 100644 --- a/pkgs/applications/networking/browsers/palemoon/bin.nix +++ b/pkgs/applications/networking/browsers/palemoon/bin.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchzip -, alsa-lib -, autoPatchelfHook -, copyDesktopItems -, dbus-glib -, ffmpeg -, gtk2-x11 -, withGTK3 ? true -, gtk3 -, libglvnd -, libXt -, libpulseaudio -, makeDesktopItem -, wrapGAppsHook3 -, writeScript -, testers +{ + stdenv, + lib, + fetchzip, + alsa-lib, + autoPatchelfHook, + copyDesktopItems, + dbus-glib, + ffmpeg, + gtk2-x11, + withGTK3 ? true, + gtk3, + libglvnd, + libXt, + libpulseaudio, + makeDesktopItem, + wrapGAppsHook3, + writeScript, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -34,76 +35,80 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook3 ]; - buildInputs = [ - alsa-lib - dbus-glib - gtk2-x11 - libXt - (lib.getLib stdenv.cc.cc) - ] ++ lib.optionals withGTK3 [ - gtk3 - ]; - - desktopItems = [(makeDesktopItem rec { - name = "palemoon-bin"; - desktopName = "Pale Moon Web Browser"; - comment = "Browse the World Wide Web"; - keywords = [ - "Internet" - "WWW" - "Browser" - "Web" - "Explorer" - ]; - exec = "palemoon %u"; - terminal = false; - type = "Application"; - icon = "palemoon"; - categories = [ - "Network" - "WebBrowser" - ]; - mimeTypes = [ - "text/html" - "text/xml" - "application/xhtml+xml" - "application/xml" - "application/rss+xml" - "application/rdf+xml" - "image/gif" - "image/jpeg" - "image/png" - "x-scheme-handler/http" - "x-scheme-handler/https" - "x-scheme-handler/ftp" - "x-scheme-handler/chrome" - "video/webm" - "application/x-xpinstall" + buildInputs = + [ + alsa-lib + dbus-glib + gtk2-x11 + libXt + (lib.getLib stdenv.cc.cc) + ] + ++ lib.optionals withGTK3 [ + gtk3 ]; - startupNotify = true; - startupWMClass = "Pale moon"; - extraConfig = { - X-MultipleArgs = "false"; - }; - actions = { - "NewTab" = { - name = "Open new tab"; - exec = "palemoon -new-tab https://start.palemoon.org"; - }; - "NewWindow" = { - name = "Open new window"; - exec = "palemoon -new-window"; - }; - "NewPrivateWindow" = { - name = "Open new private window"; - exec = "palemoon -private-window"; + + desktopItems = [ + (makeDesktopItem rec { + name = "palemoon-bin"; + desktopName = "Pale Moon Web Browser"; + comment = "Browse the World Wide Web"; + keywords = [ + "Internet" + "WWW" + "Browser" + "Web" + "Explorer" + ]; + exec = "palemoon %u"; + terminal = false; + type = "Application"; + icon = "palemoon"; + categories = [ + "Network" + "WebBrowser" + ]; + mimeTypes = [ + "text/html" + "text/xml" + "application/xhtml+xml" + "application/xml" + "application/rss+xml" + "application/rdf+xml" + "image/gif" + "image/jpeg" + "image/png" + "x-scheme-handler/http" + "x-scheme-handler/https" + "x-scheme-handler/ftp" + "x-scheme-handler/chrome" + "video/webm" + "application/x-xpinstall" + ]; + startupNotify = true; + startupWMClass = "Pale moon"; + extraConfig = { + X-MultipleArgs = "false"; }; - "ProfileManager" = { - name = "Open the Profile Manager"; - exec = "palemoon --ProfileManager"; + actions = { + "NewTab" = { + name = "Open new tab"; + exec = "palemoon -new-tab https://start.palemoon.org"; + }; + "NewWindow" = { + name = "Open new window"; + exec = "palemoon -new-window"; + }; + "NewPrivateWindow" = { + name = "Open new private window"; + exec = "palemoon -private-window"; + }; + "ProfileManager" = { + name = "Open the Profile Manager"; + exec = "palemoon --ProfileManager"; + }; }; - }; - })]; + }) + ]; dontConfigure = true; dontBuild = true; @@ -138,33 +143,42 @@ stdenv.mkDerivation (finalAttrs: { preFixup = '' # Make optional dependencies available gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - ffmpeg - libglvnd - libpulseaudio - ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + ffmpeg + libglvnd + libpulseaudio + ] + }" ) wrapGApp $out/lib/palemoon/palemoon ''; passthru = { - sources = let - urlRegionVariants = buildVariant: map - (region: "https://rm-${region}.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-${buildVariant}.tar.xz") - [ - "eu" - "us" - ]; - in { - gtk3 = fetchzip { - urls = urlRegionVariants "gtk3"; - hash = "sha256-TlmDsZKHolTS+y+1BymyY49+AvqUv8zmUXCGNHCRPL0="; - }; - gtk2 = fetchzip { - urls = urlRegionVariants "gtk2"; - hash = "sha256-f6vLHbpmvVfkjZr7x0DiCFoGGvfxHfFZ3KTagq2Mwp4="; + sources = + let + urlRegionVariants = + buildVariant: + map + ( + region: + "https://rm-${region}.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-${buildVariant}.tar.xz" + ) + [ + "eu" + "us" + ]; + in + { + gtk3 = fetchzip { + urls = urlRegionVariants "gtk3"; + hash = "sha256-TlmDsZKHolTS+y+1BymyY49+AvqUv8zmUXCGNHCRPL0="; + }; + gtk2 = fetchzip { + urls = urlRegionVariants "gtk2"; + hash = "sha256-f6vLHbpmvVfkjZr7x0DiCFoGGvfxHfFZ3KTagq2Mwp4="; + }; }; - }; tests.version = testers.testVersion { package = finalAttrs.finalPackage; @@ -216,6 +230,6 @@ stdenv.mkDerivation (finalAttrs: { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "palemoon"; platforms = [ "x86_64-linux" ]; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; }) diff --git a/pkgs/applications/networking/browsers/qtchan/default.nix b/pkgs/applications/networking/browsers/qtchan/default.nix index eb2e9789caa56..3e266f5f8712f 100644 --- a/pkgs/applications/networking/browsers/qtchan/default.nix +++ b/pkgs/applications/networking/browsers/qtchan/default.nix @@ -1,13 +1,19 @@ -{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }: +{ + mkDerivation, + lib, + fetchFromGitHub, + qmake, + qtbase, +}: mkDerivation rec { pname = "qtchan"; version = "1.0.1"; src = fetchFromGitHub { - owner = "siavash119"; - repo = "qtchan"; - rev = "v${version}"; + owner = "siavash119"; + repo = "qtchan"; + rev = "v${version}"; sha256 = "1x11m1kwqindzc0dkpfifcglsb362impaxs85kgzx50p898sz9ll"; }; @@ -23,9 +29,9 @@ mkDerivation rec { meta = with lib; { description = "4chan browser in qt5"; mainProgram = "qtchan"; - homepage = "https://github.com/siavash119/qtchan"; - license = licenses.mit; + homepage = "https://github.com/siavash119/qtchan"; + license = licenses.mit; maintainers = with maintainers; [ Madouura ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 0586d6cc5fc9d..f0f0800b2ae4e 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,30 +1,40 @@ -{ stdenv, lib, fetchurl, fetchzip, python3 -, wrapQtAppsHook, glib-networking -, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2 -, libxslt -, withPdfReader ? true -, pipewireSupport ? stdenv.hostPlatform.isLinux -, pipewire -, qtwayland -, qtbase -, qtwebengine -, enableWideVine ? false -, widevine-cdm -# can cause issues on some graphics chips -, enableVulkan ? false -, vulkan-loader +{ + stdenv, + lib, + fetchurl, + fetchzip, + python3, + wrapQtAppsHook, + glib-networking, + asciidoc, + docbook_xml_dtd_45, + docbook_xsl, + libxml2, + libxslt, + withPdfReader ? true, + pipewireSupport ? stdenv.hostPlatform.isLinux, + pipewire, + qtwayland, + qtbase, + qtwebengine, + enableWideVine ? false, + widevine-cdm, + # can cause issues on some graphics chips + enableVulkan ? false, + vulkan-loader, }: let isQt6 = lib.versions.major qtbase.version == "6"; - pdfjs = let - version = "4.2.67"; - in - fetchzip { - url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-dist.zip"; - hash = "sha256-7kfT3+ZwoGqZ5OwkO9h3DIuBFd0v8fRlcufxoBdcy8c="; - stripRoot = false; - }; + pdfjs = + let + version = "4.2.67"; + in + fetchzip { + url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-dist.zip"; + hash = "sha256-7kfT3+ZwoGqZ5OwkO9h3DIuBFd0v8fRlcufxoBdcy8c="; + stripRoot = false; + }; version = "3.3.1"; in @@ -42,28 +52,39 @@ python3.pkgs.buildPythonApplication { # Needs tox doCheck = false; - buildInputs = [ - qtbase - glib-networking - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]; + buildInputs = + [ + qtbase + glib-networking + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; build-system = with python3.pkgs; [ setuptools ]; nativeBuildInputs = [ - wrapQtAppsHook asciidoc - docbook_xml_dtd_45 docbook_xsl libxml2 libxslt + wrapQtAppsHook + asciidoc + docbook_xml_dtd_45 + docbook_xsl + libxml2 + libxslt ]; dependencies = with python3.pkgs; [ colorama - pyyaml (if isQt6 then pyqt6-webengine else pyqtwebengine) jinja2 pygments + pyyaml + (if isQt6 then pyqt6-webengine else pyqtwebengine) + jinja2 + pygments # scripts and userscripts libs - tldextract beautifulsoup4 - readability-lxml pykeepass + tldextract + beautifulsoup4 + readability-lxml + pykeepass stem pynacl # extensive ad blocking @@ -72,20 +93,21 @@ python3.pkgs.buildPythonApplication { pyperclip ]; - patches = [ ./fix-restart.patch ]; dontWrapQtApps = true; - postPatch = '' - substituteInPlace qutebrowser/misc/quitter.py --subst-var-by qutebrowser "$out/bin/qutebrowser" + postPatch = + '' + substituteInPlace qutebrowser/misc/quitter.py --subst-var-by qutebrowser "$out/bin/qutebrowser" - sed -i "s,/usr,$out,g" qutebrowser/utils/standarddir.py - '' + lib.optionalString withPdfReader '' - sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py - ''; + sed -i "s,/usr,$out,g" qutebrowser/utils/standarddir.py + '' + + lib.optionalString withPdfReader '' + sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py + ''; installPhase = '' runHook preInstall @@ -109,33 +131,40 @@ python3.pkgs.buildPythonApplication { done ''; - preFixup = let - libPath = lib.makeLibraryPath [ pipewire ]; - in + preFixup = + let + libPath = lib.makeLibraryPath [ pipewire ]; + in '' - makeWrapperArgs+=( - # Force the app to use QT_PLUGIN_PATH values from wrapper - --unset QT_PLUGIN_PATH - "''${qtWrapperArgs[@]}" - # avoid persistant warning on starup - --set QT_STYLE_OVERRIDE Fusion - ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} - ${lib.optionalString (enableVulkan) '' - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [vulkan-loader]} - --set-default QSG_RHI_BACKEND vulkan - ''} - ${lib.optionalString enableWideVine ''--add-flags "--qt-flag widevine-path=${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"''} - --set QTWEBENGINE_RESOURCES_PATH "${qtwebengine}/resources" - ) - ''; + makeWrapperArgs+=( + # Force the app to use QT_PLUGIN_PATH values from wrapper + --unset QT_PLUGIN_PATH + "''${qtWrapperArgs[@]}" + # avoid persistant warning on starup + --set QT_STYLE_OVERRIDE Fusion + ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} + ${lib.optionalString (enableVulkan) '' + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]} + --set-default QSG_RHI_BACKEND vulkan + ''} + ${lib.optionalString enableWideVine ''--add-flags "--qt-flag widevine-path=${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"''} + --set QTWEBENGINE_RESOURCES_PATH "${qtwebengine}/resources" + ) + ''; meta = with lib; { - homepage = "https://github.com/qutebrowser/qutebrowser"; - changelog = "https://github.com/qutebrowser/qutebrowser/blob/v${version}/doc/changelog.asciidoc"; + homepage = "https://github.com/qutebrowser/qutebrowser"; + changelog = "https://github.com/qutebrowser/qutebrowser/blob/v${version}/doc/changelog.asciidoc"; description = "Keyboard-focused browser with a minimal GUI"; - license = licenses.gpl3Plus; + license = licenses.gpl3Plus; mainProgram = "qutebrowser"; - platforms = if enableWideVine then [ "x86_64-linux" ] else qtwebengine.meta.platforms; - maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry dotlambda nrdxp ]; + platforms = if enableWideVine then [ "x86_64-linux" ] else qtwebengine.meta.platforms; + maintainers = with maintainers; [ + jagajaga + rnhmjoj + ebzzry + dotlambda + nrdxp + ]; }; } diff --git a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix index dafc914c1ac27..0872fd859b201 100644 --- a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix +++ b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix @@ -1,4 +1,9 @@ -{ squashfsTools, fetchurl, lib, stdenv }: +{ + squashfsTools, + fetchurl, + lib, + stdenv, +}: # This derivation roughly follows the update-ffmpeg script that ships with the official Vivaldi # downloads at https://vivaldi.com/download/ @@ -23,10 +28,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Additional support for proprietary codecs for Vivaldi"; - homepage = "https://ffmpeg.org/"; + homepage = "https://ffmpeg.org/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.lgpl21; - maintainers = with maintainers; [ betaboon cawilliamson fptje ]; - platforms = [ "x86_64-linux" ]; + license = licenses.lgpl21; + maintainers = with maintainers; [ + betaboon + cawilliamson + fptje + ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/networking/browsers/webmacs/default.nix b/pkgs/applications/networking/browsers/webmacs/default.nix index dc8b89ac1df78..fbec74002d1f8 100644 --- a/pkgs/applications/networking/browsers/webmacs/default.nix +++ b/pkgs/applications/networking/browsers/webmacs/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, mkDerivationWith -, fetchFromGitHub -, python3Packages -, herbstluftwm +{ + lib, + stdenv, + mkDerivationWith, + fetchFromGitHub, + python3Packages, + herbstluftwm, }: mkDerivationWith python3Packages.buildPythonApplication rec { @@ -47,7 +48,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec { # See https://github.com/parkouss/webmacs/blob/1a04fb7bd3f33d39cb4d71621b48c2458712ed39/setup.py#L32 # Don't know why they're using CC for g++. preConfigure = '' - export CC=$CXX + export CC=$CXX ''; doCheck = false; # test dependencies not packaged up yet diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index 27c5ebf9e9c0f..a76be42cf1121 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -1,40 +1,57 @@ -{ lib -, stdenv -, makeWrapper -, makeDesktopItem -, fetchurl -, jdk11 -, jdk8 +{ + lib, + stdenv, + makeWrapper, + makeDesktopItem, + fetchurl, + jdk11, + jdk8, }: let - generic = { version, sha256, platform ? "", jdk, ... }@attrs: - let - desktopItem = makeDesktopItem { - categories = [ "Network" "Development" "WebDevelopment" "Java" ]; - desktopName = "Charles"; - exec = "charles %F"; - genericName = "Web Debugging Proxy"; - icon = "charles-proxy"; - mimeTypes = [ - "application/x-charles-savedsession" - "application/x-charles-savedsession+xml" - "application/x-charles-savedsession+json" - "application/har+json" - "application/vnd.tcpdump.pcap" - "application/x-charles-trace" - ]; - name = "Charles"; - startupNotify = true; - }; + generic = + { + version, + sha256, + platform ? "", + jdk, + ... + }@attrs: + let + desktopItem = makeDesktopItem { + categories = [ + "Network" + "Development" + "WebDevelopment" + "Java" + ]; + desktopName = "Charles"; + exec = "charles %F"; + genericName = "Web Debugging Proxy"; + icon = "charles-proxy"; + mimeTypes = [ + "application/x-charles-savedsession" + "application/x-charles-savedsession+xml" + "application/x-charles-savedsession+json" + "application/har+json" + "application/vnd.tcpdump.pcap" + "application/x-charles-trace" + ]; + name = "Charles"; + startupNotify = true; + }; - in stdenv.mkDerivation { + in + stdenv.mkDerivation { pname = "charles"; inherit version; src = fetchurl { url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}${platform}.tar.gz"; - curlOptsList = [ "--user-agent" "Mozilla/5.0" ]; # HTTP 104 otherwise + curlOptsList = [ + "--user-agent" + "Mozilla/5.0" + ]; # HTTP 104 otherwise inherit sha256; }; nativeBuildInputs = [ makeWrapper ]; @@ -57,24 +74,32 @@ let meta = with lib; { description = "Web Debugging Proxy"; homepage = "https://www.charlesproxy.com/"; - maintainers = with maintainers; [ kalbasit kashw2 ]; + maintainers = with maintainers; [ + kalbasit + kashw2 + ]; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; platforms = platforms.unix; }; }; -in { - charles4 = (generic { - version = "4.6.4"; - sha256 = "KEQYb90kt41dS3TJLZqdaV9P3mQA9UPsEyiFb/knm3w="; - platform = "_amd64"; - jdk = jdk11; - }); - charles3 = (generic { - version = "3.12.3"; - sha256 = "13zk82ny1w5zd9qcs9qkq0kdb22ni5byzajyshpxdfm4zv6p32ss"; - jdk = jdk8.jre; - mainProgram = "charles"; - }); +in +{ + charles4 = ( + generic { + version = "4.6.4"; + sha256 = "KEQYb90kt41dS3TJLZqdaV9P3mQA9UPsEyiFb/knm3w="; + platform = "_amd64"; + jdk = jdk11; + } + ); + charles3 = ( + generic { + version = "3.12.3"; + sha256 = "13zk82ny1w5zd9qcs9qkq0kdb22ni5byzajyshpxdfm4zv6p32ss"; + jdk = jdk8.jre; + mainProgram = "charles"; + } + ); } diff --git a/pkgs/applications/networking/cloudflared/tests.nix b/pkgs/applications/networking/cloudflared/tests.nix index 8314e84075fd2..c1c081c0a503b 100644 --- a/pkgs/applications/networking/cloudflared/tests.nix +++ b/pkgs/applications/networking/cloudflared/tests.nix @@ -1,4 +1,14 @@ -{ version, lib, stdenv, pkgsCross, testers, cloudflared, runCommand, wine, wine64 }: +{ + version, + lib, + stdenv, + pkgsCross, + testers, + cloudflared, + runCommand, + wine, + wine64, +}: let inherit (stdenv) buildPlatform; @@ -8,37 +18,45 @@ in package = cloudflared; command = "cloudflared help"; }; - refuses-to-autoupdate = runCommand "cloudflared-${version}-refuses-to-autoupdate" - { - nativeBuildInputs = [ cloudflared ]; - } '' - set -e - cloudflared update 2>&1 | tee output.txt - if ! grep "cloudflared was installed by nixpkgs" output.txt - then - echo "cloudflared's output didn't contain the package manager name" - exit 1 - fi - mkdir $out - ''; -} // lib.optionalAttrs (buildPlatform.isLinux && (buildPlatform.isi686 || buildPlatform.isx86_64)) { - runs-through-wine = runCommand "cloudflared-${version}-runs-through-wine" - { - nativeBuildInputs = [ wine ]; - exe = "${pkgsCross.mingw32.cloudflared}/bin/cloudflared.exe"; - } '' - export HOME="$(mktemp -d)" - wine $exe help - mkdir $out - ''; -} // lib.optionalAttrs (buildPlatform.isLinux && buildPlatform.isx86_64) { - runs-through-wine64 = runCommand "cloudflared-${version}-runs-through-wine64" - { - nativeBuildInputs = [ wine64 ]; - exe = "${pkgsCross.mingwW64.cloudflared}/bin/cloudflared.exe"; - } '' - export HOME="$(mktemp -d)" - wine64 $exe help - mkdir $out - ''; + refuses-to-autoupdate = + runCommand "cloudflared-${version}-refuses-to-autoupdate" + { + nativeBuildInputs = [ cloudflared ]; + } + '' + set -e + cloudflared update 2>&1 | tee output.txt + if ! grep "cloudflared was installed by nixpkgs" output.txt + then + echo "cloudflared's output didn't contain the package manager name" + exit 1 + fi + mkdir $out + ''; +} +// lib.optionalAttrs (buildPlatform.isLinux && (buildPlatform.isi686 || buildPlatform.isx86_64)) { + runs-through-wine = + runCommand "cloudflared-${version}-runs-through-wine" + { + nativeBuildInputs = [ wine ]; + exe = "${pkgsCross.mingw32.cloudflared}/bin/cloudflared.exe"; + } + '' + export HOME="$(mktemp -d)" + wine $exe help + mkdir $out + ''; +} +// lib.optionalAttrs (buildPlatform.isLinux && buildPlatform.isx86_64) { + runs-through-wine64 = + runCommand "cloudflared-${version}-runs-through-wine64" + { + nativeBuildInputs = [ wine64 ]; + exe = "${pkgsCross.mingwW64.cloudflared}/bin/cloudflared.exe"; + } + '' + export HOME="$(mktemp -d)" + wine64 $exe help + mkdir $out + ''; } diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix index 7710490816e7e..be96dfdbe5628 100644 --- a/pkgs/applications/networking/cluster/cni/default.nix +++ b/pkgs/applications/networking/cluster/cni/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "cni"; @@ -17,14 +21,23 @@ buildGoModule rec { "./cnitool" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Container Network Interface - networking for Linux containers"; mainProgram = "cnitool"; license = licenses.asl20; homepage = "https://github.com/containernetworking/cni"; - maintainers = with maintainers; [ offline vdemeester ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ + offline + vdemeester + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix index 417bf7fb69015..085d688e51bda 100644 --- a/pkgs/applications/networking/cluster/cni/plugins.nix +++ b/pkgs/applications/networking/cluster/cni/plugins.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, nixosTests }: +{ + lib, + fetchFromGitHub, + buildGoModule, + nixosTests, +}: buildGoModule rec { pname = "cni-plugins"; diff --git a/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix b/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix index d9af5c360d4c1..a0ebcefe31ed8 100644 --- a/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix +++ b/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix @@ -1,7 +1,18 @@ -{ lib, buildGoModule, minikube }: +{ + lib, + buildGoModule, + minikube, +}: buildGoModule rec { - inherit (minikube) version src nativeBuildInputs buildInputs vendorHash doCheck; + inherit (minikube) + version + src + nativeBuildInputs + buildInputs + vendorHash + doCheck + ; pname = "docker-machine-hyperkit"; diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix index c21cf5b4970e8..803f7033bc23e 100644 --- a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix +++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix @@ -1,7 +1,18 @@ -{ lib, buildGoModule, minikube }: +{ + lib, + buildGoModule, + minikube, +}: buildGoModule rec { - inherit (minikube) version src nativeBuildInputs buildInputs vendorHash doCheck; + inherit (minikube) + version + src + nativeBuildInputs + buildInputs + vendorHash + doCheck + ; pname = "docker-machine-kvm2"; @@ -22,7 +33,10 @@ buildGoModule rec { description = "KVM2 driver for docker-machine"; mainProgram = "docker-machine-driver-kvm2"; license = licenses.asl20; - maintainers = with maintainers; [ tadfisher atkinschang ]; + maintainers = with maintainers; [ + tadfisher + atkinschang + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix b/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix index 7d5d2918e9b9f..778ed6261df02 100644 --- a/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix +++ b/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix @@ -1,4 +1,13 @@ -{ version, stdenv, fetchurl, lib, cmake, openssl, platformAttrs, ... }: +{ + version, + stdenv, + fetchurl, + lib, + cmake, + openssl, + platformAttrs, + ... +}: stdenv.mkDerivation (finalAttrs: { pname = "hadoop-yarn-containerexecutor"; @@ -8,8 +17,9 @@ stdenv.mkDerivation (finalAttrs: { url = "mirror://apache/hadoop/common/hadoop-${finalAttrs.version}/hadoop-${finalAttrs.version}-src.tar.gz"; hash = platformAttrs.${stdenv.system}.srcHash; }; - sourceRoot = "hadoop-${finalAttrs.version}-src/hadoop-yarn-project/hadoop-yarn/" - +"hadoop-yarn-server/hadoop-yarn-server-nodemanager/src"; + sourceRoot = + "hadoop-${finalAttrs.version}-src/hadoop-yarn-project/hadoop-yarn/" + + "hadoop-yarn-server/hadoop-yarn-server-nodemanager/src"; nativeBuildInputs = [ cmake ]; buildInputs = [ openssl ]; @@ -26,9 +36,9 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.asl20; longDescription = '' - The Hadoop YARN Container Executor is a native component responsible for managing the lifecycle of containers - on individual nodes in a Hadoop YARN cluster. It launches, monitors, and terminates containers, ensuring that - resources like CPU and memory are allocated according to the policies defined in the ResourceManager. + The Hadoop YARN Container Executor is a native component responsible for managing the lifecycle of containers + on individual nodes in a Hadoop YARN cluster. It launches, monitors, and terminates containers, ensuring that + resources like CPU and memory are allocated according to the policies defined in the ResourceManager. ''; maintainers = with maintainers; [ illustris ]; diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix index 1fdcbd5e56498..1a9aa3667e450 100644 --- a/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/pkgs/applications/networking/cluster/hadoop/default.nix @@ -1,122 +1,159 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, autoPatchelfHook -, jdk8_headless -, jdk11_headless -, bash -, coreutils -, which -, bzip2 -, cyrus_sasl -, protobuf -, snappy -, zlib -, zstd -, openssl -, nixosTests -, sparkSupport ? true -, spark -, libtirpc -, callPackage +{ + lib, + stdenv, + fetchurl, + makeWrapper, + autoPatchelfHook, + jdk8_headless, + jdk11_headless, + bash, + coreutils, + which, + bzip2, + cyrus_sasl, + protobuf, + snappy, + zlib, + zstd, + openssl, + nixosTests, + sparkSupport ? true, + spark, + libtirpc, + callPackage, }: -assert lib.elem stdenv.system [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; +assert lib.elem stdenv.system [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" +]; let - common = { pname, platformAttrs, jdk, tests }: + common = + { + pname, + platformAttrs, + jdk, + tests, + }: stdenv.mkDerivation (finalAttrs: { inherit pname jdk; version = platformAttrs.${stdenv.system}.version or (throw "Unsupported system: ${stdenv.system}"); src = fetchurl { - url = "mirror://apache/hadoop/common/hadoop-${finalAttrs.version}/hadoop-${finalAttrs.version}" - + lib.optionalString stdenv.hostPlatform.isAarch64 "-aarch64" + ".tar.gz"; + url = + "mirror://apache/hadoop/common/hadoop-${finalAttrs.version}/hadoop-${finalAttrs.version}" + + lib.optionalString stdenv.hostPlatform.isAarch64 "-aarch64" + + ".tar.gz"; inherit (platformAttrs.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}")) hash; }; doCheck = true; # Build the container executor binary from source # InstallPhase is not lazily evaluating containerExecutor for some reason - containerExecutor = if stdenv.hostPlatform.isLinux then (callPackage ./containerExecutor.nix { - inherit (finalAttrs) version; - inherit platformAttrs; - }) else ""; + containerExecutor = + if stdenv.hostPlatform.isLinux then + (callPackage ./containerExecutor.nix { + inherit (finalAttrs) version; + inherit platformAttrs; + }) + else + ""; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ (lib.getLib stdenv.cc.cc) openssl protobuf zlib snappy libtirpc ]; + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + (lib.getLib stdenv.cc.cc) + openssl + protobuf + zlib + snappy + libtirpc + ]; - installPhase = '' - mkdir $out - mv * $out/ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - for n in $(find ${finalAttrs.containerExecutor}/bin -type f); do - ln -sf "$n" $out/bin - done + installPhase = + '' + mkdir $out + mv * $out/ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + for n in $(find ${finalAttrs.containerExecutor}/bin -type f); do + ln -sf "$n" $out/bin + done - # these libraries are loaded at runtime by the JVM - ln -s ${lib.getLib cyrus_sasl}/lib/libsasl2.so $out/lib/native/libsasl2.so.2 - ln -s ${lib.getLib openssl}/lib/libcrypto.so $out/lib/native/ - ln -s ${lib.getLib zlib}/lib/libz.so.1 $out/lib/native/ - ln -s ${lib.getLib zstd}/lib/libzstd.so.1 $out/lib/native/ - ln -s ${lib.getLib bzip2}/lib/libbz2.so.1 $out/lib/native/ - ln -s ${lib.getLib snappy}/lib/libsnappy.so.1 $out/lib/native/ + # these libraries are loaded at runtime by the JVM + ln -s ${lib.getLib cyrus_sasl}/lib/libsasl2.so $out/lib/native/libsasl2.so.2 + ln -s ${lib.getLib openssl}/lib/libcrypto.so $out/lib/native/ + ln -s ${lib.getLib zlib}/lib/libz.so.1 $out/lib/native/ + ln -s ${lib.getLib zstd}/lib/libzstd.so.1 $out/lib/native/ + ln -s ${lib.getLib bzip2}/lib/libbz2.so.1 $out/lib/native/ + ln -s ${lib.getLib snappy}/lib/libsnappy.so.1 $out/lib/native/ - # libjvm.so is in different paths for java 8 and 11 - # libnativetask.so in hadooop 3 and libhdfs.so in hadoop 2 depend on it - find $out/lib/native/ -name 'libnativetask.so*' -o -name 'libhdfs.so*' | \ - xargs -n1 patchelf --add-rpath $(dirname $(find ${finalAttrs.jdk.home} -name libjvm.so | head -n1)) + # libjvm.so is in different paths for java 8 and 11 + # libnativetask.so in hadooop 3 and libhdfs.so in hadoop 2 depend on it + find $out/lib/native/ -name 'libnativetask.so*' -o -name 'libhdfs.so*' | \ + xargs -n1 patchelf --add-rpath $(dirname $(find ${finalAttrs.jdk.home} -name libjvm.so | head -n1)) - # NixOS/nixpkgs#193370 - # This workaround is needed to use protobuf 3.19 - # hadoop 3.3+ depends on protobuf 3.18, 3.2 depends on 3.8 - find $out/lib/native -name 'libhdfspp.so*' | \ - xargs -r -n1 patchelf --replace-needed libprotobuf.so.${ - if (lib.versionAtLeast finalAttrs.version "3.3") then "18" - else "8" - } libprotobuf.so + # NixOS/nixpkgs#193370 + # This workaround is needed to use protobuf 3.19 + # hadoop 3.3+ depends on protobuf 3.18, 3.2 depends on 3.8 + find $out/lib/native -name 'libhdfspp.so*' | \ + xargs -r -n1 patchelf --replace-needed libprotobuf.so.${ + if (lib.versionAtLeast finalAttrs.version "3.3") then "18" else "8" + } libprotobuf.so - patchelf --replace-needed libcrypto.so.1.1 libcrypto.so \ - $out/lib/native/{libhdfs{pp,}.so*,examples/{pipes-sort,wordcount-nopipe,wordcount-part,wordcount-simple}} + patchelf --replace-needed libcrypto.so.1.1 libcrypto.so \ + $out/lib/native/{libhdfs{pp,}.so*,examples/{pipes-sort,wordcount-nopipe,wordcount-part,wordcount-simple}} - '' + '' - for n in $(find $out/bin -type f ! -name "*.*"); do - wrapProgram "$n"\ - --set-default JAVA_HOME ${finalAttrs.jdk.home}\ - --set-default HADOOP_HOME $out/\ - --run "test -d /etc/hadoop-conf && export HADOOP_CONF_DIR=\''${HADOOP_CONF_DIR-'/etc/hadoop-conf/'}"\ - --set-default HADOOP_CONF_DIR $out/etc/hadoop/\ - --prefix PATH : "${lib.makeBinPath [ bash coreutils which]}"\ - --prefix JAVA_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" - done - '' + (lib.optionalString sparkSupport '' - # Add the spark shuffle service jar to YARN - cp ${spark.src}/yarn/spark-${spark.version}-yarn-shuffle.jar $out/share/hadoop/yarn/ - ''); + '' + + '' + for n in $(find $out/bin -type f ! -name "*.*"); do + wrapProgram "$n"\ + --set-default JAVA_HOME ${finalAttrs.jdk.home}\ + --set-default HADOOP_HOME $out/\ + --run "test -d /etc/hadoop-conf && export HADOOP_CONF_DIR=\''${HADOOP_CONF_DIR-'/etc/hadoop-conf/'}"\ + --set-default HADOOP_CONF_DIR $out/etc/hadoop/\ + --prefix PATH : "${ + lib.makeBinPath [ + bash + coreutils + which + ] + }"\ + --prefix JAVA_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" + done + '' + + (lib.optionalString sparkSupport '' + # Add the spark shuffle service jar to YARN + cp ${spark.src}/yarn/spark-${spark.version}-yarn-shuffle.jar $out/share/hadoop/yarn/ + ''); passthru = { inherit tests; }; - meta = with lib; recursiveUpdate { - homepage = "https://hadoop.apache.org/"; - description = "Framework for distributed processing of large data sets across clusters of computers"; - license = licenses.asl20; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; + meta = + with lib; + recursiveUpdate { + homepage = "https://hadoop.apache.org/"; + description = "Framework for distributed processing of large data sets across clusters of computers"; + license = licenses.asl20; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; - longDescription = '' - The Apache Hadoop software library is a framework that allows for - the distributed processing of large data sets across clusters of - computers using a simple programming model. It is designed to - scale up from single servers to thousands of machines, each - offering local computation and storage. Rather than rely on - hardware to deliver high-avaiability, the library itself is - designed to detect and handle failures at the application layer, - so delivering a highly-availabile service on top of a cluster of - computers, each of which may be prone to failures. - ''; - maintainers = with maintainers; [ illustris ]; - platforms = attrNames platformAttrs; - } (attrByPath [ stdenv.system "meta" ] {} platformAttrs); + longDescription = '' + The Apache Hadoop software library is a framework that allows for + the distributed processing of large data sets across clusters of + computers using a simple programming model. It is designed to + scale up from single servers to thousands of machines, each + offering local computation and storage. Rather than rely on + hardware to deliver high-avaiability, the library itself is + designed to detect and handle failures at the application layer, + so delivering a highly-availabile service on top of a cluster of + computers, each of which may be prone to failures. + ''; + maintainers = with maintainers; [ illustris ]; + platforms = attrNames platformAttrs; + } (attrByPath [ stdenv.system "meta" ] { } platformAttrs); }); in { diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix index 4dd748b4989ba..63561d489dfc8 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "helm-diff"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-7amqt5FIgnDtaybyur3t01BuuQXPdFptDBfqhX6jPIE="; - ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" + ]; # NOTE: Remove the install and upgrade hooks. postPatch = '' diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix index ab4a912aab299..12724709f993f 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, coreutils -, findutils -, gitMinimal -, gnugrep -, gnused -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + findutils, + gitMinimal, + gnugrep, + gnused, + makeWrapper, }: stdenv.mkDerivation rec { @@ -32,7 +33,15 @@ stdenv.mkDerivation rec { patchShebangs $out/helm-git/helm-git{,-plugin.sh} wrapProgram $out/helm-git/helm-git \ - --prefix PATH : ${lib.makeBinPath [ coreutils findutils gitMinimal gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + findutils + gitMinimal + gnugrep + gnused + ] + } runHook postInstall ''; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix index 4dc5619079444..47aa83ee96539 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "helm-mapkubeapis"; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix index d56d850d3bb7c..78d58b0c0b47d 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "helm-s3"; @@ -23,7 +27,11 @@ buildGoModule rec { go test $(go list ./... | grep -vE '(awsutil|e2e)') ''; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; subPackages = [ "cmd/helm-s3" ]; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix index c432ec035cd74..cd063d17d6b72 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, findutils, getopt, gnugrep, gnused, sops }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + findutils, + getopt, + gnugrep, + gnused, + sops, +}: stdenv.mkDerivation rec { pname = "helm-secrets"; @@ -12,7 +23,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ getopt sops ]; + buildInputs = [ + getopt + sops + ]; # NOTE: helm-secrets is comprised of shell scripts. dontBuild = true; @@ -29,7 +43,16 @@ stdenv.mkDerivation rec { install -m644 -Dt $out/${pname} plugin.yaml cp -r scripts/* $out/${pname}/scripts wrapProgram $out/${pname}/scripts/run.sh \ - --prefix PATH : ${lib.makeBinPath [ coreutils findutils getopt gnugrep gnused sops ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + findutils + getopt + gnugrep + gnused + sops + ] + } runHook postInstall ''; diff --git a/pkgs/applications/networking/cluster/helm/wrapper.nix b/pkgs/applications/networking/cluster/helm/wrapper.nix index d933d84db3368..ab44afb750d51 100644 --- a/pkgs/applications/networking/cluster/helm/wrapper.nix +++ b/pkgs/applications/networking/cluster/helm/wrapper.nix @@ -1,47 +1,56 @@ -{ symlinkJoin, lib, makeWrapper, writeText }: +{ + symlinkJoin, + lib, + makeWrapper, + writeText, +}: helm: let - wrapper = { - plugins ? [], - extraMakeWrapperArgs ? "" - }: - let - - initialMakeWrapperArgs = [ - ]; - - pluginsDir = symlinkJoin { - name = "helm-plugins"; - paths = plugins; - }; -in - symlinkJoin { - name = "helm-${lib.getVersion helm}"; - - # Remove the symlinks created by symlinkJoin which we need to perform - # extra actions upon - postBuild = '' - wrapProgram "$out/bin/helm" \ - "--set" "HELM_PLUGINS" "${pluginsDir}" ${extraMakeWrapperArgs} - ''; - paths = [ helm pluginsDir ]; - - preferLocalBuild = true; - - nativeBuildInputs = [ makeWrapper ]; - passthru = { - inherit pluginsDir; - unwrapped = helm; - }; - - meta = helm.meta // { - # To prevent builds on hydra - hydraPlatforms = []; - # prefer wrapper over the package - priority = (helm.meta.priority or lib.meta.defaultPriority) - 1; + wrapper = + { + plugins ? [ ], + extraMakeWrapperArgs ? "", + }: + let + + initialMakeWrapperArgs = [ + ]; + + pluginsDir = symlinkJoin { + name = "helm-plugins"; + paths = plugins; + }; + in + symlinkJoin { + name = "helm-${lib.getVersion helm}"; + + # Remove the symlinks created by symlinkJoin which we need to perform + # extra actions upon + postBuild = '' + wrapProgram "$out/bin/helm" \ + "--set" "HELM_PLUGINS" "${pluginsDir}" ${extraMakeWrapperArgs} + ''; + paths = [ + helm + pluginsDir + ]; + + preferLocalBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + passthru = { + inherit pluginsDir; + unwrapped = helm; + }; + + meta = helm.meta // { + # To prevent builds on hydra + hydraPlatforms = [ ]; + # prefer wrapper over the package + priority = (helm.meta.priority or lib.meta.defaultPriority) - 1; + }; }; - }; in - lib.makeOverridable wrapper +lib.makeOverridable wrapper diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix index b57ce2570e4e2..21caf1ea4c3d0 100644 --- a/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, makeWrapper -, pluginsDir ? null +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + pluginsDir ? null, }: buildGoModule rec { @@ -25,21 +26,25 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X go.szostok.io/version.version=v${version}" ]; - - nativeBuildInputs = - [ installShellFiles ] ++ - lib.optional (pluginsDir != null) makeWrapper; - - postInstall = lib.optionalString (pluginsDir != null) '' - wrapProgram $out/bin/helmfile \ - --set HELM_PLUGINS "${pluginsDir}" - '' + '' - installShellCompletion --cmd helmfile \ - --bash <($out/bin/helmfile completion bash) \ - --fish <($out/bin/helmfile completion fish) \ - --zsh <($out/bin/helmfile completion zsh) - ''; + ldflags = [ + "-s" + "-w" + "-X go.szostok.io/version.version=v${version}" + ]; + + nativeBuildInputs = [ installShellFiles ] ++ lib.optional (pluginsDir != null) makeWrapper; + + postInstall = + lib.optionalString (pluginsDir != null) '' + wrapProgram $out/bin/helmfile \ + --set HELM_PLUGINS "${pluginsDir}" + '' + + '' + installShellCompletion --cmd helmfile \ + --bash <($out/bin/helmfile completion bash) \ + --fish <($out/bin/helmfile completion fish) \ + --zsh <($out/bin/helmfile completion zsh) + ''; meta = { description = "Declarative spec for deploying Helm charts"; @@ -50,6 +55,9 @@ buildGoModule rec { ''; homepage = "https://helmfile.readthedocs.io/"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ pneumaticat yurrriq ]; + maintainers = with lib.maintainers; [ + pneumaticat + yurrriq + ]; }; } diff --git a/pkgs/applications/networking/cluster/krane/default.nix b/pkgs/applications/networking/cluster/krane/default.nix index 9be10f5d2f0fa..93d3836492fd1 100644 --- a/pkgs/applications/networking/cluster/krane/default.nix +++ b/pkgs/applications/networking/cluster/krane/default.nix @@ -1,6 +1,7 @@ -{ lib -, bundlerApp -, bundlerUpdateScript +{ + lib, + bundlerApp, + bundlerUpdateScript, }: bundlerApp { diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix index 39b8783c3a539..11f2842021014 100644 --- a/pkgs/applications/networking/cluster/krane/gemset.nix +++ b/pkgs/applications/networking/cluster/krane/gemset.nix @@ -1,459 +1,518 @@ { activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "094cv9kxa8hwlsw3c0njkvvayd0wszcz9b6xywv4yajrg83zlmvm"; type = "gem"; }; version = "7.2.1"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; colorize = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b"; type = "gem"; }; version = "0.8.1"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; ejson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bpry4i9ajh2h8fyljp0cb17iy03ar36yc9mpfxflmdznl7dwsjf"; type = "gem"; }; version = "1.4.1"; }; faraday = { - dependencies = ["faraday-net_http" "logger"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-net_http" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00pd34pnfmij5iw1xv73f6d68zng63wyjhmk7dyi010kmb4x5sp6"; type = "gem"; }; version = "2.11.0"; }; faraday-net_http = { - dependencies = ["net-http"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-http" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rg54k4skaz8z7j358p6pdzc9pr84fjq7sdlpicf7s5ig7vb1rlk"; type = "gem"; }; version = "3.3.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; ffi-compiler = { - dependencies = ["ffi" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1844j58cdg2q6g0rqfwg4rrambnhf059h4yg9rfmrbrcs60kskx9"; type = "gem"; }; version = "1.3.2"; }; google-cloud-env = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vlwifnhih8nq5441pfbnzc7w4z8rmy7j54pfixpm9yvlq11428j"; type = "gem"; }; version = "2.2.0"; }; googleauth = { - dependencies = ["faraday" "google-cloud-env" "jwt" "multi_json" "os" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "google-cloud-env" + "jwt" + "multi_json" + "os" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15knmk2fcyqxdpppc3wb5lc6xapbx5hax4lma0iclc2p55aa2kkl"; type = "gem"; }; version = "1.11.0"; }; http = { - dependencies = ["addressable" "base64" "http-cookie" "http-form_data" "llhttp-ffi"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "base64" + "http-cookie" + "http-form_data" + "llhttp-ffi" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05b1khh7wxga9jviy9yi8z1nckxbm3svlzv40y0zvq3nag3d77mr"; type = "gem"; }; version = "5.2.0"; }; http-accept = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6"; type = "gem"; }; version = "1.7.0"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lr2yk5g5vvf9nzlmkn3p7mhh9mn55gpdc7kl2w21xs46fgkjynb"; type = "gem"; }; version = "1.0.7"; }; http-form_data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc"; type = "gem"; }; version = "2.3.0"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; jsonpath = { - dependencies = ["multi_json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multi_json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ghxjcs9rss0fd43yqnc3ab6fhnm4qrkvv34p0xcjb9s35kh9xr9"; type = "gem"; }; version = "1.1.5"; }; jwt = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s"; type = "gem"; }; version = "2.8.2"; }; krane = { - dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "multi_json" "statsd-instrument" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "colorize" + "concurrent-ruby" + "ejson" + "googleauth" + "jsonpath" + "kubeclient" + "multi_json" + "statsd-instrument" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07f87rzlr0yamji5ns2isf5f554jal5b9v62lijhsafmq9545f42"; type = "gem"; }; version = "3.6.2"; }; kubeclient = { - dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "http" + "jsonpath" + "recursive-open-struct" + "rest-client" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1g89qd1hhf111zy9djlzblzz06pnv59zmamh6fk06wvnih7vj446"; type = "gem"; }; version = "4.12.0"; }; llhttp-ffi = { - dependencies = ["ffi-compiler" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi-compiler" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9"; type = "gem"; }; version = "0.5.0"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1"; type = "gem"; }; version = "3.5.2"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d5bmxcq87nj6h5rx6b1fkdzq8256yba97s2vlkszpwhc47m9rfs"; type = "gem"; }; version = "3.2024.0903"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; net-http = { - dependencies = ["uri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; version = "0.4.1"; }; netrc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; type = "gem"; }; version = "0.11.0"; }; os = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap"; type = "gem"; }; version = "1.1.4"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; recursive-open-struct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rjs8804zn5v39mklmqy65xwdji7iq598lkw876zspclziy4h2c3"; type = "gem"; }; version = "1.2.2"; }; rest-client = { - dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "http-accept" + "http-cookie" + "mime-types" + "netrc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im"; type = "gem"; }; version = "2.1.0"; }; securerandom = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q"; type = "gem"; }; version = "0.3.1"; }; signet = { - dependencies = ["addressable" "faraday" "jwt" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + "jwt" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfxa11wy1nv9slmnzjczkdgld0gqizajsb03rliy53zylwkjzsk"; type = "gem"; }; version = "0.19.0"; }; statsd-instrument = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kd75axvmyq866nan18n9ys5bd140h0mka2kz9s5m86r8m42jbhj"; type = "gem"; }; version = "3.8.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; version = "1.3.2"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07ndgxyhzd02cg94s6rnfhkb9rwx9z72lzk368sa9j78wc9qnbfz"; type = "gem"; }; diff --git a/pkgs/applications/networking/cluster/kubectl-evict-pod/default.nix b/pkgs/applications/networking/cluster/kubectl-evict-pod/default.nix index ac1f1cbf0b681..83f3e752a0217 100644 --- a/pkgs/applications/networking/cluster/kubectl-evict-pod/default.nix +++ b/pkgs/applications/networking/cluster/kubectl-evict-pod/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kubectl-evict-pod"; @@ -16,8 +20,8 @@ buildGoModule rec { meta = with lib; { description = "This plugin evicts the given pod and is useful for testing pod disruption budget rules"; mainProgram = "kubectl-evict-pod"; - homepage = "https://github.com/rajatjindal/kubectl-evict-pod"; - license = licenses.asl20; + homepage = "https://github.com/rajatjindal/kubectl-evict-pod"; + license = licenses.asl20; maintainers = [ maintainers.j4m3s ]; }; } diff --git a/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix b/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix index 8f912c2670194..71b0f9d9ed656 100644 --- a/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix +++ b/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, Security ? null +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security ? null, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index f7bd5695202eb..187457cb55cc7 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -1,21 +1,22 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, which -, makeWrapper -, rsync -, installShellFiles -, runtimeShell -, kubectl -, nixosTests - -, components ? [ +{ + lib, + buildGoModule, + fetchFromGitHub, + which, + makeWrapper, + rsync, + installShellFiles, + runtimeShell, + kubectl, + nixosTests, + + components ? [ "cmd/kubelet" "cmd/kube-apiserver" "cmd/kube-controller-manager" "cmd/kube-proxy" "cmd/kube-scheduler" - ] + ], }: buildGoModule rec { @@ -33,15 +34,27 @@ buildGoModule rec { doCheck = false; - nativeBuildInputs = [ makeWrapper which rsync installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + which + rsync + installShellFiles + ]; - outputs = [ "out" "man" "pause" ]; + outputs = [ + "out" + "man" + "pause" + ]; patches = [ ./fixup-addonmanager-lib-path.patch ]; - WHAT = lib.concatStringsSep " " ([ - "cmd/kubeadm" - ] ++ components); + WHAT = lib.concatStringsSep " " ( + [ + "cmd/kubeadm" + ] + ++ components + ); buildPhase = '' runHook preBuild @@ -90,5 +103,7 @@ buildGoModule rec { platforms = platforms.linux; }; - passthru.tests = nixosTests.kubernetes // { inherit kubectl; }; + passthru.tests = nixosTests.kubernetes // { + inherit kubectl; + }; } diff --git a/pkgs/applications/networking/cluster/kubernetes/kubectl.nix b/pkgs/applications/networking/cluster/kubernetes/kubectl.nix index b7036251b77ab..48c6805aef593 100644 --- a/pkgs/applications/networking/cluster/kubernetes/kubectl.nix +++ b/pkgs/applications/networking/cluster/kubernetes/kubectl.nix @@ -3,7 +3,11 @@ kubernetes.overrideAttrs (_: rec { pname = "kubectl"; - outputs = [ "out" "man" "convert" ]; + outputs = [ + "out" + "man" + "convert" + ]; WHAT = lib.concatStringsSep " " [ "cmd/kubectl" diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix index 8fb1e68b02069..f9209c858ebc9 100644 --- a/pkgs/applications/networking/cluster/kubeval/default.nix +++ b/pkgs/applications/networking/cluster/kubeval/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, fetchpatch +{ + lib, + fetchFromGitHub, + buildGoModule, + fetchpatch, }: buildGoModule rec { @@ -33,6 +34,9 @@ buildGoModule rec { mainProgram = "kubeval"; homepage = "https://github.com/instrumenta/kubeval"; license = licenses.asl20; - maintainers = with maintainers; [ johanot nicknovitski ]; + maintainers = with maintainers; [ + johanot + nicknovitski + ]; }; } diff --git a/pkgs/applications/networking/cluster/kubeval/schema.nix b/pkgs/applications/networking/cluster/kubeval/schema.nix index 370fe9a1cd823..85e255a423f95 100644 --- a/pkgs/applications/networking/cluster/kubeval/schema.nix +++ b/pkgs/applications/networking/cluster/kubeval/schema.nix @@ -9,7 +9,8 @@ repo = "kubernetes-json-schema"; rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699"; sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr"; -}) // { +}) +// { # the schema is huge (> 7GB), we don't get any benefit from building int on hydra - meta.hydraPlatforms = []; + meta.hydraPlatforms = [ ]; } diff --git a/pkgs/applications/networking/cluster/linkerd/generic.nix b/pkgs/applications/networking/cluster/linkerd/generic.nix index 5ccdb9320bf58..bb604d74aed93 100644 --- a/pkgs/applications/networking/cluster/linkerd/generic.nix +++ b/pkgs/applications/networking/cluster/linkerd/generic.nix @@ -1,6 +1,16 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: -{ channel, version, sha256, vendorHash }: +{ + channel, + version, + sha256, + vendorHash, +}: buildGoModule rec { pname = "linkerd-${channel}"; @@ -32,7 +42,8 @@ buildGoModule rec { ]; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/linkerd/linkerd2/pkg/version.Version=${src.rev}" ]; @@ -59,6 +70,9 @@ buildGoModule rec { downloadPage = "https://github.com/linkerd/linkerd2/"; homepage = "https://linkerd.io/"; license = licenses.asl20; - maintainers = with maintainers; [ bryanasdev000 Gonzih ]; + maintainers = with maintainers; [ + bryanasdev000 + Gonzih + ]; }; } diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index a367c8bc3aab3..438fb2cfde490 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, pkg-config -, which -, libvirt -, vmnet -, withQemu ? false -, qemu -, makeWrapper -, OVMF +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + pkg-config, + which, + libvirt, + vmnet, + withQemu ? false, + qemu, + makeWrapper, + OVMF, }: buildGoModule rec { @@ -28,25 +29,33 @@ buildGoModule rec { sha256 = "sha256-Z7x3MOQUF3a19X4SSiIUfSJ3xl3482eKH700m/9pqcU="; }; postPatch = - ( - lib.optionalString (withQemu && stdenv.hostPlatform.isDarwin) '' - substituteInPlace \ - pkg/minikube/registry/drvs/qemu2/qemu2.go \ - --replace "/usr/local/opt/qemu/share/qemu" "${qemu}/share/qemu" \ - --replace "/opt/homebrew/opt/qemu/share/qemu" "${qemu}/share/qemu" - '' - ) + ( - lib.optionalString (withQemu && stdenv.hostPlatform.isLinux) '' - substituteInPlace \ - pkg/minikube/registry/drvs/qemu2/qemu2.go \ - --replace "/usr/share/OVMF/OVMF_CODE.fd" "${OVMF.firmware}" \ - --replace "/usr/share/AAVMF/AAVMF_CODE.fd" "${OVMF.firmware}" - '' - ); + (lib.optionalString (withQemu && stdenv.hostPlatform.isDarwin) '' + substituteInPlace \ + pkg/minikube/registry/drvs/qemu2/qemu2.go \ + --replace "/usr/local/opt/qemu/share/qemu" "${qemu}/share/qemu" \ + --replace "/opt/homebrew/opt/qemu/share/qemu" "${qemu}/share/qemu" + '') + + (lib.optionalString (withQemu && stdenv.hostPlatform.isLinux) '' + substituteInPlace \ + pkg/minikube/registry/drvs/qemu2/qemu2.go \ + --replace "/usr/share/OVMF/OVMF_CODE.fd" "${OVMF.firmware}" \ + --replace "/usr/share/AAVMF/AAVMF_CODE.fd" "${OVMF.firmware}" + ''); - nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + which + makeWrapper + ]; - buildInputs = if stdenv.hostPlatform.isDarwin then [ vmnet ] else if stdenv.hostPlatform.isLinux then [ libvirt ] else null; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ vmnet ] + else if stdenv.hostPlatform.isLinux then + [ libvirt ] + else + null; buildPhase = '' make COMMIT=${src.rev} @@ -69,6 +78,12 @@ buildGoModule rec { description = "Tool that makes it easy to run Kubernetes locally"; mainProgram = "minikube"; license = licenses.asl20; - maintainers = with maintainers; [ ebzzry copumpkin vdemeester atkinschang Chili-Man ]; + maintainers = with maintainers; [ + ebzzry + copumpkin + vdemeester + atkinschang + Chili-Man + ]; }; } diff --git a/pkgs/applications/networking/cluster/nixops/default.nix b/pkgs/applications/networking/cluster/nixops/default.nix index 88c426565fc4e..80b8f6ce03f2d 100644 --- a/pkgs/applications/networking/cluster/nixops/default.nix +++ b/pkgs/applications/networking/cluster/nixops/default.nix @@ -1,102 +1,143 @@ -{ lib, python3, emptyFile }: +{ + lib, + python3, + emptyFile, +}: let inherit (lib) extends; # doc: https://github.com/NixOS/nixpkgs/pull/158781/files#diff-854251fa1fe071654921224671c8ba63c95feb2f96b2b3a9969c81676780053a - encapsulate = layerZero: + encapsulate = + layerZero: let fixed = layerZero ({ extend = f: encapsulate (extends f layerZero); } // fixed); - in fixed.public; + in + fixed.public; nixopsContextBase = this: { python = python3.override { self = this.python; - packageOverrides = self: super: { - nixops = self.callPackage ./unwrapped.nix { }; - } // (this.plugins self super); + packageOverrides = + self: super: + { + nixops = self.callPackage ./unwrapped.nix { }; + } + // (this.plugins self super); }; - plugins = ps: _super: with ps; rec { - nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { }; - nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { }; - nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { }; - nixops-vbox = callPackage ./plugins/nixops-vbox.nix { }; - nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { }; - - nixops-aws = throw "nixops-aws was broken and was removed from nixpkgs"; - nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs"; - nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs"; - nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs"; - nixops-hetznercloud = throw "nixops-hetznercloud was broken and was removed from nixpkgs"; - - # aliases for backwards compatibility - nixops-virtd = nixops-libvirtd; - nixopsvbox = nixops-vbox; - }; + plugins = + ps: _super: with ps; rec { + nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { }; + nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { }; + nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { }; + nixops-vbox = callPackage ./plugins/nixops-vbox.nix { }; + nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { }; + + nixops-aws = throw "nixops-aws was broken and was removed from nixpkgs"; + nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs"; + nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs"; + nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs"; + nixops-hetznercloud = throw "nixops-hetznercloud was broken and was removed from nixpkgs"; + + # aliases for backwards compatibility + nixops-virtd = nixops-libvirtd; + nixopsvbox = nixops-vbox; + }; # We should not reapply the overlay, but it tends to work out. (It's been this way since poetry2nix was dropped.) availablePlugins = this.plugins this.python.pkgs this.python.pkgs; - selectedPlugins = []; + selectedPlugins = [ ]; # selector is a function mapping pythonPackages to a list of plugins # e.g. nixops_unstable.withPlugins (ps: with ps; [ nixops-digitalocean ]) - withPlugins = selector: - this.extend (this: _old: { - selectedPlugins = selector this.availablePlugins; - }); - - rawPackage = this.python.pkgs.toPythonApplication (this.python.pkgs.nixops.overridePythonAttrs (old: { - propagatedBuildInputs = old.propagatedBuildInputs ++ this.selectedPlugins; - - # Propagating dependencies leaks them through $PYTHONPATH which causes issues - # when used in nix-shell. - postFixup = '' - rm $out/nix-support/propagated-build-inputs - ''; - })); + withPlugins = + selector: + this.extend ( + this: _old: { + selectedPlugins = selector this.availablePlugins; + } + ); + + rawPackage = this.python.pkgs.toPythonApplication ( + this.python.pkgs.nixops.overridePythonAttrs (old: { + propagatedBuildInputs = old.propagatedBuildInputs ++ this.selectedPlugins; + + # Propagating dependencies leaks them through $PYTHONPATH which causes issues + # when used in nix-shell. + postFixup = '' + rm $out/nix-support/propagated-build-inputs + ''; + }) + ); # Extra package attributes that aren't derivation attributes, just like `mkDerivation`'s `passthru`. extraPackageAttrs = { - inherit (this) selectedPlugins availablePlugins withPlugins python; - tests = this.rawPackage.tests // { - nixos = this.rawPackage.tests.nixos.passthru.override { - nixopsPkg = this.rawPackage; - }; - commutative_addAvailablePlugins_withPlugins = - assert - (this.public.addAvailablePlugins (self: super: { inherit emptyFile; })).withPlugins (ps: [ emptyFile ]) - == - # Note that this value proves that the package is not instantiated until the end, where it's valid again. - (this.public.withPlugins (ps: [ emptyFile ])).addAvailablePlugins (self: super: { inherit emptyFile; }); - emptyFile; - } + inherit (this) + selectedPlugins + availablePlugins + withPlugins + python + ; + tests = + this.rawPackage.tests + // { + nixos = this.rawPackage.tests.nixos.passthru.override { + nixopsPkg = this.rawPackage; + }; + commutative_addAvailablePlugins_withPlugins = + assert + (this.public.addAvailablePlugins (self: super: { inherit emptyFile; })).withPlugins (ps: [ + emptyFile + ]) == + # Note that this value proves that the package is not instantiated until the end, where it's valid again. + (this.public.withPlugins (ps: [ emptyFile ])).addAvailablePlugins ( + self: super: { inherit emptyFile; } + ); + emptyFile; + } # Make sure we also test with a configuration that's been extended with a plugin. // lib.optionalAttrs (this.selectedPlugins == [ ]) { - withAPlugin = - lib.recurseIntoAttrs - (this.withPlugins (ps: with ps; [ nixops-encrypted-links ])).tests; - }; - overrideAttrs = f: this.extend (this: oldThis: { - rawPackage = oldThis.rawPackage.overrideAttrs f; - }); + withAPlugin = + lib.recurseIntoAttrs + (this.withPlugins (ps: with ps; [ nixops-encrypted-links ])).tests; + }; + overrideAttrs = + f: + this.extend ( + this: oldThis: { + rawPackage = oldThis.rawPackage.overrideAttrs f; + } + ); /** - * nixops.addAvailablePlugins: Overlay -> Package - * - * Add available plugins to the package. You probably also want to enable - * them with the `withPlugins` method. - */ - addAvailablePlugins = newPlugins: this.extend (finalThis: oldThis: { - plugins = lib.composeExtensions oldThis.plugins newPlugins; - }); + nixops.addAvailablePlugins: Overlay -> Package + + Add available plugins to the package. You probably also want to enable + them with the `withPlugins` method. + */ + addAvailablePlugins = + newPlugins: + this.extend ( + finalThis: oldThis: { + plugins = lib.composeExtensions oldThis.plugins newPlugins; + } + ); # For those who need or dare. internals = this; }; - package = lib.lazyDerivation { outputs = [ "out" "dist" ]; derivation = this.rawPackage; } // this.extraPackageAttrs; + package = + lib.lazyDerivation { + outputs = [ + "out" + "dist" + ]; + derivation = this.rawPackage; + } + // this.extraPackageAttrs; public = this.package; }; diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix index a78d4d2cfd997..55aec60b9e309 100644 --- a/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix +++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, unstableGitUpdater -, poetry-core -, nixops -, python-digitalocean -, pythonOlder +{ + lib, + buildPythonPackage, + fetchFromGitHub, + unstableGitUpdater, + poetry-core, + nixops, + python-digitalocean, + pythonOlder, }: buildPythonPackage { @@ -42,7 +43,7 @@ buildPythonPackage { pythonImportsCheck = [ "nixops_digitalocean" ]; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "NixOps Digitalocean plugin"; diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix index 8b890157a2221..5a7e261e8661e 100644 --- a/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix +++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, unstableGitUpdater -, poetry-core -, nixops +{ + lib, + buildPythonPackage, + fetchFromGitHub, + unstableGitUpdater, + poetry-core, + nixops, }: buildPythonPackage { @@ -34,7 +35,7 @@ buildPythonPackage { pythonImportsCheck = [ "nixops_encrypted_links" ]; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "EncryptedLinksTo from Nixops 1 module port"; diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix index 04044b94da0fd..5ac5cb6a53f06 100644 --- a/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix +++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, unstableGitUpdater -, poetry-core -, nixops +{ + lib, + buildPythonPackage, + fetchFromGitHub, + unstableGitUpdater, + poetry-core, + nixops, }: buildPythonPackage { @@ -28,7 +29,7 @@ buildPythonPackage { pythonImportsCheck = [ "nixops_hercules_ci" ]; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Use Hercules CI as a NixOps backend"; diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix index 3d712e5c23978..ee071316d28d1 100644 --- a/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix +++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, unstableGitUpdater -, poetry-core -, nixops +{ + lib, + buildPythonPackage, + fetchFromGitHub, + unstableGitUpdater, + poetry-core, + nixops, }: buildPythonPackage { diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix index a3039482c8f1a..fc6f06460decd 100644 --- a/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix +++ b/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, unstableGitUpdater -, poetry-core -, nixops +{ + lib, + buildPythonPackage, + fetchFromGitHub, + unstableGitUpdater, + poetry-core, + nixops, }: buildPythonPackage { @@ -34,7 +35,7 @@ buildPythonPackage { pythonImportsCheck = [ "nixos_modules_contrib" ]; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Useful NixOS modules which may not belong in the Nixpkgs repository itself"; diff --git a/pkgs/applications/networking/cluster/nixops/unwrapped.nix b/pkgs/applications/networking/cluster/nixops/unwrapped.nix index 7f00babc15e4f..4527ed9121e01 100644 --- a/pkgs/applications/networking/cluster/nixops/unwrapped.nix +++ b/pkgs/applications/networking/cluster/nixops/unwrapped.nix @@ -1,14 +1,15 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, unstableGitUpdater -, poetry-core -, sphinx -, pluggy -, prettytable -, typeguard -, typing-extensions -, nixosTests +{ + lib, + buildPythonApplication, + fetchFromGitHub, + unstableGitUpdater, + poetry-core, + sphinx, + pluggy, + prettytable, + typeguard, + typing-extensions, + nixosTests, }: buildPythonApplication rec { @@ -24,7 +25,9 @@ buildPythonApplication rec { }; postPatch = '' - substituteInPlace nixops/args.py --replace "@version@" "${version}-pre-${lib.substring 0 7 src.rev or "dirty"}" + substituteInPlace nixops/args.py --replace "@version@" "${version}-pre-${ + lib.substring 0 7 src.rev or "dirty" + }" ''; nativeBuildInputs = [ @@ -60,7 +63,10 @@ buildPythonApplication rec { description = "Tool for deploying to NixOS machines in a network or cloud"; homepage = "https://github.com/NixOS/nixops"; license = licenses.lgpl3Only; - maintainers = with lib.maintainers; [ aminechikhaoui roberth ]; + maintainers = with lib.maintainers; [ + aminechikhaoui + roberth + ]; platforms = lib.platforms.unix; mainProgram = "nixops"; }; diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index f20eedd3ea446..6544baff55bed 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -1,58 +1,83 @@ -{ lib -, buildGoModule -, buildGo122Module -, buildGo123Module -, fetchFromGitHub -, nixosTests -, installShellFiles +{ + lib, + buildGoModule, + buildGo122Module, + buildGo123Module, + fetchFromGitHub, + nixosTests, + installShellFiles, }: let generic = - { buildGoModule, version, sha256, vendorHash, license, ... }@attrs: - let attrs' = builtins.removeAttrs attrs [ "buildGoModule" "version" "sha256" "vendorHash" "license" ]; - in - buildGoModule (rec { - pname = "nomad"; - inherit version vendorHash; - - subPackages = [ "." ]; - - src = fetchFromGitHub { - owner = "hashicorp"; - repo = pname; - rev = "v${version}"; - inherit sha256; - }; - - nativeBuildInputs = [ installShellFiles ]; - - ldflags = [ - "-X github.com/hashicorp/nomad/version.Version=${version}" - "-X github.com/hashicorp/nomad/version.VersionPrerelease=" - "-X github.com/hashicorp/nomad/version.BuildDate=1970-01-01T00:00:00Z" + { + buildGoModule, + version, + sha256, + vendorHash, + license, + ... + }@attrs: + let + attrs' = builtins.removeAttrs attrs [ + "buildGoModule" + "version" + "sha256" + "vendorHash" + "license" ]; - - # ui: - # Nomad release commits include the compiled version of the UI, but the file - # is only included if we build with the ui tag. - tags = [ "ui" ]; - - postInstall = '' - echo "complete -C $out/bin/nomad nomad" > nomad.bash - installShellCompletion nomad.bash - ''; - - meta = with lib; { - homepage = "https://www.nomadproject.io/"; - description = "Distributed, Highly Available, Datacenter-Aware Scheduler"; - mainProgram = "nomad"; - inherit license; - maintainers = with maintainers; [ rushmorem pradeepchhetri techknowlogick cottand ]; - }; - } // attrs'); - - throwUnsupportaed = version: "${version} is no longer supported upstream. You can switch to using a newer version of the nomad package, or revert to older nixpkgs if you cannot upgrade"; + in + buildGoModule ( + rec { + pname = "nomad"; + inherit version vendorHash; + + subPackages = [ "." ]; + + src = fetchFromGitHub { + owner = "hashicorp"; + repo = pname; + rev = "v${version}"; + inherit sha256; + }; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-X github.com/hashicorp/nomad/version.Version=${version}" + "-X github.com/hashicorp/nomad/version.VersionPrerelease=" + "-X github.com/hashicorp/nomad/version.BuildDate=1970-01-01T00:00:00Z" + ]; + + # ui: + # Nomad release commits include the compiled version of the UI, but the file + # is only included if we build with the ui tag. + tags = [ "ui" ]; + + postInstall = '' + echo "complete -C $out/bin/nomad nomad" > nomad.bash + installShellCompletion nomad.bash + ''; + + meta = with lib; { + homepage = "https://www.nomadproject.io/"; + description = "Distributed, Highly Available, Datacenter-Aware Scheduler"; + mainProgram = "nomad"; + inherit license; + maintainers = with maintainers; [ + rushmorem + pradeepchhetri + techknowlogick + cottand + ]; + }; + } + // attrs' + ); + + throwUnsupportaed = + version: + "${version} is no longer supported upstream. You can switch to using a newer version of the nomad package, or revert to older nixpkgs if you cannot upgrade"; in rec { # Nomad never updates major go versions within a release series and is unsupported diff --git a/pkgs/applications/networking/cluster/rke2/builder.nix b/pkgs/applications/networking/cluster/rke2/builder.nix index 9274d127f889b..31d4d9d3cb366 100644 --- a/pkgs/applications/networking/cluster/rke2/builder.nix +++ b/pkgs/applications/networking/cluster/rke2/builder.nix @@ -1,17 +1,48 @@ -lib: { rke2Version, rke2Commit, rke2TarballHash, rke2VendorHash, updateScript -, k8sImageTag, etcdVersion, pauseVersion, ccmVersion, dockerizedVersion, ... }: +lib: +{ + rke2Version, + rke2Commit, + rke2TarballHash, + rke2VendorHash, + updateScript, + k8sImageTag, + etcdVersion, + pauseVersion, + ccmVersion, + dockerizedVersion, + ... +}: # Build dependencies -{ lib, stdenv, buildGoModule, go, makeWrapper, fetchzip - -# Runtime dependencies -, procps, coreutils, util-linux, ethtool, socat, iptables, bridge-utils, iproute2, kmod, lvm2 - -# Killall Script dependencies -, systemd, gnugrep, gnused - -# Testing dependencies -, nixosTests, testers, rke2 +{ + lib, + stdenv, + buildGoModule, + go, + makeWrapper, + fetchzip, + + # Runtime dependencies + procps, + coreutils, + util-linux, + ethtool, + socat, + iptables, + bridge-utils, + iproute2, + kmod, + lvm2, + + # Killall Script dependencies + systemd, + gnugrep, + gnused, + + # Testing dependencies + nixosTests, + testers, + rke2, }: buildGoModule rec { @@ -77,7 +108,13 @@ buildGoModule rec { install -D ./bundle/bin/rke2-killall.sh $out/bin/rke2-killall.sh wrapProgram $out/bin/rke2-killall.sh \ - --prefix PATH : ${lib.makeBinPath [ systemd gnugrep gnused ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + systemd + gnugrep + gnused + ] + } \ --prefix PATH : ${lib.makeBinPath buildInputs} ''; @@ -85,21 +122,26 @@ buildGoModule rec { passthru.updateScript = updateScript; - passthru.tests = { - version = testers.testVersion { - package = rke2; - version = "v${version}"; + passthru.tests = + { + version = testers.testVersion { + package = rke2; + version = "v${version}"; + }; + } + // lib.optionalAttrs stdenv.hostPlatform.isLinux { + inherit (nixosTests) rke2; }; - } // lib.optionalAttrs stdenv.hostPlatform.isLinux { - inherit (nixosTests) rke2; - }; meta = with lib; { homepage = "https://github.com/rancher/rke2"; description = "RKE2, also known as RKE Government, is Rancher's next-generation Kubernetes distribution"; changelog = "https://github.com/rancher/rke2/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ zimbatm zygot ]; + maintainers = with maintainers; [ + zimbatm + zygot + ]; mainProgram = "rke2"; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/cluster/rke2/default.nix b/pkgs/applications/networking/cluster/rke2/default.nix index fc65ac8694731..c31ce510a2d04 100644 --- a/pkgs/applications/networking/cluster/rke2/default.nix +++ b/pkgs/applications/networking/cluster/rke2/default.nix @@ -5,15 +5,33 @@ let extraArgs = builtins.removeAttrs args [ "callPackage" ]; in { - rke2_stable = common ((import ./stable/versions.nix) // { - updateScript = [ ./update-script.sh "stable" ]; - }) extraArgs; + rke2_stable = common ( + (import ./stable/versions.nix) + // { + updateScript = [ + ./update-script.sh + "stable" + ]; + } + ) extraArgs; - rke2_latest = common ((import ./latest/versions.nix) // { - updateScript = [ ./update-script.sh "latest" ]; - }) extraArgs; + rke2_latest = common ( + (import ./latest/versions.nix) + // { + updateScript = [ + ./update-script.sh + "latest" + ]; + } + ) extraArgs; - rke2_testing = common ((import ./testing/versions.nix) // { - updateScript = [ ./update-script.sh "testing" ]; - }) extraArgs; + rke2_testing = common ( + (import ./testing/versions.nix) + // { + updateScript = [ + ./update-script.sh + "testing" + ]; + } + ) extraArgs; } diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix index e86d9c920c3a6..449e315851f00 100644 --- a/pkgs/applications/networking/cluster/sonobuoy/default.nix +++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix @@ -1,16 +1,25 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, sonobuoy }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + sonobuoy, +}: # SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags. # The update script can update this automatically, the comment is used to find the line. -let rev = "cc22d58f4c8b5a155bd1778cd3702eca5ad43e05"; # update-commit-sha +let + rev = "cc22d58f4c8b5a155bd1778cd3702eca5ad43e05"; # update-commit-sha in buildGoModule rec { pname = "sonobuoy"; version = "0.57.2"; # Do not forget to update `rev` above ldflags = - let t = "github.com/vmware-tanzu/sonobuoy"; - in [ + let + t = "github.com/vmware-tanzu/sonobuoy"; + in + [ "-s" "-X ${t}/pkg/buildinfo.Version=v${version}" "-X ${t}/pkg/buildinfo.GitSHA=${rev}" @@ -49,6 +58,10 @@ buildGoModule rec { changelog = "https://github.com/vmware-tanzu/sonobuoy/releases/tag/v${version}"; license = licenses.asl20; mainProgram = "sonobuoy"; - maintainers = with maintainers; [ carlosdagos saschagrunert wilsonehusin ]; + maintainers = with maintainers; [ + carlosdagos + saschagrunert + wilsonehusin + ]; }; } diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 86e98c3a419d0..f6dab13a787f0 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -1,25 +1,47 @@ -{ lib -, stdenv -, fetchzip -, makeWrapper -, python3 -, hadoop -, RSupport ? true -, R -, nixosTests +{ + lib, + stdenv, + fetchzip, + makeWrapper, + python3, + hadoop, + RSupport ? true, + R, + nixosTests, }: let - spark = { pname, version, hash, extraMeta ? {}, pysparkPython ? python3 }: + spark = + { + pname, + version, + hash, + extraMeta ? { }, + pysparkPython ? python3, + }: stdenv.mkDerivation (finalAttrs: { - inherit pname version hash hadoop R pysparkPython; + inherit + pname + version + hash + hadoop + R + pysparkPython + ; inherit (finalAttrs.hadoop) jdk; src = fetchzip { - url = with finalAttrs; "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; + url = + with finalAttrs; + "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; inherit (finalAttrs) hash; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = with finalAttrs; [ jdk pysparkPython ] + buildInputs = + with finalAttrs; + [ + jdk + pysparkPython + ] ++ lib.optional RSupport finalAttrs.R; installPhase = '' @@ -30,10 +52,8 @@ let --run "[ -z $SPARK_DIST_CLASSPATH ] && export SPARK_DIST_CLASSPATH=$(${finalAttrs.hadoop}/bin/hadoop classpath)" \ ${lib.optionalString RSupport ''--set SPARKR_R_SHELL "${finalAttrs.R}/bin/R"''} \ --prefix PATH : "${ - lib.makeBinPath ( - [ finalAttrs.pysparkPython ] ++ - (lib.optionals RSupport [ finalAttrs.R ]) - )}" + lib.makeBinPath ([ finalAttrs.pysparkPython ] ++ (lib.optionals RSupport [ finalAttrs.R ])) + }" done ln -s ${finalAttrs.hadoop} "$out/opt/hadoop" ${lib.optionalString RSupport ''ln -s ${finalAttrs.R} "$out/opt/R"''} @@ -44,9 +64,11 @@ let sparkPackage = finalAttrs.finalPackage; }; # Add python packages to PYSPARK_PYTHON - withPythonPackages = f: finalAttrs.finalPackage.overrideAttrs (old: { - pysparkPython = old.pysparkPython.withPackages f; - }); + withPythonPackages = + f: + finalAttrs.finalPackage.overrideAttrs (old: { + pysparkPython = old.pysparkPython.withPackages f; + }); }; meta = { @@ -55,7 +77,12 @@ let sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.asl20; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ thoughtpolice offline kamilchm illustris ]; + maintainers = with lib.maintainers; [ + thoughtpolice + offline + kamilchm + illustris + ]; } // extraMeta; }); in diff --git a/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/pkgs/applications/networking/cluster/terraform-landscape/default.nix index 903aa9abb6e2b..637a5d5262305 100644 --- a/pkgs/applications/networking/cluster/terraform-landscape/default.nix +++ b/pkgs/applications/networking/cluster/terraform-landscape/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "terraform_landscape"; @@ -10,9 +14,13 @@ bundlerApp { meta = with lib; { description = "Improve Terraform's plan output to be easier to read and understand"; - homepage = "https://github.com/coinbase/terraform-landscape"; - license = with licenses; asl20; - maintainers = with maintainers; [ mbode manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/coinbase/terraform-landscape"; + license = with licenses; asl20; + maintainers = with maintainers; [ + mbode + manveru + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix index bf3767486eaf1..9b3dafac63401 100644 --- a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix +++ b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix @@ -1,16 +1,16 @@ { colorize = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b"; type = "gem"; }; version = "0.8.1"; }; commander = { - dependencies = ["highline"]; + dependencies = [ "highline" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11sd2sb0id2dbxkv4pvymdiia1xxhms45kh4nr8mryqybad0fwwf"; type = "gem"; }; @@ -18,7 +18,7 @@ }; diffy = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "119imrkn01agwhx5raxhknsi331y5i4yda7r0ws0an6905ximzjg"; type = "gem"; }; @@ -26,7 +26,7 @@ }; highline = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y"; type = "gem"; }; @@ -34,25 +34,30 @@ }; polyglot = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; type = "gem"; }; version = "0.3.5"; }; terraform_landscape = { - dependencies = ["colorize" "commander" "diffy" "treetop"]; + dependencies = [ + "colorize" + "commander" + "diffy" + "treetop" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1i93pih7r6zcqpjhsmvkpfkgbh0l66c60i6fkiymq7vy2xd6wnns"; type = "gem"; }; version = "0.2.1"; }; treetop = { - dependencies = ["polyglot"]; + dependencies = [ "polyglot" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7"; type = "gem"; }; diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 49a4042c2215d..f3980a456b9cf 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -1,86 +1,105 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, coreutils -, runCommand -, runtimeShell -, writeText -, terraform-providers -, installShellFiles +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + coreutils, + runCommand, + runtimeShell, + writeText, + terraform-providers, + installShellFiles, }: let - generic = { version, hash, vendorHash ? null, ... }@attrs: - let attrs' = builtins.removeAttrs attrs [ "version" "hash" "vendorHash" ]; + generic = + { + version, + hash, + vendorHash ? null, + ... + }@attrs: + let + attrs' = builtins.removeAttrs attrs [ + "version" + "hash" + "vendorHash" + ]; in - buildGoModule ({ - pname = "terraform"; - inherit version vendorHash; - - src = fetchFromGitHub { - owner = "hashicorp"; - repo = "terraform"; - rev = "v${version}"; - inherit hash; - }; - - ldflags = [ "-s" "-w" "-X 'github.com/hashicorp/terraform/version.dev=no'" ]; - - postConfigure = '' - # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 - substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \ - --replace-fail "/bin/stty" "${coreutils}/bin/stty" - ''; + buildGoModule ( + { + pname = "terraform"; + inherit version vendorHash; + + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "terraform"; + rev = "v${version}"; + inherit hash; + }; + + ldflags = [ + "-s" + "-w" + "-X 'github.com/hashicorp/terraform/version.dev=no'" + ]; - nativeBuildInputs = [ installShellFiles ]; + postConfigure = '' + # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 + substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \ + --replace-fail "/bin/stty" "${coreutils}/bin/stty" + ''; - postInstall = '' - # https://github.com/posener/complete/blob/9a4745ac49b29530e07dc2581745a218b646b7a3/cmd/install/bash.go#L8 - installShellCompletion --bash --name terraform <(echo complete -C terraform terraform) - ''; + nativeBuildInputs = [ installShellFiles ]; - preCheck = '' - export HOME=$TMPDIR - export TF_SKIP_REMOTE_TESTS=1 - ''; + postInstall = '' + # https://github.com/posener/complete/blob/9a4745ac49b29530e07dc2581745a218b646b7a3/cmd/install/bash.go#L8 + installShellCompletion --bash --name terraform <(echo complete -C terraform terraform) + ''; - subPackages = [ "." ]; - - meta = with lib; { - description = - "Tool for building, changing, and versioning infrastructure"; - homepage = "https://www.terraform.io/"; - changelog = "https://github.com/hashicorp/terraform/blob/v${version}/CHANGELOG.md"; - license = licenses.bsl11; - maintainers = with maintainers; [ - Chili-Man - kalbasit - timstott - zimbatm - zowoq - techknowlogick - qjoly - ]; - mainProgram = "terraform"; - }; - } // attrs'); + preCheck = '' + export HOME=$TMPDIR + export TF_SKIP_REMOTE_TESTS=1 + ''; - pluggable = terraform: + subPackages = [ "." ]; + + meta = with lib; { + description = "Tool for building, changing, and versioning infrastructure"; + homepage = "https://www.terraform.io/"; + changelog = "https://github.com/hashicorp/terraform/blob/v${version}/CHANGELOG.md"; + license = licenses.bsl11; + maintainers = with maintainers; [ + Chili-Man + kalbasit + timstott + zimbatm + zowoq + techknowlogick + qjoly + ]; + mainProgram = "terraform"; + }; + } + // attrs' + ); + + pluggable = + terraform: let - withPlugins = plugins: + withPlugins = + plugins: let actualPlugins = plugins terraform.plugins; # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries - wrapperInputs = lib.unique (lib.flatten - (lib.catAttrs "propagatedBuildInputs" - (builtins.filter (x: x != null) actualPlugins))); + wrapperInputs = lib.unique ( + lib.flatten (lib.catAttrs "propagatedBuildInputs" (builtins.filter (x: x != null) actualPlugins)) + ); passthru = { - withPlugins = newplugins: - withPlugins (x: newplugins x ++ actualPlugins); + withPlugins = newplugins: withPlugins (x: newplugins x ++ actualPlugins); full = withPlugins (p: lib.filter lib.isDerivation (lib.attrValues p.actualProviders)); # Expose wrappers around the override* functions of the terraform @@ -103,54 +122,54 @@ let # 3. Specifying overrides on the wrapper is unsupported. # # See nixpkgs#158620 for details. - overrideDerivation = f: - (pluggable (terraform.overrideDerivation f)).withPlugins plugins; - overrideAttrs = f: - (pluggable (terraform.overrideAttrs f)).withPlugins plugins; - override = x: - (pluggable (terraform.override x)).withPlugins plugins; + overrideDerivation = f: (pluggable (terraform.overrideDerivation f)).withPlugins plugins; + overrideAttrs = f: (pluggable (terraform.overrideAttrs f)).withPlugins plugins; + override = x: (pluggable (terraform.override x)).withPlugins plugins; }; - # Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading - # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform. in + # Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading + # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform. if actualPlugins == [ ] then - terraform.overrideAttrs - (orig: { passthru = orig.passthru // passthru; }) + terraform.overrideAttrs (orig: { + passthru = orig.passthru // passthru; + }) else - lib.appendToName "with-plugins" (stdenv.mkDerivation { - inherit (terraform) meta pname version; - nativeBuildInputs = [ makeWrapper ]; - - # Expose the passthru set with the override functions - # defined above, as well as any passthru values already - # set on `terraform` at this point (relevant in case a - # user overrides attributes). - passthru = terraform.passthru // passthru; - - buildCommand = '' - # Create wrappers for terraform plugins because Terraform only - # walks inside of a tree of files. - for providerDir in ${toString actualPlugins} - do - for file in $(find $providerDir/libexec/terraform-providers -type f) + lib.appendToName "with-plugins" ( + stdenv.mkDerivation { + inherit (terraform) meta pname version; + nativeBuildInputs = [ makeWrapper ]; + + # Expose the passthru set with the override functions + # defined above, as well as any passthru values already + # set on `terraform` at this point (relevant in case a + # user overrides attributes). + passthru = terraform.passthru // passthru; + + buildCommand = '' + # Create wrappers for terraform plugins because Terraform only + # walks inside of a tree of files. + for providerDir in ${toString actualPlugins} do - relFile=''${file#$providerDir/} - mkdir -p $out/$(dirname $relFile) - cat < $out/$relFile - #!${runtimeShell} - exec "$file" "$@" - WRAPPER - chmod +x $out/$relFile + for file in $(find $providerDir/libexec/terraform-providers -type f) + do + relFile=''${file#$providerDir/} + mkdir -p $out/$(dirname $relFile) + cat < $out/$relFile + #!${runtimeShell} + exec "$file" "$@" + WRAPPER + chmod +x $out/$relFile + done done - done - - # Create a wrapper for terraform to point it to the plugins dir. - mkdir -p $out/bin/ - makeWrapper "${terraform}/bin/terraform" "$out/bin/terraform" \ - --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \ - --prefix PATH : "${lib.makeBinPath wrapperInputs}" - ''; - }); + + # Create a wrapper for terraform to point it to the plugins dir. + mkdir -p $out/bin/ + makeWrapper "${terraform}/bin/terraform" "$out/bin/terraform" \ + --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \ + --prefix PATH : "${lib.makeBinPath wrapperInputs}" + ''; + } + ); in withPlugins (_: [ ]); @@ -185,15 +204,14 @@ rec { resource "random_id" "test" {} ''; terraform = terraform_1.withPlugins (p: [ p.random ]); - test = - runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } '' - set -e - # make it fail outside of sandbox - export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0 - cp ${mainTf} main.tf - terraform init - touch $out - ''; + test = runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } '' + set -e + # make it fail outside of sandbox + export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0 + cp ${mainTf} main.tf + terraform init + touch $out + ''; in test; diff --git a/pkgs/applications/networking/cluster/terraforming/default.nix b/pkgs/applications/networking/cluster/terraforming/default.nix index 85d522257cde3..68fa21239f537 100644 --- a/pkgs/applications/networking/cluster/terraforming/default.nix +++ b/pkgs/applications/networking/cluster/terraforming/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerApp, bundlerUpdateScript, ruby }: +{ + lib, + bundlerApp, + bundlerUpdateScript, + ruby, +}: bundlerApp rec { inherit ruby; @@ -13,8 +18,8 @@ bundlerApp rec { inherit (ruby.meta) platforms; description = "Export existing AWS resources to Terraform style (tf, tfstate)"; - homepage = "https://github.com/dtan4/terraforming"; - license = with licenses; mit; + homepage = "https://github.com/dtan4/terraforming"; + license = with licenses; mit; maintainers = with maintainers; [ kalbasit ]; }; } diff --git a/pkgs/applications/networking/cluster/terraforming/gemset.nix b/pkgs/applications/networking/cluster/terraforming/gemset.nix index 9882efc29e806..9f58d2977cf96 100644 --- a/pkgs/applications/networking/cluster/terraforming/gemset.nix +++ b/pkgs/applications/networking/cluster/terraforming/gemset.nix @@ -1,258 +1,331 @@ { aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3"; type = "gem"; }; version = "1.1.1"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gn09cafg2n6gdc3ja80r3xjllly05r0m7x3w3b3rywir6k6ai4f"; type = "gem"; }; version = "1.436.0"; }; aws-sdk-autoscaling = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0br6hfi2i5rri8ivamkmnx00p640s24pqmp8s67sm5asvdfzx4vr"; type = "gem"; }; version = "1.59.0"; }; aws-sdk-cloudwatch = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xga00dn925rfgz4p2zf734aaik00dqb9psll27lg5626jd6xr0c"; type = "gem"; }; version = "1.50.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1774xyfqf307qvh5npvf01948ayrviaadq576r4jxin6xvlg8j9z"; type = "gem"; }; version = "3.113.0"; }; aws-sdk-dynamodb = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dfsmkzv9cziykzc56g9pwxmbdqjpykxka3fq07b6iarzh38j1i3"; type = "gem"; }; version = "1.60.0"; }; aws-sdk-ec2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c7qqly2f94db3643xwjj9mcb34vilx11awbv40v2f8z7xisvvz3"; type = "gem"; }; version = "1.230.0"; }; aws-sdk-efs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kmpz86sxkm6nzcf80nd65902fy29hz8lvx1kjwl5idx07ls8pnd"; type = "gem"; }; version = "1.39.0"; }; aws-sdk-elasticache = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05kn2k437rnsf9nkwc1x5i2klrasjgyk1pj89f2gb0za86swjcza"; type = "gem"; }; version = "1.54.0"; }; aws-sdk-elasticloadbalancing = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j3px8dn2yxsnmy010kfkwa1a2flbdxachmly20f436ysi3ql3v3"; type = "gem"; }; version = "1.31.0"; }; aws-sdk-elasticloadbalancingv2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16hknbqv5s1im04dch9kdbc79x072613imdih62w48mvsf12c1mm"; type = "gem"; }; version = "1.61.0"; }; aws-sdk-iam = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x2768blsy8lpib9pi2f2d67flabar3bq6chmbj07iqzpwvpz569"; type = "gem"; }; version = "1.51.0"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01pd0f4srsa65zl4zq4014p9j5yrr2yy9h9ab17g3w9d0qqm2vsh"; type = "gem"; }; version = "1.43.0"; }; aws-sdk-rds = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hwxgcka6bmzdn5pazss0fv8xgbbgas4h2cwpzwhkjkwhh23dx6a"; type = "gem"; }; version = "1.117.0"; }; aws-sdk-redshift = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sp186v00lj517hia6rsn28ph8rqknz9r79vbkbyh5fgrbh2j6bd"; type = "gem"; }; version = "1.58.0"; }; aws-sdk-route53 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p9g0scw9c6qancdwvaw3kkj3pywchy2vl3qz2rqpjncqvj04pn5"; type = "gem"; }; version = "1.48.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0iy2f9z43pc6fgwmga2cz8nf9gy2pwcw4jib141vp8z8dhylqj94"; type = "gem"; }; version = "1.93.0"; }; aws-sdk-sns = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pmxi871r2nkl6by89vsy05ahk8dr6hmkny56fycrby6r9kri9q4"; type = "gem"; }; version = "1.39.0"; }; aws-sdk-sqs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01m2l8y4q4fixjvl70w5bi1ihmmx2y4krms9kkjwd3ch21y14hif"; type = "gem"; }; version = "1.38.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d9zhmi3mpfzkkpg7yw7s9r1dwk157kh9875j3c7gh6cy95lmmaw"; type = "gem"; }; version = "1.2.3"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf"; type = "gem"; }; version = "1.4.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"; type = "gem"; }; version = "1.12.2"; }; terraforming = { - dependencies = ["aws-sdk-autoscaling" "aws-sdk-cloudwatch" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-efs" "aws-sdk-elasticache" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-iam" "aws-sdk-kms" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-s3" "aws-sdk-sns" "aws-sdk-sqs" "multi_json" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "aws-sdk-autoscaling" + "aws-sdk-cloudwatch" + "aws-sdk-dynamodb" + "aws-sdk-ec2" + "aws-sdk-efs" + "aws-sdk-elasticache" + "aws-sdk-elasticloadbalancing" + "aws-sdk-elasticloadbalancingv2" + "aws-sdk-iam" + "aws-sdk-kms" + "aws-sdk-rds" + "aws-sdk-redshift" + "aws-sdk-route53" + "aws-sdk-s3" + "aws-sdk-sns" + "aws-sdk-sqs" + "multi_json" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03fyhqx6bxpbn26pbcz748gz7rh7q3r9r0jimq7vj07fl454fmwh"; type = "gem"; }; version = "0.18.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; type = "gem"; }; diff --git a/pkgs/applications/networking/cluster/terraspace/default.nix b/pkgs/applications/networking/cluster/terraspace/default.nix index da45541108f69..b849f4b106654 100644 --- a/pkgs/applications/networking/cluster/terraspace/default.nix +++ b/pkgs/applications/networking/cluster/terraspace/default.nix @@ -1,11 +1,19 @@ -{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, ruby }: +{ + stdenv, + lib, + bundlerEnv, + bundlerUpdateScript, + makeWrapper, + ruby, +}: let rubyEnv = bundlerEnv { inherit ruby; name = "terraspace"; - gemdir = ./.; + gemdir = ./.; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "terraspace"; version = (import ./gemset.nix).terraspace.version; @@ -25,9 +33,9 @@ in stdenv.mkDerivation { meta = with lib; { description = "Terraform framework that provides an organized structure, and keeps your code DRY"; mainProgram = "terraspace"; - homepage = "https://github.com/boltops-tools/terraspace"; - license = licenses.asl20; - platforms = ruby.meta.platforms; + homepage = "https://github.com/boltops-tools/terraspace"; + license = licenses.asl20; + platforms = ruby.meta.platforms; maintainers = with maintainers; [ mislavzanic ]; }; } diff --git a/pkgs/applications/networking/cluster/terraspace/gemset.nix b/pkgs/applications/networking/cluster/terraspace/gemset.nix index 606e450c42708..1a78094d37a58 100644 --- a/pkgs/applications/networking/cluster/terraspace/gemset.nix +++ b/pkgs/applications/networking/cluster/terraspace/gemset.nix @@ -1,522 +1,605 @@ { activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "minitest" + "mutex_m" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5"; type = "gem"; }; version = "7.1.3.4"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03zb6x4x68y91gywsyi4a6hxy4pdyng8mnxwd858bhjfymml8kkf"; type = "gem"; }; version = "1.956.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ihl7iwndl3jjy89sh427wf8mdb7ii76bsjf6fkxq9ha30nz4f3g"; type = "gem"; }; version = "3.201.1"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02g3l3lcyddqncrwjxgawxl33p2p715k1gbrdlgyiv0yvy88sn0k"; type = "gem"; }; version = "1.88.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ika0xmmrkc7jiwdi5gqia5wywkcbw1nal2dhl436dkh38fxl0lk"; type = "gem"; }; version = "1.156.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; type = "gem"; }; version = "1.8.0"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; cli-format = { - dependencies = ["activesupport" "text-table" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "text-table" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rrjck5r25dlcg1gwz6pb5f4rllx77lg6a514a5l3lajfd95shm3"; type = "gem"; }; version = "0.6.1"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g"; type = "gem"; }; version = "1.3.3"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; deep_merge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3"; type = "gem"; }; version = "1.2.2"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; dotenv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y24jabiz4cf9ni9vi4j8sab8b5phpf2mpw3981r0r94l4m6q0q8"; type = "gem"; }; version = "3.1.2"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; dsl_evaluator = { - dependencies = ["activesupport" "memoist" "rainbow" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "memoist" + "rainbow" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0hd079baa5pfyyc2wc9p5h82qjp7fnx0s0shn2i19ig186cizh2x"; type = "gem"; }; version = "0.3.2"; }; eventmachine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; eventmachine-tail = { - dependencies = ["eventmachine"]; - groups = ["default"]; - platforms = []; + dependencies = [ "eventmachine" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x5ly7mnfr6gibjyxz6lrxb4jbf05p0r8257qcgkf8rkwg9ynw0c"; type = "gem"; }; version = "0.6.5"; }; graph = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bwssjgl9nfq9jhn9bfc7pqfl2c2xi0wnpng66l029m03kmdq8k4"; type = "gem"; }; version = "2.11.1"; }; hcl_parser = { - dependencies = ["rhcl"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rhcl" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09d55i9y187xkw0fi0b5aq8wyzvq8w73ryi939dvzdzgss25m7jj"; type = "gem"; }; version = "0.2.2"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; memoist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55"; type = "gem"; }; version = "0.16.2"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jj629q3vw5yn90q4di4dyb87pil4a8qfm2srhgy5nc8j2n33v1i"; type = "gem"; }; version = "5.24.1"; }; mutex_m = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vz1ychq2fhfqjgqdrx8bqkaxg5dzcgwnah00m57ydylczfy8pwk"; type = "gem"; }; version = "1.16.6"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "021s7maw0c4d9a6s07vbmllrzqsj2sgmrwimlh8ffkvwqdjrld09"; type = "gem"; }; version = "1.8.0"; }; rainbow = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; render_me_pretty = { - dependencies = ["activesupport" "rainbow" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rainbow" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qx9pv0irkcqjx9f0mh5s6d9m0fck329bp845ryic34nsvnbsp4k"; type = "gem"; }; version = "0.9.0"; }; rexml = { - dependencies = ["strscan"]; - groups = ["default"]; - platforms = []; + dependencies = [ "strscan" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zr5qpa8lampaqzhdcjcvyqnrqcjl7439mqjlkjz43wdhmpnh4s5"; type = "gem"; }; version = "3.3.2"; }; rhcl = { - dependencies = ["deep_merge"]; - groups = ["default"]; - platforms = []; + dependencies = [ "deep_merge" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c7xp9y9438mnqrfrvjp1fwy2lk0b1ixz45qi2g2kbl91ilhn834"; type = "gem"; }; version = "0.1.0"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; type = "gem"; }; version = "3.13.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k252n7s80bvjvpskgfm285a3djjjqyjcarlh3aq7a4dx2s94xsm"; type = "gem"; }; version = "3.13.0"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0022nxs9gqfhx35n4klibig770n0j31pnkd8anz00yvrvkdghk41"; type = "gem"; }; version = "3.13.1"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0f3vgp43hajw716vmgjv6f4ar6f97zf50snny6y3fy9kkj4qjw88"; type = "gem"; }; version = "3.13.1"; }; rspec-support = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8"; type = "gem"; }; version = "3.13.1"; }; rspec-terraspace = { - dependencies = ["activesupport" "memoist" "rainbow" "rspec" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "memoist" + "rainbow" + "rspec" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q8dlamvd11d5q2p6yvq0gkm3smz42mzsva4qimim7jn2yjbh58y"; type = "gem"; }; version = "0.3.3"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; strscan = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; type = "gem"; }; version = "3.1.0"; }; terraspace = { - dependencies = ["activesupport" "cli-format" "deep_merge" "dotenv" "dsl_evaluator" "eventmachine-tail" "graph" "hcl_parser" "memoist" "rainbow" "render_me_pretty" "rexml" "rspec-terraspace" "terraspace-bundler" "thor" "tty-tree" "zeitwerk" "zip_folder"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "cli-format" + "deep_merge" + "dotenv" + "dsl_evaluator" + "eventmachine-tail" + "graph" + "hcl_parser" + "memoist" + "rainbow" + "render_me_pretty" + "rexml" + "rspec-terraspace" + "terraspace-bundler" + "thor" + "tty-tree" + "zeitwerk" + "zip_folder" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zmnp71fwcj453cafmb8iicbk93flk98wh0wdk0q9xd3mgm3qh6x"; type = "gem"; }; version = "2.2.17"; }; terraspace-bundler = { - dependencies = ["activesupport" "aws-sdk-s3" "dsl_evaluator" "memoist" "nokogiri" "rainbow" "rubyzip" "thor" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "aws-sdk-s3" + "dsl_evaluator" + "memoist" + "nokogiri" + "rainbow" + "rubyzip" + "thor" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0kn6is7zqlw8l4njj4pjwbdi95w651nz3qvqgc3vw07rchs08nnx"; type = "gem"; }; version = "0.5.0"; }; text-table = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06yhlnb49fn0fhkmi6lrziyv2hd42gcm2zi3sggm2qab48qxn94j"; type = "gem"; }; version = "1.2.4"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; type = "gem"; }; version = "1.3.1"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; tty-tree = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0w3nh9yppb7zaswa7d9hnhf6k64z5d3jd8xvpyg2mjfrzcw9rbgs"; type = "gem"; }; version = "0.4.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08cfb35232p9s1r4jqv8wacv38vxh699mgbr9y03ga89gx9lipqp"; type = "gem"; }; version = "2.6.16"; }; zip_folder = { - dependencies = ["rubyzip"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rubyzip" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1884a1ixy7bzm9yp8cjikhdfcn8205p4fsjq894ilby8i1whl58k"; type = "gem"; }; diff --git a/pkgs/applications/networking/cluster/tftui/default.nix b/pkgs/applications/networking/cluster/tftui/default.nix index 097476446676c..41a8fc4cbe745 100644 --- a/pkgs/applications/networking/cluster/tftui/default.nix +++ b/pkgs/applications/networking/cluster/tftui/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, python3 -, enableUsageTracking ? false +{ + lib, + fetchFromGitHub, + makeWrapper, + python3, + enableUsageTracking ? false, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/applications/networking/cluster/timoni/default.nix b/pkgs/applications/networking/cluster/timoni/default.nix index 26be204a06f34..74b54c7b84a53 100644 --- a/pkgs/applications/networking/cluster/timoni/default.nix +++ b/pkgs/applications/networking/cluster/timoni/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/applications/networking/cluster/tubekit/default.nix b/pkgs/applications/networking/cluster/tubekit/default.nix index 1e4895118be15..7dcbf5c6c9750 100644 --- a/pkgs/applications/networking/cluster/tubekit/default.nix +++ b/pkgs/applications/networking/cluster/tubekit/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/applications/networking/cluster/tubekit/wrapper.nix b/pkgs/applications/networking/cluster/tubekit/wrapper.nix index d12f69adbfb9c..2475697e20781 100644 --- a/pkgs/applications/networking/cluster/tubekit/wrapper.nix +++ b/pkgs/applications/networking/cluster/tubekit/wrapper.nix @@ -1,16 +1,18 @@ -{ runCommand -, makeWrapper -, tubekit-unwrapped -, pname ? "tubekit" -, version ? tubekit-unwrapped.version -, kubectl +{ + runCommand, + makeWrapper, + tubekit-unwrapped, + pname ? "tubekit", + version ? tubekit-unwrapped.version, + kubectl, }: runCommand "${pname}-${version}" -{ - inherit pname version; - inherit (tubekit-unwrapped) src meta; - nativeBuildInputs = [ makeWrapper ]; -} '' - mkdir -p $out/bin - makeWrapper ${tubekit-unwrapped}/bin/tubectl $out/bin/tubectl --set-default TUBEKIT_KUBECTL ${kubectl}/bin/kubectl -'' + { + inherit pname version; + inherit (tubekit-unwrapped) src meta; + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper ${tubekit-unwrapped}/bin/tubectl $out/bin/tubectl --set-default TUBEKIT_KUBECTL ${kubectl}/bin/kubectl + '' diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix index 88f0b34fd27cf..041c45f782f40 100644 --- a/pkgs/applications/networking/compactor/default.nix +++ b/pkgs/applications/networking/compactor/default.nix @@ -1,7 +1,28 @@ -{ lib, stdenv, fetchFromGitHub -, asciidoctor, autoreconfHook, pkg-config -, boost, libctemplate, libmaxminddb, libpcap, libtins, openssl, protobuf, xz, zlib, catch2 -, cbor-diag, cddl, diffutils, file, mktemp, netcat, tcpdump, wireshark-cli +{ + lib, + stdenv, + fetchFromGitHub, + asciidoctor, + autoreconfHook, + pkg-config, + boost, + libctemplate, + libmaxminddb, + libpcap, + libtins, + openssl, + protobuf, + xz, + zlib, + catch2, + cbor-diag, + cddl, + diffutils, + file, + mktemp, + netcat, + tcpdump, + wireshark-cli, }: stdenv.mkDerivation rec { @@ -67,10 +88,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tools to capture DNS traffic and record it in C-DNS files"; - homepage = "https://dns-stats.org/"; - changelog = "https://github.com/dns-stats/compactor/raw/${version}/ChangeLog.txt"; - license = licenses.mpl20; + homepage = "https://dns-stats.org/"; + changelog = "https://github.com/dns-stats/compactor/raw/${version}/ChangeLog.txt"; + license = licenses.mpl20; maintainers = with maintainers; [ fdns ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix index 5b262e405a873..6f971f0c849f3 100644 --- a/pkgs/applications/networking/davmail/default.nix +++ b/pkgs/applications/networking/davmail/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, fetchurl -, lib -, makeWrapper -, unzip -, glib -, gtk2 -, gtk3 -, jre -, libXtst -, coreutils -, gnugrep -, zulu -, preferGtk3 ? true -, preferZulu ? true +{ + stdenv, + fetchurl, + lib, + makeWrapper, + unzip, + glib, + gtk2, + gtk3, + jre, + libXtst, + coreutils, + gnugrep, + zulu, + preferGtk3 ? true, + preferZulu ? true, }: let @@ -35,7 +36,10 @@ stdenv.mkDerivation rec { sourceRoot = "."; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; installPhase = '' runHook preInstall @@ -44,8 +48,20 @@ stdenv.mkDerivation rec { cp -vR ./* $out/share/davmail makeWrapper $out/share/davmail/davmail $out/bin/davmail \ --set-default JAVA_OPTS "-Xmx512M -Dsun.net.inetaddr.ttl=60 -Djdk.gtk.version=${lib.versions.major gtk'.version}" \ - --prefix PATH : ${lib.makeBinPath [ jre' coreutils gnugrep ]} \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk' libXtst ]} + --prefix PATH : ${ + lib.makeBinPath [ + jre' + coreutils + gnugrep + ] + } \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + glib + gtk' + libXtst + ] + } runHook postInstall ''; diff --git a/pkgs/applications/networking/droopy/default.nix b/pkgs/applications/networking/droopy/default.nix index 35176db8b2415..0cbcdbe568d49 100644 --- a/pkgs/applications/networking/droopy/default.nix +++ b/pkgs/applications/networking/droopy/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, wrapPython, fetchpatch }: +{ + stdenv, + lib, + fetchFromGitHub, + wrapPython, + fetchpatch, +}: stdenv.mkDerivation { pname = "droopy"; diff --git a/pkgs/applications/networking/dropbox/cli.nix b/pkgs/applications/networking/dropbox/cli.nix index 10e133ac4cab5..31eda100eb973 100644 --- a/pkgs/applications/networking/dropbox/cli.nix +++ b/pkgs/applications/networking/dropbox/cli.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, substituteAll -, autoreconfHook -, pkg-config -, fetchurl -, python3 -, dropbox -, gtk4 -, nautilus -, gdk-pixbuf -, gobject-introspection +{ + lib, + stdenv, + substituteAll, + autoreconfHook, + pkg-config, + fetchurl, + python3, + dropbox, + gtk4, + nautilus, + gdk-pixbuf, + gobject-introspection, }: let @@ -19,7 +21,10 @@ stdenv.mkDerivation { pname = "dropbox-cli"; inherit version; - outputs = [ "out" "nautilusExtension" ]; + outputs = [ + "out" + "nautilusExtension" + ]; src = fetchurl { url = "https://linux.dropbox.com/packages/nautilus-dropbox-${version}.tar.bz2"; @@ -42,10 +47,12 @@ stdenv.mkDerivation { gdk-pixbuf # only for build, the install command also wants to use GTK through introspection # but we are using Nix for installation so we will not need that. - (python3.withPackages (ps: with ps; [ - docutils - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + docutils + pygobject3 + ] + )) ]; buildInputs = [ diff --git a/pkgs/applications/networking/feedreaders/rss2email/default.nix b/pkgs/applications/networking/feedreaders/rss2email/default.nix index a24325454af57..7dba7e9684b9f 100644 --- a/pkgs/applications/networking/feedreaders/rss2email/default.nix +++ b/pkgs/applications/networking/feedreaders/rss2email/default.nix @@ -1,8 +1,9 @@ -{ lib -, pythonPackages -, fetchPypi -, fetchpatch2 -, nixosTests +{ + lib, + pythonPackages, + fetchPypi, + fetchpatch2, + nixosTests, }: with pythonPackages; @@ -11,7 +12,10 @@ buildPythonApplication rec { pname = "rss2email"; version = "3.14"; - propagatedBuildInputs = [ feedparser html2text ]; + propagatedBuildInputs = [ + feedparser + html2text + ]; nativeCheckInputs = [ beautifulsoup4 ]; src = fetchPypi { @@ -27,7 +31,11 @@ buildPythonApplication rec { }) ]; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; postPatch = '' # sendmail executable is called from PATH instead of sbin by default diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix index 1a3124f64ad5a..795a252ef0434 100644 --- a/pkgs/applications/networking/feedreaders/rssguard/default.nix +++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtwebengine -, qttools -, wrapGAppsHook3 -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtwebengine, + qttools, + wrapGAppsHook3, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-eF0jPT0gQnnBWu9IKfY0DwMwotL3IEjovqnQqx9v2NA="; }; - buildInputs = [ qtwebengine qttools ]; - nativeBuildInputs = [ cmake wrapGAppsHook3 wrapQtAppsHook ]; + buildInputs = [ + qtwebengine + qttools + ]; + nativeBuildInputs = [ + cmake + wrapGAppsHook3 + wrapQtAppsHook + ]; qmakeFlags = [ "CONFIG+=release" ]; meta = with lib; { diff --git a/pkgs/applications/networking/feedreaders/tuifeed/default.nix b/pkgs/applications/networking/feedreaders/tuifeed/default.nix index 16bb0324d07a6..b4262c7aa4249 100644 --- a/pkgs/applications/networking/feedreaders/tuifeed/default.nix +++ b/pkgs/applications/networking/feedreaders/tuifeed/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchCrate -, rustPlatform -, Security +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix index cdff695aa8df5..d5af0443de123 100644 --- a/pkgs/applications/networking/firehol/default.nix +++ b/pkgs/applications/networking/firehol/default.nix @@ -1,8 +1,24 @@ -{ stdenv, lib, fetchFromGitHub, autoconf, automake, curl, iprange, iproute2, iptables, iputils -, kmod, nettools, procps, tcpdump, traceroute, util-linux, whois +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + curl, + iprange, + iproute2, + iptables, + iputils, + kmod, + nettools, + procps, + tcpdump, + traceroute, + util-linux, + whois, -# If true, just install FireQOS without FireHOL -, onlyQOS ? false + # If true, just install FireQOS without FireHOL + onlyQOS ? false, }: stdenv.mkDerivation rec { @@ -32,17 +48,32 @@ stdenv.mkDerivation rec { ./firehol-uname-command.patch ]; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ - curl iprange iproute2 iptables iputils kmod - nettools procps tcpdump traceroute util-linux whois + curl + iprange + iproute2 + iptables + iputils + kmod + nettools + procps + tcpdump + traceroute + util-linux + whois ]; preConfigure = "./autogen.sh"; - configureFlags = [ "--localstatedir=/var" - "--disable-doc" "--disable-man" - "--disable-update-ipsets" ] ++ - lib.optionals onlyQOS [ "--disable-firehol" ]; + configureFlags = [ + "--localstatedir=/var" + "--disable-doc" + "--disable-man" + "--disable-update-ipsets" + ] ++ lib.optionals onlyQOS [ "--disable-firehol" ]; meta = with lib; { description = "Firewall for humans"; diff --git a/pkgs/applications/networking/firehol/iprange.nix b/pkgs/applications/networking/firehol/iprange.nix index d2504b73cc301..63157c65aa333 100644 --- a/pkgs/applications/networking/firehol/iprange.nix +++ b/pkgs/applications/networking/firehol/iprange.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "iprange"; diff --git a/pkgs/applications/networking/ftp/gftp/default.nix b/pkgs/applications/networking/ftp/gftp/default.nix index 3007fdd67183e..94299b5fc0a13 100644 --- a/pkgs/applications/networking/ftp/gftp/default.nix +++ b/pkgs/applications/networking/ftp/gftp/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, gettext -, gtk -, intltool -, libtool -, ncurses -, openssl -, pkg-config -, readline +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + gettext, + gtk, + intltool, + libtool, + ncurses, + openssl, + pkg-config, + readline, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix index e01380bc286ab..f1f14ad917d03 100644 --- a/pkgs/applications/networking/gns3/gui.nix +++ b/pkgs/applications/networking/gns3/gui.nix @@ -31,18 +31,21 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = [ qt5.qtwayland ]; - dependencies = with python3Packages; [ - distro - jsonschema - psutil - sentry-sdk - setuptools - sip - (pyqt5.override { withWebSockets = true; }) - truststore - ] ++ lib.optionals (pythonOlder "3.9") [ - importlib-resources - ]; + dependencies = + with python3Packages; + [ + distro + jsonschema + psutil + sentry-sdk + setuptools + sip + (pyqt5.override { withWebSockets = true; }) + truststore + ] + ++ lib.optionals (pythonOlder "3.9") [ + importlib-resources + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index dec90b620f704..ba36823fb9386 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -34,25 +34,28 @@ python3Packages.buildPythonApplication { build-system = with python3Packages; [ setuptools ]; - dependencies = with python3Packages; [ - aiofiles - aiohttp - aiohttp-cors - async-generator - distro - jinja2 - jsonschema - multidict - platformdirs - prompt-toolkit - psutil - py-cpuinfo - sentry-sdk - truststore - yarl - ] ++ lib.optionals (pythonOlder "3.9") [ - importlib-resources - ]; + dependencies = + with python3Packages; + [ + aiofiles + aiohttp + aiohttp-cors + async-generator + distro + jinja2 + jsonschema + multidict + platformdirs + prompt-toolkit + psutil + py-cpuinfo + sentry-sdk + truststore + yarl + ] + ++ lib.optionals (pythonOlder "3.9") [ + importlib-resources + ]; postInstall = lib.optionalString (!stdenv.hostPlatform.isWindows) '' rm $out/bin/gns3loopback diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix index 5455ce856d522..48af19cc590f5 100644 --- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix +++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix @@ -1,7 +1,14 @@ -{ lib, ocaml, buildDunePackage, fetchFromGitHub -, extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3 -, tiny_httpd -, ounit2 +{ + lib, + ocaml, + buildDunePackage, + fetchFromGitHub, + extlib, + ocamlfuse, + gapi-ocaml, + ocaml_sqlite3, + tiny_httpd, + ounit2, }: buildDunePackage rec { @@ -18,7 +25,13 @@ buildDunePackage rec { doCheck = lib.versionOlder ocaml.version "5.0"; checkInputs = [ ounit2 ]; - buildInputs = [ extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ]; + buildInputs = [ + extlib + ocamlfuse + gapi-ocaml + ocaml_sqlite3 + tiny_httpd + ]; meta = { inherit (src.meta) homepage; diff --git a/pkgs/applications/networking/gopher/phetch/default.nix b/pkgs/applications/networking/gopher/phetch/default.nix index a74f94eceb60e..90ad50006bae7 100644 --- a/pkgs/applications/networking/gopher/phetch/default.nix +++ b/pkgs/applications/networking/gopher/phetch/default.nix @@ -1,20 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, rustPlatform -, pkg-config -, openssl -, scdoc -, Security -, which +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + rustPlatform, + pkg-config, + openssl, + scdoc, + Security, + which, }: rustPlatform.buildRustPackage rec { pname = "phetch"; version = "1.2.0"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "xvxx"; @@ -25,7 +29,12 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-y3Y5PnZ51Zc3LmVTijUGnb0KaGm28sWOSYxjuM3A1Zk="; - nativeBuildInputs = [ installShellFiles pkg-config scdoc which ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + scdoc + which + ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; postInstall = '' diff --git a/pkgs/applications/networking/hpmyroom/default.nix b/pkgs/applications/networking/hpmyroom/default.nix index 78fdb5077818e..fd68b718d40b4 100644 --- a/pkgs/applications/networking/hpmyroom/default.nix +++ b/pkgs/applications/networking/hpmyroom/default.nix @@ -1,6 +1,26 @@ -{ mkDerivation, stdenv, lib, fetchurl, rpmextract, autoPatchelfHook , libuuid -, libXtst, libXfixes, glib, gst_all_1, alsa-lib, freetype, fontconfig , libXext -, libGL, libpng, libXScrnSaver, libxcb, xorg, libpulseaudio, libdrm +{ + mkDerivation, + stdenv, + lib, + fetchurl, + rpmextract, + autoPatchelfHook, + libuuid, + libXtst, + libXfixes, + glib, + gst_all_1, + alsa-lib, + freetype, + fontconfig, + libXext, + libGL, + libpng, + libXScrnSaver, + libxcb, + xorg, + libpulseaudio, + libdrm, }: mkDerivation rec { pname = "hpmyroom"; @@ -12,16 +32,33 @@ mkDerivation rec { }; nativeBuildInputs = [ - rpmextract autoPatchelfHook + rpmextract + autoPatchelfHook ]; - buildInputs = [ - libuuid libXtst libXScrnSaver libXfixes alsa-lib freetype fontconfig libXext - libGL libpng libxcb libpulseaudio libdrm - glib # For libgobject - stdenv.cc.cc # For libstdc++ - xorg.libX11 - ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ]); + buildInputs = + [ + libuuid + libXtst + libXScrnSaver + libXfixes + alsa-lib + freetype + fontconfig + libXext + libGL + libpng + libxcb + libpulseaudio + libdrm + glib # For libgobject + stdenv.cc.cc # For libstdc++ + xorg.libX11 + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + ]); unpackPhase = '' rpmextract $src diff --git a/pkgs/applications/networking/icemon/default.nix b/pkgs/applications/networking/icemon/default.nix index 7fa4c37b557a2..43e9c2b8ebbad 100644 --- a/pkgs/applications/networking/icemon/default.nix +++ b/pkgs/applications/networking/icemon/default.nix @@ -1,4 +1,17 @@ -{ lib, fetchFromGitHub, mkDerivation, qtbase, cmake, extra-cmake-modules, icecream, libcap_ng, lzo, zstd, libarchive, wrapQtAppsHook }: +{ + lib, + fetchFromGitHub, + mkDerivation, + qtbase, + cmake, + extra-cmake-modules, + icecream, + libcap_ng, + lzo, + zstd, + libarchive, + wrapQtAppsHook, +}: mkDerivation rec { pname = "icemon"; @@ -11,8 +24,19 @@ mkDerivation rec { sha256 = "09jnipr67dhawbxfn69yh7mmjrkylgiqmd0gmc2limd3z15d7pgc"; }; - nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; - buildInputs = [ icecream qtbase libcap_ng lzo zstd libarchive ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + wrapQtAppsHook + ]; + buildInputs = [ + icecream + qtbase + libcap_ng + lzo + zstd + libarchive + ]; meta = with lib; { description = "Icecream GUI Monitor"; diff --git a/pkgs/applications/networking/ids/zeek/broker/default.nix b/pkgs/applications/networking/ids/zeek/broker/default.nix index 0fcdd5048c0e6..f187f8ef682ca 100644 --- a/pkgs/applications/networking/ids/zeek/broker/default.nix +++ b/pkgs/applications/networking/ids/zeek/broker/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, python3 -, caf -, openssl +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + python3, + caf, + openssl, }: let inherit (stdenv.hostPlatform) isStatic; @@ -38,7 +39,10 @@ in stdenv.mkDerivation rec { pname = "zeek-broker"; version = "6.2.0"; - outputs = [ "out" "py" ]; + outputs = [ + "out" + "py" + ]; strictDeps = true; @@ -66,8 +70,14 @@ stdenv.mkDerivation rec { substituteInPlace bindings/python/CMakeLists.txt --replace " -u -r" "" ''; - nativeBuildInputs = [ cmake python3 ]; - buildInputs = [ openssl python3.pkgs.pybind11 ]; + nativeBuildInputs = [ + cmake + python3 + ]; + buildInputs = [ + openssl + python3.pkgs.pybind11 + ]; propagatedBuildInputs = [ caf' ]; cmakeFlags = [ diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix index 8286c46bcb484..54e8e7022493d 100644 --- a/pkgs/applications/networking/ids/zeek/default.nix +++ b/pkgs/applications/networking/ids/zeek/default.nix @@ -1,28 +1,32 @@ -{ lib -, stdenv -, callPackage -, fetchurl -, cmake -, flex -, bison -, openssl -, libkqueue -, libpcap -, zlib -, file -, curl -, libmaxminddb -, gperftools -, python3 -, swig -, gettext -, coreutils -, ncurses +{ + lib, + stdenv, + callPackage, + fetchurl, + cmake, + flex, + bison, + openssl, + libkqueue, + libpcap, + zlib, + file, + curl, + libmaxminddb, + gperftools, + python3, + swig, + gettext, + coreutils, + ncurses, }: let broker = callPackage ./broker { }; - python = python3.withPackages (p: [ p.gitpython p.semantic-version ]); + python = python3.withPackages (p: [ + p.gitpython + p.semantic-version + ]); in stdenv.mkDerivation rec { pname = "zeek"; @@ -48,39 +52,44 @@ stdenv.mkDerivation rec { swig ]; - buildInputs = [ - broker - curl - gperftools - libmaxminddb - libpcap - ncurses - openssl - zlib - python - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libkqueue - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - gettext - ]; + buildInputs = + [ + broker + curl + gperftools + libmaxminddb + libpcap + ncurses + openssl + zlib + python + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libkqueue + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + gettext + ]; postPatch = '' patchShebangs ./ci/collect-repo-info.py patchShebangs ./auxil/spicy/scripts ''; - cmakeFlags = [ - "-DBroker_ROOT=${broker}" - "-DENABLE_PERFTOOLS=true" - "-DINSTALL_AUX_TOOLS=true" - "-DZEEK_ETC_INSTALL_DIR=/etc/zeek" - "-DZEEK_LOG_DIR=/var/log/zeek" - "-DZEEK_STATE_DIR=/var/lib/zeek" - "-DZEEK_SPOOL_DIR=/var/spool/zeek" - "-DDISABLE_JAVASCRIPT=ON" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-DLIBKQUEUE_ROOT_DIR=${libkqueue}" - ]; + cmakeFlags = + [ + "-DBroker_ROOT=${broker}" + "-DENABLE_PERFTOOLS=true" + "-DINSTALL_AUX_TOOLS=true" + "-DZEEK_ETC_INSTALL_DIR=/etc/zeek" + "-DZEEK_LOG_DIR=/var/log/zeek" + "-DZEEK_STATE_DIR=/var/lib/zeek" + "-DZEEK_SPOOL_DIR=/var/spool/zeek" + "-DDISABLE_JAVASCRIPT=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-DLIBKQUEUE_ROOT_DIR=${libkqueue}" + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-faligned-allocation"; @@ -105,7 +114,10 @@ stdenv.mkDerivation rec { homepage = "https://www.zeek.org"; changelog = "https://github.com/zeek/zeek/blob/v${version}/CHANGES"; license = licenses.bsd3; - maintainers = with maintainers; [ pSub tobim ]; + maintainers = with maintainers; [ + pSub + tobim + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix index 32b3096c3c669..b1cac93af625c 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix @@ -1,6 +1,18 @@ -{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python3 -, enableLibPurple ? false, pidgin ? null -, enablePam ? false, pam ? null +{ + lib, + fetchurl, + fetchpatch, + stdenv, + gnutls, + glib, + pkg-config, + check, + libotr, + python3, + enableLibPurple ? false, + pidgin ? null, + enablePam ? false, + pam ? null, }: stdenv.mkDerivation rec { @@ -14,17 +26,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ] ++ lib.optional doCheck check; - buildInputs = [ gnutls libotr python3 ] + buildInputs = + [ + gnutls + libotr + python3 + ] ++ lib.optional enableLibPurple pidgin ++ lib.optional enablePam pam; propagatedBuildInputs = [ glib ]; - configureFlags = [ - "--otr=1" - "--ssl=gnutls" - "--pidfile=/var/lib/bitlbee/bitlbee.pid" - ] ++ lib.optional enableLibPurple "--purple=1" + configureFlags = + [ + "--otr=1" + "--ssl=gnutls" + "--pidfile=/var/lib/bitlbee/bitlbee.pid" + ] + ++ lib.optional enableLibPurple "--purple=1" ++ lib.optional enablePam "--pam=1"; patches = [ @@ -35,7 +54,10 @@ stdenv.mkDerivation rec { }) ]; - installTargets = [ "install" "install-dev" ]; + installTargets = [ + "install" + "install-dev" + ]; doCheck = !enableLibPurple; # Checks fail with libpurple for some reason checkPhase = '' @@ -63,7 +85,10 @@ stdenv.mkDerivation rec { homepage = "https://www.bitlbee.org/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ lassulus pSub ]; - platforms = platforms.gnu ++ platforms.linux; # arbitrary choice + maintainers = with maintainers; [ + lassulus + pSub + ]; + platforms = platforms.gnu ++ platforms.linux; # arbitrary choice }; } diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/plugins.nix b/pkgs/applications/networking/instant-messengers/bitlbee/plugins.nix index f750f7f9d602b..81289e43c5667 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/plugins.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/plugins.nix @@ -1,13 +1,23 @@ -{ lib, runCommandLocal, bitlbee }: +{ + lib, + runCommandLocal, + bitlbee, +}: -plugins: runCommandLocal "bitlbee-plugins" { - inherit plugins; - buildInputs = [ bitlbee plugins ]; -} '' - mkdir -p $out/lib/bitlbee - for plugin in $plugins; do - for thing in $(ls $plugin/lib/bitlbee); do - ln -s $plugin/lib/bitlbee/$thing $out/lib/bitlbee/ +plugins: +runCommandLocal "bitlbee-plugins" + { + inherit plugins; + buildInputs = [ + bitlbee + plugins + ]; + } + '' + mkdir -p $out/lib/bitlbee + for plugin in $plugins; do + for thing in $(ls $plugin/lib/bitlbee); do + ln -s $plugin/lib/bitlbee/$thing $out/lib/bitlbee/ + done done - done -'' + '' diff --git a/pkgs/applications/networking/instant-messengers/discord-screenaudio/default.nix b/pkgs/applications/networking/instant-messengers/discord-screenaudio/default.nix index 9b4778cfd6a4e..cf8eab529474f 100644 --- a/pkgs/applications/networking/instant-messengers/discord-screenaudio/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord-screenaudio/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapQtAppsHook -, cmake -, pkg-config -, qtbase -, qtwebengine -, qtwayland -, pipewire -, kdePackages -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + wrapQtAppsHook, + cmake, + pkg-config, + qtbase, + qtwebengine, + qtwayland, + pipewire, + kdePackages, + nix-update-script, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix index 2a7d91790909f..3bccfdec1d687 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, makeDesktopItem -, fixup-yarn-lock -, yarn -, nodejs -, fetchYarnDeps -, jq -, electron_33 -, element-web -, sqlcipher -, callPackage -, Security -, AppKit -, CoreServices -, desktopToDarwinBundle -, useKeytar ? true -# command line arguments which are always set -, commandLineArgs ? "" +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + makeDesktopItem, + fixup-yarn-lock, + yarn, + nodejs, + fetchYarnDeps, + jq, + electron_33, + element-web, + sqlcipher, + callPackage, + Security, + AppKit, + CoreServices, + desktopToDarwinBundle, + useKeytar ? true, + # command line arguments which are always set + commandLineArgs ? "", }: let @@ -29,132 +30,144 @@ let seshat = callPackage ./seshat { inherit CoreServices; }; electron = electron_33; in -stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // { - pname = "element-desktop"; - name = "${finalAttrs.pname}-${finalAttrs.version}"; - src = fetchFromGitHub { - owner = "element-hq"; - repo = "element-desktop"; - rev = "v${finalAttrs.version}"; - hash = desktopSrcHash; - }; - - offlineCache = fetchYarnDeps { - yarnLock = finalAttrs.src + "/yarn.lock"; - sha256 = desktopYarnHash; - }; - - nativeBuildInputs = [ yarn fixup-yarn-lock nodejs makeWrapper jq ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; - - inherit seshat; - - configurePhase = '' - runHook preConfigure - - export HOME=$(mktemp -d) - yarn config --offline set yarn-offline-mirror $offlineCache - fixup-yarn-lock yarn.lock - yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive - patchShebangs node_modules/ - - runHook postConfigure - ''; - - # Only affects unused scripts in $out/share/element/electron/scripts. Also - # breaks because there are some `node`-scripts with a `npx`-shebang and - # this shouldn't be in the closure just for unused scripts. - dontPatchShebangs = true; - - buildPhase = '' - runHook preBuild - - yarn --offline run build:ts - yarn --offline run i18n - yarn --offline run build:res - - rm -rf node_modules/matrix-seshat node_modules/keytar - ${lib.optionalString useKeytar "ln -s ${keytar} node_modules/keytar"} - ln -s $seshat node_modules/matrix-seshat - - runHook postBuild - ''; - - installPhase = - '' - runHook preInstall - - # resources - mkdir -p "$out/share/element" - ln -s '${element-web}' "$out/share/element/webapp" - cp -r '.' "$out/share/element/electron" - cp -r './res/img' "$out/share/element" - rm -rf "$out/share/element/electron/node_modules" - cp -r './node_modules' "$out/share/element/electron" - cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json - ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json - - # icons - for icon in $out/share/element/electron/build/icons/*.png; do - mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps" - ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/element.png" - done - - # desktop item - mkdir -p "$out/share" - ln -s "${finalAttrs.desktopItem}/share/applications" "$out/share/applications" - - # executable wrapper - # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102 - makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \ - --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \ - --add-flags "$out/share/element/electron" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --add-flags ${lib.escapeShellArg commandLineArgs} - - runHook postInstall - ''; - - # The desktop item properties should be kept in sync with data from upstream: - # https://github.com/element-hq/element-desktop/blob/develop/package.json - desktopItem = makeDesktopItem { - name = "element-desktop"; - exec = "${executableName} %u"; - icon = "element"; - desktopName = "Element"; - genericName = "Matrix Client"; - comment = finalAttrs.meta.description; - categories = [ "Network" "InstantMessaging" "Chat" ]; - startupWMClass = "Element"; - mimeTypes = [ "x-scheme-handler/element" ]; - }; - - postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' - cp build/icon.icns $out/Applications/Element.app/Contents/Resources/element.icns - ''; - - passthru = { - updateScript = ./update.sh; - - # TL;DR: keytar is optional while seshat isn't. - # - # This prevents building keytar when `useKeytar` is set to `false`, because - # if libsecret is unavailable (e.g. set to `null` or fails to build), then - # this package wouldn't even considered for building because - # "one of the dependencies failed to build", - # although the dependency wouldn't even be used. - # - # It needs to be `passthru` anyways because other packages do depend on it. - inherit keytar; - }; - - meta = with lib; { - description = "A feature-rich client for Matrix.org"; - homepage = "https://element.io/"; - changelog = "https://github.com/element-hq/element-desktop/blob/v${finalAttrs.version}/CHANGELOG.md"; - license = licenses.asl20; - maintainers = teams.matrix.members; - inherit (electron.meta) platforms; - mainProgram = "element-desktop"; - }; -}) +stdenv.mkDerivation ( + finalAttrs: + builtins.removeAttrs pinData [ "hashes" ] + // { + pname = "element-desktop"; + name = "${finalAttrs.pname}-${finalAttrs.version}"; + src = fetchFromGitHub { + owner = "element-hq"; + repo = "element-desktop"; + rev = "v${finalAttrs.version}"; + hash = desktopSrcHash; + }; + + offlineCache = fetchYarnDeps { + yarnLock = finalAttrs.src + "/yarn.lock"; + sha256 = desktopYarnHash; + }; + + nativeBuildInputs = [ + yarn + fixup-yarn-lock + nodejs + makeWrapper + jq + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + + inherit seshat; + + configurePhase = '' + runHook preConfigure + + export HOME=$(mktemp -d) + yarn config --offline set yarn-offline-mirror $offlineCache + fixup-yarn-lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive + patchShebangs node_modules/ + + runHook postConfigure + ''; + + # Only affects unused scripts in $out/share/element/electron/scripts. Also + # breaks because there are some `node`-scripts with a `npx`-shebang and + # this shouldn't be in the closure just for unused scripts. + dontPatchShebangs = true; + + buildPhase = '' + runHook preBuild + + yarn --offline run build:ts + yarn --offline run i18n + yarn --offline run build:res + + rm -rf node_modules/matrix-seshat node_modules/keytar + ${lib.optionalString useKeytar "ln -s ${keytar} node_modules/keytar"} + ln -s $seshat node_modules/matrix-seshat + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + # resources + mkdir -p "$out/share/element" + ln -s '${element-web}' "$out/share/element/webapp" + cp -r '.' "$out/share/element/electron" + cp -r './res/img' "$out/share/element" + rm -rf "$out/share/element/electron/node_modules" + cp -r './node_modules' "$out/share/element/electron" + cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json + ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json + + # icons + for icon in $out/share/element/electron/build/icons/*.png; do + mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps" + ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/element.png" + done + + # desktop item + mkdir -p "$out/share" + ln -s "${finalAttrs.desktopItem}/share/applications" "$out/share/applications" + + # executable wrapper + # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102 + makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \ + --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \ + --add-flags "$out/share/element/electron" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags ${lib.escapeShellArg commandLineArgs} + + runHook postInstall + ''; + + # The desktop item properties should be kept in sync with data from upstream: + # https://github.com/element-hq/element-desktop/blob/develop/package.json + desktopItem = makeDesktopItem { + name = "element-desktop"; + exec = "${executableName} %u"; + icon = "element"; + desktopName = "Element"; + genericName = "Matrix Client"; + comment = finalAttrs.meta.description; + categories = [ + "Network" + "InstantMessaging" + "Chat" + ]; + startupWMClass = "Element"; + mimeTypes = [ "x-scheme-handler/element" ]; + }; + + postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' + cp build/icon.icns $out/Applications/Element.app/Contents/Resources/element.icns + ''; + + passthru = { + updateScript = ./update.sh; + + # TL;DR: keytar is optional while seshat isn't. + # + # This prevents building keytar when `useKeytar` is set to `false`, because + # if libsecret is unavailable (e.g. set to `null` or fails to build), then + # this package wouldn't even considered for building because + # "one of the dependencies failed to build", + # although the dependency wouldn't even be used. + # + # It needs to be `passthru` anyways because other packages do depend on it. + inherit keytar; + }; + + meta = with lib; { + description = "A feature-rich client for Matrix.org"; + homepage = "https://element.io/"; + changelog = "https://github.com/element-hq/element-desktop/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = teams.matrix.members; + inherit (electron.meta) platforms; + mainProgram = "element-desktop"; + }; + } +) diff --git a/pkgs/applications/networking/instant-messengers/element/element-web-wrapper.nix b/pkgs/applications/networking/instant-messengers/element/element-web-wrapper.nix index e6dc8fb84c7d2..165761f2a25c9 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-web-wrapper.nix +++ b/pkgs/applications/networking/instant-messengers/element/element-web-wrapper.nix @@ -1,30 +1,33 @@ -{ stdenv -, jq -, element-web-unwrapped -, conf ? { } +{ + stdenv, + jq, + element-web-unwrapped, + conf ? { }, }: -if (conf == { }) then element-web-unwrapped else -stdenv.mkDerivation rec { - pname = "${element-web-unwrapped.pname}-wrapped"; - inherit (element-web-unwrapped) version meta; +if (conf == { }) then + element-web-unwrapped +else + stdenv.mkDerivation rec { + pname = "${element-web-unwrapped.pname}-wrapped"; + inherit (element-web-unwrapped) version meta; - dontUnpack = true; + dontUnpack = true; - nativeBuildInputs = [ jq ]; + nativeBuildInputs = [ jq ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out - ln -s ${element-web-unwrapped}/* $out - rm $out/config.json - jq -s '.[0] * $conf' "${element-web-unwrapped}/config.json" --argjson "conf" '${builtins.toJSON conf}' > "$out/config.json" + mkdir -p $out + ln -s ${element-web-unwrapped}/* $out + rm $out/config.json + jq -s '.[0] * $conf' "${element-web-unwrapped}/config.json" --argjson "conf" '${builtins.toJSON conf}' > "$out/config.json" - runHook postInstall - ''; + runHook postInstall + ''; - passthru = { - inherit conf; - }; -} + passthru = { + inherit conf; + }; + } diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix index 958a80fb47430..993bbcd2068f6 100644 --- a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix +++ b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, nodejs, python3, removeReferencesTo -, pkg-config, libsecret, xcbuild, Security, AppKit, fetchNpmDeps, npmHooks }: +{ + lib, + stdenv, + fetchFromGitHub, + nodejs, + python3, + removeReferencesTo, + pkg-config, + libsecret, + xcbuild, + Security, + AppKit, + fetchNpmDeps, + npmHooks, +}: let pinData = lib.importJSON ./pin.json; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "keytar"; inherit (pinData) version; @@ -16,13 +30,18 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ - nodejs python3 pkg-config + nodejs + python3 + pkg-config npmHooks.npmConfigHook - ] - ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; + ] ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security AppKit ]; + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + AppKit + ]; npmDeps = fetchNpmDeps { inherit src; @@ -37,10 +56,18 @@ in stdenv.mkDerivation rec { ''; # https://nodejs.org/api/os.html#osarch - npmFlags = [ "--arch=${if stdenv.hostPlatform.parsed.cpu.name == "i686" then "ia32" - else if stdenv.hostPlatform.parsed.cpu.name == "x86_64" then "x64" - else if stdenv.hostPlatform.parsed.cpu.name == "aarch64" then "arm64" - else stdenv.hostPlatform.parsed.cpu.name}" ]; + npmFlags = [ + "--arch=${ + if stdenv.hostPlatform.parsed.cpu.name == "i686" then + "ia32" + else if stdenv.hostPlatform.parsed.cpu.name == "x86_64" then + "x64" + else if stdenv.hostPlatform.parsed.cpu.name == "aarch64" then + "arm64" + else + stdenv.hostPlatform.parsed.cpu.name + }" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix index e8e88491c2cc0..800650ce5b66b 100644 --- a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix +++ b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix @@ -1,9 +1,24 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, rust, sqlcipher, nodejs, python3, yarn, fixup-yarn-lock, CoreServices, fetchYarnDeps, removeReferencesTo }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + rust, + sqlcipher, + nodejs, + python3, + yarn, + fixup-yarn-lock, + CoreServices, + fetchYarnDeps, + removeReferencesTo, +}: let pinData = lib.importJSON ./pin.json; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "seshat-node"; inherit (pinData) version cargoHash; @@ -16,7 +31,12 @@ in rustPlatform.buildRustPackage rec { sourceRoot = "${src.name}/seshat-node/native"; - nativeBuildInputs = [ nodejs python3 yarn fixup-yarn-lock ]; + nativeBuildInputs = [ + nodejs + python3 + yarn + fixup-yarn-lock + ]; buildInputs = [ sqlcipher ] ++ lib.optional stdenv.hostPlatform.isDarwin CoreServices; npm_config_nodedir = nodejs; diff --git a/pkgs/applications/networking/instant-messengers/ferdium/default.nix b/pkgs/applications/networking/instant-messengers/ferdium/default.nix index e67a46cdf5028..606732baf5808 100644 --- a/pkgs/applications/networking/instant-messengers/ferdium/default.nix +++ b/pkgs/applications/networking/instant-messengers/ferdium/default.nix @@ -1,14 +1,24 @@ -{ lib, mkFranzDerivation, fetchurl, xorg, stdenv }: +{ + lib, + mkFranzDerivation, + fetchurl, + xorg, + stdenv, +}: let - arch = { - x86_64-linux = "amd64"; - aarch64-linux = "arm64"; - }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - hash = { - amd64-linux_hash = "sha256-Ey2FhekQVSYB0ki4U3HyuKs/URgtZMCl41jkPsZMNrQ="; - arm64-linux_hash = "sha256-oiimMFwwkBOwqlCSFoGQSYHsDpcjTQingyuBkYz8fvA="; - }."${arch}-linux_hash"; + arch = + { + x86_64-linux = "amd64"; + aarch64-linux = "arm64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = + { + amd64-linux_hash = "sha256-Ey2FhekQVSYB0ki4U3HyuKs/URgtZMCl41jkPsZMNrQ="; + arm64-linux_hash = "sha256-oiimMFwwkBOwqlCSFoGQSYHsDpcjTQingyuBkYz8fvA="; + } + ."${arch}-linux_hash"; in mkFranzDerivation rec { pname = "ferdium"; @@ -30,7 +40,10 @@ mkFranzDerivation rec { homepage = "https://ferdium.org/"; license = licenses.asl20; maintainers = with maintainers; [ magnouvean ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; hydraPlatforms = [ ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix index e986ff75a34af..58265e71823fd 100644 --- a/pkgs/applications/networking/instant-messengers/franz/default.nix +++ b/pkgs/applications/networking/instant-messengers/franz/default.nix @@ -1,4 +1,8 @@ -{ lib, mkFranzDerivation, fetchurl }: +{ + lib, + mkFranzDerivation, + fetchurl, +}: mkFranzDerivation rec { pname = "franz"; diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix index 807e96332de09..ab586f0633599 100644 --- a/pkgs/applications/networking/instant-messengers/franz/generic.nix +++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix @@ -1,95 +1,134 @@ -{ stdenv -, lib -, makeWrapper -, wrapGAppsHook3 -, autoPatchelfHook -, dpkg -, xorg -, atk -, glib -, pango -, gdk-pixbuf -, cairo -, freetype -, fontconfig -, gtk3 -, dbus -, nss -, nspr -, alsa-lib -, cups -, expat -, udev -, libnotify -, xdg-utils -, mesa -, libglvnd -, libappindicator-gtk3 +{ + stdenv, + lib, + makeWrapper, + wrapGAppsHook3, + autoPatchelfHook, + dpkg, + xorg, + atk, + glib, + pango, + gdk-pixbuf, + cairo, + freetype, + fontconfig, + gtk3, + dbus, + nss, + nspr, + alsa-lib, + cups, + expat, + udev, + libnotify, + xdg-utils, + mesa, + libglvnd, + libappindicator-gtk3, }: # Helper function for building a derivation for Franz and forks. -{ pname, name, version, src, meta, extraBuildInputs ? [], ... } @ args: +{ + pname, + name, + version, + src, + meta, + extraBuildInputs ? [ ], + ... +}@args: let - cleanedArgs = builtins.removeAttrs args [ "pname" "name" "version" "src" "meta" "extraBuildInputs" ]; -in stdenv.mkDerivation (rec { - inherit pname version src meta; + cleanedArgs = builtins.removeAttrs args [ + "pname" + "name" + "version" + "src" + "meta" + "extraBuildInputs" + ]; +in +stdenv.mkDerivation ( + rec { + inherit + pname + version + src + meta + ; - # Don't remove runtime deps. - dontPatchELF = true; + # Don't remove runtime deps. + dontPatchELF = true; - nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapGAppsHook3 dpkg ]; - buildInputs = extraBuildInputs ++ (with xorg; [ - libXi - libXcursor - libXdamage - libXrandr - libXcomposite - libXext - libXfixes - libXrender - libX11 - libXtst - libXScrnSaver - ]) ++ [ - mesa #libgbm - gtk3 - atk - glib - pango - gdk-pixbuf - cairo - freetype - fontconfig - dbus - nss - nspr - alsa-lib - cups - expat - stdenv.cc.cc - ]; - runtimeDependencies = [ libglvnd (lib.getLib stdenv.cc.cc) (lib.getLib udev) libnotify libappindicator-gtk3 ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + wrapGAppsHook3 + dpkg + ]; + buildInputs = + extraBuildInputs + ++ (with xorg; [ + libXi + libXcursor + libXdamage + libXrandr + libXcomposite + libXext + libXfixes + libXrender + libX11 + libXtst + libXScrnSaver + ]) + ++ [ + mesa # libgbm + gtk3 + atk + glib + pango + gdk-pixbuf + cairo + freetype + fontconfig + dbus + nss + nspr + alsa-lib + cups + expat + stdenv.cc.cc + ]; + runtimeDependencies = [ + libglvnd + (lib.getLib stdenv.cc.cc) + (lib.getLib udev) + libnotify + libappindicator-gtk3 + ]; - installPhase = '' - mkdir -p $out/bin - cp -r opt $out - ln -s $out/opt/${name}/${pname} $out/bin + installPhase = '' + mkdir -p $out/bin + cp -r opt $out + ln -s $out/opt/${name}/${pname} $out/bin - # Provide desktop item and icon. - cp -r usr/share $out - substituteInPlace $out/share/applications/${pname}.desktop \ - --replace /opt/${name}/${pname} ${pname} - ''; + # Provide desktop item and icon. + cp -r usr/share $out + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace /opt/${name}/${pname} ${pname} + ''; - dontWrapGApps = true; + dontWrapGApps = true; - postFixup = '' - # make xdg-open overridable at runtime - wrapProgramShell $out/opt/${name}/${pname} \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \ - --suffix PATH : ${xdg-utils}/bin \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - "''${gappsWrapperArgs[@]}" - ''; -} // cleanedArgs) + postFixup = '' + # make xdg-open overridable at runtime + wrapProgramShell $out/opt/${name}/${pname} \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \ + --suffix PATH : ${xdg-utils}/bin \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + "''${gappsWrapperArgs[@]}" + ''; + } + // cleanedArgs +) diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 29d22aa5049b5..1b4f2536d20b0 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -1,22 +1,41 @@ -{ lib, fetchurl, gettext, wrapGAppsHook3 - -# Native dependencies -, python3, gtk3, gobject-introspection, adwaita-icon-theme -, gtksourceview4 -, glib-networking - -# Test dependencies -, xvfb-run, dbus - -# Optional dependencies -, enableJingle ? true, farstream, gstreamer, gst-plugins-base, gst-libav, gst-plugins-good, libnice -, enableE2E ? true -, enableSecrets ? true, libsecret -, enableRST ? true, docutils -, enableSpelling ? true, gspell -, enableUPnP ? true, gupnp-igd -, enableAppIndicator ? true, libappindicator-gtk3 -, extraPythonPackages ? ps: [] +{ + lib, + fetchurl, + gettext, + wrapGAppsHook3, + + # Native dependencies + python3, + gtk3, + gobject-introspection, + adwaita-icon-theme, + gtksourceview4, + glib-networking, + + # Test dependencies + xvfb-run, + dbus, + + # Optional dependencies + enableJingle ? true, + farstream, + gstreamer, + gst-plugins-base, + gst-libav, + gst-plugins-good, + libnice, + enableE2E ? true, + enableSecrets ? true, + libsecret, + enableRST ? true, + docutils, + enableSpelling ? true, + gspell, + enableUPnP ? true, + gupnp-igd, + enableAppIndicator ? true, + libappindicator-gtk3, + extraPythonPackages ? ps: [ ], }: python3.pkgs.buildPythonApplication rec { @@ -30,19 +49,30 @@ python3.pkgs.buildPythonApplication rec { format = "pyproject"; - buildInputs = [ - gtk3 - adwaita-icon-theme - gtksourceview4 - glib-networking - ] ++ lib.optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-good libnice ] + buildInputs = + [ + gtk3 + adwaita-icon-theme + gtksourceview4 + glib-networking + ] + ++ lib.optionals enableJingle [ + farstream + gstreamer + gst-plugins-base + gst-libav + gst-plugins-good + libnice + ] ++ lib.optional enableSecrets libsecret ++ lib.optional enableSpelling gspell ++ lib.optional enableUPnP gupnp-igd ++ lib.optional enableAppIndicator libappindicator-gtk3; nativeBuildInputs = [ - gettext wrapGAppsHook3 gobject-introspection + gettext + wrapGAppsHook3 + gobject-introspection ]; dontWrapGApps = true; @@ -59,14 +89,35 @@ python3.pkgs.buildPythonApplication rec { makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; - propagatedBuildInputs = with python3.pkgs; [ - nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools packaging gssapi - omemo-dr qrcode sqlalchemy emoji - ] ++ lib.optionals enableE2E [ pycrypto python-gnupg ] + propagatedBuildInputs = + with python3.pkgs; + [ + nbxmpp + pygobject3 + dbus-python + pillow + css-parser + precis-i18n + keyring + setuptools + packaging + gssapi + omemo-dr + qrcode + sqlalchemy + emoji + ] + ++ lib.optionals enableE2E [ + pycrypto + python-gnupg + ] ++ lib.optional enableRST docutils ++ extraPythonPackages python3.pkgs; - nativeCheckInputs = [ xvfb-run dbus ]; + nativeCheckInputs = [ + xvfb-run + dbus + ]; checkPhase = '' xvfb-run dbus-run-session \ @@ -85,7 +136,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "http://gajim.org/"; description = "Jabber client written in PyGTK"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ raskin abbradar ]; + maintainers = with lib.maintainers; [ + raskin + abbradar + ]; downloadPage = "http://gajim.org/download/"; platforms = lib.platforms.linux; mainProgram = "gajim"; diff --git a/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix b/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix index 862677d691fd6..2959feb587b24 100644 --- a/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix +++ b/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, protobuf -, rustPlatform -, fetchFromGitHub -, Cocoa -, pkgsBuildHost -, openssl -, pkg-config -, testers -, gurk-rs +{ + stdenv, + lib, + protobuf, + rustPlatform, + fetchFromGitHub, + Cocoa, + pkgsBuildHost, + openssl, + pkg-config, + testers, + gurk-rs, }: rustPlatform.buildRustPackage rec { @@ -30,12 +31,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-jTZ2wJPXj3nU7GVTfne64eSra+JuKhNryCtRZMKOE44="; - nativeBuildInputs = [ protobuf pkg-config ]; + nativeBuildInputs = [ + protobuf + pkg-config + ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; - NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ "-framework" "AppKit" ]; + NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "-framework" + "AppKit" + ]; PROTOC = "${pkgsBuildHost.protobuf}/bin/protoc"; diff --git a/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix b/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix index 9ea22e864f430..af89a8d9f82a4 100644 --- a/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix +++ b/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix @@ -1,26 +1,29 @@ -{ stdenv -, jq -, hydrogen-web-unwrapped -, conf ? { } +{ + stdenv, + jq, + hydrogen-web-unwrapped, + conf ? { }, }: -if (conf == { }) then hydrogen-web-unwrapped else -stdenv.mkDerivation { - pname = "${hydrogen-web-unwrapped.pname}-wrapped"; - inherit (hydrogen-web-unwrapped) version meta; +if (conf == { }) then + hydrogen-web-unwrapped +else + stdenv.mkDerivation { + pname = "${hydrogen-web-unwrapped.pname}-wrapped"; + inherit (hydrogen-web-unwrapped) version meta; - dontUnpack = true; + dontUnpack = true; - nativeBuildInputs = [ jq ]; + nativeBuildInputs = [ jq ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out - ln -s ${hydrogen-web-unwrapped}/* $out - rm $out/config.json - jq -s '.[0] * $conf' "${hydrogen-web-unwrapped}/config.json" --argjson "conf" '${builtins.toJSON conf}' > "$out/config.json" + mkdir -p $out + ln -s ${hydrogen-web-unwrapped}/* $out + rm $out/config.json + jq -s '.[0] * $conf' "${hydrogen-web-unwrapped}/config.json" --argjson "conf" '${builtins.toJSON conf}' > "$out/config.json" - runHook postInstall - ''; -} + runHook postInstall + ''; + } diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix index fd830858ea7bc..c81355666be4d 100644 --- a/pkgs/applications/networking/instant-messengers/jackline/default.nix +++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: with ocamlPackages; @@ -9,9 +13,9 @@ buildDunePackage rec { minimalOCamlVersion = "4.13"; src = fetchFromGitHub { - owner = "hannesm"; - repo = "jackline"; - rev = "cf6b26e37e37b0b48be9fd2e74fc563375f757f0"; + owner = "hannesm"; + repo = "jackline"; + rev = "cf6b26e37e37b0b48be9fd2e74fc563375f757f0"; hash = "sha256-6QZZ77C1G3x/GOJsUEQMrCatVsyyxNjq36ez/TgeHSY="; }; diff --git a/pkgs/applications/networking/instant-messengers/kaidan/default.nix b/pkgs/applications/networking/instant-messengers/kaidan/default.nix index 497f9eef64ba9..63eb3776a97f3 100644 --- a/pkgs/applications/networking/instant-messengers/kaidan/default.nix +++ b/pkgs/applications/networking/instant-messengers/kaidan/default.nix @@ -1,22 +1,23 @@ -{ mkDerivation -, lib -, fetchFromGitLab -, cmake -, extra-cmake-modules -, pkg-config -, qtquickcontrols2 -, qtmultimedia -, qtlocation -, qqc2-desktop-style -, kirigami-addons -, kirigami2 -, kio -, knotifications -, kquickimageedit -, zxing-cpp -, qxmpp -, sonnet -, gst_all_1 +{ + mkDerivation, + lib, + fetchFromGitLab, + cmake, + extra-cmake-modules, + pkg-config, + qtquickcontrols2, + qtmultimedia, + qtlocation, + qqc2-desktop-style, + kirigami-addons, + kirigami2, + kio, + knotifications, + kquickimageedit, + zxing-cpp, + qxmpp, + sonnet, + gst_all_1, }: mkDerivation rec { @@ -31,7 +32,11 @@ mkDerivation rec { hash = "sha256-2UzXWd/fR5UwGywebYGWhh817x+VC76zmVaVZSBOg7M="; }; - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + pkg-config + ]; buildInputs = with gst_all_1; [ qtquickcontrols2 @@ -59,13 +64,13 @@ mkDerivation rec { description = "User-friendly and modern chat app, using XMPP"; mainProgram = "kaidan"; longDescription = '' - Kaidan is a user-friendly and modern chat app for every device. It uses - the open communication protocol XMPP (Jabber). Unlike other chat apps, - you are not dependent on one specific service provider. + Kaidan is a user-friendly and modern chat app for every device. It uses + the open communication protocol XMPP (Jabber). Unlike other chat apps, + you are not dependent on one specific service provider. - Kaidan does not have all basic features yet and has still some - stability issues. Current features include audio messages, video - messages, and file sharing. + Kaidan does not have all basic features yet and has still some + stability issues. Current features include audio messages, video + messages, and file sharing. ''; homepage = "https://www.kaidan.im"; license = with licenses; [ diff --git a/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix b/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix index 955c20c2c6f65..a0150fd677805 100644 --- a/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix +++ b/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkDerivation -, fetchFromSourcehut -, cmake -, extra-cmake-modules -, pkg-config -, kirigami2 -, libdeltachat -, qtbase -, qtimageformats -, qtmultimedia -, qtwebengine +{ + lib, + mkDerivation, + fetchFromSourcehut, + cmake, + extra-cmake-modules, + pkg-config, + kirigami2, + libdeltachat, + qtbase, + qtimageformats, + qtmultimedia, + qtwebengine, }: mkDerivation rec { @@ -39,9 +40,10 @@ mkDerivation rec { # needed for qmlplugindump to work QT_PLUGIN_PATH = "${qtbase.bin}/${qtbase.qtPluginPrefix}"; - QML2_IMPORT_PATH = lib.concatMapStringsSep ":" - (lib: "${lib}/${qtbase.qtQmlPrefix}") - [ kirigami2 qtmultimedia ]; + QML2_IMPORT_PATH = lib.concatMapStringsSep ":" (lib: "${lib}/${qtbase.qtQmlPrefix}") [ + kirigami2 + qtmultimedia + ]; meta = with lib; { description = "Delta Chat client using Kirigami framework"; diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix index 778e1dc9cf50c..b762d87a4866f 100644 --- a/pkgs/applications/networking/instant-messengers/linphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix @@ -1,19 +1,20 @@ -{ bctoolbox -, belcard -, belle-sip -, belr -, cmake -, fetchFromGitLab -, lib -, liblinphone -, mediastreamer -, mediastreamer-openh264 -, minizip-ng -, mkDerivation -, qtgraphicaleffects -, qtmultimedia -, qtquickcontrols2 -, qttools +{ + bctoolbox, + belcard, + belle-sip, + belr, + cmake, + fetchFromGitLab, + lib, + liblinphone, + mediastreamer, + mediastreamer-openh264, + minizip-ng, + mkDerivation, + qtgraphicaleffects, + qtmultimedia, + qtquickcontrols2, + qttools, }: # How to update Linphone? (The Qt desktop app) diff --git a/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix b/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix index 856aa55f132da..23df7627e6fa8 100644 --- a/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix +++ b/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix @@ -1,18 +1,19 @@ -{ lib -, fetchFromGitHub -, buildPythonApplication -, cacert -, setuptools -, matrix-nio -, python-magic -, markdown -, pillow -, aiofiles -, notify2 -, dbus-python -, pyxdg -, python-olm -, emoji +{ + lib, + fetchFromGitHub, + buildPythonApplication, + cacert, + setuptools, + matrix-nio, + python-magic, + markdown, + pillow, + aiofiles, + notify2, + dbus-python, + pyxdg, + python-olm, + emoji, }: buildPythonApplication rec { diff --git a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix index 8a6391892ae40..35e438c6a61f7 100644 --- a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix +++ b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, python3Packages -, fetchFromGitHub -, installShellFiles -, nixosTests -, enableDbusUi ? true -, wrapGAppsHook3 +{ + lib, + stdenv, + python3Packages, + fetchFromGitHub, + installShellFiles, + nixosTests, + enableDbusUi ? true, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { @@ -21,30 +22,34 @@ python3Packages.buildPythonApplication rec { hash = "sha256-yMhE3wKRbFHoL0vdFR8gMkNU7Su4FHbAwKQYADaaWpk="; }; - build-system = [ - installShellFiles - ] ++ (with python3Packages; [ - setuptools - ]); + build-system = + [ + installShellFiles + ] + ++ (with python3Packages; [ + setuptools + ]); pythonRelaxDeps = [ "matrix-nio" ]; - dependencies = with python3Packages; [ - aiohttp - appdirs - attrs - cachetools - click - janus - keyring - logbook - (matrix-nio.override { withOlm = true; }) - peewee - prompt-toolkit - ] - ++ lib.optionals enableDbusUi optional-dependencies.ui; + dependencies = + with python3Packages; + [ + aiohttp + appdirs + attrs + cachetools + click + janus + keyring + logbook + (matrix-nio.override { withOlm = true; }) + peewee + prompt-toolkit + ] + ++ lib.optionals enableDbusUi optional-dependencies.ui; optional-dependencies.ui = with python3Packages; [ dbus-python @@ -53,13 +58,15 @@ python3Packages.buildPythonApplication rec { pydbus ]; - nativeCheckInputs = with python3Packages; [ - aioresponses - faker - pytest-aiohttp - pytestCheckHook - ] - ++ lib.flatten (lib.attrValues optional-dependencies); + nativeCheckInputs = + with python3Packages; + [ + aioresponses + faker + pytest-aiohttp + pytestCheckHook + ] + ++ lib.flatten (lib.attrValues optional-dependencies); nativeBuildInputs = lib.optionals enableDbusUi [ wrapGAppsHook3 diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index e999c27cfb096..98fd9783704d6 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -1,41 +1,45 @@ -{ stdenv -, callPackage -, fetchurl -, makeWrapper -, aspell -, avahi -, cacert -, dbus -, dbus-glib -, farstream -, gettext -, gst_all_1 -, gtk2 -, gtk2-x11 -, gtkspell2 -, intltool -, lib -, libICE -, libSM -, libXScrnSaver -, libXext -, libgcrypt -, libgnt -, libidn -, libstartup_notification -, libxml2 -, ncurses -, nspr -, nss -, perlPackages -, pkg-config -, python3 -, pidgin -, plugins ? [] -, withOpenssl ? false, openssl -, withGnutls ? false , gnutls -, withCyrus_sasl ? true, cyrus_sasl -, pidginPackages +{ + stdenv, + callPackage, + fetchurl, + makeWrapper, + aspell, + avahi, + cacert, + dbus, + dbus-glib, + farstream, + gettext, + gst_all_1, + gtk2, + gtk2-x11, + gtkspell2, + intltool, + lib, + libICE, + libSM, + libXScrnSaver, + libXext, + libgcrypt, + libgnt, + libidn, + libstartup_notification, + libxml2, + ncurses, + nspr, + nss, + perlPackages, + pkg-config, + python3, + pidgin, + plugins ? [ ], + withOpenssl ? false, + openssl, + withGnutls ? false, + gnutls, + withCyrus_sasl ? true, + cyrus_sasl, + pidginPackages, }: # FIXME: clean the mess around choosing the SSL library (nss by default) @@ -50,41 +54,60 @@ let sha256 = "sha256-EgBJ3I4X4JoqfSVq/yGR/4SRq7hAyMfrMZoWHi3xa6g="; }; - nativeBuildInputs = [ makeWrapper intltool ]; + nativeBuildInputs = [ + makeWrapper + intltool + ]; env.NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"; - buildInputs = let - python-with-dbus = python3.withPackages (pp: with pp; [ dbus-python ]); - in [ - aspell - avahi - cyrus_sasl - dbus - dbus-glib - gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good - gst_all_1.gstreamer - libICE - libSM - libXScrnSaver - libXext - libgnt - libidn - libstartup_notification - libxml2 - ncurses # optional: build finch - the console UI - nspr - nss - python-with-dbus - ] - ++ lib.optional withOpenssl openssl - ++ lib.optionals withGnutls [ gnutls libgcrypt ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ gtk2 gtkspell2 farstream ] - ++ lib.optional stdenv.hostPlatform.isDarwin gtk2-x11; - + buildInputs = + let + python-with-dbus = python3.withPackages (pp: with pp; [ dbus-python ]); + in + [ + aspell + avahi + cyrus_sasl + dbus + dbus-glib + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer + libICE + libSM + libXScrnSaver + libXext + libgnt + libidn + libstartup_notification + libxml2 + ncurses # optional: build finch - the console UI + nspr + nss + python-with-dbus + ] + ++ lib.optional withOpenssl openssl + ++ lib.optionals withGnutls [ + gnutls + libgcrypt + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + gtk2 + gtkspell2 + farstream + ] + ++ lib.optional stdenv.hostPlatform.isDarwin gtk2-x11; - propagatedBuildInputs = [ pkg-config gettext ] - ++ (with perlPackages; [ perl XMLParser ]) + propagatedBuildInputs = + [ + pkg-config + gettext + ] + ++ (with perlPackages; [ + perl + XMLParser + ]) ++ lib.optional stdenv.hostPlatform.isLinux gtk2 ++ lib.optional stdenv.hostPlatform.isDarwin gtk2-x11; @@ -93,22 +116,29 @@ let ./pidgin-makefile.patch ]; - configureFlags = [ - "--with-nspr-includes=${nspr.dev}/include/nspr" - "--with-nspr-libs=${nspr.out}/lib" - "--with-nss-includes=${nss.dev}/include/nss" - "--with-nss-libs=${nss.out}/lib" - "--with-ncurses-headers=${ncurses.dev}/include" - "--with-system-ssl-certs=${cacert}/etc/ssl/certs" - "--disable-meanwhile" - "--disable-nm" - "--disable-tcl" - "--disable-gevolution" - ] - ++ lib.optionals withCyrus_sasl [ "--enable-cyrus-sasl=yes" ] - ++ lib.optionals withGnutls [ "--enable-gnutls=yes" "--enable-nss=no" ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--disable-gtkspell" "--disable-vv" ] - ++ lib.optionals stdenv.cc.isClang [ "CFLAGS=-Wno-error=int-conversion" ]; + configureFlags = + [ + "--with-nspr-includes=${nspr.dev}/include/nspr" + "--with-nspr-libs=${nspr.out}/lib" + "--with-nss-includes=${nss.dev}/include/nss" + "--with-nss-libs=${nss.out}/lib" + "--with-ncurses-headers=${ncurses.dev}/include" + "--with-system-ssl-certs=${cacert}/etc/ssl/certs" + "--disable-meanwhile" + "--disable-nm" + "--disable-tcl" + "--disable-gevolution" + ] + ++ lib.optionals withCyrus_sasl [ "--enable-cyrus-sasl=yes" ] + ++ lib.optionals withGnutls [ + "--enable-gnutls=yes" + "--enable-nss=no" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-gtkspell" + "--disable-vv" + ] + ++ lib.optionals stdenv.cc.isClang [ "CFLAGS=-Wno-error=int-conversion" ]; enableParallelBuilding = true; @@ -119,22 +149,26 @@ let doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; # In particular, this detects missing python imports in some of the tools. - postFixup = let - # TODO: python is a script, so it doesn't work as interpreter on darwin - binsToTest = lib.optionalString stdenv.hostPlatform.isLinux "purple-remote," + "pidgin,finch"; - in lib.optionalString doInstallCheck '' - for f in "''${!outputBin}"/bin/{${binsToTest}}; do - echo "Testing: $f --help" - "$f" --help - done - ''; + postFixup = + let + # TODO: python is a script, so it doesn't work as interpreter on darwin + binsToTest = lib.optionalString stdenv.hostPlatform.isLinux "purple-remote," + "pidgin,finch"; + in + lib.optionalString doInstallCheck '' + for f in "''${!outputBin}"/bin/{${binsToTest}}; do + echo "Testing: $f --help" + "$f" --help + done + ''; passthru = { makePluginPath = lib.makeSearchPathOutput "lib" "lib/purple-${lib.versions.major version}"; - withPlugins = pluginfn: callPackage ./wrapper.nix { - plugins = pluginfn pidginPackages; - pidgin = unwrapped; - }; + withPlugins = + pluginfn: + callPackage ./wrapper.nix { + plugins = pluginfn pidginPackages; + pidgin = unwrapped; + }; }; meta = { @@ -147,5 +181,5 @@ let }; }; -in if plugins == [] then unwrapped - else unwrapped.withPlugins (_: plugins) +in +if plugins == [ ] then unwrapped else unwrapped.withPlugins (_: plugins) diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix index d24504f8260ca..6333693e946d3 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, libxml2, pidgin, pkg-config, fetchFromGitHub } : +{ + lib, + stdenv, + libxml2, + pidgin, + pkg-config, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pidgin-carbons"; @@ -6,15 +13,18 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "gkdr"; - repo = "carbons"; - rev = "v${version}"; + repo = "carbons"; + rev = "v${version}"; sha256 = "sha256-qiyIvmJbRmCrAi/93UxDVtO76nSdtzUVfT/sZGxxAh8="; }; makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxml2 pidgin ]; + buildInputs = [ + libxml2 + pidgin + ]; meta = with lib; { homepage = "https://github.com/gkdr/carbons"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix index 09d7bed922ee7..6652781c75fcc 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix @@ -1,21 +1,29 @@ -{ lib -, newScope -, pidgin -, texliveBasic -, config +{ + lib, + newScope, + pidgin, + texliveBasic, + config, }: -lib.makeScope newScope (self: - let callPackage = self.callPackage; - in { +lib.makeScope newScope ( + self: + let + callPackage = self.callPackage; + in + { pidgin = callPackage ../. { withOpenssl = config.pidgin.openssl or true; withGnutls = config.pidgin.gnutls or false; - plugins = []; + plugins = [ ]; }; # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here. - pidginPackages = self // { pidginPackages = self.pidginPackages // { __attrsFailEvaluation = true; }; }; + pidginPackages = self // { + pidginPackages = self.pidginPackages // { + __attrsFailEvaluation = true; + }; + }; pidgin-indicator = callPackage ./pidgin-indicator { }; @@ -68,4 +76,5 @@ lib.makeScope newScope (self: pidgin-opensteamworks = callPackage ./pidgin-opensteamworks { }; purple-facebook = callPackage ./purple-facebook { }; -}) + } +) diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix index 7a761c1e91c86..1d50370c4be72 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, pidgin} : +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, +}: stdenv.mkDerivation rec { pname = "pidgin-msn-pecan"; @@ -21,5 +26,5 @@ stdenv.mkDerivation rec { "PURPLE_DATADIR=${placeholder "out"}/share/data" ]; - buildInputs = [pidgin]; + buildInputs = [ pidgin ]; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix index aa871df5e8af2..912afcc18e158 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libotr, pidgin, intltool } : +{ + lib, + stdenv, + fetchurl, + libotr, + pidgin, + intltool, +}: stdenv.mkDerivation rec { pname = "pidgin-otr"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr"; nativeBuildInputs = [ intltool ]; - buildInputs = [ libotr pidgin ]; + buildInputs = [ + libotr + pidgin + ]; meta = with lib; { homepage = "https://otr.cypherpunks.ca/"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix index ddc52274174d0..35002f0b57733 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix @@ -1,12 +1,13 @@ -{ autoreconfHook -, fetchFromGitHub -, glib -, intltool -, lib -, libappindicator-gtk2 -, libtool -, pidgin -, stdenv +{ + autoreconfHook, + fetchFromGitHub, + glib, + intltool, + lib, + libappindicator-gtk2, + libtool, + pidgin, + stdenv, }: stdenv.mkDerivation rec { @@ -20,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-CdA/aUu+CmCRbVBKpJGydicqFQa/rEsLWS3MBKlH2/M="; }; - nativeBuildInputs = [ autoreconfHook intltool ]; - buildInputs = [ glib libappindicator-gtk2 libtool pidgin ]; + nativeBuildInputs = [ + autoreconfHook + intltool + ]; + buildInputs = [ + glib + libappindicator-gtk2 + libtool + pidgin + ]; meta = with lib; { description = "AppIndicator and KStatusNotifierItem Plugin for Pidgin"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix index 1250e3877b96b..bdf455ea9ee9b 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, pidgin, texLive, imagemagick, glib, gtk2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + pidgin, + texLive, + imagemagick, + glib, + gtk2, +}: -let version = "1.5.0"; +let + version = "1.5.0"; in stdenv.mkDerivation { pname = "pidgin-latex"; @@ -11,8 +22,12 @@ stdenv.mkDerivation { sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441"; }; - nativeBuildInputs = [pkg-config]; - buildInputs = [gtk2 glib pidgin]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + gtk2 + glib + pidgin + ]; makeFlags = [ "PREFIX=$(out)" ]; postPatch = '' @@ -20,7 +35,12 @@ stdenv.mkDerivation { ''; passthru = { - wrapArgs = "--prefix PATH ':' ${lib.makeBinPath [ texLive imagemagick ]}"; + wrapArgs = "--prefix PATH ':' ${ + lib.makeBinPath [ + texLive + imagemagick + ] + }"; }; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix index 2c6a0c5e7e64a..9a53cd25f732e 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin } : +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + pidgin, +}: stdenv.mkDerivation rec { pname = "pidgin-mra"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix index ceeac0acd0c3c..3e2231c887d3d 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, glib, json-glib, nss, nspr -, libsecret -} : +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + pidgin, + glib, + json-glib, + nss, + nspr, + libsecret, +}: stdenv.mkDerivation rec { pname = "pidgin-opensteamworks"; @@ -24,7 +33,12 @@ stdenv.mkDerivation rec { pkg-config ]; buildInputs = [ - pidgin glib json-glib nss nspr libsecret + pidgin + glib + json-glib + nss + nspr + libsecret ]; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix index d50a3ed5c30f2..bc3d98542a722 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pidgin, xosd -, autoreconfHook } : +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, + xosd, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "pidgin-osd"; @@ -21,7 +27,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ xosd pidgin ]; + buildInputs = [ + xosd + pidgin + ]; meta = with lib; { homepage = "https://github.com/mbroemme/pidgin-osd"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix index fc877115ad15b..6c14b86281a11 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, json-glib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + pidgin, + json-glib, +}: stdenv.mkDerivation rec { pname = "pidgin-skypeweb"; @@ -16,7 +23,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ pidgin json-glib ]; + buildInputs = [ + pidgin + json-glib + ]; PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2"; PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix index f545b65cd8ea9..bae5df8c63339 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, pidgin } : +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, +}: let version = "0.8"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix index 8af6811d6a58c..bda6c8455ad82 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, imagemagick, gettext, pidgin, json-glib }: +{ + lib, + stdenv, + fetchFromGitHub, + imagemagick, + gettext, + pidgin, + json-glib, +}: stdenv.mkDerivation { pname = "purple-discord"; @@ -11,8 +19,14 @@ stdenv.mkDerivation { sha256 = "0xvj9rdvgsvcr55sk9m40y07rchg699l1yr98xqwx7sc2sba3814"; }; - nativeBuildInputs = [ imagemagick gettext ]; - buildInputs = [ pidgin json-glib ]; + nativeBuildInputs = [ + imagemagick + gettext + ]; + buildInputs = [ + pidgin + json-glib + ]; PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2"; PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix index b1078c864de67..2a7a5238ec41c 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchhg, pidgin, glib, json-glib, autoreconfHook }: - +{ + lib, + stdenv, + fetchFromGitHub, + fetchhg, + pidgin, + glib, + json-glib, + autoreconfHook, +}: let pidginHg = fetchhg { @@ -9,7 +17,8 @@ let sha256 = "06imlhsps4wrjgjb92zpaxprxfxl2pjb2x9pl859c8cryssrz2jv"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "purple-facebook"; version = "0.9.5"; @@ -54,7 +63,11 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ pidgin glib json-glib ]; + buildInputs = [ + pidgin + glib + json-glib + ]; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix index 4fb4a1c1c26dc..66d5d1605e24b 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pidgin, glib, json-glib, protobuf, protobufc }: +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, + glib, + json-glib, + protobuf, + protobufc, +}: stdenv.mkDerivation { pname = "purple-googlechat"; @@ -12,7 +21,12 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ protobufc ]; - buildInputs = [ pidgin glib json-glib protobuf ]; + buildInputs = [ + pidgin + glib + json-glib + protobuf + ]; PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2"; PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix index e3713afbec0eb..03efdd49513fd 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchhg, pidgin, glib, json-glib, protobuf, protobufc }: +{ + lib, + stdenv, + fetchhg, + pidgin, + glib, + json-glib, + protobuf, + protobufc, +}: stdenv.mkDerivation { pname = "purple-hangouts-hg"; @@ -10,7 +19,13 @@ stdenv.mkDerivation { sha256 = "1zd1rlzqvw1zkb0ydyz039n3xa1kv1f20a4l6rkm9a8sp6rpf3pi"; }; - buildInputs = [ pidgin glib json-glib protobuf protobufc ]; + buildInputs = [ + pidgin + glib + json-glib + protobuf + protobufc + ]; PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2"; PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix index 2348e1a877ec6..4f29ebdf3bb69 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pidgin, minixml, libxml2, sqlite, libgcrypt }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pidgin, + minixml, + libxml2, + sqlite, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "purple-lurch"; @@ -13,7 +23,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ pidgin minixml libxml2 sqlite libgcrypt ]; + buildInputs = [ + pidgin + minixml + libxml2 + sqlite + libgcrypt + ]; dontUseCmakeConfigure = true; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix index 0b51d172b7462..1c34b3381708e 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } : +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + pidgin, + json-glib, + glib, + http-parser, + sqlite, + olm, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "purple-matrix-unstable"; @@ -15,11 +27,20 @@ stdenv.mkDerivation rec { # glib-2.62 deprecations "-DGLIB_DISABLE_DEPRECATION_WARNINGS" # override "-O0 -Werror" set by build system - "-O3" "-Wno-error" + "-O3" + "-Wno-error" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ pidgin json-glib glib http-parser sqlite olm libgcrypt ]; + buildInputs = [ + pidgin + json-glib + glib + http-parser + sqlite + olm + libgcrypt + ]; makeFlags = [ "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2" diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix index 1b84b1a93ab22..b002d1f08eeca 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, glibmm, pidgin, pkg-config, modemmanager, fetchFromGitLab } : +{ + lib, + stdenv, + glibmm, + pidgin, + pkg-config, + modemmanager, + fetchFromGitLab, +}: stdenv.mkDerivation rec { pname = "purple-mm-sms"; @@ -18,7 +26,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glibmm pidgin modemmanager ]; + buildInputs = [ + glibmm + pidgin + modemmanager + ]; meta = with lib; { homepage = "https://source.puri.sm/Librem5/purple-mm-sms"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix index 388f633f3dabf..47c01b8538344 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pidgin +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pidgin, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix index c3ff29cb09fbe..ed295055c2bec 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pidgin, json-glib, signald }: +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, + json-glib, + signald, +}: stdenv.mkDerivation rec { pname = "purple-signald"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix index 9f5f9a2bda1e3..567b957c8aaab 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pidgin, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, + pkg-config, +}: stdenv.mkDerivation { pname = "purple-slack-unstable"; @@ -25,4 +31,3 @@ stdenv.mkDerivation { maintainers = with maintainers; [ eyjhb ]; }; } - diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix index 07b38ff3c5a27..ad3ad0d088a54 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchhg, pidgin, cmake, libxml2 } : +{ + lib, + stdenv, + fetchhg, + pidgin, + cmake, + libxml2, +}: let version = "40ddb6d"; @@ -14,7 +21,10 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ pidgin libxml2 ]; + buildInputs = [ + pidgin + libxml2 + ]; preConfigure = '' sed -i -e 's|DESTINATION.*PURPLE_PLUGIN_DIR}|DESTINATION lib/purple-2|' CMakeLists.txt diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix index c52082e06c908..8e70c8f6d2c4a 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pidgin, glib, libxml2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pidgin, + glib, + libxml2, +}: stdenv.mkDerivation { pname = "purple-xmpp-upload"; @@ -11,7 +18,11 @@ stdenv.mkDerivation { sha256 = "0n05jybmibn44xb660p08vrrbanfsyjn17w1xm9gwl75fxxq8cdc"; }; - buildInputs = [ pidgin glib libxml2 ]; + buildInputs = [ + pidgin + glib + libxml2 + ]; installPhase = '' install -Dm644 -t $out/lib/purple-2 jabber_http_file_upload.so diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix index 1cf7fed874e9d..37e69759286f8 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, pidgin, intltool, libxml2, gmime, nss }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pidgin, + intltool, + libxml2, + gmime, + nss, +}: stdenv.mkDerivation rec { pname = "pidgin-sipe"; @@ -24,7 +34,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ intltool ]; - buildInputs = [ pidgin gmime libxml2 nss ]; + buildInputs = [ + pidgin + gmime + libxml2 + nss + ]; configureFlags = [ "--without-dbus" "--enable-quality-check=no" diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix index 26c67b070e5e8..1e8bf780dcebf 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libwebp, pidgin, tdlib } : +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + libwebp, + pidgin, + tdlib, +}: stdenv.mkDerivation rec { pname = "tdlib-purple"; @@ -25,11 +34,17 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ libwebp pidgin tdlib ]; + buildInputs = [ + libwebp + pidgin + tdlib + ]; cmakeFlags = [ "-DNoVoip=True" ]; # libtgvoip required - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ "-U__ARM_NEON__" ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ "-U__ARM_NEON__" ] + ); meta = with lib; { homepage = "https://github.com/ars3niy/tdlib-purple"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix index bcc09b1f6481e..387ebbd9f3ce6 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pidgin } : +{ + lib, + stdenv, + fetchurl, + pidgin, +}: stdenv.mkDerivation rec { pname = "pidgin-window-merge"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix index a2885d7194f4b..8f24b2124503e 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix @@ -1,8 +1,15 @@ -{ lib, symlinkJoin, pidgin, makeWrapper, plugins }: +{ + lib, + symlinkJoin, + pidgin, + makeWrapper, + plugins, +}: let -extraArgs = map (x: x.wrapArgs or "") plugins; -in symlinkJoin { + extraArgs = map (x: x.wrapArgs or "") plugins; +in +symlinkJoin { name = "pidgin-with-plugins-${pidgin.version}"; paths = [ pidgin ] ++ plugins; diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix index 4687fd5f4ac3e..5ea2ed6bc1b3a 100644 --- a/pkgs/applications/networking/instant-messengers/profanity/default.nix +++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix @@ -1,29 +1,40 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf-archive -, autoreconfHook -, cmocka -, curl -, expat -, expect -, glib -, glibcLocales -, libstrophe -, libmicrohttpd -, libotr -, libuuid -, ncurses -, openssl -, pkg-config -, readline -, sqlite -, autoAwaySupport ? true, libXScrnSaver, libX11 -, notifySupport ? true, libnotify, gdk-pixbuf -, omemoSupport ? true, libsignal-protocol-c, libgcrypt, qrencode -, pgpSupport ? true, gpgme -, pythonPluginSupport ? true, python3 -, traySupport ? true, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf-archive, + autoreconfHook, + cmocka, + curl, + expat, + expect, + glib, + glibcLocales, + libstrophe, + libmicrohttpd, + libotr, + libuuid, + ncurses, + openssl, + pkg-config, + readline, + sqlite, + autoAwaySupport ? true, + libXScrnSaver, + libX11, + notifySupport ? true, + libnotify, + gdk-pixbuf, + omemoSupport ? true, + libsignal-protocol-c, + libgcrypt, + qrencode, + pgpSupport ? true, + gpgme, + pythonPluginSupport ? true, + python3, + traySupport ? true, + gtk3, }: stdenv.mkDerivation rec { @@ -50,36 +61,50 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - cmocka - curl - expat - expect - glib - libstrophe - libmicrohttpd - libotr - libuuid - ncurses - openssl - readline - sqlite - ] ++ lib.optionals autoAwaySupport [ libXScrnSaver libX11 ] - ++ lib.optionals notifySupport [ libnotify gdk-pixbuf ] - ++ lib.optionals omemoSupport [ libsignal-protocol-c libgcrypt qrencode ] - ++ lib.optionals pgpSupport [ gpgme ] + buildInputs = + [ + cmocka + curl + expat + expect + glib + libstrophe + libmicrohttpd + libotr + libuuid + ncurses + openssl + readline + sqlite + ] + ++ lib.optionals autoAwaySupport [ + libXScrnSaver + libX11 + ] + ++ lib.optionals notifySupport [ + libnotify + gdk-pixbuf + ] + ++ lib.optionals omemoSupport [ + libsignal-protocol-c + libgcrypt + qrencode + ] + ++ lib.optionals pgpSupport [ gpgme ] ++ lib.optionals pythonPluginSupport [ python3 ] - ++ lib.optionals traySupport [ gtk3 ]; + ++ lib.optionals traySupport [ gtk3 ]; # Enable feature flags, so that build fail if libs are missing - configureFlags = [ - "--enable-c-plugins" - "--enable-otr" - ] ++ lib.optionals notifySupport [ "--enable-notifications" ] - ++ lib.optionals traySupport [ "--enable-icons-and-clipboard" ] - ++ lib.optionals pgpSupport [ "--enable-pgp" ] + configureFlags = + [ + "--enable-c-plugins" + "--enable-otr" + ] + ++ lib.optionals notifySupport [ "--enable-notifications" ] + ++ lib.optionals traySupport [ "--enable-icons-and-clipboard" ] + ++ lib.optionals pgpSupport [ "--enable-pgp" ] ++ lib.optionals pythonPluginSupport [ "--enable-python-plugins" ] - ++ lib.optionals omemoSupport [ "--enable-omemo" ]; + ++ lib.optionals omemoSupport [ "--enable-omemo" ]; preAutoreconf = '' mkdir m4 @@ -89,7 +114,7 @@ stdenv.mkDerivation rec { LC_ALL = "en_US.utf8"; - meta = with lib; { + meta = with lib; { homepage = "http://www.profanity.im/"; description = "Console based XMPP client"; mainProgram = "profanity"; diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix index 519c2a0b66eca..8baa784990175 100644 --- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix +++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix @@ -1,36 +1,37 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, qtbase -, qtmultimedia -, qtimageformats -, qtx11extras -, qttools -, libidn -, qca-qt5 -, libXScrnSaver -, hunspell -, libsecret -, libgcrypt -, libotr -, html-tidy -, libgpg-error -, libsignal-protocol-c -, usrsctp +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + qtbase, + qtmultimedia, + qtimageformats, + qtx11extras, + qttools, + libidn, + qca-qt5, + libXScrnSaver, + hunspell, + libsecret, + libgcrypt, + libotr, + html-tidy, + libgpg-error, + libsignal-protocol-c, + usrsctp, -, chatType ? "basic" # See the assertion below for available options -, qtwebkit -, qtwebengine + chatType ? "basic", # See the assertion below for available options + qtwebkit, + qtwebengine, -, enablePlugins ? true + enablePlugins ? true, # Voice messages -, voiceMessagesSupport ? true -, gst_all_1 + voiceMessagesSupport ? true, + gst_all_1, -, enablePsiMedia ? false -, pkg-config + enablePsiMedia ? false, + pkg-config, }: assert builtins.elem (lib.toLower chatType) [ @@ -58,37 +59,43 @@ mkDerivation rec { "-DBUILD_PSIMEDIA=${if enablePsiMedia then "ON" else "OFF"}" ]; - nativeBuildInputs = [ - cmake - qttools - ] ++ lib.optionals enablePsiMedia [ - pkg-config - ]; + nativeBuildInputs = + [ + cmake + qttools + ] + ++ lib.optionals enablePsiMedia [ + pkg-config + ]; - buildInputs = [ - qtbase - qtmultimedia - qtimageformats - qtx11extras - libidn - qca-qt5 - libXScrnSaver - hunspell - libsecret - libgcrypt - libotr - html-tidy - libgpg-error - libsignal-protocol-c - usrsctp - ] ++ lib.optionals voiceMessagesSupport [ - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - ] ++ lib.optionals (chatType == "webkit") [ - qtwebkit - ] ++ lib.optionals (chatType == "webengine") [ - qtwebengine - ]; + buildInputs = + [ + qtbase + qtmultimedia + qtimageformats + qtx11extras + libidn + qca-qt5 + libXScrnSaver + hunspell + libsecret + libgcrypt + libotr + html-tidy + libgpg-error + libsignal-protocol-c + usrsctp + ] + ++ lib.optionals voiceMessagesSupport [ + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + ] + ++ lib.optionals (chatType == "webkit") [ + qtwebkit + ] + ++ lib.optionals (chatType == "webengine") [ + qtwebengine + ]; preFixup = lib.optionalString voiceMessagesSupport '' qtWrapperArgs+=( @@ -100,7 +107,10 @@ mkDerivation rec { homepage = "https://psi-plus.com"; description = "XMPP (Jabber) client based on Qt5"; mainProgram = "psi-plus"; - maintainers = with maintainers; [ orivej unclechu ]; + maintainers = with maintainers; [ + orivej + unclechu + ]; license = licenses.gpl2Only; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix index d1f0ce3b22859..0f386c884cc84 100644 --- a/pkgs/applications/networking/instant-messengers/psi/default.nix +++ b/pkgs/applications/networking/instant-messengers/psi/default.nix @@ -1,6 +1,17 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake -, qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine -, libidn, qca-qt5, libXScrnSaver, hunspell +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + qtbase, + qtmultimedia, + qtx11extras, + qttools, + qtwebengine, + libidn, + qca-qt5, + libXScrnSaver, + hunspell, }: mkDerivation rec { @@ -16,10 +27,19 @@ mkDerivation rec { patches = [ ./fix-cmake-hunspell-1.7.patch ]; - nativeBuildInputs = [ cmake qttools ]; + nativeBuildInputs = [ + cmake + qttools + ]; buildInputs = [ - qtbase qtmultimedia qtx11extras qtwebengine - libidn qca-qt5 libXScrnSaver hunspell + qtbase + qtmultimedia + qtx11extras + qtwebengine + libidn + qca-qt5 + libXScrnSaver + hunspell ]; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix index ef6bc08616c54..af2c5434bd684 100644 --- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix +++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, wrapQtAppsHook -, qtbase -, qtquickcontrols2 ? null # only a separate package on qt5 -, qtkeychain -, qtmultimedia -, qttools -, libquotient -, libsecret -, olm +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + wrapQtAppsHook, + qtbase, + qtquickcontrols2 ? null, # only a separate package on qt5 + qtkeychain, + qtmultimedia, + qttools, + libquotient, + libsecret, + olm, }: let @@ -38,7 +39,11 @@ stdenv.mkDerivation (finalAttrs: { qtquickcontrols2 ]; - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; # qt6 needs UTF env.LANG = "C.UTF-8"; @@ -49,14 +54,17 @@ stdenv.mkDerivation (finalAttrs: { ]; postInstall = - if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - mv $out/bin/quaternion.app $out/Applications - rmdir $out/bin || : - '' else '' - substituteInPlace $out/share/applications/com.github.quaternion.desktop \ - --replace 'Exec=quaternion' "Exec=$out/bin/quaternion" - ''; + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + mv $out/bin/quaternion.app $out/Applications + rmdir $out/bin || : + '' + else + '' + substituteInPlace $out/share/applications/com.github.quaternion.desktop \ + --replace 'Exec=quaternion' "Exec=$out/bin/quaternion" + ''; meta = with lib; { description = "Cross-platform desktop IM client for the Matrix protocol"; diff --git a/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix b/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix index 39403ba774fa3..9fccad174317a 100644 --- a/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix +++ b/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchzip }: +{ + stdenvNoCC, + lib, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ripcord"; diff --git a/pkgs/applications/networking/instant-messengers/ripcord/default.nix b/pkgs/applications/networking/instant-messengers/ripcord/default.nix index 7e40f880d2761..fdfa1fd0184e7 100644 --- a/pkgs/applications/networking/instant-messengers/ripcord/default.nix +++ b/pkgs/applications/networking/instant-messengers/ripcord/default.nix @@ -1,27 +1,67 @@ -{ lib, mkDerivation, fetchurl, makeFontsConf, appimageTools -, qtbase, qtsvg, qtmultimedia, qtwebsockets, qtimageformats -, autoPatchelfHook, desktop-file-utils, imagemagick -, twemoji-color-font, xorg, libsodium, libopus, libGL, alsa-lib }: +{ + lib, + mkDerivation, + fetchurl, + makeFontsConf, + appimageTools, + qtbase, + qtsvg, + qtmultimedia, + qtwebsockets, + qtimageformats, + autoPatchelfHook, + desktop-file-utils, + imagemagick, + twemoji-color-font, + xorg, + libsodium, + libopus, + libGL, + alsa-lib, +}: mkDerivation rec { pname = "ripcord"; version = "0.4.29"; - src = let - appimage = fetchurl { - url = "https://cancel.fm/dl/Ripcord-${version}-x86_64.AppImage"; - sha256 = "sha256-4yDLPEBDsPKWtLwdpmSyl3b5XCwLAr2/EVtNRrFmmJk="; - name = "${pname}-${version}.AppImage"; + src = + let + appimage = fetchurl { + url = "https://cancel.fm/dl/Ripcord-${version}-x86_64.AppImage"; + sha256 = "sha256-4yDLPEBDsPKWtLwdpmSyl3b5XCwLAr2/EVtNRrFmmJk="; + name = "${pname}-${version}.AppImage"; + }; + in + appimageTools.extract { + inherit pname version; + src = appimage; }; - in appimageTools.extract { - inherit pname version; - src = appimage; - }; - nativeBuildInputs = [ autoPatchelfHook desktop-file-utils imagemagick ]; - buildInputs = [ libsodium libopus libGL alsa-lib ] - ++ [ qtbase qtsvg qtmultimedia qtwebsockets qtimageformats ] - ++ (with xorg; [ libX11 libXScrnSaver libXcursor xkeyboardconfig ]); + nativeBuildInputs = [ + autoPatchelfHook + desktop-file-utils + imagemagick + ]; + buildInputs = + [ + libsodium + libopus + libGL + alsa-lib + ] + ++ [ + qtbase + qtsvg + qtmultimedia + qtwebsockets + qtimageformats + ] + ++ (with xorg; [ + libX11 + libXScrnSaver + libXcursor + xkeyboardconfig + ]); fontsConf = makeFontsConf { fontDirectories = [ twemoji-color-font ]; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client5.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client5.nix index c66c765a5038e..88884c6ba9d51 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client5.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client5.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, copyDesktopItems -, makeDesktopItem -, makeWrapper -, alsa-lib -, at-spi2-atk -, atk -, cairo -, cups -, dbus -, gcc-unwrapped -, gdk-pixbuf -, glib -, gtk3 -, libdrm -, libnotify -, libpulseaudio -, libxkbcommon -, mesa -, nss -, udev -, xorg +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + alsa-lib, + at-spi2-atk, + atk, + cairo, + cups, + dbus, + gcc-unwrapped, + gdk-pixbuf, + glib, + gtk3, + libdrm, + libnotify, + libpulseaudio, + libxkbcommon, + mesa, + nss, + udev, + xorg, }: stdenv.mkDerivation rec { @@ -74,7 +75,12 @@ stdenv.mkDerivation rec { icon = pname; desktopName = pname; comment = "TeamSpeak Voice Communication Client"; - categories = ["Audio" "AudioVideo" "Chat" "Network"]; + categories = [ + "Audio" + "AudioVideo" + "Chat" + "Network" + ]; }) ]; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix index d1be4c251fc70..ba8a5c5fa6105 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -1,19 +1,32 @@ -{ lib, stdenv, fetchurl, postgresql, autoPatchelfHook, writeScript }: +{ + lib, + stdenv, + fetchurl, + postgresql, + autoPatchelfHook, + writeScript, +}: let arch = if stdenv.hostPlatform.is64bit then "amd64" else "x86"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "teamspeak-server"; version = "3.13.7"; src = fetchurl { url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"; - sha256 = if stdenv.hostPlatform.is64bit - then "sha256-d1pXMamAmAHkyPkGbNm8ViobNoVTE5wSSfKgdA1QBB4=" - else "sha256-aMEDOnvBeKfzG8lDFhU8I5DYgG53IsCDBMV2MUyJi2g="; + sha256 = + if stdenv.hostPlatform.is64bit then + "sha256-d1pXMamAmAHkyPkGbNm8ViobNoVTE5wSSfKgdA1QBB4=" + else + "sha256-aMEDOnvBeKfzG8lDFhU8I5DYgG53IsCDBMV2MUyJi2g="; }; - buildInputs = [ stdenv.cc.cc postgresql.lib ]; + buildInputs = [ + stdenv.cc.cc + postgresql.lib + ]; nativeBuildInputs = [ autoPatchelfHook ]; @@ -62,6 +75,9 @@ in stdenv.mkDerivation rec { # See distribution-permit.txt for a confirmation that nixpkgs is allowed to distribute TeamSpeak. license = licenses.unfreeRedistributable; platforms = platforms.linux; - maintainers = with maintainers; [ arobyn gerschtli ]; + maintainers = with maintainers; [ + arobyn + gerschtli + ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix index d23ee405efc2f..efa7dffdae711 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, pythonOlder -, fetchpatch -, stdenv -, libnotify -, python-telegram +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pythonOlder, + fetchpatch, + stdenv, + libnotify, + python-telegram, }: buildPythonApplication rec { diff --git a/pkgs/applications/networking/instant-messengers/tensor/default.nix b/pkgs/applications/networking/instant-messengers/tensor/default.nix index 2a42692e412c2..1ee4fec5e564b 100644 --- a/pkgs/applications/networking/instant-messengers/tensor/default.nix +++ b/pkgs/applications/networking/instant-messengers/tensor/default.nix @@ -1,11 +1,12 @@ -{ mkDerivation -, lib -, stdenv -, fetchFromGitHub -, qtbase -, qtquickcontrols -, qmake -, makeDesktopItem +{ + mkDerivation, + lib, + stdenv, + fetchFromGitHub, + qtbase, + qtquickcontrols, + qmake, + makeDesktopItem, }: # we now have libqmatrixclient so a future version of tensor that supports it @@ -23,7 +24,10 @@ mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ qtbase qtquickcontrols ]; + buildInputs = [ + qtbase + qtquickcontrols + ]; nativeBuildInputs = [ qmake ]; desktopItem = makeDesktopItem { @@ -33,31 +37,38 @@ mkDerivation rec { comment = meta.description; desktopName = "Tensor Matrix Client"; genericName = meta.description; - categories = [ "Chat" "Utility" ]; + categories = [ + "Chat" + "Utility" + ]; mimeTypes = [ "application/x-chat" ]; }; - installPhase = if stdenv.hostPlatform.isDarwin then '' - runHook preInstall + installPhase = + if stdenv.hostPlatform.isDarwin then + '' + runHook preInstall - mkdir -p $out/Applications - cp -r tensor.app $out/Applications/tensor.app + mkdir -p $out/Applications + cp -r tensor.app $out/Applications/tensor.app - runHook postInstall - '' else '' - runHook preInstall + runHook postInstall + '' + else + '' + runHook preInstall - install -Dm755 tensor $out/bin/tensor - install -Dm644 client/logo.png \ - $out/share/icons/hicolor/512x512/apps/tensor.png - install -Dm644 ${desktopItem}/share/applications/tensor.desktop \ - $out/share/applications/tensor.desktop + install -Dm755 tensor $out/bin/tensor + install -Dm644 client/logo.png \ + $out/share/icons/hicolor/512x512/apps/tensor.png + install -Dm644 ${desktopItem}/share/applications/tensor.desktop \ + $out/share/applications/tensor.desktop - substituteInPlace $out/share/applications/tensor.desktop \ - --subst-var-by bin $out/bin/tensor + substituteInPlace $out/share/applications/tensor.desktop \ + --subst-var-by bin $out/bin/tensor - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { homepage = "https://github.com/davidar/tensor"; diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix index af00b360bf9b1..d86fad39c334b 100644 --- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix +++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix @@ -1,22 +1,23 @@ -{ lib -, fetchFromGitHub -, cmake -, libxml2 -, libsndfile -, file -, readline -, bison -, flex -, ucommon -, ccrtp -, qtbase -, qttools -, qtquickcontrols2 -, alsa-lib -, speex -, ilbc -, mkDerivation -, bcg729 +{ + lib, + fetchFromGitHub, + cmake, + libxml2, + libsndfile, + file, + readline, + bison, + flex, + ucommon, + ccrtp, + qtbase, + qttools, + qtquickcontrols2, + alsa-lib, + speex, + ilbc, + mkDerivation, + bcg729, }: mkDerivation rec { @@ -57,7 +58,7 @@ mkDerivation rec { "-DWITH_SPEEX=On" "-DWITH_ILBC=On" "-DHAVE_LIBATOMIC=atomic" - /* "-DWITH_DIAMONDCARD=On" seems ancient and broken */ + # "-DWITH_DIAMONDCARD=On" seems ancient and broken ]; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix index 6c703855039de..807d8f9fbbb66 100644 --- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix +++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, CoreServices -, Security -, SystemConfiguration +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + CoreServices, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -26,13 +27,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - Security - SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + SystemConfiguration + ]; meta = with lib; { description = "Twitch chat in the terminal"; diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix index fffda2fedfa84..b390d62ea9756 100644 --- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix +++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix @@ -1,14 +1,20 @@ -{ stdenv, lib, fetchFromGitHub -, qtbase -, qttools -, qtx11extras -, qtmultimedia -, qtwebkit -, wrapQtAppsHook -, cmake -, openssl -, xorgproto, libX11, libXScrnSaver -, xz, zlib +{ + stdenv, + lib, + fetchFromGitHub, + qtbase, + qttools, + qtx11extras, + qtmultimedia, + qtwebkit, + wrapQtAppsHook, + cmake, + openssl, + xorgproto, + libX11, + libXScrnSaver, + xz, + zlib, }: stdenv.mkDerivation { pname = "vacuum-im"; diff --git a/pkgs/applications/networking/irc/communi/default.nix b/pkgs/applications/networking/irc/communi/default.nix index 9c25ece8556b3..2d631994512bc 100644 --- a/pkgs/applications/networking/irc/communi/default.nix +++ b/pkgs/applications/networking/irc/communi/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, libcommuni -, qmake -, qtbase -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + libcommuni, + qmake, + qtbase, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -47,22 +48,27 @@ stdenv.mkDerivation rec { "COMMUNI_INSTALL_ICONS=${placeholder "out"}/share/icons/hicolor" "COMMUNI_INSTALL_DESKTOP=${placeholder "out"}/share/applications" "COMMUNI_INSTALL_THEMES=${placeholder "out"}/share/communi/themes" - "COMMUNI_INSTALL_BINS=${placeholder "out"}/${if stdenv.hostPlatform.isDarwin then "Applications" else "bin"}" + "COMMUNI_INSTALL_BINS=${placeholder "out"}/${ + if stdenv.hostPlatform.isDarwin then "Applications" else "bin" + }" ]; postInstall = - if stdenv.hostPlatform.isDarwin then '' - # Nix qmake does not add the bundle rpath by default. - install_name_tool \ - -add_rpath @executable_path/../Frameworks \ - $out/Applications/Communi.app/Contents/MacOS/Communi + if stdenv.hostPlatform.isDarwin then + '' + # Nix qmake does not add the bundle rpath by default. + install_name_tool \ + -add_rpath @executable_path/../Frameworks \ + $out/Applications/Communi.app/Contents/MacOS/Communi - # Do not remove until wrapQtAppsHook doesn't wrap dylibs in app bundles anymore - wrapQtApp $out/Applications/Communi.app/Contents/MacOS/Communi - '' else '' - substituteInPlace "$out/share/applications/communi.desktop" \ - --replace "/usr/bin" "$out/bin" - ''; + # Do not remove until wrapQtAppsHook doesn't wrap dylibs in app bundles anymore + wrapQtApp $out/Applications/Communi.app/Contents/MacOS/Communi + '' + else + '' + substituteInPlace "$out/share/applications/communi.desktop" \ + --replace "/usr/bin" "$out/bin" + ''; preFixup = '' rm -rf lib diff --git a/pkgs/applications/networking/irc/ii/default.nix b/pkgs/applications/networking/irc/ii/default.nix index 8fca009922527..fbab300a60bb3 100644 --- a/pkgs/applications/networking/irc/ii/default.nix +++ b/pkgs/applications/networking/irc/ii/default.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ii"; diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index 6e035b2bdbc2f..1495b2daca708 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, glib -, libgcrypt -, libintl -, libotr -, meson -, ncurses -, ninja -, openssl -, perl -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + glib, + libgcrypt, + libintl, + libotr, + meson, + ncurses, + ninja, + openssl, + perl, + pkg-config, }: stdenv.mkDerivation rec { @@ -51,7 +52,10 @@ stdenv.mkDerivation rec { mainProgram = "irssi"; homepage = "https://irssi.org"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ fab lovek323 ]; + maintainers = with maintainers; [ + fab + lovek323 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/irc/kvirc/default.nix b/pkgs/applications/networking/irc/kvirc/default.nix index eb443666764fd..c68b84fac1cb0 100644 --- a/pkgs/applications/networking/irc/kvirc/default.nix +++ b/pkgs/applications/networking/irc/kvirc/default.nix @@ -1,6 +1,14 @@ -{ lib, mkDerivation, fetchFromGitHub -, qtbase, qtmultimedia, qtsvg, qtx11extras -, pkg-config, cmake, gettext +{ + lib, + mkDerivation, + fetchFromGitHub, + qtbase, + qtmultimedia, + qtsvg, + qtx11extras, + pkg-config, + cmake, + gettext, }: mkDerivation rec { @@ -15,11 +23,16 @@ mkDerivation rec { }; buildInputs = [ - qtbase qtmultimedia qtsvg qtx11extras + qtbase + qtmultimedia + qtsvg + qtx11extras ]; nativeBuildInputs = [ - pkg-config cmake gettext + pkg-config + cmake + gettext ]; meta = with lib; { diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix index 1324ec21a0ae6..0807b51f6fca9 100644 --- a/pkgs/applications/networking/irc/quassel/default.nix +++ b/pkgs/applications/networking/irc/quassel/default.nix @@ -1,27 +1,40 @@ -{ monolithic ? true # build monolithic Quassel -, enableDaemon ? false # build Quassel daemon -, client ? false # build Quassel client -, tag ? "-kf5" # tag added to the package name -, static ? false # link statically +{ + monolithic ? true, # build monolithic Quassel + enableDaemon ? false, # build Quassel daemon + client ? false, # build Quassel client + tag ? "-kf5", # tag added to the package name + static ? false, # link statically -, lib, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf -, mkDerivation, qtbase, boost, zlib, qtscript -, phonon, libdbusmenu, qca-qt5, openldap + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + dconf, + mkDerivation, + qtbase, + boost, + zlib, + qtscript, + phonon, + libdbusmenu, + qca-qt5, + openldap, -, withKDE ? true # enable KDE integration -, extra-cmake-modules -, kconfigwidgets -, kcoreaddons -, knotifications -, knotifyconfig -, ktextwidgets -, kwidgetsaddons -, kxmlgui + withKDE ? true, # enable KDE integration + extra-cmake-modules, + kconfigwidgets, + kcoreaddons, + knotifications, + knotifyconfig, + ktextwidgets, + kwidgetsaddons, + kxmlgui, }: let - buildClient = monolithic || client; - buildCore = monolithic || enableDaemon; + buildClient = monolithic || client; + buildCore = monolithic || enableDaemon; in assert monolithic -> !client && !enableDaemon; @@ -29,9 +42,10 @@ assert client || enableDaemon -> !monolithic; assert !buildClient -> !withKDE; # KDE is used by the client only let - edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))]; + edf = flag: feature: [ ("-D" + feature + (if flag then "=ON" else "=OFF")) ]; -in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec { +in +(if !buildClient then stdenv.mkDerivation else mkDerivation) rec { pname = "quassel${tag}"; version = "0.14.0"; @@ -45,20 +59,41 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec { # Prevent ``undefined reference to `qt_version_tag''' in SSL check env.NIX_CFLAGS_COMPILE = "-DQT_NO_VERSION_TAGGING=1"; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ qtbase boost zlib ] - ++ lib.optionals buildCore [qtscript qca-qt5 openldap] - ++ lib.optionals buildClient [libdbusmenu phonon] + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = + [ + qtbase + boost + zlib + ] + ++ lib.optionals buildCore [ + qtscript + qca-qt5 + openldap + ] + ++ lib.optionals buildClient [ + libdbusmenu + phonon + ] ++ lib.optionals (buildClient && withKDE) [ - extra-cmake-modules kconfigwidgets kcoreaddons - knotifications knotifyconfig ktextwidgets kwidgetsaddons + extra-cmake-modules + kconfigwidgets + kcoreaddons + knotifications + knotifyconfig + ktextwidgets + kwidgetsaddons kxmlgui ]; - cmakeFlags = [ - "-DEMBED_DATA=OFF" - "-DUSE_QT5=ON" - ] + cmakeFlags = + [ + "-DEMBED_DATA=OFF" + "-DUSE_QT5=ON" + ] ++ edf static "STATIC" ++ edf monolithic "WANT_MONO" ++ edf enableDaemon "WANT_CORE" @@ -71,8 +106,8 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec { postFixup = lib.optionalString enableDaemon '' wrapProgram "$out/bin/quasselcore" --suffix PATH : "${qtbase.bin}/bin" - '' + - lib.optionalString buildClient '' + '' + + lib.optionalString buildClient '' wrapQtApp "$out/bin/quassel${lib.optionalString client "client"}" \ --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" ''; diff --git a/pkgs/applications/networking/irc/tiny/default.nix b/pkgs/applications/networking/irc/tiny/default.nix index fa8f3edf5ad6e..6a875fcceedd5 100644 --- a/pkgs/applications/networking/irc/tiny/default.nix +++ b/pkgs/applications/networking/irc/tiny/default.nix @@ -1,13 +1,16 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, Foundation -, dbusSupport ? stdenv.hostPlatform.isLinux, dbus -# rustls will be used for TLS if useOpenSSL=false -, useOpenSSL ? stdenv.hostPlatform.isLinux, openssl -, notificationSupport ? stdenv.hostPlatform.isLinux +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + Foundation, + dbusSupport ? stdenv.hostPlatform.isLinux, + dbus, + # rustls will be used for TLS if useOpenSSL=false + useOpenSSL ? stdenv.hostPlatform.isLinux, + openssl, + notificationSupport ? stdenv.hostPlatform.isLinux, }: rustPlatform.buildRustPackage rec { @@ -24,9 +27,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-AhQCfLCoJU7o8s+XL3hDOPmZi9QjOxXSA9uglA1KSuY="; nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux pkg-config; - buildInputs = lib.optionals dbusSupport [ dbus ] - ++ lib.optionals useOpenSSL [ openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; + buildInputs = + lib.optionals dbusSupport [ dbus ] + ++ lib.optionals useOpenSSL [ openssl ] + ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; buildFeatures = lib.optional notificationSupport "desktop-notifications"; @@ -35,7 +39,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/osa1/tiny"; changelog = "https://github.com/osa1/tiny/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne vyp ]; + maintainers = with maintainers; [ + Br1ght0ne + vyp + ]; mainProgram = "tiny"; }; } diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index 800d5e41bb3f8..d647126750dcc 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -1,17 +1,43 @@ -{ stdenv, fetchurl, lib -, ncurses, openssl, aspell, cjson, gnutls, gettext -, zlib, curl, pkg-config, libgcrypt -, cmake, libobjc, libresolv, libiconv -, asciidoctor # manpages -, enableTests ? !stdenv.hostPlatform.isDarwin, cpputest -, guileSupport ? true, guile -, luaSupport ? true, lua5 -, perlSupport ? true, perl -, pythonSupport ? true, python3Packages -, rubySupport ? true, ruby -, tclSupport ? true, tcl -, phpSupport ? !stdenv.hostPlatform.isDarwin, php, systemd, libxml2, pcre2, libargon2 -, extraBuildInputs ? [] +{ + stdenv, + fetchurl, + lib, + ncurses, + openssl, + aspell, + cjson, + gnutls, + gettext, + zlib, + curl, + pkg-config, + libgcrypt, + cmake, + libobjc, + libresolv, + libiconv, + asciidoctor, # manpages + enableTests ? !stdenv.hostPlatform.isDarwin, + cpputest, + guileSupport ? true, + guile, + luaSupport ? true, + lua5, + perlSupport ? true, + perl, + pythonSupport ? true, + python3Packages, + rubySupport ? true, + ruby, + tclSupport ? true, + tcl, + phpSupport ? !stdenv.hostPlatform.isDarwin, + php, + systemd, + libxml2, + pcre2, + libargon2, + extraBuildInputs ? [ ], }: let @@ -21,82 +47,142 @@ let apxs2Support = false; }; plugins = [ - { name = "perl"; enabled = perlSupport; cmakeFlag = "ENABLE_PERL"; buildInputs = [ perl ]; } - { name = "tcl"; enabled = tclSupport; cmakeFlag = "ENABLE_TCL"; buildInputs = [ tcl ]; } - { name = "ruby"; enabled = rubySupport; cmakeFlag = "ENABLE_RUBY"; buildInputs = [ ruby ]; } - { name = "guile"; enabled = guileSupport; cmakeFlag = "ENABLE_GUILE"; buildInputs = [ guile ]; } - { name = "lua"; enabled = luaSupport; cmakeFlag = "ENABLE_LUA"; buildInputs = [ lua5 ]; } - { name = "python"; enabled = pythonSupport; cmakeFlag = "ENABLE_PYTHON3"; buildInputs = [ python ]; } - { name = "php"; enabled = phpSupport; cmakeFlag = "ENABLE_PHP"; buildInputs = [ - php-embed.unwrapped.dev libxml2 pcre2 libargon2 - ] ++ lib.optional stdenv.hostPlatform.isLinux systemd; } + { + name = "perl"; + enabled = perlSupport; + cmakeFlag = "ENABLE_PERL"; + buildInputs = [ perl ]; + } + { + name = "tcl"; + enabled = tclSupport; + cmakeFlag = "ENABLE_TCL"; + buildInputs = [ tcl ]; + } + { + name = "ruby"; + enabled = rubySupport; + cmakeFlag = "ENABLE_RUBY"; + buildInputs = [ ruby ]; + } + { + name = "guile"; + enabled = guileSupport; + cmakeFlag = "ENABLE_GUILE"; + buildInputs = [ guile ]; + } + { + name = "lua"; + enabled = luaSupport; + cmakeFlag = "ENABLE_LUA"; + buildInputs = [ lua5 ]; + } + { + name = "python"; + enabled = pythonSupport; + cmakeFlag = "ENABLE_PYTHON3"; + buildInputs = [ python ]; + } + { + name = "php"; + enabled = phpSupport; + cmakeFlag = "ENABLE_PHP"; + buildInputs = [ + php-embed.unwrapped.dev + libxml2 + pcre2 + libargon2 + ] ++ lib.optional stdenv.hostPlatform.isLinux systemd; + } ]; enabledPlugins = builtins.filter (p: p.enabled) plugins; - in - assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins; - stdenv.mkDerivation rec { - version = "4.4.4"; - pname = "weechat"; +in +assert lib.all (p: p.enabled -> !(builtins.elem null p.buildInputs)) plugins; +stdenv.mkDerivation rec { + version = "4.4.4"; + pname = "weechat"; - hardeningEnable = [ "pie" ]; + hardeningEnable = [ "pie" ]; - src = fetchurl { - url = "https://weechat.org/files/src/weechat-${version}.tar.xz"; - hash = "sha256-qPS7dow9asPqHrTm3Hp7su4ZtzSnLMWOBjR22ujz0Hc="; - }; + src = fetchurl { + url = "https://weechat.org/files/src/weechat-${version}.tar.xz"; + hash = "sha256-qPS7dow9asPqHrTm3Hp7su4ZtzSnLMWOBjR22ujz0Hc="; + }; - # Why is this needed? https://github.com/weechat/weechat/issues/2031 - patches = lib.optional gettext.gettextNeedsLdflags ./gettext-intl.patch; + # Why is this needed? https://github.com/weechat/weechat/issues/2031 + patches = lib.optional gettext.gettextNeedsLdflags ./gettext-intl.patch; - outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins; + outputs = [ + "out" + "man" + ] ++ map (p: p.name) enabledPlugins; - cmakeFlags = [ - "-DENABLE_MAN=ON" - "-DENABLE_DOC=ON" - "-DENABLE_DOC_INCOMPLETE=ON" - "-DENABLE_TESTS=${if enableTests then "ON" else "OFF"}" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib"] - ++ map (p: "-D${p.cmakeFlag}=" + (if p.enabled then "ON" else "OFF")) plugins - ; + cmakeFlags = + [ + "-DENABLE_MAN=ON" + "-DENABLE_DOC=ON" + "-DENABLE_DOC_INCOMPLETE=ON" + "-DENABLE_TESTS=${if enableTests then "ON" else "OFF"}" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" ] + ++ map (p: "-D${p.cmakeFlag}=" + (if p.enabled then "ON" else "OFF")) plugins; - nativeBuildInputs = [ cmake pkg-config asciidoctor ] ++ lib.optional enableTests cpputest; - buildInputs = [ ncurses openssl aspell cjson gnutls gettext zlib curl libgcrypt ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc libresolv ] - ++ lib.concatMap (p: p.buildInputs) enabledPlugins - ++ extraBuildInputs; + nativeBuildInputs = [ + cmake + pkg-config + asciidoctor + ] ++ lib.optional enableTests cpputest; + buildInputs = + [ + ncurses + openssl + aspell + cjson + gnutls + gettext + zlib + curl + libgcrypt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + libresolv + ] + ++ lib.concatMap (p: p.buildInputs) enabledPlugins + ++ extraBuildInputs; - env.NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}" - # Fix '_res_9_init: undefined symbol' error - + (lib.optionalString stdenv.hostPlatform.isDarwin "-DBIND_8_COMPAT=1 -lresolv"); + env.NIX_CFLAGS_COMPILE = + "-I${python}/include/${python.libPrefix}" + # Fix '_res_9_init: undefined symbol' error + + (lib.optionalString stdenv.hostPlatform.isDarwin "-DBIND_8_COMPAT=1 -lresolv"); - postInstall = '' - for p in ${lib.concatMapStringsSep " " (p: p.name) enabledPlugins}; do - from=$out/lib/weechat/plugins/$p.so - to=''${!p}/lib/weechat/plugins/$p.so - mkdir -p $(dirname $to) - mv $from $to - done - ''; + postInstall = '' + for p in ${lib.concatMapStringsSep " " (p: p.name) enabledPlugins}; do + from=$out/lib/weechat/plugins/$p.so + to=''${!p}/lib/weechat/plugins/$p.so + mkdir -p $(dirname $to) + mv $from $to + done + ''; - doInstallCheck = true; - installCheckPhase = '' - $out/bin/weechat --version - ''; + doInstallCheck = true; + installCheckPhase = '' + $out/bin/weechat --version + ''; - meta = { - homepage = "https://weechat.org/"; - changelog = "https://weechat.org/files/doc/weechat/ChangeLog-${version}.html"; - description = "Fast, light and extensible chat client"; - longDescription = '' - You can find more documentation as to how to customize this package - (e.g. adding python modules for scripts that would require them, etc.) - on https://nixos.org/nixpkgs/manual/#sec-weechat . - ''; - license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ ncfavier ]; - mainProgram = "weechat"; - platforms = lib.platforms.unix; - }; - } + meta = { + homepage = "https://weechat.org/"; + changelog = "https://weechat.org/files/doc/weechat/ChangeLog-${version}.html"; + description = "Fast, light and extensible chat client"; + longDescription = '' + You can find more documentation as to how to customize this package + (e.g. adding python modules for scripts that would require them, etc.) + on https://nixos.org/nixpkgs/manual/#sec-weechat . + ''; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ ncfavier ]; + mainProgram = "weechat"; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix b/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix index 6cbcc117af040..5758822dbdae5 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, weechat }: +{ + lib, + stdenv, + fetchurl, + weechat, +}: stdenv.mkDerivation { pname = "weechat-autosort"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix b/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix index 9ef4929629924..7def5ecf90af7 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, weechat }: +{ + lib, + stdenv, + fetchurl, + weechat, +}: stdenv.mkDerivation { pname = "buffer_autoset"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/colorize_nicks/default.nix b/pkgs/applications/networking/irc/weechat/scripts/colorize_nicks/default.nix index 0b6d355797f30..7cdb408c2f674 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/colorize_nicks/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/colorize_nicks/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, weechat }: +{ + stdenv, + lib, + fetchurl, + weechat, +}: stdenv.mkDerivation { pname = "weechat-colorize_nicks"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix index 1825ee3f5d7aa..0d3805b366dc1 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix @@ -1,4 +1,9 @@ -{ callPackage, luaPackages, perlPackages, python3Packages }: +{ + callPackage, + luaPackages, + perlPackages, + python3Packages, +}: { autosort = callPackage ./autosort { }; diff --git a/pkgs/applications/networking/irc/weechat/scripts/edit/default.nix b/pkgs/applications/networking/irc/weechat/scripts/edit/default.nix index b510c17ac1e9c..b89971bc06865 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/edit/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/edit/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, weechat }: +{ + lib, + stdenv, + fetchFromGitHub, + weechat, +}: stdenv.mkDerivation rec { pname = "edit-weechat"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix b/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix index d221a0cf972c4..5238eb27b17a9 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, weechat }: +{ + lib, + stdenv, + fetchurl, + weechat, +}: stdenv.mkDerivation { pname = "highmon"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix b/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix index f61b4391e18dd..a54078a15299c 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, substituteAll, PodParser }: +{ + stdenv, + lib, + fetchurl, + substituteAll, + PodParser, +}: stdenv.mkDerivation { pname = "multiline"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix b/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix index 38df127d14cf0..b72c4c0963313 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/url_hint/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, weechat }: +{ + lib, + stdenv, + fetchurl, + weechat, +}: stdenv.mkDerivation { pname = "url_hint"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix index 88a3656011460..a21001ab84f2e 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchpatch, substituteAll, buildEnv, fetchFromGitHub, python3Packages }: +{ + lib, + stdenv, + fetchpatch, + substituteAll, + buildEnv, + fetchFromGitHub, + python3Packages, +}: stdenv.mkDerivation rec { pname = "wee-slack"; @@ -14,13 +22,15 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./libpath.patch; - env = "${buildEnv { - name = "wee-slack-env"; - paths = with python3Packages; [ - websocket-client - six - ]; - }}/${python3Packages.python.sitePackages}"; + env = "${ + buildEnv { + name = "wee-slack-env"; + paths = with python3Packages; [ + websocket-client + six + ]; + } + }/${python3Packages.python.sitePackages}"; }) ./load_weemoji_path.patch ]; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix index 010470c6fbaab..c26792dbc0a2f 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-autosort/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "weechat-autosort"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix index 623b2570b475a..e4bbde3915585 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, weechat }: +{ + lib, + stdenv, + fetchurl, + weechat, +}: stdenv.mkDerivation { pname = "weechat-go"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-grep/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-grep/default.nix index efc575bd3e29c..de1b34576a0b1 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-grep/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-grep/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "weechat-grep"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix index 22eb0849cc4a0..3434f8d4047a5 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, curl, fetchFromGitHub, cjson, olm, luaffi }: +{ + lib, + stdenv, + curl, + fetchFromGitHub, + cjson, + olm, + luaffi, +}: stdenv.mkDerivation { pname = "weechat-matrix-bridge"; @@ -14,7 +22,12 @@ stdenv.mkDerivation { ./library-path.patch ]; - buildInputs = [ curl cjson olm luaffi ]; + buildInputs = [ + curl + cjson + olm + luaffi + ]; postPatch = '' substituteInPlace matrix.lua \ diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix index 265065a445e3c..0a9765549b633 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix @@ -1,29 +1,33 @@ -{ buildPythonPackage -, lib -, python -, fetchFromGitHub -, fetchpatch -, pyopenssl -, webcolors -, future -, atomicwrites -, attrs -, logbook -, pygments -, matrix-nio -, aiohttp -, requests +{ + buildPythonPackage, + lib, + python, + fetchFromGitHub, + fetchpatch, + pyopenssl, + webcolors, + future, + atomicwrites, + attrs, + logbook, + pygments, + matrix-nio, + aiohttp, + requests, }: let - scriptPython = python.withPackages (ps: with ps; [ - aiohttp - requests - python-magic - ]); + scriptPython = python.withPackages ( + ps: with ps; [ + aiohttp + requests + python-magic + ] + ); version = "0.3.0"; -in buildPythonPackage { +in +buildPythonPackage { pname = "weechat-matrix"; inherit version; @@ -44,7 +48,7 @@ in buildPythonPackage { (fetchpatch { url = "https://github.com/poljar/weechat-matrix/commit/feae9fda26ea9de98da9cd6733980a203115537e.patch"; hash = "sha256-MAfxJ85dqz5PNwp/GJdHA2VvXVdWh+Ayx5g0oHiw9rs="; - includes = ["matrix/config.py"]; + includes = [ "matrix/config.py" ]; }) ]; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix index abd289d990375..5aebaf7c82cf8 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libnotify }: +{ + lib, + stdenv, + fetchFromGitHub, + libnotify, +}: stdenv.mkDerivation rec { pname = "weechat-notify-send"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix index fd5f376ad2636..717cec1dc3413 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, substituteAll, buildEnv, fetchgit, fetchFromGitHub, python3Packages, gmp }: +{ + lib, + stdenv, + substituteAll, + buildEnv, + fetchgit, + fetchFromGitHub, + python3Packages, + gmp, +}: let # pure-python-otr (potr) requires an older version of pycrypto, which is @@ -36,7 +45,8 @@ let potr = python3Packages.potr.overridePythonAttrs (oldAttrs: { propagatedBuildInputs = [ pycrypto ]; }); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "weechat-otr"; version = "1.9.2"; @@ -50,10 +60,15 @@ in stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./libpath.patch; - env = "${buildEnv { - name = "weechat-otr-env"; - paths = [ potr pycrypto ]; - }}/${python3Packages.python.sitePackages}"; + env = "${ + buildEnv { + name = "weechat-otr-env"; + paths = [ + potr + pycrypto + ]; + } + }/${python3Packages.python.sitePackages}"; }) ]; diff --git a/pkgs/applications/networking/irc/weechat/scripts/zncplayback/default.nix b/pkgs/applications/networking/irc/weechat/scripts/zncplayback/default.nix index d15b130cae280..71bd89d3ec152 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/zncplayback/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/zncplayback/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "weechat-zncplayback"; diff --git a/pkgs/applications/networking/irc/weechat/wrapper.nix b/pkgs/applications/networking/irc/weechat/wrapper.nix index 353b7ffd6fda4..019b730608a52 100644 --- a/pkgs/applications/networking/irc/weechat/wrapper.nix +++ b/pkgs/applications/networking/irc/weechat/wrapper.nix @@ -1,97 +1,129 @@ -{ lib, runCommand, writeScriptBin, buildEnv -, python3Packages, perlPackages, runtimeShell +{ + lib, + runCommand, + writeScriptBin, + buildEnv, + python3Packages, + perlPackages, + runtimeShell, }: weechat: let - wrapper = { - installManPages ? true - , configure ? { availablePlugins, ... }: { - # Do not include PHP by default, because it bloats the closure, doesn't - # build on Darwin, and there are no official PHP scripts. - plugins = builtins.attrValues (builtins.removeAttrs availablePlugins [ "php" ]); - } - }: + wrapper = + { + installManPages ? true, + configure ? + { availablePlugins, ... }: + { + # Do not include PHP by default, because it bloats the closure, doesn't + # build on Darwin, and there are no official PHP scripts. + plugins = builtins.attrValues (builtins.removeAttrs availablePlugins [ "php" ]); + }, + }: - let - perlInterpreter = perlPackages.perl; - availablePlugins = let - simplePlugin = name: {pluginFile = "${weechat.${name}}/lib/weechat/plugins/${name}.so";}; - in rec { - python = (simplePlugin "python") // { - extraEnv = '' - export PATH="${python3Packages.python}/bin:$PATH" - ''; - withPackages = pkgsFun: (python // { + let + perlInterpreter = perlPackages.perl; + availablePlugins = + let + simplePlugin = name: { pluginFile = "${weechat.${name}}/lib/weechat/plugins/${name}.so"; }; + in + rec { + python = (simplePlugin "python") // { extraEnv = '' - ${python.extraEnv} - export PYTHONHOME="${python3Packages.python.withPackages pkgsFun}" + export PATH="${python3Packages.python}/bin:$PATH" ''; - }); - }; - perl = (simplePlugin "perl") // { - extraEnv = '' - export PATH="${perlInterpreter}/bin:$PATH" - ''; - withPackages = pkgsFun: (perl // { + withPackages = + pkgsFun: + ( + python + // { + extraEnv = '' + ${python.extraEnv} + export PYTHONHOME="${python3Packages.python.withPackages pkgsFun}" + ''; + } + ); + }; + perl = (simplePlugin "perl") // { extraEnv = '' - ${perl.extraEnv} - export PERL5LIB=${perlPackages.makeFullPerlPath (pkgsFun perlPackages)} + export PATH="${perlInterpreter}/bin:$PATH" ''; - }); + withPackages = + pkgsFun: + ( + perl + // { + extraEnv = '' + ${perl.extraEnv} + export PERL5LIB=${perlPackages.makeFullPerlPath (pkgsFun perlPackages)} + ''; + } + ); + }; + tcl = simplePlugin "tcl"; + ruby = simplePlugin "ruby"; + guile = simplePlugin "guile"; + lua = simplePlugin "lua"; + php = simplePlugin "php"; }; - tcl = simplePlugin "tcl"; - ruby = simplePlugin "ruby"; - guile = simplePlugin "guile"; - lua = simplePlugin "lua"; - php = simplePlugin "php"; - }; - config = configure { inherit availablePlugins; }; + config = configure { inherit availablePlugins; }; - plugins = config.plugins or (builtins.attrValues availablePlugins); + plugins = config.plugins or (builtins.attrValues availablePlugins); - pluginsDir = runCommand "weechat-plugins" {} '' - mkdir -p $out/plugins - for plugin in ${lib.concatMapStringsSep " " (p: p.pluginFile) plugins} ; do - ln -s $plugin $out/plugins - done - ''; + pluginsDir = runCommand "weechat-plugins" { } '' + mkdir -p $out/plugins + for plugin in ${lib.concatMapStringsSep " " (p: p.pluginFile) plugins} ; do + ln -s $plugin $out/plugins + done + ''; - init = let - init = builtins.replaceStrings [ "\n" ] [ ";" ] (config.init or ""); + init = + let + init = builtins.replaceStrings [ "\n" ] [ ";" ] (config.init or ""); - mkScript = drv: lib.forEach drv.scripts (script: "/script load ${drv}/share/${script}"); + mkScript = drv: lib.forEach drv.scripts (script: "/script load ${drv}/share/${script}"); - scripts = builtins.concatStringsSep ";" (lib.foldl (scripts: drv: scripts ++ mkScript drv) - [ ] (config.scripts or [])); - in "${scripts};${init}"; + scripts = builtins.concatStringsSep ";" ( + lib.foldl (scripts: drv: scripts ++ mkScript drv) [ ] (config.scripts or [ ]) + ); + in + "${scripts};${init}"; - mkWeechat = bin: (writeScriptBin bin '' - #!${runtimeShell} - export WEECHAT_EXTRA_LIBDIR=${pluginsDir} - ${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins} - exec ${weechat}/bin/${bin} "$@" --run-command ${lib.escapeShellArg init} - '') // { - inherit (weechat) name man; - unwrapped = weechat; - outputs = [ "out" "man" ]; + mkWeechat = + bin: + (writeScriptBin bin '' + #!${runtimeShell} + export WEECHAT_EXTRA_LIBDIR=${pluginsDir} + ${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins} + exec ${weechat}/bin/${bin} "$@" --run-command ${lib.escapeShellArg init} + '') + // { + inherit (weechat) name man; + unwrapped = weechat; + outputs = [ + "out" + "man" + ]; + }; + in + buildEnv { + name = "weechat-bin-env-${weechat.version}"; + extraOutputsToInstall = lib.optionals installManPages [ "man" ]; + paths = [ + (mkWeechat "weechat") + (mkWeechat "weechat-headless") + (runCommand "weechat-out-except-bin" { } '' + mkdir $out + ln -sf ${weechat}/include $out/include + ln -sf ${weechat}/lib $out/lib + ln -sf ${weechat}/share $out/share + '') + ]; + meta = builtins.removeAttrs weechat.meta [ "outputsToInstall" ]; }; - in buildEnv { - name = "weechat-bin-env-${weechat.version}"; - extraOutputsToInstall = lib.optionals installManPages [ "man" ]; - paths = [ - (mkWeechat "weechat") - (mkWeechat "weechat-headless") - (runCommand "weechat-out-except-bin" { } '' - mkdir $out - ln -sf ${weechat}/include $out/include - ln -sf ${weechat}/lib $out/lib - ln -sf ${weechat}/share $out/share - '') - ]; - meta = builtins.removeAttrs weechat.meta [ "outputsToInstall" ]; - }; -in lib.makeOverridable wrapper +in +lib.makeOverridable wrapper diff --git a/pkgs/applications/networking/irc/wraith/default.nix b/pkgs/applications/networking/irc/wraith/default.nix index c046a0c2d7f99..1a6f26aa2699d 100644 --- a/pkgs/applications/networking/irc/wraith/default.nix +++ b/pkgs/applications/networking/irc/wraith/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, openssl }: +{ + lib, + stdenv, + fetchurl, + openssl, +}: stdenv.mkDerivation rec { pname = "wraith"; @@ -9,7 +14,10 @@ stdenv.mkDerivation rec { }; hardeningDisable = [ "format" ]; buildInputs = [ openssl ]; - patches = [ ./configure.patch ./dlopen.patch ]; + patches = [ + ./configure.patch + ./dlopen.patch + ]; postPatch = '' substituteInPlace configure --subst-var-by openssl.dev ${openssl.dev} \ --subst-var-by openssl-lib ${lib.getLib openssl} diff --git a/pkgs/applications/networking/ktailctl/default.nix b/pkgs/applications/networking/ktailctl/default.nix index 2c028fda4285e..e40525734b9a7 100644 --- a/pkgs/applications/networking/ktailctl/default.nix +++ b/pkgs/applications/networking/ktailctl/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildGo123Module -, cmake -, extra-cmake-modules -, git -, go_1_23 -, wrapQtAppsHook -, qtbase -, qtdeclarative -, qtsvg -, qtwayland -, kconfig -, kcoreaddons -, kguiaddons -, ki18n -, kirigami -, kirigami-addons -, knotifications -, nlohmann_json -, qqc2-desktop-style +{ + lib, + stdenv, + fetchFromGitHub, + buildGo123Module, + cmake, + extra-cmake-modules, + git, + go_1_23, + wrapQtAppsHook, + qtbase, + qtdeclarative, + qtsvg, + qtwayland, + kconfig, + kcoreaddons, + kguiaddons, + ki18n, + kirigami, + kirigami-addons, + knotifications, + nlohmann_json, + qqc2-desktop-style, }: let @@ -32,12 +33,13 @@ let hash = "sha256-nxYgpIUNgWhWnrd5rqSH2r1QKhWPJwxlIQl6F9PmjpU="; }; - goDeps = (buildGo123Module { - pname = "ktailctl-go-wrapper"; - inherit src version; - modRoot = "src/wrapper"; - vendorHash = "sha256-UjgHfR+MJ8ROqOPIM0ZkqgFGVEkw8gKYlVQ6oxoIcgE="; - }).goModules; + goDeps = + (buildGo123Module { + pname = "ktailctl-go-wrapper"; + inherit src version; + modRoot = "src/wrapper"; + vendorHash = "sha256-UjgHfR+MJ8ROqOPIM0ZkqgFGVEkw8gKYlVQ6oxoIcgE="; + }).goModules; in stdenv.mkDerivation { pname = "ktailctl"; diff --git a/pkgs/applications/networking/libcoap/default.nix b/pkgs/applications/networking/libcoap/default.nix index d705536ea7dfe..bef56def692c2 100644 --- a/pkgs/applications/networking/libcoap/default.nix +++ b/pkgs/applications/networking/libcoap/default.nix @@ -1,6 +1,17 @@ -{ fetchFromGitHub, automake, autoconf, which, pkg-config, libtool, lib, stdenv, gnutls, asciidoc, doxygen -, withTLS ? true -, withDocs ? true +{ + fetchFromGitHub, + automake, + autoconf, + which, + pkg-config, + libtool, + lib, + stdenv, + gnutls, + asciidoc, + doxygen, + withTLS ? true, + withDocs ? true, }: stdenv.mkDerivation rec { pname = "libcoap"; @@ -12,15 +23,22 @@ stdenv.mkDerivation rec { fetchSubmodules = true; hash = "sha256-QNrsR6VarZ2favvTZ9pMhVafwF2fOjYLKcyNqZyUl6s="; }; - nativeBuildInputs = [ - automake - autoconf - which - libtool - pkg-config - ] ++ lib.optional withTLS gnutls ++ lib.optionals withDocs [ doxygen asciidoc ] ; + nativeBuildInputs = + [ + automake + autoconf + which + libtool + pkg-config + ] + ++ lib.optional withTLS gnutls + ++ lib.optionals withDocs [ + doxygen + asciidoc + ]; preConfigure = "./autogen.sh"; - configureFlags = [ "--disable-shared" ] + configureFlags = + [ "--disable-shared" ] ++ lib.optional (!withDocs) "--disable-documentation" ++ lib.optional withTLS "--enable-dtls"; meta = with lib; { diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix index 000354d1e5c9a..132b68764952e 100644 --- a/pkgs/applications/networking/linssid/default.nix +++ b/pkgs/applications/networking/linssid/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, qtbase, qtsvg, qmake, pkg-config, boost, wirelesstools, iw, qwt6_1, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchurl, + qtbase, + qtsvg, + qmake, + pkg-config, + boost, + wirelesstools, + iw, + qwt6_1, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "linssid"; @@ -9,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl"; }; - nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ]; - buildInputs = [ qtbase qtsvg boost qwt6_1 ]; + nativeBuildInputs = [ + pkg-config + qmake + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + qtsvg + boost + qwt6_1 + ]; patches = [ ./0001-unbundled-qwt.patch ]; @@ -26,8 +48,14 @@ stdenv.mkDerivation rec { rm -fr qwt-lib ''; - qtWrapperArgs = - [ ''--prefix PATH : ${lib.makeBinPath [ wirelesstools iw ]}'' ]; + qtWrapperArgs = [ + ''--prefix PATH : ${ + lib.makeBinPath [ + wirelesstools + iw + ] + }'' + ]; meta = with lib; { description = "Graphical wireless scanning for Linux"; diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix index 559c17bd7467b..e0a09434a9d91 100644 --- a/pkgs/applications/networking/mailreaders/astroid/default.nix +++ b/pkgs/applications/networking/mailreaders/astroid/default.nix @@ -1,12 +1,31 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, adwaita-icon-theme, gmime3, webkitgtk_4_0, ronn -, libsass, notmuch, boost, wrapGAppsHook3, glib-networking, protobuf -, gtkmm3, libpeas, gsettings-desktop-schemas, gobject-introspection, python3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + adwaita-icon-theme, + gmime3, + webkitgtk_4_0, + ronn, + libsass, + notmuch, + boost, + wrapGAppsHook3, + glib-networking, + protobuf, + gtkmm3, + libpeas, + gsettings-desktop-schemas, + gobject-introspection, + python3, -# vim to be used, should support the GUI mode. -, vim + # vim to be used, should support the GUI mode. + vim, -# additional python3 packages to be available within plugins -, extraPythonPackages ? [] + # additional python3 packages to be available within plugins + extraPythonPackages ? [ ], }: stdenv.mkDerivation rec { @@ -23,22 +42,34 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { name = "symbolic-icons.patch"; - url = - "https://github.com/astroidmail/astroid/commit/7c2022f06a4146ad62e858bcaacdb4ee817851b9.patch"; + url = "https://github.com/astroidmail/astroid/commit/7c2022f06a4146ad62e858bcaacdb4ee817851b9.patch"; hash = "sha256-hZHOg1wUR8Kpd6017fWzhMmG+/WQxSOCnsiyIvUcpbU="; }) ]; nativeBuildInputs = [ - cmake ronn pkg-config wrapGAppsHook3 gobject-introspection - python3 python3.pkgs.wrapPython + cmake + ronn + pkg-config + wrapGAppsHook3 + gobject-introspection + python3 + python3.pkgs.wrapPython ]; buildInputs = [ - gtkmm3 gmime3 webkitgtk_4_0 libsass libpeas + gtkmm3 + gmime3 + webkitgtk_4_0 + libsass + libpeas python3 - notmuch boost gsettings-desktop-schemas adwaita-icon-theme - glib-networking protobuf + notmuch + boost + gsettings-desktop-schemas + adwaita-icon-theme + glib-networking + protobuf vim ]; @@ -59,7 +90,10 @@ stdenv.mkDerivation rec { homepage = "https://astroidmail.github.io/"; description = "GTK frontend to the notmuch mail system"; mainProgram = "astroid"; - maintainers = with maintainers; [ bdimcheff SuprDewd ]; + maintainers = with maintainers; [ + bdimcheff + SuprDewd + ]; license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix index 74d2d776643c2..93a0eb591f9db 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchurl -, gnome -, cmake -, gettext -, intltool -, pkg-config -, evolution-data-server -, evolution -, gtk3 -, libsoup_3 -, libical -, json-glib -, libmspack -, webkitgtk_4_1 -, substituteAll -, _experimental-update-script-combinators -, glib -, makeHardcodeGsettingsPatch +{ + stdenv, + lib, + fetchurl, + gnome, + cmake, + gettext, + intltool, + pkg-config, + evolution-data-server, + evolution, + gtk3, + libsoup_3, + libical, + json-glib, + libmspack, + webkitgtk_4_1, + substituteAll, + _experimental-update-script-combinators, + glib, + makeHardcodeGsettingsPatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix index b8d1c3740e443..2d429f4c1c8b1 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix @@ -1,46 +1,47 @@ -{ lib -, stdenv -, cmake -, ninja -, intltool -, fetchurl -, libxml2 -, webkitgtk_4_1 -, highlight -, pkg-config -, gtk3 -, glib -, libnotify -, libpst -, gspell -, evolution-data-server -, libgweather -, glib-networking -, gsettings-desktop-schemas -, wrapGAppsHook3 -, itstool -, shared-mime-info -, libical -, db -, sqlite -, adwaita-icon-theme -, gnome -, gnome-desktop -, librsvg -, gdk-pixbuf -, libsecret -, nss -, nspr -, icu -, libcanberra-gtk3 -, geocode-glib_2 -, cmark -, bogofilter -, gst_all_1 -, procps -, p11-kit -, openldap -, spamassassin +{ + lib, + stdenv, + cmake, + ninja, + intltool, + fetchurl, + libxml2, + webkitgtk_4_1, + highlight, + pkg-config, + gtk3, + glib, + libnotify, + libpst, + gspell, + evolution-data-server, + libgweather, + glib-networking, + gsettings-desktop-schemas, + wrapGAppsHook3, + itstool, + shared-mime-info, + libical, + db, + sqlite, + adwaita-icon-theme, + gnome, + gnome-desktop, + librsvg, + gdk-pixbuf, + libsecret, + nss, + nspr, + icu, + libcanberra-gtk3, + geocode-glib_2, + cmark, + bogofilter, + gst_all_1, + procps, + p11-kit, + openldap, + spamassassin, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix index bae0bdb2fd454..a1e3e525b4cee 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix @@ -1,4 +1,10 @@ -{ lib, makeWrapper, symlinkJoin, evolution-data-server, plugins }: +{ + lib, + makeWrapper, + symlinkJoin, + evolution-data-server, + plugins, +}: symlinkJoin { name = "evolution-with-plugins"; diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix index 3277dee46a9d5..93eede6853d6f 100644 --- a/pkgs/applications/networking/mailreaders/imapfilter.nix +++ b/pkgs/applications/networking/mailreaders/imapfilter.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, openssl, lua, pcre2 }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + lua, + pcre2, +}: stdenv.mkDerivation (finalAttrs: { pname = "imapfilter"; @@ -15,7 +22,11 @@ stdenv.mkDerivation (finalAttrs: { "PREFIX=$(out)" ]; - buildInputs = [ openssl pcre2 lua ]; + buildInputs = [ + openssl + pcre2 + lua + ]; meta = { homepage = "https://github.com/lefcha/imapfilter"; diff --git a/pkgs/applications/networking/mailreaders/lumail/default.nix b/pkgs/applications/networking/mailreaders/lumail/default.nix index e35d37dfe2240..6bdd543025172 100644 --- a/pkgs/applications/networking/mailreaders/lumail/default.nix +++ b/pkgs/applications/networking/mailreaders/lumail/default.nix @@ -1,27 +1,43 @@ -{ lib, stdenv, fetchurl, pkg-config, lua, file, ncurses, gmime, pcre-cpp -, perl, perlPackages, makeWrapper -, debugBuild ? false -, alternativeGlobalConfigFilePath ? null +{ + lib, + stdenv, + fetchurl, + pkg-config, + lua, + file, + ncurses, + gmime, + pcre-cpp, + perl, + perlPackages, + makeWrapper, + debugBuild ? false, + alternativeGlobalConfigFilePath ? null, }: let - version = "3.1"; + version = "3.1"; binaryName = if debugBuild then "lumail2-debug" else "lumail2"; - alternativeConfig = builtins.toFile "lumail2.lua" - (builtins.readFile alternativeGlobalConfigFilePath); + alternativeConfig = builtins.toFile "lumail2.lua" ( + builtins.readFile alternativeGlobalConfigFilePath + ); - globalConfig = if alternativeGlobalConfigFilePath == null then '' - mkdir -p $out/etc/lumail2 - cp global.config.lua $out/etc/lumail2.lua - for n in ./lib/*.lua; do - cp "$n" $out/etc/lumail2/ - done - '' else '' - ln -s ${alternativeConfig} $out/etc/lumail2.lua - ''; + globalConfig = + if alternativeGlobalConfigFilePath == null then + '' + mkdir -p $out/etc/lumail2 + cp global.config.lua $out/etc/lumail2.lua + for n in ./lib/*.lua; do + cp "$n" $out/etc/lumail2/ + done + '' + else + '' + ln -s ${alternativeConfig} $out/etc/lumail2.lua + ''; - getPath = type : "${lua}/lib/?.${type};"; - luaPath = getPath "lua"; + getPath = type: "${lua}/lib/?.${type};"; + luaPath = getPath "lua"; luaCPath = getPath "so"; in stdenv.mkDerivation { @@ -35,10 +51,19 @@ stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; buildInputs = [ - lua file ncurses gmime pcre-cpp - perl perlPackages.JSON perlPackages.NetIMAPClient + lua + file + ncurses + gmime + pcre-cpp + perl + perlPackages.JSON + perlPackages.NetIMAPClient ]; preConfigure = '' @@ -54,16 +79,17 @@ stdenv.mkDerivation { buildFlags = lib.optional debugBuild "lumail2-debug"; - installPhase = '' - mkdir -p $out/bin || true - install -m755 ${binaryName} $out/bin/ - '' - + globalConfig - + '' - wrapProgram $out/bin/${binaryName} \ - --prefix LUA_PATH : "${luaPath}" \ - --prefix LUA_CPATH : "${luaCPath}" - ''; + installPhase = + '' + mkdir -p $out/bin || true + install -m755 ${binaryName} $out/bin/ + '' + + globalConfig + + '' + wrapProgram $out/bin/${binaryName} \ + --prefix LUA_PATH : "${luaPath}" \ + --prefix LUA_CPATH : "${luaCPath}" + ''; makeFlags = [ "LVER=lua" @@ -78,6 +104,6 @@ stdenv.mkDerivation { homepage = "https://lumail.org/"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [orivej]; + maintainers = with maintainers; [ orivej ]; }; } diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix index 1976521b2f220..25904e5b44b0f 100644 --- a/pkgs/applications/networking/mailreaders/mailnag/default.nix +++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix @@ -1,24 +1,25 @@ -{ lib -, fetchFromGitHub -, gettext -, xorg # for lndir -, gtk3 -, python3Packages -, gdk-pixbuf -, libnotify -, gst_all_1 -, libsecret -, wrapGAppsHook3 -, gsettings-desktop-schemas -, glib -, gobject-introspection -# Available plugins (can be overridden) -, availablePlugins -# Used in the withPlugins interface at passthru, can be overrided directly, or -# prefarably via e.g: `mailnag.withPlugins([mailnag.availablePlugins.goa])` -, mailnag -, userPlugins ? [ ] -, pluginsDeps ? [ ] +{ + lib, + fetchFromGitHub, + gettext, + xorg, # for lndir + gtk3, + python3Packages, + gdk-pixbuf, + libnotify, + gst_all_1, + libsecret, + wrapGAppsHook3, + gsettings-desktop-schemas, + glib, + gobject-introspection, + # Available plugins (can be overridden) + availablePlugins, + # Used in the withPlugins interface at passthru, can be overrided directly, or + # prefarably via e.g: `mailnag.withPlugins([mailnag.availablePlugins.goa])` + mailnag, + userPlugins ? [ ], + pluginsDeps ? [ ], }: python3Packages.buildPythonApplication rec { @@ -71,10 +72,10 @@ python3Packages.buildPythonApplication rec { pluginsDeps = lib.flatten (lib.catAttrs "buildInputs" plugs); self = mailnag; in - self.override { - userPlugins = plugs; - inherit pluginsDeps; - }; + self.override { + userPlugins = plugs; + inherit pluginsDeps; + }; }; # See https://nixos.org/nixpkgs/manual/#ssec-gnome-common-issues-double-wrapped diff --git a/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix b/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix index 8a5d4c74a4029..3b32debe0f14e 100644 --- a/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix +++ b/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, python3Packages -, gobject-introspection -, gnome-online-accounts +{ + lib, + fetchFromGitHub, + python3Packages, + gobject-introspection, + gnome-online-accounts, }: python3Packages.buildPythonPackage rec { diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index a34b8f8f6ca71..d4f160ff788a3 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -50,20 +50,23 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-c8G0CGg4jrwq+HVR4O0AtaJNzr7pDYsie1410tisLEY="; }; - buildInputs = [ - cyrus_sasl - gss - gpgme - libkrb5 - libidn2 - ncurses - notmuch - openssl - perl - lmdb - mailcap - sqlite - ] ++ lib.optional enableZstd zstd ++ lib.optional enableLua lua; + buildInputs = + [ + cyrus_sasl + gss + gpgme + libkrb5 + libidn2 + ncurses + notmuch + openssl + perl + lmdb + mailcap + sqlite + ] + ++ lib.optional enableZstd zstd + ++ lib.optional enableLua lua; nativeBuildInputs = [ docbook_xsl @@ -99,21 +102,24 @@ stdenv.mkDerivation (finalAttrs: { --replace /etc/mime.types ${mailcap}/etc/mime.types ''; - configureFlags = [ - "--enable-autocrypt" - "--gpgme" - "--gss" - "--lmdb" - "--notmuch" - "--ssl" - "--sasl" - "--with-homespool=mailbox" - "--with-mailpath=" - # To make it not reference .dev outputs. See: - # https://github.com/neomutt/neomutt/pull/2367 - "--disable-include-path-in-cflags" - "--zlib" - ] ++ lib.optional enableZstd "--zstd" ++ lib.optional enableLua "--lua"; + configureFlags = + [ + "--enable-autocrypt" + "--gpgme" + "--gss" + "--lmdb" + "--notmuch" + "--ssl" + "--sasl" + "--with-homespool=mailbox" + "--with-mailpath=" + # To make it not reference .dev outputs. See: + # https://github.com/neomutt/neomutt/pull/2367 + "--disable-include-path-in-cflags" + "--zlib" + ] + ++ lib.optional enableZstd "--zstd" + ++ lib.optional enableLua "--lua"; postInstall = '' diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index e3b6d3a2bdef5..90c0c98b400a7 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -1,18 +1,36 @@ -{ fetchurl, lib, stdenv, makeWrapper, buildEnv -, pkg-config, gnupg -, xapian, gmime3, sfsexp, talloc, zlib -, doxygen, perl, texinfo -, pythonPackages -, emacs -, ruby -, testers -, gitUpdater -, which, dtach, openssl, bash, gdb, man, git -, withEmacs ? true -, withRuby ? true -, withSfsexp ? true # also installs notmuch-git, which requires sexp-support -# TODO upstream: it takes too long ! 800 ms here -, withVim ? true +{ + fetchurl, + lib, + stdenv, + makeWrapper, + buildEnv, + pkg-config, + gnupg, + xapian, + gmime3, + sfsexp, + talloc, + zlib, + doxygen, + perl, + texinfo, + pythonPackages, + emacs, + ruby, + testers, + gitUpdater, + which, + dtach, + openssl, + bash, + gdb, + man, + git, + withEmacs ? true, + withRuby ? true, + withSfsexp ? true, # also installs notmuch-git, which requires sexp-support + # TODO upstream: it takes too long ! 800 ms here + withVim ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -24,44 +42,55 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-mvRsyA2li0MByiuu/MJaQNES0DFVB+YywPPw8IMo0FQ="; }; - nativeBuildInputs = [ - pkg-config - doxygen # (optional) api docs - pythonPackages.sphinx # (optional) documentation -> doc/INSTALL - texinfo # (optional) documentation -> doc/INSTALL - pythonPackages.cffi - ] ++ lib.optional withEmacs emacs + nativeBuildInputs = + [ + pkg-config + doxygen # (optional) api docs + pythonPackages.sphinx # (optional) documentation -> doc/INSTALL + texinfo # (optional) documentation -> doc/INSTALL + pythonPackages.cffi + ] + ++ lib.optional withEmacs emacs ++ lib.optional withRuby ruby ++ lib.optional withSfsexp makeWrapper; - buildInputs = [ - gnupg # undefined dependencies - xapian gmime3 talloc zlib # dependencies described in INSTALL - perl - pythonPackages.python - ] ++ lib.optional withRuby ruby + buildInputs = + [ + gnupg # undefined dependencies + xapian + gmime3 + talloc + zlib # dependencies described in INSTALL + perl + pythonPackages.python + ] + ++ lib.optional withRuby ruby ++ lib.optional withSfsexp sfsexp; - postPatch = '' - patchShebangs configure test/ + postPatch = + '' + patchShebangs configure test/ - substituteInPlace lib/Makefile.local \ - --replace '-install_name $(libdir)' "-install_name $out/lib" + substituteInPlace lib/Makefile.local \ + --replace '-install_name $(libdir)' "-install_name $out/lib" - # do not override CFLAGS of the Makefile created by mkmf - substituteInPlace bindings/Makefile.local \ - --replace 'CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC"' "" - '' + lib.optionalString withEmacs '' - substituteInPlace emacs/notmuch-emacs-mua \ - --replace 'EMACS:-emacs' 'EMACS:-${emacs}/bin/emacs' \ - --replace 'EMACSCLIENT:-emacsclient' 'EMACSCLIENT:-${emacs}/bin/emacsclient' - ''; + # do not override CFLAGS of the Makefile created by mkmf + substituteInPlace bindings/Makefile.local \ + --replace 'CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC"' "" + '' + + lib.optionalString withEmacs '' + substituteInPlace emacs/notmuch-emacs-mua \ + --replace 'EMACS:-emacs' 'EMACS:-${emacs}/bin/emacs' \ + --replace 'EMACSCLIENT:-emacsclient' 'EMACSCLIENT:-${emacs}/bin/emacsclient' + ''; - configureFlags = [ - "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions" - "--bashcompletiondir=${placeholder "out"}/share/bash-completion/completions" - "--infodir=${placeholder "info"}/share/info" - ] ++ lib.optional (!withEmacs) "--without-emacs" + configureFlags = + [ + "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions" + "--bashcompletiondir=${placeholder "out"}/share/bash-completion/completions" + "--infodir=${placeholder "info"}/share/info" + ] + ++ lib.optional (!withEmacs) "--without-emacs" ++ lib.optional withEmacs "--emacslispdir=${placeholder "emacs"}/share/emacs/site-lisp" ++ lib.optional (!withRuby) "--without-ruby"; @@ -76,7 +105,13 @@ stdenv.mkDerivation (finalAttrs: { cp bindings/python-cffi/_notmuch_config.py ${placeholder "bindingconfig"}/ ''; - outputs = [ "out" "man" "info" "bindingconfig" ] + outputs = + [ + "out" + "man" + "info" + "bindingconfig" + ] ++ lib.optional withEmacs "emacs" ++ lib.optional withVim "vim"; @@ -109,54 +144,70 @@ stdenv.mkDerivation (finalAttrs: { doCheck = !stdenv.hostPlatform.isDarwin && (lib.versionAtLeast gmime3.version "3.0.3"); checkTarget = "test"; - nativeCheckInputs = [ - which dtach openssl bash - gdb man - ] - # for the test T-850.sh for notmuch-git, which is skipped when notmuch is - # built without sexp-support - ++ lib.optional withEmacs emacs - ++ lib.optional withSfsexp git; - - installTargets = [ "install" "install-man" "install-info" ]; - - postInstall = lib.optionalString withEmacs '' - moveToOutput bin/notmuch-emacs-mua $emacs - '' + lib.optionalString withRuby '' - make -C bindings/ruby install \ - vendordir=$out/lib/ruby \ - SHELL=$SHELL \ - $makeFlags "''${makeFlagsArray[@]}" \ - $installFlags "''${installFlagsArray[@]}" - '' - # notmuch-git (https://notmuchmail.org/doc/latest/man1/notmuch-git.html) does not work without - # sexp-support, so there is no point in installing if we're building without it. - + lib.optionalString withSfsexp '' - cp notmuch-git $out/bin/notmuch-git - wrapProgram $out/bin/notmuch-git --prefix PATH : $out/bin:${lib.getBin git}/bin - '' + lib.optionalString withVim '' - make -C vim DESTDIR="$vim/share/vim-plugins/notmuch" prefix="" install - mkdir -p $vim/share/nvim - ln -s $vim/share/vim-plugins/notmuch $vim/share/nvim/site - '' + lib.optionalString (withVim && withRuby) '' - PLUG=$vim/share/vim-plugins/notmuch/plugin/notmuch.vim - cat >> $PLUG << EOF - let \$GEM_PATH=\$GEM_PATH . ":${finalAttrs.passthru.gemEnv}/${ruby.gemPath}" - let \$RUBYLIB=\$RUBYLIB . ":$vim/${ruby.libPath}/${ruby.system}" - if has('nvim') - EOF - for gem in ${finalAttrs.passthru.gemEnv}/${ruby.gemPath}/gems/*/lib; do - echo "ruby \$LOAD_PATH.unshift('$gem')" >> $PLUG - done - echo 'endif' >> $PLUG - ''; + nativeCheckInputs = + [ + which + dtach + openssl + bash + gdb + man + ] + # for the test T-850.sh for notmuch-git, which is skipped when notmuch is + # built without sexp-support + ++ lib.optional withEmacs emacs + ++ lib.optional withSfsexp git; + + installTargets = [ + "install" + "install-man" + "install-info" + ]; + + postInstall = + lib.optionalString withEmacs '' + moveToOutput bin/notmuch-emacs-mua $emacs + '' + + lib.optionalString withRuby '' + make -C bindings/ruby install \ + vendordir=$out/lib/ruby \ + SHELL=$SHELL \ + $makeFlags "''${makeFlagsArray[@]}" \ + $installFlags "''${installFlagsArray[@]}" + '' + # notmuch-git (https://notmuchmail.org/doc/latest/man1/notmuch-git.html) does not work without + # sexp-support, so there is no point in installing if we're building without it. + + lib.optionalString withSfsexp '' + cp notmuch-git $out/bin/notmuch-git + wrapProgram $out/bin/notmuch-git --prefix PATH : $out/bin:${lib.getBin git}/bin + '' + + lib.optionalString withVim '' + make -C vim DESTDIR="$vim/share/vim-plugins/notmuch" prefix="" install + mkdir -p $vim/share/nvim + ln -s $vim/share/vim-plugins/notmuch $vim/share/nvim/site + '' + + lib.optionalString (withVim && withRuby) '' + PLUG=$vim/share/vim-plugins/notmuch/plugin/notmuch.vim + cat >> $PLUG << EOF + let \$GEM_PATH=\$GEM_PATH . ":${finalAttrs.passthru.gemEnv}/${ruby.gemPath}" + let \$RUBYLIB=\$RUBYLIB . ":$vim/${ruby.libPath}/${ruby.system}" + if has('nvim') + EOF + for gem in ${finalAttrs.passthru.gemEnv}/${ruby.gemPath}/gems/*/lib; do + echo "ruby \$LOAD_PATH.unshift('$gem')" >> $PLUG + done + echo 'endif' >> $PLUG + ''; passthru = { pythonSourceRoot = "notmuch-${finalAttrs.version}/bindings/python"; gemEnv = buildEnv { name = "notmuch-vim-gems"; paths = with ruby.gems; [ mail ]; - pathsToLink = [ "/lib" "/nix-support" ]; + pathsToLink = [ + "/lib" + "/nix-support" + ]; }; tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; @@ -168,11 +219,14 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Mail indexer"; - homepage = "https://notmuchmail.org/"; - changelog = "https://git.notmuchmail.org/git?p=notmuch;a=blob_plain;f=NEWS;hb=${version}"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ flokli puckipedia ]; - platforms = platforms.unix; + homepage = "https://notmuchmail.org/"; + changelog = "https://git.notmuchmail.org/git?p=notmuch;a=blob_plain;f=NEWS;hb=${version}"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ + flokli + puckipedia + ]; + platforms = platforms.unix; mainProgram = "notmuch"; }; }) diff --git a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix index 6de6838eeeda1..5ac38f7db782e 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl -, notmuch, openssl, pkg-config, sqlite, xapian, zlib +{ + lib, + stdenv, + fetchurl, + notmuch, + openssl, + pkg-config, + sqlite, + xapian, + zlib, }: stdenv.mkDerivation rec { version = "7"; @@ -12,7 +20,13 @@ stdenv.mkDerivation rec { hash = "sha256-+D4vb80O9IE0df3cjTkoVoZlTaX0FWWh6ams14Gjvqw="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ notmuch openssl sqlite xapian zlib ]; + buildInputs = [ + notmuch + openssl + sqlite + xapian + zlib + ]; XAPIAN_CONFIG = "${xapian}/bin/xapian-config"; meta = { description = "Synchronize maildirs and notmuch databases"; diff --git a/pkgs/applications/networking/mailreaders/notmuch/mutt.nix b/pkgs/applications/networking/mailreaders/notmuch/mutt.nix index 92d82f057fbdd..370dc7ebf8fe2 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/mutt.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/mutt.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, perl, perlPackages, makeWrapper, coreutils, notmuch }: +{ + stdenv, + lib, + perl, + perlPackages, + makeWrapper, + coreutils, + notmuch, +}: stdenv.mkDerivation rec { pname = "notmuch-mutt"; @@ -9,18 +17,20 @@ stdenv.mkDerivation rec { dontStrip = true; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ - perl - ] ++ (with perlPackages; [ - FileRemove - DigestSHA1 - Later - MailBox - MailMaildir - MailTools - StringShellQuote - TermReadLineGnu - ]); + buildInputs = + [ + perl + ] + ++ (with perlPackages; [ + FileRemove + DigestSHA1 + Later + MailBox + MailMaildir + MailTools + StringShellQuote + TermReadLineGnu + ]); src = notmuch.src; @@ -39,9 +49,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Mutt support for notmuch"; mainProgram = "notmuch-mutt"; - homepage = "https://notmuchmail.org/"; - license = with licenses; gpl3; + homepage = "https://notmuchmail.org/"; + license = with licenses; gpl3; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix index 9e765743dd636..42f6c8597701d 100644 --- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix +++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, openssl ? null, gpgme ? null -, gpgSupport ? true, sslSupport ? true, fetchpatch, Foundation }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + openssl ? null, + gpgme ? null, + gpgSupport ? true, + sslSupport ? true, + fetchpatch, + Foundation, +}: assert gpgSupport -> gpgme != null; assert sslSupport -> openssl != null; @@ -30,13 +41,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 ] + buildInputs = + [ gtk2 ] ++ lib.optionals gpgSupport [ gpgme ] ++ lib.optionals sslSupport [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation ]; - configureFlags = lib.optional gpgSupport "--enable-gpgme" - ++ lib.optional sslSupport "--enable-ssl"; + configureFlags = lib.optional gpgSupport "--enable-gpgme" ++ lib.optional sslSupport "--enable-ssl"; # Undefined symbols for architecture arm64: "_OBJC_CLASS_$_NSAutoreleasePool" NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework Foundation"; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index cd3954ba590a3..e7c901d5cbd62 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -3,21 +3,27 @@ # To update `thunderbird-bin`'s `release_sources.nix`, run from the nixpkgs root: # # nix-shell maintainers/scripts/update.nix --argstr package pkgs.thunderbird-bin-unwrapped -{ lib, stdenv, fetchurl, config, wrapGAppsHook3, autoPatchelfHook -, alsa-lib -, curl -, gtk3 -, writeScript -, writeText -, xidel -, coreutils -, gnused -, gnugrep -, gnupg -, runtimeShell -, systemLocale ? config.i18n.defaultLocale or "en_US" -, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections -, generated +{ + lib, + stdenv, + fetchurl, + config, + wrapGAppsHook3, + autoPatchelfHook, + alsa-lib, + curl, + gtk3, + writeScript, + writeText, + xidel, + coreutils, + gnused, + gnugrep, + gnupg, + runtimeShell, + systemLocale ? config.i18n.defaultLocale or "en_US", + patchelfUnstable, # have to use patchelfUnstable to support --no-clobber-old-sections + generated, }: let @@ -30,21 +36,22 @@ let arch = mozillaPlatforms.${stdenv.hostPlatform.system}; - isPrefixOf = prefix: string: - builtins.substring 0 (builtins.stringLength prefix) string == prefix; + isPrefixOf = prefix: string: builtins.substring 0 (builtins.stringLength prefix) string == prefix; - sourceMatches = locale: source: - (isPrefixOf source.locale locale) && source.arch == arch; + sourceMatches = locale: source: (isPrefixOf source.locale locale) && source.arch == arch; - policies = { DisableAppUpdate = true; } // config.thunderbird.policies or { }; + policies = { + DisableAppUpdate = true; + } // config.thunderbird.policies or { }; policiesJson = writeText "thunderbird-policies.json" (builtins.toJSON { inherit policies; }); - defaultSource = lib.findFirst (sourceMatches "en-US") {} sources; + defaultSource = lib.findFirst (sourceMatches "en-US") { } sources; mozLocale = - if systemLocale == "ca_ES@valencia" - then "ca-valencia" - else lib.replaceStrings ["_"] ["-"] systemLocale; + if systemLocale == "ca_ES@valencia" then + "ca-valencia" + else + lib.replaceStrings [ "_" ] [ "-" ] systemLocale; source = lib.findFirst (sourceMatches mozLocale) defaultSource sources; @@ -59,7 +66,11 @@ stdenv.mkDerivation { inherit (source) sha256; }; - nativeBuildInputs = [ wrapGAppsHook3 autoPatchelfHook patchelfUnstable ]; + nativeBuildInputs = [ + wrapGAppsHook3 + autoPatchelfHook + patchelfUnstable + ]; buildInputs = [ alsa-lib ]; @@ -71,26 +82,36 @@ stdenv.mkDerivation { echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js ''; - installPhase = - '' - mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}" - cp -r * "$prefix/usr/lib/thunderbird-bin-${version}" + installPhase = '' + mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}" + cp -r * "$prefix/usr/lib/thunderbird-bin-${version}" - mkdir -p "$out/bin" - ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/" + mkdir -p "$out/bin" + ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/" - # wrapThunderbird expects "$out/lib" instead of "$out/usr/lib" - ln -s "$out/usr/lib" "$out/lib" + # wrapThunderbird expects "$out/lib" instead of "$out/usr/lib" + ln -s "$out/usr/lib" "$out/lib" - gappsWrapperArgs+=(--argv0 "$out/bin/.thunderbird-wrapped") + gappsWrapperArgs+=(--argv0 "$out/bin/.thunderbird-wrapped") - # See: https://github.com/mozilla/policy-templates/blob/master/README.md - mkdir -p "$out/lib/thunderbird-bin-${version}/distribution"; - ln -s ${policiesJson} "$out/lib/thunderbird-bin-${version}/distribution/policies.json"; - ''; + # See: https://github.com/mozilla/policy-templates/blob/master/README.md + mkdir -p "$out/lib/thunderbird-bin-${version}/distribution"; + ln -s ${policiesJson} "$out/lib/thunderbird-bin-${version}/distribution/policies.json"; + ''; passthru.updateScript = import ./../../browsers/firefox-bin/update.nix { - inherit pname lib writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell; + inherit + pname + lib + writeScript + xidel + coreutils + gnused + gnugrep + curl + gnupg + runtimeShell + ; baseName = "thunderbird"; channel = "release"; basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin"; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix index 75d5df9ecfa90..11fda1d9d8143 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix @@ -1,665 +1,797 @@ { version = "128.5.0esr"; sources = [ - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/af/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/af/thunderbird-128.5.0esr.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha256 = "bf141809be942000802ccc5c7e7f9c9de64345e2ee323f57c29e30fb8301613f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ar/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ar/thunderbird-128.5.0esr.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha256 = "ac71adbd3510e52f5280c2674c9ce3104f41d7ff0800c244093a331d04b4971d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ast/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ast/thunderbird-128.5.0esr.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha256 = "51838e12a6a1f304a0a5c1c85417bc81b5e2f3870a58912e08e088bfbca636d3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/be/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/be/thunderbird-128.5.0esr.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha256 = "b9a95f985de60041985ba11611af933d9cfdc15a5345bb1f71019e1caae5fad8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/bg/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/bg/thunderbird-128.5.0esr.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha256 = "ab8493efca260eee3ade25251be5cf00549c80940c22560fb3927a2c4b1e700f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/br/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/br/thunderbird-128.5.0esr.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha256 = "a3134f3df5baab7c99acb53f9ad27e367b641ea42216f8753cb0c55513d863d9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ca/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ca/thunderbird-128.5.0esr.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha256 = "57e922d86a1fad2d220372eb1086236853b56a04619eb3ce5b72cca24532d46c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/cak/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/cak/thunderbird-128.5.0esr.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha256 = "0ac666a4f2066bfc7b77ed3400340c3e7510b695d979dee19b2dbe08cad64df9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/cs/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/cs/thunderbird-128.5.0esr.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha256 = "39eed8ef4c0d6035cd250acc46852c590c95f2985f04f32619013cfade06f893"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/cy/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/cy/thunderbird-128.5.0esr.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha256 = "cd11988b3bc4b228470e36f1af45571e8a85b96361da46410a0ee38a366af2b1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/da/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/da/thunderbird-128.5.0esr.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha256 = "0c05b4aad2e76343a1923f89593ae51bf3a2db326d44e089834e9d54bf31c263"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/de/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/de/thunderbird-128.5.0esr.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha256 = "8b281370178e06a6a35133c7cdb791e22cef34da9dbf9b84b5847b8b4201746b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/dsb/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/dsb/thunderbird-128.5.0esr.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha256 = "324a99f3ba46d9ccef0f7ac0dab35db5330cddfa3c09b328770c7812fe3d364c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/el/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/el/thunderbird-128.5.0esr.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha256 = "08f49bf601feb248f98bbb5d558440f04c7df9e320466c0282c0588fda275a03"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/en-CA/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/en-CA/thunderbird-128.5.0esr.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; sha256 = "329fa38d6e881706bfbbaa8b9625b9e681e41606b42cfd9f25c866a45ab58fee"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/en-GB/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/en-GB/thunderbird-128.5.0esr.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha256 = "276387261629de231ad41570c0821d39c4e343f6b34bb31867e7c4ff5bc7c9b3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/en-US/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/en-US/thunderbird-128.5.0esr.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha256 = "d612084b5e5f4005577171bc8c8bf8ee7e38fd7e16cbb2b7c32fb4148faf0e50"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/es-AR/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/es-AR/thunderbird-128.5.0esr.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha256 = "81a62da51a8b732721783059359f98033778831db689cb602bf1add2c53256b5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/es-ES/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/es-ES/thunderbird-128.5.0esr.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha256 = "b7374e7069ef698c83c55a32247543b0229bf1f1dc2a1656532b95dde2d6e3a3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/es-MX/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/es-MX/thunderbird-128.5.0esr.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha256 = "63b228f1de074f1f7e59d2e26f5531c49643e9e83ed2c87dd52c39b059c8985a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/et/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/et/thunderbird-128.5.0esr.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha256 = "6d6f597f49a0c0606257534d44075ebacb25f503a0380858b6f46841d78e20de"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/eu/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/eu/thunderbird-128.5.0esr.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha256 = "441c835d3990fd72ceb87fa1a8474ba0988c9423f4fad6558eade93ad840d730"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/fi/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/fi/thunderbird-128.5.0esr.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha256 = "2b6d9faf698fbf46fde988b1f9bcfa35a5ecad69327f1fc50f4a0f9f99ef2e62"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/fr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/fr/thunderbird-128.5.0esr.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha256 = "7b96d4d29d4185cf3f4539e79466d71e110c516f1ea5b71e909bd4f6d6c197e3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/fy-NL/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/fy-NL/thunderbird-128.5.0esr.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "3793b5f8ea3900980608d8771597645caa1c3173b3ca50e52d39002d5ff45fe3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ga-IE/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ga-IE/thunderbird-128.5.0esr.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e71dda89ed9d87a1a4685efc2d30962db948c5cf01eb70a22adcdff93c96f371"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/gd/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/gd/thunderbird-128.5.0esr.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha256 = "70262e69f9b02d86358d9c9303becba44ffec53ef982bdc3eebac026c83702bd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/gl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/gl/thunderbird-128.5.0esr.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha256 = "c4cb4c3e0d882dd460f476da3d22553a2402cf54865411005754777f8c370644"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/he/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/he/thunderbird-128.5.0esr.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha256 = "b455c97a5a1e0ecaef5374b11ab08ad709330c14bcc29abaa4767e151ab2f1ba"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hr/thunderbird-128.5.0esr.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha256 = "1ac9c1583ce60d5f6878038c60cfc0bcee90a5fb34cc1d4f0a239f710586668b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hsb/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hsb/thunderbird-128.5.0esr.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha256 = "f40a7d7eec65fe20e3ddd26d7dbb49c80131ade60ccb1872b51c6cf09b5cdaac"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hu/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hu/thunderbird-128.5.0esr.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha256 = "876cd1f1840edaf44602d42012bcc31b2f928f83915869e7a1a85b74ec1b8cc1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hy-AM/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/hy-AM/thunderbird-128.5.0esr.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "974f0eb2b1452d787036db75dc8ef06ccf1d15521ddcdf7fefe89e25ea0451c1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/id/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/id/thunderbird-128.5.0esr.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha256 = "2e7ba78aed383c152fbf443e74a25ff41c22b28a34fcdcf8d347ff1c0e46ce77"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/is/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/is/thunderbird-128.5.0esr.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha256 = "55c295af6a1339b7c432834381d587ea921d558ecb78f29e29564d1f394c155a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/it/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/it/thunderbird-128.5.0esr.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha256 = "2479f33f19d0d2724202a133e2590931ceab894660c3dc775151f6c850c9e42c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ja/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ja/thunderbird-128.5.0esr.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha256 = "1f3b76a1193330f7a4538400805a0cdafad56b96a4cc4bc2ada5cf1d62361648"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ka/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ka/thunderbird-128.5.0esr.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; sha256 = "b63d8939320c1dd3d6e9a7d965f82b0fc388640e304fce7995f7a13710339e99"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/kab/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/kab/thunderbird-128.5.0esr.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; sha256 = "d221cd9396a1b2b8945e0e75b8ad118f2ee34d45976bdb9b717dae0a96db9286"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/kk/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/kk/thunderbird-128.5.0esr.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha256 = "56a63af61c24148d5fe12601580157381669ab670f07507107d9ea46d03d4392"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ko/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ko/thunderbird-128.5.0esr.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha256 = "b5d2af0451f659e7abb6d548ceff053e3cbf13cf3eb6c42374a9a193e331fda7"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/lt/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/lt/thunderbird-128.5.0esr.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha256 = "5ee2a8440be5e344564a5d4b4f4629df691e6245f2b0f2024020752430ba488e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/lv/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/lv/thunderbird-128.5.0esr.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha256 = "3e2fe77604f976102a274e77a506b025b4c0443077082da6cfaa648b3018f322"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ms/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ms/thunderbird-128.5.0esr.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha256 = "e180dc2c02fad1473272b7dfb447208a1b8abdb335d362696d649fe6f2fa9da6"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/nb-NO/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/nb-NO/thunderbird-128.5.0esr.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "472ae10df128c9d16a5c1bf688edc4bf43da36b4f254c55b37e5af8768339581"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/nl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/nl/thunderbird-128.5.0esr.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha256 = "18235f21aae857efcff66427a4d1e3a513c71d89aad3142e4161f61c7775224e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/nn-NO/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/nn-NO/thunderbird-128.5.0esr.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "99fe98fc5c5a015a053a2918625be003a67ffb0369f8b373cda1684391a9a281"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pa-IN/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pa-IN/thunderbird-128.5.0esr.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "f7f27918958d21c681c10b413907b3517e5090134fd29a659b0c31dfba6f9e69"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pl/thunderbird-128.5.0esr.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha256 = "2dbfacbedb8dcfaa57553240ea7b52320a5ee0ea2351aeba731532674fd8903e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pt-BR/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pt-BR/thunderbird-128.5.0esr.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "91e59ecd438834f178d283f305500030c5d7f37ecd527c4c052a1b77b0f789d9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pt-PT/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/pt-PT/thunderbird-128.5.0esr.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "3677a355554546e8dfd0654829662fb5d0ec50eeb95516ce50a96e656f055bd4"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/rm/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/rm/thunderbird-128.5.0esr.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha256 = "4ff5642d2e03153feb8c692959879391bb2506fe7727009ad50ca8163c06f293"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ro/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ro/thunderbird-128.5.0esr.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha256 = "db9d6d7e5b786d20f3fa9dc270a0ea1cc6e2ca3c1c87079f2b490300b402bc02"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ru/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/ru/thunderbird-128.5.0esr.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha256 = "0153f7690b1996b0e0f13bec1cbb19eaedd84dd3a10d0e3f4343ecc623407140"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sk/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sk/thunderbird-128.5.0esr.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha256 = "0ed388ce9ff2bfc214b612b0a2e8982ec6162e4950769b0deb89a362f5440900"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sl/thunderbird-128.5.0esr.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha256 = "2cbd30d96f27d5d292d88c0a73e2e13589b254527d109fab2d2aae7bda7d7ff1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sq/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sq/thunderbird-128.5.0esr.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha256 = "cdbf3a92fa32a750575b6c1258ddae971ce62a1e6d57ac24b137742830306977"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sr/thunderbird-128.5.0esr.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha256 = "f67aa8002c54ff88405ee37a2d875826fd46e8481750138531c713d15a97d79c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sv-SE/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/sv-SE/thunderbird-128.5.0esr.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "82c2b8a75d8bb8c3261366b049ea6524317d254d2dc61a5ee813d7220e927f6c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/th/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/th/thunderbird-128.5.0esr.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha256 = "5e55930bda79b5cefd10f5d7418f67cc355eb5b3548e424984a8ee18c5aba5ef"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/tr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/tr/thunderbird-128.5.0esr.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha256 = "4285425d9cebd097360212de6d9534f05373478946b6ad1a0233421246fa7c0d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/uk/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/uk/thunderbird-128.5.0esr.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha256 = "417c6482d30b61839b3545cbcccb7664f91e9993a94a7475a513a6842646240d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/uz/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/uz/thunderbird-128.5.0esr.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha256 = "6a051d014f8bdca6195e3f21dd481be9a232501e0280843cc07b0fde09149801"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/vi/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/vi/thunderbird-128.5.0esr.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha256 = "d5ebe571e630ef8a963f5a27e6e0096eccfc12f35fd5437bae82bacdf0e5538e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/zh-CN/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/zh-CN/thunderbird-128.5.0esr.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "97563908550924bc43d99da7d096e7260b3c23e59df58a51bfe1b6c76de54f33"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/zh-TW/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-x86_64/zh-TW/thunderbird-128.5.0esr.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "bce0c4667d7444d63802badffdaad9f7bf3d916233f836b98b7565fc68171804"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/af/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/af/thunderbird-128.5.0esr.tar.bz2"; locale = "af"; arch = "linux-i686"; sha256 = "ba311de618f1d21f816de08fe19410f5e7623c177ca1a60054b62457662b4721"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ar/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ar/thunderbird-128.5.0esr.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha256 = "7b9a0a04a18ee7a051254fd72d0cefbbf82b86cf3b6fcefaec8481ca969c70bc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ast/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ast/thunderbird-128.5.0esr.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha256 = "3cf834ba074f2a38e0686d820ee9abe6714b3f0e4d1c385b22bf81e4681eb42a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/be/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/be/thunderbird-128.5.0esr.tar.bz2"; locale = "be"; arch = "linux-i686"; sha256 = "9c7e2f2e1285b4a728948226d8b3494c79053b5ec210b2b42c261b18a79c8f68"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/bg/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/bg/thunderbird-128.5.0esr.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha256 = "fa4786856bf6966c5e6f3bb0066950cd3da1f6fed2179e7071ca76d96ea09880"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/br/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/br/thunderbird-128.5.0esr.tar.bz2"; locale = "br"; arch = "linux-i686"; sha256 = "9baa235bfdf221d9494c028ec29f968be68a23595ef4bb6817f71bccaa5cae8b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ca/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ca/thunderbird-128.5.0esr.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha256 = "d3ca0c86f8ce9313272c540cf7ab87e01b7a6f183adceff9f31a571eacbcc0bc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/cak/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/cak/thunderbird-128.5.0esr.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha256 = "97cb59dfaaf9f7f7c68f3d6030aa4e65314f80ed2be7671a188d10aeb2b1166a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/cs/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/cs/thunderbird-128.5.0esr.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha256 = "acb99acc481fdaa9135e07e10c962df82d66f7296fec84bbddba324248a3b115"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/cy/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/cy/thunderbird-128.5.0esr.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha256 = "b3945247f968f32b59fbea6454d05bc32973d6caee3a1b89a3551555321ee18c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/da/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/da/thunderbird-128.5.0esr.tar.bz2"; locale = "da"; arch = "linux-i686"; sha256 = "c786d70438ece2b4b20d4ddfb79ba150981e4a46d5095525da9cfe5ec8d3b5ee"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/de/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/de/thunderbird-128.5.0esr.tar.bz2"; locale = "de"; arch = "linux-i686"; sha256 = "98e47e0264d620ec111ebc29fd56f07b113adf4dabe29c8982e6ae8f325dc0df"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/dsb/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/dsb/thunderbird-128.5.0esr.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha256 = "61c38ccd7c956da45aae15ed5d83387efdf6d1a2efd5a23bd2cd689885d99732"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/el/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/el/thunderbird-128.5.0esr.tar.bz2"; locale = "el"; arch = "linux-i686"; sha256 = "ee48d2bc6b808b38ef15381c35f152fd8c6b6c6ea2847a8bf1664299787ced22"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/en-CA/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/en-CA/thunderbird-128.5.0esr.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; sha256 = "4e2ddaea30c6e96305816e325799480976bd4a592a12aeec3847f432e60f66b1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/en-GB/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/en-GB/thunderbird-128.5.0esr.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha256 = "d5e799d093ba2aa4559e4be92791e2be385db915fbfc2965d87d3c19b2a67a46"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/en-US/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/en-US/thunderbird-128.5.0esr.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha256 = "225928a3496a12af6b7b324255702e0057e3e80dd4bafb1166394a2bc3933d2c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/es-AR/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/es-AR/thunderbird-128.5.0esr.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha256 = "269ec58e0278505c778353e454e91756720b8c0c65b8a976e7ab443380c6c1bc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/es-ES/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/es-ES/thunderbird-128.5.0esr.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha256 = "38ae3bb15128c5c3aa7f8e9a3361c5cff75f16fc27bccc55589f6e93b65567d9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/es-MX/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/es-MX/thunderbird-128.5.0esr.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha256 = "44d11638c8cb8a7aa2072b37b384d17e125ab5ba62459bc2fd849e3965a66f2c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/et/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/et/thunderbird-128.5.0esr.tar.bz2"; locale = "et"; arch = "linux-i686"; sha256 = "fdd71790464e206363c079d118fa318b2b5ae530851d381b832ccf29a172dce9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/eu/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/eu/thunderbird-128.5.0esr.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha256 = "4b88c2d28eea088bdcbfb6abfc3a0591a0ee2792d009027b5f420785ec8f6313"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/fi/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/fi/thunderbird-128.5.0esr.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha256 = "55e655f7dd3ce2143cdf9069f87fab107a604c61503c8212f77db95d4f3d98cf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/fr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/fr/thunderbird-128.5.0esr.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha256 = "cc8f46937ef91d7eb2a5e8eadf3f8a493c2575d028ea8c9644e33913f7475d08"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/fy-NL/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/fy-NL/thunderbird-128.5.0esr.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha256 = "b77292a17c79f90d986e5b29dd7a5953fe4bd25cf50c8b857c7577d4fcbccf1f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ga-IE/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ga-IE/thunderbird-128.5.0esr.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha256 = "d094e795f50e27de04f6955043cbdef837d6ef62dc46dc76a4d0ae563a02f80e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/gd/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/gd/thunderbird-128.5.0esr.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha256 = "ded59f8212ffbe5b232cc966a41868ec7693f4512e4601d248090842632756da"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/gl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/gl/thunderbird-128.5.0esr.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha256 = "38772837b18fc6c1b76776e346b5fe55c247846eaef66c438d0041b88e68179b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/he/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/he/thunderbird-128.5.0esr.tar.bz2"; locale = "he"; arch = "linux-i686"; sha256 = "d3b5d4f548520e72c5c73aeafaf322246c1211027903b7364cab2b343ac382c0"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hr/thunderbird-128.5.0esr.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha256 = "02f9f830b1337d657d14e185426b1e1f7c0843960539391312b496285ca575b9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hsb/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hsb/thunderbird-128.5.0esr.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha256 = "7e9d8c754dc440413f69ce6c9c08c312e02c7492317541b61fa408ba234c7ea0"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hu/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hu/thunderbird-128.5.0esr.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha256 = "c346a07a93298fa66ff79013c1551e544920da1eacf5afcb8f556dc1bdbfd38f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hy-AM/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/hy-AM/thunderbird-128.5.0esr.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha256 = "b3d19416bfe0101db8c03a4de0c686da8fcf187943c4d187a5eaf1953d11d9f9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/id/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/id/thunderbird-128.5.0esr.tar.bz2"; locale = "id"; arch = "linux-i686"; sha256 = "e7bbb5da9c98343fe39ed2e4a816825b9ac4e45c89e31a0f0b3ed685c3447bf3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/is/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/is/thunderbird-128.5.0esr.tar.bz2"; locale = "is"; arch = "linux-i686"; sha256 = "1528dacdd88638660567ce992705f63675530389161c5af6e3c8e9388d624faf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/it/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/it/thunderbird-128.5.0esr.tar.bz2"; locale = "it"; arch = "linux-i686"; sha256 = "2ab9b4b12aa7ffbedf2e74719ece9cb9cbe45005e751f3b4b416ad0c31ea995e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ja/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ja/thunderbird-128.5.0esr.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha256 = "48556fcff723564962d5efc2d9b81f44f284fc402ed637b2a399c4ee39820365"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ka/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ka/thunderbird-128.5.0esr.tar.bz2"; locale = "ka"; arch = "linux-i686"; sha256 = "32cae5dc83bc8af9e8dc78a9d4840ae65dc7cb9398eb8941b1eb447a3673d5a3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/kab/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/kab/thunderbird-128.5.0esr.tar.bz2"; locale = "kab"; arch = "linux-i686"; sha256 = "9777ffd9750589355d6813a55bc0467f956020e8f406b121e9f309e1e7b479da"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/kk/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/kk/thunderbird-128.5.0esr.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha256 = "668aeab0a0805d16ee124b5b01b70558d1b719a3f1192c13a180d119ec5dc44c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ko/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ko/thunderbird-128.5.0esr.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha256 = "bc3cb3148ff679839bdfded84fa7cd304293a6aad2309af6660436e5bba9b8ec"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/lt/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/lt/thunderbird-128.5.0esr.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha256 = "0892035b80226a7b2ec419d50784abe51f71554fe18d93c2ec19d2712e94992d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/lv/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/lv/thunderbird-128.5.0esr.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha256 = "48d8939c0ef1a9873ed899c9c48136b9588834d92cf30e3c596c852ba52151cc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ms/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ms/thunderbird-128.5.0esr.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha256 = "3232bbabf77527e425cd11482ce3958f123ef15d678091d5db8557bb6e44bb7e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/nb-NO/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/nb-NO/thunderbird-128.5.0esr.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha256 = "278250280ca434aa4609d6f40f736c9eb2e591f860732acccc14caea9d4fce91"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/nl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/nl/thunderbird-128.5.0esr.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha256 = "06d5b30f31d8cb020df0b29d8bf116664623b58dba6fccb4da49620d55e11097"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/nn-NO/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/nn-NO/thunderbird-128.5.0esr.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha256 = "6a06b0eb2885a9673bd46f4f2fa2298e3ae97ea460e2b86b7a4974d37ab056b3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pa-IN/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pa-IN/thunderbird-128.5.0esr.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha256 = "540fea06d1665754e8aa440f2f09267b4907245d3f4a5f5a01ffd375c8b1f9b9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pl/thunderbird-128.5.0esr.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha256 = "50601e0dcc19aede6d8f731690a98accd3f190525eb3f9239ac002943736772e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pt-BR/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pt-BR/thunderbird-128.5.0esr.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha256 = "5f0f63a764a1078219fd74890260cdd88409c635c1ec5159170dd55f53e77269"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pt-PT/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/pt-PT/thunderbird-128.5.0esr.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha256 = "14aa259fb2791e21d597267972d73fd7653bccd9ae5d46568a2356f8d6b99ff3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/rm/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/rm/thunderbird-128.5.0esr.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha256 = "dc76ed46119a8674bcf1d635736fed833f5059c1bbfcb5ec438cbb14ce3cfc60"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ro/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ro/thunderbird-128.5.0esr.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha256 = "6cd8772297a9ad2081a2b09a98f7d927907734cce5be4353c323f1a47d7c5c53"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ru/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/ru/thunderbird-128.5.0esr.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha256 = "09e176ce5b1fdc83011ee13656a16f05ac001b37b312c60499ed125a7d0045d8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sk/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sk/thunderbird-128.5.0esr.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha256 = "d92580dc8af74dc6f8e42f83816d5f673023bf3c99d111e4db209169120844e7"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sl/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sl/thunderbird-128.5.0esr.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha256 = "9a7a336d20a67550a29820d0971c35b9ea094a725bc31322570ed87c3d0c6df6"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sq/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sq/thunderbird-128.5.0esr.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha256 = "4b30e60ddd89e203f43c229e8a068f9168d4950f28872b3718526bf1cec96fee"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sr/thunderbird-128.5.0esr.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha256 = "cf81a4717f8711b3271c3885d30307ed21096d5c75cd350d7c147df14758e49c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sv-SE/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/sv-SE/thunderbird-128.5.0esr.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha256 = "5fd223489a2547f1bd90c86ffd92ba3fab9ffca84830927d70b2d2d875d370f3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/th/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/th/thunderbird-128.5.0esr.tar.bz2"; locale = "th"; arch = "linux-i686"; sha256 = "278b2051256b8d2185701ddce3ddded8db683295e1d8b28ae26c5f0aeb4c4dde"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/tr/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/tr/thunderbird-128.5.0esr.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha256 = "36a716a4e38eedde49ab9632d32782fa244eed8091caa7a7acd4065c523994b5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/uk/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/uk/thunderbird-128.5.0esr.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha256 = "f3e32dcbde43f6f6cbf85da393d777b781022264897958b5bc31e5cb9b4dfa74"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/uz/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/uz/thunderbird-128.5.0esr.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha256 = "4bf7147f7b81a06bf8768cc765dd8a18689ae275d802cfe21da31a80edff0dbc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/vi/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/vi/thunderbird-128.5.0esr.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha256 = "50446ba6696a84faaedda2d2f8e733c37410ac6d94f74f6634a9f3bacee326cd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/zh-CN/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/zh-CN/thunderbird-128.5.0esr.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha256 = "f1bf08a735a7d6aab3a732be36ad5d37c880673a268feb4272d82b3beef48b04"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/zh-TW/thunderbird-128.5.0esr.tar.bz2"; + { + url = "http://archive.mozilla.org/pub/thunderbird/releases/128.5.0esr/linux-i686/zh-TW/thunderbird-128.5.0esr.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha256 = "523cab1dac4989ea47a3432d3d99bb467f9e1e71e90a9c0069c81eb9c8ff946e"; } - ]; + ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix index f57484428cd05..afc227e45991a 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix @@ -1,57 +1,81 @@ -{ stdenv, lib, buildMozillaMach, callPackage, fetchurl, icu73, fetchpatch2, config }: +{ + stdenv, + lib, + buildMozillaMach, + callPackage, + fetchurl, + icu73, + fetchpatch2, + config, +}: let icu73' = icu73.overrideAttrs (attrs: { # standardize vtzone output # Work around ICU-22132 https://unicode-org.atlassian.net/browse/ICU-22132 # https://bugzilla.mozilla.org/show_bug.cgi?id=1790071 - patches = attrs.patches ++ [(fetchpatch2 { - url = "https://hg.mozilla.org/mozilla-central/raw-file/fb8582f80c558000436922fb37572adcd4efeafc/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff"; - stripLen = 3; - hash = "sha256-MGNnWix+kDNtLuACrrONDNcFxzjlUcLhesxwVZFzPAM="; - })]; + patches = attrs.patches ++ [ + (fetchpatch2 { + url = "https://hg.mozilla.org/mozilla-central/raw-file/fb8582f80c558000436922fb37572adcd4efeafc/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff"; + stripLen = 3; + hash = "sha256-MGNnWix+kDNtLuACrrONDNcFxzjlUcLhesxwVZFzPAM="; + }) + ]; }); - common = { version, sha512, updateScript }: (buildMozillaMach rec { - pname = "thunderbird"; - inherit version updateScript; - application = "comm/mail"; - applicationName = "Mozilla Thunderbird"; - binaryName = pname; - src = fetchurl { - url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; - inherit sha512; - }; - extraPatches = [ - # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. - ./no-buildconfig.patch - ]; + common = + { + version, + sha512, + updateScript, + }: + (buildMozillaMach rec { + pname = "thunderbird"; + inherit version updateScript; + application = "comm/mail"; + applicationName = "Mozilla Thunderbird"; + binaryName = pname; + src = fetchurl { + url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; + inherit sha512; + }; + extraPatches = [ + # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. + ./no-buildconfig.patch + ]; - extraPassthru = { - icu73 = icu73'; - }; + extraPassthru = { + icu73 = icu73'; + }; - meta = with lib; { - changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/"; - description = "Full-featured e-mail client"; - homepage = "https://thunderbird.net/"; - mainProgram = "thunderbird"; - maintainers = with maintainers; [ lovesegfault pierron vcunat ]; - platforms = platforms.unix; - broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. - license = licenses.mpl20; - }; - }).override { - geolocationSupport = false; - webrtcSupport = false; + meta = with lib; { + changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/"; + description = "Full-featured e-mail client"; + homepage = "https://thunderbird.net/"; + mainProgram = "thunderbird"; + maintainers = with maintainers; [ + lovesegfault + pierron + vcunat + ]; + platforms = platforms.unix; + broken = stdenv.buildPlatform.is32bit; + # since Firefox 60, build on 32-bit platforms fails with "out of memory". + # not in `badPlatforms` because cross-compilation on 64-bit machine might work. + license = licenses.mpl20; + }; + }).override + { + geolocationSupport = false; + webrtcSupport = false; - pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable" + pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable" - icu73 = icu73'; - }; + icu73 = icu73'; + }; -in rec { +in +rec { # Upstream claims -latest is "for testing purposes only". Stick to -esr until this changes. thunderbird = thunderbird-esr; @@ -78,8 +102,7 @@ in rec { }; }; } - // lib.optionalAttrs config.allowAliases { +// lib.optionalAttrs config.allowAliases { thunderbird-102 = throw "Thunderbird 102 support ended in September 2023"; thunderbird-115 = throw "Thunderbird 115 support ended in October 2024"; } - diff --git a/pkgs/applications/networking/mailreaders/thunderbird/update.nix b/pkgs/applications/networking/mailreaders/thunderbird/update.nix index c7f2e0511d241..e584a88b70309 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/update.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/update.nix @@ -1,7 +1,11 @@ -{ callPackage -, ... +{ + callPackage, + ... }@args: -callPackage ../../browsers/firefox/update.nix ({ - baseUrl = "https://archive.mozilla.org/pub/thunderbird/releases/"; -} // (builtins.removeAttrs args ["callPackage"])) +callPackage ../../browsers/firefox/update.nix ( + { + baseUrl = "https://archive.mozilla.org/pub/thunderbird/releases/"; + } + // (builtins.removeAttrs args [ "callPackage" ]) +) diff --git a/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix b/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix index bb135568fdb5a..e623d3ac6141f 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/wrapper.nix @@ -1,23 +1,33 @@ -{ lib, wrapFirefox, gpgme, gnupg }: +{ + lib, + wrapFirefox, + gpgme, + gnupg, +}: -browser: -args: +browser: args: -(wrapFirefox browser ({ - libName = "thunderbird"; -} // args)) +(wrapFirefox browser ( + { + libName = "thunderbird"; + } + // args +)) -.overrideAttrs (old: { - # Thunderbird's native GPG support does not yet support smartcards. - # The official upstream recommendation is to configure fall back to gnupg - # using the Thunderbird config `mail.openpgp.allow_external_gnupg` - # and GPG keys set up; instructions with pictures at: - # https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/ - # For that to work out of the box, it requires `gnupg` on PATH and - # `gpgme` in `LD_LIBRARY_PATH`; we do this below. - buildCommand = old.buildCommand + '' - wrapProgram $out/bin/${browser.binaryName} \ - --prefix LD_LIBRARY_PATH ':' "${lib.makeLibraryPath [ gpgme ]}" \ - --prefix PATH ':' "${lib.makeBinPath [ gnupg ]}" - ''; -}) +.overrideAttrs + (old: { + # Thunderbird's native GPG support does not yet support smartcards. + # The official upstream recommendation is to configure fall back to gnupg + # using the Thunderbird config `mail.openpgp.allow_external_gnupg` + # and GPG keys set up; instructions with pictures at: + # https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/ + # For that to work out of the box, it requires `gnupg` on PATH and + # `gpgme` in `LD_LIBRARY_PATH`; we do this below. + buildCommand = + old.buildCommand + + '' + wrapProgram $out/bin/${browser.binaryName} \ + --prefix LD_LIBRARY_PATH ':' "${lib.makeLibraryPath [ gpgme ]}" \ + --prefix PATH ':' "${lib.makeBinPath [ gnupg ]}" + ''; + }) diff --git a/pkgs/applications/networking/mailreaders/trojita/default.nix b/pkgs/applications/networking/mailreaders/trojita/default.nix index 8015484d70435..685d78b0f50b8 100644 --- a/pkgs/applications/networking/mailreaders/trojita/default.nix +++ b/pkgs/applications/networking/mailreaders/trojita/default.nix @@ -1,22 +1,23 @@ -{ akonadi-contacts -, cmake -, fetchFromGitLab -, fetchsvn -, gnupg -, gpgme -, kcontacts -, kf5gpgmepp -, lib -, libsecret -, mimetic -, mkDerivation -, pkg-config -, qgpgme -, qtbase -, qtkeychain -, qttools -, qtwebkit -, withI18n ? false +{ + akonadi-contacts, + cmake, + fetchFromGitLab, + fetchsvn, + gnupg, + gpgme, + kcontacts, + kf5gpgmepp, + lib, + libsecret, + mimetic, + mkDerivation, + pkg-config, + qgpgme, + qtbase, + qtkeychain, + qttools, + qtwebkit, + withI18n ? false, }: let @@ -25,7 +26,8 @@ let rev = "1566642"; sha256 = "0y45fjib153za085la3hqpryycx33dkj3cz8kwzn2w31kvldfl1q"; }; -in mkDerivation rec { +in +mkDerivation rec { pname = "trojita"; version = "unstable-2022-08-22"; @@ -58,18 +60,22 @@ in mkDerivation rec { gnupg ]; - postPatch = "echo ${version} > src/trojita-version" + postPatch = + "echo ${version} > src/trojita-version" + lib.optionalString withI18n '' - mkdir -p po - for f in `find ${l10n} -name "trojita_common.po"`; do - cp $f po/trojita_common_$(echo $f | cut -d/ -f5).po - done - ''; + mkdir -p po + for f in `find ${l10n} -name "trojita_common.po"`; do + cp $f po/trojita_common_$(echo $f | cut -d/ -f5).po + done + ''; meta = with lib; { description = "Qt IMAP e-mail client"; homepage = "http://trojita.flaska.net/"; - license = with licenses; [ gpl2 gpl3 ]; + license = with licenses; [ + gpl2 + gpl3 + ]; maintainers = with maintainers; [ ehmry ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/mhost/default.nix b/pkgs/applications/networking/mhost/default.nix index 777ea44dc7bdb..145a68bbfc767 100644 --- a/pkgs/applications/networking/mhost/default.nix +++ b/pkgs/applications/networking/mhost/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security, SystemConfiguration }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, + SystemConfiguration, +}: rustPlatform.buildRustPackage rec { pname = "mhost"; @@ -25,7 +32,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Modern take on the classic host DNS lookup utility including an easy to use and very fast Rust lookup library"; homepage = "https://github.com/lukaspustina/mhost"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = [ maintainers.mgttlinger ]; mainProgram = "mhost"; }; diff --git a/pkgs/applications/networking/mkchromecast/default.nix b/pkgs/applications/networking/mkchromecast/default.nix index b0df1210b318b..e431ad81b6af4 100644 --- a/pkgs/applications/networking/mkchromecast/default.nix +++ b/pkgs/applications/networking/mkchromecast/default.nix @@ -1,31 +1,34 @@ -{ lib, stdenv -, fetchFromGitHub -, python3Packages -, sox -, flac -, lame -, wrapQtAppsHook -, ffmpeg -, vorbis-tools -, pulseaudio -, nodejs -, youtube-dl -, opusTools -, gst_all_1 -, enableSonos ? true -, qtwayland +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + sox, + flac, + lame, + wrapQtAppsHook, + ffmpeg, + vorbis-tools, + pulseaudio, + nodejs, + youtube-dl, + opusTools, + gst_all_1, + enableSonos ? true, + qtwayland, }: -let packages = [ - vorbis-tools - sox - flac - lame - opusTools - gst_all_1.gstreamer - nodejs - ffmpeg - youtube-dl -] ++ lib.optionals stdenv.hostPlatform.isLinux [ pulseaudio ]; +let + packages = [ + vorbis-tools + sox + flac + lame + opusTools + gst_all_1.gstreamer + nodejs + ffmpeg + youtube-dl + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ pulseaudio ]; in python3Packages.buildPythonApplication { @@ -40,15 +43,20 @@ python3Packages.buildPythonApplication { }; buildInputs = lib.optional stdenv.hostPlatform.isLinux qtwayland; - propagatedBuildInputs = with python3Packages; ([ - pychromecast - psutil - mutagen - flask - netifaces - requests - pyqt5 - ] ++ lib.optionals enableSonos [ soco ]); + propagatedBuildInputs = + with python3Packages; + ( + [ + pychromecast + psutil + mutagen + flask + netifaces + requests + pyqt5 + ] + ++ lib.optionals enableSonos [ soco ] + ); postPatch = '' substituteInPlace setup.py \ @@ -69,14 +77,16 @@ python3Packages.buildPythonApplication { "--prefix PATH : ${lib.makeBinPath packages}" ]; - postInstall = '' - substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/video.py \ - --replace '/usr/share/mkchromecast/nodejs/' '${placeholder "out"}/share/mkchromecast/nodejs/' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install -Dm 755 -t $out/bin bin/audiodevice - substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/audio_devices.py \ - --replace './bin/audiodevice' '${placeholder "out"}/bin/audiodevice' - ''; + postInstall = + '' + substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/video.py \ + --replace '/usr/share/mkchromecast/nodejs/' '${placeholder "out"}/share/mkchromecast/nodejs/' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install -Dm 755 -t $out/bin bin/audiodevice + substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/audio_devices.py \ + --replace './bin/audiodevice' '${placeholder "out"}/bin/audiodevice' + ''; meta = with lib; { homepage = "https://mkchromecast.com/"; diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix index 5e41ef5d2a91a..c0fab98d6102e 100644 --- a/pkgs/applications/networking/mpop/default.nix +++ b/pkgs/applications/networking/mpop/default.nix @@ -1,18 +1,23 @@ -{ lib -, stdenv -, fetchurl -, gnutls -, openssl -, gsasl -, libidn -, pkg-config -, Security -, nlsSupport ? true -, idnSupport ? true -, gsaslSupport ? true -, sslLibrary ? "gnutls" +{ + lib, + stdenv, + fetchurl, + gnutls, + openssl, + gsasl, + libidn, + pkg-config, + Security, + nlsSupport ? true, + idnSupport ? true, + gsaslSupport ? true, + sslLibrary ? "gnutls", }: -assert lib.assertOneOf "sslLibrary" sslLibrary ["gnutls" "openssl" "no"]; +assert lib.assertOneOf "sslLibrary" sslLibrary [ + "gnutls" + "openssl" + "no" +]; stdenv.mkDerivation rec { pname = "mpop"; @@ -41,7 +46,7 @@ stdenv.mkDerivation rec { "--with-tls=${sslLibrary}" ] ++ lib.optional stdenv.hostPlatform.isDarwin "--with-macosx-keyring"; - meta = with lib;{ + meta = with lib; { description = "POP3 mail retrieval agent"; homepage = "https://marlam.de/mpop"; license = licenses.gpl3Plus; diff --git a/pkgs/applications/networking/mujmap/default.nix b/pkgs/applications/networking/mujmap/default.nix index 8ee04ef19607a..b522e29370e5f 100644 --- a/pkgs/applications/networking/mujmap/default.nix +++ b/pkgs/applications/networking/mujmap/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, notmuch -, stdenv -, Security +{ + lib, + fetchFromGitHub, + rustPlatform, + notmuch, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/networking/mullvad/default.nix b/pkgs/applications/networking/mullvad/default.nix index 7b4bcf9d61b25..7c987f4b025a7 100644 --- a/pkgs/applications/networking/mullvad/default.nix +++ b/pkgs/applications/networking/mullvad/default.nix @@ -1,5 +1,6 @@ -{ lib -, newScope +{ + lib, + newScope, }: lib.makeScope newScope (self: { libwg = self.callPackage ./libwg.nix { }; diff --git a/pkgs/applications/networking/mullvad/libwg.nix b/pkgs/applications/networking/mullvad/libwg.nix index 12e6c1deccc3a..a5bcc68b544d5 100644 --- a/pkgs/applications/networking/mullvad/libwg.nix +++ b/pkgs/applications/networking/mullvad/libwg.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, mullvad +{ + lib, + buildGoModule, + mullvad, }: buildGoModule { pname = "libwg"; @@ -21,7 +22,11 @@ buildGoModule { GOBIN = "${placeholder "out"}/lib"; subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-buildmode=c-archive" ]; + ldflags = [ + "-s" + "-w" + "-buildmode=c-archive" + ]; tags = [ "daita" ]; postInstall = '' diff --git a/pkgs/applications/networking/mullvad/openvpn.nix b/pkgs/applications/networking/mullvad/openvpn.nix index af2a2d2e494e9..b62ce2d5edeed 100644 --- a/pkgs/applications/networking/mullvad/openvpn.nix +++ b/pkgs/applications/networking/mullvad/openvpn.nix @@ -1,20 +1,24 @@ -{ lib -, stdenv -, openvpn -, fetchpatch -, fetchurl -, libnl -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + openvpn, + fetchpatch, + fetchurl, + libnl, + autoreconfHook, + pkg-config, }: -openvpn.overrideAttrs (oldAttrs: +openvpn.overrideAttrs ( + oldAttrs: let inherit (lib) optional; - fetchMullvadPatch = { commit, sha256 }: fetchpatch { - url = "https://github.com/mullvad/openvpn/commit/${commit}.patch"; - inherit sha256; - }; + fetchMullvadPatch = + { commit, sha256 }: + fetchpatch { + url = "https://github.com/mullvad/openvpn/commit/${commit}.patch"; + inherit sha256; + }; in rec { pname = "openvpn-mullvad"; @@ -30,33 +34,33 @@ openvpn.overrideAttrs (oldAttrs: pkg-config ]; - buildInputs = oldAttrs.buildInputs or [ ] - ++ optional stdenv.hostPlatform.isLinux [ libnl.dev ]; + buildInputs = oldAttrs.buildInputs or [ ] ++ optional stdenv.hostPlatform.isLinux [ libnl.dev ]; - configureFlags = [ - # Assignement instead of appending to make sure to use exactly the flags required by mullvad + configureFlags = + [ + # Assignement instead of appending to make sure to use exactly the flags required by mullvad - # Flags are based on https://github.com/mullvad/mullvadvpn-app-binaries/blob/main/Makefile#L17 - "--enable-static" - "--disable-shared" - "--disable-debug" - "--disable-plugin-down-root" - "--disable-management" - "--disable-port-share" - "--disable-systemd" - "--disable-dependency-tracking" - "--disable-pkcs11" - "--disable-plugin-auth-pam" - "--enable-plugins" - "--disable-lzo" - "--disable-lz4" - "--enable-comp-stub" - ] - ++ optional stdenv.hostPlatform.isLinux [ - # Flags are based on https://github.com/mullvad/mullvadvpn-app-binaries/blob/main/Makefile#L35 - "--enable-dco" # requires libnl - "--disable-iproute2" - ]; + # Flags are based on https://github.com/mullvad/mullvadvpn-app-binaries/blob/main/Makefile#L17 + "--enable-static" + "--disable-shared" + "--disable-debug" + "--disable-plugin-down-root" + "--disable-management" + "--disable-port-share" + "--disable-systemd" + "--disable-dependency-tracking" + "--disable-pkcs11" + "--disable-plugin-auth-pam" + "--enable-plugins" + "--disable-lzo" + "--disable-lz4" + "--enable-comp-stub" + ] + ++ optional stdenv.hostPlatform.isLinux [ + # Flags are based on https://github.com/mullvad/mullvadvpn-app-binaries/blob/main/Makefile#L35 + "--enable-dco" # requires libnl + "--disable-iproute2" + ]; patches = oldAttrs.patches or [ ] ++ [ # look at compare to find the relevant commits @@ -99,13 +103,16 @@ openvpn.overrideAttrs (oldAttrs: sha256 = "sha256-Via62wKVfMWHTmO7xIXXO7b5k0KYHs1D0JVg3qnXkeM="; }) ]; - postPatch = oldAttrs.postPatch or "" + '' - rm ./configure - ''; + postPatch = + oldAttrs.postPatch or "" + + '' + rm ./configure + ''; meta = oldAttrs.meta or { } // { description = "OpenVPN with Mullvad-specific patches applied"; homepage = "https://github.com/mullvad/openvpn"; maintainers = with lib; [ maintainers.cole-h ]; }; - }) + } +) diff --git a/pkgs/applications/networking/netmaker/default.nix b/pkgs/applications/networking/netmaker/default.nix index 1a4edc965a7f5..2cd8467336407 100644 --- a/pkgs/applications/networking/netmaker/default.nix +++ b/pkgs/applications/networking/netmaker/default.nix @@ -1,10 +1,14 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, libglvnd -, pkg-config -, subPackages ? ["." "netclient"] -, xorg +{ + buildGoModule, + fetchFromGitHub, + lib, + libglvnd, + pkg-config, + subPackages ? [ + "." + "netclient" + ], + xorg, }: buildGoModule rec { @@ -38,7 +42,10 @@ buildGoModule rec { homepage = "https://netmaker.io"; changelog = "https://github.com/gravitl/netmaker/-/releases/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ urandom qjoly ]; + maintainers = with maintainers; [ + urandom + qjoly + ]; mainProgram = "netmaker"; }; } diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix index f9266db68917b..1adc5d981b871 100644 --- a/pkgs/applications/networking/newsreaders/quiterss/default.nix +++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, qmake, pkg-config, wrapQtAppsHook -, qtbase, qttools, qtwebkit, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + pkg-config, + wrapQtAppsHook, + qtbase, + qttools, + qtwebkit, + sqlite, }: stdenv.mkDerivation rec { @@ -13,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "1cgvl67vhn5y7bj5gbjbgk26bhb0196bgrgsp3r5fmrislarj8s6"; }; - nativeBuildInputs = [ qmake pkg-config wrapQtAppsHook ]; - buildInputs = [ qtbase qttools qtwebkit sqlite.dev ]; + nativeBuildInputs = [ + qmake + pkg-config + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + qttools + qtwebkit + sqlite.dev + ]; meta = with lib; { description = "Qt-based RSS/Atom news feed reader"; diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix index ef67028087812..5ae05c37776e4 100644 --- a/pkgs/applications/networking/ostinato/default.nix +++ b/pkgs/applications/networking/ostinato/default.nix @@ -1,17 +1,30 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchurl, qmake, makeDesktopItem -, qtbase, qtscript, protobuf, libpcap, wireshark, gzip, diffutils, gawk -, libnl -, copyDesktopItems +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchurl, + qmake, + makeDesktopItem, + qtbase, + qtscript, + protobuf, + libpcap, + wireshark, + gzip, + diffutils, + gawk, + libnl, + copyDesktopItems, }: mkDerivation rec { pname = "ostinato"; version = "1.3.0"; - src = fetchFromGitHub { - owner = "pstavirs"; - repo = "ostinato"; - rev = "v${version}"; + src = fetchFromGitHub { + owner = "pstavirs"; + repo = "ostinato"; + rev = "v${version}"; sha256 = "sha256-/fPUxGeh5Cc3rb+1mR0chkiFPw5m+O6KtWDvzLn0iYo="; }; @@ -20,7 +33,13 @@ mkDerivation rec { sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70"; }; - buildInputs = [ qtbase protobuf libpcap qtscript libnl ]; + buildInputs = [ + qtbase + protobuf + libpcap + qtscript + libnl + ]; nativeBuildInputs = [ copyDesktopItems @@ -33,17 +52,17 @@ mkDerivation rec { ''; desktopItems = lib.singleton (makeDesktopItem { - name = "ostinato"; - desktopName = "Ostinato"; - genericName = "Packet/Traffic Generator and Analyzer"; - comment = "Network packet and traffic generator and analyzer with a friendly GUI"; - categories = [ "Network" ]; + name = "ostinato"; + desktopName = "Ostinato"; + genericName = "Packet/Traffic Generator and Analyzer"; + comment = "Network packet and traffic generator and analyzer with a friendly GUI"; + categories = [ "Network" ]; startupNotify = true; - exec = "@out@/bin/ostinato"; - icon = ostinatoIcon; - extraConfig = { + exec = "@out@/bin/ostinato"; + icon = ostinatoIcon; + extraConfig = { "GenericName[it]" = "Generatore ed Analizzatore di pacchetti di rete"; - "Comment[it]" = "Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole"; + "Comment[it]" = "Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole"; }; }); @@ -66,9 +85,9 @@ mkDerivation rec { meta = with lib; { description = "Packet traffic generator and analyzer"; - homepage = "https://ostinato.org/"; - license = licenses.gpl3Plus; + homepage = "https://ostinato.org/"; + license = licenses.gpl3Plus; maintainers = with maintainers; [ rick68 ]; - platforms = with platforms; linux ++ darwin ++ cygwin; + platforms = with platforms; linux ++ darwin ++ cygwin; }; } diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix index 241f2a02e8033..99309c0a0989a 100644 --- a/pkgs/applications/networking/p2p/deluge/default.nix +++ b/pkgs/applications/networking/p2p/deluge/default.nix @@ -1,14 +1,15 @@ -{ lib -, fetchurl -, intltool -, libtorrent-rasterbar -, python3Packages -, gtk3 -, glib -, gobject-introspection -, librsvg -, wrapGAppsHook3 -, nixosTests +{ + lib, + fetchurl, + intltool, + libtorrent-rasterbar, + python3Packages, + gtk3, + glib, + gobject-introspection, + librsvg, + wrapGAppsHook3, + nixosTests, }: let @@ -16,7 +17,8 @@ let pypkgs = python3Packages; - generic = { pname, withGUI }: + generic = + { pname, withGUI }: pypkgs.buildPythonPackage rec { inherit pname; version = "2.1.1"; @@ -26,37 +28,42 @@ let hash = "sha256-do3TGYAuQkN6s3lOvnW0lxQuCO1bD7JQO61izvRC3/c="; }; - propagatedBuildInputs = with pypkgs; [ - twisted - mako - chardet - pyxdg - pyopenssl - service-identity - libtorrent-rasterbar.dev - libtorrent-rasterbar.python - setuptools - setproctitle - pillow - rencode - six - zope-interface - dbus-python - pycairo - librsvg - ] ++ optionals withGUI [ - gtk3 - gobject-introspection - pygobject3 - ]; + propagatedBuildInputs = + with pypkgs; + [ + twisted + mako + chardet + pyxdg + pyopenssl + service-identity + libtorrent-rasterbar.dev + libtorrent-rasterbar.python + setuptools + setproctitle + pillow + rencode + six + zope-interface + dbus-python + pycairo + librsvg + ] + ++ optionals withGUI [ + gtk3 + gobject-introspection + pygobject3 + ]; - nativeBuildInputs = [ - intltool - glib - ] ++ optionals withGUI [ - gobject-introspection - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + intltool + glib + ] + ++ optionals withGUI [ + gobject-introspection + wrapGAppsHook3 + ]; nativeCheckInputs = with pypkgs; [ pytestCheckHook @@ -69,18 +76,24 @@ let doCheck = false; # tests are not working at all - postInstall = '' - install -Dm444 -t $out/lib/systemd/system packaging/systemd/*.service - '' + (if withGUI - then '' - mkdir -p $out/share - cp -R deluge/ui/data/{icons,pixmaps} $out/share/ - install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop - '' else '' - rm -r $out/bin/deluge-gtk - rm -r $out/${python3Packages.python.sitePackages}/deluge/ui/gtk3 - rm -r $out/share/{icons,man/man1/deluge-gtk*,pixmaps} - ''); + postInstall = + '' + install -Dm444 -t $out/lib/systemd/system packaging/systemd/*.service + '' + + ( + if withGUI then + '' + mkdir -p $out/share + cp -R deluge/ui/data/{icons,pixmaps} $out/share/ + install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop + '' + else + '' + rm -r $out/bin/deluge-gtk + rm -r $out/${python3Packages.python.sitePackages}/deluge/ui/gtk3 + rm -r $out/share/{icons,man/man1/deluge-gtk*,pixmaps} + '' + ); postFixup = '' for f in $out/lib/systemd/system/*; do @@ -94,14 +107,23 @@ let description = "Torrent client"; homepage = "https://deluge-torrent.org"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ domenkozar ebzzry ]; + maintainers = with maintainers; [ + domenkozar + ebzzry + ]; platforms = platforms.all; }; }; in rec { - deluge-gtk = generic { pname = "deluge-gtk"; withGUI = true; }; - deluged = generic { pname = "deluged"; withGUI = false; }; + deluge-gtk = generic { + pname = "deluge-gtk"; + withGUI = true; + }; + deluged = generic { + pname = "deluged"; + withGUI = false; + }; deluge = deluge-gtk; } diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix index 61501dbeb20e9..5b122cc3fe558 100644 --- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix +++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch2, cmake, pkg-config, bzip2, libX11 -, mkDerivation, qtbase, qttools, qtmultimedia, qtscript -, libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + cmake, + pkg-config, + bzip2, + libX11, + mkDerivation, + qtbase, + qttools, + qtmultimedia, + qtscript, + libiconv, + pcre-cpp, + libidn, + lua5, + miniupnpc, + aspell, + gettext, + perl, +}: mkDerivation rec { pname = "eiskaltdcpp"; @@ -20,13 +40,30 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ qtbase qttools qtmultimedia qtscript bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext - (perl.withPackages (p: with p; [ - GetoptLong - TermShellUI - ])) ] - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + qtbase + qttools + qtmultimedia + qtscript + bzip2 + libX11 + pcre-cpp + libidn + lua5 + miniupnpc + aspell + gettext + (perl.withPackages ( + p: with p; [ + GetoptLong + TermShellUI + ] + )) + ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; cmakeFlags = [ "-DDBUS_NOTIFY=ON" diff --git a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix index d61ee7bb15ce8..ccc8aeceb8a35 100644 --- a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix +++ b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { version = "6.13.3"; @@ -42,6 +48,6 @@ stdenv.mkDerivation rec { ]; license = licenses.gpl3Plus; maintainers = with maintainers; [ gavin ]; - platforms = [ "x86_64-linux"]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/networking/p2p/gnunet/gtk.nix b/pkgs/applications/networking/p2p/gnunet/gtk.nix index 633a8da08778a..95c1780256d7b 100644 --- a/pkgs/applications/networking/p2p/gnunet/gtk.nix +++ b/pkgs/applications/networking/p2p/gnunet/gtk.nix @@ -1,14 +1,16 @@ -{ stdenv, fetchurl -, glade -, gnunet -, gnutls -, gtk3 -, libextractor -, libgcrypt -, libsodium -, libxml2 -, pkg-config -, wrapGAppsHook3 +{ + stdenv, + fetchurl, + glade, + gnunet, + gnutls, + gtk3, + libextractor, + libgcrypt, + libsodium, + libxml2, + pkg-config, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -20,7 +22,7 @@ stdenv.mkDerivation rec { hash = "sha256-vQFtKFI57YG64WpKVngx1kq687hI+f1kpP9ooK53/aw="; }; - nativeBuildInputs= [ + nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; diff --git a/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix index 883d995a0e02c..78f804fc6bce4 100644 --- a/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix +++ b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix @@ -1,13 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, curl -, gtest -, libtorrent -, ncurses -, jsonRpcSupport ? true, nlohmann_json -, xmlRpcSupport ? true, xmlrpc_c +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + curl, + gtest, + libtorrent, + ncurses, + jsonRpcSupport ? true, + nlohmann_json, + xmlRpcSupport ? true, + xmlrpc_c, }: stdenv.mkDerivation rec { @@ -33,19 +36,21 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = [ - curl - libtorrent - ncurses - ] - ++ lib.optional jsonRpcSupport nlohmann_json - ++ lib.optional xmlRpcSupport xmlrpc_c; + buildInputs = + [ + curl + libtorrent + ncurses + ] + ++ lib.optional jsonRpcSupport nlohmann_json + ++ lib.optional xmlRpcSupport xmlrpc_c; - cmakeFlags = [ - "-DUSE_RUNTIME_CA_DETECTION=NO" - ] - ++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO" - ++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO"; + cmakeFlags = + [ + "-DUSE_RUNTIME_CA_DETECTION=NO" + ] + ++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO" + ++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO"; doCheck = true; diff --git a/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix index e267a059a289a..50d250e7efe30 100644 --- a/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix +++ b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest -, openssl -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, + openssl, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/p2p/libutp/3.4.nix b/pkgs/applications/networking/p2p/libutp/3.4.nix index fb853354308ca..ae575bc8c396f 100644 --- a/pkgs/applications/networking/p2p/libutp/3.4.nix +++ b/pkgs/applications/networking/p2p/libutp/3.4.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, cmake, unstableGitUpdater }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "libutp"; diff --git a/pkgs/applications/networking/p2p/libutp/default.nix b/pkgs/applications/networking/p2p/libutp/default.nix index a07ffdea6b69d..a9ba52e1b497d 100644 --- a/pkgs/applications/networking/p2p/libutp/default.nix +++ b/pkgs/applications/networking/p2p/libutp/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libutp"; diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix index d83a33833b0bc..1f144f9577e26 100644 --- a/pkgs/applications/networking/p2p/mldonkey/default.nix +++ b/pkgs/applications/networking/p2p/mldonkey/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, ocamlPackages, zlib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + ocamlPackages, + zlib, +}: stdenv.mkDerivation rec { pname = "mldonkey"; @@ -33,7 +40,10 @@ stdenv.mkDerivation rec { ''; strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ ocaml camlp4 ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + camlp4 + ]; buildInputs = (with ocamlPackages; [ num ]) ++ [ zlib ]; meta = { diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix index bbfc978eef5b0..1bc2b7db19c70 100644 --- a/pkgs/applications/networking/p2p/retroshare/default.nix +++ b/pkgs/applications/networking/p2p/retroshare/default.nix @@ -1,7 +1,24 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch2 -, qmake, cmake, pkg-config, miniupnpc, bzip2 -, speex, libmicrohttpd, libxml2, libxslt, sqlcipher, rapidjson, libXScrnSaver -, qtbase, qtx11extras, qtmultimedia, libgnome-keyring +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch2, + qmake, + cmake, + pkg-config, + miniupnpc, + bzip2, + speex, + libmicrohttpd, + libxml2, + libxslt, + sqlcipher, + rapidjson, + libXScrnSaver, + qtbase, + qtx11extras, + qtmultimedia, + libgnome-keyring, }: mkDerivation rec { @@ -30,10 +47,25 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config qmake cmake ]; + nativeBuildInputs = [ + pkg-config + qmake + cmake + ]; buildInputs = [ - speex miniupnpc qtmultimedia qtx11extras qtbase libgnome-keyring - bzip2 libXScrnSaver libxml2 libxslt sqlcipher libmicrohttpd rapidjson + speex + miniupnpc + qtmultimedia + qtx11extras + qtbase + libgnome-keyring + bzip2 + libXScrnSaver + libxml2 + libxslt + sqlcipher + libmicrohttpd + rapidjson ]; qmakeFlags = [ diff --git a/pkgs/applications/networking/p2p/soulseekqt/default.nix b/pkgs/applications/networking/p2p/soulseekqt/default.nix index 917012279eb6e..2a7a3bb37e6a9 100644 --- a/pkgs/applications/networking/p2p/soulseekqt/default.nix +++ b/pkgs/applications/networking/p2p/soulseekqt/default.nix @@ -1,9 +1,13 @@ -{ stdenv, lib, fetchzip, mkDerivation -, appimageTools -, autoPatchelfHook -, desktop-file-utils -, imagemagick -, qtmultimedia +{ + stdenv, + lib, + fetchzip, + mkDerivation, + appimageTools, + autoPatchelfHook, + desktop-file-utils, + imagemagick, + qtmultimedia, }: mkDerivation rec { @@ -11,39 +15,46 @@ mkDerivation rec { version = "2018-1-30"; src = fetchzip { - url = "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz"; - sha256 = "16ncnvv8h33f161mgy7qc0wjvvqahsbwvby65qhgfh9pbbgb4xgg"; + url = "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz"; + sha256 = "16ncnvv8h33f161mgy7qc0wjvvqahsbwvby65qhgfh9pbbgb4xgg"; }; appextracted = appimageTools.extractType2 { inherit pname version; - src="${src}/SoulseekQt-2018-1-30-64bit.AppImage"; + src = "${src}/SoulseekQt-2018-1-30-64bit.AppImage"; }; dontBuild = true; dontConfigure = true; - nativeBuildInputs = [ imagemagick autoPatchelfHook desktop-file-utils ]; - buildInputs = [ qtmultimedia stdenv.cc.cc ]; + nativeBuildInputs = [ + imagemagick + autoPatchelfHook + desktop-file-utils + ]; + buildInputs = [ + qtmultimedia + stdenv.cc.cc + ]; installPhase = '' - binary="$(realpath ${appextracted}/AppRun)" - install -Dm755 $binary -t $out/bin - - # fixup and install desktop file - desktop-file-install --dir $out/share/applications \ - --set-key Exec --set-value SoulseekQt \ - --set-key Terminal --set-value false \ - --set-key Comment --set-value "${meta.description}" \ - --set-key Categories --set-value Network ${appextracted}/default.desktop - mv $out/share/applications/default.desktop $out/share/applications/SoulseekQt.desktop - #TODO: write generic code to read icon path from $binary.desktop - icon="$(realpath ${appextracted}/.DirIcon)" - for size in 16 32 48 64 72 96 128 192 256 512 1024; do - mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps - convert -resize "$size"x"$size" $icon $out/share/icons/hicolor/"$size"x"$size"/apps/$(basename $icon) - done - ''; + binary="$(realpath ${appextracted}/AppRun)" + install -Dm755 $binary -t $out/bin + + # fixup and install desktop file + desktop-file-install --dir $out/share/applications \ + --set-key Exec --set-value SoulseekQt \ + --set-key Terminal --set-value false \ + --set-key Comment --set-value "${meta.description}" \ + --set-key Categories --set-value Network ${appextracted}/default.desktop + mv $out/share/applications/default.desktop $out/share/applications/SoulseekQt.desktop + #TODO: write generic code to read icon path from $binary.desktop + icon="$(realpath ${appextracted}/.DirIcon)" + for size in 16 32 48 64 72 96 128 192 256 512 1024; do + mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps + convert -resize "$size"x"$size" $icon $out/share/icons/hicolor/"$size"x"$size"/apps/$(basename $icon) + done + ''; meta = with lib; { description = "Official Qt SoulSeek client"; diff --git a/pkgs/applications/networking/p2p/synapse-bt/default.nix b/pkgs/applications/networking/p2p/synapse-bt/default.nix index 120afed45de6a..ba0200066918d 100644 --- a/pkgs/applications/networking/p2p/synapse-bt/default.nix +++ b/pkgs/applications/networking/p2p/synapse-bt/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, CoreServices, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + CoreServices, + Security, +}: rustPlatform.buildRustPackage rec { pname = "synapse-bt"; @@ -14,8 +23,12 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-TwXouPYM7Hg1HEr2KnEPScYFkC52PcQ5kb5aGP1gj9U="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + ]; cargoBuildFlags = [ "--all" ]; diff --git a/pkgs/applications/networking/p2p/transmission/4.nix b/pkgs/applications/networking/p2p/transmission/4.nix index 900fd4a3974b1..45dcb717f2b8c 100644 --- a/pkgs/applications/networking/p2p/transmission/4.nix +++ b/pkgs/applications/networking/p2p/transmission/4.nix @@ -1,61 +1,64 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch2 -, cmake -, pkg-config -, python3 -, openssl -, curl -, libevent -, inotify-tools -, systemd -, zlib -, pcre -, libb64 -, libutp -, libdeflate -, utf8cpp -, fmt -, libpsl -, miniupnpc -, dht -, libnatpmp -, libiconv -, Foundation +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch2, + cmake, + pkg-config, + python3, + openssl, + curl, + libevent, + inotify-tools, + systemd, + zlib, + pcre, + libb64, + libutp, + libdeflate, + utf8cpp, + fmt, + libpsl, + miniupnpc, + dht, + libnatpmp, + libiconv, + Foundation, # Build options -, enableGTK3 ? false -, gtkmm3 -, xorg -, wrapGAppsHook3 -, enableQt5 ? false -, enableQt6 ? false -, qt5 -, qt6Packages -, nixosTests -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, enableDaemon ? true -, enableCli ? true -, installLib ? false -, apparmorRulesFromClosure + enableGTK3 ? false, + gtkmm3, + xorg, + wrapGAppsHook3, + enableQt5 ? false, + enableQt6 ? false, + qt5, + qt6Packages, + nixosTests, + enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + enableDaemon ? true, + enableCli ? true, + installLib ? false, + apparmorRulesFromClosure, }: let inherit (lib) cmakeBool optionals; - apparmorRules = apparmorRulesFromClosure { name = "transmission-daemon"; } ([ - curl - libdeflate - libevent - libnatpmp - libpsl - miniupnpc - openssl - pcre - zlib - ] - ++ optionals enableSystemd [ systemd ] - ++ optionals stdenv.hostPlatform.isLinux [ inotify-tools ]); + apparmorRules = apparmorRulesFromClosure { name = "transmission-daemon"; } ( + [ + curl + libdeflate + libevent + libnatpmp + libpsl + miniupnpc + openssl + pcre + zlib + ] + ++ optionals enableSystemd [ systemd ] + ++ optionals stdenv.hostPlatform.isLinux [ inotify-tools ] + ); in stdenv.mkDerivation (finalAttrs: { @@ -84,20 +87,25 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "apparmor" ]; - - cmakeFlags = [ - (cmakeBool "ENABLE_CLI" enableCli) - (cmakeBool "ENABLE_DAEMON" enableDaemon) - (cmakeBool "ENABLE_GTK" enableGTK3) - (cmakeBool "ENABLE_MAC" false) # requires xcodebuild - (cmakeBool "ENABLE_QT" (enableQt5 || enableQt6)) - (cmakeBool "INSTALL_LIB" installLib) - ] ++ optionals stdenv.hostPlatform.isDarwin [ - # Transmission sets this to 10.13 if not explicitly specified, see https://github.com/transmission/transmission/blob/0be7091eb12f4eb55f6690f313ef70a66795ee72/CMakeLists.txt#L7-L16. - "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}" + outputs = [ + "out" + "apparmor" ]; + cmakeFlags = + [ + (cmakeBool "ENABLE_CLI" enableCli) + (cmakeBool "ENABLE_DAEMON" enableDaemon) + (cmakeBool "ENABLE_GTK" enableGTK3) + (cmakeBool "ENABLE_MAC" false) # requires xcodebuild + (cmakeBool "ENABLE_QT" (enableQt5 || enableQt6)) + (cmakeBool "INSTALL_LIB" installLib) + ] + ++ optionals stdenv.hostPlatform.isDarwin [ + # Transmission sets this to 10.13 if not explicitly specified, see https://github.com/transmission/transmission/blob/0be7091eb12f4eb55f6690f313ef70a66795ee72/CMakeLists.txt#L7-L16. + "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}" + ]; + postPatch = '' # Clean third-party libraries to ensure system ones are used. # Excluding gtest since it is hardcoded to vendored version. The rest of the listed libraries are not packaged. @@ -119,37 +127,54 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '#if defined(HAVE_GETTEXT) && !defined(__APPLE__)' '#if defined(HAVE_GETTEXT)' ''; - nativeBuildInputs = [ - pkg-config - cmake - python3 - ] - ++ optionals enableGTK3 [ wrapGAppsHook3 ] - ++ optionals enableQt5 [ qt5.wrapQtAppsHook ] - ++ optionals enableQt6 [ qt6Packages.wrapQtAppsHook ] - ; - - buildInputs = [ - curl - dht - fmt - libb64 - libdeflate - libevent - libnatpmp - libpsl - libutp - miniupnpc - openssl - pcre - utf8cpp - zlib - ] - ++ optionals enableQt5 (with qt5; [ qttools qtbase ]) - ++ optionals enableQt6 (with qt6Packages; [ qttools qtbase qtsvg ]) - ++ optionals enableGTK3 [ gtkmm3 xorg.libpthreadstubs ] - ++ optionals enableSystemd [ systemd ] - ++ optionals stdenv.hostPlatform.isLinux [ inotify-tools ]; + nativeBuildInputs = + [ + pkg-config + cmake + python3 + ] + ++ optionals enableGTK3 [ wrapGAppsHook3 ] + ++ optionals enableQt5 [ qt5.wrapQtAppsHook ] + ++ optionals enableQt6 [ qt6Packages.wrapQtAppsHook ]; + + buildInputs = + [ + curl + dht + fmt + libb64 + libdeflate + libevent + libnatpmp + libpsl + libutp + miniupnpc + openssl + pcre + utf8cpp + zlib + ] + ++ optionals enableQt5 ( + with qt5; + [ + qttools + qtbase + ] + ) + ++ optionals enableQt6 ( + with qt6Packages; + [ + qttools + qtbase + qtsvg + ] + ) + ++ optionals enableGTK3 [ + gtkmm3 + xorg.libpthreadstubs + ] + ++ optionals enableSystemd [ systemd ] + ++ optionals stdenv.hostPlatform.isLinux [ inotify-tools ]; postInstall = '' mkdir $apparmor @@ -181,7 +206,13 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Fast, easy and free BitTorrent client"; - mainProgram = if (enableQt5 || enableQt6) then "transmission-qt" else if enableGTK3 then "transmission-gtk" else "transmission-cli"; + mainProgram = + if (enableQt5 || enableQt6) then + "transmission-qt" + else if enableGTK3 then + "transmission-gtk" + else + "transmission-cli"; longDescription = '' Transmission is a BitTorrent client which features a simple interface on top of a cross-platform back-end. @@ -194,7 +225,10 @@ stdenv.mkDerivation (finalAttrs: { * Full encryption, DHT, and PEX support ''; homepage = "https://www.transmissionbt.com/"; - license = with licenses; [ gpl2Plus mit ]; + license = with licenses; [ + gpl2Plus + mit + ]; maintainers = with maintainers; [ astsmtl ]; platforms = platforms.unix; }; diff --git a/pkgs/applications/networking/p2p/tremotesf/default.nix b/pkgs/applications/networking/p2p/tremotesf/default.nix index 6cf8c73bfb693..2f2eab6ada89e 100644 --- a/pkgs/applications/networking/p2p/tremotesf/default.nix +++ b/pkgs/applications/networking/p2p/tremotesf/default.nix @@ -1,16 +1,17 @@ -{stdenv -,lib -, cmake -, pkg-config -, fetchFromGitHub -, qtbase -, qttools -, kwidgetsaddons -, kwindowsystem -, fmt -, libpsl -, cxxopts -, wrapQtAppsHook +{ + stdenv, + lib, + cmake, + pkg-config, + fetchFromGitHub, + qtbase, + qttools, + kwidgetsaddons, + kwindowsystem, + fmt, + libpsl, + cxxopts, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/networking/protonvpn-cli/2.nix b/pkgs/applications/networking/protonvpn-cli/2.nix index c8f21cfc0df96..a707832771a69 100644 --- a/pkgs/applications/networking/protonvpn-cli/2.nix +++ b/pkgs/applications/networking/protonvpn-cli/2.nix @@ -1,15 +1,17 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, pythonOlder -, requests -, docopt -, pythondialog -, jinja2 -, distro -, dialog -, iptables -, openvpn }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pythonOlder, + requests, + docopt, + pythondialog, + jinja2, + distro, + dialog, + iptables, + openvpn, +}: buildPythonApplication rec { pname = "protonvpn-cli_2"; @@ -43,7 +45,11 @@ buildPythonApplication rec { meta = with lib; { description = "Linux command-line client for ProtonVPN using Openvpn"; homepage = "https://github.com/Rafficer/linux-cli-community"; - maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ]; + maintainers = with maintainers; [ + jtcoolen + jefflabonte + shamilton + ]; license = licenses.gpl3Plus; platforms = platforms.linux; mainProgram = "protonvpn"; diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix index 7a79c986ca300..3c896200c98d7 100644 --- a/pkgs/applications/networking/protonvpn-cli/default.nix +++ b/pkgs/applications/networking/protonvpn-cli/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonApplication -, pythonOlder -, fetchFromGitHub -, protonvpn-nm-lib -, pythondialog -, dialog +{ + lib, + buildPythonApplication, + pythonOlder, + fetchFromGitHub, + protonvpn-nm-lib, + pythondialog, + dialog, }: buildPythonApplication rec { diff --git a/pkgs/applications/networking/qv2ray/default.nix b/pkgs/applications/networking/qv2ray/default.nix index bf3dd2bd23e35..2e570937f2d7e 100644 --- a/pkgs/applications/networking/qv2ray/default.nix +++ b/pkgs/applications/networking/qv2ray/default.nix @@ -1,21 +1,26 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, symlinkJoin -, qttools -, cmake -, grpc -, protobuf_21 -, openssl -, pkg-config -, c-ares -, libGL -, zlib -, curl -, v2ray -, v2ray-geoip, v2ray-domain-list-community -, assets ? [ v2ray-geoip v2ray-domain-list-community ] +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + symlinkJoin, + qttools, + cmake, + grpc, + protobuf_21, + openssl, + pkg-config, + c-ares, + libGL, + zlib, + curl, + v2ray, + v2ray-geoip, + v2ray-domain-list-community, + assets ? [ + v2ray-geoip + v2ray-domain-list-community + ], }: mkDerivation rec { @@ -73,7 +78,10 @@ mkDerivation rec { description = "GUI frontend to v2ray"; homepage = "https://github.com/Qv2ray/Qv2ray"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ poscat rewine ]; + maintainers = with maintainers; [ + poscat + rewine + ]; platforms = platforms.all; # never built on aarch64-darwin, x86_64-darwin since update to unstable-2022-09-25 broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix index 891dfe5d8e9e4..c6bd8596920b5 100644 --- a/pkgs/applications/networking/remote/citrix-workspace/default.nix +++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix @@ -9,16 +9,19 @@ let toAttrName = x: "citrix_workspace_${builtins.replaceStrings [ "." ] [ "_" ] x}"; unsupported = lib.listToAttrs ( - map (x: lib.nameValuePair (toAttrName x) (throw '' - Citrix Workspace at version ${x} is not supported anymore! + map ( + x: + lib.nameValuePair (toAttrName x) (throw '' + Citrix Workspace at version ${x} is not supported anymore! - Actively supported releases are listed here: - https://www.citrix.com/support/product-lifecycle/workspace-app.html - '')) unsupportedVersions + Actively supported releases are listed here: + https://www.citrix.com/support/product-lifecycle/workspace-app.html + '') + ) unsupportedVersions ); supported = lib.mapAttrs' ( attr: versionInfo: lib.nameValuePair (toAttrName attr) (callPackage ./generic.nix versionInfo) ) supportedVersions; in - supported // unsupported +supported // unsupported diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix index 42d393c20b328..328d330475fd5 100644 --- a/pkgs/applications/networking/remote/citrix-workspace/sources.nix +++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix @@ -1,9 +1,23 @@ { stdenv, lib }: let - mkVersionInfo = _: { major, minor, patch, x64hash, x86hash, x64suffix, x86suffix, homepage }: - { inherit homepage; - version = "${major}.${minor}.${patch}.${if stdenv.hostPlatform.is64bit then x64suffix else x86suffix}"; + mkVersionInfo = + _: + { + major, + minor, + patch, + x64hash, + x86hash, + x64suffix, + x86suffix, + homepage, + }: + { + inherit homepage; + version = "${major}.${minor}.${patch}.${ + if stdenv.hostPlatform.is64bit then x64suffix else x86suffix + }"; prefix = "linuxx${if stdenv.hostPlatform.is64bit then "64" else "86"}"; hash = if stdenv.hostPlatform.is64bit then x64hash else x86hash; }; @@ -15,58 +29,58 @@ let # x86 is unsupported past 23.11, see https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/deprecation supportedVersions = lib.mapAttrs mkVersionInfo { "23.09.0" = { - major = "23"; - minor = "9"; - patch = "0"; - x64hash = "7b06339654aa27258d6dfa922828b43256e780b282d07109f452246c7aa27514"; - x86hash = "95436fb289602cf31c65b7df89da145fc170233cb2e758a2f11116f15b57d382"; + major = "23"; + minor = "9"; + patch = "0"; + x64hash = "7b06339654aa27258d6dfa922828b43256e780b282d07109f452246c7aa27514"; + x86hash = "95436fb289602cf31c65b7df89da145fc170233cb2e758a2f11116f15b57d382"; x64suffix = "24"; x86suffix = "24"; - homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest9.html"; + homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest9.html"; }; "23.11.0" = { - major = "23"; - minor = "11"; - patch = "0"; - x64hash = "d3dde64baa6db7675a025eff546d552544d3523f4f3047621884f7830a9e2822"; - x86hash = "65b8c144e51b5bd78b98ae69e0fa76d6c020a857d74fd5254be49492527072b6"; + major = "23"; + minor = "11"; + patch = "0"; + x64hash = "d3dde64baa6db7675a025eff546d552544d3523f4f3047621884f7830a9e2822"; + x86hash = "65b8c144e51b5bd78b98ae69e0fa76d6c020a857d74fd5254be49492527072b6"; x64suffix = "82"; x86suffix = "82"; - homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest10.html"; + homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest10.html"; }; "24.02.0" = { - major = "24"; - minor = "2"; - patch = "0"; - x64hash = "eaeb5d3bd079d4e5c9707da67f5f7a25cb765e19c36d01861290655dbf2aaee4"; - x86hash = ""; + major = "24"; + minor = "2"; + patch = "0"; + x64hash = "eaeb5d3bd079d4e5c9707da67f5f7a25cb765e19c36d01861290655dbf2aaee4"; + x86hash = ""; x64suffix = "65"; x86suffix = ""; - homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest12.html"; + homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest12.html"; }; "24.05.0" = { - major = "24"; - minor = "5"; - patch = "0"; - x64hash = "sha256-pye2JOilSbp8PFCpVXFkrRW98E8klCqoisVSWjR38nE="; - x86hash = ""; + major = "24"; + minor = "5"; + patch = "0"; + x64hash = "sha256-pye2JOilSbp8PFCpVXFkrRW98E8klCqoisVSWjR38nE="; + x86hash = ""; x64suffix = "76"; x86suffix = ""; - homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html"; + homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html"; }; "24.08.0" = { - major = "24"; - minor = "8"; - patch = "0"; - x64hash = "1jb22n6gcv4pv8khg98sv663yfpi47dpkvqgifbhps98iw5zrkbp"; - x86hash = ""; + major = "24"; + minor = "8"; + patch = "0"; + x64hash = "1jb22n6gcv4pv8khg98sv663yfpi47dpkvqgifbhps98iw5zrkbp"; + x86hash = ""; x64suffix = "98"; x86suffix = ""; - homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html"; + homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html"; }; }; @@ -75,7 +89,11 @@ let # # The lifespans of Citrix products can be found here: # https://www.citrix.com/support/product-lifecycle/workspace-app.html - unsupportedVersions = [ "23.02.0" "23.07.0" ]; -in { + unsupportedVersions = [ + "23.02.0" + "23.07.0" + ]; +in +{ inherit supportedVersions unsupportedVersions; } diff --git a/pkgs/applications/networking/remote/freerdp/3.nix b/pkgs/applications/networking/remote/freerdp/3.nix index 3071928503b82..26c0567c666eb 100644 --- a/pkgs/applications/networking/remote/freerdp/3.nix +++ b/pkgs/applications/networking/remote/freerdp/3.nix @@ -1,69 +1,70 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, docbook-xsl-nons -, libxslt -, pkg-config -, alsa-lib -, faac -, faad2 -, ffmpeg -, fuse3 -, glib -, openh264 -, openssl -, pcre2 -, pkcs11helper -, uriparser -, zlib -, libX11 -, libXcursor -, libXdamage -, libXdmcp -, libXext -, libXi -, libXinerama -, libXrandr -, libXrender -, libXtst -, libXv -, libxkbcommon -, libxkbfile -, wayland -, wayland-scanner -, icu -, libunwind -, orc -, cairo -, cjson -, libusb1 -, libpulseaudio -, cups -, pcsclite -, SDL2 -, SDL2_ttf -, SDL2_image -, systemd -, libjpeg_turbo -, libkrb5 -, libopus -, buildServer ? true -, nocaps ? false -, AudioToolbox -, AVFoundation -, Carbon -, Cocoa -, CoreMedia -, withUnfree ? false +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + docbook-xsl-nons, + libxslt, + pkg-config, + alsa-lib, + faac, + faad2, + ffmpeg, + fuse3, + glib, + openh264, + openssl, + pcre2, + pkcs11helper, + uriparser, + zlib, + libX11, + libXcursor, + libXdamage, + libXdmcp, + libXext, + libXi, + libXinerama, + libXrandr, + libXrender, + libXtst, + libXv, + libxkbcommon, + libxkbfile, + wayland, + wayland-scanner, + icu, + libunwind, + orc, + cairo, + cjson, + libusb1, + libpulseaudio, + cups, + pcsclite, + SDL2, + SDL2_ttf, + SDL2_image, + systemd, + libjpeg_turbo, + libkrb5, + libopus, + buildServer ? true, + nocaps ? false, + AudioToolbox, + AVFoundation, + Carbon, + Cocoa, + CoreMedia, + withUnfree ? false, # tries to compile and run generate_argument_docbook.c -, withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform + withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, -, buildPackages -, gnome -, remmina + buildPackages, + gnome, + remmina, }: stdenv.mkDerivation (finalAttrs: { @@ -77,22 +78,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-oThlqUpEmhcLpMMYExMA3GbtB2+lq6oc5TRZt0eKRLA="; }; - postPatch = '' - export HOME=$TMP + postPatch = + '' + export HOME=$TMP - # skip NIB file generation on darwin - substituteInPlace "client/Mac/CMakeLists.txt" "client/Mac/cli/CMakeLists.txt" \ - --replace-fail "if (NOT IS_XCODE)" "if (FALSE)" + # skip NIB file generation on darwin + substituteInPlace "client/Mac/CMakeLists.txt" "client/Mac/cli/CMakeLists.txt" \ + --replace-fail "if (NOT IS_XCODE)" "if (FALSE)" - substituteInPlace "libfreerdp/freerdp.pc.in" \ - --replace-fail "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@" - '' + lib.optionalString (pcsclite != null) '' - substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \ - --replace-fail "libpcsclite.so" "${lib.getLib pcsclite}/lib/libpcsclite.so" - '' + lib.optionalString nocaps '' - substituteInPlace "libfreerdp/locale/keyboard_xkbfile.c" \ - --replace-fail "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL" - ''; + substituteInPlace "libfreerdp/freerdp.pc.in" \ + --replace-fail "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@" + '' + + lib.optionalString (pcsclite != null) '' + substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \ + --replace-fail "libpcsclite.so" "${lib.getLib pcsclite}/lib/libpcsclite.so" + '' + + lib.optionalString nocaps '' + substituteInPlace "libfreerdp/locale/keyboard_xkbfile.c" \ + --replace-fail "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL" + ''; nativeBuildInputs = [ cmake @@ -102,99 +106,111 @@ stdenv.mkDerivation (finalAttrs: { wayland-scanner ]; - buildInputs = [ - cairo - cjson - cups - faad2 - ffmpeg - glib - icu - libX11 - libXcursor - libXdamage - libXdmcp - libXext - libXi - libXinerama - libXrandr - libXrender - libXtst - libXv - libjpeg_turbo - libkrb5 - libopus - libpulseaudio - libunwind - libusb1 - libxkbcommon - libxkbfile - openh264 - openssl - orc - pcre2 - pcsclite - pkcs11helper - SDL2 - SDL2_ttf - SDL2_image - uriparser - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - fuse3 - systemd - wayland - wayland-scanner - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AudioToolbox - AVFoundation - Carbon - Cocoa - CoreMedia - ] ++ lib.optionals withUnfree [ - faac - ]; + buildInputs = + [ + cairo + cjson + cups + faad2 + ffmpeg + glib + icu + libX11 + libXcursor + libXdamage + libXdmcp + libXext + libXi + libXinerama + libXrandr + libXrender + libXtst + libXv + libjpeg_turbo + libkrb5 + libopus + libpulseaudio + libunwind + libusb1 + libxkbcommon + libxkbfile + openh264 + openssl + orc + pcre2 + pcsclite + pkcs11helper + SDL2 + SDL2_ttf + SDL2_image + uriparser + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + fuse3 + systemd + wayland + wayland-scanner + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + AVFoundation + Carbon + Cocoa + CoreMedia + ] + ++ lib.optionals withUnfree [ + faac + ]; # https://github.com/FreeRDP/FreeRDP/issues/8526#issuecomment-1357134746 - cmakeFlags = [ - "-Wno-dev" - (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") - (lib.cmakeFeature "DOCBOOKXSL_DIR" "${docbook-xsl-nons}/xml/xsl/docbook") - ] ++ lib.mapAttrsToList lib.cmakeBool { - BUILD_TESTING = false; # false is recommended by upstream - WITH_CAIRO = cairo != null; - WITH_CUPS = cups != null; - WITH_FAAC = withUnfree && faac != null; - WITH_FAAD2 = faad2 != null; - WITH_FUSE = stdenv.hostPlatform.isLinux && fuse3 != null; - WITH_JPEG = libjpeg_turbo != null; - WITH_KRB5 = libkrb5 != null; - WITH_OPENH264 = openh264 != null; - WITH_OPUS = libopus != null; - WITH_OSS = false; - WITH_MANPAGES = withManPages; - WITH_PCSC = pcsclite != null; - WITH_PULSE = libpulseaudio != null; - WITH_SERVER = buildServer; - WITH_WEBVIEW = false; # avoid introducing webkit2gtk-4.0 - WITH_VAAPI = false; # false is recommended by upstream - WITH_X11 = true; - } ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - (lib.cmakeBool "SDL_USE_COMPILED_RESOURCES" false) - ]; + cmakeFlags = + [ + "-Wno-dev" + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") + (lib.cmakeFeature "DOCBOOKXSL_DIR" "${docbook-xsl-nons}/xml/xsl/docbook") + ] + ++ lib.mapAttrsToList lib.cmakeBool { + BUILD_TESTING = false; # false is recommended by upstream + WITH_CAIRO = cairo != null; + WITH_CUPS = cups != null; + WITH_FAAC = withUnfree && faac != null; + WITH_FAAD2 = faad2 != null; + WITH_FUSE = stdenv.hostPlatform.isLinux && fuse3 != null; + WITH_JPEG = libjpeg_turbo != null; + WITH_KRB5 = libkrb5 != null; + WITH_OPENH264 = openh264 != null; + WITH_OPUS = libopus != null; + WITH_OSS = false; + WITH_MANPAGES = withManPages; + WITH_PCSC = pcsclite != null; + WITH_PULSE = libpulseaudio != null; + WITH_SERVER = buildServer; + WITH_WEBVIEW = false; # avoid introducing webkit2gtk-4.0 + WITH_VAAPI = false; # false is recommended by upstream + WITH_X11 = true; + } + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + (lib.cmakeBool "SDL_USE_COMPILED_RESOURCES" false) + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-DTARGET_OS_IPHONE=0" - "-DTARGET_OS_WATCH=0" - "-include AudioToolbox/AudioToolbox.h" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-DTARGET_OS_IPHONE=0" + "-DTARGET_OS_WATCH=0" + "-include AudioToolbox/AudioToolbox.h" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); - env.NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-framework AudioToolbox" - ]); + env.NIX_LDFLAGS = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-framework AudioToolbox" + ] + ); passthru.tests = { inherit remmina; diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index 7490066c73271..0d4de207b00ad 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -1,75 +1,78 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, docbook-xsl-nons -, libxslt -, pkg-config -, alsa-lib -, faac -, faad2 -, ffmpeg -, glib -, openh264 -, openssl -, pcre2 -, zlib -, libX11 -, libXcursor -, libXdamage -, libXdmcp -, libXext -, libXi -, libXinerama -, libXrandr -, libXrender -, libXtst -, libXv -, libxkbcommon -, libxkbfile -, wayland -, wayland-scanner -, gstreamer -, gst-plugins-base -, gst-plugins-good -, libunwind -, orc -, cairo -, libusb1 -, libpulseaudio -, cups -, pcsclite -, systemd -, libjpeg_turbo -, buildServer ? true -, nocaps ? false -, AudioToolbox -, AVFoundation -, Carbon -, Cocoa -, CoreMedia -, withUnfree ? false - -# tries to compile and run generate_argument_docbook.c -, withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform - -, buildPackages +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + docbook-xsl-nons, + libxslt, + pkg-config, + alsa-lib, + faac, + faad2, + ffmpeg, + glib, + openh264, + openssl, + pcre2, + zlib, + libX11, + libXcursor, + libXdamage, + libXdmcp, + libXext, + libXi, + libXinerama, + libXrandr, + libXrender, + libXtst, + libXv, + libxkbcommon, + libxkbfile, + wayland, + wayland-scanner, + gstreamer, + gst-plugins-base, + gst-plugins-good, + libunwind, + orc, + cairo, + libusb1, + libpulseaudio, + cups, + pcsclite, + systemd, + libjpeg_turbo, + buildServer ? true, + nocaps ? false, + AudioToolbox, + AVFoundation, + Carbon, + Cocoa, + CoreMedia, + withUnfree ? false, + + # tries to compile and run generate_argument_docbook.c + withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + + buildPackages, }: let cmFlag = flag: if flag then "ON" else "OFF"; - disabledTests = [ - # this one is probably due to our sandbox - { - dir = "libfreerdp/crypto/test"; - file = "Test_x509_cert_info.c"; - } - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - { - dir = "winpr/libwinpr/sysinfo/test"; - file = "TestGetComputerName.c"; - } - ]; + disabledTests = + [ + # this one is probably due to our sandbox + { + dir = "libfreerdp/crypto/test"; + file = "Test_x509_cert_info.c"; + } + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + { + dir = "winpr/libwinpr/sysinfo/test"; + file = "TestGetComputerName.c"; + } + ]; inherit (lib) optionals; @@ -85,113 +88,126 @@ stdenv.mkDerivation rec { hash = "sha256-w+xyMNFmKylSheK0yAGl8J6MXly/HUjjAfR9Qq3s/kA="; }; - postPatch = '' - export HOME=$TMP - - # skip NIB file generation on darwin - sed -z 's/NIB file generation.*//' -i client/Mac{,/cli}/CMakeLists.txt - - # failing test(s) - ${lib.concatMapStringsSep "\n" (e: '' - substituteInPlace ${e.dir}/CMakeLists.txt \ - --replace ${e.file} "" - rm ${e.dir}/${e.file} - '') disabledTests} - - substituteInPlace "libfreerdp/freerdp.pc.in" \ - --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@" - '' + lib.optionalString (pcsclite != null) '' - substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \ - --replace "libpcsclite.so" "${lib.getLib pcsclite}/lib/libpcsclite.so" - '' + lib.optionalString nocaps '' - substituteInPlace "libfreerdp/locale/keyboard_xkbfile.c" \ - --replace "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL" - ''; - - buildInputs = [ - cairo - cups - faad2 - ffmpeg - glib - gst-plugins-base - gst-plugins-good - gstreamer - libX11 - libXcursor - libXdamage - libXdmcp - libXext - libXi - libXinerama - libXrandr - libXrender - libXtst - libXv - libjpeg_turbo - libpulseaudio - libunwind - libusb1 - libxkbcommon - libxkbfile - openh264 - openssl - orc - pcre2 - pcsclite - zlib - ] ++ optionals stdenv.hostPlatform.isLinux [ - alsa-lib - systemd - wayland - ] ++ optionals stdenv.hostPlatform.isDarwin [ - AudioToolbox - AVFoundation - Carbon - Cocoa - CoreMedia - ] - ++ optionals withUnfree [ - faac - ]; + postPatch = + '' + export HOME=$TMP + + # skip NIB file generation on darwin + sed -z 's/NIB file generation.*//' -i client/Mac{,/cli}/CMakeLists.txt + + # failing test(s) + ${lib.concatMapStringsSep "\n" (e: '' + substituteInPlace ${e.dir}/CMakeLists.txt \ + --replace ${e.file} "" + rm ${e.dir}/${e.file} + '') disabledTests} + + substituteInPlace "libfreerdp/freerdp.pc.in" \ + --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@" + '' + + lib.optionalString (pcsclite != null) '' + substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \ + --replace "libpcsclite.so" "${lib.getLib pcsclite}/lib/libpcsclite.so" + '' + + lib.optionalString nocaps '' + substituteInPlace "libfreerdp/locale/keyboard_xkbfile.c" \ + --replace "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL" + ''; + + buildInputs = + [ + cairo + cups + faad2 + ffmpeg + glib + gst-plugins-base + gst-plugins-good + gstreamer + libX11 + libXcursor + libXdamage + libXdmcp + libXext + libXi + libXinerama + libXrandr + libXrender + libXtst + libXv + libjpeg_turbo + libpulseaudio + libunwind + libusb1 + libxkbcommon + libxkbfile + openh264 + openssl + orc + pcre2 + pcsclite + zlib + ] + ++ optionals stdenv.hostPlatform.isLinux [ + alsa-lib + systemd + wayland + ] + ++ optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + AVFoundation + Carbon + Cocoa + CoreMedia + ] + ++ optionals withUnfree [ + faac + ]; nativeBuildInputs = [ - cmake libxslt docbook-xsl-nons pkg-config + cmake + libxslt + docbook-xsl-nons + pkg-config wayland-scanner ]; doCheck = true; # https://github.com/FreeRDP/FreeRDP/issues/8526#issuecomment-1357134746 - cmakeFlags = [ - "-Wno-dev" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DDOCBOOKXSL_DIR=${docbook-xsl-nons}/xml/xsl/docbook" - ] - ++ lib.mapAttrsToList (k: v: "-D${k}=${cmFlag v}") { - BUILD_TESTING = false; # false is recommended by upstream - WITH_CAIRO = (cairo != null); - WITH_CUPS = (cups != null); - WITH_FAAC = (withUnfree && faac != null); - WITH_FAAD2 = (faad2 != null); - WITH_JPEG = (libjpeg_turbo != null); - WITH_OPENH264 = (openh264 != null); - WITH_OSS = false; - WITH_MANPAGES = withManPages; - WITH_PCSC = (pcsclite != null); - WITH_PULSE = (libpulseaudio != null); - WITH_SERVER = buildServer; - WITH_VAAPI = false; # false is recommended by upstream - WITH_X11 = true; - }; - - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-DTARGET_OS_IPHONE=0" - "-DTARGET_OS_WATCH=0" - "-include AudioToolbox/AudioToolbox.h" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=incompatible-function-pointer-types" - ]); + cmakeFlags = + [ + "-Wno-dev" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DDOCBOOKXSL_DIR=${docbook-xsl-nons}/xml/xsl/docbook" + ] + ++ lib.mapAttrsToList (k: v: "-D${k}=${cmFlag v}") { + BUILD_TESTING = false; # false is recommended by upstream + WITH_CAIRO = (cairo != null); + WITH_CUPS = (cups != null); + WITH_FAAC = (withUnfree && faac != null); + WITH_FAAD2 = (faad2 != null); + WITH_JPEG = (libjpeg_turbo != null); + WITH_OPENH264 = (openh264 != null); + WITH_OSS = false; + WITH_MANPAGES = withManPages; + WITH_PCSC = (pcsclite != null); + WITH_PULSE = (libpulseaudio != null); + WITH_SERVER = buildServer; + WITH_VAAPI = false; # false is recommended by upstream + WITH_X11 = true; + }; + + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-DTARGET_OS_IPHONE=0" + "-DTARGET_OS_WATCH=0" + "-include AudioToolbox/AudioToolbox.h" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); NIX_LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin [ "-framework AudioToolbox" diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index a05afc9a652af..69f773163d0a1 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -1,19 +1,53 @@ -{ lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook3 -, curl, fuse3, fetchpatch2 -, desktopToDarwinBundle -, glib, gtk3, gettext, libxkbfile, libX11, python3 -, freerdp3, libssh, libgcrypt, gnutls -, pcre2, libdbusmenu-gtk3, libappindicator-gtk3 -, libvncserver, libpthreadstubs, libXdmcp, libxkbcommon -, libsecret, libsoup_3, spice-protocol, spice-gtk, libepoxy, at-spi2-core -, openssl, gsettings-desktop-schemas, json-glib, libsodium, harfbuzz -, wayland -# The themes here are soft dependencies; only icons are missing without them. -, adwaita-icon-theme -, withKf5Wallet ? stdenv.hostPlatform.isLinux, libsForQt5 -, withLibsecret ? stdenv.hostPlatform.isLinux -, withWebkitGtk ? false, webkitgtk_4_1 -, withVte ? true, vte +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + ninja, + pkg-config, + wrapGAppsHook3, + curl, + fuse3, + fetchpatch2, + desktopToDarwinBundle, + glib, + gtk3, + gettext, + libxkbfile, + libX11, + python3, + freerdp3, + libssh, + libgcrypt, + gnutls, + pcre2, + libdbusmenu-gtk3, + libappindicator-gtk3, + libvncserver, + libpthreadstubs, + libXdmcp, + libxkbcommon, + libsecret, + libsoup_3, + spice-protocol, + spice-gtk, + libepoxy, + at-spi2-core, + openssl, + gsettings-desktop-schemas, + json-glib, + libsodium, + harfbuzz, + wayland, + # The themes here are soft dependencies; only icons are missing without them. + adwaita-icon-theme, + withKf5Wallet ? stdenv.hostPlatform.isLinux, + libsForQt5, + withLibsecret ? stdenv.hostPlatform.isLinux, + withWebkitGtk ? false, + webkitgtk_4_1, + withVte ? true, + vte, }: stdenv.mkDerivation (finalAttrs: { @@ -27,41 +61,69 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-u+ysAFi7I7nXIiAw7VCmHbqgtRoZgkPnRfy/Mnl1b2g="; }; - nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook3 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + wrapGAppsHook3 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; - buildInputs = [ - curl - gsettings-desktop-schemas - glib gtk3 gettext libxkbfile libX11 - freerdp3 libssh libgcrypt gnutls - pcre2 - libvncserver libpthreadstubs libXdmcp libxkbcommon - libsoup_3 spice-protocol - spice-gtk - libepoxy at-spi2-core - openssl adwaita-icon-theme json-glib libsodium - harfbuzz python3 - wayland - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ fuse3 libappindicator-gtk3 libdbusmenu-gtk3 ] + buildInputs = + [ + curl + gsettings-desktop-schemas + glib + gtk3 + gettext + libxkbfile + libX11 + freerdp3 + libssh + libgcrypt + gnutls + pcre2 + libvncserver + libpthreadstubs + libXdmcp + libxkbcommon + libsoup_3 + spice-protocol + spice-gtk + libepoxy + at-spi2-core + openssl + adwaita-icon-theme + json-glib + libsodium + harfbuzz + python3 + wayland + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + fuse3 + libappindicator-gtk3 + libdbusmenu-gtk3 + ] ++ lib.optionals withLibsecret [ libsecret ] ++ lib.optionals withKf5Wallet [ libsForQt5.kwallet ] ++ lib.optionals withWebkitGtk [ webkitgtk_4_1 ] ++ lib.optionals withVte [ vte ]; - cmakeFlags = [ - "-DWITH_FREERDP3=ON" - "-DWITH_VTE=${if withVte then "ON" else "OFF"}" - "-DWITH_TELEPATHY=OFF" - "-DWITH_AVAHI=OFF" - "-DWITH_KF5WALLET=${if withKf5Wallet then "ON" else "OFF"}" - "-DWITH_LIBSECRET=${if withLibsecret then "ON" else "OFF"}" - "-DWITH_WEBKIT2GTK=${if withWebkitGtk then "ON" else "OFF"}" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DHAVE_LIBAPPINDICATOR=OFF" - "-DWITH_CUPS=OFF" - "-DWITH_ICON_CACHE=OFF" - ]; + cmakeFlags = + [ + "-DWITH_FREERDP3=ON" + "-DWITH_VTE=${if withVte then "ON" else "OFF"}" + "-DWITH_TELEPATHY=OFF" + "-DWITH_AVAHI=OFF" + "-DWITH_KF5WALLET=${if withKf5Wallet then "ON" else "OFF"}" + "-DWITH_LIBSECRET=${if withLibsecret then "ON" else "OFF"}" + "-DWITH_WEBKIT2GTK=${if withWebkitGtk then "ON" else "OFF"}" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DHAVE_LIBAPPINDICATOR=OFF" + "-DWITH_CUPS=OFF" + "-DWITH_ICON_CACHE=OFF" + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [ "-DTARGET_OS_IPHONE=0" @@ -83,10 +145,16 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { license = licenses.gpl2Plus; homepage = "https://gitlab.com/Remmina/Remmina"; - changelog = "https://gitlab.com/Remmina/Remmina/-/blob/master/CHANGELOG.md#${lib.replaceStrings ["."] [""] finalAttrs.src.rev}"; + changelog = "https://gitlab.com/Remmina/Remmina/-/blob/master/CHANGELOG.md#${ + lib.replaceStrings [ "." ] [ "" ] finalAttrs.src.rev + }"; description = "Remote desktop client written in GTK"; mainProgram = "remmina"; - maintainers = with maintainers; [ bbigras melsigl ryantm ]; + maintainers = with maintainers; [ + bbigras + melsigl + ryantm + ]; platforms = platforms.linux ++ platforms.darwin; }; }) diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index c88f380961dea..45c972d4f87e6 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -1,55 +1,68 @@ -{ mkDerivation -, lib -, stdenv -, fetchurl -, autoPatchelfHook -, makeWrapper -, xdg-utils -, dbus -, getconf -, glibc -, libXrandr -, libX11 -, libXext -, libXdamage -, libXtst -, libSM -, libXfixes -, coreutils -, wrapQtAppsHook -, icu63 -, nss -, minizip +{ + mkDerivation, + lib, + stdenv, + fetchurl, + autoPatchelfHook, + makeWrapper, + xdg-utils, + dbus, + getconf, + glibc, + libXrandr, + libX11, + libXext, + libXdamage, + libXtst, + libSM, + libXfixes, + coreutils, + wrapQtAppsHook, + icu63, + nss, + minizip, }: mkDerivation rec { pname = "teamviewer"; # teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; version = "15.54.3"; src = let - base_url = "https://dl.teamviewer.com/download/linux/version_${lib.versions.major version}x"; + base_url = "https://dl.teamviewer.com/download/linux/version_${lib.versions.major version}x"; in - { - x86_64-linux = fetchurl { - url = "${base_url}/teamviewer_${version}_amd64.deb"; - hash = "sha256-41zVX2svomcRKu2ow1A/EeKojBIpABO4o2EZxappzgo="; - }; - aarch64-linux = fetchurl { - url = "${base_url}/teamviewer_${version}_arm64.deb"; - hash = "sha256-wuQYWeYgXW54/5dpiGzJxZ9JZDlUgFgCKq8Z4xV2HlI="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + { + x86_64-linux = fetchurl { + url = "${base_url}/teamviewer_${version}_amd64.deb"; + hash = "sha256-41zVX2svomcRKu2ow1A/EeKojBIpABO4o2EZxappzgo="; + }; + aarch64-linux = fetchurl { + url = "${base_url}/teamviewer_${version}_arm64.deb"; + hash = "sha256-wuQYWeYgXW54/5dpiGzJxZ9JZDlUgFgCKq8Z4xV2HlI="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); unpackPhase = '' ar x $src tar xf data.tar.* ''; - nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; - buildInputs = [ minizip icu63 nss ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + wrapQtAppsHook + ]; + buildInputs = [ + minizip + icu63 + nss + ]; installPhase = '' mkdir -p $out/share/teamviewer $out/bin $out/share/applications @@ -106,8 +119,25 @@ mkDerivation rec { ''; makeWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ getconf coreutils ]}" - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus icu63 ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + getconf + coreutils + ] + }" + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libXrandr + libX11 + libXext + libXdamage + libXtst + libSM + libXfixes + dbus + icu63 + ] + }" ]; postFixup = '' @@ -128,6 +158,10 @@ mkDerivation rec { license = licenses.unfree; description = "Desktop sharing application, providing remote support and online meetings"; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ jagajaga jraygauthier gador ]; + maintainers = with maintainers; [ + jagajaga + jraygauthier + gador + ]; }; } diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix index a9182b739fbfe..6500d65151c9e 100644 --- a/pkgs/applications/networking/remote/x2goclient/default.nix +++ b/pkgs/applications/networking/remote/x2goclient/default.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchurl -, cups -, libssh -, libXpm -, nx-libs -, openldap -, openssh -, qt5 -, qtbase -, qtsvg -, qtx11extras -, qttools -, phonon -, pkg-config +{ + stdenv, + lib, + fetchurl, + cups, + libssh, + libXpm, + nx-libs, + openldap, + openssh, + qt5, + qtbase, + qtsvg, + qtx11extras, + qttools, + phonon, + pkg-config, }: stdenv.mkDerivation rec { @@ -45,19 +46,30 @@ stdenv.mkDerivation rec { ]; postPatch = '' - substituteInPlace src/onmainwindow.cpp --replace "/usr/sbin/sshd" "${openssh}/bin/sshd" - substituteInPlace Makefile \ - --replace "SHELL=/bin/bash" "SHELL=$SHELL" \ - --replace "lrelease-qt4" "${qttools.dev}/bin/lrelease" \ - --replace "qmake-qt4" "${qtbase.dev}/bin/qmake" \ - --replace "-o root -g root" "" + substituteInPlace src/onmainwindow.cpp --replace "/usr/sbin/sshd" "${openssh}/bin/sshd" + substituteInPlace Makefile \ + --replace "SHELL=/bin/bash" "SHELL=$SHELL" \ + --replace "lrelease-qt4" "${qttools.dev}/bin/lrelease" \ + --replace "qmake-qt4" "${qtbase.dev}/bin/qmake" \ + --replace "-o root -g root" "" ''; - makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc" "build_client" "build_man" ]; + makeFlags = [ + "PREFIX=$(out)" + "ETCDIR=$(out)/etc" + "build_client" + "build_man" + ]; - installTargets = [ "install_client" "install_man" ]; + installTargets = [ + "install_client" + "install_man" + ]; - qtWrapperArgs = [ "--suffix PATH : ${nx-libs}/bin:${openssh}/libexec" "--set QT_QPA_PLATFORM xcb" ]; + qtWrapperArgs = [ + "--suffix PATH : ${nx-libs}/bin:${openssh}/libexec" + "--set QT_QPA_PLATFORM xcb" + ]; meta = with lib; { description = "Graphical NoMachine NX3 remote desktop client"; diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix index 191a09c422cfd..69e8592aa7dd8 100644 --- a/pkgs/applications/networking/remote/xrdp/default.nix +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, applyPatches -, fetchFromGitHub -, pkg-config -, which -, perl -, autoconf -, automake -, libtool -, openssl -, systemd -, pam -, fuse -, libdrm -, libjpeg -, libopus -, nasm -, xorg -, lame -, pixman -, libjpeg_turbo -, _experimental-update-script-combinators -, gitUpdater -, nixosTests +{ + lib, + stdenv, + applyPatches, + fetchFromGitHub, + pkg-config, + which, + perl, + autoconf, + automake, + libtool, + openssl, + systemd, + pam, + fuse, + libdrm, + libjpeg, + libopus, + nasm, + xorg, + lame, + pixman, + libjpeg_turbo, + _experimental-update-script-combinators, + gitUpdater, + nixosTests, }: let @@ -37,9 +38,19 @@ let hash = "sha256-xwkGY9dD747kyTvoXrYAIoiFBzQe5ngskUYQhDawnbU="; }; - nativeBuildInputs = [ pkg-config autoconf automake which libtool nasm ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + which + libtool + nasm + ]; - buildInputs = [ xorg.xorgserver libdrm ]; + buildInputs = [ + xorg.xorgserver + libdrm + ]; postPatch = '' # patch from Debian, allows to run xrdp daemon under unprivileged user @@ -78,7 +89,15 @@ let }; }; - nativeBuildInputs = [ pkg-config autoconf automake which libtool nasm perl ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + which + libtool + nasm + perl + ]; buildInputs = [ fuse @@ -121,7 +140,10 @@ let "--enable-vsock" ]; - installFlags = [ "DESTDIR=$(out)" "prefix=" ]; + installFlags = [ + "DESTDIR=$(out)" + "prefix=" + ]; postInstall = '' # remove generated keys (as non-deterministic) @@ -158,11 +180,25 @@ let passthru = { inherit xorgxrdp; - updateScript = _experimental-update-script-combinators.sequence (map (item: item.command) [ - (gitUpdater { rev-prefix = "v"; attrPath = "xrdp.src"; ignoredVersions = [ "beta" ]; }) - { command = ["rm" "update-git-commits.txt"]; } - (gitUpdater { rev-prefix = "v"; attrPath = "xrdp.xorgxrdp"; }) - ]); + updateScript = _experimental-update-script-combinators.sequence ( + map (item: item.command) [ + (gitUpdater { + rev-prefix = "v"; + attrPath = "xrdp.src"; + ignoredVersions = [ "beta" ]; + }) + { + command = [ + "rm" + "update-git-commits.txt" + ]; + } + (gitUpdater { + rev-prefix = "v"; + attrPath = "xrdp.xorgxrdp"; + }) + ] + ); tests = { inherit (nixosTests) xrdp; }; @@ -172,8 +208,12 @@ let description = "Open source RDP server"; homepage = "https://github.com/neutrinolabs/xrdp"; license = licenses.asl20; - maintainers = with maintainers; [ chvp lucasew ]; + maintainers = with maintainers; [ + chvp + lucasew + ]; platforms = platforms.linux; }; }; -in xrdp +in +xrdp diff --git a/pkgs/applications/networking/rymdport/default.nix b/pkgs/applications/networking/rymdport/default.nix index 70b446db8a5a2..dd1548158f2dc 100644 --- a/pkgs/applications/networking/rymdport/default.nix +++ b/pkgs/applications/networking/rymdport/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, pkg-config -, libGL -, xorg -, Carbon -, Cocoa +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + pkg-config, + libGL, + xorg, + Carbon, + Cocoa, }: buildGoModule rec { @@ -26,20 +27,23 @@ buildGoModule rec { pkg-config ]; - buildInputs = with xorg; [ - libGL - libX11 - libXcursor - libXext - libXi - libXinerama - libXrandr - libXxf86vm - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon - Cocoa - IOKit - ]; + buildInputs = + with xorg; + [ + libGL + libX11 + libXcursor + libXext + libXi + libXinerama + libXrandr + libXxf86vm + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + IOKit + ]; postInstall = '' for res in $(ls internal/assets/icons | sed -e 's/icon-//g' -e 's/.png//g'); do diff --git a/pkgs/applications/networking/sniffers/qtwirediff/default.nix b/pkgs/applications/networking/sniffers/qtwirediff/default.nix index ad71c217dbb92..e1ab359298f07 100644 --- a/pkgs/applications/networking/sniffers/qtwirediff/default.nix +++ b/pkgs/applications/networking/sniffers/qtwirediff/default.nix @@ -1,14 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, qtbase -, qmake -, qtwayland -, wrapQtAppsHook -, wireshark-cli +{ + lib, + stdenv, + fetchFromGitHub, + qtbase, + qmake, + qtwayland, + wrapQtAppsHook, + wireshark-cli, }: - stdenv.mkDerivation { pname = "qtwirediff"; version = "unstable-2023-03-07"; @@ -25,25 +25,31 @@ stdenv.mkDerivation { wrapQtAppsHook ]; - buildInputs = [ - qtbase - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]; + buildInputs = + [ + qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; - installPhase = '' - runHook preInstall - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - cp -r qtwirediff.app $out/Applications - makeWrapper $out/{Applications/qtwirediff.app/Contents/MacOS,bin}/qtwirediff - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm755 -T qtwirediff $out/bin/qtwirediff - wrapProgram $out/bin/qtwirediff \ - --prefix PATH : "${lib.makeBinPath [ wireshark-cli ]}" - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + cp -r qtwirediff.app $out/Applications + makeWrapper $out/{Applications/qtwirediff.app/Contents/MacOS,bin}/qtwirediff + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm755 -T qtwirediff $out/bin/qtwirediff + wrapProgram $out/bin/qtwirediff \ + --prefix PATH : "${lib.makeBinPath [ wireshark-cli ]}" + '' + + '' + runHook postInstall + ''; meta = { description = "Debugging tool to diff network traffic leveraging Wireshark"; diff --git a/pkgs/applications/networking/sniffers/savvycan/default.nix b/pkgs/applications/networking/sniffers/savvycan/default.nix index aea109549221c..195412111d0ec 100644 --- a/pkgs/applications/networking/sniffers/savvycan/default.nix +++ b/pkgs/applications/networking/sniffers/savvycan/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, qtbase -, qttools -, qmake -, qtserialbus -, qtserialport -, qtdeclarative -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + qtbase, + qttools, + qmake, + qtserialbus, + qtserialport, + qtdeclarative, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -22,9 +23,18 @@ stdenv.mkDerivation rec { hash = "sha256-duITY6s/uadeBCFuG42JbLCaq7yaYv1qB8Q3GA8UJ0A="; }; - buildInputs = [ qtbase qttools qtserialbus qtserialport qtdeclarative ]; + buildInputs = [ + qtbase + qttools + qtserialbus + qtserialport + qtdeclarative + ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; meta = with lib; { description = "QT based cross platform canbus tool"; diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 5c00d64bf678b..bedcb6c1d8e3d 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -1,54 +1,55 @@ -{ lib -, stdenv -, fetchFromGitLab - -, ApplicationServices -, asciidoctor -, bcg729 -, bison -, buildPackages -, c-ares -, cmake -, fixDarwinDylibNames -, flex -, gettext -, glib -, gmp -, gnutls -, libcap -, libgcrypt -, libgpg-error -, libkrb5 -, libmaxminddb -, libnl -, libopus -, libpcap -, libsmi -, libssh -, lua5_4 -, lz4 -, makeWrapper -, minizip -, nghttp2 -, nghttp3 -, ninja -, opencore-amr -, openssl -, pcre2 -, perl -, pkg-config -, python3 -, sbc -, snappy -, spandsp3 -, speexdsp -, SystemConfiguration -, wrapGAppsHook3 -, zlib-ng -, zstd - -, withQt ? true -, qt6 ? null +{ + lib, + stdenv, + fetchFromGitLab, + + ApplicationServices, + asciidoctor, + bcg729, + bison, + buildPackages, + c-ares, + cmake, + fixDarwinDylibNames, + flex, + gettext, + glib, + gmp, + gnutls, + libcap, + libgcrypt, + libgpg-error, + libkrb5, + libmaxminddb, + libnl, + libopus, + libpcap, + libsmi, + libssh, + lua5_4, + lz4, + makeWrapper, + minizip, + nghttp2, + nghttp3, + ninja, + opencore-amr, + openssl, + pcre2, + perl, + pkg-config, + python3, + sbc, + snappy, + spandsp3, + speexdsp, + SystemConfiguration, + wrapGAppsHook3, + zlib-ng, + zstd, + + withQt ? true, + qt6 ? null, }: let isAppBundle = withQt && stdenv.hostPlatform.isDarwin; @@ -59,7 +60,10 @@ stdenv.mkDerivation rec { pname = "wireshark-${if withQt then "qt" else "cli"}"; version = "4.4.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitLab { repo = "wireshark"; @@ -76,80 +80,93 @@ stdenv.mkDerivation rec { buildPackages.stdenv.cc ]; - nativeBuildInputs = [ - asciidoctor - bison - cmake - flex - makeWrapper - ninja - perl - pkg-config - python3 - ] ++ lib.optionals withQt [ - qt6.wrapQtAppsHook - wrapGAppsHook3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; - - buildInputs = [ - bcg729 - c-ares - gettext - glib - gnutls - libgcrypt - libgpg-error - libkrb5 - libmaxminddb - libopus - libpcap - libsmi - libssh - lua5_4 - lz4 - minizip - nghttp2 - nghttp3 - opencore-amr - openssl - pcre2 - snappy - spandsp3 - speexdsp - zlib-ng - zstd - ] ++ lib.optionals withQt (with qt6; [ - qt5compat - qtbase - qtmultimedia - qtsvg - qttools - ]) ++ lib.optionals (withQt && stdenv.hostPlatform.isLinux) [ - qt6.qtwayland - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libcap - libnl - sbc - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - gmp - SystemConfiguration - ]; + nativeBuildInputs = + [ + asciidoctor + bison + cmake + flex + makeWrapper + ninja + perl + pkg-config + python3 + ] + ++ lib.optionals withQt [ + qt6.wrapQtAppsHook + wrapGAppsHook3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; + + buildInputs = + [ + bcg729 + c-ares + gettext + glib + gnutls + libgcrypt + libgpg-error + libkrb5 + libmaxminddb + libopus + libpcap + libsmi + libssh + lua5_4 + lz4 + minizip + nghttp2 + nghttp3 + opencore-amr + openssl + pcre2 + snappy + spandsp3 + speexdsp + zlib-ng + zstd + ] + ++ lib.optionals withQt ( + with qt6; + [ + qt5compat + qtbase + qtmultimedia + qtsvg + qttools + ] + ) + ++ lib.optionals (withQt && stdenv.hostPlatform.isLinux) [ + qt6.qtwayland + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + libnl + sbc + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + gmp + SystemConfiguration + ]; strictDeps = true; - cmakeFlags = [ - "-DBUILD_wireshark=${if withQt then "ON" else "OFF"}" - # Fix `extcap` and `plugins` paths. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=16444 - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DENABLE_APPLICATION_BUNDLE=${if isAppBundle then "ON" else "OFF"}" - "-DLEMON_C_COMPILER=cc" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-DHAVE_C99_VSNPRINTF_EXITCODE__TRYRUN_OUTPUT=" - "-DHAVE_C99_VSNPRINTF_EXITCODE=0" - ]; + cmakeFlags = + [ + "-DBUILD_wireshark=${if withQt then "ON" else "OFF"}" + # Fix `extcap` and `plugins` paths. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=16444 + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DENABLE_APPLICATION_BUNDLE=${if isAppBundle then "ON" else "OFF"}" + "-DLEMON_C_COMPILER=cc" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "-DHAVE_C99_VSNPRINTF_EXITCODE__TRYRUN_OUTPUT=" + "-DHAVE_C99_VSNPRINTF_EXITCODE=0" + ]; # Avoid referencing -dev paths because of debug assertions. env.NIX_CFLAGS_COMPILE = toString [ "-DQT_NO_DEBUG" ]; @@ -166,24 +183,27 @@ stdenv.mkDerivation rec { sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt ''; - postInstall = '' - cmake --install . --prefix "''${!outputDev}" --component Development - '' + lib.optionalString isAppBundle '' - mkdir -p $out/Applications - mv $out/bin/Wireshark.app $out/Applications/Wireshark.app - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - local flags=() - for file in $out/lib/*.dylib; do - flags+=(-change @rpath/"$(basename "$file")" "$file") - done - - for file in $out/lib/wireshark/extcap/*; do - if [ -L "$file" ]; then continue; fi - echo "$file: fixing dylib references" - # note that -id does nothing on binaries - install_name_tool -id "$file" "''${flags[@]}" "$file" - done - ''; + postInstall = + '' + cmake --install . --prefix "''${!outputDev}" --component Development + '' + + lib.optionalString isAppBundle '' + mkdir -p $out/Applications + mv $out/bin/Wireshark.app $out/Applications/Wireshark.app + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + local flags=() + for file in $out/lib/*.dylib; do + flags+=(-change @rpath/"$(basename "$file")" "$file") + done + + for file in $out/lib/wireshark/extcap/*; do + if [ -L "$file" ]; then continue; fi + echo "$file: fixing dylib references" + # note that -id does nothing on binaries + install_name_tool -id "$file" "''${flags[@]}" "$file" + done + ''; preFixup = '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") @@ -209,7 +229,10 @@ stdenv.mkDerivation rec { changelog = "https://www.wireshark.org/docs/relnotes/wireshark-${version}.html"; license = licenses.gpl2Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor fpletz ]; + maintainers = with maintainers; [ + bjornfor + fpletz + ]; mainProgram = if withQt then "wireshark" else "tshark"; }; } diff --git a/pkgs/applications/networking/soapui/default.nix b/pkgs/applications/networking/soapui/default.nix index 8b7aca3524683..bde8a72416ffd 100644 --- a/pkgs/applications/networking/soapui/default.nix +++ b/pkgs/applications/networking/soapui/default.nix @@ -16,8 +16,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-pT0ZANVC7Sv7zxMDPY86aclIUGZeazOZadiVVsmEjtw="; }; - nativeBuildInputs = [makeWrapper]; - buildInputs = [jdk]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jdk ]; installPhase = '' runHook preInstall @@ -53,14 +53,14 @@ stdenv.mkDerivation rec { '') ]; - passthru.tests = {inherit (nixosTests) soapui;}; + passthru.tests = { inherit (nixosTests) soapui; }; meta = with lib; { description = "Most Advanced REST & SOAP Testing Tool in the World"; homepage = "https://www.soapui.org/"; - sourceProvenance = with sourceTypes; [binaryBytecode]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = "SoapUI End User License Agreement"; - maintainers = with maintainers; [gerschtli]; + maintainers = with maintainers; [ gerschtli ]; platforms = platforms.linux; # we don't fetch the dmg yet mainProgram = "soapui"; }; diff --git a/pkgs/applications/networking/sync/acd_cli/default.nix b/pkgs/applications/networking/sync/acd_cli/default.nix index 78453da19d16c..f782cc9937b4f 100644 --- a/pkgs/applications/networking/sync/acd_cli/default.nix +++ b/pkgs/applications/networking/sync/acd_cli/default.nix @@ -1,6 +1,17 @@ -{ lib, fetchFromGitHub, buildPythonApplication, fuse -, appdirs, colorama, python-dateutil, requests, requests-toolbelt -, fusepy, sqlalchemy, setuptools }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + fuse, + appdirs, + colorama, + python-dateutil, + requests, + requests-toolbelt, + fusepy, + sqlalchemy, + setuptools, +}: buildPythonApplication rec { pname = "acd_cli"; @@ -15,8 +26,16 @@ buildPythonApplication rec { sha256 = "0a0fr632l24a3jmgla3b1vcm50ayfa9hdbp677ch1chwj5dq4zfp"; }; - propagatedBuildInputs = [ appdirs colorama python-dateutil fusepy requests - requests-toolbelt setuptools sqlalchemy ]; + propagatedBuildInputs = [ + appdirs + colorama + python-dateutil + fusepy + requests + requests-toolbelt + setuptools + sqlalchemy + ]; makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${lib.getLib fuse}/lib/libfuse.so" ]; diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix index 602f2a3126752..ee79119edb255 100644 --- a/pkgs/applications/networking/sync/backintime/common.nix +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -1,11 +1,36 @@ -{stdenv, lib, fetchFromGitHub, makeWrapper, gettext, -python3, rsync, cron, openssh, sshfs-fuse, encfs }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + gettext, + python3, + rsync, + cron, + openssh, + sshfs-fuse, + encfs, +}: let - python' = python3.withPackages (ps: with ps; [ dbus-python keyring packaging ]); + python' = python3.withPackages ( + ps: with ps; [ + dbus-python + keyring + packaging + ] + ); - apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ]; -in stdenv.mkDerivation rec { + apps = lib.makeBinPath [ + openssh + python' + cron + rsync + sshfs-fuse + encfs + ]; +in +stdenv.mkDerivation rec { pname = "backintime-common"; version = "1.5.3"; @@ -16,7 +41,10 @@ in stdenv.mkDerivation rec { sha256 = "sha256-byJyRsjZND0CQAfx45jQa3PNHhqzF2O0cFGSfN4o/QA="; }; - nativeBuildInputs = [ makeWrapper gettext ]; + nativeBuildInputs = [ + makeWrapper + gettext + ]; buildInputs = [ python' ]; installFlags = [ "DEST=$(out)" ]; @@ -38,7 +66,7 @@ in stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/backintime" \ --prefix PATH : ${apps} - ''; + ''; meta = { homepage = "https://github.com/bit-team/backintime"; diff --git a/pkgs/applications/networking/sync/backintime/qt.nix b/pkgs/applications/networking/sync/backintime/qt.nix index 136b91a0623cf..2708997a45b67 100644 --- a/pkgs/applications/networking/sync/backintime/qt.nix +++ b/pkgs/applications/networking/sync/backintime/qt.nix @@ -1,16 +1,44 @@ -{ lib, stdenv, backintime-common, python3, polkit, which, su, coreutils, util-linux, -wrapQtAppsHook, qtbase, qtwayland }: +{ + lib, + stdenv, + backintime-common, + python3, + polkit, + which, + su, + coreutils, + util-linux, + wrapQtAppsHook, + qtbase, + qtwayland, +}: let - python' = python3.withPackages (ps: with ps; [ pyqt6 backintime-common packaging ]); + python' = python3.withPackages ( + ps: with ps; [ + pyqt6 + backintime-common + packaging + ] + ); in stdenv.mkDerivation { inherit (backintime-common) - version src installFlags meta dontAddPrefix; + version + src + installFlags + meta + dontAddPrefix + ; pname = "backintime-qt"; - buildInputs = [ python' backintime-common qtbase qtwayland ]; + buildInputs = [ + python' + backintime-common + qtbase + qtwayland + ]; nativeBuildInputs = backintime-common.nativeBuildInputs or [ ] ++ [ wrapQtAppsHook diff --git a/pkgs/applications/networking/sync/casync/default.nix b/pkgs/applications/networking/sync/casync/default.nix index 79064f6bc107e..3e8fa37f5d4b3 100644 --- a/pkgs/applications/networking/sync/casync/default.nix +++ b/pkgs/applications/networking/sync/casync/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, python3 -, sphinx -, acl -, curl -, fuse -, libselinux -, udev -, xz -, zstd -, fuseSupport ? true -, selinuxSupport ? true -, udevSupport ? true -, glibcLocales -, rsync +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + sphinx, + acl, + curl, + fuse, + libselinux, + udev, + xz, + zstd, + fuseSupport ? true, + selinuxSupport ? true, + udevSupport ? true, + glibcLocales, + rsync, }: stdenv.mkDerivation { @@ -31,12 +32,27 @@ stdenv.mkDerivation { sha256 = "04ibglizjzyd7ih13q6m7ic78n0mzw9nfmb3zd1fcm9j62qlq11i"; }; - buildInputs = [ acl curl xz zstd ] + buildInputs = + [ + acl + curl + xz + zstd + ] ++ lib.optionals (fuseSupport) [ fuse ] ++ lib.optionals (selinuxSupport) [ libselinux ] ++ lib.optionals (udevSupport) [ udev ]; - nativeBuildInputs = [ meson ninja pkg-config python3 sphinx ]; - nativeCheckInputs = [ glibcLocales rsync ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + sphinx + ]; + nativeCheckInputs = [ + glibcLocales + rsync + ]; postPatch = '' for f in test/test-*.sh.in; do @@ -46,7 +62,8 @@ stdenv.mkDerivation { ''; PKG_CONFIG_UDEV_UDEVDIR = "lib/udev"; - mesonFlags = lib.optionals (!fuseSupport) [ "-Dfuse=false" ] + mesonFlags = + lib.optionals (!fuseSupport) [ "-Dfuse=false" ] ++ lib.optionals (!udevSupport) [ "-Dudev=false" ] ++ lib.optionals (!selinuxSupport) [ "-Dselinux=false" ]; diff --git a/pkgs/applications/networking/sync/lsyncd/default.nix b/pkgs/applications/networking/sync/lsyncd/default.nix index 8468749b7eaa5..7a985b7ad9402 100644 --- a/pkgs/applications/networking/sync/lsyncd/default.nix +++ b/pkgs/applications/networking/sync/lsyncd/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, lua, pkg-config, rsync, -asciidoc, libxml2, docbook_xml_dtd_45, docbook_xsl, libxslt, apple-sdk_11 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lua, + pkg-config, + rsync, + asciidoc, + libxml2, + docbook_xml_dtd_45, + docbook_xsl, + libxslt, + apple-sdk_11, +}: let xnu = apple-sdk_11.sourceRelease "xnu"; @@ -30,11 +43,18 @@ stdenv.mkDerivation rec { dontUseCmakeBuildDir = true; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ rsync lua - asciidoc libxml2 docbook_xml_dtd_45 docbook_xsl libxslt + asciidoc + libxml2 + docbook_xml_dtd_45 + docbook_xsl + libxslt ] ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; meta = with lib; { diff --git a/pkgs/applications/networking/sync/openrsync/default.nix b/pkgs/applications/networking/sync/openrsync/default.nix index 8b91bf24407ce..639ffeec28abd 100644 --- a/pkgs/applications/networking/sync/openrsync/default.nix +++ b/pkgs/applications/networking/sync/openrsync/default.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation { diff --git a/pkgs/applications/networking/sync/rclone/browser.nix b/pkgs/applications/networking/sync/rclone/browser.nix index 99945267fa994..272445a047530 100644 --- a/pkgs/applications/networking/sync/rclone/browser.nix +++ b/pkgs/applications/networking/sync/rclone/browser.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, wrapQtAppsHook, qtbase }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + wrapQtAppsHook, + qtbase, +}: stdenv.mkDerivation rec { pname = "rclone-browser"; @@ -19,7 +27,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ qtbase ]; diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index fbb614f65ef6c..5bf4ac7eac68a 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -1,14 +1,26 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles -, makeWrapper -, enableCmount ? true, fuse, fuse3, macfuse-stubs -, librclone +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + buildPackages, + installShellFiles, + makeWrapper, + enableCmount ? true, + fuse, + fuse3, + macfuse-stubs, + librclone, }: buildGoModule rec { pname = "rclone"; version = "1.68.2"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "rclone"; @@ -21,13 +33,22 @@ buildGoModule rec { subPackages = [ "." ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; - buildInputs = lib.optional enableCmount (if stdenv.hostPlatform.isDarwin then macfuse-stubs else fuse); + buildInputs = lib.optional enableCmount ( + if stdenv.hostPlatform.isDarwin then macfuse-stubs else fuse + ); tags = lib.optionals enableCmount [ "cmount" ]; - ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/rclone/rclone/fs.Version=${version}" + ]; postConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' substituteInPlace vendor/github.com/winfsp/cgofuse/fuse/host_cgo.go \ @@ -37,9 +58,10 @@ buildGoModule rec { postInstall = let rcloneBin = - if stdenv.buildPlatform.canExecute stdenv.hostPlatform - then "$out" - else lib.getBin buildPackages.rclone; + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + "$out" + else + lib.getBin buildPackages.rclone; in '' installManPage rclone.1 @@ -51,13 +73,15 @@ buildGoModule rec { # filesystem helpers ln -s $out/bin/rclone $out/bin/rclonefs ln -s $out/bin/rclone $out/bin/mount.rclone - '' + lib.optionalString (enableCmount && !stdenv.hostPlatform.isDarwin) - # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount3, - # as the setuid wrapper is required as non-root on NixOS. - '' - wrapProgram $out/bin/rclone \ - --suffix PATH : "${lib.makeBinPath [ fuse3 ] }" - ''; + '' + + + lib.optionalString (enableCmount && !stdenv.hostPlatform.isDarwin) + # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount3, + # as the setuid wrapper is required as non-root on NixOS. + '' + wrapProgram $out/bin/rclone \ + --suffix PATH : "${lib.makeBinPath [ fuse3 ]}" + ''; passthru.tests = { inherit librclone; @@ -69,6 +93,9 @@ buildGoModule rec { changelog = "https://github.com/rclone/rclone/blob/v${version}/docs/content/changelog.md"; license = licenses.mit; mainProgram = "rclone"; - maintainers = with maintainers; [ SuperSandro2000 tomfitzhenry ]; + maintainers = with maintainers; [ + SuperSandro2000 + tomfitzhenry + ]; }; } diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 32236f36a9b90..d1e6501b5dcbf 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, updateAutotoolsGnuConfigScriptsHook -, perl -, libiconv -, zlib -, popt -, enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl -, acl -, enableLZ4 ? true -, lz4 -, enableOpenSSL ? true -, openssl -, enableXXHash ? true -, xxHash -, enableZstd ? true -, zstd -, nixosTests +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + perl, + libiconv, + zlib, + popt, + enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl, + acl, + enableLZ4 ? true, + lz4, + enableOpenSSL ? true, + openssl, + enableXXHash ? true, + xxHash, + enableZstd ? true, + zstd, + nixosTests, }: stdenv.mkDerivation rec { @@ -29,34 +30,44 @@ stdenv.mkDerivation rec { hash = "sha256-c5nppnCMMtZ4pypjIZ6W8jvgviM25Q/RNISY0HBB35A="; }; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook perl ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + perl + ]; patches = [ # https://github.com/WayneD/rsync/pull/558 ./configure.ac-fix-failing-IPv6-check.patch ]; - buildInputs = [ libiconv zlib popt ] + buildInputs = + [ + libiconv + zlib + popt + ] ++ lib.optional enableACLs acl ++ lib.optional enableZstd zstd ++ lib.optional enableLZ4 lz4 ++ lib.optional enableOpenSSL openssl ++ lib.optional enableXXHash xxHash; - configureFlags = [ - (lib.enableFeature enableLZ4 "lz4") - (lib.enableFeature enableOpenSSL "openssl") - (lib.enableFeature enableXXHash "xxhash") - (lib.enableFeature enableZstd "zstd") - "--with-nobody-group=nogroup" + configureFlags = + [ + (lib.enableFeature enableLZ4 "lz4") + (lib.enableFeature enableOpenSSL "openssl") + (lib.enableFeature enableXXHash "xxhash") + (lib.enableFeature enableZstd "zstd") + "--with-nobody-group=nogroup" - # disable the included zlib explicitly as it otherwise still compiles and - # links them even. - "--with-included-zlib=no" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) [ - # fix `multiversioning needs 'ifunc' which is not supported on this target` error - "--disable-roll-simd" - ]; + # disable the included zlib explicitly as it otherwise still compiles and + # links them even. + "--with-included-zlib=no" + ] + ++ lib.optionals (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) [ + # fix `multiversioning needs 'ifunc' which is not supported on this target` error + "--disable-roll-simd" + ]; enableParallelBuilding = true; @@ -67,7 +78,11 @@ stdenv.mkDerivation rec { homepage = "https://rsync.samba.org/"; license = licenses.gpl3Plus; mainProgram = "rsync"; - maintainers = with lib.maintainers; [ ehmry kampfschlaefer ivan ]; + maintainers = with lib.maintainers; [ + ehmry + kampfschlaefer + ivan + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/sync/rsync/rrsync.nix b/pkgs/applications/networking/sync/rsync/rrsync.nix index 7bbdbf3adc1ec..2f5db91370e18 100644 --- a/pkgs/applications/networking/sync/rsync/rrsync.nix +++ b/pkgs/applications/networking/sync/rsync/rrsync.nix @@ -1,4 +1,8 @@ -{ stdenv, python3, rsync }: +{ + stdenv, + python3, + rsync, +}: stdenv.mkDerivation { pname = "rrsync"; diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix index f7d0fdeb5c36f..1d21cc6c25285 100644 --- a/pkgs/applications/networking/syncplay/default.nix +++ b/pkgs/applications/networking/syncplay/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPythonApplication -, pem -, pyside6 -, twisted -, certifi -, qt6 -, appnope -, enableGUI ? true +{ + lib, + stdenv, + fetchFromGitHub, + buildPythonApplication, + pem, + pyside6, + twisted, + certifi, + qt6, + appnope, + enableGUI ? true, }: buildPythonApplication rec { @@ -28,14 +29,24 @@ buildPythonApplication rec { ./trusted_certificates.patch ]; - buildInputs = lib.optionals enableGUI [ (if stdenv.hostPlatform.isLinux then qt6.qtwayland else qt6.qtbase) ]; - propagatedBuildInputs = [ certifi pem twisted ] + buildInputs = lib.optionals enableGUI [ + (if stdenv.hostPlatform.isLinux then qt6.qtwayland else qt6.qtbase) + ]; + propagatedBuildInputs = + [ + certifi + pem + twisted + ] ++ twisted.optional-dependencies.tls ++ lib.optional enableGUI pyside6 ++ lib.optional (stdenv.hostPlatform.isDarwin && enableGUI) appnope; nativeBuildInputs = lib.optionals enableGUI [ qt6.wrapQtAppsHook ]; - makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ]; + makeFlags = [ + "DESTDIR=" + "PREFIX=$(out)" + ]; postFixup = lib.optionalString enableGUI '' wrapQtApp $out/bin/syncplay diff --git a/pkgs/applications/networking/wayback_machine_downloader/default.nix b/pkgs/applications/networking/wayback_machine_downloader/default.nix index 4b8c5096cc5d3..d2f0e3a5e30e8 100644 --- a/pkgs/applications/networking/wayback_machine_downloader/default.nix +++ b/pkgs/applications/networking/wayback_machine_downloader/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "wayback_machine_downloader"; exes = [ "wayback_machine_downloader" ]; diff --git a/pkgs/applications/networking/wayback_machine_downloader/gemset.nix b/pkgs/applications/networking/wayback_machine_downloader/gemset.nix index 87cb3019d0a52..2fab9ad3a71f4 100644 --- a/pkgs/applications/networking/wayback_machine_downloader/gemset.nix +++ b/pkgs/applications/networking/wayback_machine_downloader/gemset.nix @@ -1,9 +1,9 @@ { wayback_machine_downloader = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "170426sashqc2k2angg8d0bhs7spi1x1isv6cyk2hif0l6xxm3cm"; type = "gem"; }; diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index 60fdf00a2b3e7..18a4b9f3ac84e 100644 --- a/pkgs/applications/networking/znc/default.nix +++ b/pkgs/applications/networking/znc/default.nix @@ -1,12 +1,24 @@ -{ lib, stdenv, fetchurl, fetchpatch2, openssl, pkg-config -, withPerl ? false, perl -, withPython ? false, python3 -, withTcl ? false, tcl -, withCyrus ? true, cyrus_sasl -, withUnicode ? true, icu -, withZlib ? true, zlib -, withIPv6 ? true -, withDebug ? false +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + openssl, + pkg-config, + withPerl ? false, + perl, + withPython ? false, + python3, + withTcl ? false, + tcl, + withCyrus ? true, + cyrus_sasl, + withUnicode ? true, + icu, + withZlib ? true, + zlib, + withIPv6 ? true, + withDebug ? false, }: stdenv.mkDerivation rec { @@ -28,7 +40,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optional withPerl perl ++ lib.optional withPython python3 ++ lib.optional withTcl tcl @@ -36,13 +49,15 @@ stdenv.mkDerivation rec { ++ lib.optional withUnicode icu ++ lib.optional withZlib zlib; - configureFlags = [ - (lib.enableFeature withPerl "perl") - (lib.enableFeature withPython "python") - (lib.enableFeature withTcl "tcl") - (lib.withFeatureAs withTcl "tcl" "${tcl}/lib") - (lib.enableFeature withCyrus "cyrus") - ] ++ lib.optionals (!withIPv6) [ "--disable-ipv6" ] + configureFlags = + [ + (lib.enableFeature withPerl "perl") + (lib.enableFeature withPython "python") + (lib.enableFeature withTcl "tcl") + (lib.withFeatureAs withTcl "tcl" "${tcl}/lib") + (lib.enableFeature withCyrus "cyrus") + ] + ++ lib.optionals (!withIPv6) [ "--disable-ipv6" ] ++ lib.optionals withDebug [ "--enable-debug" ]; enableParallelBuilding = true; @@ -50,7 +65,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Advanced IRC bouncer"; homepage = "https://wiki.znc.in/ZNC"; - maintainers = with maintainers; [ schneefux lnl7 ]; + maintainers = with maintainers; [ + schneefux + lnl7 + ]; license = licenses.asl20; platforms = platforms.unix; }; diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix index f19573bace985..30e1973b180c6 100644 --- a/pkgs/applications/networking/znc/modules.nix +++ b/pkgs/applications/networking/znc/modules.nix @@ -1,22 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, znc }: +{ + lib, + stdenv, + fetchFromGitHub, + znc, +}: let zncDerivation = - a@{ pname - , src - , module_name - , buildPhase ? "${znc}/bin/znc-buildmod ${module_name}.cpp" - , installPhase ? "install -D ${module_name}.so $out/lib/znc/${module_name}.so" - , ... - }: stdenv.mkDerivation (a // { - inherit buildPhase; - inherit installPhase; - - buildInputs = znc.buildInputs; - - meta = a.meta // { platforms = lib.platforms.unix; }; - passthru.module_name = module_name; - }); + a@{ + pname, + src, + module_name, + buildPhase ? "${znc}/bin/znc-buildmod ${module_name}.cpp", + installPhase ? "install -D ${module_name}.so $out/lib/znc/${module_name}.so", + ... + }: + stdenv.mkDerivation ( + a + // { + inherit buildPhase; + inherit installPhase; + + buildInputs = znc.buildInputs; + + meta = a.meta // { + platforms = lib.platforms.unix; + }; + passthru.module_name = module_name; + } + ); in { @@ -57,7 +69,11 @@ in description = "ZNC module for client specific buffers"; homepage = "https://github.com/CyberShadow/znc-clientbuffer"; license = licenses.asl20; - maintainers = with maintainers; [ hrdinka szlend cybershadow ]; + maintainers = with maintainers; [ + hrdinka + szlend + cybershadow + ]; }; }; @@ -195,7 +211,10 @@ in description = "Push notification service module for ZNC"; homepage = "https://github.com/jreese/znc-push"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ offline schneefux ]; + maintainers = with lib.maintainers; [ + offline + schneefux + ]; }; }; diff --git a/pkgs/applications/office/PageEdit/default.nix b/pkgs/applications/office/PageEdit/default.nix index fa7acd9310ba5..fc2d43bb2fb2e 100644 --- a/pkgs/applications/office/PageEdit/default.nix +++ b/pkgs/applications/office/PageEdit/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, qtsvg, qtwebengine, wrapQtAppsHook, qttools }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtsvg, + qtwebengine, + wrapQtAppsHook, + qttools, +}: stdenv.mkDerivation rec { pname = "pageedit"; @@ -11,20 +20,30 @@ stdenv.mkDerivation rec { hash = "sha256-zwOSt1eyvuuqfQ1G2bCB4yj6GgixFRc2FLOgcCrdg3Q="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook qttools ]; - propagatedBuildInputs = [ qtsvg qtwebengine ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + qttools + ]; + propagatedBuildInputs = [ + qtsvg + qtwebengine + ]; cmakeFlags = [ "-DINSTALL_BUNDLED_DICTS=0" ]; installPhase = - if stdenv.hostPlatform.isDarwin then '' - runHook preInstall + if stdenv.hostPlatform.isDarwin then + '' + runHook preInstall - mkdir -p $out/Applications - cp -r bin/PageEdit.app $out/Applications - makeWrapper $out/Applications/PageEdit.app/Contents/MacOS/PageEdit $out/bin/pageedit + mkdir -p $out/Applications + cp -r bin/PageEdit.app $out/Applications + makeWrapper $out/Applications/PageEdit.app/Contents/MacOS/PageEdit $out/bin/pageedit - runHook postInstall - '' else null; + runHook postInstall + '' + else + null; meta = with lib; { description = "ePub XHTML Visual Editor"; diff --git a/pkgs/applications/office/beamerpresenter/default.nix b/pkgs/applications/office/beamerpresenter/default.nix index 0d122cfbf3cd9..7be305ba0249c 100644 --- a/pkgs/applications/office/beamerpresenter/default.nix +++ b/pkgs/applications/office/beamerpresenter/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wrapGAppsHook3 -, wrapQtAppsHook -, gst_all_1 -, qtbase -, qtsvg -, qtmultimedia -, qttools -, qtwayland -, zlib -# only required when using poppler -, poppler -# only required when using mupdf -, freetype -, gumbo -, jbig2dec -, mupdf -, openjpeg -# choose renderer: mupdf or poppler or both (not recommended) -, usePoppler ? false -, useMupdf ? true -, useExternalRenderer ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapGAppsHook3, + wrapQtAppsHook, + gst_all_1, + qtbase, + qtsvg, + qtmultimedia, + qttools, + qtwayland, + zlib, + # only required when using poppler + poppler, + # only required when using mupdf + freetype, + gumbo, + jbig2dec, + mupdf, + openjpeg, + # choose renderer: mupdf or poppler or both (not recommended) + usePoppler ? false, + useMupdf ? true, + useExternalRenderer ? false, }: stdenv.mkDerivation rec { @@ -46,26 +47,30 @@ stdenv.mkDerivation rec { dontWrapGApps = true; - buildInputs = [ - gst_all_1.gst-libav - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - zlib - qtbase - qtsvg - qtmultimedia - qttools - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ] ++ lib.optionals useMupdf [ - freetype - gumbo - jbig2dec - mupdf - openjpeg - ] ++ lib.optionals usePoppler [ - poppler - ]; + buildInputs = + [ + gst_all_1.gst-libav + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + zlib + qtbase + qtsvg + qtmultimedia + qttools + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ] + ++ lib.optionals useMupdf [ + freetype + gumbo + jbig2dec + mupdf + openjpeg + ] + ++ lib.optionals usePoppler [ + poppler + ]; cmakeFlags = [ "-DGIT_VERSION=OFF" @@ -87,9 +92,15 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Modular multi screen pdf presentation viewer"; homepage = "https://github.com/stiglers-eponym/BeamerPresenter"; - license = with licenses; [ agpl3Only gpl3Plus ]; + license = with licenses; [ + agpl3Only + gpl3Plus + ]; platforms = platforms.all; - maintainers = with maintainers; [ pacien dotlambda ]; + maintainers = with maintainers; [ + pacien + dotlambda + ]; mainProgram = "beamerpresenter"; }; } diff --git a/pkgs/applications/office/beancount/bean-add.nix b/pkgs/applications/office/beancount/bean-add.nix index 9d451668eff69..1f2fb4cec1cd3 100644 --- a/pkgs/applications/office/beancount/bean-add.nix +++ b/pkgs/applications/office/beancount/bean-add.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, +}: stdenv.mkDerivation { pname = "bean-add"; @@ -30,4 +35,3 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ matthiasbeyer ]; }; } - diff --git a/pkgs/applications/office/beancount/beancount-ing-diba.nix b/pkgs/applications/office/beancount/beancount-ing-diba.nix index e1f3cb55fd8a8..84e9053537401 100644 --- a/pkgs/applications/office/beancount/beancount-ing-diba.nix +++ b/pkgs/applications/office/beancount/beancount-ing-diba.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchpatch +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/applications/office/beancount/beancount_share.nix b/pkgs/applications/office/beancount/beancount_share.nix index 2d702ad8d7ce7..f9732bfc5f50e 100644 --- a/pkgs/applications/office/beancount/beancount_share.nix +++ b/pkgs/applications/office/beancount/beancount_share.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -25,7 +26,8 @@ python3.pkgs.buildPythonApplication rec { description = "Beancount plugin to share expenses with external partners within one ledger"; license = licenses.agpl3Plus; maintainers = with maintainers; [ matthiasbeyer ]; - broken = true; # At 2024-06-29, missing unpacked dependency - # https://hydra.nixos.org/build/262800507/nixlog/1 + broken = true; + # At 2024-06-29, missing unpacked dependency + # https://hydra.nixos.org/build/262800507/nixlog/1 }; } diff --git a/pkgs/applications/office/beebeep/default.nix b/pkgs/applications/office/beebeep/default.nix index 63843433b3c54..970680b8251a4 100644 --- a/pkgs/applications/office/beebeep/default.nix +++ b/pkgs/applications/office/beebeep/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, fetchzip -, wrapQtAppsHook -, autoPatchelfHook -, qtbase -, qtmultimedia -, qtx11extras +{ + lib, + mkDerivation, + fetchzip, + wrapQtAppsHook, + autoPatchelfHook, + qtbase, + qtmultimedia, + qtx11extras, }: mkDerivation rec { diff --git a/pkgs/applications/office/cb2bib/default.nix b/pkgs/applications/office/cb2bib/default.nix index 331e6a7c3a264..96e2ae202815a 100644 --- a/pkgs/applications/office/cb2bib/default.nix +++ b/pkgs/applications/office/cb2bib/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, qmake, qtbase, qtwebkit, qtx11extras, lzo, libX11, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchurl, + qmake, + qtbase, + qtwebkit, + qtx11extras, + lzo, + libX11, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "cb2bib"; @@ -7,8 +18,17 @@ stdenv.mkDerivation rec { url = "https://www.molspaces.com/dl/progs/${pname}-${version}.tar.gz"; sha256 = "0gv7cnxi84lr6d5y71pd67h0ilmf5c88j1jxgyn9dvj19smrv99h"; }; - buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + buildInputs = [ + qtbase + qtwebkit + qtx11extras + lzo + libX11 + ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; configurePhase = '' runHook preConfigure diff --git a/pkgs/applications/office/cutemarked-ng/default.nix b/pkgs/applications/office/cutemarked-ng/default.nix index 2c55edb037aaf..021259dd40041 100644 --- a/pkgs/applications/office/cutemarked-ng/default.nix +++ b/pkgs/applications/office/cutemarked-ng/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake -, pkg-config -, qttools -, qtwebengine -, wrapQtAppsHook -, qmarkdowntextedit -, md4c -, hunspell +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + pkg-config, + qttools, + qtwebengine, + wrapQtAppsHook, + qmarkdowntextedit, + md4c, + hunspell, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix index 5c7fd7b7de9aa..da3d47bb7597f 100644 --- a/pkgs/applications/office/jabref/default.nix +++ b/pkgs/applications/office/jabref/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapGAppsHook3 -, makeDesktopItem -, copyDesktopItems -, unzip -, xdg-utils -, gtk3 -, jdk -, gradle_8 -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + wrapGAppsHook3, + makeDesktopItem, + copyDesktopItems, + unzip, + xdg-utils, + gtk3, + jdk, + gradle_8, + python3, }: let # "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0." @@ -134,7 +135,13 @@ stdenv.mkDerivation rec { binaryNativeCode # source bundles dependencies as jars ]; license = licenses.mit; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ gebner linsui ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + gebner + linsui + ]; }; } diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix index 3f9e20d7a042c..c724658db2aad 100644 --- a/pkgs/applications/office/jameica/default.nix +++ b/pkgs/applications/office/jameica/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeDesktopItem -, makeWrapper -, wrapGAppsHook3 -, stripJavaArchivesHook -, ant -, jdk -, jre -, gtk2 -, glib -, libXtst -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + makeWrapper, + wrapGAppsHook3, + stripJavaArchivesHook, + ant, + jdk, + jre, + gtk2, + glib, + libXtst, + Cocoa, }: let @@ -20,12 +21,18 @@ let version = "${_version}-${_build}"; swtSystem = - if stdenv.hostPlatform.system == "i686-linux" then "linux" - else if stdenv.hostPlatform.system == "x86_64-linux" then "linux64" - else if stdenv.hostPlatform.system == "aarch64-linux" then "linux-arm64" - else if stdenv.hostPlatform.system == "x86_64-darwin" then "macos64" - else if stdenv.hostPlatform.system == "aarch64-darwin" then "macos-aarch64" - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + if stdenv.hostPlatform.system == "i686-linux" then + "linux" + else if stdenv.hostPlatform.system == "x86_64-linux" then + "linux64" + else if stdenv.hostPlatform.system == "aarch64-linux" then + "linux-arm64" + else if stdenv.hostPlatform.system == "x86_64-darwin" then + "macos64" + else if stdenv.hostPlatform.system == "aarch64-darwin" then + "macos-aarch64" + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; desktopItem = makeDesktopItem { name = "jameica"; @@ -44,12 +51,23 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "willuhn"; repo = "jameica"; - rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}"; + rev = "V_${builtins.replaceStrings [ "." ] [ "_" ] _version}_BUILD_${_build}"; hash = "sha256-MSVSd5DyVL+dcfTDv1M99hxickPwT2Pt6QGNsu6DGZI="; }; - nativeBuildInputs = [ ant jdk wrapGAppsHook3 makeWrapper stripJavaArchivesHook ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ gtk2 glib libXtst ] + nativeBuildInputs = [ + ant + jdk + wrapGAppsHook3 + makeWrapper + stripJavaArchivesHook + ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + gtk2 + glib + libXtst + ] ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; dontWrapGApps = true; @@ -62,36 +80,37 @@ stdenv.mkDerivation rec { runHook postBuild ''; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/ + mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/ - # copy libraries except SWT - cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/jameica-${version}/ - # copy platform-specific SWT - cp lib/swt/${swtSystem}/swt.jar $out/share/jameica-${version}/ + # copy libraries except SWT + cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/jameica-${version}/ + # copy platform-specific SWT + cp lib/swt/${swtSystem}/swt.jar $out/share/jameica-${version}/ - install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/ - install -Dm644 plugin.xml $out/share/java/ - install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png - cp ${desktopItem}/share/applications/* $out/share/applications/ - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/ + install -Dm644 plugin.xml $out/share/java/ + install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png + cp ${desktopItem}/share/applications/* $out/share/applications/ + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Create .app bundle for macOS - mkdir -p $out/Applications - chmod +x releases/${_version}-${_build}-${_build}/tmp/jameica.app/jameica*.sh - cp -r releases/${_version}-${_build}-${_build}/tmp/jameica.app $out/Applications/Jameica.app - '' + '' + # Create .app bundle for macOS + mkdir -p $out/Applications + chmod +x releases/${_version}-${_build}-${_build}/tmp/jameica.app/jameica*.sh + cp -r releases/${_version}-${_build}-${_build}/tmp/jameica.app $out/Applications/Jameica.app + '' + + '' - runHook postInstall - ''; + runHook postInstall + ''; postFixup = '' makeWrapper ${jre}/bin/java $out/bin/jameica \ - --add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${ - lib.optionalString stdenv.hostPlatform.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread'' - } de.willuhn.jameica.Main" \ + --add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${lib.optionalString stdenv.hostPlatform.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''} de.willuhn.jameica.Main" \ --prefix LD_LIBRARY_PATH : ${lib.escapeShellArg (lib.makeLibraryPath buildInputs)} \ --chdir "$out/share/java/" \ "''${gappsWrapperArgs[@]}" @@ -110,7 +129,10 @@ stdenv.mkDerivation rec { ]; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ flokli r3dl3g ]; + maintainers = with maintainers; [ + flokli + r3dl3g + ]; mainProgram = "jameica"; }; } diff --git a/pkgs/applications/office/kbibtex/default.nix b/pkgs/applications/office/kbibtex/default.nix index e7b04848ca404..3cfa32da90e69 100644 --- a/pkgs/applications/office/kbibtex/default.nix +++ b/pkgs/applications/office/kbibtex/default.nix @@ -1,42 +1,45 @@ -{ lib -, mkDerivation -, fetchurl -# build-time -, extra-cmake-modules -, shared-mime-info -# Qt -, qtxmlpatterns -, qtwebengine -, qca-qt5 -, qtnetworkauth -# KDE -, ki18n -, kxmlgui -, kio -, kiconthemes -, kitemviews -, kparts -, kcoreaddons -, kservice -, ktexteditor -, kdoctools -, kwallet -, kcrash -# other -, poppler -, bibutils +{ + lib, + mkDerivation, + fetchurl, + # build-time + extra-cmake-modules, + shared-mime-info, + # Qt + qtxmlpatterns, + qtwebengine, + qca-qt5, + qtnetworkauth, + # KDE + ki18n, + kxmlgui, + kio, + kiconthemes, + kitemviews, + kparts, + kcoreaddons, + kservice, + ktexteditor, + kdoctools, + kwallet, + kcrash, + # other + poppler, + bibutils, }: mkDerivation rec { pname = "kbibtex"; version = "0.10.0"; - src = let - majorMinorPatch = lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version)); - in fetchurl { - url = "mirror://kde/stable/KBibTeX/${majorMinorPatch}/kbibtex-${version}.tar.xz"; - hash = "sha256-sSeyQKfNd8U4YZ3IgqOZs8bM13oEQopJevkG8U0JuMQ="; - }; + src = + let + majorMinorPatch = lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version)); + in + fetchurl { + url = "mirror://kde/stable/KBibTeX/${majorMinorPatch}/kbibtex-${version}.tar.xz"; + hash = "sha256-sSeyQKfNd8U4YZ3IgqOZs8bM13oEQopJevkG8U0JuMQ="; + }; nativeBuildInputs = [ extra-cmake-modules @@ -65,7 +68,10 @@ mkDerivation rec { ]; qtWrapperArgs = [ - "--prefix" "PATH" ":" "${lib.makeBinPath [ bibutils ]}" + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ bibutils ]}" ]; meta = with lib; { diff --git a/pkgs/applications/office/kexi/default.nix b/pkgs/applications/office/kexi/default.nix index 132194d0c7824..d081796bddb6b 100644 --- a/pkgs/applications/office/kexi/default.nix +++ b/pkgs/applications/office/kexi/default.nix @@ -1,10 +1,37 @@ { - mkDerivation, lib, fetchurl, fetchpatch, extra-cmake-modules, kdoctools, - boost, qttools, qtwebkit, - breeze-icons, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons, - kcrash, kguiaddons, ki18n, kiconthemes, kitemviews, kio, ktexteditor, ktextwidgets, - kwidgetsaddons, kxmlgui, - kdb, kproperty, kreport, lcms2, libmysqlclient, marble, postgresql + mkDerivation, + lib, + fetchurl, + fetchpatch, + extra-cmake-modules, + kdoctools, + boost, + qttools, + qtwebkit, + breeze-icons, + karchive, + kcodecs, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kcrash, + kguiaddons, + ki18n, + kiconthemes, + kitemviews, + kio, + ktexteditor, + ktextwidgets, + kwidgetsaddons, + kxmlgui, + kdb, + kproperty, + kreport, + lcms2, + libmysqlclient, + marble, + postgresql, }: mkDerivation rec { @@ -16,14 +43,39 @@ mkDerivation rec { sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs"; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ - boost qttools qtwebkit - breeze-icons karchive kcodecs kcompletion kconfig kconfigwidgets kcoreaddons - kcrash kguiaddons ki18n kiconthemes kitemviews kio ktexteditor ktextwidgets - kwidgetsaddons kxmlgui - kdb kproperty kreport lcms2 libmysqlclient marble postgresql + boost + qttools + qtwebkit + breeze-icons + karchive + kcodecs + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kguiaddons + ki18n + kiconthemes + kitemviews + kio + ktexteditor + ktextwidgets + kwidgetsaddons + kxmlgui + kdb + kproperty + kreport + lcms2 + libmysqlclient + marble + postgresql ]; propagatedUserEnvPkgs = [ kproperty ]; @@ -52,6 +104,9 @@ mkDerivation rec { homepage = "https://kexi-project.org/"; maintainers = with maintainers; [ zraexy ]; platforms = platforms.linux; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; }; } diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix index 86547c638dfaa..f21c568c210c6 100644 --- a/pkgs/applications/office/kmymoney/default.nix +++ b/pkgs/applications/office/kmymoney/default.nix @@ -1,17 +1,38 @@ -{ stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools -, wrapQtAppsHook -, autoPatchelfHook - -, akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive -, kcmutils, kcontacts, qtwebengine, kdiagram, kholidays, kidentitymanagement -, kitemmodels, libical, libofx, qgpgme - -, sqlcipher - -# Needed for running tests: -, xvfb-run - -, python3 +{ + stdenv, + lib, + fetchurl, + doxygen, + extra-cmake-modules, + graphviz, + kdoctools, + wrapQtAppsHook, + autoPatchelfHook, + + akonadi, + alkimia, + aqbanking, + gmp, + gwenhywfar, + kactivities, + karchive, + kcmutils, + kcontacts, + qtwebengine, + kdiagram, + kholidays, + kidentitymanagement, + kitemmodels, + libical, + libofx, + qgpgme, + + sqlcipher, + + # Needed for running tests: + xvfb-run, + + python3, }: stdenv.mkDerivation rec { @@ -33,14 +54,33 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5"; nativeBuildInputs = [ - doxygen extra-cmake-modules graphviz kdoctools - python3.pkgs.wrapPython wrapQtAppsHook autoPatchelfHook + doxygen + extra-cmake-modules + graphviz + kdoctools + python3.pkgs.wrapPython + wrapQtAppsHook + autoPatchelfHook ]; buildInputs = [ - akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils - kcontacts qtwebengine kdiagram kholidays kidentitymanagement kitemmodels - libical libofx qgpgme + akonadi + alkimia + aqbanking + gmp + gwenhywfar + kactivities + karchive + kcmutils + kcontacts + qtwebengine + kdiagram + kholidays + kidentitymanagement + kitemmodels + libical + libofx + qgpgme sqlcipher # Put it into buildInputs so that CMake can find it, even though we patch @@ -61,11 +101,10 @@ stdenv.mkDerivation rec { doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; nativeInstallCheckInputs = [ xvfb-run ]; - installCheckPhase = - lib.optionalString doInstallCheck '' - xvfb-run -s '-screen 0 1024x768x24' make test \ - ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now. - ''; + installCheckPhase = lib.optionalString doInstallCheck '' + xvfb-run -s '-screen 0 1024x768x24' make test \ + ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now. + ''; # libpython is required by the python interpreter embedded in kmymoney, so we # need to explicitly tell autoPatchelf about it. @@ -80,6 +119,9 @@ stdenv.mkDerivation rec { homepage = "https://kmymoney.org/"; platforms = lib.platforms.linux; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ aidalgol das-g ]; + maintainers = with lib.maintainers; [ + aidalgol + das-g + ]; }; } diff --git a/pkgs/applications/office/ktimetracker/default.nix b/pkgs/applications/office/ktimetracker/default.nix index b31eb4588c3f8..50cd0de5142eb 100644 --- a/pkgs/applications/office/ktimetracker/default.nix +++ b/pkgs/applications/office/ktimetracker/default.nix @@ -1,7 +1,23 @@ -{ mkDerivation, lib, fetchurl, cmake, pkg-config, extra-cmake-modules, -kconfig, kconfigwidgets, kdbusaddons, kdoctools, ki18n, kidletime, -kjobwidgets, kio, knotifications, kwindowsystem, kxmlgui, ktextwidgets, -kcalendarcore +{ + mkDerivation, + lib, + fetchurl, + cmake, + pkg-config, + extra-cmake-modules, + kconfig, + kconfigwidgets, + kdbusaddons, + kdoctools, + ki18n, + kidletime, + kjobwidgets, + kio, + knotifications, + kwindowsystem, + kxmlgui, + ktextwidgets, + kcalendarcore, }: mkDerivation rec { @@ -14,12 +30,24 @@ mkDerivation rec { }; nativeBuildInputs = [ - cmake pkg-config extra-cmake-modules + cmake + pkg-config + extra-cmake-modules ]; buildInputs = [ - kconfig kconfigwidgets kdbusaddons kdoctools ki18n kidletime kjobwidgets -kio knotifications kwindowsystem kxmlgui ktextwidgets + kconfig + kconfigwidgets + kdbusaddons + kdoctools + ki18n + kidletime + kjobwidgets + kio + knotifications + kwindowsystem + kxmlgui + ktextwidgets kcalendarcore ]; diff --git a/pkgs/applications/office/ledger-web/default.nix b/pkgs/applications/office/ledger-web/default.nix index 00e3636fc3971..5662713bc6a0b 100644 --- a/pkgs/applications/office/ledger-web/default.nix +++ b/pkgs/applications/office/ledger-web/default.nix @@ -1,6 +1,11 @@ -{ lib, bundlerApp, bundlerUpdateScript -, withPostgresql ? true, postgresql -, withSqlite ? false, sqlite +{ + lib, + bundlerApp, + bundlerUpdateScript, + withPostgresql ? true, + postgresql, + withSqlite ? false, + sqlite, }: bundlerApp { @@ -8,8 +13,7 @@ bundlerApp { gemdir = ./.; exes = [ "ledger_web" ]; - buildInputs = lib.optional withPostgresql postgresql - ++ lib.optional withSqlite sqlite; + buildInputs = lib.optional withPostgresql postgresql ++ lib.optional withSqlite sqlite; passthru.updateScript = bundlerUpdateScript "ledger-web"; @@ -17,7 +21,11 @@ bundlerApp { description = "Web frontend to the Ledger CLI tool"; homepage = "https://github.com/peterkeen/ledger-web"; license = licenses.mit; - maintainers = with maintainers; [ peterhoeg manveru nicknovitski ]; + maintainers = with maintainers; [ + peterhoeg + manveru + nicknovitski + ]; platforms = platforms.linux; mainProgram = "ledger_web"; }; diff --git a/pkgs/applications/office/ledger-web/gemset.nix b/pkgs/applications/office/ledger-web/gemset.nix index 3bdcc86595fe7..02f049066d804 100644 --- a/pkgs/applications/office/ledger-web/gemset.nix +++ b/pkgs/applications/office/ledger-web/gemset.nix @@ -1,208 +1,240 @@ { backports = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn"; type = "gem"; }; version = "3.14.0"; }; database_cleaner = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x"; type = "gem"; }; version = "1.7.0"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; type = "gem"; }; version = "1.3"; }; directory_watcher = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fwc2shba7vks262ind74y3g76qp7znjq5q8b2dvza0yidgywhcq"; type = "gem"; }; version = "1.5.1"; }; ledger_web = { - dependencies = ["database_cleaner" "directory_watcher" "pg" "rack" "rspec" "sequel" "sinatra" "sinatra-contrib" "sinatra-session"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "database_cleaner" + "directory_watcher" + "pg" + "rack" + "rspec" + "sequel" + "sinatra" + "sinatra-contrib" + "sinatra-session" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0i4vagaiyayymlr41rsy4lg2cl1r011ib0ql9dgjadfy6imb4kqh"; type = "gem"; }; version = "1.5.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; type = "gem"; }; version = "1.13.1"; }; mustermann = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1"; type = "gem"; }; version = "1.0.3"; }; pg = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy"; type = "gem"; }; version = "1.1.4"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z90vflxbgjy2n84r7mbyax3i2vyvvrxxrf86ljzn5rw65jgnn2i"; type = "gem"; }; version = "2.0.7"; }; rack-protection = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk"; type = "gem"; }; version = "2.0.5"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; type = "gem"; }; version = "3.8.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; type = "gem"; }; version = "3.8.0"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c4gs5ybf7km0qshdm92p38zvg32n1j2kr5fgs2icacz7xf2y6fy"; type = "gem"; }; version = "3.8.3"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; type = "gem"; }; version = "3.8.0"; }; rspec-support = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; type = "gem"; }; version = "3.8.0"; }; sequel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwkc9kf4jn1x1ph4mgy4saiw2dirq6fhnkpyd0zq8rj1d0nay9a"; type = "gem"; }; version = "5.19.0"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mustermann" + "rack" + "rack-protection" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gasgn5f15myv08k10i16p326pchxjsy37pgqfw0xm66kcc5d7ry"; type = "gem"; }; version = "2.0.5"; }; sinatra-contrib = { - dependencies = ["backports" "multi_json" "mustermann" "rack-protection" "sinatra" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "backports" + "multi_json" + "mustermann" + "rack-protection" + "sinatra" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "093blvpfy5n7s8knaav9a4pm4j7kck9zidwz942qqd4g99fnk443"; type = "gem"; }; version = "2.0.5"; }; sinatra-session = { - dependencies = ["sinatra"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sinatra" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "183xl8i4d2hc03afd1i52gwn2xi3vzrv02g22llhfy5wkmm44gmq"; type = "gem"; }; version = "1.0.0"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; diff --git a/pkgs/applications/office/libreoffice/darwin/default.nix b/pkgs/applications/office/libreoffice/darwin/default.nix index f415b9164959d..4b55faab1f5b6 100644 --- a/pkgs/applications/office/libreoffice/darwin/default.nix +++ b/pkgs/applications/office/libreoffice/darwin/default.nix @@ -1,8 +1,9 @@ -{ stdenvNoCC -, lib -, fetchurl -, undmg -, writeScript +{ + stdenvNoCC, + lib, + fetchurl, + undmg, + writeScript, }: let @@ -30,8 +31,13 @@ stdenvNoCC.mkDerivation { inherit version; pname = "libreoffice"; src = fetchurl { - inherit (dist.${stdenvNoCC.hostPlatform.system} or - (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}")) url sha256; + inherit + (dist.${stdenvNoCC.hostPlatform.system} + or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}") + ) + url + sha256 + ; }; nativeBuildInputs = [ undmg ]; @@ -56,15 +62,14 @@ stdenvNoCC.mkDerivation { aarch64Url = dist."aarch64-darwin".url; x86_64Url = dist."x86_64-darwin".url; in - writeScript "update-libreoffice.sh" - '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash --argstr aarch64Url ${aarch64Url} --argstr x86_64Url ${x86_64Url} --argstr version ${version} ${updateNix} - set -eou pipefail + writeScript "update-libreoffice.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash --argstr aarch64Url ${aarch64Url} --argstr x86_64Url ${x86_64Url} --argstr version ${version} ${updateNix} + set -eou pipefail - update-source-version libreoffice-bin $newVersion $newAarch64Sha256 --file=${defaultNixFile} --system=aarch64-darwin --ignore-same-version - update-source-version libreoffice-bin $newVersion $newX86_64Sha256 --file=${defaultNixFile} --system=x86_64-darwin --ignore-same-version - ''; + update-source-version libreoffice-bin $newVersion $newAarch64Sha256 --file=${defaultNixFile} --system=aarch64-darwin --ignore-same-version + update-source-version libreoffice-bin $newVersion $newX86_64Sha256 --file=${defaultNixFile} --system=x86_64-darwin --ignore-same-version + ''; meta = with lib; { description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; @@ -72,6 +77,9 @@ stdenvNoCC.mkDerivation { license = licenses.lgpl3; maintainers = with maintainers; [ tricktron ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/applications/office/libreoffice/darwin/update-test.nix b/pkgs/applications/office/libreoffice/darwin/update-test.nix index 994a923c556dc..0d9119eaeae74 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-test.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-test.nix @@ -1,45 +1,48 @@ # run the tests with nixt -v -{ pkgs ? import { }, nixt }: +{ + pkgs ? import { }, + nixt, +}: let inherit (import ./update-utils.nix { inherit (pkgs) lib; }) extractLatestVersionFromHtml extractSha256FromHtml - getLatestStableVersion; + getLatestStableVersion + ; in -nixt.mkSuite "LibreOffice Updater" -{ +nixt.mkSuite "LibreOffice Updater" { "should extract latest stable version from html" = let - latestVersionHtmlMock = - '' - - - - Index of /libreoffice/stable - - - -

Index of /libreoffice/stable

- - - - - - -
 NameLast modifiedSizeMetadata

 Parent Directory  -  
 7.2.7/10-Mar-2022 11:12 -  
 7.3.3/12-May-2022 10:06 -  
 7.2.6/05-May-2022 07:57 -  

-
Apache Server at download.documentfoundation.org Port 80
-
MirrorBrain powered by Apache
- - ''; + latestVersionHtmlMock = '' + + + + Index of /libreoffice/stable + + + +

Index of /libreoffice/stable

+ + + + + + +
 NameLast modifiedSizeMetadata

 Parent Directory  -  
 7.2.7/10-Mar-2022 11:12 -  
 7.3.3/12-May-2022 10:06 -  
 7.2.6/05-May-2022 07:57 -  

+
Apache Server at download.documentfoundation.org Port 80
+
MirrorBrain powered by Apache
+ + ''; actual = extractLatestVersionFromHtml latestVersionHtmlMock; in "7.3.3" == actual; - "should extract latest stable version from website" = (builtins.compareVersions getLatestStableVersion "7.3.3") >= 0; + "should extract latest stable version from website" = + (builtins.compareVersions getLatestStableVersion "7.3.3") >= 0; "should extract sha256 from html" = let diff --git a/pkgs/applications/office/libreoffice/darwin/update-utils.nix b/pkgs/applications/office/libreoffice/darwin/update-utils.nix index 766e858e33e2c..d96d602739872 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-utils.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-utils.nix @@ -1,42 +1,42 @@ { lib }: let # extractLatestVersionFromHtml :: String -> String - extractLatestVersionFromHtml = htmlString: + extractLatestVersionFromHtml = + htmlString: let majorMinorPatchGroup = "([0-9]+\\.[0-9]+\\.[0-9]+)"; splittedVersions = builtins.split "href=\"${majorMinorPatchGroup}" htmlString; - stableVersions = builtins.concatLists - (builtins.filter (e: builtins.isList e) - splittedVersions); + stableVersions = builtins.concatLists (builtins.filter (e: builtins.isList e) splittedVersions); in - if stableVersions == [ ] - then abort "Failed to extract versions from html." - else lib.last (builtins.sort builtins.lessThan stableVersions); + if stableVersions == [ ] then + abort "Failed to extract versions from html." + else + lib.last (builtins.sort builtins.lessThan stableVersions); # getHtml :: String -> String - getHtml = url: - builtins.readFile (builtins.fetchurl url); + getHtml = url: builtins.readFile (builtins.fetchurl url); # getLatestStableVersion :: String - getLatestStableVersion = - extractLatestVersionFromHtml - (getHtml "https://download.documentfoundation.org/libreoffice/stable/"); + getLatestStableVersion = extractLatestVersionFromHtml ( + getHtml "https://download.documentfoundation.org/libreoffice/stable/" + ); # extractSha256FromHtml :: String -> String - extractSha256FromHtml = htmlString: + extractSha256FromHtml = + htmlString: let sha256 = (builtins.match ".*([0-9a-fA-F]{64}).*" htmlString); in - if sha256 == [ ] - then abort "Failed to extract sha256 from html." - else builtins.head sha256; + if sha256 == [ ] then abort "Failed to extract sha256 from html." else builtins.head sha256; # getSha256 :: String -> String - getSha256 = dmgUrl: oldVersion: newVersion: + getSha256 = + dmgUrl: oldVersion: newVersion: extractSha256FromHtml (getHtml (getSha256Url dmgUrl oldVersion newVersion)); # getSha256Url :: String -> String -> String -> String - getSha256Url = dmgUrl: oldVersion: newVersion: + getSha256Url = + dmgUrl: oldVersion: newVersion: (builtins.replaceStrings [ oldVersion ] [ newVersion ] dmgUrl) + ".sha256"; in @@ -47,5 +47,6 @@ in getLatestStableVersion extractSha256FromHtml getSha256 - getSha256Url; + getSha256Url + ; } diff --git a/pkgs/applications/office/libreoffice/darwin/update.nix b/pkgs/applications/office/libreoffice/darwin/update.nix index b74cca802fcb1..f3c5c758b428c 100644 --- a/pkgs/applications/office/libreoffice/darwin/update.nix +++ b/pkgs/applications/office/libreoffice/darwin/update.nix @@ -1,14 +1,15 @@ # Impure functions, for passthru.updateScript runtime only -{ aarch64Url -, x86_64Url -, version -, pkgs ? import ../../../../../default.nix { } -, +{ + aarch64Url, + x86_64Url, + version, + pkgs ? import ../../../../../default.nix { }, }: let inherit (import ./update-utils.nix { inherit (pkgs) lib; }) getLatestStableVersion - getSha256; + getSha256 + ; in pkgs.mkShell rec { buildInputs = [ pkgs.common-updater-scripts ]; diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix index aeab3da08dd7a..1bb8a60c35841 100644 --- a/pkgs/applications/office/libreoffice/wrapper.nix +++ b/pkgs/applications/office/libreoffice/wrapper.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -# The unwrapped libreoffice derivation -, unwrapped -, makeWrapper -, xorg # for lndir -, runCommand -# For Emulating wrapGAppsHook3 -, gsettings-desktop-schemas -, hicolor-icon-theme -, dconf -, librsvg -, gdk-pixbuf -# some scripts need these when used in conjuction with firejail -, coreutils -, gnugrep -# Configuration options for the wrapper -, extraMakeWrapperArgs ? [] -, dbusVerify ? stdenv.hostPlatform.isLinux -, dbus +{ + lib, + stdenv, + # The unwrapped libreoffice derivation + unwrapped, + makeWrapper, + xorg, # for lndir + runCommand, + # For Emulating wrapGAppsHook3 + gsettings-desktop-schemas, + hicolor-icon-theme, + dconf, + librsvg, + gdk-pixbuf, + # some scripts need these when used in conjuction with firejail + coreutils, + gnugrep, + # Configuration options for the wrapper + extraMakeWrapperArgs ? [ ], + dbusVerify ? stdenv.hostPlatform.isLinux, + dbus, }: let @@ -25,110 +26,154 @@ let major = lib.versions.major version; minor = lib.versions.minor version; - makeWrapperArgs = builtins.concatStringsSep " " ([ - "--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache" - "--prefix" "GIO_EXTRA_MODULES" ":" "${lib.getLib dconf}/lib/gio/modules" - "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk3}/share/gsettings-schemas/${unwrapped.gtk3.name}" - "--prefix" "XDG_DATA_DIRS" ":" "$out/share" - "--prefix" "XDG_DATA_DIRS" ":" "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" - "--prefix" "XDG_DATA_DIRS" ":" "${hicolor-icon-theme}/share" - "--prefix" "GST_PLUGIN_SYSTEM_PATH_1_0" ":" + makeWrapperArgs = builtins.concatStringsSep " " ( + [ + "--set" + "GDK_PIXBUF_MODULE_FILE" + "${librsvg}/${gdk-pixbuf.moduleDir}.cache" + "--prefix" + "GIO_EXTRA_MODULES" + ":" + "${lib.getLib dconf}/lib/gio/modules" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${unwrapped.gtk3}/share/gsettings-schemas/${unwrapped.gtk3.name}" + "--prefix" + "XDG_DATA_DIRS" + ":" + "$out/share" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${hicolor-icon-theme}/share" + "--prefix" + "GST_PLUGIN_SYSTEM_PATH_1_0" + ":" "${lib.makeSearchPath "lib/girepository-1.0" unwrapped.gst_packages}" - "--suffix" "PATH" ":" "${lib.makeBinPath [ coreutils gnugrep ]}" - ] ++ lib.optionals unwrapped.kdeIntegration [ - "--prefix" "QT_PLUGIN_PATH" ":" "${ - lib.makeSearchPath - unwrapped.qtbase.qtPluginPrefix - (builtins.map lib.getBin unwrapped.qtPackages) - }" - "--prefix" "QML2_IMPORT_PATH" ":" "${ - lib.makeSearchPath unwrapped.qtbase.qtQmlPrefix - (builtins.map lib.getBin unwrapped.qmlPackages) - }" - ] ++ [ - # Add dictionaries from all NIX_PROFILES - "--run" (lib.escapeShellArg '' - for PROFILE in $NIX_PROFILES; do - HU_DIR="$PROFILE/share/hunspell" - HY_DIR="$PROFILE/share/hyphen" - if [ -d "$HU_DIR" ]; then - export DICPATH=$DICPATH''${DICPATH:+:}$HU_DIR - fi - if [ -d "$HY_DIR" ]; then - export DICPATH=$DICPATH''${DICPATH:+:}$HY_DIR - fi - done - '') - ] ++ lib.optionals dbusVerify [ - # If no dbus is running, start a dedicated dbus daemon - "--run" (lib.escapeShellArg '' - if ! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then - dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus" - if ! test -d "$dbus_tmp_dir" && test -d "/run"; then - mkdir -p "$dbus_tmp_dir" - fi - if ! test -d "$dbus_tmp_dir"; then - dbus_tmp_dir="/tmp/libreoffice-$(id -u)/libreoffice-dbus" - mkdir -p "$dbus_tmp_dir" - fi - dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")" - "${dbus}"/bin/dbus-daemon \ - --nopidfile \ - --nofork \ - --config-file "${dbus}"/share/dbus-1/session.conf \ - --address "unix:path=$dbus_socket_dir/session" &> /dev/null & - dbus_pid=$! - export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session" - fi - '') - ] ++ [ - "--inherit-argv0" - ] ++ extraMakeWrapperArgs + "--suffix" + "PATH" + ":" + "${lib.makeBinPath [ + coreutils + gnugrep + ]}" + ] + ++ lib.optionals unwrapped.kdeIntegration [ + "--prefix" + "QT_PLUGIN_PATH" + ":" + "${lib.makeSearchPath unwrapped.qtbase.qtPluginPrefix ( + builtins.map lib.getBin unwrapped.qtPackages + )}" + "--prefix" + "QML2_IMPORT_PATH" + ":" + "${lib.makeSearchPath unwrapped.qtbase.qtQmlPrefix (builtins.map lib.getBin unwrapped.qmlPackages)}" + ] + ++ [ + # Add dictionaries from all NIX_PROFILES + "--run" + (lib.escapeShellArg '' + for PROFILE in $NIX_PROFILES; do + HU_DIR="$PROFILE/share/hunspell" + HY_DIR="$PROFILE/share/hyphen" + if [ -d "$HU_DIR" ]; then + export DICPATH=$DICPATH''${DICPATH:+:}$HU_DIR + fi + if [ -d "$HY_DIR" ]; then + export DICPATH=$DICPATH''${DICPATH:+:}$HY_DIR + fi + done + '') + ] + ++ lib.optionals dbusVerify [ + # If no dbus is running, start a dedicated dbus daemon + "--run" + (lib.escapeShellArg '' + if ! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then + dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus" + if ! test -d "$dbus_tmp_dir" && test -d "/run"; then + mkdir -p "$dbus_tmp_dir" + fi + if ! test -d "$dbus_tmp_dir"; then + dbus_tmp_dir="/tmp/libreoffice-$(id -u)/libreoffice-dbus" + mkdir -p "$dbus_tmp_dir" + fi + dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")" + "${dbus}"/bin/dbus-daemon \ + --nopidfile \ + --nofork \ + --config-file "${dbus}"/share/dbus-1/session.conf \ + --address "unix:path=$dbus_socket_dir/session" &> /dev/null & + dbus_pid=$! + export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session" + fi + '') + ] + ++ [ + "--inherit-argv0" + ] + ++ extraMakeWrapperArgs ); -in runCommand "${unwrapped.name}-wrapped" { - inherit (unwrapped) meta; - paths = [ unwrapped ]; - nativeBuildInputs = [ makeWrapper xorg.lndir ]; - passthru = { - inherit unwrapped; - # For backwards compatibility: - libreoffice = lib.warn "libreoffice: Use the unwrapped attributed, using libreoffice.libreoffice is deprecated." unwrapped; - inherit (unwrapped) kdeIntegration; - }; -} ('' - mkdir -p $out/share - for dir in ${unwrapped}/share/*; do - dirname="''${dir##*/}" - if [[ $dirname == "applications" ]]; then - cp -r $dir/ $out/share/ - else - ln -s $dir $out/share/ - fi - done - for f in $out/share/applications/*.desktop; do - substituteInPlace "$f" \ - --replace "Exec=libreoffice${major}.${minor}" "Exec=soffice" - done +in +runCommand "${unwrapped.name}-wrapped" + { + inherit (unwrapped) meta; + paths = [ unwrapped ]; + nativeBuildInputs = [ + makeWrapper + xorg.lndir + ]; + passthru = { + inherit unwrapped; + # For backwards compatibility: + libreoffice = lib.warn "libreoffice: Use the unwrapped attributed, using libreoffice.libreoffice is deprecated." unwrapped; + inherit (unwrapped) kdeIntegration; + }; + } + ( + '' + mkdir -p $out/share + for dir in ${unwrapped}/share/*; do + dirname="''${dir##*/}" + if [[ $dirname == "applications" ]]; then + cp -r $dir/ $out/share/ + else + ln -s $dir $out/share/ + fi + done + for f in $out/share/applications/*.desktop; do + substituteInPlace "$f" \ + --replace "Exec=libreoffice${major}.${minor}" "Exec=soffice" + done - mkdir -p $out/bin - mkdir -p $out/lib/libreoffice/program - lndir -silent ${unwrapped}/lib/libreoffice/program $out/lib/libreoffice/program - for i in sbase scalc sdraw smath swriter simpress soffice unopkg; do - # Delete the symlink created by lndir, and replace it by our wrapper - rm $out/lib/libreoffice/program/$i - makeWrapper \ - ${unwrapped}/lib/libreoffice/program/$i \ - $out/lib/libreoffice/program/$i \ - ${makeWrapperArgs} -'' + lib.optionalString dbusVerify '' - # Delete the dbus socket directory after libreoffice quits - sed -i 's/^exec -a "$0" //g' $out/lib/libreoffice/program/$i - echo 'code="$?"' >> $out/lib/libreoffice/program/$i - echo 'test -n "$dbus_socket_dir" && { rm -rf "$dbus_socket_dir"; kill $dbus_pid; }' >> $out/lib/libreoffice/program/$i - echo 'exit "$code"' >> $out/lib/libreoffice/program/$i -'' + '' - ln -s $out/lib/libreoffice/program/$i $out/bin/$i - done - # A symlink many users rely upon - ln -s $out/bin/soffice $out/bin/libreoffice -'') + mkdir -p $out/bin + mkdir -p $out/lib/libreoffice/program + lndir -silent ${unwrapped}/lib/libreoffice/program $out/lib/libreoffice/program + for i in sbase scalc sdraw smath swriter simpress soffice unopkg; do + # Delete the symlink created by lndir, and replace it by our wrapper + rm $out/lib/libreoffice/program/$i + makeWrapper \ + ${unwrapped}/lib/libreoffice/program/$i \ + $out/lib/libreoffice/program/$i \ + ${makeWrapperArgs} + '' + + lib.optionalString dbusVerify '' + # Delete the dbus socket directory after libreoffice quits + sed -i 's/^exec -a "$0" //g' $out/lib/libreoffice/program/$i + echo 'code="$?"' >> $out/lib/libreoffice/program/$i + echo 'test -n "$dbus_socket_dir" && { rm -rf "$dbus_socket_dir"; kill $dbus_pid; }' >> $out/lib/libreoffice/program/$i + echo 'exit "$code"' >> $out/lib/libreoffice/program/$i + '' + + '' + ln -s $out/lib/libreoffice/program/$i $out/bin/$i + done + # A symlink many users rely upon + ln -s $out/bin/soffice $out/bin/libreoffice + '' + ) diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix index 25ee02de209fd..d00ea783405e1 100644 --- a/pkgs/applications/office/mendeley/default.nix +++ b/pkgs/applications/office/mendeley/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, appimageTools -, gconf -, imagemagick +{ + lib, + fetchurl, + appimageTools, + gconf, + imagemagick, }: let @@ -19,7 +20,8 @@ let appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' @@ -38,7 +40,7 @@ in appimageTools.wrapType2 { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ atila ]; + maintainers = with maintainers; [ atila ]; mainProgram = "mendeley-reference-manager"; }; diff --git a/pkgs/applications/office/micropad/default.nix b/pkgs/applications/office/micropad/default.nix index 0d06ca5e8afe3..1dd3394e63276 100644 --- a/pkgs/applications/office/micropad/default.nix +++ b/pkgs/applications/office/micropad/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, yarnBuildHook -, fetchzip -, makeWrapper -, makeDesktopItem -, electron -, desktopToDarwinBundle -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnBuildHook, + fetchzip, + makeWrapper, + makeDesktopItem, + electron, + desktopToDarwinBundle, + copyDesktopItems, }: stdenv.mkDerivation (finalAttrs: { @@ -34,8 +35,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ESYSHuHLNsn3EYKIe2p0kg142jyC0USB+Ef//oGeF08="; }; - nativeBuildInputs = [ yarnBuildHook copyDesktopItems makeWrapper ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + nativeBuildInputs = [ + yarnBuildHook + copyDesktopItems + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; installPhase = '' runHook preInstall @@ -74,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: { desktopName = "µPad"; startupWMClass = "µPad"; comment = finalAttrs.meta.description; - categories = ["Office"]; + categories = [ "Office" ]; }) ]; @@ -82,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: { description = "A powerful note-taking app that helps you organise + take notes without restrictions"; homepage = "https://getmicropad.com/"; license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [rhysmdnz]; + maintainers = with lib.maintainers; [ rhysmdnz ]; inherit (electron.meta) platforms; mainProgram = "micropad"; }; diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix index 53cc19e5f1d38..af29fa9e9b057 100644 --- a/pkgs/applications/office/mmex/default.nix +++ b/pkgs/applications/office/mmex/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream -, cmake -, fetchpatch -, gettext -, git -, makeWrapper -, lsb-release -, pkg-config -, wrapGAppsHook3 -, curl -, sqlite -, wxGTK32 -, gtk3 -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + appstream, + cmake, + fetchpatch, + gettext, + git, + makeWrapper, + lsb-release, + pkg-config, + wrapGAppsHook3, + curl, + sqlite, + wxGTK32, + gtk3, + darwin, }: stdenv.mkDerivation rec { @@ -30,50 +31,59 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch { # https://github.com/moneymanagerex/moneymanagerex/pull/6716 + (fetchpatch { + # https://github.com/moneymanagerex/moneymanagerex/pull/6716 name = "workaround-appstream-1.0.3.patch"; url = "https://github.com/moneymanagerex/moneymanagerex/commit/bb98eab92d95b7315d27f4e59ae59b50587106d8.patch"; hash = "sha256-98OyFO2nnGBRTIirxZ3jX1NPvsw5kVT8nsCSSmyfabo="; }) ]; - postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' - substituteInPlace src/platfdep_mac.mm \ - --replace "appearance.name == NSAppearanceNameDarkAqua" "NO" - '' + lib.optionalString (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isx86_64) '' - substituteInPlace 3rd/CMakeLists.txt \ - --replace "-msse4.2 -maes" "" - ''; + postPatch = + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' + substituteInPlace src/platfdep_mac.mm \ + --replace "appearance.name == NSAppearanceNameDarkAqua" "NO" + '' + + lib.optionalString (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isx86_64) '' + substituteInPlace 3rd/CMakeLists.txt \ + --replace "-msse4.2 -maes" "" + ''; - nativeBuildInputs = [ - appstream # for appstreamcli - cmake - gettext - git - makeWrapper - pkg-config - wrapGAppsHook3 - wxGTK32 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - lsb-release - ]; + nativeBuildInputs = + [ + appstream # for appstreamcli + cmake + gettext + git + makeWrapper + pkg-config + wrapGAppsHook3 + wxGTK32 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + lsb-release + ]; - buildInputs = [ - curl - sqlite - wxGTK32 - gtk3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.libobjc - ]; + buildInputs = + [ + curl + sqlite + wxGTK32 + gtk3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.libobjc + ]; strictDeps = true; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-deprecated-copy" - "-Wno-old-style-cast" - "-Wno-unused-parameter" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-deprecated-copy" + "-Wno-old-style-cast" + "-Wno-unused-parameter" + ] + ); postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/{Applications,bin} diff --git a/pkgs/applications/office/mytetra/default.nix b/pkgs/applications/office/mytetra/default.nix index 8195a73bb2075..53e3fcad15c8c 100644 --- a/pkgs/applications/office/mytetra/default.nix +++ b/pkgs/applications/office/mytetra/default.nix @@ -1,4 +1,12 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, makeWrapper, xdg-utils }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtsvg, + makeWrapper, + xdg-utils, +}: mkDerivation rec { pname = "mytetra"; @@ -11,7 +19,10 @@ mkDerivation rec { sha256 = "sha256-jQXnDoLkqbDZxfsYKPDsTOE7p/BFeA8wEznpbkRVGdw="; }; - nativeBuildInputs = [ qmake makeWrapper ]; + nativeBuildInputs = [ + qmake + makeWrapper + ]; buildInputs = [ qtsvg ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/office/paperwork/openpaperwork-core.nix b/pkgs/applications/office/paperwork/openpaperwork-core.nix index ed9a7d6ed5ad0..01317f647589d 100644 --- a/pkgs/applications/office/paperwork/openpaperwork-core.nix +++ b/pkgs/applications/office/paperwork/openpaperwork-core.nix @@ -1,17 +1,18 @@ -{ buildPythonPackage -, lib -, fetchFromGitLab +{ + buildPythonPackage, + lib, + fetchFromGitLab, -, isPy3k -, isPyPy + isPy3k, + isPyPy, -, distro -, setuptools -, psutil -, certifi -, setuptools-scm + distro, + setuptools, + psutil, + certifi, + setuptools-scm, -, pkgs + pkgs, }: buildPythonPackage rec { @@ -54,7 +55,10 @@ buildPythonPackage rec { description = "Backend part of Paperwork (Python API, no UI)"; homepage = "https://openpaper.work/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ aszlig symphorien ]; + maintainers = with lib.maintainers; [ + aszlig + symphorien + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/office/paperwork/openpaperwork-gtk.nix b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix index 95d5effa151ff..2e88ee23bfe59 100644 --- a/pkgs/applications/office/paperwork/openpaperwork-gtk.nix +++ b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix @@ -1,17 +1,18 @@ -{ buildPythonPackage -, lib -, fetchFromGitLab +{ + buildPythonPackage, + lib, + fetchFromGitLab, -, isPy3k -, isPyPy + isPy3k, + isPyPy, -, openpaperwork-core -, pillow -, pygobject3 -, distro -, setuptools-scm + openpaperwork-core, + pillow, + pygobject3, + distro, + setuptools-scm, -, pkgs + pkgs, }: buildPythonPackage rec { @@ -54,7 +55,10 @@ buildPythonPackage rec { description = "Reusable GTK components of Paperwork"; homepage = "https://openpaper.work/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ aszlig symphorien ]; + maintainers = with lib.maintainers; [ + aszlig + symphorien + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix index 4460e50ab6246..0d0cee9f69fc9 100644 --- a/pkgs/applications/office/paperwork/paperwork-backend.nix +++ b/pkgs/applications/office/paperwork/paperwork-backend.nix @@ -1,28 +1,29 @@ -{ buildPythonPackage -, lib -, fetchFromGitLab -, pyenchant -, scikit-learn -, pypillowfight -, pycountry -, whoosh -, termcolor -, pygobject3 -, pyocr -, natsort -, libinsane -, distro -, openpaperwork-core -, openpaperwork-gtk -, psutil -, gtk3 -, poppler_gi -, gettext -, which -, shared-mime-info -, libreoffice -, unittestCheckHook -, setuptools-scm +{ + buildPythonPackage, + lib, + fetchFromGitLab, + pyenchant, + scikit-learn, + pypillowfight, + pycountry, + whoosh, + termcolor, + pygobject3, + pyocr, + natsort, + libinsane, + distro, + openpaperwork-core, + openpaperwork-gtk, + psutil, + gtk3, + poppler_gi, + gettext, + which, + shared-mime-info, + libreoffice, + unittestCheckHook, + setuptools-scm, }: buildPythonPackage rec { @@ -87,6 +88,9 @@ buildPythonPackage rec { description = "Backend part of Paperwork (Python API, no UI)"; homepage = "https://openpaper.work"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ aszlig symphorien ]; + maintainers = with maintainers; [ + aszlig + symphorien + ]; }; } diff --git a/pkgs/applications/office/paperwork/paperwork-gtk.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix index c9b9efeba8906..3f8876779d830 100644 --- a/pkgs/applications/office/paperwork/paperwork-gtk.nix +++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix @@ -1,27 +1,33 @@ -{ lib -, python3Packages -, gtk3 -, cairo -, adwaita-icon-theme -, librsvg -, xvfb-run -, dbus -, libnotify -, wrapGAppsHook3 -, fetchFromGitLab -, which -, gettext -, gobject-introspection -, gdk-pixbuf -, texliveSmall -, imagemagick -, perlPackages -, writeScript +{ + lib, + python3Packages, + gtk3, + cairo, + adwaita-icon-theme, + librsvg, + xvfb-run, + dbus, + libnotify, + wrapGAppsHook3, + fetchFromGitLab, + which, + gettext, + gobject-introspection, + gdk-pixbuf, + texliveSmall, + imagemagick, + perlPackages, + writeScript, }: let documentation_deps = [ - (texliveSmall.withPackages (ps: with ps; [ wrapfig gensymb ])) + (texliveSmall.withPackages ( + ps: with ps; [ + wrapfig + gensymb + ] + )) xvfb-run imagemagick perlPackages.Po4a @@ -146,7 +152,10 @@ python3Packages.buildPythonApplication rec { description = "Personal document manager for scanned documents"; homepage = "https://openpaper.work/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ aszlig symphorien ]; + maintainers = with lib.maintainers; [ + aszlig + symphorien + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/office/paperwork/paperwork-shell.nix b/pkgs/applications/office/paperwork/paperwork-shell.nix index cbda78976b5b1..21e3976a9adaa 100644 --- a/pkgs/applications/office/paperwork/paperwork-shell.nix +++ b/pkgs/applications/office/paperwork/paperwork-shell.nix @@ -1,21 +1,22 @@ -{ buildPythonPackage -, lib -, fetchFromGitLab +{ + buildPythonPackage, + lib, + fetchFromGitLab, -, isPy3k -, isPyPy + isPy3k, + isPyPy, -, openpaperwork-core -, openpaperwork-gtk -, paperwork-backend -, fabulous -, rich -, getkey -, psutil -, shared-mime-info -, setuptools-scm + openpaperwork-core, + openpaperwork-gtk, + paperwork-backend, + fabulous, + rich, + getkey, + psutil, + shared-mime-info, + setuptools-scm, -, pkgs + pkgs, }: buildPythonPackage rec { @@ -65,6 +66,9 @@ buildPythonPackage rec { description = "CLI for Paperwork"; homepage = "https://openpaper.work/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ aszlig symphorien ]; + maintainers = with lib.maintainers; [ + aszlig + symphorien + ]; }; } diff --git a/pkgs/applications/office/paperwork/src.nix b/pkgs/applications/office/paperwork/src.nix index 8b8735d9ac354..5f83eddd3fb79 100644 --- a/pkgs/applications/office/paperwork/src.nix +++ b/pkgs/applications/office/paperwork/src.nix @@ -1,4 +1,4 @@ -{fetchFromGitLab}: +{ fetchFromGitLab }: rec { version = "2.2.5"; src = fetchFromGitLab { diff --git a/pkgs/applications/office/pdfmixtool/default.nix b/pkgs/applications/office/pdfmixtool/default.nix index 73a5b54cb4424..61443dddcde05 100644 --- a/pkgs/applications/office/pdfmixtool/default.nix +++ b/pkgs/applications/office/pdfmixtool/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkDerivation -, fetchFromGitLab -, fetchpatch -, fetchpatch2 -, cmake -, pkg-config -, qtbase -, qttools -, qpdf -, podofo -, imagemagick +{ + lib, + mkDerivation, + fetchFromGitLab, + fetchpatch, + fetchpatch2, + cmake, + pkg-config, + qtbase, + qttools, + qpdf, + podofo, + imagemagick, }: mkDerivation rec { @@ -57,4 +58,3 @@ mkDerivation rec { maintainers = with maintainers; [ onny ]; }; } - diff --git a/pkgs/applications/office/qnotero/default.nix b/pkgs/applications/office/qnotero/default.nix index 4fd2e741adb00..028c5bad8aea9 100644 --- a/pkgs/applications/office/qnotero/default.nix +++ b/pkgs/applications/office/qnotero/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + wrapQtAppsHook, +}: python3Packages.buildPythonPackage rec { pname = "qnotero"; @@ -12,14 +18,17 @@ python3Packages.buildPythonPackage rec { sha256 = "sha256-Rym7neluRbYCpuezRQyLc6gSl3xbVR9fvhOxxW5+Nzo="; }; - propagatedBuildInputs = [ python3Packages.pyqt5 wrapQtAppsHook ]; + propagatedBuildInputs = [ + python3Packages.pyqt5 + wrapQtAppsHook + ]; patchPhase = '' - substituteInPlace ./setup.py \ - --replace "/usr/share" "usr/share" + substituteInPlace ./setup.py \ + --replace "/usr/share" "usr/share" - substituteInPlace ./libqnotero/_themes/light.py \ - --replace "/usr/share" "$out/usr/share" + substituteInPlace ./libqnotero/_themes/light.py \ + --replace "/usr/share" "$out/usr/share" ''; preFixup = '' diff --git a/pkgs/applications/office/qpdfview/default.nix b/pkgs/applications/office/qpdfview/default.nix index 7d44c684fd99e..ccac3a6e385a8 100644 --- a/pkgs/applications/office/qpdfview/default.nix +++ b/pkgs/applications/office/qpdfview/default.nix @@ -1,17 +1,18 @@ -{ lib -, mkDerivation -, fetchurl -, qmake -, qtbase -, qttools -, qtsvg -, pkg-config -, poppler -, djvulibre -, libspectre -, cups -, file -, ghostscript +{ + lib, + mkDerivation, + fetchurl, + qmake, + qtbase, + qttools, + qtsvg, + pkg-config, + poppler, + djvulibre, + libspectre, + cups, + file, + ghostscript, }: mkDerivation rec { diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix index f95ac14c67ab5..2d67bd99c12b8 100644 --- a/pkgs/applications/office/scribus/default.nix +++ b/pkgs/applications/office/scribus/default.nix @@ -1,34 +1,33 @@ -{ boost -, cairo -, cmake -, cups -, fetchurl -, fontconfig -, freetype -, harfbuzzFull -, hunspell -, lcms2 -, libjpeg -, libtiff -, libxml2 -, pixman -, pkg-config -, podofo -, poppler -, poppler_data -, python3 -, lib -, stdenv -, qt5 +{ + boost, + cairo, + cmake, + cups, + fetchurl, + fontconfig, + freetype, + harfbuzzFull, + hunspell, + lcms2, + libjpeg, + libtiff, + libxml2, + pixman, + pkg-config, + podofo, + poppler, + poppler_data, + python3, + lib, + stdenv, + qt5, }: let - pythonEnv = python3.withPackages ( - ps: [ - ps.pillow - ps.tkinter - ] - ); + pythonEnv = python3.withPackages (ps: [ + ps.pillow + ps.tkinter + ]); in stdenv.mkDerivation (finalAttrs: { pname = "scribus"; diff --git a/pkgs/applications/office/semantik/default.nix b/pkgs/applications/office/semantik/default.nix index b7007719a694d..568a5e0ad1424 100644 --- a/pkgs/applications/office/semantik/default.nix +++ b/pkgs/applications/office/semantik/default.nix @@ -1,25 +1,26 @@ -{ lib -, mkDerivation -, fetchFromGitLab -, wafHook -, pkg-config -, cmake -, qtbase -, python3 -, qtwebengine -, qtsvg -, ncurses6 -, kio -, kauth -, kiconthemes -, kconfigwidgets -, kxmlgui -, kcoreaddons -, kconfig -, kwidgetsaddons -, ki18n -, sonnet -, kdelibs4support +{ + lib, + mkDerivation, + fetchFromGitLab, + wafHook, + pkg-config, + cmake, + qtbase, + python3, + qtwebengine, + qtsvg, + ncurses6, + kio, + kauth, + kiconthemes, + kconfigwidgets, + kxmlgui, + kcoreaddons, + kconfig, + kwidgetsaddons, + ki18n, + sonnet, + kdelibs4support, }: mkDerivation rec { @@ -58,7 +59,14 @@ mkDerivation rec { --replace /usr/include/KF5/KDELibs4Support "${lib.getDev kdelibs4support}/include/KF5/KDELibs4Support" ''; - nativeBuildInputs = [ (lib.getDev qtsvg) (lib.getLib qtsvg) python3 pkg-config wafHook cmake ]; + nativeBuildInputs = [ + (lib.getDev qtsvg) + (lib.getLib qtsvg) + python3 + pkg-config + wafHook + cmake + ]; buildInputs = [ qtbase diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix index 851f53039dd4d..abd9c2a909b71 100644 --- a/pkgs/applications/office/skrooge/default.nix +++ b/pkgs/applications/office/skrooge/default.nix @@ -1,8 +1,31 @@ -{ mkDerivation, lib, fetchurl, - cmake, extra-cmake-modules, qtwebengine, qtscript, grantlee, qtxmlpatterns, - kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin, - kiconthemes, knewstuff, sqlcipher, qca-qt5, kactivities, karchive, - kguiaddons, knotifyconfig, krunner, kwindowsystem, libofx, shared-mime-info +{ + mkDerivation, + lib, + fetchurl, + cmake, + extra-cmake-modules, + qtwebengine, + qtscript, + grantlee, + qtxmlpatterns, + kxmlgui, + kwallet, + kparts, + kdoctools, + kjobwidgets, + kdesignerplugin, + kiconthemes, + knewstuff, + sqlcipher, + qca-qt5, + kactivities, + karchive, + kguiaddons, + knotifyconfig, + krunner, + kwindowsystem, + libofx, + shared-mime-info, }: mkDerivation rec { @@ -15,13 +38,33 @@ mkDerivation rec { }; nativeBuildInputs = [ - cmake extra-cmake-modules kdoctools shared-mime-info + cmake + extra-cmake-modules + kdoctools + shared-mime-info ]; buildInputs = [ - qtwebengine qtscript grantlee kxmlgui kwallet kparts qtxmlpatterns - kjobwidgets kdesignerplugin kiconthemes knewstuff sqlcipher qca-qt5 - kactivities karchive kguiaddons knotifyconfig krunner kwindowsystem libofx + qtwebengine + qtscript + grantlee + kxmlgui + kwallet + kparts + qtxmlpatterns + kjobwidgets + kdesignerplugin + kiconthemes + knewstuff + sqlcipher + qca-qt5 + kactivities + karchive + kguiaddons + knotifyconfig + krunner + kwindowsystem + libofx ]; # SKG_DESIGNER must be used to generate the needed library for QtDesigner. diff --git a/pkgs/applications/office/tagainijisho/default.nix b/pkgs/applications/office/tagainijisho/default.nix index cc2522ffa7282..6915ded792e58 100644 --- a/pkgs/applications/office/tagainijisho/default.nix +++ b/pkgs/applications/office/tagainijisho/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchzip, qtbase, qttools, cmake, sqlite, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchzip, + qtbase, + qttools, + cmake, + sqlite, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "tagainijisho"; @@ -9,8 +18,15 @@ stdenv.mkDerivation rec { hash = "sha256-CTDMoYGbVE4W0SDerW//aAdUVsySWFQycSy0I3a9+94="; }; - nativeBuildInputs = [ qttools cmake wrapQtAppsHook ]; - buildInputs = [ qtbase sqlite ]; + nativeBuildInputs = [ + qttools + cmake + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + sqlite + ]; cmakeFlags = [ "-DEMBED_SQLITE=OFF" @@ -21,9 +37,9 @@ stdenv.mkDerivation rec { mainProgram = "tagainijisho"; homepage = "https://www.tagaini.net/"; license = with licenses; [ - /* program */ + # program gpl3Plus - /* data */ + # data cc-by-sa-30 ]; platforms = platforms.linux; diff --git a/pkgs/applications/office/timetrap/default.nix b/pkgs/applications/office/timetrap/default.nix index 1bdc846638354..cfb1c0a62fc93 100644 --- a/pkgs/applications/office/timetrap/default.nix +++ b/pkgs/applications/office/timetrap/default.nix @@ -1,16 +1,20 @@ -{ stdenv -, lib -, bundlerEnv -, bundlerApp -, bundlerUpdateScript -, installShellFiles +{ + stdenv, + lib, + bundlerEnv, + bundlerApp, + bundlerUpdateScript, + installShellFiles, }: let ttBundlerApp = bundlerApp { pname = "timetrap"; gemdir = ./.; - exes = [ "t" "timetrap" ]; + exes = [ + "t" + "timetrap" + ]; passthru.updateScript = bundlerUpdateScript "timetrap"; }; @@ -46,9 +50,13 @@ stdenv.mkDerivation { meta = with lib; { description = "Simple command line time tracker written in ruby"; - homepage = "https://github.com/samg/timetrap"; - license = licenses.mit; - maintainers = with maintainers; [ jerith666 manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/samg/timetrap"; + license = licenses.mit; + maintainers = with maintainers; [ + jerith666 + manveru + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix index 90df4c1342f5c..ff77f41ec4916 100644 --- a/pkgs/applications/office/treesheets/default.nix +++ b/pkgs/applications/office/treesheets/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, wrapGAppsHook3 -, makeWrapper -, wxGTK32 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + wrapGAppsHook3, + makeWrapper, + wxGTK32, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -31,7 +32,9 @@ stdenv.mkDerivation rec { wxGTK32 ]; - env.NIX_CFLAGS_COMPILE = "-DPACKAGE_VERSION=\"${builtins.replaceStrings [ "unstable-" ] [ "" ] version}\""; + env.NIX_CFLAGS_COMPILE = "-DPACKAGE_VERSION=\"${ + builtins.replaceStrings [ "unstable-" ] [ "" ] version + }\""; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/{Applications,bin} diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix index 35b9b694c0918..b910e548ba6f6 100644 --- a/pkgs/applications/office/trilium/default.nix +++ b/pkgs/applications/office/trilium/default.nix @@ -7,9 +7,13 @@ let license = licenses.agpl3Plus; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ fliegendewurst eliandoran ]; + maintainers = with maintainers; [ + fliegendewurst + eliandoran + ]; }; -in { +in +{ trilium-desktop = callPackage ./desktop.nix { metaCommon = metaCommon; }; trilium-server = callPackage ./server.nix { metaCommon = metaCommon; }; diff --git a/pkgs/applications/office/trilium/desktop.nix b/pkgs/applications/office/trilium/desktop.nix index 13a291f458042..f832951be3742 100644 --- a/pkgs/applications/office/trilium/desktop.nix +++ b/pkgs/applications/office/trilium/desktop.nix @@ -1,8 +1,19 @@ -{ stdenv, lib, unzip, autoPatchelfHook -, fetchurl, makeWrapper -, alsa-lib, mesa, nss, nspr, systemd -, makeDesktopItem, copyDesktopItems, wrapGAppsHook3 -, metaCommon +{ + stdenv, + lib, + unzip, + autoPatchelfHook, + fetchurl, + makeWrapper, + alsa-lib, + mesa, + nss, + nspr, + systemd, + makeDesktopItem, + copyDesktopItems, + wrapGAppsHook3, + metaCommon, }: let @@ -17,7 +28,10 @@ let meta = metaCommon // { mainProgram = "trilium"; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; linux = stdenv.mkDerivation rec { @@ -96,4 +110,4 @@ let }; in - if stdenv.hostPlatform.isDarwin then darwin else linux +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/applications/office/trilium/server.nix b/pkgs/applications/office/trilium/server.nix index 125c23050d741..e96025aabc9c2 100644 --- a/pkgs/applications/office/trilium/server.nix +++ b/pkgs/applications/office/trilium/server.nix @@ -1,11 +1,18 @@ -{ lib, stdenv, autoPatchelfHook, fetchurl, nixosTests -, metaCommon }: +{ + lib, + stdenv, + autoPatchelfHook, + fetchurl, + nixosTests, + metaCommon, +}: let serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; serverSource.sha256 = "0gwp6h6nvfzq7k1g3233h838nans45jkd5c3pzl6qdhhm19vcs27"; version = "0.63.6"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "trilium-server"; inherit version; meta = metaCommon // { diff --git a/pkgs/applications/plasma-mobile/default.nix b/pkgs/applications/plasma-mobile/default.nix index 97076070ae600..7742b0a13f4b6 100644 --- a/pkgs/applications/plasma-mobile/default.nix +++ b/pkgs/applications/plasma-mobile/default.nix @@ -1,66 +1,74 @@ /* + # New packages -# New packages + READ THIS FIRST -READ THIS FIRST + This module is for official packages in the Plasma Mobile Gear. All + available packages are listed in `./srcs.nix`, although some are not yet + packaged in Nixpkgs. -This module is for official packages in the Plasma Mobile Gear. All -available packages are listed in `./srcs.nix`, although some are not yet -packaged in Nixpkgs. + IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE. -IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE. + See also `pkgs/applications/kde` as this is what this is based on. -See also `pkgs/applications/kde` as this is what this is based on. - -# Updates - -1. Update the URL in `./fetch.sh`. -2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/applications/plasma-mobile` - from the top of the Nixpkgs tree. -3. Use `nox-review wip` to check that everything builds. -4. Commit the changes and open a pull request. + # Updates + 1. Update the URL in `./fetch.sh`. + 2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/applications/plasma-mobile` + from the top of the Nixpkgs tree. + 3. Use `nox-review wip` to check that everything builds. + 4. Commit the changes and open a pull request. */ -{ lib -, libsForQt5 -, fetchurl +{ + lib, + libsForQt5, + fetchurl, }: let mirror = "mirror://kde"; srcs = import ./srcs.nix { inherit fetchurl mirror; }; - mkDerivation = args: + mkDerivation = + args: let inherit (args) pname; inherit (srcs.${pname}) src version; - mkDerivation = - libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; + mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) { }; in - mkDerivation (args // { + mkDerivation ( + args + // { inherit pname version src; outputs = args.outputs or [ "out" ]; meta = - let meta = args.meta or {}; in - meta // { + let + meta = args.meta or { }; + in + meta + // { homepage = meta.homepage or "https://www.plasma-mobile.org/"; platforms = meta.platforms or lib.platforms.linux; }; - }); + } + ); - packages = self: + packages = + self: let callPackage = self.newScope { inherit mkDerivation; }; - in { - plasma-dialer = callPackage ./plasma-dialer.nix {}; - plasma-phonebook = callPackage ./plasma-phonebook.nix {}; - plasma-settings = callPackage ./plasma-settings.nix {}; - spacebar = callPackage ./spacebar.nix {}; + in + { + plasma-dialer = callPackage ./plasma-dialer.nix { }; + plasma-phonebook = callPackage ./plasma-phonebook.nix { }; + plasma-settings = callPackage ./plasma-settings.nix { }; + spacebar = callPackage ./spacebar.nix { }; }; -in lib.makeScope libsForQt5.newScope packages +in +lib.makeScope libsForQt5.newScope packages diff --git a/pkgs/applications/plasma-mobile/plasma-dialer.nix b/pkgs/applications/plasma-mobile/plasma-dialer.nix index 5fa2638042e72..e741de2974f60 100644 --- a/pkgs/applications/plasma-mobile/plasma-dialer.nix +++ b/pkgs/applications/plasma-mobile/plasma-dialer.nix @@ -1,33 +1,34 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, callaudiod -, kcontacts -, kcoreaddons -, kdbusaddons -, ki18n -, kio -, kirigami-addons -, kirigami2 -, knotifications -, kpeople -, libphonenumber -, libselinux -, libsepol -, modemmanager-qt -, pcre -, plasma-wayland-protocols -, protobuf -, pulseaudio-qt -, qtfeedback -, qtmpris -, qtquickcontrols2 -, util-linux -, wayland -, wayland-protocols + callaudiod, + kcontacts, + kcoreaddons, + kdbusaddons, + ki18n, + kio, + kirigami-addons, + kirigami2, + knotifications, + kpeople, + libphonenumber, + libselinux, + libsepol, + modemmanager-qt, + pcre, + plasma-wayland-protocols, + protobuf, + pulseaudio-qt, + qtfeedback, + qtmpris, + qtquickcontrols2, + util-linux, + wayland, + wayland-protocols, }: mkDerivation rec { diff --git a/pkgs/applications/plasma-mobile/plasma-phonebook.nix b/pkgs/applications/plasma-mobile/plasma-phonebook.nix index a3d62cc4a7889..00bf96db6ec16 100644 --- a/pkgs/applications/plasma-mobile/plasma-phonebook.nix +++ b/pkgs/applications/plasma-mobile/plasma-phonebook.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kcontacts -, kcoreaddons -, kirigami2 -, kirigami-addons -, kpeople -, kpeoplevcard -, qtquickcontrols2 + kcontacts, + kcoreaddons, + kirigami2, + kirigami-addons, + kpeople, + kpeoplevcard, + qtquickcontrols2, }: mkDerivation rec { diff --git a/pkgs/applications/plasma-mobile/plasma-settings.nix b/pkgs/applications/plasma-mobile/plasma-settings.nix index c0e58b6653c77..39465ab00ec68 100644 --- a/pkgs/applications/plasma-mobile/plasma-settings.nix +++ b/pkgs/applications/plasma-mobile/plasma-settings.nix @@ -1,24 +1,25 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, kauth -, kconfig -, kcoreaddons -, kdbusaddons -, ki18n -, kirigami-addons -, kirigami2 -, kitemmodels -, libselinux -, libsepol -, modemmanager-qt -, networkmanager-qt -, pcre -, plasma-framework -, util-linux + kauth, + kconfig, + kcoreaddons, + kdbusaddons, + ki18n, + kirigami-addons, + kirigami2, + kitemmodels, + libselinux, + libsepol, + modemmanager-qt, + networkmanager-qt, + pcre, + plasma-framework, + util-linux, }: mkDerivation rec { diff --git a/pkgs/applications/plasma-mobile/spacebar.nix b/pkgs/applications/plasma-mobile/spacebar.nix index 4e38649d47e71..2b8b065d63b33 100644 --- a/pkgs/applications/plasma-mobile/spacebar.nix +++ b/pkgs/applications/plasma-mobile/spacebar.nix @@ -1,24 +1,25 @@ -{ lib -, mkDerivation +{ + lib, + mkDerivation, -, cmake -, extra-cmake-modules -, wrapQtAppsHook + cmake, + extra-cmake-modules, + wrapQtAppsHook, -, c-ares -, curl -, kcontacts -, ki18n -, kio -, kirigami-addons -, kirigami2 -, knotifications -, kpeople -, libphonenumber -, modemmanager-qt -, protobuf -, qcoro -, qtquickcontrols2 + c-ares, + curl, + kcontacts, + ki18n, + kio, + kirigami-addons, + kirigami2, + knotifications, + kpeople, + libphonenumber, + modemmanager-qt, + protobuf, + qcoro, + qtquickcontrols2, }: mkDerivation { diff --git a/pkgs/applications/radio/btlejack/default.nix b/pkgs/applications/radio/btlejack/default.nix index 5be832d6d9a68..86a9c52dbb290 100644 --- a/pkgs/applications/radio/btlejack/default.nix +++ b/pkgs/applications/radio/btlejack/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonApplication, fetchFromGitHub, pyserial, halo }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pyserial, + halo, +}: buildPythonApplication rec { pname = "btlejack"; @@ -15,7 +21,10 @@ buildPythonApplication rec { sed -i "s|^.*'argparse',$||" setup.py ''; - propagatedBuildInputs = [ pyserial halo ]; + propagatedBuildInputs = [ + pyserial + halo + ]; meta = with lib; { homepage = "https://github.com/virtualabs/btlejack"; diff --git a/pkgs/applications/radio/cqrlog/default.nix b/pkgs/applications/radio/cqrlog/default.nix index 7c973e097d533..935585761d701 100644 --- a/pkgs/applications/radio/cqrlog/default.nix +++ b/pkgs/applications/radio/cqrlog/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, fpc -, lazarus -, atk -, cairo -, gdk-pixbuf -, glib -, gtk2-x11 -, libX11 -, pango -, hamlib -, mariadb -, tqsl -, xdg-utils -, xplanet -, autoPatchelfHook -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + fpc, + lazarus, + atk, + cairo, + gdk-pixbuf, + glib, + gtk2-x11, + libX11, + pango, + hamlib, + mariadb, + tqsl, + xdg-utils, + xplanet, + autoPatchelfHook, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -62,7 +63,12 @@ stdenv.mkDerivation rec { ! grep -C src -RC0 "/usr" ''; - nativeBuildInputs = [ lazarus fpc autoPatchelfHook wrapGAppsHook3 ]; + nativeBuildInputs = [ + lazarus + fpc + autoPatchelfHook + wrapGAppsHook3 + ]; buildInputs = [ atk cairo diff --git a/pkgs/applications/radio/cubicsdr/default.nix b/pkgs/applications/radio/cubicsdr/default.nix index 2677795dc0edf..2fe9dffa6f8b1 100644 --- a/pkgs/applications/radio/cubicsdr/default.nix +++ b/pkgs/applications/radio/cubicsdr/default.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, - liquid-dsp, pkg-config, soapysdr-with-plugins, wxGTK32, enableDigitalLab ? false, - Cocoa, WebKit }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + fftw, + hamlib, + libpulseaudio, + libGL, + libX11, + liquid-dsp, + pkg-config, + soapysdr-with-plugins, + wxGTK32, + enableDigitalLab ? false, + Cocoa, + WebKit, +}: stdenv.mkDerivation rec { pname = "cubicsdr"; @@ -21,14 +37,30 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ fftw hamlib liquid-dsp soapysdr-with-plugins wxGTK32 ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio libGL libX11 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa WebKit ]; + buildInputs = + [ + fftw + hamlib + liquid-dsp + soapysdr-with-plugins + wxGTK32 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libpulseaudio + libGL + libX11 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + WebKit + ]; - cmakeFlags = [ "-DUSE_HAMLIB=ON" ] - ++ lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON"; + cmakeFlags = [ "-DUSE_HAMLIB=ON" ] ++ lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON"; meta = with lib; { homepage = "https://cubicsdr.com"; diff --git a/pkgs/applications/radio/direwolf/default.nix b/pkgs/applications/radio/direwolf/default.nix index 6cd591fcbda64..f35f66ecc2a4a 100644 --- a/pkgs/applications/radio/direwolf/default.nix +++ b/pkgs/applications/radio/direwolf/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, alsa-lib -, gpsd -, gpsdSupport ? false -, hamlib -, hamlibSupport ? true -, perl -, portaudio -, python3 -, espeak -, udev -, extraScripts ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + alsa-lib, + gpsd, + gpsdSupport ? false, + hamlib, + hamlibSupport ? true, + perl, + portaudio, + python3, + espeak, + udev, + extraScripts ? false, }: stdenv.mkDerivation rec { @@ -30,42 +31,54 @@ stdenv.mkDerivation rec { strictDeps = true; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib udev ] + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + udev + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ portaudio ] ++ lib.optionals gpsdSupport [ gpsd ] ++ lib.optionals hamlibSupport [ hamlib ] - ++ lib.optionals extraScripts [ python3 perl espeak ]; + ++ lib.optionals extraScripts [ + python3 + perl + espeak + ]; preConfigure = lib.optionals (!extraScripts) '' echo "" > scripts/CMakeLists.txt ''; - postPatch = '' - substituteInPlace conf/CMakeLists.txt \ - --replace /etc/udev/rules.d/ $out/lib/udev/rules.d/ - substituteInPlace src/symbols.c \ - --replace /usr/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt \ - --replace /opt/local/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt - substituteInPlace src/decode_aprs.c \ - --replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \ - --replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt - substituteInPlace cmake/cpack/direwolf.desktop.in \ - --replace 'Terminal=false' 'Terminal=true' \ - --replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf' - substituteInPlace src/dwgpsd.c \ - --replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14' - '' - + lib.optionalString extraScripts '' - patchShebangs scripts/dwespeak.sh - substituteInPlace scripts/dwespeak.sh \ - --replace espeak ${espeak}/bin/espeak - ''; + postPatch = + '' + substituteInPlace conf/CMakeLists.txt \ + --replace /etc/udev/rules.d/ $out/lib/udev/rules.d/ + substituteInPlace src/symbols.c \ + --replace /usr/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt \ + --replace /opt/local/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt + substituteInPlace src/decode_aprs.c \ + --replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \ + --replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt + substituteInPlace cmake/cpack/direwolf.desktop.in \ + --replace 'Terminal=false' 'Terminal=true' \ + --replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf' + substituteInPlace src/dwgpsd.c \ + --replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14' + '' + + lib.optionalString extraScripts '' + patchShebangs scripts/dwespeak.sh + substituteInPlace scripts/dwespeak.sh \ + --replace espeak ${espeak}/bin/espeak + ''; meta = with lib; { description = "Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway"; homepage = "https://github.com/wb2osz/direwolf/"; license = licenses.gpl2; platforms = platforms.unix; - maintainers = with maintainers; [ lasandell sarcasticadmin ]; + maintainers = with maintainers; [ + lasandell + sarcasticadmin + ]; }; } diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix index 28662cdc7b157..c759b83b546bd 100644 --- a/pkgs/applications/radio/fldigi/default.nix +++ b/pkgs/applications/radio/fldigi/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, hamlib -, fltk13 -, libjpeg -, libpng -, portaudio -, libsndfile -, libsamplerate -, libpulseaudio -, libXinerama -, gettext -, pkg-config -, alsa-lib -, udev +{ + lib, + stdenv, + fetchurl, + hamlib, + fltk13, + libjpeg, + libpng, + portaudio, + libsndfile, + libsamplerate, + libpulseaudio, + libXinerama, + gettext, + pkg-config, + alsa-lib, + udev, }: stdenv.mkDerivation rec { @@ -27,17 +28,23 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libXinerama - gettext - hamlib - fltk13 - libjpeg - libpng - portaudio - libsndfile - libsamplerate - ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ libpulseaudio alsa-lib udev ]; + buildInputs = + [ + libXinerama + gettext + hamlib + fltk13 + libjpeg + libpng + portaudio + libsndfile + libsamplerate + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + libpulseaudio + alsa-lib + udev + ]; env.CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++14"; @@ -47,7 +54,10 @@ stdenv.mkDerivation rec { description = "Digital modem program"; homepage = "https://sourceforge.net/projects/fldigi/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ relrod ftrvxmtrx ]; + maintainers = with maintainers; [ + relrod + ftrvxmtrx + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/radio/gnuradio/shared.nix b/pkgs/applications/radio/gnuradio/shared.nix index 75a2a97e0d22f..ef1b5feb6a8d9 100644 --- a/pkgs/applications/radio/gnuradio/shared.nix +++ b/pkgs/applications/radio/gnuradio/shared.nix @@ -1,88 +1,94 @@ -{ lib, stdenv -, python -, qt -, gtk -, removeReferencesTo -, featuresInfo -, features -, version -, sourceSha256 -# If overridden. No need to set default values, as they are given defaults in -# the main expressions -, overrideSrc -, fetchFromGitHub +{ + lib, + stdenv, + python, + qt, + gtk, + removeReferencesTo, + featuresInfo, + features, + version, + sourceSha256, + # If overridden. No need to set default values, as they are given defaults in + # the main expressions + overrideSrc, + fetchFromGitHub, }: let # Check if a feature is enabled, while defaulting to true if feat is not # specified. - hasFeature = feat: ( - if builtins.hasAttr feat features then - features.${feat} - else - true - ); + hasFeature = feat: (if builtins.hasAttr feat features then features.${feat} else true); versionAttr = { major = builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion version)); minor = builtins.elemAt (lib.splitVersion version) 2; patch = builtins.elemAt (lib.splitVersion version) 3; }; -in { - src = if overrideSrc != {} then - overrideSrc - else - fetchFromGitHub { - repo = "gnuradio"; - owner = "gnuradio"; - rev = "v${version}"; - sha256 = sourceSha256; - } - ; - nativeBuildInputs = [ removeReferencesTo ] ++ lib.flatten (lib.mapAttrsToList ( - feat: info: ( - lib.optionals (hasFeature feat) ( - (lib.optionals (builtins.hasAttr "native" info) info.native) ++ - (lib.optionals (builtins.hasAttr "pythonNative" info) info.pythonNative) - ) - ) - ) featuresInfo); - buildInputs = lib.flatten (lib.mapAttrsToList ( - feat: info: ( - lib.optionals (hasFeature feat) ( - (lib.optionals (builtins.hasAttr "runtime" info) info.runtime) ++ - (lib.optionals (builtins.hasAttr "pythonRuntime" info) info.pythonRuntime) - ) - ) - ) featuresInfo); +in +{ + src = + if overrideSrc != { } then + overrideSrc + else + fetchFromGitHub { + repo = "gnuradio"; + owner = "gnuradio"; + rev = "v${version}"; + sha256 = sourceSha256; + }; + nativeBuildInputs = + [ removeReferencesTo ] + ++ lib.flatten ( + lib.mapAttrsToList ( + feat: info: + (lib.optionals (hasFeature feat) ( + (lib.optionals (builtins.hasAttr "native" info) info.native) + ++ (lib.optionals (builtins.hasAttr "pythonNative" info) info.pythonNative) + )) + ) featuresInfo + ); + buildInputs = lib.flatten ( + lib.mapAttrsToList ( + feat: info: + (lib.optionals (hasFeature feat) ( + (lib.optionals (builtins.hasAttr "runtime" info) info.runtime) + ++ (lib.optionals (builtins.hasAttr "pythonRuntime" info) info.pythonRuntime) + )) + ) featuresInfo + ); cmakeFlags = lib.mapAttrsToList ( - feat: info: ( + feat: info: + ( if feat == "basic" then # Abuse this unavoidable "iteration" to set this flag which we want as # well - it means: Don't turn on features just because their deps are # satisfied, let only our cmakeFlags decide. "-DENABLE_DEFAULT=OFF" + else if hasFeature feat then + "-DENABLE_${info.cmakeEnableFlag}=ON" else - if hasFeature feat then - "-DENABLE_${info.cmakeEnableFlag}=ON" - else - "-DENABLE_${info.cmakeEnableFlag}=OFF" - )) featuresInfo - ; - disallowedReferences = [ - # TODO: Should this be conditional? - stdenv.cc - stdenv.cc.cc - ] + "-DENABLE_${info.cmakeEnableFlag}=OFF" + ) + ) featuresInfo; + disallowedReferences = + [ + # TODO: Should this be conditional? + stdenv.cc + stdenv.cc.cc + ] # If python-support is disabled, we probably don't want it referenced - ++ lib.optionals (!hasFeature "python-support") [ python ] - ; + ++ lib.optionals (!hasFeature "python-support") [ python ]; # Gcc references from examples - stripDebugList = [ "lib" "bin" ] + stripDebugList = + [ + "lib" + "bin" + ] ++ lib.optionals (hasFeature "gr-audio") [ "share/gnuradio/examples/audio" ] ++ lib.optionals (hasFeature "gr-uhd") [ "share/gnuradio/examples/uhd" ] - ++ lib.optionals (hasFeature "gr-qtgui") [ "share/gnuradio/examples/qt-gui" ] - ; - postInstall = "" + ++ lib.optionals (hasFeature "gr-qtgui") [ "share/gnuradio/examples/qt-gui" ]; + postInstall = + "" # Gcc references + lib.optionalString (hasFeature "gnuradio-runtime") '' remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libgnuradio-runtime${stdenv.hostPlatform.extensions.sharedLibrary}) @@ -90,27 +96,29 @@ in { # Clang references in InstalledDir + lib.optionalString (hasFeature "gnuradio-runtime" && stdenv.hostPlatform.isDarwin) '' remove-references-to -t ${stdenv.cc.cc} $(readlink -f $out/lib/libgnuradio-runtime${stdenv.hostPlatform.extensions.sharedLibrary}) - '' - ; + ''; # NOTE: Outputs are disabled due to upstream not using GNU InstallDIrs cmake # module. It's not that bad since it's a development package for most # purposes. If closure size needs to be reduced, features should be disabled # via an override. - passthru = { - inherit - hasFeature - versionAttr - features - featuresInfo - python - ; - gnuradioOlder = lib.versionOlder versionAttr.major; - gnuradioAtLeast = lib.versionAtLeast versionAttr.major; - } // lib.optionalAttrs (hasFeature "gr-qtgui") { - inherit qt; - } // lib.optionalAttrs (hasFeature "gnuradio-companion") { - inherit gtk; - }; + passthru = + { + inherit + hasFeature + versionAttr + features + featuresInfo + python + ; + gnuradioOlder = lib.versionOlder versionAttr.major; + gnuradioAtLeast = lib.versionAtLeast versionAttr.major; + } + // lib.optionalAttrs (hasFeature "gr-qtgui") { + inherit qt; + } + // lib.optionalAttrs (hasFeature "gnuradio-companion") { + inherit gtk; + }; # Wrapping is done with an external wrapper dontWrapPythonPrograms = true; dontWrapQtApps = true; @@ -138,6 +146,11 @@ in { homepage = "https://www.gnuradio.org"; license = lib.licenses.gpl3; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ doronbehar bjornfor fpletz jiegec ]; + maintainers = with lib.maintainers; [ + doronbehar + bjornfor + fpletz + jiegec + ]; }; } diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index 4ffe42593ec5d..7146c32d20fbb 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -1,100 +1,133 @@ -{ lib -, stdenv -# The unwrapped gnuradio derivation -, unwrapped -# If it's a minimal build, we don't want to wrap it with lndir and -# wrapProgram.. -, doWrap ? true -# For the wrapper -, makeWrapper -# For lndir -, xorg -# To define a the gnuradio.pkgs scope -, newScope -# For Emulating wrapGAppsHook3 -, gsettings-desktop-schemas -, glib -, hicolor-icon-theme -, pango -, json-glib -, dconf -, gobject-introspection -, librsvg -, gdk-pixbuf -, harfbuzz -, at-spi2-core -, atk -# For Adding additional GRC blocks -, extraPackages ? [] -# For Adding additional python packaages -, extraPythonPackages ? [] -, soapysdr # For it's passthru.searchPath -# soapysdr plugins we add by default. Ideally, we should have a -# soapysdrPackages = soapysdr.pkgs attribute set, but until now this wasn't -# crucial. -, soapyairspy -, soapyaudio -, soapybladerf -, soapyhackrf -, soapyremote -, soapyrtlsdr -, soapyuhd -# For adding / changing soapysdr packages, like soapsdr-with-plugins does -, extraSoapySdrPackages ? [ - soapyairspy - soapyaudio - soapybladerf - soapyhackrf - soapyremote - soapyrtlsdr - soapyuhd -] -# Allow to add whatever you want to the wrapper -, extraMakeWrapperArgs ? [] +{ + lib, + stdenv, + # The unwrapped gnuradio derivation + unwrapped, + # If it's a minimal build, we don't want to wrap it with lndir and + # wrapProgram.. + doWrap ? true, + # For the wrapper + makeWrapper, + # For lndir + xorg, + # To define a the gnuradio.pkgs scope + newScope, + # For Emulating wrapGAppsHook3 + gsettings-desktop-schemas, + glib, + hicolor-icon-theme, + pango, + json-glib, + dconf, + gobject-introspection, + librsvg, + gdk-pixbuf, + harfbuzz, + at-spi2-core, + atk, + # For Adding additional GRC blocks + extraPackages ? [ ], + # For Adding additional python packaages + extraPythonPackages ? [ ], + soapysdr, # For it's passthru.searchPath + # soapysdr plugins we add by default. Ideally, we should have a + # soapysdrPackages = soapysdr.pkgs attribute set, but until now this wasn't + # crucial. + soapyairspy, + soapyaudio, + soapybladerf, + soapyhackrf, + soapyremote, + soapyrtlsdr, + soapyuhd, + # For adding / changing soapysdr packages, like soapsdr-with-plugins does + extraSoapySdrPackages ? [ + soapyairspy + soapyaudio + soapybladerf + soapyhackrf + soapyremote + soapyrtlsdr + soapyuhd + ], + # Allow to add whatever you want to the wrapper + extraMakeWrapperArgs ? [ ], }: let # We don't check if `python-support` feature is on, as it's unlikely someone # may wish to wrap GR without python support. - pythonPkgs = extraPythonPackages + pythonPkgs = + extraPythonPackages ++ [ (unwrapped.python.pkgs.toPythonModule unwrapped) ] ++ unwrapped.passthru.uhd.pythonPath - ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != []) [ + ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != [ ]) [ (unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd) ] # Add the extraPackages as python modules as well ++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages) - ++ lib.flatten (lib.mapAttrsToList ( - feat: info: ( - lib.optionals ((unwrapped.hasFeature feat) && (builtins.hasAttr "pythonRuntime" info)) info.pythonRuntime - ) - ) unwrapped.featuresInfo) - ; - pythonEnv = unwrapped.python.withPackages(ps: pythonPkgs); + ++ lib.flatten ( + lib.mapAttrsToList ( + feat: info: + (lib.optionals ( + (unwrapped.hasFeature feat) && (builtins.hasAttr "pythonRuntime" info) + ) info.pythonRuntime) + ) unwrapped.featuresInfo + ); + pythonEnv = unwrapped.python.withPackages (ps: pythonPkgs); pname = unwrapped.pname + "-wrapped"; inherit (unwrapped) version; - makeWrapperArgs = builtins.concatStringsSep " " ([ - ] - # Emulating wrapGAppsHook3 & wrapQtAppsHook working together - ++ lib.optionals ( - (unwrapped.hasFeature "gnuradio-companion") - || (unwrapped.hasFeature "gr-qtgui") - ) [ - "--prefix" "XDG_DATA_DIRS" ":" "$out/share" - "--prefix" "XDG_DATA_DIRS" ":" "$out/share/gsettings-schemas/${pname}" - "--prefix" "XDG_DATA_DIRS" ":" "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" - "--prefix" "XDG_DATA_DIRS" ":" "${hicolor-icon-theme}/share" - # Needs to run `gsettings` on startup, see: - # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html - "--prefix" "PATH" ":" "${lib.getBin glib}/bin" + makeWrapperArgs = builtins.concatStringsSep " " ( + [ ] + # Emulating wrapGAppsHook3 & wrapQtAppsHook working together + ++ + lib.optionals ((unwrapped.hasFeature "gnuradio-companion") || (unwrapped.hasFeature "gr-qtgui")) + [ + "--prefix" + "XDG_DATA_DIRS" + ":" + "$out/share" + "--prefix" + "XDG_DATA_DIRS" + ":" + "$out/share/gsettings-schemas/${pname}" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${hicolor-icon-theme}/share" + # Needs to run `gsettings` on startup, see: + # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html + "--prefix" + "PATH" + ":" + "${lib.getBin glib}/bin" + ] ++ lib.optionals (unwrapped.hasFeature "gnuradio-companion") [ - "--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache" - "--prefix" "GIO_EXTRA_MODULES" ":" "${lib.getLib dconf}/lib/gio/modules" - "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk}/share" - "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk}/share/gsettings-schemas/${unwrapped.gtk.name}" - "--prefix" "GI_TYPELIB_PATH" ":" "${lib.makeSearchPath "lib/girepository-1.0" [ + "--set" + "GDK_PIXBUF_MODULE_FILE" + "${librsvg}/${gdk-pixbuf.moduleDir}.cache" + "--prefix" + "GIO_EXTRA_MODULES" + ":" + "${lib.getLib dconf}/lib/gio/modules" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${unwrapped.gtk}/share" + "--prefix" + "XDG_DATA_DIRS" + ":" + "${unwrapped.gtk}/share/gsettings-schemas/${unwrapped.gtk.name}" + "--prefix" + "GI_TYPELIB_PATH" + ":" + "${lib.makeSearchPath "lib/girepository-1.0" [ (lib.getLib glib) unwrapped.gtk gsettings-desktop-schemas @@ -110,44 +143,57 @@ let at-spi2-core ]}" ] - ++ lib.optionals (extraPackages != []) [ - "--prefix" "GRC_BLOCKS_PATH" ":" "${lib.makeSearchPath "share/gnuradio/grc/blocks" extraPackages}" + ++ lib.optionals (extraPackages != [ ]) [ + "--prefix" + "GRC_BLOCKS_PATH" + ":" + "${lib.makeSearchPath "share/gnuradio/grc/blocks" extraPackages}" ] - ++ lib.optionals (extraSoapySdrPackages != []) [ - "--prefix" "SOAPY_SDR_PLUGIN_PATH" ":" "${lib.makeSearchPath - soapysdr.passthru.searchPath extraSoapySdrPackages}" + ++ lib.optionals (extraSoapySdrPackages != [ ]) [ + "--prefix" + "SOAPY_SDR_PLUGIN_PATH" + ":" + "${lib.makeSearchPath soapysdr.passthru.searchPath extraSoapySdrPackages}" ] - ++ lib.optionals (unwrapped.hasFeature "gr-qtgui") - # 3.7 builds with qt4 - (if lib.versionAtLeast unwrapped.versionAttr.major "3.8" then - [ - "--prefix" "QT_PLUGIN_PATH" ":" - "${ - lib.makeSearchPath - unwrapped.qt.qtbase.qtPluginPrefix - (builtins.map lib.getBin ([ - unwrapped.qt.qtbase - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - unwrapped.qt.qtwayland - ])) - }" - "--prefix" "QML2_IMPORT_PATH" ":" - "${ - lib.makeSearchPath - unwrapped.qt.qtbase.qtQmlPrefix - (builtins.map lib.getBin ([ - unwrapped.qt.qtbase - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - unwrapped.qt.qtwayland - ])) - }" - ] - else - # Add here qt4 related environment for 3.7? - [ + ++ + lib.optionals (unwrapped.hasFeature "gr-qtgui") + # 3.7 builds with qt4 + ( + if lib.versionAtLeast unwrapped.versionAttr.major "3.8" then + [ + "--prefix" + "QT_PLUGIN_PATH" + ":" + "${lib.makeSearchPath unwrapped.qt.qtbase.qtPluginPrefix ( + builtins.map lib.getBin ( + [ + unwrapped.qt.qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + unwrapped.qt.qtwayland + ] + ) + )}" + "--prefix" + "QML2_IMPORT_PATH" + ":" + "${lib.makeSearchPath unwrapped.qt.qtbase.qtQmlPrefix ( + builtins.map lib.getBin ( + [ + unwrapped.qt.qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + unwrapped.qt.qtwayland + ] + ) + )}" + ] + else + # Add here qt4 related environment for 3.7? + [ - ] - ) + ] + ) ++ extraMakeWrapperArgs ); @@ -160,48 +206,48 @@ let pythonEnv pythonPkgs unwrapped - ; + ; pkgs = packages; }; - self = if doWrap then - stdenv.mkDerivation { - inherit pname version passthru; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ - xorg.lndir - ]; - buildCommand = '' - mkdir $out - cd $out - lndir -silent ${unwrapped} - ${lib.optionalString - (extraPackages != []) - (builtins.concatStringsSep "\n" - (builtins.map (pkg: '' - if [[ -d ${lib.getBin pkg}/bin/ ]]; then - lndir -silent ${pkg}/bin ./bin - fi - '') extraPackages) - ) - } - for i in $out/bin/*; do - if [[ ! -x "$i" ]]; then - continue - fi - cp -L "$i" "$i".tmp - mv -f "$i".tmp "$i" - if head -1 "$i" | grep -q ${unwrapped.python}; then - substituteInPlace "$i" \ - --replace ${unwrapped.python} ${pythonEnv} - fi - wrapProgram "$i" ${makeWrapperArgs} - done - ''; - inherit (unwrapped) meta; - } - else - unwrapped.overrideAttrs(_: { - inherit passthru; - }) - ; -in self + self = + if doWrap then + stdenv.mkDerivation { + inherit pname version passthru; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ + xorg.lndir + ]; + buildCommand = '' + mkdir $out + cd $out + lndir -silent ${unwrapped} + ${lib.optionalString (extraPackages != [ ]) ( + builtins.concatStringsSep "\n" ( + builtins.map (pkg: '' + if [[ -d ${lib.getBin pkg}/bin/ ]]; then + lndir -silent ${pkg}/bin ./bin + fi + '') extraPackages + ) + )} + for i in $out/bin/*; do + if [[ ! -x "$i" ]]; then + continue + fi + cp -L "$i" "$i".tmp + mv -f "$i".tmp "$i" + if head -1 "$i" | grep -q ${unwrapped.python}; then + substituteInPlace "$i" \ + --replace ${unwrapped.python} ${pythonEnv} + fi + wrapProgram "$i" ${makeWrapperArgs} + done + ''; + inherit (unwrapped) meta; + } + else + unwrapped.overrideAttrs (_: { + inherit passthru; + }); +in +self diff --git a/pkgs/applications/radio/gqrx/default.nix b/pkgs/applications/radio/gqrx/default.nix index 5e11d6119bea2..a74aead0f80f8 100644 --- a/pkgs/applications/radio/gqrx/default.nix +++ b/pkgs/applications/radio/gqrx/default.nix @@ -1,23 +1,26 @@ -{ lib -, fetchFromGitHub -, cmake -, pkg-config -, qtbase -, qtsvg -, qtwayland -, gnuradioMinimal -, thrift -, mpir -, fftwFloat -, alsa-lib -, libjack2 -, wrapGAppsHook3 -, wrapQtAppsHook -# drivers (optional): -, rtl-sdr -, hackrf -, pulseaudioSupport ? true, libpulseaudio -, portaudioSupport ? false, portaudio +{ + lib, + fetchFromGitHub, + cmake, + pkg-config, + qtbase, + qtsvg, + qtwayland, + gnuradioMinimal, + thrift, + mpir, + fftwFloat, + alsa-lib, + libjack2, + wrapGAppsHook3, + wrapQtAppsHook, + # drivers (optional): + rtl-sdr, + hackrf, + pulseaudioSupport ? true, + libpulseaudio, + portaudioSupport ? false, + portaudio, }: assert pulseaudioSupport -> libpulseaudio != null; @@ -42,38 +45,43 @@ gnuradioMinimal.pkgs.mkDerivation rec { wrapQtAppsHook wrapGAppsHook3 ]; - buildInputs = [ - gnuradioMinimal.unwrapped.logLib - mpir - fftwFloat - alsa-lib - libjack2 - gnuradioMinimal.unwrapped.boost - qtbase - qtsvg - qtwayland - gnuradioMinimal.pkgs.osmosdr - rtl-sdr - hackrf - ] ++ lib.optionals (gnuradioMinimal.hasFeature "gr-ctrlport") [ - thrift - gnuradioMinimal.unwrapped.python.pkgs.thrift - ] ++ lib.optionals pulseaudioSupport [ libpulseaudio ] + buildInputs = + [ + gnuradioMinimal.unwrapped.logLib + mpir + fftwFloat + alsa-lib + libjack2 + gnuradioMinimal.unwrapped.boost + qtbase + qtsvg + qtwayland + gnuradioMinimal.pkgs.osmosdr + rtl-sdr + hackrf + ] + ++ lib.optionals (gnuradioMinimal.hasFeature "gr-ctrlport") [ + thrift + gnuradioMinimal.unwrapped.python.pkgs.thrift + ] + ++ lib.optionals pulseaudioSupport [ libpulseaudio ] ++ lib.optionals portaudioSupport [ portaudio ]; cmakeFlags = let audioBackend = - if pulseaudioSupport - then "Pulseaudio" - else if portaudioSupport - then "Portaudio" - else "Gr-audio"; - in [ + if pulseaudioSupport then + "Pulseaudio" + else if portaudioSupport then + "Portaudio" + else + "Gr-audio"; + in + [ "-DLINUX_AUDIO_BACKEND=${audioBackend}" ]; - # Prevent double-wrapping, inject wrapper args manually instead. + # Prevent double-wrapping, inject wrapper args manually instead. dontWrapGApps = true; preFixup = '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") @@ -92,7 +100,10 @@ gnuradioMinimal.pkgs.mkDerivation rec { # Some of the code comes from the Cutesdr project, with a BSD license, but # it's currently unknown which version of the BSD license that is. license = licenses.gpl3Plus; - platforms = platforms.linux; # should work on Darwin / macOS too - maintainers = with maintainers; [ bjornfor fpletz ]; + platforms = platforms.linux; # should work on Darwin / macOS too + maintainers = with maintainers; [ + bjornfor + fpletz + ]; }; } diff --git a/pkgs/applications/radio/guglielmo/default.nix b/pkgs/applications/radio/guglielmo/default.nix index 98cde58e8cfff..9836d03ee8511 100644 --- a/pkgs/applications/radio/guglielmo/default.nix +++ b/pkgs/applications/radio/guglielmo/default.nix @@ -1,15 +1,20 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config -, airspy -, rtl-sdr -, fdk_aac -, faad2 -, fftwFloat -, libsndfile -, libsamplerate -, portaudio -, qtmultimedia -, qwt -} : +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + airspy, + rtl-sdr, + fdk_aac, + faad2, + fftwFloat, + libsndfile, + libsamplerate, + portaudio, + qtmultimedia, + qwt, +}: mkDerivation rec { pname = "guglielmo"; @@ -26,7 +31,10 @@ mkDerivation rec { mv $out/linux-bin $out/bin ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ airspy rtl-sdr @@ -51,6 +59,6 @@ mkDerivation rec { homepage = "https://github.com/marcogrecopriolo/guglielmo"; license = licenses.gpl2Only; maintainers = [ maintainers.markuskowa ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/radio/js8call/default.nix b/pkgs/applications/radio/js8call/default.nix index e89d3445697f4..3b4e247e36098 100644 --- a/pkgs/applications/radio/js8call/default.nix +++ b/pkgs/applications/radio/js8call/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromBitbucket -, wrapQtAppsHook -, pkg-config -, hamlib -, libusb1 -, cmake -, gfortran -, fftw -, fftwFloat -, qtbase -, qtmultimedia -, qtserialport +{ + lib, + stdenv, + fetchFromBitbucket, + wrapQtAppsHook, + pkg-config, + hamlib, + libusb1, + cmake, + gfortran, + fftw, + fftwFloat, + qtbase, + qtmultimedia, + qtserialport, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/radio/klog/default.nix b/pkgs/applications/radio/klog/default.nix index 0215e6cdcdabd..9ac067a418970 100644 --- a/pkgs/applications/radio/klog/default.nix +++ b/pkgs/applications/radio/klog/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, hamlib, pkg-config, qtbase, qttools, qtserialport, qtcharts, qmake, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchurl, + hamlib, + pkg-config, + qtbase, + qttools, + qtserialport, + qtcharts, + qmake, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "klog"; @@ -9,8 +21,18 @@ stdenv.mkDerivation rec { sha256 = "1d5x7rq0mgfrqws3q1y4z8wh2qa3gvsmd0ssf2yqgkyq3fhdrb5c"; }; - nativeBuildInputs = [ pkg-config wrapQtAppsHook qmake qttools ]; - buildInputs = [ hamlib qtbase qtserialport qtcharts ]; + nativeBuildInputs = [ + pkg-config + wrapQtAppsHook + qmake + qttools + ]; + buildInputs = [ + hamlib + qtbase + qtserialport + qtcharts + ]; qmakeFlags = [ "KLog.pro" ]; @@ -20,7 +42,7 @@ stdenv.mkDerivation rec { longDescription = '' KLog provides QSO management, useful QSL management DX-Cluster client, DXCC management, ClubLog integration, WSJT-X, DX-Marathon support and much more. - ''; + ''; homepage = "https://www.klog.xyz/"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/radio/limesuite/default.nix b/pkgs/applications/radio/limesuite/default.nix index 9190896d8e11a..2679132bdb8fb 100644 --- a/pkgs/applications/radio/limesuite/default.nix +++ b/pkgs/applications/radio/limesuite/default.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, sqlite, wxGTK32, libusb1, soapysdr -, mesa_glu, libX11, gnuplot, fltk -, GLUT -, withGui ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + sqlite, + wxGTK32, + libusb1, + soapysdr, + mesa_glu, + libX11, + gnuplot, + fltk, + GLUT, + withGui ? false, }: stdenv.mkDerivation rec { @@ -22,20 +32,23 @@ stdenv.mkDerivation rec { "-DOpenGL_GL_PREFERENCE=GLVND" ] ++ lib.optional (!withGui) "-DENABLE_GUI=OFF"; - buildInputs = [ - libusb1 - sqlite - gnuplot - libusb1 - soapysdr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - GLUT - ] ++ lib.optionals withGui [ - fltk - libX11 - mesa_glu - wxGTK32 - ]; + buildInputs = + [ + libusb1 + sqlite + gnuplot + libusb1 + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + GLUT + ] + ++ lib.optionals withGui [ + fltk + libX11 + mesa_glu + wxGTK32 + ]; postInstall = '' install -Dm444 -t $out/lib/udev/rules.d ../udev-rules/64-limesuite.rules @@ -51,4 +64,3 @@ stdenv.mkDerivation rec { badPlatforms = lib.optionals withGui platforms.darwin; # withGui transitively depends on mesa, which is broken on darwin }; } - diff --git a/pkgs/applications/radio/pothos/default.nix b/pkgs/applications/radio/pothos/default.nix index ac28698a46097..641df521c7fd8 100644 --- a/pkgs/applications/radio/pothos/default.nix +++ b/pkgs/applications/radio/pothos/default.nix @@ -1,22 +1,23 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, doxygen -, wrapQtAppsHook -, pcre -, poco -, qtbase -, qtsvg -, qwt6_1 -, nlohmann_json -, soapysdr-with-plugins -, portaudio -, alsa-lib -, muparserx -, python3 +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + doxygen, + wrapQtAppsHook, + pcre, + poco, + qtbase, + qtsvg, + qwt6_1, + nlohmann_json, + soapysdr-with-plugins, + portaudio, + alsa-lib, + muparserx, + python3, }: mkDerivation rec { @@ -42,11 +43,25 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config doxygen wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + doxygen + wrapQtAppsHook + ]; buildInputs = [ - pcre poco qtbase qtsvg qwt6_1 nlohmann_json - soapysdr-with-plugins portaudio alsa-lib muparserx python3 + pcre + poco + qtbase + qtsvg + qwt6_1 + nlohmann_json + soapysdr-with-plugins + portaudio + alsa-lib + muparserx + python3 ]; postInstall = '' diff --git a/pkgs/applications/radio/qlog/default.nix b/pkgs/applications/radio/qlog/default.nix index 9732d836b7e5b..3afa1d038311e 100644 --- a/pkgs/applications/radio/qlog/default.nix +++ b/pkgs/applications/radio/qlog/default.nix @@ -1,17 +1,18 @@ -{ fetchFromGitHub -, qtbase -, stdenv -, lib -, wrapQtAppsHook -, qmake -, qtcharts -, qtwebengine -, qtserialport -, qtwebchannel -, hamlib -, qtkeychain -, pkg-config -, cups +{ + fetchFromGitHub, + qtbase, + stdenv, + lib, + wrapQtAppsHook, + qmake, + qtcharts, + qtwebengine, + qtserialport, + qtwebchannel, + hamlib, + qtkeychain, + pkg-config, + cups, }: stdenv.mkDerivation rec { @@ -28,17 +29,19 @@ stdenv.mkDerivation rec { env.NIX_LDFLAGS = "-lhamlib"; - buildInputs = [ - qtbase - qtcharts - qtwebengine - qtserialport - qtwebchannel - hamlib - qtkeychain - ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ - cups - ]); + buildInputs = + [ + qtbase + qtcharts + qtwebengine + qtserialport + qtwebchannel + hamlib + qtkeychain + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ + cups + ]); nativeBuildInputs = [ wrapQtAppsHook @@ -51,7 +54,10 @@ stdenv.mkDerivation rec { mainProgram = "qlog"; license = with licenses; [ gpl3Only ]; homepage = "https://github.com/foldynl/QLog"; - maintainers = with maintainers; [ oliver-koss mkg20001 ]; + maintainers = with maintainers; [ + oliver-koss + mkg20001 + ]; platforms = with platforms; unix; }; } diff --git a/pkgs/applications/radio/qsstv/default.nix b/pkgs/applications/radio/qsstv/default.nix index 43d9ad13e4b93..ba49faf73e39a 100644 --- a/pkgs/applications/radio/qsstv/default.nix +++ b/pkgs/applications/radio/qsstv/default.nix @@ -1,5 +1,18 @@ -{ mkDerivation, lib, fetchurl, qtbase, qmake, openjpeg, pkg-config, fftw, - libpulseaudio, alsa-lib, hamlib, libv4l, fftwFloat }: +{ + mkDerivation, + lib, + fetchurl, + qtbase, + qmake, + openjpeg, + pkg-config, + fftw, + libpulseaudio, + alsa-lib, + hamlib, + libv4l, + fftwFloat, +}: mkDerivation rec { version = "9.5.8"; @@ -15,8 +28,16 @@ mkDerivation rec { pkg-config ]; - buildInputs = [ qtbase openjpeg fftw libpulseaudio alsa-lib hamlib libv4l - fftwFloat ]; + buildInputs = [ + qtbase + openjpeg + fftw + libpulseaudio + alsa-lib + hamlib + libv4l + fftwFloat + ]; postInstall = '' # Install desktop icon diff --git a/pkgs/applications/radio/rtl-sdr/default.nix b/pkgs/applications/radio/rtl-sdr/default.nix index 6cb25feb980b8..9697488a7b7d9 100644 --- a/pkgs/applications/radio/rtl-sdr/default.nix +++ b/pkgs/applications/radio/rtl-sdr/default.nix @@ -1,16 +1,26 @@ -{ lib -, stdenv -, fetchFromGitea -, fetchFromGitHub -, cmake -, pkg-config -, libusb1 +{ + lib, + stdenv, + fetchFromGitea, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, }: let - generic = { version, pname, src, meta }: + generic = + { + version, + pname, + src, + meta, + }: stdenv.mkDerivation { inherit version pname src; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; propagatedBuildInputs = [ libusb1 ]; cmakeFlags = lib.optionals stdenv.hostPlatform.isLinux [ @@ -31,7 +41,11 @@ let inherit (meta) longDescription homepage; description = "Software to turn the RTL2832U into a SDR receiver"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ bjornfor skovati Tungsten842 ]; + maintainers = with maintainers; [ + bjornfor + skovati + Tungsten842 + ]; platforms = platforms.unix; mainProgram = "rtl_sdr"; }; diff --git a/pkgs/applications/radio/sdr-j-fm/default.nix b/pkgs/applications/radio/sdr-j-fm/default.nix index e77ce2d88eaac..23be0ff1ac701 100644 --- a/pkgs/applications/radio/sdr-j-fm/default.nix +++ b/pkgs/applications/radio/sdr-j-fm/default.nix @@ -50,11 +50,11 @@ stdenv.mkDerivation (finalAttrs: { features = { # All of these features don't require an external depencies, althought it # may be implied - upstraem bundles everything they need in their repo. - AIRSPY = true; - SDRPLAY = true; + AIRSPY = true; + SDRPLAY = true; SDRPLAY_V3 = true; - HACKRF = true; - PLUTO = true; + HACKRF = true; + PLUTO = true; # Some more cmake flags are mentioned in upstream's CMakeLists.txt file # but they don't actually make a difference. } // featuresOverride; diff --git a/pkgs/applications/radio/sdrpp/default.nix b/pkgs/applications/radio/sdrpp/default.nix index 151a967d943ff..6e140c25bffd1 100644 --- a/pkgs/applications/radio/sdrpp/default.nix +++ b/pkgs/applications/radio/sdrpp/default.nix @@ -1,40 +1,67 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config -, libX11, glfw, glew, fftwFloat, volk, zstd, AppKit -# Sources -, airspy_source ? true, airspy -, airspyhf_source ? true, airspyhf -, bladerf_source ? true, libbladeRF -, file_source ? true -, hackrf_source ? true, hackrf -, limesdr_source ? true, limesuite -, perseus_source ? false # needs libperseus-sdr, not yet available in nixpks -, plutosdr_source ? stdenv.hostPlatform.isLinux, libiio, libad9361 -, rfspace_source ? true -, rtl_sdr_source ? true, rtl-sdr-osmocom, libusb1 # osmocom better w/ rtlsdr v4 -, rtl_tcp_source ? true -, sdrplay_source ? false, sdrplay -, soapy_source ? true, soapysdr-with-plugins -, spyserver_source ? true -, usrp_source ? false, uhd, boost - -# Sinks -, audio_sink ? true, rtaudio -, network_sink ? true -, portaudio_sink ? false, portaudio - -# Decoders -, falcon9_decoder ? false -, m17_decoder ? false, codec2 -, meteor_demodulator ? true -, radio ? true -, weather_sat_decoder ? false # is missing some dsp/pll.h - -# Misc -, discord_presence ? true -, frequency_manager ? true -, recorder ? true -, rigctl_server ? true -, scanner ? true +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libX11, + glfw, + glew, + fftwFloat, + volk, + zstd, + AppKit, + # Sources + airspy_source ? true, + airspy, + airspyhf_source ? true, + airspyhf, + bladerf_source ? true, + libbladeRF, + file_source ? true, + hackrf_source ? true, + hackrf, + limesdr_source ? true, + limesuite, + perseus_source ? false, # needs libperseus-sdr, not yet available in nixpks + plutosdr_source ? stdenv.hostPlatform.isLinux, + libiio, + libad9361, + rfspace_source ? true, + rtl_sdr_source ? true, + rtl-sdr-osmocom, + libusb1, # osmocom better w/ rtlsdr v4 + rtl_tcp_source ? true, + sdrplay_source ? false, + sdrplay, + soapy_source ? true, + soapysdr-with-plugins, + spyserver_source ? true, + usrp_source ? false, + uhd, + boost, + + # Sinks + audio_sink ? true, + rtaudio, + network_sink ? true, + portaudio_sink ? false, + portaudio, + + # Decoders + falcon9_decoder ? false, + m17_decoder ? false, + codec2, + meteor_demodulator ? true, + radio ? true, + weather_sat_decoder ? false, # is missing some dsp/pll.h + + # Misc + discord_presence ? true, + frequency_manager ? true, + recorder ? true, + rigctl_server ? true, + scanner ? true, }: stdenv.mkDerivation rec { @@ -67,9 +94,19 @@ stdenv.mkDerivation rec { substituteInPlace core/src/version.h --replace "1.1.0" "$version" ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ glfw glew fftwFloat volk zstd ] + buildInputs = + [ + glfw + glew + fftwFloat + volk + zstd + ] ++ lib.optional stdenv.hostPlatform.isDarwin AppKit ++ lib.optional stdenv.hostPlatform.isLinux libX11 ++ lib.optional airspy_source airspy @@ -77,11 +114,20 @@ stdenv.mkDerivation rec { ++ lib.optional bladerf_source libbladeRF ++ lib.optional hackrf_source hackrf ++ lib.optional limesdr_source limesuite - ++ lib.optionals rtl_sdr_source [ rtl-sdr-osmocom libusb1 ] + ++ lib.optionals rtl_sdr_source [ + rtl-sdr-osmocom + libusb1 + ] ++ lib.optional sdrplay_source sdrplay ++ lib.optional soapy_source soapysdr-with-plugins - ++ lib.optionals plutosdr_source [ libiio libad9361 ] - ++ lib.optionals usrp_source [ uhd boost ] + ++ lib.optionals plutosdr_source [ + libiio + libad9361 + ] + ++ lib.optionals usrp_source [ + uhd + boost + ] ++ lib.optional audio_sink rtaudio ++ lib.optional portaudio_sink portaudio ++ lib.optional m17_decoder codec2; diff --git a/pkgs/applications/radio/sigdigger/default.nix b/pkgs/applications/radio/sigdigger/default.nix index 03f783f970dac..6e344c84d625f 100644 --- a/pkgs/applications/radio/sigdigger/default.nix +++ b/pkgs/applications/radio/sigdigger/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake -, qtbase -, pkg-config -, sigutils -, fftwSinglePrec -, suwidgets -, wrapQtAppsHook -, suscan -, libsndfile -, soapysdr-with-plugins -, libxml2 -, volk +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + pkg-config, + sigutils, + fftwSinglePrec, + suwidgets, + wrapQtAppsHook, + suscan, + libsndfile, + soapysdr-with-plugins, + libxml2, + volk, }: stdenv.mkDerivation rec { @@ -55,6 +56,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/BatchDrake/SigDigger"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ polygon oxapentane ]; + maintainers = with maintainers; [ + polygon + oxapentane + ]; }; } diff --git a/pkgs/applications/radio/soapyairspy/default.nix b/pkgs/applications/radio/soapyairspy/default.nix index 9d198ad15eb35..975a7dc1c261a 100644 --- a/pkgs/applications/radio/soapyairspy/default.nix +++ b/pkgs/applications/radio/soapyairspy/default.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, airspy, soapysdr -, libobjc, IOKit, Security -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + airspy, + soapysdr, + libobjc, + IOKit, + Security, +}: stdenv.mkDerivation rec { pname = "soapyairspy"; @@ -15,8 +22,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ airspy soapysdr ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + buildInputs = + [ + airspy + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; diff --git a/pkgs/applications/radio/soapyaudio/default.nix b/pkgs/applications/radio/soapyaudio/default.nix index 86921754d6b64..003561495c1b1 100644 --- a/pkgs/applications/radio/soapyaudio/default.nix +++ b/pkgs/applications/radio/soapyaudio/default.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, hamlib, rtaudio, alsa-lib, libpulseaudio, libjack2, libusb1, soapysdr -, Accelerate, CoreAudio -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + hamlib, + rtaudio, + alsa-lib, + libpulseaudio, + libjack2, + libusb1, + soapysdr, + Accelerate, + CoreAudio, +}: stdenv.mkDerivation rec { pname = "soapyaudio"; @@ -14,10 +26,26 @@ stdenv.mkDerivation rec { sha256 = "0minlsc1lvmqm20vn5hb4im7pz8qwklfy7sbr2xr73xkrbqdahc0"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ hamlib rtaudio libjack2 libusb1 soapysdr ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libpulseaudio ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Accelerate CoreAudio ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + hamlib + rtaudio + libjack2 + libusb1 + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libpulseaudio + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + CoreAudio + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" diff --git a/pkgs/applications/radio/soapybladerf/default.nix b/pkgs/applications/radio/soapybladerf/default.nix index 15c46507350c2..1def3e822fe10 100644 --- a/pkgs/applications/radio/soapybladerf/default.nix +++ b/pkgs/applications/radio/soapybladerf/default.nix @@ -1,12 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, libbladeRF, soapysdr -, libobjc, IOKit, Security -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libbladeRF, + soapysdr, + libobjc, + IOKit, + Security, +}: let version = "0.4.1"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "soapybladerf"; inherit version; @@ -17,13 +26,23 @@ in stdenv.mkDerivation { sha256 = "02wh09850vinqg248fw4lxmx7y857cqmnnb8jm9zhyrsggal0hki"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libbladeRF soapysdr ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + libbladeRF + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; - meta = with lib; { homepage = "https://github.com/pothosware/SoapyBladeRF"; description = "SoapySDR plugin for BladeRF devices"; diff --git a/pkgs/applications/radio/soapyhackrf/default.nix b/pkgs/applications/radio/soapyhackrf/default.nix index 3f385a4b7255e..949e5b5bff9da 100644 --- a/pkgs/applications/radio/soapyhackrf/default.nix +++ b/pkgs/applications/radio/soapyhackrf/default.nix @@ -1,12 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, hackrf, soapysdr -, libobjc, IOKit, Security -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + hackrf, + soapysdr, + libobjc, + IOKit, + Security, +}: let version = "0.3.4"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "soapyhackrf"; inherit version; @@ -17,9 +26,20 @@ in stdenv.mkDerivation { sha256 = "sha256-fzPYHJAPX8FkFxPXpLlUagTd/NoamRX0YnxHwkbV1nI="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ hackrf soapysdr ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + hackrf + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; diff --git a/pkgs/applications/radio/soapyrtlsdr/default.nix b/pkgs/applications/radio/soapyrtlsdr/default.nix index f0a5194a4a9e8..16dd80a12cbc0 100644 --- a/pkgs/applications/radio/soapyrtlsdr/default.nix +++ b/pkgs/applications/radio/soapyrtlsdr/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, rtl-sdr -, soapysdr -, libobjc -, IOKit -, Security +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + rtl-sdr, + soapysdr, + libobjc, + IOKit, + Security, }: stdenv.mkDerivation (finalAttrs: { @@ -21,9 +22,20 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-IapdrBE8HhibY52Anm76/mVAoA0GghwnRCxxfGkyLTw="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ rtl-sdr soapysdr ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + rtl-sdr + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; @@ -31,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/pothosware/SoapyRTLSDR"; description = "SoapySDR plugin for RTL-SDR devices"; license = licenses.mit; - maintainers = with maintainers; [ ragge luizribeiro ]; + maintainers = with maintainers; [ + ragge + luizribeiro + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/applications/radio/soapyuhd/default.nix b/pkgs/applications/radio/soapyuhd/default.nix index de7b7be855ec6..062a5c17bf031 100644 --- a/pkgs/applications/radio/soapyuhd/default.nix +++ b/pkgs/applications/radio/soapyuhd/default.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, uhd, boost, soapysdr -, libobjc, IOKit, Security -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + uhd, + boost, + soapysdr, + libobjc, + IOKit, + Security, +}: stdenv.mkDerivation rec { pname = "soapyuhd"; @@ -14,9 +23,21 @@ stdenv.mkDerivation rec { sha256 = "14rk9ap9ayks2ma6mygca08yfds9bgfmip8cvwl87l06hwhnlwhj"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ uhd boost soapysdr ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + uhd + boost + soapysdr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; diff --git a/pkgs/applications/radio/suwidgets/default.nix b/pkgs/applications/radio/suwidgets/default.nix index 05f6cf12d6cdc..84fa92ef53527 100644 --- a/pkgs/applications/radio/suwidgets/default.nix +++ b/pkgs/applications/radio/suwidgets/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake -, qtbase -, pkg-config -, sigutils -, fftwSinglePrec +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + pkg-config, + sigutils, + fftwSinglePrec, }: stdenv.mkDerivation rec { @@ -46,6 +47,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/BatchDrake/SuWidgets"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ polygon oxapentane ]; + maintainers = with maintainers; [ + polygon + oxapentane + ]; }; } diff --git a/pkgs/applications/radio/svxlink/default.nix b/pkgs/applications/radio/svxlink/default.nix index 8c1d5f2129ea3..156ba47147629 100644 --- a/pkgs/applications/radio/svxlink/default.nix +++ b/pkgs/applications/radio/svxlink/default.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, cmake, pkg-config, fetchFromGitHub, makeDesktopItem, alsa-lib, speex -, libopus, curl, gsm, libgcrypt, libsigcxx, popt, qtbase, qttools -, wrapQtAppsHook, rtl-sdr, tcl, doxygen, groff }: +{ + lib, + stdenv, + cmake, + pkg-config, + fetchFromGitHub, + makeDesktopItem, + alsa-lib, + speex, + libopus, + curl, + gsm, + libgcrypt, + libsigcxx, + popt, + qtbase, + qttools, + wrapQtAppsHook, + rtl-sdr, + tcl, + doxygen, + groff, +}: let desktopItem = makeDesktopItem rec { @@ -9,10 +29,15 @@ let icon = "qtel"; desktopName = name; genericName = "EchoLink Client"; - categories = [ "HamRadio" "Qt" "Network" ]; + categories = [ + "HamRadio" + "Qt" + "Network" + ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "svxlink"; version = "19.09.2"; @@ -31,7 +56,13 @@ in stdenv.mkDerivation rec { ]; dontWrapQtApps = true; - nativeBuildInputs = [ cmake pkg-config doxygen groff wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + doxygen + groff + wrapQtAppsHook + ]; buildInputs = [ alsa-lib diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix index 22e734e0dac86..c69de023e25fa 100644 --- a/pkgs/applications/radio/uhd/default.nix +++ b/pkgs/applications/radio/uhd/default.nix @@ -1,33 +1,34 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, cmake -, pkg-config -# See https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html for dependencies explanations -, boost -, ncurses -, enableCApi ? true -, enablePythonApi ? true -, python3 -, enableExamples ? false -, enableUtils ? true -, libusb1 -# Disable dpdk for now due to compilation issues. -, enableDpdk ? false -, dpdk -# Devices -, enableOctoClock ? true -, enableMpmd ? true -, enableB100 ? true -, enableB200 ? true -, enableUsrp1 ? true -, enableUsrp2 ? true -, enableX300 ? true -, enableN300 ? true -, enableN320 ? true -, enableE300 ? true -, enableE320 ? true +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + cmake, + pkg-config, + # See https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html for dependencies explanations + boost, + ncurses, + enableCApi ? true, + enablePythonApi ? true, + python3, + enableExamples ? false, + enableUtils ? true, + libusb1, + # Disable dpdk for now due to compilation issues. + enableDpdk ? false, + dpdk, + # Devices + enableOctoClock ? true, + enableMpmd ? true, + enableB100 ? true, + enableB200 ? true, + enableUsrp1 ? true, + enableUsrp2 ? true, + enableX300 ? true, + enableN300 ? true, + enableN320 ? true, + enableE300 ? true, + enableE320 ? true, }: let @@ -42,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { # version = "4.7.0.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "EttusResearch"; @@ -62,25 +66,27 @@ stdenv.mkDerivation (finalAttrs: { # This are the minimum required Python dependencies, this attribute might # be useful if you want to build a development environment with a python # interpreter able to import the uhd module. - pythonPath = optionals (enablePythonApi || enableUtils) [ - python3.pkgs.numpy - python3.pkgs.setuptools - ] ++ optionals (enableUtils) [ - python3.pkgs.requests - python3.pkgs.six - - /* These deps are needed for the usrp_hwd.py utility, however even if they - would have been added here, the utility wouldn't have worked because it - depends on an old python library mprpc that is not supported for Python > - 3.8. See also report upstream: - https://github.com/EttusResearch/uhd/issues/744 - - python3.pkgs.gevent - python3.pkgs.pyudev - python3.pkgs.pyroute2 - - */ - ]; + pythonPath = + optionals (enablePythonApi || enableUtils) [ + python3.pkgs.numpy + python3.pkgs.setuptools + ] + ++ optionals (enableUtils) [ + python3.pkgs.requests + python3.pkgs.six + + /* + These deps are needed for the usrp_hwd.py utility, however even if they + would have been added here, the utility wouldn't have worked because it + depends on an old python library mprpc that is not supported for Python > + 3.8. See also report upstream: + https://github.com/EttusResearch/uhd/issues/744 + + python3.pkgs.gevent + python3.pkgs.pyudev + python3.pkgs.pyroute2 + */ + ]; passthru = { runtimePython = python3.withPackages (ps: finalAttrs.pythonPath); updateScript = [ @@ -90,58 +96,58 @@ stdenv.mkDerivation (finalAttrs: { ]; }; - cmakeFlags = [ - "-DENABLE_LIBUHD=ON" - "-DENABLE_USB=ON" - # Regardless of doCheck, we want to build the tests to help us gain - # confident that the package is OK. - "-DENABLE_TESTS=ON" - (cmakeBool "ENABLE_EXAMPLES" enableExamples) - (cmakeBool "ENABLE_UTILS" enableUtils) - (cmakeBool "ENABLE_C_API" enableCApi) - (cmakeBool "ENABLE_PYTHON_API" enablePythonApi) - /* - - Otherwise python tests fail. Using a dedicated pythonEnv for either or both - nativeBuildInputs and buildInputs makes upstream's cmake scripts fail to - install the Python API as reported on our end at [1] (we don't want - upstream to think we are in a virtual environment because we use - python3.withPackages...). - - Putting simply the python dependencies in the nativeBuildInputs and - buildInputs as they are now from some reason makes the `python` in the - checkPhase fail to find the python dependencies, as reported at [2]. Even - using nativeCheckInputs with the python dependencies, or using a - `python3.withPackages` wrapper in nativeCheckInputs, doesn't help, as the - `python` found in $PATH first is the one from nativeBuildInputs. - - [1]: https://github.com/NixOS/nixpkgs/pull/307435 - [2]: https://discourse.nixos.org/t/missing-python-package-in-checkphase/9168/ - - Hence we use upstream's provided cmake flag to control which python - interpreter they will use to run the the python tests. - - */ - "-DRUNTIME_PYTHON_EXECUTABLE=${lib.getExe finalAttrs.passthru.runtimePython}" - (cmakeBool "ENABLE_DPDK" enableDpdk) - # Devices - (cmakeBool "ENABLE_OCTOCLOCK" enableOctoClock) - (cmakeBool "ENABLE_MPMD" enableMpmd) - (cmakeBool "ENABLE_B100" enableB100) - (cmakeBool "ENABLE_B200" enableB200) - (cmakeBool "ENABLE_USRP1" enableUsrp1) - (cmakeBool "ENABLE_USRP2" enableUsrp2) - (cmakeBool "ENABLE_X300" enableX300) - (cmakeBool "ENABLE_N300" enableN300) - (cmakeBool "ENABLE_N320" enableN320) - (cmakeBool "ENABLE_E300" enableE300) - (cmakeBool "ENABLE_E320" enableE320) - # TODO: Check if this still needed - # ABI differences GCC 7.1 - # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector::iterator {aka __gnu_cxx::__normal_iterator >}' changed in GCC 7.1 - ] ++ optionals stdenv.hostPlatform.isAarch32 [ - "-DCMAKE_CXX_FLAGS=-Wno-psabi" - ]; + cmakeFlags = + [ + "-DENABLE_LIBUHD=ON" + "-DENABLE_USB=ON" + # Regardless of doCheck, we want to build the tests to help us gain + # confident that the package is OK. + "-DENABLE_TESTS=ON" + (cmakeBool "ENABLE_EXAMPLES" enableExamples) + (cmakeBool "ENABLE_UTILS" enableUtils) + (cmakeBool "ENABLE_C_API" enableCApi) + (cmakeBool "ENABLE_PYTHON_API" enablePythonApi) + /* + Otherwise python tests fail. Using a dedicated pythonEnv for either or both + nativeBuildInputs and buildInputs makes upstream's cmake scripts fail to + install the Python API as reported on our end at [1] (we don't want + upstream to think we are in a virtual environment because we use + python3.withPackages...). + + Putting simply the python dependencies in the nativeBuildInputs and + buildInputs as they are now from some reason makes the `python` in the + checkPhase fail to find the python dependencies, as reported at [2]. Even + using nativeCheckInputs with the python dependencies, or using a + `python3.withPackages` wrapper in nativeCheckInputs, doesn't help, as the + `python` found in $PATH first is the one from nativeBuildInputs. + + [1]: https://github.com/NixOS/nixpkgs/pull/307435 + [2]: https://discourse.nixos.org/t/missing-python-package-in-checkphase/9168/ + + Hence we use upstream's provided cmake flag to control which python + interpreter they will use to run the the python tests. + */ + "-DRUNTIME_PYTHON_EXECUTABLE=${lib.getExe finalAttrs.passthru.runtimePython}" + (cmakeBool "ENABLE_DPDK" enableDpdk) + # Devices + (cmakeBool "ENABLE_OCTOCLOCK" enableOctoClock) + (cmakeBool "ENABLE_MPMD" enableMpmd) + (cmakeBool "ENABLE_B100" enableB100) + (cmakeBool "ENABLE_B200" enableB200) + (cmakeBool "ENABLE_USRP1" enableUsrp1) + (cmakeBool "ENABLE_USRP2" enableUsrp2) + (cmakeBool "ENABLE_X300" enableX300) + (cmakeBool "ENABLE_N300" enableN300) + (cmakeBool "ENABLE_N320" enableN320) + (cmakeBool "ENABLE_E300" enableE300) + (cmakeBool "ENABLE_E320" enableE320) + # TODO: Check if this still needed + # ABI differences GCC 7.1 + # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector::iterator {aka __gnu_cxx::__normal_iterator >}' changed in GCC 7.1 + ] + ++ optionals stdenv.hostPlatform.isAarch32 [ + "-DCMAKE_CXX_FLAGS=-Wno-psabi" + ]; nativeBuildInputs = [ cmake @@ -153,14 +159,19 @@ stdenv.mkDerivation (finalAttrs: { # python utilities are enabled python3.pkgs.wrapPython ]; - buildInputs = finalAttrs.pythonPath ++ [ - boost - libusb1 - ] ++ optionals (enableExamples) [ - ncurses ncurses.dev - ] ++ optionals (enableDpdk) [ - dpdk - ]; + buildInputs = + finalAttrs.pythonPath + ++ [ + boost + libusb1 + ] + ++ optionals (enableExamples) [ + ncurses + ncurses.dev + ] + ++ optionals (enableDpdk) [ + dpdk + ]; # many tests fails on darwin, according to ofborg doCheck = !stdenv.hostPlatform.isDarwin; @@ -172,12 +183,14 @@ stdenv.mkDerivation (finalAttrs: { ./no-adapter-tests.patch ]; - postPhases = [ - "installFirmware" - "removeInstalledTests" - ] ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ - "moveUdevRules" - ]; + postPhases = + [ + "installFirmware" + "removeInstalledTests" + ] + ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ + "moveUdevRules" + ]; # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images` installFirmware = '' @@ -217,6 +230,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://uhd.ettus.com/"; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor fpletz tomberek doronbehar ]; + maintainers = with maintainers; [ + bjornfor + fpletz + tomberek + doronbehar + ]; }; }) diff --git a/pkgs/applications/radio/unixcw/default.nix b/pkgs/applications/radio/unixcw/default.nix index 80121db69c010..8565b691802d5 100644 --- a/pkgs/applications/radio/unixcw/default.nix +++ b/pkgs/applications/radio/unixcw/default.nix @@ -1,39 +1,51 @@ -{ lib, mkDerivation, fetchurl, libpulseaudio, alsa-lib , pkg-config, qtbase }: +{ + lib, + mkDerivation, + fetchurl, + libpulseaudio, + alsa-lib, + pkg-config, + qtbase, +}: mkDerivation rec { pname = "unixcw"; version = "3.5.1"; src = fetchurl { url = "mirror://sourceforge/unixcw/unixcw_${version}.orig.tar.gz"; - sha256 ="5f3aacd8a26e16e6eff437c7ae1e9b389956fb137eeb3de24670ce05de479e7a"; + sha256 = "5f3aacd8a26e16e6eff437c7ae1e9b389956fb137eeb3de24670ce05de479e7a"; }; patches = [ ./remove-use-of-dlopen.patch ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpulseaudio alsa-lib qtbase ]; - CFLAGS ="-lasound -lpulse-simple"; + buildInputs = [ + libpulseaudio + alsa-lib + qtbase + ]; + CFLAGS = "-lasound -lpulse-simple"; meta = with lib; { description = "sound characters as Morse code on the soundcard or console speaker"; longDescription = '' - unixcw is a project providing libcw library and a set of programs - using the library: cw, cwgen, cwcp and xcwcp. - The programs are intended for people who want to learn receiving - and sending Morse code. - unixcw is developed and tested primarily on GNU/Linux system. + unixcw is a project providing libcw library and a set of programs + using the library: cw, cwgen, cwcp and xcwcp. + The programs are intended for people who want to learn receiving + and sending Morse code. + unixcw is developed and tested primarily on GNU/Linux system. - cw reads characters from an input file, or from standard input, - and sounds each valid character as Morse code on either the system sound card, - or the system console speaker. - After it sounds a character, cw echoes it to standard output. - The input stream can contain embedded command strings. - These change the parameters used when sounding the Morse code. - cw reports any errors in embedded commands - ''; + cw reads characters from an input file, or from standard input, + and sounds each valid character as Morse code on either the system sound card, + or the system console speaker. + After it sounds a character, cw echoes it to standard output. + The input stream can contain embedded command strings. + These change the parameters used when sounding the Morse code. + cw reports any errors in embedded commands + ''; homepage = "https://unixcw.sourceforge.net"; maintainers = [ maintainers.mafo ]; license = licenses.gpl2; - platforms=platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/radio/wsjtx/default.nix b/pkgs/applications/radio/wsjtx/default.nix index b624898664c8e..09a5fd5f80d6c 100644 --- a/pkgs/applications/radio/wsjtx/default.nix +++ b/pkgs/applications/radio/wsjtx/default.nix @@ -1,6 +1,25 @@ -{ lib, stdenv, fetchgit, asciidoc, asciidoctor, cmake, pkg-config, - fftw, fftwFloat, gfortran, hamlib_4, libtool, libusb1, qtbase, - qtmultimedia, qtserialport, qttools, boost, texinfo, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchgit, + asciidoc, + asciidoctor, + cmake, + pkg-config, + fftw, + fftwFloat, + gfortran, + hamlib_4, + libtool, + libusb1, + qtbase, + qtmultimedia, + qtserialport, + qttools, + boost, + texinfo, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "wsjtx"; @@ -13,10 +32,26 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - asciidoc asciidoctor cmake gfortran libtool - pkg-config qttools texinfo wrapQtAppsHook + asciidoc + asciidoctor + cmake + gfortran + libtool + pkg-config + qttools + texinfo + wrapQtAppsHook + ]; + buildInputs = [ + fftw + fftwFloat + hamlib_4 + libusb1 + qtbase + qtmultimedia + qtserialport + boost ]; - buildInputs = [ fftw fftwFloat hamlib_4 libusb1 qtbase qtmultimedia qtserialport boost ]; meta = with lib; { description = "Weak-signal digital communication modes for amateur radio"; @@ -30,6 +65,10 @@ stdenv.mkDerivation rec { homepage = "https://wsjt.sourceforge.io"; license = with licenses; [ gpl3Plus ]; platforms = platforms.linux; - maintainers = with maintainers; [ lasandell numinit melling ]; + maintainers = with maintainers; [ + lasandell + numinit + melling + ]; }; } diff --git a/pkgs/applications/science/astronomy/calcmysky/default.nix b/pkgs/applications/science/astronomy/calcmysky/default.nix index 2fe51ba98d925..b3bd3ed4ae9f1 100644 --- a/pkgs/applications/science/astronomy/calcmysky/default.nix +++ b/pkgs/applications/science/astronomy/calcmysky/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, wrapQtAppsHook -, glm -, eigen -, qtbase -, stellarium +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + wrapQtAppsHook, + glm, + eigen, + qtbase, + stellarium, }: stdenv.mkDerivation rec { @@ -20,8 +21,15 @@ stdenv.mkDerivation rec { hash = "sha256-18ZNnLK2zMT7P0MDXS6Z38LffE8EqXKBH89TPPxVWlo="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; - buildInputs = [ glm eigen qtbase ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; + buildInputs = [ + glm + eigen + qtbase + ]; cmakeFlags = [ "-DQT_VERSION=6" ]; @@ -31,7 +39,7 @@ stdenv.mkDerivation rec { inherit stellarium; }; - meta = with lib;{ + meta = with lib; { description = "Simulator of light scattering by planetary atmospheres"; homepage = "https://github.com/10110111/CalcMySky"; license = licenses.gpl3Only; diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix index 2d227389d4298..43b7b27ce71e9 100644 --- a/pkgs/applications/science/astronomy/celestia/default.nix +++ b/pkgs/applications/science/astronomy/celestia/default.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libglut, gtk2, gtkglext -, libjpeg_turbo, libtheora, libXmu, lua, libGLU, libGL, perl, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libglut, + gtk2, + gtkglext, + libjpeg_turbo, + libtheora, + libXmu, + lua, + libGLU, + libGL, + perl, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -13,10 +27,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-MkElGo1ZR0ImW/526QlDE1ePd+VOQxwkX7l+0WyZ6Vs="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ - libglut gtk2 gtkglext lua perl - libjpeg_turbo libtheora libXmu libGLU libGL + libglut + gtk2 + gtkglext + lua + perl + libjpeg_turbo + libtheora + libXmu + libGLU + libGL ]; configureFlags = [ diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix index 5f9fe55b9b5f3..d2d83bce0e055 100644 --- a/pkgs/applications/science/astronomy/kstars/default.nix +++ b/pkgs/applications/science/astronomy/kstars/default.nix @@ -1,38 +1,39 @@ -{ lib -, stdenv -, mkDerivation -, extra-cmake-modules -, fetchurl -, kconfig -, kdoctools -, kguiaddons -, ki18n -, kinit -, kiconthemes -, kio -, knewstuff -, kplotting -, kwidgetsaddons -, kxmlgui -, knotifyconfig -, qtx11extras -, qtwebsockets -, qtkeychain -, qtdatavis3d -, wrapQtAppsHook -, breeze-icons -, libsecret -, eigen -, zlib -, cfitsio -, indi-full -, xplanet -, libnova -, libraw -, gsl -, wcslib -, stellarsolver -, libxisf +{ + lib, + stdenv, + mkDerivation, + extra-cmake-modules, + fetchurl, + kconfig, + kdoctools, + kguiaddons, + ki18n, + kinit, + kiconthemes, + kio, + knewstuff, + kplotting, + kwidgetsaddons, + kxmlgui, + knotifyconfig, + qtx11extras, + qtwebsockets, + qtkeychain, + qtdatavis3d, + wrapQtAppsHook, + breeze-icons, + libsecret, + eigen, + zlib, + cfitsio, + indi-full, + xplanet, + libnova, + libraw, + gsl, + wcslib, + stellarsolver, + libxisf, }: stdenv.mkDerivation (finalAttrs: { @@ -97,6 +98,9 @@ stdenv.mkDerivation (finalAttrs: { ''; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ timput hjones2199 ]; + maintainers = with maintainers; [ + timput + hjones2199 + ]; }; }) diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index 5a1787ee86725..e970cfc16b347 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, perl -, wrapGAppsHook3 -, wrapQtAppsHook -, qtbase -, qtcharts -, qtpositioning -, qtmultimedia -, qtserialport -, qtwayland -, qtwebengine -, calcmysky -, qxlsx -, indilib -, libnova -, qttools -, exiv2 -, nlopt -, testers -, xvfb-run -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + perl, + wrapGAppsHook3, + wrapQtAppsHook, + qtbase, + qtcharts, + qtpositioning, + qtmultimedia, + qtserialport, + qtwayland, + qtwebengine, + calcmysky, + qxlsx, + indilib, + libnova, + qttools, + exiv2, + nlopt, + testers, + xvfb-run, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -60,28 +61,32 @@ stdenv.mkDerivation (finalAttrs: { qttools ]; - buildInputs = [ - qtbase - qtcharts - qtpositioning - qtmultimedia - qtserialport - qtwebengine - calcmysky - qxlsx - indilib - libnova - exiv2 - nlopt - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]; + buildInputs = + [ + qtbase + qtcharts + qtpositioning + qtmultimedia + qtserialport + qtwebengine + calcmysky + qxlsx + indilib + libnova + exiv2 + nlopt + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; - preConfigure = '' - export SOURCE_DATE_EPOCH=$(date -d 20${lib.versions.major finalAttrs.version}0101 +%s) - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - export LC_ALL=en_US.UTF-8 - ''; + preConfigure = + '' + export SOURCE_DATE_EPOCH=$(date -d 20${lib.versions.major finalAttrs.version}0101 +%s) + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export LC_ALL=en_US.UTF-8 + ''; # fatal error: 'QtSerialPort/QSerialPortInfo' file not found env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-F${qtserialport}/lib"; @@ -111,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: { updateScript = gitUpdater { rev-prefix = "v"; }; }; - meta = { + meta = { description = "Free open-source planetarium"; mainProgram = "stellarium"; homepage = "https://stellarium.org/"; diff --git a/pkgs/applications/science/biology/ants/default.nix b/pkgs/applications/science/biology/ants/default.nix index 3e8435a9ff02e..6316458e1c289 100644 --- a/pkgs/applications/science/biology/ants/default.nix +++ b/pkgs/applications/science/biology/ants/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, makeBinaryWrapper -, itk -, vtk -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeBinaryWrapper, + itk, + vtk, + Cocoa, }: stdenv.mkDerivation (finalAttrs: { @@ -24,12 +25,14 @@ stdenv.mkDerivation (finalAttrs: { makeBinaryWrapper ]; - buildInputs = [ - itk - vtk - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ]; + buildInputs = + [ + itk + vtk + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" diff --git a/pkgs/applications/science/biology/blast/bin.nix b/pkgs/applications/science/biology/blast/bin.nix index 1e3975f9f5ffa..54d3cd783891a 100644 --- a/pkgs/applications/science/biology/blast/bin.nix +++ b/pkgs/applications/science/biology/blast/bin.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, python3 -, perl -, blast -, autoPatchelfHook -, zlib -, bzip2 -, glib -, libxml2 -, coreutils +{ + lib, + stdenv, + fetchurl, + python3, + perl, + blast, + autoPatchelfHook, + zlib, + bzip2, + glib, + libxml2, + coreutils, }: let pname = "blast-bin"; @@ -37,7 +38,17 @@ stdenv.mkDerivation { nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; - buildInputs = [ python3 perl ] ++ lib.optionals stdenv.hostPlatform.isLinux [ zlib bzip2 glib libxml2 ]; + buildInputs = + [ + python3 + perl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + zlib + bzip2 + glib + libxml2 + ]; installPhase = '' runHook preInstall @@ -54,7 +65,12 @@ stdenv.mkDerivation { meta = with lib; { inherit (blast.meta) description homepage license; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; maintainers = with maintainers; [ natsukium ]; }; diff --git a/pkgs/applications/science/biology/blast/default.nix b/pkgs/applications/science/biology/blast/default.nix index 9dc5fcb1feb7a..760137ac382a1 100644 --- a/pkgs/applications/science/biology/blast/default.nix +++ b/pkgs/applications/science/biology/blast/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, buildPackages, fetchurl, zlib, bzip2, perl, cpio, gawk, coreutils, ApplicationServices }: +{ + lib, + stdenv, + buildPackages, + fetchurl, + zlib, + bzip2, + perl, + cpio, + gawk, + coreutils, + ApplicationServices, +}: stdenv.mkDerivation rec { pname = "blast"; @@ -16,8 +28,8 @@ stdenv.mkDerivation rec { # These extra cause clang to hang on Darwin. "--with-flat-makefile" "--without-makefile-auto-update" - "--with-dll" # build dynamic libraries (static are default) - ]; + "--with-dll" # build dynamic libraries (static are default) + ]; makeFlags = [ "all_projects=app/" ]; @@ -80,8 +92,14 @@ stdenv.mkDerivation rec { # perl is necessary in buildInputs so that installed perl scripts get patched # correctly - buildInputs = [ coreutils perl gawk zlib bzip2 cpio ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ ApplicationServices ]; + buildInputs = [ + coreutils + perl + gawk + zlib + bzip2 + cpio + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ApplicationServices ]; hardeningDisable = [ "format" ]; postInstall = '' diff --git a/pkgs/applications/science/biology/cd-hit/default.nix b/pkgs/applications/science/biology/cd-hit/default.nix index 474c0f292af44..8a0faae9e63ed 100644 --- a/pkgs/applications/science/biology/cd-hit/default.nix +++ b/pkgs/applications/science/biology/cd-hit/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, zlib, perl, perlPackages, openmp }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + zlib, + perl, + perlPackages, + openmp, +}: stdenv.mkDerivation rec { version = "4.8.1"; @@ -11,9 +20,16 @@ stdenv.mkDerivation rec { sha256 = "032nva6iiwmw59gjipm1mv0xlcckhxsf45mc2qbnv19lbis0q22i"; }; - propagatedBuildInputs = [ perl perlPackages.TextNSP perlPackages.ImageMagick ]; + propagatedBuildInputs = [ + perl + perlPackages.TextNSP + perlPackages.ImageMagick + ]; - nativeBuildInputs = [ zlib makeWrapper ]; + nativeBuildInputs = [ + zlib + makeWrapper + ]; buildInputs = lib.optional stdenv.cc.isClang openmp; makeFlags = [ diff --git a/pkgs/applications/science/biology/hh-suite/default.nix b/pkgs/applications/science/biology/hh-suite/default.nix index 76c6544b34304..51f12d9ae6eac 100644 --- a/pkgs/applications/science/biology/hh-suite/default.nix +++ b/pkgs/applications/science/biology/hh-suite/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, xxd -, enableMpi ? false -, mpi -, openmp +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + xxd, + enableMpi ? false, + mpi, + openmp, }: stdenv.mkDerivation rec { pname = "hh-suite"; @@ -28,14 +29,17 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake xxd ]; - cmakeFlags = lib.optional stdenv.hostPlatform.isx86 "-DHAVE_SSE2=1" + nativeBuildInputs = [ + cmake + xxd + ]; + cmakeFlags = + lib.optional stdenv.hostPlatform.isx86 "-DHAVE_SSE2=1" ++ lib.optional stdenv.hostPlatform.isAarch "-DHAVE_ARM8=1" ++ lib.optional stdenv.hostPlatform.avx2Support "-DHAVE_AVX2=1" ++ lib.optional stdenv.hostPlatform.sse4_1Support "-DHAVE_SSE4_1=1"; - buildInputs = lib.optional stdenv.cc.isClang openmp - ++ lib.optional enableMpi mpi; + buildInputs = lib.optional stdenv.cc.isClang openmp ++ lib.optional enableMpi mpi; meta = with lib; { description = "Remote protein homology detection suite"; diff --git a/pkgs/applications/science/biology/iv/default.nix b/pkgs/applications/science/biology/iv/default.nix index a4b408b14a012..32a32488c7345 100644 --- a/pkgs/applications/science/biology/iv/default.nix +++ b/pkgs/applications/science/biology/iv/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, neuron-version -, libX11 -, libXext -, patchelf +{ + lib, + stdenv, + fetchurl, + neuron-version, + libX11, + libXext, + patchelf, }: stdenv.mkDerivation rec { @@ -22,17 +23,19 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - postInstall = '' - for dir in $out/*; do # */ - if [ -d $dir/lib ]; then - mv $dir/* $out # */ - rmdir $dir - break - fi - done - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf --add-needed ${libX11}/lib/libX11.so $out/lib/libIVhines.so - ''; + postInstall = + '' + for dir in $out/*; do # */ + if [ -d $dir/lib ]; then + mv $dir/* $out # */ + rmdir $dir + break + fi + done + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + patchelf --add-needed ${libX11}/lib/libX11.so $out/lib/libIVhines.so + ''; meta = with lib; { description = "InterViews graphical library for Neuron"; diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix index 686a9de554e9c..9ba81327710df 100644 --- a/pkgs/applications/science/biology/kallisto/default.nix +++ b/pkgs/applications/science/biology/kallisto/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, cmake, hdf5, zlib, nix-update-script }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + cmake, + hdf5, + zlib, + nix-update-script, +}: stdenv.mkDerivation rec { pname = "kallisto"; @@ -11,9 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-hfdeztEyHvuOnLS71oSv8sPqFe2UCX5KlANqrT/Gfx8="; }; - nativeBuildInputs = [ autoconf cmake ]; + nativeBuildInputs = [ + autoconf + cmake + ]; - buildInputs = [ hdf5 zlib ]; + buildInputs = [ + hdf5 + zlib + ]; cmakeFlags = [ "-DUSE_HDF5=ON" ]; diff --git a/pkgs/applications/science/biology/mrtrix/default.nix b/pkgs/applications/science/biology/mrtrix/default.nix index e17aa3ca038c7..7b107029dd20d 100644 --- a/pkgs/applications/science/biology/mrtrix/default.nix +++ b/pkgs/applications/science/biology/mrtrix/default.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitHub -, python -, makeWrapper -, eigen -, fftw -, libtiff -, libpng -, zlib -, ants -, bc -, qt5 -, libGL -, libGLU -, libX11 -, libXext -, less -, withGui ? true +{ + stdenv, + lib, + fetchFromGitHub, + python, + makeWrapper, + eigen, + fftw, + libtiff, + libpng, + zlib, + ants, + bc, + qt5, + libGL, + libGLU, + libX11, + libXext, + less, + withGui ? true, }: stdenv.mkDerivation rec { @@ -31,23 +32,28 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ eigen makeWrapper ] ++ lib.optional withGui qt5.wrapQtAppsHook; - - buildInputs = [ - ants - python - fftw - libtiff - libpng - zlib - ] ++ lib.optionals withGui [ - libGL - libGLU - libX11 - libXext - qt5.qtbase - qt5.qtsvg - ]; + nativeBuildInputs = [ + eigen + makeWrapper + ] ++ lib.optional withGui qt5.wrapQtAppsHook; + + buildInputs = + [ + ants + python + fftw + libtiff + libpng + zlib + ] + ++ lib.optionals withGui [ + libGL + libGLU + libX11 + libXext + qt5.qtbase + qt5.qtsvg + ]; nativeInstallCheckInputs = [ bc ]; @@ -107,6 +113,6 @@ stdenv.mkDerivation rec { description = "Suite of tools for diffusion imaging"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.linux; - license = licenses.mpl20; + license = licenses.mpl20; }; } diff --git a/pkgs/applications/science/biology/nest/default.nix b/pkgs/applications/science/biology/nest/default.nix index 9714f015f71a4..3026ac9ce8859 100644 --- a/pkgs/applications/science/biology/nest/default.nix +++ b/pkgs/applications/science/biology/nest/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, cmake -, gsl -, libtool -, findutils -, llvmPackages -, mpi -, nest -, pkg-config -, boost -, python3 -, readline -, withPython ? false -, withMpi ? false +{ + lib, + stdenv, + fetchFromGitHub, + testers, + cmake, + gsl, + libtool, + findutils, + llvmPackages, + mpi, + nest, + pkg-config, + boost, + python3, + readline, + withPython ? false, + withMpi ? false, }: stdenv.mkDerivation rec { @@ -42,15 +43,18 @@ stdenv.mkDerivation rec { findutils ]; - buildInputs = [ - gsl - readline - libtool # libltdl - boost - ] ++ lib.optionals withPython [ - python3 - python3.pkgs.cython - ] ++ lib.optional withMpi mpi + buildInputs = + [ + gsl + readline + libtool # libltdl + boost + ] + ++ lib.optionals withPython [ + python3 + python3.pkgs.cython + ] + ++ lib.optional withMpi mpi ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp; propagatedBuildInputs = with python3.pkgs; [ @@ -79,7 +83,10 @@ stdenv.mkDerivation rec { homepage = "https://www.nest-simulator.org/"; changelog = "https://github.com/nest/nest-simulator/releases/tag/v${version}"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ jiegec davidcromp ]; + maintainers = with maintainers; [ + jiegec + davidcromp + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/science/biology/obitools/obitools3.nix b/pkgs/applications/science/biology/obitools/obitools3.nix index 53aa177307dfa..8470b37699de0 100644 --- a/pkgs/applications/science/biology/obitools/obitools3.nix +++ b/pkgs/applications/science/biology/obitools/obitools3.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, python3Packages, cmake, python3 }: +{ + stdenv, + lib, + fetchurl, + python3Packages, + cmake, + python3, +}: python3Packages.buildPythonApplication rec { pname = "obitools3"; @@ -9,11 +16,14 @@ python3Packages.buildPythonApplication rec { sha256 = "1x7a0nrr9agg1pfgq8i1j8r1p6c0jpyxsv196ylix1dd2iivmas1"; }; - nativeBuildInputs = [ python3Packages.cython cmake ]; + nativeBuildInputs = [ + python3Packages.cython + cmake + ]; postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 '' - substituteInPlace setup.py \ - --replace "'-msse2'," "" + substituteInPlace setup.py \ + --replace "'-msse2'," "" ''; preBuild = '' @@ -25,7 +35,7 @@ python3Packages.buildPythonApplication rec { doCheck = true; - meta = with lib ; { + meta = with lib; { description = "Management of analyses and data in DNA metabarcoding"; mainProgram = "obi"; homepage = "https://git.metabarcoding.org/obitools/obitools3"; diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix index 7e12047e095bc..f7426dd112709 100644 --- a/pkgs/applications/science/biology/samtools/default.nix +++ b/pkgs/applications/science/biology/samtools/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, zlib, htslib, perl, ncurses ? null }: +{ + lib, + stdenv, + fetchurl, + zlib, + htslib, + perl, + ncurses ? null, +}: stdenv.mkDerivation rec { pname = "samtools"; @@ -14,17 +22,21 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; - buildInputs = [ zlib ncurses htslib ]; + buildInputs = [ + zlib + ncurses + htslib + ]; preConfigure = lib.optional stdenv.hostPlatform.isStatic '' export LIBS="-lz -lbz2 -llzma" ''; makeFlags = lib.optional stdenv.hostPlatform.isStatic "AR=${stdenv.cc.targetPrefix}ar"; - configureFlags = [ "--with-htslib=${htslib}" ] + configureFlags = + [ "--with-htslib=${htslib}" ] ++ lib.optional (ncurses == null) "--without-curses" - ++ lib.optionals stdenv.hostPlatform.isStatic ["--without-curses" ] - ; + ++ lib.optionals stdenv.hostPlatform.isStatic [ "--without-curses" ]; preCheck = '' patchShebangs test/ @@ -39,6 +51,9 @@ stdenv.mkDerivation rec { license = licenses.mit; homepage = "http://www.htslib.org/"; platforms = platforms.unix; - maintainers = with maintainers; [ mimame unode ]; + maintainers = with maintainers; [ + mimame + unode + ]; }; } diff --git a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix index edb3a9a9da5bb..dddf33a536b3f 100644 --- a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix +++ b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, zlib }: +{ + lib, + stdenv, + fetchurl, + zlib, +}: stdenv.mkDerivation rec { pname = "samtools"; diff --git a/pkgs/applications/science/biology/sumatools/default.nix b/pkgs/applications/science/biology/sumatools/default.nix index 2a30f33172b95..fc07cd661c564 100644 --- a/pkgs/applications/science/biology/sumatools/default.nix +++ b/pkgs/applications/science/biology/sumatools/default.nix @@ -1,4 +1,9 @@ -{ lib, gccStdenv, fetchFromGitLab, zlib }: +{ + lib, + gccStdenv, + fetchFromGitLab, + zlib, +}: let stdenv = gccStdenv; @@ -9,7 +14,8 @@ let platforms = platforms.unix; }; -in rec { +in +rec { # Suma library sumalibs = stdenv.mkDerivation rec { @@ -37,7 +43,10 @@ in rec { rev = "${pname}_v${version}"; sha256 = "1bbpbdkshdc3xffqnr1qfy8qk64ldsmdc3s8mrcrlx132rgbi5f6"; }; - buildInputs = [ sumalibs zlib ]; + buildInputs = [ + sumalibs + zlib + ]; makeFlags = [ "LIBSUMA=${sumalibs}/lib/libsuma.a" "LIBSUMAPATH=-L${sumalibs}" diff --git a/pkgs/applications/science/biology/trimmomatic/default.nix b/pkgs/applications/science/biology/trimmomatic/default.nix index 111a4dda9e9df..1c22b3ec7fb3a 100644 --- a/pkgs/applications/science/biology/trimmomatic/default.nix +++ b/pkgs/applications/science/biology/trimmomatic/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, ant -, jdk -, jre -, makeWrapper -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk, + jre, + makeWrapper, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/science/biology/truvari/default.nix b/pkgs/applications/science/biology/truvari/default.nix index 3c523b21fc641..51fd73ea2493f 100644 --- a/pkgs/applications/science/biology/truvari/default.nix +++ b/pkgs/applications/science/biology/truvari/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, python3Packages -, runtimeShell -, bcftools -, htslib +{ + lib, + fetchFromGitHub, + python3Packages, + runtimeShell, + bcftools, + htslib, }: let @@ -13,7 +14,8 @@ let rev = "d21f7f928a167fca6e2eb31616673444d15e6fd0"; hash = "sha256-zecZHEnfhDtT44VMbHLHOhRtNsIMWeaBASupVXtmrks="; }; -in python3Packages.buildPythonApplication rec { +in +python3Packages.buildPythonApplication rec { pname = "truvari"; version = "4.2.2"; pyproject = true; @@ -50,17 +52,25 @@ in python3Packages.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ bcftools htslib ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + bcftools + htslib + ]) ]; pythonImportsCheck = [ "truvari" ]; - nativeCheckInputs = [ - bcftools - htslib - ] ++ (with python3Packages; [ - coverage - ]); + nativeCheckInputs = + [ + bcftools + htslib + ] + ++ (with python3Packages; [ + coverage + ]); checkPhase = '' runHook preCheck @@ -76,7 +86,10 @@ in python3Packages.buildPythonApplication rec { homepage = "https://github.com/ACEnglish/truvari"; changelog = "https://github.com/ACEnglish/truvari/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ natsukium scalavision ]; + maintainers = with maintainers; [ + natsukium + scalavision + ]; longDescription = '' Truvari is a benchmarking tool for comparison sets of SVs. It can calculate the recall, precision, and f-measure of a diff --git a/pkgs/applications/science/chemistry/autodock-vina/default.nix b/pkgs/applications/science/chemistry/autodock-vina/default.nix index 844fe5fea7ed5..1a0549ea68a3d 100644 --- a/pkgs/applications/science/chemistry/autodock-vina/default.nix +++ b/pkgs/applications/science/chemistry/autodock-vina/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, glibc +{ + lib, + stdenv, + fetchFromGitHub, + boost, + glibc, }: let boost' = boost.override { @@ -21,15 +22,16 @@ stdenv.mkDerivation (finalAttrs: { }; sourceRoot = "${finalAttrs.src.name}/build/${ - if stdenv.hostPlatform.isDarwin then "mac" - else "linux" + if stdenv.hostPlatform.isDarwin then "mac" else "linux" }/release"; - buildInputs = [ - boost' - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - glibc.static - ]; + buildInputs = + [ + boost' + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + glibc.static + ]; makeFlags = [ "GPP=${stdenv.cc.targetPrefix}c++" diff --git a/pkgs/applications/science/chemistry/autodock-vina/python-bindings.nix b/pkgs/applications/science/chemistry/autodock-vina/python-bindings.nix index fb7fd1ece0e65..fac32fed596a6 100644 --- a/pkgs/applications/science/chemistry/autodock-vina/python-bindings.nix +++ b/pkgs/applications/science/chemistry/autodock-vina/python-bindings.nix @@ -1,14 +1,20 @@ -{ lib -, buildPythonPackage -, autodock-vina -, boost -, swig -, setuptools -, numpy +{ + lib, + buildPythonPackage, + autodock-vina, + boost, + swig, + setuptools, + numpy, }: buildPythonPackage { - inherit (autodock-vina) pname version src meta; + inherit (autodock-vina) + pname + version + src + meta + ; format = "pyproject"; diff --git a/pkgs/applications/science/chemistry/avogadro2/default.nix b/pkgs/applications/science/chemistry/avogadro2/default.nix index f69f10164cc1c..a7b3e656b77cd 100644 --- a/pkgs/applications/science/chemistry/avogadro2/default.nix +++ b/pkgs/applications/science/chemistry/avogadro2/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, eigen, avogadrolibs, molequeue, hdf5 -, openbabel, qttools, wrapQtAppsHook, mesa +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, + avogadrolibs, + molequeue, + hdf5, + openbabel, + qttools, + wrapQtAppsHook, + mesa, }: let @@ -10,7 +21,8 @@ let hash = "sha256-AR/y70zeYR9xBzWDB5JXjJdDM+NLOX6yxCQte2lYN/U="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "avogadro2"; version = "1.99.0"; @@ -25,7 +37,10 @@ in stdenv.mkDerivation rec { cp -r ${avogadroI18N} avogadro-i18n ''; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ avogadrolibs diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix index e1e911e2d4dfb..dc1822bfa59da 100644 --- a/pkgs/applications/science/chemistry/marvin/default.nix +++ b/pkgs/applications/science/chemistry/marvin/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, dpkg, makeWrapper, coreutils, gawk, gnugrep, gnused, openjdk17 }: +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + gawk, + gnugrep, + gnused, + openjdk17, +}: stdenv.mkDerivation rec { pname = "marvin"; @@ -10,7 +21,10 @@ stdenv.mkDerivation rec { hash = "sha256-zE/9EaOsNJwzE4Doasm9N8QG4t7wDOxqpV/Nhc4p7Ws="; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; unpackPhase = '' dpkg-deb -x $src opt @@ -20,7 +34,14 @@ stdenv.mkDerivation rec { wrapBin() { makeWrapper $1 $out/bin/$(basename $1) \ --set INSTALL4J_JAVA_HOME "${openjdk17}" \ - --prefix PATH : ${lib.makeBinPath [ coreutils gawk gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gawk + gnugrep + gnused + ] + } } cp -r opt $out mkdir -p $out/bin $out/share/pixmaps $out/share/applications @@ -31,9 +52,17 @@ stdenv.mkDerivation rec { for name in cxcalc cxtrain evaluate molconvert mview msketch; do wrapBin $out/opt/chemaxon/marvinsuite/bin/$name done - ${lib.concatStrings (map (name: '' - substitute ${./. + "/${name}.desktop"} $out/share/applications/${name}.desktop --subst-var out - '') [ "LicenseManager" "MarvinSketch" "MarvinView" ])} + ${lib.concatStrings ( + map + (name: '' + substitute ${./. + "/${name}.desktop"} $out/share/applications/${name}.desktop --subst-var out + '') + [ + "LicenseManager" + "MarvinSketch" + "MarvinView" + ] + )} ''; meta = with lib; { diff --git a/pkgs/applications/science/chemistry/nwchem/default.nix b/pkgs/applications/science/chemistry/nwchem/default.nix index d3d349969bb2f..cc80ad3c67ec0 100644 --- a/pkgs/applications/science/chemistry/nwchem/default.nix +++ b/pkgs/applications/science/chemistry/nwchem/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, mpiCheckPhaseHook -, which -, openssh -, gcc -, gfortran -, perl -, mpi -, blas -, lapack -, python3 -, tcsh -, automake -, autoconf -, libtool -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + mpiCheckPhaseHook, + which, + openssh, + gcc, + gfortran, + perl, + mpi, + blas, + lapack, + python3, + tcsh, + automake, + autoconf, + libtool, + makeWrapper, }: assert blas.isILP64 == lapack.isILP64; @@ -211,8 +212,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open Source High-Performance Computational Chemistry"; mainProgram = "nwchem"; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ sheepforce markuskowa ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + sheepforce + markuskowa + ]; homepage = "https://nwchemgit.github.io"; license = licenses.ecl20; }; diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix index 295ac7e14cb23..2a02d4aed2f73 100644 --- a/pkgs/applications/science/chemistry/pymol/default.nix +++ b/pkgs/applications/science/chemistry/pymol/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeDesktopItem -, python3Packages -, netcdf -, glew -, glm -, libpng -, libxml2 -, freetype -, msgpack -, qt5 +{ + stdenv, + lib, + fetchFromGitHub, + makeDesktopItem, + python3Packages, + netcdf, + glew, + glm, + libpng, + libxml2, + freetype, + msgpack, + qt5, }: let pname = "pymol"; @@ -32,7 +33,12 @@ let "chemical/x-xyz" "chemical/x-mdl-sdf" ]; - categories = [ "Graphics" "Education" "Science" "Chemistry" ]; + categories = [ + "Graphics" + "Education" + "Science" + "Chemistry" + ]; }; in python3Packages.buildPythonApplication rec { @@ -57,18 +63,36 @@ python3Packages.buildPythonApplication rec { ]; nativeBuildInputs = [ qt5.wrapQtAppsHook ]; - buildInputs = [ python3Packages.numpy python3Packages.pyqt5 glew glm libpng libxml2 freetype msgpack netcdf ]; + buildInputs = [ + python3Packages.numpy + python3Packages.pyqt5 + glew + glm + libpng + libxml2 + freetype + msgpack + netcdf + ]; env.NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2"; - postInstall = with python3Packages; '' - wrapProgram $out/bin/pymol \ - --prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3Packages.python.sitePackages [ pyqt5 pyqt5.pyqt5-sip ]} - - mkdir -p "$out/share/icons/" - ln -s $out/${python3Packages.python.sitePackages}/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - cp -r "${desktopItem}/share/applications/" "$out/share/" - ''; + postInstall = + with python3Packages; + '' + wrapProgram $out/bin/pymol \ + --prefix PYTHONPATH : ${ + lib.makeSearchPathOutput "lib" python3Packages.python.sitePackages [ + pyqt5 + pyqt5.pyqt5-sip + ] + } + + mkdir -p "$out/share/icons/" + ln -s $out/${python3Packages.python.sitePackages}/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + cp -r "${desktopItem}/share/applications/" "$out/share/" + ''; pythonImportsCheck = [ "pymol" @@ -115,6 +139,9 @@ python3Packages.buildPythonApplication rec { mainProgram = "pymol"; homepage = "https://www.pymol.org/"; license = licenses.mit; - maintainers = with maintainers; [ natsukium samlich ]; + maintainers = with maintainers; [ + natsukium + samlich + ]; }; } diff --git a/pkgs/applications/science/chemistry/quantum-espresso/default.nix b/pkgs/applications/science/chemistry/quantum-espresso/default.nix index 2156c1d269691..8220cc842fb67 100644 --- a/pkgs/applications/science/chemistry/quantum-espresso/default.nix +++ b/pkgs/applications/science/chemistry/quantum-espresso/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchFromGitHub -, git -, cmake -, gfortran -, pkg-config -, fftw -, blas -, lapack -, scalapack -, wannier90 -, hdf5 -, libmbd -, libxc -, enableMpi ? true -, mpi +{ + lib, + stdenv, + fetchFromGitLab, + fetchFromGitHub, + git, + cmake, + gfortran, + pkg-config, + fftw, + blas, + lapack, + scalapack, + wannier90, + hdf5, + libmbd, + libxc, + enableMpi ? true, + mpi, }: -assert ! blas.isILP64; -assert ! lapack.isILP64; +assert !blas.isILP64; +assert !lapack.isILP64; let # "rev"s must exactly match the git submodule commits in the QE repo @@ -63,13 +64,12 @@ stdenv.mkDerivation rec { --replace "qe_git_submodule_update(external/d3q)" "" \ --replace "qe_git_submodule_update(external/qe-gipaw)" "" - ${builtins.toString (builtins.attrValues - (builtins.mapAttrs - (name: val: '' + ${builtins.toString ( + builtins.attrValues ( + builtins.mapAttrs (name: val: '' cp -r ${val}/* external/${name}/. chmod -R +rwx external/${name} - '') - gitSubmodules + '') gitSubmodules ) )} @@ -99,19 +99,21 @@ stdenv.mkDerivation rec { propagatedBuildInputs = lib.optional enableMpi mpi; propagatedUserEnvPkgs = lib.optional enableMpi mpi; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DWANNIER90_ROOT=${wannier90}" - "-DMBD_ROOT=${libmbd}" - "-DQE_ENABLE_OPENMP=ON" - "-DQE_ENABLE_LIBXC=ON" - "-DQE_ENABLE_HDF5=ON" - "-DQE_ENABLE_PLUGINS=pw2qmcpack" - ] ++ lib.optionals enableMpi [ - "-DQE_ENABLE_MPI=ON" - "-DQE_ENABLE_MPI_MODULE=ON" - "-DQE_ENABLE_SCALAPACK=ON" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + "-DWANNIER90_ROOT=${wannier90}" + "-DMBD_ROOT=${libmbd}" + "-DQE_ENABLE_OPENMP=ON" + "-DQE_ENABLE_LIBXC=ON" + "-DQE_ENABLE_HDF5=ON" + "-DQE_ENABLE_PLUGINS=pw2qmcpack" + ] + ++ lib.optionals enableMpi [ + "-DQE_ENABLE_MPI=ON" + "-DQE_ENABLE_MPI_MODULE=ON" + "-DQE_ENABLE_SCALAPACK=ON" + ]; meta = with lib; { description = "Electronic-structure calculations and materials modeling at the nanoscale"; @@ -123,7 +125,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.quantum-espresso.org/"; license = licenses.gpl2; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; maintainers = [ maintainers.costrouc ]; }; } diff --git a/pkgs/applications/science/chemistry/siesta/default.nix b/pkgs/applications/science/chemistry/siesta/default.nix index 2ec4d37f73ed2..2d662a407dc89 100644 --- a/pkgs/applications/science/chemistry/siesta/default.nix +++ b/pkgs/applications/science/chemistry/siesta/default.nix @@ -1,8 +1,13 @@ -{ lib, stdenv -, gfortran, blas, lapack, scalapack -, useMpi ? false -, mpi -, fetchFromGitLab +{ + lib, + stdenv, + gfortran, + blas, + lapack, + scalapack, + useMpi ? false, + mpi, + fetchFromGitLab, }: stdenv.mkDerivation rec { @@ -26,10 +31,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gfortran ]; - buildInputs = [ blas lapack ] - ++ lib.optionals useMpi [ mpi scalapack ]; + buildInputs = + [ + blas + lapack + ] + ++ lib.optionals useMpi [ + mpi + scalapack + ]; - enableParallelBuilding = false; # Started making trouble with gcc-11 + enableParallelBuilding = false; # Started making trouble with gcc-11 # Must do manually because siesta does not do the regular # ./configure; make; make install @@ -39,23 +51,30 @@ stdenv.mkDerivation rec { cp gfortran.make arch.make ''; - preBuild = '' - # See https://gitlab.com/siesta-project/siesta/-/commit/a10bf1628e7141ba263841889c3503c263de1582 - # This may be fixed in the next release. - makeFlagsArray=( - FFLAGS="-fallow-argument-mismatch" - ) - '' + (if useMpi then '' - makeFlagsArray+=( - CC="mpicc" FC="mpifort" - FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="." - COMP_LIBS="" LIBS="-lblas -llapack -lscalapack" + preBuild = + '' + # See https://gitlab.com/siesta-project/siesta/-/commit/a10bf1628e7141ba263841889c3503c263de1582 + # This may be fixed in the next release. + makeFlagsArray=( + FFLAGS="-fallow-argument-mismatch" + ) + '' + + ( + if useMpi then + '' + makeFlagsArray+=( + CC="mpicc" FC="mpifort" + FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="." + COMP_LIBS="" LIBS="-lblas -llapack -lscalapack" + ); + '' + else + '' + makeFlagsArray+=( + COMP_LIBS="" LIBS="-lblas -llapack" + ); + '' ); - '' else '' - makeFlagsArray+=( - COMP_LIBS="" LIBS="-lblas -llapack" - ); - ''); installPhase = '' mkdir -p $out/bin @@ -66,18 +85,18 @@ stdenv.mkDerivation rec { description = "First-principles materials simulation code using DFT"; mainProgram = "siesta"; longDescription = '' - SIESTA is both a method and its computer program - implementation, to perform efficient electronic structure - calculations and ab initio molecular dynamics simulations of - molecules and solids. SIESTA's efficiency stems from the use - of strictly localized basis sets and from the implementation - of linear-scaling algorithms which can be applied to suitable - systems. A very important feature of the code is that its - accuracy and cost can be tuned in a wide range, from quick - exploratory calculations to highly accurate simulations - matching the quality of other approaches, such as plane-wave - and all-electron methods. - ''; + SIESTA is both a method and its computer program + implementation, to perform efficient electronic structure + calculations and ab initio molecular dynamics simulations of + molecules and solids. SIESTA's efficiency stems from the use + of strictly localized basis sets and from the implementation + of linear-scaling algorithms which can be applied to suitable + systems. A very important feature of the code is that its + accuracy and cost can be tuned in a wide range, from quick + exploratory calculations to highly accurate simulations + matching the quality of other approaches, such as plane-wave + and all-electron methods. + ''; homepage = "https://siesta-project.org/siesta/"; license = licenses.gpl2; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix index 41597cb02945f..cfe7606cbbb0e 100644 --- a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix +++ b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, wrapQtAppsHook, qtbase }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + wrapQtAppsHook, + qtbase, +}: stdenv.mkDerivation rec { pname = "QtRVSim"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-+EpPDA2+mBTdQjq6i9TN11yeXqvJA28JtmdNihM1a/U="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ qtbase ]; diff --git a/pkgs/applications/science/computer-architecture/timeloop/default.nix b/pkgs/applications/science/computer-architecture/timeloop/default.nix index 3a70478262d55..627773ef7b9a8 100644 --- a/pkgs/applications/science/computer-architecture/timeloop/default.nix +++ b/pkgs/applications/science/computer-architecture/timeloop/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, scons -, libconfig -, boost -, libyaml -, yaml-cpp -, ncurses -, gpm -, enableAccelergy ? true -, enableISL ? false -, accelergy +{ + lib, + stdenv, + fetchFromGitHub, + scons, + libconfig, + boost, + libyaml, + yaml-cpp, + ncurses, + gpm, + enableAccelergy ? true, + enableISL ? false, + accelergy, }: stdenv.mkDerivation rec { @@ -33,7 +34,7 @@ stdenv.mkDerivation rec { yaml-cpp ncurses accelergy - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ gpm ]; + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ gpm ]; preConfigure = '' cp -r ./pat-public/src/pat ./src/pat @@ -41,37 +42,39 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postPatch = '' - # Fix gcc-13 build failure due to missing includes: - sed -e '1i #include ' -i \ - include/compound-config/compound-config.hpp - - # use nix ar/ranlib - substituteInPlace ./SConstruct \ - --replace-fail "env.Replace(AR = \"gcc-ar\")" "pass" \ - --replace-fail "env.Replace(RANLIB = \"gcc-ranlib\")" "pass" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # prevent clang from dying on errors that gcc is fine with - substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override" - - # disable LTO on macos - substituteInPlace ./src/SConscript --replace ", '-flto'" "" - - # static builds on mac fail as no static libcrt is provided by apple - # see https://stackoverflow.com/questions/3801011/ld-library-not-found-for-lcrt0-o-on-osx-10-6-with-gcc-clang-static-flag - substituteInPlace ./src/SConscript \ - --replace "'-static-libgcc', " "" \ - --replace "'-static-libstdc++', " "" \ - --replace "'-Wl,--whole-archive', '-static', " "" \ - --replace ", '-Wl,--no-whole-archive'" "" - - #remove hardcoding of gcc - sed -i '40i env.Replace(CC = "${stdenv.cc.targetPrefix}cc")' ./SConstruct - sed -i '40i env.Replace(CXX = "${stdenv.cc.targetPrefix}c++")' ./SConstruct - - #gpm doesn't exist on darwin - substituteInPlace ./src/SConscript --replace ", 'gpm'" "" - ''; + postPatch = + '' + # Fix gcc-13 build failure due to missing includes: + sed -e '1i #include ' -i \ + include/compound-config/compound-config.hpp + + # use nix ar/ranlib + substituteInPlace ./SConstruct \ + --replace-fail "env.Replace(AR = \"gcc-ar\")" "pass" \ + --replace-fail "env.Replace(RANLIB = \"gcc-ranlib\")" "pass" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # prevent clang from dying on errors that gcc is fine with + substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override" + + # disable LTO on macos + substituteInPlace ./src/SConscript --replace ", '-flto'" "" + + # static builds on mac fail as no static libcrt is provided by apple + # see https://stackoverflow.com/questions/3801011/ld-library-not-found-for-lcrt0-o-on-osx-10-6-with-gcc-clang-static-flag + substituteInPlace ./src/SConscript \ + --replace "'-static-libgcc', " "" \ + --replace "'-static-libstdc++', " "" \ + --replace "'-Wl,--whole-archive', '-static', " "" \ + --replace ", '-Wl,--no-whole-archive'" "" + + #remove hardcoding of gcc + sed -i '40i env.Replace(CC = "${stdenv.cc.targetPrefix}cc")' ./SConstruct + sed -i '40i env.Replace(CXX = "${stdenv.cc.targetPrefix}c++")' ./SConstruct + + #gpm doesn't exist on darwin + substituteInPlace ./src/SConscript --replace ", 'gpm'" "" + ''; sconsFlags = # will fail on clang/darwin on link without --static due to undefined extern @@ -80,14 +83,13 @@ stdenv.mkDerivation rec { ++ lib.optional enableAccelergy "--accelergy" ++ lib.optional enableISL "--with-isl"; - installPhase = '' cp -r ./bin ./lib $out mkdir -p $out/share cp -r ./doc $out/share mkdir -p $out/data cp -r ./problem-shapes ./configs $out/data - ''; + ''; meta = with lib; { description = "Chip modeling/mapping benchmarking framework"; diff --git a/pkgs/applications/science/electronics/appcsxcad/default.nix b/pkgs/applications/science/electronics/appcsxcad/default.nix index c401e150f35e0..36b029b5f0dc9 100644 --- a/pkgs/applications/science/electronics/appcsxcad/default.nix +++ b/pkgs/applications/science/electronics/appcsxcad/default.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, csxcad -, qcsxcad -, hdf5 -, vtkWithQt5 -, qtbase -, fparser -, tinyxml -, cgal -, boost +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + csxcad, + qcsxcad, + hdf5, + vtkWithQt5, + qtbase, + fparser, + tinyxml, + cgal, + boost, }: mkDerivation { diff --git a/pkgs/applications/science/electronics/bitscope/common.nix b/pkgs/applications/science/electronics/bitscope/common.nix index 7ea5e4b57a0d2..30e7c72a145c0 100644 --- a/pkgs/applications/science/electronics/bitscope/common.nix +++ b/pkgs/applications/science/electronics/bitscope/common.nix @@ -1,17 +1,24 @@ -{ atk -, buildFHSEnv -, cairo -, dpkg -, gdk-pixbuf -, glib -, gtk2-x11 -, makeWrapper -, pango -, lib, stdenv -, xorg +{ + atk, + buildFHSEnv, + cairo, + dpkg, + gdk-pixbuf, + glib, + gtk2-x11, + makeWrapper, + pango, + lib, + stdenv, + xorg, }: -{ src, toolName, version, ... } @ attrs: +{ + src, + toolName, + version, + ... +}@attrs: let wrapBinary = libPaths: binaryName: '' wrapProgram "$out/bin/${binaryName}" \ @@ -22,42 +29,55 @@ let name = "${toolName}-${version}"; - meta = with lib; { - homepage = "http://bitscope.com/software/"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ - vidbina - ]; - } // (attrs.meta or {}); - - nativeBuildInputs = [ makeWrapper dpkg ]; - - libs = attrs.libs or [ - atk - cairo - gdk-pixbuf - glib - gtk2-x11 - pango - xorg.libX11 + meta = + with lib; + { + homepage = "http://bitscope.com/software/"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ + vidbina + ]; + } + // (attrs.meta or { }); + + nativeBuildInputs = [ + makeWrapper + dpkg ]; + libs = + attrs.libs or [ + atk + cairo + gdk-pixbuf + glib + gtk2-x11 + pango + xorg.libX11 + ]; + dontBuild = true; - unpackPhase = attrs.unpackPhase or '' - dpkg-deb -x ${attrs.src} ./ - ''; + unpackPhase = + attrs.unpackPhase or '' + dpkg-deb -x ${attrs.src} ./ + ''; - installPhase = attrs.installPhase or '' - mkdir -p "$out/bin" - cp -a usr/* "$out/" - ${(wrapBinary libs) attrs.toolName} - ''; + installPhase = + attrs.installPhase or '' + mkdir -p "$out/bin" + cp -a usr/* "$out/" + ${(wrapBinary libs) attrs.toolName} + ''; }); -in buildFHSEnv { +in +buildFHSEnv { pname = attrs.toolName; inherit (attrs) version; runScript = "${pkg.outPath}/bin/${attrs.toolName}"; -} // { inherit (pkg) meta name; } +} +// { + inherit (pkg) meta name; +} diff --git a/pkgs/applications/science/electronics/bitscope/packages.nix b/pkgs/applications/science/electronics/bitscope/packages.nix index 11e1ed524ed28..94ab661ee8b9b 100644 --- a/pkgs/applications/science/electronics/bitscope/packages.nix +++ b/pkgs/applications/science/electronics/bitscope/packages.nix @@ -1,146 +1,164 @@ -{ callPackage -, fetchurl +{ + callPackage, + fetchurl, }: let mkBitscope = callPackage (import ./common.nix) { }; -in { - chart = let - toolName = "bitscope-chart"; - version = "2.0.FK22M"; - in mkBitscope { - inherit toolName version; - - meta = { - description = "Multi-channel waveform data acquisition and chart recording application"; - homepage = "http://bitscope.com/software/chart/"; +in +{ + chart = + let + toolName = "bitscope-chart"; + version = "2.0.FK22M"; + in + mkBitscope { + inherit toolName version; + + meta = { + description = "Multi-channel waveform data acquisition and chart recording application"; + homepage = "http://bitscope.com/software/chart/"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "08mc82pjamyyyhh15sagsv0sc7yx5v5n54bg60fpj7v41wdwrzxw"; + }; + }; + + console = + let + toolName = "bitscope-console"; + version = "1.0.FK29A"; + in + mkBitscope { + # NOTE: this is meant as a demo by BitScope + inherit toolName version; + + meta = { + description = "Demonstrative communications program designed to make it easy to talk to any model BitScope"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "00b4gxwz7w6pmfrcz14326b24kl44hp0gzzqcqxwi5vws3f0y49d"; + }; + }; + + display = + let + toolName = "bitscope-display"; + version = "1.0.EC17A"; + in + mkBitscope { + inherit toolName version; + + meta = { + description = "Display diagnostic application for BitScope"; + homepage = "http://bitscope.com/software/display/"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "05xr5mnka1v3ibcasg74kmj6nlv1nmn3lca1wv77whkq85cmz0s1"; + }; + }; + + dso = + let + toolName = "bitscope-dso"; + version = "2.8.FE22H"; + in + mkBitscope { + inherit toolName version; + + meta = { + description = "Test and measurement software for BitScope"; + homepage = "http://bitscope.com/software/dso/"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "0fc6crfkprj78dxxhvhbn1dx1db5chm0cpwlqpqv8sz6whp12mcj"; + }; + }; + + logic = + let + toolName = "bitscope-logic"; + version = "1.2.FC20C"; + in + mkBitscope { + inherit toolName version; + + meta = { + description = "Mixed signal logic timing and serial protocol analysis software for BitScope"; + homepage = "http://bitscope.com/software/logic/"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "0lkb7z9gfkiyxdwh4dq1zxfls8gzdw0na1vrrbgnxfg3klv4xns3"; + }; + }; + + meter = + let + toolName = "bitscope-meter"; + version = "2.0.FK22G"; + in + mkBitscope { + inherit toolName version; + + meta = { + description = "Automated oscilloscope, voltmeter and frequency meter for BitScope"; + homepage = "http://bitscope.com/software/logic/"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "0nirbci6ymhk4h4bck2s4wbsl5r9yndk2jvvv72zwkg21248mnbp"; + }; + }; + + proto = + let + toolName = "bitscope-proto"; + version = "0.9.FG13B"; + in + mkBitscope { + inherit toolName version; + # NOTE: this is meant as a demo by BitScope + # NOTE: clicking on logo produces error + # TApplication.HandleException Executable not found: "http://bitscope.com/blog/DK/?p=DK15A" + + meta = { + description = "Demonstrative prototype oscilloscope built using the BitScope Library"; + homepage = "http://bitscope.com/blog/DK/?p=DK15A"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "1ybjfbh3narn29ll4nci4b7rnxy0hj3wdfm4v8c6pjr8pfvv9spy"; + }; + }; + + server = + let + toolName = "bitscope-server"; + version = "1.0.FK26A"; + in + mkBitscope { + inherit toolName version; + + meta = { + description = "Remote access server solution for any BitScope"; + homepage = "http://bitscope.com/software/server/"; + }; + + src = fetchurl { + url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; + sha256 = "1079n7msq6ks0n4aasx40rd4q99w8j9hcsaci71nd2im2jvjpw9a"; + }; }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "08mc82pjamyyyhh15sagsv0sc7yx5v5n54bg60fpj7v41wdwrzxw"; - }; - }; - - console = let - toolName = "bitscope-console"; - version = "1.0.FK29A"; - in mkBitscope { - # NOTE: this is meant as a demo by BitScope - inherit toolName version; - - meta = { - description = "Demonstrative communications program designed to make it easy to talk to any model BitScope"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "00b4gxwz7w6pmfrcz14326b24kl44hp0gzzqcqxwi5vws3f0y49d"; - }; - }; - - display = let - toolName = "bitscope-display"; - version = "1.0.EC17A"; - in mkBitscope { - inherit toolName version; - - meta = { - description = "Display diagnostic application for BitScope"; - homepage = "http://bitscope.com/software/display/"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "05xr5mnka1v3ibcasg74kmj6nlv1nmn3lca1wv77whkq85cmz0s1"; - }; - }; - - dso = let - toolName = "bitscope-dso"; - version = "2.8.FE22H"; - in mkBitscope { - inherit toolName version; - - meta = { - description = "Test and measurement software for BitScope"; - homepage = "http://bitscope.com/software/dso/"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "0fc6crfkprj78dxxhvhbn1dx1db5chm0cpwlqpqv8sz6whp12mcj"; - }; - }; - - logic = let - toolName = "bitscope-logic"; - version = "1.2.FC20C"; - in mkBitscope { - inherit toolName version; - - meta = { - description = "Mixed signal logic timing and serial protocol analysis software for BitScope"; - homepage = "http://bitscope.com/software/logic/"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "0lkb7z9gfkiyxdwh4dq1zxfls8gzdw0na1vrrbgnxfg3klv4xns3"; - }; - }; - - meter = let - toolName = "bitscope-meter"; - version = "2.0.FK22G"; - in mkBitscope { - inherit toolName version; - - meta = { - description = "Automated oscilloscope, voltmeter and frequency meter for BitScope"; - homepage = "http://bitscope.com/software/logic/"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "0nirbci6ymhk4h4bck2s4wbsl5r9yndk2jvvv72zwkg21248mnbp"; - }; - }; - - proto = let - toolName = "bitscope-proto"; - version = "0.9.FG13B"; - in mkBitscope { - inherit toolName version; - # NOTE: this is meant as a demo by BitScope - # NOTE: clicking on logo produces error - # TApplication.HandleException Executable not found: "http://bitscope.com/blog/DK/?p=DK15A" - - meta = { - description = "Demonstrative prototype oscilloscope built using the BitScope Library"; - homepage = "http://bitscope.com/blog/DK/?p=DK15A"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "1ybjfbh3narn29ll4nci4b7rnxy0hj3wdfm4v8c6pjr8pfvv9spy"; - }; - }; - - server = let - toolName = "bitscope-server"; - version = "1.0.FK26A"; - in mkBitscope { - inherit toolName version; - - meta = { - description = "Remote access server solution for any BitScope"; - homepage = "http://bitscope.com/software/server/"; - }; - - src = fetchurl { - url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb"; - sha256 = "1079n7msq6ks0n4aasx40rd4q99w8j9hcsaci71nd2im2jvjpw9a"; - }; - }; } diff --git a/pkgs/applications/science/electronics/caneda/default.nix b/pkgs/applications/science/electronics/caneda/default.nix index db664965adb88..b99c2201ec097 100644 --- a/pkgs/applications/science/electronics/caneda/default.nix +++ b/pkgs/applications/science/electronics/caneda/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qwt6_1}: +{ + mkDerivation, + lib, + fetchFromGitHub, + cmake, + qtbase, + qttools, + qtsvg, + qwt6_1, +}: mkDerivation rec { pname = "caneda"; @@ -12,7 +21,12 @@ mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ qtbase qttools qtsvg qwt6_1 ]; + buildInputs = [ + qtbase + qttools + qtsvg + qwt6_1 + ]; meta = { description = "Open source EDA software focused on easy of use and portability"; diff --git a/pkgs/applications/science/electronics/degate/default.nix b/pkgs/applications/science/electronics/degate/default.nix index 580d452f333df..478e1b78ab259 100644 --- a/pkgs/applications/science/electronics/degate/default.nix +++ b/pkgs/applications/science/electronics/degate/default.nix @@ -1,19 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, boost -, qtbase -, qtimageformats -, qttools -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + qtbase, + qtimageformats, + qttools, + wrapQtAppsHook, }: let boost_static = boost.override { enableStatic = true; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "degate"; version = "2.0.0"; diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix index 48a94468ef0b2..0141bd2ebadc4 100644 --- a/pkgs/applications/science/electronics/dsview/default.nix +++ b/pkgs/applications/science/electronics/dsview/default.nix @@ -1,6 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, cmake, wrapQtAppsHook -, libzip, boost, fftw, libusb1, qtbase, qtsvg, qtwayland -, python3, desktopToDarwinBundle +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + cmake, + wrapQtAppsHook, + libzip, + boost, + fftw, + libusb1, + qtbase, + qtsvg, + qtwayland, + python3, + desktopToDarwinBundle, }: stdenv.mkDerivation rec { @@ -9,10 +22,10 @@ stdenv.mkDerivation rec { version = "1.3.2"; src = fetchFromGitHub { - owner = "DreamSourceLab"; - repo = "DSView"; - rev = "v${version}"; - sha256 = "sha256-d/TfCuJzAM0WObOiBhgfsTirlvdROrlCm+oL1cqUrIs="; + owner = "DreamSourceLab"; + repo = "DSView"; + rev = "v${version}"; + sha256 = "sha256-d/TfCuJzAM0WObOiBhgfsTirlvdROrlCm+oL1cqUrIs="; }; patches = [ @@ -20,11 +33,19 @@ stdenv.mkDerivation rec { ./install.patch ]; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ] - ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; buildInputs = [ - boost fftw qtbase qtsvg libusb1 libzip + boost + fftw + qtbase + qtsvg + libusb1 + libzip python3 ] ++ lib.optional stdenv.hostPlatform.isLinux qtwayland; @@ -34,6 +55,9 @@ stdenv.mkDerivation rec { homepage = "https://www.dreamsourcelab.com/"; license = licenses.gpl3Plus; platforms = platforms.unix; - maintainers = with maintainers; [ bachp carlossless ]; + maintainers = with maintainers; [ + bachp + carlossless + ]; }; } diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix index a8da40bd070b2..3277bda1326c7 100644 --- a/pkgs/applications/science/electronics/eagle/eagle.nix +++ b/pkgs/applications/science/electronics/eagle/eagle.nix @@ -1,81 +1,136 @@ -{ lib, stdenv, mkDerivation, fetchurl, makeDesktopItem -, libXrender, libXrandr, libXcursor, libX11, libXext, libXi, libxcb - , libGL, glib, nss, nspr, expat, alsa-lib -, qtbase, qtdeclarative, qtsvg, qtlocation, qtwebchannel, qtwebengine +{ + lib, + stdenv, + mkDerivation, + fetchurl, + makeDesktopItem, + libXrender, + libXrandr, + libXcursor, + libX11, + libXext, + libXi, + libxcb, + libGL, + glib, + nss, + nspr, + expat, + alsa-lib, + qtbase, + qtdeclarative, + qtsvg, + qtlocation, + qtwebchannel, + qtwebengine, }: let - libPath = lib.makeLibraryPath - [ libXrender libXrandr libXcursor libX11 libXext libXi libxcb - libGL glib nss nspr expat alsa-lib - qtbase qtdeclarative qtsvg qtlocation qtwebchannel qtwebengine - ]; - in - mkDerivation rec { - pname = "eagle"; - version = "9.6.2"; + libPath = lib.makeLibraryPath [ + libXrender + libXrandr + libXcursor + libX11 + libXext + libXi + libxcb + libGL + glib + nss + nspr + expat + alsa-lib + qtbase + qtdeclarative + qtsvg + qtlocation + qtwebchannel + qtwebengine + ]; +in +mkDerivation rec { + pname = "eagle"; + version = "9.6.2"; - src = fetchurl { - url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz"; - sha256 = "18syygnskl286kn8aqfzzdsyzq59d2w19y1h1ynyxsnrvkyv71h0"; - }; + src = fetchurl { + url = "https://eagle-updates.circuits.io/downloads/${ + builtins.replaceStrings [ "." ] [ "_" ] version + }/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz"; + sha256 = "18syygnskl286kn8aqfzzdsyzq59d2w19y1h1ynyxsnrvkyv71h0"; + }; - desktopItem = makeDesktopItem { - name = "eagle"; - exec = "eagle"; - icon = "eagle"; - comment = "Schematic capture and PCB layout"; - desktopName = "Eagle"; - genericName = "Schematic editor"; - categories = [ "Development" ]; - }; + desktopItem = makeDesktopItem { + name = "eagle"; + exec = "eagle"; + icon = "eagle"; + comment = "Schematic capture and PCB layout"; + desktopName = "Eagle"; + genericName = "Schematic editor"; + categories = [ "Development" ]; + }; - buildInputs = - [ libXrender libXrandr libXcursor libX11 libXext libXi libxcb - libGL glib nss nspr expat alsa-lib - qtbase qtdeclarative qtsvg qtlocation qtwebchannel qtwebengine - ]; + buildInputs = [ + libXrender + libXrandr + libXcursor + libX11 + libXext + libXi + libxcb + libGL + glib + nss + nspr + expat + alsa-lib + qtbase + qtdeclarative + qtsvg + qtlocation + qtwebchannel + qtwebengine + ]; - installPhase = '' - # Extract eagle tarball - mkdir "$out" - tar -xzf "$src" -C "$out" + installPhase = '' + # Extract eagle tarball + mkdir "$out" + tar -xzf "$src" -C "$out" - # Install manpage - mkdir -p "$out"/share/man/man1 - ln -s "$out"/eagle-${version}/doc/eagle.1 "$out"/share/man/man1/eagle.1 + # Install manpage + mkdir -p "$out"/share/man/man1 + ln -s "$out"/eagle-${version}/doc/eagle.1 "$out"/share/man/man1/eagle.1 - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}:$out/eagle-${version}/lib:${lib.getLib stdenv.cc.cc}/lib" \ - "$out"/eagle-${version}/eagle + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}:$out/eagle-${version}/lib:${lib.getLib stdenv.cc.cc}/lib" \ + "$out"/eagle-${version}/eagle - mkdir -p "$out"/bin - ln -s "$out"/eagle-${version}/eagle "$out"/bin/eagle + mkdir -p "$out"/bin + ln -s "$out"/eagle-${version}/eagle "$out"/bin/eagle - # Remove bundled libraries that are available in nixpkgs - # TODO: There still may be unused bundled libraries - rm "$out"/eagle-${version}/lib/libQt5*.so.5 - rm "$out"/eagle-${version}/lib/{libxcb-*.so.*,libX*.so.*,libxshmfence.so.1} - rm "$out"/eagle-${version}/lib/{libEGL.so.1,libglapi.so.0,libgbm.so.1} + # Remove bundled libraries that are available in nixpkgs + # TODO: There still may be unused bundled libraries + rm "$out"/eagle-${version}/lib/libQt5*.so.5 + rm "$out"/eagle-${version}/lib/{libxcb-*.so.*,libX*.so.*,libxshmfence.so.1} + rm "$out"/eagle-${version}/lib/{libEGL.so.1,libglapi.so.0,libgbm.so.1} - # No longer needed (we don't use the bundled Qt libraries) - rm -r "$out"/eagle-${version}/libexec - rm -r "$out"/eagle-${version}/plugins + # No longer needed (we don't use the bundled Qt libraries) + rm -r "$out"/eagle-${version}/libexec + rm -r "$out"/eagle-${version}/plugins - # Make desktop item - mkdir -p "$out"/share/applications - cp "$desktopItem"/share/applications/* "$out"/share/applications/ - mkdir -p "$out"/share/pixmaps - ln -s "$out/eagle-${version}/bin/eagle-logo.png" "$out"/share/pixmaps/eagle.png - ''; + # Make desktop item + mkdir -p "$out"/share/applications + cp "$desktopItem"/share/applications/* "$out"/share/applications/ + mkdir -p "$out"/share/pixmaps + ln -s "$out/eagle-${version}/bin/eagle-logo.png" "$out"/share/pixmaps/eagle.png + ''; - meta = with lib; { - description = "Schematic editor and PCB layout tool from Autodesk (formerly CadSoft)"; - homepage = "https://www.autodesk.com/products/eagle/overview"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - platforms = [ "x86_64-linux" ]; - maintainers = [ ]; - }; - } + meta = with lib; { + description = "Schematic editor and PCB layout tool from Autodesk (formerly CadSoft)"; + homepage = "https://www.autodesk.com/products/eagle/overview"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = [ ]; + }; +} diff --git a/pkgs/applications/science/electronics/flatcam/default.nix b/pkgs/applications/science/electronics/flatcam/default.nix index 2235cf0b4a337..0cefff6dc47e6 100644 --- a/pkgs/applications/science/electronics/flatcam/default.nix +++ b/pkgs/applications/science/electronics/flatcam/default.nix @@ -1,33 +1,34 @@ -{ lib -, fetchFromBitbucket -, buildPythonApplication -, pyqt5 -, matplotlib -, numpy -, cycler -, python-dateutil -, kiwisolver -, six -, setuptools -, dill -, rtree -, pyopengl -, vispy -, ortools -, svg-path -, simplejson -, shapely -, freetype-py -, fonttools -, rasterio -, lxml -, ezdxf -, qrcode -, reportlab -, svglib -, gdal -, pyserial -, python3 +{ + lib, + fetchFromBitbucket, + buildPythonApplication, + pyqt5, + matplotlib, + numpy, + cycler, + python-dateutil, + kiwisolver, + six, + setuptools, + dill, + rtree, + pyopengl, + vispy, + ortools, + svg-path, + simplejson, + shapely, + freetype-py, + fonttools, + rasterio, + lxml, + ezdxf, + qrcode, + reportlab, + svglib, + gdal, + pyserial, + python3, }: buildPythonApplication rec { @@ -91,7 +92,9 @@ buildPythonApplication rec { ]; postInstall = '' - sed -i "s|python3|${python3.withPackages (_: propagatedBuildInputs)}/bin/python3|" $out/bin/flatcam-beta + sed -i "s|python3|${ + python3.withPackages (_: propagatedBuildInputs) + }/bin/python3|" $out/bin/flatcam-beta mv $out/bin/flatcam{-beta,} ''; diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix index 04ca24861c0d8..1821ac63a4ebb 100644 --- a/pkgs/applications/science/electronics/fritzing/default.nix +++ b/pkgs/applications/science/electronics/fritzing/default.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, wrapQtAppsHook -, qmake -, pkg-config -, qtbase -, qtsvg -, qttools -, qtserialport -, qtwayland -, qt5compat -, boost -, libngspice -, libgit2 -, quazip -, clipper +{ + stdenv, + lib, + fetchFromGitHub, + wrapQtAppsHook, + qmake, + pkg-config, + qtbase, + qtsvg, + qttools, + qtserialport, + qtwayland, + qt5compat, + boost, + libngspice, + libgit2, + quazip, + clipper, }: let @@ -49,20 +50,27 @@ stdenv.mkDerivation { hash = "sha256-Xi5sPU2RGkqh7T+EOvwxJJKKYDhJfccyEZ8LBBTb2s4="; }; - nativeBuildInputs = [ qmake pkg-config qttools wrapQtAppsHook ]; - buildInputs = [ - qtbase - qtsvg - qtserialport - qt5compat - boost - libgit2 - quazip - libngspice - clipper - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland + nativeBuildInputs = [ + qmake + pkg-config + qttools + wrapQtAppsHook ]; + buildInputs = + [ + qtbase + qtsvg + qtserialport + qt5compat + boost + libgit2 + quazip + libngspice + clipper + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; postPatch = '' # Use packaged quazip, libgit and ngspice @@ -111,8 +119,14 @@ stdenv.mkDerivation { meta = with lib; { description = "Open source prototyping tool for Arduino-based projects"; homepage = "https://fritzing.org/"; - license = with licenses; [ gpl3 cc-by-sa-30 ]; - maintainers = with maintainers; [ robberer muscaln ]; + license = with licenses; [ + gpl3 + cc-by-sa-30 + ]; + maintainers = with maintainers; [ + robberer + muscaln + ]; platforms = platforms.unix; mainProgram = "Fritzing"; }; diff --git a/pkgs/applications/science/electronics/geda/default.nix b/pkgs/applications/science/electronics/geda/default.nix index 160928633a3cc..8ed37c9b4b3cb 100644 --- a/pkgs/applications/science/electronics/geda/default.nix +++ b/pkgs/applications/science/electronics/geda/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, groff, pkg-config, guile, gtk2, flex, gawk, perl }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + groff, + pkg-config, + guile, + gtk2, + flex, + gawk, + perl, +}: stdenv.mkDerivation rec { pname = "geda"; @@ -22,8 +35,18 @@ stdenv.mkDerivation rec { "--without-libfam" ]; - nativeBuildInputs = [ autoreconfHook groff pkg-config ]; - buildInputs = [ guile gtk2 flex gawk perl ]; + nativeBuildInputs = [ + autoreconfHook + groff + pkg-config + ]; + buildInputs = [ + guile + gtk2 + flex + gawk + perl + ]; meta = with lib; { description = "Full GPL'd suite of Electronic Design Automation tools"; diff --git a/pkgs/applications/science/electronics/gerbv/default.nix b/pkgs/applications/science/electronics/gerbv/default.nix index c4c46b5507994..cf0dfe7e43f9f 100644 --- a/pkgs/applications/science/electronics/gerbv/default.nix +++ b/pkgs/applications/science/electronics/gerbv/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, autoconf -, automake -, autoreconfHook -, cairo -, fetchFromGitHub -, gettext -, gtk2-x11 -, libtool -, pkg-config +{ + lib, + stdenv, + autoconf, + automake, + autoreconfHook, + cairo, + fetchFromGitHub, + gettext, + gtk2-x11, + libtool, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix index e8c15c35f2f91..9d1c447c9c84a 100644 --- a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix +++ b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, boost -, cmake -, fetchFromGitHub -, fetchpatch -, graphviz -, igraph -, llvmPackages -, ninja -, nlohmann_json -, pkg-config -, python3Packages -, qtbase -, qtsvg -, quazip -, rapidjson -, spdlog -, verilator -, wrapQtAppsHook -, z3 +{ + lib, + stdenv, + boost, + cmake, + fetchFromGitHub, + fetchpatch, + graphviz, + igraph, + llvmPackages, + ninja, + nlohmann_json, + pkg-config, + python3Packages, + qtbase, + qtsvg, + quazip, + rapidjson, + spdlog, + verilator, + wrapQtAppsHook, + z3, }: stdenv.mkDerivation rec { @@ -62,22 +63,25 @@ stdenv.mkDerivation rec { pkg-config wrapQtAppsHook ]; - buildInputs = [ - qtbase - qtsvg - boost - rapidjson - igraph - nlohmann_json - spdlog - graphviz - verilator - z3 - quazip - ] - ++ (with python3Packages; [ python pybind11 ]) - ++ lib.optional stdenv.cc.isClang llvmPackages.openmp - ; + buildInputs = + [ + qtbase + qtsvg + boost + rapidjson + igraph + nlohmann_json + spdlog + graphviz + verilator + z3 + quazip + ] + ++ (with python3Packages; [ + python + pybind11 + ]) + ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; cmakeFlags = with lib.versions; [ "-DHAL_VERSION_RETURN=${version}" @@ -116,6 +120,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/emsec/hal"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ ris shamilton ]; + maintainers = with maintainers; [ + ris + shamilton + ]; }; } diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index a5cceb492522e..edfcf61c1a254 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,38 +1,40 @@ -{ lib, stdenv -, runCommand -, newScope -, fetchFromGitLab -, makeWrapper -, symlinkJoin -, callPackage -, callPackages - -, adwaita-icon-theme -, dconf -, gtk3 -, wxGTK32 -, librsvg -, cups -, gsettings-desktop-schemas -, hicolor-icon-theme - -, unzip -, jq - -, pname ? "kicad" -, stable ? true -, testing ? false -, withNgspice ? !stdenv.hostPlatform.isDarwin -, libngspice -, withScripting ? true -, python3 -, addons ? [ ] -, debug ? false -, sanitizeAddress ? false -, sanitizeThreads ? false -, with3d ? true -, withI18n ? true -, srcs ? { } +{ + lib, + stdenv, + runCommand, + newScope, + fetchFromGitLab, + makeWrapper, + symlinkJoin, + callPackage, + callPackages, + + adwaita-icon-theme, + dconf, + gtk3, + wxGTK32, + librsvg, + cups, + gsettings-desktop-schemas, + hicolor-icon-theme, + + unzip, + jq, + + pname ? "kicad", + stable ? true, + testing ? false, + withNgspice ? !stdenv.hostPlatform.isDarwin, + libngspice, + withScripting ? true, + python3, + addons ? [ ], + debug ? false, + sanitizeAddress ? false, + sanitizeThreads ? false, + with3d ? true, + withI18n ? true, + srcs ? { }, }: # `addons`: https://dev-docs.kicad.org/en/addons/ @@ -78,9 +80,13 @@ # } let - baseName = if (testing) then "kicad-testing" - else if (stable) then "kicad" - else "kicad-unstable"; + baseName = + if (testing) then + "kicad-testing" + else if (stable) then + "kicad" + else + "kicad-unstable"; versionsImport = import ./versions.nix; # versions.nix does not provide us with version, src and rev. We @@ -93,13 +99,15 @@ let sha256 = versionsImport.${baseName}.kicadVersion.src.sha256; }; - libSrcFetch = name: fetchFromGitLab { - group = "kicad"; - owner = "libraries"; - repo = "kicad-${name}"; - rev = versionsImport.${baseName}.libVersion.libSources.${name}.rev; - sha256 = versionsImport.${baseName}.libVersion.libSources.${name}.sha256; - }; + libSrcFetch = + name: + fetchFromGitLab { + group = "kicad"; + owner = "libraries"; + repo = "kicad-${name}"; + rev = versionsImport.${baseName}.libVersion.libSources.${name}.rev; + sha256 = versionsImport.${baseName}.libVersion.libSources.${name}.sha256; + }; # only override `src` or `version` if building `kicad-unstable` with # the appropriate attribute defined in `srcs`. @@ -108,18 +116,20 @@ let # use default source and version (as defined in versions.nix) by # default, or use the appropriate attribute from `srcs` if building # unstable with `srcs` properly defined. - kicadSrc = - if srcOverridep "kicad" then srcs.kicad - else kicadSrcFetch; + kicadSrc = if srcOverridep "kicad" then srcs.kicad else kicadSrcFetch; kicadVersion = - if srcOverridep "kicadVersion" then srcs.kicadVersion - else versionsImport.${baseName}.kicadVersion.version; + if srcOverridep "kicadVersion" then + srcs.kicadVersion + else + versionsImport.${baseName}.kicadVersion.version; libSrc = name: if srcOverridep name then srcs.${name} else libSrcFetch name; # TODO does it make sense to only have one version for all libs? libVersion = - if srcOverridep "libVersion" then srcs.libVersion - else versionsImport.${baseName}.libVersion.version; + if srcOverridep "libVersion" then + srcs.libVersion + else + versionsImport.${baseName}.libVersion.version; wxGTK = wxGTK32; python = python3; @@ -131,27 +141,36 @@ let runCommand "addonsJoined" { inherit addonsDrvs; - nativeBuildInputs = [ unzip jq ]; - } '' - mkdir $out - - for pkg in $addonsDrvs; do - unzip $pkg/addon.zip -d unpacked - - folder_name=$(jq .identifier unpacked/metadata.json --raw-output | tr . _) - for d in unpacked/*; do - if [ -d "$d" ]; then - dest=$out/share/kicad/scripting/$(basename $d)/$folder_name - mkdir -p $(dirname $dest) - - mv $d $dest - fi + nativeBuildInputs = [ + unzip + jq + ]; + } + '' + mkdir $out + + for pkg in $addonsDrvs; do + unzip $pkg/addon.zip -d unpacked + + folder_name=$(jq .identifier unpacked/metadata.json --raw-output | tr . _) + for d in unpacked/*; do + if [ -d "$d" ]; then + dest=$out/share/kicad/scripting/$(basename $d)/$folder_name + mkdir -p $(dirname $dest) + + mv $d $dest + fi + done + rm -r unpacked done - rm -r unpacked - done - ''; - - inherit (lib) concatStringsSep flatten optionalString optionals; + ''; + + inherit (lib) + concatStringsSep + flatten + optionalString + optionals + ; in stdenv.mkDerivation rec { @@ -175,12 +194,15 @@ stdenv.mkDerivation rec { dontBuild = true; dontFixup = true; - pythonPath = optionals (withScripting) - [ wxPython python.pkgs.six python.pkgs.requests ] ++ addonsDrvs; + pythonPath = + optionals (withScripting) [ + wxPython + python.pkgs.six + python.pkgs.requests + ] + ++ addonsDrvs; - nativeBuildInputs = [ makeWrapper ] - ++ optionals (withScripting) - [ python.pkgs.wrapPython ]; + nativeBuildInputs = [ makeWrapper ] ++ optionals (withScripting) [ python.pkgs.wrapPython ]; # KICAD7_TEMPLATE_DIR only works with a single path (it does not handle : separated paths) # but it's used to find both the templates and the symbol/footprint library tables @@ -194,70 +216,82 @@ stdenv.mkDerivation rec { ]; }; # We are emulating wrapGAppsHook3, along with other variables to the wrapper - makeWrapperArgs = with passthru.libraries; [ - "--prefix XDG_DATA_DIRS : ${base}/share" - "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" - "--prefix XDG_DATA_DIRS : ${adwaita-icon-theme}/share" - "--prefix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}" - "--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" - # wrapGAppsHook3 did these two as well, no idea if it matters... - "--prefix XDG_DATA_DIRS : ${cups}/share" - "--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules" - # required to open a bug report link in firefox-wayland - "--set-default MOZ_DBUS_REMOTE 1" - "--set-default KICAD8_FOOTPRINT_DIR ${footprints}/share/kicad/footprints" - "--set-default KICAD8_SYMBOL_DIR ${symbols}/share/kicad/symbols" - "--set-default KICAD8_TEMPLATE_DIR ${template_dir}" - ] - ++ optionals (addons != [ ]) ( - let stockDataPath = symlinkJoin { - name = "kicad_stock_data_path"; - paths = [ - "${base}/share/kicad" - "${addonsJoined}/share/kicad" - ]; - }; - in - [ "--set-default NIX_KICAD8_STOCK_DATA_PATH ${stockDataPath}" ] - ) - ++ optionals (with3d) - [ - "--set-default KICAD8_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels" - ] - ++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ] - - # infinisil's workaround for #39493 - ++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ] - ; + makeWrapperArgs = + with passthru.libraries; + [ + "--prefix XDG_DATA_DIRS : ${base}/share" + "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" + "--prefix XDG_DATA_DIRS : ${adwaita-icon-theme}/share" + "--prefix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}" + "--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" + # wrapGAppsHook3 did these two as well, no idea if it matters... + "--prefix XDG_DATA_DIRS : ${cups}/share" + "--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules" + # required to open a bug report link in firefox-wayland + "--set-default MOZ_DBUS_REMOTE 1" + "--set-default KICAD8_FOOTPRINT_DIR ${footprints}/share/kicad/footprints" + "--set-default KICAD8_SYMBOL_DIR ${symbols}/share/kicad/symbols" + "--set-default KICAD8_TEMPLATE_DIR ${template_dir}" + ] + ++ optionals (addons != [ ]) ( + let + stockDataPath = symlinkJoin { + name = "kicad_stock_data_path"; + paths = [ + "${base}/share/kicad" + "${addonsJoined}/share/kicad" + ]; + }; + in + [ "--set-default NIX_KICAD8_STOCK_DATA_PATH ${stockDataPath}" ] + ) + ++ optionals (with3d) [ + "--set-default KICAD8_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels" + ] + ++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ] + + # infinisil's workaround for #39493 + ++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]; # why does $makeWrapperArgs have to be added explicitly? # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set? installPhase = let bin = if stdenv.hostPlatform.isDarwin then "*.app/Contents/MacOS" else "bin"; - tools = [ "kicad" "pcbnew" "eeschema" "gerbview" "pcb_calculator" "pl_editor" "bitmap2component" ]; - utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad-cli" ]; + tools = [ + "kicad" + "pcbnew" + "eeschema" + "gerbview" + "pcb_calculator" + "pl_editor" + "bitmap2component" + ]; + utils = [ + "dxf2idf" + "idf2vrml" + "idfcyl" + "idfrect" + "kicad-cli" + ]; in - (concatStringsSep "\n" - (flatten [ - "runHook preInstall" + (concatStringsSep "\n" (flatten [ + "runHook preInstall" - (optionalString (withScripting) "buildPythonPath \"${base} $pythonPath\" \n") + (optionalString (withScripting) "buildPythonPath \"${base} $pythonPath\" \n") - # wrap each of the directly usable tools - (map - (tool: "makeWrapper ${base}/${bin}/${tool} $out/bin/${tool} $makeWrapperArgs" - + optionalString (withScripting) " --set PYTHONPATH \"$program_PYTHONPATH\"" - ) - tools) + # wrap each of the directly usable tools + (map ( + tool: + "makeWrapper ${base}/${bin}/${tool} $out/bin/${tool} $makeWrapperArgs" + + optionalString (withScripting) " --set PYTHONPATH \"$program_PYTHONPATH\"" + ) tools) - # link in the CLI utils - (map (util: "ln -s ${base}/${bin}/${util} $out/bin/${util}") utils) + # link in the CLI utils + (map (util: "ln -s ${base}/${bin}/${util} $out/bin/${util}") utils) - "runHook postInstall" - ]) - ) - ; + "runHook postInstall" + ])); postInstall = '' mkdir -p $out/share @@ -268,16 +302,24 @@ stdenv.mkDerivation rec { ''; passthru.updateScript = { - command = [ ./update.sh "${pname}" ]; + command = [ + ./update.sh + "${pname}" + ]; supportedFeatures = [ "commit" ]; }; meta = rec { - description = (if (stable) - then "Open Source Electronics Design Automation suite" - else if (testing) then "Open Source EDA suite, latest on stable branch" - else "Open Source EDA suite, latest on master branch") - + (lib.optionalString (!with3d) ", without 3D models"); + description = + ( + if (stable) then + "Open Source Electronics Design Automation suite" + else if (testing) then + "Open Source EDA suite, latest on stable branch" + else + "Open Source EDA suite, latest on master branch" + ) + + (lib.optionalString (!with3d) ", without 3D models"); homepage = "https://www.kicad.org/"; longDescription = '' KiCad is an open source software suite for Electronic Design Automation. diff --git a/pkgs/applications/science/electronics/kicad/libraries.nix b/pkgs/applications/science/electronics/kicad/libraries.nix index 4a3e40a3166d2..15c937671434a 100644 --- a/pkgs/applications/science/electronics/kicad/libraries.nix +++ b/pkgs/applications/science/electronics/kicad/libraries.nix @@ -1,19 +1,23 @@ -{ lib, stdenv -, cmake -, libSrc -, stepreduce -, parallel -, zip +{ + lib, + stdenv, + cmake, + libSrc, + stepreduce, + parallel, + zip, }: let - mkLib = name: + mkLib = + name: stdenv.mkDerivation { pname = "kicad-${name}"; version = builtins.substring 0 10 (libSrc name).rev; src = libSrc name; - nativeBuildInputs = [ cmake ] + nativeBuildInputs = + [ cmake ] ++ lib.optionals (name == "packages3d") [ stepreduce parallel diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix index 05d5e497541d6..ef645d36b079d 100644 --- a/pkgs/applications/science/electronics/librepcb/default.nix +++ b/pkgs/applications/science/electronics/librepcb/default.nix @@ -1,5 +1,15 @@ -{ stdenv, lib, fetchFromGitHub -, qtbase, qttools, qtsvg, qt5compat, opencascade-occt, libGLU, cmake, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + qtbase, + qttools, + qtsvg, + qt5compat, + opencascade-occt, + libGLU, + cmake, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -7,21 +17,32 @@ stdenv.mkDerivation rec { version = "1.2.0"; src = fetchFromGitHub { - owner = pname; - repo = pname; - rev = version; + owner = pname; + repo = pname; + rev = version; hash = "sha256-/Hw7ZTv2CbDcKuyI27wC46IxCcTnrXDS/Mf7csUTc7w="; fetchSubmodules = true; }; - nativeBuildInputs = [ cmake qttools qtsvg qt5compat wrapQtAppsHook opencascade-occt libGLU ]; + nativeBuildInputs = [ + cmake + qttools + qtsvg + qt5compat + wrapQtAppsHook + opencascade-occt + libGLU + ]; buildInputs = [ qtbase ]; meta = with lib; { description = "Free EDA software to develop printed circuit boards"; - homepage = "https://librepcb.org/"; - maintainers = with maintainers; [ luz thoughtpolice ]; - license = licenses.gpl3Plus; - platforms = platforms.linux; + homepage = "https://librepcb.org/"; + maintainers = with maintainers; [ + luz + thoughtpolice + ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/electronics/linux-gpib/common.nix b/pkgs/applications/science/electronics/linux-gpib/common.nix index e87751a188605..e121c6c005f09 100644 --- a/pkgs/applications/science/electronics/linux-gpib/common.nix +++ b/pkgs/applications/science/electronics/linux-gpib/common.nix @@ -1,4 +1,9 @@ -{ pname, fetchurl, lib }: rec { +{ + pname, + fetchurl, + lib, +}: +rec { version = "4.3.6"; inherit pname; diff --git a/pkgs/applications/science/electronics/linux-gpib/kernel.nix b/pkgs/applications/science/electronics/linux-gpib/kernel.nix index d64e2fc81fbdf..49d280757d142 100644 --- a/pkgs/applications/science/electronics/linux-gpib/kernel.nix +++ b/pkgs/applications/science/electronics/linux-gpib/kernel.nix @@ -1,23 +1,30 @@ -{ lib -, stdenv -, fetchurl -, kernel -, pahole +{ + lib, + stdenv, + fetchurl, + kernel, + pahole, }: -stdenv.mkDerivation (import ./common.nix { inherit fetchurl lib; pname = "linux-gpib-kernel"; } // { +stdenv.mkDerivation ( + import ./common.nix { + inherit fetchurl lib; + pname = "linux-gpib-kernel"; + } + // { - postPatch = '' - sed -i 's@/sbin/depmod -A@@g' Makefile - ''; + postPatch = '' + sed -i 's@/sbin/depmod -A@@g' Makefile + ''; - buildInputs = [ pahole ] ++ kernel.moduleBuildDependencies; + buildInputs = [ pahole ] ++ kernel.moduleBuildDependencies; - makeFlags = [ - "LINUX_SRCDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ]; + makeFlags = [ + "LINUX_SRCDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; - installFlags = [ - "INSTALL_MOD_PATH=$(out)" - ]; -}) + installFlags = [ + "INSTALL_MOD_PATH=$(out)" + ]; + } +) diff --git a/pkgs/applications/science/electronics/linux-gpib/user.nix b/pkgs/applications/science/electronics/linux-gpib/user.nix index f9c9a2e1e6cbc..f7cb2d7daea4e 100644 --- a/pkgs/applications/science/electronics/linux-gpib/user.nix +++ b/pkgs/applications/science/electronics/linux-gpib/user.nix @@ -1,25 +1,32 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, libtool -, bison -, flex -, automake +{ + lib, + stdenv, + fetchurl, + autoconf, + libtool, + bison, + flex, + automake, }: -stdenv.mkDerivation (import ./common.nix { inherit fetchurl lib; pname = "linux-gpib-user"; } // { +stdenv.mkDerivation ( + import ./common.nix { + inherit fetchurl lib; + pname = "linux-gpib-user"; + } + // { - nativeBuildInputs = [ - autoconf - libtool - bison - flex - automake - ]; + nativeBuildInputs = [ + autoconf + libtool + bison + flex + automake + ]; - configureFlags = [ - "--sysconfdir=$(out)/etc" - "--prefix=$(out)" - ]; -}) + configureFlags = [ + "--sysconfdir=$(out)/etc" + "--prefix=$(out)" + ]; + } +) diff --git a/pkgs/applications/science/electronics/openhantek6022/default.nix b/pkgs/applications/science/electronics/openhantek6022/default.nix index ca0c651fad278..5f3ce59053cee 100644 --- a/pkgs/applications/science/electronics/openhantek6022/default.nix +++ b/pkgs/applications/science/electronics/openhantek6022/default.nix @@ -1,4 +1,15 @@ -{ mkDerivation, lib, fetchFromGitHub, makeWrapper, cmake, qtbase, qttools, fftw, libusb1, libglvnd }: +{ + mkDerivation, + lib, + fetchFromGitHub, + makeWrapper, + cmake, + qtbase, + qttools, + fftw, + libusb1, + libglvnd, +}: mkDerivation rec { pname = "openhantek6022"; @@ -11,8 +22,17 @@ mkDerivation rec { sha256 = "sha256-y2pNLAa0P/r0YEdKjQ3iP66cqtTWERG8lTOZDR64WTk="; }; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ fftw libusb1 libglvnd qtbase qttools ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = [ + fftw + libusb1 + libglvnd + qtbase + qttools + ]; postPatch = '' # Fix up install paths & checks diff --git a/pkgs/applications/science/electronics/openroad/default.nix b/pkgs/applications/science/electronics/openroad/default.nix index 05e9e6eb64f1a..79890192ef1de 100644 --- a/pkgs/applications/science/electronics/openroad/default.nix +++ b/pkgs/applications/science/electronics/openroad/default.nix @@ -1,35 +1,36 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fetchpatch -, bison -, cmake -, doxygen -, flex -, git -, python3 -, swig -, boost179 -, cbc # for clp -, cimg -, clp # for or-tools -, eigen -, glpk -, lcov -, lemon-graph -, libjpeg -, or-tools -, pcre -, pkg-config -, qtbase -, re2 # for or-tools -, readline -, spdlog -, tcl -, tclPackages -, xorg -, yosys -, zlib +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + bison, + cmake, + doxygen, + flex, + git, + python3, + swig, + boost179, + cbc, # for clp + cimg, + clp, # for or-tools + eigen, + glpk, + lcov, + lemon-graph, + libjpeg, + or-tools, + pcre, + pkg-config, + qtbase, + re2, # for or-tools + readline, + spdlog, + tcl, + tclPackages, + xorg, + yosys, + zlib, }: mkDerivation rec { diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix index 3a40b107817db..2e59358072c71 100644 --- a/pkgs/applications/science/electronics/pulseview/default.nix +++ b/pkgs/applications/science/electronics/pulseview/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchgit -, pkg-config -, cmake -, glib -, boost -, libsigrok -, libsigrokdecode -, libserialport -, libzip -, libftdi1 -, hidapi -, glibmm -, pcre -, python3 -, qtsvg -, qttools -, bluez -, wrapQtAppsHook -, desktopToDarwinBundle +{ + lib, + stdenv, + fetchgit, + pkg-config, + cmake, + glib, + boost, + libsigrok, + libsigrokdecode, + libserialport, + libzip, + libftdi1, + hidapi, + glibmm, + pcre, + python3, + qtsvg, + qttools, + bluez, + wrapQtAppsHook, + desktopToDarwinBundle, }: stdenv.mkDerivation rec { @@ -58,7 +59,10 @@ stdenv.mkDerivation rec { mainProgram = "pulseview"; homepage = "https://sigrok.org/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ bjornfor vifino ]; + maintainers = with maintainers; [ + bjornfor + vifino + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix index 03883652e6378..c0119ebcd13cb 100644 --- a/pkgs/applications/science/electronics/tkgate/1.x.nix +++ b/pkgs/applications/science/electronics/tkgate/1.x.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchurl, tcl, tk, libX11, glibc, which, bison, flex, imake, xorgproto, gccmakedep }: +{ + lib, + stdenv, + fetchurl, + tcl, + tk, + libX11, + glibc, + which, + bison, + flex, + imake, + xorgproto, + gccmakedep, +}: let libiconvInc = lib.optionalString stdenv.hostPlatform.isLinux "${glibc.dev}/include"; @@ -13,8 +27,19 @@ stdenv.mkDerivation rec { sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs"; }; - nativeBuildInputs = [ which bison flex imake gccmakedep ]; - buildInputs = [ tcl tk libX11 xorgproto ]; + nativeBuildInputs = [ + which + bison + flex + imake + gccmakedep + ]; + buildInputs = [ + tcl + tk + libX11 + xorgproto + ]; dontUseImakeConfigure = true; patchPhase = '' diff --git a/pkgs/applications/science/electronics/xyce/default.nix b/pkgs/applications/science/electronics/xyce/default.nix index 56fc59c080994..6ad07b3f35cb6 100644 --- a/pkgs/applications/science/electronics/xyce/default.nix +++ b/pkgs/applications/science/electronics/xyce/default.nix @@ -1,30 +1,31 @@ -{ stdenv -, fetchFromGitHub -, fetchgit -, lib -, autoconf -, automake -, bison -, blas -, flex -, fftw -, gfortran -, lapack -, libtool_2 -, mpi -, suitesparse -, trilinos -, withMPI ? false +{ + stdenv, + fetchFromGitHub, + fetchgit, + lib, + autoconf, + automake, + bison, + blas, + flex, + fftw, + gfortran, + lapack, + libtool_2, + mpi, + suitesparse, + trilinos, + withMPI ? false, # for doc -, texliveMedium -, enableDocs ? true + texliveMedium, + enableDocs ? true, # for tests -, bash -, bc -, openssh # required by MPI -, perl -, python3 -, enableTests ? true + bash, + bc, + openssh, # required by MPI + perl, + python3, + enableTests ? true, }: assert withMPI -> trilinos.withMPI; @@ -52,44 +53,53 @@ stdenv.mkDerivation rec { pname = "xyce"; inherit version; - srcs = [ xyce_src regression_src ]; + srcs = [ + xyce_src + regression_src + ]; sourceRoot = xyce_src.name; preConfigure = "./bootstrap"; - configureFlags = [ - "CXXFLAGS=-O3" - "--enable-xyce-shareable" - "--enable-shared" - "--enable-stokhos" - "--enable-amesos2" - ] ++ lib.optionals withMPI [ - "--enable-mpi" - "CXX=mpicxx" - "CC=mpicc" - "F77=mpif77" - ]; + configureFlags = + [ + "CXXFLAGS=-O3" + "--enable-xyce-shareable" + "--enable-shared" + "--enable-stokhos" + "--enable-amesos2" + ] + ++ lib.optionals withMPI [ + "--enable-mpi" + "CXX=mpicxx" + "CC=mpicc" + "F77=mpif77" + ]; enableParallelBuilding = true; - nativeBuildInputs = [ - autoconf - automake - gfortran - libtool_2 - ] ++ lib.optionals enableDocs [ - (texliveMedium.withPackages (ps: with ps; [ - enumitem - koma-script - optional - framed - enumitem - multirow - newtx - preprint - ])) - ]; + nativeBuildInputs = + [ + autoconf + automake + gfortran + libtool_2 + ] + ++ lib.optionals enableDocs [ + (texliveMedium.withPackages ( + ps: with ps; [ + enumitem + koma-script + optional + framed + enumitem + multirow + newtx + preprint + ] + )) + ]; buildInputs = [ bison @@ -118,11 +128,21 @@ stdenv.mkDerivation rec { popd ''; - nativeCheckInputs = [ - bc - perl - (python3.withPackages (ps: with ps; [ numpy scipy ])) - ] ++ lib.optionals withMPI [ mpi openssh ]; + nativeCheckInputs = + [ + bc + perl + (python3.withPackages ( + ps: with ps; [ + numpy + scipy + ] + )) + ] + ++ lib.optionals withMPI [ + mpi + openssh + ]; checkPhase = '' XYCE_BINARY="$(pwd)/src/Xyce" @@ -147,7 +167,10 @@ stdenv.mkDerivation rec { "''${EXECSTRING}" ''; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; postInstall = lib.optionalString enableDocs '' local docFiles=("doc/Users_Guide/Xyce_UG" @@ -173,7 +196,8 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; + broken = + (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; description = "High-performance analog circuit simulator"; longDescription = '' Xyce is a SPICE-compatible, high-performance analog circuit simulator, diff --git a/pkgs/applications/science/geometry/tetgen/1.4.nix b/pkgs/applications/science/geometry/tetgen/1.4.nix index f67bf198443ab..ab70e9b77e90c 100644 --- a/pkgs/applications/science/geometry/tetgen/1.4.nix +++ b/pkgs/applications/science/geometry/tetgen/1.4.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tetgen"; diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix index e64941f4243ad..56b6bcbe92972 100644 --- a/pkgs/applications/science/geometry/tetgen/default.nix +++ b/pkgs/applications/science/geometry/tetgen/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "tetgen"; diff --git a/pkgs/applications/science/logic/abella/default.nix b/pkgs/applications/science/logic/abella/default.nix index 7878626d6e9a3..62da3a42e0672 100644 --- a/pkgs/applications/science/logic/abella/default.nix +++ b/pkgs/applications/science/logic/abella/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, rsync, ocamlPackages }: +{ + lib, + stdenv, + fetchurl, + rsync, + ocamlPackages, +}: stdenv.mkDerivation (finalAttrs: { pname = "abella"; @@ -11,8 +17,18 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ rsync ] ++ (with ocamlPackages; [ ocaml dune_3 menhir findlib ]); - buildInputs = with ocamlPackages; [ cmdliner yojson ]; + nativeBuildInputs = + [ rsync ] + ++ (with ocamlPackages; [ + ocaml + dune_3 + menhir + findlib + ]); + buildInputs = with ocamlPackages; [ + cmdliner + yojson + ]; installPhase = '' mkdir -p $out/bin @@ -36,7 +52,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://abella-prover.org"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ bcdarwin ciil ]; + maintainers = with lib.maintainers; [ + bcdarwin + ciil + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/applications/science/logic/avy/default.nix b/pkgs/applications/science/logic/avy/default.nix index 38fef51c56e6d..9edd9f27e5ac5 100644 --- a/pkgs/applications/science/logic/avy/default.nix +++ b/pkgs/applications/science/logic/avy/default.nix @@ -1,26 +1,39 @@ -{ lib, stdenv, fetchgit, cmake, zlib, boost }: +{ + lib, + stdenv, + fetchgit, + cmake, + zlib, + boost, +}: stdenv.mkDerivation rec { pname = "avy"; version = "2019.05.01"; # date of cav19 tag src = fetchgit { - url = "https://bitbucket.org/arieg/extavy"; - rev = "cav19"; + url = "https://bitbucket.org/arieg/extavy"; + rev = "cav19"; sha256 = "0qdzy9srxp5f38x4dbb3prnr9il6cy0kz80avrvd7fxqzy7wdlwy"; fetchSubmodules = true; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib boost.out boost.dev ]; - env.NIX_CFLAGS_COMPILE = toString ([ "-Wno-narrowing" ] + buildInputs = [ + zlib + boost.out + boost.dev + ]; + env.NIX_CFLAGS_COMPILE = toString ( + [ "-Wno-narrowing" ] # Squelch endless stream of warnings on same few things ++ lib.optionals stdenv.cc.isClang [ "-Wno-empty-body" "-Wno-tautological-compare" "-Wc++11-compat-deprecated-writable-strings" "-Wno-deprecated" - ]); + ] + ); prePatch = '' sed -i -e '1i#include ' abc/src/bdd/dsd/dsd.h @@ -39,9 +52,9 @@ stdenv.mkDerivation rec { meta = { description = "AIGER model checking for Property Directed Reachability"; - homepage = "https://arieg.bitbucket.io/avy/"; - license = lib.licenses.mit; + homepage = "https://arieg.bitbucket.io/avy/"; + license = lib.licenses.mit; maintainers = with lib.maintainers; [ thoughtpolice ]; - platforms = lib.platforms.linux; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/science/logic/cedille/default.nix b/pkgs/applications/science/logic/cedille/default.nix index 1ac3ff3fe310a..2e15890aa30cc 100644 --- a/pkgs/applications/science/logic/cedille/default.nix +++ b/pkgs/applications/science/logic/cedille/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, alex -, happy -, Agda -, buildPackages -, ghcWithPackages +{ + stdenv, + lib, + fetchFromGitHub, + alex, + happy, + Agda, + buildPackages, + ghcWithPackages, }: stdenv.mkDerivation rec { @@ -24,13 +25,19 @@ stdenv.mkDerivation rec { ./Fix-to-string.agda-to-compile-with-Agda-2.6.1.patch ]; - nativeBuildInputs = [ alex happy ]; - buildInputs = [ Agda (ghcWithPackages (ps: [ps.ieee])) ]; + nativeBuildInputs = [ + alex + happy + ]; + buildInputs = [ + Agda + (ghcWithPackages (ps: [ ps.ieee ])) + ]; LANG = "en_US.UTF-8"; - LOCALE_ARCHIVE = - lib.optionalString (stdenv.buildPlatform.libc == "glibc") - "${buildPackages.glibcLocales}/lib/locale/locale-archive"; + LOCALE_ARCHIVE = lib.optionalString ( + stdenv.buildPlatform.libc == "glibc" + ) "${buildPackages.glibcLocales}/lib/locale/locale-archive"; postPatch = '' patchShebangs create-libraries.sh diff --git a/pkgs/applications/science/logic/cubicle/default.nix b/pkgs/applications/science/logic/cubicle/default.nix index 2af9e6e926492..1aef01858dbc5 100644 --- a/pkgs/applications/science/logic/cubicle/default.nix +++ b/pkgs/applications/science/logic/cubicle/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, which -, ocamlPackages +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + which, + ocamlPackages, }: stdenv.mkDerivation rec { @@ -16,13 +17,15 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ - autoreconfHook - which - ] ++ (with ocamlPackages; [ - findlib - ocaml - ]); + nativeBuildInputs = + [ + autoreconfHook + which + ] + ++ (with ocamlPackages; [ + findlib + ocaml + ]); buildInputs = with ocamlPackages; [ functory diff --git a/pkgs/applications/science/logic/cvc3/default.nix b/pkgs/applications/science/logic/cvc3/default.nix index 8b78b86cbb073..6c0f500816cda 100644 --- a/pkgs/applications/science/logic/cvc3/default.nix +++ b/pkgs/applications/science/logic/cvc3/default.nix @@ -1,20 +1,36 @@ -{ lib, stdenv, fetchurl, flex, bison, gmp, perl }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + gmp, + perl, +}: stdenv.mkDerivation rec { - pname = "cvc3"; - version = "2.4.1"; + pname = "cvc3"; + version = "2.4.1"; - src = fetchurl { - url = "https://cs.nyu.edu/acsys/cvc3/releases/${version}/${pname}-${version}.tar.gz"; - sha256 = "1xxcwhz3y6djrycw8sm6xz83wb4hb12rd1n0skvc7fng0rh1snym"; - }; + src = fetchurl { + url = "https://cs.nyu.edu/acsys/cvc3/releases/${version}/${pname}-${version}.tar.gz"; + sha256 = "1xxcwhz3y6djrycw8sm6xz83wb4hb12rd1n0skvc7fng0rh1snym"; + }; - buildInputs = [ gmp flex bison perl ]; + buildInputs = [ + gmp + flex + bison + perl + ]; patches = [ ./cvc3-2.4.1-gccv6-fix.patch ]; # fails to configure on darwin due to gmp not found - configureFlags = [ "LIBS=-L${gmp}/lib" "CXXFLAGS=-I${gmp.dev}/include" ]; + configureFlags = [ + "LIBS=-L${gmp}/lib" + "CXXFLAGS=-I${gmp.dev}/include" + ]; postPatch = '' sed -e "s@ /bin/bash@bash@g" -i Makefile.std @@ -29,8 +45,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Prover for satisfiability modulo theory (SMT)"; mainProgram = "cvc3"; - maintainers = with maintainers; - [ raskin ]; + maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; license = licenses.free; homepage = "https://cs.nyu.edu/acsys/cvc3/index.html"; diff --git a/pkgs/applications/science/logic/easycrypt/default.nix b/pkgs/applications/science/logic/easycrypt/default.nix index faf3dc75167f1..3e7afa28ba335 100644 --- a/pkgs/applications/science/logic/easycrypt/default.nix +++ b/pkgs/applications/science/logic/easycrypt/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, darwin, fetchFromGitHub, ocamlPackages, why3, python3 }: +{ + lib, + stdenv, + darwin, + fetchFromGitHub, + ocamlPackages, + why3, + python3, +}: stdenv.mkDerivation rec { pname = "easycrypt"; @@ -11,13 +19,16 @@ stdenv.mkDerivation rec { hash = "sha256-ZGYklG1eXfytRKzFvRSB6jFrOCm1gjyG8W78eMve5Ng="; }; - nativeBuildInputs = with ocamlPackages; [ - dune_3 - findlib - menhir - ocaml - python3.pkgs.wrapPython - ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.sigtool; + nativeBuildInputs = + with ocamlPackages; + [ + dune_3 + findlib + menhir + ocaml + python3.pkgs.wrapPython + ] + ++ lib.optional stdenv.hostPlatform.isDarwin darwin.sigtool; buildInputs = with ocamlPackages; [ batteries diff --git a/pkgs/applications/science/logic/ekrhyper/default.nix b/pkgs/applications/science/logic/ekrhyper/default.nix index 4a5124b235823..d4daf57961f45 100644 --- a/pkgs/applications/science/logic/ekrhyper/default.nix +++ b/pkgs/applications/science/logic/ekrhyper/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, ocaml, perl }: +{ + lib, + stdenv, + fetchurl, + ocaml, + perl, +}: stdenv.mkDerivation rec { pname = "ekrhyper"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ ocaml perl ]; + nativeBuildInputs = [ + ocaml + perl + ]; setSourceRoot = "export sourceRoot=$(echo */ekrh/src)"; preInstall = "export INSTALLDIR=$out"; postInstall = ''for i in "$out/casc"/*; do ln -s "$i" "$out/bin/ekrh-casc-$(basename $i)"; done ''; diff --git a/pkgs/applications/science/logic/eprover/default.nix b/pkgs/applications/science/logic/eprover/default.nix index 85833940157f4..ffae8cc79e0f3 100644 --- a/pkgs/applications/science/logic/eprover/default.nix +++ b/pkgs/applications/science/logic/eprover/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, which, enableHO ? false }: +{ + lib, + stdenv, + fetchurl, + which, + enableHO ? false, +}: stdenv.mkDerivation rec { pname = "eprover"; @@ -14,18 +20,23 @@ stdenv.mkDerivation rec { preConfigure = '' sed -e 's/ *CC *= *gcc$//' -i Makefile.vars ''; - configureFlags = [ - "--exec-prefix=$(out)" - "--man-prefix=$(out)/share/man" - ] ++ lib.optionals enableHO [ - "--enable-ho" - ]; + configureFlags = + [ + "--exec-prefix=$(out)" + "--man-prefix=$(out)/share/man" + ] + ++ lib.optionals enableHO [ + "--enable-ho" + ]; meta = with lib; { description = "Automated theorem prover for full first-order logic with equality"; homepage = "http://www.eprover.org/"; license = licenses.gpl2; - maintainers = with maintainers; [ raskin gebner ]; + maintainers = with maintainers; [ + raskin + gebner + ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix index a2392ef398610..69f5f24f229ee 100644 --- a/pkgs/applications/science/logic/glucose/default.nix +++ b/pkgs/applications/science/logic/glucose/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, unzip -, zlib -, enableUnfree ? false +{ + lib, + stdenv, + fetchurl, + unzip, + zlib, + enableUnfree ? false, }: stdenv.mkDerivation rec { @@ -39,7 +40,9 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Modern, parallel SAT solver (${if enableUnfree then "parallel" else "sequential"} version)"; + description = "Modern, parallel SAT solver (${ + if enableUnfree then "parallel" else "sequential" + } version)"; mainProgram = "glucose"; homepage = "https://www.labri.fr/perso/lsimon/research/glucose/"; license = if enableUnfree then licenses.unfreeRedistributable else licenses.mit; diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix index 59389f11a2828..92c6456b39185 100644 --- a/pkgs/applications/science/logic/hol_light/default.nix +++ b/pkgs/applications/science/logic/hol_light/default.nix @@ -1,29 +1,42 @@ -{ lib, stdenv, runtimeShell, fetchFromGitHub, ocaml, findlib, num, zarith, camlp5, camlp-streams }: +{ + lib, + stdenv, + runtimeShell, + fetchFromGitHub, + ocaml, + findlib, + num, + zarith, + camlp5, + camlp-streams, +}: let use_zarith = lib.versionAtLeast ocaml.version "4.14"; load_num = - if use_zarith then '' - -I ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith \ - -I ${zarith}/lib/ocaml/${ocaml.version}/site-lib/stublibs \ - '' else lib.optionalString (num != null) '' - -I ${num}/lib/ocaml/${ocaml.version}/site-lib/num \ - -I ${num}/lib/ocaml/${ocaml.version}/site-lib/top-num \ - -I ${num}/lib/ocaml/${ocaml.version}/site-lib/stublibs \ - ''; + if use_zarith then + '' + -I ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith \ + -I ${zarith}/lib/ocaml/${ocaml.version}/site-lib/stublibs \ + '' + else + lib.optionalString (num != null) '' + -I ${num}/lib/ocaml/${ocaml.version}/site-lib/num \ + -I ${num}/lib/ocaml/${ocaml.version}/site-lib/top-num \ + -I ${num}/lib/ocaml/${ocaml.version}/site-lib/stublibs \ + ''; - start_script = - '' - #!${runtimeShell} - cd $out/lib/hol_light - export OCAMLPATH="''${OCAMLPATH-}''${OCAMLPATH:+:}${camlp5}/lib/ocaml/${ocaml.version}/site-lib/" - exec ${ocaml}/bin/ocaml \ - -I \`${camlp5}/bin/camlp5 -where\` \ - ${load_num} \ - -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ \ - -I ${camlp-streams}/lib/ocaml/${ocaml.version}/site-lib/camlp-streams camlp_streams.cma \ - -init make.ml - ''; + start_script = '' + #!${runtimeShell} + cd $out/lib/hol_light + export OCAMLPATH="''${OCAMLPATH-}''${OCAMLPATH:+:}${camlp5}/lib/ocaml/${ocaml.version}/site-lib/" + exec ${ocaml}/bin/ocaml \ + -I \`${camlp5}/bin/camlp5 -where\` \ + ${load_num} \ + -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ \ + -I ${camlp-streams}/lib/ocaml/${ocaml.version}/site-lib/camlp-streams camlp_streams.cma \ + -init make.ml + ''; in stdenv.mkDerivation { @@ -41,7 +54,11 @@ stdenv.mkDerivation { strictDeps = true; - nativeBuildInputs = [ ocaml findlib camlp5 ]; + nativeBuildInputs = [ + ocaml + findlib + camlp5 + ]; propagatedBuildInputs = [ camlp-streams (if use_zarith then zarith else num) @@ -59,6 +76,10 @@ stdenv.mkDerivation { homepage = "http://www.cl.cam.ac.uk/~jrh13/hol-light/"; license = licenses.bsd2; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice maggesi vbgl ]; + maintainers = with maintainers; [ + thoughtpolice + maggesi + vbgl + ]; }; } diff --git a/pkgs/applications/science/logic/klee/default.nix b/pkgs/applications/science/logic/klee/default.nix index fb02c6d40b9dc..54c9cdc30c806 100644 --- a/pkgs/applications/science/logic/klee/default.nix +++ b/pkgs/applications/science/logic/klee/default.nix @@ -1,39 +1,40 @@ -{ lib -, llvmPackages -, callPackage -, fetchFromGitHub -, cmake -, python3 -, z3 -, stp -, cryptominisat -, gperftools -, sqlite -, gtest -, lit -, nix-update-script - -# Build KLEE in debug mode. Defaults to false. -, debug ? false - -# Include debug info in the build. Defaults to true. -, includeDebugInfo ? true - -# Enable KLEE asserts. Defaults to true, since LLVM is built with them. -, asserts ? true - -# Build the KLEE runtime in debug mode. Defaults to true, as this improves -# stack traces of the software under test. -, debugRuntime ? true - -# Enable runtime asserts. Default false. -, runtimeAsserts ? false - -# Klee uclibc. Defaults to the bundled version. -, kleeuClibc ? null - -# Extra klee-uclibc config for the default klee-uclibc. -, extraKleeuClibcConfig ? {} +{ + lib, + llvmPackages, + callPackage, + fetchFromGitHub, + cmake, + python3, + z3, + stp, + cryptominisat, + gperftools, + sqlite, + gtest, + lit, + nix-update-script, + + # Build KLEE in debug mode. Defaults to false. + debug ? false, + + # Include debug info in the build. Defaults to true. + includeDebugInfo ? true, + + # Enable KLEE asserts. Defaults to true, since LLVM is built with them. + asserts ? true, + + # Build the KLEE runtime in debug mode. Defaults to true, as this improves + # stack traces of the software under test. + debugRuntime ? true, + + # Enable runtime asserts. Default false. + runtimeAsserts ? false, + + # Klee uclibc. Defaults to the bundled version. + kleeuClibc ? null, + + # Extra klee-uclibc config for the default klee-uclibc. + extraKleeuClibcConfig ? { }, }: # Klee supports these LLVM versions. @@ -88,27 +89,35 @@ llvmPackages.stdenv.mkDerivation rec { (lit.override { python = kleePython; }) ]; - cmakeBuildType = if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel"; - - cmakeFlags = let - onOff = val: if val then "ON" else "OFF"; - in [ - "-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}" - "-DLLVMCC=${llvmPackages.clang}/bin/clang" - "-DLLVMCXX=${llvmPackages.clang}/bin/clang++" - "-DKLEE_ENABLE_TIMESTAMP=${onOff false}" - "-DKLEE_UCLIBC_PATH=${chosenKleeuClibc}" - "-DENABLE_KLEE_ASSERTS=${onOff asserts}" - "-DENABLE_POSIX_RUNTIME=${onOff true}" - "-DENABLE_UNIT_TESTS=${onOff true}" - "-DENABLE_SYSTEM_TESTS=${onOff true}" - "-DGTEST_SRC_DIR=${gtest.src}" - "-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include" - "-Wno-dev" - ]; + cmakeBuildType = + if debug then + "Debug" + else if !debug && includeDebugInfo then + "RelWithDebInfo" + else + "MinSizeRel"; + + cmakeFlags = + let + onOff = val: if val then "ON" else "OFF"; + in + [ + "-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}" + "-DLLVMCC=${llvmPackages.clang}/bin/clang" + "-DLLVMCXX=${llvmPackages.clang}/bin/clang++" + "-DKLEE_ENABLE_TIMESTAMP=${onOff false}" + "-DKLEE_UCLIBC_PATH=${chosenKleeuClibc}" + "-DENABLE_KLEE_ASSERTS=${onOff asserts}" + "-DENABLE_POSIX_RUNTIME=${onOff true}" + "-DENABLE_UNIT_TESTS=${onOff true}" + "-DENABLE_SYSTEM_TESTS=${onOff true}" + "-DGTEST_SRC_DIR=${gtest.src}" + "-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include" + "-Wno-dev" + ]; # Silence various warnings during the compilation of fortified bitcode. - env.NIX_CFLAGS_COMPILE = toString ["-Wno-macro-redefined"]; + env.NIX_CFLAGS_COMPILE = toString [ "-Wno-macro-redefined" ]; prePatch = '' patchShebangs --build . @@ -122,7 +131,10 @@ llvmPackages.stdenv.mkDerivation rec { passthru = { updateScript = nix-update-script { - extraArgs = [ "--version-regex" "v(\d\.\d)" ]; + extraArgs = [ + "--version-regex" + "v(\d\.\d)" + ]; }; # Let the user access the chosen uClibc outside the derivation. uclibc = chosenKleeuClibc; diff --git a/pkgs/applications/science/logic/klee/klee-uclibc.nix b/pkgs/applications/science/logic/klee/klee-uclibc.nix index c87a881e75336..61cb5892edd5f 100644 --- a/pkgs/applications/science/logic/klee/klee-uclibc.nix +++ b/pkgs/applications/science/logic/klee/klee-uclibc.nix @@ -1,15 +1,16 @@ -{ lib -, llvmPackages -, fetchurl -, fetchFromGitHub -, linuxHeaders -, python3 -, curl -, which -, nix-update-script -, debugRuntime ? true -, runtimeAsserts ? false -, extraKleeuClibcConfig ? {} +{ + lib, + llvmPackages, + fetchurl, + fetchFromGitHub, + linuxHeaders, + python3, + curl, + which, + nix-update-script, + debugRuntime ? true, + runtimeAsserts ? false, + extraKleeuClibcConfig ? { }, }: let @@ -18,11 +19,14 @@ let url = "http://www.uclibc.org/downloads/${localeSrcBase}"; sha256 = "xDYr4xijjxjZjcz0YtItlbq5LwVUi7k/ZSmP6a+uvVc="; }; - resolvedExtraKleeuClibcConfig = lib.mapAttrsToList (name: value: "${name}=${value}") (extraKleeuClibcConfig // { - "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" = "n"; - "RUNTIME_PREFIX" = "/"; - "DEVEL_PREFIX" = "/"; - }); + resolvedExtraKleeuClibcConfig = lib.mapAttrsToList (name: value: "${name}=${value}") ( + extraKleeuClibcConfig + // { + "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" = "n"; + "RUNTIME_PREFIX" = "/"; + "DEVEL_PREFIX" = "/"; + } + ); in llvmPackages.stdenv.mkDerivation rec { pname = "klee-uclibc"; @@ -56,11 +60,13 @@ llvmPackages.stdenv.mkDerivation rec { # klee-uclibc configure does not support --prefix, so we override configurePhase entirely configurePhase = '' - ./configure ${lib.escapeShellArgs ( - ["--make-llvm-lib"] - ++ lib.optional (!debugRuntime) "--enable-release" - ++ lib.optional runtimeAsserts "--enable-assertions" - )} + ./configure ${ + lib.escapeShellArgs ( + [ "--make-llvm-lib" ] + ++ lib.optional (!debugRuntime) "--enable-release" + ++ lib.optional runtimeAsserts "--enable-assertions" + ) + } # Set all the configs we care about. configs=( @@ -86,12 +92,15 @@ llvmPackages.stdenv.mkDerivation rec { ln -sf ${localeSrc} extra/locale/${localeSrcBase} ''; - makeFlags = ["HAVE_DOT_CONFIG=y"]; + makeFlags = [ "HAVE_DOT_CONFIG=y" ]; enableParallelBuilding = true; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "v(\d\.\d)" ]; + extraArgs = [ + "--version-regex" + "v(\d\.\d)" + ]; }; meta = with lib; { diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix index 7fdc37c4db4e3..d26b2f06a97b8 100644 --- a/pkgs/applications/science/logic/leo2/default.nix +++ b/pkgs/applications/science/logic/leo2/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, eprover, ocaml, camlp4, perl, zlib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + makeWrapper, + eprover, + ocaml, + camlp4, + perl, + zlib, +}: stdenv.mkDerivation rec { pname = "leo2"; @@ -11,10 +22,17 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ makeWrapper eprover ocaml camlp4 perl ]; + nativeBuildInputs = [ + makeWrapper + eprover + ocaml + camlp4 + perl + ]; buildInputs = [ zlib ]; - patches = [ (fetchpatch { + patches = [ + (fetchpatch { url = "https://github.com/niklasso/minisat/commit/7eb6015313561a2586032574788fcb133eeaa19f.patch"; stripLen = 1; extraPrefix = "lib/"; diff --git a/pkgs/applications/science/logic/leo3/binary.nix b/pkgs/applications/science/logic/leo3/binary.nix index e8af3fdaab1a3..cf0c9ba0806e3 100644 --- a/pkgs/applications/science/logic/leo3/binary.nix +++ b/pkgs/applications/science/logic/leo3/binary.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, openjdk, runtimeShell}: +{ + lib, + stdenv, + fetchurl, + openjdk, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "leo3"; version = "1.2"; @@ -23,7 +29,7 @@ stdenv.mkDerivation rec { mainProgram = "leo3"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.bsd3; - maintainers = [maintainers.raskin]; + maintainers = [ maintainers.raskin ]; platforms = platforms.linux; homepage = "https://page.mi.fu-berlin.de/lex/leo3/"; }; diff --git a/pkgs/applications/science/logic/potassco/clingcon.nix b/pkgs/applications/science/logic/potassco/clingcon.nix index 957ebfd3ec43f..33521fc0248dd 100644 --- a/pkgs/applications/science/logic/potassco/clingcon.nix +++ b/pkgs/applications/science/logic/potassco/clingcon.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, clingo -, catch2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + clingo, + catch2, }: stdenv.mkDerivation rec { @@ -14,13 +16,16 @@ stdenv.mkDerivation rec { repo = pname; rev = "v${version}"; sha256 = "sha256-R2kgcw8VUwhOdvPXnsahT5gnoUd5DXLqfdH++8rFoAA="; - }; + }; postPatch = '' cp ${catch2}/include/catch2/catch.hpp libclingcon/tests/catch.hpp ''; - nativeBuildInputs = [ cmake clingo ]; + nativeBuildInputs = [ + cmake + clingo + ]; cmakeFlags = [ "-DCLINGCON_MANAGE_RPATH=ON" diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix index ad3af12429a29..a37d64e943b16 100644 --- a/pkgs/applications/science/logic/potassco/clingo.nix +++ b/pkgs/applications/science/logic/potassco/clingo.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "clingo"; @@ -18,7 +23,7 @@ stdenv.mkDerivation rec { meta = { description = "ASP system to ground and solve logic programs"; license = lib.licenses.mit; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "https://potassco.org/"; downloadPage = "https://github.com/potassco/clingo/releases/"; diff --git a/pkgs/applications/science/logic/prooftree/default.nix b/pkgs/applications/science/logic/prooftree/default.nix index bb20477fd1788..5f09e6d23d207 100644 --- a/pkgs/applications/science/logic/prooftree/default.nix +++ b/pkgs/applications/science/logic/prooftree/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, ncurses, ocamlPackages }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + ncurses, + ocamlPackages, +}: stdenv.mkDerivation rec { pname = "prooftree"; @@ -11,7 +18,13 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ pkg-config ] ++ (with ocamlPackages; [ ocaml findlib camlp5 ]); + nativeBuildInputs = + [ pkg-config ] + ++ (with ocamlPackages; [ + ocaml + findlib + camlp5 + ]); buildInputs = [ ncurses ] ++ (with ocamlPackages; [ lablgtk ]); prefixKey = "--prefix "; diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix index 0f7d05a8823ee..ff1bb99dac34b 100644 --- a/pkgs/applications/science/logic/satallax/default.nix +++ b/pkgs/applications/science/logic/satallax/default.nix @@ -1,11 +1,27 @@ -{ lib, stdenv, fetchurl, ocaml, zlib, which, eprover, makeWrapper, coq }: +{ + lib, + stdenv, + fetchurl, + ocaml, + zlib, + which, + eprover, + makeWrapper, + coq, +}: stdenv.mkDerivation rec { pname = "satallax"; version = "2.7"; strictDeps = true; - nativeBuildInputs = [ makeWrapper ocaml which eprover coq ]; + nativeBuildInputs = [ + makeWrapper + ocaml + which + eprover + coq + ]; buildInputs = [ zlib ]; src = fetchurl { @@ -55,7 +71,12 @@ stdenv.mkDerivation rec { mkdir -p "$out/share/doc/satallax" "$out/bin" "$out/lib" "$out/lib/satallax" cp bin/satallax.opt "$out/bin/satallax" wrapProgram "$out/bin/satallax" \ - --suffix PATH : "${lib.makeBinPath [ coq eprover ]}:$out/libexec/satallax" \ + --suffix PATH : "${ + lib.makeBinPath [ + coq + eprover + ] + }:$out/libexec/satallax" \ --add-flags "-M" --add-flags "$out/lib/satallax/modes" cp LICENSE README "$out/share/doc/satallax" diff --git a/pkgs/applications/science/logic/spass/default.nix b/pkgs/applications/science/logic/spass/default.nix index 77b297b4fbbbd..fff6a6b0858be 100644 --- a/pkgs/applications/science/logic/spass/default.nix +++ b/pkgs/applications/science/logic/spass/default.nix @@ -1,10 +1,17 @@ -{ lib, stdenv, fetchurl, bison, flex }: +{ + lib, + stdenv, + fetchurl, + bison, + flex, +}: let - baseVersion="3"; - minorVersion="9"; + baseVersion = "3"; + minorVersion = "9"; - extraTools = "FLOTTER prolog2dfg dfg2otter dfg2dimacs dfg2tptp" + extraTools = + "FLOTTER prolog2dfg dfg2otter dfg2dimacs dfg2tptp" + " dfg2ascii dfg2dfg tptp2dfg dimacs2dfg pgen rescmp"; in @@ -19,7 +26,10 @@ stdenv.mkDerivation { sourceRoot = "."; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; buildPhase = '' make RM="rm -f" proparser.c ${extraTools} opt @@ -31,8 +41,7 @@ stdenv.mkDerivation { meta = with lib; { description = "Automated theorem prover for first-order logic"; - maintainers = with maintainers; - [ + maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; diff --git a/pkgs/applications/science/logic/statverif/default.nix b/pkgs/applications/science/logic/statverif/default.nix index 1f62389775517..6e6090ffaa145 100644 --- a/pkgs/applications/science/logic/statverif/default.nix +++ b/pkgs/applications/science/logic/statverif/default.nix @@ -1,16 +1,21 @@ -{ lib, stdenv, fetchurl, ocaml }: +{ + lib, + stdenv, + fetchurl, + ocaml, +}: stdenv.mkDerivation rec { pname = "statverif"; version = "1.86pl4"; src = fetchurl { - url = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif${version}.tar.gz"; + url = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif${version}.tar.gz"; sha256 = "163vdcixs764jj8xa08w80qm4kcijf7xj911yp8jvz6pi1q5g13i"; }; pf-patch = fetchurl { - url = "http://markryan.eu/research/statverif/files/proverif-${version}-statverif-2657ab4.patch"; + url = "http://markryan.eu/research/statverif/files/proverif-${version}-statverif-2657ab4.patch"; sha256 = "113jjhi1qkcggbsmbw8fa9ln8vs7vy2r288szks7rn0jjn0wxmbw"; }; @@ -28,9 +33,9 @@ stdenv.mkDerivation rec { meta = { description = "Verification of stateful processes (via Proverif)"; - homepage = "https://markryan.eu/research/statverif/"; - license = lib.licenses.gpl2; - platforms = lib.platforms.unix; + homepage = "https://markryan.eu/research/statverif/"; + license = lib.licenses.gpl2; + platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/applications/science/logic/tamarin-prover/default.nix b/pkgs/applications/science/logic/tamarin-prover/default.nix index 698b4ddc47da5..2dac1f012c9e6 100644 --- a/pkgs/applications/science/logic/tamarin-prover/default.nix +++ b/pkgs/applications/science/logic/tamarin-prover/default.nix @@ -1,25 +1,33 @@ -{ haskellPackages, mkDerivation, fetchFromGitHub, lib, stdenv -# the following are non-haskell dependencies -, makeWrapper, which, maude, graphviz, glibcLocales +{ + haskellPackages, + mkDerivation, + fetchFromGitHub, + lib, + stdenv, + # the following are non-haskell dependencies + makeWrapper, + which, + maude, + graphviz, + glibcLocales, }: let version = "1.10.0"; src = fetchFromGitHub { owner = "tamarin-prover"; - repo = "tamarin-prover"; - rev = version; - hash = "sha256-v1BruU2p/Sg/g7b9a+QRza46bD7PkMtsGq82qFaNhpI="; + repo = "tamarin-prover"; + rev = version; + hash = "sha256-v1BruU2p/Sg/g7b9a+QRza46bD7PkMtsGq82qFaNhpI="; }; - # tamarin has its own dependencies, but they're kept inside the repo, # no submodules. this factors out the common metadata among all derivations common = pname: src: { inherit pname version src; - license = lib.licenses.gpl3; - homepage = "https://tamarin-prover.github.io"; + license = lib.licenses.gpl3; + homepage = "https://tamarin-prover.github.io"; description = "Security protocol verification in the symbolic model"; maintainers = [ lib.maintainers.thoughtpolice ]; hydraPlatforms = lib.platforms.linux; # maude is broken on darwin @@ -32,99 +40,174 @@ let cp --remove-destination ${src}/Setup.hs .; ''; - tamarin-prover-utils = mkDerivation (common "tamarin-prover-utils" (src + "/lib/utils") // { - postPatch = replaceSymlinks; - libraryHaskellDepends = with haskellPackages; [ - base64-bytestring blaze-builder list-t - dlist exceptions fclabels haskellPackages.graphviz safe SHA split syb - ]; - }); - - tamarin-prover-term = mkDerivation (common "tamarin-prover-term" (src + "/lib/term") // { - postPatch = replaceSymlinks; - libraryHaskellDepends = (with haskellPackages; [ - attoparsec HUnit - ]) ++ [ tamarin-prover-utils ]; - }); - - tamarin-prover-theory = mkDerivation (common "tamarin-prover-theory" (src + "/lib/theory") // { - postPatch = replaceSymlinks; - doHaddock = false; # broken - libraryHaskellDepends = (with haskellPackages; [ - aeson aeson-pretty parallel uniplate - regex-pcre-builtin regex-posix split - ]) ++ [ tamarin-prover-utils tamarin-prover-term ]; - }); - - tamarin-prover-sapic = mkDerivation (common "tamarin-prover-sapic" (src + "/lib/sapic") // { - postPatch = "cp --remove-destination ${src}/LICENSE ."; - doHaddock = false; # broken - libraryHaskellDepends = (with haskellPackages; [ - raw-strings-qq - ]) ++ [ tamarin-prover-theory ]; - }); - - tamarin-prover-accountability = mkDerivation (common "tamarin-prover-accountability" (src + "/lib/accountability") // { - postPatch = "cp --remove-destination ${src}/LICENSE ."; - doHaddock = false; # broken - libraryHaskellDepends = (with haskellPackages; [ - raw-strings-qq - ]) ++ [ - tamarin-prover-utils - tamarin-prover-term - tamarin-prover-theory - ]; - }); - - tamarin-prover-export = mkDerivation (common "tamarin-prover-export" (src + "/lib/export") // { - postPatch = "cp --remove-destination ${src}/LICENSE ."; - doHaddock = false; # broken - libraryHaskellDepends = [ - tamarin-prover-utils - tamarin-prover-term - tamarin-prover-theory - tamarin-prover-sapic - ]; - }); - -in -mkDerivation (common "tamarin-prover" src // { - isLibrary = false; - isExecutable = true; - - # strip out unneeded deps manually - doHaddock = false; - enableSharedExecutables = false; - postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc"; - - # wrap the prover to be sure it can find maude, sapic, etc - executableToolDepends = [ makeWrapper which maude graphviz ]; - postInstall = '' - wrapProgram $out/bin/tamarin-prover \ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - --set LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive" \ - '' + '' - --prefix PATH : ${lib.makeBinPath [ which maude graphviz ]} - # so that the package can be used as a vim plugin to install syntax coloration - install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim - install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim - mkdir -p $out/share/nvim - ln -s $out/share/vim-plugins/tamarin-prover $out/share/nvim/site - # Emacs SPTHY major mode - install -Dt $out/share/emacs/site-lisp etc/spthy-mode.el - ''; - - checkPhase = "./dist/build/tamarin-prover/tamarin-prover test"; - - executableHaskellDepends = (with haskellPackages; [ - binary-instances binary-orphans blaze-html conduit file-embed - gitrev http-types - resourcet shakespeare threads wai warp yesod-core yesod-static - ]) ++ [ tamarin-prover-utils - tamarin-prover-sapic - tamarin-prover-accountability - tamarin-prover-export + tamarin-prover-utils = mkDerivation ( + common "tamarin-prover-utils" (src + "/lib/utils") + // { + postPatch = replaceSymlinks; + libraryHaskellDepends = with haskellPackages; [ + base64-bytestring + blaze-builder + list-t + dlist + exceptions + fclabels + haskellPackages.graphviz + safe + SHA + split + syb + ]; + } + ); + + tamarin-prover-term = mkDerivation ( + common "tamarin-prover-term" (src + "/lib/term") + // { + postPatch = replaceSymlinks; + libraryHaskellDepends = + (with haskellPackages; [ + attoparsec + HUnit + ]) + ++ [ tamarin-prover-utils ]; + } + ); + + tamarin-prover-theory = mkDerivation ( + common "tamarin-prover-theory" (src + "/lib/theory") + // { + postPatch = replaceSymlinks; + doHaddock = false; # broken + libraryHaskellDepends = + (with haskellPackages; [ + aeson + aeson-pretty + parallel + uniplate + regex-pcre-builtin + regex-posix + split + ]) + ++ [ + tamarin-prover-utils + tamarin-prover-term + ]; + } + ); + + tamarin-prover-sapic = mkDerivation ( + common "tamarin-prover-sapic" (src + "/lib/sapic") + // { + postPatch = "cp --remove-destination ${src}/LICENSE ."; + doHaddock = false; # broken + libraryHaskellDepends = + (with haskellPackages; [ + raw-strings-qq + ]) + ++ [ tamarin-prover-theory ]; + } + ); + + tamarin-prover-accountability = mkDerivation ( + common "tamarin-prover-accountability" (src + "/lib/accountability") + // { + postPatch = "cp --remove-destination ${src}/LICENSE ."; + doHaddock = false; # broken + libraryHaskellDepends = + (with haskellPackages; [ + raw-strings-qq + ]) + ++ [ + tamarin-prover-utils tamarin-prover-term tamarin-prover-theory ]; -}) + } + ); + + tamarin-prover-export = mkDerivation ( + common "tamarin-prover-export" (src + "/lib/export") + // { + postPatch = "cp --remove-destination ${src}/LICENSE ."; + doHaddock = false; # broken + libraryHaskellDepends = [ + tamarin-prover-utils + tamarin-prover-term + tamarin-prover-theory + tamarin-prover-sapic + ]; + } + ); + +in +mkDerivation ( + common "tamarin-prover" src + // { + isLibrary = false; + isExecutable = true; + + # strip out unneeded deps manually + doHaddock = false; + enableSharedExecutables = false; + postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc"; + + # wrap the prover to be sure it can find maude, sapic, etc + executableToolDepends = [ + makeWrapper + which + maude + graphviz + ]; + postInstall = + '' + wrapProgram $out/bin/tamarin-prover \ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + --set LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive" \ + '' + + '' + --prefix PATH : ${ + lib.makeBinPath [ + which + maude + graphviz + ] + } + # so that the package can be used as a vim plugin to install syntax coloration + install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim + install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim + mkdir -p $out/share/nvim + ln -s $out/share/vim-plugins/tamarin-prover $out/share/nvim/site + # Emacs SPTHY major mode + install -Dt $out/share/emacs/site-lisp etc/spthy-mode.el + ''; + + checkPhase = "./dist/build/tamarin-prover/tamarin-prover test"; + + executableHaskellDepends = + (with haskellPackages; [ + binary-instances + binary-orphans + blaze-html + conduit + file-embed + gitrev + http-types + resourcet + shakespeare + threads + wai + warp + yesod-core + yesod-static + ]) + ++ [ + tamarin-prover-utils + tamarin-prover-sapic + tamarin-prover-accountability + tamarin-prover-export + tamarin-prover-term + tamarin-prover-theory + ]; + } +) diff --git a/pkgs/applications/science/logic/tlaplus/default.nix b/pkgs/applications/science/logic/tlaplus/default.nix index f53da73e1e632..183bb80ece9d2 100644 --- a/pkgs/applications/science/logic/tlaplus/default.nix +++ b/pkgs/applications/science/logic/tlaplus/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "tlaplus"; @@ -28,10 +34,14 @@ stdenv.mkDerivation rec { meta = { description = "Algorithm specification language with model checking tools"; - homepage = "http://lamport.azurewebsites.net/tla/tla.html"; + homepage = "http://lamport.azurewebsites.net/tla/tla.html"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ florentc thoughtpolice mgregson ]; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + florentc + thoughtpolice + mgregson + ]; }; } diff --git a/pkgs/applications/science/logic/tlaplus/tlaplus18.nix b/pkgs/applications/science/logic/tlaplus/tlaplus18.nix index 2bd0f4b835647..639a0513f1d58 100644 --- a/pkgs/applications/science/logic/tlaplus/tlaplus18.nix +++ b/pkgs/applications/science/logic/tlaplus/tlaplus18.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "tlaplus"; @@ -30,10 +36,14 @@ stdenv.mkDerivation rec { meta = { description = "Algorithm specification language with model checking tools"; - homepage = "http://lamport.azurewebsites.net/tla/tla.html"; + homepage = "http://lamport.azurewebsites.net/tla/tla.html"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ florentc thoughtpolice mgregson ]; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + florentc + thoughtpolice + mgregson + ]; }; } diff --git a/pkgs/applications/science/logic/tlaplus/tlaps.nix b/pkgs/applications/science/logic/tlaplus/tlaps.nix index 59afbc094e40d..fd5f62b5177ac 100644 --- a/pkgs/applications/science/logic/tlaplus/tlaps.nix +++ b/pkgs/applications/science/logic/tlaplus/tlaps.nix @@ -1,12 +1,13 @@ -{ fetchurl -, lib -, stdenv -, ocaml -, isabelle -, cvc3 -, perl -, wget -, which +{ + fetchurl, + lib, + stdenv, + ocaml, + isabelle, + cvc3, + perl, + wget, + which, }: stdenv.mkDerivation rec { @@ -19,7 +20,14 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ ocaml isabelle cvc3 perl wget which ]; + nativeBuildInputs = [ + ocaml + isabelle + cvc3 + perl + wget + which + ]; installPhase = '' mkdir -pv "$out" diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix index 1d5cfa5c5d93c..15e9e1857a147 100644 --- a/pkgs/applications/science/logic/tlaplus/toolbox.nix +++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix @@ -1,13 +1,14 @@ -{ lib -, fetchzip -, makeShellWrapper -, makeDesktopItem -, stdenv -, gtk3 -, libXtst -, glib -, zlib -, wrapGAppsHook3 +{ + lib, + fetchzip, + makeShellWrapper, + makeDesktopItem, + stdenv, + gtk3, + libXtst, + glib, + zlib, + wrapGAppsHook3, }: let @@ -22,7 +23,6 @@ let startupWMClass = "TLA+ Toolbox"; }; - in stdenv.mkDerivation rec { pname = "tla-toolbox"; @@ -67,7 +67,14 @@ stdenv.mkDerivation rec { makeShellWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \ --chdir "$out/toolbox" \ --add-flags "-data ~/.tla-toolbox" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst glib zlib ]}" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + gtk3 + libXtst + glib + zlib + ] + }" \ "''${gappsWrapperArgs[@]}" echo -e "\nCreating TLA Toolbox icons..." diff --git a/pkgs/applications/science/logic/vampire/default.nix b/pkgs/applications/science/logic/vampire/default.nix index e86f22613ad47..65ec0b8d97211 100644 --- a/pkgs/applications/science/logic/vampire/default.nix +++ b/pkgs/applications/science/logic/vampire/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, z3, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + z3, + zlib, +}: stdenv.mkDerivation rec { pname = "vampire"; @@ -11,9 +18,16 @@ stdenv.mkDerivation rec { sha256 = "0z71nxjak3ibp842r8iv37w1x3cbkrmjs88lpvxqb4sgrbyk38zd"; }; - buildInputs = [ z3 zlib ]; + buildInputs = [ + z3 + zlib + ]; - makeFlags = [ "vampire_z3_rel" "CC:=$(CC)" "CXX:=$(CXX)" ]; + makeFlags = [ + "vampire_z3_rel" + "CC:=$(CC)" + "CXX:=$(CXX)" + ]; patches = [ # https://github.com/vprover/vampire/pull/54 diff --git a/pkgs/applications/science/logic/verit/default.nix b/pkgs/applications/science/logic/verit/default.nix index 65878ba43df93..fa4cfef4e53e5 100644 --- a/pkgs/applications/science/logic/verit/default.nix +++ b/pkgs/applications/science/logic/verit/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, autoreconfHook, gmp, flex, bison }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gmp, + flex, + bison, +}: stdenv.mkDerivation { pname = "veriT"; @@ -9,7 +17,11 @@ stdenv.mkDerivation { sha256 = "1yjvvxnsix0rhilc81ycx1s85dymq366c6zh1hwwd8qxp7k1zca2"; }; - nativeBuildInputs = [ autoreconfHook flex bison ]; + nativeBuildInputs = [ + autoreconfHook + flex + bison + ]; buildInputs = [ gmp ]; # --disable-static actually enables static linking here... diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix index ac9475417dbdd..8c1cedc9ef7d1 100644 --- a/pkgs/applications/science/logic/why3/default.nix +++ b/pkgs/applications/science/logic/why3/default.nix @@ -1,8 +1,16 @@ -{ callPackage, fetchurl, lib, stdenv -, ocamlPackages, coqPackages, rubber, hevea, emacs -, version ? "1.7.2" -, ideSupport ? true -, wrapGAppsHook3 +{ + callPackage, + fetchurl, + lib, + stdenv, + ocamlPackages, + coqPackages, + rubber, + hevea, + emacs, + version ? "1.7.2", + ideSupport ? true, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -11,66 +19,98 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz"; - hash = { - "1.7.2" = "sha256-VaSG/FiO2MDdSSFXGJJrIylQx0LPwtT8AF7TpPVZhCQ="; - "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw="; - }."${version}"; + hash = + { + "1.7.2" = "sha256-VaSG/FiO2MDdSSFXGJJrIylQx0LPwtT8AF7TpPVZhCQ="; + "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw="; + } + ."${version}"; }; strictDeps = true; - nativeBuildInputs = lib.optional ideSupport - wrapGAppsHook3 - ++ (with ocamlPackages; [ - ocaml findlib menhir - ]) ++ [ - # Coq Support - coqPackages.coq - ]; + nativeBuildInputs = + lib.optional ideSupport wrapGAppsHook3 + ++ (with ocamlPackages; [ + ocaml + findlib + menhir + ]) + ++ [ + # Coq Support + coqPackages.coq + ]; - buildInputs = with ocamlPackages; [ - ocamlgraph zarith - # Emacs compilation of why3.el - emacs - # Documentation - rubber hevea - ] ++ lib.optional ideSupport - # GUI - lablgtk3-sourceview3 - ++ [ - # WebIDE - js_of_ocaml js_of_ocaml-ppx - # S-expression output for why3pp - ppx_deriving ppx_sexp_conv ] + buildInputs = + with ocamlPackages; + [ + ocamlgraph + zarith + # Emacs compilation of why3.el + emacs + # Documentation + rubber + hevea + ] + ++ + lib.optional ideSupport + # GUI + lablgtk3-sourceview3 + ++ [ + # WebIDE + js_of_ocaml + js_of_ocaml-ppx + # S-expression output for why3pp + ppx_deriving + ppx_sexp_conv + ] ++ - # Coq Support - (with coqPackages; [ coq flocq ]) - ; + # Coq Support + (with coqPackages; [ + coq + flocq + ]); - propagatedBuildInputs = with ocamlPackages; [ camlzip menhirLib num re sexplib ]; + propagatedBuildInputs = with ocamlPackages; [ + camlzip + menhirLib + num + re + sexplib + ]; enableParallelBuilding = true; - configureFlags = [ "--enable-verbose-make" + configureFlags = [ + "--enable-verbose-make" (lib.enableFeature ideSupport "ide") ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - installTargets = [ "install" "install-lib" ]; + installTargets = [ + "install" + "install-lib" + ]; postInstall = '' mkdir -p $dev/lib mv $out/lib/ocaml $dev/lib/ ''; - passthru.withProvers = callPackage ./with-provers.nix {}; + passthru.withProvers = callPackage ./with-provers.nix { }; meta = with lib; { description = "Platform for deductive program verification"; - homepage = "https://why3.lri.fr/"; - license = licenses.lgpl21; - platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice vbgl ]; + homepage = "https://why3.lri.fr/"; + license = licenses.lgpl21; + platforms = platforms.unix; + maintainers = with maintainers; [ + thoughtpolice + vbgl + ]; }; } diff --git a/pkgs/applications/science/logic/why3/with-provers.nix b/pkgs/applications/science/logic/why3/with-provers.nix index 95d5b95718dd9..4d9f06475e974 100644 --- a/pkgs/applications/science/logic/why3/with-provers.nix +++ b/pkgs/applications/science/logic/why3/with-provers.nix @@ -1,7 +1,12 @@ -{ stdenv, makeWrapper, runCommand, why3 }: +{ + stdenv, + makeWrapper, + runCommand, + why3, +}: provers: -let configAwkScript = runCommand "why3-conf.awk" { inherit provers; } - '' +let + configAwkScript = runCommand "why3-conf.awk" { inherit provers; } '' for p in $provers; do for b in $p/bin/*; do BASENAME=$(basename $b) diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index f29a5e1f3f51f..937643c4abdea 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -1,34 +1,48 @@ -{ lib, stdenv, fetchFromGitHub, cudd, gmp-static, gperf, autoreconfHook, libpoly }: +{ + lib, + stdenv, + fetchFromGitHub, + cudd, + gmp-static, + gperf, + autoreconfHook, + libpoly, +}: stdenv.mkDerivation rec { pname = "yices"; version = "2.6.5"; src = fetchFromGitHub { - owner = "SRI-CSL"; - repo = "yices2"; - rev = "Yices-${version}"; + owner = "SRI-CSL"; + repo = "yices2"; + rev = "Yices-${version}"; hash = "sha256-/sKyHkFW5I5kojNIRPEKojzTvfRZiyVIN5VlBIbAV7k="; }; postPatch = "patchShebangs tests/regress/check.sh"; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ cudd gmp-static gperf libpoly ]; - configureFlags = - [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" - "--with-static-gmp-include-dir=${gmp-static.dev}/include" - "--enable-mcsat" - ]; + buildInputs = [ + cudd + gmp-static + gperf + libpoly + ]; + configureFlags = [ + "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" + "--with-static-gmp-include-dir=${gmp-static.dev}/include" + "--enable-mcsat" + ]; enableParallelBuilding = true; doCheck = true; meta = with lib; { description = "High-performance theorem prover and SMT solver"; - homepage = "https://yices.csl.sri.com"; - license = licenses.gpl3; - platforms = with platforms; linux ++ darwin; + homepage = "https://yices.csl.sri.com"; + license = licenses.gpl3; + platforms = with platforms; linux ++ darwin; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/applications/science/logic/z3/tptp.nix b/pkgs/applications/science/logic/z3/tptp.nix index 15f6770404ef2..8e1da19c60085 100644 --- a/pkgs/applications/science/logic/z3/tptp.nix +++ b/pkgs/applications/science/logic/z3/tptp.nix @@ -1,4 +1,9 @@ -{lib, stdenv, z3, cmake}: +{ + lib, + stdenv, + z3, + cmake, +}: stdenv.mkDerivation rec { pname = "z3-tptp"; version = z3.version; @@ -7,8 +12,8 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/examples/tptp"; - nativeBuildInputs = [cmake]; - buildInputs = [z3]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ z3 ]; preConfigure = '' echo 'set(Z3_LIBRARIES "-lz3")' >> CMakeLists.new @@ -25,6 +30,6 @@ stdenv.mkDerivation rec { meta = { inherit (z3.meta) license homepage platforms; description = "TPTP wrapper for Z3 prover"; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; }; } diff --git a/pkgs/applications/science/machine-learning/finalfrontier/default.nix b/pkgs/applications/science/machine-learning/finalfrontier/default.nix index ca495dcc280ac..c388a55cb5eb8 100644 --- a/pkgs/applications/science/machine-learning/finalfrontier/default.nix +++ b/pkgs/applications/science/machine-learning/finalfrontier/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, libiconv -, openssl -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + libiconv, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -27,10 +28,12 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - Security - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; postInstall = '' installManPage man/*.1 diff --git a/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix b/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix index 2b3bd2776089d..4357b8ca2e550 100644 --- a/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix +++ b/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, blas -, gfortran -, lapack -, openssl -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + blas, + gfortran, + lapack, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -25,14 +26,16 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ installShellFiles ]; - buildInputs = [ - blas - gfortran.cc.lib - lapack - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + blas + gfortran.cc.lib + lapack + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; # Enables build against a generic BLAS. buildFeatures = [ "netlib" ]; diff --git a/pkgs/applications/science/machine-learning/sc2-headless/default.nix b/pkgs/applications/science/machine-learning/sc2-headless/default.nix index 37128ce67e39d..0700580b95984 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/default.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/default.nix @@ -1,62 +1,73 @@ -{ config, stdenv -, callPackage -, lib -, fetchurl -, unzip -, licenseAccepted ? config.sc2-headless.accept_license or false +{ + config, + stdenv, + callPackage, + lib, + fetchurl, + unzip, + licenseAccepted ? config.sc2-headless.accept_license or false, }: -if !licenseAccepted then throw '' +if !licenseAccepted then + throw '' You must accept the Blizzard® Starcraft® II AI and Machine Learning License at https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html by setting nixpkgs config option 'sc2-headless.accept_license = true;' '' -else assert licenseAccepted; -let maps = callPackage ./maps.nix {}; -in stdenv.mkDerivation rec { - version = "4.7.1"; - pname = "sc2-headless"; - - src = fetchurl { - url = "https://blzdistsc2-a.akamaihd.net/Linux/SC2.${version}.zip"; - sha256 = "0q1ry9bd3dm8y4hvh57yfq7s05hl2k2sxi2wsl6h0r3w690v1kdd"; - }; - - unpackCmd = '' - unzip -P 'iagreetotheeula' $curSrc - ''; - - nativeBuildInputs = [ unzip ]; - - installPhase = '' - mkdir -p $out - cp -r . "$out" - rm -r $out/Libs - - cp -ur "${maps.minigames}"/* "${maps.melee}"/* "${maps.ladder2017season1}"/* "${maps.ladder2017season2}"/* "${maps.ladder2017season3}"/* \ - "${maps.ladder2017season4}"/* "${maps.ladder2018season1}"/* "${maps.ladder2018season2}"/* \ - "${maps.ladder2018season3}"/* "${maps.ladder2018season4}"/* "${maps.ladder2019season1}"/* "$out"/Maps/ - ''; - - preFixup = '' - find $out -type f -print0 | while IFS=''' read -d ''' -r file; do - isELF "$file" || continue - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${lib.makeLibraryPath [stdenv.cc.cc stdenv.cc.libc]} \ - "$file" - done - ''; - - meta = { - platforms = lib.platforms.linux; - description = "Starcraft II headless linux client for machine learning research"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = { - fullName = "BLIZZARD® STARCRAFT® II AI AND MACHINE LEARNING LICENSE"; - url = "https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html"; - free = false; +else + assert licenseAccepted; + let + maps = callPackage ./maps.nix { }; + in + stdenv.mkDerivation rec { + version = "4.7.1"; + pname = "sc2-headless"; + + src = fetchurl { + url = "https://blzdistsc2-a.akamaihd.net/Linux/SC2.${version}.zip"; + sha256 = "0q1ry9bd3dm8y4hvh57yfq7s05hl2k2sxi2wsl6h0r3w690v1kdd"; + }; + + unpackCmd = '' + unzip -P 'iagreetotheeula' $curSrc + ''; + + nativeBuildInputs = [ unzip ]; + + installPhase = '' + mkdir -p $out + cp -r . "$out" + rm -r $out/Libs + + cp -ur "${maps.minigames}"/* "${maps.melee}"/* "${maps.ladder2017season1}"/* "${maps.ladder2017season2}"/* "${maps.ladder2017season3}"/* \ + "${maps.ladder2017season4}"/* "${maps.ladder2018season1}"/* "${maps.ladder2018season2}"/* \ + "${maps.ladder2018season3}"/* "${maps.ladder2018season4}"/* "${maps.ladder2019season1}"/* "$out"/Maps/ + ''; + + preFixup = '' + find $out -type f -print0 | while IFS=''' read -d ''' -r file; do + isELF "$file" || continue + patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath ${ + lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + ] + } \ + "$file" + done + ''; + + meta = { + platforms = lib.platforms.linux; + description = "Starcraft II headless linux client for machine learning research"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = { + fullName = "BLIZZARD® STARCRAFT® II AI AND MACHINE LEARNING LICENSE"; + url = "https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html"; + free = false; + }; + maintainers = [ ]; }; - maintainers = [ ]; - }; -} + } diff --git a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix index 47e14108e37c7..19019408a18d8 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix @@ -1,7 +1,12 @@ -{ fetchzip +{ + fetchzip, }: let - fetchzip' = args: (fetchzip args).overrideAttrs (old: { UNZIP = "-j -P iagreetotheeula"; }); + fetchzip' = + args: + (fetchzip args).overrideAttrs (old: { + UNZIP = "-j -P iagreetotheeula"; + }); in { minigames = fetchzip { diff --git a/pkgs/applications/science/machine-learning/shogun/default.nix b/pkgs/applications/science/machine-learning/shogun/default.nix index 550b3296dc001..c84b83ef4542d 100644 --- a/pkgs/applications/science/machine-learning/shogun/default.nix +++ b/pkgs/applications/science/machine-learning/shogun/default.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, fetchurl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + fetchurl, # build -, cmake -, ctags -, python3Packages -, swig + cmake, + ctags, + python3Packages, + swig, # math -, eigen -, blas -, lapack -, glpk + eigen, + blas, + lapack, + glpk, # data -, protobuf -, json_c -, libxml2 -, hdf5 -, curl + protobuf, + json_c, + libxml2, + hdf5, + curl, # compression -, libarchive -, bzip2 -, xz -, snappy -, lzo + libarchive, + bzip2, + xz, + snappy, + lzo, # more math -, nlopt -, lp_solve -, colpack + nlopt, + lp_solve, + colpack, # extra support -, pythonSupport ? false -, opencvSupport ? false -, opencv ? null -, withSvmLight ? false + pythonSupport ? false, + opencvSupport ? false, + opencv ? null, + withSvmLight ? false, }: assert pythonSupport -> python3Packages != null; @@ -52,7 +53,7 @@ let toolbox = fetchFromGitHub { owner = "shogun-toolbox"; repo = "shogun"; - rev = "shogun_${version}"; + rev = "shogun_${version}"; hash = "sha256-38aULxK50wQ2+/ERosSpRyBmssmYSGv5aaWfWSlrSRc="; fetchSubmodules = true; }; @@ -73,7 +74,11 @@ in stdenv.mkDerivation (finalAttrs: { inherit pname version; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; src = srcs.toolbox; @@ -108,65 +113,84 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional (!withSvmLight) ./svmlight-scrubber.patch; - nativeBuildInputs = [ cmake swig ctags ] - ++ (with python3Packages; [ python jinja2 ply ]); - - buildInputs = [ - eigen - blas - lapack - glpk - protobuf - json_c - libxml2 - hdf5 - curl - libarchive - bzip2 - xz - snappy - lzo - nlopt - lp_solve - colpack - ] ++ lib.optionals pythonSupport (with python3Packages; [ python numpy ]) + nativeBuildInputs = + [ + cmake + swig + ctags + ] + ++ (with python3Packages; [ + python + jinja2 + ply + ]); + + buildInputs = + [ + eigen + blas + lapack + glpk + protobuf + json_c + libxml2 + hdf5 + curl + libarchive + bzip2 + xz + snappy + lzo + nlopt + lp_solve + colpack + ] + ++ lib.optionals pythonSupport ( + with python3Packages; + [ + python + numpy + ] + ) ++ lib.optional opencvSupport opencv; - cmakeFlags = let - excludeTestsRegex = lib.concatStringsSep "|" [ - # segfault - "SerializationXML" - "TrainedModelSerialization" - # broken by openblas 0.3.21 - "mathematics_lapack" - # fails on aarch64 - "LinearTimeMMD" - "QuadraticTimeMMD" - "SGVectorTest" - "Statistics" - # hangs on aarch64 - "PRange" - # these take too long on CI - "evaluation_cross_validation" - "modelselection_combined_kernel" - "modelselection_grid_search" + cmakeFlags = + let + excludeTestsRegex = lib.concatStringsSep "|" [ + # segfault + "SerializationXML" + "TrainedModelSerialization" + # broken by openblas 0.3.21 + "mathematics_lapack" + # fails on aarch64 + "LinearTimeMMD" + "QuadraticTimeMMD" + "SGVectorTest" + "Statistics" + # hangs on aarch64 + "PRange" + # these take too long on CI + "evaluation_cross_validation" + "modelselection_combined_kernel" + "modelselection_grid_search" + ]; + in + [ + (lib.cmakeBool "BUILD_META_EXAMPLES" true) + (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_ARPACK" true) + (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_ARPREC" true) + (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_CPLEX" true) + (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_Mosek" true) + (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_TFLogger" true) + (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_ViennaCL" true) + (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;'${excludeTestsRegex}'") + (lib.cmakeBool "ENABLE_TESTING" finalAttrs.doCheck) + (lib.cmakeBool "DISABLE_META_INTEGRATION_TESTS" true) + (lib.cmakeBool "TRAVIS_DISABLE_META_CPP" true) + (lib.cmakeBool "INTERFACE_PYTHON" pythonSupport) + (lib.cmakeBool "OpenCV" opencvSupport) + (lib.cmakeBool "USE_SVMLIGHT" withSvmLight) ]; - in [ - (lib.cmakeBool "BUILD_META_EXAMPLES" true) - (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_ARPACK" true) - (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_ARPREC" true) - (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_CPLEX" true) - (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_Mosek" true) - (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_TFLogger" true) - (lib.cmakeBool "CMAKE_DISABLE_FIND_PACKAGE_ViennaCL" true) - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;'${excludeTestsRegex}'") - (lib.cmakeBool "ENABLE_TESTING" finalAttrs.doCheck) - (lib.cmakeBool "DISABLE_META_INTEGRATION_TESTS" true) - (lib.cmakeBool "TRAVIS_DISABLE_META_CPP" true) - (lib.cmakeBool "INTERFACE_PYTHON" pythonSupport) - (lib.cmakeBool "OpenCV" opencvSupport) - (lib.cmakeBool "USE_SVMLIGHT" withSvmLight) - ]; CXXFLAGS = "-faligned-new"; @@ -178,21 +202,23 @@ stdenv.mkDerivation (finalAttrs: { ln -s ${srcs.gtest} $sourceRoot/third_party/GoogleMock/release-${gtestVersion}.tar.gz ''; - postPatch = '' - # Fix preprocessing SVMlight code - sed -i \ - -e 's@#ifdef SVMLIGHT@#ifdef USE_SVMLIGHT@' \ - -e '/^#ifdef USE_SVMLIGHT/,/^#endif/ s@#endif@#endif //USE_SVMLIGHT@' \ - src/shogun/kernel/string/CommUlongStringKernel.cpp - sed -i -e 's/#if USE_SVMLIGHT/#ifdef USE_SVMLIGHT/' src/interfaces/swig/Machine.i - sed -i -e 's@// USE_SVMLIGHT@//USE_SVMLIGHT@' src/interfaces/swig/Transfer.i - sed -i -e 's@/\* USE_SVMLIGHT \*/@//USE_SVMLIGHT@' src/interfaces/swig/Transfer_includes.i - '' + lib.optionalString (!withSvmLight) '' - # Run SVMlight scrubber - patchShebangs scripts/light-scrubber.sh - echo "removing SVMlight code" - ./scripts/light-scrubber.sh - ''; + postPatch = + '' + # Fix preprocessing SVMlight code + sed -i \ + -e 's@#ifdef SVMLIGHT@#ifdef USE_SVMLIGHT@' \ + -e '/^#ifdef USE_SVMLIGHT/,/^#endif/ s@#endif@#endif //USE_SVMLIGHT@' \ + src/shogun/kernel/string/CommUlongStringKernel.cpp + sed -i -e 's/#if USE_SVMLIGHT/#ifdef USE_SVMLIGHT/' src/interfaces/swig/Machine.i + sed -i -e 's@// USE_SVMLIGHT@//USE_SVMLIGHT@' src/interfaces/swig/Transfer.i + sed -i -e 's@/\* USE_SVMLIGHT \*/@//USE_SVMLIGHT@' src/interfaces/swig/Transfer_includes.i + '' + + lib.optionalString (!withSvmLight) '' + # Run SVMlight scrubber + patchShebangs scripts/light-scrubber.sh + echo "removing SVMlight code" + ./scripts/light-scrubber.sh + ''; postInstall = '' mkdir -p $doc/share/doc/shogun/examples @@ -211,6 +237,9 @@ stdenv.mkDerivation (finalAttrs: { description = "Toolbox which offers a wide range of efficient and unified machine learning methods"; homepage = "http://shogun-toolbox.org/"; license = if withSvmLight then licenses.unfree else licenses.gpl3Plus; - maintainers = with maintainers; [ edwtjo smancill ]; + maintainers = with maintainers; [ + edwtjo + smancill + ]; }; }) diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 65e039991b913..251245469d739 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -1,21 +1,31 @@ -{ config, stdenv, lib -, fetchFromGitHub -, fetchurl -, fetchpatch -, cmake -, boost -, gflags -, glog -, hdf5-cpp -, opencv4 -, protobuf -, doxygen -, blas -, Accelerate, CoreGraphics, CoreVideo -, lmdbSupport ? true, lmdb -, leveldbSupport ? true, leveldb, snappy -, pythonSupport ? false, python ? null, numpy ? null -, substituteAll +{ + config, + stdenv, + lib, + fetchFromGitHub, + fetchurl, + fetchpatch, + cmake, + boost, + gflags, + glog, + hdf5-cpp, + opencv4, + protobuf, + doxygen, + blas, + Accelerate, + CoreGraphics, + CoreVideo, + lmdbSupport ? true, + lmdb, + leveldbSupport ? true, + leveldb, + snappy, + pythonSupport ? false, + python ? null, + numpy ? null, + substituteAll, }: let @@ -38,48 +48,92 @@ stdenv.mkDerivation rec { sha256 = "104jp3cm823i3cdph7hgsnj6l77ygbwsy35mdmzhmsi4jxprd9j3"; }; - nativeBuildInputs = [ cmake doxygen ]; + nativeBuildInputs = [ + cmake + doxygen + ]; cmakeFlags = # It's important that caffe is passed the major and minor version only because that's what # boost_python expects - [ (if pythonSupport then "-Dpython_version=${python.pythonVersion}" else "-DBUILD_python=OFF") + [ + (if pythonSupport then "-Dpython_version=${python.pythonVersion}" else "-DBUILD_python=OFF") "-DBLAS=open" "-DCPU_ONLY=ON" - ] ++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"] - ++ ["-DUSE_LMDB=${toggle lmdbSupport}"]; - - buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ] - ++ lib.optional lmdbSupport lmdb - ++ lib.optionals leveldbSupport [ leveldb snappy ] - ++ lib.optionals pythonSupport [ python numpy ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Accelerate CoreGraphics CoreVideo ] - ; + ] + ++ [ "-DUSE_LEVELDB=${toggle leveldbSupport}" ] + ++ [ "-DUSE_LMDB=${toggle lmdbSupport}" ]; + + buildInputs = + [ + boost + gflags + glog + protobuf + hdf5-cpp + opencv4 + blas + ] + ++ lib.optional lmdbSupport lmdb + ++ lib.optionals leveldbSupport [ + leveldb + snappy + ] + ++ lib.optionals pythonSupport [ + python + numpy + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + CoreGraphics + CoreVideo + ]; propagatedBuildInputs = lib.optionals pythonSupport ( # requirements.txt - let pp = python.pkgs; in ([ - pp.numpy pp.scipy pp.scikit-image pp.h5py - pp.matplotlib pp.ipython pp.networkx - pp.pandas pp.python-dateutil pp.protobuf pp.gflags - pp.pyyaml pp.pillow pp.six - ] ++ lib.optional leveldbSupport pp.leveldb) + let + pp = python.pkgs; + in + ( + [ + pp.numpy + pp.scipy + pp.scikit-image + pp.h5py + pp.matplotlib + pp.ipython + pp.networkx + pp.pandas + pp.python-dateutil + pp.protobuf + pp.gflags + pp.pyyaml + pp.pillow + pp.six + ] + ++ lib.optional leveldbSupport pp.leveldb + ) ); - outputs = [ "bin" "out" ]; - propagatedBuildOutputs = []; # otherwise propagates out -> bin cycle - - patches = [ - ./darwin.patch - (fetchpatch { - name = "support-opencv4"; - url = "https://github.com/BVLC/caffe/pull/6638/commits/0a04cc2ccd37ba36843c18fea2d5cbae6e7dd2b5.patch"; - hash = "sha256-ZegTvp0tTHlopQv+UzHDigs6XLkP2VfqLCWXl6aKJSI="; - }) - ] ++ lib.optional pythonSupport (substituteAll { - src = ./python.patch; - inherit (python.sourceVersion) major minor; # Should be changed in case of PyPy - }); + outputs = [ + "bin" + "out" + ]; + propagatedBuildOutputs = [ ]; # otherwise propagates out -> bin cycle + + patches = + [ + ./darwin.patch + (fetchpatch { + name = "support-opencv4"; + url = "https://github.com/BVLC/caffe/pull/6638/commits/0a04cc2ccd37ba36843c18fea2d5cbae6e7dd2b5.patch"; + hash = "sha256-ZegTvp0tTHlopQv+UzHDigs6XLkP2VfqLCWXl6aKJSI="; + }) + ] + ++ lib.optional pythonSupport (substituteAll { + src = ./python.patch; + inherit (python.sourceVersion) major minor; # Should be changed in case of PyPy + }); postPatch = '' substituteInPlace src/caffe/util/io.cpp --replace \ @@ -92,19 +146,21 @@ stdenv.mkDerivation rec { export BOOST_LIBRARYDIR="${boost.out}/lib"; ''; - postInstall = '' - # Internal static library. - rm $out/lib/libproto.a + postInstall = + '' + # Internal static library. + rm $out/lib/libproto.a - # Install models - cp -a ../models $out/share/Caffe/models + # Install models + cp -a ../models $out/share/Caffe/models - moveToOutput "bin" "$bin" - '' + lib.optionalString pythonSupport '' - mkdir -p $out/${python.sitePackages} - mv $out/python/caffe $out/${python.sitePackages} - rm -rf $out/python - ''; + moveToOutput "bin" "$bin" + '' + + lib.optionalString pythonSupport '' + mkdir -p $out/${python.sitePackages} + mv $out/python/caffe $out/${python.sitePackages} + rm -rf $out/python + ''; doInstallCheck = false; # build takes more than 30 min otherwise installCheckPhase = '' @@ -128,8 +184,7 @@ stdenv.mkDerivation rec { broken = (pythonSupport && (python.isPy310)) || !(leveldbSupport -> (leveldb != null && snappy != null)) - || !(pythonSupport -> (python != null && numpy != null)) - ; + || !(pythonSupport -> (python != null && numpy != null)); license = licenses.bsd2; platforms = platforms.linux ++ platforms.darwin; }; diff --git a/pkgs/applications/science/math/engauge-digitizer/default.nix b/pkgs/applications/science/math/engauge-digitizer/default.nix index 95306a0820fa3..f2f87a42ab8a4 100644 --- a/pkgs/applications/science/math/engauge-digitizer/default.nix +++ b/pkgs/applications/science/math/engauge-digitizer/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, fftw, libjpeg, log4cpp, openjpeg -, libpng12, poppler, qtbase, qt5, qmake, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + fftw, + libjpeg, + log4cpp, + openjpeg, + libpng12, + poppler, + qtbase, + qt5, + qmake, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -13,7 +25,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-Wj9o3wWbtHsEi6LFH4xDpwVR9BwcWc472jJ/QFDQZvY="; }; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; buildInputs = [ qtbase diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix index 1d5fa4a9ef450..af4dec8c0c3d7 100644 --- a/pkgs/applications/science/math/geogebra/default.nix +++ b/pkgs/applications/science/math/geogebra/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, libGL, xorg, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }: +{ + lib, + stdenv, + fetchurl, + libGL, + xorg, + jre, + makeDesktopItem, + makeWrapper, + unzip, + language ? "en_US", +}: let pname = "geogebra"; version = "5-0-785-0"; @@ -15,8 +26,15 @@ let desktopName = "Geogebra"; genericName = "Geogebra"; comment = meta.description; - categories = [ "Education" "Science" "Math" ]; - mimeTypes = [ "application/vnd.geogebra.file" "application/vnd.geogebra.tool" ]; + categories = [ + "Education" + "Science" + "Math" + ]; + mimeTypes = [ + "application/vnd.geogebra.file" + "application/vnd.geogebra.tool" + ]; }; meta = with lib; { @@ -27,18 +45,31 @@ let calculus in one easy-to-use package. ''; homepage = "https://www.geogebra.org/"; - maintainers = with maintainers; [ sikmir soupglasses ]; - license = with licenses; [ gpl3 cc-by-nc-sa-30 geogebra ]; + maintainers = with maintainers; [ + sikmir + soupglasses + ]; + license = with licenses; [ + gpl3 + cc-by-nc-sa-30 + geogebra + ]; sourceProvenance = with sourceTypes; [ binaryBytecode - binaryNativeCode # some jars include native binaries + binaryNativeCode # some jars include native binaries ]; platforms = with platforms; linux ++ darwin; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; linuxPkg = stdenv.mkDerivation { - inherit pname version meta srcIcon desktopItem; + inherit + pname + version + meta + srcIcon + desktopItem + ; preferLocalBuild = true; @@ -58,7 +89,12 @@ let # The bundled jogl (required for 3D graphics) links to libXxf86vm, and loads libGL at runtime # OpenGL versions newer than 3.0 cause "javax.media.opengl.GLException: Not a GL2 implementation" makeWrapper "$out/libexec/geogebra/geogebra" "$out/bin/geogebra" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL xorg.libXxf86vm ]}" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + libGL + xorg.libXxf86vm + ] + }" \ --set MESA_GL_VERSION_OVERRIDE 3.0 \ --set JAVACMD "${jre}/bin/java" \ --set GG_PATH "$out/libexec/geogebra" \ @@ -95,6 +131,4 @@ let ''; }; in -if stdenv.hostPlatform.isDarwin -then darwinPkg -else linuxPkg +if stdenv.hostPlatform.isDarwin then darwinPkg else linuxPkg diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix index 0edaa32babd70..bcf782e196361 100644 --- a/pkgs/applications/science/math/glsurf/default.nix +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, ocamlPackages -, makeWrapper -, libGLU -, libGL -, libglut -, mpfr -, gmp -, pkgsHostTarget +{ + lib, + stdenv, + fetchurl, + ocamlPackages, + makeWrapper, + libGLU, + libGL, + libglut, + mpfr, + gmp, + pkgsHostTarget, }: let @@ -24,25 +25,29 @@ stdenv.mkDerivation rec { sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7"; }; - nativeBuildInputs = [ - makeWrapper - ] ++ (with ocamlPackages; [ - ocaml - findlib - ]); + nativeBuildInputs = + [ + makeWrapper + ] + ++ (with ocamlPackages; [ + ocaml + findlib + ]); - buildInputs = [ - libglut - libGL - libGLU - mpfr - gmp - ] ++ (with ocamlPackages; [ - camlp4 - lablgl - camlimages - num - ]); + buildInputs = + [ + libglut + libGL + libGLU + mpfr + gmp + ] + ++ (with ocamlPackages; [ + camlp4 + lablgl + camlimages + num + ]); postPatch = '' for f in callbacks*/Makefile src/Makefile; do diff --git a/pkgs/applications/science/math/hmetis/default.nix b/pkgs/applications/science/math/hmetis/default.nix index 1c0152b7bfc77..c8bacea5acb70 100644 --- a/pkgs/applications/science/math/hmetis/default.nix +++ b/pkgs/applications/science/math/hmetis/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ghostscript }: +{ + lib, + stdenv, + fetchurl, + ghostscript, +}: stdenv.mkDerivation rec { pname = "hmetis"; @@ -38,6 +43,9 @@ stdenv.mkDerivation rec { homepage = "http://glaros.dtc.umn.edu/gkhome/metis/hmetis/overview"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/applications/science/math/labplot/default.nix b/pkgs/applications/science/math/labplot/default.nix index 0aeb232dd0313..7b1a54e46666b 100644 --- a/pkgs/applications/science/math/labplot/default.nix +++ b/pkgs/applications/science/math/labplot/default.nix @@ -1,44 +1,45 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, cmake -, extra-cmake-modules -, shared-mime-info -, wrapQtAppsHook +{ + lib, + stdenv, + fetchpatch, + fetchurl, + cmake, + extra-cmake-modules, + shared-mime-info, + wrapQtAppsHook, -, qtbase + qtbase, -, karchive -, kcompletion -, kconfig -, kcoreaddons -, kcrash -, kdoctools -, ki18n -, kiconthemes -, kio -, knewstuff -, kparts -, ktextwidgets -, kxmlgui -, syntax-highlighting + karchive, + kcompletion, + kconfig, + kcoreaddons, + kcrash, + kdoctools, + ki18n, + kiconthemes, + kio, + knewstuff, + kparts, + ktextwidgets, + kxmlgui, + syntax-highlighting, -, gsl + gsl, -, poppler -, fftw -, hdf5 -, netcdf -, cfitsio -, libcerf -, cantor -, zlib -, lz4 -, readstat -, matio -, qtserialport -, discount + poppler, + fftw, + hdf5, + netcdf, + cfitsio, + libcerf, + cantor, + zlib, + lz4, + readstat, + matio, + qtserialport, + discount, }: stdenv.mkDerivation rec { @@ -108,7 +109,18 @@ stdenv.mkDerivation rec { meta = with lib; { description = "LabPlot is a FREE, open source and cross-platform Data Visualization and Analysis software accessible to everyone"; homepage = "https://labplot.kde.org"; - license = with licenses; [ asl20 bsd3 cc-by-30 cc0 gpl2Only gpl2Plus gpl3Only gpl3Plus lgpl3Plus mit ]; + license = with licenses; [ + asl20 + bsd3 + cc-by-30 + cc0 + gpl2Only + gpl2Plus + gpl3Only + gpl3Plus + lgpl3Plus + mit + ]; maintainers = with maintainers; [ hqurve ]; mainProgram = "labplot2"; platforms = platforms.unix; diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/applications/science/math/lp_solve/default.nix index 67d7bfdba90c2..63722349629da 100644 --- a/pkgs/applications/science/math/lp_solve/default.nix +++ b/pkgs/applications/science/math/lp_solve/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, cctools -, fixDarwinDylibNames -, autoSignDarwinBinariesHook +{ + lib, + stdenv, + fetchurl, + cctools, + fixDarwinDylibNames, + autoSignDarwinBinariesHook, }: stdenv.mkDerivation rec { @@ -15,18 +16,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-bUq/9cxqqpM66ObBeiJt8PwLZxxDj2lxXUHQn+gfkC8="; }; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - cctools - fixDarwinDylibNames - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook - ]; + nativeBuildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + fixDarwinDylibNames + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ]; - env = { - NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int"; - } // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) { - NIX_LDFLAGS = "-headerpad_max_install_names"; - }; + env = + { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int"; + } + // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) { + NIX_LDFLAGS = "-headerpad_max_install_names"; + }; dontConfigure = true; diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix index 617fd46b050e7..b3dba1b7c6dea 100644 --- a/pkgs/applications/science/math/mathematica/default.nix +++ b/pkgs/applications/science/math/mathematica/default.nix @@ -1,57 +1,62 @@ -{ callPackage -, config -, lib -, cudaPackages -, cudaSupport ? config.cudaSupport -, lang ? "en" -, webdoc ? false -, version ? null -/* -If you wish to completely override the src, use: -my_mathematica = mathematica.override { - source = pkgs.requireFile { - name = "Mathematica_XX.X.X_BNDL_LINUX.sh"; - # Get this hash via a command similar to this: - # nix-store --query --hash \ - # $(nix store add-path Mathematica_XX.X.X_BNDL_LINUX.sh --name 'Mathematica_XX.X.X_BNDL_LINUX.sh') - sha256 = "0000000000000000000000000000000000000000000000000000"; - message = '' - Your override for Mathematica includes a different src for the installer, - and it is missing. - ''; - hashMode = "recursive"; - }; -} -*/ -, source ? null +{ + callPackage, + config, + lib, + cudaPackages, + cudaSupport ? config.cudaSupport, + lang ? "en", + webdoc ? false, + version ? null, + /* + If you wish to completely override the src, use: + my_mathematica = mathematica.override { + source = pkgs.requireFile { + name = "Mathematica_XX.X.X_BNDL_LINUX.sh"; + # Get this hash via a command similar to this: + # nix-store --query --hash \ + # $(nix store add-path Mathematica_XX.X.X_BNDL_LINUX.sh --name 'Mathematica_XX.X.X_BNDL_LINUX.sh') + sha256 = "0000000000000000000000000000000000000000000000000000"; + message = '' + Your override for Mathematica includes a different src for the installer, + and it is missing. + ''; + hashMode = "recursive"; + }; + } + */ + source ? null, }: -let versions = callPackage ./versions.nix { }; +let + versions = callPackage ./versions.nix { }; - matching-versions = - lib.sort (v1: v2: lib.versionAtLeast v1.version v2.version) (lib.filter - (v: v.lang == lang - && (version == null || isMatching v.version version) - && matchesDoc v) - versions); + matching-versions = lib.sort (v1: v2: lib.versionAtLeast v1.version v2.version) ( + lib.filter ( + v: v.lang == lang && (version == null || isMatching v.version version) && matchesDoc v + ) versions + ); - found-version = - if matching-versions == [] - then throw ("No registered Mathematica version found to match" - + " version=${toString version} and language=${lang}," - + " ${if webdoc - then "using web documentation" - else "and with local documentation"}") - else lib.head matching-versions; + found-version = + if matching-versions == [ ] then + throw ( + "No registered Mathematica version found to match" + + " version=${toString version} and language=${lang}," + + " ${if webdoc then "using web documentation" else "and with local documentation"}" + ) + else + lib.head matching-versions; - isMatching = v1: v2: - let as = lib.splitVersion v1; - bs = lib.splitVersion v2; - n = lib.min (lib.length as) (lib.length bs); - sublist = l: lib.sublist 0 n l; - in lib.compareLists lib.compare (sublist as) (sublist bs) == 0; + isMatching = + v1: v2: + let + as = lib.splitVersion v1; + bs = lib.splitVersion v2; + n = lib.min (lib.length as) (lib.length bs); + sublist = l: lib.sublist 0 n l; + in + lib.compareLists lib.compare (sublist as) (sublist bs) == 0; - matchesDoc = v: (builtins.match ".*[0-9]_LIN(UX)?.sh" v.src.name != null) == webdoc; + matchesDoc = v: (builtins.match ".*[0-9]_LIN(UX)?.sh" v.src.name != null) == webdoc; in @@ -59,16 +64,22 @@ callPackage ./generic.nix { inherit cudaSupport cudaPackages; inherit (found-version) version lang; src = if source == null then found-version.src else source; - name = ("mathematica" - + lib.optionalString cudaSupport "-cuda" - + "-${found-version.version}" - + lib.optionalString (lang != "en") "-${lang}"); + name = ( + "mathematica" + + lib.optionalString cudaSupport "-cuda" + + "-${found-version.version}" + + lib.optionalString (lang != "en") "-${lang}" + ); meta = with lib; { description = "Wolfram Mathematica computational software system"; homepage = "http://www.wolfram.com/mathematica/"; license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ herberteuler rafaelrc chewblacka ]; + maintainers = with maintainers; [ + herberteuler + rafaelrc + chewblacka + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/science/math/mathematica/generic.nix b/pkgs/applications/science/math/mathematica/generic.nix index 6bf8992308125..c734e891f39cd 100644 --- a/pkgs/applications/science/math/mathematica/generic.nix +++ b/pkgs/applications/science/math/mathematica/generic.nix @@ -1,144 +1,164 @@ -{ addDriverRunpath -, autoPatchelfHook -, lib -, makeWrapper -, requireFile -, runCommand -, stdenv -, symlinkJoin -# arguments from default.nix -, lang -, meta -, name -, src -, version -# dependencies -, alsa-lib -, cudaPackages -, cups -, dbus -, flite -, fontconfig -, freetype -, gcc-unwrapped -, glib -, gmpxx -, keyutils -, libGL -, libGLU -, libpcap -, libtins -, libuuid -, libxkbcommon -, libxml2 -, llvmPackages_12 -, matio -, mpfr -, ncurses -, opencv4 -, openjdk11 -, openssl -, pciutils -, tre -, unixODBC -, xcbutilimage -, xcbutilkeysyms -, xkeyboard_config -, xorg -, zlib -# options -, cudaSupport +{ + addDriverRunpath, + autoPatchelfHook, + lib, + makeWrapper, + requireFile, + runCommand, + stdenv, + symlinkJoin, + # arguments from default.nix + lang, + meta, + name, + src, + version, + # dependencies + alsa-lib, + cudaPackages, + cups, + dbus, + flite, + fontconfig, + freetype, + gcc-unwrapped, + glib, + gmpxx, + keyutils, + libGL, + libGLU, + libpcap, + libtins, + libuuid, + libxkbcommon, + libxml2, + llvmPackages_12, + matio, + mpfr, + ncurses, + opencv4, + openjdk11, + openssl, + pciutils, + tre, + unixODBC, + xcbutilimage, + xcbutilkeysyms, + xkeyboard_config, + xorg, + zlib, + # options + cudaSupport, }: -let cudaEnv = symlinkJoin { - name = "mathematica-cuda-env"; - paths = with cudaPackages; [ - cuda_cudart cuda_nvcc libcublas libcufft libcurand libcusparse - ]; - postBuild = '' - if [ ! -e $out/lib/libcuda.so ]; then - ln -s ${addDriverRunpath.driverLink}/lib/libcuda.so $out/lib - fi - ln -s lib $out/lib64 - ''; - }; - -in stdenv.mkDerivation { - inherit meta name src version; +let + cudaEnv = symlinkJoin { + name = "mathematica-cuda-env"; + paths = with cudaPackages; [ + cuda_cudart + cuda_nvcc + libcublas + libcufft + libcurand + libcusparse + ]; + postBuild = '' + if [ ! -e $out/lib/libcuda.so ]; then + ln -s ${addDriverRunpath.driverLink}/lib/libcuda.so $out/lib + fi + ln -s lib $out/lib64 + ''; + }; + +in +stdenv.mkDerivation { + inherit + meta + name + src + version + ; nativeBuildInputs = [ autoPatchelfHook makeWrapper ] ++ lib.optional cudaSupport addDriverRunpath; - buildInputs = [ - alsa-lib - cups.lib - dbus - flite - fontconfig - freetype - glib - gmpxx - keyutils.lib - libGL - libGLU - libpcap - libtins - libuuid - libxkbcommon - libxml2 - llvmPackages_12.libllvm.lib - matio - mpfr - ncurses - opencv4 - openjdk11 - openssl - pciutils - tre - unixODBC - xcbutilimage - xcbutilkeysyms - xkeyboard_config - ] ++ (with xorg; [ - libICE - libSM - libX11 - libXScrnSaver - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXinerama - libXmu - libXrandr - libXrender - libXtst - libxcb - ]) ++ lib.optional cudaSupport cudaEnv; - - wrapProgramFlags = [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ + buildInputs = + [ + alsa-lib + cups.lib dbus - gcc-unwrapped.lib - zlib - ]}" - "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" - # Fix libQt errors - #96490 - "--set USE_WOLFRAM_LD_LIBRARY_PATH 1" - # Fix xkeyboard config path for Qt - "--set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb" - # if wayland isn't supported we fail over to xcb - # see https://github.com/qt/qtbase/blob/35d0f012ee9b95e8cf3563a41d710ff3c023d841/src/gui/kernel/qguiapplication.cpp#L1218 - "--set QT_QPA_PLATFORM wayland;xcb" - ] ++ lib.optionals cudaSupport [ - "--set CUDA_PATH ${cudaEnv}" - "--set NVIDIA_DRIVER_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib/libnvidia-tls.so" - "--set CUDA_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib/libcuda.so" - ]; + flite + fontconfig + freetype + glib + gmpxx + keyutils.lib + libGL + libGLU + libpcap + libtins + libuuid + libxkbcommon + libxml2 + llvmPackages_12.libllvm.lib + matio + mpfr + ncurses + opencv4 + openjdk11 + openssl + pciutils + tre + unixODBC + xcbutilimage + xcbutilkeysyms + xkeyboard_config + ] + ++ (with xorg; [ + libICE + libSM + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXinerama + libXmu + libXrandr + libXrender + libXtst + libxcb + ]) + ++ lib.optional cudaSupport cudaEnv; + + wrapProgramFlags = + [ + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + dbus + gcc-unwrapped.lib + zlib + ] + }" + "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" + # Fix libQt errors - #96490 + "--set USE_WOLFRAM_LD_LIBRARY_PATH 1" + # Fix xkeyboard config path for Qt + "--set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb" + # if wayland isn't supported we fail over to xcb + # see https://github.com/qt/qtbase/blob/35d0f012ee9b95e8cf3563a41d710ff3c023d841/src/gui/kernel/qguiapplication.cpp#L1218 + "--set QT_QPA_PLATFORM wayland;xcb" + ] + ++ lib.optionals cudaSupport [ + "--set CUDA_PATH ${cudaEnv}" + "--set NVIDIA_DRIVER_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib/libnvidia-tls.so" + "--set CUDA_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib/libcuda.so" + ]; unpackPhase = '' runHook preUnpack diff --git a/pkgs/applications/science/math/mathematica/versions.nix b/pkgs/applications/science/math/mathematica/versions.nix index a88aca6f12a8f..1fb6003ea2571 100644 --- a/pkgs/applications/science/math/mathematica/versions.nix +++ b/pkgs/applications/science/math/mathematica/versions.nix @@ -1,179 +1,189 @@ { lib, requireFile }: /* - * To calculate the hash of an installer, use a command like this: - * - * nix --extra-experimental-features nix-command hash file - */ + To calculate the hash of an installer, use a command like this: -let versions = [ - { - version = "14.1.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-PCpjwqA6NC+iwvYxddYBlmF5+vl76r+MoIYAL91WFns="; - installer = "Wolfram_14.1.0_LIN.sh"; - } - { - version = "14.1.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-pnu60Pv3xo3+MAkDLiU3yTPVbbQ00diV45vSVL8B310="; - installer = "Wolfram_14.1.0_LIN_Bndl.sh"; - } - { - version = "14.0.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-NzMhGQZq6o6V4UdtJxUH/yyP2s7wjTR86SRA7lW7JfI="; - installer = "Mathematica_14.0.0_LINUX.sh"; - } - { - version = "14.0.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-UrcBEg6G6nbVX++X0z0oG5JjieXL0AquAqtjzY5EBn4="; - installer = "Mathematica_14.0.0_BNDL_LINUX.sh"; - } - { - version = "13.3.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-0+mYVGiF4Qn3eiLIoINSHVIqT8GtlBPFRYIOF+nHyQo="; - installer = "Mathematica_13.3.1_LINUX.sh"; - } - { - version = "13.3.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-03R4s05fmTcZnlZIMSI6xlLER58MIoccoCr27F8BXOk="; - installer = "Mathematica_13.3.1_BNDL_LINUX.sh"; - } - { - version = "13.3.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-24MC0O+kBUe3TrwXUb+7QZt8tQHvWVIT8F9B6Ih+4k8="; - installer = "Mathematica_13.3.0_LINUX.sh"; - } - { - version = "13.3.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-91bw7+4ht+7g+eF32BNYf77yEQWyuPffisj4kB63pcI="; - installer = "Mathematica_13.3.0_BNDL_LINUX.sh"; - } - { - version = "13.2.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-GA2k+jvE4mTJsIbMHce5c516h/glHLnXdthEfnNmk0w="; - installer = "Mathematica_13.2.1_LINUX.sh"; - } - { - version = "13.2.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-ZvgG2W/gjQIo4hyXHsGta5FyTslrz/ltOe/ZK/U2Sx8="; - installer = "Mathematica_13.2.1_BNDL_LINUX.sh"; - } - { - version = "13.2.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-T9XOXA6jpgN6bcO/do9sw1L73ABtyxuZCLzftv4Cl6o="; - installer = "Mathematica_13.2.0_LINUX.sh"; - } - { - version = "13.2.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-YRUvl2H9SwpwDZx04ugd7ZnK5G+t88bzAObXsGGVhk0="; - installer = "Mathematica_13.2.0_BNDL_LINUX.sh"; - } - { - version = "13.1.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-GZyUYslx/M4aFI3Pj9Osw3/w79/Jp/4T3mRE277pNuM="; - installer = "Mathematica_13.1.0_LINUX.sh"; - } - { - version = "13.1.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-LIpGAJ3uTkZgjc0YykwusyyHQKlCnTvrZGStFfSOz60="; - installer = "Mathematica_13.1.0_BNDL_LINUX.sh"; - } - { - version = "13.0.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-NnKpIMG0rxr9SAcz9tZ2Zbr4JYdX3+WabtbXRAzybbo="; - installer = "Mathematica_13.0.1_BNDL_LINUX.sh"; - } - { - version = "13.0.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-FbutOaWZUDEyXR0Xj2OwDnFwbT7JAB66bRaB+8mR0+E="; - installer = "Mathematica_13.0.0_BNDL_LINUX.sh"; - } - { - version = "12.3.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-UbnKsS/ZGwCep61JaKLIpZ6U3FXS5swdcSrNW6LE1Qk="; - installer = "Mathematica_12.3.1_LINUX.sh"; - } - { - version = "12.3.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-BF3wRfbnlt7Vn2TrLg8ZSayI3LodW24F+1PqCkrtchU="; - installer = "Mathematica_12.3.0_LINUX.sh"; - } - { - version = "12.2.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-O2Z2ogPGrbfpxBilSEsDeXQoe1vgnGTn3+p03cDkANc="; - installer = "Mathematica_12.2.0_LINUX.sh"; - } - { - version = "12.1.1"; - lang = "en"; - language = "English"; - sha256 = "sha256-rUe4hr5KmGTXD1I/eSYVoFHU68mH2aD2VLZFtOtDswo="; - installer = "Mathematica_12.1.1_LINUX.sh"; - } - { - version = "12.1.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-56P1KKOTJkQj+K9wppAsnYpej/YB3VUNL7DPLYGgqZY="; - installer = "Mathematica_12.1.0_LINUX.sh"; - } - { - version = "12.0.0"; - lang = "en"; - language = "English"; - sha256 = "sha256-uftx4a/MHXLCABlv+kNFEtII+ikg4geHhDP1BOWK6dc="; - installer = "Mathematica_12.0.0_LINUX.sh"; - } -]; + nix --extra-experimental-features nix-command hash file +*/ + +let + versions = [ + { + version = "14.1.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-PCpjwqA6NC+iwvYxddYBlmF5+vl76r+MoIYAL91WFns="; + installer = "Wolfram_14.1.0_LIN.sh"; + } + { + version = "14.1.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-pnu60Pv3xo3+MAkDLiU3yTPVbbQ00diV45vSVL8B310="; + installer = "Wolfram_14.1.0_LIN_Bndl.sh"; + } + { + version = "14.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-NzMhGQZq6o6V4UdtJxUH/yyP2s7wjTR86SRA7lW7JfI="; + installer = "Mathematica_14.0.0_LINUX.sh"; + } + { + version = "14.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-UrcBEg6G6nbVX++X0z0oG5JjieXL0AquAqtjzY5EBn4="; + installer = "Mathematica_14.0.0_BNDL_LINUX.sh"; + } + { + version = "13.3.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-0+mYVGiF4Qn3eiLIoINSHVIqT8GtlBPFRYIOF+nHyQo="; + installer = "Mathematica_13.3.1_LINUX.sh"; + } + { + version = "13.3.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-03R4s05fmTcZnlZIMSI6xlLER58MIoccoCr27F8BXOk="; + installer = "Mathematica_13.3.1_BNDL_LINUX.sh"; + } + { + version = "13.3.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-24MC0O+kBUe3TrwXUb+7QZt8tQHvWVIT8F9B6Ih+4k8="; + installer = "Mathematica_13.3.0_LINUX.sh"; + } + { + version = "13.3.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-91bw7+4ht+7g+eF32BNYf77yEQWyuPffisj4kB63pcI="; + installer = "Mathematica_13.3.0_BNDL_LINUX.sh"; + } + { + version = "13.2.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-GA2k+jvE4mTJsIbMHce5c516h/glHLnXdthEfnNmk0w="; + installer = "Mathematica_13.2.1_LINUX.sh"; + } + { + version = "13.2.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-ZvgG2W/gjQIo4hyXHsGta5FyTslrz/ltOe/ZK/U2Sx8="; + installer = "Mathematica_13.2.1_BNDL_LINUX.sh"; + } + { + version = "13.2.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-T9XOXA6jpgN6bcO/do9sw1L73ABtyxuZCLzftv4Cl6o="; + installer = "Mathematica_13.2.0_LINUX.sh"; + } + { + version = "13.2.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-YRUvl2H9SwpwDZx04ugd7ZnK5G+t88bzAObXsGGVhk0="; + installer = "Mathematica_13.2.0_BNDL_LINUX.sh"; + } + { + version = "13.1.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-GZyUYslx/M4aFI3Pj9Osw3/w79/Jp/4T3mRE277pNuM="; + installer = "Mathematica_13.1.0_LINUX.sh"; + } + { + version = "13.1.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-LIpGAJ3uTkZgjc0YykwusyyHQKlCnTvrZGStFfSOz60="; + installer = "Mathematica_13.1.0_BNDL_LINUX.sh"; + } + { + version = "13.0.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-NnKpIMG0rxr9SAcz9tZ2Zbr4JYdX3+WabtbXRAzybbo="; + installer = "Mathematica_13.0.1_BNDL_LINUX.sh"; + } + { + version = "13.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-FbutOaWZUDEyXR0Xj2OwDnFwbT7JAB66bRaB+8mR0+E="; + installer = "Mathematica_13.0.0_BNDL_LINUX.sh"; + } + { + version = "12.3.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-UbnKsS/ZGwCep61JaKLIpZ6U3FXS5swdcSrNW6LE1Qk="; + installer = "Mathematica_12.3.1_LINUX.sh"; + } + { + version = "12.3.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-BF3wRfbnlt7Vn2TrLg8ZSayI3LodW24F+1PqCkrtchU="; + installer = "Mathematica_12.3.0_LINUX.sh"; + } + { + version = "12.2.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-O2Z2ogPGrbfpxBilSEsDeXQoe1vgnGTn3+p03cDkANc="; + installer = "Mathematica_12.2.0_LINUX.sh"; + } + { + version = "12.1.1"; + lang = "en"; + language = "English"; + sha256 = "sha256-rUe4hr5KmGTXD1I/eSYVoFHU68mH2aD2VLZFtOtDswo="; + installer = "Mathematica_12.1.1_LINUX.sh"; + } + { + version = "12.1.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-56P1KKOTJkQj+K9wppAsnYpej/YB3VUNL7DPLYGgqZY="; + installer = "Mathematica_12.1.0_LINUX.sh"; + } + { + version = "12.0.0"; + lang = "en"; + language = "English"; + sha256 = "sha256-uftx4a/MHXLCABlv+kNFEtII+ikg4geHhDP1BOWK6dc="; + installer = "Mathematica_12.0.0_LINUX.sh"; + } + ]; in -lib.flip map versions ({ version, lang, language, sha256, installer }: { - inherit version lang; - src = requireFile { - name = installer; - message = '' - This nix expression requires that ${installer} is - already part of the store. Find the file on your Mathematica CD - and add it to the nix store with nix-store --add-fixed sha256 . - ''; - inherit sha256; - }; -}) +lib.flip map versions ( + { + version, + lang, + language, + sha256, + installer, + }: + { + inherit version lang; + src = requireFile { + name = installer; + message = '' + This nix expression requires that ${installer} is + already part of the store. Find the file on your Mathematica CD + and add it to the nix store with nix-store --add-fixed sha256 . + ''; + inherit sha256; + }; + } +) diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index c1458186b2ae1..cf6f2f3bb25b3 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -1,22 +1,29 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, texinfo -, perl -, python3 -, makeWrapper -, autoreconfHook -, rlwrap ? null -, tk ? null -, gnuplot ? null -, lisp-compiler +{ + lib, + stdenv, + fetchurl, + fetchpatch, + texinfo, + perl, + python3, + makeWrapper, + autoreconfHook, + rlwrap ? null, + tk ? null, + gnuplot ? null, + lisp-compiler, }: let # Allow to remove some executables from the $PATH of the wrapped binary - searchPath = lib.makeBinPath - (lib.filter (x: x != null) [ lisp-compiler rlwrap tk gnuplot ]); + searchPath = lib.makeBinPath ( + lib.filter (x: x != null) [ + lisp-compiler + rlwrap + tk + gnuplot + ] + ); in stdenv.mkDerivation (finalAttrs: { pname = "maxima"; @@ -45,20 +52,20 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace doc/info/Makefile.am --replace "/usr/bin/env perl" "${perl}/bin/perl" ''; - postInstall = '' - # Make sure that maxima can find its runtime dependencies. - for prog in "$out/bin/"*; do - wrapProgram "$prog" --prefix PATH ":" "$out/bin:${searchPath}" - done - # Move emacs modules and documentation into the right place. - mkdir -p $out/share/emacs $out/share/doc - ln -s ../maxima/${finalAttrs.version}/emacs $out/share/emacs/site-lisp - ln -s ../maxima/${finalAttrs.version}/doc $out/share/doc/maxima - '' - + (lib.optionalString (lisp-compiler.pname == "ecl") '' - cp src/binary-ecl/maxima.fas* "$out/lib/maxima/${finalAttrs.version}/binary-ecl/" - '') - ; + postInstall = + '' + # Make sure that maxima can find its runtime dependencies. + for prog in "$out/bin/"*; do + wrapProgram "$prog" --prefix PATH ":" "$out/bin:${searchPath}" + done + # Move emacs modules and documentation into the right place. + mkdir -p $out/share/emacs $out/share/doc + ln -s ../maxima/${finalAttrs.version}/emacs $out/share/emacs/site-lisp + ln -s ../maxima/${finalAttrs.version}/doc $out/share/doc/maxima + '' + + (lib.optionalString (lisp-compiler.pname == "ecl") '' + cp src/binary-ecl/maxima.fas* "$out/lib/maxima/${finalAttrs.version}/binary-ecl/" + ''); patches = [ # fix path to info dir (see https://trac.sagemath.org/ticket/11348) @@ -95,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: { # # These failures don't look serious. It would be nice to fix them, but I # don't know how and probably won't have the time to find out. - doCheck = false; # try to re-enable after next version update + doCheck = false; # try to re-enable after next version update enableParallelBuilding = true; diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 880caaff5afb6..50576390ee02e 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -1,11 +1,30 @@ -{ config, stdenv, lib, fetchurl, fetchpatch, bash, cmake -, opencv4, gtest, blas, gomp, llvmPackages, perl -, cudaSupport ? config.cudaSupport, cudaPackages ? { }, nvidia_x11 -, cudnnSupport ? cudaSupport +{ + config, + stdenv, + lib, + fetchurl, + fetchpatch, + bash, + cmake, + opencv4, + gtest, + blas, + gomp, + llvmPackages, + perl, + cudaSupport ? config.cudaSupport, + cudaPackages ? { }, + nvidia_x11, + cudnnSupport ? cudaSupport, }: let - inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn; + inherit (cudaPackages) + backendStdenv + cudatoolkit + cudaFlags + cudnn + ; in assert cudnnSupport -> cudaSupport; @@ -30,28 +49,44 @@ stdenv.mkDerivation rec { (fetchpatch { name = "2-auto-disable-sse-for-non-x86.patch"; url = "https://github.com/apache/incubator-mxnet/commit/c1b96f562f55dfa024ac941d7b104f00e239ee0f.patch"; - excludes = ["ci/docker/runtime_functions.sh"]; + excludes = [ "ci/docker/runtime_functions.sh" ]; hash = "sha256-r1LbC8ueRooW5tTNakAlRSJ+9aR4WXXoEKx895DgOs4="; }) ]; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ + cmake + perl + ]; - buildInputs = [ opencv4 gtest blas.provider ] + buildInputs = + [ + opencv4 + gtest + blas.provider + ] ++ lib.optional stdenv.cc.isGNU gomp ++ lib.optional stdenv.cc.isClang llvmPackages.openmp # FIXME: when cuda build is fixed, remove nvidia_x11, and use /run/opengl-driver/lib - ++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ] + ++ lib.optionals cudaSupport [ + cudatoolkit + nvidia_x11 + ] ++ lib.optional cudnnSupport cudnn; cmakeFlags = [ "-DUSE_MKL_IF_AVAILABLE=OFF" ] - ++ (if cudaSupport then [ - "-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743 - "-DCUDA_ARCH_NAME=All" - "-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc" - "-DMXNET_CUDA_ARCH=${builtins.concatStringsSep ";" cudaFlags.realArches}" - ] else [ "-DUSE_CUDA=OFF" ]) + ++ ( + if cudaSupport then + [ + "-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743 + "-DCUDA_ARCH_NAME=All" + "-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc" + "-DMXNET_CUDA_ARCH=${builtins.concatStringsSep ";" cudaFlags.realArches}" + ] + else + [ "-DUSE_CUDA=OFF" ] + ) ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF"; env.NIX_CFLAGS_COMPILE = toString [ @@ -75,7 +110,12 @@ stdenv.mkDerivation rec { # used to mark cudaSupport in python310Packages.mxnet as broken; # other attributes exposed for consistency passthru = { - inherit cudaSupport cudnnSupport cudatoolkit cudnn; + inherit + cudaSupport + cudnnSupport + cudatoolkit + cudnn + ; }; meta = with lib; { diff --git a/pkgs/applications/science/math/nota/default.nix b/pkgs/applications/science/math/nota/default.nix index 3a98eacd47171..10a6ec30cb33c 100644 --- a/pkgs/applications/science/math/nota/default.nix +++ b/pkgs/applications/science/math/nota/default.nix @@ -1,4 +1,9 @@ -{ mkDerivation, haskellPackages, fetchurl, lib }: +{ + mkDerivation, + haskellPackages, + fetchurl, + lib, +}: mkDerivation rec { pname = "nota"; diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix index 37a671e75cd5d..935a52934a9a4 100644 --- a/pkgs/applications/science/math/pari/gp2c.nix +++ b/pkgs/applications/science/math/pari/gp2c.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pari -, perl +{ + lib, + stdenv, + fetchurl, + pari, + perl, }: stdenv.mkDerivation rec { @@ -26,8 +27,13 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://pari.math.u-bordeaux.fr/"; - description = "Compiler to translate GP scripts to PARI programs"; + description = "Compiler to translate GP scripts to PARI programs"; downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; - inherit (pari.meta) license maintainers platforms broken; + inherit (pari.meta) + license + maintainers + platforms + broken + ; }; } diff --git a/pkgs/applications/science/math/qalculate-qt/default.nix b/pkgs/applications/science/math/qalculate-qt/default.nix index fcaf46fbb92b6..2f6992de69274 100644 --- a/pkgs/applications/science/math/qalculate-qt/default.nix +++ b/pkgs/applications/science/math/qalculate-qt/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, intltool, pkg-config, qmake, wrapQtAppsHook, libqalculate, qtbase, qttools, qtsvg, qtwayland }: +{ + lib, + stdenv, + fetchFromGitHub, + intltool, + pkg-config, + qmake, + wrapQtAppsHook, + libqalculate, + qtbase, + qttools, + qtsvg, + qtwayland, +}: stdenv.mkDerivation (finalAttrs: { pname = "qalculate-qt"; @@ -11,9 +24,18 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Tpb/ZN5p3JfPug9NpBHguOi6Okek+g87orD4ISkV+ac="; }; - nativeBuildInputs = [ qmake intltool pkg-config qttools wrapQtAppsHook ]; - buildInputs = [ libqalculate qtbase qtsvg ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; + nativeBuildInputs = [ + qmake + intltool + pkg-config + qttools + wrapQtAppsHook + ]; + buildInputs = [ + libqalculate + qtbase + qtsvg + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; postPatch = '' substituteInPlace qalculate-qt.pro\ diff --git a/pkgs/applications/science/math/speedcrunch/default.nix b/pkgs/applications/science/math/speedcrunch/default.nix index ed7339ab56775..e2c7760d7a624 100644 --- a/pkgs/applications/science/math/speedcrunch/default.nix +++ b/pkgs/applications/science/math/speedcrunch/default.nix @@ -1,4 +1,12 @@ -{ stdenv, mkDerivation, lib, fetchFromBitbucket, cmake, qtbase, qttools }: +{ + stdenv, + mkDerivation, + lib, + fetchFromBitbucket, + cmake, + qtbase, + qttools, +}: mkDerivation rec { pname = "speedcrunch"; @@ -11,7 +19,10 @@ mkDerivation rec { sha256 = "sha256-XxQv+A5SfYXFIRK7yacxGHHne1Q93pwCGeHhchIKizU="; }; - buildInputs = [ qtbase qttools ]; + buildInputs = [ + qtbase + qttools + ]; nativeBuildInputs = [ cmake ]; @@ -20,8 +31,8 @@ mkDerivation rec { ''; meta = with lib; { - homepage = "http://speedcrunch.org"; - license = licenses.gpl2Plus; + homepage = "http://speedcrunch.org"; + license = licenses.gpl2Plus; description = "Fast power user calculator"; mainProgram = "speedcrunch"; longDescription = '' @@ -30,7 +41,10 @@ mkDerivation rec { precisions, unlimited variable storage, intelligent automatic completion full keyboard-friendly and more than 15 built-in math function. ''; - maintainers = with maintainers; [ gebner j0hax ]; + maintainers = with maintainers; [ + gebner + j0hax + ]; inherit (qtbase.meta) platforms; broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix index 6f907ba9c0c39..57f3bd1a1100c 100644 --- a/pkgs/applications/science/math/weka/default.nix +++ b/pkgs/applications/science/math/weka/default.nix @@ -1,15 +1,25 @@ -{ lib, stdenv, fetchurl, jre, unzip, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + unzip, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "weka"; version = "3.9.6"; src = fetchurl { - url = "mirror://sourceforge/weka/${lib.replaceStrings ["."]["-"] "${pname}-${version}"}.zip"; + url = "mirror://sourceforge/weka/${lib.replaceStrings [ "." ] [ "-" ] "${pname}-${version}"}.zip"; sha256 = "sha256-8fVN4MXYqXNEmyVtXh1IrauHTBZWgWG8AvsGI5Y9Aj0="; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; # The -Xmx1000M comes suggested from their download page: # https://www.cs.waikato.ac.nz/ml/weka/downloading.html diff --git a/pkgs/applications/science/math/wolfram-engine/default.nix b/pkgs/applications/science/math/wolfram-engine/default.nix index 5eff7513953ca..bd3d9fbf769ce 100644 --- a/pkgs/applications/science/math/wolfram-engine/default.nix +++ b/pkgs/applications/science/math/wolfram-engine/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, autoPatchelfHook -, requireFile -, alsa-lib -, dbus -, fontconfig -, freetype -, gcc -, glib -, installShellFiles -, libssh2 -, ncurses -, opencv4 -, openssl -, unixODBC -, xkeyboard_config -, xorg -, zlib -, libxml2 -, libuuid -, lang ? "en" -, libGL -, libGLU -, wrapQtAppsHook +{ + lib, + stdenv, + autoPatchelfHook, + requireFile, + alsa-lib, + dbus, + fontconfig, + freetype, + gcc, + glib, + installShellFiles, + libssh2, + ncurses, + opencv4, + openssl, + unixODBC, + xkeyboard_config, + xorg, + zlib, + libxml2, + libuuid, + lang ? "en", + libGL, + libGLU, + wrapQtAppsHook, }: let @@ -42,47 +43,51 @@ stdenv.mkDerivation rec { ]; dontWrapQtApps = true; - buildInputs = [ - alsa-lib - dbus - fontconfig - freetype - gcc.cc - gcc.libc - glib - libssh2 - ncurses - opencv4 - openssl - (lib.getLib stdenv.cc.cc) - unixODBC - xkeyboard_config - libxml2 - libuuid - zlib - libGL - libGLU - ] ++ (with xorg; [ - libX11 - libXext - libXtst - libXi - libXmu - libXrender - libxcb - libXcursor - libXfixes - libXrandr - libICE - libSM - ]); + buildInputs = + [ + alsa-lib + dbus + fontconfig + freetype + gcc.cc + gcc.libc + glib + libssh2 + ncurses + opencv4 + openssl + (lib.getLib stdenv.cc.cc) + unixODBC + xkeyboard_config + libxml2 + libuuid + zlib + libGL + libGLU + ] + ++ (with xorg; [ + libX11 + libXext + libXtst + libXi + libXmu + libXrender + libxcb + libXcursor + libXfixes + libXrandr + libICE + libSM + ]); # some bundled libs are found through LD_LIBRARY_PATH autoPatchelfIgnoreMissingDeps = true; - ldpath = lib.makeLibraryPath buildInputs - + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") - (":" + lib.makeSearchPathOutput "lib" "lib64" buildInputs); + ldpath = + lib.makeLibraryPath buildInputs + + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ( + ":" + lib.makeSearchPathOutput "lib" "lib64" buildInputs + ); unpackPhase = '' # find offset from file diff --git a/pkgs/applications/science/math/wolfram-engine/l10ns.nix b/pkgs/applications/science/math/wolfram-engine/l10ns.nix index de9b677ab17a4..b362e6de05945 100644 --- a/pkgs/applications/science/math/wolfram-engine/l10ns.nix +++ b/pkgs/applications/science/math/wolfram-engine/l10ns.nix @@ -1,77 +1,88 @@ -{ lib -, requireFile -, lang -, majorVersion ? null +{ + lib, + requireFile, + lang, + majorVersion ? null, }: -let allVersions = lib.flip map - # N.B. Versions in this list should be ordered from newest to oldest. - [ - { - version = "14.1.0"; - lang = "en"; - language = "English"; - sha256 = "1kxdvm3i7nn3ws784y972h2br1n0y82kkkjvz7c5llssv6d3pgj8"; - installer = "WolframEngine_14.1.0_LIN.sh"; - } - { - version = "13.3.0"; - lang = "en"; - language = "English"; - sha256 = "96106ac8ed6d0e221a68d846117615c14025320f927e5e0ed95b1965eda68e31"; - installer = "WolframEngine_13.3.0_LINUX.sh"; - } - { - version = "13.2.0"; - lang = "en"; - language = "English"; - sha256 = "1xvg1n64iq52jxnk9y551m5iwkkz6cxzwyw28h8d0kq36aaiky24"; - installer = "WolframEngine_13.2.0_LINUX.sh"; - } - { - version = "13.1.0"; - lang = "en"; - language = "English"; - sha256 = "1659kyp38a8xknic95pynx9fsgn96i8jn9lnk89pc8n6vydw1460"; - installer = "WolframEngine_13.1.0_LINUX.sh"; - } - { - version = "13.0.1"; - lang = "en"; - language = "English"; - sha256 = "1rrxi7d51m02407k719fq829jzanh550wr810i22n3irhk8axqga"; - installer = "WolframEngine_13.0.1_LINUX.sh"; - } - { - version = "13.0.0"; - lang = "en"; - language = "English"; - sha256 = "10cpwllz9plxz22iqdh6xgkxqphl9s9nq8ax16pafjll6j9kqy1q"; - installer = "WolframEngine_13.0.0_LINUX.sh"; - } - ] - ({ version, lang, language, sha256, installer }: { - inherit version lang; - name = "wolfram-engine-${version}" + lib.optionalString (lang != "en") "-${lang}"; - src = requireFile { - name = installer; - message = '' - This nix expression requires that ${installer} is - already part of the store. Download the file from - https://www.wolfram.com/engine/ and add it to the nix store - with nix-store --add-fixed sha256 . - ''; - inherit sha256; - }; - }); -minVersion = - if majorVersion == null - then lib.elemAt (builtins.splitVersion (lib.elemAt allVersions 0).version) 0 - else majorVersion; -maxVersion = toString (1 + builtins.fromJSON minVersion); +let + allVersions = + lib.flip map + # N.B. Versions in this list should be ordered from newest to oldest. + [ + { + version = "14.1.0"; + lang = "en"; + language = "English"; + sha256 = "1kxdvm3i7nn3ws784y972h2br1n0y82kkkjvz7c5llssv6d3pgj8"; + installer = "WolframEngine_14.1.0_LIN.sh"; + } + { + version = "13.3.0"; + lang = "en"; + language = "English"; + sha256 = "96106ac8ed6d0e221a68d846117615c14025320f927e5e0ed95b1965eda68e31"; + installer = "WolframEngine_13.3.0_LINUX.sh"; + } + { + version = "13.2.0"; + lang = "en"; + language = "English"; + sha256 = "1xvg1n64iq52jxnk9y551m5iwkkz6cxzwyw28h8d0kq36aaiky24"; + installer = "WolframEngine_13.2.0_LINUX.sh"; + } + { + version = "13.1.0"; + lang = "en"; + language = "English"; + sha256 = "1659kyp38a8xknic95pynx9fsgn96i8jn9lnk89pc8n6vydw1460"; + installer = "WolframEngine_13.1.0_LINUX.sh"; + } + { + version = "13.0.1"; + lang = "en"; + language = "English"; + sha256 = "1rrxi7d51m02407k719fq829jzanh550wr810i22n3irhk8axqga"; + installer = "WolframEngine_13.0.1_LINUX.sh"; + } + { + version = "13.0.0"; + lang = "en"; + language = "English"; + sha256 = "10cpwllz9plxz22iqdh6xgkxqphl9s9nq8ax16pafjll6j9kqy1q"; + installer = "WolframEngine_13.0.0_LINUX.sh"; + } + ] + ( + { + version, + lang, + language, + sha256, + installer, + }: + { + inherit version lang; + name = "wolfram-engine-${version}" + lib.optionalString (lang != "en") "-${lang}"; + src = requireFile { + name = installer; + message = '' + This nix expression requires that ${installer} is + already part of the store. Download the file from + https://www.wolfram.com/engine/ and add it to the nix store + with nix-store --add-fixed sha256 . + ''; + inherit sha256; + }; + } + ); + minVersion = + if majorVersion == null then + lib.elemAt (builtins.splitVersion (lib.elemAt allVersions 0).version) 0 + else + majorVersion; + maxVersion = toString (1 + builtins.fromJSON minVersion); in -lib.findFirst (l: (l.lang == lang - && l.version >= minVersion - && l.version < maxVersion)) - (throw "Version ${minVersion} in language ${lang} not supported") - allVersions +lib.findFirst ( + l: (l.lang == lang && l.version >= minVersion && l.version < maxVersion) +) (throw "Version ${minVersion} in language ${lang} not supported") allVersions diff --git a/pkgs/applications/science/math/wolfram-engine/notebook.nix b/pkgs/applications/science/math/wolfram-engine/notebook.nix index 07cd0afa3099d..cf55dade56cb3 100644 --- a/pkgs/applications/science/math/wolfram-engine/notebook.nix +++ b/pkgs/applications/science/math/wolfram-engine/notebook.nix @@ -1,9 +1,18 @@ -{ stdenv, writeScriptBin, jupyter, wolfram-for-jupyter-kernel }: +{ + stdenv, + writeScriptBin, + jupyter, + wolfram-for-jupyter-kernel, +}: let - wolfram-jupyter = jupyter.override { definitions = { wolfram = wolfram-for-jupyter-kernel.definition; }; }; + wolfram-jupyter = jupyter.override { + definitions = { + wolfram = wolfram-for-jupyter-kernel.definition; + }; + }; in - writeScriptBin "wolfram-notebook" '' - #! ${stdenv.shell} - ${wolfram-jupyter}/bin/jupyter-notebook - '' +writeScriptBin "wolfram-notebook" '' + #! ${stdenv.shell} + ${wolfram-jupyter}/bin/jupyter-notebook +'' diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix index 048389d80b5c2..bb363c9f537af 100644 --- a/pkgs/applications/science/math/wxmaxima/default.nix +++ b/pkgs/applications/science/math/wxmaxima/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapGAppsHook3 -, cmake -, gettext -, maxima -, wxGTK -, adwaita-icon-theme -, glib +{ + lib, + stdenv, + fetchFromGitHub, + wrapGAppsHook3, + cmake, + gettext, + maxima, + wxGTK, + adwaita-icon-theme, + glib, }: -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "wxmaxima"; version = "24.11.0"; diff --git a/pkgs/applications/science/math/yacas/default.nix b/pkgs/applications/science/math/yacas/default.nix index ad4e3f37d07ff..26744a19f86f5 100644 --- a/pkgs/applications/science/math/yacas/default.nix +++ b/pkgs/applications/science/math/yacas/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, perl -, enableGui ? false -, qtbase -, wrapQtAppsHook -, qtwebengine -, enableJupyter ? true -, boost -, jsoncpp -, openssl -, zmqpp -, enableJava ? false -, openjdk -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + perl, + enableGui ? false, + qtbase, + wrapQtAppsHook, + qtwebengine, + enableJupyter ? true, + boost, + jsoncpp, + openssl, + zmqpp, + enableJava ? false, + openjdk, + gtest, }: stdenv.mkDerivation rec { @@ -57,24 +58,29 @@ stdenv.mkDerivation rec { ]; doCheck = true; - nativeBuildInputs = [ - cmake - # Perl is only for the documentation - perl - ] ++ lib.optionals enableJava [ - openjdk - ]; - buildInputs = [ - ] ++ lib.optionals enableGui [ - qtbase - wrapQtAppsHook - qtwebengine - ] ++ lib.optionals enableJupyter [ - boost - jsoncpp - openssl - zmqpp - ]; + nativeBuildInputs = + [ + cmake + # Perl is only for the documentation + perl + ] + ++ lib.optionals enableJava [ + openjdk + ]; + buildInputs = + [ + ] + ++ lib.optionals enableGui [ + qtbase + wrapQtAppsHook + qtwebengine + ] + ++ lib.optionals enableJupyter [ + boost + jsoncpp + openssl + zmqpp + ]; meta = { description = "Easy to use, general purpose Computer Algebra System${lib.optionalString enableGui ", built with GUI."}"; diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix index b8b57857c02aa..28ee8e6bbe1e0 100644 --- a/pkgs/applications/science/misc/boinc/default.nix +++ b/pkgs/applications/science/misc/boinc/default.nix @@ -1,28 +1,29 @@ -{ fetchFromGitHub -, lib -, stdenv -, autoconf -, automake -, pkg-config -, m4 -, curl -, libGLU -, libGL -, libXmu -, libXi -, libglut -, libjpeg -, libtool -, wxGTK32 -, xcbutil -, sqlite -, gtk3 -, patchelf -, libXScrnSaver -, libnotify -, libX11 -, libxcb -, headless ? false +{ + fetchFromGitHub, + lib, + stdenv, + autoconf, + automake, + pkg-config, + m4, + curl, + libGLU, + libGL, + libXmu, + libXi, + libglut, + libjpeg, + libtool, + wxGTK32, + xcbutil, + sqlite, + gtk3, + patchelf, + libXScrnSaver, + libnotify, + libX11, + libxcb, + headless ? false, }: stdenv.mkDerivation rec { @@ -37,28 +38,36 @@ stdenv.mkDerivation rec { hash = "sha256-dp0zRMIG0PGXhth+Cc8FDhzl5X/4ud3GFCdE7wqPL/c="; }; - nativeBuildInputs = [ libtool automake autoconf m4 pkg-config ]; - - buildInputs = [ - curl - sqlite - patchelf - ] ++ lib.optionals (!headless) [ - libGLU - libGL - libXmu - libXi - libglut - libjpeg - wxGTK32 - gtk3 - libXScrnSaver - libnotify - libX11 - libxcb - xcbutil + nativeBuildInputs = [ + libtool + automake + autoconf + m4 + pkg-config ]; + buildInputs = + [ + curl + sqlite + patchelf + ] + ++ lib.optionals (!headless) [ + libGLU + libGL + libXmu + libXi + libglut + libjpeg + wxGTK32 + gtk3 + libXScrnSaver + libnotify + libX11 + libxcb + xcbutil + ]; + NIX_LDFLAGS = lib.optionalString (!headless) "-lX11"; preConfigure = '' diff --git a/pkgs/applications/science/misc/convertall/default.nix b/pkgs/applications/science/misc/convertall/default.nix index 534562b028d89..703bb5b3221e3 100644 --- a/pkgs/applications/science/misc/convertall/default.nix +++ b/pkgs/applications/science/misc/convertall/default.nix @@ -1,8 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, python3, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + wrapQtAppsHook, +}: let inherit (python3.pkgs) wrapPython pyqt5; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "convertall"; version = "0.8.0"; @@ -13,7 +20,11 @@ in stdenv.mkDerivation rec { sha256 = "02xxasgbjbivsbhyfpn3cpv52lscdx5kc95s6ns1dvnmdg0fpng0"; }; - nativeBuildInputs = [ python3 wrapPython wrapQtAppsHook ]; + nativeBuildInputs = [ + python3 + wrapPython + wrapQtAppsHook + ]; propagatedBuildInputs = [ pyqt5 ]; diff --git a/pkgs/applications/science/misc/cytoscape/default.nix b/pkgs/applications/science/misc/cytoscape/default.nix index 4396fe135df07..886fb2ef55762 100644 --- a/pkgs/applications/science/misc/cytoscape/default.nix +++ b/pkgs/applications/science/misc/cytoscape/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper, substituteAll, coreutils }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, + substituteAll, + coreutils, +}: stdenv.mkDerivation rec { pname = "cytoscape"; @@ -39,7 +47,7 @@ stdenv.mkDerivation rec { description = "General platform for complex network analysis and visualization"; mainProgram = "cytoscape"; license = lib.licenses.lgpl21; - maintainers = [lib.maintainers.mimame]; + maintainers = [ lib.maintainers.mimame ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix index 8a2bb17d2d53f..ac8d7fa4ea333 100644 --- a/pkgs/applications/science/misc/golly/default.nix +++ b/pkgs/applications/science/misc/golly/default.nix @@ -1,19 +1,36 @@ -{lib, stdenv, fetchurl, wxGTK, python3, zlib, libGLU, libGL, libX11, SDL2}: +{ + lib, + stdenv, + fetchurl, + wxGTK, + python3, + zlib, + libGLU, + libGL, + libX11, + SDL2, +}: stdenv.mkDerivation rec { pname = "golly"; version = "4.3"; src = fetchurl { hash = "sha256-UdJHgGPn7FDN4rYTgfPBAoYE5FGC43TP8OFBmYIqCB0="; - url="mirror://sourceforge/project/golly/golly/golly-${version}/golly-${version}-src.tar.gz"; + url = "mirror://sourceforge/project/golly/golly/golly-${version}/golly-${version}-src.tar.gz"; }; buildInputs = [ - wxGTK python3 zlib libGLU libGL libX11 SDL2 + wxGTK + python3 + zlib + libGLU + libGL + libX11 + SDL2 ]; nativeBuildInputs = [ - (python3.withPackages (ps: [ps.setuptools])) + (python3.withPackages (ps: [ ps.setuptools ])) ]; setSourceRoot = '' @@ -27,8 +44,9 @@ stdenv.mkDerivation rec { grep /lib/libpython wxprefs.cpp ''; - makeFlags=[ - "-f" "makefile-gtk" + makeFlags = [ + "-f" + "makefile-gtk" "ENABLE_SOUND=1" "GOLLYDIR=${placeholder "out"}/share/golly" ]; @@ -47,7 +65,7 @@ stdenv.mkDerivation rec { meta = { description = "Cellular automata simulation program"; license = lib.licenses.gpl2; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; downloadPage = "https://sourceforge.net/projects/golly/files/golly"; }; diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix index 72504246b6c0a..33468a311162b 100644 --- a/pkgs/applications/science/misc/gplates/default.nix +++ b/pkgs/applications/science/misc/gplates/default.nix @@ -1,30 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, doxygen -, graphviz -, boost -, cgal_5 -, gdal -, glew -, gmp -, libGL -, libGLU -, libSM -, mpfr -, proj -, python3 -, qtxmlpatterns -, qwt -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + doxygen, + graphviz, + boost, + cgal_5, + gdal, + glew, + gmp, + libGL, + libGLU, + libSM, + mpfr, + proj, + python3, + qtxmlpatterns, + qwt, + wrapQtAppsHook, }: let - python = python3.withPackages (ps: with ps; [ - numpy - ]); + python = python3.withPackages ( + ps: with ps; [ + numpy + ] + ); boost' = boost.override { enablePython = true; inherit python; @@ -32,7 +35,8 @@ let cgal = cgal_5.override { boost = boost'; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "gplates"; version = "2.5"; diff --git a/pkgs/applications/science/misc/megam/default.nix b/pkgs/applications/science/misc/megam/default.nix index cae0fe9b26fdc..1199a7b71ca9c 100644 --- a/pkgs/applications/science/misc/megam/default.nix +++ b/pkgs/applications/science/misc/megam/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, ocaml -, ncurses +{ + lib, + stdenv, + fetchurl, + ocaml, + ncurses, }: stdenv.mkDerivation { @@ -14,7 +15,10 @@ stdenv.mkDerivation { sha256 = "dc0e9f59ff8513449fe3bd40b260141f89c88a4edf6ddc8b8a394c758e49724e"; }; - patches = [ ./ocaml-includes.patch ./ocaml-3.12.patch ]; + patches = [ + ./ocaml-includes.patch + ./ocaml-3.12.patch + ]; postPatch = '' # Deprecated in ocaml 3.10 https://github.com/ocaml/ocaml/commit/f6190f3d0c49c5220d443ee8d03ca5072d68aa87 diff --git a/pkgs/applications/science/misc/nextinspace/default.nix b/pkgs/applications/science/misc/nextinspace/default.nix index 742b4cb622c29..4298c889c74f4 100644 --- a/pkgs/applications/science/misc/nextinspace/default.nix +++ b/pkgs/applications/science/misc/nextinspace/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/applications/science/misc/openmodelica/combined/default.nix b/pkgs/applications/science/misc/openmodelica/combined/default.nix index 8d937dddac547..e7649374cc67e 100644 --- a/pkgs/applications/science/misc/openmodelica/combined/default.nix +++ b/pkgs/applications/science/misc/openmodelica/combined/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, openmodelica, symlinkJoin, gnumake, blas, lapack, makeWrapper }: +{ + stdenv, + lib, + openmodelica, + symlinkJoin, + gnumake, + blas, + lapack, + makeWrapper, +}: symlinkJoin { name = "openmodelica-combined"; paths = with openmodelica; [ @@ -15,8 +24,18 @@ symlinkJoin { postBuild = '' wrapProgram $out/bin/OMEdit \ - --prefix PATH : ${lib.makeBinPath [ gnumake stdenv.cc ]} \ - --prefix LIBRARY_PATH : "${lib.makeLibraryPath [ blas lapack ]}" \ + --prefix PATH : ${ + lib.makeBinPath [ + gnumake + stdenv.cc + ] + } \ + --prefix LIBRARY_PATH : "${ + lib.makeLibraryPath [ + blas + lapack + ] + }" \ --set-default OPENMODELICALIBRARY "${openmodelica.omlibrary}/lib/omlibrary" ''; @@ -24,7 +43,10 @@ symlinkJoin { description = "Open-source Modelica-based modeling and simulation environment intended for industrial and academic usage"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix index 10fccfdf6da8e..ece043751cdcc 100644 --- a/pkgs/applications/science/misc/openmodelica/default.nix +++ b/pkgs/applications/science/misc/openmodelica/default.nix @@ -1,5 +1,11 @@ -{ lib, newScope, libsForQt5, clangStdenv }: -lib.makeScope newScope (self: +{ + lib, + newScope, + libsForQt5, + clangStdenv, +}: +lib.makeScope newScope ( + self: let callPackage = self.newScope { stdenv = clangStdenv; }; callQtPackage = self.newScope (libsForQt5 // { stdenv = clangStdenv; }); @@ -14,4 +20,5 @@ lib.makeScope newScope (self: omlibrary = callPackage ./omlibrary { }; omshell = callQtPackage ./omshell { }; combined = callPackage ./combined { }; - }) + } +) diff --git a/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix b/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix index ffa0a158ac95a..e1807fe82bd20 100644 --- a/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix +++ b/pkgs/applications/science/misc/openmodelica/mkderivation/default.nix @@ -1,22 +1,40 @@ # mkOpenModelicaDerivation is an mkDerivation function for packages # from OpenModelica suite. -{ stdenv, lib, fetchgit, autoconf, automake, libtool, cmake, autoreconfHook, symlinkJoin }: +{ + stdenv, + lib, + fetchgit, + autoconf, + automake, + libtool, + cmake, + autoreconfHook, + symlinkJoin, +}: pkg: let - inherit (builtins) hasAttr getAttr length elemAt; + inherit (builtins) + hasAttr + getAttr + length + elemAt + ; inherit (lib) attrByPath concatStringsSep; - # A few helpers functions: # getAttrDef is just a getAttr with default fallback - getAttrDef = attr: default: x: attrByPath [ attr ] default x; + getAttrDef = + attr: default: x: + attrByPath [ attr ] default x; # getAttr-like helper for optional append to string: # "Hello" + appendByAttr "a" " " {a = "world";} = "Hello world" # "Hello" + appendByAttr "a" " " {} = "Hello" - appendByAttr = attr: sep: x: lib.optionalString (hasAttr attr x) (sep + (getAttr attr x)); + appendByAttr = + attr: sep: x: + lib.optionalString (hasAttr attr x) (sep + (getAttr attr x)); # Are there any OM dependencies at all? ifDeps = length pkg.omdeps != 0; @@ -24,8 +42,8 @@ let # Dependencies of current OpenModelica-target joined in one file tree. # Return the dep itself in case it is a single one. joinedDeps = - if length pkg.omdeps == 1 - then elemAt pkg.omdeps 0 + if length pkg.omdeps == 1 then + elemAt pkg.omdeps 0 else symlinkJoin { name = pkg.pname + "-omhome"; @@ -42,18 +60,19 @@ let omdir = getAttrDef "omdir" pkg.pname pkg; # Simple to to m4 configuration scripts - postPatch = lib.optionalString ifDeps '' - sed -i ''$(find -name omhome.m4) -e 's|if test ! -z "$USINGPRESETBUILDDIR"|if test ! -z "$USINGPRESETBUILDDIR" -a -z "$OMHOME"|' - '' + - appendByAttr "postPatch" "\n" pkg; + postPatch = + lib.optionalString ifDeps '' + sed -i ''$(find -name omhome.m4) -e 's|if test ! -z "$USINGPRESETBUILDDIR"|if test ! -z "$USINGPRESETBUILDDIR" -a -z "$OMHOME"|' + '' + + appendByAttr "postPatch" "\n" pkg; # Update shebangs in the scripts before running configuration. - preAutoreconf = "patchShebangs --build common" + - appendByAttr "preAutoreconf" "\n" pkg; + preAutoreconf = "patchShebangs --build common" + appendByAttr "preAutoreconf" "\n" pkg; # Tell OpenModelica where built dependencies are located. - configureFlags = lib.optional ifDeps "--with-openmodelicahome=${joinedDeps}" ++ - getAttrDef "configureFlags" [ ] pkg; + configureFlags = + lib.optional ifDeps "--with-openmodelicahome=${joinedDeps}" + ++ getAttrDef "configureFlags" [ ] pkg; # Our own configurePhase that accounts for omautoconf configurePhase = '' @@ -68,34 +87,48 @@ let deptargets = lib.forEach pkg.omdeps (dep: dep.omtarget); # ... so we ask openmodelica makefile to skip those targets. - preBuild = '' - for target in ${concatStringsSep " " deptargets}; do - touch ''${target}.skip; - done - '' + - appendByAttr "preBuild" "\n" pkg; - - makeFlags = "${omtarget}" + - appendByAttr "makeFlags" " " pkg; + preBuild = + '' + for target in ${concatStringsSep " " deptargets}; do + touch ''${target}.skip; + done + '' + + appendByAttr "preBuild" "\n" pkg; - installFlags = "-i " + - appendByAttr "installFlags" " " pkg; + makeFlags = "${omtarget}" + appendByAttr "makeFlags" " " pkg; + installFlags = "-i " + appendByAttr "installFlags" " " pkg; in -stdenv.mkDerivation (pkg // { - inherit omtarget postPatch preAutoreconf configureFlags configurePhase preBuild makeFlags installFlags; - - src = fetchgit (import ./src-main.nix); - version = "1.18.0"; - - nativeBuildInputs = getAttrDef "nativeBuildInputs" [ ] pkg - ++ [ autoconf automake libtool cmake autoreconfHook ]; - - buildInputs = getAttrDef "buildInputs" [ ] pkg - ++ lib.optional ifDeps joinedDeps; - - dontUseCmakeConfigure = true; - - hardeningDisable = [ "format" ]; -}) +stdenv.mkDerivation ( + pkg + // { + inherit + omtarget + postPatch + preAutoreconf + configureFlags + configurePhase + preBuild + makeFlags + installFlags + ; + + src = fetchgit (import ./src-main.nix); + version = "1.18.0"; + + nativeBuildInputs = getAttrDef "nativeBuildInputs" [ ] pkg ++ [ + autoconf + automake + libtool + cmake + autoreconfHook + ]; + + buildInputs = getAttrDef "buildInputs" [ ] pkg ++ lib.optional ifDeps joinedDeps; + + dontUseCmakeConfigure = true; + + hardeningDisable = [ "format" ]; + } +) diff --git a/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix b/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix index 82b9f8e36fe1d..3d08916482673 100644 --- a/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omcompiler/default.nix @@ -1,68 +1,84 @@ -{ stdenv -, lib -, gfortran -, flex -, bison -, jre8 -, blas -, lapack -, curl -, readline -, expat -, pkg-config -, buildPackages -, targetPackages -, libffi -, binutils -, mkOpenModelicaDerivation +{ + stdenv, + lib, + gfortran, + flex, + bison, + jre8, + blas, + lapack, + curl, + readline, + expat, + pkg-config, + buildPackages, + targetPackages, + libffi, + binutils, + mkOpenModelicaDerivation, }: let isCross = stdenv.buildPlatform != stdenv.hostPlatform; nativeOMCompiler = buildPackages.openmodelica.omcompiler; in -mkOpenModelicaDerivation ({ - pname = "omcompiler"; - omtarget = "omc"; - omdir = "OMCompiler"; - omdeps = [ ]; - omautoconf = true; +mkOpenModelicaDerivation ( + { + pname = "omcompiler"; + omtarget = "omc"; + omdir = "OMCompiler"; + omdeps = [ ]; + omautoconf = true; - nativeBuildInputs = [ - jre8 - gfortran - flex - bison - pkg-config - ] ++ lib.optional isCross nativeOMCompiler; + nativeBuildInputs = [ + jre8 + gfortran + flex + bison + pkg-config + ] ++ lib.optional isCross nativeOMCompiler; - buildInputs = [ targetPackages.stdenv.cc.cc blas lapack curl readline expat libffi binutils ]; + buildInputs = [ + targetPackages.stdenv.cc.cc + blas + lapack + curl + readline + expat + libffi + binutils + ]; - postPatch = '' - sed -i -e '/^\s*AR=ar$/ s/ar/${stdenv.cc.targetPrefix}ar/ - /^\s*ar / s/ar /${stdenv.cc.targetPrefix}ar / - /^\s*ranlib/ s/ranlib /${stdenv.cc.targetPrefix}ranlib /' \ - $(find ./OMCompiler -name 'Makefile*') - ''; + postPatch = '' + sed -i -e '/^\s*AR=ar$/ s/ar/${stdenv.cc.targetPrefix}ar/ + /^\s*ar / s/ar /${stdenv.cc.targetPrefix}ar / + /^\s*ranlib/ s/ranlib /${stdenv.cc.targetPrefix}ranlib /' \ + $(find ./OMCompiler -name 'Makefile*') + ''; - env.CFLAGS = toString [ - "-Wno-error=dynamic-exception-spec" - "-Wno-error=implicit-function-declaration" - ]; + env.CFLAGS = toString [ + "-Wno-error=dynamic-exception-spec" + "-Wno-error=implicit-function-declaration" + ]; - preFixup = '' - for entry in $(find $out -name libipopt.so); do - patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$entry" - patchelf --set-rpath '$ORIGIN':"$(patchelf --print-rpath $entry)" "$entry" - done - ''; + preFixup = '' + for entry in $(find $out -name libipopt.so); do + patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$entry" + patchelf --set-rpath '$ORIGIN':"$(patchelf --print-rpath $entry)" "$entry" + done + ''; - meta = with lib; { - description = "Modelica compiler from OpenModelica suite"; - homepage = "https://openmodelica.org"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; - platforms = platforms.linux; - }; -} // lib.optionalAttrs isCross { - configureFlags = [ "--with-omc=${nativeOMCompiler}/bin/omc" ]; -}) + meta = with lib; { + description = "Modelica compiler from OpenModelica suite"; + homepage = "https://openmodelica.org"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ + balodja + smironov + ]; + platforms = platforms.linux; + }; + } + // lib.optionalAttrs isCross { + configureFlags = [ "--with-omc=${nativeOMCompiler}/bin/omc" ]; + } +) diff --git a/pkgs/applications/science/misc/openmodelica/omedit/default.nix b/pkgs/applications/science/misc/openmodelica/omedit/default.nix index 731d64c41755b..d06b4a40d13b0 100644 --- a/pkgs/applications/science/misc/openmodelica/omedit/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omedit/default.nix @@ -1,26 +1,43 @@ -{ lib -, jre8 -, qmake -, qtbase -, qttools -, qtwebkit -, qtxmlpatterns -, binutils -, wrapQtAppsHook -, openmodelica -, openscenegraph -, mkOpenModelicaDerivation +{ + lib, + jre8, + qmake, + qtbase, + qttools, + qtwebkit, + qtxmlpatterns, + binutils, + wrapQtAppsHook, + openmodelica, + openscenegraph, + mkOpenModelicaDerivation, }: with openmodelica; mkOpenModelicaDerivation rec { pname = "omedit"; omdir = "OMEdit"; - omdeps = [ omcompiler omplot omparser omsimulator ]; + omdeps = [ + omcompiler + omplot + omparser + omsimulator + ]; omautoconf = true; - nativeBuildInputs = [ jre8 qmake qtbase qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + jre8 + qmake + qtbase + qttools + wrapQtAppsHook + ]; - buildInputs = [ qtwebkit openscenegraph qtxmlpatterns binutils ]; + buildInputs = [ + qtwebkit + openscenegraph + qtxmlpatterns + binutils + ]; postPatch = '' sed -i ''$(find -name qmake.m4) -e '/^\s*LRELEASE=/ s|LRELEASE=.*$|LRELEASE=${lib.getDev qttools}/bin/lrelease|' @@ -33,7 +50,10 @@ mkOpenModelicaDerivation rec { description = "Modelica connection editor for OpenModelica"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix b/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix index dee5aacf66655..64479fb909695 100644 --- a/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omlibrary/default.nix @@ -1,12 +1,20 @@ -{ lib -, stdenv -, fetchgit -, bash -, openmodelica -, mkOpenModelicaDerivation +{ + lib, + stdenv, + fetchgit, + bash, + openmodelica, + mkOpenModelicaDerivation, }: let - fakegit = import ./fakegit.nix { inherit lib stdenv fetchgit bash; }; + fakegit = import ./fakegit.nix { + inherit + lib + stdenv + fetchgit + bash + ; + }; in mkOpenModelicaDerivation { pname = "omlibrary"; @@ -28,7 +36,10 @@ mkOpenModelicaDerivation { including Modelica Standard Library"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix b/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix index cad21c2a6e444..b0509a8e97a95 100644 --- a/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix +++ b/pkgs/applications/science/misc/openmodelica/omlibrary/fakegit.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, bash }: +{ + lib, + stdenv, + fetchgit, + bash, +}: let mkscript = path: text: '' mkdir -pv `dirname ${path}` @@ -11,7 +16,8 @@ let chmod +x ${path} ''; - hashname = r: + hashname = + r: let rpl = lib.replaceStrings [ ":" "/" ] [ "_" "_" ]; in @@ -23,9 +29,9 @@ stdenv.mkDerivation { buildCommand = '' mkdir -pv $out/repos - ${lib.concatMapStrings - (r: "cp -r ${fetchgit r} $out/repos/${hashname r}\n") - (import ./src-libs.nix)} + ${lib.concatMapStrings ( + r: "cp -r ${fetchgit r} $out/repos/${hashname r}\n" + ) (import ./src-libs.nix)} ${mkscript "$out/bin/checkout-git.sh" '' if test "$#" -ne 4; then diff --git a/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix b/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix index dff5ee78936a5..18491010d807b 100644 --- a/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix +++ b/pkgs/applications/science/misc/openmodelica/omlibrary/src-libs.nix @@ -1,81 +1,476 @@ [ -{ url = "https://github.com/modelica-3rdparty/AdvancedNoise.git"; rev = "5ce57acd279dadd0d25b76a6b02d3f9e9d061246"; sha256 = "07jjbj0y6bak269md3xniqb5lgc33m92ar5qixqxj5yxdjaahfs2"; fetchSubmodules = true; } -{ url = "https://github.com/RWTH-EBC/AixLib.git"; rev = "65e49ddf5c935846888a61aa303e52c909619079"; sha256 = "18xn8j3x3j4x9bpjgqnq0b6p3yzzsg5n62fv1ldqbbjcmi0vimd5"; fetchSubmodules = true; } -{ url = "https://github.com/RWTH-EBC/AixLib.git"; rev = "v0.4.0"; sha256 = "0dw34mjq29n55xh51g1c9a9d0d8gbpn16gj309dfxn4v2hbnfvzx"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/AlgebraTestSuite.git"; rev = "b937e1a7f447138c59abec9b2092f84f16bf02e8"; sha256 = "0406inasx61dk7vcnziiyhxkna7g61a5hn0znnbxj817hz6q11zn"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ApproxSpline.git"; rev = "28420f5c1a88c9cd069defbd8c05e4a78a090675"; sha256 = "07gpyi2brj5zpvrlsnflqjnhbrgxvpqbdshp8lp4lh9mnj5jv95d"; fetchSubmodules = true; } -{ url = "https://github.com/OpenModelica/BioChem.git"; rev = "v1.0.2"; sha256 = "037bvj2lqrslg8k5r0rjgdzccslj9bj25b55k4g440vabm5p05qm"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/BondGraph.git"; rev = "20c23e60d12989bd4668ccac47659d82d39d29cc"; sha256 = "0yrkk708v4bvf423xb4zgpmnaj8qhq5primdg758ayddgli23wa9"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/BrineProp.git"; rev = "834fb3519ca8f89efe268582d39d00a7c3991150"; sha256 = "1iwqh4kr36wgxc0gci63gdgbqln2sap1w4bkydk1vkss2s302lg4"; fetchSubmodules = true; } -{ url = "https://github.com/EDF-TREE/BuildSysPro.git"; rev = "v3.3.0"; sha256 = "1cvcany3q9p1xndarxa2d8mmqxdnqk22476q8l61nayz5qy25x61"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/BuildingControlLib.git"; rev = "v1.0.0"; sha256 = "0ckdxway0m755mbrl94k4458sijzgknlzsrf7xs5bjymxchm8r2m"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/BuildingSystems.git"; rev = "c3070d48015ee75c1577f349cb388a498bef7270"; sha256 = "0r876wm6f1xx4cli1lqlylpl3zgaddmy06hcafbnzry9j38vbz4y"; fetchSubmodules = true; } -{ url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "v6.0.0"; sha256 = "0rnnk1clji0myzr7adggki6knbl6v8381vwnqgiz8mkxbmzdwm4f"; fetchSubmodules = true; } -{ url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "v7.0.0"; sha256 = "04n04pp4zvyg8n8h7h79c3wyk7lmn940mh7qzs0lv76g1ybypnlz"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Chemical.git"; rev = "5645573fced862430b7b598b4d7ec1a39c7aa0fa"; sha256 = "1kh7kpmjfz55pb8553srlnrh8l00nw21xf5mjzh7nx9b1rndnmyg"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/DeployStructLib.git"; rev = "v1.0"; sha256 = "1k4zw9lnd0javw4zigxc15l58yf7xdz36b7808g65qxy89w6ksr2"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/DisHeatLib.git"; rev = "b11f53379c122870a52f2da9b1705d2c911cd21d"; sha256 = "1vm96a4z0b40r0nisxrrzyvan4yphjdkx4ad655phva2636xb5rr"; fetchSubmodules = true; } -{ url = "https://github.com/AHaumer/DriveControl.git"; rev = "b7233fd97a92867bb4ec2c3647c7f7e888398644"; sha256 = "0nyp1n8wrkjzfypsmjjzac0g9p4wbc1cxxr040fj20bqdg9l3h1b"; fetchSubmodules = true; } -{ url = "https://github.com/christiankral/ElectroMechanicalDrives.git"; rev = "v2.2.0"; sha256 = "0012phmn1y9fgpph45lwbjk0yhm5czidf2z6khm8lddvk93wf31b"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ExternData.git"; rev = "v2.5.0"; sha256 = "19dsyq1mk5vl54fqaffzqafm5w94l011cy7pg16c7i933dbqnkki"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/ExternalMedia.git"; rev = "6138312c96142ff3c01190147e6277991bfa2fca"; sha256 = "1d9g2hbdvgz13j7kdi1kglkkllj9f00x3dwdp5piyypvs464jsn5"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ExternalMemoryLib.git"; rev = "6488d5815bda23c665123baa916789e283e16d2c"; sha256 = "06y1i5w690b3b9x23nzls8y67fl7yd7bn4xl5j0dmyi4qx33aqda"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/FMITest.git"; rev = "a67a276083f4010b249802ad8fc70dc30c09adfd"; sha256 = "0mg8jlvlwql2nsjiy7c3rdibv73bkfk149ac0450d5pc0hfn9mln"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/FailureModes.git"; rev = "v1.2.1"; sha256 = "1z8bwrld1rkydgssab5gnrd76frrbky8qxi1lvlaf2jidj6bzn1l"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/FaultTriggering.git"; rev = "v0.6.6"; sha256 = "0a08yyrbg4a49s0bgqgyds6pidx9xr47yspvl9bdak1mq34qibip"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/FeedDriveLibrary.git"; rev = "1.0.1"; sha256 = "15fi9dj6zgl0fr90cwxqjbpphj0dwrrmk74hf25j6zd85w2ycqdz"; fetchSubmodules = true; } -{ url = "https://github.com/DLR-SR/FractionalOrder.git"; rev = "99918820e346c362c3ad52d782c8215e5deeac4c"; sha256 = "1pycss6fqh86frfdbdfffjhaz09fz1558f9azgckhf8drx6ry1qs"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Greenhouses-Library.git"; rev = "89ae0e8097eb0751abce2013d304fa5f9c09b885"; sha256 = "1q77xj6aysqsn3d7kjmcq7dihbw18iqm35ifzdi75xgf3cgwla4f"; fetchSubmodules = true; } -{ url = "https://github.com/christiankral/HanserModelica.git"; rev = "v1.1.0"; sha256 = "0zwkrhg2y42m18p4z51izrickiv1vikgz0z7fpjia4dbppckav8i"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/HelmholtzMedia.git"; rev = "3b4a4bca94d388744b2d045344ea2f9b0b4d405b"; sha256 = "17fzpan89075vb5vbhw5ylgxcdsmj2vjnmmka7cgzh06izb69nvh"; fetchSubmodules = true; } -{ url = "https://github.com/ibpsa/modelica-ibpsa.git"; rev = "v3.0.0"; sha256 = "0xwgfndlw76zfmiiqadl85l9na9igsqlmfcawx526sdw2lhhgics"; fetchSubmodules = true; } -{ url = "https://github.com/open-ideas/IDEAS.git"; rev = "v2.1.0"; sha256 = "0xp0zg6ib5536d5vl361lsn5w5faqdf6djhcmfxns629wjima8rn"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/IndustrialControlSystems.git"; rev = "v1.1.0"; sha256 = "1nvgx94iy1pws0768anrl7ssjlzslb5mbp21j7xvf6wpqfmj0npc"; fetchSubmodules = true; } -{ url = "https://github.com/christiankral/KeyWordIO.git"; rev = "v0.9.0"; sha256 = "10kvj6zn2r6m3403ja8nkkxbfcchkz0pfk3g70ibr76zivxb5nim"; fetchSubmodules = true; } -{ url = "https://github.com/FishSim/LibRAS.git"; rev = "fca9de50a484a2213f3ca1b39e275c237c471688"; sha256 = "0w1c87sifq8klq0f2l70qxjrlvahyxy1cx9rln80rni4d427yc1k"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/LinearMPC.git"; rev = "v1.0"; sha256 = "1crj60i5f33l9pgip0xbv6ankcga7px0644cj7c2wnzn1fjmn2k8"; fetchSubmodules = true; } -{ url = "https://github.com/looms-polimi/MEV.git"; rev = "v1.0.1"; sha256 = "1a7ih9lc01wzaq8a8aznggpi4aqnczyzq49q5hc4fqvmfwl7l0j3"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ModPowerSystems.git"; rev = "df3afce27d5e935c4111f392275744a655abe216"; sha256 = "1b1fikm92lv6gj82imka3hxbjwv04i4h33y69yhcxdpqa6z6hm4z"; fetchSubmodules = true; } -{ url = "https://github.com/OpenModelica/OpenModelica-ModelicaStandardLibrary.git"; rev = "4a91d52248b0f17415bba1d58881fc730bd94215"; sha256 = "19caxz6hvlrsls3b2387a24zwwnykbb138jpb42gwpy8jlh93yzi"; fetchSubmodules = true; } -{ url = "https://github.com/OpenModelica/OpenModelica-ModelicaStandardLibrary.git"; rev = "cab27240a4a3ed4ea137226f056bbc0d79543f7a"; sha256 = "06y911i2hs7hg4ykhb8wngvxhwnaww8rsakwa7ssd047a7glzsb0"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Modelica-Arduino.git"; rev = "v0.1.0"; sha256 = "1n34dksqhrn1synv2mp2ifk4dxyhp15f5v1jb1b3dbw9n19951qb"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Modelica-GNU_ScientificLibrary.git"; rev = "9235ab28bdd7f0fe3e7abba48af53d73332858ec"; sha256 = "168g9gg12lfa863ifs41bnx6yd0yyjnal6986dgpm51dj5arw6id"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Modelica-MVEM.git"; rev = "v1.0.1"; sha256 = "1p68691dnl06lgwm4bl9g036brn4vl7m5x3gq4rxc291339frixk"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ModelicaADS.git"; rev = "v1.0.1"; sha256 = "0fhxrl07d7v3wa79d30psm1gxydc0p7s2akfirdx6dai0633skp9"; fetchSubmodules = true; } -{ url = "https://github.com/xogeny/ModelicaBook.git"; rev = "v0.6.0"; sha256 = "0yqbll6p738yvpi1x11cjngpz2glda07mljrkjlm23p7l53x63dc"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-compliance/compliance.git"; rev = "8a91e75d8a26acc4de30fc0e5d5e9db83c970bd6"; sha256 = "1cym1wlgsvfrryq8zqzzrgs4wam1l7pc20q07hk3d615nhq21lg6"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ModelicaDFR.git"; rev = "37a441934d05330cf3d13e9ec551954d27eca84c"; sha256 = "13rpcs8cl9x15vi655150zmhmg1iaxpzvxrl3rqif46zpl5dhlj2"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/Modelica_DeviceDrivers.git"; rev = "v1.8.2"; sha256 = "16c0p9zn0qrraz59ivinibmikdd251plm1vqngznzhksjwvz6bja"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/Modelica_LinearSystems2.git"; rev = "v2.3.5"; sha256 = "0rzicynqgayydxqynnairxk7ybg4alv1xnfz8cgkrpicl2g9bacg"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Modelica_Requirements.git"; rev = "a427b5cb7997e9036c577d219e6b8a5d0c28389a"; sha256 = "1ihx46kifnfi9kw1g8nmd9sarl766whbzdk6a44alczsya4gg45k"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/Modelica_Synchronous.git"; rev = "c8350276bfd945086962cf4150ba941b9c57ed13"; sha256 = "12ad7fpjy50ky3lvl65r9d5xvlzvw5yqdnbp4rsgl3qw7s3wrmja"; fetchSubmodules = true; } -{ url = "https://github.com/jwindahlModelon/MultiPhaseMixtureMedia.git"; rev = "0bda0c58af6384f8e0edf7aa7520afb369af3e38"; sha256 = "11bqm69504bh4h05dxlwdmjfxwls06mr49cz47kl8jmrygkfi4i2"; fetchSubmodules = true; } -{ url = "https://github.com/OpenIPSL/OpenIPSL.git"; rev = "v1.5.0"; sha256 = "09xrcz0rdxdy220ki5zyl7920y0a4lg24p0aibna4ad15vszhhwj"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Optimisers.git"; rev = "e33c69edaad6dad8029167b0ca00533964a6fe37"; sha256 = "0hcxsrr2n4fzaxdjvgvqayz38kpfk86cclvg5pzcfmjc5bznb8bs"; fetchSubmodules = true; } -{ url = "https://github.com/lochel/PNlib.git"; rev = "059545d48dd9ceeccfa3b4e47689ec8dd334dcd8"; sha256 = "1a0hxkgsi4klw9c8zav1dy2p1c85ald29gx82hfacwv55xl9f127"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/PVSystems.git"; rev = "v0.6.2"; sha256 = "0vcgvdaqfbn46lpzk0kvsif3d55wf8yzhkbdpf5zv04kv7zw25w9"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/PhotoVoltaics.git"; rev = "v1.6.0"; sha256 = "0zqx77z217iln3vfxn2v3c2jl0jz5kgcd96ylvimjnwr30mxr09n"; fetchSubmodules = true; } -{ url = "https://github.com/MarekMatejak/Physiolibrary.git"; rev = "v2.3.1"; sha256 = "0nxfw63m278gaff18zz29n2s1vk4kwdbv2qvbjmcq86fl1i5b3bg"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Physiomodel.git"; rev = "v1.0.0"; sha256 = "1sdhv5qgjqv3zdq57pkkrh04ainwv9n5zqd8mb9a3ybjmwdjf6f9"; fetchSubmodules = true; } -{ url = "https://github.com/dzimmer/PlanarMechanics.git"; rev = "55224a9e76de8aa7f708236bd4d7dee624ecba50"; sha256 = "0hf7vi44adss86x5ahk5if7bdjgw773d8mb3d8ianq12g8azycyd"; fetchSubmodules = true; } -{ url = "https://github.com/PowerGrids/PowerGrids.git"; rev = "v1.0.0"; sha256 = "06bx8mqvmizhfwg99djdfgh2mblc4wzmg0zq4ilrp586jwfninmz"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/PowerSystems.git"; rev = "v1.0.0"; sha256 = "1xwhwich7gi6vl33zl2r78xdjklchgkjcnvww6390j20l1wjznkn"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/PowerSystems.git"; rev = "f0721333f4875143565147a7d043bee1c300873b"; sha256 = "0gbvx0gzf3akb0w7yvdxfq2y4ps91cy5b93iwnvnw7652x716813"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/RealTimeCoordinationLibrary.git"; rev = "v1.0.2"; sha256 = "0ch4la04hm059ii5wzph9gsbvqhnfqrvvpqi57qn27bm10c4la0m"; fetchSubmodules = true; } -{ url = "https://github.com/casella/ScalableTestSuite.git"; rev = "v1.11.5"; sha256 = "0bhj1q9b8d29nrbr253zszy1w1yvyizvyr3law1pqjj6mhbqmg4i"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Servomechanisms.git"; rev = "3bf82ba5d3f31b4a0ae05f99ae690037358e153e"; sha256 = "1swka7d58wkg5pqv59lqgfi7gv6rg5vra4j6r76pn9czx9ddal8w"; fetchSubmodules = true; } -{ url = "https://github.com/SolarTherm/SolarTherm.git"; rev = "203fb5af3b95c731c7fcbe2833d51fd420e80796"; sha256 = "1bh4y4igzd0k59xm8j14p52gnlbwkiwwy6bhhyarpr361yrchn33"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/Soltermica.git"; rev = "9f7224bd89335f95dffe1ccdaa094df5a3279fdf"; sha256 = "1bif3cnwjas6x7b8ahwkm7dbrqrfdqwwa26zmdc6zrpfncl3kqd0"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/SystemDynamics.git"; rev = "2f6bd9382c5aac2aff9148cd9113a418767734b6"; sha256 = "0ii2mj6ngwjir3gzyad8wsj86pvd6wzal91nz2y7gzwj1djchb3x"; fetchSubmodules = true; } -{ url = "https://github.com/thom-marx/ThermalSeparation.git"; rev = "ffa0495ba829ecab105be4bfb3b7652625ec9c03"; sha256 = "1czm97bcrpp2jv0a0kd31a929wqlrlzdhdxvyy4w499dn20jzv1l"; fetchSubmodules = true; } -{ url = "https://github.com/casella/ThermoPower.git"; rev = "650be2c8cbd5abc3535e92b865e509073afc8aeb"; sha256 = "08ijrx8xw43dadz5s3kiwa17ax9faq2wyq9gm0vlz9ddbkj0hcaq"; fetchSubmodules = true; } -{ url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "db81ae1b5a6a85f6c6c7693244cafa6087e18ff5"; sha256 = "12fsf0xxxc1ja6vmm9ff85f8j5sg1lb7w4g57s2w3fkf4d3a7d0c"; fetchSubmodules = true; } -{ url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "5cef9acb4dedf8af6f4638a4448f08a544ebd30b"; sha256 = "0ihnz1s4rs42yis9zym9nw29ia2lqz2yx2wblc50p6f221w7q78s"; fetchSubmodules = true; } -{ url = "https://github.com/lenaRB/VVDRlib.git"; rev = "eae4981674642eddffc7f2aa3690320fcaddee0e"; sha256 = "0qxxk2xlas5mqyc1h8ndic208qj1sm5mr5y8664kv3py7i8jdqi4"; fetchSubmodules = true; } -{ url = "https://github.com/modelica/VehicleInterfaces.git"; rev = "v1.2.5"; sha256 = "044k17cpc88wprrvw03p6crm6dy6x9a6xj5104d5nln71lqz5sdq"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/WasteWater.git"; rev = "v2.1.0"; sha256 = "1dxr4m9j7b5266daj4klbrhvnkqr73sximdw9bk9v5qf0s28li99"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/WindPowerPlants.git"; rev = "v1.2.0"; sha256 = "1lyrqwsb6sm1wc7vlj72zk5cpjhhzh27fviiqayddqy2b903xish"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/ipsl.git"; rev = "v1.1.1"; sha256 = "1w2iah8c5d8n01wmxydjk0rrcxh88g8yjy2zmv403azcccq7byzp"; fetchSubmodules = true; } -{ url = "https://github.com/modelica-3rdparty/netCDF-DataReader.git"; rev = "v2.5.0"; sha256 = "1pd5xf5bgz010lryv8bj6lvlfqn9p184csiffwj8icx7rycnlcqb"; fetchSubmodules = true; } -{ url = "https://github.com/joewa/open-bldc-modelica.git"; rev = "58a83b5b36f267613de4676c95163489b1ddc2e7"; sha256 = "0wf6dn64d2psv9b3xg5227vzpk109r3dqzi4m2wwhrilaxs3v004"; fetchSubmodules = true; } + { + url = "https://github.com/modelica-3rdparty/AdvancedNoise.git"; + rev = "5ce57acd279dadd0d25b76a6b02d3f9e9d061246"; + sha256 = "07jjbj0y6bak269md3xniqb5lgc33m92ar5qixqxj5yxdjaahfs2"; + fetchSubmodules = true; + } + { + url = "https://github.com/RWTH-EBC/AixLib.git"; + rev = "65e49ddf5c935846888a61aa303e52c909619079"; + sha256 = "18xn8j3x3j4x9bpjgqnq0b6p3yzzsg5n62fv1ldqbbjcmi0vimd5"; + fetchSubmodules = true; + } + { + url = "https://github.com/RWTH-EBC/AixLib.git"; + rev = "v0.4.0"; + sha256 = "0dw34mjq29n55xh51g1c9a9d0d8gbpn16gj309dfxn4v2hbnfvzx"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/AlgebraTestSuite.git"; + rev = "b937e1a7f447138c59abec9b2092f84f16bf02e8"; + sha256 = "0406inasx61dk7vcnziiyhxkna7g61a5hn0znnbxj817hz6q11zn"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ApproxSpline.git"; + rev = "28420f5c1a88c9cd069defbd8c05e4a78a090675"; + sha256 = "07gpyi2brj5zpvrlsnflqjnhbrgxvpqbdshp8lp4lh9mnj5jv95d"; + fetchSubmodules = true; + } + { + url = "https://github.com/OpenModelica/BioChem.git"; + rev = "v1.0.2"; + sha256 = "037bvj2lqrslg8k5r0rjgdzccslj9bj25b55k4g440vabm5p05qm"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/BondGraph.git"; + rev = "20c23e60d12989bd4668ccac47659d82d39d29cc"; + sha256 = "0yrkk708v4bvf423xb4zgpmnaj8qhq5primdg758ayddgli23wa9"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/BrineProp.git"; + rev = "834fb3519ca8f89efe268582d39d00a7c3991150"; + sha256 = "1iwqh4kr36wgxc0gci63gdgbqln2sap1w4bkydk1vkss2s302lg4"; + fetchSubmodules = true; + } + { + url = "https://github.com/EDF-TREE/BuildSysPro.git"; + rev = "v3.3.0"; + sha256 = "1cvcany3q9p1xndarxa2d8mmqxdnqk22476q8l61nayz5qy25x61"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/BuildingControlLib.git"; + rev = "v1.0.0"; + sha256 = "0ckdxway0m755mbrl94k4458sijzgknlzsrf7xs5bjymxchm8r2m"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/BuildingSystems.git"; + rev = "c3070d48015ee75c1577f349cb388a498bef7270"; + sha256 = "0r876wm6f1xx4cli1lqlylpl3zgaddmy06hcafbnzry9j38vbz4y"; + fetchSubmodules = true; + } + { + url = "https://github.com/lbl-srg/modelica-buildings.git"; + rev = "v6.0.0"; + sha256 = "0rnnk1clji0myzr7adggki6knbl6v8381vwnqgiz8mkxbmzdwm4f"; + fetchSubmodules = true; + } + { + url = "https://github.com/lbl-srg/modelica-buildings.git"; + rev = "v7.0.0"; + sha256 = "04n04pp4zvyg8n8h7h79c3wyk7lmn940mh7qzs0lv76g1ybypnlz"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Chemical.git"; + rev = "5645573fced862430b7b598b4d7ec1a39c7aa0fa"; + sha256 = "1kh7kpmjfz55pb8553srlnrh8l00nw21xf5mjzh7nx9b1rndnmyg"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/DeployStructLib.git"; + rev = "v1.0"; + sha256 = "1k4zw9lnd0javw4zigxc15l58yf7xdz36b7808g65qxy89w6ksr2"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/DisHeatLib.git"; + rev = "b11f53379c122870a52f2da9b1705d2c911cd21d"; + sha256 = "1vm96a4z0b40r0nisxrrzyvan4yphjdkx4ad655phva2636xb5rr"; + fetchSubmodules = true; + } + { + url = "https://github.com/AHaumer/DriveControl.git"; + rev = "b7233fd97a92867bb4ec2c3647c7f7e888398644"; + sha256 = "0nyp1n8wrkjzfypsmjjzac0g9p4wbc1cxxr040fj20bqdg9l3h1b"; + fetchSubmodules = true; + } + { + url = "https://github.com/christiankral/ElectroMechanicalDrives.git"; + rev = "v2.2.0"; + sha256 = "0012phmn1y9fgpph45lwbjk0yhm5czidf2z6khm8lddvk93wf31b"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ExternData.git"; + rev = "v2.5.0"; + sha256 = "19dsyq1mk5vl54fqaffzqafm5w94l011cy7pg16c7i933dbqnkki"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/ExternalMedia.git"; + rev = "6138312c96142ff3c01190147e6277991bfa2fca"; + sha256 = "1d9g2hbdvgz13j7kdi1kglkkllj9f00x3dwdp5piyypvs464jsn5"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ExternalMemoryLib.git"; + rev = "6488d5815bda23c665123baa916789e283e16d2c"; + sha256 = "06y1i5w690b3b9x23nzls8y67fl7yd7bn4xl5j0dmyi4qx33aqda"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/FMITest.git"; + rev = "a67a276083f4010b249802ad8fc70dc30c09adfd"; + sha256 = "0mg8jlvlwql2nsjiy7c3rdibv73bkfk149ac0450d5pc0hfn9mln"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/FailureModes.git"; + rev = "v1.2.1"; + sha256 = "1z8bwrld1rkydgssab5gnrd76frrbky8qxi1lvlaf2jidj6bzn1l"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/FaultTriggering.git"; + rev = "v0.6.6"; + sha256 = "0a08yyrbg4a49s0bgqgyds6pidx9xr47yspvl9bdak1mq34qibip"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/FeedDriveLibrary.git"; + rev = "1.0.1"; + sha256 = "15fi9dj6zgl0fr90cwxqjbpphj0dwrrmk74hf25j6zd85w2ycqdz"; + fetchSubmodules = true; + } + { + url = "https://github.com/DLR-SR/FractionalOrder.git"; + rev = "99918820e346c362c3ad52d782c8215e5deeac4c"; + sha256 = "1pycss6fqh86frfdbdfffjhaz09fz1558f9azgckhf8drx6ry1qs"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Greenhouses-Library.git"; + rev = "89ae0e8097eb0751abce2013d304fa5f9c09b885"; + sha256 = "1q77xj6aysqsn3d7kjmcq7dihbw18iqm35ifzdi75xgf3cgwla4f"; + fetchSubmodules = true; + } + { + url = "https://github.com/christiankral/HanserModelica.git"; + rev = "v1.1.0"; + sha256 = "0zwkrhg2y42m18p4z51izrickiv1vikgz0z7fpjia4dbppckav8i"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/HelmholtzMedia.git"; + rev = "3b4a4bca94d388744b2d045344ea2f9b0b4d405b"; + sha256 = "17fzpan89075vb5vbhw5ylgxcdsmj2vjnmmka7cgzh06izb69nvh"; + fetchSubmodules = true; + } + { + url = "https://github.com/ibpsa/modelica-ibpsa.git"; + rev = "v3.0.0"; + sha256 = "0xwgfndlw76zfmiiqadl85l9na9igsqlmfcawx526sdw2lhhgics"; + fetchSubmodules = true; + } + { + url = "https://github.com/open-ideas/IDEAS.git"; + rev = "v2.1.0"; + sha256 = "0xp0zg6ib5536d5vl361lsn5w5faqdf6djhcmfxns629wjima8rn"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/IndustrialControlSystems.git"; + rev = "v1.1.0"; + sha256 = "1nvgx94iy1pws0768anrl7ssjlzslb5mbp21j7xvf6wpqfmj0npc"; + fetchSubmodules = true; + } + { + url = "https://github.com/christiankral/KeyWordIO.git"; + rev = "v0.9.0"; + sha256 = "10kvj6zn2r6m3403ja8nkkxbfcchkz0pfk3g70ibr76zivxb5nim"; + fetchSubmodules = true; + } + { + url = "https://github.com/FishSim/LibRAS.git"; + rev = "fca9de50a484a2213f3ca1b39e275c237c471688"; + sha256 = "0w1c87sifq8klq0f2l70qxjrlvahyxy1cx9rln80rni4d427yc1k"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/LinearMPC.git"; + rev = "v1.0"; + sha256 = "1crj60i5f33l9pgip0xbv6ankcga7px0644cj7c2wnzn1fjmn2k8"; + fetchSubmodules = true; + } + { + url = "https://github.com/looms-polimi/MEV.git"; + rev = "v1.0.1"; + sha256 = "1a7ih9lc01wzaq8a8aznggpi4aqnczyzq49q5hc4fqvmfwl7l0j3"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ModPowerSystems.git"; + rev = "df3afce27d5e935c4111f392275744a655abe216"; + sha256 = "1b1fikm92lv6gj82imka3hxbjwv04i4h33y69yhcxdpqa6z6hm4z"; + fetchSubmodules = true; + } + { + url = "https://github.com/OpenModelica/OpenModelica-ModelicaStandardLibrary.git"; + rev = "4a91d52248b0f17415bba1d58881fc730bd94215"; + sha256 = "19caxz6hvlrsls3b2387a24zwwnykbb138jpb42gwpy8jlh93yzi"; + fetchSubmodules = true; + } + { + url = "https://github.com/OpenModelica/OpenModelica-ModelicaStandardLibrary.git"; + rev = "cab27240a4a3ed4ea137226f056bbc0d79543f7a"; + sha256 = "06y911i2hs7hg4ykhb8wngvxhwnaww8rsakwa7ssd047a7glzsb0"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Modelica-Arduino.git"; + rev = "v0.1.0"; + sha256 = "1n34dksqhrn1synv2mp2ifk4dxyhp15f5v1jb1b3dbw9n19951qb"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Modelica-GNU_ScientificLibrary.git"; + rev = "9235ab28bdd7f0fe3e7abba48af53d73332858ec"; + sha256 = "168g9gg12lfa863ifs41bnx6yd0yyjnal6986dgpm51dj5arw6id"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Modelica-MVEM.git"; + rev = "v1.0.1"; + sha256 = "1p68691dnl06lgwm4bl9g036brn4vl7m5x3gq4rxc291339frixk"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ModelicaADS.git"; + rev = "v1.0.1"; + sha256 = "0fhxrl07d7v3wa79d30psm1gxydc0p7s2akfirdx6dai0633skp9"; + fetchSubmodules = true; + } + { + url = "https://github.com/xogeny/ModelicaBook.git"; + rev = "v0.6.0"; + sha256 = "0yqbll6p738yvpi1x11cjngpz2glda07mljrkjlm23p7l53x63dc"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-compliance/compliance.git"; + rev = "8a91e75d8a26acc4de30fc0e5d5e9db83c970bd6"; + sha256 = "1cym1wlgsvfrryq8zqzzrgs4wam1l7pc20q07hk3d615nhq21lg6"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ModelicaDFR.git"; + rev = "37a441934d05330cf3d13e9ec551954d27eca84c"; + sha256 = "13rpcs8cl9x15vi655150zmhmg1iaxpzvxrl3rqif46zpl5dhlj2"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/Modelica_DeviceDrivers.git"; + rev = "v1.8.2"; + sha256 = "16c0p9zn0qrraz59ivinibmikdd251plm1vqngznzhksjwvz6bja"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/Modelica_LinearSystems2.git"; + rev = "v2.3.5"; + sha256 = "0rzicynqgayydxqynnairxk7ybg4alv1xnfz8cgkrpicl2g9bacg"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Modelica_Requirements.git"; + rev = "a427b5cb7997e9036c577d219e6b8a5d0c28389a"; + sha256 = "1ihx46kifnfi9kw1g8nmd9sarl766whbzdk6a44alczsya4gg45k"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/Modelica_Synchronous.git"; + rev = "c8350276bfd945086962cf4150ba941b9c57ed13"; + sha256 = "12ad7fpjy50ky3lvl65r9d5xvlzvw5yqdnbp4rsgl3qw7s3wrmja"; + fetchSubmodules = true; + } + { + url = "https://github.com/jwindahlModelon/MultiPhaseMixtureMedia.git"; + rev = "0bda0c58af6384f8e0edf7aa7520afb369af3e38"; + sha256 = "11bqm69504bh4h05dxlwdmjfxwls06mr49cz47kl8jmrygkfi4i2"; + fetchSubmodules = true; + } + { + url = "https://github.com/OpenIPSL/OpenIPSL.git"; + rev = "v1.5.0"; + sha256 = "09xrcz0rdxdy220ki5zyl7920y0a4lg24p0aibna4ad15vszhhwj"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Optimisers.git"; + rev = "e33c69edaad6dad8029167b0ca00533964a6fe37"; + sha256 = "0hcxsrr2n4fzaxdjvgvqayz38kpfk86cclvg5pzcfmjc5bznb8bs"; + fetchSubmodules = true; + } + { + url = "https://github.com/lochel/PNlib.git"; + rev = "059545d48dd9ceeccfa3b4e47689ec8dd334dcd8"; + sha256 = "1a0hxkgsi4klw9c8zav1dy2p1c85ald29gx82hfacwv55xl9f127"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/PVSystems.git"; + rev = "v0.6.2"; + sha256 = "0vcgvdaqfbn46lpzk0kvsif3d55wf8yzhkbdpf5zv04kv7zw25w9"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/PhotoVoltaics.git"; + rev = "v1.6.0"; + sha256 = "0zqx77z217iln3vfxn2v3c2jl0jz5kgcd96ylvimjnwr30mxr09n"; + fetchSubmodules = true; + } + { + url = "https://github.com/MarekMatejak/Physiolibrary.git"; + rev = "v2.3.1"; + sha256 = "0nxfw63m278gaff18zz29n2s1vk4kwdbv2qvbjmcq86fl1i5b3bg"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Physiomodel.git"; + rev = "v1.0.0"; + sha256 = "1sdhv5qgjqv3zdq57pkkrh04ainwv9n5zqd8mb9a3ybjmwdjf6f9"; + fetchSubmodules = true; + } + { + url = "https://github.com/dzimmer/PlanarMechanics.git"; + rev = "55224a9e76de8aa7f708236bd4d7dee624ecba50"; + sha256 = "0hf7vi44adss86x5ahk5if7bdjgw773d8mb3d8ianq12g8azycyd"; + fetchSubmodules = true; + } + { + url = "https://github.com/PowerGrids/PowerGrids.git"; + rev = "v1.0.0"; + sha256 = "06bx8mqvmizhfwg99djdfgh2mblc4wzmg0zq4ilrp586jwfninmz"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/PowerSystems.git"; + rev = "v1.0.0"; + sha256 = "1xwhwich7gi6vl33zl2r78xdjklchgkjcnvww6390j20l1wjznkn"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/PowerSystems.git"; + rev = "f0721333f4875143565147a7d043bee1c300873b"; + sha256 = "0gbvx0gzf3akb0w7yvdxfq2y4ps91cy5b93iwnvnw7652x716813"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/RealTimeCoordinationLibrary.git"; + rev = "v1.0.2"; + sha256 = "0ch4la04hm059ii5wzph9gsbvqhnfqrvvpqi57qn27bm10c4la0m"; + fetchSubmodules = true; + } + { + url = "https://github.com/casella/ScalableTestSuite.git"; + rev = "v1.11.5"; + sha256 = "0bhj1q9b8d29nrbr253zszy1w1yvyizvyr3law1pqjj6mhbqmg4i"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Servomechanisms.git"; + rev = "3bf82ba5d3f31b4a0ae05f99ae690037358e153e"; + sha256 = "1swka7d58wkg5pqv59lqgfi7gv6rg5vra4j6r76pn9czx9ddal8w"; + fetchSubmodules = true; + } + { + url = "https://github.com/SolarTherm/SolarTherm.git"; + rev = "203fb5af3b95c731c7fcbe2833d51fd420e80796"; + sha256 = "1bh4y4igzd0k59xm8j14p52gnlbwkiwwy6bhhyarpr361yrchn33"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/Soltermica.git"; + rev = "9f7224bd89335f95dffe1ccdaa094df5a3279fdf"; + sha256 = "1bif3cnwjas6x7b8ahwkm7dbrqrfdqwwa26zmdc6zrpfncl3kqd0"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/SystemDynamics.git"; + rev = "2f6bd9382c5aac2aff9148cd9113a418767734b6"; + sha256 = "0ii2mj6ngwjir3gzyad8wsj86pvd6wzal91nz2y7gzwj1djchb3x"; + fetchSubmodules = true; + } + { + url = "https://github.com/thom-marx/ThermalSeparation.git"; + rev = "ffa0495ba829ecab105be4bfb3b7652625ec9c03"; + sha256 = "1czm97bcrpp2jv0a0kd31a929wqlrlzdhdxvyy4w499dn20jzv1l"; + fetchSubmodules = true; + } + { + url = "https://github.com/casella/ThermoPower.git"; + rev = "650be2c8cbd5abc3535e92b865e509073afc8aeb"; + sha256 = "08ijrx8xw43dadz5s3kiwa17ax9faq2wyq9gm0vlz9ddbkj0hcaq"; + fetchSubmodules = true; + } + { + url = "https://openmodelica.org/git/ThermoSysPro.git"; + rev = "db81ae1b5a6a85f6c6c7693244cafa6087e18ff5"; + sha256 = "12fsf0xxxc1ja6vmm9ff85f8j5sg1lb7w4g57s2w3fkf4d3a7d0c"; + fetchSubmodules = true; + } + { + url = "https://openmodelica.org/git/ThermoSysPro.git"; + rev = "5cef9acb4dedf8af6f4638a4448f08a544ebd30b"; + sha256 = "0ihnz1s4rs42yis9zym9nw29ia2lqz2yx2wblc50p6f221w7q78s"; + fetchSubmodules = true; + } + { + url = "https://github.com/lenaRB/VVDRlib.git"; + rev = "eae4981674642eddffc7f2aa3690320fcaddee0e"; + sha256 = "0qxxk2xlas5mqyc1h8ndic208qj1sm5mr5y8664kv3py7i8jdqi4"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica/VehicleInterfaces.git"; + rev = "v1.2.5"; + sha256 = "044k17cpc88wprrvw03p6crm6dy6x9a6xj5104d5nln71lqz5sdq"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/WasteWater.git"; + rev = "v2.1.0"; + sha256 = "1dxr4m9j7b5266daj4klbrhvnkqr73sximdw9bk9v5qf0s28li99"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/WindPowerPlants.git"; + rev = "v1.2.0"; + sha256 = "1lyrqwsb6sm1wc7vlj72zk5cpjhhzh27fviiqayddqy2b903xish"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/ipsl.git"; + rev = "v1.1.1"; + sha256 = "1w2iah8c5d8n01wmxydjk0rrcxh88g8yjy2zmv403azcccq7byzp"; + fetchSubmodules = true; + } + { + url = "https://github.com/modelica-3rdparty/netCDF-DataReader.git"; + rev = "v2.5.0"; + sha256 = "1pd5xf5bgz010lryv8bj6lvlfqn9p184csiffwj8icx7rycnlcqb"; + fetchSubmodules = true; + } + { + url = "https://github.com/joewa/open-bldc-modelica.git"; + rev = "58a83b5b36f267613de4676c95163489b1ddc2e7"; + sha256 = "0wf6dn64d2psv9b3xg5227vzpk109r3dqzi4m2wwhrilaxs3v004"; + fetchSubmodules = true; + } ] diff --git a/pkgs/applications/science/misc/openmodelica/omparser/default.nix b/pkgs/applications/science/misc/openmodelica/omparser/default.nix index 03030de2cf486..7f27de2b457bc 100644 --- a/pkgs/applications/science/misc/openmodelica/omparser/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omparser/default.nix @@ -1,9 +1,10 @@ -{ lib -, pkg-config -, jre8 -, libuuid -, openmodelica -, mkOpenModelicaDerivation +{ + lib, + pkg-config, + jre8, + libuuid, + openmodelica, + mkOpenModelicaDerivation, }: mkOpenModelicaDerivation rec { @@ -13,7 +14,10 @@ mkOpenModelicaDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ jre8 libuuid ]; + buildInputs = [ + jre8 + libuuid + ]; patches = [ ./Makefile.in.patch ]; @@ -22,7 +26,10 @@ mkOpenModelicaDerivation rec { suite"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmodelica/omplot/default.nix b/pkgs/applications/science/misc/openmodelica/omplot/default.nix index 51ab89407f4ca..1469022626ee1 100644 --- a/pkgs/applications/science/misc/openmodelica/omplot/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omplot/default.nix @@ -1,10 +1,11 @@ -{ lib -, qtbase -, qttools -, qmake -, wrapQtAppsHook -, openmodelica -, mkOpenModelicaDerivation +{ + lib, + qtbase, + qttools, + qmake, + wrapQtAppsHook, + openmodelica, + mkOpenModelicaDerivation, }: mkOpenModelicaDerivation rec { @@ -13,7 +14,12 @@ mkOpenModelicaDerivation rec { omdeps = [ openmodelica.omcompiler ]; omautoconf = true; - nativeBuildInputs = [ qtbase qttools qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qtbase + qttools + qmake + wrapQtAppsHook + ]; postPatch = '' sed -i OMPlot/Makefile.in -e 's|bindir = @includedir@|includedir = @includedir@|' @@ -28,7 +34,10 @@ mkOpenModelicaDerivation rec { description = "Plotting tool for OpenModelica-generated results files"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmodelica/omshell/default.nix b/pkgs/applications/science/misc/openmodelica/omshell/default.nix index 3c39d62f92d6f..cbbf445246870 100644 --- a/pkgs/applications/science/misc/openmodelica/omshell/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omshell/default.nix @@ -1,4 +1,13 @@ -{ lib, qttools, qmake, qtwebkit, wrapQtAppsHook, readline, openmodelica, mkOpenModelicaDerivation }: +{ + lib, + qttools, + qmake, + qtwebkit, + wrapQtAppsHook, + readline, + openmodelica, + mkOpenModelicaDerivation, +}: mkOpenModelicaDerivation rec { pname = "omshell"; @@ -6,9 +15,15 @@ mkOpenModelicaDerivation rec { omdeps = [ openmodelica.omcompiler ]; omautoconf = true; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; - buildInputs = [ readline qtwebkit ]; + buildInputs = [ + readline + qtwebkit + ]; postPatch = with openmodelica; '' sed -i ''$(find -name qmake.m4) -e '/^\s*LRELEASE=/ s|LRELEASE=.*$|LRELEASE=${lib.getDev qttools}/bin/lrelease|' @@ -34,7 +49,10 @@ mkOpenModelicaDerivation rec { description = "Interactive OpenModelica session shell"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix b/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix index 9e28e3f21f26d..e344bf2494e32 100644 --- a/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix +++ b/pkgs/applications/science/misc/openmodelica/omsimulator/default.nix @@ -1,11 +1,12 @@ -{ lib -, pkg-config -, boost -, readline -, libxml2 -, openmodelica -, mkOpenModelicaDerivation -, fetchpatch +{ + lib, + pkg-config, + boost, + readline, + libxml2, + openmodelica, + mkOpenModelicaDerivation, + fetchpatch, }: mkOpenModelicaDerivation rec { @@ -24,7 +25,11 @@ mkOpenModelicaDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ readline libxml2 boost ]; + buildInputs = [ + readline + libxml2 + boost + ]; env.CFLAGS = toString [ "-Wno-error=implicit-function-declaration" @@ -34,7 +39,10 @@ mkOpenModelicaDerivation rec { description = "OpenModelica FMI & SSP-based co-simulation environment"; homepage = "https://openmodelica.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ balodja smironov ]; + maintainers = with maintainers; [ + balodja + smironov + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index 689ce1ad554ca..4ee25e9739e28 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -1,23 +1,24 @@ -{ lib -, boost -, breakpad -, ceres-solver -, cgal -, cmake -, eigen -, fetchFromGitHub -, glfw -, gmp -, libjpeg -, libpng -, libtiff -, mpfr -, opencv -, openmp -, pkg-config -, stdenv -, vcg -, zstd +{ + lib, + boost, + breakpad, + ceres-solver, + cgal, + cmake, + eigen, + fetchFromGitHub, + glfw, + gmp, + libjpeg, + libpng, + libtiff, + mpfr, + opencv, + openmp, + pkg-config, + stdenv, + vcg, + zstd, }: let @@ -57,7 +58,10 @@ stdenv.mkDerivation rec { vcg ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; postInstall = '' mv $out/bin/OpenMVS/* $out/bin diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix index c0b33b3cbedb2..1a20a122f39bb 100644 --- a/pkgs/applications/science/misc/rink/default.nix +++ b/pkgs/applications/science/misc/rink/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, openssl, pkg-config, ncurses -, curl, installShellFiles, asciidoctor, libiconv, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + ncurses, + curl, + installShellFiles, + asciidoctor, + libiconv, + Security, +}: rustPlatform.buildRustPackage rec { version = "0.8.0"; @@ -14,9 +26,23 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-j1pQfMjDNu57otOBTVBQEZIx80p4/beEUQdUkAJhvso="; - nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ]; - buildInputs = [ ncurses ] - ++ (if stdenv.hostPlatform.isDarwin then [ curl libiconv Security ] else [ openssl ]); + nativeBuildInputs = [ + pkg-config + installShellFiles + asciidoctor + ]; + buildInputs = + [ ncurses ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ + curl + libiconv + Security + ] + else + [ openssl ] + ); # Some tests fail and/or attempt to use internet servers. doCheck = false; @@ -33,7 +59,13 @@ rustPlatform.buildRustPackage rec { description = "Unit-aware calculator"; mainProgram = "rink"; homepage = "https://rinkcalc.app"; - license = with licenses; [ mpl20 gpl3Plus ]; - maintainers = with maintainers; [ sb0 Br1ght0ne ]; + license = with licenses; [ + mpl20 + gpl3Plus + ]; + maintainers = with maintainers; [ + sb0 + Br1ght0ne + ]; }; } diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix index e896b19ede837..068ee6f4244a1 100644 --- a/pkgs/applications/science/misc/sasview/default.nix +++ b/pkgs/applications/science/misc/sasview/default.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, wrapQtAppsHook +{ + lib, + python3, + fetchFromGitHub, + wrapQtAppsHook, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix index 8cf8ceb497a84..917dc3d3b6a80 100644 --- a/pkgs/applications/science/misc/vite/default.nix +++ b/pkgs/applications/science/misc/vite/default.nix @@ -1,4 +1,17 @@ -{ stdenv, fetchFromGitLab, lib, cmake, qtbase, qttools, qtcharts, libGLU, libGL, glm, glew, wrapQtAppsHook }: +{ + stdenv, + fetchFromGitLab, + lib, + cmake, + qtbase, + qttools, + qtcharts, + libGLU, + libGL, + glm, + glew, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "vite"; @@ -12,8 +25,19 @@ stdenv.mkDerivation rec { hash = "sha256-Yf2jYALZplIXzVtd/sg6gzEYrZ+oU0zLG1ETd/hiTi0="; }; - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; - buildInputs = [ qtbase qtcharts libGLU libGL glm glew ]; + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + qtcharts + libGLU + libGL + glm + glew + ]; meta = { description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces"; diff --git a/pkgs/applications/science/molecular-dynamics/raspa/data.nix b/pkgs/applications/science/molecular-dynamics/raspa/data.nix index 3361393eef158..642548fca205d 100644 --- a/pkgs/applications/science/molecular-dynamics/raspa/data.nix +++ b/pkgs/applications/science/molecular-dynamics/raspa/data.nix @@ -1,13 +1,17 @@ -{ lib -, stdenvNoCC -, raspa +{ + lib, + stdenvNoCC, + raspa, }: stdenvNoCC.mkDerivation rec { pname = "raspa-data"; inherit (raspa) version src; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; installPhase = '' runHook preInstall @@ -24,7 +28,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { inherit (raspa.meta) homepage license maintainers; description = "Example packs and documentation of RASPA"; - outputsToInstall = [ "out" "doc" ]; + outputsToInstall = [ + "out" + "doc" + ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/applications/science/molecular-dynamics/raspa/default.nix b/pkgs/applications/science/molecular-dynamics/raspa/default.nix index 8fd395f9174d3..3830e3e72e06c 100644 --- a/pkgs/applications/science/molecular-dynamics/raspa/default.nix +++ b/pkgs/applications/science/molecular-dynamics/raspa/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, makeWrapper -, fftw -, lapack -, openblas -, runCommandLocal -, raspa -, raspa-data +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + makeWrapper, + fftw, + lapack, + openblas, + runCommandLocal, + raspa, + raspa-data, }: stdenv.mkDerivation rec { pname = "raspa"; @@ -56,17 +57,16 @@ stdenv.mkDerivation rec { --set RASPA_DIR "$out" ''; - passthru.tests.run-an-example = runCommandLocal "raspa-test-run-an-example" { } - '' - set -eu -o pipefail - exampleDir="${raspa-data}/share/raspa/examples/Basic/1_MC_Methane_in_Box" - exampleDirWritable="$(basename "$exampleDir")" - cp -rT "$exampleDir" "./$exampleDirWritable" - chmod u+rw -R "$exampleDirWritable" - cd "$exampleDirWritable" - ${raspa}/bin/simulate - touch "$out" - ''; + passthru.tests.run-an-example = runCommandLocal "raspa-test-run-an-example" { } '' + set -eu -o pipefail + exampleDir="${raspa-data}/share/raspa/examples/Basic/1_MC_Methane_in_Box" + exampleDirWritable="$(basename "$exampleDir")" + cp -rT "$exampleDir" "./$exampleDirWritable" + chmod u+rw -R "$exampleDirWritable" + cd "$exampleDirWritable" + ${raspa}/bin/simulate + touch "$out" + ''; meta = with lib; { description = "General purpose classical molecular simulation package"; diff --git a/pkgs/applications/science/physics/MCFM/default.nix b/pkgs/applications/science/physics/MCFM/default.nix index 7b6000dfea8da..dc508d6eefcf2 100644 --- a/pkgs/applications/science/physics/MCFM/default.nix +++ b/pkgs/applications/science/physics/MCFM/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, gfortran, lhapdf }: +{ + lib, + stdenv, + fetchurl, + cmake, + gfortran, + lhapdf, +}: stdenv.mkDerivation rec { pname = "MCFM"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { 'target_link_libraries(mcfm ''${lhapdf_lib})' ''; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ + cmake + gfortran + ]; buildInputs = [ lhapdf ]; cmakeFlags = [ diff --git a/pkgs/applications/science/physics/crystfel/default.nix b/pkgs/applications/science/physics/crystfel/default.nix index a8f2b65b669f2..b5a588757ead3 100644 --- a/pkgs/applications/science/physics/crystfel/default.nix +++ b/pkgs/applications/science/physics/crystfel/default.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, fetchpatch -, fetchzip -, cmake -, lz4 -, gfortran -, bzip2 -, hdf5 -, gsl -, unzip -, makeWrapper -, zlib -, meson -, ninja -, pandoc -, eigen -, pkg-config -, wrapGAppsHook3 -, flex -, bison -, doxygen -, opencl-headers -, ncurses -, msgpack -, fftw -, zeromq -, ocl-icd -, gtk3 -, gdk-pixbuf -, argp-standalone -, memorymappingHook -, withGui ? true -, withBitshuffle ? true +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + fetchpatch, + fetchzip, + cmake, + lz4, + gfortran, + bzip2, + hdf5, + gsl, + unzip, + makeWrapper, + zlib, + meson, + ninja, + pandoc, + eigen, + pkg-config, + wrapGAppsHook3, + flex, + bison, + doxygen, + opencl-headers, + ncurses, + msgpack, + fftw, + zeromq, + ocl-icd, + gtk3, + gdk-pixbuf, + argp-standalone, + memorymappingHook, + withGui ? true, + withBitshuffle ? true, }: let @@ -44,8 +45,14 @@ let url = "https://ftp.ccp4.ac.uk/opensource/libccp4-${version}.tar.gz"; hash = "sha256-y4E66GYSoIZjKd6rfO6W6sVz2BvlskA0HUD5rVMi/y0="; }; - nativeBuildInputs = [ meson ninja ]; - buildInputs = [ hdf5 gsl ]; + nativeBuildInputs = [ + meson + ninja + ]; + buildInputs = [ + hdf5 + gsl + ]; configureFlags = [ "FFLAGS=-fallow-argument-mismatch" ]; @@ -76,14 +83,17 @@ let version = "7.4.0"; src = if stdenv.hostPlatform.isDarwin then - fetchurl - { - url = "https://www.mrc-lmb.cam.ac.uk/mosflm/mosflm/ver${builtins.replaceStrings [ "." ] [ "" ] version}/pre-built/mosflm-osx-64-noX11.zip"; - sha256 = "1da5wimv3kl8bccp49j69vh8gi28cn7axg59lrmb38s68c618h7j"; - } + fetchurl { + url = "https://www.mrc-lmb.cam.ac.uk/mosflm/mosflm/ver${ + builtins.replaceStrings [ "." ] [ "" ] version + }/pre-built/mosflm-osx-64-noX11.zip"; + sha256 = "1da5wimv3kl8bccp49j69vh8gi28cn7axg59lrmb38s68c618h7j"; + } else fetchurl { - url = "https://www.mrc-lmb.cam.ac.uk/mosflm/mosflm/ver${builtins.replaceStrings [ "." ] [ "" ] version}/pre-built/mosflm-linux-64-noX11.zip"; + url = "https://www.mrc-lmb.cam.ac.uk/mosflm/mosflm/ver${ + builtins.replaceStrings [ "." ] [ "" ] version + }/pre-built/mosflm-linux-64-noX11.zip"; hash = "sha256:1f2qins5kaz5v6mkaclncqpirx3mlz177ywm13py9p6s9mk99g32"; }; mosflmBinary = if stdenv.hostPlatform.isDarwin then "bin/mosflm" else "mosflm-linux-64-noX11"; @@ -95,7 +105,10 @@ let dontBuild = true; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; sourceRoot = "."; @@ -116,7 +129,11 @@ let hash = "sha256-/uZlBwAINSoYqgLQFTMz8rS1Rpadu79JkO6Bu/+Nx9E="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; buildInputs = [ eigen ]; }; @@ -128,7 +145,11 @@ let hash = "sha256-v/SCJiHAV05Lc905y/dE8uBXlW+lLX9wau4XORYdbQg="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; buildInputs = [ eigen ]; }; @@ -140,7 +161,11 @@ let hash = "sha256-EaihnW7p//ecgMn+KKlfmBeXrnAqs+HdhN+ovuSrtiQ="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ eigen ]; }; @@ -162,7 +187,11 @@ let ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ hdf5 lz4 bzip2 ]; + buildInputs = [ + hdf5 + lz4 + bzip2 + ]; cmakeFlags = [ "-DENABLE_BITSHUFFLE_PLUGIN=yes" @@ -192,29 +221,43 @@ stdenv.mkDerivation rec { url = "https://www.desy.de/~twhite/crystfel/crystfel-${version}.tar.gz"; sha256 = "sha256-vZuN9dYnowySC/OX0EZB0mbhoBOyRiOWfX9d6sl1lKQ="; }; - nativeBuildInputs = [ meson pkg-config ninja flex bison doxygen opencl-headers makeWrapper ] - ++ lib.optionals withGui [ wrapGAppsHook3 ]; - buildInputs = [ - hdf5 - gsl - ncurses - msgpack - fftw - fdip - zeromq - ocl-icd - libccp4 - mosflm - pinkIndexer - xgandalf - pandoc - ] ++ lib.optionals withGui [ gtk3 gdk-pixbuf ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - argp-standalone - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch64) [ - memorymappingHook - ] - ++ lib.optionals withBitshuffle [ hdf5-external-filter-plugins ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + flex + bison + doxygen + opencl-headers + makeWrapper + ] ++ lib.optionals withGui [ wrapGAppsHook3 ]; + buildInputs = + [ + hdf5 + gsl + ncurses + msgpack + fftw + fdip + zeromq + ocl-icd + libccp4 + mosflm + pinkIndexer + xgandalf + pandoc + ] + ++ lib.optionals withGui [ + gtk3 + gdk-pixbuf + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + argp-standalone + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch64) [ + memorymappingHook + ] + ++ lib.optionals withBitshuffle [ hdf5-external-filter-plugins ]; patches = [ # on darwin at least, we need to link to a separate argp library; diff --git a/pkgs/applications/science/physics/xflr5/default.nix b/pkgs/applications/science/physics/xflr5/default.nix index 3090bcbfecd46..853dc377c5181 100644 --- a/pkgs/applications/science/physics/xflr5/default.nix +++ b/pkgs/applications/science/physics/xflr5/default.nix @@ -1,4 +1,9 @@ -{ mkDerivation, lib, qmake, fetchsvn }: +{ + mkDerivation, + lib, + qmake, + fetchsvn, +}: mkDerivation rec { pname = "xflr5"; diff --git a/pkgs/applications/science/programming/fdr/default.nix b/pkgs/applications/science/programming/fdr/default.nix index 2237d9528701e..899a7ca3f1376 100644 --- a/pkgs/applications/science/programming/fdr/default.nix +++ b/pkgs/applications/science/programming/fdr/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, qtbase, qtx11extras, ncurses5, xorg, zlib, python27Packages }: +{ + lib, + stdenv, + fetchurl, + qtbase, + qtx11extras, + ncurses5, + xorg, + zlib, + python27Packages, +}: stdenv.mkDerivation { pname = "fdr"; version = "4.2.7"; diff --git a/pkgs/applications/science/robotics/apmplanner2/default.nix b/pkgs/applications/science/robotics/apmplanner2/default.nix index 34509f05daa3d..e606edb0fe0ec 100644 --- a/pkgs/applications/science/robotics/apmplanner2/default.nix +++ b/pkgs/applications/science/robotics/apmplanner2/default.nix @@ -1,6 +1,21 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake -, qtbase, qtscript, qtwebkit, qtserialport, qtsvg, qtdeclarative, qtquickcontrols2 -, alsa-lib, libsndfile, flite, openssl, udev, SDL2 +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + qtscript, + qtwebkit, + qtserialport, + qtsvg, + qtdeclarative, + qtquickcontrols2, + alsa-lib, + libsndfile, + flite, + openssl, + udev, + SDL2, }: mkDerivation rec { @@ -15,8 +30,19 @@ mkDerivation rec { }; buildInputs = [ - alsa-lib libsndfile flite openssl udev SDL2 - qtbase qtscript qtwebkit qtserialport qtsvg qtdeclarative qtquickcontrols2 + alsa-lib + libsndfile + flite + openssl + udev + SDL2 + qtbase + qtscript + qtwebkit + qtserialport + qtsvg + qtdeclarative + qtquickcontrols2 ]; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix index bae3f747ba1a1..bca0c81a7b706 100644 --- a/pkgs/applications/science/robotics/mavproxy/default.nix +++ b/pkgs/applications/science/robotics/mavproxy/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, buildPythonApplication -, fetchFromGitHub -, lxml -, matplotlib -, numpy -, opencv-python -, pymavlink -, pyserial -, setuptools -, wxpython -, billiard -, gnureadline +{ + stdenv, + lib, + buildPythonApplication, + fetchFromGitHub, + lxml, + matplotlib, + numpy, + opencv-python, + pymavlink, + pyserial, + setuptools, + wxpython, + billiard, + gnureadline, }: buildPythonApplication rec { @@ -25,16 +26,21 @@ buildPythonApplication rec { hash = "sha256-A7tqV1kBCSuWHJUTdUZGcPY/r7X1edGZs6xDctpMbMI="; }; - propagatedBuildInputs = [ - lxml - matplotlib - numpy - opencv-python - pymavlink - pyserial - setuptools - wxpython - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ billiard gnureadline ]; + propagatedBuildInputs = + [ + lxml + matplotlib + numpy + opencv-python + pymavlink + pyserial + setuptools + wxpython + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + billiard + gnureadline + ]; # No tests doCheck = false; diff --git a/pkgs/applications/science/robotics/sumorobot-manager/default.nix b/pkgs/applications/science/robotics/sumorobot-manager/default.nix index a26bd5d5fc288..32f442fc688a9 100644 --- a/pkgs/applications/science/robotics/sumorobot-manager/default.nix +++ b/pkgs/applications/science/robotics/sumorobot-manager/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial, dos2unix }: +{ + lib, + stdenv, + python3, + qt5, + fetchFromGitHub, + wrapPython, + pyqt5, + pyserial, + dos2unix, +}: stdenv.mkDerivation rec { pname = "sumorobot-manager"; @@ -13,10 +23,15 @@ stdenv.mkDerivation rec { buildInputs = [ python3 ]; pythonPath = [ - pyqt5.dev pyserial + pyqt5.dev + pyserial ]; - nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook dos2unix ]; + nativeBuildInputs = [ + wrapPython + qt5.wrapQtAppsHook + dos2unix + ]; dontBuild = true; diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index 21618f8ed3ecc..c5ad07c625303 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -1,74 +1,76 @@ -{ stdenv -, fetchurl -, lib -, mkDerivation -, antiword -, aspell -, bison -, catdoc -, catdvi -, chmlib -, djvulibre -, file -, gawk -, ghostscript -, gnugrep -, gnused -, gnutar -, groff -, gzip -, libiconv -, libwpd -, libxslt -, lyx -, makeWrapper -, meson -, ninja -, perl -, perlPackages -, pkg-config -, poppler_utils -, python3Packages -, qtbase -, qttools -, unrtf -, untex -, unzip -, which -, xapian -, zlib -, withGui ? true -, withPython ? with stdenv; buildPlatform.canExecute hostPlatform +{ + stdenv, + fetchurl, + lib, + mkDerivation, + antiword, + aspell, + bison, + catdoc, + catdvi, + chmlib, + djvulibre, + file, + gawk, + ghostscript, + gnugrep, + gnused, + gnutar, + groff, + gzip, + libiconv, + libwpd, + libxslt, + lyx, + makeWrapper, + meson, + ninja, + perl, + perlPackages, + pkg-config, + poppler_utils, + python3Packages, + qtbase, + qttools, + unrtf, + untex, + unzip, + which, + xapian, + zlib, + withGui ? true, + withPython ? with stdenv; buildPlatform.canExecute hostPlatform, }: -let filters = { - # "binary-name = package" where: - # - "${package}/bin/${binary-name}" is the full path to the binary - # - occurrences of `"${binary-name}"` in recoll's filters should be fixed up - awk = gawk; - antiword = antiword; - catppt = catdoc; - catdvi = catdvi; - djvused = djvulibre; - djvutxt = djvulibre; - egrep = gnugrep; - groff = groff; - gunzip = gzip; - iconv = libiconv; - pdftotext = poppler_utils; - ps2ascii = ghostscript; - sed = gnused; - tar = gnutar; - unzip = unzip; - xls2csv = catdoc; - xsltproc = libxslt; - unrtf = unrtf; - untex = untex; - wpd2html = libwpd; - perl = perl.passthru.withPackages (p: [ p.ImageExifTool ]); - }; - filterPath = lib.makeBinPath (map lib.getBin (builtins.attrValues filters)); - useInotify = if stdenv.hostPlatform.isLinux then "true" else "false"; +let + filters = { + # "binary-name = package" where: + # - "${package}/bin/${binary-name}" is the full path to the binary + # - occurrences of `"${binary-name}"` in recoll's filters should be fixed up + awk = gawk; + antiword = antiword; + catppt = catdoc; + catdvi = catdvi; + djvused = djvulibre; + djvutxt = djvulibre; + egrep = gnugrep; + groff = groff; + gunzip = gzip; + iconv = libiconv; + pdftotext = poppler_utils; + ps2ascii = ghostscript; + sed = gnused; + tar = gnutar; + unzip = unzip; + xls2csv = catdoc; + xsltproc = libxslt; + unrtf = unrtf; + untex = untex; + wpd2html = libwpd; + perl = perl.passthru.withPackages (p: [ p.ImageExifTool ]); + }; + filterPath = lib.makeBinPath (map lib.getBin (builtins.attrValues filters)); + useInotify = if stdenv.hostPlatform.isLinux then "true" else "false"; in mkDerivation rec { @@ -80,25 +82,29 @@ mkDerivation rec { hash = "sha256-Eeadj/AnuztCb7VIYEy4hKbduH3CzK53tADvI9+PWmQ="; }; - mesonFlags = [ - "-Drecollq=true" - "-Dwebkit=false" - "-Dsystemd=false" - - # this leaks into the final `librecoll-*.so` binary, so we need - # to be sure it is taken from `pkgs.file` rather than `stdenv`, - # especially when cross-compiling - "-Dfile-command=${file}/bin/file" - - ] ++ lib.optionals (!withPython) [ - "-Dpython-module=false" - "-Dpython-chm=false" - ] ++ lib.optionals (!withGui) [ - "-Dqtgui=false" - "-Dx11mon=false" - ] ++ [ - "-Dinotify=${useInotify}" - ]; + mesonFlags = + [ + "-Drecollq=true" + "-Dwebkit=false" + "-Dsystemd=false" + + # this leaks into the final `librecoll-*.so` binary, so we need + # to be sure it is taken from `pkgs.file` rather than `stdenv`, + # especially when cross-compiling + "-Dfile-command=${file}/bin/file" + + ] + ++ lib.optionals (!withPython) [ + "-Dpython-module=false" + "-Dpython-chm=false" + ] + ++ lib.optionals (!withGui) [ + "-Dqtgui=false" + "-Dx11mon=false" + ] + ++ [ + "-Dinotify=${useInotify}" + ]; env.NIX_CFLAGS_COMPILE = toString [ "-DNIXPKGS" @@ -112,35 +118,43 @@ mkDerivation rec { ./0001-no-qtgui-darwin-bundle.patch ]; - nativeBuildInputs = [ - makeWrapper - meson - ninja - pkg-config - which - ] ++ lib.optionals withGui [ - qtbase - qttools - ] ++ lib.optionals withPython [ - python3Packages.setuptools - ]; - - buildInputs = [ - aspell - bison - chmlib - ] ++ lib.optionals withPython [ - python3Packages.python - python3Packages.mutagen - ] ++ [ - xapian - zlib - file - ] ++ lib.optionals withGui [ - qtbase - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + nativeBuildInputs = + [ + makeWrapper + meson + ninja + pkg-config + which + ] + ++ lib.optionals withGui [ + qtbase + qttools + ] + ++ lib.optionals withPython [ + python3Packages.setuptools + ]; + + buildInputs = + [ + aspell + bison + chmlib + ] + ++ lib.optionals withPython [ + python3Packages.python + python3Packages.mutagen + ] + ++ [ + xapian + zlib + file + ] + ++ lib.optionals withGui [ + qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; qtWrapperArgs = [ "--prefix PATH : ${filterPath}" @@ -149,30 +163,39 @@ mkDerivation rec { # the filters search through ${PATH} using a sh proc 'checkcmds' for the # filtering utils. Short circuit this by replacing the filtering command with # the absolute path to the filtering command. - postInstall = '' - substituteInPlace $out/lib/*/site-packages/recoll/rclconfig.py --replace /usr/share/recoll $out/share/recoll - substituteInPlace $out/share/recoll/filters/rclconfig.py --replace /usr/share/recoll $out/share/recoll - for f in $out/share/recoll/filters/* ; do - if [[ ! "$f" =~ \.zip$ ]]; then - '' + lib.concatStrings (lib.mapAttrsToList (k: v: ('' + postInstall = + '' + substituteInPlace $out/lib/*/site-packages/recoll/rclconfig.py --replace /usr/share/recoll $out/share/recoll + substituteInPlace $out/share/recoll/filters/rclconfig.py --replace /usr/share/recoll $out/share/recoll + for f in $out/share/recoll/filters/* ; do + if [[ ! "$f" =~ \.zip$ ]]; then + '' + + lib.concatStrings ( + lib.mapAttrsToList (k: v: ('' substituteInPlace $f --replace '"${k}"' '"${lib.getBin v}/bin/${k}"' - '')) filters) + '' - substituteInPlace $f --replace '"pstotext"' '"${lib.getBin ghostscript}/bin/ps2ascii"' - substituteInPlace $f --replace /usr/bin/perl ${lib.getBin (perl.passthru.withPackages (p: [ p.ImageExifTool ]))}/bin/perl - fi - done - wrapProgram $out/share/recoll/filters/rclaudio.py \ - --prefix PYTHONPATH : $PYTHONPATH - wrapProgram $out/share/recoll/filters/rcljoplin.py \ - --prefix PYTHONPATH : $out/${python3Packages.python.sitePackages} - wrapProgram $out/share/recoll/filters/rclimg \ - --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ ImageExifTool ]}" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace $f --replace '"lyx"' '"${lib.getBin lyx}/bin/lyx"' - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && withGui) '' - mkdir $out/Applications - mv $out/bin/recoll.app $out/Applications - ''; + '')) filters + ) + + '' + substituteInPlace $f --replace '"pstotext"' '"${lib.getBin ghostscript}/bin/ps2ascii"' + substituteInPlace $f --replace /usr/bin/perl ${ + lib.getBin (perl.passthru.withPackages (p: [ p.ImageExifTool ])) + }/bin/perl + fi + done + wrapProgram $out/share/recoll/filters/rclaudio.py \ + --prefix PYTHONPATH : $PYTHONPATH + wrapProgram $out/share/recoll/filters/rcljoplin.py \ + --prefix PYTHONPATH : $out/${python3Packages.python.sitePackages} + wrapProgram $out/share/recoll/filters/rclimg \ + --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ ImageExifTool ]}" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace $f --replace '"lyx"' '"${lib.getBin lyx}/bin/lyx"' + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && withGui) '' + mkdir $out/Applications + mv $out/bin/recoll.app $out/Applications + ''; # create symlink after fixup to prevent double wrapping of recoll postFixup = lib.optionalString (stdenv.hostPlatform.isDarwin && withGui) '' @@ -191,7 +214,10 @@ mkDerivation rec { changelog = "https://www.recoll.org/pages/release-history.html"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ jcumming ehmry ]; + maintainers = with maintainers; [ + jcumming + ehmry + ]; # `Makefile.am` assumes the ability to run the hostPlatform's python binary at build time broken = withPython && (with stdenv; !buildPlatform.canExecute hostPlatform); diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix index fada61d6b6a41..635aa584371d6 100644 --- a/pkgs/applications/system/monitor/default.nix +++ b/pkgs/applications/system/monitor/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, meson -, ninja -, vala -, pkg-config -, pantheon -, python3 -, curl -, flatpak -, gettext -, glib -, gtk3 -, json-glib -, libwnck -, libgee -, libgtop -, libhandy -, sassc -, udisks2 -, wrapGAppsHook3 -, libX11 -, libXext -, libXNVCtrl +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + meson, + ninja, + vala, + pkg-config, + pantheon, + python3, + curl, + flatpak, + gettext, + glib, + gtk3, + json-glib, + libwnck, + libgee, + libgtop, + libhandy, + sassc, + udisks2, + wrapGAppsHook3, + libX11, + libXext, + libXNVCtrl, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/system/qjournalctl/default.nix b/pkgs/applications/system/qjournalctl/default.nix index fc80c3f69df81..972f688d95962 100644 --- a/pkgs/applications/system/qjournalctl/default.nix +++ b/pkgs/applications/system/qjournalctl/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, qtbase -, qmake -, pkg-config -, libssh -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + qtbase, + qmake, + pkg-config, + libssh, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/system/systemdgenie/default.nix b/pkgs/applications/system/systemdgenie/default.nix index c8d747a8e1220..0131be7ebc71f 100644 --- a/pkgs/applications/system/systemdgenie/default.nix +++ b/pkgs/applications/system/systemdgenie/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, cmake -, extra-cmake-modules -, kxmlgui -, fetchFromGitLab -, kdelibs4support -, wrapQtAppsHook +{ + stdenv, + lib, + cmake, + extra-cmake-modules, + kxmlgui, + fetchFromGitLab, + kdelibs4support, + wrapQtAppsHook, }: -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { pname = "systemdgenie"; version = "0.99.0"; src = fetchFromGitLab { @@ -18,9 +19,16 @@ stdenv.mkDerivation rec{ hash = "sha256-y+A2OuK1ZooPY5W0SsXEb1aaOAJ2b7QSwiumolmAaR4="; }; - nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + wrapQtAppsHook + ]; - buildInputs = [ kxmlgui kdelibs4support ]; + buildInputs = [ + kxmlgui + kdelibs4support + ]; meta = with lib; { description = "Systemd management utility"; diff --git a/pkgs/applications/terminal-emulators/cool-retro-term/default.nix b/pkgs/applications/terminal-emulators/cool-retro-term/default.nix index c2a8710858318..5386ae950e345 100644 --- a/pkgs/applications/terminal-emulators/cool-retro-term/default.nix +++ b/pkgs/applications/terminal-emulators/cool-retro-term/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, mkDerivation -, qtbase -, qmltermwidget -, qtquickcontrols2 -, qtgraphicaleffects -, qmake -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + mkDerivation, + qtbase, + qmltermwidget, + qtquickcontrols2, + qtgraphicaleffects, + qmake, + nixosTests, }: mkDerivation rec { @@ -36,13 +37,15 @@ mkDerivation rec { installFlags = [ "INSTALL_ROOT=$(out)" ]; - preFixup = '' - mv $out/usr/share $out/share - mv $out/usr/bin $out/bin - rmdir $out/usr - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term - ''; + preFixup = + '' + mv $out/usr/share $out/share + mv $out/usr/bin $out/bin + rmdir $out/usr + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term + ''; passthru.tests.test = nixosTests.terminal-emulators.cool-retro-term; diff --git a/pkgs/applications/terminal-emulators/mlterm/default.nix b/pkgs/applications/terminal-emulators/mlterm/default.nix index dcf581f27a80c..25f5d5333886f 100644 --- a/pkgs/applications/terminal-emulators/mlterm/default.nix +++ b/pkgs/applications/terminal-emulators/mlterm/default.nix @@ -1,102 +1,105 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, autoconf -, makeDesktopItem -, nixosTests -, vte -, harfbuzz # can be replaced with libotf -, fribidi -, m17n_lib -, libssh2 #build-in ssh -, fcitx5 -, fcitx5-gtk -, ibus -, uim #IME -, wrapGAppsHook3 #color picker in mlconfig -, gdk-pixbuf -, gtk3 -, gtk ? gtk3 -# List of gui libraries to use. According to `./configure --help` ran on -# release 3.9.3, options are: (xlib|win32|fb|quartz|console|wayland|sdl2|beos) -, enableGuis ? { - xlib = enableX11; - # From some reason, upstream's ./configure script disables compilation of the - # external tool `mlconfig` if `enableGuis.fb == true`. This behavior is not - # documentd in `./configure --help`, and it is reported here: - # https://github.com/arakiken/mlterm/issues/73 - fb = false; - quartz = stdenv.hostPlatform.isDarwin; - wayland = stdenv.hostPlatform.isLinux; - sdl2 = true; -} -, libxkbcommon -, wayland # for the "wayland" --with-gui option -, SDL2 # for the "sdl" --with-gui option -# List of typing engines, the default list enables compiling all of the -# available ones, as recorded on release 3.9.3 -, enableTypeEngines ? { - xcore = false; # Considered legacy - xft = enableX11; - cairo = true; -} -, libX11 -, libXft -, cairo -# List of external tools to create, this default list includes all default -# tools, as recorded on release 3.9.3. -, enableTools ? { - mlclient = true; - mlconfig = true; - mlcc = true; - mlterm-menu = true; - # Note that according to upstream's ./configure script, to disable - # mlimgloader you have to disable _all_ tools. See: - # https://github.com/arakiken/mlterm/issues/69 - mlimgloader = true; - registobmp = true; - mlfc = true; -} -# Whether to enable the X window system -, enableX11 ? stdenv.hostPlatform.isLinux -# Most of the input methods and other build features are enabled by default, -# the following attribute set can be used to disable some of them. It's parsed -# when we set `configureFlags`. If you find other configure Flags that require -# dependencies, it'd be nice to make that contribution here. -, enableFeatures ? { - uim = !stdenv.hostPlatform.isDarwin; - ibus = !stdenv.hostPlatform.isDarwin; - fcitx = !stdenv.hostPlatform.isDarwin; - m17n = !stdenv.hostPlatform.isDarwin; - ssh2 = true; - bidi = true; - # Open Type layout support, (substituting glyphs with opentype fonts) - otl = true; -} -# Configure the Exec directive in the generated .desktop file -, desktopBinary ? ( - if enableGuis.xlib then - "mlterm" - else if enableGuis.wayland then - "mlterm-wl" - else if enableGuis.sdl2 then - "mlterm-sdl2" - else - throw "mlterm: couldn't figure out what desktopBinary to use." - ) +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + autoconf, + makeDesktopItem, + nixosTests, + vte, + harfbuzz, # can be replaced with libotf + fribidi, + m17n_lib, + libssh2, # build-in ssh + fcitx5, + fcitx5-gtk, + ibus, + uim, # IME + wrapGAppsHook3, # color picker in mlconfig + gdk-pixbuf, + gtk3, + gtk ? gtk3, + # List of gui libraries to use. According to `./configure --help` ran on + # release 3.9.3, options are: (xlib|win32|fb|quartz|console|wayland|sdl2|beos) + enableGuis ? { + xlib = enableX11; + # From some reason, upstream's ./configure script disables compilation of the + # external tool `mlconfig` if `enableGuis.fb == true`. This behavior is not + # documentd in `./configure --help`, and it is reported here: + # https://github.com/arakiken/mlterm/issues/73 + fb = false; + quartz = stdenv.hostPlatform.isDarwin; + wayland = stdenv.hostPlatform.isLinux; + sdl2 = true; + }, + libxkbcommon, + wayland, # for the "wayland" --with-gui option + SDL2, # for the "sdl" --with-gui option + # List of typing engines, the default list enables compiling all of the + # available ones, as recorded on release 3.9.3 + enableTypeEngines ? { + xcore = false; # Considered legacy + xft = enableX11; + cairo = true; + }, + libX11, + libXft, + cairo, + # List of external tools to create, this default list includes all default + # tools, as recorded on release 3.9.3. + enableTools ? { + mlclient = true; + mlconfig = true; + mlcc = true; + mlterm-menu = true; + # Note that according to upstream's ./configure script, to disable + # mlimgloader you have to disable _all_ tools. See: + # https://github.com/arakiken/mlterm/issues/69 + mlimgloader = true; + registobmp = true; + mlfc = true; + }, + # Whether to enable the X window system + enableX11 ? stdenv.hostPlatform.isLinux, + # Most of the input methods and other build features are enabled by default, + # the following attribute set can be used to disable some of them. It's parsed + # when we set `configureFlags`. If you find other configure Flags that require + # dependencies, it'd be nice to make that contribution here. + enableFeatures ? { + uim = !stdenv.hostPlatform.isDarwin; + ibus = !stdenv.hostPlatform.isDarwin; + fcitx = !stdenv.hostPlatform.isDarwin; + m17n = !stdenv.hostPlatform.isDarwin; + ssh2 = true; + bidi = true; + # Open Type layout support, (substituting glyphs with opentype fonts) + otl = true; + }, + # Configure the Exec directive in the generated .desktop file + desktopBinary ? ( + if enableGuis.xlib then + "mlterm" + else if enableGuis.wayland then + "mlterm-wl" + else if enableGuis.sdl2 then + "mlterm-sdl2" + else + throw "mlterm: couldn't figure out what desktopBinary to use." + ), }: let # Returns a --with-feature=, or `--without-feature` if all attributes are false or don't # exist. Used later in configureFlags - withFeaturesList = featureName: attrset: let - commaSepList = lib.concatStringsSep "," (builtins.attrNames (lib.filterAttrs (n: v: v) attrset)); - in - lib.withFeatureAs (commaSepList != "") featureName commaSepList - ; -in stdenv.mkDerivation (finalAttrs: { + withFeaturesList = + featureName: attrset: + let + commaSepList = lib.concatStringsSep "," (builtins.attrNames (lib.filterAttrs (n: v: v) attrset)); + in + lib.withFeatureAs (commaSepList != "") featureName commaSepList; +in +stdenv.mkDerivation (finalAttrs: { pname = "mlterm"; version = "3.9.3"; @@ -107,43 +110,58 @@ in stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-gfs5cdwUUwSBWwJJSaxrQGWJvLkI27RMlk5QvDALEDg="; }; - nativeBuildInputs = [ - pkg-config - autoconf - ] ++ lib.optionals enableTools.mlconfig [ - wrapGAppsHook3 - ]; - buildInputs = [ - gtk - vte - gdk-pixbuf - ] ++ lib.optionals enableTypeEngines.xcore [ - libX11 - ] ++ lib.optionals enableTypeEngines.xft [ - libXft - ] ++ lib.optionals enableTypeEngines.cairo [ - cairo - ] ++ lib.optionals enableGuis.wayland [ - libxkbcommon - wayland - ] ++ lib.optionals enableGuis.sdl2 [ - SDL2 - ] ++ lib.optionals enableFeatures.otl [ - harfbuzz - ] ++ lib.optionals enableFeatures.bidi [ - fribidi - ] ++ lib.optionals enableFeatures.ssh2 [ - libssh2 - ] ++ lib.optionals enableFeatures.m17n [ - m17n_lib - ] ++ lib.optionals enableFeatures.fcitx [ - fcitx5 - fcitx5-gtk - ] ++ lib.optionals enableFeatures.ibus [ - ibus - ] ++ lib.optionals enableFeatures.uim [ - uim - ]; + nativeBuildInputs = + [ + pkg-config + autoconf + ] + ++ lib.optionals enableTools.mlconfig [ + wrapGAppsHook3 + ]; + buildInputs = + [ + gtk + vte + gdk-pixbuf + ] + ++ lib.optionals enableTypeEngines.xcore [ + libX11 + ] + ++ lib.optionals enableTypeEngines.xft [ + libXft + ] + ++ lib.optionals enableTypeEngines.cairo [ + cairo + ] + ++ lib.optionals enableGuis.wayland [ + libxkbcommon + wayland + ] + ++ lib.optionals enableGuis.sdl2 [ + SDL2 + ] + ++ lib.optionals enableFeatures.otl [ + harfbuzz + ] + ++ lib.optionals enableFeatures.bidi [ + fribidi + ] + ++ lib.optionals enableFeatures.ssh2 [ + libssh2 + ] + ++ lib.optionals enableFeatures.m17n [ + m17n_lib + ] + ++ lib.optionals enableFeatures.fcitx [ + fcitx5 + fcitx5-gtk + ] + ++ lib.optionals enableFeatures.ibus [ + ibus + ] + ++ lib.optionals enableFeatures.uim [ + uim + ]; #bad configure.ac and Makefile.in everywhere preConfigure = '' @@ -169,27 +187,33 @@ in stdenv.mkDerivation (finalAttrs: { NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types"; }; - configureFlags = [ - (withFeaturesList "type-engines" enableTypeEngines) - (withFeaturesList "tools" enableTools) - (withFeaturesList "gui" enableGuis) - (lib.withFeature enableX11 "x") - ] ++ lib.optionals (gtk != null) [ - "--with-gtk=${lib.versions.major gtk.version}.0" - ] ++ (lib.mapAttrsToList (n: v: lib.enableFeature v n) enableFeatures) ++ [ - ]; + configureFlags = + [ + (withFeaturesList "type-engines" enableTypeEngines) + (withFeaturesList "tools" enableTools) + (withFeaturesList "gui" enableGuis) + (lib.withFeature enableX11 "x") + ] + ++ lib.optionals (gtk != null) [ + "--with-gtk=${lib.versions.major gtk.version}.0" + ] + ++ (lib.mapAttrsToList (n: v: lib.enableFeature v n) enableFeatures) + ++ [ + ]; enableParallelBuilding = true; - postInstall = '' - install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg" - install -D contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png" - install -D -t $out/share/applications $desktopItem/share/applications/* - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications/ - cp -a cocoa/mlterm.app $out/Applications/ - install $out/bin/mlterm -Dt $out/Applications/mlterm.app/Contents/MacOS/ - ''; + postInstall = + '' + install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg" + install -D contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png" + install -D -t $out/share/applications $desktopItem/share/applications/* + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications/ + cp -a cocoa/mlterm.app $out/Applications/ + install $out/bin/mlterm -Dt $out/Applications/mlterm.app/Contents/MacOS/ + ''; desktopItem = makeDesktopItem { name = "mlterm"; @@ -199,7 +223,10 @@ in stdenv.mkDerivation (finalAttrs: { comment = "Multi Lingual TERMinal emulator"; desktopName = "mlterm"; genericName = "Terminal emulator"; - categories = [ "System" "TerminalEmulator" ]; + categories = [ + "System" + "TerminalEmulator" + ]; startupNotify = false; }; @@ -210,14 +237,18 @@ in stdenv.mkDerivation (finalAttrs: { enableTools enableGuis enableFeatures - ; + ; }; meta = with lib; { description = "Multi Lingual TERMinal emulator"; homepage = "https://mlterm.sourceforge.net/"; license = licenses.bsd3; - maintainers = with maintainers; [ ramkromberg atemu doronbehar ]; + maintainers = with maintainers; [ + ramkromberg + atemu + doronbehar + ]; platforms = platforms.all; mainProgram = desktopBinary; }; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix index 6217bc0659a22..192b98d32a49d 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "urxvt-autocomplete-all-the-things"; @@ -24,4 +28,3 @@ stdenv.mkDerivation rec { platforms = with platforms; unix; }; } - diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix index cb3843cb61ea8..ec2d08862ecd3 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, perlPackages, pkg-config, fribidi }: +{ + lib, + fetchurl, + perlPackages, + pkg-config, + fribidi, +}: perlPackages.buildPerlPackage rec { pname = "urxvt-bidi"; @@ -9,7 +15,10 @@ perlPackages.buildPerlPackage rec { sha256 = "1w65xbi4mw5acsrpv3phyzv82ghb29kpbb3b1b1gcinlfxl6f61m"; }; - nativeBuildInputs = [ pkg-config perlPackages.ExtUtilsPkgConfig ]; + nativeBuildInputs = [ + pkg-config + perlPackages.ExtUtilsPkgConfig + ]; buildInputs = [ fribidi ]; postInstall = '' diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix index fa356081a8703..9a32da5427e75 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, xrdb, xlsfonts }: +{ + lib, + stdenv, + fetchFromGitHub, + xrdb, + xlsfonts, +}: stdenv.mkDerivation rec { pname = "urxvt-font-size"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix index 64a1ed125ac80..0fb6958f6dda8 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, wmctrl }: +{ + lib, + stdenv, + fetchFromGitHub, + wmctrl, +}: stdenv.mkDerivation { pname = "urxvt-perl"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix index 33bf75c841bf3..1055f7ba19c84 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "urxvt-perls"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix index 95b369b70f99c..8b71ccae90854 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "urxvt-resize-font"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix index 4fc32f55e070c..0c9eec816abb6 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "urxvt-tabbedex"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix index 2bfc9669338ad..c356ee687e79d 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "urxvt-theme-switch"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix index 7d3d69122f627..0bdddaa88cb23 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, perl }: +{ + lib, + stdenv, + fetchgit, + perl, +}: stdenv.mkDerivation { pname = "rxvt-unicode-vtwheel"; diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix index a39099cc4bd46..e380fe052d266 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix @@ -1,13 +1,26 @@ -{ lib, stdenv, fetchurl, fetchpatch, makeDesktopItem -, libX11, libXt, libXft, libXrender, libXext -, ncurses, fontconfig, freetype -, pkg-config, gdk-pixbuf, perl -, libptytty -, perlSupport ? true -, gdkPixbufSupport ? true -, unicode3Support ? true -, emojiSupport ? false -, nixosTests +{ + lib, + stdenv, + fetchurl, + fetchpatch, + makeDesktopItem, + libX11, + libXt, + libXft, + libXrender, + libXext, + ncurses, + fontconfig, + freetype, + pkg-config, + gdk-pixbuf, + perl, + libptytty, + perlSupport ? true, + gdkPixbufSupport ? true, + unicode3Support ? true, + emojiSupport ? false, + nixosTests, }: let @@ -22,10 +35,19 @@ let comment = description; desktopName = "URxvt"; genericName = pname; - categories = [ "System" "TerminalEmulator" ]; + categories = [ + "System" + "TerminalEmulator" + ]; }; - fetchPatchFromAUR = { package, name, rev, sha256 }: + fetchPatchFromAUR = + { + package, + name, + rev, + sha256, + }: fetchpatch rec { url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=${package}&id=${rev}"; extraPrefix = ""; @@ -44,39 +66,61 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; buildInputs = - [ libX11 libXt libXft ncurses # required to build the terminfo file - fontconfig freetype libXrender + [ + libX11 + libXt + libXft + ncurses # required to build the terminfo file + fontconfig + freetype + libXrender libptytty - ] ++ lib.optionals perlSupport [ perl libXext ] - ++ lib.optional gdkPixbufSupport gdk-pixbuf; + ] + ++ lib.optionals perlSupport [ + perl + libXext + ] + ++ lib.optional gdkPixbufSupport gdk-pixbuf; - outputs = [ "out" "terminfo" ]; + outputs = [ + "out" + "terminfo" + ]; - patches = (if emojiSupport then [ - # the required patches to libXft are in nixpkgs by default, see - # ../../../servers/x11/xorg/overrides.nix - (fetchPatchFromAUR { - name = "enable-wide-glyphs.patch"; - package = "rxvt-unicode-truecolor-wide-glyphs"; - rev = "69701a09c2c206233952b84bc966407f6774f1dc"; - sha256 = "0jfcj0ahky4dxdfrhqvh1v83mblhf5nak56dk1vq3bhyifdg7ffq"; + patches = + ( + if emojiSupport then + [ + # the required patches to libXft are in nixpkgs by default, see + # ../../../servers/x11/xorg/overrides.nix + (fetchPatchFromAUR { + name = "enable-wide-glyphs.patch"; + package = "rxvt-unicode-truecolor-wide-glyphs"; + rev = "69701a09c2c206233952b84bc966407f6774f1dc"; + sha256 = "0jfcj0ahky4dxdfrhqvh1v83mblhf5nak56dk1vq3bhyifdg7ffq"; + }) + (fetchPatchFromAUR { + name = "improve-font-rendering.patch"; + package = "rxvt-unicode-truecolor-wide-glyphs"; + rev = "69701a09c2c206233952b84bc966407f6774f1dc"; + sha256 = "1jj5ai2182nq912279adihi4zph1w4dvbdqa1pwacy4na6y0fz9y"; + }) + ] + else + [ + ./patches/9.06-font-width.patch + ] + ) + ++ [ + ./patches/256-color-resources.patch + ] + ++ lib.optional (perlSupport && lib.versionAtLeast perl.version "5.38") (fetchpatch { + name = "perl538-locale-c.patch"; + url = "https://github.com/exg/rxvt-unicode/commit/16634bc8dd5fc4af62faf899687dfa8f27768d15.patch"; + excludes = [ "Changes" ]; + sha256 = "sha256-JVqzYi3tcWIN2j5JByZSztImKqbbbB3lnfAwUXrumHM="; }) - (fetchPatchFromAUR { - name = "improve-font-rendering.patch"; - package = "rxvt-unicode-truecolor-wide-glyphs"; - rev = "69701a09c2c206233952b84bc966407f6774f1dc"; - sha256 = "1jj5ai2182nq912279adihi4zph1w4dvbdqa1pwacy4na6y0fz9y"; - }) - ] else [ - ./patches/9.06-font-width.patch - ]) ++ [ - ./patches/256-color-resources.patch - ] ++ lib.optional (perlSupport && lib.versionAtLeast perl.version "5.38") (fetchpatch { - name = "perl538-locale-c.patch"; - url = "https://github.com/exg/rxvt-unicode/commit/16634bc8dd5fc4af62faf899687dfa8f27768d15.patch"; - excludes = [ "Changes" ]; - sha256 = "sha256-JVqzYi3tcWIN2j5JByZSztImKqbbbB3lnfAwUXrumHM="; - }) ++ lib.optional stdenv.hostPlatform.isDarwin ./patches/makefile-phony.patch; + ++ lib.optional stdenv.hostPlatform.isDarwin ./patches/makefile-phony.patch; configureFlags = [ "--with-terminfo=${placeholder "terminfo"}/share/terminfo" @@ -85,7 +129,11 @@ stdenv.mkDerivation { (lib.enableFeature unicode3Support "unicode3") ] ++ lib.optional emojiSupport "--enable-wide-glyphs"; - LDFLAGS = [ "-lfontconfig" "-lXrender" "-lpthread" ]; + LDFLAGS = [ + "-lfontconfig" + "-lXrender" + "-lpthread" + ]; CFLAGS = [ "-I${freetype.dev}/include/freetype2" ]; preConfigure = diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix index 2e2cb076c6973..eec7b86883ebc 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix @@ -1,15 +1,18 @@ -{ symlinkJoin -, makeWrapper -, lib -, rxvt-unicode-unwrapped -, rxvt-unicode-plugins -, perlPackages -, nixosTests -, configure ? { availablePlugins, ... }: - { plugins = builtins.attrValues availablePlugins; - extraDeps = [ ]; - perlDeps = [ ]; - } +{ + symlinkJoin, + makeWrapper, + lib, + rxvt-unicode-unwrapped, + rxvt-unicode-plugins, + perlPackages, + nixosTests, + configure ? + { availablePlugins, ... }: + { + plugins = builtins.attrValues availablePlugins; + extraDeps = [ ]; + perlDeps = [ ]; + }, }: let @@ -18,9 +21,12 @@ let # Transform the string "self" to the plugin itself. # It's needed for plugins like bidi who depends on the perl # package they provide themself. - mkPerlDeps = p: - let deps = p.perlPackages or [ ]; - in map (x: if x == "self" then p else x) deps; + mkPerlDeps = + p: + let + deps = p.perlPackages or [ ]; + in + map (x: if x == "self" then p else x) deps; # The wrapper is called with a `configure` function # that takes the urxvt plugins as input and produce @@ -28,36 +34,37 @@ let # extra dependencies and perl dependencies. # This provides simple way to customize urxvt using # the `.override` mechanism. - wrapper = { configure, ... }: + wrapper = + { configure, ... }: let config = configure { inherit availablePlugins; }; plugins = config.plugins or (builtins.attrValues availablePlugins); extraDeps = config.extraDeps or [ ]; perlDeps = (config.perlDeps or [ ]) ++ lib.concatMap mkPerlDeps plugins; in - symlinkJoin { - name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}"; + symlinkJoin { + name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}"; - paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps; + paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/urxvt \ - --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ - --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" - wrapProgram $out/bin/urxvtd \ - --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ - --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" - ''; + postBuild = '' + wrapProgram $out/bin/urxvt \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ + --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" + wrapProgram $out/bin/urxvtd \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ + --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" + ''; - inherit (rxvt-unicode-unwrapped) meta; + inherit (rxvt-unicode-unwrapped) meta; - passthru = { - plugins = plugins; - tests.test = nixosTests.terminal-emulators.urxvt; - }; + passthru = { + plugins = plugins; + tests.test = nixosTests.terminal-emulators.urxvt; }; + }; in - lib.makeOverridable wrapper { inherit configure; } +lib.makeOverridable wrapper { inherit configure; } diff --git a/pkgs/applications/terminal-emulators/st/default.nix b/pkgs/applications/terminal-emulators/st/default.nix index 676ef292def16..7657895061d7a 100644 --- a/pkgs/applications/terminal-emulators/st/default.nix +++ b/pkgs/applications/terminal-emulators/st/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, fontconfig -, freetype -, libX11 -, libXft -, ncurses -, writeText -, conf ? null -, patches ? [ ] -, extraLibs ? [ ] -, nixosTests -# update script dependencies -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + fontconfig, + freetype, + libX11, + libXft, + ncurses, + writeText, + conf ? null, + patches ? [ ], + extraLibs ? [ ], + nixosTests, + # update script dependencies + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -25,17 +26,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ayFdT0crIdYjLzDyIRF6d34kvP7miVXd77dCZGf5SUs="; }; - outputs = [ "out" "terminfo" ]; + outputs = [ + "out" + "terminfo" + ]; inherit patches; - configFile = lib.optionalString (conf != null) - (writeText "config.def.h" conf); + configFile = lib.optionalString (conf != null) (writeText "config.def.h" conf); - postPatch = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} config.def.h" + postPatch = + lib.optionalString (conf != null) "cp ${finalAttrs.configFile} config.def.h" + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace config.mk --replace "-lrt" "" - ''; + substituteInPlace config.mk --replace "-lrt" "" + ''; strictDeps = true; diff --git a/pkgs/applications/terminal-emulators/st/mcaimi-st.nix b/pkgs/applications/terminal-emulators/st/mcaimi-st.nix index e13163df0cece..57085230621a2 100644 --- a/pkgs/applications/terminal-emulators/st/mcaimi-st.nix +++ b/pkgs/applications/terminal-emulators/st/mcaimi-st.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fontconfig -, libX11 -, libXext -, libXft -, ncurses -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + libX11, + libXext, + libXft, + ncurses, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/terminal-emulators/st/siduck76-st.nix b/pkgs/applications/terminal-emulators/st/siduck76-st.nix index 54ec7117e2111..d981ba481e59f 100644 --- a/pkgs/applications/terminal-emulators/st/siduck76-st.nix +++ b/pkgs/applications/terminal-emulators/st/siduck76-st.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fontconfig -, harfbuzz -, libX11 -, libXext -, libXft -, ncurses -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + harfbuzz, + libX11, + libXext, + libXft, + ncurses, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/terminal-emulators/st/xst.nix b/pkgs/applications/terminal-emulators/st/xst.nix index dda4b49c2aedf..904f939c6b8e6 100644 --- a/pkgs/applications/terminal-emulators/st/xst.nix +++ b/pkgs/applications/terminal-emulators/st/xst.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fontconfig -, libX11 -, libXext -, libXft -, ncurses -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + libX11, + libXext, + libXft, + ncurses, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/terminal-emulators/stupidterm/default.nix b/pkgs/applications/terminal-emulators/stupidterm/default.nix index f10d91229376b..379bd1d942783 100644 --- a/pkgs/applications/terminal-emulators/stupidterm/default.nix +++ b/pkgs/applications/terminal-emulators/stupidterm/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, vte, gtk, pcre2, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + vte, + gtk, + pcre2, + nixosTests, +}: stdenv.mkDerivation { pname = "stupidterm"; @@ -6,7 +15,11 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ vte gtk pcre2 ]; + buildInputs = [ + vte + gtk + pcre2 + ]; src = fetchFromGitHub { owner = "esmil"; @@ -15,7 +28,10 @@ stdenv.mkDerivation { sha256 = "1f73wvqqvj5pr3fvb7jjc4bi1iwgkkknz24k8n69mdb75jnfjipp"; }; - makeFlags = [ "PKGCONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config" "binary=stupidterm" ]; + makeFlags = [ + "PKGCONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config" + "binary=stupidterm" + ]; installPhase = '' install -D stupidterm $out/bin/stupidterm diff --git a/pkgs/applications/terminal-emulators/termite/default.nix b/pkgs/applications/terminal-emulators/termite/default.nix index 3dc6d484d2d3c..9e03345a63a93 100644 --- a/pkgs/applications/terminal-emulators/termite/default.nix +++ b/pkgs/applications/terminal-emulators/termite/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, vte, gtk3, ncurses, pcre2, wrapGAppsHook3, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + vte, + gtk3, + ncurses, + pcre2, + wrapGAppsHook3, + nixosTests, +}: let @@ -6,8 +18,8 @@ let # https://github.com/thestinger/vte-ng # # three of the patches have been locally modified to cleanly apply on 0.62 - vte-ng = vte.overrideAttrs (attrs: { - patches = attrs.patches or [] ++ [ + vte-ng = vte.overrideAttrs (attrs: { + patches = attrs.patches or [ ] ++ [ (fetchpatch { name = "0001-expose-functions-for-pausing-unpausing-output.patch"; url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch"; @@ -27,7 +39,8 @@ let ]; }); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "termite"; version = "15"; @@ -40,7 +53,9 @@ in stdenv.mkDerivation rec { }; # https://github.com/thestinger/termite/pull/516 - patches = [ ./url_regexp_trailing.patch ./add_errno_header.patch + patches = [ + ./url_regexp_trailing.patch + ./add_errno_header.patch # Fix off-by-one in select_text() on libvte >= 0.55.0 # Expected to be included in next release (16). (fetchpatch { @@ -49,13 +64,28 @@ in stdenv.mkDerivation rec { }) ] ++ lib.optional stdenv.hostPlatform.isDarwin ./remove_ldflags_macos.patch; - makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ]; + makeFlags = [ + "VERSION=v${version}" + "PREFIX=" + "DESTDIR=$(out)" + ]; - buildInputs = [ vte-ng gtk3 ncurses pcre2 ]; + buildInputs = [ + vte-ng + gtk3 + ncurses + pcre2 + ]; - nativeBuildInputs = [ wrapGAppsHook3 pkg-config ]; + nativeBuildInputs = [ + wrapGAppsHook3 + pkg-config + ]; - outputs = [ "out" "terminfo" ]; + outputs = [ + "out" + "terminfo" + ]; passthru = { inherit vte-ng; diff --git a/pkgs/applications/terminal-emulators/termite/wrapper.nix b/pkgs/applications/terminal-emulators/termite/wrapper.nix index 379223d9076d0..ff4d329e52f3d 100644 --- a/pkgs/applications/terminal-emulators/termite/wrapper.nix +++ b/pkgs/applications/terminal-emulators/termite/wrapper.nix @@ -1,15 +1,23 @@ -{ makeWrapper, symlinkJoin, configFile ? null, termite }: +{ + makeWrapper, + symlinkJoin, + configFile ? null, + termite, +}: -if configFile == null then termite else symlinkJoin { - name = "termite-with-config-${termite.version}"; +if configFile == null then + termite +else + symlinkJoin { + name = "termite-with-config-${termite.version}"; - paths = [ termite ]; - nativeBuildInputs = [ makeWrapper ]; + paths = [ termite ]; + nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/termite \ - --add-flags "--config ${configFile}" - ''; + postBuild = '' + wrapProgram $out/bin/termite \ + --add-flags "--config ${configFile}" + ''; - passthru.terminfo = termite.terminfo; -} + passthru.terminfo = termite.terminfo; + } diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix index 7fa33f7a822e3..00117185c5564 100644 --- a/pkgs/applications/terminal-emulators/wezterm/default.nix +++ b/pkgs/applications/terminal-emulators/wezterm/default.nix @@ -1,33 +1,34 @@ -{ stdenv -, rustPlatform -, lib -, fetchFromGitHub -, ncurses -, perl -, pkg-config -, python3 -, fontconfig -, installShellFiles -, openssl -, libGL -, libX11 -, libxcb -, libxkbcommon -, xcbutil -, xcbutilimage -, xcbutilkeysyms -, xcbutilwm -, wayland -, zlib -, CoreGraphics -, Cocoa -, Foundation -, System -, libiconv -, UserNotifications -, nixosTests -, runCommand -, vulkan-loader +{ + stdenv, + rustPlatform, + lib, + fetchFromGitHub, + ncurses, + perl, + pkg-config, + python3, + fontconfig, + installShellFiles, + openssl, + libGL, + libX11, + libxcb, + libxkbcommon, + xcbutil, + xcbutilimage, + xcbutilkeysyms, + xcbutilwm, + wayland, + zlib, + CoreGraphics, + Cocoa, + Foundation, + System, + libiconv, + UserNotifications, + nixosTests, + runCommand, + vulkan-loader, }: rustPlatform.buildRustPackage rec { @@ -72,27 +73,30 @@ rustPlatform.buildRustPackage rec { python3 ] ++ lib.optional stdenv.hostPlatform.isDarwin perl; - buildInputs = [ - fontconfig - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - libxcb - libxkbcommon - openssl - wayland - xcbutil - xcbutilimage - xcbutilkeysyms - xcbutilwm # contains xcb-ewmh among others - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - CoreGraphics - Foundation - libiconv - System - UserNotifications - ]; + buildInputs = + [ + fontconfig + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libxcb + libxkbcommon + openssl + wayland + xcbutil + xcbutilimage + xcbutilkeysyms + xcbutilwm # contains xcb-ewmh among others + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + CoreGraphics + Foundation + libiconv + System + UserNotifications + ]; buildFeatures = [ "distro-defaults" ]; @@ -115,33 +119,43 @@ rustPlatform.buildRustPackage rec { install -Dm644 assets/wezterm-nautilus.py -t $out/share/nautilus-python/extensions ''; - preFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf \ - --add-needed "${libGL}/lib/libEGL.so.1" \ - --add-needed "${vulkan-loader}/lib/libvulkan.so.1" \ - $out/bin/wezterm-gui - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p "$out/Applications" - OUT_APP="$out/Applications/WezTerm.app" - cp -r assets/macos/WezTerm.app "$OUT_APP" - rm $OUT_APP/*.dylib - cp -r assets/shell-integration/* "$OUT_APP" - ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP" - ''; + preFixup = + lib.optionalString stdenv.hostPlatform.isLinux '' + patchelf \ + --add-needed "${libGL}/lib/libEGL.so.1" \ + --add-needed "${vulkan-loader}/lib/libvulkan.so.1" \ + $out/bin/wezterm-gui + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$out/Applications" + OUT_APP="$out/Applications/WezTerm.app" + cp -r assets/macos/WezTerm.app "$OUT_APP" + rm $OUT_APP/*.dylib + cp -r assets/shell-integration/* "$OUT_APP" + ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP" + ''; passthru = { # the headless variant is useful when deploying wezterm's mux server on remote severs headless = rustPlatform.buildRustPackage { pname = "${pname}-headless"; - inherit version src postPatch cargoLock meta; + inherit + version + src + postPatch + cargoLock + meta + ; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; cargoBuildFlags = [ - "--package" "wezterm" - "--package" "wezterm-mux-server" + "--package" + "wezterm" + "--package" + "wezterm-mux-server" ]; doCheck = false; @@ -152,12 +166,15 @@ rustPlatform.buildRustPackage rec { ''; }; - terminfo = runCommand "wezterm-terminfo" { - nativeBuildInputs = [ ncurses ]; - } '' - mkdir -p $out/share/terminfo $out/nix-support - tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo - ''; + terminfo = + runCommand "wezterm-terminfo" + { + nativeBuildInputs = [ ncurses ]; + } + '' + mkdir -p $out/share/terminfo $out/nix-support + tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo + ''; tests = { all-terminfo = nixosTests.allTerminfo; @@ -171,6 +188,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://wezfurlong.org/wezterm"; license = licenses.mit; mainProgram = "wezterm"; - maintainers = with maintainers; [ SuperSandro2000 mimame ]; + maintainers = with maintainers; [ + SuperSandro2000 + mimame + ]; }; } diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix index 6b1be920833e1..7acccc3a7a0e9 100644 --- a/pkgs/applications/version-management/bcompare/default.nix +++ b/pkgs/applications/version-management/bcompare/default.nix @@ -1,5 +1,20 @@ -{ lib, autoPatchelfHook, bzip2, cairo, fetchurl, gdk-pixbuf, glibc, pango, gtk2, kcoreaddons, ki18n, kio, kservice -, stdenv, runtimeShell, unzip +{ + lib, + autoPatchelfHook, + bzip2, + cairo, + fetchurl, + gdk-pixbuf, + glibc, + pango, + gtk2, + kcoreaddons, + ki18n, + kio, + kservice, + stdenv, + runtimeShell, + unzip, }: let @@ -25,7 +40,12 @@ let src = srcs.${stdenv.hostPlatform.system} or throwSystem; linux = stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; unpackPhase = '' ar x $src tar xfz data.tar.gz @@ -69,7 +89,12 @@ let }; darwin = stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; nativeBuildInputs = [ unzip ]; installPhase = '' @@ -88,11 +113,12 @@ let homepage = "https://www.scootersoftware.com"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ ktor arkivm ]; + maintainers = with maintainers; [ + ktor + arkivm + ]; platforms = builtins.attrNames srcs; mainProgram = "bcompare"; }; in -if stdenv.hostPlatform.isDarwin -then darwin -else linux +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/applications/version-management/bitbucket-server-cli/default.nix b/pkgs/applications/version-management/bitbucket-server-cli/default.nix index 6c38250c2753a..ae722fd47f4e2 100644 --- a/pkgs/applications/version-management/bitbucket-server-cli/default.nix +++ b/pkgs/applications/version-management/bitbucket-server-cli/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv rec { name = "bitbucket-server-cli-${version}"; @@ -13,10 +18,13 @@ bundlerEnv rec { meta = with lib; { description = "Command line interface to interact with BitBucket Server (formerly Atlassian Stash)"; - homepage = "https://bitbucket.org/atlassian/bitbucket-server-cli"; - license = licenses.mit; - maintainers = with maintainers; [ jgertm nicknovitski ]; + homepage = "https://bitbucket.org/atlassian/bitbucket-server-cli"; + license = licenses.mit; + maintainers = with maintainers; [ + jgertm + nicknovitski + ]; mainProgram = "stash"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/bitbucket-server-cli/gemset.nix b/pkgs/applications/version-management/bitbucket-server-cli/gemset.nix index 844291b09054d..0384c22326e64 100644 --- a/pkgs/applications/version-management/bitbucket-server-cli/gemset.nix +++ b/pkgs/applications/version-management/bitbucket-server-cli/gemset.nix @@ -1,7 +1,7 @@ { addressable = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j5r0anj8m4qlf2psnldip4b8ha2bsscv11lpdgnfh4nnchzjnxw"; type = "gem"; }; @@ -9,7 +9,7 @@ }; atlassian-stash = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rsf9h5w5wiglwv0fqwp45fq06fxbg68cqkc3bpqvps1i1qm0p6i"; type = "gem"; }; @@ -17,7 +17,7 @@ }; commander = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x9i8hf083wjlgj09nl1p9j8sr5g7amq0fdmxjqs4cxdbg3wpmsb"; type = "gem"; }; @@ -25,7 +25,7 @@ }; git = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1waikaggw7a1d24nw0sh8fd419gbf7awh000qhsf411valycj6q3"; type = "gem"; }; @@ -33,7 +33,7 @@ }; highline = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1"; type = "gem"; }; @@ -41,7 +41,7 @@ }; json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lhinj9vj7mw59jqid0bjn2hlfcnq02bnvsx9iv81nl2han603s0"; type = "gem"; }; @@ -49,7 +49,7 @@ }; launchy = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; type = "gem"; }; @@ -57,7 +57,7 @@ }; public_suffix = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q"; type = "gem"; }; diff --git a/pkgs/applications/version-management/blackbox/default.nix b/pkgs/applications/version-management/blackbox/default.nix index e5be040f6a25e..70c0bd6e3597d 100644 --- a/pkgs/applications/version-management/blackbox/default.nix +++ b/pkgs/applications/version-management/blackbox/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, expect -, which -, gnupg -, coreutils -, git -, pinentry -, gnutar -, procps +{ + lib, + stdenv, + fetchFromGitHub, + expect, + which, + gnupg, + coreutils, + git, + pinentry, + gnutar, + procps, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/version-management/cgit/common.nix b/pkgs/applications/version-management/cgit/common.nix index d5dab65bd4a92..03300018d135a 100644 --- a/pkgs/applications/version-management/cgit/common.nix +++ b/pkgs/applications/version-management/cgit/common.nix @@ -1,27 +1,68 @@ -{ pname, version, src, gitSrc, buildInputs ? [] -, homepage, description, maintainers -, passthru ? {} +{ + pname, + version, + src, + gitSrc, + buildInputs ? [ ], + homepage, + description, + maintainers, + passthru ? { }, }: -{ lib, stdenv, openssl, zlib, asciidoc, libxml2, libxslt -, docbook_xsl, pkg-config -, coreutils, gnused, groff, docutils -, gzip, bzip2, lzip, xz, zstd -, python3Packages +{ + lib, + stdenv, + openssl, + zlib, + asciidoc, + libxml2, + libxslt, + docbook_xsl, + pkg-config, + coreutils, + gnused, + groff, + docutils, + gzip, + bzip2, + lzip, + xz, + zstd, + python3Packages, }: stdenv.mkDerivation { - inherit pname version src gitSrc passthru; + inherit + pname + version + src + gitSrc + passthru + ; separateDebugInfo = true; - nativeBuildInputs = [ - pkg-config asciidoc - ] ++ (with python3Packages; [ python wrapPython ]); + nativeBuildInputs = + [ + pkg-config + asciidoc + ] + ++ (with python3Packages; [ + python + wrapPython + ]); buildInputs = buildInputs ++ [ - openssl zlib libxml2 libxslt docbook_xsl + openssl + zlib + libxml2 + libxslt + docbook_xsl + ]; + pythonPath = with python3Packages; [ + pygments + markdown ]; - pythonPath = with python3Packages; [ pygments markdown ]; postPatch = '' sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \ @@ -65,7 +106,12 @@ stdenv.mkDerivation { wrapPythonProgramsIn "$out/lib/cgit/filters" "$out $pythonPath" for script in $out/lib/cgit/filters/*.sh $out/lib/cgit/filters/html-converters/txt2html; do - wrapProgram $script --prefix PATH : '${lib.makeBinPath [ coreutils gnused ]}' + wrapProgram $script --prefix PATH : '${ + lib.makeBinPath [ + coreutils + gnused + ] + }' done ''; diff --git a/pkgs/applications/version-management/cgit/default.nix b/pkgs/applications/version-management/cgit/default.nix index 0fe86683d5fa2..9fcd94ccf5e15 100644 --- a/pkgs/applications/version-management/cgit/default.nix +++ b/pkgs/applications/version-management/cgit/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, callPackage, luajit, nixosTests }: +{ + lib, + fetchurl, + callPackage, + luajit, + nixosTests, +}: callPackage (import ./common.nix rec { pname = "cgit"; @@ -13,7 +19,7 @@ callPackage (import ./common.nix rec { # IMPORTANT: Remember to check which git version cgit needs on every version # bump (look for "GIT_VER" in the top-level Makefile). gitSrc = fetchurl { - url = "mirror://kernel/software/scm/git/git-2.25.1.tar.xz"; + url = "mirror://kernel/software/scm/git/git-2.25.1.tar.xz"; sha256 = "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2"; }; @@ -24,4 +30,4 @@ callPackage (import ./common.nix rec { homepage = "https://git.zx2c4.com/cgit/about/"; description = "Web frontend for git repositories"; maintainers = with lib.maintainers; [ bjornfor ]; -}) {} +}) { } diff --git a/pkgs/applications/version-management/cgit/pink.nix b/pkgs/applications/version-management/cgit/pink.nix index 73523a2d77afd..3ff1433260272 100644 --- a/pkgs/applications/version-management/cgit/pink.nix +++ b/pkgs/applications/version-management/cgit/pink.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, callPackage }: +{ + lib, + fetchurl, + callPackage, +}: callPackage (import ./common.nix rec { pname = "cgit-pink"; @@ -13,11 +17,11 @@ callPackage (import ./common.nix rec { # IMPORTANT: Remember to check which git version cgit-pink needs on every # version bump (look for "GIT_VER" in the top-level Makefile). gitSrc = fetchurl { - url = "mirror://kernel/software/scm/git/git-2.36.1.tar.xz"; + url = "mirror://kernel/software/scm/git/git-2.36.1.tar.xz"; sha256 = "0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0"; }; homepage = "https://git.causal.agency/cgit-pink/about/"; description = "cgit fork aiming for better maintenance"; maintainers = with lib.maintainers; [ sternenseemann ]; -}) {} +}) { } diff --git a/pkgs/applications/version-management/danger-gitlab/gemset.nix b/pkgs/applications/version-management/danger-gitlab/gemset.nix index 299716a33bd8e..70b12e0d609fc 100644 --- a/pkgs/applications/version-management/danger-gitlab/gemset.nix +++ b/pkgs/applications/version-management/danger-gitlab/gemset.nix @@ -1,385 +1,428 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; type = "gem"; }; version = "2.8.0"; }; claide = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z"; type = "gem"; }; version = "1.0.3"; }; claide-plugins = { - dependencies = ["cork" "nap" "open4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cork" + "nap" + "open4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bhw5j985qs48v217gnzva31rw5qvkf7qj8mhp73pcks0sy7isn7"; type = "gem"; }; version = "0.9.2"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; cork = { - dependencies = ["colored2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "colored2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g6l780z1nj4s3jr11ipwcj8pjbibvli82my396m3y32w98ar850"; type = "gem"; }; version = "0.3.0"; }; danger = { - dependencies = ["claide" "claide-plugins" "colored2" "cork" "faraday" "faraday-http-cache" "git" "kramdown" "kramdown-parser-gfm" "no_proxy_fix" "octokit" "terminal-table"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "claide" + "claide-plugins" + "colored2" + "cork" + "faraday" + "faraday-http-cache" + "git" + "kramdown" + "kramdown-parser-gfm" + "no_proxy_fix" + "octokit" + "terminal-table" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12nmycrlwr8ca2s0fx76k81gjw12iz15k1n0qanszv5d4l1ykj2l"; type = "gem"; }; version = "8.3.1"; }; danger-gitlab = { - dependencies = ["danger" "gitlab"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "danger" + "gitlab" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a530kx5s5rbx5yx3jqay56lkksqh0yj468hcpg16faiyv8dfza9"; type = "gem"; }; version = "8.0.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "multipart-post" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r6ik2yvsbx6jj30vck32da2bbvj4m0gf4jhp09vr75i1d6jzfvb"; type = "gem"; }; version = "1.7.0"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-http-cache = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7"; type = "gem"; }; version = "2.2.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; git = { - dependencies = ["rchardet"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rchardet" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s6426k24ph44kbx1qb16ciar170iczs8ivyl29ckin2ygmrrlvm"; type = "gem"; }; version = "1.9.1"; }; gitlab = { - dependencies = ["httparty" "terminal-table"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "httparty" + "terminal-table" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00p8z8sxk78zik2dwdhflkvaynp5ximy2xc8cw6bz93gkr1xy8n3"; type = "gem"; }; version = "4.17.0"; }; httparty = { - dependencies = ["mime-types" "multi_xml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mime-types" + "multi_xml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17gpnbf2a7xkvsy20jig3ljvx8hl5520rqm9pffj2jrliq1yi3w7"; type = "gem"; }; version = "0.18.1"; }; kramdown = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jdbcjv4v7sj888bv3vc6d1dg4ackkh7ywlmn9ln2g9alk7kisar"; type = "gem"; }; version = "2.3.1"; }; kramdown-parser-gfm = { - dependencies = ["kramdown"]; - groups = ["default"]; - platforms = []; + dependencies = [ "kramdown" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; type = "gem"; }; version = "1.1.0"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh"; type = "gem"; }; version = "3.3.1"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dlxwc75iy0dj23x824cxpvpa7c8aqcpskksrmb32j6m66h5mkcy"; type = "gem"; }; version = "3.2021.0704"; }; multi_xml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; type = "gem"; }; version = "0.6.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; type = "gem"; }; version = "2.1.1"; }; nap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll"; type = "gem"; }; version = "1.1.0"; }; no_proxy_fix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "006dmdb640v1kq0sll3dnlwj1b0kpf3i1p27ygyffv8lpcqlr6sf"; type = "gem"; }; version = "0.1.2"; }; octokit = { - dependencies = ["faraday" "sawyer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "sawyer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27"; type = "gem"; }; version = "4.21.0"; }; open4 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1"; type = "gem"; }; version = "1.3.4"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; type = "gem"; }; version = "4.0.6"; }; rchardet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; type = "gem"; }; version = "1.8.0"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; sawyer = { - dependencies = ["addressable" "faraday"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; type = "gem"; }; version = "0.8.2"; }; terminal-table = { - dependencies = ["unicode-display_width"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unicode-display_width" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; type = "gem"; }; version = "1.8.0"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; type = "gem"; }; diff --git a/pkgs/applications/version-management/fnc/default.nix b/pkgs/applications/version-management/fnc/default.nix index 71682501b28fe..af9088d8a068e 100644 --- a/pkgs/applications/version-management/fnc/default.nix +++ b/pkgs/applications/version-management/fnc/default.nix @@ -1,4 +1,13 @@ -{ lib, fetchurl, stdenv, zlib, ncurses, libiconv, apple-sdk_11, darwinMinVersionHook }: +{ + lib, + fetchurl, + stdenv, + zlib, + ncurses, + libiconv, + apple-sdk_11, + darwinMinVersionHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "fnc"; @@ -9,14 +18,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-npS+sOxF0S/9TuFjtEFlev0HpIOsaP6zmcfopPNUehk="; }; - buildInputs = [ libiconv ncurses zlib apple-sdk_11 (darwinMinVersionHook "11.0") ]; + buildInputs = [ + libiconv + ncurses + zlib + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; makeFlags = [ "PREFIX=$(out)" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [ - # Needed with GCC 12 - "-Wno-error=maybe-uninitialized" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 12 + "-Wno-error=maybe-uninitialized" + ] + ); preInstall = '' mkdir -p $out/bin diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix index 8d470d3f852f7..bcbd9cf329df5 100644 --- a/pkgs/applications/version-management/fossil/default.nix +++ b/pkgs/applications/version-management/fossil/default.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, installShellFiles -, tcl -, libiconv -, fetchurl -, buildPackages -, zlib -, openssl -, readline -, withInternalSqlite ? true -, sqlite -, ed -, which -, tclPackages -, withJson ? true +{ + lib, + stdenv, + installShellFiles, + tcl, + libiconv, + fetchurl, + buildPackages, + zlib, + openssl, + readline, + withInternalSqlite ? true, + sqlite, + ed, + which, + tclPackages, + withJson ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -27,9 +29,19 @@ stdenv.mkDerivation (finalAttrs: { # required for build time tool `./tools/translate.c` depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ installShellFiles tcl ]; + nativeBuildInputs = [ + installShellFiles + tcl + ]; - buildInputs = [ zlib openssl readline which ed ] + buildInputs = + [ + zlib + openssl + readline + which + ed + ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv ++ lib.optional (!withInternalSqlite) sqlite; diff --git a/pkgs/applications/version-management/git-absorb/default.nix b/pkgs/applications/version-management/git-absorb/default.nix index d2f6173bfe955..a8cbf03ac3f28 100644 --- a/pkgs/applications/version-management/git-absorb/default.nix +++ b/pkgs/applications/version-management/git-absorb/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "git-absorb"; @@ -15,14 +21,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Y/0In33y4mVTaE9yoBZ/3tRWcsSKgGjTCSHdjScNEj0="; - postInstall = '' - installManPage Documentation/git-absorb.1 - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd git-absorb \ - --bash <($out/bin/git-absorb --gen-completions bash) \ - --fish <($out/bin/git-absorb --gen-completions fish) \ - --zsh <($out/bin/git-absorb --gen-completions zsh) - ''; + postInstall = + '' + installManPage Documentation/git-absorb.1 + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd git-absorb \ + --bash <($out/bin/git-absorb --gen-completions bash) \ + --fish <($out/bin/git-absorb --gen-completions fish) \ + --zsh <($out/bin/git-absorb --gen-completions zsh) + ''; meta = with lib; { homepage = "https://github.com/tummychow/git-absorb"; diff --git a/pkgs/applications/version-management/git-annex-metadata-gui/default.nix b/pkgs/applications/version-management/git-annex-metadata-gui/default.nix index 3fcde8f900cc6..3622bf842a3c9 100644 --- a/pkgs/applications/version-management/git-annex-metadata-gui/default.nix +++ b/pkgs/applications/version-management/git-annex-metadata-gui/default.nix @@ -1,4 +1,11 @@ -{ lib, buildPythonApplication, fetchFromGitHub, pyqt5, qt5, git-annex-adapter }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pyqt5, + qt5, + git-annex-adapter, +}: buildPythonApplication rec { pname = "git-annex-metadata-gui"; @@ -21,7 +28,10 @@ buildPythonApplication rec { makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; - propagatedBuildInputs = [ pyqt5 git-annex-adapter ]; + propagatedBuildInputs = [ + pyqt5 + git-annex-adapter + ]; meta = with lib; { homepage = "https://github.com/alpernebbi/git-annex-metadata-gui"; diff --git a/pkgs/applications/version-management/git-annex-remote-dbx/default.nix b/pkgs/applications/version-management/git-annex-remote-dbx/default.nix index 041972e146b7b..bee106e434e08 100644 --- a/pkgs/applications/version-management/git-annex-remote-dbx/default.nix +++ b/pkgs/applications/version-management/git-annex-remote-dbx/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchPypi -, dropbox -, annexremote -, humanfriendly +{ + lib, + buildPythonApplication, + fetchPypi, + dropbox, + annexremote, + humanfriendly, }: buildPythonApplication rec { @@ -15,7 +16,11 @@ buildPythonApplication rec { sha256 = "5b6f8025ed1e9877f06882ddbd81f701a8e094647ab97595e2afc09016835a7c"; }; - propagatedBuildInputs = [ dropbox annexremote humanfriendly ]; + propagatedBuildInputs = [ + dropbox + annexremote + humanfriendly + ]; meta = with lib; { description = "Git-annex special remote for Dropbox"; diff --git a/pkgs/applications/version-management/git-annex-remote-googledrive/default.nix b/pkgs/applications/version-management/git-annex-remote-googledrive/default.nix index 03bd655adcdc8..0802769513e31 100644 --- a/pkgs/applications/version-management/git-annex-remote-googledrive/default.nix +++ b/pkgs/applications/version-management/git-annex-remote-googledrive/default.nix @@ -1,13 +1,14 @@ -{ lib -, annexremote -, buildPythonApplication -, drivelib -, fetchPypi -, gitpython -, humanfriendly -, tenacity -, setuptools -, distutils +{ + lib, + annexremote, + buildPythonApplication, + drivelib, + fetchPypi, + gitpython, + humanfriendly, + tenacity, + setuptools, + distutils, }: buildPythonApplication rec { diff --git a/pkgs/applications/version-management/git-archive-all/default.nix b/pkgs/applications/version-management/git-archive-all/default.nix index abc8ccbbfe5f7..d43c2359e377c 100644 --- a/pkgs/applications/version-management/git-archive-all/default.nix +++ b/pkgs/applications/version-management/git-archive-all/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, git -, pytestCheckHook -, pytest-cov-stub -, pytest-mock +{ + lib, + buildPythonApplication, + fetchFromGitHub, + git, + pytestCheckHook, + pytest-cov-stub, + pytest-mock, }: buildPythonApplication rec { diff --git a/pkgs/applications/version-management/git-cinnabar/default.nix b/pkgs/applications/version-management/git-cinnabar/default.nix index ab43dc0309120..5a1661f1ac9d0 100644 --- a/pkgs/applications/version-management/git-cinnabar/default.nix +++ b/pkgs/applications/version-management/git-cinnabar/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, cargo -, pkg-config -, rustPlatform -, bzip2 -, curl -, zlib -, zstd +{ + stdenv, + lib, + fetchFromGitHub, + cargo, + pkg-config, + rustPlatform, + bzip2, + curl, + zlib, + zstd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/version-management/git-credential-keepassxc/default.nix b/pkgs/applications/version-management/git-credential-keepassxc/default.nix index f327c8a1e5370..e1c658e2324d9 100644 --- a/pkgs/applications/version-management/git-credential-keepassxc/default.nix +++ b/pkgs/applications/version-management/git-credential-keepassxc/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, withNotification ? false -, withYubikey ? false -, withStrictCaller ? false -, withAll ? false +{ + lib, + rustPlatform, + fetchFromGitHub, + withNotification ? false, + withYubikey ? false, + withStrictCaller ? false, + withAll ? false, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,8 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-jBUp0jes4wtr8cmqceEBb6noqGkJUHbIfYgWOw5KMF4="; - buildFeatures = [] + buildFeatures = + [ ] ++ lib.optional withNotification "notification" ++ lib.optional withYubikey "yubikey" ++ lib.optional withStrictCaller "strict-caller" diff --git a/pkgs/applications/version-management/git-fame/default.nix b/pkgs/applications/version-management/git-fame/default.nix index 54af934bde8b6..08009920b61a9 100644 --- a/pkgs/applications/version-management/git-fame/default.nix +++ b/pkgs/applications/version-management/git-fame/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv { inherit ruby; @@ -12,11 +17,11 @@ bundlerEnv { meta = with lib; { description = '' A command-line tool that helps you summarize and pretty-print collaborators based on contributions - ''; - homepage = "http://oleander.io/git-fame-rb"; - license = licenses.mit; + ''; + homepage = "http://oleander.io/git-fame-rb"; + license = licenses.mit; maintainers = with maintainers; [ nicknovitski ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "git-fame"; }; } diff --git a/pkgs/applications/version-management/git-fame/gemset.nix b/pkgs/applications/version-management/git-fame/gemset.nix index 1bd2081516243..5212cfbcb8f30 100644 --- a/pkgs/applications/version-management/git-fame/gemset.nix +++ b/pkgs/applications/version-management/git-fame/gemset.nix @@ -1,650 +1,738 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cjsf26656996hv48wgv2mkwxf0fy1qc68ikgzq7mzfq2mmvmayk"; type = "gem"; }; version = "7.0.6"; }; ast = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; type = "gem"; }; version = "1.2.2"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; type = "gem"; }; version = "1.5.0"; }; docile = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz"; type = "gem"; }; version = "1.4.0"; }; dry-core = { - dependencies = ["concurrent-ruby" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01gks2hrp7nl3pzb487azvd25dlbrc40d5cpk4n0szwnf2c0k4ks"; type = "gem"; }; version = "1.0.0"; }; dry-inflector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09hnvna3lg2x36li63988kv664d0zvy7y0z33803yvrdr9hj7lka"; type = "gem"; }; version = "1.0.0"; }; dry-initializer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v3dah1r96b10m8xjixmdmymg7dr16wn5715id4vxjkw6vm7s9jd"; type = "gem"; }; version = "3.1.1"; }; dry-logic = { - dependencies = ["concurrent-ruby" "dry-core" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "dry-core" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05nldkc154r0qzlhss7n5klfiyyz05x2fkq08y13s34py6023vcr"; type = "gem"; }; version = "1.5.0"; }; dry-struct = { - dependencies = ["dry-core" "dry-types" "ice_nine" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dry-core" + "dry-types" + "ice_nine" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rnlgn4wif0dvkvi10xwh1vd1q6mp35q6a7lwva0zmbc79dh4drp"; type = "gem"; }; version = "1.6.0"; }; dry-types = { - dependencies = ["concurrent-ruby" "dry-core" "dry-inflector" "dry-logic" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "dry-core" + "dry-inflector" + "dry-logic" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1f6dz0hm67rhybh6xq2s3vvr700cp43kf50z2lids62s2i0mh5hj"; type = "gem"; }; version = "1.7.1"; }; equatable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sjm9zjakyixyvsqziikdrsqfzis6j3fq23crgjkp6fwkfgndj7x"; type = "gem"; }; version = "0.5.0"; }; factory_bot = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pfk942d6qwhw151hxaz7n4knk6whyxqvvywdx2cdw9yhykyaqzq"; type = "gem"; }; version = "6.2.1"; }; faker = { - dependencies = ["i18n"]; - groups = ["default"]; - platforms = []; + dependencies = [ "i18n" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b8772jybi0vxzbcs5zw17k40z661c8adn2rd6vqqr7ay71bzl09"; type = "gem"; }; version = "3.1.1"; }; git_fame = { - dependencies = ["activesupport" "dry-initializer" "dry-struct" "dry-types" "neatjson" "rugged" "tty-box" "tty-option" "tty-screen" "tty-spinner" "tty-table" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "dry-initializer" + "dry-struct" + "dry-types" + "neatjson" + "rugged" + "tty-box" + "tty-option" + "tty-screen" + "tty-spinner" + "tty-table" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jqvhzwgvr2bpi4ldqidbcs9prb0xsikp50xx4r8dwhf8m9mh26h"; type = "gem"; }; version = "3.1.1"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; type = "gem"; }; version = "1.14.1"; }; ice_nine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; }; version = "0.11.2"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; type = "gem"; }; version = "1.0.0"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb"; type = "gem"; }; version = "5.18.1"; }; neatjson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wm1lq8yl6rzysh3wg6fa55w5534k6ppiz0qb7jyvdy582mk5i0s"; type = "gem"; }; version = "0.10.5"; }; necromancer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz"; type = "gem"; }; version = "0.4.0"; }; parallel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb"; type = "gem"; }; version = "1.22.1"; }; parser = { - dependencies = ["ast"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ast" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a2v5f8fw7nxm41xp422p1pbr41hafy62bp95m7vg42cqp5y4grc"; type = "gem"; }; version = "3.2.1.1"; }; pastel = { - dependencies = ["equatable" "tty-color"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "equatable" + "tty-color" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1"; type = "gem"; }; version = "0.7.2"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; type = "gem"; }; version = "0.14.2"; }; rainbow = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; regexp_parser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d6241adx6drsfzz74nx1ld3394nm6fjpv3ammzr0g659krvgf7q"; type = "gem"; }; version = "2.7.0"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"; type = "gem"; }; version = "3.12.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f"; type = "gem"; }; version = "3.12.1"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6"; type = "gem"; }; version = "3.12.2"; }; rspec-github = { - dependencies = ["rspec-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kqjmd85v2fpb06d0rx43dc51f0igc1gmm8y3nz0wvmy7zg02njm"; type = "gem"; }; version = "2.4.0"; }; rspec-its = { - dependencies = ["rspec-core" "rspec-expectations"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15zafd70gxly5i0s00nky14sj2n92dnj3xpj83ysl3c2wx0119ad"; type = "gem"; }; version = "1.3.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dcfh85m3ksir6n8gydsal4d85chpww1b2nahb05nl8xhgh0r2ij"; type = "gem"; }; version = "3.12.4"; }; rspec-support = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx"; type = "gem"; }; version = "3.12.0"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rexml" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1sn7ag295blmhpwv6x472m3fd0n25swz9imqwpk0hg21rdcdw7p0"; type = "gem"; }; version = "1.24.1"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default"]; - platforms = []; + dependencies = [ "parser" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n2gsafg6p7nr1z8i1hkvp2qqkkbg842ba183dnl0h08xd9ms6q5"; type = "gem"; }; version = "1.28.0"; }; rubocop-md = { - dependencies = ["rubocop"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11j802r5r022vxzycvwvzhyg24g8dky4slbvid24xi0ji73q444z"; type = "gem"; }; version = "1.2.0"; }; rubocop-performance = { - dependencies = ["rubocop" "rubocop-ast"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rubocop" + "rubocop-ast" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1n7g0vg06ldjaq4f8c11c7yqy99zng1qdrkkk4kfziippy24yxnc"; type = "gem"; }; version = "1.16.0"; }; rubocop-rake = { - dependencies = ["rubocop"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nyq07sfb3vf3ykc6j2d5yq824lzq1asb474yka36jxgi4hz5djn"; type = "gem"; }; version = "0.6.0"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ivc9kgz18cn32iqi9wv5aj903yhamwddw84l7nklbl9xxvwz603"; type = "gem"; }; version = "2.11.1"; }; ruby-progressbar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; rugged = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "016bawsahkhxx7p8azxirpl7y2y7i8a027pj8910gwf6ipg329in"; type = "gem"; }; version = "1.6.3"; }; simplecov = { - dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "docile" + "simplecov-html" + "simplecov_json_formatter" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; type = "gem"; }; version = "0.22.0"; }; simplecov-cobertura = { - dependencies = ["rexml" "simplecov"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rexml" + "simplecov" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00izmp202y48qvmvwrh5x56cc5ivbjhgkkkjklvqmqzj9pik4r9c"; type = "gem"; }; version = "2.1.0"; }; simplecov-html = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; type = "gem"; }; version = "0.12.3"; }; simplecov_json_formatter = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"; type = "gem"; }; version = "0.1.4"; }; strings = { - dependencies = ["strings-ansi" "unicode-display_width" "unicode_utils"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "strings-ansi" + "unicode-display_width" + "unicode_utils" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "111876lcqrykh30w7zzkrl06d6rj9lq24y625m28674vgfxkkcz0"; type = "gem"; }; version = "0.1.8"; }; strings-ansi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh"; type = "gem"; }; version = "0.2.0"; }; tty-box = { - dependencies = ["pastel" "strings" "tty-cursor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "strings" + "tty-cursor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14g63v0jx87hba50rlv3c521zg9rw0f5d31cihcvym19xxa7v3l5"; type = "gem"; }; version = "0.5.0"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zz5xa6xbrj69h334d8nx7z732fz80s1a0b02b53mim95p80s7bk"; type = "gem"; }; version = "0.4.3"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-option = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xibs7kgbsw401ywfw67wg47fmm7sdcypy85m25af9r2q2hbq7gb"; type = "gem"; }; version = "0.2.0"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0azpjgyhdm8ycblnx9crq3dgb2x8yg454a13n60zfpsc0n138sw1"; type = "gem"; }; version = "0.6.5"; }; tty-spinner = { - dependencies = ["tty-cursor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-cursor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf"; type = "gem"; }; version = "0.9.3"; }; tty-table = { - dependencies = ["equatable" "necromancer" "pastel" "strings" "tty-screen"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "equatable" + "necromancer" + "pastel" + "strings" + "tty-screen" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05krrj1x5pmfbz74paszrsr1316w9b9jlc4wpd9s9gpzqfzwjzcg"; type = "gem"; }; version = "0.10.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2"; type = "gem"; }; version = "1.8.0"; }; unicode_utils = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr"; type = "gem"; }; version = "1.4.0"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "028ld9qmgdllxrl7d0qkl65s58wb1n3gv8yjs28g43a8b1hplxk1"; type = "gem"; }; diff --git a/pkgs/applications/version-management/git-gone/default.nix b/pkgs/applications/version-management/git-gone/default.nix index 1cc039a09fc63..fe29587a05df5 100644 --- a/pkgs/applications/version-management/git-gone/default.nix +++ b/pkgs/applications/version-management/git-gone/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, Security -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, + installShellFiles, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/version-management/git-imerge/default.nix b/pkgs/applications/version-management/git-imerge/default.nix index 66e141ef85ff6..95e971f3cdca1 100644 --- a/pkgs/applications/version-management/git-imerge/default.nix +++ b/pkgs/applications/version-management/git-imerge/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonApplication, fetchPypi, installShellFiles }: +{ + lib, + buildPythonApplication, + fetchPypi, + installShellFiles, +}: buildPythonApplication rec { pname = "git-imerge"; diff --git a/pkgs/applications/version-management/git-machete/default.nix b/pkgs/applications/version-management/git-machete/default.nix index 5e1ad5880224c..4188e3a57ea51 100644 --- a/pkgs/applications/version-management/git-machete/default.nix +++ b/pkgs/applications/version-management/git-machete/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonApplication -, pytest-mock -, pytestCheckHook -, fetchFromGitHub -, installShellFiles -, git -, nix-update-script +{ + lib, + buildPythonApplication, + pytest-mock, + pytestCheckHook, + fetchFromGitHub, + installShellFiles, + git, + nix-update-script, }: buildPythonApplication rec { diff --git a/pkgs/applications/version-management/git-publish/default.nix b/pkgs/applications/version-management/git-publish/default.nix index dd752b94843d2..6596fbeddf3e7 100644 --- a/pkgs/applications/version-management/git-publish/default.nix +++ b/pkgs/applications/version-management/git-publish/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, python, perl, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + python, + perl, + fetchFromGitHub, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "git-publish"; version = "1.8.2"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-jjpbr+ZqG4U8/z0PurnXR+IUKQkG3QB8YqhDkH8uu2Y="; }; - nativeBuildInputs = [ perl installShellFiles ]; + nativeBuildInputs = [ + perl + installShellFiles + ]; buildInputs = [ python ]; installPhase = '' diff --git a/pkgs/applications/version-management/git-quickfix/default.nix b/pkgs/applications/version-management/git-quickfix/default.nix index a9382ee0cb391..c1b65a3d73189 100644 --- a/pkgs/applications/version-management/git-quickfix/default.nix +++ b/pkgs/applications/version-management/git-quickfix/default.nix @@ -1,11 +1,13 @@ -{ lib, fetchFromGitHub -, libiconv -, openssl -, pkg-config -, rustPlatform -, stdenv -, Security -, SystemConfiguration +{ + lib, + fetchFromGitHub, + libiconv, + openssl, + pkg-config, + rustPlatform, + stdenv, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -22,11 +24,13 @@ rustPlatform.buildRustPackage rec { doCheck = false; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - SystemConfiguration - libiconv - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + libiconv + ]; cargoHash = "sha256-eTAEf2nRrJ7i2Dw5BBZlLLu8mK2G/wUk40ivtfxk1pI="; diff --git a/pkgs/applications/version-management/git-recent/default.nix b/pkgs/applications/version-management/git-recent/default.nix index 52b4a49d19b99..91b664b7a748a 100644 --- a/pkgs/applications/version-management/git-recent/default.nix +++ b/pkgs/applications/version-management/git-recent/default.nix @@ -1,6 +1,12 @@ -{lib, stdenv, git, less, fetchFromGitHub, makeWrapper -# util-linuxMinimal is included because we need the column command -, util-linux +{ + lib, + stdenv, + git, + less, + fetchFromGitHub, + makeWrapper, + # util-linuxMinimal is included because we need the column command + util-linux, }: stdenv.mkDerivation rec { @@ -22,7 +28,13 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp git-recent $out/bin wrapProgram $out/bin/git-recent \ - --prefix PATH : "${lib.makeBinPath [ git less util-linux ]}" + --prefix PATH : "${ + lib.makeBinPath [ + git + less + util-linux + ] + }" ''; meta = with lib; { diff --git a/pkgs/applications/version-management/git-remote-codecommit/default.nix b/pkgs/applications/version-management/git-remote-codecommit/default.nix index fc9bd9ee02edf..1b0310de1e76b 100644 --- a/pkgs/applications/version-management/git-remote-codecommit/default.nix +++ b/pkgs/applications/version-management/git-remote-codecommit/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, awscli }: +{ + lib, + fetchFromGitHub, + python3Packages, + awscli, +}: with python3Packages; @@ -23,15 +28,20 @@ buildPythonApplication rec { propagatedBuildInputs = [ botocore ]; - nativeCheckInputs = [ pytest mock flake8 tox awscli ]; + nativeCheckInputs = [ + pytest + mock + flake8 + tox + awscli + ]; checkPhase = '' pytest ''; meta = { - description = - "Git remote prefix to simplify pushing to and pulling from CodeCommit"; + description = "Git remote prefix to simplify pushing to and pulling from CodeCommit"; maintainers = [ lib.maintainers.zaninime ]; homepage = "https://github.com/awslabs/git-remote-codecommit"; license = lib.licenses.asl20; diff --git a/pkgs/applications/version-management/git-repo-updater/default.nix b/pkgs/applications/version-management/git-repo-updater/default.nix index 5c215644463cc..8fda8e8b7a1cb 100644 --- a/pkgs/applications/version-management/git-repo-updater/default.nix +++ b/pkgs/applications/version-management/git-repo-updater/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonApplication -, colorama -, fetchPypi -, gitpython +{ + lib, + buildPythonApplication, + colorama, + fetchPypi, + gitpython, }: buildPythonApplication rec { @@ -26,7 +27,7 @@ buildPythonApplication rec { description = "Easily update multiple Git repositories at once"; homepage = "https://github.com/earwig/git-repo-updater"; license = licenses.mit; - maintainers = with maintainers; [bdesham ]; + maintainers = with maintainers; [ bdesham ]; mainProgram = "gitup"; }; } diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix index 2f7defa3ee55c..ac6d7879e2bfc 100644 --- a/pkgs/applications/version-management/git-review/default.nix +++ b/pkgs/applications/version-management/git-review/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitea -, buildPythonApplication -, pbr -, requests -, setuptools -, gitUpdater +{ + lib, + fetchFromGitea, + buildPythonApplication, + pbr, + requests, + setuptools, + gitUpdater, }: buildPythonApplication rec { @@ -23,7 +24,10 @@ buildPythonApplication rec { hash = "sha256-UfYc662NqnQt0+CKc+18jXnNTOcZv8urCNBsWd6x0VQ="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ pbr diff --git a/pkgs/applications/version-management/git-stack/default.nix b/pkgs/applications/version-management/git-stack/default.nix index 67893b122d069..e3a61ad02fe45 100644 --- a/pkgs/applications/version-management/git-stack/default.nix +++ b/pkgs/applications/version-management/git-stack/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, Security -, testers -, git-stack +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, + testers, + git-stack, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/version-management/git-trim/default.nix b/pkgs/applications/version-management/git-trim/default.nix index 60db7f8ee71e1..1827123ebd7e7 100644 --- a/pkgs/applications/version-management/git-trim/default.nix +++ b/pkgs/applications/version-management/git-trim/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, libgit2 -, IOKit -, CoreFoundation -, Security -, fetchpatch +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + libgit2, + IOKit, + CoreFoundation, + Security, + fetchpatch, }: rustPlatform.buildRustPackage rec { @@ -36,8 +37,16 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl libgit2 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit CoreFoundation Security ]; + buildInputs = + [ + openssl + libgit2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + CoreFoundation + Security + ]; postInstall = '' install -Dm644 -t $out/share/man/man1/ docs/git-trim.1 diff --git a/pkgs/applications/version-management/git-up/default.nix b/pkgs/applications/version-management/git-up/default.nix index 2e2bad2806844..6c96b5f9b79cf 100644 --- a/pkgs/applications/version-management/git-up/default.nix +++ b/pkgs/applications/version-management/git-up/default.nix @@ -1,7 +1,8 @@ -{ lib -, pythonPackages -, fetchPypi -, git +{ + lib, + pythonPackages, + fetchPypi, + git, }: pythonPackages.buildPythonApplication rec { @@ -20,13 +21,15 @@ pythonPackages.buildPythonApplication rec { ]; # git should be on path for tool to work correctly - propagatedBuildInputs = [ - git - ] ++ (with pythonPackages; [ - colorama - gitpython - termcolor - ]); + propagatedBuildInputs = + [ + git + ] + ++ (with pythonPackages; [ + colorama + gitpython + termcolor + ]); nativeCheckInputs = [ git diff --git a/pkgs/applications/version-management/gita/default.nix b/pkgs/applications/version-management/gita/default.nix index 9bb602d2a5cdb..433ebcb1a3845 100644 --- a/pkgs/applications/version-management/gita/default.nix +++ b/pkgs/applications/version-management/gita/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, pyyaml -, setuptools -, installShellFiles +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pyyaml, + setuptools, + installShellFiles, }: buildPythonApplication rec { diff --git a/pkgs/applications/version-management/gitlab-triage/default.nix b/pkgs/applications/version-management/gitlab-triage/default.nix index 20335e2003a73..4dbf52f83fba3 100644 --- a/pkgs/applications/version-management/gitlab-triage/default.nix +++ b/pkgs/applications/version-management/gitlab-triage/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "gitlab-triage"; diff --git a/pkgs/applications/version-management/gitlab-triage/gemset.nix b/pkgs/applications/version-management/gitlab-triage/gemset.nix index 34d328d9ee9a6..fb41c8961a71f 100644 --- a/pkgs/applications/version-management/gitlab-triage/gemset.nix +++ b/pkgs/applications/version-management/gitlab-triage/gemset.nix @@ -1,137 +1,153 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z05zyc57f8ywvdvls6nx93vrhyyzzpgz729mwampz1qb8vvcspj"; type = "gem"; }; version = "7.0.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14"; type = "gem"; }; version = "1.1.10"; }; gitlab-triage = { - dependencies = ["activesupport" "globalid" "graphql-client" "httparty"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "globalid" + "graphql-client" + "httparty" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vs120wyqm12xy66nv0723cy3m66g5lhhdd37izbc9qwyq03m729"; type = "gem"; }; version = "1.23.1"; }; globalid = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xk28839pi36yzlqgh7k5wqmiphz7wg2c2r2wzfvs2s7g63hy3nv"; type = "gem"; }; version = "0.6.0"; }; graphql = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18k3wh73mb7rs469wfn4m10d1rlg2v9chd89nf7vy8z3yjbf9nl4"; type = "gem"; }; version = "2.0.11"; }; graphql-client = { - dependencies = ["activesupport" "graphql"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "graphql" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02r5qvfr176n051mp1c79xbpjhjqm92kk4118r0fbp131y0xralq"; type = "gem"; }; version = "0.18.0"; }; httparty = { - dependencies = ["mime-types" "multi_xml"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mime-types" + "multi_xml" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rs8c5wga6f1acyaj90d2hlv307gh2flfpb8y48wdk2si812l3a9"; type = "gem"; }; version = "0.20.0"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg"; type = "gem"; }; version = "1.10.0"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb"; type = "gem"; }; version = "3.4.1"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q"; type = "gem"; }; version = "3.2022.0105"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14a9ign0hj3z3j4cpfplj2djaskx3skzyx4fl3x53d7saxmhrgn1"; type = "gem"; }; version = "5.16.2"; }; multi_xml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; type = "gem"; }; version = "0.6.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z"; type = "gem"; }; diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index ec90b0e168a19..f1cf80ead01ef 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,37 +1,43 @@ -{ bundlerEnv -, cacert -, defaultGemConfig -, fetchFromGitLab -, fetchYarnDeps -, fixup-yarn-lock -, git -, gitlabEnterprise ? false -, lib -, makeWrapper -, nettools -, nixosTests -, nodejs -, replace -, ruby_3_2 -, stdenv -, tzdata -, yarn - -# gem dependencies: -# gitlab-glfm-markdown -, buildRubyGem, cargo, rustc, rustPlatform - -# gpgme -, pkg-config - -# openssl -, openssl - -# ruby-magic -, file - -# static-holmes -, icu, which, zlib +{ + bundlerEnv, + cacert, + defaultGemConfig, + fetchFromGitLab, + fetchYarnDeps, + fixup-yarn-lock, + git, + gitlabEnterprise ? false, + lib, + makeWrapper, + nettools, + nixosTests, + nodejs, + replace, + ruby_3_2, + stdenv, + tzdata, + yarn, + + # gem dependencies: + # gitlab-glfm-markdown + buildRubyGem, + cargo, + rustc, + rustPlatform, + + # gpgme + pkg-config, + + # openssl + openssl, + + # ruby-magic + file, + + # static-holmes + icu, + which, + zlib, }: let @@ -51,74 +57,85 @@ let gemdir = ./rubyEnv; gemset = import (gemdir + "/gemset.nix") src; gemConfig = defaultGemConfig // { - gpgme = attrs: { - nativeBuildInputs = [ pkg-config ]; - }; - # the openssl needs the openssl include files - openssl = attrs: { - buildInputs = [ openssl ]; - }; - ruby-magic = attrs: { - buildInputs = [ file ]; - buildFlags = [ "--enable-system-libraries" ]; - }; - gitlab-glfm-markdown = attrs: { - cargoDeps = rustPlatform.fetchCargoTarball { - src = stdenv.mkDerivation { - inherit (buildRubyGem { inherit (attrs) gemName version source; }) - name - src - unpackPhase - nativeBuildInputs + gpgme = attrs: { + nativeBuildInputs = [ pkg-config ]; + }; + # the openssl needs the openssl include files + openssl = attrs: { + buildInputs = [ openssl ]; + }; + ruby-magic = attrs: { + buildInputs = [ file ]; + buildFlags = [ "--enable-system-libraries" ]; + }; + gitlab-glfm-markdown = attrs: { + cargoDeps = rustPlatform.fetchCargoTarball { + src = stdenv.mkDerivation { + inherit (buildRubyGem { inherit (attrs) gemName version source; }) + name + src + unpackPhase + nativeBuildInputs ; - dontBuilt = true; - installPhase = '' - cp -R ext/glfm_markdown $out - cp Cargo.lock $out - ''; - }; - hash = "sha256-L/URWw7NoQhi7VV8ZiKLzthbF0wl4rIUqCQdH9wmAV0="; + dontBuilt = true; + installPhase = '' + cp -R ext/glfm_markdown $out + cp Cargo.lock $out + ''; }; + hash = "sha256-L/URWw7NoQhi7VV8ZiKLzthbF0wl4rIUqCQdH9wmAV0="; + }; - dontBuild = false; + dontBuild = false; - nativeBuildInputs = [ - cargo - rustc - rustPlatform.cargoSetupHook - rustPlatform.bindgenHook - ]; + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + ]; - disallowedReferences = [ - rustc.unwrapped - ]; + disallowedReferences = [ + rustc.unwrapped + ]; - preInstall = '' - export CARGO_HOME="$PWD/../.cargo/" - ''; + preInstall = '' + export CARGO_HOME="$PWD/../.cargo/" + ''; - postInstall = '' - mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,} - find $out -type f -name .rustc_info.json -delete - ''; - }; + postInstall = '' + mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,} + find $out -type f -name .rustc_info.json -delete + ''; + }; - static_holmes = attrs: { - nativeBuildInputs = [ - icu - which - zlib.dev - ]; - }; + static_holmes = attrs: { + nativeBuildInputs = [ + icu + which + zlib.dev + ]; }; + }; groups = [ - "default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos" "opentelemetry" + "default" + "unicorn" + "ed25519" + "metrics" + "development" + "puma" + "test" + "kerberos" + "opentelemetry" ]; # N.B. omniauth_oauth2_generic and apollo_upload_server both provide a # `console` executable. ignoreCollisions = true; - extraConfigPaths = [ "${src}/vendor" "${src}/gems" ]; + extraConfigPaths = [ + "${src}/vendor" + "${src}/gems" + ]; }; assets = stdenv.mkDerivation { @@ -130,7 +147,15 @@ let sha256 = data.yarn_hash; }; - nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert fixup-yarn-lock ]; + nativeBuildInputs = [ + rubyEnv.wrappedRuby + rubyEnv.bundler + nodejs + yarn + git + cacert + fixup-yarn-lock + ]; patches = [ # Since version 12.6.0, the rake tasks need the location of git, @@ -201,7 +226,12 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ - rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools + rubyEnv + rubyEnv.wrappedRuby + rubyEnv.bundler + tzdata + git + nettools ]; patches = [ @@ -275,19 +305,24 @@ stdenv.mkDerivation { }; }; - meta = with lib; { - homepage = "http://www.gitlab.com/"; - platforms = platforms.linux; - maintainers = teams.gitlab.members; - } // (if gitlabEnterprise then + meta = + with lib; { - license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE - description = "GitLab Enterprise Edition"; + homepage = "http://www.gitlab.com/"; + platforms = platforms.linux; + maintainers = teams.gitlab.members; } - else - { - license = licenses.mit; - description = "GitLab Community Edition"; - longDescription = "GitLab Community Edition (CE) is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab CE on your own servers, in a container, or on a cloud provider."; - }); + // ( + if gitlabEnterprise then + { + license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE + description = "GitLab Enterprise Edition"; + } + else + { + license = licenses.mit; + description = "GitLab Community Edition"; + longDescription = "GitLab Community Edition (CE) is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab CE on your own servers, in a container, or on a cloud provider."; + } + ); } diff --git a/pkgs/applications/version-management/gitlint/default.nix b/pkgs/applications/version-management/gitlint/default.nix index d29bf08855f07..7bfe3658af536 100644 --- a/pkgs/applications/version-management/gitlint/default.nix +++ b/pkgs/applications/version-management/gitlint/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, gitMinimal -, python3 +{ + lib, + buildPythonApplication, + fetchFromGitHub, + gitMinimal, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -46,7 +47,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://jorisroovers.com/gitlint/"; changelog = "https://github.com/jorisroovers/gitlint/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ ethancedwards8 fab ]; + maintainers = with maintainers; [ + ethancedwards8 + fab + ]; mainProgram = "gitlint"; }; } diff --git a/pkgs/applications/version-management/gitmux/default.nix b/pkgs/applications/version-management/gitmux/default.nix index 8bb5277dc4ec7..b3c1189fe3d1a 100644 --- a/pkgs/applications/version-management/gitmux/default.nix +++ b/pkgs/applications/version-management/gitmux/default.nix @@ -1,4 +1,11 @@ -{ fetchFromGitHub, buildGoModule, lib, testers, gitmux, git }: +{ + fetchFromGitHub, + buildGoModule, + lib, + testers, + gitmux, + git, +}: buildGoModule rec { pname = "gitmux"; diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix index 1edbc3e590f64..61b8cfdf68c5e 100644 --- a/pkgs/applications/version-management/gitoxide/default.nix +++ b/pkgs/applications/version-management/gitoxide/default.nix @@ -1,21 +1,23 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake -, pkg-config -, stdenv -, apple-sdk_11 -, curl -, openssl -, buildPackages -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + pkg-config, + stdenv, + apple-sdk_11, + curl, + openssl, + buildPackages, + installShellFiles, }: let canRunCmd = stdenv.hostPlatform.emulatorAvailable buildPackages; gix = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/gix"; ein = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/ein"; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "gitoxide"; version = "0.39.0"; @@ -28,11 +30,13 @@ in rustPlatform.buildRustPackage rec { cargoHash = "sha256-36ue3f67Btw0/AM5lTaByrJLKU5r1FJA3sFRJ1IbXXc="; - nativeBuildInputs = [ cmake pkg-config installShellFiles ]; + nativeBuildInputs = [ + cmake + pkg-config + installShellFiles + ]; - buildInputs = [ curl ] ++ (if stdenv.hostPlatform.isDarwin - then [ apple-sdk_11 ] - else [ openssl ]); + buildInputs = [ curl ] ++ (if stdenv.hostPlatform.isDarwin then [ apple-sdk_11 ] else [ openssl ]); preFixup = lib.optionalString canRunCmd '' installShellCompletion --cmd gix \ @@ -53,7 +57,10 @@ in rustPlatform.buildRustPackage rec { description = "Command-line application for interacting with git repositories"; homepage = "https://github.com/Byron/gitoxide"; changelog = "https://github.com/Byron/gitoxide/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ syberant ]; }; } diff --git a/pkgs/applications/version-management/gitqlient/default.nix b/pkgs/applications/version-management/gitqlient/default.nix index da140e1b887db..f396dfeed1775 100644 --- a/pkgs/applications/version-management/gitqlient/default.nix +++ b/pkgs/applications/version-management/gitqlient/default.nix @@ -1,9 +1,10 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, qmake -, qtwebengine -, gitUpdater +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtwebengine, + gitUpdater, }: mkDerivation rec { diff --git a/pkgs/applications/version-management/gittyup/default.nix b/pkgs/applications/version-management/gittyup/default.nix index 146f2c7e95251..aab9b79c0417e 100644 --- a/pkgs/applications/version-management/gittyup/default.nix +++ b/pkgs/applications/version-management/gittyup/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, cmark -, darwin -, git -, libssh2 -, lua5_4 -, hunspell -, ninja -, openssl -, pkg-config -, qtbase -, qttools -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + cmark, + darwin, + git, + libssh2, + lua5_4, + hunspell, + ninja, + openssl, + pkg-config, + qtbase, + qttools, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -48,19 +49,24 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; - buildInputs = [ - cmark - git - hunspell - libssh2 - lua5_4 - openssl - qtbase - qttools - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreFoundation - Security - ]); + buildInputs = + [ + cmark + git + hunspell + libssh2 + lua5_4 + openssl + qtbase + qttools + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreFoundation + Security + ] + ); postInstall = '' # Those are not program libs, just some Qt5 libs that the build system leaks for some reason diff --git a/pkgs/applications/version-management/lucky-commit/default.nix b/pkgs/applications/version-management/lucky-commit/default.nix index 6e3cb2c09d5f9..db35bcc0ec2bd 100644 --- a/pkgs/applications/version-management/lucky-commit/default.nix +++ b/pkgs/applications/version-management/lucky-commit/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, withOpenCL ? true -, stdenv -, OpenCL -, ocl-icd +{ + lib, + rustPlatform, + fetchFromGitHub, + withOpenCL ? true, + stdenv, + OpenCL, + ocl-icd, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index fd41363e16509..15b71c98c8133 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -1,23 +1,41 @@ -{ lib, stdenv, fetchurl, python3Packages, makeWrapper, gettext, installShellFiles -, re2Support ? true -, rustSupport ? stdenv.hostPlatform.isLinux, cargo, rustPlatform, rustc -, fullBuild ? false -, gitSupport ? fullBuild -, guiSupport ? fullBuild, tk -, highlightSupport ? fullBuild -, ApplicationServices -# test dependencies -, runCommand -, unzip -, which -, sqlite -, git -, cacert -, gnupg +{ + lib, + stdenv, + fetchurl, + python3Packages, + makeWrapper, + gettext, + installShellFiles, + re2Support ? true, + rustSupport ? stdenv.hostPlatform.isLinux, + cargo, + rustPlatform, + rustc, + fullBuild ? false, + gitSupport ? fullBuild, + guiSupport ? fullBuild, + tk, + highlightSupport ? fullBuild, + ApplicationServices, + # test dependencies + runCommand, + unzip, + which, + sqlite, + git, + cacert, + gnupg, }: let - inherit (python3Packages) docutils python fb-re2 pygit2 pygments setuptools; + inherit (python3Packages) + docutils + python + fb-re2 + pygit2 + pygments + setuptools + ; self = python3Packages.buildPythonApplication rec { pname = "mercurial${lib.optionalString fullBuild "-full"}"; @@ -32,55 +50,66 @@ let passthru = { inherit python; }; # pass it so that the same version can be used in hg2git - cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball { - inherit src; - name = "mercurial-${version}"; - hash = "sha256-/HjgGtjKfLLufEqyT7xHYIlC5xnVunYoA+H1xLS1bVw="; - sourceRoot = "mercurial-${version}/rust"; - } else null; + cargoDeps = + if rustSupport then + rustPlatform.fetchCargoTarball { + inherit src; + name = "mercurial-${version}"; + hash = "sha256-/HjgGtjKfLLufEqyT7xHYIlC5xnVunYoA+H1xLS1bVw="; + sourceRoot = "mercurial-${version}/rust"; + } + else + null; cargoRoot = if rustSupport then "rust" else null; - propagatedBuildInputs = lib.optional re2Support fb-re2 + propagatedBuildInputs = + lib.optional re2Support fb-re2 ++ lib.optional gitSupport pygit2 ++ lib.optional highlightSupport pygments; - nativeBuildInputs = [ makeWrapper gettext installShellFiles setuptools ] + nativeBuildInputs = + [ + makeWrapper + gettext + installShellFiles + setuptools + ] ++ lib.optionals rustSupport [ - rustPlatform.cargoSetupHook - cargo - rustc - ]; - buildInputs = [ docutils ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ ApplicationServices ]; - - makeFlags = [ "PREFIX=$(out)" ] - ++ lib.optional rustSupport "PURE=--rust"; - - postInstall = (lib.optionalString guiSupport '' - mkdir -p $out/etc/mercurial - cp contrib/hgk $out/bin - cat >> $out/etc/mercurial/hgrc << EOF - [extensions] - hgk=$out/${python.sitePackages}/hgext/hgk.py - EOF - # setting HG so that hgk can be run itself as well (not only hg view) - WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix} - --set HG $out/bin/hg - --prefix PATH : ${tk}/bin " - '') + '' - for i in $(cd $out/bin && ls); do - wrapProgram $out/bin/$i \ - $WRAP_TK - done - - # copy hgweb.cgi to allow use in apache - mkdir -p $out/share/cgi-bin - cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin - chmod u+x $out/share/cgi-bin/hgweb.cgi - - installShellCompletion --cmd hg \ - --bash contrib/bash_completion \ - --zsh contrib/zsh_completion - ''; + rustPlatform.cargoSetupHook + cargo + rustc + ]; + buildInputs = [ docutils ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ApplicationServices ]; + + makeFlags = [ "PREFIX=$(out)" ] ++ lib.optional rustSupport "PURE=--rust"; + + postInstall = + (lib.optionalString guiSupport '' + mkdir -p $out/etc/mercurial + cp contrib/hgk $out/bin + cat >> $out/etc/mercurial/hgrc << EOF + [extensions] + hgk=$out/${python.sitePackages}/hgext/hgk.py + EOF + # setting HG so that hgk can be run itself as well (not only hg view) + WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix} + --set HG $out/bin/hg + --prefix PATH : ${tk}/bin " + '') + + '' + for i in $(cd $out/bin && ls); do + wrapProgram $out/bin/$i \ + $WRAP_TK + done + + # copy hgweb.cgi to allow use in apache + mkdir -p $out/share/cgi-bin + cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin + chmod u+x $out/share/cgi-bin/hgweb.cgi + + installShellCompletion --cmd hg \ + --bash contrib/bash_completion \ + --zsh contrib/zsh_completion + ''; passthru.tests = { mercurial-tests = makeTests { flags = "--with-hg=$MERCURIAL_BASE/bin/hg"; }; @@ -92,119 +121,142 @@ let downloadPage = "https://www.mercurial-scm.org/release/"; changelog = "https://wiki.mercurial-scm.org/Release${versions.majorMinor version}"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ lukegb pacien techknowlogick ]; + maintainers = with maintainers; [ + lukegb + pacien + techknowlogick + ]; platforms = platforms.unix; mainProgram = "hg"; }; }; - makeTests = { mercurial ? self, nameSuffix ? "", flags ? "" }: runCommand "${mercurial.pname}${nameSuffix}-tests" { - inherit (mercurial) src; - - SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; # needed for git - MERCURIAL_BASE = mercurial; - nativeBuildInputs = [ - python - unzip - which - sqlite - git - gnupg - ]; - - # https://bz.mercurial-scm.org/show_bug.cgi?id=6887 - propagatedBuildInputs = [ setuptools ]; - - postPatch = '' - patchShebangs . - - for f in **/*.{py,c,t}; do - # not only used in shebangs - substituteAllInPlace "$f" '/bin/sh' '${stdenv.shell}' - done - - for f in **/*.t; do - substituteInPlace 2>/dev/null "$f" \ - --replace '*/hg:' '*/*hg*:' \${/* paths emitted by our wrapped hg look like ..hg-wrapped-wrapped */""} - --replace '"$PYTHON" "$BINDIR"/hg' '"$BINDIR"/hg' ${/* 'hg' is a wrapper; don't run using python directly */""} - done - - # https://bz.mercurial-scm.org/show_bug.cgi?id=6887 - # Adding setuptools to the python path is not enough for the distutils - # module to be found, so we patch usage directly: - substituteInPlace tests/hghave.py \ - --replace-fail "distutils" "setuptools._distutils" - ''; - - # This runs Mercurial _a lot_ of times. - requiredSystemFeatures = [ "big-parallel" ]; - - # Don't run tests if not-Linux or if cross-compiling. - meta.broken = !stdenv.hostPlatform.isLinux || stdenv.buildPlatform != stdenv.hostPlatform; - } '' - addToSearchPathWithCustomDelimiter : PYTHONPATH "${mercurial}/${python.sitePackages}" - - unpackPhase - cd "$sourceRoot" - patchPhase - - cat << EOF > tests/blacklists/nix - # tests enforcing "/usr/bin/env" shebangs, which are patched for nix - test-run-tests.t - test-check-shbang.t - - # unstable experimental/unsupported features - # https://bz.mercurial-scm.org/show_bug.cgi?id=6633#c1 - test-git-interop.t - - # doesn't like the extra setlocale warnings emitted by our bash wrappers - test-locale.t - - # Python 3.10-3.12 deprecation warning: asyncore - # https://bz.mercurial-scm.org/show_bug.cgi?id=6727 - test-patchbomb-tls.t - - # Python 3.12 _lsprof module change, breaking profile test - # https://bz.mercurial-scm.org/show_bug.cgi?id=6846 - test-profile.t - - # Python 3.12 deprecation warning: multi-threaded fork in worker.py - # https://bz.mercurial-scm.org/show_bug.cgi?id=6892 - test-clone-stream.t - test-clonebundles.t - test-fix-topology.t - test-fix.t - test-persistent-nodemap.t - test-profile.t - test-simple-update.t - - EOF - - export HGTEST_REAL_HG="${mercurial}/bin/hg" - # include tests for native components - export HGMODULEPOLICY="rust+c" - # extended timeout necessary for tests to pass on the busy CI workers - export HGTESTFLAGS="--blacklist blacklists/nix --timeout 1800 -j$NIX_BUILD_CORES ${flags}" - make check - touch $out - ''; + makeTests = + { + mercurial ? self, + nameSuffix ? "", + flags ? "", + }: + runCommand "${mercurial.pname}${nameSuffix}-tests" + { + inherit (mercurial) src; + + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; # needed for git + MERCURIAL_BASE = mercurial; + nativeBuildInputs = [ + python + unzip + which + sqlite + git + gnupg + ]; + + # https://bz.mercurial-scm.org/show_bug.cgi?id=6887 + propagatedBuildInputs = [ setuptools ]; + + postPatch = '' + patchShebangs . + + for f in **/*.{py,c,t}; do + # not only used in shebangs + substituteAllInPlace "$f" '/bin/sh' '${stdenv.shell}' + done + + for f in **/*.t; do + substituteInPlace 2>/dev/null "$f" \ + --replace '*/hg:' '*/*hg*:' \${ + # paths emitted by our wrapped hg look like ..hg-wrapped-wrapped + "" + } + --replace '"$PYTHON" "$BINDIR"/hg' '"$BINDIR"/hg' ${ + # 'hg' is a wrapper; don't run using python directly + "" + } + done + + # https://bz.mercurial-scm.org/show_bug.cgi?id=6887 + # Adding setuptools to the python path is not enough for the distutils + # module to be found, so we patch usage directly: + substituteInPlace tests/hghave.py \ + --replace-fail "distutils" "setuptools._distutils" + ''; + + # This runs Mercurial _a lot_ of times. + requiredSystemFeatures = [ "big-parallel" ]; + + # Don't run tests if not-Linux or if cross-compiling. + meta.broken = !stdenv.hostPlatform.isLinux || stdenv.buildPlatform != stdenv.hostPlatform; + } + '' + addToSearchPathWithCustomDelimiter : PYTHONPATH "${mercurial}/${python.sitePackages}" + + unpackPhase + cd "$sourceRoot" + patchPhase + + cat << EOF > tests/blacklists/nix + # tests enforcing "/usr/bin/env" shebangs, which are patched for nix + test-run-tests.t + test-check-shbang.t + + # unstable experimental/unsupported features + # https://bz.mercurial-scm.org/show_bug.cgi?id=6633#c1 + test-git-interop.t + + # doesn't like the extra setlocale warnings emitted by our bash wrappers + test-locale.t + + # Python 3.10-3.12 deprecation warning: asyncore + # https://bz.mercurial-scm.org/show_bug.cgi?id=6727 + test-patchbomb-tls.t + + # Python 3.12 _lsprof module change, breaking profile test + # https://bz.mercurial-scm.org/show_bug.cgi?id=6846 + test-profile.t + + # Python 3.12 deprecation warning: multi-threaded fork in worker.py + # https://bz.mercurial-scm.org/show_bug.cgi?id=6892 + test-clone-stream.t + test-clonebundles.t + test-fix-topology.t + test-fix.t + test-persistent-nodemap.t + test-profile.t + test-simple-update.t + + EOF + + export HGTEST_REAL_HG="${mercurial}/bin/hg" + # include tests for native components + export HGMODULEPOLICY="rust+c" + # extended timeout necessary for tests to pass on the busy CI workers + export HGTESTFLAGS="--blacklist blacklists/nix --timeout 1800 -j$NIX_BUILD_CORES ${flags}" + make check + touch $out + ''; in - self.overridePythonAttrs (origAttrs: { - passthru = origAttrs.passthru // rec { - # withExtensions takes a function which takes the python packages set and - # returns a list of extensions to install. - # - # for instance: mercurial.withExtension (pm: [ pm.hg-evolve ]) - withExtensions = f: let +self.overridePythonAttrs (origAttrs: { + passthru = origAttrs.passthru // rec { + # withExtensions takes a function which takes the python packages set and + # returns a list of extensions to install. + # + # for instance: mercurial.withExtension (pm: [ pm.hg-evolve ]) + withExtensions = + f: + let python = self.python; - mercurialHighPrio = ps: (ps.toPythonModule self).overrideAttrs (oldAttrs: { - meta = oldAttrs.meta // { - priority = 50; - }; - }); + mercurialHighPrio = + ps: + (ps.toPythonModule self).overrideAttrs (oldAttrs: { + meta = oldAttrs.meta // { + priority = 50; + }; + }); plugins = (f python.pkgs) ++ [ (mercurialHighPrio python.pkgs) ]; env = python.withPackages (ps: plugins); - in stdenv.mkDerivation { + in + stdenv.mkDerivation { pname = "${self.pname}-with-extensions"; inherit (self) src version meta; @@ -243,8 +295,8 @@ in ''; }; - tests = origAttrs.passthru.tests // { - withExtensions = withExtensions (pm: [ pm.hg-evolve ]); - }; + tests = origAttrs.passthru.tests // { + withExtensions = withExtensions (pm: [ pm.hg-evolve ]); }; - }) + }; +}) diff --git a/pkgs/applications/version-management/merge-fmt/default.nix b/pkgs/applications/version-management/merge-fmt/default.nix index 3924650d994d8..81f2ecfce4c83 100644 --- a/pkgs/applications/version-management/merge-fmt/default.nix +++ b/pkgs/applications/version-management/merge-fmt/default.nix @@ -1,19 +1,29 @@ -{ lib, fetchurl, buildDunePackage, cmdliner, base, stdio }: +{ + lib, + fetchurl, + buildDunePackage, + cmdliner, + base, + stdio, +}: buildDunePackage rec { pname = "merge-fmt"; version = "0.3"; src = fetchurl { - url = - "https://github.com/hhugo/merge-fmt/releases/download/${version}/merge-fmt-${version}.tbz"; + url = "https://github.com/hhugo/merge-fmt/releases/download/${version}/merge-fmt-${version}.tbz"; hash = "sha256-F+ds0ToWcKD4NJU3yYSVW4B3m2LBnhR+4QVTDO79q14="; }; minimalOCamlVersion = "4.06"; duneVersion = "3"; - buildInputs = [ cmdliner base stdio ]; + buildInputs = [ + cmdliner + base + stdio + ]; # core v0.17 compatibility, obtained by `git diff -r 3e37827~2..3e37827` patches = [ ./merge-fmt.patch ]; diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix index e8eac58e73f61..60ccf5e850c4c 100644 --- a/pkgs/applications/version-management/monotone-viz/default.nix +++ b/pkgs/applications/version-management/monotone-viz/default.nix @@ -1,27 +1,77 @@ -{ lib, stdenv, fetchurl, fetchpatch, ocamlPackages, gnome2, pkg-config, makeWrapper, glib -, libtool, libpng, bison, expat, fontconfig, gd, pango, libjpeg, libwebp, libX11, libXaw +{ + lib, + stdenv, + fetchurl, + fetchpatch, + ocamlPackages, + gnome2, + pkg-config, + makeWrapper, + glib, + libtool, + libpng, + bison, + expat, + fontconfig, + gd, + pango, + libjpeg, + libwebp, + libX11, + libXaw, }: # We need an old version of Graphviz for format compatibility reasons. # This version is vulnerable, but monotone-viz will never feed it bad input. -let graphviz_2_0 = import ./graphviz-2.0.nix { - inherit lib stdenv fetchurl pkg-config libX11 libpng libjpeg expat libXaw - bison libtool fontconfig pango gd libwebp; - }; in -let inherit (gnome2) libgnomecanvas; in -let inherit (ocamlPackages) ocaml lablgtk camlp4; in +let + graphviz_2_0 = import ./graphviz-2.0.nix { + inherit + lib + stdenv + fetchurl + pkg-config + libX11 + libpng + libjpeg + expat + libXaw + bison + libtool + fontconfig + pango + gd + libwebp + ; + }; +in +let + inherit (gnome2) libgnomecanvas; +in +let + inherit (ocamlPackages) ocaml lablgtk camlp4; +in stdenv.mkDerivation rec { version = "1.0.2"; pname = "monotone-viz"; - nativeBuildInputs = [ pkg-config makeWrapper ocaml camlp4 ]; - buildInputs = [ lablgtk libgnomecanvas glib graphviz_2_0 ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ocaml + camlp4 + ]; + buildInputs = [ + lablgtk + libgnomecanvas + glib + graphviz_2_0 + ]; src = fetchurl { url = "http://oandrieu.nerim.net/monotone-viz/${pname}-${version}-nolablgtk.tar.gz"; sha256 = "1l5x4xqz5g1aaqbc1x80mg0yzkiah9ma9k9mivmn08alkjlakkdk"; }; - prePatch="ln -s . a; ln -s . b"; - patchFlags = ["-p0"]; + prePatch = "ln -s . a; ln -s . b"; + patchFlags = [ "-p0" ]; patches = [ (fetchpatch { url = "https://src.fedoraproject.org/rpms/monotone-viz/raw/c9f4c1bebe01bb471df05d8a37ca4b6d630574ec/f/monotone-viz-1.0.2-dot.patch"; @@ -48,8 +98,8 @@ stdenv.mkDerivation rec { meta = { description = "Monotone ancestry visualiser"; mainProgram = "monotone-viz"; - license = lib.licenses.gpl2Plus ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2Plus; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix b/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix index c2a2765b4be7e..28e55d446ae16 100644 --- a/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix +++ b/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libX11 -, libpng -, libjpeg -, expat -, libXaw -, bison -, libtool -, fontconfig -, pango -, gd -, libwebp +{ + lib, + stdenv, + fetchurl, + pkg-config, + libX11, + libpng, + libjpeg, + expat, + libXaw, + bison, + libtool, + fontconfig, + pango, + gd, + libwebp, }: stdenv.mkDerivation rec { @@ -39,20 +40,21 @@ stdenv.mkDerivation rec { libwebp ]; - hardeningDisable = [ "format" "fortify" ]; + hardeningDisable = [ + "format" + "fortify" + ]; - configureFlags = - [ - "--with-pngincludedir=${libpng.dev}/include" - "--with-pnglibdir=${libpng.out}/lib" - "--with-jpegincludedir=${libjpeg.dev}/include" - "--with-jpeglibdir=${libjpeg.out}/lib" - "--with-expatincludedir=${expat.dev}/include" - "--with-expatlibdir=${expat.out}/lib" - "--with-ltdl-include=${libtool}/include" - "--with-ltdl-lib=${libtool.lib}/lib" - ] - ++ lib.optional (libX11 == null) "--without-x"; + configureFlags = [ + "--with-pngincludedir=${libpng.dev}/include" + "--with-pnglibdir=${libpng.out}/lib" + "--with-jpegincludedir=${libjpeg.dev}/include" + "--with-jpeglibdir=${libjpeg.out}/lib" + "--with-expatincludedir=${expat.dev}/include" + "--with-expatlibdir=${expat.out}/lib" + "--with-ltdl-include=${libtool}/include" + "--with-ltdl-lib=${libtool.lib}/lib" + ] ++ lib.optional (libX11 == null) "--without-x"; meta = { description = "Program for visualising graphs"; diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index e50395ebfd990..216175b8ee889 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -1,8 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, boost, zlib, botan2, libidn -, lua, pcre, sqlite, perl, pkg-config, expect, less -, bzip2, gmp, openssl -, autoreconfHook, texinfo -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + boost, + zlib, + botan2, + libidn, + lua, + pcre, + sqlite, + perl, + pkg-config, + expect, + less, + bzip2, + gmp, + openssl, + autoreconfHook, + texinfo, + fetchpatch, }: let @@ -43,20 +59,38 @@ stdenv.mkDerivation rec { ./monotone-1.1-gcc-14.patch ]; - postPatch = '' - sed -e 's@/usr/bin/less@${less}/bin/less@' -i src/unix/terminal.cc - '' + lib.optionalString (lib.versionAtLeast boost.version "1.73") '' - find . -type f -exec sed -i \ - -e 's/ E(/ internal_E(/g' \ - -e 's/{E(/{internal_E(/g' \ - {} + - ''; + postPatch = + '' + sed -e 's@/usr/bin/less@${less}/bin/less@' -i src/unix/terminal.cc + '' + + lib.optionalString (lib.versionAtLeast boost.version "1.73") '' + find . -type f -exec sed -i \ + -e 's/ E(/ internal_E(/g' \ + -e 's/{E(/{internal_E(/g' \ + {} + + ''; - CXXFLAGS=" --std=c++11 "; + CXXFLAGS = " --std=c++11 "; - nativeBuildInputs = [ pkg-config autoreconfHook texinfo ]; - buildInputs = [ boost zlib botan2 libidn lua pcre sqlite expect - openssl gmp bzip2 perl ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + texinfo + ]; + buildInputs = [ + boost + zlib + botan2 + libidn + lua + pcre + sqlite + expect + openssl + gmp + bzip2 + perl + ]; postInstall = '' mkdir -p $out/share/${pname}-${version} diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index 854c66a6d5e41..07edd423c42b7 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchPypi -, coreutils -, git -, mercurial +{ + lib, + python3, + fetchPypi, + coreutils, + git, + mercurial, }: python3.pkgs.buildPythonApplication rec { @@ -26,14 +27,16 @@ python3.pkgs.buildPythonApplication rec { nbformat ]; - nativeCheckInputs = [ - coreutils - git - mercurial - ] ++ (with python3.pkgs; [ - pytest-cram - pytestCheckHook - ]); + nativeCheckInputs = + [ + coreutils + git + mercurial + ] + ++ (with python3.pkgs; [ + pytest-cram + pytestCheckHook + ]); preCheck = '' export HOME=$(mktemp -d) diff --git a/pkgs/applications/version-management/nitpick/default.nix b/pkgs/applications/version-management/nitpick/default.nix index f1f52baf03366..06725dae68849 100644 --- a/pkgs/applications/version-management/nitpick/default.nix +++ b/pkgs/applications/version-management/nitpick/default.nix @@ -1,7 +1,8 @@ -{ fetchFromGitHub -, buildPythonPackage -, lib -, isPy27 +{ + fetchFromGitHub, + buildPythonPackage, + lib, + isPy27, }: buildPythonPackage rec { diff --git a/pkgs/applications/version-management/p4/default.nix b/pkgs/applications/version-management/p4/default.nix index 94bbd7cb0df9a..9bca47e608925 100644 --- a/pkgs/applications/version-management/p4/default.nix +++ b/pkgs/applications/version-management/p4/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, fetchurl -, fetchzip -, lib -, emptyDirectory -, linkFarm -, jam -, openssl -, CoreServices -, Foundation -, Security -, testers +{ + stdenv, + fetchurl, + fetchzip, + lib, + emptyDirectory, + linkFarm, + jam, + openssl, + CoreServices, + Foundation, + Security, + testers, }: let @@ -28,7 +29,10 @@ let # We only want to keep the contrib directory as the other files conflict # with p4's own zlib files. (For the same reason, we can't use the # cone-based Git sparse checkout, either.) - { name = "contrib"; path = "${src}/contrib"; } + { + name = "contrib"; + path = "${src}/contrib"; + } ]; in stdenv.mkDerivation (finalAttrs: rec { @@ -43,9 +47,17 @@ stdenv.mkDerivation (finalAttrs: rec { nativeBuildInputs = [ jam ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Foundation Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Foundation + Security + ]; - outputs = [ "out" "bin" "dev" ]; + outputs = [ + "out" + "bin" + "dev" + ]; hardeningDisable = lib.optionals stdenv.hostPlatform.isDarwin [ "strictoverflow" ]; @@ -57,8 +69,14 @@ stdenv.mkDerivation (finalAttrs: rec { "-sSSLINCDIR=${lib.getDev opensslStatic}/include" "-sSSLLIBDIR=${lib.getLib opensslStatic}/lib" ] - ++ lib.optionals stdenv.cc.isClang [ "-sOSCOMP=clang" "-sCLANGVER=${stdenv.cc.cc.version}" ] - ++ lib.optionals stdenv.cc.isGNU [ "-sOSCOMP=gcc" "-sGCCVER=${stdenv.cc.cc.version}" ] + ++ lib.optionals stdenv.cc.isClang [ + "-sOSCOMP=clang" + "-sCLANGVER=${stdenv.cc.cc.version}" + ] + ++ lib.optionals stdenv.cc.isGNU [ + "-sOSCOMP=gcc" + "-sGCCVER=${stdenv.cc.cc.version}" + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "-sOSVER=26" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-sOSVER=1013" @@ -76,9 +94,15 @@ stdenv.mkDerivation (finalAttrs: rec { # See the "Header dependency changes" section of # https://www.gnu.org/software/gcc/gcc-11/porting_to.html for more # information on why we need to include these. - ++ lib.optionals - (stdenv.cc.isClang || (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.cc.version "11.0.0")) - [ "-include" "limits" "-include" "thread" ]; + ++ + lib.optionals + (stdenv.cc.isClang || (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.cc.version "11.0.0")) + [ + "-include" + "limits" + "-include" + "thread" + ]; preBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' export MACOSX_SDK=$SDKROOT @@ -111,6 +135,9 @@ stdenv.mkDerivation (finalAttrs: rec { license = licenses.bsd2; mainProgram = "p4"; platforms = platforms.unix; - maintainers = with maintainers; [ corngood impl ]; + maintainers = with maintainers; [ + corngood + impl + ]; }; }) diff --git a/pkgs/applications/version-management/p4v/darwin.nix b/pkgs/applications/version-management/p4v/darwin.nix index d3d3568b9f2e2..fed85c3bc3194 100644 --- a/pkgs/applications/version-management/p4v/darwin.nix +++ b/pkgs/applications/version-management/p4v/darwin.nix @@ -1,8 +1,18 @@ { stdenv, undmg }: -{ pname, version, src, meta }: +{ + pname, + version, + src, + meta, +}: stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; nativeBuildInputs = [ undmg ]; diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix index 82aa6b57a8c51..5466a29ecb0a8 100644 --- a/pkgs/applications/version-management/p4v/default.nix +++ b/pkgs/applications/version-management/p4v/default.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchurl -, lib -, callPackage -, qt6Packages +{ + stdenv, + fetchurl, + lib, + callPackage, + qt6Packages, }: let @@ -21,13 +22,17 @@ let }; mkDerivation = - if stdenv.hostPlatform.isDarwin then callPackage ./darwin.nix { } - else qt6Packages.callPackage ./linux.nix { }; -in mkDerivation { + if stdenv.hostPlatform.isDarwin then + callPackage ./darwin.nix { } + else + qt6Packages.callPackage ./linux.nix { }; +in +mkDerivation { pname = "p4v"; version = "2024.2/2606884"; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); meta = { description = "Perforce Helix Visual Client"; @@ -35,6 +40,10 @@ in mkDerivation { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfreeRedistributable; platforms = builtins.attrNames srcs; - maintainers = with lib.maintainers; [ impl nathyong nioncode ]; + maintainers = with lib.maintainers; [ + impl + nathyong + nioncode + ]; }; } diff --git a/pkgs/applications/version-management/p4v/linux.nix b/pkgs/applications/version-management/p4v/linux.nix index 316ff8dbeb199..f2af8b4056002 100644 --- a/pkgs/applications/version-management/p4v/linux.nix +++ b/pkgs/applications/version-management/p4v/linux.nix @@ -1,35 +1,41 @@ -{ stdenv -, autoPatchelfHook -, cups -, dbus -, fontconfig -, gccForLibs -, libX11 -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXi -, libXrandr -, libXrender -, libXtst -, libinput -, libxcb -, libxkbcommon -, nss -, qtbase -, qtmultimedia -, qtsvg -, qttools -, qtwebengine -, qtwebview -, xcbutilimage -, xcbutilkeysyms -, xcbutilrenderutil -, xcbutilwm +{ + stdenv, + autoPatchelfHook, + cups, + dbus, + fontconfig, + gccForLibs, + libX11, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXi, + libXrandr, + libXrender, + libXtst, + libinput, + libxcb, + libxkbcommon, + nss, + qtbase, + qtmultimedia, + qtsvg, + qttools, + qtwebengine, + qtwebview, + xcbutilimage, + xcbutilkeysyms, + xcbutilrenderutil, + xcbutilwm, }: -{ pname, version, src, meta }: +{ + pname, + version, + src, + meta, +}: let unwrapped = stdenv.mkDerivation { pname = "${pname}-unwrapped"; diff --git a/pkgs/applications/version-management/pass-git-helper/default.nix b/pkgs/applications/version-management/pass-git-helper/default.nix index 590d25428a80d..8f96bc2b58b85 100644 --- a/pkgs/applications/version-management/pass-git-helper/default.nix +++ b/pkgs/applications/version-management/pass-git-helper/default.nix @@ -1,13 +1,22 @@ -{ lib, buildPythonApplication, fetchFromGitHub, pyxdg, pytestCheckHook, pytest-cov-stub, pytest-mock, setuptools }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + pyxdg, + pytestCheckHook, + pytest-cov-stub, + pytest-mock, + setuptools, +}: buildPythonApplication rec { - pname = "pass-git-helper"; + pname = "pass-git-helper"; version = "3.0.0"; pyproject = true; src = fetchFromGitHub { - owner = "languitar"; - repo = "pass-git-helper"; + owner = "languitar"; + repo = "pass-git-helper"; rev = "refs/tags/v${version}"; sha256 = "sha256-DLH3l4wYfBlrc49swLgyHeZXebJ5JSzU7cHjD7Hmw0g="; }; @@ -30,7 +39,10 @@ buildPythonApplication rec { homepage = "https://github.com/languitar/pass-git-helper"; description = "Git credential helper interfacing with pass, the standard unix password manager"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ hmenke vanzef ]; + maintainers = with maintainers; [ + hmenke + vanzef + ]; mainProgram = "pass-git-helper"; }; } diff --git a/pkgs/applications/version-management/qgit/default.nix b/pkgs/applications/version-management/qgit/default.nix index a0038554d86ce..db3237991893f 100644 --- a/pkgs/applications/version-management/qgit/default.nix +++ b/pkgs/applications/version-management/qgit/default.nix @@ -1,4 +1,10 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase }: +{ + mkDerivation, + lib, + fetchFromGitHub, + cmake, + qtbase, +}: mkDerivation rec { pname = "qgit"; @@ -19,7 +25,10 @@ mkDerivation rec { license = licenses.gpl2Only; homepage = "https://github.com/tibirna/qgit"; description = "Graphical front-end to Git"; - maintainers = with maintainers; [ peterhoeg markuskowa ]; + maintainers = with maintainers; [ + peterhoeg + markuskowa + ]; inherit (qtbase.meta) platforms; mainProgram = "qgit"; }; diff --git a/pkgs/applications/version-management/sapling/default.nix b/pkgs/applications/version-management/sapling/default.nix index e19fbeb4977f8..535abf7926798 100644 --- a/pkgs/applications/version-management/sapling/default.nix +++ b/pkgs/applications/version-management/sapling/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, python311Packages -, fetchFromGitHub -, fetchurl -, cargo -, curl -, pkg-config -, openssl -, rustPlatform -, rustc -, fetchYarnDeps -, yarn -, nodejs -, fixup-yarn-lock -, glibcLocales -, libiconv -, Cocoa -, CoreFoundation -, CoreGraphics -, CoreServices -, Security -, WebKit - -, enableMinimal ? false +{ + lib, + stdenv, + python311Packages, + fetchFromGitHub, + fetchurl, + cargo, + curl, + pkg-config, + openssl, + rustPlatform, + rustc, + fetchYarnDeps, + yarn, + nodejs, + fixup-yarn-lock, + glibcLocales, + libiconv, + Cocoa, + CoreFoundation, + CoreGraphics, + CoreServices, + Security, + WebKit, + + enableMinimal ? false, }: let @@ -118,22 +119,26 @@ python311Packages.buildPythonApplication { "serde_bser-0.4.0" = "sha256-Su1IP3NzQu/87p/+uQaG8JcICL9hit3OV1O9oFiACsQ="; }; }; - postPatch = '' - cp ${./Cargo.lock} Cargo.lock - '' + lib.optionalString (!enableMinimal) '' - # If asked, we optionally patch in a hardcoded path to the - # 'nodejs' package, so that 'sl web' always works. Without the - # patch, 'sl web' will still work if 'nodejs' is in $PATH. - substituteInPlace lib/config/loader/src/builtin_static/core.rs \ - --replace '"#);' $'[web]\nnode-path=${nodejs}/bin/node\n"#);' - ''; + postPatch = + '' + cp ${./Cargo.lock} Cargo.lock + '' + + lib.optionalString (!enableMinimal) '' + # If asked, we optionally patch in a hardcoded path to the + # 'nodejs' package, so that 'sl web' always works. Without the + # patch, 'sl web' will still work if 'nodejs' is in $PATH. + substituteInPlace lib/config/loader/src/builtin_static/core.rs \ + --replace '"#);' $'[web]\nnode-path=${nodejs}/bin/node\n"#);' + ''; # Since the derivation builder doesn't have network access to remain pure, # fetch the artifacts manually and link them. Then replace the hardcoded URLs # with filesystem paths for the curl calls. postUnpack = '' mkdir $sourceRoot/hack_pydeps - ${lib.concatStrings (map (li: "ln -s ${fetchurl li} $sourceRoot/hack_pydeps/${baseNameOf li.url}\n") links)} + ${lib.concatStrings ( + map (li: "ln -s ${fetchurl li} $sourceRoot/hack_pydeps/${baseNameOf li.url}\n") links + )} sed -i "s|https://files.pythonhosted.org/packages/[[:alnum:]]*/[[:alnum:]]*/[[:alnum:]]*/|file://$NIX_BUILD_TOP/$sourceRoot/hack_pydeps/|g" $sourceRoot/setup.py ''; @@ -154,18 +159,20 @@ python311Packages.buildPythonApplication { rustc ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - libiconv - Cocoa - CoreFoundation - CoreGraphics - CoreServices - Security - WebKit - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + libiconv + Cocoa + CoreFoundation + CoreGraphics + CoreServices + Security + WebKit + ]; HGNAME = "sl"; SAPLING_OSS_BUILD = "true"; @@ -193,7 +200,10 @@ python311Packages.buildPythonApplication { description = "Scalable, User-Friendly Source Control System"; homepage = "https://sapling-scm.com"; license = licenses.gpl2Only; - maintainers = with maintainers; [ pbar thoughtpolice ]; + maintainers = with maintainers; [ + pbar + thoughtpolice + ]; platforms = platforms.unix; mainProgram = "sl"; }; diff --git a/pkgs/applications/version-management/silver-platter/default.nix b/pkgs/applications/version-management/silver-platter/default.nix index 368cf8dcf218b..cf449383a9ac8 100644 --- a/pkgs/applications/version-management/silver-platter/default.nix +++ b/pkgs/applications/version-management/silver-platter/default.nix @@ -1,20 +1,21 @@ -{ buildPythonApplication -, lib -, stdenv -, fetchFromGitHub -, pkg-config -, setuptools -, setuptools-rust -, rustPlatform -, cargo -, rustc -, breezy -, dulwich -, jinja2 -, libiconv -, openssl -, pyyaml -, ruamel-yaml +{ + buildPythonApplication, + lib, + stdenv, + fetchFromGitHub, + pkg-config, + setuptools, + setuptools-rust, + rustPlatform, + cargo, + rustc, + breezy, + dulwich, + jinja2, + libiconv, + openssl, + pyyaml, + ruamel-yaml, }: buildPythonApplication rec { @@ -35,10 +36,22 @@ buildPythonApplication rec { hash = "sha256-+EUj6iBnHF4zlOAAfaHy5V/z6CCD/LFksBClE4FaHHc="; }; - propagatedBuildInputs = [ setuptools breezy dulwich jinja2 pyyaml ruamel-yaml ]; - nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + propagatedBuildInputs = [ + setuptools + breezy + dulwich + jinja2 + pyyaml + ruamel-yaml + ]; + nativeBuildInputs = [ + setuptools-rust + rustPlatform.cargoSetupHook + cargo + rustc + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; pythonImportsCheck = [ "silver_platter" ]; diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix index 72d69678fb75c..e4ef91162b11f 100644 --- a/pkgs/applications/version-management/sourcehut/builds.nix +++ b/pkgs/applications/version-management/sourcehut/builds.nix @@ -1,23 +1,27 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, srht -, redis -, celery -, pyyaml -, markdown -, ansi2html -, lxml -, python -, unzip -, pip -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + srht, + redis, + celery, + pyyaml, + markdown, + ansi2html, + lxml, + python, + unzip, + pip, + pythonOlder, + setuptools, }: let version = "0.89.15"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.39"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.39"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -26,19 +30,25 @@ let hash = "sha256-rmNaBnTPDDQO/ImkGkMwW8fyjQyBUBchTEnbtAK24pw="; }; - buildsrht-api = buildGoModule ({ - inherit src version; - pname = "buildsrht-api"; - modRoot = "api"; - vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q="; - } // gqlgen); + buildsrht-api = buildGoModule ( + { + inherit src version; + pname = "buildsrht-api"; + modRoot = "api"; + vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q="; + } + // gqlgen + ); - buildsrht-worker = buildGoModule ({ - inherit src version; - pname = "buildsrht-worker"; - modRoot = "worker"; - vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q="; - } // gqlgen); + buildsrht-worker = buildGoModule ( + { + inherit src version; + pname = "buildsrht-worker"; + modRoot = "worker"; + vendorHash = "sha256-dwpuB+aYqzhGSdGVq/F9FTdHWMBkGMtVuZ7I3hB3b+Q="; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -89,6 +99,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/builds.sr.ht"; description = "Continuous integration service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix index c0180cf805fac..5fa4c086482ba 100644 --- a/pkgs/applications/version-management/sourcehut/core.nix +++ b/pkgs/applications/version-management/sourcehut/core.nix @@ -1,29 +1,30 @@ -{ lib -, fetchFromSourcehut -, buildPythonPackage -, flask -, humanize -, sqlalchemy -, sqlalchemy-utils -, psycopg2 -, markdown -, mistletoe -, bleach -, requests -, beautifulsoup4 -, pygments -, cryptography -, prometheus-client -, alembic -, redis -, celery -, html5lib -, importlib-metadata -, tinycss2 -, sassc -, pythonOlder -, minify -, setuptools +{ + lib, + fetchFromSourcehut, + buildPythonPackage, + flask, + humanize, + sqlalchemy, + sqlalchemy-utils, + psycopg2, + markdown, + mistletoe, + bleach, + requests, + beautifulsoup4, + pygments, + cryptography, + prometheus-client, + alembic, + redis, + celery, + html5lib, + importlib-metadata, + tinycss2, + sassc, + pythonOlder, + minify, + setuptools, }: buildPythonPackage rec { @@ -89,6 +90,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/srht"; description = "Core modules for sr.ht"; license = licenses.bsd3; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix index 147257dc3d5d0..b886e2093b333 100644 --- a/pkgs/applications/version-management/sourcehut/default.nix +++ b/pkgs/applications/version-management/sourcehut/default.nix @@ -1,11 +1,12 @@ -{ lib -, python3 -, callPackage -, recurseIntoAttrs -, nixosTests -, config -, fetchPypi -, fetchpatch +{ + lib, + python3, + callPackage, + recurseIntoAttrs, + nixosTests, + config, + fetchPypi, + fetchpatch, }: # To expose the *srht modules, they have to be a python module so we use `buildPythonModule` @@ -66,7 +67,7 @@ let hash = "sha256-VUslfHS763oNJUFgpPj/4YUkP1KlIDUGC3Ycpi2XfwM="; }; # Fixes a test failure with Pytest 8 - patches = (oldAttrs.patches or []) ++ [ + patches = (oldAttrs.patches or [ ]) ++ [ (fetchpatch { url = "https://github.com/pallets/werkzeug/commit/4e5bdca7f8227d10cae828f8064fb98190ace4aa.patch"; hash = "sha256-83doVvfdpymlAB0EbfrHmuoKE5B2LJbFq+AY2xGpnl4="; @@ -82,37 +83,43 @@ let inherit version; hash = "sha256-+vSNYIoXNfDQo8nL9TbWT5EytUfa57pFLE2Zp56Eo3A="; }; - nativeCheckInputs = (with super; [ - django - mongoengine - pytestCheckHook - ]) ++ (with self; [ - sqlalchemy - flask - flask-sqlalchemy - ]); + nativeCheckInputs = + (with super; [ + django + mongoengine + pytestCheckHook + ]) + ++ (with self; [ + sqlalchemy + flask + flask-sqlalchemy + ]); postPatch = ""; }); }; }; in -with python.pkgs; recurseIntoAttrs ({ - inherit python; - coresrht = toPythonApplication srht; - buildsrht = toPythonApplication buildsrht; - gitsrht = toPythonApplication gitsrht; - hgsrht = toPythonApplication hgsrht; - hubsrht = toPythonApplication hubsrht; - listssrht = toPythonApplication listssrht; - mansrht = toPythonApplication mansrht; - metasrht = toPythonApplication metasrht; - pagessrht = callPackage ./pages.nix { }; - pastesrht = toPythonApplication pastesrht; - todosrht = toPythonApplication todosrht; - passthru.tests = { - nixos-sourcehut = nixosTests.sourcehut; - }; -} // lib.optionalAttrs config.allowAliases { - # Added 2022-10-29 - dispatchsrht = throw "dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ for more information."; -}) +with python.pkgs; +recurseIntoAttrs ( + { + inherit python; + coresrht = toPythonApplication srht; + buildsrht = toPythonApplication buildsrht; + gitsrht = toPythonApplication gitsrht; + hgsrht = toPythonApplication hgsrht; + hubsrht = toPythonApplication hubsrht; + listssrht = toPythonApplication listssrht; + mansrht = toPythonApplication mansrht; + metasrht = toPythonApplication metasrht; + pagessrht = callPackage ./pages.nix { }; + pastesrht = toPythonApplication pastesrht; + todosrht = toPythonApplication todosrht; + passthru.tests = { + nixos-sourcehut = nixosTests.sourcehut; + }; + } + // lib.optionalAttrs config.allowAliases { + # Added 2022-10-29 + dispatchsrht = throw "dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ for more information."; + } +) diff --git a/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix b/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix index 42ec1589a643c..562ce6e445d3a 100644 --- a/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix +++ b/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix @@ -1,15 +1,18 @@ -{ unzip -, gqlgenVersion +{ + unzip, + gqlgenVersion, }: { - overrideModAttrs = (_: { - # No need to workaround -trimpath: it's not used in goModules, - # but do download `go generate`'s dependencies nonetheless. - preBuild = '' - if [ -d ./loaders ]; then go generate ./loaders; fi - if [ -d ./graph ]; then go generate ./graph; fi - ''; - }); + overrideModAttrs = ( + _: { + # No need to workaround -trimpath: it's not used in goModules, + # but do download `go generate`'s dependencies nonetheless. + preBuild = '' + if [ -d ./loaders ]; then go generate ./loaders; fi + if [ -d ./graph ]; then go generate ./graph; fi + ''; + } + ); # Workaround this error: # go: git.sr.ht/~emersion/go-emailthreads@v0.0.0-20220412093310-4fd792e343ba: module lookup disabled by GOPROXY=off diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix index d7ffc0e2cf83d..887dac1a70706 100644 --- a/pkgs/applications/version-management/sourcehut/git.nix +++ b/pkgs/applications/version-management/sourcehut/git.nix @@ -1,20 +1,24 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, python -, srht -, scmsrht -, pygit2 -, minio -, pythonOlder -, unzip -, pip -, setuptools +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + python, + srht, + scmsrht, + pygit2, + minio, + pythonOlder, + unzip, + pip, + setuptools, }: let version = "0.85.9"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.42"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.42"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -23,60 +27,75 @@ let hash = "sha256-tmbBw6x3nqN9nRIR3xOXQ+L5EACXLQYLXQYK3lsOsAI="; }; - gitApi = buildGoModule ({ - inherit src version; - pname = "gitsrht-api"; - modRoot = "api"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; - } // gqlgen); - - gitDispatch = buildGoModule ({ - inherit src version; - pname = "gitsrht-dispatch"; - modRoot = "gitsrht-dispatch"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; - - postPatch = '' - substituteInPlace gitsrht-dispatch/main.go \ - --replace /var/log/gitsrht-dispatch /var/log/sourcehut/gitsrht-dispatch - ''; - } // gqlgen); - - gitKeys = buildGoModule ({ - inherit src version; - pname = "gitsrht-keys"; - modRoot = "gitsrht-keys"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; - - postPatch = '' - substituteInPlace gitsrht-keys/main.go \ - --replace /var/log/gitsrht-keys /var/log/sourcehut/gitsrht-keys - ''; - } // gqlgen); - - gitShell = buildGoModule ({ - inherit src version; - pname = "gitsrht-shell"; - modRoot = "gitsrht-shell"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; - - postPatch = '' - substituteInPlace gitsrht-shell/main.go \ - --replace /var/log/gitsrht-shell /var/log/sourcehut/gitsrht-shell - ''; - } // gqlgen); - - gitUpdateHook = buildGoModule ({ - inherit src version; - pname = "gitsrht-update-hook"; - modRoot = "gitsrht-update-hook"; - vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; - - postPatch = '' - substituteInPlace gitsrht-update-hook/main.go \ - --replace /var/log/gitsrht-update-hook /var/log/sourcehut/gitsrht-update-hook - ''; - } // gqlgen); + gitApi = buildGoModule ( + { + inherit src version; + pname = "gitsrht-api"; + modRoot = "api"; + vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + } + // gqlgen + ); + + gitDispatch = buildGoModule ( + { + inherit src version; + pname = "gitsrht-dispatch"; + modRoot = "gitsrht-dispatch"; + vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + + postPatch = '' + substituteInPlace gitsrht-dispatch/main.go \ + --replace /var/log/gitsrht-dispatch /var/log/sourcehut/gitsrht-dispatch + ''; + } + // gqlgen + ); + + gitKeys = buildGoModule ( + { + inherit src version; + pname = "gitsrht-keys"; + modRoot = "gitsrht-keys"; + vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + + postPatch = '' + substituteInPlace gitsrht-keys/main.go \ + --replace /var/log/gitsrht-keys /var/log/sourcehut/gitsrht-keys + ''; + } + // gqlgen + ); + + gitShell = buildGoModule ( + { + inherit src version; + pname = "gitsrht-shell"; + modRoot = "gitsrht-shell"; + vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + + postPatch = '' + substituteInPlace gitsrht-shell/main.go \ + --replace /var/log/gitsrht-shell /var/log/sourcehut/gitsrht-shell + ''; + } + // gqlgen + ); + + gitUpdateHook = buildGoModule ( + { + inherit src version; + pname = "gitsrht-update-hook"; + modRoot = "gitsrht-update-hook"; + vendorHash = "sha256-4KwnUi6ILUagMDXzuBG9CRT2N8uyjvRM74TwJqIzicc="; + + postPatch = '' + substituteInPlace gitsrht-update-hook/main.go \ + --replace /var/log/gitsrht-update-hook /var/log/sourcehut/gitsrht-update-hook + ''; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -122,6 +141,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/git.sr.ht"; description = "Git repository hosting service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix index 3e7e1f55c65a9..23e99349d24d6 100644 --- a/pkgs/applications/version-management/sourcehut/hg.nix +++ b/pkgs/applications/version-management/sourcehut/hg.nix @@ -1,21 +1,25 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, srht -, python-hglib -, scmsrht -, unidiff -, python -, unzip -, pip -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + srht, + python-hglib, + scmsrht, + unidiff, + python, + unzip, + pip, + pythonOlder, + setuptools, }: let version = "0.33.0"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.45"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.45"; + }; pyproject = true; @@ -29,12 +33,15 @@ let vc = "hg"; }; - hgsrht-api = buildGoModule ({ - inherit src version; - pname = "hgsrht-api"; - modRoot = "api"; - vendorHash = "sha256-K+KMhcvkG/qeQTnlHS4xhLCcvBQNNp2DcScJPm8Dbic="; - } // gqlgen); + hgsrht-api = buildGoModule ( + { + inherit src version; + pname = "hgsrht-api"; + modRoot = "api"; + vendorHash = "sha256-K+KMhcvkG/qeQTnlHS4xhLCcvBQNNp2DcScJPm8Dbic="; + } + // gqlgen + ); hgsrht-keys = buildGoModule { inherit src version; @@ -88,6 +95,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/hg.sr.ht"; description = "Mercurial repository hosting service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix index 4a0d2cda89312..5a800275e4ca8 100644 --- a/pkgs/applications/version-management/sourcehut/hub.nix +++ b/pkgs/applications/version-management/sourcehut/hub.nix @@ -1,19 +1,23 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, python -, srht -, setuptools -, pip -, pyyaml -, pythonOlder -, unzip +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + python, + srht, + setuptools, + pip, + pyyaml, + pythonOlder, + unzip, }: let version = "0.17.7"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.43"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.43"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -22,12 +26,15 @@ let hash = "sha256-IyY7Niy/vZSAXjYZMlxY6uuQ8nH/4yT4+MaRjHtl6G4="; }; - hubsrht-api = buildGoModule ({ - inherit src version; - pname = "hubsrht-api"; - modRoot = "api"; - vendorHash = "sha256-GVN11nEJqIHh8MtKvIXe4zcUwJph9eTSkJ2R+ufD+ic="; - } // gqlgen); + hubsrht-api = buildGoModule ( + { + inherit src version; + pname = "hubsrht-api"; + modRoot = "api"; + vendorHash = "sha256-GVN11nEJqIHh8MtKvIXe4zcUwJph9eTSkJ2R+ufD+ic="; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -59,7 +66,6 @@ buildPythonPackage rec { ln -s ${hubsrht-api}/bin/api $out/bin/hubsrht-api ''; - # Module has no tests doCheck = false; @@ -71,6 +77,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht"; description = "Project hub service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix index 77d499f695e46..8115410b8e333 100644 --- a/pkgs/applications/version-management/sourcehut/lists.nix +++ b/pkgs/applications/version-management/sourcehut/lists.nix @@ -1,22 +1,26 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, srht -, aiosmtpd -, asyncpg -, pygit2 -, emailthreads -, python -, unzip -, pip -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + srht, + aiosmtpd, + asyncpg, + pygit2, + emailthreads, + python, + unzip, + pip, + pythonOlder, + setuptools, }: let version = "0.57.18"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.45"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.45"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -25,12 +29,15 @@ let hash = "sha256-l+QPocnwHTjrU+M0wnm4tBrbz8KmSb6DovC+skuAnLc="; }; - listssrht-api = buildGoModule ({ - inherit src version; - pname = "listssrht-api"; - modRoot = "api"; - vendorHash = "sha256-UeVs/+uZNtv296bzXIBio2wcg3Uzu3fBM4APzF9O0hY="; - } // gqlgen); + listssrht-api = buildGoModule ( + { + inherit src version; + pname = "listssrht-api"; + modRoot = "api"; + vendorHash = "sha256-UeVs/+uZNtv296bzXIBio2wcg3Uzu3fBM4APzF9O0hY="; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -73,6 +80,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/lists.sr.ht"; description = "Mailing list service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix index f5cd6be139acd..a9c2cc8a2c55e 100644 --- a/pkgs/applications/version-management/sourcehut/man.nix +++ b/pkgs/applications/version-management/sourcehut/man.nix @@ -1,19 +1,23 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, srht -, pygit2 -, python -, unzip -, pip -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + srht, + pygit2, + python, + unzip, + pip, + pythonOlder, + setuptools, }: let version = "0.16.5"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.43"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.43"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -22,12 +26,15 @@ let hash = "sha256-JFMtif2kIE/fs5PNcQtkJikAFNszgZTU7BG/8fTncTI="; }; - mansrht-api = buildGoModule ({ - inherit src version; - pname = "mansrht-api"; - modRoot = "api"; - vendorHash = "sha256-GVN11nEJqIHh8MtKvIXe4zcUwJph9eTSkJ2R+ufD+ic="; - } // gqlgen); + mansrht-api = buildGoModule ( + { + inherit src version; + pname = "mansrht-api"; + modRoot = "api"; + vendorHash = "sha256-GVN11nEJqIHh8MtKvIXe4zcUwJph9eTSkJ2R+ufD+ic="; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -65,6 +72,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/man.sr.ht"; description = "Wiki service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix index 8ae078bea5f1e..ec1893968c132 100644 --- a/pkgs/applications/version-management/sourcehut/meta.nix +++ b/pkgs/applications/version-management/sourcehut/meta.nix @@ -1,25 +1,29 @@ -{ lib -, fetchFromSourcehut -, buildPythonPackage -, buildGoModule -, alembic -, bcrypt -, dnspython -, qrcode -, redis -, srht -, stripe -, prometheus-client -, zxcvbn -, python -, unzip -, pip -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildPythonPackage, + buildGoModule, + alembic, + bcrypt, + dnspython, + qrcode, + redis, + srht, + stripe, + prometheus-client, + zxcvbn, + python, + unzip, + pip, + pythonOlder, + setuptools, }: let version = "0.69.8"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.43"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.43"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -28,12 +32,15 @@ let hash = "sha256-K7p6cytkPYgUuYr7BVfU/+sVbSr2YEmreIDnTatUMyk="; }; - metasrht-api = buildGoModule ({ - inherit src version; - pname = "metasrht-api"; - modRoot = "api"; - vendorHash = "sha256-vIkUK1pigVU8vZL5xpHLeinOga5eXXHTuDkHxwUz6uM="; - } // gqlgen); + metasrht-api = buildGoModule ( + { + inherit src version; + pname = "metasrht-api"; + modRoot = "api"; + vendorHash = "sha256-vIkUK1pigVU8vZL5xpHLeinOga5eXXHTuDkHxwUz6uM="; + } + // gqlgen + ); in buildPythonPackage rec { pname = "metasrht"; @@ -80,6 +87,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/meta.sr.ht"; description = "Account management service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/pages.nix b/pkgs/applications/version-management/sourcehut/pages.nix index 5fc140548dc7a..03c6ed31fee2f 100644 --- a/pkgs/applications/version-management/sourcehut/pages.nix +++ b/pkgs/applications/version-management/sourcehut/pages.nix @@ -1,43 +1,53 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, unzip +{ + lib, + fetchFromSourcehut, + buildGoModule, + unzip, }: -buildGoModule (rec { - pname = "pagessrht"; - version = "0.15.7"; +buildGoModule ( + rec { + pname = "pagessrht"; + version = "0.15.7"; - src = fetchFromSourcehut { - owner = "~sircmpwn"; - repo = "pages.sr.ht"; - rev = version; - hash = "sha256-Lobuf12ybSO7Y4ztOLMFW0dmPFaBSEPCy4Nmh89tylI="; - }; + src = fetchFromSourcehut { + owner = "~sircmpwn"; + repo = "pages.sr.ht"; + rev = version; + hash = "sha256-Lobuf12ybSO7Y4ztOLMFW0dmPFaBSEPCy4Nmh89tylI="; + }; - postPatch = '' - substituteInPlace Makefile \ - --replace "all: server" "" + postPatch = '' + substituteInPlace Makefile \ + --replace "all: server" "" - # fix build failure due to unused import - substituteInPlace server.go \ - --replace-warn ' "fmt"' "" - ''; + # fix build failure due to unused import + substituteInPlace server.go \ + --replace-warn ' "fmt"' "" + ''; - vendorHash = "sha256-9hpOkP6AYSZe7MW1mrwFEKq7TvVt6OcF6eHWY4jARuU="; + vendorHash = "sha256-9hpOkP6AYSZe7MW1mrwFEKq7TvVt6OcF6eHWY4jARuU="; - postInstall = '' - mkdir -p $out/share/sql/ - cp -r -t $out/share/sql/ schema.sql migrations - ''; + postInstall = '' + mkdir -p $out/share/sql/ + cp -r -t $out/share/sql/ schema.sql migrations + ''; - meta = with lib; { - homepage = "https://git.sr.ht/~sircmpwn/pages.sr.ht"; - description = "Web hosting service for the sr.ht network"; - mainProgram = "pages.sr.ht"; - license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; - }; - # There is no ./loaders but this does not cause troubles - # to go generate -} // import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.42"; }) + meta = with lib; { + homepage = "https://git.sr.ht/~sircmpwn/pages.sr.ht"; + description = "Web hosting service for the sr.ht network"; + mainProgram = "pages.sr.ht"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; + }; + # There is no ./loaders but this does not cause troubles + # to go generate + } + // import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.42"; + } +) diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix index b7e6624928966..3e0800f6b0149 100644 --- a/pkgs/applications/version-management/sourcehut/paste.nix +++ b/pkgs/applications/version-management/sourcehut/paste.nix @@ -1,19 +1,23 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, srht -, pip -, pyyaml -, python -, pythonOlder -, setuptools -, unzip +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + srht, + pip, + pyyaml, + python, + pythonOlder, + setuptools, + unzip, }: let version = "0.15.4"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.45"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.45"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -22,12 +26,15 @@ let hash = "sha256-M38hAMRdMzcqxJv7j7foOIYEImr/ZYz/lbYOF9R9g2M="; }; - pastesrht-api = buildGoModule ({ - inherit src version; - pname = "pastesrht-api"; - modRoot = "api"; - vendorHash = "sha256-vt5nSPcx+Y/SaWcqjV38DTL3ZtzmdjbkJYMv5Fhhnq4="; - } // gqlgen); + pastesrht-api = buildGoModule ( + { + inherit src version; + pname = "pastesrht-api"; + modRoot = "api"; + vendorHash = "sha256-vt5nSPcx+Y/SaWcqjV38DTL3ZtzmdjbkJYMv5Fhhnq4="; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -67,6 +74,10 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/paste.sr.ht"; description = "Ad-hoc text file hosting service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu nessdoor christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + nessdoor + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix index 33f9519fd922f..ea7ba30aa656f 100644 --- a/pkgs/applications/version-management/sourcehut/scm.nix +++ b/pkgs/applications/version-management/sourcehut/scm.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromSourcehut -, buildPythonPackage -, srht -, pyyaml -, buildsrht -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildPythonPackage, + srht, + pyyaml, + buildsrht, + pythonOlder, + setuptools, }: buildPythonPackage rec { @@ -44,6 +45,9 @@ buildPythonPackage rec { homepage = "https://git.sr.ht/~sircmpwn/scm.sr.ht"; description = "Shared support code for sr.ht source control services"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix index 1f81727283911..e920333c31158 100644 --- a/pkgs/applications/version-management/sourcehut/todo.nix +++ b/pkgs/applications/version-management/sourcehut/todo.nix @@ -1,20 +1,24 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, buildPythonPackage -, srht -, alembic -, pytest -, factory-boy -, python -, unzip -, pythonOlder -, setuptools +{ + lib, + fetchFromSourcehut, + buildGoModule, + buildPythonPackage, + srht, + alembic, + pytest, + factory-boy, + python, + unzip, + pythonOlder, + setuptools, }: let version = "0.75.10"; - gqlgen = import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.45"; }; + gqlgen = import ./fix-gqlgen-trimpath.nix { + inherit unzip; + gqlgenVersion = "0.17.45"; + }; src = fetchFromSourcehut { owner = "~sircmpwn"; @@ -23,12 +27,15 @@ let hash = "sha256-3dVZdupsygM7/6T1Mn7yRc776aa9pKgwF0hgZX6uVQ0="; }; - todosrht-api = buildGoModule ({ - inherit src version; - pname = "todosrht-api"; - modRoot = "api"; - vendorHash = "sha256-fImOQLnQLHTrg5ikuYRZ+u+78exAiYA19DGQoUjQBOM="; - } // gqlgen); + todosrht-api = buildGoModule ( + { + inherit src version; + pname = "todosrht-api"; + modRoot = "api"; + vendorHash = "sha256-fImOQLnQLHTrg5ikuYRZ+u+78exAiYA19DGQoUjQBOM="; + } + // gqlgen + ); in buildPythonPackage rec { inherit src version; @@ -73,6 +80,9 @@ buildPythonPackage rec { homepage = "https://todo.sr.ht/~sircmpwn/todo.sr.ht"; description = "Ticket tracking service for the sr.ht network"; license = licenses.agpl3Only; - maintainers = with maintainers; [ eadwu christoph-heiss ]; + maintainers = with maintainers; [ + eadwu + christoph-heiss + ]; }; } diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 07e10ae815642..afef38d8b8c1c 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -1,15 +1,34 @@ -{ bdbSupport ? true # build support for Berkeley DB repositories -, httpServer ? false # build Apache DAV module -, httpSupport ? true # client must support http -, pythonBindings ? false -, perlBindings ? false -, javahlBindings ? false -, saslSupport ? false -, lib, stdenv, fetchurl, apr, aprutil, zlib, sqlite, openssl, lz4, utf8proc -, CoreServices, Security -, autoconf, libtool -, apacheHttpd ? null, expat, swig ? null, jdk ? null, python3 ? null, py3c ? null, perl ? null -, sasl ? null, serf ? null +{ + bdbSupport ? true, # build support for Berkeley DB repositories + httpServer ? false, # build Apache DAV module + httpSupport ? true, # client must support http + pythonBindings ? false, + perlBindings ? false, + javahlBindings ? false, + saslSupport ? false, + lib, + stdenv, + fetchurl, + apr, + aprutil, + zlib, + sqlite, + openssl, + lz4, + utf8proc, + CoreServices, + Security, + autoconf, + libtool, + apacheHttpd ? null, + expat, + swig ? null, + jdk ? null, + python3 ? null, + py3c ? null, + perl ? null, + sasl ? null, + serf ? null, }: assert bdbSupport -> aprutil.bdbSupport; @@ -19,122 +38,158 @@ assert javahlBindings -> jdk != null && perl != null; let # Update libtool for macOS 11 support - needsAutogen = stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11"; - - common = { version, sha256, extraPatches ? [ ] }: stdenv.mkDerivation (rec { - inherit version; - pname = "subversion${lib.optionalString (!bdbSupport && perlBindings && pythonBindings) "-client"}"; - - src = fetchurl { - url = "mirror://apache/subversion/subversion-${version}.tar.bz2"; - inherit sha256; - }; - - # Can't do separate $lib and $bin, as libs reference bins - outputs = [ "out" "dev" "man" ]; - - nativeBuildInputs = lib.optionals needsAutogen [ autoconf libtool python3 ]; - - buildInputs = [ zlib apr aprutil sqlite openssl lz4 utf8proc ] - ++ lib.optional httpSupport serf - ++ lib.optionals pythonBindings [ python3 py3c ] - ++ lib.optional perlBindings perl - ++ lib.optional saslSupport sasl - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security ]; - - patches = [ ./apr-1.patch ] ++ extraPatches; - - # We are hitting the following issue even with APR 1.6.x - # -> https://issues.apache.org/jira/browse/SVN-4813 - # "-P" CPPFLAG is needed to build Python bindings and subversionClient - CPPFLAGS = [ "-P" ]; - - env = lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = lib.concatStringsSep " " [ - "-Wno-error=implicit-function-declaration" - "-Wno-error=implicit-int" - "-Wno-int-conversion" - ]; - }; - - preConfigure = lib.optionalString needsAutogen '' - ./autogen.sh - ''; - - configureFlags = [ - (lib.withFeature bdbSupport "berkeley-db") - (lib.withFeatureAs httpServer "apxs" "${apacheHttpd.dev}/bin/apxs") - (lib.withFeatureAs (pythonBindings || perlBindings) "swig" swig) - (lib.withFeatureAs saslSupport "sasl" sasl) - (lib.withFeatureAs httpSupport "serf" serf) - "--with-zlib=${zlib.dev}" - "--with-sqlite=${sqlite.dev}" - "--with-apr=${apr.dev}" - "--with-apr-util=${aprutil.dev}" - ] ++ lib.optionals javahlBindings [ - "--enable-javahl" - "--with-jdk=${jdk}" - ]; - - preBuild = '' - makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules) - ''; - - postInstall = '' - if test -n "$pythonBindings"; then - make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn - make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn - fi - - if test -n "$perlBindings"; then - make swig-pl-lib - make install-swig-pl-lib - cd subversion/bindings/swig/perl/native - perl Makefile.PL PREFIX=$out - make install - cd - - fi - - mkdir -p $out/share/bash-completion/completions - cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion - - for f in $out/lib/*.la $out/lib/python*/site-packages/*/*.la; do - substituteInPlace $f \ - --replace "${expat.dev}/lib" "${expat.out}/lib" \ - --replace "${zlib.dev}/lib" "${zlib.out}/lib" \ - --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" \ - --replace "${openssl.dev}/lib" "${lib.getLib openssl}/lib" - done - ''; - - inherit perlBindings pythonBindings; - - enableParallelBuilding = true; - # Missing install dependencies: - # libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it - # make: *** [build-outputs.mk:1316: install-serf-lib] Error 1 - enableParallelInstalling = false; - - nativeCheckInputs = [ python3 ]; - doCheck = false; # fails 10 out of ~2300 tests - - meta = with lib; { - description = "Version control system intended to be a compelling replacement for CVS in the open source community"; - license = licenses.asl20; - homepage = "https://subversion.apache.org/"; - mainProgram = "svn"; - maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.linux ++ platforms.darwin; - }; - - } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - CXX = "clang++"; - CC = "clang"; - CPP = "clang -E"; - CXXCPP = "clang++ -E"; - }); - -in { + needsAutogen = + stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11"; + + common = + { + version, + sha256, + extraPatches ? [ ], + }: + stdenv.mkDerivation ( + rec { + inherit version; + pname = "subversion${lib.optionalString (!bdbSupport && perlBindings && pythonBindings) "-client"}"; + + src = fetchurl { + url = "mirror://apache/subversion/subversion-${version}.tar.bz2"; + inherit sha256; + }; + + # Can't do separate $lib and $bin, as libs reference bins + outputs = [ + "out" + "dev" + "man" + ]; + + nativeBuildInputs = lib.optionals needsAutogen [ + autoconf + libtool + python3 + ]; + + buildInputs = + [ + zlib + apr + aprutil + sqlite + openssl + lz4 + utf8proc + ] + ++ lib.optional httpSupport serf + ++ lib.optionals pythonBindings [ + python3 + py3c + ] + ++ lib.optional perlBindings perl + ++ lib.optional saslSupport sasl + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + ]; + + patches = [ ./apr-1.patch ] ++ extraPatches; + + # We are hitting the following issue even with APR 1.6.x + # -> https://issues.apache.org/jira/browse/SVN-4813 + # "-P" CPPFLAG is needed to build Python bindings and subversionClient + CPPFLAGS = [ "-P" ]; + + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = lib.concatStringsSep " " [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=implicit-int" + "-Wno-int-conversion" + ]; + }; + + preConfigure = lib.optionalString needsAutogen '' + ./autogen.sh + ''; + + configureFlags = + [ + (lib.withFeature bdbSupport "berkeley-db") + (lib.withFeatureAs httpServer "apxs" "${apacheHttpd.dev}/bin/apxs") + (lib.withFeatureAs (pythonBindings || perlBindings) "swig" swig) + (lib.withFeatureAs saslSupport "sasl" sasl) + (lib.withFeatureAs httpSupport "serf" serf) + "--with-zlib=${zlib.dev}" + "--with-sqlite=${sqlite.dev}" + "--with-apr=${apr.dev}" + "--with-apr-util=${aprutil.dev}" + ] + ++ lib.optionals javahlBindings [ + "--enable-javahl" + "--with-jdk=${jdk}" + ]; + + preBuild = '' + makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules) + ''; + + postInstall = '' + if test -n "$pythonBindings"; then + make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn + make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn + fi + + if test -n "$perlBindings"; then + make swig-pl-lib + make install-swig-pl-lib + cd subversion/bindings/swig/perl/native + perl Makefile.PL PREFIX=$out + make install + cd - + fi + + mkdir -p $out/share/bash-completion/completions + cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion + + for f in $out/lib/*.la $out/lib/python*/site-packages/*/*.la; do + substituteInPlace $f \ + --replace "${expat.dev}/lib" "${expat.out}/lib" \ + --replace "${zlib.dev}/lib" "${zlib.out}/lib" \ + --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" \ + --replace "${openssl.dev}/lib" "${lib.getLib openssl}/lib" + done + ''; + + inherit perlBindings pythonBindings; + + enableParallelBuilding = true; + # Missing install dependencies: + # libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it + # make: *** [build-outputs.mk:1316: install-serf-lib] Error 1 + enableParallelInstalling = false; + + nativeCheckInputs = [ python3 ]; + doCheck = false; # fails 10 out of ~2300 tests + + meta = with lib; { + description = "Version control system intended to be a compelling replacement for CVS in the open source community"; + license = licenses.asl20; + homepage = "https://subversion.apache.org/"; + mainProgram = "svn"; + maintainers = with maintainers; [ lovek323 ]; + platforms = platforms.linux ++ platforms.darwin; + }; + + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + CXX = "clang++"; + CC = "clang"; + CPP = "clang -E"; + CXXCPP = "clang++ -E"; + } + ); + +in +{ subversion = common { version = "1.14.5"; sha256 = "sha256-54op53Zri3s1RJfQj3GlVkGrxTZ1zhh1WEeBquNWRKE="; diff --git a/pkgs/applications/version-management/svn-all-fast-export/default.nix b/pkgs/applications/version-management/svn-all-fast-export/default.nix index cf979f3d7dfde..6b2628f3a4f10 100644 --- a/pkgs/applications/version-management/svn-all-fast-export/default.nix +++ b/pkgs/applications/version-management/svn-all-fast-export/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qttools, subversion, apr }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + qttools, + subversion, + apr, +}: let version = "1.0.18"; @@ -14,8 +23,15 @@ stdenv.mkDerivation { sha256 = "1b5yx2316hbyvw3v30vn1ljma9yd21nd59wis1gi34g92lgvqcd6"; }; - nativeBuildInputs = [ qmake qttools ]; - buildInputs = [ apr.dev subversion.dev qtbase ]; + nativeBuildInputs = [ + qmake + qttools + ]; + buildInputs = [ + apr.dev + subversion.dev + qtbase + ]; qmakeFlags = [ "VERSION=${version}" diff --git a/pkgs/applications/version-management/svn2git/default.nix b/pkgs/applications/version-management/svn2git/default.nix index 89ea5c0e84ae2..c839b01239c06 100644 --- a/pkgs/applications/version-management/svn2git/default.nix +++ b/pkgs/applications/version-management/svn2git/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ruby, makeWrapper, git }: +{ + lib, + stdenv, + fetchFromGitHub, + ruby, + makeWrapper, + git, +}: stdenv.mkDerivation rec { pname = "svn2git"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-w649l/WO68vYYxZOBKzI8XhGFkaSwWx/O3oVOtnGg6w="; }; - nativeBuildInputs = [ ruby makeWrapper ]; + nativeBuildInputs = [ + ruby + makeWrapper + ]; dontBuild = true; diff --git a/pkgs/applications/version-management/vcprompt/default.nix b/pkgs/applications/version-management/vcprompt/default.nix index d2ef35c9b6688..7e4c5886c5c80 100644 --- a/pkgs/applications/version-management/vcprompt/default.nix +++ b/pkgs/applications/version-management/vcprompt/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchhg, autoconf, sqlite }: +{ + lib, + stdenv, + fetchhg, + autoconf, + sqlite, +}: stdenv.mkDerivation rec { pname = "vcprompt"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "03xqvp6bfl98bpacrw4n82qv9cw6a4fxci802s3vrygas989v1kj"; }; - buildInputs = [ sqlite autoconf ]; + buildInputs = [ + sqlite + autoconf + ]; preConfigure = '' autoconf @@ -22,9 +31,9 @@ stdenv.mkDerivation rec { A little C program that prints a short string with barebones information about the current working directory for various version control systems ''; - homepage = "http://hg.gerg.ca/vcprompt"; + homepage = "http://hg.gerg.ca/vcprompt"; maintainers = [ ]; - platforms = with platforms; linux ++ darwin; + platforms = with platforms; linux ++ darwin; license = licenses.gpl2Plus; mainProgram = "vcprompt"; }; diff --git a/pkgs/applications/video/anilibria-winmaclinux/default.nix b/pkgs/applications/video/anilibria-winmaclinux/default.nix index a814406a5c22e..217b4b9b80d2d 100644 --- a/pkgs/applications/video/anilibria-winmaclinux/default.nix +++ b/pkgs/applications/video/anilibria-winmaclinux/default.nix @@ -1,19 +1,22 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, qmake -, pkg-config -, qtbase -, qtquickcontrols2 -, qtwebsockets -, qtmultimedia -, gst_all_1 -, wrapQtAppsHook -, makeDesktopItem -, copyDesktopItems +{ + mkDerivation, + lib, + fetchFromGitHub, + qmake, + pkg-config, + qtbase, + qtquickcontrols2, + qtwebsockets, + qtmultimedia, + gst_all_1, + wrapQtAppsHook, + makeDesktopItem, + copyDesktopItems, -, withVLC ? true , libvlc -, withMPV ? true , mpv-unwrapped + withVLC ? true, + libvlc, + withMPV ? true, + mpv-unwrapped, }: mkDerivation rec { @@ -29,7 +32,8 @@ mkDerivation rec { sourceRoot = "${src.name}/src"; - qmakeFlags = [ "PREFIX=${placeholder "out"}" ] + qmakeFlags = + [ "PREFIX=${placeholder "out"}" ] ++ lib.optionals withVLC [ "CONFIG+=unixvlc" ] ++ lib.optionals withMPV [ "CONFIG+=unixmpv" ]; @@ -44,13 +48,18 @@ mkDerivation rec { ''; qtWrapperArgs = [ - "--prefix GST_PLUGIN_PATH : ${(with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ - gst-plugins-bad - gst-plugins-good - gst-plugins-base - gst-libav - gstreamer - ])}" + "--prefix GST_PLUGIN_PATH : ${ + ( + with gst_all_1; + lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ + gst-plugins-bad + gst-plugins-good + gst-plugins-base + gst-libav + gstreamer + ] + ) + }" ]; nativeBuildInputs = [ @@ -60,20 +69,22 @@ mkDerivation rec { copyDesktopItems ]; - buildInputs = [ - qtbase - qtquickcontrols2 - qtwebsockets - qtmultimedia - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-good - gst-plugins-base - gst-libav - gstreamer - ]) - ++ lib.optionals withVLC [ libvlc ] - ++ lib.optionals withMPV [ mpv-unwrapped.dev ]; + buildInputs = + [ + qtbase + qtquickcontrols2 + qtwebsockets + qtmultimedia + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-good + gst-plugins-base + gst-libav + gstreamer + ]) + ++ lib.optionals withVLC [ libvlc ] + ++ lib.optionals withMPV [ mpv-unwrapped.dev ]; desktopItems = [ (makeDesktopItem (rec { @@ -82,7 +93,11 @@ mkDerivation rec { icon = "anilibria"; comment = meta.description; genericName = "AniLibria desktop client"; - categories = [ "Qt" "AudioVideo" "Player" ]; + categories = [ + "Qt" + "AudioVideo" + "Player" + ]; keywords = [ "anime" ]; exec = name; terminal = false; diff --git a/pkgs/applications/video/animdl/default.nix b/pkgs/applications/video/animdl/default.nix index ebe13e8b12e26..3c0fe37dd0628 100644 --- a/pkgs/applications/video/animdl/default.nix +++ b/pkgs/applications/video/animdl/default.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, buildPythonApplication, fetchFromGitHub, poetry-core, @@ -15,7 +16,7 @@ regex, rich, tqdm, - yarl + yarl, }: buildPythonApplication { pname = "animdl"; diff --git a/pkgs/applications/video/anime-downloader/default.nix b/pkgs/applications/video/anime-downloader/default.nix index bf8fa063bd92d..4d8c2f9326253 100644 --- a/pkgs/applications/video/anime-downloader/default.nix +++ b/pkgs/applications/video/anime-downloader/default.nix @@ -1,4 +1,12 @@ -{ lib, python3, aria2, mpv, nodejs, qt5, fetchFromGitHub }: +{ + lib, + python3, + aria2, + mpv, + nodejs, + qt5, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication rec { pname = "anime-downloader"; @@ -13,25 +21,27 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = [ qt5.wrapQtAppsHook ]; - propagatedBuildInputs = [ - aria2 - mpv - nodejs - ] ++ (with python3.pkgs; [ - beautifulsoup4 - cfscrape - click - coloredlogs - fuzzywuzzy - jsbeautifier - pycryptodome - pysmartdl - pyqt5 - requests - requests-cache - selenium - tabulate - ]); + propagatedBuildInputs = + [ + aria2 + mpv + nodejs + ] + ++ (with python3.pkgs; [ + beautifulsoup4 + cfscrape + click + coloredlogs + fuzzywuzzy + jsbeautifier + pycryptodome + pysmartdl + pyqt5 + requests + requests-cache + selenium + tabulate + ]); preFixup = '' wrapQtApp "$out/bin/anime" --prefix PATH : ${lib.makeBinPath propagatedBuildInputs} diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index c2b6d5be73258..4c1dfaa7a8fa6 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -1,22 +1,51 @@ -{ stdenv, lib, fetchurl, fetchpatch, cmake, pkg-config -, zlib, gettext, libvdpau, libva, libXv, sqlite -, yasm, freetype, fontconfig, fribidi -, makeWrapper, libXext, libGLU, qttools, qtbase, wrapQtAppsHook -, alsa-lib -, withX265 ? true, x265 -, withX264 ? true, x264 -, withXvid ? true, xvidcore -, withLAME ? true, lame -, withFAAC ? false, faac -, withVorbis ? true, libvorbis -, withPulse ? true, libpulseaudio -, withFAAD ? true, faad2 -, withOpus ? true, libopus -, withVPX ? true, libvpx -, withQT ? true -, withCLI ? true -, default ? "qt5" -, withPlugins ? true +{ + stdenv, + lib, + fetchurl, + fetchpatch, + cmake, + pkg-config, + zlib, + gettext, + libvdpau, + libva, + libXv, + sqlite, + yasm, + freetype, + fontconfig, + fribidi, + makeWrapper, + libXext, + libGLU, + qttools, + qtbase, + wrapQtAppsHook, + alsa-lib, + withX265 ? true, + x265, + withX264 ? true, + x264, + withXvid ? true, + xvidcore, + withLAME ? true, + lame, + withFAAC ? false, + faac, + withVorbis ? true, + libvorbis, + withPulse ? true, + libpulseaudio, + withFAAD ? true, + faad2, + withOpus ? true, + libopus, + withVPX ? true, + libvpx, + withQT ? true, + withCLI ? true, + default ? "qt5", + withPlugins ? true, }: assert withQT -> qttools != null && qtbase != null; @@ -38,22 +67,39 @@ stdenv.mkDerivation rec { ]; postPatch = '' - cp ${fetchpatch { - # Backport fix for binutils-2.41. - name = "binutils-2.41.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb"; - hash = "sha256-s9PcYbt0mFb2wvgMcFL1J+2OS6Sxyd2wYkGzLr2qd9M="; - stripLen = 1; - }} avidemux_core/ffmpeg_package/patches/ + cp ${ + fetchpatch { + # Backport fix for binutils-2.41. + name = "binutils-2.41.patch"; + url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb"; + hash = "sha256-s9PcYbt0mFb2wvgMcFL1J+2OS6Sxyd2wYkGzLr2qd9M="; + stripLen = 1; + } + } avidemux_core/ffmpeg_package/patches/ ''; - nativeBuildInputs = - [ yasm cmake pkg-config makeWrapper ] - ++ lib.optional withQT wrapQtAppsHook; - buildInputs = [ - zlib gettext libvdpau libva libXv sqlite fribidi fontconfig - freetype alsa-lib libXext libGLU - ] ++ lib.optional withX264 x264 + nativeBuildInputs = [ + yasm + cmake + pkg-config + makeWrapper + ] ++ lib.optional withQT wrapQtAppsHook; + buildInputs = + [ + zlib + gettext + libvdpau + libva + libXv + sqlite + fribidi + fontconfig + freetype + alsa-lib + libXext + libGLU + ] + ++ lib.optional withX264 x264 ++ lib.optional withX265 x265 ++ lib.optional withXvid xvidcore ++ lib.optional withLAME lame @@ -62,53 +108,62 @@ stdenv.mkDerivation rec { ++ lib.optional withPulse libpulseaudio ++ lib.optional withFAAD faad2 ++ lib.optional withOpus libopus - ++ lib.optionals withQT [ qttools qtbase ] + ++ lib.optionals withQT [ + qttools + qtbase + ] ++ lib.optional withVPX libvpx; dontWrapQtApps = true; - buildCommand = let - wrapWith = makeWrapper: filename: - "${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib"; - wrapQtApp = wrapWith "wrapQtApp"; - wrapProgram = wrapWith "wrapProgram"; - in '' - unpackPhase - cd "$sourceRoot" - patchPhase + buildCommand = + let + wrapWith = + makeWrapper: filename: + "${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib"; + wrapQtApp = wrapWith "wrapQtApp"; + wrapProgram = wrapWith "wrapProgram"; + in + '' + unpackPhase + cd "$sourceRoot" + patchPhase - ${stdenv.shell} bootStrap.bash \ - --with-core \ - ${if withQT then "--with-qt" else "--without-qt"} \ - ${if withCLI then "--with-cli" else "--without-cli"} \ - ${if withPlugins then "--with-plugins" else "--without-plugins"} + ${stdenv.shell} bootStrap.bash \ + --with-core \ + ${if withQT then "--with-qt" else "--without-qt"} \ + ${if withCLI then "--with-cli" else "--without-cli"} \ + ${if withPlugins then "--with-plugins" else "--without-plugins"} - mkdir $out - cp -R install/usr/* $out + mkdir $out + cp -R install/usr/* $out - ${wrapProgram "$out/bin/avidemux3_cli"} + ${wrapProgram "$out/bin/avidemux3_cli"} - ${lib.optionalString withQT '' - ${wrapQtApp "$out/bin/avidemux3_qt5"} - ${wrapQtApp "$out/bin/avidemux3_jobs_qt5"} - ''} + ${lib.optionalString withQT '' + ${wrapQtApp "$out/bin/avidemux3_qt5"} + ${wrapQtApp "$out/bin/avidemux3_jobs_qt5"} + ''} - ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux" + ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux" - # make the install path match the rpath - if [[ -d ''${!outputLib}/lib64 ]]; then - mv ''${!outputLib}/lib64 ''${!outputLib}/lib - ln -s lib ''${!outputLib}/lib64 - fi - fixupPhase - ''; + # make the install path match the rpath + if [[ -d ''${!outputLib}/lib64 ]]; then + mv ''${!outputLib}/lib64 ''${!outputLib}/lib + ln -s lib ''${!outputLib}/lib64 + fi + fixupPhase + ''; meta = with lib; { homepage = "http://fixounet.free.fr/avidemux/"; description = "Free video editor designed for simple video editing tasks"; maintainers = with maintainers; [ abbradar ]; # "CPU not supported" errors on AArch64 - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; license = licenses.gpl2; }; } diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix index 1625c87e0c0bb..0ac6cae8d5693 100644 --- a/pkgs/applications/video/clipgrab/default.nix +++ b/pkgs/applications/video/clipgrab/default.nix @@ -1,7 +1,18 @@ -{ lib, fetchurl, makeDesktopItem, ffmpeg -, qmake, qttools, mkDerivation -, qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtwebchannel, qtwebengine -, yt-dlp +{ + lib, + fetchurl, + makeDesktopItem, + ffmpeg, + qmake, + qttools, + mkDerivation, + qtbase, + qtdeclarative, + qtlocation, + qtquickcontrols2, + qtwebchannel, + qtwebengine, + yt-dlp, }: mkDerivation rec { @@ -14,22 +25,35 @@ mkDerivation rec { url = "https://download.clipgrab.org/${pname}-${version}.tar.gz"; }; - buildInputs = [ ffmpeg qtbase qtdeclarative qtlocation qtquickcontrols2 qtwebchannel qtwebengine ]; - nativeBuildInputs = [ qmake qttools ]; + buildInputs = [ + ffmpeg + qtbase + qtdeclarative + qtlocation + qtquickcontrols2 + qtwebchannel + qtwebengine + ]; + nativeBuildInputs = [ + qmake + qttools + ]; patches = [ ./yt-dlp-path.patch ]; - postPatch = '' - substituteInPlace youtube_dl.cpp \ - --replace 'QString YoutubeDl::path = QString();' \ - 'QString YoutubeDl::path = QString("${yt-dlp}/bin/yt-dlp");' - '' + lib.optionalString (ffmpeg != null) '' - substituteInPlace converter_ffmpeg.cpp \ - --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \ - --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg ' - ''; + postPatch = + '' + substituteInPlace youtube_dl.cpp \ + --replace 'QString YoutubeDl::path = QString();' \ + 'QString YoutubeDl::path = QString("${yt-dlp}/bin/yt-dlp");' + '' + + lib.optionalString (ffmpeg != null) '' + substituteInPlace converter_ffmpeg.cpp \ + --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \ + --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg ' + ''; qmakeFlags = [ "clipgrab.pro" ]; @@ -40,7 +64,12 @@ mkDerivation rec { desktopName = "ClipGrab"; comment = meta.description; genericName = "Web video downloader"; - categories = [ "Qt" "AudioVideo" "Audio" "Video" ]; + categories = [ + "Qt" + "AudioVideo" + "Audio" + "Video" + ]; }; installPhase = '' diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix index d66202afcc71d..d98b2c8cd3224 100644 --- a/pkgs/applications/video/davinci-resolve/default.nix +++ b/pkgs/applications/video/davinci-resolve/default.nix @@ -1,33 +1,34 @@ -{ stdenv -, lib -, cacert -, curl -, runCommandLocal -, unzip -, appimage-run -, addDriverRunpath -, dbus -, libGLU -, xorg -, buildFHSEnv -, buildFHSEnvChroot -, bash -, writeText -, ocl-icd -, xkeyboard_config -, glib -, libarchive -, libxcrypt -, python3 -, aprutil -, makeDesktopItem -, copyDesktopItems -, jq - -, studioVariant ? false - -, common-updater-scripts -, writeShellApplication +{ + stdenv, + lib, + cacert, + curl, + runCommandLocal, + unzip, + appimage-run, + addDriverRunpath, + dbus, + libGLU, + xorg, + buildFHSEnv, + buildFHSEnvChroot, + bash, + writeText, + ocl-icd, + xkeyboard_config, + glib, + libarchive, + libxcrypt, + python3, + aprutil, + makeDesktopItem, + copyDesktopItems, + jq, + + studioVariant ? false, + + common-updater-scripts, + writeShellApplication, }: let @@ -37,7 +38,7 @@ let version = "19.1"; nativeBuildInputs = [ - (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } ) + (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; }) addDriverRunpath copyDesktopItems unzip @@ -49,101 +50,109 @@ let xorg.libXxf86vm ]; - src = runCommandLocal "${pname}-src.zip" - rec { - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = - if studioVariant - then "sha256-uEUZt0TQ4XrAag6NoCPUtYSnkwpwh3BNlol1z/EmP9E=" - else "sha256-3VVyfXT/mZFuf2GGkNS47ErSdAGpdUUwwwKY19zBBZo="; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars; - - nativeBuildInputs = [ curl jq ]; - - # ENV VARS - SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - - # Get linux.downloadId from HTTP response on https://www.blackmagicdesign.com/products/davinciresolve - REFERID = "263d62f31cbb49e0868005059abcb0c9"; - DOWNLOADSURL = "https://www.blackmagicdesign.com/api/support/us/downloads.json"; - SITEURL = "https://www.blackmagicdesign.com/api/register/us/download"; - PRODUCT = "DaVinci Resolve${lib.optionalString studioVariant " Studio"}"; - VERSION = version; - - USERAGENT = builtins.concatStringsSep " " [ - "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})" - "AppleWebKit/537.36 (KHTML, like Gecko)" - "Chrome/77.0.3865.75" - "Safari/537.36" - ]; - - REQJSON = builtins.toJSON { - "firstname" = "NixOS"; - "lastname" = "Linux"; - "email" = "someone@nixos.org"; - "phone" = "+31 71 452 5670"; - "country" = "nl"; - "street" = "-"; - "state" = "Province of Utrecht"; - "city" = "Utrecht"; - "product" = PRODUCT; - }; - - } '' - DOWNLOADID=$( - curl --silent --compressed "$DOWNLOADSURL" \ - | jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .downloadId' - ) - echo "downloadid is $DOWNLOADID" - test -n "$DOWNLOADID" - RESOLVEURL=$(curl \ - --silent \ - --header 'Host: www.blackmagicdesign.com' \ - --header 'Accept: application/json, text/plain, */*' \ - --header 'Origin: https://www.blackmagicdesign.com' \ - --header "$USERAGENT" \ - --header 'Content-Type: application/json;charset=UTF-8' \ - --header "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \ - --header 'Accept-Encoding: gzip, deflate, br' \ - --header 'Accept-Language: en-US,en;q=0.9' \ - --header 'Authority: www.blackmagicdesign.com' \ - --header 'Cookie: _ga=GA1.2.1849503966.1518103294; _gid=GA1.2.953840595.1518103294' \ - --data-ascii "$REQJSON" \ - --compressed \ - "$SITEURL/$DOWNLOADID") - echo "resolveurl is $RESOLVEURL" - - curl \ - --retry 3 --retry-delay 3 \ - --header "Upgrade-Insecure-Requests: 1" \ - --header "$USERAGENT" \ - --header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \ - --header "Accept-Language: en-US,en;q=0.9" \ - --compressed \ - "$RESOLVEURL" \ - > $out - ''; + src = + runCommandLocal "${pname}-src.zip" + rec { + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = + if studioVariant then + "sha256-uEUZt0TQ4XrAag6NoCPUtYSnkwpwh3BNlol1z/EmP9E=" + else + "sha256-3VVyfXT/mZFuf2GGkNS47ErSdAGpdUUwwwKY19zBBZo="; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + + nativeBuildInputs = [ + curl + jq + ]; + + # ENV VARS + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + + # Get linux.downloadId from HTTP response on https://www.blackmagicdesign.com/products/davinciresolve + REFERID = "263d62f31cbb49e0868005059abcb0c9"; + DOWNLOADSURL = "https://www.blackmagicdesign.com/api/support/us/downloads.json"; + SITEURL = "https://www.blackmagicdesign.com/api/register/us/download"; + PRODUCT = "DaVinci Resolve${lib.optionalString studioVariant " Studio"}"; + VERSION = version; + + USERAGENT = builtins.concatStringsSep " " [ + "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})" + "AppleWebKit/537.36 (KHTML, like Gecko)" + "Chrome/77.0.3865.75" + "Safari/537.36" + ]; + + REQJSON = builtins.toJSON { + "firstname" = "NixOS"; + "lastname" = "Linux"; + "email" = "someone@nixos.org"; + "phone" = "+31 71 452 5670"; + "country" = "nl"; + "street" = "-"; + "state" = "Province of Utrecht"; + "city" = "Utrecht"; + "product" = PRODUCT; + }; + + } + '' + DOWNLOADID=$( + curl --silent --compressed "$DOWNLOADSURL" \ + | jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .downloadId' + ) + echo "downloadid is $DOWNLOADID" + test -n "$DOWNLOADID" + RESOLVEURL=$(curl \ + --silent \ + --header 'Host: www.blackmagicdesign.com' \ + --header 'Accept: application/json, text/plain, */*' \ + --header 'Origin: https://www.blackmagicdesign.com' \ + --header "$USERAGENT" \ + --header 'Content-Type: application/json;charset=UTF-8' \ + --header "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \ + --header 'Accept-Encoding: gzip, deflate, br' \ + --header 'Accept-Language: en-US,en;q=0.9' \ + --header 'Authority: www.blackmagicdesign.com' \ + --header 'Cookie: _ga=GA1.2.1849503966.1518103294; _gid=GA1.2.953840595.1518103294' \ + --data-ascii "$REQJSON" \ + --compressed \ + "$SITEURL/$DOWNLOADID") + echo "resolveurl is $RESOLVEURL" + + curl \ + --retry 3 --retry-delay 3 \ + --header "Upgrade-Insecure-Requests: 1" \ + --header "$USERAGENT" \ + --header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \ + --header "Accept-Language: en-US,en;q=0.9" \ + --compressed \ + "$RESOLVEURL" \ + > $out + ''; # The unpack phase won't generate a directory sourceRoot = "."; - installPhase = let - appimageName = "DaVinci_Resolve_${lib.optionalString studioVariant "Studio_"}${version}_Linux.run"; - in '' - runHook preInstall + installPhase = + let + appimageName = "DaVinci_Resolve_${lib.optionalString studioVariant "Studio_"}${version}_Linux.run"; + in + '' + runHook preInstall - export HOME=$PWD/home - mkdir -p $HOME + export HOME=$PWD/home + mkdir -p $HOME - mkdir -p $out - test -e ${lib.escapeShellArg appimageName} - appimage-run ${lib.escapeShellArg appimageName} -i -y -n -C $out + mkdir -p $out + test -e ${lib.escapeShellArg appimageName} + appimage-run ${lib.escapeShellArg appimageName} -i -y -n -C $out - mkdir -p $out/{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT} - runHook postInstall - ''; + mkdir -p $out/{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT} + runHook postInstall + ''; dontStrip = true; @@ -185,56 +194,57 @@ in buildFHSEnv { inherit (davinci) pname version; - targetPkgs = pkgs: with pkgs; [ - alsa-lib - aprutil - bzip2 - davinci - dbus - expat - fontconfig - freetype - glib - libGL - libGLU - libarchive - libcap - librsvg - libtool - libuuid - libxcrypt # provides libcrypt.so.1 - libxkbcommon - nspr - ocl-icd - opencl-headers - python3 - python3.pkgs.numpy - udev - xdg-utils # xdg-open needed to open URLs - xorg.libICE - xorg.libSM - xorg.libX11 - xorg.libXcomposite - xorg.libXcursor - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXi - xorg.libXinerama - xorg.libXrandr - xorg.libXrender - xorg.libXt - xorg.libXtst - xorg.libXxf86vm - xorg.libxcb - xorg.xcbutil - xorg.xcbutilimage - xorg.xcbutilkeysyms - xorg.xcbutilrenderutil - xorg.xcbutilwm - xorg.xkeyboardconfig - zlib - ]; + targetPkgs = + pkgs: with pkgs; [ + alsa-lib + aprutil + bzip2 + davinci + dbus + expat + fontconfig + freetype + glib + libGL + libGLU + libarchive + libcap + librsvg + libtool + libuuid + libxcrypt # provides libcrypt.so.1 + libxkbcommon + nspr + ocl-icd + opencl-headers + python3 + python3.pkgs.numpy + udev + xdg-utils # xdg-open needed to open URLs + xorg.libICE + xorg.libSM + xorg.libX11 + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXinerama + xorg.libXrandr + xorg.libXrender + xorg.libXt + xorg.libXtst + xorg.libXxf86vm + xorg.libxcb + xorg.xcbutil + xorg.xcbutilimage + xorg.xcbutilkeysyms + xorg.xcbutilrenderutil + xorg.xcbutilwm + xorg.xkeyboardconfig + zlib + ]; extraPreBwrapCmds = lib.optionalString studioVariant '' mkdir -p ~/.local/share/DaVinciResolve/license || exit 1 @@ -244,15 +254,12 @@ buildFHSEnv { "--bind \"$HOME\"/.local/share/DaVinciResolve/license ${davinci}/.license" ]; - runScript = "${bash}/bin/bash ${ - writeText "davinci-wrapper" - '' + runScript = "${bash}/bin/bash ${writeText "davinci-wrapper" '' export QT_XKB_CONFIG_ROOT="${xkeyboard_config}/share/X11/xkb" export QT_PLUGIN_PATH="${davinci}/libs/plugins:$QT_PLUGIN_PATH" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib32:${davinci}/libs ${davinci}/bin/resolve - '' - }"; + ''}"; extraInstallCommands = '' mkdir -p $out/share/applications $out/share/icons/hicolor/128x128/apps @@ -264,7 +271,11 @@ buildFHSEnv { inherit davinci; updateScript = lib.getExe (writeShellApplication { name = "update-davinci-resolve"; - runtimeInputs = [ curl jq common-updater-scripts ]; + runtimeInputs = [ + curl + jq + common-updater-scripts + ]; text = '' set -o errexit drv=pkgs/applications/video/davinci-resolve/default.nix @@ -287,7 +298,11 @@ buildFHSEnv { description = "Professional video editing, color, effects and audio post-processing"; homepage = "https://www.blackmagicdesign.com/products/davinciresolve"; license = licenses.unfree; - maintainers = with maintainers; [ amarshall jshcmpbll orivej ]; + maintainers = with maintainers; [ + amarshall + jshcmpbll + orivej + ]; platforms = [ "x86_64-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; diff --git a/pkgs/applications/video/electronplayer/electronplayer.nix b/pkgs/applications/video/electronplayer/electronplayer.nix index 1cb10e65cbb95..a11c8555e76cf 100644 --- a/pkgs/applications/video/electronplayer/electronplayer.nix +++ b/pkgs/applications/video/electronplayer/electronplayer.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "electronplayer"; version = "2.0.8"; @@ -10,7 +14,8 @@ let }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/applications/video/glaxnimate/default.nix b/pkgs/applications/video/glaxnimate/default.nix index 984e5db8f665d..128e83bd979fa 100644 --- a/pkgs/applications/video/glaxnimate/default.nix +++ b/pkgs/applications/video/glaxnimate/default.nix @@ -1,40 +1,43 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, cmake -, zlib -, potrace -, ffmpeg -, libarchive -, python3 -, qtbase -, qttools -, wrapQtAppsHook -, testers -, qtsvg -, qtimageformats +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + cmake, + zlib, + potrace, + ffmpeg, + libarchive, + python3, + qtbase, + qttools, + wrapQtAppsHook, + testers, + qtsvg, + qtimageformats, # For the tests -, glaxnimate # Call itself, for the tests -, xvfb-run + glaxnimate, # Call itself, for the tests + xvfb-run, }: let # TODO: try to add a python library, see toPythonModule in doc/languages-frameworks/python.section.md - python3WithLibs = python3.withPackages (ps: with ps; [ - # In data/lib/python-lottie/requirements.txt - numpy - pillow - cairosvg - fonttools - grapheme - opencv4 - pyqt5 - qscintilla - # Not sure if needed, but appears in some files - pyyaml - requests - pybind11 - ]); + python3WithLibs = python3.withPackages ( + ps: with ps; [ + # In data/lib/python-lottie/requirements.txt + numpy + pillow + cairosvg + fonttools + grapheme + opencv4 + pyqt5 + qscintilla + # Not sure if needed, but appears in some files + pyyaml + requests + pybind11 + ] + ); in stdenv.mkDerivation rec { pname = "glaxnimate"; @@ -82,10 +85,12 @@ stdenv.mkDerivation rec { qtWrapperArgs = [ ''--prefix PATH : ${python3WithLibs}/bin'' ]; - passthru.tests.version = lib.optionalAttrs stdenv.hostPlatform.isLinux (testers.testVersion { - package = glaxnimate; - command = "${xvfb-run}/bin/xvfb-run glaxnimate --version"; - }); + passthru.tests.version = lib.optionalAttrs stdenv.hostPlatform.isLinux ( + testers.testVersion { + package = glaxnimate; + command = "${xvfb-run}/bin/xvfb-run glaxnimate --version"; + } + ); meta = with lib; { homepage = "https://gitlab.com/mattbas/glaxnimate"; diff --git a/pkgs/applications/video/go2tv/default.nix b/pkgs/applications/video/go2tv/default.nix index e7ecf29369354..af62de21a778c 100644 --- a/pkgs/applications/video/go2tv/default.nix +++ b/pkgs/applications/video/go2tv/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, Carbon -, Cocoa -, Kernel -, UserNotifications -, xorg -, libglvnd -, pkg-config -, withGui ? true +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + Carbon, + Cocoa, + Kernel, + UserNotifications, + xorg, + libglvnd, + pkg-config, + withGui ? true, }: buildGoModule rec { @@ -27,16 +28,23 @@ buildGoModule rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorg.libX11 - xorg.libXcursor - xorg.libXrandr - xorg.libXinerama - xorg.libXi - xorg.libXext - xorg.libXxf86vm - libglvnd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa Kernel UserNotifications ]; + buildInputs = + [ + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXinerama + xorg.libXi + xorg.libXext + xorg.libXxf86vm + libglvnd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + Kernel + UserNotifications + ]; ldflags = [ "-s" diff --git a/pkgs/applications/video/gpac/default.nix b/pkgs/applications/video/gpac/default.nix index 8cd33a1b578f6..3bbb52e5fb7a0 100644 --- a/pkgs/applications/video/gpac/default.nix +++ b/pkgs/applications/video/gpac/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cctools, pkg-config, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cctools, + pkg-config, + zlib, +}: stdenv.mkDerivation rec { pname = "gpac"; @@ -13,11 +20,13 @@ stdenv.mkDerivation rec { # this is the bare minimum configuration, as I'm only interested in MP4Box # For most other functionality, this should probably be extended - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - cctools - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + ]; buildInputs = [ zlib @@ -41,7 +50,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://gpac.wp.imt.fr"; license = licenses.lgpl21; - maintainers = with maintainers; [ bluescreen303 mgdelacroix ]; + maintainers = with maintainers; [ + bluescreen303 + mgdelacroix + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix index 96a6235bf9d12..1c0e4e9782b9b 100644 --- a/pkgs/applications/video/haruna/default.nix +++ b/pkgs/applications/video/haruna/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitLab -, breeze-icons -, breeze -, cmake -, extra-cmake-modules -, ffmpeg-headless -, kconfig -, kcoreaddons -, kfilemetadata -, ki18n -, kiconthemes -, kio -, kirigami -, kxmlgui -, kdoctools -, mpvqt -, pkg-config -, wrapQtAppsHook -, qqc2-desktop-style -, qtbase -, yt-dlp +{ + lib, + stdenv, + fetchFromGitLab, + breeze-icons, + breeze, + cmake, + extra-cmake-modules, + ffmpeg-headless, + kconfig, + kcoreaddons, + kfilemetadata, + ki18n, + kiconthemes, + kio, + kirigami, + kxmlgui, + kdoctools, + mpvqt, + pkg-config, + wrapQtAppsHook, + qqc2-desktop-style, + qtbase, + yt-dlp, }: stdenv.mkDerivation rec { @@ -70,8 +71,19 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://invent.kde.org/multimedia/haruna"; description = "Open source video player built with Qt/QML and libmpv"; - license = with licenses; [ bsd3 cc-by-40 cc-by-sa-40 cc0 gpl2Plus gpl3Plus wtfpl ]; - maintainers = with maintainers; [ jojosch kashw2 ]; + license = with licenses; [ + bsd3 + cc-by-40 + cc-by-sa-40 + cc0 + gpl2Plus + gpl3Plus + wtfpl + ]; + maintainers = with maintainers; [ + jojosch + kashw2 + ]; mainProgram = "haruna"; }; } diff --git a/pkgs/applications/video/hyperion-ng/default.nix b/pkgs/applications/video/hyperion-ng/default.nix index 837e5071f440e..f803f0f694de5 100644 --- a/pkgs/applications/video/hyperion-ng/default.nix +++ b/pkgs/applications/video/hyperion-ng/default.nix @@ -1,10 +1,27 @@ -{ stdenv, lib, fetchFromGitHub -, cmake, wrapQtAppsHook, perl -, flatbuffers, protobuf, mbedtls -, alsa-lib, hidapi, libcec, libusb1 -, libX11, libxcb, libXrandr, python3 -, qtbase, qtserialport, qtsvg, qtx11extras -, withRPiDispmanx ? false, libraspberrypi +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + wrapQtAppsHook, + perl, + flatbuffers, + protobuf, + mbedtls, + alsa-lib, + hidapi, + libcec, + libusb1, + libX11, + libxcb, + libXrandr, + python3, + qtbase, + qtserialport, + qtsvg, + qtx11extras, + withRPiDispmanx ? false, + libraspberrypi, }: stdenv.mkDerivation rec { @@ -22,32 +39,35 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ - alsa-lib - hidapi - libusb1 - libX11 - libxcb - libXrandr - flatbuffers - protobuf - mbedtls - python3 - qtbase - qtserialport - qtsvg - qtx11extras - ] ++ lib.optional stdenv.hostPlatform.isLinux libcec + buildInputs = + [ + alsa-lib + hidapi + libusb1 + libX11 + libxcb + libXrandr + flatbuffers + protobuf + mbedtls + python3 + qtbase + qtserialport + qtsvg + qtx11extras + ] + ++ lib.optional stdenv.hostPlatform.isLinux libcec ++ lib.optional withRPiDispmanx libraspberrypi; nativeBuildInputs = [ - cmake wrapQtAppsHook + cmake + wrapQtAppsHook ] ++ lib.optional stdenv.hostPlatform.isDarwin perl; # for macos bundle - patchPhase = '' + patchPhase = '' patchShebangs test/testrunner.sh patchShebangs src/hyperiond/CMakeLists.txt - '' ; + ''; cmakeFlags = [ "-DENABLE_DEPLOY_DEPENDENCIES=OFF" @@ -67,7 +87,10 @@ stdenv.mkDerivation rec { description = "Opensource Bias or Ambient Lighting implementation"; homepage = "https://github.com/hyperion-project/hyperion.ng"; license = licenses.mit; - maintainers = with maintainers; [ algram kazenyuk ]; + maintainers = with maintainers; [ + algram + kazenyuk + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index f810b5403f1ba..d9965291c2ff4 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -1,19 +1,20 @@ -{ lib -, buildPythonApplication -, copyDesktopItems -, fetchPypi -, gobject-introspection -, jellyfin-apiclient-python -, jinja2 -, makeDesktopItem -, mpv -, pillow -, pystray -, python -, python-mpv-jsonipc -, pywebview -, tkinter -, wrapGAppsHook3 +{ + lib, + buildPythonApplication, + copyDesktopItems, + fetchPypi, + gobject-introspection, + jellyfin-apiclient-python, + jinja2, + makeDesktopItem, + mpv, + pillow, + pystray, + python, + python-mpv-jsonipc, + pywebview, + tkinter, + wrapGAppsHook3, }: buildPythonApplication rec { @@ -92,7 +93,12 @@ buildPythonApplication rec { exec = pname; icon = pname; desktopName = "Jellyfin MPV Shim"; - categories = [ "Video" "AudioVideo" "TV" "Player" ]; + categories = [ + "Video" + "AudioVideo" + "TV" + "Player" + ]; }) ]; diff --git a/pkgs/applications/video/kmplayer/default.nix b/pkgs/applications/video/kmplayer/default.nix index a3c5b181725a5..0c3d3d74e8df2 100644 --- a/pkgs/applications/video/kmplayer/default.nix +++ b/pkgs/applications/video/kmplayer/default.nix @@ -1,9 +1,21 @@ { - mkDerivation, lib, fetchurl, - extra-cmake-modules, makeWrapper, - libpthreadstubs, libXdmcp, - qtsvg, qtx11extras, ki18n, kdelibs4support, kio, kmediaplayer, kwidgetsaddons, - phonon, cairo, mplayer + mkDerivation, + lib, + fetchurl, + extra-cmake-modules, + makeWrapper, + libpthreadstubs, + libXdmcp, + qtsvg, + qtx11extras, + ki18n, + kdelibs4support, + kio, + kmediaplayer, + kwidgetsaddons, + phonon, + cairo, + mplayer, }: mkDerivation rec { @@ -28,14 +40,25 @@ mkDerivation rec { ''; # required for kf5auth to work correctly - cmakeFlags = ["-DCMAKE_POLICY_DEFAULT_CMP0012=NEW"]; + cmakeFlags = [ "-DCMAKE_POLICY_DEFAULT_CMP0012=NEW" ]; - nativeBuildInputs = [ extra-cmake-modules makeWrapper ]; + nativeBuildInputs = [ + extra-cmake-modules + makeWrapper + ]; buildInputs = [ - libpthreadstubs libXdmcp - qtsvg qtx11extras ki18n kdelibs4support kio kmediaplayer kwidgetsaddons - phonon cairo + libpthreadstubs + libXdmcp + qtsvg + qtx11extras + ki18n + kdelibs4support + kio + kmediaplayer + kwidgetsaddons + phonon + cairo ]; postInstall = '' @@ -44,8 +67,15 @@ mkDerivation rec { meta = with lib; { description = "MPlayer front-end for KDE"; - license = with licenses; [ gpl2Plus lgpl2Plus fdl12Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + fdl12Plus + ]; homepage = "https://kmplayer.kde.org/"; - maintainers = with maintainers; [ sander zraexy ]; + maintainers = with maintainers; [ + sander + zraexy + ]; }; } diff --git a/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix b/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix index ae32fb7c5a77c..a9936818c4ffb 100644 --- a/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix +++ b/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiAddon, fetchFromGitHub, requests, vfs-libarchive }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + requests, + vfs-libarchive, +}: buildKodiAddon rec { pname = "a4ksubtitles"; diff --git a/pkgs/applications/video/kodi/addons/addon-update-script/default.nix b/pkgs/applications/video/kodi/addons/addon-update-script/default.nix index f3b363dca0f8b..9d48ae7958675 100644 --- a/pkgs/applications/video/kodi/addons/addon-update-script/default.nix +++ b/pkgs/applications/video/kodi/addons/addon-update-script/default.nix @@ -1,9 +1,10 @@ -{ writeShellScript -, nix -, curl -, gzip -, xmlstarlet -, common-updater-scripts +{ + writeShellScript, + nix, + curl, + gzip, + xmlstarlet, + common-updater-scripts, }: { attrPath }: @@ -20,4 +21,7 @@ let ${common-updater-scripts}/bin/update-source-version "$attrPath" "$version" ''; in - [ updateScript attrPath ] +[ + updateScript + attrPath +] diff --git a/pkgs/applications/video/kodi/addons/archive_tool/default.nix b/pkgs/applications/video/kodi/addons/archive_tool/default.nix index 03372e1728589..0b90ee1cd5a3a 100644 --- a/pkgs/applications/video/kodi/addons/archive_tool/default.nix +++ b/pkgs/applications/video/kodi/addons/archive_tool/default.nix @@ -1,4 +1,9 @@ -{ lib, buildKodiAddon, fetchFromGitHub, vfs-libarchive }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + vfs-libarchive, +}: buildKodiAddon rec { pname = "archive_tool"; namespace = "script.module.archive_tool"; diff --git a/pkgs/applications/video/kodi/addons/arrow/default.nix b/pkgs/applications/video/kodi/addons/arrow/default.nix index 2515ce7853fca..16c736aab009f 100644 --- a/pkgs/applications/video/kodi/addons/arrow/default.nix +++ b/pkgs/applications/video/kodi/addons/arrow/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + dateutil, + typing_extensions, +}: buildKodiAddon rec { pname = "arrow"; namespace = "script.module.arrow"; diff --git a/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/pkgs/applications/video/kodi/addons/arteplussept/default.nix index 8311a50680213..056b5bb6a817b 100644 --- a/pkgs/applications/video/kodi/addons/arteplussept/default.nix +++ b/pkgs/applications/video/kodi/addons/arteplussept/default.nix @@ -1,4 +1,13 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + dateutil, + requests, + xbmcswift2, +}: buildKodiAddon rec { pname = "arteplussept"; diff --git a/pkgs/applications/video/kodi/addons/certifi/default.nix b/pkgs/applications/video/kodi/addons/certifi/default.nix index ecab49746a27e..b626cb643a100 100644 --- a/pkgs/applications/video/kodi/addons/certifi/default.nix +++ b/pkgs/applications/video/kodi/addons/certifi/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, cacert }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + cacert, +}: buildKodiAddon rec { pname = "certifi"; namespace = "script.module.certifi"; diff --git a/pkgs/applications/video/kodi/addons/chardet/default.nix b/pkgs/applications/video/kodi/addons/chardet/default.nix index 8d385e717b8a4..1d02432a36308 100644 --- a/pkgs/applications/video/kodi/addons/chardet/default.nix +++ b/pkgs/applications/video/kodi/addons/chardet/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "chardet"; namespace = "script.module.chardet"; diff --git a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix index 5b55ab9d1282f..e060ee1e03bfd 100644 --- a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix +++ b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }: +{ + lib, + stdenv, + fetchFromGitHub, + toKodiAddon, + addonDir, +}: let drv = stdenv.mkDerivation rec { pname = "controller-topology-project"; @@ -34,4 +40,4 @@ let }; }; in - toKodiAddon drv +toKodiAddon drv diff --git a/pkgs/applications/video/kodi/addons/dateutil/default.nix b/pkgs/applications/video/kodi/addons/dateutil/default.nix index b0fadcf8a8622..2443c057e8502 100644 --- a/pkgs/applications/video/kodi/addons/dateutil/default.nix +++ b/pkgs/applications/video/kodi/addons/dateutil/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + six, +}: buildKodiAddon rec { pname = "dateutil"; @@ -24,7 +31,10 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://dateutil.readthedocs.io/en/stable/"; description = "Extensions to the standard Python datetime module"; - license = with licenses; [ asl20 bsd3 ]; + license = with licenses; [ + asl20 + bsd3 + ]; maintainers = teams.kodi.members; }; } diff --git a/pkgs/applications/video/kodi/addons/defusedxml/default.nix b/pkgs/applications/video/kodi/addons/defusedxml/default.nix index 1c6a844e0a30a..2f93e2bbeb0ae 100644 --- a/pkgs/applications/video/kodi/addons/defusedxml/default.nix +++ b/pkgs/applications/video/kodi/addons/defusedxml/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "defusedxml"; diff --git a/pkgs/applications/video/kodi/addons/formula1/default.nix b/pkgs/applications/video/kodi/addons/formula1/default.nix index 0d374dc65be1b..9dc809c571c27 100644 --- a/pkgs/applications/video/kodi/addons/formula1/default.nix +++ b/pkgs/applications/video/kodi/addons/formula1/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + requests, +}: buildKodiAddon rec { pname = "formula1"; diff --git a/pkgs/applications/video/kodi/addons/future/default.nix b/pkgs/applications/video/kodi/addons/future/default.nix index c96f28ab9037d..346be9f8d7f5d 100644 --- a/pkgs/applications/video/kodi/addons/future/default.nix +++ b/pkgs/applications/video/kodi/addons/future/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "future"; diff --git a/pkgs/applications/video/kodi/addons/iagl/default.nix b/pkgs/applications/video/kodi/addons/iagl/default.nix index 90698a10cf9f6..ae8ff5dc19aa8 100644 --- a/pkgs/applications/video/kodi/addons/iagl/default.nix +++ b/pkgs/applications/video/kodi/addons/iagl/default.nix @@ -1,4 +1,15 @@ -{ lib, buildKodiAddon, fetchFromGitHub, dateutil, requests, routing, vfs-libarchive, archive_tool, youtube, infotagger }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + dateutil, + requests, + routing, + vfs-libarchive, + archive_tool, + youtube, + infotagger, +}: buildKodiAddon rec { pname = "iagl"; diff --git a/pkgs/applications/video/kodi/addons/idna/default.nix b/pkgs/applications/video/kodi/addons/idna/default.nix index 76a6e81b00728..81c0a42b0dded 100644 --- a/pkgs/applications/video/kodi/addons/idna/default.nix +++ b/pkgs/applications/video/kodi/addons/idna/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "idna"; namespace = "script.module.idna"; diff --git a/pkgs/applications/video/kodi/addons/infotagger/default.nix b/pkgs/applications/video/kodi/addons/infotagger/default.nix index 7ac5e48071073..40b0399ca3b20 100644 --- a/pkgs/applications/video/kodi/addons/infotagger/default.nix +++ b/pkgs/applications/video/kodi/addons/infotagger/default.nix @@ -1,4 +1,9 @@ -{ lib, buildKodiAddon, fetchFromGitHub, addonUpdateScript }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + addonUpdateScript, +}: buildKodiAddon rec { pname = "infotagger"; namespace = "script.module.infotagger"; diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix index a5c7dadf5b509..73e258f42a1ba 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix @@ -1,4 +1,17 @@ -{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest, rapidjson }: +{ + stdenv, + lib, + rel, + addonDir, + buildKodiBinaryAddon, + fetchFromGitHub, + pugixml, + glib, + nspr, + nss, + gtest, + rapidjson, +}: let bento4 = fetchFromGitHub { owner = "xbmc"; @@ -26,13 +39,25 @@ buildKodiBinaryAddon rec { extraNativeBuildInputs = [ gtest ]; - extraBuildInputs = [ pugixml rapidjson ]; + extraBuildInputs = [ + pugixml + rapidjson + ]; - extraRuntimeDependencies = [ glib nspr nss (lib.getLib stdenv.cc.cc) ]; + extraRuntimeDependencies = [ + glib + nspr + nss + (lib.getLib stdenv.cc.cc) + ]; - extraInstallPhase = let n = namespace; in '' - ${lib.optionalString stdenv.hostPlatform.isAarch64 "ln -s $out/lib/addons/${n}/libcdm_aarch64_loader.so $out/${addonDir}/${n}/libcdm_aarch64_loader.so"} - ''; + extraInstallPhase = + let + n = namespace; + in + '' + ${lib.optionalString stdenv.hostPlatform.isAarch64 "ln -s $out/lib/addons/${n}/libcdm_aarch64_loader.so $out/${addonDir}/${n}/libcdm_aarch64_loader.so"} + ''; meta = with lib; { homepage = "https://github.com/xbmc/inputstream.adaptive"; diff --git a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix index ffb0a0cf83a76..e48f8e8be2093 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, kodi, bzip2, zlib }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + kodi, + bzip2, + zlib, +}: buildKodiBinaryAddon rec { pname = "inputstream-ffmpegdirect"; @@ -12,7 +20,11 @@ buildKodiBinaryAddon rec { sha256 = "sha256-pPufkDPHq5EsvC6YTsRX9TjqjIczOL/6Vc5HGDIe9Gk="; }; - extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ]; + extraBuildInputs = [ + bzip2 + zlib + kodi.ffmpeg + ]; meta = with lib; { homepage = "https://github.com/xbmc/inputstream.ffmpegdirect/"; diff --git a/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix b/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix index 960c50ce09e7d..33e4bcb026261 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, rtmpdump, zlib }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + openssl, + rtmpdump, + zlib, +}: buildKodiBinaryAddon rec { pname = "inputstream-rtmp"; @@ -12,7 +20,11 @@ buildKodiBinaryAddon rec { sha256 = "sha256-M6LFokWQRzBZ7inzRsMxyWzkV0XsGHh4d0CPhv1NCfI="; }; - extraBuildInputs = [ openssl rtmpdump zlib ]; + extraBuildInputs = [ + openssl + rtmpdump + zlib + ]; meta = with lib; { homepage = "https://github.com/xbmc/inputstream.rtmp/"; diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix index deca0d57d7c51..72af05fb8e1e0 100644 --- a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, fetchpatch, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + fetchpatch, + addonUpdateScript, +}: buildKodiAddon rec { pname = "inputstreamhelper"; namespace = "script.module.inputstreamhelper"; diff --git a/pkgs/applications/video/kodi/addons/invidious/default.nix b/pkgs/applications/video/kodi/addons/invidious/default.nix index ca688ddc0f2e8..d6a20068a6df1 100644 --- a/pkgs/applications/video/kodi/addons/invidious/default.nix +++ b/pkgs/applications/video/kodi/addons/invidious/default.nix @@ -1,4 +1,14 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, infotagger, requests, inputstream-adaptive, inputstreamhelper }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + infotagger, + requests, + inputstream-adaptive, + inputstreamhelper, +}: buildKodiAddon rec { pname = "invidious"; diff --git a/pkgs/applications/video/kodi/addons/jellycon/default.nix b/pkgs/applications/video/kodi/addons/jellycon/default.nix index 960a8603e3612..591202c162069 100644 --- a/pkgs/applications/video/kodi/addons/jellycon/default.nix +++ b/pkgs/applications/video/kodi/addons/jellycon/default.nix @@ -1,4 +1,16 @@ -{ lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals, websocket }: +{ + lib, + addonDir, + buildKodiAddon, + fetchFromGitHub, + kodi, + requests, + dateutil, + six, + kodi-six, + signals, + websocket, +}: let python = kodi.pythonPackages.python.withPackages (p: with p; [ pyyaml ]); in diff --git a/pkgs/applications/video/kodi/addons/joystick/default.nix b/pkgs/applications/video/kodi/addons/joystick/default.nix index 47dbb0f5dfc0d..073f7422ee331 100644 --- a/pkgs/applications/video/kodi/addons/joystick/default.nix +++ b/pkgs/applications/video/kodi/addons/joystick/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml, udev }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + tinyxml, + udev, +}: buildKodiBinaryAddon rec { pname = namespace; namespace = "peripheral.joystick"; @@ -11,7 +18,10 @@ buildKodiBinaryAddon rec { sha256 = "sha256-xJh9Rj+PcxrgGomEsKnQcO/yZDQCnG6gNBwfK2JGuNA="; }; - extraBuildInputs = [ tinyxml udev ]; + extraBuildInputs = [ + tinyxml + udev + ]; meta = with lib; { description = "Binary addon for raw joystick input"; diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix index 4254763d53611..abc3cd7c8095f 100644 --- a/pkgs/applications/video/kodi/addons/keymap/default.nix +++ b/pkgs/applications/video/kodi/addons/keymap/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, defusedxml, kodi-six }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + defusedxml, + kodi-six, +}: buildKodiAddon rec { pname = "keymap"; diff --git a/pkgs/applications/video/kodi/addons/kodi-platform/default.nix b/pkgs/applications/video/kodi/addons/kodi-platform/default.nix index 6d458f7377d72..caab2eb806b3a 100644 --- a/pkgs/applications/video/kodi/addons/kodi-platform/default.nix +++ b/pkgs/applications/video/kodi/addons/kodi-platform/default.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchFromGitHub, cmake, kodi, libcec_platform, tinyxml }: +{ + stdenv, + fetchFromGitHub, + cmake, + kodi, + libcec_platform, + tinyxml, +}: stdenv.mkDerivation rec { pname = "kodi-platform"; version = "17.1"; @@ -11,5 +18,9 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ kodi libcec_platform tinyxml ]; + buildInputs = [ + kodi + libcec_platform + tinyxml + ]; } diff --git a/pkgs/applications/video/kodi/addons/kodi-six/default.nix b/pkgs/applications/video/kodi/addons/kodi-six/default.nix index a9c7547aa3715..96f4252573432 100644 --- a/pkgs/applications/video/kodi/addons/kodi-six/default.nix +++ b/pkgs/applications/video/kodi/addons/kodi-six/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "kodi-six"; diff --git a/pkgs/applications/video/kodi/addons/libretro-2048/default.nix b/pkgs/applications/video/kodi/addons/libretro-2048/default.nix index 67644444d8912..866fdc3e6da26 100644 --- a/pkgs/applications/video/kodi/addons/libretro-2048/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro-2048/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, twenty-fortyeight }: +{ + lib, + buildKodiBinaryAddon, + fetchFromGitHub, + libretro, + twenty-fortyeight, +}: buildKodiBinaryAddon rec { pname = "libretro-2048"; diff --git a/pkgs/applications/video/kodi/addons/libretro-fuse/default.nix b/pkgs/applications/video/kodi/addons/libretro-fuse/default.nix index 776341b607969..0524dc485304f 100644 --- a/pkgs/applications/video/kodi/addons/libretro-fuse/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro-fuse/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, fuse }: +{ + lib, + buildKodiBinaryAddon, + fetchFromGitHub, + libretro, + fuse, +}: buildKodiBinaryAddon rec { pname = "libretro-fuse"; diff --git a/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix b/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix index 3d58ddd64303c..8bead49157ad9 100644 --- a/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, genesis-plus-gx }: +{ + lib, + buildKodiBinaryAddon, + fetchFromGitHub, + libretro, + genesis-plus-gx, +}: buildKodiBinaryAddon rec { pname = "kodi-libretro-genplus"; diff --git a/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix b/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix index 231c769fa7523..ecca37db0d2a1 100644 --- a/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, mgba }: +{ + lib, + buildKodiBinaryAddon, + fetchFromGitHub, + libretro, + mgba, +}: buildKodiBinaryAddon rec { pname = "kodi-libretro-mgba"; diff --git a/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix b/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix index 7c6eda2b00436..4a299720f0a07 100644 --- a/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, nestopia }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + libretro, + nestopia, +}: buildKodiBinaryAddon rec { pname = "libretro-nestopia"; diff --git a/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix b/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix index 7b52988e80cff..4e614b8bb6114 100644 --- a/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, snes9x }: +{ + lib, + buildKodiBinaryAddon, + fetchFromGitHub, + libretro, + snes9x, +}: buildKodiBinaryAddon rec { pname = "kodi-libretro-snes9x"; diff --git a/pkgs/applications/video/kodi/addons/libretro/default.nix b/pkgs/applications/video/kodi/addons/libretro/default.nix index 208f832d69443..f6ab8b81ed39d 100644 --- a/pkgs/applications/video/kodi/addons/libretro/default.nix +++ b/pkgs/applications/video/kodi/addons/libretro/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + tinyxml, +}: buildKodiBinaryAddon rec { pname = "libretro"; diff --git a/pkgs/applications/video/kodi/addons/mediacccde/default.nix b/pkgs/applications/video/kodi/addons/mediacccde/default.nix index a0d334633fe1d..b61c2f0f9841c 100644 --- a/pkgs/applications/video/kodi/addons/mediacccde/default.nix +++ b/pkgs/applications/video/kodi/addons/mediacccde/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, routing }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + requests, + routing, +}: buildKodiAddon rec { pname = "media.ccc.de"; diff --git a/pkgs/applications/video/kodi/addons/mediathekview/default.nix b/pkgs/applications/video/kodi/addons/mediathekview/default.nix index 890567d5d6d5f..dec6c0736e277 100644 --- a/pkgs/applications/video/kodi/addons/mediathekview/default.nix +++ b/pkgs/applications/video/kodi/addons/mediathekview/default.nix @@ -1,4 +1,9 @@ -{ lib, buildKodiAddon, fetchFromGitHub, myconnpy }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + myconnpy, +}: buildKodiAddon rec { pname = "mediathekview"; diff --git a/pkgs/applications/video/kodi/addons/myconnpy/default.nix b/pkgs/applications/video/kodi/addons/myconnpy/default.nix index a162e844ed55d..dd2b1dd857e1b 100644 --- a/pkgs/applications/video/kodi/addons/myconnpy/default.nix +++ b/pkgs/applications/video/kodi/addons/myconnpy/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "myconnpy"; namespace = "script.module.myconnpy"; diff --git a/pkgs/applications/video/kodi/addons/netflix/default.nix b/pkgs/applications/video/kodi/addons/netflix/default.nix index 3b3aa97d53432..f40dc45da27eb 100644 --- a/pkgs/applications/video/kodi/addons/netflix/default.nix +++ b/pkgs/applications/video/kodi/addons/netflix/default.nix @@ -1,4 +1,13 @@ -{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstream-adaptive, inputstreamhelper, requests, myconnpy }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + signals, + inputstream-adaptive, + inputstreamhelper, + requests, + myconnpy, +}: buildKodiAddon rec { pname = "netflix"; diff --git a/pkgs/applications/video/kodi/addons/orftvthek/default.nix b/pkgs/applications/video/kodi/addons/orftvthek/default.nix index 64b822c355107..f1e202f7ced0c 100644 --- a/pkgs/applications/video/kodi/addons/orftvthek/default.nix +++ b/pkgs/applications/video/kodi/addons/orftvthek/default.nix @@ -1,4 +1,11 @@ -{ lib, buildKodiAddon, fetchFromGitHub, inputstream-adaptive, inputstreamhelper, routing }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + inputstream-adaptive, + inputstreamhelper, + routing, +}: buildKodiAddon rec { pname = "orftvthek"; diff --git a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix index 7644a71d71bc9..0fddffde51f8a 100644 --- a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix +++ b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix @@ -1,4 +1,8 @@ -{ lib, buildKodiAddon, fetchFromGitHub }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, +}: buildKodiAddon rec { pname = "osmc-skin"; namespace = "skin.osmc"; diff --git a/pkgs/applications/video/kodi/addons/pdfreader/default.nix b/pkgs/applications/video/kodi/addons/pdfreader/default.nix index 60a08a9cfbeae..49783ffef23f9 100644 --- a/pkgs/applications/video/kodi/addons/pdfreader/default.nix +++ b/pkgs/applications/video/kodi/addons/pdfreader/default.nix @@ -1,4 +1,8 @@ -{ lib, buildKodiAddon, fetchFromGitHub }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, +}: buildKodiAddon rec { pname = "pdfreader"; namespace = "plugin.image.pdf"; diff --git a/pkgs/applications/video/kodi/addons/plugin-cache/default.nix b/pkgs/applications/video/kodi/addons/plugin-cache/default.nix index c21f5e136e41e..62a445df85138 100644 --- a/pkgs/applications/video/kodi/addons/plugin-cache/default.nix +++ b/pkgs/applications/video/kodi/addons/plugin-cache/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "plugin-cache"; diff --git a/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix index 4184126842ba0..64cce5cd061a6 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, jsoncpp, libhdhomerun }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + jsoncpp, + libhdhomerun, +}: buildKodiBinaryAddon rec { pname = "pvr-hdhomerun"; namespace = "pvr.hdhomerun"; @@ -11,7 +18,10 @@ buildKodiBinaryAddon rec { sha256 = "sha256-Hb8TcJxRUIKHbevAUgt5q6z26W3uX9NbVwYyvrLnf7U="; }; - extraBuildInputs = [ jsoncpp libhdhomerun ]; + extraBuildInputs = [ + jsoncpp + libhdhomerun + ]; meta = with lib; { homepage = "https://github.com/kodi-pvr/pvr.hdhomerun"; diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix index 50e12c09c1c8b..1fa72a866df61 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix @@ -1,4 +1,9 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, +}: buildKodiBinaryAddon rec { pname = "pvr-hts"; namespace = "pvr.hts"; diff --git a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix index b976c15371f2f..473b517456c1f 100644 --- a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix @@ -1,6 +1,14 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub -, xz, pugixml, zlib -, inputstream-adaptive, inputstream-ffmpegdirect, inputstream-rtmp +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + xz, + pugixml, + zlib, + inputstream-adaptive, + inputstream-ffmpegdirect, + inputstream-rtmp, }: buildKodiBinaryAddon rec { diff --git a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix index 85729e1290435..91a8095de7bca 100644 --- a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + libGL, +}: buildKodiBinaryAddon rec { pname = "pvr-vdr-vnsi"; namespace = "pvr.vdr.vnsi"; diff --git a/pkgs/applications/video/kodi/addons/radioparadise/default.nix b/pkgs/applications/video/kodi/addons/radioparadise/default.nix index 17f9c73b8e935..545cb8b8072b3 100644 --- a/pkgs/applications/video/kodi/addons/radioparadise/default.nix +++ b/pkgs/applications/video/kodi/addons/radioparadise/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + requests, +}: buildKodiAddon rec { pname = "radioparadise"; diff --git a/pkgs/applications/video/kodi/addons/raiplay/default.nix b/pkgs/applications/video/kodi/addons/raiplay/default.nix index ab5bcfedccfdb..084bc4e596e37 100644 --- a/pkgs/applications/video/kodi/addons/raiplay/default.nix +++ b/pkgs/applications/video/kodi/addons/raiplay/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, inputstreamhelper, plugin-cache }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + inputstreamhelper, + plugin-cache, +}: buildKodiAddon rec { pname = "raiplay"; diff --git a/pkgs/applications/video/kodi/addons/requests-cache/default.nix b/pkgs/applications/video/kodi/addons/requests-cache/default.nix index 3a71019d9ccbd..b809576e9ffc3 100644 --- a/pkgs/applications/video/kodi/addons/requests-cache/default.nix +++ b/pkgs/applications/video/kodi/addons/requests-cache/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + requests, +}: buildKodiAddon rec { pname = "requests-cache"; namespace = "script.module.requests-cache"; diff --git a/pkgs/applications/video/kodi/addons/requests/default.nix b/pkgs/applications/video/kodi/addons/requests/default.nix index 4950d63608eb3..258e1791a3481 100644 --- a/pkgs/applications/video/kodi/addons/requests/default.nix +++ b/pkgs/applications/video/kodi/addons/requests/default.nix @@ -1,4 +1,14 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + certifi, + chardet, + idna, + urllib3, +}: buildKodiAddon rec { pname = "requests"; namespace = "script.module.requests"; diff --git a/pkgs/applications/video/kodi/addons/routing/default.nix b/pkgs/applications/video/kodi/addons/routing/default.nix index 211b87242363e..08131bf4f8911 100644 --- a/pkgs/applications/video/kodi/addons/routing/default.nix +++ b/pkgs/applications/video/kodi/addons/routing/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "routing"; namespace = "script.module.routing"; diff --git a/pkgs/applications/video/kodi/addons/sendtokodi/default.nix b/pkgs/applications/video/kodi/addons/sendtokodi/default.nix index 792f585673dd0..dba58914feb19 100644 --- a/pkgs/applications/video/kodi/addons/sendtokodi/default.nix +++ b/pkgs/applications/video/kodi/addons/sendtokodi/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiAddon, fetchFromGitHub, kodi, inputstreamhelper }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + kodi, + inputstreamhelper, +}: buildKodiAddon rec { pname = "sendtokodi"; diff --git a/pkgs/applications/video/kodi/addons/signals/default.nix b/pkgs/applications/video/kodi/addons/signals/default.nix index 9f7496f3c4ca8..8016c67366fe7 100644 --- a/pkgs/applications/video/kodi/addons/signals/default.nix +++ b/pkgs/applications/video/kodi/addons/signals/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "signals"; namespace = "script.module.addon.signals"; @@ -9,7 +15,7 @@ buildKodiAddon rec { sha256 = "sha256-WsLR7iUh5F+LXMISBpWx71dLAtg/AMYF6BsiyKZakuE="; }; - passthru= { + passthru = { pythonPath = "lib"; updateScript = addonUpdateScript { attrPath = "kodi.packages.signals"; diff --git a/pkgs/applications/video/kodi/addons/simplecache/default.nix b/pkgs/applications/video/kodi/addons/simplecache/default.nix index 35c2cc5a1a336..05f5da9f98483 100644 --- a/pkgs/applications/video/kodi/addons/simplecache/default.nix +++ b/pkgs/applications/video/kodi/addons/simplecache/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "simplecache"; diff --git a/pkgs/applications/video/kodi/addons/simplejson/default.nix b/pkgs/applications/video/kodi/addons/simplejson/default.nix index 2889e38e960f1..e54716d41257d 100644 --- a/pkgs/applications/video/kodi/addons/simplejson/default.nix +++ b/pkgs/applications/video/kodi/addons/simplejson/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "simplejson"; diff --git a/pkgs/applications/video/kodi/addons/six/default.nix b/pkgs/applications/video/kodi/addons/six/default.nix index 80bbefe39a113..0f07ec3cae79a 100644 --- a/pkgs/applications/video/kodi/addons/six/default.nix +++ b/pkgs/applications/video/kodi/addons/six/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "six"; diff --git a/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix b/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix index c791391578c70..f2cad94df53bb 100644 --- a/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix +++ b/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix @@ -1,4 +1,13 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstreamhelper, simplecache }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + requests, + inputstreamhelper, + simplecache, +}: buildKodiAddon rec { pname = "skyvideoitalia"; diff --git a/pkgs/applications/video/kodi/addons/somafm/default.nix b/pkgs/applications/video/kodi/addons/somafm/default.nix index e2d5ca38bf443..88a0a205eb376 100644 --- a/pkgs/applications/video/kodi/addons/somafm/default.nix +++ b/pkgs/applications/video/kodi/addons/somafm/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "somafm"; diff --git a/pkgs/applications/video/kodi/addons/sponsorblock/default.nix b/pkgs/applications/video/kodi/addons/sponsorblock/default.nix index a0c0b04ec82e3..fb9e9cdd6e6fa 100644 --- a/pkgs/applications/video/kodi/addons/sponsorblock/default.nix +++ b/pkgs/applications/video/kodi/addons/sponsorblock/default.nix @@ -1,4 +1,10 @@ -{ lib, buildKodiAddon, fetchFromGitHub, six, requests }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + six, + requests, +}: buildKodiAddon rec { pname = "sponsorblock"; namespace = "script.service.sponsorblock"; diff --git a/pkgs/applications/video/kodi/addons/steam-controller/default.nix b/pkgs/applications/video/kodi/addons/steam-controller/default.nix index 387f096686587..7d1c94fbc8434 100644 --- a/pkgs/applications/video/kodi/addons/steam-controller/default.nix +++ b/pkgs/applications/video/kodi/addons/steam-controller/default.nix @@ -1,4 +1,9 @@ -{ lib, buildKodiBinaryAddon, fetchFromGitHub, libusb1 }: +{ + lib, + buildKodiBinaryAddon, + fetchFromGitHub, + libusb1, +}: buildKodiBinaryAddon rec { pname = namespace; namespace = "peripheral.steamcontroller"; diff --git a/pkgs/applications/video/kodi/addons/steam-launcher/default.nix b/pkgs/applications/video/kodi/addons/steam-launcher/default.nix index ef6b866e7e337..678e2757d6fa6 100644 --- a/pkgs/applications/video/kodi/addons/steam-launcher/default.nix +++ b/pkgs/applications/video/kodi/addons/steam-launcher/default.nix @@ -1,4 +1,13 @@ -{ lib, buildKodiAddon, fetchFromGitHub, steam, which, xdotool, dos2unix, wmctrl }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + steam, + which, + xdotool, + dos2unix, + wmctrl, +}: buildKodiAddon { pname = "steam-launcher"; namespace = "script.steam.launcher"; @@ -11,7 +20,11 @@ buildKodiAddon { sha256 = "sha256-arBMMOoHQuHRcJ7eXD1jvA45Svei7c0srcBZkdAzqY0="; }; - propagatedBuildInputs = [ steam which xdotool ]; + propagatedBuildInputs = [ + steam + which + xdotool + ]; postInstall = '' substituteInPlace $out/share/kodi/addons/script.steam.launcher/resources/main.py \ diff --git a/pkgs/applications/video/kodi/addons/steam-library/default.nix b/pkgs/applications/video/kodi/addons/steam-library/default.nix index cf1ad1d8653dd..e4434813c37c8 100644 --- a/pkgs/applications/video/kodi/addons/steam-library/default.nix +++ b/pkgs/applications/video/kodi/addons/steam-library/default.nix @@ -1,4 +1,11 @@ -{ lib, buildKodiAddon, fetchFromGitHub, requests, requests-cache, routing }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + requests, + requests-cache, + routing, +}: buildKodiAddon rec { pname = "steam-library"; diff --git a/pkgs/applications/video/kodi/addons/svtplay/default.nix b/pkgs/applications/video/kodi/addons/svtplay/default.nix index 8c12ac47ca3fc..c301234682a4e 100644 --- a/pkgs/applications/video/kodi/addons/svtplay/default.nix +++ b/pkgs/applications/video/kodi/addons/svtplay/default.nix @@ -1,4 +1,8 @@ -{ lib, buildKodiAddon, fetchFromGitHub }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, +}: buildKodiAddon rec { pname = "svtplay"; namespace = "plugin.video.svtplay"; diff --git a/pkgs/applications/video/kodi/addons/trakt-module/default.nix b/pkgs/applications/video/kodi/addons/trakt-module/default.nix index 37816f89e3630..45456d182d18e 100644 --- a/pkgs/applications/video/kodi/addons/trakt-module/default.nix +++ b/pkgs/applications/video/kodi/addons/trakt-module/default.nix @@ -1,4 +1,13 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + requests, + six, + arrow, +}: buildKodiAddon rec { pname = "trakt-module"; namespace = "script.module.trakt"; diff --git a/pkgs/applications/video/kodi/addons/trakt/default.nix b/pkgs/applications/video/kodi/addons/trakt/default.nix index bf360072becc4..11ac06c60d566 100644 --- a/pkgs/applications/video/kodi/addons/trakt/default.nix +++ b/pkgs/applications/video/kodi/addons/trakt/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + trakt-module, + dateutil, +}: buildKodiAddon rec { pname = "trakt"; namespace = "script.trakt"; diff --git a/pkgs/applications/video/kodi/addons/typing_extensions/default.nix b/pkgs/applications/video/kodi/addons/typing_extensions/default.nix index d2fc31c99bcd2..af7f94a82aec4 100644 --- a/pkgs/applications/video/kodi/addons/typing_extensions/default.nix +++ b/pkgs/applications/video/kodi/addons/typing_extensions/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "typing_extensions"; namespace = "script.module.typing_extensions"; diff --git a/pkgs/applications/video/kodi/addons/upnext/default.nix b/pkgs/applications/video/kodi/addons/upnext/default.nix index dccfce4c3f0f6..051cd4788f1e6 100644 --- a/pkgs/applications/video/kodi/addons/upnext/default.nix +++ b/pkgs/applications/video/kodi/addons/upnext/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "upnext"; diff --git a/pkgs/applications/video/kodi/addons/urllib3/default.nix b/pkgs/applications/video/kodi/addons/urllib3/default.nix index 9cfc54797e875..72ee3d7fd29b8 100644 --- a/pkgs/applications/video/kodi/addons/urllib3/default.nix +++ b/pkgs/applications/video/kodi/addons/urllib3/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, +}: buildKodiAddon rec { pname = "urllib3"; diff --git a/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix b/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix index 674495f9d8486..752908d159ca1 100644 --- a/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix +++ b/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix @@ -1,4 +1,16 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libarchive, xz, bzip2, zlib, lz4, lzo, openssl }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + libarchive, + xz, + bzip2, + zlib, + lz4, + lzo, + openssl, +}: buildKodiBinaryAddon rec { pname = namespace; namespace = "vfs.libarchive"; @@ -11,7 +23,15 @@ buildKodiBinaryAddon rec { sha256 = "sha256-D0eLH+G+qF5xLBBX/FdJC+gKNQpqSb7LjRmi/99rPNg="; }; - extraBuildInputs = [ libarchive xz bzip2 zlib lz4 lzo openssl ]; + extraBuildInputs = [ + libarchive + xz + bzip2 + zlib + lz4 + lzo + openssl + ]; meta = with lib; { description = "LibArchive Virtual Filesystem add-on for Kodi"; diff --git a/pkgs/applications/video/kodi/addons/vfs-rar/default.nix b/pkgs/applications/video/kodi/addons/vfs-rar/default.nix index 259295be7ca79..298abe38e57f1 100644 --- a/pkgs/applications/video/kodi/addons/vfs-rar/default.nix +++ b/pkgs/applications/video/kodi/addons/vfs-rar/default.nix @@ -1,4 +1,10 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + tinyxml, +}: buildKodiBinaryAddon rec { pname = namespace; namespace = "vfs.rar"; diff --git a/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix b/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix index b8e2213fec3a7..5314cf606c436 100644 --- a/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix +++ b/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, libssh, zlib }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + openssl, + libssh, + zlib, +}: buildKodiBinaryAddon rec { pname = namespace; namespace = "vfs.sftp"; @@ -11,7 +19,11 @@ buildKodiBinaryAddon rec { sha256 = "sha256-Dv/C8PHaSx13JoGp77rQPtp5G5EH5tqKqzjwZZA7+80="; }; - extraBuildInputs = [ openssl libssh zlib ]; + extraBuildInputs = [ + openssl + libssh + zlib + ]; meta = with lib; { description = "SFTP Virtual Filesystem add-on for Kodi"; diff --git a/pkgs/applications/video/kodi/addons/visualization-fishbmc/default.nix b/pkgs/applications/video/kodi/addons/visualization-fishbmc/default.nix index adb37bf770f64..7a54d749e3fe5 100644 --- a/pkgs/applications/video/kodi/addons/visualization-fishbmc/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-fishbmc/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-fishbmc"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-MgeSIKAy0N2NMGsU/15tKtDb34CROjcMaKjGyySl9Z0="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-goom/default.nix b/pkgs/applications/video/kodi/addons/visualization-goom/default.nix index 34eb4c65606ac..da5ee17c0ee50 100644 --- a/pkgs/applications/video/kodi/addons/visualization-goom/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-goom/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-goom"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-TxXqJQdPT1+3DwAJv0F2Hfksh+ZV4QjfOnp4/k53GpQ="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-matrix/default.nix b/pkgs/applications/video/kodi/addons/visualization-matrix/default.nix index 0839982ebb66a..2839edcec7990 100644 --- a/pkgs/applications/video/kodi/addons/visualization-matrix/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-matrix/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-matrix"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-tojzPqt6VMccveqnhkl0yXS+/fLdxotmQO3jdtYlkFk="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-pictureit/default.nix b/pkgs/applications/video/kodi/addons/visualization-pictureit/default.nix index 121850542a911..df53b1e5489de 100644 --- a/pkgs/applications/video/kodi/addons/visualization-pictureit/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-pictureit/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-pictureit"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-mQDPjpsxStU01H2XJKnX183KAHG+O1CH8JOmApMmwMc="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-shadertoy/default.nix b/pkgs/applications/video/kodi/addons/visualization-shadertoy/default.nix index 2b0b1b5b6eee5..399674ee40fa7 100644 --- a/pkgs/applications/video/kodi/addons/visualization-shadertoy/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-shadertoy/default.nix @@ -1,4 +1,13 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL, jsoncpp }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, + jsoncpp, +}: buildKodiBinaryAddon rec { pname = "visualization-shadertoy"; @@ -12,7 +21,11 @@ buildKodiBinaryAddon rec { hash = "sha256-PaHbEcB4gCC8gUzc7T49msI8f0xa2iXqSaYW/eqD8yw="; }; - extraBuildInputs = [ pkg-config libGL jsoncpp ]; + extraBuildInputs = [ + pkg-config + libGL + jsoncpp + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-spectrum/default.nix b/pkgs/applications/video/kodi/addons/visualization-spectrum/default.nix index e4d44dd12bede..19f9c2f0e6bdb 100644 --- a/pkgs/applications/video/kodi/addons/visualization-spectrum/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-spectrum/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-spectrum"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-rl6eydHv0g646H7478UQboVp/OrKExQYJOiaVDeDRhE="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-starburst/default.nix b/pkgs/applications/video/kodi/addons/visualization-starburst/default.nix index 5774c707397e6..027f16f8e4249 100644 --- a/pkgs/applications/video/kodi/addons/visualization-starburst/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-starburst/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-starburst"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-FTGyQqzRywKjywtckkP56Fc8KwF07A8WUAe0LackxSM="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/visualization-waveform/default.nix b/pkgs/applications/video/kodi/addons/visualization-waveform/default.nix index 20acfad234ac3..ccb3735425ae0 100644 --- a/pkgs/applications/video/kodi/addons/visualization-waveform/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-waveform/default.nix @@ -1,4 +1,12 @@ -{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }: +{ + lib, + rel, + buildKodiBinaryAddon, + fetchFromGitHub, + pkg-config, + glm, + libGL, +}: buildKodiBinaryAddon rec { pname = "visualization-waveform"; @@ -12,7 +20,10 @@ buildKodiBinaryAddon rec { hash = "sha256-e1SIpMmfnS92X4f114MKch4o9Ke80aIzw6OQPrEb8d0="; }; - extraBuildInputs = [ pkg-config libGL ]; + extraBuildInputs = [ + pkg-config + libGL + ]; propagatedBuildInputs = [ glm ]; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/websocket/default.nix b/pkgs/applications/video/kodi/addons/websocket/default.nix index 544f86a8bbbd9..d8a4cd381a219 100644 --- a/pkgs/applications/video/kodi/addons/websocket/default.nix +++ b/pkgs/applications/video/kodi/addons/websocket/default.nix @@ -1,4 +1,11 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six }: +{ + lib, + rel, + buildKodiAddon, + fetchzip, + addonUpdateScript, + six, +}: buildKodiAddon rec { pname = "websocket"; diff --git a/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix b/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix index 7d435521f06ca..bb9e68130c7ad 100644 --- a/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix +++ b/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix @@ -1,4 +1,8 @@ -{ lib, buildKodiAddon, fetchFromGitHub }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, +}: buildKodiAddon rec { pname = "xbmcswift2"; diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix index f9e37e80d509c..0da50ae480e87 100644 --- a/pkgs/applications/video/kodi/addons/youtube/default.nix +++ b/pkgs/applications/video/kodi/addons/youtube/default.nix @@ -1,4 +1,11 @@ -{ lib, buildKodiAddon, fetchFromGitHub, requests, inputstream-adaptive, inputstreamhelper }: +{ + lib, + buildKodiAddon, + fetchFromGitHub, + requests, + inputstream-adaptive, + inputstreamhelper, +}: buildKodiAddon rec { pname = "youtube"; diff --git a/pkgs/applications/video/kodi/build-kodi-addon.nix b/pkgs/applications/video/kodi/build-kodi-addon.nix index 8f9c05d8fa12e..5fd1a1769f742 100644 --- a/pkgs/applications/video/kodi/build-kodi-addon.nix +++ b/pkgs/applications/video/kodi/build-kodi-addon.nix @@ -1,25 +1,36 @@ -{ stdenv, toKodiAddon, addonDir }: -{ name ? "${attrs.pname}-${attrs.version}" -, namespace -, sourceDir ? "" -, ... } @ attrs: -toKodiAddon (stdenv.mkDerivation ({ - name = "kodi-" + name; +{ + stdenv, + toKodiAddon, + addonDir, +}: +{ + name ? "${attrs.pname}-${attrs.version}", + namespace, + sourceDir ? "", + ... +}@attrs: +toKodiAddon ( + stdenv.mkDerivation ( + { + name = "kodi-" + name; - dontStrip = true; + dontStrip = true; - extraRuntimeDependencies = [ ]; + extraRuntimeDependencies = [ ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - cd ./$sourceDir - d=$out${addonDir}/${namespace} - mkdir -p $d - sauce="." - [ -d ${namespace} ] && sauce=${namespace} - cp -R "$sauce/"* $d + cd ./$sourceDir + d=$out${addonDir}/${namespace} + mkdir -p $d + sauce="." + [ -d ${namespace} ] && sauce=${namespace} + cp -R "$sauce/"* $d - runHook postInstall - ''; -} // attrs)) + runHook postInstall + ''; + } + // attrs + ) +) diff --git a/pkgs/applications/video/kodi/build-kodi-binary-addon.nix b/pkgs/applications/video/kodi/build-kodi-binary-addon.nix index d1eb38cd0bd4c..7fbd0f8c3d076 100644 --- a/pkgs/applications/video/kodi/build-kodi-binary-addon.nix +++ b/pkgs/applications/video/kodi/build-kodi-binary-addon.nix @@ -1,40 +1,64 @@ -{ stdenv, toKodiAddon, addonDir, cmake, kodi, kodi-platform, libcec_platform }: -{ name ? "${attrs.pname}-${attrs.version}" -, namespace -, version -, extraNativeBuildInputs ? [] -, extraBuildInputs ? [] -, extraRuntimeDependencies ? [] -, extraCMakeFlags ? [] -, extraInstallPhase ? "", ... } @ attrs: -toKodiAddon (stdenv.mkDerivation ({ - name = "kodi-" + name; - - dontStrip = true; - - nativeBuildInputs = [ cmake ] ++ extraNativeBuildInputs; - buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs; - - inherit extraRuntimeDependencies; - - # disables check ensuring install prefix is that of kodi - cmakeFlags = [ - "-DOVERRIDE_PATHS=1" - ] ++ extraCMakeFlags; - - # kodi checks for addon .so libs existance in the addon folder (share/...) - # and the non-wrapped kodi lib/... folder before even trying to dlopen - # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use - installPhase = let n = namespace; in '' - runHook preInstall - - make install - - [[ -f $out/lib/addons/${n}/${n}.so ]] && ln -s $out/lib/addons/${n}/${n}.so $out${addonDir}/${n}/${n}.so || true - [[ -f $out/lib/addons/${n}/${n}.so.${version} ]] && ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version} || true - - ${extraInstallPhase} - - runHook postInstall - ''; -} // attrs)) +{ + stdenv, + toKodiAddon, + addonDir, + cmake, + kodi, + kodi-platform, + libcec_platform, +}: +{ + name ? "${attrs.pname}-${attrs.version}", + namespace, + version, + extraNativeBuildInputs ? [ ], + extraBuildInputs ? [ ], + extraRuntimeDependencies ? [ ], + extraCMakeFlags ? [ ], + extraInstallPhase ? "", + ... +}@attrs: +toKodiAddon ( + stdenv.mkDerivation ( + { + name = "kodi-" + name; + + dontStrip = true; + + nativeBuildInputs = [ cmake ] ++ extraNativeBuildInputs; + buildInputs = [ + kodi + kodi-platform + libcec_platform + ] ++ extraBuildInputs; + + inherit extraRuntimeDependencies; + + # disables check ensuring install prefix is that of kodi + cmakeFlags = [ + "-DOVERRIDE_PATHS=1" + ] ++ extraCMakeFlags; + + # kodi checks for addon .so libs existance in the addon folder (share/...) + # and the non-wrapped kodi lib/... folder before even trying to dlopen + # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use + installPhase = + let + n = namespace; + in + '' + runHook preInstall + + make install + + [[ -f $out/lib/addons/${n}/${n}.so ]] && ln -s $out/lib/addons/${n}/${n}.so $out${addonDir}/${n}/${n}.so || true + [[ -f $out/lib/addons/${n}/${n}.so.${version} ]] && ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version} || true + + ${extraInstallPhase} + + runHook postInstall + ''; + } + // attrs + ) +) diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix index b028558a61da7..2c74fde9572e2 100644 --- a/pkgs/applications/video/kodi/default.nix +++ b/pkgs/applications/video/kodi/default.nix @@ -1,18 +1,21 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: let unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]); in - unwrapped.overrideAttrs (oldAttrs: { - passthru = - let - finalKodi = oldAttrs.passthru.kodi; - kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = finalKodi; }; - in - oldAttrs.passthru // { - packages = kodiPackages; - withPackages = func: callPackage ./wrapper.nix { - kodi = finalKodi; - addons = kodiPackages.requiredKodiAddons (func kodiPackages); - }; +unwrapped.overrideAttrs (oldAttrs: { + passthru = + let + finalKodi = oldAttrs.passthru.kodi; + kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = finalKodi; }; + in + oldAttrs.passthru + // { + packages = kodiPackages; + withPackages = + func: + callPackage ./wrapper.nix { + kodi = finalKodi; + addons = kodiPackages.requiredKodiAddons (func kodiPackages); }; - }) + }; +}) diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index 52b7679a325ea..7e7d36a7ba69c 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -1,10 +1,22 @@ -{ lib, makeWrapper, buildEnv, kodi, addons, callPackage }: +{ + lib, + makeWrapper, + buildEnv, + kodi, + addons, + callPackage, +}: let kodiPackages = callPackage ../../../top-level/kodi-packages.nix { inherit kodi; }; # linux distros are supposed to provide pillow and pycryptodome - requiredPythonPath = with kodi.pythonPackages; makePythonPath ([ pillow pycryptodome ]); + requiredPythonPath = + with kodi.pythonPackages; + makePythonPath ([ + pillow + pycryptodome + ]); # each kodi addon can potentially export a python module which should be included in PYTHONPATH # see any addon which supplies `passthru.pythonPath` and the corresponding entry in the addons `addon.xml` @@ -13,7 +25,9 @@ let let addonsWithPythonPath = lib.filter (addon: addon ? pythonPath) addons; in - lib.concatMapStringsSep ":" (addon: "${addon}${kodiPackages.addonDir}/${addon.namespace}/${addon.pythonPath}") addonsWithPythonPath; + lib.concatMapStringsSep ":" ( + addon: "${addon}${kodiPackages.addonDir}/${addon.namespace}/${addon.pythonPath}" + ) addonsWithPythonPath; in buildEnv { @@ -31,9 +45,9 @@ buildEnv { makeWrapper ${kodi}/bin/$exe $out/bin/$exe \ --prefix PYTHONPATH : ${requiredPythonPath}:${additionalPythonPath} \ --prefix KODI_HOME : $out/share/kodi \ - --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath - (lib.concatMap - (plugin: plugin.extraRuntimeDependencies or []) addons)}" + --prefix LD_LIBRARY_PATH ":" "${ + lib.makeLibraryPath (lib.concatMap (plugin: plugin.extraRuntimeDependencies or [ ]) addons) + }" done ''; } diff --git a/pkgs/applications/video/mapmap/default.nix b/pkgs/applications/video/mapmap/default.nix index 66e670d053433..0147a07b45ec9 100644 --- a/pkgs/applications/video/mapmap/default.nix +++ b/pkgs/applications/video/mapmap/default.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, qttools -, qtmultimedia -, liblo -, gst_all_1 -, qmake -, pkg-config -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qttools, + qtmultimedia, + liblo, + gst_all_1, + qmake, + pkg-config, + wrapQtAppsHook, }: with stdenv; diff --git a/pkgs/applications/video/memento/default.nix b/pkgs/applications/video/memento/default.nix index 1f6981215d39b..e5c5bc8de5dec 100644 --- a/pkgs/applications/video/memento/default.nix +++ b/pkgs/applications/video/memento/default.nix @@ -1,19 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qt6 -, wrapQtAppsHook - -# before that => zeal -, sqlite -, json_c -, mecab -, libzip -, mpv -, yt-dlp -# optional -, makeWrapper}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt6, + wrapQtAppsHook, + + # before that => zeal + sqlite, + json_c, + mecab, + libzip, + mpv, + yt-dlp, + # optional + makeWrapper, +}: stdenv.mkDerivation (finalAttrs: { pname = "memento"; version = "1.4.1"; @@ -44,8 +46,8 @@ stdenv.mkDerivation (finalAttrs: { propagatedBuildInputs = [ mpv ]; preFixup = '' - wrapProgram "$out/bin/memento" \ - --prefix PATH : "${yt-dlp}/bin" \ + wrapProgram "$out/bin/memento" \ + --prefix PATH : "${yt-dlp}/bin" \ ''; meta = with lib; { @@ -57,4 +59,3 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "memento"; }; }) - diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix index 0f290f01459c8..66dc8891988e5 100644 --- a/pkgs/applications/video/minitube/default.nix +++ b/pkgs/applications/video/minitube/default.nix @@ -1,8 +1,19 @@ -{ mkDerivation, lib, fetchFromGitHub, phonon, phonon-backend-vlc, qtbase, qmake -, qtdeclarative, qttools, qtx11extras, mpv +{ + mkDerivation, + lib, + fetchFromGitHub, + phonon, + phonon-backend-vlc, + qtbase, + qmake, + qtdeclarative, + qttools, + qtx11extras, + mpv, -# "Free" key generated by pasqui23 -, withAPIKey ? "AIzaSyBQvZXseEVvgu5Ega_DI-AIJ55v0OsHmVY" }: + # "Free" key generated by pasqui23 + withAPIKey ? "AIzaSyBQvZXseEVvgu5Ega_DI-AIJ55v0OsHmVY", +}: mkDerivation rec { pname = "minitube"; @@ -22,9 +33,19 @@ mkDerivation rec { ./lib_media_src_mpv_mpvwidget.patch ]; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; - buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qtx11extras mpv ]; + buildInputs = [ + phonon + phonon-backend-vlc + qtbase + qtdeclarative + qtx11extras + mpv + ]; qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ]; diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index a180694e98db9..3577d62b0ce1c 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -1,51 +1,56 @@ -{ lib -, stdenv -, fetchFromGitLab -, pkg-config -, autoreconfHook -, rake -, boost -, cmark -, docbook_xsl -, expat -, fetchpatch2 -, file -, flac -, fmt -, gettext -, gmp -, gtest -, libdvdread -, libebml -, libiconv -, libmatroska -, libogg -, libvorbis -, libxslt -, nlohmann_json -, pugixml -, qtbase -, qtmultimedia -, qtwayland -, utf8cpp -, xdg-utils -, zlib -, withGUI ? true -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + autoreconfHook, + rake, + boost, + cmark, + docbook_xsl, + expat, + fetchpatch2, + file, + flac, + fmt, + gettext, + gmp, + gtest, + libdvdread, + libebml, + libiconv, + libmatroska, + libogg, + libvorbis, + libxslt, + nlohmann_json, + pugixml, + qtbase, + qtmultimedia, + qtwayland, + utf8cpp, + xdg-utils, + zlib, + withGUI ? true, + wrapQtAppsHook, }: let inherit (lib) - enableFeature getDev getLib optionals optionalString; + enableFeature + getDev + getLib + optionals + optionalString + ; - phase = name: args: - '' - runHook pre${name} + phase = name: args: '' + runHook pre${name} - rake ${args} + rake ${args} - runHook post${name} - ''; + runHook post${name} + ''; in stdenv.mkDerivation rec { @@ -74,32 +79,32 @@ stdenv.mkDerivation rec { libxslt pkg-config rake - ] - ++ optionals withGUI [ wrapQtAppsHook ]; + ] ++ optionals withGUI [ wrapQtAppsHook ]; # qtbase and qtmultimedia are needed without the GUI - buildInputs = [ - boost - expat - file - flac - fmt - gmp - libdvdread - libebml - libmatroska - libogg - libvorbis - nlohmann_json - pugixml - qtbase - qtmultimedia - utf8cpp - xdg-utils - zlib - ] - ++ optionals withGUI [ cmark ] - ++ optionals stdenv.hostPlatform.isLinux [ qtwayland ]; + buildInputs = + [ + boost + expat + file + flac + fmt + gmp + libdvdread + libebml + libmatroska + libogg + libvorbis + nlohmann_json + pugixml + qtbase + qtmultimedia + utf8cpp + xdg-utils + zlib + ] + ++ optionals withGUI [ cmark ] + ++ optionals stdenv.hostPlatform.isLinux [ qtwayland ]; # autoupdate is not needed but it silences a ton of pointless warnings postPatch = '' @@ -141,7 +146,10 @@ stdenv.mkDerivation rec { homepage = "https://mkvtoolnix.download/"; license = licenses.gpl2Only; mainProgram = if withGUI then "mkvtoolnix-gui" else "mkvtoolnix"; - maintainers = with maintainers; [ codyopel rnhmjoj ]; + maintainers = with maintainers; [ + codyopel + rnhmjoj + ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index c4f0f984518e4..d008e08f3d2bc 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, mkDerivation -, qmake -, qtbase -, qtmultimedia -, stdenv +{ + fetchFromGitHub, + lib, + mkDerivation, + qmake, + qtbase, + qtmultimedia, + stdenv, }: mkDerivation rec { diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix index c3f6981503c8f..70d3a4c200736 100644 --- a/pkgs/applications/video/mpc-qt/default.nix +++ b/pkgs/applications/video/mpc-qt/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, qmake -, qttools -, qtbase -, mpv -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + qmake, + qttools, + qtbase, + mpv, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix index a9f2abb3552d9..f84c8e5c18eff 100644 --- a/pkgs/applications/video/mplayer/default.nix +++ b/pkgs/applications/video/mplayer/default.nix @@ -1,33 +1,72 @@ -{ config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg -, aalibSupport ? true, aalib -, fontconfigSupport ? true, fontconfig, freefont_ttf -, fribidiSupport ? true, fribidi -, x11Support ? true, libX11, libXext, libGLU, libGL -, xineramaSupport ? true, libXinerama -, xvSupport ? true, libXv -, alsaSupport ? stdenv.hostPlatform.isLinux, alsa-lib -, screenSaverSupport ? true, libXScrnSaver -, vdpauSupport ? false, libvdpau -, cddaSupport ? !stdenv.hostPlatform.isDarwin, cdparanoia -, dvdnavSupport ? !stdenv.hostPlatform.isDarwin, libdvdnav -, dvdreadSupport ? true, libdvdread -, bluraySupport ? true, libbluray -, amrSupport ? false, amrnb, amrwb -, cacaSupport ? true, libcaca -, lameSupport ? true, lame -, speexSupport ? true, speex -, theoraSupport ? true, libtheora -, x264Support ? false, x264 -, jackaudioSupport ? false, libjack2 -, pulseSupport ? config.pulseaudio or false, libpulseaudio -, bs2bSupport ? false, libbs2b -, v4lSupport ? false, libv4l -# For screenshots -, libpngSupport ? true, libpng -, libjpegSupport ? true, libjpeg -, useUnfreeCodecs ? false -, darwin -, buildPackages +{ + config, + lib, + stdenv, + fetchurl, + fetchsvn, + pkg-config, + freetype, + yasm, + ffmpeg, + aalibSupport ? true, + aalib, + fontconfigSupport ? true, + fontconfig, + freefont_ttf, + fribidiSupport ? true, + fribidi, + x11Support ? true, + libX11, + libXext, + libGLU, + libGL, + xineramaSupport ? true, + libXinerama, + xvSupport ? true, + libXv, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + screenSaverSupport ? true, + libXScrnSaver, + vdpauSupport ? false, + libvdpau, + cddaSupport ? !stdenv.hostPlatform.isDarwin, + cdparanoia, + dvdnavSupport ? !stdenv.hostPlatform.isDarwin, + libdvdnav, + dvdreadSupport ? true, + libdvdread, + bluraySupport ? true, + libbluray, + amrSupport ? false, + amrnb, + amrwb, + cacaSupport ? true, + libcaca, + lameSupport ? true, + lame, + speexSupport ? true, + speex, + theoraSupport ? true, + libtheora, + x264Support ? false, + x264, + jackaudioSupport ? false, + libjack2, + pulseSupport ? config.pulseaudio or false, + libpulseaudio, + bs2bSupport ? false, + libbs2b, + v4lSupport ? false, + libv4l, + # For screenshots + libpngSupport ? true, + libpng, + libjpegSupport ? true, + libjpeg, + useUnfreeCodecs ? false, + darwin, + buildPackages, }: assert xineramaSupport -> x11Support; @@ -40,29 +79,40 @@ let dir = "http://www.mplayerhq.hu/MPlayer/releases/codecs/"; version = "20071007"; in - if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - url = "${dir}/essential-${version}.tar.bz2"; - sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic"; - } else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "${dir}/essential-amd64-${version}.tar.bz2"; - sha256 = "13xf5b92w1ra5hw00ck151lypbmnylrnznq9hhb0sj36z5wz290x"; - } else if stdenv.hostPlatform.system == "powerpc-linux" then fetchurl { - url = "${dir}/essential-ppc-${version}.tar.bz2"; - sha256 = "18mlj8dp4wnz42xbhdk1jlz2ygra6fbln9wyrcyvynxh96g1871z"; - } else null; - - codecs = if codecs_src != null then stdenv.mkDerivation { - pname = "MPlayer-codecs-essential"; - - src = codecs_src; - - installPhase = '' - mkdir $out - cp -prv * $out - ''; - - meta.license = lib.licenses.unfree; - } else null; + if stdenv.hostPlatform.system == "i686-linux" then + fetchurl { + url = "${dir}/essential-${version}.tar.bz2"; + sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic"; + } + else if stdenv.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "${dir}/essential-amd64-${version}.tar.bz2"; + sha256 = "13xf5b92w1ra5hw00ck151lypbmnylrnznq9hhb0sj36z5wz290x"; + } + else if stdenv.hostPlatform.system == "powerpc-linux" then + fetchurl { + url = "${dir}/essential-ppc-${version}.tar.bz2"; + sha256 = "18mlj8dp4wnz42xbhdk1jlz2ygra6fbln9wyrcyvynxh96g1871z"; + } + else + null; + + codecs = + if codecs_src != null then + stdenv.mkDerivation { + pname = "MPlayer-codecs-essential"; + + src = codecs_src; + + installPhase = '' + mkdir $out + cp -prv * $out + ''; + + meta.license = lib.licenses.unfree; + } + else + null; crossBuild = stdenv.hostPlatform != stdenv.buildPlatform; @@ -85,12 +135,24 @@ stdenv.mkDerivation rec { ''; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config yasm ]; - buildInputs = [ freetype ffmpeg ] + nativeBuildInputs = [ + pkg-config + yasm + ]; + buildInputs = + [ + freetype + ffmpeg + ] ++ lib.optional aalibSupport aalib ++ lib.optional fontconfigSupport fontconfig ++ lib.optional fribidiSupport fribidi - ++ lib.optionals x11Support [ libX11 libXext libGLU libGL ] + ++ lib.optionals x11Support [ + libX11 + libXext + libGLU + libGL + ] ++ lib.optional alsaSupport alsa-lib ++ lib.optional xvSupport libXv ++ lib.optional theoraSupport libtheora @@ -101,7 +163,10 @@ stdenv.mkDerivation rec { ++ lib.optional bluraySupport libbluray ++ lib.optional cddaSupport cdparanoia ++ lib.optional jackaudioSupport libjack2 - ++ lib.optionals amrSupport [ amrnb amrwb ] + ++ lib.optionals amrSupport [ + amrnb + amrwb + ] ++ lib.optional x264Support x264 ++ lib.optional pulseSupport libpulseaudio ++ lib.optional screenSaverSupport libXScrnSaver @@ -112,48 +177,57 @@ stdenv.mkDerivation rec { ++ lib.optional libjpegSupport libjpeg ++ lib.optional bs2bSupport libbs2b ++ lib.optional v4lSupport libv4l - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa darwin.apple_sdk.frameworks.OpenGL ] - ; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + darwin.apple_sdk.frameworks.OpenGL + ]; configurePlatforms = [ ]; - configureFlags = [ - "--enable-freetype" - (if fontconfigSupport then "--enable-fontconfig" else "--disable-fontconfig") - (if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl") - (if xineramaSupport then "--enable-xinerama" else "--disable-xinerama") - (if xvSupport then "--enable-xv" else "--disable-xv") - (if alsaSupport then "--enable-alsa" else "--disable-alsa") - (if screenSaverSupport then "--enable-xss" else "--disable-xss") - (if vdpauSupport then "--enable-vdpau" else "--disable-vdpau") - (if cddaSupport then "--enable-cdparanoia" else "--disable-cdparanoia") - (if dvdnavSupport then "--enable-dvdnav" else "--disable-dvdnav") - (if bluraySupport then "--enable-bluray" else "--disable-bluray") - (if amrSupport then "--enable-libopencore_amrnb" else "--disable-libopencore_amrnb") - (if cacaSupport then "--enable-caca" else "--disable-caca") - (if lameSupport then "--enable-mp3lame --disable-mp3lame-lavc" else "--disable-mp3lame --enable-mp3lame-lavc") - (if speexSupport then "--enable-speex" else "--disable-speex") - (if theoraSupport then "--enable-theora" else "--disable-theora") - (if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc") - (if jackaudioSupport then "" else "--disable-jack") - (if pulseSupport then "--enable-pulse" else "--disable-pulse") - (if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2") - "--disable-xanim" - "--disable-xvid --disable-xvid-lavc" - "--disable-ossaudio" - "--disable-ffmpeg_a" - "--yasm=${buildPackages.yasm}/bin/yasm" - # Note, the `target` vs `host` confusion is intentional. - "--target=${stdenv.hostPlatform.config}" - ] ++ lib.optional (useUnfreeCodecs && codecs != null && !crossBuild) "--codecsdir=${codecs}" + configureFlags = + [ + "--enable-freetype" + (if fontconfigSupport then "--enable-fontconfig" else "--disable-fontconfig") + (if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl") + (if xineramaSupport then "--enable-xinerama" else "--disable-xinerama") + (if xvSupport then "--enable-xv" else "--disable-xv") + (if alsaSupport then "--enable-alsa" else "--disable-alsa") + (if screenSaverSupport then "--enable-xss" else "--disable-xss") + (if vdpauSupport then "--enable-vdpau" else "--disable-vdpau") + (if cddaSupport then "--enable-cdparanoia" else "--disable-cdparanoia") + (if dvdnavSupport then "--enable-dvdnav" else "--disable-dvdnav") + (if bluraySupport then "--enable-bluray" else "--disable-bluray") + (if amrSupport then "--enable-libopencore_amrnb" else "--disable-libopencore_amrnb") + (if cacaSupport then "--enable-caca" else "--disable-caca") + ( + if lameSupport then + "--enable-mp3lame --disable-mp3lame-lavc" + else + "--disable-mp3lame --enable-mp3lame-lavc" + ) + (if speexSupport then "--enable-speex" else "--disable-speex") + (if theoraSupport then "--enable-theora" else "--disable-theora") + (if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc") + (if jackaudioSupport then "" else "--disable-jack") + (if pulseSupport then "--enable-pulse" else "--disable-pulse") + (if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2") + "--disable-xanim" + "--disable-xvid --disable-xvid-lavc" + "--disable-ossaudio" + "--disable-ffmpeg_a" + "--yasm=${buildPackages.yasm}/bin/yasm" + # Note, the `target` vs `host` confusion is intentional. + "--target=${stdenv.hostPlatform.config}" + ] + ++ lib.optional (useUnfreeCodecs && codecs != null && !crossBuild) "--codecsdir=${codecs}" ++ lib.optional (stdenv.hostPlatform.isx86 && !crossBuild) "--enable-runtime-cpudetection" ++ lib.optional fribidiSupport "--enable-fribidi" ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch64) "--enable-vidix" ++ lib.optional stdenv.hostPlatform.isLinux "--enable-fbdev" ++ lib.optionals (crossBuild) [ - "--enable-cross-compile" - "--disable-vidix-pcidb" - "--with-vidix-drivers=no" - ]; + "--enable-cross-compile" + "--disable-vidix-pcidb" + "--with-vidix-drivers=no" + ]; preConfigure = '' configureFlagsArray+=( @@ -175,10 +249,13 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion -Wno-incompatible-function-pointer-types"; NIX_LDFLAGS = toString ( - lib.optional fontconfigSupport "-lfontconfig" - ++ lib.optional fribidiSupport "-lfribidi" - ++ lib.optionals x11Support [ "-lX11" "-lXext" ] - ++ lib.optional x264Support "-lx264" + lib.optional fontconfigSupport "-lfontconfig" + ++ lib.optional fribidiSupport "-lfribidi" + ++ lib.optionals x11Support [ + "-lX11" + "-lXext" + ] + ++ lib.optional x264Support "-lx264" ++ [ "-lfreetype" ] ); @@ -187,20 +264,25 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # Provide a reasonable standard font when not using fontconfig. Maybe we should symlink here. - postInstall = lib.optionalString (!fontconfigSupport) - '' - mkdir -p $out/share/mplayer - cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf - if test -f $out/share/applications/mplayer.desktop ; then - echo "NoDisplay=True" >> $out/share/applications/mplayer.desktop - fi - ''; + postInstall = lib.optionalString (!fontconfigSupport) '' + mkdir -p $out/share/mplayer + cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf + if test -f $out/share/applications/mplayer.desktop ; then + echo "NoDisplay=True" >> $out/share/applications/mplayer.desktop + fi + ''; meta = with lib; { description = "Movie player that supports many video formats"; homepage = "http://mplayerhq.hu"; license = licenses.gpl2Only; maintainers = [ ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; }; } diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/applications/video/mpv/scripts/buildLua.nix index 2e25ee55b28a0..6d6831c1621bb 100644 --- a/pkgs/applications/video/mpv/scripts/buildLua.nix +++ b/pkgs/applications/video/mpv/scripts/buildLua.nix @@ -67,9 +67,9 @@ lib.makeOverridable ( cp -a "${scriptPath}" "${scriptsDir}/${scriptName}" else install -m644 -Dt "${scriptsDir}" ${escaped scriptPath} - ${ - lib.optionalString (extraScripts != [ ]) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}'' - } + ${lib.optionalString ( + extraScripts != [ ] + ) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}''} fi runHook postInstall diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix index 8104921aadbdb..54fa65890b03a 100644 --- a/pkgs/applications/video/mpv/wrapper.nix +++ b/pkgs/applications/video/mpv/wrapper.nix @@ -1,70 +1,101 @@ # Arguments that this derivation gets when it is created with `callPackage` -{ stdenv -, buildEnv -, lib -, makeWrapper -, mpvScripts -, symlinkJoin -, writeTextDir -, yt-dlp +{ + stdenv, + buildEnv, + lib, + makeWrapper, + mpvScripts, + symlinkJoin, + writeTextDir, + yt-dlp, # the unwrapped mpv derivation }: let # arguments to the function (exposed as `mpv-unwrapped.wrapper` in top-level) - wrapper = { - mpv, - extraMakeWrapperArgs ? [], - youtubeSupport ? true, - # a set of derivations (probably from `mpvScripts`) where each is expected - # to have a `scriptName` passthru attribute that points to the name of the - # script that would reside in the script's derivation's - # `$out/share/mpv/scripts/`. - # - # A script can optionally also provide `passthru.extraWrapperArgs` - # attribute. - scripts ? [], - extraUmpvWrapperArgs ? [] - }: - let - binPath = lib.makeBinPath ([ - mpv.luaEnv - ] ++ lib.optionals youtubeSupport [ - yt-dlp - ] ++ lib.optionals mpv.vapoursynthSupport [ - mpv.vapoursynth.python3 - ]); - # All arguments besides the input and output binaries (${mpv}/bin/mpv and - # $out/bin/mpv). These are used by the darwin specific makeWrapper call - # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. - mostMakeWrapperArgs = lib.strings.escapeShellArgs ([ "--inherit-argv0" - # These are always needed (TODO: Explain why) - "--prefix" "LUA_CPATH" ";" "${mpv.luaEnv}/lib/lua/${mpv.lua.luaversion}/?.so" - "--prefix" "LUA_PATH" ";" "${mpv.luaEnv}/share/lua/${mpv.lua.luaversion}/?.lua" - ] ++ lib.optionals mpv.vapoursynthSupport [ - "--prefix" "PYTHONPATH" ":" "${mpv.vapoursynth}/${mpv.vapoursynth.python3.sitePackages}" - ] ++ lib.optionals (binPath != "") [ - "--prefix" "PATH" ":" binPath - ] ++ (lib.lists.flatten (map - # For every script in the `scripts` argument, add the necessary flags to the wrapper - (script: + wrapper = + { + mpv, + extraMakeWrapperArgs ? [ ], + youtubeSupport ? true, + # a set of derivations (probably from `mpvScripts`) where each is expected + # to have a `scriptName` passthru attribute that points to the name of the + # script that would reside in the script's derivation's + # `$out/share/mpv/scripts/`. + # + # A script can optionally also provide `passthru.extraWrapperArgs` + # attribute. + scripts ? [ ], + extraUmpvWrapperArgs ? [ ], + }: + let + binPath = lib.makeBinPath ( [ - "--add-flags" - # Here we rely on the existence of the `scriptName` passthru - # attribute of the script derivation from the `scripts` - "--script=${script}/share/mpv/scripts/${script.scriptName}" + mpv.luaEnv ] - # scripts can also set the `extraWrapperArgs` passthru - ++ (script.extraWrapperArgs or []) - ) scripts - )) ++ extraMakeWrapperArgs) - ; - umpvWrapperArgs = lib.strings.escapeShellArgs ([ - "--inherit-argv0" - "--set" "MPV" "${placeholder "out"}/bin/mpv" - ] ++ extraUmpvWrapperArgs) - ; - in + ++ lib.optionals youtubeSupport [ + yt-dlp + ] + ++ lib.optionals mpv.vapoursynthSupport [ + mpv.vapoursynth.python3 + ] + ); + # All arguments besides the input and output binaries (${mpv}/bin/mpv and + # $out/bin/mpv). These are used by the darwin specific makeWrapper call + # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. + mostMakeWrapperArgs = lib.strings.escapeShellArgs ( + [ + "--inherit-argv0" + # These are always needed (TODO: Explain why) + "--prefix" + "LUA_CPATH" + ";" + "${mpv.luaEnv}/lib/lua/${mpv.lua.luaversion}/?.so" + "--prefix" + "LUA_PATH" + ";" + "${mpv.luaEnv}/share/lua/${mpv.lua.luaversion}/?.lua" + ] + ++ lib.optionals mpv.vapoursynthSupport [ + "--prefix" + "PYTHONPATH" + ":" + "${mpv.vapoursynth}/${mpv.vapoursynth.python3.sitePackages}" + ] + ++ lib.optionals (binPath != "") [ + "--prefix" + "PATH" + ":" + binPath + ] + ++ (lib.lists.flatten ( + map + # For every script in the `scripts` argument, add the necessary flags to the wrapper + ( + script: + [ + "--add-flags" + # Here we rely on the existence of the `scriptName` passthru + # attribute of the script derivation from the `scripts` + "--script=${script}/share/mpv/scripts/${script.scriptName}" + ] + # scripts can also set the `extraWrapperArgs` passthru + ++ (script.extraWrapperArgs or [ ]) + ) + scripts + )) + ++ extraMakeWrapperArgs + ); + umpvWrapperArgs = lib.strings.escapeShellArgs ( + [ + "--inherit-argv0" + "--set" + "MPV" + "${placeholder "out"}/bin/mpv" + ] + ++ extraUmpvWrapperArgs + ); + in symlinkJoin { name = "mpv-with-scripts-${mpv.version}"; @@ -81,30 +112,39 @@ let # filters "override" "overrideDerivation" "recurseForDerivations" (lib.filterAttrs (key: script: lib.isDerivation script)) # replaces unfree and meta.broken scripts with decent placeholders - (lib.mapAttrsToList (key: script: - if (builtins.tryEval script.outPath).success - then script - else writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}" + (lib.mapAttrsToList ( + key: script: + if (builtins.tryEval script.outPath).success then + script + else + writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}" )) ]; }; - postBuild = '' - # wrapProgram can't operate on symlinks - rm "$out/bin/mpv" - makeWrapper "${mpv}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} - rm "$out/bin/umpv" - makeWrapper "${mpv}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # wrapProgram can't operate on symlinks - rm "$out/Applications/mpv.app/Contents/MacOS/mpv" - makeWrapper "${mpv}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} - ''; + postBuild = + '' + # wrapProgram can't operate on symlinks + rm "$out/bin/mpv" + makeWrapper "${mpv}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} + rm "$out/bin/umpv" + makeWrapper "${mpv}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # wrapProgram can't operate on symlinks + rm "$out/Applications/mpv.app/Contents/MacOS/mpv" + makeWrapper "${mpv}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} + ''; meta = { - inherit (mpv.meta) homepage description longDescription maintainers; + inherit (mpv.meta) + homepage + description + longDescription + maintainers + ; mainProgram = "mpv"; }; }; in - lib.makeOverridable wrapper +lib.makeOverridable wrapper diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix index ce3ae604e7d1f..f8a56225ad093 100644 --- a/pkgs/applications/video/mythtv/default.nix +++ b/pkgs/applications/video/mythtv/default.nix @@ -1,9 +1,44 @@ -{ lib, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript -, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsa-lib, freetype -, perl, pkg-config , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm -, libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders -, soundtouch, libzip, libhdhomerun -, withWebKit ? false +{ + lib, + mkDerivation, + fetchFromGitHub, + which, + qtbase, + qtwebkit, + qtscript, + libpulseaudio, + fftwSinglePrec, + lame, + zlib, + libGLU, + libGL, + alsa-lib, + freetype, + perl, + pkg-config, + libsamplerate, + libbluray, + lzo, + libX11, + libXv, + libXrandr, + libXvMC, + libXinerama, + libXxf86vm, + libXmu, + yasm, + libuuid, + taglib, + libtool, + autoconf, + automake, + file, + exiv2, + linuxHeaders, + soundtouch, + libzip, + libhdhomerun, + withWebKit ? false, }: mkDerivation rec { @@ -25,15 +60,46 @@ mkDerivation rec { setSourceRoot = "sourceRoot=$(echo */mythtv)"; buildInputs = [ - freetype qtbase qtscript lame zlib libGLU libGL - perl libsamplerate libbluray lzo alsa-lib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC - libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 soundtouch libzip + freetype + qtbase + qtscript + lame + zlib + libGLU + libGL + perl + libsamplerate + libbluray + lzo + alsa-lib + libpulseaudio + fftwSinglePrec + libX11 + libXv + libXrandr + libXvMC + libXmu + libXinerama + libXxf86vm + libXmu + libuuid + taglib + exiv2 + soundtouch + libzip libhdhomerun ] ++ lib.optional withWebKit qtwebkit; - nativeBuildInputs = [ pkg-config which yasm libtool autoconf automake file ]; + nativeBuildInputs = [ + pkg-config + which + yasm + libtool + autoconf + automake + file + ]; - configureFlags = - [ "--dvb-path=${linuxHeaders}/include" ]; + configureFlags = [ "--dvb-path=${linuxHeaders}/include" ]; enableParallelBuilding = true; diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix index e02aa4af610df..6d11f5aa5f7eb 100644 --- a/pkgs/applications/video/natron/default.nix +++ b/pkgs/applications/video/natron/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, wrapQtAppsHook -, boost -, cairo -, ceres-solver -, expat -, extra-cmake-modules -, glog -, libXdmcp -, python3 -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + wrapQtAppsHook, + boost, + cairo, + ceres-solver, + expat, + extra-cmake-modules, + glog, + libXdmcp, + python3, + wayland, }: let @@ -44,13 +45,13 @@ stdenv.mkDerivation { (fetchpatch { name = "gcc-13.patch"; url = "https://github.com/NatronGitHub/Natron/commit/4b44fb18293035873b35c3a2d2aa29da78cb8740.patch"; - includes = ["Global/GlobalDefines.h"]; + includes = [ "Global/GlobalDefines.h" ]; hash = "sha256-9E1tJCvO7zA1iQAhrlL3GaBFIGpkjxNOr31behQXdhQ="; }) (fetchpatch { name = "gcc-13.patch"; url = "https://github.com/NatronGitHub/Natron/commit/f21f58622e32c1684567c82e2ab361f33030bda7.patch"; - includes = ["Engine/Noise.cpp"]; + includes = [ "Engine/Noise.cpp" ]; hash = "sha256-t2mzTsRuXVs8d1BB/5uAY1OPxWRa3JTK1iAWLAMsrgs="; }) ]; @@ -84,7 +85,12 @@ stdenv.mkDerivation { postFixup = '' wrapProgram $out/bin/Natron \ - --prefix PYTHONPATH : "${python3.pkgs.makePythonPath [ python3.pkgs.qtpy python3.pkgs.pyside2 ]}" \ + --prefix PYTHONPATH : "${ + python3.pkgs.makePythonPath [ + python3.pkgs.qtpy + python3.pkgs.pyside2 + ] + }" \ --set-default OCIO "$out/share/OpenColorIO-Configs/blender/config.ocio" ''; diff --git a/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix b/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix index a1cf5f2e7eef0..c6f704d08d766 100644 --- a/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, obs-studio -, ffmpeg -, libjpeg -, libimobiledevice -, libusbmuxd -, libplist +{ + lib, + stdenv, + fetchFromGitHub, + obs-studio, + ffmpeg, + libjpeg, + libimobiledevice, + libusbmuxd, + libplist, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix b/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix index b581dc4402227..c9fbda2b4e355 100644 --- a/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix +++ b/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, cmake, libbfd, SDL2, obs-studio -, looking-glass-client }: +{ + lib, + stdenv, + cmake, + libbfd, + SDL2, + obs-studio, + looking-glass-client, +}: stdenv.mkDerivation { pname = "looking-glass-obs"; @@ -10,7 +17,11 @@ stdenv.mkDerivation { sourceRoot = "${looking-glass-client.src.name}/obs"; nativeBuildInputs = [ cmake ]; - buildInputs = [ obs-studio libbfd SDL2 ]; + buildInputs = [ + obs-studio + libbfd + SDL2 + ]; env.NIX_CFLAGS_COMPILE = "-mavx"; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix index 638d0785f4c80..408e2bb709cc3 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, obs-studio -, onnxruntime -, opencv -, qt6 -, curl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + obs-studio, + onnxruntime, + opencv, + qt6, + curl, }: stdenv.mkDerivation rec { @@ -21,8 +22,17 @@ stdenv.mkDerivation rec { hash = "sha256-QoC9/HkwOXMoFNvcOxQkGCLLAJmsja801LKCNT9O9T0="; }; - nativeBuildInputs = [ cmake ninja ]; - buildInputs = [ obs-studio onnxruntime opencv qt6.qtbase curl ]; + nativeBuildInputs = [ + cmake + ninja + ]; + buildInputs = [ + obs-studio + onnxruntime + opencv + qt6.qtbase + curl + ]; dontWrapQtApps = true; @@ -35,8 +45,8 @@ stdenv.mkDerivation rec { ]; buildPhase = '' - cd .. - cmake --build build_x86_64 --parallel + cd .. + cmake --build build_x86_64 --parallel ''; installPhase = '' diff --git a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix index 8a0f9adcca067..56236261483a5 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -31,6 +32,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/norihiro/command-source"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix b/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix index 16b4b2c34fbf6..c5799c37924eb 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, obs-studio -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + obs-studio, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix index 0bec9181e19c8..1cc6d312ec381 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, obs-studio -, qtbase +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + obs-studio, + qtbase, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ obs-studio qtbase ]; + buildInputs = [ + obs-studio + qtbase + ]; postInstall = '' rm -rf "$out/share" diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix index 13255c2898c2d..23a3c3e41d42f 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -32,6 +33,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/exeldro/obs-gradient-source"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix index 6fcd7744fe3df..d7cb122e8354e 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, obs-studio, libGL -, qtbase, flatbuffers }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + obs-studio, + libGL, + qtbase, + flatbuffers, +}: stdenv.mkDerivation rec { pname = "obs-hyperion"; @@ -12,8 +21,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-UAfjafoZhhhHRSo+eUBLhHaCmn2GYFcYyRb9wHIp/9I="; }; - nativeBuildInputs = [ cmake flatbuffers pkg-config ]; - buildInputs = [ obs-studio flatbuffers libGL qtbase ]; + nativeBuildInputs = [ + cmake + flatbuffers + pkg-config + ]; + buildInputs = [ + obs-studio + flatbuffers + libGL + qtbase + ]; dontWrapQtApps = true; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-livesplit-one/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-livesplit-one/default.nix index 33f953c4e2a6e..5a24ceaa334ac 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-livesplit-one/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-livesplit-one/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, cmake -, fontconfig -, obs-studio -, pkg-config +{ + lib, + fetchFromGitHub, + rustPlatform, + cmake, + fontconfig, + obs-studio, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -25,8 +26,14 @@ rustPlatform.buildRustPackage rec { }; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fontconfig obs-studio ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + fontconfig + obs-studio + ]; postInstall = '' mkdir $out/lib/obs-plugins/ @@ -36,7 +43,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "OBS Studio plugin for adding LiveSplit One as a source"; homepage = "https://github.com/LiveSplit/obs-livesplit-one"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = [ maintainers.Bauke ]; platforms = obs-studio.meta.platforms; }; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix index e7a09a69a5eeb..bdedeeed9c787 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -28,6 +29,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/exeldro/obs-move-transition"; maintainers = with maintainers; [ starcraft66 ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix index c2e718b233ab1..b16e35f531516 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, obs-studio, cmake, qtbase, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + obs-studio, + cmake, + qtbase, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "obs-multi-rtmp"; @@ -21,7 +29,10 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ obs-studio qtbase ]; + buildInputs = [ + obs-studio + qtbase + ]; cmakeFlags = [ (lib.cmakeBool "ENABLE_QT" true) @@ -45,6 +56,9 @@ stdenv.mkDerivation rec { description = "Multi-site simultaneous broadcast plugin for OBS Studio"; license = licenses.gpl2Only; maintainers = with maintainers; [ jk ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix index fd683f3a4ccf7..b235ca6fb20b7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -31,6 +32,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/norihiro/obs-mute-filter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix b/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix index 41b74807e4afc..cd3b410096cfa 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix @@ -1,5 +1,13 @@ -{ stdenv, lib, fetchFromGitLab, meson, ninja, pkg-config -, obs-studio, libGL, libX11 +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + obs-studio, + libGL, + libX11, }: stdenv.mkDerivation rec { @@ -13,8 +21,16 @@ stdenv.mkDerivation rec { hash = "sha256-AJ3K0O1vrixskn+/Tpg7LsgRO8N4sgDo1Y6gg3CwGVo="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; - buildInputs = [ obs-studio libGL libX11 ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; + buildInputs = [ + obs-studio + libGL + libX11 + ]; meta = with lib; { description = "OBS Studio source plugin for NVIDIA FBC API"; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-replay-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-replay-source.nix index 42682dd146142..8d5edcc38c493 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-replay-source.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-replay-source.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, libcaption -, obs-studio -, qtbase +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libcaption, + obs-studio, + qtbase, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,11 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libcaption obs-studio qtbase ]; + buildInputs = [ + libcaption + obs-studio + qtbase + ]; postInstall = '' mkdir -p "$out/lib" "$out/share" diff --git a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix index aff227211e4d7..f51d7963089a2 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -28,6 +29,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/wimpysworld/obs-rgb-levels-filter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-scale-to-sound.nix b/pkgs/applications/video/obs-studio/plugins/obs-scale-to-sound.nix index 5716439655d43..3b3f9c6e82201 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-scale-to-sound.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-scale-to-sound.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -35,6 +36,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/dimtpap/obs-scale-to-sound"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix index b76b6e9d7f2b7..aacff57a8b5f4 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio -, qtbase +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, + qtbase, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ obs-studio qtbase ]; + buildInputs = [ + obs-studio + qtbase + ]; cmakeFlags = [ "-DBUILD_OUT_OF_TREE=On" @@ -36,6 +40,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/exeldro/obs-shaderfilter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix b/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix index bc27eca43d03f..605e7e50dd7de 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation { diff --git a/pkgs/applications/video/obs-studio/plugins/obs-source-switcher.nix b/pkgs/applications/video/obs-studio/plugins/obs-source-switcher.nix index b336ddf912039..268d3f5395ad2 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-source-switcher.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-source-switcher.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -32,6 +33,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/exeldro/obs-source-switcher"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix b/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix index 8ce601f08ea50..8a6e77b51f875 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, cairo -, obs-studio -, pango -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + cairo, + obs-studio, + pango, + pkg-config, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-zrgxKs3jmrwQJiEgKfZz1BOVToTLauQXtFYcuFlV71o="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ cairo obs-studio pango ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + cairo + obs-studio + pango + ]; postInstall = '' mkdir $out/lib $out/share @@ -34,6 +42,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/norihiro/obs-text-pthread"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix b/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix index ed8aadb52ae7b..06c46413287b3 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio -, qtbase +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, + qtbase, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ obs-studio qtbase ]; + buildInputs = [ + obs-studio + qtbase + ]; cmakeFlags = [ "-DBUILD_OUT_OF_TREE=On" @@ -35,6 +39,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/exeldro/obs-transition-table"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vaapi/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-vaapi/default.nix index 59be77c454de8..31241c74f1193 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-vaapi/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-vaapi/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, gst_all_1 -, pciutils -, pkg-config -, meson -, ninja -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + gst_all_1, + pciutils, + pkg-config, + meson, + ninja, + obs-studio, }: stdenv.mkDerivation rec { @@ -20,8 +21,17 @@ stdenv.mkDerivation rec { hash = "sha256-ykiLsHL3hoe0ibxMxp4zrqeSeQfgnJfNg7Yb5i9HDJQ="; }; - nativeBuildInputs = [ pkg-config meson ninja ]; - buildInputs = with gst_all_1; [ gstreamer gst-plugins-base obs-studio pciutils ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; + buildInputs = with gst_all_1; [ + gstreamer + gst-plugins-base + obs-studio + pciutils + ]; # - We need "getLib" instead of default derivation, otherwise it brings gstreamer-bin; # - without gst-plugins-base it won't even show proper errors in logs; @@ -30,9 +40,11 @@ stdenv.mkDerivation rec { # Tip: "could not link appsrc to videoconvert1" can mean a lot of things, enable GST_DEBUG=2 for help. passthru.obsWrapperArguments = let - gstreamerHook = package: "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${lib.getLib package}/lib/gstreamer-1.0"; + gstreamerHook = + package: "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${lib.getLib package}/lib/gstreamer-1.0"; in - with gst_all_1; builtins.map gstreamerHook [ + with gst_all_1; + builtins.map gstreamerHook [ gstreamer gst-plugins-base gst-plugins-bad @@ -49,8 +61,14 @@ stdenv.mkDerivation rec { description = "OBS Studio VAAPI support via GStreamer"; homepage = "https://github.com/fzwoch/obs-vaapi"; changelog = "https://github.com/fzwoch/obs-vaapi/releases/tag/${version}"; - maintainers = with maintainers; [ ahuzik pedrohlc ]; + maintainers = with maintainers; [ + ahuzik + pedrohlc + ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix index 9c3278a3c34ed..9a8967d67df82 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, obs-studio +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + obs-studio, }: stdenv.mkDerivation rec { @@ -31,6 +32,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/cg2121/obs-vintage-filter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix index f3384ed2ab21b..141bf70c2a2d7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, ninja -, wayland -, wayland-scanner -, obs-studio -, libffi -, libX11 -, libXau -, libXdmcp -, libxcb -, vulkan-headers -, vulkan-loader -, libGL -, obs-vkcapture32 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + ninja, + wayland, + wayland-scanner, + obs-studio, + libffi, + libX11, + libXau, + libXdmcp, + libxcb, + vulkan-headers, + vulkan-loader, + libGL, + obs-vkcapture32, }: stdenv.mkDerivation (finalAttrs: { @@ -35,21 +36,27 @@ stdenv.mkDerivation (finalAttrs: { "-DBUILD_PLUGIN=OFF" ]; - nativeBuildInputs = [ cmake ninja pkg-config wayland-scanner ]; - buildInputs = [ - libGL - libffi - libX11 - libXau - libXdmcp - libxcb - vulkan-headers - vulkan-loader - wayland - ] - ++ lib.optionals (!stdenv.hostPlatform.isi686) [ - obs-studio + nativeBuildInputs = [ + cmake + ninja + pkg-config + wayland-scanner ]; + buildInputs = + [ + libGL + libffi + libX11 + libXau + libXdmcp + libxcb + vulkan-headers + vulkan-loader + wayland + ] + ++ lib.optionals (!stdenv.hostPlatform.isi686) [ + obs-studio + ]; postPatch = '' substituteInPlace src/glinject.c \ @@ -78,7 +85,10 @@ stdenv.mkDerivation (finalAttrs: { description = "OBS Linux Vulkan/OpenGL game capture"; homepage = "https://github.com/nowrep/obs-vkcapture"; changelog = "https://github.com/nowrep/obs-vkcapture/releases/tag/v${finalAttrs.version}"; - maintainers = with maintainers; [ atila pedrohlc ]; + maintainers = with maintainers; [ + atila + pedrohlc + ]; license = licenses.gpl2Only; platforms = platforms.linux; }; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix b/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix index 51fcb7468b03e..48daa0a25676d 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-webkitgtk.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, obs-studio -, webkitgtk_4_0 -, glib-networking -, meson -, cmake -, pkg-config -, ninja -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + obs-studio, + webkitgtk_4_0, + glib-networking, + meson, + cmake, + pkg-config, + ninja, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix index a9bdff2e30c78..a3198dba06d61 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, asio -, obs-studio -, qtbase -, websocketpp +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + asio, + obs-studio, + qtbase, + websocketpp, }: stdenv.mkDerivation rec { @@ -20,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ asio obs-studio qtbase websocketpp ]; + buildInputs = [ + asio + obs-studio + qtbase + websocketpp + ]; dontWrapQtApps = true; @@ -36,6 +42,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/obsproject/obs-websocket"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/waveform/default.nix b/pkgs/applications/video/obs-studio/plugins/waveform/default.nix index 8f0cb4077cc5a..1c432de77d5e2 100644 --- a/pkgs/applications/video/obs-studio/plugins/waveform/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/waveform/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, obs-studio -, pkg-config -, fftwFloat +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + obs-studio, + pkg-config, + fftwFloat, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { hash = "sha256-Bg1n1yV4JzNFEXFNayNa1exsSZhmRJ0RLHDjLWmqGZE="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; postFixup = '' mkdir -p $out/lib $out/share/obs/obs-plugins @@ -38,6 +42,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/phandasm/waveform"; maintainers = with lib.maintainers; [ matthewcroughan ]; license = lib.licenses.gpl3; - platforms = ["x86_64-linux"]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix index d6017a649362b..37950307d9e86 100644 --- a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix +++ b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromSourcehut -, meson, pkg-config, ninja -, wayland, obs-studio, libX11 +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + pkg-config, + ninja, + wayland, + obs-studio, + libX11, }: stdenv.mkDerivation { @@ -11,12 +18,20 @@ stdenv.mkDerivation { vc = "hg"; owner = "~scoopta"; repo = "wlrobs"; - rev = "f72d5cb3cbbd3983ae6cfd86cb1940be7372681c"; + rev = "f72d5cb3cbbd3983ae6cfd86cb1940be7372681c"; hash = "sha256-hiM0d38SSUqbyisP3fAtKRLBDjVKZdU2U1xyXci7yNk="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; - buildInputs = [ wayland obs-studio libX11 ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; + buildInputs = [ + wayland + obs-studio + libX11 + ]; meta = with lib; { description = "Obs-studio plugin that allows you to screen capture on wlroots based wayland compositors"; diff --git a/pkgs/applications/video/obs-studio/wrapper.nix b/pkgs/applications/video/obs-studio/wrapper.nix index 0c972fc58d371..c093d64cf6c34 100644 --- a/pkgs/applications/video/obs-studio/wrapper.nix +++ b/pkgs/applications/video/obs-studio/wrapper.nix @@ -1,6 +1,13 @@ -{ lib, obs-studio, symlinkJoin, makeWrapper }: +{ + lib, + obs-studio, + symlinkJoin, + makeWrapper, +}: -{ plugins ? [] }: +{ + plugins ? [ ], +}: symlinkJoin { name = "wrapped-${obs-studio.name}"; @@ -11,8 +18,7 @@ symlinkJoin { postBuild = let # Some plugins needs extra environment, see obs-gstreamer for an example. - pluginArguments = - lib.lists.concatMap (plugin: plugin.obsWrapperArguments or []) plugins; + pluginArguments = lib.lists.concatMap (plugin: plugin.obsWrapperArguments or [ ]) plugins; pluginsJoined = symlinkJoin { name = "obs-studio-plugins"; @@ -20,19 +26,20 @@ symlinkJoin { }; wrapCommandLine = [ - "wrapProgram" - "$out/bin/obs" - ''--set OBS_PLUGINS_PATH "${pluginsJoined}/lib/obs-plugins"'' - ''--set OBS_PLUGINS_DATA_PATH "${pluginsJoined}/share/obs/obs-plugins"'' - ] ++ lib.lists.unique pluginArguments; - in '' - ${lib.concatStringsSep " " wrapCommandLine} - - # Remove unused obs-plugins dir to not cause confusion - rm -r $out/share/obs/obs-plugins - # Leave some breadcrumbs - echo 'Plugins are at ${pluginsJoined}/share/obs/obs-plugins' > $out/share/obs/obs-plugins-README - ''; + "wrapProgram" + "$out/bin/obs" + ''--set OBS_PLUGINS_PATH "${pluginsJoined}/lib/obs-plugins"'' + ''--set OBS_PLUGINS_DATA_PATH "${pluginsJoined}/share/obs/obs-plugins"'' + ] ++ lib.lists.unique pluginArguments; + in + '' + ${lib.concatStringsSep " " wrapCommandLine} + + # Remove unused obs-plugins dir to not cause confusion + rm -r $out/share/obs/obs-plugins + # Leave some breadcrumbs + echo 'Plugins are at ${pluginsJoined}/share/obs/obs-plugins' > $out/share/obs/obs-plugins-README + ''; inherit (obs-studio) meta; passthru = obs-studio.passthru // { diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix index c033c19143683..b0c39aa7b3b58 100644 --- a/pkgs/applications/video/olive-editor/default.nix +++ b/pkgs/applications/video/olive-editor/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, pkg-config -, which -, frei0r -, opencolorio -, ffmpeg_6 -, CoreFoundation -, cmake -, wrapQtAppsHook -, openimageio -, openexr_3 -, portaudio -, imath -, qtwayland -, qtmultimedia -, qttools +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + which, + frei0r, + opencolorio, + ffmpeg_6, + CoreFoundation, + cmake, + wrapQtAppsHook, + openimageio, + openexr_3, + portaudio, + imath, + qtwayland, + qtmultimedia, + qttools, }: let @@ -24,10 +25,12 @@ let # we patch support for 2.3+, but 2.5 fails openimageio' = openimageio.overrideAttrs (old: rec { version = "2.4.15.0"; - src = (old.src.override { - rev = "v${version}"; - hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M="; - }); + src = ( + old.src.override { + rev = "v${version}"; + hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M="; + } + ); }); in diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix index 1f1da89340c75..fe1b77937e00a 100644 --- a/pkgs/applications/video/openshot-qt/default.nix +++ b/pkgs/applications/video/openshot-qt/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, mkDerivationWith -, fetchFromGitHub -, doxygen -, gtk3 -, libopenshot -, python3 -, qtbase -, qtsvg -, qtwayland -, wayland -, waylandSupport ? stdenv.hostPlatform.isLinux -, wrapGAppsHook3 +{ + lib, + stdenv, + mkDerivationWith, + fetchFromGitHub, + doxygen, + gtk3, + libopenshot, + python3, + qtbase, + qtsvg, + qtwayland, + wayland, + waylandSupport ? stdenv.hostPlatform.isLinux, + wrapGAppsHook3, }: let @@ -34,12 +35,14 @@ mkDerivationWith python3.pkgs.buildPythonApplication { wrapGAppsHook3 ]; - buildInputs = [ - gtk3 - ] ++ lib.optionals waylandSupport [ - qtwayland - wayland - ]; + buildInputs = + [ + gtk3 + ] + ++ lib.optionals waylandSupport [ + qtwayland + wayland + ]; propagatedBuildInputs = with python3.pkgs; [ httplib2 @@ -62,16 +65,18 @@ mkDerivationWith python3.pkgs.buildPythonApplication { dontWrapGApps = true; dontWrapQtApps = true; - postFixup = '' - wrapProgram $out/bin/openshot-qt \ - '' - # Fix toolbar icons on Darwin - + lib.optionalString stdenv.hostPlatform.isDarwin '' - --suffix QT_PLUGIN_PATH : "${lib.getBin qtsvg}/${qtbase.qtPluginPrefix}" \ - '' + '' - "''${gappsWrapperArgs[@]}" \ - "''${qtWrapperArgs[@]}" - ''; + postFixup = + '' + wrapProgram $out/bin/openshot-qt \ + '' + # Fix toolbar icons on Darwin + + lib.optionalString stdenv.hostPlatform.isDarwin '' + --suffix QT_PLUGIN_PATH : "${lib.getBin qtsvg}/${qtbase.qtPluginPrefix}" \ + '' + + '' + "''${gappsWrapperArgs[@]}" \ + "''${qtWrapperArgs[@]}" + ''; passthru = { inherit libopenshot; diff --git a/pkgs/applications/video/pipe-viewer/default.nix b/pkgs/applications/video/pipe-viewer/default.nix index a1c7de85ebc44..7cab65a58552f 100644 --- a/pkgs/applications/video/pipe-viewer/default.nix +++ b/pkgs/applications/video/pipe-viewer/default.nix @@ -1,39 +1,45 @@ -{ lib -, fetchFromGitHub -, perl -, buildPerlModule -, makeWrapper -, wrapGAppsHook3 -, withGtk3 ? false -, ffmpeg -, mpv -, wget -, xdg-utils -, yt-dlp -, TestPod -, Gtk3 +{ + lib, + fetchFromGitHub, + perl, + buildPerlModule, + makeWrapper, + wrapGAppsHook3, + withGtk3 ? false, + ffmpeg, + mpv, + wget, + xdg-utils, + yt-dlp, + TestPod, + Gtk3, }: let - perlEnv = perl.withPackages (ps: with ps; [ - AnyURIEscape - DataDump - Encode - FilePath - GetoptLong - HTTPMessage - JSON - JSONXS - LWPProtocolHttps - LWPUserAgentCached - Memoize - PathTools - ScalarListUtils - TermReadLineGnu - TextParsewords - UnicodeLineBreak - ] ++ lib.optionals withGtk3 [ - FileShareDir - ]); + perlEnv = perl.withPackages ( + ps: + with ps; + [ + AnyURIEscape + DataDump + Encode + FilePath + GetoptLong + HTTPMessage + JSON + JSONXS + LWPProtocolHttps + LWPUserAgentCached + Memoize + PathTools + ScalarListUtils + TermReadLineGnu + TextParsewords + UnicodeLineBreak + ] + ++ lib.optionals withGtk3 [ + FileShareDir + ] + ); in buildPerlModule rec { pname = "pipe-viewer"; @@ -46,10 +52,10 @@ buildPerlModule rec { hash = "sha256-crYdbHIDcecfq1FKoRWX3u9x9wqdlaYrBgr7mGdEHeU="; }; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optionals withGtk3 [ wrapGAppsHook3 ]; + nativeBuildInputs = [ makeWrapper ] ++ lib.optionals withGtk3 [ wrapGAppsHook3 ]; - buildInputs = [ perlEnv ] + buildInputs = + [ perlEnv ] # Can't be in perlEnv for wrapGAppsHook3 to work correctly ++ lib.optional withGtk3 Gtk3; @@ -72,15 +78,31 @@ buildPerlModule rec { cp -r share/* $out/share ''; - postFixup = '' - wrapProgram "$out/bin/pipe-viewer" \ - --prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget yt-dlp ]}" - '' + lib.optionalString withGtk3 '' - # make xdg-open overrideable at runtime - wrapProgram "$out/bin/gtk-pipe-viewer" ''${gappsWrapperArgs[@]} \ - --prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget yt-dlp ]}" \ - --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" - ''; + postFixup = + '' + wrapProgram "$out/bin/pipe-viewer" \ + --prefix PATH : "${ + lib.makeBinPath [ + ffmpeg + mpv + wget + yt-dlp + ] + }" + '' + + lib.optionalString withGtk3 '' + # make xdg-open overrideable at runtime + wrapProgram "$out/bin/gtk-pipe-viewer" ''${gappsWrapperArgs[@]} \ + --prefix PATH : "${ + lib.makeBinPath [ + ffmpeg + mpv + wget + yt-dlp + ] + }" \ + --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" + ''; meta = with lib; { homepage = "https://github.com/trizen/pipe-viewer"; diff --git a/pkgs/applications/video/plex-media-player/default.nix b/pkgs/applications/video/plex-media-player/default.nix index fb10bff45e330..deb9819e1be73 100644 --- a/pkgs/applications/video/plex-media-player/default.nix +++ b/pkgs/applications/video/plex-media-player/default.nix @@ -1,6 +1,22 @@ -{ lib, fetchFromGitHub, fetchurl, pkg-config, cmake, python3, mkDerivation -, libX11, libXrandr, qtbase, qtwebchannel, qtwebengine, qtx11extras -, libvdpau, SDL2, mpv, libGL }: +{ + lib, + fetchFromGitHub, + fetchurl, + pkg-config, + cmake, + python3, + mkDerivation, + libX11, + libXrandr, + qtbase, + qtwebchannel, + qtwebengine, + qtx11extras, + libvdpau, + SDL2, + mpv, + libGL, +}: let # During compilation, a CMake bundle is downloaded from `artifacts.plex.tv`, # which then downloads a handful of web client-related files. To enable @@ -9,7 +25,8 @@ let # plex-media-player use the update.sh script, so the versions and hashes # for these files are also updated! depSrcs = import ./deps.nix { inherit fetchurl; }; -in mkDerivation rec { +in +mkDerivation rec { pname = "plex-media-player"; version = "2.58.1"; vsnHash = "ae73e074"; @@ -21,9 +38,23 @@ in mkDerivation rec { sha256 = "1q20fdp5d0blb0q6p2357bwdc2g65cadkgdp4w533ij2nyaxydjd"; }; - nativeBuildInputs = [ pkg-config cmake python3 ]; - buildInputs = [ libX11 libXrandr qtbase qtwebchannel qtwebengine qtx11extras - libvdpau SDL2 mpv libGL ]; + nativeBuildInputs = [ + pkg-config + cmake + python3 + ]; + buildInputs = [ + libX11 + libXrandr + qtbase + qtwebchannel + qtwebengine + qtx11extras + libvdpau + SDL2 + mpv + libGL + ]; preConfigure = with depSrcs; '' mkdir -p build/dependencies @@ -39,7 +70,11 @@ in mkDerivation rec { cmakeFlags = [ "-DQTROOT=${qtbase}" ]; # plexmediaplayer currently segfaults under wayland - qtWrapperArgs = [ "--set" "QT_QPA_PLATFORM" "xcb" ]; + qtWrapperArgs = [ + "--set" + "QT_QPA_PLATFORM" + "xcb" + ]; passthru.updateScript = ./update.sh; diff --git a/pkgs/applications/video/plex-mpv-shim/default.nix b/pkgs/applications/video/plex-mpv-shim/default.nix index 7d862fb216d7b..3b82e4621add0 100644 --- a/pkgs/applications/video/plex-mpv-shim/default.nix +++ b/pkgs/applications/video/plex-mpv-shim/default.nix @@ -1,5 +1,18 @@ -{ lib, buildPythonApplication, fetchFromGitHub, fetchpatch, python, mpv, requests, python-mpv-jsonipc, pystray, tkinter -, wrapGAppsHook3, gobject-introspection, mpv-shim-default-shaders }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + fetchpatch, + python, + mpv, + requests, + python-mpv-jsonipc, + pystray, + tkinter, + wrapGAppsHook3, + gobject-introspection, + mpv-shim-default-shaders, +}: buildPythonApplication rec { pname = "plex-mpv-shim"; @@ -25,7 +38,13 @@ buildPythonApplication rec { gobject-introspection ]; - propagatedBuildInputs = [ mpv requests python-mpv-jsonipc pystray tkinter ]; + propagatedBuildInputs = [ + mpv + requests + python-mpv-jsonipc + pystray + tkinter + ]; # needed for pystray to access appindicator using GI preFixup = '' diff --git a/pkgs/applications/video/qarte/default.nix b/pkgs/applications/video/qarte/default.nix index 60b773d3aede5..3b2ba7dc45f75 100644 --- a/pkgs/applications/video/qarte/default.nix +++ b/pkgs/applications/video/qarte/default.nix @@ -1,8 +1,20 @@ -{ mkDerivation, lib, fetchbzr, python3, rtmpdump }: +{ + mkDerivation, + lib, + fetchbzr, + python3, + rtmpdump, +}: let - pythonEnv = python3.withPackages (ps: with ps; [ m3u8 pyqt5-multimedia ]); -in mkDerivation { + pythonEnv = python3.withPackages ( + ps: with ps; [ + m3u8 + pyqt5-multimedia + ] + ); +in +mkDerivation { pname = "qarte"; version = "5.5.0"; diff --git a/pkgs/applications/video/qctools/default.nix b/pkgs/applications/video/qctools/default.nix index 4f19af7938804..2d80efcc64875 100644 --- a/pkgs/applications/video/qctools/default.nix +++ b/pkgs/applications/video/qctools/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, qmake, wrapQtAppsHook, ffmpeg_6, qtmultimedia, qwt }: +{ + lib, + stdenv, + fetchurl, + qmake, + wrapQtAppsHook, + ffmpeg_6, + qtmultimedia, + qwt, +}: stdenv.mkDerivation rec { pname = "qctools"; @@ -11,9 +20,16 @@ stdenv.mkDerivation rec { sourceRoot = "${pname}/Project/QtCreator"; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; - buildInputs = [ ffmpeg_6 qtmultimedia qwt ]; + buildInputs = [ + ffmpeg_6 + qtmultimedia + qwt + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/video/qmediathekview/default.nix b/pkgs/applications/video/qmediathekview/default.nix index d08387669eb3a..4c532f86b1417 100644 --- a/pkgs/applications/video/qmediathekview/default.nix +++ b/pkgs/applications/video/qmediathekview/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, boost -, qtbase -, xz -, qmake -, pkg-config +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + boost, + qtbase, + xz, + qmake, + pkg-config, }: mkDerivation rec { @@ -25,9 +26,16 @@ mkDerivation rec { --replace /usr "" ''; - buildInputs = [ qtbase xz boost ]; + buildInputs = [ + qtbase + xz + boost + ]; - nativeBuildInputs = [ qmake pkg-config ]; + nativeBuildInputs = [ + qmake + pkg-config + ]; installFlags = [ "INSTALL_ROOT=$(out)" ]; diff --git a/pkgs/applications/video/qstopmotion/default.nix b/pkgs/applications/video/qstopmotion/default.nix index 2f0c66ecd1d12..6d28bc8417a27 100644 --- a/pkgs/applications/video/qstopmotion/default.nix +++ b/pkgs/applications/video/qstopmotion/default.nix @@ -1,25 +1,27 @@ -{ lib, stdenv -, mkDerivation -, fetchurl -, qtbase -, qtmultimedia -, qtquickcontrols -, qtimageformats -, qtxmlpatterns -, ffmpeg -, guvcview -, cmake -, ninja -, libxml2 -, gettext -, pkg-config -, libgphoto2 -, gphoto2 -, v4l-utils -, libv4l -, pcre -, qwt -, extra-cmake-modules +{ + lib, + stdenv, + mkDerivation, + fetchurl, + qtbase, + qtmultimedia, + qtquickcontrols, + qtimageformats, + qtxmlpatterns, + ffmpeg, + guvcview, + cmake, + ninja, + libxml2, + gettext, + pkg-config, + libgphoto2, + gphoto2, + v4l-utils, + libv4l, + pcre, + qwt, + extra-cmake-modules, }: mkDerivation rec { @@ -27,7 +29,9 @@ mkDerivation rec { version = "2.5.2"; src = fetchurl { - url = "mirror://sourceforge/project/${pname}/Version_${builtins.replaceStrings ["."] ["_"] version}/${pname}-${version}-Source.tar.gz"; + url = "mirror://sourceforge/project/${pname}/Version_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }/${pname}-${version}-Source.tar.gz"; sha256 = "sha256-jyBUyadkSuQKXOrr5XZ1jy6of1Qw8S2HPxuOrPc7RnE="; }; @@ -64,7 +68,10 @@ mkDerivation rec { ''; qtWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ ffmpeg ]) ]; meta = with lib; { diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index d02c7cffaad3d..b99821a64e053 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,5 +1,26 @@ -{ lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras -, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja, nix-update-script +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + alsa-lib, + ffmpeg, + libjack2, + libX11, + libXext, + libXinerama, + qtx11extras, + libXfixes, + libGLU, + libGL, + pkg-config, + libpulseaudio, + libv4l, + qtbase, + qttools, + cmake, + ninja, + nix-update-script, }: mkDerivation rec { @@ -27,10 +48,26 @@ mkDerivation rec { --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" ''; - nativeBuildInputs = [ pkg-config cmake ninja ]; + nativeBuildInputs = [ + pkg-config + cmake + ninja + ]; buildInputs = [ - alsa-lib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL - libpulseaudio libv4l qtbase qttools qtx11extras + alsa-lib + ffmpeg + libjack2 + libX11 + libXext + libXfixes + libXinerama + libGLU + libGL + libpulseaudio + libv4l + qtbase + qttools + qtx11extras ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/applications/video/smtube/default.nix b/pkgs/applications/video/smtube/default.nix index 0f50dc3311df6..afb0d254bfe06 100644 --- a/pkgs/applications/video/smtube/default.nix +++ b/pkgs/applications/video/smtube/default.nix @@ -1,4 +1,11 @@ -{ lib, mkDerivation, fetchurl, qmake, qtscript, qtwebkit }: +{ + lib, + mkDerivation, + fetchurl, + qmake, + qtscript, + qtwebkit, +}: mkDerivation rec { version = "21.10.0"; @@ -16,7 +23,10 @@ mkDerivation rec { dontUseQmakeConfigure = true; nativeBuildInputs = [ qmake ]; - buildInputs = [ qtscript qtwebkit ]; + buildInputs = [ + qtscript + qtwebkit + ]; meta = with lib; { description = "Play and download Youtube videos"; diff --git a/pkgs/applications/video/stremio/default.nix b/pkgs/applications/video/stremio/default.nix index 0b6495c8b1e68..0bfc18fb2e1e7 100644 --- a/pkgs/applications/video/stremio/default.nix +++ b/pkgs/applications/video/stremio/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, ffmpeg -, mpv -, nodejs -, qmake -, qtwebengine -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + ffmpeg, + mpv, + nodejs, + qmake, + qtwebengine, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -27,9 +28,15 @@ stdenv.mkDerivation rec { hash = "sha256-aD3niQpgq1EiZLacnEFgmqUV+bc4rvGN9IA+9T4XF10="; }; - buildInputs = [ qtwebengine mpv ]; + buildInputs = [ + qtwebengine + mpv + ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; postInstall = '' mkdir -p $out/{bin,share/applications} @@ -49,7 +56,10 @@ stdenv.mkDerivation rec { # (Server-side) web UI is closed source now, apparently they work on open-sourcing it. # server.js appears to be MIT-licensed, but I can't find how they actually build it. # https://www.reddit.com/r/StremioAddons/comments/n2ob04/a_summary_of_how_stremio_works_internally_and/ - license = with licenses; [ gpl3 mit ]; + license = with licenses; [ + gpl3 + mit + ]; maintainers = with maintainers; [ abbradar ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix index 50c0d5ce4ce07..0b80ad8186b2e 100644 --- a/pkgs/applications/video/vdr/default.nix +++ b/pkgs/applications/video/vdr/default.nix @@ -1,8 +1,20 @@ -{ stdenv, fetchgit, fontconfig, libjpeg, libcap, freetype, fribidi, pkg-config -, gettext, systemd, perl, lib -, enableSystemd ? true -, enableBidi ? true -}: stdenv.mkDerivation rec { +{ + stdenv, + fetchgit, + fontconfig, + libjpeg, + libcap, + freetype, + fribidi, + pkg-config, + gettext, + systemd, + perl, + lib, + enableSystemd ? true, + enableBidi ? true, +}: +stdenv.mkDerivation rec { pname = "vdr"; version = "2.6.9"; @@ -17,34 +29,57 @@ postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; - buildInputs = [ fontconfig libjpeg libcap freetype perl ] - ++ lib.optional enableSystemd systemd - ++ lib.optional enableBidi fribidi; + buildInputs = + [ + fontconfig + libjpeg + libcap + freetype + perl + ] + ++ lib.optional enableSystemd systemd + ++ lib.optional enableBidi fribidi; - buildFlags = [ "vdr" "i18n" ] - ++ lib.optional enableSystemd "SDNOTIFY=1" - ++ lib.optional enableBidi "BIDI=1"; + buildFlags = + [ + "vdr" + "i18n" + ] + ++ lib.optional enableSystemd "SDNOTIFY=1" + ++ lib.optional enableBidi "BIDI=1"; nativeBuildInputs = [ perl ]; # plugins uses the same build environment as vdr - propagatedNativeBuildInputs = [ pkg-config gettext ]; + propagatedNativeBuildInputs = [ + pkg-config + gettext + ]; installFlags = [ "DESTDIR=$(out)" "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix ]; - installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n" - "install-includes" ]; + installTargets = [ + "install-pc" + "install-bin" + "install-doc" + "install-i18n" + "install-includes" + ]; postInstall = '' mkdir -p $out/lib/vdr # only needed if vdr is started without any plugin mkdir -p $out/share/vdr/conf cp *.conf $out/share/vdr/conf - ''; + ''; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; meta = with lib; { homepage = "http://www.tvdr.de/"; diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix index ef497d5a8c9e3..ef35f18b2f86e 100644 --- a/pkgs/applications/video/vdr/plugins.nix +++ b/pkgs/applications/video/vdr/plugins.nix @@ -1,36 +1,54 @@ -{ lib, stdenv, vdr, fetchFromGitHub -, graphicsmagick -, boost, libgcrypt, ncurses -, callPackage -}: let - mkPlugin = name: stdenv.mkDerivation { - name = "vdr-${name}-${vdr.version}"; - inherit (vdr) src; - buildInputs = [ vdr ]; - preConfigure = "cd PLUGINS/src/${name}"; - installFlags = [ "DESTDIR=$(out)" ]; - }; -in { +{ + lib, + stdenv, + vdr, + fetchFromGitHub, + graphicsmagick, + boost, + libgcrypt, + ncurses, + callPackage, +}: +let + mkPlugin = + name: + stdenv.mkDerivation { + name = "vdr-${name}-${vdr.version}"; + inherit (vdr) src; + buildInputs = [ vdr ]; + preConfigure = "cd PLUGINS/src/${name}"; + installFlags = [ "DESTDIR=$(out)" ]; + }; +in +{ - epgsearch = callPackage ./epgsearch {}; + epgsearch = callPackage ./epgsearch { }; - markad = callPackage ./markad {}; + markad = callPackage ./markad { }; - nopacity = callPackage ./nopacity {}; + nopacity = callPackage ./nopacity { }; - softhddevice = callPackage ./softhddevice {}; + softhddevice = callPackage ./softhddevice { }; - streamdev = callPackage ./streamdev {}; + streamdev = callPackage ./streamdev { }; - xineliboutput = callPackage ./xineliboutput {}; + xineliboutput = callPackage ./xineliboutput { }; - skincurses = (mkPlugin "skincurses").overrideAttrs(oldAttr: { + skincurses = (mkPlugin "skincurses").overrideAttrs (oldAttr: { buildInputs = oldAttr.buildInputs ++ [ ncurses ]; }); - inherit (lib.genAttrs [ - "epgtableid0" "hello" "osddemo" "pictures" "servicedemo" "status" "svdrpdemo" - ] mkPlugin); + inherit + (lib.genAttrs [ + "epgtableid0" + "hello" + "osddemo" + "pictures" + "servicedemo" + "status" + "svdrpdemo" + ] mkPlugin) + ; femon = stdenv.mkDerivation rec { pname = "vdr-femon"; @@ -95,7 +113,10 @@ in { sha256 = "19hkwmaw6nwak38bv6cm2vcjjkf4w5yjyxb98qq6zfjjh5wq54aa"; }; - buildInputs = [ vdr graphicsmagick ]; + buildInputs = [ + vdr + graphicsmagick + ]; buildFlags = [ "DESTDIR=$(out)" @@ -132,7 +153,11 @@ in { fetchSubmodules = true; }; - buildInputs = [ vdr boost libgcrypt ]; + buildInputs = [ + vdr + boost + libgcrypt + ]; installFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/applications/video/vdr/softhddevice/default.nix b/pkgs/applications/video/vdr/softhddevice/default.nix index 612731acdcc10..fc8798aacf0cd 100644 --- a/pkgs/applications/video/vdr/softhddevice/default.nix +++ b/pkgs/applications/video/vdr/softhddevice/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, vdr -, alsa-lib -, fetchFromGitHub -, xcbutilwm -, xorgserver -, ffmpeg -, libva -, libvdpau -, xorg -, libGL -, libGLU +{ + lib, + stdenv, + vdr, + alsa-lib, + fetchFromGitHub, + xcbutilwm, + xorgserver, + ffmpeg, + libva, + libvdpau, + xorg, + libGL, + libGLU, }: stdenv.mkDerivation rec { pname = "vdr-softhddevice"; diff --git a/pkgs/applications/video/vdr/streamdev/default.nix b/pkgs/applications/video/vdr/streamdev/default.nix index 248f06538393f..7c1defec74e74 100644 --- a/pkgs/applications/video/vdr/streamdev/default.nix +++ b/pkgs/applications/video/vdr/streamdev/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchFromGitHub -, lib -, vdr +{ + stdenv, + fetchFromGitHub, + lib, + vdr, }: stdenv.mkDerivation rec { pname = "vdr-streamdev"; @@ -29,7 +30,7 @@ stdenv.mkDerivation rec { vdr ]; - meta = with lib;{ + meta = with lib; { inherit (src.meta) homepage; description = "This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol) Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol"; maintainers = [ maintainers.ck3d ]; diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix index 431d2dae4f049..9680d4ad3c2e0 100644 --- a/pkgs/applications/video/vdr/wrapper.nix +++ b/pkgs/applications/video/vdr/wrapper.nix @@ -1,12 +1,18 @@ -{ symlinkJoin, lib, makeWrapper, vdr -, plugins ? [] -}: let +{ + symlinkJoin, + lib, + makeWrapper, + vdr, + plugins ? [ ], +}: +let makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l); - requiredXinePlugins = lib.flatten (map (p: p.passthru.requiredXinePlugins or []) plugins); + requiredXinePlugins = lib.flatten (map (p: p.passthru.requiredXinePlugins or [ ]) plugins); -in symlinkJoin { +in +symlinkJoin { name = "vdr-with-plugins-${lib.getVersion vdr}"; @@ -22,9 +28,7 @@ in symlinkJoin { meta = with vdr.meta; { inherit license homepage; - description = description - + " (with plugins: " - + lib.concatStringsSep ", " (map (x: ""+x.name) plugins) - + ")"; + description = + description + " (with plugins: " + lib.concatStringsSep ", " (map (x: "" + x.name) plugins) + ")"; }; } diff --git a/pkgs/applications/video/vdr/xineliboutput/default.nix b/pkgs/applications/video/vdr/xineliboutput/default.nix index a01ee1481f8ad..78deb1b0e98a9 100644 --- a/pkgs/applications/video/vdr/xineliboutput/default.nix +++ b/pkgs/applications/video/vdr/xineliboutput/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, fetchurl -, lib -, vdr -, libcap -, libvdpau -, xine-lib -, libjpeg -, libextractor -, libglvnd -, libGLU -, libX11 -, libXext -, libXrender -, libXrandr -, ffmpeg -, avahi -, wayland -, makeWrapper -, dbus-glib +{ + stdenv, + fetchurl, + lib, + vdr, + libcap, + libvdpau, + xine-lib, + libjpeg, + libextractor, + libglvnd, + libGLU, + libX11, + libXext, + libXrender, + libXrandr, + ffmpeg, + avahi, + wayland, + makeWrapper, + dbus-glib, }: let makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l); @@ -50,7 +51,12 @@ let postFixup = '' for f in $out/bin/*; do wrapProgram $f \ - --prefix XINE_PLUGIN_PATH ":" "${makeXinePluginPath [ "$out" xine-lib ]}" + --prefix XINE_PLUGIN_PATH ":" "${ + makeXinePluginPath [ + "$out" + xine-lib + ] + }" done ''; @@ -75,9 +81,12 @@ let wayland ]; - passthru.requiredXinePlugins = [ xine-lib self ]; + passthru.requiredXinePlugins = [ + xine-lib + self + ]; - meta = with lib;{ + meta = with lib; { homepage = "https://sourceforge.net/projects/xineliboutput/"; description = "Xine-lib based software output device for VDR"; maintainers = [ maintainers.ck3d ]; diff --git a/pkgs/applications/video/vokoscreen/default.nix b/pkgs/applications/video/vokoscreen/default.nix index cb0df69ee2c53..b691dde96aabf 100644 --- a/pkgs/applications/video/vokoscreen/default.nix +++ b/pkgs/applications/video/vokoscreen/default.nix @@ -1,6 +1,17 @@ -{ lib, fetchFromGitHub, mkDerivation -, pkg-config, qtbase, qttools, qmake, qtmultimedia, qtx11extras, alsa-lib, libv4l, libXrandr -, ffmpeg +{ + lib, + fetchFromGitHub, + mkDerivation, + pkg-config, + qtbase, + qttools, + qmake, + qtmultimedia, + qtx11extras, + alsa-lib, + libv4l, + libXrandr, + ffmpeg, }: mkDerivation rec { @@ -9,13 +20,16 @@ mkDerivation rec { version = "2.5.8-beta"; src = fetchFromGitHub { - owner = "vkohaupt"; - repo = "vokoscreen"; - rev = version; - sha256 = "1a85vbsi53mhzva49smqwcs61c51wv3ic410nvb9is9nlsbifwan"; + owner = "vkohaupt"; + repo = "vokoscreen"; + rev = version; + sha256 = "1a85vbsi53mhzva49smqwcs61c51wv3ic410nvb9is9nlsbifwan"; }; - nativeBuildInputs = [ pkg-config qmake ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; buildInputs = [ alsa-lib libv4l diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix index 0118d6c09be0f..3ee2f0db92e94 100644 --- a/pkgs/applications/video/webcamoid/default.nix +++ b/pkgs/applications/video/webcamoid/default.nix @@ -1,7 +1,22 @@ -{ lib, fetchFromGitHub, fetchpatch2, pkg-config, libxcb, mkDerivation, cmake -, qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 -, ffmpeg, gst_all_1, libpulseaudio, alsa-lib, jack2 -, v4l-utils }: +{ + lib, + fetchFromGitHub, + fetchpatch2, + pkg-config, + libxcb, + mkDerivation, + cmake, + qtbase, + qtdeclarative, + qtquickcontrols, + qtquickcontrols2, + ffmpeg, + gst_all_1, + libpulseaudio, + alsa-lib, + jack2, + v4l-utils, +}: mkDerivation rec { pname = "webcamoid"; version = "9.1.1"; @@ -23,14 +38,23 @@ mkDerivation rec { buildInputs = [ libxcb - qtbase qtdeclarative qtquickcontrols qtquickcontrols2 + qtbase + qtdeclarative + qtquickcontrols + qtquickcontrols2 ffmpeg - gst_all_1.gstreamer gst_all_1.gst-plugins-base - alsa-lib libpulseaudio jack2 + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + alsa-lib + libpulseaudio + jack2 v4l-utils ]; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; meta = with lib; { description = "Webcam Capture Software"; diff --git a/pkgs/applications/video/youtube-tui/default.nix b/pkgs/applications/video/youtube-tui/default.nix index 70458c7f6235c..64b18ad5c43b1 100644 --- a/pkgs/applications/video/youtube-tui/default.nix +++ b/pkgs/applications/video/youtube-tui/default.nix @@ -1,17 +1,18 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, xorg -, stdenv -, python3 -, makeBinaryWrapper -, libsixel -, mpv -, CoreFoundation -, Security -, AppKit +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + xorg, + stdenv, + python3, + makeBinaryWrapper, + libsixel, + mpv, + CoreFoundation, + Security, + AppKit, }: rustPlatform.buildRustPackage rec { @@ -38,21 +39,23 @@ rustPlatform.buildRustPackage rec { makeBinaryWrapper ]; - buildInputs = [ - openssl - xorg.libxcb - libsixel - mpv - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreFoundation - Security - AppKit - ]; + buildInputs = + [ + openssl + xorg.libxcb + libsixel + mpv + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreFoundation + Security + AppKit + ]; # sixel-sys is dynamically linked to libsixel postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' wrapProgram $out/bin/youtube-tui \ - --prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [libsixel]}" + --prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsixel ]}" ''; meta = with lib; { diff --git a/pkgs/applications/video/yuview/default.nix b/pkgs/applications/video/yuview/default.nix index a6c7ad6ceb869..3a15d32c42052 100644 --- a/pkgs/applications/video/yuview/default.nix +++ b/pkgs/applications/video/yuview/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-2mNIuyY/ni+zkUc8V/iXUEa7JeBJyOnNod7friMYAm8="; }; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; patches = [ ./disable_version_check.patch ]; diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index ac2f2f2302f56..f9ecceb226deb 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,46 +1,64 @@ -{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages -, fetchFromGitLab, python3, pexpect, xorriso, qemu, dosfstools, mtools -, fdSize2MB ? false -, fdSize4MB ? secureBoot -, secureBoot ? false -, systemManagementModeRequired ? secureBoot && stdenv.hostPlatform.isx86 -# Whether to create an nvram variables template -# which includes the MSFT secure boot keys -, msVarsTemplate ? false -# When creating the nvram variables template with -# the MSFT keys, we also must provide a certificate -# to use as the PK and first KEK for the keystore. -# -# By default, we use Debian's cert. This default -# should change to a NixOS cert once we have our -# own secure boot signing infrastructure. -# -# Ignored if msVarsTemplate is false. -, vendorPkKek ? "$NIX_BUILD_TOP/debian/PkKek-1-Debian.pem" -, httpSupport ? false -, tpmSupport ? false -, tlsSupport ? false -, debug ? false -# Usually, this option is broken, do not use it except if you know what you are -# doing. -, sourceDebug ? false -, projectDscPath ? { - i686 = "OvmfPkg/OvmfPkgIa32.dsc"; - x86_64 = "OvmfPkg/OvmfPkgX64.dsc"; - aarch64 = "ArmVirtPkg/ArmVirtQemu.dsc"; - riscv64 = "OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc"; - loongarch64 = "OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc"; - }.${stdenv.hostPlatform.parsed.cpu.name} - or (throw "Unsupported OVMF `projectDscPath` on ${stdenv.hostPlatform.parsed.cpu.name}") -, fwPrefix ? { - i686 = "OVMF"; - x86_64 = "OVMF"; - aarch64 = "AAVMF"; - riscv64 = "RISCV_VIRT"; - loongarch64 = "LOONGARCH_VIRT"; - }.${stdenv.hostPlatform.parsed.cpu.name} - or (throw "Unsupported OVMF `fwPrefix` on ${stdenv.hostPlatform.parsed.cpu.name}") -, metaPlatforms ? edk2.meta.platforms +{ + stdenv, + nixosTests, + lib, + edk2, + util-linux, + nasm, + acpica-tools, + llvmPackages, + fetchFromGitLab, + python3, + pexpect, + xorriso, + qemu, + dosfstools, + mtools, + fdSize2MB ? false, + fdSize4MB ? secureBoot, + secureBoot ? false, + systemManagementModeRequired ? secureBoot && stdenv.hostPlatform.isx86, + # Whether to create an nvram variables template + # which includes the MSFT secure boot keys + msVarsTemplate ? false, + # When creating the nvram variables template with + # the MSFT keys, we also must provide a certificate + # to use as the PK and first KEK for the keystore. + # + # By default, we use Debian's cert. This default + # should change to a NixOS cert once we have our + # own secure boot signing infrastructure. + # + # Ignored if msVarsTemplate is false. + vendorPkKek ? "$NIX_BUILD_TOP/debian/PkKek-1-Debian.pem", + httpSupport ? false, + tpmSupport ? false, + tlsSupport ? false, + debug ? false, + # Usually, this option is broken, do not use it except if you know what you are + # doing. + sourceDebug ? false, + projectDscPath ? + { + i686 = "OvmfPkg/OvmfPkgIa32.dsc"; + x86_64 = "OvmfPkg/OvmfPkgX64.dsc"; + aarch64 = "ArmVirtPkg/ArmVirtQemu.dsc"; + riscv64 = "OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc"; + loongarch64 = "OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc"; + } + .${stdenv.hostPlatform.parsed.cpu.name} + or (throw "Unsupported OVMF `projectDscPath` on ${stdenv.hostPlatform.parsed.cpu.name}"), + fwPrefix ? + { + i686 = "OVMF"; + x86_64 = "OVMF"; + aarch64 = "AAVMF"; + riscv64 = "RISCV_VIRT"; + loongarch64 = "LOONGARCH_VIRT"; + } + .${stdenv.hostPlatform.parsed.cpu.name} + or (throw "Unsupported OVMF `fwPrefix` on ${stdenv.hostPlatform.parsed.cpu.name}"), + metaPlatforms ? edk2.meta.platforms, }: let @@ -94,14 +112,37 @@ edk2.mkDerivation projectDscPath (finalAttrs: { pname = "OVMF"; inherit version; - outputs = [ "out" "fd" ]; + outputs = [ + "out" + "fd" + ]; - nativeBuildInputs = [ util-linux nasm acpica-tools ] - ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ] - ++ lib.optionals msVarsTemplate [ python3 pexpect xorriso qemu dosfstools mtools ]; + nativeBuildInputs = + [ + util-linux + nasm + acpica-tools + ] + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.bintools + llvmPackages.llvm + ] + ++ lib.optionals msVarsTemplate [ + python3 + pexpect + xorriso + qemu + dosfstools + mtools + ]; strictDeps = true; - hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; + hardeningDisable = [ + "format" + "stackprotector" + "pic" + "fortify" + ]; buildFlags = # IPv6 has no reason to be disabled. @@ -110,11 +151,18 @@ edk2.mkDerivation projectDscPath (finalAttrs: { ++ lib.optionals sourceDebug [ "-D SOURCE_DEBUG_ENABLE=TRUE" ] ++ lib.optionals secureBoot [ "-D SECURE_BOOT_ENABLE=TRUE" ] ++ lib.optionals systemManagementModeRequired [ "-D SMM_REQUIRE=TRUE" ] - ++ lib.optionals fdSize2MB ["-D FD_SIZE_2MB"] - ++ lib.optionals fdSize4MB ["-D FD_SIZE_4MB"] - ++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ] + ++ lib.optionals fdSize2MB [ "-D FD_SIZE_2MB" ] + ++ lib.optionals fdSize4MB [ "-D FD_SIZE_4MB" ] + ++ lib.optionals httpSupport [ + "-D NETWORK_HTTP_ENABLE=TRUE" + "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" + ] ++ lib.optionals tlsSupport [ "-D NETWORK_TLS_ENABLE=TRUE" ] - ++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"]; + ++ lib.optionals tpmSupport [ + "-D TPM_ENABLE" + "-D TPM2_ENABLE" + "-D TPM2_CONFIG_ENABLE" + ]; buildConfig = if debug then "DEBUG" else "RELEASE"; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Qunused-arguments"; @@ -132,80 +180,101 @@ edk2.mkDerivation projectDscPath (finalAttrs: { export PYTHONPATH=$NIX_BUILD_TOP/debian/python:$PYTHONPATH ''; - postBuild = lib.optionalString (stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isLoongArch64) '' - ( - cd ${buildPrefix}/FV - cp QEMU_EFI.fd ${fwPrefix}_CODE.fd - cp QEMU_VARS.fd ${fwPrefix}_VARS.fd - ) - '' + lib.optionalString stdenv.hostPlatform.isAarch '' - # QEMU expects 64MiB CODE and VARS files on ARM/AARCH64 architectures - # Truncate the firmware files to the expected size - truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_CODE.fd - truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_VARS.fd - '' + lib.optionalString stdenv.hostPlatform.isRiscV '' - truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_CODE.fd - truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_VARS.fd - '' + lib.optionalString msVarsTemplate '' - ( - cd ${buildPrefix} - # locale must be set on Darwin for invocations of mtools to work correctly - LC_ALL=C python3 $NIX_BUILD_TOP/debian/edk2-vars-generator.py \ - --flavor ${msVarsArgs.flavor} \ - --enrolldefaultkeys ${msVarsArgs.archDir}/EnrollDefaultKeys.efi \ - --shell ${msVarsArgs.archDir}/Shell.efi \ - --code FV/${fwPrefix}_CODE.fd \ - --vars-template FV/${fwPrefix}_VARS.fd \ - --certificate `< $NIX_BUILD_TOP/$sourceRoot/vendor-cert-string` \ - --out-file FV/${fwPrefix}_VARS.ms.fd - ) - ''; + postBuild = + lib.optionalString (stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isLoongArch64) '' + ( + cd ${buildPrefix}/FV + cp QEMU_EFI.fd ${fwPrefix}_CODE.fd + cp QEMU_VARS.fd ${fwPrefix}_VARS.fd + ) + '' + + lib.optionalString stdenv.hostPlatform.isAarch '' + # QEMU expects 64MiB CODE and VARS files on ARM/AARCH64 architectures + # Truncate the firmware files to the expected size + truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_CODE.fd + truncate -s 64M ${buildPrefix}/FV/${fwPrefix}_VARS.fd + '' + + lib.optionalString stdenv.hostPlatform.isRiscV '' + truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_CODE.fd + truncate -s 32M ${buildPrefix}/FV/${fwPrefix}_VARS.fd + '' + + lib.optionalString msVarsTemplate '' + ( + cd ${buildPrefix} + # locale must be set on Darwin for invocations of mtools to work correctly + LC_ALL=C python3 $NIX_BUILD_TOP/debian/edk2-vars-generator.py \ + --flavor ${msVarsArgs.flavor} \ + --enrolldefaultkeys ${msVarsArgs.archDir}/EnrollDefaultKeys.efi \ + --shell ${msVarsArgs.archDir}/Shell.efi \ + --code FV/${fwPrefix}_CODE.fd \ + --vars-template FV/${fwPrefix}_VARS.fd \ + --certificate `< $NIX_BUILD_TOP/$sourceRoot/vendor-cert-string` \ + --out-file FV/${fwPrefix}_VARS.ms.fd + ) + ''; # TODO: Usage of -bios OVMF.fd is discouraged: https://lists.katacontainers.io/pipermail/kata-dev/2021-January/001650.html # We should remove the isx86-specifc block here once we're ready to update nixpkgs to stop using that and update the # release notes accordingly. - postInstall = '' - mkdir -vp $fd/FV - '' + lib.optionalString (builtins.elem fwPrefix [ - "OVMF" "AAVMF" "RISCV_VIRT" "LOONGARCH_VIRT" - ]) '' - mv -v $out/FV/${fwPrefix}_{CODE,VARS}.fd $fd/FV - '' + lib.optionalString stdenv.hostPlatform.isx86 '' - mv -v $out/FV/${fwPrefix}.fd $fd/FV - '' + lib.optionalString msVarsTemplate '' - mv -v $out/FV/${fwPrefix}_VARS.ms.fd $fd/FV - ln -sv $fd/FV/${fwPrefix}_CODE{,.ms}.fd - '' + lib.optionalString stdenv.hostPlatform.isAarch '' - mv -v $out/FV/QEMU_{EFI,VARS}.fd $fd/FV - # Add symlinks for Fedora dir layout: https://src.fedoraproject.org/rpms/edk2/blob/main/f/edk2.spec - mkdir -vp $fd/AAVMF - ln -s $fd/FV/AAVMF_CODE.fd $fd/AAVMF/QEMU_EFI-pflash.raw - ln -s $fd/FV/AAVMF_VARS.fd $fd/AAVMF/vars-template-pflash.raw - ''; + postInstall = + '' + mkdir -vp $fd/FV + '' + + + lib.optionalString + (builtins.elem fwPrefix [ + "OVMF" + "AAVMF" + "RISCV_VIRT" + "LOONGARCH_VIRT" + ]) + '' + mv -v $out/FV/${fwPrefix}_{CODE,VARS}.fd $fd/FV + '' + + lib.optionalString stdenv.hostPlatform.isx86 '' + mv -v $out/FV/${fwPrefix}.fd $fd/FV + '' + + lib.optionalString msVarsTemplate '' + mv -v $out/FV/${fwPrefix}_VARS.ms.fd $fd/FV + ln -sv $fd/FV/${fwPrefix}_CODE{,.ms}.fd + '' + + lib.optionalString stdenv.hostPlatform.isAarch '' + mv -v $out/FV/QEMU_{EFI,VARS}.fd $fd/FV + # Add symlinks for Fedora dir layout: https://src.fedoraproject.org/rpms/edk2/blob/main/f/edk2.spec + mkdir -vp $fd/AAVMF + ln -s $fd/FV/AAVMF_CODE.fd $fd/AAVMF/QEMU_EFI-pflash.raw + ln -s $fd/FV/AAVMF_VARS.fd $fd/AAVMF/vars-template-pflash.raw + ''; dontPatchELF = true; passthru = - let - prefix = "${finalAttrs.finalPackage.fd}/FV/${fwPrefix}"; - in { - firmware = "${prefix}_CODE.fd"; - variables = "${prefix}_VARS.fd"; - variablesMs = - assert msVarsTemplate; - "${prefix}_VARS.ms.fd"; - # This will test the EFI firmware for the host platform as part of the NixOS Tests setup. - tests.basic-systemd-boot = nixosTests.systemd-boot.basic; - tests.secureBoot-systemd-boot = nixosTests.systemd-boot.secureBoot; - inherit secureBoot systemManagementModeRequired; - }; + let + prefix = "${finalAttrs.finalPackage.fd}/FV/${fwPrefix}"; + in + { + firmware = "${prefix}_CODE.fd"; + variables = "${prefix}_VARS.fd"; + variablesMs = + assert msVarsTemplate; + "${prefix}_VARS.ms.fd"; + # This will test the EFI firmware for the host platform as part of the NixOS Tests setup. + tests.basic-systemd-boot = nixosTests.systemd-boot.basic; + tests.secureBoot-systemd-boot = nixosTests.systemd-boot.secureBoot; + inherit secureBoot systemManagementModeRequired; + }; meta = { description = "Sample UEFI firmware for QEMU and KVM"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"; license = lib.licenses.bsd2; platforms = metaPlatforms; - maintainers = with lib.maintainers; [ adamcstephens raitobezarius mjoerg sigmasquadron ]; + maintainers = with lib.maintainers; [ + adamcstephens + raitobezarius + mjoerg + sigmasquadron + ]; broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; }; }) diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix index ce7e3bc4965bf..9e4c406e27b4b 100644 --- a/pkgs/applications/virtualization/cri-o/default.nix +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -1,16 +1,17 @@ -{ lib -, btrfs-progs -, buildGoModule -, fetchFromGitHub -, glibc -, gpgme -, installShellFiles -, libapparmor -, libseccomp -, libselinux -, lvm2 -, pkg-config -, nixosTests +{ + lib, + btrfs-progs, + buildGoModule, + fetchFromGitHub, + glibc, + gpgme, + installShellFiles, + libapparmor, + libseccomp, + libselinux, + lvm2, + pkg-config, + nixosTests, }: buildGoModule rec { @@ -27,17 +28,28 @@ buildGoModule rec { doCheck = false; - outputs = [ "out" "man" ]; - nativeBuildInputs = [ installShellFiles pkg-config ]; + outputs = [ + "out" + "man" + ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; - buildInputs = [ - btrfs-progs - gpgme - libapparmor - libseccomp - libselinux - lvm2 - ] ++ lib.optionals (glibc != null) [ glibc glibc.static ]; + buildInputs = + [ + btrfs-progs + gpgme + libapparmor + libseccomp + libselinux + lvm2 + ] + ++ lib.optionals (glibc != null) [ + glibc + glibc.static + ]; BUILDTAGS = "apparmor seccomp selinux containers_image_openpgp containers_image_ostree_stub"; buildPhase = '' diff --git a/pkgs/applications/virtualization/cri-o/wrapper.nix b/pkgs/applications/virtualization/cri-o/wrapper.nix index c8af1b909c848..e0f546dbe9564 100644 --- a/pkgs/applications/virtualization/cri-o/wrapper.nix +++ b/pkgs/applications/virtualization/cri-o/wrapper.nix @@ -1,52 +1,59 @@ -{ cri-o-unwrapped -, runCommand -, makeWrapper -, lib -, extraPackages ? [] -, runc # Default container runtime -, conntrack-tools -, crun # Container runtime (default with cgroups v2 for podman/buildah) -, conmon # Container runtime monitor -, util-linux # nsenter -, iptables +{ + cri-o-unwrapped, + runCommand, + makeWrapper, + lib, + extraPackages ? [ ], + runc, # Default container runtime + conntrack-tools, + crun, # Container runtime (default with cgroups v2 for podman/buildah) + conmon, # Container runtime monitor + util-linux, # nsenter + iptables, }: let - binPath = lib.makeBinPath ([ - runc - conntrack-tools - crun - conmon - util-linux - iptables - ] ++ extraPackages); - -in runCommand cri-o-unwrapped.name { - name = "${cri-o-unwrapped.pname}-wrapper-${cri-o-unwrapped.version}"; - inherit (cri-o-unwrapped) pname version passthru; - - preferLocalBuild = true; - - meta = builtins.removeAttrs cri-o-unwrapped.meta [ "outputsToInstall" ]; - - outputs = [ - "out" - "man" - ]; - - nativeBuildInputs = [ - makeWrapper - ]; - -} '' - ln -s ${cri-o-unwrapped.man} $man - - mkdir -p $out/bin - ln -s ${cri-o-unwrapped}/etc $out/etc - ln -s ${cri-o-unwrapped}/share $out/share - - for p in ${cri-o-unwrapped}/bin/*; do - makeWrapper $p $out/bin/''${p##*/} \ - --prefix PATH : ${binPath} - done -'' + binPath = lib.makeBinPath ( + [ + runc + conntrack-tools + crun + conmon + util-linux + iptables + ] + ++ extraPackages + ); + +in +runCommand cri-o-unwrapped.name + { + name = "${cri-o-unwrapped.pname}-wrapper-${cri-o-unwrapped.version}"; + inherit (cri-o-unwrapped) pname version passthru; + + preferLocalBuild = true; + + meta = builtins.removeAttrs cri-o-unwrapped.meta [ "outputsToInstall" ]; + + outputs = [ + "out" + "man" + ]; + + nativeBuildInputs = [ + makeWrapper + ]; + + } + '' + ln -s ${cri-o-unwrapped.man} $man + + mkdir -p $out/bin + ln -s ${cri-o-unwrapped}/etc $out/etc + ln -s ${cri-o-unwrapped}/share $out/share + + for p in ${cri-o-unwrapped}/bin/*; do + makeWrapper $p $out/bin/''${p##*/} \ + --prefix PATH : ${binPath} + done + '' diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 0640f7b3f994e..c74c24050c100 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -1,7 +1,20 @@ -{ lib, rustPlatform, fetchgit, fetchpatch -, pkg-config, protobuf, python3, wayland-scanner -, libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols -, pkgsCross +{ + lib, + rustPlatform, + fetchgit, + fetchpatch, + pkg-config, + protobuf, + python3, + wayland-scanner, + libcap, + libdrm, + libepoxy, + minijail, + virglrenderer, + wayland, + wayland-protocols, + pkgsCross, }: rustPlatform.buildRustPackage rec { @@ -29,11 +42,21 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-FvDJhmrSBShxRTpc23C0jEk9YRbtGyYgC1Z8ekxNnb8="; nativeBuildInputs = [ - pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner + pkg-config + protobuf + python3 + rustPlatform.bindgenHook + wayland-scanner ]; buildInputs = [ - libcap libdrm libepoxy minijail virglrenderer wayland wayland-protocols + libcap + libdrm + libepoxy + minijail + virglrenderer + wayland + wayland-protocols ]; preConfigure = '' @@ -58,6 +81,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "crosvm"; maintainers = with maintainers; [ qyliss ]; license = licenses.bsd3; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/applications/virtualization/docker/gc.nix b/pkgs/applications/virtualization/docker/gc.nix index 29df4bfea3a55..f300cf2e73da3 100644 --- a/pkgs/applications/virtualization/docker/gc.nix +++ b/pkgs/applications/virtualization/docker/gc.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, docker, coreutils, procps, gnused, findutils, gnugrep }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + docker, + coreutils, + procps, + gnused, + findutils, + gnugrep, +}: stdenv.mkDerivation rec { pname = "docker-gc"; version = "unstable-2015-10-5"; @@ -17,7 +28,16 @@ stdenv.mkDerivation rec { cp docker-gc $out/bin chmod +x $out/bin/docker-gc wrapProgram $out/bin/docker-gc \ - --prefix PATH : "${lib.makeBinPath [ docker coreutils procps gnused findutils gnugrep ]}" + --prefix PATH : "${ + lib.makeBinPath [ + docker + coreutils + procps + gnused + findutils + gnugrep + ] + }" ''; meta = with lib; { @@ -25,7 +45,7 @@ stdenv.mkDerivation rec { mainProgram = "docker-gc"; license = licenses.asl20; homepage = "https://github.com/spotify/docker-gc"; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [ offline ]; platforms = docker.meta.platforms; }; } diff --git a/pkgs/applications/virtualization/docker/sbom.nix b/pkgs/applications/virtualization/docker/sbom.nix index 9ab81509b6943..afd78bd165eb7 100644 --- a/pkgs/applications/virtualization/docker/sbom.nix +++ b/pkgs/applications/virtualization/docker/sbom.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, docker -, lib +{ + buildGoModule, + fetchFromGitHub, + docker, + lib, }: buildGoModule rec { diff --git a/pkgs/applications/virtualization/krunvm/default.nix b/pkgs/applications/virtualization/krunvm/default.nix index 392ba594189ab..24c806589db79 100644 --- a/pkgs/applications/virtualization/krunvm/default.nix +++ b/pkgs/applications/virtualization/krunvm/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, asciidoctor -, buildah -, buildah-unwrapped -, cargo -, libiconv -, libkrun -, makeWrapper -, rustc -, sigtool +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + asciidoctor, + buildah, + buildah-unwrapped, + cargo, + libiconv, + libkrun, + makeWrapper, + rustc, + sigtool, }: stdenv.mkDerivation rec { @@ -37,9 +38,11 @@ stdenv.mkDerivation rec { makeWrapper ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; - buildInputs = [ libkrun ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + buildInputs = + [ libkrun ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/applications/virtualization/lima/bin.nix b/pkgs/applications/virtualization/lima/bin.nix index b0a90987d1d29..f9ee61291426f 100644 --- a/pkgs/applications/virtualization/lima/bin.nix +++ b/pkgs/applications/virtualization/lima/bin.nix @@ -1,11 +1,12 @@ -{ stdenvNoCC -, lib -, fetchurl -, writeScript -, installShellFiles -, qemu -, makeBinaryWrapper -, autoPatchelfHook +{ + stdenvNoCC, + lib, + fetchurl, + writeScript, + installShellFiles, + qemu, + makeBinaryWrapper, + autoPatchelfHook, }: let @@ -41,35 +42,45 @@ stdenvNoCC.mkDerivation { inherit version; pname = "lima"; src = fetchurl { - inherit (dist.${stdenvNoCC.hostPlatform.system} or - (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}")) url sha256; + inherit + (dist.${stdenvNoCC.hostPlatform.system} + or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}") + ) + url + sha256 + ; }; sourceRoot = "."; - nativeBuildInputs = [ makeBinaryWrapper installShellFiles ] - ++ lib.optionals stdenvNoCC.hostPlatform.isLinux [ autoPatchelfHook ]; + nativeBuildInputs = [ + makeBinaryWrapper + installShellFiles + ] ++ lib.optionals stdenvNoCC.hostPlatform.isLinux [ autoPatchelfHook ]; - installPhase = '' - runHook preInstall - mkdir -p $out - cp -r bin share $out - chmod +x $out/bin/limactl - wrapProgram $out/bin/limactl \ - --prefix PATH : ${lib.makeBinPath [ qemu ]} - '' + lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' - # the shell completion only works with a patched $out/bin/limactl and so - # needs to run after the autoPatchelfHook is executed in postFixup. - doShellCompletion() { - installShellCompletion --cmd limactl \ - --bash <($out/bin/limactl completion bash) \ - --fish <($out/bin/limactl completion fish) \ - --zsh <($out/bin/limactl completion zsh) - } - postFixupHooks+=(doShellCompletion) - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + mkdir -p $out + cp -r bin share $out + chmod +x $out/bin/limactl + wrapProgram $out/bin/limactl \ + --prefix PATH : ${lib.makeBinPath [ qemu ]} + '' + + lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' + # the shell completion only works with a patched $out/bin/limactl and so + # needs to run after the autoPatchelfHook is executed in postFixup. + doShellCompletion() { + installShellCompletion --cmd limactl \ + --bash <($out/bin/limactl completion bash) \ + --fish <($out/bin/limactl completion fish) \ + --zsh <($out/bin/limactl completion zsh) + } + postFixupHooks+=(doShellCompletion) + '' + + '' + runHook postInstall + ''; doInstallCheck = true; installCheckPhase = '' diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix index 751cbd021fc21..4c4a267632c10 100644 --- a/pkgs/applications/virtualization/lkl/default.nix +++ b/pkgs/applications/virtualization/lkl/default.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, bc, python3, bison, flex, fuse, libarchive -, buildPackages - -, firewallSupport ? false +{ + lib, + stdenv, + fetchFromGitHub, + bc, + python3, + bison, + flex, + fuse, + libarchive, + buildPackages, + + firewallSupport ? false, }: stdenv.mkDerivation rec { @@ -13,33 +22,48 @@ stdenv.mkDerivation rec { # ref: https://github.com/NixOS/nixpkgs/pull/219434 version = "2022-08-08"; - outputs = [ "dev" "lib" "out" ]; + outputs = [ + "dev" + "lib" + "out" + ]; src = fetchFromGitHub { - owner = "lkl"; - repo = "linux"; - rev = "ffbb4aa67b3e0a64f6963f59385a200d08cb2d8b"; + owner = "lkl"; + repo = "linux"; + rev = "ffbb4aa67b3e0a64f6963f59385a200d08cb2d8b"; sha256 = "sha256-24sNREdnhkF+P+3P0qEh2tF1jHKF7KcbFSn/rPK2zWs="; }; - nativeBuildInputs = [ bc bison flex python3 ]; - - buildInputs = [ fuse libarchive ]; - - postPatch = '' - # Fix a /usr/bin/env reference in here that breaks sandboxed builds - patchShebangs arch/lkl/scripts + nativeBuildInputs = [ + bc + bison + flex + python3 + ]; - patchShebangs scripts/ld-version.sh + buildInputs = [ + fuse + libarchive + ]; - # Fixup build with newer Linux headers: https://github.com/lkl/linux/pull/484 - sed '1i#include ' -i tools/lkl/lib/hijack/xlate.c - '' + lib.optionalString stdenv.hostPlatform.isi686 '' - echo CONFIG_KALLSYMS=n >> arch/lkl/configs/defconfig - echo CONFIG_KALLSYMS_BASE_RELATIVE=n >> arch/lkl/configs/defconfig - '' + lib.optionalString firewallSupport '' - cat ${./lkl-defconfig-enable-nftables} >> arch/lkl/configs/defconfig - ''; + postPatch = + '' + # Fix a /usr/bin/env reference in here that breaks sandboxed builds + patchShebangs arch/lkl/scripts + + patchShebangs scripts/ld-version.sh + + # Fixup build with newer Linux headers: https://github.com/lkl/linux/pull/484 + sed '1i#include ' -i tools/lkl/lib/hijack/xlate.c + '' + + lib.optionalString stdenv.hostPlatform.isi686 '' + echo CONFIG_KALLSYMS=n >> arch/lkl/configs/defconfig + echo CONFIG_KALLSYMS_BASE_RELATIVE=n >> arch/lkl/configs/defconfig + '' + + lib.optionalString firewallSupport '' + cat ${./lkl-defconfig-enable-nftables} >> arch/lkl/configs/defconfig + ''; installPhase = '' mkdir -p $out/bin $lib/lib $dev @@ -63,7 +87,10 @@ stdenv.mkDerivation rec { # We turn off format and fortify because of these errors (fortify implies -O2, which breaks the jitter entropy code): # fs/xfs/xfs_log_recover.c:2575:3: error: format not a string literal and no format arguments [-Werror=format-security] # crypto/jitterentropy.c:54:3: error: #error "The CPU Jitter random number generator must not be compiled with optimizations. See documentation. Use the compiler switch -O0 for compiling jitterentropy.c." - hardeningDisable = [ "format" "fortify" ]; + hardeningDisable = [ + "format" + "fortify" + ]; # Fixes the following error when using liblkl-hijack.so on aarch64-linux: # symbol lookup error: liblkl-hijack.so: undefined symbol: __aarch64_ldadd4_sync @@ -85,9 +112,12 @@ stdenv.mkDerivation rec { extensively as possible with minimal effort and reduced maintenance overhead ''; - homepage = "https://github.com/lkl/linux/"; - platforms = platforms.linux; # Darwin probably works too but I haven't tested it - license = licenses.gpl2; - maintainers = with maintainers; [ copumpkin raitobezarius ]; + homepage = "https://github.com/lkl/linux/"; + platforms = platforms.linux; # Darwin probably works too but I haven't tested it + license = licenses.gpl2; + maintainers = with maintainers; [ + copumpkin + raitobezarius + ]; }; } diff --git a/pkgs/applications/virtualization/podman-compose/default.nix b/pkgs/applications/virtualization/podman-compose/default.nix index 44d9caf260573..c09713d62fbc9 100644 --- a/pkgs/applications/virtualization/podman-compose/default.nix +++ b/pkgs/applications/virtualization/podman-compose/default.nix @@ -1,4 +1,12 @@ -{ lib, buildPythonApplication, fetchFromGitHub, python-dotenv, pyyaml, setuptools, pypaBuildHook }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + python-dotenv, + pyyaml, + setuptools, + pypaBuildHook, +}: buildPythonApplication rec { version = "1.2.0"; @@ -16,7 +24,10 @@ buildPythonApplication rec { setuptools ]; - dependencies = [ python-dotenv pyyaml ]; + dependencies = [ + python-dotenv + pyyaml + ]; propagatedBuildInputs = [ pypaBuildHook ]; meta = { diff --git a/pkgs/applications/virtualization/qboot/default.nix b/pkgs/applications/virtualization/qboot/default.nix index e0d833d0c2d50..5b1c556ea5e52 100644 --- a/pkgs/applications/virtualization/qboot/default.nix +++ b/pkgs/applications/virtualization/qboot/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, meson, ninja, fetchFromGitHub, nixosTests }: +{ + lib, + stdenv, + meson, + ninja, + fetchFromGitHub, + nixosTests, +}: stdenv.mkDerivation { pname = "qboot"; @@ -11,22 +18,33 @@ stdenv.mkDerivation { sha256 = "1d0h29zz535m0pq18k3aya93q7lqm2858mlcp8mlfkbq54n8c5d8"; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; installPhase = '' mkdir -p $out cp bios.bin bios.bin.elf $out/. ''; - hardeningDisable = [ "stackprotector" "pic" ]; + hardeningDisable = [ + "stackprotector" + "pic" + ]; - passthru.tests = { qboot = nixosTests.qboot; }; + passthru.tests = { + qboot = nixosTests.qboot; + }; meta = { description = "Simple x86 firmware for booting Linux"; homepage = "https://github.com/bonzini/qboot"; license = lib.licenses.gpl2; maintainers = [ ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/applications/virtualization/qemu/canokey-qemu.nix b/pkgs/applications/virtualization/qemu/canokey-qemu.nix index b94ba0c1adbe4..0ad27dd55cfb4 100644 --- a/pkgs/applications/virtualization/qemu/canokey-qemu.nix +++ b/pkgs/applications/virtualization/qemu/canokey-qemu.nix @@ -29,16 +29,24 @@ stdenv.mkDerivation rec { preConfigure = '' cmakeFlagsArray+=( - -DCMAKE_C_FLAGS=${lib.escapeShellArg ([ - "-Wno-error=unused-but-set-parameter" - "-Wno-error=unused-but-set-variable" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=documentation" - ])} + -DCMAKE_C_FLAGS=${ + lib.escapeShellArg ( + [ + "-Wno-error=unused-but-set-parameter" + "-Wno-error=unused-but-set-variable" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=documentation" + ] + ) + } ) ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/virtualization/qtemu/default.nix b/pkgs/applications/virtualization/qtemu/default.nix index d8fda62ccf904..081075f890650 100644 --- a/pkgs/applications/virtualization/qtemu/default.nix +++ b/pkgs/applications/virtualization/qtemu/default.nix @@ -1,4 +1,12 @@ -{ lib, mkDerivation, fetchFromGitLab, pkg-config, qmake, qtbase, qemu }: +{ + lib, + mkDerivation, + fetchFromGitLab, + pkg-config, + qmake, + qtbase, + qemu, +}: mkDerivation rec { pname = "qtemu"; diff --git a/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix b/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix index baa95b13c9ed5..b7cd6f4386611 100644 --- a/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix +++ b/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, stdenv -, lld +{ + lib, + fetchFromGitHub, + stdenv, + lld, }: let diff --git a/pkgs/applications/virtualization/sail-riscv/default.nix b/pkgs/applications/virtualization/sail-riscv/default.nix index ba98f6b2cd5a7..18d3c34ddac1d 100644 --- a/pkgs/applications/virtualization/sail-riscv/default.nix +++ b/pkgs/applications/virtualization/sail-riscv/default.nix @@ -1,15 +1,15 @@ -{ stdenv -, fetchFromGitHub -, fetchpatch -, lib -, arch -, ocamlPackages -, ocaml -, zlib -, z3 +{ + stdenv, + fetchFromGitHub, + fetchpatch, + lib, + arch, + ocamlPackages, + ocaml, + zlib, + z3, }: - stdenv.mkDerivation rec { pname = "sail-riscv"; version = "0.5"; @@ -21,8 +21,17 @@ stdenv.mkDerivation rec { hash = "sha256-7PZNNUMaCZEBf0lOCqkquewRgZPooBOjIbGF7JlLnEo="; }; - nativeBuildInputs = with ocamlPackages; [ ocamlbuild findlib ocaml z3 sail ]; - buildInputs = with ocamlPackages; [ zlib linksem ]; + nativeBuildInputs = with ocamlPackages; [ + ocamlbuild + findlib + ocaml + z3 + sail + ]; + buildInputs = with ocamlPackages; [ + zlib + linksem + ]; strictDeps = true; patches = [ @@ -32,11 +41,13 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - rm -r prover_snapshots - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Makefile --replace "-flto" "" - ''; + postPatch = + '' + rm -r prover_snapshots + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile --replace "-flto" "" + ''; makeFlags = [ "SAIL=sail" @@ -56,7 +67,6 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { homepage = "https://github.com/riscv/sail-riscv"; description = "Formal specification of the RISC-V architecture, written in Sail"; diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix index 1ebe650c11ebe..6e0b3944fdd2e 100644 --- a/pkgs/applications/virtualization/singularity/generic.nix +++ b/pkgs/applications/virtualization/singularity/generic.nix @@ -209,16 +209,14 @@ in # Patching the hard-coded defaultPath by prefixing the packages in defaultPathInputs ${lib.concatMapAttrsStringSep "\n" (fileName: originalDefaultPaths: '' substituteInPlace ${lib.escapeShellArg fileName} \ - ${ - lib.concatMapStringsSep " \\\n " ( - originalDefaultPath: - lib.concatStringsSep " " [ - "--replace-fail" - (addShellDoubleQuotes (lib.escapeShellArg originalDefaultPath)) - (addShellDoubleQuotes ''$systemDefaultPath''${systemDefaultPath:+:}${lib.escapeShellArg originalDefaultPath}''${inputsDefaultPath:+:}$inputsDefaultPath'') - ] - ) originalDefaultPaths - } + ${lib.concatMapStringsSep " \\\n " ( + originalDefaultPath: + lib.concatStringsSep " " [ + "--replace-fail" + (addShellDoubleQuotes (lib.escapeShellArg originalDefaultPath)) + (addShellDoubleQuotes ''$systemDefaultPath''${systemDefaultPath:+:}${lib.escapeShellArg originalDefaultPath}''${inputsDefaultPath:+:}$inputsDefaultPath'') + ] + ) originalDefaultPaths} '') sourceFilesWithDefaultPaths} substituteInPlace internal/pkg/util/gpu/nvidia.go \ diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix index 103d0a3f4fbb3..c05dbb1444c31 100644 --- a/pkgs/applications/virtualization/virt-manager/qt.nix +++ b/pkgs/applications/virtualization/virt-manager/qt.nix @@ -1,7 +1,24 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, pkg-config -, qtbase, qtmultimedia, qtsvg, qttools, krdc -, libvncserver, libvirt, pcre, pixman, qtermwidget, spice-gtk, spice-protocol -, libselinux, libsepol, util-linux +{ + mkDerivation, + lib, + fetchFromGitHub, + cmake, + pkg-config, + qtbase, + qtmultimedia, + qtsvg, + qttools, + krdc, + libvncserver, + libvirt, + pcre, + pixman, + qtermwidget, + spice-gtk, + spice-protocol, + libselinux, + libsepol, + util-linux, }: mkDerivation rec { @@ -9,10 +26,10 @@ mkDerivation rec { version = "0.72.99"; src = fetchFromGitHub { - owner = "F1ash"; - repo = "qt-virt-manager"; - rev = version; - hash = "sha256-1aXlGlK+YPOe2X51xycWvSu8YC9uCywyL6ItiScFA04="; + owner = "F1ash"; + repo = "qt-virt-manager"; + rev = version; + hash = "sha256-1aXlGlK+YPOe2X51xycWvSu8YC9uCywyL6ItiScFA04="; }; cmakeFlags = [ @@ -21,22 +38,37 @@ mkDerivation rec { ]; buildInputs = [ - qtbase qtmultimedia qtsvg krdc - libvirt libvncserver pcre pixman qtermwidget spice-gtk spice-protocol - libselinux libsepol util-linux + qtbase + qtmultimedia + qtsvg + krdc + libvirt + libvncserver + pcre + pixman + qtermwidget + spice-gtk + spice-protocol + libselinux + libsepol + util-linux ]; - nativeBuildInputs = [ cmake pkg-config qttools ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + ]; meta = with lib; { - homepage = "https://f1ash.github.io/qt-virt-manager"; + homepage = "https://f1ash.github.io/qt-virt-manager"; description = "Desktop user interface for managing virtual machines (QT)"; longDescription = '' The virt-manager application is a desktop user interface for managing virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (linux containers). ''; - license = licenses.gpl2; + license = licenses.gpl2; maintainers = with maintainers; [ peterhoeg ]; inherit (qtbase.meta) platforms; }; diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix index 496cd36cdfe38..1067427447acd 100644 --- a/pkgs/applications/virtualization/virt-top/default.nix +++ b/pkgs/applications/virtualization/virt-top/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchgit, ocamlPackages, autoreconfHook, libxml2, pkg-config, getopt }: +{ + lib, + stdenv, + fetchgit, + ocamlPackages, + autoreconfHook, + libxml2, + pkg-config, + getopt, +}: stdenv.mkDerivation rec { pname = "virt-top"; @@ -19,13 +28,16 @@ stdenv.mkDerivation rec { ocamlPackages.ocaml ocamlPackages.findlib ]; - buildInputs = with ocamlPackages; [ - ocamlPackages.ocaml - calendar - curses - gettext-stub - ocaml_libvirt - ] ++ [ libxml2 ]; + buildInputs = + with ocamlPackages; + [ + ocamlPackages.ocaml + calendar + curses + gettext-stub + ocaml_libvirt + ] + ++ [ libxml2 ]; prePatch = '' substituteInPlace ocaml-dep.sh.in --replace '#!/bin/bash' '#!${stdenv.shell}' diff --git a/pkgs/applications/virtualization/xhyve/default.nix b/pkgs/applications/virtualization/xhyve/default.nix index a9119975a7ae3..c994cf7ec8190 100644 --- a/pkgs/applications/virtualization/xhyve/default.nix +++ b/pkgs/applications/virtualization/xhyve/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, Hypervisor, vmnet, xpc, libobjc, zlib }: +{ + stdenv, + lib, + fetchFromGitHub, + Hypervisor, + vmnet, + xpc, + libobjc, + zlib, +}: stdenv.mkDerivation rec { pname = "xhyve"; @@ -11,7 +20,13 @@ stdenv.mkDerivation rec { sha256 = "1pjdg4ppy6qh3vr1ls5zyw3jzcvwny9wydnmfpadwij1hvns7lj3"; }; - buildInputs = [ Hypervisor vmnet xpc libobjc zlib ]; + buildInputs = [ + Hypervisor + vmnet + xpc + libobjc + zlib + ]; # Don't use git to determine version prePatch = '' @@ -19,8 +34,10 @@ stdenv.mkDerivation rec { --replace 'shell git describe --abbrev=6 --dirty --always --tags' "$version" ''; - - makeFlags = [ "CFLAGS+=-Wno-shift-sign-overflow" ''CFLAGS+=-DVERSION=\"${version}\"'' ]; + makeFlags = [ + "CFLAGS+=-Wno-shift-sign-overflow" + ''CFLAGS+=-DVERSION=\"${version}\"'' + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/applications/window-managers/2bwm/default.nix b/pkgs/applications/window-managers/2bwm/default.nix index 09f3a0ebce628..4ed3054a42e77 100644 --- a/pkgs/applications/window-managers/2bwm/default.nix +++ b/pkgs/applications/window-managers/2bwm/default.nix @@ -1,22 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, patches -, libxcb, xcbutilkeysyms, xcbutilwm -, libX11, xcbutil, xcbutilxrm }: +{ + lib, + stdenv, + fetchFromGitHub, + patches, + libxcb, + xcbutilkeysyms, + xcbutilwm, + libX11, + xcbutil, + xcbutilxrm, +}: stdenv.mkDerivation rec { version = "0.3"; pname = "2bwm"; src = fetchFromGitHub { - owner = "venam"; - repo = "2bwm"; - rev = "v${version}"; + owner = "venam"; + repo = "2bwm"; + rev = "v${version}"; sha256 = "1xwib612ahv4rg9yl5injck89dlpyp5475xqgag0ydfd0r4sfld7"; }; # Allow users set their own list of patches inherit patches; - buildInputs = [ libxcb xcbutilkeysyms xcbutilwm libX11 xcbutil xcbutilxrm ]; + buildInputs = [ + libxcb + xcbutilkeysyms + xcbutilwm + libX11 + xcbutil + xcbutilxrm + ]; installPhase = "make install DESTDIR=$out PREFIX=\"\""; @@ -24,7 +40,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/venam/2bwm"; description = "Fast floating WM written over the XCB library and derived from mcwm"; license = licenses.mit; - maintainers = [ maintainers.sternenseemann ]; + maintainers = [ maintainers.sternenseemann ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index 3c377d011bd34..2e60bcf41e68e 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -1,20 +1,49 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, lua, cairo, librsvg, cmake, imagemagick, pkg-config, gdk-pixbuf -, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs -, xcb-util-cursor, makeWrapper, pango, gobject-introspection -, which, dbus, nettools, git, doxygen -, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs -, libxkbcommon, xcbutilxrm, hicolor-icon-theme -, asciidoctor -, fontsConf -, gtk3Support ? false, gtk3 ? null +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + lua, + cairo, + librsvg, + cmake, + imagemagick, + pkg-config, + gdk-pixbuf, + xorg, + libstartup_notification, + libxdg_basedir, + libpthreadstubs, + xcb-util-cursor, + makeWrapper, + pango, + gobject-introspection, + which, + dbus, + nettools, + git, + doxygen, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, + findXMLCatalogs, + libxkbcommon, + xcbutilxrm, + hicolor-icon-theme, + asciidoctor, + fontsConf, + gtk3Support ? false, + gtk3 ? null, }: # needed for beautiful.gtk to work assert gtk3Support -> gtk3 != null; let - luaEnv = lua.withPackages(ps: [ ps.lgi ps.ldoc ]); + luaEnv = lua.withPackages (ps: [ + ps.lgi + ps.ldoc + ]); in stdenv.mkDerivation rec { @@ -49,37 +78,59 @@ stdenv.mkDerivation rec { imagemagick makeWrapper pkg-config - xmlto docbook_xml_dtd_45 - docbook_xsl findXMLCatalogs + xmlto + docbook_xml_dtd_45 + docbook_xsl + findXMLCatalogs asciidoctor gobject-introspection ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; FONTCONFIG_FILE = toString fontsConf; propagatedUserEnvPkgs = [ hicolor-icon-theme ]; - buildInputs = [ cairo librsvg dbus gdk-pixbuf - git luaEnv libpthreadstubs libstartup_notification - libxdg_basedir lua nettools pango xcb-util-cursor - xorg.libXau xorg.libXdmcp xorg.libxcb xorg.libxshmfence - xorg.xcbutil xorg.xcbutilimage xorg.xcbutilkeysyms - xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon - xcbutilxrm ] - ++ lib.optional gtk3Support gtk3; + buildInputs = [ + cairo + librsvg + dbus + gdk-pixbuf + git + luaEnv + libpthreadstubs + libstartup_notification + libxdg_basedir + lua + nettools + pango + xcb-util-cursor + xorg.libXau + xorg.libXdmcp + xorg.libxcb + xorg.libxshmfence + xorg.xcbutil + xorg.xcbutilimage + xorg.xcbutilkeysyms + xorg.xcbutilrenderutil + xorg.xcbutilwm + libxkbcommon + xcbutilxrm + ] ++ lib.optional gtk3Support gtk3; cmakeFlags = [ #"-DGENERATE_MANPAGES=ON" "-DOVERRIDE_VERSION=${version}" - ] ++ lib.optional lua.pkgs.isLuaJIT "-DLUA_LIBRARY=${lua}/lib/libluajit-5.1.so" - ; + ] ++ lib.optional lua.pkgs.isLuaJIT "-DLUA_LIBRARY=${lua}/lib/libluajit-5.1.so"; GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0"; # LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags # below for how awesome finds the libraries it needs at runtime. LUA_CPATH = "${luaEnv}/lib/lua/${lua.luaversion}/?.so"; - LUA_PATH = "${luaEnv}/share/lua/${lua.luaversion}/?.lua;;"; + LUA_PATH = "${luaEnv}/share/lua/${lua.luaversion}/?.lua;;"; postInstall = '' # Don't use wrapProgram or the wrapper will duplicate the --search @@ -101,9 +152,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Highly configurable, dynamic window manager for X"; - homepage = "https://awesomewm.org/"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ lovek323 rasendubi ]; - platforms = platforms.linux; + homepage = "https://awesomewm.org/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ + lovek323 + rasendubi + ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix index ab9f8c5e23409..69db37cbc9511 100644 --- a/pkgs/applications/window-managers/cage/default.nix +++ b/pkgs/applications/window-managers/cage/default.nix @@ -1,9 +1,25 @@ -{ lib, stdenv, fetchFromGitHub -, meson, ninja, pkg-config, wayland-scanner, scdoc, makeWrapper -, wlroots, wayland, wayland-protocols, pixman, libxkbcommon, xcbutilwm -, systemd, libGL, libX11, mesa -, xwayland ? null -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wayland-scanner, + scdoc, + makeWrapper, + wlroots, + wayland, + wayland-protocols, + pixman, + libxkbcommon, + xcbutilwm, + systemd, + libGL, + libX11, + mesa, + xwayland ? null, + nixosTests, }: stdenv.mkDerivation rec { @@ -21,12 +37,26 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner scdoc makeWrapper ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + scdoc + makeWrapper + ]; buildInputs = [ - wlroots wayland wayland-protocols pixman libxkbcommon xcbutilwm + wlroots + wayland + wayland-protocols + pixman + libxkbcommon + xcbutilwm mesa # for libEGL headers - systemd libGL libX11 + systemd + libGL + libX11 ]; postFixup = lib.optionalString wlroots.enableXWayland '' @@ -38,9 +68,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Wayland kiosk that runs a single, maximized application"; - homepage = "https://www.hjdskes.nl/projects/cage/"; - license = licenses.mit; - platforms = platforms.linux; + homepage = "https://www.hjdskes.nl/projects/cage/"; + license = licenses.mit; + platforms = platforms.linux; maintainers = with maintainers; [ primeos ]; mainProgram = "cage"; }; diff --git a/pkgs/applications/window-managers/cagebreak/default.nix b/pkgs/applications/window-managers/cagebreak/default.nix index 13618f6afb336..9bd7881e641a8 100644 --- a/pkgs/applications/window-managers/cagebreak/default.nix +++ b/pkgs/applications/window-managers/cagebreak/default.nix @@ -1,27 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, cairo -, fontconfig -, libevdev -, libinput -, libxkbcommon -, xcbutilwm -, makeWrapper -, mesa -, meson -, ninja -, nixosTests -, pango -, pixman -, pkg-config -, scdoc -, systemd -, wayland -, wayland-protocols -, wayland-scanner -, withXwayland ? true , xwayland -, wlroots +{ + lib, + stdenv, + fetchFromGitHub, + cairo, + fontconfig, + libevdev, + libinput, + libxkbcommon, + xcbutilwm, + makeWrapper, + mesa, + meson, + ninja, + nixosTests, + pango, + pixman, + pkg-config, + scdoc, + systemd, + wayland, + wayland-protocols, + wayland-scanner, + withXwayland ? true, + xwayland, + wlroots, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix index 74d5022219a05..4204fb9590e0f 100644 --- a/pkgs/applications/window-managers/dwm/default.nix +++ b/pkgs/applications/window-managers/dwm/default.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchurl, libX11, libXinerama, libXft, writeText, patches ? [ ], conf ? null -# update script dependencies -, gitUpdater +{ + lib, + stdenv, + fetchurl, + libX11, + libXinerama, + libXft, + writeText, + patches ? [ ], + conf ? null, + # update script dependencies + gitUpdater, }: stdenv.mkDerivation rec { @@ -12,7 +21,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-Ideev6ny+5MUGDbCZmy4H0eExp1k5/GyNS+blwuglyk="; }; - buildInputs = [ libX11 libXinerama libXft ]; + buildInputs = [ + libX11 + libXinerama + libXft + ]; prePatch = '' sed -i "s@/usr/local@$out@" config.mk @@ -25,8 +38,7 @@ stdenv.mkDerivation rec { postPatch = let configFile = - if lib.isDerivation conf || builtins.isPath conf - then conf else writeText "config.def.h" conf; + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf; in lib.optionalString (conf != null) "cp ${configFile} config.def.h"; diff --git a/pkgs/applications/window-managers/dwm/dwm-status.nix b/pkgs/applications/window-managers/dwm/dwm-status.nix index cb303ff268aea..5448906937f8f 100644 --- a/pkgs/applications/window-managers/dwm/dwm-status.nix +++ b/pkgs/applications/window-managers/dwm/dwm-status.nix @@ -1,10 +1,33 @@ -{ lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg -, enableAlsaUtils ? true, alsa-utils, coreutils -, enableNetwork ? true, dnsutils, iproute2, wirelesstools }: +{ + lib, + rustPlatform, + fetchFromGitHub, + dbus, + gdk-pixbuf, + libnotify, + makeWrapper, + pkg-config, + xorg, + enableAlsaUtils ? true, + alsa-utils, + coreutils, + enableNetwork ? true, + dnsutils, + iproute2, + wirelesstools, +}: let - bins = lib.optionals enableAlsaUtils [ alsa-utils coreutils ] - ++ lib.optionals enableNetwork [ dnsutils iproute2 wirelesstools ]; + bins = + lib.optionals enableAlsaUtils [ + alsa-utils + coreutils + ] + ++ lib.optionals enableNetwork [ + dnsutils + iproute2 + wirelesstools + ]; in rustPlatform.buildRustPackage rec { @@ -18,12 +41,20 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-GkTPEmsnHFLUvbasAOXOQjFKs1Y9aaG87uyPvnQaT8Y="; }; - nativeBuildInputs = [ makeWrapper pkg-config ]; - buildInputs = [ dbus gdk-pixbuf libnotify xorg.libX11 ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + buildInputs = [ + dbus + gdk-pixbuf + libnotify + xorg.libX11 + ]; cargoHash = "sha256-eRfXUnyzOfVSEiwjLCaNbETUPXVU2Ed2VUNM9FjS5YE="; - postInstall = lib.optionalString (bins != []) '' + postInstall = lib.optionalString (bins != [ ]) '' wrapProgram $out/bin/dwm-status --prefix "PATH" : "${lib.makeBinPath bins}" ''; diff --git a/pkgs/applications/window-managers/evilwm/default.nix b/pkgs/applications/window-managers/evilwm/default.nix index 017a1ab0fe952..782c80599bed4 100644 --- a/pkgs/applications/window-managers/evilwm/default.nix +++ b/pkgs/applications/window-managers/evilwm/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, libX11 -, libXext -, libXrandr -, libXrender -, xorgproto -, patches ? [ ] +{ + lib, + stdenv, + fetchurl, + libX11, + libXext, + libXrandr, + libXrender, + xorgproto, + patches ? [ ], }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/window-managers/hyprwm/hypr/default.nix b/pkgs/applications/window-managers/hyprwm/hypr/default.nix index 1eb311d4e159e..e47dd2fde5162 100644 --- a/pkgs/applications/window-managers/hyprwm/hypr/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hypr/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cairo -, cmake -, glib -, gtkmm3 -, harfbuzz -, libX11 -, libXdmcp -, libxcb -, makeWrapper -, pcre2 -, pkg-config -, xcbutilcursor -, xcbutilkeysyms -, xcbutilwm -, xcbutil -, xmodmap +{ + lib, + stdenv, + fetchFromGitHub, + cairo, + cmake, + glib, + gtkmm3, + harfbuzz, + libX11, + libXdmcp, + libxcb, + makeWrapper, + pcre2, + pkg-config, + xcbutilcursor, + xcbutilkeysyms, + xcbutilwm, + xcbutil, + xmodmap, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix index 0393c6eddd3ba..02f72471e8767 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, hatchling -, more-itertools -, click -, hyprland -, makeWrapper +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + more-itertools, + click, + hyprland, + makeWrapper, }: buildPythonPackage rec { @@ -25,7 +26,10 @@ buildPythonPackage rec { makeWrapper ]; - propagatedBuildInputs = [ more-itertools click ]; + propagatedBuildInputs = [ + more-itertools + click + ]; postFixup = '' wrapProgram $out/bin/hyprshade \ diff --git a/pkgs/applications/window-managers/i3/auto-layout.nix b/pkgs/applications/window-managers/i3/auto-layout.nix index ef6c27de438ef..b72f7f2ffbafb 100644 --- a/pkgs/applications/window-managers/i3/auto-layout.nix +++ b/pkgs/applications/window-managers/i3/auto-layout.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "i3-auto-layout"; @@ -21,7 +25,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "i3-auto-layout"; homepage = "https://github.com/chmln/i3-auto-layout"; license = licenses.mit; - maintainers = with maintainers; [ mephistophiles perstark ]; + maintainers = with maintainers; [ + mephistophiles + perstark + ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/window-managers/i3/balance-workspace.nix b/pkgs/applications/window-managers/i3/balance-workspace.nix index de68a06d896e2..913802294862a 100644 --- a/pkgs/applications/window-managers/i3/balance-workspace.nix +++ b/pkgs/applications/window-managers/i3/balance-workspace.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchPypi, i3ipc }: +{ + lib, + buildPythonPackage, + fetchPypi, + i3ipc, +}: buildPythonPackage rec { pname = "i3-balance-workspace"; @@ -11,7 +16,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ i3ipc ]; - doCheck = false; # project has no test + doCheck = false; # project has no test pythonImportsCheck = [ "i3_balance_workspace" ]; meta = { diff --git a/pkgs/applications/window-managers/i3/blocks-gaps.nix b/pkgs/applications/window-managers/i3/blocks-gaps.nix index 6c32583aa0631..a49cd469d15f1 100644 --- a/pkgs/applications/window-managers/i3/blocks-gaps.nix +++ b/pkgs/applications/window-managers/i3/blocks-gaps.nix @@ -1,12 +1,34 @@ -{ fetchFromGitHub, lib, stdenv, perl, makeWrapper -, iproute2, acpi, sysstat, alsa-utils -, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface" - "load_average" "memory" "volume" "wifi" ] +{ + fetchFromGitHub, + lib, + stdenv, + perl, + makeWrapper, + iproute2, + acpi, + sysstat, + alsa-utils, + scripts ? [ + "bandwidth" + "battery" + "cpu_usage" + "disk" + "iface" + "load_average" + "memory" + "volume" + "wifi" + ], }: let - perlscripts = [ "battery" "cpu_usage" "openvpn" "temperature" ]; - contains_any = l1: l2: 0 < lib.length( lib.intersectLists l1 l2 ); + perlscripts = [ + "battery" + "cpu_usage" + "openvpn" + "temperature" + ]; + contains_any = l1: l2: 0 < lib.length (lib.intersectLists l1 l2); in stdenv.mkDerivation rec { @@ -21,27 +43,35 @@ stdenv.mkDerivation rec { }; makeFlags = [ "all" ]; - installFlags = [ "PREFIX=\${out}" "VERSION=${version}" ]; + installFlags = [ + "PREFIX=\${out}" + "VERSION=${version}" + ]; buildInputs = lib.optional (contains_any scripts perlscripts) perl; nativeBuildInputs = [ makeWrapper ]; - postFixup = lib.optionalString (lib.elem "bandwidth" scripts) '' - wrapProgram $out/libexec/i3blocks/bandwidth \ - --prefix PATH : ${lib.makeBinPath [ iproute2 ]} - '' + lib.optionalString (lib.elem "battery" scripts) '' - wrapProgram $out/libexec/i3blocks/battery \ - --prefix PATH : ${lib.makeBinPath [ acpi ]} - '' + lib.optionalString (lib.elem "cpu_usage" scripts) '' - wrapProgram $out/libexec/i3blocks/cpu_usage \ - --prefix PATH : ${lib.makeBinPath [ sysstat ]} - '' + lib.optionalString (lib.elem "iface" scripts) '' - wrapProgram $out/libexec/i3blocks/iface \ - --prefix PATH : ${lib.makeBinPath [ iproute2 ]} - '' + lib.optionalString (lib.elem "volume" scripts) '' - wrapProgram $out/libexec/i3blocks/volume \ - --prefix PATH : ${lib.makeBinPath [ alsa-utils ]} - ''; + postFixup = + lib.optionalString (lib.elem "bandwidth" scripts) '' + wrapProgram $out/libexec/i3blocks/bandwidth \ + --prefix PATH : ${lib.makeBinPath [ iproute2 ]} + '' + + lib.optionalString (lib.elem "battery" scripts) '' + wrapProgram $out/libexec/i3blocks/battery \ + --prefix PATH : ${lib.makeBinPath [ acpi ]} + '' + + lib.optionalString (lib.elem "cpu_usage" scripts) '' + wrapProgram $out/libexec/i3blocks/cpu_usage \ + --prefix PATH : ${lib.makeBinPath [ sysstat ]} + '' + + lib.optionalString (lib.elem "iface" scripts) '' + wrapProgram $out/libexec/i3blocks/iface \ + --prefix PATH : ${lib.makeBinPath [ iproute2 ]} + '' + + lib.optionalString (lib.elem "volume" scripts) '' + wrapProgram $out/libexec/i3blocks/volume \ + --prefix PATH : ${lib.makeBinPath [ alsa-utils ]} + ''; meta = with lib; { description = "Flexible scheduler for your i3bar blocks -- this is a fork to use with i3-gaps"; diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix index ad495723b6db8..c6905ae0f1997 100644 --- a/pkgs/applications/window-managers/i3/blocks.nix +++ b/pkgs/applications/window-managers/i3/blocks.nix @@ -1,4 +1,11 @@ -{ fetchFromGitHub, fetchpatch, lib, stdenv, autoreconfHook, pkg-config }: +{ + fetchFromGitHub, + fetchpatch, + lib, + stdenv, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation { pname = "i3blocks"; @@ -20,7 +27,10 @@ stdenv.mkDerivation { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = with lib; { description = "Flexible scheduler for your i3bar blocks"; diff --git a/pkgs/applications/window-managers/i3/bumblebee-status/default.nix b/pkgs/applications/window-managers/i3/bumblebee-status/default.nix index 99b5b203ee2f3..7e789586cda9f 100644 --- a/pkgs/applications/window-managers/i3/bumblebee-status/default.nix +++ b/pkgs/applications/window-managers/i3/bumblebee-status/default.nix @@ -1,20 +1,20 @@ -{ pkgs -, lib -, glibcLocales -, python -, fetchpatch -, fetchFromGitHub +{ + pkgs, + lib, + glibcLocales, + python, + fetchpatch, + fetchFromGitHub, # Usage: bumblebee-status.override { plugins = p: [p.arandr p.bluetooth2]; }; -, plugins ? p: [ ] + plugins ? p: [ ], }: let version = "2.2.0"; # { = { name = "..."; propagatedBuildInputs = [ ... ]; buildInputs = [ ... ]; } } - allPlugins = - lib.mapAttrs - (name: value: value // { inherit name; }) - (import ./plugins.nix { inherit pkgs python; }); + allPlugins = lib.mapAttrs (name: value: value // { inherit name; }) ( + import ./plugins.nix { inherit pkgs python; } + ); # [ { name = "..."; propagatedBuildInputs = [ ... ]; buildInputs = [ ... ]; } ] selectedPlugins = plugins allPlugins; @@ -42,7 +42,14 @@ python.pkgs.buildPythonPackage { buildInputs = lib.concatMap (p: p.buildInputs or [ ]) selectedPlugins; propagatedBuildInputs = lib.concatMap (p: p.propagatedBuildInputs or [ ]) selectedPlugins; - checkInputs = with python.pkgs; [ freezegun netifaces psutil pytest pytest-mock requests ]; + checkInputs = with python.pkgs; [ + freezegun + netifaces + psutil + pytest + pytest-mock + requests + ]; checkPhase = '' runHook preCheck diff --git a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix index d5567ce15e8f1..7881b46eac43f 100644 --- a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix +++ b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix @@ -1,6 +1,7 @@ -{ pkgs -, python -, ... +{ + pkgs, + python, + ... }: # propagatedBuildInputs are for Python libraries and executables # buildInputs are for libraries @@ -11,7 +12,11 @@ in amixer.propagatedBuildInputs = [ pkgs.alsa-utils ]; # aptitude is unpackaged # apt.propagatedBuildInputs = [aptitude]; - arandr.propagatedBuildInputs = [ py.tkinter pkgs.arandr pkgs.xorg.xrandr ]; + arandr.propagatedBuildInputs = [ + py.tkinter + pkgs.arandr + pkgs.xorg.xrandr + ]; # checkupdates is unpackaged # arch-update.propagatedBuildInputs = [checkupdates]; # checkupdates is unpackaged @@ -21,20 +26,46 @@ in battery = { }; battery-upower = { }; battery_upower = { }; - bluetooth.propagatedBuildInputs = [ pkgs.bluez pkgs.blueman pkgs.dbus ]; - bluetooth2.propagatedBuildInputs = [ pkgs.bluez pkgs.blueman pkgs.dbus py.dbus-python ]; + bluetooth.propagatedBuildInputs = [ + pkgs.bluez + pkgs.blueman + pkgs.dbus + ]; + bluetooth2.propagatedBuildInputs = [ + pkgs.bluez + pkgs.blueman + pkgs.dbus + py.dbus-python + ]; blugon.propagatedBuildInputs = [ pkgs.blugon ]; # If you do not allow this plugin to query the system's ACPI, i.e. the plugin option `use_acpi` is set to `False`, then you need at least one of [ brightnessctl light xbacklight ] brightness.propagatedBuildInputs = [ ]; - caffeine.propagatedBuildInputs = [ pkgs.xdg-utils pkgs.xdotool pkgs.xorg.xprop pkgs.libnotify ]; + caffeine.propagatedBuildInputs = [ + pkgs.xdg-utils + pkgs.xdotool + pkgs.xorg.xprop + pkgs.libnotify + ]; cmus.propagatedBuildInputs = [ pkgs.cmus ]; - cpu.propagatedBuildInputs = [ py.psutil pkgs.gnome-system-monitor ]; - cpu2.propagatedBuildInputs = [ py.psutil pkgs.lm_sensors ]; - cpu3.propagatedBuildInputs = [ py.psutil pkgs.lm_sensors ]; + cpu.propagatedBuildInputs = [ + py.psutil + pkgs.gnome-system-monitor + ]; + cpu2.propagatedBuildInputs = [ + py.psutil + pkgs.lm_sensors + ]; + cpu3.propagatedBuildInputs = [ + py.psutil + pkgs.lm_sensors + ]; currency.propagatedBuildInputs = [ py.requests ]; date = { }; datetime = { }; - datetimetz.propagatedBuildInputs = [ py.tzlocal py.pytz ]; + datetimetz.propagatedBuildInputs = [ + py.tzlocal + py.pytz + ]; datetz = { }; deadbeef.propagatedBuildInputs = [ pkgs.deadbeef ]; debug = { }; @@ -54,7 +85,10 @@ in py.google-auth-oauthlib ]; getcrypto.propagatedBuildInputs = [ py.requests ]; - git.propagatedBuildInputs = [ pkgs.xcwd pkgs.pygit2 ]; + git.propagatedBuildInputs = [ + pkgs.xcwd + pkgs.pygit2 + ]; github.propagatedBuildInputs = [ py.requests ]; gitlab.propagatedBuildInputs = [ py.requests ]; # gpmdp-remote is unpackaged @@ -90,16 +124,25 @@ in messagereceiver = { }; mocp.propagatedBuildInputs = [ pkgs.moc ]; mpd.propagatedBuildInputs = [ pkgs.mpc ]; - network.propagatedBuildInputs = [ py.netifaces pkgs.iw ]; + network.propagatedBuildInputs = [ + py.netifaces + pkgs.iw + ]; network_traffic.propagatedBuildInputs = [ py.netifaces ]; - nic.propagatedBuildInputs = [ py.netifaces pkgs.iw ]; + nic.propagatedBuildInputs = [ + py.netifaces + pkgs.iw + ]; notmuch_count.propagatedBuildInputs = [ pkgs.notmuch ]; # nvidian-smi is unpackaged # nvidiagpu.propagatedBuildInputs = [nvidia-smi]; octoprint.propagatedBuildInputs = [ py.tkinter ]; # optimus-manager is unpackaged # optman.propagatedBuildInputs = [optimus-manager]; - pacman.propagatedBuildInputs = [ pkgs.fakeroot pkgs.pacman ]; + pacman.propagatedBuildInputs = [ + pkgs.fakeroot + pkgs.pacman + ]; pamixer.propagatedBuildInputs = [ pkgs.pamixer ]; persian_date.propagatedBuildInputs = [ py.jdatetime ]; pihole = { }; @@ -148,9 +191,15 @@ in # Needs `systemctl` twmn.propagatedBuildInputs = [ ]; uptime = { }; - usage.propagatedBuildInputs = [ py.sqlite pkgs.activitywatch ]; + usage.propagatedBuildInputs = [ + py.sqlite + pkgs.activitywatch + ]; vault.propagatedBuildInputs = [ pkgs.pass ]; - vpn.propagatedBuildInputs = [ py.tkinter pkgs.networkmanager ]; + vpn.propagatedBuildInputs = [ + py.tkinter + pkgs.networkmanager + ]; wakatime.propagatedBuildInputs = [ py.requests ]; watson.propagatedBuildInputs = [ pkgs.watson ]; weather.propagatedBuildInputs = [ py.requests ]; diff --git a/pkgs/applications/window-managers/i3/cycle-focus.nix b/pkgs/applications/window-managers/i3/cycle-focus.nix index f6ae488b07891..1ec3b1e67fe98 100644 --- a/pkgs/applications/window-managers/i3/cycle-focus.nix +++ b/pkgs/applications/window-managers/i3/cycle-focus.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage { diff --git a/pkgs/applications/window-managers/i3/easyfocus.nix b/pkgs/applications/window-managers/i3/easyfocus.nix index a1f0895bff6d7..257604baf2d62 100644 --- a/pkgs/applications/window-managers/i3/easyfocus.nix +++ b/pkgs/applications/window-managers/i3/easyfocus.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, xorgproto, libxcb, xcbutilkeysyms -, xorg , i3ipc-glib , glib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + xorgproto, + libxcb, + xcbutilkeysyms, + xorg, + i3ipc-glib, + glib, }: stdenv.mkDerivation { @@ -14,7 +23,14 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxcb xcbutilkeysyms xorgproto xorg.libX11.dev i3ipc-glib glib.dev ]; + buildInputs = [ + libxcb + xcbutilkeysyms + xorgproto + xorg.libX11.dev + i3ipc-glib + glib.dev + ]; # Makefile has no rule for 'install' installPhase = '' @@ -26,7 +42,7 @@ stdenv.mkDerivation { description = "Focus and select windows in i3"; mainProgram = "i3-easyfocus"; homepage = "https://github.com/cornerman/i3-easyfocus"; - maintainers = with maintainers; [teto]; + maintainers = with maintainers; [ teto ]; license = licenses.gpl3; platforms = platforms.linux; }; diff --git a/pkgs/applications/window-managers/i3/i3-ratiosplit.nix b/pkgs/applications/window-managers/i3/i3-ratiosplit.nix index ad585ef08885d..e7b339177476d 100644 --- a/pkgs/applications/window-managers/i3/i3-ratiosplit.nix +++ b/pkgs/applications/window-managers/i3/i3-ratiosplit.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "i3-ratiosplit"; diff --git a/pkgs/applications/window-managers/i3/i3-resurrect.nix b/pkgs/applications/window-managers/i3/i3-resurrect.nix index 2040cdba806a1..0fd06d1e34b79 100644 --- a/pkgs/applications/window-managers/i3/i3-resurrect.nix +++ b/pkgs/applications/window-managers/i3/i3-resurrect.nix @@ -1,4 +1,15 @@ -{ lib, buildPythonApplication, click, i3ipc, psutil, natsort, fetchPypi, xprop, xdotool, importlib-metadata }: +{ + lib, + buildPythonApplication, + click, + i3ipc, + psutil, + natsort, + fetchPypi, + xprop, + xdotool, + importlib-metadata, +}: buildPythonApplication rec { pname = "i3-resurrect"; @@ -9,7 +20,15 @@ buildPythonApplication rec { hash = "sha256-13FKRvEE4vHq5G51G1UyBnfNiWeS9Q/SYCG16E1Sn4c="; }; - propagatedBuildInputs = [ click psutil xprop natsort i3ipc xdotool importlib-metadata ]; + propagatedBuildInputs = [ + click + psutil + xprop + natsort + i3ipc + xdotool + importlib-metadata + ]; doCheck = false; # no tests meta = with lib; { @@ -17,7 +36,7 @@ buildPythonApplication rec { description = "Simple but flexible solution to saving and restoring i3 workspaces"; mainProgram = "i3-resurrect"; license = licenses.gpl3; - platforms= platforms.linux; + platforms = platforms.linux; maintainers = with maintainers; [ magnetophon ]; }; } diff --git a/pkgs/applications/window-managers/i3/i3ipc-glib.nix b/pkgs/applications/window-managers/i3/i3ipc-glib.nix index 9362cdcfdcec7..753cb3b4eb9ea 100644 --- a/pkgs/applications/window-managers/i3/i3ipc-glib.nix +++ b/pkgs/applications/window-managers/i3/i3ipc-glib.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, xorgproto, libxcb -, autoreconfHook, json-glib, gtk-doc, which -, gobject-introspection +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + xorgproto, + libxcb, + autoreconfHook, + json-glib, + gtk-doc, + which, + gobject-introspection, }: stdenv.mkDerivation rec { @@ -15,9 +24,19 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ autoreconfHook which pkg-config gtk-doc gobject-introspection ]; + nativeBuildInputs = [ + autoreconfHook + which + pkg-config + gtk-doc + gobject-introspection + ]; - buildInputs = [ libxcb json-glib xorgproto ]; + buildInputs = [ + libxcb + json-glib + xorgproto + ]; preAutoreconf = '' gtkdocize @@ -26,7 +45,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C interface library to i3wm"; homepage = "https://github.com/acrisci/i3ipc-glib"; - maintainers = with maintainers; [teto]; + maintainers = with maintainers; [ teto ]; license = licenses.gpl3; platforms = platforms.linux; }; diff --git a/pkgs/applications/window-managers/i3/kitti3.nix b/pkgs/applications/window-managers/i3/kitti3.nix index 4a88518d508bb..68e958c497b95 100644 --- a/pkgs/applications/window-managers/i3/kitti3.nix +++ b/pkgs/applications/window-managers/i3/kitti3.nix @@ -1,8 +1,9 @@ -{ buildPythonApplication -, fetchFromGitHub -, poetry-core -, i3ipc -, lib +{ + buildPythonApplication, + fetchFromGitHub, + poetry-core, + i3ipc, + lib, }: buildPythonApplication rec { diff --git a/pkgs/applications/window-managers/i3/layout-manager.nix b/pkgs/applications/window-managers/i3/layout-manager.nix index df5bb41d85ecc..c32a9dc777be2 100644 --- a/pkgs/applications/window-managers/i3/layout-manager.nix +++ b/pkgs/applications/window-managers/i3/layout-manager.nix @@ -1,7 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, vim, makeWrapper, jq, rofi, xrandr, xdotool, i3, gawk, libnotify }: +{ + lib, + stdenv, + fetchFromGitHub, + vim, + makeWrapper, + jq, + rofi, + xrandr, + xdotool, + i3, + gawk, + libnotify, +}: let - path = lib.makeBinPath [ vim jq rofi xrandr xdotool i3 gawk libnotify ]; + path = lib.makeBinPath [ + vim + jq + rofi + xrandr + xdotool + i3 + gawk + libnotify + ]; in stdenv.mkDerivation rec { diff --git a/pkgs/applications/window-managers/i3/lock-blur.nix b/pkgs/applications/window-managers/i3/lock-blur.nix index dc8e8250135b6..68471ad4bc0df 100644 --- a/pkgs/applications/window-managers/i3/lock-blur.nix +++ b/pkgs/applications/window-managers/i3/lock-blur.nix @@ -1,6 +1,13 @@ -{ i3lock-color, lib, stdenv, fetchFromGitHub, fetchpatch, libGL }: +{ + i3lock-color, + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libGL, +}: -i3lock-color.overrideAttrs (oldAttrs : rec { +i3lock-color.overrideAttrs (oldAttrs: rec { pname = "i3lock-blur"; version = "2.10"; diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix index 5a4c12a4474a7..cea706f8e84fe 100644 --- a/pkgs/applications/window-managers/i3/lock-color.nix +++ b/pkgs/applications/window-managers/i3/lock-color.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libxcb, - xcbutilkeysyms , xcbutilimage, pam, libX11, libev, cairo, libxkbcommon, - libxkbfile, libjpeg_turbo, xcbutilxrm, xorg +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libxcb, + xcbutilkeysyms, + xcbutilimage, + pam, + libX11, + libev, + cairo, + libxkbcommon, + libxkbfile, + libjpeg_turbo, + xcbutilxrm, + xorg, }: stdenv.mkDerivation rec { @@ -14,15 +29,34 @@ stdenv.mkDerivation rec { sha256 = "sha256-fuLeglRif2bruyQRqiL3nm3q6qxoHcPdVdL+QjGBR/k="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libxcb xcbutilkeysyms xcbutilimage pam libX11 - libev cairo libxkbcommon libxkbfile libjpeg_turbo xcbutilxrm xorg.xcbutil ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libxcb + xcbutilkeysyms + xcbutilimage + pam + libX11 + libev + cairo + libxkbcommon + libxkbfile + libjpeg_turbo + xcbutilxrm + xorg.xcbutil + ]; makeFlags = [ "all" ]; preInstall = '' mkdir -p $out/share/man/man1 ''; - installFlags = [ "PREFIX=\${out}" "SYSCONFDIR=\${out}/etc" "MANDIR=\${out}/share/man" ]; + installFlags = [ + "PREFIX=\${out}" + "SYSCONFDIR=\${out}/etc" + "MANDIR=\${out}/share/man" + ]; postInstall = '' mv $out/bin/i3lock $out/bin/i3lock-color ln -s $out/bin/i3lock-color $out/bin/i3lock diff --git a/pkgs/applications/window-managers/i3/lock-fancy.nix b/pkgs/applications/window-managers/i3/lock-fancy.nix index a66e52bc40b0d..dd64a987ed397 100644 --- a/pkgs/applications/window-managers/i3/lock-fancy.nix +++ b/pkgs/applications/window-managers/i3/lock-fancy.nix @@ -1,17 +1,18 @@ -{ coreutils -, fetchFromGitHub -, fontconfig -, gawk -, getopt -, i3lock-color -, imagemagick -, installShellFiles -, lib -, makeWrapper -, scrot -, stdenv +{ + coreutils, + fetchFromGitHub, + fontconfig, + gawk, + getopt, + i3lock-color, + imagemagick, + installShellFiles, + lib, + makeWrapper, + scrot, + stdenv, -, screenshotCommand ? "" + screenshotCommand ? "", }: stdenv.mkDerivation { @@ -30,15 +31,17 @@ stdenv.mkDerivation { installShellFiles ]; - postPatch = '' - sed -i i3lock-fancy \ - -e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' \ - -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' - rm Makefile - '' + lib.optionalString (screenshotCommand != "") '' - sed -i i3lock-fancy \ - -e "s|shot=(import -silent -window root)|shot=(${screenshotCommand})|"; - ''; + postPatch = + '' + sed -i i3lock-fancy \ + -e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' \ + -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' + rm Makefile + '' + + lib.optionalString (screenshotCommand != "") '' + sed -i i3lock-fancy \ + -e "s|shot=(import -silent -window root)|shot=(${screenshotCommand})|"; + ''; installPhase = '' runHook preInstall @@ -54,7 +57,17 @@ stdenv.mkDerivation { postInstall = '' wrapProgram $out/bin/i3lock-fancy \ - --prefix PATH : ${lib.makeBinPath [ coreutils fontconfig gawk getopt i3lock-color imagemagick scrot ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + fontconfig + gawk + getopt + i3lock-color + imagemagick + scrot + ] + } ''; meta = with lib; { diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix index 8c226ac22ba42..7eb1bfe947137 100644 --- a/pkgs/applications/window-managers/i3/lock.nix +++ b/pkgs/applications/window-managers/i3/lock.nix @@ -1,5 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, libxcb, xcbutilkeysyms, xcbutilimage, - xcbutilxrm, pam, libX11, libev, cairo, libxkbcommon, libxkbfile, xorg }: +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libxcb, + xcbutilkeysyms, + xcbutilimage, + xcbutilxrm, + pam, + libX11, + libev, + cairo, + libxkbcommon, + libxkbfile, + xorg, +}: stdenv.mkDerivation rec { pname = "i3lock"; @@ -12,9 +29,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-OyV6GSLnNV3GUqrfs3OBnIaBvicH2PXgeY4acOk5dR4="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; - buildInputs = [ libxcb xcbutilkeysyms xcbutilimage xcbutilxrm - pam libX11 libev cairo libxkbcommon libxkbfile xorg.xcbutil ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + buildInputs = [ + libxcb + xcbutilkeysyms + xcbutilimage + xcbutilxrm + pam + libX11 + libev + cairo + libxkbcommon + libxkbfile + xorg.xcbutil + ]; meta = with lib; { description = "Simple screen locker like slock"; @@ -24,7 +56,10 @@ stdenv.mkDerivation rec { for every keystroke. After entering your password, the screen is unlocked again. ''; homepage = "https://i3wm.org/i3lock/"; - maintainers = with maintainers; [ malyn domenkozar ]; + maintainers = with maintainers; [ + malyn + domenkozar + ]; mainProgram = "i3lock"; license = licenses.bsd3; platforms = platforms.all; diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix index 9b2bdc31743f2..47eabbd838097 100644 --- a/pkgs/applications/window-managers/i3/status.nix +++ b/pkgs/applications/window-managers/i3/status.nix @@ -1,4 +1,21 @@ -{ fetchurl, lib, stdenv, libconfuse, yajl, alsa-lib, libpulseaudio, libnl, meson, ninja, perl, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl }: +{ + fetchurl, + lib, + stdenv, + libconfuse, + yajl, + alsa-lib, + libpulseaudio, + libnl, + meson, + ninja, + perl, + pkg-config, + asciidoc, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, +}: stdenv.mkDerivation rec { pname = "i3status"; @@ -9,8 +26,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-bGf1LK5PE533ZK0cxzZWK+D5d1B5G8IStT80wG6vIgU="; }; - nativeBuildInputs = [ meson ninja perl pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ]; - buildInputs = [ libconfuse yajl alsa-lib libpulseaudio libnl ]; + nativeBuildInputs = [ + meson + ninja + perl + pkg-config + asciidoc + xmlto + docbook_xml_dtd_45 + docbook_xsl + ]; + buildInputs = [ + libconfuse + yajl + alsa-lib + libpulseaudio + libnl + ]; meta = { description = "Generates a status line for i3bar, dzen2, xmobar or lemonbar"; diff --git a/pkgs/applications/window-managers/i3/swallow.nix b/pkgs/applications/window-managers/i3/swallow.nix index 7b6644d0a9983..7cb42710e7a94 100644 --- a/pkgs/applications/window-managers/i3/swallow.nix +++ b/pkgs/applications/window-managers/i3/swallow.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, poetry-core -, i3ipc -, xlib -, six +{ + lib, + buildPythonApplication, + fetchFromGitHub, + poetry-core, + i3ipc, + xlib, + six, }: buildPythonApplication rec { diff --git a/pkgs/applications/window-managers/i3/wk-switch.nix b/pkgs/applications/window-managers/i3/wk-switch.nix index fadcfe9908dae..330ba5c9a80ad 100644 --- a/pkgs/applications/window-managers/i3/wk-switch.nix +++ b/pkgs/applications/window-managers/i3/wk-switch.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "i3-wk-switch"; diff --git a/pkgs/applications/window-managers/i3/wmfocus.nix b/pkgs/applications/window-managers/i3/wmfocus.nix index af90b968bd043..d3828484171b3 100644 --- a/pkgs/applications/window-managers/i3/wmfocus.nix +++ b/pkgs/applications/window-managers/i3/wmfocus.nix @@ -1,5 +1,14 @@ -{ lib, fetchFromGitHub, rustPlatform -, xorg, python3, pkg-config, cairo, expat, libxkbcommon }: +{ + lib, + fetchFromGitHub, + rustPlatform, + xorg, + python3, + pkg-config, + cairo, + expat, + libxkbcommon, +}: rustPlatform.buildRustPackage rec { pname = "wmfocus"; @@ -14,8 +23,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-sSJAlDe1vBYs1vZW/X04cU14Wj1OF4Jy8oI4uWkrEjk="; - nativeBuildInputs = [ python3 pkg-config ]; - buildInputs = [ cairo expat libxkbcommon xorg.xcbutilkeysyms ]; + nativeBuildInputs = [ + python3 + pkg-config + ]; + buildInputs = [ + cairo + expat + libxkbcommon + xorg.xcbutilkeysyms + ]; # For now, this is the only available featureset. This is also why the file is # in the i3 folder, even though it might be useful for more than just i3 diff --git a/pkgs/applications/window-managers/i3/workstyle.nix b/pkgs/applications/window-managers/i3/workstyle.nix index 10daf03264cac..cd1694404ce01 100644 --- a/pkgs/applications/window-managers/i3/workstyle.nix +++ b/pkgs/applications/window-managers/i3/workstyle.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/applications/window-managers/i3/wsr.nix b/pkgs/applications/window-managers/i3/wsr.nix index f282e38b6dcab..1f4588be0ed68 100644 --- a/pkgs/applications/window-managers/i3/wsr.nix +++ b/pkgs/applications/window-managers/i3/wsr.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }: +{ + lib, + fetchFromGitHub, + rustPlatform, + libxcb, + python3, +}: rustPlatform.buildRustPackage rec { pname = "i3wsr"; diff --git a/pkgs/applications/window-managers/ion-3/default.nix b/pkgs/applications/window-managers/ion-3/default.nix index 8b0d3beb1c486..3ab12933a18b8 100644 --- a/pkgs/applications/window-managers/ion-3/default.nix +++ b/pkgs/applications/window-managers/ion-3/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, lua, gettext, groff, libICE, libSM, libX11, libXext }: +{ + lib, + stdenv, + fetchurl, + lua, + gettext, + groff, + libICE, + libSM, + libX11, + libXext, +}: stdenv.mkDerivation rec { pname = "ion"; @@ -9,9 +20,21 @@ stdenv.mkDerivation rec { sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns"; }; - buildInputs = [ libICE libSM libX11 libXext lua gettext groff ]; + buildInputs = [ + libICE + libSM + libX11 + libXext + lua + gettext + groff + ]; - buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" "PREFIX=\${out}" ]; + buildFlags = [ + "LUA_DIR=${lua}" + "X11_PREFIX=/no-such-path" + "PREFIX=\${out}" + ]; # Build system is missing depends for autogenerated export headers: # luac -o mod_tiling.lc mod_tiling.lua diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix index 8a4be8ea9760f..a307f359dd94d 100644 --- a/pkgs/applications/window-managers/jwm/default.nix +++ b/pkgs/applications/window-managers/jwm/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, expat -, fontconfig -, freetype -, gettext -, libX11 -, libXau -, libXdmcp -, libXext -, libXft -, libXinerama -, libXmu -, libXpm -, libjpeg -, libpng -, librsvg -, pango -, pkg-config -, which -, xorg -, xorgproto -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + expat, + fontconfig, + freetype, + gettext, + libX11, + libXau, + libXdmcp, + libXext, + libXft, + libXinerama, + libXmu, + libXpm, + libjpeg, + libpng, + librsvg, + pango, + pkg-config, + which, + xorg, + xorgproto, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix b/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix index 20caf7291c5da..be1493f605149 100644 --- a/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix +++ b/pkgs/applications/window-managers/jwm/jwm-settings-manager.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchbzr, cmake, pkg-config, gettext, libXpm, libGL, fltk, hicolor-icon-theme, glib, gnome2, which }: +{ + lib, + stdenv, + fetchbzr, + cmake, + pkg-config, + gettext, + libXpm, + libGL, + fltk, + hicolor-icon-theme, + glib, + gnome2, + which, +}: stdenv.mkDerivation rec { pname = "jwm-settings-manager"; diff --git a/pkgs/applications/window-managers/lemonbar/default.nix b/pkgs/applications/window-managers/lemonbar/default.nix index 1c66b6fe7ffda..f157eee581140 100644 --- a/pkgs/applications/window-managers/lemonbar/default.nix +++ b/pkgs/applications/window-managers/lemonbar/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, perl, libxcb }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + libxcb, +}: stdenv.mkDerivation rec { pname = "lemonbar"; @@ -11,14 +17,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-OLhgu0kmMZhjv/VST8AXvIH+ysMq72m4TEOypdnatlU="; }; - buildInputs = [ libxcb perl ]; + buildInputs = [ + libxcb + perl + ]; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = with lib; { description = "Lightweight xcb based bar"; homepage = "https://github.com/LemonBoy/bar"; - maintainers = with maintainers; [ meisternu moni ]; + maintainers = with maintainers; [ + meisternu + moni + ]; license = licenses.mit; platforms = platforms.linux; mainProgram = "lemonbar"; diff --git a/pkgs/applications/window-managers/lemonbar/xft.nix b/pkgs/applications/window-managers/lemonbar/xft.nix index 014376a37c405..109d200a29b13 100644 --- a/pkgs/applications/window-managers/lemonbar/xft.nix +++ b/pkgs/applications/window-managers/lemonbar/xft.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, perl, libxcb, libXft }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + libxcb, + libXft, +}: stdenv.mkDerivation { pname = "lemonbar-xft"; @@ -11,9 +18,16 @@ stdenv.mkDerivation { sha256 = "sha256-BNYBbUouqqsRQaPkpg+UKg62IV9uI34gKJuiAM94CBU="; }; - buildInputs = [ libxcb libXft perl ]; + buildInputs = [ + libxcb + libXft + perl + ]; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = with lib; { description = "Lightweight xcb based bar with XFT-support"; diff --git a/pkgs/applications/window-managers/sommelier/default.nix b/pkgs/applications/window-managers/sommelier/default.nix index 99c6892ba3da1..aaed7906a2217 100644 --- a/pkgs/applications/window-managers/sommelier/default.nix +++ b/pkgs/applications/window-managers/sommelier/default.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchzip -, meson, ninja, pkg-config, python3, python3Packages, wayland-scanner -, libxkbcommon, mesa, pixman, xorg, wayland, gtest +{ + lib, + stdenv, + fetchzip, + meson, + ninja, + pkg-config, + python3, + python3Packages, + wayland-scanner, + libxkbcommon, + mesa, + pixman, + xorg, + wayland, + gtest, }: stdenv.mkDerivation { @@ -15,9 +28,20 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ - meson ninja pkg-config python3 python3Packages.jinja2 wayland-scanner + meson + ninja + pkg-config + python3 + python3Packages.jinja2 + wayland-scanner + ]; + buildInputs = [ + libxkbcommon + mesa + pixman + wayland + xorg.libxcb ]; - buildInputs = [ libxkbcommon mesa pixman wayland xorg.libxcb ]; preConfigure = '' patchShebangs gen-shim.py diff --git a/pkgs/applications/window-managers/tabbed/default.nix b/pkgs/applications/window-managers/tabbed/default.nix index 9108eec14c34d..d2c123ebc55c4 100644 --- a/pkgs/applications/window-managers/tabbed/default.nix +++ b/pkgs/applications/window-managers/tabbed/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchgit, xorgproto, libX11, libXft, customConfig ? null, patches ? [ ] }: +{ + lib, + stdenv, + fetchgit, + xorgproto, + libX11, + libXft, + customConfig ? null, + patches ? [ ], +}: stdenv.mkDerivation (finalAttrs: { pname = "tabbed"; @@ -16,7 +25,11 @@ stdenv.mkDerivation (finalAttrs: { cp ${builtins.toFile "config.h" customConfig} ./config.h ''; - buildInputs = [ xorgproto libX11 libXft ]; + buildInputs = [ + xorgproto + libX11 + libXft + ]; makeFlags = [ "CC:=$(CC)" ]; diff --git a/pkgs/applications/window-managers/taffybar/default.nix b/pkgs/applications/window-managers/taffybar/default.nix index 16f6d38b222c9..97da6cede96ea 100644 --- a/pkgs/applications/window-managers/taffybar/default.nix +++ b/pkgs/applications/window-managers/taffybar/default.nix @@ -1,10 +1,21 @@ -{ stdenv, ghcWithPackages, taffybar, makeWrapper, packages ? (x: []) }: +{ + stdenv, + ghcWithPackages, + taffybar, + makeWrapper, + packages ? (x: [ ]), +}: let - taffybarEnv = ghcWithPackages (self: [ - self.taffybar - ] ++ packages self); -in stdenv.mkDerivation { + taffybarEnv = ghcWithPackages ( + self: + [ + self.taffybar + ] + ++ packages self + ); +in +stdenv.mkDerivation { pname = "taffybar-with-packages"; inherit (taffybar) version; diff --git a/pkgs/applications/window-managers/tinywl/default.nix b/pkgs/applications/window-managers/tinywl/default.nix index 06d2d8d72f8a3..c9e5019b94635 100644 --- a/pkgs/applications/window-managers/tinywl/default.nix +++ b/pkgs/applications/window-managers/tinywl/default.nix @@ -1,16 +1,43 @@ -{ lib, stdenv, wlroots, pkg-config, wayland-scanner -, libxkbcommon, pixman, udev, wayland, wayland-protocols -, nixosTests +{ + lib, + stdenv, + wlroots, + pkg-config, + wayland-scanner, + libxkbcommon, + pixman, + udev, + wayland, + wayland-protocols, + nixosTests, }: stdenv.mkDerivation { pname = "tinywl"; - inherit (wlroots) version src patches postPatch; + inherit (wlroots) + version + src + patches + postPatch + ; - nativeBuildInputs = [ pkg-config wayland-scanner ]; - buildInputs = [ libxkbcommon pixman udev wayland wayland-protocols wlroots ]; + nativeBuildInputs = [ + pkg-config + wayland-scanner + ]; + buildInputs = [ + libxkbcommon + pixman + udev + wayland + wayland-protocols + wlroots + ]; - makeFlags = [ "-C" "tinywl" ]; + makeFlags = [ + "-C" + "tinywl" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/window-managers/wayfire/default.nix b/pkgs/applications/window-managers/wayfire/default.nix index 39dbac8b5289b..be4dff33036dc 100644 --- a/pkgs/applications/window-managers/wayfire/default.nix +++ b/pkgs/applications/window-managers/wayfire/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, nixosTests -, cmake -, meson -, ninja -, pkg-config -, wf-config -, cairo -, doctest -, libGL -, libdrm -, libexecinfo -, libevdev -, libinput -, libjpeg -, libxkbcommon -, wayland -, wayland-protocols -, wayland-scanner -, wlroots -, pango -, nlohmann_json -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, + cmake, + meson, + ninja, + pkg-config, + wf-config, + cairo, + doctest, + libGL, + libdrm, + libexecinfo, + libevdev, + libinput, + libjpeg, + libxkbcommon, + wayland, + wayland-protocols, + wayland-scanner, + wlroots, + pango, + nlohmann_json, + xorg, }: stdenv.mkDerivation (finalAttrs: { @@ -90,7 +91,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://wayfire.org/"; description = "3D Wayland compositor"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ wucke13 rewine ]; + maintainers = with lib.maintainers; [ + wucke13 + rewine + ]; platforms = lib.platforms.unix; mainProgram = "wayfire"; }; diff --git a/pkgs/applications/window-managers/wayfire/firedecor.nix b/pkgs/applications/window-managers/wayfire/firedecor.nix index 6fbe4b5575bba..573a78abb0bcf 100644 --- a/pkgs/applications/window-managers/wayfire/firedecor.nix +++ b/pkgs/applications/window-managers/wayfire/firedecor.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, boost -, glib -, libGL -, libinput -, librsvg -, libxkbcommon -, udev -, wayfire -, xcbutilwm -, mate +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + boost, + glib, + libGL, + libinput, + librsvg, + libxkbcommon, + udev, + wayfire, + xcbutilwm, + mate, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/wayfire/focus-request.nix b/pkgs/applications/window-managers/wayfire/focus-request.nix index 4c885c7a42fdc..cae7bc39f0652 100644 --- a/pkgs/applications/window-managers/wayfire/focus-request.nix +++ b/pkgs/applications/window-managers/wayfire/focus-request.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, wayfire -, wf-config -, wayland -, pango -, libinput -, libxkbcommon -, librsvg -, libGL -, xcbutilwm +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + wayfire, + wf-config, + wayland, + pango, + libinput, + libxkbcommon, + librsvg, + libGL, + xcbutilwm, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/wayfire/plugins.nix b/pkgs/applications/window-managers/wayfire/plugins.nix index e6663b477f711..5675e53b7e33e 100644 --- a/pkgs/applications/window-managers/wayfire/plugins.nix +++ b/pkgs/applications/window-managers/wayfire/plugins.nix @@ -1,9 +1,11 @@ { lib, pkgs }: -lib.makeScope pkgs.newScope (self: +lib.makeScope pkgs.newScope ( + self: let inherit (self) callPackage; - in { + in + { firedecor = callPackage ./firedecor.nix { }; focus-request = callPackage ./focus-request.nix { }; wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { }; diff --git a/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix b/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix index 5b4161cc45438..3d86c62fd4b0e 100644 --- a/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix +++ b/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wayfire -, wayland-scanner -, wf-config -, libevdev -, libinput -, libxkbcommon -, nlohmann_json -, xcbutilwm -, gtkmm3 +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wayfire, + wayland-scanner, + wf-config, + libevdev, + libinput, + libxkbcommon, + nlohmann_json, + xcbutilwm, + gtkmm3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix b/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix index e36f691382ce2..e2cc98b6c1477 100644 --- a/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix +++ b/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, unstableGitUpdater -, meson -, ninja -, pkg-config -, wayfire -, libxkbcommon -, libGL -, libinput -, xcbutilwm +{ + stdenv, + lib, + fetchFromGitHub, + unstableGitUpdater, + meson, + ninja, + pkg-config, + wayfire, + libxkbcommon, + libGL, + libinput, + xcbutilwm, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/wayfire/wcm.nix b/pkgs/applications/window-managers/wayfire/wcm.nix index f82dac2e51622..01b1d64f252f7 100644 --- a/pkgs/applications/window-managers/wayfire/wcm.nix +++ b/pkgs/applications/window-managers/wayfire/wcm.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, wayfire -, wf-shell -, wayland-scanner -, wayland-protocols -, gtk3 -, gtkmm3 -, libevdev -, libxml2 -, libxkbcommon +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + wayfire, + wf-shell, + wayland-scanner, + wayland-protocols, + gtk3, + gtkmm3, + libevdev, + libxml2, + libxkbcommon, }: stdenv.mkDerivation (finalAttrs: { @@ -55,7 +56,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/WayfireWM/wcm"; description = "Wayfire Config Manager"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ wucke13 rewine ]; + maintainers = with lib.maintainers; [ + wucke13 + rewine + ]; platforms = lib.platforms.unix; mainProgram = "wcm"; }; diff --git a/pkgs/applications/window-managers/wayfire/wf-config.nix b/pkgs/applications/window-managers/wayfire/wf-config.nix index a61230dec2f92..8ebbd647bcd77 100644 --- a/pkgs/applications/window-managers/wayfire/wf-config.nix +++ b/pkgs/applications/window-managers/wayfire/wf-config.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, meson -, ninja -, pkg-config -, doctest -, glm -, libevdev -, libxml2 +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + meson, + ninja, + pkg-config, + doctest, + glm, + libevdev, + libxml2, }: stdenv.mkDerivation (finalAttrs: { @@ -54,7 +55,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/WayfireWM/wf-config"; description = "Library for managing configuration files, written for Wayfire"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ wucke13 rewine ]; + maintainers = with lib.maintainers; [ + wucke13 + rewine + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/applications/window-managers/wayfire/wf-shell.nix b/pkgs/applications/window-managers/wayfire/wf-shell.nix index e6d64bd902bc7..479b38bc802a9 100644 --- a/pkgs/applications/window-managers/wayfire/wf-shell.nix +++ b/pkgs/applications/window-managers/wayfire/wf-shell.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wayland-scanner -, wayfire -, alsa-lib -, gtkmm3 -, gtk-layer-shell -, pulseaudio -, libdbusmenu-gtk3 +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wayland-scanner, + wayfire, + alsa-lib, + gtkmm3, + gtk-layer-shell, + pulseaudio, + libdbusmenu-gtk3, }: stdenv.mkDerivation (finalAttrs: { @@ -47,7 +48,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/WayfireWM/wf-shell"; description = "GTK3-based panel for Wayfire"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ wucke13 rewine ]; + maintainers = with lib.maintainers; [ + wucke13 + rewine + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/applications/window-managers/wayfire/windecor.nix b/pkgs/applications/window-managers/wayfire/windecor.nix index a87d95344d41f..7c80aa9ab3455 100644 --- a/pkgs/applications/window-managers/wayfire/windecor.nix +++ b/pkgs/applications/window-managers/wayfire/windecor.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, wayfire -, eudev -, libinput -, libxkbcommon -, librsvg -, libGL -, xcbutilwm +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + wayfire, + eudev, + libinput, + libxkbcommon, + librsvg, + libGL, + xcbutilwm, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/wayfire/wrapper.nix b/pkgs/applications/window-managers/wayfire/wrapper.nix index a3ec857227176..b8193bbc63fd2 100644 --- a/pkgs/applications/window-managers/wayfire/wrapper.nix +++ b/pkgs/applications/window-managers/wayfire/wrapper.nix @@ -1,4 +1,10 @@ -{ symlinkJoin, lib, makeWrapper, wayfire, plugins ? [ ] }: +{ + symlinkJoin, + lib, + makeWrapper, + wayfire, + plugins ? [ ], +}: symlinkJoin { name = "wayfire-wrapped-${lib.getVersion wayfire}"; @@ -25,7 +31,7 @@ symlinkJoin { meta = wayfire.meta // { # To prevent builds on hydra - hydraPlatforms = []; + hydraPlatforms = [ ]; # prefer wrapper over the package priority = (wayfire.meta.priority or lib.meta.defaultPriority) - 1; }; diff --git a/pkgs/applications/window-managers/wayfire/wwp-switcher.nix b/pkgs/applications/window-managers/wayfire/wwp-switcher.nix index 4eb42af6995b7..109ecc6e06e55 100644 --- a/pkgs/applications/window-managers/wayfire/wwp-switcher.nix +++ b/pkgs/applications/window-managers/wayfire/wwp-switcher.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, unstableGitUpdater -, meson -, ninja -, pkg-config -, wayfire -, libxkbcommon -, libGL -, libinput -, gtk3 -, glibmm -, xcbutilwm +{ + stdenv, + lib, + fetchFromGitHub, + unstableGitUpdater, + meson, + ninja, + pkg-config, + wayfire, + libxkbcommon, + libGL, + libinput, + gtk3, + glibmm, + xcbutilwm, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix index 2e6d72b91071b..da3aa7c428654 100644 --- a/pkgs/applications/window-managers/xmonad/log-applet/default.nix +++ b/pkgs/applications/window-managers/xmonad/log-applet/default.nix @@ -1,11 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, glib, dbus-glib -, desktopSupport ? "gnomeflashback", xorg -, gtk2 -, gtk3, gnome-panel, mate -, libxfce4util, xfce4-panel +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + glib, + dbus-glib, + desktopSupport ? "gnomeflashback", + xorg, + gtk2, + gtk3, + gnome-panel, + mate, + libxfce4util, + xfce4-panel, }: -assert desktopSupport == "gnomeflashback" || desktopSupport == "mate" || desktopSupport == "xfce4"; +assert desktopSupport == "gnomeflashback" || desktopSupport == "mate" || desktopSupport == "xfce4"; stdenv.mkDerivation rec { version = "unstable-2017-09-15"; @@ -19,15 +30,32 @@ stdenv.mkDerivation rec { sha256 = "042307grf4zvn61gnflhsj5xsjykrk9sjjsprprm4iij0qpybxcw"; }; - buildInputs = [ glib dbus-glib xorg.xcbutilwm ] - ++ lib.optionals (desktopSupport == "gnomeflashback") [ gtk3 gnome-panel ] - ++ lib.optionals (desktopSupport == "mate") [ gtk3 mate.mate-panel ] - ++ lib.optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4-panel ] - ; + buildInputs = + [ + glib + dbus-glib + xorg.xcbutilwm + ] + ++ lib.optionals (desktopSupport == "gnomeflashback") [ + gtk3 + gnome-panel + ] + ++ lib.optionals (desktopSupport == "mate") [ + gtk3 + mate.mate-panel + ] + ++ lib.optionals (desktopSupport == "xfce4") [ + gtk2 + libxfce4util + xfce4-panel + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - configureFlags = [ "--with-panel=${desktopSupport}" ]; + configureFlags = [ "--with-panel=${desktopSupport}" ]; patches = [ ./fix-paths.patch ]; @@ -44,4 +72,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ abbradar ]; }; } - diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix index 9167b95ddff82..5128f06988272 100644 --- a/pkgs/applications/window-managers/xmonad/wrapper.nix +++ b/pkgs/applications/window-managers/xmonad/wrapper.nix @@ -1,8 +1,15 @@ -{ stdenv, ghcWithPackages, xmessage, makeWrapper, packages }: +{ + stdenv, + ghcWithPackages, + xmessage, + makeWrapper, + packages, +}: let -xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self); -in stdenv.mkDerivation { + xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self); +in +stdenv.mkDerivation { pname = "xmonad-with-packages"; inherit (xmonadEnv) version; diff --git a/pkgs/applications/window-managers/xmonad/xmonadctl.nix b/pkgs/applications/window-managers/xmonad/xmonadctl.nix index 23495f5d00418..a755982afda23 100644 --- a/pkgs/applications/window-managers/xmonad/xmonadctl.nix +++ b/pkgs/applications/window-managers/xmonad/xmonadctl.nix @@ -1,7 +1,18 @@ -{ stdenv, lib, ghcWithPackages, haskellPackages, ... }: +{ + stdenv, + lib, + ghcWithPackages, + haskellPackages, + ... +}: -let xmonadctlEnv = ghcWithPackages (self: [ self.xmonad-contrib self.X11 ]); -in stdenv.mkDerivation rec { +let + xmonadctlEnv = ghcWithPackages (self: [ + self.xmonad-contrib + self.X11 + ]); +in +stdenv.mkDerivation rec { pname = "xmonadctl"; inherit (haskellPackages.xmonad-contrib) src version; diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix index 25ab000594aa7..b455b32fa7ae5 100644 --- a/pkgs/applications/window-managers/yabar/build.nix +++ b/pkgs/applications/window-managers/yabar/build.nix @@ -1,7 +1,24 @@ -{ stdenv, fetchFromGitHub, cairo, gdk-pixbuf, libconfig, pango, pkg-config -, xcbutilwm, alsa-lib, wirelesstools, asciidoc, libxslt, makeWrapper, docbook_xsl -, configFile ? null, lib -, rev, sha256, version, patches ? [] +{ + stdenv, + fetchFromGitHub, + cairo, + gdk-pixbuf, + libconfig, + pango, + pkg-config, + xcbutilwm, + alsa-lib, + wirelesstools, + asciidoc, + libxslt, + makeWrapper, + docbook_xsl, + configFile ? null, + lib, + rev, + sha256, + version, + patches ? [ ], }: stdenv.mkDerivation { @@ -12,7 +29,7 @@ stdenv.mkDerivation { inherit rev sha256; owner = "geommer"; - repo = "yabar"; + repo = "yabar"; }; inherit patches; @@ -48,27 +65,28 @@ stdenv.mkDerivation { --replace "a2x" "a2x --no-xmllint" ''; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=/" + ]; postInstall = '' mkdir -p $out/share/yabar/examples cp -v examples/*.config $out/share/yabar/examples - ${lib.optionalString (configFile != null) - '' - wrapProgram "$out/bin/yabar" \ - --add-flags "-c ${configFile}" - '' - } + ${lib.optionalString (configFile != null) '' + wrapProgram "$out/bin/yabar" \ + --add-flags "-c ${configFile}" + ''} ''; #passthru.tests = { inherit (nixosTests) yabar; }; # nixos currently uses yabar-unstable meta = with lib; { description = "Modern and lightweight status bar for X window managers"; - homepage = "https://github.com/geommer/yabar"; - license = licenses.mit; - platforms = platforms.linux; + homepage = "https://github.com/geommer/yabar"; + license = licenses.mit; + platforms = platforms.linux; maintainers = [ ]; mainProgram = "yabar"; }; diff --git a/pkgs/applications/window-managers/yabar/default.nix b/pkgs/applications/window-managers/yabar/default.nix index a33a75676ee94..5a58d086340cb 100644 --- a/pkgs/applications/window-managers/yabar/default.nix +++ b/pkgs/applications/window-managers/yabar/default.nix @@ -1,4 +1,8 @@ -{ callPackage, attrs ? {}, fetchpatch }: +{ + callPackage, + attrs ? { }, + fetchpatch, +}: let overrides = rec { @@ -15,4 +19,5 @@ let ]; } // attrs; -in callPackage ./build.nix overrides +in +callPackage ./build.nix overrides diff --git a/pkgs/applications/window-managers/yabar/unstable.nix b/pkgs/applications/window-managers/yabar/unstable.nix index cb43c4e0b95ee..44998faaf6675 100644 --- a/pkgs/applications/window-managers/yabar/unstable.nix +++ b/pkgs/applications/window-managers/yabar/unstable.nix @@ -1,30 +1,42 @@ -{ fetchpatch, playerctl, libxkbcommon, callPackage, nixosTests, attrs ? {} }: +{ + fetchpatch, + playerctl, + libxkbcommon, + callPackage, + nixosTests, + attrs ? { }, +}: let - pkg = callPackage ./build.nix ({ - version = "unstable-2018-01-18"; + pkg = callPackage ./build.nix ( + { + version = "unstable-2018-01-18"; - rev = "c516e8e78d39dd2b339acadc4c175347171150bb"; - sha256 = "1p9lx78cayyn7qc2q66id2xfs76jyddnqv2x1ypsvixaxwcvqgdb"; - } // attrs); -in pkg.overrideAttrs (o: { + rev = "c516e8e78d39dd2b339acadc4c175347171150bb"; + sha256 = "1p9lx78cayyn7qc2q66id2xfs76jyddnqv2x1ypsvixaxwcvqgdb"; + } + // attrs + ); +in +pkg.overrideAttrs (o: { buildInputs = o.buildInputs ++ [ - playerctl libxkbcommon + playerctl + libxkbcommon ]; makeFlags = o.makeFlags ++ [ "PLAYERCTL=1" ]; - patches = (o.patches or []) ++ [ + patches = (o.patches or [ ]) ++ [ (fetchpatch { url = "https://github.com/geommer/yabar/commit/008dc1420ff684cf12ce2ef3ac9d642e054e39f5.patch"; sha256 = "1q7nd66ai6nr2m6iqxn55gvbr4r5gjc00c8wyjc3riv31qcbqbhv"; }) ]; - passthru = (o.passthru or {}) // { - tests = (o.passthru.tests or {}) // { + passthru = (o.passthru or { }) // { + tests = (o.passthru.tests or { }) // { inherit (nixosTests) yabar; }; }; diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix index 12dfdc4b5122c..957b423c31f6c 100644 --- a/pkgs/build-support/agda/default.nix +++ b/pkgs/build-support/agda/default.nix @@ -1,6 +1,16 @@ # Builder for Agda packages. -{ stdenv, lib, self, Agda, runCommand, makeWrapper, writeText, ghcWithPackages, nixosTests }: +{ + stdenv, + lib, + self, + Agda, + runCommand, + makeWrapper, + writeText, + ghcWithPackages, + nixosTests, +}: let inherit (lib) @@ -19,40 +29,48 @@ let optionalString ; - mkLibraryFile = pkgs: let - pkgs' = if isList pkgs then pkgs else pkgs self; - in writeText "libraries" '' - ${(concatMapStringsSep "\n" (p: "${p}/${p.libraryFile}") pkgs')} - ''; - - withPackages' = { - pkgs, - ghc ? ghcWithPackages (p: with p; [ ieee754 ]) - }: let - library-file = mkLibraryFile pkgs; - pname = "agdaWithPackages"; - version = Agda.version; - in runCommand "${pname}-${version}" { - inherit pname version; - nativeBuildInputs = [ makeWrapper ]; - passthru = { - unwrapped = Agda; - inherit withPackages; - tests = { - inherit (nixosTests) agda; - allPackages = withPackages (filter self.lib.isUnbrokenAgdaPackage (attrValues self)); - }; - }; - # Agda is a split package with multiple outputs; do not inherit them here. - meta = removeAttrs Agda.meta [ "outputsToInstall" ]; - } '' - mkdir -p $out/bin - makeWrapper ${Agda.bin}/bin/agda $out/bin/agda \ - --add-flags "--with-compiler=${ghc}/bin/ghc" \ - --add-flags "--library-file=${library-file}" - ln -s ${Agda.bin}/bin/agda-mode $out/bin/agda-mode + mkLibraryFile = + pkgs: + let + pkgs' = if isList pkgs then pkgs else pkgs self; + in + writeText "libraries" '' + ${(concatMapStringsSep "\n" (p: "${p}/${p.libraryFile}") pkgs')} ''; + withPackages' = + { + pkgs, + ghc ? ghcWithPackages (p: with p; [ ieee754 ]), + }: + let + library-file = mkLibraryFile pkgs; + pname = "agdaWithPackages"; + version = Agda.version; + in + runCommand "${pname}-${version}" + { + inherit pname version; + nativeBuildInputs = [ makeWrapper ]; + passthru = { + unwrapped = Agda; + inherit withPackages; + tests = { + inherit (nixosTests) agda; + allPackages = withPackages (filter self.lib.isUnbrokenAgdaPackage (attrValues self)); + }; + }; + # Agda is a split package with multiple outputs; do not inherit them here. + meta = removeAttrs Agda.meta [ "outputsToInstall" ]; + } + '' + mkdir -p $out/bin + makeWrapper ${Agda.bin}/bin/agda $out/bin/agda \ + --add-flags "--with-compiler=${ghc}/bin/ghc" \ + --add-flags "--library-file=${library-file}" + ln -s ${Agda.bin}/bin/agda-mode $out/bin/agda-mode + ''; + withPackages = arg: if isAttrs arg then withPackages' arg else withPackages' { pkgs = arg; }; extensions = [ @@ -68,55 +86,70 @@ let ]; defaults = - { pname - , meta - , buildInputs ? [] - , everythingFile ? "./Everything.agda" - , includePaths ? [] - , libraryName ? pname - , libraryFile ? "${libraryName}.agda-lib" - , buildPhase ? null - , installPhase ? null - , extraExtensions ? [] - , ... - }: let + { + pname, + meta, + buildInputs ? [ ], + everythingFile ? "./Everything.agda", + includePaths ? [ ], + libraryName ? pname, + libraryFile ? "${libraryName}.agda-lib", + buildPhase ? null, + installPhase ? null, + extraExtensions ? [ ], + ... + }: + let agdaWithArgs = withPackages (filter (p: p ? isAgdaDerivation) buildInputs); - includePathArgs = concatMapStrings (path: "-i" + path + " ") (includePaths ++ [(dirOf everythingFile)]); + includePathArgs = concatMapStrings (path: "-i" + path + " ") ( + includePaths ++ [ (dirOf everythingFile) ] + ); in - { - inherit libraryName libraryFile; - - isAgdaDerivation = true; - - buildInputs = buildInputs ++ [ agdaWithArgs ]; - - buildPhase = if buildPhase != null then buildPhase else '' - runHook preBuild - agda ${includePathArgs} ${everythingFile} - rm ${everythingFile} ${lib.interfaceFile Agda.version everythingFile} - runHook postBuild - ''; - - installPhase = if installPhase != null then installPhase else '' - runHook preInstall - mkdir -p $out - find \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} + - runHook postInstall - ''; - - # As documented at https://github.com/NixOS/nixpkgs/issues/172752, - # we need to set LC_ALL to an UTF-8-supporting locale. However, on - # darwin, it seems that there is no standard such locale; luckily, - # the referenced issue doesn't seem to surface on darwin. Hence let's - # set this only on non-darwin. - LC_ALL = optionalString (!stdenv.hostPlatform.isDarwin) "C.UTF-8"; - - meta = if meta.broken or false then meta // { hydraPlatforms = platforms.none; } else meta; - - # Retrieve all packages from the finished package set that have the current package as a dependency and build them - passthru.tests = - filterAttrs (name: pkg: self.lib.isUnbrokenAgdaPackage pkg && elem pname (map (pkg: pkg.pname) pkg.buildInputs)) self; - }; + { + inherit libraryName libraryFile; + + isAgdaDerivation = true; + + buildInputs = buildInputs ++ [ agdaWithArgs ]; + + buildPhase = + if buildPhase != null then + buildPhase + else + '' + runHook preBuild + agda ${includePathArgs} ${everythingFile} + rm ${everythingFile} ${lib.interfaceFile Agda.version everythingFile} + runHook postBuild + ''; + + installPhase = + if installPhase != null then + installPhase + else + '' + runHook preInstall + mkdir -p $out + find \( ${ + concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions) + } \) -exec cp -p --parents -t "$out" {} + + runHook postInstall + ''; + + # As documented at https://github.com/NixOS/nixpkgs/issues/172752, + # we need to set LC_ALL to an UTF-8-supporting locale. However, on + # darwin, it seems that there is no standard such locale; luckily, + # the referenced issue doesn't seem to surface on darwin. Hence let's + # set this only on non-darwin. + LC_ALL = optionalString (!stdenv.hostPlatform.isDarwin) "C.UTF-8"; + + meta = if meta.broken or false then meta // { hydraPlatforms = platforms.none; } else meta; + + # Retrieve all packages from the finished package set that have the current package as a dependency and build them + passthru.tests = filterAttrs ( + name: pkg: self.lib.isUnbrokenAgdaPackage pkg && elem pname (map (pkg: pkg.pname) pkg.buildInputs) + ) self; + }; in { mkDerivation = args: stdenv.mkDerivation (args // defaults args); diff --git a/pkgs/build-support/agda/lib.nix b/pkgs/build-support/agda/lib.nix index 63fa6ccddba6b..4bdb80a6ca002 100644 --- a/pkgs/build-support/agda/lib.nix +++ b/pkgs/build-support/agda/lib.nix @@ -1,17 +1,25 @@ { lib }: { - /* Returns the Agda interface file to a given Agda file. - * - * The resulting path may not be normalized. - * - * Examples: - * interfaceFile pkgs.agda.version "./Everything.agda" == "_build/2.6.4.3/agda/./Everything.agdai" - * interfaceFile pkgs.agda.version "src/Everything.lagda.tex" == "_build/2.6.4.3/agda/src/Everything.agdai" + /* + Returns the Agda interface file to a given Agda file. + * + * The resulting path may not be normalized. + * + * Examples: + * interfaceFile pkgs.agda.version "./Everything.agda" == "_build/2.6.4.3/agda/./Everything.agdai" + * interfaceFile pkgs.agda.version "src/Everything.lagda.tex" == "_build/2.6.4.3/agda/src/Everything.agdai" */ - interfaceFile = agdaVersion: agdaFile: "_build/" + agdaVersion + "/agda/" + lib.head (builtins.match ''(.*\.)l?agda(\.(md|org|rst|tex|typ))?'' agdaFile) + "agdai"; + interfaceFile = + agdaVersion: agdaFile: + "_build/" + + agdaVersion + + "/agda/" + + lib.head (builtins.match ''(.*\.)l?agda(\.(md|org|rst|tex|typ))?'' agdaFile) + + "agdai"; - /* Takes an arbitrary derivation and says whether it is an agda library package - * that is not marked as broken. + /* + Takes an arbitrary derivation and says whether it is an agda library package + * that is not marked as broken. */ isUnbrokenAgdaPackage = pkg: pkg.isAgdaDerivation or false && !pkg.meta.broken; } diff --git a/pkgs/build-support/binary-cache/default.nix b/pkgs/build-support/binary-cache/default.nix index 8c610c512276e..0d8829199827e 100644 --- a/pkgs/build-support/binary-cache/default.nix +++ b/pkgs/build-support/binary-cache/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, coreutils, jq, python3, nix, xz }: +{ + lib, + stdenv, + coreutils, + jq, + python3, + nix, + xz, +}: # This function is for creating a flat-file binary cache, i.e. the kind created by # nix copy --to file:///some/path and usable as a substituter (with the file:// prefix). @@ -6,8 +14,9 @@ # For example, in the Nixpkgs repo: # nix-build -E 'with import ./. {}; mkBinaryCache { rootPaths = [hello]; }' -{ name ? "binary-cache" -, rootPaths +{ + name ? "binary-cache", + rootPaths, }: stdenv.mkDerivation { @@ -19,7 +28,13 @@ stdenv.mkDerivation { preferLocalBuild = true; - nativeBuildInputs = [ coreutils jq python3 nix xz ]; + nativeBuildInputs = [ + coreutils + jq + python3 + nix + xz + ]; buildCommand = '' mkdir -p $out/nar diff --git a/pkgs/build-support/build-fhsenv-chroot/chrootenv/default.nix b/pkgs/build-support/build-fhsenv-chroot/chrootenv/default.nix index 856d8e9ccdff0..99903f3e4ad6a 100644 --- a/pkgs/build-support/build-fhsenv-chroot/chrootenv/default.nix +++ b/pkgs/build-support/build-fhsenv-chroot/chrootenv/default.nix @@ -1,10 +1,21 @@ -{ lib, stdenv, meson, ninja, pkg-config, glib }: +{ + lib, + stdenv, + meson, + ninja, + pkg-config, + glib, +}: stdenv.mkDerivation { name = "chrootenv"; src = ./src; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ glib ]; meta = with lib; { diff --git a/pkgs/build-support/build-fhsenv-chroot/default.nix b/pkgs/build-support/build-fhsenv-chroot/default.nix index b1d9630ae8f91..10d2af55a7b02 100644 --- a/pkgs/build-support/build-fhsenv-chroot/default.nix +++ b/pkgs/build-support/build-fhsenv-chroot/default.nix @@ -1,53 +1,87 @@ -{ lib, callPackage, runCommandLocal, writeScript, stdenv, coreutils }: +{ + lib, + callPackage, + runCommandLocal, + writeScript, + stdenv, + coreutils, +}: -let buildFHSEnv = callPackage ./env.nix { }; in +let + buildFHSEnv = callPackage ./env.nix { }; +in -args@{ name, version ? null, runScript ? "bash", nativeBuildInputs ? [], extraInstallCommands ? "", meta ? {}, passthru ? {}, ... }: +args@{ + name, + version ? null, + runScript ? "bash", + nativeBuildInputs ? [ ], + extraInstallCommands ? "", + meta ? { }, + passthru ? { }, + ... +}: let - env = buildFHSEnv (removeAttrs args [ "version" "runScript" "extraInstallCommands" "meta" "passthru" ]); + env = buildFHSEnv ( + removeAttrs args [ + "version" + "runScript" + "extraInstallCommands" + "meta" + "passthru" + ] + ); - chrootenv = callPackage ./chrootenv {}; + chrootenv = callPackage ./chrootenv { }; - init = run: writeScript "${name}-init" '' - #! ${stdenv.shell} - for i in ${env}/* /host/*; do - path="/''${i##*/}" - [ -e "$path" ] || ${coreutils}/bin/ln -s "$i" "$path" - done + init = + run: + writeScript "${name}-init" '' + #! ${stdenv.shell} + for i in ${env}/* /host/*; do + path="/''${i##*/}" + [ -e "$path" ] || ${coreutils}/bin/ln -s "$i" "$path" + done - [ -d "$1" ] && [ -r "$1" ] && cd "$1" - shift + [ -d "$1" ] && [ -r "$1" ] && cd "$1" + shift - source /etc/profile - exec ${run} "$@" - ''; + source /etc/profile + exec ${run} "$@" + ''; versionStr = lib.optionalString (version != null) ("-" + version); nameAndVersion = name + versionStr; -in runCommandLocal nameAndVersion { - inherit nativeBuildInputs meta; - - passthru = passthru // { - env = runCommandLocal "${name}-shell-env" { - shellHook = '' - exec ${chrootenv}/bin/chrootenv ${init runScript} "$(pwd)" - ''; - } '' - echo >&2 "" - echo >&2 "*** User chroot 'env' attributes are intended for interactive nix-shell sessions, not for building! ***" - echo >&2 "" - exit 1 - ''; - }; -} '' - mkdir -p $out/bin - cat <$out/bin/${name} - #! ${stdenv.shell} - exec ${chrootenv}/bin/chrootenv ${init runScript} "\$(pwd)" "\$@" - EOF - chmod +x $out/bin/${name} - ${extraInstallCommands} -'' +in +runCommandLocal nameAndVersion + { + inherit nativeBuildInputs meta; + + passthru = passthru // { + env = + runCommandLocal "${name}-shell-env" + { + shellHook = '' + exec ${chrootenv}/bin/chrootenv ${init runScript} "$(pwd)" + ''; + } + '' + echo >&2 "" + echo >&2 "*** User chroot 'env' attributes are intended for interactive nix-shell sessions, not for building! ***" + echo >&2 "" + exit 1 + ''; + }; + } + '' + mkdir -p $out/bin + cat <$out/bin/${name} + #! ${stdenv.shell} + exec ${chrootenv}/bin/chrootenv ${init runScript} "\$(pwd)" "\$@" + EOF + chmod +x $out/bin/${name} + ${extraInstallCommands} + '' diff --git a/pkgs/build-support/build-fhsenv-chroot/env.nix b/pkgs/build-support/build-fhsenv-chroot/env.nix index 9f8bc07a94ada..7dbbfbf8d508d 100644 --- a/pkgs/build-support/build-fhsenv-chroot/env.nix +++ b/pkgs/build-support/build-fhsenv-chroot/env.nix @@ -1,13 +1,21 @@ -{ stdenv, lib, buildEnv, writeText, pkgs, pkgsi686Linux }: - -{ name -, profile ? "" -, targetPkgs ? pkgs: [] -, multiPkgs ? pkgs: [] -, nativeBuildInputs ? [] -, extraBuildCommands ? "" -, extraBuildCommandsMulti ? "" -, extraOutputsToInstall ? [] +{ + stdenv, + lib, + buildEnv, + writeText, + pkgs, + pkgsi686Linux, +}: + +{ + name, + profile ? "", + targetPkgs ? pkgs: [ ], + multiPkgs ? pkgs: [ ], + nativeBuildInputs ? [ ], + extraBuildCommands ? "", + extraBuildCommandsMulti ? "", + extraOutputsToInstall ? [ ], }: # HOWTO: @@ -28,12 +36,12 @@ let is64Bit = stdenv.hostPlatform.parsed.cpu.bits == 64; # multi-lib glibc is only supported on x86_64 - isMultiBuild = multiPkgs != null && stdenv.hostPlatform.system == "x86_64-linux"; + isMultiBuild = multiPkgs != null && stdenv.hostPlatform.system == "x86_64-linux"; isTargetBuild = !isMultiBuild; # list of packages (usually programs) which are only be installed for the # host's architecture - targetPaths = targetPkgs pkgs ++ (if multiPkgs == null then [] else multiPkgs pkgs); + targetPaths = targetPkgs pkgs ++ (if multiPkgs == null then [ ] else multiPkgs pkgs); # list of packages which are installed for both x86 and x86_64 on x86_64 # systems @@ -43,16 +51,28 @@ let # these match the host's architecture, glibc_multi is used for multilib # builds. glibcLocales must be before glibc or glibc_multi as otherwiese # the wrong LOCALE_ARCHIVE will be used where only C.UTF-8 is available. - basePkgs = with pkgs; - [ glibcLocales - (if isMultiBuild then glibc_multi else glibc) - (toString gcc.cc.lib) bashInteractiveFHS coreutils less shadow su - gawk diffutils findutils gnused gnugrep - gnutar gzip bzip2 xz - ]; - baseMultiPkgs = with pkgsi686Linux; - [ (toString gcc.cc.lib) - ]; + basePkgs = with pkgs; [ + glibcLocales + (if isMultiBuild then glibc_multi else glibc) + (toString gcc.cc.lib) + bashInteractiveFHS + coreutils + less + shadow + su + gawk + diffutils + findutils + gnused + gnugrep + gnutar + gzip + bzip2 + xz + ]; + baseMultiPkgs = with pkgsi686Linux; [ + (toString gcc.cc.lib) + ]; etcProfile = writeText "profile" '' export PS1='${name}-chrootenv:\u@\h:\w\$ ' @@ -92,7 +112,7 @@ let # Compose /etc for the chroot environment etcPkg = stdenv.mkDerivation { - name = "${name}-chrootenv-etc"; + name = "${name}-chrootenv-etc"; buildCommand = '' mkdir -p $out/etc cd $out/etc @@ -151,7 +171,11 @@ let staticUsrProfileTarget = buildEnv { name = "${name}-usr-target"; paths = [ etcPkg ] ++ basePkgs ++ targetPaths; - extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall; + extraOutputsToInstall = [ + "out" + "lib" + "bin" + ] ++ extraOutputsToInstall; ignoreCollisions = true; postBuild = '' if [[ -d $out/share/gsettings-schemas/ ]]; then @@ -187,7 +211,10 @@ let staticUsrProfileMulti = buildEnv { name = "${name}-usr-multi"; paths = baseMultiPkgs ++ multiPaths; - extraOutputsToInstall = [ "out" "lib" ] ++ extraOutputsToInstall; + extraOutputsToInstall = [ + "out" + "lib" + ] ++ extraOutputsToInstall; ignoreCollisions = true; }; @@ -217,8 +244,7 @@ let ln -Ls ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/ ''; - setupLibDirs = if isTargetBuild then setupLibDirs_target - else setupLibDirs_multi; + setupLibDirs = if isTargetBuild then setupLibDirs_target else setupLibDirs_multi; # the target profile is the actual profile that will be used for the chroot setupTargetProfile = '' @@ -244,8 +270,9 @@ let done ''; -in stdenv.mkDerivation { - name = "${name}-fhs"; +in +stdenv.mkDerivation { + name = "${name}-fhs"; inherit nativeBuildInputs; buildCommand = '' mkdir -p $out diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index 59c77e93e79b0..45680a42e9ed9 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -1,32 +1,35 @@ -{ lib -, stdenv -, apple-sdk_11 -, darwinMinVersionHook -, glibcLocales +{ + lib, + stdenv, + apple-sdk_11, + darwinMinVersionHook, + glibcLocales, # The GraalVM derivation to use -, graalvmDrv -, removeReferencesTo -, executable ? args.pname + graalvmDrv, + removeReferencesTo, + executable ? args.pname, # JAR used as input for GraalVM derivation, defaults to src -, jar ? args.src -, dontUnpack ? (jar == args.src) + jar ? args.src, + dontUnpack ? (jar == args.src), # Default native-image arguments. You probably don't want to set this, # except in special cases. In most cases, use extraNativeBuildArgs instead -, nativeImageBuildArgs ? [ + nativeImageBuildArgs ? [ (lib.optionalString stdenv.hostPlatform.isDarwin "-H:-CheckToolchain") - (lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) "-H:PageSize=64K") + (lib.optionalString ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 + ) "-H:PageSize=64K") "-H:Name=${executable}" "-march=compatibility" "--verbose" - ] + ], # Extra arguments to be passed to the native-image -, extraNativeImageBuildArgs ? [ ] + extraNativeImageBuildArgs ? [ ], # XMX size of GraalVM during build -, graalvmXmx ? "-J-Xmx6g" -, meta ? { } -, LC_ALL ? "en_US.UTF-8" -, ... -} @ args: + graalvmXmx ? "-J-Xmx6g", + meta ? { }, + LC_ALL ? "en_US.UTF-8", + ... +}@args: let extraArgs = builtins.removeAttrs args [ @@ -45,49 +48,58 @@ let "postInstall" ]; in -stdenv.mkDerivation ({ - inherit dontUnpack jar; +stdenv.mkDerivation ( + { + inherit dontUnpack jar; - env = { inherit LC_ALL; }; + env = { inherit LC_ALL; }; - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales removeReferencesTo ]; + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ + graalvmDrv + glibcLocales + removeReferencesTo + ]; - buildInputs = lib.optionals (stdenv.hostPlatform.isDarwin) [ - apple-sdk_11 - (darwinMinVersionHook "11.0") - ]; + buildInputs = lib.optionals (stdenv.hostPlatform.isDarwin) [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]; - nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; + nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; - buildPhase = args.buildPhase or '' - runHook preBuild + buildPhase = + args.buildPhase or '' + runHook preBuild - native-image -jar "$jar" ''${nativeImageBuildArgs[@]} + native-image -jar "$jar" ''${nativeImageBuildArgs[@]} - runHook postBuild - ''; + runHook postBuild + ''; - installPhase = args.installPhase or '' - runHook preInstall + installPhase = + args.installPhase or '' + runHook preInstall - install -Dm755 ${executable} -t $out/bin + install -Dm755 ${executable} -t $out/bin - runHook postInstall - ''; + runHook postInstall + ''; - postInstall = '' - remove-references-to -t ${graalvmDrv} $out/bin/${executable} - ${args.postInstall or ""} - ''; + postInstall = '' + remove-references-to -t ${graalvmDrv} $out/bin/${executable} + ${args.postInstall or ""} + ''; - disallowedReferences = [ graalvmDrv ]; + disallowedReferences = [ graalvmDrv ]; - passthru = { inherit graalvmDrv; }; + passthru = { inherit graalvmDrv; }; - meta = { - # default to graalvm's platforms - platforms = graalvmDrv.meta.platforms; - # default to executable name - mainProgram = executable; - } // meta; -} // extraArgs) + meta = { + # default to graalvm's platforms + platforms = graalvmDrv.meta.platforms; + # default to executable name + mainProgram = executable; + } // meta; + } + // extraArgs +) diff --git a/pkgs/build-support/build-nim-package.nix b/pkgs/build-support/build-nim-package.nix index 2bff3bf8cc857..1e8489212cd6b 100644 --- a/pkgs/build-support/build-nim-package.nix +++ b/pkgs/build-support/build-nim-package.nix @@ -1,13 +1,14 @@ -{ lib -, buildPackages -, callPackage -, stdenv -, nim1 -, nim2 -, nim_builder -, defaultNimVersion ? 2 -, nimOverrides -, buildNimPackage +{ + lib, + buildPackages, + callPackage, + stdenv, + nim1, + nim2, + nim_builder, + defaultNimVersion ? 2, + nimOverrides, + buildNimPackage, }: let @@ -42,34 +43,51 @@ let fodFromLockEntry = let methods = { - fetchzip = { url, sha256, ... }: + fetchzip = + { url, sha256, ... }: buildPackages.fetchzip { name = "source"; inherit url sha256; }; - git = { fetchSubmodules, leaveDotGit, rev, sha256, url, ... }: + git = + { + fetchSubmodules, + leaveDotGit, + rev, + sha256, + url, + ... + }: buildPackages.fetchgit { - inherit fetchSubmodules leaveDotGit rev sha256 url; + inherit + fetchSubmodules + leaveDotGit + rev + sha256 + url + ; }; }; in attrs@{ method, ... }: - let fod = methods.${method} attrs; - in ''--path:"${fod.outPath}/${attrs.srcDir}"''; + let + fod = methods.${method} attrs; + in + ''--path:"${fod.outPath}/${attrs.srcDir}"''; asFunc = x: if builtins.isFunction x then x else (_: x); in buildNimPackageArgs: let - composition = finalAttrs: + composition = + finalAttrs: let - postPkg = baseAttrs - // (asFunc ((asFunc buildNimPackageArgs) finalAttrs)) baseAttrs; + postPkg = baseAttrs // (asFunc ((asFunc buildNimPackageArgs) finalAttrs)) baseAttrs; - lockAttrs = - lib.attrsets.optionalAttrs (builtins.hasAttr "lockFile" postPkg) - (builtins.fromJSON (builtins.readFile postPkg.lockFile)); + lockAttrs = lib.attrsets.optionalAttrs (builtins.hasAttr "lockFile" postPkg) ( + builtins.fromJSON (builtins.readFile postPkg.lockFile) + ); lockDepends = lockAttrs.depends or [ ]; @@ -88,41 +106,51 @@ let ) postPkg lockDepends; finalOverride = - { depsBuildBuild ? [ ] - , nativeBuildInputs ? [ ] - , nimFlags ? [ ] - , requiredNimVersion ? defaultNimVersion - , passthru ? { } - , ... + { + depsBuildBuild ? [ ], + nativeBuildInputs ? [ ], + nimFlags ? [ ], + requiredNimVersion ? defaultNimVersion, + passthru ? { }, + ... }: - (if requiredNimVersion == 1 then { - depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; - nativeBuildInputs = [ nim1 ] ++ nativeBuildInputs; - } else if requiredNimVersion == 2 then { - depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; - nativeBuildInputs = [ nim2 ] ++ nativeBuildInputs; - } else - throw - "requiredNimVersion ${toString requiredNimVersion} is not valid") // { + ( + if requiredNimVersion == 1 then + { + depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; + nativeBuildInputs = [ nim1 ] ++ nativeBuildInputs; + } + else if requiredNimVersion == 2 then + { + depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; + nativeBuildInputs = [ nim2 ] ++ nativeBuildInputs; + } + else + throw "requiredNimVersion ${toString requiredNimVersion} is not valid" + ) + // { nimFlags = lockFileNimFlags ++ nimFlags; passthru = passthru // { # allow overriding the result of buildNimPackageArgs before this composition is applied # this allows overriding the lockFile for packages built using buildNimPackage # this is adapted from mkDerivationExtensible in stdenv.mkDerivation - overrideNimAttrs = f0: + overrideNimAttrs = + f0: let - f = self: super: - let x = f0 super; + f = + self: super: + let + x = f0 super; in - if builtins.isFunction x - then f0 self super - else x; + if builtins.isFunction x then f0 self super else x; in - buildNimPackage - (self: - let super = (asFunc ((asFunc buildNimPackageArgs) self)) baseAttrs; - in - super // (if builtins.isFunction f0 || f0?__functor then f self super else f0)); + buildNimPackage ( + self: + let + super = (asFunc ((asFunc buildNimPackageArgs) self)) baseAttrs; + in + super // (if builtins.isFunction f0 || f0 ? __functor then f self super else f0) + ); }; }; diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index 5183a358ce701..a6e3df9f3ade5 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -1,7 +1,13 @@ # buildEnv creates a tree of symlinks to the specified paths. This is # a fork of the hardcoded buildEnv in the Nix distribution. -{ buildPackages, runCommand, lib, substituteAll, writeClosure }: +{ + buildPackages, + runCommand, + lib, + substituteAll, + writeClosure, +}: let builder = substituteAll { @@ -10,83 +16,98 @@ let }; in -lib.makeOverridable -({ name +lib.makeOverridable ( + { + name, -, # The manifest file (if any). A symlink $out/manifest will be - # created to it. - manifest ? "" + # The manifest file (if any). A symlink $out/manifest will be + # created to it. + manifest ? "", -, # The paths to symlink. - paths + # The paths to symlink. + paths, -, # Whether to ignore collisions or abort. - ignoreCollisions ? false + # Whether to ignore collisions or abort. + ignoreCollisions ? false, -, # Whether to include closures of all input paths. - includeClosures ? false + # Whether to include closures of all input paths. + includeClosures ? false, -, # If there is a collision, check whether the contents and permissions match - # and only if not, throw a collision error. - checkCollisionContents ? true + # If there is a collision, check whether the contents and permissions match + # and only if not, throw a collision error. + checkCollisionContents ? true, -, # The paths (relative to each element of `paths') that we want to - # symlink (e.g., ["/bin"]). Any file not inside any of the - # directories in the list is not symlinked. - pathsToLink ? ["/"] + # The paths (relative to each element of `paths') that we want to + # symlink (e.g., ["/bin"]). Any file not inside any of the + # directories in the list is not symlinked. + pathsToLink ? [ "/" ], -, # The package outputs to include. By default, only the default - # output is included. - extraOutputsToInstall ? [] + # The package outputs to include. By default, only the default + # output is included. + extraOutputsToInstall ? [ ], -, # Root the result in directory "$out${extraPrefix}", e.g. "/share". - extraPrefix ? "" + # Root the result in directory "$out${extraPrefix}", e.g. "/share". + extraPrefix ? "", -, # Shell commands to run after building the symlink tree. - postBuild ? "" + # Shell commands to run after building the symlink tree. + postBuild ? "", -# Additional inputs -, nativeBuildInputs ? [] # Handy e.g. if using makeWrapper in `postBuild`. -, buildInputs ? [] + # Additional inputs + nativeBuildInputs ? [ ], # Handy e.g. if using makeWrapper in `postBuild`. + buildInputs ? [ ], -, passthru ? {} -, meta ? {} -}: -let - chosenOutputs = map (drv: { - paths = - # First add the usual output(s): respect if user has chosen explicitly, - # and otherwise use `meta.outputsToInstall`. The attribute is guaranteed - # to exist in mkDerivation-created cases. The other cases (e.g. runCommand) - # aren't expected to have multiple outputs. - (if (! drv ? outputSpecified || ! drv.outputSpecified) - && drv.meta.outputsToInstall or null != null - then map (outName: drv.${outName}) drv.meta.outputsToInstall - else [ drv ]) - # Add any extra outputs specified by the caller of `buildEnv`. - ++ lib.filter (p: p!=null) - (builtins.map (outName: drv.${outName} or null) extraOutputsToInstall); - priority = drv.meta.priority or lib.meta.defaultPriority; - }) paths; + passthru ? { }, + meta ? { }, + }: + let + chosenOutputs = map (drv: { + paths = + # First add the usual output(s): respect if user has chosen explicitly, + # and otherwise use `meta.outputsToInstall`. The attribute is guaranteed + # to exist in mkDerivation-created cases. The other cases (e.g. runCommand) + # aren't expected to have multiple outputs. + ( + if + (!drv ? outputSpecified || !drv.outputSpecified) && drv.meta.outputsToInstall or null != null + then + map (outName: drv.${outName}) drv.meta.outputsToInstall + else + [ drv ] + ) + # Add any extra outputs specified by the caller of `buildEnv`. + ++ lib.filter (p: p != null) (builtins.map (outName: drv.${outName} or null) extraOutputsToInstall); + priority = drv.meta.priority or lib.meta.defaultPriority; + }) paths; - pathsForClosure = lib.pipe chosenOutputs [ - (map (p: p.paths)) - lib.flatten - (lib.remove null) - ]; -in runCommand name - rec { - inherit manifest ignoreCollisions checkCollisionContents passthru - meta pathsToLink extraPrefix postBuild - nativeBuildInputs buildInputs; - pkgs = builtins.toJSON chosenOutputs; - extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure); - preferLocalBuild = true; - allowSubstitutes = false; - # XXX: The size is somewhat arbitrary - passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ]; - } - '' - ${buildPackages.perl}/bin/perl -w ${builder} - eval "$postBuild" - '') + pathsForClosure = lib.pipe chosenOutputs [ + (map (p: p.paths)) + lib.flatten + (lib.remove null) + ]; + in + runCommand name + rec { + inherit + manifest + ignoreCollisions + checkCollisionContents + passthru + meta + pathsToLink + extraPrefix + postBuild + nativeBuildInputs + buildInputs + ; + pkgs = builtins.toJSON chosenOutputs; + extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure); + preferLocalBuild = true; + allowSubstitutes = false; + # XXX: The size is somewhat arbitrary + passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ]; + } + '' + ${buildPackages.perl}/bin/perl -w ${builder} + eval "$postBuild" + '' +) diff --git a/pkgs/build-support/checkpoint-build.nix b/pkgs/build-support/checkpoint-build.nix index 11e4f9e3ab03f..6a28e7556d67b 100644 --- a/pkgs/build-support/checkpoint-build.nix +++ b/pkgs/build-support/checkpoint-build.nix @@ -1,6 +1,7 @@ -{ lib -, buildPackages -, config +{ + lib, + buildPackages, + config, }: let @@ -11,7 +12,8 @@ let rsync ; - /* Build a derivation based on the checkpoint output generated by + /* + Build a derivation based on the checkpoint output generated by * the `prepareCheckpointBuild` function. * * Usage: @@ -19,30 +21,35 @@ let * checkpointArtifacts = prepareCheckpointBuild drv; * in mkCheckpointBuild drv checkpointArtifacts */ - mkCheckpointBuild = drv: checkpointArtifacts: drv.overrideAttrs (old: { - # The actual checkpoint build phase. - # We compare the changed sources from a previous build with the current and create a patch. - # Afterwards we clean the build directory and copy the previous output files (including the sources). - # The source difference patch is then applied to get the latest changes again to allow short build times. - preBuild = (old.preBuild or "") + '' - set +e - sourceDifferencePatchFile=$(${mktemp}/bin/mktemp) - diff -ur ${checkpointArtifacts}/sources ./ > "$sourceDifferencePatchFile" - set -e - shopt -s dotglob - rm -r * - ${rsync}/bin/rsync \ - --checksum --times --atimes --chown=$USER:$USER --chmod=+w \ - -r ${checkpointArtifacts}/outputs/ . - patch -p 1 -i "$sourceDifferencePatchFile" - rm "$sourceDifferencePatchFile" - ''; - }); + mkCheckpointBuild = + drv: checkpointArtifacts: + drv.overrideAttrs (old: { + # The actual checkpoint build phase. + # We compare the changed sources from a previous build with the current and create a patch. + # Afterwards we clean the build directory and copy the previous output files (including the sources). + # The source difference patch is then applied to get the latest changes again to allow short build times. + preBuild = + (old.preBuild or "") + + '' + set +e + sourceDifferencePatchFile=$(${mktemp}/bin/mktemp) + diff -ur ${checkpointArtifacts}/sources ./ > "$sourceDifferencePatchFile" + set -e + shopt -s dotglob + rm -r * + ${rsync}/bin/rsync \ + --checksum --times --atimes --chown=$USER:$USER --chmod=+w \ + -r ${checkpointArtifacts}/outputs/ . + patch -p 1 -i "$sourceDifferencePatchFile" + rm "$sourceDifferencePatchFile" + ''; + }); in rec { inherit mkCheckpointBuild; - /* Prepare a derivation for local builds. + /* + Prepare a derivation for local builds. * * This function prepares checkpoint builds by storing * the build output and the sources for cross checking. @@ -60,38 +67,41 @@ rec { * - use `mkCheckpointBuild changedVBox checkpointArtifacts` * - enjoy shorter build times */ - prepareCheckpointBuild = drv: drv.overrideAttrs (old: { - outputs = [ "out" ]; - name = drv.name + "-checkpointArtifacts"; - # To determine differences between the state of the build directory - # from an earlier build and a later one we store the state of the build - # directory before build, but after patch phases. - # This way, the same derivation can be used multiple times and only changes are detected. - # Additionally, removed files are handled correctly in later builds. - preBuild = (old.preBuild or "") + '' - mkdir -p $out/sources - cp -r ./* $out/sources/ - ''; + prepareCheckpointBuild = + drv: + drv.overrideAttrs (old: { + outputs = [ "out" ]; + name = drv.name + "-checkpointArtifacts"; + # To determine differences between the state of the build directory + # from an earlier build and a later one we store the state of the build + # directory before build, but after patch phases. + # This way, the same derivation can be used multiple times and only changes are detected. + # Additionally, removed files are handled correctly in later builds. + preBuild = + (old.preBuild or "") + + '' + mkdir -p $out/sources + cp -r ./* $out/sources/ + ''; - # After the build, the build directory is copied again - # to get the output files. - # We copy the complete build folder, to take care of - # build tools that build in the source directory, instead of - # having a separate build directory such as the Linux kernel. - installPhase = '' - runHook preCheckpointInstall - mkdir -p $out/outputs - cp -r ./* $out/outputs/ - runHook postCheckpointInstall - unset postPhases - ''; + # After the build, the build directory is copied again + # to get the output files. + # We copy the complete build folder, to take care of + # build tools that build in the source directory, instead of + # having a separate build directory such as the Linux kernel. + installPhase = '' + runHook preCheckpointInstall + mkdir -p $out/outputs + cp -r ./* $out/outputs/ + runHook postCheckpointInstall + unset postPhases + ''; - dontFixup = true; - doInstallCheck = false; - doDist = false; - }); -} // lib.optionalAttrs config.allowAliases { - mkCheckpointedBuild = lib.warn - "`mkCheckpointedBuild` is deprecated, use `mkCheckpointBuild` instead!" - mkCheckpointBuild; + dontFixup = true; + doInstallCheck = false; + doDist = false; + }); +} +// lib.optionalAttrs config.allowAliases { + mkCheckpointedBuild = lib.warn "`mkCheckpointedBuild` is deprecated, use `mkCheckpointBuild` instead!" mkCheckpointBuild; } diff --git a/pkgs/build-support/closure-info.nix b/pkgs/build-support/closure-info.nix index cbeefc0e101c0..4ccc2b7994151 100644 --- a/pkgs/build-support/closure-info.nix +++ b/pkgs/build-support/closure-info.nix @@ -4,7 +4,11 @@ # "nix-store --load-db" and "nix-store --register-validity # --hash-given". -{ stdenvNoCC, coreutils, jq }: +{ + stdenvNoCC, + coreutils, + jq, +}: { rootPaths }: @@ -19,24 +23,26 @@ stdenvNoCC.mkDerivation { preferLocalBuild = true; - nativeBuildInputs = [ coreutils jq ]; + nativeBuildInputs = [ + coreutils + jq + ]; - empty = rootPaths == []; + empty = rootPaths == [ ]; - buildCommand = - '' - out=''${outputs[out]} + buildCommand = '' + out=''${outputs[out]} - mkdir $out + mkdir $out - if [[ -n "$empty" ]]; then - echo 0 > $out/total-nar-size - touch $out/registration $out/store-paths - else - jq -r ".closure | map(.narSize) | add" < "$NIX_ATTRS_JSON_FILE" > $out/total-nar-size - jq -r '.closure | map([.path, .narHash, .narSize, "", (.references | length)] + .references) | add | map("\(.)\n") | add' < "$NIX_ATTRS_JSON_FILE" | head -n -1 > $out/registration - jq -r '.closure[].path' < "$NIX_ATTRS_JSON_FILE" > $out/store-paths - fi + if [[ -n "$empty" ]]; then + echo 0 > $out/total-nar-size + touch $out/registration $out/store-paths + else + jq -r ".closure | map(.narSize) | add" < "$NIX_ATTRS_JSON_FILE" > $out/total-nar-size + jq -r '.closure | map([.path, .narHash, .narSize, "", (.references | length)] + .references) | add | map("\(.)\n") | add' < "$NIX_ATTRS_JSON_FILE" | head -n -1 > $out/registration + jq -r '.closure[].path' < "$NIX_ATTRS_JSON_FILE" > $out/store-paths + fi - ''; + ''; } diff --git a/pkgs/build-support/coq/default.nix b/pkgs/build-support/coq/default.nix index 2533875376fc1..01719ce243a1b 100644 --- a/pkgs/build-support/coq/default.nix +++ b/pkgs/build-support/coq/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, coqPackages, coq, which, fetchzip, fetchurl }@args: +{ + lib, + stdenv, + coqPackages, + coq, + which, + fetchzip, + fetchurl, +}@args: let lib = import ./extra-lib.nix { @@ -28,7 +36,8 @@ let isGitLabDomain = d: match "^gitlab.*" d != null; in -{ pname, +{ + pname, version ? null, fetcher ? null, owner ? "coq-community", @@ -36,119 +45,209 @@ in repo ? pname, defaultVersion ? null, releaseRev ? (v: v), - displayVersion ? {}, - release ? {}, - buildInputs ? [], - nativeBuildInputs ? [], - extraBuildInputs ? [], - extraNativeBuildInputs ? [], - overrideBuildInputs ? [], - overrideNativeBuildInputs ? [], + displayVersion ? { }, + release ? { }, + buildInputs ? [ ], + nativeBuildInputs ? [ ], + extraBuildInputs ? [ ], + extraNativeBuildInputs ? [ ], + overrideBuildInputs ? [ ], + overrideNativeBuildInputs ? [ ], namePrefix ? [ "coq" ], enableParallelBuilding ? true, - extraInstallFlags ? [], + extraInstallFlags ? [ ], setCOQBIN ? true, mlPlugin ? false, useMelquiondRemake ? null, - dropAttrs ? [], - keepAttrs ? [], - dropDerivationAttrs ? [], + dropAttrs ? [ ], + keepAttrs ? [ ], + dropDerivationAttrs ? [ ], useDuneifVersion ? (x: false), useDune ? false, opam-name ? (concatStringsSep "-" (namePrefix ++ [ pname ])), ... }@args: let - args-to-remove = foldl (flip remove) ([ - "version" "fetcher" "repo" "owner" "domain" "releaseRev" - "displayVersion" "defaultVersion" "useMelquiondRemake" - "release" - "buildInputs" "nativeBuildInputs" - "extraBuildInputs" "extraNativeBuildInputs" - "overrideBuildInputs" "overrideNativeBuildInputs" - "namePrefix" - "meta" "useDuneifVersion" "useDune" "opam-name" - "extraInstallFlags" "setCOQBIN" "mlPlugin" - "dropAttrs" "dropDerivationAttrs" "keepAttrs" ] ++ dropAttrs) keepAttrs; - fetch = import ../coq/meta-fetch/default.nix - { inherit lib stdenv fetchzip fetchurl; } ({ - inherit release releaseRev; - location = { inherit domain owner repo; }; - } // optionalAttrs (args?fetcher) {inherit fetcher;}); + args-to-remove = foldl (flip remove) ( + [ + "version" + "fetcher" + "repo" + "owner" + "domain" + "releaseRev" + "displayVersion" + "defaultVersion" + "useMelquiondRemake" + "release" + "buildInputs" + "nativeBuildInputs" + "extraBuildInputs" + "extraNativeBuildInputs" + "overrideBuildInputs" + "overrideNativeBuildInputs" + "namePrefix" + "meta" + "useDuneifVersion" + "useDune" + "opam-name" + "extraInstallFlags" + "setCOQBIN" + "mlPlugin" + "dropAttrs" + "dropDerivationAttrs" + "keepAttrs" + ] + ++ dropAttrs + ) keepAttrs; + fetch = + import ../coq/meta-fetch/default.nix + { + inherit + lib + stdenv + fetchzip + fetchurl + ; + } + ( + { + inherit release releaseRev; + location = { inherit domain owner repo; }; + } + // optionalAttrs (args ? fetcher) { inherit fetcher; } + ); fetched = fetch (if version != null then version else defaultVersion); - display-pkg = n: sep: v: - let d = displayVersion.${n} or (if sep == "" then ".." else true); in - n + optionalString (v != "" && v != null) (switch d [ - { case = true; out = sep + v; } - { case = "."; out = sep + versions.major v; } - { case = ".."; out = sep + versions.majorMinor v; } - { case = "..."; out = sep + versions.majorMinorPatch v; } - { case = isFunction; out = optionalString (d v != "") (sep + d v); } - { case = isString; out = optionalString (d != "") (sep + d); } - ] "") + optionalString (v == null) "-broken"; + display-pkg = + n: sep: v: + let + d = displayVersion.${n} or (if sep == "" then ".." else true); + in + n + + optionalString (v != "" && v != null) ( + switch d [ + { + case = true; + out = sep + v; + } + { + case = "."; + out = sep + versions.major v; + } + { + case = ".."; + out = sep + versions.majorMinor v; + } + { + case = "..."; + out = sep + versions.majorMinorPatch v; + } + { + case = isFunction; + out = optionalString (d v != "") (sep + d v); + } + { + case = isString; + out = optionalString (d != "") (sep + d); + } + ] "" + ) + + optionalString (v == null) "-broken"; append-version = p: n: p + display-pkg n "" coqPackages.${n}.version + "-"; prefix-name = foldl append-version "" namePrefix; useDune = args.useDune or (useDuneifVersion fetched.version); - coqlib-flags = switch coq.coq-version [ - { case = v: versions.isLe "8.6" v && v != "dev" ; - out = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; } - ] [ "COQLIBINSTALL=$(out)/lib/coq/${coq.coq-version}/user-contrib" - "COQPLUGININSTALL=$(OCAMLFIND_DESTDIR)" ]; - docdir-flags = switch coq.coq-version [ - { case = v: versions.isLe "8.6" v && v != "dev"; - out = [ "DOCDIR=$(out)/share/coq/${coq.coq-version}/" ]; } - ] [ "COQDOCINSTALL=$(out)/share/coq/${coq.coq-version}/user-contrib" ]; + coqlib-flags = + switch coq.coq-version + [ + { + case = v: versions.isLe "8.6" v && v != "dev"; + out = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; + } + ] + [ + "COQLIBINSTALL=$(out)/lib/coq/${coq.coq-version}/user-contrib" + "COQPLUGININSTALL=$(OCAMLFIND_DESTDIR)" + ]; + docdir-flags = + switch coq.coq-version + [ + { + case = v: versions.isLe "8.6" v && v != "dev"; + out = [ "DOCDIR=$(out)/share/coq/${coq.coq-version}/" ]; + } + ] + [ "COQDOCINSTALL=$(out)/share/coq/${coq.coq-version}/user-contrib" ]; in -stdenv.mkDerivation (removeAttrs ({ +stdenv.mkDerivation ( + removeAttrs ( + { - name = prefix-name + (display-pkg pname "-" fetched.version); + name = prefix-name + (display-pkg pname "-" fetched.version); - inherit (fetched) version src; + inherit (fetched) version src; - nativeBuildInputs = args.overrideNativeBuildInputs - or ([ which ] - ++ optional useDune coq.ocamlPackages.dune_3 - ++ optionals (useDune || mlPlugin) [ coq.ocamlPackages.ocaml coq.ocamlPackages.findlib ] - ++ (args.nativeBuildInputs or []) ++ extraNativeBuildInputs); - buildInputs = args.overrideBuildInputs - or ([ coq ] ++ (args.buildInputs or []) ++ extraBuildInputs); - inherit enableParallelBuilding; + nativeBuildInputs = + args.overrideNativeBuildInputs or ( + [ which ] + ++ optional useDune coq.ocamlPackages.dune_3 + ++ optionals (useDune || mlPlugin) [ + coq.ocamlPackages.ocaml + coq.ocamlPackages.findlib + ] + ++ (args.nativeBuildInputs or [ ]) + ++ extraNativeBuildInputs + ); + buildInputs = + args.overrideBuildInputs or ([ coq ] ++ (args.buildInputs or [ ]) ++ extraBuildInputs); + inherit enableParallelBuilding; - meta = ({ platforms = coq.meta.platforms; } // - (switch domain [{ - case = pred.union isGitHubDomain isGitLabDomain; - out = { homepage = "https://${domain}/${owner}/${repo}"; }; - }] {}) // - optionalAttrs (fetched.broken or false) { coqFilter = true; broken = true; }) // - (args.meta or {}) ; + meta = + ( + { + platforms = coq.meta.platforms; + } + // (switch domain [ + { + case = pred.union isGitHubDomain isGitLabDomain; + out = { + homepage = "https://${domain}/${owner}/${repo}"; + }; + } + ] { }) + // optionalAttrs (fetched.broken or false) { + coqFilter = true; + broken = true; + } + ) + // (args.meta or { }); -} -// (optionalAttrs setCOQBIN { COQBIN = "${coq}/bin/"; }) -// (optionalAttrs (!args?installPhase && !args?useMelquiondRemake) { - installFlags = - coqlib-flags ++ docdir-flags ++ - extraInstallFlags; -}) -// (optionalAttrs useDune { - buildPhase = '' - runHook preBuild - dune build -p ${opam-name} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} - runHook postBuild - ''; - installPhase = '' - runHook preInstall - dune install --prefix=$out --libdir $OCAMLFIND_DESTDIR ${opam-name} - mkdir $out/lib/coq/ - mv $OCAMLFIND_DESTDIR/coq $out/lib/coq/${coq.coq-version} - runHook postInstall - ''; -}) -// (optionalAttrs (args?useMelquiondRemake) rec { - COQUSERCONTRIB = "$out/lib/coq/${coq.coq-version}/user-contrib"; - preConfigurePhases = [ "autoconf" ]; - configureFlags = [ "--libdir=${COQUSERCONTRIB}/${useMelquiondRemake.logpath or ""}" ]; - buildPhase = "./remake -j$NIX_BUILD_CORES"; - installPhase = "./remake install"; -}) -// (removeAttrs args args-to-remove)) dropDerivationAttrs) + } + // (optionalAttrs setCOQBIN { COQBIN = "${coq}/bin/"; }) + // (optionalAttrs (!args ? installPhase && !args ? useMelquiondRemake) { + installFlags = coqlib-flags ++ docdir-flags ++ extraInstallFlags; + }) + // (optionalAttrs useDune { + buildPhase = '' + runHook preBuild + dune build -p ${opam-name} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + runHook postBuild + ''; + installPhase = '' + runHook preInstall + dune install --prefix=$out --libdir $OCAMLFIND_DESTDIR ${opam-name} + mkdir $out/lib/coq/ + mv $OCAMLFIND_DESTDIR/coq $out/lib/coq/${coq.coq-version} + runHook postInstall + ''; + }) + // (optionalAttrs (args ? useMelquiondRemake) rec { + COQUSERCONTRIB = "$out/lib/coq/${coq.coq-version}/user-contrib"; + preConfigurePhases = [ "autoconf" ]; + configureFlags = [ "--libdir=${COQUSERCONTRIB}/${useMelquiondRemake.logpath or ""}" ]; + buildPhase = "./remake -j$NIX_BUILD_CORES"; + installPhase = "./remake install"; + }) + // (removeAttrs args args-to-remove) + ) dropDerivationAttrs +) diff --git a/pkgs/build-support/coq/extra-lib.nix b/pkgs/build-support/coq/extra-lib.nix index 76537484e266f..ec8c228a53537 100644 --- a/pkgs/build-support/coq/extra-lib.nix +++ b/pkgs/build-support/coq/extra-lib.nix @@ -24,70 +24,78 @@ recursiveUpdate lib (rec { versions = let truncate = n: v: concatStringsSep "." (take n (splitVersion v)); - opTruncate = op: v0: v: let n = length (splitVersion v0); in - op (truncate n v) (truncate n v0); - in rec { - - /* Get string of the first n parts of a version string. - - Example: - - truncate 2 "1.2.3-stuff" - => "1.2" - - - truncate 4 "1.2.3-stuff" - => "1.2.3.stuff" - */ - - inherit truncate; - - /* Get string of the first three parts (major, minor and patch) - of a version string. - - Example: - majorMinorPatch "1.2.3-stuff" - => "1.2.3" - */ - majorMinorPatch = truncate 3; - - /* Version comparison predicates, - - isGe v0 v <-> v is greater or equal than v0 [*] - - isLe v0 v <-> v is lesser or equal than v0 [*] - - isGt v0 v <-> v is strictly greater than v0 [*] - - isLt v0 v <-> v is strictly lesser than v0 [*] - - isEq v0 v <-> v is equal to v0 [*] - - range low high v <-> v is between low and high [**] - - [*] truncating v to the same number of digits as v0 - [**] truncating v to low for the lower bound and high for the upper bound - - Examples: - - isGe "8.10" "8.10.1" - => true - - isLe "8.10" "8.10.1" - => true - - isGt "8.10" "8.10.1" - => false - - isGt "8.10.0" "8.10.1" - => true - - isEq "8.10" "8.10.1" - => true - - range "8.10" "8.11" "8.11.1" - => true - - range "8.10" "8.11+" "8.11.0" - => false - - range "8.10" "8.11+" "8.11+beta1" - => false - - */ - isGe = opTruncate versionAtLeast; - isGt = opTruncate (flip versionOlder); - isLe = opTruncate (flip versionAtLeast); - isLt = opTruncate versionOlder; - isEq = opTruncate pred.equal; - range = low: high: pred.inter (versions.isGe low) (versions.isLe high); - }; - - /* Returns a list of list, splitting it using a predicate. + opTruncate = + op: v0: v: + let + n = length (splitVersion v0); + in + op (truncate n v) (truncate n v0); + in + rec { + + /* + Get string of the first n parts of a version string. + + Example: + - truncate 2 "1.2.3-stuff" + => "1.2" + + - truncate 4 "1.2.3-stuff" + => "1.2.3.stuff" + */ + + inherit truncate; + + /* + Get string of the first three parts (major, minor and patch) + of a version string. + + Example: + majorMinorPatch "1.2.3-stuff" + => "1.2.3" + */ + majorMinorPatch = truncate 3; + + /* + Version comparison predicates, + - isGe v0 v <-> v is greater or equal than v0 [*] + - isLe v0 v <-> v is lesser or equal than v0 [*] + - isGt v0 v <-> v is strictly greater than v0 [*] + - isLt v0 v <-> v is strictly lesser than v0 [*] + - isEq v0 v <-> v is equal to v0 [*] + - range low high v <-> v is between low and high [**] + + [*] truncating v to the same number of digits as v0 + [**] truncating v to low for the lower bound and high for the upper bound + + Examples: + - isGe "8.10" "8.10.1" + => true + - isLe "8.10" "8.10.1" + => true + - isGt "8.10" "8.10.1" + => false + - isGt "8.10.0" "8.10.1" + => true + - isEq "8.10" "8.10.1" + => true + - range "8.10" "8.11" "8.11.1" + => true + - range "8.10" "8.11+" "8.11.0" + => false + - range "8.10" "8.11+" "8.11+beta1" + => false + */ + isGe = opTruncate versionAtLeast; + isGt = opTruncate (flip versionOlder); + isLe = opTruncate (flip versionAtLeast); + isLt = opTruncate versionOlder; + isEq = opTruncate pred.equal; + range = low: high: pred.inter (versions.isGe low) (versions.isLe high); + }; + + /* + Returns a list of list, splitting it using a predicate. This is analoguous to builtins.split sep list, with a predicate as a separator and a list instead of a string. @@ -97,117 +105,157 @@ recursiveUpdate lib (rec { splitList (x: x == "x") [ "y" "x" "z" "t" ] => [ [ "y" ] "x" [ "z" "t" ] ] */ - splitList = pred: l: # put in file lists - let loop = (vv: v: l: if l == [] then vv ++ [v] - else let hd = head l; tl = tail l; in - if pred hd then loop (vv ++ [ v hd ]) [] tl else loop vv (v ++ [hd]) tl); - in loop [] [] l; + splitList = + pred: l: # put in file lists + let + loop = ( + vv: v: l: + if l == [ ] then + vv ++ [ v ] + else + let + hd = head l; + tl = tail l; + in + if pred hd then + loop ( + vv + ++ [ + v + hd + ] + ) [ ] tl + else + loop vv (v ++ [ hd ]) tl + ); + in + loop [ ] [ ] l; pred = { - /* Predicate intersection, union, and complement */ - inter = p: q: x: p x && q x; - union = p: q: x: p x || q x; - compl = p: x: ! p x; - true = p: true; + # Predicate intersection, union, and complement + inter = + p: q: x: + p x && q x; + union = + p: q: x: + p x || q x; + compl = p: x: !p x; + true = p: true; false = p: false; - /* predicate "being equal to y" */ - equal = y: x: x == y; + # predicate "being equal to y" + equal = y: x: x == y; }; - /* Emulate a "switch - case" construct, - instead of relying on `if then else if ...` */ - /* Usage: - ```nix - switch-if [ - if-clause-1 - .. - if-clause-k - ] default-out - ``` - where a if-clause has the form `{ cond = b; out = r; }` - the first branch such as `b` is true */ - - switch-if = c: d: (findFirst (getAttr "cond") {} c).out or d; - - /* Usage: - ```nix - switch x [ - simple-clause-1 - .. - simple-clause-k - ] default-out - ``` - where a simple-clause has the form `{ case = p; out = r; }` - the first branch such as `p x` is true - or - ```nix - switch [ x1 .. xn ] [ - complex-clause-1 - .. - complex-clause-k - ] default-out - ``` - where a complex-clause is either a simple-clause - or has the form { cases = [ p1 .. pn ]; out = r; } - in which case the first branch such as all `pi x` are true - - if the variables p are not functions, - they are converted to a equal p - if out is missing the default-out is taken */ - - switch = var: clauses: default: with pred; let - compare = f: if isFunction f then f else equal f; - combine = cl: var: - if cl?case then compare cl.case var - else all (equal true) (zipListsWith compare cl.cases var); in - switch-if (map (cl: { cond = combine cl var; inherit (cl) out; }) clauses) default; - - /* Override arguments to mkCoqDerivation for a Coq library. - - This function allows you to easily override arguments to mkCoqDerivation, - even when they are not exposed by the Coq library directly. - - Type: overrideCoqDerivation :: AttrSet -> CoqLibraryDerivation -> CoqLibraryDerivation - - Example: - - ```nix - coqPackages.lib.overrideCoqDerivation - { - defaultVersion = "9999"; - release."9999".hash = "sha256-fDoP11rtrIM7+OLdMisv2EF7n/IbGuwFxHiPtg3qCNM="; - } - coqPackages.QuickChick; - ``` - - This example overrides the `defaultVersion` and `release` arguments that - are passed to `mkCoqDerivation` in the QuickChick derivation. - - Note that there is a difference between using `.override` on a Coq - library vs this `overrideCoqDerivation` function. `.override` allows you - to modify arguments to the derivation itself, for instance by passing - different versions of dependencies: - - ```nix - coqPackages.QuickChick.override { ssreflect = my-cool-ssreflect; } - ``` - - whereas `overrideCoqDerivation` allows you to override arguments to the - call to `mkCoqDerivation` in the Coq library. - - Note that all Coq libraries in Nixpkgs have a `version` argument for - easily using a different version. So if all you want to do is use a - different version, and the derivation for the Coq library already has - support for the version you want, you likely only need to update the - `version` argument on the library derivation. This is done with - `.override`: - - ```nix - coqPackages.QuickChick.override { version = "1.4.0"; } - ``` + /* + Emulate a "switch - case" construct, + instead of relying on `if then else if ...` + */ + /* + Usage: + ```nix + switch-if [ + if-clause-1 + .. + if-clause-k + ] default-out + ``` + where a if-clause has the form `{ cond = b; out = r; }` + the first branch such as `b` is true + */ + + switch-if = c: d: (findFirst (getAttr "cond") { } c).out or d; + + /* + Usage: + ```nix + switch x [ + simple-clause-1 + .. + simple-clause-k + ] default-out + ``` + where a simple-clause has the form `{ case = p; out = r; }` + the first branch such as `p x` is true + or + ```nix + switch [ x1 .. xn ] [ + complex-clause-1 + .. + complex-clause-k + ] default-out + ``` + where a complex-clause is either a simple-clause + or has the form { cases = [ p1 .. pn ]; out = r; } + in which case the first branch such as all `pi x` are true + + if the variables p are not functions, + they are converted to a equal p + if out is missing the default-out is taken + */ + + switch = + var: clauses: default: + with pred; + let + compare = f: if isFunction f then f else equal f; + combine = + cl: var: + if cl ? case then compare cl.case var else all (equal true) (zipListsWith compare cl.cases var); + in + switch-if (map (cl: { + cond = combine cl var; + inherit (cl) out; + }) clauses) default; + + /* + Override arguments to mkCoqDerivation for a Coq library. + + This function allows you to easily override arguments to mkCoqDerivation, + even when they are not exposed by the Coq library directly. + + Type: overrideCoqDerivation :: AttrSet -> CoqLibraryDerivation -> CoqLibraryDerivation + + Example: + + ```nix + coqPackages.lib.overrideCoqDerivation + { + defaultVersion = "9999"; + release."9999".hash = "sha256-fDoP11rtrIM7+OLdMisv2EF7n/IbGuwFxHiPtg3qCNM="; + } + coqPackages.QuickChick; + ``` + + This example overrides the `defaultVersion` and `release` arguments that + are passed to `mkCoqDerivation` in the QuickChick derivation. + + Note that there is a difference between using `.override` on a Coq + library vs this `overrideCoqDerivation` function. `.override` allows you + to modify arguments to the derivation itself, for instance by passing + different versions of dependencies: + + ```nix + coqPackages.QuickChick.override { ssreflect = my-cool-ssreflect; } + ``` + + whereas `overrideCoqDerivation` allows you to override arguments to the + call to `mkCoqDerivation` in the Coq library. + + Note that all Coq libraries in Nixpkgs have a `version` argument for + easily using a different version. So if all you want to do is use a + different version, and the derivation for the Coq library already has + support for the version you want, you likely only need to update the + `version` argument on the library derivation. This is done with + `.override`: + + ```nix + coqPackages.QuickChick.override { version = "1.4.0"; } + ``` */ - overrideCoqDerivation = f: drv: (drv.override (args: { - mkCoqDerivation = drv_: (args.mkCoqDerivation drv_).override f; - })); + overrideCoqDerivation = + f: drv: + (drv.override (args: { + mkCoqDerivation = drv_: (args.mkCoqDerivation drv_).override f; + })); }) diff --git a/pkgs/build-support/coq/meta-fetch/default.nix b/pkgs/build-support/coq/meta-fetch/default.nix index ad0a69e29f2ce..7491d0205c251 100644 --- a/pkgs/build-support/coq/meta-fetch/default.nix +++ b/pkgs/build-support/coq/meta-fetch/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchzip }@args: +{ + lib, + stdenv, + fetchurl, + fetchzip, +}@args: let lib = import ../extra-lib.nix { @@ -28,75 +33,162 @@ let inherit (lib.strings) match split; - default-fetcher = {domain ? "github.com", owner ? "", repo, rev, name ? "source", sha256 ? null, artifact ? null, ...}@args: - let kind = switch-if [ - { cond = artifact != null; out = {ext = "tbz"; fmt = "tbz"; fetchfun = fetchurl; }; } - { cond = args?sha256 ; out = {ext = "zip"; fmt = "zip"; fetchfun = fetchzip; }; } - ] {ext = "tar.gz"; fmt = "tarball"; fetchfun = builtins.fetchTarball; }; in - with kind; let - pr = match "^#(.*)$" rev; - url = switch-if [ - { cond = pr == null && (match "^github.*" domain) != null && artifact != null; - out = "https://github.com/${owner}/${repo}/releases/download/${rev}/${artifact}"; } - { cond = pr == null && (match "^github.*" domain) != null; - out = "https://${domain}/${owner}/${repo}/archive/${rev}.${ext}"; } - { cond = pr != null && (match "^github.*" domain) != null; - out = "https://api.${domain}/repos/${owner}/${repo}/${fmt}/pull/${head pr}/head"; } - { cond = pr == null && (match "^gitlab.*" domain) != null; - out = "https://${domain}/${owner}/${repo}/-/archive/${rev}/${repo}-${rev}.${ext}"; } - { cond = (match "(www.)?mpi-sws.org" domain) != null; - out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}";} - ] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}"); - fetch = x: fetchfun (if args?sha256 then (x // { inherit sha256; }) else x); - in fetch { inherit url ; }; + default-fetcher = + { + domain ? "github.com", + owner ? "", + repo, + rev, + name ? "source", + sha256 ? null, + artifact ? null, + ... + }@args: + let + kind = + switch-if + [ + { + cond = artifact != null; + out = { + ext = "tbz"; + fmt = "tbz"; + fetchfun = fetchurl; + }; + } + { + cond = args ? sha256; + out = { + ext = "zip"; + fmt = "zip"; + fetchfun = fetchzip; + }; + } + ] + { + ext = "tar.gz"; + fmt = "tarball"; + fetchfun = builtins.fetchTarball; + }; + in + with kind; + let + pr = match "^#(.*)$" rev; + url = switch-if [ + { + cond = pr == null && (match "^github.*" domain) != null && artifact != null; + out = "https://github.com/${owner}/${repo}/releases/download/${rev}/${artifact}"; + } + { + cond = pr == null && (match "^github.*" domain) != null; + out = "https://${domain}/${owner}/${repo}/archive/${rev}.${ext}"; + } + { + cond = pr != null && (match "^github.*" domain) != null; + out = "https://api.${domain}/repos/${owner}/${repo}/${fmt}/pull/${head pr}/head"; + } + { + cond = pr == null && (match "^gitlab.*" domain) != null; + out = "https://${domain}/${owner}/${repo}/-/archive/${rev}/${repo}-${rev}.${ext}"; + } + { + cond = (match "(www.)?mpi-sws.org" domain) != null; + out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}"; + } + ] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}"); + fetch = x: fetchfun (if args ? sha256 then (x // { inherit sha256; }) else x); + in + fetch { inherit url; }; in { fetcher ? default-fetcher, location, - release ? {}, + release ? { }, releaseRev ? (v: v), - releaseArtifact ? (v: null) + releaseArtifact ? (v: null), }: let - isVersion = x: isString x && match "^/.*" x == null && release?${x}; - shortVersion = x: if (isString x && match "^/.*" x == null) - then findFirst (v: versions.majorMinor v == x) null - (sort versionAtLeast (attrNames release)) - else null; - isShortVersion = x: shortVersion x != null; - isPathString = x: isString x && match "^/.*" x != null && pathExists x; in + isVersion = x: isString x && match "^/.*" x == null && release ? ${x}; + shortVersion = + x: + if (isString x && match "^/.*" x == null) then + findFirst (v: versions.majorMinor v == x) null (sort versionAtLeast (attrNames release)) + else + null; + isShortVersion = x: shortVersion x != null; + isPathString = x: isString x && match "^/.*" x != null && pathExists x; +in arg: switch arg [ - { case = isNull; out = { version = "broken"; src = ""; broken = true; }; } - { case = isPathString; out = { version = "dev"; src = arg; }; } - { case = pred.union isVersion isShortVersion; - out = let - v = if isVersion arg then arg else shortVersion arg; - given-sha256 = release.${v}.sha256 or ""; - sha256 = if given-sha256 == "" then fakeSha256 else given-sha256; - rv = release.${v} // { inherit sha256; }; - in + { + case = isNull; + out = { + version = "broken"; + src = ""; + broken = true; + }; + } + { + case = isPathString; + out = { + version = "dev"; + src = arg; + }; + } + { + case = pred.union isVersion isShortVersion; + out = + let + v = if isVersion arg then arg else shortVersion arg; + given-sha256 = release.${v}.sha256 or ""; + sha256 = if given-sha256 == "" then fakeSha256 else given-sha256; + rv = release.${v} // { + inherit sha256; + }; + in { version = rv.version or v; - src = rv.src or fetcher (location // { rev = releaseRev v; artifact = releaseArtifact v; } // rv); + src = rv.src or fetcher ( + location + // { + rev = releaseRev v; + artifact = releaseArtifact v; + } + // rv + ); }; - } - { case = isString; - out = let - splitted = filter isString (split ":" arg); - rev = last splitted; + } + { + case = isString; + out = + let + splitted = filter isString (split ":" arg); + rev = last splitted; has-owner = length splitted > 1; - version = "dev"; in { - inherit version; - src = fetcher (location // { inherit rev; } // - (optionalAttrs has-owner { owner = head splitted; })); - }; } - { case = isAttrs; + version = "dev"; + in + { + inherit version; + src = fetcher ( + location // { inherit rev; } // (optionalAttrs has-owner { owner = head splitted; }) + ); + }; + } + { + case = isAttrs; out = { version = arg.version or "dev"; - src = (arg.fetcher or fetcher) (location // (arg.location or {})); }; } - { case = isPath; + src = (arg.fetcher or fetcher) (location // (arg.location or { })); + }; + } + { + case = isPath; out = { - version = "dev" ; - src = builtins.path {path = arg; name = location.name or "source";}; }; } + version = "dev"; + src = builtins.path { + path = arg; + name = location.name or "source"; + }; + }; + } ] (throw "not a valid source description") diff --git a/pkgs/build-support/dart/build-dart-application/default.nix b/pkgs/build-support/dart/build-dart-application/default.nix index 7b8057f50a2e8..444930985f8e0 100644 --- a/pkgs/build-support/dart/build-dart-application/default.nix +++ b/pkgs/build-support/dart/build-dart-application/default.nix @@ -1,59 +1,72 @@ -{ lib -, stdenv -, callPackage -, runCommand -, writeText -, pub2nix -, dartHooks -, makeWrapper -, dart -, nodejs -, darwin -, jq -, yq +{ + lib, + stdenv, + callPackage, + runCommand, + writeText, + pub2nix, + dartHooks, + makeWrapper, + dart, + nodejs, + darwin, + jq, + yq, }: -{ src -, sourceRoot ? "source" -, packageRoot ? (lib.removePrefix "/" (lib.removePrefix "source" sourceRoot)) -, gitHashes ? { } -, sdkSourceBuilders ? { } -, customSourceBuilders ? { } +{ + src, + sourceRoot ? "source", + packageRoot ? (lib.removePrefix "/" (lib.removePrefix "source" sourceRoot)), + gitHashes ? { }, + sdkSourceBuilders ? { }, + customSourceBuilders ? { }, -, sdkSetupScript ? "" -, extraPackageConfigSetup ? "" + sdkSetupScript ? "", + extraPackageConfigSetup ? "", # Output type to produce. Can be any kind supported by dart # https://dart.dev/tools/dart-compile#types-of-output # If using jit, you might want to pass some arguments to `dartJitFlags` -, dartOutputType ? "exe" -, dartCompileCommand ? "dart compile" -, dartCompileFlags ? [ ] + dartOutputType ? "exe", + dartCompileCommand ? "dart compile", + dartCompileFlags ? [ ], # These come at the end of the command, useful to pass flags to the jit run -, dartJitFlags ? [ ] + dartJitFlags ? [ ], # Attrset of entry point files to build and install. # Where key is the final binary path and value is the source file path # e.g. { "bin/foo" = "bin/main.dart"; } # Set to null to read executables from pubspec.yaml -, dartEntryPoints ? null + dartEntryPoints ? null, # Used when wrapping aot, jit, kernel, and js builds. # Set to null to disable wrapping. -, dartRuntimeCommand ? if dartOutputType == "aot-snapshot" then "${dart}/bin/dartaotruntime" - else if (dartOutputType == "jit-snapshot" || dartOutputType == "kernel") then "${dart}/bin/dart" - else if dartOutputType == "js" then "${nodejs}/bin/node" - else null - -, runtimeDependencies ? [ ] -, extraWrapProgramArgs ? "" - -, autoPubspecLock ? null -, pubspecLock ? if autoPubspecLock == null then - throw "The pubspecLock argument is required. If import-from-derivation is allowed (it isn't in Nixpkgs), you can set autoPubspecLock to the path to a pubspec.lock instead." - else - assert lib.assertMsg (builtins.pathExists autoPubspecLock) "The pubspec.lock file could not be found!"; - lib.importJSON (runCommand "${lib.getName args}-pubspec-lock-json" { nativeBuildInputs = [ yq ]; } ''yq . '${autoPubspecLock}' > "$out"'') -, ... + dartRuntimeCommand ? + if dartOutputType == "aot-snapshot" then + "${dart}/bin/dartaotruntime" + else if (dartOutputType == "jit-snapshot" || dartOutputType == "kernel") then + "${dart}/bin/dart" + else if dartOutputType == "js" then + "${nodejs}/bin/node" + else + null, + + runtimeDependencies ? [ ], + extraWrapProgramArgs ? "", + + autoPubspecLock ? null, + pubspecLock ? + if autoPubspecLock == null then + throw "The pubspecLock argument is required. If import-from-derivation is allowed (it isn't in Nixpkgs), you can set autoPubspecLock to the path to a pubspec.lock instead." + else + assert lib.assertMsg (builtins.pathExists autoPubspecLock) + "The pubspec.lock file could not be found!"; + lib.importJSON ( + runCommand "${lib.getName args}-pubspec-lock-json" { + nativeBuildInputs = [ yq ]; + } ''yq . '${autoPubspecLock}' > "$out"'' + ), + ... }@args: let @@ -61,22 +74,30 @@ let pubspecLockFile = builtins.toJSON pubspecLock; pubspecLockData = pub2nix.readPubspecLock { - inherit src packageRoot pubspecLock gitHashes customSourceBuilders; - sdkSourceBuilders = { + inherit + src + packageRoot + pubspecLock + gitHashes + customSourceBuilders + ; + sdkSourceBuilders = { # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 - "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' - for path in '${dart}/pkg/${name}'; do - if [ -d "$path" ]; then - ln -s "$path" "$out" - break + "dart" = + name: + runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' + for path in '${dart}/pkg/${name}'; do + if [ -d "$path" ]; then + ln -s "$path" "$out" + break + fi + done + + if [ ! -e "$out" ]; then + echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' + exit 1 fi - done - - if [ ! -e "$out" ]; then - echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' - exit 1 - fi - ''; + ''; } // sdkSourceBuilders; }; packageConfig = generators.linkPackageConfig { @@ -98,53 +119,87 @@ let extraSetupCommands = extraPackageConfigSetup; }; - inherit (dartHooks.override { inherit dart; }) dartConfigHook dartBuildHook dartInstallHook dartFixupHook; - - baseDerivation = stdenv.mkDerivation (finalAttrs: (builtins.removeAttrs args [ "gitHashes" "sdkSourceBuilders" "pubspecLock" "customSourceBuilders" ]) // { - inherit pubspecLockFile packageConfig sdkSetupScript - dartCompileCommand dartOutputType dartRuntimeCommand dartCompileFlags - dartJitFlags; - - outputs = [ "out" "pubcache" ] ++ args.outputs or [ ]; - - dartEntryPoints = - if (dartEntryPoints != null) - then writeText "entrypoints.json" (builtins.toJSON dartEntryPoints) - else null; - - runtimeDependencies = map lib.getLib runtimeDependencies; - - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ - dart - dartConfigHook - dartBuildHook - dartInstallHook - dartFixupHook - makeWrapper - jq - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.sigtool - ] ++ - # Ensure that we inherit the propagated build inputs from the dependencies. - builtins.attrValues pubspecLockData.dependencySources; - - preConfigure = args.preConfigure or "" + '' - ln -sf "$pubspecLockFilePath" pubspec.lock - ''; - - # When stripping, it seems some ELF information is lost and the dart VM cli - # runs instead of the expected program. Don't strip if it's an exe output. - dontStrip = args.dontStrip or (dartOutputType == "exe"); - - passAsFile = [ "pubspecLockFile" ]; - - passthru = { - pubspecLock = pubspecLockData; - } // (args.passthru or { }); - - meta = (args.meta or { }) // { platforms = args.meta.platforms or dart.meta.platforms; }; - }); + inherit (dartHooks.override { inherit dart; }) + dartConfigHook + dartBuildHook + dartInstallHook + dartFixupHook + ; + + baseDerivation = stdenv.mkDerivation ( + finalAttrs: + (builtins.removeAttrs args [ + "gitHashes" + "sdkSourceBuilders" + "pubspecLock" + "customSourceBuilders" + ]) + // { + inherit + pubspecLockFile + packageConfig + sdkSetupScript + dartCompileCommand + dartOutputType + dartRuntimeCommand + dartCompileFlags + dartJitFlags + ; + + outputs = [ + "out" + "pubcache" + ] ++ args.outputs or [ ]; + + dartEntryPoints = + if (dartEntryPoints != null) then + writeText "entrypoints.json" (builtins.toJSON dartEntryPoints) + else + null; + + runtimeDependencies = map lib.getLib runtimeDependencies; + + nativeBuildInputs = + (args.nativeBuildInputs or [ ]) + ++ [ + dart + dartConfigHook + dartBuildHook + dartInstallHook + dartFixupHook + makeWrapper + jq + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.sigtool + ] + ++ + # Ensure that we inherit the propagated build inputs from the dependencies. + builtins.attrValues pubspecLockData.dependencySources; + + preConfigure = + args.preConfigure or "" + + '' + ln -sf "$pubspecLockFilePath" pubspec.lock + ''; + + # When stripping, it seems some ELF information is lost and the dart VM cli + # runs instead of the expected program. Don't strip if it's an exe output. + dontStrip = args.dontStrip or (dartOutputType == "exe"); + + passAsFile = [ "pubspecLockFile" ]; + + passthru = { + pubspecLock = pubspecLockData; + } // (args.passthru or { }); + + meta = (args.meta or { }) // { + platforms = args.meta.platforms or dart.meta.platforms; + }; + } + ); in -assert !(builtins.isString dartOutputType && dartOutputType != "") -> -throw "dartOutputType must be a non-empty string"; +assert + !(builtins.isString dartOutputType && dartOutputType != "") + -> throw "dartOutputType must be a non-empty string"; baseDerivation diff --git a/pkgs/build-support/dart/build-dart-application/hooks/default.nix b/pkgs/build-support/dart/build-dart-application/hooks/default.nix index 253d3132ad02e..bf4b88da5d2eb 100644 --- a/pkgs/build-support/dart/build-dart-application/hooks/default.nix +++ b/pkgs/build-support/dart/build-dart-application/hooks/default.nix @@ -1,4 +1,10 @@ -{ lib, makeSetupHook, dart, yq, jq }: +{ + lib, + makeSetupHook, + dart, + yq, + jq, +}: { dartConfigHook = makeSetupHook { diff --git a/pkgs/build-support/dart/pub2nix/pubspec-lock.nix b/pkgs/build-support/dart/pub2nix/pubspec-lock.nix index e1ab4d7d23590..456236e18e5ef 100644 --- a/pkgs/build-support/dart/pub2nix/pubspec-lock.nix +++ b/pkgs/build-support/dart/pub2nix/pubspec-lock.nix @@ -1,28 +1,29 @@ -{ lib -, callPackage -, fetchurl -, fetchgit -, runCommand +{ + lib, + callPackage, + fetchurl, + fetchgit, + runCommand, }: { # The source directory of the package. - src + src, # The package subdirectory within src. # Useful if the package references sibling packages with relative paths. -, packageRoot ? "." + packageRoot ? ".", # The pubspec.lock file, in attribute set form. -, pubspecLock + pubspecLock, # Hashes for Git dependencies. # Pub does not record these itself, so they must be manually provided. -, gitHashes ? { } + gitHashes ? { }, # Functions to generate SDK package sources. # The function names should match the SDK names, and the package name is given as an argument. -, sdkSourceBuilders ? { } + sdkSourceBuilders ? { }, # Functions that create custom package source derivations. # @@ -30,7 +31,7 @@ # source, and source files are given in an attribute set argument. # # The passthru of the source derivation should be propagated. -, customSourceBuilders ? { } + customSourceBuilders ? { }, }: let @@ -43,14 +44,20 @@ let "transitive" = "transitive"; }; - dependencies = lib.foldlAttrs - (dependencies: name: details: dependencies // { ${dependencyTypes.${details.dependency}} = dependencies.${dependencyTypes.${details.dependency}} ++ [ name ]; }) - (lib.genAttrs (builtins.attrValues dependencyTypes) (dependencyType: [ ])) - pubspecLock.packages; + dependencies = lib.foldlAttrs ( + dependencies: name: details: + dependencies + // { + ${dependencyTypes.${details.dependency}} = + dependencies.${dependencyTypes.${details.dependency}} + ++ [ name ]; + } + ) (lib.genAttrs (builtins.attrValues dependencyTypes) (dependencyType: [ ])) pubspecLock.packages; # fetchTarball fails with "tarball contains an unexpected number of top-level files". This is a workaround. # https://discourse.nixos.org/t/fetchtarball-with-multiple-top-level-directories-fails/20556 - mkHostedDependencySource = name: details: + mkHostedDependencySource = + name: details: let archive = fetchurl { name = "pub-${name}-${details.version}.tar.gz"; @@ -63,48 +70,95 @@ let tar xf '${archive}' -C "$out" ''; - mkGitDependencySource = name: details: (fetchgit { - name = "pub-${name}-${details.version}"; - url = details.description.url; - rev = details.description.resolved-ref; - hash = gitHashes.${name} or (throw "A Git hash is required for ${name}! Set to an empty string to obtain it."); - }).overrideAttrs ({ passthru ? { }, ... }: { - passthru = passthru // { - packageRoot = details.description.path; - }; - }); - - mkPathDependencySource = name: details: - assert lib.assertMsg details.description.relative "Only relative paths are supported - ${name} has an absolue path!"; - (if lib.isDerivation src then src else (runCommand "pub-${name}-${details.version}" { } ''cp -r '${src}' "$out"'')).overrideAttrs ({ passthru ? { }, ... }: { - passthru = passthru // { - packageRoot = "${packageRoot}/${details.description.path}"; - }; - }); - - mkSdkDependencySource = name: details: - (sdkSourceBuilders.${details.description} or (throw "No SDK source builder has been given for ${details.description}!")) name; - - addDependencySourceUtils = dependencySource: details: dependencySource.overrideAttrs ({ passthru, ... }: { - passthru = passthru // { - inherit (details) version; - }; - }); - - sourceBuilders = callPackage ../../../development/compilers/dart/package-source-builders { } // customSourceBuilders; - - dependencySources = lib.filterAttrs (name: src: src != null) (builtins.mapAttrs - (name: details: + mkGitDependencySource = + name: details: + (fetchgit { + name = "pub-${name}-${details.version}"; + url = details.description.url; + rev = details.description.resolved-ref; + hash = + gitHashes.${name} + or (throw "A Git hash is required for ${name}! Set to an empty string to obtain it."); + }).overrideAttrs + ( + { + passthru ? { }, + ... + }: + { + passthru = passthru // { + packageRoot = details.description.path; + }; + } + ); + + mkPathDependencySource = + name: details: + assert lib.assertMsg details.description.relative + "Only relative paths are supported - ${name} has an absolue path!"; + ( + if lib.isDerivation src then + src + else + (runCommand "pub-${name}-${details.version}" { } ''cp -r '${src}' "$out"'') + ).overrideAttrs + ( + { + passthru ? { }, + ... + }: + { + passthru = passthru // { + packageRoot = "${packageRoot}/${details.description.path}"; + }; + } + ); + + mkSdkDependencySource = + name: details: + (sdkSourceBuilders.${details.description} + or (throw "No SDK source builder has been given for ${details.description}!") + ) + name; + + addDependencySourceUtils = + dependencySource: details: + dependencySource.overrideAttrs ( + { passthru, ... }: + { + passthru = passthru // { + inherit (details) version; + }; + } + ); + + sourceBuilders = + callPackage ../../../development/compilers/dart/package-source-builders { } // customSourceBuilders; + + dependencySources = lib.filterAttrs (name: src: src != null) ( + builtins.mapAttrs ( + name: details: (sourceBuilders.${name} or ({ src, ... }: src)) { inherit (details) version source; - src = ((addDependencySourceUtils (({ - "hosted" = mkHostedDependencySource; - "git" = mkGitDependencySource; - "path" = mkPathDependencySource; - "sdk" = mkSdkDependencySource; - }.${details.source} name) details)) details); - }) - pubspecLock.packages); + src = ( + (addDependencySourceUtils ( + ( + { + "hosted" = mkHostedDependencySource; + "git" = mkGitDependencySource; + "path" = mkPathDependencySource; + "sdk" = mkSdkDependencySource; + } + .${details.source} + name + ) + details + )) + details + ); + } + ) pubspecLock.packages + ); in { inherit @@ -115,5 +169,6 @@ in dependencyVersions # An attribute set of package names to their sources. - dependencySources; + dependencySources + ; } diff --git a/pkgs/build-support/dev-shell-tools/default.nix b/pkgs/build-support/dev-shell-tools/default.nix index 487be834727f8..264b6a31f07ad 100644 --- a/pkgs/build-support/dev-shell-tools/default.nix +++ b/pkgs/build-support/dev-shell-tools/default.nix @@ -11,53 +11,63 @@ rec { # This function closely mirrors what this Nix code does: # https://github.com/NixOS/nix/blob/2.8.0/src/libexpr/primops.cc#L1102 # https://github.com/NixOS/nix/blob/2.8.0/src/libexpr/eval.cc#L1981-L2036 - valueToString = value: + valueToString = + value: # We can't just use `toString` on all derivation attributes because that # would not put path literals in the closure. So we explicitly copy # those into the store here - if typeOf value == "path" then "${value}" - else if typeOf value == "list" then toString (map valueToString value) - else toString value; - + if typeOf value == "path" then + "${value}" + else if typeOf value == "list" then + toString (map valueToString value) + else + toString value; # Docs: doc/build-helpers/dev-shell-tools.chapter.md # Tests: ./tests/default.nix # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L992-L1004 - unstructuredDerivationInputEnv = { drvAttrs }: + unstructuredDerivationInputEnv = + { drvAttrs }: # FIXME: this should be `normalAttrs // passAsFileAttrs` lib.mapAttrs' - (name: value: - let str = valueToString value; - in if lib.elem name (drvAttrs.passAsFile or []) - then + ( + name: value: + let + str = valueToString value; + in + if lib.elem name (drvAttrs.passAsFile or [ ]) then let nameHash = - if builtins?convertHash - then builtins.convertHash { - hash = "sha256:" + builtins.hashString "sha256" name; - toHashFormat = "nix32"; - } + if builtins ? convertHash then + builtins.convertHash { + hash = "sha256:" + builtins.hashString "sha256" name; + toHashFormat = "nix32"; + } else builtins.hashString "sha256" name; basename = ".attr-${nameHash}"; in - lib.nameValuePair "${name}Path" "${ - writeTextFile { - name = "shell-passAsFile-${name}"; - text = str; - destination = "/${basename}"; - } - }/${basename}" - else lib.nameValuePair name str + lib.nameValuePair "${name}Path" "${ + writeTextFile { + name = "shell-passAsFile-${name}"; + text = str; + destination = "/${basename}"; + } + }/${basename}" + else + lib.nameValuePair name str ) - (removeAttrs drvAttrs [ - # TODO: there may be more of these - "args" - ]); + ( + removeAttrs drvAttrs [ + # TODO: there may be more of these + "args" + ] + ); # Docs: doc/build-helpers/dev-shell-tools.chapter.md # Tests: ./tests/default.nix - derivationOutputEnv = { outputList, outputMap }: + derivationOutputEnv = + { outputList, outputMap }: # A mapping from output name to the nix store path where they should end up # https://github.com/NixOS/nix/blob/2.8.0/src/libexpr/primops.cc#L1253 lib.genAttrs outputList (output: builtins.unsafeDiscardStringContext outputMap.${output}.outPath); diff --git a/pkgs/build-support/dev-shell-tools/tests/default.nix b/pkgs/build-support/dev-shell-tools/tests/default.nix index 06ef7e393e324..074aa8462a7c5 100644 --- a/pkgs/build-support/dev-shell-tools/tests/default.nix +++ b/pkgs/build-support/dev-shell-tools/tests/default.nix @@ -23,7 +23,9 @@ lib.recurseIntoAttrs { # nix-build -A tests.devShellTools.valueToString valueToString = - let inherit (devShellTools) valueToString; in + let + inherit (devShellTools) valueToString; + in stdenv.mkDerivation { name = "devShellTools-valueToString-built-tests"; @@ -34,9 +36,16 @@ lib.recurseIntoAttrs { boolTrue = true; boolFalse = false; foo = "foo"; - list = [ 1 2 3 ]; + list = [ + 1 + 2 + 3 + ]; pathDefaultNix = ./default.nix; - packages = [ hello emptyFile ]; + packages = [ + hello + emptyFile + ]; # TODO: nested lists buildCommand = '' @@ -47,8 +56,19 @@ lib.recurseIntoAttrs { [[ "$boolFalse" = ${escapeShellArg (valueToString false)} ]] [[ "$foo" = ${escapeShellArg (valueToString "foo")} ]] [[ "$hello" = ${escapeShellArg (valueToString hello)} ]] - [[ "$list" = ${escapeShellArg (valueToString [ 1 2 3 ])} ]] - [[ "$packages" = ${escapeShellArg (valueToString [ hello emptyFile ])} ]] + [[ "$list" = ${ + escapeShellArg (valueToString [ + 1 + 2 + 3 + ]) + } ]] + [[ "$packages" = ${ + escapeShellArg (valueToString [ + hello + emptyFile + ]) + } ]] [[ "$pathDefaultNix" = ${escapeShellArg (valueToString ./default.nix)} ]] [[ "$emptyFile" = ${escapeShellArg (valueToString emptyFile)} ]] ) >log 2>&1 || { cat log; exit 1; } @@ -65,13 +85,20 @@ lib.recurseIntoAttrs { boolTrue = true; boolFalse = false; foo = "foo"; - list = [ 1 2 3 ]; + list = [ + 1 + 2 + 3 + ]; pathDefaultNix = ./default.nix; stringWithDep = "Exe: ${hello}/bin/hello"; aPackageAttrSet = hello; anOutPath = hello.outPath; anAnAlternateOutput = zlib.dev; - args = [ "args must not be added to the environment" "Nix doesn't do it." ]; + args = [ + "args must not be added to the environment" + "Nix doesn't do it." + ]; passAsFile = [ "bar" ]; bar = '' @@ -81,85 +108,83 @@ lib.recurseIntoAttrs { }; result = unstructuredDerivationInputEnv { inherit drvAttrs; }; in - assert result // { barPath = ""; } == { - one = "1"; - boolTrue = "1"; - boolFalse = ""; - foo = "foo"; - list = "1 2 3"; - pathDefaultNix = "${./default.nix}"; - stringWithDep = "Exe: ${hello}/bin/hello"; - aPackageAttrSet = "${hello}"; - anOutPath = "${hello.outPath}"; - anAnAlternateOutput = "${zlib.dev}"; - - passAsFile = "bar"; - barPath = ""; - }; + assert + result // { barPath = ""; } == { + one = "1"; + boolTrue = "1"; + boolFalse = ""; + foo = "foo"; + list = "1 2 3"; + pathDefaultNix = "${./default.nix}"; + stringWithDep = "Exe: ${hello}/bin/hello"; + aPackageAttrSet = "${hello}"; + anOutPath = "${hello.outPath}"; + anAnAlternateOutput = "${zlib.dev}"; + + passAsFile = "bar"; + barPath = ""; + }; # Not runCommand, because it alters `passAsFile` - stdenv.mkDerivation ({ - name = "devShellTools-unstructuredDerivationInputEnv-built-tests"; - - exampleBarPathString = - assert isString result.barPath; - result.barPath; - - dontUnpack = true; - dontBuild = true; - dontFixup = true; - doCheck = true; - - installPhase = "touch $out"; - - checkPhase = '' - fail() { - echo "$@" >&2 - exit 1 - } - checkAttr() { - echo checking attribute $1... - if [[ "$2" != "$3" ]]; then - echo "expected: $3" - echo "actual: $2" + stdenv.mkDerivation ( + { + name = "devShellTools-unstructuredDerivationInputEnv-built-tests"; + + exampleBarPathString = + assert isString result.barPath; + result.barPath; + + dontUnpack = true; + dontBuild = true; + dontFixup = true; + doCheck = true; + + installPhase = "touch $out"; + + checkPhase = '' + fail() { + echo "$@" >&2 exit 1 - fi - } - ${ - concatLines - (mapAttrsToList - (name: value: - "checkAttr ${name} \"\$${name}\" ${escapeShellArg value}" - ) - (removeAttrs - result - [ - "args" - - # Nix puts it in workdir, which is not a concept for - # unstructuredDerivationInputEnv, so we have to put it in the - # store instead. This means the full path won't match. - "barPath" - ]) + } + checkAttr() { + echo checking attribute $1... + if [[ "$2" != "$3" ]]; then + echo "expected: $3" + echo "actual: $2" + exit 1 + fi + } + ${concatLines ( + mapAttrsToList (name: value: "checkAttr ${name} \"\$${name}\" ${escapeShellArg value}") ( + removeAttrs result [ + "args" + + # Nix puts it in workdir, which is not a concept for + # unstructuredDerivationInputEnv, so we have to put it in the + # store instead. This means the full path won't match. + "barPath" + ] ) - } - ( - set -x + )} + ( + set -x - diff $exampleBarPathString $barPath + diff $exampleBarPathString $barPath - ${lib.optionalString (builtins?convertHash) '' - [[ "$(basename $exampleBarPathString)" = "$(basename $barPath)" ]] - ''} - ) + ${lib.optionalString (builtins ? convertHash) '' + [[ "$(basename $exampleBarPathString)" = "$(basename $barPath)" ]] + ''} + ) - ''${args:+fail "args should not be set by Nix. We don't expect it to and unstructuredDerivationInputEnv removes it."} - if [[ "''${builder:-x}" == x ]]; then - fail "builder should be set by Nix. We don't remove it in unstructuredDerivationInputEnv." - fi - ''; - } // removeAttrs drvAttrs [ - # This would break the derivation. Instead, we have a check in the derivation to make sure Nix doesn't set it. - "args" - ]); + ''${args:+fail "args should not be set by Nix. We don't expect it to and unstructuredDerivationInputEnv removes it."} + if [[ "''${builder:-x}" == x ]]; then + fail "builder should be set by Nix. We don't remove it in unstructuredDerivationInputEnv." + fi + ''; + } + // removeAttrs drvAttrs [ + # This would break the derivation. Instead, we have a check in the derivation to make sure Nix doesn't set it. + "args" + ] + ); } diff --git a/pkgs/build-support/dhall/directory-to-nix.nix b/pkgs/build-support/dhall/directory-to-nix.nix index d751e19df3fc3..ba02ddfd820de 100644 --- a/pkgs/build-support/dhall/directory-to-nix.nix +++ b/pkgs/build-support/dhall/directory-to-nix.nix @@ -1,4 +1,4 @@ -{ dhallPackages, dhallPackageToNix}: +{ dhallPackages, dhallPackageToNix }: # `dhallDirectoryToNix is a utility function to take a directory of Dhall files # and read them in as a Nix expression. @@ -11,9 +11,10 @@ # `dhallDirectoryToNix` utility. It is not possible to use # `dhallDirectoryToNix` in Nixpkgs, since the Nixpkgs Hydra doesn't allow IFD. -{ src -, # The file to import, relative to the src root directory - file ? "package.dhall" +{ + src, + # The file to import, relative to the src root directory + file ? "package.dhall", }@args: let @@ -22,4 +23,4 @@ let builtPkg = dhallPackages.callPackage generatedPkg { }; in - dhallPackageToNix builtPkg +dhallPackageToNix builtPkg diff --git a/pkgs/build-support/dhall/package-to-nix.nix b/pkgs/build-support/dhall/package-to-nix.nix index 301501ad49df3..1c47c9cf0ec66 100644 --- a/pkgs/build-support/dhall/package-to-nix.nix +++ b/pkgs/build-support/dhall/package-to-nix.nix @@ -1,4 +1,3 @@ - # `dhallPackageToNix` is a utility function to take a Nixpkgs Dhall package # (created with a function like `dhallPackages.buildDhallDirectoryPackage`) # and read it in as a Nix expression. @@ -14,23 +13,23 @@ { stdenv, dhall-nix }: dhallPackage: - let - drv = stdenv.mkDerivation { - name = "dhall-compiled-package.nix"; +let + drv = stdenv.mkDerivation { + name = "dhall-compiled-package.nix"; - buildCommand = '' - # Dhall requires that the cache is writable, even if it is never written to. - # We copy the cache from the input package to the current directory and - # set the cache as writable. - cp -r "${dhallPackage}/.cache" ./ - export XDG_CACHE_HOME=$PWD/.cache - chmod -R +w ./.cache + buildCommand = '' + # Dhall requires that the cache is writable, even if it is never written to. + # We copy the cache from the input package to the current directory and + # set the cache as writable. + cp -r "${dhallPackage}/.cache" ./ + export XDG_CACHE_HOME=$PWD/.cache + chmod -R +w ./.cache - dhall-to-nix <<< "${dhallPackage}/binary.dhall" > $out - ''; + dhall-to-nix <<< "${dhallPackage}/binary.dhall" > $out + ''; - nativeBuildInputs = [ dhall-nix ]; - }; + nativeBuildInputs = [ dhall-nix ]; + }; - in - import drv +in +import drv diff --git a/pkgs/build-support/dhall/to-nix.nix b/pkgs/build-support/dhall/to-nix.nix index 96cc16e16f369..e7e9c86b82dd2 100644 --- a/pkgs/build-support/dhall/to-nix.nix +++ b/pkgs/build-support/dhall/to-nix.nix @@ -1,24 +1,30 @@ -/* `dhallToNix` is a utility function to convert expressions in the Dhall - configuration language to their corresponding Nix expressions. - - Example: - dhallToNix "{ foo = 1, bar = True }" - => { foo = 1; bar = true; } - dhallToNix "λ(x : Bool) → x == False" - => x : x == false - dhallToNix "λ(x : Bool) → x == False" false - => true - - See https://hackage.haskell.org/package/dhall-nix/docs/Dhall-Nix.html for - a longer tutorial - - Note that this uses "import from derivation", meaning that Nix will perform - a build during the evaluation phase if you use this `dhallToNix` utility +/* + `dhallToNix` is a utility function to convert expressions in the Dhall + configuration language to their corresponding Nix expressions. + + Example: + dhallToNix "{ foo = 1, bar = True }" + => { foo = 1; bar = true; } + dhallToNix "λ(x : Bool) → x == False" + => x : x == false + dhallToNix "λ(x : Bool) → x == False" false + => true + + See https://hackage.haskell.org/package/dhall-nix/docs/Dhall-Nix.html for + a longer tutorial + + Note that this uses "import from derivation", meaning that Nix will perform + a build during the evaluation phase if you use this `dhallToNix` utility */ -{ stdenv, dhall-nix, writeText }: +{ + stdenv, + dhall-nix, + writeText, +}: let - dhallToNix = code : + dhallToNix = + code: let file = writeText "dhall-expression" code; @@ -33,6 +39,6 @@ let }; in - import drv; + import drv; in - dhallToNix +dhallToNix diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index f6e09203b455b..683c8255ca056 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -7,61 +7,77 @@ # $ nix-build '' -A dockerTools.examples.redis # $ docker load < result -{ pkgs, buildImage, buildLayeredImage, fakeNss, pullImage, shadowSetup, buildImageWithNixDb, pkgsCross, streamNixShellImage }: +{ + pkgs, + buildImage, + buildLayeredImage, + fakeNss, + pullImage, + shadowSetup, + buildImageWithNixDb, + pkgsCross, + streamNixShellImage, +}: let nixosLib = import ../../../nixos/lib { # Experimental features need testing too, but there's no point in warning # about it, so we enable the feature flag. - featureFlags.minimalModules = {}; + featureFlags.minimalModules = { }; }; evalMinimalConfig = module: nixosLib.evalModules { modules = [ module ]; }; - nginxArguments = let - nginxPort = "80"; - nginxConf = pkgs.writeText "nginx.conf" '' - user nobody nobody; - daemon off; - error_log /dev/stdout info; - pid /dev/null; - events {} - http { - access_log /dev/stdout; - server { - listen ${nginxPort}; - index index.html; - location / { - root ${nginxWebRoot}; + nginxArguments = + let + nginxPort = "80"; + nginxConf = pkgs.writeText "nginx.conf" '' + user nobody nobody; + daemon off; + error_log /dev/stdout info; + pid /dev/null; + events {} + http { + access_log /dev/stdout; + server { + listen ${nginxPort}; + index index.html; + location / { + root ${nginxWebRoot}; + } } } - } - ''; - nginxWebRoot = pkgs.writeTextDir "index.html" '' -

Hello from NGINX

- ''; - in - { name = "nginx-container"; - tag = "latest"; - contents = [ - fakeNss - pkgs.nginx - ]; + ''; + nginxWebRoot = pkgs.writeTextDir "index.html" '' +

Hello from NGINX

+ ''; + in + { + name = "nginx-container"; + tag = "latest"; + contents = [ + fakeNss + pkgs.nginx + ]; - extraCommands = '' - mkdir -p tmp/nginx_client_body + extraCommands = '' + mkdir -p tmp/nginx_client_body - # nginx still tries to read this directory even if error_log - # directive is specifying another file :/ - mkdir -p var/log/nginx - ''; + # nginx still tries to read this directory even if error_log + # directive is specifying another file :/ + mkdir -p var/log/nginx + ''; - config = { - Cmd = [ "nginx" "-c" nginxConf ]; - ExposedPorts = { - "${nginxPort}/tcp" = {}; + config = { + Cmd = [ + "nginx" + "-c" + nginxConf + ]; + ExposedPorts = { + "${nginxPort}/tcp" = { }; + }; }; }; - }; in @@ -100,7 +116,7 @@ rec { Cmd = [ "/bin/redis-server" ]; WorkingDir = "/data"; Volumes = { - "/data" = {}; + "/data" = { }; }; }; }; @@ -220,7 +236,11 @@ rec { tag = "latest"; extraCommands = ''echo "(extraCommand)" > extraCommands''; config.Cmd = [ "${pkgs.hello}/bin/hello" ]; - contents = [ pkgs.hello pkgs.bash pkgs.coreutils ]; + contents = [ + pkgs.hello + pkgs.bash + pkgs.coreutils + ]; }; # 11. Create an image on top of a layered image @@ -236,7 +256,9 @@ rec { Env = [ "PATH=${pkgs.coreutils}/bin/" ]; WorkingDir = "/example-output"; Cmd = [ - "${pkgs.bash}/bin/bash" "-c" "echo hello > foo; cat foo" + "${pkgs.bash}/bin/bash" + "-c" + "echo hello > foo; cat foo" ]; }; }; @@ -254,7 +276,9 @@ rec { Env = [ "PATH=${pkgs.coreutils}/bin/" ]; WorkingDir = "/example-output"; Cmd = [ - "${pkgs.bash}/bin/bash" "-c" "echo hello > foo; cat foo" + "${pkgs.bash}/bin/bash" + "-c" + "echo hello > foo; cat foo" ]; }; }; @@ -274,41 +298,43 @@ rec { # - the layer of parent are below # - the order of parent layer is preserved at image build time # (this is why there are 3 images) - layersOrder = let - l1 = pkgs.dockerTools.buildImage { - name = "l1"; - tag = "latest"; - extraCommands = '' - mkdir -p tmp - echo layer1 > tmp/layer1 - echo layer1 > tmp/layer2 - echo layer1 > tmp/layer3 - ''; - }; - l2 = pkgs.dockerTools.buildImage { - name = "l2"; - fromImage = l1; + layersOrder = + let + l1 = pkgs.dockerTools.buildImage { + name = "l1"; + tag = "latest"; + extraCommands = '' + mkdir -p tmp + echo layer1 > tmp/layer1 + echo layer1 > tmp/layer2 + echo layer1 > tmp/layer3 + ''; + }; + l2 = pkgs.dockerTools.buildImage { + name = "l2"; + fromImage = l1; + tag = "latest"; + extraCommands = '' + mkdir -p tmp + echo layer2 > tmp/layer2 + echo layer2 > tmp/layer3 + ''; + }; + in + pkgs.dockerTools.buildImage { + name = "l3"; + fromImage = l2; tag = "latest"; + copyToRoot = pkgs.buildEnv { + name = "image-root"; + pathsToLink = [ "/bin" ]; + paths = [ pkgs.coreutils ]; + }; extraCommands = '' mkdir -p tmp - echo layer2 > tmp/layer2 - echo layer2 > tmp/layer3 + echo layer3 > tmp/layer3 ''; }; - in pkgs.dockerTools.buildImage { - name = "l3"; - fromImage = l2; - tag = "latest"; - copyToRoot = pkgs.buildEnv { - name = "image-root"; - pathsToLink = [ "/bin" ]; - paths = [ pkgs.coreutils ]; - }; - extraCommands = '' - mkdir -p tmp - echo layer3 > tmp/layer3 - ''; - }; # 15. Environment variable inheritance. # Child image should inherit parents environment variables, @@ -366,7 +392,10 @@ rec { name = "two-layered-image"; tag = "latest"; config.Cmd = [ "${pkgs.hello}/bin/hello" ]; - contents = [ pkgs.bash pkgs.hello ]; + contents = [ + pkgs.bash + pkgs.hello + ]; maxLayers = 2; }; @@ -376,7 +405,8 @@ rec { name = "bulk-layer"; tag = "latest"; contents = with pkgs; [ - coreutils hello + coreutils + hello ]; maxLayers = 2; }; @@ -388,7 +418,8 @@ rec { tag = "latest"; fromImage = two-layered-image; contents = with pkgs; [ - coreutils hello + coreutils + hello ]; maxLayers = 4; }; @@ -460,29 +491,31 @@ rec { # 23. Ensure that layers are unpacked in the correct order before the # runAsRoot script is executed. layersUnpackOrder = - let - layerOnTopOf = parent: layerName: - pkgs.dockerTools.buildImage { - name = "layers-unpack-order-${layerName}"; - tag = "latest"; - fromImage = parent; - copyToRoot = pkgs.buildEnv { - name = "image-root"; - pathsToLink = [ "/bin" ]; - paths = [ pkgs.coreutils ]; + let + layerOnTopOf = + parent: layerName: + pkgs.dockerTools.buildImage { + name = "layers-unpack-order-${layerName}"; + tag = "latest"; + fromImage = parent; + copyToRoot = pkgs.buildEnv { + name = "image-root"; + pathsToLink = [ "/bin" ]; + paths = [ pkgs.coreutils ]; + }; + runAsRoot = '' + #!${pkgs.runtimeShell} + echo -n "${layerName}" >> /layer-order + ''; }; - runAsRoot = '' - #!${pkgs.runtimeShell} - echo -n "${layerName}" >> /layer-order - ''; - }; - # When executing the runAsRoot script when building layer C, if layer B is - # not unpacked on top of layer A, the contents of /layer-order will not be - # "ABC". - layerA = layerOnTopOf null "a"; - layerB = layerOnTopOf layerA "b"; - layerC = layerOnTopOf layerB "c"; - in layerC; + # When executing the runAsRoot script when building layer C, if layer B is + # not unpacked on top of layer A, the contents of /layer-order will not be + # "ABC". + layerA = layerOnTopOf null "a"; + layerB = layerOnTopOf layerA "b"; + layerC = layerOnTopOf layerB "c"; + in + layerC; bashUncompressed = pkgs.dockerTools.buildImage { name = "bash-uncompressed"; @@ -537,67 +570,84 @@ rec { # buildLayeredImage with non-root user bashLayeredWithUser = - let - nonRootShadowSetup = { user, uid, gid ? uid }: with pkgs; [ - ( - writeTextDir "etc/shadow" '' - root:!x::::::: - ${user}:!::::::: - '' - ) - ( - writeTextDir "etc/passwd" '' - root:x:0:0::/root:${runtimeShell} - ${user}:x:${toString uid}:${toString gid}::/home/${user}: - '' - ) - ( - writeTextDir "etc/group" '' - root:x:0: - ${user}:x:${toString gid}: - '' - ) - ( - writeTextDir "etc/gshadow" '' - root:x:: - ${user}:x:: - '' - ) - ]; - in + let + nonRootShadowSetup = + { + user, + uid, + gid ? uid, + }: + with pkgs; + [ + (writeTextDir "etc/shadow" '' + root:!x::::::: + ${user}:!::::::: + '') + (writeTextDir "etc/passwd" '' + root:x:0:0::/root:${runtimeShell} + ${user}:x:${toString uid}:${toString gid}::/home/${user}: + '') + (writeTextDir "etc/group" '' + root:x:0: + ${user}:x:${toString gid}: + '') + (writeTextDir "etc/gshadow" '' + root:x:: + ${user}:x:: + '') + ]; + in pkgs.dockerTools.buildLayeredImage { name = "bash-layered-with-user"; tag = "latest"; - contents = [ pkgs.bash pkgs.coreutils ] ++ nonRootShadowSetup { uid = 999; user = "somebody"; }; + contents = + [ + pkgs.bash + pkgs.coreutils + ] + ++ nonRootShadowSetup { + uid = 999; + user = "somebody"; + }; }; # basic example, with cross compilation - cross = let - # Cross compile for x86_64 if on aarch64 - crossPkgs = - if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then pkgsCross.gnu64 - else pkgsCross.aarch64-multiplatform; - in crossPkgs.dockerTools.buildImage { - name = "hello-cross"; - tag = "latest"; - copyToRoot = pkgs.buildEnv { - name = "image-root"; - pathsToLink = [ "/bin" ]; - paths = [ crossPkgs.hello ]; + cross = + let + # Cross compile for x86_64 if on aarch64 + crossPkgs = + if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then + pkgsCross.gnu64 + else + pkgsCross.aarch64-multiplatform; + in + crossPkgs.dockerTools.buildImage { + name = "hello-cross"; + tag = "latest"; + copyToRoot = pkgs.buildEnv { + name = "image-root"; + pathsToLink = [ "/bin" ]; + paths = [ crossPkgs.hello ]; + }; }; - }; # layered image where a store path is itself a symlink layeredStoreSymlink = - let - target = pkgs.writeTextDir "dir/target" "Content doesn't matter."; - symlink = pkgs.runCommand "symlink" {} "ln -s ${target} $out"; - in + let + target = pkgs.writeTextDir "dir/target" "Content doesn't matter."; + symlink = pkgs.runCommand "symlink" { } "ln -s ${target} $out"; + in pkgs.dockerTools.buildLayeredImage { name = "layeredstoresymlink"; tag = "latest"; - contents = [ pkgs.bash symlink ]; - } // { passthru = { inherit symlink; }; }; + contents = [ + pkgs.bash + symlink + ]; + } + // { + passthru = { inherit symlink; }; + }; # image with registry/ prefix prefixedImage = pkgs.dockerTools.buildImage { @@ -623,15 +673,21 @@ rec { fakeRootCommands = '' mkdir -p ./home/alice chown 1000 ./home/alice - ln -s ${pkgs.hello.overrideAttrs (finalAttrs: prevAttrs: { - # A unique `hello` to make sure that it isn't included via another mechanism by accident. - configureFlags = prevAttrs.configureFlags or [] ++ [ " --program-prefix=layeredImageWithFakeRootCommands-" ]; - doCheck = false; - versionCheckProgram = "${builtins.placeholder "out"}/bin/${finalAttrs.meta.mainProgram}"; - meta = prevAttrs.meta // { - mainProgram = "layeredImageWithFakeRootCommands-hello"; - }; - })} ./hello + ln -s ${ + pkgs.hello.overrideAttrs ( + finalAttrs: prevAttrs: { + # A unique `hello` to make sure that it isn't included via another mechanism by accident. + configureFlags = prevAttrs.configureFlags or [ ] ++ [ + " --program-prefix=layeredImageWithFakeRootCommands-" + ]; + doCheck = false; + versionCheckProgram = "${builtins.placeholder "out"}/bin/${finalAttrs.meta.mainProgram}"; + meta = prevAttrs.meta // { + mainProgram = "layeredImageWithFakeRootCommands-hello"; + }; + } + ) + } ./hello ''; }; @@ -702,21 +758,27 @@ rec { etc = let inherit (pkgs) lib; - nixosCore = (evalMinimalConfig ({ config, ... }: { - imports = [ - pkgs.pkgsModule - ../../../nixos/modules/system/etc/etc.nix - ]; - environment.etc."some-config-file" = { - text = '' - 127.0.0.1 localhost - ::1 localhost - ''; - # For executables: - # mode = "0755"; - }; - })); - in pkgs.dockerTools.streamLayeredImage { + nixosCore = ( + evalMinimalConfig ( + { config, ... }: + { + imports = [ + pkgs.pkgsModule + ../../../nixos/modules/system/etc/etc.nix + ]; + environment.etc."some-config-file" = { + text = '' + 127.0.0.1 localhost + ::1 localhost + ''; + # For executables: + # mode = "0755"; + }; + } + ) + ); + in + pkgs.dockerTools.streamLayeredImage { name = "etc"; tag = "latest"; enableFakechroot = true; @@ -751,13 +813,19 @@ rec { name = "build-image-with-path"; tag = "latest"; # Not recommended. Use `buildEnv` between copy and packages to avoid file duplication. - copyToRoot = [ pkgs.bashInteractive ./test-dummy ]; + copyToRoot = [ + pkgs.bashInteractive + ./test-dummy + ]; }; layered-image-with-path = pkgs.dockerTools.streamLayeredImage { name = "layered-image-with-path"; tag = "latest"; - contents = [ pkgs.bashInteractive ./test-dummy ]; + contents = [ + pkgs.bashInteractive + ./test-dummy + ]; }; build-image-with-architecture = buildImage { @@ -765,14 +833,20 @@ rec { tag = "latest"; architecture = "arm64"; # Not recommended. Use `buildEnv` between copy and packages to avoid file duplication. - copyToRoot = [ pkgs.bashInteractive ./test-dummy ]; + copyToRoot = [ + pkgs.bashInteractive + ./test-dummy + ]; }; layered-image-with-architecture = pkgs.dockerTools.streamLayeredImage { name = "layered-image-with-architecture"; tag = "latest"; architecture = "arm64"; - contents = [ pkgs.bashInteractive ./test-dummy ]; + contents = [ + pkgs.bashInteractive + ./test-dummy + ]; }; # ensure that caCertificates builds @@ -837,7 +911,7 @@ rec { nix-shell-run = streamNixShellImage { name = "nix-shell-run"; tag = "latest"; - drv = pkgs.mkShell {}; + drv = pkgs.mkShell { }; run = '' case "$-" in *i*) echo This shell is interactive ;; @@ -849,7 +923,7 @@ rec { nix-shell-command = streamNixShellImage { name = "nix-shell-command"; tag = "latest"; - drv = pkgs.mkShell {}; + drv = pkgs.mkShell { }; command = '' case "$-" in *i*) echo This shell is interactive ;; @@ -861,7 +935,7 @@ rec { nix-shell-writable-home = streamNixShellImage { name = "nix-shell-writable-home"; tag = "latest"; - drv = pkgs.mkShell {}; + drv = pkgs.mkShell { }; run = '' if [[ "$HOME" != "$(eval "echo ~$(whoami)")" ]]; then echo "\$HOME ($HOME) is not the same as ~\$(whoami) ($(eval "echo ~$(whoami)"))" @@ -879,7 +953,7 @@ rec { nix-shell-nonexistent-home = streamNixShellImage { name = "nix-shell-nonexistent-home"; tag = "latest"; - drv = pkgs.mkShell {}; + drv = pkgs.mkShell { }; homeDirectory = "/homeless-shelter"; run = '' if [[ "$HOME" != "$(eval "echo ~$(whoami)")" ]]; then @@ -905,10 +979,13 @@ rec { ''; }; - nix-layered = pkgs.dockerTools.streamLayeredImage { + nix-layered = pkgs.dockerTools.streamLayeredImage { name = "nix-layered"; tag = "latest"; - contents = [ pkgs.nix pkgs.bash ]; + contents = [ + pkgs.nix + pkgs.bash + ]; includeNixDB = true; config = { Env = [ diff --git a/pkgs/build-support/docker/tarsum.nix b/pkgs/build-support/docker/tarsum.nix index f62a8d49389aa..f97c7a2e113b7 100644 --- a/pkgs/build-support/docker/tarsum.nix +++ b/pkgs/build-support/docker/tarsum.nix @@ -1,4 +1,9 @@ -{ stdenv, go, docker, nixosTests }: +{ + stdenv, + go, + docker, + nixosTests, +}: stdenv.mkDerivation { name = "tarsum"; diff --git a/pkgs/build-support/dotnet/build-dotnet-global-tool/default.nix b/pkgs/build-support/dotnet/build-dotnet-global-tool/default.nix index f6a832386b9fe..206aea51f2634 100644 --- a/pkgs/build-support/dotnet/build-dotnet-global-tool/default.nix +++ b/pkgs/build-support/dotnet/build-dotnet-global-tool/default.nix @@ -72,7 +72,7 @@ buildDotnetModule ( passthru = { updateScript = ./update.sh; nupkg = nupkg; - } // args.passthru or {}; + } // args.passthru or { }; } ) (if lib.isFunction fnOrAttrs then fnOrAttrs finalAttrs else fnOrAttrs) diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix index 1110e01f7dd93..a30b1b19fef75 100644 --- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix +++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix @@ -1,60 +1,54 @@ -{ lib -, stdenv -, which -, coreutils -, zlib -, openssl -, makeSetupHook -, zip +{ + lib, + stdenv, + which, + coreutils, + zlib, + openssl, + makeSetupHook, + zip, # Passed from ../default.nix -, dotnet-sdk -, dotnet-runtime + dotnet-sdk, + dotnet-runtime, }: { - dotnetConfigureHook = makeSetupHook - { - name = "dotnet-configure-hook"; - substitutions = { - dynamicLinker = "${stdenv.cc}/nix-support/dynamic-linker"; - libPath = lib.makeLibraryPath [ - stdenv.cc.cc - stdenv.cc.libc - dotnet-sdk.passthru.icu - zlib - openssl - ]; - }; - } - ./dotnet-configure-hook.sh; + dotnetConfigureHook = makeSetupHook { + name = "dotnet-configure-hook"; + substitutions = { + dynamicLinker = "${stdenv.cc}/nix-support/dynamic-linker"; + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + dotnet-sdk.passthru.icu + zlib + openssl + ]; + }; + } ./dotnet-configure-hook.sh; - dotnetBuildHook = makeSetupHook - { - name = "dotnet-build-hook"; - } - ./dotnet-build-hook.sh; + dotnetBuildHook = makeSetupHook { + name = "dotnet-build-hook"; + } ./dotnet-build-hook.sh; - dotnetCheckHook = makeSetupHook - { - name = "dotnet-check-hook"; - } - ./dotnet-check-hook.sh; + dotnetCheckHook = makeSetupHook { + name = "dotnet-check-hook"; + } ./dotnet-check-hook.sh; - dotnetInstallHook = makeSetupHook - { - name = "dotnet-install-hook"; - substitutions = { - inherit zip; - }; - } - ./dotnet-install-hook.sh; + dotnetInstallHook = makeSetupHook { + name = "dotnet-install-hook"; + substitutions = { + inherit zip; + }; + } ./dotnet-install-hook.sh; - dotnetFixupHook = makeSetupHook - { - name = "dotnet-fixup-hook"; - substitutions = { - dotnetRuntime = if (dotnet-runtime != null) then dotnet-runtime else null; - wrapperPath = lib.makeBinPath [ which coreutils ]; - }; - } - ./dotnet-fixup-hook.sh; + dotnetFixupHook = makeSetupHook { + name = "dotnet-fixup-hook"; + substitutions = { + dotnetRuntime = if (dotnet-runtime != null) then dotnet-runtime else null; + wrapperPath = lib.makeBinPath [ + which + coreutils + ]; + }; + } ./dotnet-fixup-hook.sh; } diff --git a/pkgs/build-support/dotnet/build-dotnet-package/default.nix b/pkgs/build-support/dotnet/build-dotnet-package/default.nix index 14446ef05e72a..64bf19addb274 100644 --- a/pkgs/build-support/dotnet/build-dotnet-package/default.nix +++ b/pkgs/build-support/dotnet/build-dotnet-package/default.nix @@ -1,116 +1,124 @@ -{ stdenv, lib, makeWrapper, pkg-config, mono, dotnetbuildhelpers }: - -attrsOrig @ -{ pname -, version -, nativeBuildInputs ? [] -, xBuildFiles ? [ ] -, xBuildFlags ? [ "/p:Configuration=Release" ] -, outputFiles ? [ "bin/Release/*" ] -, dllFiles ? [ "*.dll" ] -, exeFiles ? [ "*.exe" ] -# Additional arguments to pass to the makeWrapper function, which wraps -# generated binaries. -, makeWrapperArgs ? [ ] -, ... }: - let - arrayToShell = (a: toString (map (lib.escape (lib.stringToCharacters "\\ ';$`()|<>\t") ) a)); - - attrs = { - inherit pname version; - - nativeBuildInputs = [ - pkg-config - makeWrapper - dotnetbuildhelpers - mono - ] ++ nativeBuildInputs; - - configurePhase = '' - runHook preConfigure - - [ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh - [ -z "''${dontPlacatePaket-}" ] && placate-paket.sh - [ -z "''${dontPatchFSharpTargets-}" ] && patch-fsharp-targets.sh - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - echo Building dotNET packages... - - # Probably needs to be moved to fsharp - if pkg-config FSharp.Core - then - export FSharpTargetsPath="$(dirname $(pkg-config FSharp.Core --variable=Libraries))/Microsoft.FSharp.Targets" - fi - - ran="" - for xBuildFile in ${arrayToShell xBuildFiles} ''${xBuildFilesExtra} +{ + stdenv, + lib, + makeWrapper, + pkg-config, + mono, + dotnetbuildhelpers, +}: + +attrsOrig@{ + pname, + version, + nativeBuildInputs ? [ ], + xBuildFiles ? [ ], + xBuildFlags ? [ "/p:Configuration=Release" ], + outputFiles ? [ "bin/Release/*" ], + dllFiles ? [ "*.dll" ], + exeFiles ? [ "*.exe" ], + # Additional arguments to pass to the makeWrapper function, which wraps + # generated binaries. + makeWrapperArgs ? [ ], + ... +}: +let + arrayToShell = (a: toString (map (lib.escape (lib.stringToCharacters "\\ ';$`()|<>\t")) a)); + + attrs = { + inherit pname version; + + nativeBuildInputs = [ + pkg-config + makeWrapper + dotnetbuildhelpers + mono + ] ++ nativeBuildInputs; + + configurePhase = '' + runHook preConfigure + + [ -z "''${dontPlacateNuget-}" ] && placate-nuget.sh + [ -z "''${dontPlacatePaket-}" ] && placate-paket.sh + [ -z "''${dontPatchFSharpTargets-}" ] && patch-fsharp-targets.sh + + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + echo Building dotNET packages... + + # Probably needs to be moved to fsharp + if pkg-config FSharp.Core + then + export FSharpTargetsPath="$(dirname $(pkg-config FSharp.Core --variable=Libraries))/Microsoft.FSharp.Targets" + fi + + ran="" + for xBuildFile in ${arrayToShell xBuildFiles} ''${xBuildFilesExtra} + do + ran="yes" + xbuild ${arrayToShell xBuildFlags} ''${xBuildFlagsArray} $xBuildFile + done + + [ -z "$ran" ] && xbuild ${arrayToShell xBuildFlags} ''${xBuildFlagsArray} + + runHook postBuild + ''; + + dontStrip = true; + + installPhase = '' + runHook preInstall + + target="$out/lib/dotnet/${pname}" + mkdir -p "$target" + + cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target" + + if [ -z "''${dontRemoveDuplicatedDlls-}" ] + then + pushd "$out" + remove-duplicated-dlls.sh + popd + fi + + set -f + for dllPattern in ${arrayToShell dllFiles} ''${dllFilesArray[@]} + do + set +f + for dll in "$target"/$dllPattern do - ran="yes" - xbuild ${arrayToShell xBuildFlags} ''${xBuildFlagsArray} $xBuildFile + [ -f "$dll" ] || continue + if pkg-config $(basename -s .dll "$dll") + then + echo "$dll already exported by a buildInputs, not re-exporting" + else + create-pkg-config-for-dll.sh "$out/lib/pkgconfig" "$dll" + fi done + done - [ -z "$ran" ] && xbuild ${arrayToShell xBuildFlags} ''${xBuildFlagsArray} - - runHook postBuild - ''; - - dontStrip = true; - - installPhase = '' - runHook preInstall - - target="$out/lib/dotnet/${pname}" - mkdir -p "$target" - - cp -rv ${arrayToShell outputFiles} "''${outputFilesArray[@]}" "$target" - - if [ -z "''${dontRemoveDuplicatedDlls-}" ] - then - pushd "$out" - remove-duplicated-dlls.sh - popd - fi - - set -f - for dllPattern in ${arrayToShell dllFiles} ''${dllFilesArray[@]} - do - set +f - for dll in "$target"/$dllPattern - do - [ -f "$dll" ] || continue - if pkg-config $(basename -s .dll "$dll") - then - echo "$dll already exported by a buildInputs, not re-exporting" - else - create-pkg-config-for-dll.sh "$out/lib/pkgconfig" "$dll" - fi - done - done - - set -f - for exePattern in ${arrayToShell exeFiles} ''${exeFilesArray[@]} + set -f + for exePattern in ${arrayToShell exeFiles} ''${exeFilesArray[@]} + do + set +f + for exe in "$target"/$exePattern do - set +f - for exe in "$target"/$exePattern - do - [ -f "$exe" ] || continue - mkdir -p "$out"/bin - commandName="$(basename -s .exe "$(echo "$exe" | tr "[A-Z]" "[a-z]")")" - makeWrapper \ - "${mono}/bin/mono" \ - "$out"/bin/"$commandName" \ - --add-flags "\"$exe\"" \ - ''${makeWrapperArgs} - done + [ -f "$exe" ] || continue + mkdir -p "$out"/bin + commandName="$(basename -s .exe "$(echo "$exe" | tr "[A-Z]" "[a-z]")")" + makeWrapper \ + "${mono}/bin/mono" \ + "$out"/bin/"$commandName" \ + --add-flags "\"$exe\"" \ + ''${makeWrapperArgs} done + done - runHook postInstall - ''; - }; - in - stdenv.mkDerivation (attrs // (builtins.removeAttrs attrsOrig [ "nativeBuildInputs" ] )) + runHook postInstall + ''; + }; +in +stdenv.mkDerivation (attrs // (builtins.removeAttrs attrsOrig [ "nativeBuildInputs" ])) diff --git a/pkgs/build-support/dotnet/dotnetenv/build-solution.nix b/pkgs/build-support/dotnet/dotnetenv/build-solution.nix index 9984db1cb2d3f..dc811ebfd545d 100644 --- a/pkgs/build-support/dotnet/dotnetenv/build-solution.nix +++ b/pkgs/build-support/dotnet/dotnetenv/build-solution.nix @@ -1,15 +1,20 @@ -{ lib, stdenv, dotnetfx }: -{ name -, src -, baseDir ? "." -, slnFile -, targets ? "ReBuild" -, verbosity ? "detailed" -, options ? "/p:Configuration=Debug;Platform=Win32" -, assemblyInputs ? [] -, preBuild ? "" -, modifyPublicMain ? false -, mainClassFile ? null +{ + lib, + stdenv, + dotnetfx, +}: +{ + name, + src, + baseDir ? ".", + slnFile, + targets ? "ReBuild", + verbosity ? "detailed", + options ? "/p:Configuration=Debug;Platform=Win32", + assemblyInputs ? [ ], + preBuild ? "", + modifyPublicMain ? false, + mainClassFile ? null, }: assert modifyPublicMain -> mainClassFile != null; diff --git a/pkgs/build-support/dotnet/dotnetenv/default.nix b/pkgs/build-support/dotnet/dotnetenv/default.nix index 3015db42b07b1..5468a4916cae3 100644 --- a/pkgs/build-support/dotnet/dotnetenv/default.nix +++ b/pkgs/build-support/dotnet/dotnetenv/default.nix @@ -1,17 +1,26 @@ -{ lib, stdenv, dotnetfx }: - -let dotnetenv = { - buildSolution = import ./build-solution.nix { - inherit lib stdenv; - dotnetfx = dotnetfx.pkg; - }; + lib, + stdenv, + dotnetfx, +}: - buildWrapper = import ./wrapper.nix { - inherit dotnetenv; - }; +let + dotnetenv = { + buildSolution = import ./build-solution.nix { + inherit lib stdenv; + dotnetfx = dotnetfx.pkg; + }; - inherit (dotnetfx) assembly20Path wcfPath referenceAssembly30Path referenceAssembly35Path; -}; + buildWrapper = import ./wrapper.nix { + inherit dotnetenv; + }; + + inherit (dotnetfx) + assembly20Path + wcfPath + referenceAssembly30Path + referenceAssembly35Path + ; + }; in dotnetenv diff --git a/pkgs/build-support/dotnet/dotnetenv/wrapper.nix b/pkgs/build-support/dotnet/dotnetenv/wrapper.nix index 549abd07e2b99..82685abf724f3 100644 --- a/pkgs/build-support/dotnet/dotnetenv/wrapper.nix +++ b/pkgs/build-support/dotnet/dotnetenv/wrapper.nix @@ -1,23 +1,31 @@ -{dotnetenv}: +{ dotnetenv }: -{ name -, src -, baseDir ? "." -, slnFile -, targets ? "ReBuild" -, verbosity ? "detailed" -, options ? "/p:Configuration=Debug;Platform=Win32" -, assemblyInputs ? [] -, preBuild ? "" -, namespace -, mainClassName -, mainClassFile -, modifyPublicMain ? true +{ + name, + src, + baseDir ? ".", + slnFile, + targets ? "ReBuild", + verbosity ? "detailed", + options ? "/p:Configuration=Debug;Platform=Win32", + assemblyInputs ? [ ], + preBuild ? "", + namespace, + mainClassName, + mainClassFile, + modifyPublicMain ? true, }: let application = dotnetenv.buildSolution { - inherit name src baseDir slnFile targets verbosity; + inherit + name + src + baseDir + slnFile + targets + verbosity + ; inherit options assemblyInputs preBuild; inherit modifyPublicMain mainClassFile; }; diff --git a/pkgs/build-support/dotnet/fetchnuget/default.nix b/pkgs/build-support/dotnet/fetchnuget/default.nix index a8e85270e73fa..eca601a746cfa 100644 --- a/pkgs/build-support/dotnet/fetchnuget/default.nix +++ b/pkgs/build-support/dotnet/fetchnuget/default.nix @@ -1,13 +1,17 @@ -{ fetchurl, buildDotnetPackage, unzip }: +{ + fetchurl, + buildDotnetPackage, + unzip, +}: -attrs @ -{ pname -, version -, url ? "https://www.nuget.org/api/v2/package/${pname}/${version}" -, sha256 ? "" -, hash ? "" -, md5 ? "" -, ... +attrs@{ + pname, + version, + url ? "https://www.nuget.org/api/v2/package/${pname}/${version}", + sha256 ? "", + hash ? "", + md5 ? "", + ... }: if md5 != "" then throw "fetchnuget does not support md5 anymore, please use 'hash' attribute with SRI hash" @@ -15,33 +19,36 @@ if md5 != "" then else if (sha256 != "" && hash != "") then throw "multiple hashes passed to fetchNuGet" else - buildDotnetPackage ({ - src = fetchurl { - inherit url sha256 hash; - name = "${pname}.${version}.zip"; - }; + buildDotnetPackage ( + { + src = fetchurl { + inherit url sha256 hash; + name = "${pname}.${version}.zip"; + }; - sourceRoot = "."; + sourceRoot = "."; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; - dontBuild = true; + dontBuild = true; - preInstall = '' - function traverseRename () { - for e in * - do - t="$(echo "$e" | sed -e "s/%20/\ /g" -e "s/%2B/+/g")" - [ "$t" != "$e" ] && mv -vn "$e" "$t" - if [ -d "$t" ] - then - cd "$t" - traverseRename - cd .. - fi - done - } + preInstall = '' + function traverseRename () { + for e in * + do + t="$(echo "$e" | sed -e "s/%20/\ /g" -e "s/%2B/+/g")" + [ "$t" != "$e" ] && mv -vn "$e" "$t" + if [ -d "$t" ] + then + cd "$t" + traverseRename + cd .. + fi + done + } - traverseRename - ''; - } // attrs) + traverseRename + ''; + } + // attrs + ) diff --git a/pkgs/build-support/dotnet/make-nuget-source/default.nix b/pkgs/build-support/dotnet/make-nuget-source/default.nix index 4cf9c1a7412af..fe8814eeb2e2e 100644 --- a/pkgs/build-support/dotnet/make-nuget-source/default.nix +++ b/pkgs/build-support/dotnet/make-nuget-source/default.nix @@ -1,28 +1,43 @@ -{ lib, python3, stdenvNoCC }: +{ + lib, + python3, + stdenvNoCC, +}: -{ name -, description ? "" -, deps ? [] -, ... +{ + name, + description ? "", + deps ? [ ], + ... }@args: -stdenvNoCC.mkDerivation (lib.recursiveUpdate { - inherit name; +stdenvNoCC.mkDerivation ( + lib.recursiveUpdate + { + inherit name; - nativeBuildInputs = [ python3 ]; + nativeBuildInputs = [ python3 ]; - buildCommand = '' - mkdir -p $out/{lib,share} + buildCommand = '' + mkdir -p $out/{lib,share} - # use -L to follow symbolic links. When `projectReferences` is used in - # buildDotnetModule, one of the deps will be a symlink farm. - find -L ${lib.concatStringsSep " " deps} -type f -name '*.nupkg' -exec \ - ln -s '{}' -t $out/lib ';' + # use -L to follow symbolic links. When `projectReferences` is used in + # buildDotnetModule, one of the deps will be a symlink farm. + find -L ${lib.concatStringsSep " " deps} -type f -name '*.nupkg' -exec \ + ln -s '{}' -t $out/lib ';' - # Generates a list of all licenses' spdx ids, if available. - # Note that this currently ignores any license provided in plain text (e.g. "LICENSE.txt") - python ${./extract-licenses-from-nupkgs.py} $out/lib > $out/share/licenses - ''; + # Generates a list of all licenses' spdx ids, if available. + # Note that this currently ignores any license provided in plain text (e.g. "LICENSE.txt") + python ${./extract-licenses-from-nupkgs.py} $out/lib > $out/share/licenses + ''; - meta.description = description; -} (removeAttrs args [ "name" "description" "deps" ])) + meta.description = description; + } + ( + removeAttrs args [ + "name" + "description" + "deps" + ] + ) +) diff --git a/pkgs/build-support/fetch9front/default.nix b/pkgs/build-support/fetch9front/default.nix index 677fee1decd77..1ddc5eba04ec7 100644 --- a/pkgs/build-support/fetch9front/default.nix +++ b/pkgs/build-support/fetch9front/default.nix @@ -1,35 +1,57 @@ -{ fetchgit, fetchzip, lib }: +{ + fetchgit, + fetchzip, + lib, +}: lib.makeOverridable ( - { owner - , repo - , rev - , domain ? "git.9front.org" - , name ? "source" - , leaveDotGit ? false - , deepClone ? false - , ... # For hash agility - } @ args: + { + owner, + repo, + rev, + domain ? "git.9front.org", + name ? "source", + leaveDotGit ? false, + deepClone ? false, + ... # For hash agility + }@args: let - passthruAttrs = removeAttrs args [ "domain" "owner" "repo" "rev" "leaveDotGit" "deepClone" ]; + passthruAttrs = removeAttrs args [ + "domain" + "owner" + "repo" + "rev" + "leaveDotGit" + "deepClone" + ]; useFetchGit = leaveDotGit || deepClone; fetcher = if useFetchGit then fetchgit else fetchzip; gitRepoUrl = "git://${domain}/${owner}/${repo}"; - fetcherArgs = (if useFetchGit then { - # git9 does not support shallow fetches - inherit rev leaveDotGit; - url = gitRepoUrl; - } else { - url = "https://${domain}/${owner}/${repo}/${rev}/snap.tar.gz"; + fetcherArgs = + ( + if useFetchGit then + { + # git9 does not support shallow fetches + inherit rev leaveDotGit; + url = gitRepoUrl; + } + else + { + url = "https://${domain}/${owner}/${repo}/${rev}/snap.tar.gz"; - passthru = { - inherit gitRepoUrl; + passthru = { + inherit gitRepoUrl; + }; + } + ) + // passthruAttrs + // { + inherit name; }; - }) // passthruAttrs // { inherit name; }; in fetcher fetcherArgs // { inherit rev; } diff --git a/pkgs/build-support/fetchbitbucket/default.nix b/pkgs/build-support/fetchbitbucket/default.nix index 2f9103f2bb3e0..9e64954bebff6 100644 --- a/pkgs/build-support/fetchbitbucket/default.nix +++ b/pkgs/build-support/fetchbitbucket/default.nix @@ -1,11 +1,26 @@ { fetchzip, lib }: lib.makeOverridable ( -{ owner, repo, rev, name ? "source" -, ... # For hash agility -}@args: fetchzip ({ - inherit name; - url = "https://bitbucket.org/${owner}/${repo}/get/${rev}.tar.gz"; - meta.homepage = "https://bitbucket.org/${owner}/${repo}/"; -} // removeAttrs args [ "owner" "repo" "rev" ]) // { inherit rev; } + { + owner, + repo, + rev, + name ? "source", + ... # For hash agility + }@args: + fetchzip ( + { + inherit name; + url = "https://bitbucket.org/${owner}/${repo}/get/${rev}.tar.gz"; + meta.homepage = "https://bitbucket.org/${owner}/${repo}/"; + } + // removeAttrs args [ + "owner" + "repo" + "rev" + ] + ) + // { + inherit rev; + } ) diff --git a/pkgs/build-support/fetchbower/default.nix b/pkgs/build-support/fetchbower/default.nix index fd971d431df88..258a09189d991 100644 --- a/pkgs/build-support/fetchbower/default.nix +++ b/pkgs/build-support/fetchbower/default.nix @@ -1,28 +1,41 @@ -{ stdenvNoCC, lib, bower2nix, cacert }: +{ + stdenvNoCC, + lib, + bower2nix, + cacert, +}: let - bowerVersion = version: + bowerVersion = + version: let components = lib.splitString "#" version; hash = lib.last components; ver = if builtins.length components == 1 then (cleanName version) else hash; - in ver; + in + ver; - cleanName = name: lib.replaceStrings ["/" ":"] ["-" "-"] name; + cleanName = name: lib.replaceStrings [ "/" ":" ] [ "-" "-" ] name; - fetchbower = name: version: target: outputHash: stdenvNoCC.mkDerivation { - name = "${cleanName name}-${bowerVersion version}"; - buildCommand = '' - fetch-bower --quiet --out=$PWD/out "${name}" "${target}" "${version}" - # In some cases, the result of fetchBower is different depending - # on the output directory (e.g. if the bower package contains - # symlinks). So use a local output directory before copying to - # $out. - cp -R out $out - ''; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - inherit outputHash; - nativeBuildInputs = [ bower2nix cacert ]; - }; + fetchbower = + name: version: target: outputHash: + stdenvNoCC.mkDerivation { + name = "${cleanName name}-${bowerVersion version}"; + buildCommand = '' + fetch-bower --quiet --out=$PWD/out "${name}" "${target}" "${version}" + # In some cases, the result of fetchBower is different depending + # on the output directory (e.g. if the bower package contains + # symlinks). So use a local output directory before copying to + # $out. + cp -R out $out + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + inherit outputHash; + nativeBuildInputs = [ + bower2nix + cacert + ]; + }; -in fetchbower +in +fetchbower diff --git a/pkgs/build-support/fetchbzr/default.nix b/pkgs/build-support/fetchbzr/default.nix index 1f6f0f2a788e2..9468972a0d2f9 100644 --- a/pkgs/build-support/fetchbzr/default.nix +++ b/pkgs/build-support/fetchbzr/default.nix @@ -1,6 +1,15 @@ -{ lib, stdenvNoCC, breezy }: +{ + lib, + stdenvNoCC, + breezy, +}: lib.fetchers.withNormalizedHash { } ( - { url, rev, outputHash, outputHashAlgo }: + { + url, + rev, + outputHash, + outputHashAlgo, + }: stdenvNoCC.mkDerivation { name = "bzr-export"; diff --git a/pkgs/build-support/fetchcvs/default.nix b/pkgs/build-support/fetchcvs/default.nix index 94bbc69bba65a..b7cd5ffb878b0 100644 --- a/pkgs/build-support/fetchcvs/default.nix +++ b/pkgs/build-support/fetchcvs/default.nix @@ -3,21 +3,41 @@ # tag="" (get version by tag name) # If you don't specify neither one date="NOW" will be used (get latest) -{stdenvNoCC, cvs, openssh, lib}: +{ + stdenvNoCC, + cvs, + openssh, + lib, +}: lib.makeOverridable ( lib.fetchers.withNormalizedHash { } ( - {cvsRoot, module, tag ? null, date ? null, outputHash, outputHashAlgo}: + { + cvsRoot, + module, + tag ? null, + date ? null, + outputHash, + outputHashAlgo, + }: stdenvNoCC.mkDerivation { name = "cvs-export"; builder = ./builder.sh; - nativeBuildInputs = [cvs openssh]; + nativeBuildInputs = [ + cvs + openssh + ]; inherit outputHash outputHashAlgo; outputHashMode = "recursive"; - inherit cvsRoot module tag date; + inherit + cvsRoot + module + tag + date + ; } ) ) diff --git a/pkgs/build-support/fetchdarcs/default.nix b/pkgs/build-support/fetchdarcs/default.nix index 320b201f2853c..2d24ddaecbd41 100644 --- a/pkgs/build-support/fetchdarcs/default.nix +++ b/pkgs/build-support/fetchdarcs/default.nix @@ -1,23 +1,37 @@ -{stdenvNoCC, darcs, cacert, lib}: +{ + stdenvNoCC, + darcs, + cacert, + lib, +}: lib.makeOverridable ( lib.fetchers.withNormalizedHash { } ( - { url - , rev ? null - , context ? null - , outputHash ? lib.fakeHash - , outputHashAlgo ? null - , name ? "fetchdarcs" + { + url, + rev ? null, + context ? null, + outputHash ? lib.fakeHash, + outputHashAlgo ? null, + name ? "fetchdarcs", }: stdenvNoCC.mkDerivation { builder = ./builder.sh; - nativeBuildInputs = [cacert darcs]; + nativeBuildInputs = [ + cacert + darcs + ]; inherit outputHash outputHashAlgo; outputHashMode = "recursive"; - inherit url rev context name; + inherit + url + rev + context + name + ; } ) ) diff --git a/pkgs/build-support/fetchdebianpatch/default.nix b/pkgs/build-support/fetchdebianpatch/default.nix index 8d8076bd59d63..0f694f9fd52b8 100644 --- a/pkgs/build-support/fetchdebianpatch/default.nix +++ b/pkgs/build-support/fetchdebianpatch/default.nix @@ -1,16 +1,21 @@ { lib, fetchpatch }: lib.makeOverridable ( - { pname, version, debianRevision ? null, area ? "main", - patch, name ? patch, hash }: + { + pname, + version, + debianRevision ? null, + area ? "main", + patch, + name ? patch, + hash, + }: let inherit (lib.strings) hasPrefix substring; - prefix = - substring 0 (if hasPrefix "lib" pname then 4 else 1) pname; - versionString = - if debianRevision == null then version - else "${version}-${debianRevision}"; - in fetchpatch { + prefix = substring 0 (if hasPrefix "lib" pname then 4 else 1) pname; + versionString = if debianRevision == null then version else "${version}-${debianRevision}"; + in + fetchpatch { inherit name hash; url = "https://sources.debian.org/data/${area}/${prefix}/" diff --git a/pkgs/build-support/fetchdocker/credentials.nix b/pkgs/build-support/fetchdocker/credentials.nix index f8a229ccb6bb1..6ee63cd9520a5 100644 --- a/pkgs/build-support/fetchdocker/credentials.nix +++ b/pkgs/build-support/fetchdocker/credentials.nix @@ -31,9 +31,6 @@ # given to the nix-build invocation to provide it with the # DOCKER_CREDENTIALS path let - pathParts = - (builtins.filter - ({prefix, path}: "DOCKER_CREDENTIALS" == prefix) - builtins.nixPath); + pathParts = (builtins.filter ({ prefix, path }: "DOCKER_CREDENTIALS" == prefix) builtins.nixPath); in - lib.optionalString (pathParts != []) ((builtins.head pathParts).path) +lib.optionalString (pathParts != [ ]) ((builtins.head pathParts).path) diff --git a/pkgs/build-support/fetchdocker/default.nix b/pkgs/build-support/fetchdocker/default.nix index ef6132bfe3a5a..795c37b3c6980 100644 --- a/pkgs/build-support/fetchdocker/default.nix +++ b/pkgs/build-support/fetchdocker/default.nix @@ -1,25 +1,31 @@ -{ stdenv, lib, coreutils, bash, gnutar, writeText }: +{ + stdenv, + lib, + coreutils, + bash, + gnutar, + writeText, +}: let - stripScheme = - builtins.replaceStrings [ "https://" "http://" ] [ "" "" ]; - stripNixStore = - s: lib.removePrefix "${builtins.storeDir}/" s; + stripScheme = builtins.replaceStrings [ "https://" "http://" ] [ "" "" ]; + stripNixStore = s: lib.removePrefix "${builtins.storeDir}/" s; in -{ name -, registry ? "https://registry-1.docker.io/v2/" -, repository ? "library" -, imageName -, tag -, imageLayers -, imageConfig -, image ? "${stripScheme registry}/${repository}/${imageName}:${tag}" +{ + name, + registry ? "https://registry-1.docker.io/v2/", + repository ? "library", + imageName, + tag, + imageLayers, + imageConfig, + image ? "${stripScheme registry}/${repository}/${imageName}:${tag}", }: # Make sure there are *no* slashes in the repository or container # names since we use these to make the output derivation name for the # nix-store path. -assert null == lib.findFirst (c: "/"==c) null (lib.stringToCharacters repository); -assert null == lib.findFirst (c: "/"==c) null (lib.stringToCharacters imageName); +assert null == lib.findFirst (c: "/" == c) null (lib.stringToCharacters repository); +assert null == lib.findFirst (c: "/" == c) null (lib.stringToCharacters imageName); let # Abuse paths to collapse possible double slashes @@ -28,31 +34,45 @@ let layers = builtins.map stripNixStore imageLayers; - manifest = - writeText "manifest.json" (builtins.toJSON [ - { Config = stripNixStore imageConfig; - Layers = layers; + manifest = writeText "manifest.json" ( + builtins.toJSON [ + { + Config = stripNixStore imageConfig; + Layers = layers; RepoTags = [ "${repoTag1}:${tag}" ]; - }]); + } + ] + ); - repositories = - writeText "repositories" (builtins.toJSON { + repositories = writeText "repositories" ( + builtins.toJSON { ${repoTag1} = { ${tag} = lib.last layers; }; - }); + } + ); - imageFileStorePaths = - writeText "imageFileStorePaths.txt" - (lib.concatStringsSep "\n" ((lib.unique imageLayers) ++ [imageConfig])); + imageFileStorePaths = writeText "imageFileStorePaths.txt" ( + lib.concatStringsSep "\n" ((lib.unique imageLayers) ++ [ imageConfig ]) + ); in stdenv.mkDerivation { - builder = ./fetchdocker-builder.sh; + builder = ./fetchdocker-builder.sh; buildInputs = [ coreutils ]; preferLocalBuild = true; - inherit name imageName repository tag; - inherit bash gnutar manifest repositories; + inherit + name + imageName + repository + tag + ; + inherit + bash + gnutar + manifest + repositories + ; inherit imageFileStorePaths; passthru = { diff --git a/pkgs/build-support/fetchdocker/fetchDockerConfig.nix b/pkgs/build-support/fetchdocker/fetchDockerConfig.nix index 9fd813bfa575a..6ff226893ff78 100644 --- a/pkgs/build-support/fetchdocker/fetchDockerConfig.nix +++ b/pkgs/build-support/fetchdocker/fetchDockerConfig.nix @@ -1,13 +1,26 @@ -pkgargs@{ stdenv, lib, haskellPackages, writeText, gawk }: +pkgargs@{ + stdenv, + lib, + haskellPackages, + writeText, + gawk, +}: let - generic-fetcher = - import ./generic-fetcher.nix pkgargs; + generic-fetcher = import ./generic-fetcher.nix pkgargs; in -args@{ repository ? "library", imageName, tag, ... }: +args@{ + repository ? "library", + imageName, + tag, + ... +}: -generic-fetcher ({ - fetcher = "hocker-config"; - name = "${repository}_${imageName}_${tag}-config.json"; - tag = "unused"; -} // args) +generic-fetcher ( + { + fetcher = "hocker-config"; + name = "${repository}_${imageName}_${tag}-config.json"; + tag = "unused"; + } + // args +) diff --git a/pkgs/build-support/fetchdocker/fetchDockerLayer.nix b/pkgs/build-support/fetchdocker/fetchDockerLayer.nix index 869ba637429cd..87f8f6061f757 100644 --- a/pkgs/build-support/fetchdocker/fetchDockerLayer.nix +++ b/pkgs/build-support/fetchdocker/fetchDockerLayer.nix @@ -1,13 +1,21 @@ -pkgargs@{ stdenv, lib, haskellPackages, writeText, gawk }: +pkgargs@{ + stdenv, + lib, + haskellPackages, + writeText, + gawk, +}: let - generic-fetcher = - import ./generic-fetcher.nix pkgargs; + generic-fetcher = import ./generic-fetcher.nix pkgargs; in args@{ layerDigest, ... }: -generic-fetcher ({ - fetcher = "hocker-layer"; - name = "docker-layer-${layerDigest}.tar.gz"; - tag = "unused"; -} // args) +generic-fetcher ( + { + fetcher = "hocker-layer"; + name = "docker-layer-${layerDigest}.tar.gz"; + tag = "unused"; + } + // args +) diff --git a/pkgs/build-support/fetchfirefoxaddon/tests.nix b/pkgs/build-support/fetchfirefoxaddon/tests.nix index a29f65c542adb..809c5cf904a47 100644 --- a/pkgs/build-support/fetchfirefoxaddon/tests.nix +++ b/pkgs/build-support/fetchfirefoxaddon/tests.nix @@ -1,4 +1,9 @@ -{ testers, fetchFirefoxAddon, fetchurl, ... }: +{ + testers, + fetchFirefoxAddon, + fetchurl, + ... +}: { simple = testers.invalidateFetcherByDrvHash fetchFirefoxAddon { diff --git a/pkgs/build-support/fetchfossil/default.nix b/pkgs/build-support/fetchfossil/default.nix index d0fc4cdea703d..9499841dd3cea 100644 --- a/pkgs/build-support/fetchfossil/default.nix +++ b/pkgs/build-support/fetchfossil/default.nix @@ -1,17 +1,26 @@ -{stdenv, lib, fossil, cacert}: +{ + stdenv, + lib, + fossil, + cacert, +}: lib.fetchers.withNormalizedHash { } ( - { name ? null - , url - , rev - , outputHash ? lib.fakeHash - , outputHashAlgo ? null + { + name ? null, + url, + rev, + outputHash ? lib.fakeHash, + outputHashAlgo ? null, }: stdenv.mkDerivation { name = "fossil-archive" + (lib.optionalString (name != null) "-${name}"); builder = ./builder.sh; - nativeBuildInputs = [fossil cacert]; + nativeBuildInputs = [ + fossil + cacert + ]; # Envvar docs are hard to find. A link for the future: # https://www.fossil-scm.org/index.html/doc/trunk/www/env-opts.md diff --git a/pkgs/build-support/fetchgitea/default.nix b/pkgs/build-support/fetchgitea/default.nix index 513ceba861cbb..a7910b671e9bd 100644 --- a/pkgs/build-support/fetchgitea/default.nix +++ b/pkgs/build-support/fetchgitea/default.nix @@ -3,7 +3,7 @@ { lib, fetchFromGitHub }: lib.makeOverridable ( -{ domain, ... }@args: + { domain, ... }@args: -fetchFromGitHub ((removeAttrs args [ "domain" ]) // { githubBase = domain; }) + fetchFromGitHub ((removeAttrs args [ "domain" ]) // { githubBase = domain; }) ) diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix index be81c6e8a4c21..7dc26dfdf2f9e 100644 --- a/pkgs/build-support/fetchgitiles/default.nix +++ b/pkgs/build-support/fetchgitiles/default.nix @@ -1,12 +1,26 @@ { fetchzip, lib }: lib.makeOverridable ( -{ url, rev, name ? "source", ... } @ args: + { + url, + rev, + name ? "source", + ... + }@args: -fetchzip ({ - inherit name; - url = "${url}/+archive/${rev}.tar.gz"; - stripRoot = false; - meta.homepage = url; -} // removeAttrs args [ "url" "rev" ]) // { inherit rev; } + fetchzip ( + { + inherit name; + url = "${url}/+archive/${rev}.tar.gz"; + stripRoot = false; + meta.homepage = url; + } + // removeAttrs args [ + "url" + "rev" + ] + ) + // { + inherit rev; + } ) diff --git a/pkgs/build-support/fetchgitlocal/default.nix b/pkgs/build-support/fetchgitlocal/default.nix index 02a77b25ae068..cf6f22e6201e8 100644 --- a/pkgs/build-support/fetchgitlocal/default.nix +++ b/pkgs/build-support/fetchgitlocal/default.nix @@ -1,44 +1,55 @@ -{ runCommand, git, lib }: +{ + runCommand, + git, + lib, +}: lib.makeOverridable ( -src: - -let - srcStr = toString src; - - # Adds the current directory (respecting ignored files) to the git store, and returns the hash - gitHashFile = runCommand "put-in-git" { - nativeBuildInputs = [ git ]; - dummy = builtins.currentTime; # impure, do every time - preferLocalBuild = true; - } '' - cd ${srcStr} - DOT_GIT=$(git rev-parse --resolve-git-dir .git) # path to repo - - cp $DOT_GIT/index $DOT_GIT/index-user # backup index - git reset # reset index - git add . # add current directory - - # hash of current directory - # remove trailing newline - git rev-parse $(git write-tree) \ - | tr -d '\n' > $out - - mv $DOT_GIT/index-user $DOT_GIT/index # restore index - ''; - - gitHash = builtins.readFile gitHashFile; # cache against git hash - - nixPath = runCommand "put-in-nix" { - nativeBuildInputs = [ git ]; - preferLocalBuild = true; - } '' - mkdir $out - - # dump tar of *current directory* at given revision - git -C ${srcStr} archive --format=tar ${gitHash} \ - | tar xf - -C $out - ''; - -in nixPath + src: + + let + srcStr = toString src; + + # Adds the current directory (respecting ignored files) to the git store, and returns the hash + gitHashFile = + runCommand "put-in-git" + { + nativeBuildInputs = [ git ]; + dummy = builtins.currentTime; # impure, do every time + preferLocalBuild = true; + } + '' + cd ${srcStr} + DOT_GIT=$(git rev-parse --resolve-git-dir .git) # path to repo + + cp $DOT_GIT/index $DOT_GIT/index-user # backup index + git reset # reset index + git add . # add current directory + + # hash of current directory + # remove trailing newline + git rev-parse $(git write-tree) \ + | tr -d '\n' > $out + + mv $DOT_GIT/index-user $DOT_GIT/index # restore index + ''; + + gitHash = builtins.readFile gitHashFile; # cache against git hash + + nixPath = + runCommand "put-in-nix" + { + nativeBuildInputs = [ git ]; + preferLocalBuild = true; + } + '' + mkdir $out + + # dump tar of *current directory* at given revision + git -C ${srcStr} archive --format=tar ${gitHash} \ + | tar xf - -C $out + ''; + + in + nixPath ) diff --git a/pkgs/build-support/fetchgx/default.nix b/pkgs/build-support/fetchgx/default.nix index 5726e7d4e9f14..49211c44949cc 100644 --- a/pkgs/build-support/fetchgx/default.nix +++ b/pkgs/build-support/fetchgx/default.nix @@ -1,13 +1,30 @@ -{ lib, stdenvNoCC, gx, gx-go, go, cacert }: +{ + lib, + stdenvNoCC, + gx, + gx-go, + go, + cacert, +}: lib.fetchers.withNormalizedHash { } ( - { name, src, outputHash, outputHashAlgo }: + { + name, + src, + outputHash, + outputHashAlgo, + }: stdenvNoCC.mkDerivation { name = "${name}-gxdeps"; inherit src; - nativeBuildInputs = [ cacert go gx gx-go ]; + nativeBuildInputs = [ + cacert + go + gx + gx-go + ]; inherit outputHash outputHashAlgo; outputHashMode = "recursive"; diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix index 6af886bf09344..ee7dc87a7bfbb 100644 --- a/pkgs/build-support/fetchhg/default.nix +++ b/pkgs/build-support/fetchhg/default.nix @@ -1,34 +1,41 @@ -{ lib, stdenvNoCC, mercurial }: -{ name ? null -, url -, rev ? null -, sha256 ? null -, hash ? null -, fetchSubrepos ? false -, preferLocalBuild ? true }: +{ + lib, + stdenvNoCC, + mercurial, +}: +{ + name ? null, + url, + rev ? null, + sha256 ? null, + hash ? null, + fetchSubrepos ? false, + preferLocalBuild ? true, +}: if hash != null && sha256 != null then throw "Only one of sha256 or hash can be set" else -# TODO: statically check if mercurial as the https support if the url starts woth https. -stdenvNoCC.mkDerivation { - name = "hg-archive" + (lib.optionalString (name != null) "-${name}"); - builder = ./builder.sh; - nativeBuildInputs = [mercurial]; + # TODO: statically check if mercurial as the https support if the url starts woth https. + stdenvNoCC.mkDerivation { + name = "hg-archive" + (lib.optionalString (name != null) "-${name}"); + builder = ./builder.sh; + nativeBuildInputs = [ mercurial ]; - impureEnvVars = lib.fetchers.proxyImpureEnvVars; + impureEnvVars = lib.fetchers.proxyImpureEnvVars; - subrepoClause = lib.optionalString fetchSubrepos "S"; + subrepoClause = lib.optionalString fetchSubrepos "S"; - outputHashAlgo = if hash != null then null else "sha256"; - outputHashMode = "recursive"; - outputHash = if hash != null then - hash - else if sha256 != null then - sha256 - else - lib.fakeSha256; + outputHashAlgo = if hash != null then null else "sha256"; + outputHashMode = "recursive"; + outputHash = + if hash != null then + hash + else if sha256 != null then + sha256 + else + lib.fakeSha256; - inherit url rev; - inherit preferLocalBuild; -} + inherit url rev; + inherit preferLocalBuild; + } diff --git a/pkgs/build-support/fetchipfs/default.nix b/pkgs/build-support/fetchipfs/default.nix index da94200206ba3..10da9cf0a0991 100644 --- a/pkgs/build-support/fetchipfs/default.nix +++ b/pkgs/build-support/fetchipfs/default.nix @@ -1,36 +1,48 @@ -{ lib -, stdenv -, curl +{ + lib, + stdenv, + curl, }: -lib.fetchers.withNormalizedHash { hashTypes = [ "sha1" "sha256" "sha512" ]; } ( - { ipfs - , url ? "" - , curlOpts ? "" - , outputHash - , outputHashAlgo - , meta ? {} - , port ? "8080" - , postFetch ? "" - , preferLocalBuild ? true - }: - stdenv.mkDerivation { - name = ipfs; - builder = ./builder.sh; - nativeBuildInputs = [ curl ]; +lib.fetchers.withNormalizedHash + { + hashTypes = [ + "sha1" + "sha256" + "sha512" + ]; + } + ( + { + ipfs, + url ? "", + curlOpts ? "", + outputHash, + outputHashAlgo, + meta ? { }, + port ? "8080", + postFetch ? "", + preferLocalBuild ? true, + }: + stdenv.mkDerivation { + name = ipfs; + builder = ./builder.sh; + nativeBuildInputs = [ curl ]; - # New-style output content requirements. - inherit outputHash outputHashAlgo; - outputHashMode = "recursive"; + # New-style output content requirements. + inherit outputHash outputHashAlgo; + outputHashMode = "recursive"; - inherit curlOpts - postFetch - ipfs - url - port - meta; + inherit + curlOpts + postFetch + ipfs + url + port + meta + ; - # Doing the download on a remote machine just duplicates network - # traffic, so don't do that. - inherit preferLocalBuild; - } -) + # Doing the download on a remote machine just duplicates network + # traffic, so don't do that. + inherit preferLocalBuild; + } + ) diff --git a/pkgs/build-support/fetchmavenartifact/default.nix b/pkgs/build-support/fetchmavenartifact/default.nix index 0f3cd4e64dd61..eca360057a60c 100644 --- a/pkgs/build-support/fetchmavenartifact/default.nix +++ b/pkgs/build-support/fetchmavenartifact/default.nix @@ -1,6 +1,10 @@ # Adaptation of the MIT-licensed work on `sbt2nix` done by Charles O'Farrell -{ lib, fetchurl, stdenv }: +{ + lib, + fetchurl, + stdenv, +}: let defaultRepos = [ "https://repo1.maven.org/maven2" @@ -10,64 +14,80 @@ let ]; in -args@ -{ # Example: "org.apache.httpcomponents" - groupId -, # Example: "httpclient" - artifactId -, # Example: "4.3.6" - version -, # Example: "jdk11" - classifier ? null -, # List of maven repositories from where to fetch the artifact. +args@{ + # Example: "org.apache.httpcomponents" + groupId, + # Example: "httpclient" + artifactId, + # Example: "4.3.6" + version, + # Example: "jdk11" + classifier ? null, + # List of maven repositories from where to fetch the artifact. # Example: [ http://oss.sonatype.org/content/repositories/public ]. - repos ? defaultRepos + repos ? defaultRepos, # The `url` and `urls` parameters, if specified should point to the JAR # file and will take precedence over the `repos` parameter. Only one of `url` # and `urls` can be specified, not both. -, url ? "" -, urls ? [] -, # The rest of the arguments are just forwarded to `fetchurl`. + url ? "", + urls ? [ ], + # The rest of the arguments are just forwarded to `fetchurl`. ... }: # only one of url and urls can be specified at a time. -assert (url == "") || (urls == []); +assert (url == "") || (urls == [ ]); # if repos is empty, then url or urls must be specified. -assert (repos != []) || (url != "") || (urls != []); +assert (repos != [ ]) || (url != "") || (urls != [ ]); let - pname = (lib.replaceStrings [ "." ] [ "_" ] groupId) + "_" + (lib.replaceStrings [ "." ] [ "_" ] artifactId); + pname = + (lib.replaceStrings [ "." ] [ "_" ] groupId) + + "_" + + (lib.replaceStrings [ "." ] [ "_" ] artifactId); suffix = lib.optionalString (classifier != null) "-${classifier}"; filename = "${artifactId}-${version}${suffix}.jar"; - mkJarUrl = repoUrl: + mkJarUrl = + repoUrl: lib.concatStringsSep "/" [ (lib.removeSuffix "/" repoUrl) - (lib.replaceStrings ["."] ["/"] groupId) + (lib.replaceStrings [ "." ] [ "/" ] groupId) artifactId version filename ]; urls_ = - if url != "" then [url] - else if urls != [] then urls - else map mkJarUrl repos; - jar = - fetchurl ( - builtins.removeAttrs args [ "groupId" "artifactId" "version" "classifier" "repos" "url" ] - // { urls = urls_; name = "${pname}-${version}.jar"; } - ); + if url != "" then + [ url ] + else if urls != [ ] then + urls + else + map mkJarUrl repos; + jar = fetchurl ( + builtins.removeAttrs args [ + "groupId" + "artifactId" + "version" + "classifier" + "repos" + "url" + ] + // { + urls = urls_; + name = "${pname}-${version}.jar"; + } + ); in - stdenv.mkDerivation { - inherit pname version; - dontUnpack = true; - # By moving the jar to $out/share/java we make it discoverable by java - # packages packages that mention this derivation in their buildInputs. - installPhase = '' - mkdir -p $out/share/java - ln -s ${jar} $out/share/java/${filename} - ''; - # We also add a `jar` attribute that can be used to easily obtain the path - # to the downloaded jar file. - passthru.jar = jar; - } +stdenv.mkDerivation { + inherit pname version; + dontUnpack = true; + # By moving the jar to $out/share/java we make it discoverable by java + # packages packages that mention this derivation in their buildInputs. + installPhase = '' + mkdir -p $out/share/java + ln -s ${jar} $out/share/java/${filename} + ''; + # We also add a `jar` attribute that can be used to easily obtain the path + # to the downloaded jar file. + passthru.jar = jar; +} diff --git a/pkgs/build-support/fetchmtn/default.nix b/pkgs/build-support/fetchmtn/default.nix index de208b92193fe..1332bace3b12c 100644 --- a/pkgs/build-support/fetchmtn/default.nix +++ b/pkgs/build-support/fetchmtn/default.nix @@ -1,22 +1,38 @@ # You can specify some extra mirrors and a cache DB via options -{lib, stdenvNoCC, monotone, defaultDBMirrors ? [], cacheDB ? "./mtn-checkout.db"}: +{ + lib, + stdenvNoCC, + monotone, + defaultDBMirrors ? [ ], + cacheDB ? "./mtn-checkout.db", +}: lib.fetchers.withNormalizedHash { } ( # dbs is a list of strings, each is an url for sync # selector is mtn selector, like h:org.example.branch - {name ? "mtn-checkout", dbs ? [] - , outputHash, outputHashAlgo - , selector ? "h:" + branch, branch}: + { + name ? "mtn-checkout", + dbs ? [ ], + outputHash, + outputHashAlgo, + selector ? "h:" + branch, + branch, + }: stdenvNoCC.mkDerivation { builder = ./builder.sh; - nativeBuildInputs = [monotone]; + nativeBuildInputs = [ monotone ]; inherit outputHash outputHashAlgo; outputHashMode = "recursive"; dbs = defaultDBMirrors ++ dbs; - inherit branch cacheDB name selector; + inherit + branch + cacheDB + name + selector + ; impureEnvVars = lib.fetchers.proxyImpureEnvVars; diff --git a/pkgs/build-support/fetchnextcloudapp/default.nix b/pkgs/build-support/fetchnextcloudapp/default.nix index 2f5b7504c0914..d2c6e842a165b 100644 --- a/pkgs/build-support/fetchnextcloudapp/default.nix +++ b/pkgs/build-support/fetchnextcloudapp/default.nix @@ -1,35 +1,48 @@ -{ fetchurl, fetchzip, applyPatches, lib, ... }: -{ url -, hash ? "" -, sha256 ? "" -, appName ? null -, appVersion ? null -, license -, patches ? [ ] -, description ? null -, homepage ? null -, unpack ? false # whether to use fetchzip rather than fetchurl +{ + fetchurl, + fetchzip, + applyPatches, + lib, + ... }: -applyPatches ({ - inherit patches; - src = (if unpack then fetchzip else fetchurl) { - inherit url hash sha256; - meta = { - license = lib.licenses.${license}; - longDescription = description; - inherit homepage; - } // lib.optionalAttrs (description != null) { - longDescription = description; - } // lib.optionalAttrs (homepage != null) { - inherit homepage; +{ + url, + hash ? "", + sha256 ? "", + appName ? null, + appVersion ? null, + license, + patches ? [ ], + description ? null, + homepage ? null, + unpack ? false, # whether to use fetchzip rather than fetchurl +}: +applyPatches ( + { + inherit patches; + src = (if unpack then fetchzip else fetchurl) { + inherit url hash sha256; + meta = + { + license = lib.licenses.${license}; + longDescription = description; + inherit homepage; + } + // lib.optionalAttrs (description != null) { + longDescription = description; + } + // lib.optionalAttrs (homepage != null) { + inherit homepage; + }; }; - }; - prePatch = '' - if [ ! -f ./appinfo/info.xml ]; then - echo "appinfo/info.xml doesn't exist in $out, aborting!" - exit 1 - fi - ''; -} // lib.optionalAttrs (appName != null && appVersion != null) { - name = "nextcloud-app-${appName}-${appVersion}"; -}) + prePatch = '' + if [ ! -f ./appinfo/info.xml ]; then + echo "appinfo/info.xml doesn't exist in $out, aborting!" + exit 1 + fi + ''; + } + // lib.optionalAttrs (appName != null && appVersion != null) { + name = "nextcloud-app-${appName}-${appVersion}"; + } +) diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix index 97b3661bb2d46..1b1f23b44c690 100644 --- a/pkgs/build-support/fetchpatch/default.nix +++ b/pkgs/build-support/fetchpatch/default.nix @@ -4,92 +4,118 @@ # often change with updating of git or cgit. # stripLen acts as the -p parameter when applying a patch. -{ lib, fetchurl, patchutils }: +{ + lib, + fetchurl, + patchutils, +}: -{ relative ? null -, stripLen ? 0 -, decode ? "cat" # custom command to decode patch e.g. base64 -d -, extraPrefix ? null -, excludes ? [] -, includes ? [] -, revert ? false -, postFetch ? "" -, nativeBuildInputs ? [] -, ... +{ + relative ? null, + stripLen ? 0, + decode ? "cat", # custom command to decode patch e.g. base64 -d + extraPrefix ? null, + excludes ? [ ], + includes ? [ ], + revert ? false, + postFetch ? "", + nativeBuildInputs ? [ ], + ... }@args: let - args' = if relative != null then { - stripLen = 1 + lib.length (lib.splitString "/" relative) + stripLen; - extraPrefix = lib.optionalString (extraPrefix != null) extraPrefix; - } else { - inherit stripLen extraPrefix; - }; -in let + args' = + if relative != null then + { + stripLen = 1 + lib.length (lib.splitString "/" relative) + stripLen; + extraPrefix = lib.optionalString (extraPrefix != null) extraPrefix; + } + else + { + inherit stripLen extraPrefix; + }; +in +let inherit (args') stripLen extraPrefix; in -lib.throwIfNot (excludes == [] || includes == []) +lib.throwIfNot (excludes == [ ] || includes == [ ]) "fetchpatch: cannot use excludes and includes simultaneously" -fetchurl ({ - nativeBuildInputs = [ patchutils ] ++ nativeBuildInputs; - postFetch = '' - tmpfile="$TMPDIR/patch" + fetchurl + ( + { + nativeBuildInputs = [ patchutils ] ++ nativeBuildInputs; + postFetch = + '' + tmpfile="$TMPDIR/patch" - if [ ! -s "$out" ]; then - echo "error: Fetched patch file '$out' is empty!" 1>&2 - exit 1 - fi + if [ ! -s "$out" ]; then + echo "error: Fetched patch file '$out' is empty!" 1>&2 + exit 1 + fi - set +e - ${decode} < "$out" > "$tmpfile" - if [ $? -ne 0 ] || [ ! -s "$tmpfile" ]; then - echo 'Failed to decode patch with command "'${lib.escapeShellArg decode}'"' >&2 - echo 'Fetched file was (limited to 128 bytes):' >&2 - od -A x -t x1z -v -N 128 "$out" >&2 - exit 1 - fi - set -e - mv "$tmpfile" "$out" + set +e + ${decode} < "$out" > "$tmpfile" + if [ $? -ne 0 ] || [ ! -s "$tmpfile" ]; then + echo 'Failed to decode patch with command "'${lib.escapeShellArg decode}'"' >&2 + echo 'Fetched file was (limited to 128 bytes):' >&2 + od -A x -t x1z -v -N 128 "$out" >&2 + exit 1 + fi + set -e + mv "$tmpfile" "$out" - lsdiff \ - ${lib.optionalString (relative != null) "-p1 -i ${lib.escapeShellArg relative}/'*'"} \ - "$out" \ - | sort -u | sed -e 's/[*?]/\\&/g' \ - | xargs -I{} \ - filterdiff \ - --include={} \ - --strip=${toString stripLen} \ - ${lib.optionalString (extraPrefix != null) '' - --addoldprefix=a/${lib.escapeShellArg extraPrefix} \ - --addnewprefix=b/${lib.escapeShellArg extraPrefix} \ - ''} \ - --clean "$out" > "$tmpfile" + lsdiff \ + ${lib.optionalString (relative != null) "-p1 -i ${lib.escapeShellArg relative}/'*'"} \ + "$out" \ + | sort -u | sed -e 's/[*?]/\\&/g' \ + | xargs -I{} \ + filterdiff \ + --include={} \ + --strip=${toString stripLen} \ + ${ + lib.optionalString (extraPrefix != null) '' + --addoldprefix=a/${lib.escapeShellArg extraPrefix} \ + --addnewprefix=b/${lib.escapeShellArg extraPrefix} \ + '' + } \ + --clean "$out" > "$tmpfile" - if [ ! -s "$tmpfile" ]; then - echo "error: Normalized patch '$tmpfile' is empty (while the fetched file was not)!" 1>&2 - echo "Did you maybe fetch a HTML representation of a patch instead of a raw patch?" 1>&2 - echo "Fetched file was:" 1>&2 - cat "$out" 1>&2 - exit 1 - fi + if [ ! -s "$tmpfile" ]; then + echo "error: Normalized patch '$tmpfile' is empty (while the fetched file was not)!" 1>&2 + echo "Did you maybe fetch a HTML representation of a patch instead of a raw patch?" 1>&2 + echo "Fetched file was:" 1>&2 + cat "$out" 1>&2 + exit 1 + fi - filterdiff \ - -p1 \ - ${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \ - ${builtins.toString (builtins.map (x: "-i ${lib.escapeShellArg x}") includes)} \ - "$tmpfile" > "$out" + filterdiff \ + -p1 \ + ${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \ + ${builtins.toString (builtins.map (x: "-i ${lib.escapeShellArg x}") includes)} \ + "$tmpfile" > "$out" - if [ ! -s "$out" ]; then - echo "error: Filtered patch '$out' is empty (while the original patch file was not)!" 1>&2 - echo "Check your includes and excludes." 1>&2 - echo "Normalized patch file was:" 1>&2 - cat "$tmpfile" 1>&2 - exit 1 - fi - '' + lib.optionalString revert '' - interdiff "$out" /dev/null > "$tmpfile" - mv "$tmpfile" "$out" - '' + postFetch; -} // builtins.removeAttrs args [ - "relative" "stripLen" "decode" "extraPrefix" "excludes" "includes" "revert" - "postFetch" "nativeBuildInputs" -]) + if [ ! -s "$out" ]; then + echo "error: Filtered patch '$out' is empty (while the original patch file was not)!" 1>&2 + echo "Check your includes and excludes." 1>&2 + echo "Normalized patch file was:" 1>&2 + cat "$tmpfile" 1>&2 + exit 1 + fi + '' + + lib.optionalString revert '' + interdiff "$out" /dev/null > "$tmpfile" + mv "$tmpfile" "$out" + '' + + postFetch; + } + // builtins.removeAttrs args [ + "relative" + "stripLen" + "decode" + "extraPrefix" + "excludes" + "includes" + "revert" + "postFetch" + "nativeBuildInputs" + ] + ) diff --git a/pkgs/build-support/fetchpatch/tests.nix b/pkgs/build-support/fetchpatch/tests.nix index b7352fff7f925..82482a8205924 100644 --- a/pkgs/build-support/fetchpatch/tests.nix +++ b/pkgs/build-support/fetchpatch/tests.nix @@ -7,13 +7,21 @@ in { simple = testers.invalidateFetcherByDrvHash fetchpatch { url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch"; - sha256 = if isFetchpatch2 then "sha256-w4yU0wt64d0WkuBQPeGf8vn5TH6qSBJvNIgka9QK+/Q=" else "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg="; + sha256 = + if isFetchpatch2 then + "sha256-w4yU0wt64d0WkuBQPeGf8vn5TH6qSBJvNIgka9QK+/Q=" + else + "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg="; }; relative = testers.invalidateFetcherByDrvHash fetchpatch { url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch"; relative = "include"; - sha256 = if isFetchpatch2 then "sha256-1TtmuKeNIl/Yp+sfzBMR8Ue78tPIgjqGgjasa5IN52o=" else "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4="; + sha256 = + if isFetchpatch2 then + "sha256-1TtmuKeNIl/Yp+sfzBMR8Ue78tPIgjqGgjasa5IN52o=" + else + "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4="; }; full = testers.invalidateFetcherByDrvHash fetchpatch { @@ -23,13 +31,21 @@ in extraPrefix = "foo/bar/"; excludes = [ "foo/bar/bernoulli_no_atomic_mp.cpp" ]; revert = true; - sha256 = if isFetchpatch2 then "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM=" else "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM="; + sha256 = + if isFetchpatch2 then + "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM=" + else + "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM="; }; decode = testers.invalidateFetcherByDrvHash fetchpatch { name = "gcc.patch"; url = "https://chromium.googlesource.com/aosp/platform/external/libchrome/+/f37ae3b1a873d74182a2ac31d96742ead9c1f523^!?format=TEXT"; decode = "base64 -d"; - sha256 = if isFetchpatch2 then "sha256-oMvPlmzE51ArI+EvFxONXkqmNee39106/O1ikG0Bdso=" else "sha256-SJHk8XrutqAyoIdORlhCpBCN626P+uzed7mjKz5eQYY="; + sha256 = + if isFetchpatch2 then + "sha256-oMvPlmzE51ArI+EvFxONXkqmNee39106/O1ikG0Bdso=" + else + "sha256-SJHk8XrutqAyoIdORlhCpBCN626P+uzed7mjKz5eQYY="; }; } diff --git a/pkgs/build-support/fetchpijul/default.nix b/pkgs/build-support/fetchpijul/default.nix index 3aef7c035e729..3f056b26c6b77 100644 --- a/pkgs/build-support/fetchpijul/default.nix +++ b/pkgs/build-support/fetchpijul/default.nix @@ -1,59 +1,70 @@ -{ lib, stdenvNoCC, pijul, cacert }: +{ + lib, + stdenvNoCC, + pijul, + cacert, +}: lib.makeOverridable ( -{ url -, hash ? "" -, change ? null -, state ? null -, channel ? "main" -, name ? "fetchpijul" -, # TODO: Changes in pijul are unordered so there's many ways to end up with the same repository state. + { + url, + hash ? "", + change ? null, + state ? null, + channel ? "main", + name ? "fetchpijul", + # TODO: Changes in pijul are unordered so there's many ways to end up with the same repository state. # This makes leaveDotPijul unfeasible to implement until pijul CLI implements # a way of reordering changes to sort them in a consistent and deterministic manner. # leaveDotPijul ? false -}: -if change != null && state != null then - throw "Only one of 'change' or 'state' can be set" -else - stdenvNoCC.mkDerivation { - inherit name; - nativeBuildInputs = [ pijul cacert ]; - strictDeps = true; - - dontUnpack = true; - dontConfigure = true; - dontBuild = true; - - installPhase = '' - runHook preInstall - - pijul clone \ - ''${change:+--change "$change"} \ - ''${state:+--state "$state"} \ - --channel "$channel" \ - "$url" \ - "$out" - - runHook postInstall - ''; - - fixupPhase = '' - runHook preFixup - - rm -rf "$out/.pijul" - - runHook postFixup - ''; - - outputHashAlgo = null; - outputHashMode = "recursive"; - outputHash = if hash != "" then - hash - else - lib.fakeHash; - - inherit url change state channel; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars; - } + }: + if change != null && state != null then + throw "Only one of 'change' or 'state' can be set" + else + stdenvNoCC.mkDerivation { + inherit name; + nativeBuildInputs = [ + pijul + cacert + ]; + strictDeps = true; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + pijul clone \ + ''${change:+--change "$change"} \ + ''${state:+--state "$state"} \ + --channel "$channel" \ + "$url" \ + "$out" + + runHook postInstall + ''; + + fixupPhase = '' + runHook preFixup + + rm -rf "$out/.pijul" + + runHook postFixup + ''; + + outputHashAlgo = null; + outputHashMode = "recursive"; + outputHash = if hash != "" then hash else lib.fakeHash; + + inherit + url + change + state + channel + ; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + } ) diff --git a/pkgs/build-support/fetchrepoorcz/default.nix b/pkgs/build-support/fetchrepoorcz/default.nix index 3ac7cace0dcf7..bfa0ff4fa31aa 100644 --- a/pkgs/build-support/fetchrepoorcz/default.nix +++ b/pkgs/build-support/fetchrepoorcz/default.nix @@ -1,10 +1,23 @@ { fetchzip }: # gitweb example, snapshot support is optional in gitweb -{ repo, rev, name ? "source" -, ... # For hash agility -}@args: fetchzip ({ - inherit name; - url = "https://repo.or.cz/${repo}.git/snapshot/${rev}.tar.gz"; - meta.homepage = "https://repo.or.cz/${repo}.git/"; -} // removeAttrs args [ "repo" "rev" ]) // { inherit rev; } +{ + repo, + rev, + name ? "source", + ... # For hash agility +}@args: +fetchzip ( + { + inherit name; + url = "https://repo.or.cz/${repo}.git/snapshot/${rev}.tar.gz"; + meta.homepage = "https://repo.or.cz/${repo}.git/"; + } + // removeAttrs args [ + "repo" + "rev" + ] +) +// { + inherit rev; +} diff --git a/pkgs/build-support/fetchrepoproject/default.nix b/pkgs/build-support/fetchrepoproject/default.nix index 354913574b0f2..fb9ac85884645 100644 --- a/pkgs/build-support/fetchrepoproject/default.nix +++ b/pkgs/build-support/fetchrepoproject/default.nix @@ -1,9 +1,25 @@ -{ lib, stdenvNoCC, gitRepo, cacert, copyPathsToStore }: +{ + lib, + stdenvNoCC, + gitRepo, + cacert, + copyPathsToStore, +}: lib.fetchers.withNormalizedHash { } ( - { name, manifest, rev ? "HEAD", outputHash, outputHashAlgo - # Optional parameters: - , repoRepoURL ? "", repoRepoRev ? "", referenceDir ? "", manifestName ? "" - , localManifests ? [], createMirror ? false, useArchive ? false + { + name, + manifest, + rev ? "HEAD", + outputHash, + outputHashAlgo, + # Optional parameters: + repoRepoURL ? "", + repoRepoRev ? "", + referenceDir ? "", + manifestName ? "", + localManifests ? [ ], + createMirror ? false, + useArchive ? false, }: assert repoRepoRev != "" -> repoRepoURL != ""; @@ -34,10 +50,18 @@ lib.fetchers.withNormalizedHash { } ( local_manifests = copyPathsToStore localManifests; - in stdenvNoCC.mkDerivation { + in + stdenvNoCC.mkDerivation { inherit name; - inherit cacert manifest rev repoRepoURL repoRepoRev referenceDir; # TODO + inherit + cacert + manifest + rev + repoRepoURL + repoRepoRev + referenceDir + ; # TODO inherit outputHash outputHashAlgo; outputHashMode = "recursive"; @@ -46,10 +70,14 @@ lib.fetchers.withNormalizedHash { } ( enableParallelBuilding = true; impureEnvVars = fetchers.proxyImpureEnvVars ++ [ - "GIT_PROXY_COMMAND" "SOCKS_SERVER" + "GIT_PROXY_COMMAND" + "SOCKS_SERVER" ]; - nativeBuildInputs = [ gitRepo cacert ]; + nativeBuildInputs = [ + gitRepo + cacert + ]; GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; @@ -61,7 +89,7 @@ lib.fetchers.withNormalizedHash { } ( cd $out mkdir .repo - ${optionalString (local_manifests != []) '' + ${optionalString (local_manifests != [ ]) '' mkdir .repo/local_manifests for local_manifest in ${concatMapStringsSep " " toString local_manifests}; do cp $local_manifest .repo/local_manifests/$(stripHash $local_manifest) diff --git a/pkgs/build-support/fetchs3/default.nix b/pkgs/build-support/fetchs3/default.nix index 1dd6945a5cb55..4935806ece189 100644 --- a/pkgs/build-support/fetchs3/default.nix +++ b/pkgs/build-support/fetchs3/default.nix @@ -1,37 +1,59 @@ -{ lib, runCommand, awscli }: +{ + lib, + runCommand, + awscli, +}: lib.fetchers.withNormalizedHash { } ( - { s3url - , name ? builtins.baseNameOf s3url - , outputHash - , outputHashAlgo - , region ? "us-east-1" - , credentials ? null # Default to looking at local EC2 metadata service - , recursiveHash ? false - , postFetch ? null + { + s3url, + name ? builtins.baseNameOf s3url, + outputHash, + outputHashAlgo, + region ? "us-east-1", + credentials ? null, # Default to looking at local EC2 metadata service + recursiveHash ? false, + postFetch ? null, }: let - mkCredentials = { access_key_id, secret_access_key, session_token ? null }: { - AWS_ACCESS_KEY_ID = access_key_id; - AWS_SECRET_ACCESS_KEY = secret_access_key; - AWS_SESSION_TOKEN = session_token; - }; + mkCredentials = + { + access_key_id, + secret_access_key, + session_token ? null, + }: + { + AWS_ACCESS_KEY_ID = access_key_id; + AWS_SECRET_ACCESS_KEY = secret_access_key; + AWS_SESSION_TOKEN = session_token; + }; credentialAttrs = lib.optionalAttrs (credentials != null) (mkCredentials credentials); - in runCommand name ({ - nativeBuildInputs = [ awscli ]; + in + runCommand name + ( + { + nativeBuildInputs = [ awscli ]; - inherit outputHash outputHashAlgo; - outputHashMode = if recursiveHash then "recursive" else "flat"; + inherit outputHash outputHashAlgo; + outputHashMode = if recursiveHash then "recursive" else "flat"; - preferLocalBuild = true; + preferLocalBuild = true; - AWS_DEFAULT_REGION = region; - } // credentialAttrs) (if postFetch != null then '' - downloadedFile="$(mktemp)" - aws s3 cp ${s3url} $downloadedFile - ${postFetch} - '' else '' - aws s3 cp ${s3url} $out - '') + AWS_DEFAULT_REGION = region; + } + // credentialAttrs + ) + ( + if postFetch != null then + '' + downloadedFile="$(mktemp)" + aws s3 cp ${s3url} $downloadedFile + ${postFetch} + '' + else + '' + aws s3 cp ${s3url} $out + '' + ) ) diff --git a/pkgs/build-support/fetchsavannah/default.nix b/pkgs/build-support/fetchsavannah/default.nix index 0849323d582cf..4e1080d2a1088 100644 --- a/pkgs/build-support/fetchsavannah/default.nix +++ b/pkgs/build-support/fetchsavannah/default.nix @@ -1,13 +1,26 @@ { fetchzip, lib }: lib.makeOverridable ( -# cgit example, snapshot support is optional in cgit -{ repo, rev, name ? "source" -, ... # For hash agility -}@args: fetchzip ({ - inherit name; - url = "https://git.savannah.gnu.org/cgit/${repo}.git/snapshot/${repo}-${rev}.tar.gz"; - meta.homepage = "https://git.savannah.gnu.org/cgit/${repo}.git/"; - passthru.gitRepoUrl = "https://git.savannah.gnu.org/git/${repo}.git"; -} // removeAttrs args [ "repo" "rev" ]) // { inherit rev; } + # cgit example, snapshot support is optional in cgit + { + repo, + rev, + name ? "source", + ... # For hash agility + }@args: + fetchzip ( + { + inherit name; + url = "https://git.savannah.gnu.org/cgit/${repo}.git/snapshot/${repo}-${rev}.tar.gz"; + meta.homepage = "https://git.savannah.gnu.org/cgit/${repo}.git/"; + passthru.gitRepoUrl = "https://git.savannah.gnu.org/git/${repo}.git"; + } + // removeAttrs args [ + "repo" + "rev" + ] + ) + // { + inherit rev; + } ) diff --git a/pkgs/build-support/fetchsourcehut/default.nix b/pkgs/build-support/fetchsourcehut/default.nix index 42d437b3555e6..a8f645c351b3c 100644 --- a/pkgs/build-support/fetchsourcehut/default.nix +++ b/pkgs/build-support/fetchsourcehut/default.nix @@ -1,4 +1,9 @@ -{ fetchgit, fetchhg, fetchzip, lib }: +{ + fetchgit, + fetchhg, + fetchzip, + lib, +}: let inherit (lib) @@ -9,54 +14,75 @@ let in makeOverridable ( -{ owner -, repo, rev -, domain ? "sr.ht" -, vc ? "git" -, name ? "source" -, fetchSubmodules ? false -, ... # For hash agility -} @ args: + { + owner, + repo, + rev, + domain ? "sr.ht", + vc ? "git", + name ? "source", + fetchSubmodules ? false, + ... # For hash agility + }@args: -assert (assertOneOf "vc" vc [ "hg" "git" ]); + assert ( + assertOneOf "vc" vc [ + "hg" + "git" + ] + ); -let - urlFor = resource: "https://${resource}.${domain}/${owner}/${repo}"; - baseUrl = urlFor vc; - baseArgs = { - inherit name; - } // removeAttrs args [ - "owner" "repo" "rev" "domain" "vc" "name" "fetchSubmodules" - ]; - vcArgs = baseArgs // { - inherit rev; - url = baseUrl; - }; - fetcher = if fetchSubmodules then vc else "zip"; - cases = { - git = { - fetch = fetchgit; - arguments = vcArgs // { fetchSubmodules = true; }; + let + urlFor = resource: "https://${resource}.${domain}/${owner}/${repo}"; + baseUrl = urlFor vc; + baseArgs = + { + inherit name; + } + // removeAttrs args [ + "owner" + "repo" + "rev" + "domain" + "vc" + "name" + "fetchSubmodules" + ]; + vcArgs = baseArgs // { + inherit rev; + url = baseUrl; }; - hg = { - fetch = fetchhg; - arguments = vcArgs // { fetchSubrepos = true; }; - }; - zip = { - fetch = fetchzip; - arguments = baseArgs // { - url = "${baseUrl}/archive/${rev}.tar.gz"; - postFetch = optionalString (vc == "hg") '' - rm -f "$out/.hg_archival.txt" - ''; # impure file; see #12002 - passthru = { - gitRepoUrl = urlFor "git"; + fetcher = if fetchSubmodules then vc else "zip"; + cases = { + git = { + fetch = fetchgit; + arguments = vcArgs // { + fetchSubmodules = true; + }; + }; + hg = { + fetch = fetchhg; + arguments = vcArgs // { + fetchSubrepos = true; + }; + }; + zip = { + fetch = fetchzip; + arguments = baseArgs // { + url = "${baseUrl}/archive/${rev}.tar.gz"; + postFetch = optionalString (vc == "hg") '' + rm -f "$out/.hg_archival.txt" + ''; # impure file; see #12002 + passthru = { + gitRepoUrl = urlFor "git"; + }; }; }; }; - }; -in cases.${fetcher}.fetch cases.${fetcher}.arguments // { - inherit rev; - meta.homepage = "${baseUrl}"; -} + in + cases.${fetcher}.fetch cases.${fetcher}.arguments + // { + inherit rev; + meta.homepage = "${baseUrl}"; + } ) diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index c180ec8996961..70df66af82ab8 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -1,10 +1,23 @@ -{ lib, stdenvNoCC, buildPackages -, cacert, subversion, glibcLocales, sshSupport ? true, openssh ? null +{ + lib, + stdenvNoCC, + buildPackages, + cacert, + subversion, + glibcLocales, + sshSupport ? true, + openssh ? null, }: -{ url, rev ? "HEAD", sha256 ? "", hash ? "" -, ignoreExternals ? false, ignoreKeywords ? false, name ? null -, preferLocalBuild ? true +{ + url, + rev ? "HEAD", + sha256 ? "", + hash ? "", + ignoreExternals ? false, + ignoreKeywords ? false, + name ? null, + preferLocalBuild ? true, }: assert sshSupport -> openssh != null; @@ -17,17 +30,21 @@ let trd = l: lib.head (lib.tail (lib.tail l)); path_ = (p: if lib.head p == "" then lib.tail p else p) # ~ drop final slash if any - (lib.reverseList (lib.splitString "/" url)); + (lib.reverseList (lib.splitString "/" url)); path = [ (lib.removeSuffix "/" (lib.head path_)) ] ++ (lib.tail path_); in - # ../repo/trunk -> repo - if fst path == "trunk" then snd path - # ../repo/branches/branch -> repo-branch - else if snd path == "branches" then "${trd path}-${fst path}" - # ../repo/tags/tag -> repo-tag - else if snd path == "tags" then "${trd path}-${fst path}" - # ../repo (no trunk) -> repo - else fst path; + # ../repo/trunk -> repo + if fst path == "trunk" then + snd path + # ../repo/branches/branch -> repo-branch + else if snd path == "branches" then + "${trd path}-${fst path}" + # ../repo/tags/tag -> repo-tag + else if snd path == "tags" then + "${trd path}-${fst path}" + # ../repo (no trunk) -> repo + else + fst path; name_ = if name == null then "${repoName}-r${toString rev}" else name; in @@ -35,25 +52,34 @@ in if hash != "" && sha256 != "" then throw "Only one of sha256 or hash can be set" else -stdenvNoCC.mkDerivation { - name = name_; - builder = ./builder.sh; - nativeBuildInputs = [ cacert subversion glibcLocales ] - ++ lib.optional sshSupport openssh; - - SVN_SSH = if sshSupport then "${buildPackages.openssh}/bin/ssh" else null; - - outputHashAlgo = if hash != "" then null else "sha256"; - outputHashMode = "recursive"; - outputHash = if hash != "" then - hash - else if sha256 != "" then - sha256 - else - lib.fakeSha256; - - inherit url rev ignoreExternals ignoreKeywords; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars; - inherit preferLocalBuild; -} + stdenvNoCC.mkDerivation { + name = name_; + builder = ./builder.sh; + nativeBuildInputs = [ + cacert + subversion + glibcLocales + ] ++ lib.optional sshSupport openssh; + + SVN_SSH = if sshSupport then "${buildPackages.openssh}/bin/ssh" else null; + + outputHashAlgo = if hash != "" then null else "sha256"; + outputHashMode = "recursive"; + outputHash = + if hash != "" then + hash + else if sha256 != "" then + sha256 + else + lib.fakeSha256; + + inherit + url + rev + ignoreExternals + ignoreKeywords + ; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + inherit preferLocalBuild; + } diff --git a/pkgs/build-support/fetchsvnrevision/default.nix b/pkgs/build-support/fetchsvnrevision/default.nix index f2e2a11da8d52..c3987f3bbe77f 100644 --- a/pkgs/build-support/fetchsvnrevision/default.nix +++ b/pkgs/build-support/fetchsvnrevision/default.nix @@ -1,10 +1,13 @@ runCommand: subversion: repository: - import (runCommand "head-revision" - { buildInputs = [ subversion ]; +import ( + runCommand "head-revision" + { + buildInputs = [ subversion ]; dummy = builtins.currentTime; } '' rev=$(echo p | svn ls -v --depth empty ${repository} |awk '{ print $1 }') echo "[ \"$rev\" ]" > $out echo Latest revision is $rev - '') + '' +) diff --git a/pkgs/build-support/fetchsvnssh/default.nix b/pkgs/build-support/fetchsvnssh/default.nix index e798044e2ea16..a2d6fcef99c34 100644 --- a/pkgs/build-support/fetchsvnssh/default.nix +++ b/pkgs/build-support/fetchsvnssh/default.nix @@ -1,19 +1,41 @@ -{lib, stdenvNoCC, subversion, sshSupport ? true, openssh ? null, expect}: -{username, password -, url, rev ? "HEAD" -, outputHash ? lib.fakeHash, outputHashAlgo ? null}: +{ + lib, + stdenvNoCC, + subversion, + sshSupport ? true, + openssh ? null, + expect, +}: +{ + username, + password, + url, + rev ? "HEAD", + outputHash ? lib.fakeHash, + outputHashAlgo ? null, +}: lib.fetchers.withNormalizedHash { } ( stdenvNoCC.mkDerivation { name = "svn-export-ssh"; builder = ./builder.sh; - nativeBuildInputs = [subversion expect]; + nativeBuildInputs = [ + subversion + expect + ]; inherit outputHash outputHashAlgo; outputHashMode = "recursive"; sshSubversion = ./sshsubversion.exp; - inherit username password url rev sshSupport openssh; + inherit + username + password + url + rev + sshSupport + openssh + ; } ) diff --git a/pkgs/build-support/fetchtorrent/default.nix b/pkgs/build-support/fetchtorrent/default.nix index 041c1b9dcb394..6e154a0765009 100644 --- a/pkgs/build-support/fetchtorrent/default.nix +++ b/pkgs/build-support/fetchtorrent/default.nix @@ -1,20 +1,34 @@ -{ lib, runCommand, transmission_3_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }: +{ + lib, + runCommand, + transmission_3_noSystemd, + rqbit, + writeShellScript, + formats, + cacert, + rsync, +}: let urlRegexp = ''.*xt=urn:bt[im]h:([^&]{64}|[^&]{40}).*''; in -{ url -, name ? - if (builtins.match urlRegexp url) == null then - "bittorrent" - else - "bittorrent-" + builtins.head (builtins.match urlRegexp url) -, config ? if (backend == "transmission") then { } else throw "json config for configuring fetchFromBitorrent only works with the transmission backend" -, hash -, backend ? "transmission" -, recursiveHash ? true -, postFetch ? "" -, postUnpack ? "" -, meta ? {} +{ + url, + name ? + if (builtins.match urlRegexp url) == null then + "bittorrent" + else + "bittorrent-" + builtins.head (builtins.match urlRegexp url), + config ? + if (backend == "transmission") then + { } + else + throw "json config for configuring fetchFromBitorrent only works with the transmission backend", + hash, + backend ? "transmission", + recursiveHash ? true, + postFetch ? "", + postUnpack ? "", + meta ? { }, }: let afterSuccess = writeShellScript "fetch-bittorrent-done.sh" '' @@ -28,35 +42,49 @@ let ${postFetch} kill $PPID ''; - jsonConfig = (formats.json {}).generate "jsonConfig" config; + jsonConfig = (formats.json { }).generate "jsonConfig" config; in -runCommand name { - inherit meta; - nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_3_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent"); - outputHashAlgo = if hash != "" then null else "sha256"; - outputHash = hash; - outputHashMode = if recursiveHash then "recursive" else "flat"; +runCommand name + { + inherit meta; + nativeBuildInputs = + [ cacert ] + ++ ( + if (backend == "transmission") then + [ transmission_3_noSystemd ] + else if (backend == "rqbit") then + [ rqbit ] + else + throw "rqbit or transmission are the only available backends for fetchtorrent" + ); + outputHashAlgo = if hash != "" then null else "sha256"; + outputHash = hash; + outputHashMode = if recursiveHash then "recursive" else "flat"; - # url will be written to the derivation, meaning it can be parsed and utilized - # by external tools, such as tools that may want to seed fetchtorrent calls - # in nixpkgs - inherit url; -} -(if (backend == "transmission") then '' - export HOME=$TMP - export downloadedDirectory=$out/downloadedDirectory - mkdir -p $downloadedDirectory - mkdir -p $HOME/.config/transmission - cp ${jsonConfig} $HOME/.config/transmission/settings.json - function handleChild { - # This detects failures and logs the contents of the transmission fetch - find $out - exit 0 + # url will be written to the derivation, meaning it can be parsed and utilized + # by external tools, such as tools that may want to seed fetchtorrent calls + # in nixpkgs + inherit url; } - trap handleChild CHLD - transmission-cli --port $(shuf -n 1 -i 49152-65535) --portmap --finish ${afterSuccess} --download-dir $downloadedDirectory --config-dir "$HOME"/.config/transmission "$url" -'' else -'' - export HOME=$TMP - rqbit --disable-dht-persistence --http-api-listen-addr "127.0.0.1:$(shuf -n 1 -i 49152-65535)" download -o $out --exit-on-finish "$url" -'') + ( + if (backend == "transmission") then + '' + export HOME=$TMP + export downloadedDirectory=$out/downloadedDirectory + mkdir -p $downloadedDirectory + mkdir -p $HOME/.config/transmission + cp ${jsonConfig} $HOME/.config/transmission/settings.json + function handleChild { + # This detects failures and logs the contents of the transmission fetch + find $out + exit 0 + } + trap handleChild CHLD + transmission-cli --port $(shuf -n 1 -i 49152-65535) --portmap --finish ${afterSuccess} --download-dir $downloadedDirectory --config-dir "$HOME"/.config/transmission "$url" + '' + else + '' + export HOME=$TMP + rqbit --disable-dht-persistence --http-api-listen-addr "127.0.0.1:$(shuf -n 1 -i 49152-65535)" download -o $out --exit-on-finish "$url" + '' + ) diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index dd04ccb6e0931..dfd6321925864 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -5,73 +5,105 @@ # (e.g. due to minor changes in the compression algorithm, or changes # in timestamps). -{ lib, fetchurl, withUnzip ? true, unzip, glibcLocalesUtf8 }: +{ + lib, + fetchurl, + withUnzip ? true, + unzip, + glibcLocalesUtf8, +}: -{ name ? "source" -, url ? "" -, urls ? [] -, nativeBuildInputs ? [] -, postFetch ? "" -, extraPostFetch ? "" +{ + name ? "source", + url ? "", + urls ? [ ], + nativeBuildInputs ? [ ], + postFetch ? "", + extraPostFetch ? "", -# Optionally move the contents of the unpacked tree up one level. -, stripRoot ? true -# Allows to set the extension for the intermediate downloaded -# file. This can be used as a hint for the unpackCmdHooks to select -# an appropriate unpacking tool. -, extension ? null + # Optionally move the contents of the unpacked tree up one level. + stripRoot ? true, + # Allows to set the extension for the intermediate downloaded + # file. This can be used as a hint for the unpackCmdHooks to select + # an appropriate unpacking tool. + extension ? null, -# the rest are given to fetchurl as is -, ... } @ args: + # the rest are given to fetchurl as is + ... +}@args: -assert (extraPostFetch != "") -> lib.warn "use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub' or 'fetchFromGitLab'." true; +assert + (extraPostFetch != "") + -> lib.warn "use 'postFetch' instead of 'extraPostFetch' with 'fetchzip' and 'fetchFromGitHub' or 'fetchFromGitLab'." true; let tmpFilename = - if extension != null - then "download.${extension}" - else baseNameOf (if url != "" then url else builtins.head urls); + if extension != null then + "download.${extension}" + else + baseNameOf (if url != "" then url else builtins.head urls); in -fetchurl ({ - inherit name; - recursiveHash = true; +fetchurl ( + { + inherit name; + recursiveHash = true; - downloadToTemp = true; + downloadToTemp = true; - # Have to pull in glibcLocalesUtf8 for unzip in setup-hook.sh to handle - # UTF-8 aware locale: - # https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263 - nativeBuildInputs = lib.optionals withUnzip [ unzip glibcLocalesUtf8 ] ++ nativeBuildInputs; + # Have to pull in glibcLocalesUtf8 for unzip in setup-hook.sh to handle + # UTF-8 aware locale: + # https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263 + nativeBuildInputs = + lib.optionals withUnzip [ + unzip + glibcLocalesUtf8 + ] + ++ nativeBuildInputs; - postFetch = - '' - unpackDir="$TMPDIR/unpack" - mkdir "$unpackDir" - cd "$unpackDir" + postFetch = + '' + unpackDir="$TMPDIR/unpack" + mkdir "$unpackDir" + cd "$unpackDir" - renamed="$TMPDIR/${tmpFilename}" - mv "$downloadedFile" "$renamed" - unpackFile "$renamed" - chmod -R +w "$unpackDir" - '' + (if stripRoot then '' - if [ $(ls -A "$unpackDir" | wc -l) != 1 ]; then - echo "error: zip file must contain a single file or directory." - echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files." - exit 1 - fi - fn=$(cd "$unpackDir" && ls -A) - if [ -f "$unpackDir/$fn" ]; then - mkdir $out - fi - mv "$unpackDir/$fn" "$out" - '' else '' - mv "$unpackDir" "$out" - '') + '' - ${postFetch} - ${extraPostFetch} - chmod 755 "$out" - ''; + renamed="$TMPDIR/${tmpFilename}" + mv "$downloadedFile" "$renamed" + unpackFile "$renamed" + chmod -R +w "$unpackDir" + '' + + ( + if stripRoot then + '' + if [ $(ls -A "$unpackDir" | wc -l) != 1 ]; then + echo "error: zip file must contain a single file or directory." + echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files." + exit 1 + fi + fn=$(cd "$unpackDir" && ls -A) + if [ -f "$unpackDir/$fn" ]; then + mkdir $out + fi + mv "$unpackDir/$fn" "$out" + '' + else + '' + mv "$unpackDir" "$out" + '' + ) + + '' + ${postFetch} + ${extraPostFetch} + chmod 755 "$out" + ''; # ^ Remove non-owner write permissions # Fixes https://github.com/NixOS/nixpkgs/issues/38649 -} // removeAttrs args [ "stripRoot" "extraPostFetch" "postFetch" "extension" "nativeBuildInputs" ]) + } + // removeAttrs args [ + "stripRoot" + "extraPostFetch" + "postFetch" + "extension" + "nativeBuildInputs" + ] +) diff --git a/pkgs/build-support/fetchzip/tests.nix b/pkgs/build-support/fetchzip/tests.nix index 13175d5ce921e..66227f0ce6bfb 100644 --- a/pkgs/build-support/fetchzip/tests.nix +++ b/pkgs/build-support/fetchzip/tests.nix @@ -1,4 +1,9 @@ -{ testers, fetchzip, runCommand, ... }: +{ + testers, + fetchzip, + runCommand, + ... +}: let url = "https://gist.github.com/glandium/01d54cefdb70561b5f6675e08f2990f2/archive/2f430f0c136a69b0886281d0c76708997d8878af.zip"; @@ -16,10 +21,12 @@ in }; hiddenDir = testers.invalidateFetcherByDrvHash fetchzip { - url = "file://${runCommand "hiddendir.tar" {} '' - mkdir .foo - tar -cf $out .foo - ''}"; + url = "file://${ + runCommand "hiddendir.tar" { } '' + mkdir .foo + tar -cf $out .foo + '' + }"; sha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; }; } diff --git a/pkgs/build-support/kernel/compress-firmware.nix b/pkgs/build-support/kernel/compress-firmware.nix index 0949036d5127f..16d209aed26e8 100644 --- a/pkgs/build-support/kernel/compress-firmware.nix +++ b/pkgs/build-support/kernel/compress-firmware.nix @@ -1,23 +1,30 @@ -{ runCommand, lib, type ? "zstd", zstd }: +{ + runCommand, + lib, + type ? "zstd", + zstd, +}: firmware: let - compressor = { - xz = { - ext = "xz"; - nativeBuildInputs = [ ]; - cmd = file: target: ''xz -9c -T1 -C crc32 --lzma2=dict=2MiB "${file}" > "${target}"''; - }; - zstd = { - ext = "zst"; - nativeBuildInputs = [ zstd ]; - cmd = file: target: ''zstd -T1 -19 --long --check -f "${file}" -o "${target}"''; - }; - }.${type} or (throw "Unsupported compressor type for firmware."); + compressor = + { + xz = { + ext = "xz"; + nativeBuildInputs = [ ]; + cmd = file: target: ''xz -9c -T1 -C crc32 --lzma2=dict=2MiB "${file}" > "${target}"''; + }; + zstd = { + ext = "zst"; + nativeBuildInputs = [ zstd ]; + cmd = file: target: ''zstd -T1 -19 --long --check -f "${file}" -o "${target}"''; + }; + } + .${type} or (throw "Unsupported compressor type for firmware."); args = { - allowedRequisites = []; + allowedRequisites = [ ]; inherit (compressor) nativeBuildInputs; } // lib.optionalAttrs (firmware ? meta) { inherit (firmware) meta; }; in diff --git a/pkgs/build-support/kernel/initrd-compressor-meta.nix b/pkgs/build-support/kernel/initrd-compressor-meta.nix index 443e599a239e5..52e009967b501 100644 --- a/pkgs/build-support/kernel/initrd-compressor-meta.nix +++ b/pkgs/build-support/kernel/initrd-compressor-meta.nix @@ -6,7 +6,7 @@ rec { }; gzip = { executable = pkgs: "${pkgs.gzip}/bin/gzip"; - defaultArgs = ["-9n"]; + defaultArgs = [ "-9n" ]; ubootName = "gzip"; extension = ".gz"; }; @@ -17,18 +17,24 @@ rec { }; xz = { executable = pkgs: "${pkgs.xz}/bin/xz"; - defaultArgs = ["--check=crc32" "--lzma2=dict=512KiB"]; + defaultArgs = [ + "--check=crc32" + "--lzma2=dict=512KiB" + ]; extension = ".xz"; }; lzma = { executable = pkgs: "${pkgs.xz}/bin/lzma"; - defaultArgs = ["--check=crc32" "--lzma1=dict=512KiB"]; + defaultArgs = [ + "--check=crc32" + "--lzma1=dict=512KiB" + ]; ubootName = "lzma"; extension = ".lzma"; }; lz4 = { executable = pkgs: "${pkgs.lz4}/bin/lz4"; - defaultArgs = ["-l"]; + defaultArgs = [ "-l" ]; ubootName = "lz4"; extension = ".lz4"; }; @@ -39,7 +45,7 @@ rec { }; zstd = { executable = pkgs: "${pkgs.zstd}/bin/zstd"; - defaultArgs = ["-10"]; + defaultArgs = [ "-10" ]; ubootName = "zstd"; extension = ".zst"; }; @@ -48,6 +54,6 @@ rec { }; pixz = xz // { executable = pkgs: "${pkgs.pixz}/bin/pixz"; - defaultArgs = []; + defaultArgs = [ ]; }; } diff --git a/pkgs/build-support/kernel/make-initrd-ng-tool.nix b/pkgs/build-support/kernel/make-initrd-ng-tool.nix index 7ffa0bf6813a5..9097728fe7a96 100644 --- a/pkgs/build-support/kernel/make-initrd-ng-tool.nix +++ b/pkgs/build-support/kernel/make-initrd-ng-tool.nix @@ -1,4 +1,11 @@ -{ rustPlatform, lib, makeWrapper, patchelf, glibc, binutils }: +{ + rustPlatform, + lib, + makeWrapper, + patchelf, + glibc, + binutils, +}: rustPlatform.buildRustPackage { pname = "make-initrd-ng"; @@ -12,7 +19,11 @@ rustPlatform.buildRustPackage { meta = { description = "Tool for copying binaries and their dependencies"; mainProgram = "make-initrd-ng"; - maintainers = with lib.maintainers; [ das_j elvishjerricco k900 ]; + maintainers = with lib.maintainers; [ + das_j + elvishjerricco + k900 + ]; license = lib.licenses.mit; }; } diff --git a/pkgs/build-support/kernel/make-initrd-ng.nix b/pkgs/build-support/kernel/make-initrd-ng.nix index a7542610a72dd..4d2ad14a023b5 100644 --- a/pkgs/build-support/kernel/make-initrd-ng.nix +++ b/pkgs/build-support/kernel/make-initrd-ng.nix @@ -8,90 +8,118 @@ let # compression type and filename extension. compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1; in -{ stdenvNoCC, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, binutils, runCommand -# Name of the derivation (not of the resulting file!) -, name ? "initrd" +{ + stdenvNoCC, + cpio, + ubootTools, + lib, + pkgsBuildHost, + makeInitrdNGTool, + binutils, + runCommand, + # Name of the derivation (not of the resulting file!) + name ? "initrd", -, strip ? true + strip ? true, -# Program used to compress the cpio archive; use "cat" for no compression. -# This can also be a function which takes a package set and returns the path to the compressor, -# such as `pkgs: "${pkgs.lzop}/bin/lzop"`. -, compressor ? "gzip" -, _compressorFunction ? - if lib.isFunction compressor then compressor - else if ! builtins.hasContext compressor && builtins.hasAttr compressor compressors then compressors.${compressor}.executable - else _: compressor -, _compressorExecutable ? _compressorFunction pkgsBuildHost -, _compressorName ? compressorName _compressorExecutable -, _compressorMeta ? compressors.${_compressorName} or {} + # Program used to compress the cpio archive; use "cat" for no compression. + # This can also be a function which takes a package set and returns the path to the compressor, + # such as `pkgs: "${pkgs.lzop}/bin/lzop"`. + compressor ? "gzip", + _compressorFunction ? + if lib.isFunction compressor then + compressor + else if !builtins.hasContext compressor && builtins.hasAttr compressor compressors then + compressors.${compressor}.executable + else + _: compressor, + _compressorExecutable ? _compressorFunction pkgsBuildHost, + _compressorName ? compressorName _compressorExecutable, + _compressorMeta ? compressors.${_compressorName} or { }, -# List of arguments to pass to the compressor program, or null to use its defaults -, compressorArgs ? null -, _compressorArgsReal ? if compressorArgs == null then _compressorMeta.defaultArgs or [] else compressorArgs + # List of arguments to pass to the compressor program, or null to use its defaults + compressorArgs ? null, + _compressorArgsReal ? + if compressorArgs == null then _compressorMeta.defaultArgs or [ ] else compressorArgs, -# Filename extension to use for the compressed initramfs. This is -# included for clarity, but $out/initrd will always be a symlink to -# the final image. -# If this isn't guessed, you may want to complete the metadata above and send a PR :) -, extension ? _compressorMeta.extension or - (throw "Unrecognised compressor ${_compressorName}, please specify filename extension") + # Filename extension to use for the compressed initramfs. This is + # included for clarity, but $out/initrd will always be a symlink to + # the final image. + # If this isn't guessed, you may want to complete the metadata above and send a PR :) + extension ? + _compressorMeta.extension + or (throw "Unrecognised compressor ${_compressorName}, please specify filename extension"), -# List of { source = path_or_derivation; target = "/path"; } -# The paths are copied into the initramfs in their nix store path -# form, then linked at the root according to `target`. -, contents + # List of { source = path_or_derivation; target = "/path"; } + # The paths are copied into the initramfs in their nix store path + # form, then linked at the root according to `target`. + contents, -# List of uncompressed cpio files to prepend to the initramfs. This -# can be used to add files in specified paths without them becoming -# symlinks to store paths. -, prepend ? [] + # List of uncompressed cpio files to prepend to the initramfs. This + # can be used to add files in specified paths without them becoming + # symlinks to store paths. + prepend ? [ ], -# Whether to wrap the initramfs in a u-boot image. -, makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target == "uImage" + # Whether to wrap the initramfs in a u-boot image. + makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target == "uImage", -# If generating a u-boot image, the architecture to use. The default -# guess may not align with u-boot's nomenclature correctly, so it can -# be overridden. -# See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. -, uInitrdArch ? stdenvNoCC.hostPlatform.ubootArch + # If generating a u-boot image, the architecture to use. The default + # guess may not align with u-boot's nomenclature correctly, so it can + # be overridden. + # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. + uInitrdArch ? stdenvNoCC.hostPlatform.ubootArch, -# The name of the compression, as recognised by u-boot. -# See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. -# If this isn't guessed, you may want to complete the metadata above and send a PR :) -, uInitrdCompression ? _compressorMeta.ubootName or - (throw "Unrecognised compressor ${_compressorName}, please specify uInitrdCompression") -}: runCommand name ({ - compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}"; - passthru = { - compressorExecutableFunction = _compressorFunction; - compressorArgs = _compressorArgsReal; - }; + # The name of the compression, as recognised by u-boot. + # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. + # If this isn't guessed, you may want to complete the metadata above and send a PR :) + uInitrdCompression ? + _compressorMeta.ubootName + or (throw "Unrecognised compressor ${_compressorName}, please specify uInitrdCompression"), +}: +runCommand name + ({ + compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}"; + passthru = { + compressorExecutableFunction = _compressorFunction; + compressorArgs = _compressorArgsReal; + }; - inherit extension makeUInitrd uInitrdArch prepend; - ${if makeUInitrd then "uInitrdCompression" else null} = uInitrdCompression; + inherit + extension + makeUInitrd + uInitrdArch + prepend + ; + ${if makeUInitrd then "uInitrdCompression" else null} = uInitrdCompression; - passAsFile = ["contents"]; - contents = builtins.toJSON contents; + passAsFile = [ "contents" ]; + contents = builtins.toJSON contents; - nativeBuildInputs = [makeInitrdNGTool cpio] ++ lib.optional makeUInitrd ubootTools ++ lib.optional strip binutils; + nativeBuildInputs = + [ + makeInitrdNGTool + cpio + ] + ++ lib.optional makeUInitrd ubootTools + ++ lib.optional strip binutils; - STRIP = if strip then "${pkgsBuildHost.binutils.targetPrefix}strip" else null; -}) '' - mkdir -p ./root/var/empty - make-initrd-ng "$contentsPath" ./root - mkdir "$out" - (cd root && find . -exec touch -h -d '@1' '{}' +) - for PREP in $prepend; do - cat $PREP >> $out/initrd - done - (cd root && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd") + STRIP = if strip then "${pkgsBuildHost.binutils.targetPrefix}strip" else null; + }) + '' + mkdir -p ./root/var/empty + make-initrd-ng "$contentsPath" ./root + mkdir "$out" + (cd root && find . -exec touch -h -d '@1' '{}' +) + for PREP in $prepend; do + cat $PREP >> $out/initrd + done + (cd root && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd") - if [ -n "$makeUInitrd" ]; then - mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img - # Compatibility symlink - ln -sf "initrd.img" "$out/initrd" - else - ln -s "initrd" "$out/initrd$extension" - fi -'' + if [ -n "$makeUInitrd" ]; then + mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img + # Compatibility symlink + ln -sf "initrd.img" "$out/initrd" + else + ln -s "initrd" "$out/initrd$extension" + fi + '' diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index e996094d1f8a4..ef591a4d9aa54 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -18,96 +18,119 @@ let # compression type and filename extension. compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1; in -{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost -# Name of the derivation (not of the resulting file!) -, name ? "initrd" +{ + stdenvNoCC, + perl, + cpio, + ubootTools, + lib, + pkgsBuildHost, + # Name of the derivation (not of the resulting file!) + name ? "initrd", -# Program used to compress the cpio archive; use "cat" for no compression. -# This can also be a function which takes a package set and returns the path to the compressor, -# such as `pkgs: "${pkgs.lzop}/bin/lzop"`. -, compressor ? "gzip" -, _compressorFunction ? - if lib.isFunction compressor then compressor - else if ! builtins.hasContext compressor && builtins.hasAttr compressor compressors then compressors.${compressor}.executable - else _: compressor -, _compressorExecutable ? _compressorFunction pkgsBuildHost -, _compressorName ? compressorName _compressorExecutable -, _compressorMeta ? compressors.${_compressorName} or {} + # Program used to compress the cpio archive; use "cat" for no compression. + # This can also be a function which takes a package set and returns the path to the compressor, + # such as `pkgs: "${pkgs.lzop}/bin/lzop"`. + compressor ? "gzip", + _compressorFunction ? + if lib.isFunction compressor then + compressor + else if !builtins.hasContext compressor && builtins.hasAttr compressor compressors then + compressors.${compressor}.executable + else + _: compressor, + _compressorExecutable ? _compressorFunction pkgsBuildHost, + _compressorName ? compressorName _compressorExecutable, + _compressorMeta ? compressors.${_compressorName} or { }, -# List of arguments to pass to the compressor program, or null to use its defaults -, compressorArgs ? null -, _compressorArgsReal ? if compressorArgs == null then _compressorMeta.defaultArgs or [] else compressorArgs + # List of arguments to pass to the compressor program, or null to use its defaults + compressorArgs ? null, + _compressorArgsReal ? + if compressorArgs == null then _compressorMeta.defaultArgs or [ ] else compressorArgs, -# Filename extension to use for the compressed initramfs. This is -# included for clarity, but $out/initrd will always be a symlink to -# the final image. -# If this isn't guessed, you may want to complete the metadata above and send a PR :) -, extension ? _compressorMeta.extension or - (throw "Unrecognised compressor ${_compressorName}, please specify filename extension") + # Filename extension to use for the compressed initramfs. This is + # included for clarity, but $out/initrd will always be a symlink to + # the final image. + # If this isn't guessed, you may want to complete the metadata above and send a PR :) + extension ? + _compressorMeta.extension + or (throw "Unrecognised compressor ${_compressorName}, please specify filename extension"), -# List of { object = path_or_derivation; symlink = "/path"; } -# The paths are copied into the initramfs in their nix store path -# form, then linked at the root according to `symlink`. -, contents + # List of { object = path_or_derivation; symlink = "/path"; } + # The paths are copied into the initramfs in their nix store path + # form, then linked at the root according to `symlink`. + contents, -# List of uncompressed cpio files to prepend to the initramfs. This -# can be used to add files in specified paths without them becoming -# symlinks to store paths. -, prepend ? [] + # List of uncompressed cpio files to prepend to the initramfs. This + # can be used to add files in specified paths without them becoming + # symlinks to store paths. + prepend ? [ ], -# Whether to wrap the initramfs in a u-boot image. -, makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target or "dummy" == "uImage" + # Whether to wrap the initramfs in a u-boot image. + makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target or "dummy" == "uImage", -# If generating a u-boot image, the architecture to use. The default -# guess may not align with u-boot's nomenclature correctly, so it can -# be overridden. -# See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. -, uInitrdArch ? stdenvNoCC.hostPlatform.linuxArch + # If generating a u-boot image, the architecture to use. The default + # guess may not align with u-boot's nomenclature correctly, so it can + # be overridden. + # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. + uInitrdArch ? stdenvNoCC.hostPlatform.linuxArch, -# The name of the compression, as recognised by u-boot. -# See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. -# If this isn't guessed, you may want to complete the metadata above and send a PR :) -, uInitrdCompression ? _compressorMeta.ubootName or - (throw "Unrecognised compressor ${_compressorName}, please specify uInitrdCompression") + # The name of the compression, as recognised by u-boot. + # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. + # If this isn't guessed, you may want to complete the metadata above and send a PR :) + uInitrdCompression ? + _compressorMeta.ubootName + or (throw "Unrecognised compressor ${_compressorName}, please specify uInitrdCompression"), }: let # !!! Move this into a public lib function, it is probably useful for others - toValidStoreName = x: with builtins; - lib.concatStringsSep "-" (filter (x: !(isList x)) (split "[^a-zA-Z0-9_=.?-]+" x)); + toValidStoreName = + x: with builtins; lib.concatStringsSep "-" (filter (x: !(isList x)) (split "[^a-zA-Z0-9_=.?-]+" x)); -in stdenvNoCC.mkDerivation (rec { - inherit name makeUInitrd extension uInitrdArch prepend; +in +stdenvNoCC.mkDerivation ( + rec { + inherit + name + makeUInitrd + extension + uInitrdArch + prepend + ; - builder = ./make-initrd.sh; + builder = ./make-initrd.sh; - nativeBuildInputs = [ perl cpio ] - ++ lib.optional makeUInitrd ubootTools; + nativeBuildInputs = [ + perl + cpio + ] ++ lib.optional makeUInitrd ubootTools; - compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}"; + compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}"; - # Pass the function through, for reuse in append-initrd-secrets. The - # function is used instead of the string, in order to support - # cross-compilation (append-initrd-secrets running on a different - # architecture than what the main initramfs is built on). - passthru = { - compressorExecutableFunction = _compressorFunction; - compressorArgs = _compressorArgsReal; - }; + # Pass the function through, for reuse in append-initrd-secrets. The + # function is used instead of the string, in order to support + # cross-compilation (append-initrd-secrets running on a different + # architecture than what the main initramfs is built on). + passthru = { + compressorExecutableFunction = _compressorFunction; + compressorArgs = _compressorArgsReal; + }; - # !!! should use XML. - objects = map (x: x.object) contents; - symlinks = map (x: x.symlink) contents; - suffices = map (x: if x ? suffix then x.suffix else "none") contents; + # !!! should use XML. + objects = map (x: x.object) contents; + symlinks = map (x: x.symlink) contents; + suffices = map (x: if x ? suffix then x.suffix else "none") contents; - # For obtaining the closure of `contents'. - # Note: we don't use closureInfo yet, as that won't build with nix-1.x. - # See #36268. - exportReferencesGraph = - lib.zipListsWith - (x: i: [("closure-${toValidStoreName (baseNameOf x.symlink)}-${toString i}") x.object]) - contents - (lib.range 0 (lib.length contents - 1)); - pathsFromGraph = ./paths-from-graph.pl; -} // lib.optionalAttrs makeUInitrd { - uInitrdCompression = uInitrdCompression; -}) + # For obtaining the closure of `contents'. + # Note: we don't use closureInfo yet, as that won't build with nix-1.x. + # See #36268. + exportReferencesGraph = lib.zipListsWith (x: i: [ + ("closure-${toValidStoreName (baseNameOf x.symlink)}-${toString i}") + x.object + ]) contents (lib.range 0 (lib.length contents - 1)); + pathsFromGraph = ./paths-from-graph.pl; + } + // lib.optionalAttrs makeUInitrd { + uInitrdCompression = uInitrdCompression; + } +) diff --git a/pkgs/build-support/kernel/modules-closure.nix b/pkgs/build-support/kernel/modules-closure.nix index d82e279799ba3..a830c97eea9a7 100644 --- a/pkgs/build-support/kernel/modules-closure.nix +++ b/pkgs/build-support/kernel/modules-closure.nix @@ -3,13 +3,28 @@ # the modules identified by `rootModules', plus their dependencies. # Also generate an appropriate modules.dep. -{ stdenvNoCC, kernel, firmware, nukeReferences, rootModules -, kmod, allowMissing ? false }: +{ + stdenvNoCC, + kernel, + firmware, + nukeReferences, + rootModules, + kmod, + allowMissing ? false, +}: stdenvNoCC.mkDerivation { name = kernel.name + "-shrunk"; builder = ./modules-closure.sh; - nativeBuildInputs = [ nukeReferences kmod ]; - inherit kernel firmware rootModules allowMissing; - allowedReferences = ["out"]; + nativeBuildInputs = [ + nukeReferences + kmod + ]; + inherit + kernel + firmware + rootModules + allowMissing + ; + allowedReferences = [ "out" ]; } diff --git a/pkgs/build-support/lib/meson.nix b/pkgs/build-support/lib/meson.nix index 9ffc5b8c1710f..501d4315fdff5 100644 --- a/pkgs/build-support/lib/meson.nix +++ b/pkgs/build-support/lib/meson.nix @@ -4,10 +4,15 @@ let inherit (lib) boolToString optionals; # See https://mesonbuild.com/Reference-tables.html#cpu-families - cpuFamily = platform: with platform; - /**/ if isAarch32 then "arm" - else if isx86_32 then "x86" - else platform.uname.processor; + cpuFamily = + platform: + with platform; + if isAarch32 then + "arm" + else if isx86_32 then + "x86" + else + platform.uname.processor; crossFile = builtins.toFile "cross-file.conf" '' [properties] @@ -29,9 +34,16 @@ let cmake = 'cmake' ''; - crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ]; + crossFlags = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--cross-file=${crossFile}" + ]; - makeMesonFlags = { mesonFlags ? [], ... }: crossFlags ++ mesonFlags; + makeMesonFlags = + { + mesonFlags ? [ ], + ... + }: + crossFlags ++ mesonFlags; in { diff --git a/pkgs/build-support/make-darwin-bundle/default.nix b/pkgs/build-support/make-darwin-bundle/default.nix index a80ebf8fac9e6..38999ea064605 100644 --- a/pkgs/build-support/make-darwin-bundle/default.nix +++ b/pkgs/build-support/make-darwin-bundle/default.nix @@ -3,11 +3,16 @@ # applications. If the package conatins a .desktop file use # `desktopToDarwinLauncher` instead. -{ lib, writeShellScript, writeDarwinBundle }: +{ + lib, + writeShellScript, + writeDarwinBundle, +}: -{ name # The name of the Application file. -, exec # Executable file. -, icon ? "" # Optional icon file. +{ + name, # The name of the Application file. + exec, # Executable file. + icon ? "", # Optional icon file. }: writeShellScript "make-darwin-bundle-${name}" ('' diff --git a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix index 752cbbde2a317..9cf7ab277406e 100644 --- a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix +++ b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix @@ -1,4 +1,8 @@ -{ writeScriptBin, lib, makeBinaryWrapper }: +{ + writeScriptBin, + lib, + makeBinaryWrapper, +}: let pListText = lib.generators.toPlist { } { @@ -12,36 +16,37 @@ let CFBundlePackageType = "APPL"; CFBundleSignature = "???"; }; -in writeScriptBin "write-darwin-bundle" '' - shopt -s nullglob +in +writeScriptBin "write-darwin-bundle" '' + shopt -s nullglob - readonly prefix=$1 - readonly name=$2 - # TODO: support executables with spaces in their names - readonly execName=''${3%% *} # Before the first space - [[ $3 =~ " " ]] && readonly execArgs=''${3#* } # Everything after the first space - readonly icon=$4.icns - readonly squircle=''${5:-1} - readonly plist=$prefix/Applications/$name.app/Contents/Info.plist - readonly binary=$prefix/bin/$execName - readonly bundleExecutable=$prefix/Applications/$name.app/Contents/MacOS/$name + readonly prefix=$1 + readonly name=$2 + # TODO: support executables with spaces in their names + readonly execName=''${3%% *} # Before the first space + [[ $3 =~ " " ]] && readonly execArgs=''${3#* } # Everything after the first space + readonly icon=$4.icns + readonly squircle=''${5:-1} + readonly plist=$prefix/Applications/$name.app/Contents/Info.plist + readonly binary=$prefix/bin/$execName + readonly bundleExecutable=$prefix/Applications/$name.app/Contents/MacOS/$name - cat > "$plist" < "$plist" <|d' -i "$plist" - fi + if [[ $squircle == 0 || $squircle == "false" ]]; then + sed '/CFBundleIconFiles/,\||d' -i "$plist" + fi - if [[ -n "$execArgs" ]]; then - ( - source ${makeBinaryWrapper}/nix-support/setup-hook - # WORKAROUND: makeBinaryWrapper fails when -u is set - set +u - makeBinaryWrapper "$binary" "$bundleExecutable" --add-flags "$execArgs" - ) - else - ln -s "$binary" "$bundleExecutable" - fi + if [[ -n "$execArgs" ]]; then + ( + source ${makeBinaryWrapper}/nix-support/setup-hook + # WORKAROUND: makeBinaryWrapper fails when -u is set + set +u + makeBinaryWrapper "$binary" "$bundleExecutable" --add-flags "$execArgs" + ) + else + ln -s "$binary" "$bundleExecutable" + fi '' diff --git a/pkgs/build-support/make-hardcode-gsettings-patch/default.nix b/pkgs/build-support/make-hardcode-gsettings-patch/default.nix index 820b003e3c6fa..f3f7819687887 100644 --- a/pkgs/build-support/make-hardcode-gsettings-patch/default.nix +++ b/pkgs/build-support/make-hardcode-gsettings-patch/default.nix @@ -18,7 +18,6 @@ It will end up in the generated patch as `@EVOLUTION@` placeholder, which should be replaced at build time with a path to the directory containing a `gschemas.compiled` file that includes the schema. - Arguments: - `src`: source to generate the patch for. @@ -57,8 +56,7 @@ schemaIdToVariableMapping, }: -runCommand - "hardcode-gsettings.patch" +runCommand "hardcode-gsettings.patch" { inherit src patches; nativeBuildInputs = [ diff --git a/pkgs/build-support/make-impure-test.nix b/pkgs/build-support/make-impure-test.nix index 84d0b30f426a0..2ff1ed0bcc2d8 100644 --- a/pkgs/build-support/make-impure-test.nix +++ b/pkgs/build-support/make-impure-test.nix @@ -1,4 +1,5 @@ -/* Create tests that run in the nix sandbox with additional access to selected host paths +/* + Create tests that run in the nix sandbox with additional access to selected host paths This is for example useful for testing hardware where a tests needs access to /sys and optionally more. @@ -28,58 +29,62 @@ Rerun an already cached test: $(nix-build -A mypackage.impureTests) --check */ -{ lib -, stdenv -, writeShellScript - -, name -, testedPackage ? null -, testPath ? "${testedPackage}.impureTests.${name}.testDerivation" -, sandboxPaths ? [ "/sys" ] -, prepareRunCommands ? "" -, nixFlags ? [ ] -, testScript -, ... -} @ args: +{ + lib, + stdenv, + writeShellScript, + + name, + testedPackage ? null, + testPath ? "${testedPackage}.impureTests.${name}.testDerivation", + sandboxPaths ? [ "/sys" ], + prepareRunCommands ? "", + nixFlags ? [ ], + testScript, + ... +}@args: let sandboxPathsTests = builtins.map (path: "[[ ! -e '${path}' ]]") sandboxPaths; sandboxPathsTest = lib.concatStringsSep " || " sandboxPathsTests; sandboxPathsList = lib.concatStringsSep " " sandboxPaths; - testDerivation = stdenv.mkDerivation (lib.recursiveUpdate - { - name = "test-run-${name}"; - - requiredSystemFeatures = [ "nixos-test" ]; - - buildCommand = '' - mkdir -p $out - - if ${sandboxPathsTest}; then - echo 'Run this test as *root* with `--option extra-sandbox-paths '"'${sandboxPathsList}'"'`' - exit 1 - fi - - # Run test - ${testScript} - ''; - - passthru.runScript = runScript; - } - (builtins.removeAttrs args [ - "lib" - "stdenv" - "writeShellScript" - - "name" - "testedPackage" - "testPath" - "sandboxPaths" - "prepareRunCommands" - "nixFlags" - "testScript" - ]) + testDerivation = stdenv.mkDerivation ( + lib.recursiveUpdate + { + name = "test-run-${name}"; + + requiredSystemFeatures = [ "nixos-test" ]; + + buildCommand = '' + mkdir -p $out + + if ${sandboxPathsTest}; then + echo 'Run this test as *root* with `--option extra-sandbox-paths '"'${sandboxPathsList}'"'`' + exit 1 + fi + + # Run test + ${testScript} + ''; + + passthru.runScript = runScript; + } + ( + builtins.removeAttrs args [ + "lib" + "stdenv" + "writeShellScript" + + "name" + "testedPackage" + "testPath" + "sandboxPaths" + "prepareRunCommands" + "nixFlags" + "testScript" + ] + ) ); runScript = writeShellScript "run-script-${name}" '' diff --git a/pkgs/build-support/make-pkgconfigitem/default.nix b/pkgs/build-support/make-pkgconfigitem/default.nix index 52c1fd3af9792..d78d1c022f9e0 100644 --- a/pkgs/build-support/make-pkgconfigitem/default.nix +++ b/pkgs/build-support/make-pkgconfigitem/default.nix @@ -1,29 +1,36 @@ -{ lib, writeTextFile, buildPackages }: +{ + lib, + writeTextFile, + buildPackages, +}: # See https://people.freedesktop.org/~dbn/pkg-config-guide.html#concepts -{ name # The name of the pc file +{ + name, # The name of the pc file # keywords # provide a default description for convenience. it's not important but still required by pkg-config. -, description ? "Pkg-config file for ${name}" -, url ? "" -, version ? "" -, requires ? [ ] -, requiresPrivate ? [ ] -, conflicts ? [ ] -, cflags ? [ ] -, libs ? [ ] -, libsPrivate ? [ ] -, variables ? { } + description ? "Pkg-config file for ${name}", + url ? "", + version ? "", + requires ? [ ], + requiresPrivate ? [ ], + conflicts ? [ ], + cflags ? [ ], + libs ? [ ], + libsPrivate ? [ ], + variables ? { }, }: let # only 'out' has to be changed, otherwise it would be replaced by the out of the writeTextFile placeholderToSubstVar = builtins.replaceStrings [ "${placeholder "out"}" ] [ "@out@" ]; - replacePlaceholderAndListToString = x: - if builtins.isList x - then placeholderToSubstVar (builtins.concatStringsSep " " x) - else placeholderToSubstVar x; + replacePlaceholderAndListToString = + x: + if builtins.isList x then + placeholderToSubstVar (builtins.concatStringsSep " " x) + else + placeholderToSubstVar x; keywordsSection = let @@ -42,12 +49,19 @@ let "Libs.private" = mustBeAList libsPrivate "libsPrivate"; }; - renderVariable = name: value: - lib.optionalString (value != "" && value != [ ]) "${name}=${replacePlaceholderAndListToString value}"; - renderKeyword = name: value: - lib.optionalString (value != "" && value != [ ]) "${name}: ${replacePlaceholderAndListToString value}"; + renderVariable = + name: value: + lib.optionalString ( + value != "" && value != [ ] + ) "${name}=${replacePlaceholderAndListToString value}"; + renderKeyword = + name: value: + lib.optionalString ( + value != "" && value != [ ] + ) "${name}: ${replacePlaceholderAndListToString value}"; - renderSomething = renderFunc: attrs: + renderSomething = + renderFunc: attrs: lib.pipe attrs [ (lib.mapAttrsToList renderFunc) (builtins.filter (v: v != "")) @@ -57,7 +71,10 @@ let variablesSectionRendered = renderSomething renderVariable variables; keywordsSectionRendered = renderSomething renderKeyword keywordsSection; - content = [ variablesSectionRendered keywordsSectionRendered ]; + content = [ + variablesSectionRendered + keywordsSectionRendered + ]; in writeTextFile { name = "${name}.pc"; diff --git a/pkgs/build-support/make-startupitem/default.nix b/pkgs/build-support/make-startupitem/default.nix index 1cb7096c1cf2b..03677355b8d68 100644 --- a/pkgs/build-support/make-startupitem/default.nix +++ b/pkgs/build-support/make-startupitem/default.nix @@ -1,15 +1,16 @@ # given a package with a $name.desktop file, makes a copy # as autostart item. -{stdenv, lib}: -{ name # name of the desktop file (without .desktop) -, package # package where the desktop file resides in -, srcPrefix ? "" # additional prefix that the desktop file may have in the 'package' -, after ? null -, condition ? null -, phase ? "2" -, prependExtraArgs ? [] -, appendExtraArgs ? [] +{ stdenv, lib }: +{ + name, # name of the desktop file (without .desktop) + package, # package where the desktop file resides in + srcPrefix ? "", # additional prefix that the desktop file may have in the 'package' + after ? null, + condition ? null, + phase ? "2", + prependExtraArgs ? [ ], + appendExtraArgs ? [ ], }: # the builder requires that @@ -20,23 +21,25 @@ stdenv.mkDerivation { name = "autostart-${name}"; priority = 5; - buildCommand = let - escapeArgs = args: lib.escapeRegex (lib.escapeShellArgs args); - prependArgs = lib.optionalString (prependExtraArgs != []) "${escapeArgs prependExtraArgs} "; - appendArgs = lib.optionalString (appendExtraArgs != []) " ${escapeArgs appendExtraArgs}"; - in '' - mkdir -p $out/etc/xdg/autostart - target=${name}.desktop - cp ${package}/share/applications/${srcPrefix}${name}.desktop $target - ${lib.optionalString (prependExtraArgs != [] || appendExtraArgs != []) '' - sed -i -r "s/(Exec=)([^ \n]*) *(.*)/\1\2 ${prependArgs}\3${appendArgs}/" $target - ''} - chmod +rw $target - echo "X-KDE-autostart-phase=${phase}" >> $target - ${lib.optionalString (after != null) ''echo "${after}" >> $target''} - ${lib.optionalString (condition != null) ''echo "${condition}" >> $target''} - cp $target $out/etc/xdg/autostart - ''; + buildCommand = + let + escapeArgs = args: lib.escapeRegex (lib.escapeShellArgs args); + prependArgs = lib.optionalString (prependExtraArgs != [ ]) "${escapeArgs prependExtraArgs} "; + appendArgs = lib.optionalString (appendExtraArgs != [ ]) " ${escapeArgs appendExtraArgs}"; + in + '' + mkdir -p $out/etc/xdg/autostart + target=${name}.desktop + cp ${package}/share/applications/${srcPrefix}${name}.desktop $target + ${lib.optionalString (prependExtraArgs != [ ] || appendExtraArgs != [ ]) '' + sed -i -r "s/(Exec=)([^ \n]*) *(.*)/\1\2 ${prependArgs}\3${appendArgs}/" $target + ''} + chmod +rw $target + echo "X-KDE-autostart-phase=${phase}" >> $target + ${lib.optionalString (after != null) ''echo "${after}" >> $target''} + ${lib.optionalString (condition != null) ''echo "${condition}" >> $target''} + cp $target $out/etc/xdg/autostart + ''; # this will automatically put 'package' in the environment when you # put its startup item in there. diff --git a/pkgs/build-support/mitm-cache/default.nix b/pkgs/build-support/mitm-cache/default.nix index e3bce225b46b3..80287e60a33a1 100644 --- a/pkgs/build-support/mitm-cache/default.nix +++ b/pkgs/build-support/mitm-cache/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, callPackage -, rustPlatform -, substituteAll -, openssl -, Security -, python3Packages +{ + lib, + stdenv, + fetchFromGitHub, + callPackage, + rustPlatform, + substituteAll, + openssl, + Security, + python3Packages, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/build-support/mitm-cache/fetch.nix b/pkgs/build-support/mitm-cache/fetch.nix index 4e1f24ae7d7b2..fb8798c43bc26 100644 --- a/pkgs/build-support/mitm-cache/fetch.nix +++ b/pkgs/build-support/mitm-cache/fetch.nix @@ -1,49 +1,72 @@ -{ lib -, fetchurl -, runCommand -, writeText +{ + lib, + fetchurl, + runCommand, + writeText, }: -{ name ? "deps" -, data -, dontFixup ? true -, ... -} -@ attrs: +{ + name ? "deps", + data, + dontFixup ? true, + ... +}@attrs: let - data' = builtins.removeAttrs - (if builtins.isPath data then lib.importJSON data else data) - [ "!version" ]; + data' = builtins.removeAttrs (if builtins.isPath data then lib.importJSON data else data) [ + "!version" + ]; - urlToPath = url: - if lib.hasPrefix "https://" url then ( - let - url' = lib.drop 2 (lib.splitString "/" url); - in "https/${builtins.concatStringsSep "/" url'}" - ) - else builtins.replaceStrings ["://"] ["/"] url; - code = '' - mkdir -p "$out" - cd "$out" - '' + builtins.concatStringsSep "" (lib.mapAttrsToList (url: info: - let - key = builtins.head (builtins.attrNames info); - val = info.${key}; - path = urlToPath url; - name = baseNameOf path; - source = { - redirect = "$out/${urlToPath val}"; - hash = fetchurl { inherit url; hash = val; }; - text = writeText name val; - }.${key} or (throw "Unknown key: ${url}"); - in '' - mkdir -p "${dirOf path}" - ln -s "${source}" "${path}" - '') data'); + urlToPath = + url: + if lib.hasPrefix "https://" url then + ( + let + url' = lib.drop 2 (lib.splitString "/" url); + in + "https/${builtins.concatStringsSep "/" url'}" + ) + else + builtins.replaceStrings [ "://" ] [ "/" ] url; + code = + '' + mkdir -p "$out" + cd "$out" + '' + + builtins.concatStringsSep "" ( + lib.mapAttrsToList ( + url: info: + let + key = builtins.head (builtins.attrNames info); + val = info.${key}; + path = urlToPath url; + name = baseNameOf path; + source = + { + redirect = "$out/${urlToPath val}"; + hash = fetchurl { + inherit url; + hash = val; + }; + text = writeText name val; + } + .${key} or (throw "Unknown key: ${url}"); + in + '' + mkdir -p "${dirOf path}" + ln -s "${source}" "${path}" + '' + ) data' + ); in - runCommand name (builtins.removeAttrs attrs [ "name" "data" ] // { - passthru = (attrs.passthru or {}) // { +runCommand name ( + builtins.removeAttrs attrs [ + "name" + "data" + ] + // { + passthru = (attrs.passthru or { }) // { data = writeText "deps.json" (builtins.toJSON data); }; - }) code + } +) code diff --git a/pkgs/build-support/nix-gitignore/default.nix b/pkgs/build-support/nix-gitignore/default.nix index 849720675c892..60a854225e105 100644 --- a/pkgs/build-support/nix-gitignore/default.nix +++ b/pkgs/build-support/nix-gitignore/default.nix @@ -30,36 +30,58 @@ let trace ; - inherit (lib.strings) match split typeOf; debug = a: trace a a; last = l: elemAt l ((length l) - 1); -in rec { +in +rec { # [["good/relative/source/file" true] ["bad.tmpfile" false]] -> root -> path - filterPattern = patterns: root: - (name: _type: + filterPattern = + patterns: root: + ( + name: _type: let relPath = removePrefix ((toString root) + "/") name; matches = pair: (match (head pair) relPath) != null; - matched = map (pair: [(matches pair) (last pair)]) patterns; + matched = map (pair: [ + (matches pair) + (last pair) + ]) patterns; in - last (last ([[true true]] ++ (filter head matched))) + last ( + last ( + [ + [ + true + true + ] + ] + ++ (filter head matched) + ) + ) ); # string -> [[regex bool]] - gitignoreToPatterns = gitignore: + gitignoreToPatterns = + gitignore: let # ignore -> bool isComment = i: (match "^(#.*|$)" i) != null; # ignore -> [ignore bool] - computeNegation = l: - let split = match "^(!?)(.*)" l; - in [(elemAt split 1) (head split == "!")]; + computeNegation = + l: + let + split = match "^(!?)(.*)" l; + in + [ + (elemAt split 1) + (head split == "!") + ]; # regex -> regex - handleHashesBangs = replaceStrings ["\\#" "\\!"] ["#" "!"]; + handleHashesBangs = replaceStrings [ "\\#" "\\!" ] [ "#" "!" ]; # ignore -> regex substWildcards = @@ -67,74 +89,106 @@ in rec { special = "^$.+{}()"; escs = "\\*?"; splitString = - let recurse = str : [(substring 0 1 str)] ++ - (optionals (str != "") (recurse (substring 1 (stringLength(str)) str) )); - in str : recurse str; + let + recurse = + str: + [ (substring 0 1 str) ] ++ (optionals (str != "") (recurse (substring 1 (stringLength (str)) str))); + in + str: recurse str; chars = s: filter (c: c != "" && !isList c) (splitString s); escape = s: map (c: "\\" + c) (chars s); in - replaceStrings - ((chars special) ++ (escape escs) ++ ["**/" "**" "*" "?"]) - ((escape special) ++ (escape escs) ++ ["(.*/)?" ".*" "[^/]*" "[^/]"]); + replaceStrings + ( + (chars special) + ++ (escape escs) + ++ [ + "**/" + "**" + "*" + "?" + ] + ) + ( + (escape special) + ++ (escape escs) + ++ [ + "(.*/)?" + ".*" + "[^/]*" + "[^/]" + ] + ); # (regex -> regex) -> regex -> regex - mapAroundCharclass = f: r: # rl = regex or list - let slightFix = replaceStrings ["\\]"] ["]"]; + mapAroundCharclass = + f: r: # rl = regex or list + let + slightFix = replaceStrings [ "\\]" ] [ "]" ]; in - concatStringsSep "" - (map (rl: if isList rl then slightFix (elemAt rl 0) else f rl) - (split "(\\[([^\\\\]|\\\\.)+])" r)); + concatStringsSep "" ( + map (rl: if isList rl then slightFix (elemAt rl 0) else f rl) (split "(\\[([^\\\\]|\\\\.)+])" r) + ); # regex -> regex - handleSlashPrefix = l: + handleSlashPrefix = + l: let split = (match "^(/?)(.*)" l); findSlash = l: optionalString ((match ".+/.+" l) == null) l; hasSlash = mapAroundCharclass findSlash l != l; in - (if (elemAt split 0) == "/" || hasSlash - then "^" - else "(^|.*/)" - ) + (elemAt split 1); + (if (elemAt split 0) == "/" || hasSlash then "^" else "(^|.*/)") + (elemAt split 1); # regex -> regex - handleSlashSuffix = l: - let split = (match "^(.*)/$" l); - in if split != null then (elemAt split 0) + "($|/.*)" else l; + handleSlashSuffix = + l: + let + split = (match "^(.*)/$" l); + in + if split != null then (elemAt split 0) + "($|/.*)" else l; # (regex -> regex) -> [regex, bool] -> [regex, bool] - mapPat = f: l: [(f (head l)) (last l)]; + mapPat = f: l: [ + (f (head l)) + (last l) + ]; in - map (l: # `l' for "line" - mapPat (l: handleSlashSuffix (handleSlashPrefix (handleHashesBangs (mapAroundCharclass substWildcards l)))) - (computeNegation l)) - (filter (l: !isList l && !isComment l) - (split "\n" gitignore)); + map ( + l: # `l' for "line" + mapPat ( + l: handleSlashSuffix (handleSlashPrefix (handleHashesBangs (mapAroundCharclass substWildcards l))) + ) (computeNegation l) + ) (filter (l: !isList l && !isComment l) (split "\n" gitignore)); gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root; # string|[string|file] (→ [string|file] → [string]) -> string - gitignoreCompileIgnore = file_str_patterns: root: + gitignoreCompileIgnore = + file_str_patterns: root: let onPath = f: a: if typeOf a == "path" then f a else a; str_patterns = map (onPath readFile) (toList file_str_patterns); - in concatStringsSep "\n" str_patterns; + in + concatStringsSep "\n" str_patterns; - gitignoreFilterPure = predicate: patterns: root: name: type: - gitignoreFilter (gitignoreCompileIgnore patterns root) root name type - && predicate name type; + gitignoreFilterPure = + predicate: patterns: root: name: type: + gitignoreFilter (gitignoreCompileIgnore patterns root) root name type && predicate name type; # This is a very hacky way of programming this! # A better way would be to reuse existing filtering by making multiple gitignore functions per each root. # Then for each file find the set of roots with gitignores (and functions). # This would make gitignoreFilterSource very different from gitignoreFilterPure. # rootPath → gitignoresConcatenated - compileRecursiveGitignore = root: + compileRecursiveGitignore = + root: let dirOrIgnore = file: type: baseNameOf file == ".gitignore" || type == "directory"; ignores = builtins.filterSource dirOrIgnore root; - in readFile ( - runCommand "${baseNameOf root}-recursive-gitignore" {} '' + in + readFile ( + runCommand "${baseNameOf root}-recursive-gitignore" { } '' cd ${ignores} find -type f -exec sh -c ' @@ -165,34 +219,40 @@ in rec { END { print \"\" } " "$1" ' sh {} \; > $out - ''); + '' + ); - withGitignoreFile = patterns: root: - toList patterns ++ [ ".git" ] ++ [(root + "/.gitignore")]; + withGitignoreFile = patterns: root: toList patterns ++ [ ".git" ] ++ [ (root + "/.gitignore") ]; - withRecursiveGitignoreFile = patterns: root: - toList patterns ++ [ ".git" ] ++ [(compileRecursiveGitignore root)]; + withRecursiveGitignoreFile = + patterns: root: toList patterns ++ [ ".git" ] ++ [ (compileRecursiveGitignore root) ]; # filterSource derivatives - gitignoreFilterSourcePure = predicate: patterns: root: + gitignoreFilterSourcePure = + predicate: patterns: root: filterSource (gitignoreFilterPure predicate patterns root) root; - gitignoreFilterSource = predicate: patterns: root: + gitignoreFilterSource = + predicate: patterns: root: gitignoreFilterSourcePure predicate (withGitignoreFile patterns root) root; - gitignoreFilterRecursiveSource = predicate: patterns: root: + gitignoreFilterRecursiveSource = + predicate: patterns: root: gitignoreFilterSourcePure predicate (withRecursiveGitignoreFile patterns root) root; # "Predicate"-less alternatives gitignoreSourcePure = gitignoreFilterSourcePure (_: _: true); - gitignoreSource = patterns: let type = typeOf patterns; in - if (type == "string" && pathExists patterns) || type == "path" - then throw - "type error in gitignoreSource(patterns -> source -> path), " - "use [] or \"\" if there are no additional patterns" - else gitignoreFilterSource (_: _: true) patterns; + gitignoreSource = + patterns: + let + type = typeOf patterns; + in + if (type == "string" && pathExists patterns) || type == "path" then + throw "type error in gitignoreSource(patterns -> source -> path), " "use [] or \"\" if there are no additional patterns" + else + gitignoreFilterSource (_: _: true) patterns; gitignoreRecursiveSource = gitignoreFilterSourcePure (_: _: true); } diff --git a/pkgs/build-support/node/build-npm-package/default.nix b/pkgs/build-support/node/build-npm-package/default.nix index 372124829b092..cef4de9f98f7c 100644 --- a/pkgs/build-support/node/build-npm-package/default.nix +++ b/pkgs/build-support/node/build-npm-package/default.nix @@ -1,63 +1,75 @@ -{ lib -, stdenv -, fetchNpmDeps -, buildPackages -, nodejs -, cctools -} @ topLevelArgs: +{ + lib, + stdenv, + fetchNpmDeps, + buildPackages, + nodejs, + cctools, +}@topLevelArgs: -{ name ? "${args.pname}-${args.version}" -, src ? null -, srcs ? null -, sourceRoot ? null -, prePatch ? "" -, patches ? [ ] -, postPatch ? "" -, patchFlags ? [] -, nativeBuildInputs ? [ ] -, buildInputs ? [ ] +{ + name ? "${args.pname}-${args.version}", + src ? null, + srcs ? null, + sourceRoot ? null, + prePatch ? "", + patches ? [ ], + postPatch ? "", + patchFlags ? [ ], + nativeBuildInputs ? [ ], + buildInputs ? [ ], # The output hash of the dependencies for this project. # Can be calculated in advance with prefetch-npm-deps. -, npmDepsHash ? "" + npmDepsHash ? "", # Whether to force the usage of Git dependencies that have install scripts, but not a lockfile. # Use with care. -, forceGitDeps ? false + forceGitDeps ? false, # Whether to force allow an empty dependency cache. # This can be enabled if there are truly no remote dependencies, but generally an empty cache indicates something is wrong. -, forceEmptyCache ? false + forceEmptyCache ? false, # Whether to make the cache writable prior to installing dependencies. # Don't set this unless npm tries to write to the cache directory, as it can slow down the build. -, makeCacheWritable ? false + makeCacheWritable ? false, # The script to run to build the project. -, npmBuildScript ? "build" + npmBuildScript ? "build", # Flags to pass to all npm commands. -, npmFlags ? [ ] + npmFlags ? [ ], # Flags to pass to `npm ci`. -, npmInstallFlags ? [ ] + npmInstallFlags ? [ ], # Flags to pass to `npm rebuild`. -, npmRebuildFlags ? [ ] + npmRebuildFlags ? [ ], # Flags to pass to `npm run ${npmBuildScript}`. -, npmBuildFlags ? [ ] + npmBuildFlags ? [ ], # Flags to pass to `npm pack`. -, npmPackFlags ? [ ] + npmPackFlags ? [ ], # Flags to pass to `npm prune`. -, npmPruneFlags ? npmInstallFlags + npmPruneFlags ? npmInstallFlags, # Value for npm `--workspace` flag and directory in which the files to be installed are found. -, npmWorkspace ? null -, nodejs ? topLevelArgs.nodejs -, npmDeps ? fetchNpmDeps { - inherit forceGitDeps forceEmptyCache src srcs sourceRoot prePatch patches postPatch patchFlags; - name = "${name}-npm-deps"; - hash = npmDepsHash; -} + npmWorkspace ? null, + nodejs ? topLevelArgs.nodejs, + npmDeps ? fetchNpmDeps { + inherit + forceGitDeps + forceEmptyCache + src + srcs + sourceRoot + prePatch + patches + postPatch + patchFlags + ; + name = "${name}-npm-deps"; + hash = npmDepsHash; + }, # Custom npmConfigHook -, npmConfigHook ? null + npmConfigHook ? null, # Custom npmBuildHook -, npmBuildHook ? null + npmBuildHook ? null, # Custom npmInstallHook -, npmInstallHook ? null -, ... -} @ args: + npmInstallHook ? null, + ... +}@args: let # .override {} negates splicing, so we need to use buildPackages explicitly @@ -65,25 +77,31 @@ let inherit nodejs; }; in -stdenv.mkDerivation (args // { - inherit npmDeps npmBuildScript; +stdenv.mkDerivation ( + args + // { + inherit npmDeps npmBuildScript; - nativeBuildInputs = nativeBuildInputs - ++ [ - nodejs - # Prefer passed hooks - (if npmConfigHook != null then npmConfigHook else npmHooks.npmConfigHook) - (if npmBuildHook != null then npmBuildHook else npmHooks.npmBuildHook) - (if npmInstallHook != null then npmInstallHook else npmHooks.npmInstallHook) - nodejs.python - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; - buildInputs = buildInputs ++ [ nodejs ]; + nativeBuildInputs = + nativeBuildInputs + ++ [ + nodejs + # Prefer passed hooks + (if npmConfigHook != null then npmConfigHook else npmHooks.npmConfigHook) + (if npmBuildHook != null then npmBuildHook else npmHooks.npmBuildHook) + (if npmInstallHook != null then npmInstallHook else npmHooks.npmInstallHook) + nodejs.python + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; + buildInputs = buildInputs ++ [ nodejs ]; - strictDeps = true; + strictDeps = true; - # Stripping takes way too long with the amount of files required by a typical Node.js project. - dontStrip = args.dontStrip or true; + # Stripping takes way too long with the amount of files required by a typical Node.js project. + dontStrip = args.dontStrip or true; - meta = (args.meta or { }) // { platforms = args.meta.platforms or nodejs.meta.platforms; }; -}) + meta = (args.meta or { }) // { + platforms = args.meta.platforms or nodejs.meta.platforms; + }; + } +) diff --git a/pkgs/build-support/node/build-npm-package/hooks/default.nix b/pkgs/build-support/node/build-npm-package/hooks/default.nix index 7a4fed30f5d52..f7cb4aded0e23 100644 --- a/pkgs/build-support/node/build-npm-package/hooks/default.nix +++ b/pkgs/build-support/node/build-npm-package/hooks/default.nix @@ -1,51 +1,49 @@ -{ lib -, srcOnly -, makeSetupHook -, makeWrapper -, nodejs -, jq -, prefetch-npm-deps -, diffutils -, installShellFiles -, nodejsInstallManuals -, nodejsInstallExecutables +{ + lib, + srcOnly, + makeSetupHook, + makeWrapper, + nodejs, + jq, + prefetch-npm-deps, + diffutils, + installShellFiles, + nodejsInstallManuals, + nodejsInstallExecutables, }: { - npmConfigHook = makeSetupHook - { - name = "npm-config-hook"; - substitutions = { - nodeSrc = srcOnly nodejs; - nodeGyp = "${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"; + npmConfigHook = makeSetupHook { + name = "npm-config-hook"; + substitutions = { + nodeSrc = srcOnly nodejs; + nodeGyp = "${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"; - # Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build - # inputs do not cause us to find the wrong binaries. - diff = "${diffutils}/bin/diff"; - jq = "${jq}/bin/jq"; - prefetchNpmDeps = "${prefetch-npm-deps}/bin/prefetch-npm-deps"; + # Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build + # inputs do not cause us to find the wrong binaries. + diff = "${diffutils}/bin/diff"; + jq = "${jq}/bin/jq"; + prefetchNpmDeps = "${prefetch-npm-deps}/bin/prefetch-npm-deps"; - nodeVersion = nodejs.version; - nodeVersionMajor = lib.versions.major nodejs.version; - }; - } ./npm-config-hook.sh; + nodeVersion = nodejs.version; + nodeVersionMajor = lib.versions.major nodejs.version; + }; + } ./npm-config-hook.sh; - npmBuildHook = makeSetupHook - { - name = "npm-build-hook"; - } ./npm-build-hook.sh; + npmBuildHook = makeSetupHook { + name = "npm-build-hook"; + } ./npm-build-hook.sh; - npmInstallHook = makeSetupHook - { - name = "npm-install-hook"; - propagatedBuildInputs = [ - installShellFiles - makeWrapper - nodejsInstallManuals - nodejsInstallExecutables - ]; - substitutions = { - jq = "${jq}/bin/jq"; - }; - } ./npm-install-hook.sh; + npmInstallHook = makeSetupHook { + name = "npm-install-hook"; + propagatedBuildInputs = [ + installShellFiles + makeWrapper + nodejsInstallManuals + nodejsInstallExecutables + ]; + substitutions = { + jq = "${jq}/bin/jq"; + }; + } ./npm-install-hook.sh; } diff --git a/pkgs/build-support/node/import-npm-lock/default.nix b/pkgs/build-support/node/import-npm-lock/default.nix index 3c26b98d3992c..6e4d19914b70e 100644 --- a/pkgs/build-support/node/import-npm-lock/default.nix +++ b/pkgs/build-support/node/import-npm-lock/default.nix @@ -1,12 +1,18 @@ -{ lib -, fetchurl -, stdenv -, callPackages -, runCommand +{ + lib, + fetchurl, + stdenv, + callPackages, + runCommand, }: let - inherit (builtins) match elemAt toJSON removeAttrs; + inherit (builtins) + match + elemAt + toJSON + removeAttrs + ; inherit (lib) importJSON mapAttrs; matchGitHubReference = match "github(.com)?:.+"; @@ -15,10 +21,12 @@ let # Fetch a module from package-lock.json -> packages fetchModule = - { module - , npmRoot ? null - , fetcherOpts - }: ( + { + module, + npmRoot ? null, + fetcherOpts, + }: + ( if module ? "resolved" then ( let @@ -29,27 +37,32 @@ let ( if mUrl == null then ( - assert npmRoot != null; { + assert npmRoot != null; + { outPath = npmRoot + "/${module.resolved}"; } ) else if (scheme == "http" || scheme == "https") then - ( - fetchurl ({ + (fetchurl ( + { url = module.resolved; hash = module.integrity; - } // fetcherOpts ) - ) + } + // fetcherOpts + )) else if lib.hasPrefix "git" module.resolved then - ( - builtins.fetchGit ({ + (builtins.fetchGit ( + { url = module.resolved; - } // fetcherOpts ) - ) - else throw "Unsupported URL scheme: ${scheme}" + } + // fetcherOpts + )) + else + throw "Unsupported URL scheme: ${scheme}" ) ) - else null + else + null ); cleanModule = lib.flip removeAttrs [ @@ -63,65 +76,78 @@ let in lib.fix (self: { importNpmLock = - { npmRoot ? null - , package ? importJSON (npmRoot + "/package.json") - , packageLock ? importJSON (npmRoot + "/package-lock.json") - , pname ? getName package - , version ? getVersion package - # A map of additional fetcher options forwarded to the fetcher used to download the package. - # Example: { "node_modules/axios" = { curlOptsList = [ "--verbose" ]; }; } - # This will download the axios package with curl's verbose option. - , fetcherOpts ? {} - # A map from node_module path to an alternative package to use instead of fetching the source in package-lock.json. - # Example: { "node_modules/axios" = stdenv.mkDerivation { ... }; } - # This is usefull if you want to inject custom sources for a specific package. - , packageSourceOverrides ? {} + { + npmRoot ? null, + package ? importJSON (npmRoot + "/package.json"), + packageLock ? importJSON (npmRoot + "/package-lock.json"), + pname ? getName package, + version ? getVersion package, + # A map of additional fetcher options forwarded to the fetcher used to download the package. + # Example: { "node_modules/axios" = { curlOptsList = [ "--verbose" ]; }; } + # This will download the axios package with curl's verbose option. + fetcherOpts ? { }, + # A map from node_module path to an alternative package to use instead of fetching the source in package-lock.json. + # Example: { "node_modules/axios" = stdenv.mkDerivation { ... }; } + # This is usefull if you want to inject custom sources for a specific package. + packageSourceOverrides ? { }, }: let - mapLockDependencies = - mapAttrs - (name: version: ( - # Substitute the constraint with the version of the dependency from the top-level of package-lock. - if ( + mapLockDependencies = mapAttrs ( + name: version: + ( + # Substitute the constraint with the version of the dependency from the top-level of package-lock. + if + ( # if the version is `latest` version == "latest" || - # Or if it's a github reference - matchGitHubReference version != null - ) then packageLock'.packages.${"node_modules/${name}"}.version - # But not a regular version constraint - else version - )); + # Or if it's a github reference + matchGitHubReference version != null + ) + then + packageLock'.packages.${"node_modules/${name}"}.version + # But not a regular version constraint + else + version + ) + ); packageLock' = packageLock // { - packages = - mapAttrs - (modulePath: module: - let - src = packageSourceOverrides.${modulePath} or (fetchModule { - inherit module npmRoot; - fetcherOpts = fetcherOpts.${modulePath} or {}; - }); - in - cleanModule module - // lib.optionalAttrs (src != null) { - resolved = "file:${src}"; - } // lib.optionalAttrs (module ? dependencies) { - dependencies = mapLockDependencies module.dependencies; - } // lib.optionalAttrs (module ? optionalDependencies) { - optionalDependencies = mapLockDependencies module.optionalDependencies; - }) - packageLock.packages; + packages = mapAttrs ( + modulePath: module: + let + src = + packageSourceOverrides.${modulePath} or (fetchModule { + inherit module npmRoot; + fetcherOpts = fetcherOpts.${modulePath} or { }; + }); + in + cleanModule module + // lib.optionalAttrs (src != null) { + resolved = "file:${src}"; + } + // lib.optionalAttrs (module ? dependencies) { + dependencies = mapLockDependencies module.dependencies; + } + // lib.optionalAttrs (module ? optionalDependencies) { + optionalDependencies = mapLockDependencies module.optionalDependencies; + } + ) packageLock.packages; }; - mapPackageDependencies = mapAttrs (name: _: packageLock'.packages.${"node_modules/${name}"}.resolved); + mapPackageDependencies = mapAttrs ( + name: _: packageLock'.packages.${"node_modules/${name}"}.resolved + ); # Substitute dependency references in package.json with Nix store paths - packageJSON' = package // lib.optionalAttrs (package ? dependencies) { - dependencies = mapPackageDependencies package.dependencies; - } // lib.optionalAttrs (package ? devDependencies) { - devDependencies = mapPackageDependencies package.devDependencies; - }; + packageJSON' = + package + // lib.optionalAttrs (package ? dependencies) { + dependencies = mapPackageDependencies package.dependencies; + } + // lib.optionalAttrs (package ? devDependencies) { + devDependencies = mapPackageDependencies package.devDependencies; + }; pname = package.name or "unknown"; @@ -130,59 +156,73 @@ lib.fix (self: { { inherit pname version; - passAsFile = [ "package" "packageLock" ]; + passAsFile = [ + "package" + "packageLock" + ]; package = toJSON packageJSON'; packageLock = toJSON packageLock'; - } '' - mkdir $out - cp "$packagePath" $out/package.json - cp "$packageLockPath" $out/package-lock.json - ''; + } + '' + mkdir $out + cp "$packagePath" $out/package.json + cp "$packageLockPath" $out/package-lock.json + ''; # Build node modules from package.json & package-lock.json buildNodeModules = - { npmRoot ? null - , package ? importJSON (npmRoot + "/package.json") - , packageLock ? importJSON (npmRoot + "/package-lock.json") - , nodejs - , derivationArgs ? { } + { + npmRoot ? null, + package ? importJSON (npmRoot + "/package.json"), + packageLock ? importJSON (npmRoot + "/package-lock.json"), + nodejs, + derivationArgs ? { }, }: - stdenv.mkDerivation ({ - pname = derivationArgs.pname or "${getName package}-node-modules"; - version = derivationArgs.version or getVersion package; - - dontUnpack = true; - - npmDeps = self.importNpmLock { - inherit npmRoot package packageLock; - }; - - package = toJSON package; - packageLock = toJSON packageLock; - - installPhase = '' - runHook preInstall - mkdir $out - cp package.json $out/ - cp package-lock.json $out/ - [[ -d node_modules ]] && mv node_modules $out/ - runHook postInstall - ''; - } // derivationArgs // { - nativeBuildInputs = [ - nodejs - nodejs.passthru.python - hooks.npmConfigHook - ] ++ derivationArgs.nativeBuildInputs or [ ]; - - passAsFile = [ "package" "packageLock" ] ++ derivationArgs.passAsFile or [ ]; - - postPatch = '' - cp --no-preserve=mode "$packagePath" package.json - cp --no-preserve=mode "$packageLockPath" package-lock.json - '' + derivationArgs.postPatch or ""; - }); + stdenv.mkDerivation ( + { + pname = derivationArgs.pname or "${getName package}-node-modules"; + version = derivationArgs.version or getVersion package; + + dontUnpack = true; + + npmDeps = self.importNpmLock { + inherit npmRoot package packageLock; + }; + + package = toJSON package; + packageLock = toJSON packageLock; + + installPhase = '' + runHook preInstall + mkdir $out + cp package.json $out/ + cp package-lock.json $out/ + [[ -d node_modules ]] && mv node_modules $out/ + runHook postInstall + ''; + } + // derivationArgs + // { + nativeBuildInputs = [ + nodejs + nodejs.passthru.python + hooks.npmConfigHook + ] ++ derivationArgs.nativeBuildInputs or [ ]; + + passAsFile = [ + "package" + "packageLock" + ] ++ derivationArgs.passAsFile or [ ]; + + postPatch = + '' + cp --no-preserve=mode "$packagePath" package.json + cp --no-preserve=mode "$packageLockPath" package-lock.json + '' + + derivationArgs.postPatch or ""; + } + ); inherit hooks; inherit (hooks) npmConfigHook linkNodeModulesHook; diff --git a/pkgs/build-support/node/import-npm-lock/hooks/default.nix b/pkgs/build-support/node/import-npm-lock/hooks/default.nix index 0140ebf2d4702..4a54628e1d645 100644 --- a/pkgs/build-support/node/import-npm-lock/hooks/default.nix +++ b/pkgs/build-support/node/import-npm-lock/hooks/default.nix @@ -1,23 +1,27 @@ -{ callPackage, lib, makeSetupHook, srcOnly, nodejs }: { - npmConfigHook = makeSetupHook - { - name = "npm-config-hook"; - substitutions = { - nodeSrc = srcOnly nodejs; - nodeGyp = "${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"; - canonicalizeSymlinksScript = ./canonicalize-symlinks.js; - storePrefix = builtins.storeDir; - }; - } ./npm-config-hook.sh; + callPackage, + lib, + makeSetupHook, + srcOnly, + nodejs, +}: +{ + npmConfigHook = makeSetupHook { + name = "npm-config-hook"; + substitutions = { + nodeSrc = srcOnly nodejs; + nodeGyp = "${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"; + canonicalizeSymlinksScript = ./canonicalize-symlinks.js; + storePrefix = builtins.storeDir; + }; + } ./npm-config-hook.sh; - linkNodeModulesHook = makeSetupHook - { - name = "node-modules-hook.sh"; - substitutions = { - nodejs = lib.getExe nodejs; - script = ./link-node-modules.js; - storePrefix = builtins.storeDir; - }; - } ./link-node-modules-hook.sh; + linkNodeModulesHook = makeSetupHook { + name = "node-modules-hook.sh"; + substitutions = { + nodejs = lib.getExe nodejs; + script = ./link-node-modules.js; + storePrefix = builtins.storeDir; + }; + } ./link-node-modules-hook.sh; } diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix index fbf732958a45f..1d77d1c1e9b6e 100644 --- a/pkgs/build-support/ocaml/dune.nix +++ b/pkgs/build-support/ocaml/dune.nix @@ -1,50 +1,88 @@ -{ lib, stdenv, ocaml, findlib, dune_1, dune_2, dune_3 }: +{ + lib, + stdenv, + ocaml, + findlib, + dune_1, + dune_2, + dune_3, +}: -{ pname, version, nativeBuildInputs ? [], enableParallelBuilding ? true, ... }@args: +{ + pname, + version, + nativeBuildInputs ? [ ], + enableParallelBuilding ? true, + ... +}@args: -let Dune = - let dune-version = args.duneVersion or "3"; in - { "1" = dune_1; "2" = dune_2; "3" = dune_3; }."${dune-version}"; +let + Dune = + let + dune-version = args.duneVersion or "3"; + in + { + "1" = dune_1; + "2" = dune_2; + "3" = dune_3; + } + ."${dune-version}"; stdenv' = args.stdenv or stdenv; in -if args ? minimalOCamlVersion && lib.versionOlder ocaml.version args.minimalOCamlVersion -then throw "${pname}-${version} is not available for OCaml ${ocaml.version}" +if args ? minimalOCamlVersion && lib.versionOlder ocaml.version args.minimalOCamlVersion then + throw "${pname}-${version} is not available for OCaml ${ocaml.version}" else -stdenv'.mkDerivation ({ + stdenv'.mkDerivation ( + { - inherit enableParallelBuilding; - dontAddStaticConfigureFlags = true; - configurePlatforms = []; + inherit enableParallelBuilding; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; - buildPhase = '' - runHook preBuild - dune build -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} - runHook postBuild - ''; - checkPhase = '' - runHook preCheck - dune runtest -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} - runHook postCheck - ''; - installPhase = '' - runHook preInstall - dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${pname} \ - ${if lib.versionAtLeast Dune.version "2.9" - then "--docdir $out/share/doc --mandir $out/share/man" - else ""} - runHook postInstall - ''; + buildPhase = '' + runHook preBuild + dune build -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + runHook postBuild + ''; + checkPhase = '' + runHook preCheck + dune runtest -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + runHook postCheck + ''; + installPhase = '' + runHook preInstall + dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${pname} \ + ${ + if lib.versionAtLeast Dune.version "2.9" then + "--docdir $out/share/doc --mandir $out/share/man" + else + "" + } + runHook postInstall + ''; - strictDeps = true; + strictDeps = true; -} // (builtins.removeAttrs args [ "minimalOCamlVersion" "duneVersion" ]) // { + } + // (builtins.removeAttrs args [ + "minimalOCamlVersion" + "duneVersion" + ]) + // { - name = "ocaml${ocaml.version}-${pname}-${version}"; + name = "ocaml${ocaml.version}-${pname}-${version}"; - nativeBuildInputs = [ ocaml Dune findlib ] ++ nativeBuildInputs; + nativeBuildInputs = [ + ocaml + Dune + findlib + ] ++ nativeBuildInputs; - meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; }; + meta = (args.meta or { }) // { + platforms = args.meta.platforms or ocaml.meta.platforms; + }; -}) + } + ) diff --git a/pkgs/build-support/ocaml/oasis.nix b/pkgs/build-support/ocaml/oasis.nix index 91daad59050d4..f4319fcd99cea 100644 --- a/pkgs/build-support/ocaml/oasis.nix +++ b/pkgs/build-support/ocaml/oasis.nix @@ -1,46 +1,66 @@ -{ lib, stdenv, ocaml_oasis, ocaml, findlib, ocamlbuild }: +{ + lib, + stdenv, + ocaml_oasis, + ocaml, + findlib, + ocamlbuild, +}: -{ pname, version, nativeBuildInputs ? [], meta ? { platforms = ocaml.meta.platforms or []; }, +{ + pname, + version, + nativeBuildInputs ? [ ], + meta ? { + platforms = ocaml.meta.platforms or [ ]; + }, minimumOCamlVersion ? null, createFindlibDestdir ? true, dontStrip ? true, ... }@args: -if args ? minimumOCamlVersion && - lib.versionOlder ocaml.version args.minimumOCamlVersion -then throw "${pname}-${version} is not available for OCaml ${ocaml.version}" +if args ? minimumOCamlVersion && lib.versionOlder ocaml.version args.minimumOCamlVersion then + throw "${pname}-${version} is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation (args // { - name = "ocaml${ocaml.version}-${pname}-${version}"; + stdenv.mkDerivation ( + args + // { + name = "ocaml${ocaml.version}-${pname}-${version}"; - nativeBuildInputs = [ ocaml findlib ocamlbuild ocaml_oasis ] ++ nativeBuildInputs; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ocaml_oasis + ] ++ nativeBuildInputs; - inherit createFindlibDestdir; - inherit dontStrip; + inherit createFindlibDestdir; + inherit dontStrip; - strictDeps = true; + strictDeps = true; - buildPhase = '' - runHook preBuild - oasis setup - ocaml setup.ml -configure --prefix $OCAMLFIND_DESTDIR --exec-prefix $out - ocaml setup.ml -build - runHook postBuild - ''; + buildPhase = '' + runHook preBuild + oasis setup + ocaml setup.ml -configure --prefix $OCAMLFIND_DESTDIR --exec-prefix $out + ocaml setup.ml -build + runHook postBuild + ''; - checkPhase = '' - runHook preCheck - ocaml setup.ml -test - runHook postCheck - ''; + checkPhase = '' + runHook preCheck + ocaml setup.ml -test + runHook postCheck + ''; - installPhase = '' - runHook preInstall - mkdir -p $out - ocaml setup.ml -install - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out + ocaml setup.ml -install + runHook postInstall + ''; -}) + } + ) diff --git a/pkgs/build-support/ocaml/topkg.nix b/pkgs/build-support/ocaml/topkg.nix index 73be5815e44c7..4b387b16ed847 100644 --- a/pkgs/build-support/ocaml/topkg.nix +++ b/pkgs/build-support/ocaml/topkg.nix @@ -1,28 +1,53 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, cmdliner, odoc, b0 +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + topkg, + ocamlbuild, + cmdliner, + odoc, + b0, }: -{ pname, version, nativeBuildInputs ? [ ], buildInputs ? [ ], ... }@args: - -lib.throwIf (args ? minimalOCamlVersion - && lib.versionOlder ocaml.version args.minimalOCamlVersion) -"${pname}-${version} is not available for OCaml ${ocaml.version}" - -stdenv.mkDerivation ({ - - dontAddStaticConfigureFlags = true; - configurePlatforms = [ ]; - strictDeps = true; - inherit (topkg) buildPhase installPhase; - -} // (builtins.removeAttrs args [ "minimalOCamlVersion" ]) // { - - name = "ocaml${ocaml.version}-${pname}-${version}"; - - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ] ++ nativeBuildInputs; - buildInputs = [ topkg ] ++ buildInputs; - - meta = (args.meta or { }) // { - platforms = args.meta.platforms or ocaml.meta.platforms; - }; - -}) +{ + pname, + version, + nativeBuildInputs ? [ ], + buildInputs ? [ ], + ... +}@args: + +lib.throwIf (args ? minimalOCamlVersion && lib.versionOlder ocaml.version args.minimalOCamlVersion) + "${pname}-${version} is not available for OCaml ${ocaml.version}" + + stdenv.mkDerivation + ( + { + + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; + + } + // (builtins.removeAttrs args [ "minimalOCamlVersion" ]) + // { + + name = "ocaml${ocaml.version}-${pname}-${version}"; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ] ++ nativeBuildInputs; + buildInputs = [ topkg ] ++ buildInputs; + + meta = (args.meta or { }) // { + platforms = args.meta.platforms or ocaml.meta.platforms; + }; + + } + ) diff --git a/pkgs/build-support/oci-tools/default.nix b/pkgs/build-support/oci-tools/default.nix index 1f5507f2eb753..a9b67878d791f 100644 --- a/pkgs/build-support/oci-tools/default.nix +++ b/pkgs/build-support/oci-tools/default.nix @@ -1,78 +1,143 @@ -{ lib, writeText, runCommand, writeClosure }: +{ + lib, + writeText, + runCommand, + writeClosure, +}: { buildContainer = - { args - , mounts ? {} - , os ? "linux" - , arch ? "x86_64" - , readonly ? false + { + args, + mounts ? { }, + os ? "linux", + arch ? "x86_64", + readonly ? false, }: - let - sysMounts = { - "/proc" = { - type = "proc"; - source = "proc"; - }; - "/dev" = { - type = "tmpfs"; - source = "tmpfs"; - options = [ "nosuid" "strictatime" "mode=755" "size=65536k" ]; - }; - "/dev/pts" = { - type = "devpts"; - source = "devpts"; - options = [ "nosuid" "noexec" "newinstance" "ptmxmode=0666" "mode=755" "gid=5" ]; - }; - "/dev/shm" = { - type = "tmpfs"; - source = "shm"; - options = [ "nosuid" "noexec" "nodev" "mode=1777" "size=65536k" ]; - }; - "/dev/mqueue" = { - type = "mqueue"; - source = "mqueue"; - options = [ "nosuid" "noexec" "nodev" ]; - }; - "/sys" = { - type = "sysfs"; - source = "sysfs"; - options = [ "nosuid" "noexec" "nodev" "ro" ]; - }; - "/sys/fs/cgroup" = { - type = "cgroup"; - source = "cgroup"; - options = [ "nosuid" "noexec" "nodev" "relatime" "ro" ]; - }; - }; - config = writeText "config.json" (builtins.toJSON { - ociVersion = "1.0.0"; - platform = { - inherit os arch; + let + sysMounts = { + "/proc" = { + type = "proc"; + source = "proc"; + }; + "/dev" = { + type = "tmpfs"; + source = "tmpfs"; + options = [ + "nosuid" + "strictatime" + "mode=755" + "size=65536k" + ]; + }; + "/dev/pts" = { + type = "devpts"; + source = "devpts"; + options = [ + "nosuid" + "noexec" + "newinstance" + "ptmxmode=0666" + "mode=755" + "gid=5" + ]; + }; + "/dev/shm" = { + type = "tmpfs"; + source = "shm"; + options = [ + "nosuid" + "noexec" + "nodev" + "mode=1777" + "size=65536k" + ]; + }; + "/dev/mqueue" = { + type = "mqueue"; + source = "mqueue"; + options = [ + "nosuid" + "noexec" + "nodev" + ]; + }; + "/sys" = { + type = "sysfs"; + source = "sysfs"; + options = [ + "nosuid" + "noexec" + "nodev" + "ro" + ]; + }; + "/sys/fs/cgroup" = { + type = "cgroup"; + source = "cgroup"; + options = [ + "nosuid" + "noexec" + "nodev" + "relatime" + "ro" + ]; + }; }; + config = writeText "config.json" ( + builtins.toJSON { + ociVersion = "1.0.0"; + platform = { + inherit os arch; + }; - linux = { - namespaces = map (type: { inherit type; }) [ "pid" "network" "mount" "ipc" "uts" ]; - }; + linux = { + namespaces = map (type: { inherit type; }) [ + "pid" + "network" + "mount" + "ipc" + "uts" + ]; + }; - root = { path = "rootfs"; inherit readonly; }; + root = { + path = "rootfs"; + inherit readonly; + }; - process = { - inherit args; - user = { uid = 0; gid = 0; }; - cwd = "/"; - }; + process = { + inherit args; + user = { + uid = 0; + gid = 0; + }; + cwd = "/"; + }; - mounts = lib.mapAttrsToList (destination: { type, source, options ? null }: { - inherit destination type source options; - }) sysMounts; - }); - in - runCommand "join" {} '' + mounts = lib.mapAttrsToList ( + destination: + { + type, + source, + options ? null, + }: + { + inherit + destination + type + source + options + ; + } + ) sysMounts; + } + ); + in + runCommand "join" { } '' set -o pipefail mkdir -p $out/rootfs/{dev,proc,sys} cp ${config} $out/config.json xargs tar c < ${writeClosure args} | tar -xC $out/rootfs/ ''; } - diff --git a/pkgs/build-support/pkg-config-wrapper/default.nix b/pkgs/build-support/pkg-config-wrapper/default.nix index 4a6c189bd0a48..3a7616262c734 100644 --- a/pkgs/build-support/pkg-config-wrapper/default.nix +++ b/pkgs/build-support/pkg-config-wrapper/default.nix @@ -1,13 +1,15 @@ # The wrapper script ensures variables like PKG_CONFIG_PATH and # PKG_CONFIG_PATH_FOR_BUILD work properly. -{ stdenvNoCC -, lib -, buildPackages -, pkg-config -, baseBinName ? "pkg-config" -, propagateDoc ? pkg-config != null && pkg-config ? man -, extraPackages ? [], extraBuildCommands ? "" +{ + stdenvNoCC, + lib, + buildPackages, + pkg-config, + baseBinName ? "pkg-config", + propagateDoc ? pkg-config != null && pkg-config ? man, + extraPackages ? [ ], + extraBuildCommands ? "", }: let @@ -28,11 +30,10 @@ let # # TODO(@Ericson2314) Make unconditional, or optional but always true by # default. - targetPrefix = optionalString (targetPlatform != hostPlatform) - (targetPlatform.config + "-"); + targetPrefix = optionalString (targetPlatform != hostPlatform) (targetPlatform.config + "-"); # See description in cc-wrapper. - suffixSalt = replaceStrings ["-" "."] ["_" "_"] targetPlatform.config; + suffixSalt = replaceStrings [ "-" "." ] [ "_" "_" ] targetPlatform.config; wrapperBinName = "${targetPrefix}${baseBinName}"; in @@ -105,11 +106,14 @@ stdenv.mkDerivation { ## ## Man page and doc support ## - + optionalString propagateDoc ('' - ln -s ${pkg-config.man} $man - '' + optionalString (pkg-config ? doc) '' - ln -s ${pkg-config.doc} $doc - '') + + optionalString propagateDoc ( + '' + ln -s ${pkg-config.man} $man + '' + + optionalString (pkg-config ? doc) '' + ln -s ${pkg-config.doc} $doc + '' + ) + '' substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh @@ -128,12 +132,18 @@ stdenv.mkDerivation { }; meta = - let pkg-config_ = optionalAttrs (pkg-config != null) pkg-config; in - (optionalAttrs (pkg-config_ ? meta) (removeAttrs pkg-config.meta ["priority" "mainProgram"])) // - { description = - attrByPath ["meta" "description"] "pkg-config" pkg-config_ - + " (wrapper script)"; + let + pkg-config_ = optionalAttrs (pkg-config != null) pkg-config; + in + (optionalAttrs (pkg-config_ ? meta) ( + removeAttrs pkg-config.meta [ + "priority" + "mainProgram" + ] + )) + // { + description = attrByPath [ "meta" "description" ] "pkg-config" pkg-config_ + " (wrapper script)"; priority = 10; mainProgram = wrapperBinName; - }; + }; } diff --git a/pkgs/build-support/plugins.nix b/pkgs/build-support/plugins.nix index 31b478c6c0dee..192e82f56db05 100644 --- a/pkgs/build-support/plugins.nix +++ b/pkgs/build-support/plugins.nix @@ -2,28 +2,29 @@ # helper functions for packaging programs with plugin systems { - /* Takes a list of expected plugin names - * and compares it to the found plugins given in the file, - * one plugin per line. - * If the lists differ, the build fails with a nice message. - * - * This is helpful to ensure maintainers don’t miss - * the addition or removal of a plugin. - */ + /* + Takes a list of expected plugin names + and compares it to the found plugins given in the file, + one plugin per line. + If the lists differ, the build fails with a nice message. + + This is helpful to ensure maintainers don’t miss + the addition or removal of a plugin. + */ diffPlugins = expectedPlugins: foundPluginsFilePath: '' - # sort both lists first - plugins_expected=$(mktemp) - (${lib.concatMapStrings (s: "echo \"${s}\";") expectedPlugins}) \ - | sort -u > "$plugins_expected" - plugins_found=$(mktemp) - sort -u "${foundPluginsFilePath}" > "$plugins_found" + # sort both lists first + plugins_expected=$(mktemp) + (${lib.concatMapStrings (s: "echo \"${s}\";") expectedPlugins}) \ + | sort -u > "$plugins_expected" + plugins_found=$(mktemp) + sort -u "${foundPluginsFilePath}" > "$plugins_found" - if ! mismatches="$(diff -y "$plugins_expected" "$plugins_found")"; then - echo "The the list of expected plugins (left side) doesn't match" \ - "the list of plugins we found (right side):" >&2 - echo "$mismatches" >&2 - exit 1 - fi - ''; + if ! mismatches="$(diff -y "$plugins_expected" "$plugins_found")"; then + echo "The the list of expected plugins (left side) doesn't match" \ + "the list of plugins we found (right side):" >&2 + echo "$mismatches" >&2 + exit 1 + fi + ''; } diff --git a/pkgs/build-support/portable-service/default.nix b/pkgs/build-support/portable-service/default.nix index 6389e8d66fb1d..7fd592df3b313 100644 --- a/pkgs/build-support/portable-service/default.nix +++ b/pkgs/build-support/portable-service/default.nix @@ -1,4 +1,8 @@ -{ pkgs, lib, stdenv }: +{ + pkgs, + lib, + stdenv, +}: /* Create a systemd portable service image https://systemd.io/PORTABLE_SERVICES/ @@ -13,30 +17,30 @@ { # The name and version of the portable service. The resulting image will be # created in result/$pname_$version.raw - pname -, version + pname, + version, # Units is a list of derivations for systemd unit files. Those files will be # copied to /etc/systemd/system in the resulting image. Note that the unit # names must be prefixed with the name of the portable service. -, units + units, # Basic info about the portable service image, used for the generated # /etc/os-release -, description ? null -, homepage ? null + description ? null, + homepage ? null, # A list of attribute sets {object, symlink}. Symlinks will be created # in the root filesystem of the image to objects in the nix store. -, symlinks ? [ ] + symlinks ? [ ], # A list of additional derivations to be included in the image as-is. -, contents ? [ ] + contents ? [ ], # mksquashfs options -, squashfsTools ? pkgs.squashfsTools -, squash-compression ? "xz -Xdict-size 100%" -, squash-block-size ? "1M" + squashfsTools ? pkgs.squashfsTools, + squash-compression ? "xz -Xdict-size 100%", + squash-block-size ? "1M", }: let @@ -53,38 +57,40 @@ let PRETTY_NAME = "NixOS"; BUILD_ID = "rolling"; }; - os-release = pkgs.writeText "os-release" - (envFileGenerator (filterNull os-release-params)); + os-release = pkgs.writeText "os-release" (envFileGenerator (filterNull os-release-params)); in stdenv.mkDerivation { pname = "root-fs-scaffold"; inherit version; - buildCommand = '' - # scaffold a file system layout - mkdir -p $out/etc/systemd/system $out/proc $out/sys $out/dev $out/run \ - $out/tmp $out/var/tmp $out/var/lib $out/var/cache $out/var/log - - # empty files to mount over with host's version - touch $out/etc/resolv.conf $out/etc/machine-id - - # required for portable services - cp ${os-release} $out/etc/os-release - '' - # units **must** be copied to /etc/systemd/system/ - + (lib.concatMapStringsSep "\n" (u: "cp ${u} $out/etc/systemd/system/${u.name};") units) - + (lib.concatMapStringsSep "\n" - ({ object, symlink }: '' - mkdir -p $(dirname $out/${symlink}); - ln -s ${object} $out/${symlink}; - '') - symlinks) - ; + buildCommand = + '' + # scaffold a file system layout + mkdir -p $out/etc/systemd/system $out/proc $out/sys $out/dev $out/run \ + $out/tmp $out/var/tmp $out/var/lib $out/var/cache $out/var/log + + # empty files to mount over with host's version + touch $out/etc/resolv.conf $out/etc/machine-id + + # required for portable services + cp ${os-release} $out/etc/os-release + '' + # units **must** be copied to /etc/systemd/system/ + + (lib.concatMapStringsSep "\n" (u: "cp ${u} $out/etc/systemd/system/${u.name};") units) + + (lib.concatMapStringsSep "\n" ( + { object, symlink }: + '' + mkdir -p $(dirname $out/${symlink}); + ln -s ${object} $out/${symlink}; + '' + ) symlinks); }; in -assert lib.assertMsg (lib.all (u: lib.hasPrefix pname u.name) units) "Unit names must be prefixed with the service name"; +assert lib.assertMsg (lib.all ( + u: lib.hasPrefix pname u.name +) units) "Unit names must be prefixed with the service name"; stdenv.mkDerivation { pname = "${pname}-img"; diff --git a/pkgs/build-support/references-by-popularity/default.nix b/pkgs/build-support/references-by-popularity/default.nix index 2171c622f000a..f681559411e72 100644 --- a/pkgs/build-support/references-by-popularity/default.nix +++ b/pkgs/build-support/references-by-popularity/default.nix @@ -1,13 +1,21 @@ -{ runCommand, python3, coreutils }: +{ + runCommand, + python3, + coreutils, +}: # Write the references of `path' to a file, in order of how "popular" each # reference is. Nix 2 only. -path: runCommand "closure-paths" -{ - exportReferencesGraph.graph = path; - __structuredAttrs = true; - preferLocalBuild = true; - nativeBuildInputs = [ coreutils python3 ]; -} -'' - python3 ${./closure-graph.py} "$NIX_ATTRS_JSON_FILE" graph > ''${outputs[out]} -'' +path: +runCommand "closure-paths" + { + exportReferencesGraph.graph = path; + __structuredAttrs = true; + preferLocalBuild = true; + nativeBuildInputs = [ + coreutils + python3 + ]; + } + '' + python3 ${./closure-graph.py} "$NIX_ATTRS_JSON_FILE" graph > ''${outputs[out]} + '' diff --git a/pkgs/build-support/release/binary-tarball.nix b/pkgs/build-support/release/binary-tarball.nix index aeaa8edb52beb..9166c9d979347 100644 --- a/pkgs/build-support/release/binary-tarball.nix +++ b/pkgs/build-support/release/binary-tarball.nix @@ -1,18 +1,23 @@ -/* This function builds a binary tarball. The resulting binaries are - usually only useful if they are don't have any runtime dependencies - on any paths in the Nix store, since those aren't distributed in - the tarball. For instance, the binaries should be statically - linked: they can't depend on dynamic libraries in the store - (including Glibc). - - The binaries are built and installed with a prefix of /usr/local by - default. They are installed by setting DESTDIR to a temporary - directory, so the Makefile of the package should support DESTDIR. +/* + This function builds a binary tarball. The resulting binaries are + usually only useful if they are don't have any runtime dependencies + on any paths in the Nix store, since those aren't distributed in + the tarball. For instance, the binaries should be statically + linked: they can't depend on dynamic libraries in the store + (including Glibc). + + The binaries are built and installed with a prefix of /usr/local by + default. They are installed by setting DESTDIR to a temporary + directory, so the Makefile of the package should support DESTDIR. */ -{ src, lib, stdenv -, name ? "binary-tarball" -, ... } @ args: +{ + src, + lib, + stdenv, + name ? "binary-tarball", + ... +}@args: stdenv.mkDerivation ( @@ -27,52 +32,53 @@ stdenv.mkDerivation ( postPhases = [ "finalPhase" ]; } - // args // + // args + // - { - name = name + (lib.optionalString (src ? version) "-${src.version}"); + { + name = name + (lib.optionalString (src ? version) "-${src.version}"); - postHook = '' - mkdir -p $out/nix-support - echo "$system" > $out/nix-support/system - . ${./functions.sh} + postHook = '' + mkdir -p $out/nix-support + echo "$system" > $out/nix-support/system + . ${./functions.sh} - origSrc=$src - src=$(findTarball $src) + origSrc=$src + src=$(findTarball $src) - if test -e $origSrc/nix-support/hydra-release-name; then - releaseName=$(cat $origSrc/nix-support/hydra-release-name) - fi + if test -e $origSrc/nix-support/hydra-release-name; then + releaseName=$(cat $origSrc/nix-support/hydra-release-name) + fi - installFlagsArray=(DESTDIR=$TMPDIR/inst) + installFlagsArray=(DESTDIR=$TMPDIR/inst) - # Prefix hackery because of a bug in stdenv (it tries to `mkdir - # $prefix', which doesn't work due to the DESTDIR). - configureFlags="--prefix=$prefix $configureFlags" - dontAddPrefix=1 - prefix=$TMPDIR/inst$prefix - ''; + # Prefix hackery because of a bug in stdenv (it tries to `mkdir + # $prefix', which doesn't work due to the DESTDIR). + configureFlags="--prefix=$prefix $configureFlags" + dontAddPrefix=1 + prefix=$TMPDIR/inst$prefix + ''; - doDist = true; + doDist = true; - distPhase = '' - mkdir -p $out/tarballs - tar cvfj $out/tarballs/''${releaseName:-binary-dist}.tar.bz2 -C $TMPDIR/inst . - ''; + distPhase = '' + mkdir -p $out/tarballs + tar cvfj $out/tarballs/''${releaseName:-binary-dist}.tar.bz2 -C $TMPDIR/inst . + ''; - finalPhase = '' - for i in $out/tarballs/*; do - echo "file binary-dist $i" >> $out/nix-support/hydra-build-products - done + finalPhase = '' + for i in $out/tarballs/*; do + echo "file binary-dist $i" >> $out/nix-support/hydra-build-products + done - # Propagate the release name of the source tarball. This is - # to get nice package names in channels. - test -n "$releaseName" && (echo "$releaseName" >> $out/nix-support/hydra-release-name) - ''; + # Propagate the release name of the source tarball. This is + # to get nice package names in channels. + test -n "$releaseName" && (echo "$releaseName" >> $out/nix-support/hydra-release-name) + ''; - meta = (lib.optionalAttrs (args ? meta) args.meta) // { - description = "Build of a generic binary distribution"; - }; + meta = (lib.optionalAttrs (args ? meta) args.meta) // { + description = "Build of a generic binary distribution"; + }; - } + } ) diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix index e73b39c4e6b62..27afc3a117faa 100644 --- a/pkgs/build-support/release/debian-build.nix +++ b/pkgs/build-support/release/debian-build.nix @@ -1,94 +1,110 @@ # This function compiles a source tarball in a virtual machine image # that contains a Debian-like (i.e. dpkg-based) OS. -{ name ? "debian-build" -, diskImage -, src, lib, stdenv, vmTools, checkinstall -, fsTranslation ? false -, # Features provided by this package. - debProvides ? [] -, # Features required by this package. - debRequires ? [] -, ... } @ args: - -vmTools.runInLinuxImage (stdenv.mkDerivation ( - - { - doCheck = true; - - prefix = "/usr"; - - prePhases = [ "installExtraDebsPhase" "sysInfoPhase" ]; - } - - // removeAttrs args ["vmTools" "lib"] // - - { - name = name + "-" + diskImage.name + (lib.optionalString (src ? version) "-${src.version}"); - - # !!! cut&paste from rpm-build.nix - postHook = '' - . ${./functions.sh} - propagateImageName - src=$(findTarball $src) - ''; - - installExtraDebsPhase = '' - for i in $extraDebs; do - dpkg --install $(ls $i/debs/*.deb | sort | head -1) - done - ''; - - sysInfoPhase = '' - [ ! -f /etc/lsb-release ] || (source /etc/lsb-release; echo "OS release: $DISTRIB_DESCRIPTION") - echo "System/kernel: $(uname -a)" - if test -e /etc/debian_version; then echo "Debian release: $(cat /etc/debian_version)"; fi - echo "installed Debian packages" - dpkg-query --list - ''; - - installPhase = '' - eval "$preInstall" - export LOGNAME=root - - # otherwise build hangs when it wants to display - # the log file - export PAGER=cat - ${checkinstall}/sbin/checkinstall --nodoc -y -D \ - --fstrans=${if fsTranslation then "yes" else "no"} \ - --requires="${lib.concatStringsSep "," debRequires}" \ - --provides="${lib.concatStringsSep "," debProvides}" \ - ${if (src ? version) then "--pkgversion=$(echo ${src.version} | tr _ -)" - else "--pkgversion=0.0.0"} \ - ''${debMaintainer:+--maintainer="'$debMaintainer'"} \ - ''${debName:+--pkgname="'$debName'"} \ - $checkInstallFlags \ - -- \ - $SHELL -c "''${installCommand:-make install}" - - mkdir -p $out/debs - find . -name "*.deb" -exec cp {} $out/debs \; - - [ "$(echo $out/debs/*.deb)" != "" ] - - for i in $out/debs/*.deb; do - echo "Generated DEB package: $i" - dpkg-deb --info "$i" - pkgName=$(dpkg-deb -W "$i" | awk '{print $1}') - echo "file deb $i" >> $out/nix-support/hydra-build-products - done - dpkg -i $out/debs/*.deb - - for i in $extraDebs; do - echo "file deb-extra $(ls $i/debs/*.deb | sort | head -1)" >> $out/nix-support/hydra-build-products - done - - eval "$postInstall" - ''; - - meta = (lib.optionalAttrs (args ? meta) args.meta) // { - description = "Deb package for ${diskImage.fullName}"; - }; - } - -)) +{ + name ? "debian-build", + diskImage, + src, + lib, + stdenv, + vmTools, + checkinstall, + fsTranslation ? false, + # Features provided by this package. + debProvides ? [ ], + # Features required by this package. + debRequires ? [ ], + ... +}@args: + +vmTools.runInLinuxImage ( + stdenv.mkDerivation ( + + { + doCheck = true; + + prefix = "/usr"; + + prePhases = [ + "installExtraDebsPhase" + "sysInfoPhase" + ]; + } + + // removeAttrs args [ + "vmTools" + "lib" + ] + // + + { + name = name + "-" + diskImage.name + (lib.optionalString (src ? version) "-${src.version}"); + + # !!! cut&paste from rpm-build.nix + postHook = '' + . ${./functions.sh} + propagateImageName + src=$(findTarball $src) + ''; + + installExtraDebsPhase = '' + for i in $extraDebs; do + dpkg --install $(ls $i/debs/*.deb | sort | head -1) + done + ''; + + sysInfoPhase = '' + [ ! -f /etc/lsb-release ] || (source /etc/lsb-release; echo "OS release: $DISTRIB_DESCRIPTION") + echo "System/kernel: $(uname -a)" + if test -e /etc/debian_version; then echo "Debian release: $(cat /etc/debian_version)"; fi + echo "installed Debian packages" + dpkg-query --list + ''; + + installPhase = '' + eval "$preInstall" + export LOGNAME=root + + # otherwise build hangs when it wants to display + # the log file + export PAGER=cat + ${checkinstall}/sbin/checkinstall --nodoc -y -D \ + --fstrans=${if fsTranslation then "yes" else "no"} \ + --requires="${lib.concatStringsSep "," debRequires}" \ + --provides="${lib.concatStringsSep "," debProvides}" \ + ${ + if (src ? version) then "--pkgversion=$(echo ${src.version} | tr _ -)" else "--pkgversion=0.0.0" + } \ + ''${debMaintainer:+--maintainer="'$debMaintainer'"} \ + ''${debName:+--pkgname="'$debName'"} \ + $checkInstallFlags \ + -- \ + $SHELL -c "''${installCommand:-make install}" + + mkdir -p $out/debs + find . -name "*.deb" -exec cp {} $out/debs \; + + [ "$(echo $out/debs/*.deb)" != "" ] + + for i in $out/debs/*.deb; do + echo "Generated DEB package: $i" + dpkg-deb --info "$i" + pkgName=$(dpkg-deb -W "$i" | awk '{print $1}') + echo "file deb $i" >> $out/nix-support/hydra-build-products + done + dpkg -i $out/debs/*.deb + + for i in $extraDebs; do + echo "file deb-extra $(ls $i/debs/*.deb | sort | head -1)" >> $out/nix-support/hydra-build-products + done + + eval "$postInstall" + ''; + + meta = (lib.optionalAttrs (args ? meta) args.meta) // { + description = "Deb package for ${diskImage.fullName}"; + }; + } + + ) +) diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix index f5ab2db1a7541..66aec1f74509a 100644 --- a/pkgs/build-support/release/default.nix +++ b/pkgs/build-support/release/default.nix @@ -22,51 +22,112 @@ in rec { - sourceTarball = args: import ./source-tarball.nix ( - { inherit lib stdenv autoconf automake libtool; - } // args); + sourceTarball = + args: + import ./source-tarball.nix ( + { + inherit + lib + stdenv + autoconf + automake + libtool + ; + } + // args + ); makeSourceTarball = sourceTarball; # compatibility - binaryTarball = args: import ./binary-tarball.nix ( - { inherit lib stdenv; - } // args); - - mvnBuild = args: import ./maven-build.nix ( - { inherit lib stdenv; - } // args); - - nixBuild = args: import ./nix-build.nix ( - { inherit lib stdenv; - } // args); - - coverageAnalysis = args: nixBuild ( - { inherit lcov enableGCOVInstrumentation makeGCOVReport; - doCoverageAnalysis = true; - } // args); - - clangAnalysis = args: nixBuild ( - { inherit clang-analyzer; - doClangAnalysis = true; - } // args); - - coverityAnalysis = args: nixBuild ( - { inherit cov-build xz; - doCoverityAnalysis = true; - } // args); - - rpmBuild = args: import ./rpm-build.nix ( - { inherit lib vmTools; - } // args); - - debBuild = args: import ./debian-build.nix ( - { inherit lib stdenv vmTools checkinstall; - } // args); + binaryTarball = + args: + import ./binary-tarball.nix ( + { + inherit lib stdenv; + } + // args + ); + + mvnBuild = + args: + import ./maven-build.nix ( + { + inherit lib stdenv; + } + // args + ); + + nixBuild = + args: + import ./nix-build.nix ( + { + inherit lib stdenv; + } + // args + ); + + coverageAnalysis = + args: + nixBuild ( + { + inherit lcov enableGCOVInstrumentation makeGCOVReport; + doCoverageAnalysis = true; + } + // args + ); + + clangAnalysis = + args: + nixBuild ( + { + inherit clang-analyzer; + doClangAnalysis = true; + } + // args + ); + + coverityAnalysis = + args: + nixBuild ( + { + inherit cov-build xz; + doCoverityAnalysis = true; + } + // args + ); + + rpmBuild = + args: + import ./rpm-build.nix ( + { + inherit lib vmTools; + } + // args + ); + + debBuild = + args: + import ./debian-build.nix ( + { + inherit + lib + stdenv + vmTools + checkinstall + ; + } + // args + ); aggregate = - { name, constituents, meta ? { } }: + { + name, + constituents, + meta ? { }, + }: pkgs.runCommand name - { inherit constituents meta; + { + inherit constituents meta; preferLocalBuild = true; _hydraAggregate = true; } @@ -83,57 +144,67 @@ rec { done ''; - /* Create a channel job which success depends on the success of all of - its contituents. Channel jobs are a special type of jobs that are - listed in the channel tab of Hydra and that can be suscribed. - A tarball of the src attribute is distributed via the channel. - - - constituents: a list of derivations on which the channel success depends. - - name: the channel name that will be used in the hydra interface. - - src: should point to the root folder of the nix-expressions used by the - channel, typically a folder containing a `default.nix`. - - channel { - constituents = [ foo bar baz ]; - name = "my-channel"; - src = ./.; - }; - + /* + Create a channel job which success depends on the success of all of + its contituents. Channel jobs are a special type of jobs that are + listed in the channel tab of Hydra and that can be suscribed. + A tarball of the src attribute is distributed via the channel. + + - constituents: a list of derivations on which the channel success depends. + - name: the channel name that will be used in the hydra interface. + - src: should point to the root folder of the nix-expressions used by the + channel, typically a folder containing a `default.nix`. + + channel { + constituents = [ foo bar baz ]; + name = "my-channel"; + src = ./.; + }; */ channel = - { name, src, constituents ? [], meta ? {}, isNixOS ? true, ... }@args: - stdenv.mkDerivation ({ - preferLocalBuild = true; - _hydraAggregate = true; + { + name, + src, + constituents ? [ ], + meta ? { }, + isNixOS ? true, + ... + }@args: + stdenv.mkDerivation ( + { + preferLocalBuild = true; + _hydraAggregate = true; - dontConfigure = true; - dontBuild = true; + dontConfigure = true; + dontBuild = true; - patchPhase = optionalString isNixOS '' - touch .update-on-nixos-rebuild - ''; + patchPhase = optionalString isNixOS '' + touch .update-on-nixos-rebuild + ''; - installPhase = '' - mkdir -p $out/{tarballs,nix-support} + installPhase = '' + mkdir -p $out/{tarballs,nix-support} - tar cJf "$out/tarballs/nixexprs.tar.xz" \ - --owner=0 --group=0 --mtime="1970-01-01 00:00:00 UTC" \ - --transform='s!^\.!${name}!' . + tar cJf "$out/tarballs/nixexprs.tar.xz" \ + --owner=0 --group=0 --mtime="1970-01-01 00:00:00 UTC" \ + --transform='s!^\.!${name}!' . - echo "channel - $out/tarballs/nixexprs.tar.xz" > "$out/nix-support/hydra-build-products" - echo $constituents > "$out/nix-support/hydra-aggregate-constituents" + echo "channel - $out/tarballs/nixexprs.tar.xz" > "$out/nix-support/hydra-build-products" + echo $constituents > "$out/nix-support/hydra-aggregate-constituents" - # Propagate build failures. - for i in $constituents; do - if [ -e "$i/nix-support/failed" ]; then - touch "$out/nix-support/failed" - fi - done - ''; + # Propagate build failures. + for i in $constituents; do + if [ -e "$i/nix-support/failed" ]; then + touch "$out/nix-support/failed" + fi + done + ''; - meta = meta // { - isHydraChannel = true; - }; - } // removeAttrs args [ "meta" ]); + meta = meta // { + isHydraChannel = true; + }; + } + // removeAttrs args [ "meta" ] + ); } diff --git a/pkgs/build-support/release/maven-build.nix b/pkgs/build-support/release/maven-build.nix index f618032724c9a..7ac95a5e73de4 100644 --- a/pkgs/build-support/release/maven-build.nix +++ b/pkgs/build-support/release/maven-build.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, name -, src -, doTest ? true -, doTestCompile ? true -, doJavadoc ? false -, doCheckstyle ? false -, doRelease ? false -, includeTestClasses ? true -, extraMvnFlags ? "" -, ... -} @ args : +{ + stdenv, + lib, + name, + src, + doTest ? true, + doTestCompile ? true, + doJavadoc ? false, + doCheckstyle ? false, + doRelease ? false, + includeTestClasses ? true, + extraMvnFlags ? "", + ... +}@args: let mvnFlags = lib.escapeShellArgs [ @@ -20,84 +21,86 @@ let ]; in -stdenv.mkDerivation ( { - inherit name src; - phases = "setupPhase unpackPhase patchPhase mvnCompile ${lib.optionalString doTestCompile "mvnTestCompile mvnTestJar"} ${lib.optionalString doTest "mvnTest"} ${lib.optionalString doJavadoc "mvnJavadoc"} ${lib.optionalString doCheckstyle "mvnCheckstyle"} mvnJar mvnAssembly mvnRelease finalPhase"; - - setupPhase = '' - runHook preSetupPhase - - mkdir -p $out/nix-support - export LANG="en_US.UTF-8" - export LOCALE_ARCHIVE=$glibcLocales/lib/locale/locale-archive - export M2_REPO=$TMPDIR/repository - - runHook postSetupPhase - ''; - - mvnCompile = '' - mvn compile ${mvnFlags} - ''; - - mvnTestCompile = '' - mvn test-compile ${mvnFlags} - ''; - - mvnTestJar = '' - mvn jar:test-jar ${mvnFlags} - ''; - - mvnTest = '' - mvn test ${mvnFlags} - - if [ -d target/site/cobertura ] ; then - echo "report coverage $out/site/cobertura" >> $out/nix-support/hydra-build-products - fi - - if [ -d target/surefire-reports ] ; then - mvn surefire-report:report-only - echo "report coverage $out/site/surefire-report.html" >> $out/nix-support/hydra-build-products - fi - ''; - - mvnJavadoc = '' - mvn javadoc:javadoc ${mvnFlags} - echo "report javadoc $out/site/apidocs" >> $out/nix-support/hydra-build-products - ''; - - mvnCheckstyle = '' - mvn checkstyle:checkstyle ${mvnFlags} - echo "report checkstyle $out/site/checkstyle.html" >> $out/nix-support/hydra-build-products - ''; - - mvnJar = '' - mvn jar:jar ${mvnFlags} - ''; - - mvnAssembly = '' - mvn assembly:assembly -Dmaven.test.skip=true ${mvnFlags} - ''; - - mvnRelease = '' - mkdir -p $out/release - - zip=$(ls target/*.zip| head -1) - releaseName=$(basename $zip .zip) - releaseName="$releaseName-r${toString src.rev or "0"}" - cp $zip $out/release/$releaseName.zip - - echo "$releaseName" > $out/nix-support/hydra-release-name - - ${lib.optionalString doRelease '' - echo "file zip $out/release/$releaseName.zip" >> $out/nix-support/hydra-build-products - ''} - ''; - - finalPhase = '' - if [ -d target/site ] ; then - cp -R target/site $out/ - echo "report site $out/site" >> $out/nix-support/hydra-build-products - fi - ''; -} // args +stdenv.mkDerivation ( + { + inherit name src; + phases = "setupPhase unpackPhase patchPhase mvnCompile ${lib.optionalString doTestCompile "mvnTestCompile mvnTestJar"} ${lib.optionalString doTest "mvnTest"} ${lib.optionalString doJavadoc "mvnJavadoc"} ${lib.optionalString doCheckstyle "mvnCheckstyle"} mvnJar mvnAssembly mvnRelease finalPhase"; + + setupPhase = '' + runHook preSetupPhase + + mkdir -p $out/nix-support + export LANG="en_US.UTF-8" + export LOCALE_ARCHIVE=$glibcLocales/lib/locale/locale-archive + export M2_REPO=$TMPDIR/repository + + runHook postSetupPhase + ''; + + mvnCompile = '' + mvn compile ${mvnFlags} + ''; + + mvnTestCompile = '' + mvn test-compile ${mvnFlags} + ''; + + mvnTestJar = '' + mvn jar:test-jar ${mvnFlags} + ''; + + mvnTest = '' + mvn test ${mvnFlags} + + if [ -d target/site/cobertura ] ; then + echo "report coverage $out/site/cobertura" >> $out/nix-support/hydra-build-products + fi + + if [ -d target/surefire-reports ] ; then + mvn surefire-report:report-only + echo "report coverage $out/site/surefire-report.html" >> $out/nix-support/hydra-build-products + fi + ''; + + mvnJavadoc = '' + mvn javadoc:javadoc ${mvnFlags} + echo "report javadoc $out/site/apidocs" >> $out/nix-support/hydra-build-products + ''; + + mvnCheckstyle = '' + mvn checkstyle:checkstyle ${mvnFlags} + echo "report checkstyle $out/site/checkstyle.html" >> $out/nix-support/hydra-build-products + ''; + + mvnJar = '' + mvn jar:jar ${mvnFlags} + ''; + + mvnAssembly = '' + mvn assembly:assembly -Dmaven.test.skip=true ${mvnFlags} + ''; + + mvnRelease = '' + mkdir -p $out/release + + zip=$(ls target/*.zip| head -1) + releaseName=$(basename $zip .zip) + releaseName="$releaseName-r${toString src.rev or "0"}" + cp $zip $out/release/$releaseName.zip + + echo "$releaseName" > $out/nix-support/hydra-release-name + + ${lib.optionalString doRelease '' + echo "file zip $out/release/$releaseName.zip" >> $out/nix-support/hydra-build-products + ''} + ''; + + finalPhase = '' + if [ -d target/site ] ; then + cp -R target/site $out/ + echo "report site $out/site" >> $out/nix-support/hydra-build-products + fi + ''; + } + // args ) diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 8d59809174640..6686aee601b0d 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -5,22 +5,26 @@ # it turns on GCC's coverage analysis feature. It then runs `make # check' and produces a coverage analysis report using `lcov'. -{ buildOutOfSourceTree ? false -, preConfigure ? null -, doCoverageAnalysis ? false -, doClangAnalysis ? false -, doCoverityAnalysis ? false -, lcovFilter ? [] -, lcovExtraTraceFiles ? [] -, src, lib, stdenv -, name ? if doCoverageAnalysis then "nix-coverage" else "nix-build" -, failureHook ? null -, prePhases ? [] -, postPhases ? [] -, buildInputs ? [] -, preHook ? "" -, postHook ? "" -, ... } @ args: +{ + buildOutOfSourceTree ? false, + preConfigure ? null, + doCoverageAnalysis ? false, + doClangAnalysis ? false, + doCoverityAnalysis ? false, + lcovFilter ? [ ], + lcovExtraTraceFiles ? [ ], + src, + lib, + stdenv, + name ? if doCoverageAnalysis then "nix-coverage" else "nix-build", + failureHook ? null, + prePhases ? [ ], + postPhases ? [ ], + buildInputs ? [ ], + preHook ? "", + postHook ? "", + ... +}@args: let doingAnalysis = doCoverageAnalysis || doClangAnalysis || doCoverityAnalysis; @@ -37,49 +41,49 @@ stdenv.mkDerivation ( showBuildStats = true; - finalPhase = - '' - # Propagate the release name of the source tarball. This is - # to get nice package names in channels. - if test -e $origSrc/nix-support/hydra-release-name; then - cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name - fi + finalPhase = '' + # Propagate the release name of the source tarball. This is + # to get nice package names in channels. + if test -e $origSrc/nix-support/hydra-release-name; then + cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name + fi - # Package up Coverity analysis results - if [ ! -z "${toString doCoverityAnalysis}" ]; then - if [ -d "_coverity_$name/cov-int" ]; then - mkdir -p $out/tarballs - NAME=`cat $out/nix-support/hydra-release-name` - cd _coverity_$name - tar caf $out/tarballs/$NAME-coverity-int.xz cov-int - echo "file cov-build $out/tarballs/$NAME-coverity-int.xz" >> $out/nix-support/hydra-build-products - fi + # Package up Coverity analysis results + if [ ! -z "${toString doCoverityAnalysis}" ]; then + if [ -d "_coverity_$name/cov-int" ]; then + mkdir -p $out/tarballs + NAME=`cat $out/nix-support/hydra-release-name` + cd _coverity_$name + tar caf $out/tarballs/$NAME-coverity-int.xz cov-int + echo "file cov-build $out/tarballs/$NAME-coverity-int.xz" >> $out/nix-support/hydra-build-products fi + fi - # Package up Clang analysis results - if [ ! -z "${toString doClangAnalysis}" ]; then - if [ ! -z "`ls _clang_analyze_$name`" ]; then - cd _clang_analyze_$name && mv * $out/analysis - else - mkdir -p $out/analysis - echo "No bugs found." >> $out/analysis/index.html - fi - - echo "report analysis $out/analysis" >> $out/nix-support/hydra-build-products + # Package up Clang analysis results + if [ ! -z "${toString doClangAnalysis}" ]; then + if [ ! -z "`ls _clang_analyze_$name`" ]; then + cd _clang_analyze_$name && mv * $out/analysis + else + mkdir -p $out/analysis + echo "No bugs found." >> $out/analysis/index.html fi - ''; - failureHook = (lib.optionalString (failureHook != null) failureHook) + - '' - if test -n "$succeedOnFailure"; then - if test -n "$keepBuildDirectory"; then - KEEPBUILDDIR="$out/`basename $TMPDIR`" - echo "Copying build directory to $KEEPBUILDDIR" - mkdir -p $KEEPBUILDDIR - cp -R "$TMPDIR/"* $KEEPBUILDDIR - fi + echo "report analysis $out/analysis" >> $out/nix-support/hydra-build-products fi ''; + + failureHook = + (lib.optionalString (failureHook != null) failureHook) + + '' + if test -n "$succeedOnFailure"; then + if test -n "$keepBuildDirectory"; then + KEEPBUILDDIR="$out/`basename $TMPDIR`" + echo "Copying build directory to $KEEPBUILDDIR" + mkdir -p $KEEPBUILDDIR + cp -R "$TMPDIR/"* $KEEPBUILDDIR + fi + fi + ''; } // removeAttrs args [ "lib" ] # Propagating lib causes the evaluation to fail, because lib is a function that can't be converted to a string @@ -131,36 +135,36 @@ stdenv.mkDerivation ( fi ''; - prePhases = ["initPhase"] ++ prePhases; + prePhases = [ "initPhase" ] ++ prePhases; buildInputs = - buildInputs ++ - (lib.optional doCoverageAnalysis args.makeGCOVReport) ++ - (lib.optional doClangAnalysis args.clang-analyzer) ++ - (lib.optional doCoverityAnalysis args.cov-build) ++ - (lib.optional doCoverityAnalysis args.xz); + buildInputs + ++ (lib.optional doCoverageAnalysis args.makeGCOVReport) + ++ (lib.optional doClangAnalysis args.clang-analyzer) + ++ (lib.optional doCoverityAnalysis args.cov-build) + ++ (lib.optional doCoverityAnalysis args.xz); - lcovFilter = ["${builtins.storeDir}/*"] ++ lcovFilter; + lcovFilter = [ "${builtins.storeDir}/*" ] ++ lcovFilter; inherit lcovExtraTraceFiles; - postPhases = postPhases ++ ["finalPhase"]; + postPhases = postPhases ++ [ "finalPhase" ]; meta = (lib.optionalAttrs (args ? meta) args.meta) // { - description = if doCoverageAnalysis then "Coverage analysis" else "Nix package for ${stdenv.hostPlatform.system}"; + description = + if doCoverageAnalysis then "Coverage analysis" else "Nix package for ${stdenv.hostPlatform.system}"; }; } // - (lib.optionalAttrs buildOutOfSourceTree - { - preConfigure = - # Build out of source tree and make the source tree read-only. This - # helps catch violations of the GNU Coding Standards (info - # "(standards) Configuration"), like `make distcheck' does. - '' + (lib.optionalAttrs buildOutOfSourceTree { + preConfigure = + # Build out of source tree and make the source tree read-only. This + # helps catch violations of the GNU Coding Standards (info + # "(standards) Configuration"), like `make distcheck' does. + '' mkdir "../build" cd "../build" configureScript="../$sourceRoot/configure" @@ -169,7 +173,6 @@ stdenv.mkDerivation ( echo "building out of source tree, from \`$PWD'..." ${lib.optionalString (preConfigure != null) preConfigure} - ''; - } - ) + ''; + }) ) diff --git a/pkgs/build-support/release/rpm-build.nix b/pkgs/build-support/release/rpm-build.nix index ccbbd57107bdc..ee50f0a1e63b4 100644 --- a/pkgs/build-support/release/rpm-build.nix +++ b/pkgs/build-support/release/rpm-build.nix @@ -1,54 +1,59 @@ # This function builds an RPM from a source tarball that contains a # RPM spec file (i.e., one that can be built using `rpmbuild -ta'). -{ name ? "rpm-build" -, diskImage -, src, lib, vmTools -, ... } @ args: +{ + name ? "rpm-build", + diskImage, + src, + lib, + vmTools, + ... +}@args: vmTools.buildRPM ( - removeAttrs args ["vmTools"] // - - { - name = name + "-" + diskImage.name + (lib.optionalString (src ? version) "-${src.version}"); - - preBuild = '' - . ${./functions.sh} - propagateImageName - src=$(findTarball $src) - ''; - - postInstall = '' - declare -a rpms rpmNames - for i in $out/rpms/*/*.rpm; do - if echo $i | grep -vq "\.src\.rpm$"; then - echo "file rpm $i" >> $out/nix-support/hydra-build-products - rpms+=($i) - rpmNames+=("$(rpm -qp "$i")") - fi - done - - echo "installing ''${rpms[*]}..." - rpm -Up ''${rpms[*]} --excludepath /nix/store - - eval "$postRPMInstall" - - echo "uninstalling ''${rpmNames[*]}..." - rpm -e ''${rpmNames[*]} --nodeps - - for i in $out/rpms/*/*.src.rpm; do - echo "file srpm $i" >> $out/nix-support/hydra-build-products - done - - for rpmdir in $extraRPMs ; do - echo "file rpm-extra $(ls $rpmdir/rpms/*/*.rpm | grep -v 'src\.rpm' | sort | head -1)" >> $out/nix-support/hydra-build-products - done - ''; - - meta = (lib.optionalAttrs (args ? meta) args.meta) // { - description = "RPM package for ${diskImage.fullName}"; - }; - } + removeAttrs args [ "vmTools" ] + // + + { + name = name + "-" + diskImage.name + (lib.optionalString (src ? version) "-${src.version}"); + + preBuild = '' + . ${./functions.sh} + propagateImageName + src=$(findTarball $src) + ''; + + postInstall = '' + declare -a rpms rpmNames + for i in $out/rpms/*/*.rpm; do + if echo $i | grep -vq "\.src\.rpm$"; then + echo "file rpm $i" >> $out/nix-support/hydra-build-products + rpms+=($i) + rpmNames+=("$(rpm -qp "$i")") + fi + done + + echo "installing ''${rpms[*]}..." + rpm -Up ''${rpms[*]} --excludepath /nix/store + + eval "$postRPMInstall" + + echo "uninstalling ''${rpmNames[*]}..." + rpm -e ''${rpmNames[*]} --nodeps + + for i in $out/rpms/*/*.src.rpm; do + echo "file srpm $i" >> $out/nix-support/hydra-build-products + done + + for rpmdir in $extraRPMs ; do + echo "file rpm-extra $(ls $rpmdir/rpms/*/*.rpm | grep -v 'src\.rpm' | sort | head -1)" >> $out/nix-support/hydra-build-products + done + ''; + + meta = (lib.optionalAttrs (args ? meta) args.meta) // { + description = "RPM package for ${diskImage.fullName}"; + }; + } ) diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix index 4effd63f740bb..5abd4e97f327d 100644 --- a/pkgs/build-support/release/source-tarball.nix +++ b/pkgs/build-support/release/source-tarball.nix @@ -2,18 +2,26 @@ # checkout from a Subversion or CVS repository) into a source tarball # by running `autoreconf', `configure' and `make dist'. -{ officialRelease ? false -, buildInputs ? [] -, name ? "source-tarball" -, version ? "0" -, versionSuffix ? - if officialRelease - then "" - else "pre${toString (src.rev or src.revCount or "")}" -, src, lib, stdenv, autoconf, automake, libtool -, # By default, provide all the GNU Build System as input. - bootstrapBuildInputs ? [ autoconf automake libtool ] -, ... } @ args: +{ + officialRelease ? false, + buildInputs ? [ ], + name ? "source-tarball", + version ? "0", + versionSuffix ? if officialRelease then "" else "pre${toString (src.rev or src.revCount or "")}", + src, + lib, + stdenv, + autoconf, + automake, + libtool, + # By default, provide all the GNU Build System as input. + bootstrapBuildInputs ? [ + autoconf + automake + libtool + ], + ... +}@args: stdenv.mkDerivation ( @@ -73,57 +81,58 @@ stdenv.mkDerivation ( } # Then, the caller-supplied attributes. - // (builtins.removeAttrs args [ "lib" ]) // - - # And finally, our own stuff. - { - name = name + "-" + version + versionSuffix; - - buildInputs = buildInputs ++ bootstrapBuildInputs; - - preUnpack = '' - mkdir -p $out/nix-support - ''; - - postUnpack = '' - # Set all source files to the current date. This is because Nix - # resets the timestamp on all files to 0 (1/1/1970), which some - # people don't like (in particular GNU tar prints harmless but - # frightening warnings about it). - touch now - touch -d "1970-01-01 00:00:00 UTC" then - find $sourceRoot ! -newer then -print0 | xargs -0r touch --reference now - rm now then - eval "$nextPostUnpack" - ''; - - nextPostUnpack = if args ? postUnpack then args.postUnpack else ""; - - # Cause distPhase to copy tar.bz2 in addition to tar.gz. - tarballs = "*.tar.gz *.tar.bz2 *.tar.xz"; - - finalPhase = '' - for i in "$out/tarballs/"*; do - echo "file source-dist $i" >> $out/nix-support/hydra-build-products - done - - # Try to figure out the release name. - releaseName=$( (cd $out/tarballs && ls) | head -n 1 | sed -e 's^\.[a-z].*^^') - test -n "$releaseName" && (echo "$releaseName" >> $out/nix-support/hydra-release-name) - ''; - - passthru = { - inherit src; - version = version + versionSuffix; - }; - - meta = (lib.optionalAttrs (args ? meta) args.meta) // { - description = "Source distribution"; - - # Tarball builds are generally important, so give them a high - # default priority. - schedulingPriority = 200; - }; - } + // (builtins.removeAttrs args [ "lib" ]) + // + + # And finally, our own stuff. + { + name = name + "-" + version + versionSuffix; + + buildInputs = buildInputs ++ bootstrapBuildInputs; + + preUnpack = '' + mkdir -p $out/nix-support + ''; + + postUnpack = '' + # Set all source files to the current date. This is because Nix + # resets the timestamp on all files to 0 (1/1/1970), which some + # people don't like (in particular GNU tar prints harmless but + # frightening warnings about it). + touch now + touch -d "1970-01-01 00:00:00 UTC" then + find $sourceRoot ! -newer then -print0 | xargs -0r touch --reference now + rm now then + eval "$nextPostUnpack" + ''; + + nextPostUnpack = if args ? postUnpack then args.postUnpack else ""; + + # Cause distPhase to copy tar.bz2 in addition to tar.gz. + tarballs = "*.tar.gz *.tar.bz2 *.tar.xz"; + + finalPhase = '' + for i in "$out/tarballs/"*; do + echo "file source-dist $i" >> $out/nix-support/hydra-build-products + done + + # Try to figure out the release name. + releaseName=$( (cd $out/tarballs && ls) | head -n 1 | sed -e 's^\.[a-z].*^^') + test -n "$releaseName" && (echo "$releaseName" >> $out/nix-support/hydra-release-name) + ''; + + passthru = { + inherit src; + version = version + versionSuffix; + }; + + meta = (lib.optionalAttrs (args ? meta) args.meta) // { + description = "Source distribution"; + + # Tarball builds are generally important, so give them a high + # default priority. + schedulingPriority = 200; + }; + } ) diff --git a/pkgs/build-support/remove-references-to/default.nix b/pkgs/build-support/remove-references-to/default.nix index 1277cdb04fd7c..30c79821b9068 100644 --- a/pkgs/build-support/remove-references-to/default.nix +++ b/pkgs/build-support/remove-references-to/default.nix @@ -3,7 +3,12 @@ # non-existent path (/nix/store/eeee...). This is useful for getting rid of # dependencies that you know are not actually needed at runtime. -{ lib, stdenvNoCC, signingUtils, shell ? stdenvNoCC.shell }: +{ + lib, + stdenvNoCC, + signingUtils, + shell ? stdenvNoCC.shell, +}: let stdenv = stdenvNoCC; diff --git a/pkgs/build-support/replace-secret/replace-secret.nix b/pkgs/build-support/replace-secret/replace-secret.nix index 41f5cb042558c..7e661a012bc31 100644 --- a/pkgs/build-support/replace-secret/replace-secret.nix +++ b/pkgs/build-support/replace-secret/replace-secret.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, python3 }: +{ + stdenv, + lib, + python3, +}: stdenv.mkDerivation { name = "replace-secret"; diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix index 4bf1b188cd1c5..32ab0fd55c3b4 100644 --- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix @@ -1,98 +1,130 @@ -{ lib, stdenv -, mkRustcDepArgs, mkRustcFeatureArgs, needUnstableCLI, rustc +{ + lib, + stdenv, + mkRustcDepArgs, + mkRustcFeatureArgs, + needUnstableCLI, + rustc, }: -{ crateName, +{ + crateName, dependencies, - crateFeatures, crateRenames, libName, release, libPath, - crateType, metadata, crateBin, hasCrateBin, - extraRustcOpts, verbose, colors, + crateFeatures, + crateRenames, + libName, + release, + libPath, + crateType, + metadata, + crateBin, + hasCrateBin, + extraRustcOpts, + verbose, + colors, buildTests, - codegenUnits + codegenUnits, }: - let - baseRustcOpts = - [ - (if release then "-C opt-level=3" else "-C debuginfo=2") - "-C codegen-units=${toString codegenUnits}" - "--remap-path-prefix=$NIX_BUILD_TOP=/" - (mkRustcDepArgs dependencies crateRenames) - (mkRustcFeatureArgs crateFeatures) - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--target" stdenv.hostPlatform.rust.rustcTargetSpec - ] ++ lib.optionals (needUnstableCLI dependencies) [ - "-Z" "unstable-options" - ] ++ extraRustcOpts - # since rustc 1.42 the "proc_macro" crate is part of the default crate prelude - # https://github.com/rust-lang/cargo/commit/4d64eb99a4#diff-7f98585dbf9d30aa100c8318e2c77e79R1021-R1022 - ++ lib.optional (lib.elem "proc-macro" crateType) "--extern proc_macro" - ++ lib.optional (stdenv.hostPlatform.linker == "lld" && rustc ? llvmPackages.lld) # Needed when building for targets that use lld. e.g. 'wasm32-unknown-unknown' +let + baseRustcOpts = + [ + (if release then "-C opt-level=3" else "-C debuginfo=2") + "-C codegen-units=${toString codegenUnits}" + "--remap-path-prefix=$NIX_BUILD_TOP=/" + (mkRustcDepArgs dependencies crateRenames) + (mkRustcFeatureArgs crateFeatures) + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--target" + stdenv.hostPlatform.rust.rustcTargetSpec + ] + ++ lib.optionals (needUnstableCLI dependencies) [ + "-Z" + "unstable-options" + ] + ++ extraRustcOpts + # since rustc 1.42 the "proc_macro" crate is part of the default crate prelude + # https://github.com/rust-lang/cargo/commit/4d64eb99a4#diff-7f98585dbf9d30aa100c8318e2c77e79R1021-R1022 + ++ lib.optional (lib.elem "proc-macro" crateType) "--extern proc_macro" + ++ + lib.optional (stdenv.hostPlatform.linker == "lld" && rustc ? llvmPackages.lld) # Needed when building for targets that use lld. e.g. 'wasm32-unknown-unknown' "-C linker=${rustc.llvmPackages.lld}/bin/lld" - ++ lib.optional (stdenv.hasCC && stdenv.hostPlatform.linker != "lld") - "-C linker=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" - ; - rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}"; - - - # build the final rustc arguments that can be different between different - # crates - libRustcOpts = lib.concatStringsSep " " ( - baseRustcOpts - ++ [rustcMeta] - ++ (map (x: "--crate-type ${x}") crateType) - ); - - binRustcOpts = lib.concatStringsSep " " baseRustcOpts; - - build_bin = if buildTests then "build_bin_test" else "build_bin"; - in '' - runHook preBuild - - # configure & source common build functions - LIB_RUSTC_OPTS="${libRustcOpts}" - BIN_RUSTC_OPTS="${binRustcOpts}" - LIB_EXT="${stdenv.hostPlatform.extensions.library}" - LIB_PATH="${libPath}" - LIB_NAME="${libName}" - - CRATE_NAME='${lib.replaceStrings ["-"] ["_"] libName}' - - setup_link_paths - - if [[ -e "$LIB_PATH" ]]; then - build_lib "$LIB_PATH" - ${lib.optionalString buildTests ''build_lib_test "$LIB_PATH"''} - elif [[ -e src/lib.rs ]]; then - build_lib src/lib.rs - ${lib.optionalString buildTests "build_lib_test src/lib.rs"} - fi - - - - ${lib.optionalString (lib.length crateBin > 0) (lib.concatMapStringsSep "\n" (bin: - let - haveRequiredFeature = if bin ? requiredFeatures then - # Check that all element in requiredFeatures are also present in crateFeatures - lib.intersectLists bin.requiredFeatures crateFeatures == bin.requiredFeatures + ++ lib.optional ( + stdenv.hasCC && stdenv.hostPlatform.linker != "lld" + ) "-C linker=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; + rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}"; + + # build the final rustc arguments that can be different between different + # crates + libRustcOpts = lib.concatStringsSep " " ( + baseRustcOpts ++ [ rustcMeta ] ++ (map (x: "--crate-type ${x}") crateType) + ); + + binRustcOpts = lib.concatStringsSep " " baseRustcOpts; + + build_bin = if buildTests then "build_bin_test" else "build_bin"; +in +'' + runHook preBuild + + # configure & source common build functions + LIB_RUSTC_OPTS="${libRustcOpts}" + BIN_RUSTC_OPTS="${binRustcOpts}" + LIB_EXT="${stdenv.hostPlatform.extensions.library}" + LIB_PATH="${libPath}" + LIB_NAME="${libName}" + + CRATE_NAME='${lib.replaceStrings [ "-" ] [ "_" ] libName}' + + setup_link_paths + + if [[ -e "$LIB_PATH" ]]; then + build_lib "$LIB_PATH" + ${lib.optionalString buildTests ''build_lib_test "$LIB_PATH"''} + elif [[ -e src/lib.rs ]]; then + build_lib src/lib.rs + ${lib.optionalString buildTests "build_lib_test src/lib.rs"} + fi + + + + ${lib.optionalString (lib.length crateBin > 0) ( + lib.concatMapStringsSep "\n" ( + bin: + let + haveRequiredFeature = + if bin ? requiredFeatures then + # Check that all element in requiredFeatures are also present in crateFeatures + lib.intersectLists bin.requiredFeatures crateFeatures == bin.requiredFeatures + else + true; + in + if haveRequiredFeature then + '' + mkdir -p target/bin + BIN_NAME='${bin.name or crateName}' + ${ + if !bin ? path then + '' + BIN_PATH="" + search_for_bin_path "$BIN_NAME" + '' + else + '' + BIN_PATH='${bin.path}' + '' + } + ${build_bin} "$BIN_NAME" "$BIN_PATH" + '' else - true; - in - if haveRequiredFeature then '' - mkdir -p target/bin - BIN_NAME='${bin.name or crateName}' - ${if !bin ? path then '' - BIN_PATH="" - search_for_bin_path "$BIN_NAME" - '' else '' - BIN_PATH='${bin.path}' - ''} - ${build_bin} "$BIN_NAME" "$BIN_PATH" - '' else '' - echo Binary ${bin.name or crateName} not compiled due to not having all of the required features -- ${lib.escapeShellArg (builtins.toJSON bin.requiredFeatures)} -- enabled. - '') crateBin)} - - ${lib.optionalString buildTests '' + '' + echo Binary ${bin.name or crateName} not compiled due to not having all of the required features -- ${lib.escapeShellArg (builtins.toJSON bin.requiredFeatures)} -- enabled. + '' + ) crateBin + )} + + ${lib.optionalString buildTests '' # When tests are enabled build all the files in the `tests` directory as # test binaries. if [ -d tests ]; then @@ -110,21 +142,21 @@ done fi - ''} + ''} - # If crateBin is empty and hasCrateBin is not set then we must try to - # detect some kind of bin target based on some files that might exist. - ${lib.optionalString (lib.length crateBin == 0 && !hasCrateBin) '' - if [[ -e src/main.rs ]]; then - mkdir -p target/bin - ${build_bin} ${crateName} src/main.rs - fi - for i in src/bin/*.rs; do #*/ - mkdir -p target/bin - ${build_bin} "$(basename $i .rs)" "$i" - done - ''} - # Remove object files to avoid "wrong ELF type" - find target -type f -name "*.o" -print0 | xargs -0 rm -f - runHook postBuild - '' + # If crateBin is empty and hasCrateBin is not set then we must try to + # detect some kind of bin target based on some files that might exist. + ${lib.optionalString (lib.length crateBin == 0 && !hasCrateBin) '' + if [[ -e src/main.rs ]]; then + mkdir -p target/bin + ${build_bin} ${crateName} src/main.rs + fi + for i in src/bin/*.rs; do #*/ + mkdir -p target/bin + ${build_bin} "$(basename $i .rs)" "$i" + done + ''} + # Remove object files to avoid "wrong ELF type" + find target -type f -name "*.o" -print0 | xargs -0 rm -f + runHook postBuild +'' diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix index c348885e44cab..30f13b988c6aa 100644 --- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix @@ -1,63 +1,73 @@ -{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }: { - build -, buildDependencies -, codegenUnits -, colors -, completeBuildDeps -, completeDeps -, crateAuthors -, crateDescription -, crateFeatures -, crateHomepage -, crateLicense -, crateLicenseFile -, crateLinks -, crateName -, crateType -, crateReadme -, crateRenames -, crateRepository -, crateRustVersion -, crateVersion -, extraLinkFlags -, extraRustcOptsForBuildRs -, libName -, libPath -, release -, verbose -, workspace_member }: -let version_ = lib.splitString "-" crateVersion; - versionPre = lib.optionalString (lib.tail version_ != []) (lib.elemAt version_ 1); - version = lib.splitVersion (lib.head version_); - rustcOpts = lib.foldl' (opts: opt: opts + " " + opt) - (if release then "-C opt-level=3" else "-C debuginfo=2") - (["-C codegen-units=${toString codegenUnits}"] ++ extraRustcOptsForBuildRs); - buildDeps = mkRustcDepArgs buildDependencies crateRenames; - authors = lib.concatStringsSep ":" crateAuthors; - optLevel = if release then 3 else 0; - completeDepsDir = lib.concatStringsSep " " completeDeps; - completeBuildDepsDir = lib.concatStringsSep " " completeBuildDeps; - envFeatures = lib.concatStringsSep " " ( - map (f: lib.replaceStrings ["-"] ["_"] (lib.toUpper f)) crateFeatures - ); -in '' + lib, + stdenv, + echo_colored, + noisily, + mkRustcDepArgs, + mkRustcFeatureArgs, +}: +{ + build, + buildDependencies, + codegenUnits, + colors, + completeBuildDeps, + completeDeps, + crateAuthors, + crateDescription, + crateFeatures, + crateHomepage, + crateLicense, + crateLicenseFile, + crateLinks, + crateName, + crateType, + crateReadme, + crateRenames, + crateRepository, + crateRustVersion, + crateVersion, + extraLinkFlags, + extraRustcOptsForBuildRs, + libName, + libPath, + release, + verbose, + workspace_member, +}: +let + version_ = lib.splitString "-" crateVersion; + versionPre = lib.optionalString (lib.tail version_ != [ ]) (lib.elemAt version_ 1); + version = lib.splitVersion (lib.head version_); + rustcOpts = lib.foldl' (opts: opt: opts + " " + opt) ( + if release then "-C opt-level=3" else "-C debuginfo=2" + ) ([ "-C codegen-units=${toString codegenUnits}" ] ++ extraRustcOptsForBuildRs); + buildDeps = mkRustcDepArgs buildDependencies crateRenames; + authors = lib.concatStringsSep ":" crateAuthors; + optLevel = if release then 3 else 0; + completeDepsDir = lib.concatStringsSep " " completeDeps; + completeBuildDepsDir = lib.concatStringsSep " " completeBuildDeps; + envFeatures = lib.concatStringsSep " " ( + map (f: lib.replaceStrings [ "-" ] [ "_" ] (lib.toUpper f)) crateFeatures + ); +in +'' ${echo_colored colors} ${noisily colors verbose} source ${./lib.sh} ${lib.optionalString (workspace_member != null) '' - noisily cd "${workspace_member}" -''} + noisily cd "${workspace_member}" + ''} ${lib.optionalString (workspace_member == null) '' - echo_colored "Searching for matching Cargo.toml (${crateName})" - local cargo_toml_dir=$(matching_cargo_toml_dir "${crateName}") - if [ -z "$cargo_toml_dir" ]; then - echo_error "ERROR configuring ${crateName}: No matching Cargo.toml in $(pwd) found." >&2 - exit 23 - fi - noisily cd "$cargo_toml_dir" -''} + echo_colored "Searching for matching Cargo.toml (${crateName})" + local cargo_toml_dir=$(matching_cargo_toml_dir "${crateName}") + if [ -z "$cargo_toml_dir" ]; then + echo_error "ERROR configuring ${crateName}: No matching Cargo.toml in $(pwd) found." >&2 + exit 23 + fi + noisily cd "$cargo_toml_dir" + ''} runHook preConfigure @@ -138,8 +148,12 @@ in '' export CARGO_CFG_TARGET_FAMILY="unix" export CARGO_CFG_UNIX=1 export CARGO_CFG_TARGET_ENV="gnu" - export CARGO_CFG_TARGET_ENDIAN=${if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" then "little" else "big"} - export CARGO_CFG_TARGET_POINTER_WIDTH=${with stdenv.hostPlatform; toString (if isILP32 then 32 else parsed.cpu.bits)} + export CARGO_CFG_TARGET_ENDIAN=${ + if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" then "little" else "big" + } + export CARGO_CFG_TARGET_POINTER_WIDTH=${ + with stdenv.hostPlatform; toString (if isILP32 then 32 else parsed.cpu.bits) + } export CARGO_CFG_TARGET_VENDOR=${stdenv.hostPlatform.parsed.vendor.name} export CARGO_MANIFEST_DIR=$(pwd) @@ -211,9 +225,9 @@ in '' EXTRA_LINK_SEARCH=$(sed -n "s/^cargo::\{0,1\}rustc-link-search=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u) ${lib.optionalString (lib.elem "cdylib" crateType) '' - CRATE_TYPE_IS_CDYLIB="true" - EXTRA_CDYLIB_LINK_ARGS=$(sed -n "s/^cargo::\{0,1\}rustc-cdylib-link-arg=\(.*\)/-C link-arg=\1/p" target/build/${crateName}.opt | tr '\n' ' ') -''} + CRATE_TYPE_IS_CDYLIB="true" + EXTRA_CDYLIB_LINK_ARGS=$(sed -n "s/^cargo::\{0,1\}rustc-cdylib-link-arg=\(.*\)/-C link-arg=\1/p" target/build/${crateName}.opt | tr '\n' ' ') + ''} # We want to read part of every line that has cargo:rustc-env= prefix and # export it as environment variables. This turns out tricky if the lines diff --git a/pkgs/build-support/rust/build-rust-crate/helpers.nix b/pkgs/build-support/rust/build-rust-crate/helpers.nix index 386d0ce7084f0..a72bb505a4014 100644 --- a/pkgs/build-support/rust/build-rust-crate/helpers.nix +++ b/pkgs/build-support/rust/build-rust-crate/helpers.nix @@ -1,26 +1,35 @@ -{stdenv, lib}: +{ stdenv, lib }: { kernel = stdenv.hostPlatform.parsed.kernel.name; abi = stdenv.hostPlatform.parsed.abi.name; cpu = stdenv.hostPlatform.parsed.cpu.name; - updateFeatures = f: up: functions: lib.deepSeq f (lib.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions); - mapFeatures = features: map (fun: fun { features = features; }); - mkFeatures = feat: lib.foldl (features: featureName: - if feat.${featureName} or false then - [ featureName ] ++ features - else - features - ) [] (lib.attrNames feat); - include = includedFiles: src: builtins.filterSource (path: type: - lib.any (f: - let p = toString (src + ("/" + f)); - in - p == path || (lib.strings.hasPrefix (p + "/") path) - ) includedFiles - ) src; - exclude = excludedFiles: src: builtins.filterSource (path: type: - lib.all (f: - !lib.strings.hasPrefix (toString (src + ("/" + f))) path - ) excludedFiles - ) src; + updateFeatures = + f: up: functions: + lib.deepSeq f ( + lib.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions + ); + mapFeatures = features: map (fun: fun { features = features; }); + mkFeatures = + feat: + lib.foldl ( + features: featureName: + if feat.${featureName} or false then [ featureName ] ++ features else features + ) [ ] (lib.attrNames feat); + include = + includedFiles: src: + builtins.filterSource ( + path: type: + lib.any ( + f: + let + p = toString (src + ("/" + f)); + in + p == path || (lib.strings.hasPrefix (p + "/") path) + ) includedFiles + ) src; + exclude = + excludedFiles: src: + builtins.filterSource ( + path: type: lib.all (f: !lib.strings.hasPrefix (toString (src + ("/" + f))) path) excludedFiles + ) src; } diff --git a/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/pkgs/build-support/rust/build-rust-crate/install-crate.nix index 7c7c102833d85..b35652ad454a7 100644 --- a/pkgs/build-support/rust/build-rust-crate/install-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/install-crate.nix @@ -1,51 +1,53 @@ { stdenv }: crateName: metadata: buildTests: -if !buildTests then '' - runHook preInstall - # always create $out even if we do not have binaries. We are detecting binary targets during compilation, if those are missing there is no way to only have $lib - mkdir $out - if [[ -s target/env ]]; then - mkdir -p $lib - cp target/env $lib/env - fi - if [[ -s target/link.final ]]; then - mkdir -p $lib/lib - cp target/link.final $lib/lib/link - fi - if [[ "$(ls -A target/lib)" ]]; then - mkdir -p $lib/lib - cp -r target/lib/* $lib/lib #*/ - for library in $lib/lib/*.so $lib/lib/*.dylib; do #*/ - ln -s $library $(echo $library | sed -e "s/-${metadata}//") - done - fi - if [[ "$(ls -A target/build)" ]]; then # */ - mkdir -p $lib/lib - cp -r target/build/* $lib/lib # */ - fi - if [[ -d target/bin ]]; then - if [[ "$(ls -A target/bin)" ]]; then - mkdir -p $out/bin - cp -rP target/bin/* $out/bin # */ +if !buildTests then + '' + runHook preInstall + # always create $out even if we do not have binaries. We are detecting binary targets during compilation, if those are missing there is no way to only have $lib + mkdir $out + if [[ -s target/env ]]; then + mkdir -p $lib + cp target/env $lib/env fi - fi - runHook postInstall -'' else -# for tests we just put them all in the output. No execution. -'' - runHook preInstall + if [[ -s target/link.final ]]; then + mkdir -p $lib/lib + cp target/link.final $lib/lib/link + fi + if [[ "$(ls -A target/lib)" ]]; then + mkdir -p $lib/lib + cp -r target/lib/* $lib/lib #*/ + for library in $lib/lib/*.so $lib/lib/*.dylib; do #*/ + ln -s $library $(echo $library | sed -e "s/-${metadata}//") + done + fi + if [[ "$(ls -A target/build)" ]]; then # */ + mkdir -p $lib/lib + cp -r target/build/* $lib/lib # */ + fi + if [[ -d target/bin ]]; then + if [[ "$(ls -A target/bin)" ]]; then + mkdir -p $out/bin + cp -rP target/bin/* $out/bin # */ + fi + fi + runHook postInstall + '' +else + # for tests we just put them all in the output. No execution. + '' + runHook preInstall - mkdir -p $out/tests - if [ -e target/bin ]; then - find target/bin/ -type f -executable -exec cp {} $out/tests \; - fi - if [ -e target/lib ]; then - find target/lib/ -type f \! -name '*.rlib' \ - -a \! -name '*${stdenv.hostPlatform.extensions.library}' \ - -a \! -name '*.d' \ - -executable \ - -print0 | xargs --no-run-if-empty --null install --target $out/tests; - fi + mkdir -p $out/tests + if [ -e target/bin ]; then + find target/bin/ -type f -executable -exec cp {} $out/tests \; + fi + if [ -e target/lib ]; then + find target/lib/ -type f \! -name '*.rlib' \ + -a \! -name '*${stdenv.hostPlatform.extensions.library}' \ + -a \! -name '*.d' \ + -executable \ + -print0 | xargs --no-run-if-empty --null install --target $out/tests; + fi - runHook postInstall -'' + runHook postInstall + '' diff --git a/pkgs/build-support/rust/build-rust-crate/log.nix b/pkgs/build-support/rust/build-rust-crate/log.nix index cb0846190eac9..b1a07f1a9589c 100644 --- a/pkgs/build-support/rust/build-rust-crate/log.nix +++ b/pkgs/build-support/rust/build-rust-crate/log.nix @@ -1,27 +1,29 @@ { lib }: -let echo_colored_body = start_escape: - # Body of a function that behaves like "echo" but - # has the output colored by the given start_escape - # sequence. E.g. - # - # * echo_x "Building ..." - # * echo_x -n "Running " - # - # This is more complicated than apparent at first sight - # because: - # * The color markers and the text must be print - # in the same echo statement. Otherise, other - # intermingled text from concurrent builds will - # be colored as well. - # * We need to preserve the trailing newline of the - # echo if and only if it is present. Bash likes - # to strip those if we capture the output of echo - # in a variable. - # * Leading "-" will be interpreted by test as an - # option for itself. Therefore, we prefix it with - # an x in `[[ "x$1" =~ ^x- ]]`. - '' +let + echo_colored_body = + start_escape: + # Body of a function that behaves like "echo" but + # has the output colored by the given start_escape + # sequence. E.g. + # + # * echo_x "Building ..." + # * echo_x -n "Running " + # + # This is more complicated than apparent at first sight + # because: + # * The color markers and the text must be print + # in the same echo statement. Otherise, other + # intermingled text from concurrent builds will + # be colored as well. + # * We need to preserve the trailing newline of the + # echo if and only if it is present. Bash likes + # to strip those if we capture the output of echo + # in a variable. + # * Leading "-" will be interpreted by test as an + # option for itself. Therefore, we prefix it with + # an x in `[[ "x$1" =~ ^x- ]]`. + '' local echo_args=""; while [[ "x$1" =~ ^x- ]]; do echo_args+=" $1" @@ -31,12 +33,12 @@ let echo_colored_body = start_escape: local start_escape="$(printf '${start_escape}')" local reset="$(printf '\033[0m')" echo $echo_args $start_escape"$@"$reset - ''; - echo_conditional_colored_body = colors: start_escape: - if colors == "always" - then (echo_colored_body start_escape) - else ''echo "$@"''; -in { + ''; + echo_conditional_colored_body = + colors: start_escape: + if colors == "always" then (echo_colored_body start_escape) else ''echo "$@"''; +in +{ echo_colored = colors: '' echo_colored() { ${echo_conditional_colored_body colors ''\033[0;1;32m''} @@ -45,7 +47,7 @@ in { echo_error() { ${echo_conditional_colored_body colors ''\033[0;1;31m''} } - ''; + ''; noisily = colors: verbose: '' noisily() { diff --git a/pkgs/build-support/rust/build-rust-crate/test/brotli-crates.nix b/pkgs/build-support/rust/build-rust-crate/test/brotli-crates.nix index 4831c10627156..006045c206040 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/brotli-crates.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/brotli-crates.nix @@ -1,95 +1,161 @@ -{ lib, stdenv, buildRustCrate, fetchgit }: -let kernel = stdenv.buildPlatform.parsed.kernel.name; - abi = stdenv.buildPlatform.parsed.abi.name; - include = includedFiles: src: builtins.filterSource (path: type: - lib.lists.any (f: - let p = toString (src + ("/" + f)); in +{ + lib, + stdenv, + buildRustCrate, + fetchgit, +}: +let + kernel = stdenv.buildPlatform.parsed.kernel.name; + abi = stdenv.buildPlatform.parsed.abi.name; + include = + includedFiles: src: + builtins.filterSource ( + path: type: + lib.lists.any ( + f: + let + p = toString (src + ("/" + f)); + in (path == p) || (type == "directory" && lib.strings.hasPrefix path p) ) includedFiles ) src; - updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions); - mapFeatures = features: map (fun: fun { features = features; }); - mkFeatures = feat: lib.lists.foldl (features: featureName: - if feat.${featureName} or false then - [ featureName ] ++ features - else - features - ) [] (builtins.attrNames feat); + updateFeatures = + f: up: functions: + builtins.deepSeq f ( + lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions + ); + mapFeatures = features: map (fun: fun { features = features; }); + mkFeatures = + feat: + lib.lists.foldl ( + features: featureName: + if feat.${featureName} or false then [ featureName ] ++ features else features + ) [ ] (builtins.attrNames feat); in rec { - alloc_no_stdlib_1_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "alloc-no-stdlib"; - version = "1.3.0"; - authors = [ "Daniel Reiter Horn " ]; - sha256 = "1jcp27pzmqdszgp80y484g4kwbjbg7x8a589drcwbxg0i8xwkir9"; - crateBin = [ { name = "example"; } ]; - inherit dependencies buildDependencies features; - }; - brotli_2_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "brotli"; - version = "2.5.0"; - authors = [ "Daniel Reiter Horn " "The Brotli Authors" ]; - sha256 = "1ynw4hkdwnp0kj30p86ls44ahv4s99258s019bqrq4mya8hlsb5b"; - crateBin = [ { name = "brotli"; } ]; - inherit dependencies buildDependencies features; - }; - brotli_decompressor_1_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate { - crateName = "brotli-decompressor"; - version = "1.3.1"; - authors = [ "Daniel Reiter Horn " "The Brotli Authors" ]; - sha256 = "022g69q1xzwdj0130qm3fa4qwpn4q1jx3lc8yz0v0v201p7bm8fb"; - crateBin = [ { name = "brotli-decompressor"; } ]; - inherit dependencies buildDependencies features; - }; - alloc_no_stdlib_1_3_0 = { features?(alloc_no_stdlib_1_3_0_features {}) }: alloc_no_stdlib_1_3_0_ { - features = mkFeatures (features.alloc_no_stdlib_1_3_0 or {}); - }; - alloc_no_stdlib_1_3_0_features = f: updateFeatures f ({ - alloc_no_stdlib_1_3_0.default = (f.alloc_no_stdlib_1_3_0.default or true); - }) []; - brotli_2_5_0 = { features?(brotli_2_5_0_features {}) }: brotli_2_5_0_ { - dependencies = mapFeatures features ([ alloc_no_stdlib_1_3_0 brotli_decompressor_1_3_1 ]); - features = mkFeatures (features.brotli_2_5_0 or {}); - }; - brotli_2_5_0_features = f: updateFeatures f (rec { - alloc_no_stdlib_1_3_0.no-stdlib = - (f.alloc_no_stdlib_1_3_0.no-stdlib or false) || - (brotli_2_5_0.no-stdlib or false) || - (f.brotli_2_5_0.no-stdlib or false); - alloc_no_stdlib_1_3_0.default = true; - brotli_2_5_0.default = (f.brotli_2_5_0.default or true); - brotli_decompressor_1_3_1.disable-timer = - (f.brotli_decompressor_1_3_1.disable-timer or false) || - (brotli_2_5_0.disable-timer or false) || - (f.brotli_2_5_0.disable-timer or false); - brotli_decompressor_1_3_1.no-stdlib = - (f.brotli_decompressor_1_3_1.no-stdlib or false) || - (brotli_2_5_0.no-stdlib or false) || - (f.brotli_2_5_0.no-stdlib or false); - brotli_decompressor_1_3_1.benchmark = - (f.brotli_decompressor_1_3_1.benchmark or false) || - (brotli_2_5_0.benchmark or false) || - (f.brotli_2_5_0.benchmark or false); - brotli_decompressor_1_3_1.default = true; - brotli_decompressor_1_3_1.seccomp = - (f.brotli_decompressor_1_3_1.seccomp or false) || - (brotli_2_5_0.seccomp or false) || - (f.brotli_2_5_0.seccomp or false); - }) [ alloc_no_stdlib_1_3_0_features brotli_decompressor_1_3_1_features ]; - brotli_decompressor_1_3_1 = { features?(brotli_decompressor_1_3_1_features {}) }: brotli_decompressor_1_3_1_ { - dependencies = mapFeatures features ([ alloc_no_stdlib_1_3_0 ]); - features = mkFeatures (features.brotli_decompressor_1_3_1 or {}); - }; - brotli_decompressor_1_3_1_features = f: updateFeatures f (rec { - alloc_no_stdlib_1_3_0.no-stdlib = - (f.alloc_no_stdlib_1_3_0.no-stdlib or false) || - (brotli_decompressor_1_3_1.no-stdlib or false) || - (f.brotli_decompressor_1_3_1.no-stdlib or false); - alloc_no_stdlib_1_3_0.default = true; - alloc_no_stdlib_1_3_0.unsafe = - (f.alloc_no_stdlib_1_3_0.unsafe or false) || - (brotli_decompressor_1_3_1.unsafe or false) || - (f.brotli_decompressor_1_3_1.unsafe or false); - brotli_decompressor_1_3_1.default = (f.brotli_decompressor_1_3_1.default or true); - }) [ alloc_no_stdlib_1_3_0_features ]; + alloc_no_stdlib_1_3_0_ = + { + dependencies ? [ ], + buildDependencies ? [ ], + features ? [ ], + }: + buildRustCrate { + crateName = "alloc-no-stdlib"; + version = "1.3.0"; + authors = [ "Daniel Reiter Horn " ]; + sha256 = "1jcp27pzmqdszgp80y484g4kwbjbg7x8a589drcwbxg0i8xwkir9"; + crateBin = [ { name = "example"; } ]; + inherit dependencies buildDependencies features; + }; + brotli_2_5_0_ = + { + dependencies ? [ ], + buildDependencies ? [ ], + features ? [ ], + }: + buildRustCrate { + crateName = "brotli"; + version = "2.5.0"; + authors = [ + "Daniel Reiter Horn " + "The Brotli Authors" + ]; + sha256 = "1ynw4hkdwnp0kj30p86ls44ahv4s99258s019bqrq4mya8hlsb5b"; + crateBin = [ { name = "brotli"; } ]; + inherit dependencies buildDependencies features; + }; + brotli_decompressor_1_3_1_ = + { + dependencies ? [ ], + buildDependencies ? [ ], + features ? [ ], + }: + buildRustCrate { + crateName = "brotli-decompressor"; + version = "1.3.1"; + authors = [ + "Daniel Reiter Horn " + "The Brotli Authors" + ]; + sha256 = "022g69q1xzwdj0130qm3fa4qwpn4q1jx3lc8yz0v0v201p7bm8fb"; + crateBin = [ { name = "brotli-decompressor"; } ]; + inherit dependencies buildDependencies features; + }; + alloc_no_stdlib_1_3_0 = + { + features ? (alloc_no_stdlib_1_3_0_features { }), + }: + alloc_no_stdlib_1_3_0_ { + features = mkFeatures (features.alloc_no_stdlib_1_3_0 or { }); + }; + alloc_no_stdlib_1_3_0_features = + f: + updateFeatures f ({ + alloc_no_stdlib_1_3_0.default = (f.alloc_no_stdlib_1_3_0.default or true); + }) [ ]; + brotli_2_5_0 = + { + features ? (brotli_2_5_0_features { }), + }: + brotli_2_5_0_ { + dependencies = mapFeatures features ([ + alloc_no_stdlib_1_3_0 + brotli_decompressor_1_3_1 + ]); + features = mkFeatures (features.brotli_2_5_0 or { }); + }; + brotli_2_5_0_features = + f: + updateFeatures f + (rec { + alloc_no_stdlib_1_3_0.no-stdlib = + (f.alloc_no_stdlib_1_3_0.no-stdlib or false) + || (brotli_2_5_0.no-stdlib or false) + || (f.brotli_2_5_0.no-stdlib or false); + alloc_no_stdlib_1_3_0.default = true; + brotli_2_5_0.default = (f.brotli_2_5_0.default or true); + brotli_decompressor_1_3_1.disable-timer = + (f.brotli_decompressor_1_3_1.disable-timer or false) + || (brotli_2_5_0.disable-timer or false) + || (f.brotli_2_5_0.disable-timer or false); + brotli_decompressor_1_3_1.no-stdlib = + (f.brotli_decompressor_1_3_1.no-stdlib or false) + || (brotli_2_5_0.no-stdlib or false) + || (f.brotli_2_5_0.no-stdlib or false); + brotli_decompressor_1_3_1.benchmark = + (f.brotli_decompressor_1_3_1.benchmark or false) + || (brotli_2_5_0.benchmark or false) + || (f.brotli_2_5_0.benchmark or false); + brotli_decompressor_1_3_1.default = true; + brotli_decompressor_1_3_1.seccomp = + (f.brotli_decompressor_1_3_1.seccomp or false) + || (brotli_2_5_0.seccomp or false) + || (f.brotli_2_5_0.seccomp or false); + }) + [ + alloc_no_stdlib_1_3_0_features + brotli_decompressor_1_3_1_features + ]; + brotli_decompressor_1_3_1 = + { + features ? (brotli_decompressor_1_3_1_features { }), + }: + brotli_decompressor_1_3_1_ { + dependencies = mapFeatures features ([ alloc_no_stdlib_1_3_0 ]); + features = mkFeatures (features.brotli_decompressor_1_3_1 or { }); + }; + brotli_decompressor_1_3_1_features = + f: + updateFeatures f (rec { + alloc_no_stdlib_1_3_0.no-stdlib = + (f.alloc_no_stdlib_1_3_0.no-stdlib or false) + || (brotli_decompressor_1_3_1.no-stdlib or false) + || (f.brotli_decompressor_1_3_1.no-stdlib or false); + alloc_no_stdlib_1_3_0.default = true; + alloc_no_stdlib_1_3_0.unsafe = + (f.alloc_no_stdlib_1_3_0.unsafe or false) + || (brotli_decompressor_1_3_1.unsafe or false) + || (f.brotli_decompressor_1_3_1.unsafe or false); + brotli_decompressor_1_3_1.default = (f.brotli_decompressor_1_3_1.default or true); + }) [ alloc_no_stdlib_1_3_0_features ]; } diff --git a/pkgs/build-support/rust/build-rust-crate/test/default.nix b/pkgs/build-support/rust/build-rust-crate/test/default.nix index 6069ef802dde2..fdfc8fdef01ef 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/default.nix @@ -1,733 +1,903 @@ -{ lib -, buildPackages -, buildRustCrate -, callPackage -, releaseTools -, runCommand -, runCommandCC -, stdenv -, symlinkJoin -, writeTextFile -, pkgsCross +{ + lib, + buildPackages, + buildRustCrate, + callPackage, + releaseTools, + runCommand, + runCommandCC, + stdenv, + symlinkJoin, + writeTextFile, + pkgsCross, }: let - mkCrate = buildRustCrate: args: let - p = { - crateName = "nixtestcrate"; - version = "0.1.0"; - authors = [ "Test " ]; - } // args; - in buildRustCrate p; + mkCrate = + buildRustCrate: args: + let + p = { + crateName = "nixtestcrate"; + version = "0.1.0"; + authors = [ "Test " ]; + } // args; + in + buildRustCrate p; mkHostCrate = mkCrate buildRustCrate; mkCargoToml = - { name, crateVersion ? "0.1.0", path ? "Cargo.toml" }: - mkFile path '' - [package] - name = ${builtins.toJSON name} - version = ${builtins.toJSON crateVersion} - ''; - - mkFile = destination: text: writeTextFile { - name = "src"; - destination = "/${destination}"; - inherit text; - }; + { + name, + crateVersion ? "0.1.0", + path ? "Cargo.toml", + }: + mkFile path '' + [package] + name = ${builtins.toJSON name} + version = ${builtins.toJSON crateVersion} + ''; - mkBin = name: mkFile name '' - use std::env; - fn main() { - let name: String = env::args().nth(0).unwrap(); - println!("executed {}", name); - } - ''; - - mkBinExtern = name: extern: mkFile name '' - extern crate ${extern}; - fn main() { - assert_eq!(${extern}::test(), 23); - } - ''; - - mkTestFile = name: functionName: mkFile name '' - #[cfg(test)] - #[test] - fn ${functionName}() { - assert!(true); - } - ''; - mkTestFileWithMain = name: functionName: mkFile name '' - #[cfg(test)] - #[test] - fn ${functionName}() { - assert!(true); - } - - fn main() {} - ''; + mkFile = + destination: text: + writeTextFile { + name = "src"; + destination = "/${destination}"; + inherit text; + }; + + mkBin = + name: + mkFile name '' + use std::env; + fn main() { + let name: String = env::args().nth(0).unwrap(); + println!("executed {}", name); + } + ''; + mkBinExtern = + name: extern: + mkFile name '' + extern crate ${extern}; + fn main() { + assert_eq!(${extern}::test(), 23); + } + ''; + + mkTestFile = + name: functionName: + mkFile name '' + #[cfg(test)] + #[test] + fn ${functionName}() { + assert!(true); + } + ''; + mkTestFileWithMain = + name: functionName: + mkFile name '' + #[cfg(test)] + #[test] + fn ${functionName}() { + assert!(true); + } + + fn main() {} + ''; mkLib = name: mkFile name "pub fn test() -> i32 { return 23; }"; - mkTest = crateArgs: let - crate = mkHostCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]); - hasTests = crateArgs.buildTests or false; - expectedTestOutputs = crateArgs.expectedTestOutputs or null; - binaries = map (v: lib.escapeShellArg v.name) (crateArgs.crateBin or []); - isLib = crateArgs ? libName || crateArgs ? libPath; - crateName = crateArgs.crateName or "nixtestcrate"; - libName = crateArgs.libName or crateName; - - libTestBinary = if !isLib then null else mkHostCrate { - crateName = "run-test-${crateName}"; - dependencies = [ crate ]; - src = mkBinExtern "src/main.rs" libName; - }; + mkTest = + crateArgs: + let + crate = mkHostCrate (builtins.removeAttrs crateArgs [ "expectedTestOutput" ]); + hasTests = crateArgs.buildTests or false; + expectedTestOutputs = crateArgs.expectedTestOutputs or null; + binaries = map (v: lib.escapeShellArg v.name) (crateArgs.crateBin or [ ]); + isLib = crateArgs ? libName || crateArgs ? libPath; + crateName = crateArgs.crateName or "nixtestcrate"; + libName = crateArgs.libName or crateName; + + libTestBinary = + if !isLib then + null + else + mkHostCrate { + crateName = "run-test-${crateName}"; + dependencies = [ crate ]; + src = mkBinExtern "src/main.rs" libName; + }; in - assert expectedTestOutputs != null -> hasTests; - assert hasTests -> expectedTestOutputs != null; + assert expectedTestOutputs != null -> hasTests; + assert hasTests -> expectedTestOutputs != null; - runCommand "run-buildRustCrate-${crateName}-test" { + runCommand "run-buildRustCrate-${crateName}-test" + { nativeBuildInputs = [ crate ]; - } (if !hasTests then '' - ${lib.concatMapStringsSep "\n" (binary: - # Can't actually run the binary when cross-compiling - (lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "type ") + binary - ) binaries} - ${lib.optionalString isLib '' + } + ( + if !hasTests then + '' + ${lib.concatMapStringsSep "\n" ( + binary: + # Can't actually run the binary when cross-compiling + (lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "type ") + binary + ) binaries} + ${lib.optionalString isLib '' test -e ${crate}/lib/*.rlib || exit 1 ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "test -x "} \ ${libTestBinary}/bin/run-test-${crateName} - ''} + ''} + touch $out + '' + else if stdenv.hostPlatform == stdenv.buildPlatform then + '' + for file in ${crate}/tests/*; do + $file 2>&1 >> $out + done + set -e + ${lib.concatMapStringsSep "\n" ( + o: "grep '${o}' $out || { echo 'output \"${o}\" not found in:'; cat $out; exit 23; }" + ) expectedTestOutputs} + '' + else + '' + for file in ${crate}/tests/*; do + test -x "$file" + done + touch "$out" + '' + ); + + /* + Returns a derivation that asserts that the crate specified by `crateArgs` + has the specified files as output. + + `name` is used as part of the derivation name that performs the checking. + + `mkCrate` can be used to override the `mkCrate` call/implementation to use to + override the `buildRustCrate`, useful for cross compilation. Uses `mkHostCrate` by default. + + `crateArgs` is passed to `mkCrate` to build the crate with `buildRustCrate` + + `expectedFiles` contains a list of expected file paths in the output. E.g. + `[ "./bin/my_binary" ]`. + + `output` specifies the name of the output to use. By default, the default + output is used but e.g. `output = "lib";` will cause the lib output + to be checked instead. You do not need to specify any directories. + */ + assertOutputs = + { + name, + mkCrate ? mkHostCrate, + crateArgs, + expectedFiles, + output ? null, + }: + assert (builtins.isString name); + assert (builtins.isAttrs crateArgs); + assert (builtins.isList expectedFiles); + + let + crate = mkCrate (builtins.removeAttrs crateArgs [ "expectedTestOutput" ]); + crateOutput = if output == null then crate else crate."${output}"; + expectedFilesFile = writeTextFile { + name = "expected-files-${name}"; + text = + let + sorted = builtins.sort (a: b: a < b) expectedFiles; + concatenated = builtins.concatStringsSep "\n" sorted; + in + "${concatenated}\n"; + }; + in + runCommand "assert-outputs-${name}" + { + } + ( + '' + local actualFiles=$(mktemp) + + cd "${crateOutput}" + find . -type f \ + | sort \ + '' + # sed out the hash because it differs per platform + + '' + | sed 's/-${crate.metadata}//g' \ + > "$actualFiles" + diff -q ${expectedFilesFile} "$actualFiles" > /dev/null || { + echo -e "\033[0;1;31mERROR: Difference in expected output files in ${crateOutput} \033[0m" >&2 + echo === Got: + sed -e 's/^/ /' $actualFiles + echo === Expected: + sed -e 's/^/ /' ${expectedFilesFile} + echo === Diff: + diff -u ${expectedFilesFile} $actualFiles |\ + tail -n +3 |\ + sed -e 's/^/ /' + exit 1 + } touch $out - '' else if stdenv.hostPlatform == stdenv.buildPlatform then '' - for file in ${crate}/tests/*; do - $file 2>&1 >> $out - done - set -e - ${lib.concatMapStringsSep "\n" (o: "grep '${o}' $out || { echo 'output \"${o}\" not found in:'; cat $out; exit 23; }") expectedTestOutputs} - '' else '' - for file in ${crate}/tests/*; do - test -x "$file" - done - touch "$out" '' ); - /* Returns a derivation that asserts that the crate specified by `crateArgs` - has the specified files as output. - - `name` is used as part of the derivation name that performs the checking. - - `mkCrate` can be used to override the `mkCrate` call/implementation to use to - override the `buildRustCrate`, useful for cross compilation. Uses `mkHostCrate` by default. - - `crateArgs` is passed to `mkCrate` to build the crate with `buildRustCrate` - - `expectedFiles` contains a list of expected file paths in the output. E.g. - `[ "./bin/my_binary" ]`. - - `output` specifies the name of the output to use. By default, the default - output is used but e.g. `output = "lib";` will cause the lib output - to be checked instead. You do not need to specify any directories. - */ - assertOutputs = { name, mkCrate ? mkHostCrate, crateArgs, expectedFiles, output? null, }: - assert (builtins.isString name); - assert (builtins.isAttrs crateArgs); - assert (builtins.isList expectedFiles); - - let - crate = mkCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]); - crateOutput = if output == null then crate else crate."${output}"; - expectedFilesFile = writeTextFile { - name = "expected-files-${name}"; - text = - let sorted = builtins.sort (a: b: a "$actualFiles" - diff -q ${expectedFilesFile} "$actualFiles" > /dev/null || { - echo -e "\033[0;1;31mERROR: Difference in expected output files in ${crateOutput} \033[0m" >&2 - echo === Got: - sed -e 's/^/ /' $actualFiles - echo === Expected: - sed -e 's/^/ /' ${expectedFilesFile} - echo === Diff: - diff -u ${expectedFilesFile} $actualFiles |\ - tail -n +3 |\ - sed -e 's/^/ /' - exit 1 - } - touch $out - '') - ; - - in rec { - - tests = let - cases = rec { - libPath = { libPath = "src/my_lib.rs"; src = mkLib "src/my_lib.rs"; }; - srcLib = { src = mkLib "src/lib.rs"; }; - - # This used to be supported by cargo but as of 1.40.0 I can't make it work like that with just cargo anymore. - # This might be a regression or deprecated thing they finally removed… - # customLibName = { libName = "test_lib"; src = mkLib "src/test_lib.rs"; }; - # rustLibTestsCustomLibName = { - # libName = "test_lib"; - # src = mkTestFile "src/test_lib.rs" "foo"; - # buildTests = true; - # expectedTestOutputs = [ "test foo ... ok" ]; - # }; - - customLibNameAndLibPath = { libName = "test_lib"; libPath = "src/best-lib.rs"; src = mkLib "src/best-lib.rs"; }; - crateBinWithPath = { crateBin = [{ name = "test_binary1"; path = "src/foobar.rs"; }]; src = mkBin "src/foobar.rs"; }; - crateBinNoPath1 = { crateBin = [{ name = "my-binary2"; }]; src = mkBin "src/my_binary2.rs"; }; - crateBinNoPath2 = { - crateBin = [{ name = "my-binary3"; } { name = "my-binary4"; }]; - src = symlinkJoin { - name = "buildRustCrateMultipleBinariesCase"; - paths = [ (mkBin "src/bin/my_binary3.rs") (mkBin "src/bin/my_binary4.rs") ]; +in +rec { + + tests = + let + cases = rec { + libPath = { + libPath = "src/my_lib.rs"; + src = mkLib "src/my_lib.rs"; }; - }; - crateBinNoPath3 = { crateBin = [{ name = "my-binary5"; }]; src = mkBin "src/bin/main.rs"; }; - crateBinNoPath4 = { crateBin = [{ name = "my-binary6"; }]; src = mkBin "src/main.rs";}; - crateBinRename1 = { - crateBin = [{ name = "my-binary-rename1"; }]; - src = mkBinExtern "src/main.rs" "foo_renamed"; - dependencies = [ (mkHostCrate { crateName = "foo"; src = mkLib "src/lib.rs"; }) ]; - crateRenames = { "foo" = "foo_renamed"; }; - }; - crateBinRename2 = { - crateBin = [{ name = "my-binary-rename2"; }]; - src = mkBinExtern "src/main.rs" "foo_renamed"; - dependencies = [ (mkHostCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ]; - crateRenames = { "foo" = "foo_renamed"; }; - }; - crateBinRenameMultiVersion = let - crateWithVersion = version: mkHostCrate { - crateName = "my_lib"; - inherit version; - src = mkFile "src/lib.rs" '' - pub const version: &str = "${version}"; - ''; + srcLib = { + src = mkLib "src/lib.rs"; }; - depCrate01 = crateWithVersion "0.1.2"; - depCrate02 = crateWithVersion "0.2.1"; - in { - crateName = "my_bin"; - src = symlinkJoin { - name = "my_bin_src"; - paths = [ - (mkFile "src/main.rs" '' - #[test] - fn my_lib_01() { assert_eq!(lib01::version, "0.1.2"); } - - #[test] - fn my_lib_02() { assert_eq!(lib02::version, "0.2.1"); } - - fn main() { } - '') - ]; + + # This used to be supported by cargo but as of 1.40.0 I can't make it work like that with just cargo anymore. + # This might be a regression or deprecated thing they finally removed… + # customLibName = { libName = "test_lib"; src = mkLib "src/test_lib.rs"; }; + # rustLibTestsCustomLibName = { + # libName = "test_lib"; + # src = mkTestFile "src/test_lib.rs" "foo"; + # buildTests = true; + # expectedTestOutputs = [ "test foo ... ok" ]; + # }; + + customLibNameAndLibPath = { + libName = "test_lib"; + libPath = "src/best-lib.rs"; + src = mkLib "src/best-lib.rs"; }; - dependencies = [ depCrate01 depCrate02 ]; - crateRenames = { - "my_lib" = [ + crateBinWithPath = { + crateBin = [ { - version = "0.1.2"; - rename = "lib01"; - } - { - version = "0.2.1"; - rename = "lib02"; + name = "test_binary1"; + path = "src/foobar.rs"; } ]; + src = mkBin "src/foobar.rs"; }; - buildTests = true; - expectedTestOutputs = [ - "test my_lib_01 ... ok" - "test my_lib_02 ... ok" - ]; - }; - rustLibTestsDefault = { - src = mkTestFile "src/lib.rs" "baz"; - buildTests = true; - expectedTestOutputs = [ "test baz ... ok" ]; - }; - rustLibTestsCustomLibPath = { - libPath = "src/test_path.rs"; - src = mkTestFile "src/test_path.rs" "bar"; - buildTests = true; - expectedTestOutputs = [ "test bar ... ok" ]; - }; - rustLibTestsCustomLibPathWithTests = { - libPath = "src/test_path.rs"; - src = symlinkJoin { - name = "rust-lib-tests-custom-lib-path-with-tests-dir"; - paths = [ - (mkTestFile "src/test_path.rs" "bar") - (mkTestFile "tests/something.rs" "something") + crateBinNoPath1 = { + crateBin = [ { name = "my-binary2"; } ]; + src = mkBin "src/my_binary2.rs"; + }; + crateBinNoPath2 = { + crateBin = [ + { name = "my-binary3"; } + { name = "my-binary4"; } ]; + src = symlinkJoin { + name = "buildRustCrateMultipleBinariesCase"; + paths = [ + (mkBin "src/bin/my_binary3.rs") + (mkBin "src/bin/my_binary4.rs") + ]; + }; }; - buildTests = true; - expectedTestOutputs = [ - "test bar ... ok" - "test something ... ok" - ]; - }; - rustBinTestsCombined = { - src = symlinkJoin { - name = "rust-bin-tests-combined"; - paths = [ - (mkTestFileWithMain "src/main.rs" "src_main") - (mkTestFile "tests/foo.rs" "tests_foo") - (mkTestFile "tests/bar.rs" "tests_bar") + crateBinNoPath3 = { + crateBin = [ { name = "my-binary5"; } ]; + src = mkBin "src/bin/main.rs"; + }; + crateBinNoPath4 = { + crateBin = [ { name = "my-binary6"; } ]; + src = mkBin "src/main.rs"; + }; + crateBinRename1 = { + crateBin = [ { name = "my-binary-rename1"; } ]; + src = mkBinExtern "src/main.rs" "foo_renamed"; + dependencies = [ + (mkHostCrate { + crateName = "foo"; + src = mkLib "src/lib.rs"; + }) ]; + crateRenames = { + "foo" = "foo_renamed"; + }; }; - buildTests = true; - expectedTestOutputs = [ - "test src_main ... ok" - "test tests_foo ... ok" - "test tests_bar ... ok" - ]; - }; - rustBinTestsSubdirCombined = { - src = symlinkJoin { - name = "rust-bin-tests-subdir-combined"; - paths = [ - (mkTestFileWithMain "src/main.rs" "src_main") - (mkTestFile "tests/foo/main.rs" "tests_foo") - (mkTestFile "tests/bar/main.rs" "tests_bar") + crateBinRename2 = { + crateBin = [ { name = "my-binary-rename2"; } ]; + src = mkBinExtern "src/main.rs" "foo_renamed"; + dependencies = [ + (mkHostCrate { + crateName = "foo"; + libName = "foolib"; + src = mkLib "src/lib.rs"; + }) ]; + crateRenames = { + "foo" = "foo_renamed"; + }; }; - buildTests = true; - expectedTestOutputs = [ - "test src_main ... ok" - "test tests_foo ... ok" - "test tests_bar ... ok" - ]; - }; - linkAgainstRlibCrate = { - crateName = "foo"; - src = mkFile "src/main.rs" '' - extern crate somerlib; - fn main() {} - ''; - dependencies = [ - (mkHostCrate { - crateName = "somerlib"; - type = [ "rlib" ]; - src = mkLib "src/lib.rs"; - }) - ]; - }; - buildScriptDeps = let - depCrate = buildRustCrate: boolVal: mkCrate buildRustCrate { - crateName = "bar"; - src = mkFile "src/lib.rs" '' - pub const baz: bool = ${boolVal}; - ''; + crateBinRenameMultiVersion = + let + crateWithVersion = + version: + mkHostCrate { + crateName = "my_lib"; + inherit version; + src = mkFile "src/lib.rs" '' + pub const version: &str = "${version}"; + ''; + }; + depCrate01 = crateWithVersion "0.1.2"; + depCrate02 = crateWithVersion "0.2.1"; + in + { + crateName = "my_bin"; + src = symlinkJoin { + name = "my_bin_src"; + paths = [ + (mkFile "src/main.rs" '' + #[test] + fn my_lib_01() { assert_eq!(lib01::version, "0.1.2"); } + + #[test] + fn my_lib_02() { assert_eq!(lib02::version, "0.2.1"); } + + fn main() { } + '') + ]; + }; + dependencies = [ + depCrate01 + depCrate02 + ]; + crateRenames = { + "my_lib" = [ + { + version = "0.1.2"; + rename = "lib01"; + } + { + version = "0.2.1"; + rename = "lib02"; + } + ]; + }; + buildTests = true; + expectedTestOutputs = [ + "test my_lib_01 ... ok" + "test my_lib_02 ... ok" + ]; + }; + rustLibTestsDefault = { + src = mkTestFile "src/lib.rs" "baz"; + buildTests = true; + expectedTestOutputs = [ "test baz ... ok" ]; }; - in { - crateName = "foo"; - src = symlinkJoin { - name = "build-script-and-main"; - paths = [ - (mkFile "src/main.rs" '' - extern crate bar; - #[cfg(test)] - #[test] - fn baz_false() { assert!(!bar::baz); } - fn main() { } - '') - (mkFile "build.rs" '' - extern crate bar; - fn main() { assert!(bar::baz); } - '') - ]; + rustLibTestsCustomLibPath = { + libPath = "src/test_path.rs"; + src = mkTestFile "src/test_path.rs" "bar"; + buildTests = true; + expectedTestOutputs = [ "test bar ... ok" ]; }; - buildDependencies = [ (depCrate buildPackages.buildRustCrate "true") ]; - dependencies = [ (depCrate buildRustCrate "false") ]; - buildTests = true; - expectedTestOutputs = [ "test baz_false ... ok" ]; - }; - buildScriptFeatureEnv = { - crateName = "build-script-feature-env"; - features = [ "some-feature" "crate/another_feature" ]; - src = symlinkJoin { - name = "build-script-feature-env"; - paths = [ - (mkFile "src/main.rs" '' - #[cfg(test)] - #[test] - fn feature_not_visible() { - assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_err()); - assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none()); - } - fn main() {} - '') - (mkFile "build.rs" '' - fn main() { - assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_ok()); - assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none()); - } - '') + rustLibTestsCustomLibPathWithTests = { + libPath = "src/test_path.rs"; + src = symlinkJoin { + name = "rust-lib-tests-custom-lib-path-with-tests-dir"; + paths = [ + (mkTestFile "src/test_path.rs" "bar") + (mkTestFile "tests/something.rs" "something") + ]; + }; + buildTests = true; + expectedTestOutputs = [ + "test bar ... ok" + "test something ... ok" ]; }; - buildTests = true; - expectedTestOutputs = [ "test feature_not_visible ... ok" ]; - }; - # Regression test for https://github.com/NixOS/nixpkgs/pull/88054 - # Build script output should be rewritten as valid env vars. - buildScriptIncludeDirDeps = let - depCrate = mkHostCrate { - crateName = "bar"; + rustBinTestsCombined = { src = symlinkJoin { - name = "build-script-and-include-dir-bar"; + name = "rust-bin-tests-combined"; paths = [ - (mkFile "src/lib.rs" '' - fn main() { } - '') - (mkFile "build.rs" '' - use std::path::PathBuf; - fn main() { println!("cargo:include-dir={}/src", std::env::current_dir().unwrap_or(PathBuf::from(".")).to_str().unwrap()); } - '') + (mkTestFileWithMain "src/main.rs" "src_main") + (mkTestFile "tests/foo.rs" "tests_foo") + (mkTestFile "tests/bar.rs" "tests_bar") ]; }; + buildTests = true; + expectedTestOutputs = [ + "test src_main ... ok" + "test tests_foo ... ok" + "test tests_bar ... ok" + ]; }; - in { - crateName = "foo"; - src = symlinkJoin { - name = "build-script-and-include-dir-foo"; - paths = [ - (mkFile "src/main.rs" '' - fn main() { } - '') - (mkFile "build.rs" '' - fn main() { assert!(std::env::var_os("DEP_BAR_INCLUDE_DIR").is_some()); } - '') + rustBinTestsSubdirCombined = { + src = symlinkJoin { + name = "rust-bin-tests-subdir-combined"; + paths = [ + (mkTestFileWithMain "src/main.rs" "src_main") + (mkTestFile "tests/foo/main.rs" "tests_foo") + (mkTestFile "tests/bar/main.rs" "tests_bar") + ]; + }; + buildTests = true; + expectedTestOutputs = [ + "test src_main ... ok" + "test tests_foo ... ok" + "test tests_bar ... ok" ]; }; - buildDependencies = [ depCrate ]; - dependencies = [ depCrate ]; - }; - # Support new invocation prefix for build scripts `cargo::` - # https://doc.rust-lang.org/cargo/reference/build-scripts.html#outputs-of-the-build-script - buildScriptInvocationPrefix = let - depCrate = buildRustCrate: mkCrate buildRustCrate { - crateName = "bar"; - src = mkFile "build.rs" '' - fn main() { - // Old invocation prefix - // We likely won't see be mixing these syntaxes in the same build script in the wild. - println!("cargo:key_old=value_old"); - - // New invocation prefix - println!("cargo::metadata=key=value"); - println!("cargo::metadata=key_complex=complex(value)"); - } + linkAgainstRlibCrate = { + crateName = "foo"; + src = mkFile "src/main.rs" '' + extern crate somerlib; + fn main() {} ''; - }; - in { - crateName = "foo"; - src = symlinkJoin { - name = "build-script-and-main-invocation-prefix"; - paths = [ - (mkFile "src/main.rs" '' - const BUILDFOO: &'static str = env!("BUILDFOO"); - - #[test] - fn build_foo_check() { assert!(BUILDFOO == "yes(check)"); } - - fn main() { } - '') - (mkFile "build.rs" '' - use std::env; - fn main() { - assert!(env::var_os("DEP_BAR_KEY_OLD").expect("metadata key 'key_old' not set in dependency") == "value_old"); - assert!(env::var_os("DEP_BAR_KEY").expect("metadata key 'key' not set in dependency") == "value"); - assert!(env::var_os("DEP_BAR_KEY_COMPLEX").expect("metadata key 'key_complex' not set in dependency") == "complex(value)"); - - println!("cargo::rustc-env=BUILDFOO=yes(check)"); - } - '') + dependencies = [ + (mkHostCrate { + crateName = "somerlib"; + type = [ "rlib" ]; + src = mkLib "src/lib.rs"; + }) ]; }; - buildDependencies = [ (depCrate buildPackages.buildRustCrate) ]; - dependencies = [ (depCrate buildRustCrate) ]; - buildTests = true; - expectedTestOutputs = [ "test build_foo_check ... ok" ]; - }; - # Regression test for https://github.com/NixOS/nixpkgs/issues/74071 - # Whenevever a build.rs file is generating files those should not be overlayed onto the actual source dir - buildRsOutDirOverlay = { - src = symlinkJoin { - name = "buildrs-out-dir-overlay"; - paths = [ - (mkLib "src/lib.rs") - (mkFile "build.rs" '' - use std::env; - use std::ffi::OsString; - use std::fs; - use std::path::Path; - fn main() { - let out_dir = env::var_os("OUT_DIR").expect("OUT_DIR not set"); - let out_file = Path::new(&out_dir).join("lib.rs"); - fs::write(out_file, "invalid rust code!").expect("failed to write lib.rs"); - } - '') + buildScriptDeps = + let + depCrate = + buildRustCrate: boolVal: + mkCrate buildRustCrate { + crateName = "bar"; + src = mkFile "src/lib.rs" '' + pub const baz: bool = ${boolVal}; + ''; + }; + in + { + crateName = "foo"; + src = symlinkJoin { + name = "build-script-and-main"; + paths = [ + (mkFile "src/main.rs" '' + extern crate bar; + #[cfg(test)] + #[test] + fn baz_false() { assert!(!bar::baz); } + fn main() { } + '') + (mkFile "build.rs" '' + extern crate bar; + fn main() { assert!(bar::baz); } + '') + ]; + }; + buildDependencies = [ (depCrate buildPackages.buildRustCrate "true") ]; + dependencies = [ (depCrate buildRustCrate "false") ]; + buildTests = true; + expectedTestOutputs = [ "test baz_false ... ok" ]; + }; + buildScriptFeatureEnv = { + crateName = "build-script-feature-env"; + features = [ + "some-feature" + "crate/another_feature" ]; - }; - }; - # Regression test for https://github.com/NixOS/nixpkgs/pull/83379 - # link flag order should be preserved - linkOrder = { - src = symlinkJoin { - name = "buildrs-out-dir-overlay"; - paths = [ - (mkFile "build.rs" '' - fn main() { - // in the other order, linkage will fail - println!("cargo:rustc-link-lib=b"); - println!("cargo:rustc-link-lib=a"); - } - '') - (mkFile "src/main.rs" '' - extern "C" { - fn hello_world(); - } - fn main() { - unsafe { - hello_world(); + src = symlinkJoin { + name = "build-script-feature-env"; + paths = [ + (mkFile "src/main.rs" '' + #[cfg(test)] + #[test] + fn feature_not_visible() { + assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_err()); + assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none()); } - } - '') - ]; + fn main() {} + '') + (mkFile "build.rs" '' + fn main() { + assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_ok()); + assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none()); + } + '') + ]; + }; + buildTests = true; + expectedTestOutputs = [ "test feature_not_visible ... ok" ]; }; - buildInputs = let - compile = name: text: let - src = writeTextFile { - name = "${name}-src.c"; - inherit text; + # Regression test for https://github.com/NixOS/nixpkgs/pull/88054 + # Build script output should be rewritten as valid env vars. + buildScriptIncludeDirDeps = + let + depCrate = mkHostCrate { + crateName = "bar"; + src = symlinkJoin { + name = "build-script-and-include-dir-bar"; + paths = [ + (mkFile "src/lib.rs" '' + fn main() { } + '') + (mkFile "build.rs" '' + use std::path::PathBuf; + fn main() { println!("cargo:include-dir={}/src", std::env::current_dir().unwrap_or(PathBuf::from(".")).to_str().unwrap()); } + '') + ]; + }; }; - in runCommandCC name {} '' - mkdir -p $out/lib - # Note: On darwin (which defaults to clang) we have to add - # `-undefined dynamic_lookup` as otherwise the compilation fails. - $CC -shared \ - ${lib.optionalString stdenv.hostPlatform.isDarwin "-undefined dynamic_lookup"} \ - -o $out/lib/${name}${stdenv.hostPlatform.extensions.library} ${src} - ''; - b = compile "libb" '' - #include - - void hello(); - - void hello_world() { - hello(); - printf(" world!\n"); - } - ''; - a = compile "liba" '' - #include + in + { + crateName = "foo"; + src = symlinkJoin { + name = "build-script-and-include-dir-foo"; + paths = [ + (mkFile "src/main.rs" '' + fn main() { } + '') + (mkFile "build.rs" '' + fn main() { assert!(std::env::var_os("DEP_BAR_INCLUDE_DIR").is_some()); } + '') + ]; + }; + buildDependencies = [ depCrate ]; + dependencies = [ depCrate ]; + }; + # Support new invocation prefix for build scripts `cargo::` + # https://doc.rust-lang.org/cargo/reference/build-scripts.html#outputs-of-the-build-script + buildScriptInvocationPrefix = + let + depCrate = + buildRustCrate: + mkCrate buildRustCrate { + crateName = "bar"; + src = mkFile "build.rs" '' + fn main() { + // Old invocation prefix + // We likely won't see be mixing these syntaxes in the same build script in the wild. + println!("cargo:key_old=value_old"); + + // New invocation prefix + println!("cargo::metadata=key=value"); + println!("cargo::metadata=key_complex=complex(value)"); + } + ''; + }; + in + { + crateName = "foo"; + src = symlinkJoin { + name = "build-script-and-main-invocation-prefix"; + paths = [ + (mkFile "src/main.rs" '' + const BUILDFOO: &'static str = env!("BUILDFOO"); + + #[test] + fn build_foo_check() { assert!(BUILDFOO == "yes(check)"); } + + fn main() { } + '') + (mkFile "build.rs" '' + use std::env; + fn main() { + assert!(env::var_os("DEP_BAR_KEY_OLD").expect("metadata key 'key_old' not set in dependency") == "value_old"); + assert!(env::var_os("DEP_BAR_KEY").expect("metadata key 'key' not set in dependency") == "value"); + assert!(env::var_os("DEP_BAR_KEY_COMPLEX").expect("metadata key 'key_complex' not set in dependency") == "complex(value)"); + + println!("cargo::rustc-env=BUILDFOO=yes(check)"); + } + '') + ]; + }; + buildDependencies = [ (depCrate buildPackages.buildRustCrate) ]; + dependencies = [ (depCrate buildRustCrate) ]; + buildTests = true; + expectedTestOutputs = [ "test build_foo_check ... ok" ]; + }; + # Regression test for https://github.com/NixOS/nixpkgs/issues/74071 + # Whenevever a build.rs file is generating files those should not be overlayed onto the actual source dir + buildRsOutDirOverlay = { + src = symlinkJoin { + name = "buildrs-out-dir-overlay"; + paths = [ + (mkLib "src/lib.rs") + (mkFile "build.rs" '' + use std::env; + use std::ffi::OsString; + use std::fs; + use std::path::Path; + fn main() { + let out_dir = env::var_os("OUT_DIR").expect("OUT_DIR not set"); + let out_file = Path::new(&out_dir).join("lib.rs"); + fs::write(out_file, "invalid rust code!").expect("failed to write lib.rs"); + } + '') + ]; + }; + }; + # Regression test for https://github.com/NixOS/nixpkgs/pull/83379 + # link flag order should be preserved + linkOrder = { + src = symlinkJoin { + name = "buildrs-out-dir-overlay"; + paths = [ + (mkFile "build.rs" '' + fn main() { + // in the other order, linkage will fail + println!("cargo:rustc-link-lib=b"); + println!("cargo:rustc-link-lib=a"); + } + '') + (mkFile "src/main.rs" '' + extern "C" { + fn hello_world(); + } + fn main() { + unsafe { + hello_world(); + } + } + '') + ]; + }; + buildInputs = + let + compile = + name: text: + let + src = writeTextFile { + name = "${name}-src.c"; + inherit text; + }; + in + runCommandCC name { } '' + mkdir -p $out/lib + # Note: On darwin (which defaults to clang) we have to add + # `-undefined dynamic_lookup` as otherwise the compilation fails. + $CC -shared \ + ${lib.optionalString stdenv.hostPlatform.isDarwin "-undefined dynamic_lookup"} \ + -o $out/lib/${name}${stdenv.hostPlatform.extensions.library} ${src} + ''; + b = compile "libb" '' + #include + + void hello(); + + void hello_world() { + hello(); + printf(" world!\n"); + } + ''; + a = compile "liba" '' + #include - void hello() { - printf("hello"); - } - ''; - in [ a b ]; - }; - rustCargoTomlInSubDir = { - # The "workspace_member" can be set to the sub directory with the crate to build. - # By default ".", meaning the top level directory is assumed. - # Using null will trigger a search. - workspace_member = null; - src = symlinkJoin rec { - name = "find-cargo-toml"; - paths = [ - (mkCargoToml { name = "ignoreMe"; }) - (mkTestFileWithMain "src/main.rs" "ignore_main") - - (mkCargoToml { name = "rustCargoTomlInSubDir"; path = "subdir/Cargo.toml"; }) - (mkTestFileWithMain "subdir/src/main.rs" "src_main") - (mkTestFile "subdir/tests/foo/main.rs" "tests_foo") - (mkTestFile "subdir/tests/bar/main.rs" "tests_bar") + void hello() { + printf("hello"); + } + ''; + in + [ + a + b + ]; + }; + rustCargoTomlInSubDir = { + # The "workspace_member" can be set to the sub directory with the crate to build. + # By default ".", meaning the top level directory is assumed. + # Using null will trigger a search. + workspace_member = null; + src = symlinkJoin rec { + name = "find-cargo-toml"; + paths = [ + (mkCargoToml { name = "ignoreMe"; }) + (mkTestFileWithMain "src/main.rs" "ignore_main") + + (mkCargoToml { + name = "rustCargoTomlInSubDir"; + path = "subdir/Cargo.toml"; + }) + (mkTestFileWithMain "subdir/src/main.rs" "src_main") + (mkTestFile "subdir/tests/foo/main.rs" "tests_foo") + (mkTestFile "subdir/tests/bar/main.rs" "tests_bar") + ]; + }; + buildTests = true; + expectedTestOutputs = [ + "test src_main ... ok" + "test tests_foo ... ok" + "test tests_bar ... ok" ]; }; - buildTests = true; - expectedTestOutputs = [ - "test src_main ... ok" - "test tests_foo ... ok" - "test tests_bar ... ok" - ]; - }; - rustCargoTomlInTopDir = - let - withoutCargoTomlSearch = builtins.removeAttrs rustCargoTomlInSubDir [ "workspace_member" ]; - in - withoutCargoTomlSearch // { + rustCargoTomlInTopDir = + let + withoutCargoTomlSearch = builtins.removeAttrs rustCargoTomlInSubDir [ "workspace_member" ]; + in + withoutCargoTomlSearch + // { expectedTestOutputs = [ "test ignore_main ... ok" ]; }; - procMacroInPrelude = { - procMacro = true; - edition = "2018"; - src = symlinkJoin { - name = "proc-macro-in-prelude"; - paths = [ - (mkFile "src/lib.rs" '' - use proc_macro::TokenTree; - '') - ]; + procMacroInPrelude = { + procMacro = true; + edition = "2018"; + src = symlinkJoin { + name = "proc-macro-in-prelude"; + paths = [ + (mkFile "src/lib.rs" '' + use proc_macro::TokenTree; + '') + ]; + }; }; }; - }; - brotliCrates = (callPackage ./brotli-crates.nix {}); - rcgenCrates = callPackage ./rcgen-crates.nix { - # Suppress deprecation warning - buildRustCrate = null; - }; - tests = lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases; - in tests // rec { - - crateBinWithPathOutputs = assertOutputs { - name="crateBinWithPath"; - crateArgs = { - crateBin = [{ name = "test_binary1"; path = "src/foobar.rs"; }]; - src = mkBin "src/foobar.rs"; + brotliCrates = (callPackage ./brotli-crates.nix { }); + rcgenCrates = callPackage ./rcgen-crates.nix { + # Suppress deprecation warning + buildRustCrate = null; }; - expectedFiles = [ - "./bin/test_binary1" - ]; - }; + tests = lib.mapAttrs ( + key: value: mkTest (value // lib.optionalAttrs (!value ? crateName) { crateName = key; }) + ) cases; + in + tests + // rec { - crateBinWithPathOutputsDebug = assertOutputs { - name="crateBinWithPath"; - crateArgs = { - release = false; - crateBin = [{ name = "test_binary1"; path = "src/foobar.rs"; }]; - src = mkBin "src/foobar.rs"; + crateBinWithPathOutputs = assertOutputs { + name = "crateBinWithPath"; + crateArgs = { + crateBin = [ + { + name = "test_binary1"; + path = "src/foobar.rs"; + } + ]; + src = mkBin "src/foobar.rs"; + }; + expectedFiles = [ + "./bin/test_binary1" + ]; }; - expectedFiles = [ - "./bin/test_binary1" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # On Darwin, the debug symbols are in a separate directory. - "./bin/test_binary1.dSYM/Contents/Info.plist" - "./bin/test_binary1.dSYM/Contents/Resources/DWARF/test_binary1" - ]; - }; - crateBinNoPath1Outputs = assertOutputs { - name="crateBinNoPath1"; - crateArgs = { - crateBin = [{ name = "my-binary2"; }]; - src = mkBin "src/my_binary2.rs"; + crateBinWithPathOutputsDebug = assertOutputs { + name = "crateBinWithPath"; + crateArgs = { + release = false; + crateBin = [ + { + name = "test_binary1"; + path = "src/foobar.rs"; + } + ]; + src = mkBin "src/foobar.rs"; + }; + expectedFiles = + [ + "./bin/test_binary1" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # On Darwin, the debug symbols are in a separate directory. + "./bin/test_binary1.dSYM/Contents/Info.plist" + "./bin/test_binary1.dSYM/Contents/Resources/DWARF/test_binary1" + ]; }; - expectedFiles = [ - "./bin/my-binary2" - ]; - }; - crateLibOutputs = assertOutputs { - name="crateLib"; - output="lib"; - crateArgs = { - libName = "test_lib"; - type = [ "rlib" ]; - libPath = "src/lib.rs"; - src = mkLib "src/lib.rs"; + crateBinNoPath1Outputs = assertOutputs { + name = "crateBinNoPath1"; + crateArgs = { + crateBin = [ { name = "my-binary2"; } ]; + src = mkBin "src/my_binary2.rs"; + }; + expectedFiles = [ + "./bin/my-binary2" + ]; + }; + + crateLibOutputs = assertOutputs { + name = "crateLib"; + output = "lib"; + crateArgs = { + libName = "test_lib"; + type = [ "rlib" ]; + libPath = "src/lib.rs"; + src = mkLib "src/lib.rs"; + }; + expectedFiles = [ + "./nix-support/propagated-build-inputs" + "./lib/libtest_lib.rlib" + "./lib/link" + ]; }; - expectedFiles = [ - "./nix-support/propagated-build-inputs" - "./lib/libtest_lib.rlib" - "./lib/link" - ]; - }; - crateLibOutputsDebug = assertOutputs { - name="crateLib"; - output="lib"; - crateArgs = { - release = false; - libName = "test_lib"; - type = [ "rlib" ]; - libPath = "src/lib.rs"; - src = mkLib "src/lib.rs"; + crateLibOutputsDebug = assertOutputs { + name = "crateLib"; + output = "lib"; + crateArgs = { + release = false; + libName = "test_lib"; + type = [ "rlib" ]; + libPath = "src/lib.rs"; + src = mkLib "src/lib.rs"; + }; + expectedFiles = [ + "./nix-support/propagated-build-inputs" + "./lib/libtest_lib.rlib" + "./lib/link" + ]; }; - expectedFiles = [ - "./nix-support/propagated-build-inputs" - "./lib/libtest_lib.rlib" - "./lib/link" - ]; - }; - crateLibOutputsWasm32 = assertOutputs { - name = "wasm32-crate-lib"; - output = "lib"; - mkCrate = mkCrate pkgsCross.wasm32-unknown-none.buildRustCrate; - crateArgs = { - libName = "test_lib"; - type = [ "cdylib" ]; - libPath = "src/lib.rs"; - src = mkLib "src/lib.rs"; + crateLibOutputsWasm32 = assertOutputs { + name = "wasm32-crate-lib"; + output = "lib"; + mkCrate = mkCrate pkgsCross.wasm32-unknown-none.buildRustCrate; + crateArgs = { + libName = "test_lib"; + type = [ "cdylib" ]; + libPath = "src/lib.rs"; + src = mkLib "src/lib.rs"; + }; + expectedFiles = [ + "./nix-support/propagated-build-inputs" + "./lib/test_lib.wasm" + "./lib/link" + ]; }; - expectedFiles = [ - "./nix-support/propagated-build-inputs" - "./lib/test_lib.wasm" - "./lib/link" - ]; - }; - brotliTest = let - pkg = brotliCrates.brotli_2_5_0 {}; - in runCommand "run-brotli-test-cmd" { - nativeBuildInputs = [ pkg ]; - } (if stdenv.hostPlatform == stdenv.buildPlatform then '' - ${pkg}/bin/brotli -c ${pkg}/bin/brotli > /dev/null && touch $out - '' else '' - test -x '${pkg}/bin/brotli' && touch $out - ''); - allocNoStdLibTest = let - pkg = brotliCrates.alloc_no_stdlib_1_3_0 {}; - in runCommand "run-alloc-no-stdlib-test-cmd" { - nativeBuildInputs = [ pkg ]; - } '' - test -e ${pkg}/bin/example && touch $out - ''; - brotliDecompressorTest = let - pkg = brotliCrates.brotli_decompressor_1_3_1 {}; - in runCommand "run-brotli-decompressor-test-cmd" { - nativeBuildInputs = [ pkg ]; - } '' - test -e ${pkg}/bin/brotli-decompressor && touch $out - ''; + brotliTest = + let + pkg = brotliCrates.brotli_2_5_0 { }; + in + runCommand "run-brotli-test-cmd" + { + nativeBuildInputs = [ pkg ]; + } + ( + if stdenv.hostPlatform == stdenv.buildPlatform then + '' + ${pkg}/bin/brotli -c ${pkg}/bin/brotli > /dev/null && touch $out + '' + else + '' + test -x '${pkg}/bin/brotli' && touch $out + '' + ); + allocNoStdLibTest = + let + pkg = brotliCrates.alloc_no_stdlib_1_3_0 { }; + in + runCommand "run-alloc-no-stdlib-test-cmd" + { + nativeBuildInputs = [ pkg ]; + } + '' + test -e ${pkg}/bin/example && touch $out + ''; + brotliDecompressorTest = + let + pkg = brotliCrates.brotli_decompressor_1_3_1 { }; + in + runCommand "run-brotli-decompressor-test-cmd" + { + nativeBuildInputs = [ pkg ]; + } + '' + test -e ${pkg}/bin/brotli-decompressor && touch $out + ''; - rcgenTest = let - pkg = rcgenCrates.rootCrate.build; - in runCommand "run-rcgen-test-cmd" { - nativeBuildInputs = [ pkg ]; - } (if stdenv.hostPlatform == stdenv.buildPlatform then '' - ${pkg}/bin/rcgen && touch $out - '' else '' - test -x '${pkg}/bin/rcgen' && touch $out - ''); - }; + rcgenTest = + let + pkg = rcgenCrates.rootCrate.build; + in + runCommand "run-rcgen-test-cmd" + { + nativeBuildInputs = [ pkg ]; + } + ( + if stdenv.hostPlatform == stdenv.buildPlatform then + '' + ${pkg}/bin/rcgen && touch $out + '' + else + '' + test -x '${pkg}/bin/rcgen' && touch $out + '' + ); + }; test = releaseTools.aggregate { name = "buildRustCrate-tests"; meta = { diff --git a/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix b/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix index ed273c01d26dc..4400df270666b 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix @@ -1,30 +1,35 @@ - # This file was @generated by crate2nix 0.10.0 with the command: # "generate" # See https://github.com/kolloch/crate2nix for more info. -{ nixpkgs ? -, pkgs ? import nixpkgs { config = {}; } -, lib ? pkgs.lib -, stdenv ? pkgs.stdenv -, buildRustCrateForPkgs ? if buildRustCrate != null - then lib.warn "crate2nix: Passing `buildRustCrate` as argument to Cargo.nix is deprecated. If you don't customize `buildRustCrate`, replace `callPackage ./Cargo.nix {}` by `import ./Cargo.nix { inherit pkgs; }`, and if you need to customize `buildRustCrate`, use `buildRustCrateForPkgs` instead." (_: buildRustCrate) - else pkgs: pkgs.buildRustCrate +{ + nixpkgs ? , + pkgs ? import nixpkgs { config = { }; }, + lib ? pkgs.lib, + stdenv ? pkgs.stdenv, + buildRustCrateForPkgs ? + if buildRustCrate != null then + lib.warn + "crate2nix: Passing `buildRustCrate` as argument to Cargo.nix is deprecated. If you don't customize `buildRustCrate`, replace `callPackage ./Cargo.nix {}` by `import ./Cargo.nix { inherit pkgs; }`, and if you need to customize `buildRustCrate`, use `buildRustCrateForPkgs` instead." + (_: buildRustCrate) + else + pkgs: pkgs.buildRustCrate, # Deprecated -, buildRustCrate ? null + buildRustCrate ? null, # This is used as the `crateOverrides` argument for `buildRustCrate`. -, defaultCrateOverrides ? pkgs.defaultCrateOverrides + defaultCrateOverrides ? pkgs.defaultCrateOverrides, # The features to enable for the root_crate or the workspace_members. -, rootFeatures ? [ "default" ] + rootFeatures ? [ "default" ], # If true, throw errors instead of issueing deprecation warnings. -, strictDeprecation ? false + strictDeprecation ? false, # Used for conditional compilation based on CPU feature detection. -, targetFeatures ? [] + targetFeatures ? [ ], # Whether to perform release builds: longer compile times, faster binaries. -, release ? true + release ? true, # Additional crate2nix configuration if it exists. -, crateConfig - ? lib.optionalAttrs (builtins.pathExists ./crate-config.nix) (pkgs.callPackage ./crate-config.nix {}) + crateConfig ? lib.optionalAttrs (builtins.pathExists ./crate-config.nix) ( + pkgs.callPackage ./crate-config.nix { } + ), }: rec { @@ -63,10 +68,12 @@ rec { # A derivation that joins the outputs of all workspace members together. allWorkspaceMembers = pkgs.symlinkJoin { - name = "all-workspace-members"; - paths = - let members = builtins.attrValues workspaceMembers; - in builtins.map (m: m.build) members; + name = "all-workspace-members"; + paths = + let + members = builtins.attrValues workspaceMembers; + in + builtins.map (m: m.build) members; }; # @@ -128,7 +135,11 @@ rec { name = "time"; packageId = "time"; optional = true; - features = [ "macros" "parsing" "formatting" ]; + features = [ + "macros" + "parsing" + "formatting" + ]; } ]; features = { @@ -142,7 +153,12 @@ rec { "serialize" = [ "cookie-factory" ]; "time" = [ "dep:time" ]; }; - resolvedDefaultFeatures = [ "datetime" "default" "std" "time" ]; + resolvedDefaultFeatures = [ + "datetime" + "default" + "std" + "time" + ]; }; "asn1-rs-derive" = rec { crateName = "asn1-rs-derive"; @@ -230,7 +246,10 @@ rec { features = { "default" = [ "std" ]; }; - resolvedDefaultFeatures = [ "default" "std" ]; + resolvedDefaultFeatures = [ + "default" + "std" + ]; }; "base64ct" = rec { crateName = "base64ct"; @@ -255,7 +274,10 @@ rec { features = { "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ + "core" + "compiler_builtins" + ]; }; resolvedDefaultFeatures = [ "default" ]; }; @@ -282,7 +304,10 @@ rec { "no-std" = [ "cstr_core/alloc" ]; "vendored" = [ "botan-sys/vendored" ]; }; - resolvedDefaultFeatures = [ "default" "vendored" ]; + resolvedDefaultFeatures = [ + "default" + "vendored" + ]; }; "botan-src" = rec { crateName = "botan-src"; @@ -320,7 +345,11 @@ rec { "botan-src" = [ "dep:botan-src" ]; "vendored" = [ "botan-src" ]; }; - resolvedDefaultFeatures = [ "botan-src" "default" "vendored" ]; + resolvedDefaultFeatures = [ + "botan-src" + "default" + "vendored" + ]; }; "bumpalo" = rec { crateName = "bumpalo"; @@ -350,7 +379,7 @@ rec { crateName = "cc"; version = "1.0.72"; edition = "2018"; - crateBin = []; + crateBin = [ ]; sha256 = "1vl50h2qh0nh0iddzj6gd1pnxnxpvwmbfxc30578c1pajmxi7a92"; authors = [ "Alex Crichton " @@ -371,7 +400,10 @@ rec { features = { "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ + "core" + "compiler_builtins" + ]; }; }; "const-oid" = rec { @@ -418,7 +450,12 @@ rec { "rlp" = [ "dep:rlp" ]; "zeroize" = [ "dep:zeroize" ]; }; - resolvedDefaultFeatures = [ "default" "generic-array" "rand" "rand_core" ]; + resolvedDefaultFeatures = [ + "default" + "generic-array" + "rand" + "rand_core" + ]; }; "cty" = rec { crateName = "cty"; @@ -442,7 +479,11 @@ rec { "default" = [ "std" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "std" + ]; }; "der" = rec { crateName = "der"; @@ -474,7 +515,14 @@ rec { "oid" = [ "const-oid" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "bigint" "const-oid" "crypto-bigint" "oid" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "bigint" + "const-oid" + "crypto-bigint" + "oid" + "std" + ]; }; "der-parser" = rec { crateName = "der-parser"; @@ -517,9 +565,17 @@ rec { "cookie-factory" = [ "dep:cookie-factory" ]; "default" = [ "std" ]; "num-bigint" = [ "dep:num-bigint" ]; - "serialize" = [ "std" "cookie-factory" ]; + "serialize" = [ + "std" + "cookie-factory" + ]; }; - resolvedDefaultFeatures = [ "bigint" "default" "num-bigint" "std" ]; + resolvedDefaultFeatures = [ + "bigint" + "default" + "num-bigint" + "std" + ]; }; "digest" = rec { crateName = "digest"; @@ -540,7 +596,10 @@ rec { "dev" = [ "blobby" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "std" + ]; }; "displaydoc" = rec { crateName = "displaydoc"; @@ -568,7 +627,10 @@ rec { features = { "default" = [ "std" ]; }; - resolvedDefaultFeatures = [ "default" "std" ]; + resolvedDefaultFeatures = [ + "default" + "std" + ]; }; "foreign-types" = rec { crateName = "foreign-types"; @@ -650,9 +712,17 @@ rec { features = { "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; - "js" = [ "wasm-bindgen" "js-sys" ]; + "js" = [ + "wasm-bindgen" + "js-sys" + ]; "js-sys" = [ "dep:js-sys" ]; - "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ]; + "rustc-dep-of-std" = [ + "compiler_builtins" + "core" + "libc/rustc-dep-of-std" + "wasi/rustc-dep-of-std" + ]; "wasm-bindgen" = [ "dep:wasm-bindgen" ]; }; resolvedDefaultFeatures = [ "std" ]; @@ -702,7 +772,10 @@ rec { "spin" = [ "dep:spin" ]; "spin_no_std" = [ "spin" ]; }; - resolvedDefaultFeatures = [ "spin" "spin_no_std" ]; + resolvedDefaultFeatures = [ + "spin" + "spin_no_std" + ]; }; "libc" = rec { crateName = "libc"; @@ -714,11 +787,17 @@ rec { ]; features = { "default" = [ "std" ]; - "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ]; + "rustc-dep-of-std" = [ + "align" + "rustc-std-workspace-core" + ]; "rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ]; "use_std" = [ "std" ]; }; - resolvedDefaultFeatures = [ "default" "std" ]; + resolvedDefaultFeatures = [ + "default" + "std" + ]; }; "libm" = rec { crateName = "libm"; @@ -750,9 +829,21 @@ rec { ]; features = { "kv_unstable" = [ "value-bag" ]; - "kv_unstable_serde" = [ "kv_unstable_std" "value-bag/serde" "serde" ]; - "kv_unstable_std" = [ "std" "kv_unstable" "value-bag/error" ]; - "kv_unstable_sval" = [ "kv_unstable" "value-bag/sval" "sval" ]; + "kv_unstable_serde" = [ + "kv_unstable_std" + "value-bag/serde" + "serde" + ]; + "kv_unstable_std" = [ + "std" + "kv_unstable" + "value-bag/error" + ]; + "kv_unstable_sval" = [ + "kv_unstable" + "value-bag/sval" + "sval" + ]; "serde" = [ "dep:serde" ]; "sval" = [ "dep:sval" ]; "value-bag" = [ "dep:value-bag" ]; @@ -772,7 +863,10 @@ rec { "core" = [ "dep:core" ]; "default" = [ "std" ]; "libc" = [ "dep:libc" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ + "core" + "compiler_builtins" + ]; "use_std" = [ "std" ]; }; resolvedDefaultFeatures = [ "std" ]; @@ -818,9 +912,17 @@ rec { ]; features = { "default" = [ "std" ]; - "std" = [ "alloc" "memchr/std" "minimal-lexical/std" ]; + "std" = [ + "alloc" + "memchr/std" + "minimal-lexical/std" + ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "std" + ]; }; "num-bigint" = rec { crateName = "num-bigint"; @@ -856,9 +958,15 @@ rec { "quickcheck" = [ "dep:quickcheck" ]; "rand" = [ "dep:rand" ]; "serde" = [ "dep:serde" ]; - "std" = [ "num-integer/std" "num-traits/std" ]; + "std" = [ + "num-integer/std" + "num-traits/std" + ]; }; - resolvedDefaultFeatures = [ "default" "std" ]; + resolvedDefaultFeatures = [ + "default" + "std" + ]; }; "num-bigint-dig" = rec { crateName = "num-bigint-dig"; @@ -933,15 +1041,34 @@ rec { } ]; features = { - "default" = [ "std" "i128" "u64_digit" ]; - "i128" = [ "num-integer/i128" "num-traits/i128" ]; + "default" = [ + "std" + "i128" + "u64_digit" + ]; + "i128" = [ + "num-integer/i128" + "num-traits/i128" + ]; "prime" = [ "rand/std_rng" ]; "rand" = [ "dep:rand" ]; "serde" = [ "dep:serde" ]; - "std" = [ "num-integer/std" "num-traits/std" "smallvec/write" "rand/std" "serde/std" ]; + "std" = [ + "num-integer/std" + "num-traits/std" + "smallvec/write" + "rand/std" + "serde/std" + ]; "zeroize" = [ "dep:zeroize" ]; }; - resolvedDefaultFeatures = [ "i128" "prime" "rand" "u64_digit" "zeroize" ]; + resolvedDefaultFeatures = [ + "i128" + "prime" + "rand" + "u64_digit" + "zeroize" + ]; }; "num-integer" = rec { crateName = "num-integer"; @@ -969,7 +1096,10 @@ rec { "i128" = [ "num-traits/i128" ]; "std" = [ "num-traits/std" ]; }; - resolvedDefaultFeatures = [ "i128" "std" ]; + resolvedDefaultFeatures = [ + "i128" + "std" + ]; }; "num-iter" = rec { crateName = "num-iter"; @@ -999,8 +1129,14 @@ rec { ]; features = { "default" = [ "std" ]; - "i128" = [ "num-integer/i128" "num-traits/i128" ]; - "std" = [ "num-integer/std" "num-traits/std" ]; + "i128" = [ + "num-integer/i128" + "num-traits/i128" + ]; + "std" = [ + "num-integer/std" + "num-traits/std" + ]; }; }; "num-traits" = rec { @@ -1028,7 +1164,12 @@ rec { "default" = [ "std" ]; "libm" = [ "dep:libm" ]; }; - resolvedDefaultFeatures = [ "default" "i128" "libm" "std" ]; + resolvedDefaultFeatures = [ + "default" + "i128" + "libm" + "std" + ]; }; "num_threads" = rec { crateName = "num_threads"; @@ -1062,10 +1203,30 @@ rec { } ]; features = { - "crypto" = [ "kdf" "pkcs1" "pkcs7" "pkcs9" "pkcs12" "nist_algs" "x962" ]; + "crypto" = [ + "kdf" + "pkcs1" + "pkcs7" + "pkcs9" + "pkcs12" + "nist_algs" + "x962" + ]; "default" = [ "registry" ]; }; - resolvedDefaultFeatures = [ "crypto" "default" "kdf" "nist_algs" "pkcs1" "pkcs12" "pkcs7" "pkcs9" "registry" "x509" "x962" ]; + resolvedDefaultFeatures = [ + "crypto" + "default" + "kdf" + "nist_algs" + "pkcs1" + "pkcs12" + "pkcs7" + "pkcs9" + "registry" + "x509" + "x962" + ]; }; "once_cell" = rec { crateName = "once_cell"; @@ -1082,7 +1243,12 @@ rec { "parking_lot" = [ "dep:parking_lot" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "race" + "std" + ]; }; "openssl" = rec { crateName = "openssl"; @@ -1155,7 +1321,7 @@ rec { { name = "vcpkg"; packageId = "vcpkg"; - target = {target, features}: (target."env" == "msvc"); + target = { target, features }: (target."env" == "msvc"); } ]; features = { @@ -1210,7 +1376,10 @@ rec { { name = "der"; packageId = "der"; - features = [ "bigint" "oid" ]; + features = [ + "bigint" + "oid" + ]; } { name = "pem-rfc7468"; @@ -1226,12 +1395,24 @@ rec { } ]; features = { - "alloc" = [ "der/alloc" "zeroize" ]; - "pem" = [ "alloc" "pem-rfc7468/alloc" ]; + "alloc" = [ + "der/alloc" + "zeroize" + ]; + "pem" = [ + "alloc" + "pem-rfc7468/alloc" + ]; "pem-rfc7468" = [ "dep:pem-rfc7468" ]; "zeroize" = [ "dep:zeroize" ]; }; - resolvedDefaultFeatures = [ "alloc" "pem" "pem-rfc7468" "std" "zeroize" ]; + resolvedDefaultFeatures = [ + "alloc" + "pem" + "pem-rfc7468" + "std" + "zeroize" + ]; }; "pkcs8" = rec { crateName = "pkcs8"; @@ -1271,20 +1452,50 @@ rec { } ]; features = { - "3des" = [ "encryption" "pkcs5/3des" ]; - "alloc" = [ "der/alloc" "zeroize" ]; - "des-insecure" = [ "encryption" "pkcs5/des-insecure" ]; - "encryption" = [ "alloc" "pkcs5/alloc" "pkcs5/pbes2" "rand_core" ]; - "pem" = [ "alloc" "pem-rfc7468/alloc" ]; + "3des" = [ + "encryption" + "pkcs5/3des" + ]; + "alloc" = [ + "der/alloc" + "zeroize" + ]; + "des-insecure" = [ + "encryption" + "pkcs5/des-insecure" + ]; + "encryption" = [ + "alloc" + "pkcs5/alloc" + "pkcs5/pbes2" + "rand_core" + ]; + "pem" = [ + "alloc" + "pem-rfc7468/alloc" + ]; "pem-rfc7468" = [ "dep:pem-rfc7468" ]; "pkcs1" = [ "dep:pkcs1" ]; "pkcs5" = [ "dep:pkcs5" ]; "rand_core" = [ "dep:rand_core" ]; - "sha1" = [ "encryption" "pkcs5/sha1" ]; - "std" = [ "alloc" "der/std" ]; + "sha1" = [ + "encryption" + "pkcs5/sha1" + ]; + "std" = [ + "alloc" + "der/std" + ]; "zeroize" = [ "dep:zeroize" ]; }; - resolvedDefaultFeatures = [ "alloc" "pem" "pem-rfc7468" "pkcs1" "std" "zeroize" ]; + resolvedDefaultFeatures = [ + "alloc" + "pem" + "pem-rfc7468" + "pkcs1" + "std" + "zeroize" + ]; }; "pkg-config" = rec { crateName = "pkg-config"; @@ -1307,7 +1518,10 @@ rec { features = { "default" = [ "std" ]; }; - resolvedDefaultFeatures = [ "simd" "std" ]; + resolvedDefaultFeatures = [ + "simd" + "std" + ]; }; "proc-macro2" = rec { crateName = "proc-macro2"; @@ -1327,7 +1541,10 @@ rec { features = { "default" = [ "proc-macro" ]; }; - resolvedDefaultFeatures = [ "default" "proc-macro" ]; + resolvedDefaultFeatures = [ + "default" + "proc-macro" + ]; }; "quote" = rec { crateName = "quote"; @@ -1348,7 +1565,10 @@ rec { "default" = [ "proc-macro" ]; "proc-macro" = [ "proc-macro2/proc-macro" ]; }; - resolvedDefaultFeatures = [ "default" "proc-macro" ]; + resolvedDefaultFeatures = [ + "default" + "proc-macro" + ]; }; "rand" = rec { crateName = "rand"; @@ -1393,7 +1613,10 @@ rec { ]; features = { "alloc" = [ "rand_core/alloc" ]; - "default" = [ "std" "std_rng" ]; + "default" = [ + "std" + "std_rng" + ]; "getrandom" = [ "rand_core/getrandom" ]; "libc" = [ "dep:libc" ]; "log" = [ "dep:log" ]; @@ -1401,12 +1624,33 @@ rec { "rand_chacha" = [ "dep:rand_chacha" ]; "rand_hc" = [ "dep:rand_hc" ]; "serde" = [ "dep:serde" ]; - "serde1" = [ "serde" "rand_core/serde1" ]; + "serde1" = [ + "serde" + "rand_core/serde1" + ]; "simd_support" = [ "packed_simd" ]; - "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ]; - "std_rng" = [ "rand_chacha" "rand_hc" ]; + "std" = [ + "rand_core/std" + "rand_chacha/std" + "alloc" + "getrandom" + "libc" + ]; + "std_rng" = [ + "rand_chacha" + "rand_hc" + ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "rand_hc" "std" "std_rng" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "getrandom" + "libc" + "rand_chacha" + "rand_hc" + "std" + "std_rng" + ]; }; "rand_chacha" = rec { crateName = "rand_chacha"; @@ -1458,9 +1702,17 @@ rec { "getrandom" = [ "dep:getrandom" ]; "serde" = [ "dep:serde" ]; "serde1" = [ "serde" ]; - "std" = [ "alloc" "getrandom" "getrandom/std" ]; + "std" = [ + "alloc" + "getrandom" + "getrandom/std" + ]; }; - resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "getrandom" + "std" + ]; }; "rand_hc" = rec { crateName = "rand_hc"; @@ -1483,7 +1735,10 @@ rec { version = "0.9.2"; edition = "2018"; crateBin = [ - { name = "rcgen"; path = "src/main.rs"; } + { + name = "rcgen"; + path = "src/main.rs"; + } ]; sha256 = "0ppwfl9g504x2qwk7m7mag8c3l70w9mcfha93013nlzqdlw2vynp"; authors = [ @@ -1513,7 +1768,10 @@ rec { { name = "yasna"; packageId = "yasna"; - features = [ "time" "std" ]; + features = [ + "time" + "std" + ]; } { name = "zeroize"; @@ -1556,7 +1814,12 @@ rec { "x509-parser" = [ "dep:x509-parser" ]; "zeroize" = [ "dep:zeroize" ]; }; - resolvedDefaultFeatures = [ "default" "pem" "x509-parser" "zeroize" ]; + resolvedDefaultFeatures = [ + "default" + "pem" + "x509-parser" + "zeroize" + ]; }; "ring" = rec { crateName = "ring"; @@ -1585,14 +1848,32 @@ rec { name = "once_cell"; packageId = "once_cell"; usesDefaultFeatures = false; - target = { target, features }: ((target."os" == "dragonfly") || (target."os" == "freebsd") || (target."os" == "illumos") || (target."os" == "netbsd") || (target."os" == "openbsd") || (target."os" == "solaris")); + target = + { target, features }: + ( + (target."os" == "dragonfly") + || (target."os" == "freebsd") + || (target."os" == "illumos") + || (target."os" == "netbsd") + || (target."os" == "openbsd") + || (target."os" == "solaris") + ); features = [ "std" ]; } { name = "spin"; packageId = "spin"; usesDefaultFeatures = false; - target = { target, features }: ((target."arch" == "x86") || (target."arch" == "x86_64") || (((target."arch" == "aarch64") || (target."arch" == "arm")) && ((target."os" == "android") || (target."os" == "fuchsia") || (target."os" == "linux")))); + target = + { target, features }: + ( + (target."arch" == "x86") + || (target."arch" == "x86_64") + || ( + ((target."arch" == "aarch64") || (target."arch" == "arm")) + && ((target."os" == "android") || (target."os" == "fuchsia") || (target."os" == "linux")) + ) + ); } { name = "untrusted"; @@ -1602,15 +1883,28 @@ rec { name = "web-sys"; packageId = "web-sys"; usesDefaultFeatures = false; - target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (target."env" == "")); - features = [ "Crypto" "Window" ]; + target = + { target, features }: + ( + (target."arch" == "wasm32") + && (target."vendor" == "unknown") + && (target."os" == "unknown") + && (target."env" == "") + ); + features = [ + "Crypto" + "Window" + ]; } { name = "winapi"; packageId = "winapi"; usesDefaultFeatures = false; target = { target, features }: (target."os" == "windows"); - features = [ "ntsecapi" "wtypesbase" ]; + features = [ + "ntsecapi" + "wtypesbase" + ]; } ]; buildDependencies = [ @@ -1625,16 +1919,24 @@ rec { name = "libc"; packageId = "libc"; usesDefaultFeatures = false; - target = {target, features}: ((target."unix" or false) || (target."windows" or false)); + target = { target, features }: ((target."unix" or false) || (target."windows" or false)); } ]; features = { - "default" = [ "alloc" "dev_urandom_fallback" ]; + "default" = [ + "alloc" + "dev_urandom_fallback" + ]; "dev_urandom_fallback" = [ "once_cell" ]; "once_cell" = [ "dep:once_cell" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "dev_urandom_fallback" + "once_cell" + ]; }; "rsa" = rec { crateName = "rsa"; @@ -1666,7 +1968,12 @@ rec { packageId = "num-bigint-dig"; rename = "num-bigint"; usesDefaultFeatures = false; - features = [ "i128" "u64_digit" "prime" "zeroize" ]; + features = [ + "i128" + "u64_digit" + "prime" + "zeroize" + ]; } { name = "num-integer"; @@ -1708,20 +2015,52 @@ rec { { name = "zeroize"; packageId = "zeroize"; - features = [ "alloc" "zeroize_derive" ]; + features = [ + "alloc" + "zeroize_derive" + ]; } ]; features = { - "alloc" = [ "digest/alloc" "pkcs1/alloc" "pkcs8/alloc" "pkcs8/pkcs1" ]; - "default" = [ "std" "pem" ]; - "nightly" = [ "subtle/nightly" "num-bigint/nightly" ]; - "pem" = [ "alloc" "pkcs1/pem" "pkcs8/pem" ]; + "alloc" = [ + "digest/alloc" + "pkcs1/alloc" + "pkcs8/alloc" + "pkcs8/pkcs1" + ]; + "default" = [ + "std" + "pem" + ]; + "nightly" = [ + "subtle/nightly" + "num-bigint/nightly" + ]; + "pem" = [ + "alloc" + "pkcs1/pem" + "pkcs8/pem" + ]; "pkcs5" = [ "pkcs8/encryption" ]; - "serde" = [ "num-bigint/serde" "serde_crate" ]; + "serde" = [ + "num-bigint/serde" + "serde_crate" + ]; "serde_crate" = [ "dep:serde_crate" ]; - "std" = [ "alloc" "digest/std" "pkcs1/std" "pkcs8/std" "rand/std" ]; + "std" = [ + "alloc" + "digest/std" + "pkcs1/std" + "pkcs8/std" + "rand/std" + ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "pem" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "pem" + "std" + ]; }; "rusticata-macros" = rec { crateName = "rusticata-macros"; @@ -1795,7 +2134,10 @@ rec { "Henry de Valence " ]; features = { - "default" = [ "std" "i128" ]; + "default" = [ + "std" + "i128" + ]; }; }; "syn" = rec { @@ -1824,13 +2166,33 @@ rec { } ]; features = { - "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ]; + "default" = [ + "derive" + "parsing" + "printing" + "clone-impls" + "proc-macro" + ]; "printing" = [ "quote" ]; - "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ]; + "proc-macro" = [ + "proc-macro2/proc-macro" + "quote/proc-macro" + ]; "quote" = [ "dep:quote" ]; "test" = [ "syn-test-suite/all-features" ]; }; - resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" ]; + resolvedDefaultFeatures = [ + "clone-impls" + "default" + "derive" + "extra-traits" + "full" + "parsing" + "printing" + "proc-macro" + "quote" + "visit" + ]; }; "synstructure" = rec { crateName = "synstructure"; @@ -1855,7 +2217,14 @@ rec { name = "syn"; packageId = "syn"; usesDefaultFeatures = false; - features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ]; + features = [ + "derive" + "parsing" + "printing" + "clone-impls" + "visit" + "extra-traits" + ]; } { name = "unicode-xid"; @@ -1864,9 +2233,16 @@ rec { ]; features = { "default" = [ "proc-macro" ]; - "proc-macro" = [ "proc-macro2/proc-macro" "syn/proc-macro" "quote/proc-macro" ]; + "proc-macro" = [ + "proc-macro2/proc-macro" + "syn/proc-macro" + "quote/proc-macro" + ]; }; - resolvedDefaultFeatures = [ "default" "proc-macro" ]; + resolvedDefaultFeatures = [ + "default" + "proc-macro" + ]; }; "thiserror" = rec { crateName = "thiserror"; @@ -1942,21 +2318,44 @@ rec { ]; features = { "default" = [ "std" ]; - "formatting" = [ "itoa" "std" ]; + "formatting" = [ + "itoa" + "std" + ]; "itoa" = [ "dep:itoa" ]; "large-dates" = [ "time-macros/large-dates" ]; "local-offset" = [ "std" ]; "macros" = [ "time-macros" ]; - "quickcheck" = [ "quickcheck-dep" "alloc" ]; + "quickcheck" = [ + "quickcheck-dep" + "alloc" + ]; "quickcheck-dep" = [ "dep:quickcheck-dep" ]; "rand" = [ "dep:rand" ]; "serde" = [ "dep:serde" ]; - "serde-human-readable" = [ "serde" "formatting" "parsing" ]; - "serde-well-known" = [ "serde/alloc" "formatting" "parsing" ]; + "serde-human-readable" = [ + "serde" + "formatting" + "parsing" + ]; + "serde-well-known" = [ + "serde/alloc" + "formatting" + "parsing" + ]; "std" = [ "alloc" ]; "time-macros" = [ "dep:time-macros" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "formatting" "itoa" "macros" "parsing" "std" "time-macros" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "formatting" + "itoa" + "macros" + "parsing" + "std" + "time-macros" + ]; }; "time-macros" = rec { crateName = "time-macros"; @@ -2043,10 +2442,17 @@ rec { "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "std" ]; - "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ]; + "rustc-dep-of-std" = [ + "compiler_builtins" + "core" + "rustc-std-workspace-alloc" + ]; "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ]; }; - resolvedDefaultFeatures = [ "default" "std" ]; + resolvedDefaultFeatures = [ + "default" + "std" + ]; }; "wasm-bindgen" = rec { crateName = "wasm-bindgen"; @@ -2067,16 +2473,29 @@ rec { } ]; features = { - "default" = [ "spans" "std" ]; + "default" = [ + "spans" + "std" + ]; "enable-interning" = [ "std" ]; "serde" = [ "dep:serde" ]; - "serde-serialize" = [ "serde" "serde_json" "std" ]; + "serde-serialize" = [ + "serde" + "serde_json" + "std" + ]; "serde_json" = [ "dep:serde_json" ]; "spans" = [ "wasm-bindgen-macro/spans" ]; "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ]; - "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ]; + "xxx_debug_only_print_generated_code" = [ + "wasm-bindgen-macro/xxx_debug_only_print_generated_code" + ]; }; - resolvedDefaultFeatures = [ "default" "spans" "std" ]; + resolvedDefaultFeatures = [ + "default" + "spans" + "std" + ]; }; "wasm-bindgen-backend" = rec { crateName = "wasm-bindgen-backend"; @@ -2167,7 +2586,10 @@ rec { { name = "syn"; packageId = "syn"; - features = [ "visit" "full" ]; + features = [ + "visit" + "full" + ]; } { name = "wasm-bindgen-backend"; @@ -2214,51 +2636,122 @@ rec { ]; features = { "AbortSignal" = [ "EventTarget" ]; - "AnalyserNode" = [ "AudioNode" "EventTarget" ]; + "AnalyserNode" = [ + "AudioNode" + "EventTarget" + ]; "Animation" = [ "EventTarget" ]; "AnimationEvent" = [ "Event" ]; "AnimationPlaybackEvent" = [ "Event" ]; - "Attr" = [ "EventTarget" "Node" ]; - "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ]; - "AudioContext" = [ "BaseAudioContext" "EventTarget" ]; - "AudioDestinationNode" = [ "AudioNode" "EventTarget" ]; + "Attr" = [ + "EventTarget" + "Node" + ]; + "AudioBufferSourceNode" = [ + "AudioNode" + "AudioScheduledSourceNode" + "EventTarget" + ]; + "AudioContext" = [ + "BaseAudioContext" + "EventTarget" + ]; + "AudioDestinationNode" = [ + "AudioNode" + "EventTarget" + ]; "AudioNode" = [ "EventTarget" ]; "AudioProcessingEvent" = [ "Event" ]; - "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ]; - "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ]; + "AudioScheduledSourceNode" = [ + "AudioNode" + "EventTarget" + ]; + "AudioStreamTrack" = [ + "EventTarget" + "MediaStreamTrack" + ]; "AudioTrackList" = [ "EventTarget" ]; "AudioWorklet" = [ "Worklet" ]; "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ]; - "AudioWorkletNode" = [ "AudioNode" "EventTarget" ]; + "AudioWorkletNode" = [ + "AudioNode" + "EventTarget" + ]; "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ]; "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ]; "BaseAudioContext" = [ "EventTarget" ]; "BatteryManager" = [ "EventTarget" ]; "BeforeUnloadEvent" = [ "Event" ]; - "BiquadFilterNode" = [ "AudioNode" "EventTarget" ]; + "BiquadFilterNode" = [ + "AudioNode" + "EventTarget" + ]; "BlobEvent" = [ "Event" ]; "Bluetooth" = [ "EventTarget" ]; "BluetoothAdvertisingEvent" = [ "Event" ]; "BluetoothDevice" = [ "EventTarget" ]; - "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ]; + "BluetoothPermissionResult" = [ + "EventTarget" + "PermissionStatus" + ]; "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ]; "BluetoothRemoteGattService" = [ "EventTarget" ]; "BroadcastChannel" = [ "EventTarget" ]; - "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ]; - "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ]; - "ChannelMergerNode" = [ "AudioNode" "EventTarget" ]; - "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ]; - "CharacterData" = [ "EventTarget" "Node" ]; - "ChromeWorker" = [ "EventTarget" "Worker" ]; + "CanvasCaptureMediaStream" = [ + "EventTarget" + "MediaStream" + ]; + "CdataSection" = [ + "CharacterData" + "EventTarget" + "Node" + "Text" + ]; + "ChannelMergerNode" = [ + "AudioNode" + "EventTarget" + ]; + "ChannelSplitterNode" = [ + "AudioNode" + "EventTarget" + ]; + "CharacterData" = [ + "EventTarget" + "Node" + ]; + "ChromeWorker" = [ + "EventTarget" + "Worker" + ]; "Clipboard" = [ "EventTarget" ]; "ClipboardEvent" = [ "Event" ]; "CloseEvent" = [ "Event" ]; - "Comment" = [ "CharacterData" "EventTarget" "Node" ]; - "CompositionEvent" = [ "Event" "UiEvent" ]; - "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ]; - "ConvolverNode" = [ "AudioNode" "EventTarget" ]; - "CssAnimation" = [ "Animation" "EventTarget" ]; - "CssConditionRule" = [ "CssGroupingRule" "CssRule" ]; + "Comment" = [ + "CharacterData" + "EventTarget" + "Node" + ]; + "CompositionEvent" = [ + "Event" + "UiEvent" + ]; + "ConstantSourceNode" = [ + "AudioNode" + "AudioScheduledSourceNode" + "EventTarget" + ]; + "ConvolverNode" = [ + "AudioNode" + "EventTarget" + ]; + "CssAnimation" = [ + "Animation" + "EventTarget" + ]; + "CssConditionRule" = [ + "CssGroupingRule" + "CssRule" + ]; "CssCounterStyleRule" = [ "CssRule" ]; "CssFontFaceRule" = [ "CssRule" ]; "CssFontFeatureValuesRule" = [ "CssRule" ]; @@ -2266,47 +2759,101 @@ rec { "CssImportRule" = [ "CssRule" ]; "CssKeyframeRule" = [ "CssRule" ]; "CssKeyframesRule" = [ "CssRule" ]; - "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ]; + "CssMediaRule" = [ + "CssConditionRule" + "CssGroupingRule" + "CssRule" + ]; "CssNamespaceRule" = [ "CssRule" ]; "CssPageRule" = [ "CssRule" ]; "CssStyleRule" = [ "CssRule" ]; "CssStyleSheet" = [ "StyleSheet" ]; - "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ]; - "CssTransition" = [ "Animation" "EventTarget" ]; + "CssSupportsRule" = [ + "CssConditionRule" + "CssGroupingRule" + "CssRule" + ]; + "CssTransition" = [ + "Animation" + "EventTarget" + ]; "CustomEvent" = [ "Event" ]; - "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ]; - "DelayNode" = [ "AudioNode" "EventTarget" ]; + "DedicatedWorkerGlobalScope" = [ + "EventTarget" + "WorkerGlobalScope" + ]; + "DelayNode" = [ + "AudioNode" + "EventTarget" + ]; "DeviceLightEvent" = [ "Event" ]; "DeviceMotionEvent" = [ "Event" ]; "DeviceOrientationEvent" = [ "Event" ]; "DeviceProximityEvent" = [ "Event" ]; - "Document" = [ "EventTarget" "Node" ]; - "DocumentFragment" = [ "EventTarget" "Node" ]; + "Document" = [ + "EventTarget" + "Node" + ]; + "DocumentFragment" = [ + "EventTarget" + "Node" + ]; "DocumentTimeline" = [ "AnimationTimeline" ]; - "DocumentType" = [ "EventTarget" "Node" ]; + "DocumentType" = [ + "EventTarget" + "Node" + ]; "DomMatrix" = [ "DomMatrixReadOnly" ]; "DomPoint" = [ "DomPointReadOnly" ]; "DomRect" = [ "DomRectReadOnly" ]; "DomRequest" = [ "EventTarget" ]; - "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ]; - "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ]; - "Element" = [ "EventTarget" "Node" ]; + "DragEvent" = [ + "Event" + "MouseEvent" + "UiEvent" + ]; + "DynamicsCompressorNode" = [ + "AudioNode" + "EventTarget" + ]; + "Element" = [ + "EventTarget" + "Node" + ]; "ErrorEvent" = [ "Event" ]; "EventSource" = [ "EventTarget" ]; "ExtendableEvent" = [ "Event" ]; - "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ]; - "FetchEvent" = [ "Event" "ExtendableEvent" ]; + "ExtendableMessageEvent" = [ + "Event" + "ExtendableEvent" + ]; + "FetchEvent" = [ + "Event" + "ExtendableEvent" + ]; "FetchObserver" = [ "EventTarget" ]; "File" = [ "Blob" ]; "FileReader" = [ "EventTarget" ]; "FileSystemDirectoryEntry" = [ "FileSystemEntry" ]; "FileSystemFileEntry" = [ "FileSystemEntry" ]; - "FocusEvent" = [ "Event" "UiEvent" ]; + "FocusEvent" = [ + "Event" + "UiEvent" + ]; "FontFaceSet" = [ "EventTarget" ]; "FontFaceSetLoadEvent" = [ "Event" ]; - "GainNode" = [ "AudioNode" "EventTarget" ]; - "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ]; - "GamepadButtonEvent" = [ "Event" "GamepadEvent" ]; + "GainNode" = [ + "AudioNode" + "EventTarget" + ]; + "GamepadAxisMoveEvent" = [ + "Event" + "GamepadEvent" + ]; + "GamepadButtonEvent" = [ + "Event" + "GamepadEvent" + ]; "GamepadEvent" = [ "Event" ]; "GpuDevice" = [ "EventTarget" ]; "GpuUncapturedErrorEvent" = [ "Event" ]; @@ -2315,98 +2862,479 @@ rec { "HidConnectionEvent" = [ "Event" ]; "HidDevice" = [ "EventTarget" ]; "HidInputReportEvent" = [ "Event" ]; - "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ]; - "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlDocument" = [ "Document" "EventTarget" "Node" ]; - "HtmlElement" = [ "Element" "EventTarget" "Node" ]; - "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; + "HtmlAnchorElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlAreaElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlAudioElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "HtmlMediaElement" + "Node" + ]; + "HtmlBaseElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlBodyElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlBrElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlButtonElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlCanvasElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDListElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDataElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDataListElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDetailsElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDialogElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDirectoryElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDivElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlDocument" = [ + "Document" + "EventTarget" + "Node" + ]; + "HtmlElement" = [ + "Element" + "EventTarget" + "Node" + ]; + "HtmlEmbedElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlFieldSetElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlFontElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; "HtmlFormControlsCollection" = [ "HtmlCollection" ]; - "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; + "HtmlFormElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlFrameElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlFrameSetElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlHeadElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlHeadingElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlHrElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlHtmlElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlIFrameElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlImageElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlInputElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlLabelElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlLegendElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlLiElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlLinkElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlMapElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlMediaElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlMenuElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlMenuItemElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlMetaElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlMeterElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlModElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlOListElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlObjectElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlOptGroupElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlOptionElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; "HtmlOptionsCollection" = [ "HtmlCollection" ]; - "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ]; - "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ]; + "HtmlOutputElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlParagraphElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlParamElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlPictureElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlPreElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlProgressElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlQuoteElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlScriptElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlSelectElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlSlotElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlSourceElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlSpanElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlStyleElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTableCaptionElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTableCellElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTableColElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTableElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTableRowElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTableSectionElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTemplateElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTextAreaElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTimeElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTitleElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlTrackElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlUListElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlUnknownElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "Node" + ]; + "HtmlVideoElement" = [ + "Element" + "EventTarget" + "HtmlElement" + "HtmlMediaElement" + "Node" + ]; "IdbCursorWithValue" = [ "IdbCursor" ]; "IdbDatabase" = [ "EventTarget" ]; "IdbFileHandle" = [ "EventTarget" ]; - "IdbFileRequest" = [ "DomRequest" "EventTarget" ]; + "IdbFileRequest" = [ + "DomRequest" + "EventTarget" + ]; "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ]; "IdbMutableFile" = [ "EventTarget" ]; - "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ]; + "IdbOpenDbRequest" = [ + "EventTarget" + "IdbRequest" + ]; "IdbRequest" = [ "EventTarget" ]; "IdbTransaction" = [ "EventTarget" ]; "IdbVersionChangeEvent" = [ "Event" ]; - "IirFilterNode" = [ "AudioNode" "EventTarget" ]; + "IirFilterNode" = [ + "AudioNode" + "EventTarget" + ]; "ImageCaptureErrorEvent" = [ "Event" ]; - "InputEvent" = [ "Event" "UiEvent" ]; - "KeyboardEvent" = [ "Event" "UiEvent" ]; + "InputEvent" = [ + "Event" + "UiEvent" + ]; + "KeyboardEvent" = [ + "Event" + "UiEvent" + ]; "KeyframeEffect" = [ "AnimationEffect" ]; - "LocalMediaStream" = [ "EventTarget" "MediaStream" ]; + "LocalMediaStream" = [ + "EventTarget" + "MediaStream" + ]; "MediaDevices" = [ "EventTarget" ]; - "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ]; + "MediaElementAudioSourceNode" = [ + "AudioNode" + "EventTarget" + ]; "MediaEncryptedEvent" = [ "Event" ]; "MediaKeyError" = [ "Event" ]; "MediaKeyMessageEvent" = [ "Event" ]; @@ -2417,8 +3345,14 @@ rec { "MediaRecorderErrorEvent" = [ "Event" ]; "MediaSource" = [ "EventTarget" ]; "MediaStream" = [ "EventTarget" ]; - "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ]; - "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ]; + "MediaStreamAudioDestinationNode" = [ + "AudioNode" + "EventTarget" + ]; + "MediaStreamAudioSourceNode" = [ + "AudioNode" + "EventTarget" + ]; "MediaStreamEvent" = [ "Event" ]; "MediaStreamTrack" = [ "EventTarget" ]; "MediaStreamTrackEvent" = [ "Event" ]; @@ -2426,34 +3360,70 @@ rec { "MessagePort" = [ "EventTarget" ]; "MidiAccess" = [ "EventTarget" ]; "MidiConnectionEvent" = [ "Event" ]; - "MidiInput" = [ "EventTarget" "MidiPort" ]; + "MidiInput" = [ + "EventTarget" + "MidiPort" + ]; "MidiMessageEvent" = [ "Event" ]; - "MidiOutput" = [ "EventTarget" "MidiPort" ]; + "MidiOutput" = [ + "EventTarget" + "MidiPort" + ]; "MidiPort" = [ "EventTarget" ]; - "MouseEvent" = [ "Event" "UiEvent" ]; - "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ]; + "MouseEvent" = [ + "Event" + "UiEvent" + ]; + "MouseScrollEvent" = [ + "Event" + "MouseEvent" + "UiEvent" + ]; "MutationEvent" = [ "Event" ]; "NetworkInformation" = [ "EventTarget" ]; "Node" = [ "EventTarget" ]; "Notification" = [ "EventTarget" ]; - "NotificationEvent" = [ "Event" "ExtendableEvent" ]; + "NotificationEvent" = [ + "Event" + "ExtendableEvent" + ]; "OfflineAudioCompletionEvent" = [ "Event" ]; - "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ]; + "OfflineAudioContext" = [ + "BaseAudioContext" + "EventTarget" + ]; "OfflineResourceList" = [ "EventTarget" ]; "OffscreenCanvas" = [ "EventTarget" ]; - "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ]; + "OscillatorNode" = [ + "AudioNode" + "AudioScheduledSourceNode" + "EventTarget" + ]; "PageTransitionEvent" = [ "Event" ]; "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ]; - "PannerNode" = [ "AudioNode" "EventTarget" ]; - "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ]; + "PannerNode" = [ + "AudioNode" + "EventTarget" + ]; + "PaymentMethodChangeEvent" = [ + "Event" + "PaymentRequestUpdateEvent" + ]; "PaymentRequestUpdateEvent" = [ "Event" ]; "Performance" = [ "EventTarget" ]; "PerformanceMark" = [ "PerformanceEntry" ]; "PerformanceMeasure" = [ "PerformanceEntry" ]; - "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ]; + "PerformanceNavigationTiming" = [ + "PerformanceEntry" + "PerformanceResourceTiming" + ]; "PerformanceResourceTiming" = [ "PerformanceEntry" ]; "PermissionStatus" = [ "EventTarget" ]; - "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ]; + "PointerEvent" = [ + "Event" + "MouseEvent" + "UiEvent" + ]; "PopStateEvent" = [ "Event" ]; "PopupBlockedEvent" = [ "Event" ]; "PresentationAvailability" = [ "EventTarget" ]; @@ -2462,11 +3432,18 @@ rec { "PresentationConnectionCloseEvent" = [ "Event" ]; "PresentationConnectionList" = [ "EventTarget" ]; "PresentationRequest" = [ "EventTarget" ]; - "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ]; + "ProcessingInstruction" = [ + "CharacterData" + "EventTarget" + "Node" + ]; "ProgressEvent" = [ "Event" ]; "PromiseRejectionEvent" = [ "Event" ]; "PublicKeyCredential" = [ "Credential" ]; - "PushEvent" = [ "Event" "ExtendableEvent" ]; + "PushEvent" = [ + "Event" + "ExtendableEvent" + ]; "RadioNodeList" = [ "NodeList" ]; "RtcDataChannel" = [ "EventTarget" ]; "RtcDataChannelEvent" = [ "Event" ]; @@ -2477,50 +3454,202 @@ rec { "RtcdtmfToneChangeEvent" = [ "Event" ]; "Screen" = [ "EventTarget" ]; "ScreenOrientation" = [ "EventTarget" ]; - "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ]; - "ScrollAreaEvent" = [ "Event" "UiEvent" ]; + "ScriptProcessorNode" = [ + "AudioNode" + "EventTarget" + ]; + "ScrollAreaEvent" = [ + "Event" + "UiEvent" + ]; "SecurityPolicyViolationEvent" = [ "Event" ]; "ServiceWorker" = [ "EventTarget" ]; "ServiceWorkerContainer" = [ "EventTarget" ]; - "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ]; + "ServiceWorkerGlobalScope" = [ + "EventTarget" + "WorkerGlobalScope" + ]; "ServiceWorkerRegistration" = [ "EventTarget" ]; - "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ]; + "ShadowRoot" = [ + "DocumentFragment" + "EventTarget" + "Node" + ]; "SharedWorker" = [ "EventTarget" ]; - "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ]; + "SharedWorkerGlobalScope" = [ + "EventTarget" + "WorkerGlobalScope" + ]; "SourceBuffer" = [ "EventTarget" ]; "SourceBufferList" = [ "EventTarget" ]; "SpeechRecognition" = [ "EventTarget" ]; "SpeechRecognitionError" = [ "Event" ]; "SpeechRecognitionEvent" = [ "Event" ]; "SpeechSynthesis" = [ "EventTarget" ]; - "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ]; + "SpeechSynthesisErrorEvent" = [ + "Event" + "SpeechSynthesisEvent" + ]; "SpeechSynthesisEvent" = [ "Event" ]; "SpeechSynthesisUtterance" = [ "EventTarget" ]; - "StereoPannerNode" = [ "AudioNode" "EventTarget" ]; + "StereoPannerNode" = [ + "AudioNode" + "EventTarget" + ]; "StorageEvent" = [ "Event" ]; - "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; - "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; - "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; - "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; - "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgElement" = [ "Element" "EventTarget" "Node" ]; - "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; - "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; - "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ]; - "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; + "SvgAnimateElement" = [ + "Element" + "EventTarget" + "Node" + "SvgAnimationElement" + "SvgElement" + ]; + "SvgAnimateMotionElement" = [ + "Element" + "EventTarget" + "Node" + "SvgAnimationElement" + "SvgElement" + ]; + "SvgAnimateTransformElement" = [ + "Element" + "EventTarget" + "Node" + "SvgAnimationElement" + "SvgElement" + ]; + "SvgAnimationElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgCircleElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; + "SvgClipPathElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgComponentTransferFunctionElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgDefsElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgDescElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgElement" = [ + "Element" + "EventTarget" + "Node" + ]; + "SvgEllipseElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; + "SvgFilterElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgForeignObjectElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgGeometryElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgGradientElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgGraphicsElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgImageElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgLineElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; + "SvgLinearGradientElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGradientElement" + ]; + "SvgMarkerElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgMaskElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgMetadataElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgPathElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; "SvgPathSegArcAbs" = [ "SvgPathSeg" ]; "SvgPathSegArcRel" = [ "SvgPathSeg" ]; "SvgPathSegClosePath" = [ "SvgPathSeg" ]; @@ -2540,104 +3669,419 @@ rec { "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ]; "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ]; "SvgPathSegMovetoRel" = [ "SvgPathSeg" ]; - "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; - "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; - "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ]; - "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ]; - "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ]; - "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ]; - "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ]; - "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ]; - "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; - "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; - "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; - "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ]; - "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ]; - "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ]; - "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ]; + "SvgPatternElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgPolygonElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; + "SvgPolylineElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; + "SvgRadialGradientElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGradientElement" + ]; + "SvgRectElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGeometryElement" + "SvgGraphicsElement" + ]; + "SvgScriptElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgSetElement" = [ + "Element" + "EventTarget" + "Node" + "SvgAnimationElement" + "SvgElement" + ]; + "SvgStopElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgStyleElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgSwitchElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgSymbolElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgTextContentElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgTextElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + "SvgTextContentElement" + "SvgTextPositioningElement" + ]; + "SvgTextPathElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + "SvgTextContentElement" + ]; + "SvgTextPositioningElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + "SvgTextContentElement" + ]; + "SvgTitleElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgUseElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgViewElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgaElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgfeBlendElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeColorMatrixElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeComponentTransferElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeCompositeElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeConvolveMatrixElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeDiffuseLightingElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeDisplacementMapElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeDistantLightElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeDropShadowElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeFloodElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeFuncAElement" = [ + "Element" + "EventTarget" + "Node" + "SvgComponentTransferFunctionElement" + "SvgElement" + ]; + "SvgfeFuncBElement" = [ + "Element" + "EventTarget" + "Node" + "SvgComponentTransferFunctionElement" + "SvgElement" + ]; + "SvgfeFuncGElement" = [ + "Element" + "EventTarget" + "Node" + "SvgComponentTransferFunctionElement" + "SvgElement" + ]; + "SvgfeFuncRElement" = [ + "Element" + "EventTarget" + "Node" + "SvgComponentTransferFunctionElement" + "SvgElement" + ]; + "SvgfeGaussianBlurElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeImageElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeMergeElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeMergeNodeElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeMorphologyElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeOffsetElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfePointLightElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeSpecularLightingElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeSpotLightElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeTileElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgfeTurbulenceElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvggElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgmPathElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + ]; + "SvgsvgElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + ]; + "SvgtSpanElement" = [ + "Element" + "EventTarget" + "Node" + "SvgElement" + "SvgGraphicsElement" + "SvgTextContentElement" + "SvgTextPositioningElement" + ]; "TcpServerSocket" = [ "EventTarget" ]; "TcpServerSocketEvent" = [ "Event" ]; "TcpSocket" = [ "EventTarget" ]; "TcpSocketErrorEvent" = [ "Event" ]; "TcpSocketEvent" = [ "Event" ]; - "Text" = [ "CharacterData" "EventTarget" "Node" ]; + "Text" = [ + "CharacterData" + "EventTarget" + "Node" + ]; "TextTrack" = [ "EventTarget" ]; "TextTrackCue" = [ "EventTarget" ]; "TextTrackList" = [ "EventTarget" ]; "TimeEvent" = [ "Event" ]; - "TouchEvent" = [ "Event" "UiEvent" ]; + "TouchEvent" = [ + "Event" + "UiEvent" + ]; "TrackEvent" = [ "Event" ]; "TransitionEvent" = [ "Event" ]; "UiEvent" = [ "Event" ]; "Usb" = [ "EventTarget" ]; "UsbConnectionEvent" = [ "Event" ]; - "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ]; + "UsbPermissionResult" = [ + "EventTarget" + "PermissionStatus" + ]; "UserProximityEvent" = [ "Event" ]; "ValueEvent" = [ "Event" ]; - "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ]; + "VideoStreamTrack" = [ + "EventTarget" + "MediaStreamTrack" + ]; "VideoTrackList" = [ "EventTarget" ]; "VrDisplay" = [ "EventTarget" ]; - "VttCue" = [ "EventTarget" "TextTrackCue" ]; + "VttCue" = [ + "EventTarget" + "TextTrackCue" + ]; "WakeLockSentinel" = [ "EventTarget" ]; - "WaveShaperNode" = [ "AudioNode" "EventTarget" ]; + "WaveShaperNode" = [ + "AudioNode" + "EventTarget" + ]; "WebGlContextEvent" = [ "Event" ]; - "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ]; + "WebKitCssMatrix" = [ + "DomMatrix" + "DomMatrixReadOnly" + ]; "WebSocket" = [ "EventTarget" ]; - "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ]; + "WheelEvent" = [ + "Event" + "MouseEvent" + "UiEvent" + ]; "Window" = [ "EventTarget" ]; "WindowClient" = [ "Client" ]; "Worker" = [ "EventTarget" ]; "WorkerDebuggerGlobalScope" = [ "EventTarget" ]; "WorkerGlobalScope" = [ "EventTarget" ]; - "XmlDocument" = [ "Document" "EventTarget" "Node" ]; - "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ]; + "XmlDocument" = [ + "Document" + "EventTarget" + "Node" + ]; + "XmlHttpRequest" = [ + "EventTarget" + "XmlHttpRequestEventTarget" + ]; "XmlHttpRequestEventTarget" = [ "EventTarget" ]; - "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ]; + "XmlHttpRequestUpload" = [ + "EventTarget" + "XmlHttpRequestEventTarget" + ]; "Xr" = [ "EventTarget" ]; - "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ]; + "XrBoundedReferenceSpace" = [ + "EventTarget" + "XrReferenceSpace" + "XrSpace" + ]; "XrInputSourceEvent" = [ "Event" ]; "XrInputSourcesChangeEvent" = [ "Event" ]; - "XrReferenceSpace" = [ "EventTarget" "XrSpace" ]; + "XrReferenceSpace" = [ + "EventTarget" + "XrSpace" + ]; "XrReferenceSpaceEvent" = [ "Event" ]; "XrSession" = [ "EventTarget" ]; "XrSessionEvent" = [ "Event" ]; "XrSpace" = [ "EventTarget" ]; "XrViewerPose" = [ "XrPose" ]; }; - resolvedDefaultFeatures = [ "Crypto" "EventTarget" "Window" ]; + resolvedDefaultFeatures = [ + "Crypto" + "EventTarget" + "Window" + ]; }; "webpki" = rec { crateName = "webpki"; @@ -2662,7 +4106,10 @@ rec { "alloc" = [ "ring/alloc" ]; "std" = [ "alloc" ]; }; - resolvedDefaultFeatures = [ "alloc" "std" ]; + resolvedDefaultFeatures = [ + "alloc" + "std" + ]; }; "winapi" = rec { crateName = "winapi"; @@ -2687,7 +4134,10 @@ rec { features = { "debug" = [ "impl-debug" ]; }; - resolvedDefaultFeatures = [ "ntsecapi" "wtypesbase" ]; + resolvedDefaultFeatures = [ + "ntsecapi" + "wtypesbase" + ]; }; "winapi-i686-pc-windows-gnu" = rec { crateName = "winapi-i686-pc-windows-gnu"; @@ -2747,7 +4197,10 @@ rec { { name = "oid-registry"; packageId = "oid-registry"; - features = [ "crypto" "x509" ]; + features = [ + "crypto" + "x509" + ]; } { name = "ring"; @@ -2772,7 +4225,11 @@ rec { "ring" = [ "dep:ring" ]; "verify" = [ "ring" ]; }; - resolvedDefaultFeatures = [ "default" "ring" "verify" ]; + resolvedDefaultFeatures = [ + "default" + "ring" + "verify" + ]; }; "yasna" = rec { crateName = "yasna"; @@ -2796,7 +4253,11 @@ rec { "num-bigint" = [ "dep:num-bigint" ]; "time" = [ "dep:time" ]; }; - resolvedDefaultFeatures = [ "default" "std" "time" ]; + resolvedDefaultFeatures = [ + "default" + "std" + "time" + ]; }; "zeroize" = rec { crateName = "zeroize"; @@ -2817,7 +4278,11 @@ rec { "default" = [ "alloc" ]; "zeroize_derive" = [ "dep:zeroize_derive" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "zeroize_derive" ]; + resolvedDefaultFeatures = [ + "alloc" + "default" + "zeroize_derive" + ]; }; "zeroize_derive" = rec { crateName = "zeroize_derive"; @@ -2851,49 +4316,48 @@ rec { }; # -# crate2nix/default.nix (excerpt start) -# - - /* Target (platform) data for conditional dependencies. - This corresponds roughly to what buildRustCrate is setting. - */ - defaultTarget = { - unix = true; - windows = false; - fuchsia = true; - test = false; - - # This doesn't appear to be officially documented anywhere yet. - # See https://github.com/rust-lang-nursery/rust-forge/issues/101. - os = - if stdenv.hostPlatform.isDarwin - then "macos" - else stdenv.hostPlatform.parsed.kernel.name; - arch = stdenv.hostPlatform.parsed.cpu.name; - family = "unix"; - env = "gnu"; - endian = - if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" - then "little" else "big"; - pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits; - vendor = stdenv.hostPlatform.parsed.vendor.name; - debug_assertions = false; - }; + # crate2nix/default.nix (excerpt start) + # + + /* + Target (platform) data for conditional dependencies. + This corresponds roughly to what buildRustCrate is setting. + */ + defaultTarget = { + unix = true; + windows = false; + fuchsia = true; + test = false; + + # This doesn't appear to be officially documented anywhere yet. + # See https://github.com/rust-lang-nursery/rust-forge/issues/101. + os = if stdenv.hostPlatform.isDarwin then "macos" else stdenv.hostPlatform.parsed.kernel.name; + arch = stdenv.hostPlatform.parsed.cpu.name; + family = "unix"; + env = "gnu"; + endian = + if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" then "little" else "big"; + pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits; + vendor = stdenv.hostPlatform.parsed.vendor.name; + debug_assertions = false; + }; - /* Filters common temp files and build files. */ - # TODO(pkolloch): Substitute with gitignore filter - sourceFilter = name: type: - let - baseName = builtins.baseNameOf (builtins.toString name); - in - ! ( + # Filters common temp files and build files. + # TODO(pkolloch): Substitute with gitignore filter + sourceFilter = + name: type: + let + baseName = builtins.baseNameOf (builtins.toString name); + in + !( # Filter out git baseName == ".gitignore" || (type == "directory" && baseName == ".git") # Filter out build results || ( - type == "directory" && ( + type == "directory" + && ( baseName == "target" || baseName == "_site" || baseName == ".sass-cache" @@ -2903,16 +4367,11 @@ rec { ) # Filter out nix-build result symlinks - || ( - type == "symlink" && lib.hasPrefix "result" baseName - ) + || (type == "symlink" && lib.hasPrefix "result" baseName) # Filter out IDE config - || ( - type == "directory" && ( - baseName == ".idea" || baseName == ".vscode" - ) - ) || lib.hasSuffix ".iml" baseName + || (type == "directory" && (baseName == ".idea" || baseName == ".vscode")) + || lib.hasSuffix ".iml" baseName # Filter out nix build files || baseName == "Cargo.nix" @@ -2926,161 +4385,190 @@ rec { || baseName == "tests.nix" ); - /* Returns a crate which depends on successful test execution - of crate given as the second argument. - - testCrateFlags: list of flags to pass to the test executable - testInputs: list of packages that should be available during test execution - */ - crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }: - assert builtins.typeOf testCrateFlags == "list"; - assert builtins.typeOf testInputs == "list"; - assert builtins.typeOf testPreRun == "string"; - assert builtins.typeOf testPostRun == "string"; - let - # override the `crate` so that it will build and execute tests instead of - # building the actual lib and bin targets We just have to pass `--test` - # to rustc and it will do the right thing. We execute the tests and copy - # their log and the test executables to $out for later inspection. - test = - let - drv = testCrate.override - ( - _: { - buildTests = true; - } + /* + Returns a crate which depends on successful test execution + of crate given as the second argument. + + testCrateFlags: list of flags to pass to the test executable + testInputs: list of packages that should be available during test execution + */ + crateWithTest = + { + crate, + testCrate, + testCrateFlags, + testInputs, + testPreRun, + testPostRun, + }: + assert builtins.typeOf testCrateFlags == "list"; + assert builtins.typeOf testInputs == "list"; + assert builtins.typeOf testPreRun == "string"; + assert builtins.typeOf testPostRun == "string"; + let + # override the `crate` so that it will build and execute tests instead of + # building the actual lib and bin targets We just have to pass `--test` + # to rustc and it will do the right thing. We execute the tests and copy + # their log and the test executables to $out for later inspection. + test = + let + drv = testCrate.override (_: { + buildTests = true; + }); + # If the user hasn't set any pre/post commands, we don't want to + # insert empty lines. This means that any existing users of crate2nix + # don't get a spurious rebuild unless they set these explicitly. + testCommand = pkgs.lib.concatStringsSep "\n" ( + pkgs.lib.filter (s: s != "") [ + testPreRun + "$f $testCrateFlags 2>&1 | tee -a $out" + testPostRun + ] ); - # If the user hasn't set any pre/post commands, we don't want to - # insert empty lines. This means that any existing users of crate2nix - # don't get a spurious rebuild unless they set these explicitly. - testCommand = pkgs.lib.concatStringsSep "\n" - (pkgs.lib.filter (s: s != "") [ - testPreRun - "$f $testCrateFlags 2>&1 | tee -a $out" - testPostRun - ]); - in - pkgs.runCommand "run-tests-${testCrate.name}" - { - inherit testCrateFlags; - buildInputs = testInputs; - } '' - set -ex - - export RUST_BACKTRACE=1 - - # recreate a file hierarchy as when running tests with cargo - - # the source for test data - ${pkgs.xorg.lndir}/bin/lndir ${crate.src} - - # build outputs - testRoot=target/debug - mkdir -p $testRoot - - # executables of the crate - # we copy to prevent std::env::current_exe() to resolve to a store location - for i in ${crate}/bin/*; do - cp "$i" "$testRoot" - done - chmod +w -R . - - # test harness executables are suffixed with a hash, like cargo does - # this allows to prevent name collision with the main - # executables of the crate - hash=$(basename $out) - for file in ${drv}/tests/*; do - f=$testRoot/$(basename $file)-$hash - cp $file $f - ${testCommand} - done + in + pkgs.runCommand "run-tests-${testCrate.name}" + { + inherit testCrateFlags; + buildInputs = testInputs; + } + '' + set -ex + + export RUST_BACKTRACE=1 + + # recreate a file hierarchy as when running tests with cargo + + # the source for test data + ${pkgs.xorg.lndir}/bin/lndir ${crate.src} + + # build outputs + testRoot=target/debug + mkdir -p $testRoot + + # executables of the crate + # we copy to prevent std::env::current_exe() to resolve to a store location + for i in ${crate}/bin/*; do + cp "$i" "$testRoot" + done + chmod +w -R . + + # test harness executables are suffixed with a hash, like cargo does + # this allows to prevent name collision with the main + # executables of the crate + hash=$(basename $out) + for file in ${drv}/tests/*; do + f=$testRoot/$(basename $file)-$hash + cp $file $f + ${testCommand} + done + ''; + in + pkgs.runCommand "${crate.name}-linked" + { + inherit (crate) outputs crateName; + passthru = (crate.passthru or { }) // { + inherit test; + }; + } + '' + echo tested by ${test} + ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs} ''; - in - pkgs.runCommand "${crate.name}-linked" + + # A restricted overridable version of builtRustCratesWithFeatures. + buildRustCrateWithFeatures = { - inherit (crate) outputs crateName; - passthru = (crate.passthru or { }) // { - inherit test; - }; - } '' - echo tested by ${test} - ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs} - ''; - - /* A restricted overridable version of builtRustCratesWithFeatures. */ - buildRustCrateWithFeatures = - { packageId - , features ? rootFeatures - , crateOverrides ? defaultCrateOverrides - , buildRustCrateForPkgsFunc ? null - , runTests ? false - , testCrateFlags ? [ ] - , testInputs ? [ ] - # Any command to run immediatelly before a test is executed. - , testPreRun ? "" - # Any command run immediatelly after a test is executed. - , testPostRun ? "" - }: - lib.makeOverridable - ( - { features - , crateOverrides - , runTests - , testCrateFlags - , testInputs - , testPreRun - , testPostRun - }: - let - buildRustCrateForPkgsFuncOverriden = - if buildRustCrateForPkgsFunc != null - then buildRustCrateForPkgsFunc - else - ( - if crateOverrides == pkgs.defaultCrateOverrides - then buildRustCrateForPkgs - else - pkgs: (buildRustCrateForPkgs pkgs).override { - defaultCrateOverrides = crateOverrides; - } - ); - builtRustCrates = builtRustCratesWithFeatures { - inherit packageId features; - buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden; - runTests = false; - }; - builtTestRustCrates = builtRustCratesWithFeatures { - inherit packageId features; - buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden; - runTests = true; - }; - drv = builtRustCrates.crates.${packageId}; - testDrv = builtTestRustCrates.crates.${packageId}; - derivation = - if runTests then - crateWithTest - { + packageId, + features ? rootFeatures, + crateOverrides ? defaultCrateOverrides, + buildRustCrateForPkgsFunc ? null, + runTests ? false, + testCrateFlags ? [ ], + testInputs ? [ ], + # Any command to run immediatelly before a test is executed. + testPreRun ? "", + # Any command run immediatelly after a test is executed. + testPostRun ? "", + }: + lib.makeOverridable + ( + { + features, + crateOverrides, + runTests, + testCrateFlags, + testInputs, + testPreRun, + testPostRun, + }: + let + buildRustCrateForPkgsFuncOverriden = + if buildRustCrateForPkgsFunc != null then + buildRustCrateForPkgsFunc + else + ( + if crateOverrides == pkgs.defaultCrateOverrides then + buildRustCrateForPkgs + else + pkgs: + (buildRustCrateForPkgs pkgs).override { + defaultCrateOverrides = crateOverrides; + } + ); + builtRustCrates = builtRustCratesWithFeatures { + inherit packageId features; + buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden; + runTests = false; + }; + builtTestRustCrates = builtRustCratesWithFeatures { + inherit packageId features; + buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden; + runTests = true; + }; + drv = builtRustCrates.crates.${packageId}; + testDrv = builtTestRustCrates.crates.${packageId}; + derivation = + if runTests then + crateWithTest { crate = drv; testCrate = testDrv; - inherit testCrateFlags testInputs testPreRun testPostRun; + inherit + testCrateFlags + testInputs + testPreRun + testPostRun + ; } - else drv; - in - derivation - ) - { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; }; - - /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc - for the corresponding crate. - */ - builtRustCratesWithFeatures = - { packageId - , features - , crateConfigs ? crates - , buildRustCrateForPkgsFunc - , runTests - , target ? defaultTarget - } @ args: + else + drv; + in + derivation + ) + { + inherit + features + crateOverrides + runTests + testCrateFlags + testInputs + testPreRun + testPostRun + ; + }; + + /* + Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc + for the corresponding crate. + */ + builtRustCratesWithFeatures = + { + packageId, + features, + crateConfigs ? crates, + buildRustCrateForPkgsFunc, + runTests, + target ? defaultTarget, + }@args: assert (builtins.isAttrs crateConfigs); assert (builtins.isString packageId); assert (builtins.isList features); @@ -3088,65 +4576,66 @@ rec { assert (builtins.isBool runTests); let rootPackageId = packageId; - mergedFeatures = mergePackageFeatures - ( - args // { - inherit rootPackageId; - target = target // { test = runTests; }; - } - ); + mergedFeatures = mergePackageFeatures ( + args + // { + inherit rootPackageId; + target = target // { + test = runTests; + }; + } + ); # Memoize built packages so that reappearing packages are only built once. builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs; - mkBuiltByPackageIdByPkgs = pkgs: + mkBuiltByPackageIdByPkgs = + pkgs: let self = { - crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs; + crates = lib.mapAttrs ( + packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId + ) crateConfigs; build = mkBuiltByPackageIdByPkgs pkgs.buildPackages; }; in self; - buildByPackageIdForPkgsImpl = self: pkgs: packageId: + buildByPackageIdForPkgsImpl = + self: pkgs: packageId: let features = mergedFeatures."${packageId}" or [ ]; crateConfig' = crateConfigs."${packageId}"; - crateConfig = - builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ]; - devDependencies = - lib.optionals - (runTests && packageId == rootPackageId) - (crateConfig'.devDependencies or [ ]); - dependencies = - dependencyDerivations { - inherit features target; - buildByPackageId = depPackageId: - # proc_macro crates must be compiled for the build architecture - if crateConfigs.${depPackageId}.procMacro or false - then self.build.crates.${depPackageId} - else self.crates.${depPackageId}; - dependencies = - (crateConfig.dependencies or [ ]) - ++ devDependencies; - }; - buildDependencies = - dependencyDerivations { - inherit features target; - buildByPackageId = depPackageId: - self.build.crates.${depPackageId}; - dependencies = crateConfig.buildDependencies or [ ]; - }; - filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies { - inherit dependencies features target; + crateConfig = builtins.removeAttrs crateConfig' [ + "resolvedDefaultFeatures" + "devDependencies" + ]; + devDependencies = lib.optionals (runTests && packageId == rootPackageId) ( + crateConfig'.devDependencies or [ ] + ); + dependencies = dependencyDerivations { + inherit features target; + buildByPackageId = + depPackageId: + # proc_macro crates must be compiled for the build architecture + if crateConfigs.${depPackageId}.procMacro or false then + self.build.crates.${depPackageId} + else + self.crates.${depPackageId}; + dependencies = (crateConfig.dependencies or [ ]) ++ devDependencies; }; - dependenciesWithRenames = - lib.filter (d: d ? "rename") - ( - filterEnabledDependenciesForThis - ( - (crateConfig.buildDependencies or [ ]) - ++ (crateConfig.dependencies or [ ]) - ++ devDependencies - ) - ); + buildDependencies = dependencyDerivations { + inherit features target; + buildByPackageId = depPackageId: self.build.crates.${depPackageId}; + dependencies = crateConfig.buildDependencies or [ ]; + }; + filterEnabledDependenciesForThis = + dependencies: + filterEnabledDependencies { + inherit dependencies features target; + }; + dependenciesWithRenames = lib.filter (d: d ? "rename") ( + filterEnabledDependenciesForThis ( + (crateConfig.buildDependencies or [ ]) ++ (crateConfig.dependencies or [ ]) ++ devDependencies + ) + ); # Crate renames have the form: # # { @@ -3157,46 +4646,55 @@ rec { # } crateRenames = let - grouped = - lib.groupBy - (dependency: dependency.name) - dependenciesWithRenames; - versionAndRename = dep: + grouped = lib.groupBy (dependency: dependency.name) dependenciesWithRenames; + versionAndRename = + dep: let package = crateConfigs."${dep.packageId}"; in - { inherit (dep) rename; version = package.version; }; + { + inherit (dep) rename; + version = package.version; + }; in lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped; in - buildRustCrateForPkgsFunc pkgs - ( - crateConfig // { - src = crateConfig.src or ( - pkgs.fetchurl rec { - name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz"; - # https://www.pietroalbini.org/blog/downloading-crates-io/ - # Not rate-limited, CDN URL. - url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate"; - sha256 = - assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}"); - crateConfig.sha256; - } - ); - extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}"; - inherit features dependencies buildDependencies crateRenames release; - } - ); + buildRustCrateForPkgsFunc pkgs ( + crateConfig + // { + src = + crateConfig.src or (pkgs.fetchurl rec { + name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz"; + # https://www.pietroalbini.org/blog/downloading-crates-io/ + # Not rate-limited, CDN URL. + url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate"; + sha256 = + assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}"); + crateConfig.sha256; + }); + extraRustcOpts = + lib.lists.optional (targetFeatures != [ ]) + "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}"; + inherit + features + dependencies + buildDependencies + crateRenames + release + ; + } + ); in builtByPackageIdByPkgs; - /* Returns the actual derivations for the given dependencies. */ - dependencyDerivations = - { buildByPackageId - , features - , dependencies - , target - }: + # Returns the actual derivations for the given dependencies. + dependencyDerivations = + { + buildByPackageId, + features, + dependencies, + target, + }: assert (builtins.isList features); assert (builtins.isList dependencies); assert (builtins.isAttrs target); @@ -3208,106 +4706,117 @@ rec { in map depDerivation enabledDependencies; - /* Returns a sanitized version of val with all values substituted that cannot - be serialized as JSON. - */ - sanitizeForJson = val: - if builtins.isAttrs val - then lib.mapAttrs (n: v: sanitizeForJson v) val - else if builtins.isList val - then builtins.map sanitizeForJson val - else if builtins.isFunction val - then "function" - else val; - - /* Returns various tools to debug a crate. */ - debugCrate = { packageId, target ? defaultTarget }: - assert (builtins.isString packageId); - let - debug = rec { - # The built tree as passed to buildRustCrate. - buildTree = buildRustCrateWithFeatures { - buildRustCrateForPkgsFunc = _: lib.id; - inherit packageId; - }; - sanitizedBuildTree = sanitizeForJson buildTree; - dependencyTree = sanitizeForJson - ( - buildRustCrateWithFeatures { - buildRustCrateForPkgsFunc = _: crate: { - "01_crateName" = crate.crateName or false; - "02_features" = crate.features or [ ]; - "03_dependencies" = crate.dependencies or [ ]; - }; - inherit packageId; - } - ); - mergedPackageFeatures = mergePackageFeatures { - features = rootFeatures; - inherit packageId target; - }; - diffedDefaultPackageFeatures = diffDefaultPackageFeatures { - inherit packageId target; + /* + Returns a sanitized version of val with all values substituted that cannot + be serialized as JSON. + */ + sanitizeForJson = + val: + if builtins.isAttrs val then + lib.mapAttrs (n: v: sanitizeForJson v) val + else if builtins.isList val then + builtins.map sanitizeForJson val + else if builtins.isFunction val then + "function" + else + val; + + # Returns various tools to debug a crate. + debugCrate = + { + packageId, + target ? defaultTarget, + }: + assert (builtins.isString packageId); + let + debug = rec { + # The built tree as passed to buildRustCrate. + buildTree = buildRustCrateWithFeatures { + buildRustCrateForPkgsFunc = _: lib.id; + inherit packageId; + }; + sanitizedBuildTree = sanitizeForJson buildTree; + dependencyTree = sanitizeForJson (buildRustCrateWithFeatures { + buildRustCrateForPkgsFunc = _: crate: { + "01_crateName" = crate.crateName or false; + "02_features" = crate.features or [ ]; + "03_dependencies" = crate.dependencies or [ ]; + }; + inherit packageId; + }); + mergedPackageFeatures = mergePackageFeatures { + features = rootFeatures; + inherit packageId target; + }; + diffedDefaultPackageFeatures = diffDefaultPackageFeatures { + inherit packageId target; + }; }; + in + { + internal = debug; }; - in - { internal = debug; }; - /* Returns differences between cargo default features and crate2nix default - features. + /* + Returns differences between cargo default features and crate2nix default + features. - This is useful for verifying the feature resolution in crate2nix. - */ - diffDefaultPackageFeatures = - { crateConfigs ? crates - , packageId - , target - }: + This is useful for verifying the feature resolution in crate2nix. + */ + diffDefaultPackageFeatures = + { + crateConfigs ? crates, + packageId, + target, + }: assert (builtins.isAttrs crateConfigs); let prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; }); - mergedFeatures = - prefixValues - "crate2nix" - (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; }); + mergedFeatures = prefixValues "crate2nix" (mergePackageFeatures { + inherit crateConfigs packageId target; + features = [ "default" ]; + }); configs = prefixValues "cargo" crateConfigs; - combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ]; - onlyInCargo = - builtins.attrNames - (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined); - onlyInCrate2Nix = - builtins.attrNames - (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined); - differentFeatures = lib.filterAttrs - ( - n: v: - (v ? "crate2nix") - && (v ? "cargo") - && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ]) - ) - combined; + combined = lib.foldAttrs (a: b: a // b) { } [ + mergedFeatures + configs + ]; + onlyInCargo = builtins.attrNames ( + lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined + ); + onlyInCrate2Nix = builtins.attrNames ( + lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined + ); + differentFeatures = lib.filterAttrs ( + n: v: + (v ? "crate2nix") + && (v ? "cargo") + && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ]) + ) combined; in builtins.toJSON { inherit onlyInCargo onlyInCrate2Nix differentFeatures; }; - /* Returns an attrset mapping packageId to the list of enabled features. - - If multiple paths to a dependency enable different features, the - corresponding feature sets are merged. Features in rust are additive. - */ - mergePackageFeatures = - { crateConfigs ? crates - , packageId - , rootPackageId ? packageId - , features ? rootFeatures - , dependencyPath ? [ crates.${packageId}.crateName ] - , featuresByPackageId ? { } - , target - # Adds devDependencies to the crate with rootPackageId. - , runTests ? false - , ... - } @ args: + /* + Returns an attrset mapping packageId to the list of enabled features. + + If multiple paths to a dependency enable different features, the + corresponding feature sets are merged. Features in rust are additive. + */ + mergePackageFeatures = + { + crateConfigs ? crates, + packageId, + rootPackageId ? packageId, + features ? rootFeatures, + dependencyPath ? [ crates.${packageId}.crateName ], + featuresByPackageId ? { }, + target, + # Adds devDependencies to the crate with rootPackageId. + runTests ? false, + ... + }@args: assert (builtins.isAttrs crateConfigs); assert (builtins.isString packageId); assert (builtins.isString rootPackageId); @@ -3320,13 +4829,17 @@ rec { crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}"); expandedFeatures = expandFeatures (crateConfig.features or { }) features; enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures; - depWithResolvedFeatures = dependency: + depWithResolvedFeatures = + dependency: let packageId = dependency.packageId; features = dependencyFeatures enabledFeatures dependency; in - { inherit packageId features; }; - resolveDependencies = cache: path: dependencies: + { + inherit packageId features; + }; + resolveDependencies = + cache: path: dependencies: assert (builtins.isAttrs cache); assert (builtins.isList dependencies); let @@ -3337,158 +4850,164 @@ rec { directDependencies = map depWithResolvedFeatures enabledDependencies; foldOverCache = op: lib.foldl op cache directDependencies; in - foldOverCache - ( - cache: { packageId, features }: - let - cacheFeatures = cache.${packageId} or [ ]; - combinedFeatures = sortedUnique (cacheFeatures ++ features); - in - if cache ? ${packageId} && cache.${packageId} == combinedFeatures - then cache - else - mergePackageFeatures { - features = combinedFeatures; - featuresByPackageId = cache; - inherit crateConfigs packageId target runTests rootPackageId; - } - ); + foldOverCache ( + cache: + { packageId, features }: + let + cacheFeatures = cache.${packageId} or [ ]; + combinedFeatures = sortedUnique (cacheFeatures ++ features); + in + if cache ? ${packageId} && cache.${packageId} == combinedFeatures then + cache + else + mergePackageFeatures { + features = combinedFeatures; + featuresByPackageId = cache; + inherit + crateConfigs + packageId + target + runTests + rootPackageId + ; + } + ); cacheWithSelf = let cacheFeatures = featuresByPackageId.${packageId} or [ ]; combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures); in - featuresByPackageId // { + featuresByPackageId + // { "${packageId}" = combinedFeatures; }; - cacheWithDependencies = - resolveDependencies cacheWithSelf "dep" - ( - crateConfig.dependencies or [ ] - ++ lib.optionals - (runTests && packageId == rootPackageId) - (crateConfig.devDependencies or [ ]) - ); - cacheWithAll = - resolveDependencies - cacheWithDependencies "build" - (crateConfig.buildDependencies or [ ]); + cacheWithDependencies = resolveDependencies cacheWithSelf "dep" ( + crateConfig.dependencies or [ ] + ++ lib.optionals (runTests && packageId == rootPackageId) (crateConfig.devDependencies or [ ]) + ); + cacheWithAll = resolveDependencies cacheWithDependencies "build" ( + crateConfig.buildDependencies or [ ] + ); in cacheWithAll; - /* Returns the enabled dependencies given the enabled features. */ - filterEnabledDependencies = { dependencies, features, target }: - assert (builtins.isList dependencies); - assert (builtins.isList features); - assert (builtins.isAttrs target); + # Returns the enabled dependencies given the enabled features. + filterEnabledDependencies = + { + dependencies, + features, + target, + }: + assert (builtins.isList dependencies); + assert (builtins.isList features); + assert (builtins.isAttrs target); - lib.filter - ( + lib.filter ( dep: let targetFunc = dep.target or (features: true); in targetFunc { inherit features target; } - && ( - !(dep.optional or false) - || builtins.any (doesFeatureEnableDependency dep) features - ) - ) - dependencies; - - /* Returns whether the given feature should enable the given dependency. */ - doesFeatureEnableDependency = dependency: feature: - let - name = dependency.rename or dependency.name; - prefix = "${name}/"; - len = builtins.stringLength prefix; - startsWithPrefix = builtins.substring 0 len feature == prefix; - in - feature == name || startsWithPrefix; - - /* Returns the expanded features for the given inputFeatures by applying the - rules in featureMap. - - featureMap is an attribute set which maps feature names to lists of further - feature names to enable in case this feature is selected. - */ - expandFeatures = featureMap: inputFeatures: - assert (builtins.isAttrs featureMap); - assert (builtins.isList inputFeatures); - let - expandFeature = feature: - assert (builtins.isString feature); - [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ])); - outFeatures = lib.concatMap expandFeature inputFeatures; - in - sortedUnique outFeatures; - - /* This function adds optional dependencies as features if they are enabled - indirectly by dependency features. This function mimics Cargo's behavior - described in a note at: - https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features - */ - enableFeatures = dependencies: features: - assert (builtins.isList features); - assert (builtins.isList dependencies); - let - additionalFeatures = lib.concatMap - ( + && (!(dep.optional or false) || builtins.any (doesFeatureEnableDependency dep) features) + ) dependencies; + + # Returns whether the given feature should enable the given dependency. + doesFeatureEnableDependency = + dependency: feature: + let + name = dependency.rename or dependency.name; + prefix = "${name}/"; + len = builtins.stringLength prefix; + startsWithPrefix = builtins.substring 0 len feature == prefix; + in + feature == name || startsWithPrefix; + + /* + Returns the expanded features for the given inputFeatures by applying the + rules in featureMap. + + featureMap is an attribute set which maps feature names to lists of further + feature names to enable in case this feature is selected. + */ + expandFeatures = + featureMap: inputFeatures: + assert (builtins.isAttrs featureMap); + assert (builtins.isList inputFeatures); + let + expandFeature = + feature: + assert (builtins.isString feature); + [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ])); + outFeatures = lib.concatMap expandFeature inputFeatures; + in + sortedUnique outFeatures; + + /* + This function adds optional dependencies as features if they are enabled + indirectly by dependency features. This function mimics Cargo's behavior + described in a note at: + https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features + */ + enableFeatures = + dependencies: features: + assert (builtins.isList features); + assert (builtins.isList dependencies); + let + additionalFeatures = lib.concatMap ( dependency: - assert (builtins.isAttrs dependency); - let - enabled = builtins.any (doesFeatureEnableDependency dependency) features; - in - if (dependency.optional or false) && enabled - then [ (dependency.rename or dependency.name) ] - else [ ] - ) - dependencies; - in - sortedUnique (features ++ additionalFeatures); - - /* - Returns the actual features for the given dependency. - - features: The features of the crate that refers this dependency. - */ - dependencyFeatures = features: dependency: - assert (builtins.isList features); - assert (builtins.isAttrs dependency); - let - defaultOrNil = - if dependency.usesDefaultFeatures or true - then [ "default" ] - else [ ]; - explicitFeatures = dependency.features or [ ]; - additionalDependencyFeatures = - let - dependencyPrefix = (dependency.rename or dependency.name) + "/"; - dependencyFeatures = - builtins.filter (f: lib.hasPrefix dependencyPrefix f) features; - in - builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures; - in - defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures; - - /* Sorts and removes duplicates from a list of strings. */ - sortedUnique = features: - assert (builtins.isList features); - assert (builtins.all builtins.isString features); - let - outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features; - outFeaturesUnique = builtins.attrNames outFeaturesSet; - in - builtins.sort (a: b: a < b) outFeaturesUnique; - - deprecationWarning = message: value: - if strictDeprecation - then builtins.throw "strictDeprecation enabled, aborting: ${message}" - else builtins.trace message value; + assert (builtins.isAttrs dependency); + let + enabled = builtins.any (doesFeatureEnableDependency dependency) features; + in + if (dependency.optional or false) && enabled then + [ (dependency.rename or dependency.name) ] + else + [ ] + ) dependencies; + in + sortedUnique (features ++ additionalFeatures); - # - # crate2nix/default.nix (excerpt end) - # + /* + Returns the actual features for the given dependency. + + features: The features of the crate that refers this dependency. + */ + dependencyFeatures = + features: dependency: + assert (builtins.isList features); + assert (builtins.isAttrs dependency); + let + defaultOrNil = if dependency.usesDefaultFeatures or true then [ "default" ] else [ ]; + explicitFeatures = dependency.features or [ ]; + additionalDependencyFeatures = + let + dependencyPrefix = (dependency.rename or dependency.name) + "/"; + dependencyFeatures = builtins.filter (f: lib.hasPrefix dependencyPrefix f) features; + in + builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures; + in + defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures; + + # Sorts and removes duplicates from a list of strings. + sortedUnique = + features: + assert (builtins.isList features); + assert (builtins.all builtins.isString features); + let + outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features; + outFeaturesUnique = builtins.attrNames outFeaturesSet; + in + builtins.sort (a: b: a < b) outFeaturesUnique; + + deprecationWarning = + message: value: + if strictDeprecation then + builtins.throw "strictDeprecation enabled, aborting: ${message}" + else + builtins.trace message value; + + # + # crate2nix/default.nix (excerpt end) + # }; } - diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index 51e9caac1ac38..0060cb18bf76d 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -1,92 +1,127 @@ -{ lib -, importCargoLock -, fetchCargoTarball -, fetchCargoVendor -, stdenv -, callPackage -, cargoBuildHook -, cargoCheckHook -, cargoInstallHook -, cargoNextestHook -, cargoSetupHook -, cargo -, cargo-auditable -, buildPackages -, rustc -, libiconv -, windows +{ + lib, + importCargoLock, + fetchCargoTarball, + fetchCargoVendor, + stdenv, + callPackage, + cargoBuildHook, + cargoCheckHook, + cargoInstallHook, + cargoNextestHook, + cargoSetupHook, + cargo, + cargo-auditable, + buildPackages, + rustc, + libiconv, + windows, }: -{ name ? "${args.pname}-${args.version}" +{ + name ? "${args.pname}-${args.version}", # Name for the vendored dependencies tarball -, cargoDepsName ? name - -, src ? null -, srcs ? null -, preUnpack ? null -, unpackPhase ? null -, postUnpack ? null -, cargoPatches ? [] -, patches ? [] -, sourceRoot ? null -, cargoRoot ? null -, logLevel ? "" -, buildInputs ? [] -, nativeBuildInputs ? [] -, cargoUpdateHook ? "" -, cargoDepsHook ? "" -, buildType ? "release" -, meta ? {} -, useFetchCargoVendor ? false -, cargoDeps ? null -, cargoLock ? null -, cargoVendorDir ? null -, checkType ? buildType -, buildNoDefaultFeatures ? false -, checkNoDefaultFeatures ? buildNoDefaultFeatures -, buildFeatures ? [ ] -, checkFeatures ? buildFeatures -, useNextest ? false -, auditable ? !cargo-auditable.meta.broken - -, depsExtraArgs ? {} - -# Toggles whether a custom sysroot is created when the target is a .json file. -, __internal_dontAddSysroot ? false - -# Needed to `pushd`/`popd` into a subdir of a tarball if this subdir -# contains a Cargo.toml, but isn't part of a workspace (which is e.g. the -# case for `rustfmt`/etc from the `rust-sources). -# Otherwise, everything from the tarball would've been built/tested. -, buildAndTestSubdir ? null -, ... } @ args: - -assert cargoVendorDir == null && cargoDeps == null && cargoLock == null - -> !(args ? cargoSha256 && args.cargoSha256 != null) && !(args ? cargoHash && args.cargoHash != null) - -> throw "cargoHash, cargoVendorDir, cargoDeps, or cargoLock must be set"; + cargoDepsName ? name, + + src ? null, + srcs ? null, + preUnpack ? null, + unpackPhase ? null, + postUnpack ? null, + cargoPatches ? [ ], + patches ? [ ], + sourceRoot ? null, + cargoRoot ? null, + logLevel ? "", + buildInputs ? [ ], + nativeBuildInputs ? [ ], + cargoUpdateHook ? "", + cargoDepsHook ? "", + buildType ? "release", + meta ? { }, + useFetchCargoVendor ? false, + cargoDeps ? null, + cargoLock ? null, + cargoVendorDir ? null, + checkType ? buildType, + buildNoDefaultFeatures ? false, + checkNoDefaultFeatures ? buildNoDefaultFeatures, + buildFeatures ? [ ], + checkFeatures ? buildFeatures, + useNextest ? false, + auditable ? !cargo-auditable.meta.broken, + + depsExtraArgs ? { }, + + # Toggles whether a custom sysroot is created when the target is a .json file. + __internal_dontAddSysroot ? false, + + # Needed to `pushd`/`popd` into a subdir of a tarball if this subdir + # contains a Cargo.toml, but isn't part of a workspace (which is e.g. the + # case for `rustfmt`/etc from the `rust-sources). + # Otherwise, everything from the tarball would've been built/tested. + buildAndTestSubdir ? null, + ... +}@args: + +assert + cargoVendorDir == null && cargoDeps == null && cargoLock == null + -> + !(args ? cargoSha256 && args.cargoSha256 != null) && !(args ? cargoHash && args.cargoHash != null) + -> throw "cargoHash, cargoVendorDir, cargoDeps, or cargoLock must be set"; let cargoDeps' = - if cargoVendorDir != null then null - else if cargoDeps != null then cargoDeps - else if cargoLock != null then importCargoLock cargoLock - else if useFetchCargoVendor then fetchCargoVendor ({ - inherit src srcs sourceRoot cargoRoot preUnpack unpackPhase postUnpack; - name = cargoDepsName; - patches = cargoPatches; - hash = args.cargoHash; - } // depsExtraArgs) - else fetchCargoTarball ({ - inherit src srcs sourceRoot cargoRoot preUnpack unpackPhase postUnpack cargoUpdateHook; - name = cargoDepsName; - patches = cargoPatches; - } // lib.optionalAttrs (args ? cargoHash) { - hash = args.cargoHash; - } // lib.optionalAttrs (args ? cargoSha256) { - sha256 = lib.warn "cargoSha256 is deprecated. Please use cargoHash with SRI hash instead" args.cargoSha256; - } // depsExtraArgs); + if cargoVendorDir != null then + null + else if cargoDeps != null then + cargoDeps + else if cargoLock != null then + importCargoLock cargoLock + else if useFetchCargoVendor then + fetchCargoVendor ( + { + inherit + src + srcs + sourceRoot + cargoRoot + preUnpack + unpackPhase + postUnpack + ; + name = cargoDepsName; + patches = cargoPatches; + hash = args.cargoHash; + } + // depsExtraArgs + ) + else + fetchCargoTarball ( + { + inherit + src + srcs + sourceRoot + cargoRoot + preUnpack + unpackPhase + postUnpack + cargoUpdateHook + ; + name = cargoDepsName; + patches = cargoPatches; + } + // lib.optionalAttrs (args ? cargoHash) { + hash = args.cargoHash; + } + // lib.optionalAttrs (args ? cargoSha256) { + sha256 = lib.warn "cargoSha256 is deprecated. Please use cargoHash with SRI hash instead" args.cargoSha256; + } + // depsExtraArgs + ); target = stdenv.hostPlatform.rust.rustcTargetSpec; targetIsJSON = lib.hasSuffix ".json" target; @@ -105,72 +140,86 @@ in # See https://os.phil-opp.com/testing/ for more information. assert useSysroot -> !(args.doCheck or true); -stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "cargoDeps" "cargoLock" ]) // lib.optionalAttrs useSysroot { - RUSTFLAGS = "--sysroot ${sysroot} " + (args.RUSTFLAGS or ""); -} // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && buildType == "debug") { - RUSTFLAGS = - "-C split-debuginfo=packed " - + lib.optionalString useSysroot "--sysroot ${sysroot} " - + (args.RUSTFLAGS or ""); -} // { - cargoDeps = cargoDeps'; - inherit buildAndTestSubdir; - - cargoBuildType = buildType; - - cargoCheckType = checkType; - - cargoBuildNoDefaultFeatures = buildNoDefaultFeatures; - - cargoCheckNoDefaultFeatures = checkNoDefaultFeatures; - - cargoBuildFeatures = buildFeatures; - - cargoCheckFeatures = checkFeatures; - - patchRegistryDeps = ./patch-registry-deps; - - nativeBuildInputs = nativeBuildInputs ++ lib.optionals auditable [ - (buildPackages.cargo-auditable-cargo-wrapper.override { - inherit cargo cargo-auditable; - }) - ] ++ [ - cargoBuildHook - (if useNextest then cargoNextestHook else cargoCheckHook) - cargoInstallHook - cargoSetupHook - rustc - ]; - - buildInputs = buildInputs - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ] - ++ lib.optionals stdenv.hostPlatform.isMinGW [ windows.pthreads ]; - - patches = cargoPatches ++ patches; - - PKG_CONFIG_ALLOW_CROSS = - if stdenv.buildPlatform != stdenv.hostPlatform then 1 else 0; - - postUnpack = '' - eval "$cargoDepsHook" - - export RUST_LOG=${logLevel} - '' + (args.postUnpack or ""); - - configurePhase = args.configurePhase or '' - runHook preConfigure - runHook postConfigure - ''; - - doCheck = args.doCheck or true; - - strictDeps = true; - - meta = meta // { - badPlatforms = meta.badPlatforms or [] ++ rustc.badTargetPlatforms; - # default to Rust's platforms - platforms = lib.intersectLists - meta.platforms or lib.platforms.all - rustc.targetPlatforms; - }; -}) +stdenv.mkDerivation ( + (removeAttrs args [ + "depsExtraArgs" + "cargoUpdateHook" + "cargoDeps" + "cargoLock" + ]) + // lib.optionalAttrs useSysroot { + RUSTFLAGS = "--sysroot ${sysroot} " + (args.RUSTFLAGS or ""); + } + // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && buildType == "debug") { + RUSTFLAGS = + "-C split-debuginfo=packed " + + lib.optionalString useSysroot "--sysroot ${sysroot} " + + (args.RUSTFLAGS or ""); + } + // { + cargoDeps = cargoDeps'; + inherit buildAndTestSubdir; + + cargoBuildType = buildType; + + cargoCheckType = checkType; + + cargoBuildNoDefaultFeatures = buildNoDefaultFeatures; + + cargoCheckNoDefaultFeatures = checkNoDefaultFeatures; + + cargoBuildFeatures = buildFeatures; + + cargoCheckFeatures = checkFeatures; + + patchRegistryDeps = ./patch-registry-deps; + + nativeBuildInputs = + nativeBuildInputs + ++ lib.optionals auditable [ + (buildPackages.cargo-auditable-cargo-wrapper.override { + inherit cargo cargo-auditable; + }) + ] + ++ [ + cargoBuildHook + (if useNextest then cargoNextestHook else cargoCheckHook) + cargoInstallHook + cargoSetupHook + rustc + ]; + + buildInputs = + buildInputs + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ windows.pthreads ]; + + patches = cargoPatches ++ patches; + + PKG_CONFIG_ALLOW_CROSS = if stdenv.buildPlatform != stdenv.hostPlatform then 1 else 0; + + postUnpack = + '' + eval "$cargoDepsHook" + + export RUST_LOG=${logLevel} + '' + + (args.postUnpack or ""); + + configurePhase = + args.configurePhase or '' + runHook preConfigure + runHook postConfigure + ''; + + doCheck = args.doCheck or true; + + strictDeps = true; + + meta = meta // { + badPlatforms = meta.badPlatforms or [ ] ++ rustc.badTargetPlatforms; + # default to Rust's platforms + platforms = lib.intersectLists meta.platforms or lib.platforms.all rustc.targetPlatforms; + }; + } +) diff --git a/pkgs/build-support/rust/build-rust-package/sysroot/default.nix b/pkgs/build-support/rust/build-rust-package/sysroot/default.nix index 240866b56e0cf..d9d071df06ccc 100644 --- a/pkgs/build-support/rust/build-rust-package/sysroot/default.nix +++ b/pkgs/build-support/rust/build-rust-package/sysroot/default.nix @@ -1,16 +1,33 @@ -{ lib, stdenv, rustPlatform, buildPackages }: - -{ shortTarget, originalCargoToml, target, RUSTFLAGS }: +{ + lib, + stdenv, + rustPlatform, + buildPackages, +}: + +{ + shortTarget, + originalCargoToml, + target, + RUSTFLAGS, +}: let cargoSrc = import ../../sysroot/src.nix { - inherit lib stdenv rustPlatform buildPackages originalCargoToml; + inherit + lib + stdenv + rustPlatform + buildPackages + originalCargoToml + ; }; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { inherit target RUSTFLAGS; name = "custom-sysroot"; - src = cargoSrc; + src = cargoSrc; RUSTC_BOOTSTRAP = 1; __internal_dontAddSysroot = true; diff --git a/pkgs/build-support/rust/fetchcrate.nix b/pkgs/build-support/rust/fetchcrate.nix index 423f4d786fde1..63a6295002534 100644 --- a/pkgs/build-support/rust/fetchcrate.nix +++ b/pkgs/build-support/rust/fetchcrate.nix @@ -1,20 +1,35 @@ -{ lib, fetchzip, fetchurl }: +{ + lib, + fetchzip, + fetchurl, +}: -{ crateName ? args.pname -, pname ? null +{ + crateName ? args.pname, + pname ? null, # The `dl` field of the registry's index configuration # https://doc.rust-lang.org/cargo/reference/registry-index.html#index-configuration -, registryDl ? "https://crates.io/api/v1/crates" -, version -, unpack ? true -, ... -} @ args: + registryDl ? "https://crates.io/api/v1/crates", + version, + unpack ? true, + ... +}@args: assert pname == null || pname == crateName; -(if unpack then fetchzip else fetchurl) ({ - name = "${crateName}-${version}.tar.gz"; - url = "${registryDl}/${crateName}/${version}/download"; -} // lib.optionalAttrs unpack { - extension = "tar.gz"; -} // removeAttrs args [ "crateName" "pname" "registryDl" "version" "unpack" ]) +(if unpack then fetchzip else fetchurl) ( + { + name = "${crateName}-${version}.tar.gz"; + url = "${registryDl}/${crateName}/${version}/download"; + } + // lib.optionalAttrs unpack { + extension = "tar.gz"; + } + // removeAttrs args [ + "crateName" + "pname" + "registryDl" + "version" + "unpack" + ] +) diff --git a/pkgs/build-support/rust/rustc-wrapper/default.nix b/pkgs/build-support/rust/rustc-wrapper/default.nix index 0b16740ae5bbf..0ba21482053d5 100644 --- a/pkgs/build-support/rust/rustc-wrapper/default.nix +++ b/pkgs/build-support/rust/rustc-wrapper/default.nix @@ -1,54 +1,69 @@ -{ lib, runCommand, rustc-unwrapped, sysroot ? null }: +{ + lib, + runCommand, + rustc-unwrapped, + sysroot ? null, +}: -runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}" { - preferLocalBuild = true; - strictDeps = true; - inherit (rustc-unwrapped) outputs; +runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}" + { + preferLocalBuild = true; + strictDeps = true; + inherit (rustc-unwrapped) outputs; - env = { - sysroot = lib.optionalString (sysroot != null) "--sysroot ${sysroot}"; + env = { + sysroot = lib.optionalString (sysroot != null) "--sysroot ${sysroot}"; - # Upstream rustc still assumes that musl = static[1]. The fix for - # this is to disable crt-static by default for non-static musl - # targets. - # - # Even though Cargo will build build.rs files for the build platform, - # cross-compiling _from_ musl appears to work fine, so we only need - # to do this when rustc's target platform is dynamically linked musl. - # - # [1]: https://github.com/rust-lang/compiler-team/issues/422 - # - # WARNING: using defaultArgs is dangerous, as it will apply to all - # targets used by this compiler (host and target). This means - # that it can't be used to set arguments that should only be - # applied to the target. It's fine to do this for -crt-static, - # because rustc does not support +crt-static host platforms - # anyway. - defaultArgs = lib.optionalString - (with rustc-unwrapped.stdenv.targetPlatform; isMusl && !isStatic) - "-C target-feature=-crt-static"; - }; + # Upstream rustc still assumes that musl = static[1]. The fix for + # this is to disable crt-static by default for non-static musl + # targets. + # + # Even though Cargo will build build.rs files for the build platform, + # cross-compiling _from_ musl appears to work fine, so we only need + # to do this when rustc's target platform is dynamically linked musl. + # + # [1]: https://github.com/rust-lang/compiler-team/issues/422 + # + # WARNING: using defaultArgs is dangerous, as it will apply to all + # targets used by this compiler (host and target). This means + # that it can't be used to set arguments that should only be + # applied to the target. It's fine to do this for -crt-static, + # because rustc does not support +crt-static host platforms + # anyway. + defaultArgs = lib.optionalString ( + with rustc-unwrapped.stdenv.targetPlatform; isMusl && !isStatic + ) "-C target-feature=-crt-static"; + }; - passthru = { - inherit (rustc-unwrapped) - pname version src llvm llvmPackages - tier1TargetPlatforms targetPlatforms badTargetPlatforms; - unwrapped = rustc-unwrapped; - }; + passthru = { + inherit (rustc-unwrapped) + pname + version + src + llvm + llvmPackages + tier1TargetPlatforms + targetPlatforms + badTargetPlatforms + ; + unwrapped = rustc-unwrapped; + }; - meta = rustc-unwrapped.meta // { - description = "${rustc-unwrapped.meta.description} (wrapper script)"; - priority = 10; - }; -} '' - mkdir -p $out/bin - ln -s ${rustc-unwrapped}/bin/* $out/bin - rm $out/bin/{rustc,rustdoc} - prog=${rustc-unwrapped}/bin/rustc extraFlagsVar=NIX_RUSTFLAGS \ - substituteAll ${./rustc-wrapper.sh} $out/bin/rustc - prog=${rustc-unwrapped}/bin/rustdoc extraFlagsVar=NIX_RUSTDOCFLAGS \ - substituteAll ${./rustc-wrapper.sh} $out/bin/rustdoc - chmod +x $out/bin/{rustc,rustdoc} - ${lib.concatMapStrings (output: "ln -s ${rustc-unwrapped.${output}} \$${output}\n") - (lib.remove "out" rustc-unwrapped.outputs)} -'' + meta = rustc-unwrapped.meta // { + description = "${rustc-unwrapped.meta.description} (wrapper script)"; + priority = 10; + }; + } + '' + mkdir -p $out/bin + ln -s ${rustc-unwrapped}/bin/* $out/bin + rm $out/bin/{rustc,rustdoc} + prog=${rustc-unwrapped}/bin/rustc extraFlagsVar=NIX_RUSTFLAGS \ + substituteAll ${./rustc-wrapper.sh} $out/bin/rustc + prog=${rustc-unwrapped}/bin/rustdoc extraFlagsVar=NIX_RUSTDOCFLAGS \ + substituteAll ${./rustc-wrapper.sh} $out/bin/rustdoc + chmod +x $out/bin/{rustc,rustdoc} + ${lib.concatMapStrings (output: "ln -s ${rustc-unwrapped.${output}} \$${output}\n") ( + lib.remove "out" rustc-unwrapped.outputs + )} + '' diff --git a/pkgs/build-support/rust/sysroot/src.nix b/pkgs/build-support/rust/sysroot/src.nix index 664702e82c31b..d41cbf55fcdcf 100644 --- a/pkgs/build-support/rust/sysroot/src.nix +++ b/pkgs/build-support/rust/sysroot/src.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, rustPlatform, buildPackages -, originalCargoToml ? null +{ + lib, + stdenv, + rustPlatform, + buildPackages, + originalCargoToml ? null, }: stdenv.mkDerivation { @@ -10,17 +14,18 @@ stdenv.mkDerivation { dontConfigure = true; dontBuild = true; - installPhase = '' - export RUSTC_SRC=${rustPlatform.rustLibSrc.override { }} - '' - + lib.optionalString (originalCargoToml != null) '' - export ORIG_CARGO=${originalCargoToml} - '' - + '' - ${buildPackages.python3.withPackages (ps: with ps; [ toml ])}/bin/python3 ${./cargo.py} - mkdir -p $out/src - echo '#![no_std]' > $out/src/lib.rs - cp Cargo.toml $out/Cargo.toml - cp ${./Cargo.lock} $out/Cargo.lock - ''; + installPhase = + '' + export RUSTC_SRC=${rustPlatform.rustLibSrc.override { }} + '' + + lib.optionalString (originalCargoToml != null) '' + export ORIG_CARGO=${originalCargoToml} + '' + + '' + ${buildPackages.python3.withPackages (ps: with ps; [ toml ])}/bin/python3 ${./cargo.py} + mkdir -p $out/src + echo '#![no_std]' > $out/src/lib.rs + cp Cargo.toml $out/Cargo.toml + cp ${./Cargo.lock} $out/Cargo.lock + ''; } diff --git a/pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/default.nix b/pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/default.nix index 7a87a69e5dace..203badd867554 100644 --- a/pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/default.nix +++ b/pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/default.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage { cargoLock = { lockFile = ./Cargo.lock; extraRegistries = { - "sparse+https://index.crates.io/" = "https://static.crates.io/crates"; + "sparse+https://index.crates.io/" = "https://static.crates.io/crates"; }; }; diff --git a/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/default.nix b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/default.nix index b616b293fa397..5b1dcc1aef616 100644 --- a/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/default.nix +++ b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/default.nix @@ -1,4 +1,11 @@ -{ rustPlatform, pkg-config, openssl, lib, darwin, stdenv }: +{ + rustPlatform, + pkg-config, + openssl, + lib, + darwin, + stdenv, +}: let fs = lib.fileset; in @@ -19,11 +26,13 @@ rustPlatform.buildRustPackage { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; cargoLock = { lockFile = ./Cargo.lock; diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix index f16644528f002..e07cc15cacd09 100644 --- a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix @@ -1,60 +1,57 @@ -{ lib -, callPackage -, makeSetupHook -, gnused +{ + lib, + callPackage, + makeSetupHook, + gnused, }: let tests = import ./test { inherit callPackage; }; in { - patchRcPathBash = makeSetupHook - { - name = "patch-rc-path-bash"; - meta = with lib; { - description = "Setup-hook to inject source-time PATH prefix to a Bash/Ksh/Zsh script"; - maintainers = with maintainers; [ ShamrockLee ]; - }; - passthru.tests = { - inherit (tests) test-bash; - }; - } ./patch-rc-path-bash.sh; - patchRcPathCsh = makeSetupHook - { - name = "patch-rc-path-csh"; - substitutions = { - sed = "${gnused}/bin/sed"; - }; - meta = with lib; { - description = "Setup-hook to inject source-time PATH prefix to a Csh script"; - maintainers = with maintainers; [ ShamrockLee ]; - }; - passthru.tests = { - inherit (tests) test-csh; - }; - } ./patch-rc-path-csh.sh; - patchRcPathFish = makeSetupHook - { - name = "patch-rc-path-fish"; - meta = with lib; { - description = "Setup-hook to inject source-time PATH prefix to a Fish script"; - maintainers = with maintainers; [ ShamrockLee ]; - }; - passthru.tests = { - inherit (tests) test-fish; - }; - } ./patch-rc-path-fish.sh; - patchRcPathPosix = makeSetupHook - { - name = "patch-rc-path-posix"; - substitutions = { - sed = "${gnused}/bin/sed"; - }; - meta = with lib; { - description = "Setup-hook to inject source-time PATH prefix to a POSIX shell script"; - maintainers = with maintainers; [ ShamrockLee ]; - }; - passthru.tests = { - inherit (tests) test-posix; - }; - } ./patch-rc-path-posix.sh; + patchRcPathBash = makeSetupHook { + name = "patch-rc-path-bash"; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a Bash/Ksh/Zsh script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-bash; + }; + } ./patch-rc-path-bash.sh; + patchRcPathCsh = makeSetupHook { + name = "patch-rc-path-csh"; + substitutions = { + sed = "${gnused}/bin/sed"; + }; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a Csh script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-csh; + }; + } ./patch-rc-path-csh.sh; + patchRcPathFish = makeSetupHook { + name = "patch-rc-path-fish"; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a Fish script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-fish; + }; + } ./patch-rc-path-fish.sh; + patchRcPathPosix = makeSetupHook { + name = "patch-rc-path-posix"; + substitutions = { + sed = "${gnused}/bin/sed"; + }; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a POSIX shell script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-posix; + }; + } ./patch-rc-path-posix.sh; } diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix index 82bc160387ee5..8479e2c9bbcbf 100644 --- a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix @@ -1,442 +1,432 @@ { callPackage }: { - test-bash = callPackage - ( - { lib - , runCommandLocal - , bash - , hello - , ksh - , patchRcPathBash - , shellcheck - , zsh - }: - runCommandLocal "patch-rc-path-bash-test" - { - nativeBuildInputs = [ - bash - ksh - patchRcPathBash - shellcheck - zsh - ]; - meta = { - description = "Package test of patchActivateBash"; - inherit (patchRcPathBash.meta) maintainers; - }; - } - '' - set -eu -o pipefail + test-bash = callPackage ( + { + lib, + runCommandLocal, + bash, + hello, + ksh, + patchRcPathBash, + shellcheck, + zsh, + }: + runCommandLocal "patch-rc-path-bash-test" + { + nativeBuildInputs = [ + bash + ksh + patchRcPathBash + shellcheck + zsh + ]; + meta = { + description = "Package test of patchActivateBash"; + inherit (patchRcPathBash.meta) maintainers; + }; + } + '' + set -eu -o pipefail - # Check the setup hook script + # Check the setup hook script - echo "Running shellcheck against ${./test-sourcing-bash}" - shellcheck -s bash --exclude SC1090 ${./test-sourcing-bash} - shellcheck -s ksh --exclude SC1090 ${./test-sourcing-bash} + echo "Running shellcheck against ${./test-sourcing-bash}" + shellcheck -s bash --exclude SC1090 ${./test-sourcing-bash} + shellcheck -s ksh --exclude SC1090 ${./test-sourcing-bash} - # Test patching a blank file + # Test patching a blank file - echo > blank.bash + echo > blank.bash - echo "Generating blank_patched.bash from blank.bash" - cp blank.bash blank_patched.bash - patchRcPathBash blank_patched.bash "$PWD/delta:$PWD/foxtrot" + echo "Generating blank_patched.bash from blank.bash" + cp blank.bash blank_patched.bash + patchRcPathBash blank_patched.bash "$PWD/delta:$PWD/foxtrot" - echo "Running shellcheck against blank_patched.bash" - shellcheck -s bash blank_patched.bash - shellcheck -s ksh blank_patched.bash + echo "Running shellcheck against blank_patched.bash" + shellcheck -s bash blank_patched.bash + shellcheck -s ksh blank_patched.bash - echo "Testing in Bash if blank.bash and blank_patched.bash modifies PATH the same way" - bash ${./test-sourcing-bash} ./blank.bash ./blank_patched.bash + echo "Testing in Bash if blank.bash and blank_patched.bash modifies PATH the same way" + bash ${./test-sourcing-bash} ./blank.bash ./blank_patched.bash - echo "Testing in Ksh if blank.bash and blank_patched.bash modifies PATH the same way" - ksh ${./test-sourcing-bash} "$PWD/blank.bash" "$PWD/blank_patched.bash" + echo "Testing in Ksh if blank.bash and blank_patched.bash modifies PATH the same way" + ksh ${./test-sourcing-bash} "$PWD/blank.bash" "$PWD/blank_patched.bash" - echo "Testing in Zsh if blank.bash and blank_patched.bash modifies PATH the same way" - zsh ${./test-sourcing-bash} ./blank.bash ./blank_patched.bash + echo "Testing in Zsh if blank.bash and blank_patched.bash modifies PATH the same way" + zsh ${./test-sourcing-bash} ./blank.bash ./blank_patched.bash - # Test patching silent_hello + # Test patching silent_hello - echo "hello > /dev/null" > silent_hello.bash + echo "hello > /dev/null" > silent_hello.bash - echo "Generating silent_hello_patched.bash from silent_hello.bash" - cp silent_hello.bash silent_hello_patched.bash - patchRcPathBash silent_hello_patched.bash "${hello}/bin" + echo "Generating silent_hello_patched.bash from silent_hello.bash" + cp silent_hello.bash silent_hello_patched.bash + patchRcPathBash silent_hello_patched.bash "${hello}/bin" - echo "Running shellcheck against silent_hello_patched.bash" - shellcheck -s bash silent_hello_patched.bash + echo "Running shellcheck against silent_hello_patched.bash" + shellcheck -s bash silent_hello_patched.bash - echo "Testing in Bash if silent_hello_patched.bash get sourced without error" - bash -eu -o pipefail -c ". ./silent_hello_patched.bash" + echo "Testing in Bash if silent_hello_patched.bash get sourced without error" + bash -eu -o pipefail -c ". ./silent_hello_patched.bash" - echo "Testing in Ksh if silent_hello_patched.bash get sourced without error" - ksh -eu -o pipefail -c ". ./silent_hello_patched.bash" + echo "Testing in Ksh if silent_hello_patched.bash get sourced without error" + ksh -eu -o pipefail -c ". ./silent_hello_patched.bash" - echo "Testing in Zsh if silent_hello_patched.bash get sourced without error" - zsh -eu -o pipefail -c ". ./silent_hello_patched.bash" + echo "Testing in Zsh if silent_hello_patched.bash get sourced without error" + zsh -eu -o pipefail -c ". ./silent_hello_patched.bash" - # Check the sample source + # Check the sample source - echo "Running shellcheck against sample_source.bash" - shellcheck -s bash ${./sample_source.bash} - shellcheck -s ksh ${./sample_source.bash} + echo "Running shellcheck against sample_source.bash" + shellcheck -s bash ${./sample_source.bash} + shellcheck -s ksh ${./sample_source.bash} - # Test patching the sample source + # Test patching the sample source - cp ${./sample_source.bash} sample_source_patched.bash - chmod u+w sample_source_patched.bash + cp ${./sample_source.bash} sample_source_patched.bash + chmod u+w sample_source_patched.bash - echo "Generating sample_source_patched.bash from ./sample_source.bash" - patchRcPathBash sample_source_patched.bash "$PWD/delta:$PWD/foxtrot" + echo "Generating sample_source_patched.bash from ./sample_source.bash" + patchRcPathBash sample_source_patched.bash "$PWD/delta:$PWD/foxtrot" - echo "Running shellcheck against sample_source_patched.bash" - shellcheck -s bash sample_source_patched.bash + echo "Running shellcheck against sample_source_patched.bash" + shellcheck -s bash sample_source_patched.bash - echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - bash ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash - echo "Testing in Ksh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - ksh ${./test-sourcing-bash} ${./sample_source.bash} "$PWD/sample_source_patched.bash" + echo "Testing in Ksh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + ksh ${./test-sourcing-bash} ${./sample_source.bash} "$PWD/sample_source_patched.bash" - echo "Testing in Zsh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - zsh ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + echo "Testing in Zsh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + zsh ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash - # Test double-patching the sample source + # Test double-patching the sample source - echo "Patching again sample_source_patched.bash" - patchRcPathBash sample_source_patched.bash "$PWD/foxtrot:$PWD/golf" + echo "Patching again sample_source_patched.bash" + patchRcPathBash sample_source_patched.bash "$PWD/foxtrot:$PWD/golf" - echo "Running shellcheck against sample_source_patched.bash" - shellcheck -s bash sample_source_patched.bash - shellcheck -s ksh sample_source_patched.bash + echo "Running shellcheck against sample_source_patched.bash" + shellcheck -s bash sample_source_patched.bash + shellcheck -s ksh sample_source_patched.bash - echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - bash ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash - echo "Testing in Ksh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - ksh ${./test-sourcing-bash} ${./sample_source.bash} "$PWD/sample_source_patched.bash" + echo "Testing in Ksh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + ksh ${./test-sourcing-bash} ${./sample_source.bash} "$PWD/sample_source_patched.bash" - echo "Testing in Zsh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - zsh ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + echo "Testing in Zsh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + zsh ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash - # Create a dummy output - touch "$out" - '' - ) - { }; + # Create a dummy output + touch "$out" + '' + ) { }; + test-csh = callPackage ( + { + lib, + runCommandLocal, + gnused, + hello, + patchRcPathCsh, + tcsh, + }: + runCommandLocal "patch-rc-path-csh-test" + { + nativeBuildInputs = [ + patchRcPathCsh + tcsh + ]; + meta = { + description = "Package test of patchActivateCsh"; + inherit (patchRcPathCsh.meta) maintainers; + }; + } + '' + set -eu -o pipefail - test-csh = callPackage - ( - { lib - , runCommandLocal - , gnused - , hello - , patchRcPathCsh - , tcsh - }: - runCommandLocal "patch-rc-path-csh-test" - { - nativeBuildInputs = [ - patchRcPathCsh - tcsh - ]; - meta = { - description = "Package test of patchActivateCsh"; - inherit (patchRcPathCsh.meta) maintainers; - }; - } - '' - set -eu -o pipefail + # Test patching a blank file + echo > blank.csh - # Test patching a blank file + echo "Generating blank_patched.csh from blank.csh" + cp blank.csh blank_patched.csh + patchRcPathCsh blank_patched.csh "$PWD/delta:$PWD/foxtrot" - echo > blank.csh + echo "Testing in Csh if blank.csh and blank_patched.csh modifies PATH the same way" + tcsh -e ${./test-sourcing-csh} blank.csh blank_patched.csh - echo "Generating blank_patched.csh from blank.csh" - cp blank.csh blank_patched.csh - patchRcPathCsh blank_patched.csh "$PWD/delta:$PWD/foxtrot" - echo "Testing in Csh if blank.csh and blank_patched.csh modifies PATH the same way" - tcsh -e ${./test-sourcing-csh} blank.csh blank_patched.csh + # Test patching silent_hello file + echo "hello > /dev/null" > silent_hello.csh - # Test patching silent_hello file + echo "Generating silent_hello_patched.csh from silent_hello.csh" + cp silent_hello.csh silent_hello_patched.csh + patchRcPathCsh silent_hello_patched.csh "${hello}/bin" - echo "hello > /dev/null" > silent_hello.csh + echo "Testing in Csh if silent_hello_patched.csh get sourced without errer" + tcsh -e -c "source silent_hello_patched.csh" - echo "Generating silent_hello_patched.csh from silent_hello.csh" - cp silent_hello.csh silent_hello_patched.csh - patchRcPathCsh silent_hello_patched.csh "${hello}/bin" - echo "Testing in Csh if silent_hello_patched.csh get sourced without errer" - tcsh -e -c "source silent_hello_patched.csh" + # Generate the sample source + substitute ${./sample_source.csh.in} sample_source.csh --replace @sed@ ${gnused}/bin/sed + chmod u+rw sample_source.csh - # Generate the sample source - substitute ${./sample_source.csh.in} sample_source.csh --replace @sed@ ${gnused}/bin/sed - chmod u+rw sample_source.csh + # Test patching the sample source + echo "Generating sample_source_patched.csh from sample_source.csh" + cp sample_source.csh sample_source_patched.csh + chmod u+w sample_source_patched.csh + patchRcPathCsh sample_source_patched.csh "$PWD/delta:$PWD/foxtrot" - # Test patching the sample source + echo "Testing in Csh if sample_source.csh and sample_source_patched.csh modifies PATH the same way" + tcsh -e ${./test-sourcing-csh} sample_source.csh sample_source_patched.csh - echo "Generating sample_source_patched.csh from sample_source.csh" - cp sample_source.csh sample_source_patched.csh - chmod u+w sample_source_patched.csh - patchRcPathCsh sample_source_patched.csh "$PWD/delta:$PWD/foxtrot" - echo "Testing in Csh if sample_source.csh and sample_source_patched.csh modifies PATH the same way" - tcsh -e ${./test-sourcing-csh} sample_source.csh sample_source_patched.csh + # Test double-patching the sample source + echo "Patching again sample_source_patched.csh from sample_source.csh" + patchRcPathCsh sample_source_patched.csh "$PWD/foxtrot:$PWD/golf" - # Test double-patching the sample source + echo "Testing in Csh if sample_source.csh and sample_source_patched.csh modifies PATH the same way" + tcsh -e ${./test-sourcing-csh} sample_source.csh sample_source_patched.csh - echo "Patching again sample_source_patched.csh from sample_source.csh" - patchRcPathCsh sample_source_patched.csh "$PWD/foxtrot:$PWD/golf" - echo "Testing in Csh if sample_source.csh and sample_source_patched.csh modifies PATH the same way" - tcsh -e ${./test-sourcing-csh} sample_source.csh sample_source_patched.csh + # Create a dummy output + touch "$out" + '' + ) { }; + test-fish = callPackage ( + { + lib, + runCommandLocal, + fish, + hello, + patchRcPathFish, + }: + runCommandLocal "patch-rc-path-fish-test" + { + nativeBuildInputs = [ + fish + patchRcPathFish + ]; + meta = { + description = "Package test of patchActivateFish"; + inherit (patchRcPathFish.meta) maintainers; + }; + } + '' + set -eu -o pipefail - # Create a dummy output - touch "$out" - '' - ) - { }; + # Test patching a blank file + echo > blank.fish - test-fish = callPackage - ( - { lib - , runCommandLocal - , fish - , hello - , patchRcPathFish - }: - runCommandLocal "patch-rc-path-fish-test" - { - nativeBuildInputs = [ - fish - patchRcPathFish - ]; - meta = { - description = "Package test of patchActivateFish"; - inherit (patchRcPathFish.meta) maintainers; - }; - } - '' - set -eu -o pipefail + echo "Generating blank_patched.fish from blank.fish" + cp blank.fish blank_patched.fish + patchRcPathFish blank_patched.fish "$PWD/delta:$PWD/foxtrot" + echo "Testing in Fish if blank.fish and blank_patched.fish modifies PATH the same way" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish ${./test-sourcing-fish} blank.fish blank_patched.fish + rm -r "$HOME_TEMP" - # Test patching a blank file - echo > blank.fish + # Test patching silent_hello file - echo "Generating blank_patched.fish from blank.fish" - cp blank.fish blank_patched.fish - patchRcPathFish blank_patched.fish "$PWD/delta:$PWD/foxtrot" + echo "hello > /dev/null" > silent_hello.fish - echo "Testing in Fish if blank.fish and blank_patched.fish modifies PATH the same way" - HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" - HOME="$HOME_TEMP" fish ${./test-sourcing-fish} blank.fish blank_patched.fish - rm -r "$HOME_TEMP" + echo "Generating silent_hello_patched.fish from silent_hello.fish" + cp silent_hello.fish silent_hello_patched.fish + patchRcPathFish silent_hello_patched.fish "${hello}/bin" + echo "Testing in Fish if silent_hello_patched.fish get sourced without error" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish -c "source silent_hello_patched.fish" + rm -r "$HOME_TEMP" - # Test patching silent_hello file - echo "hello > /dev/null" > silent_hello.fish + # Test patching the sample source - echo "Generating silent_hello_patched.fish from silent_hello.fish" - cp silent_hello.fish silent_hello_patched.fish - patchRcPathFish silent_hello_patched.fish "${hello}/bin" + cp ${./sample_source.fish} sample_source_patched.fish + chmod u+w sample_source_patched.fish - echo "Testing in Fish if silent_hello_patched.fish get sourced without error" - HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" - HOME="$HOME_TEMP" fish -c "source silent_hello_patched.fish" - rm -r "$HOME_TEMP" + echo "Generating sample_source_patched.fish from ${./sample_source.fish}" + patchRcPathFish sample_source_patched.fish "$PWD/delta:$PWD/foxtrot" + echo "Testing in Fish if sample_source.fish and sample_source_patched.fish modifies PATH the same way" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish ${./test-sourcing-fish} ${./sample_source.fish} sample_source_patched.fish + rm -r "$HOME_TEMP" - # Test patching the sample source + # Test double-patching the sample source - cp ${./sample_source.fish} sample_source_patched.fish - chmod u+w sample_source_patched.fish + echo "Patching again sample_source_patched.fish from ${./sample_source.fish}" + patchRcPathFish sample_source_patched.fish "$PWD/foxtrot:$PWD/golf" - echo "Generating sample_source_patched.fish from ${./sample_source.fish}" - patchRcPathFish sample_source_patched.fish "$PWD/delta:$PWD/foxtrot" - echo "Testing in Fish if sample_source.fish and sample_source_patched.fish modifies PATH the same way" - HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" - HOME="$HOME_TEMP" fish ${./test-sourcing-fish} ${./sample_source.fish} sample_source_patched.fish - rm -r "$HOME_TEMP" + echo "Testing in Fish if sample_source.fish and sample_source_patched.fish modifies PATH the same way" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish ${./test-sourcing-fish} ${./sample_source.fish} sample_source_patched.fish + rm -r "$HOME_TEMP" - # Test double-patching the sample source + # Create a dummy output + touch "$out" + '' + ) { }; - echo "Patching again sample_source_patched.fish from ${./sample_source.fish}" - patchRcPathFish sample_source_patched.fish "$PWD/foxtrot:$PWD/golf" + test-posix = callPackage ( + { + lib, + runCommandLocal, + bash, + dash, + gnused, + hello, + ksh, + patchRcPathPosix, + shellcheck, + }: + runCommandLocal "patch-rc-path-posix-test" + { + nativeBuildInputs = [ + bash + dash + ksh + patchRcPathPosix + shellcheck + ]; + meta = { + description = "Package test of patchActivatePosix"; + inherit (patchRcPathPosix.meta) maintainers; + }; + } + '' + set -eu -o pipefail - echo "Testing in Fish if sample_source.fish and sample_source_patched.fish modifies PATH the same way" - HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" - HOME="$HOME_TEMP" fish ${./test-sourcing-fish} ${./sample_source.fish} sample_source_patched.fish - rm -r "$HOME_TEMP" + # Check the setup hook script - # Create a dummy output - touch "$out" - '' - ) - { }; + echo "Running shellcheck against ${./test-sourcing-posix}" + shellcheck -s sh --exclude SC1090 ${./test-sourcing-posix} + shellcheck -s dash --exclude SC1090 ${./test-sourcing-posix} + # Test patching a blank file - test-posix = callPackage - ( - { lib - , runCommandLocal - , bash - , dash - , gnused - , hello - , ksh - , patchRcPathPosix - , shellcheck - }: - runCommandLocal "patch-rc-path-posix-test" - { - nativeBuildInputs = [ - bash - dash - ksh - patchRcPathPosix - shellcheck - ]; - meta = { - description = "Package test of patchActivatePosix"; - inherit (patchRcPathPosix.meta) maintainers; - }; - } - '' - set -eu -o pipefail + echo > blank.sh + echo "Generating blank_patched.sh from blank.sh" + cp blank.sh blank_patched.sh + patchRcPathPosix blank_patched.sh "$PWD/delta:$PWD/foxtrot" - # Check the setup hook script + echo "Running shellcheck against blank_patched.sh" + shellcheck -s sh blank_patched.sh + shellcheck -s dash blank_patched.sh - echo "Running shellcheck against ${./test-sourcing-posix}" - shellcheck -s sh --exclude SC1090 ${./test-sourcing-posix} - shellcheck -s dash --exclude SC1090 ${./test-sourcing-posix} + echo "Testing in Bash if blank.sh and blank_patched.sh modifies PATH the same way" + bash --posix ${./test-sourcing-posix} ./blank.sh ./blank_patched.sh + echo "Testing in Dash if blank.sh and blank_patched.sh modifies PATH the same way" + dash ${./test-sourcing-posix} ./blank.sh ./blank_patched.sh - # Test patching a blank file + echo "Testing in Ksh if ./blank.sh and ./blank_patched.sh modifies PATH the same way" + ksh ${./test-sourcing-posix} "$PWD/blank.sh" "$PWD/blank_patched.sh" - echo > blank.sh - echo "Generating blank_patched.sh from blank.sh" - cp blank.sh blank_patched.sh - patchRcPathPosix blank_patched.sh "$PWD/delta:$PWD/foxtrot" + # Test patching silent_hello file - echo "Running shellcheck against blank_patched.sh" - shellcheck -s sh blank_patched.sh - shellcheck -s dash blank_patched.sh + echo "hello > /dev/null" > silent_hello.sh - echo "Testing in Bash if blank.sh and blank_patched.sh modifies PATH the same way" - bash --posix ${./test-sourcing-posix} ./blank.sh ./blank_patched.sh + echo "Generating silent_hello_patched.sh from silent_hello.sh" + cp silent_hello.sh silent_hello_patched.sh + patchRcPathPosix silent_hello_patched.sh "${hello}/bin" - echo "Testing in Dash if blank.sh and blank_patched.sh modifies PATH the same way" - dash ${./test-sourcing-posix} ./blank.sh ./blank_patched.sh + echo "Running shellcheck against silent_hello_patched.sh" + shellcheck -s sh silent_hello_patched.sh + shellcheck -s dash silent_hello_patched.sh - echo "Testing in Ksh if ./blank.sh and ./blank_patched.sh modifies PATH the same way" - ksh ${./test-sourcing-posix} "$PWD/blank.sh" "$PWD/blank_patched.sh" + echo "Testing in Bash if silent_hello_patched.sh get sourced without error" + bash --posix -eu -c ". ./silent_hello_patched.sh" + echo "Testing in Dash if silent_hello_patched.sh get sourced without error" + dash -eu -c ". ./silent_hello_patched.sh" - # Test patching silent_hello file + echo "Testing in Ksh if silent_hello_patched.sh get sourced without error" + ksh -eu -c ". $PWD/silent_hello_patched.sh" - echo "hello > /dev/null" > silent_hello.sh - echo "Generating silent_hello_patched.sh from silent_hello.sh" - cp silent_hello.sh silent_hello_patched.sh - patchRcPathPosix silent_hello_patched.sh "${hello}/bin" + # Generate the sample source "$PWD/delta:$PWD/foxtrot" "$PWD/delta:$PWD/foxtrot" - echo "Running shellcheck against silent_hello_patched.sh" - shellcheck -s sh silent_hello_patched.sh - shellcheck -s dash silent_hello_patched.sh + substitute ${./sample_source.sh.in} sample_source.sh --replace @sed@ ${gnused}/bin/sed + chmod u+rw sample_source.sh - echo "Testing in Bash if silent_hello_patched.sh get sourced without error" - bash --posix -eu -c ". ./silent_hello_patched.sh" - echo "Testing in Dash if silent_hello_patched.sh get sourced without error" - dash -eu -c ". ./silent_hello_patched.sh" + # Check the sample source - echo "Testing in Ksh if silent_hello_patched.sh get sourced without error" - ksh -eu -c ". $PWD/silent_hello_patched.sh" + echo "Running shellcheck against sample_source.sh" + shellcheck -s sh sample_source.sh + shellcheck -s dash sample_source.sh - # Generate the sample source "$PWD/delta:$PWD/foxtrot" "$PWD/delta:$PWD/foxtrot" + # Test patching the sample source - substitute ${./sample_source.sh.in} sample_source.sh --replace @sed@ ${gnused}/bin/sed - chmod u+rw sample_source.sh + echo "Generating sample_source_patched.sh from sample_source.sh" + cp sample_source.sh sample_source_patched.sh + chmod u+w sample_source_patched.sh + patchRcPathPosix sample_source_patched.sh "$PWD/delta:$PWD/foxtrot" + echo "Running shellcheck against sample_source_patched.sh" + shellcheck -s sh sample_source_patched.sh + shellcheck -s dash sample_source_patched.sh - # Check the sample source + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash --posix ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" - echo "Running shellcheck against sample_source.sh" - shellcheck -s sh sample_source.sh - shellcheck -s dash sample_source.sh + echo "Testing in Dash if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + dash ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + echo "Testing in Ksh if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + ksh ${./test-sourcing-posix} "$PWD/sample_source.sh" "$PWD/sample_source_patched.sh" - # Test patching the sample source - echo "Generating sample_source_patched.sh from sample_source.sh" - cp sample_source.sh sample_source_patched.sh - chmod u+w sample_source_patched.sh - patchRcPathPosix sample_source_patched.sh "$PWD/delta:$PWD/foxtrot" + # Test double-patching the sample source - echo "Running shellcheck against sample_source_patched.sh" - shellcheck -s sh sample_source_patched.sh - shellcheck -s dash sample_source_patched.sh + echo "Patching again sample_source_patched.sh" + patchRcPathPosix sample_source_patched.sh "$PWD/foxtrot:$PWD/golf" - echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - bash --posix ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + echo "Running shellcheck against sample_source_patched.sh" + shellcheck -s sh sample_source_patched.sh + shellcheck -s dash sample_source_patched.sh - echo "Testing in Dash if sample_source.sh and sample_source_patched.sh modifies PATH the same way" - dash ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash --posix ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" - echo "Testing in Ksh if sample_source.sh and sample_source_patched.sh modifies PATH the same way" - ksh ${./test-sourcing-posix} "$PWD/sample_source.sh" "$PWD/sample_source_patched.sh" + echo "Testing in Dash if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + dash ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + echo "Testing in Ksh if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + ksh ${./test-sourcing-posix} "$PWD/sample_source.sh" "$PWD/sample_source_patched.sh" - # Test double-patching the sample source - echo "Patching again sample_source_patched.sh" - patchRcPathPosix sample_source_patched.sh "$PWD/foxtrot:$PWD/golf" - - echo "Running shellcheck against sample_source_patched.sh" - shellcheck -s sh sample_source_patched.sh - shellcheck -s dash sample_source_patched.sh - - echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" - bash --posix ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" - - echo "Testing in Dash if sample_source.sh and sample_source_patched.sh modifies PATH the same way" - dash ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" - - echo "Testing in Ksh if sample_source.sh and sample_source_patched.sh modifies PATH the same way" - ksh ${./test-sourcing-posix} "$PWD/sample_source.sh" "$PWD/sample_source_patched.sh" - - - # Create a dummy output - touch "$out" - '' - ) - { }; + # Create a dummy output + touch "$out" + '' + ) { }; } diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix index b2ce7b4b2654b..df134ddd63ccc 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix @@ -1,203 +1,257 @@ -{ stdenv -, lib -, makeSetupHook -, makeWrapper -, gobject-introspection -, isGraphical ? false -, gtk3 -, librsvg -, dconf -, callPackage -, wrapGAppsHook3 -, targetPackages +{ + stdenv, + lib, + makeSetupHook, + makeWrapper, + gobject-introspection, + isGraphical ? false, + gtk3, + librsvg, + dconf, + callPackage, + wrapGAppsHook3, + targetPackages, }: makeSetupHook { name = "wrap-gapps-hook"; - propagatedBuildInputs = [ - # We use the wrapProgram function. - makeWrapper - ] ++ lib.optionals isGraphical [ - # TODO: remove this, packages should depend on GTK explicitly. - gtk3 - - librsvg - ]; + propagatedBuildInputs = + [ + # We use the wrapProgram function. + makeWrapper + ] + ++ lib.optionals isGraphical [ + # TODO: remove this, packages should depend on GTK explicitly. + gtk3 + + librsvg + ]; # depsTargetTargetPropagated will essentially be buildInputs when wrapGAppsHook3 is placed into nativeBuildInputs # the librsvg and gtk3 above should be removed but kept to not break anything that implicitly depended on its binaries - depsTargetTargetPropagated = assert (lib.assertMsg (!targetPackages ? raw) "wrapGAppsHook3 must be in nativeBuildInputs"); lib.optionals isGraphical [ - # librsvg provides a module for gdk-pixbuf to allow rendering - # SVG icons. Most icon themes are SVG-based and so are some - # graphics in GTK (e.g. cross for closing window in window title bar) - # so it is pretty much required for applications using GTK. - librsvg - - # TODO: remove this, packages should depend on GTK explicitly. - gtk3 - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # It is highly probable that a program will use GSettings, - # at minimum through GTK file chooser dialogue. - # Let’s add a GIO module for “dconf” GSettings backend - # to avoid falling back to “memory” backend. This is - # required for GSettings-based settings to be persisted. - # Unfortunately, it also requires the user to have dconf - # D-Bus service enabled globally (e.g. through a NixOS module). - dconf.lib - ]; + depsTargetTargetPropagated = + assert (lib.assertMsg (!targetPackages ? raw) "wrapGAppsHook3 must be in nativeBuildInputs"); + lib.optionals isGraphical [ + # librsvg provides a module for gdk-pixbuf to allow rendering + # SVG icons. Most icon themes are SVG-based and so are some + # graphics in GTK (e.g. cross for closing window in window title bar) + # so it is pretty much required for applications using GTK. + librsvg + + # TODO: remove this, packages should depend on GTK explicitly. + gtk3 + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # It is highly probable that a program will use GSettings, + # at minimum through GTK file chooser dialogue. + # Let’s add a GIO module for “dconf” GSettings backend + # to avoid falling back to “memory” backend. This is + # required for GSettings-based settings to be persisted. + # Unfortunately, it also requires the user to have dconf + # D-Bus service enabled globally (e.g. through a NixOS module). + dconf.lib + ]; passthru = { - tests = let - sample-project = ./tests/sample-project; - - testLib = callPackage ./tests/lib.nix { }; - inherit (testLib) expectSomeLineContainingYInFileXToMentionZ; - in rec { - # Simple derivation containing a program and a daemon. - basic = stdenv.mkDerivation { - name = "basic"; - - src = sample-project; - - strictDeps = true; - nativeBuildInputs = [ wrapGAppsHook3 ]; - - installFlags = [ "bin-foo" "libexec-bar" ]; - }; - - # The wrapper for executable files should add path to dconf GIO module. - basic-contains-dconf = let - tested = basic; - in testLib.runTest "basic-contains-dconf" ( - testLib.skip stdenv.hostPlatform.isDarwin '' - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES" "${dconf.lib}/lib/gio/modules"} - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES" "${dconf.lib}/lib/gio/modules"} - '' - ); - - basic-contains-gdk-pixbuf = let - tested = basic; - in testLib.runTest "basic-contains-gdk-pixbuf" ( - testLib.skip stdenv.hostPlatform.isDarwin '' - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GDK_PIXBUF_MODULE_FILE" "${lib.getLib librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"} - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GDK_PIXBUF_MODULE_FILE" "${lib.getLib librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"} - '' - ); - - # Simple derivation containing a gobject-introspection typelib. - typelib-Mahjong = stdenv.mkDerivation { - name = "typelib-Mahjong"; - - src = sample-project; - - strictDeps = true; - - installFlags = [ "typelib-Mahjong" ]; - }; - - # Simple derivation using a typelib. - typelib-user = stdenv.mkDerivation { - name = "typelib-user"; - - src = sample-project; - - strictDeps = true; - nativeBuildInputs = [ - gobject-introspection - wrapGAppsHook3 - ]; - - buildInputs = [ - typelib-Mahjong - ]; - - installFlags = [ "bin-foo" "libexec-bar" ]; - }; - - # Testing cooperation with gobject-introspection setup hook, - # which should populate GI_TYPELIB_PATH variable with paths - # to typelibs among the derivation’s dependencies. - # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. - typelib-user-has-gi-typelib-path = let - tested = typelib-user; - in testLib.runTest "typelib-user-has-gi-typelib-path" '' - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-Mahjong}/lib/girepository-1.0"} - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-Mahjong}/lib/girepository-1.0"} - ''; - - # Simple derivation containing a gobject-introspection typelib in lib output. - typelib-Bechamel = stdenv.mkDerivation { - name = "typelib-Bechamel"; - - outputs = [ "out" "lib" ]; - - src = sample-project; - - strictDeps = true; - - makeFlags = [ - "LIBDIR=${placeholder "lib"}/lib" - ]; - - installFlags = [ "typelib-Bechamel" ]; + tests = + let + sample-project = ./tests/sample-project; + + testLib = callPackage ./tests/lib.nix { }; + inherit (testLib) expectSomeLineContainingYInFileXToMentionZ; + in + rec { + # Simple derivation containing a program and a daemon. + basic = stdenv.mkDerivation { + name = "basic"; + + src = sample-project; + + strictDeps = true; + nativeBuildInputs = [ wrapGAppsHook3 ]; + + installFlags = [ + "bin-foo" + "libexec-bar" + ]; + }; + + # The wrapper for executable files should add path to dconf GIO module. + basic-contains-dconf = + let + tested = basic; + in + testLib.runTest "basic-contains-dconf" ( + testLib.skip stdenv.hostPlatform.isDarwin '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES" + "${dconf.lib}/lib/gio/modules" + } + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES" + "${dconf.lib}/lib/gio/modules" + } + '' + ); + + basic-contains-gdk-pixbuf = + let + tested = basic; + in + testLib.runTest "basic-contains-gdk-pixbuf" ( + testLib.skip stdenv.hostPlatform.isDarwin '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GDK_PIXBUF_MODULE_FILE" + "${lib.getLib librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" + } + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GDK_PIXBUF_MODULE_FILE" + "${lib.getLib librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" + } + '' + ); + + # Simple derivation containing a gobject-introspection typelib. + typelib-Mahjong = stdenv.mkDerivation { + name = "typelib-Mahjong"; + + src = sample-project; + + strictDeps = true; + + installFlags = [ "typelib-Mahjong" ]; + }; + + # Simple derivation using a typelib. + typelib-user = stdenv.mkDerivation { + name = "typelib-user"; + + src = sample-project; + + strictDeps = true; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; + + buildInputs = [ + typelib-Mahjong + ]; + + installFlags = [ + "bin-foo" + "libexec-bar" + ]; + }; + + # Testing cooperation with gobject-introspection setup hook, + # which should populate GI_TYPELIB_PATH variable with paths + # to typelibs among the derivation’s dependencies. + # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. + typelib-user-has-gi-typelib-path = + let + tested = typelib-user; + in + testLib.runTest "typelib-user-has-gi-typelib-path" '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" + "${typelib-Mahjong}/lib/girepository-1.0" + } + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" + "${typelib-Mahjong}/lib/girepository-1.0" + } + ''; + + # Simple derivation containing a gobject-introspection typelib in lib output. + typelib-Bechamel = stdenv.mkDerivation { + name = "typelib-Bechamel"; + + outputs = [ + "out" + "lib" + ]; + + src = sample-project; + + strictDeps = true; + + makeFlags = [ + "LIBDIR=${placeholder "lib"}/lib" + ]; + + installFlags = [ "typelib-Bechamel" ]; + }; + + # Simple derivation using a typelib from non-default output. + typelib-multiout-user = stdenv.mkDerivation { + name = "typelib-multiout-user"; + + src = sample-project; + + strictDeps = true; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; + + buildInputs = [ + typelib-Bechamel + ]; + + installFlags = [ + "bin-foo" + "libexec-bar" + ]; + }; + + # Testing cooperation with gobject-introspection setup hook, + # which should populate GI_TYPELIB_PATH variable with paths + # to typelibs among the derivation’s dependencies, + # even when they are not in default output. + # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. + typelib-multiout-user-has-gi-typelib-path = + let + tested = typelib-multiout-user; + in + testLib.runTest "typelib-multiout-user-has-gi-typelib-path" '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" + "${typelib-Bechamel.lib}/lib/girepository-1.0" + } + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" + "${typelib-Bechamel.lib}/lib/girepository-1.0" + } + ''; + + # Simple derivation that contains a typelib as well as a program using it. + typelib-self-user = stdenv.mkDerivation { + name = "typelib-self-user"; + + src = sample-project; + + strictDeps = true; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; + + installFlags = [ + "typelib-Cow" + "bin-foo" + "libexec-bar" + ]; + }; + + # Testing cooperation with gobject-introspection setup hook, + # which should add the path to derivation’s own typelibs + # to GI_TYPELIB_PATH variable. + # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. + # https://github.com/NixOS/nixpkgs/issues/85515 + typelib-self-user-has-gi-typelib-path = + let + tested = typelib-self-user; + in + testLib.runTest "typelib-self-user-has-gi-typelib-path" '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" + "${typelib-self-user}/lib/girepository-1.0" + } + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" + "${typelib-self-user}/lib/girepository-1.0" + } + ''; }; - - # Simple derivation using a typelib from non-default output. - typelib-multiout-user = stdenv.mkDerivation { - name = "typelib-multiout-user"; - - src = sample-project; - - strictDeps = true; - nativeBuildInputs = [ - gobject-introspection - wrapGAppsHook3 - ]; - - buildInputs = [ - typelib-Bechamel - ]; - - installFlags = [ "bin-foo" "libexec-bar" ]; - }; - - # Testing cooperation with gobject-introspection setup hook, - # which should populate GI_TYPELIB_PATH variable with paths - # to typelibs among the derivation’s dependencies, - # even when they are not in default output. - # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. - typelib-multiout-user-has-gi-typelib-path = let - tested = typelib-multiout-user; - in testLib.runTest "typelib-multiout-user-has-gi-typelib-path" '' - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-Bechamel.lib}/lib/girepository-1.0"} - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-Bechamel.lib}/lib/girepository-1.0"} - ''; - - # Simple derivation that contains a typelib as well as a program using it. - typelib-self-user = stdenv.mkDerivation { - name = "typelib-self-user"; - - src = sample-project; - - strictDeps = true; - nativeBuildInputs = [ - gobject-introspection - wrapGAppsHook3 - ]; - - installFlags = [ "typelib-Cow" "bin-foo" "libexec-bar" ]; - }; - - # Testing cooperation with gobject-introspection setup hook, - # which should add the path to derivation’s own typelibs - # to GI_TYPELIB_PATH variable. - # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. - # https://github.com/NixOS/nixpkgs/issues/85515 - typelib-self-user-has-gi-typelib-path = let - tested = typelib-self-user; - in testLib.runTest "typelib-self-user-has-gi-typelib-path" '' - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-self-user}/lib/girepository-1.0"} - ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-self-user}/lib/girepository-1.0"} - ''; - }; }; } ./wrap-gapps-hook.sh diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix index 59fa9de24f9d1..f717b1bb55de8 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix @@ -1,16 +1,22 @@ { lib, runCommand }: rec { - runTest = name: body: runCommand name { strictDeps = true; } '' - set -o errexit - ${body} - touch $out - ''; + runTest = + name: body: + runCommand name { strictDeps = true; } '' + set -o errexit + ${body} + touch $out + ''; - skip = cond: text: - if cond then '' - echo "Skipping test $name" > /dev/stderr - '' else text; + skip = + cond: text: + if cond then + '' + echo "Skipping test $name" > /dev/stderr + '' + else + text; fail = text: '' echo "FAIL: $name: ${text}" > /dev/stderr diff --git a/pkgs/build-support/setup-systemd-units.nix b/pkgs/build-support/setup-systemd-units.nix index 4c7ee86669f58..3dd970833668b 100644 --- a/pkgs/build-support/setup-systemd-units.nix +++ b/pkgs/build-support/setup-systemd-units.nix @@ -3,81 +3,82 @@ # # Creates a symlink at /etc/systemd-static/${namespace} for slightly # improved atomicity. -{ writeScriptBin -, bash -, coreutils -, systemd -, runCommand -, lib +{ + writeScriptBin, + bash, + coreutils, + systemd, + runCommand, + lib, }: - { units # : AttrSet String (Either Path { path : Path, wanted-by : [ String ] }) - # ^ A set whose names are unit names and values are - # either paths to the corresponding unit files or a set - # containing the path and the list of units this unit - # should be wanted-by (none by default). - # - # The names should include the unit suffix - # (e.g. ".service") - , namespace # : String - # The namespace for the unit files, to allow for - # multiple independent unit sets managed by - # `setupSystemdUnits`. - }: - let static = runCommand "systemd-static" {} - '' - mkdir -p $out - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (nm: file: - "ln -sv ${file.path or file} $out/${nm}" - ) units)} - ''; - add-unit-snippet = name: file: - '' - oldUnit=$(readlink -f "$unitDir/${name}" || echo "$unitDir/${name}") - if [ -f "$oldUnit" -a "$oldUnit" != "${file.path or file}" ]; then - unitsToStop+=("${name}") - fi - ln -sf "/etc/systemd-static/${namespace}/${name}" \ - "$unitDir/.${name}.tmp" - mv -T "$unitDir/.${name}.tmp" "$unitDir/${name}" - ${lib.concatStringsSep "\n" (map (unit: - '' - mkdir -p "$unitDir/${unit}.wants" - ln -sf "../${name}" \ - "$unitDir/${unit}.wants/.${name}.tmp" - mv -T "$unitDir/${unit}.wants/.${name}.tmp" \ - "$unitDir/${unit}.wants/${name}" - '' - ) file.wanted-by or [])} - unitsToStart+=("${name}") - ''; - in - writeScriptBin "setup-systemd-units" - '' - #!${bash}/bin/bash -e - export PATH=${coreutils}/bin:${systemd}/bin +{ + units, + # : AttrSet String (Either Path { path : Path, wanted-by : [ String ] }) + # ^ A set whose names are unit names and values are + # either paths to the corresponding unit files or a set + # containing the path and the list of units this unit + # should be wanted-by (none by default). + # + # The names should include the unit suffix + # (e.g. ".service") + namespace, +# : String +# The namespace for the unit files, to allow for +# multiple independent unit sets managed by +# `setupSystemdUnits`. +}: +let + static = runCommand "systemd-static" { } '' + mkdir -p $out + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (nm: file: "ln -sv ${file.path or file} $out/${nm}") units + )} + ''; + add-unit-snippet = name: file: '' + oldUnit=$(readlink -f "$unitDir/${name}" || echo "$unitDir/${name}") + if [ -f "$oldUnit" -a "$oldUnit" != "${file.path or file}" ]; then + unitsToStop+=("${name}") + fi + ln -sf "/etc/systemd-static/${namespace}/${name}" \ + "$unitDir/.${name}.tmp" + mv -T "$unitDir/.${name}.tmp" "$unitDir/${name}" + ${lib.concatStringsSep "\n" ( + map (unit: '' + mkdir -p "$unitDir/${unit}.wants" + ln -sf "../${name}" \ + "$unitDir/${unit}.wants/.${name}.tmp" + mv -T "$unitDir/${unit}.wants/.${name}.tmp" \ + "$unitDir/${unit}.wants/${name}" + '') file.wanted-by or [ ] + )} + unitsToStart+=("${name}") + ''; +in +writeScriptBin "setup-systemd-units" '' + #!${bash}/bin/bash -e + export PATH=${coreutils}/bin:${systemd}/bin - unitDir=/etc/systemd/system - if [ ! -w "$unitDir" ]; then - unitDir=/nix/var/nix/profiles/default/lib/systemd/system - mkdir -p "$unitDir" - fi - declare -a unitsToStop unitsToStart + unitDir=/etc/systemd/system + if [ ! -w "$unitDir" ]; then + unitDir=/nix/var/nix/profiles/default/lib/systemd/system + mkdir -p "$unitDir" + fi + declare -a unitsToStop unitsToStart - oldStatic=$(readlink -f /etc/systemd-static/${namespace} || true) - if [ "$oldStatic" != "${static}" ]; then - ${lib.concatStringsSep "\n" - (lib.mapAttrsToList add-unit-snippet units)} - if [ ''${#unitsToStop[@]} -ne 0 ]; then - echo "Stopping unit(s) ''${unitsToStop[@]}" >&2 - systemctl stop "''${unitsToStop[@]}" - fi - mkdir -p /etc/systemd-static - ln -sfT ${static} /etc/systemd-static/.${namespace}.tmp - mv -T /etc/systemd-static/.${namespace}.tmp /etc/systemd-static/${namespace} - systemctl daemon-reload - echo "Starting unit(s) ''${unitsToStart[@]}" >&2 - systemctl start "''${unitsToStart[@]}" - else - echo "Units unchanged, doing nothing" >&2 - fi - '' + oldStatic=$(readlink -f /etc/systemd-static/${namespace} || true) + if [ "$oldStatic" != "${static}" ]; then + ${lib.concatStringsSep "\n" (lib.mapAttrsToList add-unit-snippet units)} + if [ ''${#unitsToStop[@]} -ne 0 ]; then + echo "Stopping unit(s) ''${unitsToStop[@]}" >&2 + systemctl stop "''${unitsToStop[@]}" + fi + mkdir -p /etc/systemd-static + ln -sfT ${static} /etc/systemd-static/.${namespace}.tmp + mv -T /etc/systemd-static/.${namespace}.tmp /etc/systemd-static/${namespace} + systemctl daemon-reload + echo "Starting unit(s) ''${unitsToStart[@]}" >&2 + systemctl start "''${unitsToStart[@]}" + else + echo "Units unchanged, doing nothing" >&2 + fi +'' diff --git a/pkgs/build-support/source-from-head-fun.nix b/pkgs/build-support/source-from-head-fun.nix index 938df1efd18a0..51719682a5daa 100644 --- a/pkgs/build-support/source-from-head-fun.nix +++ b/pkgs/build-support/source-from-head-fun.nix @@ -7,10 +7,12 @@ to create source snapshots The documentation is availible at https://github.com/MarcWeber/nix-repository-manager/raw/master/README - */ { config }: - localTarName: publishedSrcSnapshot: - if config.sourceFromHead.useLocalRepos or false then - "${config.sourceFromHead.managedRepoDir or "/set/sourceFromHead.managedRepoDir/please"}/dist/${localTarName}" - else publishedSrcSnapshot +localTarName: publishedSrcSnapshot: +if config.sourceFromHead.useLocalRepos or false then + "${ + config.sourceFromHead.managedRepoDir or "/set/sourceFromHead.managedRepoDir/please" + }/dist/${localTarName}" +else + publishedSrcSnapshot diff --git a/pkgs/build-support/substitute/substitute-all.nix b/pkgs/build-support/substitute/substitute-all.nix index c6fc688d50e62..7f8d55449472c 100644 --- a/pkgs/build-support/substitute/substitute-all.nix +++ b/pkgs/build-support/substitute/substitute-all.nix @@ -6,15 +6,19 @@ let isInvalidArgName = x: builtins.match "^[a-z][a-zA-Z0-9_]*$" x == null; invalidArgs = builtins.filter isInvalidArgName (builtins.attrNames args); in - if invalidArgs == [] then - stdenvNoCC.mkDerivation ({ +if invalidArgs == [ ] then + stdenvNoCC.mkDerivation ( + { name = if args ? name then args.name else baseNameOf (toString args.src); builder = ./substitute-all.sh; inherit (args) src; preferLocalBuild = true; allowSubstitutes = false; - } // args) - else throw '' + } + // args + ) +else + throw '' Argument names for `pkgs.substituteAll` must: - start with a lower case ASCII letter - only contain ASCII letters, digits and underscores diff --git a/pkgs/build-support/substitute/substitute.nix b/pkgs/build-support/substitute/substitute.nix index e6f0835c8f8e6..ef8571e6beeb2 100644 --- a/pkgs/build-support/substitute/substitute.nix +++ b/pkgs/build-support/substitute/substitute.nix @@ -1,30 +1,30 @@ { lib, stdenvNoCC }: /* -This is a wrapper around `substitute` in the stdenv. + This is a wrapper around `substitute` in the stdenv. -Attribute arguments: -- `name` (optional): The name of the resulting derivation -- `src`: The path to the file to substitute -- `substitutions`: The list of substitution arguments to pass - See https://nixos.org/manual/nixpkgs/stable/#fun-substitute -- `replacements`: Deprecated version of `substitutions` - that doesn't support spaces in arguments. + Attribute arguments: + - `name` (optional): The name of the resulting derivation + - `src`: The path to the file to substitute + - `substitutions`: The list of substitution arguments to pass + See https://nixos.org/manual/nixpkgs/stable/#fun-substitute + - `replacements`: Deprecated version of `substitutions` + that doesn't support spaces in arguments. -Example: + Example: -```nix -{ substitute }: -substitute { - src = ./greeting.txt; - substitutions = [ - "--replace" - "world" - "paul" - ]; -} -``` + ```nix + { substitute }: + substitute { + src = ./greeting.txt; + substitutions = [ + "--replace" + "world" + "paul" + ]; + } + ``` -See ../../test/substitute for tests + See ../../test/substitute for tests */ args: @@ -43,16 +43,19 @@ let pkgs.substitute: For "${name}", `replacements` is used, which is deprecated since it doesn't support arguments with spaces. Use `substitutions` instead: substitutions = [ ${deprecationReplacement} ];''; in -optionalDeprecationWarning -stdenvNoCC.mkDerivation ({ - inherit name; - builder = ./substitute.sh; - inherit (args) src; - preferLocalBuild = true; - allowSubstitutes = false; -} // args // lib.optionalAttrs (args ? substitutions) { - substitutions = - assert lib.assertMsg (lib.isList args.substitutions) '' - pkgs.substitute: For "${name}", `substitutions` is passed, which is expected to be a list, but it's a ${builtins.typeOf args.substitutions} instead.''; - lib.escapeShellArgs args.substitutions; -}) +optionalDeprecationWarning stdenvNoCC.mkDerivation ( + { + inherit name; + builder = ./substitute.sh; + inherit (args) src; + preferLocalBuild = true; + allowSubstitutes = false; + } + // args + // lib.optionalAttrs (args ? substitutions) { + substitutions = + assert lib.assertMsg (lib.isList args.substitutions) + ''pkgs.substitute: For "${name}", `substitutions` is passed, which is expected to be a list, but it's a ${builtins.typeOf args.substitutions} instead.''; + lib.escapeShellArgs args.substitutions; + } +) diff --git a/pkgs/build-support/testers/hasPkgConfigModules/tests.nix b/pkgs/build-support/testers/hasPkgConfigModules/tests.nix index adad935079849..9108d62462be9 100644 --- a/pkgs/build-support/testers/hasPkgConfigModules/tests.nix +++ b/pkgs/build-support/testers/hasPkgConfigModules/tests.nix @@ -1,6 +1,13 @@ # cd nixpkgs # nix-build -A tests.testers.hasPkgConfigModules -{ lib, testers, miniz, zlib, openssl, runCommand }: +{ + lib, + testers, + miniz, + zlib, + openssl, + runCommand, +}: lib.recurseIntoAttrs { @@ -9,15 +16,17 @@ lib.recurseIntoAttrs { versionCheck = true; }; - miniz-versions-mismatch = testers.testBuildFailure (testers.hasPkgConfigModules { - package = miniz; - version = "1.2.3"; # Deliberately-incorrect version number - versionCheck = true; - }); + miniz-versions-mismatch = testers.testBuildFailure ( + testers.hasPkgConfigModules { + package = miniz; + version = "1.2.3"; # Deliberately-incorrect version number + versionCheck = true; + } + ); miniz-no-versionCheck = testers.hasPkgConfigModules { package = miniz; - version = "1.2.3"; # Deliberately-incorrect version number + version = "1.2.3"; # Deliberately-incorrect version number }; zlib-has-zlib = testers.hasPkgConfigModules { @@ -38,28 +47,31 @@ lib.recurseIntoAttrs { package = openssl; }; - zlib-does-not-have-ylib = runCommand "zlib-does-not-have-ylib" { - failed = testers.testBuildFailure ( - testers.hasPkgConfigModules { - package = zlib; - moduleNames = [ "ylib" ]; + zlib-does-not-have-ylib = + runCommand "zlib-does-not-have-ylib" + { + failed = testers.testBuildFailure ( + testers.hasPkgConfigModules { + package = zlib; + moduleNames = [ "ylib" ]; + } + ); } - ); - } '' - echo 'it logs a relevant error message' - { - grep -F "pkg-config module ylib was not found" $failed/testBuildFailure.log - } + '' + echo 'it logs a relevant error message' + { + grep -F "pkg-config module ylib was not found" $failed/testBuildFailure.log + } - echo 'it logs which pkg-config modules are available, to be helpful' - { - # grep -v: the string zlib does also occur in a store path in an earlier message, which isn't particularly helpful - grep -v "checking pkg-config module" < $failed/testBuildFailure.log \ - | grep -F "zlib" - } + echo 'it logs which pkg-config modules are available, to be helpful' + { + # grep -v: the string zlib does also occur in a store path in an earlier message, which isn't particularly helpful + grep -v "checking pkg-config module" < $failed/testBuildFailure.log \ + | grep -F "zlib" + } - # done - touch $out - ''; + # done + touch $out + ''; } diff --git a/pkgs/build-support/testers/lychee.nix b/pkgs/build-support/testers/lychee.nix index ba22ba8569732..27ccfd7a7068d 100644 --- a/pkgs/build-support/testers/lychee.nix +++ b/pkgs/build-support/testers/lychee.nix @@ -1,16 +1,26 @@ -deps@{ formats, lib, lychee, stdenv, writeShellApplication }: +deps@{ + formats, + lib, + lychee, + stdenv, + writeShellApplication, +}: let inherit (lib) mapAttrsToList throwIf; inherit (lib.strings) hasInfix hasPrefix escapeNixString; - toURL = v: - let s = "${v}"; - in if hasPrefix builtins.storeDir s - then # lychee requires that paths on the file system are prefixed with file:// + toURL = + v: + let + s = "${v}"; + in + if hasPrefix builtins.storeDir s then # lychee requires that paths on the file system are prefixed with file:// "file://${s}" - else s; + else + s; - withCheckedName = name: + withCheckedName = + name: throwIf (hasInfix " " name) '' lycheeLinkCheck: remap patterns must not contain spaces. A space marks the end of the regex in lychee.toml. @@ -20,29 +30,32 @@ let # See https://nixos.org/manual/nixpkgs/unstable/#tester-lycheeLinkCheck # or doc/build-helpers/testers.chapter.md - lycheeLinkCheck = { - site, - remap ? { }, - lychee ? deps.lychee, - extraConfig ? { }, - }: + lycheeLinkCheck = + { + site, + remap ? { }, + lychee ? deps.lychee, + extraConfig ? { }, + }: stdenv.mkDerivation (finalAttrs: { name = "lychee-link-check"; inherit site; nativeBuildInputs = [ finalAttrs.passthru.lychee ]; - configFile = (formats.toml {}).generate "lychee.toml" finalAttrs.passthru.config; + configFile = (formats.toml { }).generate "lychee.toml" finalAttrs.passthru.config; # These can be overriden with overrideAttrs if needed. passthru = { inherit lychee remap; - config = { - include_fragments = true; - } // lib.optionalAttrs (finalAttrs.passthru.remap != { }) { - remap = - mapAttrsToList - (name: value: withCheckedName name "${name} ${toURL value}") - finalAttrs.passthru.remap; - } // extraConfig; + config = + { + include_fragments = true; + } + // lib.optionalAttrs (finalAttrs.passthru.remap != { }) { + remap = mapAttrsToList ( + name: value: withCheckedName name "${name} ${toURL value}" + ) finalAttrs.passthru.remap; + } + // extraConfig; online = writeShellApplication { name = "run-lychee-online"; runtimeInputs = [ finalAttrs.passthru.lychee ]; diff --git a/pkgs/build-support/testers/shellcheck/tester.nix b/pkgs/build-support/testers/shellcheck/tester.nix index 66f048f230959..131a64a851574 100644 --- a/pkgs/build-support/testers/shellcheck/tester.nix +++ b/pkgs/build-support/testers/shellcheck/tester.nix @@ -1,5 +1,9 @@ # Dependencies (callPackage) -{ lib, stdenv, shellcheck }: +{ + lib, + stdenv, + shellcheck, +}: # testers.shellcheck function # Docs: doc/build-helpers/testers.chapter.md @@ -11,9 +15,15 @@ in stdenv.mkDerivation { name = "run-shellcheck"; src = - if isPath src && pathType src == "regular" # note that for strings this would have been IFD, which we prefer to avoid - then fileset.toSource { root = dirOf src; fileset = src; } - else src; + if + isPath src && pathType src == "regular" # note that for strings this would have been IFD, which we prefer to avoid + then + fileset.toSource { + root = dirOf src; + fileset = src; + } + else + src; nativeBuildInputs = [ shellcheck ]; doCheck = true; dontConfigure = true; diff --git a/pkgs/build-support/testers/shellcheck/tests.nix b/pkgs/build-support/testers/shellcheck/tests.nix index 855aa14afead6..0128670dbe707 100644 --- a/pkgs/build-support/testers/shellcheck/tests.nix +++ b/pkgs/build-support/testers/shellcheck/tests.nix @@ -1,38 +1,50 @@ # Run: # nix-build -A tests.testers.shellcheck -{ lib, testers, runCommand }: +{ + lib, + testers, + runCommand, +}: let inherit (lib) fileset; in lib.recurseIntoAttrs { - example-dir = runCommand "test-testers-shellcheck-example-dir" { - failure = testers.testBuildFailure - (testers.shellcheck { - src = fileset.toSource { - root = ./.; - fileset = fileset.unions [ - ./example.sh - ]; - }; - }); - } '' - log="$failure/testBuildFailure.log" - echo "Checking $log" - grep SC2068 "$log" - touch $out - ''; + example-dir = + runCommand "test-testers-shellcheck-example-dir" + { + failure = testers.testBuildFailure ( + testers.shellcheck { + src = fileset.toSource { + root = ./.; + fileset = fileset.unions [ + ./example.sh + ]; + }; + } + ); + } + '' + log="$failure/testBuildFailure.log" + echo "Checking $log" + grep SC2068 "$log" + touch $out + ''; - example-file = runCommand "test-testers-shellcheck-example-file" { - failure = testers.testBuildFailure - (testers.shellcheck { - src = ./example.sh; - }); - } '' - log="$failure/testBuildFailure.log" - echo "Checking $log" - grep SC2068 "$log" - touch $out - ''; + example-file = + runCommand "test-testers-shellcheck-example-file" + { + failure = testers.testBuildFailure ( + testers.shellcheck { + src = ./example.sh; + } + ); + } + '' + log="$failure/testBuildFailure.log" + echo "Checking $log" + grep SC2068 "$log" + touch $out + ''; } diff --git a/pkgs/build-support/testers/test-equal-derivation.nix b/pkgs/build-support/testers/test-equal-derivation.nix index 610d5f5855760..497a5cd84a57e 100644 --- a/pkgs/build-support/testers/test-equal-derivation.nix +++ b/pkgs/build-support/testers/test-equal-derivation.nix @@ -1,13 +1,19 @@ -{ lib, runCommand, emptyFile, nix-diff }: +{ + lib, + runCommand, + emptyFile, + nix-diff, +}: assertion: a: b: let - drvA = builtins.unsafeDiscardOutputDependency a.drvPath or (throw "testEqualDerivation second argument must be a package"); - drvB = builtins.unsafeDiscardOutputDependency b.drvPath or (throw "testEqualDerivation third argument must be a package"); - name = - if a?name - then "testEqualDerivation-${a.name}" - else "testEqualDerivation"; + drvA = + builtins.unsafeDiscardOutputDependency + a.drvPath or (throw "testEqualDerivation second argument must be a package"); + drvB = + builtins.unsafeDiscardOutputDependency + b.drvPath or (throw "testEqualDerivation third argument must be a package"); + name = if a ? name then "testEqualDerivation-${a.name}" else "testEqualDerivation"; in if drvA == drvB then emptyFile @@ -16,7 +22,8 @@ else { inherit assertion drvA drvB; nativeBuildInputs = [ nix-diff ]; - } '' + } + '' echo "$assertion" echo "However, the derivations differ:" echo diff --git a/pkgs/build-support/testers/test/default.nix b/pkgs/build-support/testers/test/default.nix index cc46e3cf4b71e..a198cc6774ec6 100644 --- a/pkgs/build-support/testers/test/default.nix +++ b/pkgs/build-support/testers/test/default.nix @@ -1,8 +1,19 @@ -{ testers, lib, pkgs, hello, runCommand, emptyFile, emptyDirectory, ... }: +{ + testers, + lib, + pkgs, + hello, + runCommand, + emptyFile, + emptyDirectory, + ... +}: let - pkgs-with-overlay = pkgs.extend(final: prev: { - proof-of-overlay-hello = prev.hello; - }); + pkgs-with-overlay = pkgs.extend ( + final: prev: { + proof-of-overlay-hello = prev.hello; + } + ); dummyVersioning = { revision = "test"; @@ -41,86 +52,121 @@ lib.recurseIntoAttrs { }; }; - runNixOSTest-example = pkgs-with-overlay.testers.runNixOSTest ({ lib, ... }: { - name = "runNixOSTest-test"; - nodes.machine = { pkgs, ... }: { - system.nixos = dummyVersioning; - environment.systemPackages = [ pkgs.proof-of-overlay-hello pkgs.figlet ]; - }; - testScript = '' - machine.succeed("hello | figlet >/dev/console") - ''; - }); + runNixOSTest-example = pkgs-with-overlay.testers.runNixOSTest ( + { lib, ... }: + { + name = "runNixOSTest-test"; + nodes.machine = + { pkgs, ... }: + { + system.nixos = dummyVersioning; + environment.systemPackages = [ + pkgs.proof-of-overlay-hello + pkgs.figlet + ]; + }; + testScript = '' + machine.succeed("hello | figlet >/dev/console") + ''; + } + ); # Check that the wiring of nixosTest is correct. # Correct operation of the NixOS test driver should be asserted elsewhere. - nixosTest-example = pkgs-with-overlay.testers.nixosTest ({ lib, ... }: { - name = "nixosTest-test"; - nodes.machine = { pkgs, ... }: { - system.nixos = dummyVersioning; - environment.systemPackages = [ pkgs.proof-of-overlay-hello pkgs.figlet ]; - }; - testScript = '' - machine.succeed("hello | figlet >/dev/console") - ''; - }); + nixosTest-example = pkgs-with-overlay.testers.nixosTest ( + { lib, ... }: + { + name = "nixosTest-test"; + nodes.machine = + { pkgs, ... }: + { + system.nixos = dummyVersioning; + environment.systemPackages = [ + pkgs.proof-of-overlay-hello + pkgs.figlet + ]; + }; + testScript = '' + machine.succeed("hello | figlet >/dev/console") + ''; + } + ); testBuildFailure = lib.recurseIntoAttrs { - happy = runCommand "testBuildFailure-happy" { - failed = testers.testBuildFailure (runCommand "fail" {} '' - echo ok-ish >$out + happy = + runCommand "testBuildFailure-happy" + { + failed = testers.testBuildFailure ( + runCommand "fail" { } '' + echo ok-ish >$out - echo failing though - echo also stderr 1>&2 - echo 'line\nwith-\bbackslashes' - printf "incomplete line - no newline" + echo failing though + echo also stderr 1>&2 + echo 'line\nwith-\bbackslashes' + printf "incomplete line - no newline" - exit 3 - ''); - } '' - grep -F 'ok-ish' $failed/result + exit 3 + '' + ); + } + '' + grep -F 'ok-ish' $failed/result - grep -F 'failing though' $failed/testBuildFailure.log - grep -F 'also stderr' $failed/testBuildFailure.log - grep -F 'line\nwith-\bbackslashes' $failed/testBuildFailure.log - grep -F 'incomplete line - no newline' $failed/testBuildFailure.log + grep -F 'failing though' $failed/testBuildFailure.log + grep -F 'also stderr' $failed/testBuildFailure.log + grep -F 'line\nwith-\bbackslashes' $failed/testBuildFailure.log + grep -F 'incomplete line - no newline' $failed/testBuildFailure.log - [[ 3 = $(cat $failed/testBuildFailure.exit) ]] + [[ 3 = $(cat $failed/testBuildFailure.exit) ]] - touch $out - ''; + touch $out + ''; - helloDoesNotFail = runCommand "testBuildFailure-helloDoesNotFail" { - failed = testers.testBuildFailure (testers.testBuildFailure hello); + helloDoesNotFail = + runCommand "testBuildFailure-helloDoesNotFail" + { + failed = testers.testBuildFailure (testers.testBuildFailure hello); - # Add hello itself as a prerequisite, so we don't try to run this test if - # there's an actual failure in hello. - inherit hello; - } '' - echo "Checking $failed/testBuildFailure.log" - grep -F 'testBuildFailure: The builder did not fail, but a failure was expected' $failed/testBuildFailure.log >/dev/null - [[ 1 = $(cat $failed/testBuildFailure.exit) ]] - touch $out - echo 'All good.' - ''; + # Add hello itself as a prerequisite, so we don't try to run this test if + # there's an actual failure in hello. + inherit hello; + } + '' + echo "Checking $failed/testBuildFailure.log" + grep -F 'testBuildFailure: The builder did not fail, but a failure was expected' $failed/testBuildFailure.log >/dev/null + [[ 1 = $(cat $failed/testBuildFailure.exit) ]] + touch $out + echo 'All good.' + ''; - multiOutput = runCommand "testBuildFailure-multiOutput" { - failed = testers.testBuildFailure (runCommand "fail" { - # dev will be the default output - outputs = ["dev" "doc" "out"]; - } '' - echo i am failing - exit 1 - ''); - } '' - grep -F 'i am failing' $failed/testBuildFailure.log >/dev/null - [[ 1 = $(cat $failed/testBuildFailure.exit) ]] + multiOutput = + runCommand "testBuildFailure-multiOutput" + { + failed = testers.testBuildFailure ( + runCommand "fail" + { + # dev will be the default output + outputs = [ + "dev" + "doc" + "out" + ]; + } + '' + echo i am failing + exit 1 + '' + ); + } + '' + grep -F 'i am failing' $failed/testBuildFailure.log >/dev/null + [[ 1 = $(cat $failed/testBuildFailure.exit) ]] - # Checking our note that dev is the default output - echo $failed/_ | grep -- '-dev/_' >/dev/null - echo 'All good.' - touch $out - ''; + # Checking our note that dev is the default output + echo $failed/_ | grep -- '-dev/_' >/dev/null + echo 'All good.' + touch $out + ''; }; testEqualContents = lib.recurseIntoAttrs { diff --git a/pkgs/build-support/testers/testMetaPkgConfig/tester.nix b/pkgs/build-support/testers/testMetaPkgConfig/tester.nix index 7892a29e4c28d..1dd526385738f 100644 --- a/pkgs/build-support/testers/testMetaPkgConfig/tester.nix +++ b/pkgs/build-support/testers/testMetaPkgConfig/tester.nix @@ -1,12 +1,18 @@ -{ lib, runCommand, testers }: +{ + lib, + runCommand, + testers, +}: package: -runCommand "check-meta-pkg-config-modules-for-${package.name}" { - meta = { - description = "Test whether ${package.name} exposes all pkg-config modules ${toString package.meta.pkgConfigModules}"; - }; - dependsOn = testers.hasPkgConfigModules { inherit package; }; -} '' - echo "found all of ${toString package.meta.pkgConfigModules}" > "$out" -'' +runCommand "check-meta-pkg-config-modules-for-${package.name}" + { + meta = { + description = "Test whether ${package.name} exposes all pkg-config modules ${toString package.meta.pkgConfigModules}"; + }; + dependsOn = testers.hasPkgConfigModules { inherit package; }; + } + '' + echo "found all of ${toString package.meta.pkgConfigModules}" > "$out" + '' diff --git a/pkgs/build-support/trivial-builders/test-overriding.nix b/pkgs/build-support/trivial-builders/test-overriding.nix index a16bbbee1b1b1..33823aa0cd255 100644 --- a/pkgs/build-support/trivial-builders/test-overriding.nix +++ b/pkgs/build-support/trivial-builders/test-overriding.nix @@ -4,14 +4,15 @@ # to disable extglob in `writeShellScript`. # # Run using `nix-build -A tests.trivial-builders.overriding`. -{ lib -, stdenv -, runtimeShell -, runCommand -, callPackage -, writeShellScript -, writeTextFile -, writeShellScriptBin +{ + lib, + stdenv, + runtimeShell, + runCommand, + callPackage, + writeShellScript, + writeTextFile, + writeShellScriptBin, }: let @@ -22,16 +23,15 @@ let rm success ''; - simpleCase = case: - writeShellScript "test-trivial-overriding-${case}" extglobScript; + simpleCase = case: writeShellScript "test-trivial-overriding-${case}" extglobScript; - callPackageCase = case: callPackage ( - { writeShellScript }: - writeShellScript "test-trivial-callpackage-overriding-${case}" extglobScript - ) { }; + callPackageCase = + case: + callPackage ( + { writeShellScript }: writeShellScript "test-trivial-callpackage-overriding-${case}" extglobScript + ) { }; - binCase = case: - writeShellScriptBin "test-trivial-overriding-bin-${case}" extglobScript; + binCase = case: writeShellScriptBin "test-trivial-overriding-bin-${case}" extglobScript; # building this derivation would fail without overriding textFileCase = writeTextFile { @@ -44,17 +44,21 @@ let executable = true; }; - disallowExtglob = x: x.overrideAttrs (_: { + disallowExtglob = + x: + x.overrideAttrs (_: { checkPhase = '' ${stdenv.shell} -n "$target" ''; }); - # Run old checkPhase, but only succeed if it fails. - # This HACK is required because we can't introspect build failures - # in nix: With `assertFail` we want to make sure that the default - # `checkPhase` would fail if extglob was used in the script. - assertFail = x: x.overrideAttrs (old: { + # Run old checkPhase, but only succeed if it fails. + # This HACK is required because we can't introspect build failures + # in nix: With `assertFail` we want to make sure that the default + # `checkPhase` would fail if extglob was used in the script. + assertFail = + x: + x.overrideAttrs (old: { checkPhase = '' if ${old.checkPhase} @@ -62,10 +66,18 @@ let ''; }); - mkCase = case: outcome: isBin: + mkCase = + case: outcome: isBin: let - drv = lib.pipe outcome ([ case ] ++ lib.optionals (outcome == "fail") [ disallowExtglob assertFail ]); - in if isBin then "${drv}/bin/${drv.name}" else drv; + drv = lib.pipe outcome ( + [ case ] + ++ lib.optionals (outcome == "fail") [ + disallowExtglob + assertFail + ] + ); + in + if isBin then "${drv}/bin/${drv.name}" else drv; writeTextOverrides = { # Make sure extglob works by default @@ -89,10 +101,12 @@ let # run its `checkPhase` which is our main interest. Additionally # it executes the script and thus makes sure that extglob also # works at run time. - runTest = script: + runTest = + script: let name = script.name or (builtins.baseNameOf script); - in writeShellScript "run-${name}" '' + in + writeShellScript "run-${name}" '' if [ "$(${script})" != "success" ]; then echo "Failed in ${name}" exit 1 @@ -100,11 +114,13 @@ let ''; in -runCommand "test-writeShellScript-overriding" { - passthru = { inherit writeTextOverrides; }; -} '' - ${lib.concatMapStrings (test: '' +runCommand "test-writeShellScript-overriding" + { + passthru = { inherit writeTextOverrides; }; + } + '' + ${lib.concatMapStrings (test: '' ${runTest test} '') (lib.attrValues writeTextOverrides)} - touch "$out" -'' + touch "$out" + '' diff --git a/pkgs/build-support/trivial-builders/test/concat-test.nix b/pkgs/build-support/trivial-builders/test/concat-test.nix index 8f7e7a4200327..583d0910f4bc9 100644 --- a/pkgs/build-support/trivial-builders/test/concat-test.nix +++ b/pkgs/build-support/trivial-builders/test/concat-test.nix @@ -1,12 +1,21 @@ -{ runCommand, concatText, writeText, hello, emptyFile }: +{ + runCommand, + concatText, + writeText, + hello, + emptyFile, +}: let stri = writeText "pathToTest"; txt1 = stri "abc"; txt2 = stri (builtins.toString hello); - res = concatText "textToTest" [ txt1 txt2 ]; + res = concatText "textToTest" [ + txt1 + txt2 + ]; in runCommand "test-concatPaths" { } '' diff -U3 <(cat ${txt1} ${txt2}) ${res} - diff -U3 ${concatText "void" []} ${emptyFile} + diff -U3 ${concatText "void" [ ]} ${emptyFile} touch $out '' diff --git a/pkgs/build-support/trivial-builders/test/link-farm.nix b/pkgs/build-support/trivial-builders/test/link-farm.nix index 1ebfc707632f3..f74aaa6667fd7 100644 --- a/pkgs/build-support/trivial-builders/test/link-farm.nix +++ b/pkgs/build-support/trivial-builders/test/link-farm.nix @@ -1,4 +1,9 @@ -{ linkFarm, hello, writeTextFile, runCommand }: +{ + linkFarm, + hello, + writeTextFile, + runCommand, +}: let foo = writeTextFile { name = "foo"; @@ -6,14 +11,29 @@ let }; linkFarmFromList = linkFarm "linkFarmFromList" [ - { name = "foo"; path = foo; } - { name = "hello"; path = hello; } + { + name = "foo"; + path = foo; + } + { + name = "hello"; + path = hello; + } ]; linkFarmWithRepeats = linkFarm "linkFarmWithRepeats" [ - { name = "foo"; path = foo; } - { name = "hello"; path = hello; } - { name = "foo"; path = hello; } + { + name = "foo"; + path = foo; + } + { + name = "hello"; + path = hello; + } + { + name = "foo"; + path = hello; + } ]; linkFarmFromAttrs = linkFarm "linkFarmFromAttrs" { diff --git a/pkgs/build-support/trivial-builders/test/references/default.nix b/pkgs/build-support/trivial-builders/test/references/default.nix index 85df57ea210c2..bc9f8913e99af 100644 --- a/pkgs/build-support/trivial-builders/test/references/default.nix +++ b/pkgs/build-support/trivial-builders/test/references/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenvNoCC -, testers -, callPackage -, writeText +{ + lib, + stdenvNoCC, + testers, + callPackage, + writeText, # nativeBuildInputs -, shellcheck-minimal + shellcheck-minimal, # Samples -, samples ? cleanSamples (callPackage ./samples.nix { }) + samples ? cleanSamples (callPackage ./samples.nix { }), # Filter out the non-string-like attributes such as .override added by # callPackage. -, cleanSamples ? lib.filterAttrs (n: lib.isStringLike) + cleanSamples ? lib.filterAttrs (n: lib.isStringLike), # Test targets -, writeDirectReferencesToFile -, writeClosure + writeDirectReferencesToFile, + writeClosure, }: # -------------------------------------------------------------------------- # @@ -43,8 +44,11 @@ let # Map each attribute to an element specification of Bash associative arrary # and concatenate them with white spaces, to be used to define a # one-line Bash associative array. - samplesToString = attrs: - lib.concatMapStringsSep " " (name: "[${name}]=${lib.escapeShellArg "${attrs.${name}}"}") (builtins.attrNames attrs); + samplesToString = + attrs: + lib.concatMapStringsSep " " (name: "[${name}]=${lib.escapeShellArg "${attrs.${name}}"}") ( + builtins.attrNames attrs + ); closures = lib.mapAttrs (n: v: writeClosure [ v ]) samples; directReferences = lib.mapAttrs (n: v: writeDirectReferencesToFile v) samples; @@ -93,43 +97,51 @@ let }; }); in -testers.runNixOSTest ({ config, lib, ... }: -let - # Use the testScriptBin from guest pkgs. - # The attribute path to access the guest version of testScriptBin is - # tests.trivial-builders.references.config.node.pkgs.tests.trivial-builders.references.testScriptBin - # which is why passthru.guestTestScriptBin is provided. - guestTestScriptBin = config.node.pkgs.tests.trivial-builders.references.testScriptBin; -in -{ - name = "nixpkgs-trivial-builders-references"; - nodes.machine = { config, lib, pkgs, ... }: { - virtualisation.writableStore = true; +testers.runNixOSTest ( + { config, lib, ... }: + let + # Use the testScriptBin from guest pkgs. + # The attribute path to access the guest version of testScriptBin is + # tests.trivial-builders.references.config.node.pkgs.tests.trivial-builders.references.testScriptBin + # which is why passthru.guestTestScriptBin is provided. + guestTestScriptBin = config.node.pkgs.tests.trivial-builders.references.testScriptBin; + in + { + name = "nixpkgs-trivial-builders-references"; + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + virtualisation.writableStore = true; - # Test runs without network, so we don't substitute and prepare our deps - nix.settings.substituters = lib.mkForce [ ]; - system.extraDependencies = [ guestTestScriptBin ]; - }; - testScript = - '' + # Test runs without network, so we don't substitute and prepare our deps + nix.settings.substituters = lib.mkForce [ ]; + system.extraDependencies = [ guestTestScriptBin ]; + }; + testScript = '' machine.succeed(""" ${lib.getExe guestTestScriptBin} 2>/dev/console """) ''; - passthru = { - inherit - collectiveClosure - directReferences - closures - samples - testScriptBin - ; - inherit guestTestScriptBin; - }; - meta = { - maintainers = with lib.maintainers; [ - roberth - ShamrockLee - ]; - }; -}) + passthru = { + inherit + collectiveClosure + directReferences + closures + samples + testScriptBin + ; + inherit guestTestScriptBin; + }; + meta = { + maintainers = with lib.maintainers; [ + roberth + ShamrockLee + ]; + }; + } +) diff --git a/pkgs/build-support/trivial-builders/test/references/samples.nix b/pkgs/build-support/trivial-builders/test/references/samples.nix index 5bafdcd8e7d07..c9bccdedee702 100644 --- a/pkgs/build-support/trivial-builders/test/references/samples.nix +++ b/pkgs/build-support/trivial-builders/test/references/samples.nix @@ -1,11 +1,12 @@ -{ lib -, runCommand -, writeText -, emptyFile -, emptyDirectory -, figlet -, hello -, zlib +{ + lib, + runCommand, + writeText, + emptyFile, + emptyDirectory, + figlet, + hello, + zlib, }: { inherit diff --git a/pkgs/build-support/trivial-builders/test/write-shell-script.nix b/pkgs/build-support/trivial-builders/test/write-shell-script.nix index a5c9f1fae42f6..2e20588fad6b8 100644 --- a/pkgs/build-support/trivial-builders/test/write-shell-script.nix +++ b/pkgs/build-support/trivial-builders/test/write-shell-script.nix @@ -1,14 +1,19 @@ -{ lib, writeShellScript }: let +{ lib, writeShellScript }: +let output = "hello"; -in (writeShellScript "test-script" '' +in +(writeShellScript "test-script" '' echo ${lib.escapeShellArg output} -'').overrideAttrs (old: { - checkPhase = old.checkPhase or "" + '' - expected=${lib.escapeShellArg output} - got=$("$target") - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - ''; -}) +'').overrideAttrs + (old: { + checkPhase = + old.checkPhase or "" + + '' + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + ''; + }) diff --git a/pkgs/build-support/trivial-builders/test/write-text-file.nix b/pkgs/build-support/trivial-builders/test/write-text-file.nix index 2e6685c1980bf..f9d508de748b5 100644 --- a/pkgs/build-support/trivial-builders/test/write-text-file.nix +++ b/pkgs/build-support/trivial-builders/test/write-text-file.nix @@ -9,7 +9,12 @@ cd nixpkgs nix-build -A tests.trivial-builders.writeTextFile.foo */ -{ lib, runCommand, runtimeShell, writeTextFile }: +{ + lib, + runCommand, + runtimeShell, + writeTextFile, +}: let veryWeirdName = ''here's a name with some "bad" characters, like spaces and quotes''; in @@ -27,15 +32,15 @@ lib.recurseIntoAttrs { ''; }; in - assert pkg.meta.mainProgram == "foo"; - assert baseNameOf (lib.getExe pkg) == "foo"; - assert pkg.name == "bar"; - runCommand "test-writeTextFile-different-exe-name" {} '' - PATH="${lib.makeBinPath [ pkg ]}:$PATH" - x=$(foo) - [[ "$x" == hi ]] - touch $out - ''; + assert pkg.meta.mainProgram == "foo"; + assert baseNameOf (lib.getExe pkg) == "foo"; + assert pkg.name == "bar"; + runCommand "test-writeTextFile-different-exe-name" { } '' + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + x=$(foo) + [[ "$x" == hi ]] + touch $out + ''; weird-name = writeTextFile { name = "weird-names"; diff --git a/pkgs/build-support/trivial-builders/test/writeCBin.nix b/pkgs/build-support/trivial-builders/test/writeCBin.nix index 56cab45b38016..9d6dc3433f198 100644 --- a/pkgs/build-support/trivial-builders/test/writeCBin.nix +++ b/pkgs/build-support/trivial-builders/test/writeCBin.nix @@ -5,7 +5,11 @@ nix-build -A tests.trivial-builders.writeCBin */ -{ lib, writeCBin, runCommand }: +{ + lib, + writeCBin, + runCommand, +}: let output = "hello"; pkg = writeCBin "test-script" '' @@ -16,28 +20,27 @@ let } ''; in - assert pkg.meta.mainProgram == "test-script"; - runCommand "test-writeCBin" { } '' - - echo Testing with getExe... - - target=${lib.getExe pkg} - expected=${lib.escapeShellArg output} - got=$("$target") - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - - echo Testing with makeBinPath... - - PATH="${lib.makeBinPath [ pkg ]}:$PATH" - got=$(test-script) - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - - touch $out - '' - +assert pkg.meta.mainProgram == "test-script"; +runCommand "test-writeCBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out +'' diff --git a/pkgs/build-support/trivial-builders/test/writeClosure-union.nix b/pkgs/build-support/trivial-builders/test/writeClosure-union.nix index 92a2bf9f0988d..bdaefa8e20508 100644 --- a/pkgs/build-support/trivial-builders/test/writeClosure-union.nix +++ b/pkgs/build-support/trivial-builders/test/writeClosure-union.nix @@ -1,23 +1,26 @@ -{ lib -, runCommandLocal +{ + lib, + runCommandLocal, # Test targets -, writeClosure -, samples + writeClosure, + samples, }: -runCommandLocal "test-trivial-builders-writeClosure-union" { - __structuredAttrs = true; - closures = lib.mapAttrs (n: v: writeClosure [ v ]) samples; - collectiveClosure = writeClosure (lib.attrValues samples); - inherit samples; - meta.maintainers = with lib.maintainers; [ - ShamrockLee - ]; -} '' - set -eu -o pipefail - echo >&2 Testing mixed closures... - echo >&2 Checking all samples "(''${samples[*]})" "$collectiveClosure" - diff -U3 \ - <(sort <"$collectiveClosure") \ - <(cat "''${closures[@]}" | sort | uniq) - touch "$out" -'' +runCommandLocal "test-trivial-builders-writeClosure-union" + { + __structuredAttrs = true; + closures = lib.mapAttrs (n: v: writeClosure [ v ]) samples; + collectiveClosure = writeClosure (lib.attrValues samples); + inherit samples; + meta.maintainers = with lib.maintainers; [ + ShamrockLee + ]; + } + '' + set -eu -o pipefail + echo >&2 Testing mixed closures... + echo >&2 Checking all samples "(''${samples[*]})" "$collectiveClosure" + diff -U3 \ + <(sort <"$collectiveClosure") \ + <(cat "''${closures[@]}" | sort | uniq) + touch "$out" + '' diff --git a/pkgs/build-support/trivial-builders/test/writeScriptBin.nix b/pkgs/build-support/trivial-builders/test/writeScriptBin.nix index 1487443130dab..ed1263d9dc8c3 100644 --- a/pkgs/build-support/trivial-builders/test/writeScriptBin.nix +++ b/pkgs/build-support/trivial-builders/test/writeScriptBin.nix @@ -5,35 +5,38 @@ nix-build -A tests.trivial-builders.writeShellScriptBin */ -{ lib, writeScriptBin, runCommand }: +{ + lib, + writeScriptBin, + runCommand, +}: let output = "hello"; pkg = writeScriptBin "test-script" '' echo ${lib.escapeShellArg output} ''; in - assert pkg.meta.mainProgram == "test-script"; - runCommand "test-writeScriptBin" { } '' - - echo Testing with getExe... - - target=${lib.getExe pkg} - expected=${lib.escapeShellArg output} - got=$("$target") - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - - echo Testing with makeBinPath... - - PATH="${lib.makeBinPath [ pkg ]}:$PATH" - got=$(test-script) - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - - touch $out - '' - +assert pkg.meta.mainProgram == "test-script"; +runCommand "test-writeScriptBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out +'' diff --git a/pkgs/build-support/trivial-builders/test/writeShellApplication.nix b/pkgs/build-support/trivial-builders/test/writeShellApplication.nix index c50f5a4d283f9..fa0750ace9507 100644 --- a/pkgs/build-support/trivial-builders/test/writeShellApplication.nix +++ b/pkgs/build-support/trivial-builders/test/writeShellApplication.nix @@ -1,17 +1,19 @@ # Run with: # nix-build -A tests.trivial-builders.writeShellApplication -{ writeShellApplication -, writeTextFile -, runCommand -, lib -, linkFarm -, diffutils -, hello +{ + writeShellApplication, + writeTextFile, + runCommand, + lib, + linkFarm, + diffutils, + hello, }: let - checkShellApplication = args@{name, expected, ...}: + checkShellApplication = + args@{ name, expected, ... }: let - writeShellApplicationArgs = builtins.removeAttrs args ["expected"]; + writeShellApplicationArgs = builtins.removeAttrs args [ "expected" ]; script = writeShellApplication writeShellApplicationArgs; executable = lib.getExe script; expected' = writeTextFile { @@ -43,65 +45,65 @@ linkFarm "writeShellApplication-tests" { assert script.meta.description == "A test for the `writeShellApplication` `meta` argument."; script; - test-runtime-inputs = - checkShellApplication { - name = "test-runtime-inputs"; - text = '' - hello - ''; - runtimeInputs = [ hello ]; - expected = "Hello, world!\n"; - }; + test-runtime-inputs = checkShellApplication { + name = "test-runtime-inputs"; + text = '' + hello + ''; + runtimeInputs = [ hello ]; + expected = "Hello, world!\n"; + }; - test-runtime-env = - checkShellApplication { - name = "test-runtime-env"; - runtimeEnv = { - MY_COOL_ENV_VAR = "my-cool-env-value"; - MY_OTHER_COOL_ENV_VAR = "my-other-cool-env-value"; - # Check that we can serialize a bunch of different types: - BOOL = true; - INT = 1; - LIST = [1 2 3]; - MAP = { - a = "a"; - b = "b"; - }; + test-runtime-env = checkShellApplication { + name = "test-runtime-env"; + runtimeEnv = { + MY_COOL_ENV_VAR = "my-cool-env-value"; + MY_OTHER_COOL_ENV_VAR = "my-other-cool-env-value"; + # Check that we can serialize a bunch of different types: + BOOL = true; + INT = 1; + LIST = [ + 1 + 2 + 3 + ]; + MAP = { + a = "a"; + b = "b"; }; - text = '' - echo "$MY_COOL_ENV_VAR" - echo "$MY_OTHER_COOL_ENV_VAR" - ''; - expected = '' - my-cool-env-value - my-other-cool-env-value - ''; }; + text = '' + echo "$MY_COOL_ENV_VAR" + echo "$MY_OTHER_COOL_ENV_VAR" + ''; + expected = '' + my-cool-env-value + my-other-cool-env-value + ''; + }; - test-check-phase = - checkShellApplication { - name = "test-check-phase"; - text = ""; - checkPhase = '' - echo "echo -n hello" > $target - ''; - expected = "hello"; - }; + test-check-phase = checkShellApplication { + name = "test-check-phase"; + text = ""; + checkPhase = '' + echo "echo -n hello" > $target + ''; + expected = "hello"; + }; - test-argument-forwarding = - checkShellApplication { - name = "test-argument-forwarding"; - text = ""; - derivationArgs.MY_BUILD_TIME_VARIABLE = "puppy"; - derivationArgs.postCheck = '' - if [[ "$MY_BUILD_TIME_VARIABLE" != puppy ]]; then - echo "\$MY_BUILD_TIME_VARIABLE is not set to 'puppy'!" - exit 1 - fi - ''; - meta.description = "A test checking that `writeShellApplication` forwards extra arguments to `stdenv.mkDerivation`."; - expected = ""; - }; + test-argument-forwarding = checkShellApplication { + name = "test-argument-forwarding"; + text = ""; + derivationArgs.MY_BUILD_TIME_VARIABLE = "puppy"; + derivationArgs.postCheck = '' + if [[ "$MY_BUILD_TIME_VARIABLE" != puppy ]]; then + echo "\$MY_BUILD_TIME_VARIABLE is not set to 'puppy'!" + exit 1 + fi + ''; + meta.description = "A test checking that `writeShellApplication` forwards extra arguments to `stdenv.mkDerivation`."; + expected = ""; + }; test-exclude-shell-checks = writeShellApplication { name = "test-exclude-shell-checks"; @@ -122,7 +124,10 @@ linkFarm "writeShellApplication-tests" { true ''; # Don't use `pipefail`: - bashOptions = ["errexit" "nounset"]; + bashOptions = [ + "errexit" + "nounset" + ]; expected = ""; }; @@ -132,7 +137,7 @@ linkFarm "writeShellApplication-tests" { echo -n "$someUndefinedVariable" ''; # Don't use `nounset`: - bashOptions = []; + bashOptions = [ ]; # Don't warn about the undefined variable at build time: excludeShellChecks = [ "SC2154" ]; expected = ""; diff --git a/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix b/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix index e93410e25bcb8..94d09473ee9f8 100644 --- a/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix +++ b/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix @@ -5,35 +5,38 @@ nix-build -A tests.trivial-builders.writeShellScriptBin */ -{ lib, writeShellScriptBin, runCommand }: +{ + lib, + writeShellScriptBin, + runCommand, +}: let output = "hello"; pkg = writeShellScriptBin "test-script" '' echo ${lib.escapeShellArg output} ''; in - assert pkg.meta.mainProgram == "test-script"; - runCommand "test-writeShellScriptBin" { } '' - - echo Testing with getExe... - - target=${lib.getExe pkg} - expected=${lib.escapeShellArg output} - got=$("$target") - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - - echo Testing with makeBinPath... - - PATH="${lib.makeBinPath [ pkg ]}:$PATH" - got=$(test-script) - if [[ "$got" != "$expected" ]]; then - echo "wrong output: expected $expected, got $got" - exit 1 - fi - - touch $out - '' - +assert pkg.meta.mainProgram == "test-script"; +runCommand "test-writeShellScriptBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out +'' diff --git a/pkgs/build-support/trivial-builders/test/writeStringReferencesToFile.nix b/pkgs/build-support/trivial-builders/test/writeStringReferencesToFile.nix index dedd7e183a178..c4a743b5c48a4 100644 --- a/pkgs/build-support/trivial-builders/test/writeStringReferencesToFile.nix +++ b/pkgs/build-support/trivial-builders/test/writeStringReferencesToFile.nix @@ -1,15 +1,24 @@ -{ callPackage, lib, pkgs, runCommand, samples, writeText, writeStringReferencesToFile }: +{ + callPackage, + lib, + pkgs, + runCommand, + samples, + writeText, + writeStringReferencesToFile, +}: let samplePaths = lib.unique (lib.attrValues samples); stri = x: "${x}"; - sampleText = writeText "sample-text" (lib.concatStringsSep "\n" (lib.unique (map stri samplePaths))); - stringReferencesText = - writeStringReferencesToFile - ((lib.concatMapStringsSep "fillertext" - stri - (lib.attrValues samples)) + '' - STORE=${builtins.storeDir};\nsystemctl start bar-foo.service - ''); + sampleText = writeText "sample-text" ( + lib.concatStringsSep "\n" (lib.unique (map stri samplePaths)) + ); + stringReferencesText = writeStringReferencesToFile ( + (lib.concatMapStringsSep "fillertext" stri (lib.attrValues samples)) + + '' + STORE=${builtins.storeDir};\nsystemctl start bar-foo.service + '' + ); in runCommand "test-writeStringReferencesToFile" { } '' diff -U3 <(sort ${stringReferencesText}) <(sort ${sampleText}) diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 620bf232a45c7..313ca50e55f9c 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -19,21 +19,21 @@ in { - # Run the PatchELF derivation in a VM. buildPatchelfInVM = runInLinuxVM patchelf; buildHelloInVM = runInLinuxVM hello; buildStructuredAttrsHelloInVM = runInLinuxVM (hello.overrideAttrs { __structuredAttrs = true; }); - buildPcmanrmInVM = runInLinuxVM (pcmanfm.overrideAttrs (old: { - # goes out-of-memory with many cores - enableParallelBuilding = false; - })); + buildPcmanrmInVM = runInLinuxVM ( + pcmanfm.overrideAttrs (old: { + # goes out-of-memory with many cores + enableParallelBuilding = false; + }) + ); testRPMImage = makeImageTestScript diskImages.fedora27x86_64; - buildPatchelfRPM = buildRPM { name = "patchelf-rpm"; src = patchelf.src; @@ -41,19 +41,19 @@ in diskImageFormat = "qcow2"; }; - testUbuntuImage = makeImageTestScript diskImages.ubuntu1804i386; - - buildInDebian = runInLinuxImage (stdenv.mkDerivation { - name = "deb-compile"; - src = patchelf.src; - diskImage = diskImages.ubuntu1804i386; - diskImageFormat = "qcow2"; - memSize = 512; - postHook = '' - dpkg-query --list - ''; - }); + buildInDebian = runInLinuxImage ( + stdenv.mkDerivation { + name = "deb-compile"; + src = patchelf.src; + diskImage = diskImages.ubuntu1804i386; + diskImageFormat = "qcow2"; + memSize = 512; + postHook = '' + dpkg-query --list + ''; + } + ); } diff --git a/pkgs/build-support/writers/aliases.nix b/pkgs/build-support/writers/aliases.nix index 8441abf36ce5e..09836fbebd44a 100644 --- a/pkgs/build-support/writers/aliases.nix +++ b/pkgs/build-support/writers/aliases.nix @@ -3,33 +3,31 @@ lib: prev: let # Removing recurseForDerivation prevents derivations of aliased attribute # set to appear while listing all the packages available. - removeRecurseForDerivations = alias: + removeRecurseForDerivations = + alias: if alias.recurseForDerivations or false then - lib.removeAttrs alias ["recurseForDerivations"] - else alias; + lib.removeAttrs alias [ "recurseForDerivations" ] + else + alias; # Disabling distribution prevents top-level aliases for non-recursed package # sets from building on Hydra. - removeDistribute = alias: - if lib.isDerivation alias then - lib.dontDistribute alias - else alias; + removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias; # Make sure that we are not shadowing something from # writers. - checkInPkgs = n: alias: if builtins.hasAttr n prev - then throw "Alias ${n} is still in writers" - else alias; + checkInPkgs = + n: alias: if builtins.hasAttr n prev then throw "Alias ${n} is still in writers" else alias; - mapAliases = aliases: - lib.mapAttrs (n: alias: removeDistribute - (removeRecurseForDerivations - (checkInPkgs n alias))) - aliases; + mapAliases = + aliases: + lib.mapAttrs ( + n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias)) + ) aliases; in mapAliases ({ - /* Cleanup before 22.05, Added 2021-12-11 */ + # Cleanup before 22.05, Added 2021-12-11 writePython2 = "Python 2 is EOL and the use of writers.writePython2 is deprecated."; writePython2Bin = "Python 2 is EOL and the use of writers.writePython2Bin is deprecated."; }) diff --git a/pkgs/build-support/writers/data.nix b/pkgs/build-support/writers/data.nix index 315150378e699..c4a1876308d30 100644 --- a/pkgs/build-support/writers/data.nix +++ b/pkgs/build-support/writers/data.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, formats, runCommand }: +{ + lib, + pkgs, + formats, + runCommand, +}: let inherit (lib) last @@ -29,8 +34,15 @@ in data :: T: the data that will be converted. ``` */ - makeDataWriter = lib.warn "pkgs.writers.makeDataWriter is deprecated. Use pkgs.writeTextFile." ({ input ? lib.id, output ? "cp $inputPath $out" }: nameOrPath: data: - assert (types.path.check nameOrPath) || (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null); + makeDataWriter = lib.warn "pkgs.writers.makeDataWriter is deprecated. Use pkgs.writeTextFile." ( + { + input ? lib.id, + output ? "cp $inputPath $out", + }: + nameOrPath: data: + assert + (types.path.check nameOrPath) + || (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null); let name = last (builtins.split "/" nameOrPath); in @@ -38,15 +50,17 @@ in { input = input data; passAsFile = [ "input" ]; - } '' - ${output} - - ${optionalString (types.path.check nameOrPath) '' - mv $out tmp - mkdir -p $out/$(dirname "${nameOrPath}") - mv tmp $out/${nameOrPath} - ''} - ''); + } + '' + ${output} + + ${optionalString (types.path.check nameOrPath) '' + mv $out tmp + mkdir -p $out/$(dirname "${nameOrPath}") + mv tmp $out/${nameOrPath} + ''} + '' + ); inherit (pkgs) writeText; @@ -59,7 +73,7 @@ in writeJSON "data.json" { hello = "world"; } ``` */ - writeJSON = (pkgs.formats.json {}).generate; + writeJSON = (pkgs.formats.json { }).generate; /** Writes the content to a TOML file. @@ -70,7 +84,7 @@ in writeTOML "data.toml" { hello = "world"; } ``` */ - writeTOML = (pkgs.formats.toml {}).generate; + writeTOML = (pkgs.formats.toml { }).generate; /** Writes the content to a YAML file. @@ -81,5 +95,5 @@ in writeYAML "data.yaml" { hello = "world"; } ``` */ - writeYAML = (pkgs.formats.yaml {}).generate; + writeYAML = (pkgs.formats.yaml { }).generate; } diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index cadb697814815..ad2be96f4b0b3 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -1,8 +1,12 @@ -{ config, lib, callPackages }: +{ + config, + lib, + callPackages, +}: # If you are reading this, you can test these writers by running: nix-build . -A tests.writers let - aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: {}; + aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: { }; # Writers for JSON-like data structures dataWriters = callPackages ./data.nix { }; diff --git a/pkgs/build-support/writers/test.nix b/pkgs/build-support/writers/test.nix index 7564796191d58..50419d532c409 100644 --- a/pkgs/build-support/writers/test.nix +++ b/pkgs/build-support/writers/test.nix @@ -1,12 +1,13 @@ -{ haskellPackages -, lib -, nodePackages -, perlPackages -, python3Packages -, runCommand -, testers -, writers -, writeText +{ + haskellPackages, + lib, + nodePackages, + perlPackages, + python3Packages, + runCommand, + testers, + writers, + writeText, }: # If you are reading this, you can test these writers by running: nix-build . -A tests.writers @@ -47,8 +48,9 @@ let writeYAML ; - expectSuccess = test: - runCommand "run-${test.name}" {} '' + expectSuccess = + test: + runCommand "run-${test.name}" { } '' if [[ "$(${test})" != success ]]; then echo 'test ${test.name} failed' exit 1 @@ -57,8 +59,9 @@ let touch $out ''; - expectSuccessBin = test: - runCommand "run-${test.name}" {} '' + expectSuccessBin = + test: + runCommand "run-${test.name}" { } '' if [[ "$(${getExe test})" != success ]]; then echo 'test ${test.name} failed' exit 1 @@ -67,77 +70,102 @@ let touch $out ''; - expectDataEqual = { file, expected }: + expectDataEqual = + { file, expected }: let expectedFile = writeText "${file.name}-expected" expected; in - testers.testEqualContents { expected = expectedFile; actual = file; assertion = "${file.name} matches"; }; + testers.testEqualContents { + expected = expectedFile; + actual = file; + assertion = "${file.name} matches"; + }; in recurseIntoAttrs { bin = recurseIntoAttrs { - bash = expectSuccessBin (writeBashBin "test-writers-bash-bin" '' - if [[ "test" == "test" ]]; then echo "success"; fi - ''); + bash = expectSuccessBin ( + writeBashBin "test-writers-bash-bin" '' + if [[ "test" == "test" ]]; then echo "success"; fi + '' + ); + + dash = expectSuccessBin ( + writeDashBin "test-writers-dash-bin" '' + test '~' = '~' && echo 'success' + '' + ); + + fish = expectSuccessBin ( + writeFishBin "test-writers-fish-bin" '' + if test "test" = "test" + echo "success" + end + '' + ); + + babashka = expectSuccessBin ( + writeBabashkaBin "test-writers-babashka-bin" { } '' + (println "success") + '' + ); + + rust = expectSuccessBin ( + writeRustBin "test-writers-rust-bin" { } '' + fn main(){ + println!("success") + } + '' + ); - dash = expectSuccessBin (writeDashBin "test-writers-dash-bin" '' - test '~' = '~' && echo 'success' - ''); + haskell = expectSuccessBin ( + writeHaskellBin "test-writers-haskell-bin" { libraries = [ haskellPackages.acme-default ]; } '' + import Data.Default + + int :: Int + int = def + + main :: IO () + main = case int of + 18871 -> putStrLn $ id "success" + _ -> print "fail" + '' + ); - fish = expectSuccessBin (writeFishBin "test-writers-fish-bin" '' - if test "test" = "test" + nim = expectSuccessBin ( + writeNimBin "test-writers-nim-bin" { } '' echo "success" - end - ''); - - babashka = expectSuccessBin (writeBabashkaBin "test-writers-babashka-bin" { } '' - (println "success") - ''); - - rust = expectSuccessBin (writeRustBin "test-writers-rust-bin" {} '' - fn main(){ - println!("success") - } - ''); - - haskell = expectSuccessBin (writeHaskellBin "test-writers-haskell-bin" { libraries = [ haskellPackages.acme-default ]; } '' - import Data.Default - - int :: Int - int = def - - main :: IO () - main = case int of - 18871 -> putStrLn $ id "success" - _ -> print "fail" - ''); - - nim = expectSuccessBin (writeNimBin "test-writers-nim-bin" { } '' - echo "success" - ''); - - js = expectSuccessBin (writeJSBin "test-writers-js-bin" { libraries = [ nodePackages.semver ]; } '' - var semver = require('semver'); - - if (semver.valid('1.2.3')) { - console.log('success') - } else { - console.log('fail') - } - ''); - - perl = expectSuccessBin (writePerlBin "test-writers-perl-bin" { libraries = [ perlPackages.boolean ]; } '' - use boolean; - print "success\n" if true; - ''); - - python3 = expectSuccessBin (writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } '' - import yaml - - y = yaml.safe_load(""" - - test: success - """) - print(y[0]['test']) - ''); + '' + ); + + js = expectSuccessBin ( + writeJSBin "test-writers-js-bin" { libraries = [ nodePackages.semver ]; } '' + var semver = require('semver'); + + if (semver.valid('1.2.3')) { + console.log('success') + } else { + console.log('fail') + } + '' + ); + + perl = expectSuccessBin ( + writePerlBin "test-writers-perl-bin" { libraries = [ perlPackages.boolean ]; } '' + use boolean; + print "success\n" if true; + '' + ); + + python3 = expectSuccessBin ( + writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } '' + import yaml + + y = yaml.safe_load(""" + - test: success + """) + print(y[0]['test']) + '' + ); # Commented out because of this issue: https://github.com/NixOS/nixpkgs/issues/39356 @@ -183,67 +211,87 @@ recurseIntoAttrs { }; simple = recurseIntoAttrs { - bash = expectSuccess (writeBash "test-writers-bash" '' - if [[ "test" == "test" ]]; then echo "success"; fi - ''); + bash = expectSuccess ( + writeBash "test-writers-bash" '' + if [[ "test" == "test" ]]; then echo "success"; fi + '' + ); - dash = expectSuccess (writeDash "test-writers-dash" '' - test '~' = '~' && echo 'success' - ''); + dash = expectSuccess ( + writeDash "test-writers-dash" '' + test '~' = '~' && echo 'success' + '' + ); - fish = expectSuccess (writeFish "test-writers-fish" '' - if test "test" = "test" - echo "success" - end - ''); + fish = expectSuccess ( + writeFish "test-writers-fish" '' + if test "test" = "test" + echo "success" + end + '' + ); - nim = expectSuccess (writeNim "test-writers-nim" { } '' - echo "success" - ''); + nim = expectSuccess ( + writeNim "test-writers-nim" { } '' + echo "success" + '' + ); - nu = expectSuccess (writeNu "test-writers-nushell" '' - echo "success" - ''); + nu = expectSuccess ( + writeNu "test-writers-nushell" '' + echo "success" + '' + ); - babashka = expectSuccess (writeBabashka "test-writers-babashka" { } '' - (println "success") - ''); + babashka = expectSuccess ( + writeBabashka "test-writers-babashka" { } '' + (println "success") + '' + ); - haskell = expectSuccess (writeHaskell "test-writers-haskell" { libraries = [ haskellPackages.acme-default ]; } '' - import Data.Default + haskell = expectSuccess ( + writeHaskell "test-writers-haskell" { libraries = [ haskellPackages.acme-default ]; } '' + import Data.Default - int :: Int - int = def + int :: Int + int = def - main :: IO () - main = case int of - 18871 -> putStrLn $ id "success" - _ -> print "fail" - ''); + main :: IO () + main = case int of + 18871 -> putStrLn $ id "success" + _ -> print "fail" + '' + ); - js = expectSuccess (writeJS "test-writers-js" { libraries = [ nodePackages.semver ]; } '' - var semver = require('semver'); + js = expectSuccess ( + writeJS "test-writers-js" { libraries = [ nodePackages.semver ]; } '' + var semver = require('semver'); - if (semver.valid('1.2.3')) { - console.log('success') - } else { - console.log('fail') - } - ''); + if (semver.valid('1.2.3')) { + console.log('success') + } else { + console.log('fail') + } + '' + ); - perl = expectSuccess (writePerl "test-writers-perl" { libraries = [ perlPackages.boolean ]; } '' - use boolean; - print "success\n" if true; - ''); + perl = expectSuccess ( + writePerl "test-writers-perl" { libraries = [ perlPackages.boolean ]; } '' + use boolean; + print "success\n" if true; + '' + ); - python3 = expectSuccess (writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } '' - import yaml + python3 = expectSuccess ( + writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } '' + import yaml - y = yaml.safe_load(""" - - test: success - """) - print(y[0]['test']) - ''); + y = yaml.safe_load(""" + - test: success + """) + print(y[0]['test']) + '' + ); # Commented out because of this issue: https://github.com/NixOS/nixpkgs/issues/39356 @@ -296,43 +344,61 @@ recurseIntoAttrs { # print("success") #''); - python3NoLibs = expectSuccess (writePython3 "test-writers-python3-no-libs" {} '' - print("success") - ''); + python3NoLibs = expectSuccess ( + writePython3 "test-writers-python3-no-libs" { } '' + print("success") + '' + ); - pypy3NoLibs = expectSuccess (writePyPy3 "test-writers-pypy3-no-libs" {} '' - print("success") - ''); + pypy3NoLibs = expectSuccess ( + writePyPy3 "test-writers-pypy3-no-libs" { } '' + print("success") + '' + ); - fsharpNoNugetDeps = expectSuccess (writeFSharp "test-writers-fsharp-no-nuget-deps" '' - printfn "success" - ''); + fsharpNoNugetDeps = expectSuccess ( + writeFSharp "test-writers-fsharp-no-nuget-deps" '' + printfn "success" + '' + ); - luaNoLibs = expectSuccess (writeLua "test-writers-lua-no-libs" {} '' - print("success") - ''); + luaNoLibs = expectSuccess ( + writeLua "test-writers-lua-no-libs" { } '' + print("success") + '' + ); - rubyNoLibs = expectSuccess (writeRuby "test-writers-ruby-no-libs" {} '' - puts "success" - ''); + rubyNoLibs = expectSuccess ( + writeRuby "test-writers-ruby-no-libs" { } '' + puts "success" + '' + ); }; path = recurseIntoAttrs { - bash = expectSuccess (writeBash "test-writers-bash-path" (writeText "test" '' - if [[ "test" == "test" ]]; then echo "success"; fi - '')); + bash = expectSuccess ( + writeBash "test-writers-bash-path" ( + writeText "test" '' + if [[ "test" == "test" ]]; then echo "success"; fi + '' + ) + ); - haskell = expectSuccess (writeHaskell "test-writers-haskell-path" { libraries = [ haskellPackages.acme-default ]; } (writeText "test" '' - import Data.Default + haskell = expectSuccess ( + writeHaskell "test-writers-haskell-path" { libraries = [ haskellPackages.acme-default ]; } ( + writeText "test" '' + import Data.Default - int :: Int - int = def + int :: Int + int = def - main :: IO () - main = case int of - 18871 -> putStrLn $ id "success" - _ -> print "fail" - '')); + main :: IO () + main = case int of + 18871 -> putStrLn $ id "success" + _ -> print "fail" + '' + ) + ); }; data = { @@ -473,16 +539,18 @@ recurseIntoAttrs { '' ); - no-empty-wrapper = let - bin = writeBashBin "bin" { makeWrapperArgs = []; } ''true''; - in runCommand "run-test-writers-wrapping-no-empty-wrapper" {} '' - ls -A ${bin}/bin - if [ $(ls -A ${bin}/bin | wc -l) -eq 1 ]; then - touch $out - else - echo "Error: Empty wrapper was created" >&2 - exit 1 - fi - ''; + no-empty-wrapper = + let + bin = writeBashBin "bin" { makeWrapperArgs = [ ]; } ''true''; + in + runCommand "run-test-writers-wrapping-no-empty-wrapper" { } '' + ls -A ${bin}/bin + if [ $(ls -A ${bin}/bin | wc -l) -eq 1 ]; then + touch $out + else + echo "Error: Empty wrapper was created" >&2 + exit 1 + fi + ''; }; } diff --git a/pkgs/by-name/_0/_0verkill/package.nix b/pkgs/by-name/_0/_0verkill/package.nix index 22ef6c6b0cc45..66a498d68dc64 100644 --- a/pkgs/by-name/_0/_0verkill/package.nix +++ b/pkgs/by-name/_0/_0verkill/package.nix @@ -1,10 +1,11 @@ -{ lib -, gccStdenv -, fetchFromGitHub -, autoreconfHook269 -, xorgproto -, libX11 -, libXpm +{ + lib, + gccStdenv, + fetchFromGitHub, + autoreconfHook269, + xorgproto, + libX11, + libXpm, }: gccStdenv.mkDerivation rec { @@ -19,7 +20,11 @@ gccStdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook269 ]; - buildInputs = [ libX11 xorgproto libXpm ]; + buildInputs = [ + libX11 + xorgproto + libXpm + ]; configureFlags = [ "--with-x" ]; diff --git a/pkgs/by-name/_0/_0x/package.nix b/pkgs/by-name/_0/_0x/package.nix index c5adee2a19467..e072cc4b58c53 100644 --- a/pkgs/by-name/_0/_0x/package.nix +++ b/pkgs/by-name/_0/_0x/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/_0/_0xpropo/package.nix b/pkgs/by-name/_0/_0xpropo/package.nix index 200e9758f778d..704d8e0fdc055 100644 --- a/pkgs/by-name/_0/_0xpropo/package.nix +++ b/pkgs/by-name/_0/_0xpropo/package.nix @@ -7,9 +7,10 @@ stdenvNoCC.mkDerivation rec { pname = "0xpropo"; version = "1.100"; - src = let - underscoreVersion = builtins.replaceStrings ["."] ["_"] version; - in + src = + let + underscoreVersion = builtins.replaceStrings [ "." ] [ "_" ] version; + in fetchzip { url = "https://github.com/0xType/0xPropo/releases/download/${version}/0xPropo_${underscoreVersion}.zip"; hash = "sha256-ZlZNvn9xiOxS+dfGI1rGbh6XlXo3/puAm2vhKh63sK4="; @@ -27,7 +28,7 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/0xType/0xPropo"; changelog = "https://github.com/0xType/0xPropo/releases/tag/${version}"; license = licenses.ofl; - maintainers = with maintainers; [vinnymeller]; + maintainers = with maintainers; [ vinnymeller ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/_0/_0xproto/package.nix b/pkgs/by-name/_0/_0xproto/package.nix index 9b7fd3959362e..91857593b4936 100644 --- a/pkgs/by-name/_0/_0xproto/package.nix +++ b/pkgs/by-name/_0/_0xproto/package.nix @@ -1,14 +1,16 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation rec { pname = "0xproto"; version = "2.100"; - src = let - underscoreVersion = builtins.replaceStrings ["."] ["_"] version; - in + src = + let + underscoreVersion = builtins.replaceStrings [ "." ] [ "_" ] version; + in fetchzip { url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip"; hash = "sha256-hUQGCsktnun9924+k6ECQuQ1Ddl/qGmtuLWERh/vDpc="; diff --git a/pkgs/by-name/_2/_2048-in-terminal/package.nix b/pkgs/by-name/_2/_2048-in-terminal/package.nix index e7347c8fe880e..c27a4640c850b 100644 --- a/pkgs/by-name/_2/_2048-in-terminal/package.nix +++ b/pkgs/by-name/_2/_2048-in-terminal/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + pkg-config, +}: stdenv.mkDerivation rec { pname = "2048-in-terminal"; diff --git a/pkgs/by-name/_2/_20kly/package.nix b/pkgs/by-name/_2/_20kly/package.nix index 661feea1730db..e860a01fe15d7 100644 --- a/pkgs/by-name/_2/_20kly/package.nix +++ b/pkgs/by-name/_2/_20kly/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/_3/_3270font/package.nix b/pkgs/by-name/_3/_3270font/package.nix index 56ee110a4b35c..3df18ecf8743d 100644 --- a/pkgs/by-name/_3/_3270font/package.nix +++ b/pkgs/by-name/_3/_3270font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "3270font"; @@ -29,7 +33,10 @@ stdenvNoCC.mkDerivation rec { description = "Monospaced font based on IBM 3270 terminals"; homepage = "https://github.com/rbanffy/3270font"; changelog = "https://github.com/rbanffy/3270font/blob/v${version}/CHANGELOG.md"; - license = [ licenses.bsd3 licenses.ofl ]; + license = [ + licenses.bsd3 + licenses.ofl + ]; maintainers = [ ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/_3/_3mux/package.nix b/pkgs/by-name/_3/_3mux/package.nix index 0a16b853943d9..f56a328ce6448 100644 --- a/pkgs/by-name/_3/_3mux/package.nix +++ b/pkgs/by-name/_3/_3mux/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + makeWrapper, +}: buildGoModule rec { pname = "3mux"; @@ -53,7 +59,10 @@ buildGoModule rec { ''; homepage = "https://github.com/aaronjanse/3mux"; license = licenses.mit; - maintainers = with maintainers; [ aaronjanse Br1ght0ne ]; + maintainers = with maintainers; [ + aaronjanse + Br1ght0ne + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/_3/_3proxy/package.nix b/pkgs/by-name/_3/_3proxy/package.nix index ab5ae744d2715..819c6a13a3c23 100644 --- a/pkgs/by-name/_3/_3proxy/package.nix +++ b/pkgs/by-name/_3/_3proxy/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, +}: stdenv.mkDerivation rec { pname = "3proxy"; diff --git a/pkgs/by-name/_4/_4d-minesweeper/package.nix b/pkgs/by-name/_4/_4d-minesweeper/package.nix index 4cb7b20bcb45e..a20d776806a42 100644 --- a/pkgs/by-name/_4/_4d-minesweeper/package.nix +++ b/pkgs/by-name/_4/_4d-minesweeper/package.nix @@ -1,24 +1,25 @@ -{ lib -, fetchFromGitHub -, stdenv -, unzip -, alsa-lib -, gcc-unwrapped -, git -, godot3-export-templates -, godot3-headless -, libGLU -, libX11 -, libXcursor -, libXext -, libXfixes -, libXi -, libXinerama -, libXrandr -, libXrender -, libglvnd -, libpulseaudio -, zlib +{ + lib, + fetchFromGitHub, + stdenv, + unzip, + alsa-lib, + gcc-unwrapped, + git, + godot3-export-templates, + godot3-headless, + libGLU, + libX11, + libXcursor, + libXext, + libXfixes, + libXi, + libXinerama, + libXrandr, + libXrender, + libglvnd, + libpulseaudio, + zlib, }: stdenv.mkDerivation { @@ -82,7 +83,7 @@ stdenv.mkDerivation { homepage = "https://github.com/gapophustu/4D-Minesweeper"; description = "4D Minesweeper game written in Godot"; license = licenses.mpl20; - platforms = platforms.linux; + platforms = platforms.linux; maintainers = [ ]; mainProgram = "4d-minesweeper"; }; diff --git a/pkgs/by-name/_4/_4th/package.nix b/pkgs/by-name/_4/_4th/package.nix index abc2d53fe0b60..bcacf1f8fb297 100644 --- a/pkgs/by-name/_4/_4th/package.nix +++ b/pkgs/by-name/_4/_4th/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { @@ -12,7 +13,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+W6nTNsqrf3Dvr+NbSz3uJdrXVbBI3OHR5v/rs7en+M="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; patches = [ # Fix install manual; report this patch to upstream diff --git a/pkgs/by-name/_4/_4ti2/package.nix b/pkgs/by-name/_4/_4ti2/package.nix index 940e2e45d5acf..dc46e01828bf2 100644 --- a/pkgs/by-name/_4/_4ti2/package.nix +++ b/pkgs/by-name/_4/_4ti2/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, glpk -, gmp +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + glpk, + gmp, }: -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { pname = "4ti2"; version = "1.6.10"; src = fetchFromGitHub { owner = pname; repo = pname; - rev = "Release_${builtins.replaceStrings ["."] ["_"] version}"; + rev = "Release_${builtins.replaceStrings [ "." ] [ "_" ] version}"; hash = "sha256-Rz8O1Tf81kzpTGPq7dkZJvv444F1/VqKu7VuRvH59kQ="; }; @@ -28,7 +29,7 @@ stdenv.mkDerivation rec{ installFlags = [ "install-exec" ]; - meta = with lib;{ + meta = with lib; { homepage = "https://4ti2.github.io/"; description = "Software package for algebraic, geometric and combinatorial problems on linear spaces"; license = with licenses; [ gpl2Plus ]; diff --git a/pkgs/by-name/_5/_5etools/package.nix b/pkgs/by-name/_5/_5etools/package.nix index 66a0f8dbc77da..1af299ce97ff6 100644 --- a/pkgs/by-name/_5/_5etools/package.nix +++ b/pkgs/by-name/_5/_5etools/package.nix @@ -15,6 +15,6 @@ fetchFromGitHub rec { changelog = "https://github.com/5etools-mirror-1/5etools-mirror-1.github.io/releases/tag/v${version}"; license = [ licenses.mit ]; maintainers = with maintainers; [ urandom ]; - hydraPlatforms = []; # src tarball is 4.7G, unpackeed 4.8G, exceeds hydras output limit + hydraPlatforms = [ ]; # src tarball is 4.7G, unpackeed 4.8G, exceeds hydras output limit }; } diff --git a/pkgs/by-name/_6/_6tunnel/package.nix b/pkgs/by-name/_6/_6tunnel/package.nix index b26853ee4ea16..181b23a5bed19 100644 --- a/pkgs/by-name/_6/_6tunnel/package.nix +++ b/pkgs/by-name/_6/_6tunnel/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "6tunnel"; diff --git a/pkgs/by-name/_7/_7kaa/package.nix b/pkgs/by-name/_7/_7kaa/package.nix index 2dd4d67221536..53e60276b3f5a 100644 --- a/pkgs/by-name/_7/_7kaa/package.nix +++ b/pkgs/by-name/_7/_7kaa/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, gccStdenv -, autoreconfHook -, autoconf-archive -, pkg-config -, fetchurl -, fetchFromGitHub -, openal -, enet -, SDL2 -, curl -, gettext -, libiconv +{ + lib, + stdenv, + gccStdenv, + autoreconfHook, + autoconf-archive, + pkg-config, + fetchurl, + fetchFromGitHub, + openal, + enet, + SDL2, + curl, + gettext, + libiconv, }: let @@ -46,15 +47,28 @@ gccStdenv.mkDerivation (finalAttrs: { hash = "sha256-kkM+kFQ+tGHS5NrVPeDMRWFQb7waESt8xOLfFGaGdgo="; }; - nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + pkg-config + ]; - buildInputs = [ openal enet SDL2 curl gettext libiconv ]; + buildInputs = [ + openal + enet + SDL2 + curl + gettext + libiconv + ]; preAutoreconf = '' autoupdate ''; - hardeningDisable = lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [ "stackprotector" ]; + hardeningDisable = lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [ + "stackprotector" + ]; postInstall = '' mkdir $out/share/7kaa/MUSIC diff --git a/pkgs/by-name/_9/_915resolution/package.nix b/pkgs/by-name/_9/_915resolution/package.nix index 8a6732d8737fa..1b2ef09a5789f 100644 --- a/pkgs/by-name/_9/_915resolution/package.nix +++ b/pkgs/by-name/_9/_915resolution/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "915resolution"; @@ -16,7 +20,10 @@ stdenv.mkDerivation rec { homepage = "http://915resolution.mango-lang.org/"; description = "Tool to modify Intel 800/900 video BIOS"; mainProgram = "915resolution"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; license = licenses.publicDomain; }; } diff --git a/pkgs/by-name/_9/_9base/package.nix b/pkgs/by-name/_9/_9base/package.nix index 3d523c513eecd..983b569062bcb 100644 --- a/pkgs/by-name/_9/_9base/package.nix +++ b/pkgs/by-name/_9/_9base/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchgit -, pkg-config -, patches ? [ ] -, pkgsBuildHost -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchgit, + pkg-config, + patches ? [ ], + pkgsBuildHost, + enableStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation { @@ -39,18 +40,21 @@ stdenv.mkDerivation { enableParallelBuilding = true; strictDeps = true; nativeBuildInputs = [ pkg-config ]; - env.NIX_CFLAGS_COMPILE = toString ([ - # workaround build failure on -fno-common toolchains like upstream - # gcc-10. Otherwise build fails as: - # ld: diffio.o:(.bss+0x16): multiple definition of `bflag'; diffdir.o:(.bss+0x6): first defined here - "-fcommon" - # hide really common warning that floods the logs: - # warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" - "-D_DEFAULT_SOURCE" - ] ++ lib.optionals stdenv.cc.isClang [ - # error: call to undeclared function 'p9mbtowc'; ISO C99 and later do not support implicit function declarations - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + # workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: diffio.o:(.bss+0x16): multiple definition of `bflag'; diffdir.o:(.bss+0x6): first defined here + "-fcommon" + # hide really common warning that floods the logs: + # warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + "-D_DEFAULT_SOURCE" + ] + ++ lib.optionals stdenv.cc.isClang [ + # error: call to undeclared function 'p9mbtowc'; ISO C99 and later do not support implicit function declarations + "-Wno-error=implicit-function-declaration" + ] + ); env.LDFLAGS = lib.optionalString enableStatic "-static"; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -59,7 +63,11 @@ stdenv.mkDerivation { "PREFIX_TROFF=${placeholder "troff"}" ]; - outputs = [ "out" "man" "troff" ]; + outputs = [ + "out" + "man" + "troff" + ]; meta = with lib; { homepage = "https://tools.suckless.org/9base/"; @@ -70,7 +78,10 @@ stdenv.mkDerivation { The overall SLOC is about 66kSLOC, so this userland + all libs is much smaller than, e.g. bash. 9base can be used to run werc instead of the full blown plan9port. ''; - license = with licenses; [ mit /* and */ lpl-102 ]; + license = with licenses; [ + mit # and + lpl-102 + ]; maintainers = with maintainers; [ jk ]; platforms = platforms.unix; # needs additional work to support aarch64-darwin diff --git a/pkgs/by-name/_9/_9menu/package.nix b/pkgs/by-name/_9/_9menu/package.nix index e383a2eb6b6fc..91f587a4e7dc1 100644 --- a/pkgs/by-name/_9/_9menu/package.nix +++ b/pkgs/by-name/_9/_9menu/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, meson -, ninja -, libX11 -, libXext +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + libX11, + libXext, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "arca8Gbr4ytiCk43cifmNj7SUrDgn1XB26zAhZrVDs0="; }; - nativeBuildInputs = [ pkg-config meson ninja ]; - buildInputs = [ libX11 libXext ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; + buildInputs = [ + libX11 + libXext + ]; meta = with lib; { homepage = "https://github.com/arnoldrobbins/9menu"; diff --git a/pkgs/by-name/_9/_9pfs/package.nix b/pkgs/by-name/_9/_9pfs/package.nix index 1fb775ec90cec..7305505aecb28 100644 --- a/pkgs/by-name/_9/_9pfs/package.nix +++ b/pkgs/by-name/_9/_9pfs/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, fuse, gitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + fuse, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "9pfs"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "pkg-config" "$PKG_CONFIG" ''; - makeFlags = [ "BIN=$(out)/bin" "MAN=$(out)/share/man/man1" ]; + makeFlags = [ + "BIN=$(out)/bin" + "MAN=$(out)/share/man/man1" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ fuse ]; enableParallelBuilding = true; @@ -28,6 +38,9 @@ stdenv.mkDerivation rec { mainProgram = "9pfs"; maintainers = [ ]; platforms = lib.platforms.unix; - license = with lib.licenses; [ lpl-102 bsd2 ]; + license = with lib.licenses; [ + lpl-102 + bsd2 + ]; }; } diff --git a/pkgs/by-name/_9/_9ptls/package.nix b/pkgs/by-name/_9/_9ptls/package.nix index 20fa779ecf61c..0c34dd53e314a 100644 --- a/pkgs/by-name/_9/_9ptls/package.nix +++ b/pkgs/by-name/_9/_9ptls/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, tlsclient +{ + lib, + stdenv, + tlsclient, }: stdenv.mkDerivation (finalAttrs: { @@ -10,7 +11,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; buildFlags = [ "mount.9ptls" ]; - installFlags = [ "PREFIX=$(out)" "SBIN=$(out)/bin" ]; + installFlags = [ + "PREFIX=$(out)" + "SBIN=$(out)/bin" + ]; installTargets = "mount.9ptls.install"; meta = with lib; { diff --git a/pkgs/by-name/a2/a2jmidid/package.nix b/pkgs/by-name/a2/a2jmidid/package.nix index c82e0012d2bc5..10b2fa3fe9b25 100644 --- a/pkgs/by-name/a2/a2jmidid/package.nix +++ b/pkgs/by-name/a2/a2jmidid/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitea, makeWrapper, pkg-config, alsa-lib, dbus, libjack2 -, python3Packages , meson, ninja, gitUpdater }: +{ + lib, + stdenv, + fetchFromGitea, + makeWrapper, + pkg-config, + alsa-lib, + dbus, + libjack2, + python3Packages, + meson, + ninja, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "a2jmidid"; @@ -14,9 +26,22 @@ stdenv.mkDerivation rec { hash = "sha256-PZKGhHmPMf0AucPruOLB9DniM5A3BKdghFCrd5pTzeM="; }; - nativeBuildInputs = [ pkg-config makeWrapper meson ninja ]; - buildInputs = [ alsa-lib dbus libjack2 ] ++ - (with python3Packages; [ python dbus-python ]); + nativeBuildInputs = [ + pkg-config + makeWrapper + meson + ninja + ]; + buildInputs = + [ + alsa-lib + dbus + libjack2 + ] + ++ (with python3Packages; [ + python + dbus-python + ]); postInstall = '' wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH @@ -30,6 +55,10 @@ stdenv.mkDerivation rec { homepage = "https://a2jmidid.ladish.org/"; license = licenses.gpl2Only; maintainers = [ ]; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/a2/a2ps/package.nix b/pkgs/by-name/a2/a2ps/package.nix index 78d4c4dcad9fc..bb4ba7c4df320 100644 --- a/pkgs/by-name/a2/a2ps/package.nix +++ b/pkgs/by-name/a2/a2ps/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, bison -, file -, perl -, pkg-config -, boehmgc -, gperf -, libpaper +{ + lib, + stdenv, + fetchurl, + autoconf, + bison, + file, + perl, + pkg-config, + boehmgc, + gperf, + libpaper, }: stdenv.mkDerivation rec { @@ -25,8 +26,18 @@ stdenv.mkDerivation rec { substituteInPlace tests/defs.in --replace "/bin/rm" "rm" ''; - nativeBuildInputs = [ autoconf bison file perl pkg-config ]; - buildInputs = [ boehmgc gperf libpaper ]; + nativeBuildInputs = [ + autoconf + bison + file + perl + pkg-config + ]; + buildInputs = [ + boehmgc + gperf + libpaper + ]; strictDeps = true; diff --git a/pkgs/by-name/a4/a4/package.nix b/pkgs/by-name/a4/a4/package.nix index 5efd44b893a7f..a8e3ff44c989d 100644 --- a/pkgs/by-name/a4/a4/package.nix +++ b/pkgs/by-name/a4/a4/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, libtickit -, libvterm-neovim +{ + lib, + stdenv, + fetchFromGitHub, + libtickit, + libvterm-neovim, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/aa/aaa/package.nix b/pkgs/by-name/aa/aaa/package.nix index 6511df5c997a5..0085f924cfdbb 100644 --- a/pkgs/by-name/aa/aaa/package.nix +++ b/pkgs/by-name/aa/aaa/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/aa/aaaaxy/package.nix b/pkgs/by-name/aa/aaaaxy/package.nix index fbc93426f381a..f6fdd10a8fbe5 100644 --- a/pkgs/by-name/aa/aaaaxy/package.nix +++ b/pkgs/by-name/aa/aaaaxy/package.nix @@ -1,21 +1,22 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, alsa-lib -, libGL -, libX11 -, libXcursor -, libXext -, libXi -, libXinerama -, libXrandr -, libXxf86vm -, go-licenses -, pkg-config -, zip -, advancecomp -, makeWrapper -, nixosTests +{ + lib, + fetchFromGitHub, + buildGoModule, + alsa-lib, + libGL, + libX11, + libXcursor, + libXext, + libXi, + libXinerama, + libXrandr, + libXxf86vm, + go-licenses, + pkg-config, + zip, + advancecomp, + makeWrapper, + nixosTests, }: buildGoModule rec { @@ -35,7 +36,12 @@ buildGoModule rec { buildInputs = [ alsa-lib libGL - libX11 libXcursor libXext libXi libXinerama libXrandr + libX11 + libXcursor + libXext + libXi + libXinerama + libXrandr libXxf86vm ]; @@ -47,7 +53,10 @@ buildGoModule rec { makeWrapper ]; - outputs = [ "out" "testing_infra" ]; + outputs = [ + "out" + "testing_infra" + ]; postPatch = '' # Without patching, "go run" fails with the error message: @@ -64,24 +73,26 @@ buildGoModule rec { 'CPPFLAGS ?= -DNDEBUG -D_GLFW_GLX_LIBRARY=\"${lib.getLib libGL}/lib/libGL.so\" -D_GLFW_EGL_LIBRARY=\"${lib.getLib libGL}/lib/libEGL.so\"' ''; - overrideModAttrs = (_: { - # We can't patch in the path to libGL directly because - # this is a fixed output derivation and when the path to libGL - # changes, the hash would change. - # To work around this, use environment variables. - postBuild = '' - substituteInPlace 'vendor/github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/opengl/gl/procaddr_linbsd.go' \ - --replace-fail \ - 'import (' \ - 'import ("os"' \ - --replace-fail \ - '{"libGL.so", "libGL.so.2", "libGL.so.1", "libGL.so.0"}' \ - '{os.Getenv("EBITENGINE_LIBGL")}' \ - --replace-fail \ - '{"libGLESv2.so", "libGLESv2.so.2", "libGLESv2.so.1", "libGLESv2.so.0"}' \ - '{os.Getenv("EBITENGINE_LIBGLESv2")}' - ''; - }); + overrideModAttrs = ( + _: { + # We can't patch in the path to libGL directly because + # this is a fixed output derivation and when the path to libGL + # changes, the hash would change. + # To work around this, use environment variables. + postBuild = '' + substituteInPlace 'vendor/github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/opengl/gl/procaddr_linbsd.go' \ + --replace-fail \ + 'import (' \ + 'import ("os"' \ + --replace-fail \ + '{"libGL.so", "libGL.so.2", "libGL.so.1", "libGL.so.0"}' \ + '{os.Getenv("EBITENGINE_LIBGL")}' \ + --replace-fail \ + '{"libGLESv2.so", "libGLESv2.so.2", "libGLESv2.so.1", "libGLESv2.so.0"}' \ + '{os.Getenv("EBITENGINE_LIBGLESv2")}' + ''; + } + ); makeFlags = [ "BUILDTYPE=release" diff --git a/pkgs/by-name/aa/aacgain/package.nix b/pkgs/by-name/aa/aacgain/package.nix index ce0362ba49c03..c91bbbe3f3f81 100644 --- a/pkgs/by-name/aa/aacgain/package.nix +++ b/pkgs/by-name/aa/aacgain/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, autoconf -, automake -, libtool +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + autoconf, + automake, + libtool, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/aa/aaphoto/package.nix b/pkgs/by-name/aa/aaphoto/package.nix index ee9cf9cde5ffd..8dad7cf82d50a 100644 --- a/pkgs/by-name/aa/aaphoto/package.nix +++ b/pkgs/by-name/aa/aaphoto/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, jasper -, libpng -, libjpeg -, zlib -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + jasper, + libpng, + libjpeg, + zlib, + llvmPackages, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aa/aapt/package.nix b/pkgs/by-name/aa/aapt/package.nix index 3bdb1e2f96eb7..84c2f156662e3 100644 --- a/pkgs/by-name/aa/aapt/package.nix +++ b/pkgs/by-name/aa/aapt/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchzip -, autoPatchelfHook -, libcxx +{ + lib, + stdenvNoCC, + fetchzip, + autoPatchelfHook, + libcxx, }: stdenvNoCC.mkDerivation rec { @@ -12,18 +13,26 @@ stdenvNoCC.mkDerivation rec { src = let urlAndHash = - if stdenvNoCC.hostPlatform.isLinux then { - url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar"; - hash = "sha256-eSQaZrRtb5aCG320hrXAL256fxa/oMhBC4hcTA1KRxs="; - } else if stdenvNoCC.hostPlatform.isDarwin then { - url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar"; - hash = "sha256-LUihNjase79JbUkHDb10A5d6pJ+VXDVfv7m09hkL8kY="; - } else throw "Unsupport platform: ${stdenvNoCC.system}"; + if stdenvNoCC.hostPlatform.isLinux then + { + url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar"; + hash = "sha256-eSQaZrRtb5aCG320hrXAL256fxa/oMhBC4hcTA1KRxs="; + } + else if stdenvNoCC.hostPlatform.isDarwin then + { + url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar"; + hash = "sha256-LUihNjase79JbUkHDb10A5d6pJ+VXDVfv7m09hkL8kY="; + } + else + throw "Unsupport platform: ${stdenvNoCC.system}"; in - fetchzip (urlAndHash // { - extension = "zip"; - stripRoot = false; - }); + fetchzip ( + urlAndHash + // { + extension = "zip"; + stripRoot = false; + } + ); nativeBuildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [ autoPatchelfHook ]; buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [ libcxx ]; @@ -46,4 +55,3 @@ stdenvNoCC.mkDerivation rec { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; } - diff --git a/pkgs/by-name/aa/aarch64-esr-decoder/package.nix b/pkgs/by-name/aa/aarch64-esr-decoder/package.nix index 3059d5623bac6..a15252bb3fdfa 100644 --- a/pkgs/by-name/aa/aarch64-esr-decoder/package.nix +++ b/pkgs/by-name/aa/aarch64-esr-decoder/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/aa/aardvark-dns/package.nix b/pkgs/by-name/aa/aardvark-dns/package.nix index 708c2a9375164..2e7cf4ad42d10 100644 --- a/pkgs/by-name/aa/aardvark-dns/package.nix +++ b/pkgs/by-name/aa/aardvark-dns/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nixosTests +{ + lib, + rustPlatform, + fetchFromGitHub, + nixosTests, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/aa/aaxtomp3/package.nix b/pkgs/by-name/aa/aaxtomp3/package.nix index 59bd228d4751a..38dfb30dffc69 100644 --- a/pkgs/by-name/aa/aaxtomp3/package.nix +++ b/pkgs/by-name/aa/aaxtomp3/package.nix @@ -1,19 +1,20 @@ -{ bash -, bc -, coreutils -, fetchFromGitHub -, ffmpeg -, findutils -, gawk -, gnugrep -, gnused -, jq -, lame -, lib -, mediainfo -, mp4v2 -, ncurses -, resholve +{ + bash, + bc, + coreutils, + fetchFromGitHub, + ffmpeg, + findutils, + gawk, + gnugrep, + gnused, + jq, + lame, + lib, + mediainfo, + mp4v2, + ncurses, + resholve, }: resholve.mkDerivation rec { diff --git a/pkgs/by-name/ab/aba/package.nix b/pkgs/by-name/ab/aba/package.nix index 76e6203cb0ce3..39896b1322bf9 100644 --- a/pkgs/by-name/ab/aba/package.nix +++ b/pkgs/by-name/ab/aba/package.nix @@ -1,9 +1,10 @@ -{ fetchFromSourcehut -, just -, lib -, nix-update-script -, rustPlatform -, scdoc +{ + fetchFromSourcehut, + just, + lib, + nix-update-script, + rustPlatform, + scdoc, }: let version = "0.8.0"; diff --git a/pkgs/by-name/ab/abaddon/package.nix b/pkgs/by-name/ab/abaddon/package.nix index a8db4395645fa..7df9c694be083 100644 --- a/pkgs/by-name/ab/abaddon/package.nix +++ b/pkgs/by-name/ab/abaddon/package.nix @@ -1,23 +1,24 @@ -{ lib -, fetchFromGitHub -, stdenv -, cmake -, copyDesktopItems -, makeDesktopItem -, makeWrapper -, pkg-config -, alsa-lib -, curl -, gtkmm3 -, libhandy -, libopus -, libpulseaudio -, libsecret -, libsodium -, nlohmann_json -, pcre2 -, spdlog -, sqlite +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + pkg-config, + alsa-lib, + curl, + gtkmm3, + libhandy, + libopus, + libpulseaudio, + libsecret, + libsodium, + nlohmann_json, + pcre2, + spdlog, + sqlite, }: stdenv.mkDerivation rec { @@ -60,7 +61,12 @@ stdenv.mkDerivation rec { mkdir $out/bin cp abaddon $out/bin wrapProgram $out/bin/abaddon \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ alsa-lib libpulseaudio ]}" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + alsa-lib + libpulseaudio + ] + }" \ --chdir $out/share/abaddon runHook postInstall @@ -73,7 +79,10 @@ stdenv.mkDerivation rec { desktopName = "Abaddon"; genericName = meta.description; startupWMClass = pname; - categories = [ "Network" "InstantMessaging" ]; + categories = [ + "Network" + "InstantMessaging" + ]; mimeTypes = [ "x-scheme-handler/discord" ]; }) ]; diff --git a/pkgs/by-name/ab/abbaye-des-morts/package.nix b/pkgs/by-name/ab/abbaye-des-morts/package.nix index 653a9dcc83340..a2908ed9e502a 100644 --- a/pkgs/by-name/ab/abbaye-des-morts/package.nix +++ b/pkgs/by-name/ab/abbaye-des-morts/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, SDL2, SDL2_image, SDL2_mixer }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_image, + SDL2_mixer, +}: stdenv.mkDerivation rec { pname = "abbaye-des-morts"; @@ -11,15 +18,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-IU7E1zmeif9CdoBxzmh7MG2jElGGnEZyKnK7eYFrjsQ="; }; - buildInputs = [ SDL2 SDL2_image SDL2_mixer ]; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + ]; - makeFlags = [ "PREFIX=$(out)" "DESTDIR=" ]; + makeFlags = [ + "PREFIX=$(out)" + "DESTDIR=" + ]; - preBuild = lib.optionalString stdenv.cc.isClang - '' - substituteInPlace Makefile \ - --replace -fpredictive-commoning "" - ''; + preBuild = lib.optionalString stdenv.cc.isClang '' + substituteInPlace Makefile \ + --replace -fpredictive-commoning "" + ''; preInstall = '' mkdir -p $out/bin diff --git a/pkgs/by-name/ab/abbreviate/package.nix b/pkgs/by-name/ab/abbreviate/package.nix index 2f1e5bc812abd..400e168b1ed51 100644 --- a/pkgs/by-name/ab/abbreviate/package.nix +++ b/pkgs/by-name/ab/abbreviate/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installShellCompletion --cmd abbreviate \ diff --git a/pkgs/by-name/ab/abc-verifier/package.nix b/pkgs/by-name/ab/abc-verifier/package.nix index a71122c5465c5..45677ec9d697b 100644 --- a/pkgs/by-name/ab/abc-verifier/package.nix +++ b/pkgs/by-name/ab/abc-verifier/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, readline -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + readline, + cmake, }: stdenv.mkDerivation (finalAttrs: { - pname = "abc-verifier"; + pname = "abc-verifier"; version = "unstable-2023-10-13"; src = fetchFromGitHub { owner = "yosyshq"; - repo = "abc"; - rev = "896e5e7dedf9b9b1459fa019f1fa8aa8101fdf43"; - hash = "sha256-ou+E2lvDEOxXRXNygE/TyVi7quqk+CJHRI+HDI0xljE="; + repo = "abc"; + rev = "896e5e7dedf9b9b1459fa019f1fa8aa8101fdf43"; + hash = "sha256-ou+E2lvDEOxXRXNygE/TyVi7quqk+CJHRI+HDI0xljE="; }; nativeBuildInputs = [ cmake ]; @@ -30,10 +31,13 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Tool for squential logic synthesis and formal verification"; - homepage = "https://people.eecs.berkeley.edu/~alanmi/abc"; - license = licenses.mit; - maintainers = with maintainers; [ thoughtpolice Luflosi ]; + homepage = "https://people.eecs.berkeley.edu/~alanmi/abc"; + license = licenses.mit; + maintainers = with maintainers; [ + thoughtpolice + Luflosi + ]; mainProgram = "abc"; - platforms = platforms.unix; + platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/ab/abcm2ps/package.nix b/pkgs/by-name/ab/abcm2ps/package.nix index 4ea58d9c2d77a..873bbebcd36e1 100644 --- a/pkgs/by-name/ab/abcm2ps/package.nix +++ b/pkgs/by-name/ab/abcm2ps/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, docutils -, pkg-config -, freetype -, pango -, testers +{ + lib, + stdenv, + fetchFromGitHub, + docutils, + pkg-config, + freetype, + pango, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -23,9 +24,15 @@ stdenv.mkDerivation (finalAttrs: { "--INSTALL=install" ]; - nativeBuildInputs = [ docutils pkg-config ]; + nativeBuildInputs = [ + docutils + pkg-config + ]; - buildInputs = [ freetype pango ]; + buildInputs = [ + freetype + pango + ]; passthru.tests = { version = testers.testVersion { diff --git a/pkgs/by-name/ab/abduco/package.nix b/pkgs/by-name/ab/abduco/package.nix index eef5fe0df344d..df318ca8c3400 100644 --- a/pkgs/by-name/ab/abduco/package.nix +++ b/pkgs/by-name/ab/abduco/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchpatch, fetchzip, writeText, conf ? null }: +{ + lib, + stdenv, + fetchpatch, + fetchzip, + writeText, + conf ? null, +}: let rev = "8c32909a159aaa9484c82b71f05b7a73321eb491"; @@ -15,8 +22,7 @@ stdenv.mkDerivation { hash = "sha256-o7SPK/G31cW/rrLwV3UJOTq6EBHl6AEE/GdeKGlHdyg="; }; - preBuild = lib.optionalString (conf != null) - "cp ${writeText "config.def.h" conf} config.def.h"; + preBuild = lib.optionalString (conf != null) "cp ${writeText "config.def.h" conf} config.def.h"; installFlags = [ "install-completion" ]; CFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-D_DARWIN_C_SOURCE"; diff --git a/pkgs/by-name/ab/abi-compliance-checker/package.nix b/pkgs/by-name/ab/abi-compliance-checker/package.nix index b5ccb40d5dc4f..0d4f133ab16f4 100644 --- a/pkgs/by-name/ab/abi-compliance-checker/package.nix +++ b/pkgs/by-name/ab/abi-compliance-checker/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, ctags, perl, binutils, abi-dumper }: +{ + lib, + stdenv, + fetchFromGitHub, + ctags, + perl, + binutils, + abi-dumper, +}: stdenv.mkDerivation rec { pname = "abi-compliance-checker"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "1f1f9j2nf9j83sfl2ljadch99v6ha8rq8xm7ax5akc05hjpyckij"; }; - buildInputs = [ binutils ctags perl ]; + buildInputs = [ + binutils + ctags + perl + ]; propagatedBuildInputs = [ abi-dumper ]; makeFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/by-name/ab/abi-dumper/package.nix b/pkgs/by-name/ab/abi-dumper/package.nix index 09b30b6c62319..27321eb12325a 100644 --- a/pkgs/by-name/ab/abi-dumper/package.nix +++ b/pkgs/by-name/ab/abi-dumper/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, ctags, perl, elfutils, vtable-dumper }: +{ + lib, + stdenv, + fetchFromGitHub, + ctags, + perl, + elfutils, + vtable-dumper, +}: stdenv.mkDerivation rec { pname = "abi-dumper"; @@ -18,7 +26,12 @@ stdenv.mkDerivation rec { --replace '"ctags"' '"${ctags}/bin/ctags"' ''; - buildInputs = [ elfutils ctags perl vtable-dumper ]; + buildInputs = [ + elfutils + ctags + perl + vtable-dumper + ]; preBuild = "mkdir -p $out"; makeFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/by-name/ab/abiword/package.nix b/pkgs/by-name/ab/abiword/package.nix index f960a41531a3b..d26ef4b984c9f 100644 --- a/pkgs/by-name/ab/abiword/package.nix +++ b/pkgs/by-name/ab/abiword/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, autoreconfHook269 -, autoconf-archive -, pkg-config -, gtk3 -, fribidi -, libpng -, popt -, libgsf -, enchant -, wv -, librsvg -, bzip2 -, libjpeg -, perl -, boost -, libxslt -, goffice -, wrapGAppsHook3 -, gitUpdater +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + autoreconfHook269, + autoconf-archive, + pkg-config, + gtk3, + fribidi, + libpng, + popt, + libgsf, + enchant, + wv, + librsvg, + bzip2, + libjpeg, + perl, + boost, + libxslt, + goffice, + wrapGAppsHook3, + gitUpdater, }: stdenv.mkDerivation rec { @@ -80,6 +81,10 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.gnome.org/World/AbiWord/"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ pSub ylwghst sna ]; + maintainers = with maintainers; [ + pSub + ylwghst + sna + ]; }; } diff --git a/pkgs/by-name/ab/ablog/package.nix b/pkgs/by-name/ab/ablog/package.nix index cbede853507b3..b119045439579 100644 --- a/pkgs/by-name/ab/ablog/package.nix +++ b/pkgs/by-name/ab/ablog/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, gitUpdater +{ + lib, + python3, + fetchFromGitHub, + gitUpdater, }: python3.pkgs.buildPythonApplication rec { @@ -38,9 +39,12 @@ python3.pkgs.buildPythonApplication rec { ]; pytestFlagsArray = [ - "-W" "ignore::sphinx.deprecation.RemovedInSphinx90Warning" - "--rootdir" "src/ablog" - "-W" "ignore::sphinx.deprecation.RemovedInSphinx90Warning" # Ignore ImportError + "-W" + "ignore::sphinx.deprecation.RemovedInSphinx90Warning" + "--rootdir" + "src/ablog" + "-W" + "ignore::sphinx.deprecation.RemovedInSphinx90Warning" # Ignore ImportError ]; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; diff --git a/pkgs/by-name/ab/abook/package.nix b/pkgs/by-name/ab/abook/package.nix index 358ecbcef39ba..0fb3850790c7e 100644 --- a/pkgs/by-name/ab/abook/package.nix +++ b/pkgs/by-name/ab/abook/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, ncurses, readline, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + ncurses, + readline, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "abook"; @@ -17,8 +26,14 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ ncurses readline ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + ncurses + readline + ]; meta = { homepage = "http://abook.sourceforge.net/"; diff --git a/pkgs/by-name/ab/abootimg/package.nix b/pkgs/by-name/ab/abootimg/package.nix index 85181cdf459f0..a281480a8c261 100644 --- a/pkgs/by-name/ab/abootimg/package.nix +++ b/pkgs/by-name/ab/abootimg/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, coreutils, cpio, findutils, gzip, makeWrapper, util-linux }: +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + cpio, + findutils, + gzip, + makeWrapper, + util-linux, +}: stdenv.mkDerivation rec { pname = "abootimg"; @@ -27,10 +37,22 @@ stdenv.mkDerivation rec { install -D -m444 ./debian/abootimg.1 $out/share/man/man1/abootimg.1; install -D -m 755 abootimg-pack-initrd $out/bin - wrapProgram $out/bin/abootimg-pack-initrd --prefix PATH : ${lib.makeBinPath [ coreutils cpio findutils gzip ]} + wrapProgram $out/bin/abootimg-pack-initrd --prefix PATH : ${ + lib.makeBinPath [ + coreutils + cpio + findutils + gzip + ] + } install -D -m 755 abootimg-unpack-initrd $out/bin - wrapProgram $out/bin/abootimg-unpack-initrd --prefix PATH : ${lib.makeBinPath [ cpio gzip ]} + wrapProgram $out/bin/abootimg-unpack-initrd --prefix PATH : ${ + lib.makeBinPath [ + cpio + gzip + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/ab/abuse/package.nix b/pkgs/by-name/ab/abuse/package.nix index 6b46e61aaf1a2..4b621d53d7875 100644 --- a/pkgs/by-name/ab/abuse/package.nix +++ b/pkgs/by-name/ab/abuse/package.nix @@ -1,11 +1,18 @@ -{ lib, stdenv, fetchzip, fetchFromGitHub -, makeDesktopItem, copyDesktopItems -, cmake -, SDL2, SDL2_mixer, freepats +{ + lib, + stdenv, + fetchzip, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + cmake, + SDL2, + SDL2_mixer, + freepats, }: stdenv.mkDerivation (finalAttrs: { - pname = "abuse"; + pname = "abuse"; version = "0.9.1"; src = fetchFromGitHub { @@ -16,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { }; data = fetchzip { - url = "http://abuse.zoy.org/raw-attachment/wiki/download/abuse-0.8.tar.gz"; + url = "http://abuse.zoy.org/raw-attachment/wiki/download/abuse-0.8.tar.gz"; hash = "sha256-SOrtBNLWskN7Tqa0B3+KjlZlqPjC64Jp02Pk7to2hFg="; }; @@ -24,14 +31,19 @@ stdenv.mkDerivation (finalAttrs: { cp --reflink=auto -r ${finalAttrs.data}/data/sfx ${finalAttrs.data}/data/music data/ ''; - desktopItems = [ (makeDesktopItem { - name = "abuse"; - exec = "abuse"; - icon = "abuse"; - desktopName = "Abuse"; - comment = "Side-scroller action game that pits you against ruthless alien killers"; - categories = [ "Game" "ActionGame" ]; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "abuse"; + exec = "abuse"; + icon = "abuse"; + desktopName = "Abuse"; + comment = "Side-scroller action game that pits you against ruthless alien killers"; + categories = [ + "Game" + "ActionGame" + ]; + }) + ]; postInstall = '' mkdir $out/etc @@ -46,19 +58,26 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2}/include/SDL2"; - nativeBuildInputs = [ copyDesktopItems cmake ]; - buildInputs = [ SDL2 SDL2_mixer freepats ]; + nativeBuildInputs = [ + copyDesktopItems + cmake + ]; + buildInputs = [ + SDL2 + SDL2_mixer + freepats + ]; meta = { description = "Side-scroller action game that pits you against ruthless alien killers"; - homepage = "http://abuse.zoy.org/"; - license = lib.licenses.unfree; + homepage = "http://abuse.zoy.org/"; + license = lib.licenses.unfree; # Most of abuse is free (public domain, GPL2+, WTFPL), however the creator # of its sfx and music only gave Debian permission to redistribute the # files. Our friends from Debian thought about it some more: # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648272 maintainers = with lib.maintainers; [ iblech ]; - platforms = lib.platforms.unix; - broken = stdenv.hostPlatform.isDarwin; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isDarwin; }; }) diff --git a/pkgs/by-name/ac/acc/package.nix b/pkgs/by-name/ac/acc/package.nix index a74227284a900..894aa7ce588e0 100644 --- a/pkgs/by-name/ac/acc/package.nix +++ b/pkgs/by-name/ac/acc/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { pname = "acc"; diff --git a/pkgs/by-name/ac/accelergy/package.nix b/pkgs/by-name/ac/accelergy/package.nix index 42609ada09a38..fbbe84894ebc3 100644 --- a/pkgs/by-name/ac/accelergy/package.nix +++ b/pkgs/by-name/ac/accelergy/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "accelergy"; diff --git a/pkgs/by-name/ac/accerciser/package.nix b/pkgs/by-name/ac/accerciser/package.nix index 9aa630085097f..bc1fcfe1af025 100644 --- a/pkgs/by-name/ac/accerciser/package.nix +++ b/pkgs/by-name/ac/accerciser/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchurl -, desktop-file-utils -, meson -, ninja -, pkg-config -, gnome -, gtk3 -, wrapGAppsHook3 -, gobject-introspection -, itstool -, python3 -, at-spi2-core -, gettext -, libwnck -, librsvg +{ + lib, + fetchurl, + desktop-file-utils, + meson, + ninja, + pkg-config, + gnome, + gtk3, + wrapGAppsHook3, + gobject-introspection, + itstool, + python3, + at-spi2-core, + gettext, + libwnck, + librsvg, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ac/accountsservice/package.nix b/pkgs/by-name/ac/accountsservice/package.nix index 1bb42e9c3fe61..6456657b7afa5 100644 --- a/pkgs/by-name/ac/accountsservice/package.nix +++ b/pkgs/by-name/ac/accountsservice/package.nix @@ -1,29 +1,33 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, pkg-config -, glib -, shadow -, gobject-introspection -, polkit -, systemd -, coreutils -, meson -, mesonEmulatorHook -, dbus -, ninja -, python3 -, vala -, gettext -, libxcrypt +{ + lib, + stdenv, + fetchurl, + substituteAll, + pkg-config, + glib, + shadow, + gobject-introspection, + polkit, + systemd, + coreutils, + meson, + mesonEmulatorHook, + dbus, + ninja, + python3, + vala, + gettext, + libxcrypt, }: stdenv.mkDerivation rec { pname = "accountsservice"; version = "23.13.9"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz"; @@ -52,18 +56,20 @@ stdenv.mkDerivation rec { ./get-dm-type-from-config.patch ]; - nativeBuildInputs = [ - gettext - gobject-introspection - meson - ninja - pkg-config - python3 - vala - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - # meson.build:88:2: ERROR: Can not run test applications in this cross environment. - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + gettext + gobject-introspection + meson + ninja + pkg-config + python3 + vala + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + # meson.build:88:2: ERROR: Can not run test applications in this cross environment. + mesonEmulatorHook + ]; buildInputs = [ dbus @@ -74,13 +80,15 @@ stdenv.mkDerivation rec { libxcrypt ]; - env = lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) { - NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=deprecated-declarations" - "-Wno-error=implicit-function-declaration" - "-Wno-error=return-mismatch" - ]; - }; + env = + lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) + { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=deprecated-declarations" + "-Wno-error=implicit-function-declaration" + "-Wno-error=return-mismatch" + ]; + }; mesonFlags = [ "-Dadmin_group=wheel" diff --git a/pkgs/by-name/ac/acct/package.nix b/pkgs/by-name/ac/acct/package.nix index 9a363eb8706e0..e92e5b0aeecd8 100644 --- a/pkgs/by-name/ac/acct/package.nix +++ b/pkgs/by-name/ac/acct/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "acct"; diff --git a/pkgs/by-name/ac/accuraterip-checksum/package.nix b/pkgs/by-name/ac/accuraterip-checksum/package.nix index df4dfef93ba1e..aa4bee62b4b84 100644 --- a/pkgs/by-name/ac/accuraterip-checksum/package.nix +++ b/pkgs/by-name/ac/accuraterip-checksum/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + libsndfile, +}: stdenv.mkDerivation rec { pname = "accuraterip-checksum"; diff --git a/pkgs/by-name/ac/ace-of-penguins/package.nix b/pkgs/by-name/ac/ace-of-penguins/package.nix index fb15aedc1df85..137b312bf57ec 100644 --- a/pkgs/by-name/ac/ace-of-penguins/package.nix +++ b/pkgs/by-name/ac/ace-of-penguins/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, copyDesktopItems -, libX11 -, libXpm -, libpng -, makeDesktopItem -, zlib +{ + lib, + stdenv, + fetchurl, + copyDesktopItems, + libX11, + libXpm, + libpng, + makeDesktopItem, + zlib, }: stdenv.mkDerivation rec { @@ -34,15 +35,16 @@ stdenv.mkDerivation rec { zlib ]; - desktopItems = let - generateItem = gameName: { - name = "${pname}-${gameName}"; - exec = "${placeholder "out"}/bin/${gameName}"; - comment = "Ace of Penguins ${gameName} Card Game"; - desktopName = gameName; - genericName = gameName; - }; - in + desktopItems = + let + generateItem = gameName: { + name = "${pname}-${gameName}"; + exec = "${placeholder "out"}/bin/${gameName}"; + comment = "Ace of Penguins ${gameName} Card Game"; + desktopName = gameName; + genericName = gameName; + }; + in map (x: makeDesktopItem (generateItem x)) [ "canfield" "freecell" diff --git a/pkgs/by-name/ac/ace/package.nix b/pkgs/by-name/ac/ace/package.nix index 01041c8586239..f3c0ab54164ea 100644 --- a/pkgs/by-name/ac/ace/package.nix +++ b/pkgs/by-name/ac/ace/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libtool, perl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libtool, + perl, +}: stdenv.mkDerivation rec { pname = "ace"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config libtool ]; + nativeBuildInputs = [ + pkg-config + libtool + ]; buildInputs = [ perl ]; env.NIX_CFLAGS_COMPILE = toString [ diff --git a/pkgs/by-name/ac/acgtk/package.nix b/pkgs/by-name/ac/acgtk/package.nix index 37c7b527a9134..fd146618c91fe 100644 --- a/pkgs/by-name/ac/acgtk/package.nix +++ b/pkgs/by-name/ac/acgtk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, dune_3, ocamlPackages }: +{ + lib, + stdenv, + fetchFromGitLab, + dune_3, + ocamlPackages, +}: stdenv.mkDerivation { @@ -15,10 +21,25 @@ stdenv.mkDerivation { strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ menhir ocaml findlib dune_3 ]; + nativeBuildInputs = with ocamlPackages; [ + menhir + ocaml + findlib + dune_3 + ]; buildInputs = with ocamlPackages; [ - ansiterminal cairo2 cmdliner fmt logs menhirLib mtime ocamlgraph readline sedlex yojson + ansiterminal + cairo2 + cmdliner + fmt + logs + menhirLib + mtime + ocamlgraph + readline + sedlex + yojson ]; buildPhase = '' diff --git a/pkgs/by-name/ac/acltoolkit/package.nix b/pkgs/by-name/ac/acltoolkit/package.nix index b7c42c2a2574a..fe0e8da71cfa8 100644 --- a/pkgs/by-name/ac/acltoolkit/package.nix +++ b/pkgs/by-name/ac/acltoolkit/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonPackage rec { diff --git a/pkgs/by-name/ac/acme/package.nix b/pkgs/by-name/ac/acme/package.nix index 855abe1844d6e..d1795552dc8d2 100644 --- a/pkgs/by-name/ac/acme/package.nix +++ b/pkgs/by-name/ac/acme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchsvn }: +{ + lib, + stdenv, + fetchsvn, +}: stdenv.mkDerivation rec { pname = "acme"; diff --git a/pkgs/by-name/ac/acpi/package.nix b/pkgs/by-name/ac/acpi/package.nix index 2b661e57c4cdd..2d9decc66244e 100644 --- a/pkgs/by-name/ac/acpi/package.nix +++ b/pkgs/by-name/ac/acpi/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "acpi"; diff --git a/pkgs/by-name/ac/acpic/package.nix b/pkgs/by-name/ac/acpic/package.nix index eeef043f106ee..246d6aa67904f 100644 --- a/pkgs/by-name/ac/acpic/package.nix +++ b/pkgs/by-name/ac/acpic/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchPypi -, python3Packages +{ + lib, + fetchPypi, + python3Packages, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ac/acpid/package.nix b/pkgs/by-name/ac/acpid/package.nix index 5326ba578f75e..0d626b0fad713 100644 --- a/pkgs/by-name/ac/acpid/package.nix +++ b/pkgs/by-name/ac/acpid/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "acpid"; diff --git a/pkgs/by-name/ac/acpilight/package.nix b/pkgs/by-name/ac/acpilight/package.nix index 91bb878291318..ec59a26099353 100644 --- a/pkgs/by-name/ac/acpilight/package.nix +++ b/pkgs/by-name/ac/acpilight/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, python3, coreutils }: +{ + lib, + stdenv, + fetchgit, + python3, + coreutils, +}: stdenv.mkDerivation rec { pname = "acpilight"; @@ -10,9 +16,11 @@ stdenv.mkDerivation rec { sha256 = "1r0r3nx6x6vkpal6vci0zaa1n9dfacypldf6k8fxg7919vzxdn1w"; }; - pyenv = python3.withPackages (pythonPackages: with pythonPackages; [ - configargparse - ]); + pyenv = python3.withPackages ( + pythonPackages: with pythonPackages; [ + configargparse + ] + ); postConfigure = '' substituteInPlace 90-backlight.rules --replace /bin ${coreutils}/bin diff --git a/pkgs/by-name/ac/acpitool/package.nix b/pkgs/by-name/ac/acpitool/package.nix index 86b028697bb62..a8096c07a0c57 100644 --- a/pkgs/by-name/ac/acpitool/package.nix +++ b/pkgs/by-name/ac/acpitool/package.nix @@ -1,12 +1,20 @@ -{lib, stdenv, fetchurl, fetchpatch}: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: let - acpitool-patch-051-4 = params: fetchpatch rec { - inherit (params) name sha256; - url = "https://salsa.debian.org/debian/acpitool/raw/33e2ef42a663de820457b212ea2925e506df3b88/debian/patches/${name}"; - }; + acpitool-patch-051-4 = + params: + fetchpatch rec { + inherit (params) name sha256; + url = "https://salsa.debian.org/debian/acpitool/raw/33e2ef42a663de820457b212ea2925e506df3b88/debian/patches/${name}"; + }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "acpitool"; version = "0.5.1"; diff --git a/pkgs/by-name/ac/acr/package.nix b/pkgs/by-name/ac/acr/package.nix index 10e6026248703..3b8ba5727c8be 100644 --- a/pkgs/by-name/ac/acr/package.nix +++ b/pkgs/by-name/ac/acr/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ac/acsccid/package.nix b/pkgs/by-name/ac/acsccid/package.nix index 8bf7ae9480003..00a07ee90be1e 100644 --- a/pkgs/by-name/ac/acsccid/package.nix +++ b/pkgs/by-name/ac/acsccid/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, gettext -, flex -, perl -, pkg-config -, pcsclite -, libusb1 -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + gettext, + flex, + perl, + pkg-config, + pcsclite, + libusb1, + libiconv, }: stdenv.mkDerivation rec { @@ -34,12 +35,14 @@ stdenv.mkDerivation rec { perl ]; - buildInputs = [ - pcsclite - libusb1 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + buildInputs = + [ + pcsclite + libusb1 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; configureFlags = [ "--enable-usbdropdir=${placeholder "out"}/pcsc/drivers" diff --git a/pkgs/by-name/ac/action-validator/package.nix b/pkgs/by-name/ac/action-validator/package.nix index 3b7c803dc3bb5..a82c792b1fca1 100644 --- a/pkgs/by-name/ac/action-validator/package.nix +++ b/pkgs/by-name/ac/action-validator/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ac/activate-linux/package.nix b/pkgs/by-name/ac/activate-linux/package.nix index 143e8cf0809f8..8bc7f83f5d602 100644 --- a/pkgs/by-name/ac/activate-linux/package.nix +++ b/pkgs/by-name/ac/activate-linux/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, fetchFromGitHub -, lib -, pkg-config -, xorg -, cairo -, wayland -, wayland-protocols -, wayland-scanner -, libconfig +{ + stdenv, + fetchFromGitHub, + lib, + pkg-config, + xorg, + cairo, + wayland, + wayland-protocols, + wayland-scanner, + libconfig, }: stdenv.mkDerivation (finalAttrs: { @@ -64,7 +65,10 @@ stdenv.mkDerivation (finalAttrs: { description = "\"Activate Windows\" watermark ported to Linux"; homepage = "https://github.com/MrGlockenspiel/activate-linux"; license = licenses.gpl3; - maintainers = with maintainers; [ alexnortung donovanglover ]; + maintainers = with maintainers; [ + alexnortung + donovanglover + ]; platforms = platforms.linux; mainProgram = "activate-linux"; }; diff --git a/pkgs/by-name/ac/actkbd/package.nix b/pkgs/by-name/ac/actkbd/package.nix index 175e405155d43..154d50c4d43af 100644 --- a/pkgs/by-name/ac/actkbd/package.nix +++ b/pkgs/by-name/ac/actkbd/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "actkbd"; diff --git a/pkgs/by-name/ad/ad-ldap-enum/package.nix b/pkgs/by-name/ad/ad-ldap-enum/package.nix index 983746cbcbf90..3b8f074eba3c0 100644 --- a/pkgs/by-name/ad/ad-ldap-enum/package.nix +++ b/pkgs/by-name/ad/ad-ldap-enum/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, python3 +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3, }: stdenvNoCC.mkDerivation { @@ -15,11 +16,13 @@ stdenvNoCC.mkDerivation { }; buildInputs = [ - (python3.withPackages (ps: with ps; [ - argcomplete - ldap3 - openpyxl - ])) + (python3.withPackages ( + ps: with ps; [ + argcomplete + ldap3 + openpyxl + ] + )) ]; installPhase = '' diff --git a/pkgs/by-name/ad/adafruit-ampy/package.nix b/pkgs/by-name/ad/adafruit-ampy/package.nix index 66a776935049e..0cf5ba087a494 100644 --- a/pkgs/by-name/ad/adafruit-ampy/package.nix +++ b/pkgs/by-name/ad/adafruit-ampy/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: with python3.pkgs; @@ -12,7 +16,11 @@ buildPythonApplication rec { }; nativeBuildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ click python-dotenv pyserial ]; + propagatedBuildInputs = [ + click + python-dotenv + pyserial + ]; # No tests doCheck = false; diff --git a/pkgs/by-name/ad/adafruit-nrfutil/package.nix b/pkgs/by-name/ad/adafruit-nrfutil/package.nix index 09d8aa66377d2..00d0d8052ab06 100644 --- a/pkgs/by-name/ad/adafruit-nrfutil/package.nix +++ b/pkgs/by-name/ad/adafruit-nrfutil/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchFromGitHub -, fetchpatch +{ + lib, + python3Packages, + fetchFromGitHub, + fetchpatch, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ad/adalanche/package.nix b/pkgs/by-name/ad/adalanche/package.nix index 109b327333ac9..7b81c370f22cf 100644 --- a/pkgs/by-name/ad/adalanche/package.nix +++ b/pkgs/by-name/ad/adalanche/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + libpcap, }: buildGoModule rec { diff --git a/pkgs/by-name/ad/adapta-backgrounds/package.nix b/pkgs/by-name/ad/adapta-backgrounds/package.nix index 417bd7392b524..109fe4c512ca5 100644 --- a/pkgs/by-name/ad/adapta-backgrounds/package.nix +++ b/pkgs/by-name/ad/adapta-backgrounds/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "adapta-backgrounds"; @@ -12,13 +20,20 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ glib ]; meta = with lib; { description = "Wallpaper collection for adapta-project"; homepage = "https://github.com/adapta-project/adapta-backgrounds"; - license = with licenses; [ gpl2 cc-by-sa-40 ]; + license = with licenses; [ + gpl2 + cc-by-sa-40 + ]; platforms = platforms.all; maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/by-name/ad/adapta-gtk-theme/package.nix b/pkgs/by-name/ad/adapta-gtk-theme/package.nix index 7b9164ef44249..67d3ffe76968c 100644 --- a/pkgs/by-name/ad/adapta-gtk-theme/package.nix +++ b/pkgs/by-name/ad/adapta-gtk-theme/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, parallel, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine, gnome-shell }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + parallel, + sassc, + inkscape, + libxml2, + glib, + gdk-pixbuf, + librsvg, + gtk-engine-murrine, + gnome-shell, +}: stdenv.mkDerivation rec { pname = "adapta-gtk-theme"; @@ -42,7 +57,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Adaptive GTK theme based on Material Design Guidelines"; homepage = "https://github.com/adapta-project/adapta-gtk-theme"; - license = with licenses; [ gpl2 cc-by-sa-30 ]; + license = with licenses; [ + gpl2 + cc-by-sa-30 + ]; platforms = platforms.linux; maintainers = [ maintainers.romildo ]; }; diff --git a/pkgs/by-name/ad/adapta-kde-theme/package.nix b/pkgs/by-name/ad/adapta-kde-theme/package.nix index 42d29f8127ed9..67ba82d425564 100644 --- a/pkgs/by-name/ad/adapta-kde-theme/package.nix +++ b/pkgs/by-name/ad/adapta-kde-theme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "adapta-kde-theme"; diff --git a/pkgs/by-name/ad/adbfs-rootless/package.nix b/pkgs/by-name/ad/adbfs-rootless/package.nix index e959b88c6c6a0..4fb50b55eb1a8 100644 --- a/pkgs/by-name/ad/adbfs-rootless/package.nix +++ b/pkgs/by-name/ad/adbfs-rootless/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, fuse -, android-tools +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + fuse, + android-tools, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ad/adbtuifm/package.nix b/pkgs/by-name/ad/adbtuifm/package.nix index 4fae8a4956575..f92b0c16653f9 100644 --- a/pkgs/by-name/ad/adbtuifm/package.nix +++ b/pkgs/by-name/ad/adbtuifm/package.nix @@ -17,8 +17,8 @@ buildGoModule rec { description = "TUI-based file manager for the Android Debug Bridge"; homepage = "https://github.com/darkhz/adbtuifm"; changelog = "https://github.com/darkhz/adbtuifm/releases/tag/v${version}"; - license = with licenses; [mit]; - maintainers = with maintainers; [daru-san]; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ daru-san ]; mainProgram = "adbtuifm"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/ad/addic7ed-cli/package.nix b/pkgs/by-name/ad/addic7ed-cli/package.nix index 9d5fef14bf253..8cf1b4eaf011e 100644 --- a/pkgs/by-name/ad/addic7ed-cli/package.nix +++ b/pkgs/by-name/ad/addic7ed-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ad/addlicense/package.nix b/pkgs/by-name/ad/addlicense/package.nix index 532bf3464fb68..fdff6455a6301 100644 --- a/pkgs/by-name/ad/addlicense/package.nix +++ b/pkgs/by-name/ad/addlicense/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { diff --git a/pkgs/by-name/ad/adementary-theme/package.nix b/pkgs/by-name/ad/adementary-theme/package.nix index 4b47f6c2d3e36..67aafe49a2994 100644 --- a/pkgs/by-name/ad/adementary-theme/package.nix +++ b/pkgs/by-name/ad/adementary-theme/package.nix @@ -1,13 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, gtk3, sassc }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk3, + sassc, +}: stdenv.mkDerivation rec { pname = "adementary-theme"; version = "201905r1"; src = fetchFromGitHub { - owner = "hrdwrrsk"; - repo = pname; - rev = version; + owner = "hrdwrrsk"; + repo = pname; + rev = version; sha256 = "14y5s18g9r2c1ciw1skfksn09gvqgy8vjvwbr0z8gacf0jc2apqk"; }; @@ -28,9 +34,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Adwaita-based GTK theme with design influence from elementary OS and Vertex GTK theme"; - homepage = "https://github.com/hrdwrrsk/adementary-theme"; - license = licenses.gpl3; + homepage = "https://github.com/hrdwrrsk/adementary-theme"; + license = licenses.gpl3; maintainers = [ ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ad/adenum/package.nix b/pkgs/by-name/ad/adenum/package.nix index d547bd5c9ebcf..3b79044ca6365 100644 --- a/pkgs/by-name/ad/adenum/package.nix +++ b/pkgs/by-name/ad/adenum/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, john -, python3 +{ + lib, + fetchFromGitHub, + john, + python3, }: python3.pkgs.buildPythonApplication { @@ -16,13 +17,16 @@ python3.pkgs.buildPythonApplication { hash = "sha256-8s4Kmt4ZjYbQGGVDWKfuRZ6kthcL8FiQytoq9Koy7Kc="; }; - propagatedBuildInputs = with python3.pkgs; [ - impacket - pwntools - python-ldap - ] ++ [ - john - ]; + propagatedBuildInputs = + with python3.pkgs; + [ + impacket + pwntools + python-ldap + ] + ++ [ + john + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ad/adguardian/package.nix b/pkgs/by-name/ad/adguardian/package.nix index 425974fee511e..855ba2d459f46 100644 --- a/pkgs/by-name/ad/adguardian/package.nix +++ b/pkgs/by-name/ad/adguardian/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ad/adi1090x-plymouth-themes/package.nix b/pkgs/by-name/ad/adi1090x-plymouth-themes/package.nix index d5ff1d0018a9a..5aa7e78ac11a8 100644 --- a/pkgs/by-name/ad/adi1090x-plymouth-themes/package.nix +++ b/pkgs/by-name/ad/adi1090x-plymouth-themes/package.nix @@ -5,59 +5,63 @@ unzip, # To select only certain themes, pass `selected_themes` as a list of strings. # reference ./shas.nix for available themes - selected_themes ? [], -}: let + selected_themes ? [ ], +}: +let version = "1.0"; # this file is generated via ./update.sh # borrowed from pkgs/data/fonts/nerdfonts themeShas = import ./shas.nix; knownThemes = builtins.attrNames themeShas; selectedThemes = - if (selected_themes == []) - then knownThemes - else let - unknown = lib.subtractLists knownThemes selected_themes; - in - if (unknown != []) - then throw "Unknown theme(s): ${lib.concatStringsSep " " unknown}" - else selected_themes; + if (selected_themes == [ ]) then + knownThemes + else + let + unknown = lib.subtractLists knownThemes selected_themes; + in + if (unknown != [ ]) then + throw "Unknown theme(s): ${lib.concatStringsSep " " unknown}" + else + selected_themes; srcs = lib.lists.forEach selectedThemes ( - name: (fetchurl { + name: + (fetchurl { url = themeShas.${name}.url; sha256 = themeShas.${name}.sha; }) ); in - stdenv.mkDerivation { - pname = "adi1090x-plymouth-themes"; - inherit version srcs; +stdenv.mkDerivation { + pname = "adi1090x-plymouth-themes"; + inherit version srcs; - nativeBuildInputs = [ - unzip - ]; + nativeBuildInputs = [ + unzip + ]; - sourceRoot = "."; - unpackCmd = "tar xzf $curSrc"; + sourceRoot = "."; + unpackCmd = "tar xzf $curSrc"; - installPhase = '' - mkdir -p $out/share/plymouth/themes - for theme in ${toString selectedThemes}; do - mv $theme $out/share/plymouth/themes/$theme - done - find $out/share/plymouth/themes/ -name \*.plymouth -exec sed -i "s@\/usr\/@$out\/@" {} \; - ''; + installPhase = '' + mkdir -p $out/share/plymouth/themes + for theme in ${toString selectedThemes}; do + mv $theme $out/share/plymouth/themes/$theme + done + find $out/share/plymouth/themes/ -name \*.plymouth -exec sed -i "s@\/usr\/@$out\/@" {} \; + ''; - meta = with lib; { - description = "Plymouth boot themes from adi1090x"; - longDescription = '' - A variety of plymouth boot screens by adi1090x. Using the default value - of `selected_themes` will install all themes (~524M). Consider overriding - this with a list of the string names of each theme to install. Check - ./shas.nix for available themes. - ''; - homepage = "https://github.com/adi1090x/plymouth-themes"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [slwst]; - }; - } + meta = with lib; { + description = "Plymouth boot themes from adi1090x"; + longDescription = '' + A variety of plymouth boot screens by adi1090x. Using the default value + of `selected_themes` will install all themes (~524M). Consider overriding + this with a list of the string names of each theme to install. Check + ./shas.nix for available themes. + ''; + homepage = "https://github.com/adi1090x/plymouth-themes"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ slwst ]; + }; +} diff --git a/pkgs/by-name/ad/adidnsdump/package.nix b/pkgs/by-name/ad/adidnsdump/package.nix index dc2268d892d9f..97b568ab074aa 100644 --- a/pkgs/by-name/ad/adidnsdump/package.nix +++ b/pkgs/by-name/ad/adidnsdump/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ad/adif-multitool/package.nix b/pkgs/by-name/ad/adif-multitool/package.nix index 8dc0f816513bf..16a607c8ddd03 100644 --- a/pkgs/by-name/ad/adif-multitool/package.nix +++ b/pkgs/by-name/ad/adif-multitool/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "adif-multitool"; diff --git a/pkgs/by-name/ad/adl/package.nix b/pkgs/by-name/ad/adl/package.nix index 46e2bc492a87b..0412846962fc0 100644 --- a/pkgs/by-name/ad/adl/package.nix +++ b/pkgs/by-name/ad/adl/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, makeWrapper -, animdl -, frece -, fzf -, mpv -, perl -, trackma -, ueberzug -, ... +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + animdl, + frece, + fzf, + mpv, + perl, + trackma, + ueberzug, + ... }: stdenvNoCC.mkDerivation rec { pname = "adl"; diff --git a/pkgs/by-name/ad/adminer/package.nix b/pkgs/by-name/ad/adminer/package.nix index e77aac26641e0..78a4f0ef6f856 100644 --- a/pkgs/by-name/ad/adminer/package.nix +++ b/pkgs/by-name/ad/adminer/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, php, nix-update-script }: +{ + lib, + stdenv, + fetchurl, + php, + nix-update-script, +}: stdenv.mkDerivation rec { version = "4.8.1"; @@ -39,7 +45,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Database management in a single PHP file"; homepage = "https://www.adminer.org"; - license = with licenses; [ asl20 gpl2Only ]; + license = with licenses; [ + asl20 + gpl2Only + ]; maintainers = with maintainers; [ jtojnar sstef diff --git a/pkgs/by-name/ad/adminerevo/package.nix b/pkgs/by-name/ad/adminerevo/package.nix index 398d007671002..d286331b0b609 100644 --- a/pkgs/by-name/ad/adminerevo/package.nix +++ b/pkgs/by-name/ad/adminerevo/package.nix @@ -1,11 +1,12 @@ -{ lib -, pkgs -, stdenvNoCC -, fetchFromGitHub -, php -, nix-update-script -, theme ? null -, plugins ? [] +{ + lib, + pkgs, + stdenvNoCC, + fetchFromGitHub, + php, + nix-update-script, + theme ? null, + plugins ? [ ], }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -47,7 +48,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { mkdir -p $out/plugins cp plugins/plugin.php $out/plugins/plugin.php - ${lib.optionalString (plugins != []) '' + ${lib.optionalString (plugins != [ ]) '' cp plugins/*.php $out/plugins/ cp ${pkgs.writeText "$out/plugins.json" '' ${toString (builtins.toJSON plugins)} @@ -64,7 +65,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = with lib; { description = "Database management in a single PHP file"; homepage = "https://docs.adminerevo.org"; - license = with licenses; [ asl20 gpl2Only ]; + license = with licenses; [ + asl20 + gpl2Only + ]; maintainers = with maintainers; [ shyim ]; diff --git a/pkgs/by-name/ad/adms/package.nix b/pkgs/by-name/ad/adms/package.nix index 7b7e2a1af63a1..9546378e01b20 100644 --- a/pkgs/by-name/ad/adms/package.nix +++ b/pkgs/by-name/ad/adms/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, flex, bison, gperf, - libxml2, perl, perlPackages, gd }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + flex, + bison, + gperf, + libxml2, + perl, + perlPackages, + gd, +}: stdenv.mkDerivation rec { version = "2.3.7"; @@ -13,14 +24,22 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ flex bison gperf libxml2 perl gd perlPackages.XMLLibXML ]; + buildInputs = [ + flex + bison + gperf + libxml2 + perl + gd + perlPackages.XMLLibXML + ]; configureFlags = [ "--enable-maintainer-mode" ]; meta = { description = "automatic device model synthesizer"; homepage = "https://github.com/Qucs/adms"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [disassembler]; + maintainers = with lib.maintainers; [ disassembler ]; platforms = with lib.platforms; linux; }; } diff --git a/pkgs/by-name/ad/adns/package.nix b/pkgs/by-name/ad/adns/package.nix index eeb6c07bf11d0..22088853570a5 100644 --- a/pkgs/by-name/ad/adns/package.nix +++ b/pkgs/by-name/ad/adns/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, gnum4, gitUpdater }: +{ + stdenv, + lib, + fetchurl, + gnum4, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "adns"; @@ -16,8 +22,7 @@ stdenv.mkDerivation rec { configureFlags = lib.optional stdenv.hostPlatform.isStatic "--disable-dynamic"; - preConfigure = - lib.optionalString stdenv.hostPlatform.isDarwin "sed -i -e 's|-Wl,-soname=$(SHLIBSONAME)||' configure"; + preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin "sed -i -e 's|-Wl,-soname=$(SHLIBSONAME)||' configure"; # Autogenerated headers miss interdependencies in Makefile, fail parallel build: # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51329 @@ -26,10 +31,13 @@ stdenv.mkDerivation rec { # https://www.mail-archive.com/nix-dev@cs.uu.nl/msg01347.html for details. doCheck = false; - postInstall = let suffix = lib.versions.majorMinor version; - in lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id $out/lib/libadns.so.${suffix} $out/lib/libadns.so.${suffix} - ''; + postInstall = + let + suffix = lib.versions.majorMinor version; + in + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id $out/lib/libadns.so.${suffix} $out/lib/libadns.so.${suffix} + ''; # darwin executables fail, but I don't want to fail the 100-500 packages depending on this lib doInstallCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/ad/adreaper/package.nix b/pkgs/by-name/ad/adreaper/package.nix index bf5bb470f3ec0..77c6129d3ea37 100644 --- a/pkgs/by-name/ad/adreaper/package.nix +++ b/pkgs/by-name/ad/adreaper/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ad/adrgen/package.nix b/pkgs/by-name/ad/adrgen/package.nix index caa3af446b0a4..e018fd97c0832 100644 --- a/pkgs/by-name/ad/adrgen/package.nix +++ b/pkgs/by-name/ad/adrgen/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -, testers -, adrgen +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + testers, + adrgen, }: buildGoModule rec { diff --git a/pkgs/by-name/ad/adriconf/package.nix b/pkgs/by-name/ad/adriconf/package.nix index fae7c99b8a81b..6f69fe466fc95 100644 --- a/pkgs/by-name/ad/adriconf/package.nix +++ b/pkgs/by-name/ad/adriconf/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitLab -, cmake -, pkg-config -, libdrm -, libGL -, atkmm -, pcre -, gtkmm4 -, pugixml -, mesa -, pciutils +{ + stdenv, + lib, + fetchFromGitLab, + cmake, + pkg-config, + libdrm, + libGL, + atkmm, + pcre, + gtkmm4, + pugixml, + mesa, + pciutils, }: stdenv.mkDerivation rec { @@ -25,8 +26,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-0XTsYeS4tNAnGhuJ81fmjHhFS6fVq1lirui5b+ojxTQ="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libdrm libGL atkmm pcre gtkmm4 pugixml mesa pciutils ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libdrm + libGL + atkmm + pcre + gtkmm4 + pugixml + mesa + pciutils + ]; cmakeFlags = [ "-DENABLE_UNIT_TESTS=off" ]; diff --git a/pkgs/by-name/ad/adrs/package.nix b/pkgs/by-name/ad/adrs/package.nix index 6cd0994989473..5282a8a9dc8af 100644 --- a/pkgs/by-name/ad/adrs/package.nix +++ b/pkgs/by-name/ad/adrs/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = { description = "Command-line tool for managing Architectural Decision Records"; homepage = "https://github.com/joshrotenberg/adrs"; - license = with lib.licenses; [ mit asl20 ]; + license = with lib.licenses; [ + mit + asl20 + ]; maintainers = with lib.maintainers; [ dannixon ]; mainProgram = "adrs"; }; diff --git a/pkgs/by-name/ad/adslib/package.nix b/pkgs/by-name/ad/adslib/package.nix index 49b54960b7e68..4b3baa6c80015 100644 --- a/pkgs/by-name/ad/adslib/package.nix +++ b/pkgs/by-name/ad/adslib/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "adslib"; diff --git a/pkgs/by-name/ad/advancecomp/package.nix b/pkgs/by-name/ad/advancecomp/package.nix index 8175b3a1da8aa..fe6d79f732ca8 100644 --- a/pkgs/by-name/ad/advancecomp/package.nix +++ b/pkgs/by-name/ad/advancecomp/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + zlib, }: stdenv.mkDerivation rec { @@ -27,7 +29,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Set of tools to optimize deflate-compressed files"; - license = licenses.gpl3 ; + license = licenses.gpl3; maintainers = [ maintainers.raskin ]; platforms = platforms.linux ++ platforms.darwin; homepage = "https://github.com/amadvance/advancecomp"; diff --git a/pkgs/by-name/ad/adwaita-icon-theme/package.nix b/pkgs/by-name/ad/adwaita-icon-theme/package.nix index f4bf4257c4a34..567c1e1527a93 100644 --- a/pkgs/by-name/ad/adwaita-icon-theme/package.nix +++ b/pkgs/by-name/ad/adwaita-icon-theme/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gnome -, gtk3 -, gdk-pixbuf -, librsvg -, hicolor-icon-theme +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gnome, + gtk3, + gdk-pixbuf, + librsvg, + hicolor-icon-theme, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ad/adwsteamgtk/package.nix b/pkgs/by-name/ad/adwsteamgtk/package.nix index 0dbd582a163f9..2baa58d3c93bc 100644 --- a/pkgs/by-name/ad/adwsteamgtk/package.nix +++ b/pkgs/by-name/ad/adwsteamgtk/package.nix @@ -1,13 +1,14 @@ -{ blueprint-compiler -, desktop-file-utils -, fetchFromGitHub -, lib -, libadwaita -, libportal-gtk4 -, meson -, ninja -, python3Packages -, wrapGAppsHook4 +{ + blueprint-compiler, + desktop-file-utils, + fetchFromGitHub, + lib, + libadwaita, + libportal-gtk4, + meson, + ninja, + python3Packages, + wrapGAppsHook4, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ae/aefs/package.nix b/pkgs/by-name/ae/aefs/package.nix index c56a4b189e152..024601c772fd9 100644 --- a/pkgs/by-name/ae/aefs/package.nix +++ b/pkgs/by-name/ae/aefs/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, fuse -, git +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + fuse, + git, }: stdenv.mkDerivation { @@ -27,7 +28,10 @@ stdenv.mkDerivation { # $ grep -R FUSE_USE_VERSION configureFlags = lib.optional stdenv.hostPlatform.isDarwin "CPPFLAGS=-DFUSE_USE_VERSION=26"; - nativeBuildInputs = [ autoreconfHook git ]; + nativeBuildInputs = [ + autoreconfHook + git + ]; buildInputs = [ fuse ]; diff --git a/pkgs/by-name/ae/aemu/package.nix b/pkgs/by-name/ae/aemu/package.nix index c39c68cbce1e4..03722e15320c6 100644 --- a/pkgs/by-name/ae/aemu/package.nix +++ b/pkgs/by-name/ae/aemu/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitiles, cmake, darwin }: +{ + lib, + stdenv, + fetchFromGitiles, + cmake, + darwin, +}: stdenv.mkDerivation { pname = "aemu"; @@ -33,8 +39,17 @@ stdenv.mkDerivation { maintainers = with maintainers; [ qyliss ]; # The BSD license comes from host-common/VpxFrameParser.cpp, which # incorporates some code from libvpx, which uses the 3-clause BSD license. - license = with licenses; [ asl20 mit bsd3 ]; + license = with licenses; [ + asl20 + mit + bsd3 + ]; # See base/include/aemu/base/synchronization/Lock.h - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/by-name/ae/aerc/package.nix b/pkgs/by-name/ae/aerc/package.nix index 6291681a4fbf3..4fae126d3c0d3 100644 --- a/pkgs/by-name/ae/aerc/package.nix +++ b/pkgs/by-name/ae/aerc/package.nix @@ -1,14 +1,15 @@ -{ lib -, buildGoModule -, fetchFromSourcehut -, fetchpatch -, ncurses -, notmuch -, scdoc -, python3Packages -, w3m -, dante -, gawk +{ + lib, + buildGoModule, + fetchFromSourcehut, + fetchpatch, + ncurses, + notmuch, + scdoc, + python3Packages, + w3m, + dante, + gawk, }: buildGoModule rec { @@ -35,7 +36,7 @@ buildGoModule rec { # patch to fix a encoding problem with gpg signed messages (fetchpatch { - url ="https://git.sr.ht/~rjarry/aerc/commit/7346d20.patch"; + url = "https://git.sr.ht/~rjarry/aerc/commit/7346d20.patch"; hash = "sha256-OCm8BcovYN2IDSgslZklQxkGVkSYQ8HLCrf2+DRB2mM="; }) ]; @@ -55,7 +56,11 @@ buildGoModule rec { python3Packages.vobject ]; - buildInputs = [ python3Packages.python notmuch gawk ]; + buildInputs = [ + python3Packages.python + notmuch + gawk + ]; installPhase = '' runHook preInstall @@ -69,9 +74,19 @@ buildGoModule rec { wrapProgram $out/bin/aerc \ --prefix PATH : ${lib.makeBinPath [ ncurses ]} wrapProgram $out/libexec/aerc/filters/html \ - --prefix PATH : ${lib.makeBinPath [ w3m dante ]} + --prefix PATH : ${ + lib.makeBinPath [ + w3m + dante + ] + } wrapProgram $out/libexec/aerc/filters/html-unsafe \ - --prefix PATH : ${lib.makeBinPath [ w3m dante ]} + --prefix PATH : ${ + lib.makeBinPath [ + w3m + dante + ] + } patchShebangs $out/libexec/aerc/filters ''; diff --git a/pkgs/by-name/ae/aeron-cpp/package.nix b/pkgs/by-name/ae/aeron-cpp/package.nix index 630a94d9b4919..4504ed3d27813 100644 --- a/pkgs/by-name/ae/aeron-cpp/package.nix +++ b/pkgs/by-name/ae/aeron-cpp/package.nix @@ -11,7 +11,7 @@ makeWrapper, patchelf, stdenv, - zlib + zlib, }: let @@ -125,4 +125,3 @@ stdenv.mkDerivation { ]; }; } - diff --git a/pkgs/by-name/ae/aeron/package.nix b/pkgs/by-name/ae/aeron/package.nix index 2addc87feaa8e..e24a4db1c0122 100644 --- a/pkgs/by-name/ae/aeron/package.nix +++ b/pkgs/by-name/ae/aeron/package.nix @@ -3,7 +3,7 @@ stdenv, fetchMavenArtifact, jdk11, - makeWrapper + makeWrapper, }: let @@ -70,7 +70,8 @@ let aeronAll = aeronAll_1_44_1; aeronSamples = aeronSamples_1_44_1; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; diff --git a/pkgs/by-name/ae/aerospike/package.nix b/pkgs/by-name/ae/aerospike/package.nix index 239e7cf675373..b75d281b3126f 100644 --- a/pkgs/by-name/ae/aerospike/package.nix +++ b/pkgs/by-name/ae/aerospike/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, cmake, libtool, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + cmake, + libtool, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "aerospike-server"; @@ -12,8 +22,16 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ autoconf automake cmake libtool ]; - buildInputs = [ openssl zlib ]; + nativeBuildInputs = [ + autoconf + automake + cmake + libtool + ]; + buildInputs = [ + openssl + zlib + ]; dontUseCmakeConfigure = true; diff --git a/pkgs/by-name/ae/aescrypt/package.nix b/pkgs/by-name/ae/aescrypt/package.nix index 2517724c8c392..14cbc18efac56 100644 --- a/pkgs/by-name/ae/aescrypt/package.nix +++ b/pkgs/by-name/ae/aescrypt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libiconv }: +{ + lib, + stdenv, + fetchurl, + libiconv, +}: stdenv.mkDerivation rec { version = "3.16"; @@ -16,7 +21,7 @@ stdenv.mkDerivation rec { cd src ''; - installPhase= '' + installPhase = '' mkdir -p $out/bin cp aescrypt $out/bin cp aescrypt_keygen $out/bin @@ -26,10 +31,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Encrypt files with Advanced Encryption Standard (AES)"; - homepage = "https://www.aescrypt.com/"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ lovek323 qknight ]; - platforms = lib.platforms.all; + homepage = "https://www.aescrypt.com/"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ + lovek323 + qknight + ]; + platforms = lib.platforms.all; hydraPlatforms = with platforms; unix; }; } diff --git a/pkgs/by-name/ae/aesfix/package.nix b/pkgs/by-name/ae/aesfix/package.nix index fed9ace264c46..4a48a5c553e5b 100644 --- a/pkgs/by-name/ae/aesfix/package.nix +++ b/pkgs/by-name/ae/aesfix/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ae/aeskeyfind/package.nix b/pkgs/by-name/ae/aeskeyfind/package.nix index 4ce27f5eca660..5a472b82e7b69 100644 --- a/pkgs/by-name/ae/aeskeyfind/package.nix +++ b/pkgs/by-name/ae/aeskeyfind/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { @@ -28,4 +29,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/by-name/ae/aespipe/package.nix b/pkgs/by-name/ae/aespipe/package.nix index 83586253cd639..1538490c19278 100644 --- a/pkgs/by-name/ae/aespipe/package.nix +++ b/pkgs/by-name/ae/aespipe/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, sharutils, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + sharutils, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "aespipe"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - configureFlags = [ "--enable-padlock" "--enable-intelaes" ]; + configureFlags = [ + "--enable-padlock" + "--enable-intelaes" + ]; postInstall = '' cp bz2aespipe $out/bin diff --git a/pkgs/by-name/ae/aether-lv2/package.nix b/pkgs/by-name/ae/aether-lv2/package.nix index afec5763022d3..f82464b18404f 100644 --- a/pkgs/by-name/ae/aether-lv2/package.nix +++ b/pkgs/by-name/ae/aether-lv2/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, lv2, libX11, libGL, libGLU, mesa, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, + libX11, + libGL, + libGLU, + mesa, + cmake, +}: stdenv.mkDerivation rec { pname = "aether-lv2"; @@ -15,7 +25,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ - lv2 libX11 libGL libGLU mesa + lv2 + libX11 + libGL + libGLU + mesa ]; env.NIX_CFLAGS_COMPILE = toString [ diff --git a/pkgs/by-name/ae/aewan/package.nix b/pkgs/by-name/ae/aewan/package.nix index dcc59560a246d..6a93cc9de7744 100644 --- a/pkgs/by-name/ae/aewan/package.nix +++ b/pkgs/by-name/ae/aewan/package.nix @@ -1,6 +1,14 @@ -{ lib, gccStdenv, fetchurl, fetchpatch, zlib, ncurses }: +{ + lib, + gccStdenv, + fetchurl, + fetchpatch, + zlib, + ncurses, +}: -let stdenv = gccStdenv; +let + stdenv = gccStdenv; in stdenv.mkDerivation rec { pname = "aewan"; @@ -22,7 +30,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ zlib ncurses ]; + buildInputs = [ + zlib + ncurses + ]; meta = { description = "Ascii-art Editor Without A Name"; diff --git a/pkgs/by-name/af/afetch/package.nix b/pkgs/by-name/af/afetch/package.nix index 9413666372df3..a959d0786420c 100644 --- a/pkgs/by-name/af/afetch/package.nix +++ b/pkgs/by-name/af/afetch/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -22,7 +23,10 @@ stdenv.mkDerivation rec { description = "Fetch program written in C"; homepage = "https://github.com/13-CF/afetch"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ dan4ik605743 jk ]; + maintainers = with maintainers; [ + dan4ik605743 + jk + ]; platforms = platforms.linux; mainProgram = "afetch"; }; diff --git a/pkgs/by-name/af/afew/package.nix b/pkgs/by-name/af/afew/package.nix index 993b9862fb2f5..912f7ec3d301c 100644 --- a/pkgs/by-name/af/afew/package.nix +++ b/pkgs/by-name/af/afew/package.nix @@ -1,4 +1,11 @@ -{ lib, python3Packages, fetchPypi, pkgs, testers, afew }: +{ + lib, + python3Packages, + fetchPypi, + pkgs, + testers, + afew, +}: python3Packages.buildPythonApplication rec { pname = "afew"; @@ -28,12 +35,14 @@ python3Packages.buildPythonApplication rec { setuptools ]; - nativeCheckInputs = [ - pkgs.notmuch - ] ++ (with python3Packages; [ - freezegun - pytestCheckHook - ]); + nativeCheckInputs = + [ + pkgs.notmuch + ] + ++ (with python3Packages; [ + freezegun + pytestCheckHook + ]); makeWrapperArgs = [ ''--prefix PATH ':' "${pkgs.notmuch}/bin"'' diff --git a/pkgs/by-name/af/afflib/package.nix b/pkgs/by-name/af/afflib/package.nix index eff94a276cd84..2457279e6b58a 100644 --- a/pkgs/by-name/af/afflib/package.nix +++ b/pkgs/by-name/af/afflib/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, zlib, curl, expat, fuse, openssl -, autoreconfHook, python3, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + curl, + expat, + fuse, + openssl, + autoreconfHook, + python3, + libiconv, }: stdenv.mkDerivation rec { @@ -14,7 +24,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ zlib curl expat openssl python3 ] + buildInputs = + [ + zlib + curl + expat + openssl + python3 + ] ++ lib.optionals (with stdenv; isLinux || isDarwin) [ fuse ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; diff --git a/pkgs/by-name/af/afio/package.nix b/pkgs/by-name/af/afio/package.nix index 4f01c1c58ba6c..c33888ee293f5 100644 --- a/pkgs/by-name/af/afio/package.nix +++ b/pkgs/by-name/af/afio/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch } : +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { version = "2.5.2"; @@ -13,9 +18,9 @@ stdenv.mkDerivation rec { patches = [ /* - * A patch to simplify the installation and for removing the - * hard coded dependency on GCC. - */ + A patch to simplify the installation and for removing the + hard coded dependency on GCC. + */ ./0001-makefile-fix-installation.patch # fix darwin build (include headers) @@ -33,10 +38,10 @@ stdenv.mkDerivation rec { description = "Fault tolerant cpio archiver targeting backups"; platforms = lib.platforms.all; /* - * Licensing is complicated due to the age of the code base, but - * generally free. See the file ``afio_license_issues_v5.txt`` for - * a comprehensive discussion. - */ + Licensing is complicated due to the age of the code base, but + generally free. See the file ``afio_license_issues_v5.txt`` for + a comprehensive discussion. + */ license = lib.licenses.free; mainProgram = "afio"; }; diff --git a/pkgs/by-name/af/afpfs-ng/package.nix b/pkgs/by-name/af/afpfs-ng/package.nix index 10d7c46080f3b..75199dda96e99 100644 --- a/pkgs/by-name/af/afpfs-ng/package.nix +++ b/pkgs/by-name/af/afpfs-ng/package.nix @@ -1,13 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, fuse, readline, libgcrypt, gmp }: +{ + lib, + stdenv, + fetchFromGitHub, + fuse, + readline, + libgcrypt, + gmp, +}: stdenv.mkDerivation { pname = "afpfs-ng"; version = "0.8.2"; src = fetchFromGitHub { - owner = "simonvetter"; - repo = "afpfs-ng"; - rev = "f6e24eb73c9283732c3b5d9cb101a1e2e4fade3e"; + owner = "simonvetter"; + repo = "afpfs-ng"; + rev = "f6e24eb73c9283732c3b5d9cb101a1e2e4fade3e"; sha256 = "125jx1rsqkiifcffyjb05b2s36rllckdgjaf1bay15k9gzhwwldz"; }; @@ -17,14 +25,19 @@ stdenv.mkDerivation { # `full_url'; afpcmd-cmdline_afp.o:/build/source/cmdline/cmdline_afp.c:27: first defined here env.NIX_CFLAGS_COMPILE = "-fcommon"; - buildInputs = [ fuse readline libgcrypt gmp ]; + buildInputs = [ + fuse + readline + libgcrypt + gmp + ]; meta = with lib; { - homepage = "https://github.com/simonvetter/afpfs-ng"; + homepage = "https://github.com/simonvetter/afpfs-ng"; description = "Client implementation of the Apple Filing Protocol"; - license = licenses.gpl2Only; + license = licenses.gpl2Only; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/af/aften/package.nix b/pkgs/by-name/af/aften/package.nix index 8dd01cc4eabe3..36e1495419765 100644 --- a/pkgs/by-name/af/aften/package.nix +++ b/pkgs/by-name/af/aften/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "aften"; diff --git a/pkgs/by-name/af/afterburn/package.nix b/pkgs/by-name/af/afterburn/package.nix index 918a9ab7fc200..13388b785ce5e 100644 --- a/pkgs/by-name/af/afterburn/package.nix +++ b/pkgs/by-name/af/afterburn/package.nix @@ -1,4 +1,10 @@ -{ lib, openssl, pkg-config, fetchFromGitHub, rustPlatform }: +{ + lib, + openssl, + pkg-config, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "afterburn"; diff --git a/pkgs/by-name/af/afterglow-cursors-recolored/package.nix b/pkgs/by-name/af/afterglow-cursors-recolored/package.nix index 801e2eca40a98..94f8460645fe5 100644 --- a/pkgs/by-name/af/afterglow-cursors-recolored/package.nix +++ b/pkgs/by-name/af/afterglow-cursors-recolored/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, themeVariants ? [] -, catppuccinColorVariants ? [] -, draculaColorVariants ? [] -, gruvboxColorVariants ? [] -, originalColorVariants ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + themeVariants ? [ ], + catppuccinColorVariants ? [ ], + draculaColorVariants ? [ ], + gruvboxColorVariants ? [ ], + originalColorVariants ? [ ], }: let @@ -68,59 +69,75 @@ let in lib.checkListOfEnum "${pname}: theme variants" availableThemeVariants themeVariants -lib.checkListOfEnum "${pname}: catppuccin color variants" availableColorVariants.Catppuccin catppuccinColorVariants -lib.checkListOfEnum "${pname}: dracula color variants" availableColorVariants.Dracula draculaColorVariants -lib.checkListOfEnum "${pname}: gruvbox color variants" availableColorVariants.Gruvbox gruvboxColorVariants -lib.checkListOfEnum "${pname}: original color variants" availableColorVariants.Original originalColorVariants + lib.checkListOfEnum + "${pname}: catppuccin color variants" + availableColorVariants.Catppuccin + catppuccinColorVariants + lib.checkListOfEnum + "${pname}: dracula color variants" + availableColorVariants.Dracula + draculaColorVariants + lib.checkListOfEnum + "${pname}: gruvbox color variants" + availableColorVariants.Gruvbox + gruvboxColorVariants + lib.checkListOfEnum + "${pname}: original color variants" + availableColorVariants.Original + originalColorVariants -stdenvNoCC.mkDerivation { - inherit pname; - version = "0-unstable-2023-10-04"; + stdenvNoCC.mkDerivation + { + inherit pname; + version = "0-unstable-2023-10-04"; - src = fetchFromGitHub { - owner = "TeddyBearKilla"; - repo = "Afterglow-Cursors-Recolored"; - rev = "940a5d30e52f8c827fa249d2bbcc4af889534888"; - hash = "sha256-GR+d+jrbeIGpqal5krx83PxuQto2PQTO3unQ+jaJf6s="; - }; - - installPhase = let - dist = { - Catppuccin = "cat"; - Dracula = "dracula"; - Gruvbox = "gruvbox"; - }; - withAlternate = xs: xs': if xs != [ ] then xs else xs'; - themeVariants' = withAlternate themeVariants availableThemeVariants; - colorVariants = { - Catppuccin = withAlternate catppuccinColorVariants availableColorVariants.Catppuccin; - Dracula = withAlternate draculaColorVariants availableColorVariants.Dracula; - Gruvbox = withAlternate gruvboxColorVariants availableColorVariants.Gruvbox; - Original = withAlternate originalColorVariants availableColorVariants.Original; + src = fetchFromGitHub { + owner = "TeddyBearKilla"; + repo = "Afterglow-Cursors-Recolored"; + rev = "940a5d30e52f8c827fa249d2bbcc4af889534888"; + hash = "sha256-GR+d+jrbeIGpqal5krx83PxuQto2PQTO3unQ+jaJf6s="; }; - in '' - runHook preInstall - mkdir -p $out/share/icons + installPhase = + let + dist = { + Catppuccin = "cat"; + Dracula = "dracula"; + Gruvbox = "gruvbox"; + }; + withAlternate = xs: xs': if xs != [ ] then xs else xs'; + themeVariants' = withAlternate themeVariants availableThemeVariants; + colorVariants = { + Catppuccin = withAlternate catppuccinColorVariants availableColorVariants.Catppuccin; + Dracula = withAlternate draculaColorVariants availableColorVariants.Dracula; + Gruvbox = withAlternate gruvboxColorVariants availableColorVariants.Gruvbox; + Original = withAlternate originalColorVariants availableColorVariants.Original; + }; + in + '' + runHook preInstall - ${ - lib.concatMapStringsSep "\n" (theme: - lib.concatMapStringsSep "\n" (color: '' - ln -s \ - "$src/colors/${theme}/${color}/dist-${lib.optionalString (theme != "Original") (dist.${theme} + "-")}${lib.toLower color}" \ - "$out/share/icons/Afterglow-Recolored-${theme}-${color}" - '') colorVariants.${theme} - ) themeVariants' - } + mkdir -p $out/share/icons - runHook postInstall - ''; + ${lib.concatMapStringsSep "\n" ( + theme: + lib.concatMapStringsSep "\n" (color: '' + ln -s \ + "$src/colors/${theme}/${color}/dist-${ + lib.optionalString (theme != "Original") (dist.${theme} + "-") + }${lib.toLower color}" \ + "$out/share/icons/Afterglow-Recolored-${theme}-${color}" + '') colorVariants.${theme} + ) themeVariants'} - meta = with lib; { - description = "Recoloring of the Afterglow Cursors x-cursor theme"; - homepage = "https://github.com/TeddyBearKilla/Afterglow-Cursors-Recolored"; - maintainers = with maintainers; [ d3vil0p3r ]; - platforms = platforms.all; - license = licenses.gpl3Plus; - }; -} + runHook postInstall + ''; + + meta = with lib; { + description = "Recoloring of the Afterglow Cursors x-cursor theme"; + homepage = "https://github.com/TeddyBearKilla/Afterglow-Cursors-Recolored"; + maintainers = with maintainers; [ d3vil0p3r ]; + platforms = platforms.all; + license = licenses.gpl3Plus; + }; + } diff --git a/pkgs/by-name/af/afterstep/package.nix b/pkgs/by-name/af/afterstep/package.nix index 6f93f8e1d6a25..efab01fe76ea8 100644 --- a/pkgs/by-name/af/afterstep/package.nix +++ b/pkgs/by-name/af/afterstep/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, dbus -, fltk13 -, gtk2 -, libICE -, libSM -, libtiff -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + dbus, + fltk13, + gtk2, + libICE, + libSM, + libtiff, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -58,7 +59,10 @@ stdenv.mkDerivation (finalAttrs: { libtiff ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/ag/agave/package.nix b/pkgs/by-name/ag/agave/package.nix index cd0344afb3592..8aa0b90190347 100644 --- a/pkgs/by-name/ag/agave/package.nix +++ b/pkgs/by-name/ag/agave/package.nix @@ -1,21 +1,28 @@ -{ lib, fetchurl, stdenv }: +{ + lib, + fetchurl, + stdenv, +}: let pname = "agave"; version = "37"; - mkAg = name: hash: fetchurl { - url = "https://github.com/agarick/agave/releases/download/v${version}/Agave-${name}.ttf"; - sha256 = hash; - name = "Agave-${name}.ttf"; - }; + mkAg = + name: hash: + fetchurl { + url = "https://github.com/agarick/agave/releases/download/v${version}/Agave-${name}.ttf"; + sha256 = hash; + name = "Agave-${name}.ttf"; + }; # There are slashed variants, but with same name so only bundle the default versions for now: fonts = [ (mkAg "Regular" "sha256-vX1VhEgqy9rQ7hPmAgBGxKyIs2QSAYqZC/mL/2BIOrA=") (mkAg "Bold" "sha256-Ax/l/RKyc03law0ThiLac/7HHV4+YxibKzcZnjZs6VI=") ]; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; srcs = fonts; sourceRoot = "."; @@ -34,4 +41,3 @@ in stdenv.mkDerivation { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/ag/agdsn-zsh-config/package.nix b/pkgs/by-name/ag/agdsn-zsh-config/package.nix index 8dae2edf21b6f..e430f3c69ccba 100644 --- a/pkgs/by-name/ag/agdsn-zsh-config/package.nix +++ b/pkgs/by-name/ag/agdsn-zsh-config/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "agdsn-zsh-config"; diff --git a/pkgs/by-name/ag/age-plugin-fido2-hmac/package.nix b/pkgs/by-name/ag/age-plugin-fido2-hmac/package.nix index 6c9571a64d05f..70effd886ea99 100644 --- a/pkgs/by-name/ag/age-plugin-fido2-hmac/package.nix +++ b/pkgs/by-name/ag/age-plugin-fido2-hmac/package.nix @@ -5,7 +5,7 @@ stdenv, libfido2, openssl, - libcbor + libcbor, }: let darwin_arch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "amd64"; @@ -35,7 +35,11 @@ buildGoModule rec { vendorHash = "sha256-h4/tyq9oZt41IfRJmmsLHUpJiPJ7YuFu59ccM7jHsFo="; - ldflags = [ "-s" "-w" "-X main.version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=v${version}" + ]; buildInputs = [ libfido2 ]; diff --git a/pkgs/by-name/ag/age-plugin-tpm/package.nix b/pkgs/by-name/ag/age-plugin-tpm/package.nix index f95f761c580b3..0e8dc385600da 100644 --- a/pkgs/by-name/ag/age-plugin-tpm/package.nix +++ b/pkgs/by-name/ag/age-plugin-tpm/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, swtpm -, openssl +{ + lib, + buildGoModule, + fetchFromGitHub, + swtpm, + openssl, }: buildGoModule rec { @@ -39,6 +40,9 @@ buildGoModule rec { homepage = "https://github.com/Foxboron/age-plugin-tpm"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ kranzes sgo ]; + maintainers = with maintainers; [ + kranzes + sgo + ]; }; } diff --git a/pkgs/by-name/ag/age-plugin-yubikey/package.nix b/pkgs/by-name/ag/age-plugin-yubikey/package.nix index 590dd6d495a9a..4c0446e586fd4 100644 --- a/pkgs/by-name/ag/age-plugin-yubikey/package.nix +++ b/pkgs/by-name/ag/age-plugin-yubikey/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, pcsclite -, apple-sdk_11 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + pcsclite, + apple-sdk_11, }: rustPlatform.buildRustPackage rec { @@ -30,18 +31,26 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pcsclite ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ pcsclite ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ]; meta = with lib; { description = "YubiKey plugin for age"; mainProgram = "age-plugin-yubikey"; homepage = "https://github.com/str4d/age-plugin-yubikey"; changelog = "https://github.com/str4d/age-plugin-yubikey/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ kranzes vtuan10 adamcstephens ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + kranzes + vtuan10 + adamcstephens + ]; }; } diff --git a/pkgs/by-name/ag/age/package.nix b/pkgs/by-name/ag/age/package.nix index 89acb4d14c334..c02c64538177f 100644 --- a/pkgs/by-name/ag/age/package.nix +++ b/pkgs/by-name/ag/age/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + installShellFiles, +}: buildGoModule rec { pname = "age"; @@ -14,7 +20,9 @@ buildGoModule rec { vendorHash = "sha256-5We4OYoexzzSF1AkxuGCUwuYJ3Wra+T6mCcT4XYgzhU="; ldflags = [ - "-s" "-w" "-X main.Version=${version}" + "-s" + "-w" + "-X main.Version=${version}" ]; nativeBuildInputs = [ installShellFiles ]; @@ -35,7 +43,8 @@ buildGoModule rec { # plugin test is flaky, see https://github.com/FiloSottile/age/issues/517 checkFlags = [ - "-skip" "TestScript/plugin" + "-skip" + "TestScript/plugin" ]; meta = with lib; { diff --git a/pkgs/by-name/ag/agedu/package.nix b/pkgs/by-name/ag/agedu/package.nix index 7024e166c9f88..24509c5e00307 100644 --- a/pkgs/by-name/ag/agedu/package.nix +++ b/pkgs/by-name/ag/agedu/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchgit -, cmake -, halibut +{ + lib, + stdenv, + fetchgit, + cmake, + halibut, }: let date = "20241013"; @@ -18,20 +20,23 @@ stdenv.mkDerivation { hash = "sha256-ZU2bVVo//mAVtVtrKPQ20wZHip/AZPmlL2uaCBcc7rw="; }; - nativeBuildInputs = [ cmake halibut ]; + nativeBuildInputs = [ + cmake + halibut + ]; meta = with lib; { description = "Unix utility for tracking down wasted disk space"; longDescription = '' - Most Unix file systems, in their default mode, helpfully record when a - file was last accessed. So if you generated a large amount of data years - ago, forgot to clean it up, and have never used it since, then it ought - in principle to be possible to use those last-access time stamps to tell - the difference between that and a large amount of data you're still - using regularly. + Most Unix file systems, in their default mode, helpfully record when a + file was last accessed. So if you generated a large amount of data years + ago, forgot to clean it up, and have never used it since, then it ought + in principle to be possible to use those last-access time stamps to tell + the difference between that and a large amount of data you're still + using regularly. - agedu uses this information to tell you which files waste disk space when - you haven't used them since a long time. + agedu uses this information to tell you which files waste disk space when + you haven't used them since a long time. ''; homepage = "https://www.chiark.greenend.org.uk/~sgtatham/agedu/"; license = licenses.mit; diff --git a/pkgs/by-name/ag/agenda/package.nix b/pkgs/by-name/ag/agenda/package.nix index 8d06589cb4166..31e4f160488c7 100644 --- a/pkgs/by-name/ag/agenda/package.nix +++ b/pkgs/by-name/ag/agenda/package.nix @@ -1,17 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, pantheon -, meson -, ninja -, python3 -, pkg-config -, vala -, gettext -, glib -, gtk3 -, libgee -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pantheon, + meson, + ninja, + python3, + pkg-config, + vala, + gettext, + glib, + gtk3, + libgee, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -63,4 +65,3 @@ stdenv.mkDerivation rec { mainProgram = "com.github.dahenson.agenda"; }; } - diff --git a/pkgs/by-name/ag/agi/package.nix b/pkgs/by-name/ag/agi/package.nix index 7ffdd959b2ec0..7287cd9eba102 100644 --- a/pkgs/by-name/ag/agi/package.nix +++ b/pkgs/by-name/ag/agi/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenvNoCC -, fetchzip -, autoPatchelfHook -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, wrapGAppsHook3 -, gobject-introspection -, gdk-pixbuf -, jre -, android-tools +{ + lib, + stdenvNoCC, + fetchzip, + autoPatchelfHook, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + wrapGAppsHook3, + gobject-introspection, + gdk-pixbuf, + jre, + android-tools, }: stdenvNoCC.mkDerivation rec { @@ -59,7 +60,12 @@ stdenvNoCC.mkDerivation rec { desktopName = "Android GPU Inspector"; exec = "agi"; icon = "agi"; - categories = [ "Development" "Debugger" "Graphics" "3DGraphics" ]; + categories = [ + "Development" + "Debugger" + "Graphics" + "3DGraphics" + ]; }); meta = with lib; { diff --git a/pkgs/by-name/ag/agkozak-zsh-prompt/package.nix b/pkgs/by-name/ag/agkozak-zsh-prompt/package.nix index 899cda1a5ea5f..30ce835feda98 100644 --- a/pkgs/by-name/ag/agkozak-zsh-prompt/package.nix +++ b/pkgs/by-name/ag/agkozak-zsh-prompt/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "agkozak-zsh-prompt"; diff --git a/pkgs/by-name/ag/agola/package.nix b/pkgs/by-name/ag/agola/package.nix index e5f59a784910b..65eac2d281e18 100644 --- a/pkgs/by-name/ag/agola/package.nix +++ b/pkgs/by-name/ag/agola/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: let diff --git a/pkgs/by-name/ag/ags/package.nix b/pkgs/by-name/ag/ags/package.nix index f47dca9aaad48..09efa681b42ab 100644 --- a/pkgs/by-name/ag/ags/package.nix +++ b/pkgs/by-name/ag/ags/package.nix @@ -63,7 +63,7 @@ buildNpmPackage rec { chmod u+x ./post_install.sh && patchShebangs ./post_install.sh ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = { homepage = "https://github.com/Aylur/ags"; diff --git a/pkgs/by-name/ah/aha/package.nix b/pkgs/by-name/ah/aha/package.nix index 9a545a7f3f31b..279f148e13592 100644 --- a/pkgs/by-name/ah/aha/package.nix +++ b/pkgs/by-name/ah/aha/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "aha"; @@ -23,7 +27,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/theZiz/aha"; changelog = "https://github.com/theZiz/aha/blob/${version}/CHANGELOG"; - license = with licenses; [ lgpl2Plus mpl11 ]; + license = with licenses; [ + lgpl2Plus + mpl11 + ]; maintainers = with maintainers; [ pSub ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/ah/ahcpd/package.nix b/pkgs/by-name/ah/ahcpd/package.nix index f6f483602c1f3..054fbb4c36543 100644 --- a/pkgs/by-name/ah/ahcpd/package.nix +++ b/pkgs/by-name/ah/ahcpd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ahcpd"; diff --git a/pkgs/by-name/ah/ahoviewer/package.nix b/pkgs/by-name/ah/ahoviewer/package.nix index eaec49ec89bba..cf1f95645ffd3 100644 --- a/pkgs/by-name/ah/ahoviewer/package.nix +++ b/pkgs/by-name/ah/ahoviewer/package.nix @@ -1,7 +1,22 @@ -{ config, lib, stdenv, fetchFromGitHub, pkg-config, libconfig -, gtkmm2, glibmm, libxml2, libsecret, curl, libzip -, librsvg, gst_all_1, autoreconfHook, makeWrapper -, useUnrar ? config.ahoviewer.useUnrar or false, unrar +{ + config, + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libconfig, + gtkmm2, + glibmm, + libxml2, + libsecret, + curl, + libzip, + librsvg, + gst_all_1, + autoreconfHook, + makeWrapper, + useUnrar ? config.ahoviewer.useUnrar or false, + unrar, }: assert useUnrar -> unrar != null; @@ -19,10 +34,21 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + ]; buildInputs = [ - glibmm libconfig gtkmm2 glibmm libxml2 - libsecret curl libzip librsvg + glibmm + libconfig + gtkmm2 + glibmm + libxml2 + libsecret + curl + libzip + librsvg gst_all_1.gstreamer gst_all_1.gst-plugins-good gst_all_1.gst-libav @@ -50,5 +76,3 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } - - diff --git a/pkgs/by-name/ai/aiac/package.nix b/pkgs/by-name/ai/aiac/package.nix index ab03b5dac0c69..82b3238ccbb86 100644 --- a/pkgs/by-name/ai/aiac/package.nix +++ b/pkgs/by-name/ai/aiac/package.nix @@ -1,9 +1,13 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "aiac"; version = "5.3.0"; - excludedPackages = [".ci"]; + excludedPackages = [ ".ci" ]; src = fetchFromGitHub { owner = "gofireflyio"; @@ -13,7 +17,11 @@ buildGoModule rec { }; vendorHash = "sha256-uXYin6JITpy3bc7FI/3aJqvCD9cGwGL1qjB8hBUWLQE="; - ldflags = [ "-s" "-w" "-X github.com/gofireflyio/aiac/v4/libaiac.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/gofireflyio/aiac/v4/libaiac.Version=v${version}" + ]; meta = with lib; { description = ''Artificial Intelligence Infrastructure-as-Code Generator.''; diff --git a/pkgs/by-name/ai/aide/package.nix b/pkgs/by-name/ai/aide/package.nix index 6abfd72864f20..43a9849688de5 100644 --- a/pkgs/by-name/ai/aide/package.nix +++ b/pkgs/by-name/ai/aide/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchurl, flex, bison, libmhash, zlib, acl, attr, libselinux, pcre2, pkg-config, libgcrypt }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + libmhash, + zlib, + acl, + attr, + libselinux, + pcre2, + pkg-config, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "aide"; @@ -9,7 +23,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-FmYtxjLRfixWMLgBdS+XkSqOIml8Bl694XXxzDe4OmA="; }; - buildInputs = [ flex bison libmhash zlib acl attr libselinux pcre2 libgcrypt ]; + buildInputs = [ + flex + bison + libmhash + zlib + acl + attr + libselinux + pcre2 + libgcrypt + ]; nativeBuildInputs = [ pkg-config ]; @@ -18,7 +42,7 @@ stdenv.mkDerivation rec { "--with-selinux" "--with-xattr" "--sysconfdir=/etc" - ]; + ]; meta = with lib; { homepage = "https://aide.github.io/"; diff --git a/pkgs/by-name/ai/aiger/package.nix b/pkgs/by-name/ai/aiger/package.nix index 5b9e8f62aa01c..3286990708567 100644 --- a/pkgs/by-name/ai/aiger/package.nix +++ b/pkgs/by-name/ai/aiger/package.nix @@ -1,11 +1,16 @@ -{ lib, stdenv, fetchurl, picosat }: +{ + lib, + stdenv, + fetchurl, + picosat, +}: stdenv.mkDerivation rec { pname = "aiger"; version = "1.9.9"; src = fetchurl { - url = "https://fmv.jku.at/aiger/${pname}-${version}.tar.gz"; + url = "https://fmv.jku.at/aiger/${pname}-${version}.tar.gz"; sha256 = "1ish0dw0nf9gyghxsdhpy1jjiy5wp54c993swp85xp7m6vdx6l0y"; }; @@ -48,13 +53,17 @@ stdenv.mkDerivation rec { cp -v aiger.h $dev/include ''; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; meta = { description = "And-Inverter Graph (AIG) utilities"; - homepage = "https://fmv.jku.at/aiger/"; - license = lib.licenses.mit; + homepage = "https://fmv.jku.at/aiger/"; + license = lib.licenses.mit; maintainers = with lib.maintainers; [ thoughtpolice ]; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/ai/aileron/package.nix b/pkgs/by-name/ai/aileron/package.nix index a178d1e82366f..f57c084e6eb51 100644 --- a/pkgs/by-name/ai/aileron/package.nix +++ b/pkgs/by-name/ai/aileron/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -26,7 +30,10 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/aileron/"; description = "Helvetica font in nine weights"; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.cc0; }; } diff --git a/pkgs/by-name/ai/ain/package.nix b/pkgs/by-name/ai/ain/package.nix index b5fd8cbf9c4d3..3b6d29815fc98 100644 --- a/pkgs/by-name/ai/ain/package.nix +++ b/pkgs/by-name/ai/ain/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ai/aiodnsbrute/package.nix b/pkgs/by-name/ai/aiodnsbrute/package.nix index 0c2f6512d878f..ce66080a27b17 100644 --- a/pkgs/by-name/ai/aiodnsbrute/package.nix +++ b/pkgs/by-name/ai/aiodnsbrute/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ai/airbuddy/package.nix b/pkgs/by-name/ai/airbuddy/package.nix index 19c1ada4408a7..78d011ee52895 100644 --- a/pkgs/by-name/ai/airbuddy/package.nix +++ b/pkgs/by-name/ai/airbuddy/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, _7zz +{ + lib, + stdenvNoCC, + fetchurl, + _7zz, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -44,6 +45,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = with licenses; [ unfree ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; maintainers = with maintainers; [ stepbrobd ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + ]; }; }) diff --git a/pkgs/by-name/ai/aircrack-ng/package.nix b/pkgs/by-name/ai/aircrack-ng/package.nix index b1ee701257391..fdc2284305e83 100644 --- a/pkgs/by-name/ai/aircrack-ng/package.nix +++ b/pkgs/by-name/ai/aircrack-ng/package.nix @@ -1,40 +1,41 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchzip -, makeWrapper -, autoreconfHook -, pkg-config -, openssl -, libgcrypt -, cmocka -, expect -, sqlite -, pcre2 +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + makeWrapper, + autoreconfHook, + pkg-config, + openssl, + libgcrypt, + cmocka, + expect, + sqlite, + pcre2, # Linux -, libpcap -, zlib -, wirelesstools -, iw -, ethtool -, pciutils -, libnl -, usbutils -, tcpdump -, hostapd -, wpa_supplicant -, screen + libpcap, + zlib, + wirelesstools, + iw, + ethtool, + pciutils, + libnl, + usbutils, + tcpdump, + hostapd, + wpa_supplicant, + screen, # Cygwin -, libiconv + libiconv, # options -, enableExperimental ? true -, useGcrypt ? false -, enableAirolib ? true -, enableRegex ? true -, useAirpcap ? stdenv.hostPlatform.isCygwin + enableExperimental ? true, + useGcrypt ? false, + enableAirolib ? true, + enableRegex ? true, + useAirpcap ? stdenv.hostPlatform.isCygwin, }: let airpcap-sdk = fetchzip { @@ -58,9 +59,13 @@ stdenv.mkDerivation rec { }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace lib/osdep/linux.c --replace-warn /usr/local/bin ${lib.escapeShellArg (lib.makeBinPath [ - wirelesstools - ])} + substituteInPlace lib/osdep/linux.c --replace-warn /usr/local/bin ${ + lib.escapeShellArg ( + lib.makeBinPath [ + wirelesstools + ] + ) + } ''; configureFlags = [ @@ -69,35 +74,73 @@ stdenv.mkDerivation rec { (lib.withFeatureAs useAirpcap "airpcap" airpcap-sdk) ]; - nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + autoreconfHook + ]; buildInputs = lib.singleton (if useGcrypt then libgcrypt else openssl) - ++ lib.optionals stdenv.hostPlatform.isLinux [ libpcap zlib libnl iw ethtool pciutils ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libpcap + zlib + libnl + iw + ethtool + pciutils + ] ++ lib.optional (stdenv.hostPlatform.isCygwin && stdenv.hostPlatform.isClang) libiconv ++ lib.optional enableAirolib sqlite ++ lib.optional enableRegex pcre2 ++ lib.optional useAirpcap airpcap-sdk; - nativeCheckInputs = [ cmocka expect ]; + nativeCheckInputs = [ + cmocka + expect + ]; postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram "$out/bin/airmon-ng" --prefix PATH : ${lib.escapeShellArg (lib.makeBinPath [ - ethtool - iw - pciutils - usbutils - ])} + wrapProgram "$out/bin/airmon-ng" --prefix PATH : ${ + lib.escapeShellArg ( + lib.makeBinPath [ + ethtool + iw + pciutils + usbutils + ] + ) + } ''; installCheckTarget = "integration"; - nativeInstallCheckInputs = [ cmocka expect ] ++ lib.optionals stdenv.hostPlatform.isLinux [ tcpdump hostapd wpa_supplicant screen ]; + nativeInstallCheckInputs = + [ + cmocka + expect + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + tcpdump + hostapd + wpa_supplicant + screen + ]; meta = { description = "WiFi security auditing tools suite"; homepage = "https://www.aircrack-ng.org/"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ caralice ]; - platforms = with lib.platforms; builtins.concatLists [ linux darwin cygwin netbsd openbsd freebsd illumos ]; + platforms = + with lib.platforms; + builtins.concatLists [ + linux + darwin + cygwin + netbsd + openbsd + freebsd + illumos + ]; changelog = "https://github.com/aircrack-ng/aircrack-ng/blob/${src.rev}/ChangeLog"; }; } diff --git a/pkgs/by-name/ai/airgeddon/package.nix b/pkgs/by-name/ai/airgeddon/package.nix index a79cf2f70abd9..cea1d37fd4932 100644 --- a/pkgs/by-name/ai/airgeddon/package.nix +++ b/pkgs/by-name/ai/airgeddon/package.nix @@ -1,111 +1,117 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, # Required -, aircrack-ng -, bash -, coreutils-full -, gawk -, gnugrep -, gnused -, iproute2 -, iw -, pciutils -, procps -, tmux + aircrack-ng, + bash, + coreutils-full, + gawk, + gnugrep, + gnused, + iproute2, + iw, + pciutils, + procps, + tmux, # X11 Front -, xterm -, xorg + xterm, + xorg, # what the author calls "Internals" -, usbutils -, wget -, ethtool -, util-linux -, ccze + usbutils, + wget, + ethtool, + util-linux, + ccze, # Optionals # Missing in nixpkgs: beef, hostapd-wpe -, asleap -, bettercap -, bully -, crunch -, dnsmasq -, ettercap -, hashcat -, hcxdumptool -, hcxtools -, hostapd -, john -, lighttpd -, mdk4 -, nftables -, openssl -, pixiewps -, reaverwps-t6x # Could be the upstream version too -, wireshark-cli + asleap, + bettercap, + bully, + crunch, + dnsmasq, + ettercap, + hashcat, + hcxdumptool, + hcxtools, + hostapd, + john, + lighttpd, + mdk4, + nftables, + openssl, + pixiewps, + reaverwps-t6x, # Could be the upstream version too + wireshark-cli, # Undocumented requirements (there is also ping) -, apparmor-bin-utils -, curl -, glibc -, ncurses -, networkmanager -, systemd + apparmor-bin-utils, + curl, + glibc, + ncurses, + networkmanager, + systemd, # Support groups -, supportWpaWps ? true # Most common use-case -, supportHashCracking ? false -, supportEvilTwin ? false -, supportX11 ? false # Allow using xterm instead of tmux, hard to test + supportWpaWps ? true, # Most common use-case + supportHashCracking ? false, + supportEvilTwin ? false, + supportX11 ? false, # Allow using xterm instead of tmux, hard to test }: let - deps = [ - aircrack-ng - bash - coreutils-full - curl - gawk - glibc - gnugrep - gnused - iproute2 - iw - networkmanager - ncurses - pciutils - procps - tmux - usbutils - wget - ethtool - util-linux - ccze - systemd - ] ++ lib.optionals supportWpaWps [ - bully - pixiewps - reaverwps-t6x - ] ++ lib.optionals supportHashCracking [ - asleap - crunch - hashcat - hcxdumptool - hcxtools - john - wireshark-cli - ] ++ lib.optionals supportEvilTwin [ - bettercap - dnsmasq - ettercap - hostapd - lighttpd - openssl - mdk4 - nftables - apparmor-bin-utils - ] ++ lib.optionals supportX11 [ - xterm - xorg.xset - xorg.xdpyinfo - ]; + deps = + [ + aircrack-ng + bash + coreutils-full + curl + gawk + glibc + gnugrep + gnused + iproute2 + iw + networkmanager + ncurses + pciutils + procps + tmux + usbutils + wget + ethtool + util-linux + ccze + systemd + ] + ++ lib.optionals supportWpaWps [ + bully + pixiewps + reaverwps-t6x + ] + ++ lib.optionals supportHashCracking [ + asleap + crunch + hashcat + hcxdumptool + hcxtools + john + wireshark-cli + ] + ++ lib.optionals supportEvilTwin [ + bettercap + dnsmasq + ettercap + hostapd + lighttpd + openssl + mdk4 + nftables + apparmor-bin-utils + ] + ++ lib.optionals supportX11 [ + xterm + xorg.xset + xorg.xdpyinfo + ]; in stdenv.mkDerivation rec { pname = "airgeddon"; diff --git a/pkgs/by-name/ai/airlift/package.nix b/pkgs/by-name/ai/airlift/package.nix index 1293a70cdb950..6f52867db78e5 100644 --- a/pkgs/by-name/ai/airlift/package.nix +++ b/pkgs/by-name/ai/airlift/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchPypi -, kubernetes-helm -, kind -, docker +{ + lib, + python3, + fetchPypi, + kubernetes-helm, + kind, + docker, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ai/airscan/package.nix b/pkgs/by-name/ai/airscan/package.nix index e6001b44f3efe..bdc11a1267704 100644 --- a/pkgs/by-name/ai/airscan/package.nix +++ b/pkgs/by-name/ai/airscan/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/ai/airsonic/package.nix b/pkgs/by-name/ai/airsonic/package.nix index 0089ee33c27dd..2bf56ce8f6533 100644 --- a/pkgs/by-name/ai/airsonic/package.nix +++ b/pkgs/by-name/ai/airsonic/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + nixosTests, +}: stdenv.mkDerivation rec { pname = "airsonic"; diff --git a/pkgs/by-name/ai/airspy/package.nix b/pkgs/by-name/ai/airspy/package.nix index 3c1fa511aef77..c6f19b1a47bd4 100644 --- a/pkgs/by-name/ai/airspy/package.nix +++ b/pkgs/by-name/ai/airspy/package.nix @@ -1,5 +1,10 @@ -{ stdenv, lib, fetchFromGitHub -, cmake , pkg-config, libusb1 +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { @@ -17,11 +22,13 @@ stdenv.mkDerivation rec { substituteInPlace airspy-tools/CMakeLists.txt --replace "/etc/udev/rules.d" "$out/etc/udev/rules.d" ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libusb1 ]; - cmakeFlags = - lib.optionals stdenv.hostPlatform.isLinux [ "-DINSTALL_UDEV_RULES=ON" ]; + cmakeFlags = lib.optionals stdenv.hostPlatform.isLinux [ "-DINSTALL_UDEV_RULES=ON" ]; meta = with lib; { homepage = "https://github.com/airspy/airspyone_host"; diff --git a/pkgs/by-name/ai/airspyhf/package.nix b/pkgs/by-name/ai/airspyhf/package.nix index a54e8441e36ba..67e45c6f4ec5b 100644 --- a/pkgs/by-name/ai/airspyhf/package.nix +++ b/pkgs/by-name/ai/airspyhf/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libusb1 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, +}: stdenv.mkDerivation rec { pname = "airspyhf"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-RKTMEDPeKcerJZtXTn8eAShxDcZUMgeQg/+7pEpMyVg="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/by-name/ai/airstrike/package.nix b/pkgs/by-name/ai/airstrike/package.nix index 5772b3d0036f4..53fdb6529c75f 100644 --- a/pkgs/by-name/ai/airstrike/package.nix +++ b/pkgs/by-name/ai/airstrike/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, makeWrapper, SDL, SDL_image }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + SDL, + SDL_image, +}: stdenv.mkDerivation rec { pname = "airstrike-pre"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ SDL SDL_image ]; + buildInputs = [ + SDL + SDL_image + ]; NIX_LDFLAGS = "-lm"; diff --git a/pkgs/by-name/ai/airwindows-lv2/package.nix b/pkgs/by-name/ai/airwindows-lv2/package.nix index d392db72ca2de..ea906cb3a2177 100644 --- a/pkgs/by-name/ai/airwindows-lv2/package.nix +++ b/pkgs/by-name/ai/airwindows-lv2/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromSourcehut, meson, ninja, pkg-config, lv2 }: +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + lv2, +}: stdenv.mkDerivation rec { pname = "airwindows-lv2"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-1GWkdNCn98ttsF2rPLZE0+GJdatgkLewFQyx9Frr2sM="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ lv2 ]; meta = with lib; { diff --git a/pkgs/by-name/ai/aixlog/package.nix b/pkgs/by-name/ai/aixlog/package.nix index 282b62702c755..cade21695e958 100644 --- a/pkgs/by-name/ai/aixlog/package.nix +++ b/pkgs/by-name/ai/aixlog/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/aj/aj-snapshot/package.nix b/pkgs/by-name/aj/aj-snapshot/package.nix index 8de68bca477ca..9e98fc09dd310 100644 --- a/pkgs/by-name/aj/aj-snapshot/package.nix +++ b/pkgs/by-name/aj/aj-snapshot/package.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + jack2, + minixml, + pkg-config, +}: stdenv.mkDerivation rec { - pname = "aj-snapshot" ; + pname = "aj-snapshot"; version = "0.9.9"; src = fetchurl { @@ -12,15 +20,19 @@ stdenv.mkDerivation rec { doCheck = false; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ alsa-lib minixml jack2 ]; + buildInputs = [ + alsa-lib + minixml + jack2 + ]; meta = with lib; { description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files"; longDescription = '' - Aj-snapshot is a small program that can be used to make snapshots of the connections made between JACK and/or ALSA clients. - Because JACK can provide both audio and MIDI support to programs, aj-snapshot can store both types of connections for JACK. - ALSA, on the other hand, only provides routing facilities for MIDI clients. - You can also run aj-snapshot in daemon mode if you want to have your connections continually restored. + Aj-snapshot is a small program that can be used to make snapshots of the connections made between JACK and/or ALSA clients. + Because JACK can provide both audio and MIDI support to programs, aj-snapshot can store both types of connections for JACK. + ALSA, on the other hand, only provides routing facilities for MIDI clients. + You can also run aj-snapshot in daemon mode if you want to have your connections continually restored. ''; homepage = "http://aj-snapshot.sourceforge.net/"; diff --git a/pkgs/by-name/ak/akira-unstable/package.nix b/pkgs/by-name/ak/akira-unstable/package.nix index 03278888c8bab..c6b880c69e5c8 100644 --- a/pkgs/by-name/ak/akira-unstable/package.nix +++ b/pkgs/by-name/ak/akira-unstable/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, meson -, ninja -, pantheon -, pkg-config -, python3 -, vala -, wrapGAppsHook3 -, cairo -, glib -, goocanvas3 -, gtk3 -, gtksourceview3 -, json-glib -, libarchive -, libgee -, libxml2 +{ + stdenv, + lib, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + meson, + ninja, + pantheon, + pkg-config, + python3, + vala, + wrapGAppsHook3, + cairo, + glib, + goocanvas3, + gtk3, + gtksourceview3, + json-glib, + libarchive, + libgee, + libxml2, }: stdenv.mkDerivation rec { @@ -67,7 +68,13 @@ stdenv.mkDerivation rec { description = "Native Linux Design application built in Vala and GTK"; homepage = "https://github.com/akiraux/Akira"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ Br1ght0ne neonfuz ] ++ teams.pantheon.members; + maintainers = + with maintainers; + [ + Br1ght0ne + neonfuz + ] + ++ teams.pantheon.members; platforms = platforms.linux; mainProgram = "com.github.akiraux.akira"; }; diff --git a/pkgs/by-name/al/alacritty-theme/package.nix b/pkgs/by-name/al/alacritty-theme/package.nix index 9846ccbdf7f93..de636003d877f 100644 --- a/pkgs/by-name/al/alacritty-theme/package.nix +++ b/pkgs/by-name/al/alacritty-theme/package.nix @@ -1,8 +1,10 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, stdenvNoCC -, ... }: +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + stdenvNoCC, + ... +}: stdenvNoCC.mkDerivation (self: { pname = "alacritty-theme"; diff --git a/pkgs/by-name/al/alacritty/package.nix b/pkgs/by-name/al/alacritty/package.nix index ff9e28c27b7b2..5376c79a40728 100644 --- a/pkgs/by-name/al/alacritty/package.nix +++ b/pkgs/by-name/al/alacritty/package.nix @@ -1,43 +1,46 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, nixosTests - -, cmake -, installShellFiles -, makeWrapper -, ncurses -, pkg-config -, python3 -, scdoc - -, expat -, fontconfig -, freetype -, libGL -, xorg -, libxkbcommon -, wayland -, xdg-utils - -, apple-sdk_11 +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + nixosTests, + + cmake, + installShellFiles, + makeWrapper, + ncurses, + pkg-config, + python3, + scdoc, + + expat, + fontconfig, + freetype, + libGL, + xorg, + libxkbcommon, + wayland, + xdg-utils, + + apple-sdk_11, }: let - rpathLibs = [ - expat - fontconfig - freetype - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libGL - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXxf86vm - xorg.libxcb - libxkbcommon - wayland - ]; + rpathLibs = + [ + expat + fontconfig + freetype + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGL + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXxf86vm + xorg.libxcb + libxkbcommon + wayland + ]; in rustPlatform.buildRustPackage rec { pname = "alacritty"; @@ -62,12 +65,16 @@ rustPlatform.buildRustPackage rec { scdoc ]; - buildInputs = rpathLibs + buildInputs = + rpathLibs ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - ]; + apple-sdk_11 + ]; - outputs = [ "out" "terminfo" ]; + outputs = [ + "out" + "terminfo" + ]; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace alacritty/src/config/ui_config.rs \ @@ -76,41 +83,46 @@ rustPlatform.buildRustPackage rec { checkFlags = [ "--skip=term::test::mock_term" ]; # broken on aarch64 - postInstall = ( - if stdenv.hostPlatform.isDarwin then '' - mkdir $out/Applications - cp -r extra/osx/Alacritty.app $out/Applications - ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS - '' else '' - install -D extra/linux/Alacritty.desktop -t $out/share/applications/ - install -D extra/linux/org.alacritty.Alacritty.appdata.xml -t $out/share/appdata/ - install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg - - # patchelf generates an ELF that binutils' "strip" doesn't like: - # strip: not enough room for program headers, try linking with -N - # As a workaround, strip manually before running patchelf. - $STRIP -S $out/bin/alacritty - - patchelf --add-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty - '' - ) + '' - installShellCompletion --zsh extra/completions/_alacritty - installShellCompletion --bash extra/completions/alacritty.bash - installShellCompletion --fish extra/completions/alacritty.fish - - install -dm 755 "$out/share/man/man1" - install -dm 755 "$out/share/man/man5" - - scdoc < extra/man/alacritty.1.scd | gzip -c > $out/share/man/man1/alacritty.1.gz - scdoc < extra/man/alacritty-msg.1.scd | gzip -c > $out/share/man/man1/alacritty-msg.1.gz - scdoc < extra/man/alacritty.5.scd | gzip -c > $out/share/man/man5/alacritty.5.gz - scdoc < extra/man/alacritty-bindings.5.scd | gzip -c > $out/share/man/man5/alacritty-bindings.5.gz - - install -dm 755 "$terminfo/share/terminfo/a/" - tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info - mkdir -p $out/nix-support - echo "$terminfo" >> $out/nix-support/propagated-user-env-packages - ''; + postInstall = + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir $out/Applications + cp -r extra/osx/Alacritty.app $out/Applications + ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS + '' + else + '' + install -D extra/linux/Alacritty.desktop -t $out/share/applications/ + install -D extra/linux/org.alacritty.Alacritty.appdata.xml -t $out/share/appdata/ + install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg + + # patchelf generates an ELF that binutils' "strip" doesn't like: + # strip: not enough room for program headers, try linking with -N + # As a workaround, strip manually before running patchelf. + $STRIP -S $out/bin/alacritty + + patchelf --add-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty + '' + ) + + '' + installShellCompletion --zsh extra/completions/_alacritty + installShellCompletion --bash extra/completions/alacritty.bash + installShellCompletion --fish extra/completions/alacritty.fish + + install -dm 755 "$out/share/man/man1" + install -dm 755 "$out/share/man/man5" + + scdoc < extra/man/alacritty.1.scd | gzip -c > $out/share/man/man1/alacritty.1.gz + scdoc < extra/man/alacritty-msg.1.scd | gzip -c > $out/share/man/man1/alacritty-msg.1.gz + scdoc < extra/man/alacritty.5.scd | gzip -c > $out/share/man/man5/alacritty.5.gz + scdoc < extra/man/alacritty-bindings.5.scd | gzip -c > $out/share/man/man5/alacritty-bindings.5.gz + + install -dm 755 "$terminfo/share/terminfo/a/" + tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info + mkdir -p $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + ''; dontPatchELF = true; @@ -121,7 +133,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/alacritty/alacritty"; license = licenses.asl20; mainProgram = "alacritty"; - maintainers = with maintainers; [ Br1ght0ne mic92 ]; + maintainers = with maintainers; [ + Br1ght0ne + mic92 + ]; platforms = platforms.unix; changelog = "https://github.com/alacritty/alacritty/blob/v${version}/CHANGELOG.md"; }; diff --git a/pkgs/by-name/al/alarm-clock-applet/package.nix b/pkgs/by-name/al/alarm-clock-applet/package.nix index 80275149bfb8e..1648badc73fdb 100644 --- a/pkgs/by-name/al/alarm-clock-applet/package.nix +++ b/pkgs/by-name/al/alarm-clock-applet/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, wrapGAppsHook3 -, gst_all_1 -, libnotify -, libayatana-appindicator +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + wrapGAppsHook3, + gst_all_1, + libnotify, + libayatana-appindicator, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/al/alass/package.nix b/pkgs/by-name/al/alass/package.nix index bbbbe91beb64a..0ae84ada3dfbd 100644 --- a/pkgs/by-name/al/alass/package.nix +++ b/pkgs/by-name/al/alass/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, makeWrapper -, ffmpeg +{ + lib, + fetchFromGitHub, + rustPlatform, + makeWrapper, + ffmpeg, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/al/albatross/package.nix b/pkgs/by-name/al/albatross/package.nix index 04b06ef0684a0..09e220a94d048 100644 --- a/pkgs/by-name/al/albatross/package.nix +++ b/pkgs/by-name/al/albatross/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "Albatross"; diff --git a/pkgs/by-name/al/alchemy/package.nix b/pkgs/by-name/al/alchemy/package.nix index 2b61004ed0e7a..658afb3da34f7 100644 --- a/pkgs/by-name/al/alchemy/package.nix +++ b/pkgs/by-name/al/alchemy/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + jre, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "alchemy"; diff --git a/pkgs/by-name/al/aldo/package.nix b/pkgs/by-name/al/aldo/package.nix index 03e775738618a..f8834125dab93 100644 --- a/pkgs/by-name/al/aldo/package.nix +++ b/pkgs/by-name/al/aldo/package.nix @@ -1,9 +1,16 @@ -{ lib, stdenv, fetchgit, libao, autoreconfHook }: +{ + lib, + stdenv, + fetchgit, + libao, + autoreconfHook, +}: let pname = "aldo"; version = "0.7.8"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; src = fetchgit { diff --git a/pkgs/by-name/al/alegreya-sans/package.nix b/pkgs/by-name/al/alegreya-sans/package.nix index cc0cd6cac9b90..13b10ac4a9d5a 100644 --- a/pkgs/by-name/al/alegreya-sans/package.nix +++ b/pkgs/by-name/al/alegreya-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "alegreya-sans"; @@ -21,13 +25,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Humanist sans serif family with a calligraphic feeling"; longDescription = '' -Alegreya Sans is a humanist sans serif family with a calligraphic feeling that conveys a dynamic and varied rhythm. This gives a pleasant feeling to readers of long texts. + Alegreya Sans is a humanist sans serif family with a calligraphic feeling that conveys a dynamic and varied rhythm. This gives a pleasant feeling to readers of long texts. -The family follows humanist proportions and principles, just like the serif version of the family, Alegreya. It achieves a ludic and harmonious paragraph through elements carefully designed in an atmosphere of diversity. The italics bring a strong emphasis to the roman styles, and each have seven weights to bring you a wide typographic palette. + The family follows humanist proportions and principles, just like the serif version of the family, Alegreya. It achieves a ludic and harmonious paragraph through elements carefully designed in an atmosphere of diversity. The italics bring a strong emphasis to the roman styles, and each have seven weights to bring you a wide typographic palette. -Alegreya Sans supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others. + Alegreya Sans supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others. -The Alegreya type system is a "super family", originally intended for literature, and includes sans and serif sister families. + The Alegreya type system is a "super family", originally intended for literature, and includes sans and serif sister families. ''; homepage = "https://www.huertatipografica.com/en/fonts/alegreya-sans-ht"; license = licenses.ofl; diff --git a/pkgs/by-name/al/alegreya/package.nix b/pkgs/by-name/al/alegreya/package.nix index 03efbff4ebf5b..b13656ef901fa 100644 --- a/pkgs/by-name/al/alegreya/package.nix +++ b/pkgs/by-name/al/alegreya/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "alegreya"; @@ -21,19 +25,19 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Elegant and versatile font family for comfortable reading"; longDescription = '' -Alegreya is a typeface originally intended for literature. Among its crowning characteristics, it conveys a dynamic and varied rhythm which facilitates the reading of long texts. Also, it provides freshness to the page while referring to the calligraphic letter, not as a literal interpretation, but rather in a contemporary typographic language. + Alegreya is a typeface originally intended for literature. Among its crowning characteristics, it conveys a dynamic and varied rhythm which facilitates the reading of long texts. Also, it provides freshness to the page while referring to the calligraphic letter, not as a literal interpretation, but rather in a contemporary typographic language. -The italic has just as much care and attention to detail in the design as the roman. The bold weights are strong, and the Black weights are really experimental for the genre. There is also a Small Caps sister family. + The italic has just as much care and attention to detail in the design as the roman. The bold weights are strong, and the Black weights are really experimental for the genre. There is also a Small Caps sister family. -Not only does Alegreya provide great performance, but also achieves a strong and harmonious text by means of elements designed in an atmosphere of diversity. + Not only does Alegreya provide great performance, but also achieves a strong and harmonious text by means of elements designed in an atmosphere of diversity. -The Alegreya type system is a "super family", originally intended for literature, and includes serif and sans serif sister families. + The Alegreya type system is a "super family", originally intended for literature, and includes serif and sans serif sister families. -It supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others. + It supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others. -Alegreya was chosen at the ATypI Letter2 competition in September 2011, and one of the top 14 text type systems. It was also selected in the 2nd Bienal Iberoamericana de Diseño, competition held in Madrid in 2010 and Tipos Latinos. + Alegreya was chosen at the ATypI Letter2 competition in September 2011, and one of the top 14 text type systems. It was also selected in the 2nd Bienal Iberoamericana de Diseño, competition held in Madrid in 2010 and Tipos Latinos. -Designed by Juan Pablo del Peral for Huerta Tipográfica. + Designed by Juan Pablo del Peral for Huerta Tipográfica. ''; homepage = "https://www.huertatipografica.com/en/fonts/alegreya-ht-pro"; license = licenses.ofl; diff --git a/pkgs/by-name/al/alejandra/package.nix b/pkgs/by-name/al/alejandra/package.nix index ed5f519fbf324..5523681d706e4 100644 --- a/pkgs/by-name/al/alejandra/package.nix +++ b/pkgs/by-name/al/alejandra/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, testers -, alejandra +{ + lib, + rustPlatform, + fetchFromGitHub, + testers, + alejandra, }: rustPlatform.buildRustPackage rec { @@ -27,7 +28,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/kamadorueda/alejandra"; changelog = "https://github.com/kamadorueda/alejandra/blob/${version}/CHANGELOG.md"; license = licenses.unlicense; - maintainers = with maintainers; [ _0x4A6F kamadorueda sciencentistguy ]; + maintainers = with maintainers; [ + _0x4A6F + kamadorueda + sciencentistguy + ]; mainProgram = "alejandra"; }; } diff --git a/pkgs/by-name/al/alephone-apotheosis-x/package.nix b/pkgs/by-name/al/alephone-apotheosis-x/package.nix index 7cb7646919f59..c24045c25c635 100644 --- a/pkgs/by-name/al/alephone-apotheosis-x/package.nix +++ b/pkgs/by-name/al/alephone-apotheosis-x/package.nix @@ -1,4 +1,8 @@ -{ lib, alephone, requireFile }: +{ + lib, + alephone, + requireFile, +}: alephone.makeWrapper rec { pname = "apotheosis-x"; diff --git a/pkgs/by-name/al/alephone-durandal/package.nix b/pkgs/by-name/al/alephone-durandal/package.nix index 25ac05901e5b5..b247ba98f39f1 100644 --- a/pkgs/by-name/al/alephone-durandal/package.nix +++ b/pkgs/by-name/al/alephone-durandal/package.nix @@ -8,8 +8,7 @@ alephone.makeWrapper rec { # nixpkgs-update: no auto update zip = fetchurl { - url = - "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon2-${version}-Data.zip"; + url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon2-${version}-Data.zip"; hash = "sha256-uoBl1/7XlXmMLqpk3tvme9w18q4Yh0WCrmqSzjGxNz0="; }; diff --git a/pkgs/by-name/al/alephone-eternal/package.nix b/pkgs/by-name/al/alephone-eternal/package.nix index d3c7c8333f54d..dc5f94971f761 100644 --- a/pkgs/by-name/al/alephone-eternal/package.nix +++ b/pkgs/by-name/al/alephone-eternal/package.nix @@ -13,8 +13,7 @@ alephone.makeWrapper rec { sourceRoot = "Eternal 1.2.1"; meta = { - description = - "Picking up from the end of the Marathon trilogy, you find yourself suddenly ninety-four years in the future, in the year 2905"; + description = "Picking up from the end of the Marathon trilogy, you find yourself suddenly ninety-four years in the future, in the year 2905"; homepage = "http://eternal.bungie.org/"; }; diff --git a/pkgs/by-name/al/alephone-infinity/package.nix b/pkgs/by-name/al/alephone-infinity/package.nix index 592399a9dda61..139924feaabf9 100644 --- a/pkgs/by-name/al/alephone-infinity/package.nix +++ b/pkgs/by-name/al/alephone-infinity/package.nix @@ -8,8 +8,7 @@ alephone.makeWrapper rec { # nixpkgs-update: no auto update zip = fetchurl { - url = - "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip"; + url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip"; hash = "sha256-+FPym4Avqzyo4cZtfYPHXCS+q21+g9AIdKOImkd/UjU="; }; diff --git a/pkgs/by-name/al/alephone-marathon/package.nix b/pkgs/by-name/al/alephone-marathon/package.nix index df34ae8f20c3a..7075e01044576 100644 --- a/pkgs/by-name/al/alephone-marathon/package.nix +++ b/pkgs/by-name/al/alephone-marathon/package.nix @@ -8,8 +8,7 @@ alephone.makeWrapper rec { # nixpkgs-update: no auto update zip = fetchurl { - url = - "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip"; + url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip"; hash = "sha256-shZ82e7veaaT/petxDQ8Fd7YtJPmTgxSCStf0kGfrFs="; }; diff --git a/pkgs/by-name/al/alephone-pathways-into-darkness/package.nix b/pkgs/by-name/al/alephone-pathways-into-darkness/package.nix index 10c0fcfc04fb2..c74e115809371 100644 --- a/pkgs/by-name/al/alephone-pathways-into-darkness/package.nix +++ b/pkgs/by-name/al/alephone-pathways-into-darkness/package.nix @@ -11,8 +11,7 @@ alephone.makeWrapper rec { }; meta = { - description = '' - Port of the 1993 mac game "Pathways Into Darkness" by Bungie to the Aleph One engine''; + description = ''Port of the 1993 mac game "Pathways Into Darkness" by Bungie to the Aleph One engine''; homepage = "http://simplici7y.com/items/aleph-one-pathways-into-darkness"; }; diff --git a/pkgs/by-name/al/alephone-yuge/package.nix b/pkgs/by-name/al/alephone-yuge/package.nix index c9e2d05a08fac..85402ae5c9b68 100644 --- a/pkgs/by-name/al/alephone-yuge/package.nix +++ b/pkgs/by-name/al/alephone-yuge/package.nix @@ -11,8 +11,7 @@ alephone.makeWrapper rec { }; meta = { - description = - "30 level Marathon scenario, plus 225 secret levels for many extra hours of gameplay"; + description = "30 level Marathon scenario, plus 225 secret levels for many extra hours of gameplay"; homepage = "https://lochnits.com/marathon/yuge/"; }; } diff --git a/pkgs/by-name/al/alertmanager-irc-relay/package.nix b/pkgs/by-name/al/alertmanager-irc-relay/package.nix index fb5f524c0afe8..2d034dc5608cd 100644 --- a/pkgs/by-name/al/alertmanager-irc-relay/package.nix +++ b/pkgs/by-name/al/alertmanager-irc-relay/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "alertmanager-irc-relay"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-KX+TR0n14+95lldF+0KUo5DbqOKpUDaZNuKMBf0KHFQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC"; diff --git a/pkgs/by-name/al/alertmanager-webhook-logger/package.nix b/pkgs/by-name/al/alertmanager-webhook-logger/package.nix index 24e55e8b7607d..b256a389ab043 100644 --- a/pkgs/by-name/al/alertmanager-webhook-logger/package.nix +++ b/pkgs/by-name/al/alertmanager-webhook-logger/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/al/alglib/package.nix b/pkgs/by-name/al/alglib/package.nix index 45717082a8586..414a884ce0d9b 100644 --- a/pkgs/by-name/al/alglib/package.nix +++ b/pkgs/by-name/al/alglib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, clang }: +{ + lib, + stdenv, + fetchurl, + cmake, + clang, +}: stdenv.mkDerivation rec { pname = "alglib3"; diff --git a/pkgs/by-name/al/algol68g/package.nix b/pkgs/by-name/al/algol68g/package.nix index 1622952b3ce56..1d3ed222b6225 100644 --- a/pkgs/by-name/al/algol68g/package.nix +++ b/pkgs/by-name/al/algol68g/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, curl -, gmp -, gsl -, mpfr -, ncurses -, plotutils -, postgresql -, pkg-config -, withPDFDoc ? true +{ + lib, + stdenv, + fetchurl, + curl, + gmp, + gsl, + mpfr, + ncurses, + plotutils, + postgresql, + pkg-config, + withPDFDoc ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -21,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-hKiRMU98sZhGgHhjgtwUNSIv2iPgb4T+dgYw58IGK8Q="; }; - outputs = [ "out" "man" ] ++ lib.optionals withPDFDoc [ "doc" ]; + outputs = [ + "out" + "man" + ] ++ lib.optionals withPDFDoc [ "doc" ]; nativeBuildInputs = [ pkg-config @@ -39,13 +43,14 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - postInstall = let - pdfdoc = fetchurl { - url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf"; - hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU="; - }; - in lib.optionalString withPDFDoc - '' + postInstall = + let + pdfdoc = fetchurl { + url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf"; + hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU="; + }; + in + lib.optionalString withPDFDoc '' install -m644 ${pdfdoc} ${placeholder "doc"}/share/doc/algol68g/learning-algol-68-genie.pdf ''; diff --git a/pkgs/by-name/al/ali/package.nix b/pkgs/by-name/al/ali/package.nix index 44d80f1b7e199..effa23aaafcac 100644 --- a/pkgs/by-name/al/ali/package.nix +++ b/pkgs/by-name/al/ali/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGo122Module -, fetchFromGitHub +{ + lib, + buildGo122Module, + fetchFromGitHub, }: buildGo122Module rec { diff --git a/pkgs/by-name/al/alice/package.nix b/pkgs/by-name/al/alice/package.nix index 985ba09926f49..244e8afad623d 100644 --- a/pkgs/by-name/al/alice/package.nix +++ b/pkgs/by-name/al/alice/package.nix @@ -1,13 +1,22 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation (attrs: { pname = "Alice"; version = "2.003"; - outputs = [ "out" "woff2" ]; + outputs = [ + "out" + "woff2" + ]; src = fetchzip { - url = with attrs; "https://github.com/cyrealtype/${pname}/releases/download/v${version}/${pname}-v${version}.zip"; + url = + with attrs; + "https://github.com/cyrealtype/${pname}/releases/download/v${version}/${pname}-v${version}.zip"; stripRoot = false; hash = "sha256-p+tE3DECfJyBIPyafGZ8jDYQ1lPb+iAnEwLyaUy7DW0="; }; diff --git a/pkgs/by-name/al/alienarena/package.nix b/pkgs/by-name/al/alienarena/package.nix index 1788d68221a57..06982ef32274a 100644 --- a/pkgs/by-name/al/alienarena/package.nix +++ b/pkgs/by-name/al/alienarena/package.nix @@ -1,16 +1,17 @@ -{ curl -, fetchFromGitHub -, freetype -, lib -, libGL -, libjpeg -, libogg -, libvorbis -, libX11 -, libXxf86vm -, openal -, pkg-config -, stdenv +{ + curl, + fetchFromGitHub, + freetype, + lib, + libGL, + libjpeg, + libogg, + libvorbis, + libX11, + libXxf86vm, + openal, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { @@ -61,6 +62,6 @@ stdenv.mkDerivation rec { license = licenses.unfreeRedistributable; maintainers = with maintainers; [ astsmtl ]; platforms = platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/al/align/package.nix b/pkgs/by-name/al/align/package.nix index fa97b97ad261c..12666a286b8f9 100644 --- a/pkgs/by-name/al/align/package.nix +++ b/pkgs/by-name/al/align/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "align"; diff --git a/pkgs/by-name/al/alire/package.nix b/pkgs/by-name/al/alire/package.nix index 17f6f256edb3e..d4e45430708eb 100644 --- a/pkgs/by-name/al/alire/package.nix +++ b/pkgs/by-name/al/alire/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, gprbuild -, gnat +{ + lib, + stdenv, + fetchFromGitHub, + gprbuild, + gnat, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ gprbuild gnat ]; + nativeBuildInputs = [ + gprbuild + gnat + ]; postPatch = '' patchShebangs ./dev/build.sh ./scripts/version-patcher.sh diff --git a/pkgs/by-name/al/aliyun-cli/package.nix b/pkgs/by-name/al/aliyun-cli/package.nix index 066866dc7d017..3953e3634efc1 100644 --- a/pkgs/by-name/al/aliyun-cli/package.nix +++ b/pkgs/by-name/al/aliyun-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "aliyun-cli"; @@ -16,7 +20,11 @@ buildGoModule rec { subPackages = [ "main" ]; - ldflags = [ "-s" "-w" "-X github.com/aliyun/aliyun-cli/cli.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/aliyun/aliyun-cli/cli.Version=${version}" + ]; postInstall = '' mv $out/bin/main $out/bin/aliyun diff --git a/pkgs/by-name/al/alkalami/package.nix b/pkgs/by-name/al/alkalami/package.nix index b9dfd27e57968..6b3535bc074a2 100644 --- a/pkgs/by-name/al/alkalami/package.nix +++ b/pkgs/by-name/al/alkalami/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "alkalami"; diff --git a/pkgs/by-name/al/alliance/package.nix b/pkgs/by-name/al/alliance/package.nix index f4333be8475e8..e905c47735ad4 100644 --- a/pkgs/by-name/al/alliance/package.nix +++ b/pkgs/by-name/al/alliance/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitLab, xorgproto, motif, libX11, libXt, libXpm, bison -, flex, automake, autoconf, libtool +{ + lib, + stdenv, + fetchFromGitLab, + xorgproto, + motif, + libX11, + libXt, + libXpm, + bison, + flex, + automake, + autoconf, + libtool, }: stdenv.mkDerivation rec { @@ -16,8 +28,20 @@ stdenv.mkDerivation rec { prePatch = "cd alliance/src"; - nativeBuildInputs = [ libtool automake autoconf flex ]; - buildInputs = [ xorgproto motif libX11 libXt libXpm bison ]; + nativeBuildInputs = [ + libtool + automake + autoconf + flex + ]; + buildInputs = [ + xorgproto + motif + libX11 + libXt + libXpm + bison + ]; # Disable parallel build, errors: # ./pat_decl_y.y:736:5: error: expected '=', ... @@ -26,7 +50,8 @@ stdenv.mkDerivation rec { ALLIANCE_TOP = placeholder "out"; configureFlags = [ - "--prefix=${placeholder "out"}" "--enable-alc-shared" + "--prefix=${placeholder "out"}" + "--enable-alc-shared" ]; postPatch = '' diff --git a/pkgs/by-name/al/allure/package.nix b/pkgs/by-name/al/allure/package.nix index 371f070367e8b..1ad9e8e416b7d 100644 --- a/pkgs/by-name/al/allure/package.nix +++ b/pkgs/by-name/al/allure/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, makeWrapper -, fetchurl -, jre +{ + lib, + stdenv, + makeWrapper, + fetchurl, + jre, }: stdenv.mkDerivation (finalAttrs: { @@ -32,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - meta = { + meta = { homepage = "https://docs.qameta.io/allure/"; description = "Allure Report is a flexible, lightweight multi-language test reporting tool"; longDescription = '' @@ -40,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { tool providing clear graphical reports and allowing everyone involved in the development process to extract the maximum of information from the everyday testing process. - ''; + ''; license = lib.licenses.asl20; mainProgram = "allure"; maintainers = with lib.maintainers; [ happysalada ]; diff --git a/pkgs/by-name/al/almanah/package.nix b/pkgs/by-name/al/almanah/package.nix index f98a569fe6031..6529d736bc1b2 100644 --- a/pkgs/by-name/al/almanah/package.nix +++ b/pkgs/by-name/al/almanah/package.nix @@ -1,28 +1,29 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, atk -, cairo -, desktop-file-utils -, evolution-data-server-gtk4 -, evolution -, gcr_4 -, gettext -, glib -, gnome -, gpgme -, gtk3 -, gtksourceview4 -, gtkspell3 -, libcryptui -, libxml2 -, meson -, ninja -, pkg-config -, python3 -, sqlite -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchurl, + fetchpatch, + atk, + cairo, + desktop-file-utils, + evolution-data-server-gtk4, + evolution, + gcr_4, + gettext, + glib, + gnome, + gpgme, + gtk3, + gtksourceview4, + gtkspell3, + libcryptui, + libxml2, + meson, + ninja, + pkg-config, + python3, + sqlite, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/al/almonds/package.nix b/pkgs/by-name/al/almonds/package.nix index 7717458d0dac2..d8ec911b73040 100644 --- a/pkgs/by-name/al/almonds/package.nix +++ b/pkgs/by-name/al/almonds/package.nix @@ -1,6 +1,12 @@ -{ lib, python3, fetchFromGitHub, ncurses }: +{ + lib, + python3, + fetchFromGitHub, + ncurses, +}: -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { pname = "almonds"; version = "1.25b"; diff --git a/pkgs/by-name/al/alock/package.nix b/pkgs/by-name/al/alock/package.nix index a8bf0eabbe442..cf331fe6f3a15 100644 --- a/pkgs/by-name/al/alock/package.nix +++ b/pkgs/by-name/al/alock/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, gitUpdater, pkg-config, autoreconfHook -, libX11, pam, libgcrypt, libXrender, imlib2 }: +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + pkg-config, + autoreconfHook, + libX11, + pam, + libgcrypt, + libXrender, + imlib2, +}: stdenv.mkDerivation rec { pname = "alock"; @@ -21,10 +32,16 @@ stdenv.mkDerivation rec { "--enable-imlib2" ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ libX11 - pam libgcrypt libXrender imlib2 + pam + libgcrypt + libXrender + imlib2 ]; passthru.updateScript = gitUpdater { @@ -46,7 +63,10 @@ stdenv.mkDerivation rec { X session. ''; platforms = platforms.linux; - maintainers = with maintainers; [ ftrvxmtrx chris-martin ]; + maintainers = with maintainers; [ + ftrvxmtrx + chris-martin + ]; license = licenses.mit; }; } diff --git a/pkgs/by-name/al/alot/package.nix b/pkgs/by-name/al/alot/package.nix index cf0de377e370b..90ceff591aba2 100644 --- a/pkgs/by-name/al/alot/package.nix +++ b/pkgs/by-name/al/alot/package.nix @@ -1,24 +1,28 @@ -{ lib -, python311 -, fetchFromGitHub -, file -, gnupg -, gawk -, procps -, notmuch -, withManpage ? false +{ + lib, + python311, + fetchFromGitHub, + file, + gnupg, + gawk, + procps, + notmuch, + withManpage ? false, }: -with python311.pkgs; buildPythonApplication rec { +with python311.pkgs; +buildPythonApplication rec { pname = "alot"; version = "0.11"; pyproject = true; - outputs = [ - "out" - ] ++ lib.optionals withManpage [ - "man" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals withManpage [ + "man" + ]; disabled = !isPy3k; diff --git a/pkgs/by-name/al/alp/package.nix b/pkgs/by-name/al/alp/package.nix index 1f79cd296bf9e..e0e18e9193979 100644 --- a/pkgs/by-name/al/alp/package.nix +++ b/pkgs/by-name/al/alp/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, runCommand -, alp +{ + lib, + buildGoModule, + fetchFromGitHub, + runCommand, + alp, }: buildGoModule rec { @@ -39,7 +40,7 @@ buildGoModule rec { ''; passthru.tests = { - test-version = runCommand "${pname}-test" {} '' + test-version = runCommand "${pname}-test" { } '' ${alp}/bin/alp version > $out cat $out | grep '${version}' ''; diff --git a/pkgs/by-name/al/alpaca/package.nix b/pkgs/by-name/al/alpaca/package.nix index 5e98d5eb20c35..7b8d12bbcca2e 100644 --- a/pkgs/by-name/al/alpaca/package.nix +++ b/pkgs/by-name/al/alpaca/package.nix @@ -59,7 +59,12 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" - "--prefix PATH : ${lib.makeBinPath [ xdg-utils ollama ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + xdg-utils + ollama + ] + }" # Declared but not used in src/window.py, for later reference # https://github.com/flatpak/flatpak/issues/3229 "--set FLATPAK_DEST ${placeholder "out"}" diff --git a/pkgs/by-name/al/alpine-make-rootfs/package.nix b/pkgs/by-name/al/alpine-make-rootfs/package.nix index 1fcfc23710a5a..e1a5f68a2048e 100644 --- a/pkgs/by-name/al/alpine-make-rootfs/package.nix +++ b/pkgs/by-name/al/alpine-make-rootfs/package.nix @@ -1,4 +1,18 @@ -{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper, apk-tools, coreutils, findutils, gnugrep, gnused, gnutar, gzip, rsync, util-linux, wget +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeWrapper, + apk-tools, + coreutils, + findutils, + gnugrep, + gnused, + gnutar, + gzip, + rsync, + util-linux, + wget, }: stdenvNoCC.mkDerivation rec { pname = "alpine-make-rootfs"; @@ -17,9 +31,20 @@ stdenvNoCC.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; postInstall = '' - wrapProgram $out/bin/alpine-make-rootfs --set PATH ${lib.makeBinPath [ - apk-tools coreutils findutils gnugrep gnused gnutar gzip rsync util-linux wget - ]} + wrapProgram $out/bin/alpine-make-rootfs --set PATH ${ + lib.makeBinPath [ + apk-tools + coreutils + findutils + gnugrep + gnused + gnutar + gzip + rsync + util-linux + wget + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/al/alpine-make-vm-image/package.nix b/pkgs/by-name/al/alpine-make-vm-image/package.nix index bb9679e061db9..0579b6d773d89 100644 --- a/pkgs/by-name/al/alpine-make-vm-image/package.nix +++ b/pkgs/by-name/al/alpine-make-vm-image/package.nix @@ -1,6 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper -, apk-tools, coreutils, dosfstools, e2fsprogs, findutils, gnugrep, gnused, kmod, qemu-utils -, rsync, util-linux +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + apk-tools, + coreutils, + dosfstools, + e2fsprogs, + findutils, + gnugrep, + gnused, + kmod, + qemu-utils, + rsync, + util-linux, }: stdenv.mkDerivation rec { @@ -20,10 +33,21 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; postInstall = '' - wrapProgram $out/bin/alpine-make-vm-image --set PATH ${lib.makeBinPath [ - apk-tools coreutils dosfstools e2fsprogs findutils gnugrep gnused kmod qemu-utils - rsync util-linux - ]} + wrapProgram $out/bin/alpine-make-vm-image --set PATH ${ + lib.makeBinPath [ + apk-tools + coreutils + dosfstools + e2fsprogs + findutils + gnugrep + gnused + kmod + qemu-utils + rsync + util-linux + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/al/alpine/package.nix b/pkgs/by-name/al/alpine/package.nix index 82239761190e6..d2df962f8b58f 100644 --- a/pkgs/by-name/al/alpine/package.nix +++ b/pkgs/by-name/al/alpine/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchgit -, buildPackages -, ncurses -, tcl -, openssl -, pam -, libkrb5 -, openldap -, libxcrypt -, gitUpdater +{ + lib, + stdenv, + fetchgit, + buildPackages, + ncurses, + tcl, + openssl, + pam, + libkrb5, + openldap, + libxcrypt, + gitUpdater, }: stdenv.mkDerivation rec { @@ -25,7 +26,13 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; buildInputs = [ - ncurses tcl openssl pam libkrb5 openldap libxcrypt + ncurses + tcl + openssl + pam + libkrb5 + openldap + libxcrypt ]; hardeningDisable = [ "format" ]; @@ -41,7 +48,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Console mail reader"; license = licenses.asl20; - maintainers = with maintainers; [ raskin rhendric ]; + maintainers = with maintainers; [ + raskin + rhendric + ]; platforms = platforms.linux; homepage = "https://alpineapp.email/"; }; diff --git a/pkgs/by-name/al/alpnpass/package.nix b/pkgs/by-name/al/alpnpass/package.nix index edf8061da4d17..a8d77f9d8cbc8 100644 --- a/pkgs/by-name/al/alpnpass/package.nix +++ b/pkgs/by-name/al/alpnpass/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/al/alps/package.nix b/pkgs/by-name/al/alps/package.nix index 1aeba54ed57fa..a7bda93227918 100644 --- a/pkgs/by-name/al/alps/package.nix +++ b/pkgs/by-name/al/alps/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromSourcehut, fetchpatch, nixosTests }: +{ + lib, + buildGoModule, + fetchFromSourcehut, + fetchpatch, + nixosTests, +}: buildGoModule rec { pname = "alps"; @@ -39,13 +45,17 @@ buildGoModule rec { proxyVendor = true; - passthru.tests = { inherit(nixosTests) alps; }; + passthru.tests = { inherit (nixosTests) alps; }; meta = with lib; { description = "Simple and extensible webmail"; homepage = "https://git.sr.ht/~migadu/alps"; license = licenses.mit; - maintainers = with maintainers; [ booklearner madonius hmenke ]; + maintainers = with maintainers; [ + booklearner + madonius + hmenke + ]; mainProgram = "alps"; }; } diff --git a/pkgs/by-name/al/alsa-lib/package.nix b/pkgs/by-name/al/alsa-lib/package.nix index 8647c91f3f033..adb621053e9a3 100644 --- a/pkgs/by-name/al/alsa-lib/package.nix +++ b/pkgs/by-name/al/alsa-lib/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, alsa-topology-conf -, alsa-ucm-conf -, testers +{ + lib, + stdenv, + fetchurl, + alsa-topology-conf, + alsa-ucm-conf, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -30,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: { ln -s ${alsa-topology-conf}/share/alsa/topology $out/share/alsa ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; @@ -45,7 +49,10 @@ stdenv.mkDerivation (finalAttrs: { ''; license = licenses.lgpl21Plus; - pkgConfigModules = [ "alsa" "alsa-topology" ]; + pkgConfigModules = [ + "alsa" + "alsa-topology" + ]; platforms = platforms.linux; maintainers = with maintainers; [ l-as ]; }; diff --git a/pkgs/by-name/al/alsa-oss/package.nix b/pkgs/by-name/al/alsa-oss/package.nix index 425c2c4996582..494d56feab975 100644 --- a/pkgs/by-name/al/alsa-oss/package.nix +++ b/pkgs/by-name/al/alsa-oss/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, alsa-lib, gettext, ncurses, libsamplerate}: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + gettext, + ncurses, + libsamplerate, +}: stdenv.mkDerivation rec { pname = "alsa-oss"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { hash = "sha256-ZK3O9ZJ+hI0uAk5kxL+FtvOVlk2ZdOxhkFrky4011o4="; }; - buildInputs = [ alsa-lib ncurses libsamplerate ]; + buildInputs = [ + alsa-lib + ncurses + libsamplerate + ]; nativeBuildInputs = [ gettext ]; configureFlags = [ "--disable-xmlto" ]; diff --git a/pkgs/by-name/al/alsa-plugins-wrapper/package.nix b/pkgs/by-name/al/alsa-plugins-wrapper/package.nix index 992f4886e262c..5e2525f651668 100644 --- a/pkgs/by-name/al/alsa-plugins-wrapper/package.nix +++ b/pkgs/by-name/al/alsa-plugins-wrapper/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, alsa-plugins -, writeShellScriptBin +{ + stdenv, + alsa-plugins, + writeShellScriptBin, }: let arch = if stdenv.hostPlatform.system == "i686-linux" then "32" else "64"; diff --git a/pkgs/by-name/al/alsa-scarlett-gui/package.nix b/pkgs/by-name/al/alsa-scarlett-gui/package.nix index 05c409ed72ea6..246b1653a528b 100644 --- a/pkgs/by-name/al/alsa-scarlett-gui/package.nix +++ b/pkgs/by-name/al/alsa-scarlett-gui/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, makeWrapper -, alsa-utils -, alsa-lib -, gtk4 -, openssl -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + makeWrapper, + alsa-utils, + alsa-lib, + gtk4, + openssl, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ]; - makeFlags = [ "DESTDIR=\${out}" "PREFIX=''" ]; + makeFlags = [ + "DESTDIR=\${out}" + "PREFIX=''" + ]; sourceRoot = "${src.name}/src"; postPatch = '' @@ -31,8 +35,16 @@ stdenv.mkDerivation rec { --replace-fail "/usr/sbin/alsactl" "${alsa-utils}/bin/alsactl" ''; - nativeBuildInputs = [ pkg-config wrapGAppsHook4 makeWrapper ]; - buildInputs = [ gtk4 alsa-lib openssl ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + makeWrapper + ]; + buildInputs = [ + gtk4 + alsa-lib + openssl + ]; postInstall = '' wrapProgram $out/bin/alsa-scarlett-gui --prefix PATH : ${lib.makeBinPath [ alsa-utils ]} diff --git a/pkgs/by-name/al/alsa-tools/package.nix b/pkgs/by-name/al/alsa-tools/package.nix index 54028d12ecf66..222a112421120 100644 --- a/pkgs/by-name/al/alsa-tools/package.nix +++ b/pkgs/by-name/al/alsa-tools/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, alsa-lib -, fltk13 -, gtk2 -, gtk3 -, makeWrapper -, pkg-config -, psmisc +{ + lib, + stdenv, + fetchurl, + alsa-lib, + fltk13, + gtk2, + gtk3, + makeWrapper, + pkg-config, + psmisc, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/al/alsa-topology-conf/package.nix b/pkgs/by-name/al/alsa-topology-conf/package.nix index 06d3a63dc468a..7f881bbe6a667 100644 --- a/pkgs/by-name/al/alsa-topology-conf/package.nix +++ b/pkgs/by-name/al/alsa-topology-conf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { name = "alsa-topology-conf-${version}"; diff --git a/pkgs/by-name/al/alsa-utils/package.nix b/pkgs/by-name/al/alsa-utils/package.nix index 74c24e18d0c39..afbbb45e92d5f 100644 --- a/pkgs/by-name/al/alsa-utils/package.nix +++ b/pkgs/by-name/al/alsa-utils/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, directoryListingUpdater -, fetchurl -, alsa-lib -, alsa-plugins -, gettext -, makeWrapper -, ncurses -, libsamplerate -, pciutils -, procps -, which -, fftw -, pipewire -, withPipewireLib ? true -, symlinkJoin +{ + lib, + stdenv, + directoryListingUpdater, + fetchurl, + alsa-lib, + alsa-plugins, + gettext, + makeWrapper, + ncurses, + libsamplerate, + pciutils, + procps, + which, + fftw, + pipewire, + withPipewireLib ? true, + symlinkJoin, }: let @@ -24,9 +25,7 @@ let # This is necessary because ALSA_PLUGIN_DIR must reference only one directory. plugin-dir = symlinkJoin { name = "all-plugins"; - paths = map - (path: "${path}/lib/alsa-lib") - plugin-packages; + paths = map (path: "${path}/lib/alsa-lib") plugin-packages; }; in stdenv.mkDerivation rec { @@ -38,16 +37,33 @@ stdenv.mkDerivation rec { hash = "sha256-mLxmd9DAB0AGZ5BRgiMkoKsIea6lWKj2i1EXgNMM2SQ="; }; - nativeBuildInputs = [ gettext makeWrapper ]; - buildInputs = [ alsa-lib ncurses libsamplerate fftw ]; + nativeBuildInputs = [ + gettext + makeWrapper + ]; + buildInputs = [ + alsa-lib + ncurses + libsamplerate + fftw + ]; - configureFlags = [ "--disable-xmlto" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ]; + configureFlags = [ + "--disable-xmlto" + "--with-udev-rules-dir=$(out)/lib/udev/rules.d" + ]; installFlags = [ "ASOUND_STATE_DIR=$(TMPDIR)/dummy" ]; postFixup = '' mv $out/bin/alsa-info.sh $out/bin/alsa-info - wrapProgram $out/bin/alsa-info --prefix PATH : "${lib.makeBinPath [ which pciutils procps ]}" + wrapProgram $out/bin/alsa-info --prefix PATH : "${ + lib.makeBinPath [ + which + pciutils + procps + ] + }" wrapProgram $out/bin/aplay --set-default ALSA_PLUGIN_DIR ${plugin-dir} ''; diff --git a/pkgs/by-name/al/alsaequal/package.nix b/pkgs/by-name/al/alsaequal/package.nix index d35facd6c3d97..d90c73845f6ed 100644 --- a/pkgs/by-name/al/alsaequal/package.nix +++ b/pkgs/by-name/al/alsaequal/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchFromGitHub -, alsa-lib, caps, - ladspaH +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + caps, + ladspaH, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/al/alt-ergo/package.nix b/pkgs/by-name/al/alt-ergo/package.nix index 2f58141c3281b..8aed8f4e701c8 100644 --- a/pkgs/by-name/al/alt-ergo/package.nix +++ b/pkgs/by-name/al/alt-ergo/package.nix @@ -1,4 +1,10 @@ -{ darwin, fetchurl, lib, ocamlPackages, stdenv }: +{ + darwin, + fetchurl, + lib, + ocamlPackages, + stdenv, +}: let pname = "alt-ergo"; @@ -10,38 +16,53 @@ let }; in -let alt-ergo-lib = ocamlPackages.buildDunePackage rec { - pname = "alt-ergo-lib"; - inherit version src; - buildInputs = with ocamlPackages; [ ppx_blob ]; - propagatedBuildInputs = with ocamlPackages; [ - camlzip - dolmen_loop - dune-build-info - fmt - ocplib-simplex - ppx_deriving - seq - stdlib-shims - zarith - ]; -}; in +let + alt-ergo-lib = ocamlPackages.buildDunePackage rec { + pname = "alt-ergo-lib"; + inherit version src; + buildInputs = with ocamlPackages; [ ppx_blob ]; + propagatedBuildInputs = with ocamlPackages; [ + camlzip + dolmen_loop + dune-build-info + fmt + ocplib-simplex + ppx_deriving + seq + stdlib-shims + zarith + ]; + }; +in -let alt-ergo-parsers = ocamlPackages.buildDunePackage rec { - pname = "alt-ergo-parsers"; - inherit version src; - nativeBuildInputs = [ ocamlPackages.menhir ]; - propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ psmt2-frontend ]); -}; in +let + alt-ergo-parsers = ocamlPackages.buildDunePackage rec { + pname = "alt-ergo-parsers"; + inherit version src; + nativeBuildInputs = [ ocamlPackages.menhir ]; + propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ psmt2-frontend ]); + }; +in ocamlPackages.buildDunePackage { inherit pname version src; - nativeBuildInputs = [ ocamlPackages.menhir ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ]; - propagatedBuildInputs = [ alt-ergo-parsers ] ++ (with ocamlPackages; [ cmdliner dune-site ppxlib ]); + nativeBuildInputs = [ + ocamlPackages.menhir + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ]; + propagatedBuildInputs = + [ alt-ergo-parsers ] + ++ (with ocamlPackages; [ + cmdliner + dune-site + ppxlib + ]); - outputs = [ "bin" "out" ]; + outputs = [ + "bin" + "out" + ]; installPhase = '' runHook preInstall @@ -53,8 +74,8 @@ ocamlPackages.buildDunePackage { meta = { description = "High-performance theorem prover and SMT solver"; - homepage = "https://alt-ergo.ocamlpro.com/"; - license = lib.licenses.ocamlpro_nc; + homepage = "https://alt-ergo.ocamlpro.com/"; + license = lib.licenses.ocamlpro_nc; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/al/alt-tab-macos/package.nix b/pkgs/by-name/al/alt-tab-macos/package.nix index 2f0468d9822c4..796309702fce5 100644 --- a/pkgs/by-name/al/alt-tab-macos/package.nix +++ b/pkgs/by-name/al/alt-tab-macos/package.nix @@ -34,7 +34,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Windows alt-tab on macOS"; homepage = "https://alt-tab-macos.netlify.app"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ donteatoreo emilytrau ]; + maintainers = with lib.maintainers; [ + donteatoreo + emilytrau + ]; platforms = lib.platforms.darwin; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; diff --git a/pkgs/by-name/al/altair/package.nix b/pkgs/by-name/al/altair/package.nix index 6d64409335bbf..816555bc8f30f 100644 --- a/pkgs/by-name/al/altair/package.nix +++ b/pkgs/by-name/al/altair/package.nix @@ -1,4 +1,9 @@ -{ lib, appimageTools, makeWrapper, fetchurl }: +{ + lib, + appimageTools, + makeWrapper, + fetchurl, +}: let pname = "altair"; diff --git a/pkgs/by-name/al/altdns/package.nix b/pkgs/by-name/al/altdns/package.nix index 839173efa64d6..f9e701eb91d5f 100644 --- a/pkgs/by-name/al/altdns/package.nix +++ b/pkgs/by-name/al/altdns/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication { diff --git a/pkgs/by-name/al/altermime/package.nix b/pkgs/by-name/al/altermime/package.nix index 812da5f8742ef..41c5ef19e8288 100644 --- a/pkgs/by-name/al/altermime/package.nix +++ b/pkgs/by-name/al/altermime/package.nix @@ -1,4 +1,8 @@ -{ lib, gccStdenv, fetchurl }: +{ + lib, + gccStdenv, + fetchurl, +}: gccStdenv.mkDerivation rec { pname = "altermime"; diff --git a/pkgs/by-name/al/alterx/package.nix b/pkgs/by-name/al/alterx/package.nix index a81d83d2ae312..08acb62ad0b34 100644 --- a/pkgs/by-name/al/alterx/package.nix +++ b/pkgs/by-name/al/alterx/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/al/althttpd/package.nix b/pkgs/by-name/al/althttpd/package.nix index 229082d6c1a32..a344ec304eaa1 100644 --- a/pkgs/by-name/al/althttpd/package.nix +++ b/pkgs/by-name/al/althttpd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchfossil, openssl }: +{ + lib, + stdenv, + fetchfossil, + openssl, +}: stdenv.mkDerivation rec { pname = "althttpd"; diff --git a/pkgs/by-name/al/altserver-linux/package.nix b/pkgs/by-name/al/altserver-linux/package.nix index 30d5282949014..30614f51c7a02 100644 --- a/pkgs/by-name/al/altserver-linux/package.nix +++ b/pkgs/by-name/al/altserver-linux/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchurl -, lib -, avahi-compat +{ + stdenv, + fetchurl, + lib, + avahi-compat, }: stdenv.mkDerivation (finalAttrs: { @@ -35,4 +36,3 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ max-amb ]; }; }) - diff --git a/pkgs/by-name/al/alttab/package.nix b/pkgs/by-name/al/alttab/package.nix index 99619bd88d2c4..2d6997abb019d 100644 --- a/pkgs/by-name/al/alttab/package.nix +++ b/pkgs/by-name/al/alttab/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, coreutils, fetchFromGitHub, autoconf, automake, pkg-config, procps, ronn, -libpng, uthash , which, xnee, xorg, python3Packages }: +{ + lib, + stdenv, + coreutils, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + procps, + ronn, + libpng, + uthash, + which, + xnee, + xorg, + python3Packages, +}: stdenv.mkDerivation rec { version = "1.7.1"; diff --git a/pkgs/by-name/al/alure/package.nix b/pkgs/by-name/al/alure/package.nix index a367b765874bd..67a36b9b15340 100644 --- a/pkgs/by-name/al/alure/package.nix +++ b/pkgs/by-name/al/alure/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, openal }: +{ + lib, + stdenv, + fetchurl, + cmake, + openal, +}: stdenv.mkDerivation rec { pname = "alure"; diff --git a/pkgs/by-name/al/alure2/package.nix b/pkgs/by-name/al/alure2/package.nix index f18a2a3434e16..53659154bc8b5 100644 --- a/pkgs/by-name/al/alure2/package.nix +++ b/pkgs/by-name/al/alure2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openal, libvorbis, opusfile, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openal, + libvorbis, + opusfile, + libsndfile, +}: stdenv.mkDerivation rec { pname = "alure2"; @@ -12,13 +21,18 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ openal libvorbis opusfile libsndfile ]; + buildInputs = [ + openal + libvorbis + opusfile + libsndfile + ]; meta = with lib; { description = "Utility library for OpenAL, providing a C++ API and managing common tasks that include file loading, caching, and streaming"; homepage = "https://github.com/kcat/alure"; license = licenses.zlib; platforms = platforms.linux; - maintainers = with maintainers; [ McSinyx ]; + maintainers = with maintainers; [ McSinyx ]; }; } diff --git a/pkgs/by-name/am/AMB-plugins/package.nix b/pkgs/by-name/am/AMB-plugins/package.nix index 97bd35264bb56..3dc01d0b2f4ee 100644 --- a/pkgs/by-name/am/AMB-plugins/package.nix +++ b/pkgs/by-name/am/AMB-plugins/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl, ladspaH +{ + lib, + stdenv, + fetchurl, + ladspaH, }: stdenv.mkDerivation rec { @@ -18,7 +22,7 @@ stdenv.mkDerivation rec { sed -i 's@g++@$(CXX)@g' Makefile ''; - preInstall="mkdir -p $out/lib/ladspa"; + preInstall = "mkdir -p $out/lib/ladspa"; meta = { description = "Set of ambisonics ladspa plugins"; diff --git a/pkgs/by-name/am/amass/package.nix b/pkgs/by-name/am/amass/package.nix index cbd6513905055..bd28097915967 100644 --- a/pkgs/by-name/am/amass/package.nix +++ b/pkgs/by-name/am/amass/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -42,11 +43,14 @@ buildGoModule rec { Amass ships with a set of wordlist (to be used with the amass -w flag) that are found under the wordlists output. - ''; + ''; homepage = "https://owasp.org/www-project-amass/"; changelog = "https://github.com/OWASP/Amass/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ kalbasit fab ]; + maintainers = with maintainers; [ + kalbasit + fab + ]; mainProgram = "amass"; }; } diff --git a/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix b/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix index 181e5c722017f..bc6be8d706eb8 100644 --- a/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix +++ b/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, amazon-ecr-credential-helper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + amazon-ecr-credential-helper, +}: buildGoModule rec { pname = "amazon-ecr-credential-helper"; diff --git a/pkgs/by-name/am/amazon-ecs-cli/package.nix b/pkgs/by-name/am/amazon-ecs-cli/package.nix index cd242a56410f6..7242f8cf113ab 100644 --- a/pkgs/by-name/am/amazon-ecs-cli/package.nix +++ b/pkgs/by-name/am/amazon-ecs-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "amazon-ecs-cli"; @@ -15,16 +19,16 @@ stdenv.mkDerivation rec { url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-darwin-amd64-v${version}"; sha256 = "1viala49sifpcmgn3jw24h5bkrlm4ffadjiqagbxj3lr0r78i9nm"; } - else throw "Architecture not supported"; + else + throw "Architecture not supported"; dontUnpack = true; - installPhase = - '' - mkdir -p $out/bin - cp $src $out/bin/ecs-cli - chmod +x $out/bin/ecs-cli - ''; # */ + installPhase = '' + mkdir -p $out/bin + cp $src $out/bin/ecs-cli + chmod +x $out/bin/ecs-cli + ''; # */ meta = with lib; { homepage = "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI.html"; @@ -33,7 +37,10 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.asl20; maintainers = with maintainers; [ Scriptkiddi ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; mainProgram = "ecs-cli"; }; } diff --git a/pkgs/by-name/am/amazon-ssm-agent/package.nix b/pkgs/by-name/am/amazon-ssm-agent/package.nix index f8a1697448507..e8327b415654d 100644 --- a/pkgs/by-name/am/amazon-ssm-agent/package.nix +++ b/pkgs/by-name/am/amazon-ssm-agent/package.nix @@ -1,19 +1,20 @@ -{ lib -, writeShellScriptBin -, buildGoModule -, makeWrapper -, darwin -, fetchFromGitHub -, coreutils -, nettools -, util-linux -, stdenv -, dmidecode -, bashInteractive -, nix-update-script -, nixosTests -, testers -, amazon-ssm-agent +{ + lib, + writeShellScriptBin, + buildGoModule, + makeWrapper, + darwin, + fetchFromGitHub, + coreutils, + nettools, + util-linux, + stdenv, + dmidecode, + bashInteractive, + nix-update-script, + nixosTests, + testers, + amazon-ssm-agent, }: let @@ -61,11 +62,13 @@ buildGoModule rec { ./0002-version-gen-don-t-use-unnecessary-constants.patch ]; - nativeBuildInputs = [ - makeWrapper - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.DarwinTools - ]; + nativeBuildInputs = + [ + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.DarwinTools + ]; # See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.2143.0/makefile#L121-L147 # The updater is not built because it cannot work on NixOS @@ -78,27 +81,32 @@ buildGoModule rec { "agent/session/logging" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; - postPatch = '' - printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh + postPatch = + '' + printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh - substituteInPlace agent/platform/platform_unix.go \ - --replace-fail "/usr/bin/uname" "${coreutils}/bin/uname" \ - --replace-fail '"/bin", "hostname"' '"${nettools}/bin/hostname"' \ - --replace-fail '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"' + substituteInPlace agent/platform/platform_unix.go \ + --replace-fail "/usr/bin/uname" "${coreutils}/bin/uname" \ + --replace-fail '"/bin", "hostname"' '"${nettools}/bin/hostname"' \ + --replace-fail '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"' - substituteInPlace agent/session/shell/shell_unix.go \ - --replace-fail '"script"' '"${util-linux}/bin/script"' + substituteInPlace agent/session/shell/shell_unix.go \ + --replace-fail '"script"' '"${util-linux}/bin/script"' - substituteInPlace agent/rebooter/rebooter_unix.go \ - --replace-fail "/sbin/shutdown" "shutdown" + substituteInPlace agent/rebooter/rebooter_unix.go \ + --replace-fail "/sbin/shutdown" "shutdown" - echo "${version}" > VERSION - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \ - --replace-fail /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode - ''; + echo "${version}" > VERSION + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \ + --replace-fail /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode + ''; preBuild = '' # Note: if this step fails, please patch the code to fix it! Please only skip @@ -112,7 +120,11 @@ buildGoModule rec { installPhase = '' runHook preInstall - declare -A map=(${builtins.concatStringsSep " " (lib.mapAttrsToList (name: value: "[\"${name}\"]=\"${value}\"") binaries)}) + declare -A map=(${ + builtins.concatStringsSep " " ( + lib.mapAttrsToList (name: value: "[\"${name}\"]=\"${value}\"") binaries + ) + }) for key in ''${!map[@]}; do install -D -m 0555 -T "$GOPATH/bin/''${key}" "$out/bin/''${map[''${key}]}" @@ -163,6 +175,11 @@ buildGoModule rec { homepage = "https://github.com/aws/amazon-ssm-agent"; license = licenses.asl20; platforms = platforms.unix; - maintainers = with maintainers; [ copumpkin manveru anthonyroussel arianvp ]; + maintainers = with maintainers; [ + copumpkin + manveru + anthonyroussel + arianvp + ]; }; } diff --git a/pkgs/by-name/am/amber-theme/package.nix b/pkgs/by-name/am/amber-theme/package.nix index e39f0e3f6454b..aad3b7e398346 100644 --- a/pkgs/by-name/am/amber-theme/package.nix +++ b/pkgs/by-name/am/amber-theme/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + sassc, + gdk-pixbuf, + librsvg, + gtk_engines, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "amber-theme"; @@ -11,9 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-OrdBeAD+gdIu6u8ESE9PtqYadSuJ8nx1Z8fB4D9y4W4="; }; - nativeBuildInputs = [ meson ninja sassc ]; + nativeBuildInputs = [ + meson + ninja + sassc + ]; - buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + buildInputs = [ + gdk-pixbuf + librsvg + gtk_engines + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/am/amd-blis/package.nix b/pkgs/by-name/am/amd-blis/package.nix index cbbdc52ce4275..9e798a882edd4 100644 --- a/pkgs/by-name/am/amd-blis/package.nix +++ b/pkgs/by-name/am/amd-blis/package.nix @@ -47,10 +47,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = [ - "--enable-cblas" - "--blas-int-size=${blasIntSize}" - ] ++ lib.optionals withOpenMP [ "--enable-threading=openmp" ] ++ [ withArchitecture ]; + configureFlags = + [ + "--enable-cblas" + "--blas-int-size=${blasIntSize}" + ] + ++ lib.optionals withOpenMP [ "--enable-threading=openmp" ] + ++ [ withArchitecture ]; postPatch = '' patchShebangs configure build/flatten-headers.py diff --git a/pkgs/by-name/am/amdctl/package.nix b/pkgs/by-name/am/amdctl/package.nix index 3d07d6be1edf7..cdf983395bc43 100644 --- a/pkgs/by-name/am/amdctl/package.nix +++ b/pkgs/by-name/am/amdctl/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/am/amdvlk/test.nix b/pkgs/by-name/am/amdvlk/test.nix index e76e6dce9eaf1..40da948c68369 100644 --- a/pkgs/by-name/am/amdvlk/test.nix +++ b/pkgs/by-name/am/amdvlk/test.nix @@ -1,9 +1,18 @@ -{ lib, makeImpureTest, coreutils, amdvlk, vulkan-tools }: +{ + lib, + makeImpureTest, + coreutils, + amdvlk, + vulkan-tools, +}: makeImpureTest { name = "amdvlk"; testedPackage = "amdvlk"; - sandboxPaths = [ "/sys" "/dev/dri" ]; + sandboxPaths = [ + "/sys" + "/dev/dri" + ]; nativeBuildInputs = [ vulkan-tools ]; diff --git a/pkgs/by-name/am/ameba/package.nix b/pkgs/by-name/am/ameba/package.nix index 6f15544953b8f..07aa2de997119 100644 --- a/pkgs/by-name/am/ameba/package.nix +++ b/pkgs/by-name/am/ameba/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, crystal }: +{ + lib, + fetchFromGitHub, + crystal, +}: crystal.buildCrystalPackage rec { pname = "ameba"; diff --git a/pkgs/by-name/am/amf-headers/package.nix b/pkgs/by-name/am/amf-headers/package.nix index f6cb9aafbb10f..1fa67faf9cd8f 100644 --- a/pkgs/by-name/am/amf-headers/package.nix +++ b/pkgs/by-name/am/amf-headers/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "amf-headers"; diff --git a/pkgs/by-name/am/amfora/package.nix b/pkgs/by-name/am/amfora/package.nix index 9b658386725e0..bb335a505bb21 100644 --- a/pkgs/by-name/am/amfora/package.nix +++ b/pkgs/by-name/am/amfora/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, buildGoModule }: +{ + stdenv, + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "amfora"; diff --git a/pkgs/by-name/am/amidst/package.nix b/pkgs/by-name/am/amidst/package.nix index 7661e04430feb..422b902f30763 100644 --- a/pkgs/by-name/am/amidst/package.nix +++ b/pkgs/by-name/am/amidst/package.nix @@ -1,21 +1,29 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "amidst"; version = "4.7"; - src = fetchurl { # TODO: Compile from src - url = "https://github.com/toolbox4minecraft/amidst/releases/download/v${version}/amidst-v${lib.replaceStrings [ "." ] [ "-" ] version}.jar"; + src = fetchurl { + # TODO: Compile from src + url = "https://github.com/toolbox4minecraft/amidst/releases/download/v${version}/amidst-v${ + lib.replaceStrings [ "." ] [ "-" ] version + }.jar"; sha256 = "sha256-oecRjD7JUuvFym8N/hSE5cbAFQojS6yxOuxpwWRlW9M="; }; dontUnpack = true; - nativeBuildInputs = [ jre makeWrapper ]; + nativeBuildInputs = [ + jre + makeWrapper + ]; installPhase = '' mkdir -p $out/{bin,lib/amidst} diff --git a/pkgs/by-name/am/amiri/package.nix b/pkgs/by-name/am/amiri/package.nix index 8f2985952c65f..19f418728f259 100644 --- a/pkgs/by-name/am/amiri/package.nix +++ b/pkgs/by-name/am/amiri/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "amiri"; @@ -28,4 +32,3 @@ stdenvNoCC.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/am/aml/package.nix b/pkgs/by-name/am/aml/package.nix index 19f3b28262238..c18e7efcf53e7 100644 --- a/pkgs/by-name/am/aml/package.nix +++ b/pkgs/by-name/am/aml/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, +}: stdenv.mkDerivation rec { pname = "aml"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-BX+MRqvnwwLPhz22m0gfJ2EkW31KQEi/YTgOCMcQk2Q="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; meta = with lib; { description = "Another main loop"; diff --git a/pkgs/by-name/am/amoco/package.nix b/pkgs/by-name/am/amoco/package.nix index ff9fcc7efe63a..42e76b5bd4e1a 100644 --- a/pkgs/by-name/am/amoco/package.nix +++ b/pkgs/by-name/am/amoco/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/am/among-sus/package.nix b/pkgs/by-name/am/among-sus/package.nix index d53d98f5e7afa..b666073e0e7c2 100644 --- a/pkgs/by-name/am/among-sus/package.nix +++ b/pkgs/by-name/am/among-sus/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromSourcehut, port ? "1234" }: +{ + lib, + stdenv, + fetchFromSourcehut, + port ? "1234", +}: stdenv.mkDerivation { pname = "among-sus-unstable"; diff --git a/pkgs/by-name/am/amphetype/package.nix b/pkgs/by-name/am/amphetype/package.nix index 15363c2a0e377..286a2cc162cbf 100644 --- a/pkgs/by-name/am/amphetype/package.nix +++ b/pkgs/by-name/am/amphetype/package.nix @@ -1,11 +1,18 @@ -{ copyDesktopItems, fetchFromGitLab, lib, makeDesktopItem, python3Packages, qt5 +{ + copyDesktopItems, + fetchFromGitLab, + lib, + makeDesktopItem, + python3Packages, + qt5, }: let pname = "amphetype"; version = "1.0.0"; description = "An advanced typing practice program"; -in python3Packages.buildPythonApplication { +in +python3Packages.buildPythonApplication { inherit pname version; src = fetchFromGitLab { @@ -15,7 +22,10 @@ in python3Packages.buildPythonApplication { hash = "sha256-pve2f+XMfFokMCtW3KdeOJ9Ey330Gwv/dk1+WBtrBEQ="; }; - nativeBuildInputs = [ copyDesktopItems qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ + copyDesktopItems + qt5.wrapQtAppsHook + ]; buildInputs = [ qt5.qtbase @@ -41,7 +51,10 @@ in python3Packages.buildPythonApplication { name = pname; desktopName = "Amphetype"; genericName = "Typing Practice"; - categories = [ "Education" "Qt" ]; + categories = [ + "Education" + "Qt" + ]; exec = pname; comment = description; }) diff --git a/pkgs/by-name/am/amqpcat/package.nix b/pkgs/by-name/am/amqpcat/package.nix index 38c0b5302ff18..01c6237acbbaa 100644 --- a/pkgs/by-name/am/amqpcat/package.nix +++ b/pkgs/by-name/am/amqpcat/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, crystal, openssl, testers, amqpcat }: +{ + lib, + fetchFromGitHub, + crystal, + openssl, + testers, + amqpcat, +}: crystal.buildCrystalPackage rec { pname = "amqpcat"; diff --git a/pkgs/by-name/am/amrnb/package.nix b/pkgs/by-name/am/amrnb/package.nix index 4e325932b5e85..0ebd741fdc9a0 100644 --- a/pkgs/by-name/am/amrnb/package.nix +++ b/pkgs/by-name/am/amrnb/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { pname = "amrnb"; @@ -15,7 +20,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ unzip ]; - configureFlags = [ "--cache-file=config.cache" "--with-downloader=true" ]; + configureFlags = [ + "--cache-file=config.cache" + "--with-downloader=true" + ]; postConfigure = '' cp $srcAmr 26104-b00.zip diff --git a/pkgs/by-name/am/amrwb/package.nix b/pkgs/by-name/am/amrwb/package.nix index 81938bb4cba73..9361a10d04319 100644 --- a/pkgs/by-name/am/amrwb/package.nix +++ b/pkgs/by-name/am/amrwb/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "amrwb"; @@ -16,7 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; - configureFlags = [ "--cache-file=config.cache" "--with-downloader=true" ]; + configureFlags = [ + "--cache-file=config.cache" + "--with-downloader=true" + ]; postConfigure = '' cp $srcAmr 26204-b00.zip diff --git a/pkgs/by-name/am/ams-lv2/package.nix b/pkgs/by-name/am/ams-lv2/package.nix index 8f88551ddfb58..00b4916fe55e8 100644 --- a/pkgs/by-name/am/ams-lv2/package.nix +++ b/pkgs/by-name/am/ams-lv2/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkg-config -, wafHook, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cairo, + fftw, + gtkmm2, + lv2, + lvtk, + pkg-config, + wafHook, + python3, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "ams-lv2"; version = "1.2.2"; @@ -12,8 +23,18 @@ stdenv.mkDerivation rec { sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"; }; - nativeBuildInputs = [ pkg-config wafHook python3 ]; - buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ]; + nativeBuildInputs = [ + pkg-config + wafHook + python3 + ]; + buildInputs = [ + cairo + fftw + gtkmm2 + lv2 + lvtk + ]; postPatch = '' # U was removed in python 3.11 because it had no effect diff --git a/pkgs/by-name/am/ams/package.nix b/pkgs/by-name/am/ams/package.nix index 9086bfc333878..8cdeaae8fe9fd 100644 --- a/pkgs/by-name/am/ams/package.nix +++ b/pkgs/by-name/am/ams/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchgit -, alsa-lib -, ladspaH -, libjack2 -, fftw -, zita-alsa-pcmi -, qt5 -, pkg-config -, autoreconfHook +{ + lib, + stdenv, + fetchgit, + alsa-lib, + ladspaH, + libjack2, + fftw, + zita-alsa-pcmi, + qt5, + pkg-config, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -26,16 +28,18 @@ stdenv.mkDerivation rec { qt5.wrapQtAppsHook ]; - buildInputs = [ - alsa-lib - ladspaH - libjack2 - fftw - zita-alsa-pcmi - ] ++ (with qt5; [ - qtbase - qttools - ]); + buildInputs = + [ + alsa-lib + ladspaH + libjack2 + fftw + zita-alsa-pcmi + ] + ++ (with qt5; [ + qtbase + qttools + ]); meta = with lib; { description = "Realtime modular synthesizer for ALSA"; diff --git a/pkgs/by-name/am/amtterm/package.nix b/pkgs/by-name/am/amtterm/package.nix index caa030b8c65f3..6d6788cd2238f 100644 --- a/pkgs/by-name/am/amtterm/package.nix +++ b/pkgs/by-name/am/amtterm/package.nix @@ -1,12 +1,28 @@ -{ fetchFromGitHub, lib, stdenv, makeWrapper, openssl, perl, perlPackages, pkg-config }: - +{ + fetchFromGitHub, + lib, + stdenv, + makeWrapper, + openssl, + perl, + perlPackages, + pkg-config, +}: stdenv.mkDerivation (finalAttrs: { pname = "amtterm"; version = "1.7-1-unstable-2023-10-27"; - buildInputs = (with perlPackages; [ perl SOAPLite ]) ++ [ openssl ]; - nativeBuildInputs = [ makeWrapper pkg-config ]; + buildInputs = + (with perlPackages; [ + perl + SOAPLite + ]) + ++ [ openssl ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; src = fetchFromGitHub { owner = "kraxel"; @@ -15,10 +31,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-JwS2agmJJ6VcGLkNbkFRb5bzKV8el1DMDjalmLnOdE8="; }; - makeFlags = [ "prefix=$(out)" "STRIP=" "USE_OPENSSL=1" ]; + makeFlags = [ + "prefix=$(out)" + "STRIP=" + "USE_OPENSSL=1" + ]; - postInstall = - "wrapProgram $out/bin/amttool --prefix PERL5LIB : $PERL5LIB"; + postInstall = "wrapProgram $out/bin/amttool --prefix PERL5LIB : $PERL5LIB"; meta = { description = "Intel AMT® SoL client + tools"; diff --git a/pkgs/by-name/am/amule/package.nix b/pkgs/by-name/am/amule/package.nix index 608ce21c99976..74098896d0c7b 100644 --- a/pkgs/by-name/am/amule/package.nix +++ b/pkgs/by-name/am/amule/package.nix @@ -1,30 +1,32 @@ -{ monolithic ? true # build monolithic amule -, enableDaemon ? false # build amule daemon -, httpServer ? false # build web interface for the daemon -, client ? false # build amule remote gui -, fetchFromGitHub -, fetchpatch -, stdenv -, lib -, cmake -, zlib -, wxGTK32 -, perl -, cryptopp -, libupnp -, boost # Not using boost leads to crashes with gtk3 -, gettext -, libpng -, pkg-config -, makeWrapper -, libX11 +{ + monolithic ? true, # build monolithic amule + enableDaemon ? false, # build amule daemon + httpServer ? false, # build web interface for the daemon + client ? false, # build amule remote gui + fetchFromGitHub, + fetchpatch, + stdenv, + lib, + cmake, + zlib, + wxGTK32, + perl, + cryptopp, + libupnp, + boost, # Not using boost leads to crashes with gtk3 + gettext, + libpng, + pkg-config, + makeWrapper, + libX11, }: # daemon and client are not build monolithic assert monolithic || (!monolithic && (enableDaemon || client || httpServer)); stdenv.mkDerivation rec { - pname = "amule" + pname = + "amule" + lib.optionalString httpServer "-web" + lib.optionalString enableDaemon "-daemon" + lib.optionalString client "-gui"; @@ -44,17 +46,24 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake gettext makeWrapper pkg-config ]; + nativeBuildInputs = [ + cmake + gettext + makeWrapper + pkg-config + ]; - buildInputs = [ - zlib - wxGTK32 - perl - cryptopp.dev - libupnp - boost - ] ++ lib.optional httpServer libpng - ++ lib.optional client libX11; + buildInputs = + [ + zlib + wxGTK32 + perl + cryptopp.dev + libupnp + boost + ] + ++ lib.optional httpServer libpng + ++ lib.optional client libX11; cmakeFlags = [ "-DBUILD_MONOLITHIC=${if monolithic then "ON" else "OFF"}" diff --git a/pkgs/by-name/an/analog/package.nix b/pkgs/by-name/an/analog/package.nix index b47ef9939b1bc..11777f147a24e 100644 --- a/pkgs/by-name/an/analog/package.nix +++ b/pkgs/by-name/an/analog/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "analog"; diff --git a/pkgs/by-name/an/ananicy-cpp/package.nix b/pkgs/by-name/an/ananicy-cpp/package.nix index 424df2427495d..1539f89b4f37a 100644 --- a/pkgs/by-name/an/ananicy-cpp/package.nix +++ b/pkgs/by-name/an/ananicy-cpp/package.nix @@ -42,23 +42,27 @@ clangStdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals withBpf [ - bpftools - ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals withBpf [ + bpftools + ]; - buildInputs = [ - pcre2 - spdlog - nlohmann_json - systemd - zlib - ] ++ lib.optionals withBpf [ - libbpf - elfutils - ]; + buildInputs = + [ + pcre2 + spdlog + nlohmann_json + systemd + zlib + ] + ++ lib.optionals withBpf [ + libbpf + elfutils + ]; # BPF A call to built-in function '__stack_chk_fail' is not supported. hardeningDisable = [ diff --git a/pkgs/by-name/an/ananicy/package.nix b/pkgs/by-name/an/ananicy/package.nix index 9567f2d4d0f7b..1bafff9203301 100644 --- a/pkgs/by-name/an/ananicy/package.nix +++ b/pkgs/by-name/an/ananicy/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, python3, fetchFromGitHub, makeWrapper, schedtool, sysctl, util-linux, fetchpatch }: +{ + lib, + stdenv, + python3, + fetchFromGitHub, + makeWrapper, + schedtool, + sysctl, + util-linux, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "ananicy"; @@ -35,7 +45,12 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/ananicy \ - --prefix PATH : ${lib.makeBinPath [ schedtool util-linux ]} + --prefix PATH : ${ + lib.makeBinPath [ + schedtool + util-linux + ] + } substituteInPlace $out/lib/systemd/system/ananicy.service \ --replace "/sbin/sysctl" "${sysctl}/bin/sysctl" \ diff --git a/pkgs/by-name/an/anarchism/package.nix b/pkgs/by-name/an/anarchism/package.nix index b9cedffa19484..3fb7048680bdd 100644 --- a/pkgs/by-name/an/anarchism/package.nix +++ b/pkgs/by-name/an/anarchism/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, xdg-utils }: +{ + lib, + stdenv, + fetchFromGitLab, + xdg-utils, +}: stdenv.mkDerivation rec { pname = "anarchism"; diff --git a/pkgs/by-name/an/andagii/package.nix b/pkgs/by-name/an/andagii/package.nix index 22b686684f989..3900d74f98b47 100644 --- a/pkgs/by-name/an/andagii/package.nix +++ b/pkgs/by-name/an/andagii/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "andagii"; diff --git a/pkgs/by-name/an/anders/package.nix b/pkgs/by-name/an/anders/package.nix index dff6c86703d41..9943da5a735de 100644 --- a/pkgs/by-name/an/anders/package.nix +++ b/pkgs/by-name/an/anders/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: ocamlPackages.buildDunePackage rec { pname = "anders"; diff --git a/pkgs/by-name/an/andika/package.nix b/pkgs/by-name/an/andika/package.nix index 897c4ab3c5d1b..8d39ab9ed1096 100644 --- a/pkgs/by-name/an/andika/package.nix +++ b/pkgs/by-name/an/andika/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "andika"; diff --git a/pkgs/by-name/an/android-backup-extractor/package.nix b/pkgs/by-name/an/android-backup-extractor/package.nix index 3ecbce8555cde..61d8f55ea5383 100644 --- a/pkgs/by-name/an/android-backup-extractor/package.nix +++ b/pkgs/by-name/an/android-backup-extractor/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, makeWrapper -, jre +{ + stdenv, + lib, + fetchurl, + makeWrapper, + jre, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/an/android-studio-tools/package.nix b/pkgs/by-name/an/android-studio-tools/package.nix index 2b1bca4798418..699f7405eb34e 100644 --- a/pkgs/by-name/an/android-studio-tools/package.nix +++ b/pkgs/by-name/an/android-studio-tools/package.nix @@ -17,13 +17,15 @@ stdenvNoCC.mkDerivation { hash = "sha256-NjxJzHRT2/zZ9YzzjqaMVxpOELkDneQgc1/y1GUnZow="; }; - postPatch = '' - find . -type f -not -path "./bin/*" -exec chmod -x {} \; - '' + lib.optionalString stdenvNoCC.hostPlatform.isDarwin '' - for f in cmdline-tools/bin/*; do - sed -i 's|start up script for Linux|start up script for Mac|' $f - done - ''; + postPatch = + '' + find . -type f -not -path "./bin/*" -exec chmod -x {} \; + '' + + lib.optionalString stdenvNoCC.hostPlatform.isDarwin '' + for f in cmdline-tools/bin/*; do + sed -i 's|start up script for Linux|start up script for Mac|' $f + done + ''; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/an/android-udev-rules/package.nix b/pkgs/by-name/an/android-udev-rules/package.nix index f569f315b3643..61f952a98dcc0 100644 --- a/pkgs/by-name/an/android-udev-rules/package.nix +++ b/pkgs/by-name/an/android-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: ## Usage # In NixOS, simply add this package to services.udev.packages: diff --git a/pkgs/by-name/an/andyetitmoves/package.nix b/pkgs/by-name/an/andyetitmoves/package.nix index c9e8a0695ba27..26f1705d2261b 100644 --- a/pkgs/by-name/an/andyetitmoves/package.nix +++ b/pkgs/by-name/an/andyetitmoves/package.nix @@ -1,40 +1,56 @@ -{ lib, stdenv, fetchurl, libvorbis, libogg, libtheora, SDL, libXft, SDL_image, zlib, libX11, libpng, openal, runtimeShell, requireFile, commercialVersion ? false }: +{ + lib, + stdenv, + fetchurl, + libvorbis, + libogg, + libtheora, + SDL, + libXft, + SDL_image, + zlib, + libX11, + libpng, + openal, + runtimeShell, + requireFile, + commercialVersion ? false, +}: stdenv.mkDerivation rec { pname = "andyetitmoves"; version = "1.2.2"; src = - if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" - then + if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then let postfix = if stdenv.hostPlatform.system == "i686-linux" then "i386" else "x86_64"; commercialName = "${pname}-${version}_${postfix}.tar.gz"; demoUrl = "http://www.andyetitmoves.net/demo/${pname}Demo-${version}_${postfix}.tar.gz"; in - if commercialVersion - then - requireFile - { - message = '' - We cannot download the commercial version automatically, as you require a license. - Once you bought a license, you need to add your downloaded version to the nix store. - You can do this by using "nix-prefetch-url file:///\$PWD/${commercialName}" in the - directory where yousaved it. - ''; - name = commercialName; - sha256 = - if stdenv.hostPlatform.system == "i686-linux" - then "15wvzmmidvykwjrbnq70h5jrvnjx1hcrm0357qj85q4aqbzavh01" - else "1v8z16qa9ka8sf7qq45knsxj87s6sipvv3a7xq11pb5xk08fb2ql"; - } + if commercialVersion then + requireFile { + message = '' + We cannot download the commercial version automatically, as you require a license. + Once you bought a license, you need to add your downloaded version to the nix store. + You can do this by using "nix-prefetch-url file:///\$PWD/${commercialName}" in the + directory where yousaved it. + ''; + name = commercialName; + sha256 = + if stdenv.hostPlatform.system == "i686-linux" then + "15wvzmmidvykwjrbnq70h5jrvnjx1hcrm0357qj85q4aqbzavh01" + else + "1v8z16qa9ka8sf7qq45knsxj87s6sipvv3a7xq11pb5xk08fb2ql"; + } else fetchurl { url = demoUrl; sha256 = - if stdenv.hostPlatform.system == "i686-linux" - then "0f14vrrbq05hsbdajrb5y9za65fpng1lc8f0adb4aaz27x7sh525" - else "0mg41ya0b27blq3b5498kwl4rj46dj21rcd7qd0rw1kyvr7sx4v4"; + if stdenv.hostPlatform.system == "i686-linux" then + "0f14vrrbq05hsbdajrb5y9za65fpng1lc8f0adb4aaz27x7sh525" + else + "0mg41ya0b27blq3b5498kwl4rj46dj21rcd7qd0rw1kyvr7sx4v4"; } else throw "And Yet It Moves nix package only supports linux and intel cpu's."; @@ -59,7 +75,18 @@ stdenv.mkDerivation rec { chmod +x $out/bin/$binName ''; - buildInputs = [ libvorbis libogg libtheora SDL libXft SDL_image zlib libX11 libpng openal ]; + buildInputs = [ + libvorbis + libogg + libtheora + SDL + libXft + SDL_image + zlib + libX11 + libpng + openal + ]; meta = with lib; { description = "Physics/Gravity Platform game"; diff --git a/pkgs/by-name/an/anew/package.nix b/pkgs/by-name/an/anew/package.nix index 35c7d872f3d8b..01df45bf93806 100644 --- a/pkgs/by-name/an/anew/package.nix +++ b/pkgs/by-name/an/anew/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Tool for adding new lines to files, skipping duplicates"; diff --git a/pkgs/by-name/an/anewer/package.nix b/pkgs/by-name/an/anewer/package.nix index 009a6264fddde..8765b6e810af1 100644 --- a/pkgs/by-name/an/anewer/package.nix +++ b/pkgs/by-name/an/anewer/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "anewer"; diff --git a/pkgs/by-name/an/angband/package.nix b/pkgs/by-name/an/angband/package.nix index 54e4fff299d63..ac2d60a744809 100644 --- a/pkgs/by-name/an/angband/package.nix +++ b/pkgs/by-name/an/angband/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, ncurses5 -, enableSdl2 ? false, SDL2, SDL2_image, SDL2_sound, SDL2_mixer, SDL2_ttf +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + ncurses5, + enableSdl2 ? false, + SDL2, + SDL2_image, + SDL2_sound, + SDL2_mixer, + SDL2_ttf, }: stdenv.mkDerivation (finalAttrs: { @@ -14,14 +24,15 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ ncurses5 ] - ++ lib.optionals enableSdl2 [ - SDL2 - SDL2_image - SDL2_sound - SDL2_mixer - SDL2_ttf - ]; + buildInputs = + [ ncurses5 ] + ++ lib.optionals enableSdl2 [ + SDL2 + SDL2_image + SDL2_sound + SDL2_mixer + SDL2_ttf + ]; configureFlags = lib.optional enableSdl2 "--enable-sdl2"; diff --git a/pkgs/by-name/an/angelscript/package.nix b/pkgs/by-name/an/angelscript/package.nix index 9e38dc8d285fe..82ae8c96687dd 100644 --- a/pkgs/by-name/an/angelscript/package.nix +++ b/pkgs/by-name/an/angelscript/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, unzip -, cmake +{ + lib, + stdenv, + fetchurl, + unzip, + cmake, }: stdenv.mkDerivation rec { @@ -14,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-DFLRaIAWoLJITpylSUccTild8GB3DFeEAUTGSBX1TxA="; }; - nativeBuildInputs = [ unzip cmake ]; + nativeBuildInputs = [ + unzip + cmake + ]; preConfigure = '' export ROOT=$PWD diff --git a/pkgs/by-name/an/angsd/package.nix b/pkgs/by-name/an/angsd/package.nix index 71366dc0d3648..3a63cced60765 100644 --- a/pkgs/by-name/an/angsd/package.nix +++ b/pkgs/by-name/an/angsd/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, htslib -, zlib -, bzip2 -, xz -, curl -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + htslib, + zlib, + bzip2, + xz, + curl, + openssl, }: stdenv.mkDerivation rec { @@ -31,11 +32,21 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ htslib zlib bzip2 xz curl openssl ]; + buildInputs = [ + htslib + zlib + bzip2 + xz + curl + openssl + ]; enableParallelBuilding = true; - makeFlags = [ "HTSSRC=systemwide" "prefix=$(out)" ]; + makeFlags = [ + "HTSSRC=systemwide" + "prefix=$(out)" + ]; meta = with lib; { description = "Program for analysing NGS data"; @@ -44,4 +55,3 @@ stdenv.mkDerivation rec { license = licenses.gpl2; }; } - diff --git a/pkgs/by-name/an/animatch/package.nix b/pkgs/by-name/an/animatch/package.nix index 7b235c93e0336..91cbba82717c5 100644 --- a/pkgs/by-name/an/animatch/package.nix +++ b/pkgs/by-name/an/animatch/package.nix @@ -1,10 +1,11 @@ -{ lib -, allegro5 -, cmake -, fetchFromGitLab -, libGL -, stdenv -, xorg +{ + lib, + allegro5, + cmake, + fetchFromGitLab, + libGL, + stdenv, + xorg, }: stdenv.mkDerivation rec { pname = "animatch"; @@ -28,7 +29,7 @@ stdenv.mkDerivation rec { ]; cmakeFlags = [ - "-DLIBSUPERDERPY_STATIC=ON" # recommended by upstream for coexistence with other superderpy games + "-DLIBSUPERDERPY_STATIC=ON" # recommended by upstream for coexistence with other superderpy games ]; meta = { @@ -39,4 +40,3 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ colinsane ]; }; } - diff --git a/pkgs/by-name/an/anime4k/package.nix b/pkgs/by-name/an/anime4k/package.nix index 7b8d1fbfc1ef8..785227dfdfa76 100644 --- a/pkgs/by-name/an/anime4k/package.nix +++ b/pkgs/by-name/an/anime4k/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC +{ + fetchFromGitHub, + lib, + stdenvNoCC, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/an/anko/package.nix b/pkgs/by-name/an/anko/package.nix index f88534e9ecf83..ddfef902dfc81 100644 --- a/pkgs/by-name/an/anko/package.nix +++ b/pkgs/by-name/an/anko/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/an/annapurna-sil/package.nix b/pkgs/by-name/an/annapurna-sil/package.nix index 325a1a5bcd57c..ef9cdbc6e62ab 100644 --- a/pkgs/by-name/an/annapurna-sil/package.nix +++ b/pkgs/by-name/an/annapurna-sil/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "annapurna-sil"; diff --git a/pkgs/by-name/an/annextimelog/package.nix b/pkgs/by-name/an/annextimelog/package.nix index 799525ea88245..88a914f94f633 100644 --- a/pkgs/by-name/an/annextimelog/package.nix +++ b/pkgs/by-name/an/annextimelog/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitLab +{ + lib, + python3, + fetchFromGitLab, }: python3.pkgs.buildPythonApplication rec { @@ -32,4 +33,3 @@ python3.pkgs.buildPythonApplication rec { maintainers = with maintainers; [ matthiasbeyer ]; }; } - diff --git a/pkgs/by-name/an/anonymousPro/package.nix b/pkgs/by-name/an/anonymousPro/package.nix index f498e2780b3c9..ae8644b1547da 100644 --- a/pkgs/by-name/an/anonymousPro/package.nix +++ b/pkgs/by-name/an/anonymousPro/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "anonymouspro"; version = "1.002"; src = fetchzip { - url = "https://www.marksimonson.com/assets/content/fonts/AnonymousPro-${lib.replaceStrings ["."] ["_"] version}.zip"; + url = "https://www.marksimonson.com/assets/content/fonts/AnonymousPro-${ + lib.replaceStrings [ "." ] [ "_" ] version + }.zip"; hash = "sha256-FhyzV4By8XKN9EyukAknzml/7lUuV6Evnt6Ht3H6TUU="; }; diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 36cc07aa6ec66..e334e7e9e8906 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -1,79 +1,80 @@ -{ libsepol -, libavif -, bash -, curl -, librsvg -, libselinux -, util-linux -, libwebp -, libheif -, lib -, stdenv -, fetchFromGitHub -, libxslt -, libxml2 -, cmake -, exiftool -, openexr_3 -, glib -, python3Packages -, perlPackages -, lensfun -, intltool -, pkg-config -, desktop-file-utils -, libffi -, gtk3 -, libjpeg -, pugixml -, pcre -, pcre2 -, lcms -, sqlite -, json-glib -, jasper -, libsecret -, gmic -, icu -, colord -, colord-gtk -, libaom -, libdatrie -, libsysprof-capture -, libde265 -, isocodes -, libpsl -, libepoxy -, libsoup_2_4 -, exiv2 -, libXtst -, libthai -, x265 -, libXdmcp -, openjpeg -, libgpg-error -, libxkbcommon -, osm-gps-map -, wrapGAppsHook3 -, rav1e -, dav1d -, libgcrypt -, graphicsmagick -, unstableGitUpdater +{ + libsepol, + libavif, + bash, + curl, + librsvg, + libselinux, + util-linux, + libwebp, + libheif, + lib, + stdenv, + fetchFromGitHub, + libxslt, + libxml2, + cmake, + exiftool, + openexr_3, + glib, + python3Packages, + perlPackages, + lensfun, + intltool, + pkg-config, + desktop-file-utils, + libffi, + gtk3, + libjpeg, + pugixml, + pcre, + pcre2, + lcms, + sqlite, + json-glib, + jasper, + libsecret, + gmic, + icu, + colord, + colord-gtk, + libaom, + libdatrie, + libsysprof-capture, + libde265, + isocodes, + libpsl, + libepoxy, + libsoup_2_4, + exiv2, + libXtst, + libthai, + x265, + libXdmcp, + openjpeg, + libgpg-error, + libxkbcommon, + osm-gps-map, + wrapGAppsHook3, + rav1e, + dav1d, + libgcrypt, + graphicsmagick, + unstableGitUpdater, }: let - # requires libavif 0.x, see https://github.com/aurelienpierreeng/ansel/blob/e2c4a0a60cd80f741dd3d3c6ab72be9ac11234fb/src/CMakeLists.txt#L356 - libavif_0_11 = libavif.overrideAttrs rec { - version = "0.11.1"; + # requires libavif 0.x, see https://github.com/aurelienpierreeng/ansel/blob/e2c4a0a60cd80f741dd3d3c6ab72be9ac11234fb/src/CMakeLists.txt#L356 + libavif_0_11 = libavif.overrideAttrs rec { + version = "0.11.1"; - src = fetchFromGitHub { - owner = "AOMediaCodec"; - repo = "libavif"; - rev = "v${version}"; - hash = "sha256-mUi0DU99XV3FzUZ8/9uJZU+W3fc6Bk6+y6Z78IRZ9Qs="; - }; + src = fetchFromGitHub { + owner = "AOMediaCodec"; + repo = "libavif"; + rev = "v${version}"; + hash = "sha256-mUi0DU99XV3FzUZ8/9uJZU+W3fc6Bk6+y6Z78IRZ9Qs="; }; + }; in stdenv.mkDerivation { pname = "ansel"; diff --git a/pkgs/by-name/an/ansi/package.nix b/pkgs/by-name/an/ansi/package.nix index 77ddf81a269ab..20fc58b605d6c 100644 --- a/pkgs/by-name/an/ansi/package.nix +++ b/pkgs/by-name/an/ansi/package.nix @@ -1,4 +1,8 @@ -{ fetchCrate, lib, rustPlatform }: +{ + fetchCrate, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "ansi-escape-sequences-cli"; diff --git a/pkgs/by-name/an/ansible-language-server/package.nix b/pkgs/by-name/an/ansible-language-server/package.nix index a6287cc52c0da..246ba733302fb 100644 --- a/pkgs/by-name/an/ansible-language-server/package.nix +++ b/pkgs/by-name/an/ansible-language-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nix-update-script +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nix-update-script, }: buildNpmPackage rec { diff --git a/pkgs/by-name/an/ansifilter/package.nix b/pkgs/by-name/an/ansifilter/package.nix index b770af8c4e4b5..aacbb9044ffda 100644 --- a/pkgs/by-name/an/ansifilter/package.nix +++ b/pkgs/by-name/an/ansifilter/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, lib, stdenv, pkg-config, boost, lua }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + boost, + lua, +}: stdenv.mkDerivation rec { pname = "ansifilter"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ boost lua ]; + buildInputs = [ + boost + lua + ]; postPatch = '' # avoid timestamp non-determinism with '-n' diff --git a/pkgs/by-name/an/ante/package.nix b/pkgs/by-name/an/ante/package.nix index e3b4738b7b215..74397c8044275 100644 --- a/pkgs/by-name/an/ante/package.nix +++ b/pkgs/by-name/an/ante/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, libffi -, libxml2 -, llvmPackages_16 -, ncurses -, rustPlatform +{ + fetchFromGitHub, + lib, + libffi, + libxml2, + llvmPackages_16, + ncurses, + rustPlatform, }: rustPlatform.buildRustPackage { @@ -29,7 +30,11 @@ rustPlatform.buildRustPackage { that is not the same as the one included by default with rustPlatform. */ nativeBuildInputs = [ llvmPackages_16.llvm ]; - buildInputs = [ libffi libxml2 ncurses ]; + buildInputs = [ + libffi + libxml2 + ncurses + ]; postPatch = '' substituteInPlace tests/golden_tests.rs --replace \ diff --git a/pkgs/by-name/an/antfs-cli/package.nix b/pkgs/by-name/an/antfs-cli/package.nix index 43fcab337a057..921c65de58af1 100644 --- a/pkgs/by-name/an/antfs-cli/package.nix +++ b/pkgs/by-name/an/antfs-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication { pname = "antfs-cli"; diff --git a/pkgs/by-name/an/anthy/package.nix b/pkgs/by-name/an/anthy/package.nix index 23e2da0e41e64..3cb8497eed110 100644 --- a/pkgs/by-name/an/anthy/package.nix +++ b/pkgs/by-name/an/anthy/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "anthy"; @@ -6,10 +10,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Hiragana text to Kana Kanji mixed text Japanese input method"; - homepage = "https://anthy.osdn.jp/"; - license = licenses.gpl2Plus; + homepage = "https://anthy.osdn.jp/"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ ericsagnes ]; - platforms = platforms.unix; + platforms = platforms.unix; }; src = fetchurl { diff --git a/pkgs/by-name/an/antibody/package.nix b/pkgs/by-name/an/antibody/package.nix index 7c1f0eb56cbd3..470716d81ce81 100644 --- a/pkgs/by-name/an/antibody/package.nix +++ b/pkgs/by-name/an/antibody/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "antibody"; @@ -15,7 +20,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { description = "Fastest shell plugin manager"; diff --git a/pkgs/by-name/an/antic/package.nix b/pkgs/by-name/an/antic/package.nix index 3534b40122f14..bb7c40bafd417 100644 --- a/pkgs/by-name/an/antic/package.nix +++ b/pkgs/by-name/an/antic/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, mpir -, gmp -, mpfr -, flint +{ + lib, + stdenv, + fetchFromGitHub, + mpir, + gmp, + mpfr, + flint, }: stdenv.mkDerivation rec { @@ -18,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-bQ2VvCS+lGro5qxs+qBz3RpUenxQTmTr+lm9BFZWYts="; }; - buildInputs = [ mpir gmp mpfr flint ]; + buildInputs = [ + mpir + gmp + mpfr + flint + ]; configureFlags = [ "--with-gmp=${gmp}" diff --git a/pkgs/by-name/an/antidote/package.nix b/pkgs/by-name/an/antidote/package.nix index a4b29c4bd8919..f1060567983b2 100644 --- a/pkgs/by-name/an/antidote/package.nix +++ b/pkgs/by-name/an/antidote/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { version = "1.9.7"; diff --git a/pkgs/by-name/an/antigen/package.nix b/pkgs/by-name/an/antigen/package.nix index 1b2795ee971ef..f5efbc5fa7901 100644 --- a/pkgs/by-name/an/antigen/package.nix +++ b/pkgs/by-name/an/antigen/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "2.2.3"; diff --git a/pkgs/by-name/an/antimatter-dimensions/package.nix b/pkgs/by-name/an/antimatter-dimensions/package.nix index 84c0348fdb6e7..9e40ab88bf295 100644 --- a/pkgs/by-name/an/antimatter-dimensions/package.nix +++ b/pkgs/by-name/an/antimatter-dimensions/package.nix @@ -1,12 +1,13 @@ -{ buildNpmPackage -, copyDesktopItems -, electron -, fetchFromGitHub -, lib -, makeDesktopItem -, unstableGitUpdater -, writeScriptBin -, electronAppName ? "Antimatter Dimensions" +{ + buildNpmPackage, + copyDesktopItems, + electron, + fetchFromGitHub, + lib, + makeDesktopItem, + unstableGitUpdater, + writeScriptBin, + electronAppName ? "Antimatter Dimensions", }: let diff --git a/pkgs/by-name/an/antiword/package.nix b/pkgs/by-name/an/antiword/package.nix index 09e387cb0554c..62fdbb93dbcea 100644 --- a/pkgs/by-name/an/antiword/package.nix +++ b/pkgs/by-name/an/antiword/package.nix @@ -1,6 +1,10 @@ -{ lib, fetchurl, stdenv }: +{ + lib, + fetchurl, + stdenv, +}: -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { pname = "antiword"; version = "0.37"; diff --git a/pkgs/by-name/an/antsimulator/package.nix b/pkgs/by-name/an/antsimulator/package.nix index 204b1c50f268b..70015266a18b5 100644 --- a/pkgs/by-name/an/antsimulator/package.nix +++ b/pkgs/by-name/an/antsimulator/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, sfml }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + sfml, +}: stdenv.mkDerivation rec { pname = "antsimulator"; diff --git a/pkgs/by-name/an/anttweakbar/package.nix b/pkgs/by-name/an/anttweakbar/package.nix index 6c1eeff941189..441303c2e37d3 100644 --- a/pkgs/by-name/an/anttweakbar/package.nix +++ b/pkgs/by-name/an/anttweakbar/package.nix @@ -1,14 +1,28 @@ -{ lib, stdenv, fetchurl, unzip, xorg, libGLU, libGL }: +{ + lib, + stdenv, + fetchurl, + unzip, + xorg, + libGLU, + libGL, +}: stdenv.mkDerivation rec { pname = "AntTweakBar"; version = "1.16"; nativeBuildInputs = [ unzip ]; - buildInputs = [ xorg.libX11 libGLU libGL ]; + buildInputs = [ + xorg.libX11 + libGLU + libGL + ]; src = fetchurl { - url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_${lib.replaceStrings ["."] [""] version}.zip"; + url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_${ + lib.replaceStrings [ "." ] [ "" ] version + }.zip"; sha256 = "0z3frxpzf54cjs07m6kg09p7nljhr7140f4pznwi7srwq4cvgkpv"; }; diff --git a/pkgs/by-name/an/anuko-time-tracker/package.nix b/pkgs/by-name/an/anuko-time-tracker/package.nix index 583f2db81938d..3050118abeacb 100644 --- a/pkgs/by-name/an/anuko-time-tracker/package.nix +++ b/pkgs/by-name/an/anuko-time-tracker/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nixosTests -, php +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nixosTests, + php, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/an/anydesk/package.nix b/pkgs/by-name/an/anydesk/package.nix index 2c664ac34cc98..00f6c2354a45f 100644 --- a/pkgs/by-name/an/anydesk/package.nix +++ b/pkgs/by-name/an/anydesk/package.nix @@ -1,11 +1,36 @@ -{ lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, genericUpdater, writeShellScript -, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU, libGL, pango, xorg, minizip -, lsb-release, freetype, fontconfig, polkit, polkit_gnome, pciutils, copyDesktopItems -, pulseaudio }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + makeDesktopItem, + genericUpdater, + writeShellScript, + atk, + cairo, + gdk-pixbuf, + glib, + gnome2, + gtk2, + libGLU, + libGL, + pango, + xorg, + minizip, + lsb-release, + freetype, + fontconfig, + polkit, + polkit_gnome, + pciutils, + copyDesktopItems, + pulseaudio, +}: let description = "Desktop sharing application, providing remote support and online meetings"; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "anydesk"; version = "6.4.0"; @@ -17,16 +42,46 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-yGzTqbv3SQT6V/DcY8GvRDXilYrZXVsmQOnqy/5+ev8="; }; - buildInputs = [ - atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango - gnome2.gtkglext libGLU libGL minizip freetype - fontconfig polkit polkit_gnome pulseaudio - ] ++ (with xorg; [ - libxcb libxkbfile libX11 libXdamage libXext libXfixes libXi libXmu - libXrandr libXtst libXt libICE libSM libXrender - ]); + buildInputs = + [ + atk + cairo + gdk-pixbuf + glib + gtk2 + stdenv.cc.cc + pango + gnome2.gtkglext + libGLU + libGL + minizip + freetype + fontconfig + polkit + polkit_gnome + pulseaudio + ] + ++ (with xorg; [ + libxcb + libxkbfile + libX11 + libXdamage + libXext + libXfixes + libXi + libXmu + libXrandr + libXtst + libXt + libICE + libSM + libXrender + ]); - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; desktopItems = [ (makeDesktopItem { @@ -63,7 +118,12 @@ in stdenv.mkDerivation (finalAttrs: { $out/bin/anydesk wrapProgram $out/bin/anydesk \ - --prefix PATH : ${lib.makeBinPath [ lsb-release pciutils ]} + --prefix PATH : ${ + lib.makeBinPath [ + lsb-release + pciutils + ] + } ''; passthru = { @@ -83,6 +143,9 @@ in stdenv.mkDerivation (finalAttrs: { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with lib.maintainers; [ shyim cheriimoya ]; + maintainers = with lib.maintainers; [ + shyim + cheriimoya + ]; }; }) diff --git a/pkgs/by-name/an/anyk/package.nix b/pkgs/by-name/an/anyk/package.nix index 445b461759cff..cb731fde669bb 100644 --- a/pkgs/by-name/an/anyk/package.nix +++ b/pkgs/by-name/an/anyk/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchurl -, fetchzip -, openjdk -, openjfx -, writeScript -, runCommandLocal -, bash -, unzip -, makeWrapper -, libredirect -, xsettingsd -, makeDesktopItem -, copyDesktopItems -, python3 +{ + stdenv, + lib, + fetchurl, + fetchzip, + openjdk, + openjfx, + writeScript, + runCommandLocal, + bash, + unzip, + makeWrapper, + libredirect, + xsettingsd, + makeDesktopItem, + copyDesktopItems, + python3, }: let # Run update.py to update this file. @@ -51,7 +52,7 @@ let }) # Patch one of the ÁNYK classes so it works with the packages above by removing .internal. from the package names. - (runCommandLocal "anyk-patch" {} '' + (runCommandLocal "anyk-patch" { } '' mkdir $out cd $out ${unzip}/bin/unzip ${src}/application/abevjava.jar hu/piller/enykp/niszws/ClientStubBuilder.class @@ -92,14 +93,18 @@ let # ÁNYK crashes with NullPointerException with the GTK look and feel so use the cross-platform one. exec ${jdkWithFX}/bin/java -Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel $SCALING_PROP "$@" ''; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "anyk"; inherit version src; dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; desktopItems = [ (makeDesktopItem rec { @@ -145,4 +150,3 @@ in stdenv.mkDerivation { mainProgram = "anyk"; }; } - diff --git a/pkgs/by-name/an/anytone-emu/package.nix b/pkgs/by-name/an/anytone-emu/package.nix index 8d87096b44077..c60ac90e81668 100644 --- a/pkgs/by-name/an/anytone-emu/package.nix +++ b/pkgs/by-name/an/anytone-emu/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, udev +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + udev, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ap/apache-airflow/package.nix b/pkgs/by-name/ap/apache-airflow/package.nix index 48df7ea612b4f..1cf891aa77b81 100644 --- a/pkgs/by-name/ap/apache-airflow/package.nix +++ b/pkgs/by-name/ap/apache-airflow/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitHub -, fetchPypi -, python3 +{ + fetchFromGitHub, + fetchPypi, + python3, }: let @@ -55,7 +56,7 @@ let inherit version; hash = "sha256-7e6bCn/yZiG9WowQ/0hK4oc3okENmbC7mmhQx/uXeqA="; }; - nativeBuildInputs = (o.nativeBuildInputs or []) ++ [ + nativeBuildInputs = (o.nativeBuildInputs or [ ]) ++ [ pySelf.setuptools ]; }); @@ -101,7 +102,8 @@ let in # See note in ./python-package.nix for # instructions on manually testing the web UI -with python.pkgs; (toPythonApplication apache-airflow).overrideAttrs (previousAttrs: { +with python.pkgs; +(toPythonApplication apache-airflow).overrideAttrs (previousAttrs: { # Provide access to airflow's modified python package set # for the cases where external scripts need to import # airflow modules, though *caveat emptor* because many of diff --git a/pkgs/by-name/ap/apache-airflow/providers.nix b/pkgs/by-name/ap/apache-airflow/providers.nix index 00b31ca04cbdf..4edb68ac43f4e 100644 --- a/pkgs/by-name/ap/apache-airflow/providers.nix +++ b/pkgs/by-name/ap/apache-airflow/providers.nix @@ -1,307 +1,1549 @@ # Warning: generated by update-providers.py, do not update manually { airbyte = { - deps = [ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.airbyte.hooks.airbyte" "airflow.providers.airbyte.operators.airbyte" ]; + deps = [ + "requests" + "requests-toolbelt" + ]; + imports = [ + "airflow.providers.airbyte.hooks.airbyte" + "airflow.providers.airbyte.operators.airbyte" + ]; }; alibaba = { deps = [ "oss2" ]; - imports = [ "airflow.providers.alibaba.cloud.hooks.oss" "airflow.providers.alibaba.cloud.operators.oss" ]; + imports = [ + "airflow.providers.alibaba.cloud.hooks.oss" + "airflow.providers.alibaba.cloud.operators.oss" + ]; }; amazon = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.amazon.aws.hooks.appflow" "airflow.providers.amazon.aws.hooks.athena" "airflow.providers.amazon.aws.hooks.base_aws" "airflow.providers.amazon.aws.hooks.batch_client" "airflow.providers.amazon.aws.hooks.batch_waiters" "airflow.providers.amazon.aws.hooks.cloud_formation" "airflow.providers.amazon.aws.hooks.datasync" "airflow.providers.amazon.aws.hooks.dms" "airflow.providers.amazon.aws.hooks.dynamodb" "airflow.providers.amazon.aws.hooks.ec2" "airflow.providers.amazon.aws.hooks.ecs" "airflow.providers.amazon.aws.hooks.eks" "airflow.providers.amazon.aws.hooks.elasticache_replication_group" "airflow.providers.amazon.aws.hooks.emr" "airflow.providers.amazon.aws.hooks.emr" "airflow.providers.amazon.aws.hooks.glacier" "airflow.providers.amazon.aws.hooks.glue" "airflow.providers.amazon.aws.hooks.glue_catalog" "airflow.providers.amazon.aws.hooks.glue_crawler" "airflow.providers.amazon.aws.hooks.kinesis" "airflow.providers.amazon.aws.hooks.lambda_function" "airflow.providers.amazon.aws.hooks.logs" "airflow.providers.amazon.aws.hooks.quicksight" "airflow.providers.amazon.aws.hooks.rds" "airflow.providers.amazon.aws.hooks.redshift_cluster" "airflow.providers.amazon.aws.hooks.redshift_data" "airflow.providers.amazon.aws.hooks.redshift_sql" "airflow.providers.amazon.aws.hooks.s3" "airflow.providers.amazon.aws.hooks.sagemaker" "airflow.providers.amazon.aws.hooks.secrets_manager" "airflow.providers.amazon.aws.hooks.ses" "airflow.providers.amazon.aws.hooks.sns" "airflow.providers.amazon.aws.hooks.sqs" "airflow.providers.amazon.aws.hooks.step_function" "airflow.providers.amazon.aws.hooks.sts" "airflow.providers.amazon.aws.operators.appflow" "airflow.providers.amazon.aws.operators.athena" "airflow.providers.amazon.aws.operators.aws_lambda" "airflow.providers.amazon.aws.operators.batch" "airflow.providers.amazon.aws.operators.cloud_formation" "airflow.providers.amazon.aws.operators.datasync" "airflow.providers.amazon.aws.operators.dms" "airflow.providers.amazon.aws.operators.ec2" "airflow.providers.amazon.aws.operators.ecs" "airflow.providers.amazon.aws.operators.eks" "airflow.providers.amazon.aws.operators.emr" "airflow.providers.amazon.aws.operators.emr" "airflow.providers.amazon.aws.operators.glacier" "airflow.providers.amazon.aws.operators.glue" "airflow.providers.amazon.aws.operators.glue_crawler" "airflow.providers.amazon.aws.operators.lambda_function" "airflow.providers.amazon.aws.operators.quicksight" "airflow.providers.amazon.aws.operators.rds" "airflow.providers.amazon.aws.operators.redshift_cluster" "airflow.providers.amazon.aws.operators.redshift_data" "airflow.providers.amazon.aws.operators.redshift_sql" "airflow.providers.amazon.aws.operators.s3" "airflow.providers.amazon.aws.operators.sagemaker" "airflow.providers.amazon.aws.operators.sns" "airflow.providers.amazon.aws.operators.sqs" "airflow.providers.amazon.aws.operators.step_function" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.amazon.aws.hooks.appflow" + "airflow.providers.amazon.aws.hooks.athena" + "airflow.providers.amazon.aws.hooks.base_aws" + "airflow.providers.amazon.aws.hooks.batch_client" + "airflow.providers.amazon.aws.hooks.batch_waiters" + "airflow.providers.amazon.aws.hooks.cloud_formation" + "airflow.providers.amazon.aws.hooks.datasync" + "airflow.providers.amazon.aws.hooks.dms" + "airflow.providers.amazon.aws.hooks.dynamodb" + "airflow.providers.amazon.aws.hooks.ec2" + "airflow.providers.amazon.aws.hooks.ecs" + "airflow.providers.amazon.aws.hooks.eks" + "airflow.providers.amazon.aws.hooks.elasticache_replication_group" + "airflow.providers.amazon.aws.hooks.emr" + "airflow.providers.amazon.aws.hooks.emr" + "airflow.providers.amazon.aws.hooks.glacier" + "airflow.providers.amazon.aws.hooks.glue" + "airflow.providers.amazon.aws.hooks.glue_catalog" + "airflow.providers.amazon.aws.hooks.glue_crawler" + "airflow.providers.amazon.aws.hooks.kinesis" + "airflow.providers.amazon.aws.hooks.lambda_function" + "airflow.providers.amazon.aws.hooks.logs" + "airflow.providers.amazon.aws.hooks.quicksight" + "airflow.providers.amazon.aws.hooks.rds" + "airflow.providers.amazon.aws.hooks.redshift_cluster" + "airflow.providers.amazon.aws.hooks.redshift_data" + "airflow.providers.amazon.aws.hooks.redshift_sql" + "airflow.providers.amazon.aws.hooks.s3" + "airflow.providers.amazon.aws.hooks.sagemaker" + "airflow.providers.amazon.aws.hooks.secrets_manager" + "airflow.providers.amazon.aws.hooks.ses" + "airflow.providers.amazon.aws.hooks.sns" + "airflow.providers.amazon.aws.hooks.sqs" + "airflow.providers.amazon.aws.hooks.step_function" + "airflow.providers.amazon.aws.hooks.sts" + "airflow.providers.amazon.aws.operators.appflow" + "airflow.providers.amazon.aws.operators.athena" + "airflow.providers.amazon.aws.operators.aws_lambda" + "airflow.providers.amazon.aws.operators.batch" + "airflow.providers.amazon.aws.operators.cloud_formation" + "airflow.providers.amazon.aws.operators.datasync" + "airflow.providers.amazon.aws.operators.dms" + "airflow.providers.amazon.aws.operators.ec2" + "airflow.providers.amazon.aws.operators.ecs" + "airflow.providers.amazon.aws.operators.eks" + "airflow.providers.amazon.aws.operators.emr" + "airflow.providers.amazon.aws.operators.emr" + "airflow.providers.amazon.aws.operators.glacier" + "airflow.providers.amazon.aws.operators.glue" + "airflow.providers.amazon.aws.operators.glue_crawler" + "airflow.providers.amazon.aws.operators.lambda_function" + "airflow.providers.amazon.aws.operators.quicksight" + "airflow.providers.amazon.aws.operators.rds" + "airflow.providers.amazon.aws.operators.redshift_cluster" + "airflow.providers.amazon.aws.operators.redshift_data" + "airflow.providers.amazon.aws.operators.redshift_sql" + "airflow.providers.amazon.aws.operators.s3" + "airflow.providers.amazon.aws.operators.sagemaker" + "airflow.providers.amazon.aws.operators.sns" + "airflow.providers.amazon.aws.operators.sqs" + "airflow.providers.amazon.aws.operators.step_function" + ]; }; apache_beam = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.apache.beam.hooks.beam" "airflow.providers.apache.beam.operators.beam" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.apache.beam.hooks.beam" + "airflow.providers.apache.beam.operators.beam" + ]; }; apache_cassandra = { deps = [ "cassandra-driver" ]; imports = [ "airflow.providers.apache.cassandra.hooks.cassandra" ]; }; apache_drill = { - deps = [ ]; - imports = [ "airflow.providers.apache.drill.hooks.drill" "airflow.providers.apache.drill.operators.drill" ]; + deps = [ ]; + imports = [ + "airflow.providers.apache.drill.hooks.drill" + "airflow.providers.apache.drill.operators.drill" + ]; }; apache_druid = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pydruid" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.apache.druid.hooks.druid" "airflow.providers.apache.druid.operators.druid" "airflow.providers.apache.druid.operators.druid_check" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pydruid" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.apache.druid.hooks.druid" + "airflow.providers.apache.druid.operators.druid" + "airflow.providers.apache.druid.operators.druid_check" + ]; }; apache_hdfs = { - deps = [ ]; - imports = [ "airflow.providers.apache.hdfs.hooks.hdfs" "airflow.providers.apache.hdfs.hooks.webhdfs" ]; + deps = [ ]; + imports = [ + "airflow.providers.apache.hdfs.hooks.hdfs" + "airflow.providers.apache.hdfs.hooks.webhdfs" + ]; }; apache_hive = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.apache.hive.hooks.hive" "airflow.providers.apache.hive.operators.hive" "airflow.providers.apache.hive.operators.hive_stats" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.apache.hive.hooks.hive" + "airflow.providers.apache.hive.operators.hive" + "airflow.providers.apache.hive.operators.hive_stats" + ]; }; apache_kylin = { - deps = [ ]; - imports = [ "airflow.providers.apache.kylin.hooks.kylin" "airflow.providers.apache.kylin.operators.kylin_cube" ]; + deps = [ ]; + imports = [ + "airflow.providers.apache.kylin.hooks.kylin" + "airflow.providers.apache.kylin.operators.kylin_cube" + ]; }; apache_livy = { - deps = [ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.apache.livy.hooks.livy" "airflow.providers.apache.livy.operators.livy" ]; + deps = [ + "requests" + "requests-toolbelt" + ]; + imports = [ + "airflow.providers.apache.livy.hooks.livy" + "airflow.providers.apache.livy.operators.livy" + ]; }; apache_pig = { - deps = [ ]; - imports = [ "airflow.providers.apache.pig.hooks.pig" "airflow.providers.apache.pig.operators.pig" ]; + deps = [ ]; + imports = [ + "airflow.providers.apache.pig.hooks.pig" + "airflow.providers.apache.pig.operators.pig" + ]; }; apache_pinot = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.apache.pinot.hooks.pinot" ]; }; apache_spark = { deps = [ "pyspark" ]; - imports = [ "airflow.providers.apache.spark.hooks.spark_jdbc" "airflow.providers.apache.spark.hooks.spark_jdbc_script" "airflow.providers.apache.spark.hooks.spark_sql" "airflow.providers.apache.spark.hooks.spark_submit" "airflow.providers.apache.spark.operators.spark_jdbc" "airflow.providers.apache.spark.operators.spark_sql" "airflow.providers.apache.spark.operators.spark_submit" ]; + imports = [ + "airflow.providers.apache.spark.hooks.spark_jdbc" + "airflow.providers.apache.spark.hooks.spark_jdbc_script" + "airflow.providers.apache.spark.hooks.spark_sql" + "airflow.providers.apache.spark.hooks.spark_submit" + "airflow.providers.apache.spark.operators.spark_jdbc" + "airflow.providers.apache.spark.operators.spark_sql" + "airflow.providers.apache.spark.operators.spark_submit" + ]; }; apache_sqoop = { - deps = [ ]; - imports = [ "airflow.providers.apache.sqoop.hooks.sqoop" "airflow.providers.apache.sqoop.operators.sqoop" ]; + deps = [ ]; + imports = [ + "airflow.providers.apache.sqoop.hooks.sqoop" + "airflow.providers.apache.sqoop.operators.sqoop" + ]; }; arangodb = { deps = [ "python-arango" ]; - imports = [ "airflow.providers.arangodb.hooks.arangodb" "airflow.providers.arangodb.operators.arangodb" ]; + imports = [ + "airflow.providers.arangodb.hooks.arangodb" + "airflow.providers.arangodb.operators.arangodb" + ]; }; asana = { deps = [ "asana" ]; - imports = [ "airflow.providers.asana.hooks.asana" "airflow.providers.asana.operators.asana_tasks" ]; + imports = [ + "airflow.providers.asana.hooks.asana" + "airflow.providers.asana.operators.asana_tasks" + ]; }; atlassian_jira = { deps = [ "jira" ]; - imports = [ "airflow.providers.atlassian.jira.hooks.jira" "airflow.providers.atlassian.jira.operators.jira" ]; + imports = [ + "airflow.providers.atlassian.jira.hooks.jira" + "airflow.providers.atlassian.jira.operators.jira" + ]; }; celery = { - deps = [ "celery" "flower" ]; - imports = [ ]; + deps = [ + "celery" + "flower" + ]; + imports = [ ]; }; cloudant = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.cloudant.hooks.cloudant" ]; }; cncf_kubernetes = { - deps = [ "cryptography" "kubernetes" ]; - imports = [ "airflow.providers.cncf.kubernetes.hooks.kubernetes" "airflow.providers.cncf.kubernetes.operators.kubernetes_pod" "airflow.providers.cncf.kubernetes.operators.spark_kubernetes" ]; + deps = [ + "cryptography" + "kubernetes" + ]; + imports = [ + "airflow.providers.cncf.kubernetes.hooks.kubernetes" + "airflow.providers.cncf.kubernetes.operators.kubernetes_pod" + "airflow.providers.cncf.kubernetes.operators.spark_kubernetes" + ]; }; common_sql = { deps = [ "sqlparse" ]; - imports = [ "airflow.providers.common.sql.hooks.sql" "airflow.providers.common.sql.operators.sql" ]; + imports = [ + "airflow.providers.common.sql.hooks.sql" + "airflow.providers.common.sql.operators.sql" + ]; }; databricks = { - deps = [ "aiohttp" "databricks-sql-connector" "requests" ]; - imports = [ "airflow.providers.databricks.hooks.databricks" "airflow.providers.databricks.hooks.databricks_base" "airflow.providers.databricks.hooks.databricks_sql" "airflow.providers.databricks.operators.databricks" "airflow.providers.databricks.operators.databricks_repos" "airflow.providers.databricks.operators.databricks_sql" ]; + deps = [ + "aiohttp" + "databricks-sql-connector" + "requests" + ]; + imports = [ + "airflow.providers.databricks.hooks.databricks" + "airflow.providers.databricks.hooks.databricks_base" + "airflow.providers.databricks.hooks.databricks_sql" + "airflow.providers.databricks.operators.databricks" + "airflow.providers.databricks.operators.databricks_repos" + "airflow.providers.databricks.operators.databricks_sql" + ]; }; datadog = { deps = [ "datadog" ]; imports = [ "airflow.providers.datadog.hooks.datadog" ]; }; dbt_cloud = { - deps = [ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.dbt.cloud.hooks.dbt" "airflow.providers.dbt.cloud.operators.dbt" ]; + deps = [ + "requests" + "requests-toolbelt" + ]; + imports = [ + "airflow.providers.dbt.cloud.hooks.dbt" + "airflow.providers.dbt.cloud.operators.dbt" + ]; }; dingding = { - deps = [ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.dingding.hooks.dingding" "airflow.providers.dingding.operators.dingding" ]; + deps = [ + "requests" + "requests-toolbelt" + ]; + imports = [ + "airflow.providers.dingding.hooks.dingding" + "airflow.providers.dingding.operators.dingding" + ]; }; discord = { - deps = [ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.discord.hooks.discord_webhook" "airflow.providers.discord.operators.discord_webhook" ]; + deps = [ + "requests" + "requests-toolbelt" + ]; + imports = [ + "airflow.providers.discord.hooks.discord_webhook" + "airflow.providers.discord.operators.discord_webhook" + ]; }; docker = { - deps = [ "docker" "python-dotenv" ]; - imports = [ "airflow.providers.docker.hooks.docker" "airflow.providers.docker.operators.docker" "airflow.providers.docker.operators.docker_swarm" ]; + deps = [ + "docker" + "python-dotenv" + ]; + imports = [ + "airflow.providers.docker.hooks.docker" + "airflow.providers.docker.operators.docker" + "airflow.providers.docker.operators.docker_swarm" + ]; }; elasticsearch = { - deps = [ "elasticsearch" "elasticsearch-dsl" ]; + deps = [ + "elasticsearch" + "elasticsearch-dsl" + ]; imports = [ "airflow.providers.elasticsearch.hooks.elasticsearch" ]; }; exasol = { deps = [ "pandas" ]; - imports = [ "airflow.providers.exasol.hooks.exasol" "airflow.providers.exasol.operators.exasol" ]; + imports = [ + "airflow.providers.exasol.hooks.exasol" + "airflow.providers.exasol.operators.exasol" + ]; }; facebook = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.facebook.ads.hooks.ads" ]; }; ftp = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.ftp.hooks.ftp" ]; }; github = { deps = [ "pygithub" ]; - imports = [ "airflow.providers.github.hooks.github" "airflow.providers.github.operators.github" ]; + imports = [ + "airflow.providers.github.hooks.github" + "airflow.providers.github.operators.github" + ]; }; google = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.google.ads.hooks.ads" "airflow.providers.google.ads.operators.ads" "airflow.providers.google.cloud.hooks.automl" "airflow.providers.google.cloud.hooks.bigquery" "airflow.providers.google.cloud.hooks.bigquery_dts" "airflow.providers.google.cloud.hooks.bigtable" "airflow.providers.google.cloud.hooks.cloud_build" "airflow.providers.google.cloud.hooks.cloud_composer" "airflow.providers.google.cloud.hooks.cloud_memorystore" "airflow.providers.google.cloud.hooks.cloud_sql" "airflow.providers.google.cloud.hooks.cloud_storage_transfer_service" "airflow.providers.google.cloud.hooks.compute" "airflow.providers.google.cloud.hooks.compute_ssh" "airflow.providers.google.cloud.hooks.datacatalog" "airflow.providers.google.cloud.hooks.dataflow" "airflow.providers.google.cloud.hooks.dataform" "airflow.providers.google.cloud.hooks.datafusion" "airflow.providers.google.cloud.hooks.dataplex" "airflow.providers.google.cloud.hooks.dataprep" "airflow.providers.google.cloud.hooks.dataproc" "airflow.providers.google.cloud.hooks.dataproc_metastore" "airflow.providers.google.cloud.hooks.datastore" "airflow.providers.google.cloud.hooks.dlp" "airflow.providers.google.cloud.hooks.functions" "airflow.providers.google.cloud.hooks.gcs" "airflow.providers.google.cloud.hooks.gdm" "airflow.providers.google.cloud.hooks.kms" "airflow.providers.google.cloud.hooks.kubernetes_engine" "airflow.providers.google.cloud.hooks.life_sciences" "airflow.providers.google.cloud.hooks.looker" "airflow.providers.google.cloud.hooks.mlengine" "airflow.providers.google.cloud.hooks.natural_language" "airflow.providers.google.cloud.hooks.os_login" "airflow.providers.google.cloud.hooks.pubsub" "airflow.providers.google.cloud.hooks.secret_manager" "airflow.providers.google.cloud.hooks.spanner" "airflow.providers.google.cloud.hooks.speech_to_text" "airflow.providers.google.cloud.hooks.stackdriver" "airflow.providers.google.cloud.hooks.tasks" "airflow.providers.google.cloud.hooks.text_to_speech" "airflow.providers.google.cloud.hooks.translate" "airflow.providers.google.cloud.hooks.vertex_ai.auto_ml" "airflow.providers.google.cloud.hooks.vertex_ai.batch_prediction_job" "airflow.providers.google.cloud.hooks.vertex_ai.custom_job" "airflow.providers.google.cloud.hooks.vertex_ai.dataset" "airflow.providers.google.cloud.hooks.vertex_ai.endpoint_service" "airflow.providers.google.cloud.hooks.vertex_ai.hyperparameter_tuning_job" "airflow.providers.google.cloud.hooks.vertex_ai.model_service" "airflow.providers.google.cloud.hooks.video_intelligence" "airflow.providers.google.cloud.hooks.vision" "airflow.providers.google.cloud.hooks.workflows" "airflow.providers.google.cloud.operators.automl" "airflow.providers.google.cloud.operators.bigquery" "airflow.providers.google.cloud.operators.bigquery_dts" "airflow.providers.google.cloud.operators.bigtable" "airflow.providers.google.cloud.operators.cloud_build" "airflow.providers.google.cloud.operators.cloud_composer" "airflow.providers.google.cloud.operators.cloud_memorystore" "airflow.providers.google.cloud.operators.cloud_sql" "airflow.providers.google.cloud.operators.cloud_storage_transfer_service" "airflow.providers.google.cloud.operators.compute" "airflow.providers.google.cloud.operators.datacatalog" "airflow.providers.google.cloud.operators.dataflow" "airflow.providers.google.cloud.operators.dataform" "airflow.providers.google.cloud.operators.datafusion" "airflow.providers.google.cloud.operators.dataplex" "airflow.providers.google.cloud.operators.dataprep" "airflow.providers.google.cloud.operators.dataproc" "airflow.providers.google.cloud.operators.dataproc_metastore" "airflow.providers.google.cloud.operators.datastore" "airflow.providers.google.cloud.operators.dlp" "airflow.providers.google.cloud.operators.functions" "airflow.providers.google.cloud.operators.gcs" "airflow.providers.google.cloud.operators.kubernetes_engine" "airflow.providers.google.cloud.operators.life_sciences" "airflow.providers.google.cloud.operators.looker" "airflow.providers.google.cloud.operators.mlengine" "airflow.providers.google.cloud.operators.natural_language" "airflow.providers.google.cloud.operators.pubsub" "airflow.providers.google.cloud.operators.spanner" "airflow.providers.google.cloud.operators.speech_to_text" "airflow.providers.google.cloud.operators.stackdriver" "airflow.providers.google.cloud.operators.tasks" "airflow.providers.google.cloud.operators.text_to_speech" "airflow.providers.google.cloud.operators.translate" "airflow.providers.google.cloud.operators.translate_speech" "airflow.providers.google.cloud.operators.translate_speech" "airflow.providers.google.cloud.operators.vertex_ai.auto_ml" "airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job" "airflow.providers.google.cloud.operators.vertex_ai.custom_job" "airflow.providers.google.cloud.operators.vertex_ai.dataset" "airflow.providers.google.cloud.operators.vertex_ai.endpoint_service" "airflow.providers.google.cloud.operators.vertex_ai.hyperparameter_tuning_job" "airflow.providers.google.cloud.operators.vertex_ai.model_service" "airflow.providers.google.cloud.operators.video_intelligence" "airflow.providers.google.cloud.operators.vision" "airflow.providers.google.cloud.operators.workflows" "airflow.providers.google.common.hooks.base_google" "airflow.providers.google.common.hooks.discovery_api" "airflow.providers.google.firebase.hooks.firestore" "airflow.providers.google.firebase.operators.firestore" "airflow.providers.google.leveldb.hooks.leveldb" "airflow.providers.google.leveldb.operators.leveldb" "airflow.providers.google.marketing_platform.hooks.analytics" "airflow.providers.google.marketing_platform.hooks.campaign_manager" "airflow.providers.google.marketing_platform.hooks.display_video" "airflow.providers.google.marketing_platform.hooks.search_ads" "airflow.providers.google.marketing_platform.operators.analytics" "airflow.providers.google.marketing_platform.operators.campaign_manager" "airflow.providers.google.marketing_platform.operators.display_video" "airflow.providers.google.marketing_platform.operators.search_ads" "airflow.providers.google.suite.hooks.calendar" "airflow.providers.google.suite.hooks.drive" "airflow.providers.google.suite.hooks.sheets" "airflow.providers.google.suite.operators.sheets" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.google.ads.hooks.ads" + "airflow.providers.google.ads.operators.ads" + "airflow.providers.google.cloud.hooks.automl" + "airflow.providers.google.cloud.hooks.bigquery" + "airflow.providers.google.cloud.hooks.bigquery_dts" + "airflow.providers.google.cloud.hooks.bigtable" + "airflow.providers.google.cloud.hooks.cloud_build" + "airflow.providers.google.cloud.hooks.cloud_composer" + "airflow.providers.google.cloud.hooks.cloud_memorystore" + "airflow.providers.google.cloud.hooks.cloud_sql" + "airflow.providers.google.cloud.hooks.cloud_storage_transfer_service" + "airflow.providers.google.cloud.hooks.compute" + "airflow.providers.google.cloud.hooks.compute_ssh" + "airflow.providers.google.cloud.hooks.datacatalog" + "airflow.providers.google.cloud.hooks.dataflow" + "airflow.providers.google.cloud.hooks.dataform" + "airflow.providers.google.cloud.hooks.datafusion" + "airflow.providers.google.cloud.hooks.dataplex" + "airflow.providers.google.cloud.hooks.dataprep" + "airflow.providers.google.cloud.hooks.dataproc" + "airflow.providers.google.cloud.hooks.dataproc_metastore" + "airflow.providers.google.cloud.hooks.datastore" + "airflow.providers.google.cloud.hooks.dlp" + "airflow.providers.google.cloud.hooks.functions" + "airflow.providers.google.cloud.hooks.gcs" + "airflow.providers.google.cloud.hooks.gdm" + "airflow.providers.google.cloud.hooks.kms" + "airflow.providers.google.cloud.hooks.kubernetes_engine" + "airflow.providers.google.cloud.hooks.life_sciences" + "airflow.providers.google.cloud.hooks.looker" + "airflow.providers.google.cloud.hooks.mlengine" + "airflow.providers.google.cloud.hooks.natural_language" + "airflow.providers.google.cloud.hooks.os_login" + "airflow.providers.google.cloud.hooks.pubsub" + "airflow.providers.google.cloud.hooks.secret_manager" + "airflow.providers.google.cloud.hooks.spanner" + "airflow.providers.google.cloud.hooks.speech_to_text" + "airflow.providers.google.cloud.hooks.stackdriver" + "airflow.providers.google.cloud.hooks.tasks" + "airflow.providers.google.cloud.hooks.text_to_speech" + "airflow.providers.google.cloud.hooks.translate" + "airflow.providers.google.cloud.hooks.vertex_ai.auto_ml" + "airflow.providers.google.cloud.hooks.vertex_ai.batch_prediction_job" + "airflow.providers.google.cloud.hooks.vertex_ai.custom_job" + "airflow.providers.google.cloud.hooks.vertex_ai.dataset" + "airflow.providers.google.cloud.hooks.vertex_ai.endpoint_service" + "airflow.providers.google.cloud.hooks.vertex_ai.hyperparameter_tuning_job" + "airflow.providers.google.cloud.hooks.vertex_ai.model_service" + "airflow.providers.google.cloud.hooks.video_intelligence" + "airflow.providers.google.cloud.hooks.vision" + "airflow.providers.google.cloud.hooks.workflows" + "airflow.providers.google.cloud.operators.automl" + "airflow.providers.google.cloud.operators.bigquery" + "airflow.providers.google.cloud.operators.bigquery_dts" + "airflow.providers.google.cloud.operators.bigtable" + "airflow.providers.google.cloud.operators.cloud_build" + "airflow.providers.google.cloud.operators.cloud_composer" + "airflow.providers.google.cloud.operators.cloud_memorystore" + "airflow.providers.google.cloud.operators.cloud_sql" + "airflow.providers.google.cloud.operators.cloud_storage_transfer_service" + "airflow.providers.google.cloud.operators.compute" + "airflow.providers.google.cloud.operators.datacatalog" + "airflow.providers.google.cloud.operators.dataflow" + "airflow.providers.google.cloud.operators.dataform" + "airflow.providers.google.cloud.operators.datafusion" + "airflow.providers.google.cloud.operators.dataplex" + "airflow.providers.google.cloud.operators.dataprep" + "airflow.providers.google.cloud.operators.dataproc" + "airflow.providers.google.cloud.operators.dataproc_metastore" + "airflow.providers.google.cloud.operators.datastore" + "airflow.providers.google.cloud.operators.dlp" + "airflow.providers.google.cloud.operators.functions" + "airflow.providers.google.cloud.operators.gcs" + "airflow.providers.google.cloud.operators.kubernetes_engine" + "airflow.providers.google.cloud.operators.life_sciences" + "airflow.providers.google.cloud.operators.looker" + "airflow.providers.google.cloud.operators.mlengine" + "airflow.providers.google.cloud.operators.natural_language" + "airflow.providers.google.cloud.operators.pubsub" + "airflow.providers.google.cloud.operators.spanner" + "airflow.providers.google.cloud.operators.speech_to_text" + "airflow.providers.google.cloud.operators.stackdriver" + "airflow.providers.google.cloud.operators.tasks" + "airflow.providers.google.cloud.operators.text_to_speech" + "airflow.providers.google.cloud.operators.translate" + "airflow.providers.google.cloud.operators.translate_speech" + "airflow.providers.google.cloud.operators.translate_speech" + "airflow.providers.google.cloud.operators.vertex_ai.auto_ml" + "airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job" + "airflow.providers.google.cloud.operators.vertex_ai.custom_job" + "airflow.providers.google.cloud.operators.vertex_ai.dataset" + "airflow.providers.google.cloud.operators.vertex_ai.endpoint_service" + "airflow.providers.google.cloud.operators.vertex_ai.hyperparameter_tuning_job" + "airflow.providers.google.cloud.operators.vertex_ai.model_service" + "airflow.providers.google.cloud.operators.video_intelligence" + "airflow.providers.google.cloud.operators.vision" + "airflow.providers.google.cloud.operators.workflows" + "airflow.providers.google.common.hooks.base_google" + "airflow.providers.google.common.hooks.discovery_api" + "airflow.providers.google.firebase.hooks.firestore" + "airflow.providers.google.firebase.operators.firestore" + "airflow.providers.google.leveldb.hooks.leveldb" + "airflow.providers.google.leveldb.operators.leveldb" + "airflow.providers.google.marketing_platform.hooks.analytics" + "airflow.providers.google.marketing_platform.hooks.campaign_manager" + "airflow.providers.google.marketing_platform.hooks.display_video" + "airflow.providers.google.marketing_platform.hooks.search_ads" + "airflow.providers.google.marketing_platform.operators.analytics" + "airflow.providers.google.marketing_platform.operators.campaign_manager" + "airflow.providers.google.marketing_platform.operators.display_video" + "airflow.providers.google.marketing_platform.operators.search_ads" + "airflow.providers.google.suite.hooks.calendar" + "airflow.providers.google.suite.hooks.drive" + "airflow.providers.google.suite.hooks.sheets" + "airflow.providers.google.suite.operators.sheets" + ]; }; grpc = { - deps = [ "google-auth" "google-auth-httplib2" "grpcio" ]; - imports = [ "airflow.providers.grpc.hooks.grpc" "airflow.providers.grpc.operators.grpc" ]; + deps = [ + "google-auth" + "google-auth-httplib2" + "grpcio" + ]; + imports = [ + "airflow.providers.grpc.hooks.grpc" + "airflow.providers.grpc.operators.grpc" + ]; }; hashicorp = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "hvac" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "hvac" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; imports = [ "airflow.providers.hashicorp.hooks.vault" ]; }; http = { - deps = [ "requests" "requests-toolbelt" ]; - imports = [ "airflow.providers.http.hooks.http" "airflow.providers.http.operators.http" ]; + deps = [ + "requests" + "requests-toolbelt" + ]; + imports = [ + "airflow.providers.http.hooks.http" + "airflow.providers.http.operators.http" + ]; }; imap = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.imap.hooks.imap" ]; }; influxdb = { - deps = [ "influxdb-client" "requests" ]; - imports = [ "airflow.providers.influxdb.hooks.influxdb" "airflow.providers.influxdb.operators.influxdb" ]; + deps = [ + "influxdb-client" + "requests" + ]; + imports = [ + "airflow.providers.influxdb.hooks.influxdb" + "airflow.providers.influxdb.operators.influxdb" + ]; }; jdbc = { deps = [ "jaydebeapi" ]; - imports = [ "airflow.providers.jdbc.hooks.jdbc" "airflow.providers.jdbc.operators.jdbc" ]; + imports = [ + "airflow.providers.jdbc.hooks.jdbc" + "airflow.providers.jdbc.operators.jdbc" + ]; }; jenkins = { deps = [ "python-jenkins" ]; - imports = [ "airflow.providers.jenkins.hooks.jenkins" "airflow.providers.jenkins.operators.jenkins_job_trigger" ]; + imports = [ + "airflow.providers.jenkins.hooks.jenkins" + "airflow.providers.jenkins.operators.jenkins_job_trigger" + ]; }; microsoft_azure = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.microsoft.azure.hooks.adx" "airflow.providers.microsoft.azure.hooks.asb" "airflow.providers.microsoft.azure.hooks.base_azure" "airflow.providers.microsoft.azure.hooks.batch" "airflow.providers.microsoft.azure.hooks.container_instance" "airflow.providers.microsoft.azure.hooks.container_registry" "airflow.providers.microsoft.azure.hooks.container_volume" "airflow.providers.microsoft.azure.hooks.cosmos" "airflow.providers.microsoft.azure.hooks.data_factory" "airflow.providers.microsoft.azure.hooks.data_lake" "airflow.providers.microsoft.azure.hooks.fileshare" "airflow.providers.microsoft.azure.hooks.synapse" "airflow.providers.microsoft.azure.hooks.wasb" "airflow.providers.microsoft.azure.operators.adls" "airflow.providers.microsoft.azure.operators.adx" "airflow.providers.microsoft.azure.operators.asb" "airflow.providers.microsoft.azure.operators.batch" "airflow.providers.microsoft.azure.operators.container_instances" "airflow.providers.microsoft.azure.operators.cosmos" "airflow.providers.microsoft.azure.operators.data_factory" "airflow.providers.microsoft.azure.operators.synapse" "airflow.providers.microsoft.azure.operators.wasb_delete_blob" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.microsoft.azure.hooks.adx" + "airflow.providers.microsoft.azure.hooks.asb" + "airflow.providers.microsoft.azure.hooks.base_azure" + "airflow.providers.microsoft.azure.hooks.batch" + "airflow.providers.microsoft.azure.hooks.container_instance" + "airflow.providers.microsoft.azure.hooks.container_registry" + "airflow.providers.microsoft.azure.hooks.container_volume" + "airflow.providers.microsoft.azure.hooks.cosmos" + "airflow.providers.microsoft.azure.hooks.data_factory" + "airflow.providers.microsoft.azure.hooks.data_lake" + "airflow.providers.microsoft.azure.hooks.fileshare" + "airflow.providers.microsoft.azure.hooks.synapse" + "airflow.providers.microsoft.azure.hooks.wasb" + "airflow.providers.microsoft.azure.operators.adls" + "airflow.providers.microsoft.azure.operators.adx" + "airflow.providers.microsoft.azure.operators.asb" + "airflow.providers.microsoft.azure.operators.batch" + "airflow.providers.microsoft.azure.operators.container_instances" + "airflow.providers.microsoft.azure.operators.cosmos" + "airflow.providers.microsoft.azure.operators.data_factory" + "airflow.providers.microsoft.azure.operators.synapse" + "airflow.providers.microsoft.azure.operators.wasb_delete_blob" + ]; }; microsoft_mssql = { - deps = [ ]; - imports = [ "airflow.providers.microsoft.mssql.hooks.mssql" "airflow.providers.microsoft.mssql.operators.mssql" ]; + deps = [ ]; + imports = [ + "airflow.providers.microsoft.mssql.hooks.mssql" + "airflow.providers.microsoft.mssql.operators.mssql" + ]; }; microsoft_psrp = { deps = [ "pypsrp" ]; - imports = [ "airflow.providers.microsoft.psrp.hooks.psrp" "airflow.providers.microsoft.psrp.operators.psrp" ]; + imports = [ + "airflow.providers.microsoft.psrp.hooks.psrp" + "airflow.providers.microsoft.psrp.operators.psrp" + ]; }; microsoft_winrm = { deps = [ "pywinrm" ]; - imports = [ "airflow.providers.microsoft.winrm.hooks.winrm" "airflow.providers.microsoft.winrm.operators.winrm" ]; + imports = [ + "airflow.providers.microsoft.winrm.hooks.winrm" + "airflow.providers.microsoft.winrm.operators.winrm" + ]; }; mongo = { - deps = [ "dnspython" "pymongo" ]; + deps = [ + "dnspython" + "pymongo" + ]; imports = [ "airflow.providers.mongo.hooks.mongo" ]; }; mysql = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.mysql.hooks.mysql" "airflow.providers.mysql.operators.mysql" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.mysql.hooks.mysql" + "airflow.providers.mysql.operators.mysql" + ]; }; neo4j = { deps = [ "neo4j" ]; - imports = [ "airflow.providers.neo4j.hooks.neo4j" "airflow.providers.neo4j.operators.neo4j" ]; + imports = [ + "airflow.providers.neo4j.hooks.neo4j" + "airflow.providers.neo4j.operators.neo4j" + ]; }; odbc = { deps = [ "pyodbc" ]; imports = [ "airflow.providers.odbc.hooks.odbc" ]; }; openfaas = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.openfaas.hooks.openfaas" ]; }; opsgenie = { - deps = [ ]; - imports = [ "airflow.providers.opsgenie.hooks.opsgenie" "airflow.providers.opsgenie.operators.opsgenie" ]; + deps = [ ]; + imports = [ + "airflow.providers.opsgenie.hooks.opsgenie" + "airflow.providers.opsgenie.operators.opsgenie" + ]; }; oracle = { deps = [ "oracledb" ]; - imports = [ "airflow.providers.oracle.hooks.oracle" "airflow.providers.oracle.operators.oracle" ]; + imports = [ + "airflow.providers.oracle.hooks.oracle" + "airflow.providers.oracle.operators.oracle" + ]; }; pagerduty = { - deps = [ ]; - imports = [ "airflow.providers.pagerduty.hooks.pagerduty" "airflow.providers.pagerduty.hooks.pagerduty_events" ]; + deps = [ ]; + imports = [ + "airflow.providers.pagerduty.hooks.pagerduty" + "airflow.providers.pagerduty.hooks.pagerduty_events" + ]; }; papermill = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.papermill.operators.papermill" ]; }; plexus = { deps = [ "arrow" ]; - imports = [ "airflow.providers.plexus.hooks.plexus" "airflow.providers.plexus.operators.job" ]; + imports = [ + "airflow.providers.plexus.hooks.plexus" + "airflow.providers.plexus.operators.job" + ]; }; postgres = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.postgres.hooks.postgres" "airflow.providers.postgres.operators.postgres" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.postgres.hooks.postgres" + "airflow.providers.postgres.operators.postgres" + ]; }; presto = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; imports = [ "airflow.providers.presto.hooks.presto" ]; }; qubole = { deps = [ "qds-sdk" ]; - imports = [ "airflow.providers.qubole.hooks.qubole" "airflow.providers.qubole.hooks.qubole_check" "airflow.providers.qubole.operators.qubole" "airflow.providers.qubole.operators.qubole_check" ]; + imports = [ + "airflow.providers.qubole.hooks.qubole" + "airflow.providers.qubole.hooks.qubole_check" + "airflow.providers.qubole.operators.qubole" + "airflow.providers.qubole.operators.qubole_check" + ]; }; redis = { deps = [ "redis" ]; - imports = [ "airflow.providers.redis.hooks.redis" "airflow.providers.redis.operators.redis_publish" ]; + imports = [ + "airflow.providers.redis.hooks.redis" + "airflow.providers.redis.operators.redis_publish" + ]; }; salesforce = { - deps = [ "pandas" "simple-salesforce" ]; - imports = [ "airflow.providers.salesforce.hooks.salesforce" "airflow.providers.salesforce.operators.bulk" "airflow.providers.salesforce.operators.salesforce_apex_rest" ]; + deps = [ + "pandas" + "simple-salesforce" + ]; + imports = [ + "airflow.providers.salesforce.hooks.salesforce" + "airflow.providers.salesforce.operators.bulk" + "airflow.providers.salesforce.operators.salesforce_apex_rest" + ]; }; samba = { deps = [ "smbprotocol" ]; imports = [ "airflow.providers.samba.hooks.samba" ]; }; segment = { - deps = [ ]; - imports = [ "airflow.providers.segment.hooks.segment" "airflow.providers.segment.operators.segment_track_event" ]; + deps = [ ]; + imports = [ + "airflow.providers.segment.hooks.segment" + "airflow.providers.segment.operators.segment_track_event" + ]; }; sendgrid = { deps = [ "sendgrid" ]; - imports = [ ]; + imports = [ ]; }; sftp = { - deps = [ "paramiko" "pysftp" "sshtunnel" ]; - imports = [ "airflow.providers.sftp.hooks.sftp" "airflow.providers.sftp.operators.sftp" ]; + deps = [ + "paramiko" + "pysftp" + "sshtunnel" + ]; + imports = [ + "airflow.providers.sftp.hooks.sftp" + "airflow.providers.sftp.operators.sftp" + ]; }; singularity = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.singularity.operators.singularity" ]; }; slack = { deps = [ "slack-sdk" ]; - imports = [ "airflow.providers.slack.hooks.slack" "airflow.providers.slack.hooks.slack_webhook" "airflow.providers.slack.operators.slack" "airflow.providers.slack.operators.slack_webhook" ]; + imports = [ + "airflow.providers.slack.hooks.slack" + "airflow.providers.slack.hooks.slack_webhook" + "airflow.providers.slack.operators.slack" + "airflow.providers.slack.operators.slack_webhook" + ]; }; snowflake = { - deps = [ "slack-sdk" "snowflake-connector-python" "snowflake-sqlalchemy" ]; - imports = [ "airflow.providers.snowflake.hooks.snowflake" "airflow.providers.snowflake.operators.snowflake" ]; + deps = [ + "slack-sdk" + "snowflake-connector-python" + "snowflake-sqlalchemy" + ]; + imports = [ + "airflow.providers.snowflake.hooks.snowflake" + "airflow.providers.snowflake.operators.snowflake" + ]; }; sqlite = { - deps = [ ]; - imports = [ "airflow.providers.sqlite.hooks.sqlite" "airflow.providers.sqlite.operators.sqlite" ]; + deps = [ ]; + imports = [ + "airflow.providers.sqlite.hooks.sqlite" + "airflow.providers.sqlite.operators.sqlite" + ]; }; ssh = { - deps = [ "paramiko" "sshtunnel" ]; - imports = [ "airflow.providers.ssh.hooks.ssh" "airflow.providers.ssh.operators.ssh" ]; + deps = [ + "paramiko" + "sshtunnel" + ]; + imports = [ + "airflow.providers.ssh.hooks.ssh" + "airflow.providers.ssh.operators.ssh" + ]; }; tableau = { deps = [ "tableauserverclient" ]; - imports = [ "airflow.providers.tableau.hooks.tableau" "airflow.providers.tableau.operators.tableau" ]; + imports = [ + "airflow.providers.tableau.hooks.tableau" + "airflow.providers.tableau.operators.tableau" + ]; }; tabular = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.tabular.hooks.tabular" ]; }; telegram = { deps = [ "python-telegram-bot" ]; - imports = [ "airflow.providers.telegram.hooks.telegram" "airflow.providers.telegram.operators.telegram" ]; + imports = [ + "airflow.providers.telegram.hooks.telegram" + "airflow.providers.telegram.operators.telegram" + ]; }; trino = { - deps = [ "adal" "apache-beam" "asgiref" "azure-batch" "azure-cosmos" "azure-datalake-store" "azure-identity" "azure-keyvault-secrets" "azure-mgmt-containerinstance" "azure-mgmt-datafactory" "azure-mgmt-datalake-store" "azure-mgmt-resource" "azure-servicebus" "azure-storage-blob" "azure-storage-common" "azure-storage-file" "azure-synapse-spark" "boto3" "cassandra-driver" "cryptography" "dnspython" "google-api-core" "google-api-python-client" "google-auth" "google-auth-httplib2" "google-cloud-automl" "google-cloud-bigquery-datatransfer" "google-cloud-bigtable" "google-cloud-compute" "google-cloud-container" "google-cloud-datacatalog" "google-cloud-dataproc" "google-cloud-dlp" "google-cloud-kms" "google-cloud-language" "google-cloud-logging" "google-cloud-monitoring" "google-cloud-pubsub" "google-cloud-redis" "google-cloud-secret-manager" "google-cloud-spanner" "google-cloud-speech" "google-cloud-storage" "google-cloud-tasks" "google-cloud-texttospeech" "google-cloud-translate" "google-cloud-videointelligence" "google-cloud-vision" "grpcio-gcp" "httpx" "json-merge-patch" "jsonpath-ng" "kubernetes" "mypy-boto3-appflow" "mypy-boto3-rds" "mypy-boto3-redshift-data" "mysqlclient" "oracledb" "pandas" "paramiko" "proto-plus" "protobuf" "psycopg2" "pymongo" "pyopenssl" "pysftp" "redshift-connector" "simple-salesforce" "smbprotocol" "sshtunnel" "thrift" "vertica-python" ]; - imports = [ "airflow.providers.trino.hooks.trino" "airflow.providers.trino.operators.trino" ]; + deps = [ + "adal" + "apache-beam" + "asgiref" + "azure-batch" + "azure-cosmos" + "azure-datalake-store" + "azure-identity" + "azure-keyvault-secrets" + "azure-mgmt-containerinstance" + "azure-mgmt-datafactory" + "azure-mgmt-datalake-store" + "azure-mgmt-resource" + "azure-servicebus" + "azure-storage-blob" + "azure-storage-common" + "azure-storage-file" + "azure-synapse-spark" + "boto3" + "cassandra-driver" + "cryptography" + "dnspython" + "google-api-core" + "google-api-python-client" + "google-auth" + "google-auth-httplib2" + "google-cloud-automl" + "google-cloud-bigquery-datatransfer" + "google-cloud-bigtable" + "google-cloud-compute" + "google-cloud-container" + "google-cloud-datacatalog" + "google-cloud-dataproc" + "google-cloud-dlp" + "google-cloud-kms" + "google-cloud-language" + "google-cloud-logging" + "google-cloud-monitoring" + "google-cloud-pubsub" + "google-cloud-redis" + "google-cloud-secret-manager" + "google-cloud-spanner" + "google-cloud-speech" + "google-cloud-storage" + "google-cloud-tasks" + "google-cloud-texttospeech" + "google-cloud-translate" + "google-cloud-videointelligence" + "google-cloud-vision" + "grpcio-gcp" + "httpx" + "json-merge-patch" + "jsonpath-ng" + "kubernetes" + "mypy-boto3-appflow" + "mypy-boto3-rds" + "mypy-boto3-redshift-data" + "mysqlclient" + "oracledb" + "pandas" + "paramiko" + "proto-plus" + "protobuf" + "psycopg2" + "pymongo" + "pyopenssl" + "pysftp" + "redshift-connector" + "simple-salesforce" + "smbprotocol" + "sshtunnel" + "thrift" + "vertica-python" + ]; + imports = [ + "airflow.providers.trino.hooks.trino" + "airflow.providers.trino.operators.trino" + ]; }; vertica = { deps = [ "vertica-python" ]; - imports = [ "airflow.providers.vertica.hooks.vertica" "airflow.providers.vertica.operators.vertica" ]; + imports = [ + "airflow.providers.vertica.hooks.vertica" + "airflow.providers.vertica.operators.vertica" + ]; }; yandex = { - deps = [ ]; - imports = [ "airflow.providers.yandex.hooks.yandex" "airflow.providers.yandex.hooks.yandexcloud_dataproc" "airflow.providers.yandex.operators.yandexcloud_dataproc" ]; + deps = [ ]; + imports = [ + "airflow.providers.yandex.hooks.yandex" + "airflow.providers.yandex.hooks.yandexcloud_dataproc" + "airflow.providers.yandex.operators.yandexcloud_dataproc" + ]; }; zendesk = { - deps = [ ]; + deps = [ ]; imports = [ "airflow.providers.zendesk.hooks.zendesk" ]; }; } diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index d178a3d150644..1c8a6c6585808 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -1,89 +1,90 @@ -{ lib -, stdenv -, python -, buildPythonPackage -, fetchFromGitHub -, alembic -, argcomplete -, asgiref -, attrs -, blinker -, cached-property -, cattrs -, clickclick -, colorlog -, configupdater -, connexion -, cron-descriptor -, croniter -, cryptography -, deprecated -, dill -, flask -, flask-login -, flask-appbuilder -, flask-caching -, flask-session -, flask-wtf -, gitpython -, google-re2 -, graphviz -, gunicorn -, httpx -, iso8601 -, importlib-resources -, importlib-metadata -, inflection -, itsdangerous -, jinja2 -, jsonschema -, lazy-object-proxy -, linkify-it-py -, lockfile -, markdown -, markupsafe -, marshmallow-oneofschema -, mdit-py-plugins -, numpy -, openapi-spec-validator -, opentelemetry-api -, opentelemetry-exporter-otlp -, pandas -, pathspec -, pendulum -, psutil -, pydantic -, pygments -, pyjwt -, python-daemon -, python-dateutil -, python-nvd3 -, python-slugify -, python3-openid -, pythonOlder -, pyyaml -, rich -, rich-argparse -, setproctitle -, sqlalchemy -, sqlalchemy-jsonfield -, swagger-ui-bundle -, tabulate -, tenacity -, termcolor -, typing-extensions -, unicodecsv -, werkzeug -, freezegun -, pytest-asyncio -, pytestCheckHook -, time-machine -, mkYarnPackage -, fetchYarnDeps -, writeScript - -# Extra airflow providers to enable -, enabledProviders ? [] +{ + lib, + stdenv, + python, + buildPythonPackage, + fetchFromGitHub, + alembic, + argcomplete, + asgiref, + attrs, + blinker, + cached-property, + cattrs, + clickclick, + colorlog, + configupdater, + connexion, + cron-descriptor, + croniter, + cryptography, + deprecated, + dill, + flask, + flask-login, + flask-appbuilder, + flask-caching, + flask-session, + flask-wtf, + gitpython, + google-re2, + graphviz, + gunicorn, + httpx, + iso8601, + importlib-resources, + importlib-metadata, + inflection, + itsdangerous, + jinja2, + jsonschema, + lazy-object-proxy, + linkify-it-py, + lockfile, + markdown, + markupsafe, + marshmallow-oneofschema, + mdit-py-plugins, + numpy, + openapi-spec-validator, + opentelemetry-api, + opentelemetry-exporter-otlp, + pandas, + pathspec, + pendulum, + psutil, + pydantic, + pygments, + pyjwt, + python-daemon, + python-dateutil, + python-nvd3, + python-slugify, + python3-openid, + pythonOlder, + pyyaml, + rich, + rich-argparse, + setproctitle, + sqlalchemy, + sqlalchemy-jsonfield, + swagger-ui-bundle, + tabulate, + tenacity, + termcolor, + typing-extensions, + unicodecsv, + werkzeug, + freezegun, + pytest-asyncio, + pytestCheckHook, + time-machine, + mkYarnPackage, + fetchYarnDeps, + writeScript, + + # Extra airflow providers to enable + enabledProviders ? [ ], }: let version = "2.7.3"; @@ -150,79 +151,82 @@ buildPythonPackage rec { disabled = pythonOlder "3.7"; - propagatedBuildInputs = [ - alembic - argcomplete - asgiref - attrs - blinker - cached-property - cattrs - clickclick - colorlog - configupdater - connexion - cron-descriptor - croniter - cryptography - deprecated - dill - flask - flask-appbuilder - flask-caching - flask-session - flask-wtf - flask-login - gitpython - google-re2 - graphviz - gunicorn - httpx - iso8601 - importlib-resources - inflection - itsdangerous - jinja2 - jsonschema - lazy-object-proxy - linkify-it-py - lockfile - markdown - markupsafe - marshmallow-oneofschema - mdit-py-plugins - numpy - openapi-spec-validator - opentelemetry-api - opentelemetry-exporter-otlp - pandas - pathspec - pendulum - psutil - pydantic - pygments - pyjwt - python-daemon - python-dateutil - python-nvd3 - python-slugify - python3-openid - pyyaml - rich - rich-argparse - setproctitle - sqlalchemy - sqlalchemy-jsonfield - swagger-ui-bundle - tabulate - tenacity - termcolor - typing-extensions - unicodecsv - werkzeug - ] ++ lib.optionals (pythonOlder "3.9") [ - importlib-metadata - ] ++ providerDependencies; + propagatedBuildInputs = + [ + alembic + argcomplete + asgiref + attrs + blinker + cached-property + cattrs + clickclick + colorlog + configupdater + connexion + cron-descriptor + croniter + cryptography + deprecated + dill + flask + flask-appbuilder + flask-caching + flask-session + flask-wtf + flask-login + gitpython + google-re2 + graphviz + gunicorn + httpx + iso8601 + importlib-resources + inflection + itsdangerous + jinja2 + jsonschema + lazy-object-proxy + linkify-it-py + lockfile + markdown + markupsafe + marshmallow-oneofschema + mdit-py-plugins + numpy + openapi-spec-validator + opentelemetry-api + opentelemetry-exporter-otlp + pandas + pathspec + pendulum + psutil + pydantic + pygments + pyjwt + python-daemon + python-dateutil + python-nvd3 + python-slugify + python3-openid + pyyaml + rich + rich-argparse + setproctitle + sqlalchemy + sqlalchemy-jsonfield + swagger-ui-bundle + tabulate + tenacity + termcolor + typing-extensions + unicodecsv + werkzeug + ] + ++ lib.optionals (pythonOlder "3.9") [ + importlib-metadata + ] + ++ providerDependencies; buildInputs = [ airflow-frontend @@ -240,15 +244,17 @@ buildPythonPackage rec { # above INSTALL_PROVIDERS_FROM_SOURCES = "true"; - postPatch = '' - # https://github.com/apache/airflow/issues/33854 - substituteInPlace pyproject.toml \ - --replace '[project]' $'[project]\nname = "apache-airflow"\nversion = "${version}"' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Fix failing test on Hydra - substituteInPlace airflow/utils/db.py \ - --replace "/tmp/sqlite_default.db" "$TMPDIR/sqlite_default.db" - ''; + postPatch = + '' + # https://github.com/apache/airflow/issues/33854 + substituteInPlace pyproject.toml \ + --replace '[project]' $'[project]\nname = "apache-airflow"\nversion = "${version}"' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Fix failing test on Hydra + substituteInPlace airflow/utils/db.py \ + --replace "/tmp/sqlite_default.db" "$TMPDIR/sqlite_default.db" + ''; pythonRelaxDeps = [ "colorlog" @@ -329,7 +335,11 @@ buildPythonPackage rec { description = "Programmatically author, schedule and monitor data pipelines"; homepage = "https://airflow.apache.org/"; license = licenses.asl20; - maintainers = with maintainers; [ bhipple gbpdt ingenieroariel ]; + maintainers = with maintainers; [ + bhipple + gbpdt + ingenieroariel + ]; knownVulnerabilities = [ "CVE-2023-50943" "CVE-2023-50944" diff --git a/pkgs/by-name/ap/apache-directory-server/package.nix b/pkgs/by-name/ap/apache-directory-server/package.nix index 4b7fb4086fba6..d53e816461eea 100644 --- a/pkgs/by-name/ap/apache-directory-server/package.nix +++ b/pkgs/by-name/ap/apache-directory-server/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchzip, jdk11, makeWrapper }: +{ + lib, + stdenv, + fetchzip, + jdk11, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "apache-directory-server"; diff --git a/pkgs/by-name/ap/apache-directory-studio/package.nix b/pkgs/by-name/ap/apache-directory-studio/package.nix index 7a051db5363e1..17710a77ebde2 100644 --- a/pkgs/by-name/ap/apache-directory-studio/package.nix +++ b/pkgs/by-name/ap/apache-directory-studio/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, jdk, makeWrapper, autoPatchelfHook, makeDesktopItem, glib, libsecret, webkitgtk_4_0 }: +{ + lib, + stdenv, + fetchurl, + jdk, + makeWrapper, + autoPatchelfHook, + makeDesktopItem, + glib, + libsecret, + webkitgtk_4_0, +}: stdenv.mkDerivation rec { pname = "apache-directory-studio"; @@ -11,7 +22,8 @@ stdenv.mkDerivation rec { url = "mirror://apache/directory/studio/${versionWithDate}/ApacheDirectoryStudio-${versionWithDate}-linux.gtk.x86_64.tar.gz"; sha256 = "19zdspzv4n3mfgb1g45s3wh0vbvn6a9zjd4xi5x2afmdjkzlwxi4"; } - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; desktopItem = makeDesktopItem { name = "apache-directory-studio"; @@ -20,11 +32,20 @@ stdenv.mkDerivation rec { comment = "Eclipse-based LDAP browser and directory client"; desktopName = "Apache Directory Studio"; genericName = "Apache Directory Studio"; - categories = [ "Java" "Network" ]; + categories = [ + "Java" + "Network" + ]; }; - buildInputs = [ glib libsecret ]; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + buildInputs = [ + glib + libsecret + ]; + nativeBuildInputs = [ + makeWrapper + autoPatchelfHook + ]; installPhase = '' dest="$out/libexec/ApacheDirectoryStudio" diff --git a/pkgs/by-name/ap/apache-flex-sdk/package.nix b/pkgs/by-name/ap/apache-flex-sdk/package.nix index 527b800551eb8..210efb7ffd44e 100644 --- a/pkgs/by-name/ap/apache-flex-sdk/package.nix +++ b/pkgs/by-name/ap/apache-flex-sdk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: let playerglobal_ver = "27.0"; @@ -6,7 +12,8 @@ let url = "https://fpdownload.macromedia.com/get/flashplayer/updaters/27/playerglobal27_0.swc"; sha256 = "0qw2bgls8qsmp80j8vpd4c7s0c8anlrk0ac8z42w89bajcdbwk2f"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "apache-flex-sdk"; version = "4.16.1"; diff --git a/pkgs/by-name/ap/apache-users/package.nix b/pkgs/by-name/ap/apache-users/package.nix index 8780a13a3f8a3..a60fad578c870 100644 --- a/pkgs/by-name/ap/apache-users/package.nix +++ b/pkgs/by-name/ap/apache-users/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, perl +{ + lib, + stdenv, + fetchurl, + perl, }: stdenv.mkDerivation (finalAttrs: { @@ -21,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { ''; buildInputs = [ - (perl.withPackages (p: [ p.ParallelForkManager p.LWP ])) + (perl.withPackages (p: [ + p.ParallelForkManager + p.LWP + ])) ]; installPhase = '' diff --git a/pkgs/by-name/ap/apbs/package.nix b/pkgs/by-name/ap/apbs/package.nix index bb8ba7afeff32..41a05f70f9fc5 100644 --- a/pkgs/by-name/ap/apbs/package.nix +++ b/pkgs/by-name/ap/apbs/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, blas -, superlu -, suitesparse -, python3 -, libintl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + blas, + superlu, + suitesparse, + python3, + libintl, }: let # this is a fork version of fetk (http://www.fetk.org/) @@ -78,14 +79,16 @@ stdenv.mkDerivation (finalAttrs: { cmake ]; - buildInputs = [ - fetk - suitesparse - blas - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libintl - ]; + buildInputs = + [ + fetk + suitesparse + blas + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libintl + ]; cmakeFlags = [ "-DPYTHON_VERSION=${python3.version}" diff --git a/pkgs/by-name/ap/apcupsd/package.nix b/pkgs/by-name/ap/apcupsd/package.nix index eeecfa2f0ec48..5d6e8ee1b8c64 100644 --- a/pkgs/by-name/ap/apcupsd/package.nix +++ b/pkgs/by-name/ap/apcupsd/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, systemd, util-linux, coreutils, wall, hostname, man -, enableCgiScripts ? true, gd -, nixosTests +{ + lib, + stdenv, + fetchurl, + pkg-config, + systemd, + util-linux, + coreutils, + wall, + hostname, + man, + enableCgiScripts ? true, + gd, + nixosTests, }: assert enableCgiScripts -> gd != null; @@ -14,7 +25,11 @@ stdenv.mkDerivation rec { sha256 = "0rwqiyzlg9p0szf3x6q1ppvrw6f6dbpn2rc5z623fk3bkdalhxyv"; }; - nativeBuildInputs = [ pkg-config man util-linux ]; + nativeBuildInputs = [ + pkg-config + man + util-linux + ]; buildInputs = lib.optional enableCgiScripts gd; prePatch = '' @@ -28,25 +43,27 @@ stdenv.mkDerivation rec { # ./configure ignores --prefix, so we must specify some paths manually # There is no real reason for a bin/sbin split, so just use bin. - configureFlags = [ - "--bindir=${placeholder "out"}/bin" - "--sbindir=${placeholder "out"}/bin" - "--sysconfdir=${placeholder "out"}/etc/apcupsd" - "--mandir=${placeholder "out"}/share/man" - "--with-halpolicydir=${placeholder "out"}/share/halpolicy" - "--localstatedir=/var" - "--with-nologin=/run" - "--with-log-dir=/var/log/apcupsd" - "--with-pwrfail-dir=/run/apcupsd" - "--with-lock-dir=/run/lock" - "--with-pid-dir=/run" - "--enable-usb" - "ac_cv_path_SHUTDOWN=${systemd}/sbin/shutdown" - "ac_cv_path_WALL=${wall}/bin/wall" - ] ++ lib.optionals enableCgiScripts [ - "--enable-cgi" - "--with-cgi-bin=${placeholder "out"}/libexec/cgi-bin" - ]; + configureFlags = + [ + "--bindir=${placeholder "out"}/bin" + "--sbindir=${placeholder "out"}/bin" + "--sysconfdir=${placeholder "out"}/etc/apcupsd" + "--mandir=${placeholder "out"}/share/man" + "--with-halpolicydir=${placeholder "out"}/share/halpolicy" + "--localstatedir=/var" + "--with-nologin=/run" + "--with-log-dir=/var/log/apcupsd" + "--with-pwrfail-dir=/run/apcupsd" + "--with-lock-dir=/run/lock" + "--with-pid-dir=/run" + "--enable-usb" + "ac_cv_path_SHUTDOWN=${systemd}/sbin/shutdown" + "ac_cv_path_WALL=${wall}/bin/wall" + ] + ++ lib.optionals enableCgiScripts [ + "--enable-cgi" + "--with-cgi-bin=${placeholder "out"}/libexec/cgi-bin" + ]; postInstall = '' for file in "$out"/etc/apcupsd/*; do diff --git a/pkgs/by-name/ap/aperture/package.nix b/pkgs/by-name/ap/aperture/package.nix index 043b0311cca89..7e47e02c12ab5 100644 --- a/pkgs/by-name/ap/aperture/package.nix +++ b/pkgs/by-name/ap/aperture/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { homepage = "https://github.com/lightninglabs/aperture"; changelog = "https://github.com/lightninglabs/aperture/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ sputn1ck HannahMR ]; + maintainers = with maintainers; [ + sputn1ck + HannahMR + ]; mainProgram = "aperture"; }; } diff --git a/pkgs/by-name/ap/apfel/package.nix b/pkgs/by-name/ap/apfel/package.nix index da403af44b9bf..7c8ca609fd274 100644 --- a/pkgs/by-name/ap/apfel/package.nix +++ b/pkgs/by-name/ap/apfel/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gfortran -, lhapdf -, python3 -, swig -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gfortran, + lhapdf, + python3, + swig, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ap/apfelgrid/package.nix b/pkgs/by-name/ap/apfelgrid/package.nix index 2c6c9702c249d..45b6d88d715b2 100644 --- a/pkgs/by-name/ap/apfelgrid/package.nix +++ b/pkgs/by-name/ap/apfelgrid/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, apfel, applgrid, lhapdf, root5 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + apfel, + applgrid, + lhapdf, + root5, +}: stdenv.mkDerivation rec { pname = "apfelgrid"; @@ -12,16 +21,21 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ apfel applgrid lhapdf root5 ]; + buildInputs = [ + apfel + applgrid + lhapdf + root5 + ]; enableParallelBuilding = true; meta = with lib; { description = "Ultra-fast theory predictions for collider observables"; mainProgram = "apfelgrid-config"; - license = licenses.mit; - homepage = "https://nhartland.github.io/APFELgrid/"; - platforms = platforms.unix; + license = licenses.mit; + homepage = "https://nhartland.github.io/APFELgrid/"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/ap/apfs-fuse/package.nix b/pkgs/by-name/ap/apfs-fuse/package.nix index 88b2c5d3e6240..279c6a3e62de8 100644 --- a/pkgs/by-name/ap/apfs-fuse/package.nix +++ b/pkgs/by-name/ap/apfs-fuse/package.nix @@ -1,13 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, fuse, fuse3, bzip2, zlib, attr, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fuse, + fuse3, + bzip2, + zlib, + attr, + cmake, +}: stdenv.mkDerivation { pname = "apfs-fuse"; version = "unstable-2023-03-12"; src = fetchFromGitHub { - owner = "sgan81"; - repo = "apfs-fuse"; - rev = "66b86bd525e8cb90f9012543be89b1f092b75cf3"; + owner = "sgan81"; + repo = "apfs-fuse"; + rev = "66b86bd525e8cb90f9012543be89b1f092b75cf3"; hash = "sha256-uYAlqnQp0K880XEWuH1548DUA3ii53+hfsuh/T3Vwzg="; fetchSubmodules = true; }; @@ -34,11 +44,11 @@ stdenv.mkDerivation { ''; meta = with lib; { - homepage = "https://github.com/sgan81/apfs-fuse"; + homepage = "https://github.com/sgan81/apfs-fuse"; description = "FUSE driver for APFS (Apple File System)"; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; mainProgram = "apfs-fuse"; maintainers = with maintainers; [ ealasu ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ap/apg/package.nix b/pkgs/by-name/ap/apg/package.nix index a283678e0a161..13b0fd1512acb 100644 --- a/pkgs/by-name/ap/apg/package.nix +++ b/pkgs/by-name/ap/apg/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, openssl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "apg"; version = "unstable-2015-01-29"; @@ -17,47 +23,47 @@ stdenv.mkDerivation rec { meta = { description = "Tools for random password generation"; longDescription = '' - APG (Automated Password Generator) is the tool set for random - password generation. + APG (Automated Password Generator) is the tool set for random + password generation. - Standalone version + Standalone version - Generates some random words of required type and prints them - to standard output. + Generates some random words of required type and prints them + to standard output. - Network version + Network version - APG server: When client's request is arrived generates some - random words of predefined type and send them to client over - the network (according to RFC0972). + APG server: When client's request is arrived generates some + random words of predefined type and send them to client over + the network (according to RFC0972). - APG client: Sends the password generation request to the APG - server, wait for generated Passwords arrival and then prints - them to the standard output. + APG client: Sends the password generation request to the APG + server, wait for generated Passwords arrival and then prints + them to the standard output. - Advantages + Advantages - * Built-in ANSI X9.17 RNG (Random Number Generator) (CAST/SHA1) - * Built-in password quality checking system (it has support for - Bloom filter for faster access) - * Two Password Generation Algorithms: - 1. Pronounceable Password Generation Algorithm (according to - NIST FIPS 181) - 2. Random Character Password Generation Algorithm with 35 - configurable modes of operation - * Configurable password length parameters - * Configurable amount of generated passwords - * Ability to initialize RNG with user string - * Support for /dev/random - * Ability to crypt() generated passwords and print them as - additional output - * Special parameters to use APG in script - * Ability to log password generation requests for network version - * Ability to control APG service access using tcpd - * Ability to use password generation service from any type of box - (Mac, WinXX, etc.) that connected to network - * Ability to enforce remote users to use only allowed type of - password generation + * Built-in ANSI X9.17 RNG (Random Number Generator) (CAST/SHA1) + * Built-in password quality checking system (it has support for + Bloom filter for faster access) + * Two Password Generation Algorithms: + 1. Pronounceable Password Generation Algorithm (according to + NIST FIPS 181) + 2. Random Character Password Generation Algorithm with 35 + configurable modes of operation + * Configurable password length parameters + * Configurable amount of generated passwords + * Ability to initialize RNG with user string + * Support for /dev/random + * Ability to crypt() generated passwords and print them as + additional output + * Special parameters to use APG in script + * Ability to log password generation requests for network version + * Ability to control APG service access using tcpd + * Ability to use password generation service from any type of box + (Mac, WinXX, etc.) that connected to network + * Ability to enforce remote users to use only allowed type of + password generation ''; homepage = "https://github.com/wilx/apg"; license = lib.licenses.bsd3; diff --git a/pkgs/by-name/ap/apgdiff/package.nix b/pkgs/by-name/ap/apgdiff/package.nix index 8ce720efd6819..0e09c9bb92bde 100644 --- a/pkgs/by-name/ap/apgdiff/package.nix +++ b/pkgs/by-name/ap/apgdiff/package.nix @@ -1,8 +1,9 @@ -{ lib -, maven -, fetchFromGitHub -, jre -, makeWrapper +{ + lib, + maven, + fetchFromGitHub, + jre, + makeWrapper, }: maven.buildMavenPackage rec { pname = "apgdiff"; diff --git a/pkgs/by-name/ap/aphorme/package.nix b/pkgs/by-name/ap/aphorme/package.nix index 37b06b0f0d640..2a379da52aafe 100644 --- a/pkgs/by-name/ap/aphorme/package.nix +++ b/pkgs/by-name/ap/aphorme/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, wayland -, libxkbcommon -, libGL -, stdenv -, testers -, aphorme -, autoPatchelfHook +{ + lib, + fetchFromGitHub, + rustPlatform, + wayland, + libxkbcommon, + libGL, + stdenv, + testers, + aphorme, + autoPatchelfHook, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ap/api-linter/package.nix b/pkgs/by-name/ap/api-linter/package.nix index 45fd194c340c7..16847eb016d4e 100644 --- a/pkgs/by-name/ap/api-linter/package.nix +++ b/pkgs/by-name/ap/api-linter/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ap/apkg/package.nix b/pkgs/by-name/ap/apkg/package.nix index aaf4d47f4c62d..be42b1ac9d1de 100644 --- a/pkgs/by-name/ap/apkg/package.nix +++ b/pkgs/by-name/ap/apkg/package.nix @@ -1,5 +1,11 @@ -{ lib, fetchFromGitLab, python3Packages -, gitMinimal, rpm, dpkg, fakeroot +{ + lib, + fetchFromGitLab, + python3Packages, + gitMinimal, + rpm, + dpkg, + fakeroot, }: python3Packages.buildPythonApplication rec { @@ -17,25 +23,37 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ # copy&pasted requirements.txt (almost exactly) - beautifulsoup4 # upstream version detection - blessed # terminal colors - build # apkg distribution - cached-property # for python <= 3.7; but pip complains even with 3.8 - click # nice CLI framework - distro # current distro detection - jinja2 # templating - packaging # version parsing - requests # HTTP for humans™ - toml # config files + beautifulsoup4 # upstream version detection + blessed # terminal colors + build # apkg distribution + cached-property # for python <= 3.7; but pip complains even with 3.8 + click # nice CLI framework + distro # current distro detection + jinja2 # templating + packaging # version parsing + requests # HTTP for humans™ + toml # config files ]; nativeBuildInputs = with python3Packages; [ hatchling ]; - makeWrapperArgs = [ # deps for `srcpkg` operation for other distros; could be optional - "--prefix" "PATH" ":" (lib.makeBinPath [ gitMinimal rpm dpkg fakeroot ]) + makeWrapperArgs = [ + # deps for `srcpkg` operation for other distros; could be optional + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + gitMinimal + rpm + dpkg + fakeroot + ]) ]; - nativeCheckInputs = with python3Packages; [ pytest dunamai ]; + nativeCheckInputs = with python3Packages; [ + pytest + dunamai + ]; checkPhase = '' runHook preCheck py.test # inspiration: .gitlab-ci.yml @@ -46,7 +64,9 @@ python3Packages.buildPythonApplication rec { description = "Upstream packaging automation tool"; homepage = "https://pkg.labs.nic.cz/pages/apkg"; license = licenses.gpl3Plus; - maintainers = [ maintainers.vcunat /* close to upstream */ ]; + maintainers = [ + maintainers.vcunat # close to upstream + ]; mainProgram = "apkg"; }; } diff --git a/pkgs/by-name/ap/apkid/package.nix b/pkgs/by-name/ap/apkid/package.nix index d54a6564908a0..b77a81bc56eaa 100644 --- a/pkgs/by-name/ap/apkid/package.nix +++ b/pkgs/by-name/ap/apkid/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ap/apksigcopier/package.nix b/pkgs/by-name/ap/apksigcopier/package.nix index 1262c9eaaa75f..a63b6b7145ab6 100644 --- a/pkgs/by-name/ap/apksigcopier/package.nix +++ b/pkgs/by-name/ap/apksigcopier/package.nix @@ -1,10 +1,11 @@ -{ lib -, apksigner -, bash -, fetchFromGitHub -, installShellFiles -, pandoc -, python3 +{ + lib, + apksigner, + bash, + fetchFromGitHub, + installShellFiles, + pandoc, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ap/apksigner/package.nix b/pkgs/by-name/ap/apksigner/package.nix index f606b43386cad..108d15a89e991 100644 --- a/pkgs/by-name/ap/apksigner/package.nix +++ b/pkgs/by-name/ap/apksigner/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchgit -, jdk_headless -, gradle_8 -, makeWrapper +{ + lib, + stdenv, + fetchgit, + jdk_headless, + gradle_8, + makeWrapper, }: let # "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0." @@ -50,7 +51,10 @@ stdenv.mkDerivation rec { doCheck = true; - nativeBuildInputs = [ gradle makeWrapper ]; + nativeBuildInputs = [ + gradle + makeWrapper + ]; installPhase = '' install -Dm444 build/libs/apksigner.jar -t $out/lib diff --git a/pkgs/by-name/ap/apktool/package.nix b/pkgs/by-name/ap/apktool/package.nix index 5b2585f6bce71..77973b83683b4 100644 --- a/pkgs/by-name/ap/apktool/package.nix +++ b/pkgs/by-name/ap/apktool/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jdk_headless -, aapt +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jdk_headless, + aapt, }: stdenv.mkDerivation rec { @@ -24,14 +25,13 @@ stdenv.mkDerivation rec { sourceRoot = "."; - installPhase = - '' - install -D ${src} "$out/libexec/apktool/apktool.jar" - mkdir -p "$out/bin" - makeWrapper "${jdk_headless}/bin/java" "$out/bin/apktool" \ - --add-flags "-jar $out/libexec/apktool/apktool.jar" \ - --prefix PATH : ${lib.getBin aapt} - ''; + installPhase = '' + install -D ${src} "$out/libexec/apktool/apktool.jar" + mkdir -p "$out/bin" + makeWrapper "${jdk_headless}/bin/java" "$out/bin/apktool" \ + --add-flags "-jar $out/libexec/apktool/apktool.jar" \ + --prefix PATH : ${lib.getBin aapt} + ''; meta = with lib; { description = "Tool for reverse engineering Android apk files"; diff --git a/pkgs/by-name/ap/apl386/package.nix b/pkgs/by-name/ap/apl386/package.nix index bfbb00dedeed6..975307a795ba1 100644 --- a/pkgs/by-name/ap/apl386/package.nix +++ b/pkgs/by-name/ap/apl386/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "apl386"; diff --git a/pkgs/by-name/ap/apng2gif/package.nix b/pkgs/by-name/ap/apng2gif/package.nix index 5fc0e4ef1a730..9c9f4b09a6e59 100644 --- a/pkgs/by-name/ap/apng2gif/package.nix +++ b/pkgs/by-name/ap/apng2gif/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, libpng +{ + lib, + stdenv, + fetchzip, + libpng, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ap/apngopt/package.nix b/pkgs/by-name/ap/apngopt/package.nix index e0c0977324529..52a178c6ef0a7 100644 --- a/pkgs/by-name/ap/apngopt/package.nix +++ b/pkgs/by-name/ap/apngopt/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchzip -, libpng -, zlib -, zopfli +{ + lib, + stdenv, + fetchzip, + libpng, + zlib, + zopfli, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ap/apparency/package.nix b/pkgs/by-name/ap/apparency/package.nix index 8fd9af7056a5f..7eacc1aa7da6a 100644 --- a/pkgs/by-name/ap/apparency/package.nix +++ b/pkgs/by-name/ap/apparency/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, stdenv -, undmg +{ + lib, + fetchurl, + stdenv, + undmg, }: let @@ -12,8 +13,8 @@ stdenv.mkDerivation { version = "2.0"; src = fetchurl { - # Use externally archived download URL because - # upstream does not provide stable URLs for versioned releases + # Use externally archived download URL because + # upstream does not provide stable URLs for versioned releases url = "https://web.archive.org/web/${snapshot}/https://www.mothersruin.com/software/downloads/Apparency.dmg"; hash = "sha256-XKxWxqfxy9AQneILLrN9XqLt4/k2N8yumZ5mrSvczFk="; }; diff --git a/pkgs/by-name/ap/apparix/package.nix b/pkgs/by-name/ap/apparix/package.nix index dd0c8cf67b0b4..da89f91f048e6 100644 --- a/pkgs/by-name/ap/apparix/package.nix +++ b/pkgs/by-name/ap/apparix/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "apparix"; diff --git a/pkgs/by-name/ap/appcleaner/package.nix b/pkgs/by-name/ap/appcleaner/package.nix index 62d9e2b1116fa..8f03b1dc92c26 100644 --- a/pkgs/by-name/ap/appcleaner/package.nix +++ b/pkgs/by-name/ap/appcleaner/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + unzip, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "appcleaner"; diff --git a/pkgs/by-name/ap/appeditor/package.nix b/pkgs/by-name/ap/appeditor/package.nix index 46adf420932d2..989345f505cbb 100644 --- a/pkgs/by-name/ap/appeditor/package.nix +++ b/pkgs/by-name/ap/appeditor/package.nix @@ -1,17 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, vala -, meson -, ninja -, pkg-config -, pantheon -, python3 -, gettext -, glib -, gtk3 -, libgee -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + vala, + meson, + ninja, + pkg-config, + pantheon, + python3, + gettext, + glib, + gtk3, + libgee, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ap/appgate-sdp/package.nix b/pkgs/by-name/ap/appgate-sdp/package.nix index bd0b9283c54ba..567f7ba9adc46 100644 --- a/pkgs/by-name/ap/appgate-sdp/package.nix +++ b/pkgs/by-name/ap/appgate-sdp/package.nix @@ -1,42 +1,43 @@ -{ alsa-lib -, at-spi2-atk -, at-spi2-core -, atk -, autoPatchelfHook -, cairo -, cups -, curl -, dbus -, dnsmasq -, dpkg -, expat -, fetchurl -, gdk-pixbuf -, glib -, gtk3 -, icu -, iproute2 -, krb5 -, lib -, libdrm -, libsecret -, libuuid -, libxcb -, libxkbcommon -, lttng-ust -, makeWrapper -, mesa -, networkmanager -, nspr -, nss -, openssl -, pango -, python3 -, stdenv -, systemd -, xdg-utils -, xorg -, zlib +{ + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + autoPatchelfHook, + cairo, + cups, + curl, + dbus, + dnsmasq, + dpkg, + expat, + fetchurl, + gdk-pixbuf, + glib, + gtk3, + icu, + iproute2, + krb5, + lib, + libdrm, + libsecret, + libuuid, + libxcb, + libxkbcommon, + lttng-ust, + makeWrapper, + mesa, + networkmanager, + nspr, + nss, + openssl, + pango, + python3, + stdenv, + systemd, + xdg-utils, + xorg, + zlib, }: let @@ -137,7 +138,13 @@ stdenv.mkDerivation rec { --set LD_LIBRARY_PATH "${lib.makeLibraryPath [ stdenv.cc.cc ]}" wrapProgram $out/opt/appgate/appgate-driver \ - --prefix PATH : ${lib.makeBinPath [ iproute2 networkmanager dnsmasq ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + iproute2 + networkmanager + dnsmasq + ] + } \ --set LD_LIBRARY_PATH $out/opt/appgate/service # make xdg-open overrideable at runtime diff --git a/pkgs/by-name/ap/appimagekit/package.nix b/pkgs/by-name/ap/appimagekit/package.nix index c540b8cfac1e0..8b7c20fed19bc 100644 --- a/pkgs/by-name/ap/appimagekit/package.nix +++ b/pkgs/by-name/ap/appimagekit/package.nix @@ -1,9 +1,29 @@ -{ lib, stdenv, fetchFromGitHub -, pkg-config, cmake, autoconf, automake, libtool, makeWrapper -, wget, xxd, desktop-file-utils, file -, gnupg, glib, zlib, cairo, openssl, fuse, xz, squashfuse, inotify-tools, libarchive -, squashfsTools -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + autoconf, + automake, + libtool, + makeWrapper, + wget, + xxd, + desktop-file-utils, + file, + gnupg, + glib, + zlib, + cairo, + openssl, + fuse, + xz, + squashfuse, + inotify-tools, + libarchive, + squashfsTools, + gtest, }: let @@ -23,7 +43,7 @@ let src = fetchFromGitHub { owner = "vasi"; - repo = pname; + repo = pname; rev = "1f980303b89c779eabfd0a0fdd36d6a7a311bf92"; sha256 = "sha256-BZd1+7sRYZHthULKk3RlgMIy4uCUei45GbSEiZxLPFM="; }; @@ -48,7 +68,10 @@ let ''; configureFlags = [ - "--disable-demo" "--disable-high-level" "--without-lzo" "--without-lz4" + "--disable-demo" + "--disable-high-level" + "--without-lzo" + "--without-lz4" ]; postConfigure = '' @@ -63,7 +86,8 @@ let ''; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "appimagekit"; version = "unstable-2020-12-31"; @@ -76,13 +100,28 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - pkg-config cmake autoconf automake libtool wget xxd - desktop-file-utils makeWrapper + pkg-config + cmake + autoconf + automake + libtool + wget + xxd + desktop-file-utils + makeWrapper ]; buildInputs = [ - glib zlib cairo openssl fuse xz inotify-tools - libarchive squashfsTools appimagekit_squashfuse + glib + zlib + cairo + openssl + fuse + xz + inotify-tools + libarchive + squashfsTools + appimagekit_squashfuse ]; preConfigure = '' @@ -105,7 +144,12 @@ in stdenv.mkDerivation rec { cp "${desktop-file-utils}/bin/desktop-file-validate" "$out/bin" wrapProgram "$out/bin/appimagetool" \ - --prefix PATH : "${lib.makeBinPath [ file gnupg ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + file + gnupg + ] + }" \ --unset SOURCE_DATE_EPOCH ''; diff --git a/pkgs/by-name/ap/appindicator-sharp/package.nix b/pkgs/by-name/ap/appindicator-sharp/package.nix index 3062074f4cd79..40373d4e61afd 100644 --- a/pkgs/by-name/ap/appindicator-sharp/package.nix +++ b/pkgs/by-name/ap/appindicator-sharp/package.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ]; ac_cv_path_MDOC = "no"; - installFlags = ["GAPIXMLDIR=/tmp/gapixml"]; + installFlags = [ "GAPIXMLDIR=/tmp/gapixml" ]; meta = { description = "Bindings for appindicator using gobject-introspection"; diff --git a/pkgs/by-name/ap/apple-cursor/package.nix b/pkgs/by-name/ap/apple-cursor/package.nix index e2f059ecb1fb2..2dd91c2b0a551 100644 --- a/pkgs/by-name/ap/apple-cursor/package.nix +++ b/pkgs/by-name/ap/apple-cursor/package.nix @@ -1,20 +1,28 @@ -{ lib -, fetchzip -, stdenv +{ + lib, + fetchzip, + stdenv, }: let - _src = variant: suffix: hash: fetchzip ({ - name = variant; - url = "https://github.com/ful1e5/apple_cursor/releases/download/v${version}/${variant}.${suffix}"; - hash = hash; - } // (lib.optionalAttrs (suffix == "zip") { stripRoot = false; }) // (lib.optionalAttrs (suffix == "tar.xz") { stripRoot = false; })); + _src = + variant: suffix: hash: + fetchzip ( + { + name = variant; + url = "https://github.com/ful1e5/apple_cursor/releases/download/v${version}/${variant}.${suffix}"; + hash = hash; + } + // (lib.optionalAttrs (suffix == "zip") { stripRoot = false; }) + // (lib.optionalAttrs (suffix == "tar.xz") { stripRoot = false; }) + ); srcs = [ (_src "macOS" "tar.xz" "sha256-nS4g+VwM+4q/S1ODb3ySi2SBk7Ha8vF8d9XpP5cEkok=") ]; version = "2.0.1"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "apple_cursor"; inherit version; inherit srcs; @@ -35,6 +43,9 @@ in stdenv.mkDerivation rec { licenses.unfree ]; platforms = platforms.linux; - maintainers = with maintainers; [ colemickens dxwil ]; + maintainers = with maintainers; [ + colemickens + dxwil + ]; }; } diff --git a/pkgs/by-name/ap/approxmc/package.nix b/pkgs/by-name/ap/approxmc/package.nix index 843fe187a3f0f..20460dc5428ba 100644 --- a/pkgs/by-name/ap/approxmc/package.nix +++ b/pkgs/by-name/ap/approxmc/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, fetchFromGitHub -, cmake -, zlib -, gmp -, cryptominisat -, boost -, arjun-cnf -, louvain-community -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + zlib, + gmp, + cryptominisat, + boost, + arjun-cnf, + louvain-community, + lib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ap/appstream-glib/package.nix b/pkgs/by-name/ap/appstream-glib/package.nix index 7b3e4516bf6bb..67f5f96c306eb 100644 --- a/pkgs/by-name/ap/appstream-glib/package.nix +++ b/pkgs/by-name/ap/appstream-glib/package.nix @@ -1,38 +1,45 @@ -{ lib, stdenv -, fetchFromGitHub -, substituteAll -, docbook_xml_dtd_42 -, docbook_xsl -, fontconfig -, freetype -, gdk-pixbuf -, gettext -, glib -, gobject-introspection -, gperf -, gtk-doc -, gtk3 -, json-glib -, libarchive -, curl -, libuuid -, libxslt -, meson -, ninja -, pkg-config -, pngquant +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + docbook_xml_dtd_42, + docbook_xsl, + fontconfig, + freetype, + gdk-pixbuf, + gettext, + glib, + gobject-introspection, + gperf, + gtk-doc, + gtk3, + json-glib, + libarchive, + curl, + libuuid, + libxslt, + meson, + ninja, + pkg-config, + pngquant, }: stdenv.mkDerivation rec { pname = "appstream-glib"; version = "0.8.2"; - outputs = [ "out" "dev" "man" "installedTests" ]; + outputs = [ + "out" + "dev" + "man" + "installedTests" + ]; outputBin = "dev"; src = fetchFromGitHub { owner = "hughsie"; repo = "appstream-glib"; - rev = "${lib.replaceStrings ["-"] ["_"] pname}_${lib.replaceStrings ["."] ["_"] version}"; + rev = "${lib.replaceStrings [ "-" ] [ "_" ] pname}_${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-3QFiOJ38talA0GGL++n+DaA/AN7l4LOZQ7BJV6o8ius="; }; diff --git a/pkgs/by-name/ap/appvm/package.nix b/pkgs/by-name/ap/appvm/package.nix index c71236d127b68..62378c5072fe0 100644 --- a/pkgs/by-name/ap/appvm/package.nix +++ b/pkgs/by-name/ap/appvm/package.nix @@ -1,15 +1,17 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix -, virt-viewer -, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix, + virt-viewer, + makeWrapper, +}: let # Upstream patches fail with newer virt-viewer. These are own ports to the # newest virt-viewer version, see: # https://github.com/jollheef/appvm/issues/28 - virt-manager-without-menu = virt-viewer.overrideAttrs(oldAttrs: { + virt-manager-without-menu = virt-viewer.overrideAttrs (oldAttrs: { patches = oldAttrs.patches ++ [ ./0001-Remove-menu-bar.patch ./0002-Do-not-grab-keyboard-mouse.patch @@ -35,13 +37,22 @@ buildGoModule rec { postFixup = '' wrapProgram $out/bin/appvm \ - --prefix PATH : "${lib.makeBinPath [ nix virt-manager-without-menu ]}" + --prefix PATH : "${ + lib.makeBinPath [ + nix + virt-manager-without-menu + ] + }" ''; meta = with lib; { description = "Nix-based app VMs"; homepage = "https://code.dumpstack.io/tools/${pname}"; - maintainers = with maintainers; [ dump_stack cab404 onny ]; + maintainers = with maintainers; [ + dump_stack + cab404 + onny + ]; license = licenses.gpl3; }; } diff --git a/pkgs/by-name/ap/aprutil/package.nix b/pkgs/by-name/ap/aprutil/package.nix index ea7c9cf8c1680..1f23af533b76a 100644 --- a/pkgs/by-name/ap/aprutil/package.nix +++ b/pkgs/by-name/ap/aprutil/package.nix @@ -1,9 +1,21 @@ -{ lib, stdenv, fetchurl, makeWrapper, apr, expat, gnused -, sslSupport ? true, openssl -, bdbSupport ? true, db -, ldapSupport ? !stdenv.hostPlatform.isCygwin, openldap -, libiconv, libxcrypt -, cyrus_sasl, autoreconfHook +{ + lib, + stdenv, + fetchurl, + makeWrapper, + apr, + expat, + gnused, + sslSupport ? true, + openssl, + bdbSupport ? true, + db, + ldapSupport ? !stdenv.hostPlatform.isCygwin, + openldap, + libiconv, + libxcrypt, + cyrus_sasl, + autoreconfHook, }: assert sslSupport -> openssl != null; @@ -27,35 +39,57 @@ stdenv.mkDerivation rec { NIX_CFLAGS_LINK = [ "-lcrypt" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputBin = "dev"; - nativeBuildInputs = [ makeWrapper autoreconfHook ]; + nativeBuildInputs = [ + makeWrapper + autoreconfHook + ]; - configureFlags = [ "--with-apr=${apr.dev}" "--with-expat=${expat.dev}" ] + configureFlags = + [ + "--with-apr=${apr.dev}" + "--with-expat=${expat.dev}" + ] ++ lib.optional (!stdenv.hostPlatform.isCygwin) "--with-crypto" ++ lib.optional sslSupport "--with-openssl=${openssl.dev}" ++ lib.optional bdbSupport "--with-berkeley-db=${db.dev}" ++ lib.optional ldapSupport "--with-ldap=ldap" - ++ lib.optionals stdenv.hostPlatform.isCygwin - [ "--without-pgsql" "--without-sqlite2" "--without-sqlite3" - "--without-freetds" "--without-berkeley-db" "--without-crypto" ] - ; + ++ lib.optionals stdenv.hostPlatform.isCygwin [ + "--without-pgsql" + "--without-sqlite2" + "--without-sqlite3" + "--without-freetds" + "--without-berkeley-db" + "--without-crypto" + ]; - postConfigure = '' - echo '#define APR_HAVE_CRYPT_H 1' >> confdefs.h - '' + - # For some reason, db version 6.9 is selected when cross-compiling. - # It's unclear as to why, it requires someone with more autotools / configure knowledge to go deeper into that. - # Always replacing the link flag with a generic link flag seems to help though, so let's do that for now. - lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - substituteInPlace Makefile \ - --replace "-ldb-6.9" "-ldb" - substituteInPlace apu-1-config \ - --replace "-ldb-6.9" "-ldb" - ''; + postConfigure = + '' + echo '#define APR_HAVE_CRYPT_H 1' >> confdefs.h + '' + + + # For some reason, db version 6.9 is selected when cross-compiling. + # It's unclear as to why, it requires someone with more autotools / configure knowledge to go deeper into that. + # Always replacing the link flag with a generic link flag seems to help though, so let's do that for now. + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace Makefile \ + --replace "-ldb-6.9" "-ldb" + substituteInPlace apu-1-config \ + --replace "-ldb-6.9" "-ldb" + ''; - propagatedBuildInputs = [ apr expat libiconv libxcrypt ] + propagatedBuildInputs = + [ + apr + expat + libiconv + libxcrypt + ] ++ lib.optional sslSupport openssl ++ lib.optional bdbSupport db ++ lib.optional ldapSupport openldap diff --git a/pkgs/by-name/ap/aprx/package.nix b/pkgs/by-name/ap/aprx/package.nix index e6dc23cbef5ce..6981e074aeed5 100644 --- a/pkgs/by-name/ap/aprx/package.nix +++ b/pkgs/by-name/ap/aprx/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, perl +{ + lib, + stdenv, + fetchFromGitHub, + perl, }: stdenv.mkDerivation { @@ -17,10 +18,13 @@ stdenv.mkDerivation { nativeBuildInputs = [ perl ]; - env.NIX_CFLAGS_COMPILE = toString ([ - "-fcommon" - "-O2" - ] ++ lib.optional stdenv.cc.isClang "-Wno-error=implicit-int"); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-fcommon" + "-O2" + ] + ++ lib.optional stdenv.cc.isClang "-Wno-error=implicit-int" + ); configureFlags = [ "--with-erlangstorage" diff --git a/pkgs/by-name/ap/apt-cacher-ng/package.nix b/pkgs/by-name/ap/apt-cacher-ng/package.nix index bea5fd3135ae1..f3dbb4fe8266f 100644 --- a/pkgs/by-name/ap/apt-cacher-ng/package.nix +++ b/pkgs/by-name/ap/apt-cacher-ng/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, bzip2 -, cmake -, doxygen -, fetchurl -, fetchpatch -, fuse -, libevent -, xz -, openssl -, pkg-config -, systemd -, tcp_wrappers -, zlib -, c-ares +{ + lib, + stdenv, + bzip2, + cmake, + doxygen, + fetchurl, + fetchpatch, + fuse, + libevent, + xz, + openssl, + pkg-config, + systemd, + tcp_wrappers, + zlib, + c-ares, }: stdenv.mkDerivation rec { @@ -34,8 +35,22 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake doxygen pkg-config ]; - buildInputs = [ bzip2 fuse libevent xz openssl systemd tcp_wrappers zlib c-ares ]; + nativeBuildInputs = [ + cmake + doxygen + pkg-config + ]; + buildInputs = [ + bzip2 + fuse + libevent + xz + openssl + systemd + tcp_wrappers + zlib + c-ares + ]; meta = with lib; { description = "Caching proxy specialized for Linux distribution files"; diff --git a/pkgs/by-name/ap/apt-mirror/package.nix b/pkgs/by-name/ap/apt-mirror/package.nix index 0735293986de7..8f606e921af01 100644 --- a/pkgs/by-name/ap/apt-mirror/package.nix +++ b/pkgs/by-name/ap/apt-mirror/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, perl -, wget -, makeWrapper -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + perl, + wget, + makeWrapper, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -34,10 +35,10 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' wrapProgram $out/bin/apt-mirror \ - --prefix PATH : ${lib.makeBinPath [wget]} + --prefix PATH : ${lib.makeBinPath [ wget ]} ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Tool that provides the ability to mirror any parts of apt sources"; diff --git a/pkgs/by-name/ap/apt-offline/package.nix b/pkgs/by-name/ap/apt-offline/package.nix index bfd61098211cc..e6826e1740d8c 100644 --- a/pkgs/by-name/ap/apt-offline/package.nix +++ b/pkgs/by-name/ap/apt-offline/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, python3Packages -, gnupg -, installShellFiles +{ + lib, + fetchFromGitHub, + python3Packages, + gnupg, + installShellFiles, }: let @@ -41,7 +42,10 @@ python3Packages.buildPythonApplication { pythonImportsCheck = [ "apt_offline_core" ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = { homepage = "https://github.com/rickysarraf/apt-offline"; diff --git a/pkgs/by-name/ap/apt/package.nix b/pkgs/by-name/ap/apt/package.nix index 691bdce150d87..0daef99432508 100644 --- a/pkgs/by-name/ap/apt/package.nix +++ b/pkgs/by-name/ap/apt/package.nix @@ -1,34 +1,35 @@ -{ lib -, stdenv -, fetchurl -, bzip2 -, cmake -, curl -, db -, docbook_xml_dtd_45 -, docbook_xsl -, doxygen -, dpkg -, gettext -, gnutls -, gtest -, libgcrypt -, libgpg-error -, libseccomp -, libtasn1 -, libxslt -, lz4 -, p11-kit -, perlPackages -, pkg-config -, triehash -, udev -, w3m -, xxHash -, xz -, zstd -, withDocs ? true -, withNLS ? true +{ + lib, + stdenv, + fetchurl, + bzip2, + cmake, + curl, + db, + docbook_xml_dtd_45, + docbook_xsl, + doxygen, + dpkg, + gettext, + gnutls, + gtest, + libgcrypt, + libgpg-error, + libseccomp, + libtasn1, + libxslt, + lz4, + p11-kit, + perlPackages, + pkg-config, + triehash, + udev, + w3m, + xxHash, + xz, + zstd, + withDocs ? true, + withNLS ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -41,7 +42,12 @@ stdenv.mkDerivation (finalAttrs: { }; # cycle detection; lib can't be split - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; nativeBuildInputs = [ cmake @@ -51,35 +57,38 @@ stdenv.mkDerivation (finalAttrs: { triehash ]; - buildInputs = [ - bzip2 - curl - db - dpkg - gnutls - libgcrypt - libgpg-error - libseccomp - libtasn1 - lz4 - p11-kit - perlPackages.perl - udev - xxHash - xz - zstd - ] ++ lib.optionals withDocs [ - docbook_xml_dtd_45 - doxygen - perlPackages.Po4a - w3m - ] ++ lib.optionals withNLS [ - gettext - ]; + buildInputs = + [ + bzip2 + curl + db + dpkg + gnutls + libgcrypt + libgpg-error + libseccomp + libtasn1 + lz4 + p11-kit + perlPackages.perl + udev + xxHash + xz + zstd + ] + ++ lib.optionals withDocs [ + docbook_xml_dtd_45 + doxygen + perlPackages.Po4a + w3m + ] + ++ lib.optionals withNLS [ + gettext + ]; cmakeFlags = [ (lib.cmakeOptionType "filepath" "BERKELEY_INCLUDE_DIRS" "${lib.getDev db}/include") - (lib.cmakeOptionType "filepath" "DOCBOOK_XSL""${docbook_xsl}/share/xml/docbook-xsl") + (lib.cmakeOptionType "filepath" "DOCBOOK_XSL" "${docbook_xsl}/share/xml/docbook-xsl") (lib.cmakeOptionType "filepath" "GNUTLS_INCLUDE_DIR" "${lib.getDev gnutls}/include") (lib.cmakeFeature "DROOT_GROUP" "root") (lib.cmakeBool "USE_NLS" withNLS) diff --git a/pkgs/by-name/ap/aptdec/package.nix b/pkgs/by-name/ap/aptdec/package.nix index 2c3c9b3bdfd79..4645933e4c0c6 100644 --- a/pkgs/by-name/ap/aptdec/package.nix +++ b/pkgs/by-name/ap/aptdec/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libpng -, libsndfile +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libpng, + libsndfile, }: stdenv.mkDerivation rec { @@ -19,8 +20,14 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libpng libsndfile ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libpng + libsndfile + ]; meta = with lib; { description = "NOAA APT satellite imagery decoding library"; diff --git a/pkgs/by-name/ap/aptly/package.nix b/pkgs/by-name/ap/aptly/package.nix index 6da10fe9b7fce..f04824a05fb3f 100644 --- a/pkgs/by-name/ap/aptly/package.nix +++ b/pkgs/by-name/ap/aptly/package.nix @@ -1,4 +1,16 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper, gnupg, bzip2, xz, graphviz, testers, aptly }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + gnupg, + bzip2, + xz, + graphviz, + testers, + aptly, +}: buildGoModule rec { pname = "aptly"; @@ -13,15 +25,29 @@ buildGoModule rec { vendorHash = "sha256-6l3OFKFTtFWT68Ylav6woczBlMhD75C9ZoQ6OeLz0Cs="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; postInstall = '' installShellCompletion --bash --name aptly completion.d/aptly installShellCompletion --zsh --name _aptly completion.d/_aptly wrapProgram "$out/bin/aptly" \ - --prefix PATH ":" "${lib.makeBinPath [ gnupg bzip2 xz graphviz ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + gnupg + bzip2 + xz + graphviz + ] + }" ''; doCheck = false; @@ -36,8 +62,7 @@ buildGoModule rec { description = "Debian repository management tool"; license = licenses.mit; maintainers = with maintainers; [ montag451 ] ++ teams.bitnomial.members; - changelog = - "https://github.com/aptly-dev/aptly/releases/tag/v${version}"; + changelog = "https://github.com/aptly-dev/aptly/releases/tag/v${version}"; mainProgram = "aptly"; }; } diff --git a/pkgs/by-name/ap/apvlv/package.nix b/pkgs/by-name/ap/apvlv/package.nix index 29be062652088..1f45f4fb1094e 100644 --- a/pkgs/by-name/ap/apvlv/package.nix +++ b/pkgs/by-name/ap/apvlv/package.nix @@ -106,7 +106,10 @@ stdenv.mkDerivation (finalAttrs: { with Vim-like behaviour. ''; mainProgram = "apvlv"; - maintainers = with lib.maintainers; [ ardumont anthonyroussel ]; + maintainers = with lib.maintainers; [ + ardumont + anthonyroussel + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/ap/apx/package.nix b/pkgs/by-name/ap/apx/package.nix index ff21850caafe4..b60e70a45c51c 100644 --- a/pkgs/by-name/ap/apx/package.nix +++ b/pkgs/by-name/ap/apx/package.nix @@ -21,9 +21,16 @@ buildGoModule rec { vendorHash = "sha256-YHnPLjZWUYoARHF4V1Pm1LYdCJGubPCve0wQ5FpeXUg="; # podman needed for apx to not error when building shell completions - nativeBuildInputs = [ installShellFiles podman ]; + nativeBuildInputs = [ + installShellFiles + podman + ]; - ldflags = [ "-s" "-w" "-X 'main.Version=v${version}'" ]; + ldflags = [ + "-s" + "-w" + "-X 'main.Version=v${version}'" + ]; postPatch = '' substituteInPlace config/apx.json \ @@ -54,7 +61,10 @@ buildGoModule rec { homepage = "https://github.com/Vanilla-OS/apx"; changelog = "https://github.com/Vanilla-OS/apx/releases/tag/v${version}"; license = licenses.gpl3Only; - maintainers = with maintainers; [ dit7ya chewblacka ]; + maintainers = with maintainers; [ + dit7ya + chewblacka + ]; mainProgram = "apx"; }; } diff --git a/pkgs/by-name/aq/aquosctl/package.nix b/pkgs/by-name/aq/aquosctl/package.nix index f8eba27e0fe47..cbc018674c94d 100644 --- a/pkgs/by-name/aq/aquosctl/package.nix +++ b/pkgs/by-name/aq/aquosctl/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: let @@ -32,4 +33,3 @@ stdenv.mkDerivation { mainProgram = "aquosctl"; }; } - diff --git a/pkgs/by-name/ar/arachne-pnr/package.nix b/pkgs/by-name/ar/arachne-pnr/package.nix index 37b7158c62842..a9870ca9f6e15 100644 --- a/pkgs/by-name/ar/arachne-pnr/package.nix +++ b/pkgs/by-name/ar/arachne-pnr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, icestorm }: +{ + lib, + stdenv, + fetchFromGitHub, + icestorm, +}: stdenv.mkDerivation rec { pname = "arachne-pnr"; @@ -37,7 +42,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/cseed/arachne-pnr"; license = licenses.mit; - maintainers = with maintainers; [ shell thoughtpolice ]; + maintainers = with maintainers; [ + shell + thoughtpolice + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ar/aragorn/package.nix b/pkgs/by-name/ar/aragorn/package.nix index 3ec62ada04c9e..23a7c12d927c3 100644 --- a/pkgs/by-name/ar/aragorn/package.nix +++ b/pkgs/by-name/ar/aragorn/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: let man = fetchurl { diff --git a/pkgs/by-name/ar/arandr/package.nix b/pkgs/by-name/ar/arandr/package.nix index c0125fb710da8..9c8f86e2c9b38 100644 --- a/pkgs/by-name/ar/arandr/package.nix +++ b/pkgs/by-name/ar/arandr/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, python3Packages -, gobject-introspection -, gsettings-desktop-schemas -, gtk3 -, wrapGAppsHook3 -, xrandr +{ + lib, + fetchurl, + python3Packages, + gobject-introspection, + gsettings-desktop-schemas, + gtk3, + wrapGAppsHook3, + xrandr, }: let @@ -27,9 +28,19 @@ buildPythonApplication rec { # no tests doCheck = false; - buildInputs = [ docutils gsettings-desktop-schemas gtk3 ]; - nativeBuildInputs = [ gobject-introspection wrapGAppsHook3 ]; - propagatedBuildInputs = [ xrandr pygobject3 ]; + buildInputs = [ + docutils + gsettings-desktop-schemas + gtk3 + ]; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; + propagatedBuildInputs = [ + xrandr + pygobject3 + ]; meta = with lib; { homepage = "https://christian.amsuess.com/tools/arandr/"; diff --git a/pkgs/by-name/ar/arangodb/package.nix b/pkgs/by-name/ar/arangodb/package.nix index 5b965796de64c..706c3c503afd9 100644 --- a/pkgs/by-name/ar/arangodb/package.nix +++ b/pkgs/by-name/ar/arangodb/package.nix @@ -2,32 +2,26 @@ # gcc 11.2 suggested on 3.10.5.2. # gcc 11.3.0 unsupported yet, investigate gcc support when upgrading # See https://github.com/arangodb/arangodb/issues/17454 - gcc10Stdenv -, git -, lib -, fetchFromGitHub -, openssl -, zlib -, cmake -, python3 -, perl -, snappy -, lzo -, which -, targetArchitecture ? null -, asmOptimizations ? gcc10Stdenv.hostPlatform.isx86 + gcc10Stdenv, + git, + lib, + fetchFromGitHub, + openssl, + zlib, + cmake, + python3, + perl, + snappy, + lzo, + which, + targetArchitecture ? null, + asmOptimizations ? gcc10Stdenv.hostPlatform.isx86, }: let - defaultTargetArchitecture = - if gcc10Stdenv.hostPlatform.isx86 - then "haswell" - else "core"; + defaultTargetArchitecture = if gcc10Stdenv.hostPlatform.isx86 then "haswell" else "core"; - targetArch = - if targetArchitecture == null - then defaultTargetArchitecture - else targetArchitecture; + targetArch = if targetArchitecture == null then defaultTargetArchitecture else targetArchitecture; in gcc10Stdenv.mkDerivation rec { @@ -42,9 +36,20 @@ gcc10Stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake git perl python3 which ]; + nativeBuildInputs = [ + cmake + git + perl + python3 + which + ]; - buildInputs = [ openssl zlib snappy lzo ]; + buildInputs = [ + openssl + zlib + snappy + lzo + ]; # prevent failing with "cmake-3.13.4/nix-support/setup-hook: line 10: ./3rdParty/rocksdb/RocksDBConfig.cmake.in: No such file or directory" dontFixCmake = true; @@ -64,22 +69,27 @@ gcc10Stdenv.mkDerivation rec { cmakeBuildType = "RelWithDebInfo"; - cmakeFlags = [ - "-DUSE_MAINTAINER_MODE=OFF" - "-DUSE_GOOGLE_TESTS=OFF" + cmakeFlags = + [ + "-DUSE_MAINTAINER_MODE=OFF" + "-DUSE_GOOGLE_TESTS=OFF" - # avoid reading /proc/cpuinfo for feature detection - "-DTARGET_ARCHITECTURE=${targetArch}" - ] ++ lib.optionals asmOptimizations [ - "-DASM_OPTIMIZATIONS=ON" - "-DHAVE_SSE42=${if gcc10Stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}" - ]; + # avoid reading /proc/cpuinfo for feature detection + "-DTARGET_ARCHITECTURE=${targetArch}" + ] + ++ lib.optionals asmOptimizations [ + "-DASM_OPTIMIZATIONS=ON" + "-DHAVE_SSE42=${if gcc10Stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}" + ]; meta = with lib; { homepage = "https://www.arangodb.com"; description = "Native multi-model database with flexible data models for documents, graphs, and key-values"; license = licenses.asl20; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ flosse jsoo1 ]; + maintainers = with maintainers; [ + flosse + jsoo1 + ]; }; } diff --git a/pkgs/by-name/ar/aravis/package.nix b/pkgs/by-name/ar/aravis/package.nix index deeed9ebc9cda..d2e237e0aac10 100644 --- a/pkgs/by-name/ar/aravis/package.nix +++ b/pkgs/by-name/ar/aravis/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gi-docgen -, glib -, libxml2 -, gobject-introspection +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gi-docgen, + glib, + libxml2, + gobject-introspection, -, enableGstPlugin ? true -, enableViewer ? true -, gst_all_1 -, gtk3 -, wrapGAppsHook3 + enableGstPlugin ? true, + enableViewer ? true, + gst_all_1, + gtk3, + wrapGAppsHook3, -, enableUsb ? true -, libusb1 + enableUsb ? true, + libusb1, -, enablePacketSocket ? true -, enableFastHeartbeat ? false + enablePacketSocket ? true, + enableFastHeartbeat ? false, }: assert enableGstPlugin -> gst_all_1 != null; @@ -38,7 +39,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-D6zcTCaFJxJ2VhhsgEFu5+3Xx1MJov4ryrtA0VkjZlY="; }; - outputs = [ "bin" "dev" "out" "lib" ]; + outputs = [ + "bin" + "dev" + "out" + "lib" + ]; nativeBuildInputs = [ meson @@ -49,17 +55,30 @@ stdenv.mkDerivation rec { ] ++ lib.optional enableViewer wrapGAppsHook3; buildInputs = - [ glib libxml2 ] + [ + glib + libxml2 + ] ++ lib.optional enableUsb libusb1 - ++ lib.optionals (enableViewer || enableGstPlugin) (with gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override { gtkSupport = true; }) gst-plugins-bad ]) + ++ lib.optionals (enableViewer || enableGstPlugin) ( + with gst_all_1; + [ + gstreamer + gst-plugins-base + (gst-plugins-good.override { gtkSupport = true; }) + gst-plugins-bad + ] + ) ++ lib.optionals (enableViewer) [ gtk3 ]; - mesonFlags = [ - ] ++ lib.optional enableFastHeartbeat "-Dfast-heartbeat=enabled" - ++ lib.optional (!enableGstPlugin) "-Dgst-plugin=disabled" - ++ lib.optional (!enableViewer) "-Dviewer=disabled" - ++ lib.optional (!enableUsb) "-Dviewer=disabled" - ++ lib.optional (!enablePacketSocket) "-Dpacket-socket=disabled"; + mesonFlags = + [ + ] + ++ lib.optional enableFastHeartbeat "-Dfast-heartbeat=enabled" + ++ lib.optional (!enableGstPlugin) "-Dgst-plugin=disabled" + ++ lib.optional (!enableViewer) "-Dviewer=disabled" + ++ lib.optional (!enableUsb) "-Dviewer=disabled" + ++ lib.optional (!enablePacketSocket) "-Dpacket-socket=disabled"; doCheck = true; diff --git a/pkgs/by-name/ar/arb/package.nix b/pkgs/by-name/ar/arb/package.nix index 87072265abb26..52b8aea77b7ed 100644 --- a/pkgs/by-name/ar/arb/package.nix +++ b/pkgs/by-name/ar/arb/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, mpir -, gmp -, mpfr -, flint +{ + lib, + stdenv, + fetchFromGitHub, + mpir, + gmp, + mpfr, + flint, }: stdenv.mkDerivation rec { @@ -18,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-dt9PZ3Xfn60rhmnxYo7CEzNTEUN/wMVAXe8U5PzUO9U="; }; - buildInputs = [ mpir gmp mpfr flint ]; + buildInputs = [ + mpir + gmp + mpfr + flint + ]; configureFlags = [ "--with-gmp=${gmp}" diff --git a/pkgs/by-name/ar/arc-icon-theme/package.nix b/pkgs/by-name/ar/arc-icon-theme/package.nix index 17405d7b78e17..646a0d14c7da6 100644 --- a/pkgs/by-name/ar/arc-icon-theme/package.nix +++ b/pkgs/by-name/ar/arc-icon-theme/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenvNoCC, fetchFromGitHub, autoreconfHook, gtk3, adwaita-icon-theme, moka-icon-theme, gnome-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + autoreconfHook, + gtk3, + adwaita-icon-theme, + moka-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "arc-icon-theme"; diff --git a/pkgs/by-name/ar/arc-kde-theme/package.nix b/pkgs/by-name/ar/arc-kde-theme/package.nix index 3e0ac2b530c17..2cc355efbe6d1 100644 --- a/pkgs/by-name/ar/arc-kde-theme/package.nix +++ b/pkgs/by-name/ar/arc-kde-theme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "arc-kde-theme"; diff --git a/pkgs/by-name/ar/arc-theme/package.nix b/pkgs/by-name/ar/arc-theme/package.nix index 0f282df8fea67..e77a0caa97097 100644 --- a/pkgs/by-name/ar/arc-theme/package.nix +++ b/pkgs/by-name/ar/arc-theme/package.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchFromGitHub -, sassc -, meson -, ninja -, glib -, gnome-shell -, gnome-themes-extra -, gtk-engine-murrine -, inkscape -, cinnamon-common -, makeFontsConf -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + sassc, + meson, + ninja, + glib, + gnome-shell, + gnome-themes-extra, + gtk-engine-murrine, + inkscape, + cinnamon-common, + makeFontsConf, + python3, }: stdenv.mkDerivation rec { @@ -64,6 +66,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/jnsh/arc-theme"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ simonvandel romildo ]; + maintainers = with maintainers; [ + simonvandel + romildo + ]; }; } diff --git a/pkgs/by-name/ar/arc_unpacker/package.nix b/pkgs/by-name/ar/arc_unpacker/package.nix index 24a1d01b64da6..a4ccc53567dc9 100644 --- a/pkgs/by-name/ar/arc_unpacker/package.nix +++ b/pkgs/by-name/ar/arc_unpacker/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, makeWrapper -, boost -, libpng -, libiconv -, libjpeg -, zlib -, openssl -, libwebp -, catch2 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + makeWrapper, + boost, + libpng, + libiconv, + libjpeg, + zlib, + openssl, + libwebp, + catch2, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ar/arcan/package.nix b/pkgs/by-name/ar/arcan/package.nix index 5259b5560cfba..70d291bea106a 100644 --- a/pkgs/by-name/ar/arcan/package.nix +++ b/pkgs/by-name/ar/arcan/package.nix @@ -129,7 +129,12 @@ stdenv.mkDerivation (finalAttrs: { "../src" ]; - outputs = [ "out" "dev" "lib" "man" ]; + outputs = [ + "out" + "dev" + "lib" + "man" + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/ar/arcan/sources.nix b/pkgs/by-name/ar/arcan/sources.nix index 01f800a4aa4b2..fbc7645a1bf2e 100644 --- a/pkgs/by-name/ar/arcan/sources.nix +++ b/pkgs/by-name/ar/arcan/sources.nix @@ -3,19 +3,20 @@ }: { - letoram-arcan = let - self = { - pname = "arcan"; - version = "0.6.3.3"; + letoram-arcan = + let + self = { + pname = "arcan"; + version = "0.6.3.3"; - src = fetchFromGitHub { - owner = "letoram"; - repo = "arcan"; - rev = self.version; - hash = "sha256-YH3VGU3gSR5gqHnAlA2vrzU8vasKd0hOpc+2ludnV+Y="; + src = fetchFromGitHub { + owner = "letoram"; + repo = "arcan"; + rev = self.version; + hash = "sha256-YH3VGU3gSR5gqHnAlA2vrzU8vasKd0hOpc+2ludnV+Y="; + }; }; - }; - in + in self; letoram-openal = { diff --git a/pkgs/by-name/ar/arcan/wrapper.nix b/pkgs/by-name/ar/arcan/wrapper.nix index b61c5a5becd87..114a16956e58d 100644 --- a/pkgs/by-name/ar/arcan/wrapper.nix +++ b/pkgs/by-name/ar/arcan/wrapper.nix @@ -1,8 +1,9 @@ -{ arcan -, makeWrapper -, symlinkJoin -, appls ? [ ] -, name ? "arcan-wrapped" +{ + arcan, + makeWrapper, + symlinkJoin, + appls ? [ ], + name ? "arcan-wrapped", }: symlinkJoin rec { diff --git a/pkgs/by-name/ar/arch-install-scripts/package.nix b/pkgs/by-name/ar/arch-install-scripts/package.nix index 307b298a7ebf0..18a5335490895 100644 --- a/pkgs/by-name/ar/arch-install-scripts/package.nix +++ b/pkgs/by-name/ar/arch-install-scripts/package.nix @@ -1,23 +1,24 @@ -{ lib -, resholve -, fetchFromGitLab -, asciidoc -, bash -, coreutils -, gawk -, gnugrep -, gnum4 -, gnused -, pacman -, util-linux -, chrootPath ? [ +{ + lib, + resholve, + fetchFromGitLab, + asciidoc, + bash, + coreutils, + gawk, + gnugrep, + gnum4, + gnused, + pacman, + util-linux, + chrootPath ? [ "/usr/local/sbin" "/usr/local/bin" "/usr/bin" "/usr/bin/site_perl" "/usr/bin/vendor_perl" "/usr/bin/core_perl" - ] + ], }: resholve.mkDerivation rec { @@ -32,7 +33,10 @@ resholve.mkDerivation rec { hash = "sha256-XWcZZ+ET3J4dB6M9CdXESf0iQh+2vYxlxoJ6TZ3vFUk="; }; - nativeBuildInputs = [ asciidoc gnum4 ]; + nativeBuildInputs = [ + asciidoc + gnum4 + ]; postPatch = '' substituteInPlace ./Makefile \ @@ -57,13 +61,24 @@ resholve.mkDerivation rec { # Specify 1 or more $out-relative script paths. Unlike many # builders, resholve.mkDerivation modifies the output files during # fixup (to correctly resolve in-package sourcing). - scripts = [ "bin/arch-chroot" "bin/genfstab" "bin/pacstrap" ]; + scripts = [ + "bin/arch-chroot" + "bin/genfstab" + "bin/pacstrap" + ]; # "none" for no shebang, "${bash}/bin/bash" for bash, etc. interpreter = "${bash}/bin/bash"; # packages resholve should resolve executables from - inputs = [ coreutils gawk gnugrep gnused pacman util-linux ]; + inputs = [ + coreutils + gawk + gnugrep + gnused + pacman + util-linux + ]; execer = [ "cannot:${pacman}/bin/pacman-key" ]; @@ -74,7 +89,12 @@ resholve.mkDerivation rec { umount = true; }; - keep = [ "$setup" "$pid_unshare" "$mount_unshare" "${pacman}/bin/pacman" ]; + keep = [ + "$setup" + "$pid_unshare" + "$mount_unshare" + "${pacman}/bin/pacman" + ]; }; }; diff --git a/pkgs/by-name/ar/archimedes/package.nix b/pkgs/by-name/ar/archimedes/package.nix index 9d9498df00da8..19f290dfb3774 100644 --- a/pkgs/by-name/ar/archimedes/package.nix +++ b/pkgs/by-name/ar/archimedes/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "archimedes"; diff --git a/pkgs/by-name/ar/archivebox/package.nix b/pkgs/by-name/ar/archivebox/package.nix index 52f5b62752651..bb222095da267 100644 --- a/pkgs/by-name/ar/archivebox/package.nix +++ b/pkgs/by-name/ar/archivebox/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, python3 -, fetchFromGitHub -, fetchPypi -, curl -, wget -, git -, ripgrep -, single-file-cli -, postlight-parser -, readability-extractor -, chromium +{ + lib, + stdenv, + python3, + fetchFromGitHub, + fetchPypi, + curl, + wget, + git, + ripgrep, + single-file-cli, + postlight-parser, + readability-extractor, + chromium, }: let @@ -34,7 +35,9 @@ let "CVE-2022-28346" ]; }; - dependencies = (old.dependencies or [ ]) ++ (lib.optionals (python.pythonAtLeast "3.12") [ python.pkgs.distutils ]); + dependencies = + (old.dependencies or [ ]) + ++ (lib.optionals (python.pythonAtLeast "3.12") [ python.pkgs.distutils ]); }); django-extensions = super.django-extensions.overridePythonAttrs (old: rec { version = "3.1.5"; @@ -82,27 +85,37 @@ python.pkgs.buildPythonApplication rec { yt-dlp ]; - makeWrapperArgs = [ - "--set USE_NODE True" # used through dependencies, not needed explicitly - "--set READABILITY_BINARY ${lib.meta.getExe readability-extractor}" - "--set MERCURY_BINARY ${lib.meta.getExe postlight-parser}" - "--set CURL_BINARY ${lib.meta.getExe curl}" - "--set RIPGREP_BINARY ${lib.meta.getExe ripgrep}" - "--set WGET_BINARY ${lib.meta.getExe wget}" - "--set GIT_BINARY ${lib.meta.getExe git}" - "--set YOUTUBEDL_BINARY ${lib.meta.getExe python.pkgs.yt-dlp}" - "--set SINGLEFILE_BINARY ${lib.meta.getExe single-file-cli}" - ] ++ (if (lib.meta.availableOn stdenv.hostPlatform chromium) then [ - "--set CHROME_BINARY ${chromium}/bin/chromium-browser" - ] else [ - "--set-default USE_CHROME False" - ]); + makeWrapperArgs = + [ + "--set USE_NODE True" # used through dependencies, not needed explicitly + "--set READABILITY_BINARY ${lib.meta.getExe readability-extractor}" + "--set MERCURY_BINARY ${lib.meta.getExe postlight-parser}" + "--set CURL_BINARY ${lib.meta.getExe curl}" + "--set RIPGREP_BINARY ${lib.meta.getExe ripgrep}" + "--set WGET_BINARY ${lib.meta.getExe wget}" + "--set GIT_BINARY ${lib.meta.getExe git}" + "--set YOUTUBEDL_BINARY ${lib.meta.getExe python.pkgs.yt-dlp}" + "--set SINGLEFILE_BINARY ${lib.meta.getExe single-file-cli}" + ] + ++ ( + if (lib.meta.availableOn stdenv.hostPlatform chromium) then + [ + "--set CHROME_BINARY ${chromium}/bin/chromium-browser" + ] + else + [ + "--set-default USE_CHROME False" + ] + ); meta = with lib; { description = "Open source self-hosted web archiving"; homepage = "https://archivebox.io"; license = licenses.mit; - maintainers = with maintainers; [ siraben viraptor ]; + maintainers = with maintainers; [ + siraben + viraptor + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ar/archiver/package.nix b/pkgs/by-name/ar/archiver/package.nix index 2389285e99c06..13593168edd8c 100644 --- a/pkgs/by-name/ar/archiver/package.nix +++ b/pkgs/by-name/ar/archiver/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -16,7 +17,13 @@ buildGoModule rec { vendorHash = "sha256-sTzjTKQ9m5BicDk6M1wR1EU+o9+87DbHCyGoF35Jm/g="; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" + "-X main.date=unknown" + ]; doCheck = false; diff --git a/pkgs/by-name/ar/archivy/package.nix b/pkgs/by-name/ar/archivy/package.nix index 902bc903bf467..a61d6e267526c 100644 --- a/pkgs/by-name/ar/archivy/package.nix +++ b/pkgs/by-name/ar/archivy/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let @@ -33,7 +34,6 @@ buildPythonApplication rec { hash = "sha256-ns1Y0DqqnTAQMEt+oBJ/P2gqKqPsX9P3/Z4561qzuns"; }; - pythonRelaxDeps = true; propagatedBuildInputs = [ diff --git a/pkgs/by-name/ar/arcticons-sans/package.nix b/pkgs/by-name/ar/arcticons-sans/package.nix index da1ccd8a0eaf4..cb16a684ba290 100644 --- a/pkgs/by-name/ar/arcticons-sans/package.nix +++ b/pkgs/by-name/ar/arcticons-sans/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ar/ardopc/package.nix b/pkgs/by-name/ar/ardopc/package.nix index fe8491dbc4b3c..1ca0c08e02aea 100644 --- a/pkgs/by-name/ar/ardopc/package.nix +++ b/pkgs/by-name/ar/ardopc/package.nix @@ -1,11 +1,12 @@ -{ fetchFromGitHub -, lib -, makeWrapper -, pkg-config -, stdenv -, alsa-lib -, flrig -, hamlib +{ + fetchFromGitHub, + lib, + makeWrapper, + pkg-config, + stdenv, + alsa-lib, + flrig, + hamlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ar/arduino-ci/package.nix b/pkgs/by-name/ar/arduino-ci/package.nix index b711f814fd783..af301786fee71 100644 --- a/pkgs/by-name/ar/arduino-ci/package.nix +++ b/pkgs/by-name/ar/arduino-ci/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, arduino-cli, ruby, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + arduino-cli, + ruby, + python3, +}: let @@ -13,9 +21,9 @@ stdenv.mkDerivation rec { version = "0.2.0"; src = fetchFromGitHub { - owner = "pololu"; - repo = "arduino-ci"; - rev = "v${version}"; + owner = "pololu"; + repo = "arduino-ci"; + rev = "v${version}"; sha256 = "sha256-9RbBxgwsSQ7oGGKr1Vsn9Ug9AsacoRgvQgd9jbRQ034="; }; diff --git a/pkgs/by-name/ar/arduino-language-server/package.nix b/pkgs/by-name/ar/arduino-language-server/package.nix index d1be96454eecd..1ff285ebbe7eb 100644 --- a/pkgs/by-name/ar/arduino-language-server/package.nix +++ b/pkgs/by-name/ar/arduino-language-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -21,14 +22,16 @@ buildGoModule rec { doCheck = false; - ldflags = [ - "-s" - "-w" - "-X github.com/arduino/arduino-language-server/version.versionString=${version}" - "-X github.com/arduino/arduino-language-server/version.commit=unknown" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-extldflags '-static'" - ]; + ldflags = + [ + "-s" + "-w" + "-X github.com/arduino/arduino-language-server/version.versionString=${version}" + "-X github.com/arduino/arduino-language-server/version.commit=unknown" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-extldflags '-static'" + ]; meta = with lib; { description = "Arduino Language Server based on Clangd to Arduino code autocompletion"; diff --git a/pkgs/by-name/ar/arduino-mk/package.nix b/pkgs/by-name/ar/arduino-mk/package.nix index d5f506038ca6c..eb03147af25bd 100644 --- a/pkgs/by-name/ar/arduino-mk/package.nix +++ b/pkgs/by-name/ar/arduino-mk/package.nix @@ -1,17 +1,26 @@ -{ stdenv, lib, fetchFromGitHub, python3Packages, installShellFiles }: +{ + stdenv, + lib, + fetchFromGitHub, + python3Packages, + installShellFiles, +}: stdenv.mkDerivation rec { version = "1.6.0"; pname = "arduino-mk"; src = fetchFromGitHub { - owner = "sudar"; - repo = "Arduino-Makefile"; - rev = version; + owner = "sudar"; + repo = "Arduino-Makefile"; + rev = version; sha256 = "0flpl97d2231gp51n3y4qvf3y1l8xzafi1sgpwc305vwc2h4dl2x"; }; - nativeBuildInputs = [ python3Packages.wrapPython installShellFiles ]; + nativeBuildInputs = [ + python3Packages.wrapPython + installShellFiles + ]; propagatedBuildInputs = with python3Packages; [ pyserial ]; installPhase = '' mkdir $out diff --git a/pkgs/by-name/ar/arduinoOTA/package.nix b/pkgs/by-name/ar/arduinoOTA/package.nix index 0ae263ec6e9cd..218b38db301da 100644 --- a/pkgs/by-name/ar/arduinoOTA/package.nix +++ b/pkgs/by-name/ar/arduinoOTA/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { pname = "arduinoOTA"; diff --git a/pkgs/by-name/ar/arena/package.nix b/pkgs/by-name/ar/arena/package.nix index c0bbc364617ec..849c1810c2af6 100644 --- a/pkgs/by-name/ar/arena/package.nix +++ b/pkgs/by-name/ar/arena/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, gtk2-x11, glib, pango, cairo, atk, gdk-pixbuf, libX11 }: +{ + lib, + stdenv, + fetchurl, + gtk2-x11, + glib, + pango, + cairo, + atk, + gdk-pixbuf, + libX11, +}: # Arena is free software in the sense of "free beer" but not as in "free # speech". We can install it as we please, but we cannot re-distribute it in @@ -16,12 +27,23 @@ stdenv.mkDerivation rec { version = "3.10-beta"; src = fetchurl { - url = "http://www.playwitharena.de/downloads/arenalinux_64bit_${lib.replaceStrings ["-"] [""] version}.tar.gz"; + url = "http://www.playwitharena.de/downloads/arenalinux_64bit_${ + lib.replaceStrings [ "-" ] [ "" ] version + }.tar.gz"; sha256 = "1pzb9sg4lzbbi4gbldvlb85p8xyl9xnplxwyb9pkk2mwzvvxkf0d"; }; # stdenv.cc.cc.lib is in that list to pick up libstdc++.so. Is there a better way? - buildInputs = [gtk2-x11 glib pango cairo atk gdk-pixbuf libX11 (lib.getLib stdenv.cc.cc)]; + buildInputs = [ + gtk2-x11 + glib + pango + cairo + atk + gdk-pixbuf + libX11 + (lib.getLib stdenv.cc.cc) + ]; unpackPhase = '' # This is is a tar bomb, i.e. it extract a dozen files and directories to @@ -70,7 +92,7 @@ stdenv.mkDerivation rec { license = lib.licenses.unfree; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; homepage = "http://www.playwitharena.de"; - platforms = ["x86_64-linux"]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/ar/argagg/package.nix b/pkgs/by-name/ar/argagg/package.nix index bb8507abbe977..431fad5aa7d2e 100644 --- a/pkgs/by-name/ar/argagg/package.nix +++ b/pkgs/by-name/ar/argagg/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ar/argbash/package.nix b/pkgs/by-name/ar/argbash/package.nix index bf33e788633e8..94babc0745789 100644 --- a/pkgs/by-name/ar/argbash/package.nix +++ b/pkgs/by-name/ar/argbash/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, makeWrapper -, python3Packages -, runtimeShell +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + makeWrapper, + python3Packages, + runtimeShell, }: stdenv.mkDerivation (finalAttrs: { @@ -31,7 +32,8 @@ stdenv.mkDerivation (finalAttrs: { ]; makeFlags = [ - "-C" "resources" + "-C" + "resources" "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/ar/argo-rollouts/package.nix b/pkgs/by-name/ar/argo-rollouts/package.nix index b09e8af264eb4..db941e1051915 100644 --- a/pkgs/by-name/ar/argo-rollouts/package.nix +++ b/pkgs/by-name/ar/argo-rollouts/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ + buildGoModule, + lib, + fetchFromGitHub, +}: buildGoModule rec { pname = "argo-rollouts"; @@ -16,7 +20,10 @@ buildGoModule rec { # Disable tests since some test fail because of missing test data doCheck = false; - subPackages = [ "cmd/rollouts-controller" "cmd/kubectl-argo-rollouts" ]; + subPackages = [ + "cmd/rollouts-controller" + "cmd/kubectl-argo-rollouts" + ]; meta = with lib; { description = "Kubernetes Progressive Delivery Controller"; diff --git a/pkgs/by-name/ar/argocd-autopilot/package.nix b/pkgs/by-name/ar/argocd-autopilot/package.nix index 9880150620558..c0e1e590c8606 100644 --- a/pkgs/by-name/ar/argocd-autopilot/package.nix +++ b/pkgs/by-name/ar/argocd-autopilot/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "argocd-autopilot"; @@ -16,7 +20,9 @@ buildGoModule rec { proxyVendor = true; ldflags = - let package_url = "github.com/argoproj-labs/argocd-autopilot/pkg/store"; in + let + package_url = "github.com/argoproj-labs/argocd-autopilot/pkg/store"; + in [ "-s" "-w" @@ -50,6 +56,9 @@ buildGoModule rec { downloadPage = "https://github.com/argoproj-labs/argocd-autopilot"; homepage = "https://argocd-autopilot.readthedocs.io/en/stable/"; license = licenses.asl20; - maintainers = with maintainers; [ sagikazarmark bryanasdev000 ]; + maintainers = with maintainers; [ + sagikazarmark + bryanasdev000 + ]; }; } diff --git a/pkgs/by-name/ar/argocd-vault-plugin/package.nix b/pkgs/by-name/ar/argocd-vault-plugin/package.nix index 3219d0a74e2b8..e3e7496c5db28 100644 --- a/pkgs/by-name/ar/argocd-vault-plugin/package.nix +++ b/pkgs/by-name/ar/argocd-vault-plugin/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, testers -, argocd-vault-plugin +{ + buildGoModule, + fetchFromGitHub, + lib, + testers, + argocd-vault-plugin, }: buildGoModule rec { diff --git a/pkgs/by-name/ar/argocd/package.nix b/pkgs/by-name/ar/argocd/package.nix index 85a15d028f54b..916c43946171f 100644 --- a/pkgs/by-name/ar/argocd/package.nix +++ b/pkgs/by-name/ar/argocd/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + stdenv, +}: buildGoModule rec { pname = "argocd"; @@ -19,9 +25,12 @@ buildGoModule rec { subPackages = [ "cmd" ]; ldflags = - let package_url = "github.com/argoproj/argo-cd/v2/common"; in + let + package_url = "github.com/argoproj/argo-cd/v2/common"; + in [ - "-s" "-w" + "-s" + "-w" "-X ${package_url}.version=${version}" "-X ${package_url}.buildDate=unknown" "-X ${package_url}.gitCommit=${src.rev}" @@ -61,6 +70,10 @@ buildGoModule rec { downloadPage = "https://github.com/argoproj/argo-cd"; homepage = "https://argo-cd.readthedocs.io/en/stable/"; license = licenses.asl20; - maintainers = with maintainers; [ shahrukh330 bryanasdev000 qjoly ]; + maintainers = with maintainers; [ + shahrukh330 + bryanasdev000 + qjoly + ]; }; } diff --git a/pkgs/by-name/ar/argononed/package.nix b/pkgs/by-name/ar/argononed/package.nix index 320aaf3440504..2f7914a64977e 100644 --- a/pkgs/by-name/ar/argononed/package.nix +++ b/pkgs/by-name/ar/argononed/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, dtc, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitLab, + dtc, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "argononed"; diff --git a/pkgs/by-name/ar/argp-standalone/package.nix b/pkgs/by-name/ar/argp-standalone/package.nix index f4fc2101e72be..893aded31cffd 100644 --- a/pkgs/by-name/ar/argp-standalone/package.nix +++ b/pkgs/by-name/ar/argp-standalone/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "argp-standalone"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "jWnoWVnUVDQlsC9ru7oB9PdtZuyCCNqGnMqF/f2m0ZY="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; doCheck = true; diff --git a/pkgs/by-name/ar/argparse/package.nix b/pkgs/by-name/ar/argparse/package.nix index 3b10b70e20403..a12aba8b1098a 100644 --- a/pkgs/by-name/ar/argparse/package.nix +++ b/pkgs/by-name/ar/argparse/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "argparse"; @@ -24,9 +29,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Argument Parser for Modern C++"; - homepage = "https://github.com/p-ranav/argparse"; + homepage = "https://github.com/p-ranav/argparse"; maintainers = with maintainers; [ _2gn ]; - platforms = platforms.unix; + platforms = platforms.unix; license = licenses.mit; }; } diff --git a/pkgs/by-name/ar/argtable/package.nix b/pkgs/by-name/ar/argtable/package.nix index eb751a2a12af2..cb874b99da800 100644 --- a/pkgs/by-name/ar/argtable/package.nix +++ b/pkgs/by-name/ar/argtable/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ar/arguments/package.nix b/pkgs/by-name/ar/arguments/package.nix index 2924c5cf585cc..da7ef86d16ffd 100644 --- a/pkgs/by-name/ar/arguments/package.nix +++ b/pkgs/by-name/ar/arguments/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "arguments"; @@ -8,8 +13,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { inherit owner; - repo = pname; - rev = "b3aad97f6b6892cb8733455d0d448649a48fa108"; + repo = pname; + rev = "b3aad97f6b6892cb8733455d0d448649a48fa108"; sha256 = "1ar8lm1w1jflz3vdmjr5c4x6y7rscvrj78b8gmrv79y95qrgzv6s"; }; @@ -25,6 +30,6 @@ stdenv.mkDerivation rec { description = "Library for argument handling for MINC programs"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/by-name/ar/argus-clients/package.nix b/pkgs/by-name/ar/argus-clients/package.nix index a7c56226af829..11e5235bc1c8b 100644 --- a/pkgs/by-name/ar/argus-clients/package.nix +++ b/pkgs/by-name/ar/argus-clients/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, pkg-config, perl, libtirpc, libnsl }: +{ + lib, + stdenv, + fetchurl, + libpcap, + bison, + flex, + cyrus_sasl, + tcp_wrappers, + pkg-config, + perl, + libtirpc, + libnsl, +}: stdenv.mkDerivation rec { pname = "argus-clients"; @@ -16,12 +29,19 @@ stdenv.mkDerivation rec { substituteInPlace $file \ --subst-var-by PERLBIN ${perl}/bin/perl done - ''; + ''; configureFlags = [ "--with-perl=${perl}/bin/perl" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex libnsl ]; + buildInputs = [ + libpcap + bison + cyrus_sasl + tcp_wrappers + flex + libnsl + ]; meta = with lib; { description = "Clients for ARGUS"; diff --git a/pkgs/by-name/ar/argus/package.nix b/pkgs/by-name/ar/argus/package.nix index 72f87e359c084..2b7d5ad9b6925 100644 --- a/pkgs/by-name/ar/argus/package.nix +++ b/pkgs/by-name/ar/argus/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, - pkg-config, procps, which, wget, lsof, net-snmp, perl }: +{ + lib, + stdenv, + fetchurl, + libpcap, + bison, + flex, + cyrus_sasl, + tcp_wrappers, + pkg-config, + procps, + which, + wget, + lsof, + net-snmp, + perl, +}: stdenv.mkDerivation rec { pname = "argus"; @@ -10,9 +25,23 @@ stdenv.mkDerivation rec { sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna"; }; - nativeBuildInputs = [ pkg-config bison flex ]; - buildInputs = [ libpcap cyrus_sasl tcp_wrappers ]; - propagatedBuildInputs = [ procps which wget lsof net-snmp ]; + nativeBuildInputs = [ + pkg-config + bison + flex + ]; + buildInputs = [ + libpcap + cyrus_sasl + tcp_wrappers + ]; + propagatedBuildInputs = [ + procps + which + wget + lsof + net-snmp + ]; patchPhase = '' substituteInPlace events/argus-extip.pl \ diff --git a/pkgs/by-name/ar/argyllcms/package.nix b/pkgs/by-name/ar/argyllcms/package.nix index 4c5dad4590c27..139caabe2cda9 100644 --- a/pkgs/by-name/ar/argyllcms/package.nix +++ b/pkgs/by-name/ar/argyllcms/package.nix @@ -1,7 +1,26 @@ -{ stdenv, fetchzip, jam, unzip, libX11, libXxf86vm, libXrandr, libXinerama -, libXrender, libXext, libtiff, libjpeg, libpng, libXScrnSaver, writeText -, libXdmcp, libXau, lib, openssl -, buildPackages, substituteAll, writeScript +{ + stdenv, + fetchzip, + jam, + unzip, + libX11, + libXxf86vm, + libXrandr, + libXinerama, + libXrender, + libXext, + libtiff, + libjpeg, + libpng, + libXScrnSaver, + writeText, + libXdmcp, + libXau, + lib, + openssl, + buildPackages, + substituteAll, + writeScript, }: stdenv.mkDerivation rec { @@ -15,7 +34,10 @@ stdenv.mkDerivation rec { hash = "sha256-xpbj15GzpGS0d1UjzvYiZ1nmmTjNIyv0ST2blmi7ZSk="; }; - nativeBuildInputs = [ jam unzip ]; + nativeBuildInputs = [ + jam + unzip + ]; patches = lib.optional (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ( # Build process generates files by compiling and then invoking an executable. @@ -30,86 +52,99 @@ stdenv.mkDerivation rec { --replace "-m64" "" ''; - preConfigure = let - # The contents of this file comes from the Jamtop file from the - # root of the ArgyllCMS distribution, rewritten to pick up Nixpkgs - # library paths. When ArgyllCMS is updated, make sure that changes - # in that file is reflected here. - jamTop = writeText "argyllcms_jamtop" '' - DESTDIR = "/" ; - REFSUBDIR = "share/argyllcms" ; + preConfigure = + let + # The contents of this file comes from the Jamtop file from the + # root of the ArgyllCMS distribution, rewritten to pick up Nixpkgs + # library paths. When ArgyllCMS is updated, make sure that changes + # in that file is reflected here. + jamTop = writeText "argyllcms_jamtop" '' + DESTDIR = "/" ; + REFSUBDIR = "share/argyllcms" ; - # Keep this DESTDIR anchored to Jamtop. PREFIX is used literally - ANCHORED_PATH_VARS = DESTDIR ; + # Keep this DESTDIR anchored to Jamtop. PREFIX is used literally + ANCHORED_PATH_VARS = DESTDIR ; - # Tell standalone libraries that they are part of Argyll: - DEFINES += ARGYLLCMS ; + # Tell standalone libraries that they are part of Argyll: + DEFINES += ARGYLLCMS ; - # enable serial instruments & support - USE_SERIAL = true ; + # enable serial instruments & support + USE_SERIAL = true ; - # enable fast serial instruments & support - USE_FAST_SERIAL = true ; # (Implicit in USE_SERIAL too) + # enable fast serial instruments & support + USE_FAST_SERIAL = true ; # (Implicit in USE_SERIAL too) - # enable USB instruments & support - USE_USB = true ; + # enable USB instruments & support + USE_USB = true ; - # enable dummy Demo Instrument (only if code is available) - USE_DEMOINST = true ; + # enable dummy Demo Instrument (only if code is available) + USE_DEMOINST = true ; - # enable Video Test Patch Generator and 3DLUT device support - # (V2.0.0 and above) - USE_VTPGLUT = false ; + # enable Video Test Patch Generator and 3DLUT device support + # (V2.0.0 and above) + USE_VTPGLUT = false ; - # enable Printer device support - USE_PRINTER = false ; + # enable Printer device support + USE_PRINTER = false ; - # enable CMF Measurement device and accessory support (if present) - USE_CMFM = false ; + # enable CMF Measurement device and accessory support (if present) + USE_CMFM = false ; - # Use ArgyllCMS version of libusb (deprecated - don't use) - USE_LIBUSB = false ; + # Use ArgyllCMS version of libusb (deprecated - don't use) + USE_LIBUSB = false ; - # Compile in graph plotting code (Not fully implemented) - USE_PLOT = true ; # [true] + # Compile in graph plotting code (Not fully implemented) + USE_PLOT = true ; # [true] - JPEGLIB = ; - JPEGINC = ; - HAVE_JPEG = true ; + JPEGLIB = ; + JPEGINC = ; + HAVE_JPEG = true ; - TIFFLIB = ; - TIFFINC = ; - HAVE_TIFF = true ; + TIFFLIB = ; + TIFFINC = ; + HAVE_TIFF = true ; - PNGLIB = ; - PNGINC = ; - HAVE_PNG = true ; + PNGLIB = ; + PNGINC = ; + HAVE_PNG = true ; - ZLIB = ; - ZINC = ; - HAVE_Z = true ; + ZLIB = ; + ZINC = ; + HAVE_Z = true ; - SSLLIB = ; - SSLINC = ; - HAVE_SSL = true ; + SSLLIB = ; + SSLINC = ; + HAVE_SSL = true ; - LINKFLAGS += - ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} - -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss - -ljpeg -ltiff -lpng -lssl ; - ''; - in '' - cp ${jamTop} Jamtop - substituteInPlace Makefile --replace "-j 3" "-j $NIX_BUILD_CORES" - # Remove tiff, jpg and png to be sure the nixpkgs-provided ones are used - rm -rf tiff jpg png + LINKFLAGS += + ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} + -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss + -ljpeg -ltiff -lpng -lssl ; + ''; + in + '' + cp ${jamTop} Jamtop + substituteInPlace Makefile --replace "-j 3" "-j $NIX_BUILD_CORES" + # Remove tiff, jpg and png to be sure the nixpkgs-provided ones are used + rm -rf tiff jpg png - export AR="$AR rusc" - ''; + export AR="$AR rusc" + ''; buildInputs = [ - libtiff libjpeg libpng libX11 libXxf86vm libXrandr libXinerama libXext - libXrender libXScrnSaver libXdmcp libXau openssl + libtiff + libjpeg + libpng + libX11 + libXxf86vm + libXrandr + libXinerama + libXext + libXrender + libXScrnSaver + libXdmcp + libXau + openssl ]; buildFlags = [ "all" ]; diff --git a/pkgs/by-name/ar/ariang/package.nix b/pkgs/by-name/ar/ariang/package.nix index 4afff3dcd0632..7e892ed82abc3 100644 --- a/pkgs/by-name/ar/ariang/package.nix +++ b/pkgs/by-name/ar/ariang/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage -, nix-update-script +{ + lib, + fetchFromGitHub, + buildNpmPackage, + nix-update-script, }: buildNpmPackage rec { @@ -28,7 +29,7 @@ buildNpmPackage rec { runHook postInstall ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Modern web frontend making aria2 easier to use"; diff --git a/pkgs/by-name/ar/ario/package.nix b/pkgs/by-name/ar/ario/package.nix index cf4065a8e9d15..f53ba3356b753 100644 --- a/pkgs/by-name/ar/ario/package.nix +++ b/pkgs/by-name/ar/ario/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, intltool -, avahi -, curl -, dbus-glib -, gettext -, gtk3 -, libmpdclient -, libsoup_2_4 -, libxml2 -, taglib -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + intltool, + avahi, + curl, + dbus-glib, + gettext, + gtk3, + libmpdclient, + libsoup_2_4, + libxml2, + taglib, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ar/arion/package.nix b/pkgs/by-name/ar/arion/package.nix index 1f4c717accd60..7cb643d728677 100644 --- a/pkgs/by-name/ar/arion/package.nix +++ b/pkgs/by-name/ar/arion/package.nix @@ -1,40 +1,36 @@ -{ pkgs -, lib -, haskellPackages -, haskell -, runCommand -, buildPackages +{ + pkgs, + lib, + haskellPackages, + haskell, + runCommand, + buildPackages, }: let - /* This derivation builds the arion tool. + /* + This derivation builds the arion tool. - It is based on the arion-compose Haskell package, but adapted and extended to - - have the correct name - - have a smaller closure size - - have functions to use Arion from inside Nix: arion.eval and arion.build - - make it self-contained by including docker-compose - */ - arion = - (justStaticExecutables ( - overrideCabal - cabalOverrides - arion-compose - ) - ).overrideAttrs (o: { - # Patch away the arion-compose name. Unlike the Haskell library, the program - # is called arion (arion was already taken on hackage). - pname = "arion"; - }); + It is based on the arion-compose Haskell package, but adapted and extended to + - have the correct name + - have a smaller closure size + - have functions to use Arion from inside Nix: arion.eval and arion.build + - make it self-contained by including docker-compose + */ + arion = (justStaticExecutables (overrideCabal cabalOverrides arion-compose)).overrideAttrs (o: { + # Patch away the arion-compose name. Unlike the Haskell library, the program + # is called arion (arion was already taken on hackage). + pname = "arion"; + }); inherit (haskell.lib.compose) justStaticExecutables overrideCabal; inherit (haskellPackages) arion-compose; cabalOverrides = o: { - buildTools = (o.buildTools or []) ++ [buildPackages.makeWrapper]; - passthru = (o.passthru or {}) // { + buildTools = (o.buildTools or [ ]) ++ [ buildPackages.makeWrapper ]; + passthru = (o.passthru or { }) // { inherit eval build; }; src = arion-compose.src; @@ -49,38 +45,46 @@ let # feature, but rather to make the program more robustly self- # contained. - postInstall = o.postInstall or "" + '' - mkdir -p $out/libexec - mv $out/bin/arion $out/libexec - makeWrapper $out/libexec/arion $out/bin/arion \ - --unset PYTHONPATH \ - --prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose ]} \ - ; - ''; + postInstall = + o.postInstall or "" + + '' + mkdir -p $out/libexec + mv $out/bin/arion $out/libexec + makeWrapper $out/libexec/arion $out/bin/arion \ + --unset PYTHONPATH \ + --prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose ]} \ + ; + ''; }; # Unpacked sources for evaluation by `eval` - srcUnpacked = runCommand "arion-src" {} - "mkdir $out; tar -C $out --strip-components=1 -xf ${arion-compose.src}"; + srcUnpacked = + runCommand "arion-src" { } + "mkdir $out; tar -C $out --strip-components=1 -xf ${arion-compose.src}"; - /* Function for evaluating a composition + /* + Function for evaluating a composition - Re-uses this Nixpkgs evaluation instead of `arion-pkgs.nix`. + Re-uses this Nixpkgs evaluation instead of `arion-pkgs.nix`. - Returns the module system's `config` and `options` variables. - */ - eval = args@{...}: - import (srcUnpacked + "/src/nix/eval-composition.nix") - ({ inherit pkgs; } // args); + Returns the module system's `config` and `options` variables. + */ + eval = + args@{ ... }: import (srcUnpacked + "/src/nix/eval-composition.nix") ({ inherit pkgs; } // args); - /* Function to derivation of the docker compose yaml file + /* + Function to derivation of the docker compose yaml file NOTE: The output will change: https://github.com/hercules-ci/arion/issues/82 This function is particularly useful on CI, although the references to image tarballs may not always be desirable. - */ - build = args@{...}: - let composition = eval args; - in composition.config.out.dockerComposeYaml; + */ + build = + args@{ ... }: + let + composition = eval args; + in + composition.config.out.dockerComposeYaml; -in arion +in +arion diff --git a/pkgs/by-name/ar/arjun-cnf/package.nix b/pkgs/by-name/ar/arjun-cnf/package.nix index 48e18272fda58..b257a607c94c8 100644 --- a/pkgs/by-name/ar/arjun-cnf/package.nix +++ b/pkgs/by-name/ar/arjun-cnf/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, cryptominisat -, boost -, louvain-community -, lib +{ + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + cryptominisat, + boost, + louvain-community, + lib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ar/arjun/package.nix b/pkgs/by-name/ar/arjun/package.nix index 685195c91d429..4c9ffe2fd9ccc 100644 --- a/pkgs/by-name/ar/arjun/package.nix +++ b/pkgs/by-name/ar/arjun/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ar/arkpandora_ttf/package.nix b/pkgs/by-name/ar/arkpandora_ttf/package.nix index 81a175b944b84..177f98237f8c8 100644 --- a/pkgs/by-name/ar/arkpandora_ttf/package.nix +++ b/pkgs/by-name/ar/arkpandora_ttf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "arkpandora"; diff --git a/pkgs/by-name/ar/armadillo/package.nix b/pkgs/by-name/ar/armadillo/package.nix index 8ec47c8681b7d..1dd48c2642a61 100644 --- a/pkgs/by-name/ar/armadillo/package.nix +++ b/pkgs/by-name/ar/armadillo/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cmake, blas, lapack, superlu, hdf5 }: +{ + lib, + stdenv, + fetchurl, + cmake, + blas, + lapack, + superlu, + hdf5, +}: stdenv.mkDerivation rec { pname = "armadillo"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ blas lapack superlu hdf5 ]; + buildInputs = [ + blas + lapack + superlu + hdf5 + ]; cmakeFlags = [ "-DLAPACK_LIBRARY=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" @@ -24,6 +38,9 @@ stdenv.mkDerivation rec { homepage = "https://arma.sourceforge.net"; license = licenses.asl20; platforms = platforms.unix; - maintainers = with maintainers; [ juliendehos knedlsepp ]; + maintainers = with maintainers; [ + juliendehos + knedlsepp + ]; }; } diff --git a/pkgs/by-name/ar/armbian-firmware/package.nix b/pkgs/by-name/ar/armbian-firmware/package.nix index 6e97c5908871e..fbd066cc68cc8 100644 --- a/pkgs/by-name/ar/armbian-firmware/package.nix +++ b/pkgs/by-name/ar/armbian-firmware/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "armbian-firmware"; version = "unstable-2023-09-16"; diff --git a/pkgs/by-name/ar/armitage/package.nix b/pkgs/by-name/ar/armitage/package.nix index a77d9bb9e08ab..de374059dfb2d 100644 --- a/pkgs/by-name/ar/armitage/package.nix +++ b/pkgs/by-name/ar/armitage/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, jdk11 -, gradle_8 -, metasploit -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, writeDarwinBundle +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + jdk11, + gradle_8, + metasploit, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + writeDarwinBundle, }: let @@ -52,7 +53,12 @@ let in stdenv.mkDerivation (finalAttrs: { - inherit pname version src patches; + inherit + pname + version + src + patches + ; desktopItems = [ (makeDesktopItem { @@ -61,19 +67,24 @@ stdenv.mkDerivation (finalAttrs: { exec = "armitage"; icon = "armitage"; comment = finalAttrs.meta.description; - categories = [ "Network" "Security" ]; + categories = [ + "Network" + "Security" + ]; startupNotify = false; }) ]; - nativeBuildInputs = [ - jdk11 - gradle - makeWrapper - copyDesktopItems - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - writeDarwinBundle - ]; + nativeBuildInputs = + [ + jdk11 + gradle + makeWrapper + copyDesktopItems + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + writeDarwinBundle + ]; mitmCache = gradle.fetchDeps { inherit pname; @@ -92,13 +103,23 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace $out/bin/armitage \ --replace-fail "armitage.jar" "$JAR" wrapProgram $out/bin/armitage \ - --prefix PATH : "${lib.makeBinPath [ jdk11 metasploit ]}" + --prefix PATH : "${ + lib.makeBinPath [ + jdk11 + metasploit + ] + }" install -Dm755 dist/unix/teamserver $out/bin/teamserver substituteInPlace $out/bin/teamserver \ --replace-fail "armitage.jar" "$JAR" wrapProgram $out/bin/teamserver \ - --prefix PATH : "${lib.makeBinPath [ jdk11 metasploit ]}" + --prefix PATH : "${ + lib.makeBinPath [ + jdk11 + metasploit + ] + }" install -Dm444 dist/unix/armitage-logo.png $out/share/pixmaps/armitage.png ${lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/by-name/ar/arp-scan/package.nix b/pkgs/by-name/ar/arp-scan/package.nix index 35d5285983812..3f41678c5b21c 100644 --- a/pkgs/by-name/ar/arp-scan/package.nix +++ b/pkgs/by-name/ar/arp-scan/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libpcap, makeWrapper, perlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libpcap, + makeWrapper, + perlPackages, +}: stdenv.mkDerivation rec { pname = "arp-scan"; @@ -23,8 +31,14 @@ stdenv.mkDerivation rec { URI ]; - nativeBuildInputs = [ autoreconfHook makeWrapper ]; - buildInputs = [ perlPackages.perl libpcap ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ]; + buildInputs = [ + perlPackages.perl + libpcap + ]; postInstall = '' for binary in get-{oui,iab}; do @@ -41,7 +55,11 @@ stdenv.mkDerivation rec { homepage = "https://github.com/royhills/arp-scan/wiki/arp-scan-User-Guide"; license = licenses.gpl3; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor mikoim r-burns ]; + maintainers = with maintainers; [ + bjornfor + mikoim + r-burns + ]; mainProgram = "arp-scan"; }; } diff --git a/pkgs/by-name/ar/arpa2cm/package.nix b/pkgs/by-name/ar/arpa2cm/package.nix index 7951c70134743..e9b1f6cb26f85 100644 --- a/pkgs/by-name/ar/arpa2cm/package.nix +++ b/pkgs/by-name/ar/arpa2cm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, cmake }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, +}: stdenv.mkDerivation rec { pname = "arpa2cm"; @@ -28,6 +33,9 @@ stdenv.mkDerivation rec { ''; homepage = "https://gitlab.com/arpa2/arpa2cm"; license = licenses.bsd2; - maintainers = with maintainers; [ leenaars fufexan ]; + maintainers = with maintainers; [ + leenaars + fufexan + ]; }; } diff --git a/pkgs/by-name/ar/arping/package.nix b/pkgs/by-name/ar/arping/package.nix index baa1b1a98ad45..2b78466c6dbd8 100644 --- a/pkgs/by-name/ar/arping/package.nix +++ b/pkgs/by-name/ar/arping/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libnet -, libpcap +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libnet, + libpcap, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ar/arpoison/package.nix b/pkgs/by-name/ar/arpoison/package.nix index 347f2bf3ea6fc..5b6ec393016c8 100644 --- a/pkgs/by-name/ar/arpoison/package.nix +++ b/pkgs/by-name/ar/arpoison/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, libnet }: +{ + lib, + stdenv, + fetchzip, + libnet, +}: stdenv.mkDerivation rec { pname = "arpoison"; diff --git a/pkgs/by-name/ar/arrow-cpp/package.nix b/pkgs/by-name/ar/arrow-cpp/package.nix index 81b230d091798..e972bf1d30808 100644 --- a/pkgs/by-name/ar/arrow-cpp/package.nix +++ b/pkgs/by-name/ar/arrow-cpp/package.nix @@ -262,11 +262,14 @@ stdenv.mkDerivation (finalAttrs: { __darwinAllowLocalNetworking = true; - nativeInstallCheckInputs = [ - perl - which - sqlite - ] ++ lib.optionals enableS3 [ minio ] ++ lib.optionals enableFlight [ python3 ]; + nativeInstallCheckInputs = + [ + perl + which + sqlite + ] + ++ lib.optionals enableS3 [ minio ] + ++ lib.optionals enableFlight [ python3 ]; installCheckPhase = let diff --git a/pkgs/by-name/ar/arsenal/package.nix b/pkgs/by-name/ar/arsenal/package.nix index 62dd9a5986689..a25e9aa232bc1 100644 --- a/pkgs/by-name/ar/arsenal/package.nix +++ b/pkgs/by-name/ar/arsenal/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ar/art/package.nix b/pkgs/by-name/ar/art/package.nix index 854fcaecce461..dc0e3a7a2aeb0 100644 --- a/pkgs/by-name/ar/art/package.nix +++ b/pkgs/by-name/ar/art/package.nix @@ -1,40 +1,41 @@ -{ lib -, stdenv -, fetchFromBitbucket -, cmake -, pkg-config -, util-linux -, libselinux -, libsepol -, libthai -, libdatrie -, lerc -, libxkbcommon -, libepoxy -, libXtst -, wrapGAppsHook3 -, pixman -, libpthreadstubs -, gtkmm3 -, libXau -, libXdmcp -, lcms2 -, libraw -, libiptcdata -, fftw -, expat -, pcre2 -, libsigcxx -, lensfun -, librsvg -, libcanberra-gtk3 -, exiv2 -, exiftool -, mimalloc -, openexr_3 -, ilmbase -, opencolorio -, color-transformation-language +{ + lib, + stdenv, + fetchFromBitbucket, + cmake, + pkg-config, + util-linux, + libselinux, + libsepol, + libthai, + libdatrie, + lerc, + libxkbcommon, + libepoxy, + libXtst, + wrapGAppsHook3, + pixman, + libpthreadstubs, + gtkmm3, + libXau, + libXdmcp, + lcms2, + libraw, + libiptcdata, + fftw, + expat, + pcre2, + libsigcxx, + lensfun, + librsvg, + libcanberra-gtk3, + exiv2, + exiftool, + mimalloc, + openexr_3, + ilmbase, + opencolorio, + color-transformation-language, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ar/artem/package.nix b/pkgs/by-name/ar/artem/package.nix index 8f6d27b176a3c..a2fbf10f4dd65 100644 --- a/pkgs/by-name/ar/artem/package.nix +++ b/pkgs/by-name/ar/artem/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ar/artha/package.nix b/pkgs/by-name/ar/artha/package.nix index e3f42c153ebb7..6e106ce2880ac 100644 --- a/pkgs/by-name/ar/artha/package.nix +++ b/pkgs/by-name/ar/artha/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, autoreconfHook, fetchurl, dbus-glib, gtk2, pkg-config, wordnet }: +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + dbus-glib, + gtk2, + pkg-config, + wordnet, +}: stdenv.mkDerivation rec { pname = "artha"; @@ -9,8 +18,15 @@ stdenv.mkDerivation rec { sha256 = "034r7vfk5y7705k068cdlq52ikp6ip10w6047a5zjdakbn55c3as"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ dbus-glib gtk2 wordnet ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + dbus-glib + gtk2 + wordnet + ]; meta = with lib; { description = "Offline thesaurus based on WordNet"; diff --git a/pkgs/by-name/ar/artim-dark/package.nix b/pkgs/by-name/ar/artim-dark/package.nix index 9485f46b19a98..d8d1a79863a10 100644 --- a/pkgs/by-name/ar/artim-dark/package.nix +++ b/pkgs/by-name/ar/artim-dark/package.nix @@ -1,12 +1,16 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: -stdenvNoCC.mkDerivation rec{ +stdenvNoCC.mkDerivation rec { pname = "artim-dark"; version = "unstable-2021-12-29"; src = fetchFromGitHub { - owner="Mrcuve0"; - repo="Aritim-Dark"; + owner = "Mrcuve0"; + repo = "Aritim-Dark"; rev = "99cd330a1ab4814260e28f15431e3338a1103668"; hash = "sha256-xGnw5KpXbVyDdTuAkav1Hec6bitpZdPzZk0xv7WHTdY="; }; diff --git a/pkgs/by-name/ar/artyFX/package.nix b/pkgs/by-name/ar/artyFX/package.nix index e7c909c966378..79e2ebeed923a 100644 --- a/pkgs/by-name/ar/artyFX/package.nix +++ b/pkgs/by-name/ar/artyFX/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub , cairomm, cmake, libjack2, libpthreadstubs, libXdmcp, libxshmfence, libsndfile, lv2, ntk, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cairomm, + cmake, + libjack2, + libpthreadstubs, + libXdmcp, + libxshmfence, + libsndfile, + lv2, + ntk, + pkg-config, +}: stdenv.mkDerivation rec { pname = "artyFX"; @@ -11,8 +25,20 @@ stdenv.mkDerivation rec { hash = "sha256-GD9nwXdXSJX5OvAMxEAnngkvRW+E1jrNfWXK122bsTM="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ cairomm libjack2 libpthreadstubs libXdmcp libxshmfence libsndfile lv2 ntk ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + cairomm + libjack2 + libpthreadstubs + libXdmcp + libxshmfence + libsndfile + lv2 + ntk + ]; meta = with lib; { homepage = "http://openavproductions.com/artyfx/"; diff --git a/pkgs/by-name/ar/arubaotp-seed-extractor/package.nix b/pkgs/by-name/ar/arubaotp-seed-extractor/package.nix index cd13f891cecc7..e1a9e6d187acd 100644 --- a/pkgs/by-name/ar/arubaotp-seed-extractor/package.nix +++ b/pkgs/by-name/ar/arubaotp-seed-extractor/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication { diff --git a/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix b/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix index 1351611e7e7be..b9dbbb9f9a1f9 100644 --- a/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix +++ b/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, python3Packages -, fetchFromGitHub +{ + lib, + python3, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { pname = "arxiv-latex-cleaner"; diff --git a/pkgs/by-name/as/as-tree/package.nix b/pkgs/by-name/as/as-tree/package.nix index 7a8ec48306428..a3c1502a73ca3 100644 --- a/pkgs/by-name/as/as-tree/package.nix +++ b/pkgs/by-name/as/as-tree/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "as-tree"; diff --git a/pkgs/by-name/as/as31/package.nix b/pkgs/by-name/as/as31/package.nix index 3f7cc35e6d97a..83952f68d1bfd 100644 --- a/pkgs/by-name/as/as31/package.nix +++ b/pkgs/by-name/as/as31/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, bison +{ + lib, + stdenv, + fetchurl, + bison, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/as/asahi-bless/package.nix b/pkgs/by-name/as/asahi-bless/package.nix index deacd739318fe..5d136975cc7de 100644 --- a/pkgs/by-name/as/asahi-bless/package.nix +++ b/pkgs/by-name/as/asahi-bless/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchCrate -, rustPlatform +{ + lib, + fetchCrate, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/as/asahi-btsync/package.nix b/pkgs/by-name/as/asahi-btsync/package.nix index f776f86a2fc21..1ee528638de17 100644 --- a/pkgs/by-name/as/asahi-btsync/package.nix +++ b/pkgs/by-name/as/asahi-btsync/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchCrate -, rustPlatform +{ + lib, + fetchCrate, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/as/asahi-nvram/package.nix b/pkgs/by-name/as/asahi-nvram/package.nix index 4226a4fe6a5fc..e3cc5b1569b47 100644 --- a/pkgs/by-name/as/asahi-nvram/package.nix +++ b/pkgs/by-name/as/asahi-nvram/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchCrate -, rustPlatform +{ + lib, + fetchCrate, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/as/asahi-wifisync/package.nix b/pkgs/by-name/as/asahi-wifisync/package.nix index 5a0b9c87219da..23b3ac4f9fb81 100644 --- a/pkgs/by-name/as/asahi-wifisync/package.nix +++ b/pkgs/by-name/as/asahi-wifisync/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchCrate -, rustPlatform +{ + lib, + fetchCrate, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/as/asak/package.nix b/pkgs/by-name/as/asak/package.nix index cd6fd83de9d8c..07dcb498053eb 100644 --- a/pkgs/by-name/as/asak/package.nix +++ b/pkgs/by-name/as/asak/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, alsa-lib -, libjack2 +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + alsa-lib, + libjack2, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ alsa-lib libjack2 ]; + buildInputs = [ + alsa-lib + libjack2 + ]; # There is no tests doCheck = false; diff --git a/pkgs/by-name/as/asap/package.nix b/pkgs/by-name/as/asap/package.nix index 7f7b5d9d5fe87..df54e9102e286 100644 --- a/pkgs/by-name/as/asap/package.nix +++ b/pkgs/by-name/as/asap/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchzip -, SDL +{ + stdenv, + lib, + fetchzip, + SDL, }: stdenv.mkDerivation rec { @@ -13,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-a4RUtFue5wdoGUykLRb46s4+yR/I/7DhwE1SiWPRg8s="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ SDL diff --git a/pkgs/by-name/as/asar/package.nix b/pkgs/by-name/as/asar/package.nix index 3d6c017674a82..4cedace23d132 100644 --- a/pkgs/by-name/as/asar/package.nix +++ b/pkgs/by-name/as/asar/package.nix @@ -1,7 +1,8 @@ -{ lib -, mkYarnPackage -, fetchFromGitHub -, fetchYarnDeps +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, }: mkYarnPackage rec { diff --git a/pkgs/by-name/as/ascii-draw/package.nix b/pkgs/by-name/as/ascii-draw/package.nix index 178952dc9f5f8..b33e4fa1df7c2 100644 --- a/pkgs/by-name/as/ascii-draw/package.nix +++ b/pkgs/by-name/as/ascii-draw/package.nix @@ -1,13 +1,14 @@ -{ lib -, python3Packages -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gobject-introspection -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita +{ + lib, + python3Packages, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/as/ascii-image-converter/package.nix b/pkgs/by-name/as/ascii-image-converter/package.nix index d0ae5420bdfec..a74990a9b548e 100644 --- a/pkgs/by-name/as/ascii-image-converter/package.nix +++ b/pkgs/by-name/as/ascii-image-converter/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ascii-image-converter"; diff --git a/pkgs/by-name/as/ascii/package.nix b/pkgs/by-name/as/ascii/package.nix index 6a280bc516f96..699b65083a901 100644 --- a/pkgs/by-name/as/ascii/package.nix +++ b/pkgs/by-name/as/ascii/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, gitUpdater, asciidoctor }: +{ + lib, + stdenv, + fetchFromGitLab, + gitUpdater, + asciidoctor, +}: stdenv.mkDerivation (finalAttrs: { pname = "ascii"; diff --git a/pkgs/by-name/as/asciicam/package.nix b/pkgs/by-name/as/asciicam/package.nix index 6a600fec30835..39ce7f770ef01 100644 --- a/pkgs/by-name/as/asciicam/package.nix +++ b/pkgs/by-name/as/asciicam/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule { @@ -16,7 +17,10 @@ buildGoModule { vendorHash = "sha256-Qnt1wo/yKC3Ce4JoZBIWtXyzlkh4bWz9vyE349iRsjk="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Displays your webcam on the terminal"; diff --git a/pkgs/by-name/as/asciidoctorj/package.nix b/pkgs/by-name/as/asciidoctorj/package.nix index 4fe4878faae80..db2d8d46dbf35 100644 --- a/pkgs/by-name/as/asciidoctorj/package.nix +++ b/pkgs/by-name/as/asciidoctorj/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchzip, jdk, makeWrapper }: +{ + lib, + stdenv, + fetchzip, + jdk, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "asciidoctorj"; diff --git a/pkgs/by-name/as/asciigraph/package.nix b/pkgs/by-name/as/asciigraph/package.nix index 1b88b5041f14a..ec9151cd9a902 100644 --- a/pkgs/by-name/as/asciigraph/package.nix +++ b/pkgs/by-name/as/asciigraph/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "asciigraph"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/guptarohit/asciigraph"; diff --git a/pkgs/by-name/as/asciinema-automation/package.nix b/pkgs/by-name/as/asciinema-automation/package.nix index 975659da7cdc8..abdaddde453d9 100644 --- a/pkgs/by-name/as/asciinema-automation/package.nix +++ b/pkgs/by-name/as/asciinema-automation/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, asciinema +{ + lib, + python3, + fetchFromGitHub, + asciinema, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/as/asciinema-scenario/package.nix b/pkgs/by-name/as/asciinema-scenario/package.nix index 99446e2ac0c22..dfa2629169508 100644 --- a/pkgs/by-name/as/asciinema-scenario/package.nix +++ b/pkgs/by-name/as/asciinema-scenario/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/as/asciiquarium/package.nix b/pkgs/by-name/as/asciiquarium/package.nix index 7ebf58e34978c..229078c72041f 100644 --- a/pkgs/by-name/as/asciiquarium/package.nix +++ b/pkgs/by-name/as/asciiquarium/package.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchurl, makeWrapper, perlPackages }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + perlPackages, +}: -let version = "1.1"; -in stdenv.mkDerivation { +let + version = "1.1"; +in +stdenv.mkDerivation { pname = "asciiquarium"; inherit version; src = fetchurl { @@ -17,7 +25,7 @@ in stdenv.mkDerivation { cp asciiquarium $out/bin chmod +x $out/bin/asciiquarium wrapProgram $out/bin/asciiquarium \ - --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.TermAnimation ] } + --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.TermAnimation ]} ''; meta = with lib; { @@ -26,6 +34,9 @@ in stdenv.mkDerivation { homepage = "https://robobunny.com/projects/asciiquarium/html/"; license = licenses.gpl2; platforms = platforms.unix; - maintainers = with maintainers; [ sigmasquadron utdemir ]; + maintainers = with maintainers; [ + sigmasquadron + utdemir + ]; }; } diff --git a/pkgs/by-name/as/asdf-vm/package.nix b/pkgs/by-name/as/asdf-vm/package.nix index 024d70d5c7cbf..2c2bc6fba1219 100644 --- a/pkgs/by-name/as/asdf-vm/package.nix +++ b/pkgs/by-name/as/asdf-vm/package.nix @@ -1,41 +1,52 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, installShellFiles, bash, curl, git, writeScript }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + installShellFiles, + bash, + curl, + git, + writeScript, +}: let asdfReshimFile = writeScript "asdf-reshim" '' -#!/usr/bin/env bash - -# asdf-vm create "shim" file like this: -# -# exec $ASDF_DIR/bin/asdf exec "node" "$@" -# -# So we should reshim all installed versions every time shell initialized, -# because $out always change - -asdfDir="''${ASDF_DIR:-$HOME/.asdf}" -asdfDataDir="''${ASDF_DATA_DIR:-$HOME/.asdf}" - -prevAsdfDirFilePath="$asdfDataDir/.nix-prev-asdf-dir-path" - -if [ -r "$prevAsdfDirFilePath" ]; then - prevAsdfDir="$(cat "$prevAsdfDirFilePath")" -else - prevAsdfDir="" -fi - -if [ "$prevAsdfDir" != "$asdfDir" ]; then - rm -rf "$asdfDataDir"/shims - "$asdfDir"/bin/asdf reshim - echo "$asdfDir" > "$prevAsdfDirFilePath" -fi + #!/usr/bin/env bash + + # asdf-vm create "shim" file like this: + # + # exec $ASDF_DIR/bin/asdf exec "node" "$@" + # + # So we should reshim all installed versions every time shell initialized, + # because $out always change + + asdfDir="''${ASDF_DIR:-$HOME/.asdf}" + asdfDataDir="''${ASDF_DATA_DIR:-$HOME/.asdf}" + + prevAsdfDirFilePath="$asdfDataDir/.nix-prev-asdf-dir-path" + + if [ -r "$prevAsdfDirFilePath" ]; then + prevAsdfDir="$(cat "$prevAsdfDirFilePath")" + else + prevAsdfDir="" + fi + + if [ "$prevAsdfDir" != "$asdfDir" ]; then + rm -rf "$asdfDataDir"/shims + "$asdfDir"/bin/asdf reshim + echo "$asdfDir" > "$prevAsdfDirFilePath" + fi ''; asdfPrepareFile = writeScript "asdf-prepare" '' -ASDF_DIR="@asdfDir@" + ASDF_DIR="@asdfDir@" -source "$ASDF_DIR/asdf.sh" -${asdfReshimFile} + source "$ASDF_DIR/asdf.sh" + ${asdfReshimFile} ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "asdf-vm"; version = "0.14.1"; diff --git a/pkgs/by-name/as/aseq2json/package.nix b/pkgs/by-name/as/aseq2json/package.nix index d828c808037a6..ed7705687e4a3 100644 --- a/pkgs/by-name/as/aseq2json/package.nix +++ b/pkgs/by-name/as/aseq2json/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, alsa-lib, glib, json-glib }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + alsa-lib, + glib, + json-glib, +}: stdenv.mkDerivation (finalAttrs: { pname = "aseq2json"; @@ -12,7 +20,11 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/aseq2json"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ alsa-lib glib json-glib ]; + buildInputs = [ + alsa-lib + glib + json-glib + ]; installPhase = '' install -D --target-directory "$out/bin" aseq2json diff --git a/pkgs/by-name/as/ashpd-demo/package.nix b/pkgs/by-name/as/ashpd-demo/package.nix index 8c9127296b177..d06352c70581c 100644 --- a/pkgs/by-name/as/ashpd-demo/package.nix +++ b/pkgs/by-name/as/ashpd-demo/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, cargo -, meson -, ninja -, rustPlatform -, rustc -, pkg-config -, glib -, libshumate -, gst_all_1 -, gtk4 -, libadwaita -, pipewire -, wayland -, wrapGAppsHook4 -, desktop-file-utils +{ + stdenv, + lib, + fetchFromGitHub, + cargo, + meson, + ninja, + rustPlatform, + rustc, + pkg-config, + glib, + libshumate, + gst_all_1, + gtk4, + libadwaita, + pipewire, + wayland, + wrapGAppsHook4, + desktop-file-utils, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/as/ashuffle/package.nix b/pkgs/by-name/as/ashuffle/package.nix index 3fe5e6716bd33..e809869b43e61 100644 --- a/pkgs/by-name/as/ashuffle/package.nix +++ b/pkgs/by-name/as/ashuffle/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, meson -, ninja -, libmpdclient -, yaml-cpp +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + meson, + ninja, + libmpdclient, + yaml-cpp, }: stdenv.mkDerivation rec { @@ -22,8 +23,16 @@ stdenv.mkDerivation rec { }; dontUseCmakeConfigure = true; - nativeBuildInputs = [ cmake pkg-config meson ninja ]; - buildInputs = [ libmpdclient yaml-cpp ]; + nativeBuildInputs = [ + cmake + pkg-config + meson + ninja + ]; + buildInputs = [ + libmpdclient + yaml-cpp + ]; mesonFlags = [ "-Dunsupported_use_system_yamlcpp=true" ]; diff --git a/pkgs/by-name/as/askalono/package.nix b/pkgs/by-name/as/askalono/package.nix index 6388be5095117..6995995515feb 100644 --- a/pkgs/by-name/as/askalono/package.nix +++ b/pkgs/by-name/as/askalono/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/as/asl/package.nix b/pkgs/by-name/as/asl/package.nix index f6cbe3f46b66c..2c545e04fdd99 100644 --- a/pkgs/by-name/as/asl/package.nix +++ b/pkgs/by-name/as/asl/package.nix @@ -1,29 +1,40 @@ -{ lib -, stdenv -, fetchzip -, texliveMedium -, buildDocs ? false +{ + lib, + stdenv, + fetchzip, + texliveMedium, + buildDocs ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "asl"; version = "142-bld232"; - src = let inherit (finalAttrs) pname version; in fetchzip { - name = "${pname}-${version}"; - url = "http://john.ccac.rwth-aachen.de:8000/ftp/as/source/c_version/asl-current-${version}.tar.bz2"; - hash = "sha256-Q50GzXBxFMhbt5s9OgHPNH4bdqz2hhEmTnMmKowVn2E="; - }; + src = + let + inherit (finalAttrs) pname version; + in + fetchzip { + name = "${pname}-${version}"; + url = "http://john.ccac.rwth-aachen.de:8000/ftp/as/source/c_version/asl-current-${version}.tar.bz2"; + hash = "sha256-Q50GzXBxFMhbt5s9OgHPNH4bdqz2hhEmTnMmKowVn2E="; + }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; nativeBuildInputs = lib.optionals buildDocs [ texliveMedium ]; - postPatch = lib.optionalString (!buildDocs) '' - substituteInPlace Makefile --replace "all: binaries docs" "all: binaries" - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' - substituteInPlace sysdefs.h --replace "x86_64" "aarch64" - ''; + postPatch = + lib.optionalString (!buildDocs) '' + substituteInPlace Makefile --replace "all: binaries docs" "all: binaries" + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' + substituteInPlace sysdefs.h --replace "x86_64" "aarch64" + ''; dontConfigure = true; diff --git a/pkgs/by-name/as/asmfmt/package.nix b/pkgs/by-name/as/asmfmt/package.nix index 1c22f3ea17811..598ec7fd563da 100644 --- a/pkgs/by-name/as/asmfmt/package.nix +++ b/pkgs/by-name/as/asmfmt/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { @@ -20,7 +21,10 @@ buildGoModule rec { # but these binaries are outdated and are offered by other packages. subPackages = [ "cmd/asmfmt" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # There are no tests. doCheck = false; diff --git a/pkgs/by-name/as/asmjit/package.nix b/pkgs/by-name/as/asmjit/package.nix index 7edc7c666a9c4..c8a795e959bed 100644 --- a/pkgs/by-name/as/asmjit/package.nix +++ b/pkgs/by-name/as/asmjit/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchFromGitHub -, cmake -, ninja -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + ninja, + lib, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/as/asn/package.nix b/pkgs/by-name/as/asn/package.nix index 2530c3b31c474..5d917507f9cd6 100644 --- a/pkgs/by-name/as/asn/package.nix +++ b/pkgs/by-name/as/asn/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, curl -, whois -, bind -, mtr -, jq -, ipcalc -, grepcidr -, nmap -, aha +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + curl, + whois, + bind, + mtr, + jq, + ipcalc, + grepcidr, + nmap, + aha, }: stdenv.mkDerivation rec { @@ -32,7 +33,19 @@ stdenv.mkDerivation rec { install -Dv asn "$out/bin/asn" wrapProgram $out/bin/asn \ - --prefix PATH : "${lib.makeBinPath [ curl whois bind mtr jq ipcalc grepcidr nmap aha ]}" + --prefix PATH : "${ + lib.makeBinPath [ + curl + whois + bind + mtr + jq + ipcalc + grepcidr + nmap + aha + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/as/asn1c/package.nix b/pkgs/by-name/as/asn1c/package.nix index bcaab6fae8672..61f45133bf8f5 100644 --- a/pkgs/by-name/as/asn1c/package.nix +++ b/pkgs/by-name/as/asn1c/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "asn1c"; @@ -9,7 +14,11 @@ stdenv.mkDerivation rec { sha256 = "1fc64g45ykmv73kdndr4zdm4wxhimhrir4rxnygxvwkych5l81w0"; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; buildInputs = [ perl ]; diff --git a/pkgs/by-name/as/asn1editor/package.nix b/pkgs/by-name/as/asn1editor/package.nix index 07941a7762c49..fa6c1c6bee9bc 100644 --- a/pkgs/by-name/as/asn1editor/package.nix +++ b/pkgs/by-name/as/asn1editor/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/as/aspcud/package.nix b/pkgs/by-name/as/aspcud/package.nix index cd290d5e085e5..4c72083c2c76a 100644 --- a/pkgs/by-name/as/aspcud/package.nix +++ b/pkgs/by-name/as/aspcud/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, catch2 -, cmake -, clingo -, re2c +{ + lib, + stdenv, + fetchFromGitHub, + boost, + catch2, + cmake, + clingo, + re2c, }: stdenv.mkDerivation rec { @@ -24,7 +25,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost clingo re2c ]; + buildInputs = [ + boost + clingo + re2c + ]; cmakeFlags = [ "-DASPCUD_GRINGO_PATH=${clingo}/bin/gringo" diff --git a/pkgs/by-name/as/aspino/package.nix b/pkgs/by-name/as/aspino/package.nix index 6b0e75de80661..0352bfe6aba52 100644 --- a/pkgs/by-name/as/aspino/package.nix +++ b/pkgs/by-name/as/aspino/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, zlib, boost }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + zlib, + boost, +}: let glucose' = fetchurl { @@ -18,7 +25,10 @@ stdenv.mkDerivation { hash = "sha256-R1TpBDGdq+NQQzmzqk0wYaz2Hns3qru0AkAyFPQasPA="; }; - buildInputs = [ zlib boost ]; + buildInputs = [ + zlib + boost + ]; postPatch = '' substituteInPlace Makefile \ diff --git a/pkgs/by-name/as/assaultcube/package.nix b/pkgs/by-name/as/assaultcube/package.nix index 7164e66feebf4..ec7fc9f43e2fd 100644 --- a/pkgs/by-name/as/assaultcube/package.nix +++ b/pkgs/by-name/as/assaultcube/package.nix @@ -1,18 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, openal -, pkg-config -, libogg -, libvorbis -, SDL2 -, SDL2_image -, makeWrapper -, zlib -, file -, client ? true, server ? true +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + openal, + pkg-config, + libogg, + libvorbis, + SDL2, + SDL2_image, + makeWrapper, + zlib, + file, + client ? true, + server ? true, }: stdenv.mkDerivation rec { @@ -21,7 +23,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "assaultcube"; - repo = "AC"; + repo = "AC"; rev = "v${version}"; sha256 = "0qv339zw9q5q1y7bghca03gw7z4v89sl4lbr6h3b7siy08mcwiz9"; }; @@ -32,19 +34,25 @@ stdenv.mkDerivation rec { copyDesktopItems ]; - buildInputs = [ - file - zlib - ] ++ lib.optionals client [ - openal - SDL2 - SDL2_image - libogg - libvorbis - ]; + buildInputs = + [ + file + zlib + ] + ++ lib.optionals client [ + openal + SDL2 + SDL2_image + libogg + libvorbis + ]; targets = (lib.optionalString server "server") + (lib.optionalString client " client"); - makeFlags = [ "-C source/src" "CXX=${stdenv.cc.targetPrefix}c++" targets ]; + makeFlags = [ + "-C source/src" + "CXX=${stdenv.cc.targetPrefix}c++" + targets + ]; desktopItems = [ (makeDesktopItem { @@ -52,7 +60,11 @@ stdenv.mkDerivation rec { desktopName = "AssaultCube"; comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay."; genericName = "First-person shooter"; - categories = [ "Game" "ActionGame" "Shooter" ]; + categories = [ + "Game" + "ActionGame" + "Shooter" + ]; icon = "assaultcube"; exec = pname; }) diff --git a/pkgs/by-name/as/assemblyscript/package.nix b/pkgs/by-name/as/assemblyscript/package.nix index cb0f0cd25948e..3faf433d4a431 100644 --- a/pkgs/by-name/as/assemblyscript/package.nix +++ b/pkgs/by-name/as/assemblyscript/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/as/assetfinder/package.nix b/pkgs/by-name/as/assetfinder/package.nix index 46a2daa1723a1..b27ecc9e1a4b0 100644 --- a/pkgs/by-name/as/assetfinder/package.nix +++ b/pkgs/by-name/as/assetfinder/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -26,7 +27,10 @@ buildGoModule rec { mainProgram = "assetfinder"; maintainers = with maintainers; [ shard7 ]; platforms = platforms.unix; - sourceProvenance = with sourceTypes; [ fromSource binaryNativeCode ]; + sourceProvenance = with sourceTypes; [ + fromSource + binaryNativeCode + ]; license = with licenses; [ mit ]; }; } diff --git a/pkgs/by-name/as/assh/package.nix b/pkgs/by-name/as/assh/package.nix index 96672515e4d33..f66cb33959d8f 100644 --- a/pkgs/by-name/as/assh/package.nix +++ b/pkgs/by-name/as/assh/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, openssh -, makeWrapper -, ps +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + openssh, + makeWrapper, + ps, }: buildGoModule rec { @@ -21,7 +22,9 @@ buildGoModule rec { vendorHash = "sha256-L2Uo/jsMtxQClF1UDa7NIUbOm7BflvncNsjqGnCsPKo="; ldflags = [ - "-s" "-w" "-X moul.io/assh/v2/pkg/version.Version=${version}" + "-s" + "-w" + "-X moul.io/assh/v2/pkg/version.Version=${version}" ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/as/assign-lb-ip/package.nix b/pkgs/by-name/as/assign-lb-ip/package.nix index bc55112dd292e..f3fa137a63929 100644 --- a/pkgs/by-name/as/assign-lb-ip/package.nix +++ b/pkgs/by-name/as/assign-lb-ip/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "assign-lb-ip"; @@ -16,8 +20,8 @@ buildGoModule rec { meta = with lib; { description = "Assigns loadBalancerIP address to a Kubernetes service for testing purposes"; mainProgram = "assign-lb-ip"; - homepage = "https://github.com/Nordix/assign-lb-ip"; - license = licenses.asl20; + homepage = "https://github.com/Nordix/assign-lb-ip"; + license = licenses.asl20; maintainers = [ maintainers.starcraft66 ]; }; } diff --git a/pkgs/by-name/as/assimp/package.nix b/pkgs/by-name/as/assimp/package.nix index 45eef22e69fbb..4aaa2ed608769 100644 --- a/pkgs/by-name/as/assimp/package.nix +++ b/pkgs/by-name/as/assimp/package.nix @@ -1,15 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + zlib, }: stdenv.mkDerivation rec { pname = "assimp"; version = "5.4.3"; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; src = fetchFromGitHub { owner = "assimp"; @@ -19,7 +24,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost zlib ]; + buildInputs = [ + boost + zlib + ]; cmakeFlags = [ "-DASSIMP_BUILD_ASSIMP_TOOLS=ON" ]; diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix index 0d46c85707c3a..a56a0f8024e0d 100644 --- a/pkgs/by-name/as/ast-grep/package.nix +++ b/pkgs/by-name/as/ast-grep/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -32,19 +33,21 @@ rustPlatform.buildRustPackage rec { --zsh <($out/bin/sg completions zsh) ''; - checkFlags = [ - # disable flaky test - "--skip=test::test_load_parser_mac" + checkFlags = + [ + # disable flaky test + "--skip=test::test_load_parser_mac" - # BUG: Broke by 0.12.1 update (https://github.com/NixOS/nixpkgs/pull/257385) - # Please check if this is fixed in future updates of the package - "--skip=verify::test_case::tests::test_unmatching_id" - ] ++ lib.optionals (with stdenv.hostPlatform; (isDarwin && isx86_64) || (isLinux && isAarch64)) [ - # x86_64-darwin: source/benches/fixtures/json-mac.so\' (no such file), \'/private/tmp/nix-build-.../source/benches/fixtures/json-mac.so\' (mach-o file, but is an incompatible architecture (have \'arm64\', need \'x86_64h\' or \'x86_64\'))" }) - # aarch64-linux: /build/source/benches/fixtures/json-linux.so: cannot open shared object file: No such file or directory" - "--skip=test::test_load_parser" - "--skip=test::test_register_lang" - ]; + # BUG: Broke by 0.12.1 update (https://github.com/NixOS/nixpkgs/pull/257385) + # Please check if this is fixed in future updates of the package + "--skip=verify::test_case::tests::test_unmatching_id" + ] + ++ lib.optionals (with stdenv.hostPlatform; (isDarwin && isx86_64) || (isLinux && isAarch64)) [ + # x86_64-darwin: source/benches/fixtures/json-mac.so\' (no such file), \'/private/tmp/nix-build-.../source/benches/fixtures/json-mac.so\' (mach-o file, but is an incompatible architecture (have \'arm64\', need \'x86_64h\' or \'x86_64\'))" }) + # aarch64-linux: /build/source/benches/fixtures/json-linux.so: cannot open shared object file: No such file or directory" + "--skip=test::test_load_parser" + "--skip=test::test_register_lang" + ]; meta = with lib; { mainProgram = "sg"; @@ -52,6 +55,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://ast-grep.github.io/"; changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ montchr lord-valen cafkafk ]; + maintainers = with maintainers; [ + montchr + lord-valen + cafkafk + ]; }; } diff --git a/pkgs/by-name/as/astartectl/package.nix b/pkgs/by-name/as/astartectl/package.nix index ac88b96cfab7f..f5c5be3aad9cd 100644 --- a/pkgs/by-name/as/astartectl/package.nix +++ b/pkgs/by-name/as/astartectl/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { pname = "astartectl"; diff --git a/pkgs/by-name/as/astc-encoder/package.nix b/pkgs/by-name/as/astc-encoder/package.nix index 1e08e063decf9..4ece84c89c5e0 100644 --- a/pkgs/by-name/as/astc-encoder/package.nix +++ b/pkgs/by-name/as/astc-encoder/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, simdExtensions ? null +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + simdExtensions ? null, }: let @@ -17,23 +18,31 @@ let # SIMD instruction sets to compile for. If none are specified by the user, # an appropriate one is selected based on the detected host system - isas = with stdenv.hostPlatform; - if simdExtensions != null then toList simdExtensions - else if avx2Support then [ "AVX2" ] - else if sse4_1Support then [ "SSE41" ] - else if isx86_64 then [ "SSE2" ] - else if isAarch64 then [ "NEON" ] - else [ "NONE" ]; + isas = + with stdenv.hostPlatform; + if simdExtensions != null then + toList simdExtensions + else if avx2Support then + [ "AVX2" ] + else if sse4_1Support then + [ "SSE41" ] + else if isx86_64 then + [ "SSE2" ] + else if isAarch64 then + [ "NEON" ] + else + [ "NONE" ]; # CMake Build flags for the selected ISAs. For a list of flags, see # https://github.com/ARM-software/astc-encoder/blob/main/Docs/Building.md - isaFlags = map ( isa: "-DASTCENC_ISA_${isa}=ON" ) isas; + isaFlags = map (isa: "-DASTCENC_ISA_${isa}=ON") isas; # The suffix of the binary to link as 'astcenc' - mainBinary = replaceStrings - [ "AVX2" "SSE41" "SSE2" "NEON" "NONE" "NATIVE" ] - [ "avx2" "sse4.1" "sse2" "neon" "none" "native" ] - ( head isas ); + mainBinary = + replaceStrings + [ "AVX2" "SSE41" "SSE2" "NEON" "NONE" "NATIVE" ] + [ "avx2" "sse4.1" "sse2" "neon" "none" "native" ] + (head isas); in stdenv.mkDerivation rec { diff --git a/pkgs/by-name/as/asterisk-module-sccp/package.nix b/pkgs/by-name/as/asterisk-module-sccp/package.nix index 5d60d42781378..a81ef23cca00f 100644 --- a/pkgs/by-name/as/asterisk-module-sccp/package.nix +++ b/pkgs/by-name/as/asterisk-module-sccp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, binutils-unwrapped, patchelf, asterisk }: +{ + lib, + stdenv, + fetchFromGitHub, + binutils-unwrapped, + patchelf, + asterisk, +}: stdenv.mkDerivation rec { pname = "asterisk-module-sccp"; version = "4.3.5"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-asterisk=${asterisk}" ]; - installFlags = [ "DESTDIR=/build/dest" "DATAROOTDIR=/build/dest" ]; + installFlags = [ + "DESTDIR=/build/dest" + "DATAROOTDIR=/build/dest" + ]; postInstall = '' mkdir -p "$out" diff --git a/pkgs/by-name/as/astral/package.nix b/pkgs/by-name/as/astral/package.nix index 34077949b97d1..6ee623117c63f 100644 --- a/pkgs/by-name/as/astral/package.nix +++ b/pkgs/by-name/as/astral/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, jdk8 -, jre8 -, strip-nondeterminism -, makeWrapper -, zip +{ + lib, + stdenvNoCC, + fetchFromGitHub, + jdk8, + jre8, + strip-nondeterminism, + makeWrapper, + zip, }: let @@ -74,6 +75,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { binaryBytecode # source bundles dependencies as jars ]; license = licenses.asl20; - maintainers = with maintainers; [ bzizou tomasajt ]; + maintainers = with maintainers; [ + bzizou + tomasajt + ]; }; }) diff --git a/pkgs/by-name/as/astrolabe-generator/package.nix b/pkgs/by-name/as/astrolabe-generator/package.nix index 603fb8087266f..90cb20eb005ee 100644 --- a/pkgs/by-name/as/astrolabe-generator/package.nix +++ b/pkgs/by-name/as/astrolabe-generator/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper, unzip }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, + unzip, +}: stdenv.mkDerivation rec { pname = "astrolabe-generator"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ jre ]; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; sourceRoot = "."; installPhase = '' @@ -21,7 +31,7 @@ stdenv.mkDerivation rec { --add-flags "-jar $out/share/java/AstrolabeGenerator-${version}.jar" ''; - meta = with lib;{ + meta = with lib; { homepage = "https://www.astrolabeproject.com"; description = "Java-based tool for generating EPS files for constructing astrolabes and related tools"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; diff --git a/pkgs/by-name/as/astrolog/package.nix b/pkgs/by-name/as/astrolog/package.nix index a2e2e0f02cf6d..75bb669a0d9a6 100644 --- a/pkgs/by-name/as/astrolog/package.nix +++ b/pkgs/by-name/as/astrolog/package.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchzip, fetchurl, xorg -, withBigAtlas ? true -, withEphemeris ? true -, withMoonsEphemeris ? true +{ + lib, + stdenv, + fetchzip, + fetchurl, + xorg, + withBigAtlas ? true, + withEphemeris ? true, + withMoonsEphemeris ? true, }: stdenv.mkDerivation { pname = "astrolog"; @@ -22,37 +27,38 @@ stdenv.mkDerivation { env.NIX_CFLAGS_COMPILE = "-Wno-format-security"; installPhase = - let - ephemeris = fetchzip { - url = "http://astrolog.org/ftp/ephem/astephem.zip"; - sha256 = "1mwvpvfk3lxjcc79zvwl4ypqzgqzipnc01cjldxrmx56xkc35zn7"; - stripRoot = false; - }; - moonsEphemeris = fetchzip { - url = "https://www.astrolog.org/ftp/ephem/moons/sepm.zip"; - sha256 = "0labcidm8mrwvww93nwpp5738m9ff9q48cqzbgd18xny1jf6f8xd"; - stripRoot = false; - }; - atlas = fetchurl { - url = "http://astrolog.org/ftp/atlas/atlasbig.as"; - sha256 = "001bmqyldsbk4bdliqfl4a9ydrh1ff13wccvfniwaxlmvkridx2q"; - }; - in '' - mkdir -p $out/bin $out/astrolog - cp *.as $out/astrolog - install astrolog $out/bin - ${lib.optionalString withBigAtlas "cp ${atlas} $out/astrolog/atlas.as"} - ${lib.optionalString withEphemeris '' - sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as - mkdir -p $out/ephemeris - cp -r ${ephemeris}/*.se1 $out/ephemeris - ''} - ${lib.optionalString withMoonsEphemeris '' - sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as - mkdir -p $out/ephemeris - cp -r ${moonsEphemeris}/*.se1 $out/ephemeris - ''} - ''; + let + ephemeris = fetchzip { + url = "http://astrolog.org/ftp/ephem/astephem.zip"; + sha256 = "1mwvpvfk3lxjcc79zvwl4ypqzgqzipnc01cjldxrmx56xkc35zn7"; + stripRoot = false; + }; + moonsEphemeris = fetchzip { + url = "https://www.astrolog.org/ftp/ephem/moons/sepm.zip"; + sha256 = "0labcidm8mrwvww93nwpp5738m9ff9q48cqzbgd18xny1jf6f8xd"; + stripRoot = false; + }; + atlas = fetchurl { + url = "http://astrolog.org/ftp/atlas/atlasbig.as"; + sha256 = "001bmqyldsbk4bdliqfl4a9ydrh1ff13wccvfniwaxlmvkridx2q"; + }; + in + '' + mkdir -p $out/bin $out/astrolog + cp *.as $out/astrolog + install astrolog $out/bin + ${lib.optionalString withBigAtlas "cp ${atlas} $out/astrolog/atlas.as"} + ${lib.optionalString withEphemeris '' + sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as + mkdir -p $out/ephemeris + cp -r ${ephemeris}/*.se1 $out/ephemeris + ''} + ${lib.optionalString withMoonsEphemeris '' + sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as + mkdir -p $out/ephemeris + cp -r ${moonsEphemeris}/*.se1 $out/ephemeris + ''} + ''; meta = with lib; { maintainers = [ maintainers.kmein ]; diff --git a/pkgs/by-name/as/astromenace/package.nix b/pkgs/by-name/as/astromenace/package.nix index 54fbf7a1c8b0c..fcfb91b8eae5b 100644 --- a/pkgs/by-name/as/astromenace/package.nix +++ b/pkgs/by-name/as/astromenace/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, ninja -, makeWrapper -, xorg -, libGLU -, libGL -, SDL2 -, openal -, fontconfig -, freealut -, freetype -, libogg -, libvorbis -, runtimeShell +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + ninja, + makeWrapper, + xorg, + libGLU, + libGL, + SDL2, + openal, + fontconfig, + freealut, + freetype, + libogg, + libvorbis, + runtimeShell, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/as/astronomer/package.nix b/pkgs/by-name/as/astronomer/package.nix index 77b30afa05290..7df5c42af4e4d 100644 --- a/pkgs/by-name/as/astronomer/package.nix +++ b/pkgs/by-name/as/astronomer/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-EOtpZPIrAVMPIZGnkZoNs7ovaR7Ts3dJsFLXClIoNVI="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Tool to detect illegitimate stars from bot accounts on GitHub projects"; diff --git a/pkgs/by-name/as/asunder/package.nix b/pkgs/by-name/as/asunder/package.nix index 2c734acafdcdb..eedbdef3393f3 100644 --- a/pkgs/by-name/as/asunder/package.nix +++ b/pkgs/by-name/as/asunder/package.nix @@ -1,11 +1,26 @@ -{ lib, stdenv, fetchurl, makeWrapper, gtk2, libcddb, intltool, pkg-config, cdparanoia -, mp3Support ? false, lame -, oggSupport ? true, vorbis-tools -, flacSupport ? true, flac -, opusSupport ? false, opusTools -, wavpackSupport ? false, wavpack -#, musepackSupport ? false, TODO: mpcenc -, monkeysAudioSupport ? false, monkeysAudio +{ + lib, + stdenv, + fetchurl, + makeWrapper, + gtk2, + libcddb, + intltool, + pkg-config, + cdparanoia, + mp3Support ? false, + lame, + oggSupport ? true, + vorbis-tools, + flacSupport ? true, + flac, + opusSupport ? false, + opusTools, + wavpackSupport ? false, + wavpack, + #, musepackSupport ? false, TODO: mpcenc + monkeysAudioSupport ? false, + monkeysAudio, #, aacSupport ? false, TODO: neroAacEnc }: @@ -17,17 +32,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-iGji4bl7ZofIAOf2EiYqMWu4V+3TmIN2jOYottJTN2s="; }; - nativeBuildInputs = [ intltool makeWrapper pkg-config ]; - buildInputs = [ gtk2 libcddb ]; + nativeBuildInputs = [ + intltool + makeWrapper + pkg-config + ]; + buildInputs = [ + gtk2 + libcddb + ]; runtimeDeps = - lib.optional mp3Support lame ++ - lib.optional oggSupport vorbis-tools ++ - lib.optional flacSupport flac ++ - lib.optional opusSupport opusTools ++ - lib.optional wavpackSupport wavpack ++ - lib.optional monkeysAudioSupport monkeysAudio ++ - [ cdparanoia ]; + lib.optional mp3Support lame + ++ lib.optional oggSupport vorbis-tools + ++ lib.optional flacSupport flac + ++ lib.optional opusSupport opusTools + ++ lib.optional wavpackSupport wavpack + ++ lib.optional monkeysAudioSupport monkeysAudio + ++ [ cdparanoia ]; postInstall = '' wrapProgram "$out/bin/asunder" \ diff --git a/pkgs/by-name/as/asusctl/package.nix b/pkgs/by-name/as/asusctl/package.nix index ab160092f1564..0ea6dad0640e6 100644 --- a/pkgs/by-name/as/asusctl/package.nix +++ b/pkgs/by-name/as/asusctl/package.nix @@ -1,17 +1,18 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, systemd -, coreutils -, gnugrep -, pkg-config -, fontconfig -, libGL -, libinput -, libxkbcommon -, mesa -, seatd -, wayland +{ + lib, + rustPlatform, + fetchFromGitLab, + systemd, + coreutils, + gnugrep, + pkg-config, + fontconfig, + libGL, + libinput, + libxkbcommon, + mesa, + seatd, + wayland, }: rustPlatform.buildRustPackage rec { @@ -93,6 +94,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://gitlab.com/asus-linux/asusctl"; license = licenses.mpl20; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ k900 aacebedo ]; + maintainers = with maintainers; [ + k900 + aacebedo + ]; }; } diff --git a/pkgs/by-name/as/async/package.nix b/pkgs/by-name/as/async/package.nix index dd2ea5205335c..8cd52c38cb5b7 100644 --- a/pkgs/by-name/as/async/package.nix +++ b/pkgs/by-name/as/async/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "async"; @@ -21,7 +25,7 @@ rustPlatform.buildRustPackage rec { able to quickly parallelize shell scripts with minimal changes. It was inspired by GNU Parallel, with the main difference being that async retains state between commands by running a server in the background. - ''; + ''; homepage = "https://github.com/ctbur/async"; license = licenses.gpl3Plus; maintainers = with maintainers; [ minijackson ]; diff --git a/pkgs/by-name/at/at-spi2-core/package.nix b/pkgs/by-name/at/at-spi2-core/package.nix index 709ea738e46b3..97486d5bd03f4 100644 --- a/pkgs/by-name/at/at-spi2-core/package.nix +++ b/pkgs/by-name/at/at-spi2-core/package.nix @@ -1,32 +1,38 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, gsettings-desktop-schemas -, makeWrapper -, dbus -, glib -, dconf -, libX11 -, libxml2 -, libXtst -, libXi -, libXext -, gnome -, systemd -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + gsettings-desktop-schemas, + makeWrapper, + dbus, + glib, + dconf, + libX11, + libxml2, + libXtst, + libXi, + libXext, + gnome, + systemd, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, }: stdenv.mkDerivation rec { pname = "at-spi2-core"; version = "2.54.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; separateDebugInfo = true; src = fetchurl { @@ -34,28 +40,32 @@ stdenv.mkDerivation rec { hash = "sha256-1+7n51vt3MJyztwrYFNWAPOq5uSBWJ68Znr8Q3wKYHk="; }; - nativeBuildInputs = [ - glib - meson - ninja - pkg-config - makeWrapper - ] ++ lib.optionals withIntrospection [ - gobject-introspection - ]; + nativeBuildInputs = + [ + glib + meson + ninja + pkg-config + makeWrapper + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + ]; - buildInputs = [ - libX11 - libxml2 - # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case - libXtst - libXi - # libXext is a transitive dependency of libXi - libXext - ] ++ lib.optionals systemdSupport [ - # libsystemd is a needed for dbus-broker support - systemd - ]; + buildInputs = + [ + libX11 + libxml2 + # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case + libXtst + libXi + # libXext is a transitive dependency of libXi + libXext + ] + ++ lib.optionals systemdSupport [ + # libsystemd is a needed for dbus-broker support + systemd + ]; # In atspi-2.pc dbus-1 glib-2.0 # In atk.pc gobject-2.0 @@ -67,18 +77,21 @@ stdenv.mkDerivation rec { # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?" doCheck = false; - mesonFlags = [ - # Provide dbus-daemon fallback when it is not already running when - # at-spi2-bus-launcher is executed. This allows us to avoid - # including the entire dbus closure in libraries linked with - # the at-spi2-core libraries. - "-Ddbus_daemon=/run/current-system/sw/bin/dbus-daemon" - ] ++ lib.optionals systemdSupport [ - # Same as the above, but for dbus-broker - "-Ddbus_broker=/run/current-system/sw/bin/dbus-broker-launch" - ] ++ lib.optionals (!systemdSupport) [ - "-Duse_systemd=false" - ]; + mesonFlags = + [ + # Provide dbus-daemon fallback when it is not already running when + # at-spi2-bus-launcher is executed. This allows us to avoid + # including the entire dbus closure in libraries linked with + # the at-spi2-core libraries. + "-Ddbus_daemon=/run/current-system/sw/bin/dbus-daemon" + ] + ++ lib.optionals systemdSupport [ + # Same as the above, but for dbus-broker + "-Ddbus_broker=/run/current-system/sw/bin/dbus-broker-launch" + ] + ++ lib.optionals (!systemdSupport) [ + "-Duse_systemd=false" + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/at/at/package.nix b/pkgs/by-name/at/at/package.nix index 5990bf4c08fa3..4b5d03362e4a1 100644 --- a/pkgs/by-name/at/at/package.nix +++ b/pkgs/by-name/at/at/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, bison, flex, pam, perl -, sendmailPath ? "/run/wrappers/bin/sendmail" -, atWrapperPath ? "/run/wrappers/bin/at" +{ + lib, + stdenv, + fetchurl, + fetchpatch, + bison, + flex, + pam, + perl, + sendmailPath ? "/run/wrappers/bin/sendmail", + atWrapperPath ? "/run/wrappers/bin/at", }: stdenv.mkDerivation rec { @@ -37,17 +45,20 @@ stdenv.mkDerivation rec { --replace '6755' '0755' ''; - nativeBuildInputs = [ bison flex perl /* for `prove` (tests) */ ]; + nativeBuildInputs = [ + bison + flex + perl # for `prove` (tests) + ]; buildInputs = [ pam ]; - preConfigure = - '' - export SENDMAIL=${sendmailPath} - # Purity: force atd.pid to be placed in /var/run regardless of - # whether it exists now. - substituteInPlace ./configure --replace "test -d /var/run" "true" - ''; + preConfigure = '' + export SENDMAIL=${sendmailPath} + # Purity: force atd.pid to be placed in /var/run regardless of + # whether it exists now. + substituteInPlace ./configure --replace "test -d /var/run" "true" + ''; configureFlags = [ "--with-etcdir=/etc/at" diff --git a/pkgs/by-name/at/atanks/package.nix b/pkgs/by-name/at/atanks/package.nix index 2d38e909168ee..3b86071d5bf96 100644 --- a/pkgs/by-name/at/atanks/package.nix +++ b/pkgs/by-name/at/atanks/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, allegro }: +{ + lib, + stdenv, + fetchurl, + allegro, +}: stdenv.mkDerivation rec { pname = "atanks"; @@ -11,7 +16,11 @@ stdenv.mkDerivation rec { buildInputs = [ allegro ]; - makeFlags = [ "PREFIX=$(out)/" "INSTALL=install" "CXX=g++" ]; + makeFlags = [ + "PREFIX=$(out)/" + "INSTALL=install" + "CXX=g++" + ]; meta = with lib; { description = "Atomic Tanks ballistics game"; diff --git a/pkgs/by-name/at/atari800/package.nix b/pkgs/by-name/at/atari800/package.nix index 186dc0f74ca58..b646426731a95 100644 --- a/pkgs/by-name/at/atari800/package.nix +++ b/pkgs/by-name/at/atari800/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, SDL -, autoreconfHook -, fetchFromGitHub -, libGL -, libGLU -, libX11 -, readline -, zlib +{ + lib, + stdenv, + SDL, + autoreconfHook, + fetchFromGitHub, + libGL, + libGLU, + libX11, + readline, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "atari800"; repo = "atari800"; - rev = "ATARI800_${lib.replaceStrings ["."] ["_"] finalAttrs.version}"; + rev = "ATARI800_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; hash = "sha256-D66YRRTqdoV9TqDFonJ9XNpfP52AicuYgdiW27RCIuQ="; }; diff --git a/pkgs/by-name/at/ataripp/package.nix b/pkgs/by-name/at/ataripp/package.nix index ff6c26687e7fe..f62dbf3e4b45b 100644 --- a/pkgs/by-name/at/ataripp/package.nix +++ b/pkgs/by-name/at/ataripp/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, SDL -, alsa-lib -, fetchurl -, gcc-unwrapped -, libICE -, libSM -, libX11 -, libXext +{ + lib, + stdenv, + SDL, + alsa-lib, + fetchurl, + gcc-unwrapped, + libICE, + libSM, + libX11, + libXext, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/at/atasm/package.nix b/pkgs/by-name/at/atasm/package.nix index 4e73fa6d4ecde..2c37e7f735b72 100644 --- a/pkgs/by-name/at/atasm/package.nix +++ b/pkgs/by-name/at/atasm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/at/atftp/package.nix b/pkgs/by-name/at/atftp/package.nix index a8db0e93d5d3b..5bcdff69e44d1 100644 --- a/pkgs/by-name/at/atftp/package.nix +++ b/pkgs/by-name/at/atftp/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, autoreconfHook -, fetchurl -, gcc -, makeWrapper -, pcre2 -, perl -, ps -, readline -, tcp_wrappers +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + gcc, + makeWrapper, + pcre2, + perl, + ps, + readline, + tcp_wrappers, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/at/atheme/package.nix b/pkgs/by-name/at/atheme/package.nix index 1b2f1a25ccfcd..7fc5cec53ddd2 100644 --- a/pkgs/by-name/at/atheme/package.nix +++ b/pkgs/by-name/at/atheme/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchgit, libmowgli, pkg-config, git, gettext, pcre, libidn, libxcrypt, cracklib, openssl }: +{ + lib, + stdenv, + fetchgit, + libmowgli, + pkg-config, + git, + gettext, + pcre, + libidn, + libxcrypt, + cracklib, + openssl, +}: stdenv.mkDerivation rec { pname = "atheme"; @@ -11,8 +24,19 @@ stdenv.mkDerivation rec { leaveDotGit = true; }; - nativeBuildInputs = [ pkg-config git gettext ]; - buildInputs = [ libmowgli pcre libidn libxcrypt cracklib openssl ]; + nativeBuildInputs = [ + pkg-config + git + gettext + ]; + buildInputs = [ + libmowgli + pcre + libidn + libxcrypt + cracklib + openssl + ]; configureFlags = [ "--with-pcre" diff --git a/pkgs/by-name/at/atinout/package.nix b/pkgs/by-name/at/atinout/package.nix index 1155b2b876bb0..0ec2cfd5f423c 100644 --- a/pkgs/by-name/at/atinout/package.nix +++ b/pkgs/by-name/at/atinout/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, ronn, mount }: +{ + lib, + stdenv, + fetchgit, + ronn, + mount, +}: stdenv.mkDerivation rec { pname = "atinout"; @@ -6,7 +12,10 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.cc.isClang) "-Werror=implicit-fallthrough=0"; LANG = if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8"; - nativeBuildInputs = [ ronn mount ]; + nativeBuildInputs = [ + ronn + mount + ]; src = fetchgit { url = "git://git.code.sf.net/p/atinout/code"; diff --git a/pkgs/by-name/at/atkinson-hyperlegible/package.nix b/pkgs/by-name/at/atkinson-hyperlegible/package.nix index e8b09cfb637cd..92b769251783e 100644 --- a/pkgs/by-name/at/atkinson-hyperlegible/package.nix +++ b/pkgs/by-name/at/atkinson-hyperlegible/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "atkinson-hyperlegible"; diff --git a/pkgs/by-name/at/atlantis/package.nix b/pkgs/by-name/at/atlantis/package.nix index e68e9da7e3d1f..8ad81295734b4 100644 --- a/pkgs/by-name/at/atlantis/package.nix +++ b/pkgs/by-name/at/atlantis/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "atlantis"; diff --git a/pkgs/by-name/at/atlassian-cli/package.nix b/pkgs/by-name/at/atlassian-cli/package.nix index d6c4db65c1504..3e1d1ddcc3e37 100644 --- a/pkgs/by-name/at/atlassian-cli/package.nix +++ b/pkgs/by-name/at/atlassian-cli/package.nix @@ -1,12 +1,17 @@ -{ lib, stdenv, fetchzip, jre }: +{ + lib, + stdenv, + fetchzip, + jre, +}: stdenv.mkDerivation rec { pname = "atlassian-cli"; version = "9.6.0"; src = fetchzip { - url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip"; - sha256 = "sha256-55ydhprVC9NdDMUrKbpSAEQBb9zRYgwOc7k8aP4R89A="; + url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip"; + sha256 = "sha256-55ydhprVC9NdDMUrKbpSAEQBb9zRYgwOc7k8aP4R89A="; }; tools = [ diff --git a/pkgs/by-name/at/atmos/package.nix b/pkgs/by-name/at/atmos/package.nix index 54d7c4fd6824e..f4f5ac70cf52a 100644 --- a/pkgs/by-name/at/atmos/package.nix +++ b/pkgs/by-name/at/atmos/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "atmos"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-4pUx8qzptzuGeIrT7m67iidMSUNbDSGV8p+KkHqX3lo="; - ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/cloudposse/atmos/cmd.Version=v${version}" + ]; preCheck = '' # Remove tests that depend on a network connection. diff --git a/pkgs/by-name/at/atomic-operator/package.nix b/pkgs/by-name/at/atomic-operator/package.nix index b93b2f809ccdc..89d7e68404514 100644 --- a/pkgs/by-name/at/atomic-operator/package.nix +++ b/pkgs/by-name/at/atomic-operator/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/at/atomic-swap/package.nix b/pkgs/by-name/at/atomic-swap/package.nix index f652f74be27fd..5267433fcf697 100644 --- a/pkgs/by-name/at/atomic-swap/package.nix +++ b/pkgs/by-name/at/atomic-swap/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script, makeWrapper, monero-cli }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + makeWrapper, + monero-cli, +}: let pname = "atomic-swap"; @@ -38,6 +45,9 @@ buildGoModule { changelog = "https://github.com/AthanorLabs/atomic-swap/releases/tag/v${version}"; description = "ETH-XMR atomic swap implementation"; license = with licenses; [ lgpl3Only ]; - maintainers = with maintainers; [ happysalada lord-valen ]; + maintainers = with maintainers; [ + happysalada + lord-valen + ]; }; } diff --git a/pkgs/by-name/at/atool/package.nix b/pkgs/by-name/at/atool/package.nix index daeaec9de3b2c..4b5110d980943 100644 --- a/pkgs/by-name/at/atool/package.nix +++ b/pkgs/by-name/at/atool/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, perl, bash}: +{ + lib, + stdenv, + fetchurl, + perl, + bash, +}: stdenv.mkDerivation rec { pname = "atool"; diff --git a/pkgs/by-name/at/atop/package.nix b/pkgs/by-name/at/atop/package.nix index 575ed69bfc79a..390593e7f1d4f 100644 --- a/pkgs/by-name/at/atop/package.nix +++ b/pkgs/by-name/at/atop/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, glib -, zlib -, ncurses -, pkg-config -, findutils -, systemd -, python3 -, nixosTests -# makes the package unfree via pynvml -, withAtopgpu ? false +{ + lib, + stdenv, + fetchurl, + glib, + zlib, + ncurses, + pkg-config, + findutils, + systemd, + python3, + nixosTests, + # makes the package unfree via pynvml + withAtopgpu ? false, }: stdenv.mkDerivation rec { @@ -22,19 +23,23 @@ stdenv.mkDerivation rec { hash = "sha256-m5TGZmAu//e/QC7M5wbDR/OMOctjSY+dOWJoYeVkbiA="; }; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals withAtopgpu [ - python3.pkgs.wrapPython - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals withAtopgpu [ + python3.pkgs.wrapPython + ]; - buildInputs = [ - glib - zlib - ncurses - ] ++ lib.optionals withAtopgpu [ - python3 - ]; + buildInputs = + [ + glib + zlib + ncurses + ] + ++ lib.optionals withAtopgpu [ + python3 + ]; pythonPath = lib.optionals withAtopgpu [ python3.pkgs.pynvml @@ -72,14 +77,21 @@ stdenv.mkDerivation rec { mkdir -p $out/bin ''; - postInstall = '' - # Remove extra files we don't need - rm -r $out/{var,etc} $out/bin/atop{sar,}-${version} - '' + (if withAtopgpu then '' - wrapPythonPrograms - '' else '' - rm $out/lib/systemd/system/atopgpu.service $out/bin/atopgpud $out/share/man/man8/atopgpud.8 - ''); + postInstall = + '' + # Remove extra files we don't need + rm -r $out/{var,etc} $out/bin/atop{sar,}-${version} + '' + + ( + if withAtopgpu then + '' + wrapPythonPrograms + '' + else + '' + rm $out/lib/systemd/system/atopgpu.service $out/bin/atopgpud $out/share/man/man8/atopgpud.8 + '' + ); passthru.tests = { inherit (nixosTests) atop; }; diff --git a/pkgs/by-name/at/ats-acc/package.nix b/pkgs/by-name/at/ats-acc/package.nix index b8eef344f20dd..80cfd7aef6e28 100644 --- a/pkgs/by-name/at/ats-acc/package.nix +++ b/pkgs/by-name/at/ats-acc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ats2 }: +{ + lib, + stdenv, + fetchFromGitHub, + ats2, +}: stdenv.mkDerivation rec { pname = "ats-acc"; diff --git a/pkgs/by-name/at/ats/package.nix b/pkgs/by-name/at/ats/package.nix index 35e1b1dd1058c..227702fb316b4 100644 --- a/pkgs/by-name/at/ats/package.nix +++ b/pkgs/by-name/at/ats/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gmp }: +{ + lib, + stdenv, + fetchurl, + gmp, +}: stdenv.mkDerivation rec { pname = "ats"; @@ -15,11 +20,11 @@ stdenv.mkDerivation rec { meta = { description = "Functional programming language with dependent types"; - homepage = "http://www.ats-lang.org"; - license = lib.licenses.gpl3Plus; + homepage = "http://www.ats-lang.org"; + license = lib.licenses.gpl3Plus; # TODO: it looks like ATS requires gcc specifically. Someone with more knowledge # will need to experiment. - platforms = lib.platforms.linux; + platforms = lib.platforms.linux; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/at/attic-client/package.nix b/pkgs/by-name/at/attic-client/package.nix index 57afddb3db06d..6a14ec17c6f58 100644 --- a/pkgs/by-name/at/attic-client/package.nix +++ b/pkgs/by-name/at/attic-client/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix -, nixosTests -, boost -, pkg-config -, stdenv -, installShellFiles -, darwin -, crates ? [ "attic-client" ] +{ + lib, + rustPlatform, + fetchFromGitHub, + nix, + nixosTests, + boost, + pkg-config, + stdenv, + installShellFiles, + darwin, + crates ? [ "attic-client" ], }: rustPlatform.buildRustPackage { pname = "attic"; @@ -26,12 +27,17 @@ rustPlatform.buildRustPackage { installShellFiles ]; - buildInputs = [ - nix - boost - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - SystemConfiguration - ]); + buildInputs = + [ + nix + boost + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + SystemConfiguration + ] + ); cargoLock = { lockFile = ./Cargo.lock; @@ -66,7 +72,10 @@ rustPlatform.buildRustPackage { description = "Multi-tenant Nix Binary Cache"; homepage = "https://github.com/zhaofengli/attic"; license = licenses.asl20; - maintainers = with maintainers; [ zhaofengli aciceri ]; + maintainers = with maintainers; [ + zhaofengli + aciceri + ]; platforms = platforms.linux ++ platforms.darwin; mainProgram = "attic"; }; diff --git a/pkgs/by-name/at/atuin/package.nix b/pkgs/by-name/at/atuin/package.nix index f863e578a076f..edf1659aa0525 100644 --- a/pkgs/by-name/at/atuin/package.nix +++ b/pkgs/by-name/at/atuin/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, rustPlatform -, buildPackages -, apple-sdk_11 -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + rustPlatform, + buildPackages, + apple-sdk_11, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -21,15 +22,20 @@ rustPlatform.buildRustPackage rec { # TODO: unify this to one hash because updater do not support this cargoHash = - if stdenv.hostPlatform.isLinux - then "sha256-K4Vw/d0ZOROWujWr76I3QvfKefLhXLeFufUrgStAyjQ=" - else "sha256-8NAfE7cGFT64ntNXK9RT0D/MbDJweN7vvsG/KlrY4K4="; + if stdenv.hostPlatform.isLinux then + "sha256-K4Vw/d0ZOROWujWr76I3QvfKefLhXLeFufUrgStAyjQ=" + else + "sha256-8NAfE7cGFT64ntNXK9RT0D/MbDJweN7vvsG/KlrY4K4="; # atuin's default features include 'check-updates', which do not make sense # for distribution builds. List all other default features. buildNoDefaultFeatures = true; buildFeatures = [ - "client" "sync" "server" "clipboard" "daemon" + "client" + "sync" + "server" + "clipboard" + "daemon" ]; nativeBuildInputs = [ installShellFiles ]; @@ -71,7 +77,11 @@ rustPlatform.buildRustPackage rec { description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines"; homepage = "https://github.com/atuinsh/atuin"; license = licenses.mit; - maintainers = with maintainers; [ SuperSandro2000 sciencentistguy _0x4A6F ]; + maintainers = with maintainers; [ + SuperSandro2000 + sciencentistguy + _0x4A6F + ]; mainProgram = "atuin"; }; } diff --git a/pkgs/by-name/au/aubio/package.nix b/pkgs/by-name/au/aubio/package.nix index 6aba488f2457c..8fa25d1292471 100644 --- a/pkgs/by-name/au/aubio/package.nix +++ b/pkgs/by-name/au/aubio/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, alsa-lib, fftw, libjack2, libsamplerate -, libsndfile, pkg-config, python311, wafHook +{ + lib, + stdenv, + fetchurl, + alsa-lib, + fftw, + libjack2, + libsamplerate, + libsndfile, + pkg-config, + python311, + wafHook, }: stdenv.mkDerivation rec { @@ -11,8 +21,18 @@ stdenv.mkDerivation rec { sha256 = "1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"; }; - nativeBuildInputs = [ pkg-config python311 wafHook ]; - buildInputs = [ alsa-lib fftw libjack2 libsamplerate libsndfile ]; + nativeBuildInputs = [ + pkg-config + python311 + wafHook + ]; + buildInputs = [ + alsa-lib + fftw + libjack2 + libsamplerate + libsndfile + ]; strictDeps = true; wafFlags = lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--disable-tests"; @@ -28,7 +48,10 @@ stdenv.mkDerivation rec { description = "Library for audio labelling"; homepage = "https://aubio.org/"; license = licenses.gpl2; - maintainers = with maintainers; [ marcweber fpletz ]; + maintainers = with maintainers; [ + marcweber + fpletz + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/au/aucatctl/package.nix b/pkgs/by-name/au/aucatctl/package.nix index 051a1494fd9f5..2e0671876015c 100644 --- a/pkgs/by-name/au/aucatctl/package.nix +++ b/pkgs/by-name/au/aucatctl/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, sndio, libbsd }: +{ + lib, + stdenv, + fetchurl, + sndio, + libbsd, +}: stdenv.mkDerivation (finalAttrs: { pname = "aucatctl"; @@ -9,16 +15,20 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "524f2fae47db785234f166551520d9605b9a27551ca438bd807e3509ce246cf0"; }; - buildInputs = [ sndio ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isBSD) - libbsd; + buildInputs = [ + sndio + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isBSD) libbsd; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - preBuild = '' - makeFlagsArray+=("PREFIX=$out") - '' + lib.optionalString - (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isBSD) '' + preBuild = + '' + makeFlagsArray+=("PREFIX=$out") + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isBSD) '' makeFlagsArray+=(LDADD="-lsndio -lbsd") # Fix warning about implicit declaration of function 'strlcpy' diff --git a/pkgs/by-name/au/auctex/package.nix b/pkgs/by-name/au/auctex/package.nix index dc027b5c470e5..837130e3e697f 100644 --- a/pkgs/by-name/au/auctex/package.nix +++ b/pkgs/by-name/au/auctex/package.nix @@ -1,41 +1,56 @@ -{ lib, stdenv, fetchurl, emacs, texliveBasic, ghostscript }: - -let auctex = stdenv.mkDerivation ( rec { - # Make this a valid tex(live-new) package; - # the pkgs attribute is provided with a hack below. - pname = "auctex"; - version = "13.2"; - tlType = "run"; - - outputs = [ "out" "tex" ]; - - src = fetchurl { - url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; - hash = "sha256-Hn5AKrz4RmlOuncZklvwlcI+8zpeZgIgHHS2ymCUQDU="; - }; - - buildInputs = [ - emacs - ghostscript - (texliveBasic.withPackages (ps: [ ps.etoolbox ps.hypdoc ])) - ]; - - preConfigure = '' - mkdir -p "$tex" - export HOME=$(mktemp -d) - ''; - - configureFlags = [ - "--with-lispdir=\${out}/share/emacs/site-lisp" - "--with-texmf-dir=\${tex}" - ]; - - meta = with lib; { - homepage = "https://www.gnu.org/software/auctex"; - description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs"; - license = licenses.gpl3Plus; - platforms = platforms.unix; - }; -}); - -in auctex // { pkgs = [ auctex.tex ]; } +{ + lib, + stdenv, + fetchurl, + emacs, + texliveBasic, + ghostscript, +}: + +let + auctex = stdenv.mkDerivation (rec { + # Make this a valid tex(live-new) package; + # the pkgs attribute is provided with a hack below. + pname = "auctex"; + version = "13.2"; + tlType = "run"; + + outputs = [ + "out" + "tex" + ]; + + src = fetchurl { + url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-Hn5AKrz4RmlOuncZklvwlcI+8zpeZgIgHHS2ymCUQDU="; + }; + + buildInputs = [ + emacs + ghostscript + (texliveBasic.withPackages (ps: [ + ps.etoolbox + ps.hypdoc + ])) + ]; + + preConfigure = '' + mkdir -p "$tex" + export HOME=$(mktemp -d) + ''; + + configureFlags = [ + "--with-lispdir=\${out}/share/emacs/site-lisp" + "--with-texmf-dir=\${tex}" + ]; + + meta = with lib; { + homepage = "https://www.gnu.org/software/auctex"; + description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + }; + }); + +in +auctex // { pkgs = [ auctex.tex ]; } diff --git a/pkgs/by-name/au/audiality2/package.nix b/pkgs/by-name/au/audiality2/package.nix index 9dfc216a22695..61e83d4fac5d1 100644 --- a/pkgs/by-name/au/audiality2/package.nix +++ b/pkgs/by-name/au/audiality2/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -# The two audio backends: -, SDL2 -, jack2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + # The two audio backends: + SDL2, + jack2, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/au/audible-cli/package.nix b/pkgs/by-name/au/audible-cli/package.nix index 682be8b6c2704..926a9ac27d453 100644 --- a/pkgs/by-name/au/audible-cli/package.nix +++ b/pkgs/by-name/au/audible-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, python3Packages, fetchFromGitHub, installShellFiles, nix-update-script }: +{ + lib, + python3Packages, + fetchFromGitHub, + installShellFiles, + nix-update-script, +}: python3Packages.buildPythonApplication rec { pname = "audible-cli"; @@ -12,11 +18,14 @@ python3Packages.buildPythonApplication rec { hash = "sha256-AYL7lcYYY7gK12Id94aHRWRlCiznnF4r+lpI5VFpAWY="; }; - nativeBuildInputs = with python3Packages; [ - setuptools - ] ++ [ - installShellFiles - ]; + nativeBuildInputs = + with python3Packages; + [ + setuptools + ] + ++ [ + installShellFiles + ]; propagatedBuildInputs = with python3Packages; [ aiofiles @@ -52,7 +61,10 @@ python3Packages.buildPythonApplication rec { ]; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "[0-9.]+" ]; + extraArgs = [ + "--version-regex" + "[0-9.]+" + ]; }; meta = with lib; { diff --git a/pkgs/by-name/au/audiness/package.nix b/pkgs/by-name/au/audiness/package.nix index d7cff9d14e4bd..61380450349a1 100644 --- a/pkgs/by-name/au/audiness/package.nix +++ b/pkgs/by-name/au/audiness/package.nix @@ -23,14 +23,11 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ poetry-core ]; - - dependencies = - with python3.pkgs; - [ - pytenable - typer - validators - ]; + dependencies = with python3.pkgs; [ + pytenable + typer + validators + ]; pythonImportsCheck = [ "audiness" ]; diff --git a/pkgs/by-name/au/audio-recorder/package.nix b/pkgs/by-name/au/audio-recorder/package.nix index ebf9eafcb0d3f..cd500cc52da8d 100644 --- a/pkgs/by-name/au/audio-recorder/package.nix +++ b/pkgs/by-name/au/audio-recorder/package.nix @@ -1,8 +1,19 @@ -{ lib, stdenv, fetchurl -, pkg-config, intltool -, glib, dbus, gtk3, libappindicator-gtk3, gst_all_1 -, librsvg, wrapGAppsHook3 -, pulseaudioSupport ? true, libpulseaudio }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + glib, + dbus, + gtk3, + libappindicator-gtk3, + gst_all_1, + librsvg, + wrapGAppsHook3, + pulseaudioSupport ? true, + libpulseaudio, +}: stdenv.mkDerivation rec { pname = "audio-recorder"; @@ -17,13 +28,29 @@ stdenv.mkDerivation rec { # https://bugs.launchpad.net/audio-recorder/+bug/1784622 env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; - nativeBuildInputs = [ pkg-config intltool wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + intltool + wrapGAppsHook3 + ]; - buildInputs = [ - glib dbus gtk3 librsvg libappindicator-gtk3 - ] ++ (with gst_all_1; [ - gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav - ]) ++ lib.optional pulseaudioSupport libpulseaudio; + buildInputs = + [ + glib + dbus + gtk3 + librsvg + libappindicator-gtk3 + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav + ]) + ++ lib.optional pulseaudioSupport libpulseaudio; meta = with lib; { description = "Audio recorder for GNOME and Unity Desktops"; diff --git a/pkgs/by-name/au/audio-sharing/package.nix b/pkgs/by-name/au/audio-sharing/package.nix index d1a4ec2b01343..e496bca3176f6 100644 --- a/pkgs/by-name/au/audio-sharing/package.nix +++ b/pkgs/by-name/au/audio-sharing/package.nix @@ -1,23 +1,24 @@ -{ appstream-glib -, cargo -, dbus -, desktop-file-utils -, fetchFromGitLab -, git -, glib -, gst_all_1 -, gtk4 -, lib -, libadwaita -, meson -, ninja -, nix-update-script -, pkg-config -, python3 -, rustPlatform -, rustc -, stdenv -, wrapGAppsHook4 +{ + appstream-glib, + cargo, + dbus, + desktop-file-utils, + fetchFromGitLab, + git, + glib, + gst_all_1, + gtk4, + lib, + libadwaita, + meson, + ninja, + nix-update-script, + pkg-config, + python3, + rustPlatform, + rustc, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { pname = "audio-sharing"; @@ -37,20 +38,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-FfjSttXf6WF2w59CP6L/+BIuuXp2yKPTku7FMvdIHg0="; }; - nativeBuildInputs = [ - appstream-glib - cargo - desktop-file-utils - git - meson - ninja - pkg-config - python3 - rustc - wrapGAppsHook4 - ] ++ (with rustPlatform; [ - cargoSetupHook - ]); + nativeBuildInputs = + [ + appstream-glib + cargo + desktop-file-utils + git + meson + ninja + pkg-config + python3 + rustc + wrapGAppsHook4 + ] + ++ (with rustPlatform; [ + cargoSetupHook + ]); buildInputs = [ glib diff --git a/pkgs/by-name/au/audiobookshelf/wrapper.nix b/pkgs/by-name/au/audiobookshelf/wrapper.nix index 4dabeae303b1a..32d2705b6c62d 100644 --- a/pkgs/by-name/au/audiobookshelf/wrapper.nix +++ b/pkgs/by-name/au/audiobookshelf/wrapper.nix @@ -3,65 +3,66 @@ ffmpeg-full, nunicode, getopt, -}: '' - #!${stdenv.shell} +}: +'' + #!${stdenv.shell} - port=8000 - host=0.0.0.0 - config=$(pwd)/config - metadata=$(pwd)/metadata + port=8000 + host=0.0.0.0 + config=$(pwd)/config + metadata=$(pwd)/metadata - LONGOPTS=host:,port:,config:,metadata:,help - args=$(${getopt}/bin/getopt -l "$LONGOPTS" -o h -- "$@") + LONGOPTS=host:,port:,config:,metadata:,help + args=$(${getopt}/bin/getopt -l "$LONGOPTS" -o h -- "$@") - eval set -- "$args" + eval set -- "$args" - while [ $# -ge 1 ]; do - case "$1" in - --) - # No more options left. - shift - break - ;; - --host) - host="$2" - shift - ;; - --port) - port="$2" - shift - ;; - --config) - if [[ "''${2:0:1}" = "/" ]]; then - config="$2" - else - config="$(pwd)/$2" - fi - shift - ;; - --metadata) - if [[ "''${2:0:1}" = "/" ]]; then - metadata="$2" - else - metadata="$(pwd)/$2" - fi - shift - ;; - --help|-h) - echo "Usage: audiobookshelf [--host ] [--port ] [--metadata ] [--config ]" - exit 0 - ;; - esac - shift - done + while [ $# -ge 1 ]; do + case "$1" in + --) + # No more options left. + shift + break + ;; + --host) + host="$2" + shift + ;; + --port) + port="$2" + shift + ;; + --config) + if [[ "''${2:0:1}" = "/" ]]; then + config="$2" + else + config="$(pwd)/$2" + fi + shift + ;; + --metadata) + if [[ "''${2:0:1}" = "/" ]]; then + metadata="$2" + else + metadata="$(pwd)/$2" + fi + shift + ;; + --help|-h) + echo "Usage: audiobookshelf [--host ] [--port ] [--metadata ] [--config ]" + exit 0 + ;; + esac + shift + done - NODE_ENV=production \ - SOURCE=nixpkgs \ - SKIP_BINARIES_CHECK=1 \ - FFMPEG_PATH=${ffmpeg-full}/bin/ffmpeg \ - FFPROBE_PATH=${ffmpeg-full}/bin/ffprobe \ - NUSQLITE3_PATH=${nunicode.sqlite}/lib/libnusqlite3 \ - CONFIG_PATH="$config" \ - METADATA_PATH="$metadata" \ - PORT="$port" \ - HOST="$host" \'' + NODE_ENV=production \ + SOURCE=nixpkgs \ + SKIP_BINARIES_CHECK=1 \ + FFMPEG_PATH=${ffmpeg-full}/bin/ffmpeg \ + FFPROBE_PATH=${ffmpeg-full}/bin/ffprobe \ + NUSQLITE3_PATH=${nunicode.sqlite}/lib/libnusqlite3 \ + CONFIG_PATH="$config" \ + METADATA_PATH="$metadata" \ + PORT="$port" \ + HOST="$host" \'' diff --git a/pkgs/by-name/au/audion/package.nix b/pkgs/by-name/au/audion/package.nix index 39db0f9d452f5..304016a128307 100644 --- a/pkgs/by-name/au/audion/package.nix +++ b/pkgs/by-name/au/audion/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/au/audiowaveform/package.nix b/pkgs/by-name/au/audiowaveform/package.nix index a435ede2e5ccc..2d5d23cb35bba 100644 --- a/pkgs/by-name/au/audiowaveform/package.nix +++ b/pkgs/by-name/au/audiowaveform/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gtest, boost, gd, libsndfile, libmad, libid3tag }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, + boost, + gd, + libsndfile, + libmad, + libid3tag, +}: stdenv.mkDerivation rec { pname = "audiowaveform"; @@ -16,9 +27,18 @@ stdenv.mkDerivation rec { "-DCMAKE_CXX_STANDARD=14" ]; - nativeBuildInputs = [ cmake gtest ]; + nativeBuildInputs = [ + cmake + gtest + ]; - buildInputs = [ boost gd libsndfile libmad libid3tag ]; + buildInputs = [ + boost + gd + libsndfile + libmad + libid3tag + ]; preConfigure = '' ln -s ${gtest.src} googletest diff --git a/pkgs/by-name/au/audit/package.nix b/pkgs/by-name/au/audit/package.nix index 4a1ecf3ce17a2..62115bfc2b4d3 100644 --- a/pkgs/by-name/au/audit/package.nix +++ b/pkgs/by-name/au/audit/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, bash -, buildPackages -, linuxHeaders -, python3 -, swig -, pkgsCross +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + bash, + buildPackages, + linuxHeaders, + python3, + swig, + pkgsCross, -# Enabling python support while cross compiling would be possible, but the -# configure script tries executing python to gather info instead of relying on -# python3-config exclusively -, enablePython ? stdenv.hostPlatform == stdenv.buildPlatform, + # Enabling python support while cross compiling would be possible, but the + # configure script tries executing python to gather info instead of relying on + # python3-config exclusively + enablePython ? stdenv.hostPlatform == stdenv.buildPlatform, }: stdenv.mkDerivation (finalAttrs: { @@ -44,7 +45,12 @@ stdenv.mkDerivation (finalAttrs: { "${linuxHeaders}/include/linux/audit.h" ''; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + ]; strictDeps = true; @@ -52,13 +58,14 @@ stdenv.mkDerivation (finalAttrs: { buildPackages.stdenv.cc ]; - nativeBuildInputs = [ - autoreconfHook - ] - ++ lib.optionals enablePython [ - python3 - swig - ]; + nativeBuildInputs = + [ + autoreconfHook + ] + ++ lib.optionals enablePython [ + python3 + swig + ]; buildInputs = [ bash diff --git a/pkgs/by-name/au/augeas/package.nix b/pkgs/by-name/au/augeas/package.nix index e30de64f5ad17..7c735901a4d9e 100644 --- a/pkgs/by-name/au/augeas/package.nix +++ b/pkgs/by-name/au/augeas/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, bison -, flex -, perl # for pod2man -, pkg-config -, readline -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + perl, # for pod2man + pkg-config, + readline, + libxml2, }: stdenv.mkDerivation rec { @@ -39,7 +40,10 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ readline libxml2 ]; + buildInputs = [ + readline + libxml2 + ]; enableParallelBuilding = true; @@ -52,7 +56,10 @@ stdenv.mkDerivation rec { runHook postCheck ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Configuration editing tool"; diff --git a/pkgs/by-name/au/august/package.nix b/pkgs/by-name/au/august/package.nix index 2e8aec11763c0..f23ff2fb43f2a 100644 --- a/pkgs/by-name/au/august/package.nix +++ b/pkgs/by-name/au/august/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage { @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage { meta = with lib; { description = "Emmet-like language that produces JSON, TOML, or YAML"; homepage = "https://github.com/yoav-lavi/august"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "ag"; }; diff --git a/pkgs/by-name/au/aurulent-sans/package.nix b/pkgs/by-name/au/aurulent-sans/package.nix index f1ee19b3b1579..162664f9f879c 100644 --- a/pkgs/by-name/au/aurulent-sans/package.nix +++ b/pkgs/by-name/au/aurulent-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "aurulent-sans"; diff --git a/pkgs/by-name/au/authz0/package.nix b/pkgs/by-name/au/authz0/package.nix index 2230fe2e518d9..fa500b9b80647 100644 --- a/pkgs/by-name/au/authz0/package.nix +++ b/pkgs/by-name/au/authz0/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/au/auto-epp/package.nix b/pkgs/by-name/au/auto-epp/package.nix index 07e06ba5b4b94..edddaba68e31f 100644 --- a/pkgs/by-name/au/auto-epp/package.nix +++ b/pkgs/by-name/au/auto-epp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "auto-epp"; version = "1.2.1"; diff --git a/pkgs/by-name/au/auto-multiple-choice/package.nix b/pkgs/by-name/au/auto-multiple-choice/package.nix index 96fd8e8c5f490..b6cc032bb152f 100644 --- a/pkgs/by-name/au/auto-multiple-choice/package.nix +++ b/pkgs/by-name/au/auto-multiple-choice/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, perlPackages -, makeWrapper -, wrapGAppsHook3 -, cairo -, dblatex -, gnumake -, gobject-introspection -, graphicsmagick -, gsettings-desktop-schemas -, gtk3 -, hicolor-icon-theme -, libnotify -, librsvg -, libxslt -, netpbm -, opencv -, pango -, perl -, pkg-config -, poppler +{ + lib, + stdenv, + fetchurl, + perlPackages, + makeWrapper, + wrapGAppsHook3, + cairo, + dblatex, + gnumake, + gobject-introspection, + graphicsmagick, + gsettings-desktop-schemas, + gtk3, + hicolor-icon-theme, + libnotify, + librsvg, + libxslt, + netpbm, + opencv, + pango, + perl, + pkg-config, + poppler, }: stdenv.mkDerivation (finalAttrs: rec { pname = "auto-multiple-choice"; @@ -71,68 +72,73 @@ stdenv.mkDerivation (finalAttrs: rec { postFixup = '' wrapProgram $out/bin/auto-multiple-choice \ ''${makeWrapperArgs[@]} \ - --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ + --prefix PERL5LIB : "${ + with perlPackages; + makeFullPerlPath [ + ArchiveZip + DBDSQLite + Cairo + CairoGObject + DBI + Glib + GlibObjectIntrospection + Gtk3 + LocaleGettext + OpenOfficeOODoc + PerlMagick + TextCSV + XMLParser + XMLSimple + XMLWriter + ] + }:"$out/share/perl5 \ + --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix PATH : "$out/bin" \ + --set TEXINPUTS ":.:$out/tex/latex" + ''; + + nativeBuildInputs = [ + pkg-config + makeWrapper + wrapGAppsHook3 + gobject-introspection + ]; + + buildInputs = + [ + cairo + cairo.dev + dblatex + gnumake + graphicsmagick + gsettings-desktop-schemas + gtk3 + hicolor-icon-theme + libnotify + librsvg + libxslt + netpbm + opencv + pango + poppler + ] + ++ (with perlPackages; [ + perl ArchiveZip - DBDSQLite Cairo CairoGObject + DBDSQLite DBI Glib GlibObjectIntrospection Gtk3 LocaleGettext - OpenOfficeOODoc PerlMagick TextCSV XMLParser XMLSimple XMLWriter - ]}:"$out/share/perl5 \ - --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ - --prefix PATH : "$out/bin" \ - --set TEXINPUTS ":.:$out/tex/latex" - ''; - - nativeBuildInputs = [ - pkg-config - makeWrapper - wrapGAppsHook3 - gobject-introspection - ]; - - buildInputs = [ - cairo - cairo.dev - dblatex - gnumake - graphicsmagick - gsettings-desktop-schemas - gtk3 - hicolor-icon-theme - libnotify - librsvg - libxslt - netpbm - opencv - pango - poppler - ] ++ (with perlPackages; [ - perl - ArchiveZip - Cairo - CairoGObject - DBDSQLite - DBI - Glib - GlibObjectIntrospection - Gtk3 - LocaleGettext - PerlMagick - TextCSV - XMLParser - XMLSimple - XMLWriter - ]); + ]); passthru = { tlType = "run"; diff --git a/pkgs/by-name/au/autoAddDriverRunpath/package.nix b/pkgs/by-name/au/autoAddDriverRunpath/package.nix index 36af8c90ffbb2..1dd962cdeee6e 100644 --- a/pkgs/by-name/au/autoAddDriverRunpath/package.nix +++ b/pkgs/by-name/au/autoAddDriverRunpath/package.nix @@ -1,6 +1,13 @@ -{ addDriverRunpath, autoFixElfFiles, makeSetupHook }: +{ + addDriverRunpath, + autoFixElfFiles, + makeSetupHook, +}: makeSetupHook { name = "auto-add-driver-runpath-hook"; - propagatedBuildInputs = [ addDriverRunpath autoFixElfFiles ]; + propagatedBuildInputs = [ + addDriverRunpath + autoFixElfFiles + ]; } ./auto-add-driver-runpath-hook.sh diff --git a/pkgs/by-name/au/autoadb/package.nix b/pkgs/by-name/au/autoadb/package.nix index 6b3ef212772a6..a0bb4f32a5658 100644 --- a/pkgs/by-name/au/autoadb/package.nix +++ b/pkgs/by-name/au/autoadb/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "autoadb"; diff --git a/pkgs/by-name/au/autobloody/package.nix b/pkgs/by-name/au/autobloody/package.nix index c55689350211d..c583324a88dae 100644 --- a/pkgs/by-name/au/autobloody/package.nix +++ b/pkgs/by-name/au/autobloody/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/au/autobuild/package.nix b/pkgs/by-name/au/autobuild/package.nix index b6970beb87347..79dacbdebb7ca 100644 --- a/pkgs/by-name/au/autobuild/package.nix +++ b/pkgs/by-name/au/autobuild/package.nix @@ -1,4 +1,12 @@ -{ fetchurl, lib, stdenv, makeWrapper, perl, openssh, rsync }: +{ + fetchurl, + lib, + stdenv, + makeWrapper, + perl, + openssh, + rsync, +}: stdenv.mkDerivation rec { pname = "autobuild"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl openssh rsync ]; + buildInputs = [ + perl + openssh + rsync + ]; doCheck = true; diff --git a/pkgs/by-name/au/autoconf-archive/package.nix b/pkgs/by-name/au/autoconf-archive/package.nix index 8ac14c61bda47..f83a75002a9fb 100644 --- a/pkgs/by-name/au/autoconf-archive/package.nix +++ b/pkgs/by-name/au/autoconf-archive/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, xz }: +{ + lib, + stdenv, + fetchurl, + xz, +}: stdenv.mkDerivation rec { pname = "autoconf-archive"; diff --git a/pkgs/by-name/au/autocutsel/package.nix b/pkgs/by-name/au/autocutsel/package.nix index e1b9a3c1c73a5..e18db0f9a8804 100644 --- a/pkgs/by-name/au/autocutsel/package.nix +++ b/pkgs/by-name/au/autocutsel/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, libX11, libXaw}: +{ + lib, + stdenv, + fetchurl, + libX11, + libXaw, +}: stdenv.mkDerivation rec { version = "0.10.1"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-8X4G1C90lENtSyb0vgtrDaOUgcBADJZ3jkuQW2NB6xc="; }; - buildInputs = [ libX11 libXaw ]; + buildInputs = [ + libX11 + libXaw + ]; installPhase = '' mkdir -p $out/bin cp autocutsel $out/bin/ diff --git a/pkgs/by-name/au/autofs5/package.nix b/pkgs/by-name/au/autofs5/package.nix index e6595ead54666..f570fcdb32f3e 100644 --- a/pkgs/by-name/au/autofs5/package.nix +++ b/pkgs/by-name/au/autofs5/package.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs -, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto, pkgconf -, fetchpatch, libnsl +{ + lib, + stdenv, + fetchurl, + flex, + bison, + linuxHeaders, + libtirpc, + mount, + umount, + nfs-utils, + e2fsprogs, + libxml2, + libkrb5, + kmod, + openldap, + sssd, + cyrus_sasl, + openssl, + rpcsvc-proto, + pkgconf, + fetchpatch, + libnsl, }: stdenv.mkDerivation rec { @@ -20,7 +40,7 @@ stdenv.mkDerivation rec { url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-fix-ldap_parse_page_control-check.patch"; hash = "sha256-W757LU9r9kuzLeThif2a1olRtxNrJy5suemLS7yfbIU="; }) - (fetchpatch { + (fetchpatch { url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-fix-crash-in-make_options_string.patch"; hash = "sha256-YjTdJ50iNhJ2UjFdrKYEFNt04z0PfmElbFa4GuSskLA="; }) @@ -47,10 +67,26 @@ stdenv.mkDerivation rec { #make install SUBDIRS="samples" # impure! ''; - buildInputs = [ linuxHeaders libtirpc libxml2 libkrb5 kmod openldap sssd - openssl cyrus_sasl rpcsvc-proto libnsl ]; + buildInputs = [ + linuxHeaders + libtirpc + libxml2 + libkrb5 + kmod + openldap + sssd + openssl + cyrus_sasl + rpcsvc-proto + libnsl + ]; - nativeBuildInputs = [ flex bison pkgconf libnsl.dev ]; + nativeBuildInputs = [ + flex + bison + pkgconf + libnsl.dev + ]; meta = { description = "Kernel-based automounter"; diff --git a/pkgs/by-name/au/autogen/package.nix b/pkgs/by-name/au/autogen/package.nix index e435716667191..2c8578b8e9499 100644 --- a/pkgs/by-name/au/autogen/package.nix +++ b/pkgs/by-name/au/autogen/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, buildPackages, fetchurl, fetchpatch, autoreconfHook, which, pkg-config, perl, guile_2_2, libxml2 }: +{ + lib, + stdenv, + buildPackages, + fetchurl, + fetchpatch, + autoreconfHook, + which, + pkg-config, + perl, + guile_2_2, + libxml2, +}: stdenv.mkDerivation rec { pname = "autogen"; @@ -9,114 +21,144 @@ stdenv.mkDerivation rec { sha256 = "16mlbdys8q4ckxlvxyhwkdnh1ay9f6g0cyp1kylkpalgnik398gq"; }; - patches = let - dp = { ver ? "1%255.18.16-5", name, sha256 }: fetchurl { - url = "https://salsa.debian.org/debian/autogen/-/raw/debian/${ver}" - + "/debian/patches/${name}?inline=false"; - inherit name sha256; - }; - in [ - (dp { - name = "20_no_Werror.diff"; - sha256 = "08z4s2ifiqyaacjpd9pzr59w8m4j3548kkaq1bwvp2gjn29m680x"; - }) - (dp { - name = "30_ag_macros.m4_syntax_error.diff"; - sha256 = "1z8vmbwbkz3505wd33i2xx91mlf8rwsa7klndq37nw821skxwyh3"; - }) - (dp { - name = "31_allow_overriding_AGexe_for_crossbuild.diff"; - sha256 = "0h9wkc9bqb509knh8mymi43hg6n6sxg2lixvjlchcx7z0j7p8xkf"; - }) - (dp { - name = "40_suse_01-autogen-catch-race-error.patch"; - sha256 = "1cfkym2zds1f85md1m74snxzqmzlj7wd5jivgmyl342856848xav"; - }) - (dp { - name = "40_suse_03-gcc9-fix-wrestrict.patch"; - sha256 = "1ifdwi6gf96jc78jw7q4bfi5fgdldlf2nl55y20h6xb78kv0pznd"; - }) - (dp { - name = "40_suse_05-sprintf-overflow.patch"; - sha256 = "136m62k68w1h5k7iapynvbyipidw35js6pq21lsc6rpxvgp0n469"; - }) - (dp { - name = "40_suse_06-autogen-avoid-GCC-code-analysis-bug.patch"; - sha256 = "1d65zygzw2rpa00s0jy2y1bg29vkbhnjwlb5pv22rfv87zbk6z9q"; - }) - # Next upstream release will contain guile-3 support. We apply non-invasive - # patch meanwhile. - (fetchpatch { - name = "guile-3.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-devel/autogen/files/autogen-5.18.16-guile-3.patch?id=43bcc61c56a5a7de0eaf806efec7d8c0e4c01ae7"; - sha256 = "18d7y1f6164dm1wlh7rzbacfygiwrmbc35a7qqsbdawpkhydm5lr"; - }) - (fetchpatch { - name = "lfs64.patch"; - url = "https://cygwin.com/cgit/cygwin-packages/autogen/plain/5.16.2-cygwin17.patch?id=6f39882873b3d1290ba3739e0557a84bfe05ba60"; - stripLen = 1; - hash = "sha256-6dk2imqForUHKhI82CTronWaS3KUWW/EKfA/JZZcRe0="; - }) - ]; - - outputs = [ "bin" "dev" "lib" "out" "man" "info" ]; + patches = + let + dp = + { + ver ? "1%255.18.16-5", + name, + sha256, + }: + fetchurl { + url = + "https://salsa.debian.org/debian/autogen/-/raw/debian/${ver}" + + "/debian/patches/${name}?inline=false"; + inherit name sha256; + }; + in + [ + (dp { + name = "20_no_Werror.diff"; + sha256 = "08z4s2ifiqyaacjpd9pzr59w8m4j3548kkaq1bwvp2gjn29m680x"; + }) + (dp { + name = "30_ag_macros.m4_syntax_error.diff"; + sha256 = "1z8vmbwbkz3505wd33i2xx91mlf8rwsa7klndq37nw821skxwyh3"; + }) + (dp { + name = "31_allow_overriding_AGexe_for_crossbuild.diff"; + sha256 = "0h9wkc9bqb509knh8mymi43hg6n6sxg2lixvjlchcx7z0j7p8xkf"; + }) + (dp { + name = "40_suse_01-autogen-catch-race-error.patch"; + sha256 = "1cfkym2zds1f85md1m74snxzqmzlj7wd5jivgmyl342856848xav"; + }) + (dp { + name = "40_suse_03-gcc9-fix-wrestrict.patch"; + sha256 = "1ifdwi6gf96jc78jw7q4bfi5fgdldlf2nl55y20h6xb78kv0pznd"; + }) + (dp { + name = "40_suse_05-sprintf-overflow.patch"; + sha256 = "136m62k68w1h5k7iapynvbyipidw35js6pq21lsc6rpxvgp0n469"; + }) + (dp { + name = "40_suse_06-autogen-avoid-GCC-code-analysis-bug.patch"; + sha256 = "1d65zygzw2rpa00s0jy2y1bg29vkbhnjwlb5pv22rfv87zbk6z9q"; + }) + # Next upstream release will contain guile-3 support. We apply non-invasive + # patch meanwhile. + (fetchpatch { + name = "guile-3.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-devel/autogen/files/autogen-5.18.16-guile-3.patch?id=43bcc61c56a5a7de0eaf806efec7d8c0e4c01ae7"; + sha256 = "18d7y1f6164dm1wlh7rzbacfygiwrmbc35a7qqsbdawpkhydm5lr"; + }) + (fetchpatch { + name = "lfs64.patch"; + url = "https://cygwin.com/cgit/cygwin-packages/autogen/plain/5.16.2-cygwin17.patch?id=6f39882873b3d1290ba3739e0557a84bfe05ba60"; + stripLen = 1; + hash = "sha256-6dk2imqForUHKhI82CTronWaS3KUWW/EKfA/JZZcRe0="; + }) + ]; - nativeBuildInputs = [ - which pkg-config perl autoreconfHook/*patches applied*/ - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # autogen needs a build autogen when cross-compiling - buildPackages.buildPackages.autogen buildPackages.texinfo + outputs = [ + "bin" + "dev" + "lib" + "out" + "man" + "info" ]; + + nativeBuildInputs = + [ + which + pkg-config + perl + autoreconfHook # patches applied + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # autogen needs a build autogen when cross-compiling + buildPackages.buildPackages.autogen + buildPackages.texinfo + ]; buildInputs = [ - guile_2_2 libxml2 + guile_2_2 + libxml2 ]; preConfigure = '' export MAN_PAGE_DATE=$(date '+%Y-%m-%d' -d "@$SOURCE_DATE_EPOCH") ''; - configureFlags = [ - "--with-libxml2=${libxml2.dev}" - "--with-libxml2-cflags=-I${libxml2.dev}/include/libxml2" - # Make sure to use a static value for the timeout. If we do not set a value - # here autogen will select one based on the execution time of the configure - # phase which is not really reproducible. - # - # If you are curious about the number 78, it has been cargo-culted from - # Debian: https://salsa.debian.org/debian/autogen/-/blob/master/debian/rules#L21 - "--enable-timeout=78" - "CFLAGS=-D_FILE_OFFSET_BITS=64" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # the configure check for regcomp wants to run a host program - "libopts_cv_with_libregex=yes" - #"MAKEINFO=${buildPackages.texinfo}/bin/makeinfo" - ] - # See: https://sourceforge.net/p/autogen/bugs/187/ - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "ac_cv_func_utimensat=no" ]; + configureFlags = + [ + "--with-libxml2=${libxml2.dev}" + "--with-libxml2-cflags=-I${libxml2.dev}/include/libxml2" + # Make sure to use a static value for the timeout. If we do not set a value + # here autogen will select one based on the execution time of the configure + # phase which is not really reproducible. + # + # If you are curious about the number 78, it has been cargo-culted from + # Debian: https://salsa.debian.org/debian/autogen/-/blob/master/debian/rules#L21 + "--enable-timeout=78" + "CFLAGS=-D_FILE_OFFSET_BITS=64" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # the configure check for regcomp wants to run a host program + "libopts_cv_with_libregex=yes" + #"MAKEINFO=${buildPackages.texinfo}/bin/makeinfo" + ] + # See: https://sourceforge.net/p/autogen/bugs/187/ + ++ lib.optionals stdenv.hostPlatform.isDarwin [ "ac_cv_func_utimensat=no" ]; #doCheck = true; # not reliable - postInstall = '' - mkdir -p $dev/bin - mv $bin/bin/autoopts-config $dev/bin + postInstall = + '' + mkdir -p $dev/bin + mv $bin/bin/autoopts-config $dev/bin - for f in $lib/lib/autogen/tpl-config.tlib $out/share/autogen/tpl-config.tlib; do - sed -e "s|$dev/include|/no-such-autogen-include-path|" -i $f - sed -e "s|$bin/bin|/no-such-autogen-bin-path|" -i $f - sed -e "s|$lib/lib|/no-such-autogen-lib-path|" -i $f - done + for f in $lib/lib/autogen/tpl-config.tlib $out/share/autogen/tpl-config.tlib; do + sed -e "s|$dev/include|/no-such-autogen-include-path|" -i $f + sed -e "s|$bin/bin|/no-such-autogen-bin-path|" -i $f + sed -e "s|$lib/lib|/no-such-autogen-lib-path|" -i $f + done - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - # remove build directory (/build/**, or /tmp/nix-build-**) from RPATHs - for f in "$bin"/bin/*; do - local nrp="$(patchelf --print-rpath "$f" | sed -E 's@(:|^)'$NIX_BUILD_TOP'[^:]*:@\1@g')" - patchelf --set-rpath "$nrp" "$f" - done - ''; + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + # remove build directory (/build/**, or /tmp/nix-build-**) from RPATHs + for f in "$bin"/bin/*; do + local nrp="$(patchelf --print-rpath "$f" | sed -E 's@(:|^)'$NIX_BUILD_TOP'[^:]*:@\1@g')" + patchelf --set-rpath "$nrp" "$f" + done + ''; meta = with lib; { description = "Automated text and program generation tool"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; homepage = "https://www.gnu.org/software/autogen/"; platforms = platforms.all; maintainers = [ ]; diff --git a/pkgs/by-name/au/autojump/package.nix b/pkgs/by-name/au/autojump/package.nix index 8305c82937ebd..d0a60a4abbb5d 100644 --- a/pkgs/by-name/au/autojump/package.nix +++ b/pkgs/by-name/au/autojump/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "autojump"; @@ -51,6 +56,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/wting/autojump"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ domenkozar yurrriq ]; + maintainers = with maintainers; [ + domenkozar + yurrriq + ]; }; } diff --git a/pkgs/by-name/au/autokey/package.nix b/pkgs/by-name/au/autokey/package.nix index 91700299400a2..9e2b40106a222 100644 --- a/pkgs/by-name/au/autokey/package.nix +++ b/pkgs/by-name/au/autokey/package.nix @@ -1,13 +1,14 @@ -{ lib -, python3Packages -, fetchFromGitHub -, wrapGAppsHook3 -, gobject-introspection -, gtksourceview3 -, libappindicator-gtk3 -, libnotify -, zenity -, wmctrl +{ + lib, + python3Packages, + fetchFromGitHub, + wrapGAppsHook3, + gobject-introspection, + gtksourceview3, + libappindicator-gtk3, + libnotify, + zenity, + wmctrl, }: python3Packages.buildPythonApplication rec { @@ -24,7 +25,10 @@ python3Packages.buildPythonApplication rec { # Tests appear to be broken with import errors within the project structure doCheck = false; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; buildInputs = [ gtksourceview3 @@ -48,7 +52,7 @@ python3Packages.buildPythonApplication rec { dontWrapGApps = true; preFixup = '' - makeWrapperArgs+=(''${gappsWrapperArgs[@]} --prefix PATH : ${ lib.makeBinPath runtimeDeps }) + makeWrapperArgs+=(''${gappsWrapperArgs[@]} --prefix PATH : ${lib.makeBinPath runtimeDeps}) ''; postInstall = '' diff --git a/pkgs/by-name/au/automaticcomponenttoolkit/package.nix b/pkgs/by-name/au/automaticcomponenttoolkit/package.nix index 59a9914891d7e..b113f22880633 100644 --- a/pkgs/by-name/au/automaticcomponenttoolkit/package.nix +++ b/pkgs/by-name/au/automaticcomponenttoolkit/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, go }: +{ + stdenv, + lib, + fetchFromGitHub, + go, +}: stdenv.mkDerivation rec { pname = "AutomaticComponentToolkit"; diff --git a/pkgs/by-name/au/automirror/package.nix b/pkgs/by-name/au/automirror/package.nix index 457303c6bc268..8d8376542d28c 100644 --- a/pkgs/by-name/au/automirror/package.nix +++ b/pkgs/by-name/au/automirror/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchFromGitHub, git, ronn}: +{ + lib, + stdenv, + fetchFromGitHub, + git, + ronn, +}: stdenv.mkDerivation rec { pname = "automirror"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { patchPhase = "sed -i s#/usr##g Makefile"; - buildInputs = [ git ronn ]; + buildInputs = [ + git + ronn + ]; installFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/au/automysqlbackup/package.nix b/pkgs/by-name/au/automysqlbackup/package.nix index ec6d0cdc4afbd..997b139cf324f 100644 --- a/pkgs/by-name/au/automysqlbackup/package.nix +++ b/pkgs/by-name/au/automysqlbackup/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, mariadb, mailutils, pbzip2, pigz, bzip2, gzip }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + mariadb, + mailutils, + pbzip2, + pigz, + bzip2, + gzip, +}: stdenv.mkDerivation rec { pname = "automysqlbackup"; @@ -19,7 +30,16 @@ stdenv.mkDerivation rec { cp automysqlbackup $out/bin/ cp automysqlbackup.conf $out/etc/ - wrapProgram $out/bin/automysqlbackup --prefix PATH : ${lib.makeBinPath [ mariadb mailutils pbzip2 pigz bzip2 gzip ]} + wrapProgram $out/bin/automysqlbackup --prefix PATH : ${ + lib.makeBinPath [ + mariadb + mailutils + pbzip2 + pigz + bzip2 + gzip + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/au/autopanosiftc/package.nix b/pkgs/by-name/au/autopanosiftc/package.nix index 20874dd55e763..b566852cbb001 100644 --- a/pkgs/by-name/au/autopanosiftc/package.nix +++ b/pkgs/by-name/au/autopanosiftc/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, cmake, libpng, libtiff, libjpeg, panotools, libxml2 }: +{ + lib, + stdenv, + fetchurl, + cmake, + libpng, + libtiff, + libjpeg, + panotools, + libxml2, +}: stdenv.mkDerivation rec { pname = "autopano-sift-C"; @@ -10,7 +20,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libpng libtiff libjpeg panotools libxml2 ]; + buildInputs = [ + libpng + libtiff + libjpeg + panotools + libxml2 + ]; patches = [ (fetchurl { diff --git a/pkgs/by-name/au/autoprefixer/package.nix b/pkgs/by-name/au/autoprefixer/package.nix index b1977eba41e85..f3efe088f21fa 100644 --- a/pkgs/by-name/au/autoprefixer/package.nix +++ b/pkgs/by-name/au/autoprefixer/package.nix @@ -5,8 +5,9 @@ pnpm_9, fetchFromGitHub, callPackage, - nix-update-script -}: stdenv.mkDerivation (finalAttrs: { + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { pname = "autoprefixer"; version = "10.4.20"; diff --git a/pkgs/by-name/au/autoprefixer/tests/simple-execution.nix b/pkgs/by-name/au/autoprefixer/tests/simple-execution.nix index 9445a0bded5f4..9c55e869b500a 100644 --- a/pkgs/by-name/au/autoprefixer/tests/simple-execution.nix +++ b/pkgs/by-name/au/autoprefixer/tests/simple-execution.nix @@ -4,22 +4,21 @@ let inherit (autoprefixer) pname version; in -runCommand "${pname}-tests" { meta.timeout = 60; } - '' - # get version of installed program and compare with package version - claimed_version="$(${autoprefixer}/bin/autoprefixer --version | awk '{print $2}')" - if [[ "$claimed_version" != "${version}" ]]; then - echo "Error: program version does not match package version ($claimed_version != ${version})" - exit 1 - fi +runCommand "${pname}-tests" { meta.timeout = 60; } '' + # get version of installed program and compare with package version + claimed_version="$(${autoprefixer}/bin/autoprefixer --version | awk '{print $2}')" + if [[ "$claimed_version" != "${version}" ]]; then + echo "Error: program version does not match package version ($claimed_version != ${version})" + exit 1 + fi - # run dummy commands - ${autoprefixer}/bin/autoprefixer --help > /dev/null - ${autoprefixer}/bin/autoprefixer --info > /dev/null + # run dummy commands + ${autoprefixer}/bin/autoprefixer --help > /dev/null + ${autoprefixer}/bin/autoprefixer --info > /dev/null - # Testing the actual functionality is done in the test for postcss - # because autoprefixer is a postcss plugin + # Testing the actual functionality is done in the test for postcss + # because autoprefixer is a postcss plugin - # needed for Nix to register the command as successful - touch $out - '' + # needed for Nix to register the command as successful + touch $out +'' diff --git a/pkgs/by-name/au/autopsy/package.nix b/pkgs/by-name/au/autopsy/package.nix index a2693eb5b8bc3..e9fc15a100763 100644 --- a/pkgs/by-name/au/autopsy/package.nix +++ b/pkgs/by-name/au/autopsy/package.nix @@ -1,8 +1,21 @@ -{ stdenv, lib, makeWrapper, fetchzip, testdisk, imagemagick, jdk, findutils, sleuthkit, ... }: +{ + stdenv, + lib, + makeWrapper, + fetchzip, + testdisk, + imagemagick, + jdk, + findutils, + sleuthkit, + ... +}: let - jdkWithJfx = jdk.override (lib.optionalAttrs stdenv.hostPlatform.isLinux { - enableJavaFX = true; - }); + jdkWithJfx = jdk.override ( + lib.optionalAttrs stdenv.hostPlatform.isLinux { + enableJavaFX = true; + } + ); in stdenv.mkDerivation rec { pname = "autopsy"; @@ -13,8 +26,15 @@ stdenv.mkDerivation rec { hash = "sha256-32iOQA3+ykltCYW/MpqCVxyhh3mm6eYzY+t0smAsWRw="; }; - nativeBuildInputs = [ makeWrapper findutils ]; - buildInputs = [ testdisk imagemagick jdkWithJfx ]; + nativeBuildInputs = [ + makeWrapper + findutils + ]; + buildInputs = [ + testdisk + imagemagick + jdkWithJfx + ]; installPhase = '' runHook preInstall @@ -29,7 +49,13 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/autopsy \ --run 'export SOLR_LOGS_DIR="$HOME/.autopsy/dev/var/log"' \ --run 'export SOLR_PID_DIR="$HOME/.autopsy/dev"' \ - --prefix PATH : "${lib.makeBinPath [ testdisk imagemagick jdkWithJfx ]}" + --prefix PATH : "${ + lib.makeBinPath [ + testdisk + imagemagick + jdkWithJfx + ] + }" runHook postInstall ''; @@ -39,7 +65,18 @@ stdenv.mkDerivation rec { homepage = "https://www.sleuthkit.org/autopsy"; changelog = "https://github.com/sleuthkit/autopsy/releases/tag/autopsy-${version}"; # Autopsy brings a lot of vendored dependencies - license = with lib.licenses; [ asl20 ipl10 lgpl3Only lgpl21Only zlib wtfpl bsd3 cc-by-30 mit gpl2Only ]; + license = with lib.licenses; [ + asl20 + ipl10 + lgpl3Only + lgpl21Only + zlib + wtfpl + bsd3 + cc-by-30 + mit + gpl2Only + ]; maintainers = with lib.maintainers; [ zebreus ]; mainProgram = "autopsy"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/by-name/au/autorandr/package.nix b/pkgs/by-name/au/autorandr/package.nix index eb7f8c16c86dd..cd6d1db71f7eb 100644 --- a/pkgs/by-name/au/autorandr/package.nix +++ b/pkgs/by-name/au/autorandr/package.nix @@ -1,10 +1,11 @@ -{ lib -, python3 -, fetchFromGitHub -, systemd -, xrandr -, installShellFiles -, desktop-file-utils +{ + lib, + python3, + fetchFromGitHub, + systemd, + xrandr, + installShellFiles, + desktop-file-utils, }: python3.pkgs.buildPythonApplication rec { @@ -19,7 +20,10 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-8FMfy3GCN4z/TnfefU2DbKqV3W35I29/SuGGqeOrjNg"; }; - nativeBuildInputs = [ installShellFiles desktop-file-utils ]; + nativeBuildInputs = [ + installShellFiles + desktop-file-utils + ]; propagatedBuildInputs = with python3.pkgs; [ packaging ]; buildPhase = '' @@ -30,7 +34,10 @@ python3.pkgs.buildPythonApplication rec { patches = [ ./0001-don-t-use-sys.executable.patch ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; installPhase = '' runHook preInstall @@ -48,18 +55,23 @@ python3.pkgs.buildPythonApplication rec { make install TARGETS='manpage' PREFIX=$man - ${if systemd != null then '' - make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \ - SYSTEMD_UNIT_DIR=/lib/systemd/system \ - UDEV_RULES_DIR=/etc/udev/rules.d - substituteInPlace $out/etc/udev/rules.d/40-monitor-hotplug.rules \ - --replace /bin/systemctl "/run/current-system/systemd/bin/systemctl" - '' else '' - make install TARGETS='pmutils' DESTDIR=$out \ - PM_SLEEPHOOKS_DIR=/lib/pm-utils/sleep.d - make install TARGETS='udev' PREFIX=$out DESTDIR=$out \ - UDEV_RULES_DIR=/etc/udev/rules.d - ''} + ${ + if systemd != null then + '' + make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \ + SYSTEMD_UNIT_DIR=/lib/systemd/system \ + UDEV_RULES_DIR=/etc/udev/rules.d + substituteInPlace $out/etc/udev/rules.d/40-monitor-hotplug.rules \ + --replace /bin/systemctl "/run/current-system/systemd/bin/systemctl" + '' + else + '' + make install TARGETS='pmutils' DESTDIR=$out \ + PM_SLEEPHOOKS_DIR=/lib/pm-utils/sleep.d + make install TARGETS='udev' PREFIX=$out DESTDIR=$out \ + UDEV_RULES_DIR=/etc/udev/rules.d + '' + } runHook postInstall ''; diff --git a/pkgs/by-name/au/autorestic/package.nix b/pkgs/by-name/au/autorestic/package.nix index 2d0f5b019626b..4df100e0bfaf4 100644 --- a/pkgs/by-name/au/autorestic/package.nix +++ b/pkgs/by-name/au/autorestic/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, installShellFiles, buildGoModule }: +{ + lib, + fetchFromGitHub, + installShellFiles, + buildGoModule, +}: buildGoModule rec { pname = "autorestic"; diff --git a/pkgs/by-name/au/autorevision/package.nix b/pkgs/by-name/au/autorevision/package.nix index f0d9797693809..1fd604895e9cf 100644 --- a/pkgs/by-name/au/autorevision/package.nix +++ b/pkgs/by-name/au/autorevision/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, asciidoc, libxml2, docbook_xml_dtd_45, libxslt -, docbook_xsl, diffutils, coreutils, gnugrep, gnused +{ + lib, + stdenv, + fetchurl, + asciidoc, + libxml2, + docbook_xml_dtd_45, + libxslt, + docbook_xsl, + diffutils, + coreutils, + gnugrep, + gnused, }: stdenv.mkDerivation rec { @@ -12,7 +23,11 @@ stdenv.mkDerivation rec { }; buildInputs = [ - asciidoc libxml2 docbook_xml_dtd_45 libxslt docbook_xsl + asciidoc + libxml2 + docbook_xml_dtd_45 + libxslt + docbook_xsl ]; installFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/by-name/au/autospotting/package.nix b/pkgs/by-name/au/autospotting/package.nix index 0018102bd8176..c7d82905bf708 100644 --- a/pkgs/by-name/au/autospotting/package.nix +++ b/pkgs/by-name/au/autospotting/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "autospotting"; @@ -15,7 +19,10 @@ buildGoModule rec { excludedPackages = [ "scripts" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Automatically convert your existing AutoScaling groups to up to 90% cheaper spot instances with minimal configuration changes"; diff --git a/pkgs/by-name/au/autossh/package.nix b/pkgs/by-name/au/autossh/package.nix index 6d73715d832d2..a533e428dd0cd 100644 --- a/pkgs/by-name/au/autossh/package.nix +++ b/pkgs/by-name/au/autossh/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, openssh }: +{ + lib, + stdenv, + fetchurl, + openssh, +}: stdenv.mkDerivation rec { pname = "autossh"; diff --git a/pkgs/by-name/au/autosuspend/package.nix b/pkgs/by-name/au/autosuspend/package.nix index 81bdcdc55af65..85d691a966379 100644 --- a/pkgs/by-name/au/autosuspend/package.nix +++ b/pkgs/by-name/au/autosuspend/package.nix @@ -1,7 +1,8 @@ -{ lib -, dbus -, fetchFromGitHub -, python3 +{ + lib, + dbus, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -61,7 +62,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://autosuspend.readthedocs.io"; changelog = "https://github.com/languitar/autosuspend/releases/tag/v${version}"; license = licenses.gpl2Only; - maintainers = with maintainers; [ bzizou anthonyroussel ]; + maintainers = with maintainers; [ + bzizou + anthonyroussel + ]; mainProgram = "autosuspend"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/au/autotalent/package.nix b/pkgs/by-name/au/autotalent/package.nix index 8e77cc352b155..214c06fac5655 100644 --- a/pkgs/by-name/au/autotalent/package.nix +++ b/pkgs/by-name/au/autotalent/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "autotalent"; diff --git a/pkgs/by-name/au/autotiling-rs/package.nix b/pkgs/by-name/au/autotiling-rs/package.nix index 0946940166795..c7ba1ff24dc8a 100644 --- a/pkgs/by-name/au/autotiling-rs/package.nix +++ b/pkgs/by-name/au/autotiling-rs/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "autotiling-rs"; diff --git a/pkgs/by-name/au/autotools-language-server/package.nix b/pkgs/by-name/au/autotools-language-server/package.nix index 68439d57dcf07..5378476905e6b 100644 --- a/pkgs/by-name/au/autotools-language-server/package.nix +++ b/pkgs/by-name/au/autotools-language-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, python311 -, fetchFromGitHub -, fetchpatch +{ + lib, + python311, + fetchFromGitHub, + fetchpatch, }: let @@ -9,7 +10,7 @@ let self = python3; packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; - lsp-tree-sitter = super.lsp-tree-sitter.overridePythonAttrs(__: { + lsp-tree-sitter = super.lsp-tree-sitter.overridePythonAttrs (__: { pythonRelaxDeps = [ "tree-sitter" ]; }); }; diff --git a/pkgs/by-name/au/autotrace/package.nix b/pkgs/by-name/au/autotrace/package.nix index 82bba3c3fc53d..40be3cef2fa89 100644 --- a/pkgs/by-name/au/autotrace/package.nix +++ b/pkgs/by-name/au/autotrace/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, gettext -, intltool -, pkg-config -, glib -, imagemagick -, libpng -, pstoedit -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + gettext, + intltool, + pkg-config, + glib, + imagemagick, + libpng, + pstoedit, + darwin, }: stdenv.mkDerivation rec { @@ -40,14 +41,16 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - glib - imagemagick - libpng - pstoedit - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + glib + imagemagick + libpng + pstoedit + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; meta = with lib; { homepage = "https://github.com/autotrace/autotrace"; diff --git a/pkgs/by-name/av/avfs/package.nix b/pkgs/by-name/av/avfs/package.nix index a59c2695c20a5..0613bcc4b6d39 100644 --- a/pkgs/by-name/av/avfs/package.nix +++ b/pkgs/by-name/av/avfs/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, fuse, xz }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, + xz, +}: stdenv.mkDerivation rec { pname = "avfs"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse xz ]; + buildInputs = [ + fuse + xz + ]; configureFlags = [ "--enable-library" diff --git a/pkgs/by-name/av/aviator/package.nix b/pkgs/by-name/av/aviator/package.nix index 69b076834f7ed..17b7a7d2e7cf0 100644 --- a/pkgs/by-name/av/aviator/package.nix +++ b/pkgs/by-name/av/aviator/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "aviator"; diff --git a/pkgs/by-name/av/avizo/package.nix b/pkgs/by-name/av/avizo/package.nix index 0b05e9ce5499f..47a44f05aa730 100644 --- a/pkgs/by-name/av/avizo/package.nix +++ b/pkgs/by-name/av/avizo/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, vala -, gtk3 -, glib -, gtk-layer-shell -, dbus -, dbus-glib -, librsvg -, gobject-introspection -, gdk-pixbuf -, wrapGAppsHook3 -, pamixer -, brightnessctl +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + vala, + gtk3, + glib, + gtk-layer-shell, + dbus, + dbus-glib, + librsvg, + gobject-introspection, + gdk-pixbuf, + wrapGAppsHook3, + pamixer, + brightnessctl, }: stdenv.mkDerivation rec { @@ -29,9 +30,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-Vj8OrNlAstl0AXTeVAPdEf5JgnAmJwl9s3Jdc0ZiYQc="; }; - nativeBuildInputs = [ meson ninja pkg-config vala gobject-introspection wrapGAppsHook3 ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gobject-introspection + wrapGAppsHook3 + ]; - buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 librsvg ]; + buildInputs = [ + dbus + dbus-glib + gdk-pixbuf + glib + gtk-layer-shell + gtk3 + librsvg + ]; postInstall = '' wrapProgram $out/bin/volumectl --suffix PATH : $out/bin:${lib.makeBinPath ([ pamixer ])} diff --git a/pkgs/by-name/av/avocode/package.nix b/pkgs/by-name/av/avocode/package.nix index 0878d91bba8a8..b10fe128b1ef7 100644 --- a/pkgs/by-name/av/avocode/package.nix +++ b/pkgs/by-name/av/avocode/package.nix @@ -1,6 +1,35 @@ -{ lib, stdenv, makeDesktopItem, fetchurl, unzip -, gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsa-lib, cups, expat, udev, adwaita-icon-theme -, xorg, mozjpeg, makeWrapper, wrapGAppsHook3, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon +{ + lib, + stdenv, + makeDesktopItem, + fetchurl, + unzip, + gdk-pixbuf, + glib, + gtk3, + atk, + at-spi2-atk, + pango, + cairo, + freetype, + fontconfig, + dbus, + nss, + nspr, + alsa-lib, + cups, + expat, + udev, + adwaita-icon-theme, + xorg, + mozjpeg, + makeWrapper, + wrapGAppsHook3, + libuuid, + at-spi2-core, + libdrm, + mesa, + libxkbcommon, }: stdenv.mkDerivation rec { @@ -12,43 +41,46 @@ stdenv.mkDerivation rec { sha256 = "sha256-vNQT4jyMIIAk1pV3Hrp40nawFutWCv7xtwg2gU6ejy0="; }; - libPath = lib.makeLibraryPath (with xorg; [ - stdenv.cc.cc - at-spi2-core.out - gdk-pixbuf - glib - gtk3 - atk - at-spi2-atk - pango - cairo - freetype - fontconfig - dbus - nss - nspr - alsa-lib - cups - expat - udev - libX11 - libxcb - libxshmfence - libxkbcommon - libXi - libXcursor - libXdamage - libXrandr - libXcomposite - libXext - libXfixes - libXrender - libXtst - libXScrnSaver - libuuid - libdrm - mesa - ]); + libPath = lib.makeLibraryPath ( + with xorg; + [ + stdenv.cc.cc + at-spi2-core.out + gdk-pixbuf + glib + gtk3 + atk + at-spi2-atk + pango + cairo + freetype + fontconfig + dbus + nss + nspr + alsa-lib + cups + expat + udev + libX11 + libxcb + libxshmfence + libxkbcommon + libXi + libXcursor + libXdamage + libXrandr + libXcomposite + libXext + libXfixes + libXrender + libXtst + libXScrnSaver + libuuid + libdrm + mesa + ] + ); desktopItem = makeDesktopItem { name = "Avocode"; @@ -60,8 +92,15 @@ stdenv.mkDerivation rec { comment = "The bridge between designers and developers"; }; - nativeBuildInputs = [makeWrapper wrapGAppsHook3 unzip]; - buildInputs = [ gtk3 adwaita-icon-theme ]; + nativeBuildInputs = [ + makeWrapper + wrapGAppsHook3 + unzip + ]; + buildInputs = [ + gtk3 + adwaita-icon-theme + ]; # src is producing multiple folder on unzip so we must # override unpackCmd to extract it into newly created folder diff --git a/pkgs/by-name/av/avr-sim/package.nix b/pkgs/by-name/av/avr-sim/package.nix index 38f8b246f62a6..9a4ad182a95fe 100644 --- a/pkgs/by-name/av/avr-sim/package.nix +++ b/pkgs/by-name/av/avr-sim/package.nix @@ -27,9 +27,20 @@ stdenv.mkDerivation rec { hash = "sha256-7MgUzMs+l+3RVUbORAWyU1OUpgrKIeWhS+ObgRJtOHc="; }; - nativeBuildInputs = [lazarus fpc]; + nativeBuildInputs = [ + lazarus + fpc + ]; - buildInputs = [pango cairo glib atk gtk2 libX11 gdk-pixbuf]; + buildInputs = [ + pango + cairo + glib + atk + gtk2 + libX11 + gdk-pixbuf + ]; NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}"; @@ -56,6 +67,6 @@ stdenv.mkDerivation rec { homepage = "http://www.avr-asm-tutorial.net/avr_sim/index_en.html"; license = licenses.unfree; platforms = platforms.unix; - maintainers = with maintainers; [ameer]; + maintainers = with maintainers; [ ameer ]; }; } diff --git a/pkgs/by-name/av/avr8burnomat/package.nix b/pkgs/by-name/av/avr8burnomat/package.nix index 0ee98bb954d48..04051bcb3fdc0 100644 --- a/pkgs/by-name/av/avr8burnomat/package.nix +++ b/pkgs/by-name/av/avr8burnomat/package.nix @@ -1,11 +1,19 @@ -{ lib, stdenv, fetchurl, unzip, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + unzip, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "avr8-burn-omat"; version = "2.1.2"; src = fetchurl { - url = "http://avr8-burn-o-mat.aaabbb.de/AVR8_Burn-O-Mat_${lib.replaceStrings ["."] ["_"] version}.zip"; + url = "http://avr8-burn-o-mat.aaabbb.de/AVR8_Burn-O-Mat_${ + lib.replaceStrings [ "." ] [ "_" ] version + }.zip"; sha256 = "02k0fd0cd3y1yqip36wr3bkxbywp8913w4y7jdg6qwqxjnii58ln"; }; diff --git a/pkgs/by-name/av/avra/package.nix b/pkgs/by-name/av/avra/package.nix index 8e2d2558c571a..4b9c90a8c5a8a 100644 --- a/pkgs/by-name/av/avra/package.nix +++ b/pkgs/by-name/av/avra/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "avra"; diff --git a/pkgs/by-name/av/avrdude/package.nix b/pkgs/by-name/av/avrdude/package.nix index 29edb66f9f5f1..ffa722674445b 100644 --- a/pkgs/by-name/av/avrdude/package.nix +++ b/pkgs/by-name/av/avrdude/package.nix @@ -1,10 +1,29 @@ -{ lib, callPackage, stdenv, fetchFromGitHub, cmake, bison, flex, pkg-config, libusb1, elfutils -, libftdi1, readline, hidapi, libserialport, libusb-compat-0_1 -# Documentation building doesn't work on Darwin. It fails with: -# Undefined subroutine &Locale::Messages::dgettext called in ... texi2html -# -# https://github.com/NixOS/nixpkgs/issues/224761 -, docSupport ? (!stdenv.hostPlatform.isDarwin), texliveMedium, texinfo, texi2html, unixtools }: +{ + lib, + callPackage, + stdenv, + fetchFromGitHub, + cmake, + bison, + flex, + pkg-config, + libusb1, + elfutils, + libftdi1, + readline, + hidapi, + libserialport, + libusb-compat-0_1, + # Documentation building doesn't work on Darwin. It fails with: + # Undefined subroutine &Locale::Messages::dgettext called in ... texi2html + # + # https://github.com/NixOS/nixpkgs/issues/224761 + docSupport ? (!stdenv.hostPlatform.isDarwin), + texliveMedium, + texinfo, + texi2html, + unixtools, +}: let useElfutils = lib.meta.availableOn stdenv.hostPlatform elfutils; @@ -21,12 +40,19 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "w58HVCvKuWpGJwllupbj7ndeq4iE9LPs/IjFSUN0DOU="; }; - nativeBuildInputs = [ cmake bison flex pkg-config ] ++ lib.optionals docSupport [ - unixtools.more - texliveMedium - texinfo - texi2html - ]; + nativeBuildInputs = + [ + cmake + bison + flex + pkg-config + ] + ++ lib.optionals docSupport [ + unixtools.more + texliveMedium + texinfo + texi2html + ]; buildInputs = [ (if useElfutils then elfutils else finalAttrs.finalPackage.passthru.libelf) @@ -45,8 +71,12 @@ stdenv.mkDerivation (finalAttrs: { # Not used: # -DHAVE_LINUXGPIO=ON because it's incompatible with libgpiod 2.x - cmakeFlags = lib.optionals docSupport [ "-DBUILD_DOC=ON" ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ "-DHAVE_LINUXSPI=ON" "-DHAVE_PARPORT=ON" ]; + cmakeFlags = + lib.optionals docSupport [ "-DBUILD_DOC=ON" ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-DHAVE_LINUXSPI=ON" + "-DHAVE_PARPORT=ON" + ]; passthru = { # Vendored and mutated copy of libelf for avrdudes use. diff --git a/pkgs/by-name/av/avrdudess/package.nix b/pkgs/by-name/av/avrdudess/package.nix index 01dbf16f00781..6f767e3ae944a 100644 --- a/pkgs/by-name/av/avrdudess/package.nix +++ b/pkgs/by-name/av/avrdudess/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, runtimeShell, fetchurl, unzip, mono, avrdude, gtk2, xdg-utils }: +{ + lib, + stdenv, + runtimeShell, + fetchurl, + unzip, + mono, + avrdude, + gtk2, + xdg-utils, +}: stdenv.mkDerivation { pname = "avrdudess"; @@ -22,10 +32,20 @@ stdenv.mkDerivation { cat >> "$out/bin/avrdudess" << __EOF__ #!${runtimeShell} - export LD_LIBRARY_PATH="${lib.makeLibraryPath [gtk2 mono]}" + export LD_LIBRARY_PATH="${ + lib.makeLibraryPath [ + gtk2 + mono + ] + }" # We need PATH from user env for xdg-open to find its tools, which # typically depend on the currently running desktop environment. - export PATH="\$PATH:${lib.makeBinPath [ avrdude xdg-utils ]}" + export PATH="\$PATH:${ + lib.makeBinPath [ + avrdude + xdg-utils + ] + }" # avrdudess must have its resource files in its current working directory cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@" diff --git a/pkgs/by-name/av/avro-c/package.nix b/pkgs/by-name/av/avro-c/package.nix index 53f1d4430cc97..ad598d511e084 100644 --- a/pkgs/by-name/av/avro-c/package.nix +++ b/pkgs/by-name/av/avro-c/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, cmake, fetchurl, pkg-config, jansson, snappy, xz, zlib }: +{ + lib, + stdenv, + cmake, + fetchurl, + pkg-config, + jansson, + snappy, + xz, + zlib, +}: stdenv.mkDerivation rec { pname = "avro-c"; @@ -13,9 +23,17 @@ stdenv.mkDerivation rec { patchShebangs . ''; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; - buildInputs = [ jansson snappy xz zlib ]; + buildInputs = [ + jansson + snappy + xz + zlib + ]; meta = with lib; { description = "C library which implements parts of the Avro Specification"; diff --git a/pkgs/by-name/av/avro-cpp/package.nix b/pkgs/by-name/av/avro-cpp/package.nix index d8735e0b9143d..f82ef1924dbe3 100644 --- a/pkgs/by-name/av/avro-cpp/package.nix +++ b/pkgs/by-name/av/avro-cpp/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, cmake -, boost -, python3 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + boost, + python3, }: stdenv.mkDerivation rec { @@ -26,7 +27,10 @@ stdenv.mkDerivation rec { ]; patchFlags = [ "-p3" ]; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; buildInputs = [ boost ]; preConfigure = '' diff --git a/pkgs/by-name/aw/awatcher/package.nix b/pkgs/by-name/aw/awatcher/package.nix index a1960efd1a747..a2fbb0b7173d7 100644 --- a/pkgs/by-name/aw/awatcher/package.nix +++ b/pkgs/by-name/aw/awatcher/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, openssl -, pkg-config +{ + lib, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/aw/awf/package.nix b/pkgs/by-name/aw/awf/package.nix index d72b5dc51ed35..9423dda218c6c 100644 --- a/pkgs/by-name/aw/awf/package.nix +++ b/pkgs/by-name/aw/awf/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk2, gtk3, pkg-config -, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gtk2, + gtk3, + pkg-config, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "awf"; @@ -12,9 +20,16 @@ stdenv.mkDerivation rec { sha256 = "0jl2kxwpvf2n8974zzyp69mqhsbjnjcqm39y0jvijvjb1iy8iman"; }; - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + wrapGAppsHook3 + ]; - buildInputs = [ gtk2 gtk3 ]; + buildInputs = [ + gtk2 + gtk3 + ]; autoreconfPhase = '' patchShebangs ./autogen.sh diff --git a/pkgs/by-name/aw/aws-azure-login/package.nix b/pkgs/by-name/aw/aws-azure-login/package.nix index fc693e3eed012..86ff83af091a7 100644 --- a/pkgs/by-name/aw/aws-azure-login/package.nix +++ b/pkgs/by-name/aw/aws-azure-login/package.nix @@ -1,13 +1,14 @@ -{ lib -, callPackage -, stdenv -, chromium -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nodejs -, fixup-yarn-lock -, yarn +{ + lib, + callPackage, + stdenv, + chromium, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + fixup-yarn-lock, + yarn, }: stdenv.mkDerivation (finalAttrs: { pname = "aws-azure-login"; diff --git a/pkgs/by-name/aw/aws-azure-login/tests.nix b/pkgs/by-name/aw/aws-azure-login/tests.nix index 694492322c86f..f4bad22b97399 100644 --- a/pkgs/by-name/aw/aws-azure-login/tests.nix +++ b/pkgs/by-name/aw/aws-azure-login/tests.nix @@ -1,11 +1,13 @@ -{ lib -, runCommand -, package +{ + lib, + runCommand, + package, }: - runCommand "${package.pname}-tests" - { - HOME = "/tmp/home"; - } '' +runCommand "${package.pname}-tests" + { + HOME = "/tmp/home"; + } + '' mkdir -p "''${HOME}/.aws" cat > "''${HOME}/.aws/config" <<'EOF' [profile my-profile] diff --git a/pkgs/by-name/aw/aws-c-auth/package.nix b/pkgs/by-name/aw/aws-c-auth/package.nix index 70aa863a7ce21..7de2f221a0e63 100644 --- a/pkgs/by-name/aw/aws-c-auth/package.nix +++ b/pkgs/by-name/aw/aws-c-auth/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, aws-c-cal -, aws-c-common -, aws-c-compression -, aws-c-http -, aws-c-io -, aws-c-sdkutils -, cmake -, nix -, s2n-tls +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-cal, + aws-c-common, + aws-c-compression, + aws-c-http, + aws-c-io, + aws-c-sdkutils, + cmake, + nix, + s2n-tls, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aw/aws-c-common/package.nix b/pkgs/by-name/aw/aws-c-common/package.nix index 8166497efa501..8c3bf32db72ca 100644 --- a/pkgs/by-name/aw/aws-c-common/package.nix +++ b/pkgs/by-name/aw/aws-c-common/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, nix +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nix, }: stdenv.mkDerivation rec { @@ -18,28 +19,34 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - ] ++ lib.optionals stdenv.hostPlatform.isRiscV [ - "-DCMAKE_C_FLAGS=-fasynchronous-unwind-tables" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isRiscV [ + "-DCMAKE_C_FLAGS=-fasynchronous-unwind-tables" + ]; # aws-c-common misuses cmake modules, so we need # to manually add a MODULE_PATH to its consumers setupHook = ./setup-hook.sh; # Prevent the execution of tests known to be flaky. - preCheck = let - ignoreTests = [ - "promise_test_multiple_waiters" - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - "sba_metrics" # https://github.com/awslabs/aws-c-common/issues/839 - ]; - in '' - cat <CTestCustom.cmake - SET(CTEST_CUSTOM_TESTS_IGNORE ${toString ignoreTests}) - EOW - ''; + preCheck = + let + ignoreTests = + [ + "promise_test_multiple_waiters" + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + "sba_metrics" # https://github.com/awslabs/aws-c-common/issues/839 + ]; + in + '' + cat <CTestCustom.cmake + SET(CTEST_CUSTOM_TESTS_IGNORE ${toString ignoreTests}) + EOW + ''; doCheck = true; @@ -52,6 +59,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/awslabs/aws-c-common"; license = licenses.asl20; platforms = platforms.unix; - maintainers = with maintainers; [ orivej r-burns ]; + maintainers = with maintainers; [ + orivej + r-burns + ]; }; } diff --git a/pkgs/by-name/aw/aws-c-compression/package.nix b/pkgs/by-name/aw/aws-c-compression/package.nix index cb115f531f501..8ef11be4baf88 100644 --- a/pkgs/by-name/aw/aws-c-compression/package.nix +++ b/pkgs/by-name/aw/aws-c-compression/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, aws-c-common -, cmake -, nix +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-common, + cmake, + nix, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aw/aws-c-event-stream/package.nix b/pkgs/by-name/aw/aws-c-event-stream/package.nix index 9b568b3721413..1e5175a02f2c7 100644 --- a/pkgs/by-name/aw/aws-c-event-stream/package.nix +++ b/pkgs/by-name/aw/aws-c-event-stream/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, aws-c-cal, aws-c-common, aws-c-io, aws-checksums, nix, s2n-tls, libexecinfo }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + aws-c-cal, + aws-c-common, + aws-c-io, + aws-checksums, + nix, + s2n-tls, + libexecinfo, +}: stdenv.mkDerivation rec { pname = "aws-c-event-stream"; @@ -13,8 +25,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ aws-c-cal aws-c-common aws-c-io aws-checksums s2n-tls ] - ++ lib.optional stdenv.hostPlatform.isMusl libexecinfo; + buildInputs = [ + aws-c-cal + aws-c-common + aws-c-io + aws-checksums + s2n-tls + ] ++ lib.optional stdenv.hostPlatform.isMusl libexecinfo; cmakeFlags = [ "-DBUILD_SHARED_LIBS:BOOL=ON" diff --git a/pkgs/by-name/aw/aws-c-http/package.nix b/pkgs/by-name/aw/aws-c-http/package.nix index ac35fd5d57b05..4939dd9b54c4d 100644 --- a/pkgs/by-name/aw/aws-c-http/package.nix +++ b/pkgs/by-name/aw/aws-c-http/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, aws-c-cal -, aws-c-common -, aws-c-compression -, aws-c-io -, cmake -, nix -, s2n-tls +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-cal, + aws-c-common, + aws-c-compression, + aws-c-io, + cmake, + nix, + s2n-tls, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aw/aws-c-mqtt/package.nix b/pkgs/by-name/aw/aws-c-mqtt/package.nix index 3eadad12ad031..51f6778bd44a9 100644 --- a/pkgs/by-name/aw/aws-c-mqtt/package.nix +++ b/pkgs/by-name/aw/aws-c-mqtt/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, aws-c-cal -, aws-c-common -, aws-c-compression -, aws-c-http -, aws-c-io -, cmake -, nix -, s2n-tls +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-cal, + aws-c-common, + aws-c-compression, + aws-c-http, + aws-c-io, + cmake, + nix, + s2n-tls, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aw/aws-c-s3/package.nix b/pkgs/by-name/aw/aws-c-s3/package.nix index 5c834da72cc41..ef861a87608e3 100644 --- a/pkgs/by-name/aw/aws-c-s3/package.nix +++ b/pkgs/by-name/aw/aws-c-s3/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, aws-c-auth -, aws-c-cal -, aws-c-common -, aws-c-compression -, aws-c-http -, aws-c-io -, aws-checksums -, cmake -, nix -, s2n-tls +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-auth, + aws-c-cal, + aws-c-common, + aws-c-compression, + aws-c-http, + aws-c-io, + aws-checksums, + cmake, + nix, + s2n-tls, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aw/aws-c-sdkutils/package.nix b/pkgs/by-name/aw/aws-c-sdkutils/package.nix index dc5dc02f6242d..071145b3b871d 100644 --- a/pkgs/by-name/aw/aws-c-sdkutils/package.nix +++ b/pkgs/by-name/aw/aws-c-sdkutils/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, aws-c-common -, cmake -, nix +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-common, + cmake, + nix, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/aw/aws-checksums/package.nix b/pkgs/by-name/aw/aws-checksums/package.nix index f0a9a0cf665f4..f4f6a3a494420 100644 --- a/pkgs/by-name/aw/aws-checksums/package.nix +++ b/pkgs/by-name/aw/aws-checksums/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, nix }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + aws-c-common, + nix, +}: stdenv.mkDerivation rec { pname = "aws-checksums"; diff --git a/pkgs/by-name/aw/aws-crt-cpp/package.nix b/pkgs/by-name/aw/aws-crt-cpp/package.nix index 534314443e4f8..97863d65dabba 100644 --- a/pkgs/by-name/aw/aws-crt-cpp/package.nix +++ b/pkgs/by-name/aw/aws-crt-cpp/package.nix @@ -1,25 +1,30 @@ -{ lib, stdenv -, fetchFromGitHub -, aws-c-auth -, aws-c-cal -, aws-c-common -, aws-c-compression -, aws-c-event-stream -, aws-c-http -, aws-c-io -, aws-c-mqtt -, aws-c-s3 -, aws-checksums -, cmake -, s2n-tls -, nix +{ + lib, + stdenv, + fetchFromGitHub, + aws-c-auth, + aws-c-cal, + aws-c-common, + aws-c-compression, + aws-c-event-stream, + aws-c-http, + aws-c-io, + aws-c-mqtt, + aws-c-s3, + aws-checksums, + cmake, + s2n-tls, + nix, }: stdenv.mkDerivation rec { pname = "aws-crt-cpp"; version = "0.26.12"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "awslabs"; diff --git a/pkgs/by-name/aw/aws-gate/package.nix b/pkgs/by-name/aw/aws-gate/package.nix index 1561d1c17a92e..b7282325d7616 100644 --- a/pkgs/by-name/aw/aws-gate/package.nix +++ b/pkgs/by-name/aw/aws-gate/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, installShellFiles -, python3Packages -, ssm-session-manager-plugin +{ + lib, + fetchFromGitHub, + installShellFiles, + python3Packages, + ssm-session-manager-plugin, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/aw/aws-iam-authenticator/package.nix b/pkgs/by-name/aw/aws-iam-authenticator/package.nix index c84d24eecd320..376ddb7d5bbe8 100644 --- a/pkgs/by-name/aw/aws-iam-authenticator/package.nix +++ b/pkgs/by-name/aw/aws-iam-authenticator/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,13 +17,17 @@ buildGoModule rec { vendorHash = "sha256-gFz1QrzLGMPyjB8yo+/FscZEpb2msshoUfBGmNRbvJM="; - ldflags = let PKG = "sigs.k8s.io/aws-iam-authenticator"; in [ - "-s" - "-w" - "-X=${PKG}/pkg.Version=${version}" - "-X=${PKG}/pkg.BuildDate=1970-01-01T01:01:01Z" - "-X ?${PKG}/pkg.CommitID=${version}" - ]; + ldflags = + let + PKG = "sigs.k8s.io/aws-iam-authenticator"; + in + [ + "-s" + "-w" + "-X=${PKG}/pkg.Version=${version}" + "-X=${PKG}/pkg.BuildDate=1970-01-01T01:01:01Z" + "-X ?${PKG}/pkg.CommitID=${version}" + ]; subPackages = [ "cmd/aws-iam-authenticator" ]; diff --git a/pkgs/by-name/aw/aws-lambda-rie/package.nix b/pkgs/by-name/aw/aws-lambda-rie/package.nix index 04abcfbcbbf1f..e8a2568c72eb3 100644 --- a/pkgs/by-name/aw/aws-lambda-rie/package.nix +++ b/pkgs/by-name/aw/aws-lambda-rie/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "aws-lambda-runtime-interface-emulator"; diff --git a/pkgs/by-name/aw/aws-nuke/package.nix b/pkgs/by-name/aw/aws-nuke/package.nix index af8acd946fb1b..301e5bcb770b8 100644 --- a/pkgs/by-name/aw/aws-nuke/package.nix +++ b/pkgs/by-name/aw/aws-nuke/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -29,7 +30,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installShellCompletion --cmd aws-nuke \ diff --git a/pkgs/by-name/aw/aws-rotate-key/package.nix b/pkgs/by-name/aw/aws-rotate-key/package.nix index b2f3a85e439e9..b75901f3b0dcf 100644 --- a/pkgs/by-name/aw/aws-rotate-key/package.nix +++ b/pkgs/by-name/aw/aws-rotate-key/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, aws-rotate-key }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + aws-rotate-key, +}: buildGoModule rec { pname = "aws-rotate-key"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-gXtTd7lU9m9rO1w7Fx8o/s45j63h6GtUZrjOzFI4Q/o="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = aws-rotate-key; diff --git a/pkgs/by-name/aw/aws-sso-cli/package.nix b/pkgs/by-name/aw/aws-sso-cli/package.nix index b77680f058f29..99412edca5e07 100644 --- a/pkgs/by-name/aw/aws-sso-cli/package.nix +++ b/pkgs/by-name/aw/aws-sso-cli/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, fetchFromGitHub -, getent -, lib -, makeWrapper -, stdenv -, xdg-utils +{ + buildGoModule, + fetchFromGitHub, + getent, + lib, + makeWrapper, + stdenv, + xdg-utils, }: buildGoModule rec { pname = "aws-sso-cli"; @@ -32,13 +33,14 @@ buildGoModule rec { nativeCheckInputs = [ getent ]; - checkFlags = let - skippedTests = [ - "TestAWSConsoleUrl" - "TestAWSFederatedUrl" - "TestServerWithSSL" # https://github.com/synfinatic/aws-sso-cli/issues/1030 -- remove when version >= 2.x - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "TestDetectShellBash" ]; - in + checkFlags = + let + skippedTests = [ + "TestAWSConsoleUrl" + "TestAWSFederatedUrl" + "TestServerWithSSL" # https://github.com/synfinatic/aws-sso-cli/issues/1030 -- remove when version >= 2.x + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "TestDetectShellBash" ]; + in [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; meta = with lib; { diff --git a/pkgs/by-name/aw/aws-sso-creds/package.nix b/pkgs/by-name/aw/aws-sso-creds/package.nix index 3dbf8f135f0fe..3a7a5f115f67e 100644 --- a/pkgs/by-name/aw/aws-sso-creds/package.nix +++ b/pkgs/by-name/aw/aws-sso-creds/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, makeWrapper -, xdg-utils +{ + buildGoModule, + fetchFromGitHub, + lib, + makeWrapper, + xdg-utils, }: buildGoModule rec { pname = "aws-sso-creds"; diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index a99ed43ea7c0f..bd08e2269a09b 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, lib -, makeWrapper -, stdenv -, xdg-utils +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + makeWrapper, + stdenv, + xdg-utils, }: buildGoModule rec { pname = "aws-vault"; @@ -19,19 +20,23 @@ buildGoModule rec { vendorHash = "sha256-4bJKDEZlO0DzEzTQ7m+SQuzhe+wKmL6wLueqgSz/46s="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; postInstall = '' # make xdg-open overrideable at runtime # aws-vault uses https://github.com/skratchdot/open-golang/blob/master/open/open.go to open links - ${lib.optionalString (!stdenv.hostPlatform.isDarwin) "wrapProgram $out/bin/aws-vault --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}"} + ${lib.optionalString ( + !stdenv.hostPlatform.isDarwin + ) "wrapProgram $out/bin/aws-vault --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}"} installShellCompletion --cmd aws-vault \ --bash $src/contrib/completions/bash/aws-vault.bash \ --fish $src/contrib/completions/fish/aws-vault.fish \ --zsh $src/contrib/completions/zsh/aws-vault.zsh ''; - doCheck = false; subPackages = [ "." ]; @@ -48,8 +53,7 @@ buildGoModule rec { ''; meta = with lib; { - description = - "A vault for securely storing and accessing AWS credentials in development environments"; + description = "A vault for securely storing and accessing AWS credentials in development environments"; mainProgram = "aws-vault"; homepage = "https://github.com/99designs/aws-vault"; license = licenses.mit; diff --git a/pkgs/by-name/aw/aws-workspaces/package.nix b/pkgs/by-name/aw/aws-workspaces/package.nix index 5dad383078962..6952b24a07c61 100644 --- a/pkgs/by-name/aw/aws-workspaces/package.nix +++ b/pkgs/by-name/aw/aws-workspaces/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, makeWrapper -, dpkg -, fetchurl -, autoPatchelfHook -, curl -, libkrb5 -, lttng-ust -, libpulseaudio -, gtk3 -, openssl_1_1 -, icu70 -, webkitgtk_4_0 -, librsvg -, gdk-pixbuf -, libsoup_2_4 -, glib-networking -, graphicsmagick_q16 -, libva -, libusb1 -, hiredis -, xcbutil +{ + stdenv, + lib, + makeWrapper, + dpkg, + fetchurl, + autoPatchelfHook, + curl, + libkrb5, + lttng-ust, + libpulseaudio, + gtk3, + openssl_1_1, + icu70, + webkitgtk_4_0, + librsvg, + gdk-pixbuf, + libsoup_2_4, + glib-networking, + graphicsmagick_q16, + libva, + libusb1, + hiredis, + xcbutil, }: stdenv.mkDerivation (finalAttrs: { @@ -98,7 +99,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://clients.amazonworkspaces.com"; license = licenses.unfree; mainProgram = "workspacesclient"; - maintainers = with maintainers; [ mausch dylanmtaylor ]; + maintainers = with maintainers; [ + mausch + dylanmtaylor + ]; platforms = [ "x86_64-linux" ]; # TODO Mac support sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; diff --git a/pkgs/by-name/aw/aws_mturk_clt/package.nix b/pkgs/by-name/aw/aws_mturk_clt/package.nix index 9b03e2dd1bdbd..4d6408a0e69db 100644 --- a/pkgs/by-name/aw/aws_mturk_clt/package.nix +++ b/pkgs/by-name/aw/aws_mturk_clt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jre }: +{ + lib, + stdenv, + fetchurl, + jre, +}: stdenv.mkDerivation rec { pname = "aws-mturk-clt"; @@ -9,41 +14,39 @@ stdenv.mkDerivation rec { sha256 = "00yyc7k3iygg83cknv9i2dsaxwpwzdkc8a2l9j56lg999hw3mqm3"; }; - installPhase = - '' - mkdir -p $out - cp -prvd bin $out/ + installPhase = '' + mkdir -p $out + cp -prvd bin $out/ - for i in $out/bin/*.sh; do - sed -i "$i" -e "s|^MTURK_CMD_HOME=.*|MTURK_CMD_HOME=$out\nexport JAVA_HOME=${jre}|" - done + for i in $out/bin/*.sh; do + sed -i "$i" -e "s|^MTURK_CMD_HOME=.*|MTURK_CMD_HOME=$out\nexport JAVA_HOME=${jre}|" + done - mkdir -p $out/lib - cp -prvd lib/* $out/lib/ - ''; # */ + mkdir -p $out/lib + cp -prvd lib/* $out/lib/ + ''; # */ meta = { homepage = "https://requester.mturk.com/developer"; description = "Command line tools for interacting with the Amazon Mechanical Turk"; license = lib.licenses.amazonsl; - longDescription = - '' - The Amazon Mechanical Turk is a crowdsourcing marketplace that - allows users (“requesters”) to submit tasks to be performed by - other humans (“workers”) for a small fee. This package - contains command-line tools for submitting tasks, querying - results, and so on. - - The command-line tools expect a file - mturk.properties in the current directory, - which should contain the following: - - - access_key=[insert your access key here] - secret_key=[insert your secret key here] - service_url=http://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester - - ''; + longDescription = '' + The Amazon Mechanical Turk is a crowdsourcing marketplace that + allows users (“requesters”) to submit tasks to be performed by + other humans (“workers”) for a small fee. This package + contains command-line tools for submitting tasks, querying + results, and so on. + + The command-line tools expect a file + mturk.properties in the current directory, + which should contain the following: + + + access_key=[insert your access key here] + secret_key=[insert your secret key here] + service_url=http://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester + + ''; }; } diff --git a/pkgs/by-name/aw/awscli/package.nix b/pkgs/by-name/aw/awscli/package.nix index e9b5af2c1b9d5..1d5b159627e0d 100644 --- a/pkgs/by-name/aw/awscli/package.nix +++ b/pkgs/by-name/aw/awscli/package.nix @@ -1,11 +1,12 @@ -{ lib -, python3 -, fetchPypi -, groff -, less -, nix-update-script -, testers -, awscli +{ + lib, + python3, + fetchPypi, + groff, + less, + nix-update-script, + testers, + awscli, }: let diff --git a/pkgs/by-name/aw/awslogs/package.nix b/pkgs/by-name/aw/awslogs/package.nix index 87285da594929..e90da6b3fee4a 100644 --- a/pkgs/by-name/aw/awslogs/package.nix +++ b/pkgs/by-name/aw/awslogs/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -24,7 +25,6 @@ python3.pkgs.buildPythonApplication rec { jmespath ]; - postPatch = '' substituteInPlace setup.py \ --replace "boto3>=1.34.75" "boto3>=1.34.58" \ diff --git a/pkgs/by-name/aw/awsls/package.nix b/pkgs/by-name/aw/awsls/package.nix index 322d3aacaf289..4ea289d01b55a 100644 --- a/pkgs/by-name/aw/awsls/package.nix +++ b/pkgs/by-name/aw/awsls/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "awsls"; @@ -14,8 +18,16 @@ buildGoModule rec { vendorHash = "sha256-ZyMO+KCqoePF6MqHFt8X4tZR4nBhuSPgJDrX+emM6jc="; ldflags = - let t = "github.com/jckuester/awsls/internal"; - in [ "-s" "-w" "-X ${t}.version=${version}" "-X ${t}.commit=${src.rev}" "-X ${t}.date=unknown" ]; + let + t = "github.com/jckuester/awsls/internal"; + in + [ + "-s" + "-w" + "-X ${t}.version=${version}" + "-X ${t}.commit=${src.rev}" + "-X ${t}.date=unknown" + ]; doCheck = false; diff --git a/pkgs/by-name/aw/awsrm/package.nix b/pkgs/by-name/aw/awsrm/package.nix index 3fd9896507bea..20d0e120ed432 100644 --- a/pkgs/by-name/aw/awsrm/package.nix +++ b/pkgs/by-name/aw/awsrm/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "awsrm"; @@ -14,8 +18,16 @@ buildGoModule rec { vendorHash = "sha256-CldEAeiFH7gdFNLbIe/oTzs8Pdnde7EqLr7vP7SMDGU="; ldflags = - let t = "github.com/jckuester/awsrm/internal"; - in [ "-s" "-w" "-X ${t}.version=${version}" "-X ${t}.commit=${src.rev}" "-X ${t}.date=unknown" ]; + let + t = "github.com/jckuester/awsrm/internal"; + in + [ + "-s" + "-w" + "-X ${t}.version=${version}" + "-X ${t}.commit=${src.rev}" + "-X ${t}.date=unknown" + ]; doCheck = false; diff --git a/pkgs/by-name/aw/awstats/package.nix b/pkgs/by-name/aw/awstats/package.nix index e1479e6192cb9..2bc8b3cfea452 100644 --- a/pkgs/by-name/aw/awstats/package.nix +++ b/pkgs/by-name/aw/awstats/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, perlPackages -, jdk +{ + lib, + fetchurl, + perlPackages, + jdk, }: perlPackages.buildPerlPackage rec { @@ -18,7 +19,11 @@ perlPackages.buildPerlPackage rec { --replace /usr/share/awstats/ "$out/wwwroot/cgi-bin/" ''; - outputs = [ "bin" "out" "doc" ]; # bin just links the user-run executable + outputs = [ + "bin" + "out" + "doc" + ]; # bin just links the user-run executable propagatedBuildOutputs = [ ]; # otherwise out propagates bin -> cycle diff --git a/pkgs/by-name/aw/awsweeper/package.nix b/pkgs/by-name/aw/awsweeper/package.nix index 064d210907a0b..2a37ef68238e2 100644 --- a/pkgs/by-name/aw/awsweeper/package.nix +++ b/pkgs/by-name/aw/awsweeper/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "awsweeper"; @@ -13,7 +17,13 @@ buildGoModule rec { vendorHash = "sha256-jzK56x5mzQkD3tSs6X0Z2Zn1OLXFHgWHz0YLZ3m3NS4="; - ldflags = [ "-s" "-w" "-X github.com/jckuester/awsweeper/internal.version=${version}" "-X github.com/jckuester/awsweeper/internal.commit=${src.rev}" "-X github.com/jckuester/awsweeper/internal.date=unknown" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/jckuester/awsweeper/internal.version=${version}" + "-X github.com/jckuester/awsweeper/internal.commit=${src.rev}" + "-X github.com/jckuester/awsweeper/internal.date=unknown" + ]; doCheck = false; diff --git a/pkgs/by-name/ax/ax25-apps/package.nix b/pkgs/by-name/ax/ax25-apps/package.nix index ea53d7c38b5a0..3ec0698d81fc2 100644 --- a/pkgs/by-name/ax/ax25-apps/package.nix +++ b/pkgs/by-name/ax/ax25-apps/package.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, fetchurl -, libax25 -, ncurses +{ + lib, + stdenv, + fetchurl, + libax25, + ncurses, }: stdenv.mkDerivation rec { pname = "ax25-apps"; version = "0.0.8-rc5"; - buildInputs = [ libax25 ncurses ]; + buildInputs = [ + libax25 + ncurses + ]; # Due to recent unsolvable administrative domain problems with linux-ax25.org, # the new domain is linux-ax25.in-berlin.de diff --git a/pkgs/by-name/ax/ax25-tools/package.nix b/pkgs/by-name/ax/ax25-tools/package.nix index 80c42da9a3d11..dd209afa8cd5d 100644 --- a/pkgs/by-name/ax/ax25-tools/package.nix +++ b/pkgs/by-name/ax/ax25-tools/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, libax25 +{ + lib, + stdenv, + fetchurl, + libax25, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ax/ax25ms/package.nix b/pkgs/by-name/ax/ax25ms/package.nix index 94a5ca9ce6f83..554ce93c0c4e5 100644 --- a/pkgs/by-name/ax/ax25ms/package.nix +++ b/pkgs/by-name/ax/ax25ms/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, protobuf -, pkg-config -, grpc -, libtool -, which -, automake -, libax25 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + protobuf, + pkg-config, + grpc, + libtool, + which, + automake, + libax25, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ax/axmldec/package.nix b/pkgs/by-name/ax/axmldec/package.nix index f65801b78387b..7d8fba5a6d0d1 100644 --- a/pkgs/by-name/ax/axmldec/package.nix +++ b/pkgs/by-name/ax/axmldec/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doxygen -, boost -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, + boost, + zlib, }: stdenv.mkDerivation rec { @@ -19,8 +20,14 @@ stdenv.mkDerivation rec { hash = "sha256-LFDZZbRDa8mQmglgS4DA/OqXp0HJZ2uqg1hbStdgvUw="; }; - nativeBuildInputs = [ cmake doxygen ]; - buildInputs = [ boost zlib ]; + nativeBuildInputs = [ + cmake + doxygen + ]; + buildInputs = [ + boost + zlib + ]; meta = with lib; { description = "Stand-alone binary AndroidManifest.xml decoder"; diff --git a/pkgs/by-name/ay/ayu-theme-gtk/package.nix b/pkgs/by-name/ay/ayu-theme-gtk/package.nix index 1f154f6de2f69..f9af839c04d6b 100644 --- a/pkgs/by-name/ay/ayu-theme-gtk/package.nix +++ b/pkgs/by-name/ay/ayu-theme-gtk/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, autoreconfHook -, fetchFromGitHub -, gnome-shell -, gnome-themes-extra -, gtk-engine-murrine -, gtk3 -, inkscape -, lib -, optipng -, pkg-config -, sassc +{ + stdenv, + autoreconfHook, + fetchFromGitHub, + gnome-shell, + gnome-themes-extra, + gtk-engine-murrine, + gtk3, + inkscape, + lib, + optipng, + pkg-config, + sassc, }: stdenv.mkDerivation rec { @@ -66,4 +67,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ lovesegfault ]; }; } - diff --git a/pkgs/by-name/az/azeret-mono/package.nix b/pkgs/by-name/az/azeret-mono/package.nix index dfaf98c965d26..c76f1064faeaf 100644 --- a/pkgs/by-name/az/azeret-mono/package.nix +++ b/pkgs/by-name/az/azeret-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "azeret-mono"; diff --git a/pkgs/by-name/az/azimuth/package.nix b/pkgs/by-name/az/azimuth/package.nix index 739336733cda2..3a986d9c5b656 100644 --- a/pkgs/by-name/az/azimuth/package.nix +++ b/pkgs/by-name/az/azimuth/package.nix @@ -1,13 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, SDL, which, installTool ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL, + which, + installTool ? false, +}: stdenv.mkDerivation rec { pname = "azimuth"; version = "1.0.3"; src = fetchFromGitHub { - owner = "mdsteele"; - repo = "azimuth"; - rev = "v${version}"; + owner = "mdsteele"; + repo = "azimuth"; + rev = "v${version}"; sha256 = "1znfvpmqiixd977jv748glk5zc4cmhw5813zp81waj07r9b0828r"; }; @@ -25,8 +32,7 @@ stdenv.mkDerivation rec { makeFlags = [ "BUILDTYPE=release" "INSTALLDIR=$(out)" - ] ++ (if installTool then ["INSTALLTOOL=true"] else ["INSTALLTOOL=false"]); - + ] ++ (if installTool then [ "INSTALLTOOL=true" ] else [ "INSTALLTOOL=false" ]); enableParallelBuilding = true; diff --git a/pkgs/by-name/az/azmq/package.nix b/pkgs/by-name/az/azmq/package.nix index 83bbd9f98f9ed..2ec9e1cf2bbe3 100644 --- a/pkgs/by-name/az/azmq/package.nix +++ b/pkgs/by-name/az/azmq/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cmake -, ninja -, zeromq -, catch2 +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + ninja, + zeromq, + catch2, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/az/azure-storage-azcopy/package.nix b/pkgs/by-name/az/azure-storage-azcopy/package.nix index 3ac59c582ab30..bb79410bb326f 100644 --- a/pkgs/by-name/az/azure-storage-azcopy/package.nix +++ b/pkgs/by-name/az/azure-storage-azcopy/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -29,6 +30,9 @@ buildGoModule rec { homepage = "https://github.com/Azure/azure-storage-azcopy"; changelog = "https://github.com/Azure/azure-storage-azcopy/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ colemickens kashw2 ]; + maintainers = with maintainers; [ + colemickens + kashw2 + ]; }; } diff --git a/pkgs/by-name/az/azuredatastudio/package.nix b/pkgs/by-name/az/azuredatastudio/package.nix index 62ddf238f7037..3c3583e7ad4eb 100644 --- a/pkgs/by-name/az/azuredatastudio/package.nix +++ b/pkgs/by-name/az/azuredatastudio/package.nix @@ -1,34 +1,35 @@ -{ stdenv -, lib -, fetchurl -, copyDesktopItems -, makeDesktopItem -, makeWrapper -, alsa-lib -, at-spi2-atk -, at-spi2-core -, cairo -, cups -, curl -, dbus -, expat -, gdk-pixbuf -, glib -, gnutar -, gtk3 -, icu -, libdrm -, libunwind -, libuuid -, libxkbcommon -, mesa -, nspr -, nss -, openssl -, pango -, systemd -, xorg -, zlib +{ + stdenv, + lib, + fetchurl, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + alsa-lib, + at-spi2-atk, + at-spi2-core, + cairo, + cups, + curl, + dbus, + expat, + gdk-pixbuf, + glib, + gnutar, + gtk3, + icu, + libdrm, + libunwind, + libuuid, + libxkbcommon, + mesa, + nspr, + nss, + openssl, + pango, + systemd, + xorg, + zlib, }: # from justinwoo/azuredatastudio-nix @@ -44,8 +45,17 @@ let icon = "azuredatastudio"; startupNotify = true; startupWMClass = "azuredatastudio"; - categories = [ "Utility" "TextEditor" "Development" "IDE" ]; - mimeTypes = [ "text/plain" "inode/directory" "application/x-azuredatastudio-workspace" ]; + categories = [ + "Utility" + "TextEditor" + "Development" + "IDE" + ]; + mimeTypes = [ + "text/plain" + "inode/directory" + "application/x-azuredatastudio-workspace" + ]; keywords = [ "azuredatastudio" ]; actions.new-empty-window = { name = "New Empty Window"; @@ -63,7 +73,12 @@ let icon = "azuredatastudio"; startupNotify = true; startupWMClass = "azuredatastudio"; - categories = [ "Utility" "TextEditor" "Development" "IDE" ]; + categories = [ + "Utility" + "TextEditor" + "Development" + "IDE" + ]; mimeTypes = [ "x-scheme-handler/azuredatastudio" ]; keywords = [ "azuredatastudio" ]; noDisplay = true; @@ -74,7 +89,10 @@ stdenv.mkDerivation rec { pname = "azuredatastudio"; version = "1.49.1"; - desktopItems = [ desktopItem urlHandlerDesktopItem ]; + desktopItems = [ + desktopItem + urlHandlerDesktopItem + ]; src = fetchurl { name = "${pname}-${version}.tar.gz"; diff --git a/pkgs/by-name/az/azurite/package.nix b/pkgs/by-name/az/azurite/package.nix index bcd118290f785..1e0fdda3c2879 100644 --- a/pkgs/by-name/az/azurite/package.nix +++ b/pkgs/by-name/az/azurite/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, stdenv -, darwin -, libsecret -, pkg-config -, python3 +{ + lib, + buildNpmPackage, + fetchFromGitHub, + stdenv, + darwin, + libsecret, + pkg-config, + python3, }: buildNpmPackage rec { @@ -21,13 +22,21 @@ buildNpmPackage rec { npmDepsHash = "sha256-jfa04iWz0aOiFD1YkXn5YEXqQcrY+rIDbVmmUaA5sYc="; - nativeBuildInputs = [ pkg-config python3 ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - libsecret - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin; [ - Security - apple_sdk.frameworks.AppKit - ]); + nativeBuildInputs = [ + pkg-config + python3 + ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + libsecret + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin; + [ + Security + apple_sdk.frameworks.AppKit + ] + ); meta = { description = "An open source Azure Storage API compatible server"; diff --git a/pkgs/by-name/b4/b4/package.nix b/pkgs/by-name/b4/b4/package.nix index c175badcc3004..0b951b320dacf 100644 --- a/pkgs/by-name/b4/b4/package.nix +++ b/pkgs/by-name/b4/b4/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, patatt }: +{ + lib, + python3Packages, + fetchPypi, + patatt, +}: python3Packages.buildPythonApplication rec { pname = "b4"; @@ -30,6 +35,10 @@ python3Packages.buildPythonApplication rec { license = licenses.gpl2Only; description = "Helper utility to work with patches made available via a public-inbox archive"; mainProgram = "b4"; - maintainers = with maintainers; [ jb55 qyliss mfrw ]; + maintainers = with maintainers; [ + jb55 + qyliss + mfrw + ]; }; } diff --git a/pkgs/by-name/b4/b43FirmwareCutter/package.nix b/pkgs/by-name/b4/b43FirmwareCutter/package.nix index 65e2596675167..ada2eabe09907 100644 --- a/pkgs/by-name/b4/b43FirmwareCutter/package.nix +++ b/pkgs/by-name/b4/b43FirmwareCutter/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "b43-fwcutter"; diff --git a/pkgs/by-name/b6/b612/package.nix b/pkgs/by-name/b6/b612/package.nix index b78f3a9e85bff..1fee278400e5c 100644 --- a/pkgs/by-name/b6/b612/package.nix +++ b/pkgs/by-name/b6/b612/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "b612"; @@ -37,7 +41,11 @@ stdenvNoCC.mkDerivation rec { imaginary asteroid of the aviator Saint‑Exupéry, benefited from a complete hinting on all the characters. ''; - license = with licenses; [ ofl epl10 bsd3 ]; + license = with licenses; [ + ofl + epl10 + bsd3 + ]; maintainers = with maintainers; [ leenaars ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/ba/babeld/package.nix b/pkgs/by-name/ba/babeld/package.nix index 4fd86e16f446d..46b037653afeb 100644 --- a/pkgs/by-name/ba/babeld/package.nix +++ b/pkgs/by-name/ba/babeld/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, nixosTests +{ + lib, + stdenv, + fetchurl, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ba/babl/package.nix b/pkgs/by-name/ba/babl/package.nix index 5322cb029de91..bfccb384280f7 100644 --- a/pkgs/by-name/ba/babl/package.nix +++ b/pkgs/by-name/ba/babl/package.nix @@ -1,20 +1,25 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gi-docgen -, gobject-introspection -, lcms2 -, vala +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gi-docgen, + gobject-introspection, + lcms2, + vala, }: stdenv.mkDerivation (finalAttrs: { pname = "babl"; version = "0.1.110"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor finalAttrs.version}/babl-${finalAttrs.version}.tar.xz"; @@ -39,13 +44,15 @@ stdenv.mkDerivation (finalAttrs: { lcms2 ]; - mesonFlags = [ - "-Dprefix-dev=${placeholder "dev"}" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - # Docs are opt-out in native but opt-in in cross builds. - "-Dwith-docs=true" - "-Denable-gir=true" - ]; + mesonFlags = + [ + "-Dprefix-dev=${placeholder "dev"}" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + # Docs are opt-out in native but opt-in in cross builds. + "-Dwith-docs=true" + "-Denable-gir=true" + ]; postFixup = '' # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. @@ -56,7 +63,9 @@ stdenv.mkDerivation (finalAttrs: { description = "Image pixel format conversion library"; mainProgram = "babl"; homepage = "https://gegl.org/babl/"; - changelog = "https://gitlab.gnome.org/GNOME/babl/-/blob/BABL_${replaceStrings [ "." ] [ "_" ] finalAttrs.version}/NEWS"; + changelog = "https://gitlab.gnome.org/GNOME/babl/-/blob/BABL_${ + replaceStrings [ "." ] [ "_" ] finalAttrs.version + }/NEWS"; license = licenses.lgpl3Plus; maintainers = with maintainers; [ jtojnar ]; platforms = platforms.unix; diff --git a/pkgs/by-name/ba/backblaze-b2/package.nix b/pkgs/by-name/ba/backblaze-b2/package.nix index 043547e934302..46b970698418d 100644 --- a/pkgs/by-name/ba/backblaze-b2/package.nix +++ b/pkgs/by-name/ba/backblaze-b2/package.nix @@ -1,11 +1,12 @@ -{ lib -, python3Packages -, fetchFromGitHub -, installShellFiles -, testers -, backblaze-b2 -# executable is renamed to backblaze-b2 by default, to avoid collision with boost's 'b2' -, execName ? "backblaze-b2" +{ + lib, + python3Packages, + fetchFromGitHub, + installShellFiles, + testers, + backblaze-b2, + # executable is renamed to backblaze-b2 by default, to avoid collision with boost's 'b2' + execName ? "backblaze-b2", }: python3Packages.buildPythonApplication rec { @@ -73,25 +74,28 @@ python3Packages.buildPythonApplication rec { "test_install_autocomplete" ]; - postInstall = lib.optionalString (execName != "b2") '' - mv "$out/bin/b2" "$out/bin/${execName}" - '' - + '' - installShellCompletion --cmd ${execName} \ - --bash <(register-python-argcomplete ${execName}) \ - --zsh <(register-python-argcomplete ${execName}) - ''; - - passthru.tests.version = (testers.testVersion { - package = backblaze-b2; - command = "${execName} version --short"; - }).overrideAttrs (old: { - # workaround the error: Permission denied: '/homeless-shelter' - # backblaze-b2 fails to create a 'b2' directory under the XDG config path - preHook = '' - export HOME=$(mktemp -d) + postInstall = + lib.optionalString (execName != "b2") '' + mv "$out/bin/b2" "$out/bin/${execName}" + '' + + '' + installShellCompletion --cmd ${execName} \ + --bash <(register-python-argcomplete ${execName}) \ + --zsh <(register-python-argcomplete ${execName}) ''; - }); + + passthru.tests.version = + (testers.testVersion { + package = backblaze-b2; + command = "${execName} version --short"; + }).overrideAttrs + (old: { + # workaround the error: Permission denied: '/homeless-shelter' + # backblaze-b2 fails to create a 'b2' directory under the XDG config path + preHook = '' + export HOME=$(mktemp -d) + ''; + }); meta = with lib; { description = "Command-line tool for accessing the Backblaze B2 storage service"; diff --git a/pkgs/by-name/ba/backdown/package.nix b/pkgs/by-name/ba/backdown/package.nix index 78ad5be3f31ea..c309b9552e0b5 100644 --- a/pkgs/by-name/ba/backdown/package.nix +++ b/pkgs/by-name/ba/backdown/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ba/backgroundremover/package.nix b/pkgs/by-name/ba/backgroundremover/package.nix index 1d16ec2071a70..3c9eab61566aa 100644 --- a/pkgs/by-name/ba/backgroundremover/package.nix +++ b/pkgs/by-name/ba/backgroundremover/package.nix @@ -1,9 +1,10 @@ -{ python3 -, lib -, runCommand -, fetchFromGitHub -, fetchurl -, gitUpdater +{ + python3, + lib, + runCommand, + fetchFromGitHub, + fetchurl, + gitUpdater, }: let @@ -20,7 +21,7 @@ let hash = "sha256-LjVT4j0OzfbVSQgU0z/gzRTLm7N0RQRrfxtTugWwOxs="; }; - models = runCommand "background-remover-models" {} '' + models = runCommand "background-remover-models" { } '' mkdir $out cat ${src}/models/u2a{a,b,c,d} > $out/u2net.pth cat ${src}/models/u2ha{a,b,c,d} > $out/u2net_human_seg.pth @@ -32,9 +33,15 @@ let --replace-fail 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")" ''; - nativeBuildInputs = [ p.setuptools p.wheel ]; + nativeBuildInputs = [ + p.setuptools + p.wheel + ]; - pythonRelaxDeps = [ "pillow" "torchvision" ]; + pythonRelaxDeps = [ + "pillow" + "torchvision" + ]; propagatedBuildInputs = [ p.certifi @@ -66,18 +73,22 @@ let passthru = { inherit models; tests = { - image = let - # random no copyright car image from the internet - demoImage = fetchurl { - url = "https://pics.craiyon.com/2023-07-16/38653769ac3b4e068181cb5ab1e542a1.webp"; - hash = "sha256-Kvd06eZdibgDbabVVe0+cNTeS1rDnMXIZZpPlHIlfBo="; - }; - in runCommand "backgroundremover-image-test.png" { - buildInputs = [ self ]; - } '' - export NUMBA_CACHE_DIR=$(mktemp -d) - backgroundremover -i ${demoImage} -o $out - ''; + image = + let + # random no copyright car image from the internet + demoImage = fetchurl { + url = "https://pics.craiyon.com/2023-07-16/38653769ac3b4e068181cb5ab1e542a1.webp"; + hash = "sha256-Kvd06eZdibgDbabVVe0+cNTeS1rDnMXIZZpPlHIlfBo="; + }; + in + runCommand "backgroundremover-image-test.png" + { + buildInputs = [ self ]; + } + '' + export NUMBA_CACHE_DIR=$(mktemp -d) + backgroundremover -i ${demoImage} -o $out + ''; }; updateScript = gitUpdater { rev-prefix = "v"; }; }; @@ -93,4 +104,5 @@ let maintainers = [ maintainers.lucasew ]; }; }; -in self +in +self diff --git a/pkgs/by-name/ba/backlight-auto/package.nix b/pkgs/by-name/ba/backlight-auto/package.nix index 9fa2d1245d10c..3d8dc7338a9c4 100644 --- a/pkgs/by-name/ba/backlight-auto/package.nix +++ b/pkgs/by-name/ba/backlight-auto/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, zig, libyuv, fetchFromGitHub }: +{ + lib, + stdenv, + zig, + libyuv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "backlight-auto"; version = "0.0.1"; diff --git a/pkgs/by-name/ba/backward-cpp/package.nix b/pkgs/by-name/ba/backward-cpp/package.nix index 1cea8079024ca..84e877ec9642d 100644 --- a/pkgs/by-name/ba/backward-cpp/package.nix +++ b/pkgs/by-name/ba/backward-cpp/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "backward"; diff --git a/pkgs/by-name/ba/bacnet-stack/package.nix b/pkgs/by-name/ba/bacnet-stack/package.nix index 23718b291a977..f3f0f14366ae9 100644 --- a/pkgs/by-name/ba/bacnet-stack/package.nix +++ b/pkgs/by-name/ba/bacnet-stack/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "bacnet-stack"; diff --git a/pkgs/by-name/ba/bada-bib/package.nix b/pkgs/by-name/ba/bada-bib/package.nix index fba3726329094..22bf2189d98dd 100644 --- a/pkgs/by-name/ba/bada-bib/package.nix +++ b/pkgs/by-name/ba/bada-bib/package.nix @@ -1,20 +1,21 @@ -{ lib -, meson -, ninja -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, gdk-pixbuf -, gettext -, glib -, gobject-introspection -, gtk4 -, gtksourceview5 -, libadwaita -, libxml2 -, pkg-config -, python3Packages -, wrapGAppsHook4 +{ + lib, + meson, + ninja, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + gdk-pixbuf, + gettext, + glib, + gobject-introspection, + gtk4, + gtksourceview5, + libadwaita, + libxml2, + pkg-config, + python3Packages, + wrapGAppsHook4, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ba/badger/package.nix b/pkgs/by-name/ba/badger/package.nix index e5128811e9f66..e4a509fdff743 100644 --- a/pkgs/by-name/ba/badger/package.nix +++ b/pkgs/by-name/ba/badger/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ba/badlion-client/package.nix b/pkgs/by-name/ba/badlion-client/package.nix index 78278be9fca3e..f2955ba8244ed 100644 --- a/pkgs/by-name/ba/badlion-client/package.nix +++ b/pkgs/by-name/ba/badlion-client/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "badlion-client"; @@ -13,22 +17,22 @@ let appimageContents = appimageTools.extract { inherit pname version src; }; in - appimageTools.wrapType2 rec { - inherit pname version src; +appimageTools.wrapType2 rec { + inherit pname version src; - extraInstallCommands = '' - install -Dm444 ${appimageContents}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop - install -Dm444 ${appimageContents}/BadlionClient.png $out/share/pixmaps/BadlionClient.png - substituteInPlace $out/share/applications/BadlionClient.desktop \ - --replace 'Exec=AppRun --no-sandbox %U' 'Exec=badlion-client' - ''; + extraInstallCommands = '' + install -Dm444 ${appimageContents}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop + install -Dm444 ${appimageContents}/BadlionClient.png $out/share/pixmaps/BadlionClient.png + substituteInPlace $out/share/applications/BadlionClient.desktop \ + --replace 'Exec=AppRun --no-sandbox %U' 'Exec=badlion-client' + ''; - meta = with lib; { - description = "Most Complete All-In-One Mod Library for Minecraft with 100+ Mods, FPS Improvements, and more"; - homepage = "https://client.badlion.net"; - license = with licenses; [ unfree ]; - maintainers = [ ]; - mainProgram = "badlion-client"; - platforms = [ "x86_64-linux" ]; - }; - } + meta = with lib; { + description = "Most Complete All-In-One Mod Library for Minecraft with 100+ Mods, FPS Improvements, and more"; + homepage = "https://client.badlion.net"; + license = with licenses; [ unfree ]; + maintainers = [ ]; + mainProgram = "badlion-client"; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/by-name/ba/badrobot/package.nix b/pkgs/by-name/ba/badrobot/package.nix index ad2a0bd29750f..eebb26f6f6a5d 100644 --- a/pkgs/by-name/ba/badrobot/package.nix +++ b/pkgs/by-name/ba/badrobot/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "badrobot"; diff --git a/pkgs/by-name/ba/badvpn/package.nix b/pkgs/by-name/ba/badvpn/package.nix index 04eb96eeefd9f..d5fc259f19042 100644 --- a/pkgs/by-name/ba/badvpn/package.nix +++ b/pkgs/by-name/ba/badvpn/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl, nss, pkg-config, nspr, bash, debug ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + nss, + pkg-config, + nspr, + bash, + debug ? false, +}: stdenv.mkDerivation rec { pname = "badvpn"; @@ -11,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-bLTDpq3ohUP+KooPvhv1/AZfdo0HwB3g9QOuE2E/pmY="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ openssl nss @@ -21,7 +35,9 @@ stdenv.mkDerivation rec { preConfigure = '' find . -name '*.sh' -exec sed -e 's@#!/bin/sh@${stdenv.shell}@' -i '{}' ';' find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';' - cmakeFlagsArray=("-DCMAKE_BUILD_TYPE=" "-DCMAKE_C_FLAGS=-O3 ${lib.optionalString (!debug) "-DNDEBUG"}"); + cmakeFlagsArray=("-DCMAKE_BUILD_TYPE=" "-DCMAKE_C_FLAGS=-O3 ${ + lib.optionalString (!debug) "-DNDEBUG" + }"); ''; meta = with lib; { diff --git a/pkgs/by-name/ba/badwolf/package.nix b/pkgs/by-name/ba/badwolf/package.nix index 1c56fedfbdf0e..d0a46e9b81ece 100644 --- a/pkgs/by-name/ba/badwolf/package.nix +++ b/pkgs/by-name/ba/badwolf/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchgit -, ninja -, pkg-config -, ed -, wrapGAppsHook3 -, webkitgtk_4_0 -, libxml2 -, glib-networking -, gettext +{ + lib, + stdenv, + fetchgit, + ninja, + pkg-config, + ed, + wrapGAppsHook3, + webkitgtk_4_0, + libxml2, + glib-networking, + gettext, }: stdenv.mkDerivation rec { @@ -42,8 +43,14 @@ stdenv.mkDerivation rec { description = "Minimalist and privacy-oriented WebKitGTK+ browser"; mainProgram = "badwolf"; homepage = "https://hacktivis.me/projects/badwolf"; - license = with licenses; [ bsd3 cc-by-sa-40 ]; + license = with licenses; [ + bsd3 + cc-by-sa-40 + ]; platforms = platforms.linux; - maintainers = with maintainers; [ laalsaas aleksana ]; + maintainers = with maintainers; [ + laalsaas + aleksana + ]; }; } diff --git a/pkgs/by-name/ba/balanceofsatoshis/package.nix b/pkgs/by-name/ba/balanceofsatoshis/package.nix index b1b17e02366bb..54d611eaec924 100644 --- a/pkgs/by-name/ba/balanceofsatoshis/package.nix +++ b/pkgs/by-name/ba/balanceofsatoshis/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, installShellFiles -, python3 +{ + lib, + buildNpmPackage, + fetchFromGitHub, + installShellFiles, + python3, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ba/ballerburg/package.nix b/pkgs/by-name/ba/ballerburg/package.nix index c8d5fb793832f..67a6d9e1a8259 100644 --- a/pkgs/by-name/ba/ballerburg/package.nix +++ b/pkgs/by-name/ba/ballerburg/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl, cmake, SDL, makeDesktopItem, copyDesktopItems -, imagemagick }: +{ + lib, + stdenv, + fetchurl, + cmake, + SDL, + makeDesktopItem, + copyDesktopItems, + imagemagick, +}: let @@ -8,7 +16,8 @@ let sha256 = "1xq2h87s648wjpjl72ds3xnnk2jp8ghbkhjzh2g4hpkq2zdz90hy"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "ballerburg"; version = "1.2.0"; @@ -17,7 +26,11 @@ in stdenv.mkDerivation rec { sha256 = "sha256-BiX0shPBGA8sshee8rxs41x+mdsrJzBqhpDDic6sYwA="; }; - nativeBuildInputs = [ cmake copyDesktopItems imagemagick ]; + nativeBuildInputs = [ + cmake + copyDesktopItems + imagemagick + ]; buildInputs = [ SDL ]; diff --git a/pkgs/by-name/ba/balsa/package.nix b/pkgs/by-name/ba/balsa/package.nix index acec1b5cf0fae..6d4bbd0622378 100644 --- a/pkgs/by-name/ba/balsa/package.nix +++ b/pkgs/by-name/ba/balsa/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchurl -, glib -, gmime3 -, gnutls -, gobject-introspection -, gpgme -, gtk3 -, gtksourceview4 -, gtkspell3 -, intltool -, libcanberra-gtk3 -, libesmtp -, libical -, libnotify -, libsecret -, openssl -, pkg-config -, sqlite -, webkitgtk_4_0 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + glib, + gmime3, + gnutls, + gobject-introspection, + gpgme, + gtk3, + gtksourceview4, + gtkspell3, + intltool, + libcanberra-gtk3, + libesmtp, + libical, + libnotify, + libsecret, + openssl, + pkg-config, + sqlite, + webkitgtk_4_0, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ba/bam/package.nix b/pkgs/by-name/ba/bam/package.nix index c435e2fa16ec2..21493a5530b1b 100644 --- a/pkgs/by-name/ba/bam/package.nix +++ b/pkgs/by-name/ba/bam/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, lua5_3, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + lua5_3, + python3, +}: stdenv.mkDerivation rec { pname = "bam"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"; }; - nativeBuildInputs = [ lua5_3 python3 ]; + nativeBuildInputs = [ + lua5_3 + python3 + ]; buildPhase = "${stdenv.shell} make_unix.sh"; @@ -29,8 +38,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Yet another build manager"; mainProgram = "bam"; - maintainers = with maintainers; - [ + maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; diff --git a/pkgs/by-name/ba/bamf/package.nix b/pkgs/by-name/ba/bamf/package.nix index ce9a3d118973a..d79106094b6dc 100644 --- a/pkgs/by-name/ba/bamf/package.nix +++ b/pkgs/by-name/ba/bamf/package.nix @@ -1,30 +1,35 @@ -{ stdenv -, lib -, autoreconfHook -, gitUpdater -, gnome-common -, which -, fetchgit -, libgtop -, libwnck -, glib -, vala -, pkg-config -, libstartup_notification -, gobject-introspection -, gtk-doc -, docbook_xsl -, xorgserver -, dbus -, python3 -, wrapGAppsHook3 +{ + stdenv, + lib, + autoreconfHook, + gitUpdater, + gnome-common, + which, + fetchgit, + libgtop, + libwnck, + glib, + vala, + pkg-config, + libstartup_notification, + gobject-introspection, + gtk-doc, + docbook_xsl, + xorgserver, + dbus, + python3, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "bamf"; version = "0.5.6"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchgit { url = "https://git.launchpad.net/~unity-team/bamf"; diff --git a/pkgs/by-name/ba/bamtools/package.nix b/pkgs/by-name/ba/bamtools/package.nix index 820459e00003b..b85f703bd9deb 100644 --- a/pkgs/by-name/ba/bamtools/package.nix +++ b/pkgs/by-name/ba/bamtools/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, jsoncpp -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + jsoncpp, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ba/banana-accounting/package.nix b/pkgs/by-name/ba/banana-accounting/package.nix index b1d8d45bccdcb..b1e455bbf6c37 100644 --- a/pkgs/by-name/ba/banana-accounting/package.nix +++ b/pkgs/by-name/ba/banana-accounting/package.nix @@ -1,15 +1,16 @@ -{ autoPatchelfHook -, cairo -, e2fsprogs -, fetchurl -, gmp -, gtk3 -, libGL -, libX11 -, lib -, stdenv -, libgcrypt -, wrapGAppsHook3 +{ + autoPatchelfHook, + cairo, + e2fsprogs, + fetchurl, + gmp, + gtk3, + libGL, + libX11, + lib, + stdenv, + libgcrypt, + wrapGAppsHook3, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ba/banana-cursor/package.nix b/pkgs/by-name/ba/banana-cursor/package.nix index 2bb9d1ea4f578..309b476ded8bc 100644 --- a/pkgs/by-name/ba/banana-cursor/package.nix +++ b/pkgs/by-name/ba/banana-cursor/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC - -, # build deps - clickgen -, python3Packages +{ + fetchFromGitHub, + lib, + stdenvNoCC, + + # build deps + clickgen, + python3Packages, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -44,7 +45,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Banana Cursor"; homepage = "https://github.com/ful1e5/banana-cursor"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ getpsyched yrd ]; + maintainers = with maintainers; [ + getpsyched + yrd + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/ba/banana-vera/package.nix b/pkgs/by-name/ba/banana-vera/package.nix index 704b822fa45e8..f847f77bc570d 100644 --- a/pkgs/by-name/ba/banana-vera/package.nix +++ b/pkgs/by-name/ba/banana-vera/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python310 -, tcl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python310, + tcl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ba/bandwidth/package.nix b/pkgs/by-name/ba/bandwidth/package.nix index eb3f37e00ba17..b6471d2d75974 100644 --- a/pkgs/by-name/ba/bandwidth/package.nix +++ b/pkgs/by-name/ba/bandwidth/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, nasm }: +{ + lib, + stdenv, + fetchurl, + nasm, +}: let inherit (stdenv.hostPlatform.parsed.cpu) bits; diff --git a/pkgs/by-name/ba/banking/package.nix b/pkgs/by-name/ba/banking/package.nix index 4aa70e81fab48..cf19bad0f9e79 100644 --- a/pkgs/by-name/ba/banking/package.nix +++ b/pkgs/by-name/ba/banking/package.nix @@ -1,18 +1,19 @@ -{ lib -, fetchFromGitLab -, python3 -, appstream-glib -, desktop-file-utils -, glib -, libxml2 -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, gobject-introspection -, libadwaita -, librsvg -, gtk4 +{ + lib, + fetchFromGitLab, + python3, + appstream-glib, + desktop-file-utils, + glib, + libxml2, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + gobject-introspection, + libadwaita, + librsvg, + gtk4, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ba/bankstown-lv2/package.nix b/pkgs/by-name/ba/bankstown-lv2/package.nix index 7cbe4708ff385..6f36c19d1998e 100644 --- a/pkgs/by-name/ba/bankstown-lv2/package.nix +++ b/pkgs/by-name/ba/bankstown-lv2/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ba/banner/package.nix b/pkgs/by-name/ba/banner/package.nix index af54f59999c80..7bbcf4e5057fd 100644 --- a/pkgs/by-name/ba/banner/package.nix +++ b/pkgs/by-name/ba/banner/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "banner"; diff --git a/pkgs/by-name/ba/bao/package.nix b/pkgs/by-name/ba/bao/package.nix index c36a1f34e96d8..8e16ed6b720d2 100644 --- a/pkgs/by-name/ba/bao/package.nix +++ b/pkgs/by-name/ba/bao/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,10 @@ rustPlatform.buildRustPackage rec { description = "Implementation of BLAKE3 verified streaming"; homepage = "https://github.com/oconnor663/bao"; maintainers = with lib.maintainers; [ amarshall ]; - license = with lib.licenses; [ cc0 asl20 ]; + license = with lib.licenses; [ + cc0 + asl20 + ]; mainProgram = "bao"; }; } diff --git a/pkgs/by-name/ba/baobab/package.nix b/pkgs/by-name/ba/baobab/package.nix index c5aa44bbb5b7c..5f086e1725315 100644 --- a/pkgs/by-name/ba/baobab/package.nix +++ b/pkgs/by-name/ba/baobab/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, gettext -, fetchurl -, vala -, desktop-file-utils -, meson -, ninja -, pkg-config -, gtk4 -, libadwaita -, glib -, libxml2 -, wrapGAppsHook4 -, itstool -, gnome +{ + stdenv, + lib, + gettext, + fetchurl, + vala, + desktop-file-utils, + meson, + ninja, + pkg-config, + gtk4, + libadwaita, + glib, + libxml2, + wrapGAppsHook4, + itstool, + gnome, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ba/bar/package.nix b/pkgs/by-name/ba/bar/package.nix index ee53e9d1cbfbc..938dde819cfda 100644 --- a/pkgs/by-name/ba/bar/package.nix +++ b/pkgs/by-name/ba/bar/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "bar"; diff --git a/pkgs/by-name/ba/barcode/package.nix b/pkgs/by-name/ba/barcode/package.nix index 6199a87925d34..7c27e5cf0ef38 100644 --- a/pkgs/by-name/ba/barcode/package.nix +++ b/pkgs/by-name/ba/barcode/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { version = "0.99"; diff --git a/pkgs/by-name/ba/baresip/package.nix b/pkgs/by-name/ba/baresip/package.nix index e607b56d94d5b..b0d677f0310dd 100644 --- a/pkgs/by-name/ba/baresip/package.nix +++ b/pkgs/by-name/ba/baresip/package.nix @@ -38,35 +38,48 @@ stdenv.mkDerivation rec { rev = "v${version}"; hash = "sha256-0huZP1hopHaN5R1Hki6YutpvoASfIHzHMl/Y4czHHMo="; }; - prePatch = '' - substituteInPlace cmake/FindGTK3.cmake --replace-fail GTK3_CFLAGS_OTHER "" - '' + lib.optionalString (!dbusSupport) '' - substituteInPlace cmake/modules.cmake --replace-fail 'list(APPEND MODULES ctrl_dbus)' "" - ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - SDL2 - alsa-lib - cairo - celt - ffmpeg - gsm - gtk3 - libre - librem - libsndfile - libuuid - libv4l - libvpx - mpg123 - openssl - pipewire - portaudio - spandsp3 - speex - srtp - zlib - ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]); + prePatch = + '' + substituteInPlace cmake/FindGTK3.cmake --replace-fail GTK3_CFLAGS_OTHER "" + '' + + lib.optionalString (!dbusSupport) '' + substituteInPlace cmake/modules.cmake --replace-fail 'list(APPEND MODULES ctrl_dbus)' "" + ''; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + SDL2 + alsa-lib + cairo + celt + ffmpeg + gsm + gtk3 + libre + librem + libsndfile + libuuid + libv4l + libvpx + mpg123 + openssl + pipewire + portaudio + spandsp3 + speex + srtp + zlib + ] + ++ (with gst_all_1; [ + gstreamer + gst-libav + gst-plugins-base + gst-plugins-bad + gst-plugins-good + ]); cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=ON" @@ -76,13 +89,13 @@ stdenv.mkDerivation rec { "-DGST_INCLUDE_DIRS=${lib.getDev gst_all_1.gstreamer}/include/gstreamer-1.0" ]; - makeFlags = [ - "PREFIX=$(out)" - "CCACHE_DISABLE=1" - ] - ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}" - ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}" - ; + makeFlags = + [ + "PREFIX=$(out)" + "CCACHE_DISABLE=1" + ] + ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}" + ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"; enableParallelBuilding = true; @@ -162,7 +175,10 @@ stdenv.mkDerivation rec { meta = { description = "Modular SIP User-Agent with audio and video support"; homepage = "https://github.com/baresip/baresip"; - maintainers = with lib.maintainers; [ raskin ehmry ]; + maintainers = with lib.maintainers; [ + raskin + ehmry + ]; mainProgram = "baresip"; license = lib.licenses.bsd3; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/ba/barlow/package.nix b/pkgs/by-name/ba/barlow/package.nix index ebdebb8253846..22d527dc1310b 100644 --- a/pkgs/by-name/ba/barlow/package.nix +++ b/pkgs/by-name/ba/barlow/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "barlow"; diff --git a/pkgs/by-name/ba/barrage/package.nix b/pkgs/by-name/ba/barrage/package.nix index ff879e56924a3..c6677d8b708b8 100644 --- a/pkgs/by-name/ba/barrage/package.nix +++ b/pkgs/by-name/ba/barrage/package.nix @@ -1,8 +1,9 @@ -{ lib -, SDL -, SDL_mixer -, fetchurl -, stdenv +{ + lib, + SDL, + SDL_mixer, + fetchurl, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ba/bartib/package.nix b/pkgs/by-name/ba/bartib/package.nix index 48e131262a908..0727c86f2675c 100644 --- a/pkgs/by-name/ba/bartib/package.nix +++ b/pkgs/by-name/ba/bartib/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "bartib"; diff --git a/pkgs/by-name/ba/base16-schemes/package.nix b/pkgs/by-name/ba/base16-schemes/package.nix index fbc438f8ccc04..55377a415843c 100644 --- a/pkgs/by-name/ba/base16-schemes/package.nix +++ b/pkgs/by-name/ba/base16-schemes/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + ... +}: stdenv.mkDerivation (finalAttrs: { pname = "base16-schemes"; diff --git a/pkgs/by-name/ba/base16-shell-preview/package.nix b/pkgs/by-name/ba/base16-shell-preview/package.nix index e047c7e88b211..c6436a42e00be 100644 --- a/pkgs/by-name/ba/base16-shell-preview/package.nix +++ b/pkgs/by-name/ba/base16-shell-preview/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: let @@ -12,7 +13,7 @@ python3Packages.buildPythonApplication { src = fetchPypi { inherit version; - pname = "${lib.replaceStrings ["-"] ["_"] pname}"; + pname = "${lib.replaceStrings [ "-" ] [ "_" ] pname}"; hash = "sha256-retnbxjdjo+NeA1B0+jpM9kToAX/Rh0ze0yNF9AfDiU="; }; diff --git a/pkgs/by-name/ba/base16-universal-manager/package.nix b/pkgs/by-name/ba/base16-universal-manager/package.nix index 44b521ae0d166..8918ddd20f31a 100644 --- a/pkgs/by-name/ba/base16-universal-manager/package.nix +++ b/pkgs/by-name/ba/base16-universal-manager/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "base16-universal-manager"; diff --git a/pkgs/by-name/ba/base16384/package.nix b/pkgs/by-name/ba/base16384/package.nix index 2d6ffd48a29c7..73af4ffb96557 100644 --- a/pkgs/by-name/ba/base16384/package.nix +++ b/pkgs/by-name/ba/base16384/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ba/base45/package.nix b/pkgs/by-name/ba/base45/package.nix index 07e248ad80458..a02b502f1ede3 100644 --- a/pkgs/by-name/ba/base45/package.nix +++ b/pkgs/by-name/ba/base45/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNimPackage, fetchFromSourcehut }: +{ + lib, + buildNimPackage, + fetchFromSourcehut, +}: buildNimPackage (finalAttrs: { pname = "base45"; diff --git a/pkgs/by-name/ba/baserow/package.nix b/pkgs/by-name/ba/baserow/package.nix index c42dc0d55a314..29e34a5505e88 100644 --- a/pkgs/by-name/ba/baserow/package.nix +++ b/pkgs/by-name/ba/baserow/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitLab -, makeWrapper -, python3 -, antlr4_9 +{ + lib, + fetchFromGitLab, + makeWrapper, + python3, + antlr4_9, }: let @@ -36,7 +37,8 @@ let }; in -with python.pkgs; buildPythonApplication rec { +with python.pkgs; +buildPythonApplication rec { pname = "baserow"; version = "1.12.1"; format = "setuptools"; diff --git a/pkgs/by-name/ba/basex/package.nix b/pkgs/by-name/ba/basex/package.nix index 887435a47a3e3..3e79178c62b5c 100644 --- a/pkgs/by-name/ba/basex/package.nix +++ b/pkgs/by-name/ba/basex/package.nix @@ -1,15 +1,29 @@ -{ lib, stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem, copyDesktopItems }: +{ + lib, + stdenv, + fetchurl, + unzip, + jre, + coreutils, + makeDesktopItem, + copyDesktopItems, +}: stdenv.mkDerivation rec { pname = "basex"; version = "11.6"; src = fetchurl { - url = "http://files.basex.org/releases/${version}/BaseX${builtins.replaceStrings ["."] [""] version}.zip"; + url = "http://files.basex.org/releases/${version}/BaseX${ + builtins.replaceStrings [ "." ] [ "" ] version + }.zip"; hash = "sha256-JGf+eBBlzbg0UYQqpx/IjGhjOKWCvl5rfnYpYE+JWM4="; }; - nativeBuildInputs = [ unzip copyDesktopItems ]; + nativeBuildInputs = [ + unzip + copyDesktopItems + ]; buildInputs = [ jre ]; desktopItems = lib.optional (!stdenv.hostPlatform.isDarwin) (makeDesktopItem { @@ -19,7 +33,11 @@ stdenv.mkDerivation rec { comment = "Visually query and analyse your XML data"; desktopName = "BaseX XML Database"; genericName = "XML database tool"; - categories = [ "Development" "Utility" "Database" ]; + categories = [ + "Development" + "Utility" + "Database" + ]; mimeTypes = [ "text/xml" ]; }); diff --git a/pkgs/by-name/ba/basez/package.nix b/pkgs/by-name/ba/basez/package.nix index e7fe906836e37..fb34b61677d54 100644 --- a/pkgs/by-name/ba/basez/package.nix +++ b/pkgs/by-name/ba/basez/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl } : +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "basez"; @@ -14,9 +18,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Base 16/32/64 encode/decode data to standard output"; longDescription = '' - Encode data into/decode data from base16, base32, base32hex, base64 or - base64url stream per RFC 4648; MIME base64 Content-Transfer-Encoding - per RFC 2045; or PEM Printable Encoding per RFC 1421. + Encode data into/decode data from base16, base32, base32hex, base64 or + base64url stream per RFC 4648; MIME base64 Content-Transfer-Encoding + per RFC 2045; or PEM Printable Encoding per RFC 1421. ''; homepage = "http://www.quarkline.net/basez/"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/ba/bash-completion/package.nix b/pkgs/by-name/ba/bash-completion/package.nix index 40d4c564ff9e3..6329a1412fa5e 100644 --- a/pkgs/by-name/ba/bash-completion/package.nix +++ b/pkgs/by-name/ba/bash-completion/package.nix @@ -1,9 +1,12 @@ -{ lib, stdenv, fetchurl -, autoreconfHook -, perl -, ps -, python3Packages -, bashInteractive +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + perl, + ps, + python3Packages, + bashInteractive, }: stdenv.mkDerivation rec { @@ -59,12 +62,14 @@ stdenv.mkDerivation rec { --ignore=test/t/test_screen.py ''; - prePatch = lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i -e 's/readlink -f/readlink/g' bash_completion completions/* - '' + lib.optionalString stdenv.hostPlatform.isFreeBSD '' - # please remove this next release! - touch completions/{pkg_delete,freebsd-update,kldload,kldunload,portinstall,portsnap,portupgrade} - ''; + prePatch = + lib.optionalString stdenv.hostPlatform.isDarwin '' + sed -i -e 's/readlink -f/readlink/g' bash_completion completions/* + '' + + lib.optionalString stdenv.hostPlatform.isFreeBSD '' + # please remove this next release! + touch completions/{pkg_delete,freebsd-update,kldload,kldunload,portinstall,portsnap,portupgrade} + ''; meta = with lib; { homepage = "https://github.com/scop/bash-completion"; diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index a5853aeb9e2cf..f625b702df309 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pnpm_8 -, nodejs -, makeBinaryWrapper -, shellcheck -, versionCheckHook +{ + lib, + stdenv, + fetchFromGitHub, + pnpm_8, + nodejs, + makeBinaryWrapper, + shellcheck, + versionCheckHook, }: stdenv.mkDerivation (finalAttrs: { @@ -21,7 +22,12 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspaces = [ "bash-language-server" ]; pnpmDeps = pnpm_8.fetchDeps { - inherit (finalAttrs) pname version src pnpmWorkspaces; + inherit (finalAttrs) + pname + version + src + pnpmWorkspaces + ; hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg="; }; diff --git a/pkgs/by-name/ba/bash-my-aws/package.nix b/pkgs/by-name/ba/bash-my-aws/package.nix index 9ca14bbe3376e..0c932a0f57f41 100644 --- a/pkgs/by-name/ba/bash-my-aws/package.nix +++ b/pkgs/by-name/ba/bash-my-aws/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, makeWrapper -, awscli -, jq -, unixtools -, fetchFromGitHub -, installShellFiles -, bashInteractive +{ + lib, + stdenv, + makeWrapper, + awscli, + jq, + unixtools, + fetchFromGitHub, + installShellFiles, + bashInteractive, }: stdenv.mkDerivation rec { @@ -28,7 +30,10 @@ stdenv.mkDerivation rec { unixtools.column bashInteractive ]; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; checkPhase = '' pushd test @@ -36,7 +41,7 @@ stdenv.mkDerivation rec { ./stack-spec.sh popd ''; - installPhase='' + installPhase = '' mkdir -p $out cp -r . $out ''; @@ -54,7 +59,14 @@ stdenv.mkDerivation rec { --replace .bash-my-aws "" substituteInPlace bin/bma \ --replace '~/.bash-my-aws' $out - wrapProgram $out/bin/bma --prefix PATH : ${lib.makeBinPath [awscli jq unixtools.column bashInteractive ]} + wrapProgram $out/bin/bma --prefix PATH : ${ + lib.makeBinPath [ + awscli + jq + unixtools.column + bashInteractive + ] + } installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh chmod +x $out/lib/* patchShebangs --host $out/lib diff --git a/pkgs/by-name/ba/bash-preexec/package.nix b/pkgs/by-name/ba/bash-preexec/package.nix index 166b73b1daf6c..74c76239599d2 100644 --- a/pkgs/by-name/ba/bash-preexec/package.nix +++ b/pkgs/by-name/ba/bash-preexec/package.nix @@ -1,7 +1,14 @@ -{ stdenvNoCC, lib, fetchFromGitHub, bats }: - -let version = "0.5.0"; -in stdenvNoCC.mkDerivation { +{ + stdenvNoCC, + lib, + fetchFromGitHub, + bats, +}: + +let + version = "0.5.0"; +in +stdenvNoCC.mkDerivation { pname = "bash-preexec"; inherit version; @@ -39,7 +46,10 @@ in stdenvNoCC.mkDerivation { description = "preexec and precmd functions for Bash just like Zsh"; license = licenses.mit; homepage = "https://github.com/rcaloras/bash-preexec"; - maintainers = [ maintainers.hawkw maintainers.rycee ]; + maintainers = [ + maintainers.hawkw + maintainers.rycee + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ba/bash-supergenpass/package.nix b/pkgs/by-name/ba/bash-supergenpass/package.nix index 7bf7c36424886..bc83a9d6345d7 100644 --- a/pkgs/by-name/ba/bash-supergenpass/package.nix +++ b/pkgs/by-name/ba/bash-supergenpass/package.nix @@ -1,10 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, unstableGitUpdater -, makeWrapper -, openssl -, coreutils -, gnugrep }: +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + makeWrapper, + openssl, + coreutils, + gnugrep, +}: stdenv.mkDerivation { pname = "bash-supergenpass"; @@ -21,7 +24,13 @@ stdenv.mkDerivation { installPhase = '' install -m755 -D supergenpass.sh "$out/bin/supergenpass" - wrapProgram "$out/bin/supergenpass" --prefix PATH : "${lib.makeBinPath [ openssl coreutils gnugrep ]}" + wrapProgram "$out/bin/supergenpass" --prefix PATH : "${ + lib.makeBinPath [ + openssl + coreutils + gnugrep + ] + }" ''; passthru.updateScript = unstableGitUpdater { diff --git a/pkgs/by-name/ba/bashSnippets/package.nix b/pkgs/by-name/ba/bashSnippets/package.nix index f0f82a6f626cd..0dc28d54d75a0 100644 --- a/pkgs/by-name/ba/bashSnippets/package.nix +++ b/pkgs/by-name/ba/bashSnippets/package.nix @@ -1,5 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper -, curl, python3, bind, iproute2, bc, gitMinimal }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + curl, + python3, + bind, + iproute2, + bc, + gitMinimal, +}: let version = "1.23.0"; deps = lib.makeBinPath [ diff --git a/pkgs/by-name/ba/bash_unit/package.nix b/pkgs/by-name/ba/bash_unit/package.nix index ebf7d6916b32d..f796eb03bf98a 100644 --- a/pkgs/by-name/ba/bash_unit/package.nix +++ b/pkgs/by-name/ba/bash_unit/package.nix @@ -1,5 +1,7 @@ -{ fetchFromGitHub -, lib, stdenv +{ + fetchFromGitHub, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ba/bashblog/package.nix b/pkgs/by-name/ba/bashblog/package.nix index 0c43e6eecf1ce..91a34e9b3e70b 100644 --- a/pkgs/by-name/ba/bashblog/package.nix +++ b/pkgs/by-name/ba/bashblog/package.nix @@ -1,13 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, substituteAll -, perlPackages -# Flags to enable processors -# Currently, Markdown.pl does not work -, usePandoc ? true -, pandoc }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + substituteAll, + perlPackages, + # Flags to enable processors + # Currently, Markdown.pl does not work + usePandoc ? true, + pandoc, +}: let inherit (perlPackages) TextMarkdown; @@ -16,7 +18,8 @@ let markdownpl_path = "${perlPackages.TextMarkdown}/bin/Markdown.pl"; pandoc_path = "${pandoc}/bin/pandoc"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "bashblog"; version = "unstable-2022-03-26"; @@ -29,8 +32,7 @@ in stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ TextMarkdown ] - ++ lib.optionals usePandoc [ pandoc ]; + buildInputs = [ TextMarkdown ] ++ lib.optionals usePandoc [ pandoc ]; patches = [ (substituteAll { diff --git a/pkgs/by-name/ba/bashcards/package.nix b/pkgs/by-name/ba/bashcards/package.nix index bce5ab40e2dd6..48bea6020f3ce 100644 --- a/pkgs/by-name/ba/bashcards/package.nix +++ b/pkgs/by-name/ba/bashcards/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ba/bashdb/package.nix b/pkgs/by-name/ba/bashdb/package.nix index 52119250f69c1..5ec0a5999c3fa 100644 --- a/pkgs/by-name/ba/bashdb/package.nix +++ b/pkgs/by-name/ba/bashdb/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, makeWrapper -, python3Packages +{ + lib, + stdenv, + fetchurl, + fetchpatch, + makeWrapper, + python3Packages, }: stdenv.mkDerivation rec { @@ -11,7 +12,7 @@ stdenv.mkDerivation rec { version = "5.0-1.1.2"; src = fetchurl { - url = "mirror://sourceforge/bashdb/${pname}-${version}.tar.bz2"; + url = "mirror://sourceforge/bashdb/${pname}-${version}.tar.bz2"; sha256 = "sha256-MBdtKtKMWwCy4tIcXqGu+PuvQKj52fcjxnxgUx87czA="; }; diff --git a/pkgs/by-name/ba/bashly/gemset.nix b/pkgs/by-name/ba/bashly/gemset.nix index 9a95ade58ccf9..0bfcd463529f8 100644 --- a/pkgs/by-name/ba/bashly/gemset.nix +++ b/pkgs/by-name/ba/bashly/gemset.nix @@ -1,280 +1,309 @@ { bashly = { - dependencies = ["colsole" "completely" "filewatcher" "gtx" "logger" "lp" "mister_bin" "ostruct" "psych" "requires" "tty-markdown"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colsole" + "completely" + "filewatcher" + "gtx" + "logger" + "lp" + "mister_bin" + "ostruct" + "psych" + "requires" + "tty-markdown" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dzyqwf43i92jq5j66j31qvsbfcpd6zk74ssqz14kj51wn2d8vw3"; type = "gem"; }; version = "1.2.6"; }; cgi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c5494n3n6l51n1w1vc118zckbqdzk7r6b656hswg72w0bif2ja3"; type = "gem"; }; version = "0.4.1"; }; colsole = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fvf6dz2wsvjk7q24z0dm8lajq3p2l6i5ywf3mxj683rmhwq49bg"; type = "gem"; }; version = "1.0.0"; }; completely = { - dependencies = ["colsole" "mister_bin"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colsole" + "mister_bin" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ci8iza647hvc4f1cmf9mpsm3i78ysf6g6213wkyrr5jk296hjjb"; type = "gem"; }; version = "0.6.3"; }; docopt_ng = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rsnl5s7k2s1gl4n4dg68ssg577kf11sl4a4l2lb2fpswj718950"; type = "gem"; }; version = "0.7.1"; }; erb = { - dependencies = ["cgi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "cgi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05wpc7pn1k6jik7i57vfrj6k5lda39hrny0q3706pi05c886w4fy"; type = "gem"; }; version = "4.0.4"; }; filewatcher = { - dependencies = ["module_methods"]; - groups = ["default"]; - platforms = []; + dependencies = [ "module_methods" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03f9v57c5zag09mi10yjhdx7y0vv2w5wrnwzbij9hhkwh43rk077"; type = "gem"; }; version = "2.1.0"; }; gtx = { - dependencies = ["erb"]; - groups = ["default"]; - platforms = []; + dependencies = [ "erb" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w0hbr9i6jpn9spbb13ipg2fajkwa51y56jw21ziwsddmv997274"; type = "gem"; }; version = "0.1.1"; }; kramdown = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn"; type = "gem"; }; version = "2.4.0"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; lp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ns1aza32n929w7smg1dsn4g6qlfi7k1jrvssyn35cicmwn0gyyr"; type = "gem"; }; version = "0.2.1"; }; mister_bin = { - dependencies = ["colsole" "docopt_ng"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colsole" + "docopt_ng" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xx8cxvzcn47zsnshcllf477x4rbssrchvp76929qnsg5k9q7fas"; type = "gem"; }; version = "0.7.6"; }; module_methods = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1886wjscfripgzlmyvcd0jmlzwr6hxvklm2a5rm32dw5bf7bvjki"; type = "gem"; }; version = "0.1.0"; }; ostruct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9"; type = "gem"; }; version = "0.6.1"; }; pastel = { - dependencies = ["tty-color"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-color" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8"; type = "gem"; }; version = "0.8.0"; }; psych = { - dependencies = ["stringio"]; - groups = ["default"]; - platforms = []; + dependencies = [ "stringio" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wq567f615x1ilgaqlh4yzf322f96rgn45xw4nm4vwfaddszw0v6"; type = "gem"; }; version = "5.2.0"; }; requires = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dlibxp6jfdl4favj2pgsm2pw84hhr2cdiizfs51ldkpddm50njp"; type = "gem"; }; version = "1.1.0"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dllqyxlxsmsy4xdpgwbn6w9w6qsha9ay6cl5kq06jgw63k5dp10"; type = "gem"; }; version = "4.5.0"; }; stringio = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cd1kdrf62p2ya3ia4rz49d5012bqinvqjmcgkakknswz0l1hkr0"; type = "gem"; }; version = "3.1.2"; }; strings = { - dependencies = ["strings-ansi" "unicode-display_width" "unicode_utils"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "strings-ansi" + "unicode-display_width" + "unicode_utils" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yynb0qhhhplmpzavfrrlwdnd1rh7rkwzcs4xf0mpy2wr6rr6clk"; type = "gem"; }; version = "0.2.1"; }; strings-ansi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh"; type = "gem"; }; version = "0.2.0"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g"; type = "gem"; }; version = "0.6.0"; }; tty-markdown = { - dependencies = ["kramdown" "pastel" "rouge" "strings" "tty-color" "tty-screen"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "kramdown" + "pastel" + "rouge" + "strings" + "tty-color" + "tty-screen" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04f599zn5rfndq4d9l0acllfpc041bzdkkz2h6x0dl18f2wivn0y"; type = "gem"; }; version = "0.7.2"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; version = "0.8.2"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj"; type = "gem"; }; version = "2.6.0"; }; unicode_utils = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr"; type = "gem"; }; diff --git a/pkgs/by-name/ba/bashmount/package.nix b/pkgs/by-name/ba/bashmount/package.nix index e1995474abc75..915d09a2c5cfb 100644 --- a/pkgs/by-name/ba/bashmount/package.nix +++ b/pkgs/by-name/ba/bashmount/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchFromGitHub}: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "bashmount"; diff --git a/pkgs/by-name/ba/bashplotlib/package.nix b/pkgs/by-name/ba/bashplotlib/package.nix index d35d9ebcbcc04..153e02d6d4a24 100644 --- a/pkgs/by-name/ba/bashplotlib/package.nix +++ b/pkgs/by-name/ba/bashplotlib/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication { pname = "bashplotlib"; diff --git a/pkgs/by-name/ba/basiliskii/package.nix b/pkgs/by-name/ba/basiliskii/package.nix index a81f50b542113..a6e77d3e52321 100644 --- a/pkgs/by-name/ba/basiliskii/package.nix +++ b/pkgs/by-name/ba/basiliskii/package.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, autoconf, automake, pkg-config, SDL2, gtk2, mpfr }: +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + SDL2, + gtk2, + mpfr, +}: stdenv.mkDerivation (finalAttrs: { pname = "basiliskii"; version = "unstable-2022-09-30"; @@ -11,12 +21,24 @@ stdenv.mkDerivation (finalAttrs: { }; sourceRoot = "${finalAttrs.src.name}/BasiliskII/src/Unix"; patches = [ ./remove-redhat-6-workaround-for-scsi-sg.h.patch ]; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ SDL2 gtk2 mpfr ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + SDL2 + gtk2 + mpfr + ]; preConfigure = '' NO_CONFIGURE=1 ./autogen.sh ''; - configureFlags = [ "--enable-sdl-video" "--enable-sdl-audio" "--with-bincue" ]; + configureFlags = [ + "--enable-sdl-video" + "--enable-sdl-audio" + "--with-bincue" + ]; meta = with lib; { description = "68k Macintosh emulator"; diff --git a/pkgs/by-name/ba/bastet/package.nix b/pkgs/by-name/ba/bastet/package.nix index 5fde8064d7553..ef77b94218b3a 100644 --- a/pkgs/by-name/ba/bastet/package.nix +++ b/pkgs/by-name/ba/bastet/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, boost }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, + boost, +}: stdenv.mkDerivation rec { pname = "bastet"; version = "0.43.2"; - buildInputs = [ ncurses boost ]; + buildInputs = [ + ncurses + boost + ]; src = fetchFromGitHub { owner = "fph"; diff --git a/pkgs/by-name/ba/basu/package.nix b/pkgs/by-name/ba/basu/package.nix index a3bd836ee83fc..b98b7cbd16e10 100644 --- a/pkgs/by-name/ba/basu/package.nix +++ b/pkgs/by-name/ba/basu/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromSourcehut -, audit -, pkg-config -, libcap -, gperf -, meson -, ninja -, python3 -, getent +{ + lib, + stdenv, + fetchFromSourcehut, + audit, + pkg-config, + libcap, + gperf, + meson, + ninja, + python3, + getent, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-zIaEIIo8lJeas2gVjMezO2hr8RnMIT7iiCBilZx5lRQ="; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; buildInputs = [ audit diff --git a/pkgs/by-name/ba/bat/package.nix b/pkgs/by-name/ba/bat/package.nix index 978ca06a47f34..2084af6469fab 100644 --- a/pkgs/by-name/ba/bat/package.nix +++ b/pkgs/by-name/ba/bat/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, less -, libiconv -, installShellFiles -, makeWrapper -, apple-sdk_11 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + less, + libiconv, + installShellFiles, + makeWrapper, + apple-sdk_11, }: rustPlatform.buildRustPackage rec { @@ -22,9 +23,16 @@ rustPlatform.buildRustPackage rec { }; cargoHash = "sha256-b7wNWdKQ4QLeCf7bNZRfzT9hD/D/oDglU7Xyb65IrGY="; - nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + makeWrapper + ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv apple-sdk_11 ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + apple-sdk_11 + ]; postInstall = '' installManPage $releaseDir/build/bat-*/out/assets/manual/bat.1 @@ -73,8 +81,16 @@ rustPlatform.buildRustPackage rec { description = "Cat(1) clone with syntax highlighting and Git integration"; homepage = "https://github.com/sharkdp/bat"; changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; mainProgram = "bat"; - maintainers = with maintainers; [ dywedir zowoq SuperSandro2000 sigmasquadron ]; + maintainers = with maintainers; [ + dywedir + zowoq + SuperSandro2000 + sigmasquadron + ]; }; } diff --git a/pkgs/by-name/ba/bats/libraries.nix b/pkgs/by-name/ba/bats/libraries.nix index b780bce13fd0a..cfd55ef648309 100644 --- a/pkgs/by-name/ba/bats/libraries.nix +++ b/pkgs/by-name/ba/bats/libraries.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub }: { +{ + lib, + stdenv, + fetchFromGitHub, +}: +{ bats-assert = stdenv.mkDerivation (finalAttrs: { pname = "bats-assert"; version = "2.1.0"; diff --git a/pkgs/by-name/ba/bats/package.nix b/pkgs/by-name/ba/bats/package.nix index 12e40444c5004..91683dc96c3f4 100644 --- a/pkgs/by-name/ba/bats/package.nix +++ b/pkgs/by-name/ba/bats/package.nix @@ -1,28 +1,29 @@ -{ resholve -, lib -, stdenv -, fetchFromGitHub -, bash -, coreutils -, gnugrep -, ncurses -, findutils -, hostname -, parallel -, flock -, procps -, bats -, lsof -, callPackages -, symlinkJoin -, makeWrapper -, runCommand -, doInstallCheck ? true -# packages that use bats (for update testing) -, bash-preexec -, kikit -, locate-dominating-file -, packcc +{ + resholve, + lib, + stdenv, + fetchFromGitHub, + bash, + coreutils, + gnugrep, + ncurses, + findutils, + hostname, + parallel, + flock, + procps, + bats, + lsof, + callPackages, + symlinkJoin, + makeWrapper, + runCommand, + doInstallCheck ? true, + # packages that use bats (for update testing) + bash-preexec, + kikit, + locate-dominating-file, + packcc, }: resholve.mkDerivation rec { @@ -66,12 +67,14 @@ resholve.mkDerivation rec { procps ]; fake = { - external = [ - "greadlink" - "shlock" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "pkill" # procps doesn't supply this on darwin - ]; + external = + [ + "greadlink" + "shlock" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "pkill" # procps doesn't supply this on darwin + ]; }; fix = { "$BATS_ROOT" = [ "${placeholder "out"}" ]; @@ -103,32 +106,35 @@ resholve.mkDerivation rec { "$parallel_binary_name" = "${parallel}/bin/parallel"; "${placeholder "out"}/libexec/bats-core/bats-preprocess" = true; }; - execer = [ - /* - both blatant lies for expedience; these can certainly exec args - they may be safe here, because they may always run things that - are ultimately in libexec? - TODO: handle parallel and flock in binlore/resholve - */ - "cannot:${parallel}/bin/parallel" - "cannot:${flock}/bin/flock" - - "cannot:libexec/bats-core/bats-preprocess" - - # these do exec, but other internal files - "cannot:libexec/bats-core/bats-exec-file" - "cannot:libexec/bats-core/bats-exec-suite" - "cannot:libexec/bats-core/bats-gather-tests" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # checked invocations for exec - "cannot:${procps}/bin/pkill" - ]; + execer = + [ + /* + both blatant lies for expedience; these can certainly exec args + they may be safe here, because they may always run things that + are ultimately in libexec? + TODO: handle parallel and flock in binlore/resholve + */ + "cannot:${parallel}/bin/parallel" + "cannot:${flock}/bin/flock" + + "cannot:libexec/bats-core/bats-preprocess" + + # these do exec, but other internal files + "cannot:libexec/bats-core/bats-exec-file" + "cannot:libexec/bats-core/bats-exec-suite" + "cannot:libexec/bats-core/bats-gather-tests" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # checked invocations for exec + "cannot:${procps}/bin/pkill" + ]; }; }; - passthru.libraries = callPackages ./libraries.nix {}; + passthru.libraries = callPackages ./libraries.nix { }; - passthru.withLibraries = selector: + passthru.withLibraries = + selector: symlinkJoin { name = "bats-with-libraries-${bats.version}"; @@ -146,90 +152,105 @@ resholve.mkDerivation rec { ''; }; - passthru.tests = { - libraries = runCommand "${bats.name}-with-libraries-test" { - testScript = '' - setup() { - bats_load_library bats-support - bats_load_library bats-assert - bats_load_library bats-file - bats_load_library bats-detik/detik.bash - - bats_require_minimum_version 1.5.0 - - TEST_TEMP_DIR="$(temp_make --prefix 'nixpkgs-bats-test')" - } - - teardown() { - temp_del "$TEST_TEMP_DIR" - } - - @test echo_hi { - run -0 echo hi - assert_output "hi" - } - - @test cp_failure { - run ! cp - assert_line --index 0 "cp: missing file operand" - assert_line --index 1 "Try 'cp --help' for more information." - } - - @test file_exists { - echo "hi" > "$TEST_TEMP_DIR/hello.txt" - assert_file_exist "$TEST_TEMP_DIR/hello.txt" - run cat "$TEST_TEMP_DIR/hello.txt" - assert_output "hi" - } - ''; - passAsFile = [ "testScript" ]; - } '' - ${bats.withLibraries (p: [ p.bats-support p.bats-assert p.bats-file p.bats-detik ])}/bin/bats "$testScriptPath" - touch "$out" - ''; - - upstream = bats.unresholved.overrideAttrs (old: { - name = "${bats.name}-tests"; - dontInstall = true; # just need the build directory - nativeInstallCheckInputs = [ - ncurses - parallel # skips some tests if it can't detect - flock # skips some tests if it can't detect - procps - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ lsof ]; - inherit doInstallCheck; - installCheckPhase = '' - # TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows - sed -i '/test works even if PATH is reset/a skip "disabled for nix build"' test/bats.bats - - # skip tests that assume bats `install.sh` will be in BATS_ROOT - rm test/root.bats - - '' + (lib.optionalString stdenv.hostPlatform.isDarwin '' - # skip new timeout tests which are failing on macOS for unclear reasons - # This might relate to procps not having a pkill? - rm test/timeout.bats - '') + '' - - # test generates file with absolute shebang dynamically - substituteInPlace test/install.bats --replace \ - "/usr/bin/env bash" "${bash}/bin/bash" - - ${bats}/bin/bats test - touch $out - ''; - }); - - # to see when updates would break things, include packages - # that use nixpkgs' bats for testing (as long as they - # aren't massive builds) - inherit bash-preexec locate-dominating-file packcc; - resholve = resholve.tests.cli; - } // lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { - # TODO: kikit's kicad dependency is marked broken on darwin atm - # may be able to fold this up if that resolves. - inherit kikit; - }; + passthru.tests = + { + libraries = + runCommand "${bats.name}-with-libraries-test" + { + testScript = '' + setup() { + bats_load_library bats-support + bats_load_library bats-assert + bats_load_library bats-file + bats_load_library bats-detik/detik.bash + + bats_require_minimum_version 1.5.0 + + TEST_TEMP_DIR="$(temp_make --prefix 'nixpkgs-bats-test')" + } + + teardown() { + temp_del "$TEST_TEMP_DIR" + } + + @test echo_hi { + run -0 echo hi + assert_output "hi" + } + + @test cp_failure { + run ! cp + assert_line --index 0 "cp: missing file operand" + assert_line --index 1 "Try 'cp --help' for more information." + } + + @test file_exists { + echo "hi" > "$TEST_TEMP_DIR/hello.txt" + assert_file_exist "$TEST_TEMP_DIR/hello.txt" + run cat "$TEST_TEMP_DIR/hello.txt" + assert_output "hi" + } + ''; + passAsFile = [ "testScript" ]; + } + '' + ${ + bats.withLibraries (p: [ + p.bats-support + p.bats-assert + p.bats-file + p.bats-detik + ]) + }/bin/bats "$testScriptPath" + touch "$out" + ''; + + upstream = bats.unresholved.overrideAttrs (old: { + name = "${bats.name}-tests"; + dontInstall = true; # just need the build directory + nativeInstallCheckInputs = [ + ncurses + parallel # skips some tests if it can't detect + flock # skips some tests if it can't detect + procps + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ lsof ]; + inherit doInstallCheck; + installCheckPhase = + '' + # TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows + sed -i '/test works even if PATH is reset/a skip "disabled for nix build"' test/bats.bats + + # skip tests that assume bats `install.sh` will be in BATS_ROOT + rm test/root.bats + + '' + + (lib.optionalString stdenv.hostPlatform.isDarwin '' + # skip new timeout tests which are failing on macOS for unclear reasons + # This might relate to procps not having a pkill? + rm test/timeout.bats + '') + + '' + + # test generates file with absolute shebang dynamically + substituteInPlace test/install.bats --replace \ + "/usr/bin/env bash" "${bash}/bin/bash" + + ${bats}/bin/bats test + touch $out + ''; + }); + + # to see when updates would break things, include packages + # that use nixpkgs' bats for testing (as long as they + # aren't massive builds) + inherit bash-preexec locate-dominating-file packcc; + resholve = resholve.tests.cli; + } + // lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + # TODO: kikit's kicad dependency is marked broken on darwin atm + # may be able to fold this up if that resolves. + inherit kikit; + }; meta = with lib; { homepage = "https://github.com/bats-core/bats-core"; diff --git a/pkgs/by-name/ba/batsignal/package.nix b/pkgs/by-name/ba/batsignal/package.nix index 94a1a45fe107a..ef6e34c57e8f9 100644 --- a/pkgs/by-name/ba/batsignal/package.nix +++ b/pkgs/by-name/ba/batsignal/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libnotify, pkg-config, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + libnotify, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "batsignal"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-yngd2yP6XtRp8y8ZUd0NISdf8+8wJvpLogrQQMdB0lA="; }; - buildInputs = [ libnotify glib ]; + buildInputs = [ + libnotify + glib + ]; nativeBuildInputs = [ pkg-config ]; installFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/by-name/ba/baudline/package.nix b/pkgs/by-name/ba/baudline/package.nix index 4856a0ed017a4..92bedea2b83f2 100644 --- a/pkgs/by-name/ba/baudline/package.nix +++ b/pkgs/by-name/ba/baudline/package.nix @@ -1,10 +1,25 @@ -{ lib, stdenv, fetchurl, libXmu, libXt, libX11, libXext, libXxf86vm, libjack2 -, makeWrapper +{ + lib, + stdenv, + fetchurl, + libXmu, + libXt, + libX11, + libXext, + libXxf86vm, + libjack2, + makeWrapper, }: let - rpath = lib.makeLibraryPath - [ libXmu libXt libX11 libXext libXxf86vm libjack2 ]; + rpath = lib.makeLibraryPath [ + libXmu + libXt + libX11 + libXext + libXxf86vm + libjack2 + ]; in stdenv.mkDerivation rec { pname = "baudline"; @@ -64,7 +79,10 @@ stdenv.mkDerivation rec { # (Do NOT (re)distribute on hydra.) license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/by-name/ba/bayescan/package.nix b/pkgs/by-name/ba/bayescan/package.nix index e715ff4b45b06..7fc5e767c4709 100644 --- a/pkgs/by-name/ba/bayescan/package.nix +++ b/pkgs/by-name/ba/bayescan/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, llvmPackages }: +{ + lib, + stdenv, + fetchurl, + unzip, + llvmPackages, +}: stdenv.mkDerivation rec { pname = "bayescan"; diff --git a/pkgs/by-name/ba/bazarr/package.nix b/pkgs/by-name/ba/bazarr/package.nix index 86541b67996ac..d08dfe0e14a99 100644 --- a/pkgs/by-name/ba/bazarr/package.nix +++ b/pkgs/by-name/ba/bazarr/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchzip, makeWrapper, python3, unar, ffmpeg, nixosTests }: +{ + stdenv, + lib, + fetchzip, + makeWrapper, + python3, + unar, + ffmpeg, + nixosTests, +}: let runtimeProgDeps = [ diff --git a/pkgs/by-name/ba/bazel-buildtools/package.nix b/pkgs/by-name/ba/bazel-buildtools/package.nix index f3cb1a9313e13..8a4a7c37785b5 100644 --- a/pkgs/by-name/ba/bazel-buildtools/package.nix +++ b/pkgs/by-name/ba/bazel-buildtools/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "bazel-buildtools"; @@ -23,15 +27,24 @@ buildGoModule rec { excludedPackages = [ "generatetables" ]; - ldflags = [ "-s" "-w" "-X main.buildVersion=${version}" "-X main.buildScmRevision=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.buildVersion=${version}" + "-X main.buildScmRevision=${src.rev}" + ]; meta = with lib; { description = "Tools for working with Google's bazel buildtool. Includes buildifier, buildozer, and unused_deps"; homepage = "https://github.com/bazelbuild/buildtools"; changelog = "https://github.com/bazelbuild/buildtools/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; - [ elasticdog uri-canva ] + maintainers = + with maintainers; + [ + elasticdog + uri-canva + ] ++ lib.teams.bazel.members; }; } diff --git a/pkgs/by-name/ba/bazel-gazelle/package.nix b/pkgs/by-name/ba/bazel-gazelle/package.nix index 2a733e9fed9e2..5bfcb0b5ad6ea 100644 --- a/pkgs/by-name/ba/bazel-gazelle/package.nix +++ b/pkgs/by-name/ba/bazel-gazelle/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/ba/bazel-kazel/package.nix b/pkgs/by-name/ba/bazel-kazel/package.nix index 8d7ceb04f0eba..9144af8cf614f 100644 --- a/pkgs/by-name/ba/bazel-kazel/package.nix +++ b/pkgs/by-name/ba/bazel-kazel/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "bazel-kazel"; diff --git a/pkgs/by-name/ba/bazel-remote/package.nix b/pkgs/by-name/ba/bazel-remote/package.nix index 182b66c8db085..642416e16f5f2 100644 --- a/pkgs/by-name/ba/bazel-remote/package.nix +++ b/pkgs/by-name/ba/bazel-remote/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -20,7 +21,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.gitCommit=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.gitCommit=${version}" + ]; meta = with lib; { homepage = "https://github.com/buchgr/bazel-remote"; diff --git a/pkgs/by-name/ba/bazelisk/package.nix b/pkgs/by-name/ba/bazelisk/package.nix index 00b1ca67f1dfc..aefc25cd0d413 100644 --- a/pkgs/by-name/ba/bazelisk/package.nix +++ b/pkgs/by-name/ba/bazelisk/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "bazelisk"; @@ -15,7 +19,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.BazeliskVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.BazeliskVersion=${version}" + ]; meta = with lib; { description = "User-friendly launcher for Bazel"; diff --git a/pkgs/by-name/bb/bb/package.nix b/pkgs/by-name/bb/bb/package.nix index 1c7eedc565700..07aff0992d81d 100644 --- a/pkgs/by-name/bb/bb/package.nix +++ b/pkgs/by-name/bb/bb/package.nix @@ -1,11 +1,20 @@ -{ stdenv, lib, fetchurl, autoreconfHook, aalib, ncurses, xorg, libmikmod }: +{ + stdenv, + lib, + fetchurl, + autoreconfHook, + aalib, + ncurses, + xorg, + libmikmod, +}: stdenv.mkDerivation rec { pname = "bb"; version = "1.3rc1"; src = fetchurl { - url = "mirror://sourceforge/aa-project/bb/${version}/${pname}-${version}.tar.gz"; + url = "mirror://sourceforge/aa-project/bb/${version}/${pname}-${version}.tar.gz"; sha256 = "1i411glxh7g4pfg4gw826lpwngi89yrbmxac8jmnsfvrfb48hgbr"; }; @@ -17,8 +26,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ - aalib ncurses libmikmod - xorg.libXau xorg.libXdmcp xorg.libX11 + aalib + ncurses + libmikmod + xorg.libXau + xorg.libXdmcp + xorg.libX11 ]; # regparm attribute is not supported by clang @@ -28,11 +41,11 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "http://aa-project.sourceforge.net/bb"; + homepage = "http://aa-project.sourceforge.net/bb"; description = "AA-lib demo"; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; maintainers = [ maintainers.rnhmjoj ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "bb"; }; } diff --git a/pkgs/by-name/bb/bbe/package.nix b/pkgs/by-name/bb/bbe/package.nix index 519c272902b4a..d300c7dea3698 100644 --- a/pkgs/by-name/bb/bbe/package.nix +++ b/pkgs/by-name/bb/bbe/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv , fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "bbe"; version = "0.2.2"; @@ -10,7 +15,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; meta = with lib; { description = "Sed-like editor for binary files"; diff --git a/pkgs/by-name/bb/bbin/package.nix b/pkgs/by-name/bb/bbin/package.nix index a5c165c77c718..f4a69d09e79b9 100644 --- a/pkgs/by-name/bb/bbin/package.nix +++ b/pkgs/by-name/bb/bbin/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, makeWrapper -, babashka-unwrapped +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + makeWrapper, + babashka-unwrapped, }: stdenvNoCC.mkDerivation rec { @@ -29,7 +30,12 @@ stdenvNoCC.mkDerivation rec { mkdir -p $out/share cp -r docs $out/share/docs wrapProgram $out/bin/bbin \ - --prefix PATH : "${lib.makeBinPath [ babashka-unwrapped babashka-unwrapped.graalvmDrv ]}" + --prefix PATH : "${ + lib.makeBinPath [ + babashka-unwrapped + babashka-unwrapped.graalvmDrv + ] + }" runHook postInstall ''; diff --git a/pkgs/by-name/bc/bc-decaf/package.nix b/pkgs/by-name/bc/bc-decaf/package.nix index 162eb8a4dd251..ebd22cae8be4a 100644 --- a/pkgs/by-name/bc/bc-decaf/package.nix +++ b/pkgs/by-name/bc/bc-decaf/package.nix @@ -1,8 +1,9 @@ -{ cmake -, fetchFromGitLab -, lib -, python3 -, stdenv +{ + cmake, + fetchFromGitLab, + lib, + python3, + stdenv, }: stdenv.mkDerivation rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { }; # Do not build static libraries and do not enable -Werror - cmakeFlags = [ "-DENABLE_STATIC=NO" "-DENABLE_STRICT=NO" ]; + cmakeFlags = [ + "-DENABLE_STATIC=NO" + "-DENABLE_STRICT=NO" + ]; meta = with lib; { description = "Elliptic curve library supporting Ed448-Goldilocks and Curve25519. Belledonne Communications' fork for Linphone"; diff --git a/pkgs/by-name/bc/bc-ur/package.nix b/pkgs/by-name/bc/bc-ur/package.nix index 2e7cda7764b58..62c7cf0d8a203 100644 --- a/pkgs/by-name/bc/bc-ur/package.nix +++ b/pkgs/by-name/bc/bc-ur/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bc/bcache-tools/package.nix b/pkgs/by-name/bc/bcache-tools/package.nix index 84ecc7ebd9f5f..795e453e1b4e5 100644 --- a/pkgs/by-name/bc/bcache-tools/package.nix +++ b/pkgs/by-name/bc/bcache-tools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, util-linux, bash, substituteAll }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + util-linux, + bash, + substituteAll, +}: stdenv.mkDerivation rec { pname = "bcache-tools"; diff --git a/pkgs/by-name/bc/bcal/package.nix b/pkgs/by-name/bc/bcal/package.nix index 6e87136170c64..20e29c252b8c0 100644 --- a/pkgs/by-name/bc/bcal/package.nix +++ b/pkgs/by-name/bc/bcal/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, readline -, bc -, python3Packages +{ + lib, + stdenv, + fetchFromGitHub, + readline, + bc, + python3Packages, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { doCheck = true; - nativeCheckInputs = [ bc python3Packages.pytestCheckHook ]; + nativeCheckInputs = [ + bc + python3Packages.pytestCheckHook + ]; pytestFlagsArray = [ "test.py" ]; diff --git a/pkgs/by-name/bc/bcc/package.nix b/pkgs/by-name/bc/bcc/package.nix index 90b68f71cf78c..ce6b5919291fc 100644 --- a/pkgs/by-name/bc/bcc/package.nix +++ b/pkgs/by-name/bc/bcc/package.nix @@ -1,21 +1,22 @@ -{ audit -, bash -, bison -, cmake -, elfutils -, fetchFromGitHub -, flex -, iperf -, lib -, libbpf -, llvmPackages -, luajit -, makeWrapper -, netperf -, nixosTests -, python3Packages -, stdenv -, zip +{ + audit, + bash, + bison, + cmake, + elfutils, + fetchFromGitHub, + flex, + iperf, + lib, + libbpf, + llvmPackages, + luajit, + makeWrapper, + netperf, + nixosTests, + python3Packages, + stdenv, + zip, }: python3Packages.buildPythonApplication rec { @@ -33,9 +34,16 @@ python3Packages.buildPythonApplication rec { format = "other"; buildInputs = with llvmPackages; [ - llvm llvm.dev libclang - elfutils luajit netperf iperf - flex bash libbpf + llvm + llvm.dev + libclang + elfutils + luajit + netperf + iperf + flex + bash + libbpf ]; patches = [ @@ -107,7 +115,10 @@ python3Packages.buildPythonApplication rec { wrapPythonProgramsIn "$out/share/bcc/tools" "$out $pythonPath" ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; passthru.tests = { bpf = nixosTests.bpf; @@ -115,9 +126,15 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Dynamic Tracing Tools for Linux"; - homepage = "https://iovisor.github.io/bcc/"; - license = licenses.asl20; - maintainers = with maintainers; [ ragge mic92 thoughtpolice martinetd ryan4yin ]; - platforms = platforms.linux; + homepage = "https://iovisor.github.io/bcc/"; + license = licenses.asl20; + maintainers = with maintainers; [ + ragge + mic92 + thoughtpolice + martinetd + ryan4yin + ]; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/bc/bcftools/package.nix b/pkgs/by-name/bc/bcftools/package.nix index 1e44835302385..a2300f28073da 100644 --- a/pkgs/by-name/bc/bcftools/package.nix +++ b/pkgs/by-name/bc/bcftools/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, htslib, zlib, bzip2, xz, curl, perl, python3, bash }: +{ + lib, + stdenv, + fetchurl, + htslib, + zlib, + bzip2, + xz, + curl, + perl, + python3, + bash, +}: stdenv.mkDerivation rec { pname = "bcftools"; @@ -14,7 +26,13 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ htslib zlib bzip2 xz curl ]; + buildInputs = [ + htslib + zlib + bzip2 + xz + curl + ]; strictDeps = true; diff --git a/pkgs/by-name/bc/bcg729/package.nix b/pkgs/by-name/bc/bcg729/package.nix index ff5840b8373fc..25e47082a7aba 100644 --- a/pkgs/by-name/bc/bcg729/package.nix +++ b/pkgs/by-name/bc/bcg729/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitLab -, cmake +{ + lib, + stdenv, + fetchFromGitLab, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bc/bchoppr/package.nix b/pkgs/by-name/bc/bchoppr/package.nix index b841764f79618..73b8ec9616f60 100644 --- a/pkgs/by-name/bc/bchoppr/package.nix +++ b/pkgs/by-name/bc/bchoppr/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cairo, + libX11, + lv2, +}: stdenv.mkDerivation rec { pname = "bchoppr"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ cairo libX11 lv2 ]; + buildInputs = [ + cairo + libX11 + lv2 + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bc/bchunk/package.nix b/pkgs/by-name/bc/bchunk/package.nix index 17b46536b53f1..02792a1b2355e 100644 --- a/pkgs/by-name/bc/bchunk/package.nix +++ b/pkgs/by-name/bc/bchunk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "bchunk"; @@ -9,7 +13,10 @@ stdenv.mkDerivation rec { sha256 = "12dxx98kbpc5z4dgni25280088bhlsb677rp832r82zzc1drpng7"; }; - makeFlags = lib.optionals stdenv.cc.isClang [ "CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = lib.optionals stdenv.cc.isClang [ + "CC=${stdenv.cc.targetPrefix}cc" + "LD=${stdenv.cc.targetPrefix}cc" + ]; installPhase = '' install -Dt $out/bin bchunk diff --git a/pkgs/by-name/bc/bctoolbox/package.nix b/pkgs/by-name/bc/bctoolbox/package.nix index 1da254093b1b3..8cf80c7a8c943 100644 --- a/pkgs/by-name/bc/bctoolbox/package.nix +++ b/pkgs/by-name/bc/bctoolbox/package.nix @@ -1,10 +1,11 @@ -{ bcunit -, cmake -, bc-decaf -, fetchFromGitLab -, mbedtls_2 -, lib -, stdenv +{ + bcunit, + cmake, + bc-decaf, + fetchFromGitLab, + mbedtls_2, + lib, + stdenv, }: stdenv.mkDerivation rec { @@ -34,7 +35,10 @@ stdenv.mkDerivation rec { }; # Do not build static libraries - cmakeFlags = [ "-DENABLE_STATIC=NO" "-DENABLE_STRICT=NO" ]; + cmakeFlags = [ + "-DENABLE_STATIC=NO" + "-DENABLE_STRICT=NO" + ]; strictDeps = true; @@ -43,7 +47,10 @@ stdenv.mkDerivation rec { mainProgram = "bctoolbox_tester"; homepage = "https://gitlab.linphone.org/BC/public/bctoolbox"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ raskin jluttine ]; + maintainers = with maintainers; [ + raskin + jluttine + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/bc/bcunit/package.nix b/pkgs/by-name/bc/bcunit/package.nix index 14cf183f5878f..ad3d75b11be83 100644 --- a/pkgs/by-name/bc/bcunit/package.nix +++ b/pkgs/by-name/bc/bcunit/package.nix @@ -1,6 +1,8 @@ -{ cmake -, fetchFromGitLab -, lib, stdenv +{ + cmake, + fetchFromGitLab, + lib, + stdenv, }: stdenv.mkDerivation rec { @@ -21,7 +23,10 @@ stdenv.mkDerivation rec { description = "Belledonne Communications' fork of CUnit test framework. Part of the Linphone project"; homepage = "https://gitlab.linphone.org/BC/public/bcunit"; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ raskin jluttine ]; + maintainers = with maintainers; [ + raskin + jluttine + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/bd/bdf2psf/package.nix b/pkgs/by-name/bd/bdf2psf/package.nix index 6dc173231ad2f..6ddc161c7c143 100644 --- a/pkgs/by-name/bd/bdf2psf/package.nix +++ b/pkgs/by-name/bd/bdf2psf/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, dpkg }: +{ + lib, + stdenv, + fetchurl, + perl, + dpkg, +}: stdenv.mkDerivation rec { pname = "bdf2psf"; @@ -29,7 +35,7 @@ stdenv.mkDerivation rec { Font converter to generate console fonts from BDF source fonts ''; license = licenses.gpl2Plus; - maintainers = with maintainers; [ rnhmjoj ]; + maintainers = with maintainers; [ rnhmjoj ]; platforms = platforms.all; mainProgram = "bdf2psf"; }; diff --git a/pkgs/by-name/bd/bdf2sfd/package.nix b/pkgs/by-name/bd/bdf2sfd/package.nix index da3375ac6d68b..72b576d8e978c 100644 --- a/pkgs/by-name/bd/bdf2sfd/package.nix +++ b/pkgs/by-name/bd/bdf2sfd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "bdf2sfd"; diff --git a/pkgs/by-name/bd/bdf2ttf/package.nix b/pkgs/by-name/bd/bdf2ttf/package.nix index 399c07ee0b654..e34ec68568080 100644 --- a/pkgs/by-name/bd/bdf2ttf/package.nix +++ b/pkgs/by-name/bd/bdf2ttf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "bdf2ttf"; diff --git a/pkgs/by-name/bd/bdfresize/package.nix b/pkgs/by-name/bd/bdfresize/package.nix index 5d77a962296f0..e6ac782a44ff5 100644 --- a/pkgs/by-name/bd/bdfresize/package.nix +++ b/pkgs/by-name/bd/bdfresize/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "bdfresize"; diff --git a/pkgs/by-name/bd/bdsync/package.nix b/pkgs/by-name/bd/bdsync/package.nix index 55aff33b03d98..47800507b5295 100644 --- a/pkgs/by-name/bd/bdsync/package.nix +++ b/pkgs/by-name/bd/bdsync/package.nix @@ -1,7 +1,10 @@ -{ lib, stdenv, fetchFromGitHub -, openssl -, pandoc -, which +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + pandoc, + which, }: stdenv.mkDerivation rec { @@ -15,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-58yoF6s0WjH+1mTY7X5OX53YgcnDmGxoCR8Kvl6lP+A="; }; - nativeBuildInputs = [ pandoc which ]; + nativeBuildInputs = [ + pandoc + which + ]; buildInputs = [ openssl ]; postPatch = '' diff --git a/pkgs/by-name/bd/bdt/package.nix b/pkgs/by-name/bd/bdt/package.nix index 997b15cee39fb..23f6b9fd5e412 100644 --- a/pkgs/by-name/bd/bdt/package.nix +++ b/pkgs/by-name/bd/bdt/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { pname = "bdt"; diff --git a/pkgs/by-name/be/beancount-language-server/package.nix b/pkgs/by-name/be/beancount-language-server/package.nix index ed65cd8ee86e1..6645f183092af 100644 --- a/pkgs/by-name/be/beancount-language-server/package.nix +++ b/pkgs/by-name/be/beancount-language-server/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/be/beanstalkd/package.nix b/pkgs/by-name/be/beanstalkd/package.nix index 42a0f01d01688..f7cce03717edb 100644 --- a/pkgs/by-name/be/beanstalkd/package.nix +++ b/pkgs/by-name/be/beanstalkd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + nixosTests, +}: stdenv.mkDerivation rec { version = "1.13"; diff --git a/pkgs/by-name/be/bearssl/package.nix b/pkgs/by-name/be/bearssl/package.nix index 7301f8c889ce9..4dc9a2c488a57 100644 --- a/pkgs/by-name/be/bearssl/package.nix +++ b/pkgs/by-name/be/bearssl/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "bearssl"; @@ -9,7 +13,12 @@ stdenv.mkDerivation rec { sha256 = "057zhgy9w4y8z2996r0pq5k2k39lpvmmvz4df8db8qa9f6hvn1b7"; }; - outputs = [ "bin" "lib" "dev" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "out" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/be/beats/package.nix b/pkgs/by-name/be/beats/package.nix index a8ad2436f08ce..2c21e45952ab7 100644 --- a/pkgs/by-name/be/beats/package.nix +++ b/pkgs/by-name/be/beats/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "beats"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1rdvsqrjpily74y8vwch711401585xckb4p41cfwrmj6vf44jhif"; }; - makeFlags = [ "PREFIX=$(out)" "CC=cc" ]; + makeFlags = [ + "PREFIX=$(out)" + "CC=cc" + ]; meta = with lib; { homepage = "https://github.com/j0hax/beats"; diff --git a/pkgs/by-name/be/bedops/package.nix b/pkgs/by-name/be/bedops/package.nix index d455e98264cc1..70e8a99a7d7a2 100644 --- a/pkgs/by-name/be/bedops/package.nix +++ b/pkgs/by-name/be/bedops/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, zlib, bzip2, jansson, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + bzip2, + jansson, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "bedops"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-VJBoi1+tHA4oOVOsClUfimB+mOV5ZSQsDcDq3vAZwBA="; }; - buildInputs = [ zlib bzip2 jansson ]; + buildInputs = [ + zlib + bzip2 + jansson + ]; nativeBuildInputs = [ makeWrapper ]; preConfigure = '' diff --git a/pkgs/by-name/be/bedtools/package.nix b/pkgs/by-name/be/bedtools/package.nix index 19df156ae17cc..67ba0d019e477 100644 --- a/pkgs/by-name/be/bedtools/package.nix +++ b/pkgs/by-name/be/bedtools/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, zlib, python3, bzip2, xz}: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + python3, + bzip2, + xz, +}: stdenv.mkDerivation rec { pname = "bedtools"; @@ -17,7 +25,11 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ zlib bzip2 xz ]; + buildInputs = [ + zlib + bzip2 + xz + ]; cxx = if stdenv.cc.isClang then "clang++" else "g++"; cc = if stdenv.cc.isClang then "clang" else "gcc"; diff --git a/pkgs/by-name/be/beecrypt/package.nix b/pkgs/by-name/be/beecrypt/package.nix index f6c61254c1010..f38ead8ebbf04 100644 --- a/pkgs/by-name/be/beecrypt/package.nix +++ b/pkgs/by-name/be/beecrypt/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, m4}: +{ + lib, + stdenv, + fetchurl, + m4, +}: stdenv.mkDerivation rec { pname = "beecrypt"; @@ -9,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "0pf5k1c4nsj77jfq5ip0ra1gzx2q47xaa0s008fnn6hd11b1yvr8"; }; buildInputs = [ m4 ]; - configureFlags = [ "--disable-optimized" "--enable-static" ]; + configureFlags = [ + "--disable-optimized" + "--enable-static" + ]; meta = { platforms = lib.platforms.linux; diff --git a/pkgs/by-name/be/beefi/package.nix b/pkgs/by-name/be/beefi/package.nix index 57ab2d7c8574c..1c8c084711a09 100644 --- a/pkgs/by-name/be/beefi/package.nix +++ b/pkgs/by-name/be/beefi/package.nix @@ -1,9 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, installShellFiles -, binutils-unwrapped -, systemd }: +{ + stdenv, + lib, + fetchFromGitHub, + installShellFiles, + binutils-unwrapped, + systemd, +}: stdenv.mkDerivation rec { pname = "beefi"; diff --git a/pkgs/by-name/be/beekeeper-studio/package.nix b/pkgs/by-name/be/beekeeper-studio/package.nix index 5b633f12bcd40..06fab85f22fb9 100644 --- a/pkgs/by-name/be/beekeeper-studio/package.nix +++ b/pkgs/by-name/be/beekeeper-studio/package.nix @@ -1,23 +1,28 @@ -{ appimageTools -, fetchurl -, lib -, makeWrapper -, stdenv +{ + appimageTools, + fetchurl, + lib, + makeWrapper, + stdenv, }: let pname = "beekeeper-studio"; version = "4.6.8"; - plat = { - aarch64-linux = "-arm64"; - x86_64-linux = ""; - }.${stdenv.hostPlatform.system}; + plat = + { + aarch64-linux = "-arm64"; + x86_64-linux = ""; + } + .${stdenv.hostPlatform.system}; - hash = { - aarch64-linux = "sha256-EKGL+aeuCcBuSh+VtkdgFhI1LccuvO8WHoqbZ/JdX7c="; - x86_64-linux = "sha256-LyO9xCqZG5gNAvCIX9wacSb59wiLjXPDta+Fipu24fk="; - }.${stdenv.hostPlatform.system}; + hash = + { + aarch64-linux = "sha256-EKGL+aeuCcBuSh+VtkdgFhI1LccuvO8WHoqbZ/JdX7c="; + x86_64-linux = "sha256-LyO9xCqZG5gNAvCIX9wacSb59wiLjXPDta+Fipu24fk="; + } + .${stdenv.hostPlatform.system}; src = fetchurl { url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${version}/Beekeeper-Studio-${version}${plat}.AppImage"; @@ -47,7 +52,13 @@ appimageTools.wrapType2 { license = lib.licenses.gpl3Only; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; mainProgram = "beekeeper-studio"; - maintainers = with lib.maintainers; [ milogert alexnortung ]; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + maintainers = with lib.maintainers; [ + milogert + alexnortung + ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/be/beep/package.nix b/pkgs/by-name/be/beep/package.nix index a11b4ca38ad4d..b1a37e5f98510 100644 --- a/pkgs/by-name/be/beep/package.nix +++ b/pkgs/by-name/be/beep/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: # this package is working only as root # in order to work as a non privileged user you would need to suid the bin @@ -14,7 +18,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-gDgGI9F+wW2cN89IwP93PkMv6vixJA2JckF78nxZ+TU="; }; - makeFlags = [ "prefix=${placeholder "out"}"]; + makeFlags = [ "prefix=${placeholder "out"}" ]; # causes redefinition of _FORTIFY_SOURCE hardeningDisable = [ "fortify3" ]; diff --git a/pkgs/by-name/be/beeper-bridge-manager/package.nix b/pkgs/by-name/be/beeper-bridge-manager/package.nix index 3beaa9cfc512d..a45069a9a8980 100644 --- a/pkgs/by-name/be/beeper-bridge-manager/package.nix +++ b/pkgs/by-name/be/beeper-bridge-manager/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/be/beeper/package.nix b/pkgs/by-name/be/beeper/package.nix index 407a20b8433e2..e25728089d55f 100644 --- a/pkgs/by-name/be/beeper/package.nix +++ b/pkgs/by-name/be/beeper/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchurl -, appimageTools -, makeWrapper -, writeShellApplication -, curl -, yq -, common-updater-scripts +{ + lib, + stdenvNoCC, + fetchurl, + appimageTools, + makeWrapper, + writeShellApplication, + curl, + yq, + common-updater-scripts, }: let pname = "beeper"; @@ -53,7 +54,11 @@ stdenvNoCC.mkDerivation rec { passthru = { updateScript = lib.getExe (writeShellApplication { name = "update-beeper"; - runtimeInputs = [ curl yq common-updater-scripts ]; + runtimeInputs = [ + curl + yq + common-updater-scripts + ]; text = '' set -o errexit latestLinux="$(curl -s https://download.todesktop.com/2003241lzgn20jd/latest-linux.yml)" @@ -72,7 +77,11 @@ stdenvNoCC.mkDerivation rec { ''; homepage = "https://beeper.com"; license = licenses.unfree; - maintainers = with maintainers; [ jshcmpbll mjm edmundmiller ]; + maintainers = with maintainers; [ + jshcmpbll + mjm + edmundmiller + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/be/bees/package.nix b/pkgs/by-name/be/bees/package.nix index a014f449079c4..8bff2ce41d704 100644 --- a/pkgs/by-name/be/bees/package.nix +++ b/pkgs/by-name/be/bees/package.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, nixosTests +{ + lib, + fetchFromGitHub, + makeWrapper, + nixosTests, -, stdenv -# Build inputs -, btrfs-progs -, util-linux -, python3Packages -# bees-service-wrapper -, bash -, coreutils + stdenv, + # Build inputs + btrfs-progs, + util-linux, + python3Packages, + # bees-service-wrapper + bash, + coreutils, }: stdenv.mkDerivation rec { @@ -45,7 +46,14 @@ stdenv.mkDerivation rec { postInstall = '' makeWrapper ${./bees-service-wrapper} "$out"/bin/bees-service-wrapper \ - --prefix PATH : ${lib.makeBinPath [ bash coreutils util-linux btrfs-progs ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + util-linux + btrfs-progs + ] + } \ --set beesd_bin "$out"/lib/bees/bees ''; diff --git a/pkgs/by-name/be/behdad-fonts/package.nix b/pkgs/by-name/be/behdad-fonts/package.nix index f7305e9de9872..d61be96642314 100644 --- a/pkgs/by-name/be/behdad-fonts/package.nix +++ b/pkgs/by-name/be/behdad-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "behdad-fonts"; diff --git a/pkgs/by-name/be/belcard/package.nix b/pkgs/by-name/be/belcard/package.nix index cb16a3fe0fd86..37a168b13661a 100644 --- a/pkgs/by-name/be/belcard/package.nix +++ b/pkgs/by-name/be/belcard/package.nix @@ -1,9 +1,10 @@ -{ bctoolbox -, belr -, cmake -, fetchFromGitLab -, lib -, stdenv +{ + bctoolbox, + belr, + cmake, + fetchFromGitLab, + lib, + stdenv, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-pRNJ1bDS2v0Cn+6cxMeFa0JQ27UZR6kCI9P6gQ5W2GA="; }; - buildInputs = [ bctoolbox belr ]; + buildInputs = [ + bctoolbox + belr + ]; nativeBuildInputs = [ cmake ]; cmakeFlags = [ diff --git a/pkgs/by-name/be/belle-sip/package.nix b/pkgs/by-name/be/belle-sip/package.nix index efc62bc9a5a1f..dd9d46102dbfa 100644 --- a/pkgs/by-name/be/belle-sip/package.nix +++ b/pkgs/by-name/be/belle-sip/package.nix @@ -1,12 +1,13 @@ -{ bctoolbox -, belr -, cmake -, fetchFromGitLab -, lib -, libantlr3c -, mbedtls_2 -, stdenv -, zlib +{ + bctoolbox, + belr, + cmake, + fetchFromGitLab, + lib, + libantlr3c, + mbedtls_2, + stdenv, + zlib, }: stdenv.mkDerivation rec { @@ -29,17 +30,25 @@ stdenv.mkDerivation rec { # Do not build static libraries cmakeFlags = [ "-DENABLE_STATIC=NO" ]; - env.NIX_CFLAGS_COMPILE = toString ([ - "-Wno-error=cast-function-type" - "-Wno-error=deprecated-declarations" - "-Wno-error=format-truncation" - "-Wno-error=stringop-overflow" - ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but problematic with some old GCCs and probably clang - "-Wno-error=use-after-free" - ]); - - propagatedBuildInputs = [ libantlr3c mbedtls_2 bctoolbox belr ]; + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-Wno-error=cast-function-type" + "-Wno-error=deprecated-declarations" + "-Wno-error=format-truncation" + "-Wno-error=stringop-overflow" + ] + ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs and probably clang + "-Wno-error=use-after-free" + ] + ); + + propagatedBuildInputs = [ + libantlr3c + mbedtls_2 + bctoolbox + belr + ]; meta = with lib; { homepage = "https://linphone.org/technical-corner/belle-sip"; diff --git a/pkgs/by-name/be/below/package.nix b/pkgs/by-name/be/below/package.nix index dc7754a7793eb..4ae575272be08 100644 --- a/pkgs/by-name/be/below/package.nix +++ b/pkgs/by-name/be/below/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, clang -, pkg-config -, elfutils -, rustfmt -, zlib +{ + lib, + fetchFromGitHub, + rustPlatform, + clang, + pkg-config, + elfutils, + rustfmt, + zlib, }: rustPlatform.buildRustPackage rec { @@ -28,10 +29,20 @@ rustPlatform.buildRustPackage rec { ''; # bpf code compilation - hardeningDisable = [ "stackprotector" "zerocallusedregs" ]; - - nativeBuildInputs = [ clang pkg-config rustfmt ]; - buildInputs = [ elfutils zlib ]; + hardeningDisable = [ + "stackprotector" + "zerocallusedregs" + ]; + + nativeBuildInputs = [ + clang + pkg-config + rustfmt + ]; + buildInputs = [ + elfutils + zlib + ]; # needs /sys/fs/cgroup doCheck = false; diff --git a/pkgs/by-name/be/belr/package.nix b/pkgs/by-name/be/belr/package.nix index 95517eabed26c..11fa75878341f 100644 --- a/pkgs/by-name/be/belr/package.nix +++ b/pkgs/by-name/be/belr/package.nix @@ -1,8 +1,9 @@ -{ bctoolbox -, cmake -, fetchFromGitLab -, lib -, stdenv +{ + bctoolbox, + cmake, + fetchFromGitLab, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/be/beluga/package.nix b/pkgs/by-name/be/beluga/package.nix index d85f375f9f89d..6c97064a52cb3 100644 --- a/pkgs/by-name/be/beluga/package.nix +++ b/pkgs/by-name/be/beluga/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: ocamlPackages.buildDunePackage rec { pname = "beluga"; diff --git a/pkgs/by-name/be/bemenu/package.nix b/pkgs/by-name/be/bemenu/package.nix index 7c4cd0f935424..ace85ff9ec1b5 100644 --- a/pkgs/by-name/be/bemenu/package.nix +++ b/pkgs/by-name/be/bemenu/package.nix @@ -1,8 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, cairo, libxkbcommon -, pango, fribidi, harfbuzz, pkg-config, scdoc -, ncursesSupport ? true, ncurses -, waylandSupport ? true, wayland, wayland-protocols, wayland-scanner -, x11Support ? true, xorg +{ + stdenv, + lib, + fetchFromGitHub, + cairo, + libxkbcommon, + pango, + fribidi, + harfbuzz, + pkg-config, + scdoc, + ncursesSupport ? true, + ncurses, + waylandSupport ? true, + wayland, + wayland-protocols, + wayland-scanner, + x11Support ? true, + xorg, }: stdenv.mkDerivation (finalAttrs: { @@ -17,25 +31,37 @@ stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - nativeBuildInputs = [ pkg-config scdoc ] - ++ lib.optionals waylandSupport [ wayland-scanner ]; + nativeBuildInputs = [ + pkg-config + scdoc + ] ++ lib.optionals waylandSupport [ wayland-scanner ]; - buildInputs = [ - cairo - fribidi - harfbuzz - libxkbcommon - pango - ] ++ lib.optional ncursesSupport ncurses - ++ lib.optionals waylandSupport [ wayland wayland-protocols ] + buildInputs = + [ + cairo + fribidi + harfbuzz + libxkbcommon + pango + ] + ++ lib.optional ncursesSupport ncurses + ++ lib.optionals waylandSupport [ + wayland + wayland-protocols + ] ++ lib.optionals x11Support [ - xorg.libX11 xorg.libXinerama xorg.libXft - xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb + xorg.libX11 + xorg.libXinerama + xorg.libXft + xorg.libXdmcp + xorg.libpthreadstubs + xorg.libxcb ]; - makeFlags = ["PREFIX=$(out)"]; + makeFlags = [ "PREFIX=$(out)" ]; - buildFlags = ["clients"] + buildFlags = + [ "clients" ] ++ lib.optional ncursesSupport "curses" ++ lib.optional waylandSupport "wayland" ++ lib.optional x11Support "x11"; diff --git a/pkgs/by-name/be/bemoji/package.nix b/pkgs/by-name/be/bemoji/package.nix index 37e2155ca1d3b..976ee9bd3344d 100644 --- a/pkgs/by-name/be/bemoji/package.nix +++ b/pkgs/by-name/be/bemoji/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/be/benchexec/package.nix b/pkgs/by-name/be/benchexec/package.nix index 213aeee6d919d..be860eaad4d0f 100644 --- a/pkgs/by-name/be/benchexec/package.nix +++ b/pkgs/by-name/be/benchexec/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3 -, libseccomp -, nixosTests -, testers -, benchexec +{ + lib, + fetchFromGitHub, + python3, + libseccomp, + nixosTests, + testers, + benchexec, }: python3.pkgs.buildPythonApplication rec { pname = "benchexec"; @@ -39,10 +40,12 @@ python3.pkgs.buildPythonApplication rec { passthru.tests = let - testVersion = result: testers.testVersion { - command = "${result} --version"; - package = benchexec; - }; + testVersion = + result: + testers.testVersion { + command = "${result} --version"; + package = benchexec; + }; in { nixos = nixosTests.benchexec; diff --git a/pkgs/by-name/be/bencode/package.nix b/pkgs/by-name/be/bencode/package.nix index 1dc68be26052a..b3df112d91018 100644 --- a/pkgs/by-name/be/bencode/package.nix +++ b/pkgs/by-name/be/bencode/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, catch2 -, cmake -, expected-lite -, fmt -, gsl-lite -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + catch2, + cmake, + expected-lite, + fmt, + gsl-lite, + ninja, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/be/bento4/package.nix b/pkgs/by-name/be/bento4/package.nix index 5059cfa0c8382..2b7dc79faf2d9 100644 --- a/pkgs/by-name/be/bento4/package.nix +++ b/pkgs/by-name/be/bento4/package.nix @@ -1,5 +1,8 @@ -{ lib, stdenv, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { pname = "bento4"; @@ -18,11 +21,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_OSX_ARCHITECTURES=" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_ARCHITECTURES=" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/be/bepass/package.nix b/pkgs/by-name/be/bepass/package.nix index fb9de741a90d7..02d8b58a22083 100644 --- a/pkgs/by-name/be/bepass/package.nix +++ b/pkgs/by-name/be/bepass/package.nix @@ -1,18 +1,19 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, enableGUI ? false # upstream working in progress -, pkg-config -, glfw -, xorg -, libXcursor -, libXrandr -, libXinerama -, xinput -, libXi -, libXxf86vm +{ + lib, + buildGoModule, + fetchFromGitHub, + enableGUI ? false, # upstream working in progress + pkg-config, + glfw, + xorg, + libXcursor, + libXrandr, + libXinerama, + xinput, + libXi, + libXxf86vm, }: -buildGoModule rec{ +buildGoModule rec { pname = "bepass"; version = "1.6.2"; diff --git a/pkgs/by-name/be/bepasty/package.nix b/pkgs/by-name/be/bepasty/package.nix index 8e67cbab61111..51309a35da9bd 100644 --- a/pkgs/by-name/be/bepasty/package.nix +++ b/pkgs/by-name/be/bepasty/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let @@ -9,7 +10,7 @@ let bepastyPython = python3.override { self = bepastyPython; packageOverrides = self: super: { - xstatic-font-awesome = super.xstatic-font-awesome.overridePythonAttrs(oldAttrs: rec { + xstatic-font-awesome = super.xstatic-font-awesome.overridePythonAttrs (oldAttrs: rec { version = "4.7.0.0"; src = oldAttrs.src.override { inherit version; @@ -76,6 +77,9 @@ bepastyPython.pkgs.buildPythonPackage rec { homepage = "https://github.com/bepasty/bepasty-server"; description = "Binary pastebin server"; license = licenses.bsd2; - maintainers = with maintainers; [ aither64 makefu ]; + maintainers = with maintainers; [ + aither64 + makefu + ]; }; } diff --git a/pkgs/by-name/be/berglas/package.nix b/pkgs/by-name/be/berglas/package.nix index b541c7fb7f17f..f44b06b8631e5 100644 --- a/pkgs/by-name/be/berglas/package.nix +++ b/pkgs/by-name/be/berglas/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, berglas }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + berglas, +}: let skipTests = { @@ -13,16 +19,18 @@ let update = "Update"; }; - skipTestsCommand = - builtins.foldl' (acc: goFileName: - let testName = builtins.getAttr goFileName skipTests; in - '' - ${acc} - substituteInPlace pkg/berglas/${goFileName}_test.go \ - --replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \ - --replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager" - '' - ) "" (builtins.attrNames skipTests); + skipTestsCommand = builtins.foldl' ( + acc: goFileName: + let + testName = builtins.getAttr goFileName skipTests; + in + '' + ${acc} + substituteInPlace pkg/berglas/${goFileName}_test.go \ + --replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \ + --replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager" + '' + ) "" (builtins.attrNames skipTests); in buildGoModule rec { diff --git a/pkgs/by-name/be/besu/package.nix b/pkgs/by-name/be/besu/package.nix index 4c61c75a4f07c..208377db95a8f 100644 --- a/pkgs/by-name/be/besu/package.nix +++ b/pkgs/by-name/be/besu/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, makeWrapper, jemalloc, jre, runCommand, testers }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jemalloc, + jre, + runCommand, + testers, +}: stdenv.mkDerivation (finalAttrs: rec { pname = "besu"; @@ -19,7 +28,9 @@ stdenv.mkDerivation (finalAttrs: rec { cp -r lib $out/ wrapProgram $out/bin/${pname} \ --set JAVA_HOME "${jre}" \ - --suffix ${if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"} : ${lib.makeLibraryPath buildInputs} + --suffix ${ + if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH" + } : ${lib.makeLibraryPath buildInputs} ''; passthru.tests = { @@ -27,15 +38,17 @@ stdenv.mkDerivation (finalAttrs: rec { package = finalAttrs.finalPackage; version = "v${version}"; }; - jemalloc = runCommand "${pname}-test-jemalloc" - { - nativeBuildInputs = [ finalAttrs.finalPackage ]; - meta.platforms = with lib.platforms; linux; - } '' - # Expect to find this string in the output, ignore other failures. - (besu 2>&1 || true) | grep -q "# jemalloc: ${jemalloc.version}" - mkdir $out - ''; + jemalloc = + runCommand "${pname}-test-jemalloc" + { + nativeBuildInputs = [ finalAttrs.finalPackage ]; + meta.platforms = with lib.platforms; linux; + } + '' + # Expect to find this string in the output, ignore other failures. + (besu 2>&1 || true) | grep -q "# jemalloc: ${jemalloc.version}" + mkdir $out + ''; }; meta = with lib; { diff --git a/pkgs/by-name/be/bettercap/package.nix b/pkgs/by-name/be/bettercap/package.nix index ebd49d4a12cb0..84d732016e683 100644 --- a/pkgs/by-name/be/bettercap/package.nix +++ b/pkgs/by-name/be/bettercap/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, buildGo122Module -, fetchFromGitHub -, pkg-config -, libpcap -, libnfnetlink -, libnetfilter_queue -, libusb1 +{ + lib, + stdenv, + buildGo122Module, + fetchFromGitHub, + pkg-config, + libpcap, + libnfnetlink, + libnetfilter_queue, + libusb1, }: buildGo122Module rec { @@ -24,8 +26,15 @@ buildGo122Module rec { doCheck = false; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpcap libusb1 ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libnfnetlink libnetfilter_queue ]; + buildInputs = + [ + libpcap + libusb1 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libnfnetlink + libnetfilter_queue + ]; meta = with lib; { description = "Man in the middle tool"; diff --git a/pkgs/by-name/be/betterdiscord-installer/package.nix b/pkgs/by-name/be/betterdiscord-installer/package.nix index 0b31707759405..35e66add048af 100644 --- a/pkgs/by-name/be/betterdiscord-installer/package.nix +++ b/pkgs/by-name/be/betterdiscord-installer/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "betterdiscord-installer"; version = "1.0.0-beta"; @@ -9,7 +13,8 @@ let }; appimageContents = appimageTools.extract { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/be/betterlockscreen/package.nix b/pkgs/by-name/be/betterlockscreen/package.nix index d9dde026f98c6..ba1fce2551e0e 100644 --- a/pkgs/by-name/be/betterlockscreen/package.nix +++ b/pkgs/by-name/be/betterlockscreen/package.nix @@ -1,27 +1,39 @@ -{ fetchFromGitHub -, lib -, makeWrapper -, stdenv +{ + fetchFromGitHub, + lib, + makeWrapper, + stdenv, # Dependencies (@see https://github.com/pavanjadhaw/betterlockscreen/blob/master/shell.nix) -, bc -, coreutils -, dbus -, withDunst ? true -, dunst -, i3lock-color -, gawk -, gnugrep -, gnused -, imagemagick -, procps -, xorg + bc, + coreutils, + dbus, + withDunst ? true, + dunst, + i3lock-color, + gawk, + gnugrep, + gnused, + imagemagick, + procps, + xorg, }: let - runtimeDeps = - [ bc coreutils dbus i3lock-color gawk gnugrep gnused imagemagick procps xorg.xdpyinfo xorg.xrandr xorg.xset ] - ++ lib.optionals withDunst [ dunst ]; + runtimeDeps = [ + bc + coreutils + dbus + i3lock-color + gawk + gnugrep + gnused + imagemagick + procps + xorg.xdpyinfo + xorg.xrandr + xorg.xset + ] ++ lib.optionals withDunst [ dunst ]; in stdenv.mkDerivation rec { @@ -54,6 +66,9 @@ stdenv.mkDerivation rec { mainProgram = "betterlockscreen"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ eyjhb sebtm ]; + maintainers = with maintainers; [ + eyjhb + sebtm + ]; }; } diff --git a/pkgs/by-name/be/beyond-identity/package.nix b/pkgs/by-name/be/beyond-identity/package.nix index 229d61be1d8aa..b4d99eac4dbe9 100644 --- a/pkgs/by-name/be/beyond-identity/package.nix +++ b/pkgs/by-name/be/beyond-identity/package.nix @@ -1,19 +1,42 @@ -{ lib, stdenv, fetchurl, dpkg, buildFHSEnv -, glibc, glib, openssl, tpm2-tss -, gtk3, gnome-keyring, polkit, polkit_gnome +{ + lib, + stdenv, + fetchurl, + dpkg, + buildFHSEnv, + glibc, + glib, + openssl, + tpm2-tss, + gtk3, + gnome-keyring, + polkit, + polkit_gnome, }: let pname = "beyond-identity"; version = "2.97.0-0"; - libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome-keyring polkit polkit_gnome ]); + libPath = lib.makeLibraryPath ([ + glib + glibc + openssl + tpm2-tss + gtk3 + gnome-keyring + polkit + polkit_gnome + ]); meta = with lib; { description = "Passwordless MFA identities for workforces, customers, and developers"; homepage = "https://www.beyondidentity.com"; downloadPage = "https://app.byndid.com/downloads"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ klden hornwall ]; + maintainers = with maintainers; [ + klden + hornwall + ]; platforms = [ "x86_64-linux" ]; }; @@ -66,21 +89,26 @@ let $out/bin/byndid ''; }; +in # /usr/bin/pkcheck is hardcoded in binary - we need FHS -in buildFHSEnv { - inherit pname version meta; +buildFHSEnv { + inherit pname version meta; - targetPkgs = pkgs: [ - beyond-identity - glib glibc openssl tpm2-tss - gtk3 gnome-keyring - polkit polkit_gnome - ]; + targetPkgs = pkgs: [ + beyond-identity + glib + glibc + openssl + tpm2-tss + gtk3 + gnome-keyring + polkit + polkit_gnome + ]; - extraInstallCommands = '' - ln -s ${beyond-identity}/share $out - ''; + extraInstallCommands = '' + ln -s ${beyond-identity}/share $out + ''; - runScript = "beyond-identity"; + runScript = "beyond-identity"; } - diff --git a/pkgs/by-name/bf/bfc/package.nix b/pkgs/by-name/bf/bfc/package.nix index 660f130225c85..c22bb6526620c 100644 --- a/pkgs/by-name/bf/bfc/package.nix +++ b/pkgs/by-name/bf/bfc/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, llvmPackages_13 -, libxml2 -, ncurses -, zlib -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + llvmPackages_13, + libxml2, + ncurses, + zlib, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/bf/bfetch/package.nix b/pkgs/by-name/bf/bfetch/package.nix index 687b3c1280167..07e559e4156ae 100644 --- a/pkgs/by-name/bf/bfetch/package.nix +++ b/pkgs/by-name/bf/bfetch/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, bash }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + bash, +}: stdenvNoCC.mkDerivation rec { pname = "bfetch"; diff --git a/pkgs/by-name/bf/bfr/package.nix b/pkgs/by-name/bf/bfr/package.nix index 6d67d4d206772..fe44dcbef0bb5 100644 --- a/pkgs/by-name/bf/bfr/package.nix +++ b/pkgs/by-name/bf/bfr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "bfr"; @@ -9,12 +14,12 @@ stdenv.mkDerivation rec { sha256 = "0fadfssvj9klj4dq9wdrzys1k2a1z2j0p6kgnfgbjv0n1bq6h4cy"; }; - patches = - [ (fetchurl { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-misc/bfr/files/bfr-1.6-perl.patch"; - sha256 = "1pk9jm3c1qzs727lh0bw61w3qbykaqg4jblywf9pvq5bypk88qfj"; - }) - ]; + patches = [ + (fetchurl { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-misc/bfr/files/bfr-1.6-perl.patch"; + sha256 = "1pk9jm3c1qzs727lh0bw61w3qbykaqg4jblywf9pvq5bypk88qfj"; + }) + ]; buildInputs = [ perl ]; diff --git a/pkgs/by-name/bf/bfs/package.nix b/pkgs/by-name/bf/bfs/package.nix index 569e64aa467dc..285b047eaf9b6 100644 --- a/pkgs/by-name/bf/bfs/package.nix +++ b/pkgs/by-name/bf/bfs/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, attr, acl, libcap, liburing, oniguruma }: +{ + lib, + stdenv, + fetchFromGitHub, + attr, + acl, + libcap, + liburing, + oniguruma, +}: stdenv.mkDerivation rec { pname = "bfs"; @@ -11,8 +20,14 @@ stdenv.mkDerivation rec { hash = "sha256-KcXbLYITTxNq2r8Bqf4FRy7cOZw1My9Ii6O/FDLhCGY="; }; - buildInputs = [ oniguruma ] ++ - lib.optionals stdenv.hostPlatform.isLinux [ acl attr libcap liburing ]; + buildInputs = + [ oniguruma ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + acl + attr + libcap + liburing + ]; configureFlags = [ "--enable-release" ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -26,7 +41,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/tavianator/bfs"; license = licenses.bsd0; platforms = platforms.unix; - maintainers = with maintainers; [ yesbox cafkafk ]; + maintainers = with maintainers; [ + yesbox + cafkafk + ]; mainProgram = "bfs"; }; } diff --git a/pkgs/by-name/bf/bfscripts/package.nix b/pkgs/by-name/bf/bfscripts/package.nix index 537cab8697a39..322183078c2ad 100644 --- a/pkgs/by-name/bf/bfscripts/package.nix +++ b/pkgs/by-name/bf/bfscripts/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchFromGitHub -, lib -, python3 +{ + stdenv, + fetchFromGitHub, + lib, + python3, }: let @@ -52,12 +53,11 @@ stdenv.mkDerivation rec { ${lib.concatStringsSep "\n" (map (b: "install -D ${b} $out/bin/${b}") binaries)} ''; - meta = with lib; - { - description = "Collection of scripts used for BlueField SoC system management"; - homepage = "https://github.com/Mellanox/bfscripts"; - license = licenses.bsd2; - platforms = platforms.linux; - maintainers = with maintainers; [ nikstur ]; - }; + meta = with lib; { + description = "Collection of scripts used for BlueField SoC system management"; + homepage = "https://github.com/Mellanox/bfscripts"; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ nikstur ]; + }; } diff --git a/pkgs/by-name/bf/bftools/package.nix b/pkgs/by-name/bf/bftools/package.nix index 6b8a7fd96d099..2e60748d162e2 100644 --- a/pkgs/by-name/bf/bftools/package.nix +++ b/pkgs/by-name/bf/bftools/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, makeWrapper, fetchzip, jre }: +{ + stdenv, + lib, + makeWrapper, + fetchzip, + jre, +}: stdenv.mkDerivation rec { pname = "bftools"; diff --git a/pkgs/by-name/bf/bftpd/package.nix b/pkgs/by-name/bf/bftpd/package.nix index b244bec5fddc0..f195306c784ee 100644 --- a/pkgs/by-name/bf/bftpd/package.nix +++ b/pkgs/by-name/bf/bftpd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "bftpd"; diff --git a/pkgs/by-name/bg/bgnet/package.nix b/pkgs/by-name/bg/bgnet/package.nix index a69a2d7a64f93..c8d8e5ccb8536 100644 --- a/pkgs/by-name/bg/bgnet/package.nix +++ b/pkgs/by-name/bg/bgnet/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, python3, pandoc }: +{ + stdenv, + lib, + fetchFromGitHub, + python3, + pandoc, +}: stdenv.mkDerivation { pname = "bgnet"; @@ -23,7 +29,10 @@ stdenv.mkDerivation { install -Dm644 src/bgnet.html $out/share/doc/bgnet/html/index.html ''; - nativeBuildInputs = [ python3 pandoc ]; + nativeBuildInputs = [ + python3 + pandoc + ]; meta = { description = "Beej’s Guide to Network Programming"; diff --git a/pkgs/by-name/bg/bgpdump/package.nix b/pkgs/by-name/bg/bgpdump/package.nix index 4ca75a53c254b..93b5528f16ae4 100644 --- a/pkgs/by-name/bg/bgpdump/package.nix +++ b/pkgs/by-name/bg/bgpdump/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib, bzip2 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + zlib, + bzip2, +}: stdenv.mkDerivation rec { pname = "bgpdump"; @@ -16,7 +23,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ zlib bzip2 ]; + buildInputs = [ + zlib + bzip2 + ]; meta = { homepage = "https://github.com/RIPE-NCC/bgpdump"; diff --git a/pkgs/by-name/bg/bgpq3/package.nix b/pkgs/by-name/bg/bgpq3/package.nix index 7d92aa4ee995a..9ad73d7bc037e 100644 --- a/pkgs/by-name/bg/bgpq3/package.nix +++ b/pkgs/by-name/bg/bgpq3/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "bgpq3"; diff --git a/pkgs/by-name/bg/bgpq4/package.nix b/pkgs/by-name/bg/bgpq4/package.nix index ea47cf4b2cae0..c7de15d1456f8 100644 --- a/pkgs/by-name/bg/bgpq4/package.nix +++ b/pkgs/by-name/bg/bgpq4/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "bgpq4"; diff --git a/pkgs/by-name/bg/bgs/package.nix b/pkgs/by-name/bg/bgs/package.nix index b50f15a1929cb..c37dfa311cbe2 100644 --- a/pkgs/by-name/bg/bgs/package.nix +++ b/pkgs/by-name/bg/bgs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libX11, libXinerama, imlib2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libX11, + libXinerama, + imlib2, +}: stdenv.mkDerivation rec { @@ -14,7 +22,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXinerama imlib2 ]; + buildInputs = [ + libX11 + libXinerama + imlib2 + ]; preConfigure = ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk''; diff --git a/pkgs/by-name/bi/bibata-cursors/package.nix b/pkgs/by-name/bi/bibata-cursors/package.nix index e450314cef1ce..0c0253b4ae8e4 100644 --- a/pkgs/by-name/bi/bibata-cursors/package.nix +++ b/pkgs/by-name/bi/bibata-cursors/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchzip -, clickgen +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchzip, + clickgen, }: stdenvNoCC.mkDerivation rec { @@ -61,6 +62,9 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/ful1e5/Bibata_Cursor"; license = lib.licenses.gpl3Only; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ rawkode AdsonCicilioti ]; + maintainers = with lib.maintainers; [ + rawkode + AdsonCicilioti + ]; }; } diff --git a/pkgs/by-name/bi/bibclean/package.nix b/pkgs/by-name/bi/bibclean/package.nix index eb84ff8d7037d..a87569b0213e7 100644 --- a/pkgs/by-name/bi/bibclean/package.nix +++ b/pkgs/by-name/bi/bibclean/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "bibclean"; diff --git a/pkgs/by-name/bi/biber-ms/package.nix b/pkgs/by-name/bi/biber-ms/package.nix index 38452d7f9638d..b2f7000539c83 100644 --- a/pkgs/by-name/bi/biber-ms/package.nix +++ b/pkgs/by-name/bi/biber-ms/package.nix @@ -1,14 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, perlPackages, shortenPerlShebang, texlive }: +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, + shortenPerlShebang, + texlive, +}: let biberSource = texlive.pkgs.biber-ms.texsource; # missing test file - multiscriptBltxml = (fetchFromGitHub { - owner = "plk"; - repo = "biber"; - rev = "e8d056433063add7800f24589de76f89c4b64c20"; - hash = "sha256-QnN6Iyw6iOjfTX7DLVptsfAO/QNn9vOIk5IZlI15EvQ="; - }) + "/t/tdata/multiscript.bltxml"; + multiscriptBltxml = + (fetchFromGitHub { + owner = "plk"; + repo = "biber"; + rev = "e8d056433063add7800f24589de76f89c4b64c20"; + hash = "sha256-QnN6Iyw6iOjfTX7DLVptsfAO/QNn9vOIk5IZlI15EvQ="; + }) + + "/t/tdata/multiscript.bltxml"; in perlPackages.buildPerlModule { @@ -21,17 +30,53 @@ perlPackages.buildPerlModule { # evaluation errors with config.allowAliases = false) buildInputs = with perlPackages; [ # build deps - ConfigAutoConf ExtUtilsLibBuilder FileWhich TestDifferences - /*TestMore=TestSimple=null*/ + ConfigAutoConf + ExtUtilsLibBuilder + FileWhich + TestDifferences + # TestMore=TestSimple=null # runtime deps - BusinessISBN BusinessISMN BusinessISSN ClassAccessor DataCompare DataDump - DataUniqid DateTimeCalendarJulian DateTimeFormatBuilder EncodeEUCJPASCII - EncodeHanExtra EncodeJIS2K EncodeLocale FileSlurper IOString IPCRun3 - LWPProtocolHttps LWP/*LWPUserAgent*/ libwwwperl LinguaTranslit ListAllUtils - ListMoreUtils ListMoreUtilsXS LogLog4perl MozillaCA ParseRecDescent - PerlIOutf8_strict RegexpCommon SortKey TextBalanced TextBibTeX TextCSV - TextCSV_XS TextRoman URI UnicodeLineBreak XMLLibXML XMLLibXMLSimple - XMLLibXSLT XMLWriter autovivification + BusinessISBN + BusinessISMN + BusinessISSN + ClassAccessor + DataCompare + DataDump + DataUniqid + DateTimeCalendarJulian + DateTimeFormatBuilder + EncodeEUCJPASCII + EncodeHanExtra + EncodeJIS2K + EncodeLocale + FileSlurper + IOString + IPCRun3 + LWPProtocolHttps + LWP # LWPUserAgent + libwwwperl + LinguaTranslit + ListAllUtils + ListMoreUtils + ListMoreUtilsXS + LogLog4perl + MozillaCA + ParseRecDescent + PerlIOutf8_strict + RegexpCommon + SortKey + TextBalanced + TextBibTeX + TextCSV + TextCSV_XS + TextRoman + URI + UnicodeLineBreak + XMLLibXML + XMLLibXMLSimple + XMLLibXSLT + XMLWriter + autovivification ]; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; @@ -39,11 +84,13 @@ perlPackages.buildPerlModule { cp '${multiscriptBltxml}' t/tdata/multiscript.bltxml ''; - postInstall = '' - mv "$out"/bin/biber{,-ms} - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang "$out"/bin/biber-ms - ''; + postInstall = + '' + mv "$out"/bin/biber{,-ms} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang "$out"/bin/biber-ms + ''; meta = with lib; { description = "Backend for BibLaTeX (multiscript version)"; diff --git a/pkgs/by-name/bi/biber/package.nix b/pkgs/by-name/bi/biber/package.nix index 1e5a4ec21666d..0d6dbed846766 100644 --- a/pkgs/by-name/bi/biber/package.nix +++ b/pkgs/by-name/bi/biber/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, perlPackages, shortenPerlShebang, texlive }: +{ + lib, + stdenv, + perlPackages, + shortenPerlShebang, + texlive, +}: let biberSource = texlive.pkgs.biber.texsource; @@ -10,13 +16,46 @@ perlPackages.buildPerlModule { src = "${biberSource}/source/bibtex/biber/biblatex-biber.tar.gz"; buildInputs = with perlPackages; [ - autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf - DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K - DateTime DateTimeFormatBuilder DateTimeCalendarJulian - ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils - ListMoreUtils MozillaCA ParseRecDescent IOString ReadonlyXS RegexpCommon TextBibTeX - UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter - ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit SortKey + autovivification + BusinessISBN + BusinessISMN + BusinessISSN + ConfigAutoConf + DataCompare + DataDump + DateSimple + EncodeEUCJPASCII + EncodeHanExtra + EncodeJIS2K + DateTime + DateTimeFormatBuilder + DateTimeCalendarJulian + ExtUtilsLibBuilder + FileSlurper + FileWhich + IPCRun3 + LogLog4perl + LWPProtocolHttps + ListAllUtils + ListMoreUtils + MozillaCA + ParseRecDescent + IOString + ReadonlyXS + RegexpCommon + TextBibTeX + UnicodeLineBreak + URI + XMLLibXMLSimple + XMLLibXSLT + XMLWriter + ClassAccessor + TextCSV + TextCSV_XS + TextRoman + DataUniqid + LinguaTranslit + SortKey TestDifferences PerlIOutf8_strict ]; diff --git a/pkgs/by-name/bi/biblatex-check/package.nix b/pkgs/by-name/bi/biblatex-check/package.nix index beff041561909..79cc1264a0572 100644 --- a/pkgs/by-name/bi/biblatex-check/package.nix +++ b/pkgs/by-name/bi/biblatex-check/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "biblatex-check"; diff --git a/pkgs/by-name/bi/biblesync/package.nix b/pkgs/by-name/bi/biblesync/package.nix index 1ac53a0b9b8fd..fd1a11d305c9b 100644 --- a/pkgs/by-name/bi/biblesync/package.nix +++ b/pkgs/by-name/bi/biblesync/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, libuuid }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + libuuid, +}: stdenv.mkDerivation rec { @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "0prmd12jq2cjdhsph5v89y38j7hhd51dr3r1hivgkhczr3m5hf4s"; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ libuuid ]; meta = with lib; { diff --git a/pkgs/by-name/bi/biboumi/package.nix b/pkgs/by-name/bi/biboumi/package.nix index 9d63356abd6ba..2228ae64ac1ea 100644 --- a/pkgs/by-name/bi/biboumi/package.nix +++ b/pkgs/by-name/bi/biboumi/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchurl, fetchgit, cmake, libuuid, expat, sqlite, libidn -, libiconv, botan2, systemd, pkg-config, udns, python3Packages } : +{ + lib, + stdenv, + fetchurl, + fetchgit, + cmake, + libuuid, + expat, + sqlite, + libidn, + libiconv, + botan2, + systemd, + pkg-config, + udns, + python3Packages, +}: let louiz_catch = fetchgit { @@ -19,10 +34,26 @@ stdenv.mkDerivation rec { patches = [ ./catch.patch ]; - nativeBuildInputs = [ cmake pkg-config python3Packages.sphinx ]; - buildInputs = [ libuuid expat sqlite libiconv libidn botan2 systemd udns ]; + nativeBuildInputs = [ + cmake + pkg-config + python3Packages.sphinx + ]; + buildInputs = [ + libuuid + expat + sqlite + libiconv + libidn + botan2 + systemd + udns + ]; - buildFlags = [ "all" "man" ]; + buildFlags = [ + "all" + "man" + ]; preConfigure = '' substituteInPlace CMakeLists.txt --replace /etc/biboumi $out/etc/biboumi diff --git a/pkgs/by-name/bi/bibtex-tidy/package.nix b/pkgs/by-name/bi/bibtex-tidy/package.nix index 862c82c9d5c90..24d58f7c72998 100644 --- a/pkgs/by-name/bi/bibtex-tidy/package.nix +++ b/pkgs/by-name/bi/bibtex-tidy/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, testers -, bibtex-tidy +{ + lib, + buildNpmPackage, + fetchFromGitHub, + testers, + bibtex-tidy, }: buildNpmPackage rec { diff --git a/pkgs/by-name/bi/bibtex2html/package.nix b/pkgs/by-name/bi/bibtex2html/package.nix index 2af4aaa081283..eae4f6624673b 100644 --- a/pkgs/by-name/bi/bibtex2html/package.nix +++ b/pkgs/by-name/bi/bibtex2html/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, ocaml, perl }: +{ + lib, + stdenv, + fetchurl, + ocaml, + perl, +}: stdenv.mkDerivation { pname = "bibtex2html"; @@ -11,13 +17,16 @@ stdenv.mkDerivation { strictDeps = true; - nativeBuildInputs = [ ocaml perl ]; + nativeBuildInputs = [ + ocaml + perl + ]; meta = with lib; { description = "Collection of tools for translating from BibTeX to HTML"; homepage = "https://www.lri.fr/~filliatr/bibtex2html/"; license = licenses.gpl2Only; - platforms = ocaml.meta.platforms or []; + platforms = ocaml.meta.platforms or [ ]; maintainers = [ maintainers.scolobb ]; }; } diff --git a/pkgs/by-name/bi/bibtool/package.nix b/pkgs/by-name/bi/bibtool/package.nix index 46c798f12c6dc..e52c0bd97929f 100644 --- a/pkgs/by-name/bi/bibtool/package.nix +++ b/pkgs/by-name/bi/bibtool/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "bibtool"; @@ -12,7 +17,10 @@ stdenv.mkDerivation rec { # Perl for running test suite. buildInputs = [ perl ]; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; doCheck = true; checkTarget = "test"; diff --git a/pkgs/by-name/bi/bibutils/package.nix b/pkgs/by-name/bi/bibutils/package.nix index c6dd28777b4d2..54cc64412ac59 100644 --- a/pkgs/by-name/bi/bibutils/package.nix +++ b/pkgs/by-name/bi/bibutils/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, static ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -24,8 +25,10 @@ stdenv.mkDerivation rec { configureFlags = [ (if static then "--static" else "--dynamic") - "--install-dir" "$(out)/bin" - "--install-lib" "$(out)/lib" + "--install-dir" + "$(out)/bin" + "--install-lib" + "$(out)/lib" ]; dontAddPrefix = true; diff --git a/pkgs/by-name/bi/bic/package.nix b/pkgs/by-name/bi/bic/package.nix index 1571e93e071f6..43893b684b337 100644 --- a/pkgs/by-name/bi/bic/package.nix +++ b/pkgs/by-name/bi/bic/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, readline -, autoreconfHook -, autoconf-archive -, gmp -, flex -, bison +{ + lib, + stdenv, + fetchFromGitHub, + readline, + autoreconfHook, + autoconf-archive, + gmp, + flex, + bison, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "1ws46h1ngzk14dspmsggj9535yl04v9wh8v4gb234n34rdkdsyyw"; }; - buildInputs = [ readline gmp ]; + buildInputs = [ + readline + gmp + ]; nativeBuildInputs = [ autoreconfHook autoconf-archive diff --git a/pkgs/by-name/bi/bicgl/package.nix b/pkgs/by-name/bi/bicgl/package.nix index 89f4220f92f41..96a56fb5245c9 100644 --- a/pkgs/by-name/bi/bicgl/package.nix +++ b/pkgs/by-name/bi/bicgl/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libminc, bicpl, libGLU, libglut }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libminc, + bicpl, + libGLU, + libglut, +}: stdenv.mkDerivation rec { pname = "bicgl"; @@ -14,7 +23,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libminc bicpl libGLU libglut ]; + buildInputs = [ + libminc + bicpl + libGLU + libglut + ]; cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/cmake" diff --git a/pkgs/by-name/bi/bicon/package.nix b/pkgs/by-name/bi/bicon/package.nix index 11f63b7a868f4..d5055459e2d1f 100644 --- a/pkgs/by-name/bi/bicon/package.nix +++ b/pkgs/by-name/bi/bicon/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, perl -, fribidi -, kbd -, xkbutils +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + perl, + fribidi, + kbd, + xkbutils, }: stdenv.mkDerivation rec { @@ -30,8 +32,16 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ fribidi kbd xkbutils perl ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + fribidi + kbd + xkbutils + perl + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; preConfigure = '' patchShebangs . @@ -39,8 +49,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Bidirectional console"; - homepage = "https://github.com/behdad/bicon"; - license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ]; + homepage = "https://github.com/behdad/bicon"; + license = [ + licenses.lgpl21 + licenses.psfl + licenses.bsd0 + ]; maintainers = [ ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/bi/bigloo/package.nix b/pkgs/by-name/bi/bigloo/package.nix index c3ff5334cadb5..53f76870a4fc2 100644 --- a/pkgs/by-name/bi/bigloo/package.nix +++ b/pkgs/by-name/bi/bigloo/package.nix @@ -1,5 +1,13 @@ -{ fetchurl, lib, stdenv, autoconf, automake, libtool, gmp -, darwin, libunistring +{ + fetchurl, + lib, + stdenv, + autoconf, + automake, + libtool, + gmp, + darwin, + libunistring, }: stdenv.mkDerivation rec { @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-oxOSJwKWmwo7PYAwmeoFrKaYdYvmvQquWXyutolc488="; }; - nativeBuildInputs = [ autoconf automake libtool ]; + nativeBuildInputs = [ + autoconf + automake + libtool + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices @@ -24,7 +36,8 @@ stdenv.mkDerivation rec { # For libuv on darwin lib.optionalString stdenv.hostPlatform.isDarwin '' export LIBTOOLIZE=libtoolize - '' + '' + '' + + '' # Help libgc's configure. export CXXCPP="$CXX -E" ''; @@ -56,11 +69,11 @@ stdenv.mkDerivation rec { meta = { description = "Efficient Scheme compiler"; - homepage = "http://www-sop.inria.fr/indes/fp/Bigloo/"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.unix; + homepage = "http://www-sop.inria.fr/indes/fp/Bigloo/"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ thoughtpolice ]; - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; # segfault during build + broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; # segfault during build longDescription = '' Bigloo is a Scheme implementation devoted to one goal: enabling diff --git a/pkgs/by-name/bi/bin2c/package.nix b/pkgs/by-name/bi/bin2c/package.nix index 7ac93c4539b9f..76407d1f3e3cc 100644 --- a/pkgs/by-name/bi/bin2c/package.nix +++ b/pkgs/by-name/bi/bin2c/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, util-linux +{ + lib, + stdenv, + fetchFromGitHub, + util-linux, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/bi/binbloom/package.nix b/pkgs/by-name/bi/binbloom/package.nix index 766e40f8f0594..5d44554461378 100644 --- a/pkgs/by-name/bi/binbloom/package.nix +++ b/pkgs/by-name/bi/binbloom/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index 545474200bf84..73b0651c704d3 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchurl -, darwin -, perl -, pkg-config -, libcap -, libidn2 -, libtool -, libxml2 -, openssl -, libuv -, nghttp2 -, jemalloc -, enablePython ? false -, python3 -, enableGSSAPI ? true -, libkrb5 -, buildPackages -, nixosTests -, cmocka -, tzdata -, gitUpdater +{ + stdenv, + lib, + fetchurl, + darwin, + perl, + pkg-config, + libcap, + libidn2, + libtool, + libxml2, + openssl, + libuv, + nghttp2, + jemalloc, + enablePython ? false, + python3, + enableGSSAPI ? true, + libkrb5, + buildPackages, + nixosTests, + cmocka, + tzdata, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -32,14 +33,33 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-58zpoWX3thnu/Egy8KjcFrAF0p44kK7WAIxQbqKGpec="; }; - outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + "dnsutils" + "host" + ]; patches = [ ./dont-keep-configure-flags.patch ]; - nativeBuildInputs = [ perl pkg-config ]; - buildInputs = [ libidn2 libtool libxml2 openssl libuv nghttp2 jemalloc ] + nativeBuildInputs = [ + perl + pkg-config + ]; + buildInputs = + [ + libidn2 + libtool + libxml2 + openssl + libuv + nghttp2 + jemalloc + ] ++ lib.optional stdenv.hostPlatform.isLinux libcap ++ lib.optional enableGSSAPI libkrb5 ++ lib.optional enablePython (python3.withPackages (ps: with ps; [ ply ])) @@ -47,12 +67,14 @@ stdenv.mkDerivation (finalAttrs: { depsBuildBuild = [ buildPackages.stdenv.cc ]; - configureFlags = [ - "--localstatedir=/var" - "--without-lmdb" - "--with-libidn2" - ] ++ lib.optional enableGSSAPI "--with-gssapi=${libkrb5.dev}/bin/krb5-config" - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)"; + configureFlags = + [ + "--localstatedir=/var" + "--without-lmdb" + "--with-libidn2" + ] + ++ lib.optional enableGSSAPI "--with-gssapi=${libkrb5.dev}/bin/krb5-config" + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)"; postInstall = '' moveToOutput bin/bind9-config $dev @@ -84,23 +106,27 @@ stdenv.mkDerivation (finalAttrs: { # TODO: investigate failures; see this and linked discussions: # https://github.com/NixOS/nixpkgs/pull/192962 /* - doCheck = with stdenv.hostPlatform; !isStatic && !(isAarch64 && isLinux) - # https://gitlab.isc.org/isc-projects/bind9/-/issues/4269 - && !is32bit; + doCheck = with stdenv.hostPlatform; !isStatic && !(isAarch64 && isLinux) + # https://gitlab.isc.org/isc-projects/bind9/-/issues/4269 + && !is32bit; */ checkTarget = "unit"; - checkInputs = [ - cmocka - ] ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ - tzdata - ]; - preCheck = lib.optionalString stdenv.hostPlatform.isMusl '' - # musl doesn't respect TZDIR, skip timezone-related tests - sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Test timeouts on Darwin - sed -i '/^ISC_TEST_ENTRY(tcpdns_recv_one/d' tests/isc/netmgr_test.c - ''; + checkInputs = + [ + cmocka + ] + ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ + tzdata + ]; + preCheck = + lib.optionalString stdenv.hostPlatform.isMusl '' + # musl doesn't respect TZDIR, skip timezone-related tests + sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Test timeouts on Darwin + sed -i '/^ISC_TEST_ENTRY(tcpdns_recv_one/d' tests/isc/netmgr_test.c + ''; passthru = { tests = { @@ -128,6 +154,10 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ globin ]; platforms = platforms.unix; - outputsToInstall = [ "out" "dnsutils" "host" ]; + outputsToInstall = [ + "out" + "dnsutils" + "host" + ]; }; }) diff --git a/pkgs/by-name/bi/bindfs/package.nix b/pkgs/by-name/bi/bindfs/package.nix index f086e9416ad6e..f84391880f578 100644 --- a/pkgs/by-name/bi/bindfs/package.nix +++ b/pkgs/by-name/bi/bindfs/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, fuse -, fuse3 +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, + fuse3, }: stdenv.mkDerivation (finalAttrs: { @@ -32,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { description = "FUSE filesystem for mounting a directory to another location"; homepage = "https://bindfs.org"; license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ lovek323 lovesegfault ]; + maintainers = with lib.maintainers; [ + lovek323 + lovesegfault + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/bi/bingrep/package.nix b/pkgs/by-name/bi/bingrep/package.nix index 6a5e2041e57dd..43a820f56d9a9 100644 --- a/pkgs/by-name/bi/bingrep/package.nix +++ b/pkgs/by-name/bi/bingrep/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "bingrep"; diff --git a/pkgs/by-name/bi/binsort/package.nix b/pkgs/by-name/bi/binsort/package.nix index b1100dabad8cb..d1296d8334ae3 100644 --- a/pkgs/by-name/bi/binsort/package.nix +++ b/pkgs/by-name/bi/binsort/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bi/bioawk/package.nix b/pkgs/by-name/bi/bioawk/package.nix index f7da30fc4f72a..8caee2afea0d2 100644 --- a/pkgs/by-name/bi/bioawk/package.nix +++ b/pkgs/by-name/bi/bioawk/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, bison -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + bison, + zlib, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/bi/biodiff/package.nix b/pkgs/by-name/bi/biodiff/package.nix index adbb69f486e8c..37d8fe6c9513a 100644 --- a/pkgs/by-name/bi/biodiff/package.nix +++ b/pkgs/by-name/bi/biodiff/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, rustPlatform, wfa2-lib }: +{ + lib, + fetchFromGitHub, + rustPlatform, + wfa2-lib, +}: rustPlatform.buildRustPackage rec { pname = "biodiff"; diff --git a/pkgs/by-name/bi/biosdevname/package.nix b/pkgs/by-name/bi/biosdevname/package.nix index ce8265520da5e..c1085956f00b2 100644 --- a/pkgs/by-name/bi/biosdevname/package.nix +++ b/pkgs/by-name/bi/biosdevname/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib, pciutils }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + zlib, + pciutils, +}: stdenv.mkDerivation rec { pname = "biosdevname"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ zlib pciutils ]; + buildInputs = [ + zlib + pciutils + ]; # Don't install /lib/udev/rules.d/*-biosdevname.rules patches = [ ./makefile.patch ]; @@ -22,7 +32,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Udev helper for naming devices per BIOS names"; license = licenses.gpl2Only; - platforms = ["x86_64-linux" "i686-linux"]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ ]; mainProgram = "biosdevname"; }; diff --git a/pkgs/by-name/bi/bip/package.nix b/pkgs/by-name/bi/bip/package.nix index 75f31d1ba9b59..1d4655cc83ab3 100644 --- a/pkgs/by-name/bi/bip/package.nix +++ b/pkgs/by-name/bi/bip/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, bison -, flex -, openssl +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + bison, + flex, + openssl, }: stdenv.mkDerivation { @@ -18,7 +19,11 @@ stdenv.mkDerivation { hash = "sha256-K+6AC8mg0aLQsCgiDoFBM5w2XrR+V2tfWnI8ByeRmOI="; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; postPatch = '' # Drop blanket -Werror to avoid build failure on fresh toolchains @@ -27,8 +32,15 @@ stdenv.mkDerivation { substituteInPlace src/Makefile.am --replace-fail ' -Werror ' ' ' ''; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ bison flex openssl ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + bison + flex + openssl + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/bi/bird-lg/package.nix b/pkgs/by-name/bi/bird-lg/package.nix index b459e0b304afd..db6fb798c0d48 100644 --- a/pkgs/by-name/bi/bird-lg/package.nix +++ b/pkgs/by-name/bi/bird-lg/package.nix @@ -1,6 +1,12 @@ -{ buildGoModule, fetchFromGitHub, lib, symlinkJoin }: +{ + buildGoModule, + fetchFromGitHub, + lib, + symlinkJoin, +}: let - generic = { modRoot, vendorHash }: + generic = + { modRoot, vendorHash }: buildGoModule rec { pname = "bird-lg-${modRoot}"; version = "1.3.5"; @@ -45,7 +51,11 @@ let in symlinkJoin { name = "bird-lg-${bird-lg-frontend.version}"; - paths = [ bird-lg-frontend bird-lg-proxy ]; -} // { + paths = [ + bird-lg-frontend + bird-lg-proxy + ]; +} +// { inherit (bird-lg-frontend) version meta; } diff --git a/pkgs/by-name/bi/bird/package.nix b/pkgs/by-name/bi/bird/package.nix index 70a55af9829d2..29aa83416ddc0 100644 --- a/pkgs/by-name/bi/bird/package.nix +++ b/pkgs/by-name/bi/bird/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, flex, bison, readline, libssh, nixosTests }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + readline, + libssh, + nixosTests, +}: stdenv.mkDerivation rec { pname = "bird"; @@ -9,14 +18,20 @@ stdenv.mkDerivation rec { hash = "sha256-ZikRApOvbxcnlnEh1k+cjclO1hgcTvix3FHH/dZphxw="; }; - nativeBuildInputs = [ flex bison ]; - buildInputs = [ readline libssh ]; + nativeBuildInputs = [ + flex + bison + ]; + buildInputs = [ + readline + libssh + ]; patches = [ ./dont-create-sysconfdir-2.patch ]; - CPP="${stdenv.cc.targetPrefix}cpp -E"; + CPP = "${stdenv.cc.targetPrefix}cpp -E"; configureFlags = [ "--localstatedir=/var" diff --git a/pkgs/by-name/bi/biscuit-cli/package.nix b/pkgs/by-name/bi/biscuit-cli/package.nix index c04d8ea0c1189..e043049d2a671 100644 --- a/pkgs/by-name/bi/biscuit-cli/package.nix +++ b/pkgs/by-name/bi/biscuit-cli/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, testers -, nix-update-script -, biscuit-cli +{ + lib, + fetchFromGitHub, + rustPlatform, + testers, + nix-update-script, + biscuit-cli, }: rustPlatform.buildRustPackage rec { @@ -31,7 +32,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "CLI to generate and inspect biscuit tokens"; homepage = "https://www.biscuitsec.org/"; - maintainers = with maintainers; [ shlevy gaelreyrol ]; + maintainers = with maintainers; [ + shlevy + gaelreyrol + ]; license = licenses.bsd3; mainProgram = "biscuit"; }; diff --git a/pkgs/by-name/bi/bison/package.nix b/pkgs/by-name/bi/bison/package.nix index 80a2ad835c285..f4b83b2bdec3d 100644 --- a/pkgs/by-name/bi/bison/package.nix +++ b/pkgs/by-name/bi/bison/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, m4, perl, help2man }: +{ + lib, + stdenv, + fetchurl, + m4, + perl, + help2man, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -16,14 +23,20 @@ stdenv.mkDerivation rec { # gnulib relies on --host= to detect iconv() features on musl(). # Otherwise tests fail due to incorrect unicode symbol oconversion. - configurePlatforms = [ "build" "host" ]; + configurePlatforms = [ + "build" + "host" + ]; # there's a /bin/sh shebang in bin/yacc which when no strictDeps is patched with the build stdenv shell # however when cross-compiling it would still be patched with the build stdenv shell which would be wrong # cannot add bash to buildInputs due to infinite recursion strictDeps = stdenv.hostPlatform != stdenv.buildPlatform; - nativeBuildInputs = [ m4 perl ] ++ lib.optional stdenv.hostPlatform.isSunOS help2man; + nativeBuildInputs = [ + m4 + perl + ] ++ lib.optional stdenv.hostPlatform.isSunOS help2man; propagatedBuildInputs = [ m4 ]; enableParallelBuilding = true; @@ -54,5 +67,7 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; }; - passthru = { glrSupport = true; }; + passthru = { + glrSupport = true; + }; } diff --git a/pkgs/by-name/bi/bisoncpp/package.nix b/pkgs/by-name/bi/bisoncpp/package.nix index 16d8e13cdfda7..d4a2d08259fff 100644 --- a/pkgs/by-name/bi/bisoncpp/package.nix +++ b/pkgs/by-name/bi/bisoncpp/package.nix @@ -1,5 +1,12 @@ -{lib, stdenv, fetchurl, fetchFromGitLab -, yodl, icmake, flexcpp, bobcat +{ + lib, + stdenv, + fetchurl, + fetchFromGitLab, + yodl, + icmake, + flexcpp, + bobcat, }: stdenv.mkDerivation rec { pname = "bisonc++"; @@ -15,7 +22,11 @@ stdenv.mkDerivation rec { buildInputs = [ bobcat ]; - nativeBuildInputs = [ yodl icmake flexcpp ]; + nativeBuildInputs = [ + yodl + icmake + flexcpp + ]; setSourceRoot = '' sourceRoot="$(echo */bisonc++)" diff --git a/pkgs/by-name/bi/bit/package.nix b/pkgs/by-name/bi/bit/package.nix index a1242c43a9ca5..38750cf58f876 100644 --- a/pkgs/by-name/bi/bit/package.nix +++ b/pkgs/by-name/bi/bit/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, git +{ + lib, + buildGoModule, + fetchFromGitHub, + git, }: buildGoModule rec { diff --git a/pkgs/by-name/bi/bitbake-language-server/package.nix b/pkgs/by-name/bi/bitbake-language-server/package.nix index fe19310ab29d2..d0f441fad9dc9 100644 --- a/pkgs/by-name/bi/bitbake-language-server/package.nix +++ b/pkgs/by-name/bi/bitbake-language-server/package.nix @@ -1,8 +1,9 @@ -{ lib -, nix-update-script -, python3 -, oelint-adv -, fetchFromGitHub +{ + lib, + nix-update-script, + python3, + oelint-adv, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -22,9 +23,12 @@ python3.pkgs.buildPythonApplication rec { setuptools-generate ]; - propagatedBuildInputs = with python3.pkgs; [ - pygls - ] ++ [ oelint-adv ]; + propagatedBuildInputs = + with python3.pkgs; + [ + pygls + ] + ++ [ oelint-adv ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/bi/bitlbee-discord/package.nix b/pkgs/by-name/bi/bitlbee-discord/package.nix index a763ed6e81e0e..4be2d69cf9f08 100644 --- a/pkgs/by-name/bi/bitlbee-discord/package.nix +++ b/pkgs/by-name/bi/bitlbee-discord/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, stdenv, bitlbee, autoreconfHook, pkg-config }: +{ + lib, + fetchFromGitHub, + stdenv, + bitlbee, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "bitlbee-discord"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "00qgdvrp7hv02n0ns685igp810zxmv3adsama8601122al6x041n"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ bitlbee ]; preConfigure = '' diff --git a/pkgs/by-name/bi/bitlbee-facebook/package.nix b/pkgs/by-name/bi/bitlbee-facebook/package.nix index 707e7ffd9e469..086675c4f043c 100644 --- a/pkgs/by-name/bi/bitlbee-facebook/package.nix +++ b/pkgs/by-name/bi/bitlbee-facebook/package.nix @@ -1,4 +1,14 @@ -{ lib, fetchFromGitHub, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, json-glib }: +{ + lib, + fetchFromGitHub, + stdenv, + bitlbee, + autoconf, + automake, + libtool, + pkg-config, + json-glib, +}: stdenv.mkDerivation rec { pname = "bitlbee-facebook"; @@ -11,9 +21,17 @@ stdenv.mkDerivation rec { sha256 = "1qiiiq17ybylbhwgbwsvmshb517589r8yy5rsh1rfaylmlcxyy7z"; }; - nativeBuildInputs = [ autoconf automake libtool pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + ]; - buildInputs = [ bitlbee json-glib ]; + buildInputs = [ + bitlbee + json-glib + ]; preConfigure = '' export BITLBEE_PLUGINDIR=$out/lib/bitlbee diff --git a/pkgs/by-name/bi/bitlbee-mastodon/package.nix b/pkgs/by-name/bi/bitlbee-mastodon/package.nix index 0e014ea9a7906..1483602490ab9 100644 --- a/pkgs/by-name/bi/bitlbee-mastodon/package.nix +++ b/pkgs/by-name/bi/bitlbee-mastodon/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchgit, stdenv, bitlbee, autoreconfHook, pkg-config }: +{ + lib, + fetchgit, + stdenv, + bitlbee, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "bitlbee-mastodon"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-8vmq/YstuBYUxe00P4NrxD/eMYI++R9uvn1sCcMTr7I="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ bitlbee ]; preConfigure = '' diff --git a/pkgs/by-name/bi/bitlbee-steam/package.nix b/pkgs/by-name/bi/bitlbee-steam/package.nix index 441963f57ddfc..02e6f5468c9d0 100644 --- a/pkgs/by-name/bi/bitlbee-steam/package.nix +++ b/pkgs/by-name/bi/bitlbee-steam/package.nix @@ -1,4 +1,14 @@ -{ lib, fetchFromGitHub, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, libgcrypt }: +{ + lib, + fetchFromGitHub, + stdenv, + bitlbee, + autoconf, + automake, + libtool, + pkg-config, + libgcrypt, +}: stdenv.mkDerivation rec { version = "1.4.2"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "121r92mgwv445wwxzh35n19fs5k81ihr0j19k256ia5502b1xxaq"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ bitlbee libtool libgcrypt ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + bitlbee + libtool + libgcrypt + ]; preConfigure = '' export BITLBEE_PLUGINDIR=$out/lib/bitlbee diff --git a/pkgs/by-name/bi/bitmagnet/package.nix b/pkgs/by-name/bi/bitmagnet/package.nix index 565d53048851b..6cee45afd8e0c 100644 --- a/pkgs/by-name/bi/bitmagnet/package.nix +++ b/pkgs/by-name/bi/bitmagnet/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGo122Module # builds, but does not start on 1.23 -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGo122Module, # builds, but does not start on 1.23 + fetchFromGitHub, + nix-update-script, }: buildGo122Module rec { @@ -17,7 +18,11 @@ buildGo122Module rec { vendorHash = "sha256-aauXgHPZbSiTW9utuHXzJr7GsWs/2aFiGuukA/B9BRc="; - ldflags = [ "-s" "-w" "-X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v${version}" + ]; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/bi/bitmeter/package.nix b/pkgs/by-name/bi/bitmeter/package.nix index 9ae4bd7e79fbf..94328a663678f 100644 --- a/pkgs/by-name/bi/bitmeter/package.nix +++ b/pkgs/by-name/bi/bitmeter/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, autoreconfHook, fetchurl, libjack2, gtk2, pkg-config }: +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + libjack2, + gtk2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "bitmeter"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { sha256 = "09ck2gxqky701dc1p0ip61rrn16v0pdc7ih2hc2sd63zcw53g2a7"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libjack2 gtk2 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libjack2 + gtk2 + ]; patches = [ (fetchurl { diff --git a/pkgs/by-name/bi/bitwarden-cli/package.nix b/pkgs/by-name/bi/bitwarden-cli/package.nix index b39c7640d9d95..b7bd61bb99d80 100644 --- a/pkgs/by-name/bi/bitwarden-cli/package.nix +++ b/pkgs/by-name/bi/bitwarden-cli/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, buildNpmPackage -, nodejs_20 -, fetchFromGitHub -, cctools -, nix-update-script -, nixosTests -, perl -, xcbuild +{ + lib, + stdenv, + buildNpmPackage, + nodejs_20, + fetchFromGitHub, + cctools, + nix-update-script, + nixosTests, + perl, + xcbuild, }: buildNpmPackage rec { @@ -54,7 +55,11 @@ buildNpmPackage rec { vaultwarden = nixosTests.vaultwarden.sqlite; }; updateScript = nix-update-script { - extraArgs = [ "--commit" "--version=stable" "--version-regex=^cli-v(.*)$" ]; + extraArgs = [ + "--commit" + "--version=stable" + "--version-regex=^cli-v(.*)$" + ]; }; }; diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index 8c6a0ee69d2e7..d2179a6501721 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -1,26 +1,27 @@ -{ lib -, buildNpmPackage -, cargo -, copyDesktopItems -, electron_32 -, fetchFromGitHub -, glib -, gnome-keyring -, gtk3 -, jq -, libsecret -, makeDesktopItem -, makeWrapper -, napi-rs-cli -, nix-update-script -, nodejs_20 -, patchutils_0_4_2 -, pkg-config -, python3 -, runCommand -, rustc -, rustPlatform -, stdenv +{ + lib, + buildNpmPackage, + cargo, + copyDesktopItems, + electron_32, + fetchFromGitHub, + glib, + gnome-keyring, + gtk3, + jq, + libsecret, + makeDesktopItem, + makeWrapper, + napi-rs-cli, + nix-update-script, + nodejs_20, + patchutils_0_4_2, + pkg-config, + python3, + runCommand, + rustc, + rustPlatform, + stdenv, }: let @@ -28,12 +29,16 @@ let icon = "bitwarden"; electron = electron_32; - bitwardenDesktopNativeArch = { - aarch64 = "arm64"; - x86_64 = "x64"; - }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "bitwarden-desktop: unsupported CPU family ${stdenv.hostPlatform.parsed.cpu.name}"); + bitwardenDesktopNativeArch = + { + aarch64 = "arm64"; + x86_64 = "x64"; + } + .${stdenv.hostPlatform.parsed.cpu.name} + or (throw "bitwarden-desktop: unsupported CPU family ${stdenv.hostPlatform.parsed.cpu.name}"); -in buildNpmPackage rec { +in +buildNpmPackage rec { pname = "bitwarden-desktop"; version = "2024.11.1"; @@ -61,22 +66,22 @@ in buildNpmPackage rec { nodejs = nodejs_20; makeCacheWritable = true; - npmFlags = [ "--engine-strict" "--legacy-peer-deps" ]; + npmFlags = [ + "--engine-strict" + "--legacy-peer-deps" + ]; npmWorkspace = "apps/desktop"; npmDepsHash = "sha256-YzhCyNMvfXGmgOpl3qWj1Pqd1hY8CJ9QLwQds5ZMnqg="; cargoDeps = rustPlatform.fetchCargoTarball { name = "${pname}-${version}"; inherit src; - patches = map - (patch: runCommand - (builtins.baseNameOf patch) - { nativeBuildInputs = [ patchutils_0_4_2 ]; } - '' - < ${patch} filterdiff -p1 --include=${lib.escapeShellArg cargoRoot}'/*' > $out - '' - ) - patches; + patches = map ( + patch: + runCommand (builtins.baseNameOf patch) { nativeBuildInputs = [ patchutils_0_4_2 ]; } '' + < ${patch} filterdiff -p1 --include=${lib.escapeShellArg cargoRoot}'/*' > $out + '' + ) patches; patchFlags = [ "-p4" ]; sourceRoot = "${src.name}/${cargoRoot}"; hash = "sha256-aurjpVzWET30O+ysyE4ZzauMe8kHjOL169tfKUR1Vpg="; @@ -197,7 +202,11 @@ in buildNpmPackage rec { passthru = { updateScript = nix-update-script { - extraArgs = [ "--commit" "--version=stable" "--version-regex=^desktop-v(.*)$" ]; + extraArgs = [ + "--commit" + "--version=stable" + "--version-regex=^desktop-v(.*)$" + ]; }; }; @@ -207,7 +216,10 @@ in buildNpmPackage rec { homepage = "https://bitwarden.com"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ amarshall ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; mainProgram = "bitwarden"; }; } diff --git a/pkgs/by-name/bi/bitwise/package.nix b/pkgs/by-name/bi/bitwise/package.nix index a01fa83b3c79e..44744927c45ba 100644 --- a/pkgs/by-name/bi/bitwise/package.nix +++ b/pkgs/by-name/bi/bitwise/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, readline, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + readline, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "bitwise"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-x+ky1X0c0bQZnkNvNNuXN2BoMDtDSCt/8dBAG92jCCQ="; }; - buildInputs = [ ncurses readline ]; + buildInputs = [ + ncurses + readline + ]; nativeBuildInputs = [ autoreconfHook ]; meta = with lib; { diff --git a/pkgs/by-name/bi/bitwuzla/package.nix b/pkgs/by-name/bi/bitwuzla/package.nix index 3c56fbde4d454..2f797610eae6c 100644 --- a/pkgs/by-name/bi/bitwuzla/package.nix +++ b/pkgs/by-name/bi/bitwuzla/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, fetchFromGitHub -, lib -, python3 -, meson -, ninja -, git -, btor2tools -, symfpu -, gtest -, gmp -, cadical -, cryptominisat -, zlib -, pkg-config +{ + stdenv, + fetchFromGitHub, + lib, + python3, + meson, + ninja, + git, + btor2tools, + symfpu, + gtest, + gmp, + cadical, + cryptominisat, + zlib, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -28,7 +29,12 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ meson pkg-config git ninja ]; + nativeBuildInputs = [ + meson + pkg-config + git + ninja + ]; buildInputs = [ cadical cryptominisat diff --git a/pkgs/by-name/bj/bjumblr/package.nix b/pkgs/by-name/bj/bjumblr/package.nix index 5e3919e04d347..af4c7d0d64075 100644 --- a/pkgs/by-name/bj/bjumblr/package.nix +++ b/pkgs/by-name/bj/bjumblr/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libX11, cairo, lv2, pkg-config, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + cairo, + lv2, + pkg-config, + libsndfile, +}: stdenv.mkDerivation rec { pname = "bjumblr"; @@ -13,7 +22,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libX11 cairo lv2 libsndfile + libX11 + cairo + lv2 + libsndfile ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bk/bk/package.nix b/pkgs/by-name/bk/bk/package.nix index 0fbd1a779dd0c..1e12d4403a449 100644 --- a/pkgs/by-name/bk/bk/package.nix +++ b/pkgs/by-name/bk/bk/package.nix @@ -1,8 +1,9 @@ -{ fetchCrate -, go-md2man -, installShellFiles -, lib -, rustPlatform +{ + fetchCrate, + go-md2man, + installShellFiles, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -16,7 +17,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-pE5loMwNMdHL3GODiw3kVVHj374hf3+vIDEYTqvx5WI="; - nativeBuildInputs = [ go-md2man installShellFiles ]; + nativeBuildInputs = [ + go-md2man + installShellFiles + ]; postBuild = '' sed -i '$ a # Source and further info' README.md diff --git a/pkgs/by-name/bk/bkcrack/package.nix b/pkgs/by-name/bk/bkcrack/package.nix index 1af16ffe14dff..3dd3bb22d926a 100644 --- a/pkgs/by-name/bk/bkcrack/package.nix +++ b/pkgs/by-name/bk/bkcrack/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bk/bklk/package.nix b/pkgs/by-name/bk/bklk/package.nix index a62eed5f8e1bc..3fe7397f35980 100644 --- a/pkgs/by-name/bk/bklk/package.nix +++ b/pkgs/by-name/bk/bklk/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "bklk"; diff --git a/pkgs/by-name/bk/bkt/package.nix b/pkgs/by-name/bk/bkt/package.nix index 5f6053ec9de96..e9a27eebb2d11 100644 --- a/pkgs/by-name/bk/bkt/package.nix +++ b/pkgs/by-name/bk/bkt/package.nix @@ -1,7 +1,9 @@ -{ rustPlatform -, fetchFromGitHub -, lib -}: rustPlatform.buildRustPackage rec { +{ + rustPlatform, + fetchFromGitHub, + lib, +}: +rustPlatform.buildRustPackage rec { pname = "bkt"; version = "0.8.0"; diff --git a/pkgs/by-name/bk/bkyml/package.nix b/pkgs/by-name/bk/bkyml/package.nix index cfd996f608913..01135cb948403 100644 --- a/pkgs/by-name/bk/bkyml/package.nix +++ b/pkgs/by-name/bk/bkyml/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: with python3.pkgs; diff --git a/pkgs/by-name/bl/blackbird/package.nix b/pkgs/by-name/bl/blackbird/package.nix index a3f481b6d4eec..56c3d1a104489 100644 --- a/pkgs/by-name/bl/blackbird/package.nix +++ b/pkgs/by-name/bl/blackbird/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "Blackbird"; @@ -18,7 +24,10 @@ stdenv.mkDerivation rec { meta = { description = "Dark Desktop Suite for Gtk, Xfce and Metacity"; homepage = "https://github.com/shimmerproject/Blackbird"; - license = with lib.licenses; [ gpl2Plus cc-by-nc-sa-30 ]; + license = with lib.licenses; [ + gpl2Plus + cc-by-nc-sa-30 + ]; platforms = lib.platforms.linux; maintainers = [ lib.maintainers.romildo ]; }; diff --git a/pkgs/by-name/bl/blackbox-terminal/marble.nix b/pkgs/by-name/bl/blackbox-terminal/marble.nix index e6c3850416f63..01a3f2362814d 100644 --- a/pkgs/by-name/bl/blackbox-terminal/marble.nix +++ b/pkgs/by-name/bl/blackbox-terminal/marble.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, vala -, gobject-introspection -, gtk4 -, gtk3 -, desktop-file-utils +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + vala, + gobject-introspection, + gtk4, + gtk3, + desktop-file-utils, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/bl/blackbox-terminal/package.nix b/pkgs/by-name/bl/blackbox-terminal/package.nix index c1323a89c031d..23bb6bb4bde54 100644 --- a/pkgs/by-name/bl/blackbox-terminal/package.nix +++ b/pkgs/by-name/bl/blackbox-terminal/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, meson -, ninja -, pkg-config -, vala -, gtk4 -, vte-gtk4 -, json-glib -, sassc -, libadwaita -, pcre2 -, libsixel -, libxml2 -, librsvg -, libgee -, callPackage -, python3 -, desktop-file-utils -, wrapGAppsHook4 -, sixelSupport ? false +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + meson, + ninja, + pkg-config, + vala, + gtk4, + vte-gtk4, + json-glib, + sassc, + libadwaita, + pcre2, + libsixel, + libxml2, + librsvg, + libgee, + callPackage, + python3, + desktop-file-utils, + wrapGAppsHook4, + sixelSupport ? false, }: let @@ -72,22 +73,28 @@ stdenv.mkDerivation rec { ]; buildInputs = [ gtk4 - (vte-gtk4.overrideAttrs (old: { - src = fetchFromGitLab { - domain = "gitlab.gnome.org"; - owner = "GNOME"; - repo = "vte"; - rev = "3c8f66be867aca6656e4109ce880b6ea7431b895"; - hash = "sha256-vz9ircmPy2Q4fxNnjurkgJtuTSS49rBq/m61p1B43eU="; - }; - patches = lib.optional (old ? patches) (lib.head old.patches); - postPatch = (old.postPatch or "") + '' - patchShebangs src/box_drawing_generate.sh - ''; - } // lib.optionalAttrs sixelSupport { - buildInputs = old.buildInputs ++ [ libsixel ]; - mesonFlags = old.mesonFlags ++ [ "-Dsixel=true" ]; - })) + (vte-gtk4.overrideAttrs ( + old: + { + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = "vte"; + rev = "3c8f66be867aca6656e4109ce880b6ea7431b895"; + hash = "sha256-vz9ircmPy2Q4fxNnjurkgJtuTSS49rBq/m61p1B43eU="; + }; + patches = lib.optional (old ? patches) (lib.head old.patches); + postPatch = + (old.postPatch or "") + + '' + patchShebangs src/box_drawing_generate.sh + ''; + } + // lib.optionalAttrs sixelSupport { + buildInputs = old.buildInputs ++ [ libsixel ]; + mesonFlags = old.mesonFlags ++ [ "-Dsixel=true" ]; + } + )) json-glib marble libadwaita @@ -105,7 +112,10 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.gnome.org/raggesilver/blackbox"; changelog = "https://gitlab.gnome.org/raggesilver/blackbox/-/raw/v${version}/CHANGELOG.md"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ chuangzhu linsui ]; + maintainers = with maintainers; [ + chuangzhu + linsui + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/bl/blackmagic-desktop-video/package.nix b/pkgs/by-name/bl/blackmagic-desktop-video/package.nix index 8888ba83a8c3d..55cbe53320899 100644 --- a/pkgs/by-name/bl/blackmagic-desktop-video/package.nix +++ b/pkgs/by-name/bl/blackmagic-desktop-video/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, cacert -, curl -, runCommandLocal -, lib -, autoPatchelfHook -, libcxx -, libGL -, gcc +{ + stdenv, + cacert, + curl, + runCommandLocal, + lib, + autoPatchelfHook, + libcxx, + libGL, + gcc, }: stdenv.mkDerivation (finalAttrs: { pname = "blackmagic-desktop-video"; @@ -58,21 +59,22 @@ stdenv.mkDerivation (finalAttrs: { "policy" = true; }; - } '' - RESOLVEURL=$(curl \ - -s \ - -H "$USERAGENT" \ - -H 'Content-Type: application/json;charset=UTF-8' \ - -H "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \ - --data-ascii "$REQJSON" \ - --compressed \ - "$SITEURL") - curl \ - --retry 3 --retry-delay 3 \ - --compressed \ - "$RESOLVEURL" \ - > $out - ''; + } + '' + RESOLVEURL=$(curl \ + -s \ + -H "$USERAGENT" \ + -H 'Content-Type: application/json;charset=UTF-8' \ + -H "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \ + --data-ascii "$REQJSON" \ + --compressed \ + "$SITEURL") + curl \ + --retry 3 --retry-delay 3 \ + --compressed \ + "$RESOLVEURL" \ + > $out + ''; postUnpack = let diff --git a/pkgs/by-name/bl/blackmagic/package.nix b/pkgs/by-name/bl/blackmagic/package.nix index bb09ade35f2ff..de9749036feae 100644 --- a/pkgs/by-name/bl/blackmagic/package.nix +++ b/pkgs/by-name/bl/blackmagic/package.nix @@ -1,11 +1,13 @@ -{ stdenv, lib -, fetchFromGitHub -, gcc-arm-embedded -, pkg-config -, python3 -, hidapi -, libftdi1 -, libusb1 +{ + stdenv, + lib, + fetchFromGitHub, + gcc-arm-embedded, + pkg-config, + python3, + hidapi, + libftdi1, + libusb1, }: stdenv.mkDerivation rec { @@ -73,7 +75,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/blacksphere/blackmagic"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ pjones sorki ]; + maintainers = with maintainers; [ + pjones + sorki + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/bl/blackout/package.nix b/pkgs/by-name/bl/blackout/package.nix index ecd3fcbc24548..1fa0f8e704f2b 100644 --- a/pkgs/by-name/bl/blackout/package.nix +++ b/pkgs/by-name/bl/blackout/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "blackout"; diff --git a/pkgs/by-name/bl/blackshades/package.nix b/pkgs/by-name/bl/blackshades/package.nix index a8467dc167c46..acdc2e3858493 100644 --- a/pkgs/by-name/bl/blackshades/package.nix +++ b/pkgs/by-name/bl/blackshades/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromSourcehut -, glfw -, libGL -, libGLU -, libsndfile -, openal -, zig_0_11 +{ + lib, + stdenv, + fetchFromSourcehut, + glfw, + libGL, + libGLU, + libsndfile, + openal, + zig_0_11, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bl/blahaj/package.nix b/pkgs/by-name/bl/blahaj/package.nix index a37d37bf41843..258da854cfb88 100644 --- a/pkgs/by-name/bl/blahaj/package.nix +++ b/pkgs/by-name/bl/blahaj/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, crystal -, fetchFromGitHub +{ + lib, + stdenv, + crystal, + fetchFromGitHub, # https://crystal-lang.org/2019/09/06/parallelism-in-crystal/ -, multithreading ? true -, static ? stdenv.hostPlatform.isStatic + multithreading ? true, + static ? stdenv.hostPlatform.isStatic, }: crystal.buildCrystalPackage rec { @@ -24,7 +25,10 @@ crystal.buildCrystalPackage rec { description = "Gay sharks at your local terminal - lolcat-like CLI tool"; homepage = "https://blahaj.queer.software"; license = licenses.bsd2; - maintainers = with maintainers; [ aleksana cafkafk ]; + maintainers = with maintainers; [ + aleksana + cafkafk + ]; mainProgram = "blahaj"; }; } diff --git a/pkgs/by-name/bl/blahtexml/package.nix b/pkgs/by-name/bl/blahtexml/package.nix index 8f4b1980d3132..a17992b13601d 100644 --- a/pkgs/by-name/bl/blahtexml/package.nix +++ b/pkgs/by-name/bl/blahtexml/package.nix @@ -1,4 +1,11 @@ -{ fetchFromGitHub, lib, stdenv, libiconv, texliveFull, xercesc }: +{ + fetchFromGitHub, + lib, + stdenv, + libiconv, + texliveFull, + xercesc, +}: stdenv.mkDerivation rec { pname = "blahtexml"; @@ -11,26 +18,40 @@ stdenv.mkDerivation rec { hash = "sha256-DL5DyfARHHbwWBVHSa/VwHzNaAx/v7EDdnw1GLOk+y0="; }; - postPatch = lib.optionalString stdenv.cc.isClang '' - substituteInPlace makefile \ - --replace "\$(CXX)" "\$(CXX) -std=c++98" - '' + - # fix the doc build on TeX Live 2023 - '' - substituteInPlace Documentation/manual.tex \ - --replace '\usepackage[utf8x]{inputenc}' '\usepackage[utf8]{inputenc}' - ''; + postPatch = + lib.optionalString stdenv.cc.isClang '' + substituteInPlace makefile \ + --replace "\$(CXX)" "\$(CXX) -std=c++98" + '' + + + # fix the doc build on TeX Live 2023 + '' + substituteInPlace Documentation/manual.tex \ + --replace '\usepackage[utf8x]{inputenc}' '\usepackage[utf8]{inputenc}' + ''; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; nativeBuildInputs = [ texliveFull ]; # scheme-full needed for ucs package buildInputs = [ xercesc ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; buildFlags = - [ "doc" ] ++ - (if stdenv.hostPlatform.isDarwin - then [ "blahtex-mac" "blahtexml-mac" ] - else [ "blahtex-linux" "blahtexml-linux" ]); + [ "doc" ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ + "blahtex-mac" + "blahtexml-mac" + ] + else + [ + "blahtex-linux" + "blahtexml-linux" + ] + ); installPhase = '' install -D -t "$out/bin" blahtex blahtexml diff --git a/pkgs/by-name/bl/blas-reference/package.nix b/pkgs/by-name/bl/blas-reference/package.nix index fcb78767678ea..155e23add1966 100644 --- a/pkgs/by-name/bl/blas-reference/package.nix +++ b/pkgs/by-name/bl/blas-reference/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, gfortran -# Whether to build with ILP64 interface -, blas64 ? false +{ + lib, + stdenv, + fetchurl, + cmake, + gfortran, + # Whether to build with ILP64 interface + blas64 ? false, }: stdenv.mkDerivation rec { @@ -14,18 +19,24 @@ stdenv.mkDerivation rec { passthru = { inherit blas64; }; - nativeBuildInputs = [ cmake gfortran ]; - - cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] - ++ lib.optional blas64 "-DBUILD_INDEX64=ON"; - - postInstall = let - canonicalExtension = if stdenv.hostPlatform.isLinux - then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}" - else stdenv.hostPlatform.extensions.sharedLibrary; - in lib.optionalString blas64 '' - ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension} - ''; + nativeBuildInputs = [ + cmake + gfortran + ]; + + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] ++ lib.optional blas64 "-DBUILD_INDEX64=ON"; + + postInstall = + let + canonicalExtension = + if stdenv.hostPlatform.isLinux then + "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}" + else + stdenv.hostPlatform.extensions.sharedLibrary; + in + lib.optionalString blas64 '' + ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension} + ''; preFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' for fn in $(find $out/lib -name "*.so*"); do diff --git a/pkgs/by-name/bl/blas/package.nix b/pkgs/by-name/bl/blas/package.nix index 91001bc85377a..0372753c8ef42 100644 --- a/pkgs/by-name/bl/blas/package.nix +++ b/pkgs/by-name/bl/blas/package.nix @@ -1,40 +1,177 @@ -{ lib, stdenv -, lapack-reference, openblas -, isILP64 ? false -, blasProvider ? openblas }: +{ + lib, + stdenv, + lapack-reference, + openblas, + isILP64 ? false, + blasProvider ? openblas, +}: let blasFortranSymbols = [ - "caxpy" "ccopy" "cdotc" "cdotu" "cgbmv" "cgemm" "cgemv" "cgerc" "cgeru" - "chbmv" "chemm" "chemv" "cher" "cher2" "cher2k" "cherk" "chpmv" "chpr" - "chpr2" "crotg" "cscal" "csrot" "csscal" "cswap" "csymm" "csyr2k" "csyrk" - "ctbmv" "ctbsv" "ctpmv" "ctpsv" "ctrmm" "ctrmv" "ctrsm" "ctrsv" "dasum" - "daxpy" "dcabs1" "dcopy" "ddot" "dgbmv" "dgemm" "dgemv" "dger" "dnrm2" - "drot" "drotg" "drotm" "drotmg" "dsbmv" "dscal" "dsdot" "dspmv" "dspr" - "dspr2" "dswap" "dsymm" "dsymv" "dsyr" "dsyr2" "dsyr2k" "dsyrk" "dtbmv" - "dtbsv" "dtpmv" "dtpsv" "dtrmm" "dtrmv" "dtrsm" "dtrsv" "dzasum" "dznrm2" - "icamax" "idamax" "isamax" "izamax" "lsame" "sasum" "saxpy" "scabs1" - "scasum" "scnrm2" "scopy" "sdot" "sdsdot" "sgbmv" "sgemm" "sgemv" - "sger" "snrm2" "srot" "srotg" "srotm" "srotmg" "ssbmv" "sscal" "sspmv" - "sspr" "sspr2" "sswap" "ssymm" "ssymv" "ssyr" "ssyr2" "ssyr2k" "ssyrk" - "stbmv" "stbsv" "stpmv" "stpsv" "strmm" "strmv" "strsm" "strsv" "xerbla" - "xerbla_array" "zaxpy" "zcopy" "zdotc" "zdotu" "zdrot" "zdscal" "zgbmv" - "zgemm" "zgemv" "zgerc" "zgeru" "zhbmv" "zhemm" "zhemv" "zher" "zher2" - "zher2k" "zherk" "zhpmv" "zhpr" "zhpr2" "zrotg" "zscal" "zswap" "zsymm" - "zsyr2k" "zsyrk" "ztbmv" "ztbsv" "ztpmv" "ztpsv" "ztrmm" "ztrmv" "ztrsm" + "caxpy" + "ccopy" + "cdotc" + "cdotu" + "cgbmv" + "cgemm" + "cgemv" + "cgerc" + "cgeru" + "chbmv" + "chemm" + "chemv" + "cher" + "cher2" + "cher2k" + "cherk" + "chpmv" + "chpr" + "chpr2" + "crotg" + "cscal" + "csrot" + "csscal" + "cswap" + "csymm" + "csyr2k" + "csyrk" + "ctbmv" + "ctbsv" + "ctpmv" + "ctpsv" + "ctrmm" + "ctrmv" + "ctrsm" + "ctrsv" + "dasum" + "daxpy" + "dcabs1" + "dcopy" + "ddot" + "dgbmv" + "dgemm" + "dgemv" + "dger" + "dnrm2" + "drot" + "drotg" + "drotm" + "drotmg" + "dsbmv" + "dscal" + "dsdot" + "dspmv" + "dspr" + "dspr2" + "dswap" + "dsymm" + "dsymv" + "dsyr" + "dsyr2" + "dsyr2k" + "dsyrk" + "dtbmv" + "dtbsv" + "dtpmv" + "dtpsv" + "dtrmm" + "dtrmv" + "dtrsm" + "dtrsv" + "dzasum" + "dznrm2" + "icamax" + "idamax" + "isamax" + "izamax" + "lsame" + "sasum" + "saxpy" + "scabs1" + "scasum" + "scnrm2" + "scopy" + "sdot" + "sdsdot" + "sgbmv" + "sgemm" + "sgemv" + "sger" + "snrm2" + "srot" + "srotg" + "srotm" + "srotmg" + "ssbmv" + "sscal" + "sspmv" + "sspr" + "sspr2" + "sswap" + "ssymm" + "ssymv" + "ssyr" + "ssyr2" + "ssyr2k" + "ssyrk" + "stbmv" + "stbsv" + "stpmv" + "stpsv" + "strmm" + "strmv" + "strsm" + "strsv" + "xerbla" + "xerbla_array" + "zaxpy" + "zcopy" + "zdotc" + "zdotu" + "zdrot" + "zdscal" + "zgbmv" + "zgemm" + "zgemv" + "zgerc" + "zgeru" + "zhbmv" + "zhemm" + "zhemv" + "zher" + "zher2" + "zher2k" + "zherk" + "zhpmv" + "zhpr" + "zhpr2" + "zrotg" + "zscal" + "zswap" + "zsymm" + "zsyr2k" + "zsyrk" + "ztbmv" + "ztbsv" + "ztpmv" + "ztpsv" + "ztrmm" + "ztrmv" + "ztrsm" "ztrsv" ]; version = "3"; - canonicalExtension = if stdenv.hostPlatform.isLinux - then "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}" - else stdenv.hostPlatform.extensions.sharedLibrary; - + canonicalExtension = + if stdenv.hostPlatform.isLinux then + "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}" + else + stdenv.hostPlatform.extensions.sharedLibrary; blasImplementation = lib.getName blasProvider; - blasProvider' = if blasImplementation == "mkl" - then blasProvider - else blasProvider.override { blas64 = isILP64; }; + blasProvider' = + if blasImplementation == "mkl" then blasProvider else blasProvider.override { blas64 = isILP64; }; in @@ -44,9 +181,12 @@ stdenv.mkDerivation { pname = "blas"; inherit version; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - meta = (blasProvider'.meta or {}) // { + meta = (blasProvider'.meta or { }) // { description = "${lib.getName blasProvider} with just the BLAS C and FORTRAN ABI"; }; @@ -62,82 +202,99 @@ stdenv.mkDerivation { dontPatchELF = true; - installPhase = ('' - mkdir -p $out/lib $dev/include $dev/lib/pkgconfig - - libblas="${lib.getLib blasProvider'}/lib/libblas${canonicalExtension}" - - if ! [ -e "$libblas" ]; then - echo "$libblas does not exist, ${blasProvider'.name} does not provide libblas." - exit 1 - fi - - $NM -an "$libblas" | cut -f3 -d' ' > symbols - for symbol in ${toString blasFortranSymbols}; do - grep -q "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; } - done - - cp -L "$libblas" $out/lib/libblas${canonicalExtension} - chmod +w $out/lib/libblas${canonicalExtension} - -'' + (if stdenv.hostPlatform.isElf then '' - patchelf --set-soname libblas${canonicalExtension} $out/lib/libblas${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libblas${canonicalExtension} -'' else lib.optionalString (stdenv.hostPlatform.isDarwin) '' - install_name_tool \ - -id $out/lib/libblas${canonicalExtension} \ - -add_rpath ${lib.getLib blasProvider'}/lib \ - $out/lib/libblas${canonicalExtension} -'') + '' - - if [ "$out/lib/libblas${canonicalExtension}" != "$out/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then - ln -s $out/lib/libblas${canonicalExtension} "$out/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" - fi - - cat < $dev/lib/pkgconfig/blas.pc -Name: blas -Version: ${version} -Description: BLAS FORTRAN implementation -Libs: -L$out/lib -lblas -Cflags: -I$dev/include -EOF - - libcblas="${lib.getLib blasProvider'}/lib/libcblas${canonicalExtension}" - - if ! [ -e "$libcblas" ]; then - echo "$libcblas does not exist, ${blasProvider'.name} does not provide libcblas." - exit 1 - fi - - cp -L "$libcblas" $out/lib/libcblas${canonicalExtension} - chmod +w $out/lib/libcblas${canonicalExtension} - -'' + (if stdenv.hostPlatform.isElf then '' - patchelf --set-soname libcblas${canonicalExtension} $out/lib/libcblas${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libcblas${canonicalExtension} -'' else lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool \ - -id $out/lib/libcblas${canonicalExtension} \ - -add_rpath ${lib.getLib blasProvider'}/lib \ - $out/lib/libcblas${canonicalExtension} -'') + '' - if [ "$out/lib/libcblas${canonicalExtension}" != "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then - ln -s $out/lib/libcblas${canonicalExtension} "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" - fi - - cp ${lib.getDev lapack-reference}/include/cblas{,_mangling}.h $dev/include - - cat < $dev/lib/pkgconfig/cblas.pc -Name: cblas -Version: ${version} -Description: BLAS C implementation -Cflags: -I$dev/include -Libs: -L$out/lib -lcblas -EOF -'' + lib.optionalString (blasImplementation == "mkl") '' - mkdir -p $out/nix-support - echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook - ln -s $out/lib/libblas${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} - ln -sf ${blasProvider'}/include/* $dev/include -''); + installPhase = ( + '' + mkdir -p $out/lib $dev/include $dev/lib/pkgconfig + + libblas="${lib.getLib blasProvider'}/lib/libblas${canonicalExtension}" + + if ! [ -e "$libblas" ]; then + echo "$libblas does not exist, ${blasProvider'.name} does not provide libblas." + exit 1 + fi + + $NM -an "$libblas" | cut -f3 -d' ' > symbols + for symbol in ${toString blasFortranSymbols}; do + grep -q "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; } + done + + cp -L "$libblas" $out/lib/libblas${canonicalExtension} + chmod +w $out/lib/libblas${canonicalExtension} + + '' + + ( + if stdenv.hostPlatform.isElf then + '' + patchelf --set-soname libblas${canonicalExtension} $out/lib/libblas${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libblas${canonicalExtension} + '' + else + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + install_name_tool \ + -id $out/lib/libblas${canonicalExtension} \ + -add_rpath ${lib.getLib blasProvider'}/lib \ + $out/lib/libblas${canonicalExtension} + '' + ) + + '' + + if [ "$out/lib/libblas${canonicalExtension}" != "$out/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then + ln -s $out/lib/libblas${canonicalExtension} "$out/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + fi + + cat < $dev/lib/pkgconfig/blas.pc + Name: blas + Version: ${version} + Description: BLAS FORTRAN implementation + Libs: -L$out/lib -lblas + Cflags: -I$dev/include + EOF + + libcblas="${lib.getLib blasProvider'}/lib/libcblas${canonicalExtension}" + + if ! [ -e "$libcblas" ]; then + echo "$libcblas does not exist, ${blasProvider'.name} does not provide libcblas." + exit 1 + fi + + cp -L "$libcblas" $out/lib/libcblas${canonicalExtension} + chmod +w $out/lib/libcblas${canonicalExtension} + + '' + + ( + if stdenv.hostPlatform.isElf then + '' + patchelf --set-soname libcblas${canonicalExtension} $out/lib/libcblas${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libcblas${canonicalExtension} + '' + else + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool \ + -id $out/lib/libcblas${canonicalExtension} \ + -add_rpath ${lib.getLib blasProvider'}/lib \ + $out/lib/libcblas${canonicalExtension} + '' + ) + + '' + if [ "$out/lib/libcblas${canonicalExtension}" != "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then + ln -s $out/lib/libcblas${canonicalExtension} "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" + fi + + cp ${lib.getDev lapack-reference}/include/cblas{,_mangling}.h $dev/include + + cat < $dev/lib/pkgconfig/cblas.pc + Name: cblas + Version: ${version} + Description: BLAS C implementation + Cflags: -I$dev/include + Libs: -L$out/lib -lcblas + EOF + '' + + lib.optionalString (blasImplementation == "mkl") '' + mkdir -p $out/nix-support + echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook + ln -s $out/lib/libblas${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} + ln -sf ${blasProvider'}/include/* $dev/include + '' + ); } diff --git a/pkgs/by-name/bl/blaze/package.nix b/pkgs/by-name/bl/blaze/package.nix index d52176518da99..4a0ecbbdd9656 100644 --- a/pkgs/by-name/bl/blaze/package.nix +++ b/pkgs/by-name/bl/blaze/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromBitbucket -, cmake -, blas -, lapack-reference +{ + lib, + stdenv, + fetchFromBitbucket, + cmake, + blas, + lapack-reference, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bl/bleachbit/package.nix b/pkgs/by-name/bl/bleachbit/package.nix index 57d55cedbc684..44290eb6c51f2 100644 --- a/pkgs/by-name/bl/bleachbit/package.nix +++ b/pkgs/by-name/bl/bleachbit/package.nix @@ -1,12 +1,13 @@ -{ lib -, python3Packages -, fetchurl -, gettext -, gobject-introspection -, wrapGAppsHook3 -, glib -, gtk3 -, libnotify +{ + lib, + python3Packages, + fetchurl, + gettext, + gobject-introspection, + wrapGAppsHook3, + glib, + gtk3, + libnotify, }: python3Packages.buildPythonApplication rec { @@ -64,7 +65,10 @@ python3Packages.buildPythonApplication rec { description = "Program to clean your computer"; longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy."; license = licenses.gpl3; - maintainers = with maintainers; [ leonardoce mbprtpmnr ]; + maintainers = with maintainers; [ + leonardoce + mbprtpmnr + ]; mainProgram = "bleachbit"; }; } diff --git a/pkgs/by-name/bl/blesh/package.nix b/pkgs/by-name/bl/blesh/package.nix index 88633760fdc05..2ae1f5914b669 100644 --- a/pkgs/by-name/bl/blesh/package.nix +++ b/pkgs/by-name/bl/blesh/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchzip -, runtimeShell -, bashInteractive -, glibcLocales +{ + lib, + stdenvNoCC, + fetchzip, + runtimeShell, + bashInteractive, + glibcLocales, }: stdenvNoCC.mkDerivation rec { @@ -18,7 +19,10 @@ stdenvNoCC.mkDerivation rec { dontBuild = true; doCheck = true; - nativeCheckInputs = [ bashInteractive glibcLocales ]; + nativeCheckInputs = [ + bashInteractive + glibcLocales + ]; preCheck = "export LC_ALL=en_US.UTF-8"; installPhase = '' diff --git a/pkgs/by-name/bl/blflash/package.nix b/pkgs/by-name/bl/blflash/package.nix index 36bdca12de874..f11bd48291761 100644 --- a/pkgs/by-name/bl/blflash/package.nix +++ b/pkgs/by-name/bl/blflash/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "blflash"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Bl602 serial flasher written in Rust"; homepage = "https://github.com/spacemeowx2/blflash"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ _0x4A6F ]; mainProgram = "blflash"; }; diff --git a/pkgs/by-name/bl/blink1-tool/package.nix b/pkgs/by-name/bl/blink1-tool/package.nix index df994593d99b4..0d52efe9ba113 100644 --- a/pkgs/by-name/bl/blink1-tool/package.nix +++ b/pkgs/by-name/bl/blink1-tool/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bl/blis/package.nix b/pkgs/by-name/bl/blis/package.nix index b31de4b84a70e..c2a0bf8ac3a42 100644 --- a/pkgs/by-name/bl/blis/package.nix +++ b/pkgs/by-name/bl/blis/package.nix @@ -1,21 +1,24 @@ -{ lib, stdenv -, fetchFromGitHub -, perl -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + perl, + python3, -# Enable BLAS interface with 64-bit integer width. -, blas64 ? false + # Enable BLAS interface with 64-bit integer width. + blas64 ? false, -# Target architecture. x86_64 builds Intel and AMD kernels. -, withArchitecture ? "x86_64" + # Target architecture. x86_64 builds Intel and AMD kernels. + withArchitecture ? "x86_64", -# Enable OpenMP-based threading. -, withOpenMP ? true + # Enable OpenMP-based threading. + withOpenMP ? true, }: let blasIntSize = if blas64 then "64" else "32"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "blis"; version = "1.0"; @@ -37,10 +40,12 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = [ - "--enable-cblas" - "--blas-int-size=${blasIntSize}" - ] ++ lib.optionals withOpenMP [ "--enable-threading=openmp" ] + configureFlags = + [ + "--enable-cblas" + "--blas-int-size=${blasIntSize}" + ] + ++ lib.optionals withOpenMP [ "--enable-threading=openmp" ] ++ [ withArchitecture ]; postPatch = '' diff --git a/pkgs/by-name/bl/bliss/package.nix b/pkgs/by-name/bl/bliss/package.nix index 5673fcc34d959..a277e257fe3f3 100644 --- a/pkgs/by-name/bl/bliss/package.nix +++ b/pkgs/by-name/bl/bliss/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, doxygen }: +{ + lib, + stdenv, + fetchurl, + unzip, + doxygen, +}: stdenv.mkDerivation rec { pname = "bliss"; @@ -14,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "815868d6586bcd49ff3c28e14ccb536d38b2661151088fe08187c13909c5dab0"; }; - nativeBuildInputs = [ unzip doxygen ]; + nativeBuildInputs = [ + unzip + doxygen + ]; preBuild = '' doxygen Doxyfile @@ -33,6 +42,10 @@ stdenv.mkDerivation rec { mainProgram = "bliss"; homepage = "http://www.tcs.hut.fi/Software/bliss/"; license = licenses.lgpl3; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/bl/blitz/package.nix b/pkgs/by-name/bl/blitz/package.nix index 4351e0ac729cb..f54c1861deba4 100644 --- a/pkgs/by-name/bl/blitz/package.nix +++ b/pkgs/by-name/bl/blitz/package.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, gfortran -, texinfo -, python3 -, boost +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + gfortran, + texinfo, + python3, + boost, # Select SIMD alignment width (in bytes) for vectorization. -, simdWidth ? 1 + simdWidth ? 1, # Pad arrays to simdWidth by default? # Note: Only useful if simdWidth > 1 -, enablePadding ? false + enablePadding ? false, # Activate serialization through Boost.Serialize? -, enableSerialization ? true + enableSerialization ? true, # Activate test-suite? # WARNING: Some of the tests require up to 1700MB of memory to compile. -, doCheck ? true + doCheck ? true, }: let @@ -50,12 +51,17 @@ stdenv.mkDerivation rec { texinfo ]; - buildInputs = [ gfortran texinfo boost ]; + buildInputs = [ + gfortran + texinfo + boost + ]; - cmakeFlags = optional enablePadding "-DARRAY_LENGTH_PADDING=ON" + cmakeFlags = + optional enablePadding "-DARRAY_LENGTH_PADDING=ON" ++ optional enableSerialization "-DENABLE_SERIALISATION=ON" ++ optional stdenv.hostPlatform.is64bit "-DBZ_FULLY64BIT=ON"; - # FIXME ++ optional doCheck "-DBUILD_TESTING=ON"; + # FIXME ++ optional doCheck "-DBUILD_TESTING=ON"; # skip broken library name detection ax_boost_user_serialization_lib = lib.optionalString stdenv.hostPlatform.isDarwin "boost_serialization"; @@ -67,7 +73,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fast multi-dimensional array library for C++"; homepage = "https://sourceforge.net/projects/blitz/"; - license = with licenses; [ artistic2 /* or */ bsd3 /* or */ lgpl3Plus ]; + license = with licenses; [ + artistic2 # or + bsd3 # or + lgpl3Plus + ]; platforms = platforms.unix; maintainers = with maintainers; [ ToxicFrog ]; longDescription = '' diff --git a/pkgs/by-name/bl/blktrace/package.nix b/pkgs/by-name/bl/blktrace/package.nix index d1b2376e7bd2d..d08a341860f4b 100644 --- a/pkgs/by-name/bl/blktrace/package.nix +++ b/pkgs/by-name/bl/blktrace/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libaio }: +{ + lib, + stdenv, + fetchurl, + libaio, +}: stdenv.mkDerivation rec { pname = "blktrace"; diff --git a/pkgs/by-name/bl/bloat/package.nix b/pkgs/by-name/bl/bloat/package.nix index e4181ceac5755..bfb5b1f133950 100644 --- a/pkgs/by-name/bl/bloat/package.nix +++ b/pkgs/by-name/bl/bloat/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchgit -, unstableGitUpdater +{ + lib, + buildGoModule, + fetchgit, + unstableGitUpdater, }: buildGoModule { diff --git a/pkgs/by-name/bl/blobby/package.nix b/pkgs/by-name/bl/blobby/package.nix index e4afb474b3a48..8a3bfbbde3410 100644 --- a/pkgs/by-name/bl/blobby/package.nix +++ b/pkgs/by-name/bl/blobby/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchurl, SDL2, SDL2_image, libGLU, libGL, cmake, physfs, boost, zip, zlib, unzip, pkg-config }: +{ + lib, + stdenv, + fetchurl, + SDL2, + SDL2_image, + libGLU, + libGL, + cmake, + physfs, + boost, + zip, + zlib, + unzip, + pkg-config, +}: stdenv.mkDerivation rec { pname = "blobby-volley"; @@ -9,10 +24,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-NX7lE+adO1D2f8Bj1Ky3lZpf6Il3gX8KqxTMxw2yFLo="; }; - nativeBuildInputs = [ cmake pkg-config zip ]; - buildInputs = [ SDL2 SDL2_image libGLU libGL physfs boost zlib ]; + nativeBuildInputs = [ + cmake + pkg-config + zip + ]; + buildInputs = [ + SDL2 + SDL2_image + libGLU + libGL + physfs + boost + zlib + ]; - preConfigure='' + preConfigure = '' sed -e '1i#include ' -i src/NetworkMessage.cpp ''; diff --git a/pkgs/by-name/bl/blobfuse/package.nix b/pkgs/by-name/bl/blobfuse/package.nix index 2acd137be736d..6ec9a31943f41 100644 --- a/pkgs/by-name/bl/blobfuse/package.nix +++ b/pkgs/by-name/bl/blobfuse/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, fuse3, testers, blobfuse }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fuse3, + testers, + blobfuse, +}: let version = "2.1.2"; @@ -8,7 +15,8 @@ let rev = "blobfuse2-${version}"; sha256 = "sha256-KzpD+6g1WwviydYE0v5pSH35zC41MrPlk5MitwAIgnE="; }; -in buildGoModule { +in +buildGoModule { pname = "blobfuse"; inherit version src; diff --git a/pkgs/by-name/bl/blobwars/package.nix b/pkgs/by-name/bl/blobwars/package.nix index 6c01e8d5a6044..945f90300c5bb 100644 --- a/pkgs/by-name/bl/blobwars/package.nix +++ b/pkgs/by-name/bl/blobwars/package.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchurl, pkg-config, gettext, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf, zlib }: +{ + stdenv, + lib, + fetchurl, + pkg-config, + gettext, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_net, + SDL2_ttf, + zlib, +}: stdenv.mkDerivation rec { pname = "blobwars"; @@ -11,11 +23,24 @@ stdenv.mkDerivation rec { patches = [ ./blobwars-2.00-glibc-2.38.patch ]; - nativeBuildInputs = [ pkg-config gettext ]; - buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf zlib ]; + nativeBuildInputs = [ + pkg-config + gettext + ]; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_net + SDL2_ttf + zlib + ]; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error" ]; - makeFlags = [ "PREFIX=$(out)" "RELEASE=1" ]; + makeFlags = [ + "PREFIX=$(out)" + "RELEASE=1" + ]; postInstall = '' install -Dm755 $out/games/blobwars -t $out/bin @@ -30,7 +55,10 @@ stdenv.mkDerivation rec { description = "Platform action game featuring a blob with lots of weapons"; mainProgram = "blobwars"; homepage = "https://www.parallelrealities.co.uk/games/metalBlobSolid/"; - license = with licenses; [ gpl2Plus free ]; + license = with licenses; [ + gpl2Plus + free + ]; maintainers = with maintainers; [ iblech ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/bl/blockhash/package.nix b/pkgs/by-name/bl/blockhash/package.nix index 3638d34dc384e..aa956b0360fa0 100644 --- a/pkgs/by-name/bl/blockhash/package.nix +++ b/pkgs/by-name/bl/blockhash/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, python3, pkg-config, imagemagick, wafHook }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + pkg-config, + imagemagick, + wafHook, +}: stdenv.mkDerivation rec { pname = "blockhash"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-QoqFTCfWtXIrFF3Yx4NfOa9cSjHtCSKz3k3i0u9Qx9M="; }; - nativeBuildInputs = [ python3 pkg-config wafHook ]; + nativeBuildInputs = [ + python3 + pkg-config + wafHook + ]; buildInputs = [ imagemagick ]; strictDeps = true; diff --git a/pkgs/by-name/bl/blocky/package.nix b/pkgs/by-name/bl/blocky/package.nix index 47ed6a85b8abb..fdf27dffb6a2b 100644 --- a/pkgs/by-name/bl/blocky/package.nix +++ b/pkgs/by-name/bl/blocky/package.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, nixosTests +{ + buildGoModule, + fetchFromGitHub, + lib, + nixosTests, }: buildGoModule rec { @@ -21,7 +22,11 @@ buildGoModule rec { vendorHash = "sha256-I4UXTynulsRuu9U8tsLbPQO1MMPfUC5dAZE420sW1sU="; - ldflags = [ "-s" "-w" "-X github.com/0xERR0R/blocky/util.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/0xERR0R/blocky/util.Version=${version}" + ]; passthru.tests = { inherit (nixosTests) blocky; }; diff --git a/pkgs/by-name/bl/blogc/package.nix b/pkgs/by-name/bl/blogc/package.nix index 4360cc6f20a04..3ab9524c04459 100644 --- a/pkgs/by-name/bl/blogc/package.nix +++ b/pkgs/by-name/bl/blogc/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, ronn, git, cmocka }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + ronn, + git, + cmocka, +}: stdenv.mkDerivation rec { pname = "blogc"; @@ -11,9 +20,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-YAwGgV5Vllz8JlIASbGIkdRzpciQbgPiXl5DjiSEJyE="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ ronn git cmocka ]; + buildInputs = [ + ronn + git + cmocka + ]; configureFlags = [ "--enable-git-receiver" diff --git a/pkgs/by-name/bl/bloodhound/package.nix b/pkgs/by-name/bl/bloodhound/package.nix index f4e67ecacf122..9987f5f16608d 100644 --- a/pkgs/by-name/bl/bloodhound/package.nix +++ b/pkgs/by-name/bl/bloodhound/package.nix @@ -1,38 +1,39 @@ -{ lib -, stdenv -, fetchzip -, makeWrapper -, alsa-lib -, at-spi2-atk -, at-spi2-core -, atk -, cairo -, cups -, dbus -, expat -, fontconfig -, freetype -, gdk-pixbuf -, glib -, gtk3 -, libGL -, libappindicator-gtk3 -, libdrm -, libnotify -, libpulseaudio -, libuuid -, libxcb -, libxkbcommon -, libxshmfence -, mesa -, nspr -, nss -, pango -, systemd -, udev -, unzip -, xdg-utils -, xorg +{ + lib, + stdenv, + fetchzip, + makeWrapper, + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + cairo, + cups, + dbus, + expat, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + libGL, + libappindicator-gtk3, + libdrm, + libnotify, + libpulseaudio, + libuuid, + libxcb, + libxkbcommon, + libxshmfence, + mesa, + nspr, + nss, + pango, + systemd, + udev, + unzip, + xdg-utils, + xorg, }: stdenv.mkDerivation (finalAttrs: { pname = "bloodhound"; @@ -91,7 +92,10 @@ stdenv.mkDerivation (finalAttrs: { gtk3 # needed for GSETTINGS_SCHEMAS_PATH ]; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; dontBuild = true; @@ -107,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper $out/lib/BloodHound/BloodHound $out/bin/BloodHound \ --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ - --suffix PATH : ${lib.makeBinPath [xdg-utils]} \ + --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \ --append-flags "--in-process-gpu" # fix for sandbox issues runHook postInstall diff --git a/pkgs/by-name/bl/bloomrpc/package.nix b/pkgs/by-name/bl/bloomrpc/package.nix index b2f3dbae4a256..764b4082990ac 100644 --- a/pkgs/by-name/bl/bloomrpc/package.nix +++ b/pkgs/by-name/bl/bloomrpc/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "bloomrpc"; diff --git a/pkgs/by-name/bl/bloop/package.nix b/pkgs/by-name/bl/bloop/package.nix index fd634380491ac..8a53d1bca9b33 100644 --- a/pkgs/by-name/bl/bloop/package.nix +++ b/pkgs/by-name/bl/bloop/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, fetchurl -, autoPatchelfHook -, installShellFiles -, makeWrapper -, jre -, lib -, zlib +{ + stdenv, + fetchurl, + autoPatchelfHook, + installShellFiles, + makeWrapper, + jre, + lib, + zlib, }: stdenv.mkDerivation rec { @@ -13,10 +14,14 @@ stdenv.mkDerivation rec { version = "2.0.5"; platform = - if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then "x86_64-pc-linux" - else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then "x86_64-apple-darwin" - else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then "aarch64-apple-darwin" - else throw "unsupported platform"; + if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then + "x86_64-pc-linux" + else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then + "x86_64-apple-darwin" + else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then + "aarch64-apple-darwin" + else + throw "unsupported platform"; bloop-bash = fetchurl { url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bash-completions"; @@ -36,16 +41,25 @@ stdenv.mkDerivation rec { bloop-binary = fetchurl rec { url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}"; sha256 = - if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then "sha256-COsGPMCsl3hTcw9JOZ6/LnQAhsNCXMvC0sDLqhHrY1o=" - else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then "sha256-oXfdHIvmEtjh+Ohpu8R2VbrR+YbEQKI6l2cYiG/kQnk=" - else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then "sha256-+C8uY1TsqCy0Ml7GBovjGN4rAzkTqRSv5M0EI0l2tds=" - else throw "unsupported platform"; + if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then + "sha256-COsGPMCsl3hTcw9JOZ6/LnQAhsNCXMvC0sDLqhHrY1o=" + else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then + "sha256-oXfdHIvmEtjh+Ohpu8R2VbrR+YbEQKI6l2cYiG/kQnk=" + else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then + "sha256-+C8uY1TsqCy0Ml7GBovjGN4rAzkTqRSv5M0EI0l2tds=" + else + throw "unsupported platform"; }; dontUnpack = true; - nativeBuildInputs = [ installShellFiles makeWrapper ] - ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - buildInputs = [ (lib.getLib stdenv.cc.cc) zlib ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; + buildInputs = [ + (lib.getLib stdenv.cc.cc) + zlib + ]; propagatedBuildInputs = [ jre ]; installPhase = '' @@ -69,7 +83,15 @@ stdenv.mkDerivation rec { license = licenses.asl20; description = "Scala build server and command-line tool to make the compile and test developer workflows fast and productive in a build-tool-agnostic way"; mainProgram = "bloop"; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; - maintainers = with maintainers; [ agilesteel kubukoz tomahna ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + maintainers = with maintainers; [ + agilesteel + kubukoz + tomahna + ]; }; } diff --git a/pkgs/by-name/bl/blst/package.nix b/pkgs/by-name/bl/blst/package.nix index 50d080b9bf910..0148fe0d0a945 100644 --- a/pkgs/by-name/bl/blst/package.nix +++ b/pkgs/by-name/bl/blst/package.nix @@ -1,6 +1,10 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: -stdenv.mkDerivation ( finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "blst"; version = "0.3.13"; @@ -71,7 +75,10 @@ stdenv.mkDerivation ( finalAttrs: { description = "Multilingual BLS12-381 signature library"; homepage = "https://github.com/supranational/blst"; license = licenses.isc; - maintainers = with maintainers; [ iquerejeta yvan-sraka ]; + maintainers = with maintainers; [ + iquerejeta + yvan-sraka + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/bl/blueberry/package.nix b/pkgs/by-name/bl/blueberry/package.nix index 4bc7736e06edc..f32e619f56f55 100644 --- a/pkgs/by-name/bl/blueberry/package.nix +++ b/pkgs/by-name/bl/blueberry/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, bluez-tools -, gnome-bluetooth_1_0 -, gobject-introspection -, libnotify -, pavucontrol -, python3Packages -, util-linux -, wrapGAppsHook3 -, xapp +{ + stdenv, + lib, + fetchFromGitHub, + bluez-tools, + gnome-bluetooth_1_0, + gobject-introspection, + libnotify, + pavucontrol, + python3Packages, + util-linux, + wrapGAppsHook3, + xapp, }: stdenv.mkDerivation rec { @@ -92,6 +93,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/linuxmint/blueberry"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ bobby285271 romildo ]; + maintainers = with maintainers; [ + bobby285271 + romildo + ]; }; } diff --git a/pkgs/by-name/bl/bluemail/package.nix b/pkgs/by-name/bl/bluemail/package.nix index 40d861faaf5cd..0511eba95e0bb 100644 --- a/pkgs/by-name/bl/bluemail/package.nix +++ b/pkgs/by-name/bl/bluemail/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchurl -, dpkg -, autoPatchelfHook -, copyDesktopItems -, pango -, gtk3 -, alsa-lib -, nss -, libXdamage -, libdrm -, mesa -, libxshmfence -, makeDesktopItem -, makeWrapper -, wrapGAppsHook3 -, gcc-unwrapped -, udev +{ + stdenv, + lib, + fetchurl, + dpkg, + autoPatchelfHook, + copyDesktopItems, + pango, + gtk3, + alsa-lib, + nss, + libXdamage, + libdrm, + mesa, + libxshmfence, + makeDesktopItem, + makeWrapper, + wrapGAppsHook3, + gcc-unwrapped, + udev, }: stdenv.mkDerivation rec { @@ -39,7 +40,10 @@ stdenv.mkDerivation rec { desktopName = "BlueMail"; comment = meta.description; genericName = "Email Reader"; - mimeTypes = [ "x-scheme-handler/me.blueone.linux" "x-scheme-handler/mailto" ]; + mimeTypes = [ + "x-scheme-handler/me.blueone.linux" + "x-scheme-handler/mailto" + ]; categories = [ "Office" ]; }) ]; @@ -82,7 +86,13 @@ stdenv.mkDerivation rec { ''; makeWrapperArgs = [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib gtk3 udev ]}" + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + gcc-unwrapped.lib + gtk3 + udev + ] + }" "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" ]; diff --git a/pkgs/by-name/bl/blueman/package.nix b/pkgs/by-name/bl/blueman/package.nix index effde184d1f84..47832d528d7ca 100644 --- a/pkgs/by-name/bl/blueman/package.nix +++ b/pkgs/by-name/bl/blueman/package.nix @@ -1,12 +1,32 @@ -{ config, stdenv, lib, fetchurl, intltool, pkg-config, python3Packages, bluez, gtk3 -, obex_data_server, xdg-utils, dnsmasq, dhcpcd, iproute2 -, adwaita-icon-theme, librsvg, wrapGAppsHook3, gobject-introspection -, networkmanager, withPulseAudio ? config.pulseaudio or stdenv.hostPlatform.isLinux, libpulseaudio }: +{ + config, + stdenv, + lib, + fetchurl, + intltool, + pkg-config, + python3Packages, + bluez, + gtk3, + obex_data_server, + xdg-utils, + dnsmasq, + dhcpcd, + iproute2, + adwaita-icon-theme, + librsvg, + wrapGAppsHook3, + gobject-introspection, + networkmanager, + withPulseAudio ? config.pulseaudio or stdenv.hostPlatform.isLinux, + libpulseaudio, +}: let pythonPackages = python3Packages; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "blueman"; version = "2.4.3"; @@ -16,20 +36,34 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gobject-introspection intltool pkg-config pythonPackages.cython - pythonPackages.wrapPython wrapGAppsHook3 + gobject-introspection + intltool + pkg-config + pythonPackages.cython + pythonPackages.wrapPython + wrapGAppsHook3 ]; - buildInputs = [ bluez gtk3 pythonPackages.python librsvg - adwaita-icon-theme networkmanager ] - ++ pythonPath - ++ lib.optional withPulseAudio libpulseaudio; + buildInputs = + [ + bluez + gtk3 + pythonPackages.python + librsvg + adwaita-icon-theme + networkmanager + ] + ++ pythonPath + ++ lib.optional withPulseAudio libpulseaudio; postPatch = lib.optionalString withPulseAudio '' sed -i 's,CDLL(",CDLL("${libpulseaudio.out}/lib/,g' blueman/main/PulseAudioUtils.py ''; - pythonPath = with pythonPackages; [ pygobject3 pycairo ]; + pythonPath = with pythonPackages; [ + pygobject3 + pycairo + ]; propagatedUserEnvPkgs = [ obex_data_server ]; @@ -42,7 +76,13 @@ in stdenv.mkDerivation rec { ]; makeWrapperArgs = [ - "--prefix PATH ':' ${lib.makeBinPath [ dnsmasq dhcpcd iproute2 ]}" + "--prefix PATH ':' ${ + lib.makeBinPath [ + dnsmasq + dhcpcd + iproute2 + ] + }" "--suffix PATH ':' ${lib.makeBinPath [ xdg-utils ]}" ]; diff --git a/pkgs/by-name/bl/bluemix-cli/package.nix b/pkgs/by-name/bl/bluemix-cli/package.nix index ebfcd17064ed2..38e715c0f3d6f 100644 --- a/pkgs/by-name/bl/bluemix-cli/package.nix +++ b/pkgs/by-name/bl/bluemix-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "bluemix-cli"; @@ -16,8 +20,7 @@ stdenv.mkDerivation rec { name = "linux64-${version}.tar.gz"; url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux64"; sha256 = "056zbaca430ldcn0s86vy40m5abvwpfrmvqybbr6fjwfv9zngywx"; - } - ; + }; installPhase = '' install -m755 -D -t $out/bin bin/ibmcloud bin/ibmcloud-analytics @@ -29,12 +32,18 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Administration CLI for IBM BlueMix"; - homepage = "https://console.bluemix.net/docs/cli/index.html"; + description = "Administration CLI for IBM BlueMix"; + homepage = "https://console.bluemix.net/docs/cli/index.html"; downloadPage = "https://console.bluemix.net/docs/cli/reference/bluemix_cli/download_cli.html#download_install"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - maintainers = [ maintainers.tazjin maintainers.jensbin ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + license = licenses.unfree; + maintainers = [ + maintainers.tazjin + maintainers.jensbin + ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/bl/blueprint-compiler/package.nix b/pkgs/by-name/bl/blueprint-compiler/package.nix index e426503c5487b..e9b4230b6348a 100644 --- a/pkgs/by-name/bl/blueprint-compiler/package.nix +++ b/pkgs/by-name/bl/blueprint-compiler/package.nix @@ -1,14 +1,15 @@ -{ dbus -, fetchFromGitLab -, gobject-introspection -, lib -, libadwaita -, meson -, ninja -, python3 -, stdenv -, testers -, xvfb-run +{ + dbus, + fetchFromGitLab, + gobject-introspection, + lib, + libadwaita, + meson, + ninja, + python3, + stdenv, + testers, + xvfb-run, }: stdenv.mkDerivation (finalAttrs: { pname = "blueprint-compiler"; @@ -29,9 +30,11 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libadwaita - (python3.withPackages (ps: with ps; [ - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + ] + )) ]; propagatedBuildInputs = [ @@ -45,8 +48,7 @@ stdenv.mkDerivation (finalAttrs: { ]; # requires xvfb-run - doCheck = !stdenv.hostPlatform.isDarwin - && false; # tests time out + doCheck = !stdenv.hostPlatform.isDarwin && false; # tests time out checkPhase = '' runHook preCheck @@ -67,7 +69,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "blueprint-compiler"; homepage = "https://gitlab.gnome.org/jwestman/blueprint-compiler"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ benediktbroich ranfdev ]; + maintainers = with maintainers; [ + benediktbroich + ranfdev + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/bl/bluespec/package.nix b/pkgs/by-name/bl/bluespec/package.nix index 720dbe84743b6..3c9f871db9de6 100644 --- a/pkgs/by-name/bl/bluespec/package.nix +++ b/pkgs/by-name/bl/bluespec/package.nix @@ -1,32 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, autoconf -, automake -, fontconfig -, libX11 -, perl -, flex -, bison -, pkg-config -, tcl -, tk -, xorg -, yices # bsc uses a patched version of yices -, zlib -, ghc -, gmp-static -, iverilog -, asciidoctor -, texliveFull -, which +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + autoconf, + automake, + fontconfig, + libX11, + perl, + flex, + bison, + pkg-config, + tcl, + tk, + xorg, + yices, # bsc uses a patched version of yices + zlib, + ghc, + gmp-static, + iverilog, + asciidoctor, + texliveFull, + which, }: let - ghcWithPackages = ghc.withPackages (g: (with g; [ old-time regex-compat syb split ])); - -in stdenv.mkDerivation rec { + ghcWithPackages = ghc.withPackages ( + g: + (with g; [ + old-time + regex-compat + syb + split + ]) + ); + +in +stdenv.mkDerivation rec { pname = "bluespec"; version = "2024.07"; @@ -44,7 +54,10 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; # https://github.com/B-Lang-org/bsc/pull/278 is still applicable, but will probably not be applied as such # there is work ongoing: https://github.com/B-Lang-org/bsc/issues/595 https://github.com/B-Lang-org/bsc/pull/600 @@ -133,6 +146,9 @@ in stdenv.mkDerivation rec { mainProgram = "bsc"; # darwin fails at https://github.com/B-Lang-org/bsc/pull/35#issuecomment-583731562 # aarch64 fails, as GHC fails with "ghc: could not execute: opt" - maintainers = with lib.maintainers; [ jcumming thoughtpolice ]; + maintainers = with lib.maintainers; [ + jcumming + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/bl/bluetility/package.nix b/pkgs/by-name/bl/bluetility/package.nix index 8aadf48b026cf..7a2241a2f5e10 100644 --- a/pkgs/by-name/bl/bluetility/package.nix +++ b/pkgs/by-name/bl/bluetility/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + unzip, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bl/bluewalker/package.nix b/pkgs/by-name/bl/bluewalker/package.nix index 6cc25523d74c6..8f2872f6045bf 100644 --- a/pkgs/by-name/bl/bluewalker/package.nix +++ b/pkgs/by-name/bl/bluewalker/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitLab }: +{ + lib, + buildGoModule, + fetchFromGitLab, +}: buildGoModule rec { pname = "bluewalker"; diff --git a/pkgs/by-name/bl/bluez-alsa/package.nix b/pkgs/by-name/bl/bluez-alsa/package.nix index eb42c8402cab7..8b144b85c7817 100644 --- a/pkgs/by-name/bl/bluez-alsa/package.nix +++ b/pkgs/by-name/bl/bluez-alsa/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, aacSupport ? true -, alsa-lib -, autoreconfHook -, bluez -, dbus -, fdk_aac -, fetchFromGitHub -, gitUpdater -, glib -, libbsd -, ncurses -, pkg-config -, readline -, sbc +{ + lib, + stdenv, + aacSupport ? true, + alsa-lib, + autoreconfHook, + bluez, + dbus, + fdk_aac, + fetchFromGitHub, + gitUpdater, + glib, + libbsd, + ncurses, + pkg-config, + readline, + sbc, }: stdenv.mkDerivation (finalAttrs: { @@ -32,18 +33,20 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - alsa-lib - bluez - glib - sbc - dbus - readline - libbsd - ncurses - ] ++ lib.optionals aacSupport [ - fdk_aac - ]; + buildInputs = + [ + alsa-lib + bluez + glib + sbc + dbus + readline + libbsd + ncurses + ] + ++ lib.optionals aacSupport [ + fdk_aac + ]; configureFlags = [ (lib.enableFeature aacSupport "aac") diff --git a/pkgs/by-name/bl/bluez-tools/package.nix b/pkgs/by-name/bl/bluez-tools/package.nix index d6fa89154d93c..916ad45949b6f 100644 --- a/pkgs/by-name/bl/bluez-tools/package.nix +++ b/pkgs/by-name/bl/bluez-tools/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, glib -, pkg-config -, readline -, unstableGitUpdater +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + glib, + pkg-config, + readline, + unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix index 4337cd90b5193..ccdac6ccc0412 100644 --- a/pkgs/by-name/bl/bluez/package.nix +++ b/pkgs/by-name/bl/bluez/package.nix @@ -1,25 +1,28 @@ -{ lib -, stdenv -, alsa-lib -, dbus -, docutils -, ell -, enableExperimental ? false -, fetchpatch -, fetchurl -, glib -, json_c -, libical -, pkg-config -, python3Packages -, readline -, systemdMinimal -, udev -# Test gobject-introspection instead of pygobject because the latter -# causes an infinite recursion. -, gobject-introspection -, buildPackages -, installTests ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages +{ + lib, + stdenv, + alsa-lib, + dbus, + docutils, + ell, + enableExperimental ? false, + fetchpatch, + fetchurl, + glib, + json_c, + libical, + pkg-config, + python3Packages, + readline, + systemdMinimal, + udev, + # Test gobject-introspection instead of pygobject because the latter + # causes an infinite recursion. + gobject-introspection, + buildPackages, + installTests ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -31,21 +34,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-gw/tGRXF03W43g9eb0X83qDcxf9f+z0x227Q8A1zxeM="; }; - patches = [ - # Upstream fix is wrong: - # https://github.com/bluez/bluez/issues/843#issuecomment-2352696535 - (fetchurl { - name = "basename.patch"; - url = "https://github.com/void-linux/void-packages/raw/187b45d47d93b6857a95cae10c2132d76e4955fc/srcpkgs/bluez/patches/basename.patch"; - hash = "sha256-Jb4u7rxIShDp1yUgaQVDJo2HJfZBzRoVlcDEWxooFgk="; - }) - ] ++ lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) - # Disable one failing test with musl libc, also seen by alpine - # https://github.com/bluez/bluez/issues/726 - (fetchurl { - url = "https://git.alpinelinux.org/aports/plain/main/bluez/disable_aics_unit_testcases.patch?id=8e96f7faf01a45f0ad8449c1cd825db63a8dfd48"; - hash = "sha256-1PJkipqBO3qxxOqRFQKfpWlne1kzTCgtnTFYI1cFQt4="; - }); + patches = + [ + # Upstream fix is wrong: + # https://github.com/bluez/bluez/issues/843#issuecomment-2352696535 + (fetchurl { + name = "basename.patch"; + url = "https://github.com/void-linux/void-packages/raw/187b45d47d93b6857a95cae10c2132d76e4955fc/srcpkgs/bluez/patches/basename.patch"; + hash = "sha256-Jb4u7rxIShDp1yUgaQVDJo2HJfZBzRoVlcDEWxooFgk="; + }) + ] + ++ lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) + # Disable one failing test with musl libc, also seen by alpine + # https://github.com/bluez/bluez/issues/726 + ( + fetchurl { + url = "https://git.alpinelinux.org/aports/plain/main/bluez/disable_aics_unit_testcases.patch?id=8e96f7faf01a45f0ad8449c1cd825db63a8dfd48"; + hash = "sha256-1PJkipqBO3qxxOqRFQKfpWlne1kzTCgtnTFYI1cFQt4="; + } + ); buildInputs = [ alsa-lib @@ -66,24 +73,28 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.wrapPython ]; - outputs = [ "out" "dev" ] - ++ lib.optional installTests "test"; - - postPatch = '' - substituteInPlace tools/hid2hci.rules \ - --replace-fail /sbin/udevadm ${systemdMinimal}/bin/udevadm \ - --replace-fail "hid2hci " "$out/lib/udev/hid2hci " - '' + - # Disable some tests: - # - test-mesh-crypto depends on the following kernel settings: - # CONFIG_CRYPTO_[USER|USER_API|USER_API_AEAD|USER_API_HASH|AES|CCM|AEAD|CMAC] - '' - if [[ ! -f unit/test-mesh-crypto.c ]]; then - echo "unit/test-mesh-crypto.c no longer exists" - false - fi - echo 'int main() { return 77; }' > unit/test-mesh-crypto.c - ''; + outputs = [ + "out" + "dev" + ] ++ lib.optional installTests "test"; + + postPatch = + '' + substituteInPlace tools/hid2hci.rules \ + --replace-fail /sbin/udevadm ${systemdMinimal}/bin/udevadm \ + --replace-fail "hid2hci " "$out/lib/udev/hid2hci " + '' + + + # Disable some tests: + # - test-mesh-crypto depends on the following kernel settings: + # CONFIG_CRYPTO_[USER|USER_API|USER_API_AEAD|USER_API_HASH|AES|CCM|AEAD|CMAC] + '' + if [[ ! -f unit/test-mesh-crypto.c ]]; then + echo "unit/test-mesh-crypto.c no longer exists" + false + fi + echo 'int main() { return 77; }' > unit/test-mesh-crypto.c + ''; configureFlags = [ "--localstatedir=/var" @@ -122,49 +133,51 @@ stdenv.mkDerivation (finalAttrs: { doCheck = stdenv.hostPlatform.isx86_64; - postInstall = let - pythonPath = with python3Packages; [ - dbus-python - pygobject3 - ]; - in - '' - # for bluez4 compatibility for NixOS - mkdir $out/sbin - ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd - ln -s ../libexec/bluetooth/obexd $out/sbin/obexd - - # Add extra configuration - rm $out/etc/bluetooth/{main,input,network}.conf - ln -s /etc/bluetooth/main.conf $out/etc/bluetooth/main.conf - - # https://github.com/NixOS/nixpkgs/issues/204418 - ln -s /etc/bluetooth/input.conf $out/etc/bluetooth/input.conf - ln -s /etc/bluetooth/network.conf $out/etc/bluetooth/network.conf - - # Add missing tools, ref https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/bluez - for files in $(find tools/ -type f -perm -755); do - filename=$(basename $files) - install -Dm755 tools/$filename $out/bin/$filename - done - install -Dm755 attrib/gatttool $out/bin/gatttool - '' + lib.optionalString installTests '' - mkdir -p $test/{bin,test} - cp -a test $test - pushd $test/test - for t in \ - list-devices \ - monitor-bluetooth \ - simple-agent \ - test-adapter \ - test-device \ - test-thermometer \ - ; do - ln -s ../test/$t $test/bin/bluez-$t - done - popd - wrapPythonProgramsIn $test/test "$test/test ${toString pythonPath}" - ''; + postInstall = + let + pythonPath = with python3Packages; [ + dbus-python + pygobject3 + ]; + in + '' + # for bluez4 compatibility for NixOS + mkdir $out/sbin + ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd + ln -s ../libexec/bluetooth/obexd $out/sbin/obexd + + # Add extra configuration + rm $out/etc/bluetooth/{main,input,network}.conf + ln -s /etc/bluetooth/main.conf $out/etc/bluetooth/main.conf + + # https://github.com/NixOS/nixpkgs/issues/204418 + ln -s /etc/bluetooth/input.conf $out/etc/bluetooth/input.conf + ln -s /etc/bluetooth/network.conf $out/etc/bluetooth/network.conf + + # Add missing tools, ref https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/bluez + for files in $(find tools/ -type f -perm -755); do + filename=$(basename $files) + install -Dm755 tools/$filename $out/bin/$filename + done + install -Dm755 attrib/gatttool $out/bin/gatttool + '' + + lib.optionalString installTests '' + mkdir -p $test/{bin,test} + cp -a test $test + pushd $test/test + for t in \ + list-devices \ + monitor-bluetooth \ + simple-agent \ + test-adapter \ + test-device \ + test-thermometer \ + ; do + ln -s ../test/$t $test/bin/bluez-$t + done + popd + wrapPythonProgramsIn $test/test "$test/test ${toString pythonPath}" + ''; enableParallelBuilding = true; @@ -172,7 +185,12 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.bluez.org/"; description = "Official Linux Bluetooth protocol stack"; changelog = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/ChangeLog?h=${finalAttrs.version}"; - license = with lib.licenses; [ bsd2 gpl2Plus lgpl21Plus mit ]; + license = with lib.licenses; [ + bsd2 + gpl2Plus + lgpl21Plus + mit + ]; mainProgram = "btinfo"; maintainers = with lib.maintainers; [ ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/bl/blugon/package.nix b/pkgs/by-name/bl/blugon/package.nix index 5aab73ef1467c..5f1aa6eb922d1 100644 --- a/pkgs/by-name/bl/blugon/package.nix +++ b/pkgs/by-name/bl/blugon/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, python3, libX11, libXrandr }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + libX11, + libXrandr, +}: stdenv.mkDerivation rec { pname = "blugon"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "1i67v8jxvavgax3dwvns200iwwdcvgki04liq0x64q52lg0vrh7m"; }; - buildInputs = [ python3 libX11 libXrandr ]; + buildInputs = [ + python3 + libX11 + libXrandr + ]; # Remove at next release # https://github.com/jumper149/blugon/commit/d262cd05 diff --git a/pkgs/by-name/bl/blur-effect/package.nix b/pkgs/by-name/bl/blur-effect/package.nix index cc88bb0889498..4ac0dc55e6dca 100644 --- a/pkgs/by-name/bl/blur-effect/package.nix +++ b/pkgs/by-name/bl/blur-effect/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gdk-pixbuf, libGL, mesa }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + gdk-pixbuf, + libGL, + mesa, +}: stdenv.mkDerivation rec { pname = "blur-effect"; diff --git a/pkgs/by-name/bm/bmaptool/package.nix b/pkgs/by-name/bm/bmaptool/package.nix index dedc16bd23fac..c97b13d26a388 100644 --- a/pkgs/by-name/bm/bmaptool/package.nix +++ b/pkgs/by-name/bm/bmaptool/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "bmaptool"; diff --git a/pkgs/by-name/bm/bmon/package.nix b/pkgs/by-name/bm/bmon/package.nix index a123a3380f1be..9f50559b3817f 100644 --- a/pkgs/by-name/bm/bmon/package.nix +++ b/pkgs/by-name/bm/bmon/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, ncurses, libconfuse -, libnl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + ncurses, + libconfuse, + libnl, +}: stdenv.mkDerivation rec { pname = "bmon"; @@ -22,9 +31,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ ncurses libconfuse ] ++ lib.optional stdenv.hostPlatform.isLinux libnl; + buildInputs = [ + ncurses + libconfuse + ] ++ lib.optional stdenv.hostPlatform.isLinux libnl; preConfigure = '' # Must be an absolute path @@ -39,7 +54,10 @@ stdenv.mkDerivation rec { # - https://github.com/tgraf/bmon/blob/master/LICENSE.MIT license = licenses.bsd2; platforms = platforms.unix; - maintainers = with maintainers; [ bjornfor pSub ]; + maintainers = with maintainers; [ + bjornfor + pSub + ]; mainProgram = "bmon"; }; } diff --git a/pkgs/by-name/bo/boa/package.nix b/pkgs/by-name/bo/boa/package.nix index 9f695ff7d7939..3c2e0c188bbd2 100644 --- a/pkgs/by-name/bo/boa/package.nix +++ b/pkgs/by-name/bo/boa/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, fetchpatch -, pkg-config -, bzip2 -, openssl -, zstd -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch, + pkg-config, + bzip2, + openssl, + zstd, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -32,25 +33,37 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-UIUXayJwTrWbLm1UKnIXy1Df8a7ZoBzdNm/uZ1+H+SQ="; - cargoBuildFlags = [ "--package" "boa_cli" ]; + cargoBuildFlags = [ + "--package" + "boa_cli" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = - [ bzip2 openssl zstd ] + [ + bzip2 + openssl + zstd + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.Security ]; - env = { ZSTD_SYS_USE_PKG_CONFIG = true; }; + env = { + ZSTD_SYS_USE_PKG_CONFIG = true; + }; meta = with lib; { description = "Embeddable and experimental Javascript engine written in Rust"; mainProgram = "boa"; homepage = "https://github.com/boa-dev/boa"; changelog = "https://github.com/boa-dev/boa/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ unlicense ]; + license = with licenses; [ + mit # or + unlicense + ]; maintainers = with maintainers; [ dit7ya ]; }; } diff --git a/pkgs/by-name/bo/boatswain/package.nix b/pkgs/by-name/bo/boatswain/package.nix index fc2842ebe52fc..c5ee5f941cfab 100644 --- a/pkgs/by-name/bo/boatswain/package.nix +++ b/pkgs/by-name/bo/boatswain/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gtk4 -, libgee -, libadwaita -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils -, libpeas -, libportal-gtk4 -, gusb -, hidapi -, json-glib -, libsecret -, libsoup_3 -, libpeas2 +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gtk4, + libgee, + libadwaita, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, + libpeas, + libportal-gtk4, + gusb, + hidapi, + json-glib, + libsecret, + libsoup_3, + libpeas2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bo/bob/package.nix b/pkgs/by-name/bo/bob/package.nix index ba93433b68626..2b4f0769f68ce 100644 --- a/pkgs/by-name/bo/bob/package.nix +++ b/pkgs/by-name/bo/bob/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, fetchpatch +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + fetchpatch, }: buildGoModule rec { @@ -26,11 +27,19 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; vendorHash = "sha256-u0nFaTQWU9O7A/RAhGaLcBka+YNGjSlpycDF8TLQALw="; - excludedPackages = [ "example/server-db" "test/e2e" "tui-example" ]; + excludedPackages = [ + "example/server-db" + "test/e2e" + "tui-example" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/bo/bobcat/package.nix b/pkgs/by-name/bo/bobcat/package.nix index b873862fe7ed1..51423f2f38bf9 100644 --- a/pkgs/by-name/bo/bobcat/package.nix +++ b/pkgs/by-name/bo/bobcat/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitLab -, icmake -, yodl -, libmilter -, libX11 -, openssl -, readline -, util-linux +{ + lib, + stdenv, + fetchFromGitLab, + icmake, + yodl, + libmilter, + libX11, + openssl, + readline, + util-linux, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bo/boca/package.nix b/pkgs/by-name/bo/boca/package.nix index f0a1f3bc6a775..93bde7439f407 100644 --- a/pkgs/by-name/bo/boca/package.nix +++ b/pkgs/by-name/bo/boca/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, -, expat -, libcdio -, libcdio-paranoia -, libpulseaudio -, smooth -, uriparser -, zlib + expat, + libcdio, + libcdio-paranoia, + libpulseaudio, + smooth, + uriparser, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bo/bodyclose/package.nix b/pkgs/by-name/bo/bodyclose/package.nix index 2665fcafe745e..ed791e7546c6c 100644 --- a/pkgs/by-name/bo/bodyclose/package.nix +++ b/pkgs/by-name/bo/bodyclose/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + buildGoModule, + fetchFromGitHub, + unstableGitUpdater, }: buildGoModule { @@ -17,9 +18,12 @@ buildGoModule { vendorHash = "sha256-8grdJuV8aSETsJr2VazC/3ctfnGh3UgjOWD4/xf3uC8="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Golang linter to check whether HTTP response body is closed and a re-use of TCP connection is not blocked"; diff --git a/pkgs/by-name/bo/boehmgc/package.nix b/pkgs/by-name/bo/boehmgc/package.nix index 35dbf8f7b79ee..e950ad42f9a3a 100644 --- a/pkgs/by-name/bo/boehmgc/package.nix +++ b/pkgs/by-name/bo/boehmgc/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -# doc: https://github.com/ivmai/bdwgc/blob/v8.2.8/doc/README.macros (LARGE_CONFIG) -, enableLargeConfig ? false -, enableMmap ? true -, enableStatic ? false -, nixVersions +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + # doc: https://github.com/ivmai/bdwgc/blob/v8.2.8/doc/README.macros (LARGE_CONFIG) + enableLargeConfig ? false, + enableMmap ? true, + enableStatic ? false, + nixVersions, }: stdenv.mkDerivation (finalAttrs: { @@ -20,20 +21,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-UQSLK/05uPal6/m+HMz0QwXVII1leonlmtSZsXjJ+/c="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; separateDebugInfo = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "musl"; nativeBuildInputs = [ autoreconfHook ]; - configureFlags = [ - "--enable-cplusplus" - "--with-libatomic-ops=none" - ] - ++ lib.optional enableStatic "--enable-static" - ++ lib.optional enableMmap "--enable-mmap" - ++ lib.optional enableLargeConfig "--enable-large-config"; + configureFlags = + [ + "--enable-cplusplus" + "--with-libatomic-ops=none" + ] + ++ lib.optional enableStatic "--enable-static" + ++ lib.optional enableMmap "--enable-mmap" + ++ lib.optional enableLargeConfig "--enable-large-config"; # This stanza can be dropped when a release fixes this issue: # https://github.com/ivmai/bdwgc/issues/376 @@ -41,18 +47,20 @@ stdenv.mkDerivation (finalAttrs: { # don't forget to disable the fix (and if the next release does # not fix the problem the test failure will be a reminder to # extend the set of versions requiring the workaround). - makeFlags = lib.optionals (stdenv.hostPlatform.isPower64 && - finalAttrs.version == "8.2.8") - [ - # do not use /proc primitives to track dirty bits; see: - # https://github.com/ivmai/bdwgc/issues/479#issuecomment-1279687537 - # https://github.com/ivmai/bdwgc/blob/54522af853de28f45195044dadfd795c4e5942aa/include/private/gcconfig.h#L741 - "CFLAGS_EXTRA=-DNO_SOFT_VDB" - ]; + makeFlags = lib.optionals (stdenv.hostPlatform.isPower64 && finalAttrs.version == "8.2.8") [ + # do not use /proc primitives to track dirty bits; see: + # https://github.com/ivmai/bdwgc/issues/479#issuecomment-1279687537 + # https://github.com/ivmai/bdwgc/blob/54522af853de28f45195044dadfd795c4e5942aa/include/private/gcconfig.h#L741 + "CFLAGS_EXTRA=-DNO_SOFT_VDB" + ]; # `gctest` fails under x86_64 emulation on aarch64-darwin # and also on aarch64-linux (qemu-user) - doCheck = !((stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64)); + doCheck = + !( + (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) + || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) + ); enableParallelBuilding = true; diff --git a/pkgs/by-name/bo/bogofilter/package.nix b/pkgs/by-name/bo/bogofilter/package.nix index f5fcbc831c898..e5df341474052 100644 --- a/pkgs/by-name/bo/bogofilter/package.nix +++ b/pkgs/by-name/bo/bogofilter/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, flex -, db -, makeWrapper -, pax +{ + lib, + stdenv, + fetchurl, + flex, + db, + makeWrapper, + pax, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ flex db ]; + buildInputs = [ + flex + db + ]; doCheck = false; # needs "y" tool diff --git a/pkgs/by-name/bo/boinctui/package.nix b/pkgs/by-name/bo/boinctui/package.nix index eca32ef377317..b0ff4f3483163 100644 --- a/pkgs/by-name/bo/boinctui/package.nix +++ b/pkgs/by-name/bo/boinctui/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, expat, ncurses, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + expat, + ncurses, + openssl, +}: stdenv.mkDerivation { pname = "boinctui"; @@ -17,14 +25,21 @@ stdenv.mkDerivation { --replace 'DOCDIR = $(DATAROOTDIR)@docdir@' 'DOCDIR = @docdir@' ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; separateDebugInfo = stdenv.hostPlatform.isLinux; enableParallelBuilding = true; configureFlags = [ "--without-gnutls" ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ expat ncurses openssl ]; + buildInputs = [ + expat + ncurses + openssl + ]; meta = with lib; { description = "Curses based fullscreen BOINC manager"; diff --git a/pkgs/by-name/bo/bolliedelayxt-lv2/package.nix b/pkgs/by-name/bo/bolliedelayxt-lv2/package.nix index 5fd5ec43268b7..25caec2b879a9 100644 --- a/pkgs/by-name/bo/bolliedelayxt-lv2/package.nix +++ b/pkgs/by-name/bo/bolliedelayxt-lv2/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "bolliedelayxt.lv2"; version = "unstable-2017-11-02"; diff --git a/pkgs/by-name/bo/bolt/package.nix b/pkgs/by-name/bo/bolt/package.nix index 11973ba5a5708..c63df50bf2f95 100644 --- a/pkgs/by-name/bo/bolt/package.nix +++ b/pkgs/by-name/bo/bolt/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, meson -, ninja -, pkg-config -, fetchFromGitLab -, fetchpatch -, python3 -, umockdev -, gobject-introspection -, dbus -, asciidoc -, libxml2 -, libxslt -, docbook_xml_dtd_45 -, docbook-xsl-nons -, glib -, systemd -, polkit +{ + stdenv, + lib, + meson, + ninja, + pkg-config, + fetchFromGitLab, + fetchpatch, + python3, + umockdev, + gobject-introspection, + dbus, + asciidoc, + libxml2, + libxslt, + docbook_xml_dtd_45, + docbook-xsl-nons, + glib, + systemd, + polkit, }: stdenv.mkDerivation rec { @@ -76,8 +77,11 @@ stdenv.mkDerivation rec { dbus gobject-introspection umockdev - (python3.pythonOnBuildForHost.withPackages - (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ])) + (python3.pythonOnBuildForHost.withPackages (p: [ + p.pygobject3 + p.dbus-python + p.python-dbusmock + ])) ]; postPatch = '' diff --git a/pkgs/by-name/bo/boltbrowser/package.nix b/pkgs/by-name/bo/boltbrowser/package.nix index f4603ab3b4adb..48c6c3eb93eb1 100644 --- a/pkgs/by-name/bo/boltbrowser/package.nix +++ b/pkgs/by-name/bo/boltbrowser/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/bo/bom/package.nix b/pkgs/by-name/bo/bom/package.nix index 0cdc4f6ec6e44..9a057938d5254 100644 --- a/pkgs/by-name/bo/bom/package.nix +++ b/pkgs/by-name/bo/bom/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/bo/bombadillo/package.nix b/pkgs/by-name/bo/bombadillo/package.nix index bd39100aab38b..74ae658239396 100644 --- a/pkgs/by-name/bo/bombadillo/package.nix +++ b/pkgs/by-name/bo/bombadillo/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchgit, buildGoModule, installShellFiles }: +{ + lib, + fetchgit, + buildGoModule, + installShellFiles, +}: buildGoModule rec { pname = "bombadillo"; @@ -14,7 +19,10 @@ buildGoModule rec { vendorHash = null; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postInstall = '' installManPage bombadillo.1 diff --git a/pkgs/by-name/bo/bombardier/package.nix b/pkgs/by-name/bo/bombardier/package.nix index 89f20860836c9..9c7a1f26736c5 100644 --- a/pkgs/by-name/bo/bombardier/package.nix +++ b/pkgs/by-name/bo/bombardier/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, bombardier +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + bombardier, }: buildGoModule rec { diff --git a/pkgs/by-name/bo/bomber-go/package.nix b/pkgs/by-name/bo/bomber-go/package.nix index 7857dff0302a2..97e8d4ce1531d 100644 --- a/pkgs/by-name/bo/bomber-go/package.nix +++ b/pkgs/by-name/bo/bomber-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/bo/bombono/package.nix b/pkgs/by-name/bo/bombono/package.nix index ebbdf9dbeb087..e309785aec6c2 100644 --- a/pkgs/by-name/bo/bombono/package.nix +++ b/pkgs/by-name/bo/bombono/package.nix @@ -1,22 +1,24 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, fetchpatch -, fetchpatch2 -, scons -, boost -, dvdauthor -, dvdplusrwtools -, enca -, cdrkit -, ffmpeg_6 -, gettext -, gtk2 -, gtkmm2 -, libdvdread -, libxmlxx -, mjpegtools -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + fetchpatch, + fetchpatch2, + scons, + boost, + dvdauthor, + dvdplusrwtools, + enca, + cdrkit, + ffmpeg_6, + gettext, + gtk2, + gtkmm2, + libdvdread, + libxmlxx, + mjpegtools, + wrapGAppsHook3, }: stdenv.mkDerivation { @@ -50,7 +52,12 @@ stdenv.mkDerivation { --replace "lib_mbase_env['CPPDEFINES']" "list(lib_mbase_env['CPPDEFINES'])" ''; - nativeBuildInputs = [ wrapGAppsHook3 scons pkg-config gettext ]; + nativeBuildInputs = [ + wrapGAppsHook3 + scons + pkg-config + gettext + ]; buildInputs = [ boost @@ -73,7 +80,13 @@ stdenv.mkDerivation { # fix iso authoring install -Dt $out/share/bombono/resources/scons_authoring tools/scripts/SConsTwin.py - wrapProgram $out/bin/bombono-dvd --prefix PATH : ${lib.makeBinPath [ ffmpeg_6 dvdauthor cdrkit ]} + wrapProgram $out/bin/bombono-dvd --prefix PATH : ${ + lib.makeBinPath [ + ffmpeg_6 + dvdauthor + cdrkit + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/bo/bomutils/package.nix b/pkgs/by-name/bo/bomutils/package.nix index 1b147d10ec284..ad9671ae25691 100644 --- a/pkgs/by-name/bo/bomutils/package.nix +++ b/pkgs/by-name/bo/bomutils/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bo/bonk/package.nix b/pkgs/by-name/bo/bonk/package.nix index b4a65329dc96f..7f281db1dd85a 100644 --- a/pkgs/by-name/bo/bonk/package.nix +++ b/pkgs/by-name/bo/bonk/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/bo/bonmin/package.nix b/pkgs/by-name/bo/bonmin/package.nix index 1cf64101face3..8104e34ad4bdb 100644 --- a/pkgs/by-name/bo/bonmin/package.nix +++ b/pkgs/by-name/bo/bonmin/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, fontconfig -, gfortran -, pkg-config -, blas -, bzip2 -, cbc -, clp -, doxygen -, graphviz -, ipopt -, lapack -, libamplsolver -, osi -, texliveSmall -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + gfortran, + pkg-config, + blas, + bzip2, + cbc, + clp, + doxygen, + graphviz, + ipopt, + lapack, + libamplsolver, + osi, + texliveSmall, + zlib, }: assert (!blas.isILP64) && (!lapack.isILP64); diff --git a/pkgs/by-name/bo/bonnie/package.nix b/pkgs/by-name/bo/bonnie/package.nix index a2f1c51e7e123..7d912d103504d 100644 --- a/pkgs/by-name/bo/bonnie/package.nix +++ b/pkgs/by-name/bo/bonnie/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch +{ + lib, + stdenv, + fetchurl, + fetchpatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bo/bonnmotion/package.nix b/pkgs/by-name/bo/bonnmotion/package.nix index dc77da6d7e181..502cd8c70d693 100644 --- a/pkgs/by-name/bo/bonnmotion/package.nix +++ b/pkgs/by-name/bo/bonnmotion/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchzip, substituteAll, bash, jre }: +{ + stdenv, + lib, + fetchzip, + substituteAll, + bash, + jre, +}: stdenv.mkDerivation rec { pname = "bonnmotion"; @@ -47,7 +54,7 @@ stdenv.mkDerivation rec { homepage = "https://sys.cs.uos.de/bonnmotion/"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # source bundles dependency jars + binaryBytecode # source bundles dependency jars ]; license = licenses.gpl2Plus; maintainers = with maintainers; [ oxzi ]; diff --git a/pkgs/by-name/bo/bonzomatic/package.nix b/pkgs/by-name/bo/bonzomatic/package.nix index 886e42414da13..009a82e33abcf 100644 --- a/pkgs/by-name/bo/bonzomatic/package.nix +++ b/pkgs/by-name/bo/bonzomatic/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, makeWrapper -, alsa-lib, fontconfig, mesa_glu, libXcursor, libXinerama, libXrandr, xorg +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + alsa-lib, + fontconfig, + mesa_glu, + libXcursor, + libXinerama, + libXrandr, + xorg, }: stdenv.mkDerivation rec { @@ -14,10 +24,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-hwK3C+p1hRwnuY2/vBrA0QsJGIcJatqq+U5/hzVCXEg="; }; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; buildInputs = [ - alsa-lib fontconfig mesa_glu - libXcursor libXinerama libXrandr xorg.xinput xorg.libXi xorg.libXext + alsa-lib + fontconfig + mesa_glu + libXcursor + libXinerama + libXrandr + xorg.xinput + xorg.libXi + xorg.libXext ]; postFixup = '' @@ -29,7 +49,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/gargaj/bonzomatic"; license = licenses.unlicense; maintainers = [ maintainers.ilian ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; mainProgram = "bonzomatic"; }; } diff --git a/pkgs/by-name/bo/boofuzz/package.nix b/pkgs/by-name/bo/boofuzz/package.nix index b254b9d3d191f..05e5dc7226338 100644 --- a/pkgs/by-name/bo/boofuzz/package.nix +++ b/pkgs/by-name/bo/boofuzz/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -41,14 +42,16 @@ python3.pkgs.buildPythonApplication rec { pytestCheckHook ]; - disabledTests = [ - "TestNetworkMonitor" - "TestNoResponseFailure" - "TestProcessMonitor" - "TestSocketConnection" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "test_time_repeater" - ]; + disabledTests = + [ + "TestNetworkMonitor" + "TestNoResponseFailure" + "TestProcessMonitor" + "TestSocketConnection" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "test_time_repeater" + ]; pythonImportsCheck = [ "boofuzz" diff --git a/pkgs/by-name/bo/boohu/package.nix b/pkgs/by-name/bo/boohu/package.nix index 14aa6d43a5870..e6b7b1bbe010d 100644 --- a/pkgs/by-name/bo/boohu/package.nix +++ b/pkgs/by-name/bo/boohu/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildGoModule }: +{ + lib, + fetchurl, + buildGoModule, +}: buildGoModule rec { pname = "boohu"; @@ -11,7 +15,10 @@ buildGoModule rec { vendorHash = "sha256-AVK4zE/Hs9SN8Qj2WYj/am2B0R74QKYoMNf3sRRjnU4="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "New coffee-break roguelike game"; diff --git a/pkgs/by-name/bo/book-summary/package.nix b/pkgs/by-name/bo/book-summary/package.nix index 374c107f9a3df..70244b9907eb6 100644 --- a/pkgs/by-name/bo/book-summary/package.nix +++ b/pkgs/by-name/bo/book-summary/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/bo/bookworm/package.nix b/pkgs/by-name/bo/bookworm/package.nix index 48ad4ce47244e..5f8345bd6ab7e 100644 --- a/pkgs/by-name/bo/bookworm/package.nix +++ b/pkgs/by-name/bo/bookworm/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream -, coreutils -, curl -, desktop-file-utils -, glib -, gnugrep -, gobject-introspection -, gtk3 -, html2text -, libgee -, libxml2 -, meson -, ninja -, pantheon -, pkg-config -, poppler -, poppler_utils -, python3 -, sqlite -, unar -, unzip -, vala -, webkitgtk_4_0 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + appstream, + coreutils, + curl, + desktop-file-utils, + glib, + gnugrep, + gobject-introspection, + gtk3, + html2text, + libgee, + libxml2, + meson, + ninja, + pantheon, + pkg-config, + poppler, + poppler_utils, + python3, + sqlite, + unar, + unzip, + vala, + webkitgtk_4_0, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -70,7 +71,17 @@ stdenv.mkDerivation rec { # These programs are expected in PATH from the source code and scripts preFixup = '' gappsWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [ unzip unar poppler_utils html2text coreutils curl gnugrep ]}" + --prefix PATH : "${ + lib.makeBinPath [ + unzip + unar + poppler_utils + html2text + coreutils + curl + gnugrep + ] + }" --prefix PATH : $out/bin ) ''; diff --git a/pkgs/by-name/bo/boolector/package.nix b/pkgs/by-name/bo/boolector/package.nix index 30e3cf5002114..d9c6d5de82cce 100644 --- a/pkgs/by-name/bo/boolector/package.nix +++ b/pkgs/by-name/bo/boolector/package.nix @@ -1,5 +1,14 @@ -{ stdenv, fetchFromGitHub, lib, python3, fetchpatch -, cmake, lingeling, btor2tools, gtest, gmp +{ + stdenv, + fetchFromGitHub, + lib, + python3, + fetchpatch, + cmake, + lingeling, + btor2tools, + gtest, + gmp, }: stdenv.mkDerivation rec { @@ -7,10 +16,10 @@ stdenv.mkDerivation rec { version = "3.2.3"; src = fetchFromGitHub { - owner = "boolector"; - repo = "boolector"; - rev = version; - hash = "sha256-CdfpXUbU1+yEmrNyl+hvHlJfpzzzx356naim6vRafDg="; + owner = "boolector"; + repo = "boolector"; + rev = version; + hash = "sha256-CdfpXUbU1+yEmrNyl+hvHlJfpzzzx356naim6vRafDg="; }; patches = [ @@ -22,29 +31,38 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake gtest ]; - buildInputs = [ lingeling btor2tools gmp ]; + nativeBuildInputs = [ + cmake + gtest + ]; + buildInputs = [ + lingeling + btor2tools + gmp + ]; - cmakeFlags = - [ "-DBUILD_SHARED_LIBS=ON" - "-DUSE_LINGELING=YES" - "-DBtor2Tools_INCLUDE_DIR=${btor2tools.dev}/include/btor2parser" - ] ++ (lib.optional (gmp != null) "-DUSE_GMP=YES"); + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DUSE_LINGELING=YES" + "-DBtor2Tools_INCLUDE_DIR=${btor2tools.dev}/include/btor2parser" + ] ++ (lib.optional (gmp != null) "-DUSE_GMP=YES"); nativeCheckInputs = [ python3 ]; doCheck = true; preCheck = - let var = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + let + var = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; in - # tests modelgen and modelgensmt2 spawn boolector in another processes and - # macOS strips DYLD_LIBRARY_PATH, hardcode it for testing - lib.optionalString stdenv.hostPlatform.isDarwin '' - cp -r bin bin.back - install_name_tool -change libboolector.dylib $(pwd)/lib/libboolector.dylib bin/boolector - '' + '' - export ${var}=$(readlink -f lib) - patchShebangs .. - ''; + # tests modelgen and modelgensmt2 spawn boolector in another processes and + # macOS strips DYLD_LIBRARY_PATH, hardcode it for testing + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp -r bin bin.back + install_name_tool -change libboolector.dylib $(pwd)/lib/libboolector.dylib bin/boolector + '' + + '' + export ${var}=$(readlink -f lib) + patchShebangs .. + ''; postCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' rm -rf bin @@ -59,9 +77,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Extremely fast SMT solver for bit-vectors and arrays"; - homepage = "https://boolector.github.io"; - license = licenses.mit; - platforms = with platforms; linux ++ darwin; + homepage = "https://boolector.github.io"; + license = licenses.mit; + platforms = with platforms; linux ++ darwin; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/bo/boolstuff/package.nix b/pkgs/by-name/bo/boolstuff/package.nix index c54cffb528516..1f8495be5519f 100644 --- a/pkgs/by-name/bo/boolstuff/package.nix +++ b/pkgs/by-name/bo/boolstuff/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pkg-config }: +{ + lib, + stdenv, + fetchurl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "boolstuff"; version = "0.1.17"; diff --git a/pkgs/by-name/bo/boops/package.nix b/pkgs/by-name/bo/boops/package.nix index 2f4156675392e..8e5cfe9865ea6 100644 --- a/pkgs/by-name/bo/boops/package.nix +++ b/pkgs/by-name/bo/boops/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, xorg, cairo, lv2, libsndfile, pkg-config }: +{ + stdenv, + lib, + fetchFromGitHub, + xorg, + cairo, + lv2, + libsndfile, + pkg-config, +}: stdenv.mkDerivation rec { pname = "boops"; @@ -13,7 +22,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 cairo lv2 libsndfile + xorg.libX11 + cairo + lv2 + libsndfile ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bo/boost-build/package.nix b/pkgs/by-name/bo/boost-build/package.nix index 25911809695e7..89eefca6ba250 100644 --- a/pkgs/by-name/bo/boost-build/package.nix +++ b/pkgs/by-name/bo/boost-build/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, bison -# boost derivation to use for the src and version. -# This is used by the boost derivation to build -# a b2 matching their version (by overriding this -# argument). Infinite recursion is not an issue -# since we only look at src and version of boost. -, useBoost ? {} +{ + lib, + stdenv, + fetchFromGitHub, + bison, + # boost derivation to use for the src and version. + # This is used by the boost derivation to build + # a b2 matching their version (by overriding this + # argument). Infinite recursion is not an issue + # since we only look at src and version of boost. + useBoost ? { }, }: let @@ -16,36 +17,40 @@ in stdenv.mkDerivation { pname = "boost-build"; - version = - if useBoost ? version - then "boost-${useBoost.version}" - else defaultVersion; + version = if useBoost ? version then "boost-${useBoost.version}" else defaultVersion; - src = useBoost.src or (fetchFromGitHub { - owner = "boostorg"; - repo = "build"; - rev = defaultVersion; - sha256 = "1r4rwlq87ydmsdqrik4ly5iai796qalvw7603mridg2nwcbbnf54"; - }); + src = + useBoost.src or (fetchFromGitHub { + owner = "boostorg"; + repo = "build"; + rev = defaultVersion; + sha256 = "1r4rwlq87ydmsdqrik4ly5iai796qalvw7603mridg2nwcbbnf54"; + }); # b2 is in a subdirectory of boost source tarballs postUnpack = lib.optionalString (useBoost ? src) '' sourceRoot="$sourceRoot/tools/build" ''; - patches = useBoost.boostBuildPatches or [] - ++ lib.optional (useBoost ? version && lib.versionAtLeast useBoost.version "1.81") ./fix-clang-target.patch; + patches = + useBoost.boostBuildPatches or [ ] + ++ lib.optional ( + useBoost ? version && lib.versionAtLeast useBoost.version "1.81" + ) ./fix-clang-target.patch; - postPatch = lib.optionalString (useBoost ? version && lib.versionAtLeast useBoost.version "1.80") '' - # Upstream uses arm64, but nixpkgs uses aarch64. - substituteInPlace src/tools/clang.jam \ - --replace-fail 'arch = arm64' 'arch = aarch64' - '' + lib.optionalString (useBoost ? version && lib.versionOlder useBoost.version "1.77") '' - substituteInPlace src/build-system.jam \ - --replace-fail "default-toolset = darwin" "default-toolset = clang-darwin" - '' + lib.optionalString (useBoost ? version && lib.versionAtLeast useBoost.version "1.82") '' - patchShebangs --build src/engine/build.sh - ''; + postPatch = + lib.optionalString (useBoost ? version && lib.versionAtLeast useBoost.version "1.80") '' + # Upstream uses arm64, but nixpkgs uses aarch64. + substituteInPlace src/tools/clang.jam \ + --replace-fail 'arch = arm64' 'arch = aarch64' + '' + + lib.optionalString (useBoost ? version && lib.versionOlder useBoost.version "1.77") '' + substituteInPlace src/build-system.jam \ + --replace-fail "default-toolset = darwin" "default-toolset = clang-darwin" + '' + + lib.optionalString (useBoost ? version && lib.versionAtLeast useBoost.version "1.82") '' + patchShebangs --build src/engine/build.sh + ''; nativeBuildInputs = [ bison diff --git a/pkgs/by-name/bo/boost-sml/package.nix b/pkgs/by-name/bo/boost-sml/package.nix index 7987629b60d3b..1817a64b53715 100644 --- a/pkgs/by-name/bo/boost-sml/package.nix +++ b/pkgs/by-name/bo/boost-sml/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, cmake -, fetchFromGitHub -, boost +{ + stdenv, + lib, + cmake, + fetchFromGitHub, + boost, }: stdenv.mkDerivation rec { @@ -36,4 +37,3 @@ stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/bo/boot/package.nix b/pkgs/by-name/bo/boot/package.nix index dd296aa83188e..a89623da102c8 100644 --- a/pkgs/by-name/bo/boot/package.nix +++ b/pkgs/by-name/bo/boot/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jdk }: +{ + lib, + stdenv, + fetchurl, + jdk, +}: stdenv.mkDerivation rec { version = "2.7.2"; diff --git a/pkgs/by-name/bo/bootil/package.nix b/pkgs/by-name/bo/bootil/package.nix index dab559afdace4..a3157202b36dc 100644 --- a/pkgs/by-name/bo/bootil/package.nix +++ b/pkgs/by-name/bo/bootil/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, premake4 +{ + lib, + stdenv, + fetchFromGitHub, + premake4, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/bo/bootiso/package.nix b/pkgs/by-name/bo/bootiso/package.nix index 243989d049489..8b54e2ace61dd 100644 --- a/pkgs/by-name/bo/bootiso/package.nix +++ b/pkgs/by-name/bo/bootiso/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchpatch -, bash -, makeWrapper -, bc -, jq -, coreutils -, util-linux -, wimlib -, file -, syslinux -, busybox -, gnugrep # We can't use busybox's 'grep' as it doesn't support perl '-P' expressions. +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + bash, + makeWrapper, + bc, + jq, + coreutils, + util-linux, + wimlib, + file, + syslinux, + busybox, + gnugrep, # We can't use busybox's 'grep' as it doesn't support perl '-P' expressions. }: stdenvNoCC.mkDerivation rec { @@ -47,7 +48,19 @@ stdenvNoCC.mkDerivation rec { postInstall = '' wrapProgram $out/bin/bootiso \ - --prefix PATH : ${lib.makeBinPath [ bc jq coreutils util-linux wimlib file syslinux gnugrep busybox ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + bc + jq + coreutils + util-linux + wimlib + file + syslinux + gnugrep + busybox + ] + } \ ''; meta = with lib; { diff --git a/pkgs/by-name/bo/bootspec/package.nix b/pkgs/by-name/bo/bootspec/package.nix index 2ffa6c47ab09e..1a01eb2b3a17a 100644 --- a/pkgs/by-name/bo/bootspec/package.nix +++ b/pkgs/by-name/bo/bootspec/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, fetchpatch +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch, }: rustPlatform.buildRustPackage rec { pname = "bootspec"; diff --git a/pkgs/by-name/bo/borealis-cursors/package.nix b/pkgs/by-name/bo/borealis-cursors/package.nix index e88f5fb72269f..7d1b99953ad4f 100644 --- a/pkgs/by-name/bo/borealis-cursors/package.nix +++ b/pkgs/by-name/bo/borealis-cursors/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bo/borg-sans-mono/package.nix b/pkgs/by-name/bo/borg-sans-mono/package.nix index 8037e5dc645f9..2341003ae24aa 100644 --- a/pkgs/by-name/bo/borg-sans-mono/package.nix +++ b/pkgs/by-name/bo/borg-sans-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "borg-sans-mono"; diff --git a/pkgs/by-name/bo/borgbackup/package.nix b/pkgs/by-name/bo/borgbackup/package.nix index e0c148108362a..cdff7c1cd067b 100644 --- a/pkgs/by-name/bo/borgbackup/package.nix +++ b/pkgs/by-name/bo/borgbackup/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, acl -, e2fsprogs -, fetchFromGitHub -, libb2 -, lz4 -, openssh -, openssl -, python3 -, xxHash -, zstd -, installShellFiles -, nixosTests +{ + lib, + stdenv, + acl, + e2fsprogs, + fetchFromGitHub, + libb2, + lz4, + openssh, + openssl, + python3, + xxHash, + zstd, + installShellFiles, + nixosTests, }: let @@ -50,18 +51,23 @@ python.pkgs.buildPythonApplication rec { installShellFiles ]; - sphinxBuilders = [ "singlehtml" "man" ]; - - buildInputs = [ - libb2 - lz4 - xxHash - zstd - openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - acl + sphinxBuilders = [ + "singlehtml" + "man" ]; + buildInputs = + [ + libb2 + lz4 + xxHash + zstd + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + acl + ]; + dependencies = with python.pkgs; [ msgpack packaging @@ -89,7 +95,8 @@ python.pkgs.buildPythonApplication rec { pytestFlagsArray = [ "--benchmark-skip" - "--pyargs" "borg.testsuite" + "--pyargs" + "borg.testsuite" ]; disabledTests = [ @@ -118,7 +125,11 @@ python.pkgs.buildPythonApplication rec { inherit (nixosTests) borgbackup; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; disabled = python.pythonOlder "3.9"; @@ -129,6 +140,9 @@ python.pkgs.buildPythonApplication rec { license = licenses.bsd3; platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage mainProgram = "borg"; - maintainers = with maintainers; [ dotlambda globin ]; + maintainers = with maintainers; [ + dotlambda + globin + ]; }; } diff --git a/pkgs/by-name/bo/borgmatic/package.nix b/pkgs/by-name/bo/borgmatic/package.nix index 8a55cef2b9d2c..9bfa633e63e55 100644 --- a/pkgs/by-name/bo/borgmatic/package.nix +++ b/pkgs/by-name/bo/borgmatic/package.nix @@ -21,7 +21,14 @@ python3Packages.buildPythonApplication rec { hash = "sha256-WYs7wiwZ1TvTdeUpWv7FbREXWfdGcYRarP4FXFOfp0Y="; }; - nativeCheckInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ] ++ optional-dependencies.apprise; + nativeCheckInputs = + with python3Packages; + [ + flexmock + pytestCheckHook + pytest-cov + ] + ++ optional-dependencies.apprise; # - test_borgmatic_version_matches_news_version # The file NEWS not available on the pypi source, and this test is useless @@ -45,20 +52,22 @@ python3Packages.buildPythonApplication rec { apprise = [ python3Packages.apprise ]; }; - postInstall = '' - installShellCompletion --cmd borgmatic \ - --bash <($out/bin/borgmatic --bash-completion) - '' + lib.optionalString enableSystemd '' - mkdir -p $out/lib/systemd/system - cp sample/systemd/borgmatic.timer $out/lib/systemd/system/ - # there is another "sleep", so choose the one with the space after it - # due to https://github.com/borgmatic-collective/borgmatic/commit/2e9f70d49647d47fb4ca05f428c592b0e4319544 - substitute sample/systemd/borgmatic.service \ - $out/lib/systemd/system/borgmatic.service \ - --replace /root/.local/bin/borgmatic $out/bin/borgmatic \ - --replace systemd-inhibit ${systemd}/bin/systemd-inhibit \ - --replace "sleep " "${coreutils}/bin/sleep " - ''; + postInstall = + '' + installShellCompletion --cmd borgmatic \ + --bash <($out/bin/borgmatic --bash-completion) + '' + + lib.optionalString enableSystemd '' + mkdir -p $out/lib/systemd/system + cp sample/systemd/borgmatic.timer $out/lib/systemd/system/ + # there is another "sleep", so choose the one with the space after it + # due to https://github.com/borgmatic-collective/borgmatic/commit/2e9f70d49647d47fb4ca05f428c592b0e4319544 + substitute sample/systemd/borgmatic.service \ + $out/lib/systemd/system/borgmatic.service \ + --replace /root/.local/bin/borgmatic $out/bin/borgmatic \ + --replace systemd-inhibit ${systemd}/bin/systemd-inhibit \ + --replace "sleep " "${coreutils}/bin/sleep " + ''; passthru.tests = { version = testers.testVersion { package = borgmatic; }; @@ -72,6 +81,9 @@ python3Packages.buildPythonApplication rec { homepage = "https://torsion.org/borgmatic/"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ imlonghao x123 ]; + maintainers = with lib.maintainers; [ + imlonghao + x123 + ]; }; } diff --git a/pkgs/by-name/bo/boringssl/package.nix b/pkgs/by-name/bo/boringssl/package.nix index 68ca686403aea..9c8ea8edad61f 100644 --- a/pkgs/by-name/bo/boringssl/package.nix +++ b/pkgs/by-name/bo/boringssl/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchgit -, cmake -, ninja -, perl -, buildGoModule +{ + lib, + stdenv, + fetchgit, + cmake, + ninja, + perl, + buildGoModule, }: # reference: https://boringssl.googlesource.com/boringssl/+/2661/BUILDING.md @@ -18,30 +19,40 @@ buildGoModule { hash = "sha256-TdSObRECiGRQcgz6N2LhKvSi9yRYOZYJdK6MyfJX2Bo="; }; - nativeBuildInputs = [ cmake ninja perl ]; + nativeBuildInputs = [ + cmake + ninja + perl + ]; vendorHash = "sha256-GlhLsPD+yp2LdqsIsfXNEaNKKlc76p0kBCyu4rlEmMg="; proxyVendor = true; # hack to get both go and cmake configure phase # (if we use postConfigure then cmake will loop runHook postConfigure) - preBuild = '' - cmakeConfigurePhase - '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - export GOARCH=$(go env GOHOSTARCH) - ''; + preBuild = + '' + cmakeConfigurePhase + '' + + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + export GOARCH=$(go env GOHOSTARCH) + ''; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [ - # Needed with GCC 12 but breaks on darwin (with clang) - "-Wno-error=stringop-overflow" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 12 but breaks on darwin (with clang) + "-Wno-error=stringop-overflow" + ] + ); buildPhase = '' ninjaBuildPhase ''; # CMAKE_OSX_ARCHITECTURES is set to x86_64 by Nix, but it confuses boringssl on aarch64-linux. - cmakeFlags = [ "-GNinja" ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ "-DCMAKE_OSX_ARCHITECTURES=" ]; + cmakeFlags = [ + "-GNinja" + ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ "-DCMAKE_OSX_ARCHITECTURES=" ]; installPhase = '' mkdir -p $bin/bin $dev $out/lib @@ -55,13 +66,22 @@ buildGoModule { mv ../include $dev ''; - outputs = [ "out" "bin" "dev" ]; + outputs = [ + "out" + "bin" + "dev" + ]; meta = with lib; { description = "Free TLS/SSL implementation"; mainProgram = "bssl"; - homepage = "https://boringssl.googlesource.com"; + homepage = "https://boringssl.googlesource.com"; maintainers = [ maintainers.thoughtpolice ]; - license = with licenses; [ openssl isc mit bsd3 ]; + license = with licenses; [ + openssl + isc + mit + bsd3 + ]; }; } diff --git a/pkgs/by-name/bo/boringtun/package.nix b/pkgs/by-name/bo/boringtun/package.nix index 30bb243454f8d..1c9bb07062bf0 100644 --- a/pkgs/by-name/bo/boringtun/package.nix +++ b/pkgs/by-name/bo/boringtun/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "boringtun"; diff --git a/pkgs/by-name/bo/boron/package.nix b/pkgs/by-name/bo/boron/package.nix index e6570c2e89194..a7b278ba50b51 100644 --- a/pkgs/by-name/bo/boron/package.nix +++ b/pkgs/by-name/bo/boron/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, zlib +{ + lib, + stdenv, + fetchurl, + zlib, }: stdenv.mkDerivation rec { @@ -28,7 +29,10 @@ stdenv.mkDerivation rec { zlib ]; - installTargets = [ "install" "install-dev" ]; + installTargets = [ + "install" + "install-dev" + ]; doCheck = true; @@ -46,4 +50,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ mausch ]; }; } - diff --git a/pkgs/by-name/bo/bosh-cli/package.nix b/pkgs/by-name/bo/bosh-cli/package.nix index ac3b5e4f5fe0e..15e88ef060f1e 100644 --- a/pkgs/by-name/bo/bosh-cli/package.nix +++ b/pkgs/by-name/bo/bosh-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, makeWrapper -, openssh +{ + lib, + fetchFromGitHub, + buildGoModule, + makeWrapper, + openssh, }: buildGoModule rec { diff --git a/pkgs/by-name/bo/bosun/package.nix b/pkgs/by-name/bo/bosun/package.nix index 3158f9b2424b9..65de68f8250c5 100644 --- a/pkgs/by-name/bo/bosun/package.nix +++ b/pkgs/by-name/bo/bosun/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, buildGoModule }: +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, +}: buildGoModule { pname = "bosun"; @@ -13,9 +18,15 @@ buildGoModule { vendorHash = "sha256-5mVI5cyuIB+6KHlTpDxSNGU7yBsGQC4IA+iDgvVFVZM="; - subPackages = [ "cmd/bosun" "cmd/scollector" ]; + subPackages = [ + "cmd/bosun" + "cmd/scollector" + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Time Series Alerting Framework"; diff --git a/pkgs/by-name/bo/botamusique/package.nix b/pkgs/by-name/bo/botamusique/package.nix index 86cb6e2229455..7f46613e2b417 100644 --- a/pkgs/by-name/bo/botamusique/package.nix +++ b/pkgs/by-name/bo/botamusique/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3Packages -, ffmpeg-headless -, makeWrapper -, nixosTests -, nodejs -, npmHooks -, fetchNpmDeps - -# For the update script -, coreutils -, curl -, nix-prefetch-git -, prefetch-npm-deps -, jq -, writeShellScript +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + ffmpeg-headless, + makeWrapper, + nixosTests, + nodejs, + npmHooks, + fetchNpmDeps, + + # For the update script + coreutils, + curl, + nix-prefetch-git, + prefetch-npm-deps, + jq, + writeShellScript, }: let srcJson = lib.importJSON ./src.json; @@ -121,7 +122,15 @@ stdenv.mkDerivation rec { ''; passthru.updateScript = writeShellScript "botamusique-updater" '' - export PATH=${lib.makeBinPath [ coreutils curl nix-prefetch-git jq prefetch-npm-deps ]} + export PATH=${ + lib.makeBinPath [ + coreutils + curl + nix-prefetch-git + jq + prefetch-npm-deps + ] + } set -ex OWNER=azlux diff --git a/pkgs/by-name/bo/bottom-rs/package.nix b/pkgs/by-name/bo/bottom-rs/package.nix index d9d2ab079c7b4..46172fd039fde 100644 --- a/pkgs/by-name/bo/bottom-rs/package.nix +++ b/pkgs/by-name/bo/bottom-rs/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "bottom-rs"; diff --git a/pkgs/by-name/bo/bowtie/package.nix b/pkgs/by-name/bo/bowtie/package.nix index 2009788ead6a5..b9b539e8db491 100644 --- a/pkgs/by-name/bo/bowtie/package.nix +++ b/pkgs/by-name/bo/bowtie/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + zlib, +}: stdenv.mkDerivation rec { pname = "bowtie"; diff --git a/pkgs/by-name/bo/bowtie2/package.nix b/pkgs/by-name/bo/bowtie2/package.nix index 2a1358f2e5b77..519913e6ef1b5 100644 --- a/pkgs/by-name/bo/bowtie2/package.nix +++ b/pkgs/by-name/bo/bowtie2/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, perl -, python3 -, tbb -, zlib -, runCommand -, bowtie2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + perl, + python3, + tbb, + zlib, + runCommand, + bowtie2, }: stdenv.mkDerivation (finalAttrs: { @@ -32,9 +33,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = [ tbb zlib python3 perl ]; + buildInputs = [ + tbb + zlib + python3 + perl + ]; - cmakeFlags = lib.optional (!stdenv.hostPlatform.isx86) ["-DCMAKE_CXX_FLAGS=-I${finalAttrs.src}/third_party"]; + cmakeFlags = lib.optional (!stdenv.hostPlatform.isx86) [ + "-DCMAKE_CXX_FLAGS=-I${finalAttrs.src}/third_party" + ]; # ctest fails because of missing dependencies between tests doCheck = false; diff --git a/pkgs/by-name/bo/boxbuddy/package.nix b/pkgs/by-name/bo/boxbuddy/package.nix index 37b5a7acc26bb..724f45587f78e 100644 --- a/pkgs/by-name/bo/boxbuddy/package.nix +++ b/pkgs/by-name/bo/boxbuddy/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, libadwaita -, distrobox +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + libadwaita, + distrobox, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/bo/boxed-cpp/package.nix b/pkgs/by-name/bo/boxed-cpp/package.nix index 3ce5a5c9c6084..a6ba4a21e10f3 100644 --- a/pkgs/by-name/bo/boxed-cpp/package.nix +++ b/pkgs/by-name/bo/boxed-cpp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, catch2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + catch2, +}: stdenv.mkDerivation (final: { pname = "boxed-cpp"; diff --git a/pkgs/by-name/bo/boxes/package.nix b/pkgs/by-name/bo/boxes/package.nix index d7ef551548053..fcbdaf6277897 100644 --- a/pkgs/by-name/bo/boxes/package.nix +++ b/pkgs/by-name/bo/boxes/package.nix @@ -1,4 +1,13 @@ -{ lib, gccStdenv, fetchFromGitHub, bison, flex, pcre2, libunistring, ncurses }: +{ + lib, + gccStdenv, + fetchFromGitHub, + bison, + flex, + pcre2, + libunistring, + ncurses, +}: gccStdenv.mkDerivation rec { pname = "boxes"; @@ -13,9 +22,16 @@ gccStdenv.mkDerivation rec { # Building instructions: # https://boxes.thomasjensen.com/build.html#building-on-linux--unix - nativeBuildInputs = [ bison flex ]; - - buildInputs = [ pcre2 libunistring ncurses ]; + nativeBuildInputs = [ + bison + flex + ]; + + buildInputs = [ + pcre2 + libunistring + ncurses + ]; dontConfigure = true; diff --git a/pkgs/by-name/bo/boxfort/package.nix b/pkgs/by-name/bo/boxfort/package.nix index 855f86a3c36f9..65ab07307b420 100644 --- a/pkgs/by-name/bo/boxfort/package.nix +++ b/pkgs/by-name/bo/boxfort/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + python3Packages, +}: stdenv.mkDerivation rec { pname = "boxfort"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "jmtWTOkOlqVZ7tFya3IrQjr714Y8TzAVY5Cq+RzDuRs="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; preConfigure = '' patchShebangs ci/isdir.py @@ -21,13 +31,19 @@ stdenv.mkDerivation rec { doCheck = true; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; meta = with lib; { description = "Convenient & cross-platform sandboxing C library"; homepage = "https://github.com/Snaipe/BoxFort"; license = licenses.mit; - maintainers = with maintainers; [ thesola10 Yumasi ]; + maintainers = with maintainers; [ + thesola10 + Yumasi + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/bo/boxfs/package.nix b/pkgs/by-name/bo/boxfs/package.nix index b12966541c997..b1d699928dbc0 100644 --- a/pkgs/by-name/bo/boxfs/package.nix +++ b/pkgs/by-name/bo/boxfs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, curl, fuse, libxml2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + fuse, + libxml2, + pkg-config, +}: let srcs = { @@ -21,7 +29,8 @@ let owner = "vincenthz"; }; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "boxfs"; version = "2-20150109"; @@ -37,7 +46,11 @@ in stdenv.mkDerivation { ./libapp-include-ctype.diff ]; - buildInputs = [ curl fuse libxml2 ]; + buildInputs = [ + curl + fuse + libxml2 + ]; nativeBuildInputs = [ pkg-config ]; buildFlags = [ diff --git a/pkgs/by-name/bo/boxxy/package.nix b/pkgs/by-name/bo/boxxy/package.nix index 845ccf532b8eb..03b2d1030ac77 100644 --- a/pkgs/by-name/bo/boxxy/package.nix +++ b/pkgs/by-name/bo/boxxy/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, oniguruma -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + oniguruma, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -35,7 +36,10 @@ rustPlatform.buildRustPackage rec { description = "Puts bad Linux applications in a box with only their files"; homepage = "https://github.com/queer/boxxy"; license = licenses.mit; - maintainers = with maintainers; [ dit7ya figsoda ]; + maintainers = with maintainers; [ + dit7ya + figsoda + ]; platforms = platforms.linux; broken = stdenv.hostPlatform.isAarch64; mainProgram = "boxxy"; diff --git a/pkgs/by-name/bp/bpf-linker/package.nix b/pkgs/by-name/bp/bpf-linker/package.nix index 8c044c58622c8..721c910d78336 100644 --- a/pkgs/by-name/bp/bpf-linker/package.nix +++ b/pkgs/by-name/bp/bpf-linker/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, llvmPackages_19 -, zlib -, ncurses -, libxml2 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + llvmPackages_19, + zlib, + ncurses, + libxml2, }: rustPlatform.buildRustPackage rec { @@ -29,7 +30,11 @@ rustPlatform.buildRustPackage rec { buildNoDefaultFeatures = true; nativeBuildInputs = [ llvmPackages_19.llvm ]; - buildInputs = [ zlib ncurses libxml2 ]; + buildInputs = [ + zlib + ncurses + libxml2 + ]; # fails with: couldn't find crate `core` with expected target triple bpfel-unknown-none # rust-src and `-Z build-std=core` are required to properly run the tests @@ -39,7 +44,10 @@ rustPlatform.buildRustPackage rec { description = "Simple BPF static linker"; mainProgram = "bpf-linker"; homepage = "https://github.com/aya-rs/bpf-linker"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ nickcao ]; # llvm-sys crate locates llvm by calling llvm-config # which is not available when cross compiling diff --git a/pkgs/by-name/bp/bpfmon/package.nix b/pkgs/by-name/bp/bpfmon/package.nix index f502bfab45ce4..b1858b012c1b3 100644 --- a/pkgs/by-name/bp/bpfmon/package.nix +++ b/pkgs/by-name/bp/bpfmon/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, libpcap -, yascreen +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + yascreen, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bp/bpftools/package.nix b/pkgs/by-name/bp/bpftools/package.nix index eda3fe62fa804..8ed9b2723d188 100644 --- a/pkgs/by-name/bp/bpftools/package.nix +++ b/pkgs/by-name/bp/bpftools/package.nix @@ -1,9 +1,17 @@ -{ lib, stdenv, linuxHeaders -, libopcodes, libopcodes_2_38 -, libbfd, libbfd_2_38 -, elfutils, readline -, zlib -, python3, bison, flex +{ + lib, + stdenv, + linuxHeaders, + libopcodes, + libopcodes_2_38, + libbfd, + libbfd_2_38, + elfutils, + readline, + zlib, + python3, + bison, + flex, }: stdenv.mkDerivation rec { @@ -18,11 +26,29 @@ stdenv.mkDerivation rec { ./include-asm-types-for-ppc64le.patch ]; - nativeBuildInputs = [ python3 bison flex ]; - buildInputs = (if (lib.versionAtLeast version "5.20") - then [ libopcodes libbfd ] - else [ libopcodes_2_38 libbfd_2_38 ]) - ++ [ elfutils zlib readline ]; + nativeBuildInputs = [ + python3 + bison + flex + ]; + buildInputs = + ( + if (lib.versionAtLeast version "5.20") then + [ + libopcodes + libbfd + ] + else + [ + libopcodes_2_38 + libbfd_2_38 + ] + ) + ++ [ + elfutils + zlib + readline + ]; preConfigure = '' patchShebangs scripts/bpf_doc.py @@ -34,7 +60,11 @@ stdenv.mkDerivation rec { --replace '/sbin' '/bin' ''; - buildFlags = [ "bpftool" "bpf_asm" "bpf_dbg" ]; + buildFlags = [ + "bpftool" + "bpf_asm" + "bpf_dbg" + ]; installPhase = '' make -C bpftool install @@ -43,10 +73,13 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://github.com/libbpf/bpftool"; + homepage = "https://github.com/libbpf/bpftool"; description = "Debugging/program analysis tools for the eBPF subsystem"; - license = [ licenses.gpl2Only licenses.bsd2 ]; - platforms = platforms.linux; + license = [ + licenses.gpl2Only + licenses.bsd2 + ]; + platforms = platforms.linux; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/bp/bpftrace/package.nix b/pkgs/by-name/bp/bpftrace/package.nix index d4002ac1fb6dd..129f62375eed3 100644 --- a/pkgs/by-name/bp/bpftrace/package.nix +++ b/pkgs/by-name/bp/bpftrace/package.nix @@ -1,11 +1,23 @@ -{ lib, stdenv, fetchFromGitHub -, llvmPackages, elfutils, bcc -, libbpf, libbfd, libopcodes, glibc -, cereal, asciidoctor -, cmake, pkg-config, flex, bison -, util-linux -, fetchpatch -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + llvmPackages, + elfutils, + bcc, + libbpf, + libbfd, + libopcodes, + glibc, + cereal, + asciidoctor, + cmake, + pkg-config, + flex, + bison, + util-linux, + fetchpatch, + nixosTests, }: stdenv.mkDerivation rec { @@ -14,21 +26,28 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "bpftrace"; - repo = "bpftrace"; - rev = "v${version}"; - hash = "sha256-/2m+5iFE7R+ZEc/VcgWAhkLD/jEK88roUUOUyYODi0U="; + repo = "bpftrace"; + rev = "v${version}"; + hash = "sha256-/2m+5iFE7R+ZEc/VcgWAhkLD/jEK88roUUOUyYODi0U="; }; - buildInputs = with llvmPackages; [ - llvm libclang - elfutils bcc - libbpf libbfd libopcodes - cereal asciidoctor + llvm + libclang + elfutils + bcc + libbpf + libbfd + libopcodes + cereal + asciidoctor ]; nativeBuildInputs = [ - cmake pkg-config flex bison + cmake + pkg-config + flex + bison llvmPackages.llvm.dev util-linux ]; @@ -68,7 +87,10 @@ stdenv.mkDerivation rec { sed -i -e "1s:#!/usr/bin/env bpftrace:#!$out/bin/bpftrace:" $out/share/bpftrace/tools/*.bt ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; passthru.tests = { bpf = nixosTests.bpf; @@ -76,11 +98,16 @@ stdenv.mkDerivation rec { meta = with lib; { description = "High-level tracing language for Linux eBPF"; - homepage = "https://github.com/bpftrace/bpftrace"; - changelog = "https://github.com/bpftrace/bpftrace/releases/tag/v${version}"; + homepage = "https://github.com/bpftrace/bpftrace"; + changelog = "https://github.com/bpftrace/bpftrace/releases/tag/v${version}"; mainProgram = "bpftrace"; - license = licenses.asl20; - maintainers = with maintainers; [ rvl thoughtpolice martinetd mfrw ]; - platforms = platforms.linux; + license = licenses.asl20; + maintainers = with maintainers; [ + rvl + thoughtpolice + martinetd + mfrw + ]; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/bp/bpftune/package.nix b/pkgs/by-name/bp/bpftune/package.nix index 3ba11b746f4fd..30a9a9bc5e969 100644 --- a/pkgs/by-name/bp/bpftune/package.nix +++ b/pkgs/by-name/bp/bpftune/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, clang -, bpftools -, docutils -, libbpf -, libcap -, libnl -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + clang, + bpftools, + docutils, + libbpf, + libcap, + libnl, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bp/bpm-tools/package.nix b/pkgs/by-name/bp/bpm-tools/package.nix index 2a9dbcb82e18d..b3d7d8f7aceb8 100644 --- a/pkgs/by-name/bp/bpm-tools/package.nix +++ b/pkgs/by-name/bp/bpm-tools/package.nix @@ -1,16 +1,23 @@ -{ stdenv -, lib -, fetchurl -, gnuplot -, sox -, flac -, id3v2 -, vorbis-tools -, makeWrapper +{ + stdenv, + lib, + fetchurl, + gnuplot, + sox, + flac, + id3v2, + vorbis-tools, + makeWrapper, }: let - path = lib.makeBinPath [ gnuplot sox flac id3v2 vorbis-tools ]; + path = lib.makeBinPath [ + gnuplot + sox + flac + id3v2 + vorbis-tools + ]; in stdenv.mkDerivation (finalAttrs: { pname = "bpm-tools"; @@ -42,4 +49,3 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ doronbehar ]; }; }) - diff --git a/pkgs/by-name/bp/bpp-core/package.nix b/pkgs/by-name/bp/bpp-core/package.nix index 673cebe59e8ed..4f5a705fed693 100644 --- a/pkgs/by-name/bp/bpp-core/package.nix +++ b/pkgs/by-name/bp/bpp-core/package.nix @@ -1,10 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "bpp-core"; version = "2.4.1"; - src = fetchFromGitHub { owner = "BioPP"; + src = fetchFromGitHub { + owner = "BioPP"; repo = pname; rev = "v${version}"; sha256 = "0ma2cl677l7s0n5sffh66cy9lxp5wycm50f121g8rx85p95vkgwv"; diff --git a/pkgs/by-name/bp/bpp-phyl/package.nix b/pkgs/by-name/bp/bpp-phyl/package.nix index 6242516174796..c119d389cd45a 100644 --- a/pkgs/by-name/bp/bpp-phyl/package.nix +++ b/pkgs/by-name/bp/bpp-phyl/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, cmake, bpp-core, bpp-seq }: +{ + stdenv, + fetchFromGitHub, + cmake, + bpp-core, + bpp-seq, +}: stdenv.mkDerivation rec { pname = "bpp-phyl"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ bpp-core bpp-seq ]; + buildInputs = [ + bpp-core + bpp-seq + ]; postFixup = '' substituteInPlace $out/lib/cmake/${pname}/${pname}-targets.cmake \ diff --git a/pkgs/by-name/bp/bpp-popgen/package.nix b/pkgs/by-name/bp/bpp-popgen/package.nix index f7662766fb2c4..b9bfdc311aabe 100644 --- a/pkgs/by-name/bp/bpp-popgen/package.nix +++ b/pkgs/by-name/bp/bpp-popgen/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, cmake, bpp-core, bpp-seq }: +{ + stdenv, + fetchFromGitHub, + cmake, + bpp-core, + bpp-seq, +}: stdenv.mkDerivation rec { pname = "bpp-popgen"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ bpp-core bpp-seq ]; + buildInputs = [ + bpp-core + bpp-seq + ]; postFixup = '' substituteInPlace $out/lib/cmake/${pname}/${pname}-targets.cmake \ diff --git a/pkgs/by-name/bp/bpp-seq/package.nix b/pkgs/by-name/bp/bpp-seq/package.nix index 0699c5316835a..1f9955a8d8eef 100644 --- a/pkgs/by-name/bp/bpp-seq/package.nix +++ b/pkgs/by-name/bp/bpp-seq/package.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchFromGitHub, cmake, bpp-core }: +{ + stdenv, + fetchFromGitHub, + cmake, + bpp-core, +}: stdenv.mkDerivation rec { pname = "bpp-seq"; diff --git a/pkgs/by-name/bp/bppsuite/package.nix b/pkgs/by-name/bp/bppsuite/package.nix index a465ca04910d3..cc8e94672f49f 100644 --- a/pkgs/by-name/bp/bppsuite/package.nix +++ b/pkgs/by-name/bp/bppsuite/package.nix @@ -1,4 +1,12 @@ -{ stdenv, fetchFromGitHub, cmake, bpp-core, bpp-seq, bpp-phyl, bpp-popgen }: +{ + stdenv, + fetchFromGitHub, + cmake, + bpp-core, + bpp-seq, + bpp-phyl, + bpp-popgen, +}: stdenv.mkDerivation rec { pname = "bppsuite"; @@ -13,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ bpp-core bpp-seq bpp-phyl bpp-popgen ]; + buildInputs = [ + bpp-core + bpp-seq + bpp-phyl + bpp-popgen + ]; meta = bpp-core.meta // { homepage = "https://github.com/BioPP/bppsuite"; diff --git a/pkgs/by-name/bq/bqn/package.nix b/pkgs/by-name/bq/bqn/package.nix index 5d96a2cbbf904..d49547e4020d7 100644 --- a/pkgs/by-name/bq/bqn/package.nix +++ b/pkgs/by-name/bq/bqn/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, makeWrapper -, nodejs +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + nodejs, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bq/bqn386/package.nix b/pkgs/by-name/bq/bqn386/package.nix index 35c59a39f37ce..a6a434ffd94c9 100644 --- a/pkgs/by-name/bq/bqn386/package.nix +++ b/pkgs/by-name/bq/bqn386/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "bqn386"; @@ -11,7 +15,10 @@ stdenvNoCC.mkDerivation { hash = "sha256-f0MbrxdkEiOqod41U07BvdDFDbFCqJuGyDIcx2Y24D0="; }; - outputs = [ "out" "woff2" ]; + outputs = [ + "out" + "woff2" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/br/braa/package.nix b/pkgs/by-name/br/braa/package.nix index b4a482bfa8e41..b08403987090a 100644 --- a/pkgs/by-name/br/braa/package.nix +++ b/pkgs/by-name/br/braa/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { hash = "sha256-GS3kk432BdGx/sLzzjXvotD9Qn4S3U4XtMmM0fWMhGA="; }; - buildInputs = [zlib]; + buildInputs = [ zlib ]; installPhase = '' runHook preInstall @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { homepage = "http://s-tech.elsat.net.pl"; license = licenses.gpl2Only; platforms = platforms.unix; - maintainers = with maintainers; [bycEEE]; + maintainers = with maintainers; [ bycEEE ]; mainProgram = "braa"; }; } diff --git a/pkgs/by-name/br/braincurses/package.nix b/pkgs/by-name/br/braincurses/package.nix index bf346b44816ea..2a6a67b17aed3 100644 --- a/pkgs/by-name/br/braincurses/package.nix +++ b/pkgs/by-name/br/braincurses/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "braincurses"; diff --git a/pkgs/by-name/br/brave/make-brave.nix b/pkgs/by-name/br/brave/make-brave.nix index 0321d609effff..9a95a4422a685 100644 --- a/pkgs/by-name/br/brave/make-brave.nix +++ b/pkgs/by-name/br/brave/make-brave.nix @@ -94,50 +94,53 @@ let escapeShellArg ; - deps = [ - alsa-lib - at-spi2-atk - at-spi2-core - atk - cairo - cups - dbus - expat - fontconfig - freetype - gdk-pixbuf - glib - gtk3 - gtk4 - libdrm - libX11 - libGL - libxkbcommon - libXScrnSaver - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXrandr - libXrender - libxshmfence - libXtst - libuuid - mesa - nspr - nss - pango - pipewire - udev - wayland - xorg.libxcb - zlib - snappy - libkrb5 - qt6.qtbase - ] ++ optional pulseSupport libpulseaudio ++ optional libvaSupport libva; + deps = + [ + alsa-lib + at-spi2-atk + at-spi2-core + atk + cairo + cups + dbus + expat + fontconfig + freetype + gdk-pixbuf + glib + gtk3 + gtk4 + libdrm + libX11 + libGL + libxkbcommon + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libxshmfence + libXtst + libuuid + mesa + nspr + nss + pango + pipewire + udev + wayland + xorg.libxcb + zlib + snappy + libkrb5 + qt6.qtbase + ] + ++ optional pulseSupport libpulseaudio + ++ optional libvaSupport libva; rpath = makeLibraryPath deps + ":" + makeSearchPathOutput "lib" "lib64" deps; binpath = makeBinPath deps; @@ -260,16 +263,12 @@ stdenv.mkDerivation { coreutils ] } - ${ - optionalString (enableFeatures != [ ]) '' - --add-flags "--enable-features=${strings.concatStringsSep "," enableFeatures}\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+,WaylandWindowDecorations --enable-wayland-ime=true}}" - '' - } - ${ - optionalString (disableFeatures != [ ]) '' - --add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}" - '' - } + ${optionalString (enableFeatures != [ ]) '' + --add-flags "--enable-features=${strings.concatStringsSep "," enableFeatures}\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+,WaylandWindowDecorations --enable-wayland-ime=true}}" + ''} + ${optionalString (disableFeatures != [ ]) '' + --add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}" + ''} --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}" ${optionalString vulkanSupport '' --prefix XDG_DATA_DIRS : "${addDriverRunpath.driverLink}/share" diff --git a/pkgs/by-name/br/break-time/package.nix b/pkgs/by-name/br/break-time/package.nix index 2b6263e3223e7..141d8d0b2765f 100644 --- a/pkgs/by-name/br/break-time/package.nix +++ b/pkgs/by-name/br/break-time/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, glib -, gtk3 -, openssl -, pkg-config -, python3 -, rustPlatform -, lib -, wrapGAppsHook3 +{ + fetchFromGitHub, + glib, + gtk3, + openssl, + pkg-config, + python3, + rustPlatform, + lib, + wrapGAppsHook3, }: rustPlatform.buildRustPackage rec { @@ -15,7 +16,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "cdepillabout"; - repo = "break-time"; + repo = "break-time"; rev = "v${version}"; sha256 = "sha256-q79JXaBwd/oKtJPvK2+72pY2YvaR3of2CMC8cF6wwQ8="; }; @@ -44,10 +45,9 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Break timer that forces you to take a break"; mainProgram = "break-time"; - homepage = "https://github.com/cdepillabout/break-time"; - license = with licenses; [ mit ]; + homepage = "https://github.com/cdepillabout/break-time"; + license = with licenses; [ mit ]; maintainers = with maintainers; [ cdepillabout ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/br/breakpad/package.nix b/pkgs/by-name/br/breakpad/package.nix index 249dab01b229b..5539543a33ac9 100644 --- a/pkgs/by-name/br/breakpad/package.nix +++ b/pkgs/by-name/br/breakpad/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenv, fetchgit, zlib }: +{ + lib, + stdenv, + fetchgit, + zlib, +}: let lss = fetchgit { url = "https://chromium.googlesource.com/linux-syscall-support"; rev = "v2022.10.12"; hash = "sha256-rF10v5oH4u9i9vnmFCVVl2Ew3h+QTiOsW64HeB0nRQU="; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "breakpad"; version = "2023.06.01"; diff --git a/pkgs/by-name/br/breeze-hacked-cursor-theme/package.nix b/pkgs/by-name/br/breeze-hacked-cursor-theme/package.nix index f9a85806aec75..42d1d2125e255 100644 --- a/pkgs/by-name/br/breeze-hacked-cursor-theme/package.nix +++ b/pkgs/by-name/br/breeze-hacked-cursor-theme/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, inkscape -, xcursorgen -, accentColor ? null -, baseColor ? null -, borderColor ? null -, logoColor ? null +{ + lib, + stdenvNoCC, + fetchFromGitHub, + inkscape, + xcursorgen, + accentColor ? null, + baseColor ? null, + borderColor ? null, + logoColor ? null, }: stdenvNoCC.mkDerivation rec { @@ -20,20 +21,25 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-gm50qgHdbjDYMz/ksbDD8tMqY9AqJ23DKl4rPFNEDX8="; }; - postPatch = '' - patchShebangs build.sh recolor-cursor.sh - substituteInPlace Makefile \ - --replace "~/.icons" "$out/share/icons" - ./recolor-cursor.sh \ - '' + lib.optionalString (accentColor != null) '' - --accent-color "${accentColor}" \ - '' + lib.optionalString (baseColor != null) '' - --base-color "${baseColor}" \ - '' + lib.optionalString (borderColor != null) '' - --border-color "${borderColor}" \ - '' + lib.optionalString (logoColor != null) '' - --logo-color "${logoColor}" - ''; + postPatch = + '' + patchShebangs build.sh recolor-cursor.sh + substituteInPlace Makefile \ + --replace "~/.icons" "$out/share/icons" + ./recolor-cursor.sh \ + '' + + lib.optionalString (accentColor != null) '' + --accent-color "${accentColor}" \ + '' + + lib.optionalString (baseColor != null) '' + --base-color "${baseColor}" \ + '' + + lib.optionalString (borderColor != null) '' + --border-color "${borderColor}" \ + '' + + lib.optionalString (logoColor != null) '' + --logo-color "${logoColor}" + ''; nativeBuildInputs = [ inkscape diff --git a/pkgs/by-name/br/brgenml1cupswrapper/package.nix b/pkgs/by-name/br/brgenml1cupswrapper/package.nix index e309e8e8b2649..5dcf1e7600718 100644 --- a/pkgs/by-name/br/brgenml1cupswrapper/package.nix +++ b/pkgs/by-name/br/brgenml1cupswrapper/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, makeWrapper, cups, perl, coreutils, gnused, gnugrep -, brgenml1lpr, debugLvl ? "0"}: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + cups, + perl, + coreutils, + gnused, + gnugrep, + brgenml1lpr, + debugLvl ? "0", +}: /* [Setup instructions](http://support.brother.com/g/s/id/linux/en/instruction_prn1a.html). @@ -66,7 +77,14 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups perl coreutils gnused gnugrep brgenml1lpr ]; + buildInputs = [ + cups + perl + coreutils + gnused + gnugrep + brgenml1lpr + ]; dontBuild = true; @@ -90,7 +108,6 @@ stdenv.mkDerivation rec { --replace "/etc/cups/ppd" "$out/share/cups/model" ''; - installPhase = '' CUPSFILTER_DIR=$out/lib/cups/filter CUPSPPD_DIR=$out/share/cups/model diff --git a/pkgs/by-name/br/brial/package.nix b/pkgs/by-name/br/brial/package.nix index 6ec28ba1c2266..d82ac052d7374 100644 --- a/pkgs/by-name/br/brial/package.nix +++ b/pkgs/by-name/br/brial/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, boost -, m4ri -, gd +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + boost, + m4ri, + gd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/br/briar-desktop/package.nix b/pkgs/by-name/br/briar-desktop/package.nix index 9ce9801ae2ed0..55c5bcedce103 100644 --- a/pkgs/by-name/br/briar-desktop/package.nix +++ b/pkgs/by-name/br/briar-desktop/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, openjdk -, libnotify -, makeWrapper -, tor -, p7zip -, bash -, writeScript +{ + lib, + stdenv, + fetchurl, + openjdk, + libnotify, + makeWrapper, + tor, + p7zip, + bash, + writeScript, }: let @@ -38,9 +39,11 @@ stdenv.mkDerivation rec { cp ${src} $out/lib/briar-desktop.jar makeWrapper ${openjdk}/bin/java $out/bin/briar-desktop \ --add-flags "-jar $out/lib/briar-desktop.jar" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - libnotify - ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + libnotify + ] + }" ''; fixupPhase = '' diff --git a/pkgs/by-name/br/brickd/package.nix b/pkgs/by-name/br/brickd/package.nix index be087b0525bcc..95eafd3d7a97e 100644 --- a/pkgs/by-name/br/brickd/package.nix +++ b/pkgs/by-name/br/brickd/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libusb1, pkg-config, pmutils, udev} : +{ + lib, + stdenv, + fetchFromGitHub, + libusb1, + pkg-config, + pmutils, + udev, +}: let version = "2.1.1"; @@ -22,7 +30,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libusb1 pmutils udev ]; + buildInputs = [ + libusb1 + pmutils + udev + ]; # shell thing didn't work so i replaced it using nix prePatch = '' diff --git a/pkgs/by-name/br/bridge-utils/package.nix b/pkgs/by-name/br/bridge-utils/package.nix index b10cca4cc592d..1a2acae1f3f6f 100644 --- a/pkgs/by-name/br/bridge-utils/package.nix +++ b/pkgs/by-name/br/bridge-utils/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "bridge-utils"; diff --git a/pkgs/by-name/br/brig/package.nix b/pkgs/by-name/br/brig/package.nix index b20543c0c58a4..f4914eeda8736 100644 --- a/pkgs/by-name/br/brig/package.nix +++ b/pkgs/by-name/br/brig/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -21,16 +22,19 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ] ++ - lib.mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}") - { - Major = lib.versions.major version; - Minor = lib.versions.minor version; - Patch = lib.versions.patch version; - ReleaseType = ""; - BuildTime = "1970-01-01T00:00:00+0000"; - GitRev = src.rev; - }; + ldflags = + [ + "-s" + "-w" + ] + ++ lib.mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}") { + Major = lib.versions.major version; + Minor = lib.versions.minor version; + Patch = lib.versions.patch version; + ReleaseType = ""; + BuildTime = "1970-01-01T00:00:00+0000"; + GitRev = src.rev; + }; postInstall = '' installShellCompletion --cmd brig \ diff --git a/pkgs/by-name/br/brigand/package.nix b/pkgs/by-name/br/brigand/package.nix index 3c0778de1d30a..d1cdee16f2e17 100644 --- a/pkgs/by-name/br/brigand/package.nix +++ b/pkgs/by-name/br/brigand/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation { pname = "brigand"; diff --git a/pkgs/by-name/br/brightnessctl/package.nix b/pkgs/by-name/br/brightnessctl/package.nix index 460b8199d697a..35c5935f4f4de 100644 --- a/pkgs/by-name/br/brightnessctl/package.nix +++ b/pkgs/by-name/br/brightnessctl/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, systemd }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + systemd, +}: stdenv.mkDerivation rec { pname = "brightnessctl"; @@ -16,7 +22,11 @@ stdenv.mkDerivation rec { --replace "pkg-config" "$PKG_CONFIG" ''; - makeFlags = [ "PREFIX=" "DESTDIR=$(out)" "ENABLE_SYSTEMD=1" ]; + makeFlags = [ + "PREFIX=" + "DESTDIR=$(out)" + "ENABLE_SYSTEMD=1" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ systemd ]; diff --git a/pkgs/by-name/br/brill/package.nix b/pkgs/by-name/br/brill/package.nix index 0ea130064e3d0..0fd0c940a8390 100644 --- a/pkgs/by-name/br/brill/package.nix +++ b/pkgs/by-name/br/brill/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "brill"; diff --git a/pkgs/by-name/br/brillo/package.nix b/pkgs/by-name/br/brillo/package.nix index 658b15b70e930..fb4358628cdbf 100644 --- a/pkgs/by-name/br/brillo/package.nix +++ b/pkgs/by-name/br/brillo/package.nix @@ -1,13 +1,20 @@ -{ lib, stdenv, fetchFromGitLab , go-md2man, coreutils, substituteAll }: +{ + lib, + stdenv, + fetchFromGitLab, + go-md2man, + coreutils, + substituteAll, +}: stdenv.mkDerivation rec { pname = "brillo"; version = "1.4.12"; src = fetchFromGitLab { - owner= "cameronnemo"; - repo= "brillo"; - rev= "v${version}"; + owner = "cameronnemo"; + repo = "brillo"; + rev = "v${version}"; hash = "sha256-dKGNioWGVAFuB4kySO+QGTnstyAD0bt4/6FBVwuRxJo="; }; @@ -20,7 +27,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ go-md2man ]; - makeFlags = [ "PREFIX=$(out)" "AADIR=$(out)/etc/apparmor.d" ]; + makeFlags = [ + "PREFIX=$(out)" + "AADIR=$(out)/etc/apparmor.d" + ]; installTargets = [ "install-dist" ]; @@ -28,7 +38,10 @@ stdenv.mkDerivation rec { description = "Backlight and Keyboard LED control tool"; homepage = "https://gitlab.com/cameronnemo/brillo"; mainProgram = "brillo"; - license = [ licenses.gpl3 licenses.bsd0 ]; + license = [ + licenses.gpl3 + licenses.bsd0 + ]; platforms = platforms.linux; maintainers = [ maintainers.alexarice ]; }; diff --git a/pkgs/by-name/br/brise/fetchPackages.nix b/pkgs/by-name/br/brise/fetchPackages.nix index 50ad1113aa93b..bcf7a5a94d65a 100644 --- a/pkgs/by-name/br/brise/fetchPackages.nix +++ b/pkgs/by-name/br/brise/fetchPackages.nix @@ -1,130 +1,172 @@ fetchFromGitHub: # generated using https://gist.github.com/sifmelcara/895c71f99500b9d56d68e9a866b58821 '' -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-array"; - rev = "d10f2f8b2aec7c7e736ace01e8a399e5ae5e7c3a"; - sha256 = "sha256-4t6+gh2V57SueDp9Tn6vTuxQCZNGzjLdJEhzIEqRjdI="; -}} array -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-bopomofo"; - rev = "7046ffe42b46915947117f80d901fb9a6e19c1a7"; - sha256 = "09w8jl2dlgp72k49x0l2jiaqb359v576kai4xww6cljgr24ng8pl"; -}} bopomofo -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-cangjie"; - rev = "64242be99c1e6793c9f40fef296a81d07a84e976"; - sha256 = "0v5sk8zrm5p5gg8lszqm0imj9jswjlnfq87nw6m9pg5h5al230ja"; -}} cangjie -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-combo-pinyin"; - rev = "97a7dc4670e0f90ad28e7d67c1543f4f0adc531d"; - sha256 = "0y8iyvq7z6xj3lk2ppk4ggz297wn1r2xxbv53f2710jc7gyzf04q"; -}} combo-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-double-pinyin"; - rev = "1b75af4239897fd1e4c99d625b62093e66baff14"; - sha256 = "0p54qx5a6rr55hl997kdcfxjczd9lcddrc5xsy7nhlfyc6108s2v"; -}} double-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-emoji"; - rev = "7e527056fe055237fee59463e0d445f3909aaf0c"; - sha256 = "04d35n254viw29yyjf3ml7xljmi63sqgg870swlbi5bikcx7n9jf"; -}} emoji -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-essay"; - rev = "595e35756d16d57d09405e243302b65b4384b5b4"; - sha256 = "10kqhvrz8x17b2pf6x2x2znz5y6cj05c4rgwi1f0xhxiyrgjw9gm"; -}} essay -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-ipa"; - rev = "9e02f8a02e9febb7b2df25f6906881a1df934811"; - sha256 = "1g4v4j1gnv1qspfz88liwj1aa4gaa3aax0x2cif4vxicsm7w372m"; -}} ipa -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-jyutping"; - rev = "3cc76e6e15cc05f1f94b89e750c21f87ce8fc0e4"; - sha256 = "1yggz0yb84z8810s2gmsxkm9lh57fdzddx5v2rb5mqcwnimsd6ap"; -}} jyutping -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-luna-pinyin"; - rev = "da00c3a6f932f094666e98a09f6ce9c7d74c334c"; - sha256 = "0q3g1hj9bay5865h3pz7gv46d7wfka1jdxnddxcbp4zn7gjpsd48"; -}} luna-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-middle-chinese"; - rev = "6f9731bac8f289f77d35f1090159f1937e38c1f7"; - sha256 = "0xd9iwk4j5043gfmp7rb57hbarfm6sxr32wiasi6p3c5g355zn89"; -}} middle-chinese -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-pinyin-simp"; - rev = "38c08403c22845f7e2965c1d7a1514b41755d7dc"; - sha256 = "1c0cqljx3d93w27y2flxyqcfd3rd9fvixbw6mxgfjzdb3s42bn8h"; -}} pinyin-simp -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-prelude"; - rev = "120c2aa73b1b5e1bce904901bf13f506295004a5"; - sha256 = "1aah9z58gkqrc18zadsq598ybj8ra22bgka3gma2jmi3rls2znq4"; -}} prelude -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-quick"; - rev = "638abf270e121bc2bfc6029a14ee85a3f4c2188b"; - sha256 = "0l1pma0yxrypnb5cq7jiczy0wa42kdqsc1brqkkccdnp08pa1p1m"; -}} quick -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-scj"; - rev = "6b74ce14be0464bf076d7adc40aea4b120f233ec"; - sha256 = "0lr92knr41mlqd1s0g2lh2h2qr8xka1s46x7iv4d6ghjf0id4gz6"; -}} scj -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-soutzoe"; - rev = "3ab93d1b9ca9ca7cf17ff32bb4418b7a095afc3c"; - sha256 = "1glbvgzx4psasq23511k8ymd7mf1pqvm3z18nzszhs00iif66s3m"; -}} soutzoe -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-stenotype"; - rev = "766f22565f83f5c63c0ea195c936779ec6ae824d"; - sha256 = "0jsvfq7xim99zs5imyk7rpknlaimk6nlxy38fmfxa1r843781mfd"; -}} stenotype -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-stroke"; - rev = "e048967a4c1b956575828f1a20e565efed4b1137"; - sha256 = "10asdz5bj12pnji7afzls6jd9dn2v90l2dgdjf0jfp2kfzd6pxnl"; -}} stroke -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-terra-pinyin"; - rev = "e303507e728def38739f5761c50722eae1f06dd5"; - sha256 = "1krbmx2iq3zw4q1x4aa9c72b9xgrnjrhyxa4h5hnq5l29p9qms4d"; -}} terra-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-wubi"; - rev = "97b7d9f93378e98fd11167bd80d54c40e67076aa"; - sha256 = "1cdpbqqkqjbizja0w3f7a826a5bxb39nlf9qf2130x9havmkc89z"; -}} wubi -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-wugniu"; - rev = "de40b29f8218cc852bf82b315c7070f1d50bda02"; - sha256 = "1m7miwsqpy49cgqd1bl7z5lkkirj3lc2bdwd1zqfg5zbgfwn0rp8"; -}} wugniu + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-array"; + rev = "d10f2f8b2aec7c7e736ace01e8a399e5ae5e7c3a"; + sha256 = "sha256-4t6+gh2V57SueDp9Tn6vTuxQCZNGzjLdJEhzIEqRjdI="; + } + } array + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-bopomofo"; + rev = "7046ffe42b46915947117f80d901fb9a6e19c1a7"; + sha256 = "09w8jl2dlgp72k49x0l2jiaqb359v576kai4xww6cljgr24ng8pl"; + } + } bopomofo + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-cangjie"; + rev = "64242be99c1e6793c9f40fef296a81d07a84e976"; + sha256 = "0v5sk8zrm5p5gg8lszqm0imj9jswjlnfq87nw6m9pg5h5al230ja"; + } + } cangjie + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-combo-pinyin"; + rev = "97a7dc4670e0f90ad28e7d67c1543f4f0adc531d"; + sha256 = "0y8iyvq7z6xj3lk2ppk4ggz297wn1r2xxbv53f2710jc7gyzf04q"; + } + } combo-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-double-pinyin"; + rev = "1b75af4239897fd1e4c99d625b62093e66baff14"; + sha256 = "0p54qx5a6rr55hl997kdcfxjczd9lcddrc5xsy7nhlfyc6108s2v"; + } + } double-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-emoji"; + rev = "7e527056fe055237fee59463e0d445f3909aaf0c"; + sha256 = "04d35n254viw29yyjf3ml7xljmi63sqgg870swlbi5bikcx7n9jf"; + } + } emoji + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-essay"; + rev = "595e35756d16d57d09405e243302b65b4384b5b4"; + sha256 = "10kqhvrz8x17b2pf6x2x2znz5y6cj05c4rgwi1f0xhxiyrgjw9gm"; + } + } essay + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-ipa"; + rev = "9e02f8a02e9febb7b2df25f6906881a1df934811"; + sha256 = "1g4v4j1gnv1qspfz88liwj1aa4gaa3aax0x2cif4vxicsm7w372m"; + } + } ipa + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-jyutping"; + rev = "3cc76e6e15cc05f1f94b89e750c21f87ce8fc0e4"; + sha256 = "1yggz0yb84z8810s2gmsxkm9lh57fdzddx5v2rb5mqcwnimsd6ap"; + } + } jyutping + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-luna-pinyin"; + rev = "da00c3a6f932f094666e98a09f6ce9c7d74c334c"; + sha256 = "0q3g1hj9bay5865h3pz7gv46d7wfka1jdxnddxcbp4zn7gjpsd48"; + } + } luna-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-middle-chinese"; + rev = "6f9731bac8f289f77d35f1090159f1937e38c1f7"; + sha256 = "0xd9iwk4j5043gfmp7rb57hbarfm6sxr32wiasi6p3c5g355zn89"; + } + } middle-chinese + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-pinyin-simp"; + rev = "38c08403c22845f7e2965c1d7a1514b41755d7dc"; + sha256 = "1c0cqljx3d93w27y2flxyqcfd3rd9fvixbw6mxgfjzdb3s42bn8h"; + } + } pinyin-simp + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-prelude"; + rev = "120c2aa73b1b5e1bce904901bf13f506295004a5"; + sha256 = "1aah9z58gkqrc18zadsq598ybj8ra22bgka3gma2jmi3rls2znq4"; + } + } prelude + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-quick"; + rev = "638abf270e121bc2bfc6029a14ee85a3f4c2188b"; + sha256 = "0l1pma0yxrypnb5cq7jiczy0wa42kdqsc1brqkkccdnp08pa1p1m"; + } + } quick + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-scj"; + rev = "6b74ce14be0464bf076d7adc40aea4b120f233ec"; + sha256 = "0lr92knr41mlqd1s0g2lh2h2qr8xka1s46x7iv4d6ghjf0id4gz6"; + } + } scj + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-soutzoe"; + rev = "3ab93d1b9ca9ca7cf17ff32bb4418b7a095afc3c"; + sha256 = "1glbvgzx4psasq23511k8ymd7mf1pqvm3z18nzszhs00iif66s3m"; + } + } soutzoe + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-stenotype"; + rev = "766f22565f83f5c63c0ea195c936779ec6ae824d"; + sha256 = "0jsvfq7xim99zs5imyk7rpknlaimk6nlxy38fmfxa1r843781mfd"; + } + } stenotype + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-stroke"; + rev = "e048967a4c1b956575828f1a20e565efed4b1137"; + sha256 = "10asdz5bj12pnji7afzls6jd9dn2v90l2dgdjf0jfp2kfzd6pxnl"; + } + } stroke + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-terra-pinyin"; + rev = "e303507e728def38739f5761c50722eae1f06dd5"; + sha256 = "1krbmx2iq3zw4q1x4aa9c72b9xgrnjrhyxa4h5hnq5l29p9qms4d"; + } + } terra-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-wubi"; + rev = "97b7d9f93378e98fd11167bd80d54c40e67076aa"; + sha256 = "1cdpbqqkqjbizja0w3f7a826a5bxb39nlf9qf2130x9havmkc89z"; + } + } wubi + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-wugniu"; + rev = "de40b29f8218cc852bf82b315c7070f1d50bda02"; + sha256 = "1m7miwsqpy49cgqd1bl7z5lkkirj3lc2bdwd1zqfg5zbgfwn0rp8"; + } + } wugniu '' diff --git a/pkgs/by-name/br/brise/package.nix b/pkgs/by-name/br/brise/package.nix index 45f86f6be21cf..4d4ab988cfec9 100644 --- a/pkgs/by-name/br/brise/package.nix +++ b/pkgs/by-name/br/brise/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, librime }: +{ + lib, + stdenv, + fetchFromGitHub, + librime, +}: stdenv.mkDerivation { pname = "brise"; @@ -21,7 +26,10 @@ stdenv.mkDerivation { # since nix won't allow networking during 'make' preBuild = import ./fetchPackages.nix fetchFromGitHub; - makeFlags = [ "BRISE_BUILD_BINARIES=yes" "PREFIX=$(out)" ]; + makeFlags = [ + "BRISE_BUILD_BINARIES=yes" + "PREFIX=$(out)" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/br/briss/package.nix b/pkgs/by-name/br/briss/package.nix index 801b8f5a4862c..73cde5730b8c2 100644 --- a/pkgs/by-name/br/briss/package.nix +++ b/pkgs/by-name/br/briss/package.nix @@ -1,6 +1,12 @@ # The releases of this project are apparently precompiled to .jar files. -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "briss"; @@ -10,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "45dd668a9ceb9cd59529a9fefe422a002ee1554a61be07e6fc8b3baf33d733d9"; }; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' mkdir -p "$out/bin"; diff --git a/pkgs/by-name/br/bristol/package.nix b/pkgs/by-name/br/bristol/package.nix index 94754a3b1cc51..2251225e68d7b 100644 --- a/pkgs/by-name/br/bristol/package.nix +++ b/pkgs/by-name/br/bristol/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, alsa-lib, libjack2, pkg-config, libpulseaudio, xorg, copyDesktopItems, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + libjack2, + pkg-config, + libpulseaudio, + xorg, + copyDesktopItems, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "bristol"; @@ -9,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx"; }; - nativeBuildInputs = [ pkg-config copyDesktopItems ]; + nativeBuildInputs = [ + pkg-config + copyDesktopItems + ]; buildInputs = [ alsa-lib libjack2 @@ -54,7 +68,10 @@ stdenv.mkDerivation rec { description = "Range of synthesiser, electric piano and organ emulations"; homepage = "https://bristol.sourceforge.net"; license = licenses.gpl3; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ ]; }; } diff --git a/pkgs/by-name/br/brlaser/package.nix b/pkgs/by-name/br/brlaser/package.nix index c0f4e1854379d..fff6673a9cf8a 100644 --- a/pkgs/by-name/br/brlaser/package.nix +++ b/pkgs/by-name/br/brlaser/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib, cups }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + cups, +}: stdenv.mkDerivation rec { pname = "brlaser"; @@ -12,49 +19,54 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib cups ]; + buildInputs = [ + zlib + cups + ]; - cmakeFlags = [ "-DCUPS_SERVER_BIN=lib/cups" "-DCUPS_DATA_DIR=share/cups" ]; + cmakeFlags = [ + "-DCUPS_SERVER_BIN=lib/cups" + "-DCUPS_DATA_DIR=share/cups" + ]; meta = with lib; { description = "CUPS driver for Brother laser printers"; - longDescription = - '' - Although most Brother printers support a standard printer language such as PCL or PostScript, not all do. If you have a monochrome Brother laser printer (or multi-function device) and the other open source drivers don't work, this one might help. + longDescription = '' + Although most Brother printers support a standard printer language such as PCL or PostScript, not all do. If you have a monochrome Brother laser printer (or multi-function device) and the other open source drivers don't work, this one might help. - This driver is known to work with these printers: + This driver is known to work with these printers: - Brother DCP-1510 - Brother DCP-1602 - Brother DCP-7030 - Brother DCP-7040 - Brother DCP-7055 - Brother DCP-7055W - Brother DCP-7060D - Brother DCP-7065DN - Brother DCP-7080 - Brother DCP-L2500D - Brother DCP-L2520D - Brother DCP-L2540DW - Brother HL-1110 - Brother HL-1200 - Brother HL-2030 - Brother HL-2140 - Brother HL-2220 - Brother HL-2270DW - Brother HL-5030 - Brother HL-L2300D - Brother HL-L2320D - Brother HL-L2340D - Brother HL-L2360D - Brother MFC-1910W - Brother MFC-7240 - Brother MFC-7360N - Brother MFC-7365DN - Brother MFC-7840W - Brother MFC-L2710DW - Lenovo M7605D - ''; + Brother DCP-1510 + Brother DCP-1602 + Brother DCP-7030 + Brother DCP-7040 + Brother DCP-7055 + Brother DCP-7055W + Brother DCP-7060D + Brother DCP-7065DN + Brother DCP-7080 + Brother DCP-L2500D + Brother DCP-L2520D + Brother DCP-L2540DW + Brother HL-1110 + Brother HL-1200 + Brother HL-2030 + Brother HL-2140 + Brother HL-2220 + Brother HL-2270DW + Brother HL-5030 + Brother HL-L2300D + Brother HL-L2320D + Brother HL-L2340D + Brother HL-L2360D + Brother MFC-1910W + Brother MFC-7240 + Brother MFC-7360N + Brother MFC-7365DN + Brother MFC-7840W + Brother MFC-L2710DW + Lenovo M7605D + ''; homepage = "https://github.com/pdewacht/brlaser"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/by-name/br/brltty/package.nix b/pkgs/by-name/br/brltty/package.nix index 745f39b4363a7..1663be03aa5f7 100644 --- a/pkgs/by-name/br/brltty/package.nix +++ b/pkgs/by-name/br/brltty/package.nix @@ -1,7 +1,20 @@ -{ lib, stdenv, fetchurl, pkg-config, python3, bluez -, tcl, acl, kmod, coreutils, shadow, util-linux -, alsaSupport ? stdenv.hostPlatform.isLinux, alsa-lib -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd +{ + lib, + stdenv, + fetchurl, + pkg-config, + python3, + bluez, + tcl, + acl, + kmod, + coreutils, + shadow, + util-linux, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, }: stdenv.mkDerivation rec { @@ -13,10 +26,13 @@ stdenv.mkDerivation rec { sha256 = "E+j2mb8UTuGx6PkAOt03hQkvf1XvEHxJEuPBT2zMpPw="; }; - nativeBuildInputs = [ pkg-config python3.pkgs.cython python3.pkgs.setuptools tcl ]; - buildInputs = [ bluez ] - ++ lib.optional alsaSupport alsa-lib - ++ lib.optional systemdSupport systemd; + nativeBuildInputs = [ + pkg-config + python3.pkgs.cython + python3.pkgs.setuptools + tcl + ]; + buildInputs = [ bluez ] ++ lib.optional alsaSupport alsa-lib ++ lib.optional systemdSupport systemd; meta = { description = "Access software for a blind person using a braille display"; @@ -49,7 +65,11 @@ stdenv.mkDerivation rec { "--with-updatable-directory=/var/lib/brltty" "--with-api-socket-path=/var/lib/BrlAPI" ]; - installFlags = [ "install-systemd" "install-udev" "install-polkit" ]; + installFlags = [ + "install-systemd" + "install-udev" + "install-polkit" + ]; preConfigure = '' substituteInPlace configure --replace /sbin/ldconfig ldconfig diff --git a/pkgs/by-name/br/brmodelo/package.nix b/pkgs/by-name/br/brmodelo/package.nix index 09225fcd5948c..bcc9e5c2df60b 100644 --- a/pkgs/by-name/br/brmodelo/package.nix +++ b/pkgs/by-name/br/brmodelo/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, ant -, jdk8 -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, strip-nondeterminism -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ant, + jdk8, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + strip-nondeterminism, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { @@ -78,7 +79,16 @@ stdenv.mkDerivation (finalAttrs: { exec = "brmodelo"; icon = "brmodelo"; comment = finalAttrs.meta.description; - categories = [ "Development" "Education" "Database" "2DGraphics" "ComputerScience" "DataVisualization" "Engineering" "Java" ]; + categories = [ + "Development" + "Education" + "Database" + "2DGraphics" + "ComputerScience" + "DataVisualization" + "Engineering" + "Java" + ]; }) ]; diff --git a/pkgs/by-name/br/broadcom-bt-firmware/package.nix b/pkgs/by-name/br/broadcom-bt-firmware/package.nix index 073d443bee414..aacf0451891f3 100644 --- a/pkgs/by-name/br/broadcom-bt-firmware/package.nix +++ b/pkgs/by-name/br/broadcom-bt-firmware/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchurl, cabextract, bt-fw-converter }: +{ + lib, + stdenvNoCC, + fetchurl, + cabextract, + bt-fw-converter, +}: stdenvNoCC.mkDerivation rec { pname = "broadcom-bt-firmware"; @@ -9,7 +15,10 @@ stdenvNoCC.mkDerivation rec { sha256 = "1b1qjwxjk4y91l3iz157kms8601n0mmiik32cs6w9b1q4sl4pxx9"; }; - nativeBuildInputs = [ cabextract bt-fw-converter ]; + nativeBuildInputs = [ + cabextract + bt-fw-converter + ]; unpackCmd = '' mkdir -p ${pname}-${version} diff --git a/pkgs/by-name/br/broadlink-cli/package.nix b/pkgs/by-name/br/broadlink-cli/package.nix index c9438ff3583f3..6056c5ea33750 100644 --- a/pkgs/by-name/br/broadlink-cli/package.nix +++ b/pkgs/by-name/br/broadlink-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "broadlink-cli"; @@ -7,8 +11,8 @@ python3Packages.buildPythonApplication rec { # the tools are available as part of the source distribution from GH but # not pypi, so we have to fetch them here. src = fetchFromGitHub { - owner = "mjg59"; - repo = "python-broadlink"; + owner = "mjg59"; + repo = "python-broadlink"; rev = "refs/tags/${version}"; sha256 = "sha256-fqhi4K8Ceh8Rs0ExteCfAuVfEamFjMCjCFm6DRAJDmI="; }; diff --git a/pkgs/by-name/br/brogue-ce/package.nix b/pkgs/by-name/br/brogue-ce/package.nix index 32f1dda3e4854..09f2ac7c7d942 100644 --- a/pkgs/by-name/br/brogue-ce/package.nix +++ b/pkgs/by-name/br/brogue-ce/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, SDL2 -, SDL2_image +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + SDL2, + SDL2_image, }: stdenv.mkDerivation (finalAttrs: { @@ -34,15 +35,20 @@ stdenv.mkDerivation (finalAttrs: { makeFlags = [ "DATADIR=$(out)/opt/brogue-ce" ]; - desktopItems = [(makeDesktopItem { - name = "brogue-ce"; - desktopName = "Brogue CE"; - genericName = "Roguelike"; - comment = "Brave the Dungeons of Doom!"; - icon = "brogue-ce"; - exec = "brogue-ce"; - categories = [ "Game" "AdventureGame" ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = "brogue-ce"; + desktopName = "Brogue CE"; + genericName = "Roguelike"; + comment = "Brave the Dungeons of Doom!"; + icon = "brogue-ce"; + exec = "brogue-ce"; + categories = [ + "Game" + "AdventureGame" + ]; + }) + ]; installPhase = '' runHook preInstall @@ -58,7 +64,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "brogue-ce"; homepage = "https://github.com/tmewett/BrogueCE"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ AndersonTorres fgaz ]; + maintainers = with maintainers; [ + AndersonTorres + fgaz + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/br/brogue/package.nix b/pkgs/by-name/br/brogue/package.nix index bf19e6c4225b6..7f133c1dae99f 100644 --- a/pkgs/by-name/br/brogue/package.nix +++ b/pkgs/by-name/br/brogue/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, SDL, ncurses, libtcod, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + SDL, + ncurses, + libtcod, + makeDesktopItem, +}: stdenv.mkDerivation (finalAttrs: { pname = "brogue"; @@ -26,7 +35,11 @@ stdenv.mkDerivation (finalAttrs: { rm -rf src/libtcod* ''; - buildInputs = [ SDL ncurses libtcod ]; + buildInputs = [ + SDL + ncurses + libtcod + ]; desktopItem = makeDesktopItem { name = "brogue"; @@ -35,7 +48,10 @@ stdenv.mkDerivation (finalAttrs: { comment = "Brave the Dungeons of Doom!"; icon = "brogue"; exec = "brogue"; - categories = [ "Game" "AdventureGame" ]; + categories = [ + "Game" + "AdventureGame" + ]; }; installPhase = '' @@ -47,14 +63,20 @@ stdenv.mkDerivation (finalAttrs: { ''; # fix crash; shouldn’t be a security risk because it’s an offline game - hardeningDisable = [ "stackprotector" "fortify" ]; + hardeningDisable = [ + "stackprotector" + "fortify" + ]; meta = with lib; { description = "Roguelike game"; mainProgram = "brogue"; homepage = "https://sites.google.com/site/broguegame/"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ AndersonTorres fgaz ]; + maintainers = with maintainers; [ + AndersonTorres + fgaz + ]; platforms = [ "x86_64-linux" ]; }; }) diff --git a/pkgs/by-name/br/bront_fonts/package.nix b/pkgs/by-name/br/bront_fonts/package.nix index 36e6adb380dfd..fe31a6e0bfabc 100644 --- a/pkgs/by-name/br/bront_fonts/package.nix +++ b/pkgs/by-name/br/bront_fonts/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "bront_fonts"; @@ -19,7 +23,10 @@ stdenvNoCC.mkDerivation { description = "Bront Fonts"; longDescription = "Ubuntu Mono Bront and DejaVu Sans Mono Bront fonts."; homepage = "https://github.com/chrismwendt/bront"; - license = with licenses; [ bitstreamVera ufl ]; + license = with licenses; [ + bitstreamVera + ufl + ]; platforms = platforms.all; maintainers = [ maintainers.grburst ]; }; diff --git a/pkgs/by-name/br/brook/package.nix b/pkgs/by-name/br/brook/package.nix index 6bb6f9ab8bcf3..19ed8ed89519f 100644 --- a/pkgs/by-name/br/brook/package.nix +++ b/pkgs/by-name/br/brook/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "brook"; diff --git a/pkgs/by-name/br/broom/package.nix b/pkgs/by-name/br/broom/package.nix index fa3e7af0927d1..6c7d0cb264c51 100644 --- a/pkgs/by-name/br/broom/package.nix +++ b/pkgs/by-name/br/broom/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-zNklqGjMt89b+JOZfKjTO6c75SXO10e7YtQOqqQZpnA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Interactive CLI tool for managing local git branches"; diff --git a/pkgs/by-name/br/broot/package.nix b/pkgs/by-name/br/broot/package.nix index c1c705a7d40b4..f42b934c69090 100644 --- a/pkgs/by-name/br/broot/package.nix +++ b/pkgs/by-name/br/broot/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, makeWrapper -, pkg-config -, libgit2 -, oniguruma -, zlib -, buildPackages -, withClipboard ? true -, withTrash ? !stdenv.hostPlatform.isDarwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + makeWrapper, + pkg-config, + libgit2, + oniguruma, + zlib, + buildPackages, + withClipboard ? true, + withTrash ? !stdenv.hostPlatform.isDarwin, }: rustPlatform.buildRustPackage rec { @@ -33,9 +34,14 @@ rustPlatform.buildRustPackage rec { ]; # TODO: once https://github.com/Canop/broot/issues/956 is released, oniguruma can be removed. - buildInputs = [ libgit2 oniguruma ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - zlib - ]; + buildInputs = + [ + libgit2 + oniguruma + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + zlib + ]; buildFeatures = lib.optionals withTrash [ "trash" ] ++ lib.optionals withClipboard [ "clipboard" ]; @@ -48,34 +54,36 @@ rustPlatform.buildRustPackage rec { --replace "#version" "${version}" ''; - postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) '' - # Install shell function for bash. - ${stdenv.hostPlatform.emulator buildPackages} $out/bin/broot --print-shell-function bash > br.bash - install -Dm0444 -t $out/etc/profile.d br.bash + postInstall = + lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) '' + # Install shell function for bash. + ${stdenv.hostPlatform.emulator buildPackages} $out/bin/broot --print-shell-function bash > br.bash + install -Dm0444 -t $out/etc/profile.d br.bash - # Install shell function for zsh. - ${stdenv.hostPlatform.emulator buildPackages} $out/bin/broot --print-shell-function zsh > br.zsh - install -Dm0444 br.zsh $out/share/zsh/site-functions/br + # Install shell function for zsh. + ${stdenv.hostPlatform.emulator buildPackages} $out/bin/broot --print-shell-function zsh > br.zsh + install -Dm0444 br.zsh $out/share/zsh/site-functions/br - # Install shell function for fish - ${stdenv.hostPlatform.emulator buildPackages} $out/bin/broot --print-shell-function fish > br.fish - install -Dm0444 -t $out/share/fish/vendor_functions.d br.fish + # Install shell function for fish + ${stdenv.hostPlatform.emulator buildPackages} $out/bin/broot --print-shell-function fish > br.fish + install -Dm0444 -t $out/share/fish/vendor_functions.d br.fish - '' + '' - # install shell completion files - OUT_DIR=$releaseDir/build/broot-*/out + '' + + '' + # install shell completion files + OUT_DIR=$releaseDir/build/broot-*/out - installShellCompletion --bash $OUT_DIR/{br,broot}.bash - installShellCompletion --fish $OUT_DIR/{br,broot}.fish - installShellCompletion --zsh $OUT_DIR/{_br,_broot} + installShellCompletion --bash $OUT_DIR/{br,broot}.bash + installShellCompletion --fish $OUT_DIR/{br,broot}.fish + installShellCompletion --zsh $OUT_DIR/{_br,_broot} - installManPage man/broot.1 + installManPage man/broot.1 - # Do not nag users about installing shell integration, since - # it is impure. - wrapProgram $out/bin/broot \ - --set BR_INSTALL no - ''; + # Do not nag users about installing shell integration, since + # it is impure. + wrapProgram $out/bin/broot \ + --set BR_INSTALL no + ''; doInstallCheck = true; installCheckPhase = '' diff --git a/pkgs/by-name/br/brotli/package.nix b/pkgs/by-name/br/brotli/package.nix index 0a7bbfe1746c6..ec7ea22ddaa46 100644 --- a/pkgs/by-name/br/brotli/package.nix +++ b/pkgs/by-name/br/brotli/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, staticOnly ? stdenv.hostPlatform.isStatic -, testers +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + staticOnly ? stdenv.hostPlatform.isStatic, + testers, }: # ?TODO: there's also python lib in there @@ -35,7 +36,11 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = lib.optional staticOnly "-DBUILD_SHARED_LIBS=OFF"; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; doCheck = true; diff --git a/pkgs/by-name/br/browserpass/package.nix b/pkgs/by-name/br/browserpass/package.nix index 4c58039e899ad..3c8fbaad9a7bc 100644 --- a/pkgs/by-name/br/browserpass/package.nix +++ b/pkgs/by-name/br/browserpass/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, gnupg -, makeWrapper -, autoPatchelfHook -, testers -, browserpass +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + gnupg, + makeWrapper, + autoPatchelfHook, + testers, + browserpass, }: buildGoModule rec { @@ -20,7 +21,9 @@ buildGoModule rec { sha256 = "sha256-UZzOPRRiCUIG7uSSp9AEPMDN/+4cgyK47RhrI8oUx8U="; }; - nativeBuildInputs = [ makeWrapper ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; vendorHash = "sha256-CjuH4ANP2bJDeA+o+1j+obbtk5/NVLet/OFS3Rms4r0="; diff --git a/pkgs/by-name/br/browsh/package.nix b/pkgs/by-name/br/browsh/package.nix index 29ddb1475ed9d..f14b7662e8cbf 100644 --- a/pkgs/by-name/br/browsh/package.nix +++ b/pkgs/by-name/br/browsh/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchurl, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchurl, + fetchFromGitHub, +}: let version = "1.8.2"; @@ -40,7 +45,10 @@ buildGoModule rec { description = "Fully-modern text-based browser, rendering to TTY and browsers"; mainProgram = "browsh"; homepage = "https://www.brow.sh/"; - maintainers = with maintainers; [ kalbasit siraben ]; + maintainers = with maintainers; [ + kalbasit + siraben + ]; license = lib.licenses.lgpl21; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; diff --git a/pkgs/by-name/br/browsr/package.nix b/pkgs/by-name/br/browsr/package.nix index 435577aa567b8..2e564787e4435 100644 --- a/pkgs/by-name/br/browsr/package.nix +++ b/pkgs/by-name/br/browsr/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, extras ? [ "all" ] +{ + lib, + python3, + fetchFromGitHub, + extras ? [ "all" ], }: python3.pkgs.buildPythonApplication rec { @@ -20,19 +21,22 @@ python3.pkgs.buildPythonApplication rec { hatchling ]; - propagatedBuildInputs = with python3.pkgs; [ - art - click - pandas - pillow - pymupdf - pyperclip - rich - rich-click - rich-pixels - textual - textual-universal-directorytree - ] ++ lib.attrVals extras optional-dependencies; + propagatedBuildInputs = + with python3.pkgs; + [ + art + click + pandas + pillow + pymupdf + pyperclip + rich + rich-click + rich-pixels + textual + textual-universal-directorytree + ] + ++ lib.attrVals extras optional-dependencies; optional-dependencies = with python3.pkgs; { all = [ diff --git a/pkgs/by-name/br/brscan4/package.nix b/pkgs/by-name/br/brscan4/package.nix index f4c516ef56981..009232d7b9696 100644 --- a/pkgs/by-name/br/brscan4/package.nix +++ b/pkgs/by-name/br/brscan4/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, libusb-compat-0_1 }: +{ + stdenv, + lib, + fetchurl, + callPackage, + patchelf, + makeWrapper, + libusb-compat-0_1, +}: let myPatchElf = file: '' patchelf --set-interpreter \ @@ -12,23 +20,29 @@ in stdenv.mkDerivation rec { pname = "brscan4"; version = "0.4.10-1"; - src = { - "i686-linux" = fetchurl { - url = "http://download.brother.com/welcome/dlf006646/${pname}-${version}.i386.deb"; - sha256 = "sha256-ymIAg+rfSYP5uzsAM1hUYZacJ0PXmKEoljNtb0pgGMw="; - }; - "x86_64-linux" = fetchurl { - url = "https://download.brother.com/welcome/dlf006645/${pname}-${version}.amd64.deb"; - sha256 = "sha256-Gpr5456MCNpyam3g2qPo7S3aEZFMaUGR8bu7YmRY8xk="; - }; - }."${stdenv.hostPlatform.system}" or (throw "unsupported system ${stdenv.hostPlatform.system}"); + src = + { + "i686-linux" = fetchurl { + url = "http://download.brother.com/welcome/dlf006646/${pname}-${version}.i386.deb"; + sha256 = "sha256-ymIAg+rfSYP5uzsAM1hUYZacJ0PXmKEoljNtb0pgGMw="; + }; + "x86_64-linux" = fetchurl { + url = "https://download.brother.com/welcome/dlf006645/${pname}-${version}.amd64.deb"; + sha256 = "sha256-Gpr5456MCNpyam3g2qPo7S3aEZFMaUGR8bu7YmRY8xk="; + }; + } + ."${stdenv.hostPlatform.system}" or (throw "unsupported system ${stdenv.hostPlatform.system}"); unpackPhase = '' ar x $src tar xfvz data.tar.gz ''; - nativeBuildInputs = [ makeWrapper patchelf udevRules ]; + nativeBuildInputs = [ + makeWrapper + patchelf + udevRules + ]; buildInputs = [ libusb-compat-0_1 ]; dontBuild = true; @@ -88,7 +102,10 @@ stdenv.mkDerivation rec { meta = { description = "Brother brscan4 sane backend driver"; homepage = "http://www.brother.com"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ jraygauthier ]; diff --git a/pkgs/by-name/br/brscan4/udev_rules_type1.nix b/pkgs/by-name/br/brscan4/udev_rules_type1.nix index 05b018215bb1b..87ab8be689e74 100644 --- a/pkgs/by-name/br/brscan4/udev_rules_type1.nix +++ b/pkgs/by-name/br/brscan4/udev_rules_type1.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libsaneUDevRuleNumber ? "49" }: +{ + lib, + stdenv, + fetchurl, + libsaneUDevRuleNumber ? "49", +}: stdenv.mkDerivation rec { pname = "brother-udev-rule-type1"; diff --git a/pkgs/by-name/br/brscan5/package.nix b/pkgs/by-name/br/brscan5/package.nix index 91be20f3abbce..2a0490da9ed59 100644 --- a/pkgs/by-name/br/brscan5/package.nix +++ b/pkgs/by-name/br/brscan5/package.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchurl, patchelf, makeWrapper, libusb1, avahi-compat, glib, libredirect, nixosTests }: +{ + stdenv, + lib, + fetchurl, + patchelf, + makeWrapper, + libusb1, + avahi-compat, + glib, + libredirect, + nixosTests, +}: let myPatchElf = file: '' patchelf --set-interpreter \ @@ -11,24 +22,34 @@ in stdenv.mkDerivation rec { pname = "brscan5"; version = "1.3.1-0"; - src = { - "i686-linux" = fetchurl { - url = "https://download.brother.com/welcome/dlf104034/${pname}-${version}.i386.deb"; - hash = "sha256-BgS64vwsKESJBDz9H2MDwcGiresROSNFP1b+7+zlE5c="; - }; - "x86_64-linux" = fetchurl { - url = "https://download.brother.com/welcome/dlf104033/${pname}-${version}.amd64.deb"; - hash = "sha256-0UMbXMBlyiZI90WG5FWEP2mIZEBsxXd11dtgtyuSDnY="; - }; - }."${system}" or (throw "Unsupported system: ${system}"); + src = + { + "i686-linux" = fetchurl { + url = "https://download.brother.com/welcome/dlf104034/${pname}-${version}.i386.deb"; + hash = "sha256-BgS64vwsKESJBDz9H2MDwcGiresROSNFP1b+7+zlE5c="; + }; + "x86_64-linux" = fetchurl { + url = "https://download.brother.com/welcome/dlf104033/${pname}-${version}.amd64.deb"; + hash = "sha256-0UMbXMBlyiZI90WG5FWEP2mIZEBsxXd11dtgtyuSDnY="; + }; + } + ."${system}" or (throw "Unsupported system: ${system}"); unpackPhase = '' ar x $src tar xfv data.tar.xz ''; - nativeBuildInputs = [ makeWrapper patchelf ]; - buildInputs = [ libusb1 avahi-compat stdenv.cc.cc glib ]; + nativeBuildInputs = [ + makeWrapper + patchelf + ]; + buildInputs = [ + libusb1 + avahi-compat + stdenv.cc.cc + glib + ]; dontBuild = true; postPatch = @@ -37,9 +58,12 @@ stdenv.mkDerivation rec { # to get the offset, run: # strings -n 10 --radix=d opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 | grep "/opt/brother/scanner/brscan5/models" patchOffsetBytes = - if system == "x86_64-linux" then 86592 - else if system == "i686-linux" then 79236 - else throw "Unsupported system: ${system}"; + if system == "x86_64-linux" then + 86592 + else if system == "i686-linux" then + 79236 + else + throw "Unsupported system: ${system}"; in '' ${myPatchElf "opt/brother/scanner/brscan5/brsaneconfig5"} @@ -104,7 +128,10 @@ stdenv.mkDerivation rec { meta = { description = "Brother brscan5 sane backend driver"; homepage = "https://www.brother.com"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ mattchrist ]; diff --git a/pkgs/by-name/br/brunsli/package.nix b/pkgs/by-name/br/brunsli/package.nix index e9d379a74d31d..398d7b0346985 100644 --- a/pkgs/by-name/br/brunsli/package.nix +++ b/pkgs/by-name/br/brunsli/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, brotli +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + brotli, }: stdenv.mkDerivation rec { pname = "brunsli"; version = "0.1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "google"; @@ -33,11 +37,13 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - rm -r third_party - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - rm -r build - ''; + postPatch = + '' + rm -r third_party + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + rm -r build + ''; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/br/brutalmaze/package.nix b/pkgs/by-name/br/brutalmaze/package.nix index 124134eafc142..2846fcabdc7d8 100644 --- a/pkgs/by-name/br/brutalmaze/package.nix +++ b/pkgs/by-name/br/brutalmaze/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromSourcehut, python3Packages }: +{ + lib, + fetchFromSourcehut, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "brutalmaze"; diff --git a/pkgs/by-name/br/brutefir/package.nix b/pkgs/by-name/br/brutefir/package.nix index 47f4648943a1e..c83c8a2461312 100644 --- a/pkgs/by-name/br/brutefir/package.nix +++ b/pkgs/by-name/br/brutefir/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, alsa-lib, fftw, fftwFloat, flex, libjack2 }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + fftw, + fftwFloat, + flex, + libjack2, +}: stdenv.mkDerivation rec { pname = "brutefir"; @@ -27,7 +36,10 @@ stdenv.mkDerivation rec { description = "Software convolution engine"; license = licenses.gpl2Only; maintainers = with maintainers; [ auchter ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; mainProgram = "brutefir"; }; } diff --git a/pkgs/by-name/br/bruteforce-salted-openssl/package.nix b/pkgs/by-name/br/bruteforce-salted-openssl/package.nix index 93a2d66d4edeb..c7f77cf9926a7 100644 --- a/pkgs/by-name/br/bruteforce-salted-openssl/package.nix +++ b/pkgs/by-name/br/bruteforce-salted-openssl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/br/bruteforce-wallet/package.nix b/pkgs/by-name/br/bruteforce-wallet/package.nix index 19344499bd49d..b97d94dd53731 100644 --- a/pkgs/by-name/br/bruteforce-wallet/package.nix +++ b/pkgs/by-name/br/bruteforce-wallet/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, openssl -, db +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, + db, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/br/brutespray/package.nix b/pkgs/by-name/br/brutespray/package.nix index f954f666def13..52bbdf16113af 100644 --- a/pkgs/by-name/br/brutespray/package.nix +++ b/pkgs/by-name/br/brutespray/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, python3 -, fetchFromGitHub -, makeWrapper -, medusa +{ + lib, + stdenv, + python3, + fetchFromGitHub, + makeWrapper, + medusa, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { ''; dontBuild = true; - nativeBuildInputs = [ python3.pkgs.wrapPython makeWrapper ]; + nativeBuildInputs = [ + python3.pkgs.wrapPython + makeWrapper + ]; buildInputs = [ python3 ]; installPhase = '' diff --git a/pkgs/by-name/bs/bschaffl/package.nix b/pkgs/by-name/bs/bschaffl/package.nix index c6dd879152295..e35a04cf453e9 100644 --- a/pkgs/by-name/bs/bschaffl/package.nix +++ b/pkgs/by-name/bs/bschaffl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cairo, + libX11, + lv2, +}: stdenv.mkDerivation rec { pname = "bschaffl"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ cairo libX11 lv2 ]; + buildInputs = [ + cairo + libX11 + lv2 + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bs/bsdbuild/package.nix b/pkgs/by-name/bs/bsdbuild/package.nix index e7b16547d383b..067d7ebbc8ad6 100644 --- a/pkgs/by-name/bs/bsdbuild/package.nix +++ b/pkgs/by-name/bs/bsdbuild/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, perl, libtool, pkg-config, gettext, mandoc, ed }: +{ + lib, + stdenv, + fetchurl, + perl, + libtool, + pkg-config, + gettext, + mandoc, + ed, +}: stdenv.mkDerivation rec { pname = "bsdbuild"; @@ -9,35 +19,43 @@ stdenv.mkDerivation rec { sha256 = "1zrdjh7a6z4khhfw9zrp490afq306cpl5v8wqz2z55ys7k1n5ifl"; }; - buildInputs = [ perl mandoc ed ]; - nativeBuildInputs = [ pkg-config libtool gettext ]; + buildInputs = [ + perl + mandoc + ed + ]; + nativeBuildInputs = [ + pkg-config + libtool + gettext + ]; prePatch = '' - #ignore unfamiliar flags - substituteInPlace configure \ - --replace '--sbindir=*' '--sbindir=* | --includedir=* | --oldincludedir=*' - #same for packages using bsdbuild - substituteInPlace mkconfigure.pl \ - --replace '--sbindir=*' '--sbindir=* | --includedir=* | --oldincludedir=*' - #insert header for missing NULL macro - for f in db4.pm sdl_ttf.pm mysql.pm uim.pm strlcpy.pm getpwuid.pm \ - getaddrinfo.pm strtoll.pm free_null.pm getpwnam_r.pm \ - gettimeofday.pm gethostbyname.pm xinerama.pm strsep.pm \ - fontconfig.pm gettext.pm pthreads.pm strlcat.pm kqueue.pm wgl.pm \ - alsa.pm crypt.pm cracklib.pm freesg-rg.pm edacious.pm mmap.pm \ - agar.pm x11.pm x11.pm execvp.pm agar-core.pm dyld.pm getopt.pm \ - strtold.pm sdl_image.pm shl_load.pm glx.pm percgi.pm timerfd.pm \ - glob.pm dlopen.pm freesg.pm csidl.pm perl.pm select.pm \ - portaudio.pm etubestore.pm; - do -ed -s -v BSDBuild/$f << EOF -/#include -i -#include -. -w -EOF - done + #ignore unfamiliar flags + substituteInPlace configure \ + --replace '--sbindir=*' '--sbindir=* | --includedir=* | --oldincludedir=*' + #same for packages using bsdbuild + substituteInPlace mkconfigure.pl \ + --replace '--sbindir=*' '--sbindir=* | --includedir=* | --oldincludedir=*' + #insert header for missing NULL macro + for f in db4.pm sdl_ttf.pm mysql.pm uim.pm strlcpy.pm getpwuid.pm \ + getaddrinfo.pm strtoll.pm free_null.pm getpwnam_r.pm \ + gettimeofday.pm gethostbyname.pm xinerama.pm strsep.pm \ + fontconfig.pm gettext.pm pthreads.pm strlcat.pm kqueue.pm wgl.pm \ + alsa.pm crypt.pm cracklib.pm freesg-rg.pm edacious.pm mmap.pm \ + agar.pm x11.pm x11.pm execvp.pm agar-core.pm dyld.pm getopt.pm \ + strtold.pm sdl_image.pm shl_load.pm glx.pm percgi.pm timerfd.pm \ + glob.pm dlopen.pm freesg.pm csidl.pm perl.pm select.pm \ + portaudio.pm etubestore.pm; + do + ed -s -v BSDBuild/$f << EOF + /#include + i + #include + . + w + EOF + done ''; configureFlags = [ diff --git a/pkgs/by-name/bs/bsdgames/package.nix b/pkgs/by-name/bs/bsdgames/package.nix index c837ba39b444a..a134b4c8c2913 100644 --- a/pkgs/by-name/bs/bsdgames/package.nix +++ b/pkgs/by-name/bs/bsdgames/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, ncurses, openssl, flex, bison, less, miscfiles }: +{ + lib, + stdenv, + fetchurl, + ncurses, + openssl, + flex, + bison, + less, + miscfiles, +}: stdenv.mkDerivation rec { pname = "bsd-games"; @@ -9,7 +19,12 @@ stdenv.mkDerivation rec { hash = "sha256-Bm+SSu9sHF6pRvWI428wMCH138CTlEc48CXY7bxv/2A="; }; - buildInputs = [ ncurses openssl flex bison ]; + buildInputs = [ + ncurses + openssl + flex + bison + ]; patches = [ # Remove UTMPX support on Makefrag file @@ -63,7 +78,7 @@ stdenv.mkDerivation rec { homepage = "http://www.t2-project.org/packages/bsd-games.html"; description = "Ports of all the games from NetBSD-current that are free"; license = lib.licenses.free; - maintainers = with lib.maintainers; [viric]; + maintainers = with lib.maintainers; [ viric ]; platforms = with lib.platforms; linux; }; } diff --git a/pkgs/by-name/bs/bsdiff/package.nix b/pkgs/by-name/bs/bsdiff/package.nix index e5be1e515b5ae..666d9c2690fd4 100644 --- a/pkgs/by-name/bs/bsdiff/package.nix +++ b/pkgs/by-name/bs/bsdiff/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, bzip2 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + bzip2, +}: stdenv.mkDerivation rec { pname = "bsdiff"; @@ -10,27 +16,29 @@ stdenv.mkDerivation rec { }; buildInputs = [ bzip2 ]; - patches = [ - (fetchpatch { - url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/20-CVE-2014-9862.patch"; - sha256 = "sha256-3UuUfNvShQ8fLqxCKUTb/n4BmjL4+Nl7aEqCxYrrERQ="; - }) - ./CVE-2020-14315.patch - ./include-systypes.patch - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - (fetchpatch { - url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/30-bug-632585-mmap-src-file-instead-of-malloc-read-it.patch"; - sha256 = "sha256-esbhz2/efUiuQDuF7LGfSeEn3/f1WbqCxQpTs2A0ulI="; - }) - (fetchpatch { - url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/31-bug-632585-mmap-dst-file-instead-of-malloc-read-it.patch"; - sha256 = "sha256-Of4aOcI0rsgdRzPqyw2VRn2p9wQuo3hdlgDTBdXGzoc="; - }) - (fetchpatch { - url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/32-bug-632585-use-int32_t-instead-off_t-for-file-size.patch"; - sha256 = "sha256-SooFnFK4uKNXvXQb/LEcH8GocnRtkryExI4b3BZTsAY="; - }) - ]; + patches = + [ + (fetchpatch { + url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/20-CVE-2014-9862.patch"; + sha256 = "sha256-3UuUfNvShQ8fLqxCKUTb/n4BmjL4+Nl7aEqCxYrrERQ="; + }) + ./CVE-2020-14315.patch + ./include-systypes.patch + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + (fetchpatch { + url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/30-bug-632585-mmap-src-file-instead-of-malloc-read-it.patch"; + sha256 = "sha256-esbhz2/efUiuQDuF7LGfSeEn3/f1WbqCxQpTs2A0ulI="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/31-bug-632585-mmap-dst-file-instead-of-malloc-read-it.patch"; + sha256 = "sha256-Of4aOcI0rsgdRzPqyw2VRn2p9wQuo3hdlgDTBdXGzoc="; + }) + (fetchpatch { + url = "https://sources.debian.org/data/main/b/bsdiff/4.3-22/debian/patches/32-bug-632585-use-int32_t-instead-off_t-for-file-size.patch"; + sha256 = "sha256-SooFnFK4uKNXvXQb/LEcH8GocnRtkryExI4b3BZTsAY="; + }) + ]; buildPhase = '' $CC -O3 -lbz2 bspatch.c -o bspatch diff --git a/pkgs/by-name/bs/bsequencer/package.nix b/pkgs/by-name/bs/bsequencer/package.nix index 00f99adf7bac2..965195fe0360a 100644 --- a/pkgs/by-name/bs/bsequencer/package.nix +++ b/pkgs/by-name/bs/bsequencer/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "bsequencer"; @@ -13,7 +21,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 cairo lv2 + xorg.libX11 + cairo + lv2 ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bs/bshapr/package.nix b/pkgs/by-name/bs/bshapr/package.nix index 728c60b2e86fd..884ae2cb47bdd 100644 --- a/pkgs/by-name/bs/bshapr/package.nix +++ b/pkgs/by-name/bs/bshapr/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "bshapr"; @@ -13,7 +21,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 cairo lv2 + xorg.libX11 + cairo + lv2 ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bs/bslizr/package.nix b/pkgs/by-name/bs/bslizr/package.nix index df81e0960b31a..ecd0622094cd4 100644 --- a/pkgs/by-name/bs/bslizr/package.nix +++ b/pkgs/by-name/bs/bslizr/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "bslizr"; @@ -13,7 +21,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 cairo lv2 + xorg.libX11 + cairo + lv2 ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bs/bsp-layout/package.nix b/pkgs/by-name/bs/bsp-layout/package.nix index e0348fb9207ef..ddc296c550f7b 100644 --- a/pkgs/by-name/bs/bsp-layout/package.nix +++ b/pkgs/by-name/bs/bsp-layout/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, git -, bc -, bspwm +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + git, + bc, + bspwm, }: stdenv.mkDerivation rec { @@ -18,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-7bBVWJdgAnXLWzjQGZxVqhku2rsxX2kMxU4xkI9/DHE="; }; - nativeBuildInputs = [ makeWrapper git bc ]; + nativeBuildInputs = [ + makeWrapper + git + bc + ]; buildInputs = [ bspwm ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bs/bspwm/package.nix b/pkgs/by-name/bs/bspwm/package.nix index bfd18f2f02a9c..83aa6961c2fff 100644 --- a/pkgs/by-name/bs/bspwm/package.nix +++ b/pkgs/by-name/bs/bspwm/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libxcb, libXinerama -, xcbutil, xcbutilkeysyms, xcbutilwm +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, + libXinerama, + xcbutil, + xcbutilkeysyms, + xcbutilwm, }: stdenv.mkDerivation rec { @@ -7,13 +14,19 @@ stdenv.mkDerivation rec { version = "0.9.10"; src = fetchFromGitHub { - owner = "baskerville"; - repo = "bspwm"; - rev = version; + owner = "baskerville"; + repo = "bspwm"; + rev = version; sha256 = "0qlv7b4c2mmjfd65y100d11x8iqyg5f6lfiws3cgmpjidhdygnxc"; }; - buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ]; + buildInputs = [ + libxcb + libXinerama + xcbutil + xcbutilkeysyms + xcbutilwm + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/bs/bstone/package.nix b/pkgs/by-name/bs/bstone/package.nix index c43cc70bacf39..5ac23cb98b21c 100644 --- a/pkgs/by-name/bs/bstone/package.nix +++ b/pkgs/by-name/bs/bstone/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, cmake -, gcc12Stdenv -, SDL2 -, libGL +{ + lib, + fetchFromGitHub, + cmake, + gcc12Stdenv, + SDL2, + libGL, }: gcc12Stdenv.mkDerivation (finalAttrs: { @@ -41,6 +42,6 @@ gcc12Stdenv.mkDerivation (finalAttrs: { ]; maintainers = with lib.maintainers; [ keenanweaver ]; mainProgram = "bstone"; - platforms = lib.platforms.linux; #TODO: macOS / Darwin support + platforms = lib.platforms.linux; # TODO: macOS / Darwin support }; }) diff --git a/pkgs/by-name/bs/bsync/package.nix b/pkgs/by-name/bs/bsync/package.nix index 0a49bea9eefae..571b98ddb8643 100644 --- a/pkgs/by-name/bs/bsync/package.nix +++ b/pkgs/by-name/bs/bsync/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, stdenv -, makeWrapper -, python3 -, openssh -, rsync -, findutils -, which +{ + lib, + fetchFromGitHub, + stdenv, + makeWrapper, + python3, + openssh, + rsync, + findutils, + which, }: stdenv.mkDerivation { @@ -14,10 +15,10 @@ stdenv.mkDerivation { version = "unstable-2023-12-21"; src = fetchFromGitHub { - owner = "dooblem"; - repo = "bsync"; - rev = "25f77730750720ad68b0ab2773e79d9ca98c3647"; - hash = "sha256-k25MjLis0/dp1TTS4aFeJZq/c0T01LmNcWtC+dw/kKY="; + owner = "dooblem"; + repo = "bsync"; + rev = "25f77730750720ad68b0ab2773e79d9ca98c3647"; + hash = "sha256-k25MjLis0/dp1TTS4aFeJZq/c0T01LmNcWtC+dw/kKY="; }; installPhase = '' @@ -26,24 +27,31 @@ stdenv.mkDerivation { runHook postInstall ''; -nativeBuildInputs = [ makeWrapper ]; -buildInputs = [ python3 ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python3 ]; -fixupPhase = '' - runHook preFixup + fixupPhase = '' + runHook preFixup - patchShebangs $out/bin/bsync - wrapProgram $out/bin/bsync \ - --prefix PATH ":" ${lib.makeLibraryPath [ openssh rsync findutils which ]} + patchShebangs $out/bin/bsync + wrapProgram $out/bin/bsync \ + --prefix PATH ":" ${ + lib.makeLibraryPath [ + openssh + rsync + findutils + which + ] + } - runHook postFixup -''; + runHook postFixup + ''; meta = with lib; { homepage = "https://github.com/dooblem/bsync"; description = "Bidirectional Synchronization using Rsync"; license = licenses.gpl3Only; - maintainers = with maintainers; [ dietmarw ]; + maintainers = with maintainers; [ dietmarw ]; platforms = platforms.unix; mainProgram = "bsync"; }; diff --git a/pkgs/by-name/bt/bt-fw-converter/package.nix b/pkgs/by-name/bt/bt-fw-converter/package.nix index 655b8f7ddedd9..5a0175069e306 100644 --- a/pkgs/by-name/bt/bt-fw-converter/package.nix +++ b/pkgs/by-name/bt/bt-fw-converter/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, makeWrapper, perl, perlPackages, bluez }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + perl, + perlPackages, + bluez, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "bt-fw-converter"; version = "2017-02-19"; rev = "2d8b34402df01c6f7f4b8622de9e8b82fadf4153"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl perlPackages.RegexpGrammars bluez ]; + buildInputs = [ + perl + perlPackages.RegexpGrammars + bluez + ]; unpackCmd = '' mkdir -p ${pname}-${version} diff --git a/pkgs/by-name/bt/bt-migrate/package.nix b/pkgs/by-name/bt/bt-migrate/package.nix index 26701d1dc4f25..e10258e9c8c1f 100644 --- a/pkgs/by-name/bt/bt-migrate/package.nix +++ b/pkgs/by-name/bt/bt-migrate/package.nix @@ -1,14 +1,15 @@ -{ lib -, boost -, cmake -, cxxopts -, digestpp -, fetchFromGitHub -, fmt -, jsoncons -, pugixml -, sqlite_orm -, stdenv +{ + lib, + boost, + cmake, + cxxopts, + digestpp, + fetchFromGitHub, + fmt, + jsoncons, + pugixml, + sqlite_orm, + stdenv, }: stdenv.mkDerivation { pname = "bt-migrate"; diff --git a/pkgs/by-name/bt/btar/package.nix b/pkgs/by-name/bt/btar/package.nix index f5ac2ce65d413..9c92464bf481d 100644 --- a/pkgs/by-name/bt/btar/package.nix +++ b/pkgs/by-name/bt/btar/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, librsync }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + librsync, +}: stdenv.mkDerivation rec { pname = "btar"; diff --git a/pkgs/by-name/bt/btc-rpc-explorer/package.nix b/pkgs/by-name/bt/btc-rpc-explorer/package.nix index babfe9400532f..912c34f69ed8a 100644 --- a/pkgs/by-name/bt/btc-rpc-explorer/package.nix +++ b/pkgs/by-name/bt/btc-rpc-explorer/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, pkg-config -, python3 -, vips +{ + lib, + buildNpmPackage, + fetchFromGitHub, + pkg-config, + python3, + vips, }: buildNpmPackage rec { @@ -43,7 +44,8 @@ buildNpmPackage rec { license = lib.licenses.mit; mainProgram = "btc-rpc-explorer"; maintainers = with lib.maintainers; [ d-xo ]; - broken = true; # At 2024-06-29 - # https://hydra.nixos.org/build/264232177/nixlog/1 + broken = true; + # At 2024-06-29 + # https://hydra.nixos.org/build/264232177/nixlog/1 }; } diff --git a/pkgs/by-name/bt/btcd/package.nix b/pkgs/by-name/bt/btcd/package.nix index aeda8019c10dd..3ea386726b76a 100644 --- a/pkgs/by-name/bt/btcd/package.nix +++ b/pkgs/by-name/bt/btcd/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "btcd"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-ek+gaolwpwoEEWHKYpK2OxCpk/0vywF784J3CC0UCZ4="; - subPackages = [ "." "cmd/*" ]; + subPackages = [ + "." + "cmd/*" + ]; preCheck = '' DIR="github.com/btcsuite/btcd/" diff --git a/pkgs/by-name/bt/btcdeb/package.nix b/pkgs/by-name/bt/btcdeb/package.nix index 81f9241453f57..2ffe238390b0f 100644 --- a/pkgs/by-name/bt/btcdeb/package.nix +++ b/pkgs/by-name/bt/btcdeb/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, openssl -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + openssl, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -17,12 +19,15 @@ stdenv.mkDerivation { hash = "sha256-heV5VByNZ/2doGVtYhGEei4fV4847UPVgOyU0PDDHc8="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ openssl ]; enableParallelBuilding = true; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Bitcoin Script Debugger"; diff --git a/pkgs/by-name/bt/btdu/package.nix b/pkgs/by-name/bt/btdu/package.nix index 833d339277912..2bd50fc95878b 100644 --- a/pkgs/by-name/bt/btdu/package.nix +++ b/pkgs/by-name/bt/btdu/package.nix @@ -36,7 +36,10 @@ buildDubPackage rec { changelog = "https://github.com/CyberShadow/btdu/releases/tag/${src.rev}"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ atila cybershadow ]; + maintainers = with maintainers; [ + atila + cybershadow + ]; mainProgram = "btdu"; }; } diff --git a/pkgs/by-name/bt/btfs/package.nix b/pkgs/by-name/bt/btfs/package.nix index 04a3e104c1cf2..d63950aac6acc 100644 --- a/pkgs/by-name/bt/btfs/package.nix +++ b/pkgs/by-name/bt/btfs/package.nix @@ -1,27 +1,44 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, python3, boost, fuse, libtorrent-rasterbar, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + python3, + boost, + fuse, + libtorrent-rasterbar, + curl, +}: stdenv.mkDerivation rec { pname = "btfs"; version = "2.24"; src = fetchFromGitHub { - owner = "johang"; - repo = pname; - rev = "v${version}"; + owner = "johang"; + repo = pname; + rev = "v${version}"; sha256 = "sha256-fkS0U/MqFRQNi+n7NE4e1cnNICvfST2IQ9FMoJUyj6w="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ - boost fuse libtorrent-rasterbar curl python3 + boost + fuse + libtorrent-rasterbar + curl + python3 ]; meta = with lib; { description = "Bittorrent filesystem based on FUSE"; - homepage = "https://github.com/johang/btfs"; - license = licenses.gpl3; + homepage = "https://github.com/johang/btfs"; + license = licenses.gpl3; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/bt/btor2tools/package.nix b/pkgs/by-name/bt/btor2tools/package.nix index 19bb53fb766b0..cd361ebca743e 100644 --- a/pkgs/by-name/bt/btor2tools/package.nix +++ b/pkgs/by-name/bt/btor2tools/package.nix @@ -1,13 +1,20 @@ -{ lib, stdenv, cmake, fetchFromGitHub, fetchpatch, fixDarwinDylibNames }: +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "btor2tools"; version = "unstable-2024-08-07"; src = fetchFromGitHub { - owner = "boolector"; - repo = "btor2tools"; - rev = "44bcadbfede292ff4c4a4a8962cc18130de522fb"; + owner = "boolector"; + repo = "btor2tools"; + rev = "44bcadbfede292ff4c4a4a8962cc18130de522fb"; sha256 = "0ncl4xwms8d656x95ga8v8zjybx4cmdl5hlcml7dpcgm3p8qj4ks"; }; @@ -32,20 +39,26 @@ stdenv.mkDerivation rec { runHook postInstallCheck ''; - outputs = [ "out" "dev" "lib" ]; - - cmakeFlags = [ - # RPATH of binary /nix/store/.../bin/btorsim contains a forbidden reference to /build/ - "-DCMAKE_SKIP_BUILD_RPATH=ON" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" + outputs = [ + "out" + "dev" + "lib" ]; + cmakeFlags = + [ + # RPATH of binary /nix/store/.../bin/btorsim contains a forbidden reference to /build/ + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" + ]; + meta = with lib; { description = "Generic parser and tool package for the BTOR2 format"; - homepage = "https://github.com/Boolector/btor2tools"; - license = licenses.mit; - platforms = platforms.unix; + homepage = "https://github.com/Boolector/btor2tools"; + license = licenses.mit; + platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/bt/btrbk/package.nix b/pkgs/by-name/bt/btrbk/package.nix index 19dcb047f2e9e..dad8be36e5947 100644 --- a/pkgs/by-name/bt/btrbk/package.nix +++ b/pkgs/by-name/bt/btrbk/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, bash -, btrfs-progs -, openssh -, perl -, perlPackages -, util-linux -, asciidoctor -, mbuffer -, makeWrapper -, genericUpdater -, curl -, writeShellScript -, nixosTests +{ + lib, + stdenv, + fetchurl, + bash, + btrfs-progs, + openssh, + perl, + perlPackages, + util-linux, + asciidoctor, + mbuffer, + makeWrapper, + genericUpdater, + curl, + writeShellScript, + nixosTests, }: stdenv.mkDerivation rec { @@ -25,9 +26,15 @@ stdenv.mkDerivation rec { sha256 = "AuKsZHyRhGMgLL5ge7lVV6T3/SNwaRJDM8VNpbK7t2s="; }; - nativeBuildInputs = [ asciidoctor makeWrapper ]; + nativeBuildInputs = [ + asciidoctor + makeWrapper + ]; - buildInputs = with perlPackages; [ perl DateCalc ]; + buildInputs = with perlPackages; [ + perl + DateCalc + ]; preInstall = '' for f in $(find . -name Makefile); do @@ -50,11 +57,23 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/btrbk \ --set PERL5LIB $PERL5LIB \ --run 'export program_name=$0' \ - --prefix PATH ':' "${lib.makeBinPath [ btrfs-progs bash mbuffer openssh ]}" + --prefix PATH ':' "${ + lib.makeBinPath [ + btrfs-progs + bash + mbuffer + openssh + ] + }" ''; passthru.tests = { - inherit (nixosTests) btrbk btrbk-no-timer btrbk-section-order btrbk-doas; + inherit (nixosTests) + btrbk + btrbk-no-timer + btrbk-section-order + btrbk-doas + ; }; passthru.updateScript = genericUpdater { diff --git a/pkgs/by-name/bt/btrfs-heatmap/package.nix b/pkgs/by-name/bt/btrfs-heatmap/package.nix index ee09a25ceb146..ff7bc2a9462d7 100644 --- a/pkgs/by-name/bt/btrfs-heatmap/package.nix +++ b/pkgs/by-name/bt/btrfs-heatmap/package.nix @@ -1,7 +1,9 @@ -{ stdenv, lib -, fetchFromGitHub -, python3 -, installShellFiles +{ + stdenv, + lib, + fetchFromGitHub, + python3, + installShellFiles, }: stdenv.mkDerivation rec { @@ -16,9 +18,15 @@ stdenv.mkDerivation rec { }; buildInputs = [ python3 ]; - nativeBuildInputs = [ python3.pkgs.wrapPython installShellFiles ]; - - outputs = [ "out" "man" ]; + nativeBuildInputs = [ + python3.pkgs.wrapPython + installShellFiles + ]; + + outputs = [ + "out" + "man" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/bt/btrfs-progs/package.nix b/pkgs/by-name/bt/btrfs-progs/package.nix index cb3e12d8271e3..93b7916135bef 100644 --- a/pkgs/by-name/bt/btrfs-progs/package.nix +++ b/pkgs/by-name/bt/btrfs-progs/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchurl -, buildPackages -, pkg-config -, zstd -, acl, attr, e2fsprogs, libuuid, lzo, udev, zlib -, runCommand, btrfs-progs -, gitUpdater -, udevSupport ? true +{ + lib, + stdenv, + fetchurl, + buildPackages, + pkg-config, + zstd, + acl, + attr, + e2fsprogs, + libuuid, + lzo, + udev, + zlib, + runCommand, + btrfs-progs, + gitUpdater, + udevSupport ? true, }: stdenv.mkDerivation rec { @@ -17,16 +27,29 @@ stdenv.mkDerivation rec { hash = "sha256-mn2WUf/VL75SEqjkhSo82weePSI/xVBOalCwupbNIKE="; }; - nativeBuildInputs = [ - pkg-config - ] ++ [ - (buildPackages.python3.withPackages (ps: with ps; [ - sphinx - sphinx-rtd-theme - ])) - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ [ + (buildPackages.python3.withPackages ( + ps: with ps; [ + sphinx + sphinx-rtd-theme + ] + )) + ]; - buildInputs = [ acl attr e2fsprogs libuuid lzo udev zlib zstd ]; + buildInputs = [ + acl + attr + e2fsprogs + libuuid + lzo + udev + zlib + zstd + ]; # gcc bug with -O1 on ARM with gcc 4.8 # This should be fine on all platforms so apply universally @@ -36,21 +59,24 @@ stdenv.mkDerivation rec { install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs ''; - configureFlags = [ - # Built separately, see python3Packages.btrfsutil - "--disable-python" - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - "--disable-backtrace" - ] ++ lib.optionals (!udevSupport) [ - "--disable-libudev" - ]; + configureFlags = + [ + # Built separately, see python3Packages.btrfsutil + "--disable-python" + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + "--disable-backtrace" + ] + ++ lib.optionals (!udevSupport) [ + "--disable-libudev" + ]; makeFlags = [ "udevruledir=$(out)/lib/udev/rules.d" ]; enableParallelBuilding = true; passthru.tests = { - simple-filesystem = runCommand "btrfs-progs-create-fs" {} '' + simple-filesystem = runCommand "btrfs-progs-create-fs" { } '' mkdir -p $out truncate -s110M $out/disc ${btrfs-progs}/bin/mkfs.btrfs $out/disc | tee $out/success diff --git a/pkgs/by-name/bt/btrfs-snap/package.nix b/pkgs/by-name/bt/btrfs-snap/package.nix index 40838c1fed62e..9244674ef113b 100644 --- a/pkgs/by-name/bt/btrfs-snap/package.nix +++ b/pkgs/by-name/bt/btrfs-snap/package.nix @@ -1,4 +1,14 @@ -{ bash, btrfs-progs, coreutils, fetchFromGitHub, gnugrep, lib, makeWrapper, stdenvNoCC, util-linuxMinimal }: +{ + bash, + btrfs-progs, + coreutils, + fetchFromGitHub, + gnugrep, + lib, + makeWrapper, + stdenvNoCC, + util-linuxMinimal, +}: stdenvNoCC.mkDerivation rec { pname = "btrfs-snap"; version = "1.7.3"; @@ -15,12 +25,14 @@ stdenvNoCC.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp btrfs-snap $out/bin/ - wrapProgram $out/bin/btrfs-snap --prefix PATH : ${lib.makeBinPath [ - btrfs-progs # btrfs - coreutils # cut, date, head, ls, mkdir, readlink, stat, tail, touch, test, [ - gnugrep # grep - util-linuxMinimal # logger, mount - ]} + wrapProgram $out/bin/btrfs-snap --prefix PATH : ${ + lib.makeBinPath [ + btrfs-progs # btrfs + coreutils # cut, date, head, ls, mkdir, readlink, stat, tail, touch, test, [ + gnugrep # grep + util-linuxMinimal # logger, mount + ] + } ''; meta = with lib; { description = "Create and maintain the history of snapshots of btrfs filesystems"; @@ -29,5 +41,5 @@ stdenvNoCC.mkDerivation rec { license = licenses.gpl3Only; maintainers = with maintainers; [ lionello ]; platforms = platforms.linux; - }; + }; } diff --git a/pkgs/by-name/bu/bubblemail/package.nix b/pkgs/by-name/bu/bubblemail/package.nix index add8f6c4e0986..f1d3150034f6e 100644 --- a/pkgs/by-name/bu/bubblemail/package.nix +++ b/pkgs/by-name/bu/bubblemail/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitLab -, gettext -, gtk3 -, python3Packages -, gdk-pixbuf -, libnotify -, gst_all_1 -, libsecret -, wrapGAppsHook3 -, gsettings-desktop-schemas -, gnome-online-accounts -, glib -, gobject-introspection -, folks -, bash +{ + lib, + fetchFromGitLab, + gettext, + gtk3, + python3Packages, + gdk-pixbuf, + libnotify, + gst_all_1, + libsecret, + wrapGAppsHook3, + gsettings-desktop-schemas, + gnome-online-accounts, + glib, + gobject-introspection, + folks, + bash, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/bu/bubblewrap/package.nix b/pkgs/by-name/bu/bubblewrap/package.nix index e4a028cb59002..eba4f666e176e 100644 --- a/pkgs/by-name/bu/bubblewrap/package.nix +++ b/pkgs/by-name/bu/bubblewrap/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, docbook_xsl -, libxslt -, meson -, ninja -, pkg-config -, bash-completion -, libcap -, libselinux +{ + lib, + stdenv, + fetchFromGitHub, + docbook_xsl, + libxslt, + meson, + ninja, + pkg-config, + bash-completion, + libcap, + libselinux, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/bu/buddy/package.nix b/pkgs/by-name/bu/buddy/package.nix index eb9d146291d9b..9ca2ad864f4b2 100644 --- a/pkgs/by-name/bu/buddy/package.nix +++ b/pkgs/by-name/bu/buddy/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, bison }: +{ + lib, + stdenv, + fetchurl, + bison, +}: stdenv.mkDerivation rec { pname = "buddy"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { buildInputs = [ bison ]; patches = [ ./gcc-4.3.3-fixes.patch ]; - configureFlags = [ "CFLAGS=-O3" "CXXFLAGS=-O3" ]; + configureFlags = [ + "CFLAGS=-O3" + "CXXFLAGS=-O3" + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=register"; NIX_LDFLAGS = "-lm"; doCheck = true; diff --git a/pkgs/by-name/bu/buffer/package.nix b/pkgs/by-name/bu/buffer/package.nix index 862b64f7748d8..1482119defbf4 100644 --- a/pkgs/by-name/bu/buffer/package.nix +++ b/pkgs/by-name/bu/buffer/package.nix @@ -1,17 +1,18 @@ -{ lib -, desktop-file-utils -, fetchFromGitLab -, gobject-introspection -, gtk4 -, gtksourceview5 -, libadwaita -, libspelling -, meson -, ninja -, pkg-config -, python3 -, stdenv -, wrapGAppsHook4 +{ + lib, + desktop-file-utils, + fetchFromGitLab, + gobject-introspection, + gtk4, + gtksourceview5, + libadwaita, + libspelling, + meson, + ninja, + pkg-config, + python3, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { @@ -40,9 +41,11 @@ stdenv.mkDerivation (finalAttrs: { gtksourceview5 libadwaita libspelling - (python3.withPackages (ps: with ps; [ - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + ] + )) ]; preFixup = '' diff --git a/pkgs/by-name/bu/bufisk/package.nix b/pkgs/by-name/bu/bufisk/package.nix index 6cc70a24563ca..930c15f608795 100644 --- a/pkgs/by-name/bu/bufisk/package.nix +++ b/pkgs/by-name/bu/bufisk/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-iv5zIn9C56AQB87T+n5fJzm/fhBFBUObFwrlJ72A/J4="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/bufbuild/bufisk"; diff --git a/pkgs/by-name/bu/bugstalker/package.nix b/pkgs/by-name/bu/bugstalker/package.nix index ac1174f5cdd3f..9ac50950fb398 100644 --- a/pkgs/by-name/bu/bugstalker/package.nix +++ b/pkgs/by-name/bu/bugstalker/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libunwind +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libunwind, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/bu/buildkite-agent-metrics/package.nix b/pkgs/by-name/bu/buildkite-agent-metrics/package.nix index 9d6dc124795ae..7f1428fcff83e 100644 --- a/pkgs/by-name/bu/buildkite-agent-metrics/package.nix +++ b/pkgs/by-name/bu/buildkite-agent-metrics/package.nix @@ -1,12 +1,16 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "buildkite-agent-metrics"; version = "5.9.10"; - outputs = [ "out" "lambda" ]; + outputs = [ + "out" + "lambda" + ]; src = fetchFromGitHub { owner = "buildkite"; diff --git a/pkgs/by-name/bu/buildkite-agent/package.nix b/pkgs/by-name/bu/buildkite-agent/package.nix index 5eec3d1ebbea0..a846606d836e8 100644 --- a/pkgs/by-name/bu/buildkite-agent/package.nix +++ b/pkgs/by-name/bu/buildkite-agent/package.nix @@ -1,15 +1,16 @@ -{ fetchFromGitHub -, lib -, buildGoModule -, makeWrapper -, coreutils -, git -, openssh -, bash -, gnused -, gnugrep -, gitUpdater -, nixosTests +{ + fetchFromGitHub, + lib, + buildGoModule, + makeWrapper, + coreutils, + git, + openssh, + bash, + gnused, + gnugrep, + gitUpdater, + nixosTests, }: buildGoModule rec { pname = "buildkite-agent"; @@ -38,7 +39,15 @@ buildGoModule rec { # These are runtime dependencies wrapProgram $out/bin/buildkite-agent \ - --prefix PATH : '${lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}' + --prefix PATH : '${ + lib.makeBinPath [ + openssh + git + coreutils + gnused + gnugrep + ] + }' ''; passthru = { @@ -59,7 +68,12 @@ buildGoModule rec { ''; homepage = "https://buildkite.com/docs/agent"; license = licenses.mit; - maintainers = with maintainers; [ pawelpacana zimbatm jsoo1 techknowlogick ]; + maintainers = with maintainers; [ + pawelpacana + zimbatm + jsoo1 + techknowlogick + ]; platforms = with platforms; unix ++ darwin; }; } diff --git a/pkgs/by-name/bu/buildkite-cli/package.nix b/pkgs/by-name/bu/buildkite-cli/package.nix index 9a9957a99aa7a..37491a5a9697a 100644 --- a/pkgs/by-name/bu/buildkite-cli/package.nix +++ b/pkgs/by-name/bu/buildkite-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "buildkite-cli"; @@ -21,7 +25,11 @@ buildGoModule rec { subPackages = [ "cmd/bk" ]; - ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.VERSION=${version}" + ]; meta = with lib; { description = "Command line interface for Buildkite"; diff --git a/pkgs/by-name/bu/buildtorrent/package.nix b/pkgs/by-name/bu/buildtorrent/package.nix index e6a800dc54675..001cb8da5b929 100644 --- a/pkgs/by-name/bu/buildtorrent/package.nix +++ b/pkgs/by-name/bu/buildtorrent/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "buildtorrent"; diff --git a/pkgs/by-name/bu/buku/package.nix b/pkgs/by-name/bu/buku/package.nix index 36d4000214adc..edd09870b8132 100644 --- a/pkgs/by-name/bu/buku/package.nix +++ b/pkgs/by-name/bu/buku/package.nix @@ -1,4 +1,9 @@ -{ lib, python3, fetchFromGitHub, withServer ? false }: +{ + lib, + python3, + fetchFromGitHub, + withServer ? false, +}: let serverRequire = with python3.pkgs; [ @@ -16,7 +21,8 @@ let toml ]; in -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { version = "4.8"; pname = "buku"; pyproject = true; @@ -53,28 +59,32 @@ with python3.pkgs; buildPythonApplication rec { html5lib ] ++ lib.optionals withServer serverRequire; - preCheck = '' - # Disables a test which requires internet - substituteInPlace tests/test_bukuDb.py \ - --replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \ - --replace "self.assertEqual(shorturl, \"http://tny.im/yt\")" "" \ - --replace "self.assertEqual(url, \"https://www.google.com\")" "" - substituteInPlace setup.py \ - --replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1 - '' + lib.optionalString (!withServer) '' - rm tests/test_{server,views}.py - ''; + preCheck = + '' + # Disables a test which requires internet + substituteInPlace tests/test_bukuDb.py \ + --replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \ + --replace "self.assertEqual(shorturl, \"http://tny.im/yt\")" "" \ + --replace "self.assertEqual(url, \"https://www.google.com\")" "" + substituteInPlace setup.py \ + --replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1 + '' + + lib.optionalString (!withServer) '' + rm tests/test_{server,views}.py + ''; - postInstall = '' - make install PREFIX=$out + postInstall = + '' + make install PREFIX=$out - mkdir -p $out/share/zsh/site-functions $out/share/bash-completion/completions $out/share/fish/vendor_completions.d - cp auto-completion/zsh/* $out/share/zsh/site-functions - cp auto-completion/bash/* $out/share/bash-completion/completions - cp auto-completion/fish/* $out/share/fish/vendor_completions.d - '' + lib.optionalString (!withServer) '' - rm $out/bin/bukuserver - ''; + mkdir -p $out/share/zsh/site-functions $out/share/bash-completion/completions $out/share/fish/vendor_completions.d + cp auto-completion/zsh/* $out/share/zsh/site-functions + cp auto-completion/bash/* $out/share/bash-completion/completions + cp auto-completion/fish/* $out/share/fish/vendor_completions.d + '' + + lib.optionalString (!withServer) '' + rm $out/bin/bukuserver + ''; meta = with lib; { description = "Private cmdline bookmark manager"; diff --git a/pkgs/by-name/bu/bukubrow/package.nix b/pkgs/by-name/bu/bukubrow/package.nix index ee40cb0f10482..92c3c56b8be66 100644 --- a/pkgs/by-name/bu/bukubrow/package.nix +++ b/pkgs/by-name/bu/bukubrow/package.nix @@ -1,13 +1,20 @@ -{ lib, rustPlatform, fetchFromGitHub, sqlite }: let +{ + lib, + rustPlatform, + fetchFromGitHub, + sqlite, +}: +let -manifest = { - description = "Bukubrow extension host application"; - name = "com.samhh.bukubrow"; - path = "@out@/bin/bukubrow"; - type = "stdio"; -}; + manifest = { + description = "Bukubrow extension host application"; + name = "com.samhh.bukubrow"; + path = "@out@/bin/bukubrow"; + type = "stdio"; + }; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "bukubrow-host"; version = "5.4.0"; @@ -22,13 +29,22 @@ in rustPlatform.buildRustPackage rec { buildInputs = [ sqlite ]; - passAsFile = [ "firefoxManifest" "chromeManifest" ]; - firefoxManifest = builtins.toJSON (manifest // { - allowed_extensions = [ "bukubrow@samhh.com" ]; - }); - chromeManifest = builtins.toJSON (manifest // { - allowed_origins = [ "chrome-extension://ghniladkapjacfajiooekgkfopkjblpn/" ]; - }); + passAsFile = [ + "firefoxManifest" + "chromeManifest" + ]; + firefoxManifest = builtins.toJSON ( + manifest + // { + allowed_extensions = [ "bukubrow@samhh.com" ]; + } + ); + chromeManifest = builtins.toJSON ( + manifest + // { + allowed_origins = [ "chrome-extension://ghniladkapjacfajiooekgkfopkjblpn/" ]; + } + ); postBuild = '' substituteAll $firefoxManifestPath firefox.json substituteAll $chromeManifestPath chrome.json @@ -46,4 +62,3 @@ in rustPlatform.buildRustPackage rec { mainProgram = "bukubrow"; }; } - diff --git a/pkgs/by-name/bu/bulk_extractor/package.nix b/pkgs/by-name/bu/bulk_extractor/package.nix index 25d38c6c35cae..9af14298ec42a 100644 --- a/pkgs/by-name/bu/bulk_extractor/package.nix +++ b/pkgs/by-name/bu/bulk_extractor/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, exiv2 -, flex -, libewf -, libxml2 -, openssl -, zlib -, pkg-config -, python310 -, re2 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + exiv2, + flex, + libewf, + libxml2, + openssl, + zlib, + pkg-config, + python310, + re2, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/bu/bulky/package.nix b/pkgs/by-name/bu/bulky/package.nix index a9510f37b9167..1c3d39c3fcad6 100644 --- a/pkgs/by-name/bu/bulky/package.nix +++ b/pkgs/by-name/bu/bulky/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, wrapGAppsHook3 -, python3 -, gobject-introspection -, gsettings-desktop-schemas -, gettext -, gtk3 -, glib -, common-licenses +{ + stdenv, + lib, + fetchFromGitHub, + wrapGAppsHook3, + python3, + gobject-introspection, + gsettings-desktop-schemas, + gettext, + gtk3, + glib, + common-licenses, }: stdenv.mkDerivation rec { @@ -30,7 +31,14 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - (python3.withPackages (p: with p; [ pygobject3 magic setproctitle unidecode ])) + (python3.withPackages ( + p: with p; [ + pygobject3 + magic + setproctitle + unidecode + ] + )) gsettings-desktop-schemas gtk3 glib diff --git a/pkgs/by-name/bu/bulletml/package.nix b/pkgs/by-name/bu/bulletml/package.nix index 8d562b58e24af..344afc966811c 100644 --- a/pkgs/by-name/bu/bulletml/package.nix +++ b/pkgs/by-name/bu/bulletml/package.nix @@ -1,13 +1,22 @@ -{ lib, stdenv, fetchpatch, fetchurl, bison, perl }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + bison, + perl, +}: let version = "0.0.6"; debianRevision = "7"; - debianPatch = patchname: hash: fetchpatch { - name = "${patchname}.patch"; - url = "https://sources.debian.org/data/main/b/bulletml/${version}-${debianRevision}/debian/patches/${patchname}.patch"; - sha256 = hash; - }; + debianPatch = + patchname: hash: + fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/b/bulletml/${version}-${debianRevision}/debian/patches/${patchname}.patch"; + sha256 = hash; + }; lib_src = fetchurl { url = "http://shinh.skr.jp/libbulletml/libbulletml-${version}.tar.bz2"; @@ -24,7 +33,10 @@ stdenv.mkDerivation { pname = "bulletml"; inherit version; - srcs = [ lib_src cpp_src ]; + srcs = [ + lib_src + cpp_src + ]; postUnpack = "mv d_cpp bulletml/"; sourceRoot = "bulletml"; @@ -41,7 +53,10 @@ stdenv.mkDerivation { makeFlags = [ "-C src" ]; - nativeBuildInputs = [ bison perl ]; + nativeBuildInputs = [ + bison + perl + ]; hardeningDisable = [ "format" ]; installPhase = '' diff --git a/pkgs/by-name/bu/bullshit/package.nix b/pkgs/by-name/bu/bullshit/package.nix index 9345d2ae7d929..6756a87e0a1e5 100644 --- a/pkgs/by-name/bu/bullshit/package.nix +++ b/pkgs/by-name/bu/bullshit/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gawk -, nix-update-script +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gawk, + nix-update-script, }: stdenvNoCC.mkDerivation { pname = "bullshit"; diff --git a/pkgs/by-name/bu/bully/package.nix b/pkgs/by-name/bu/bully/package.nix index 3b2f62281ef19..91cf6c834dfb7 100644 --- a/pkgs/by-name/bu/bully/package.nix +++ b/pkgs/by-name/bu/bully/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libpcap }: +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, +}: stdenv.mkDerivation rec { pname = "bully"; diff --git a/pkgs/by-name/bu/bump/package.nix b/pkgs/by-name/bu/bump/package.nix index 52c3117b1ef96..e73a8713cb72d 100644 --- a/pkgs/by-name/bu/bump/package.nix +++ b/pkgs/by-name/bu/bump/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "bump"; @@ -16,7 +20,9 @@ buildGoModule rec { doCheck = false; ldflags = [ - "-X main.buildVersion=${version}" "-X main.buildCommit=${version}" "-X main.buildDate=1970-01-01" + "-X main.buildVersion=${version}" + "-X main.buildCommit=${version}" + "-X main.buildDate=1970-01-01" ]; meta = with lib; { diff --git a/pkgs/by-name/bu/bumpver/package.nix b/pkgs/by-name/bu/bumpver/package.nix index d540d42110736..b28a533f19ca3 100644 --- a/pkgs/by-name/bu/bumpver/package.nix +++ b/pkgs/by-name/bu/bumpver/package.nix @@ -1,4 +1,10 @@ -{ lib, python3, fetchPypi, git, mercurial }: +{ + lib, + python3, + fetchPypi, + git, + mercurial, +}: python3.pkgs.buildPythonApplication rec { pname = "bumpver"; @@ -16,9 +22,20 @@ python3.pkgs.buildPythonApplication rec { --replace "package_dir = lib3to6.fix(package_dir)" "" ''; - propagatedBuildInputs = with python3.pkgs; [ pathlib2 click toml lexid colorama setuptools ]; + propagatedBuildInputs = with python3.pkgs; [ + pathlib2 + click + toml + lexid + colorama + setuptools + ]; - nativeCheckInputs = [ python3.pkgs.pytestCheckHook git mercurial ]; + nativeCheckInputs = [ + python3.pkgs.pytestCheckHook + git + mercurial + ]; disabledTests = [ # fails due to more aggressive setuptools version specifier validation diff --git a/pkgs/by-name/bu/bundix/package.nix b/pkgs/by-name/bu/bundix/package.nix index a595649cac9be..7a79eae438d53 100644 --- a/pkgs/by-name/bu/bundix/package.nix +++ b/pkgs/by-name/bu/bundix/package.nix @@ -1,10 +1,11 @@ -{ buildRubyGem -, fetchFromGitHub -, makeWrapper -, lib -, bundler -, nix -, nix-prefetch-git +{ + buildRubyGem, + fetchFromGitHub, + makeWrapper, + lib, + bundler, + nix, + nix-prefetch-git, }: buildRubyGem rec { @@ -21,7 +22,10 @@ buildRubyGem rec { hash = "sha256-QnNdseCSwQYhO/ybzWsflMEk68TMgPU3HqXJ7av3SHE="; }; - buildInputs = [ ruby bundler ]; + buildInputs = [ + ruby + bundler + ]; nativeBuildInputs = [ makeWrapper ]; preFixup = '' @@ -43,7 +47,10 @@ buildRubyGem rec { ''; homepage = "https://github.com/nix-community/bundix"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ manveru zimbatm ]; + maintainers = with lib.maintainers; [ + manveru + zimbatm + ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/bu/bundler/package.nix b/pkgs/by-name/bu/bundler/package.nix index ac81e5b797bf2..d6fdf014474d9 100644 --- a/pkgs/by-name/bu/bundler/package.nix +++ b/pkgs/by-name/bu/bundler/package.nix @@ -1,4 +1,11 @@ -{ lib, buildRubyGem, ruby, writeScript, testers, bundler }: +{ + lib, + buildRubyGem, + ruby, + writeScript, + testers, + bundler, +}: buildRubyGem rec { inherit ruby; diff --git a/pkgs/by-name/bu/bunnyfetch/package.nix b/pkgs/by-name/bu/bunnyfetch/package.nix index e14fe82443131..f4cc317f6010e 100644 --- a/pkgs/by-name/bu/bunnyfetch/package.nix +++ b/pkgs/by-name/bu/bunnyfetch/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "bunnyfetch"; diff --git a/pkgs/by-name/bu/bunyan-rs/package.nix b/pkgs/by-name/bu/bunyan-rs/package.nix index 35fc322b05679..ca07660a86c5e 100644 --- a/pkgs/by-name/bu/bunyan-rs/package.nix +++ b/pkgs/by-name/bu/bunyan-rs/package.nix @@ -1,6 +1,7 @@ -{ rustPlatform -, fetchFromGitHub -, lib +{ + rustPlatform, + fetchFromGitHub, + lib, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "CLI to pretty print logs in bunyan format (Rust port of the original JavaScript bunyan CLI)"; homepage = "https://github.com/LukeMathWalker/bunyan"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ netcrns ]; mainProgram = "bunyan"; }; diff --git a/pkgs/by-name/bu/bup/package.nix b/pkgs/by-name/bu/bup/package.nix index c9fe3986611c7..de3e74f257d1e 100644 --- a/pkgs/by-name/bu/bup/package.nix +++ b/pkgs/by-name/bu/bup/package.nix @@ -62,12 +62,16 @@ stdenv.mkDerivation { "LIBDIR=$(out)/lib/bup" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang - "-Wno-error=implicit-function-declaration -Wno-error=implicit-int"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration -Wno-error=implicit-int"; postInstall = '' wrapProgram $out/bin/bup \ - --prefix PATH : ${lib.makeBinPath [ git par2cmdline ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + git + par2cmdline + ] + } \ --prefix NIX_PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages pythonDeps} ''; diff --git a/pkgs/by-name/bu/bupc/package.nix b/pkgs/by-name/bu/bupc/package.nix index 228de48e603ad..b193adbeba115 100644 --- a/pkgs/by-name/bu/bupc/package.nix +++ b/pkgs/by-name/bu/bupc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, coreutils }: +{ + lib, + stdenv, + fetchurl, + perl, + coreutils, +}: stdenv.mkDerivation rec { pname = "berkeley_upc"; diff --git a/pkgs/by-name/bu/burp/package.nix b/pkgs/by-name/bu/burp/package.nix index dad8fefced89f..6479c15eeb76b 100644 --- a/pkgs/by-name/bu/burp/package.nix +++ b/pkgs/by-name/bu/burp/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config -, acl, librsync, ncurses, openssl_legacy, zlib, uthash }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + acl, + librsync, + ncurses, + openssl_legacy, + zlib, + uthash, +}: stdenv.mkDerivation rec { pname = "burp"; @@ -21,11 +33,19 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; # use openssl_legacy due to burp-2.4.0 not supporting file encryption with openssl 3.0 # replace with 'openssl' once burp-3.x has been declared stable and this package upgraded - buildInputs = [ librsync ncurses openssl_legacy zlib uthash ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) acl; + buildInputs = [ + librsync + ncurses + openssl_legacy + zlib + uthash + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) acl; configureFlags = [ "--localstatedir=/var" ]; @@ -33,9 +53,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "BURP - BackUp and Restore Program"; - homepage = "https://burp.grke.org"; - license = licenses.agpl3Plus; + homepage = "https://burp.grke.org"; + license = licenses.agpl3Plus; maintainers = with maintainers; [ arjan-s ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/bu/butane/package.nix b/pkgs/by-name/bu/butane/package.nix index ae5ab10e7fa2e..ddd3d18e237dd 100644 --- a/pkgs/by-name/bu/butane/package.nix +++ b/pkgs/by-name/bu/butane/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "butane"; @@ -30,6 +34,9 @@ buildGoModule rec { mainProgram = "butane"; license = licenses.asl20; homepage = "https://github.com/coreos/butane"; - maintainers = with maintainers; [ elijahcaine ruuda ]; + maintainers = with maintainers; [ + elijahcaine + ruuda + ]; }; } diff --git a/pkgs/by-name/bu/butt/package.nix b/pkgs/by-name/bu/butt/package.nix index 558d044d34d93..15044904ddead 100644 --- a/pkgs/by-name/bu/butt/package.nix +++ b/pkgs/by-name/bu/butt/package.nix @@ -1,5 +1,22 @@ -{ lib, stdenv, fetchurl, pkg-config, fltk13, portaudio, lame, libvorbis, libogg -, flac, libopus, libsamplerate, fdk_aac, dbus, openssl, curl, portmidi }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fltk13, + portaudio, + lame, + libvorbis, + libogg, + flac, + libopus, + libsamplerate, + fdk_aac, + dbus, + openssl, + curl, + portmidi, +}: stdenv.mkDerivation (finalAttrs: { pname = "butt"; @@ -43,8 +60,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { changelog = "https://danielnoethen.de/butt/Changelog.html"; - description = - "butt (broadcast using this tool) is an easy to use, multi OS streaming tool"; + description = "butt (broadcast using this tool) is an easy to use, multi OS streaming tool"; homepage = "https://danielnoethen.de/butt/"; license = lib.licenses.gpl2; maintainers = with lib.maintainers; [ ehmry ]; diff --git a/pkgs/by-name/bu/buttercup-desktop/package.nix b/pkgs/by-name/bu/buttercup-desktop/package.nix index 3ba3ee4c2c2d2..31d03a5243133 100644 --- a/pkgs/by-name/bu/buttercup-desktop/package.nix +++ b/pkgs/by-name/bu/buttercup-desktop/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "buttercup-desktop"; @@ -9,7 +13,8 @@ let }; appimageContents = appimageTools.extractType2 { inherit pname src version; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname src version; extraPkgs = pkgs: [ pkgs.libsecret ]; diff --git a/pkgs/by-name/bu/buttermanager/package.nix b/pkgs/by-name/bu/buttermanager/package.nix index 8127703d0e01e..7c15ca68290af 100644 --- a/pkgs/by-name/bu/buttermanager/package.nix +++ b/pkgs/by-name/bu/buttermanager/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, python3Packages -, wrapGAppsHook3 -, qt5 +{ + lib, + fetchFromGitHub, + python3Packages, + wrapGAppsHook3, + qt5, }: python3Packages.buildPythonApplication rec { @@ -31,7 +32,10 @@ python3Packages.buildPythonApplication rec { dontWrapQtApps = true; dontWrapGApps = true; - makeWrapperArgs = [ "\${qtWrapperArgs[@]}" "\${gappsWrapperArgs[@]}"]; + makeWrapperArgs = [ + "\${qtWrapperArgs[@]}" + "\${gappsWrapperArgs[@]}" + ]; postInstall = '' substituteInPlace packaging/buttermanager.desktop \ diff --git a/pkgs/by-name/bu/buzztrax/package.nix b/pkgs/by-name/bu/buzztrax/package.nix index 30961d5b320ab..35795e6cdaed7 100644 --- a/pkgs/by-name/bu/buzztrax/package.nix +++ b/pkgs/by-name/bu/buzztrax/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gtk-doc -, intltool -, itstool -, libtool -, pkg-config -, wrapGAppsHook3 -, yelp-tools -, clutter-gtk -, gst_all_1 -, glib -, gtk2 -, libgsf -, libxml2 -, fluidsynth -, orc +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gtk-doc, + intltool, + itstool, + libtool, + pkg-config, + wrapGAppsHook3, + yelp-tools, + clutter-gtk, + gst_all_1, + glib, + gtk2, + libgsf, + libxml2, + fluidsynth, + orc, }: stdenv.mkDerivation { @@ -62,7 +63,8 @@ stdenv.mkDerivation { ]; # 'g_memdup' is deprecated: Use 'g_memdup2' instead - env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations" + env.NIX_CFLAGS_COMPILE = + "-Wno-error=deprecated-declarations" # Suppress incompatible function pointer error in clang due to libxml2 2.12 const changes + lib.optionalString stdenv.cc.isClang " -Wno-error=incompatible-function-pointer-types"; diff --git a/pkgs/by-name/bv/bvi/package.nix b/pkgs/by-name/bv/bvi/package.nix index d032435a6fb79..91b480c9f836d 100644 --- a/pkgs/by-name/bv/bvi/package.nix +++ b/pkgs/by-name/bv/bvi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "bvi"; diff --git a/pkgs/by-name/bv/bviplus/package.nix b/pkgs/by-name/bv/bviplus/package.nix index ebc3c246518a8..d322b27c75980 100644 --- a/pkgs/by-name/bv/bviplus/package.nix +++ b/pkgs/by-name/bv/bviplus/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, ncurses }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + ncurses, +}: stdenv.mkDerivation rec { pname = "bviplus"; diff --git a/pkgs/by-name/bw/bwa-mem2/package.nix b/pkgs/by-name/bw/bwa-mem2/package.nix index eb6b01b147f9f..ad1bc23399cd6 100644 --- a/pkgs/by-name/bw/bwa-mem2/package.nix +++ b/pkgs/by-name/bw/bwa-mem2/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -28,11 +29,18 @@ stdenv.mkDerivation (finalAttrs: { ''; buildFlags = [ - (if stdenv.hostPlatform.sse4_2Support then "arch=sse42" - else if stdenv.hostPlatform.avxSupport then "arch=avx" - else if stdenv.hostPlatform.avx2Support then "arch=avx2" - else if stdenv.hostPlatform.avx512Support then "arch=avx512" - else "arch=sse41") + ( + if stdenv.hostPlatform.sse4_2Support then + "arch=sse42" + else if stdenv.hostPlatform.avxSupport then + "arch=avx" + else if stdenv.hostPlatform.avx2Support then + "arch=avx2" + else if stdenv.hostPlatform.avx512Support then + "arch=avx512" + else + "arch=sse41" + ) ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { diff --git a/pkgs/by-name/bw/bwa/package.nix b/pkgs/by-name/bw/bwa/package.nix index c70eba475d233..c306c2755d7ee 100644 --- a/pkgs/by-name/bw/bwa/package.nix +++ b/pkgs/by-name/bw/bwa/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, +}: stdenv.mkDerivation { pname = "bwa"; @@ -39,8 +44,8 @@ stdenv.mkDerivation { meta = with lib; { description = "Software package for mapping low-divergent sequences against a large reference genome, such as the human genome"; mainProgram = "bwa"; - license = licenses.gpl3Plus; - homepage = "https://bio-bwa.sourceforge.net/"; + license = licenses.gpl3Plus; + homepage = "https://bio-bwa.sourceforge.net/"; maintainers = with maintainers; [ luispedro ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/bw/bwm_ng/package.nix b/pkgs/by-name/bw/bwm_ng/package.nix index e6e1907a25d8b..aec275e41c24d 100644 --- a/pkgs/by-name/bw/bwm_ng/package.nix +++ b/pkgs/by-name/bw/bwm_ng/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, autoreconfHook -, fetchurl -, fetchpatch -, ncurses +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + fetchpatch, + ncurses, }: stdenv.mkDerivation rec { @@ -18,12 +19,16 @@ stdenv.mkDerivation rec { patches = [ # Pull upstream fix for ncurses-6.3 support. (fetchpatch { - name = "ncurses-6.3.patch"; + name = "ncurses-6.3.patch"; url = "https://github.com/vgropp/bwm-ng/commit/6a2087db6cc7ac5b5f667fcd17c262c079e8dcf2.patch"; sha256 = "1l5dii9d52v0x0sq458ybw7m9p8aan2vl94gwx5s8mgxsnbcmzzx"; # accidentally committed changes - excludes = [ "config.h.in~" "configure.in" "configure~" ]; - }) + excludes = [ + "config.h.in~" + "configure.in" + "configure~" + ]; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/bw/bws/package.nix b/pkgs/by-name/bw/bws/package.nix index b1a0a0b1eac5d..2ac9c5a0a26c9 100644 --- a/pkgs/by-name/bw/bws/package.nix +++ b/pkgs/by-name/bw/bws/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, oniguruma -, openssl -, stdenv -, darwin -, python3 -, perl +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + oniguruma, + openssl, + stdenv, + darwin, + python3, + perl, }: rustPlatform.buildRustPackage rec { @@ -29,17 +30,20 @@ rustPlatform.buildRustPackage rec { }; }; - nativeBuildInputs = [ - installShellFiles - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - perl - ]; + nativeBuildInputs = + [ + installShellFiles + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + perl + ]; buildInputs = [ oniguruma - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -51,9 +55,15 @@ rustPlatform.buildRustPackage rec { RUSTONIG_SYSTEM_LIBONIG = true; }; - cargoBuildFlags = [ "--package" "bws" ]; + cargoBuildFlags = [ + "--package" + "bws" + ]; - cargoTestFlags = [ "--package" "bws" ]; + cargoTestFlags = [ + "--package" + "bws" + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd bws \ diff --git a/pkgs/by-name/by/byacc/package.nix b/pkgs/by-name/by/byacc/package.nix index 23c2894ae5744..5122b08f67cbb 100644 --- a/pkgs/by-name/by/byacc/package.nix +++ b/pkgs/by-name/by/byacc/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/by/byobu/package.nix b/pkgs/by-name/by/byobu/package.nix index bf6896f3153ae..462b2ef3a7bde 100644 --- a/pkgs/by-name/by/byobu/package.nix +++ b/pkgs/by-name/by/byobu/package.nix @@ -1,15 +1,16 @@ -{ lib -, autoreconfHook -, bc -, fetchFromGitHub -, gettext -, makeWrapper -, perl -, python3 -, screen -, stdenv -, vim -, tmux +{ + lib, + autoreconfHook, + bc, + fetchFromGitHub, + gettext, + makeWrapper, + perl, + python3, + screen, + stdenv, + vim, + tmux, }: let @@ -72,7 +73,12 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper "$out/bin/.$bname" "$out/bin/$bname" \ --argv0 $bname \ --prefix PATH ":" "$out/bin" \ - --set BYOBU_PATH ${lib.makeBinPath [ vim bc ]} \ + --set BYOBU_PATH ${ + lib.makeBinPath [ + vim + bc + ] + } \ --set BYOBU_PYTHON "${pythonEnv}/bin/python" done ''; diff --git a/pkgs/by-name/by/bytecode-viewer/package.nix b/pkgs/by-name/by/bytecode-viewer/package.nix index 1431301a84ee7..13aa8359eb69f 100644 --- a/pkgs/by-name/by/bytecode-viewer/package.nix +++ b/pkgs/by-name/by/bytecode-viewer/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, jre -, makeWrapper -, maven -, icoutils -, copyDesktopItems -, makeDesktopItem +{ + lib, + fetchFromGitHub, + jre, + makeWrapper, + maven, + icoutils, + copyDesktopItems, + makeDesktopItem, }: maven.buildMavenPackage rec { @@ -70,11 +71,14 @@ maven.buildMavenPackage rec { homepage = "https://bytecodeviewer.com"; description = "Lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More"; mainProgram = "bytecode-viewer"; - maintainers = with maintainers; [ shard7 d3vil0p3r ]; + maintainers = with maintainers; [ + shard7 + d3vil0p3r + ]; platforms = platforms.unix; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # deps + binaryBytecode # deps ]; license = with licenses; [ gpl3Only ]; }; diff --git a/pkgs/by-name/by/byzanz/package.nix b/pkgs/by-name/by/byzanz/package.nix index a19f03727023b..36e477751c88f 100644 --- a/pkgs/by-name/by/byzanz/package.nix +++ b/pkgs/by-name/by/byzanz/package.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchgit -, wrapGAppsHook3 -, cairo -, glib -, gnome-common -, gst_all_1 -, gtk3 -, intltool -, libtool -, pkg-config -, which -, xorg +{ + lib, + stdenv, + fetchgit, + wrapGAppsHook3, + cairo, + glib, + gnome-common, + gst_all_1, + gtk3, + intltool, + libtool, + pkg-config, + which, + xorg, }: stdenv.mkDerivation { @@ -34,25 +36,30 @@ stdenv.mkDerivation { "-Wno-error=incompatible-pointer-types" ]; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ - which - gnome-common - glib - libtool - cairo - gtk3 - xorg.xwininfo - xorg.libXdamage - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-bad - gst-plugins-good - gst-plugins-ugly - gst-libav - wrapGAppsHook3 - ]); + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = + [ + which + gnome-common + glib + libtool + cairo + gtk3 + xorg.xwininfo + xorg.libXdamage + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-bad + gst-plugins-good + gst-plugins-ugly + gst-libav + wrapGAppsHook3 + ]); meta = with lib; { description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser"; diff --git a/pkgs/by-name/bz/bzrtp/package.nix b/pkgs/by-name/bz/bzrtp/package.nix index 966190a655675..dff70855b3f1f 100644 --- a/pkgs/by-name/bz/bzrtp/package.nix +++ b/pkgs/by-name/bz/bzrtp/package.nix @@ -1,9 +1,10 @@ -{ bctoolbox -, cmake -, fetchFromGitLab -, sqlite -, lib -, stdenv +{ + bctoolbox, + cmake, + fetchFromGitLab, + sqlite, + lib, + stdenv, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { hash = "sha256-sLvvQhJ9uVt/dx57xs9ftY/ETi46xmyGDH8372zpqj8="; }; - buildInputs = [ bctoolbox sqlite ]; + buildInputs = [ + bctoolbox + sqlite + ]; nativeBuildInputs = [ cmake ]; # Do not build static libraries diff --git a/pkgs/by-name/c-/c-graph/package.nix b/pkgs/by-name/c-/c-graph/package.nix index 950962bc5654f..4b586eef0e7aa 100644 --- a/pkgs/by-name/c-/c-graph/package.nix +++ b/pkgs/by-name/c-/c-graph/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, gfortran, gnuplot, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + gfortran, + gnuplot, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "c-graph"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-LSZ948nXXY3pXltR2hHnql6YEpHumjTvbtz4/qUIRCQ="; }; - nativeBuildInputs = [ gfortran makeWrapper ]; + nativeBuildInputs = [ + gfortran + makeWrapper + ]; postInstall = '' wrapProgram $out/bin/c-graph --prefix PATH : ${lib.makeBinPath [ gnuplot ]} diff --git a/pkgs/by-name/c-/c-periphery/package.nix b/pkgs/by-name/c-/c-periphery/package.nix index 86661fe819311..f43e3520223a6 100644 --- a/pkgs/by-name/c-/c-periphery/package.nix +++ b/pkgs/by-name/c-/c-periphery/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-uUSXvMQcntUqD412UWkMif0wLxPhpPdnMb96Pqqh/B4="; }; - outputs = [ "dev" "lib" "out" ]; + outputs = [ + "dev" + "lib" + "out" + ]; postPatch = '' substituteInPlace src/libperiphery.pc.in \ diff --git a/pkgs/by-name/c2/c2ffi/package.nix b/pkgs/by-name/c2/c2ffi/package.nix index d83381080a5fe..eaeebe044e4f2 100644 --- a/pkgs/by-name/c2/c2ffi/package.nix +++ b/pkgs/by-name/c2/c2ffi/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, cmake -, llvmPackages_16 -, unstableGitUpdater +{ + lib, + fetchFromGitHub, + cmake, + llvmPackages_16, + unstableGitUpdater, }: let @@ -48,7 +49,7 @@ llvmPackages.stdenv.mkDerivation { # LLVM may be compiled with -fno-rtti, so let's just turn it off. # A mismatch between lib{clang,LLVM}* and us can lead to the link time error: # undefined reference to `typeinfo for clang::ASTConsumer' - env.CXXFLAGS="-fno-rtti"; + env.CXXFLAGS = "-fno-rtti"; meta = with lib; { homepage = "https://github.com/rpav/c2ffi"; @@ -56,5 +57,5 @@ llvmPackages.stdenv.mkDerivation { mainProgram = "c2ffi"; license = licenses.lgpl21Only; maintainers = [ ]; - }; + }; } diff --git a/pkgs/by-name/c2/c2fmzq/package.nix b/pkgs/by-name/c2/c2fmzq/package.nix index 69942a05fdd13..70f861a9265b0 100644 --- a/pkgs/by-name/c2/c2fmzq/package.nix +++ b/pkgs/by-name/c2/c2fmzq/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -15,13 +16,19 @@ buildGoModule rec { hash = "sha256-1c2C+BVgf7NumOoCCMfGFpn1qwQ2V4524aG5yZO98vI="; }; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; sourceRoot = "${src.name}/c2FmZQ"; vendorHash = "sha256-9eWLg0+HkpwUC+De62Izh3vadV3dnwPpf8ksH8KwGqQ="; - subPackages = [ "c2FmZQ-client" "c2FmZQ-server" ]; + subPackages = [ + "c2FmZQ-client" + "c2FmZQ-server" + ]; passthru.tests = { inherit (nixosTests) c2fmzq; }; diff --git a/pkgs/by-name/c2/c2nim/package.nix b/pkgs/by-name/c2/c2nim/package.nix index f5e0cad7a02e9..7aeee7f650585 100644 --- a/pkgs/by-name/c2/c2nim/package.nix +++ b/pkgs/by-name/c2/c2nim/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNimPackage, fetchFromGitHub }: +{ + lib, + buildNimPackage, + fetchFromGitHub, +}: buildNimPackage (finalAttrs: { pname = "c2nim"; diff --git a/pkgs/by-name/c6/c64-debugger/package.nix b/pkgs/by-name/c6/c64-debugger/package.nix index ad0da506b4ffb..a39e0d2741678 100644 --- a/pkgs/by-name/c6/c64-debugger/package.nix +++ b/pkgs/by-name/c6/c64-debugger/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchgit -, alsa-lib -, gtk3 -, libGL -, libGLU -, libX11 -, pkg-config -, upx -, xcbutil +{ + lib, + stdenv, + fetchgit, + alsa-lib, + gtk3, + libGL, + libGLU, + libX11, + pkg-config, + upx, + xcbutil, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ca/cabextract/package.nix b/pkgs/by-name/ca/cabextract/package.nix index 6860b52267717..36cd8ff6bece5 100644 --- a/pkgs/by-name/ca/cabextract/package.nix +++ b/pkgs/by-name/ca/cabextract/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cabextract"; diff --git a/pkgs/by-name/ca/cabin/package.nix b/pkgs/by-name/ca/cabin/package.nix index 0c6327d1e542d..87b866fe2d411 100644 --- a/pkgs/by-name/ca/cabin/package.nix +++ b/pkgs/by-name/ca/cabin/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "cabin"; diff --git a/pkgs/by-name/ca/cachefilesd/package.nix b/pkgs/by-name/ca/cachefilesd/package.nix index 12b9e1cf99190..c6e2f2467d57f 100644 --- a/pkgs/by-name/ca/cachefilesd/package.nix +++ b/pkgs/by-name/ca/cachefilesd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cachefilesd"; diff --git a/pkgs/by-name/ca/cadical/package.nix b/pkgs/by-name/ca/cadical/package.nix index 8f324f077d8f5..ea2c0a162792f 100644 --- a/pkgs/by-name/ca/cadical/package.nix +++ b/pkgs/by-name/ca/cadical/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, copyPkgconfigItems, makePkgconfigItem -, version ? "2.1.0" +{ + lib, + stdenv, + fetchFromGitHub, + copyPkgconfigItems, + makePkgconfigItem, + version ? "2.1.0", }: stdenv.mkDerivation rec { @@ -10,13 +15,19 @@ stdenv.mkDerivation rec { owner = "arminbiere"; repo = "cadical"; rev = "rel-${version}"; - hash = { - "2.1.0" = "sha256-sSvJgHxsRaJ/xHEK32fox0MFI7u+pj5ERLfNn2s8kC8="; - "2.0.0" = "sha256-qoeEM9SdpuFuBPeQlCzuhPLcJ+bMQkTUTGiT8QdU8rc="; - }.${version}; + hash = + { + "2.1.0" = "sha256-sSvJgHxsRaJ/xHEK32fox0MFI7u+pj5ERLfNn2s8kC8="; + "2.0.0" = "sha256-qoeEM9SdpuFuBPeQlCzuhPLcJ+bMQkTUTGiT8QdU8rc="; + } + .${version}; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; doCheck = true; nativeBuildInputs = [ copyPkgconfigItems ]; @@ -26,7 +37,10 @@ stdenv.mkDerivation rec { name = "cadical"; inherit version; cflags = [ "-I\${includedir}" ]; - libs = [ "-L\${libdir}" "-lcadical" ]; + libs = [ + "-L\${libdir}" + "-lcadical" + ]; variables = { includedir = "@includedir@"; libdir = "@libdir@"; diff --git a/pkgs/by-name/ca/cadzinho/package.nix b/pkgs/by-name/ca/cadzinho/package.nix index 5a12cd1e54bc5..56c333fb6caed 100644 --- a/pkgs/by-name/ca/cadzinho/package.nix +++ b/pkgs/by-name/ca/cadzinho/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, SDL2, SDL2_net, glew, lua5_4, desktopToDarwinBundle }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_net, + glew, + lua5_4, + desktopToDarwinBundle, +}: stdenv.mkDerivation rec { pname = "cadzinho"; @@ -18,17 +27,25 @@ stdenv.mkDerivation rec { nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; - buildInputs = [ SDL2 SDL2_net glew lua5_4 ]; + buildInputs = [ + SDL2 + SDL2_net + glew + lua5_4 + ]; makeFlags = [ "CC:=$(CC)" ]; - env.NIX_CFLAGS_COMPILE = toString ([ - "-I${SDL2.dev}/include/SDL2" - "-I${SDL2_net.dev}/include/SDL2" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # https://github.com/llvm/llvm-project/issues/62254 - "-fno-builtin-strrchr" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-I${SDL2.dev}/include/SDL2" + "-I${SDL2_net.dev}/include/SDL2" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # https://github.com/llvm/llvm-project/issues/62254 + "-fno-builtin-strrchr" + ] + ); hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/ca/caeml/package.nix b/pkgs/by-name/ca/caeml/package.nix index f109ccfc3137e..a518e2cd1d3ec 100644 --- a/pkgs/by-name/ca/caeml/package.nix +++ b/pkgs/by-name/ca/caeml/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "caeml"; diff --git a/pkgs/by-name/ca/caerbannog/package.nix b/pkgs/by-name/ca/caerbannog/package.nix index 0ca33877d124f..f83bf38ec907c 100644 --- a/pkgs/by-name/ca/caerbannog/package.nix +++ b/pkgs/by-name/ca/caerbannog/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromSourcehut -, python3 -, glib -, gobject-introspection -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, gtk3 -, atk -, libhandy -, libnotify -, pango +{ + lib, + fetchFromSourcehut, + python3, + glib, + gobject-introspection, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + gtk3, + atk, + libhandy, + libnotify, + pango, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ca/caffeine-ng/package.nix b/pkgs/by-name/ca/caffeine-ng/package.nix index 7e99dd19b8014..59baf698693ab 100644 --- a/pkgs/by-name/ca/caffeine-ng/package.nix +++ b/pkgs/by-name/ca/caffeine-ng/package.nix @@ -1,19 +1,20 @@ -{ fetchFromGitea -, meson -, ninja -, pkg-config -, scdoc -, gobject-introspection -, lib -, libayatana-appindicator -, libnotify -, python3Packages -, procps -, xset -, xautolock -, xscreensaver -, xfce -, wrapGAppsHook3 +{ + fetchFromGitea, + meson, + ninja, + pkg-config, + scdoc, + gobject-introspection, + lib, + libayatana-appindicator, + libnotify, + python3Packages, + procps, + xset, + xautolock, + xscreensaver, + xfce, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { @@ -29,7 +30,13 @@ python3Packages.buildPythonApplication rec { hash = "sha256-uYzLRZ+6ZgIwhSuJWRBpLYHgonX7sFXgUZid0V26V0Q="; }; - nativeBuildInputs = [ gobject-introspection meson ninja pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ libayatana-appindicator @@ -62,7 +69,15 @@ python3Packages.buildPythonApplication rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [ procps xautolock xscreensaver xfce.xfconf xset ]} + --prefix PATH : ${ + lib.makeBinPath [ + procps + xautolock + xscreensaver + xfce.xfconf + xset + ] + } ) makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; diff --git a/pkgs/by-name/ca/caffeine/package.nix b/pkgs/by-name/ca/caffeine/package.nix index 1e547a5533ba7..4d4c5c8682e99 100644 --- a/pkgs/by-name/ca/caffeine/package.nix +++ b/pkgs/by-name/ca/caffeine/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, undmg +{ + lib, + stdenvNoCC, + fetchurl, + undmg, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ca/cairo-lang/package.nix b/pkgs/by-name/ca/cairo-lang/package.nix index 687a254b40a4e..c7c6fb5d55b0b 100644 --- a/pkgs/by-name/ca/cairo-lang/package.nix +++ b/pkgs/by-name/ca/cairo-lang/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, rustfmt -, perl +{ + lib, + rustPlatform, + fetchFromGitHub, + rustfmt, + perl, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cairo/package.nix b/pkgs/by-name/ca/cairo/package.nix index 8ed46ae3efb50..a76132ed8e3a5 100644 --- a/pkgs/by-name/ca/cairo/package.nix +++ b/pkgs/by-name/ca/cairo/package.nix @@ -1,116 +1,163 @@ -{ lib, stdenv, fetchurl, gtk-doc, meson, ninja, pkg-config, python3 -, docbook_xsl, fontconfig, freetype, libpng, pixman, zlib -, x11Support? !stdenv.hostPlatform.isDarwin || true, libXext, libXrender -, gobjectSupport ? true, glib -, xcbSupport ? x11Support, libxcb -, darwin -, testers +{ + lib, + stdenv, + fetchurl, + gtk-doc, + meson, + ninja, + pkg-config, + python3, + docbook_xsl, + fontconfig, + freetype, + libpng, + pixman, + zlib, + x11Support ? !stdenv.hostPlatform.isDarwin || true, + libXext, + libXrender, + gobjectSupport ? true, + glib, + xcbSupport ? x11Support, + libxcb, + darwin, + testers, }: let inherit (lib) optional optionals; -in stdenv.mkDerivation (finalAttrs: let - inherit (finalAttrs) pname version; -in { - pname = "cairo"; - version = "1.18.2"; - - src = fetchurl { - url = "https://cairographics.org/${if lib.mod (builtins.fromJSON (lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${pname}-${version}.tar.xz"; - hash = "sha256-piubtCQl6ETMPW3d4EP/Odur7dFULrpXout5+FiJ1Fo="; - }; - - outputs = [ "out" "dev" "devdoc" ]; - outputBin = "dev"; # very small - separateDebugInfo = true; - - nativeBuildInputs = [ - gtk-doc - meson - ninja - pkg-config - python3 - ]; - - buildInputs = [ - docbook_xsl - ] ++ optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreGraphics - CoreText - ApplicationServices - Carbon - ]); - - propagatedBuildInputs = [ fontconfig freetype pixman libpng zlib ] - ++ optionals x11Support [ libXext libXrender ] - ++ optionals xcbSupport [ libxcb ] - ++ optional gobjectSupport glib - ; # TODO: maybe liblzo but what would it be for here? - - mesonFlags = [ - "-Dgtk_doc=true" - - # error: #error config.h must be included before this header - "-Dsymbol-lookup=disabled" - - # Only used in tests, causes a dependency cycle - "-Dspectre=disabled" - - (lib.mesonEnable "glib" gobjectSupport) - (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) - (lib.mesonEnable "xlib" x11Support) - (lib.mesonEnable "xcb" xcbSupport) - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "--cross-file=${builtins.toFile "cross-file.conf" '' - [properties] - ipc_rmid_deferred_release = ${ - { - linux = "true"; - freebsd = "true"; - netbsd = "false"; - }.${stdenv.hostPlatform.parsed.kernel.name} or - (throw "Unknown value for ipc_rmid_deferred_release") - } - ''}" - ]; - - preConfigure = '' - patchShebangs version.py - ''; - - enableParallelBuilding = true; - - doCheck = false; # fails - - postInstall = '' - # Work around broken `Requires.private' that prevents Freetype - # `-I' flags to be propagated. - sed -i "$out/lib/pkgconfig/cairo.pc" \ - -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype.dev}/include/freetype2 -I${freetype.dev}/include|g' - ''; - - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - - meta = with lib; { - description = "2D graphics library with support for multiple output devices"; - mainProgram = "cairo-trace"; - longDescription = '' - Cairo is a 2D graphics library with support for multiple output - devices. Currently supported output targets include the X - Window System, XCB, Quartz, Win32, image buffers, PostScript, - PDF, and SVG file output. - - Cairo is designed to produce consistent output on all output - media while taking advantage of display hardware acceleration - when available (e.g., through the X Render Extension). +in +stdenv.mkDerivation ( + finalAttrs: + let + inherit (finalAttrs) pname version; + in + { + pname = "cairo"; + version = "1.18.2"; + + src = fetchurl { + url = "https://cairographics.org/${ + if lib.mod (builtins.fromJSON (lib.versions.minor version)) 2 == 0 then "releases" else "snapshots" + }/${pname}-${version}.tar.xz"; + hash = "sha256-piubtCQl6ETMPW3d4EP/Odur7dFULrpXout5+FiJ1Fo="; + }; + + outputs = [ + "out" + "dev" + "devdoc" + ]; + outputBin = "dev"; # very small + separateDebugInfo = true; + + nativeBuildInputs = [ + gtk-doc + meson + ninja + pkg-config + python3 + ]; + + buildInputs = + [ + docbook_xsl + ] + ++ optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreGraphics + CoreText + ApplicationServices + Carbon + ] + ); + + propagatedBuildInputs = + [ + fontconfig + freetype + pixman + libpng + zlib + ] + ++ optionals x11Support [ + libXext + libXrender + ] + ++ optionals xcbSupport [ libxcb ] + ++ optional gobjectSupport glib; # TODO: maybe liblzo but what would it be for here? + + mesonFlags = + [ + "-Dgtk_doc=true" + + # error: #error config.h must be included before this header + "-Dsymbol-lookup=disabled" + + # Only used in tests, causes a dependency cycle + "-Dspectre=disabled" + + (lib.mesonEnable "glib" gobjectSupport) + (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) + (lib.mesonEnable "xlib" x11Support) + (lib.mesonEnable "xcb" xcbSupport) + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "--cross-file=${builtins.toFile "cross-file.conf" '' + [properties] + ipc_rmid_deferred_release = ${ + { + linux = "true"; + freebsd = "true"; + netbsd = "false"; + } + .${stdenv.hostPlatform.parsed.kernel.name} or (throw "Unknown value for ipc_rmid_deferred_release") + } + ''}" + ]; + + preConfigure = '' + patchShebangs version.py ''; - homepage = "http://cairographics.org/"; - license = with licenses; [ lgpl2Plus mpl10 ]; - pkgConfigModules = [ - "cairo-pdf" - "cairo-ps" - "cairo-svg" - ] ++ lib.optional gobjectSupport "cairo-gobject"; - platforms = platforms.all; - }; -}) + + enableParallelBuilding = true; + + doCheck = false; # fails + + postInstall = '' + # Work around broken `Requires.private' that prevents Freetype + # `-I' flags to be propagated. + sed -i "$out/lib/pkgconfig/cairo.pc" \ + -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype.dev}/include/freetype2 -I${freetype.dev}/include|g' + ''; + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = with lib; { + description = "2D graphics library with support for multiple output devices"; + mainProgram = "cairo-trace"; + longDescription = '' + Cairo is a 2D graphics library with support for multiple output + devices. Currently supported output targets include the X + Window System, XCB, Quartz, Win32, image buffers, PostScript, + PDF, and SVG file output. + + Cairo is designed to produce consistent output on all output + media while taking advantage of display hardware acceleration + when available (e.g., through the X Render Extension). + ''; + homepage = "http://cairographics.org/"; + license = with licenses; [ + lgpl2Plus + mpl10 + ]; + pkgConfigModules = [ + "cairo-pdf" + "cairo-ps" + "cairo-svg" + ] ++ lib.optional gobjectSupport "cairo-gobject"; + platforms = platforms.all; + }; + } +) diff --git a/pkgs/by-name/ca/cakelisp/package.nix b/pkgs/by-name/ca/cakelisp/package.nix index 48e3e9efa5fbb..53db7144b2337 100644 --- a/pkgs/by-name/ca/cakelisp/package.nix +++ b/pkgs/by-name/ca/cakelisp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, gcc, unstableGitUpdater }: +{ + lib, + stdenv, + fetchgit, + gcc, + unstableGitUpdater, +}: stdenv.mkDerivation { pname = "cakelisp"; @@ -13,16 +19,18 @@ stdenv.mkDerivation { buildInputs = [ gcc ]; - postPatch = '' - substituteInPlace runtime/HotReloading.cake \ - --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' - substituteInPlace src/ModuleManager.cpp \ - --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Build.sh --replace '--export-dynamic' '-export_dynamic' - substituteInPlace runtime/HotReloading.cake --replace '--export-dynamic' '-export_dynamic' - substituteInPlace Bootstrap.cake --replace '--export-dynamic' '-export_dynamic' - ''; + postPatch = + '' + substituteInPlace runtime/HotReloading.cake \ + --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' + substituteInPlace src/ModuleManager.cpp \ + --replace '"/usr/bin/g++"' '"${gcc}/bin/g++"' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Build.sh --replace '--export-dynamic' '-export_dynamic' + substituteInPlace runtime/HotReloading.cake --replace '--export-dynamic' '-export_dynamic' + substituteInPlace Bootstrap.cake --replace '--export-dynamic' '-export_dynamic' + ''; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/ca/caladea/package.nix b/pkgs/by-name/ca/caladea/package.nix index b97dae690d9c7..604ed6ab3dcc4 100644 --- a/pkgs/by-name/ca/caladea/package.nix +++ b/pkgs/by-name/ca/caladea/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "caladea"; diff --git a/pkgs/by-name/ca/calamares-nixos-extensions/package.nix b/pkgs/by-name/ca/calamares-nixos-extensions/package.nix index 5a01ac7defd49..2e9c407c5ae83 100644 --- a/pkgs/by-name/ca/calamares-nixos-extensions/package.nix +++ b/pkgs/by-name/ca/calamares-nixos-extensions/package.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib }: +{ + stdenv, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation (finalAttrs: { pname = "calamares-nixos-extensions"; @@ -23,7 +27,13 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Calamares modules for NixOS"; homepage = "https://github.com/NixOS/calamares-nixos-extensions"; - license = with licenses; [ gpl3Plus bsd2 cc-by-40 cc-by-sa-40 cc0 ]; + license = with licenses; [ + gpl3Plus + bsd2 + cc-by-40 + cc-by-sa-40 + cc0 + ]; maintainers = with maintainers; [ vlinkz ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/ca/calc/package.nix b/pkgs/by-name/ca/calc/package.nix index 699f3d25caf74..79ae9befe1eaf 100644 --- a/pkgs/by-name/ca/calc/package.nix +++ b/pkgs/by-name/ca/calc/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, ncurses -, readline -, unixtools -, enableReadline ? true +{ + lib, + stdenv, + fetchurl, + makeWrapper, + ncurses, + readline, + unixtools, + enableReadline ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -36,22 +37,23 @@ stdenv.mkDerivation (finalAttrs: { readline ]; - makeFlags = [ - "T=$(out)" - "INCDIR=" - "BINDIR=/bin" - "LIBDIR=/lib" - "CALC_SHAREDIR=/share/calc" - "CALC_INCDIR=/include" - "MANDIR=/share/man/man1" + makeFlags = + [ + "T=$(out)" + "INCDIR=" + "BINDIR=/bin" + "LIBDIR=/lib" + "CALC_SHAREDIR=/share/calc" + "CALC_INCDIR=/include" + "MANDIR=/share/man/man1" - # Handle LDFLAGS defaults in calc - "DEFAULT_LIB_INSTALL_PATH=$(out)/lib" - ] - ++ lib.optionals enableReadline [ - "READLINE_LIB=-lreadline" - "USE_READLINE=-DUSE_READLINE" - ]; + # Handle LDFLAGS defaults in calc + "DEFAULT_LIB_INSTALL_PATH=$(out)/lib" + ] + ++ lib.optionals enableReadline [ + "READLINE_LIB=-lreadline" + "USE_READLINE=-DUSE_READLINE" + ]; meta = { homepage = "http://www.isthe.com/chongo/tech/comp/calc/"; @@ -60,9 +62,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/lcn2/calc/blob/v${finalAttrs.version}/CHANGES"; # The licensing situation depends on readline (see section 3 of the LGPL) # If linked against readline then GPLv2 otherwise LGPLv2.1 - license = if enableReadline - then lib.licenses.gpl2Only - else lib.licenses.lgpl21Only; + license = if enableReadline then lib.licenses.gpl2Only else lib.licenses.lgpl21Only; maintainers = with lib.maintainers; [ matthewbauer ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/ca/calcium/package.nix b/pkgs/by-name/ca/calcium/package.nix index 03e27e1fce152..5ecb97953114a 100644 --- a/pkgs/by-name/ca/calcium/package.nix +++ b/pkgs/by-name/ca/calcium/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, mpir -, gmp -, mpfr -, flint -, arb -, antic +{ + lib, + stdenv, + fetchFromGitHub, + mpir, + gmp, + mpfr, + flint, + arb, + antic, }: stdenv.mkDerivation rec { @@ -20,7 +21,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-Ony2FGMnWyNqD7adGeiDtysHNZ4ClMvQ1ijVPSHJmyc="; }; - buildInputs = [ mpir gmp mpfr flint arb antic ]; + buildInputs = [ + mpir + gmp + mpfr + flint + arb + antic + ]; configureFlags = [ "--with-gmp=${gmp}" diff --git a/pkgs/by-name/ca/calcoo/package.nix b/pkgs/by-name/ca/calcoo/package.nix index 462b56d50ce09..dfba85b2e6672 100644 --- a/pkgs/by-name/ca/calcoo/package.nix +++ b/pkgs/by-name/ca/calcoo/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchzip -, ant -, stripJavaArchivesHook -, jdk -, makeWrapper +{ + lib, + stdenv, + fetchzip, + ant, + stripJavaArchivesHook, + jdk, + makeWrapper, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ca/calculix/package.nix b/pkgs/by-name/ca/calculix/package.nix index 8af2ea9f4bceb..aae2145133919 100644 --- a/pkgs/by-name/ca/calculix/package.nix +++ b/pkgs/by-name/ca/calculix/package.nix @@ -1,8 +1,15 @@ -{ lib, stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }: - -assert (blas.isILP64 == lapack.isILP64 && - blas.isILP64 == arpack.isILP64 && - !blas.isILP64); +{ + lib, + stdenv, + fetchurl, + gfortran, + arpack, + spooles, + blas, + lapack, +}: + +assert (blas.isILP64 == lapack.isILP64 && blas.isILP64 == arpack.isILP64 && !blas.isILP64); stdenv.mkDerivation rec { pname = "calculix"; @@ -15,7 +22,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gfortran ]; - buildInputs = [ arpack spooles blas lapack ]; + buildInputs = [ + arpack + spooles + blas + lapack + ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${spooles}/include/spooles" diff --git a/pkgs/by-name/ca/calcure/package.nix b/pkgs/by-name/ca/calcure/package.nix index 29fc8c6c91ca4..50e5346a70db1 100644 --- a/pkgs/by-name/ca/calcure/package.nix +++ b/pkgs/by-name/ca/calcure/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ca/calcurse/package.nix b/pkgs/by-name/ca/calcurse/package.nix index 49d8a9e42d421..6820b0cbedab5 100644 --- a/pkgs/by-name/ca/calcurse/package.nix +++ b/pkgs/by-name/ca/calcurse/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, ncurses, gettext, python3, python3Packages, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + ncurses, + gettext, + python3, + python3Packages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "calcurse"; @@ -9,7 +18,12 @@ stdenv.mkDerivation rec { hash = "sha256-2GuzcBT9abjYPMuQSsl5xrjd9Z7j28gPWidFJeTVgwo="; }; - buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ]; + buildInputs = [ + ncurses + gettext + python3 + python3Packages.wrapPython + ]; nativeBuildInputs = [ makeWrapper ]; postInstall = '' diff --git a/pkgs/by-name/ca/calendar-cli/package.nix b/pkgs/by-name/ca/calendar-cli/package.nix index 7cac9f4ae0f32..38c5e282c063d 100644 --- a/pkgs/by-name/ca/calendar-cli/package.nix +++ b/pkgs/by-name/ca/calendar-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, nixosTests +{ + lib, + python3, + fetchFromGitHub, + nixosTests, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ca/caligula/package.nix b/pkgs/by-name/ca/caligula/package.nix index 75cc0534138c8..65aef91be6774 100644 --- a/pkgs/by-name/ca/caligula/package.nix +++ b/pkgs/by-name/ca/caligula/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -26,7 +27,10 @@ rustPlatform.buildRustPackage rec { description = "User-friendly, lightweight TUI for disk imaging"; homepage = "https://github.com/ifd3f/caligula/"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ifd3f sodiboo ]; + maintainers = with maintainers; [ + ifd3f + sodiboo + ]; platforms = platforms.linux ++ platforms.darwin; mainProgram = "caligula"; }; diff --git a/pkgs/by-name/ca/callaudiod/package.nix b/pkgs/by-name/ca/callaudiod/package.nix index 51dc15f4ec545..e77fe107acdb3 100644 --- a/pkgs/by-name/ca/callaudiod/package.nix +++ b/pkgs/by-name/ca/callaudiod/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, glib -, alsa-lib -, libpulseaudio +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + glib, + alsa-lib, + libpulseaudio, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ca/calls/package.nix b/pkgs/by-name/ca/calls/package.nix index 1497e7deda600..fbb00089be878 100644 --- a/pkgs/by-name/ca/calls/package.nix +++ b/pkgs/by-name/ca/calls/package.nix @@ -1,35 +1,36 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, libadwaita -, libsecret -, modemmanager -, gtk4 -, gom -, gsound -, feedbackd -, callaudiod -, evolution-data-server-gtk4 -, folks -, desktop-file-utils -, appstream-glib -, libpeas2 -, dbus -, vala -, wrapGAppsHook4 -, xvfb-run -, gtk-doc -, bubblewrap -, docbook-xsl-nons -, docbook_xml_dtd_43 -, docutils -, gst_all_1 -, shared-mime-info -, sofia_sip -, writeShellScriptBin +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + libadwaita, + libsecret, + modemmanager, + gtk4, + gom, + gsound, + feedbackd, + callaudiod, + evolution-data-server-gtk4, + folks, + desktop-file-utils, + appstream-glib, + libpeas2, + dbus, + vala, + wrapGAppsHook4, + xvfb-run, + gtk-doc, + bubblewrap, + docbook-xsl-nons, + docbook_xml_dtd_43, + docutils, + gst_all_1, + shared-mime-info, + sofia_sip, + writeShellScriptBin, }: stdenv.mkDerivation (finalAttrs: { @@ -45,7 +46,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-HzQz5jmlXwUHLXC6nhHCa8E8zczaA89YxteZgxSV0YY="; }; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; nativeBuildInputs = [ meson diff --git a/pkgs/by-name/ca/cambalache/package.nix b/pkgs/by-name/ca/cambalache/package.nix index 6af8672e03e34..a664bdc6ac1cd 100644 --- a/pkgs/by-name/ca/cambalache/package.nix +++ b/pkgs/by-name/ca/cambalache/package.nix @@ -1,22 +1,23 @@ -{ lib -, fetchFromGitLab -, python3 -, meson -, ninja -, pkg-config -, gobject-introspection -, desktop-file-utils -, shared-mime-info -, wrapGAppsHook4 -, glib -, gtk3 -, gtk4 -, gtksourceview5 -, libadwaita -, libhandy -, webkitgtk_4_1 -, webkitgtk_6_0 -, nix-update-script +{ + lib, + fetchFromGitLab, + python3, + meson, + ninja, + pkg-config, + gobject-introspection, + desktop-file-utils, + shared-mime-info, + wrapGAppsHook4, + glib, + gtk3, + gtk4, + gtksourceview5, + libadwaita, + libhandy, + webkitgtk_4_1, + webkitgtk_6_0, + nix-update-script, }: python3.pkgs.buildPythonApplication rec { @@ -77,7 +78,12 @@ python3.pkgs.buildPythonApplication rec { # Let python wrapper use GNOME flags. makeWrapperArgs+=( # For broadway daemons - --prefix PATH : "${lib.makeBinPath [ gtk3 gtk4 ]}" + --prefix PATH : "${ + lib.makeBinPath [ + gtk3 + gtk4 + ] + }" "''${gappsWrapperArgs[@]}" ) ''; diff --git a/pkgs/by-name/ca/camingo-code/package.nix b/pkgs/by-name/ca/camingo-code/package.nix index 6bb3f02d7b1fa..6fceebb1a6f9a 100644 --- a/pkgs/by-name/ca/camingo-code/package.nix +++ b/pkgs/by-name/ca/camingo-code/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "camingo-code"; diff --git a/pkgs/by-name/ca/camunda-modeler/package.nix b/pkgs/by-name/ca/camunda-modeler/package.nix index 089587f81382a..94cf4bda22202 100644 --- a/pkgs/by-name/ca/camunda-modeler/package.nix +++ b/pkgs/by-name/ca/camunda-modeler/package.nix @@ -1,10 +1,11 @@ -{ stdenvNoCC -, lib -, fetchurl -, electron -, makeWrapper -, makeDesktopItem -, copyDesktopItems +{ + stdenvNoCC, + lib, + fetchurl, + electron, + makeWrapper, + makeDesktopItem, + copyDesktopItems, }: stdenvNoCC.mkDerivation rec { @@ -50,10 +51,22 @@ stdenvNoCC.mkDerivation rec { exec = pname; desktopName = "Camunda Modeler"; icon = pname; - keywords = [ "bpmn" "cmmn" "dmn" "form" "modeler" "camunda"]; + keywords = [ + "bpmn" + "cmmn" + "dmn" + "form" + "modeler" + "camunda" + ]; genericName = "Process Modeling Tool"; comment = meta.description; - mimeTypes = [ "application/bpmn" "application/cmmn" "application/dmn" "application/camunda-form" ]; + mimeTypes = [ + "application/bpmn" + "application/cmmn" + "application/dmn" + "application/camunda-form" + ]; extraConfig = { X-Ayatana-Desktop-Shortcuts = "NewWindow;RepositoryBrowser"; }; @@ -69,4 +82,3 @@ stdenvNoCC.mkDerivation rec { mainProgram = "camunda-modeler"; }; } - diff --git a/pkgs/by-name/ca/can-utils/package.nix b/pkgs/by-name/ca/can-utils/package.nix index 6d5b7e0d65064..3dd97b7e8f64d 100644 --- a/pkgs/by-name/ca/can-utils/package.nix +++ b/pkgs/by-name/ca/can-utils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "can-utils"; @@ -18,6 +22,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/linux-can/can-utils"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ bjornfor Luflosi ]; + maintainers = with maintainers; [ + bjornfor + Luflosi + ]; }; } diff --git a/pkgs/by-name/ca/cannelloni/package.nix b/pkgs/by-name/ca/cannelloni/package.nix index 9d2c199a23403..d86ea862d935a 100644 --- a/pkgs/by-name/ca/cannelloni/package.nix +++ b/pkgs/by-name/ca/cannelloni/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, lksctp-tools, sctpSupport ? true }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lksctp-tools, + sctpSupport ? true, +}: stdenv.mkDerivation (finalAttrs: { pname = "cannelloni"; diff --git a/pkgs/by-name/ca/canon-cups-ufr2/package.nix b/pkgs/by-name/ca/canon-cups-ufr2/package.nix index 9f34deeeff942..dfc33e0ea7a8d 100644 --- a/pkgs/by-name/ca/canon-cups-ufr2/package.nix +++ b/pkgs/by-name/ca/canon-cups-ufr2/package.nix @@ -1,34 +1,38 @@ -{ lib -, stdenv -, fetchurl -, unzip -, autoconf -, automake -, libtool_1_5 -, makeWrapper -, cups -, jbigkit -, libjpeg -, libgcrypt -, glib -, gtk3 -, gdk-pixbuf -, pango -, cairo -, atk -, pkg-config -, libxml2 -, libredirect -, ghostscript -, pkgs -, zlib +{ + lib, + stdenv, + fetchurl, + unzip, + autoconf, + automake, + libtool_1_5, + makeWrapper, + cups, + jbigkit, + libjpeg, + libgcrypt, + glib, + gtk3, + gdk-pixbuf, + pango, + cairo, + atk, + pkg-config, + libxml2, + libredirect, + ghostscript, + pkgs, + zlib, }: let system = - if stdenv.hostPlatform.system == "x86_64-linux" then "intel" - else if stdenv.hostPlatform.system == "aarch64-linux" then "arm" - else throw "Unsupported platform for Canon UFR2 Drivers: ${stdenv.hostPlatform.system}"; + if stdenv.hostPlatform.system == "x86_64-linux" then + "intel" + else if stdenv.hostPlatform.system == "aarch64-linux" then + "arm" + else + throw "Unsupported platform for Canon UFR2 Drivers: ${stdenv.hostPlatform.system}"; ld64 = "${stdenv.cc}/nix-support/dynamic-linker"; libs = pkgs: lib.makeLibraryPath buildInputs; @@ -43,7 +47,20 @@ let hash = "sha256-JQAe/avYG+9TAsH26UGai6u8/upRXwZrGBc/hd4jZe8="; }; - buildInputs = [ cups zlib jbigkit libjpeg libgcrypt glib gtk3 libxml2 gdk-pixbuf pango cairo atk ]; + buildInputs = [ + cups + zlib + jbigkit + libjpeg + libgcrypt + glib + gtk3 + libxml2 + gdk-pixbuf + pango + cairo + atk + ]; in stdenv.mkDerivation rec { pname = "canon-cups-ufr2"; @@ -76,7 +93,14 @@ stdenv.mkDerivation rec { ) ''; - nativeBuildInputs = [ makeWrapper unzip autoconf automake libtool_1_5 pkg-config ]; + nativeBuildInputs = [ + makeWrapper + unzip + autoconf + automake + libtool_1_5 + pkg-config + ]; inherit buildInputs; diff --git a/pkgs/by-name/ca/cansina/package.nix b/pkgs/by-name/ca/cansina/package.nix index 11e8d9fad487e..d0cc43ce38f7f 100644 --- a/pkgs/by-name/ca/cansina/package.nix +++ b/pkgs/by-name/ca/cansina/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ca/canta-theme/package.nix b/pkgs/by-name/ca/canta-theme/package.nix index 8f06327b9706c..9a9d574c7425b 100644 --- a/pkgs/by-name/ca/canta-theme/package.nix +++ b/pkgs/by-name/ca/canta-theme/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, librsvg -, gtk-engine-murrine -, gtk3 -, adwaita-icon-theme -, gnome-icon-theme -, numix-icon-theme-circle -, hicolor-icon-theme +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + librsvg, + gtk-engine-murrine, + gtk3, + adwaita-icon-theme, + gnome-icon-theme, + numix-icon-theme-circle, + hicolor-icon-theme, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ca/cantarell-fonts/package.nix b/pkgs/by-name/ca/cantarell-fonts/package.nix index 4dc5cc2d73344..10a8e71838dcc 100644 --- a/pkgs/by-name/ca/cantarell-fonts/package.nix +++ b/pkgs/by-name/ca/cantarell-fonts/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, python3 -, gettext -, appstream-glib -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + python3, + gettext, + appstream-glib, + gnome, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ca/canto-curses/package.nix b/pkgs/by-name/ca/canto-curses/package.nix index 0c69125ebf9f1..78be4ecaeb2d0 100644 --- a/pkgs/by-name/ca/canto-curses/package.nix +++ b/pkgs/by-name/ca/canto-curses/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, python3Packages, readline, ncurses, canto-daemon }: +{ + lib, + fetchFromGitHub, + python3Packages, + readline, + ncurses, + canto-daemon, +}: python3Packages.buildPythonApplication rec { version = "0.9.9"; @@ -11,7 +18,11 @@ python3Packages.buildPythonApplication rec { sha256 = "1vzb9n1j4gxigzll6654ln79lzbrrm6yy0lyazd9kldyl349b8sr"; }; - buildInputs = [ readline ncurses canto-daemon ]; + buildInputs = [ + readline + ncurses + canto-daemon + ]; propagatedBuildInputs = [ canto-daemon ]; meta = { diff --git a/pkgs/by-name/ca/canto-daemon/package.nix b/pkgs/by-name/ca/canto-daemon/package.nix index 5eb8c9d74379f..1a26d98de2532 100644 --- a/pkgs/by-name/ca/canto-daemon/package.nix +++ b/pkgs/by-name/ca/canto-daemon/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages, }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { version = "0.9.8"; @@ -30,6 +34,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://codezen.org/canto-ng/"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers;[ devhell ]; + maintainers = with maintainers; [ devhell ]; }; } diff --git a/pkgs/by-name/ca/cantoolz/package.nix b/pkgs/by-name/ca/cantoolz/package.nix index 9da4923400071..7d2d8d9c8c837 100644 --- a/pkgs/by-name/ca/cantoolz/package.nix +++ b/pkgs/by-name/ca/cantoolz/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ca/capitaine-cursors-themed/package.nix b/pkgs/by-name/ca/capitaine-cursors-themed/package.nix index e29c38dc5df6b..c2e39c68664b1 100644 --- a/pkgs/by-name/ca/capitaine-cursors-themed/package.nix +++ b/pkgs/by-name/ca/capitaine-cursors-themed/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "capitaine-cursors-themed"; diff --git a/pkgs/by-name/ca/capitaine-cursors/package.nix b/pkgs/by-name/ca/capitaine-cursors/package.nix index 1bb855790055d..b3e735687af85 100644 --- a/pkgs/by-name/ca/capitaine-cursors/package.nix +++ b/pkgs/by-name/ca/capitaine-cursors/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenvNoCC, fetchFromGitHub, fetchpatch, makeFontsConf -, inkscape, xcursorgen, bc }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + makeFontsConf, + inkscape, + xcursorgen, + bc, +}: stdenvNoCC.mkDerivation rec { pname = "capitaine-cursors"; diff --git a/pkgs/by-name/ca/capnproto-java/package.nix b/pkgs/by-name/ca/capnproto-java/package.nix index 73c068543fb3b..d54eac703abb5 100644 --- a/pkgs/by-name/ca/capnproto-java/package.nix +++ b/pkgs/by-name/ca/capnproto-java/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, capnproto, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + capnproto, + pkg-config, +}: stdenv.mkDerivation rec { pname = "capnproto-java"; @@ -23,6 +29,9 @@ stdenv.mkDerivation rec { longDescription = "Only includes compiler plugin, the Java runtime/library that the generated code will link to must be built separately with Maven."; homepage = "https://dwrensha.github.io/capnproto-java/index.html"; license = licenses.mit; - maintainers = with maintainers; [ bhipple solson ]; + maintainers = with maintainers; [ + bhipple + solson + ]; }; } diff --git a/pkgs/by-name/ca/capnproto-rust/package.nix b/pkgs/by-name/ca/capnproto-rust/package.nix index e63cca6a5e90d..087dcf2745ac9 100644 --- a/pkgs/by-name/ca/capnproto-rust/package.nix +++ b/pkgs/by-name/ca/capnproto-rust/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchCrate -, rustPlatform -, capnproto +{ + lib, + fetchCrate, + rustPlatform, + capnproto, }: rustPlatform.buildRustPackage rec { @@ -29,6 +30,9 @@ rustPlatform.buildRustPackage rec { description = "Cap'n Proto codegen plugin for Rust"; homepage = "https://github.com/capnproto/capnproto-rust"; license = licenses.mit; - maintainers = with maintainers; [ mikroskeem solson ]; + maintainers = with maintainers; [ + mikroskeem + solson + ]; }; } diff --git a/pkgs/by-name/ca/capnproto/package.nix b/pkgs/by-name/ca/capnproto/package.nix index 4e96d6a6b9931..c32231997e7d5 100644 --- a/pkgs/by-name/ca/capnproto/package.nix +++ b/pkgs/by-name/ca/capnproto/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, openssl -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + zlib, }: stdenv.mkDerivation rec { @@ -19,18 +20,21 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ openssl zlib ]; + propagatedBuildInputs = [ + openssl + zlib + ]; meta = with lib; { - homepage = "https://capnproto.org/"; + homepage = "https://capnproto.org/"; description = "Cap'n Proto cerealization protocol"; longDescription = '' Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. ''; - license = licenses.mit; - platforms = platforms.all; + license = licenses.mit; + platforms = platforms.all; maintainers = [ ]; }; } diff --git a/pkgs/by-name/ca/caprice32/package.nix b/pkgs/by-name/ca/caprice32/package.nix index 54ebfc49964f5..a5dde1c577e3d 100644 --- a/pkgs/by-name/ca/caprice32/package.nix +++ b/pkgs/by-name/ca/caprice32/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, desktop-file-utils, libpng -, pkg-config, SDL, freetype, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + desktop-file-utils, + libpng, + pkg-config, + SDL, + freetype, + zlib, +}: stdenv.mkDerivation rec { @@ -16,8 +25,16 @@ stdenv.mkDerivation rec { sha256 = "0hng5krwgc1h9bz1xlkp2hwnvas965nd7sb3z9mb2m6x9ghxlacz"; }; - nativeBuildInputs = [ desktop-file-utils pkg-config ]; - buildInputs = [ libpng SDL freetype zlib ]; + nativeBuildInputs = [ + desktop-file-utils + pkg-config + ]; + buildInputs = [ + libpng + SDL + freetype + zlib + ]; patches = [ ./string.patch ]; diff --git a/pkgs/by-name/ca/caprine-bin/build-from-appimage.nix b/pkgs/by-name/ca/caprine-bin/build-from-appimage.nix index ed0e978c1524f..51307ae91d124 100644 --- a/pkgs/by-name/ca/caprine-bin/build-from-appimage.nix +++ b/pkgs/by-name/ca/caprine-bin/build-from-appimage.nix @@ -1,10 +1,11 @@ -{ fetchurl -, appimageTools -, xorg -, pname -, version -, sha256 -, metaCommon ? { } +{ + fetchurl, + appimageTools, + xorg, + pname, + version, + sha256, + metaCommon ? { }, }: let diff --git a/pkgs/by-name/ca/caprine-bin/build-from-dmg.nix b/pkgs/by-name/ca/caprine-bin/build-from-dmg.nix index 6a53bba026c5a..dce0b0b6395f8 100644 --- a/pkgs/by-name/ca/caprine-bin/build-from-dmg.nix +++ b/pkgs/by-name/ca/caprine-bin/build-from-dmg.nix @@ -1,11 +1,12 @@ -{ stdenvNoCC -, lib -, fetchurl -, undmg -, pname -, version -, sha256 -, metaCommon ? { } +{ + stdenvNoCC, + lib, + fetchurl, + undmg, + pname, + version, + sha256, + metaCommon ? { }, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/ca/caprine-bin/package.nix b/pkgs/by-name/ca/caprine-bin/package.nix index f82ae2ac42201..076c9533e647e 100644 --- a/pkgs/by-name/ca/caprine-bin/package.nix +++ b/pkgs/by-name/ca/caprine-bin/package.nix @@ -1,4 +1,8 @@ -{ lib, callPackage, stdenvNoCC }: +{ + lib, + callPackage, + stdenvNoCC, +}: let pname = "caprine"; version = "2.59.1"; @@ -18,10 +22,13 @@ let sha256 = "sha256-WMT4yrLjDSMsI/lFbYODu3/0whcF+++4ShoChfMyLfQ="; }; in -(if stdenvNoCC.hostPlatform.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: { - passthru = (oldAttrs.passthru or { }) // { inherit x86_64-appimage x86_64-dmg; }; - meta = oldAttrs.meta // { - platforms = x86_64-appimage.meta.platforms ++ x86_64-dmg.meta.platforms; - mainProgram = "caprine"; - }; -}) +(if stdenvNoCC.hostPlatform.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs + (oldAttrs: { + passthru = (oldAttrs.passthru or { }) // { + inherit x86_64-appimage x86_64-dmg; + }; + meta = oldAttrs.meta // { + platforms = x86_64-appimage.meta.platforms ++ x86_64-dmg.meta.platforms; + mainProgram = "caprine"; + }; + }) diff --git a/pkgs/by-name/ca/caps/package.nix b/pkgs/by-name/ca/caps/package.nix index 90b361aeef762..4c58ee2c316cb 100644 --- a/pkgs/by-name/ca/caps/package.nix +++ b/pkgs/by-name/ca/caps/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "caps"; version = "0.9.26"; diff --git a/pkgs/by-name/ca/captive-browser/package.nix b/pkgs/by-name/ca/captive-browser/package.nix index ec24158635eeb..14e5ade875c80 100644 --- a/pkgs/by-name/ca/captive-browser/package.nix +++ b/pkgs/by-name/ca/captive-browser/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, fetchpatch }: +{ + lib, + fetchFromGitHub, + buildGoModule, + fetchpatch, +}: buildGoModule rec { pname = "captive-browser"; @@ -22,7 +27,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Dedicated Chrome instance to log into captive portals without messing with DNS settings"; diff --git a/pkgs/by-name/ca/capture/package.nix b/pkgs/by-name/ca/capture/package.nix index 9eac4dd0bbc55..30632cd00f744 100644 --- a/pkgs/by-name/ca/capture/package.nix +++ b/pkgs/by-name/ca/capture/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, slop, ffmpeg, fetchFromGitHub, makeWrapper}: +{ + lib, + stdenv, + slop, + ffmpeg, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation { pname = "capture-unstable"; @@ -7,7 +14,7 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "buhman"; repo = "capture"; - rev = "80dd9e7195aad5c132badef610f19509f3935b24"; + rev = "80dd9e7195aad5c132badef610f19509f3935b24"; sha256 = "0zyyg4mvrny7cc2xgvfip97b6yc75ka5ni39rwls93971jbk83d6"; }; @@ -18,7 +25,12 @@ stdenv.mkDerivation { patchShebangs $out/bin/capture wrapProgram $out/bin/capture \ - --prefix PATH : '${lib.makeBinPath [ slop ffmpeg ]}' + --prefix PATH : '${ + lib.makeBinPath [ + slop + ffmpeg + ] + }' ''; meta = with lib; { diff --git a/pkgs/by-name/ca/carbon-now-cli/package.nix b/pkgs/by-name/ca/carbon-now-cli/package.nix index 7d35283ab74c6..bb6ea656a022a 100644 --- a/pkgs/by-name/ca/carbon-now-cli/package.nix +++ b/pkgs/by-name/ca/carbon-now-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ca/cardboard/package.nix b/pkgs/by-name/ca/cardboard/package.nix index e8bc82fd1cf01..4a09103c91d0e 100644 --- a/pkgs/by-name/ca/cardboard/package.nix +++ b/pkgs/by-name/ca/cardboard/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchurl -, fetchgit -, ffmpeg -, libGL -, libX11 -, libcap -, libdrm -, libinput -, libpng -, libxcb -, libxkbcommon -, mesa -, meson -, ninja -, pandoc -, pixman -, pkg-config -, unzip -, wayland -, wayland-protocols -, wayland-scanner -, xcbutilerrors -, xcbutilimage -, xcbutilwm +{ + lib, + stdenv, + fetchFromGitLab, + fetchurl, + fetchgit, + ffmpeg, + libGL, + libX11, + libcap, + libdrm, + libinput, + libpng, + libxcb, + libxkbcommon, + mesa, + meson, + ninja, + pandoc, + pixman, + pkg-config, + unzip, + wayland, + wayland-protocols, + wayland-scanner, + xcbutilerrors, + xcbutilimage, + xcbutilwm, }: let @@ -72,7 +73,12 @@ stdenv.mkDerivation { src = allSources.cardboard; - outputs = [ "out" "dev" "lib" "man" ]; + outputs = [ + "out" + "dev" + "lib" + "man" + ]; nativeBuildInputs = [ meson diff --git a/pkgs/by-name/ca/carddav-util/package.nix b/pkgs/by-name/ca/carddav-util/package.nix index 539cfa67aa5a0..482e564d20221 100644 --- a/pkgs/by-name/ca/carddav-util/package.nix +++ b/pkgs/by-name/ca/carddav-util/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + makeWrapper, +}: stdenv.mkDerivation { pname = "carddav"; @@ -13,7 +19,11 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - propagatedBuildInputs = with python3Packages; [ requests vobject lxml ]; + propagatedBuildInputs = with python3Packages; [ + requests + vobject + lxml + ]; strictDeps = true; diff --git a/pkgs/by-name/ca/cardo/package.nix b/pkgs/by-name/ca/cardo/package.nix index c862ea7ce8895..becc77735beda 100644 --- a/pkgs/by-name/ca/cardo/package.nix +++ b/pkgs/by-name/ca/cardo/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "cardo"; diff --git a/pkgs/by-name/ca/cargo-all-features/package.nix b/pkgs/by-name/ca/cargo-all-features/package.nix index bb00a230a85e8..96d9942b51584 100644 --- a/pkgs/by-name/ca/cargo-all-features/package.nix +++ b/pkgs/by-name/ca/cargo-all-features/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -17,7 +18,13 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Cargo subcommand to build and test all feature flag combinations"; homepage = "https://github.com/frewsxcv/cargo-all-features"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-apk/package.nix b/pkgs/by-name/ca/cargo-apk/package.nix index c889f643b5cbd..090b22ed4384a 100644 --- a/pkgs/by-name/ca/cargo-apk/package.nix +++ b/pkgs/by-name/ca/cargo-apk/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { description = "Tool for creating Android packages"; mainProgram = "cargo-apk"; homepage = "https://github.com/rust-windowing/android-ndk-rs"; - license = with licenses;[ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ nickcao ]; }; } diff --git a/pkgs/by-name/ca/cargo-autoinherit/package.nix b/pkgs/by-name/ca/cargo-autoinherit/package.nix index 0e3fc9e7c72b6..dc462acbf2080 100644 --- a/pkgs/by-name/ca/cargo-autoinherit/package.nix +++ b/pkgs/by-name/ca/cargo-autoinherit/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-autoinherit"; @@ -16,10 +20,12 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Automatically DRY up your Rust dependencies"; homepage = "https://github.com/mainmatter/cargo-autoinherit"; - license = with licenses; [ asl20 /* OR */ mit ]; + license = with licenses; [ + asl20 # OR + mit + ]; platforms = platforms.unix; maintainers = with maintainers; [ matthiasbeyer ]; mainProgram = "cargo-autoinherit"; }; } - diff --git a/pkgs/by-name/ca/cargo-benchcmp/package.nix b/pkgs/by-name/ca/cargo-benchcmp/package.nix index 132aa0bc2ffc8..cbb86ed458e63 100644 --- a/pkgs/by-name/ca/cargo-benchcmp/package.nix +++ b/pkgs/by-name/ca/cargo-benchcmp/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, substituteAll -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + substituteAll, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -35,7 +36,10 @@ rustPlatform.buildRustPackage rec { description = "Small utility to compare Rust micro-benchmarks"; mainProgram = "cargo-benchcmp"; homepage = "https://github.com/BurntSushi/cargo-benchcmp"; - license = with licenses; [ mit unlicense ]; + license = with licenses; [ + mit + unlicense + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cargo-binstall/package.nix b/pkgs/by-name/ca/cargo-binstall/package.nix index 83bc587b9c33f..8aee9dfb5642c 100644 --- a/pkgs/by-name/ca/cargo-binstall/package.nix +++ b/pkgs/by-name/ca/cargo-binstall/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, bzip2 -, xz -, zstd -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + bzip2, + xz, + zstd, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -26,13 +27,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - bzip2 - xz - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + xz + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; buildNoDefaultFeatures = true; buildFeatures = [ @@ -44,8 +47,14 @@ rustPlatform.buildRustPackage rec { "zstd-thin" ]; - cargoBuildFlags = [ "-p" "cargo-binstall" ]; - cargoTestFlags = [ "-p" "cargo-binstall" ]; + cargoBuildFlags = [ + "-p" + "cargo-binstall" + ]; + cargoTestFlags = [ + "-p" + "cargo-binstall" + ]; checkFlags = [ # requires internet access diff --git a/pkgs/by-name/ca/cargo-binutils/package.nix b/pkgs/by-name/ca/cargo-binutils/package.nix index 0f7e53474f6f6..4fa0efde04af0 100644 --- a/pkgs/by-name/ca/cargo-binutils/package.nix +++ b/pkgs/by-name/ca/cargo-binutils/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cargo-binutils"; @@ -18,7 +22,13 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://github.com/rust-embedded/cargo-binutils"; changelog = "https://github.com/rust-embedded/cargo-binutils/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ stupremee matthiasbeyer ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + stupremee + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-bitbake/package.nix b/pkgs/by-name/ca/cargo-bitbake/package.nix index 91b4912022209..3836e251003a7 100644 --- a/pkgs/by-name/ca/cargo-bitbake/package.nix +++ b/pkgs/by-name/ca/cargo-bitbake/package.nix @@ -1,4 +1,10 @@ -{ lib, pkg-config, rustPlatform, fetchFromGitHub, openssl }: +{ + lib, + pkg-config, + rustPlatform, + fetchFromGitHub, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "cargo-bitbake"; @@ -20,7 +26,10 @@ rustPlatform.buildRustPackage rec { description = "Cargo extension that can generate BitBake recipes utilizing the classes from meta-rust"; mainProgram = "cargo-bitbake"; homepage = "https://github.com/meta-rust/cargo-bitbake"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ rvarago ]; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/by-name/ca/cargo-bloat/package.nix b/pkgs/by-name/ca/cargo-bloat/package.nix index 093f6db75f961..90e307891cc3f 100644 --- a/pkgs/by-name/ca/cargo-bloat/package.nix +++ b/pkgs/by-name/ca/cargo-bloat/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-bloat"; @@ -18,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/RazrFalcon/cargo-bloat"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ xrelkd matthiasbeyer ]; + maintainers = with maintainers; [ + xrelkd + matthiasbeyer + ]; mainProgram = "cargo-bloat"; }; } diff --git a/pkgs/by-name/ca/cargo-bolero/package.nix b/pkgs/by-name/ca/cargo-bolero/package.nix index 6183b08004050..4d18ec63ae603 100644 --- a/pkgs/by-name/ca/cargo-bolero/package.nix +++ b/pkgs/by-name/ca/cargo-bolero/package.nix @@ -1,4 +1,12 @@ -{ lib, rustPlatform, fetchCrate, libbfd, libopcodes, libunwind, nix-update-script }: +{ + lib, + rustPlatform, + fetchCrate, + libbfd, + libopcodes, + libunwind, + nix-update-script, +}: rustPlatform.buildRustPackage rec { pname = "cargo-bolero"; @@ -11,7 +19,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-5F72vjEu0qrE3fYPbiw/UFUUnAZcEBcuhDkuqqCBbrM="; - buildInputs = [ libbfd libopcodes libunwind ]; + buildInputs = [ + libbfd + libopcodes + libunwind + ]; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ca/cargo-bootimage/package.nix b/pkgs/by-name/ca/cargo-bootimage/package.nix index 16dc55b64fbc0..5b7a44dc1df36 100644 --- a/pkgs/by-name/ca/cargo-bootimage/package.nix +++ b/pkgs/by-name/ca/cargo-bootimage/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Creates a bootable disk image from a Rust OS kernel"; homepage = "https://github.com/rust-osdev/bootimage"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ dbeckwith ]; }; } diff --git a/pkgs/by-name/ca/cargo-bump/package.nix b/pkgs/by-name/ca/cargo-bump/package.nix index e40d79a14089f..486d9096761e0 100644 --- a/pkgs/by-name/ca/cargo-bump/package.nix +++ b/pkgs/by-name/ca/cargo-bump/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cargo-bundle-licenses/package.nix b/pkgs/by-name/ca/cargo-bundle-licenses/package.nix index 1a6cc5ca07461..c9d6943efc551 100644 --- a/pkgs/by-name/ca/cargo-bundle-licenses/package.nix +++ b/pkgs/by-name/ca/cargo-bundle-licenses/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-bundle-licenses"; homepage = "https://github.com/sstadick/cargo-bundle-licenses"; changelog = "https://github.com/sstadick/cargo-bundle-licenses/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-bundle/package.nix b/pkgs/by-name/ca/cargo-bundle/package.nix index 7d302da1003b5..213cc492d1b05 100644 --- a/pkgs/by-name/ca/cargo-bundle/package.nix +++ b/pkgs/by-name/ca/cargo-bundle/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, stdenv -, darwin -, libxkbcommon -, wayland +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + darwin, + libxkbcommon, + wayland, }: rustPlatform.buildRustPackage { @@ -26,18 +27,23 @@ rustPlatform.buildRustPackage { pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libxkbcommon - wayland - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxkbcommon + wayland + ]; meta = with lib; { description = "Wrap rust executables in OS-specific app bundles"; mainProgram = "cargo-bundle"; homepage = "https://github.com/burtonageo/cargo-bundle"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cargo-careful/package.nix b/pkgs/by-name/ca/cargo-careful/package.nix index 125a8a9b8056e..260b6d92c6437 100644 --- a/pkgs/by-name/ca/cargo-careful/package.nix +++ b/pkgs/by-name/ca/cargo-careful/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,13 @@ rustPlatform.buildRustPackage rec { description = "Tool to execute Rust code carefully, with extra checking along the way"; mainProgram = "cargo-careful"; homepage = "https://github.com/RalfJung/cargo-careful"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-chef/package.nix b/pkgs/by-name/ca/cargo-chef/package.nix index b307704c76fb7..f5e20e0f1f348 100644 --- a/pkgs/by-name/ca/cargo-chef/package.nix +++ b/pkgs/by-name/ca/cargo-chef/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cargo-chef"; diff --git a/pkgs/by-name/ca/cargo-component/package.nix b/pkgs/by-name/ca/cargo-component/package.nix index fd0c1806e27d2..49b1ac6770c9b 100644 --- a/pkgs/by-name/ca/cargo-component/package.nix +++ b/pkgs/by-name/ca/cargo-component/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; # requires the wasm32-wasi target doCheck = false; diff --git a/pkgs/by-name/ca/cargo-cranky/package.nix b/pkgs/by-name/ca/cargo-cranky/package.nix index cb83bf72b528b..168b9a9798420 100644 --- a/pkgs/by-name/ca/cargo-cranky/package.nix +++ b/pkgs/by-name/ca/cargo-cranky/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-cranky"; homepage = "https://github.com/ericseppanen/cargo-cranky"; changelog = "https://github.com/ericseppanen/cargo-cranky/releases/tag/${src.rev}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cargo-criterion/package.nix b/pkgs/by-name/ca/cargo-criterion/package.nix index b139a4ce3a0cb..96dda36ab0670 100644 --- a/pkgs/by-name/ca/cargo-criterion/package.nix +++ b/pkgs/by-name/ca/cargo-criterion/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "cargo-criterion"; @@ -17,7 +21,13 @@ rustPlatform.buildRustPackage rec { description = "Cargo extension for running Criterion.rs benchmarks"; mainProgram = "cargo-criterion"; homepage = "https://github.com/bheisler/cargo-criterion"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ humancalico matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + humancalico + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-deadlinks/package.nix b/pkgs/by-name/ca/cargo-deadlinks/package.nix index 13cfbcced456a..e461c80cd04bc 100644 --- a/pkgs/by-name/ca/cargo-deadlinks/package.nix +++ b/pkgs/by-name/ca/cargo-deadlinks/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, apple-sdk_11 }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + apple-sdk_11, +}: rustPlatform.buildRustPackage rec { pname = "cargo-deadlinks"; @@ -13,15 +19,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Bs6WyeHBeZDWLSidoFBLaa2ZEr8oAQcr8JmHCtw34AE="; - checkFlags = [ - # uses internet - "--skip non_existent_http_link --skip working_http_check" - # makes assumption about HTML paths that changed in rust 1.82.0 - "--skip simple_project::it_checks_okay_project_correctly" - "--skip cli_args::it_passes_arguments_through_to_cargo" - ] ++ lib.optional (stdenv.hostPlatform.system != "x86_64-linux") - # assumes the target is x86_64-unknown-linux-gnu - "--skip simple_project::it_checks_okay_project_correctly"; + checkFlags = + [ + # uses internet + "--skip non_existent_http_link --skip working_http_check" + # makes assumption about HTML paths that changed in rust 1.82.0 + "--skip simple_project::it_checks_okay_project_correctly" + "--skip cli_args::it_passes_arguments_through_to_cargo" + ] + ++ lib.optional (stdenv.hostPlatform.system != "x86_64-linux") + # assumes the target is x86_64-unknown-linux-gnu + "--skip simple_project::it_checks_okay_project_correctly"; buildInputs = lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; @@ -29,7 +37,13 @@ rustPlatform.buildRustPackage rec { description = "Cargo subcommand to check rust documentation for broken links"; homepage = "https://github.com/deadlinks/cargo-deadlinks"; changelog = "https://github.com/deadlinks/cargo-deadlinks/blob/${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ newam matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + newam + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-deny/package.nix b/pkgs/by-name/ca/cargo-deny/package.nix index 146dd01a6d5f5..7a9417ecef7ba 100644 --- a/pkgs/by-name/ca/cargo-deny/package.nix +++ b/pkgs/by-name/ca/cargo-deny/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, zstd -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + zstd, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,12 +25,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { ZSTD_SYS_USE_PKG_CONFIG = true; @@ -43,7 +46,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-deny"; homepage = "https://github.com/EmbarkStudios/cargo-deny"; changelog = "https://github.com/EmbarkStudios/cargo-deny/blob/${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer jk ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + jk + ]; }; } diff --git a/pkgs/by-name/ca/cargo-depgraph/package.nix b/pkgs/by-name/ca/cargo-depgraph/package.nix index c4379974a6abb..a1928b19e8592 100644 --- a/pkgs/by-name/ca/cargo-depgraph/package.nix +++ b/pkgs/by-name/ca/cargo-depgraph/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromSourcehut }: +{ + lib, + rustPlatform, + fetchFromSourcehut, +}: rustPlatform.buildRustPackage rec { pname = "cargo-depgraph"; @@ -19,6 +23,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://sr.ht/~jplatte/cargo-depgraph"; changelog = "https://git.sr.ht/~jplatte/cargo-depgraph/tree/${src.rev}/item/CHANGELOG.md"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-dephell/package.nix b/pkgs/by-name/ca/cargo-dephell/package.nix index b1f390f77388f..2cbdbafe3d036 100644 --- a/pkgs/by-name/ca/cargo-dephell/package.nix +++ b/pkgs/by-name/ca/cargo-dephell/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, stdenv -, curl -, openssl -, darwin -, libgit2 +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + curl, + openssl, + darwin, + libgit2, }: rustPlatform.buildRustPackage rec { @@ -24,19 +25,23 @@ rustPlatform.buildRustPackage rec { lockFile = ./Cargo.lock; }; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - darwin.apple_sdk.frameworks.Security - libgit2 - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + darwin.apple_sdk.frameworks.Security + libgit2 + ]; # update Cargo.lock to work with openssl 3 postPatch = '' @@ -51,7 +56,13 @@ rustPlatform.buildRustPackage rec { description = "Tool to analyze the third-party dependencies imported by a rust crate or rust workspace"; mainProgram = "cargo-dephell"; homepage = "https://github.com/mimoo/cargo-dephell"; - license = with licenses; [ mit /* or */ asl20 ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + mit # or + asl20 + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-diet/package.nix b/pkgs/by-name/ca/cargo-diet/package.nix index b7b4e2d11d1bb..90448aa7adbb6 100644 --- a/pkgs/by-name/ca/cargo-diet/package.nix +++ b/pkgs/by-name/ca/cargo-diet/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-diet"; @@ -19,6 +23,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/the-lean-crate/cargo-diet"; changelog = "https://github.com/the-lean-crate/cargo-diet/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-dist/package.nix b/pkgs/by-name/ca/cargo-dist/package.nix index 22152eed30d71..5d8a41b16ec71 100644 --- a/pkgs/by-name/ca/cargo-dist/package.nix +++ b/pkgs/by-name/ca/cargo-dist/package.nix @@ -1,15 +1,16 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script -, pkg-config -, bzip2 -, xz -, zstd -, stdenv -, darwin -, git -, rustup +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + pkg-config, + bzip2, + xz, + zstd, + stdenv, + darwin, + git, + rustup, }: rustPlatform.buildRustPackage rec { @@ -29,13 +30,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - bzip2 - xz - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + xz + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; nativeCheckInputs = [ git @@ -58,7 +61,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-dist"; homepage = "https://github.com/axodotdev/cargo-dist"; changelog = "https://github.com/axodotdev/cargo-dist/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer mistydemeo ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + mistydemeo + ]; }; } diff --git a/pkgs/by-name/ca/cargo-docset/package.nix b/pkgs/by-name/ca/cargo-docset/package.nix index 54328186e8b75..1148261d034b8 100644 --- a/pkgs/by-name/ca/cargo-docset/package.nix +++ b/pkgs/by-name/ca/cargo-docset/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, rustPlatform -, sqlite +{ + lib, + fetchFromGitHub, + gitUpdater, + rustPlatform, + sqlite, }: rustPlatform.buildRustPackage rec { @@ -30,6 +31,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Robzz/cargo-docset"; changelog = "https://github.com/Robzz/cargo-docset/blob/${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ colinsane matthiasbeyer ]; + maintainers = with maintainers; [ + colinsane + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-duplicates/package.nix b/pkgs/by-name/ca/cargo-duplicates/package.nix index c04dc2ac571da..30e5f66b9b6a9 100644 --- a/pkgs/by-name/ca/cargo-duplicates/package.nix +++ b/pkgs/by-name/ca/cargo-duplicates/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, curl -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + curl, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,20 +29,25 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - curl - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + curl + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Cargo subcommand for displaying when different versions of a same dependency are pulled in"; mainProgram = "cargo-duplicates"; homepage = "https://github.com/Keruspe/cargo-duplicates"; license = licenses.mit; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-espmonitor/package.nix b/pkgs/by-name/ca/cargo-espmonitor/package.nix index 4c65c7bba3b29..4d81694e385e7 100644 --- a/pkgs/by-name/ca/cargo-espmonitor/package.nix +++ b/pkgs/by-name/ca/cargo-espmonitor/package.nix @@ -1,7 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "espmonitor"; diff --git a/pkgs/by-name/ca/cargo-expand/package.nix b/pkgs/by-name/ca/cargo-expand/package.nix index 739dab9a7ec1c..6530954a1ed93 100644 --- a/pkgs/by-name/ca/cargo-expand/package.nix +++ b/pkgs/by-name/ca/cargo-expand/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -20,8 +21,14 @@ rustPlatform.buildRustPackage rec { description = "Cargo subcommand to show result of macro expansion"; homepage = "https://github.com/dtolnay/cargo-expand"; changelog = "https://github.com/dtolnay/cargo-expand/releases/tag/${version}"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ figsoda xrelkd ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + figsoda + xrelkd + ]; mainProgram = "cargo-expand"; }; } diff --git a/pkgs/by-name/ca/cargo-fuzz/package.nix b/pkgs/by-name/ca/cargo-fuzz/package.nix index c23108abcf404..bd30411f16d27 100644 --- a/pkgs/by-name/ca/cargo-fuzz/package.nix +++ b/pkgs/by-name/ca/cargo-fuzz/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "cargo-fuzz"; @@ -19,7 +23,13 @@ rustPlatform.buildRustPackage rec { description = "Command line helpers for fuzzing"; mainProgram = "cargo-fuzz"; homepage = "https://github.com/rust-fuzz/cargo-fuzz"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ ekleog matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + ekleog + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-geiger/package.nix b/pkgs/by-name/ca/cargo-geiger/package.nix index c29825cb86b5d..77c232c50da9c 100644 --- a/pkgs/by-name/ca/cargo-geiger/package.nix +++ b/pkgs/by-name/ca/cargo-geiger/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, # darwin dependencies -, darwin -, libiconv -, curl + darwin, + libiconv, + curl, }: rustPlatform.buildRustPackage rec { @@ -32,9 +33,19 @@ rustPlatform.buildRustPackage rec { ./allow-warnings.patch ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation Security libiconv curl ]); - nativeBuildInputs = [ pkg-config ] + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreFoundation + Security + libiconv + curl + ] + ); + nativeBuildInputs = + [ pkg-config ] # curl-sys wants to run curl-config on darwin ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl.dev ]; @@ -70,7 +81,15 @@ rustPlatform.buildRustPackage rec { dependency selection but it can not help you decide when and why unsafe code is appropriate. ''; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ evanjs gepbird jk matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + evanjs + gepbird + jk + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-generate/package.nix b/pkgs/by-name/ca/cargo-generate/package.nix index 162860caae229..3d2fa1c091d4d 100644 --- a/pkgs/by-name/ca/cargo-generate/package.nix +++ b/pkgs/by-name/ca/cargo-generate/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, openssl -, stdenv -, darwin -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + stdenv, + darwin, + git, }: rustPlatform.buildRustPackage rec { @@ -24,9 +25,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libgit2 openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libgit2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; nativeCheckInputs = [ git ]; @@ -42,16 +48,18 @@ rustPlatform.buildRustPackage rec { # Exclude some tests that don't work in sandbox: # - favorites_default_to_git_if_not_defined: requires network access to github.com # - should_canonicalize: the test assumes that it will be called from the /Users// folder on darwin variant. - checkFlags = [ - "--skip=favorites::favorites_default_to_git_if_not_defined" - "--skip=git_instead_of::should_read_the_instead_of_config_and_rewrite_an_git_at_url_to_https" - "--skip=git_instead_of::should_read_the_instead_of_config_and_rewrite_an_ssh_url_to_https" - "--skip=git_over_ssh::it_should_retrieve_the_private_key_from_ssh_agent" - "--skip=git_over_ssh::it_should_support_a_public_repo" - "--skip=git_over_ssh::it_should_use_a_ssh_key_provided_by_identity_argument" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--skip=git::utils::should_canonicalize" - ]; + checkFlags = + [ + "--skip=favorites::favorites_default_to_git_if_not_defined" + "--skip=git_instead_of::should_read_the_instead_of_config_and_rewrite_an_git_at_url_to_https" + "--skip=git_instead_of::should_read_the_instead_of_config_and_rewrite_an_ssh_url_to_https" + "--skip=git_over_ssh::it_should_retrieve_the_private_key_from_ssh_agent" + "--skip=git_over_ssh::it_should_support_a_public_repo" + "--skip=git_over_ssh::it_should_use_a_ssh_key_provided_by_identity_argument" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--skip=git::utils::should_canonicalize" + ]; env = { LIBGIT2_NO_VENDOR = 1; @@ -62,7 +70,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-generate"; homepage = "https://github.com/cargo-generate/cargo-generate"; changelog = "https://github.com/cargo-generate/cargo-generate/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda turbomack matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + turbomack + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-guppy/package.nix b/pkgs/by-name/ca/cargo-guppy/package.nix index 68a696ab1ae9d..3b917cd6762c1 100644 --- a/pkgs/by-name/ca/cargo-guppy/package.nix +++ b/pkgs/by-name/ca/cargo-guppy/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,18 +23,29 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; - cargoBuildFlags = [ "-p" "cargo-guppy" ]; - cargoTestFlags = [ "-p" "cargo-guppy" ]; + cargoBuildFlags = [ + "-p" + "cargo-guppy" + ]; + cargoTestFlags = [ + "-p" + "cargo-guppy" + ]; meta = with lib; { description = "Command-line frontend for guppy"; mainProgram = "cargo-guppy"; homepage = "https://github.com/guppy-rs/guppy/tree/main/cargo-guppy"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cargo-hack/package.nix b/pkgs/by-name/ca/cargo-hack/package.nix index 5308cfca11584..5d0b3a520c1eb 100644 --- a/pkgs/by-name/ca/cargo-hack/package.nix +++ b/pkgs/by-name/ca/cargo-hack/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cargo-hack"; @@ -19,7 +23,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-hack"; homepage = "https://github.com/taiki-e/cargo-hack"; changelog = "https://github.com/taiki-e/cargo-hack/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cargo-i18n/package.nix b/pkgs/by-name/ca/cargo-i18n/package.nix index 8ca8dda553d9a..19f5dfb9691c8 100644 --- a/pkgs/by-name/ca/cargo-i18n/package.nix +++ b/pkgs/by-name/ca/cargo-i18n/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, gettext +{ + lib, + rustPlatform, + fetchFromGitHub, + gettext, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cargo-info/package.nix b/pkgs/by-name/ca/cargo-info/package.nix index 70700aa4ee2db..2cb797cb2a325 100644 --- a/pkgs/by-name/ca/cargo-info/package.nix +++ b/pkgs/by-name/ca/cargo-info/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitLab, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,18 +25,26 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; meta = with lib; { description = "Cargo subcommand to show crates info from crates.io"; mainProgram = "cargo-info"; homepage = "https://gitlab.com/imp/cargo-info"; changelog = "https://gitlab.com/imp/cargo-info/-/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-information/package.nix b/pkgs/by-name/ca/cargo-information/package.nix index fe7f950fce852..510f87ebe2791 100644 --- a/pkgs/by-name/ca/cargo-information/package.nix +++ b/pkgs/by-name/ca/cargo-information/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeWrapper -, pkg-config -, openssl -, curl -, rustc -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + pkg-config, + openssl, + curl, + rustc, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -42,12 +43,14 @@ rustPlatform.buildRustPackage rec { makeWrapper ]; - buildInputs = [ - openssl - curl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + curl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; postFixup = '' wrapProgram $out/bin/cargo-info \ diff --git a/pkgs/by-name/ca/cargo-kcov/package.nix b/pkgs/by-name/ca/cargo-kcov/package.nix index 2517ac37c712a..aa2adfe12dfe7 100644 --- a/pkgs/by-name/ca/cargo-kcov/package.nix +++ b/pkgs/by-name/ca/cargo-kcov/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeWrapper -, kcov +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + kcov, }: rustPlatform.buildRustPackage rec { @@ -31,6 +32,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-kcov"; homepage = "https://github.com/kennytm/cargo-kcov"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ saschagrunert matthiasbeyer ]; + maintainers = with maintainers; [ + saschagrunert + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-leptos/package.nix b/pkgs/by-name/ca/cargo-leptos/package.nix index 47972d82dcfd4..fa77aa892dde3 100644 --- a/pkgs/by-name/ca/cargo-leptos/package.nix +++ b/pkgs/by-name/ca/cargo-leptos/package.nix @@ -1,14 +1,16 @@ -{ darwin -, fetchFromGitHub -, lib -, rustPlatform -, stdenv +{ + darwin, + fetchFromGitHub, + lib, + rustPlatform, + stdenv, }: let inherit (darwin.apple_sdk.frameworks) CoreServices SystemConfiguration - Security; + Security + ; inherit (lib) optionals; inherit (stdenv.hostPlatform) isDarwin; in diff --git a/pkgs/by-name/ca/cargo-license/package.nix b/pkgs/by-name/ca/cargo-license/package.nix index 868ad03f5068a..6fdbead5c0a32 100644 --- a/pkgs/by-name/ca/cargo-license/package.nix +++ b/pkgs/by-name/ca/cargo-license/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cargo-license"; @@ -16,6 +20,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-license"; homepage = "https://github.com/onur/cargo-license"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ basvandijk figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + basvandijk + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-limit/package.nix b/pkgs/by-name/ca/cargo-limit/package.nix index 2a143699f5ac0..5a05c61547551 100644 --- a/pkgs/by-name/ca/cargo-limit/package.nix +++ b/pkgs/by-name/ca/cargo-limit/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,13 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Cargo subcommand \"limit\": reduces the noise of compiler messages"; homepage = "https://github.com/alopatindev/cargo-limit"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ otavio matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + otavio + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-llvm-cov/package.nix b/pkgs/by-name/ca/cargo-llvm-cov/package.nix index 7f55d8e7f814d..b70ed7d24c380 100644 --- a/pkgs/by-name/ca/cargo-llvm-cov/package.nix +++ b/pkgs/by-name/ca/cargo-llvm-cov/package.nix @@ -13,13 +13,14 @@ # [0]: https://github.com/taiki-e/cargo-llvm-cov/issues/242 # [1]: https://github.com/NixOS/nixpkgs/pull/197478 -{ stdenv -, lib -, fetchurl -, fetchFromGitHub -, rustPlatform -, llvmPackages_19 -, git +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + rustPlatform, + llvmPackages_19, + git, }: let @@ -88,8 +89,15 @@ rustPlatform.buildRustPackage { tools-preview` or install the `llvm-tools-preview` component using your Nix library (e.g. fenix or rust-overlay) ''; - license = with lib.licenses; [ asl20 /* or */ mit ]; - maintainers = with lib.maintainers; [ wucke13 matthiasbeyer CobaltCause ]; + license = with lib.licenses; [ + asl20 # or + mit + ]; + maintainers = with lib.maintainers; [ + wucke13 + matthiasbeyer + CobaltCause + ]; # The profiler runtime is (currently) disabled on non-Linux platforms broken = !(stdenv.hostPlatform.isLinux && !stdenv.targetPlatform.isRedox); diff --git a/pkgs/by-name/ca/cargo-llvm-lines/package.nix b/pkgs/by-name/ca/cargo-llvm-lines/package.nix index ab50c9c54a390..612775f92d1da 100644 --- a/pkgs/by-name/ca/cargo-llvm-lines/package.nix +++ b/pkgs/by-name/ca/cargo-llvm-lines/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-llvm-lines"; @@ -18,7 +22,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-llvm-lines"; homepage = "https://github.com/dtolnay/cargo-llvm-lines"; changelog = "https://github.com/dtolnay/cargo-llvm-lines/releases/tag/${src.rev}"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-local-registry/package.nix b/pkgs/by-name/ca/cargo-local-registry/package.nix index 7e6c0c917a734..97ea6ccf83467 100644 --- a/pkgs/by-name/ca/cargo-local-registry/package.nix +++ b/pkgs/by-name/ca/cargo-local-registry/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, curl -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + curl, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,16 +29,19 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - curl - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - darwin.apple_sdk.frameworks.CoreFoundation - ]; + buildInputs = + [ + curl + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + darwin.apple_sdk.frameworks.CoreFoundation + ]; # tests require internet access doCheck = false; @@ -47,7 +51,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-local-registry"; homepage = "https://github.com/dhovart/cargo-local-registry"; changelog = "https://github.com/dhovart/cargo-local-registry/releases/tag/${src.rev}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cargo-lock/package.nix b/pkgs/by-name/ca/cargo-lock/package.nix index bac23c4918561..8c1b74ccabc74 100644 --- a/pkgs/by-name/ca/cargo-lock/package.nix +++ b/pkgs/by-name/ca/cargo-lock/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cargo-lock"; @@ -18,7 +22,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-lock"; homepage = "https://github.com/rustsec/rustsec/tree/main/cargo-lock"; changelog = "https://github.com/rustsec/rustsec/blob/cargo-lock/v${version}/cargo-lock/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-machete/package.nix b/pkgs/by-name/ca/cargo-machete/package.nix index c18bea07a1bb7..b595fd71550da 100644 --- a/pkgs/by-name/ca/cargo-machete/package.nix +++ b/pkgs/by-name/ca/cargo-machete/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -25,6 +26,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/bnjbvr/cargo-machete"; changelog = "https://github.com/bnjbvr/cargo-machete/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-make/package.nix b/pkgs/by-name/ca/cargo-make/package.nix index ad3a30c98d8f8..4c9f177700a47 100644 --- a/pkgs/by-name/ca/cargo-make/package.nix +++ b/pkgs/by-name/ca/cargo-make/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, installShellFiles -, bzip2 -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + installShellFiles, + bzip2, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -27,12 +28,14 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - bzip2 - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; postInstall = '' installShellCompletion extra/shell/*.bash @@ -49,7 +52,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/sagiegurari/cargo-make"; changelog = "https://github.com/sagiegurari/cargo-make/blob/${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ figsoda xrelkd ]; + maintainers = with maintainers; [ + figsoda + xrelkd + ]; mainProgram = "cargo-make"; }; } diff --git a/pkgs/by-name/ca/cargo-mobile2/package.nix b/pkgs/by-name/ca/cargo-mobile2/package.nix index efce68a529788..7907f9a5a16ee 100644 --- a/pkgs/by-name/ca/cargo-mobile2/package.nix +++ b/pkgs/by-name/ca/cargo-mobile2/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, git -, darwin -, makeWrapper +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + git, + darwin, + makeWrapper, }: let @@ -36,7 +37,11 @@ rustPlatform.buildRustPackage { ''; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; - nativeBuildInputs = [ pkg-config git makeWrapper ]; + nativeBuildInputs = [ + pkg-config + git + makeWrapper + ]; preFixup = '' for bin in $out/bin/cargo-*; do @@ -48,7 +53,10 @@ rustPlatform.buildRustPackage { meta = with lib; { description = "Rust on mobile made easy!"; homepage = "https://tauri.app/"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ happysalada ]; }; } diff --git a/pkgs/by-name/ca/cargo-mommy/package.nix b/pkgs/by-name/ca/cargo-mommy/package.nix index e62f87969d7c4..ca9e2e93f665e 100644 --- a/pkgs/by-name/ca/cargo-mommy/package.nix +++ b/pkgs/by-name/ca/cargo-mommy/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cargo-mommy"; @@ -15,7 +19,10 @@ rustPlatform.buildRustPackage rec { description = "Cargo wrapper that encourages you after running commands"; mainProgram = "cargo-mommy"; homepage = "https://github.com/Gankra/cargo-mommy"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ GoldsteinE ]; }; } diff --git a/pkgs/by-name/ca/cargo-pgo/package.nix b/pkgs/by-name/ca/cargo-pgo/package.nix index d7140a3f1523f..8ababffbe753d 100644 --- a/pkgs/by-name/ca/cargo-pgo/package.nix +++ b/pkgs/by-name/ca/cargo-pgo/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cargo-pio/package.nix b/pkgs/by-name/ca/cargo-pio/package.nix index 5942627f4aec0..c5cc84ad31ec8 100644 --- a/pkgs/by-name/ca/cargo-pio/package.nix +++ b/pkgs/by-name/ca/cargo-pio/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "cargo-pio"; @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Build Rust embedded projects with PlatformIO"; homepage = "https://github.com/esp-rs/embuild/tree/master/cargo-pio"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ dannixon ]; mainProgram = "cargo-pio"; }; diff --git a/pkgs/by-name/ca/cargo-play/package.nix b/pkgs/by-name/ca/cargo-play/package.nix index a95f2c10c32eb..955e84ef6249a 100644 --- a/pkgs/by-name/ca/cargo-play/package.nix +++ b/pkgs/by-name/ca/cargo-play/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-play"; diff --git a/pkgs/by-name/ca/cargo-profiler/package.nix b/pkgs/by-name/ca/cargo-profiler/package.nix index d8e4def6b7566..adceadd6ccc2e 100644 --- a/pkgs/by-name/ca/cargo-profiler/package.nix +++ b/pkgs/by-name/ca/cargo-profiler/package.nix @@ -1,6 +1,8 @@ -{ fetchFromGitHub -, lib -, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: let # Constants @@ -14,7 +16,8 @@ let cargoHash = "sha256-qt3S6ZcLEP9ZQoP5+kSQdmBlxdMgGUqLszdU7JkFNVI="; inherit (rustPlatform) buildRustPackage; -in buildRustPackage rec { +in +buildRustPackage rec { inherit pname version; src = fetchFromGitHub { diff --git a/pkgs/by-name/ca/cargo-public-api/package.nix b/pkgs/by-name/ca/cargo-public-api/package.nix index be9564d525608..8142273039bb4 100644 --- a/pkgs/by-name/ca/cargo-public-api/package.nix +++ b/pkgs/by-name/ca/cargo-public-api/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, curl -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + curl, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -21,8 +22,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ curl openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + buildInputs = [ + curl + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; # Tests fail doCheck = false; @@ -36,4 +39,3 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ matthiasbeyer ]; }; } - diff --git a/pkgs/by-name/ca/cargo-rdme/package.nix b/pkgs/by-name/ca/cargo-rdme/package.nix index 19c3641977165..c17780fc15ec5 100644 --- a/pkgs/by-name/ca/cargo-rdme/package.nix +++ b/pkgs/by-name/ca/cargo-rdme/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, stdenv, Security }: +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "cargo-rdme"; diff --git a/pkgs/by-name/ca/cargo-readme/package.nix b/pkgs/by-name/ca/cargo-readme/package.nix index 8924195b4e760..4dc684154999c 100644 --- a/pkgs/by-name/ca/cargo-readme/package.nix +++ b/pkgs/by-name/ca/cargo-readme/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-readme"; @@ -15,14 +19,21 @@ rustPlatform.buildRustPackage rec { # disable doc tests cargoTestFlags = [ - "--bins" "--lib" + "--bins" + "--lib" ]; meta = with lib; { description = "Generate README.md from docstrings"; mainProgram = "cargo-readme"; homepage = "https://github.com/livioribeiro/cargo-readme"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ baloo matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + baloo + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-release/package.nix b/pkgs/by-name/ca/cargo-release/package.nix index c818582433a2f..ad9a9d648ee42 100644 --- a/pkgs/by-name/ca/cargo-release/package.nix +++ b/pkgs/by-name/ca/cargo-release/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, openssl -, stdenv -, curl -, darwin -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + stdenv, + curl, + darwin, + git, }: rustPlatform.buildRustPackage rec { @@ -32,13 +33,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + libgit2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + darwin.apple_sdk.frameworks.SystemConfiguration + ]; nativeCheckInputs = [ git @@ -52,7 +55,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-release"; homepage = "https://github.com/crate-ci/cargo-release"; changelog = "https://github.com/crate-ci/cargo-release/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda gerschtli ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + gerschtli + ]; }; } diff --git a/pkgs/by-name/ca/cargo-rr/package.nix b/pkgs/by-name/ca/cargo-rr/package.nix index cccd1368a8025..c49c4f3759b29 100644 --- a/pkgs/by-name/ca/cargo-rr/package.nix +++ b/pkgs/by-name/ca/cargo-rr/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script -, makeWrapper -, rr +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + makeWrapper, + rr, }: rustPlatform.buildRustPackage rec { @@ -34,6 +35,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-rr"; homepage = "https://github.com/danielzfranklin/cargo-rr"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ otavio matthiasbeyer ]; + maintainers = with maintainers; [ + otavio + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-run-bin/package.nix b/pkgs/by-name/ca/cargo-run-bin/package.nix index fa4d2a5a33ed7..df868de9952b8 100644 --- a/pkgs/by-name/ca/cargo-run-bin/package.nix +++ b/pkgs/by-name/ca/cargo-run-bin/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/dustinblackman/cargo-run-bin"; changelog = "https://github.com/dustinblackman/cargo-run-bin/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ mightyiam matthiasbeyer ]; + maintainers = with maintainers; [ + mightyiam + matthiasbeyer + ]; }; } - diff --git a/pkgs/by-name/ca/cargo-semver-checks/package.nix b/pkgs/by-name/ca/cargo-semver-checks/package.nix index ad2e4b7f337e6..b01afc4e4bd36 100644 --- a/pkgs/by-name/ca/cargo-semver-checks/package.nix +++ b/pkgs/by-name/ca/cargo-semver-checks/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake -, zlib -, stdenv -, darwin -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + zlib, + stdenv, + darwin, + git, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,13 @@ rustPlatform.buildRustPackage rec { cmake ]; - buildInputs = [ - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; checkFlags = [ # requires internet access @@ -50,7 +53,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-semver-checks"; homepage = "https://github.com/obi1kenobi/cargo-semver-checks"; changelog = "https://github.com/obi1kenobi/cargo-semver-checks/releases/tag/v${version}"; - license = with licenses; [ mit /* or */ asl20 ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + mit # or + asl20 + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-show-asm/package.nix b/pkgs/by-name/ca/cargo-show-asm/package.nix index e769be4b20027..38c01290725cf 100644 --- a/pkgs/by-name/ca/cargo-show-asm/package.nix +++ b/pkgs/by-name/ca/cargo-show-asm/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, installShellFiles -, stdenv -, nix-update-script -, callPackage +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + stdenv, + nix-update-script, + callPackage, }: rustPlatform.buildRustPackage rec { @@ -40,8 +41,15 @@ rustPlatform.buildRustPackage rec { description = "Cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code"; homepage = "https://github.com/pacak/cargo-show-asm"; changelog = "https://github.com/pacak/cargo-show-asm/blob/${version}/Changelog.md"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ figsoda oxalica matthiasbeyer ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + figsoda + oxalica + matthiasbeyer + ]; mainProgram = "cargo-asm"; }; } diff --git a/pkgs/by-name/ca/cargo-show-asm/test-basic-x86_64.nix b/pkgs/by-name/ca/cargo-show-asm/test-basic-x86_64.nix index ca1738f02185e..f332c5e0f4354 100644 --- a/pkgs/by-name/ca/cargo-show-asm/test-basic-x86_64.nix +++ b/pkgs/by-name/ca/cargo-show-asm/test-basic-x86_64.nix @@ -1,18 +1,29 @@ -{ runCommand, cargo, rustc, cargo-show-asm }: -runCommand "test-basic" { - nativeBuildInputs = [ cargo rustc cargo-show-asm ]; -} '' - mkdir -p src - cat >Cargo.toml <src/lib.rs < u32 { a + b } -EOF +{ + runCommand, + cargo, + rustc, + cargo-show-asm, +}: +runCommand "test-basic" + { + nativeBuildInputs = [ + cargo + rustc + cargo-show-asm + ]; + } + '' + mkdir -p src + cat >Cargo.toml <src/lib.rs < u32 { a + b } + EOF - [[ "$(cargo asm add::add | tee /dev/stderr)" == *"lea eax, "* ]] - [[ "$(cargo asm --mir add | tee /dev/stderr)" == *"= Add("* ]] - touch $out -'' + [[ "$(cargo asm add::add | tee /dev/stderr)" == *"lea eax, "* ]] + [[ "$(cargo asm --mir add | tee /dev/stderr)" == *"= Add("* ]] + touch $out + '' diff --git a/pkgs/by-name/ca/cargo-sort/package.nix b/pkgs/by-name/ca/cargo-sort/package.nix index 51994805f3dd8..41aa18ab9de1f 100644 --- a/pkgs/by-name/ca/cargo-sort/package.nix +++ b/pkgs/by-name/ca/cargo-sort/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "cargo-sort"; @@ -18,7 +22,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-sort"; homepage = "https://github.com/devinr528/cargo-sort"; changelog = "https://github.com/devinr528/cargo-sort/blob/v${version}/changelog.md"; - license = with licenses; [ mit /* or */ asl20 ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + mit # or + asl20 + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-spellcheck/package.nix b/pkgs/by-name/ca/cargo-spellcheck/package.nix index 1ac4ec1265f93..f33a0f385b67a 100644 --- a/pkgs/by-name/ca/cargo-spellcheck/package.nix +++ b/pkgs/by-name/ca/cargo-spellcheck/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, apple-sdk_11 +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + apple-sdk_11, }: rustPlatform.buildRustPackage rec { @@ -33,7 +34,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-spellcheck"; homepage = "https://github.com/drahnr/cargo-spellcheck"; changelog = "https://github.com/drahnr/cargo-spellcheck/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ newam matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + newam + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-supply-chain/package.nix b/pkgs/by-name/ca/cargo-supply-chain/package.nix index 073500a16e2f4..92d978d45f220 100644 --- a/pkgs/by-name/ca/cargo-supply-chain/package.nix +++ b/pkgs/by-name/ca/cargo-supply-chain/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -27,7 +28,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-supply-chain"; homepage = "https://github.com/rust-secure-code/cargo-supply-chain"; changelog = "https://github.com/rust-secure-code/cargo-supply-chain/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit zlib ]; # any of three - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 + mit + zlib + ]; # any of three + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-swift/package.nix b/pkgs/by-name/ca/cargo-swift/package.nix index 53aefb56374e7..faef07415d80d 100644 --- a/pkgs/by-name/ca/cargo-swift/package.nix +++ b/pkgs/by-name/ca/cargo-swift/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Cargo plugin to easily build Swift packages from Rust code"; mainProgram = "cargo-swift"; homepage = "https://github.com/antoniusnaumann/cargo-swift"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ elliot ]; }; } diff --git a/pkgs/by-name/ca/cargo-sync-readme/package.nix b/pkgs/by-name/ca/cargo-sync-readme/package.nix index 953553cb948c3..b705a61fb29d5 100644 --- a/pkgs/by-name/ca/cargo-sync-readme/package.nix +++ b/pkgs/by-name/ca/cargo-sync-readme/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cargo-sync-readme"; @@ -19,6 +23,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/phaazon/cargo-sync-readme"; changelog = "https://github.com/phaazon/cargo-sync-readme/blob/${version}/CHANGELOG.md"; license = licenses.bsd3; - maintainers = with maintainers; [ b4dm4n matthiasbeyer ]; + maintainers = with maintainers; [ + b4dm4n + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-tally/package.nix b/pkgs/by-name/ca/cargo-tally/package.nix index 007ee27cdaf2c..c26c414ea0bc3 100644 --- a/pkgs/by-name/ca/cargo-tally/package.nix +++ b/pkgs/by-name/ca/cargo-tally/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "cargo-tally"; @@ -11,18 +17,27 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-uPlilomHib10/v2HKBjU/ln0B4QkKpFJPpKf37RO7Oo="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ - DiskArbitration - Foundation - IOKit - ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk_11_0.frameworks; + [ + DiskArbitration + Foundation + IOKit + ] + ); meta = with lib; { description = "Graph the number of crates that depend on your crate over time"; mainProgram = "cargo-tally"; homepage = "https://github.com/dtolnay/cargo-tally"; changelog = "https://github.com/dtolnay/cargo-tally/releases/tag/${version}"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-toml-lint/package.nix b/pkgs/by-name/ca/cargo-toml-lint/package.nix index a32f6e4bc6956..b518051e8e85d 100644 --- a/pkgs/by-name/ca/cargo-toml-lint/package.nix +++ b/pkgs/by-name/ca/cargo-toml-lint/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-toml-lint"; homepage = "https://github.com/fuellabs/cargo-toml-lint"; changelog = "https://github.com/fuellabs/cargo-toml-lint/releases/tag/v${version}"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ mitchmindtree matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + mitchmindtree + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-ui/package.nix b/pkgs/by-name/ca/cargo-ui/package.nix index fedd72458c8ed..f94d6478e7042 100644 --- a/pkgs/by-name/ca/cargo-ui/package.nix +++ b/pkgs/by-name/ca/cargo-ui/package.nix @@ -1,15 +1,16 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, libgit2 -, openssl -, stdenv -, expat -, fontconfig -, libGL -, xorg -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + libgit2, + openssl, + stdenv, + expat, + fontconfig, + libGL, + xorg, + darwin, }: rustPlatform.buildRustPackage rec { @@ -27,25 +28,33 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - expat - fontconfig - libGL - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXrandr - xorg.libxcb - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ]; + buildInputs = + [ + libgit2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + expat + fontconfig + libGL + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + xorg.libxcb + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ]; postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf $out/bin/cargo-ui \ - --add-rpath ${lib.makeLibraryPath [ fontconfig libGL ]} + --add-rpath ${ + lib.makeLibraryPath [ + fontconfig + libGL + ] + } ''; env = { @@ -57,7 +66,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-ui"; homepage = "https://github.com/slint-ui/cargo-ui"; changelog = "https://github.com/slint-ui/cargo-ui/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit asl20 gpl3Only ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + gpl3Only + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-unfmt/package.nix b/pkgs/by-name/ca/cargo-unfmt/package.nix index 42a1ea9b57f88..e8163bb02488c 100644 --- a/pkgs/by-name/ca/cargo-unfmt/package.nix +++ b/pkgs/by-name/ca/cargo-unfmt/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/ca/cargo-unused-features/package.nix b/pkgs/by-name/ca/cargo-unused-features/package.nix index cf1fd1deb3981..a5d457c20eb72 100644 --- a/pkgs/by-name/ca/cargo-unused-features/package.nix +++ b/pkgs/by-name/ca/cargo-unused-features/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchCrate -, curl -, pkg-config -, libgit2 -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + curl, + pkg-config, + libgit2, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,14 +26,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - curl - libgit2 - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + curl + libgit2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + ]; env = { LIBGIT2_NO_VENDOR = 1; @@ -42,7 +45,10 @@ rustPlatform.buildRustPackage rec { description = "Tool to find potential unused enabled feature flags and prune them"; homepage = "https://github.com/timonpost/cargo-unused-features"; license = licenses.mit; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; mainProgram = "unused-features"; }; } diff --git a/pkgs/by-name/ca/cargo-update/package.nix b/pkgs/by-name/ca/cargo-update/package.nix index 2a41ee0cfae61..2b30adb1c6c82 100644 --- a/pkgs/by-name/ca/cargo-update/package.nix +++ b/pkgs/by-name/ca/cargo-update/package.nix @@ -1,17 +1,18 @@ -{ lib -, rustPlatform -, fetchCrate -, cmake -, installShellFiles -, pkg-config -, ronn -, stdenv -, curl -, libgit2 -, libssh2 -, openssl -, zlib -, darwin +{ + lib, + rustPlatform, + fetchCrate, + cmake, + installShellFiles, + pkg-config, + ronn, + stdenv, + curl, + libgit2, + libssh2, + openssl, + zlib, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,24 +26,28 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-rwXpQkL6ysMBraLIMk2zQe0vmb9uuePWufBjRVzaBOA="; - nativeBuildInputs = [ - cmake - installShellFiles - pkg-config - ronn - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - ]; + nativeBuildInputs = + [ + cmake + installShellFiles + pkg-config + ronn + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + ]; - buildInputs = [ - libgit2 - libssh2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libgit2 + libssh2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + darwin.apple_sdk.frameworks.Security + ]; postBuild = '' # Man pages contain non-ASCII, so explicitly set encoding to UTF-8. @@ -64,6 +69,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/nabijaczleweli/cargo-update"; changelog = "https://github.com/nabijaczleweli/cargo-update/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ gerschtli Br1ght0ne johntitor matthiasbeyer ]; + maintainers = with maintainers; [ + gerschtli + Br1ght0ne + johntitor + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-valgrind/package.nix b/pkgs/by-name/ca/cargo-valgrind/package.nix index 1020caad551ba..b14b2cce68da8 100644 --- a/pkgs/by-name/ca/cargo-valgrind/package.nix +++ b/pkgs/by-name/ca/cargo-valgrind/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script -, makeWrapper -, valgrind +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + makeWrapper, + valgrind, }: rustPlatform.buildRustPackage rec { @@ -38,7 +39,13 @@ rustPlatform.buildRustPackage rec { description = ''Cargo subcommand "valgrind": runs valgrind and collects its output in a helpful manner''; mainProgram = "cargo-valgrind"; homepage = "https://github.com/jfrimmel/cargo-valgrind"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ otavio matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + otavio + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ca/cargo-vibe/package.nix b/pkgs/by-name/ca/cargo-vibe/package.nix index ba7a5882b5bb1..761e33f5caca9 100644 --- a/pkgs/by-name/ca/cargo-vibe/package.nix +++ b/pkgs/by-name/ca/cargo-vibe/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, dbus -, udev -, openssl -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + dbus, + udev, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { pname = "cargo-vibe"; @@ -24,12 +25,20 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - dbus - openssl - ] - ++ lib.optional stdenv.hostPlatform.isLinux udev - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit IOKit CoreBluetooth ]); + buildInputs = + [ + dbus + openssl + ] + ++ lib.optional stdenv.hostPlatform.isLinux udev + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + AppKit + IOKit + CoreBluetooth + ] + ); meta = with lib; { description = "Cargo x Buttplug.io"; diff --git a/pkgs/by-name/ca/cargo-wasi/package.nix b/pkgs/by-name/ca/cargo-wasi/package.nix index a42b98da20541..2bbdfdeb40a52 100644 --- a/pkgs/by-name/ca/cargo-wasi/package.nix +++ b/pkgs/by-name/ca/cargo-wasi/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, stdenv -, openssl -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + stdenv, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,8 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security ]); # Checks need to be disabled here because the current test suite makes assumptions diff --git a/pkgs/by-name/ca/cargo-wipe/package.nix b/pkgs/by-name/ca/cargo-wipe/package.nix index af9ae57c7cb87..331cc9e18e602 100644 --- a/pkgs/by-name/ca/cargo-wipe/package.nix +++ b/pkgs/by-name/ca/cargo-wipe/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cargo-wizard/package.nix b/pkgs/by-name/ca/cargo-wizard/package.nix index 69f106795239a..6313415d9724f 100644 --- a/pkgs/by-name/ca/cargo-wizard/package.nix +++ b/pkgs/by-name/ca/cargo-wizard/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cargo-workspaces/package.nix b/pkgs/by-name/ca/cargo-workspaces/package.nix index 5e0b5483e7545..3daa583e85f31 100644 --- a/pkgs/by-name/ca/cargo-workspaces/package.nix +++ b/pkgs/by-name/ca/cargo-workspaces/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, libssh2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + libssh2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,14 +25,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libssh2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + libssh2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { LIBSSH2_SYS_USE_PKG_CONFIG = true; @@ -47,7 +50,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/pksunkara/cargo-workspaces"; changelog = "https://github.com/pksunkara/cargo-workspaces/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda macalinao matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + macalinao + matthiasbeyer + ]; mainProgram = "cargo-workspaces"; }; } diff --git a/pkgs/by-name/ca/cargo-xbuild/package.nix b/pkgs/by-name/ca/cargo-xbuild/package.nix index 55911b7f8a624..dec26b666cd7d 100644 --- a/pkgs/by-name/ca/cargo-xbuild/package.nix +++ b/pkgs/by-name/ca/cargo-xbuild/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "cargo-xbuild"; @@ -16,7 +20,13 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc"; homepage = "https://github.com/rust-osdev/cargo-xbuild"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ johntitor xrelkd ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + johntitor + xrelkd + ]; }; } diff --git a/pkgs/by-name/ca/cargo-xwin/package.nix b/pkgs/by-name/ca/cargo-xwin/package.nix index f49c16b2170b3..542fb55504c86 100644 --- a/pkgs/by-name/ca/cargo-xwin/package.nix +++ b/pkgs/by-name/ca/cargo-xwin/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/cariddi/package.nix b/pkgs/by-name/ca/cariddi/package.nix index acada9b12567f..681ffadd1c273 100644 --- a/pkgs/by-name/ca/cariddi/package.nix +++ b/pkgs/by-name/ca/cariddi/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ca/carlito/package.nix b/pkgs/by-name/ca/carlito/package.nix index a83d8a547a15c..c7d11fab15fd7 100644 --- a/pkgs/by-name/ca/carlito/package.nix +++ b/pkgs/by-name/ca/carlito/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, stdenvNoCC }: +{ + lib, + fetchurl, + stdenvNoCC, +}: stdenvNoCC.mkDerivation rec { pname = "carlito"; diff --git a/pkgs/by-name/ca/caroline/package.nix b/pkgs/by-name/ca/caroline/package.nix index 6b94df2f64a15..662c228f15bb9 100644 --- a/pkgs/by-name/ca/caroline/package.nix +++ b/pkgs/by-name/ca/caroline/package.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, vala, meson, ninja, pkg-config, glib, libgee, gtk3 }: +{ + stdenv, + lib, + fetchFromGitHub, + vala, + meson, + ninja, + pkg-config, + glib, + libgee, + gtk3, +}: stdenv.mkDerivation rec { pname = "caroline"; diff --git a/pkgs/by-name/ca/carp/package.nix b/pkgs/by-name/ca/carp/package.nix index 9e54e19ba699e..5325019c7785b 100644 --- a/pkgs/by-name/ca/carp/package.nix +++ b/pkgs/by-name/ca/carp/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, fetchpatch, makeWrapper, clang, haskellPackages }: +{ + lib, + fetchFromGitHub, + fetchpatch, + makeWrapper, + clang, + haskellPackages, +}: haskellPackages.mkDerivation rec { pname = "carp"; @@ -30,8 +37,16 @@ haskellPackages.mkDerivation rec { buildTools = [ makeWrapper ]; executableHaskellDepends = with haskellPackages; [ - HUnit blaze-markup blaze-html split ansi-terminal cmark - edit-distance hashable open-browser optparse-applicative + HUnit + blaze-markup + blaze-html + split + ansi-terminal + cmark + edit-distance + hashable + open-browser + optparse-applicative ]; isExecutable = true; @@ -53,12 +68,12 @@ haskellPackages.mkDerivation rec { ''; description = "Statically typed lisp, without a GC, for real-time applications"; - homepage = "https://github.com/carp-lang/Carp"; - license = lib.licenses.asl20; + homepage = "https://github.com/carp-lang/Carp"; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ jluttine ]; # Not actively maintained at the moment - broken = true; + broken = true; # Windows not (yet) supported. - platforms = with lib.platforms; unix ++ darwin; + platforms = with lib.platforms; unix ++ darwin; } diff --git a/pkgs/by-name/ca/carps-cups/package.nix b/pkgs/by-name/ca/carps-cups/package.nix index 32e92da160847..f7a3572ba622c 100644 --- a/pkgs/by-name/ca/carps-cups/package.nix +++ b/pkgs/by-name/ca/carps-cups/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, cups +{ + stdenv, + lib, + fetchFromGitHub, + cups, }: stdenv.mkDerivation { @@ -41,4 +42,3 @@ stdenv.mkDerivation { ]; }; } - diff --git a/pkgs/by-name/ca/carto/package.nix b/pkgs/by-name/ca/carto/package.nix index f48244111a848..1183c7bdd983e 100644 --- a/pkgs/by-name/ca/carto/package.nix +++ b/pkgs/by-name/ca/carto/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ca/cascadia-code/package.nix b/pkgs/by-name/ca/cascadia-code/package.nix index a0d4f44f14348..0451f431f1be8 100644 --- a/pkgs/by-name/ca/cascadia-code/package.nix +++ b/pkgs/by-name/ca/cascadia-code/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "cascadia-code"; diff --git a/pkgs/by-name/ca/cassette/package.nix b/pkgs/by-name/ca/cassette/package.nix index 7bdd756f59ab2..9056830b1046f 100644 --- a/pkgs/by-name/ca/cassette/package.nix +++ b/pkgs/by-name/ca/cassette/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, blueprint-compiler -, desktop-file-utils -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 -, glib-networking -, gst_all_1 -, gtk4 -, json-glib -, libadwaita -, libgee -, libsoup_3 -, libxml2 -, sqlite -, webkitgtk_6_0 +{ + lib, + stdenv, + fetchFromGitHub, + blueprint-compiler, + desktop-file-utils, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + glib-networking, + gst_all_1, + gtk4, + json-glib, + libadwaita, + libgee, + libsoup_3, + libxml2, + sqlite, + webkitgtk_6_0, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ca/cassowary/package.nix b/pkgs/by-name/ca/cassowary/package.nix index 5cb699531b1a3..9977033e23f32 100644 --- a/pkgs/by-name/ca/cassowary/package.nix +++ b/pkgs/by-name/ca/cassowary/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cassowary"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-YP9q9lL2A9ERhzbJBIFKsYsgvy5xYeUO3ekyQdh97f8="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { homepage = "https://github.com/rogerwelin/cassowary"; diff --git a/pkgs/by-name/ca/castero/package.nix b/pkgs/by-name/ca/castero/package.nix index f625771452ef9..2b08d81fba073 100644 --- a/pkgs/by-name/ca/castero/package.nix +++ b/pkgs/by-name/ca/castero/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -19,16 +20,19 @@ python3.pkgs.buildPythonApplication rec { wheel ]; - propagatedBuildInputs = with python3.pkgs; [ - requests - grequests - cjkwrap - pytz - beautifulsoup4 - lxml - mpv - python-vlc - ] ++ requests.optional-dependencies.socks; + propagatedBuildInputs = + with python3.pkgs; + [ + requests + grequests + cjkwrap + pytz + beautifulsoup4 + lxml + mpv + python-vlc + ] + ++ requests.optional-dependencies.socks; nativeCheckInputs = with python3.pkgs; [ pytestCheckHook diff --git a/pkgs/by-name/ca/castget/package.nix b/pkgs/by-name/ca/castget/package.nix index c3937f996086f..5d23ba1edc10a 100644 --- a/pkgs/by-name/ca/castget/package.nix +++ b/pkgs/by-name/ca/castget/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, glib -, ronn -, curl -, id3lib -, libxml2 -, glibcLocales +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + ronn, + curl, + id3lib, + libxml2, + glibcLocales, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ca/castnow/package.nix b/pkgs/by-name/ca/castnow/package.nix index 1c00ab22c0280..cff938b115519 100644 --- a/pkgs/by-name/ca/castnow/package.nix +++ b/pkgs/by-name/ca/castnow/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ca/castopod/package.nix b/pkgs/by-name/ca/castopod/package.nix index 3f098c3653444..72bc5d4025574 100644 --- a/pkgs/by-name/ca/castopod/package.nix +++ b/pkgs/by-name/ca/castopod/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, fetchurl -, ffmpeg-headless -, lib -, nixosTests -, dataDir ? "/var/lib/castopod" +{ + stdenv, + fetchurl, + ffmpeg-headless, + lib, + nixosTests, + dataDir ? "/var/lib/castopod", }: stdenv.mkDerivation { pname = "castopod"; diff --git a/pkgs/by-name/ca/castor/package.nix b/pkgs/by-name/ca/castor/package.nix index b3f7abedba965..2acd9a42e4357 100644 --- a/pkgs/by-name/ca/castor/package.nix +++ b/pkgs/by-name/ca/castor/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromSourcehut -, rustPlatform -, pkg-config -, wrapGAppsHook3 -, openssl -, gtk3 -, gdk-pixbuf -, pango -, atk -, cairo +{ + lib, + fetchFromSourcehut, + rustPlatform, + pkg-config, + wrapGAppsHook3, + openssl, + gtk3, + gdk-pixbuf, + pango, + atk, + cairo, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/castty/package.nix b/pkgs/by-name/ca/castty/package.nix index 86dae729790b8..8de42b4c6d172 100644 --- a/pkgs/by-name/ca/castty/package.nix +++ b/pkgs/by-name/ca/castty/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, libsoundio, lame }: +{ + stdenv, + lib, + fetchFromGitHub, + libsoundio, + lame, +}: stdenv.mkDerivation { pname = "castty"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { sha256 = "0p84ivwsp8ds4drn0hx2ax04gp0xyq6blj1iqfsmrs4slrajdmqs"; }; - buildInputs = [ libsoundio lame ]; + buildInputs = [ + libsoundio + lame + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/ca/catatonit/package.nix b/pkgs/by-name/ca/catatonit/package.nix index 1c9f310ed86a1..bdd522f042ee2 100644 --- a/pkgs/by-name/ca/catatonit/package.nix +++ b/pkgs/by-name/ca/catatonit/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, autoreconfHook -, fetchFromGitHub -, glibc -, nixosTests +{ + stdenv, + lib, + autoreconfHook, + fetchFromGitHub, + glibc, + nixosTests, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ]; + buildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [ + glibc + glibc.static + ]; enableParallelBuilding = true; strictDeps = true; diff --git a/pkgs/by-name/ca/catch/package.nix b/pkgs/by-name/ca/catch/package.nix index e17bbbaf4b766..07a79619b49d1 100644 --- a/pkgs/by-name/ca/catch/package.nix +++ b/pkgs/by-name/ca/catch/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "catch"; @@ -35,7 +41,10 @@ stdenv.mkDerivation rec { description = "Multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C)"; homepage = "http://catch-lib.net"; license = licenses.boost; - maintainers = with maintainers; [ edwtjo knedlsepp ]; + maintainers = with maintainers; [ + edwtjo + knedlsepp + ]; platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/ca/catclock/package.nix b/pkgs/by-name/ca/catclock/package.nix index e65bcd2ff2e2d..4d2d81aa282b3 100644 --- a/pkgs/by-name/ca/catclock/package.nix +++ b/pkgs/by-name/ca/catclock/package.nix @@ -1,5 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, motif, xorg -, withAudioTracking ? false, libpulseaudio, aubio }: +{ + stdenv, + lib, + fetchFromGitHub, + motif, + xorg, + withAudioTracking ? false, + libpulseaudio, + aubio, +}: stdenv.mkDerivation { pname = "catclock"; @@ -18,11 +26,19 @@ stdenv.mkDerivation { cp xclock.man $out/share/man/man1/xclock.1 ''; - makeFlags = [ "DESTINATION=$(out)/bin/" ] - ++ lib.optional withAudioTracking "WITH_TEMPO_TRACKER=1"; + makeFlags = [ "DESTINATION=$(out)/bin/" ] ++ lib.optional withAudioTracking "WITH_TEMPO_TRACKER=1"; - buildInputs = [ motif xorg.libX11 xorg.libXext xorg.libXt ] - ++ lib.optionals withAudioTracking [ libpulseaudio aubio ]; + buildInputs = + [ + motif + xorg.libX11 + xorg.libXext + xorg.libXt + ] + ++ lib.optionals withAudioTracking [ + libpulseaudio + aubio + ]; meta = with lib; { homepage = "http://codefromabove.com/2014/05/catclock/"; diff --git a/pkgs/by-name/ca/catdoc/package.nix b/pkgs/by-name/ca/catdoc/package.nix index 1fdaf78a6769d..998d3e74841e4 100644 --- a/pkgs/by-name/ca/catdoc/package.nix +++ b/pkgs/by-name/ca/catdoc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "catdoc"; diff --git a/pkgs/by-name/ca/catdocx/package.nix b/pkgs/by-name/ca/catdocx/package.nix index 27eb964eb3c23..657e7bbd79009 100644 --- a/pkgs/by-name/ca/catdocx/package.nix +++ b/pkgs/by-name/ca/catdocx/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, unzip, catdoc }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + unzip, + catdoc, +}: stdenv.mkDerivation { pname = "catdocx"; @@ -17,7 +24,12 @@ stdenv.mkDerivation { mkdir -p $out/libexec $out/bin cp catdocx.sh $out/libexec chmod +x $out/libexec/catdocx.sh - wrapProgram $out/libexec/catdocx.sh --prefix PATH : "${lib.makeBinPath [ unzip catdoc ]}" + wrapProgram $out/libexec/catdocx.sh --prefix PATH : "${ + lib.makeBinPath [ + unzip + catdoc + ] + }" ln -s $out/libexec/catdocx.sh $out/bin/catdocx ''; diff --git a/pkgs/by-name/ca/catdvi/package.nix b/pkgs/by-name/ca/catdvi/package.nix index 03fedbbc386d9..f6c3becb41fd1 100644 --- a/pkgs/by-name/ca/catdvi/package.nix +++ b/pkgs/by-name/ca/catdvi/package.nix @@ -1,14 +1,18 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, texlive -, texliveInfraOnly -, buildPackages +{ + stdenv, + lib, + fetchurl, + fetchpatch, + texlive, + texliveInfraOnly, + buildPackages, }: let - buildPlatformTools = [ "pse2unic" "adobe2h" ]; + buildPlatformTools = [ + "pse2unic" + "adobe2h" + ]; tex = texliveInfraOnly.withPackages (ps: [ ps.collection-fontsrecommended ]); in @@ -41,10 +45,11 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - preBuild = lib.optionalString (with stdenv; !buildPlatform.canExecute hostPlatform) - (lib.concatMapStringsSep "\n" (tool: '' + preBuild = lib.optionalString (with stdenv; !buildPlatform.canExecute hostPlatform) ( + lib.concatMapStringsSep "\n" (tool: '' cp ${lib.getDev buildPackages.catdvi}/bin/${tool} . - '') buildPlatformTools); + '') buildPlatformTools + ); nativeBuildInputs = [ texlive.bin.core @@ -55,10 +60,13 @@ stdenv.mkDerivation (finalAttrs: { tex ]; - makeFlags = [ - "catdvi" # to avoid running tests until checkPhase - ] ++ lib.optionals (with stdenv; !buildPlatform.canExecute hostPlatform) - (map (tool: "--assume-old=${tool}") buildPlatformTools); + makeFlags = + [ + "catdvi" # to avoid running tests until checkPhase + ] + ++ lib.optionals (with stdenv; !buildPlatform.canExecute hostPlatform) ( + map (tool: "--assume-old=${tool}") buildPlatformTools + ); nativeCheckInputs = [ texlive @@ -72,15 +80,17 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/{bin,man/man1} ''; - postInstall = lib.optionalString (with stdenv; buildPlatform.canExecute hostPlatform) '' - mkdir -p $dev/bin - ${lib.concatMapStringsSep "\n" (tool: '' - cp ${tool} $dev/bin/ - '') buildPlatformTools} - '' + '' - mkdir -p $out/share - ln -s ${tex}/share/texmf-var $out/share/texmf - ''; + postInstall = + lib.optionalString (with stdenv; buildPlatform.canExecute hostPlatform) '' + mkdir -p $dev/bin + ${lib.concatMapStringsSep "\n" (tool: '' + cp ${tool} $dev/bin/ + '') buildPlatformTools} + '' + + '' + mkdir -p $out/share + ln -s ${tex}/share/texmf-var $out/share/texmf + ''; meta = with lib; { homepage = "http://catdvi.sourceforge.net"; diff --git a/pkgs/by-name/ca/catfs/package.nix b/pkgs/by-name/ca/catfs/package.nix index 52ade30af0007..2699bd992e70f 100644 --- a/pkgs/by-name/ca/catfs/package.nix +++ b/pkgs/by-name/ca/catfs/package.nix @@ -1,6 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub -, fuse -, pkg-config +{ + lib, + rustPlatform, + fetchFromGitHub, + fuse, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ca/catgirl/package.nix b/pkgs/by-name/ca/catgirl/package.nix index 318a3ec5fdb3c..cd6ba40d1c4f2 100644 --- a/pkgs/by-name/ca/catgirl/package.nix +++ b/pkgs/by-name/ca/catgirl/package.nix @@ -1,4 +1,12 @@ -{ ctags, fetchurl, lib, libressl, ncurses, pkg-config, stdenv }: +{ + ctags, + fetchurl, + lib, + libressl, + ncurses, + pkg-config, + stdenv, +}: stdenv.mkDerivation rec { pname = "catgirl"; @@ -19,8 +27,14 @@ stdenv.mkDerivation rec { "${lib.getBin libressl}" ''; - nativeBuildInputs = [ ctags pkg-config ]; - buildInputs = [ libressl ncurses ]; + nativeBuildInputs = [ + ctags + pkg-config + ]; + buildInputs = [ + libressl + ncurses + ]; strictDeps = true; enableParallelBuilding = true; diff --git a/pkgs/by-name/ca/catimg/package.nix b/pkgs/by-name/ca/catimg/package.nix index 9edfc576837d9..8bc3ba1f87501 100644 --- a/pkgs/by-name/ca/catimg/package.nix +++ b/pkgs/by-name/ca/catimg/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake } : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "catimg"; diff --git a/pkgs/by-name/ca/catnip-gtk4/package.nix b/pkgs/by-name/ca/catnip-gtk4/package.nix index 5d0f9182ce243..fa7334bdd6b43 100644 --- a/pkgs/by-name/ca/catnip-gtk4/package.nix +++ b/pkgs/by-name/ca/catnip-gtk4/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, gobject-introspection -, gtk4 -, libadwaita +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + gobject-introspection, + gtk4, + libadwaita, }: buildGoModule { @@ -32,7 +33,10 @@ buildGoModule { libadwaita ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ca/catnip/package.nix b/pkgs/by-name/ca/catnip/package.nix index fea82e71cd865..7687535405e81 100644 --- a/pkgs/by-name/ca/catnip/package.nix +++ b/pkgs/by-name/ca/catnip/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, portaudio -, testers -, catnip +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + portaudio, + testers, + catnip, }: buildGoModule rec { diff --git a/pkgs/by-name/ca/catppuccin-fcitx5/package.nix b/pkgs/by-name/ca/catppuccin-fcitx5/package.nix index 804dd90b6ab15..bcdff788b103b 100644 --- a/pkgs/by-name/ca/catppuccin-fcitx5/package.nix +++ b/pkgs/by-name/ca/catppuccin-fcitx5/package.nix @@ -31,7 +31,10 @@ stdenvNoCC.mkDerivation { description = "Soothing pastel theme for Fcitx5"; homepage = "https://github.com/catppuccin/fcitx5"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ pluiedev Guanran928 ]; + maintainers = with lib.maintainers; [ + pluiedev + Guanran928 + ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ca/catppuccin-grub/package.nix b/pkgs/by-name/ca/catppuccin-grub/package.nix index 7c3a16348e9b6..7472007f02208 100644 --- a/pkgs/by-name/ca/catppuccin-grub/package.nix +++ b/pkgs/by-name/ca/catppuccin-grub/package.nix @@ -31,7 +31,10 @@ stdenvNoCC.mkDerivation { description = "Soothing pastel theme for GRUB"; homepage = "https://github.com/catppuccin/grub"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [isabelroses mimvoid]; + maintainers = with lib.maintainers; [ + isabelroses + mimvoid + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ca/catppuccin-gtk/package.nix b/pkgs/by-name/ca/catppuccin-gtk/package.nix index 964e631c9cade..f2a30186c4560 100644 --- a/pkgs/by-name/ca/catppuccin-gtk/package.nix +++ b/pkgs/by-name/ca/catppuccin-gtk/package.nix @@ -1,77 +1,119 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, git -, python3 -, sassc -, nix-update-script -, accents ? [ "blue" ] -, size ? "standard" -, tweaks ? [ ] -, variant ? "frappe" +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + git, + python3, + sassc, + nix-update-script, + accents ? [ "blue" ], + size ? "standard", + tweaks ? [ ], + variant ? "frappe", }: let - validAccents = [ "blue" "flamingo" "green" "lavender" "maroon" "mauve" "peach" "pink" "red" "rosewater" "sapphire" "sky" "teal" "yellow" ]; - validSizes = [ "standard" "compact" ]; - validTweaks = [ "black" "rimless" "normal" "float" ]; - validVariants = [ "latte" "frappe" "macchiato" "mocha" ]; + validAccents = [ + "blue" + "flamingo" + "green" + "lavender" + "maroon" + "mauve" + "peach" + "pink" + "red" + "rosewater" + "sapphire" + "sky" + "teal" + "yellow" + ]; + validSizes = [ + "standard" + "compact" + ]; + validTweaks = [ + "black" + "rimless" + "normal" + "float" + ]; + validVariants = [ + "latte" + "frappe" + "macchiato" + "mocha" + ]; pname = "catppuccin-gtk"; version = "1.0.3"; in -lib.checkListOfEnum "${pname}: theme accent" validAccents accents -lib.checkListOfEnum "${pname}: color variant" validVariants [variant] -lib.checkListOfEnum "${pname}: size variant" validSizes [size] -lib.checkListOfEnum "${pname}: tweaks" validTweaks tweaks +lib.checkListOfEnum "${pname}: theme accent" validAccents accents lib.checkListOfEnum + "${pname}: color variant" + validVariants + [ variant ] + lib.checkListOfEnum + "${pname}: size variant" + validSizes + [ size ] + lib.checkListOfEnum + "${pname}: tweaks" + validTweaks + tweaks -stdenvNoCC.mkDerivation { - inherit pname version; + stdenvNoCC.mkDerivation + { + inherit pname version; - src = fetchFromGitHub { - owner = "catppuccin"; - repo = "gtk"; - rev = "v${version}"; - fetchSubmodules = true; - hash = "sha256-q5/VcFsm3vNEw55zq/vcM11eo456SYE5TQA3g2VQjGc="; - }; + src = fetchFromGitHub { + owner = "catppuccin"; + repo = "gtk"; + rev = "v${version}"; + fetchSubmodules = true; + hash = "sha256-q5/VcFsm3vNEw55zq/vcM11eo456SYE5TQA3g2VQjGc="; + }; - patches = [ ./fix-inconsistent-theme-name.patch ]; + patches = [ ./fix-inconsistent-theme-name.patch ]; - nativeBuildInputs = [ - gtk3 - sassc - # git is needed here since "git apply" is being used for patches - # see - git - (python3.withPackages (ps: [ ps.catppuccin ])) - ]; + nativeBuildInputs = [ + gtk3 + sassc + # git is needed here since "git apply" is being used for patches + # see + git + (python3.withPackages (ps: [ ps.catppuccin ])) + ]; - dontConfigure = true; - dontBuild = true; + dontConfigure = true; + dontBuild = true; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/themes + mkdir -p $out/share/themes - python3 build.py ${variant} \ - --accent ${builtins.toString accents} \ - ${lib.optionalString (size != [ ]) "--size " + size} \ - ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ - --dest $out/share/themes + python3 build.py ${variant} \ + --accent ${builtins.toString accents} \ + ${lib.optionalString (size != [ ]) "--size " + size} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = nix-update-script { }; + passthru.updateScript = nix-update-script { }; - meta = { - description = "Soothing pastel theme for GTK"; - homepage = "https://github.com/catppuccin/gtk"; - license = lib.licenses.gpl3Plus; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ fufexan dixslyf isabelroses ]; - }; -} + meta = { + description = "Soothing pastel theme for GTK"; + homepage = "https://github.com/catppuccin/gtk"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ + fufexan + dixslyf + isabelroses + ]; + }; + } diff --git a/pkgs/by-name/ca/catppuccin-kde/package.nix b/pkgs/by-name/ca/catppuccin-kde/package.nix index b4ce9ed5d39f0..78ab534f82969 100644 --- a/pkgs/by-name/ca/catppuccin-kde/package.nix +++ b/pkgs/by-name/ca/catppuccin-kde/package.nix @@ -1,62 +1,97 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchpatch -, flavour ? [ "frappe" ] -, accents ? [ "blue" ] -, winDecStyles ? [ "modern" ] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + flavour ? [ "frappe" ], + accents ? [ "blue" ], + winDecStyles ? [ "modern" ], }: let - validFlavours = [ "mocha" "macchiato" "frappe" "latte" ]; - validAccents = [ "rosewater" "flamingo" "pink" "mauve" "red" "maroon" "peach" "yellow" "green" "teal" "sky" "sapphire" "blue" "lavender" ]; - validWinDecStyles = [ "modern" "classic" ]; + validFlavours = [ + "mocha" + "macchiato" + "frappe" + "latte" + ]; + validAccents = [ + "rosewater" + "flamingo" + "pink" + "mauve" + "red" + "maroon" + "peach" + "yellow" + "green" + "teal" + "sky" + "sapphire" + "blue" + "lavender" + ]; + validWinDecStyles = [ + "modern" + "classic" + ]; colorScript = ./color.sh; in - lib.checkListOfEnum "Invalid accent, valid accents are ${toString validAccents}" validAccents accents - lib.checkListOfEnum "Invalid flavour, valid flavours are ${toString validFlavours}" validFlavours flavour - lib.checkListOfEnum "Invalid window decoration style, valid styles are ${toString validWinDecStyles}" validWinDecStyles winDecStyles - -stdenvNoCC.mkDerivation rec { - pname = "kde"; - version = "0.2.6"; - - src = fetchFromGitHub { - owner = "catppuccin"; - repo = pname; - rev = "v${version}"; - hash = "sha256-pfG0L4eSXLYLZM8Mhla4yalpEro74S9kc0sOmQtnG3w="; - }; - - patches = [ - (fetchpatch { - url = "https://github.com/GiggleSquid/catppuccin-kde/commit/f0291c17d2e4711b0d0aac00e3dbb94ee89b4a82.patch"; - hash = "sha256-iD+mEX2LRFmrCwLr3VAs6kzcTuZ231TKDn+U188iOss="; - }) - ]; +lib.checkListOfEnum "Invalid accent, valid accents are ${toString validAccents}" validAccents + accents + lib.checkListOfEnum + "Invalid flavour, valid flavours are ${toString validFlavours}" + validFlavours + flavour + lib.checkListOfEnum + "Invalid window decoration style, valid styles are ${toString validWinDecStyles}" + validWinDecStyles + winDecStyles + + stdenvNoCC.mkDerivation + rec { + pname = "kde"; + version = "0.2.6"; - installPhase = '' - runHook preInstall - patchShebangs . + src = fetchFromGitHub { + owner = "catppuccin"; + repo = pname; + rev = "v${version}"; + hash = "sha256-pfG0L4eSXLYLZM8Mhla4yalpEro74S9kc0sOmQtnG3w="; + }; - for WINDECSTYLE in ${toString winDecStyles}; do - for FLAVOUR in ${toString flavour}; do - for ACCENT in ${toString accents}; do - source ${colorScript} - ./install.sh $FLAVOUR $ACCENT $WINDECSTYLE + patches = [ + (fetchpatch { + url = "https://github.com/GiggleSquid/catppuccin-kde/commit/f0291c17d2e4711b0d0aac00e3dbb94ee89b4a82.patch"; + hash = "sha256-iD+mEX2LRFmrCwLr3VAs6kzcTuZ231TKDn+U188iOss="; + }) + ]; + + installPhase = '' + runHook preInstall + patchShebangs . + + for WINDECSTYLE in ${toString winDecStyles}; do + for FLAVOUR in ${toString flavour}; do + for ACCENT in ${toString accents}; do + source ${colorScript} + ./install.sh $FLAVOUR $ACCENT $WINDECSTYLE + done; done; done; - done; - - runHook postInstall - ''; - - meta = with lib; { - description = "Soothing pastel theme for KDE"; - homepage = "https://github.com/catppuccin/kde"; - license = licenses.mit; - maintainers = with maintainers; [ michaelBelsanti gigglesquid ]; - }; -} + + runHook postInstall + ''; + + meta = with lib; { + description = "Soothing pastel theme for KDE"; + homepage = "https://github.com/catppuccin/kde"; + license = licenses.mit; + maintainers = with maintainers; [ + michaelBelsanti + gigglesquid + ]; + }; + } diff --git a/pkgs/by-name/ca/catppuccin-kvantum/package.nix b/pkgs/by-name/ca/catppuccin-kvantum/package.nix index a595edbd6de5f..c7f0e0cf6070c 100644 --- a/pkgs/by-name/ca/catppuccin-kvantum/package.nix +++ b/pkgs/by-name/ca/catppuccin-kvantum/package.nix @@ -5,13 +5,33 @@ unstableGitUpdater, accent ? "blue", variant ? "frappe", -}: let +}: +let pname = "catppuccin-kvantum"; in - lib.checkListOfEnum "${pname}: theme accent" ["blue" "flamingo" "green" "lavender" "maroon" "mauve" "peach" "pink" "red" "rosewater" "sapphire" "sky" "teal" "yellow"] [accent] - lib.checkListOfEnum "${pname}: color variant" ["latte" "frappe" "macchiato" "mocha"] [variant] +lib.checkListOfEnum "${pname}: theme accent" + [ + "blue" + "flamingo" + "green" + "lavender" + "maroon" + "mauve" + "peach" + "pink" + "red" + "rosewater" + "sapphire" + "sky" + "teal" + "yellow" + ] + [ accent ] + lib.checkListOfEnum + "${pname}: color variant" [ "latte" "frappe" "macchiato" "mocha" ] [ variant ] - stdenvNoCC.mkDerivation { + stdenvNoCC.mkDerivation + { inherit pname; version = "0-unstable-2024-10-25"; diff --git a/pkgs/by-name/ca/catppuccin-papirus-folders/package.nix b/pkgs/by-name/ca/catppuccin-papirus-folders/package.nix index 70529a6337b7e..b5baf4d614ed2 100644 --- a/pkgs/by-name/ca/catppuccin-papirus-folders/package.nix +++ b/pkgs/by-name/ca/catppuccin-papirus-folders/package.nix @@ -5,16 +5,40 @@ gtk3, papirus-icon-theme, flavor ? "mocha", - accent ? "blue" -}: let - validAccents = ["blue" "flamingo" "green" "lavender" "maroon" "mauve" "peach" "pink" "red" "rosewater" "sapphire" "sky" "teal" "yellow"]; - validFlavors = ["latte" "frappe" "macchiato" "mocha"]; + accent ? "blue", +}: +let + validAccents = [ + "blue" + "flamingo" + "green" + "lavender" + "maroon" + "mauve" + "peach" + "pink" + "red" + "rosewater" + "sapphire" + "sky" + "teal" + "yellow" + ]; + validFlavors = [ + "latte" + "frappe" + "macchiato" + "mocha" + ]; pname = "catppuccin-papirus-folders"; in - lib.checkListOfEnum "${pname}: accent colors" validAccents [ accent ] - lib.checkListOfEnum "${pname}: flavors" validFlavors [ flavor ] +lib.checkListOfEnum "${pname}: accent colors" validAccents [ accent ] lib.checkListOfEnum + "${pname}: flavors" + validFlavors + [ flavor ] - stdenvNoCC.mkDerivation { + stdenvNoCC.mkDerivation + { inherit pname; version = "unstable-2023-08-02"; diff --git a/pkgs/by-name/ca/catppuccin-qt5ct/package.nix b/pkgs/by-name/ca/catppuccin-qt5ct/package.nix index f9b7a85c8cfb9..d0b4c53809319 100644 --- a/pkgs/by-name/ca/catppuccin-qt5ct/package.nix +++ b/pkgs/by-name/ca/catppuccin-qt5ct/package.nix @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation { description = "Soothing pastel theme for qt5ct"; homepage = "https://github.com/catppuccin/qt5ct"; license = licenses.mit; - maintainers = with maintainers; [pluiedev]; + maintainers = with maintainers; [ pluiedev ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix b/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix index e43792fc4a9fe..1665eeffc02e2 100644 --- a/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix +++ b/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, libsForQt5 -, unstableGitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + libsForQt5, + unstableGitUpdater, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/ca/catppuccin-sddm/package.nix b/pkgs/by-name/ca/catppuccin-sddm/package.nix index 1daab09ae646d..1de2521a5f42f 100644 --- a/pkgs/by-name/ca/catppuccin-sddm/package.nix +++ b/pkgs/by-name/ca/catppuccin-sddm/package.nix @@ -74,7 +74,7 @@ stdenvNoCC.mkDerivation rec { description = "Soothing pastel theme for SDDM"; homepage = "https://github.com/catppuccin/sddm"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [elysasrc]; + maintainers = with lib.maintainers; [ elysasrc ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ca/catppuccin-whiskers/package.nix b/pkgs/by-name/ca/catppuccin-whiskers/package.nix index a24ba429388e4..2f69b8cd504e6 100644 --- a/pkgs/by-name/ca/catppuccin-whiskers/package.nix +++ b/pkgs/by-name/ca/catppuccin-whiskers/package.nix @@ -1,6 +1,12 @@ -{ lib, fetchFromGitHub, rustPlatform }: -let version = "2.5.1"; -in rustPlatform.buildRustPackage { +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +let + version = "2.5.1"; +in +rustPlatform.buildRustPackage { pname = "catppuccin-whiskers"; inherit version; diff --git a/pkgs/by-name/ca/catppuccin/package.nix b/pkgs/by-name/ca/catppuccin/package.nix index c547de3b3c47e..069c9a326961e 100644 --- a/pkgs/by-name/ca/catppuccin/package.nix +++ b/pkgs/by-name/ca/catppuccin/package.nix @@ -1,18 +1,56 @@ let - validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "lxqt" "plymouth" "qt5ct" "refind" "rofi" "starship" "thunderbird" "waybar" ]; + validThemes = [ + "bat" + "bottom" + "btop" + "grub" + "hyprland" + "k9s" + "kvantum" + "lazygit" + "lxqt" + "plymouth" + "qt5ct" + "refind" + "rofi" + "starship" + "thunderbird" + "waybar" + ]; in -{ fetchFromGitHub -, lib -, stdenvNoCC -, accent ? "blue" -, variant ? "macchiato" -, themeList ? validThemes +{ + fetchFromGitHub, + lib, + stdenvNoCC, + accent ? "blue", + variant ? "macchiato", + themeList ? validThemes, }: let pname = "catppuccin"; - validAccents = [ "rosewater" "flamingo" "pink" "mauve" "red" "maroon" "peach" "yellow" "green" "teal" "sky" "sapphire" "blue" "lavender" ]; - validVariants = [ "latte" "frappe" "macchiato" "mocha" ]; + validAccents = [ + "rosewater" + "flamingo" + "pink" + "mauve" + "red" + "maroon" + "peach" + "yellow" + "green" + "teal" + "sky" + "sapphire" + "blue" + "lavender" + ]; + validVariants = [ + "latte" + "frappe" + "macchiato" + "mocha" + ]; selectedSources = map (themeName: builtins.getAttr themeName sources) themeList; sources = { @@ -145,106 +183,130 @@ let }; }; in -lib.checkListOfEnum "${pname}: variant" validVariants [ variant ] -lib.checkListOfEnum "${pname}: accent" validAccents [ accent ] -lib.checkListOfEnum "${pname}: themes" validThemes themeList - -stdenvNoCC.mkDerivation { - inherit pname; - version = "unstable-2024-03-12"; - - srcs = selectedSources; - - unpackPhase = '' - for s in $selectedSources; do - b=$(basename $s) - cp $s ''${b#*-} - done - ''; - - installPhase = '' - runHook preInstall - - local capitalizedVariant=$(sed 's/^\(.\)/\U\1/' <<< "${variant}") - local capitalizedAccent=$(sed 's/^\(.\)/\U\1/' <<< "${accent}") - - '' + lib.optionalString (lib.elem "bat" themeList) '' - mkdir -p $out/bat - cp "${sources.bat}/themes/Catppuccin "$capitalizedVariant".tmTheme" "$out/bat/" - - '' + lib.optionalString (lib.elem "btop" themeList) '' - mkdir -p $out/btop - cp "${sources.btop}/themes/catppuccin_${variant}.theme" "$out/btop/" - - '' + lib.optionalString (lib.elem "bottom" themeList) '' - mkdir -p $out/bottom - cp "${sources.bottom}/themes/${variant}.toml" "$out/bottom/" - - '' + lib.optionalString (lib.elem "grub" themeList) '' - mkdir -p $out/grub - cp -r ${sources.grub}/src/catppuccin-${variant}-grub-theme/* "$out/grub/" - - '' + lib.optionalString (lib.elem "hyprland" themeList) '' - mkdir -p $out/hyprland - cp "${sources.hyprland}/themes/${variant}.conf" "$out/hyprland/" - - '' + lib.optionalString (lib.elem "k9s" themeList) '' - mkdir -p $out/k9s - cp "${sources.k9s}/dist/catppuccin-${variant}.yaml" "$out/k9s/" - cp "${sources.k9s}/dist/catppuccin-${variant}-transparent.yaml" "$out/k9s/" - - '' + lib.optionalString (lib.elem "kvantum" themeList) '' - mkdir -p $out/share/Kvantum - cp -r ${sources.kvantum}/src/Catppuccin-"$capitalizedVariant"-"$capitalizedAccent" $out/share/Kvantum - - '' + lib.optionalString (lib.elem "lazygit" themeList) '' - mkdir -p $out/lazygit/{themes,themes-mergable} - cp "${sources.lazygit}/themes/${variant}/${accent}.yml" "$out/lazygit/themes/" - cp "${sources.lazygit}/themes-mergable/${variant}/${accent}.yml" "$out/lazygit/themes-mergable/" - - '' + lib.optionalString (lib.elem "lxqt" themeList) '' - mkdir -p $out/share/lxqt/themes/catppuccin-${variant} - cp -r ${sources.lxqt}/src/catppuccin-${variant}/* $out/share/lxqt/themes/catppuccin-${variant}/ - - '' + lib.optionalString (lib.elem "plymouth" themeList) '' - mkdir -p $out/share/plymouth/themes/catppuccin-${variant} - cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant} - sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' $out/share/plymouth/themes/catppuccin-${variant}/catppuccin-${variant}.plymouth - - '' + lib.optionalString (lib.elem "qt5ct" themeList) '' - mkdir -p $out/qt5ct - cp ${sources.qt5ct}/themes/Catppuccin-"$capitalizedVariant".conf $out/qt5ct/ - - '' + lib.optionalString (lib.elem "rofi" themeList) '' - mkdir -p $out/rofi - cp ${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${variant}.rasi $out/rofi/ - - '' + lib.optionalString (lib.elem "refind" themeList) '' - mkdir -p $out/refind/assets - cp ${sources.refind}/${variant}.conf $out/refind/ - cp -r ${sources.refind}/assets/${variant} $out/refind/assets/ - - '' + lib.optionalString (lib.elem "starship" themeList) '' - mkdir -p $out/starship - cp ${sources.starship}/palettes/${variant}.toml $out/starship/ - - '' + lib.optionalString (lib.elem "thunderbird" themeList) '' - mkdir -p $out/thunderbird - cp ${sources.thunderbird}/themes/${variant}/${variant}-${accent}.xpi $out/thunderbird/ - - '' + lib.optionalString (lib.elem "waybar" themeList) '' - mkdir -p $out/waybar - cp ${sources.waybar}/${variant}.css $out/waybar/ - - '' + '' - runHook postInstall - ''; - - meta = { - description = "Soothing pastel themes"; - homepage = "https://github.com/catppuccin/catppuccin"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - maintainers = [ lib.maintainers.khaneliman ]; - }; -} +lib.checkListOfEnum "${pname}: variant" validVariants [ variant ] lib.checkListOfEnum + "${pname}: accent" + validAccents + [ accent ] + lib.checkListOfEnum + "${pname}: themes" + validThemes + themeList + + stdenvNoCC.mkDerivation + { + inherit pname; + version = "unstable-2024-03-12"; + + srcs = selectedSources; + + unpackPhase = '' + for s in $selectedSources; do + b=$(basename $s) + cp $s ''${b#*-} + done + ''; + + installPhase = + '' + runHook preInstall + + local capitalizedVariant=$(sed 's/^\(.\)/\U\1/' <<< "${variant}") + local capitalizedAccent=$(sed 's/^\(.\)/\U\1/' <<< "${accent}") + + '' + + lib.optionalString (lib.elem "bat" themeList) '' + mkdir -p $out/bat + cp "${sources.bat}/themes/Catppuccin "$capitalizedVariant".tmTheme" "$out/bat/" + + '' + + lib.optionalString (lib.elem "btop" themeList) '' + mkdir -p $out/btop + cp "${sources.btop}/themes/catppuccin_${variant}.theme" "$out/btop/" + + '' + + lib.optionalString (lib.elem "bottom" themeList) '' + mkdir -p $out/bottom + cp "${sources.bottom}/themes/${variant}.toml" "$out/bottom/" + + '' + + lib.optionalString (lib.elem "grub" themeList) '' + mkdir -p $out/grub + cp -r ${sources.grub}/src/catppuccin-${variant}-grub-theme/* "$out/grub/" + + '' + + lib.optionalString (lib.elem "hyprland" themeList) '' + mkdir -p $out/hyprland + cp "${sources.hyprland}/themes/${variant}.conf" "$out/hyprland/" + + '' + + lib.optionalString (lib.elem "k9s" themeList) '' + mkdir -p $out/k9s + cp "${sources.k9s}/dist/catppuccin-${variant}.yaml" "$out/k9s/" + cp "${sources.k9s}/dist/catppuccin-${variant}-transparent.yaml" "$out/k9s/" + + '' + + lib.optionalString (lib.elem "kvantum" themeList) '' + mkdir -p $out/share/Kvantum + cp -r ${sources.kvantum}/src/Catppuccin-"$capitalizedVariant"-"$capitalizedAccent" $out/share/Kvantum + + '' + + lib.optionalString (lib.elem "lazygit" themeList) '' + mkdir -p $out/lazygit/{themes,themes-mergable} + cp "${sources.lazygit}/themes/${variant}/${accent}.yml" "$out/lazygit/themes/" + cp "${sources.lazygit}/themes-mergable/${variant}/${accent}.yml" "$out/lazygit/themes-mergable/" + + '' + + lib.optionalString (lib.elem "lxqt" themeList) '' + mkdir -p $out/share/lxqt/themes/catppuccin-${variant} + cp -r ${sources.lxqt}/src/catppuccin-${variant}/* $out/share/lxqt/themes/catppuccin-${variant}/ + + '' + + lib.optionalString (lib.elem "plymouth" themeList) '' + mkdir -p $out/share/plymouth/themes/catppuccin-${variant} + cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant} + sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' $out/share/plymouth/themes/catppuccin-${variant}/catppuccin-${variant}.plymouth + + '' + + lib.optionalString (lib.elem "qt5ct" themeList) '' + mkdir -p $out/qt5ct + cp ${sources.qt5ct}/themes/Catppuccin-"$capitalizedVariant".conf $out/qt5ct/ + + '' + + lib.optionalString (lib.elem "rofi" themeList) '' + mkdir -p $out/rofi + cp ${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${variant}.rasi $out/rofi/ + + '' + + lib.optionalString (lib.elem "refind" themeList) '' + mkdir -p $out/refind/assets + cp ${sources.refind}/${variant}.conf $out/refind/ + cp -r ${sources.refind}/assets/${variant} $out/refind/assets/ + + '' + + lib.optionalString (lib.elem "starship" themeList) '' + mkdir -p $out/starship + cp ${sources.starship}/palettes/${variant}.toml $out/starship/ + + '' + + lib.optionalString (lib.elem "thunderbird" themeList) '' + mkdir -p $out/thunderbird + cp ${sources.thunderbird}/themes/${variant}/${variant}-${accent}.xpi $out/thunderbird/ + + '' + + lib.optionalString (lib.elem "waybar" themeList) '' + mkdir -p $out/waybar + cp ${sources.waybar}/${variant}.css $out/waybar/ + + '' + + '' + runHook postInstall + ''; + + meta = { + description = "Soothing pastel themes"; + homepage = "https://github.com/catppuccin/catppuccin"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.khaneliman ]; + }; + } diff --git a/pkgs/by-name/ca/catppuccinifier-cli/package.nix b/pkgs/by-name/ca/catppuccinifier-cli/package.nix index f9a3b4431fc5e..fc9ff4e2347db 100644 --- a/pkgs/by-name/ca/catppuccinifier-cli/package.nix +++ b/pkgs/by-name/ca/catppuccinifier-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -28,7 +29,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/lighttigerXIV/catppuccinifier"; license = lib.licenses.mit; mainProgram = "catppuccinifier-cli"; - maintainers = with lib.maintainers; [ aleksana isabelroses ]; + maintainers = with lib.maintainers; [ + aleksana + isabelroses + ]; platforms = with lib.platforms; linux ++ windows; }; } diff --git a/pkgs/by-name/ca/catt/package.nix b/pkgs/by-name/ca/catt/package.nix index f6bdde3577be6..433b60f53a362 100644 --- a/pkgs/by-name/ca/catt/package.nix +++ b/pkgs/by-name/ca/catt/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchPypi -, fetchpatch -, python3 +{ + lib, + fetchPypi, + fetchpatch, + python3, }: let diff --git a/pkgs/by-name/ca/caudec/package.nix b/pkgs/by-name/ca/caudec/package.nix index c1fd7acc90bd1..7d4a971e6b42e 100644 --- a/pkgs/by-name/ca/caudec/package.nix +++ b/pkgs/by-name/ca/caudec/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, makeWrapper, bc, findutils, flac, lame, opusTools, procps, sox }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + bc, + findutils, + flac, + lame, + opusTools, + procps, + sox, +}: stdenv.mkDerivation rec { pname = "caudec"; @@ -20,16 +32,26 @@ stdenv.mkDerivation rec { ''; postFixup = '' - for executable in $(cd $out/bin && ls); do - wrapProgram $out/bin/$executable \ - --prefix PATH : "${lib.makeBinPath [ bc findutils sox procps opusTools lame flac ]}" - done + for executable in $(cd $out/bin && ls); do + wrapProgram $out/bin/$executable \ + --prefix PATH : "${ + lib.makeBinPath [ + bc + findutils + sox + procps + opusTools + lame + flac + ] + }" + done ''; - meta = with lib; { + meta = with lib; { homepage = "https://caudec.cocatre.net/"; description = "Multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)"; - license = licenses.gpl3; - platforms = platforms.linux ++ platforms.darwin; + license = licenses.gpl3; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/ca/cauwugo/package.nix b/pkgs/by-name/ca/cauwugo/package.nix index 1f497a270b939..45902062bc141 100644 --- a/pkgs/by-name/ca/cauwugo/package.nix +++ b/pkgs/by-name/ca/cauwugo/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, installShellFiles, stdenv }: +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "cauwugo"; @@ -25,7 +31,10 @@ rustPlatform.buildRustPackage rec { description = "Alternative cargo frontend that implements dynamic shell completion for usual cargo commands"; mainProgram = "cauwugo"; homepage = "https://github.com/pacak/bpaf/tree/master/bpaf_cauwugo"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ca/cayley/package.nix b/pkgs/by-name/ca/cayley/package.nix index b5222f41b3b1d..f6afb01a2e429 100644 --- a/pkgs/by-name/ca/cayley/package.nix +++ b/pkgs/by-name/ca/cayley/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -19,12 +20,16 @@ buildGoModule rec { subPackages = [ "cmd/cayley" ]; - ldflags = let basename = "github.com/cayleygraph/cayley/version"; in [ - "-s" - "-w" - "-X ${basename}.Version=${src.rev}" - "-X ${basename}.GitHash=${rev}" - ]; + ldflags = + let + basename = "github.com/cayleygraph/cayley/version"; + in + [ + "-s" + "-w" + "-X ${basename}.Version=${src.rev}" + "-X ${basename}.GitHash=${rev}" + ]; meta = with lib; { description = "Graph database designed for ease of use and storing complex data"; diff --git a/pkgs/by-name/cb/cbatticon/package.nix b/pkgs/by-name/cb/cbatticon/package.nix index 1221703006322..69d563edb4bae 100644 --- a/pkgs/by-name/cb/cbatticon/package.nix +++ b/pkgs/by-name/cb/cbatticon/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gettext, glib, gtk3, libnotify, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gettext, + glib, + gtk3, + libnotify, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "cbatticon"; @@ -11,9 +21,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-VQjJujF9lnVvQxV+0YqodLgnI9F90JKDAGBu5nM/Q/c="; }; - nativeBuildInputs = [ pkg-config gettext wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + gettext + wrapGAppsHook3 + ]; - buildInputs = [ glib gtk3 libnotify ]; + buildInputs = [ + glib + gtk3 + libnotify + ]; patchPhase = '' sed -i -e 's/ -Wno-format//g' Makefile diff --git a/pkgs/by-name/cb/cbc/package.nix b/pkgs/by-name/cb/cbc/package.nix index dbe7b6d241ab5..c96cbc2e7a7d0 100644 --- a/pkgs/by-name/cb/cbc/package.nix +++ b/pkgs/by-name/cb/cbc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, zlib, bzip2 }: +{ + lib, + stdenv, + fetchurl, + zlib, + bzip2, +}: stdenv.mkDerivation rec { pname = "cbc"; @@ -13,14 +19,19 @@ stdenv.mkDerivation rec { }; # or-tools has a hard dependency on Cbc static libraries, so we build both - configureFlags = [ "-C" "--enable-static" ] - ++ lib.optionals stdenv.cc.isClang [ "CXXFLAGS=-std=c++14" ]; + configureFlags = [ + "-C" + "--enable-static" + ] ++ lib.optionals stdenv.cc.isClang [ "CXXFLAGS=-std=c++14" ]; enableParallelBuilding = true; hardeningDisable = [ "format" ]; - buildInputs = [ zlib bzip2 ]; + buildInputs = [ + zlib + bzip2 + ]; # FIXME: move share/coin/Data to a separate output? diff --git a/pkgs/by-name/cb/cbfmt/package.nix b/pkgs/by-name/cb/cbfmt/package.nix index 099a2a7f9f87d..9f803cfbfd83d 100644 --- a/pkgs/by-name/cb/cbfmt/package.nix +++ b/pkgs/by-name/cb/cbfmt/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, testers, cbfmt }: +{ + lib, + rustPlatform, + fetchFromGitHub, + testers, + cbfmt, +}: rustPlatform.buildRustPackage rec { pname = "cbfmt"; diff --git a/pkgs/by-name/cb/cbftp/package.nix b/pkgs/by-name/cb/cbftp/package.nix index 73e11f27b2776..7e7c99986fabf 100644 --- a/pkgs/by-name/cb/cbftp/package.nix +++ b/pkgs/by-name/cb/cbftp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, openssl +{ + lib, + stdenv, + fetchurl, + ncurses, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cb/cbmbasic/package.nix b/pkgs/by-name/cb/cbmbasic/package.nix index a7d6d841012fa..0864eea30e1f1 100644 --- a/pkgs/by-name/cb/cbmbasic/package.nix +++ b/pkgs/by-name/cb/cbmbasic/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, runCommand +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, }: stdenv.mkDerivation (finalAttrs: { @@ -16,34 +17,37 @@ stdenv.mkDerivation (finalAttrs: { }; installPhase = '' - runHook preInstall + runHook preInstall - mkdir -p $out/bin/ - mv cbmbasic $out/bin/ + mkdir -p $out/bin/ + mv cbmbasic $out/bin/ - runHook postInstall + runHook postInstall ''; # NOTE: cbmbasic uses microsoft style linebreaks `\r\n`, and testing has to # accommodate that, else you get very cryptic diffs passthru = { - tests.run = runCommand "cbmbasic-test-run" { - nativeBuildInputs = [finalAttrs.finalPackage]; - } '' - echo '#!${lib.getExe finalAttrs.finalPackage}' > helloI.bas; - echo 'PRINT"Hello, World!"' >> helloI.bas; - chmod +x helloI.bas + tests.run = + runCommand "cbmbasic-test-run" + { + nativeBuildInputs = [ finalAttrs.finalPackage ]; + } + '' + echo '#!${lib.getExe finalAttrs.finalPackage}' > helloI.bas; + echo 'PRINT"Hello, World!"' >> helloI.bas; + chmod +x helloI.bas - diff -U3 --color=auto <(./helloI.bas) <(echo -e "Hello, World!\r"); + diff -U3 --color=auto <(./helloI.bas) <(echo -e "Hello, World!\r"); - echo '#!/usr/bin/env cbmbasic' > hello.bas; - echo 'PRINT"Hello, World!"' >> hello.bas; - chmod +x hello.bas + echo '#!/usr/bin/env cbmbasic' > hello.bas; + echo 'PRINT"Hello, World!"' >> hello.bas; + chmod +x hello.bas - diff -U3 --color=auto <(cbmbasic ./hello.bas) <(echo -e "Hello, World!\r"); + diff -U3 --color=auto <(cbmbasic ./hello.bas) <(echo -e "Hello, World!\r"); - touch $out; - ''; + touch $out; + ''; }; meta = with lib; { @@ -56,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { This source does not emulate 6502 code; all code is completely native. On a 1 GHz CPU you get about 1000x speed compared to a 1 MHz 6502. ''; - homepage = "https://github.com/mist64/cbmbasic"; + homepage = "https://github.com/mist64/cbmbasic"; license = licenses.bsd2; maintainers = [ maintainers.cafkafk ]; mainProgram = "cbmbasic"; diff --git a/pkgs/by-name/cb/cbonsai/package.nix b/pkgs/by-name/cb/cbonsai/package.nix index 28eb5967315f8..bad317b1514a7 100644 --- a/pkgs/by-name/cb/cbonsai/package.nix +++ b/pkgs/by-name/cb/cbonsai/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitLab, ncurses, pkg-config, nix-update-script, scdoc }: +{ + stdenv, + lib, + fetchFromGitLab, + ncurses, + pkg-config, + nix-update-script, + scdoc, +}: stdenv.mkDerivation rec { pname = "cbonsai"; @@ -11,7 +19,10 @@ stdenv.mkDerivation rec { hash = "sha256-XFK6DiIb8CzVubTnEMkqRW8xZkX/SWjUsrfS+I7LOs8="; }; - nativeBuildInputs = [ pkg-config scdoc ]; + nativeBuildInputs = [ + pkg-config + scdoc + ]; buildInputs = [ ncurses ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; diff --git a/pkgs/by-name/cb/cbor-diag/gemset.nix b/pkgs/by-name/cb/cbor-diag/gemset.nix index 647be4ab65352..65789a0348e05 100644 --- a/pkgs/by-name/cb/cbor-diag/gemset.nix +++ b/pkgs/by-name/cb/cbor-diag/gemset.nix @@ -1,81 +1,88 @@ { cbor-canonical = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fhj51s5d9b9spw096sb0p92bgilw9hrsay383563dh913j2jn11"; type = "gem"; }; version = "0.1.2"; }; cbor-deterministic = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w1mg4mn1dhlxlbijxpzja8m8ggrjs0hzkzvnaazw9zm1ji6dpba"; type = "gem"; }; version = "0.1.3"; }; cbor-diag = { - dependencies = ["cbor-canonical" "cbor-deterministic" "cbor-packed" "json_pure" "neatjson" "treetop"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "cbor-canonical" + "cbor-deterministic" + "cbor-packed" + "json_pure" + "neatjson" + "treetop" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12gicnz857iin9lhbrigyqz4v8fan9lq4sd56rfcb2c7a8azvmz9"; type = "gem"; }; version = "0.8.8"; }; cbor-packed = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dijyj7rivi39h34f32fx7k4xvngldf569i0372n1z6w01nv761l"; type = "gem"; }; version = "0.1.5"; }; json_pure = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13b4dminf6znfwvj8d61w6dar9zrxnndrmiig19adbliv0haxmlr"; type = "gem"; }; version = "2.7.2"; }; neatjson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wm1lq8yl6rzysh3wg6fa55w5534k6ppiz0qb7jyvdy582mk5i0s"; type = "gem"; }; version = "0.10.5"; }; polyglot = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; type = "gem"; }; version = "0.3.5"; }; treetop = { - dependencies = ["polyglot"]; - groups = ["default"]; - platforms = []; + dependencies = [ "polyglot" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; type = "gem"; }; diff --git a/pkgs/by-name/cb/cbor-diag/package.nix b/pkgs/by-name/cb/cbor-diag/package.nix index d0fb1a2cffa18..4ff0cb33fcad1 100644 --- a/pkgs/by-name/cb/cbor-diag/package.nix +++ b/pkgs/by-name/cb/cbor-diag/package.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "cbor-diag"; @@ -27,9 +31,13 @@ bundlerApp { meta = with lib; { description = "CBOR diagnostic utilities"; - homepage = "https://github.com/cabo/cbor-diag"; - license = with licenses; asl20; - maintainers = with maintainers; [ fdns nicknovitski amesgen ]; - platforms = platforms.unix; + homepage = "https://github.com/cabo/cbor-diag"; + license = with licenses; asl20; + maintainers = with maintainers; [ + fdns + nicknovitski + amesgen + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/cb/cbrowser/package.nix b/pkgs/by-name/cb/cbrowser/package.nix index 72a177a17f934..3c728b4ad5f46 100644 --- a/pkgs/by-name/cb/cbrowser/package.nix +++ b/pkgs/by-name/cb/cbrowser/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, tk, makeWrapper }: +{ + fetchurl, + lib, + stdenv, + tk, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "cbrowser"; diff --git a/pkgs/by-name/cb/cbtemulator/package.nix b/pkgs/by-name/cb/cbtemulator/package.nix index 916d349e633fe..9fdf25879294f 100644 --- a/pkgs/by-name/cb/cbtemulator/package.nix +++ b/pkgs/by-name/cb/cbtemulator/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, runCommand -, cbtemulator -, google-cloud-bigtable-tool +{ + lib, + buildGoModule, + fetchFromGitHub, + runCommand, + cbtemulator, + google-cloud-bigtable-tool, }: buildGoModule rec { @@ -32,31 +33,33 @@ buildGoModule rec { passthru = { # Sets up a table and family, then inserts, and ensures it gets back the value. - tests.smoketest = runCommand "cbtemulator-smoketest" - { - nativeBuildInputs = [ google-cloud-bigtable-tool ]; - } '' - # Start the emulator - ${lib.getExe cbtemulator} & - EMULATOR_PID=$! + tests.smoketest = + runCommand "cbtemulator-smoketest" + { + nativeBuildInputs = [ google-cloud-bigtable-tool ]; + } + '' + # Start the emulator + ${lib.getExe cbtemulator} & + EMULATOR_PID=$! - cleanup() { - kill $EMULATOR_PID - } + cleanup() { + kill $EMULATOR_PID + } - trap cleanup EXIT + trap cleanup EXIT - export BIGTABLE_EMULATOR_HOST=localhost:9000 + export BIGTABLE_EMULATOR_HOST=localhost:9000 - cbt -instance instance-1 -project project-1 createtable table-1 - cbt -instance instance-1 -project project-1 createfamily table-1 cf1 - cbt -instance instance-1 -project project-1 ls table-1 - cbt -instance instance-1 -project project-1 set table-1 key1 cf1:c1=value1 + cbt -instance instance-1 -project project-1 createtable table-1 + cbt -instance instance-1 -project project-1 createfamily table-1 cf1 + cbt -instance instance-1 -project project-1 ls table-1 + cbt -instance instance-1 -project project-1 set table-1 key1 cf1:c1=value1 - cbt -instance instance-1 -project project-1 read table-1 | grep -q value1 + cbt -instance instance-1 -project project-1 read table-1 | grep -q value1 - touch $out; - ''; + touch $out; + ''; }; meta = with lib; { diff --git a/pkgs/by-name/cc/cc-tool/package.nix b/pkgs/by-name/cc/cc-tool/package.nix index 5d8e671b6fcd0..941c30a56e93e 100644 --- a/pkgs/by-name/cc/cc-tool/package.nix +++ b/pkgs/by-name/cc/cc-tool/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, boost -, libusb1 -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + boost, + libusb1, + pkg-config, }: stdenv.mkDerivation rec { @@ -17,8 +19,14 @@ stdenv.mkDerivation rec { hash = "sha256:1f78j498fdd36xbci57jkgh25gq14g3b6xmp76imdpar0jkpyljv"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ boost libusb1 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + boost + libusb1 + ]; postPatch = '' substituteInPlace udev/90-cc-debugger.rules \ diff --git a/pkgs/by-name/cc/cc1541/package.nix b/pkgs/by-name/cc/cc1541/package.nix index f0f5fd7a02ca9..e6bc0e56a7d3b 100644 --- a/pkgs/by-name/cc/cc1541/package.nix +++ b/pkgs/by-name/cc/cc1541/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromBitbucket -, asciidoc +{ + lib, + stdenv, + fetchFromBitbucket, + asciidoc, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cc/cc2538-bsl/package.nix b/pkgs/by-name/cc/cc2538-bsl/package.nix index a4b3c992544a9..1716511e545f8 100644 --- a/pkgs/by-name/cc/cc2538-bsl/package.nix +++ b/pkgs/by-name/cc/cc2538-bsl/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3Packages +{ + lib, + fetchFromGitHub, + fetchpatch, + python3Packages, }: python3Packages.buildPythonPackage rec { @@ -54,4 +55,3 @@ python3Packages.buildPythonPackage rec { mainProgram = "cc2538-bsl"; }; } - diff --git a/pkgs/by-name/cc/cc65/package.nix b/pkgs/by-name/cc/cc65/package.nix index cb2410ba06a43..1d9a4d582570e 100644 --- a/pkgs/by-name/cc/cc65/package.nix +++ b/pkgs/by-name/cc/cc65/package.nix @@ -1,4 +1,8 @@ -{ lib, gccStdenv, fetchFromGitHub }: +{ + lib, + gccStdenv, + fetchFromGitHub, +}: gccStdenv.mkDerivation rec { pname = "cc65"; diff --git a/pkgs/by-name/cc/ccal/package.nix b/pkgs/by-name/cc/ccal/package.nix index dd3465669ab79..31de2947e7632 100644 --- a/pkgs/by-name/cc/ccal/package.nix +++ b/pkgs/by-name/cc/ccal/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, makeWrapper -, ghostscript_headless # for ps2pdf binary +{ + stdenv, + lib, + fetchurl, + makeWrapper, + ghostscript_headless, # for ps2pdf binary }: stdenv.mkDerivation rec { @@ -15,8 +16,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - makeFlags = [ "CXX:=$(CXX)" "BINDIR=$(out)/bin" "MANDIR=$(out)/share/man" ]; - installTargets = [ "install" "install-man" ]; + makeFlags = [ + "CXX:=$(CXX)" + "BINDIR=$(out)/bin" + "MANDIR=$(out)/share/man" + ]; + installTargets = [ + "install" + "install-man" + ]; # ccalpdf depends on a `ps2pdf` binary in PATH postFixup = '' diff --git a/pkgs/by-name/cc/cccc/package.nix b/pkgs/by-name/cc/cccc/package.nix index b0fd8769bdbe3..0629cda4e5c8d 100644 --- a/pkgs/by-name/cc/cccc/package.nix +++ b/pkgs/by-name/cc/cccc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cccc"; @@ -17,7 +21,10 @@ stdenv.mkDerivation rec { substituteInPlace install/install.mak --replace /usr/local/bin $out/bin substituteInPlace install/install.mak --replace MKDIR=mkdir "MKDIR=mkdir -p" ''; - buildFlags = [ "CCC=c++" "LD=c++" ]; + buildFlags = [ + "CCC=c++" + "LD=c++" + ]; meta = { description = "C and C++ Code Counter"; diff --git a/pkgs/by-name/cc/ccd2iso/package.nix b/pkgs/by-name/cc/ccd2iso/package.nix index 8606614d0186b..60b863bddbcfd 100644 --- a/pkgs/by-name/cc/ccd2iso/package.nix +++ b/pkgs/by-name/cc/ccd2iso/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ccd2iso"; diff --git a/pkgs/by-name/cc/ccemux/package.nix b/pkgs/by-name/cc/ccemux/package.nix index 0aba58f5f10a6..b0efaa8b42bb7 100644 --- a/pkgs/by-name/cc/ccemux/package.nix +++ b/pkgs/by-name/cc/ccemux/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, jre -, useCCTweaked ? true +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + makeWrapper, + jre, + useCCTweaked ? true, }: let @@ -8,21 +14,22 @@ let baseUrl = "https://emux.cc/versions/${lib.substring 0 8 rev}/CCEmuX"; jar = - if useCCTweaked - then fetchurl { - url = "${baseUrl}-cct.jar"; - hash = "sha256-nna5KRp6jVLkbWKOHGtQqaPr3Zl05mVkCf/8X9C5lRY="; - } - else fetchurl { - url = "${baseUrl}-cc.jar"; - hash = "sha256-2Z38O6z7OrHKe8GdLnexin749uJzQaCZglS+SwVD5YE="; - }; + if useCCTweaked then + fetchurl { + url = "${baseUrl}-cct.jar"; + hash = "sha256-nna5KRp6jVLkbWKOHGtQqaPr3Zl05mVkCf/8X9C5lRY="; + } + else + fetchurl { + url = "${baseUrl}-cc.jar"; + hash = "sha256-2Z38O6z7OrHKe8GdLnexin749uJzQaCZglS+SwVD5YE="; + }; desktopIcon = fetchurl { url = "https://github.com/CCEmuX/CCEmuX/raw/${rev}/src/main/resources/img/icon.png"; hash = "sha256-gqWURXaOFD/4aZnjmgtKb0T33NbrOdyRTMmLmV42q+4="; }; - desktopItem = makeDesktopItem { + desktopItem = makeDesktopItem { name = "CCEmuX"; exec = "ccemux"; icon = desktopIcon; @@ -63,7 +70,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/CCEmuX/CCEmuX"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mit; - maintainers = with maintainers; [ CrazedProgrammer viluon ]; + maintainers = with maintainers; [ + CrazedProgrammer + viluon + ]; mainProgram = "ccemux"; }; } diff --git a/pkgs/by-name/cc/cconv/package.nix b/pkgs/by-name/cc/cconv/package.nix index c47b6371d3453..cc739c86ce3be 100644 --- a/pkgs/by-name/cc/cconv/package.nix +++ b/pkgs/by-name/cc/cconv/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libiconv, +}: stdenv.mkDerivation rec { pname = "cconv"; diff --git a/pkgs/by-name/cc/ccrtp/package.nix b/pkgs/by-name/cc/ccrtp/package.nix index 5fa86a9589d48..e1177402c0032 100644 --- a/pkgs/by-name/cc/ccrtp/package.nix +++ b/pkgs/by-name/cc/ccrtp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, ucommon, openssl, libgcrypt }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + ucommon, + openssl, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "ccrtp"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ ucommon openssl libgcrypt ]; + propagatedBuildInputs = [ + ucommon + openssl + libgcrypt + ]; configureFlags = [ "--disable-demos" diff --git a/pkgs/by-name/cc/ccrypt/package.nix b/pkgs/by-name/cc/ccrypt/package.nix index d8fb66753269c..bdfef537e8a88 100644 --- a/pkgs/by-name/cc/ccrypt/package.nix +++ b/pkgs/by-name/cc/ccrypt/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, perl}: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "ccrypt"; diff --git a/pkgs/by-name/cc/ccsymbols/package.nix b/pkgs/by-name/cc/ccsymbols/package.nix index f31dc65a8a568..f3eff1e6432a7 100644 --- a/pkgs/by-name/cc/ccsymbols/package.nix +++ b/pkgs/by-name/cc/ccsymbols/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, unzip }: +{ + lib, + stdenvNoCC, + fetchurl, + unzip, +}: stdenvNoCC.mkDerivation rec { pname = "ccsymbols"; diff --git a/pkgs/by-name/cd/cddl/gemset.nix b/pkgs/by-name/cd/cddl/gemset.nix index 1f19c3920bdf1..ed326674323c9 100644 --- a/pkgs/by-name/cd/cddl/gemset.nix +++ b/pkgs/by-name/cd/cddl/gemset.nix @@ -1,142 +1,157 @@ { abnc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yj09gc9w208wsy0d45vzha4zfwxdpsqvkm9vms0chm4lxdwdg9x"; type = "gem"; }; version = "0.1.1"; }; abnftt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z7ibh0xv9mqk61rvvmz9fnfk6hffvnppqd8fx61vazjhisi9bcs"; type = "gem"; }; version = "0.2.4"; }; base32 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fjs0l3c5g9qxwp43kcnhc45slx29yjb6m6jxbb2x1krgjmi166b"; type = "gem"; }; version = "0.3.4"; }; cbor-canonical = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fhj51s5d9b9spw096sb0p92bgilw9hrsay383563dh913j2jn11"; type = "gem"; }; version = "0.1.2"; }; cbor-deterministic = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w1mg4mn1dhlxlbijxpzja8m8ggrjs0hzkzvnaazw9zm1ji6dpba"; type = "gem"; }; version = "0.1.3"; }; cbor-diag = { - dependencies = ["cbor-canonical" "cbor-deterministic" "cbor-packed" "json_pure" "neatjson" "treetop"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "cbor-canonical" + "cbor-deterministic" + "cbor-packed" + "json_pure" + "neatjson" + "treetop" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwd88xngbjamgydj9rg3wvgl53pfzhal2n702s9afa1yp8mjm51"; type = "gem"; }; version = "0.8.7"; }; cbor-packed = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dijyj7rivi39h34f32fx7k4xvngldf569i0372n1z6w01nv761l"; type = "gem"; }; version = "0.1.5"; }; cddl = { - dependencies = ["abnc" "abnftt" "base32" "cbor-diag" "colorize" "json_pure" "regexp-examples"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "abnc" + "abnftt" + "base32" + "cbor-diag" + "colorize" + "json_pure" + "regexp-examples" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qll1qvn3g75r742kr4da7240zdk2qj4vh325965rrjqp8brz23q"; type = "gem"; }; version = "0.10.3"; }; colorize = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dy8ryhcdzgmbvj7jpa1qq3bhhk1m7a2pz6ip0m6dxh30rzj7d9h"; type = "gem"; }; version = "1.1.0"; }; json_pure = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09w7f7xlcas9irlaavhz0rnh17cjvjmmqm07drgghx5gwjcrar31"; type = "gem"; }; version = "2.7.1"; }; neatjson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wm1lq8yl6rzysh3wg6fa55w5534k6ppiz0qb7jyvdy582mk5i0s"; type = "gem"; }; version = "0.10.5"; }; polyglot = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; type = "gem"; }; version = "0.3.5"; }; regexp-examples = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wfkwczjn62qq3z96dxk43m0gh6d5cajx9pxkanvk88d3yqnx29v"; type = "gem"; }; version = "1.5.1"; }; treetop = { - dependencies = ["polyglot"]; - groups = ["default"]; - platforms = []; + dependencies = [ "polyglot" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; type = "gem"; }; diff --git a/pkgs/by-name/cd/cddl/package.nix b/pkgs/by-name/cd/cddl/package.nix index 3192a1d4ffbec..5f67e2c4b83f0 100644 --- a/pkgs/by-name/cd/cddl/package.nix +++ b/pkgs/by-name/cd/cddl/package.nix @@ -1,7 +1,8 @@ -{ lib -, bundlerApp -, bundlerUpdateScript -, makeBinaryWrapper +{ + lib, + bundlerApp, + bundlerUpdateScript, + makeBinaryWrapper, }: bundlerApp rec { @@ -33,9 +34,13 @@ bundlerApp rec { meta = with lib; { description = "Parser, generator, and validator for CDDL"; - homepage = "https://rubygems.org/gems/cddl"; - license = with licenses; mit; - maintainers = with maintainers; [ fdns nicknovitski amesgen ]; - platforms = platforms.unix; + homepage = "https://rubygems.org/gems/cddl"; + license = with licenses; mit; + maintainers = with maintainers; [ + fdns + nicknovitski + amesgen + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/cd/cddlib/package.nix b/pkgs/by-name/cd/cddlib/package.nix index a170a0f92449e..a745c3a5b42e1 100644 --- a/pkgs/by-name/cd/cddlib/package.nix +++ b/pkgs/by-name/cd/cddlib/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, gmp -, autoreconfHook -, texliveSmall +{ + lib, + stdenv, + fetchFromGitHub, + gmp, + autoreconfHook, + texliveSmall, }: stdenv.mkDerivation rec { @@ -14,7 +16,7 @@ stdenv.mkDerivation rec { rev = version; sha256 = "09s8323h5w9j6mpl1yc6lm770dkskfxd2ayyafkcjllmnncxzfa0"; }; - buildInputs = [gmp]; + buildInputs = [ gmp ]; nativeBuildInputs = [ autoreconfHook texliveSmall # for building the documentation diff --git a/pkgs/by-name/cd/cde/package.nix b/pkgs/by-name/cd/cde/package.nix index 8eefb923bcd3e..d61c888d482bc 100644 --- a/pkgs/by-name/cd/cde/package.nix +++ b/pkgs/by-name/cd/cde/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libxcrypt }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "cde"; diff --git a/pkgs/by-name/cd/cdecl/package.nix b/pkgs/by-name/cd/cdecl/package.nix index 07a2656299424..8819963e50b79 100644 --- a/pkgs/by-name/cd/cdecl/package.nix +++ b/pkgs/by-name/cd/cdecl/package.nix @@ -23,7 +23,12 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; preConfigure = "./bootstrap"; - nativeBuildInputs = [ autoconf automake bison flex ]; + nativeBuildInputs = [ + autoconf + automake + bison + flex + ]; buildInputs = [ readline ]; env = { @@ -55,7 +60,10 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/bin; ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = { description = "Composing and deciphering C (or C++) declarations or casts, aka ''gibberish.''"; diff --git a/pkgs/by-name/cd/cdecrypt/package.nix b/pkgs/by-name/cd/cdecrypt/package.nix index 4965eb31e98cc..2c2e8dcf49709 100644 --- a/pkgs/by-name/cd/cdecrypt/package.nix +++ b/pkgs/by-name/cd/cdecrypt/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cd/cdesktopenv/package.nix b/pkgs/by-name/cd/cdesktopenv/package.nix index fd8de27b2fde5..55f2ad40ac74a 100644 --- a/pkgs/by-name/cd/cdesktopenv/package.nix +++ b/pkgs/by-name/cd/cdesktopenv/package.nix @@ -1,11 +1,39 @@ -{ lib, stdenv, fetchurl -, libX11, bison, ksh, perl -, libXinerama, libXt, libXext, libtirpc, motif, libXft, xbitmaps -, libjpeg, libXmu, libXdmcp, libXScrnSaver, bdftopcf -, ncompress, mkfontdir, tcl, libXaw, libxcrypt, glibcLocales -, autoPatchelfHook, makeWrapper, xset, xrdb -, autoreconfHook, opensp, flex, libXpm -, rpcsvc-proto }: +{ + lib, + stdenv, + fetchurl, + libX11, + bison, + ksh, + perl, + libXinerama, + libXt, + libXext, + libtirpc, + motif, + libXft, + xbitmaps, + libjpeg, + libXmu, + libXdmcp, + libXScrnSaver, + bdftopcf, + ncompress, + mkfontdir, + tcl, + libXaw, + libxcrypt, + glibcLocales, + autoPatchelfHook, + makeWrapper, + xset, + xrdb, + autoreconfHook, + opensp, + flex, + libXpm, + rpcsvc-proto, +}: stdenv.mkDerivation rec { pname = "cde"; @@ -40,13 +68,37 @@ stdenv.mkDerivation rec { ''; buildInputs = [ - libX11 libXinerama libXt libXext libtirpc motif libXft xbitmaps - libjpeg libXmu libXdmcp libXScrnSaver tcl libXaw ksh libxcrypt + libX11 + libXinerama + libXt + libXext + libtirpc + motif + libXft + xbitmaps + libjpeg + libXmu + libXdmcp + libXScrnSaver + tcl + libXaw + ksh + libxcrypt libXpm ]; nativeBuildInputs = [ - bison ncompress autoPatchelfHook makeWrapper - autoreconfHook bdftopcf mkfontdir xset xrdb opensp perl flex + bison + ncompress + autoPatchelfHook + makeWrapper + autoreconfHook + bdftopcf + mkfontdir + xset + xrdb + opensp + perl + flex rpcsvc-proto ]; diff --git a/pkgs/by-name/cd/cdi2iso/package.nix b/pkgs/by-name/cd/cdi2iso/package.nix index c6c4c3f3ab35c..3cf014ad311d3 100644 --- a/pkgs/by-name/cd/cdi2iso/package.nix +++ b/pkgs/by-name/cd/cdi2iso/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cdi2iso"; diff --git a/pkgs/by-name/cd/cdimgtools/package.nix b/pkgs/by-name/cd/cdimgtools/package.nix index 37951654c7b9b..c7eb90c088e65 100644 --- a/pkgs/by-name/cd/cdimgtools/package.nix +++ b/pkgs/by-name/cd/cdimgtools/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromRepoOrCz, autoreconfHook, makeWrapper, libdvdcss, libdvdread, perl, perlPackages, asciidoc, xmlto, sourceHighlight, docbook_xsl, docbook_xml_dtd_45 }: +{ + lib, + stdenv, + fetchFromRepoOrCz, + autoreconfHook, + makeWrapper, + libdvdcss, + libdvdread, + perl, + perlPackages, + asciidoc, + xmlto, + sourceHighlight, + docbook_xsl, + docbook_xml_dtd_45, +}: stdenv.mkDerivation { pname = "cdimgtools"; @@ -10,11 +25,29 @@ stdenv.mkDerivation { hash = "sha256-HFlXGmi6YcYP+ZAdu79lJHLBmtMEhW17gs4I2ekbr8M="; }; - nativeBuildInputs = [ autoreconfHook makeWrapper asciidoc perlPackages.PodPerldoc xmlto sourceHighlight docbook_xsl docbook_xml_dtd_45 ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + asciidoc + perlPackages.PodPerldoc + xmlto + sourceHighlight + docbook_xsl + docbook_xml_dtd_45 + ]; - buildInputs = [ perl perlPackages.StringEscape perlPackages.DataHexdumper libdvdcss libdvdread ]; + buildInputs = [ + perl + perlPackages.StringEscape + perlPackages.DataHexdumper + libdvdcss + libdvdread + ]; - patches = [ ./nrgtool_fix_my.patch ./removed_dvdcss_interface_2.patch]; + patches = [ + ./nrgtool_fix_my.patch + ./removed_dvdcss_interface_2.patch + ]; postFixup = '' for cmd in raw96cdconv nrgtool; do @@ -22,9 +55,15 @@ stdenv.mkDerivation { done ''; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; - installTargets = [ "install" "install-doc" ]; + installTargets = [ + "install" + "install-doc" + ]; meta = with lib; { homepage = "https://repo.or.cz/cdimgtools.git/blob_plain/refs/heads/release:/README.html"; diff --git a/pkgs/by-name/cd/cdk-go/package.nix b/pkgs/by-name/cd/cdk-go/package.nix index b7561f27ecbe8..02bd3a0445382 100644 --- a/pkgs/by-name/cd/cdk-go/package.nix +++ b/pkgs/by-name/cd/cdk-go/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/cd/cdk/package.nix b/pkgs/by-name/cd/cdk/package.nix index 2d4968e5ce587..c3fff25e35a8a 100644 --- a/pkgs/by-name/cd/cdk/package.nix +++ b/pkgs/by-name/cd/cdk/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses +{ + lib, + stdenv, + fetchurl, + ncurses, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +26,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://invisible-island.net/cdk/"; changelog = "https://invisible-island.net/cdk/CHANGES.html"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ raskin AndersonTorres ]; + maintainers = with lib.maintainers; [ + raskin + AndersonTorres + ]; inherit (ncurses.meta) platforms; }; }) diff --git a/pkgs/by-name/cd/cdncheck/package.nix b/pkgs/by-name/cd/cdncheck/package.nix index 52f28bf9a851c..b18d0625a2915 100644 --- a/pkgs/by-name/cd/cdncheck/package.nix +++ b/pkgs/by-name/cd/cdncheck/package.nix @@ -19,7 +19,6 @@ buildGoModule rec { subPackages = [ "cmd/cdncheck/" ]; - ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/cd/cdo/package.nix b/pkgs/by-name/cd/cdo/package.nix index 3c63b23d1ce28..886aa98be83d9 100644 --- a/pkgs/by-name/cd/cdo/package.nix +++ b/pkgs/by-name/cd/cdo/package.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, fetchurl, curl, hdf5, netcdf, eccodes, python3 -, # build, install and link to a CDI library [default=no] - enable_cdi_lib ? false -, # build a completely statically linked CDO binary - enable_all_static ? stdenv.hostPlatform.isStatic -, # Use CXX as default compiler [default=no] - enable_cxx ? false +{ + lib, + stdenv, + fetchurl, + curl, + hdf5, + netcdf, + eccodes, + python3, + # build, install and link to a CDI library [default=no] + enable_cdi_lib ? false, + # build a completely statically linked CDO binary + enable_all_static ? stdenv.hostPlatform.isStatic, + # Use CXX as default compiler [default=no] + enable_cxx ? false, }: stdenv.mkDerivation rec { @@ -12,21 +20,27 @@ stdenv.mkDerivation rec { version = "2.4.2"; # Dependencies - buildInputs = [ curl netcdf hdf5 python3 ]; + buildInputs = [ + curl + netcdf + hdf5 + python3 + ]; src = fetchurl { url = "https://code.mpimet.mpg.de/attachments/download/29481/${pname}-${version}.tar.gz"; sha256 = "sha256-TfH+K4+S9Uwn6585nt+rQNkyIAWmcyyhUk71wWJ6xOc="; }; - configureFlags = [ - "--with-netcdf=${netcdf}" - "--with-hdf5=${hdf5}" - "--with-eccodes=${eccodes}" - ] - ++ lib.optional enable_cdi_lib "--enable-cdi-lib" - ++ lib.optional enable_all_static "--enable-all-static" - ++ lib.optional enable_cxx "--enable-cxx"; + configureFlags = + [ + "--with-netcdf=${netcdf}" + "--with-hdf5=${hdf5}" + "--with-eccodes=${eccodes}" + ] + ++ lib.optional enable_cdi_lib "--enable-cdi-lib" + ++ lib.optional enable_all_static "--enable-all-static" + ++ lib.optional enable_cxx "--enable-cxx"; # address error: 'TARGET_OS_MACCATALYST' is not defined, # evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] diff --git a/pkgs/by-name/cd/cdpr/package.nix b/pkgs/by-name/cd/cdpr/package.nix index 5e86d58cfb311..8ccf2b1788a47 100644 --- a/pkgs/by-name/cd/cdpr/package.nix +++ b/pkgs/by-name/cd/cdpr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libpcap }: +{ + lib, + stdenv, + fetchurl, + libpcap, +}: stdenv.mkDerivation rec { pname = "cdpr"; diff --git a/pkgs/by-name/cd/cdrkit/package.nix b/pkgs/by-name/cd/cdrkit/package.nix index 7aa400e51f07d..319ba72cb54a9 100644 --- a/pkgs/by-name/cd/cdrkit/package.nix +++ b/pkgs/by-name/cd/cdrkit/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl}: +{ + lib, + stdenv, + fetchurl, + cmake, + libcap, + zlib, + bzip2, + perl, +}: stdenv.mkDerivation rec { pname = "cdrkit"; @@ -10,19 +19,29 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib bzip2 perl ] ++ - lib.optionals stdenv.hostPlatform.isLinux [ libcap ]; + buildInputs = [ + zlib + bzip2 + perl + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libcap ]; hardeningDisable = [ "format" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isMusl [ - "-D__THROW=" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=int-conversion" - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isMusl [ + "-D__THROW=" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=int-conversion" + "-Wno-error=implicit-function-declaration" + ] + ); # efi-boot-patch extracted from http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=174244 - patches = [ ./include-path.patch ./cdrkit-1.1.9-efi-boot.patch ./cdrkit-1.1.11-fno-common.patch ]; + patches = [ + ./include-path.patch + ./cdrkit-1.1.9-efi-boot.patch + ./cdrkit-1.1.11-fno-common.patch + ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace libusal/scsi-mac-iokit.c \ diff --git a/pkgs/by-name/cd/cdwe/package.nix b/pkgs/by-name/cd/cdwe/package.nix index b891daee2980c..72d3479d45123 100644 --- a/pkgs/by-name/cd/cdwe/package.nix +++ b/pkgs/by-name/cd/cdwe/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ce/cegui/package.nix b/pkgs/by-name/ce/cegui/package.nix index e92ddafc4322f..cf7c9707744f0 100644 --- a/pkgs/by-name/ce/cegui/package.nix +++ b/pkgs/by-name/ce/cegui/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ogre -, freetype -, boost -, expat -, darwin -, libiconv -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ogre, + freetype, + boost, + expat, + darwin, + libiconv, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -28,22 +29,26 @@ stdenv.mkDerivation { cmake ]; - buildInputs = [ - ogre - freetype - boost - expat - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - darwin.apple_sdk.frameworks.Foundation - libiconv - ]; + buildInputs = + [ + ogre + freetype + boost + expat + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + darwin.apple_sdk.frameworks.Foundation + libiconv + ]; - cmakeFlags = [ - "-DCEGUI_OPTION_DEFAULT_IMAGECODEC=OgreRenderer-0" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" - ]; + cmakeFlags = + [ + "-DCEGUI_OPTION_DEFAULT_IMAGECODEC=OgreRenderer-0" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" + ]; passthru.updateScript = unstableGitUpdater { branch = "v0"; diff --git a/pkgs/by-name/ce/cel-go/package.nix b/pkgs/by-name/ce/cel-go/package.nix index 3da3e1be2d621..e4c1fdaba998e 100644 --- a/pkgs/by-name/ce/cel-go/package.nix +++ b/pkgs/by-name/ce/cel-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -22,7 +23,10 @@ buildGoModule rec { "main" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mv $out/bin/{main,cel-go} diff --git a/pkgs/by-name/ce/celeste-classic/package.nix b/pkgs/by-name/ce/celeste-classic/package.nix index f862c1b7a5a2f..963d28651d625 100644 --- a/pkgs/by-name/ce/celeste-classic/package.nix +++ b/pkgs/by-name/ce/celeste-classic/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchzip -, autoPatchelfHook -, SDL2 -, practiceMod ? false +{ + lib, + stdenvNoCC, + fetchzip, + autoPatchelfHook, + SDL2, + practiceMod ? false, }: let diff --git a/pkgs/by-name/ce/celeste/package.nix b/pkgs/by-name/ce/celeste/package.nix index b1a946f244f93..efb0b5458c9f6 100644 --- a/pkgs/by-name/ce/celeste/package.nix +++ b/pkgs/by-name/ce/celeste/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, darwin -, just -, pkg-config -, wrapGAppsHook4 -, cairo -, dbus -, gdk-pixbuf -, glib -, graphene -, gtk4 -, libadwaita -, librclone -, pango -, rclone +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + darwin, + just, + pkg-config, + wrapGAppsHook4, + cairo, + dbus, + gdk-pixbuf, + glib, + graphene, + gtk4, + libadwaita, + librclone, + pango, + rclone, }: rustPlatform.buildRustPackage rec { @@ -56,24 +57,28 @@ rustPlatform.buildRustPackage rec { wrapGAppsHook4 ]; - buildInputs = [ - cairo - dbus - gdk-pixbuf - glib - graphene - gtk4 - libadwaita - librclone - pango - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + cairo + dbus + gdk-pixbuf + glib + graphene + gtk4 + libadwaita + librclone + pango + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + darwin.apple_sdk.frameworks.Security + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-error=incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); preFixup = '' gappsWrapperArgs+=( diff --git a/pkgs/by-name/ce/celf/package.nix b/pkgs/by-name/ce/celf/package.nix index e1f0c237f6732..7c485c9aab615 100644 --- a/pkgs/by-name/ce/celf/package.nix +++ b/pkgs/by-name/ce/celf/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, smlnj }: +{ + lib, + stdenv, + fetchFromGitHub, + smlnj, +}: stdenv.mkDerivation rec { pname = "celf"; @@ -6,9 +11,9 @@ stdenv.mkDerivation rec { name = "${pname}-${pversion}"; src = fetchFromGitHub { - owner = "clf"; - repo = pname; - rev = "d61d95900ab316468ae850fa34a2fe9488bc5b59"; + owner = "clf"; + repo = pname; + rev = "d61d95900ab316468ae850fa34a2fe9488bc5b59"; sha256 = "0slrwcxglp0sdbp6wr65cdkl5wcap2i0fqxbwqfi1q3cpb6ph6hq"; }; diff --git a/pkgs/by-name/ce/celluloid/package.nix b/pkgs/by-name/ce/celluloid/package.nix index 4b8743c90952d..35f1841c4ab45 100644 --- a/pkgs/by-name/ce/celluloid/package.nix +++ b/pkgs/by-name/ce/celluloid/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, glib -, gtk4 -, libGL -, libepoxy -, libadwaita -, meson -, mpv -, ninja -, nix-update-script -, pkg-config -, python3 -, wrapGAppsHook4 -, yt-dlp -, youtubeSupport ? true +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + glib, + gtk4, + libGL, + libepoxy, + libadwaita, + meson, + mpv, + ninja, + nix-update-script, + pkg-config, + python3, + wrapGAppsHook4, + yt-dlp, + youtubeSupport ? true, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ce/cen64/package.nix b/pkgs/by-name/ce/cen64/package.nix index d9c0048b7b34b..1a2450ee63040 100644 --- a/pkgs/by-name/ce/cen64/package.nix +++ b/pkgs/by-name/ce/cen64/package.nix @@ -1,4 +1,13 @@ -{ lib, cmake, fetchFromGitHub, libGL, libiconv, libX11, openal, stdenv }: +{ + lib, + cmake, + fetchFromGitHub, + libGL, + libiconv, + libX11, + openal, + stdenv, +}: stdenv.mkDerivation rec { pname = "cen64"; @@ -12,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libGL libiconv openal libX11 ]; + buildInputs = [ + libGL + libiconv + openal + libX11 + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ce/centerim/package.nix b/pkgs/by-name/ce/centerim/package.nix index 2e4dc6dbb55ea..44abb6a12e6ab 100644 --- a/pkgs/by-name/ce/centerim/package.nix +++ b/pkgs/by-name/ce/centerim/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, gnused, openssl, curl, ncurses, libjpeg -, withGpg ? true, gpgme ? null}: +{ + lib, + stdenv, + fetchurl, + gnused, + openssl, + curl, + ncurses, + libjpeg, + withGpg ? true, + gpgme ? null, +}: stdenv.mkDerivation rec { version = "5.0.1"; @@ -12,8 +22,12 @@ stdenv.mkDerivation rec { CXXFLAGS = "-std=gnu++98"; - buildInputs = [ openssl curl ncurses libjpeg ] - ++ lib.optional withGpg gpgme; + buildInputs = [ + openssl + curl + ncurses + libjpeg + ] ++ lib.optional withGpg gpgme; preConfigure = '' ${gnused}/bin/sed -i '1,1i#include ' libicq2000/libicq2000/sigslot.h diff --git a/pkgs/by-name/ce/centerpiece/package.nix b/pkgs/by-name/ce/centerpiece/package.nix index 7d7c7512d8760..867b4d6ddcb75 100644 --- a/pkgs/by-name/ce/centerpiece/package.nix +++ b/pkgs/by-name/ce/centerpiece/package.nix @@ -1,14 +1,16 @@ -{ lib -, stdenv -, pkg-config -, dbus -, vulkan-loader -, libGL -, fetchFromGitHub -, rustPlatform -, libxkbcommon -, wayland -, enableX11 ? true, xorg +{ + lib, + stdenv, + pkg-config, + dbus, + vulkan-loader, + libGL, + fetchFromGitHub, + rustPlatform, + libxkbcommon, + wayland, + enableX11 ? true, + xorg, }: rustPlatform.buildRustPackage rec { @@ -25,18 +27,23 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-d5qGuQ8EnIkE/PhI9t4JxtnNbvh3rse9NpowZ+ESZuU="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - dbus - libGL - libxkbcommon - vulkan-loader - wayland - ] ++ lib.optionals enableX11 (with xorg; [ - libX11 - libXcursor - libXi - libXrandr - ]); + buildInputs = + [ + dbus + libGL + libxkbcommon + vulkan-loader + wayland + ] + ++ lib.optionals enableX11 ( + with xorg; + [ + libX11 + libXcursor + libXi + libXrandr + ] + ); postFixup = lib.optional stdenv.hostPlatform.isLinux '' rpath=$(patchelf --print-rpath $out/bin/centerpiece) @@ -54,7 +61,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/friedow/centerpiece"; description = "Your trusty omnibox search"; license = licenses.mit; - maintainers = with maintainers; [ a-kenji friedow ]; + maintainers = with maintainers; [ + a-kenji + friedow + ]; platforms = platforms.linux; mainProgram = "centerpiece"; }; diff --git a/pkgs/by-name/ce/cereal_1_3_0/package.nix b/pkgs/by-name/ce/cereal_1_3_0/package.nix index 9cd1e04d8f4db..d1fb82a6267db 100644 --- a/pkgs/by-name/ce/cereal_1_3_0/package.nix +++ b/pkgs/by-name/ce/cereal_1_3_0/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ce/cereal_1_3_2/package.nix b/pkgs/by-name/ce/cereal_1_3_2/package.nix index adf796cfe5b4f..eaf481144c2c0 100644 --- a/pkgs/by-name/ce/cereal_1_3_2/package.nix +++ b/pkgs/by-name/ce/cereal_1_3_2/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ce/cernlib/package.nix b/pkgs/by-name/ce/cernlib/package.nix index 0673aeefffb1d..264ae7b59e21a 100644 --- a/pkgs/by-name/ce/cernlib/package.nix +++ b/pkgs/by-name/ce/cernlib/package.nix @@ -45,17 +45,20 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = with xorg; [ - freetype - gfortran - openssl - libX11 - libXaw - libXft - libXt - libxcrypt - motif - ] ++ lib.optional stdenv.hostPlatform.isLinux libnsl; + buildInputs = + with xorg; + [ + freetype + gfortran + openssl + libX11 + libXaw + libXft + libXt + libxcrypt + motif + ] + ++ lib.optional stdenv.hostPlatform.isLinux libnsl; setupHook = ./setup-hook.sh; diff --git a/pkgs/by-name/ce/cert-viewer/package.nix b/pkgs/by-name/ce/cert-viewer/package.nix index 6cd594e13d6c9..85f16a1a419c0 100644 --- a/pkgs/by-name/ce/cert-viewer/package.nix +++ b/pkgs/by-name/ce/cert-viewer/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, buildPackages -, fetchFromGitHub -, lib -, installShellFiles -, stdenv +{ + buildGoModule, + buildPackages, + fetchFromGitHub, + lib, + installShellFiles, + stdenv, }: buildGoModule rec { @@ -26,14 +27,15 @@ buildGoModule rec { postInstall = let prog = - if stdenv.buildPlatform.canExecute stdenv.hostPlatform - then "$out/bin/cert-viewer" - else lib.getExe buildPackages.cert-viewer; + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + "$out/bin/cert-viewer" + else + lib.getExe buildPackages.cert-viewer; in - '' - ${prog} --help-man > cert-viewer.1 - installManPage cert-viewer.1 - ''; + '' + ${prog} --help-man > cert-viewer.1 + installManPage cert-viewer.1 + ''; meta = { description = "Admin tool to view and inspect multiple x509 Certificates"; diff --git a/pkgs/by-name/ce/certgraph/package.nix b/pkgs/by-name/ce/certgraph/package.nix index 3af3078d6b8b1..7f5eac96c4e52 100644 --- a/pkgs/by-name/ce/certgraph/package.nix +++ b/pkgs/by-name/ce/certgraph/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ce/certi/package.nix b/pkgs/by-name/ce/certi/package.nix index 90e929114b4d1..d2a57932b9924 100644 --- a/pkgs/by-name/ce/certi/package.nix +++ b/pkgs/by-name/ce/certi/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ce/certificate-ripper/package.nix b/pkgs/by-name/ce/certificate-ripper/package.nix index 72cdd6787a937..ea76132ab5b72 100644 --- a/pkgs/by-name/ce/certificate-ripper/package.nix +++ b/pkgs/by-name/ce/certificate-ripper/package.nix @@ -1,7 +1,8 @@ -{ lib -, maven -, fetchFromGitHub -, buildGraalvmNativeImage +{ + lib, + maven, + fetchFromGitHub, + buildGraalvmNativeImage, }: let diff --git a/pkgs/by-name/ce/certigo/package.nix b/pkgs/by-name/ce/certigo/package.nix index aec517a20fe4b..bf5286c1a6936 100644 --- a/pkgs/by-name/ce/certigo/package.nix +++ b/pkgs/by-name/ce/certigo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "certigo"; diff --git a/pkgs/by-name/ce/certinfo/package.nix b/pkgs/by-name/ce/certinfo/package.nix index f8ec56585c4f1..073c6ce3ed9c5 100644 --- a/pkgs/by-name/ce/certinfo/package.nix +++ b/pkgs/by-name/ce/certinfo/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, buildGo123Module, fetchFromGitHub, libX11, darwin }: +{ + stdenv, + lib, + buildGo123Module, + fetchFromGitHub, + libX11, + darwin, +}: buildGo123Module rec { pname = "certinfo"; @@ -14,7 +21,8 @@ buildGo123Module rec { # clipboard functionality not working on Darwin doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64); - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]; diff --git a/pkgs/by-name/ce/certspotter/package.nix b/pkgs/by-name/ce/certspotter/package.nix index 72cb1e54c0b8f..51993f07cd4e4 100644 --- a/pkgs/by-name/ce/certspotter/package.nix +++ b/pkgs/by-name/ce/certspotter/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, lowdown-unsandboxed +{ + lib, + fetchFromGitHub, + buildGoModule, + lowdown-unsandboxed, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-6dV9FoPV8UfS0z5RuuopE99fHcT3RAWCdDi7jpHzVRE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ lowdown-unsandboxed ]; diff --git a/pkgs/by-name/ce/certstrap/package.nix b/pkgs/by-name/ce/certstrap/package.nix index 2537d1ecbbfec..3cc981bf68a6f 100644 --- a/pkgs/by-name/ce/certstrap/package.nix +++ b/pkgs/by-name/ce/certstrap/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ce/certsync/package.nix b/pkgs/by-name/ce/certsync/package.nix index e12868ac7f9c8..0aa95f40d137c 100644 --- a/pkgs/by-name/ce/certsync/package.nix +++ b/pkgs/by-name/ce/certsync/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ce/cewler/package.nix b/pkgs/by-name/ce/cewler/package.nix index 92399307e6a77..a146ef653f648 100644 --- a/pkgs/by-name/ce/cewler/package.nix +++ b/pkgs/by-name/ce/cewler/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, gitUpdater +{ + lib, + python3, + fetchFromGitHub, + gitUpdater, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cf/cf-terraforming/package.nix b/pkgs/by-name/cf/cf-terraforming/package.nix index 5eb7ed9e914c1..2ad714e935ff1 100644 --- a/pkgs/by-name/cf/cf-terraforming/package.nix +++ b/pkgs/by-name/cf/cf-terraforming/package.nix @@ -1,4 +1,12 @@ -{ buildGoModule, fetchFromGitHub, lib, cf-terraforming, testers, installShellFiles, stdenv }: +{ + buildGoModule, + fetchFromGitHub, + lib, + cf-terraforming, + testers, + installShellFiles, + stdenv, +}: buildGoModule rec { pname = "cf-terraforming"; @@ -12,7 +20,9 @@ buildGoModule rec { }; vendorHash = "sha256-NNeJ6QfTV8X3WIFge+Ln38ym9uagLl3IpNWuPqMjeBA="; - ldflags = [ "-X github.com/cloudflare/cf-terraforming/internal/app/cf-terraforming/cmd.versionString=${version}" ]; + ldflags = [ + "-X github.com/cloudflare/cf-terraforming/internal/app/cf-terraforming/cmd.versionString=${version}" + ]; # The test suite insists on downloading a binary release of Terraform from # Hashicorp at runtime, which isn't going to work in a nix build @@ -25,7 +35,7 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform)'' + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd cf-terraforming \ --bash <($out/bin/cf-terraforming completion bash) \ --fish <($out/bin/cf-terraforming completion fish) \ diff --git a/pkgs/by-name/cf/cf-vault/package.nix b/pkgs/by-name/cf/cf-vault/package.nix index 0a5e805a51db1..47f49ab1b817a 100644 --- a/pkgs/by-name/cf/cf-vault/package.nix +++ b/pkgs/by-name/cf/cf-vault/package.nix @@ -1,4 +1,10 @@ -{buildGoModule, fetchFromGitHub, lib, testers, cf-vault}: +{ + buildGoModule, + fetchFromGitHub, + lib, + testers, + cf-vault, +}: buildGoModule rec { pname = "cf-vault"; version = "0.0.18"; diff --git a/pkgs/by-name/cf/cfdg/package.nix b/pkgs/by-name/cf/cfdg/package.nix index 496255c57953b..77077e01acb9c 100644 --- a/pkgs/by-name/cf/cfdg/package.nix +++ b/pkgs/by-name/cf/cfdg/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libpng, bison, flex, ffmpeg, icu }: +{ + lib, + stdenv, + fetchFromGitHub, + libpng, + bison, + flex, + ffmpeg, + icu, +}: stdenv.mkDerivation rec { pname = "cfdg"; @@ -10,8 +19,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-f2VMb0TM50afKf/lGdZBP2z13UrCVgG4/IYi5gnD+ow="; }; - nativeBuildInputs = [ bison flex ]; - buildInputs = [ libpng ffmpeg icu ]; + nativeBuildInputs = [ + bison + flex + ]; + buildInputs = [ + libpng + ffmpeg + icu + ]; postPatch = '' sed -e "/YY_NO_UNISTD/a#include " -i src-common/cfdg.l diff --git a/pkgs/by-name/cf/cfdyndns/package.nix b/pkgs/by-name/cf/cfdyndns/package.nix index 9659e9777a2e9..8ee036e18f1af 100644 --- a/pkgs/by-name/cf/cfdyndns/package.nix +++ b/pkgs/by-name/cf/cfdyndns/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl }: +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "cfdyndns"; @@ -22,7 +28,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "cfdyndns"; homepage = "https://github.com/nrdxp/cfdyndns"; license = lib.licenses.mit; - maintainers = with maintainers; [ colemickens nrdxp ]; + maintainers = with maintainers; [ + colemickens + nrdxp + ]; platforms = with platforms; linux; }; } diff --git a/pkgs/by-name/cf/cfitsio/package.nix b/pkgs/by-name/cf/cfitsio/package.nix index a12e00f9676d5..3cc37833a80bd 100644 --- a/pkgs/by-name/cf/cfitsio/package.nix +++ b/pkgs/by-name/cf/cfitsio/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchurl -, bzip2 -, curl -, zlib +{ + stdenv, + lib, + fetchurl, + bzip2, + curl, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -53,7 +54,10 @@ stdenv.mkDerivation (finalAttrs: { ''; changelog = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/docs/changes.txt"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ xbreak hjones2199 ]; + maintainers = with lib.maintainers; [ + xbreak + hjones2199 + ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; }) diff --git a/pkgs/by-name/cf/cflow/package.nix b/pkgs/by-name/cf/cflow/package.nix index a1a116b46d07a..b8d5ad5275321 100644 --- a/pkgs/by-name/cf/cflow/package.nix +++ b/pkgs/by-name/cf/cflow/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gettext, emacs }: +{ + lib, + stdenv, + fetchurl, + gettext, + emacs, +}: stdenv.mkDerivation rec { pname = "cflow"; @@ -15,12 +21,11 @@ stdenv.mkDerivation rec { "$(cat ${stdenv.cc}/nix-support/orig-cc)/bin/cpp" ''; - buildInputs = [ gettext ] ++ + buildInputs = + [ gettext ] + ++ # We don't have Emacs/GTK/etc. on {Dar,Cyg}win. - lib.optional - (! (lib.lists.any (x: stdenv.hostPlatform.system == x) - [ "i686-cygwin" ])) - emacs; + lib.optional (!(lib.lists.any (x: stdenv.hostPlatform.system == x) [ "i686-cygwin" ])) emacs; doCheck = true; diff --git a/pkgs/by-name/cf/cfm/package.nix b/pkgs/by-name/cf/cfm/package.nix index 640067d527f2d..06c51f957769c 100644 --- a/pkgs/by-name/cf/cfm/package.nix +++ b/pkgs/by-name/cf/cfm/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cf/cfonts/package.nix b/pkgs/by-name/cf/cfonts/package.nix index 12d9687c59be7..2ec26c040b69b 100644 --- a/pkgs/by-name/cf/cfonts/package.nix +++ b/pkgs/by-name/cf/cfonts/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "cfonts"; version = "1.1.3"; @@ -12,8 +16,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { homepage = "https://github.com/dominikwilkowski/cfonts"; - description = - "A silly little command line tool for sexy ANSI fonts in the console"; + description = "A silly little command line tool for sexy ANSI fonts in the console"; license = licenses.gpl3Plus; maintainers = with maintainers; [ leifhelm ]; mainProgram = "cfonts"; diff --git a/pkgs/by-name/cf/cfr/package.nix b/pkgs/by-name/cf/cfr/package.nix index 9604b8df2ff18..f6eec5e8cdb06 100644 --- a/pkgs/by-name/cf/cfr/package.nix +++ b/pkgs/by-name/cf/cfr/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, makeWrapper, fetchurl, jre }: +{ + lib, + stdenv, + makeWrapper, + fetchurl, + jre, +}: stdenv.mkDerivation rec { pname = "cfr"; diff --git a/pkgs/by-name/cf/cfripper/package.nix b/pkgs/by-name/cf/cfripper/package.nix index f3e901999cea4..f2d0f138aa8d9 100644 --- a/pkgs/by-name/cf/cfripper/package.nix +++ b/pkgs/by-name/cf/cfripper/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cf/cfs-zen-tweaks/package.nix b/pkgs/by-name/cf/cfs-zen-tweaks/package.nix index d7a06ed6e737f..509978486d46f 100644 --- a/pkgs/by-name/cf/cfs-zen-tweaks/package.nix +++ b/pkgs/by-name/cf/cfs-zen-tweaks/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, makeWrapper -, gawk +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + gawk, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cf/cfspeedtest/package.nix b/pkgs/by-name/cf/cfspeedtest/package.nix index 2b64a5946a423..b9010abb2567f 100644 --- a/pkgs/by-name/cf/cfspeedtest/package.nix +++ b/pkgs/by-name/cf/cfspeedtest/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cf/cfssl/package.nix b/pkgs/by-name/cf/cfssl/package.nix index df13c004b1a74..8d18fe922bd3f 100644 --- a/pkgs/by-name/cf/cfssl/package.nix +++ b/pkgs/by-name/cf/cfssl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "cfssl"; @@ -27,7 +32,8 @@ buildGoModule rec { doCheck = false; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/cloudflare/cfssl/cli/version.version=v${version}" ]; diff --git a/pkgs/by-name/cg/cg3/package.nix b/pkgs/by-name/cg/cg3/package.nix index 8aa0d412c1cf3..3cfe7de5f09f2 100644 --- a/pkgs/by-name/cg/cg3/package.nix +++ b/pkgs/by-name/cg/cg3/package.nix @@ -1,66 +1,70 @@ -{ lib -, stdenv -, fetchFromGitHub -, runCommand -, dieHook -, cmake -, icu -, boost +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, + dieHook, + cmake, + icu, + boost, }: -let cg3 = stdenv.mkDerivation rec { - pname = "cg3"; - version = "1.3.9"; +let + cg3 = stdenv.mkDerivation rec { + pname = "cg3"; + version = "1.3.9"; - src = fetchFromGitHub { - owner = "GrammarSoft"; - repo = "${pname}"; - rev = "v${version}"; - sha256 = "sha256-TiEhhk90w5GibGZ4yalIf+4qLA8NoU6+GIPN6QNTz2A="; - }; - - nativeBuildInputs = [ - cmake - ]; + src = fetchFromGitHub { + owner = "GrammarSoft"; + repo = "${pname}"; + rev = "v${version}"; + sha256 = "sha256-TiEhhk90w5GibGZ4yalIf+4qLA8NoU6+GIPN6QNTz2A="; + }; - buildInputs = [ - icu - boost - ]; + nativeBuildInputs = [ + cmake + ]; - doCheck = true; + buildInputs = [ + icu + boost + ]; - postFixup = '' - substituteInPlace "$out"/lib/pkgconfig/cg3.pc \ - --replace '=''${prefix}//' '=/' - ''; + doCheck = true; - passthru.tests.minimal = runCommand "${pname}-test" { - buildInputs = [ - cg3 - dieHook - ]; - } '' - echo 'DELIMITERS = "."; ADD (tag) (*);' >grammar.cg3 - printf '""\n\t"a" tag\n\n' >want.txt - printf '""\n\t"a"\n\n' | vislcg3 -g grammar.cg3 >got.txt - diff -s want.txt got.txt || die "Grammar application did not produce expected parse" - touch $out + postFixup = '' + substituteInPlace "$out"/lib/pkgconfig/cg3.pc \ + --replace '=''${prefix}//' '=/' ''; + passthru.tests.minimal = + runCommand "${pname}-test" + { + buildInputs = [ + cg3 + dieHook + ]; + } + '' + echo 'DELIMITERS = "."; ADD (tag) (*);' >grammar.cg3 + printf '""\n\t"a" tag\n\n' >want.txt + printf '""\n\t"a"\n\n' | vislcg3 -g grammar.cg3 >got.txt + diff -s want.txt got.txt || die "Grammar application did not produce expected parse" + touch $out + ''; - # TODO, consider optionals: - # - Enable tcmalloc unless darwin? - # - Enable python bindings? + # TODO, consider optionals: + # - Enable tcmalloc unless darwin? + # - Enable python bindings? - meta = with lib; { - homepage = "https://github.com/GrammarSoft/cg3"; - description = "Constraint Grammar interpreter, compiler and applicator vislcg3"; - maintainers = with maintainers; [ unhammer ]; - license = licenses.gpl3Plus; - platforms = platforms.all; + meta = with lib; { + homepage = "https://github.com/GrammarSoft/cg3"; + description = "Constraint Grammar interpreter, compiler and applicator vislcg3"; + maintainers = with maintainers; [ unhammer ]; + license = licenses.gpl3Plus; + platforms = platforms.all; + }; }; -}; in - cg3 +cg3 diff --git a/pkgs/by-name/cg/cgdb/package.nix b/pkgs/by-name/cg/cgdb/package.nix index bb5a792fa4dc3..91524004fce9c 100644 --- a/pkgs/by-name/cg/cgdb/package.nix +++ b/pkgs/by-name/cg/cgdb/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, ncurses, readline, flex, texinfo }: +{ + lib, + stdenv, + fetchurl, + ncurses, + readline, + flex, + texinfo, +}: stdenv.mkDerivation rec { pname = "cgdb"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-DTi1JNN3JXsQa61thW2K4zBBQOHuJAhTQ+bd8bZYEfE="; }; - buildInputs = [ ncurses readline flex texinfo ]; + buildInputs = [ + ncurses + readline + flex + texinfo + ]; meta = with lib; { description = "Curses interface to gdb"; diff --git a/pkgs/by-name/cg/cgif/package.nix b/pkgs/by-name/cg/cgif/package.nix index 7f35f42ccae26..dc6fb3dcf885c 100644 --- a/pkgs/by-name/cg/cgif/package.nix +++ b/pkgs/by-name/cg/cgif/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchFromGitHub -, lib -, meson -, ninja +{ + stdenv, + fetchFromGitHub, + lib, + meson, + ninja, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cg/cgiserver/package.nix b/pkgs/by-name/cg/cgiserver/package.nix index f68216eb93485..f26d44a1d0b48 100644 --- a/pkgs/by-name/cg/cgiserver/package.nix +++ b/pkgs/by-name/cg/cgiserver/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchzip, zstd }: +{ + lib, + buildGoModule, + fetchzip, + zstd, +}: buildGoModule rec { pname = "cgiserver"; diff --git a/pkgs/by-name/cg/cgl/package.nix b/pkgs/by-name/cg/cgl/package.nix index 3de53c1225616..3f4ebde2354ed 100644 --- a/pkgs/by-name/cg/cgl/package.nix +++ b/pkgs/by-name/cg/cgl/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, clp -, coin-utils -, osi +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + clp, + coin-utils, + osi, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cg/cglm/package.nix b/pkgs/by-name/cg/cglm/package.nix index 3ad9c33bb3cff..69d05316785a1 100644 --- a/pkgs/by-name/cg/cglm/package.nix +++ b/pkgs/by-name/cg/cglm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cg/cgminer/package.nix b/pkgs/by-name/cg/cgminer/package.nix index 1f8cf152e0803..2104e05a834b0 100644 --- a/pkgs/by-name/cg/cgminer/package.nix +++ b/pkgs/by-name/cg/cgminer/package.nix @@ -1,16 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, libtool -, autoconf -, automake -, curl -, ncurses -, ocl-icd -, opencl-headers -, libusb1 -, xorg -, jansson }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libtool, + autoconf, + automake, + curl, + ncurses, + ocl-icd, + opencl-headers, + libusb1, + xorg, + jansson, +}: stdenv.mkDerivation rec { pname = "cgminer"; @@ -23,21 +26,37 @@ stdenv.mkDerivation rec { sha256 = "0l1ms3nxnjzh4mpiadikvngcr9k3jnjqy3yna207za0va0c28dj5"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ libtool curl ncurses ocl-icd opencl-headers - xorg.libX11 xorg.libXext xorg.libXinerama jansson libusb1 ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + libtool + curl + ncurses + ocl-icd + opencl-headers + xorg.libX11 + xorg.libXext + xorg.libXinerama + jansson + libusb1 + ]; configureScript = "./autogen.sh"; - configureFlags = [ "--enable-scrypt" - "--enable-opencl" - "--enable-bitforce" - "--enable-icarus" - "--enable-modminer" - "--enable-ztex" - "--enable-avalon" - "--enable-klondike" - "--enable-keccak" - "--enable-bflsc"]; + configureFlags = [ + "--enable-scrypt" + "--enable-opencl" + "--enable-bitforce" + "--enable-icarus" + "--enable-modminer" + "--enable-ztex" + "--enable-avalon" + "--enable-klondike" + "--enable-keccak" + "--enable-bflsc" + ]; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: @@ -51,7 +70,10 @@ stdenv.mkDerivation rec { mainProgram = "cgminer"; homepage = "https://github.com/ckolivas/cgminer"; license = licenses.gpl3; - maintainers = with maintainers; [ offline mmahut ]; + maintainers = with maintainers; [ + offline + mmahut + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/cg/cgoban/package.nix b/pkgs/by-name/cg/cgoban/package.nix index 73dd262173eea..a143f4eb560ff 100644 --- a/pkgs/by-name/cg/cgoban/package.nix +++ b/pkgs/by-name/cg/cgoban/package.nix @@ -1,14 +1,18 @@ -{ lib -, stdenv -, temurin-jre-bin-17 -, fetchurl -, makeWrapper +{ + lib, + stdenv, + temurin-jre-bin-17, + fetchurl, + makeWrapper, }: stdenv.mkDerivation rec { pname = "cgoban"; version = "3.5.144"; - nativeBuildInputs = [ temurin-jre-bin-17 makeWrapper ]; + nativeBuildInputs = [ + temurin-jre-bin-17 + makeWrapper + ]; src = fetchurl { url = "https://web.archive.org/web/20240314222506/https://files.gokgs.com/javaBin/cgoban.jar"; diff --git a/pkgs/by-name/cg/cgreen/package.nix b/pkgs/by-name/cg/cgreen/package.nix index c6394a456efd9..6aabd82ef00ac 100644 --- a/pkgs/by-name/cg/cgreen/package.nix +++ b/pkgs/by-name/cg/cgreen/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cg/cgterm/package.nix b/pkgs/by-name/cg/cgterm/package.nix index 3e3b075d9cdc3..a9ee641df1d31 100644 --- a/pkgs/by-name/cg/cgterm/package.nix +++ b/pkgs/by-name/cg/cgterm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL +{ + lib, + stdenv, + fetchFromGitHub, + SDL, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { SDL ]; - makeFlags = [ "CC:=$(CC)" "PREFIX=$(out)" ]; + makeFlags = [ + "CC:=$(CC)" + "PREFIX=$(out)" + ]; meta = with lib; { description = "C/G telnet client for C64 BBS's"; diff --git a/pkgs/by-name/cg/cgui/package.nix b/pkgs/by-name/cg/cgui/package.nix index 6c536ec576714..3e416d14f73b4 100644 --- a/pkgs/by-name/cg/cgui/package.nix +++ b/pkgs/by-name/cg/cgui/package.nix @@ -1,15 +1,28 @@ -{ lib, stdenv, fetchurl, texinfo, allegro, perl, libX11 }: +{ + lib, + stdenv, + fetchurl, + texinfo, + allegro, + perl, + libX11, +}: stdenv.mkDerivation rec { pname = "cgui"; - version="2.1.0"; + version = "2.1.0"; src = fetchurl { url = "mirror://sourceforge/project/cgui/${version}/${pname}-${version}.tar.gz"; sha256 = "1pp1hvidpilq37skkmbgba4lvzi01rasy04y0cnas9ck0canv00s"; }; - buildInputs = [ texinfo allegro perl libX11 ]; + buildInputs = [ + texinfo + allegro + perl + libX11 + ]; configurePhase = '' sh fix.sh unix diff --git a/pkgs/by-name/ch/chain-bench/package.nix b/pkgs/by-name/ch/chain-bench/package.nix index 1fc50d665002a..4fde0f9ce10c4 100644 --- a/pkgs/by-name/ch/chain-bench/package.nix +++ b/pkgs/by-name/ch/chain-bench/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/changedetection-io/package.nix b/pkgs/by-name/ch/changedetection-io/package.nix index bce23a1042fcd..797c6096e2d04 100644 --- a/pkgs/by-name/ch/changedetection-io/package.nix +++ b/pkgs/by-name/ch/changedetection-io/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -17,47 +18,50 @@ python3.pkgs.buildPythonApplication rec { pythonRelaxDeps = true; - propagatedBuildInputs = with python3.pkgs; [ - apprise - beautifulsoup4 - brotli - babel - chardet - cryptography - dnspython - elementpath - eventlet - feedgen - flask - flask-compress - flask-cors - flask-expects-json - flask-login - flask-paginate - flask-restful - flask-wtf - greenlet - inscriptis - jinja2 - jinja2-time - jsonpath-ng - jq - loguru - lxml - paho-mqtt - playwright - pyee - pyppeteer - pytz - requests - selenium - setuptools - timeago - urllib3 - validators - werkzeug - wtforms - ] ++ requests.optional-dependencies.socks; + propagatedBuildInputs = + with python3.pkgs; + [ + apprise + beautifulsoup4 + brotli + babel + chardet + cryptography + dnspython + elementpath + eventlet + feedgen + flask + flask-compress + flask-cors + flask-expects-json + flask-login + flask-paginate + flask-restful + flask-wtf + greenlet + inscriptis + jinja2 + jinja2-time + jsonpath-ng + jq + loguru + lxml + paho-mqtt + playwright + pyee + pyppeteer + pytz + requests + selenium + setuptools + timeago + urllib3 + validators + werkzeug + wtforms + ] + ++ requests.optional-dependencies.socks; # tests can currently not be run in one pytest invocation and without docker doCheck = false; diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix index a5bff1bfe1dee..b9ad1fb887fff 100644 --- a/pkgs/by-name/ch/changelog-d/package.nix +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -8,13 +8,12 @@ let hsPkg = haskellPackages.changelog-d; - addCompletions = haskellPackages.generateOptparseApplicativeCompletions ["changelog-d"]; + addCompletions = haskellPackages.generateOptparseApplicativeCompletions [ "changelog-d" ]; - haskellModifications = - lib.flip lib.pipe [ - addCompletions - haskell.lib.justStaticExecutables - ]; + haskellModifications = lib.flip lib.pipe [ + addCompletions + haskell.lib.justStaticExecutables + ]; mkDerivationOverrides = finalAttrs: oldAttrs: { @@ -30,4 +29,4 @@ let }; in - (haskellModifications hsPkg).overrideAttrs mkDerivationOverrides +(haskellModifications hsPkg).overrideAttrs mkDerivationOverrides diff --git a/pkgs/by-name/ch/changelog-d/tests/basic.nix b/pkgs/by-name/ch/changelog-d/tests/basic.nix index 25d434f0729fc..0ee9ef6de73c0 100644 --- a/pkgs/by-name/ch/changelog-d/tests/basic.nix +++ b/pkgs/by-name/ch/changelog-d/tests/basic.nix @@ -1,25 +1,27 @@ { runCommand, changelog-d }: -runCommand "changelog-d-basic-test" { - nativeBuildInputs = [ changelog-d ]; -} '' - mkdir changelogs - cat > changelogs/config < changelogs/a <$out - cat -n $out - echo Checking the generated output - set -x - grep -F 'Support numbers with incrementing base-10 digits' $out >/dev/null - grep -F 'https://github.com/NixOS/boondoggle/issues/1234' $out >/dev/null - set +x -'' + '' + mkdir changelogs + cat > changelogs/config < changelogs/a <$out + cat -n $out + echo Checking the generated output + set -x + grep -F 'Support numbers with incrementing base-10 digits' $out >/dev/null + grep -F 'https://github.com/NixOS/boondoggle/issues/1234' $out >/dev/null + set +x + '' diff --git a/pkgs/by-name/ch/changelogger/package.nix b/pkgs/by-name/ch/changelogger/package.nix index fa46e7b10752c..f0b911d15c18d 100644 --- a/pkgs/by-name/ch/changelogger/package.nix +++ b/pkgs/by-name/ch/changelogger/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/changetower/package.nix b/pkgs/by-name/ch/changetower/package.nix index f5d63bb4336a2..e3496e4fe279f 100644 --- a/pkgs/by-name/ch/changetower/package.nix +++ b/pkgs/by-name/ch/changetower/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/changie/package.nix b/pkgs/by-name/ch/changie/package.nix index 5c32c6bcd078e..37d0b8f740309 100644 --- a/pkgs/by-name/ch/changie/package.nix +++ b/pkgs/by-name/ch/changie/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -21,7 +22,11 @@ buildGoModule rec { installShellFiles ]; - ldflags = [ "-s" "-w" "-X=main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.version=${version}" + ]; postInstall = '' installShellCompletion --cmd changie \ @@ -36,6 +41,9 @@ buildGoModule rec { homepage = "https://changie.dev"; changelog = "https://github.com/miniscruff/changie/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/ch/charasay/package.nix b/pkgs/by-name/ch/charasay/package.nix index 5048b9dd655a1..067d009c0fbb2 100644 --- a/pkgs/by-name/ch/charasay/package.nix +++ b/pkgs/by-name/ch/charasay/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ch/charis-sil/package.nix b/pkgs/by-name/ch/charis-sil/package.nix index a75fabb9ae354..9d2614f965c94 100644 --- a/pkgs/by-name/ch/charis-sil/package.nix +++ b/pkgs/by-name/ch/charis-sil/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "charis-sil"; diff --git a/pkgs/by-name/ch/charliecloud/package.nix b/pkgs/by-name/ch/charliecloud/package.nix index 2889d09183d77..dd831bd34ebd2 100644 --- a/pkgs/by-name/ch/charliecloud/package.nix +++ b/pkgs/by-name/ch/charliecloud/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, python3, docker, autoreconfHook, coreutils, makeWrapper, gnused, gnutar, gzip, findutils, sudo, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + docker, + autoreconfHook, + coreutils, + makeWrapper, + gnused, + gnutar, + gzip, + findutils, + sudo, + nixosTests, +}: stdenv.mkDerivation rec { @@ -12,17 +27,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-kdaVlwE3vdCxsmJTOUwx8J+9UcBuXbKDwS2MHX2ZPPM="; }; - nativeBuildInputs = [ autoreconfHook makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ]; buildInputs = [ docker - (python3.withPackages (ps: [ ps.lark ps.requests ])) + (python3.withPackages (ps: [ + ps.lark + ps.requests + ])) ]; - configureFlags = let - pythonEnv = python3.withPackages (ps: [ ps.lark ps.requests ]); - in [ - "--with-python=${pythonEnv}/bin/python3" - ]; + configureFlags = + let + pythonEnv = python3.withPackages (ps: [ + ps.lark + ps.requests + ]); + in + [ + "--with-python=${pythonEnv}/bin/python3" + ]; preConfigure = '' patchShebangs test/ @@ -38,7 +64,17 @@ stdenv.mkDerivation rec { # Here we wrap those deps so they are resolved inside nixpkgs. postInstall = '' for file in $out/bin/* ; do \ - wrapProgram $file --prefix PATH : ${lib.makeBinPath [ coreutils docker gnused gnutar gzip findutils sudo ]} + wrapProgram $file --prefix PATH : ${ + lib.makeBinPath [ + coreutils + docker + gnused + gnutar + gzip + findutils + sudo + ] + } done ''; diff --git a/pkgs/by-name/ch/charls/package.nix b/pkgs/by-name/ch/charls/package.nix index f8591dc92bca5..0595b4629aeaa 100644 --- a/pkgs/by-name/ch/charls/package.nix +++ b/pkgs/by-name/ch/charls/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "charls"; diff --git a/pkgs/by-name/ch/charm-freeze/package.nix b/pkgs/by-name/ch/charm-freeze/package.nix index c9002e244e53d..25cdaee863947 100644 --- a/pkgs/by-name/ch/charm-freeze/package.nix +++ b/pkgs/by-name/ch/charm-freeze/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "charm-freeze"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-AUFzxmQOb/h0UgcprY09IVI7Auitn3JTDU/ptKicIAU="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { description = "Tool to generate images of code and terminal output"; @@ -21,6 +29,9 @@ buildGoModule rec { homepage = "https://github.com/charmbracelet/freeze"; changelog = "https://github.com/charmbracelet/freeze/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ caarlos0 maaslalani ]; + maintainers = with maintainers; [ + caarlos0 + maaslalani + ]; }; } diff --git a/pkgs/by-name/ch/charm/package.nix b/pkgs/by-name/ch/charm/package.nix index bf3520d4634e1..908df7793a2d7 100644 --- a/pkgs/by-name/ch/charm/package.nix +++ b/pkgs/by-name/ch/charm/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "charm"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-V5azvQ8vMkgF2Myt6h5Gw09b+Xwg1XLyTImG52qQ+20="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { description = "Manage your charm account on the CLI"; diff --git a/pkgs/by-name/ch/chart-testing/package.nix b/pkgs/by-name/ch/chart-testing/package.nix index a19f5b474f678..97193bf3b3837 100644 --- a/pkgs/by-name/ch/chart-testing/package.nix +++ b/pkgs/by-name/ch/chart-testing/package.nix @@ -1,14 +1,15 @@ -{ buildGoModule -, coreutils -, fetchFromGitHub -, git -, installShellFiles -, kubectl -, kubernetes-helm -, lib -, makeWrapper -, yamale -, yamllint +{ + buildGoModule, + coreutils, + fetchFromGitHub, + git, + installShellFiles, + kubectl, + kubernetes-helm, + lib, + makeWrapper, + yamale, + yamllint, }: buildGoModule rec { @@ -37,7 +38,10 @@ buildGoModule rec { "-X github.com/helm/chart-testing/v3/ct/cmd.BuildDate=19700101-00:00:00" ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; postInstall = '' install -Dm644 -t $out/etc/ct etc/chart_schema.yaml @@ -48,14 +52,16 @@ buildGoModule rec { --zsh <($out/bin/ct completion zsh) \ --fish <($out/bin/ct completion fish) \ - wrapProgram $out/bin/ct --prefix PATH : ${lib.makeBinPath [ - coreutils - git - kubectl - kubernetes-helm - yamale - yamllint - ]} + wrapProgram $out/bin/ct --prefix PATH : ${ + lib.makeBinPath [ + coreutils + git + kubectl + kubernetes-helm + yamale + yamllint + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/ch/chase/package.nix b/pkgs/by-name/ch/chase/package.nix index 40f09089fdff1..240e9a85bebff 100644 --- a/pkgs/by-name/ch/chase/package.nix +++ b/pkgs/by-name/ch/chase/package.nix @@ -1,23 +1,36 @@ -{ lib, stdenv, fetchurl ,pkg-config, libatomic_ops , boehmgc }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libatomic_ops, + boehmgc, +}: stdenv.mkDerivation rec { pname = "chase"; version = "0.5.2"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libatomic_ops boehmgc ] ; + buildInputs = [ + libatomic_ops + boehmgc + ]; src = fetchurl { url = "mirror://debian/pool/main/c/chase/chase_${version}.orig.tar.gz"; sha256 = "68d95c2d4dc45553b75790fcea4413b7204a2618dff148116ca9bdb0310d737f"; }; doCheck = true; - makeFlags = [ "-e" "LIBS=-lgc" ]; + makeFlags = [ + "-e" + "LIBS=-lgc" + ]; - meta = with lib ; { + meta = with lib; { description = "Follow a symlink and print out its target file"; longDescription = '' - A commandline program that chases symbolic filesystems links to the original file + A commandline program that chases symbolic filesystems links to the original file ''; homepage = "https://qa.debian.org/developer.php?login=rotty%40debian.org"; license = licenses.gpl2Plus; diff --git a/pkgs/by-name/ch/chatblade/package.nix b/pkgs/by-name/ch/chatblade/package.nix index 3927c57950aca..3e360e95dca73 100644 --- a/pkgs/by-name/ch/chatblade/package.nix +++ b/pkgs/by-name/ch/chatblade/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "chatblade"; diff --git a/pkgs/by-name/ch/chatgpt-cli/package.nix b/pkgs/by-name/ch/chatgpt-cli/package.nix index a7712aee4116c..61982d798fdb6 100644 --- a/pkgs/by-name/ch/chatgpt-cli/package.nix +++ b/pkgs/by-name/ch/chatgpt-cli/package.nix @@ -1,7 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { pname = "chatgpt"; diff --git a/pkgs/by-name/ch/chatgpt-retrieval-plugin/package.nix b/pkgs/by-name/ch/chatgpt-retrieval-plugin/package.nix index 05f7216209cd0..535d6808cc466 100644 --- a/pkgs/by-name/ch/chatgpt-retrieval-plugin/package.nix +++ b/pkgs/by-name/ch/chatgpt-retrieval-plugin/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3Packages -, fetchFromGitHub -, python3 -, nix-update-script -, dasel +{ + lib, + python3Packages, + fetchFromGitHub, + python3, + nix-update-script, + dasel, }: python3Packages.buildPythonApplication { diff --git a/pkgs/by-name/ch/chatgpt-shell-cli/package.nix b/pkgs/by-name/ch/chatgpt-shell-cli/package.nix index 25ab95c94127d..f18028cac42ab 100644 --- a/pkgs/by-name/ch/chatgpt-shell-cli/package.nix +++ b/pkgs/by-name/ch/chatgpt-shell-cli/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, jq -, curl -, glow -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + jq, + curl, + glow, + makeWrapper, }: let @@ -14,35 +15,41 @@ let version = "master"; in stdenv.mkDerivation { - inherit pname version; - - src = fetchFromGitHub { - owner = "0xacx"; - repo = "chatgpt-shell-cli"; - rev = version; - hash = "sha256-hYLrUya4UCsIB1J/n+jp1jFRCEqnGFJOr3ATxm0zwdY="; - }; - - nativeBuildInputs = [ makeWrapper ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - install -Dm755 chatgpt.sh -t $out/bin - - runHook postInstall - ''; - - postInstall = '' - wrapProgram $out/bin/chatgpt.sh \ - --prefix PATH : ${lib.makeBinPath [ jq curl glow ]} - ''; - - meta = with lib; { - homepage = "https://github.com/0xacx/chatGPT-shell-cli"; - description = "Simple shell script to use OpenAI's ChatGPT and DALL-E from the terminal. No Python or JS required."; - license = licenses.mit; - maintainers = with maintainers; [ jfvillablanca ]; - }; - } + inherit pname version; + + src = fetchFromGitHub { + owner = "0xacx"; + repo = "chatgpt-shell-cli"; + rev = version; + hash = "sha256-hYLrUya4UCsIB1J/n+jp1jFRCEqnGFJOr3ATxm0zwdY="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + install -Dm755 chatgpt.sh -t $out/bin + + runHook postInstall + ''; + + postInstall = '' + wrapProgram $out/bin/chatgpt.sh \ + --prefix PATH : ${ + lib.makeBinPath [ + jq + curl + glow + ] + } + ''; + + meta = with lib; { + homepage = "https://github.com/0xacx/chatGPT-shell-cli"; + description = "Simple shell script to use OpenAI's ChatGPT and DALL-E from the terminal. No Python or JS required."; + license = licenses.mit; + maintainers = with maintainers; [ jfvillablanca ]; + }; +} diff --git a/pkgs/by-name/ch/chatty/package.nix b/pkgs/by-name/ch/chatty/package.nix index a18ba2c1b96ac..909e13940a6ab 100644 --- a/pkgs/by-name/ch/chatty/package.nix +++ b/pkgs/by-name/ch/chatty/package.nix @@ -1,32 +1,33 @@ -{ lib -, stdenv -, fetchFromGitLab -, appstream-glib -, desktop-file-utils -, itstool -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, evolution-data-server -, feedbackd -, glibmm -, libsecret -, gnome-desktop -, gspell -, gtk4 -, gtksourceview5 -, gst_all_1 -, json-glib -, libgcrypt -, libadwaita -, libphonenumber -, modemmanager -, olm -, pidgin -, protobuf -, sqlite -, plugins ? [ ] +{ + lib, + stdenv, + fetchFromGitLab, + appstream-glib, + desktop-file-utils, + itstool, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + evolution-data-server, + feedbackd, + glibmm, + libsecret, + gnome-desktop, + gspell, + gtk4, + gtksourceview5, + gst_all_1, + json-glib, + libgcrypt, + libadwaita, + libphonenumber, + modemmanager, + olm, + pidgin, + protobuf, + sqlite, + plugins ? [ ], }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ch/chayang/package.nix b/pkgs/by-name/ch/chayang/package.nix index d92a729bd28e1..0be994cdda62c 100644 --- a/pkgs/by-name/ch/chayang/package.nix +++ b/pkgs/by-name/ch/chayang/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromSourcehut -, meson -, ninja -, pkg-config -, wayland-scanner -, wayland-protocols -, wayland +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + wayland-scanner, + wayland-protocols, + wayland, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ch/cheat/package.nix b/pkgs/by-name/ch/cheat/package.nix index 07b4eaa398262..6d964df186b1c 100644 --- a/pkgs/by-name/ch/cheat/package.nix +++ b/pkgs/by-name/ch/cheat/package.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub -, buildGoModule, installShellFiles }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: buildGoModule rec { pname = "cheat"; @@ -43,7 +47,10 @@ buildGoModule rec { meta = with lib; { description = "Create and view interactive cheatsheets on the command-line"; maintainers = with maintainers; [ mic92 ]; - license = with licenses; [ gpl3 mit ]; + license = with licenses; [ + gpl3 + mit + ]; inherit (src.meta) homepage; mainProgram = "cheat"; }; diff --git a/pkgs/by-name/ch/check-jsonschema/package.nix b/pkgs/by-name/ch/check-jsonschema/package.nix index 0b373d686e8e1..7c5094242d40c 100644 --- a/pkgs/by-name/ch/check-jsonschema/package.nix +++ b/pkgs/by-name/ch/check-jsonschema/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3 }: +{ + lib, + fetchFromGitHub, + python3, +}: with python3.pkgs; diff --git a/pkgs/by-name/ch/checkinstall/package.nix b/pkgs/by-name/ch/checkinstall/package.nix index 875b757d1fbde..ec7c274b95dab 100644 --- a/pkgs/by-name/ch/checkinstall/package.nix +++ b/pkgs/by-name/ch/checkinstall/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, gettext }: +{ + lib, + stdenv, + fetchurl, + gettext, +}: stdenv.mkDerivation rec { pname = "checkinstall"; @@ -9,44 +14,46 @@ stdenv.mkDerivation rec { sha256 = "1x4kslyvfd6lm6zd1ylbq2pjxrafb77ydfjaqi16sa5qywn1jqfw"; }; - patches = [ - # Include empty directories created by the installation script in - # generated packages. (E.g., if a `make install' does `mkdir - # /var/lib/mystuff', then /var/lib/mystuff should be included in - # the package.) - ./empty-dirs.patch + patches = + [ + # Include empty directories created by the installation script in + # generated packages. (E.g., if a `make install' does `mkdir + # /var/lib/mystuff', then /var/lib/mystuff should be included in + # the package.) + ./empty-dirs.patch - # Implement the getxattr(), lgetxattr(), __open_2() and - # __open64_2() functions. Needed for doing builds on Ubuntu 8.10. - ./missing-functions.patch + # Implement the getxattr(), lgetxattr(), __open_2() and + # __open64_2() functions. Needed for doing builds on Ubuntu 8.10. + ./missing-functions.patch - # Don't include directories in the Debian `conffiles' file. - ./etc-dirs.patch + # Don't include directories in the Debian `conffiles' file. + ./etc-dirs.patch - # Support Glibc >= 2.8. - ./glibc-check.patch + # Support Glibc >= 2.8. + ./glibc-check.patch - # Fix a `conflicting types for 'scandir'' error on Glibc 2.11. - ./scandir.patch + # Fix a `conflicting types for 'scandir'' error on Glibc 2.11. + ./scandir.patch - # Fix a `conflicting types for 'readlink'' error since Glibc 2.19 - ./readlink-types.patch + # Fix a `conflicting types for 'readlink'' error since Glibc 2.19 + ./readlink-types.patch - # Fix BuildRoot handling in RPM builds. - ./set-buildroot.patch + # Fix BuildRoot handling in RPM builds. + ./set-buildroot.patch - (fetchurl { - url = "https://salsa.debian.org/debian/checkinstall/-/raw/7175ae9de0e45f42fdd7f185ab9a12043d5efeeb/debian/patches/0016-Define-_STAT_VER-_MKNOD_VER-locally-dropped-in-glibc.patch"; - hash = "sha256-InodEfvVMuN708yjXPrVXb+q8aUcyFhCLx35PHls0Eo="; - }) - ] + (fetchurl { + url = "https://salsa.debian.org/debian/checkinstall/-/raw/7175ae9de0e45f42fdd7f185ab9a12043d5efeeb/debian/patches/0016-Define-_STAT_VER-_MKNOD_VER-locally-dropped-in-glibc.patch"; + hash = "sha256-InodEfvVMuN708yjXPrVXb+q8aUcyFhCLx35PHls0Eo="; + }) + ] - ++ lib.optional (stdenv.hostPlatform.system == "x86_64-linux") - # Force use of old memcpy so that installwatch works on Glibc < - # 2.14. - ./use-old-memcpy.patch; + ++ + lib.optional (stdenv.hostPlatform.system == "x86_64-linux") + # Force use of old memcpy so that installwatch works on Glibc < + # 2.14. + ./use-old-memcpy.patch; - buildInputs = [gettext]; + buildInputs = [ gettext ]; hardeningDisable = [ "fortify" ]; @@ -65,7 +72,7 @@ stdenv.mkDerivation rec { # as an LD_PRELOADed library on applications that load against a # different Glibc. '' - patchelf --set-rpath "" $out/lib/installwatch.so + patchelf --set-rpath "" $out/lib/installwatch.so ''; meta = { diff --git a/pkgs/by-name/ch/checkip/package.nix b/pkgs/by-name/ch/checkip/package.nix index 9ef38a197efff..01aa5785f9ade 100644 --- a/pkgs/by-name/ch/checkip/package.nix +++ b/pkgs/by-name/ch/checkip/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/checkmake/package.nix b/pkgs/by-name/ch/checkmake/package.nix index 8e4d4c326141e..400552061f8b3 100644 --- a/pkgs/by-name/ch/checkmake/package.nix +++ b/pkgs/by-name/ch/checkmake/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, pandoc -, go +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + pandoc, + go, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/checkmate/package.nix b/pkgs/by-name/ch/checkmate/package.nix index ca036f967661c..64b8bf9b2fd64 100644 --- a/pkgs/by-name/ch/checkmate/package.nix +++ b/pkgs/by-name/ch/checkmate/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/checkpolicy/package.nix b/pkgs/by-name/ch/checkpolicy/package.nix index 65b4516d3b2b2..1703e5db68cee 100644 --- a/pkgs/by-name/ch/checkpolicy/package.nix +++ b/pkgs/by-name/ch/checkpolicy/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, bison, flex, libsepol }: +{ + lib, + stdenv, + fetchurl, + bison, + flex, + libsepol, +}: stdenv.mkDerivation rec { pname = "checkpolicy"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-/T4ZJUd9SZRtERaThmGvRMH4bw1oFGb9nwLqoGACoH8="; }; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; buildInputs = [ libsepol ]; makeFlags = [ @@ -18,7 +28,7 @@ stdenv.mkDerivation rec { "LIBSEPOLA=${lib.getLib libsepol}/lib/libsepol.a" ]; - meta = removeAttrs libsepol.meta ["outputsToInstall"] // { + meta = removeAttrs libsepol.meta [ "outputsToInstall" ] // { description = "SELinux policy compiler"; }; } diff --git a/pkgs/by-name/ch/checkpwn/package.nix b/pkgs/by-name/ch/checkpwn/package.nix index e89e6b8800971..fa20d0753b49e 100644 --- a/pkgs/by-name/ch/checkpwn/package.nix +++ b/pkgs/by-name/ch/checkpwn/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ch/checkra1n/package.nix b/pkgs/by-name/ch/checkra1n/package.nix index a44a6d8b2b8d2..3c58885a27774 100644 --- a/pkgs/by-name/ch/checkra1n/package.nix +++ b/pkgs/by-name/ch/checkra1n/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "checkra1n"; diff --git a/pkgs/by-name/ch/checksec/package.nix b/pkgs/by-name/ch/checksec/package.nix index 488bfdff1a6ad..c479c7f145104 100644 --- a/pkgs/by-name/ch/checksec/package.nix +++ b/pkgs/by-name/ch/checksec/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchpatch -, fetchFromGitHub -, makeWrapper -, testers -, runCommand +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + makeWrapper, + testers, + runCommand, # dependencies -, binutils -, coreutils -, curl -, elfutils -, file -, findutils -, gawk -, glibc -, gnugrep -, gnused -, openssl -, procps -, sysctl -, wget -, which + binutils, + coreutils, + curl, + elfutils, + file, + findutils, + gawk, + glibc, + gnugrep, + gnused, + openssl, + procps, + sysctl, + wget, + which, # tests -, checksec + checksec, }: stdenv.mkDerivation rec { @@ -101,6 +102,9 @@ stdenv.mkDerivation rec { homepage = "https://www.trapkit.de/tools/checksec/"; license = licenses.bsd3; platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice globin ]; + maintainers = with maintainers; [ + thoughtpolice + globin + ]; }; } diff --git a/pkgs/by-name/ch/cheese/package.nix b/pkgs/by-name/ch/cheese/package.nix index db260a067a399..4da934e9d8eb5 100644 --- a/pkgs/by-name/ch/cheese/package.nix +++ b/pkgs/by-name/ch/cheese/package.nix @@ -1,41 +1,46 @@ -{ lib -, stdenv -, gettext -, fetchurl -, wrapGAppsHook3 -, gnome-video-effects -, libcanberra-gtk3 -, pkg-config -, gtk3 -, glib -, clutter-gtk -, clutter-gst -, gst_all_1 -, itstool -, vala -, docbook_xml_dtd_43 -, docbook-xsl-nons -, appstream-glib -, libxslt -, gtk-doc -, adwaita-icon-theme -, librsvg -, totem -, gdk-pixbuf -, gnome -, gnome-desktop -, libxml2 -, meson -, ninja -, dbus -, pipewire +{ + lib, + stdenv, + gettext, + fetchurl, + wrapGAppsHook3, + gnome-video-effects, + libcanberra-gtk3, + pkg-config, + gtk3, + glib, + clutter-gtk, + clutter-gst, + gst_all_1, + itstool, + vala, + docbook_xml_dtd_43, + docbook-xsl-nons, + appstream-glib, + libxslt, + gtk-doc, + adwaita-icon-theme, + librsvg, + totem, + gdk-pixbuf, + gnome, + gnome-desktop, + libxml2, + meson, + ninja, + dbus, + pipewire, }: stdenv.mkDerivation rec { pname = "cheese"; version = "44.1"; - outputs = [ "out" "man" "devdoc" ]; + outputs = [ + "out" + "man" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/cheese/${lib.versions.major version}/cheese-${version}.tar.xz"; diff --git a/pkgs/by-name/ch/cheesecutter/package.nix b/pkgs/by-name/ch/cheesecutter/package.nix index b1c44f2bebc8b..ef7037ca43bef 100644 --- a/pkgs/by-name/ch/cheesecutter/package.nix +++ b/pkgs/by-name/ch/cheesecutter/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, acme -, ldc -, patchelf -, SDL +{ + stdenv, + lib, + fetchFromGitHub, + acme, + ldc, + patchelf, + SDL, }: stdenv.mkDerivation rec { pname = "cheesecutter"; @@ -17,13 +18,16 @@ stdenv.mkDerivation rec { sha256 = "sha256:0q4a791nayya6n01l0f4kk497rdq6kiq0n72fqdpwqy138pfwydn"; }; - patches = [ - ./0001-Drop-baked-in-build-date-for-r13y.patch - ] - ++ lib.optional stdenv.hostPlatform.isDarwin ./0002-Prepend-libSDL.dylib-to-macOS-SDL-loader.patch; + patches = + [ + ./0001-Drop-baked-in-build-date-for-r13y.patch + ] + ++ lib.optional stdenv.hostPlatform.isDarwin ./0002-Prepend-libSDL.dylib-to-macOS-SDL-loader.patch; - nativeBuildInputs = [ acme ldc ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) patchelf; + nativeBuildInputs = [ + acme + ldc + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) patchelf; buildInputs = [ SDL ]; @@ -47,18 +51,25 @@ stdenv.mkDerivation rec { let rpathSDL = lib.makeLibraryPath [ SDL ]; in - if stdenv.hostPlatform.isDarwin then '' - install_name_tool -add_rpath ${rpathSDL} $out/bin/ccutter - '' else '' - rpath=$(patchelf --print-rpath $out/bin/ccutter) - patchelf --set-rpath "$rpath:${rpathSDL}" $out/bin/ccutter - ''; + if stdenv.hostPlatform.isDarwin then + '' + install_name_tool -add_rpath ${rpathSDL} $out/bin/ccutter + '' + else + '' + rpath=$(patchelf --print-rpath $out/bin/ccutter) + patchelf --set-rpath "$rpath:${rpathSDL}" $out/bin/ccutter + ''; meta = with lib; { description = "Tracker program for composing music for the SID chip"; homepage = "https://github.com/theyamo/CheeseCutter/"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "x86_64-darwin" + ]; maintainers = with maintainers; [ OPNA2608 ]; }; } diff --git a/pkgs/by-name/ch/chelf/package.nix b/pkgs/by-name/ch/chelf/package.nix index 7dd84eba1e441..940a74cfb2dea 100644 --- a/pkgs/by-name/ch/chelf/package.nix +++ b/pkgs/by-name/ch/chelf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "chelf"; diff --git a/pkgs/by-name/ch/chemacs2/package.nix b/pkgs/by-name/ch/chemacs2/package.nix index 4b85dbfe87142..15e2dc7741e9f 100644 --- a/pkgs/by-name/ch/chemacs2/package.nix +++ b/pkgs/by-name/ch/chemacs2/package.nix @@ -16,7 +16,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-/WtacZPr45lurS0hv+W8UGzsXY3RujkU5oGGGqjqG0Q="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/by-name/ch/chemtool/package.nix b/pkgs/by-name/ch/chemtool/package.nix index 82b1834671619..deb9b01700ea2 100644 --- a/pkgs/by-name/ch/chemtool/package.nix +++ b/pkgs/by-name/ch/chemtool/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libX11 -, gtk2 -, fig2dev -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + pkg-config, + libX11, + gtk2, + fig2dev, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "hhYaBGE4azNKX/sXzfCUpJGUGIRngnL0V0mBNRTdr8s="; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ libX11 gtk2 diff --git a/pkgs/by-name/ch/cherry/package.nix b/pkgs/by-name/ch/cherry/package.nix index c69bb0715dc67..da418ecee128c 100644 --- a/pkgs/by-name/ch/cherry/package.nix +++ b/pkgs/by-name/ch/cherry/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, +}: stdenv.mkDerivation rec { pname = "cherry"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "13zkxwp6r6kcxv4x459vwscr0n0sik4a3kcz5xnmlpvcdnbxi586"; }; - nativeBuildInputs = [ xorg.fonttosfnt xorg.mkfontdir ]; + nativeBuildInputs = [ + xorg.fonttosfnt + xorg.mkfontdir + ]; buildPhase = '' patchShebangs make.sh @@ -34,4 +42,3 @@ stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/ch/cherrybomb/package.nix b/pkgs/by-name/ch/cherrybomb/package.nix index 38783319e7c72..9ce60696a621c 100644 --- a/pkgs/by-name/ch/cherrybomb/package.nix +++ b/pkgs/by-name/ch/cherrybomb/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ch/cherrytree/package.nix b/pkgs/by-name/ch/cherrytree/package.nix index 69b457a4f0703..98f219022afe3 100644 --- a/pkgs/by-name/ch/cherrytree/package.nix +++ b/pkgs/by-name/ch/cherrytree/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, python3 -, wrapGAppsHook3 -, gtkmm3 -, gtksourceview -, gtksourceviewmm -, gspell -, libxmlxx -, sqlite -, curl -, libuchardet -, spdlog -, fribidi -, vte +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + python3, + wrapGAppsHook3, + gtkmm3, + gtksourceview, + gtksourceviewmm, + gspell, + libxmlxx, + sqlite, + curl, + libuchardet, + spdlog, + fribidi, + vte, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ch/chess-clock/package.nix b/pkgs/by-name/ch/chess-clock/package.nix index 2074e5404c414..4811cc807d8fd 100644 --- a/pkgs/by-name/ch/chess-clock/package.nix +++ b/pkgs/by-name/ch/chess-clock/package.nix @@ -1,16 +1,17 @@ -{ lib -, desktop-file-utils -, fetchFromGitLab -, gobject-introspection -, gsound -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, python3 -, stdenv -, wrapGAppsHook4 +{ + lib, + desktop-file-utils, + fetchFromGitLab, + gobject-introspection, + gsound, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + python3, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -38,9 +39,11 @@ stdenv.mkDerivation rec { gsound gtk4 libadwaita - (python3.withPackages (ps: with ps; [ - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + ] + )) ]; meta = with lib; { diff --git a/pkgs/by-name/ch/chess-tui/package.nix b/pkgs/by-name/ch/chess-tui/package.nix index e2c4f5fe1edbe..9dee8dd57e3f8 100644 --- a/pkgs/by-name/ch/chess-tui/package.nix +++ b/pkgs/by-name/ch/chess-tui/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -16,7 +17,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-RUnT5b9pBcopTPT/1J48xZ4pfn3C0mIuYTDvgf3zvn0="; - meta = with lib;{ + meta = with lib; { description = "Chess TUI implementation in rust"; homepage = "https://github.com/thomas-mauran/chess-tui"; maintainers = with maintainers; [ ByteSudoer ]; diff --git a/pkgs/by-name/ch/chessdb/package.nix b/pkgs/by-name/ch/chessdb/package.nix index 4acfc4d18e3d2..987906795e402 100644 --- a/pkgs/by-name/ch/chessdb/package.nix +++ b/pkgs/by-name/ch/chessdb/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, tcl, tk, libX11, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + tcl, + tk, + libX11, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "chessdb"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ tcl tk libX11 ]; + buildInputs = [ + tcl + tk + libX11 + ]; makeFlags = [ "BINDIR=$(out)/bin" diff --git a/pkgs/by-name/ch/chez-matchable/package.nix b/pkgs/by-name/ch/chez-matchable/package.nix index b815567e4b4ff..1b595f432ce59 100644 --- a/pkgs/by-name/ch/chez-matchable/package.nix +++ b/pkgs/by-name/ch/chez-matchable/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, chez }: +{ + stdenv, + lib, + fetchFromGitHub, + chez, +}: stdenv.mkDerivation rec { pname = "chez-matchable"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ chez ]; - makeFlags = [ "CHEZ=${lib.getExe chez}" "PREFIX=$(out)" ]; + makeFlags = [ + "CHEZ=${lib.getExe chez}" + "PREFIX=$(out)" + ]; doCheck = false; diff --git a/pkgs/by-name/ch/chez-mit/package.nix b/pkgs/by-name/ch/chez-mit/package.nix index 154c7362de18c..a12f7a7a06d83 100644 --- a/pkgs/by-name/ch/chez-mit/package.nix +++ b/pkgs/by-name/ch/chez-mit/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, chez, chez-srfi }: +{ + stdenv, + lib, + fetchFromGitHub, + chez, + chez-srfi, +}: stdenv.mkDerivation rec { pname = "chez-mit"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-TmoLA0zLETKE+PsrGS5dce9xLQUIKwSNixRSVjbrOlk="; }; - buildInputs = [ chez chez-srfi ]; + buildInputs = [ + chez + chez-srfi + ]; makeFlags = [ "CHEZ=${lib.getExe chez}" diff --git a/pkgs/by-name/ch/chez-racket/package.nix b/pkgs/by-name/ch/chez-racket/package.nix index 158dfa0529334..37a0dd0cce7c7 100644 --- a/pkgs/by-name/ch/chez-racket/package.nix +++ b/pkgs/by-name/ch/chez-racket/package.nix @@ -1,20 +1,35 @@ -{ stdenv, buildPackages, callPackage }: +{ + stdenv, + buildPackages, + callPackage, +}: let chezArch = - /**/ if stdenv.hostPlatform.isAarch then "arm${toString stdenv.hostPlatform.parsed.cpu.bits}" - else if stdenv.hostPlatform.isx86_32 then "i3" - else if stdenv.hostPlatform.isx86_64 then "a6" - else if stdenv.hostPlatform.isPower then "ppc${toString stdenv.hostPlatform.parsed.cpu.bits}" - else throw "Add ${stdenv.hostPlatform.parsed.cpu.arch} to chezArch to enable building chez-racket"; + if stdenv.hostPlatform.isAarch then + "arm${toString stdenv.hostPlatform.parsed.cpu.bits}" + else if stdenv.hostPlatform.isx86_32 then + "i3" + else if stdenv.hostPlatform.isx86_64 then + "a6" + else if stdenv.hostPlatform.isPower then + "ppc${toString stdenv.hostPlatform.parsed.cpu.bits}" + else + throw "Add ${stdenv.hostPlatform.parsed.cpu.arch} to chezArch to enable building chez-racket"; chezOs = - /**/ if stdenv.hostPlatform.isDarwin then "osx" - else if stdenv.hostPlatform.isFreeBSD then "fb" - else if stdenv.hostPlatform.isLinux then "le" - else if stdenv.hostPlatform.isNetBSD then "nb" - else if stdenv.hostPlatform.isOpenBSD then "ob" - else throw "Add ${stdenv.hostPlatform.uname.system} to chezOs to enable building chez-racket"; + if stdenv.hostPlatform.isDarwin then + "osx" + else if stdenv.hostPlatform.isFreeBSD then + "fb" + else if stdenv.hostPlatform.isLinux then + "le" + else if stdenv.hostPlatform.isNetBSD then + "nb" + else if stdenv.hostPlatform.isOpenBSD then + "ob" + else + throw "Add ${stdenv.hostPlatform.uname.system} to chezOs to enable building chez-racket"; inherit (stdenv.hostPlatform) system; chezSystem = "t${chezArch}${chezOs}"; @@ -37,7 +52,7 @@ let runHook postInstall ''; }; - boot = buildPackages.callPackage (import ./shared.nix forBoot) {}; + boot = buildPackages.callPackage (import ./shared.nix forBoot) { }; forFinal = { pname = "chez-scheme-racket"; configurePhase = '' @@ -54,6 +69,6 @@ let ''; setupHook = ./setup-hook.sh; }; - final = callPackage (import ./shared.nix forFinal) {}; + final = callPackage (import ./shared.nix forFinal) { }; in final diff --git a/pkgs/by-name/ch/chez-racket/shared.nix b/pkgs/by-name/ch/chez-racket/shared.nix index 71bb710d20487..f68063bf1a7fa 100644 --- a/pkgs/by-name/ch/chez-racket/shared.nix +++ b/pkgs/by-name/ch/chez-racket/shared.nix @@ -1,40 +1,62 @@ args: -{ stdenv, lib, fetchFromGitHub, coreutils, cctools, darwin -, ncurses, libiconv, libX11, zlib, lz4 +{ + stdenv, + lib, + fetchFromGitHub, + coreutils, + cctools, + darwin, + ncurses, + libiconv, + libX11, + zlib, + lz4, }: -stdenv.mkDerivation (args // { - version = "unstable-2021-12-11"; - - src = fetchFromGitHub { - owner = "racket"; - repo = "ChezScheme"; - rev = "8846c96b08561f05a937d5ecfe4edc96cc99be39"; - sha256 = "IYJQzT88T8kFahx2BusDOyzz6lQDCbZIfSz9rZoNF7A="; - fetchSubmodules = true; - }; - - prePatch = '' - rm -rf zlib/*.c lz4/lib/*.c - ''; - - postPatch = '' - export ZLIB="$(find ${zlib.out}/lib -type f | sort | head -n1)" - export LZ4="$(find ${lz4.lib}/lib -type f | sort | head -n1)" - ''; - - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin ([ cctools darwin.autoSignDarwinBinariesHook ]); - buildInputs = [ libiconv libX11 lz4 ncurses zlib ]; - - enableParallelBuilding = true; - - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"; - - meta = { - description = "Fork of Chez Scheme for Racket"; - homepage = "https://github.com/racket/ChezScheme"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ l-as ]; - platforms = lib.platforms.unix; - }; -}) +stdenv.mkDerivation ( + args + // { + version = "unstable-2021-12-11"; + + src = fetchFromGitHub { + owner = "racket"; + repo = "ChezScheme"; + rev = "8846c96b08561f05a937d5ecfe4edc96cc99be39"; + sha256 = "IYJQzT88T8kFahx2BusDOyzz6lQDCbZIfSz9rZoNF7A="; + fetchSubmodules = true; + }; + + prePatch = '' + rm -rf zlib/*.c lz4/lib/*.c + ''; + + postPatch = '' + export ZLIB="$(find ${zlib.out}/lib -type f | sort | head -n1)" + export LZ4="$(find ${lz4.lib}/lib -type f | sort | head -n1)" + ''; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin ([ + cctools + darwin.autoSignDarwinBinariesHook + ]); + buildInputs = [ + libiconv + libX11 + lz4 + ncurses + zlib + ]; + + enableParallelBuilding = true; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"; + + meta = { + description = "Fork of Chez Scheme for Racket"; + homepage = "https://github.com/racket/ChezScheme"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ l-as ]; + platforms = lib.platforms.unix; + }; + } +) diff --git a/pkgs/by-name/ch/chez-scmutils/package.nix b/pkgs/by-name/ch/chez-scmutils/package.nix index 843a8752df387..853a4aa1a72d5 100644 --- a/pkgs/by-name/ch/chez-scmutils/package.nix +++ b/pkgs/by-name/ch/chez-scmutils/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, chez, chez-srfi, chez-mit }: +{ + stdenv, + lib, + fetchFromGitHub, + chez, + chez-srfi, + chez-mit, +}: stdenv.mkDerivation rec { pname = "chez-scmutils"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-y2ug7GfmkJC6jddgB8YllsumjmGxFJxTGTpPf1Vcs/s="; }; - buildInputs = [ chez chez-srfi chez-mit ]; + buildInputs = [ + chez + chez-srfi + chez-mit + ]; lib-path = "lib/csv${lib.versions.majorMinor chez.version}-site"; diff --git a/pkgs/by-name/ch/chez-srfi/package.nix b/pkgs/by-name/ch/chez-srfi/package.nix index 317ce8f713baa..5b1e72851ba65 100644 --- a/pkgs/by-name/ch/chez-srfi/package.nix +++ b/pkgs/by-name/ch/chez-srfi/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, chez }: +{ + stdenv, + lib, + fetchFromGitHub, + chez, +}: stdenv.mkDerivation rec { pname = "chez-srfi"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ chez ]; - makeFlags = [ "CHEZ=${lib.getExe chez}" "PREFIX=$(out)" ]; + makeFlags = [ + "CHEZ=${lib.getExe chez}" + "PREFIX=$(out)" + ]; doCheck = false; diff --git a/pkgs/by-name/ch/chez/package.nix b/pkgs/by-name/ch/chez/package.nix index 52c8821bd2d1e..7e76fb762934c 100644 --- a/pkgs/by-name/ch/chez/package.nix +++ b/pkgs/by-name/ch/chez/package.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchurl -, coreutils, cctools -, darwin -, ncurses, libiconv, libX11, libuuid, testers +{ + lib, + stdenv, + fetchurl, + coreutils, + cctools, + darwin, + ncurses, + libiconv, + libX11, + libuuid, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -13,21 +21,28 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-kYGmyMSrXl0y2Hn/FZ0zWlDU+LOIYRriKiY+kyw1OYs="; }; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - cctools - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - darwin.autoSignDarwinBinariesHook + nativeBuildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + darwin.autoSignDarwinBinariesHook + ]; + buildInputs = [ + ncurses + libiconv + libX11 + libuuid ]; - buildInputs = [ ncurses libiconv libX11 libuuid ]; enableParallelBuilding = true; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"; /* - ** We have to fix a few occurrences to tools with absolute - ** paths in some helper scripts, otherwise the build will fail on - ** NixOS or in any chroot build. + ** We have to fix a few occurrences to tools with absolute + ** paths in some helper scripts, otherwise the build will fail on + ** NixOS or in any chroot build. */ patchPhase = '' substituteInPlace ./makefiles/installsh \ @@ -38,21 +53,19 @@ stdenv.mkDerivation (finalAttrs: { ''; /* - ** Don't use configureFlags, since that just implicitly appends - ** everything onto a --prefix flag, which ./configure gets very angry - ** about. - ** - ** Also, carefully set a manual workarea argument, so that we - ** can later easily find the machine type that we built Chez - ** for. + ** Don't use configureFlags, since that just implicitly appends + ** everything onto a --prefix flag, which ./configure gets very angry + ** about. + ** + ** Also, carefully set a manual workarea argument, so that we + ** can later easily find the machine type that we built Chez + ** for. */ configurePhase = '' ./configure --as-is --threads --installprefix=$out --installman=$out/share/man ''; - /* - ** Clean up some of the examples from the build output. - */ + # ** Clean up some of the examples from the build output. postInstall = '' rm -rf $out/lib/csv${finalAttrs.version}/examples ''; @@ -66,11 +79,11 @@ stdenv.mkDerivation (finalAttrs: { }; meta = { - description = "Powerful and incredibly fast R6RS Scheme compiler"; - homepage = "https://cisco.github.io/ChezScheme/"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ thoughtpolice ]; - platforms = lib.platforms.unix; - mainProgram = "scheme"; + description = "Powerful and incredibly fast R6RS Scheme compiler"; + homepage = "https://cisco.github.io/ChezScheme/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ thoughtpolice ]; + platforms = lib.platforms.unix; + mainProgram = "scheme"; }; }) diff --git a/pkgs/by-name/ch/chibi/package.nix b/pkgs/by-name/ch/chibi/package.nix index 9cdd21a6b955d..5108d2c707f2e 100644 --- a/pkgs/by-name/ch/chibi/package.nix +++ b/pkgs/by-name/ch/chibi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { version = "0.11"; diff --git a/pkgs/by-name/ch/chipmunk/package.nix b/pkgs/by-name/ch/chipmunk/package.nix index a0b34f0aa30f8..9e27bce8dcda6 100644 --- a/pkgs/by-name/ch/chipmunk/package.nix +++ b/pkgs/by-name/ch/chipmunk/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, cmake, libglut, libGLU, libGL, glfw2, glew, libX11, xorgproto -, libXi, libXmu, fetchpatch, libXrandr +{ + lib, + stdenv, + fetchurl, + cmake, + libglut, + libGLU, + libGL, + glfw2, + glew, + libX11, + xorgproto, + libXi, + libXmu, + fetchpatch, + libXrandr, }: stdenv.mkDerivation rec { @@ -20,8 +34,18 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = - [ libglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu libXrandr ]; + buildInputs = [ + libglut + libGLU + libGL + glfw2 + glew + libX11 + xorgproto + libXi + libXmu + libXrandr + ]; postInstall = '' mkdir -p $out/bin diff --git a/pkgs/by-name/ch/chisel/package.nix b/pkgs/by-name/ch/chisel/package.nix index 293721cc63a3c..8bcd2ccb54cc7 100644 --- a/pkgs/by-name/ch/chisel/package.nix +++ b/pkgs/by-name/ch/chisel/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/chit/package.nix b/pkgs/by-name/ch/chit/package.nix index 7d140bf2a794e..41ea368bc0250 100644 --- a/pkgs/by-name/ch/chit/package.nix +++ b/pkgs/by-name/ch/chit/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, stdenv -, openssl -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; # update Carg.lock to work with openssl 3 postPatch = '' diff --git a/pkgs/by-name/ch/chkcrontab/package.nix b/pkgs/by-name/ch/chkcrontab/package.nix index fa93446fa4fa7..f7aa1733c4749 100644 --- a/pkgs/by-name/ch/chkcrontab/package.nix +++ b/pkgs/by-name/ch/chkcrontab/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: with python3.pkgs; diff --git a/pkgs/by-name/ch/chkrootkit/package.nix b/pkgs/by-name/ch/chkrootkit/package.nix index ad14c1cd39973..c4f7a017803eb 100644 --- a/pkgs/by-name/ch/chkrootkit/package.nix +++ b/pkgs/by-name/ch/chkrootkit/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, binutils-unwrapped }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + binutils-unwrapped, +}: stdenv.mkDerivation rec { pname = "chkrootkit"; diff --git a/pkgs/by-name/ch/chmlib/package.nix b/pkgs/by-name/ch/chmlib/package.nix index baa67d8fb267a..6c3ce72e35760 100644 --- a/pkgs/by-name/ch/chmlib/package.nix +++ b/pkgs/by-name/ch/chmlib/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "chmlib"; diff --git a/pkgs/by-name/ch/chntpw/package.nix b/pkgs/by-name/ch/chntpw/package.nix index 60cbed0f3d3d2..6687cd9ad6935 100644 --- a/pkgs/by-name/ch/chntpw/package.nix +++ b/pkgs/by-name/ch/chntpw/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + unzip, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "chntpw"; diff --git a/pkgs/by-name/ch/cholmod-extra/package.nix b/pkgs/by-name/ch/cholmod-extra/package.nix index 88053a41af69e..8b6041fbb844c 100644 --- a/pkgs/by-name/ch/cholmod-extra/package.nix +++ b/pkgs/by-name/ch/cholmod-extra/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, gfortran, suitesparse, blas, lapack }: +{ + lib, + stdenv, + fetchFromGitHub, + gfortran, + suitesparse, + blas, + lapack, +}: stdenv.mkDerivation rec { pname = "cholmod-extra"; version = "1.2.0"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ gfortran ]; - buildInputs = [ suitesparse blas lapack ]; + buildInputs = [ + suitesparse + blas + lapack + ]; makeFlags = [ "BLAS=-lcblas" diff --git a/pkgs/by-name/ch/chonburi-font/package.nix b/pkgs/by-name/ch/chonburi-font/package.nix index e3c4cddd7cae9..86e909d003856 100644 --- a/pkgs/by-name/ch/chonburi-font/package.nix +++ b/pkgs/by-name/ch/chonburi-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "chonburi"; diff --git a/pkgs/by-name/ch/choose/package.nix b/pkgs/by-name/ch/choose/package.nix index b8508a8275113..179f53ad75b9d 100644 --- a/pkgs/by-name/ch/choose/package.nix +++ b/pkgs/by-name/ch/choose/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ch/chopchop/package.nix b/pkgs/by-name/ch/chopchop/package.nix index fc7bd0326fd46..5d75efb611d81 100644 --- a/pkgs/by-name/ch/chopchop/package.nix +++ b/pkgs/by-name/ch/chopchop/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ch/chow-centaur/package.nix b/pkgs/by-name/ch/chow-centaur/package.nix index 3b281aa960784..3eced1b2fa2fa 100644 --- a/pkgs/by-name/ch/chow-centaur/package.nix +++ b/pkgs/by-name/ch/chow-centaur/package.nix @@ -1,6 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, cairo, libxkbcommon -, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor -, alsa-lib, libjack2, lv2, gcc-unwrapped }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + cairo, + libxkbcommon, + xcbutilcursor, + xcbutilkeysyms, + xcbutil, + libXrandr, + libXinerama, + libXcursor, + alsa-lib, + libjack2, + lv2, + gcc-unwrapped, +}: stdenv.mkDerivation (finalAttrs: { pname = "chow-centaur"; @@ -14,7 +30,10 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ cairo libxkbcommon @@ -43,8 +62,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = - "Digital emulation of the Klon Centaur guitar pedal using RNNs, Wave Digital Filters, and more"; + description = "Digital emulation of the Klon Centaur guitar pedal using RNNs, Wave Digital Filters, and more"; homepage = "https://github.com/jatinchowdhury18/KlonCentaur"; license = licenses.bsd3; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/by-name/ch/chow-kick/package.nix b/pkgs/by-name/ch/chow-kick/package.nix index 435b8e0c9b0b9..21291574d7c64 100644 --- a/pkgs/by-name/ch/chow-kick/package.nix +++ b/pkgs/by-name/ch/chow-kick/package.nix @@ -1,38 +1,39 @@ -{ alsa-lib -, at-spi2-core -, brotli -, cmake -, curl -, dbus -, libepoxy -, fetchFromGitHub -, libglut -, freetype -, gtk2-x11 -, lib -, libGL -, libXcursor -, libXdmcp -, libXext -, libXinerama -, libXrandr -, libXtst -, libdatrie -, libjack2 -, libpsl -, libselinux -, libsepol -, libsysprof-capture -, libthai -, libxkbcommon -, lv2 -, pcre -, pkg-config -, python3 -, sqlite -, stdenv -, util-linuxMinimal -, webkitgtk_4_0 +{ + alsa-lib, + at-spi2-core, + brotli, + cmake, + curl, + dbus, + libepoxy, + fetchFromGitHub, + libglut, + freetype, + gtk2-x11, + lib, + libGL, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + libdatrie, + libjack2, + libpsl, + libselinux, + libsepol, + libsysprof-capture, + libthai, + libxkbcommon, + lv2, + pcre, + pkg-config, + python3, + sqlite, + stdenv, + util-linuxMinimal, + webkitgtk_4_0, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ch/chow-phaser/package.nix b/pkgs/by-name/ch/chow-phaser/package.nix index 87f22c9da1c57..bce17eeef4a95 100644 --- a/pkgs/by-name/ch/chow-phaser/package.nix +++ b/pkgs/by-name/ch/chow-phaser/package.nix @@ -1,8 +1,37 @@ -{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, libglut -, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext -, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux -, libsepol, libsysprof-capture, libthai, libxkbcommon, pcre, pkg-config -, python3, sqlite, stdenv }: +{ + alsa-lib, + at-spi2-core, + cmake, + curl, + dbus, + libepoxy, + fetchFromGitHub, + libglut, + freetype, + gcc-unwrapped, + gtk3, + lib, + libGL, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + libdatrie, + libjack2, + libpsl, + libselinux, + libsepol, + libsysprof-capture, + libthai, + libxkbcommon, + pcre, + pkg-config, + python3, + sqlite, + stdenv, +}: stdenv.mkDerivation (finalAttrs: { pname = "chow-phaser"; @@ -16,7 +45,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9wo7ZFMruG3QNvlpILSvrFh/Sx6J1qnlWc8+aQyS4tQ="; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/ch/chow-tape-model/package.nix b/pkgs/by-name/ch/chow-tape-model/package.nix index 9e9e3ae6b3417..a0fb380ed7917 100644 --- a/pkgs/by-name/ch/chow-tape-model/package.nix +++ b/pkgs/by-name/ch/chow-tape-model/package.nix @@ -1,38 +1,39 @@ -{ alsa-lib -, at-spi2-core -, cmake -, curl -, dbus -, libepoxy -, fetchFromGitHub -, libglut -, freetype -, gtk3 -, lib -, libGL -, libXcursor -, libXdmcp -, libXext -, libXinerama -, libXrandr -, libXtst -, libdatrie -, libjack2 -, libpsl -, libselinux -, libsepol -, libsysprof-capture -, libthai -, libuuid -, libxkbcommon -, lv2 -, pcre -, pcre2 -, pkg-config -, python3 -, sqlite -, gcc11Stdenv -, webkitgtk_4_0 +{ + alsa-lib, + at-spi2-core, + cmake, + curl, + dbus, + libepoxy, + fetchFromGitHub, + libglut, + freetype, + gtk3, + lib, + libGL, + libXcursor, + libXdmcp, + libXext, + libXinerama, + libXrandr, + libXtst, + libdatrie, + libjack2, + libpsl, + libselinux, + libsepol, + libsysprof-capture, + libthai, + libuuid, + libxkbcommon, + lv2, + pcre, + pcre2, + pkg-config, + python3, + sqlite, + gcc11Stdenv, + webkitgtk_4_0, }: let # JUCE version in submodules is incompatible with GCC12 @@ -51,7 +52,10 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ alsa-lib @@ -109,18 +113,19 @@ stdenv.mkDerivation (finalAttrs: { # JUCE dlopens these, make sure they are in rpath # Otherwise, segfault will happen - NIX_LDFLAGS = (toString [ - "-lX11" - "-lXext" - "-lXcursor" - "-lXinerama" - "-lXrandr" - ]); + NIX_LDFLAGS = ( + toString [ + "-lX11" + "-lXext" + "-lXcursor" + "-lXinerama" + "-lXrandr" + ] + ); meta = with lib; { homepage = "https://github.com/jatinchowdhury18/AnalogTapeModel"; - description = - "Physical modelling signal processing for analog tape recording. LV2, VST3, CLAP, and standalone"; + description = "Physical modelling signal processing for analog tape recording. LV2, VST3, CLAP, and standalone"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ magnetophon ]; platforms = platforms.linux; diff --git a/pkgs/by-name/ch/chroma/package.nix b/pkgs/by-name/ch/chroma/package.nix index e577451af1657..379fd6384bdcd 100644 --- a/pkgs/by-name/ch/chroma/package.nix +++ b/pkgs/by-name/ch/chroma/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: let srcInfo = lib.importJSON ./src.json; @@ -11,9 +15,9 @@ buildGoModule rec { # To update: # nix-prefetch-git --rev v${version} https://github.com/alecthomas/chroma.git > src.json src = fetchFromGitHub { - owner = "alecthomas"; - repo = pname; - rev = "v${version}"; + owner = "alecthomas"; + repo = pname; + rev = "v${version}"; inherit (srcInfo) sha256; }; @@ -23,9 +27,12 @@ buildGoModule rec { # substitute version info as done in goreleaser builds ldflags = [ - "-X" "main.version=${version}" - "-X" "main.commit=${srcInfo.rev}" - "-X" "main.date=${srcInfo.date}" + "-X" + "main.version=${version}" + "-X" + "main.commit=${srcInfo.rev}" + "-X" + "main.date=${srcInfo.date}" ]; meta = with lib; { diff --git a/pkgs/by-name/ch/chromatic/package.nix b/pkgs/by-name/ch/chromatic/package.nix index 0598bababaa66..32a518b36ce99 100644 --- a/pkgs/by-name/ch/chromatic/package.nix +++ b/pkgs/by-name/ch/chromatic/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, meson -, ninja -, pkg-config -, rustc -, cargo -, wrapGAppsHook4 -, desktop-file-utils -, libxml2 -, libadwaita -, portaudio -, libpulseaudio +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + meson, + ninja, + pkg-config, + rustc, + cargo, + wrapGAppsHook4, + desktop-file-utils, + libxml2, + libadwaita, + portaudio, + libpulseaudio, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ch/chrome-export/package.nix b/pkgs/by-name/ch/chrome-export/package.nix index d3f4878ee6918..0825613aad594 100644 --- a/pkgs/by-name/ch/chrome-export/package.nix +++ b/pkgs/by-name/ch/chrome-export/package.nix @@ -1,5 +1,8 @@ -{ lib, stdenv, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ch/chromium-bsu/package.nix b/pkgs/by-name/ch/chromium-bsu/package.nix index 135110028f431..dffa9617c7f66 100644 --- a/pkgs/by-name/ch/chromium-bsu/package.nix +++ b/pkgs/by-name/ch/chromium-bsu/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, SDL2 -, SDL2_image -, SDL2_mixer -, fontconfig -, freealut -, libglut -, ftgl -, gettext -, glpng -, libGL -, libGLU -, openal -, pkg-config -, quesoglc +{ + lib, + stdenv, + fetchurl, + SDL2, + SDL2_image, + SDL2_mixer, + fontconfig, + freealut, + libglut, + ftgl, + gettext, + glpng, + libGL, + libGLU, + openal, + pkg-config, + quesoglc, }: stdenv.mkDerivation rec { @@ -51,7 +52,6 @@ stdenv.mkDerivation rec { "--disable-sdlmixer" ]; - postInstall = '' install -D misc/chromium-bsu.png $out/share/pixmaps/chromium-bsu.png install -D misc/chromium-bsu.desktop $out/share/applications/chromium-bsu.desktop diff --git a/pkgs/by-name/ch/chrpath/package.nix b/pkgs/by-name/ch/chrpath/package.nix index 6116eb7d46795..f1834792006be 100644 --- a/pkgs/by-name/ch/chrpath/package.nix +++ b/pkgs/by-name/ch/chrpath/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "chrpath"; diff --git a/pkgs/by-name/ch/chruby-fish/package.nix b/pkgs/by-name/ch/chruby-fish/package.nix index 6268c740e2127..620a63c1fa524 100644 --- a/pkgs/by-name/ch/chruby-fish/package.nix +++ b/pkgs/by-name/ch/chruby-fish/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, chruby }: +{ + stdenv, + lib, + fetchFromGitHub, + chruby, +}: stdenv.mkDerivation rec { pname = "chruby-fish"; diff --git a/pkgs/by-name/ch/cht-sh/package.nix b/pkgs/by-name/ch/cht-sh/package.nix index a8b3f62d5a3a4..0cba6cd2e58c2 100644 --- a/pkgs/by-name/ch/cht-sh/package.nix +++ b/pkgs/by-name/ch/cht-sh/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, unstableGitUpdater -, makeWrapper -, curl -, ncurses -, rlwrap -, xsel +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + makeWrapper, + curl, + ncurses, + rlwrap, + xsel, }: stdenv.mkDerivation { @@ -33,7 +35,14 @@ stdenv.mkDerivation { cp share/zsh.txt $out/share/zsh/site-functions/_cht wrapProgram "$out/bin/cht.sh" \ - --prefix PATH : "${lib.makeBinPath [ curl rlwrap ncurses xsel ]}" + --prefix PATH : "${ + lib.makeBinPath [ + curl + rlwrap + ncurses + xsel + ] + }" ''; passthru.updateScript = unstableGitUpdater { @@ -43,7 +52,10 @@ stdenv.mkDerivation { meta = with lib; { description = "CLI client for cheat.sh, a community driven cheat sheet"; license = licenses.mit; - maintainers = with maintainers; [ fgaz evanjs ]; + maintainers = with maintainers; [ + fgaz + evanjs + ]; homepage = "https://github.com/chubin/cheat.sh"; mainProgram = "cht.sh"; }; diff --git a/pkgs/by-name/ch/chunk/package.nix b/pkgs/by-name/ch/chunk/package.nix index eb25cdf40f732..829593338f232 100644 --- a/pkgs/by-name/ch/chunk/package.nix +++ b/pkgs/by-name/ch/chunk/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "chunk"; diff --git a/pkgs/by-name/ch/chunkfs/package.nix b/pkgs/by-name/ch/chunkfs/package.nix index e77da2d712bb8..60efcdf476671 100644 --- a/pkgs/by-name/ch/chunkfs/package.nix +++ b/pkgs/by-name/ch/chunkfs/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, fuse }: +{ + lib, + stdenv, + fetchurl, + perl, + fuse, +}: stdenv.mkDerivation rec { version = "0.7"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "4c168fc2b265a6ba34afc565707ea738f34375325763c0596f2cfa1c9b8d40f1"; }; - buildInputs = [perl fuse]; + buildInputs = [ + perl + fuse + ]; makeFlags = [ "DESTDIR=$(out)" diff --git a/pkgs/by-name/ch/chunksync/package.nix b/pkgs/by-name/ch/chunksync/package.nix index 49142f77807c8..fe49a2747df13 100644 --- a/pkgs/by-name/ch/chunksync/package.nix +++ b/pkgs/by-name/ch/chunksync/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, openssl, perl }: +{ + lib, + stdenv, + fetchurl, + openssl, + perl, +}: stdenv.mkDerivation rec { version = "0.4"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1gwqp1kjwhcmwhynilakhzpzgc0c6kk8c9vkpi30gwwrwpz3cf00"; }; - buildInputs = [openssl perl]; + buildInputs = [ + openssl + perl + ]; NIX_LDFLAGS = "-lgcc_s"; diff --git a/pkgs/by-name/ci/ci-edit/package.nix b/pkgs/by-name/ci/ci-edit/package.nix index 3d8a4b541dd4e..02963c7e382cf 100644 --- a/pkgs/by-name/ci/ci-edit/package.nix +++ b/pkgs/by-name/ci/ci-edit/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication { diff --git a/pkgs/by-name/ci/ciao/package.nix b/pkgs/by-name/ci/ciao/package.nix index d7c215de005fe..025ec757b86b5 100644 --- a/pkgs/by-name/ci/ciao/package.nix +++ b/pkgs/by-name/ci/ciao/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ciao"; diff --git a/pkgs/by-name/ci/cicero-tui/package.nix b/pkgs/by-name/ci/cicero-tui/package.nix index 0ab33112a6e3b..fef7e630400d7 100644 --- a/pkgs/by-name/ci/cicero-tui/package.nix +++ b/pkgs/by-name/ci/cicero-tui/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake -, pkg-config -, expat -, fontconfig -, freetype +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + pkg-config, + expat, + fontconfig, + freetype, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ci/cider/package.nix b/pkgs/by-name/ci/cider/package.nix index 9941cbe79b5d8..c4754a06da6bd 100644 --- a/pkgs/by-name/ci/cider/package.nix +++ b/pkgs/by-name/ci/cider/package.nix @@ -1,4 +1,9 @@ -{ appimageTools, lib, fetchurl, makeWrapper}: +{ + appimageTools, + lib, + fetchurl, + makeWrapper, +}: appimageTools.wrapType2 rec { pname = "cider"; @@ -12,8 +17,10 @@ appimageTools.wrapType2 rec { nativeBuildInputs = [ makeWrapper ]; extraInstallCommands = - let contents = appimageTools.extract { inherit pname version src; }; - in '' + let + contents = appimageTools.extract { inherit pname version src; }; + in + '' wrapProgram $out/bin/${pname} \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" diff --git a/pkgs/by-name/ci/cidr-merger/package.nix b/pkgs/by-name/ci/cidr-merger/package.nix index d9e7591573fe1..5626be5d1d91b 100644 --- a/pkgs/by-name/ci/cidr-merger/package.nix +++ b/pkgs/by-name/ci/cidr-merger/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ci/cidrgrep/package.nix b/pkgs/by-name/ci/cidrgrep/package.nix index ddc67097fb28a..df286927c489d 100644 --- a/pkgs/by-name/ci/cidrgrep/package.nix +++ b/pkgs/by-name/ci/cidrgrep/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "cidrgrep"; diff --git a/pkgs/by-name/ci/cie-middleware-linux/package.nix b/pkgs/by-name/ci/cie-middleware-linux/package.nix index 11c0567bb6f08..ed97589ec95a9 100644 --- a/pkgs/by-name/ci/cie-middleware-linux/package.nix +++ b/pkgs/by-name/ci/cie-middleware-linux/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, stripJavaArchivesHook -, meson -, ninja -, pkg-config -, gradle_8 -, curl -, cryptopp -, fontconfig -, jre -, libxml2 -, openssl -, pcsclite -, podofo -, ghostscript +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + stripJavaArchivesHook, + meson, + ninja, + pkg-config, + gradle_8, + curl, + cryptopp, + fontconfig, + jre, + libxml2, + openssl, + pcsclite, + podofo, + ghostscript, }: let @@ -79,7 +80,8 @@ stdenv.mkDerivation { gradleFlags = [ "-Dorg.gradle.java.home=${jre}" - "--build-file" "cie-java/build.gradle" + "--build-file" + "cie-java/build.gradle" ]; gradleBuildTask = "standalone"; diff --git a/pkgs/by-name/ci/ciel/package.nix b/pkgs/by-name/ci/ciel/package.nix index cb13848695570..fa603f3d9f267 100644 --- a/pkgs/by-name/ci/ciel/package.nix +++ b/pkgs/by-name/ci/ciel/package.nix @@ -1,16 +1,17 @@ -{ lib -, bash -, dbus -, fetchFromGitHub -, installShellFiles -, libgit2 -, libssh2 -, openssl -, pkg-config -, rustPlatform -, systemd -, xz -, zlib +{ + lib, + bash, + dbus, + fetchFromGitHub, + installShellFiles, + libgit2, + libssh2, + openssl, + pkg-config, + rustPlatform, + systemd, + xz, + zlib, }: rustPlatform.buildRustPackage rec { @@ -31,11 +32,23 @@ rustPlatform.buildRustPackage rec { }; }; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; # ciel has plugins which is actually bash scripts. # Therefore, bash is required for plugins to work. - buildInputs = [ bash systemd dbus openssl libssh2 libgit2 xz zlib ]; + buildInputs = [ + bash + systemd + dbus + openssl + libssh2 + libgit2 + xz + zlib + ]; postInstall = '' mv -v "$out/bin/ciel-rs" "$out/bin/ciel" @@ -55,7 +68,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/AOSC-Dev/ciel-rs"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ A1ca7raz yisuidenghua ]; + maintainers = with maintainers; [ + A1ca7raz + yisuidenghua + ]; mainProgram = "ciel"; }; } diff --git a/pkgs/by-name/ci/ciftilib/package.nix b/pkgs/by-name/ci/ciftilib/package.nix index 85b0b1c8a0e5b..e50f84820b52a 100644 --- a/pkgs/by-name/ci/ciftilib/package.nix +++ b/pkgs/by-name/ci/ciftilib/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, libxmlxx -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + libxmlxx, + pkg-config, + zlib, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-xc2dpMse4SozYEV/w3rXCrh1LKpTThq5nHB2y5uAD0A="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ boost libxmlxx zlib ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + boost + libxmlxx + zlib + ]; cmakeFlags = [ "-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;'big|datatype-md5'" ]; diff --git a/pkgs/by-name/ci/cimg/package.nix b/pkgs/by-name/ci/cimg/package.nix index a5112b2107203..3c0b917a81a04 100644 --- a/pkgs/by-name/ci/cimg/package.nix +++ b/pkgs/by-name/ci/cimg/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, gmic -, gmic-qt +{ + lib, + stdenv, + fetchFromGitHub, + gmic, + gmic-qt, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Abe7mSbdj06MossUQXCKZPzzfyvJyRVeLfzINYNPv4g="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ci/cinelerra/package.nix b/pkgs/by-name/ci/cinelerra/package.nix index 6bad50d9e453e..adbaf1de6f806 100644 --- a/pkgs/by-name/ci/cinelerra/package.nix +++ b/pkgs/by-name/ci/cinelerra/package.nix @@ -1,45 +1,46 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, pkg-config -, faad2 -, faac -, a52dec -, alsa-lib -, fftw -, lame -, libavc1394 -, libiec61883 -, libraw1394 -, libsndfile -, libvorbis -, libogg -, libjpeg -, libtiff -, freetype -, mjpegtools -, x264 -, gettext -, openexr -, libXext -, libXxf86vm -, libXv -, libXi -, libX11 -, libXft -, xorgproto -, libtheora -, libpng -, libdv -, libuuid -, file -, nasm -, perl -, fontconfig -, intltool +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + faad2, + faac, + a52dec, + alsa-lib, + fftw, + lame, + libavc1394, + libiec61883, + libraw1394, + libsndfile, + libvorbis, + libogg, + libjpeg, + libtiff, + freetype, + mjpegtools, + x264, + gettext, + openexr, + libXext, + libXxf86vm, + libXv, + libXi, + libX11, + libXft, + xorgproto, + libtheora, + libpng, + libdv, + libuuid, + file, + nasm, + perl, + fontconfig, + intltool, }: stdenv.mkDerivation { @@ -66,7 +67,14 @@ stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ automake autoconf libtool pkg-config file intltool ]; + nativeBuildInputs = [ + automake + autoconf + libtool + pkg-config + file + intltool + ]; buildInputs = [ faad2 diff --git a/pkgs/by-name/ci/cinnamon-common/package.nix b/pkgs/by-name/ci/cinnamon-common/package.nix index 473b96380662c..8b4fd0a6bbd46 100644 --- a/pkgs/by-name/ci/cinnamon-common/package.nix +++ b/pkgs/by-name/ci/cinnamon-common/package.nix @@ -1,74 +1,77 @@ -{ atk -, cacert -, dbus -, cinnamon-control-center -, cinnamon-desktop -, cinnamon-menus -, cinnamon-session -, cinnamon-translations -, cjs -, evolution-data-server -, fetchFromGitHub -, gcr -, gdk-pixbuf -, gettext -, libgnomekbd -, glib -, gobject-introspection -, gsound -, gtk3 -, intltool -, json-glib -, libsecret -, libstartup_notification -, libXtst -, libXdamage -, mesa -, muffin -, networkmanager -, pkg-config -, polkit -, lib -, stdenv -, wrapGAppsHook3 -, libxml2 -, gtk-doc -, caribou -, python3 -, keybinder3 -, cairo -, xapp -, upower -, nemo -, libnotify -, accountsservice -, gnome-online-accounts -, glib-networking -, pciutils -, timezonemap -, libnma -, meson -, ninja -, gst_all_1 -, perl +{ + atk, + cacert, + dbus, + cinnamon-control-center, + cinnamon-desktop, + cinnamon-menus, + cinnamon-session, + cinnamon-translations, + cjs, + evolution-data-server, + fetchFromGitHub, + gcr, + gdk-pixbuf, + gettext, + libgnomekbd, + glib, + gobject-introspection, + gsound, + gtk3, + intltool, + json-glib, + libsecret, + libstartup_notification, + libXtst, + libXdamage, + mesa, + muffin, + networkmanager, + pkg-config, + polkit, + lib, + stdenv, + wrapGAppsHook3, + libxml2, + gtk-doc, + caribou, + python3, + keybinder3, + cairo, + xapp, + upower, + nemo, + libnotify, + accountsservice, + gnome-online-accounts, + glib-networking, + pciutils, + timezonemap, + libnma, + meson, + ninja, + gst_all_1, + perl, }: let - pythonEnv = python3.withPackages (pp: with pp; [ - dbus-python - setproctitle - pygobject3 - pycairo - python-xapp - pillow - pyinotify # for looking-glass - pytz - tinycss2 - python-pam - pexpect - distro - requests - ]); + pythonEnv = python3.withPackages ( + pp: with pp; [ + dbus-python + setproctitle + pygobject3 + pycairo + python-xapp + pillow + pyinotify # for looking-glass + pytz + tinycss2 + python-pam + pexpect + distro + requests + ] + ); in # TODO (after 25.05 branch-off): Rename to pkgs.cinnamon stdenv.mkDerivation rec { @@ -198,7 +201,11 @@ stdenv.mkDerivation rec { ''; passthru = { - providedSessions = [ "cinnamon" "cinnamon2d" "cinnamon-wayland" ]; + providedSessions = [ + "cinnamon" + "cinnamon2d" + "cinnamon-wayland" + ]; }; meta = with lib; { diff --git a/pkgs/by-name/ci/cinnamon-control-center/package.nix b/pkgs/by-name/ci/cinnamon-control-center/package.nix index 34ca22fab3af8..4bceb08d110f8 100644 --- a/pkgs/by-name/ci/cinnamon-control-center/package.nix +++ b/pkgs/by-name/ci/cinnamon-control-center/package.nix @@ -1,34 +1,35 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, glib -, glib-networking -, gettext -, cinnamon-desktop -, gtk3 -, libnotify -, libxml2 -, colord -, polkit -, libxkbfile -, cinnamon-menus -, libgnomekbd -, libxklavier -, networkmanager -, libgudev -, libwacom -, wrapGAppsHook3 -, glibc -, libnma -, modemmanager -, xorg -, gdk-pixbuf -, meson -, ninja -, cinnamon-translations -, python3 -, upower +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + glib-networking, + gettext, + cinnamon-desktop, + gtk3, + libnotify, + libxml2, + colord, + polkit, + libxkbfile, + cinnamon-menus, + libgnomekbd, + libxklavier, + networkmanager, + libgudev, + libwacom, + wrapGAppsHook3, + glibc, + libnma, + modemmanager, + xorg, + gdk-pixbuf, + meson, + ninja, + cinnamon-translations, + python3, + upower, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ci/cinnamon-desktop/package.nix b/pkgs/by-name/ci/cinnamon-desktop/package.nix index d69797b0d7760..9855c58eaf6e3 100644 --- a/pkgs/by-name/ci/cinnamon-desktop/package.nix +++ b/pkgs/by-name/ci/cinnamon-desktop/package.nix @@ -1,21 +1,22 @@ -{ fetchFromGitHub -, gdk-pixbuf -, gobject-introspection -, gtk3 -, intltool -, isocodes -, meson -, ninja -, pkg-config -, pulseaudio -, python3 -, lib -, stdenv -, systemd -, xkeyboard_config -, xorg -, wrapGAppsHook3 -, glib +{ + fetchFromGitHub, + gdk-pixbuf, + gobject-introspection, + gtk3, + intltool, + isocodes, + meson, + ninja, + pkg-config, + pulseaudio, + python3, + lib, + stdenv, + systemd, + xkeyboard_config, + xorg, + wrapGAppsHook3, + glib, }: stdenv.mkDerivation rec { @@ -29,7 +30,10 @@ stdenv.mkDerivation rec { hash = "sha256-YKGVuT28MLcLO9T8ZJqbHqMN0SAn1P1l8JTDBo4n838="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; propagatedBuildInputs = [ glib @@ -75,7 +79,10 @@ stdenv.mkDerivation rec { gtk-doc. ''; - license = [ licenses.gpl2 licenses.lgpl2 ]; + license = [ + licenses.gpl2 + licenses.lgpl2 + ]; platforms = platforms.linux; maintainers = teams.cinnamon.members; }; diff --git a/pkgs/by-name/ci/cinnamon-gsettings-overrides/package.nix b/pkgs/by-name/ci/cinnamon-gsettings-overrides/package.nix index 0969fb1123390..52bf50d5abb86 100644 --- a/pkgs/by-name/ci/cinnamon-gsettings-overrides/package.nix +++ b/pkgs/by-name/ci/cinnamon-gsettings-overrides/package.nix @@ -1,21 +1,22 @@ -{ lib -, runCommand -, glib -, gnome-terminal -, gtk3 -, gsettings-desktop-schemas -, extraGSettingsOverrides ? "" -, extraGSettingsOverridePackages ? [ ] -, mint-artwork +{ + lib, + runCommand, + glib, + gnome-terminal, + gtk3, + gsettings-desktop-schemas, + extraGSettingsOverrides ? "", + extraGSettingsOverridePackages ? [ ], + mint-artwork, -, muffin -, nemo -, xapp -, cinnamon-desktop -, cinnamon-session -, cinnamon-settings-daemon -, cinnamon-common -, bulky + muffin, + nemo, + xapp, + cinnamon-desktop, + cinnamon-session, + cinnamon-settings-daemon, + cinnamon-common, + bulky, }: let @@ -53,20 +54,22 @@ let in # TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this -runCommand "cinnamon-gsettings-overrides" { preferLocalBuild = true; } - '' - data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides" - schema_dir="$data_dir/glib-2.0/schemas" +runCommand "cinnamon-gsettings-overrides" { preferLocalBuild = true; } '' + data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides" + schema_dir="$data_dir/glib-2.0/schemas" - mkdir -p "$schema_dir" + mkdir -p "$schema_dir" - ${concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages} + ${concatMapStringsSep "\n" ( + pkg: + "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"" + ) gsettingsOverridePackages} - chmod -R a+w "$data_dir" + chmod -R a+w "$data_dir" - cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF - ${gsettingsOverrides} - EOF + cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF + ${gsettingsOverrides} + EOF - ${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir" - '' + ${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir" +'' diff --git a/pkgs/by-name/ci/cinnamon-menus/package.nix b/pkgs/by-name/ci/cinnamon-menus/package.nix index 6177303fa9db2..69b5656f5c0b8 100644 --- a/pkgs/by-name/ci/cinnamon-menus/package.nix +++ b/pkgs/by-name/ci/cinnamon-menus/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, glib -, gobject-introspection -, meson -, ninja -, pkg-config -, lib -, stdenv -, wrapGAppsHook3 +{ + fetchFromGitHub, + glib, + gobject-introspection, + meson, + ninja, + pkg-config, + lib, + stdenv, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -35,7 +36,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/linuxmint/cinnamon-menus"; description = "Menu system for the Cinnamon project"; - license = [ licenses.gpl2 licenses.lgpl2 ]; + license = [ + licenses.gpl2 + licenses.lgpl2 + ]; platforms = platforms.linux; maintainers = teams.cinnamon.members; }; diff --git a/pkgs/by-name/ci/cinnamon-screensaver/package.nix b/pkgs/by-name/ci/cinnamon-screensaver/package.nix index 23e963088e19a..003587cc15f6f 100644 --- a/pkgs/by-name/ci/cinnamon-screensaver/package.nix +++ b/pkgs/by-name/ci/cinnamon-screensaver/package.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, meson -, ninja -, glib -, dbus -, gettext -, cinnamon-desktop -, cinnamon-common -, intltool -, libxslt -, gtk3 -, libgnomekbd -, caribou -, libtool -, wrapGAppsHook3 -, gobject-introspection -, python3 -, pam -, cairo -, xapp -, xdotool -, xorg -, iso-flags-png-320x240 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + glib, + dbus, + gettext, + cinnamon-desktop, + cinnamon-common, + intltool, + libxslt, + gtk3, + libgnomekbd, + caribou, + libtool, + wrapGAppsHook3, + gobject-introspection, + python3, + pam, + cairo, + xapp, + xdotool, + xorg, + iso-flags-png-320x240, }: stdenv.mkDerivation rec { @@ -66,12 +67,14 @@ stdenv.mkDerivation rec { xorg.libX11 xorg.libXrandr - (python3.withPackages (pp: with pp; [ - pygobject3 - setproctitle - python-xapp - pycairo - ])) + (python3.withPackages ( + pp: with pp; [ + pygobject3 + setproctitle + python-xapp + pycairo + ] + )) xapp xdotool pam @@ -105,7 +108,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/linuxmint/cinnamon-screensaver"; description = "Cinnamon screen locker and screensaver program"; - license = [ licenses.gpl2 licenses.lgpl2 ]; + license = [ + licenses.gpl2 + licenses.lgpl2 + ]; platforms = platforms.linux; maintainers = teams.cinnamon.members; }; diff --git a/pkgs/by-name/ci/cinnamon-session/package.nix b/pkgs/by-name/ci/cinnamon-session/package.nix index d6c58c0ac8a89..d56661073c6c0 100644 --- a/pkgs/by-name/ci/cinnamon-session/package.nix +++ b/pkgs/by-name/ci/cinnamon-session/package.nix @@ -1,33 +1,36 @@ -{ fetchFromGitHub -, cinnamon-desktop -, cinnamon-settings-daemon -, cinnamon-translations -, dbus-glib -, glib -, gsettings-desktop-schemas -, gtk3 -, libcanberra -, libxslt -, meson -, ninja -, pkg-config -, python3 -, lib -, stdenv -, systemd -, wrapGAppsHook3 -, xapp -, xorg -, libexecinfo -, pango +{ + fetchFromGitHub, + cinnamon-desktop, + cinnamon-settings-daemon, + cinnamon-translations, + dbus-glib, + glib, + gsettings-desktop-schemas, + gtk3, + libcanberra, + libxslt, + meson, + ninja, + pkg-config, + python3, + lib, + stdenv, + systemd, + wrapGAppsHook3, + xapp, + xorg, + libexecinfo, + pango, }: let - pythonEnv = python3.withPackages (pp: with pp; [ - python-xapp - pygobject3 - setproctitle - ]); + pythonEnv = python3.withPackages ( + pp: with pp; [ + python-xapp + pygobject3 + setproctitle + ] + ); in stdenv.mkDerivation rec { pname = "cinnamon-session"; diff --git a/pkgs/by-name/ci/cinnamon-settings-daemon/package.nix b/pkgs/by-name/ci/cinnamon-settings-daemon/package.nix index 1844fd9795afe..9df1417065872 100644 --- a/pkgs/by-name/ci/cinnamon-settings-daemon/package.nix +++ b/pkgs/by-name/ci/cinnamon-settings-daemon/package.nix @@ -1,33 +1,34 @@ -{ fetchFromGitHub -, cinnamon-desktop -, cinnamon-translations -, colord -, glib -, gsettings-desktop-schemas -, gtk3 -, lcms2 -, libcanberra-gtk3 -, libgnomekbd -, libnotify -, libxklavier -, wrapGAppsHook3 -, pkg-config -, lib -, stdenv -, systemd -, upower -, dconf -, cups -, polkit -, librsvg -, libwacom -, xorg -, fontconfig -, tzdata -, nss -, libgudev -, meson -, ninja +{ + fetchFromGitHub, + cinnamon-desktop, + cinnamon-translations, + colord, + glib, + gsettings-desktop-schemas, + gtk3, + lcms2, + libcanberra-gtk3, + libgnomekbd, + libnotify, + libxklavier, + wrapGAppsHook3, + pkg-config, + lib, + stdenv, + systemd, + upower, + dconf, + cups, + polkit, + librsvg, + libwacom, + xorg, + fontconfig, + tzdata, + nss, + libgudev, + meson, + ninja, }: stdenv.mkDerivation rec { @@ -79,7 +80,10 @@ stdenv.mkDerivation rec { pkg-config ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' sed "s|/usr/share/zoneinfo|${tzdata}/share/zoneinfo|g" -i plugins/datetime/system-timezone.h diff --git a/pkgs/by-name/ci/cinnamon-translations/package.nix b/pkgs/by-name/ci/cinnamon-translations/package.nix index d00203246da87..e2a7a7fc04290 100644 --- a/pkgs/by-name/ci/cinnamon-translations/package.nix +++ b/pkgs/by-name/ci/cinnamon-translations/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, gettext +{ + lib, + stdenv, + fetchFromGitHub, + gettext, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ci/cinzel/package.nix b/pkgs/by-name/ci/cinzel/package.nix index 21e22474a342e..db499054965e0 100644 --- a/pkgs/by-name/ci/cinzel/package.nix +++ b/pkgs/by-name/ci/cinzel/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub, rename, nix-update-script }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + rename, + nix-update-script, +}: stdenvNoCC.mkDerivation { pname = "cinzel"; @@ -11,7 +17,10 @@ stdenvNoCC.mkDerivation { hash = "sha256-V3vSxe5eHN0BUplzmmBchzuV+gz36WfgZZezJ6NfaWg="; }; - outputs = [ "out" "variable" ]; + outputs = [ + "out" + "variable" + ]; nativeBuildInputs = [ rename ]; diff --git a/pkgs/by-name/ci/ciopfs/package.nix b/pkgs/by-name/ci/ciopfs/package.nix index 56de051012bd3..b2f0c62fc109b 100644 --- a/pkgs/by-name/ci/ciopfs/package.nix +++ b/pkgs/by-name/ci/ciopfs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, fuse, glib, attr }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, + glib, + attr, +}: stdenv.mkDerivation rec { pname = "ciopfs"; @@ -10,9 +18,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse glib attr ]; + buildInputs = [ + fuse + glib + attr + ]; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = { homepage = "https://www.brain-dump.org/projects/ciopfs/"; diff --git a/pkgs/by-name/ci/cipher/package.nix b/pkgs/by-name/ci/cipher/package.nix index f4416738e0e83..b93049e9d4d21 100644 --- a/pkgs/by-name/ci/cipher/package.nix +++ b/pkgs/by-name/ci/cipher/package.nix @@ -1,17 +1,20 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, vala -, pkg-config -, pantheon -, python3 -, gettext -, glib -, gtk3 -, libgee -, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + vala, + pkg-config, + pantheon, + python3, + gettext, + glib, + gtk3, + libgee, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "cipher"; diff --git a/pkgs/by-name/ci/circle-flags/package.nix b/pkgs/by-name/ci/circle-flags/package.nix index eed82fbdbb47a..5f7bd2ece3032 100644 --- a/pkgs/by-name/ci/circle-flags/package.nix +++ b/pkgs/by-name/ci/circle-flags/package.nix @@ -1,7 +1,8 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, nix-update-script +{ + stdenvNoCC, + lib, + fetchFromGitHub, + nix-update-script, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ci/circleci-cli/package.nix b/pkgs/by-name/ci/circleci-cli/package.nix index dae7e36721459..111cc27f1e296 100644 --- a/pkgs/by-name/ci/circleci-cli/package.nix +++ b/pkgs/by-name/ci/circleci-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: buildGoModule rec { pname = "circleci-cli"; @@ -17,7 +22,13 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X github.com/CircleCI-Public/circleci-cli/version.Version=${version}" "-X github.com/CircleCI-Public/circleci-cli/version.Commit=${src.rev}" "-X github.com/CircleCI-Public/circleci-cli/version.packageManager=nix" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/CircleCI-Public/circleci-cli/version.Version=${version}" + "-X github.com/CircleCI-Public/circleci-cli/version.Commit=${src.rev}" + "-X github.com/CircleCI-Public/circleci-cli/version.packageManager=nix" + ]; postInstall = '' mv $out/bin/circleci-cli $out/bin/circleci diff --git a/pkgs/by-name/ci/circom/package.nix b/pkgs/by-name/ci/circom/package.nix index 7728755ffac77..e1ec6888dae56 100644 --- a/pkgs/by-name/ci/circom/package.nix +++ b/pkgs/by-name/ci/circom/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ci/circumflex/package.nix b/pkgs/by-name/ci/circumflex/package.nix index 354bc383271ad..926a660f0a663 100644 --- a/pkgs/by-name/ci/circumflex/package.nix +++ b/pkgs/by-name/ci/circumflex/package.nix @@ -1,4 +1,11 @@ -{ lib, less, ncurses, buildGoModule, fetchFromGitHub, makeWrapper }: +{ + lib, + less, + ncurses, + buildGoModule, + fetchFromGitHub, + makeWrapper, +}: buildGoModule rec { pname = "circumflex"; @@ -17,7 +24,12 @@ buildGoModule rec { postInstall = '' wrapProgram $out/bin/clx \ - --prefix PATH : ${lib.makeBinPath [ less ncurses ]} + --prefix PATH : ${ + lib.makeBinPath [ + less + ncurses + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/ci/cirrus-cli/package.nix b/pkgs/by-name/ci/cirrus-cli/package.nix index ed0d08ac6381c..38615c75551d1 100644 --- a/pkgs/by-name/ci/cirrus-cli/package.nix +++ b/pkgs/by-name/ci/cirrus-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, installShellFiles +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ci/cirrusgo/package.nix b/pkgs/by-name/ci/cirrusgo/package.nix index d7301dd604bda..27b88bc477dfc 100644 --- a/pkgs/by-name/ci/cirrusgo/package.nix +++ b/pkgs/by-name/ci/cirrusgo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ci/ciscoPacketTracer7/package.nix b/pkgs/by-name/ci/ciscoPacketTracer7/package.nix index b4faca4118f26..f91e6612a0040 100644 --- a/pkgs/by-name/ci/ciscoPacketTracer7/package.nix +++ b/pkgs/by-name/ci/ciscoPacketTracer7/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, buildFHSEnv -, copyDesktopItems -, dpkg -, lndir -, makeDesktopItem -, makeWrapper -, requireFile +{ + stdenv, + lib, + buildFHSEnv, + copyDesktopItems, + dpkg, + lndir, + makeDesktopItem, + makeWrapper, + requireFile, }: let @@ -18,12 +19,15 @@ let dontUnpack = true; src = requireFile { - name = "PacketTracer_${builtins.replaceStrings ["."] [""] version}_amd64.deb"; + name = "PacketTracer_${builtins.replaceStrings [ "." ] [ "" ] version}_amd64.deb"; hash = "sha256-w5gC0V3WHQC6J/uMEW2kX9hWKrS0mZZVWtZriN6s4n8="; url = "https://www.netacad.com"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; installPhase = '' dpkg-deb -x $src $out @@ -37,7 +41,11 @@ let desktopName = "Cisco Packet Tracer 7"; icon = "${ptFiles}/opt/pt/art/app.png"; exec = "packettracer7 %f"; - mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; + mimeTypes = [ + "application/x-pkt" + "application/x-pka" + "application/x-pkz" + ]; }; fhs = buildFHSEnv { @@ -45,27 +53,29 @@ let inherit version; runScript = "${ptFiles}/bin/packettracer7"; - targetPkgs = pkgs: with pkgs; [ - alsa-lib - dbus - expat - fontconfig - glib - libglvnd - libpulseaudio - libudev0-shim - libxkbcommon - libxml2 - libxslt - nspr - nss - xorg.libICE - xorg.libSM - xorg.libX11 - xorg.libXScrnSaver - ]; + targetPkgs = + pkgs: with pkgs; [ + alsa-lib + dbus + expat + fontconfig + glib + libglvnd + libpulseaudio + libudev0-shim + libxkbcommon + libxml2 + libxslt + nspr + nss + xorg.libICE + xorg.libSM + xorg.libX11 + xorg.libXScrnSaver + ]; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "ciscoPacketTracer7"; inherit version; diff --git a/pkgs/by-name/ci/citations/package.nix b/pkgs/by-name/ci/citations/package.nix index 178a0e25cbf6a..f515dbf72567b 100644 --- a/pkgs/by-name/ci/citations/package.nix +++ b/pkgs/by-name/ci/citations/package.nix @@ -1,23 +1,24 @@ -{ cargo -, darwin -, desktop-file-utils -, fetchFromGitLab -, gettext -, glib -, gtk4 -, gtksourceview5 -, lib -, libadwaita -, meson -, ninja -, pkg-config -, poppler -, rustPlatform -, rustc -, stdenv -, testers -, wrapGAppsHook4 -, clippy +{ + cargo, + darwin, + desktop-file-utils, + fetchFromGitLab, + gettext, + glib, + gtk4, + gtksourceview5, + lib, + libadwaita, + meson, + ninja, + pkg-config, + poppler, + rustPlatform, + rustc, + stdenv, + testers, + wrapGAppsHook4, + clippy, }: stdenv.mkDerivation (finalAttrs: { @@ -50,22 +51,26 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook4 ]; - buildInputs = [ - glib - gtk4 - gtksourceview5 - libadwaita - poppler - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + glib + gtk4 + gtksourceview5 + libadwaita + poppler + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang (lib.concatStringsSep " " [ - "-Wno-typedef-redefinition" - "-Wno-unused-parameter" - "-Wno-missing-field-initializers" - "-Wno-incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang ( + lib.concatStringsSep " " [ + "-Wno-typedef-redefinition" + "-Wno-unused-parameter" + "-Wno-missing-field-initializers" + "-Wno-incompatible-function-pointer-types" + ] + ); doCheck = true; diff --git a/pkgs/by-name/ci/citron/package.nix b/pkgs/by-name/ci/citron/package.nix index d40c8c9369283..b04f6f2a7fe05 100644 --- a/pkgs/by-name/ci/citron/package.nix +++ b/pkgs/by-name/ci/citron/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchCrate -, dbus -, installShellFiles -, pkg-config +{ + lib, + rustPlatform, + fetchCrate, + dbus, + installShellFiles, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { buildInputs = [ dbus ]; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; postInstall = '' installManPage doc/citron.1 diff --git a/pkgs/by-name/ci/civetweb/package.nix b/pkgs/by-name/ci/civetweb/package.nix index f6fe616957d60..319813b40e76d 100644 --- a/pkgs/by-name/ci/civetweb/package.nix +++ b/pkgs/by-name/ci/civetweb/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-Qh6BGPk7a01YzCeX42+Og9M+fjXRs7kzNUCyT4mYab4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; diff --git a/pkgs/by-name/cj/cjdns-tools/package.nix b/pkgs/by-name/cj/cjdns-tools/package.nix index dc76ce190760b..9e68412928e66 100644 --- a/pkgs/by-name/cj/cjdns-tools/package.nix +++ b/pkgs/by-name/cj/cjdns-tools/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, cjdns -, nodejs -, makeWrapper -, lib +{ + stdenv, + cjdns, + nodejs, + makeWrapper, + lib, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/cj/cjdns/package.nix b/pkgs/by-name/cj/cjdns/package.nix index c60e853a7d215..9d4bd485c7994 100644 --- a/pkgs/by-name/cj/cjdns/package.nix +++ b/pkgs/by-name/cj/cjdns/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, nodejs -, which -, python39 -, libuv -, util-linux -, nixosTests -, libsodium -, pkg-config -, substituteAll +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + nodejs, + which, + python39, + libuv, + util-linux, + nixosTests, + libsodium, + pkg-config, + substituteAll, }: rustPlatform.buildRustPackage rec { @@ -38,12 +39,14 @@ rustPlatform.buildRustPackage rec { }; }; - nativeBuildInputs = [ - which - python39 - nodejs - pkg-config - ] ++ + nativeBuildInputs = + [ + which + python39 + nodejs + pkg-config + ] + ++ # for flock lib.optional stdenv.hostPlatform.isLinux util-linux; @@ -53,14 +56,17 @@ rustPlatform.buildRustPackage rec { ]; env.SODIUM_USE_PKG_CONFIG = 1; - env.NIX_CFLAGS_COMPILE = toString ([ - "-O2" - "-Wno-error=array-bounds" - "-Wno-error=stringop-overflow" - "-Wno-error=stringop-truncation" - ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [ - "-Wno-error=stringop-overread" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-O2" + "-Wno-error=array-bounds" + "-Wno-error=stringop-overflow" + "-Wno-error=stringop-truncation" + ] + ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [ + "-Wno-error=stringop-overread" + ] + ); passthru.tests.basic = nixosTests.cjdns; diff --git a/pkgs/by-name/cj/cjose/package.nix b/pkgs/by-name/cj/cjose/package.nix index 3b0d448a35303..53785ab7cec04 100644 --- a/pkgs/by-name/cj/cjose/package.nix +++ b/pkgs/by-name/cj/cjose/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, doxygen -, check -, jansson -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + doxygen, + check, + jansson, + openssl, }: stdenv.mkDerivation rec { @@ -29,8 +30,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config doxygen ]; - buildInputs = [ jansson openssl ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + doxygen + ]; + buildInputs = [ + jansson + openssl + ]; nativeCheckInputs = [ check ]; configureFlags = [ diff --git a/pkgs/by-name/cj/cjs/package.nix b/pkgs/by-name/cj/cjs/package.nix index 8203ad4a9ecd3..0c9fce38f4153 100644 --- a/pkgs/by-name/cj/cjs/package.nix +++ b/pkgs/by-name/cj/cjs/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, gobject-introspection -, pkg-config -, cairo -, glib -, readline -, libsysprof-capture -, spidermonkey_115 -, meson -, mesonEmulatorHook -, dbus -, ninja -, which -, libxml2 +{ + stdenv, + lib, + fetchFromGitHub, + gobject-introspection, + pkg-config, + cairo, + glib, + readline, + libsysprof-capture, + spidermonkey_115, + meson, + mesonEmulatorHook, + dbus, + ninja, + which, + libxml2, }: stdenv.mkDerivation rec { @@ -27,21 +28,26 @@ stdenv.mkDerivation rec { hash = "sha256-2lkIWroOo3hxu9/L/Ty7CADzVrZ0ohyHVmm65NoNlD4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - which # for locale detection - libxml2 # for xml-stripblanks - dbus # for dbus-run-session - gobject-introspection - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + which # for locale detection + libxml2 # for xml-stripblanks + dbus # for dbus-run-session + gobject-introspection + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ cairo diff --git a/pkgs/by-name/cj/cjson/package.nix b/pkgs/by-name/cj/cjson/package.nix index 38be1c30cd468..d344e5ad45ec1 100644 --- a/pkgs/by-name/cj/cjson/package.nix +++ b/pkgs/by-name/cj/cjson/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "cjson"; diff --git a/pkgs/by-name/ck/ckan/package.nix b/pkgs/by-name/ck/ckan/package.nix index e0a73c0d0a0ad..ba33a67375823 100644 --- a/pkgs/by-name/ck/ckan/package.nix +++ b/pkgs/by-name/ck/ckan/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, mono, gtk2, curl }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + mono, + gtk2, + curl, +}: stdenv.mkDerivation rec { pname = "ckan"; @@ -14,7 +22,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ mono ]; - libraries = lib.makeLibraryPath [ gtk2 curl ]; + libraries = lib.makeLibraryPath [ + gtk2 + curl + ]; dontBuild = true; @@ -30,7 +41,10 @@ stdenv.mkDerivation rec { mainProgram = "ckan"; homepage = "https://github.com/KSP-CKAN/CKAN"; license = licenses.mit; - maintainers = with maintainers; [ Baughn ymarkus ]; + maintainers = with maintainers; [ + Baughn + ymarkus + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ck/cksfv/package.nix b/pkgs/by-name/ck/cksfv/package.nix index aae8f227ddeb7..6d78486c8d6f4 100644 --- a/pkgs/by-name/ck/cksfv/package.nix +++ b/pkgs/by-name/ck/cksfv/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cksfv"; diff --git a/pkgs/by-name/cl/cl-launch/package.nix b/pkgs/by-name/cl/cl-launch/package.nix index 35cfd01ff9252..3b1f8b6bad4b7 100644 --- a/pkgs/by-name/cl/cl-launch/package.nix +++ b/pkgs/by-name/cl/cl-launch/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cl-launch"; version = "4.1.4.1"; diff --git a/pkgs/by-name/cl/cl-wordle/package.nix b/pkgs/by-name/cl/cl-wordle/package.nix index 8765638b051c0..1c36860d21221 100644 --- a/pkgs/by-name/cl/cl-wordle/package.nix +++ b/pkgs/by-name/cl/cl-wordle/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cl-wordle"; diff --git a/pkgs/by-name/cl/cl/package.nix b/pkgs/by-name/cl/cl/package.nix index 1f98635f15ddc..67058ed6bf859 100644 --- a/pkgs/by-name/cl/cl/package.nix +++ b/pkgs/by-name/cl/cl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rebar, erlang, opencl-headers, ocl-icd }: +{ + lib, + stdenv, + fetchFromGitHub, + rebar, + erlang, + opencl-headers, + ocl-icd, +}: stdenv.mkDerivation rec { version = "1.2.4"; @@ -17,7 +25,12 @@ stdenv.mkDerivation rec { --replace "-m64" "" ''; - buildInputs = [ erlang rebar opencl-headers ocl-icd ]; + buildInputs = [ + erlang + rebar + opencl-headers + ocl-icd + ]; buildPhase = '' rebar compile diff --git a/pkgs/by-name/cl/clac/package.nix b/pkgs/by-name/cl/clac/package.nix index f154a9fa7ab32..515817e4189da 100644 --- a/pkgs/by-name/cl/clac/package.nix +++ b/pkgs/by-name/cl/clac/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "clac"; diff --git a/pkgs/by-name/cl/clair/package.nix b/pkgs/by-name/cl/clair/package.nix index 3c07a5e7756c5..c0f1450e05c11 100644 --- a/pkgs/by-name/cl/clair/package.nix +++ b/pkgs/by-name/cl/clair/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, rpm -, xz +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + rpm, + xz, }: buildGoModule rec { @@ -36,7 +37,12 @@ buildGoModule rec { postInstall = '' wrapProgram $out/bin/clair \ - --prefix PATH : "${lib.makeBinPath [ rpm xz ]}" + --prefix PATH : "${ + lib.makeBinPath [ + rpm + xz + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/cl/clairvoyance/package.nix b/pkgs/by-name/cl/clairvoyance/package.nix index ca30860474943..b89f785c642a5 100644 --- a/pkgs/by-name/cl/clairvoyance/package.nix +++ b/pkgs/by-name/cl/clairvoyance/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cl/clairvoyant/package.nix b/pkgs/by-name/cl/clairvoyant/package.nix index 80ca50a0934ff..68a68dcb37d13 100644 --- a/pkgs/by-name/cl/clairvoyant/package.nix +++ b/pkgs/by-name/cl/clairvoyant/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, gtk4 -, libadwaita -, libportal -, meson -, ninja -, pkg-config -, stdenv -, vala -, wrapGAppsHook4 +{ + lib, + fetchFromGitHub, + gtk4, + libadwaita, + libportal, + meson, + ninja, + pkg-config, + stdenv, + vala, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cl/clamsmtp/package.nix b/pkgs/by-name/cl/clamsmtp/package.nix index b3f825f7148b9..a54a48da5bc83 100644 --- a/pkgs/by-name/cl/clamsmtp/package.nix +++ b/pkgs/by-name/cl/clamsmtp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "clamsmtp"; diff --git a/pkgs/by-name/cl/clamtk/package.nix b/pkgs/by-name/cl/clamtk/package.nix index 67c82e52a400a..32d807ee32f72 100644 --- a/pkgs/by-name/cl/clamtk/package.nix +++ b/pkgs/by-name/cl/clamtk/package.nix @@ -1,10 +1,11 @@ -{ lib -, perlPackages -, fetchFromGitHub -, wrapGAppsHook3 -, gobject-introspection -, perl -, clamav +{ + lib, + perlPackages, + fetchFromGitHub, + wrapGAppsHook3, + gobject-introspection, + perl, + clamav, }: perlPackages.buildPerlPackage rec { @@ -18,14 +19,31 @@ perlPackages.buildPerlPackage rec { hash = "sha256-ClBsBXbGj67zgrkA9EjgK7s3OmXOJA+xV5xLGOcMsbI="; }; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; - buildInputs = [ perl clamav ]; - propagatedBuildInputs = with perlPackages; [ Glib LWP LWPProtocolHttps TextCSV JSON LocaleGettext Gtk3 ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = [ + perl + clamav + ]; + propagatedBuildInputs = with perlPackages; [ + Glib + LWP + LWPProtocolHttps + TextCSV + JSON + LocaleGettext + Gtk3 + ]; preConfigure = "touch Makefile.PL"; # no tests implemented doCheck = false; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postPatch = '' # Set correct nix paths in perl scripts @@ -71,7 +89,10 @@ perlPackages.buildPerlPackage rec { license = licenses.gpl1Plus; homepage = "https://github.com/dave-theunsub/clamtk"; platforms = platforms.linux; - maintainers = with maintainers; [ chewblacka ShamrockLee ]; + maintainers = with maintainers; [ + chewblacka + ShamrockLee + ]; }; } diff --git a/pkgs/by-name/cl/clangbuildanalyzer/package.nix b/pkgs/by-name/cl/clangbuildanalyzer/package.nix index 5fa21806f2d4f..e2f3828e393d1 100644 --- a/pkgs/by-name/cl/clangbuildanalyzer/package.nix +++ b/pkgs/by-name/cl/clangbuildanalyzer/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, cmake, fetchFromGitHub }: +{ + stdenv, + lib, + cmake, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "clangbuildanalyzer"; version = "1.5.0"; diff --git a/pkgs/by-name/cl/clap/package.nix b/pkgs/by-name/cl/clap/package.nix index 7bd9dca846f1d..15543b4c50b71 100644 --- a/pkgs/by-name/cl/clap/package.nix +++ b/pkgs/by-name/cl/clap/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + testers, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cl/clapboard/package.nix b/pkgs/by-name/cl/clapboard/package.nix index 4f14de873375e..022e17029826d 100644 --- a/pkgs/by-name/cl/clapboard/package.nix +++ b/pkgs/by-name/cl/clapboard/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cl/clapper/package.nix b/pkgs/by-name/cl/clapper/package.nix index d33f1d2760814..9d23eda1830cc 100644 --- a/pkgs/by-name/cl/clapper/package.nix +++ b/pkgs/by-name/cl/clapper/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, gobject-introspection -, pkg-config -, ninja -, desktop-file-utils -, makeWrapper -, shared-mime-info -, wrapGAppsHook4 -, meson -, gtk4 -, gst_all_1 -, libGL -, libadwaita -, libsoup_3 -, vala -, cmake -, libmicrodns -, gtuber -, glib-networking +{ + lib, + stdenv, + fetchFromGitHub, + gobject-introspection, + pkg-config, + ninja, + desktop-file-utils, + makeWrapper, + shared-mime-info, + wrapGAppsHook4, + meson, + gtk4, + gst_all_1, + libGL, + libadwaita, + libsoup_3, + vala, + cmake, + libmicrodns, + gtuber, + glib-networking, }: stdenv.mkDerivation (finalAttrs: { @@ -26,9 +27,9 @@ stdenv.mkDerivation (finalAttrs: { version = "0.6.1"; src = fetchFromGitHub { - owner = "Rafostar"; - repo = "clapper"; - rev = finalAttrs.version; + owner = "Rafostar"; + repo = "clapper"; + rev = finalAttrs.version; hash = "sha256-IQJTnLB6FzYYPONOqBkvi89iF0U6fx/aWYvNOOJpBvc="; }; diff --git a/pkgs/by-name/cl/clarity-city/package.nix b/pkgs/by-name/cl/clarity-city/package.nix index ef332436b1a9a..b8d68fa7c15d4 100644 --- a/pkgs/by-name/cl/clarity-city/package.nix +++ b/pkgs/by-name/cl/clarity-city/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "clarity-city"; diff --git a/pkgs/by-name/cl/clash-meta/package.nix b/pkgs/by-name/cl/clash-meta/package.nix index 552a8729e861d..be36755d7ac6a 100644 --- a/pkgs/by-name/cl/clash-meta/package.nix +++ b/pkgs/by-name/cl/clash-meta/package.nix @@ -1,13 +1,15 @@ { mihomo }: -mihomo.overrideAttrs (finalAttrs: previousAttrs: { - pname = "clash-meta"; +mihomo.overrideAttrs ( + finalAttrs: previousAttrs: { + pname = "clash-meta"; - postInstall = '' - mv $out/bin/${previousAttrs.meta.mainProgram} $out/bin/${finalAttrs.meta.mainProgram} - ''; + postInstall = '' + mv $out/bin/${previousAttrs.meta.mainProgram} $out/bin/${finalAttrs.meta.mainProgram} + ''; - meta = previousAttrs.meta // { - mainProgram = "clash-meta"; - }; -}) + meta = previousAttrs.meta // { + mainProgram = "clash-meta"; + }; + } +) diff --git a/pkgs/by-name/cl/classads/package.nix b/pkgs/by-name/cl/classads/package.nix index 0442c7d21209d..7902c5672cf46 100644 --- a/pkgs/by-name/cl/classads/package.nix +++ b/pkgs/by-name/cl/classads/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pcre }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pcre, +}: stdenv.mkDerivation rec { pname = "classads"; @@ -14,11 +20,14 @@ stdenv.mkDerivation rec { buildInputs = [ pcre ]; configureFlags = [ - "--enable-namespace" "--enable-flexible-member" + "--enable-namespace" + "--enable-flexible-member" ]; # error: use of undeclared identifier 'finite'; did you mean 'isfinite'? - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-Dfinite=isfinite"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-Dfinite=isfinite"; meta = { homepage = "http://www.cs.wisc.edu/condor/classad/"; diff --git a/pkgs/by-name/cl/classicube/package.nix b/pkgs/by-name/cl/classicube/package.nix index e17c8bffd3360..dd5beefbafe68 100644 --- a/pkgs/by-name/cl/classicube/package.nix +++ b/pkgs/by-name/cl/classicube/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, dos2unix -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, libX11 -, libXi -, libGL -, curl -, openal -, liberation_ttf +{ + lib, + stdenv, + fetchFromGitHub, + dos2unix, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + libX11, + libXi, + libGL, + curl, + openal, + liberation_ttf, }: stdenv.mkDerivation rec { @@ -24,7 +25,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-ZITyfxkQB4Jpm2ZsQyM+ouPLqCVmGB7UZRXDSU/BX0k="; }; - nativeBuildInputs = [ dos2unix makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + dos2unix + makeWrapper + copyDesktopItems + ]; desktopItems = [ (makeDesktopItem { @@ -68,7 +73,14 @@ stdenv.mkDerivation rec { --replace 'JOBS=1' "JOBS=$NIX_BUILD_CORES" ''; - buildInputs = [ libX11 libXi libGL curl openal liberation_ttf ]; + buildInputs = [ + libX11 + libXi + libGL + curl + openal + liberation_ttf + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/cl/clatd/package.nix b/pkgs/by-name/cl/clatd/package.nix index 8bbee164ecb26..fc5e9a792cee6 100644 --- a/pkgs/by-name/cl/clatd/package.nix +++ b/pkgs/by-name/cl/clatd/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, perl -, perlPackages -, tayga -, iproute2 -, iptables -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perl, + perlPackages, + tayga, + iproute2, + iptables, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cl/claws-mail/package.nix b/pkgs/by-name/cl/claws-mail/package.nix index 523d6971dfdb5..fab432500bdac 100644 --- a/pkgs/by-name/cl/claws-mail/package.nix +++ b/pkgs/by-name/cl/claws-mail/package.nix @@ -1,100 +1,279 @@ -{ stdenv, lib, fetchurl, wrapGAppsHook3, autoreconfHook, bison, flex -, curl, gtk3, pkg-config, python3, shared-mime-info -, glib-networking, gsettings-desktop-schemas - -# Package compatibility: old parameters whose name were not directly derived -, enablePgp ? true -, enablePluginNotificationDialogs ? true -, enablePluginNotificationSounds ? true -, enablePluginPdf ? true -, enablePluginRavatar ? true -, enableSpellcheck ? true - -# Arguments to include external libraries -, enableLibSM ? true, xorg -, enableGnuTLS ? true, gnutls -, enableEnchant ? enableSpellcheck, enchant -, enableDbus ? true, dbus, dbus-glib -, enableLdap ? true, openldap -, enableNetworkManager ? true, networkmanager -, enableLibetpan ? true, libetpan -, enableValgrind ? !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind, valgrind -, enableSvg ? true, librsvg - -# Configure claws-mail's plugins -, enablePluginAcpiNotifier ? true -, enablePluginAddressKeeper ? true -, enablePluginArchive ? true, libarchive -, enablePluginAttRemover ? true -, enablePluginAttachWarner ? true -, enablePluginBogofilter ? true -, enablePluginBsfilter ? true -, enablePluginClamd ? true -, enablePluginDillo ? true -, enablePluginFancy ? true, webkitgtk_4_0 -, enablePluginFetchInfo ? true -, enablePluginKeywordWarner ? true -, enablePluginLibravatar ? enablePluginRavatar -, enablePluginLitehtmlViewer ? true, gumbo -, enablePluginMailmbox ? true -, enablePluginManageSieve ? true -, enablePluginNewMail ? true -, enablePluginNotification ? (enablePluginNotificationDialogs || enablePluginNotificationSounds), libcanberra-gtk3, libnotify -, enablePluginPdfViewer ? enablePluginPdf, poppler -, enablePluginPerl ? true, perl -, enablePluginPython ? true -, enablePluginPgp ? enablePgp, gnupg, gpgme -, enablePluginRssyl ? true, libxml2 -, enablePluginSmime ? true -, enablePluginSpamassassin ? true -, enablePluginSpamReport ? true -, enablePluginTnefParse ? true, libytnef -, enablePluginVcalendar ? true, libical +{ + stdenv, + lib, + fetchurl, + wrapGAppsHook3, + autoreconfHook, + bison, + flex, + curl, + gtk3, + pkg-config, + python3, + shared-mime-info, + glib-networking, + gsettings-desktop-schemas, + + # Package compatibility: old parameters whose name were not directly derived + enablePgp ? true, + enablePluginNotificationDialogs ? true, + enablePluginNotificationSounds ? true, + enablePluginPdf ? true, + enablePluginRavatar ? true, + enableSpellcheck ? true, + + # Arguments to include external libraries + enableLibSM ? true, + xorg, + enableGnuTLS ? true, + gnutls, + enableEnchant ? enableSpellcheck, + enchant, + enableDbus ? true, + dbus, + dbus-glib, + enableLdap ? true, + openldap, + enableNetworkManager ? true, + networkmanager, + enableLibetpan ? true, + libetpan, + enableValgrind ? !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind, + valgrind, + enableSvg ? true, + librsvg, + + # Configure claws-mail's plugins + enablePluginAcpiNotifier ? true, + enablePluginAddressKeeper ? true, + enablePluginArchive ? true, + libarchive, + enablePluginAttRemover ? true, + enablePluginAttachWarner ? true, + enablePluginBogofilter ? true, + enablePluginBsfilter ? true, + enablePluginClamd ? true, + enablePluginDillo ? true, + enablePluginFancy ? true, + webkitgtk_4_0, + enablePluginFetchInfo ? true, + enablePluginKeywordWarner ? true, + enablePluginLibravatar ? enablePluginRavatar, + enablePluginLitehtmlViewer ? true, + gumbo, + enablePluginMailmbox ? true, + enablePluginManageSieve ? true, + enablePluginNewMail ? true, + enablePluginNotification ? (enablePluginNotificationDialogs || enablePluginNotificationSounds), + libcanberra-gtk3, + libnotify, + enablePluginPdfViewer ? enablePluginPdf, + poppler, + enablePluginPerl ? true, + perl, + enablePluginPython ? true, + enablePluginPgp ? enablePgp, + gnupg, + gpgme, + enablePluginRssyl ? true, + libxml2, + enablePluginSmime ? true, + enablePluginSpamassassin ? true, + enablePluginSpamReport ? true, + enablePluginTnefParse ? true, + libytnef, + enablePluginVcalendar ? true, + libical, }: let - pythonPkgs = with python3.pkgs; [ python3 wrapPython pygobject3 ]; + pythonPkgs = with python3.pkgs; [ + python3 + wrapPython + pygobject3 + ]; features = [ - { flags = [ "acpi_notifier-plugin" ]; enabled = enablePluginAcpiNotifier; } - { flags = [ "address_keeper-plugin" ]; enabled = enablePluginAddressKeeper; } - { flags = [ "archive-plugin" ]; enabled = enablePluginArchive; deps = [ libarchive ]; } - { flags = [ "att_remover-plugin" ]; enabled = enablePluginAttRemover; } - { flags = [ "attachwarner-plugin" ]; enabled = enablePluginAttachWarner; } - { flags = [ "bogofilter-plugin" ]; enabled = enablePluginBogofilter; } - { flags = [ "bsfilter-plugin" ]; enabled = enablePluginBsfilter; } - { flags = [ "clamd-plugin" ]; enabled = enablePluginClamd; } - { flags = [ "dbus" ]; enabled = enableDbus; deps = [ dbus dbus-glib ]; } - { flags = [ "dillo-plugin" ]; enabled = enablePluginDillo; } - { flags = [ "enchant" ]; enabled = enableEnchant; deps = [ enchant ]; } - { flags = [ "fancy-plugin" ]; enabled = enablePluginFancy; deps = [ webkitgtk_4_0 ]; } - { flags = [ "fetchinfo-plugin" ]; enabled = enablePluginFetchInfo; } - { flags = [ "keyword_warner-plugin" ]; enabled = enablePluginKeywordWarner; } - { flags = [ "gnutls" ]; enabled = enableGnuTLS; deps = [ gnutls ]; } - { flags = [ "ldap" ]; enabled = enableLdap; deps = [ openldap ]; } - { flags = [ "libetpan" ]; enabled = enableLibetpan; deps = [ libetpan ]; } - { flags = [ "libravatar-plugin" ]; enabled = enablePluginLibravatar; } - { flags = [ "libsm" ]; enabled = enableLibSM; deps = [ xorg.libSM ]; } - { flags = [ "litehtml_viewer-plugin" ]; enabled = enablePluginLitehtmlViewer; deps = [ gumbo ]; } - { flags = [ "mailmbox-plugin" ]; enabled = enablePluginMailmbox; } - { flags = [ "managesieve-plugin" ]; enabled = enablePluginManageSieve; } - { flags = [ "networkmanager" ]; enabled = enableNetworkManager; deps = [ networkmanager ]; } - { flags = [ "newmail-plugin" ]; enabled = enablePluginNewMail; } - { flags = [ "notification-plugin" ]; enabled = enablePluginNotification; deps = [ libnotify ] ++ [libcanberra-gtk3]; } - { flags = [ "pdf_viewer-plugin" ]; enabled = enablePluginPdfViewer; deps = [ poppler ]; } - { flags = [ "perl-plugin" ]; enabled = enablePluginPerl; deps = [ perl ]; } - { flags = [ "pgpcore-plugin" "pgpinline-plugin" "pgpmime-plugin" ]; enabled = enablePluginPgp; deps = [ gnupg gpgme ]; } - { flags = [ "python-plugin" ]; enabled = enablePluginPython; } - { flags = [ "rssyl-plugin" ]; enabled = enablePluginRssyl; deps = [ libxml2 ]; } - { flags = [ "smime-plugin" ]; enabled = enablePluginSmime; } - { flags = [ "spam_report-plugin" ]; enabled = enablePluginSpamReport; } - { flags = [ "spamassassin-plugin" ]; enabled = enablePluginSpamassassin; } - { flags = [ "svg" ]; enabled = enableSvg; deps = [ librsvg ]; } - { flags = [ "tnef_parse-plugin" ]; enabled = enablePluginTnefParse; deps = [ libytnef ]; } - { flags = [ "valgrind" ]; enabled = enableValgrind; deps = [ valgrind ]; } - { flags = [ "vcalendar-plugin" ]; enabled = enablePluginVcalendar; deps = [ libical ]; } + { + flags = [ "acpi_notifier-plugin" ]; + enabled = enablePluginAcpiNotifier; + } + { + flags = [ "address_keeper-plugin" ]; + enabled = enablePluginAddressKeeper; + } + { + flags = [ "archive-plugin" ]; + enabled = enablePluginArchive; + deps = [ libarchive ]; + } + { + flags = [ "att_remover-plugin" ]; + enabled = enablePluginAttRemover; + } + { + flags = [ "attachwarner-plugin" ]; + enabled = enablePluginAttachWarner; + } + { + flags = [ "bogofilter-plugin" ]; + enabled = enablePluginBogofilter; + } + { + flags = [ "bsfilter-plugin" ]; + enabled = enablePluginBsfilter; + } + { + flags = [ "clamd-plugin" ]; + enabled = enablePluginClamd; + } + { + flags = [ "dbus" ]; + enabled = enableDbus; + deps = [ + dbus + dbus-glib + ]; + } + { + flags = [ "dillo-plugin" ]; + enabled = enablePluginDillo; + } + { + flags = [ "enchant" ]; + enabled = enableEnchant; + deps = [ enchant ]; + } + { + flags = [ "fancy-plugin" ]; + enabled = enablePluginFancy; + deps = [ webkitgtk_4_0 ]; + } + { + flags = [ "fetchinfo-plugin" ]; + enabled = enablePluginFetchInfo; + } + { + flags = [ "keyword_warner-plugin" ]; + enabled = enablePluginKeywordWarner; + } + { + flags = [ "gnutls" ]; + enabled = enableGnuTLS; + deps = [ gnutls ]; + } + { + flags = [ "ldap" ]; + enabled = enableLdap; + deps = [ openldap ]; + } + { + flags = [ "libetpan" ]; + enabled = enableLibetpan; + deps = [ libetpan ]; + } + { + flags = [ "libravatar-plugin" ]; + enabled = enablePluginLibravatar; + } + { + flags = [ "libsm" ]; + enabled = enableLibSM; + deps = [ xorg.libSM ]; + } + { + flags = [ "litehtml_viewer-plugin" ]; + enabled = enablePluginLitehtmlViewer; + deps = [ gumbo ]; + } + { + flags = [ "mailmbox-plugin" ]; + enabled = enablePluginMailmbox; + } + { + flags = [ "managesieve-plugin" ]; + enabled = enablePluginManageSieve; + } + { + flags = [ "networkmanager" ]; + enabled = enableNetworkManager; + deps = [ networkmanager ]; + } + { + flags = [ "newmail-plugin" ]; + enabled = enablePluginNewMail; + } + { + flags = [ "notification-plugin" ]; + enabled = enablePluginNotification; + deps = [ libnotify ] ++ [ libcanberra-gtk3 ]; + } + { + flags = [ "pdf_viewer-plugin" ]; + enabled = enablePluginPdfViewer; + deps = [ poppler ]; + } + { + flags = [ "perl-plugin" ]; + enabled = enablePluginPerl; + deps = [ perl ]; + } + { + flags = [ + "pgpcore-plugin" + "pgpinline-plugin" + "pgpmime-plugin" + ]; + enabled = enablePluginPgp; + deps = [ + gnupg + gpgme + ]; + } + { + flags = [ "python-plugin" ]; + enabled = enablePluginPython; + } + { + flags = [ "rssyl-plugin" ]; + enabled = enablePluginRssyl; + deps = [ libxml2 ]; + } + { + flags = [ "smime-plugin" ]; + enabled = enablePluginSmime; + } + { + flags = [ "spam_report-plugin" ]; + enabled = enablePluginSpamReport; + } + { + flags = [ "spamassassin-plugin" ]; + enabled = enablePluginSpamassassin; + } + { + flags = [ "svg" ]; + enabled = enableSvg; + deps = [ librsvg ]; + } + { + flags = [ "tnef_parse-plugin" ]; + enabled = enablePluginTnefParse; + deps = [ libytnef ]; + } + { + flags = [ "valgrind" ]; + enabled = enableValgrind; + deps = [ valgrind ]; + } + { + flags = [ "vcalendar-plugin" ]; + enabled = enablePluginVcalendar; + deps = [ libical ]; + } ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "claws-mail"; version = "4.3.0"; @@ -103,7 +282,10 @@ in stdenv.mkDerivation rec { hash = "sha256-ldwdiI65FvAoRn+gw8v0W6/2Z4eTt7+zX6u6Ap1YHOE="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = [ ./mime.patch @@ -123,21 +305,31 @@ in stdenv.mkDerivation rec { --subst-var-by MIMEROOTDIR ${shared-mime-info}/share ''; - nativeBuildInputs = [ autoreconfHook pkg-config bison flex wrapGAppsHook3 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + bison + flex + wrapGAppsHook3 + ]; propagatedBuildInputs = pythonPkgs; - buildInputs = - [ curl gsettings-desktop-schemas glib-networking gtk3 ] - ++ lib.concatMap (f: lib.optionals f.enabled f.deps) (lib.filter (f: f ? deps) features) - ; + buildInputs = [ + curl + gsettings-desktop-schemas + glib-networking + gtk3 + ] ++ lib.concatMap (f: lib.optionals f.enabled f.deps) (lib.filter (f: f ? deps) features); configureFlags = [ - "--disable-manual" # Missing docbook-tools, e.g., docbook2html + "--disable-manual" # Missing docbook-tools, e.g., docbook2html "--disable-compface" # Missing compface library - "--disable-jpilot" # Missing jpilot library - ] ++ - (map (feature: map (flag: lib.strings.enableFeature feature.enabled flag) feature.flags) features); + "--disable-jpilot" # Missing jpilot library + ] + ++ (map ( + feature: map (flag: lib.strings.enableFeature feature.enabled flag) feature.flags + ) features); enableParallelBuilding = true; @@ -157,6 +349,12 @@ in stdenv.mkDerivation rec { homepage = "https://www.claws-mail.org/"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ fpletz globin orivej oxzi ajs124 ]; + maintainers = with maintainers; [ + fpletz + globin + orivej + oxzi + ajs124 + ]; }; } diff --git a/pkgs/by-name/cl/claws/package.nix b/pkgs/by-name/cl/claws/package.nix index cb1a55b069578..d189fa3690c03 100644 --- a/pkgs/by-name/cl/claws/package.nix +++ b/pkgs/by-name/cl/claws/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "claws"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-FP+3Rw5IdCahhx9giQrpepMMtF1pWcyjNglrlu9ju0Q="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/thehowl/claws"; diff --git a/pkgs/by-name/cl/clblast/package.nix b/pkgs/by-name/cl/clblast/package.nix index 3bf38086ca2fa..8f93b2d236a55 100644 --- a/pkgs/by-name/cl/clblast/package.nix +++ b/pkgs/by-name/cl/clblast/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, opencl-headers -, ocl-icd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + opencl-headers, + ocl-icd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cl/clboss/package.nix b/pkgs/by-name/cl/clboss/package.nix index e443aac8d03aa..88a8e32d8cbf3 100644 --- a/pkgs/by-name/cl/clboss/package.nix +++ b/pkgs/by-name/cl/clboss/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchzip -, autoconf-archive -, autoreconfHook -, pkg-config -, curlWithGnuTls -, libev -, sqlite +{ + lib, + stdenv, + fetchzip, + autoconf-archive, + autoreconfHook, + pkg-config, + curlWithGnuTls, + libev, + sqlite, }: stdenv.mkDerivation rec { @@ -19,7 +20,14 @@ stdenv.mkDerivation rec { hash = "sha256-Qp8br4ZxiqaxFZ6Tb+wFpqp2APmnU9QdNkM8MyGAtrw="; }; - nativeBuildInputs = [ autoconf-archive autoreconfHook pkg-config libev curlWithGnuTls sqlite ]; + nativeBuildInputs = [ + autoconf-archive + autoreconfHook + pkg-config + libev + curlWithGnuTls + sqlite + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/cl/cld2/package.nix b/pkgs/by-name/cl/cld2/package.nix index bf28b160f2bab..315330529f380 100644 --- a/pkgs/by-name/cl/cld2/package.nix +++ b/pkgs/by-name/cl/cld2/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fetchpatch, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/cl/cldr-annotations/package.nix b/pkgs/by-name/cl/cldr-annotations/package.nix index f393875eb390b..0778a9c70c59b 100644 --- a/pkgs/by-name/cl/cldr-annotations/package.nix +++ b/pkgs/by-name/cl/cldr-annotations/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "cldr-annotations"; diff --git a/pkgs/by-name/cl/clean/package.nix b/pkgs/by-name/cl/clean/package.nix index e360bb05f40dc..603c753cac60c 100644 --- a/pkgs/by-name/cl/clean/package.nix +++ b/pkgs/by-name/cl/clean/package.nix @@ -1,21 +1,31 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "clean"; version = "3.0"; src = - if stdenv.hostPlatform.system == "i686-linux" then (fetchurl { - url = "https://ftp.cs.ru.nl/Clean/Clean30/linux/clean3.0_32_boot.tar.gz"; - sha256 = "0cjxv3vqrg6pz3aicwfdz1zyhk0q650464j3qyl0wzaikh750010"; - }) - else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl { + if stdenv.hostPlatform.system == "i686-linux" then + (fetchurl { + url = "https://ftp.cs.ru.nl/Clean/Clean30/linux/clean3.0_32_boot.tar.gz"; + sha256 = "0cjxv3vqrg6pz3aicwfdz1zyhk0q650464j3qyl0wzaikh750010"; + }) + else if stdenv.hostPlatform.system == "x86_64-linux" then + (fetchurl { url = "https://ftp.cs.ru.nl/Clean/Clean30/linux/clean3.0_64_boot.tar.gz"; sha256 = "06k283y9adbi28f78k3m5ssg6py73qqkz3sm8dgxc89drv4krl2i"; - }) - else throw "Architecture not supported"; + }) + else + throw "Architecture not supported"; - hardeningDisable = [ "format" "pic" ]; + hardeningDisable = [ + "format" + "pic" + ]; # clm uses timestamps of dcl, icl, abc and o files to decide what must be rebuild # and for chroot builds all of the library files will have equal timestamps. This @@ -48,6 +58,9 @@ stdenv.mkDerivation { homepage = "http://wiki.clean.cs.ru.nl/Clean"; license = lib.licenses.bsd2; maintainers = [ lib.maintainers.erin ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/cl/clearlooks-phenix/package.nix b/pkgs/by-name/cl/clearlooks-phenix/package.nix index 0157914d8fcc4..9b5ff579e7069 100644 --- a/pkgs/by-name/cl/clearlooks-phenix/package.nix +++ b/pkgs/by-name/cl/clearlooks-phenix/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { version = "7.0.1"; diff --git a/pkgs/by-name/cl/clearlyU/package.nix b/pkgs/by-name/cl/clearlyU/package.nix index c0824cf7d40e7..8bd54eac6ceff 100644 --- a/pkgs/by-name/cl/clearlyU/package.nix +++ b/pkgs/by-name/cl/clearlyU/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, xorg, libfaketime }: +{ + lib, + stdenv, + fetchurl, + xorg, + libfaketime, +}: stdenv.mkDerivation rec { pname = "clearlyU"; @@ -9,7 +15,11 @@ stdenv.mkDerivation rec { sha256 = "1xn14jbv3m1khy7ydvad9ydkn7yygdbhjy9wm1v000jzjwr3lv21"; }; - nativeBuildInputs = [ xorg.fonttosfnt xorg.mkfontscale libfaketime ]; + nativeBuildInputs = [ + xorg.fonttosfnt + xorg.mkfontscale + libfaketime + ]; buildPhase = '' # convert bdf fonts to otb diff --git a/pkgs/by-name/cl/clematis/package.nix b/pkgs/by-name/cl/clematis/package.nix index cba0b6cd5f956..c97a1e0cb07fd 100644 --- a/pkgs/by-name/cl/clematis/package.nix +++ b/pkgs/by-name/cl/clematis/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/clex/package.nix b/pkgs/by-name/cl/clex/package.nix index 507da73bbc533..ba3a3251b0bbf 100644 --- a/pkgs/by-name/cl/clex/package.nix +++ b/pkgs/by-name/cl/clex/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "clex"; diff --git a/pkgs/by-name/cl/clfft/package.nix b/pkgs/by-name/cl/clfft/package.nix index 52ff8e4e05692..a7eedd6457383 100644 --- a/pkgs/by-name/cl/clfft/package.nix +++ b/pkgs/by-name/cl/clfft/package.nix @@ -1,4 +1,15 @@ -{ lib, gccStdenv, fetchFromGitHub, cmake, fftw, fftwFloat, boost, opencl-clhpp, ocl-icd, darwin }: +{ + lib, + gccStdenv, + fetchFromGitHub, + cmake, + fftw, + fftwFloat, + boost, + opencl-clhpp, + ocl-icd, + darwin, +}: let inherit (darwin.apple_sdk.frameworks) OpenCL; @@ -23,8 +34,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ fftw fftwFloat boost ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ opencl-clhpp ocl-icd ] + buildInputs = + [ + fftw + fftwFloat + boost + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + opencl-clhpp + ocl-icd + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenCL ]; # https://github.com/clMathLibraries/clFFT/issues/237 diff --git a/pkgs/by-name/cl/clhep/package.nix b/pkgs/by-name/cl/clhep/package.nix index 589233a195931..ffa1945aed5e8 100644 --- a/pkgs/by-name/cl/clhep/package.nix +++ b/pkgs/by-name/cl/clhep/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, cmake +{ + lib, + stdenv, + fetchurl, + cmake, }: stdenv.mkDerivation rec { @@ -29,7 +30,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra"; homepage = "https://cern.ch/clhep"; - license = with licenses; [ gpl3Only lgpl3Only ]; + license = with licenses; [ + gpl3Only + lgpl3Only + ]; maintainers = with maintainers; [ veprbl ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/cl/cli-visualizer/package.nix b/pkgs/by-name/cl/cli-visualizer/package.nix index 1559a5401ffad..5fa6cd2f51436 100644 --- a/pkgs/by-name/cl/cli-visualizer/package.nix +++ b/pkgs/by-name/cl/cli-visualizer/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, fftw, ncurses5, libpulseaudio, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fftw, + ncurses5, + libpulseaudio, + makeWrapper, +}: stdenv.mkDerivation rec { version = "1.8"; @@ -15,9 +24,16 @@ stdenv.mkDerivation rec { sed '1i#include ' -i src/Transformer/SpectrumCircleTransformer.cpp ''; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; - buildInputs = [ fftw ncurses5 libpulseaudio ]; + buildInputs = [ + fftw + ncurses5 + libpulseaudio + ]; buildFlags = [ "ENABLE_PULSE=1" ]; diff --git a/pkgs/by-name/cl/cli53/package.nix b/pkgs/by-name/cl/cli53/package.nix index a6f677b287cfc..14508c89ca6de 100644 --- a/pkgs/by-name/cl/cli53/package.nix +++ b/pkgs/by-name/cl/cli53/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, cli53 }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + cli53, +}: buildGoModule rec { pname = "cli53"; diff --git a/pkgs/by-name/cl/cliam/package.nix b/pkgs/by-name/cl/cliam/package.nix index 1089a352d54cb..c1084bf82620d 100644 --- a/pkgs/by-name/cl/cliam/package.nix +++ b/pkgs/by-name/cl/cliam/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/clib/package.nix b/pkgs/by-name/cl/clib/package.nix index a4cd170e90e44..37c0841d75b49 100644 --- a/pkgs/by-name/cl/clib/package.nix +++ b/pkgs/by-name/cl/clib/package.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, +}: stdenv.mkDerivation rec { version = "2.8.7"; pname = "clib"; src = fetchFromGitHub { - rev = version; - owner = "clibs"; - repo = "clib"; + rev = version; + owner = "clibs"; + repo = "clib"; sha256 = "sha256-uL8prMk2DrYLjCmZW8DdbCg5FJ5uksT3vIATyOW2ZzY="; }; diff --git a/pkgs/by-name/cl/click/package.nix b/pkgs/by-name/cl/click/package.nix index a471c5827c762..5a6ae5cb1507a 100644 --- a/pkgs/by-name/cl/click/package.nix +++ b/pkgs/by-name/cl/click/package.nix @@ -1,4 +1,12 @@ -{ darwin, fetchFromGitHub, rustPlatform, lib, stdenv, pkg-config, openssl }: +{ + darwin, + fetchFromGitHub, + rustPlatform, + lib, + stdenv, + pkg-config, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "click"; @@ -15,7 +23,8 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; meta = with lib; { @@ -23,7 +32,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/databricks/click"; license = [ licenses.asl20 ]; maintainers = [ maintainers.mbode ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; mainProgram = "click"; }; } diff --git a/pkgs/by-name/cl/clickclack/package.nix b/pkgs/by-name/cl/clickclack/package.nix index 15fe00486d3e6..2f2f3b18cd6a2 100644 --- a/pkgs/by-name/cl/clickclack/package.nix +++ b/pkgs/by-name/cl/clickclack/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromSourcehut -, SDL2 +{ + lib, + stdenv, + fetchFromSourcehut, + SDL2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cl/clickhouse-backup/package.nix b/pkgs/by-name/cl/clickhouse-backup/package.nix index 3568824e1da08..5f9b04a38e073 100644 --- a/pkgs/by-name/cl/clickhouse-backup/package.nix +++ b/pkgs/by-name/cl/clickhouse-backup/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, clickhouse-backup -, fetchFromGitHub -, lib -, testers +{ + buildGoModule, + clickhouse-backup, + fetchFromGitHub, + lib, + testers, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/client-ip-echo/client-ip-echo.nix b/pkgs/by-name/cl/client-ip-echo/client-ip-echo.nix index a02daa1798336..2de93fb1a3d01 100644 --- a/pkgs/by-name/cl/client-ip-echo/client-ip-echo.nix +++ b/pkgs/by-name/cl/client-ip-echo/client-ip-echo.nix @@ -1,4 +1,11 @@ -{ mkDerivation, fetchFromGitHub, base, bytestring, network, lib }: +{ + mkDerivation, + fetchFromGitHub, + base, + bytestring, + network, + lib, +}: mkDerivation { pname = "client-ip-echo"; version = "0.1.0.5"; @@ -10,7 +17,11 @@ mkDerivation { }; isLibrary = false; isExecutable = true; - executableHaskellDepends = [ base bytestring network ]; + executableHaskellDepends = [ + base + bytestring + network + ]; description = "accepts TCP connections and echoes the client's IP address back to it"; license = lib.licenses.lgpl3; mainProgram = "client-ip-echo"; diff --git a/pkgs/by-name/cl/client-ip-echo/package.nix b/pkgs/by-name/cl/client-ip-echo/package.nix index 5bc0ea45e2b62..153f1d691ba35 100644 --- a/pkgs/by-name/cl/client-ip-echo/package.nix +++ b/pkgs/by-name/cl/client-ip-echo/package.nix @@ -1,2 +1 @@ -{ pkgs }: -pkgs.haskellPackages.callPackage ./client-ip-echo.nix { } +{ pkgs }: pkgs.haskellPackages.callPackage ./client-ip-echo.nix { } diff --git a/pkgs/by-name/cl/clightning/package.nix b/pkgs/by-name/cl/clightning/package.nix index 0b18bdc622242..38ee7892c2b9d 100644 --- a/pkgs/by-name/cl/clightning/package.nix +++ b/pkgs/by-name/cl/clightning/package.nix @@ -1,26 +1,30 @@ -{ lib -, stdenv -, cctools -, darwin -, fetchurl -, autoconf -, autogen -, automake -, gettext -, libtool -, lowdown-unsandboxed -, protobuf -, unzip -, which -, gmp -, libsodium -, python3 -, sqlite -, zlib -, jq +{ + lib, + stdenv, + cctools, + darwin, + fetchurl, + autoconf, + autogen, + automake, + gettext, + libtool, + lowdown-unsandboxed, + protobuf, + unzip, + which, + gmp, + libsodium, + python3, + sqlite, + zlib, + jq, }: let - py3 = python3.withPackages (p: [ p.distutils p.mako ]); + py3 = python3.withPackages (p: [ + p.distutils + p.mako + ]); in stdenv.mkDerivation rec { pname = "clightning"; @@ -34,24 +38,49 @@ stdenv.mkDerivation rec { # when building on darwin we need cctools to provide the correct libtool # as libwally-core detects the host as darwin and tries to add the -static # option to libtool, also we have to add the modified gsed package. - nativeBuildInputs = [ autoconf autogen automake gettext libtool lowdown-unsandboxed protobuf py3 unzip which ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools darwin.autoSignDarwinBinariesHook ]; + nativeBuildInputs = + [ + autoconf + autogen + automake + gettext + libtool + lowdown-unsandboxed + protobuf + py3 + unzip + which + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + darwin.autoSignDarwinBinariesHook + ]; - buildInputs = [ gmp libsodium sqlite zlib jq ]; + buildInputs = [ + gmp + libsodium + sqlite + zlib + jq + ]; # this causes some python trouble on a darwin host so we skip this step. # also we have to tell libwally-core to use sed instead of gsed. - postPatch = if !stdenv.hostPlatform.isDarwin then '' - patchShebangs \ - tools/generate-wire.py \ - tools/update-mocks.sh \ - tools/mockup.sh \ - tools/fromschema.py \ - devtools/sql-rewrite.py - '' else '' - substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \ - substituteInPlace external/libwally-core/configure.ac --replace gsed sed - ''; + postPatch = + if !stdenv.hostPlatform.isDarwin then + '' + patchShebangs \ + tools/generate-wire.py \ + tools/update-mocks.sh \ + tools/mockup.sh \ + tools/fromschema.py \ + devtools/sql-rewrite.py + '' + else + '' + substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \ + substituteInPlace external/libwally-core/configure.ac --replace gsed sed + ''; configureFlags = [ "--disable-valgrind" ]; @@ -62,7 +91,9 @@ stdenv.mkDerivation rec { # workaround for build issue, happens only x86_64-darwin, not aarch64-darwin # ccan/ccan/fdpass/fdpass.c:16:8: error: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant] # char buf[CMSG_SPACE(sizeof(fd))]; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) "-Wno-error=gnu-folding-constant"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 + ) "-Wno-error=gnu-folding-constant"; # The `clnrest` plugin requires a Python environment to run postInstall = '' @@ -78,7 +109,10 @@ stdenv.mkDerivation rec { parties for any amount. ''; homepage = "https://github.com/ElementsProject/lightning"; - maintainers = with maintainers; [ jb55 prusnak ]; + maintainers = with maintainers; [ + jb55 + prusnak + ]; license = licenses.mit; platforms = platforms.linux ++ platforms.darwin; }; diff --git a/pkgs/by-name/cl/clima/package.nix b/pkgs/by-name/cl/clima/package.nix index f7e6ee15d7f83..6b41f6deda379 100644 --- a/pkgs/by-name/cl/clima/package.nix +++ b/pkgs/by-name/cl/clima/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cl/cling/package.nix b/pkgs/by-name/cl/cling/package.nix index 6b8fefa43a599..63b4a681745c0 100644 --- a/pkgs/by-name/cl/cling/package.nix +++ b/pkgs/by-name/cl/cling/package.nix @@ -1,32 +1,33 @@ -{ cmake -, fetchFromGitHub -, git -, lib -, libffi -, llvmPackages_13 -, makeWrapper -, ncurses -, python3 -, zlib - -# *NOT* from LLVM 9! -# The compiler used to compile Cling may affect the runtime include and lib -# directories it expects to be run with. Cling builds against (a fork of) Clang, -# so we prefer to use Clang as the compiler as well for consistency. -# It would be cleanest to use LLVM 9's clang, but it errors. So, we use a later -# version of Clang to compile, but we check out the Cling fork of Clang 9 to -# build Cling against. -, clangStdenv - -# For runtime C++ standard library -, gcc-unwrapped - -# Build with debug symbols -, debug ? false - -# Build with libc++ (LLVM) rather than stdlibc++ (GCC). -# This is experimental and not all features work. -, useLLVMLibcxx ? clangStdenv.hostPlatform.isDarwin +{ + cmake, + fetchFromGitHub, + git, + lib, + libffi, + llvmPackages_13, + makeWrapper, + ncurses, + python3, + zlib, + + # *NOT* from LLVM 9! + # The compiler used to compile Cling may affect the runtime include and lib + # directories it expects to be run with. Cling builds against (a fork of) Clang, + # so we prefer to use Clang as the compiler as well for consistency. + # It would be cleanest to use LLVM 9's clang, but it errors. So, we use a later + # version of Clang to compile, but we check out the Cling fork of Clang 9 to + # build Cling against. + clangStdenv, + + # For runtime C++ standard library + gcc-unwrapped, + + # Build with debug symbols + debug ? false, + + # Build with libc++ (LLVM) rather than stdlibc++ (GCC). + # This is experimental and not all features work. + useLLVMLibcxx ? clangStdenv.hostPlatform.isDarwin, }: let @@ -39,7 +40,7 @@ let # cling-llvm13 branch rev = "3610201fbe0352a63efb5cb45f4ea4987702c735"; sha256 = "sha256-Cb7BvV7yobG+mkaYe7zD2KcnPvm8/vmVATNWssklXyk="; - sparseCheckout = ["clang"]; + sparseCheckout = [ "clang" ]; }; llvm = llvmPackages_13.llvm.override { enableSharedLibraries = false; }; @@ -68,36 +69,47 @@ let ./no-clang-cpp.patch ]; - nativeBuildInputs = [ python3 git cmake ]; - buildInputs = [ libffi ncurses zlib ]; + nativeBuildInputs = [ + python3 + git + cmake + ]; + buildInputs = [ + libffi + ncurses + zlib + ]; strictDeps = true; - cmakeFlags = [ - "-DLLVM_BINARY_DIR=${llvm.out}" - "-DLLVM_CONFIG=${llvm.dev}/bin/llvm-config" - "-DLLVM_LIBRARY_DIR=${llvm.lib}/lib" - "-DLLVM_MAIN_INCLUDE_DIR=${llvm.dev}/include" - "-DLLVM_TABLEGEN_EXE=${llvm.out}/bin/llvm-tblgen" - "-DLLVM_TOOLS_BINARY_DIR=${llvm.out}/bin" - "-DLLVM_BUILD_TOOLS=Off" - "-DLLVM_TOOL_CLING_BUILD=ON" - - "-DLLVM_TARGETS_TO_BUILD=host;NVPTX" - "-DLLVM_ENABLE_RTTI=ON" - - # Setting -DCLING_INCLUDE_TESTS=ON causes the cling/tools targets to be built; - # see cling/tools/CMakeLists.txt - "-DCLING_INCLUDE_TESTS=ON" - "-DCLANG-TOOLS=OFF" - ] ++ lib.optionals debug [ - "-DCMAKE_BUILD_TYPE=Debug" - ] ++ lib.optionals useLLVMLibcxx [ - "-DLLVM_ENABLE_LIBCXX=ON" - "-DLLVM_ENABLE_LIBCXXABI=ON" - ]; - - CPPFLAGS = if useLLVMLibcxx then [ "-stdlib=libc++" ] else []; + cmakeFlags = + [ + "-DLLVM_BINARY_DIR=${llvm.out}" + "-DLLVM_CONFIG=${llvm.dev}/bin/llvm-config" + "-DLLVM_LIBRARY_DIR=${llvm.lib}/lib" + "-DLLVM_MAIN_INCLUDE_DIR=${llvm.dev}/include" + "-DLLVM_TABLEGEN_EXE=${llvm.out}/bin/llvm-tblgen" + "-DLLVM_TOOLS_BINARY_DIR=${llvm.out}/bin" + "-DLLVM_BUILD_TOOLS=Off" + "-DLLVM_TOOL_CLING_BUILD=ON" + + "-DLLVM_TARGETS_TO_BUILD=host;NVPTX" + "-DLLVM_ENABLE_RTTI=ON" + + # Setting -DCLING_INCLUDE_TESTS=ON causes the cling/tools targets to be built; + # see cling/tools/CMakeLists.txt + "-DCLING_INCLUDE_TESTS=ON" + "-DCLANG-TOOLS=OFF" + ] + ++ lib.optionals debug [ + "-DCMAKE_BUILD_TYPE=Debug" + ] + ++ lib.optionals useLLVMLibcxx [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DLLVM_ENABLE_LIBCXXABI=ON" + ]; + + CPPFLAGS = if useLLVMLibcxx then [ "-stdlib=libc++" ] else [ ]; postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' mkdir -p $out/share/Jupyter @@ -110,21 +122,33 @@ let description = "Interactive C++ Interpreter"; mainProgram = "cling"; homepage = "https://root.cern/cling/"; - license = with licenses; [ lgpl21 ncsa ]; + license = with licenses; [ + lgpl21 + ncsa + ]; maintainers = with maintainers; [ thomasjm ]; platforms = platforms.unix; }; }; # Runtime flags for the C++ standard library - cxxFlags = if useLLVMLibcxx then [ - "-I" "${lib.getDev llvmPackages_13.libcxx}/include/c++/v1" - "-L" "${llvmPackages_13.libcxx}/lib" - "-l" "${llvmPackages_13.libcxx}/lib/libc++${stdenv.hostPlatform.extensions.sharedLibrary}" - ] else [ - "-I" "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}" - "-I" "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}/${stdenv.hostPlatform.config}" - ]; + cxxFlags = + if useLLVMLibcxx then + [ + "-I" + "${lib.getDev llvmPackages_13.libcxx}/include/c++/v1" + "-L" + "${llvmPackages_13.libcxx}/lib" + "-l" + "${llvmPackages_13.libcxx}/lib/libc++${stdenv.hostPlatform.extensions.sharedLibrary}" + ] + else + [ + "-I" + "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}" + "-I" + "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}/${stdenv.hostPlatform.config}" + ]; # The flags passed to the wrapped cling should # a) prevent it from searching for system include files and libs, and @@ -137,22 +161,27 @@ let # Thus, if you're packaging a Jupyter kernel, you either need to pass these flags as extra # args to xcpp (for xeus-cling) or put them in the environment variable CLING_OPTS # (for jupyter-cling-kernel). - flags = [ - "-nostdinc" - "-nostdinc++" - - "-resource-dir" "${llvm.lib}/lib" - - "-isystem" "${lib.getLib unwrapped}/lib/clang/${llvmPackages_13.clang.version}/include" - ] - ++ cxxFlags - ++ [ - # System libc - "-isystem" "${lib.getDev stdenv.cc.libc}/include" - - # cling includes - "-isystem" "${lib.getDev unwrapped}/include" - ]; + flags = + [ + "-nostdinc" + "-nostdinc++" + + "-resource-dir" + "${llvm.lib}/lib" + + "-isystem" + "${lib.getLib unwrapped}/lib/clang/${llvmPackages_13.clang.version}/include" + ] + ++ cxxFlags + ++ [ + # System libc + "-isystem" + "${lib.getDev stdenv.cc.libc}/include" + + # cling includes + "-isystem" + "${lib.getDev unwrapped}/include" + ]; in diff --git a/pkgs/by-name/cl/clini/package.nix b/pkgs/by-name/cl/clini/package.nix index b6190a1141d9d..65d94561a0a74 100644 --- a/pkgs/by-name/cl/clini/package.nix +++ b/pkgs/by-name/cl/clini/package.nix @@ -1,4 +1,8 @@ -{ fetchCrate, lib, rustPlatform }: +{ + fetchCrate, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "clini"; diff --git a/pkgs/by-name/cl/clipcat/package.nix b/pkgs/by-name/cl/clipcat/package.nix index 1630253966e41..22f828a3f9b04 100644 --- a/pkgs/by-name/cl/clipcat/package.nix +++ b/pkgs/by-name/cl/clipcat/package.nix @@ -52,7 +52,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/xrelkd/clipcat"; license = lib.licenses.gpl3Only; platforms = lib.platforms.linux ++ lib.platforms.darwin; - maintainers = with lib.maintainers; [ xrelkd bot-wxt1221 ]; + maintainers = with lib.maintainers; [ + xrelkd + bot-wxt1221 + ]; mainProgram = "clipcatd"; }; } diff --git a/pkgs/by-name/cl/clipit/package.nix b/pkgs/by-name/cl/clipit/package.nix index 0bd48d2adf63d..c19ae440579d7 100644 --- a/pkgs/by-name/cl/clipit/package.nix +++ b/pkgs/by-name/cl/clipit/package.nix @@ -1,6 +1,16 @@ -{ fetchFromGitHub, lib, stdenv -, autoreconfHook, intltool, pkg-config -, gtk3, libayatana-appindicator, xdotool, which, wrapGAppsHook3 }: +{ + fetchFromGitHub, + lib, + stdenv, + autoreconfHook, + intltool, + pkg-config, + gtk3, + libayatana-appindicator, + xdotool, + which, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "clipit"; @@ -17,19 +27,36 @@ stdenv.mkDerivation rec { intltoolize --copy --force --automake ''; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 autoreconfHook intltool ]; - configureFlags = [ "--with-gtk3" "--enable-appindicator=yes" ]; - buildInputs = [ gtk3 libayatana-appindicator ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + autoreconfHook + intltool + ]; + configureFlags = [ + "--with-gtk3" + "--enable-appindicator=yes" + ]; + buildInputs = [ + gtk3 + libayatana-appindicator + ]; gappsWrapperArgs = [ - "--prefix" "PATH" ":" "${lib.makeBinPath [ xdotool which ]}" + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ + xdotool + which + ]}" ]; meta = with lib; { description = "Lightweight GTK Clipboard Manager"; inherit (src.meta) homepage; license = licenses.gpl3Plus; - platforms = platforms.linux; + platforms = platforms.linux; mainProgram = "clipit"; maintainers = with maintainers; [ kamilchm ]; }; diff --git a/pkgs/by-name/cl/clipman/package.nix b/pkgs/by-name/cl/clipman/package.nix index 95cdab616a44b..2db613c3fb103 100644 --- a/pkgs/by-name/cl/clipman/package.nix +++ b/pkgs/by-name/cl/clipman/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, wl-clipboard -, makeWrapper -, installShellFiles +{ + buildGoModule, + fetchFromGitHub, + lib, + wl-clipboard, + makeWrapper, + installShellFiles, }: buildGoModule rec { @@ -19,11 +20,17 @@ buildGoModule rec { vendorHash = "sha256-I1RWyjyOfppGi+Z5nvAei5zEvl0eQctcH8NP0MYSTbg="; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; doCheck = false; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; postInstall = '' wrapProgram $out/bin/clipman \ diff --git a/pkgs/by-name/cl/clipmenu/package.nix b/pkgs/by-name/cl/clipmenu/package.nix index b12dc7f04c36f..bf2c414a61dfb 100644 --- a/pkgs/by-name/cl/clipmenu/package.nix +++ b/pkgs/by-name/cl/clipmenu/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, clipnotify -, coreutils -, gawk -, util-linux -, xdotool -, xsel +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + clipnotify, + coreutils, + gawk, + util-linux, + xdotool, + xsel, }: stdenv.mkDerivation rec { pname = "clipmenu"; version = "6.2.0"; src = fetchFromGitHub { - owner = "cdown"; - repo = "clipmenu"; - rev = version; + owner = "cdown"; + repo = "clipmenu"; + rev = version; sha256 = "sha256-nvctEwyho6kl4+NXi76jT2kG7nchmI2a7mgxlgjXA5A="; }; @@ -26,7 +27,11 @@ stdenv.mkDerivation rec { ''; makeFlags = [ "PREFIX=$(out)" ]; - nativeBuildInputs = [ makeWrapper xsel clipnotify ]; + nativeBuildInputs = [ + makeWrapper + xsel + clipnotify + ]; postFixup = '' sed -i "$out/bin/clipctl" -e 's,clipmenud\$,\.clipmenud-wrapped\$,' @@ -35,7 +40,16 @@ stdenv.mkDerivation rec { --prefix PATH : "${lib.makeBinPath [ xsel ]}" wrapProgram "$out/bin/clipmenud" \ - --set PATH "${lib.makeBinPath [ clipnotify coreutils gawk util-linux xdotool xsel ]}" + --set PATH "${ + lib.makeBinPath [ + clipnotify + coreutils + gawk + util-linux + xdotool + xsel + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/cl/clipnotify/package.nix b/pkgs/by-name/cl/clipnotify/package.nix index 8f94f974b058d..d8e6cf5b469cf 100644 --- a/pkgs/by-name/cl/clipnotify/package.nix +++ b/pkgs/by-name/cl/clipnotify/package.nix @@ -1,4 +1,10 @@ -{ libX11, libXfixes, lib, stdenv, fetchFromGitHub }: +{ + libX11, + libXfixes, + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "clipnotify"; version = "unstable-2018-02-20"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1x9avjq0fgw0svcbw6b6873qnsqxbacls9sipmcv86xia4bxh8dn"; }; - buildInputs = [ libX11 libXfixes ]; + buildInputs = [ + libX11 + libXfixes + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/cl/clipp/package.nix b/pkgs/by-name/cl/clipp/package.nix index 12b393e597d40..b9a2f3eb54cc7 100644 --- a/pkgs/by-name/cl/clipp/package.nix +++ b/pkgs/by-name/cl/clipp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "clipp"; diff --git a/pkgs/by-name/cl/clipper/package.nix b/pkgs/by-name/cl/clipper/package.nix index 8dc649b6b5fe5..e9297156cf121 100644 --- a/pkgs/by-name/cl/clipper/package.nix +++ b/pkgs/by-name/cl/clipper/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, ninja, unzip }: +{ + lib, + stdenv, + fetchurl, + cmake, + ninja, + unzip, +}: stdenv.mkDerivation rec { version = "6.4.2"; @@ -10,7 +17,11 @@ stdenv.mkDerivation rec { sourceRoot = "cpp"; - nativeBuildInputs = [ cmake ninja unzip ]; + nativeBuildInputs = [ + cmake + ninja + unzip + ]; meta = with lib; { description = "Polygon and line clipping and offsetting library (C++, C#, Delphi)"; diff --git a/pkgs/by-name/cl/clipper2/package.nix b/pkgs/by-name/cl/clipper2/package.nix index 37ec396779396..a2e088acaa732 100644 --- a/pkgs/by-name/cl/clipper2/package.nix +++ b/pkgs/by-name/cl/clipper2/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cl/clipqr/package.nix b/pkgs/by-name/cl/clipqr/package.nix index 90d4e0b66b525..7e71cda67eb30 100644 --- a/pkgs/by-name/cl/clipqr/package.nix +++ b/pkgs/by-name/cl/clipqr/package.nix @@ -1,19 +1,20 @@ -{ buildGoModule -, copyDesktopItems -, fetchFromGitLab -, lib -, libGL -, libX11 -, libXcursor -, libXext -, libXi -, libXinerama -, libXrandr -, libXxf86vm -, makeDesktopItem -, mesa -, pkg-config -, stdenv +{ + buildGoModule, + copyDesktopItems, + fetchFromGitLab, + lib, + libGL, + libX11, + libXcursor, + libXext, + libXi, + libXinerama, + libXrandr, + libXxf86vm, + makeDesktopItem, + mesa, + pkg-config, + stdenv, }: buildGoModule rec { @@ -29,7 +30,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; buildInputs = [ libGL diff --git a/pkgs/by-name/cl/clips/package.nix b/pkgs/by-name/cl/clips/package.nix index c5c4d4321ce13..df9916098d33a 100644 --- a/pkgs/by-name/cl/clips/package.nix +++ b/pkgs/by-name/cl/clips/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "6.4.1"; @@ -6,8 +10,8 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/clipsrules/CLIPS/${version}/clips_core_source_${ - builtins.replaceStrings [ "." ] [ "" ] version - }.tar.gz"; + builtins.replaceStrings [ "." ] [ "" ] version + }.tar.gz"; hash = "sha256-qk87uLFZZL9HNPNlyVh+Mplr3dP1C/z1O5UVS+rnbuM="; }; @@ -15,7 +19,10 @@ stdenv.mkDerivation rec { substituteInPlace core/makefile --replace 'gcc' '${stdenv.cc.targetPrefix}cc' ''; - makeFlags = [ "-C" "core" ]; + makeFlags = [ + "-C" + "core" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/cl/clipse/package.nix b/pkgs/by-name/cl/clipse/package.nix index cc200b0c6b514..5cda92da78923 100644 --- a/pkgs/by-name/cl/clipse/package.nix +++ b/pkgs/by-name/cl/clipse/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/clipster/package.nix b/pkgs/by-name/cl/clipster/package.nix index 5c9c2cd1054ca..f73265d4fccf3 100644 --- a/pkgs/by-name/cl/clipster/package.nix +++ b/pkgs/by-name/cl/clipster/package.nix @@ -1,7 +1,15 @@ -{fetchFromGitHub , lib, stdenv, python3, gtk3, libwnck, - gobject-introspection, wrapGAppsHook3 }: +{ + fetchFromGitHub, + lib, + stdenv, + python3, + gtk3, + libwnck, + gobject-introspection, + wrapGAppsHook3, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "clipster"; version = "2.1.1"; @@ -12,10 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-MLLkFsBBQtb7RFQN+uoEmuCn5bnbkYsqoyWGZtTCI2U="; }; - pythonEnv = python3.withPackages(ps: with ps; [ pygobject3 ]); + pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]); nativeBuildInputs = [ gobject-introspection ]; - buildInputs = [ pythonEnv gtk3 libwnck wrapGAppsHook3 ]; + buildInputs = [ + pythonEnv + gtk3 + libwnck + wrapGAppsHook3 + ]; installPhase = '' sed -i 's/python/python3/g' clipster diff --git a/pkgs/by-name/cl/cliquer/package.nix b/pkgs/by-name/cl/cliquer/package.nix index 55a1b9dcb4c97..33d9c0704a984 100644 --- a/pkgs/by-name/cl/cliquer/package.nix +++ b/pkgs/by-name/cl/cliquer/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cl/clj-kondo/package.nix b/pkgs/by-name/cl/clj-kondo/package.nix index 984a0767c1fc5..6106e79c3ca26 100644 --- a/pkgs/by-name/cl/clj-kondo/package.nix +++ b/pkgs/by-name/cl/clj-kondo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGraalvmNativeImage, graalvmCEPackages, fetchurl +{ + lib, + buildGraalvmNativeImage, + graalvmCEPackages, + fetchurl, }: buildGraalvmNativeImage rec { @@ -6,23 +10,26 @@ buildGraalvmNativeImage rec { version = "2024.11.14"; src = fetchurl { - url = - "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; + url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; sha256 = "sha256-/pzRKx6fqcbVwp+Eif3a1mh/awmwhhLVtFldRYibp/g="; }; graalvmDrv = graalvmCEPackages.graalvm-ce; - extraNativeImageBuildArgs = - [ "-H:+ReportExceptionStackTraces" "--no-fallback" ]; + extraNativeImageBuildArgs = [ + "-H:+ReportExceptionStackTraces" + "--no-fallback" + ]; meta = with lib; { description = "Linter for Clojure code that sparks joy"; homepage = "https://github.com/clj-kondo/clj-kondo"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.epl10; - changelog = - "https://github.com/clj-kondo/clj-kondo/blob/v${version}/CHANGELOG.md"; - maintainers = with maintainers; [ jlesquembre bandresen ]; + changelog = "https://github.com/clj-kondo/clj-kondo/blob/v${version}/CHANGELOG.md"; + maintainers = with maintainers; [ + jlesquembre + bandresen + ]; }; } diff --git a/pkgs/by-name/cl/cljfmt/package.nix b/pkgs/by-name/cl/cljfmt/package.nix index 2005215f8fc42..11b3a776bd94e 100644 --- a/pkgs/by-name/cl/cljfmt/package.nix +++ b/pkgs/by-name/cl/cljfmt/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGraalvmNativeImage -, fetchurl -, nix-update-script -, testers -, cljfmt +{ + lib, + buildGraalvmNativeImage, + fetchurl, + nix-update-script, + testers, + cljfmt, }: buildGraalvmNativeImage rec { diff --git a/pkgs/by-name/cl/clmagma/package.nix b/pkgs/by-name/cl/clmagma/package.nix index c5efbb757df8a..c639c31db6f55 100644 --- a/pkgs/by-name/cl/clmagma/package.nix +++ b/pkgs/by-name/cl/clmagma/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, gfortran, opencl-headers, clblas, ocl-icd, mkl, intel-ocl }: +{ + lib, + stdenv, + fetchurl, + gfortran, + opencl-headers, + clblas, + ocl-icd, + mkl, + intel-ocl, +}: let incfile = builtins.toFile "make.inc.custom" '' @@ -29,7 +39,8 @@ let INC = -I$(clBLAS)/include #-I$(AMDAPP)/include ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "clmagma"; version = "1.3.0"; src = fetchurl { @@ -47,14 +58,14 @@ in stdenv.mkDerivation rec { intel-ocl ]; - enableParallelBuilding=true; + enableParallelBuilding = true; - MKLROOT = "${mkl}"; - clBLAS = "${clblas}"; + MKLROOT = "${mkl}"; + clBLAS = "${clblas}"; # Otherwise build looks for it in /run/opengl-driver/etc/OpenCL/vendors, # which is not available. - OPENCL_VENDOR_PATH="${intel-ocl}/etc/OpenCL/vendors"; + OPENCL_VENDOR_PATH = "${intel-ocl}/etc/OpenCL/vendors"; preBuild = '' # By default it tries to use GPU, and thus fails for CPUs diff --git a/pkgs/by-name/cl/cln/package.nix b/pkgs/by-name/cl/cln/package.nix index ae3ed853a026c..4cbe9688ce5f1 100644 --- a/pkgs/by-name/cl/cln/package.nix +++ b/pkgs/by-name/cl/cln/package.nix @@ -1,4 +1,9 @@ -{ lib, gccStdenv, fetchurl, gmp }: +{ + lib, + gccStdenv, + fetchurl, + gmp, +}: gccStdenv.mkDerivation rec { pname = "cln"; diff --git a/pkgs/by-name/cl/cloak/package.nix b/pkgs/by-name/cl/cloak/package.nix index 3857e458864aa..e4161bbdd4376 100644 --- a/pkgs/by-name/cl/cloak/package.nix +++ b/pkgs/by-name/cl/cloak/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "cloak"; diff --git a/pkgs/by-name/cl/cloc/package.nix b/pkgs/by-name/cl/cloc/package.nix index 39215caa63a5f..4841e86bba876 100644 --- a/pkgs/by-name/cl/cloc/package.nix +++ b/pkgs/by-name/cl/cloc/package.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perlPackages, +}: -let version = "2.02"; -in stdenv.mkDerivation { +let + version = "2.02"; +in +stdenv.mkDerivation { pname = "cloc"; inherit version; @@ -24,7 +32,11 @@ in stdenv.mkDerivation { RegexpCommon ]; - makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ]; + makeFlags = [ + "prefix=" + "DESTDIR=$(out)" + "INSTALL=install" + ]; postFixup = "wrapProgram $out/bin/cloc --prefix PERL5LIB : $PERL5LIB"; diff --git a/pkgs/by-name/cl/clockify/package.nix b/pkgs/by-name/cl/clockify/package.nix index 8bcd2785bc22c..54824d13ef60a 100644 --- a/pkgs/by-name/cl/clockify/package.nix +++ b/pkgs/by-name/cl/clockify/package.nix @@ -1,6 +1,8 @@ -{ lib -, appimageTools -, fetchurl }: +{ + lib, + appimageTools, + fetchurl, +}: appimageTools.wrapType2 rec { pname = "clockify"; @@ -12,8 +14,10 @@ appimageTools.wrapType2 rec { }; extraInstallCommands = - let appimageContents = appimageTools.extract { inherit pname version src; }; - in '' + let + appimageContents = appimageTools.extract { inherit pname version src; }; + in + '' install -Dm 444 ${appimageContents}/clockify.desktop -t $out/share/applications install -Dm 444 ${appimageContents}/clockify.png -t $out/share/pixmaps diff --git a/pkgs/by-name/cl/clog-cli/package.nix b/pkgs/by-name/cl/clog-cli/package.nix index 6f4fa62cb5335..06c498f6762d2 100644 --- a/pkgs/by-name/cl/clog-cli/package.nix +++ b/pkgs/by-name/cl/clog-cli/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, rustPlatform, lib }: +{ + fetchFromGitHub, + rustPlatform, + lib, +}: rustPlatform.buildRustPackage rec { pname = "clog-cli"; @@ -18,7 +22,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/clog-tool/clog-cli"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = [lib.maintainers.nthorne]; + maintainers = [ lib.maintainers.nthorne ]; mainProgram = "clog"; # error: could not compile `rustc-serialize` broken = true; # Added 2024-03-16 diff --git a/pkgs/by-name/cl/clolcat/package.nix b/pkgs/by-name/cl/clolcat/package.nix index 5ba22c69b41b3..328fd8c27779d 100644 --- a/pkgs/by-name/cl/clolcat/package.nix +++ b/pkgs/by-name/cl/clolcat/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchFromGitHub -, lib +{ + stdenv, + fetchFromGitHub, + lib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cl/clonehero/package.nix b/pkgs/by-name/cl/clonehero/package.nix index d7dcdee911e7a..82f88a4acc22d 100644 --- a/pkgs/by-name/cl/clonehero/package.nix +++ b/pkgs/by-name/cl/clonehero/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, gtk3 -, zlib -, alsa-lib -, dbus -, libGL -, libXcursor -, libXext -, libXi -, libXinerama -, libxkbcommon -, libXrandr -, libXScrnSaver -, libXxf86vm -, udev -, vulkan-loader # (not used by default, enable in settings menu) -, wayland # (not used by default, enable with SDL_VIDEODRIVER=wayland - doesn't support HiDPI) -, makeDesktopItem +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + gtk3, + zlib, + alsa-lib, + dbus, + libGL, + libXcursor, + libXext, + libXi, + libXinerama, + libxkbcommon, + libXrandr, + libXScrnSaver, + libXxf86vm, + udev, + vulkan-loader, # (not used by default, enable in settings menu) + wayland, # (not used by default, enable with SDL_VIDEODRIVER=wayland - doesn't support HiDPI) + makeDesktopItem, }: stdenv.mkDerivation (finalAttrs: { @@ -30,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YWLV+wgQ9RfKRSSWh/x0PMjB6tFA4YpHb9WtYOOgZZI="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; nativeBuildInputs = [ autoPatchelfHook ]; @@ -117,7 +121,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Clone of Guitar Hero and Rockband-style games"; homepage = "https://clonehero.net"; license = licenses.unfree; - maintainers = with maintainers; [ kira-bruneau syboxez ]; + maintainers = with maintainers; [ + kira-bruneau + syboxez + ]; platforms = [ "x86_64-linux" ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; diff --git a/pkgs/by-name/cl/closurecompiler/package.nix b/pkgs/by-name/cl/closurecompiler/package.nix index 2bb2340261c21..e2f0033080ef7 100644 --- a/pkgs/by-name/cl/closurecompiler/package.nix +++ b/pkgs/by-name/cl/closurecompiler/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "closure-compiler"; diff --git a/pkgs/by-name/cl/cloud-custodian/package.nix b/pkgs/by-name/cl/cloud-custodian/package.nix index 42ba013670b86..932df60ce4878 100644 --- a/pkgs/by-name/cl/cloud-custodian/package.nix +++ b/pkgs/by-name/cl/cloud-custodian/package.nix @@ -25,7 +25,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ poetry-core ]; - dependencies = with python3.pkgs; [ argcomplete boto3 diff --git a/pkgs/by-name/cl/cloud-hypervisor/package.nix b/pkgs/by-name/cl/cloud-hypervisor/package.nix index 42f6593ef8f89..a7a0c60737c09 100644 --- a/pkgs/by-name/cl/cloud-hypervisor/package.nix +++ b/pkgs/by-name/cl/cloud-hypervisor/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, rustPlatform, pkg-config, dtc, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rustPlatform, + pkg-config, + dtc, + openssl, }: rustPlatform.buildRustPackage rec { @@ -26,18 +33,30 @@ rustPlatform.buildRustPackage rec { cargoTestFlags = [ "--workspace" - "--bins" "--lib" # Integration tests require root. - "--exclude" "net_util" # /dev/net/tun - "--exclude" "vmm" # /dev/kvm + "--bins" + "--lib" # Integration tests require root. + "--exclude" + "net_util" # /dev/net/tun + "--exclude" + "vmm" # /dev/kvm ]; meta = with lib; { homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor"; description = "Open source Virtual Machine Monitor (VMM) that runs on top of KVM"; changelog = "https://github.com/cloud-hypervisor/cloud-hypervisor/releases/tag/v${version}"; - license = with licenses; [ asl20 bsd3 ]; + license = with licenses; [ + asl20 + bsd3 + ]; mainProgram = "cloud-hypervisor"; - maintainers = with maintainers; [ offline qyliss ]; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ + offline + qyliss + ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/cl/cloud-nuke/package.nix b/pkgs/by-name/cl/cloud-nuke/package.nix index f17bad02615b8..45daf1eed52b2 100644 --- a/pkgs/by-name/cl/cloud-nuke/package.nix +++ b/pkgs/by-name/cl/cloud-nuke/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeBinaryWrapper +{ + lib, + buildGoModule, + fetchFromGitHub, + makeBinaryWrapper, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/cloud-utils/package.nix b/pkgs/by-name/cl/cloud-utils/package.nix index 294746ae9a360..9074fc4b319ad 100644 --- a/pkgs/by-name/cl/cloud-utils/package.nix +++ b/pkgs/by-name/cl/cloud-utils/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, makeWrapper -, gawk -, gnused -, util-linux -, file -, wget -, python3 -, qemu-utils -, e2fsprogs -, cdrkit -, gptfdisk +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + makeWrapper, + gawk, + gnused, + util-linux, + file, + wget, + python3, + qemu-utils, + e2fsprogs, + cdrkit, + gptfdisk, }: let # according to https://packages.debian.org/sid/cloud-image-utils + https://packages.debian.org/sid/admin/cloud-guest-utils @@ -44,12 +45,20 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ python3 ]; - installFlags = [ "LIBDIR=$(out)/lib" "BINDIR=$(out)/bin" "MANDIR=$(out)/man/man1" "DOCDIR=$(out)/doc" ]; + installFlags = [ + "LIBDIR=$(out)/lib" + "BINDIR=$(out)/bin" + "MANDIR=$(out)/man/man1" + "DOCDIR=$(out)/doc" + ]; # $guest output contains all executables needed for cloud-init and $out the rest + $guest # This is similar to debian's package split into cloud-image-utils and cloud-guest-utils # The reason is to reduce the closure size - outputs = [ "out" "guest" ]; + outputs = [ + "out" + "guest" + ]; postFixup = '' moveToOutput bin/ec2metadata $guest diff --git a/pkgs/by-name/cl/cloudbrute/package.nix b/pkgs/by-name/cl/cloudbrute/package.nix index cae471ce9aec8..b3695975e9c91 100644 --- a/pkgs/by-name/cl/cloudbrute/package.nix +++ b/pkgs/by-name/cl/cloudbrute/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/cloudflare-utils/package.nix b/pkgs/by-name/cl/cloudflare-utils/package.nix index 005cea868e776..ce3079bcc3d98 100644 --- a/pkgs/by-name/cl/cloudflare-utils/package.nix +++ b/pkgs/by-name/cl/cloudflare-utils/package.nix @@ -20,6 +20,6 @@ buildGoModule rec { description = "Helpful Cloudflare utility program"; homepage = "https://github.com/Cyb3r-Jak3/cloudflare-utils"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [yelite]; + maintainers = with lib.maintainers; [ yelite ]; }; } diff --git a/pkgs/by-name/cl/cloudhunter/package.nix b/pkgs/by-name/cl/cloudhunter/package.nix index 7fdfa44031d1b..890527a1b6fef 100644 --- a/pkgs/by-name/cl/cloudhunter/package.nix +++ b/pkgs/by-name/cl/cloudhunter/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cl/cloudlens/package.nix b/pkgs/by-name/cl/cloudlens/package.nix index 677b9acf00519..c36a5a50a1318 100644 --- a/pkgs/by-name/cl/cloudlens/package.nix +++ b/pkgs/by-name/cl/cloudlens/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, autoPatchelfHook -, xclip -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + autoPatchelfHook, + xclip, + stdenv, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/cloudlog/package.nix b/pkgs/by-name/cl/cloudlog/package.nix index 22713841cccba..e4f573221a5a3 100644 --- a/pkgs/by-name/cl/cloudlog/package.nix +++ b/pkgs/by-name/cl/cloudlog/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nix-update-script -, nixosTests -, php +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nix-update-script, + nixosTests, + php, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/cl/cloudlogoffline/package.nix b/pkgs/by-name/cl/cloudlogoffline/package.nix index 027e91d5eb3a2..6732d3ec92a25 100644 --- a/pkgs/by-name/cl/cloudlogoffline/package.nix +++ b/pkgs/by-name/cl/cloudlogoffline/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, qt6 -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + qt6, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation (self: { pname = "cloudlogoffline"; @@ -17,13 +18,14 @@ stdenv.mkDerivation (self: { repo = "cloudLogOffline"; }; - nativeBuildInputs = [ - qt6.qmake - qt6.wrapQtAppsHook - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - copyDesktopItems - ]; + nativeBuildInputs = + [ + qt6.qmake + qt6.wrapQtAppsHook + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + copyDesktopItems + ]; buildInputs = [ qt6.qtbase @@ -32,26 +34,30 @@ stdenv.mkDerivation (self: { qt6.qtsvg ]; - postPatch = let - targetDir = if stdenv.hostPlatform.isDarwin then "Applications" else "bin"; - in '' - substituteInPlace CloudLogOffline.pro \ - --replace 'target.path = /opt/$''${TARGET}/bin' "target.path = $out/${targetDir}" - ''; + postPatch = + let + targetDir = if stdenv.hostPlatform.isDarwin then "Applications" else "bin"; + in + '' + substituteInPlace CloudLogOffline.pro \ + --replace 'target.path = /opt/$''${TARGET}/bin' "target.path = $out/${targetDir}" + ''; - postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - install -d $out/share/pixmaps - install -m644 images/logo_circle.svg $out/share/pixmaps/cloudlogoffline.svg - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # FIXME: For some reason, the Info.plist isn't copied correctly to - # the application bundle when building normally, instead creating an - # empty file. This doesn't happen when building in a dev shell with - # genericBuild. - # So, just copy the file manually. - plistPath="$out/Applications/CloudLogOffline.app/Contents/Info.plist" - [[ -s "$plistPath" ]] && { echo "expected Info.plist to be empty; workaround no longer needed?"; exit 1; } - install -m644 macos/Info.plist $out/Applications/CloudLogOffline.app/Contents/Info.plist - ''; + postInstall = + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + install -d $out/share/pixmaps + install -m644 images/logo_circle.svg $out/share/pixmaps/cloudlogoffline.svg + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # FIXME: For some reason, the Info.plist isn't copied correctly to + # the application bundle when building normally, instead creating an + # empty file. This doesn't happen when building in a dev shell with + # genericBuild. + # So, just copy the file manually. + plistPath="$out/Applications/CloudLogOffline.app/Contents/Info.plist" + [[ -s "$plistPath" ]] && { echo "expected Info.plist to be empty; workaround no longer needed?"; exit 1; } + install -m644 macos/Info.plist $out/Applications/CloudLogOffline.app/Contents/Info.plist + ''; desktopItems = lib.optionals (!stdenv.hostPlatform.isDarwin) [ (makeDesktopItem { @@ -61,7 +67,11 @@ stdenv.mkDerivation (self: { icon = "cloudlogoffline"; comment = self.meta.description; genericName = "Ham radio contact logbook"; - categories = [ "Network" "Utility" "HamRadio" ]; + categories = [ + "Network" + "Utility" + "HamRadio" + ]; }) ]; diff --git a/pkgs/by-name/cl/cloudmonkey/package.nix b/pkgs/by-name/cl/cloudmonkey/package.nix index ffde81b8f1b03..8505984541dba 100644 --- a/pkgs/by-name/cl/cloudmonkey/package.nix +++ b/pkgs/by-name/cl/cloudmonkey/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "cloudmonkey"; diff --git a/pkgs/by-name/cl/cloudrecon/package.nix b/pkgs/by-name/cl/cloudrecon/package.nix index 45b50ffcaed8f..fda6f1e81c74b 100644 --- a/pkgs/by-name/cl/cloudrecon/package.nix +++ b/pkgs/by-name/cl/cloudrecon/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/cl/cloudsmith-cli/package.nix b/pkgs/by-name/cl/cloudsmith-cli/package.nix index ed4cde502a5c8..427c85fea9261 100644 --- a/pkgs/by-name/cl/cloudsmith-cli/package.nix +++ b/pkgs/by-name/cl/cloudsmith-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchpatch +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cl/clp/package.nix b/pkgs/by-name/cl/clp/package.nix index c01337b8d969e..ce042141b9374 100644 --- a/pkgs/by-name/cl/clp/package.nix +++ b/pkgs/by-name/cl/clp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, coin-utils, zlib, osi }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + coin-utils, + zlib, + osi, +}: stdenv.mkDerivation rec { version = "1.17.10"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ zlib coin-utils osi ]; + propagatedBuildInputs = [ + zlib + coin-utils + osi + ]; doCheck = true; diff --git a/pkgs/by-name/cl/clpeak/package.nix b/pkgs/by-name/cl/clpeak/package.nix index 6060a2078113e..bf8285ca89695 100644 --- a/pkgs/by-name/cl/clpeak/package.nix +++ b/pkgs/by-name/cl/clpeak/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ocl-icd, opencl-clhpp }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ocl-icd, + opencl-clhpp, +}: stdenv.mkDerivation rec { pname = "clpeak"; @@ -22,7 +29,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ ocl-icd opencl-clhpp ]; + buildInputs = [ + ocl-icd + opencl-clhpp + ]; meta = with lib; { description = "Tool which profiles OpenCL devices to find their peak capacities"; diff --git a/pkgs/by-name/cl/clubhouse-cli/package.nix b/pkgs/by-name/cl/clubhouse-cli/package.nix index 8e44b2c0cec86..f77b9419988b1 100644 --- a/pkgs/by-name/cl/clubhouse-cli/package.nix +++ b/pkgs/by-name/cl/clubhouse-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/cl/clustal-omega/package.nix b/pkgs/by-name/cl/clustal-omega/package.nix index 6a39a889f55fb..1004082dcf7e1 100644 --- a/pkgs/by-name/cl/clustal-omega/package.nix +++ b/pkgs/by-name/cl/clustal-omega/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, argtable }: +{ + lib, + stdenv, + fetchurl, + argtable, +}: stdenv.mkDerivation rec { version = "1.2.4"; diff --git a/pkgs/by-name/cl/clusterctl/package.nix b/pkgs/by-name/cl/clusterctl/package.nix index 6d55e8fb1b91a..9ff60625252b7 100644 --- a/pkgs/by-name/cl/clusterctl/package.nix +++ b/pkgs/by-name/cl/clusterctl/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, clusterctl }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + clusterctl, +}: buildGoModule rec { pname = "clusterctl"; @@ -17,11 +24,15 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = let t = "sigs.k8s.io/cluster-api/version"; in [ - "-X ${t}.gitMajor=${lib.versions.major version}" - "-X ${t}.gitMinor=${lib.versions.minor version}" - "-X ${t}.gitVersion=v${version}" - ]; + ldflags = + let + t = "sigs.k8s.io/cluster-api/version"; + in + [ + "-X ${t}.gitMajor=${lib.versions.major version}" + "-X ${t}.gitMinor=${lib.versions.minor version}" + "-X ${t}.gitVersion=v${version}" + ]; postInstall = '' # errors attempting to write config to read-only $HOME diff --git a/pkgs/by-name/cl/clutter-gtk/package.nix b/pkgs/by-name/cl/clutter-gtk/package.nix index 7800e82ff27ac..30a4607056c44 100644 --- a/pkgs/by-name/cl/clutter-gtk/package.nix +++ b/pkgs/by-name/cl/clutter-gtk/package.nix @@ -1,13 +1,14 @@ -{ fetchurl -, lib -, stdenv -, pkg-config -, meson -, ninja -, gobject-introspection -, clutter -, gtk3 -, gnome +{ + fetchurl, + lib, + stdenv, + pkg-config, + meson, + ninja, + gobject-introspection, + clutter, + gtk3, + gnome, }: let @@ -23,10 +24,21 @@ stdenv.mkDerivation rec { sha256 = "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - propagatedBuildInputs = [ clutter gtk3 ]; - nativeBuildInputs = [ meson ninja pkg-config gobject-introspection ]; + propagatedBuildInputs = [ + clutter + gtk3 + ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + ]; postPatch = '' # ld: malformed 32-bit x.y.z version number: =1 diff --git a/pkgs/by-name/cl/clutter/package.nix b/pkgs/by-name/cl/clutter/package.nix index 3831e31052087..8d3fa575cf715 100644 --- a/pkgs/by-name/cl/clutter/package.nix +++ b/pkgs/by-name/cl/clutter/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libGLU -, libGL -, libX11 -, libXext -, libXfixes -, libXdamage -, libXcomposite -, libXi -, libxcb -, cogl -, pango -, atk -, json-glib -, gobject-introspection -, gtk3 -, gnome -, libinput -, libgudev -, libxkbcommon +{ + lib, + stdenv, + fetchurl, + pkg-config, + libGLU, + libGL, + libX11, + libXext, + libXfixes, + libXdamage, + libXcomposite, + libXi, + libxcb, + cogl, + pango, + atk, + json-glib, + gobject-introspection, + gtk3, + gnome, + libinput, + libgudev, + libxkbcommon, }: let @@ -35,38 +36,48 @@ stdenv.mkDerivation rec { sha256 = "1rn4cd1an6a9dfda884aqpcwcgq8dgydpqvb19nmagw4b70zlj4b"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ gtk3 ]; - nativeBuildInputs = [ pkg-config gobject-introspection ]; - propagatedBuildInputs = [ - cogl - pango - atk - json-glib + nativeBuildInputs = [ + pkg-config gobject-introspection - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libX11 - libGL - libGLU - libXext - libXfixes - libXdamage - libXcomposite - libXi - libxcb - libinput - libgudev - libxkbcommon ]; + propagatedBuildInputs = + [ + cogl + pango + atk + json-glib + gobject-introspection + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libX11 + libGL + libGLU + libXext + libXfixes + libXdamage + libXcomposite + libXi + libxcb + libinput + libgudev + libxkbcommon + ]; - configureFlags = [ - "--enable-introspection" # needed by muffin AFAIK - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--without-x" - "--enable-x11-backend=no" - "--enable-quartz-backend=yes" - ]; + configureFlags = + [ + "--enable-introspection" # needed by muffin AFAIK + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--without-x" + "--enable-x11-backend=no" + "--enable-quartz-backend=yes" + ]; env = lib.optionalAttrs stdenv.cc.isClang { NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; diff --git a/pkgs/by-name/cl/clzip/package.nix b/pkgs/by-name/cl/clzip/package.nix index 8220d8b7bfa7c..ebce63d5a1dab 100644 --- a/pkgs/by-name/cl/clzip/package.nix +++ b/pkgs/by-name/cl/clzip/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cm/cm256cc/package.nix b/pkgs/by-name/cm/cm256cc/package.nix index 0e8b03aa72366..a608a421eda19 100644 --- a/pkgs/by-name/cm/cm256cc/package.nix +++ b/pkgs/by-name/cm/cm256cc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost } : +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, +}: stdenv.mkDerivation rec { pname = "cm256cc"; diff --git a/pkgs/by-name/cm/cm_unicode/package.nix b/pkgs/by-name/cm/cm_unicode/package.nix index fc59baa5f9d20..12500e18882cb 100644 --- a/pkgs/by-name/cm/cm_unicode/package.nix +++ b/pkgs/by-name/cm/cm_unicode/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "cm-unicode"; @@ -21,7 +25,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { homepage = "https://cm-unicode.sourceforge.io/"; description = "Computer Modern Unicode fonts"; - maintainers = with maintainers; [ raskin rycee ]; + maintainers = with maintainers; [ + raskin + rycee + ]; license = licenses.ofl; platforms = platforms.all; }; diff --git a/pkgs/by-name/cm/cmakerc/package.nix b/pkgs/by-name/cm/cmakerc/package.nix index 6876bc52a2cf1..d7635c735f146 100644 --- a/pkgs/by-name/cm/cmakerc/package.nix +++ b/pkgs/by-name/cm/cmakerc/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cm/cmark-gfm/package.nix b/pkgs/by-name/cm/cmark-gfm/package.nix index 75ff3acdb9474..48c1b6ec8b3b0 100644 --- a/pkgs/by-name/cm/cmark-gfm/package.nix +++ b/pkgs/by-name/cm/cmark-gfm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "cmark-gfm"; version = "0.29.0.gfm.13"; diff --git a/pkgs/by-name/cm/cmark/package.nix b/pkgs/by-name/cm/cmark/package.nix index 83407c64384db..5f0d4a9c383fe 100644 --- a/pkgs/by-name/cm/cmark/package.nix +++ b/pkgs/by-name/cm/cmark/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "cmark"; @@ -21,11 +26,13 @@ stdenv.mkDerivation rec { doCheck = true; - preCheck = let - lib_path = if stdenv.hostPlatform.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH"; - in '' - export ${lib_path}=$(readlink -f ./src) - ''; + preCheck = + let + lib_path = if stdenv.hostPlatform.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + in + '' + export ${lib_path}=$(readlink -f ./src) + ''; meta = with lib; { description = "CommonMark parsing and rendering library and program in C"; diff --git a/pkgs/by-name/cm/cmatrix/package.nix b/pkgs/by-name/cm/cmatrix/package.nix index 7aca6851df217..a3a330effccfb 100644 --- a/pkgs/by-name/cm/cmatrix/package.nix +++ b/pkgs/by-name/cm/cmatrix/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + ncurses, +}: stdenv.mkDerivation rec { pname = "cmatrix"; diff --git a/pkgs/by-name/cm/cmctl/package.nix b/pkgs/by-name/cm/cmctl/package.nix index b103450942c75..7f72b847e4d83 100644 --- a/pkgs/by-name/cm/cmctl/package.nix +++ b/pkgs/by-name/cm/cmctl/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, nix-update-script +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nix-update-script, }: buildGoModule rec { @@ -37,14 +38,16 @@ buildGoModule rec { # Trusted by this computer: no: x509: “cert-manager” certificate is not trusted doCheck = !stdenv.hostPlatform.isDarwin; - postInstall = '' - mv $out/bin/ctl $out/bin/cmctl - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd cmctl \ - --bash <($out/bin/cmctl completion bash) \ - --fish <($out/bin/cmctl completion fish) \ - --zsh <($out/bin/cmctl completion zsh) - ''; + postInstall = + '' + mv $out/bin/ctl $out/bin/cmctl + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd cmctl \ + --bash <($out/bin/cmctl completion bash) \ + --fish <($out/bin/cmctl completion fish) \ + --zsh <($out/bin/cmctl completion zsh) + ''; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/cm/cmd-wrapped/package.nix b/pkgs/by-name/cm/cmd-wrapped/package.nix index f98ba3bee930b..a3081227d9766 100644 --- a/pkgs/by-name/cm/cmd-wrapped/package.nix +++ b/pkgs/by-name/cm/cmd-wrapped/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cm/cmdstan/package.nix b/pkgs/by-name/cm/cmdstan/package.nix index 5199d457f4df6..6ddbcaedff10f 100644 --- a/pkgs/by-name/cm/cmdstan/package.nix +++ b/pkgs/by-name/cm/cmdstan/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, stanc -, buildPackages -, runtimeShell -, runCommandCC -, cmdstan +{ + lib, + stdenv, + fetchFromGitHub, + python3, + stanc, + buildPackages, + runtimeShell, + runCommandCC, + cmdstan, }: stdenv.mkDerivation rec { @@ -31,23 +32,26 @@ stdenv.mkDerivation rec { stanc ]; - preConfigure = '' - patchShebangs test-all.sh runCmdStanTests.py stan/ - '' - # Fix inclusion of hardcoded paths in PCH files, by building in the store. - + '' - mkdir -p $out/opt - cp -R . $out/opt/cmdstan - cd $out/opt/cmdstan - mkdir -p bin - ln -s ${buildPackages.stanc}/bin/stanc bin/stanc - ''; + preConfigure = + '' + patchShebangs test-all.sh runCmdStanTests.py stan/ + '' + # Fix inclusion of hardcoded paths in PCH files, by building in the store. + + '' + mkdir -p $out/opt + cp -R . $out/opt/cmdstan + cd $out/opt/cmdstan + mkdir -p bin + ln -s ${buildPackages.stanc}/bin/stanc bin/stanc + ''; - makeFlags = [ - "build" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "arch=${stdenv.hostPlatform.darwinArch}" - ]; + makeFlags = + [ + "build" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "arch=${stdenv.hostPlatform.darwinArch}" + ]; # Disable inclusion of timestamps in PCH files when using Clang. env.CXXFLAGS = lib.optionalString stdenv.cc.isClang "-Xclang -fno-pch-timestamp"; diff --git a/pkgs/by-name/cm/cmigemo/package.nix b/pkgs/by-name/cm/cmigemo/package.nix index 74f5a5100d279..cd85f7d3d83e6 100644 --- a/pkgs/by-name/cm/cmigemo/package.nix +++ b/pkgs/by-name/cm/cmigemo/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchFromGitHub -, iconv, nkf, perl, which -, skkDictionaries +{ + lib, + stdenv, + fetchFromGitHub, + iconv, + nkf, + perl, + which, + skkDictionaries, }: stdenv.mkDerivation { @@ -14,7 +20,12 @@ stdenv.mkDerivation { sha256 = "00a6kdmxp16b8x0p04ws050y39qspd1bqlfq74bkirc55b77a2m1"; }; - nativeBuildInputs = [ iconv nkf perl which ]; + nativeBuildInputs = [ + iconv + nkf + perl + which + ]; postUnpack = '' cp ${skkDictionaries.l}/share/skk/SKK-JISYO.L source/dict/ diff --git a/pkgs/by-name/cm/cminpack/package.nix b/pkgs/by-name/cm/cminpack/package.nix index 81224c0fdaa36..08f5ea016148d 100644 --- a/pkgs/by-name/cm/cminpack/package.nix +++ b/pkgs/by-name/cm/cminpack/package.nix @@ -1,9 +1,11 @@ -{ lib -, stdenv -, cmake -, darwin -, fetchFromGitHub -, withBlas ? true, blas +{ + lib, + stdenv, + cmake, + darwin, + fetchFromGitHub, + withBlas ? true, + blas, }: stdenv.mkDerivation rec { @@ -23,13 +25,15 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = lib.optionals withBlas [ - blas - ] ++ lib.optionals (withBlas && stdenv.hostPlatform.isDarwin) [ - darwin.apple_sdk.frameworks.Accelerate - darwin.apple_sdk.frameworks.CoreGraphics - darwin.apple_sdk.frameworks.CoreVideo - ]; + buildInputs = + lib.optionals withBlas [ + blas + ] + ++ lib.optionals (withBlas && stdenv.hostPlatform.isDarwin) [ + darwin.apple_sdk.frameworks.Accelerate + darwin.apple_sdk.frameworks.CoreGraphics + darwin.apple_sdk.frameworks.CoreVideo + ]; cmakeFlags = [ "-DUSE_BLAS=${if withBlas then "ON" else "OFF"}" diff --git a/pkgs/by-name/cm/cmocka/package.nix b/pkgs/by-name/cm/cmocka/package.nix index 9a7ea037785bf..74de381fbe52f 100644 --- a/pkgs/by-name/cm/cmocka/package.nix +++ b/pkgs/by-name/cm/cmocka/package.nix @@ -1,4 +1,9 @@ -{ fetchurl, lib, stdenv, cmake }: +{ + fetchurl, + lib, + stdenv, + cmake, +}: stdenv.mkDerivation rec { pname = "cmocka"; @@ -16,7 +21,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = lib.optional doCheck "-DUNIT_TESTING=ON" + cmakeFlags = + lib.optional doCheck "-DUNIT_TESTING=ON" ++ lib.optional stdenv.hostPlatform.isStatic "-DBUILD_SHARED_LIBS=OFF"; doCheck = true; @@ -51,6 +57,9 @@ stdenv.mkDerivation rec { homepage = "https://cmocka.org/"; license = licenses.asl20; platforms = platforms.all; - maintainers = with maintainers; [ kragniz rasendubi ]; + maintainers = with maintainers; [ + kragniz + rasendubi + ]; }; } diff --git a/pkgs/by-name/cm/cmospwd/package.nix b/pkgs/by-name/cm/cmospwd/package.nix index 9243afa1aad75..e9cdf0fc263f9 100644 --- a/pkgs/by-name/cm/cmospwd/package.nix +++ b/pkgs/by-name/cm/cmospwd/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, stdenv +{ + lib, + fetchurl, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cm/cmrt/package.nix b/pkgs/by-name/cm/cmrt/package.nix index 2e3fc7a3a1982..60d17e593c6bf 100644 --- a/pkgs/by-name/cm/cmrt/package.nix +++ b/pkgs/by-name/cm/cmrt/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libdrm, libva }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libdrm, + libva, +}: stdenv.mkDerivation rec { pname = "cmrt"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-W6MQI41J9CKeM1eILCkvmW34cbCC8YeEF2mE+Ci8o7s="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ libdrm libva ]; + buildInputs = [ + libdrm + libva + ]; meta = with lib; { broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); diff --git a/pkgs/by-name/cm/cmt/package.nix b/pkgs/by-name/cm/cmt/package.nix index bf7ed0ee37d4b..87caa2d32603f 100644 --- a/pkgs/by-name/cm/cmt/package.nix +++ b/pkgs/by-name/cm/cmt/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchurl -, ladspaH +{ + lib, + stdenv, + fetchurl, + ladspaH, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cm/cmtk/package.nix b/pkgs/by-name/cm/cmtk/package.nix index f454bfc4f4154..c7fa4fb79e5ff 100644 --- a/pkgs/by-name/cm/cmtk/package.nix +++ b/pkgs/by-name/cm/cmtk/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, bzip2 -, cmake -, fetchurl -, fftw -, llvmPackages -, zlib +{ + lib, + stdenv, + bzip2, + cmake, + fetchurl, + fftw, + llvmPackages, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -26,19 +27,23 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = [ - bzip2 - fftw - zlib - ] ++ lib.optionals stdenv.cc.isClang [ - llvmPackages.openmp - ]; + buildInputs = + [ + bzip2 + fftw + zlib + ] + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.openmp + ]; - cmakeFlags = [ - (lib.cmakeFeature "CMAKE_CXX_STANDARD" "14") - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-Dfinite=isfinite") - ]; + cmakeFlags = + [ + (lib.cmakeFeature "CMAKE_CXX_STANDARD" "14") + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-Dfinite=isfinite") + ]; meta = with lib; { description = "Computational Morphometry Toolkit"; diff --git a/pkgs/by-name/cm/cmusfm/package.nix b/pkgs/by-name/cm/cmusfm/package.nix index 117356bf948e7..c46dd39415690 100644 --- a/pkgs/by-name/cm/cmusfm/package.nix +++ b/pkgs/by-name/cm/cmusfm/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, libnotify -, gdk-pixbuf, libnotifySupport ? stdenv.hostPlatform.isLinux, debug ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + curl, + libnotify, + gdk-pixbuf, + libnotifySupport ? stdenv.hostPlatform.isLinux, + debug ? false, +}: stdenv.mkDerivation rec { pname = "cmusfm"; @@ -12,13 +22,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-CA585ZpkxMMLgzv81QB2kKMFg5R5CwKS9xAYrU+pAxs="; }; - configureFlags = lib.optional libnotifySupport "--enable-libnotify" + configureFlags = + lib.optional libnotifySupport "--enable-libnotify" ++ lib.optional debug "--enable-debug"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ curl gdk-pixbuf ] - ++ lib.optional libnotifySupport libnotify; + buildInputs = [ + curl + gdk-pixbuf + ] ++ lib.optional libnotifySupport libnotify; meta = with lib; { description = "Last.fm and Libre.fm standalone scrobbler for the cmus music player"; @@ -35,7 +51,10 @@ stdenv.mkDerivation rec { + Inside cmus run `:set status_display_program=cmusfm` to set up cmusfm ''; homepage = "https://github.com/Arkq/cmusfm/"; - maintainers = with lib.maintainers; [ CharlesHD mudri ]; + maintainers = with lib.maintainers; [ + CharlesHD + mudri + ]; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; mainProgram = "cmusfm"; diff --git a/pkgs/by-name/cn/cnijfilter2/package.nix b/pkgs/by-name/cn/cnijfilter2/package.nix index 5be4e17581b6e..c040987773cd0 100644 --- a/pkgs/by-name/cn/cnijfilter2/package.nix +++ b/pkgs/by-name/cn/cnijfilter2/package.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchzip, autoconf, automake, cups, glib, libxml2, libusb1, libtool -, withDebug ? false }: +{ + stdenv, + lib, + fetchzip, + autoconf, + automake, + cups, + glib, + libxml2, + libusb1, + libtool, + withDebug ? false, +}: stdenv.mkDerivation { pname = "cnijfilter2"; @@ -11,9 +22,16 @@ stdenv.mkDerivation { sha256 = "3RoG83jLOsdTEmvUkkxb7wa8oBrJA4v1mGtxTGwSowU="; }; - nativeBuildInputs = [ automake autoconf ]; + nativeBuildInputs = [ + automake + autoconf + ]; buildInputs = [ - cups glib libxml2 libusb1 libtool + cups + glib + libxml2 + libusb1 + libtool ]; patches = [ @@ -27,67 +45,70 @@ stdenv.mkDerivation { # # Note that the drivers attempt to dlopen # $out/lib/cups/filter/libcnbpcnclapicom2.so - buildPhase = '' - mkdir -p $out/lib - cp com/libs_bin_x86_64/* $out/lib - mkdir -p $out/lib/cups/filter - ln -s $out/lib/libcnbpcnclapicom2.so $out/lib/cups/filter - - export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib" - '' + lib.optionalString withDebug '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D__DEBUG__ -DDEBUG_LOG" - '' + '' - - ( - cd lgmon3 - substituteInPlace src/Makefile.am \ - --replace /usr/include/libusb-1.0 \ - ${libusb1.dev}/include/libusb-1.0 - ./autogen.sh --prefix=$out --enable-progpath=$out/bin \ - --datadir=$out/share \ - --enable-libdir=/var/cache/cups - make - ) - - ( - cd cmdtocanonij2 - ./autogen.sh --prefix=$out - make - ) - - ( - cd cmdtocanonij3 - ./autogen.sh --prefix=$out - make - ) - - ( - cd cnijbe2 - substituteInPlace src/Makefile.am \ - --replace "/usr/lib/cups/backend" \ - "$out/lib/cups/backend" - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( - cd rastertocanonij - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( - cd tocanonij - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( - cd tocnpwg - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - ''; + buildPhase = + '' + mkdir -p $out/lib + cp com/libs_bin_x86_64/* $out/lib + mkdir -p $out/lib/cups/filter + ln -s $out/lib/libcnbpcnclapicom2.so $out/lib/cups/filter + + export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib" + '' + + lib.optionalString withDebug '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D__DEBUG__ -DDEBUG_LOG" + '' + + '' + + ( + cd lgmon3 + substituteInPlace src/Makefile.am \ + --replace /usr/include/libusb-1.0 \ + ${libusb1.dev}/include/libusb-1.0 + ./autogen.sh --prefix=$out --enable-progpath=$out/bin \ + --datadir=$out/share \ + --enable-libdir=/var/cache/cups + make + ) + + ( + cd cmdtocanonij2 + ./autogen.sh --prefix=$out + make + ) + + ( + cd cmdtocanonij3 + ./autogen.sh --prefix=$out + make + ) + + ( + cd cnijbe2 + substituteInPlace src/Makefile.am \ + --replace "/usr/lib/cups/backend" \ + "$out/lib/cups/backend" + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + make + ) + + ( + cd rastertocanonij + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + make + ) + + ( + cd tocanonij + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + make + ) + + ( + cd tocnpwg + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + make + ) + ''; installPhase = '' ( @@ -144,7 +165,10 @@ stdenv.mkDerivation { ''; homepage = "https://hk.canon/en/support/0101048401/1"; license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = [ ]; }; } diff --git a/pkgs/by-name/cn/cnijfilter_4_00/package.nix b/pkgs/by-name/cn/cnijfilter_4_00/package.nix index d632ed12d89bd..4ae5a908bf872 100644 --- a/pkgs/by-name/cn/cnijfilter_4_00/package.nix +++ b/pkgs/by-name/cn/cnijfilter_4_00/package.nix @@ -1,28 +1,49 @@ -{ stdenv, lib, fetchzip, - autoconf, automake, libtool, - cups, popt, libtiff, libpng, - ghostscript, glib, libusb1, libxml2 }: - -/* this derivation is basically just a transcription of the rpm .spec - file included in the tarball */ - -let arch = - if stdenv.hostPlatform.system == "x86_64-linux" then "64" - else if stdenv.hostPlatform.system == "i686-linux" then "32" - else throw "Unsupported system ${stdenv.hostPlatform.system}"; - -in stdenv.mkDerivation { +{ + stdenv, + lib, + fetchzip, + autoconf, + automake, + libtool, + cups, + popt, + libtiff, + libpng, + ghostscript, + glib, + libusb1, + libxml2, +}: + +/* + this derivation is basically just a transcription of the rpm .spec + file included in the tarball +*/ + +let + arch = + if stdenv.hostPlatform.system == "x86_64-linux" then + "64" + else if stdenv.hostPlatform.system == "i686-linux" then + "32" + else + throw "Unsupported system ${stdenv.hostPlatform.system}"; + +in +stdenv.mkDerivation { pname = "cnijfilter"; - /* important note about versions: cnijfilter packages seem to use - versions in a non-standard way. the version indicates which - printers are supported in the package. so this package should - not be "upgraded" in the usual way. - - instead, if you want to include another version supporting your - printer, you should try to abstract out the common things (which - should be pretty much everything except the version and the 'pr' - and 'pr_id' values to loop over). */ + /* + important note about versions: cnijfilter packages seem to use + versions in a non-standard way. the version indicates which + printers are supported in the package. so this package should + not be "upgraded" in the usual way. + + instead, if you want to include another version supporting your + printer, you should try to abstract out the common things (which + should be pretty much everything except the version and the 'pr' + and 'pr_id' values to loop over). + */ version = "4.00"; src = fetchzip { @@ -30,10 +51,21 @@ in stdenv.mkDerivation { sha256 = "1f6vpx1z3qa88590i5m0s49j9n90vpk81xmw6pvj0nfd3qbvzkya"; }; - nativeBuildInputs = [ autoconf automake ]; - buildInputs = [ libtool - cups popt libtiff libpng - ghostscript glib libusb1 libxml2 ]; + nativeBuildInputs = [ + autoconf + automake + ]; + buildInputs = [ + libtool + cups + popt + libtiff + libpng + ghostscript + glib + libusb1 + libxml2 + ]; # patches from https://github.com/tokiclover/bar-overlay/tree/master/net-print/cnijfilter patches = [ @@ -132,14 +164,16 @@ in stdenv.mkDerivation { popd; ''; - /* the tarball includes some pre-built shared libraries. we run - 'patchelf --set-rpath' on them just a few lines above, so that - they can find each other. but that's not quite enough. some of - those libraries load each other in non-standard ways -- they - don't list each other in the DT_NEEDED section. so, if the - standard 'patchelf --shrink-rpath' (from - pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on - them, it undoes the --set-rpath. this prevents that. */ + /* + the tarball includes some pre-built shared libraries. we run + 'patchelf --set-rpath' on them just a few lines above, so that + they can find each other. but that's not quite enough. some of + those libraries load each other in non-standard ways -- they + don't list each other in the DT_NEEDED section. so, if the + standard 'patchelf --shrink-rpath' (from + pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on + them, it undoes the --set-rpath. this prevents that. + */ dontPatchELF = true; meta = with lib; { diff --git a/pkgs/by-name/cn/cnping/package.nix b/pkgs/by-name/cn/cnping/package.nix index 9058bcb674c8c..2fe587f6e5b1c 100644 --- a/pkgs/by-name/cn/cnping/package.nix +++ b/pkgs/by-name/cn/cnping/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libglvnd, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + libglvnd, + xorg, +}: stdenv.mkDerivation rec { pname = "cnping"; @@ -12,7 +18,12 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ libglvnd xorg.libXinerama xorg.libXext xorg.libX11 ]; + buildInputs = [ + libglvnd + xorg.libXinerama + xorg.libXext + xorg.libX11 + ]; # The "linuxinstall" target won't work for us: # it tries to setcap and copy to a FHS directory @@ -25,7 +36,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Minimal Graphical IPV4 Ping Tool"; homepage = "https://github.com/cntools/cnping"; - license = with licenses; [ mit bsd3 ]; # dual licensed, MIT-x11 & BSD-3-Clause + license = with licenses; [ + mit + bsd3 + ]; # dual licensed, MIT-x11 & BSD-3-Clause maintainers = [ ]; platforms = platforms.linux; mainProgram = "cnping"; diff --git a/pkgs/by-name/cn/cnstrokeorder/package.nix b/pkgs/by-name/cn/cnstrokeorder/package.nix index 66803b1b63ff8..d6908d08ecf71 100644 --- a/pkgs/by-name/cn/cnstrokeorder/package.nix +++ b/pkgs/by-name/cn/cnstrokeorder/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "cnstrokeorder"; diff --git a/pkgs/by-name/cn/cntb/package.nix b/pkgs/by-name/cn/cntb/package.nix index 75efd4e0727c0..69622e914a10f 100644 --- a/pkgs/by-name/cn/cntb/package.nix +++ b/pkgs/by-name/cn/cntb/package.nix @@ -1,7 +1,9 @@ -{ buildGoModule -, lib -, fetchFromGitHub -}: buildGoModule rec { +{ + buildGoModule, + lib, + fetchFromGitHub, +}: +buildGoModule rec { pname = "cntb"; version = "1.4.12"; diff --git a/pkgs/by-name/cn/cntlm/package.nix b/pkgs/by-name/cn/cntlm/package.nix index 8750967107efe..da0446ac3ac05 100644 --- a/pkgs/by-name/cn/cntlm/package.nix +++ b/pkgs/by-name/cn/cntlm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, which}: +{ + lib, + stdenv, + fetchurl, + which, +}: stdenv.mkDerivation rec { pname = "cntlm"; @@ -26,11 +31,10 @@ stdenv.mkDerivation rec { description = "NTLM/NTLMv2 authenticating HTTP proxy"; homepage = "https://cntlm.sourceforge.net/"; license = licenses.gpl2Only; - maintainers = - [ - maintainers.qknight - maintainers.carlosdagos - ]; + maintainers = [ + maintainers.qknight + maintainers.carlosdagos + ]; platforms = platforms.linux ++ platforms.darwin; mainProgram = "cntlm"; }; diff --git a/pkgs/by-name/cn/cntr/package.nix b/pkgs/by-name/cn/cntr/package.nix index 0a4f9b999d946..01cdabf3ce77f 100644 --- a/pkgs/by-name/cn/cntr/package.nix +++ b/pkgs/by-name/cn/cntr/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, nixosTests }: +{ + lib, + rustPlatform, + fetchFromGitHub, + nixosTests, +}: rustPlatform.buildRustPackage rec { pname = "cntr"; @@ -20,7 +25,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Mic92/cntr"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ mic92 sigmasquadron ]; + maintainers = with maintainers; [ + mic92 + sigmasquadron + ]; mainProgram = "cntr"; }; } diff --git a/pkgs/by-name/co/coan/package.nix b/pkgs/by-name/co/coan/package.nix index 94c45614ed844..4d8b956427121 100644 --- a/pkgs/by-name/co/coan/package.nix +++ b/pkgs/by-name/co/coan/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, perl }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + perl, +}: stdenv.mkDerivation rec { version = "6.0.1"; @@ -14,7 +20,10 @@ stdenv.mkDerivation rec { ./fix-big-endian-config-check.diff ]; - nativeBuildInputs = [ autoreconfHook perl ]; + nativeBuildInputs = [ + autoreconfHook + perl + ]; configureFlags = [ "CXXFLAGS=-std=c++11" ]; diff --git a/pkgs/by-name/co/cobra-cli/package.nix b/pkgs/by-name/co/cobra-cli/package.nix index d94ef657d7414..c0883a60c71bf 100644 --- a/pkgs/by-name/co/cobra-cli/package.nix +++ b/pkgs/by-name/co/cobra-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, go }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + go, +}: buildGoModule rec { pname = "cobra-cli"; diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index 586368222857c..51ee6fcc3d97d 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, bashInteractive -, cacert -, coreutils -, dbus -, docbook_xml_dtd_43 -, docbook_xsl -, findutils -, gettext -, git -, glib -, glib-networking -, gnused -, gnutls -, json-glib -, krb5 -, libssh -, libxcrypt -, libxslt -, makeWrapper -, nodejs -, nixosTests -, nix-update-script -, openssh -, openssl -, pam -, pkg-config -, polkit -, python3Packages -, runtimeShell -, systemd -, udev -, xmlto +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bashInteractive, + cacert, + coreutils, + dbus, + docbook_xml_dtd_43, + docbook_xsl, + findutils, + gettext, + git, + glib, + glib-networking, + gnused, + gnutls, + json-glib, + krb5, + libssh, + libxcrypt, + libxslt, + makeWrapper, + nodejs, + nixosTests, + nix-update-script, + openssh, + openssl, + pam, + pkg-config, + polkit, + python3Packages, + runtimeShell, + systemd, + udev, + xmlto, }: stdenv.mkDerivation rec { @@ -168,7 +169,12 @@ stdenv.mkDerivation rec { runHook preFixup wrapProgram $out/libexec/cockpit-certificate-helper \ - --prefix PATH : ${lib.makeBinPath [ coreutils openssl ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + openssl + ] + } \ --run 'cd $(mktemp -d)' wrapProgram $out/share/cockpit/motd/update-motd \ @@ -210,7 +216,7 @@ stdenv.mkDerivation rec { passthru = { tests = { inherit (nixosTests) cockpit; }; - updateScript = nix-update-script {}; + updateScript = nix-update-script { }; }; meta = with lib; { diff --git a/pkgs/by-name/co/cockroachdb/package.nix b/pkgs/by-name/co/cockroachdb/package.nix index c155e0aa076e8..e362eb8c8d23e 100644 --- a/pkgs/by-name/co/cockroachdb/package.nix +++ b/pkgs/by-name/co/cockroachdb/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, buildFHSEnv +{ + lib, + stdenv, + fetchzip, + buildFHSEnv, }: let @@ -24,7 +25,8 @@ let hash = "sha256-goCBE+zv9KArdoMsI48rlISurUM0bL/l1OEYWQKqzv0="; }; }; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); in buildFHSEnv { @@ -45,7 +47,13 @@ buildFHSEnv { cockroachdb-community-license ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - platforms = [ "aarch64-linux" "x86_64-linux" ]; - maintainers = with maintainers; [ rushmorem thoughtpolice ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; + maintainers = with maintainers; [ + rushmorem + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/co/coconutbattery/package.nix b/pkgs/by-name/co/coconutbattery/package.nix index d3e67c96cfddf..cef8e8b277691 100644 --- a/pkgs/by-name/co/coconutbattery/package.nix +++ b/pkgs/by-name/co/coconutbattery/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -8,7 +9,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { version = "3.9.14"; src = fetchzip { - url = "https://coconut-flavour.com/downloads/coconutBattery_${builtins.replaceStrings [ "." ] [ "" ] finalAttrs.version}.zip"; + url = "https://coconut-flavour.com/downloads/coconutBattery_${ + builtins.replaceStrings [ "." ] [ "" ] finalAttrs.version + }.zip"; hash = "sha256-zKSPKwDBwxlyNJFurCLLGtba9gpizJCjOOAd81vdD5Q="; }; @@ -36,6 +39,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = with licenses; [ unfree ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; maintainers = with maintainers; [ stepbrobd ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + ]; }; }) diff --git a/pkgs/by-name/co/cod/package.nix b/pkgs/by-name/co/cod/package.nix index 08ea681eedb8b..6dd5ef4d82a58 100644 --- a/pkgs/by-name/co/cod/package.nix +++ b/pkgs/by-name/co/cod/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, buildGoModule, python3 }: +{ + stdenv, + lib, + fetchFromGitHub, + buildGoModule, + python3, +}: buildGoModule rec { pname = "cod"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-kezfBDTgpOTBYKTNlwuP+M5tXU2w/MXz0B5nBJcL1io="; - ldflags = [ "-s" "-w" "-X main.GitSha=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.GitSha=${src.rev}" + ]; nativeCheckInputs = [ python3 ]; diff --git a/pkgs/by-name/co/code-maat/package.nix b/pkgs/by-name/co/code-maat/package.nix index 2046322390c11..5713fb7ee0848 100644 --- a/pkgs/by-name/co/code-maat/package.nix +++ b/pkgs/by-name/co/code-maat/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchurl -, makeBinaryWrapper -, jre +{ + lib, + stdenvNoCC, + fetchurl, + makeBinaryWrapper, + jre, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/code-minimap/package.nix b/pkgs/by-name/co/code-minimap/package.nix index 2bc64b425e5ff..726989ca8a94b 100644 --- a/pkgs/by-name/co/code-minimap/package.nix +++ b/pkgs/by-name/co/code-minimap/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, libiconv +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + libiconv, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "High performance code minimap render"; homepage = "https://github.com/wfxr/code-minimap"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ bsima ]; mainProgram = "code-minimap"; }; diff --git a/pkgs/by-name/co/codeberg-pages/package.nix b/pkgs/by-name/co/codeberg-pages/package.nix index 90252be061997..9b424cf6d1b0d 100644 --- a/pkgs/by-name/co/codeberg-pages/package.nix +++ b/pkgs/by-name/co/codeberg-pages/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitea, buildGoModule, nix-update-script }: +{ + lib, + fetchFromGitea, + buildGoModule, + nix-update-script, +}: buildGoModule rec { pname = "codeberg-pages"; @@ -19,15 +24,25 @@ buildGoModule rec { rm server/handler/handler_test.go ''; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; - tags = [ "sqlite" "sqlite_unlock_notify" "netgo" ]; + tags = [ + "sqlite" + "sqlite_unlock_notify" + "netgo" + ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { mainProgram = "pages"; - maintainers = with maintainers; [ laurent-f1z1 christoph-heiss ]; + maintainers = with maintainers; [ + laurent-f1z1 + christoph-heiss + ]; license = licenses.eupl12; homepage = "https://codeberg.org/Codeberg/pages-server"; description = "Static websites hosting from Gitea repositories"; diff --git a/pkgs/by-name/co/codeblocks/package.nix b/pkgs/by-name/co/codeblocks/package.nix index 80fbe5674635d..a62b5d690346e 100644 --- a/pkgs/by-name/co/codeblocks/package.nix +++ b/pkgs/by-name/co/codeblocks/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, file, zip, wxGTK32, gtk3 -, contribPlugins ? false, hunspell, boost, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + file, + zip, + wxGTK32, + gtk3, + contribPlugins ? false, + hunspell, + boost, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -12,9 +24,21 @@ stdenv.mkDerivation rec { sha256 = "1idaksw1vacmm83krxh5zlb12kad3dkz9ixh70glw1gaibib7vhm"; }; - nativeBuildInputs = [ pkg-config file zip wrapGAppsHook3 ]; - buildInputs = [ wxGTK32 gtk3 ] - ++ lib.optionals contribPlugins [ hunspell boost ]; + nativeBuildInputs = [ + pkg-config + file + zip + wrapGAppsHook3 + ]; + buildInputs = + [ + wxGTK32 + gtk3 + ] + ++ lib.optionals contribPlugins [ + hunspell + boost + ]; enableParallelBuilding = true; patches = [ ./writable-projects.patch @@ -118,10 +142,15 @@ stdenv.mkDerivation rec { ]; preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file"; postConfigure = lib.optionalString stdenv.hostPlatform.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig"; - configureFlags = [ "--enable-pch=no" ] ++ lib.optionals contribPlugins [ - ("--with-contrib-plugins=all,-FileManager" + lib.optionalString stdenv.hostPlatform.isDarwin ",-NassiShneiderman") - "--with-boost-libdir=${boost}/lib" - ]; + configureFlags = + [ "--enable-pch=no" ] + ++ lib.optionals contribPlugins [ + ( + "--with-contrib-plugins=all,-FileManager" + + lib.optionalString stdenv.hostPlatform.isDarwin ",-NassiShneiderman" + ) + "--with-boost-libdir=${boost}/lib" + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' ln -s $out/lib/codeblocks/plugins $out/share/codeblocks/plugins ''; @@ -130,12 +159,11 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.linquize ]; platforms = platforms.all; description = "Open source, cross platform, free C, C++ and Fortran IDE"; - longDescription = - '' - Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. - It is designed to be very extensible and fully configurable. - Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms. - ''; + longDescription = '' + Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. + It is designed to be very extensible and fully configurable. + Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms. + ''; homepage = "http://www.codeblocks.org"; license = licenses.gpl3; }; diff --git a/pkgs/by-name/co/codebraid/package.nix b/pkgs/by-name/co/codebraid/package.nix index 516dd66cf01b0..9c31dc6245013 100644 --- a/pkgs/by-name/co/codebraid/package.nix +++ b/pkgs/by-name/co/codebraid/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "codebraid"; diff --git a/pkgs/by-name/co/codec2/package.nix b/pkgs/by-name/co/codec2/package.nix index 308db170bc329..f5c82cfb8a51d 100644 --- a/pkgs/by-name/co/codec2/package.nix +++ b/pkgs/by-name/co/codec2/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, freedvSupport ? false -, lpcnetfreedv +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + freedvSupport ? false, + lpcnetfreedv, }: stdenv.mkDerivation rec { @@ -32,12 +33,14 @@ stdenv.mkDerivation rec { sed -r -i 's/(\<_Complex)(\s+)(float|double)/\3\2\1/' $out/include/$pname/freedv_api.h ''; - cmakeFlags = [ - # RPATH of binary /nix/store/.../bin/freedv_rx contains a forbidden reference to /build/ - "-DCMAKE_SKIP_BUILD_RPATH=ON" - ] ++ lib.optionals freedvSupport [ - "-DLPCNET=ON" - ]; + cmakeFlags = + [ + # RPATH of binary /nix/store/.../bin/freedv_rx contains a forbidden reference to /build/ + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ] + ++ lib.optionals freedvSupport [ + "-DLPCNET=ON" + ]; meta = with lib; { description = "Speech codec designed for communications quality speech at low data rates"; diff --git a/pkgs/by-name/co/codefresh/package.nix b/pkgs/by-name/co/codefresh/package.nix index fc6829cba2c39..cfba4df8298d0 100644 --- a/pkgs/by-name/co/codefresh/package.nix +++ b/pkgs/by-name/co/codefresh/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchYarnDeps, yarnConfigHook, yarnInstallHook, nodejs, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnInstallHook, + nodejs, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "codefresh"; diff --git a/pkgs/by-name/co/codemov/package.nix b/pkgs/by-name/co/codemov/package.nix index 2134a7300f13b..f667279800531 100644 --- a/pkgs/by-name/co/codemov/package.nix +++ b/pkgs/by-name/co/codemov/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeBinaryWrapper -, pkg-config -, oniguruma -, ffmpeg -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + makeBinaryWrapper, + pkg-config, + oniguruma, + ffmpeg, + git, }: rustPlatform.buildRustPackage { @@ -42,7 +43,12 @@ rustPlatform.buildRustPackage { postInstall = '' wrapProgram $out/bin/codemov \ - --prefix PATH : ${lib.makeBinPath [ ffmpeg git ]} + --prefix PATH : ${ + lib.makeBinPath [ + ffmpeg + git + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/co/codeowners/package.nix b/pkgs/by-name/co/codeowners/package.nix index 3c7bdb1ff222a..067870f13b797 100644 --- a/pkgs/by-name/co/codeowners/package.nix +++ b/pkgs/by-name/co/codeowners/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ + buildGoModule, + lib, + fetchFromGitHub, +}: buildGoModule rec { pname = "codeowners"; diff --git a/pkgs/by-name/co/codeql/package.nix b/pkgs/by-name/co/codeql/package.nix index 4d64ba892f529..9c3eb34894f3f 100644 --- a/pkgs/by-name/co/codeql/package.nix +++ b/pkgs/by-name/co/codeql/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchzip, zlib, xorg, freetype, jdk17, curl }: +{ + lib, + stdenv, + fetchzip, + zlib, + xorg, + freetype, + jdk17, + curl, +}: stdenv.mkDerivation rec { pname = "codeql"; diff --git a/pkgs/by-name/co/codesearch/package.nix b/pkgs/by-name/co/codesearch/package.nix index 7a948388e09ca..fb93208c1020c 100644 --- a/pkgs/by-name/co/codesearch/package.nix +++ b/pkgs/by-name/co/codesearch/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "codesearch"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Fast, indexed regexp search over large file trees"; diff --git a/pkgs/by-name/co/codespell/package.nix b/pkgs/by-name/co/codespell/package.nix index da39f0f759921..d46e981168554 100644 --- a/pkgs/by-name/co/codespell/package.nix +++ b/pkgs/by-name/co/codespell/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, aspellDicts -, python3 +{ + lib, + fetchFromGitHub, + aspellDicts, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -43,7 +44,13 @@ python3.pkgs.buildPythonApplication rec { description = "Fix common misspellings in source code"; mainProgram = "codespell"; homepage = "https://github.com/codespell-project/codespell"; - license = with licenses; [ gpl2Only cc-by-sa-30 ]; - maintainers = with maintainers; [ johnazoidberg SuperSandro2000 ]; + license = with licenses; [ + gpl2Only + cc-by-sa-30 + ]; + maintainers = with maintainers; [ + johnazoidberg + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/co/codespelunker/package.nix b/pkgs/by-name/co/codespelunker/package.nix index 185fcf1e60e31..a0c6ea7987030 100644 --- a/pkgs/by-name/co/codespelunker/package.nix +++ b/pkgs/by-name/co/codespelunker/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "codespelunker"; @@ -18,7 +22,10 @@ buildGoModule rec { meta = with lib; { description = "Command code search tool"; homepage = "https://github.com/boyter/cs"; - license = with licenses; [ mit unlicense ]; + license = with licenses; [ + mit + unlicense + ]; maintainers = with maintainers; [ viraptor ]; mainProgram = "cs"; }; diff --git a/pkgs/by-name/co/codevis/package.nix b/pkgs/by-name/co/codevis/package.nix index 3ef5e899b4ac1..10f390228c6ba 100644 --- a/pkgs/by-name/co/codevis/package.nix +++ b/pkgs/by-name/co/codevis/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, oniguruma +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + oniguruma, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/co/codux/package.nix b/pkgs/by-name/co/codux/package.nix index 940a097a37e8b..f932c66161de8 100644 --- a/pkgs/by-name/co/codux/package.nix +++ b/pkgs/by-name/co/codux/package.nix @@ -1,6 +1,7 @@ -{ lib -, appimageTools -, fetchurl +{ + lib, + appimageTools, + fetchurl, }: let @@ -29,7 +30,10 @@ appimageTools.wrapType2 rec { homepage = "https://www.codux.com"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ dit7ya kashw2 ]; + maintainers = with maintainers; [ + dit7ya + kashw2 + ]; mainProgram = "codux"; }; } diff --git a/pkgs/by-name/co/coffeegrindsize/package.nix b/pkgs/by-name/co/coffeegrindsize/package.nix index ea23de82bbce2..5df497e4bd1ea 100644 --- a/pkgs/by-name/co/coffeegrindsize/package.nix +++ b/pkgs/by-name/co/coffeegrindsize/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication { pname = "coffeegrindsize"; diff --git a/pkgs/by-name/co/coffeescript/package.nix b/pkgs/by-name/co/coffeescript/package.nix index a5ef29967e075..0153c233d76ac 100644 --- a/pkgs/by-name/co/coffeescript/package.nix +++ b/pkgs/by-name/co/coffeescript/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/co/cog/package.nix b/pkgs/by-name/co/cog/package.nix index 35194301772b2..1dcef0357088f 100644 --- a/pkgs/by-name/co/cog/package.nix +++ b/pkgs/by-name/co/cog/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, wayland -, wayland-protocols -, libwpe -, libwpe-fdo -, glib-networking -, webkitgtk_4_0 -, makeWrapper -, wrapGAppsHook3 -, adwaita-icon-theme -, gdk-pixbuf +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + wayland, + wayland-protocols, + libwpe, + libwpe-fdo, + glib-networking, + webkitgtk_4_0, + makeWrapper, + wrapGAppsHook3, + adwaita-icon-theme, + gdk-pixbuf, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/co/coin-utils/package.nix b/pkgs/by-name/co/coin-utils/package.nix index 60b9de0ab33a7..45681a7213570 100644 --- a/pkgs/by-name/co/coin-utils/package.nix +++ b/pkgs/by-name/co/coin-utils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { version = "2.11.10"; diff --git a/pkgs/by-name/co/coin3d/package.nix b/pkgs/by-name/co/coin3d/package.nix index a0d1ae07d636f..7b23954b762f4 100644 --- a/pkgs/by-name/co/coin3d/package.nix +++ b/pkgs/by-name/co/coin3d/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cmake -, libGL -, libGLU -, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + libGL, + libGLU, + libX11, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/coinmp/package.nix b/pkgs/by-name/co/coinmp/package.nix index 5aff27ceb93d4..632fd2da873b4 100644 --- a/pkgs/by-name/co/coinmp/package.nix +++ b/pkgs/by-name/co/coinmp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation (finalAttrs: { pname = "coinmp"; diff --git a/pkgs/by-name/co/cointop/package.nix b/pkgs/by-name/co/cointop/package.nix index 99841742786e1..14f2c8a17c60a 100644 --- a/pkgs/by-name/co/cointop/package.nix +++ b/pkgs/by-name/co/cointop/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cointop"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Fastest and most interactive terminal based UI application for tracking cryptocurrencies"; diff --git a/pkgs/by-name/co/colemak-dh/package.nix b/pkgs/by-name/co/colemak-dh/package.nix index 6acf1488d79b7..76113c08a4c90 100644 --- a/pkgs/by-name/co/colemak-dh/package.nix +++ b/pkgs/by-name/co/colemak-dh/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/co/collapseos-cvm/package.nix b/pkgs/by-name/co/collapseos-cvm/package.nix index 798d58467af6e..3d5a89de17442 100644 --- a/pkgs/by-name/co/collapseos-cvm/package.nix +++ b/pkgs/by-name/co/collapseos-cvm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "collapseos-cvm"; diff --git a/pkgs/by-name/co/colloid-gtk-theme/package.nix b/pkgs/by-name/co/colloid-gtk-theme/package.nix index 449caed8ec3fa..de4cdee70ffe0 100644 --- a/pkgs/by-name/co/colloid-gtk-theme/package.nix +++ b/pkgs/by-name/co/colloid-gtk-theme/package.nix @@ -1,73 +1,108 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gnome-themes-extra -, gtk-engine-murrine -, jdupes -, sassc -, themeVariants ? [] # default: blue -, colorVariants ? [] # default: all -, sizeVariants ? [] # default: standard -, tweaks ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gnome-themes-extra, + gtk-engine-murrine, + jdupes, + sassc, + themeVariants ? [ ], # default: blue + colorVariants ? [ ], # default: all + sizeVariants ? [ ], # default: standard + tweaks ? [ ], }: let pname = "colloid-gtk-theme"; in -lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ] themeVariants -lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants -lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "everforest" "catppuccin" "all" "black" "rimless" "normal" "float" ] tweaks +lib.checkListOfEnum "${pname}: theme variants" + [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "teal" + "grey" + "all" + ] + themeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ "standard" "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: size variants" + [ "standard" "compact" ] + sizeVariants + lib.checkListOfEnum + "${pname}: tweaks" + [ + "nord" + "dracula" + "gruvbox" + "everforest" + "catppuccin" + "all" + "black" + "rimless" + "normal" + "float" + ] + tweaks -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-11-16"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-11-16"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-70HDn87acG0me+zbXk6AoGmakY6VLuawq1ubgGcRZVk="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-70HDn87acG0me+zbXk6AoGmakY6VLuawq1ubgGcRZVk="; + }; - nativeBuildInputs = [ - jdupes - sassc - ]; + nativeBuildInputs = [ + jdupes + sassc + ]; - buildInputs = [ - gnome-themes-extra - ]; + buildInputs = [ + gnome-themes-extra + ]; - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - name= HOME="$TMPDIR" ./install.sh \ - ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (sizeVariants != []) "--size " + builtins.toString sizeVariants} \ - ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \ - --dest $out/share/themes + name= HOME="$TMPDIR" ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "--size " + builtins.toString sizeVariants} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes - jdupes --quiet --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - description = "Modern and clean Gtk theme"; - homepage = "https://github.com/vinceliuice/Colloid-gtk-theme"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} + meta = with lib; { + description = "Modern and clean Gtk theme"; + homepage = "https://github.com/vinceliuice/Colloid-gtk-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/co/colloid-icon-theme/package.nix b/pkgs/by-name/co/colloid-icon-theme/package.nix index 25ffaf87b4931..3b2ea4b9987ad 100644 --- a/pkgs/by-name/co/colloid-icon-theme/package.nix +++ b/pkgs/by-name/co/colloid-icon-theme/package.nix @@ -1,72 +1,98 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, gtk3 -, hicolor-icon-theme -, jdupes -, schemeVariants ? [] -, colorVariants ? [] # default is blue +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + gtk3, + hicolor-icon-theme, + jdupes, + schemeVariants ? [ ], + colorVariants ? [ ], # default is blue }: let pname = "colloid-icon-theme"; in -lib.checkListOfEnum "${pname}: scheme variants" [ "default" "nord" "dracula" "gruvbox" "everforest" "catppuccin" "all" ] schemeVariants -lib.checkListOfEnum "${pname}: color variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ] colorVariants +lib.checkListOfEnum "${pname}: scheme variants" + [ + "default" + "nord" + "dracula" + "gruvbox" + "everforest" + "catppuccin" + "all" + ] + schemeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "teal" + "grey" + "all" + ] + colorVariants -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-10-18"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-10-18"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-xpRgOt/FqZSbtOlZKlZS1ILQn6OAwqKAXX3hj41Wo+0="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-xpRgOt/FqZSbtOlZKlZS1ILQn6OAwqKAXX3hj41Wo+0="; + }; - nativeBuildInputs = [ - gtk3 - jdupes - ]; + nativeBuildInputs = [ + gtk3 + jdupes + ]; - propagatedBuildInputs = [ - hicolor-icon-theme - ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; - dontDropIconThemeCache = true; + dontDropIconThemeCache = true; - # These fixup steps are slow and unnecessary for this package. - # Package may install almost 400 000 small files. - dontPatchELF = true; - dontRewriteSymlinks = true; + # These fixup steps are slow and unnecessary for this package. + # Package may install almost 400 000 small files. + dontPatchELF = true; + dontRewriteSymlinks = true; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - name= ./install.sh \ - ${lib.optionalString (schemeVariants != []) ("--scheme " + builtins.toString schemeVariants)} \ - ${lib.optionalString (colorVariants != []) ("--theme " + builtins.toString colorVariants)} \ - --dest $out/share/icons + name= ./install.sh \ + ${lib.optionalString (schemeVariants != [ ]) ("--scheme " + builtins.toString schemeVariants)} \ + ${lib.optionalString (colorVariants != [ ]) ("--theme " + builtins.toString colorVariants)} \ + --dest $out/share/icons - jdupes --quiet --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { }; - meta = with lib; { - description = "Colloid icon theme"; - homepage = "https://github.com/vinceliuice/colloid-icon-theme"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = with maintainers; [ romildo ]; - }; -} + meta = with lib; { + description = "Colloid icon theme"; + homepage = "https://github.com/vinceliuice/colloid-icon-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = with maintainers; [ romildo ]; + }; + } diff --git a/pkgs/by-name/co/colm/package.nix b/pkgs/by-name/co/colm/package.nix index 7db574022bfa2..19d8744aa1e2c 100644 --- a/pkgs/by-name/co/colm/package.nix +++ b/pkgs/by-name/co/colm/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, gcc, asciidoc, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + gcc, + asciidoc, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "colm"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { patches = [ ./cross-compile.patch ]; - nativeBuildInputs = [ makeWrapper asciidoc autoreconfHook ]; + nativeBuildInputs = [ + makeWrapper + asciidoc + autoreconfHook + ]; env = lib.optionalAttrs stdenv.cc.isGNU { NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion"; diff --git a/pkgs/by-name/co/colmena/package.nix b/pkgs/by-name/co/colmena/package.nix index bffb3f2564653..9f6fd8f4425d5 100644 --- a/pkgs/by-name/co/colmena/package.nix +++ b/pkgs/by-name/co/colmena/package.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchpatch, rustPlatform, fetchFromGitHub, installShellFiles, makeBinaryWrapper, nix-eval-jobs, nix -, colmena, testers }: +{ + stdenv, + lib, + fetchpatch, + rustPlatform, + fetchFromGitHub, + installShellFiles, + makeBinaryWrapper, + nix-eval-jobs, + nix, + colmena, + testers, +}: rustPlatform.buildRustPackage rec { pname = "colmena"; @@ -14,7 +25,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-rk2atWWJIR95duUXxAiARegjeCyfAsqTDwEr5P0eIr8="; - nativeBuildInputs = [ installShellFiles makeBinaryWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeBinaryWrapper + ]; buildInputs = [ nix-eval-jobs ]; diff --git a/pkgs/by-name/co/colobot/data.nix b/pkgs/by-name/co/colobot/data.nix index 761c68c15e816..d2fcedee561dd 100644 --- a/pkgs/by-name/co/colobot/data.nix +++ b/pkgs/by-name/co/colobot/data.nix @@ -1,6 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, cmake -, gettext, vorbis-tools -, xmlstarlet, doxygen, python3 }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gettext, + vorbis-tools, + xmlstarlet, + doxygen, + python3, +}: stdenv.mkDerivation rec { pname = "colobot-data"; @@ -13,7 +21,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-yzIbAzrGsDe6hO0GHF9gjnj7IE8B7+5LDbvjZi4Wtms="; }; - nativeBuildInputs = [ cmake vorbis-tools xmlstarlet doxygen python3 ]; + nativeBuildInputs = [ + cmake + vorbis-tools + xmlstarlet + doxygen + python3 + ]; buildInputs = [ gettext ]; enableParallelBuilding = false; diff --git a/pkgs/by-name/co/colobot/package.nix b/pkgs/by-name/co/colobot/package.nix index 58edbea1881b8..8ddbbe00998cf 100644 --- a/pkgs/by-name/co/colobot/package.nix +++ b/pkgs/by-name/co/colobot/package.nix @@ -1,9 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, SDL2, SDL2_image, SDL2_ttf, libpng -, glew, gettext, libsndfile, libvorbis, libogg, physfs, openal -, xmlstarlet, doxygen, python3, callPackage }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + SDL2, + SDL2_image, + SDL2_ttf, + libpng, + glew, + gettext, + libsndfile, + libvorbis, + libogg, + physfs, + openal, + xmlstarlet, + doxygen, + python3, + callPackage, +}: let - colobot-data = callPackage ./data.nix {}; + colobot-data = callPackage ./data.nix { }; in stdenv.mkDerivation rec { pname = "colobot"; @@ -18,8 +37,26 @@ stdenv.mkDerivation rec { hash = "sha256-3iea2+5xCT0//NAjMHrynZKSoiOSgLTNMUQkRhXuXg8="; }; - nativeBuildInputs = [ cmake xmlstarlet doxygen python3 ]; - buildInputs = [ boost SDL2 SDL2_image SDL2_ttf libpng glew gettext libsndfile libvorbis libogg physfs openal ]; + nativeBuildInputs = [ + cmake + xmlstarlet + doxygen + python3 + ]; + buildInputs = [ + boost + SDL2 + SDL2_image + SDL2_ttf + libpng + glew + gettext + libsndfile + libvorbis + libogg + physfs + openal + ]; enableParallelBuilding = false; diff --git a/pkgs/by-name/co/coloquinte/package.nix b/pkgs/by-name/co/coloquinte/package.nix index 6946080c100e9..8a326beca66b5 100644 --- a/pkgs/by-name/co/coloquinte/package.nix +++ b/pkgs/by-name/co/coloquinte/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, lemon-graph -, eigen -, boost +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lemon-graph, + eigen, + boost, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/colord-gtk/package.nix b/pkgs/by-name/co/colord-gtk/package.nix index 6f7e41964247c..46d7e1cfb3e22 100644 --- a/pkgs/by-name/co/colord-gtk/package.nix +++ b/pkgs/by-name/co/colord-gtk/package.nix @@ -1,29 +1,34 @@ -{ lib -, stdenv -, fetchurl -, colord -, gettext -, meson -, ninja -, gobject-introspection -, gtk-doc -, docbook-xsl-ns -, docbook-xsl-nons -, docbook_xml_dtd_412 -, libxslt -, glib -, withGtk4 ? false -, gtk3 -, gtk4 -, pkg-config -, lcms2 +{ + lib, + stdenv, + fetchurl, + colord, + gettext, + meson, + ninja, + gobject-introspection, + gtk-doc, + docbook-xsl-ns, + docbook-xsl-nons, + docbook_xml_dtd_412, + libxslt, + glib, + withGtk4 ? false, + gtk3, + gtk4, + pkg-config, + lcms2, }: stdenv.mkDerivation rec { pname = "colord-gtk"; version = "0.3.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "https://www.freedesktop.org/software/colord/releases/colord-gtk-${version}.tar.xz"; @@ -48,13 +53,20 @@ stdenv.mkDerivation rec { lcms2 ]; - propagatedBuildInputs = [ - colord - ] ++ (if withGtk4 then [ - gtk4 - ] else [ - gtk3 - ]); + propagatedBuildInputs = + [ + colord + ] + ++ ( + if withGtk4 then + [ + gtk4 + ] + else + [ + gtk3 + ] + ); mesonFlags = [ "-Dgtk4=${lib.boolToString withGtk4}" diff --git a/pkgs/by-name/co/colord/package.nix b/pkgs/by-name/co/colord/package.nix index da893702d9d53..963b8567fa0ba 100644 --- a/pkgs/by-name/co/colord/package.nix +++ b/pkgs/by-name/co/colord/package.nix @@ -1,42 +1,49 @@ -{ lib -, stdenv -, fetchurl -, nixosTests -, bash-completion -, glib -, polkit -, pkg-config -, gettext -, gusb -, lcms2 -, sqlite -, udev -, systemd -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, dbus -, gobject-introspection -, argyllcms -, meson -, mesonEmulatorHook -, ninja -, vala -, libgudev -, wrapGAppsNoGuiHook -, shared-mime-info -, sane-backends -, docbook_xsl -, docbook_xsl_ns -, docbook_xml_dtd_412 -, gtk-doc -, libxslt -, enableDaemon ? true +{ + lib, + stdenv, + fetchurl, + nixosTests, + bash-completion, + glib, + polkit, + pkg-config, + gettext, + gusb, + lcms2, + sqlite, + udev, + systemd, + enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + dbus, + gobject-introspection, + argyllcms, + meson, + mesonEmulatorHook, + ninja, + vala, + libgudev, + wrapGAppsNoGuiHook, + shared-mime-info, + sane-backends, + docbook_xsl, + docbook_xsl_ns, + docbook_xml_dtd_412, + gtk-doc, + libxslt, + enableDaemon ? true, }: stdenv.mkDerivation rec { pname = "colord"; version = "1.4.6"; - outputs = [ "out" "dev" "devdoc" "man" "installedTests" ]; + outputs = [ + "out" + "dev" + "devdoc" + "man" + "installedTests" + ]; src = fetchurl { url = "https://www.freedesktop.org/software/colord/releases/colord-${version}.tar.xz"; @@ -69,40 +76,45 @@ stdenv.mkDerivation rec { (lib.mesonBool "udev_rules" (lib.elem "udev" udev.meta.pkgConfigModules)) ]; - nativeBuildInputs = [ - docbook_xml_dtd_412 - docbook_xsl - docbook_xsl_ns - gettext - gobject-introspection - gtk-doc - libxslt - meson - ninja - pkg-config - shared-mime-info - vala - wrapGAppsNoGuiHook - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + docbook_xml_dtd_412 + docbook_xsl + docbook_xsl_ns + gettext + gobject-introspection + gtk-doc + libxslt + meson + ninja + pkg-config + shared-mime-info + vala + wrapGAppsNoGuiHook + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - argyllcms - bash-completion - dbus - glib - gusb - lcms2 - libgudev - sane-backends - sqlite - udev - ] ++ lib.optionals enableSystemd [ - systemd - ] ++ lib.optionals enableDaemon [ - polkit - ]; + buildInputs = + [ + argyllcms + bash-completion + dbus + glib + gusb + lcms2 + libgudev + sane-backends + sqlite + udev + ] + ++ lib.optionals enableSystemd [ + systemd + ] + ++ lib.optionals enableDaemon [ + polkit + ]; postInstall = '' glib-compile-schemas $out/share/glib-2.0/schemas diff --git a/pkgs/by-name/co/colordiff/package.nix b/pkgs/by-name/co/colordiff/package.nix index 69473bd2c6f6f..11b906b06f3b2 100644 --- a/pkgs/by-name/co/colordiff/package.nix +++ b/pkgs/by-name/co/colordiff/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, docbook_xml_dtd_412, docbook_xsl, perl, w3m-batch, xmlto, diffutils }: +{ + lib, + stdenv, + fetchFromGitHub, + docbook_xml_dtd_412, + docbook_xsl, + perl, + w3m-batch, + xmlto, + diffutils, +}: stdenv.mkDerivation rec { pname = "colordiff"; @@ -11,7 +21,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-TNOw6dqsT0dOIddRoGwEF85CaQF8ICMFUi+GiG5WWpk="; }; - nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m-batch xmlto ]; + nativeBuildInputs = [ + docbook_xml_dtd_412 + docbook_xsl + perl + w3m-batch + xmlto + ]; buildInputs = [ perl ]; diff --git a/pkgs/by-name/co/colorgrind/package.nix b/pkgs/by-name/co/colorgrind/package.nix index 1f89ad865583a..70b9ce0d16e44 100644 --- a/pkgs/by-name/co/colorgrind/package.nix +++ b/pkgs/by-name/co/colorgrind/package.nix @@ -2,7 +2,7 @@ lib, stdenvNoCC, fetchFromGitHub, - perl + perl, }: stdenvNoCC.mkDerivation { pname = "colorgrind"; diff --git a/pkgs/by-name/co/colorized-logs/package.nix b/pkgs/by-name/co/colorized-logs/package.nix index 9913d0d765bab..15aef5d3ea8b0 100644 --- a/pkgs/by-name/co/colorized-logs/package.nix +++ b/pkgs/by-name/co/colorized-logs/package.nix @@ -1,7 +1,8 @@ -{ cmake -, fetchFromGitHub -, lib -, stdenv +{ + cmake, + fetchFromGitHub, + lib, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/colorless/package.nix b/pkgs/by-name/co/colorless/package.nix index 024b70343e2aa..9e5c69360430b 100644 --- a/pkgs/by-name/co/colorless/package.nix +++ b/pkgs/by-name/co/colorless/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, stdenvNoCC -, coreutils -, bash -, binSh ? "${bash}/bin/bash" -, gnused -, less +{ + lib, + fetchurl, + stdenvNoCC, + coreutils, + bash, + binSh ? "${bash}/bin/bash", + gnused, + less, }: stdenvNoCC.mkDerivation rec { @@ -18,7 +19,13 @@ stdenvNoCC.mkDerivation rec { }; makeFlags = [ - "TOOLPATH=${lib.makeBinPath [ coreutils gnused less ]}" + "TOOLPATH=${ + lib.makeBinPath [ + coreutils + gnused + less + ] + }" "PREFIX=$(out)" "SHELL=${binSh}" ]; diff --git a/pkgs/by-name/co/colormake/package.nix b/pkgs/by-name/co/colormake/package.nix index 251268a449d41..6d897f5de8fcd 100644 --- a/pkgs/by-name/co/colormake/package.nix +++ b/pkgs/by-name/co/colormake/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation { pname = "colormake"; diff --git a/pkgs/by-name/co/colorpanes/package.nix b/pkgs/by-name/co/colorpanes/package.nix index 72209cf217a91..534b153aa95e5 100644 --- a/pkgs/by-name/co/colorpanes/package.nix +++ b/pkgs/by-name/co/colorpanes/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitea }: +{ + lib, + rustPlatform, + fetchFromGitea, +}: rustPlatform.buildRustPackage rec { pname = "colorpanes"; diff --git a/pkgs/by-name/co/colorstorm/package.nix b/pkgs/by-name/co/colorstorm/package.nix index da612b33c2baf..0f997fa2cc8a1 100644 --- a/pkgs/by-name/co/colorstorm/package.nix +++ b/pkgs/by-name/co/colorstorm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, zig_0_9 +{ + lib, + stdenv, + fetchFromGitHub, + zig_0_9, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/colort/package.nix b/pkgs/by-name/co/colort/package.nix index e7f3429fe8d7c..1ba0343d555db 100644 --- a/pkgs/by-name/co/colort/package.nix +++ b/pkgs/by-name/co/colort/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "colort"; diff --git a/pkgs/by-name/co/colorz/package.nix b/pkgs/by-name/co/colorz/package.nix index f60843afcfb05..1c5b54014823e 100644 --- a/pkgs/by-name/co/colorz/package.nix +++ b/pkgs/by-name/co/colorz/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "colorz"; @@ -9,7 +13,10 @@ python3Packages.buildPythonApplication rec { sha256 = "0ghd90lgplf051fs5n5bb42zffd3fqpgzkbv6bhjw7r8jqwgcky0"; }; - propagatedBuildInputs = with python3Packages; [ pillow scipy ]; + propagatedBuildInputs = with python3Packages; [ + pillow + scipy + ]; checkPhase = '' $out/bin/colorz --help > /dev/null diff --git a/pkgs/by-name/co/colpack/package.nix b/pkgs/by-name/co/colpack/package.nix index 591ac3281e5e8..32914f925a73b 100644 --- a/pkgs/by-name/co/colpack/package.nix +++ b/pkgs/by-name/co/colpack/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/co/colstr/package.nix b/pkgs/by-name/co/colstr/package.nix index a1ea23668277a..8e0185c10281d 100644 --- a/pkgs/by-name/co/colstr/package.nix +++ b/pkgs/by-name/co/colstr/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitea -, nix-update-script +{ + lib, + stdenv, + fetchFromGitea, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/coltrane/gemset.nix b/pkgs/by-name/co/coltrane/gemset.nix index 3463fc8d66d91..fbdf8a1aadb12 100644 --- a/pkgs/by-name/co/coltrane/gemset.nix +++ b/pkgs/by-name/co/coltrane/gemset.nix @@ -1,156 +1,177 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dmywys50074vj5rivpx188b00qimlc4jn84xzqlialrgp3ckq5f"; type = "gem"; }; version = "7.0.4.2"; }; cli-ui = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aghiy4qrh6y6q421lcpal81c98zypj8jki4wymqnc8vjvqsyiv4"; type = "gem"; }; version = "1.5.1"; }; color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10kgsdy86p72q6cf2k92larmbjc0crvd5xq7hy919zm8yvn1518a"; type = "gem"; }; version = "1.8"; }; coltrane = { - dependencies = ["activesupport" "color" "dry-monads" "gambiarra" "paint"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "color" + "dry-monads" + "gambiarra" + "paint" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hchdllbbx2n2fl3ydidl17rsl18mb9953c8k1r6rw1ibzw8sm7f"; type = "gem"; }; version = "4.1.1"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; type = "gem"; }; version = "1.2.2"; }; dry-core = { - dependencies = ["concurrent-ruby" "zeitwerk"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "concurrent-ruby" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dpm9dk11x2zcjsymkl5jcz5nxhffsg7qqy5p6h92cppzbwmm656"; type = "gem"; }; version = "0.9.1"; }; dry-equalizer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rsqpk0gjja6j6pjm0whx2px06cxr3h197vrwxp6k042p52r4v46"; type = "gem"; }; version = "0.3.0"; }; dry-monads = { - dependencies = ["dry-core" "dry-equalizer"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "dry-core" + "dry-equalizer" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fbji6crgqh88j0p4j1qlfpjnhyf8h1b991dh5wypib0xwzlc5an"; type = "gem"; }; version = "0.4.0"; }; gambiarra = { - dependencies = ["activesupport" "cli-ui" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "cli-ui" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19kpbqp27fy6w990ciw3vx0z0bdmrcf14fr6dlfcn3r8xqpq56fr"; type = "gem"; }; version = "0.0.5"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi"; type = "gem"; }; version = "1.12.0"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06"; type = "gem"; }; version = "5.18.0"; }; paint = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r9vx3wcx0x2xqlh6zqc81wcsn9qjw3xprcsv5drsq9q80z64z9j"; type = "gem"; }; version = "2.3.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; type = "gem"; }; version = "1.1.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "028ld9qmgdllxrl7d0qkl65s58wb1n3gv8yjs28g43a8b1hplxk1"; type = "gem"; }; diff --git a/pkgs/by-name/co/coltrane/package.nix b/pkgs/by-name/co/coltrane/package.nix index f4c1ccb41e9ab..5faba57d64534 100644 --- a/pkgs/by-name/co/coltrane/package.nix +++ b/pkgs/by-name/co/coltrane/package.nix @@ -1,6 +1,7 @@ -{ lib -, bundlerApp -, bundlerUpdateScript +{ + lib, + bundlerApp, + bundlerUpdateScript, }: bundlerApp rec { diff --git a/pkgs/by-name/co/combinatorial_designs/package.nix b/pkgs/by-name/co/combinatorial_designs/package.nix index 5457b4e54d4bf..f3dc999ca4346 100644 --- a/pkgs/by-name/co/combinatorial_designs/package.nix +++ b/pkgs/by-name/co/combinatorial_designs/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/co/comedilib/package.nix b/pkgs/by-name/co/comedilib/package.nix index 95de887242bf5..42d9ca0a5de23 100644 --- a/pkgs/by-name/co/comedilib/package.nix +++ b/pkgs/by-name/co/comedilib/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, flex -, bison -, xmlto -, docbook_xsl -, docbook_xml_dtd_44 -, swig -, perl -, python3 +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + flex, + bison, + xmlto, + docbook_xsl, + docbook_xml_dtd_44, + swig, + perl, + python3, }: stdenv.mkDerivation (finalAttrs: { @@ -44,7 +45,12 @@ stdenv.mkDerivation (finalAttrs: { "--sysconfdir=${placeholder "out"}/etc" ]; - outputs = [ "out" "dev" "man" "doc" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + ]; meta = with lib; { description = "Linux Control and Measurement Device Interface Library"; diff --git a/pkgs/by-name/co/comfortaa/package.nix b/pkgs/by-name/co/comfortaa/package.nix index defdd9b86bba1..f2b8a884609ed 100644 --- a/pkgs/by-name/co/comfortaa/package.nix +++ b/pkgs/by-name/co/comfortaa/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "comfortaa"; diff --git a/pkgs/by-name/co/comic-mandown/package.nix b/pkgs/by-name/co/comic-mandown/package.nix index 90f2ef2155003..04fc1bbab70f6 100644 --- a/pkgs/by-name/co/comic-mandown/package.nix +++ b/pkgs/by-name/co/comic-mandown/package.nix @@ -1,15 +1,19 @@ -{ lib -, python3Packages +{ + lib, + python3Packages, -, withGUI ? true + withGUI ? true, }: let mandown' = python3Packages.mandown.overridePythonAttrs (prev: { - propagatedBuildInputs = prev.propagatedBuildInputs ++ lib.optionals withGUI prev.optional-dependencies.gui; + propagatedBuildInputs = + prev.propagatedBuildInputs + ++ lib.optionals withGUI prev.optional-dependencies.gui; }); mandownApp = python3Packages.toPythonApplication mandown'; in -mandownApp // { +mandownApp +// { meta = mandownApp.meta // { mainProgram = "mandown"; }; diff --git a/pkgs/by-name/co/comic-mono/package.nix b/pkgs/by-name/co/comic-mono/package.nix index b635c1379489d..d843337d1dc73 100644 --- a/pkgs/by-name/co/comic-mono/package.nix +++ b/pkgs/by-name/co/comic-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "comic-mono-font"; @@ -33,7 +37,10 @@ stdenvNoCC.mkDerivation { homepage = "https://dtinth.github.io/comic-mono-font/"; license = licenses.mit; - maintainers = with maintainers; [ an-empty-string totoroot ]; + maintainers = with maintainers; [ + an-empty-string + totoroot + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/co/comic-neue/package.nix b/pkgs/by-name/co/comic-neue/package.nix index 66eb4087efaa7..006364609a81e 100644 --- a/pkgs/by-name/co/comic-neue/package.nix +++ b/pkgs/by-name/co/comic-neue/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "comic-neue"; diff --git a/pkgs/by-name/co/comic-relief/package.nix b/pkgs/by-name/co/comic-relief/package.nix index fe1c1b5128123..748fdd17a7168 100644 --- a/pkgs/by-name/co/comic-relief/package.nix +++ b/pkgs/by-name/co/comic-relief/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "comic-relief"; diff --git a/pkgs/by-name/co/comixcursors/package.nix b/pkgs/by-name/co/comixcursors/package.nix index be1fa347535b9..d9a1f64e11909 100644 --- a/pkgs/by-name/co/comixcursors/package.nix +++ b/pkgs/by-name/co/comixcursors/package.nix @@ -1,14 +1,42 @@ -{ lib, stdenvNoCC, fetchFromGitLab, bc, librsvg, xcursorgen }: +{ + lib, + stdenvNoCC, + fetchFromGitLab, + bc, + librsvg, + xcursorgen, +}: let dimensions = { - color = [ "Black" "Blue" "Green" "Orange" "Red" "White" ]; - opacity = [ "" "Opaque_" ]; # Translucent or opaque. - thickness = [ "" "Slim_" ]; # Thick or slim edges. - handedness = [ "" "LH_" ]; # Right- or left-handed. + color = [ + "Black" + "Blue" + "Green" + "Orange" + "Red" + "White" + ]; + opacity = [ + "" + "Opaque_" + ]; # Translucent or opaque. + thickness = [ + "" + "Slim_" + ]; # Thick or slim edges. + handedness = [ + "" + "LH_" + ]; # Right- or left-handed. }; variantName = - { color, opacity, thickness, handedness }: + { + color, + opacity, + thickness, + handedness, + }: "${handedness}${opacity}${thickness}${color}"; variants = # (The order of this list is already good looking enough to show in the @@ -27,7 +55,11 @@ stdenvNoCC.mkDerivation rec { sha256 = "0bpxqw4izj7m0zb9lnxnmsjicfw60ppkdyv5nwrrz4x865wb296a"; }; - nativeBuildInputs = [ bc librsvg xcursorgen ]; + nativeBuildInputs = [ + bc + librsvg + xcursorgen + ]; patches = [ ./makefile-shell-var.patch ]; @@ -68,19 +100,21 @@ stdenvNoCC.mkDerivation rec { mkdir -p $out ''; - outputs = let - default = "Opaque_Black"; - in + outputs = + let + default = "Opaque_Black"; + in # Have the most-traditional variant be the default output (as the first). # Even with outputsToInstall=[], the default/first still has an effect on # some Nix tools (e.g. nix-build). - [ default ] ++ (lib.remove default variants) + [ default ] + ++ (lib.remove default variants) # Need a dummy "out" output to prevent the builder scripts from breaking. ++ [ "out" ]; # No default output (to the extent possible). Instead, the outputs' # attributes are used to choose which variant(s) to have. - outputsToInstall = []; + outputsToInstall = [ ]; meta = with lib; { description = "Comix Cursors mouse themes"; diff --git a/pkgs/by-name/co/comma/package.nix b/pkgs/by-name/co/comma/package.nix index 2f86a714d506c..36543e955e4e1 100644 --- a/pkgs/by-name/co/comma/package.nix +++ b/pkgs/by-name/co/comma/package.nix @@ -1,11 +1,12 @@ -{ comma -, fetchFromGitHub -, fzy -, lib -, makeBinaryWrapper -, nix-index-unwrapped -, rustPlatform -, testers +{ + comma, + fetchFromGitHub, + fzy, + lib, + makeBinaryWrapper, + nix-index-unwrapped, + rustPlatform, + testers, }: rustPlatform.buildRustPackage rec { @@ -25,7 +26,12 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/comma \ - --prefix PATH : ${lib.makeBinPath [ fzy nix-index-unwrapped ]} + --prefix PATH : ${ + lib.makeBinPath [ + fzy + nix-index-unwrapped + ] + } ln -s $out/bin/comma $out/bin/, ''; diff --git a/pkgs/by-name/co/commandergenius/package.nix b/pkgs/by-name/co/commandergenius/package.nix index d3549fd211f2a..6008490dac178 100644 --- a/pkgs/by-name/co/commandergenius/package.nix +++ b/pkgs/by-name/co/commandergenius/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab -, SDL2 -, SDL2_image -, pkg-config -, libvorbis -, libGL -, boost -, cmake -, zlib -, curl -, SDL2_mixer -, SDL2_ttf -, python3 +{ + lib, + stdenv, + fetchFromGitLab, + SDL2, + SDL2_image, + pkg-config, + libvorbis, + libGL, + boost, + cmake, + zlib, + curl, + SDL2_mixer, + SDL2_ttf, + python3, }: stdenv.mkDerivation rec { @@ -26,7 +27,18 @@ stdenv.mkDerivation rec { hash = "sha256-sWnx2UdnuuLcTxhuXhfG2ssnFvuGi9kOBrpc4jiKgTs="; }; - buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf libGL boost libvorbis zlib curl python3 ]; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + libGL + boost + libvorbis + zlib + curl + python3 + ]; cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" @@ -37,7 +49,10 @@ stdenv.mkDerivation rec { "DESTDIR=${placeholder "out"}" ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; postPatch = '' NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(sdl2-config --cflags)" diff --git a/pkgs/by-name/co/commit-formatter/package.nix b/pkgs/by-name/co/commit-formatter/package.nix index 8ed831d886570..640a952d12626 100644 --- a/pkgs/by-name/co/commit-formatter/package.nix +++ b/pkgs/by-name/co/commit-formatter/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "commit-formatter"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "CLI tool to help you write git commit"; homepage = "https://github.com/Eliot00/commit-formatter"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ elliot ]; mainProgram = "git-cf"; }; diff --git a/pkgs/by-name/co/commit-mono/package.nix b/pkgs/by-name/co/commit-mono/package.nix index 0d952d17cbaf3..574e45163bd02 100644 --- a/pkgs/by-name/co/commit-mono/package.nix +++ b/pkgs/by-name/co/commit-mono/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation rec { pname = "commit-mono"; diff --git a/pkgs/by-name/co/commitmsgfmt/package.nix b/pkgs/by-name/co/commitmsgfmt/package.nix index e653fce2671a7..4cb72323ed1c6 100644 --- a/pkgs/by-name/co/commitmsgfmt/package.nix +++ b/pkgs/by-name/co/commitmsgfmt/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, testers -, commitmsgfmt +{ + lib, + rustPlatform, + fetchFromGitLab, + testers, + commitmsgfmt, }: rustPlatform.buildRustPackage rec { pname = "commitmsgfmt"; diff --git a/pkgs/by-name/co/committed/package.nix b/pkgs/by-name/co/committed/package.nix index 27c2a452f71c7..1134d60d6f0f0 100644 --- a/pkgs/by-name/co/committed/package.nix +++ b/pkgs/by-name/co/committed/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin -, testers -, nix-update-script -, committed +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + testers, + nix-update-script, + committed, }: let version = "1.1.2"; diff --git a/pkgs/by-name/co/commix/package.nix b/pkgs/by-name/co/commix/package.nix index 6197b59172ca1..56bdcc1bceabb 100644 --- a/pkgs/by-name/co/commix/package.nix +++ b/pkgs/by-name/co/commix/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -20,7 +21,6 @@ python3.pkgs.buildPythonApplication rec { --replace-warn "-stable" "" ''; - nativeBuildInputs = with python3.pkgs; [ setuptools ]; diff --git a/pkgs/by-name/co/common-licenses/package.nix b/pkgs/by-name/co/common-licenses/package.nix index d3888fde615c0..05ea1e51c96e2 100644 --- a/pkgs/by-name/co/common-licenses/package.nix +++ b/pkgs/by-name/co/common-licenses/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchurl -, lib +{ + stdenv, + fetchurl, + lib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/co/commonsBcel/package.nix b/pkgs/by-name/co/commonsBcel/package.nix index f9ffad1028abe..3be849e9332e5 100644 --- a/pkgs/by-name/co/commonsBcel/package.nix +++ b/pkgs/by-name/co/commonsBcel/package.nix @@ -1,12 +1,16 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "6.10.0"; pname = "commons-bcel"; src = fetchurl { - url = "mirror://apache/commons/bcel/binaries/bcel-${version}-bin.tar.gz"; - hash = "sha256-RRVXxPtwbT9AX92T60uDJpFWF6DiotcG1KvKrlFfEWU="; + url = "mirror://apache/commons/bcel/binaries/bcel-${version}-bin.tar.gz"; + hash = "sha256-RRVXxPtwbT9AX92T60uDJpFWF6DiotcG1KvKrlFfEWU="; }; installPhase = '' @@ -16,11 +20,11 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-bcel/"; + homepage = "https://commons.apache.org/proper/commons-bcel/"; description = "Gives users a convenient way to analyze, create, and manipulate (binary) Java class files"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; maintainers = with lib.maintainers; [ copumpkin ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/co/commonsBsf/package.nix b/pkgs/by-name/co/commonsBsf/package.nix index f55029335e588..1050cca9c6eeb 100644 --- a/pkgs/by-name/co/commonsBsf/package.nix +++ b/pkgs/by-name/co/commonsBsf/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "commons-bsf"; @@ -22,4 +26,3 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; }; } - diff --git a/pkgs/by-name/co/commonsCompress/package.nix b/pkgs/by-name/co/commonsCompress/package.nix index cce498c21f534..73ca1feda9b84 100644 --- a/pkgs/by-name/co/commonsCompress/package.nix +++ b/pkgs/by-name/co/commonsCompress/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.27.1"; pname = "commons-compress"; src = fetchurl { - url = "mirror://apache/commons/compress/binaries/${pname}-${version}-bin.tar.gz"; + url = "mirror://apache/commons/compress/binaries/${pname}-${version}-bin.tar.gz"; sha256 = "sha256-psD9VseWxx2ovdUGjEbUCm+fjnQ/D2S70NuyZ2nsXwA="; }; @@ -16,11 +20,11 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-compress"; + homepage = "https://commons.apache.org/proper/commons-compress"; description = "Allows manipulation of ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE and Z files"; maintainers = with lib.maintainers; [ copumpkin ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/co/commonsDaemon/package.nix b/pkgs/by-name/co/commonsDaemon/package.nix index 63cc3d41a0c39..a5a8c84c66d71 100644 --- a/pkgs/by-name/co/commonsDaemon/package.nix +++ b/pkgs/by-name/co/commonsDaemon/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.4.0"; pname = "commons-daemon"; src = fetchurl { - url = "mirror://apache/commons/daemon/binaries/commons-daemon-${version}-bin.tar.gz"; + url = "mirror://apache/commons/daemon/binaries/commons-daemon-${version}-bin.tar.gz"; sha256 = "sha256-Cnsd15yREDtkoNFRAsIpACnChncVNgddTJ1CEvhKn48="; }; @@ -16,11 +20,11 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-daemon"; + homepage = "https://commons.apache.org/proper/commons-daemon"; description = "Apache Commons Daemon software is a set of utilities and Java support classes for running Java applications as server processes"; maintainers = with lib.maintainers; [ rsynnest ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/co/commonsFileUpload/package.nix b/pkgs/by-name/co/commonsFileUpload/package.nix index 6c9235117355a..e21b8078c2a2c 100644 --- a/pkgs/by-name/co/commonsFileUpload/package.nix +++ b/pkgs/by-name/co/commonsFileUpload/package.nix @@ -1,11 +1,15 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.5"; pname = "commons-fileupload"; src = fetchurl { - url = "mirror://apache/commons/fileupload/binaries/${pname}-${version}-bin.tar.gz"; + url = "mirror://apache/commons/fileupload/binaries/${pname}-${version}-bin.tar.gz"; sha256 = "sha256-r7EGiih4qOCbjaL7Wg+plbe0m3CuFWXs/RmbfGLmj1g="; }; installPhase = '' @@ -15,11 +19,11 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-fileupload"; + homepage = "https://commons.apache.org/proper/commons-fileupload"; description = "Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications"; maintainers = with lib.maintainers; [ copumpkin ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/co/commonsIo/package.nix b/pkgs/by-name/co/commonsIo/package.nix index 077adb9547c06..92156099c1031 100644 --- a/pkgs/by-name/co/commonsIo/package.nix +++ b/pkgs/by-name/co/commonsIo/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "2.18.0"; pname = "commons-io"; src = fetchurl { - url = "mirror://apache/commons/io/binaries/${pname}-${version}-bin.tar.gz"; + url = "mirror://apache/commons/io/binaries/${pname}-${version}-bin.tar.gz"; sha256 = "sha256-qrB4cLnvaTQaZJWrrDO8IYsYI2hp6/nN7nCRcFhKTeE="; }; @@ -16,11 +20,11 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-io"; + homepage = "https://commons.apache.org/proper/commons-io"; description = "Library of utilities to assist with developing IO functionality"; maintainers = with lib.maintainers; [ copumpkin ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/co/commonsLang/package.nix b/pkgs/by-name/co/commonsLang/package.nix index cea5958100a64..44850f72f064d 100644 --- a/pkgs/by-name/co/commonsLang/package.nix +++ b/pkgs/by-name/co/commonsLang/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/commonsLogging/package.nix b/pkgs/by-name/co/commonsLogging/package.nix index fbd622927aaa9..b9bbaacf5d435 100644 --- a/pkgs/by-name/co/commonsLogging/package.nix +++ b/pkgs/by-name/co/commonsLogging/package.nix @@ -1,11 +1,15 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "commons-logging"; version = "1.3.4"; src = fetchurl { - url = "mirror://apache/commons/logging/binaries/commons-logging-${version}-bin.tar.gz"; + url = "mirror://apache/commons/logging/binaries/commons-logging-${version}-bin.tar.gz"; sha256 = "sha256-asHQ0i4bBICkRK2Hzfo7+/EmT9gX5jcv8KmFMz1qCGI="; }; @@ -22,4 +26,3 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; }; } - diff --git a/pkgs/by-name/co/commonsMath/package.nix b/pkgs/by-name/co/commonsMath/package.nix index ddb3b17c1dae2..0353b1dc682b3 100644 --- a/pkgs/by-name/co/commonsMath/package.nix +++ b/pkgs/by-name/co/commonsMath/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "3.6.1"; pname = "commons-math"; src = fetchurl { - url = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz"; + url = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz"; sha256 = "0x4nx5pngv2n4ga11c1s4w2mf6cwydwkgs7da6wwvcjraw57bhkz"; }; @@ -16,11 +20,11 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-math/"; + homepage = "https://commons.apache.org/proper/commons-math/"; description = "Library of lightweight, self-contained mathematics and statistics components"; maintainers = with lib.maintainers; [ copumpkin ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/co/comodoro/package.nix b/pkgs/by-name/co/comodoro/package.nix index 79022f7240058..12fe8e3c0d7b3 100644 --- a/pkgs/by-name/co/comodoro/package.nix +++ b/pkgs/by-name/co/comodoro/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, installShellFiles -, installShellCompletions ? stdenv.buildPlatform.canExecute stdenv.hostPlatform -, installManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform -, withTcp ? true +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + installShellFiles, + installShellCompletions ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + installManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + withTcp ? true, }: rustPlatform.buildRustPackage rec { @@ -26,16 +27,18 @@ rustPlatform.buildRustPackage rec { buildNoDefaultFeatures = true; buildFeatures = lib.optional withTcp "tcp"; - postInstall = lib.optionalString installManPages '' - mkdir -p $out/man - $out/bin/comodoro man $out/man - installManPage $out/man/* - '' + lib.optionalString installShellCompletions '' - installShellCompletion --cmd comodoro \ - --bash <($out/bin/comodoro completion bash) \ - --fish <($out/bin/comodoro completion fish) \ - --zsh <($out/bin/comodoro completion zsh) - ''; + postInstall = + lib.optionalString installManPages '' + mkdir -p $out/man + $out/bin/comodoro man $out/man + installManPage $out/man/* + '' + + lib.optionalString installShellCompletions '' + installShellCompletion --cmd comodoro \ + --bash <($out/bin/comodoro completion bash) \ + --fish <($out/bin/comodoro completion fish) \ + --zsh <($out/bin/comodoro completion zsh) + ''; meta = with lib; { description = "CLI to manage your time"; diff --git a/pkgs/by-name/co/compdb/package.nix b/pkgs/by-name/co/compdb/package.nix index 0a5e689bb4b8f..c840cd85b1fd8 100644 --- a/pkgs/by-name/co/compdb/package.nix +++ b/pkgs/by-name/co/compdb/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/co/compile-daemon/package.nix b/pkgs/by-name/co/compile-daemon/package.nix index 65ae92d90479a..d348a82e7f217 100644 --- a/pkgs/by-name/co/compile-daemon/package.nix +++ b/pkgs/by-name/co/compile-daemon/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "compile-daemon"; @@ -20,7 +25,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Very simple compile daemon for Go"; diff --git a/pkgs/by-name/co/complete-alias/package.nix b/pkgs/by-name/co/complete-alias/package.nix index fdf0c1ae0ab26..97bae7640e4f7 100644 --- a/pkgs/by-name/co/complete-alias/package.nix +++ b/pkgs/by-name/co/complete-alias/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC +{ + lib, + fetchFromGitHub, + stdenvNoCC, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/co/completely/gemset.nix b/pkgs/by-name/co/completely/gemset.nix index f99da8f722189..f823d1203a075 100644 --- a/pkgs/by-name/co/completely/gemset.nix +++ b/pkgs/by-name/co/completely/gemset.nix @@ -1,41 +1,47 @@ { colsole = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fvf6dz2wsvjk7q24z0dm8lajq3p2l6i5ywf3mxj683rmhwq49bg"; type = "gem"; }; version = "1.0.0"; }; completely = { - dependencies = ["colsole" "mister_bin"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colsole" + "mister_bin" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ci8iza647hvc4f1cmf9mpsm3i78ysf6g6213wkyrr5jk296hjjb"; type = "gem"; }; version = "0.6.3"; }; docopt_ng = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rsnl5s7k2s1gl4n4dg68ssg577kf11sl4a4l2lb2fpswj718950"; type = "gem"; }; version = "0.7.1"; }; mister_bin = { - dependencies = ["colsole" "docopt_ng"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colsole" + "docopt_ng" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xx8cxvzcn47zsnshcllf477x4rbssrchvp76929qnsg5k9q7fas"; type = "gem"; }; diff --git a/pkgs/by-name/co/complexity/package.nix b/pkgs/by-name/co/complexity/package.nix index ce4cf1de1f18a..d6d114be81c4c 100644 --- a/pkgs/by-name/co/complexity/package.nix +++ b/pkgs/by-name/co/complexity/package.nix @@ -1,4 +1,9 @@ -{ fetchurl, lib, stdenv, autogen }: +{ + fetchurl, + lib, + stdenv, + autogen, +}: stdenv.mkDerivation rec { pname = "complexity"; diff --git a/pkgs/by-name/co/complgen/package.nix b/pkgs/by-name/co/complgen/package.nix index 8a540e77cfe2e..aab5659855a1c 100644 --- a/pkgs/by-name/co/complgen/package.nix +++ b/pkgs/by-name/co/complgen/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/co/composefs/package.nix b/pkgs/by-name/co/composefs/package.nix index 6d9e0eb45321f..2eb790a00e5b9 100644 --- a/pkgs/by-name/co/composefs/package.nix +++ b/pkgs/by-name/co/composefs/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, go-md2man -, pkg-config -, openssl -, fuse3 -, libcap -, python3 -, which -, valgrind -, erofs-utils -, fsverity-utils -, nix-update-script -, testers -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + go-md2man, + pkg-config, + openssl, + fuse3, + libcap, + python3, + which, + valgrind, + erofs-utils, + fsverity-utils, + nix-update-script, + testers, + nixosTests, -, fuseSupport ? lib.meta.availableOn stdenv.hostPlatform fuse3 -, enableValgrindCheck ? false -, installExperimentalTools ? false + fuseSupport ? lib.meta.availableOn stdenv.hostPlatform fuse3, + enableValgrindCheck ? false, + installExperimentalTools ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "composefs"; @@ -33,7 +34,11 @@ stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; postPatch = # 'both_libraries' as an install target always builds both versions. @@ -48,20 +53,31 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "install : false" "install : true" ''; - nativeBuildInputs = [ meson ninja go-md2man pkg-config ]; - buildInputs = [ openssl ] + nativeBuildInputs = [ + meson + ninja + go-md2man + pkg-config + ]; + buildInputs = + [ openssl ] ++ lib.optional fuseSupport fuse3 - ++ lib.filter (lib.meta.availableOn stdenv.hostPlatform) ( - [ + ++ lib.filter (lib.meta.availableOn stdenv.hostPlatform) ([ libcap - ] - ); + ]); doCheck = true; - nativeCheckInputs = [ python3 which ] + nativeCheckInputs = + [ + python3 + which + ] ++ lib.optional enableValgrindCheck valgrind ++ lib.optional fuseSupport fuse3 - ++ lib.filter (lib.meta.availableOn stdenv.buildPlatform) [ erofs-utils fsverity-utils ]; + ++ lib.filter (lib.meta.availableOn stdenv.buildPlatform) [ + erofs-utils + fsverity-utils + ]; mesonCheckFlags = lib.optionals enableValgrindCheck "--setup=valgrind"; @@ -82,7 +98,10 @@ stdenv.mkDerivation (finalAttrs: { description = "File system for mounting container images"; homepage = "https://github.com/containers/composefs"; changelog = "https://github.com/containers/composefs/releases/tag/v${finalAttrs.version}"; - license = with lib.licenses; [ gpl2Only asl20 ]; + license = with lib.licenses; [ + gpl2Only + asl20 + ]; maintainers = with lib.maintainers; [ kiskae ]; mainProgram = "mkcomposefs"; pkgConfigModules = [ "composefs" ]; diff --git a/pkgs/by-name/co/composer-require-checker/package.nix b/pkgs/by-name/co/composer-require-checker/package.nix index 5d2ca96d1389c..a8da571f0befe 100644 --- a/pkgs/by-name/co/composer-require-checker/package.nix +++ b/pkgs/by-name/co/composer-require-checker/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchgit -, php +{ + lib, + fetchgit, + php, }: php.buildComposerProject2 (finalAttrs: { diff --git a/pkgs/by-name/co/compsize/package.nix b/pkgs/by-name/co/compsize/package.nix index a1175df206296..160669a0ac78e 100644 --- a/pkgs/by-name/co/compsize/package.nix +++ b/pkgs/by-name/co/compsize/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, btrfs-progs }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + btrfs-progs, +}: let # https://github.com/kilobyte/compsize/issues/52 diff --git a/pkgs/by-name/co/computecpp-unwrapped/package.nix b/pkgs/by-name/co/computecpp-unwrapped/package.nix index 4572820336d16..8ee55d6dde878 100644 --- a/pkgs/by-name/co/computecpp-unwrapped/package.nix +++ b/pkgs/by-name/co/computecpp-unwrapped/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchzip -, pkg-config -, autoPatchelfHook -, installShellFiles -, ocl-icd -, zlib +{ + lib, + stdenv, + fetchzip, + pkg-config, + autoPatchelfHook, + installShellFiles, + ocl-icd, + zlib, }: stdenv.mkDerivation rec { @@ -19,8 +21,16 @@ stdenv.mkDerivation rec { dontStrip = true; - buildInputs = [ (lib.getLib stdenv.cc.cc) ocl-icd zlib ]; - nativeBuildInputs = [ autoPatchelfHook pkg-config installShellFiles ]; + buildInputs = [ + (lib.getLib stdenv.cc.cc) + ocl-icd + zlib + ]; + nativeBuildInputs = [ + autoPatchelfHook + pkg-config + installShellFiles + ]; installPhase = '' runHook preInstall @@ -39,8 +49,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - description = - "Accelerate Complex C++ Applications on Heterogeneous Compute Systems using Open Standards"; + description = "Accelerate Complex C++ Applications on Heterogeneous Compute Systems using Open Standards"; homepage = "https://www.codeplay.com/products/computesuite/computecpp"; license = licenses.unfree; maintainers = with maintainers; [ davidtwco ]; diff --git a/pkgs/by-name/co/comrak/package.nix b/pkgs/by-name/co/comrak/package.nix index 4ff52c7734924..7438b31bc5e2b 100644 --- a/pkgs/by-name/co/comrak/package.nix +++ b/pkgs/by-name/co/comrak/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "comrak"; @@ -19,6 +23,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/kivikakk/comrak"; changelog = "https://github.com/kivikakk/comrak/blob/v${version}/changelog.txt"; license = licenses.bsd2; - maintainers = with maintainers; [ figsoda kivikakk ]; + maintainers = with maintainers; [ + figsoda + kivikakk + ]; }; } diff --git a/pkgs/by-name/co/conan/package.nix b/pkgs/by-name/co/conan/package.nix index ebd96f12693cb..d9fad07293aea 100644 --- a/pkgs/by-name/co/conan/package.nix +++ b/pkgs/by-name/co/conan/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, git -, pkg-config -, xcbuild -, python3 -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + git, + pkg-config, + xcbuild, + python3, + zlib, }: python3.pkgs.buildPythonApplication rec { @@ -23,41 +24,47 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = with python3.pkgs; [ ]; - propagatedBuildInputs = with python3.pkgs; [ - bottle - colorama - python-dateutil - distro - fasteners - jinja2 - patch-ng - pluginbase - pygments - pyjwt - pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152 - pyyaml - requests - tqdm - urllib3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - idna - cryptography - pyopenssl - ]; + propagatedBuildInputs = + with python3.pkgs; + [ + bottle + colorama + python-dateutil + distro + fasteners + jinja2 + patch-ng + pluginbase + pygments + pyjwt + pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152 + pyyaml + requests + tqdm + urllib3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + idna + cryptography + pyopenssl + ]; - nativeCheckInputs = [ - git - pkg-config - zlib - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - xcbuild.xcrun - ] ++ (with python3.pkgs; [ - mock - parameterized - pytest-xdist - pytestCheckHook - webtest - ]); + nativeCheckInputs = + [ + git + pkg-config + zlib + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + xcbuild.xcrun + ] + ++ (with python3.pkgs; [ + mock + parameterized + pytest-xdist + pytestCheckHook + webtest + ]); __darwinAllowLocalNetworking = true; @@ -65,23 +72,25 @@ python3.pkgs.buildPythonApplication rec { "conan" ]; - disabledTests = [ - # Tests require network access - "TestFTP" - # Unstable test - "test_shared_windows_find_libraries" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Rejects paths containing nix - "test_conditional_os" - # Requires Apple Clang - "test_detect_default_compilers" - "test_detect_default_in_mac_os_using_gcc_as_default" - # Incompatible with darwin.xattr and xcbuild from nixpkgs - "test_dot_files" - "test_xcrun" - "test_xcrun_in_required_by_tool_requires" - "test_xcrun_in_tool_requires" - ]; + disabledTests = + [ + # Tests require network access + "TestFTP" + # Unstable test + "test_shared_windows_find_libraries" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Rejects paths containing nix + "test_conditional_os" + # Requires Apple Clang + "test_detect_default_compilers" + "test_detect_default_in_mac_os_using_gcc_as_default" + # Incompatible with darwin.xattr and xcbuild from nixpkgs + "test_dot_files" + "test_xcrun" + "test_xcrun_in_required_by_tool_requires" + "test_xcrun_in_tool_requires" + ]; disabledTestPaths = [ # Requires cmake, meson, autotools, apt-get, etc. diff --git a/pkgs/by-name/co/conceal/package.nix b/pkgs/by-name/co/conceal/package.nix index 5ce8d147fbbfc..7cbd4015a5f84 100644 --- a/pkgs/by-name/co/conceal/package.nix +++ b/pkgs/by-name/co/conceal/package.nix @@ -1,4 +1,12 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles, stdenv, testers, conceal }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + testers, + conceal, +}: rustPlatform.buildRustPackage rec { pname = "conceal"; @@ -34,7 +42,10 @@ rustPlatform.buildRustPackage rec { description = "Trash collector written in Rust"; homepage = "https://github.com/TD-Sky/conceal"; license = licenses.mit; - maintainers = with maintainers; [ jedsek kashw2 ]; + maintainers = with maintainers; [ + jedsek + kashw2 + ]; broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/by-name/co/conduktor/package.nix b/pkgs/by-name/co/conduktor/package.nix index e45edf248b41d..e78f4bd35e228 100644 --- a/pkgs/by-name/co/conduktor/package.nix +++ b/pkgs/by-name/co/conduktor/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchurl, fetchzip, jdk11, makeWrapper, makeDesktopItem, copyDesktopItems }: +{ + stdenv, + lib, + fetchurl, + fetchzip, + jdk11, + makeWrapper, + makeDesktopItem, + copyDesktopItems, +}: stdenv.mkDerivation rec { pname = "conduktor"; @@ -9,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-9y/7jni5zIITUWd75AxsfG/b5vCYotmeMeC9aYM2WEs="; }; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; desktopItems = [ (makeDesktopItem { diff --git a/pkgs/by-name/co/confd/package.nix b/pkgs/by-name/co/confd/package.nix index 5d4ebbed7d744..aff9d6d5942f4 100644 --- a/pkgs/by-name/co/confd/package.nix +++ b/pkgs/by-name/co/confd/package.nix @@ -1,10 +1,13 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "confd"; version = "0.16-unstable-2023-12-09"; - src = fetchFromGitHub { owner = "kelseyhightower"; repo = "confd"; @@ -16,7 +19,10 @@ buildGoModule { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = { description = "Manage local application configuration files using templates and data from etcd or consul"; diff --git a/pkgs/by-name/co/confetty/package.nix b/pkgs/by-name/co/confetty/package.nix index a9e838c84b014..fa4ba1f8ae335 100644 --- a/pkgs/by-name/co/confetty/package.nix +++ b/pkgs/by-name/co/confetty/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule { @@ -16,7 +17,10 @@ buildGoModule { vendorHash = "sha256-RymdnueY674Zd231O8CIw/TEIDaWDzc+AaI6yk9hFgc="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Confetti in your TTY"; diff --git a/pkgs/by-name/co/configurable-http-proxy/package.nix b/pkgs/by-name/co/configurable-http-proxy/package.nix index 7dc9a403b4243..cf8d346d85ff7 100644 --- a/pkgs/by-name/co/configurable-http-proxy/package.nix +++ b/pkgs/by-name/co/configurable-http-proxy/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/co/confluencepot/package.nix b/pkgs/by-name/co/confluencepot/package.nix index 89233d2063d5a..1bbcd0d4b3bd0 100644 --- a/pkgs/by-name/co/confluencepot/package.nix +++ b/pkgs/by-name/co/confluencepot/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/co/confluent-cli/package.nix b/pkgs/by-name/co/confluent-cli/package.nix index 09ca1e7ff8f1d..9358210fb2562 100644 --- a/pkgs/by-name/co/confluent-cli/package.nix +++ b/pkgs/by-name/co/confluent-cli/package.nix @@ -1,4 +1,9 @@ -{ stdenv, autoPatchelfHook, fetchurl, lib }: +{ + stdenv, + autoPatchelfHook, + fetchurl, + lib, +}: stdenv.mkDerivation rec { pname = "confluent-cli"; @@ -6,24 +11,26 @@ stdenv.mkDerivation rec { # To get the latest version: # curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1 - src = { - x86_64-linux = fetchurl { - url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_amd64.tar.gz"; - hash = "sha256-GYA7T2yRcSNStvd9ZqI2iTJC3d6ymH9Dg5FVkIsM1f0="; - }; - aarch64-linux = fetchurl { - url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_arm64.tar.gz"; - hash = "sha256-BJJaZtRInKT6S0W22f96RCM8H18dIpOTP5lu357zh18="; - }; - x86_64-darwin = fetchurl { - url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_amd64.tar.gz"; - hash = "sha256-94ur/FXxQWL4EOkEI1FSoWduRaMaY7DCNMiucpNC0B0="; - }; - aarch64-darwin = fetchurl { - url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_arm64.tar.gz"; - hash = "sha256-aEIKSrO0/6dJCAyzwBH2ZDAmwvURugx6jTzaepbRvH8="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + x86_64-linux = fetchurl { + url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_amd64.tar.gz"; + hash = "sha256-GYA7T2yRcSNStvd9ZqI2iTJC3d6ymH9Dg5FVkIsM1f0="; + }; + aarch64-linux = fetchurl { + url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_arm64.tar.gz"; + hash = "sha256-BJJaZtRInKT6S0W22f96RCM8H18dIpOTP5lu357zh18="; + }; + x86_64-darwin = fetchurl { + url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_amd64.tar.gz"; + hash = "sha256-94ur/FXxQWL4EOkEI1FSoWduRaMaY7DCNMiucpNC0B0="; + }; + aarch64-darwin = fetchurl { + url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_arm64.tar.gz"; + hash = "sha256-aEIKSrO0/6dJCAyzwBH2ZDAmwvURugx6jTzaepbRvH8="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; @@ -41,7 +48,10 @@ stdenv.mkDerivation rec { homepage = "https://docs.confluent.io/confluent-cli/current/overview.html"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ rguevara84 autophagy ]; + maintainers = with maintainers; [ + rguevara84 + autophagy + ]; # TODO: There's support for i686 systems but I do not have any such system # to build it locally on, it's also unfree so I cannot rely on ofborg to diff --git a/pkgs/by-name/co/confluent-platform/package.nix b/pkgs/by-name/co/confluent-platform/package.nix index 340a9dc36c15e..05f1395ceda59 100644 --- a/pkgs/by-name/co/confluent-platform/package.nix +++ b/pkgs/by-name/co/confluent-platform/package.nix @@ -1,11 +1,11 @@ { - bash -, fetchurl -, gnused -, jre -, lib -, makeBinaryWrapper -, stdenv + bash, + fetchurl, + gnused, + jre, + lib, + makeBinaryWrapper, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -56,7 +56,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Confluent event streaming platform based on Apache Kafka"; homepage = "https://www.confluent.io/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ zoedsoupe autophagy ]; + maintainers = with lib.maintainers; [ + zoedsoupe + autophagy + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/co/conform/package.nix b/pkgs/by-name/co/conform/package.nix index 65ce7e63d603a..7713688334564 100644 --- a/pkgs/by-name/co/conform/package.nix +++ b/pkgs/by-name/co/conform/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ + lib, + buildGoModule, + fetchFromGitHub, + git, +}: buildGoModule rec { pname = "conform"; @@ -25,7 +30,10 @@ buildGoModule rec { description = "Policy enforcement for your pipelines"; homepage = "https://github.com/siderolabs/conform"; license = licenses.mpl20; - maintainers = with maintainers; [ jmgilman jk ]; + maintainers = with maintainers; [ + jmgilman + jk + ]; mainProgram = "conform"; }; } diff --git a/pkgs/by-name/co/conftest/package.nix b/pkgs/by-name/co/conftest/package.nix index 2fc0e95d75eea..c0e62aff582e3 100644 --- a/pkgs/by-name/co/conftest/package.nix +++ b/pkgs/by-name/co/conftest/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -60,6 +61,9 @@ buildGoModule rec { assertions. You can read more about Rego in 'How do I write policies' in the Open Policy Agent documentation. ''; - maintainers = with maintainers; [ jk yurrriq ]; + maintainers = with maintainers; [ + jk + yurrriq + ]; }; } diff --git a/pkgs/by-name/co/confy/package.nix b/pkgs/by-name/co/confy/package.nix index 89110aead938b..68fe0c31ffe7a 100644 --- a/pkgs/by-name/co/confy/package.nix +++ b/pkgs/by-name/co/confy/package.nix @@ -1,17 +1,18 @@ -{ lib -, blueprint-compiler -, desktop-file-utils -, fetchFromSourcehut -, gobject-introspection -, gtk4 -, libadwaita -, libnotify -, meson -, ninja -, pkg-config -, python3 -, stdenv -, wrapGAppsHook4 +{ + lib, + blueprint-compiler, + desktop-file-utils, + fetchFromSourcehut, + gobject-introspection, + gtk4, + libadwaita, + libnotify, + meson, + ninja, + pkg-config, + python3, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { @@ -39,10 +40,12 @@ stdenv.mkDerivation (finalAttrs: { gtk4 libadwaita libnotify - (python3.withPackages (ps: with ps; [ - icalendar - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + icalendar + pygobject3 + ] + )) ]; postPatch = '' diff --git a/pkgs/by-name/co/conjure/package.nix b/pkgs/by-name/co/conjure/package.nix index 105b8577bd64e..5a8ea6082a419 100644 --- a/pkgs/by-name/co/conjure/package.nix +++ b/pkgs/by-name/co/conjure/package.nix @@ -1,15 +1,16 @@ -{ fetchFromGitHub -, gobject-introspection -, lib -, libadwaita -, python3Packages -, wrapGAppsHook4 -, meson -, ninja -, desktop-file-utils -, pkg-config -, appstream-glib -, gtk4 +{ + fetchFromGitHub, + gobject-introspection, + lib, + libadwaita, + python3Packages, + wrapGAppsHook4, + meson, + ninja, + desktop-file-utils, + pkg-config, + appstream-glib, + gtk4, }: python3Packages.buildPythonApplication rec { pname = "conjure"; diff --git a/pkgs/by-name/co/conmon-rs/package.nix b/pkgs/by-name/co/conmon-rs/package.nix index a68f48ebaa404..6990bf85bd76f 100644 --- a/pkgs/by-name/co/conmon-rs/package.nix +++ b/pkgs/by-name/co/conmon-rs/package.nix @@ -1,8 +1,9 @@ -{ capnproto -, lib -, fetchFromGitHub -, protobuf -, rustPlatform +{ + capnproto, + lib, + fetchFromGitHub, + protobuf, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -16,7 +17,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-1kGAUAmiPI9zE8LE7G2r0Gy0YM+BUy2MxY7IQOu2ZDQ="; }; - nativeBuildInputs = [ capnproto protobuf ]; + nativeBuildInputs = [ + capnproto + protobuf + ]; doCheck = false; cargoVendorDir = ".cargo-vendor"; diff --git a/pkgs/by-name/co/conmon/package.nix b/pkgs/by-name/co/conmon/package.nix index 0e7ece1b5f82a..e7add38b3c2b8 100644 --- a/pkgs/by-name/co/conmon/package.nix +++ b/pkgs/by-name/co/conmon/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, glib -, glibc -, libseccomp -, systemd -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + glibc, + libseccomp, + systemd, + nixosTests, }: stdenv.mkDerivation rec { @@ -21,11 +22,22 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libseccomp systemd ] - ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ]; + buildInputs = + [ + glib + libseccomp + systemd + ] + ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ + glibc + glibc.static + ]; # manpage requires building the vendored go-md2man - makeFlags = [ "bin/conmon" "VERSION=${version}" ]; + makeFlags = [ + "bin/conmon" + "VERSION=${version}" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/co/connect/package.nix b/pkgs/by-name/co/connect/package.nix index 408bbbf66708c..3e1834c11e8c7 100644 --- a/pkgs/by-name/co/connect/package.nix +++ b/pkgs/by-name/co/connect/package.nix @@ -1,15 +1,19 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "connect"; - version ="1.105"; + version = "1.105"; src = fetchurl { url = "https://bitbucket.org/gotoh/connect/get/${version}.tar.bz2"; sha256 = "00yld6yinc8s4xv3b8kbvzn2f4rja5dmp6ysv3n4847qn4k60dh7"; }; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # gcc and/or clang compat + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # gcc and/or clang compat installPhase = '' install -D -m ugo=rx connect $out/bin/connect @@ -20,7 +24,7 @@ stdenv.mkDerivation rec { longDescription = '' This proxy traversal tool is intended to assist OpenSSH (via ProxyCommand in ~/.ssh/config) and GIT (via $GIT_PROXY_COMMAND) utilize SOCKS and https proxies. - ''; + ''; homepage = "https://bitbucket.org/gotoh/connect/wiki/Home"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.gnu ++ lib.platforms.linux ++ lib.platforms.darwin; diff --git a/pkgs/by-name/co/connectome-workbench/package.nix b/pkgs/by-name/co/connectome-workbench/package.nix index bcffc4161cc3c..dd0a3467d1a9f 100644 --- a/pkgs/by-name/co/connectome-workbench/package.nix +++ b/pkgs/by-name/co/connectome-workbench/package.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, stdenv, fetchFromGitHub, fetchpatch, @@ -47,18 +48,24 @@ stdenv.mkDerivation (finalAttrs: { libsForQt5.wrapQtAppsHook ]; - buildInputs = [ - libGL - libGLU - ] ++ (with libsForQt5; [ - qtbase - ]); + buildInputs = + [ + libGL + libGLU + ] + ++ (with libsForQt5; [ + qtbase + ]); # note: we should be able to unvendor a few libs (ftgl, quazip, qwt) but they aren't detected properly meta = { description = "Visualization and discovery tool used to map neuroimaging data"; homepage = "https://www.humanconnectome.org/software/connectome-workbench"; - license = with lib.licenses; [ gpl2Plus gpl3Plus mit ]; + license = with lib.licenses; [ + gpl2Plus + gpl3Plus + mit + ]; changelog = "https://github.com/Washington-University/workbench/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ bcdarwin ]; mainProgram = "wb_command"; diff --git a/pkgs/by-name/co/connman-gtk/package.nix b/pkgs/by-name/co/connman-gtk/package.nix index d721b3551b044..9475a30d849f8 100644 --- a/pkgs/by-name/co/connman-gtk/package.nix +++ b/pkgs/by-name/co/connman-gtk/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, intltool, pkg-config, -gtk3, connman, openconnect, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + intltool, + pkg-config, + gtk3, + connman, + openconnect, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "connman-gtk"; diff --git a/pkgs/by-name/co/connman-ncurses/package.nix b/pkgs/by-name/co/connman-ncurses/package.nix index 9b63dcd7b3aa7..7add30d1d9eb3 100644 --- a/pkgs/by-name/co/connman-ncurses/package.nix +++ b/pkgs/by-name/co/connman-ncurses/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, pkg-config, dbus, json_c, ncurses, connman }: +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + autoreconfHook, + pkg-config, + dbus, + json_c, + ncurses, + connman, +}: stdenv.mkDerivation { pname = "connman-ncurses"; @@ -20,9 +31,17 @@ stdenv.mkDerivation { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ dbus ncurses json_c connman ]; + buildInputs = [ + dbus + ncurses + json_c + connman + ]; env.NIX_CFLAGS_COMPILE = "-Wno-error"; diff --git a/pkgs/by-name/co/connman-notify/package.nix b/pkgs/by-name/co/connman-notify/package.nix index fad8e477ada72..90a27db9a2dd1 100644 --- a/pkgs/by-name/co/connman-notify/package.nix +++ b/pkgs/by-name/co/connman-notify/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook3 }: +{ + lib, + fetchFromGitLab, + python3Packages, + glib, + gobject-introspection, + wrapGAppsHook3, +}: python3Packages.buildPythonApplication { pname = "connman-notify"; @@ -13,11 +20,17 @@ python3Packages.buildPythonApplication { format = "other"; - nativeBuildInputs = [ gobject-introspection wrapGAppsHook3 ]; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; buildInputs = [ glib ]; - pythonPath = with python3Packages; [ dbus-python pygobject3 ]; + pythonPath = with python3Packages; [ + dbus-python + pygobject3 + ]; strictDeps = false; diff --git a/pkgs/by-name/co/connman/package.nix b/pkgs/by-name/co/connman/package.nix index 17c54f8906eb4..44737f4f49eec 100644 --- a/pkgs/by-name/co/connman/package.nix +++ b/pkgs/by-name/co/connman/package.nix @@ -1,54 +1,56 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, dbus -, file -, glib -, gnutls -, iptables -, libmnl -, libnftnl # for nftables -, nixosTests -, openconnect -, openvpn -, pkg-config -, polkit -, ppp -, pptp -, readline -, vpnc -, dnsType ? "internal" # or "systemd-resolved" -, enableBluetooth ? true -, enableClient ? true -, enableDatafiles ? true -, enableDundee ? true -, enableEthernet ? true -, enableGadget ? true -, enableHh2serialGps ? false -, enableIospm ? false -, enableL2tp ? false -, enableLoopback ? true -, enableNeard ? true -, enableNetworkManager ? null -, enableNetworkManagerCompatibility ? - if enableNetworkManager == null - then false - else lib.warn "enableNetworkManager option is deprecated; use enableNetworkManagerCompatibility instead" enableNetworkManager -, enableOfono ? true -, enableOpenconnect ? true -, enableOpenvpn ? true -, enablePacrunner ? true -, enablePolkit ? true -, enablePptp ? true -, enableStats ? true -, enableTist ? false -, enableTools ? true -, enableVpnc ? true -, enableWifi ? true -, enableWireguard ? true -, enableWispr ? true -, firewallType ? "iptables" # or "nftables" +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + dbus, + file, + glib, + gnutls, + iptables, + libmnl, + libnftnl, # for nftables + nixosTests, + openconnect, + openvpn, + pkg-config, + polkit, + ppp, + pptp, + readline, + vpnc, + dnsType ? "internal", # or "systemd-resolved" + enableBluetooth ? true, + enableClient ? true, + enableDatafiles ? true, + enableDundee ? true, + enableEthernet ? true, + enableGadget ? true, + enableHh2serialGps ? false, + enableIospm ? false, + enableL2tp ? false, + enableLoopback ? true, + enableNeard ? true, + enableNetworkManager ? null, + enableNetworkManagerCompatibility ? + if enableNetworkManager == null then + false + else + lib.warn "enableNetworkManager option is deprecated; use enableNetworkManagerCompatibility instead" enableNetworkManager, + enableOfono ? true, + enableOpenconnect ? true, + enableOpenvpn ? true, + enablePacrunner ? true, + enablePolkit ? true, + enablePptp ? true, + enableStats ? true, + enableTist ? false, + enableTools ? true, + enableVpnc ? true, + enableWifi ? true, + enableWireguard ? true, + enableWispr ? true, + firewallType ? "iptables", # or "nftables" }: let @@ -56,10 +58,17 @@ let enableFeature enableFeatureAs optionals - withFeatureAs; + withFeatureAs + ; in -assert lib.asserts.assertOneOf "firewallType" firewallType [ "iptables" "nftables" ]; -assert lib.asserts.assertOneOf "dnsType" dnsType [ "internal" "systemd-resolved" ]; +assert lib.asserts.assertOneOf "firewallType" firewallType [ + "iptables" + "nftables" +]; +assert lib.asserts.assertOneOf "dnsType" dnsType [ + "internal" + "systemd-resolved" +]; stdenv.mkDerivation (finalAttrs: { pname = "connman"; version = "1.43"; @@ -83,78 +92,85 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - glib - dbus - libmnl - gnutls - readline - ] - ++ optionals (firewallType == "iptables") [ iptables ] - ++ optionals (firewallType == "nftables") [ libnftnl ] - ++ optionals (enableOpenconnect) [ openconnect ] - ++ optionals (enablePolkit) [ polkit ] - ++ optionals (enablePptp) [ pptp ppp ] - ; + buildInputs = + [ + glib + dbus + libmnl + gnutls + readline + ] + ++ optionals (firewallType == "iptables") [ iptables ] + ++ optionals (firewallType == "nftables") [ libnftnl ] + ++ optionals (enableOpenconnect) [ openconnect ] + ++ optionals (enablePolkit) [ polkit ] + ++ optionals (enablePptp) [ + pptp + ppp + ]; postPatch = '' sed -i "s@/usr/bin/file@file@g" ./configure ''; - configureFlags = [ - # directories flags - "--sysconfdir=/etc" - "--localstatedir=/var" - ] ++ [ - # production build flags - (enableFeature false "maintainer-mode") - (enableFeatureAs true "session-policy-local" "builtin") - # for building and running tests - # (enableFeature true "tests") # installs the tests, we don't want that - (enableFeature true "tools") - (enableFeature enableLoopback "loopback") - (enableFeature enableEthernet "ethernet") - (enableFeature enableWireguard "wireguard") - (enableFeature enableGadget "gadget") - (enableFeature enableWifi "wifi") - # enable IWD support for wifi as it doesn't require any new dependencies and - # it's easier for the NixOS module to use only one connman package when IWD - # is requested - (enableFeature enableWifi "iwd") - (enableFeature enableBluetooth "bluetooth") - (enableFeature enableOfono "ofono") - (enableFeature enableDundee "dundee") - (enableFeature enablePacrunner "pacrunner") - (enableFeature enableNeard "neard") - (enableFeature enableWispr "wispr") - (enableFeature enableTools "tools") - (enableFeature enableStats "stats") - (enableFeature enableClient "client") - (enableFeature enableDatafiles "datafiles") - (enableFeature enablePolkit "polkit") - (enableFeature enablePptp "pptp") - (enableFeature enableWireguard "wireguard") - (enableFeature enableNetworkManagerCompatibility "nmcompat") - (enableFeature enableHh2serialGps "hh2serial-gps") - (enableFeature enableL2tp "l2tp") - (enableFeature enableIospm "iospm") - (enableFeature enableTist "tist") - ] ++ [ - (enableFeatureAs enableOpenconnect "openconnect" "builtin") - (enableFeatureAs enableOpenvpn "openvpn" "builtin") - (enableFeatureAs enableVpnc "vpnc" "builtin") - ] ++ [ - (withFeatureAs true "dbusconfdir" "${placeholder "out"}/share") - (withFeatureAs true "dbusdatadir" "${placeholder "out"}/share") - (withFeatureAs true "tmpfilesdir" "${placeholder "out"}/tmpfiles.d") - (withFeatureAs true "systemdunitdir" "${placeholder "out"}/systemd/system") - (withFeatureAs true "dns-backend" "${dnsType}") - (withFeatureAs true "firewall" "${firewallType}") - (withFeatureAs enableOpenconnect "openconnect" "${openconnect}/sbin/openconnect") - (withFeatureAs enableOpenvpn "openvpn" "${openvpn}/sbin/openvpn") - (withFeatureAs enableVpnc "vpnc" "${vpnc}/sbin/vpnc") - (withFeatureAs enablePptp "pptp" "${pptp}/sbin/pptp") - ]; + configureFlags = + [ + # directories flags + "--sysconfdir=/etc" + "--localstatedir=/var" + ] + ++ [ + # production build flags + (enableFeature false "maintainer-mode") + (enableFeatureAs true "session-policy-local" "builtin") + # for building and running tests + # (enableFeature true "tests") # installs the tests, we don't want that + (enableFeature true "tools") + (enableFeature enableLoopback "loopback") + (enableFeature enableEthernet "ethernet") + (enableFeature enableWireguard "wireguard") + (enableFeature enableGadget "gadget") + (enableFeature enableWifi "wifi") + # enable IWD support for wifi as it doesn't require any new dependencies and + # it's easier for the NixOS module to use only one connman package when IWD + # is requested + (enableFeature enableWifi "iwd") + (enableFeature enableBluetooth "bluetooth") + (enableFeature enableOfono "ofono") + (enableFeature enableDundee "dundee") + (enableFeature enablePacrunner "pacrunner") + (enableFeature enableNeard "neard") + (enableFeature enableWispr "wispr") + (enableFeature enableTools "tools") + (enableFeature enableStats "stats") + (enableFeature enableClient "client") + (enableFeature enableDatafiles "datafiles") + (enableFeature enablePolkit "polkit") + (enableFeature enablePptp "pptp") + (enableFeature enableWireguard "wireguard") + (enableFeature enableNetworkManagerCompatibility "nmcompat") + (enableFeature enableHh2serialGps "hh2serial-gps") + (enableFeature enableL2tp "l2tp") + (enableFeature enableIospm "iospm") + (enableFeature enableTist "tist") + ] + ++ [ + (enableFeatureAs enableOpenconnect "openconnect" "builtin") + (enableFeatureAs enableOpenvpn "openvpn" "builtin") + (enableFeatureAs enableVpnc "vpnc" "builtin") + ] + ++ [ + (withFeatureAs true "dbusconfdir" "${placeholder "out"}/share") + (withFeatureAs true "dbusdatadir" "${placeholder "out"}/share") + (withFeatureAs true "tmpfilesdir" "${placeholder "out"}/tmpfiles.d") + (withFeatureAs true "systemdunitdir" "${placeholder "out"}/systemd/system") + (withFeatureAs true "dns-backend" "${dnsType}") + (withFeatureAs true "firewall" "${firewallType}") + (withFeatureAs enableOpenconnect "openconnect" "${openconnect}/sbin/openconnect") + (withFeatureAs enableOpenvpn "openvpn" "${openvpn}/sbin/openvpn") + (withFeatureAs enableVpnc "vpnc" "${vpnc}/sbin/vpnc") + (withFeatureAs enablePptp "pptp" "${pptp}/sbin/pptp") + ]; doCheck = true; diff --git a/pkgs/by-name/co/connman_dmenu/package.nix b/pkgs/by-name/co/connman_dmenu/package.nix index 9e9bf070a14d9..b986c9a405962 100644 --- a/pkgs/by-name/co/connman_dmenu/package.nix +++ b/pkgs/by-name/co/connman_dmenu/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, connman, dmenu }: +{ + lib, + stdenv, + fetchFromGitHub, + connman, + dmenu, +}: stdenv.mkDerivation { pname = "connman_dmenu"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { hash = "sha256-05MjFg+8rliYIAdOOHmP7DQhOTeYn5ZoCpZEdQeKLhg="; }; - buildInputs = [ connman dmenu ]; + buildInputs = [ + connman + dmenu + ]; dontBuild = true; diff --git a/pkgs/by-name/co/conntrack-tools/package.nix b/pkgs/by-name/co/conntrack-tools/package.nix index 42741fae5b6c9..ad16b2d4dfa74 100644 --- a/pkgs/by-name/co/conntrack-tools/package.nix +++ b/pkgs/by-name/co/conntrack-tools/package.nix @@ -1,7 +1,19 @@ -{ fetchurl, lib, stdenv, flex, bison, pkg-config, libmnl, libnfnetlink -, libnetfilter_conntrack, libnetfilter_queue, libnetfilter_cttimeout -, libnetfilter_cthelper, libtirpc -, systemdSupport ? true, systemd +{ + fetchurl, + lib, + stdenv, + flex, + bison, + pkg-config, + libmnl, + libnfnetlink, + libnetfilter_conntrack, + libnetfilter_queue, + libnetfilter_cttimeout, + libnetfilter_cthelper, + libtirpc, + systemdSupport ? true, + systemd, }: stdenv.mkDerivation rec { @@ -13,13 +25,24 @@ stdenv.mkDerivation rec { hash = "sha256-BnZ39MX2VkgZ547TqdSomAk16pJz86uyKkIOowq13tY="; }; - buildInputs = [ - libmnl libnfnetlink libnetfilter_conntrack libnetfilter_queue - libnetfilter_cttimeout libnetfilter_cthelper libtirpc - ] ++ lib.optionals systemdSupport [ - systemd + buildInputs = + [ + libmnl + libnfnetlink + libnetfilter_conntrack + libnetfilter_queue + libnetfilter_cttimeout + libnetfilter_cthelper + libtirpc + ] + ++ lib.optionals systemdSupport [ + systemd + ]; + nativeBuildInputs = [ + flex + bison + pkg-config ]; - nativeBuildInputs = [ flex bison pkg-config ]; configureFlags = [ (lib.enableFeature systemdSupport "systemd") diff --git a/pkgs/by-name/co/conserve/package.nix b/pkgs/by-name/co/conserve/package.nix index 1d7de926c5515..c5f459db1b457 100644 --- a/pkgs/by-name/co/conserve/package.nix +++ b/pkgs/by-name/co/conserve/package.nix @@ -3,7 +3,7 @@ stdenv, rustPlatform, fetchFromGitHub, - darwin + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/co/conserver/package.nix b/pkgs/by-name/co/conserver/package.nix index 1c550033c3ea8..cb741ecc45905 100644 --- a/pkgs/by-name/co/conserver/package.nix +++ b/pkgs/by-name/co/conserver/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, libxcrypt -, gssapiSupport ? false -, libkrb5 -, freeipmiSupport ? false -, freeipmi -, ipv6Support ? true -, opensslSupport ? true -, openssl -, trustUdsCredSupport ? false -, udsSupport ? false +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + libxcrypt, + gssapiSupport ? false, + libkrb5, + freeipmiSupport ? false, + freeipmi, + ipv6Support ? true, + opensslSupport ? true, + openssl, + trustUdsCredSupport ? false, + udsSupport ? false, }: stdenv.mkDerivation rec { @@ -37,12 +38,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libxcrypt ] + buildInputs = + [ libxcrypt ] ++ lib.optionals freeipmiSupport [ freeipmi ] ++ lib.optionals gssapiSupport [ libkrb5 ] ++ lib.optionals opensslSupport [ openssl ]; - configureFlags = [ "--with-ccffile=/dev/null" "--with-cffile=/dev/null" ] + configureFlags = + [ + "--with-ccffile=/dev/null" + "--with-cffile=/dev/null" + ] ++ lib.optionals freeipmiSupport [ "--with-freeipmi=${freeipmi}/include" ] ++ lib.optionals gssapiSupport [ "--with-gssapi=${libkrb5.dev}/include" ] ++ lib.optionals ipv6Support [ "--with-ipv6" ] diff --git a/pkgs/by-name/co/console-bridge/package.nix b/pkgs/by-name/co/console-bridge/package.nix index f02ac839a3e02..384f305977c94 100644 --- a/pkgs/by-name/co/console-bridge/package.nix +++ b/pkgs/by-name/co/console-bridge/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, validatePkgConfig }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + validatePkgConfig, +}: stdenv.mkDerivation rec { pname = "console-bridge"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-M3GocT0hodw3Sc2NHcFDiPVZ1XN7BqIUuYLW8OaXMqM="; }; - nativeBuildInputs = [ cmake validatePkgConfig ]; + nativeBuildInputs = [ + cmake + validatePkgConfig + ]; meta = with lib; { description = "ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages"; diff --git a/pkgs/by-name/co/conspy/package.nix b/pkgs/by-name/co/conspy/package.nix index 19b1565e435d6..6612322744ba5 100644 --- a/pkgs/by-name/co/conspy/package.nix +++ b/pkgs/by-name/co/conspy/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoconf, automake, ncurses }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + ncurses, +}: stdenv.mkDerivation rec { pname = "conspy"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { curlOpts = " -A application/octet-stream "; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ ncurses ]; diff --git a/pkgs/by-name/co/construct/package.nix b/pkgs/by-name/co/construct/package.nix index 89833c8176088..1869e1acd7add 100644 --- a/pkgs/by-name/co/construct/package.nix +++ b/pkgs/by-name/co/construct/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/consul-alerts/package.nix b/pkgs/by-name/co/consul-alerts/package.nix index f50d30d3aa04d..5cf18d05c0b1a 100644 --- a/pkgs/by-name/co/consul-alerts/package.nix +++ b/pkgs/by-name/co/consul-alerts/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "consul-alerts"; diff --git a/pkgs/by-name/co/consul-template/package.nix b/pkgs/by-name/co/consul-template/package.nix index dff8d8347dacf..be77105fd9882 100644 --- a/pkgs/by-name/co/consul-template/package.nix +++ b/pkgs/by-name/co/consul-template/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "consul-template"; @@ -26,7 +31,10 @@ buildGoModule rec { description = "Generic template rendering and notifications with Consul"; platforms = platforms.linux ++ platforms.darwin; license = licenses.mpl20; - maintainers = with maintainers; [ cpcloud pradeepchhetri ]; + maintainers = with maintainers; [ + cpcloud + pradeepchhetri + ]; mainProgram = "consul-template"; }; } diff --git a/pkgs/by-name/co/controku/package.nix b/pkgs/by-name/co/controku/package.nix index a52d2e3264648..029b4a37c61bb 100644 --- a/pkgs/by-name/co/controku/package.nix +++ b/pkgs/by-name/co/controku/package.nix @@ -1,4 +1,6 @@ -{ python3Packages +{ + python3Packages, }: -with python3Packages; toPythonApplication (controku.override { buildApplication = true; }) +with python3Packages; +toPythonApplication (controku.override { buildApplication = true; }) diff --git a/pkgs/by-name/co/convchain/package.nix b/pkgs/by-name/co/convchain/package.nix index 20f29b2a0ad5b..544887e01947b 100644 --- a/pkgs/by-name/co/convchain/package.nix +++ b/pkgs/by-name/co/convchain/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, mono}: +{ + lib, + stdenv, + fetchFromGitHub, + mono, +}: stdenv.mkDerivation rec { pname = "convchain"; version = "0.0pre20160901"; @@ -29,11 +34,11 @@ stdenv.mkDerivation rec { echo "'${mono}/bin/mono' '$out/bin/convchainfast.exe' \"\$@\"" >> "$out/bin/convchainfast" chmod a+x "$out/bin/convchainfast" ''; - buildInputs = [mono]; + buildInputs = [ mono ]; meta = { description = "Bitmap generation from a single example with convolutions and MCMC"; license = lib.licenses.mit; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/co/convco/package.nix b/pkgs/by-name/co/convco/package.nix index c0f780b5bb3c5..8e76730abb155 100644 --- a/pkgs/by-name/co/convco/package.nix +++ b/pkgs/by-name/co/convco/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, cmake -, libiconv -, openssl -, pkg-config -, darwin +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + cmake, + libiconv, + openssl, + pkg-config, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,9 +23,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-oQBCPfwlMJ0hLZskv+KUNVBHH550yAUI1jY40Eah3Bc="; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.Security + ]; checkFlags = [ # disable test requiring networking @@ -36,6 +45,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "convco"; homepage = "https://github.com/convco/convco"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ hoverbear cafkafk ]; + maintainers = with maintainers; [ + hoverbear + cafkafk + ]; }; } diff --git a/pkgs/by-name/co/converseen/package.nix b/pkgs/by-name/co/converseen/package.nix index 7d409889e3744..94f6ffef5ac5e 100644 --- a/pkgs/by-name/co/converseen/package.nix +++ b/pkgs/by-name/co/converseen/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, imagemagick -, pkg-config -, qt5 -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + imagemagick, + pkg-config, + qt5, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/co/convertlit/package.nix b/pkgs/by-name/co/convertlit/package.nix index 417007fbd3ba9..6bc9cd4ffaef2 100644 --- a/pkgs/by-name/co/convertlit/package.nix +++ b/pkgs/by-name/co/convertlit/package.nix @@ -1,16 +1,21 @@ -{lib, stdenv, fetchzip, libtommath}: +{ + lib, + stdenv, + fetchzip, + libtommath, +}: stdenv.mkDerivation rec { pname = "convertlit"; version = "1.8"; src = fetchzip { - url = "http://www.convertlit.com/convertlit${lib.replaceStrings ["."] [""] version}src.zip"; + url = "http://www.convertlit.com/convertlit${lib.replaceStrings [ "." ] [ "" ] version}src.zip"; sha256 = "182nsin7qscgbw2h92m0zadh3h8q410h5cza6v486yjfvla3dxjx"; stripRoot = false; }; - buildInputs = [libtommath]; + buildInputs = [ libtommath ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/co/convimg/package.nix b/pkgs/by-name/co/convimg/package.nix index 4ac8fac737526..4984bdb72ea5c 100644 --- a/pkgs/by-name/co/convimg/package.nix +++ b/pkgs/by-name/co/convimg/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/co/convos/package.nix b/pkgs/by-name/co/convos/package.nix index c456875d016ba..356d08b3635be 100644 --- a/pkgs/by-name/co/convos/package.nix +++ b/pkgs/by-name/co/convos/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper, shortenPerlShebang, openssl -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + perl, + perlPackages, + makeWrapper, + shortenPerlShebang, + openssl, + nixosTests, }: perlPackages.buildPerlPackage rec { @@ -13,15 +21,34 @@ perlPackages.buildPerlPackage rec { sha256 = "sha256-dBvXo8y4OMKcb0imgnnzoklnPN3YePHDvy5rIBOkTfs="; }; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ shortenPerlShebang ]; + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ shortenPerlShebang ]; buildInputs = with perlPackages; [ - CryptPassphrase CryptPassphraseArgon2 CryptPassphraseBcrypt - FileHomeDir FileReadBackwards HTTPAcceptLanguage SyntaxKeywordTry FutureAsyncAwait - IOSocketSSL IRCUtils JSONValidator LinkEmbedder ModuleInstall - Mojolicious MojoliciousPluginOpenAPI MojoliciousPluginSyslog ParseIRC - TextMarkdownHoedown TimePiece UnicodeUTF8 CpanelJSONXS EV YAMLLibYAML + CryptPassphrase + CryptPassphraseArgon2 + CryptPassphraseBcrypt + FileHomeDir + FileReadBackwards + HTTPAcceptLanguage + SyntaxKeywordTry + FutureAsyncAwait + IOSocketSSL + IRCUtils + JSONValidator + LinkEmbedder + ModuleInstall + Mojolicious + MojoliciousPluginOpenAPI + MojoliciousPluginSyslog + ParseIRC + TextMarkdownHoedown + TimePiece + UnicodeUTF8 + CpanelJSONXS + EV + YAMLLibYAML ]; propagatedBuildInputs = [ openssl ]; @@ -72,18 +99,21 @@ perlPackages.buildPerlPackage rec { # Convos expects to find assets in both auto/share/dist/Convos, and $MOJO_HOME # which is set to $out # - postInstall = '' - AUTO_SHARE_PATH=$out/${perl.libPrefix}/auto/share/dist/Convos - mkdir -p $AUTO_SHARE_PATH - cp -vR public assets $AUTO_SHARE_PATH/ - ln -s $AUTO_SHARE_PATH/public/assets $out/assets - cp -vR templates $out/templates - cp Makefile.PL $out/Makefile.PL - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang $out/bin/convos - '' + '' - wrapProgram $out/bin/convos --set MOJO_HOME $out - ''; + postInstall = + '' + AUTO_SHARE_PATH=$out/${perl.libPrefix}/auto/share/dist/Convos + mkdir -p $AUTO_SHARE_PATH + cp -vR public assets $AUTO_SHARE_PATH/ + ln -s $AUTO_SHARE_PATH/public/assets $out/assets + cp -vR templates $out/templates + cp Makefile.PL $out/Makefile.PL + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang $out/bin/convos + '' + + '' + wrapProgram $out/bin/convos --set MOJO_HOME $out + ''; passthru.tests = nixosTests.convos; diff --git a/pkgs/by-name/co/cook-cli/package.nix b/pkgs/by-name/co/cook-cli/package.nix index 846d3fb527777..5990e30bfe5a5 100644 --- a/pkgs/by-name/co/cook-cli/package.nix +++ b/pkgs/by-name/co/cook-cli/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildNpmPackage -, rustPlatform -, pkg-config -, openssl -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + buildNpmPackage, + rustPlatform, + pkg-config, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { pname = "cook-cli"; @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-6lnURuE1cgNAniHl5ozXo1W3cLYYje7er+ZhvZDKdVg="; - nativeBuildInputs = [ pkg-config openssl ]; + nativeBuildInputs = [ + pkg-config + openssl + ]; buildInputs = [ openssl diff --git a/pkgs/by-name/co/cooper-hewitt/package.nix b/pkgs/by-name/co/cooper-hewitt/package.nix index 743c1ed8a6b86..a85b832f2d54d 100644 --- a/pkgs/by-name/co/cooper-hewitt/package.nix +++ b/pkgs/by-name/co/cooper-hewitt/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "cooper-hewitt"; diff --git a/pkgs/by-name/co/coordgenlibs/package.nix b/pkgs/by-name/co/coordgenlibs/package.nix index 4febe03ef04d9..a02ce722480f8 100644 --- a/pkgs/by-name/co/coordgenlibs/package.nix +++ b/pkgs/by-name/co/coordgenlibs/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, stdenv -, boost -, zlib -, cmake -, maeparser +{ + fetchFromGitHub, + lib, + stdenv, + boost, + zlib, + cmake, + maeparser, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,11 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost zlib maeparser ]; + buildInputs = [ + boost + zlib + maeparser + ]; env = lib.optionalAttrs stdenv.cc.isClang { NIX_CFLAGS_COMPILE = "-Wno-unused-but-set-variable"; diff --git a/pkgs/by-name/co/coost/package.nix b/pkgs/by-name/co/coost/package.nix index 667fc74dab69d..9b07ee0aca15f 100644 --- a/pkgs/by-name/co/coost/package.nix +++ b/pkgs/by-name/co/coost/package.nix @@ -30,11 +30,17 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; buildInputs = lib.optional withCurl curl ++ lib.optional withOpenSSL openssl; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - ] ++ lib.optional withCurl "-DWITH_LIBCURL=ON" ++ lib.optional withOpenSSL "-DWITH_OPENSSL=ON"; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + ] + ++ lib.optional withCurl "-DWITH_LIBCURL=ON" + ++ lib.optional withOpenSSL "-DWITH_OPENSSL=ON"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; passthru.updateScript = gitUpdater { }; meta = with lib; { diff --git a/pkgs/by-name/co/copier/package.nix b/pkgs/by-name/co/copier/package.nix index 382e4d574857f..2bbec86bbdc6b 100644 --- a/pkgs/by-name/co/copier/package.nix +++ b/pkgs/by-name/co/copier/package.nix @@ -1,7 +1,8 @@ -{ lib -, git -, python3 -, fetchFromGitHub +{ + lib, + git, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -49,7 +50,7 @@ python3.pkgs.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--suffix PATH : ${lib.makeBinPath [ git ] }" + "--suffix PATH : ${lib.makeBinPath [ git ]}" ]; meta = with lib; { diff --git a/pkgs/by-name/co/copilot-cli/package.nix b/pkgs/by-name/co/copilot-cli/package.nix index b748b90cb7e9a..a04f46bf5f424 100644 --- a/pkgs/by-name/co/copilot-cli/package.nix +++ b/pkgs/by-name/co/copilot-cli/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, copilot-cli }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + copilot-cli, +}: buildGoModule rec { pname = "copilot-cli"; diff --git a/pkgs/by-name/co/copper/package.nix b/pkgs/by-name/co/copper/package.nix index f202932743f1f..d6b24177d291a 100644 --- a/pkgs/by-name/co/copper/package.nix +++ b/pkgs/by-name/co/copper/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, libffi +{ + lib, + stdenv, + fetchurl, + libffi, }: stdenv.mkDerivation rec { pname = "copper"; diff --git a/pkgs/by-name/co/copyright-update/package.nix b/pkgs/by-name/co/copyright-update/package.nix index 72cecf1e9246a..9ec1b850af222 100644 --- a/pkgs/by-name/co/copyright-update/package.nix +++ b/pkgs/by-name/co/copyright-update/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "copyright-update"; @@ -14,7 +19,10 @@ stdenv.mkDerivation rec { buildInputs = [ perl ]; - installFlags = [ "INSTALL=install" "prefix=$(out)" ]; + installFlags = [ + "INSTALL=install" + "prefix=$(out)" + ]; meta = with lib; { homepage = "https://github.com/jaalto/project--copyright-update"; diff --git a/pkgs/by-name/co/coq2html/package.nix b/pkgs/by-name/co/coq2html/package.nix index 049a48089aea6..5768962265cd9 100644 --- a/pkgs/by-name/co/coq2html/package.nix +++ b/pkgs/by-name/co/coq2html/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ocaml }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "coq2html"; version = "1.4"; @@ -30,7 +35,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/xavierleroy/coq2html"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ jwiegley siraben ]; + maintainers = with maintainers; [ + jwiegley + siraben + ]; platforms = platforms.unix; mainProgram = "coq2html"; }; diff --git a/pkgs/by-name/co/cordless/package.nix b/pkgs/by-name/co/cordless/package.nix index 35c2c0dbffb31..af2729c9db6bd 100644 --- a/pkgs/by-name/co/cordless/package.nix +++ b/pkgs/by-name/co/cordless/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cordless"; diff --git a/pkgs/by-name/co/cordova/package.nix b/pkgs/by-name/co/cordova/package.nix index 0a4fec58c2c56..394fc87059ac1 100644 --- a/pkgs/by-name/co/cordova/package.nix +++ b/pkgs/by-name/co/cordova/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/co/corefonts/package.nix b/pkgs/by-name/co/corefonts/package.nix index f2c9533b01fc3..b58089d1ad331 100644 --- a/pkgs/by-name/co/corefonts/package.nix +++ b/pkgs/by-name/co/corefonts/package.nix @@ -1,19 +1,60 @@ -{ lib, stdenv, fetchurl, cabextract }: +{ + lib, + stdenv, + fetchurl, + cabextract, +}: let fonts = [ - { name = "andale"; hash = "sha256-BST+QpUa3Dp+uHDjLwkgMTxx8XDIWbX3cNgrTuER6XA="; } - { name = "arial"; hash = "sha256-hSl6TRRunIesb3SCJzS97l9LKnItfqpYS38sv3b0ePY="; } - { name = "arialb"; hash = "sha256-pCXw/7ahpe3luXntYXf09PT972rnwwKnt3IO8zL+wKg="; } - { name = "comic"; hash = "sha256-nG3z/u/eJtTkHUpP5dsqifkSOncllNf1mv0GJiXNIE4="; } - { name = "courie"; hash = "sha256-u1EdhhZV3eh5rlUuuGsTTW+uZ8tYUC5v9z7F2RUfM4Q="; } - { name = "georgi"; hash = "sha256-LCx9zaZgbqXPCJGPt80/M1np6EM43GkAE/IM1C6TAwE="; } - { name = "impact"; hash = "sha256-YGHvO3QB2WQvXf218rN2qhRmP2J15gpRIHrU+s8vzPs="; } - { name = "times"; hash = "sha256-21ZZXsbvXT3lwkmU8AHwOyoT43zuJ7wlxY9vQ+j4B6s="; } - { name = "trebuc"; hash = "sha256-WmkNm7hRC+G4tP5J8fIxllH+UbvlR3Xd3djvC9B/2sk="; } - { name = "webdin"; hash = "sha256-ZFlbWrwQgPuoYQxcNPq1hjQI6Aaq/oRlPKhXW+0X11o="; } - { name = "verdan"; hash = "sha256-wcthJV42MWZ5TkdmTi8hr446JstjRuuNKuL6hd1arZY="; } - { name = "wd97vwr"; hash = "sha256-9hEmptF7LRJqfzGxQlBNzkk095icVfHBPGR3s/6As9I="; } + { + name = "andale"; + hash = "sha256-BST+QpUa3Dp+uHDjLwkgMTxx8XDIWbX3cNgrTuER6XA="; + } + { + name = "arial"; + hash = "sha256-hSl6TRRunIesb3SCJzS97l9LKnItfqpYS38sv3b0ePY="; + } + { + name = "arialb"; + hash = "sha256-pCXw/7ahpe3luXntYXf09PT972rnwwKnt3IO8zL+wKg="; + } + { + name = "comic"; + hash = "sha256-nG3z/u/eJtTkHUpP5dsqifkSOncllNf1mv0GJiXNIE4="; + } + { + name = "courie"; + hash = "sha256-u1EdhhZV3eh5rlUuuGsTTW+uZ8tYUC5v9z7F2RUfM4Q="; + } + { + name = "georgi"; + hash = "sha256-LCx9zaZgbqXPCJGPt80/M1np6EM43GkAE/IM1C6TAwE="; + } + { + name = "impact"; + hash = "sha256-YGHvO3QB2WQvXf218rN2qhRmP2J15gpRIHrU+s8vzPs="; + } + { + name = "times"; + hash = "sha256-21ZZXsbvXT3lwkmU8AHwOyoT43zuJ7wlxY9vQ+j4B6s="; + } + { + name = "trebuc"; + hash = "sha256-WmkNm7hRC+G4tP5J8fIxllH+UbvlR3Xd3djvC9B/2sk="; + } + { + name = "webdin"; + hash = "sha256-ZFlbWrwQgPuoYQxcNPq1hjQI6Aaq/oRlPKhXW+0X11o="; + } + { + name = "verdan"; + hash = "sha256-wcthJV42MWZ5TkdmTi8hr446JstjRuuNKuL6hd1arZY="; + } + { + name = "wd97vwr"; + hash = "sha256-9hEmptF7LRJqfzGxQlBNzkk095icVfHBPGR3s/6As9I="; + } ]; eula = fetchurl { @@ -25,10 +66,13 @@ stdenv.mkDerivation { pname = "corefonts"; version = "1"; - exes = map ({name, hash}: fetchurl { - url = "mirror://sourceforge/corefonts/the%20fonts/final/${name}32.exe"; - inherit hash; - }) fonts; + exes = map ( + { name, hash }: + fetchurl { + url = "mirror://sourceforge/corefonts/the%20fonts/final/${name}32.exe"; + inherit hash; + } + ) fonts; nativeBuildInputs = [ cabextract ]; diff --git a/pkgs/by-name/co/coreth/package.nix b/pkgs/by-name/co/coreth/package.nix index 242c6da0424c2..9cdb4bdbde9c3 100644 --- a/pkgs/by-name/co/coreth/package.nix +++ b/pkgs/by-name/co/coreth/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/co/corkscrew/package.nix b/pkgs/by-name/co/corkscrew/package.nix index 6c433981aeb33..1fb800d9f4dec 100644 --- a/pkgs/by-name/co/corkscrew/package.nix +++ b/pkgs/by-name/co/corkscrew/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "corkscrew"; @@ -20,4 +25,3 @@ stdenv.mkDerivation rec { mainProgram = "corkscrew"; }; } - diff --git a/pkgs/by-name/co/corrosion/package.nix b/pkgs/by-name/co/corrosion/package.nix index 500e56e9cfcc6..cec87380364b5 100644 --- a/pkgs/by-name/co/corrosion/package.nix +++ b/pkgs/by-name/co/corrosion/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, cmake -, rustc -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + cmake, + rustc, + libiconv, }: stdenv.mkDerivation rec { @@ -28,23 +29,25 @@ stdenv.mkDerivation rec { doCheck = true; - checkPhase = let - excludedTests = [ - "cbindgen_rust2cpp_build" - "cbindgen_rust2cpp_run_cpp-exe" - "hostbuild_build" - "hostbuild_run_rust-host-program" - "parse_target_triple_build" - "rustup_proxy_build" - ]; - excludedTestsRegex = lib.concatStringsSep "|" excludedTests; - in '' - runHook preCheck - - ctest -E "${excludedTestsRegex}" - - runHook postCheck - ''; + checkPhase = + let + excludedTests = [ + "cbindgen_rust2cpp_build" + "cbindgen_rust2cpp_run_cpp-exe" + "hostbuild_build" + "hostbuild_run_rust-host-program" + "parse_target_triple_build" + "rustup_proxy_build" + ]; + excludedTestsRegex = lib.concatStringsSep "|" excludedTests; + in + '' + runHook preCheck + + ctest -E "${excludedTestsRegex}" + + runHook postCheck + ''; meta = with lib; { description = "Tool for integrating Rust into an existing CMake project"; diff --git a/pkgs/by-name/co/corrscope/package.nix b/pkgs/by-name/co/corrscope/package.nix index 97751960af61e..34f72de0c145d 100644 --- a/pkgs/by-name/co/corrscope/package.nix +++ b/pkgs/by-name/co/corrscope/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, python3Packages -, fetchFromGitHub -, ffmpeg -, libsForQt5 -, testers -, corrscope +{ + stdenv, + lib, + python3Packages, + fetchFromGitHub, + ffmpeg, + libsForQt5, + testers, + corrscope, }: python3Packages.buildPythonApplication rec { @@ -20,21 +21,32 @@ python3Packages.buildPythonApplication rec { hash = "sha256-WSv65jEu/w6iNrL/f5PN147FBjmR0j30H1D39dd+KN8="; }; - pythonRelaxDeps = [ "attrs" "ruamel.yaml" ]; + pythonRelaxDeps = [ + "attrs" + "ruamel.yaml" + ]; - nativeBuildInputs = (with libsForQt5; [ - wrapQtAppsHook - ]) ++ (with python3Packages; [ - poetry-core - ]); + nativeBuildInputs = + (with libsForQt5; [ + wrapQtAppsHook + ]) + ++ (with python3Packages; [ + poetry-core + ]); - buildInputs = [ - ffmpeg - ] ++ (with libsForQt5; [ - qtbase - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]); + buildInputs = + [ + ffmpeg + ] + ++ ( + with libsForQt5; + [ + qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ] + ); propagatedBuildInputs = with python3Packages; [ appdirs diff --git a/pkgs/by-name/co/corrupter/package.nix b/pkgs/by-name/co/corrupter/package.nix index bd70ddaf44bba..161727916ff1a 100644 --- a/pkgs/by-name/co/corrupter/package.nix +++ b/pkgs/by-name/co/corrupter/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + buildGoModule, + fetchFromGitHub, + unstableGitUpdater, }: buildGoModule { diff --git a/pkgs/by-name/co/corsix-th/package.nix b/pkgs/by-name/co/corsix-th/package.nix index fd5260679ce78..9d6a78b361a44 100644 --- a/pkgs/by-name/co/corsix-th/package.nix +++ b/pkgs/by-name/co/corsix-th/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, curl -, doxygen -, ffmpeg -, freetype -, lua -, makeWrapper -, SDL2 -, SDL2_mixer -, timidity -# Darwin dependencies -, libiconv -, apple-sdk_11 -# Update -, nix-update-script +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + curl, + doxygen, + ffmpeg, + freetype, + lua, + makeWrapper, + SDL2, + SDL2_mixer, + timidity, + # Darwin dependencies + libiconv, + apple-sdk_11, + # Update + nix-update-script, }: -stdenv.mkDerivation(finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "corsix-th"; version = "0.68.0"; @@ -33,34 +34,50 @@ stdenv.mkDerivation(finalAttrs: { ./darwin-cmake-no-fixup-bundle.patch ]; - nativeBuildInputs = [ cmake doxygen makeWrapper ]; + nativeBuildInputs = [ + cmake + doxygen + makeWrapper + ]; - buildInputs = let - luaEnv = lua.withPackages(p: with p; [ luafilesystem lpeg luasec luasocket ]); - in [ - curl - ffmpeg - freetype - lua - luaEnv - SDL2 - SDL2_mixer - timidity - ] ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; + buildInputs = + let + luaEnv = lua.withPackages ( + p: with p; [ + luafilesystem + lpeg + luasec + luasocket + ] + ); + in + [ + curl + ffmpeg + freetype + lua + luaEnv + SDL2 + SDL2_mixer + timidity + ] + ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; cmakeFlags = [ "-Wno-dev" ]; - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/corsix-th \ - --set LUA_PATH "$LUA_PATH" \ - --set LUA_CPATH "$LUA_CPATH" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv $out/CorsixTH.app $out/Applications - wrapProgram $out/Applications/CorsixTH.app/Contents/MacOS/CorsixTH \ + postInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/corsix-th \ --set LUA_PATH "$LUA_PATH" \ --set LUA_CPATH "$LUA_CPATH" - ''; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + mv $out/CorsixTH.app $out/Applications + wrapProgram $out/Applications/CorsixTH.app/Contents/MacOS/CorsixTH \ + --set LUA_PATH "$LUA_PATH" \ + --set LUA_CPATH "$LUA_CPATH" + ''; passthru.updateScript = nix-update-script { }; @@ -69,7 +86,10 @@ stdenv.mkDerivation(finalAttrs: { mainProgram = "corsix-th"; homepage = "https://corsixth.com/"; license = licenses.mit; - maintainers = with maintainers; [ hughobrien matteopacini ]; + maintainers = with maintainers; [ + hughobrien + matteopacini + ]; platforms = platforms.linux ++ platforms.darwin; }; }) diff --git a/pkgs/by-name/co/cosmic-applets/package.nix b/pkgs/by-name/co/cosmic-applets/package.nix index 43d340484bc84..5a4a0522f8bae 100644 --- a/pkgs/by-name/co/cosmic-applets/package.nix +++ b/pkgs/by-name/co/cosmic-applets/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, just -, pkg-config -, udev -, util-linuxMinimal -, dbus -, glib -, libinput -, libxkbcommon -, pulseaudio -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + just, + pkg-config, + udev, + util-linuxMinimal, + dbus, + glib, + libinput, + libxkbcommon, + pulseaudio, + wayland, }: rustPlatform.buildRustPackage rec { @@ -28,29 +29,49 @@ rustPlatform.buildRustPackage rec { useFetchCargoVendor = true; cargoHash = "sha256-f5OV//qzWQqIvq8BNtd2H1dWl7aqR0WJwmdimL4wcKQ="; - nativeBuildInputs = [ just pkg-config util-linuxMinimal ]; - buildInputs = [ dbus glib libinput libxkbcommon pulseaudio wayland udev ]; + nativeBuildInputs = [ + just + pkg-config + util-linuxMinimal + ]; + buildInputs = [ + dbus + glib + libinput + libxkbcommon + pulseaudio + wayland + udev + ]; dontUseJustBuild = true; justFlags = [ - "--set" "prefix" (placeholder "out") - "--set" "target" "${stdenv.hostPlatform.rust.cargoShortTarget}/release" + "--set" + "prefix" + (placeholder "out") + "--set" + "target" + "${stdenv.hostPlatform.rust.cargoShortTarget}/release" ]; # Force linking to libwayland-client, which is always dlopen()ed. "CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = - map (a: "-C link-arg=${a}") [ - "-Wl,--push-state,--no-as-needed" - "-lwayland-client" - "-Wl,--pop-state" - ]; + map (a: "-C link-arg=${a}") + [ + "-Wl,--push-state,--no-as-needed" + "-lwayland-client" + "-Wl,--pop-state" + ]; meta = with lib; { homepage = "https://github.com/pop-os/cosmic-applets"; description = "Applets for the COSMIC Desktop Environment"; license = licenses.gpl3Only; - maintainers = with maintainers; [ qyliss nyabinary ]; + maintainers = with maintainers; [ + qyliss + nyabinary + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix index 792026af21ddc..0dd7624df4ed1 100644 --- a/pkgs/by-name/co/cosmic-applibrary/package.nix +++ b/pkgs/by-name/co/cosmic-applibrary/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, stdenv -, rustPlatform -, just -, pkg-config -, makeBinaryWrapper -, libxkbcommon -, wayland +{ + lib, + fetchFromGitHub, + stdenv, + rustPlatform, + just, + pkg-config, + makeBinaryWrapper, + libxkbcommon, + wayland, }: rustPlatform.buildRustPackage rec { pname = "cosmic-applibrary"; diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index e3d162d471ba2..627247a66e8bf 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, just -, pkg-config -, makeBinaryWrapper -, libxkbcommon -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + just, + pkg-config, + makeBinaryWrapper, + libxkbcommon, + wayland, }: rustPlatform.buildRustPackage rec { @@ -27,8 +28,15 @@ rustPlatform.buildRustPackage rec { substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" ''; - nativeBuildInputs = [ just pkg-config makeBinaryWrapper ]; - buildInputs = [ libxkbcommon wayland ]; + nativeBuildInputs = [ + just + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + libxkbcommon + wayland + ]; dontUseJustBuild = true; @@ -43,7 +51,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/cosmic-bg \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [wayland]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" ''; meta = with lib; { diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 065a0f4b006f2..e053b88b4d66f 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, makeBinaryWrapper -, pixman -, pkg-config -, libinput -, libglvnd -, libxkbcommon -, mesa -, seatd -, udev -, xwayland -, wayland -, xorg -, useXWayland ? true -, systemd -, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + makeBinaryWrapper, + pixman, + pkg-config, + libinput, + libglvnd, + libxkbcommon, + mesa, + seatd, + udev, + xwayland, + wayland, + xorg, + useXWayland ? true, + systemd, + useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: rustPlatform.buildRustPackage rec { @@ -35,17 +36,20 @@ rustPlatform.buildRustPackage rec { separateDebugInfo = true; - nativeBuildInputs = [ makeBinaryWrapper pkg-config ]; + nativeBuildInputs = [ + makeBinaryWrapper + pkg-config + ]; buildInputs = [ - libglvnd - libinput - libxkbcommon - mesa - pixman - seatd - udev - wayland - ] ++ lib.optional useSystemd systemd; + libglvnd + libinput + libxkbcommon + mesa + pixman + seatd + udev + wayland + ] ++ lib.optional useSystemd systemd; # Only default feature is systemd buildNoDefaultFeatures = !useSystemd; @@ -69,22 +73,32 @@ rustPlatform.buildRustPackage rec { # These libraries are only used by the X11 backend, which will not # be the common case, so just make them available, don't link them. - postInstall = '' - wrapProgramArgs=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ - xorg.libX11 xorg.libXcursor xorg.libXi - ]}) - '' + lib.optionalString useXWayland '' - wrapProgramArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]}) - '' + '' - wrapProgram $out/bin/cosmic-comp "''${wrapProgramArgs[@]}" - ''; + postInstall = + '' + wrapProgramArgs=(--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + xorg.libX11 + xorg.libXcursor + xorg.libXi + ] + }) + '' + + lib.optionalString useXWayland '' + wrapProgramArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]}) + '' + + '' + wrapProgram $out/bin/cosmic-comp "''${wrapProgramArgs[@]}" + ''; meta = with lib; { homepage = "https://github.com/pop-os/cosmic-comp"; description = "Compositor for the COSMIC Desktop Environment"; mainProgram = "cosmic-comp"; license = licenses.gpl3Only; - maintainers = with maintainers; [ qyliss nyabinary ]; + maintainers = with maintainers; [ + qyliss + nyabinary + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/cosmic-design-demo/package.nix b/pkgs/by-name/co/cosmic-design-demo/package.nix index 241f8c7b310f3..2f003b482f2ff 100644 --- a/pkgs/by-name/co/cosmic-design-demo/package.nix +++ b/pkgs/by-name/co/cosmic-design-demo/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cmake -, just -, pkg-config -, expat -, libxkbcommon -, fontconfig -, freetype -, wayland -, makeBinaryWrapper -, cosmic-icons +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cmake, + just, + pkg-config, + expat, + libxkbcommon, + fontconfig, + freetype, + wayland, + makeBinaryWrapper, + cosmic-icons, }: rustPlatform.buildRustPackage rec { @@ -28,8 +29,19 @@ rustPlatform.buildRustPackage rec { useFetchCargoVendor = true; cargoHash = "sha256-czfDtiSEmzmcLfpqv0/8sP8zDAEKh+pkQkGXdd5NskM="; - nativeBuildInputs = [ cmake just pkg-config makeBinaryWrapper ]; - buildInputs = [ libxkbcommon expat fontconfig freetype wayland ]; + nativeBuildInputs = [ + cmake + just + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + libxkbcommon + expat + fontconfig + freetype + wayland + ]; dontUseJustBuild = true; @@ -45,7 +57,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/cosmic-design-demo" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [wayland]}" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" \ --suffix XDG_DATA_DIRS : "${cosmic-icons}/share" ''; diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix index cd4d2aa7ac816..bab9cc12d303a 100644 --- a/pkgs/by-name/co/cosmic-edit/package.nix +++ b/pkgs/by-name/co/cosmic-edit/package.nix @@ -41,7 +41,11 @@ rustPlatform.buildRustPackage rec { substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)" ''; - nativeBuildInputs = [ just pkg-config makeBinaryWrapper ]; + nativeBuildInputs = [ + just + pkg-config + makeBinaryWrapper + ]; buildInputs = [ libxkbcommon xorg.libX11 @@ -79,9 +83,16 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/cosmic-edit" \ --suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ - xorg.libX11 xorg.libXcursor xorg.libXi vulkan-loader libxkbcommon wayland - ]} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + xorg.libX11 + xorg.libXcursor + xorg.libXi + vulkan-loader + libxkbcommon + wayland + ] + } ''; meta = with lib; { @@ -89,7 +100,10 @@ rustPlatform.buildRustPackage rec { description = "Text Editor for the COSMIC Desktop Environment"; mainProgram = "cosmic-edit"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ahoneybun nyabinary ]; + maintainers = with maintainers; [ + ahoneybun + nyabinary + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/cosmic-files/package.nix b/pkgs/by-name/co/cosmic-files/package.nix index 39c285b62613f..350071d1f6259 100644 --- a/pkgs/by-name/co/cosmic-files/package.nix +++ b/pkgs/by-name/co/cosmic-files/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, makeBinaryWrapper -, cosmic-icons -, just -, pkg-config -, glib -, libxkbcommon -, wayland -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + makeBinaryWrapper, + cosmic-icons, + just, + pkg-config, + glib, + libxkbcommon, + wayland, + xorg, }: rustPlatform.buildRustPackage rec { @@ -35,8 +36,16 @@ rustPlatform.buildRustPackage rec { substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)" ''; - nativeBuildInputs = [ just pkg-config makeBinaryWrapper ]; - buildInputs = [ glib libxkbcommon wayland ]; + nativeBuildInputs = [ + just + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + glib + libxkbcommon + wayland + ]; dontUseJustBuild = true; @@ -53,14 +62,25 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/cosmic-files" \ --suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi wayland ]} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + wayland + ] + } ''; meta = with lib; { homepage = "https://github.com/pop-os/cosmic-files"; description = "File Manager for the COSMIC Desktop Environment"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ahoneybun nyabinary ]; + maintainers = with maintainers; [ + ahoneybun + nyabinary + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index fef6608dc6b97..b6c1d204c40ee 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cmake -, coreutils -, just -, libinput -, libxkbcommon -, linux-pam -, pkg-config -, udev -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cmake, + coreutils, + just, + libinput, + libxkbcommon, + linux-pam, + pkg-config, + udev, + wayland, }: rustPlatform.buildRustPackage rec { @@ -31,8 +32,19 @@ rustPlatform.buildRustPackage rec { "--all" ]; - nativeBuildInputs = [ rustPlatform.bindgenHook cmake just pkg-config ]; - buildInputs = [ libinput libxkbcommon linux-pam udev wayland ]; + nativeBuildInputs = [ + rustPlatform.bindgenHook + cmake + just + pkg-config + ]; + buildInputs = [ + libinput + libxkbcommon + linux-pam + udev + wayland + ]; dontUseJustBuild = true; diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index f04ab30a2a28d..58dd4db3aa978 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, just -, pkg-config -, makeBinaryWrapper -, libxkbcommon -, wayland -, appstream-glib -, desktop-file-utils -, intltool +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + just, + pkg-config, + makeBinaryWrapper, + libxkbcommon, + wayland, + appstream-glib, + desktop-file-utils, + intltool, }: rustPlatform.buildRustPackage rec { @@ -26,8 +27,18 @@ rustPlatform.buildRustPackage rec { useFetchCargoVendor = true; cargoHash = "sha256-bHJUsXHnPH6aV2vTQv1Cdx+p4/Pplg6HMguw5BK9qJ8="; - nativeBuildInputs = [ just pkg-config makeBinaryWrapper ]; - buildInputs = [ libxkbcommon wayland appstream-glib desktop-file-utils intltool ]; + nativeBuildInputs = [ + just + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + libxkbcommon + wayland + appstream-glib + desktop-file-utils + intltool + ]; dontUseJustBuild = true; @@ -46,7 +57,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/cosmic-launcher \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [wayland]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" ''; RUSTFLAGS = "--cfg tokio_unstable"; diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index 3a4db2e74269b..c27427c89c782 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, just -, which -, pkg-config -, makeBinaryWrapper -, libxkbcommon -, wayland -, appstream-glib -, desktop-file-utils -, intltool +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + just, + which, + pkg-config, + makeBinaryWrapper, + libxkbcommon, + wayland, + appstream-glib, + desktop-file-utils, + intltool, }: rustPlatform.buildRustPackage rec { @@ -31,8 +32,19 @@ rustPlatform.buildRustPackage rec { substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" ''; - nativeBuildInputs = [ just which pkg-config makeBinaryWrapper ]; - buildInputs = [ libxkbcommon wayland appstream-glib desktop-file-utils intltool ]; + nativeBuildInputs = [ + just + which + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + libxkbcommon + wayland + appstream-glib + desktop-file-utils + intltool + ]; dontUseJustBuild = true; @@ -47,7 +59,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/cosmic-notifications \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [wayland]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}" ''; meta = with lib; { diff --git a/pkgs/by-name/co/cosmic-osd/package.nix b/pkgs/by-name/co/cosmic-osd/package.nix index a3cf2b700d3fc..005826ba40b6b 100644 --- a/pkgs/by-name/co/cosmic-osd/package.nix +++ b/pkgs/by-name/co/cosmic-osd/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, libxkbcommon -, pulseaudio -, udev -, wayland +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + libxkbcommon, + pulseaudio, + udev, + wayland, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,12 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Db1a1FusUdO7rQb0jfznaFNaJjdS9XSDGCMuzV1D79A="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxkbcommon pulseaudio wayland udev ]; + buildInputs = [ + libxkbcommon + pulseaudio + wayland + udev + ]; env.POLKIT_AGENT_HELPER_1 = "/run/wrappers/bin/polkit-agent-helper-1"; diff --git a/pkgs/by-name/co/cosmic-panel/package.nix b/pkgs/by-name/co/cosmic-panel/package.nix index 1ec02b9a3f8a2..f7502bca95a21 100644 --- a/pkgs/by-name/co/cosmic-panel/package.nix +++ b/pkgs/by-name/co/cosmic-panel/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, just -, pkg-config -, rust -, rustPlatform -, libglvnd -, libxkbcommon -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + just, + pkg-config, + rust, + rustPlatform, + libglvnd, + libxkbcommon, + wayland, }: rustPlatform.buildRustPackage { @@ -24,30 +25,45 @@ rustPlatform.buildRustPackage { useFetchCargoVendor = true; cargoHash = "sha256-1XtW72KPdRM5gHIM3Fw2PZCobBXYDMAqjZ//Ebr51tc="; - nativeBuildInputs = [ just pkg-config ]; - buildInputs = [ libglvnd libxkbcommon wayland ]; + nativeBuildInputs = [ + just + pkg-config + ]; + buildInputs = [ + libglvnd + libxkbcommon + wayland + ]; dontUseJustBuild = true; justFlags = [ - "--set" "prefix" (placeholder "out") - "--set" "bin-src" "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-panel" + "--set" + "prefix" + (placeholder "out") + "--set" + "bin-src" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-panel" ]; # Force linking to libEGL, which is always dlopen()ed. "CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = - map (a: "-C link-arg=${a}") [ - "-Wl,--push-state,--no-as-needed" - "-lEGL" - "-Wl,--pop-state" - ]; + map (a: "-C link-arg=${a}") + [ + "-Wl,--push-state,--no-as-needed" + "-lEGL" + "-Wl,--pop-state" + ]; meta = with lib; { homepage = "https://github.com/pop-os/cosmic-panel"; description = "Panel for the COSMIC Desktop Environment"; mainProgram = "cosmic-panel"; license = licenses.gpl3Only; - maintainers = with maintainers; [ qyliss nyabinary ]; + maintainers = with maintainers; [ + qyliss + nyabinary + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/cosmic-protocols/package.nix b/pkgs/by-name/co/cosmic-protocols/package.nix index f4ba351d5c456..ab312107546a0 100644 --- a/pkgs/by-name/co/cosmic-protocols/package.nix +++ b/pkgs/by-name/co/cosmic-protocols/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, stdenv -, wayland-scanner +{ + lib, + fetchFromGitHub, + stdenv, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -21,7 +22,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/pop-os/cosmic-protocols"; description = "Additional wayland-protocols used by the COSMIC desktop environment"; - license = [ licenses.mit licenses.gpl3Only ]; + license = [ + licenses.mit + licenses.gpl3Only + ]; maintainers = with maintainers; [ nyabinary ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index db4fe5df9524a..d898ae8733fd1 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, just -, pkg-config -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + just, + pkg-config, + wayland, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { useFetchCargoVendor = true; cargoHash = "sha256-S5zvh/pJA3JMwQ3K5RPPHuHKLQA9g1Ae7NLWgy9b5FA="; - nativeBuildInputs = [ just pkg-config ]; + nativeBuildInputs = [ + just + pkg-config + ]; buildInputs = [ wayland ]; dontUseJustBuild = true; diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index 0319585a0449e..fb6a4218ada14 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, just -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + just, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-fzIVyxzNknEjGJoR9sgXkY+gyuTC0T4Sy513X8umbWA="; - nativeBuildInputs = [ just pkg-config ]; + nativeBuildInputs = [ + just + pkg-config + ]; dontUseJustBuild = true; diff --git a/pkgs/by-name/co/cosmic-settings/package.nix b/pkgs/by-name/co/cosmic-settings/package.nix index 25803cca9b8b9..05d77af668b84 100644 --- a/pkgs/by-name/co/cosmic-settings/package.nix +++ b/pkgs/by-name/co/cosmic-settings/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cmake -, makeBinaryWrapper -, cosmic-icons -, cosmic-randr -, just -, pkg-config -, libxkbcommon -, libinput -, fontconfig -, freetype -, wayland -, expat -, udev -, util-linux +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cmake, + makeBinaryWrapper, + cosmic-icons, + cosmic-randr, + just, + pkg-config, + libxkbcommon, + libinput, + fontconfig, + freetype, + wayland, + expat, + udev, + util-linux, }: rustPlatform.buildRustPackage rec { @@ -36,8 +37,22 @@ rustPlatform.buildRustPackage rec { substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)" ''; - nativeBuildInputs = [ cmake just pkg-config makeBinaryWrapper ]; - buildInputs = [ libxkbcommon libinput fontconfig freetype wayland expat udev util-linux ]; + nativeBuildInputs = [ + cmake + just + pkg-config + makeBinaryWrapper + ]; + buildInputs = [ + libxkbcommon + libinput + fontconfig + freetype + wayland + expat + udev + util-linux + ]; dontUseJustBuild = true; diff --git a/pkgs/by-name/co/cosmic-store/package.nix b/pkgs/by-name/co/cosmic-store/package.nix index e513de50d1ca9..a5e1d0ed5d9dc 100644 --- a/pkgs/by-name/co/cosmic-store/package.nix +++ b/pkgs/by-name/co/cosmic-store/package.nix @@ -1,7 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, appstream, makeBinaryWrapper -, cosmic-icons, glib, just, pkg-config, libglvnd, libxkbcommon, libinput -, fontconfig, flatpak, freetype, openssl, wayland, xorg, vulkan-loader -, vulkan-validation-layers, }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + appstream, + makeBinaryWrapper, + cosmic-icons, + glib, + just, + pkg-config, + libglvnd, + libxkbcommon, + libinput, + fontconfig, + flatpak, + freetype, + openssl, + wayland, + xorg, + vulkan-loader, + vulkan-validation-layers, +}: rustPlatform.buildRustPackage rec { pname = "cosmic-store"; @@ -22,7 +41,11 @@ rustPlatform.buildRustPackage rec { substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)" ''; - nativeBuildInputs = [ just pkg-config makeBinaryWrapper ]; + nativeBuildInputs = [ + just + pkg-config + makeBinaryWrapper + ]; buildInputs = [ appstream glib @@ -80,7 +103,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/pop-os/cosmic-store"; description = "App Store for the COSMIC Desktop Environment"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ahoneybun nyabinary ]; + maintainers = with maintainers; [ + ahoneybun + nyabinary + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/cosmic-term/package.nix b/pkgs/by-name/co/cosmic-term/package.nix index e44230a90c843..d4c18e6a96880 100644 --- a/pkgs/by-name/co/cosmic-term/package.nix +++ b/pkgs/by-name/co/cosmic-term/package.nix @@ -1,19 +1,20 @@ -{ lib -, cosmic-icons -, fetchFromGitHub -, fontconfig -, freetype -, just -, libglvnd -, libinput -, libxkbcommon -, makeBinaryWrapper -, pkg-config -, rustPlatform -, stdenv -, vulkan-loader -, wayland -, xorg +{ + lib, + cosmic-icons, + fetchFromGitHub, + fontconfig, + freetype, + just, + libglvnd, + libinput, + libxkbcommon, + makeBinaryWrapper, + pkg-config, + rustPlatform, + stdenv, + vulkan-loader, + wayland, + xorg, }: rustPlatform.buildRustPackage rec { @@ -81,20 +82,25 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/cosmic-term" \ --suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ - libxkbcommon - vulkan-loader - xorg.libX11 - xorg.libXcursor - xorg.libXi - ]} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libxkbcommon + vulkan-loader + xorg.libX11 + xorg.libXcursor + xorg.libXi + ] + } ''; meta = with lib; { homepage = "https://github.com/pop-os/cosmic-term"; description = "Terminal for the COSMIC Desktop Environment"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ahoneybun nyabinary ]; + maintainers = with maintainers; [ + ahoneybun + nyabinary + ]; platforms = platforms.linux; mainProgram = "cosmic-term"; }; diff --git a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix index 7e7e53306a41e..c8566601240e3 100644 --- a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix +++ b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libxkbcommon -, libinput -, libglvnd -, mesa -, udev -, wayland +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libxkbcommon, + libinput, + libglvnd, + mesa, + udev, + wayland, }: rustPlatform.buildRustPackage rec { @@ -27,7 +28,14 @@ rustPlatform.buildRustPackage rec { separateDebugInfo = true; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxkbcommon libinput libglvnd mesa udev wayland ]; + buildInputs = [ + libxkbcommon + libinput + libglvnd + mesa + udev + wayland + ]; postInstall = '' mkdir -p $out/share/{applications,icons/hicolor/scalable/apps} diff --git a/pkgs/by-name/co/cosmopolitan/cosmocc.nix b/pkgs/by-name/co/cosmopolitan/cosmocc.nix index fb3ca66025a5e..ee882d6914832 100644 --- a/pkgs/by-name/co/cosmopolitan/cosmocc.nix +++ b/pkgs/by-name/co/cosmopolitan/cosmocc.nix @@ -1,22 +1,24 @@ { runCommand, cosmopolitan }: let - cosmocc = runCommand "cosmocc-${cosmopolitan.version}" - { - pname = "cosmocc"; - inherit (cosmopolitan) version; + cosmocc = + runCommand "cosmocc-${cosmopolitan.version}" + { + pname = "cosmocc"; + inherit (cosmopolitan) version; - passthru.tests = { - cc = runCommand "c-test" { } '' - ${cosmocc}/bin/cosmocc ${./hello.c} - ./a.out > $out - ''; - }; + passthru.tests = { + cc = runCommand "c-test" { } '' + ${cosmocc}/bin/cosmocc ${./hello.c} + ./a.out > $out + ''; + }; - meta = cosmopolitan.meta // { - description = "compilers for Cosmopolitan C/C++ programs"; - }; - } '' + meta = cosmopolitan.meta // { + description = "compilers for Cosmopolitan C/C++ programs"; + }; + } + '' mkdir -p $out/bin install ${cosmopolitan.dist}/tool/scripts/{cosmocc,cosmoc++} $out/bin sed 's|/opt/cosmo\([ /]\)|${cosmopolitan.dist}\1|g' -i $out/bin/* diff --git a/pkgs/by-name/co/cosmopolitan/package.nix b/pkgs/by-name/co/cosmopolitan/package.nix index defc3efb8d13d..f38c2778ba4e6 100644 --- a/pkgs/by-name/co/cosmopolitan/package.nix +++ b/pkgs/by-name/co/cosmopolitan/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, bintools-unwrapped -, callPackage -, coreutils -, substituteAll -, unzip +{ + lib, + stdenv, + fetchFromGitHub, + bintools-unwrapped, + callPackage, + coreutils, + substituteAll, + unzip, }: stdenv.mkDerivation (finalAttrs: { @@ -34,7 +35,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - outputs = [ "out" "dist" ]; + outputs = [ + "out" + "dist" + ]; # slashes are significant because upstream uses o/$(MODE)/foo.o buildFlags = [ @@ -53,16 +57,18 @@ stdenv.mkDerivation (finalAttrs: { dontConfigure = true; dontFixup = true; - preCheck = let - failingTests = [ - # some syscall tests fail because we're in a sandbox - "test/libc/calls/sched_setscheduler_test.c" - "test/libc/thread/pthread_create_test.c" - "test/libc/calls/getgroups_test.c" - # fails - "test/libc/stdio/posix_spawn_test.c" - ]; - in lib.concatStringsSep ";\n" (map (t: "rm -v ${t}") failingTests); + preCheck = + let + failingTests = [ + # some syscall tests fail because we're in a sandbox + "test/libc/calls/sched_setscheduler_test.c" + "test/libc/thread/pthread_create_test.c" + "test/libc/calls/getgroups_test.c" + # fails + "test/libc/stdio/posix_spawn_test.c" + ]; + in + lib.concatStringsSep ";\n" (map (t: "rm -v ${t}") failingTests); installPhase = '' runHook preInstall diff --git a/pkgs/by-name/co/costa/package.nix b/pkgs/by-name/co/costa/package.nix index fcc644edadf43..30c3c94a32025 100644 --- a/pkgs/by-name/co/costa/package.nix +++ b/pkgs/by-name/co/costa/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, mpi -, scalapack -, llvmPackages +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + mpi, + scalapack, + llvmPackages, }: stdenv.mkDerivation rec { @@ -29,7 +30,6 @@ stdenv.mkDerivation rec { "-DSCALAPACK_ROOT=${scalapack}" ]; - meta = with lib; { description = "Distributed Communication-Optimal Shuffle and Transpose Algorithm"; homepage = "https://github.com/eth-cscs/COSTA"; diff --git a/pkgs/by-name/co/cotp/package.nix b/pkgs/by-name/co/cotp/package.nix index e7880a90412f1..fb625cf570a78 100644 --- a/pkgs/by-name/co/cotp/package.nix +++ b/pkgs/by-name/co/cotp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, libxcb +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + libxcb, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/co/coturn/package.nix b/pkgs/by-name/co/coturn/package.nix index 4014d566068e1..73a014a358a01 100644 --- a/pkgs/by-name/co/coturn/package.nix +++ b/pkgs/by-name/co/coturn/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl -, libevent -, pkg-config -, libprom -, libpromhttp -, libmicrohttpd -, sqlite -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + libevent, + pkg-config, + libprom, + libpromhttp, + libmicrohttpd, + sqlite, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/co/courier-prime/package.nix b/pkgs/by-name/co/courier-prime/package.nix index 1226966d5e6cd..7558ad3dadff4 100644 --- a/pkgs/by-name/co/courier-prime/package.nix +++ b/pkgs/by-name/co/courier-prime/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "courier-prime"; diff --git a/pkgs/by-name/co/coursier/package.nix b/pkgs/by-name/co/coursier/package.nix index 775db4796cbd1..37bf0f40d9a3b 100644 --- a/pkgs/by-name/co/coursier/package.nix +++ b/pkgs/by-name/co/coursier/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre, writeScript, common-updater-scripts -, coreutils, git, gnused, nix, zlib }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, + writeScript, + common-updater-scripts, + coreutils, + git, + gnused, + nix, + zlib, +}: let libPath = lib.makeLibraryPath [ @@ -34,7 +46,15 @@ stdenv.mkDerivation rec { passthru.updateScript = writeScript "update.sh" '' #!${stdenv.shell} set -o errexit - PATH=${lib.makeBinPath [ common-updater-scripts coreutils git gnused nix ]} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + git + gnused + nix + ] + } oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')" latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags https://github.com/coursier/coursier.git 'v*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')" if [ "$oldVersion" != "$latestTag" ]; then @@ -51,7 +71,10 @@ stdenv.mkDerivation rec { description = "Scala library to fetch dependencies from Maven / Ivy repositories"; mainProgram = "cs"; license = licenses.asl20; - maintainers = with maintainers; [ adelbertc nequissimus ]; + maintainers = with maintainers; [ + adelbertc + nequissimus + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/co/cov-build/package.nix b/pkgs/by-name/co/cov-build/package.nix index 61c8dda2e6da6..46c79b66f898f 100644 --- a/pkgs/by-name/co/cov-build/package.nix +++ b/pkgs/by-name/co/cov-build/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, -, autoPatchelfHook + autoPatchelfHook, -, alsa-lib -, libxcrypt-legacy -, lttng-ust_2_12 -, xorg -, zlib + alsa-lib, + libxcrypt-legacy, + lttng-ust_2_12, + xorg, + zlib, }: stdenv.mkDerivation rec { @@ -16,17 +17,18 @@ stdenv.mkDerivation rec { version = "2022.12.2"; src = - if stdenv.hostPlatform.system == "i686-linux" - then fetchurl { - url = "https://archive.org/download/cov-analysis-linux-${version}.tar/cov-analysis-linux-${version}.tar.gz"; - hash = "sha256-Jr9bMUo9GRp+dgoAPqKxaTqWYWh4djGArdG9ukUK+ZY="; - } - else if stdenv.hostPlatform.system == "x86_64-linux" - then fetchurl { - url = "https://archive.org/download/cov-analysis-linux64-${version}.tar/cov-analysis-linux64-${version}.tar.gz"; - hash = "sha256-CyNKILJXlDMOCXbZZF4r/knz0orRx32oSj+Kpq/nxXQ="; - } - else throw "Unsupported platform '${stdenv.hostPlatform.system}'"; + if stdenv.hostPlatform.system == "i686-linux" then + fetchurl { + url = "https://archive.org/download/cov-analysis-linux-${version}.tar/cov-analysis-linux-${version}.tar.gz"; + hash = "sha256-Jr9bMUo9GRp+dgoAPqKxaTqWYWh4djGArdG9ukUK+ZY="; + } + else if stdenv.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "https://archive.org/download/cov-analysis-linux64-${version}.tar/cov-analysis-linux64-${version}.tar.gz"; + hash = "sha256-CyNKILJXlDMOCXbZZF4r/knz0orRx32oSj+Kpq/nxXQ="; + } + else + throw "Unsupported platform '${stdenv.hostPlatform.system}'"; nativeBuildInputs = [ autoPatchelfHook ]; @@ -61,9 +63,9 @@ stdenv.mkDerivation rec { meta = { description = "Coverity Scan build tools"; - homepage = "https://scan.coverity.com"; - license = lib.licenses.unfreeRedistributable; - platforms = lib.platforms.linux; + homepage = "https://scan.coverity.com"; + license = lib.licenses.unfreeRedistributable; + platforms = lib.platforms.linux; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/co/cowpatty/package.nix b/pkgs/by-name/co/cowpatty/package.nix index 2c6e0cfa414f7..4599339409aae 100644 --- a/pkgs/by-name/co/cowpatty/package.nix +++ b/pkgs/by-name/co/cowpatty/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, clang -, fetchFromGitHub -, fetchpatch -, installShellFiles -, openssl -, libpcap +{ + lib, + stdenv, + clang, + fetchFromGitHub, + fetchpatch, + installShellFiles, + openssl, + libpcap, }: stdenv.mkDerivation rec { @@ -55,7 +56,10 @@ stdenv.mkDerivation rec { description = "Offline dictionary attack against WPA/WPA2 networks"; homepage = "https://github.com/joswr1ght/cowpatty"; license = licenses.bsd3; - maintainers = with maintainers; [ nico202 fab ]; + maintainers = with maintainers; [ + nico202 + fab + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/co/coze/package.nix b/pkgs/by-name/co/coze/package.nix index ca7b8f3d1d7e4..2149283645f63 100644 --- a/pkgs/by-name/co/coze/package.nix +++ b/pkgs/by-name/co/coze/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "coze"; diff --git a/pkgs/by-name/co/cozette/package.nix b/pkgs/by-name/co/cozette/package.nix index a198a9c63b0d6..38ac3c054cf5b 100644 --- a/pkgs/by-name/co/cozette/package.nix +++ b/pkgs/by-name/co/cozette/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "cozette"; version = "1.25.2"; src = fetchzip { - url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${builtins.replaceStrings ["."] ["-"] version}.zip"; + url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${ + builtins.replaceStrings [ "." ] [ "-" ] version + }.zip"; hash = "sha256-LtZHbsma9EuegS349gQo4W+ZT8x+Vb3CD/5vRKjwkzc="; }; diff --git a/pkgs/by-name/co/cozy-drive/package.nix b/pkgs/by-name/co/cozy-drive/package.nix index b9e44ebbab771..732356fdf543f 100644 --- a/pkgs/by-name/co/cozy-drive/package.nix +++ b/pkgs/by-name/co/cozy-drive/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, appimageTools +{ + lib, + fetchurl, + appimageTools, }: let diff --git a/pkgs/by-name/co/cozy/package.nix b/pkgs/by-name/co/cozy/package.nix index 22ebd11c77253..d0182f75792ad 100644 --- a/pkgs/by-name/co/cozy/package.nix +++ b/pkgs/by-name/co/cozy/package.nix @@ -1,15 +1,16 @@ -{ lib -, python3Packages -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils -, gobject-introspection -, libadwaita -, gst_all_1 +{ + lib, + python3Packages, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, + gobject-introspection, + libadwaita, + gst_all_1, }: python3Packages.buildPythonApplication rec { @@ -42,15 +43,17 @@ python3Packages.buildPythonApplication rec { gobject-introspection ]; - buildInputs = [ - libadwaita - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-good - gst-plugins-ugly - gst-plugins-base - gst-plugins-bad - ]); + buildInputs = + [ + libadwaita + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-good + gst-plugins-ugly + gst-plugins-base + gst-plugins-bad + ]); propagatedBuildInputs = with python3Packages; [ distro @@ -74,7 +77,10 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Modern audio book player for Linux"; homepage = "https://cozy.geigi.de/"; - maintainers = with maintainers; [ makefu aleksana ]; + maintainers = with maintainers; [ + makefu + aleksana + ]; license = licenses.gpl3Plus; mainProgram = "com.github.geigi.cozy"; platforms = platforms.linux; diff --git a/pkgs/by-name/cp/cp210x-program/package.nix b/pkgs/by-name/cp/cp210x-program/package.nix index 50c6daab1bfae..908b92c7cb339 100644 --- a/pkgs/by-name/cp/cp210x-program/package.nix +++ b/pkgs/by-name/cp/cp210x-program/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cp/cp2k/package.nix b/pkgs/by-name/cp/cp2k/package.nix index 646e9d5aba780..47568f174da64 100644 --- a/pkgs/by-name/cp/cp2k/package.nix +++ b/pkgs/by-name/cp/cp2k/package.nix @@ -180,9 +180,9 @@ stdenv.mkDerivation rec { gpuBackend == "cuda" ) "-D__OFFLOAD_CUDA -D__ACC -D__DBCSR_ACC -D__NO_OFFLOAD_PW" } \ - ${ - lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW" - } + ${lib.strings.optionalString ( + gpuBackend == "rocm" + ) "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} CFLAGS = -fopenmp FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \ -ftree-vectorize -funroll-loops -msse2 \ @@ -211,9 +211,9 @@ stdenv.mkDerivation rec { -lcudart -lnvrtc -lcuda -lcublas '' } \ - ${ - lib.strings.optionalString (gpuBackend == "rocm") "-lamdhip64 -lhipfft -lhipblas -lrocblas" - } + ${lib.strings.optionalString ( + gpuBackend == "rocm" + ) "-lamdhip64 -lhipfft -lhipblas -lrocblas"} LDFLAGS = \$(FCFLAGS) \$(LIBS) include ${plumed}/lib/plumed/src/lib/Plumed.inc EOF diff --git a/pkgs/by-name/cp/cp437/package.nix b/pkgs/by-name/cp/cp437/package.nix index cb4b1b8508cb9..e5cae69edd0ee 100644 --- a/pkgs/by-name/cp/cp437/package.nix +++ b/pkgs/by-name/cp/cp437/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "cp437"; @@ -6,8 +10,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "keaston"; - repo = "cp437"; - rev = "v${version}"; + repo = "cp437"; + rev = "v${version}"; sha256 = "18f4mnfnyviqclbhmbhix80k823481ypkwbp26qfvhnxdgzbggcc"; }; diff --git a/pkgs/by-name/cp/cpcfs/package.nix b/pkgs/by-name/cp/cpcfs/package.nix index 654a889614406..b726e17a1f66d 100644 --- a/pkgs/by-name/cp/cpcfs/package.nix +++ b/pkgs/by-name/cp/cpcfs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, ncurses, readline, ronn }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + ncurses, + readline, + ronn, +}: stdenv.mkDerivation rec { @@ -14,7 +22,12 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - nativeBuildInputs = [ makeWrapper ncurses readline ronn ]; + nativeBuildInputs = [ + makeWrapper + ncurses + readline + ronn + ]; env.NIX_CFLAGS_COMPILE = "-std=gnu89"; @@ -36,7 +49,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Manipulating CPC dsk images and files"; mainProgram = "cpcfs"; - homepage = "https://github.com/derikz/cpcfs/" ; + homepage = "https://github.com/derikz/cpcfs/"; license = licenses.bsd2; maintainers = [ ]; platforms = platforms.all; diff --git a/pkgs/by-name/cp/cpio/package.nix b/pkgs/by-name/cp/cpio/package.nix index ba178fb3eb7e3..879b52a98c7d5 100644 --- a/pkgs/by-name/cp/cpio/package.nix +++ b/pkgs/by-name/cp/cpio/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook - -# for passthru.tests -, git -, libguestfs -, nixosTests -, rpm +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + + # for passthru.tests + git, + libguestfs, + nixosTests, + rpm, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cp/cplay-ng/package.nix b/pkgs/by-name/cp/cplay-ng/package.nix index f5eca18966722..82b331616607e 100644 --- a/pkgs/by-name/cp/cplay-ng/package.nix +++ b/pkgs/by-name/cp/cplay-ng/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchFromGitHub -, makeWrapper -, mpv -, pulseaudio +{ + lib, + python3, + fetchFromGitHub, + makeWrapper, + mpv, + pulseaudio, }: python3.pkgs.buildPythonApplication rec { @@ -29,7 +30,12 @@ python3.pkgs.buildPythonApplication rec { postInstall = '' wrapProgram $out/bin/cplay-ng \ - --prefix PATH : ${lib.makeBinPath [ mpv pulseaudio ]} + --prefix PATH : ${ + lib.makeBinPath [ + mpv + pulseaudio + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/cp/cpp-hocon/package.nix b/pkgs/by-name/cp/cpp-hocon/package.nix index 0b34bd05c7dc5..7d6a65aa61c90 100644 --- a/pkgs/by-name/cp/cpp-hocon/package.nix +++ b/pkgs/by-name/cp/cpp-hocon/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, curl, leatherman }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + curl, + leatherman, +}: stdenv.mkDerivation rec { pname = "cpp-hocon"; @@ -19,7 +27,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost curl leatherman ]; + buildInputs = [ + boost + curl + leatherman + ]; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/by-name/cp/cpp-ipfs-http-client/package.nix b/pkgs/by-name/cp/cpp-ipfs-http-client/package.nix index d44eed5e76f0f..322f911d30267 100644 --- a/pkgs/by-name/cp/cpp-ipfs-http-client/package.nix +++ b/pkgs/by-name/cp/cpp-ipfs-http-client/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, curl, cmake, nlohmann_json }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + cmake, + nlohmann_json, +}: stdenv.mkDerivation { pname = "cpp-ipfs-http-client"; @@ -32,6 +39,9 @@ stdenv.mkDerivation { description = "IPFS C++ API client library"; homepage = "https://github.com/vasild/cpp-ipfs-http-client"; license = licenses.mit; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/by-name/cp/cpp-jwt/package.nix b/pkgs/by-name/cp/cpp-jwt/package.nix index a9295629bf20c..692dc73502006 100644 --- a/pkgs/by-name/cp/cpp-jwt/package.nix +++ b/pkgs/by-name/cp/cpp-jwt/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl, gtest, nlohmann_json }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + gtest, + nlohmann_json, +}: stdenv.mkDerivation rec { pname = "cpp-jwt"; @@ -21,7 +29,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ gtest openssl nlohmann_json ]; + buildInputs = [ + gtest + openssl + nlohmann_json + ]; doCheck = true; diff --git a/pkgs/by-name/cp/cpp-netlib/package.nix b/pkgs/by-name/cp/cpp-netlib/package.nix index af57944a453d6..f70795a462bfb 100644 --- a/pkgs/by-name/cp/cpp-netlib/package.nix +++ b/pkgs/by-name/cp/cpp-netlib/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + openssl, +}: stdenv.mkDerivation rec { pname = "cpp-netlib"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost openssl ]; + buildInputs = [ + boost + openssl + ]; cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" @@ -27,8 +37,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Collection of open-source libraries for high level network programming"; - homepage = "https://cpp-netlib.org"; - license = licenses.boost; - platforms = platforms.all; + homepage = "https://cpp-netlib.org"; + license = licenses.boost; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/cp/cpp-utilities/package.nix b/pkgs/by-name/cp/cpp-utilities/package.nix index fc4cea2f40f46..12c67d70e1464 100644 --- a/pkgs/by-name/cp/cpp-utilities/package.nix +++ b/pkgs/by-name/cp/cpp-utilities/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, cppunit -, libiconv +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + cppunit, + libiconv, }: stdenv.mkDerivation (finalAttrs: { @@ -23,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { libiconv # needed on Darwin, see https://github.com/Martchus/cpp-utilities/issues/4 ]; - cmakeFlags = ["-DBUILD_SHARED_LIBS=ON"]; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; # Otherwise, tests fail since the resulting shared object libc++utilities.so is only available in PWD of the make files preCheck = '' diff --git a/pkgs/by-name/cp/cppclean/package.nix b/pkgs/by-name/cp/cppclean/package.nix index d48e21fffb5da..c260929b2d9ef 100644 --- a/pkgs/by-name/cp/cppclean/package.nix +++ b/pkgs/by-name/cp/cppclean/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: with python3Packages; @@ -7,26 +11,26 @@ buildPythonApplication rec { version = "0.13"; src = fetchFromGitHub { - owner = "myint"; - repo = "cppclean"; - rev = "v${version}"; + owner = "myint"; + repo = "cppclean"; + rev = "v${version}"; sha256 = "081bw7kkl7mh3vwyrmdfrk3fgq8k5laacx7hz8fjpchrvdrkqph0"; }; postUnpack = '' patchShebangs . - ''; + ''; checkPhase = '' ./test.bash - ''; + ''; meta = with lib; { description = "Finds problems in C++ source that slow development of large code bases"; mainProgram = "cppclean"; - homepage = "https://github.com/myint/cppclean"; - license = licenses.asl20; + homepage = "https://github.com/myint/cppclean"; + license = licenses.asl20; maintainers = with maintainers; [ nthorne ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/cp/cppcms/package.nix b/pkgs/by-name/cp/cppcms/package.nix index 86aa687aaa71e..d9c59640ba5d5 100644 --- a/pkgs/by-name/cp/cppcms/package.nix +++ b/pkgs/by-name/cp/cppcms/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cmake, pcre, zlib, python3, openssl }: +{ + lib, + stdenv, + fetchurl, + cmake, + pcre, + zlib, + python3, + openssl, +}: stdenv.mkDerivation rec { pname = "cppcms"; @@ -9,8 +18,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-aXAxx9FB/dIVxr5QkLZuIQamO7PlLwnugSDo78bAiiE="; }; - nativeBuildInputs = [ cmake python3 ]; - buildInputs = [ pcre zlib openssl ]; + nativeBuildInputs = [ + cmake + python3 + ]; + buildInputs = [ + pcre + zlib + openssl + ]; strictDeps = true; diff --git a/pkgs/by-name/cp/cppcodec/package.nix b/pkgs/by-name/cp/cppcodec/package.nix index 99a8eda1477c6..0f08e3ee636da 100644 --- a/pkgs/by-name/cp/cppcodec/package.nix +++ b/pkgs/by-name/cp/cppcodec/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -26,6 +27,9 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/tplgy/cppcodec"; license = licenses.mit; - maintainers = with maintainers; [ panicgh raitobezarius ]; + maintainers = with maintainers; [ + panicgh + raitobezarius + ]; }; }) diff --git a/pkgs/by-name/cp/cppdb/package.nix b/pkgs/by-name/cp/cppdb/package.nix index b71a6c0730310..0e92f0f2df815 100644 --- a/pkgs/by-name/cp/cppdb/package.nix +++ b/pkgs/by-name/cp/cppdb/package.nix @@ -1,16 +1,30 @@ -{ lib, stdenv, fetchurl, cmake, sqlite, libmysqlclient, postgresql, unixODBC }: +{ + lib, + stdenv, + fetchurl, + cmake, + sqlite, + libmysqlclient, + postgresql, + unixODBC, +}: stdenv.mkDerivation rec { pname = "cppdb"; version = "0.3.1"; src = fetchurl { - url = "mirror://sourceforge/cppcms/${pname}-${version}.tar.bz2"; - sha256 = "0blr1casmxickic84dxzfmn3lm7wrsl4aa2abvpq93rdfddfy3nn"; + url = "mirror://sourceforge/cppcms/${pname}-${version}.tar.bz2"; + sha256 = "0blr1casmxickic84dxzfmn3lm7wrsl4aa2abvpq93rdfddfy3nn"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ sqlite libmysqlclient postgresql unixODBC ]; + buildInputs = [ + sqlite + libmysqlclient + postgresql + unixODBC + ]; cmakeFlags = [ "--no-warn-unused-cli" ]; env.NIX_CFLAGS_COMPILE = "-I${libmysqlclient}/include/mysql -L${libmysqlclient}/lib/mysql"; @@ -18,7 +32,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://cppcms.com/sql/cppdb/"; description = "C++ Connectivity library that supports MySQL, PostgreSQL, Sqlite3 databases and generic ODBC drivers"; - platforms = platforms.linux ; + platforms = platforms.linux; license = licenses.boost; maintainers = [ maintainers.juliendehos ]; }; diff --git a/pkgs/by-name/cp/cppe/package.nix b/pkgs/by-name/cp/cppe/package.nix index 9781ce7806605..a976ee843e77f 100644 --- a/pkgs/by-name/cp/cppe/package.nix +++ b/pkgs/by-name/cp/cppe/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, cmake, llvmPackages }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + llvmPackages, +}: stdenv.mkDerivation rec { pname = "cppe"; @@ -11,8 +17,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-guM7+ZWDJLcAUJtPkKLvC4LYSA2eBvER7cgwPZ7FxHw="; }; - nativeBuildInputs = [ cmake ] - ++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ]; + nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ]; cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; diff --git a/pkgs/by-name/cp/cppi/package.nix b/pkgs/by-name/cp/cppi/package.nix index 13d4595798263..df2c073d0589a 100644 --- a/pkgs/by-name/cp/cppi/package.nix +++ b/pkgs/by-name/cp/cppi/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "cppi"; diff --git a/pkgs/by-name/cp/cppreference-doc/package.nix b/pkgs/by-name/cp/cppreference-doc/package.nix index c2ec04efaaab5..33827e12132e1 100644 --- a/pkgs/by-name/cp/cppreference-doc/package.nix +++ b/pkgs/by-name/cp/cppreference-doc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "cppreference-doc"; diff --git a/pkgs/by-name/cp/cpptest/package.nix b/pkgs/by-name/cp/cpptest/package.nix index a3558e0ef4937..77045357c1a29 100644 --- a/pkgs/by-name/cp/cpptest/package.nix +++ b/pkgs/by-name/cp/cpptest/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cpptest"; diff --git a/pkgs/by-name/cp/cpptoml/package.nix b/pkgs/by-name/cp/cpptoml/package.nix index 421f67b8260a5..1dac726cc7b5a 100644 --- a/pkgs/by-name/cp/cpptoml/package.nix +++ b/pkgs/by-name/cp/cpptoml/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libcxxCmakeModule ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libcxxCmakeModule ? false, +}: stdenv.mkDerivation rec { pname = "cpptoml"; diff --git a/pkgs/by-name/cp/cppunit/package.nix b/pkgs/by-name/cp/cppunit/package.nix index 73c96de4ff245..c131e8f84be97 100644 --- a/pkgs/by-name/cp/cppunit/package.nix +++ b/pkgs/by-name/cp/cppunit/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cppunit"; diff --git a/pkgs/by-name/cp/cpputest/package.nix b/pkgs/by-name/cp/cpputest/package.nix index 39bed60252322..3d272be32fea2 100644 --- a/pkgs/by-name/cp/cpputest/package.nix +++ b/pkgs/by-name/cp/cpputest/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cpputest"; diff --git a/pkgs/by-name/cp/cppzmq/package.nix b/pkgs/by-name/cp/cppzmq/package.nix index eb3f03d57e40c..a100bbdb9bc83 100644 --- a/pkgs/by-name/cp/cppzmq/package.nix +++ b/pkgs/by-name/cp/cppzmq/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zeromq }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zeromq, +}: stdenv.mkDerivation rec { pname = "cppzmq"; diff --git a/pkgs/by-name/cp/cproto/package.nix b/pkgs/by-name/cp/cproto/package.nix index faf0e8e5a4ee4..eb473627c45d4 100644 --- a/pkgs/by-name/cp/cproto/package.nix +++ b/pkgs/by-name/cp/cproto/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, flex, bison }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, +}: stdenv.mkDerivation rec { pname = "cproto"; @@ -16,7 +22,10 @@ stdenv.mkDerivation rec { # patch made by Joe Khoobyar copied from gentoo bugs patches = [ ./cproto.patch ]; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ + flex + bison + ]; doCheck = true; diff --git a/pkgs/by-name/cp/cpu-energy-meter/package.nix b/pkgs/by-name/cp/cpu-energy-meter/package.nix index 7ddbf8f6d283a..42d496badab35 100644 --- a/pkgs/by-name/cp/cpu-energy-meter/package.nix +++ b/pkgs/by-name/cp/cpu-energy-meter/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libcap +{ + lib, + stdenv, + fetchFromGitHub, + libcap, }: stdenv.mkDerivation rec { pname = "cpu-energy-meter"; diff --git a/pkgs/by-name/cp/cpufetch/package.nix b/pkgs/by-name/cp/cpufetch/package.nix index c9a2a1dd7fd85..cc3d961d8149c 100644 --- a/pkgs/by-name/cp/cpufetch/package.nix +++ b/pkgs/by-name/cp/cpufetch/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cp/cpufrequtils/package.nix b/pkgs/by-name/cp/cpufrequtils/package.nix index f62d8463714e7..3acd772bdd3c3 100644 --- a/pkgs/by-name/cp/cpufrequtils/package.nix +++ b/pkgs/by-name/cp/cpufrequtils/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libtool, gettext }: +{ + lib, + stdenv, + fetchurl, + libtool, + gettext, +}: stdenv.mkDerivation rec { pname = "cpufrequtils"; @@ -20,7 +26,11 @@ stdenv.mkDerivation rec { -i Makefile ''; - buildInputs = [ stdenv.cc.libc.linuxHeaders libtool gettext ]; + buildInputs = [ + stdenv.cc.libc.linuxHeaders + libtool + gettext + ]; meta = with lib; { description = "Tools to display or change the CPU governor settings"; diff --git a/pkgs/by-name/cp/cpulimit/package.nix b/pkgs/by-name/cp/cpulimit/package.nix index 4788bc57befe3..3e143ac49887e 100644 --- a/pkgs/by-name/cp/cpulimit/package.nix +++ b/pkgs/by-name/cp/cpulimit/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "cpulimit"; @@ -11,8 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1dz045yhcsw1rdamzpz4bk8mw888in7fyqk1q1b3m1yk4pd1ahkh"; }; - patches = [ ./remove-sys-sysctl.h.patch ./get-missing-basename.patch ]; - + patches = [ + ./remove-sys-sysctl.h.patch + ./get-missing-basename.patch + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/cp/cpuminer/package.nix b/pkgs/by-name/cp/cpuminer/package.nix index 8b9e07762c83d..6f17492b89ccb 100644 --- a/pkgs/by-name/cp/cpuminer/package.nix +++ b/pkgs/by-name/cp/cpuminer/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, curl -, jansson -, perl -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + curl, + jansson, + perl, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -30,7 +31,10 @@ stdenv.mkDerivation rec { postPatch = if stdenv.cc.isClang then "${perl}/bin/perl ./nomacro.pl" else null; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ curl jansson ]; + buildInputs = [ + curl + jansson + ]; configureFlags = [ "CFLAGS=-O3" ]; diff --git a/pkgs/by-name/cp/cpuset/package.nix b/pkgs/by-name/cp/cpuset/package.nix index f6fcf609c0c1e..f9af9b8893b6a 100644 --- a/pkgs/by-name/cp/cpuset/package.nix +++ b/pkgs/by-name/cp/cpuset/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cp/cpustat/package.nix b/pkgs/by-name/cp/cpustat/package.nix index fbf7c1f48fad4..62f5d9d328f04 100644 --- a/pkgs/by-name/cp/cpustat/package.nix +++ b/pkgs/by-name/cp/cpustat/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, ncurses +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, }: stdenv.mkDerivation rec { @@ -10,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "ColinIanKing"; - repo ="cpustat"; + repo = "cpustat"; rev = "refs/tags/V${version}"; hash = "sha256-Rxoj2pnQ/tEUzcsFT1F+rU960b4Th3hqZU2YR6YGwZQ="; }; diff --git a/pkgs/by-name/cq/cq/package.nix b/pkgs/by-name/cq/cq/package.nix index 82fc31a7bbdd3..a993515af3969 100644 --- a/pkgs/by-name/cq/cq/package.nix +++ b/pkgs/by-name/cq/cq/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, fetchurl -, buildGraalvmNativeImage -, graalvmCEPackages +{ + lib, + fetchFromGitHub, + fetchurl, + buildGraalvmNativeImage, + graalvmCEPackages, }: buildGraalvmNativeImage rec { diff --git a/pkgs/by-name/cr/crabz/package.nix b/pkgs/by-name/cr/crabz/package.nix index bbdbdacadc793..245e14ae4397a 100644 --- a/pkgs/by-name/cr/crabz/package.nix +++ b/pkgs/by-name/cr/crabz/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage rec { description = "Cross platform, fast, compression and decompression tool"; homepage = "https://github.com/sstadick/crabz"; changelog = "https://github.com/sstadick/crabz/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ unlicense /* or */ mit ]; + license = with licenses; [ + unlicense # or + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "crabz"; }; diff --git a/pkgs/by-name/cr/crackle/package.nix b/pkgs/by-name/cr/crackle/package.nix index f84d44ca09178..a6099418574ee 100644 --- a/pkgs/by-name/cr/crackle/package.nix +++ b/pkgs/by-name/cr/crackle/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libpcap, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + coreutils, +}: stdenv.mkDerivation { pname = "crackle"; @@ -13,7 +19,11 @@ stdenv.mkDerivation { buildInputs = [ libpcap ]; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" "INSTALL=${coreutils}/bin/install" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + "INSTALL=${coreutils}/bin/install" + ]; meta = with lib; { description = "Crack and decrypt BLE encryption"; diff --git a/pkgs/by-name/cr/cracklib/package.nix b/pkgs/by-name/cr/cracklib/package.nix index bc69141bb9889..76bdad640f0b0 100644 --- a/pkgs/by-name/cr/cracklib/package.nix +++ b/pkgs/by-name/cr/cracklib/package.nix @@ -1,9 +1,20 @@ -let version = "2.10.0"; in -{ stdenv, lib, buildPackages, fetchurl, zlib, gettext, fetchpatch2 -, lists ? [ (fetchurl { - url = "https://github.com/cracklib/cracklib/releases/download/v${version}/cracklib-words-${version}.gz"; - hash = "sha256-JDLo/bSLIijC2DUl+8Q704i2zgw5cxL6t68wvuivPpY="; -}) ] +let + version = "2.10.0"; +in +{ + stdenv, + lib, + buildPackages, + fetchurl, + zlib, + gettext, + fetchpatch2, + lists ? [ + (fetchurl { + url = "https://github.com/cracklib/cracklib/releases/download/v${version}/cracklib-words-${version}.gz"; + hash = "sha256-JDLo/bSLIijC2DUl+8Q704i2zgw5cxL6t68wvuivPpY="; + }) + ], }: stdenv.mkDerivation rec { @@ -25,16 +36,23 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) buildPackages.cracklib; - buildInputs = [ zlib gettext ]; + nativeBuildInputs = lib.optional ( + stdenv.hostPlatform != stdenv.buildPlatform + ) buildPackages.cracklib; + buildInputs = [ + zlib + gettext + ]; - postPatch = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' - chmod +x util/cracklib-format - patchShebangs util + postPatch = + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + chmod +x util/cracklib-format + patchShebangs util - '' + '' - ln -vs ${toString lists} dicts/ - ''; + '' + + '' + ln -vs ${toString lists} dicts/ + ''; postInstall = '' make dict-local @@ -43,10 +61,10 @@ stdenv.mkDerivation rec { installCheckTarget = "test"; meta = with lib; { - homepage = "https://github.com/cracklib/cracklib"; + homepage = "https://github.com/cracklib/cracklib"; description = "Library for checking the strength of passwords"; license = licenses.lgpl21; # Different license for the wordlist: http://www.openwall.com/wordlists maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/cr/crackql/package.nix b/pkgs/by-name/cr/crackql/package.nix index 121ed522afae9..f0292a51c9a5f 100644 --- a/pkgs/by-name/cr/crackql/package.nix +++ b/pkgs/by-name/cr/crackql/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cr/crackxls/package.nix b/pkgs/by-name/cr/crackxls/package.nix index 7ff6de5deff0c..b14153eb44bc5 100644 --- a/pkgs/by-name/cr/crackxls/package.nix +++ b/pkgs/by-name/cr/crackxls/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, autoconf, automake, openssl, libgsf, gmp }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + autoconf, + automake, + openssl, + libgsf, + gmp, +}: stdenv.mkDerivation rec { @@ -22,14 +33,21 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ openssl libgsf gmp ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + openssl + libgsf + gmp + ]; # Avoid "-O5 -march=native" makeFlags = [ "OPTIM_FLAGS=" ]; - installPhase = - '' + installPhase = '' mkdir -p $out/bin cp crackxls2003 $out/bin/ ''; diff --git a/pkgs/by-name/cr/craftos-pc/test-eval-hello-world/default.nix b/pkgs/by-name/cr/craftos-pc/test-eval-hello-world/default.nix index 90b86a16fa723..2c46847246186 100644 --- a/pkgs/by-name/cr/craftos-pc/test-eval-hello-world/default.nix +++ b/pkgs/by-name/cr/craftos-pc/test-eval-hello-world/default.nix @@ -1,12 +1,16 @@ -{ stdenv -, craftos-pc -, gnugrep +{ + stdenv, + craftos-pc, + gnugrep, }: stdenv.mkDerivation { name = "craftos-pc-test-eval-hello-world"; meta.timeout = 60; - nativeBuildInputs = [ craftos-pc gnugrep ]; + nativeBuildInputs = [ + craftos-pc + gnugrep + ]; buildCommand = '' export HOME=$(pwd) mkdir $HOME/.local $HOME/.config diff --git a/pkgs/by-name/cr/craftos-pc/test-eval-periphemu/default.nix b/pkgs/by-name/cr/craftos-pc/test-eval-periphemu/default.nix index af1cca9c27a75..cdeba3e1c2828 100644 --- a/pkgs/by-name/cr/craftos-pc/test-eval-periphemu/default.nix +++ b/pkgs/by-name/cr/craftos-pc/test-eval-periphemu/default.nix @@ -1,11 +1,15 @@ -{ stdenv -, craftos-pc -, gnugrep +{ + stdenv, + craftos-pc, + gnugrep, }: stdenv.mkDerivation { name = "craftos-pc-test-eval-periphemu"; meta.timeout = 60; - nativeBuildInputs = [ craftos-pc gnugrep ]; + nativeBuildInputs = [ + craftos-pc + gnugrep + ]; buildCommand = '' export HOME=$(pwd) mkdir $HOME/.local $HOME/.config diff --git a/pkgs/by-name/cr/cramfsprogs/package.nix b/pkgs/by-name/cr/cramfsprogs/package.nix index bde2686624d3c..f626203c0bfa2 100644 --- a/pkgs/by-name/cr/cramfsprogs/package.nix +++ b/pkgs/by-name/cr/cramfsprogs/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchurl -, zlib +{ + lib, + stdenv, + fetchurl, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cr/cramfsswap/package.nix b/pkgs/by-name/cr/cramfsswap/package.nix index c696df6f00849..922f7323dd3c3 100644 --- a/pkgs/by-name/cr/cramfsswap/package.nix +++ b/pkgs/by-name/cr/cramfsswap/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, zlib}: +{ + lib, + stdenv, + fetchurl, + zlib, +}: stdenv.mkDerivation rec { pname = "cramfsswap"; @@ -16,7 +21,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace 'strip ' '$(STRIP) ' ''; - buildInputs = [zlib]; + buildInputs = [ zlib ]; installPhase = '' install --target $out/bin -D cramfsswap diff --git a/pkgs/by-name/cr/crawley/package.nix b/pkgs/by-name/cr/crawley/package.nix index dd2f1c7a07b89..fa0e0b0fc9fab 100644 --- a/pkgs/by-name/cr/crawley/package.nix +++ b/pkgs/by-name/cr/crawley/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -19,7 +20,10 @@ buildGoModule rec { vendorHash = "sha256-jj8FNZs/bkFQxveOkqmGVO3MNPPv5O9ebodoi7hhzIs="; - ldflags = [ "-w" "-s" ]; + ldflags = [ + "-w" + "-s" + ]; postInstall = '' installShellCompletion --cmd crawley \ diff --git a/pkgs/by-name/cr/crc/package.nix b/pkgs/by-name/cr/crc/package.nix index 18f9b852a2439..f94350a168f69 100644 --- a/pkgs/by-name/cr/crc/package.nix +++ b/pkgs/by-name/cr/crc/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, crc -, coreutils +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + crc, + coreutils, }: let @@ -68,6 +69,10 @@ buildGoModule rec { changelog = "https://github.com/crc-org/crc/releases/tag/v${version}"; license = licenses.asl20; mainProgram = "crc"; - maintainers = with maintainers; [ matthewpi shikanime tricktron ]; + maintainers = with maintainers; [ + matthewpi + shikanime + tricktron + ]; }; } diff --git a/pkgs/by-name/cr/crc32c/package.nix b/pkgs/by-name/cr/crc32c/package.nix index 07da71e326706..e1f5102168579 100644 --- a/pkgs/by-name/cr/crc32c/package.nix +++ b/pkgs/by-name/cr/crc32c/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, gflags -, staticOnly ? stdenv.hostPlatform.isStatic +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gflags, + staticOnly ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cr/crcpp/package.nix b/pkgs/by-name/cr/crcpp/package.nix index 6162d8935be38..89b9d4a7d56c1 100644 --- a/pkgs/by-name/cr/crcpp/package.nix +++ b/pkgs/by-name/cr/crcpp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cr/crd2pulumi/package.nix b/pkgs/by-name/cr/crd2pulumi/package.nix index cfb5acb30107c..f14c9851b715a 100644 --- a/pkgs/by-name/cr/crd2pulumi/package.nix +++ b/pkgs/by-name/cr/crd2pulumi/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "crd2pulumi"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-4L1KfpZ+KICPko74x3STRQFtkcNVU/5KFGhKEJ64+Jk="; - ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" + ]; subPackages = [ "." ]; diff --git a/pkgs/by-name/cr/cre2/package.nix b/pkgs/by-name/cr/cre2/package.nix index d85843a54f7c7..af76bad7020ee 100644 --- a/pkgs/by-name/cr/cre2/package.nix +++ b/pkgs/by-name/cr/cre2/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, - libtool, pkg-config, re2, texinfo }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + pkg-config, + re2, + texinfo, +}: stdenv.mkDerivation rec { pname = "cre2"; @@ -17,9 +25,12 @@ stdenv.mkDerivation rec { libtool pkg-config ]; - buildInputs = [ re2 texinfo ]; + buildInputs = [ + re2 + texinfo + ]; - NIX_LDFLAGS="-lre2 -lpthread"; + NIX_LDFLAGS = "-lre2 -lpthread"; configureFlags = [ "--enable-maintainer-mode" diff --git a/pkgs/by-name/cr/create-react-app/package.nix b/pkgs/by-name/cr/create-react-app/package.nix index bf7d23c0b2b3f..2a2d2172d9f40 100644 --- a/pkgs/by-name/cr/create-react-app/package.nix +++ b/pkgs/by-name/cr/create-react-app/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/cr/createrepo_c/package.nix b/pkgs/by-name/cr/createrepo_c/package.nix index fc0628e09088a..553c91b8fff33 100644 --- a/pkgs/by-name/cr/createrepo_c/package.nix +++ b/pkgs/by-name/cr/createrepo_c/package.nix @@ -1,5 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, bzip2, expat, glib, curl, libxml2, python3, rpm -, openssl, sqlite, file, xz, pcre, bash-completion, zstd, zchunk, libmodulemd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + bzip2, + expat, + glib, + curl, + libxml2, + python3, + rpm, + openssl, + sqlite, + file, + xz, + pcre, + bash-completion, + zstd, + zchunk, + libmodulemd, }: stdenv.mkDerivation rec { @@ -7,9 +27,9 @@ stdenv.mkDerivation rec { version = "0.17.2"; src = fetchFromGitHub { - owner = "rpm-software-management"; - repo = "createrepo_c"; - rev = version; + owner = "rpm-software-management"; + repo = "createrepo_c"; + rev = version; sha256 = "sha256-rcrJjcWj+cTAE3k11Ynr7CQCOWD+rb60lcar0G2w06A="; }; @@ -27,16 +47,35 @@ stdenv.mkDerivation rec { --replace "@PYTHON_INSTALL_DIR@" "$out/${python3.sitePackages}" ''; - nativeBuildInputs = [ cmake pkg-config rpm ]; + nativeBuildInputs = [ + cmake + pkg-config + rpm + ]; - buildInputs = [ bzip2 expat glib curl libxml2 python3 openssl sqlite file xz pcre bash-completion zstd zchunk libmodulemd ]; + buildInputs = [ + bzip2 + expat + glib + curl + libxml2 + python3 + openssl + sqlite + file + xz + pcre + bash-completion + zstd + zchunk + libmodulemd + ]; meta = with lib; { description = "C implementation of createrepo"; - homepage = "https://rpm-software-management.github.io/createrepo_c/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; + homepage = "https://rpm-software-management.github.io/createrepo_c/"; + license = licenses.gpl2Plus; + platforms = platforms.unix; maintainers = with maintainers; [ copumpkin ]; }; } - diff --git a/pkgs/by-name/cr/credential-detector/package.nix b/pkgs/by-name/cr/credential-detector/package.nix index 1297d158efe58..145f12910e822 100644 --- a/pkgs/by-name/cr/credential-detector/package.nix +++ b/pkgs/by-name/cr/credential-detector/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-VWmfATUbfnI3eJbFTUp6MR1wGESuI15PHZWuon5M5rg="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Tool to detect potentially hard-coded credentials"; diff --git a/pkgs/by-name/cr/creds/package.nix b/pkgs/by-name/cr/creds/package.nix index ed34ad0df7c2e..9758afeafbfa4 100644 --- a/pkgs/by-name/cr/creds/package.nix +++ b/pkgs/by-name/cr/creds/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cr/credslayer/package.nix b/pkgs/by-name/cr/credslayer/package.nix index b6ed44c4f6ef6..8f660ca172522 100644 --- a/pkgs/by-name/cr/credslayer/package.nix +++ b/pkgs/by-name/cr/credslayer/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, wireshark-cli +{ + lib, + fetchFromGitHub, + python3, + wireshark-cli, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/cr/creep/package.nix b/pkgs/by-name/cr/creep/package.nix index fa4938798edc6..365f91e84909d 100644 --- a/pkgs/by-name/cr/creep/package.nix +++ b/pkgs/by-name/cr/creep/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libfaketime -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + libfaketime, + xorg, }: stdenv.mkDerivation rec { @@ -13,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "0zs21kznh1q883jfdgz74bb63i4lxlv98hj3ipp0wvsi6zw0vs8n"; }; - nativeBuildInputs = [ libfaketime xorg.fonttosfnt xorg.mkfontscale ]; + nativeBuildInputs = [ + libfaketime + xorg.fonttosfnt + xorg.mkfontscale + ]; buildPhase = '' faketime -f "1970-01-01 00:00:01" fonttosfnt -g 2 -m 2 -o creep.otb creep.bdf diff --git a/pkgs/by-name/cr/crex/package.nix b/pkgs/by-name/cr/crex/package.nix index d173457d71901..3958fd61d1e11 100644 --- a/pkgs/by-name/cr/crex/package.nix +++ b/pkgs/by-name/cr/crex/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "crex"; diff --git a/pkgs/by-name/cr/cri-tools/package.nix b/pkgs/by-name/cr/cri-tools/package.nix index 7923f73ca5286..c0da20906e866 100644 --- a/pkgs/by-name/cr/cri-tools/package.nix +++ b/pkgs/by-name/cr/cri-tools/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -28,17 +29,20 @@ buildGoModule rec { runHook postBuild ''; - installPhase = '' - runHook preInstall - make install BINDIR=$out/bin - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - for shell in bash fish zsh; do - installShellCompletion --cmd crictl \ - --$shell <($out/bin/crictl completion $shell) - done - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + make install BINDIR=$out/bin + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + for shell in bash fish zsh; do + installShellCompletion --cmd crictl \ + --$shell <($out/bin/crictl completion $shell) + done + '' + + '' + runHook postInstall + ''; meta = with lib; { description = "CLI and validation tools for Kubelet Container Runtime Interface (CRI)"; diff --git a/pkgs/by-name/cr/crimson-pro/package.nix b/pkgs/by-name/cr/crimson-pro/package.nix index 7b302b61eb915..346737be8f107 100644 --- a/pkgs/by-name/cr/crimson-pro/package.nix +++ b/pkgs/by-name/cr/crimson-pro/package.nix @@ -1,10 +1,17 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "crimson-pro"; version = "unstable-2022-08-30"; - outputs = [ "out" "woff2" ]; + outputs = [ + "out" + "woff2" + ]; src = fetchFromGitHub { owner = "Fonthausen"; diff --git a/pkgs/by-name/cr/crimson/package.nix b/pkgs/by-name/cr/crimson/package.nix index 82c9c9ace6c70..4fc3b3e7af8de 100644 --- a/pkgs/by-name/cr/crimson/package.nix +++ b/pkgs/by-name/cr/crimson/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "crimson"; diff --git a/pkgs/by-name/cr/cringify/package.nix b/pkgs/by-name/cr/cringify/package.nix index f9e4bc2f90500..bdd28b3c0233e 100644 --- a/pkgs/by-name/cr/cringify/package.nix +++ b/pkgs/by-name/cr/cringify/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, python3 -, testers -, cringify +{ + lib, + rustPlatform, + fetchFromGitHub, + python3, + testers, + cringify, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cr/crip/package.nix b/pkgs/by-name/cr/crip/package.nix index 67ccc367be0e8..a244fc6d34fa7 100644 --- a/pkgs/by-name/cr/crip/package.nix +++ b/pkgs/by-name/cr/crip/package.nix @@ -1,19 +1,21 @@ -{ lib, stdenv -, fetchurl -, makeWrapper +{ + lib, + stdenv, + fetchurl, + makeWrapper, -, perlPackages + perlPackages, -, cdparanoia -, coreutils -, eject -, flac -, gnugrep -, nano -, sox -, vorbis-tools -, vorbisgain -, which + cdparanoia, + coreutils, + eject, + flac, + gnugrep, + nano, + sox, + vorbis-tools, + vorbisgain, + which, }: stdenv.mkDerivation rec { @@ -24,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "0pk9152wll6fmkj1pki3fz3ijlf06jyk32v31yarwvdkwrk7s9xz"; }; - buildInputs = [ perlPackages.perl perlPackages.CDDB_get ]; + buildInputs = [ + perlPackages.perl + perlPackages.CDDB_get + ]; nativeBuildInputs = [ makeWrapper ]; toolDeps = lib.makeBinPath [ @@ -39,7 +44,11 @@ stdenv.mkDerivation rec { which ]; - scripts = [ "crip" "editcomment" "editfilenames" ]; + scripts = [ + "crip" + "editcomment" + "editfilenames" + ]; installPhase = '' mkdir -p $out/bin/ diff --git a/pkgs/by-name/cr/crispy-doom/package.nix b/pkgs/by-name/cr/crispy-doom/package.nix index 5da041f55fa78..7c4cc2cbb2464 100644 --- a/pkgs/by-name/cr/crispy-doom/package.nix +++ b/pkgs/by-name/cr/crispy-doom/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, autoreconfHook, pkg-config, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + autoreconfHook, + pkg-config, + SDL2, + SDL2_mixer, + SDL2_net, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "crispy-doom"; @@ -16,8 +26,16 @@ stdenv.mkDerivation rec { for script in $(grep -lr '^#!/usr/bin/env python3$'); do patchShebangs $script; done ''; - nativeBuildInputs = [ autoreconfHook pkg-config python3 ]; - buildInputs = [ SDL2 SDL2_mixer SDL2_net ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + python3 + ]; + buildInputs = [ + SDL2 + SDL2_mixer + SDL2_net + ]; enableParallelBuilding = true; strictDeps = true; diff --git a/pkgs/by-name/cr/critcmp/package.nix b/pkgs/by-name/cr/critcmp/package.nix index 0c142bbf25149..b15754fdf12e9 100644 --- a/pkgs/by-name/cr/critcmp/package.nix +++ b/pkgs/by-name/cr/critcmp/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Command line tool for comparing benchmarks run by Criterion"; mainProgram = "critcmp"; homepage = "https://github.com/BurntSushi/critcmp"; - license = with licenses; [ mit unlicense ]; + license = with licenses; [ + mit + unlicense + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/cr/criterion/package.nix b/pkgs/by-name/cr/criterion/package.nix index 1b48227dcb33b..958a9a7c89ed5 100644 --- a/pkgs/by-name/cr/criterion/package.nix +++ b/pkgs/by-name/cr/criterion/package.nix @@ -18,7 +18,7 @@ python3Packages, testers, criterion, - callPackage + callPackage, }: let @@ -95,7 +95,7 @@ stdenv.mkDerivation rec { passthru.tests.version = let - tester = callPackage ./tests/001-version.nix {}; + tester = callPackage ./tests/001-version.nix { }; in testers.testVersion { package = criterion; diff --git a/pkgs/by-name/cr/criu/package.nix b/pkgs/by-name/cr/criu/package.nix index 5a6df6e44c143..b49c526af1837 100644 --- a/pkgs/by-name/cr/criu/package.nix +++ b/pkgs/by-name/cr/criu/package.nix @@ -1,7 +1,29 @@ -{ stdenv, lib, fetchFromGitHub, protobuf, protobufc, asciidoc, iptables -, xmlto, docbook_xsl, libpaper, libnl, libcap, libnet, pkg-config, iproute2, gzip -, which, python3, makeWrapper, docbook_xml_dtd_45, perl, nftables, libbsd, gnutar -, buildPackages +{ + stdenv, + lib, + fetchFromGitHub, + protobuf, + protobufc, + asciidoc, + iptables, + xmlto, + docbook_xsl, + libpaper, + libnl, + libcap, + libnet, + pkg-config, + iproute2, + gzip, + which, + python3, + makeWrapper, + docbook_xml_dtd_45, + perl, + nftables, + libbsd, + gnutar, + buildPackages, }: stdenv.mkDerivation rec { @@ -16,7 +38,10 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - depsBuildBuild = [ protobufc buildPackages.stdenv.cc ]; + depsBuildBuild = [ + protobufc + buildPackages.stdenv.cc + ]; nativeBuildInputs = [ pkg-config asciidoc @@ -38,12 +63,14 @@ stdenv.mkDerivation rec { nftables libbsd ]; - propagatedBuildInputs = [ - protobufc - ] ++ (with python3.pkgs; [ - python - python3.pkgs.protobuf - ]); + propagatedBuildInputs = + [ + protobufc + ] + ++ (with python3.pkgs; [ + python + python3.pkgs.protobuf + ]); postPatch = '' substituteInPlace ./Documentation/Makefile \ @@ -53,36 +80,46 @@ stdenv.mkDerivation rec { ln -sf ${protobuf}/include/google/protobuf/descriptor.proto ./images/google/protobuf/descriptor.proto ''; - makeFlags = let - # criu's Makefile infrastructure expects to be passed a target architecture - # which neither matches the config-tuple's first part, nor the - # targetPlatform.linuxArch attribute. Thus we take the latter and map it - # onto the expected string: - linuxArchMapping = { - "x86_64" = "x86"; - "arm" = "arm"; - "arm64" = "aarch64"; - "powerpc" = "ppc64"; - "s390" = "s390"; - "mips" = "mips"; - }; - in [ - "PREFIX=$(out)" - "ASCIIDOC=${buildPackages.asciidoc}/bin/asciidoc" - "XMLTO=${buildPackages.xmlto}/bin/xmlto" - ] ++ (lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "ARCH=${linuxArchMapping."${stdenv.hostPlatform.linuxArch}"}" - "CROSS_COMPILE=${stdenv.hostPlatform.config}-" - ]); + makeFlags = + let + # criu's Makefile infrastructure expects to be passed a target architecture + # which neither matches the config-tuple's first part, nor the + # targetPlatform.linuxArch attribute. Thus we take the latter and map it + # onto the expected string: + linuxArchMapping = { + "x86_64" = "x86"; + "arm" = "arm"; + "arm64" = "aarch64"; + "powerpc" = "ppc64"; + "s390" = "s390"; + "mips" = "mips"; + }; + in + [ + "PREFIX=$(out)" + "ASCIIDOC=${buildPackages.asciidoc}/bin/asciidoc" + "XMLTO=${buildPackages.xmlto}/bin/xmlto" + ] + ++ (lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "ARCH=${linuxArchMapping."${stdenv.hostPlatform.linuxArch}"}" + "CROSS_COMPILE=${stdenv.hostPlatform.config}-" + ]); - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; preBuild = '' # No idea why but configure scripts break otherwise. export SHELL="" ''; - hardeningDisable = [ "stackprotector" "fortify" ]; + hardeningDisable = [ + "stackprotector" + "fortify" + ]; # dropping fortify here as well as package uses it by default: # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] @@ -90,15 +127,24 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/criu \ --set-default CR_IPTABLES ${iptables}/bin/iptables \ --set-default CR_IP_TOOL ${iproute2}/bin/ip \ - --prefix PATH : ${lib.makeBinPath [ gnutar gzip ]} + --prefix PATH : ${ + lib.makeBinPath [ + gnutar + gzip + ] + } wrapPythonPrograms ''; meta = with lib; { description = "Userspace checkpoint/restore for Linux"; - homepage = "https://criu.org"; - license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ]; + homepage = "https://criu.org"; + license = licenses.gpl2Plus; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "armv7l-linux" + ]; maintainers = [ maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/cr/crlfsuite/package.nix b/pkgs/by-name/cr/crlfsuite/package.nix index dfd1c7098c2f9..0a0d68d0b117d 100644 --- a/pkgs/by-name/cr/crlfsuite/package.nix +++ b/pkgs/by-name/cr/crlfsuite/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -32,6 +33,9 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "crlfsuite"; homepage = "https://github.com/Nefcore/CRLFsuite"; license = licenses.mit; - maintainers = with maintainers; [ c0bw3b fab ]; + maintainers = with maintainers; [ + c0bw3b + fab + ]; }; } diff --git a/pkgs/by-name/cr/crlfuzz/package.nix b/pkgs/by-name/cr/crlfuzz/package.nix index ab2ee1e7a46ef..f9b750da7642e 100644 --- a/pkgs/by-name/cr/crlfuzz/package.nix +++ b/pkgs/by-name/cr/crlfuzz/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/cr/cro-mag-rally/package.nix b/pkgs/by-name/cr/cro-mag-rally/package.nix index 93ca67f0a86a9..0cc55c3fb0f6d 100644 --- a/pkgs/by-name/cr/cro-mag-rally/package.nix +++ b/pkgs/by-name/cr/cro-mag-rally/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, cmake -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + cmake, + makeWrapper, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/cr/croaring/package.nix b/pkgs/by-name/cr/croaring/package.nix index 88643c00195ae..70d6a68847091 100644 --- a/pkgs/by-name/cr/croaring/package.nix +++ b/pkgs/by-name/cr/croaring/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "croaring"; @@ -22,18 +27,23 @@ stdenv.mkDerivation rec { preConfigure = '' mkdir -p dependencies/.cache - ln -s ${fetchFromGitHub { - owner = "clibs"; - repo = "cmocka"; - rev = "f5e2cd7"; - hash = "sha256-Oq0nFsZhl8IF7kQN/LgUq8VBy+P7gO98ep/siy5A7Js="; - }} dependencies/.cache/cmocka + ln -s ${ + fetchFromGitHub { + owner = "clibs"; + repo = "cmocka"; + rev = "f5e2cd7"; + hash = "sha256-Oq0nFsZhl8IF7kQN/LgUq8VBy+P7gO98ep/siy5A7Js="; + } + } dependencies/.cache/cmocka ''; meta = with lib; { description = "Compressed bitset library for C and C++"; homepage = "https://roaringbitmap.org/"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = [ maintainers.orivej ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/cr/croc/package.nix b/pkgs/by-name/cr/croc/package.nix index cfd0d2c7f0573..9274cc315732d 100644 --- a/pkgs/by-name/cr/croc/package.nix +++ b/pkgs/by-name/cr/croc/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, callPackage, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + callPackage, + nixosTests, +}: buildGoModule rec { pname = "croc"; @@ -38,7 +44,10 @@ buildGoModule rec { ''; homepage = "https://github.com/schollz/croc"; license = licenses.mit; - maintainers = with maintainers; [ equirosa SuperSandro2000 ]; + maintainers = with maintainers; [ + equirosa + SuperSandro2000 + ]; mainProgram = "croc"; }; } diff --git a/pkgs/by-name/cr/cromfs/package.nix b/pkgs/by-name/cr/cromfs/package.nix index f3bacd2c40fa1..99e9dff260ccc 100644 --- a/pkgs/by-name/cr/cromfs/package.nix +++ b/pkgs/by-name/cr/cromfs/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, fuse, perl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, + perl, +}: stdenv.mkDerivation rec { pname = "cromfs"; @@ -20,7 +27,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse perl ]; + buildInputs = [ + fuse + perl + ]; makeFlags = [ "CXXFLAGS=-std=c++03" ]; diff --git a/pkgs/by-name/cr/crossguid/package.nix b/pkgs/by-name/cr/crossguid/package.nix index cd8f95957c4eb..238d4e834daf7 100644 --- a/pkgs/by-name/cr/crossguid/package.nix +++ b/pkgs/by-name/cr/crossguid/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libuuid, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + libuuid, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "crossguid"; diff --git a/pkgs/by-name/cr/crossplane-cli/package.nix b/pkgs/by-name/cr/crossplane-cli/package.nix index 66b0fd3e7592c..1578a2b576408 100644 --- a/pkgs/by-name/cr/crossplane-cli/package.nix +++ b/pkgs/by-name/cr/crossplane-cli/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, testers -, crossplane-cli +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + testers, + crossplane-cli, }: buildGoModule rec { diff --git a/pkgs/by-name/cr/crosswords/package.nix b/pkgs/by-name/cr/crosswords/package.nix index 91bbd5c6e88f8..bd1003ab86473 100644 --- a/pkgs/by-name/cr/crosswords/package.nix +++ b/pkgs/by-name/cr/crosswords/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita -, isocodes -, json-glib -, libipuz +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + isocodes, + json-glib, + libipuz, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cr/crow-translate/package.nix b/pkgs/by-name/cr/crow-translate/package.nix index 304a4dbac53a4..3b8dc307fa124 100644 --- a/pkgs/by-name/cr/crow-translate/package.nix +++ b/pkgs/by-name/cr/crow-translate/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, extra-cmake-modules -, leptonica -, libsForQt5 -, qt5 -, tesseract4 -, gst_all_1 -, testers +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + extra-cmake-modules, + leptonica, + libsForQt5, + qt5, + tesseract4, + gst_all_1, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -36,18 +37,20 @@ stdenv.mkDerivation (finalAttrs: { qt5.wrapQtAppsHook ]; - buildInputs = [ - libsForQt5.kwayland - leptonica - tesseract4 - qt5.qtmultimedia - qt5.qtx11extras - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - ]); + buildInputs = + [ + libsForQt5.kwayland + leptonica + tesseract4 + qt5.qtmultimedia + qt5.qtx11extras + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + ]); preFixup = '' qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") diff --git a/pkgs/by-name/cr/crowbar/package.nix b/pkgs/by-name/cr/crowbar/package.nix index 114fdca5a85dc..8cd303b6b72f1 100644 --- a/pkgs/by-name/cr/crowbar/package.nix +++ b/pkgs/by-name/cr/crowbar/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, freerdp -, nmap -, openvpn -, python3Packages -, lib -, tigervnc +{ + fetchFromGitHub, + freerdp, + nmap, + openvpn, + python3Packages, + lib, + tigervnc, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/cr/crowdin-cli/package.nix b/pkgs/by-name/cr/crowdin-cli/package.nix index d0431f3569fad..4b80ed83fee28 100644 --- a/pkgs/by-name/cr/crowdin-cli/package.nix +++ b/pkgs/by-name/cr/crowdin-cli/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, gawk -, git -, gnugrep -, installShellFiles -, jre -, makeWrapper -, testers -, unzip +{ + lib, + stdenv, + fetchurl, + gawk, + git, + gnugrep, + installShellFiles, + jre, + makeWrapper, + testers, + unzip, }: stdenv.mkDerivation (finalAttrs: { @@ -20,7 +21,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-u1drLK/eLvNijCL3BupXyAO7yb+FD9EQwD0+9hQJsgQ="; }; - nativeBuildInputs = [ installShellFiles makeWrapper unzip ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + unzip + ]; installPhase = '' runHook preInstall @@ -32,7 +37,13 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ${jre}/bin/java $out/bin/crowdin \ --argv0 crowdin \ --add-flags "-jar $out/lib/crowdin-cli.jar" \ - --prefix PATH : ${lib.makeBinPath [ gawk gnugrep git ]} + --prefix PATH : ${ + lib.makeBinPath [ + gawk + gnugrep + git + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/cr/crowdsec/package.nix b/pkgs/by-name/cr/crowdsec/package.nix index 5729969a9cd96..4a982cf61810d 100644 --- a/pkgs/by-name/cr/crowdsec/package.nix +++ b/pkgs/by-name/cr/crowdsec/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "crowdsec"; @@ -64,6 +69,9 @@ buildGoModule rec { being shared among all users to further improve everyone's security. ''; license = licenses.mit; - maintainers = with maintainers; [ jk urandom ]; + maintainers = with maintainers; [ + jk + urandom + ]; }; } diff --git a/pkgs/by-name/cr/crrcsim/package.nix b/pkgs/by-name/cr/crrcsim/package.nix index 29aa64c3459ee..c4bd7f1e1a146 100644 --- a/pkgs/by-name/cr/crrcsim/package.nix +++ b/pkgs/by-name/cr/crrcsim/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, plib, libjpeg }: +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + SDL, + SDL_mixer, + plib, + libjpeg, +}: let version = "0.9.13"; in @@ -12,7 +22,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libGLU libGL SDL SDL_mixer plib libjpeg + libGLU + libGL + SDL + SDL_mixer + plib + libjpeg ]; patches = [ @@ -23,7 +38,10 @@ stdenv.mkDerivation rec { description = "Model-airplane flight simulator"; mainProgram = "crrcsim"; maintainers = with lib.maintainers; [ raskin ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; license = lib.licenses.gpl2Only; }; } diff --git a/pkgs/by-name/cr/crudini/package.nix b/pkgs/by-name/cr/crudini/package.nix index 041a0095fb1c7..ae8387c374b36 100644 --- a/pkgs/by-name/cr/crudini/package.nix +++ b/pkgs/by-name/cr/crudini/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, python3Packages -, help2man -, installShellFiles +{ + lib, + fetchFromGitHub, + python3Packages, + help2man, + installShellFiles, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/cr/crumbs/package.nix b/pkgs/by-name/cr/crumbs/package.nix index 7dbcf74faf7ec..cc0a7aab71e70 100644 --- a/pkgs/by-name/cr/crumbs/package.nix +++ b/pkgs/by-name/cr/crumbs/package.nix @@ -1,15 +1,19 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "crumbs"; version = "0.0.3"; - src = fetchFromGitHub - { owner = "fasseg"; - repo = "crumbs"; - rev = version; - sha256 = "0jjvydn4i4n9xv8vsal2jxpa95mk2lw6myv0gx9wih242k9vy0l7"; - }; + src = fetchFromGitHub { + owner = "fasseg"; + repo = "crumbs"; + rev = version; + sha256 = "0jjvydn4i4n9xv8vsal2jxpa95mk2lw6myv0gx9wih242k9vy0l7"; + }; prePatch = '' sed -i 's|gfind|find|' crumbs-completion.fish @@ -23,12 +27,12 @@ stdenv.mkDerivation rec { cp crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish ''; - meta = with lib; - { description = "Bookmarks for the command line"; - homepage = "https://github.com/fasseg/crumbs"; - license = licenses.wtfpl; - platforms = platforms.all; - maintainers = with maintainers; [ thesola10 ]; - mainProgram = "crumbs"; - }; + meta = with lib; { + description = "Bookmarks for the command line"; + homepage = "https://github.com/fasseg/crumbs"; + license = licenses.wtfpl; + platforms = platforms.all; + maintainers = with maintainers; [ thesola10 ]; + mainProgram = "crumbs"; + }; } diff --git a/pkgs/by-name/cr/crunch/package.nix b/pkgs/by-name/cr/crunch/package.nix index 146a67605847f..e09c652b988dc 100644 --- a/pkgs/by-name/cr/crunch/package.nix +++ b/pkgs/by-name/cr/crunch/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, which }: +{ + lib, + stdenv, + fetchurl, + which, +}: stdenv.mkDerivation rec { pname = "crunch"; diff --git a/pkgs/by-name/cr/crunchy-cli/package.nix b/pkgs/by-name/cr/crunchy-cli/package.nix index 21a8a5b8cb344..d895a383dd7df 100644 --- a/pkgs/by-name/cr/crunchy-cli/package.nix +++ b/pkgs/by-name/cr/crunchy-cli/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, darwin -, fetchFromGitHub -, openssl -, pkg-config -, rustPlatform -, nix-update-script +{ + lib, + stdenv, + darwin, + fetchFromGitHub, + openssl, + pkg-config, + rustPlatform, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -30,11 +31,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { OPENSSL_NO_VENDOR = true; diff --git a/pkgs/by-name/cr/cryfs/package.nix b/pkgs/by-name/cr/cryfs/package.nix index 6d64973e8cebe..e5e6596766008 100644 --- a/pkgs/by-name/cr/cryfs/package.nix +++ b/pkgs/by-name/cr/cryfs/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, pkg-config, python3 -, boost, curl, fuse, openssl, range-v3, spdlog -# cryptopp and gtest on standby - using the vendored ones for now -# see https://github.com/cryfs/cryfs/issues/369 -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + python3, + boost, + curl, + fuse, + openssl, + range-v3, + spdlog, + # cryptopp and gtest on standby - using the vendored ones for now + # see https://github.com/cryfs/cryfs/issues/369 + llvmPackages, }: stdenv.mkDerivation rec { @@ -37,12 +47,22 @@ stdenv.mkDerivation rec { --replace "(4.5L*1024*1024*1024)" "(0.5L*1024*1024*1024)" ''; - nativeBuildInputs = [ cmake pkg-config python3 ]; + nativeBuildInputs = [ + cmake + pkg-config + python3 + ]; strictDeps = true; - buildInputs = [ boost curl fuse openssl range-v3 spdlog ] - ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; + buildInputs = [ + boost + curl + fuse + openssl + range-v3 + spdlog + ] ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; #nativeCheckInputs = [ gtest ]; @@ -72,10 +92,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Cryptographic filesystem for the cloud"; - homepage = "https://www.cryfs.org/"; - changelog = "https://github.com/cryfs/cryfs/raw/${version}/ChangeLog.txt"; - license = licenses.lgpl3Only; - maintainers = with maintainers; [ peterhoeg c0bw3b sigmasquadron ]; - platforms = platforms.unix; + homepage = "https://www.cryfs.org/"; + changelog = "https://github.com/cryfs/cryfs/raw/${version}/ChangeLog.txt"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ + peterhoeg + c0bw3b + sigmasquadron + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/cr/crypto-org-wallet/package.nix b/pkgs/by-name/cr/crypto-org-wallet/package.nix index 6132fd9af3ecc..8d9dd44be874b 100644 --- a/pkgs/by-name/cr/crypto-org-wallet/package.nix +++ b/pkgs/by-name/cr/crypto-org-wallet/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, appimageTools, imagemagick }: +{ + lib, + fetchurl, + appimageTools, + imagemagick, +}: let pname = "chain-desktop-wallet"; @@ -10,7 +15,8 @@ let }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 rec { +in +appimageTools.wrapType2 rec { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/cr/crypto-tracker/package.nix b/pkgs/by-name/cr/crypto-tracker/package.nix index 273a0aa63e4c0..34c3c63409595 100644 --- a/pkgs/by-name/cr/crypto-tracker/package.nix +++ b/pkgs/by-name/cr/crypto-tracker/package.nix @@ -1,13 +1,17 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "crypto-tracker"; version = "0.1.8"; src = fetchFromGitHub { - owner = "Nox04"; - repo = "crypto-tracker"; - rev = "v${version}"; + owner = "Nox04"; + repo = "crypto-tracker"; + rev = "v${version}"; hash = "sha256-8tTaXpHZWcDq0Jfa9Hf258VYwfimLhYjCAzD4X/Ow0s="; }; diff --git a/pkgs/by-name/cr/cryptominisat/package.nix b/pkgs/by-name/cr/cryptominisat/package.nix index 7c2ee23d36cb8..9c99d0c0555f3 100644 --- a/pkgs/by-name/cr/cryptominisat/package.nix +++ b/pkgs/by-name/cr/cryptominisat/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 -, boost +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + boost, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { strictDeps = true; buildInputs = [ boost ]; - nativeBuildInputs = [ python3 cmake ]; + nativeBuildInputs = [ + python3 + cmake + ]; # musl does not have sys/unistd.h postPatch = '' diff --git a/pkgs/by-name/cr/cryptopp/package.nix b/pkgs/by-name/cr/cryptopp/package.nix index 741e9677f7102..bb7e856d3ccee 100644 --- a/pkgs/by-name/cr/cryptopp/package.nix +++ b/pkgs/by-name/cr/cryptopp/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !enableStatic -# Multi-threading with OpenMP is disabled by default -# more info on https://www.cryptopp.com/wiki/OpenMP -, withOpenMP ? false -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !enableStatic, + # Multi-threading with OpenMP is disabled by default + # more info on https://www.cryptopp.com/wiki/OpenMP + withOpenMP ? false, + llvmPackages, }: stdenv.mkDerivation rec { pname = "crypto++"; version = "8.9.0"; - underscoredVersion = lib.strings.replaceStrings ["."] ["_"] version; + underscoredVersion = lib.strings.replaceStrings [ "." ] [ "_" ] version; src = fetchFromGitHub { owner = "weidai11"; @@ -21,7 +22,10 @@ stdenv.mkDerivation rec { hash = "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' substituteInPlace GNUmakefile \ @@ -34,9 +38,7 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=${placeholder "out"}" ]; buildFlags = - lib.optional enableStatic "static" - ++ lib.optional enableShared "shared" - ++ [ "libcryptopp.pc" ]; + lib.optional enableStatic "static" ++ lib.optional enableShared "shared" ++ [ "libcryptopp.pc" ]; enableParallelBuilding = true; hardeningDisable = [ "fortify" ]; @@ -57,7 +59,10 @@ stdenv.mkDerivation rec { "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt" "https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_${underscoredVersion}" ]; - license = with licenses; [ boost publicDomain ]; + license = with licenses; [ + boost + publicDomain + ]; platforms = platforms.all; maintainers = with maintainers; [ c0bw3b ]; }; diff --git a/pkgs/by-name/cr/cryptor/package.nix b/pkgs/by-name/cr/cryptor/package.nix index b48662b2992fc..7620fd0b91217 100644 --- a/pkgs/by-name/cr/cryptor/package.nix +++ b/pkgs/by-name/cr/cryptor/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeBinaryWrapper -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook3 -, gocryptfs -, gtk3 -, json-glib -, libgee +{ + lib, + stdenv, + fetchFromGitHub, + makeBinaryWrapper, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook3, + gocryptfs, + gtk3, + json-glib, + libgee, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cr/cryptoverif/package.nix b/pkgs/by-name/cr/cryptoverif/package.nix index 7d0a93d144f7a..e23707651298c 100644 --- a/pkgs/by-name/cr/cryptoverif/package.nix +++ b/pkgs/by-name/cr/cryptoverif/package.nix @@ -1,17 +1,25 @@ -{ lib, stdenv, fetchurl, ocaml, writeScript }: +{ + lib, + stdenv, + fetchurl, + ocaml, + writeScript, +}: stdenv.mkDerivation (finalAttrs: { pname = "cryptoverif"; version = "2.11"; src = fetchurl { - url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${finalAttrs.version}.tar.gz"; + url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${finalAttrs.version}.tar.gz"; hash = "sha256-duc7t0Qpr1Z2FZEoufdQ7kcBlLbXHO+r9ivEgUxqK9s="; }; - /* Fix up the frontend to load the 'default' cryptoverif library - ** from under $out/libexec. By default, it expects to find the files - ** in $CWD which doesn't work. */ + /* + Fix up the frontend to load the 'default' cryptoverif library + ** from under $out/libexec. By default, it expects to find the files + ** in $CWD which doesn't work. + */ postPatch = '' substituteInPlace ./src/syntax.ml \ --replace \"default\" \"$out/libexec/default\" @@ -55,9 +63,9 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Cryptographic protocol verifier in the computational model"; mainProgram = "cryptoverif"; - homepage = "https://bblanche.gitlabpages.inria.fr/CryptoVerif/"; - license = lib.licenses.cecill-b; - platforms = lib.platforms.unix; + homepage = "https://bblanche.gitlabpages.inria.fr/CryptoVerif/"; + license = lib.licenses.cecill-b; + platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; }; }) diff --git a/pkgs/by-name/cr/cryptsetup/package.nix b/pkgs/by-name/cr/cryptsetup/package.nix index 8713325b00bcd..8c35acda3e72a 100644 --- a/pkgs/by-name/cr/cryptsetup/package.nix +++ b/pkgs/by-name/cr/cryptsetup/package.nix @@ -1,22 +1,38 @@ -{ lib, stdenv, fetchurl, lvm2, json_c, asciidoctor -, openssl, libuuid, pkg-config, popt, nixosTests -, libargon2, withInternalArgon2 ? false +{ + lib, + stdenv, + fetchurl, + lvm2, + json_c, + asciidoctor, + openssl, + libuuid, + pkg-config, + popt, + nixosTests, + libargon2, + withInternalArgon2 ? false, # Programs enabled by default upstream are implicitly enabled unless # manually set to false. -, programs ? {} + programs ? { }, # The release tarballs contain precomputed manpage files, so we don't need # to run asciidoctor on the man sources. By avoiding asciidoctor, we make # the bare NixOS build hash independent of changes to the ruby ecosystem, # saving mass-rebuilds. -, rebuildMan ? false + rebuildMan ? false, }: stdenv.mkDerivation rec { pname = "cryptsetup"; version = "2.7.5"; - outputs = [ "bin" "out" "dev" "man" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + ]; separateDebugInfo = true; src = fetchurl { @@ -40,23 +56,34 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; - configureFlags = [ - "--with-crypto_backend=openssl" - "--disable-ssh-token" - ] ++ lib.optionals (!rebuildMan) [ - "--disable-asciidoc" - ] ++ lib.optionals (!withInternalArgon2) [ - "--enable-libargon2" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "--disable-external-tokens" - # We have to override this even though we're removing token - # support, because the path still gets included in the binary even - # though it isn't used. - "--with-luks2-external-tokens-path=/" - ] ++ (lib.mapAttrsToList (lib.flip lib.enableFeature)) programs; + configureFlags = + [ + "--with-crypto_backend=openssl" + "--disable-ssh-token" + ] + ++ lib.optionals (!rebuildMan) [ + "--disable-asciidoc" + ] + ++ lib.optionals (!withInternalArgon2) [ + "--enable-libargon2" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "--disable-external-tokens" + # We have to override this even though we're removing token + # support, because the path still gets included in the binary even + # though it isn't used. + "--with-luks2-external-tokens-path=/" + ] + ++ (lib.mapAttrsToList (lib.flip lib.enableFeature)) programs; nativeBuildInputs = [ pkg-config ] ++ lib.optionals rebuildMan [ asciidoctor ]; - buildInputs = [ lvm2 json_c openssl libuuid popt ] ++ lib.optional (!withInternalArgon2) libargon2; + buildInputs = [ + lvm2 + json_c + openssl + libuuid + popt + ] ++ lib.optional (!withInternalArgon2) libargon2; # The test [7] header backup in compat-test fails with a mysterious # "out of memory" error, even though tons of memory is available. @@ -65,14 +92,11 @@ stdenv.mkDerivation rec { passthru = { tests = { - nixos = - lib.optionalAttrs stdenv.hostPlatform.isLinux ( - lib.recurseIntoAttrs ( - lib.filterAttrs - (name: _value: lib.hasPrefix "luks" name) - nixosTests.installer - ) - ); + nixos = lib.optionalAttrs stdenv.hostPlatform.isLinux ( + lib.recurseIntoAttrs ( + lib.filterAttrs (name: _value: lib.hasPrefix "luks" name) nixosTests.installer + ) + ); }; }; diff --git a/pkgs/by-name/cr/crystal2nix/package.nix b/pkgs/by-name/cr/crystal2nix/package.nix index 2ba0fefd6aba6..8232e8e42d7ed 100644 --- a/pkgs/by-name/cr/crystal2nix/package.nix +++ b/pkgs/by-name/cr/crystal2nix/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, crystal, makeWrapper, nix-prefetch-git }: +{ + lib, + fetchFromGitHub, + crystal, + makeWrapper, + nix-prefetch-git, +}: crystal.buildCrystalPackage rec { pname = "crystal2nix"; @@ -31,6 +37,9 @@ crystal.buildCrystalPackage rec { description = "Utility to convert Crystal's shard.lock files to a Nix file"; mainProgram = "crystal2nix"; license = licenses.mit; - maintainers = with maintainers; [ manveru peterhoeg ]; + maintainers = with maintainers; [ + manveru + peterhoeg + ]; }; } diff --git a/pkgs/by-name/cs/csa/package.nix b/pkgs/by-name/cs/csa/package.nix index a861d8b0a4779..a839c9b9f5da5 100644 --- a/pkgs/by-name/cs/csa/package.nix +++ b/pkgs/by-name/cs/csa/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "csa"; diff --git a/pkgs/by-name/cs/cscope/package.nix b/pkgs/by-name/cs/cscope/package.nix index f306478948bc1..6e836948008cd 100644 --- a/pkgs/by-name/cs/cscope/package.nix +++ b/pkgs/by-name/cs/cscope/package.nix @@ -1,5 +1,10 @@ -{ fetchurl, lib, stdenv, ncurses -, emacsSupport ? true, emacs +{ + fetchurl, + lib, + stdenv, + ncurses, + emacsSupport ? true, + emacs, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cs/csdp/package.nix b/pkgs/by-name/cs/csdp/package.nix index c0f863a6d26b5..305e98e851a62 100644 --- a/pkgs/by-name/cs/csdp/package.nix +++ b/pkgs/by-name/cs/csdp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, blas, gfortran, lapack }: +{ + lib, + stdenv, + fetchurl, + blas, + gfortran, + lapack, +}: stdenv.mkDerivation rec { pname = "csdp"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05"; }; - buildInputs = [ blas gfortran.cc.lib lapack ]; + buildInputs = [ + blas + gfortran.cc.lib + lapack + ]; postPatch = '' substituteInPlace Makefile --replace /usr/local/bin $out/bin diff --git a/pkgs/by-name/cs/csdr/package.nix b/pkgs/by-name/cs/csdr/package.nix index 65bbdbb05dac5..9170ea63cd0b1 100644 --- a/pkgs/by-name/cs/csdr/package.nix +++ b/pkgs/by-name/cs/csdr/package.nix @@ -1,5 +1,11 @@ -{ stdenv, lib, fetchFromGitHub -, cmake, pkg-config, fftwFloat, libsamplerate +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + fftwFloat, + libsamplerate, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cs/csfml/package.nix b/pkgs/by-name/cs/csfml/package.nix index 397d5186a1c4f..08d98928d77e9 100644 --- a/pkgs/by-name/cs/csfml/package.nix +++ b/pkgs/by-name/cs/csfml/package.nix @@ -1,12 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, sfml }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + sfml, +}: stdenv.mkDerivation rec { pname = "csfml"; version = "2.5.2"; src = fetchFromGitHub { owner = "SFML"; - repo = "CSFML"; - rev = version; + repo = "CSFML"; + rev = version; sha256 = "sha256-A5C/4SnxUX7mW1wkPWJWX3dwMhrJ79DkBuZ7UYzTOqE="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/cs/cshatag/package.nix b/pkgs/by-name/cs/cshatag/package.nix index 8ef9425231fbb..16dedcf39cffd 100644 --- a/pkgs/by-name/cs/cshatag/package.nix +++ b/pkgs/by-name/cs/cshatag/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cshatag"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-OYMnZub4Yi11uMHzL1O5l6/J1md6ORS5cWm9K4yP92Q="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' # Install man page diff --git a/pkgs/by-name/cs/csmith/package.nix b/pkgs/by-name/cs/csmith/package.nix index 52955577ee7fb..f14f2644aac5a 100644 --- a/pkgs/by-name/cs/csmith/package.nix +++ b/pkgs/by-name/cs/csmith/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, m4, makeWrapper, libbsd, perlPackages }: +{ + lib, + stdenv, + fetchurl, + m4, + makeWrapper, + libbsd, + perlPackages, +}: stdenv.mkDerivation rec { pname = "csmith"; @@ -9,8 +17,16 @@ stdenv.mkDerivation rec { sha256 = "1mb5zgixsyf86slggs756k8a5ddmj980md3ic9sa1y75xl5cqizj"; }; - nativeBuildInputs = [ m4 makeWrapper ]; - buildInputs = [ libbsd ] ++ (with perlPackages; [ perl SysCPU ]); + nativeBuildInputs = [ + m4 + makeWrapper + ]; + buildInputs = + [ libbsd ] + ++ (with perlPackages; [ + perl + SysCPU + ]); CXXFLAGS = "-std=c++98"; diff --git a/pkgs/by-name/cs/csound-manual/package.nix b/pkgs/by-name/cs/csound-manual/package.nix index bb4db74e22ab4..7cfdd0a1fdcc7 100644 --- a/pkgs/by-name/cs/csound-manual/package.nix +++ b/pkgs/by-name/cs/csound-manual/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, docbook_xsl -, docbook_xml_dtd_45 -, python3 -, libxslt +{ + lib, + stdenv, + fetchFromGitHub, + docbook_xsl, + docbook_xml_dtd_45, + python3, + libxslt, }: stdenv.mkDerivation rec { @@ -24,7 +25,12 @@ stdenv.mkDerivation rec { "${docbook_xml_dtd_45}/xml/dtd/docbook/docbookx.dtd" ''; - nativeBuildInputs = [ libxslt.bin docbook_xsl python3 python3.pkgs.pygments ]; + nativeBuildInputs = [ + libxslt.bin + docbook_xsl + python3 + python3.pkgs.pygments + ]; buildPhase = '' make XSL_BASE_PATH=${docbook_xsl}/share/xml/docbook-xsl html-dist diff --git a/pkgs/by-name/cs/css-checker/package.nix b/pkgs/by-name/cs/css-checker/package.nix index 43e2fb536706f..ef5038ec9cb77 100644 --- a/pkgs/by-name/cs/css-checker/package.nix +++ b/pkgs/by-name/cs/css-checker/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-4ZCma8Q7FXAWdA1m2M1ltm360Fu65JhELyfIbJBP14M="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Command-line tool for identifying similar or duplicated CSS code"; diff --git a/pkgs/by-name/cs/csv2latex/package.nix b/pkgs/by-name/cs/csv2latex/package.nix index acfe07f262284..cf214a2720a67 100644 --- a/pkgs/by-name/cs/csv2latex/package.nix +++ b/pkgs/by-name/cs/csv2latex/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "csv2latex"; @@ -10,8 +14,8 @@ stdenv.mkDerivation rec { }; installPhase = '' - mkdir -p $out/bin - make PREFIX=$out install + mkdir -p $out/bin + make PREFIX=$out install ''; meta = with lib; { diff --git a/pkgs/by-name/cs/csv2odf/package.nix b/pkgs/by-name/cs/csv2odf/package.nix index 3ab5ff356b6e2..b3f5c30177271 100644 --- a/pkgs/by-name/cs/csv2odf/package.nix +++ b/pkgs/by-name/cs/csv2odf/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchurl }: +{ + lib, + python3, + fetchurl, +}: python3.pkgs.buildPythonApplication rec { pname = "csv2odf"; diff --git a/pkgs/by-name/cs/csv2parquet/package.nix b/pkgs/by-name/cs/csv2parquet/package.nix index 0d6050d703a7c..8261242f2da2d 100644 --- a/pkgs/by-name/cs/csv2parquet/package.nix +++ b/pkgs/by-name/cs/csv2parquet/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "csv2parquet"; diff --git a/pkgs/by-name/cs/csv2svg/package.nix b/pkgs/by-name/cs/csv2svg/package.nix index e8c28cf51a614..d9c56f76bb68e 100644 --- a/pkgs/by-name/cs/csv2svg/package.nix +++ b/pkgs/by-name/cs/csv2svg/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cs/csvdiff/package.nix b/pkgs/by-name/cs/csvdiff/package.nix index 90faa060bed09..7653b8479c8a2 100644 --- a/pkgs/by-name/cs/csvdiff/package.nix +++ b/pkgs/by-name/cs/csvdiff/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/cs/csview/package.nix b/pkgs/by-name/cs/csview/package.nix index 172963858e25b..f25f63ce74f54 100644 --- a/pkgs/by-name/cs/csview/package.nix +++ b/pkgs/by-name/cs/csview/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "csview"; @@ -17,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "High performance csv viewer with cjk/emoji support"; mainProgram = "csview"; homepage = "https://github.com/wfxr/csview"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/cs/csvkit/package.nix b/pkgs/by-name/cs/csvkit/package.nix index f9b3c6f3c71fe..b3981deaa69de 100644 --- a/pkgs/by-name/cs/csvkit/package.nix +++ b/pkgs/by-name/cs/csvkit/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let diff --git a/pkgs/by-name/cs/csvlens/package.nix b/pkgs/by-name/cs/csvlens/package.nix index fbaece4d42c73..ea1873f05f0c3 100644 --- a/pkgs/by-name/cs/csvlens/package.nix +++ b/pkgs/by-name/cs/csvlens/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, darwin -, rustPlatform -, fetchFromGitHub +{ + lib, + stdenv, + darwin, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/cs/csvq/package.nix b/pkgs/by-name/cs/csvq/package.nix index aa1816082b396..fa1b244dec0f8 100644 --- a/pkgs/by-name/cs/csvq/package.nix +++ b/pkgs/by-name/cs/csvq/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, testers, lib, csvq }: +{ + buildGoModule, + fetchFromGitHub, + testers, + lib, + csvq, +}: buildGoModule rec { pname = "csvq"; diff --git a/pkgs/by-name/cs/csvquote/package.nix b/pkgs/by-name/cs/csvquote/package.nix index e4bf9b5a3377f..7a3b1c8bab157 100644 --- a/pkgs/by-name/cs/csvquote/package.nix +++ b/pkgs/by-name/cs/csvquote/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, patsh +{ + lib, + stdenv, + fetchFromGitHub, + patsh, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cs/csvs-to-sqlite/package.nix b/pkgs/by-name/cs/csvs-to-sqlite/package.nix index 2ed4af000f560..171c2c418d67e 100644 --- a/pkgs/by-name/cs/csvs-to-sqlite/package.nix +++ b/pkgs/by-name/cs/csvs-to-sqlite/package.nix @@ -1,6 +1,12 @@ -{ lib, python3, fetchFromGitHub, fetchpatch }: +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, +}: -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { pname = "csvs-to-sqlite"; version = "1.3"; format = "setuptools"; diff --git a/pkgs/by-name/cs/csxcad/package.nix b/pkgs/by-name/cs/csxcad/package.nix index bc1f4287c1158..5482166b4d76f 100644 --- a/pkgs/by-name/cs/csxcad/package.nix +++ b/pkgs/by-name/cs/csxcad/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, fparser -, tinyxml -, hdf5 -, cgal -, vtk -, boost -, gmp -, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fparser, + tinyxml, + hdf5, + cgal, + vtk, + boost, + gmp, + mpfr, }: stdenv.mkDerivation rec { @@ -22,7 +24,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-SSV5ulx3rCJg99I/oOQbqe+gOSs+BfcCo6UkWHVhnSs="; }; - patches = [./searchPath.patch ]; + patches = [ ./searchPath.patch ]; buildInputs = [ cgal diff --git a/pkgs/by-name/ct/ctlptl/package.nix b/pkgs/by-name/ct/ctlptl/package.nix index 2e41456a5eb15..3c0998d238ae6 100644 --- a/pkgs/by-name/ct/ctlptl/package.nix +++ b/pkgs/by-name/ct/ctlptl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "ctlptl"; diff --git a/pkgs/by-name/ct/ctmg/package.nix b/pkgs/by-name/ct/ctmg/package.nix index 63c9004bcbc9f..6faac6f8d3d44 100644 --- a/pkgs/by-name/ct/ctmg/package.nix +++ b/pkgs/by-name/ct/ctmg/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "ctmg"; diff --git a/pkgs/by-name/ct/ctodo/package.nix b/pkgs/by-name/ct/ctodo/package.nix index 16c1ac90aea94..294735bc107e5 100644 --- a/pkgs/by-name/ct/ctodo/package.nix +++ b/pkgs/by-name/ct/ctodo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ncurses, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ncurses, + readline, +}: stdenv.mkDerivation rec { pname = "ctodo"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ ncurses readline ]; + buildInputs = [ + ncurses + readline + ]; meta = with lib; { homepage = "http://ctodo.apakoh.dk/"; diff --git a/pkgs/by-name/ct/ctop/package.nix b/pkgs/by-name/ct/ctop/package.nix index 0ddaac6352310..1af537b225d24 100644 --- a/pkgs/by-name/ct/ctop/package.nix +++ b/pkgs/by-name/ct/ctop/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ctop"; @@ -13,7 +17,12 @@ buildGoModule rec { vendorHash = "sha256-UAja7XuoLqJFNcK1PgHGcuf/HbvSrWyRvW2D3T7Hg0g="; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.build=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.build=v${version}" + ]; meta = with lib; { description = "Top-like interface for container metrics"; diff --git a/pkgs/by-name/ct/ctpl/package.nix b/pkgs/by-name/ct/ctpl/package.nix index ad8e192c0a7ad..d83bd2c456ea1 100644 --- a/pkgs/by-name/ct/ctpl/package.nix +++ b/pkgs/by-name/ct/ctpl/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, glib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "ctpl"; diff --git a/pkgs/by-name/ct/ctpp2/package.nix b/pkgs/by-name/ct/ctpp2/package.nix index 2d3b07e5e01f2..d03830f8069da 100644 --- a/pkgs/by-name/ct/ctpp2/package.nix +++ b/pkgs/by-name/ct/ctpp2/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "ctpp2"; diff --git a/pkgs/by-name/ct/ctre/package.nix b/pkgs/by-name/ct/ctre/package.nix index e35e2d1244c67..f0418ae956e83 100644 --- a/pkgs/by-name/ct/ctre/package.nix +++ b/pkgs/by-name/ct/ctre/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ct/ctrtool/package.nix b/pkgs/by-name/ct/ctrtool/package.nix index aa9dffc12944b..0adf9db5087c7 100644 --- a/pkgs/by-name/ct/ctrtool/package.nix +++ b/pkgs/by-name/ct/ctrtool/package.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, gitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "ctrtool"; version = "1.2.0"; src = fetchFromGitHub { - owner = "jakcron"; - repo = "Project_CTR"; - rev = "ctrtool-v${version}"; + owner = "jakcron"; + repo = "Project_CTR"; + rev = "ctrtool-v${version}"; sha256 = "wjU/DJHrAHE3MSB7vy+swUDVPzw0Jrv4ymOjhfr0BBk="; }; @@ -16,7 +21,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; preBuild = '' - make -j $NIX_BUILD_CORES deps + make -j $NIX_BUILD_CORES deps ''; # workaround for https://github.com/3DSGuy/Project_CTR/issues/145 diff --git a/pkgs/by-name/ct/ctx/package.nix b/pkgs/by-name/ct/ctx/package.nix index b329fd221247b..dde97bcf01c70 100644 --- a/pkgs/by-name/ct/ctx/package.nix +++ b/pkgs/by-name/ct/ctx/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchgit -, SDL2 -, alsa-lib -, babl -, bash -, curl -, libdrm # Not documented -, pkg-config -, xxd -, enableFb ? false -, nixosTests +{ + lib, + stdenv, + fetchgit, + SDL2, + alsa-lib, + babl, + bash, + curl, + libdrm, # Not documented + pkg-config, + xxd, + enableFb ? false, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -57,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { configureScript = "./configure.sh"; configureFlags = lib.optional enableFb "--enable-fb"; - configurePlatforms = []; + configurePlatforms = [ ]; dontAddPrefix = true; dontDisableStatic = true; diff --git a/pkgs/by-name/ct/ctypes_sh/package.nix b/pkgs/by-name/ct/ctypes_sh/package.nix index 44f71982062cd..032edc5f7d222 100644 --- a/pkgs/by-name/ct/ctypes_sh/package.nix +++ b/pkgs/by-name/ct/ctypes_sh/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook, pkg-config -, zlib, libffi, elfutils, libdwarf +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + zlib, + libffi, + elfutils, + libdwarf, }: stdenv.mkDerivation rec { @@ -15,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "1wafyfhwd7nf7xdici0djpwgykizaz7jlarn0r1b4spnpjx1zbx4"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ zlib libffi elfutils libdwarf ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + zlib + libffi + elfutils + libdwarf + ]; meta = with lib; { description = "Foreign function interface for bash"; diff --git a/pkgs/by-name/cu/cucumber/gemset.nix b/pkgs/by-name/cu/cucumber/gemset.nix index c716c0165c9cc..ae0dee703c99b 100644 --- a/pkgs/by-name/cu/cucumber/gemset.nix +++ b/pkgs/by-name/cu/cucumber/gemset.nix @@ -1,155 +1,171 @@ { bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7"; type = "gem"; }; version = "3.1.7"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; type = "gem"; }; version = "3.2.4"; }; cucumber = { - dependencies = ["builder" "cucumber-ci-environment" "cucumber-core" "cucumber-cucumber-expressions" "cucumber-gherkin" "cucumber-html-formatter" "cucumber-messages" "diff-lcs" "mini_mime" "multi_test" "sys-uname"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "builder" + "cucumber-ci-environment" + "cucumber-core" + "cucumber-cucumber-expressions" + "cucumber-gherkin" + "cucumber-html-formatter" + "cucumber-messages" + "diff-lcs" + "mini_mime" + "multi_test" + "sys-uname" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19qsfgahkah4k0pajxc04mjn8pig7g4n9nkcarg1nzs2612c29s8"; type = "gem"; }; version = "9.2.0"; }; cucumber-ci-environment = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cc6w7dqlmnp59ymi7pyspm3w4m7fn37x6b18pziv62wr373yvmv"; type = "gem"; }; version = "10.0.1"; }; cucumber-core = { - dependencies = ["cucumber-gherkin" "cucumber-messages" "cucumber-tag-expressions"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "cucumber-gherkin" + "cucumber-messages" + "cucumber-tag-expressions" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jf5ngxfc1q2y7l2nci3p91gp253aqdhkhazkz0yxq72n6zrszvm"; type = "gem"; }; version = "13.0.1"; }; cucumber-cucumber-expressions = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wsczwaqws1hbkirjhl0lh5s5xhc7cpmj2f790lkx10nr85rbpxi"; type = "gem"; }; version = "17.0.2"; }; cucumber-gherkin = { - dependencies = ["cucumber-messages"]; - groups = ["default"]; - platforms = []; + dependencies = [ "cucumber-messages" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "063p0slf6fvigdn3jynp5pjf9b05byyyi0jhsyapy46hq4984sif"; type = "gem"; }; version = "27.0.0"; }; cucumber-html-formatter = { - dependencies = ["cucumber-messages"]; - groups = ["default"]; - platforms = []; + dependencies = [ "cucumber-messages" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wznhl3b8b47zff0yx69828bx33n0vc60kh6110ml0xni7lx8xw1"; type = "gem"; }; version = "21.3.0"; }; cucumber-messages = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06d7dnixz68ivngf6qflmi6xrjshjyi85gmyjrl07pbmhqi6r2nh"; type = "gem"; }; version = "22.0.0"; }; cucumber-tag-expressions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g0fl6v1677q71nkaib2g3p03jdzrwgfanpi96srb1743qd54bk1"; type = "gem"; }; version = "6.1.0"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; version = "1.16.3"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; multi_test = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "042d6a1416h3di57z107ygmjdgacrpyswi73ryz75yv3v36m1rg9"; type = "gem"; }; version = "1.1.0"; }; sys-uname = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03j9qpqip89a0vk6s0gvhxzhbvafjcj5rss7i3jwha0831aivib3"; type = "gem"; }; diff --git a/pkgs/by-name/cu/cucumber/package.nix b/pkgs/by-name/cu/cucumber/package.nix index 55dcd9f49ac82..00354c0eb35ff 100644 --- a/pkgs/by-name/cu/cucumber/package.nix +++ b/pkgs/by-name/cu/cucumber/package.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "cucumber"; @@ -13,7 +17,11 @@ bundlerApp { changelog = "https://github.com/cucumber/cucumber-ruby/blob/main/CHANGELOG.md"; license = licenses.mit; mainProgram = "cucumber"; - maintainers = with maintainers; [ manveru nicknovitski anthonyroussel ]; + maintainers = with maintainers; [ + manveru + nicknovitski + anthonyroussel + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/cu/cudd/package.nix b/pkgs/by-name/cu/cudd/package.nix index 4e8cf59fbffd3..030c18b872486 100644 --- a/pkgs/by-name/cu/cudd/package.nix +++ b/pkgs/by-name/cu/cudd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "cudd"; diff --git a/pkgs/by-name/cu/cue/tests/001-all-good.nix b/pkgs/by-name/cu/cue/tests/001-all-good.nix index f7fc46eebea6b..874ac2d338d5d 100644 --- a/pkgs/by-name/cu/cue/tests/001-all-good.nix +++ b/pkgs/by-name/cu/cue/tests/001-all-good.nix @@ -1,10 +1,13 @@ -{ cue -, runCommand +{ + cue, + runCommand, }: -runCommand "cue-test-001-all-good-${cue.version}" { - nativeBuildInputs = [ cue ]; - meta.timeout = 10; -} '' +runCommand "cue-test-001-all-good-${cue.version}" + { + nativeBuildInputs = [ cue ]; + meta.timeout = 10; + } + '' cue eval - <<<'a: "all good"' > $out '' diff --git a/pkgs/by-name/cu/cue/validator.nix b/pkgs/by-name/cu/cue/validator.nix index 09e852347341d..48c69f6c9bf1b 100644 --- a/pkgs/by-name/cu/cue/validator.nix +++ b/pkgs/by-name/cu/cue/validator.nix @@ -1,17 +1,24 @@ -{ cue, writeShellScript, lib }: +{ + cue, + writeShellScript, + lib, +}: # `document` must be a fragment of definition or structure that the input data will be matched against. # `document` must exist in the Cue schema file provided (`cueSchemaFile`). # The result is a script that can be used to validate the input data (JSON/YAML and more can be supported depending on Cue) # against the fragment described by `document` or the whole definition. # The script will be strict and enforce concrete values, i.e. partial documents are not supported. -cueSchemaFile: { document ? null }: - writeShellScript "validate-using-cue" '' - ${cue}/bin/cue \ - --all-errors \ - --strict \ - vet \ - --concrete \ - "$1" \ - ${cueSchemaFile} \ - ${lib.optionalString (document != null) "-d \"${document}\""} - '' +cueSchemaFile: +{ + document ? null, +}: +writeShellScript "validate-using-cue" '' + ${cue}/bin/cue \ + --all-errors \ + --strict \ + vet \ + --concrete \ + "$1" \ + ${cueSchemaFile} \ + ${lib.optionalString (document != null) "-d \"${document}\""} +'' diff --git a/pkgs/by-name/cu/cue2pops/package.nix b/pkgs/by-name/cu/cue2pops/package.nix index 3cce608ffdc8f..69a353f20550e 100644 --- a/pkgs/by-name/cu/cue2pops/package.nix +++ b/pkgs/by-name/cu/cue2pops/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/cu/cuelsp/package.nix b/pkgs/by-name/cu/cuelsp/package.nix index b7a269843b352..948478fc08068 100644 --- a/pkgs/by-name/cu/cuelsp/package.nix +++ b/pkgs/by-name/cu/cuelsp/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cuelsp"; diff --git a/pkgs/by-name/cu/cuetools/package.nix b/pkgs/by-name/cu/cuetools/package.nix index 8b2cd28e4a027..8bc52e23dbc42 100644 --- a/pkgs/by-name/cu/cuetools/package.nix +++ b/pkgs/by-name/cu/cuetools/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, bison, flac, flex, id3v2, vorbis-tools +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flac, + flex, + id3v2, + vorbis-tools, }: stdenv.mkDerivation rec { @@ -15,7 +23,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ bison flac flex id3v2 vorbis-tools ]; + buildInputs = [ + bison + flac + flex + id3v2 + vorbis-tools + ]; postInstall = '' # add link for compatibility with Debian-based distros, which package `cuetag.sh` as `cuetag` @@ -26,7 +40,10 @@ stdenv.mkDerivation rec { description = "Set of utilities for working with cue files and toc files"; homepage = "https://github.com/svend/cuetools"; license = licenses.gpl2Only; - maintainers = with maintainers; [ codyopel jcumming ]; + maintainers = with maintainers; [ + codyopel + jcumming + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/cu/culmus/package.nix b/pkgs/by-name/cu/culmus/package.nix index 28a7f4385a01a..c724357e7e357 100644 --- a/pkgs/by-name/cu/culmus/package.nix +++ b/pkgs/by-name/cu/culmus/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "culmus"; diff --git a/pkgs/by-name/cu/cum/package.nix b/pkgs/by-name/cu/cum/package.nix index e1ea239b43fc4..158ce2015da9e 100644 --- a/pkgs/by-name/cu/cum/package.nix +++ b/pkgs/by-name/cu/cum/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: with python3Packages; @@ -12,7 +16,12 @@ buildPythonApplication rec { }; propagatedBuildInputs = [ - alembic beautifulsoup4 click natsort requests sqlalchemy + alembic + beautifulsoup4 + click + natsort + requests + sqlalchemy ]; # tests seem to fail for `config` not being defined, diff --git a/pkgs/by-name/cu/cuneiform/package.nix b/pkgs/by-name/cu/cuneiform/package.nix index 9332b25babfb1..6c54a577bc041 100644 --- a/pkgs/by-name/cu/cuneiform/package.nix +++ b/pkgs/by-name/cu/cuneiform/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, imagemagick, testers }: +{ + lib, + stdenv, + fetchurl, + cmake, + imagemagick, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "cuneiform"; @@ -10,14 +17,14 @@ stdenv.mkDerivation (finalAttrs: { }; patches = [ - (fetchurl { - url = "https://raw.githubusercontent.com/archlinux/svntogit-community/a2ec92f05de006b56d16ac6a6c370d54a554861a/cuneiform/trunk/build-fix.patch"; - sha256 = "19cmrlx4khn30qqrpyayn7bicg8yi0wpz1x1bvqqrbvr3kwldxyj"; - }) - (fetchurl { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/cuneiform/files/cuneiform-1.1.0-gcc11.patch"; - sha256 = "14bp2f4dvlgxnpdza1rgszhkbxhp6p7lhgnb1s7c1x7vwdrx0ri7"; - }) + (fetchurl { + url = "https://raw.githubusercontent.com/archlinux/svntogit-community/a2ec92f05de006b56d16ac6a6c370d54a554861a/cuneiform/trunk/build-fix.patch"; + sha256 = "19cmrlx4khn30qqrpyayn7bicg8yi0wpz1x1bvqqrbvr3kwldxyj"; + }) + (fetchurl { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/cuneiform/files/cuneiform-1.1.0-gcc11.patch"; + sha256 = "14bp2f4dvlgxnpdza1rgszhkbxhp6p7lhgnb1s7c1x7vwdrx0ri7"; + }) ]; # Workaround build failure on -fno-common toolchains like upstream diff --git a/pkgs/by-name/cu/cunit/package.nix b/pkgs/by-name/cu/cunit/package.nix index af623c659d513..756b9aa49f8e7 100644 --- a/pkgs/by-name/cu/cunit/package.nix +++ b/pkgs/by-name/cu/cunit/package.nix @@ -1,11 +1,23 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libtool, autoreconfHook}: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + libtool, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "CUnit"; version = "2.1-3"; - nativeBuildInputs = [ autoreconfHook autoconf automake ]; - buildInputs = [libtool]; + nativeBuildInputs = [ + autoreconfHook + autoconf + automake + ]; + buildInputs = [ libtool ]; src = fetchurl { url = "mirror://sourceforge/cunit/CUnit/${version}/CUnit-${version}.tar.bz2"; diff --git a/pkgs/by-name/cu/cups-bjnp/package.nix b/pkgs/by-name/cu/cups-bjnp/package.nix index 6c8c8f21a3a26..bf842bead9128 100644 --- a/pkgs/by-name/cu/cups-bjnp/package.nix +++ b/pkgs/by-name/cu/cups-bjnp/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, cups}: +{ + lib, + stdenv, + fetchurl, + cups, +}: stdenv.mkDerivation rec { pname = "cups-bjnp"; @@ -11,7 +16,7 @@ stdenv.mkDerivation rec { preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"''; - buildInputs = [cups]; + buildInputs = [ cups ]; env.NIX_CFLAGS_COMPILE = toString [ "-include stdio.h" "-Wno-error=stringop-truncation" diff --git a/pkgs/by-name/cu/cups-brother-hl3170cdw/package.nix b/pkgs/by-name/cu/cups-brother-hl3170cdw/package.nix index 5450997a5afcd..ffc6b6832d600 100644 --- a/pkgs/by-name/cu/cups-brother-hl3170cdw/package.nix +++ b/pkgs/by-name/cu/cups-brother-hl3170cdw/package.nix @@ -1,4 +1,20 @@ -{lib, stdenv, fetchurl, dpkg, makeWrapper, gnused, coreutils, psutils, gnugrep, ghostscript, file, a2ps, gawk, which, pkgsi686Linux }: +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + gnused, + coreutils, + psutils, + gnugrep, + ghostscript, + file, + a2ps, + gawk, + which, + pkgsi686Linux, +}: stdenv.mkDerivation rec { pname = "cups-brother-${model}"; @@ -19,7 +35,10 @@ stdenv.mkDerivation rec { hash = "sha256-N1GjQHth5k4qhbfWLInzub9DcNsee4gKc3EW2WIfrko="; }; - nativeBuildInputs = [ makeWrapper dpkg ]; + nativeBuildInputs = [ + makeWrapper + dpkg + ]; preUnpack = '' dpkg-deb -x ${lprdeb} $out @@ -70,13 +89,34 @@ stdenv.mkDerivation rec { --replace-fail printcap.local printcap wrapProgram $dir/lpd/filter${model} \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + a2ps + file + gnused + coreutils + ] + } wrapProgram $dir/inf/setupPrintcapij \ - --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + gnused + ] + } wrapProgram $dir/lpd/psconvertij2 \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript gnused coreutils gawk which ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + gnused + coreutils + gawk + which + ] + } patchelf --set-interpreter "$interpreter" "$dir/lpd/br${model}filter" patchelf --set-interpreter "$interpreter" "$out/usr/bin/brprintconf_${model}" @@ -96,15 +136,31 @@ stdenv.mkDerivation rec { --replace-fail /usr/share/cups/model/Brother "$out/share/cups/model/Brother" wrapProgram $out/lib/cups/filter/brother_lpdwrapper_${model} \ - --prefix PATH ":" ${ lib.makeBinPath [ coreutils psutils gnused gnugrep ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + psutils + gnused + gnugrep + ] + } ''; meta = with lib; { homepage = "https://www.brother.com/"; description = "Brother ${model} printer driver"; - sourceProvenance = with sourceTypes; [ binaryNativeCode fromSource ]; - license = with licenses; [ unfree gpl2Plus ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + sourceProvenance = with sourceTypes; [ + binaryNativeCode + fromSource + ]; + license = with licenses; [ + unfree + gpl2Plus + ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=${model}_all&os=128"; maintainers = with maintainers; [ luna_1024 ]; }; diff --git a/pkgs/by-name/cu/cups-brother-hll2350dw/package.nix b/pkgs/by-name/cu/cups-brother-hll2350dw/package.nix index f018c8b64544f..c793308aa5b10 100644 --- a/pkgs/by-name/cu/cups-brother-hll2350dw/package.nix +++ b/pkgs/by-name/cu/cups-brother-hll2350dw/package.nix @@ -1,20 +1,25 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, autoPatchelfHook -, makeWrapper -, perl -, gnused -, ghostscript -, file -, coreutils -, gnugrep -, which +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, + makeWrapper, + perl, + gnused, + ghostscript, + file, + coreutils, + gnugrep, + which, }: let - arches = [ "x86_64" "i686" "armv7l" ]; + arches = [ + "x86_64" + "i686" + "armv7l" + ]; runtimeDeps = [ ghostscript @@ -30,7 +35,11 @@ stdenv.mkDerivation rec { pname = "cups-brother-hll2350dw"; version = "4.0.0-1"; - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + makeWrapper + autoPatchelfHook + ]; buildInputs = [ perl ]; dontUnpack = true; @@ -40,17 +49,20 @@ stdenv.mkDerivation rec { sha256 = "0b7hhln105agc3rwpi7cjlx5nf4d2yk9iksahdv3725nnd06lg46"; }; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out - dpkg-deb -x $src $out + mkdir -p $out + dpkg-deb -x $src $out - # delete unnecessary files for the current architecture - '' + lib.concatMapStrings (arch: '' - echo Deleting files for ${arch} - rm -r "$out/opt/brother/Printers/HLL2350DW/lpd/${arch}" - '') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + '' + # delete unnecessary files for the current architecture + '' + + lib.concatMapStrings (arch: '' + echo Deleting files for ${arch} + rm -r "$out/opt/brother/Printers/HLL2350DW/lpd/${arch}" + '') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + + '' # bundled scripts don't understand the arch subdirectories for some reason ln -s \ diff --git a/pkgs/by-name/cu/cups-brother-hll2375dw/package.nix b/pkgs/by-name/cu/cups-brother-hll2375dw/package.nix index 5f27b6364d858..99d1dc12527da 100644 --- a/pkgs/by-name/cu/cups-brother-hll2375dw/package.nix +++ b/pkgs/by-name/cu/cups-brother-hll2375dw/package.nix @@ -1,20 +1,25 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, autoPatchelfHook -, makeWrapper -, perl -, gnused -, ghostscript -, file -, coreutils -, gnugrep -, which +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, + makeWrapper, + perl, + gnused, + ghostscript, + file, + coreutils, + gnugrep, + which, }: let - arches = [ "x86_64" "i686" "armv7l" ]; + arches = [ + "x86_64" + "i686" + "armv7l" + ]; runtimeDeps = [ ghostscript @@ -30,7 +35,11 @@ stdenv.mkDerivation rec { pname = "cups-brother-hll2375dw"; version = "4.0.0-1"; - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + makeWrapper + autoPatchelfHook + ]; buildInputs = [ perl ]; src = fetchurl { @@ -47,50 +56,51 @@ stdenv.mkDerivation rec { ./fix-perm.patch ]; - installPhase = '' - runHook preInstall - mkdir -p $out - cp -ar opt $out/opt - # delete unnecessary files for the current architecture - '' + lib.concatMapStrings - (arch: '' + installPhase = + '' + runHook preInstall + mkdir -p $out + cp -ar opt $out/opt + # delete unnecessary files for the current architecture + '' + + lib.concatMapStrings (arch: '' echo Deleting files for ${arch} rm -r "$out/opt/brother/Printers/HLL2375DW/lpd/${arch}" - '') - (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + '' - # bundled scripts don't understand the arch subdirectories for some reason - ln -s \ - "$out/opt/brother/Printers/HLL2375DW/lpd/${stdenv.hostPlatform.linuxArch}/"* \ - "$out/opt/brother/Printers/HLL2375DW/lpd/" + '') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + + '' + # bundled scripts don't understand the arch subdirectories for some reason + ln -s \ + "$out/opt/brother/Printers/HLL2375DW/lpd/${stdenv.hostPlatform.linuxArch}/"* \ + "$out/opt/brother/Printers/HLL2375DW/lpd/" - # Fix global references and replace auto discovery mechanism with hardcoded values - substituteInPlace $out/opt/brother/Printers/HLL2375DW/lpd/lpdfilter \ - --replace "my \$BR_PRT_PATH =" "my \$BR_PRT_PATH = \"$out/opt/brother/Printers/HLL2375DW\"; #" \ - --replace "PRINTER =~" "PRINTER = \"HLL2375DW\"; #" - substituteInPlace $out/opt/brother/Printers/HLL2375DW/cupswrapper/lpdwrapper \ - --replace "my \$basedir = C" "my \$basedir = \"$out/opt/brother/Printers/HLL2375DW\" ; #" \ - --replace "PRINTER =~" "PRINTER = \"HLL2375DW\"; #" + # Fix global references and replace auto discovery mechanism with hardcoded values + substituteInPlace $out/opt/brother/Printers/HLL2375DW/lpd/lpdfilter \ + --replace "my \$BR_PRT_PATH =" "my \$BR_PRT_PATH = \"$out/opt/brother/Printers/HLL2375DW\"; #" \ + --replace "PRINTER =~" "PRINTER = \"HLL2375DW\"; #" + substituteInPlace $out/opt/brother/Printers/HLL2375DW/cupswrapper/lpdwrapper \ + --replace "my \$basedir = C" "my \$basedir = \"$out/opt/brother/Printers/HLL2375DW\" ; #" \ + --replace "PRINTER =~" "PRINTER = \"HLL2375DW\"; #" - # Make sure all executables have the necessary runtime dependencies available - find "$out" -executable -and -type f | while read file; do - wrapProgram "$file" --prefix PATH : "${lib.makeBinPath runtimeDeps}" - done + # Make sure all executables have the necessary runtime dependencies available + find "$out" -executable -and -type f | while read file; do + wrapProgram "$file" --prefix PATH : "${lib.makeBinPath runtimeDeps}" + done - # Symlink filter and ppd into a location where CUPS will discover it - mkdir -p $out/lib/cups/filter - mkdir -p $out/share/cups/model - mkdir -p $out/etc/opt/brother/Printers/HLL2375DW/inf + # Symlink filter and ppd into a location where CUPS will discover it + mkdir -p $out/lib/cups/filter + mkdir -p $out/share/cups/model + mkdir -p $out/etc/opt/brother/Printers/HLL2375DW/inf - ln -s $out/opt/brother/Printers/HLL2375DW/inf/brHLL2375DWrc \ - $out/etc/opt/brother/Printers/HLL2375DW/inf/brHLL2375DWrc - ln -s \ - $out/opt/brother/Printers/HLL2375DW/cupswrapper/lpdwrapper \ - $out/lib/cups/filter/brother_lpdwrapper_HLL2375DW - ln -s \ - $out/opt/brother/Printers/HLL2375DW/cupswrapper/brother-HLL2375DW-cups-en.ppd \ - $out/share/cups/model/ - runHook postInstall - ''; + ln -s $out/opt/brother/Printers/HLL2375DW/inf/brHLL2375DWrc \ + $out/etc/opt/brother/Printers/HLL2375DW/inf/brHLL2375DWrc + ln -s \ + $out/opt/brother/Printers/HLL2375DW/cupswrapper/lpdwrapper \ + $out/lib/cups/filter/brother_lpdwrapper_HLL2375DW + ln -s \ + $out/opt/brother/Printers/HLL2375DW/cupswrapper/brother-HLL2375DW-cups-en.ppd \ + $out/share/cups/model/ + runHook postInstall + ''; meta = with lib; { homepage = "http://www.brother.com/"; diff --git a/pkgs/by-name/cu/cups-brother-mfcl2750dw/package.nix b/pkgs/by-name/cu/cups-brother-mfcl2750dw/package.nix index 73753b0dea076..25485338be510 100644 --- a/pkgs/by-name/cu/cups-brother-mfcl2750dw/package.nix +++ b/pkgs/by-name/cu/cups-brother-mfcl2750dw/package.nix @@ -1,20 +1,25 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, autoPatchelfHook -, makeWrapper -, perl -, gnused -, ghostscript -, file -, coreutils -, gnugrep -, which +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, + makeWrapper, + perl, + gnused, + ghostscript, + file, + coreutils, + gnugrep, + which, }: let - arches = [ "x86_64" "i686" "armv7l" ]; + arches = [ + "x86_64" + "i686" + "armv7l" + ]; runtimeDeps = [ ghostscript @@ -30,7 +35,11 @@ stdenv.mkDerivation rec { pname = "cups-brother-mfcl2750dw"; version = "4.0.0-1"; - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + makeWrapper + autoPatchelfHook + ]; buildInputs = [ perl ]; dontUnpack = true; @@ -40,17 +49,20 @@ stdenv.mkDerivation rec { hash = "sha256-3uDwzLQTF8r1tsGZ7ChGhk4ryQmVsZYdUaj9eFaC0jc="; }; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out - dpkg-deb -x $src $out + mkdir -p $out + dpkg-deb -x $src $out - # delete unnecessary files for the current architecture - '' + lib.concatMapStrings (arch: '' - echo Deleting files for ${arch} - rm -r "$out/opt/brother/Printers/MFCL2750DW/lpd/${arch}" - '') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + '' + # delete unnecessary files for the current architecture + '' + + lib.concatMapStrings (arch: '' + echo Deleting files for ${arch} + rm -r "$out/opt/brother/Printers/MFCL2750DW/lpd/${arch}" + '') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches) + + '' # bundled scripts don't understand the arch subdirectories for some reason ln -s \ diff --git a/pkgs/by-name/cu/cups-drv-rastertosag-gdi/package.nix b/pkgs/by-name/cu/cups-drv-rastertosag-gdi/package.nix index 162910827f892..bedf2d8a4340f 100644 --- a/pkgs/by-name/cu/cups-drv-rastertosag-gdi/package.nix +++ b/pkgs/by-name/cu/cups-drv-rastertosag-gdi/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchzip -, fetchpatch -, cups -, python3Packages -, patchPpdFilesHook +{ + lib, + fetchzip, + fetchpatch, + cups, + python3Packages, + patchPpdFilesHook, }: python3Packages.buildPythonApplication rec { @@ -15,13 +16,16 @@ python3Packages.buildPythonApplication rec { }; patches = [ # port to python 3 - ( fetchpatch { + (fetchpatch { url = "https://sources.debian.org/data/main/r/${pname}/0.1-7/debian/patches/0001-${pname}-python3.patch"; sha256 = "1l3xbrs67025595k9ba5794q3s74anizpbxwsshcfhmbrzd9h8hg"; }) ]; format = "other"; - nativeBuildInputs = [ (lib.getBin cups) patchPpdFilesHook ]; + nativeBuildInputs = [ + (lib.getBin cups) + patchPpdFilesHook + ]; # The source image also brings pre-built ppd files, # but we prefer to generate from source where possible, so # the following line generates ppd files from the drv file. @@ -45,7 +49,7 @@ python3Packages.buildPythonApplication rec { mainProgram = "rastertosag-gdi"; downloadPage = "https://www.openprinting.org/download/printing/rastertosag-gdi/"; homepage = "https://www.openprinting.org/driver/rastertosag-gdi/"; - license = lib.licenses.free; # just "GPL", according to README + license = lib.licenses.free; # just "GPL", according to README maintainers = [ lib.maintainers.yarny ]; longDescription = '' This package brings CUPS raster filter diff --git a/pkgs/by-name/cu/cups-dymo/package.nix b/pkgs/by-name/cu/cups-dymo/package.nix index c3186cafa264d..f1556eb1fd5c1 100644 --- a/pkgs/by-name/cu/cups-dymo/package.nix +++ b/pkgs/by-name/cu/cups-dymo/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, cups, ... }: +{ + stdenv, + lib, + fetchurl, + cups, + ... +}: stdenv.mkDerivation rec { pname = "cups-dymo"; @@ -17,7 +23,10 @@ stdenv.mkDerivation rec { buildInputs = [ cups ]; patches = [ ./fix-includes.patch ]; - makeFlags = [ "cupsfilterdir=$(out)/lib/cups/filter" "cupsmodeldir=$(out)/share/cups/model" ]; + makeFlags = [ + "cupsfilterdir=$(out)/lib/cups/filter" + "cupsmodeldir=$(out)/share/cups/model" + ]; meta = { description = "CUPS Linux drivers and SDK for DYMO printers"; diff --git a/pkgs/by-name/cu/cups-kyocera-3500-4500/package.nix b/pkgs/by-name/cu/cups-kyocera-3500-4500/package.nix index 6904372565472..1433672701952 100644 --- a/pkgs/by-name/cu/cups-kyocera-3500-4500/package.nix +++ b/pkgs/by-name/cu/cups-kyocera-3500-4500/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, cups -, autoPatchelfHook -, python3Packages - -# Sets the default paper format: use "EU" for A4, or "Global" for Letter -, region ? "EU" +{ + lib, + stdenv, + fetchurl, + cups, + autoPatchelfHook, + python3Packages, + + # Sets the default paper format: use "EU" for A4, or "Global" for Letter + region ? "EU", }: assert region == "Global" || region == "EU"; @@ -56,23 +57,34 @@ stdenv.mkDerivation rec { sourceRoot = "."; - unpackCmd = let - platforms = { - x86_64-linux = "amd64"; - i686-linux = "i386"; - }; - platform = platforms.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); - in '' - ar p "$src/Debian/${region}/kyodialog_${platform}/kyodialog_${kyodialog_version_long}-0_${platform}.deb" data.tar.gz | tar -xz - ''; + unpackCmd = + let + platforms = { + x86_64-linux = "amd64"; + i686-linux = "i386"; + }; + platform = + platforms.${stdenv.hostPlatform.system} + or (throw "unsupported system: ${stdenv.hostPlatform.system}"); + in + '' + ar p "$src/Debian/${region}/kyodialog_${platform}/kyodialog_${kyodialog_version_long}-0_${platform}.deb" data.tar.gz | tar -xz + ''; - nativeBuildInputs = [ autoPatchelfHook python3Packages.wrapPython ]; + nativeBuildInputs = [ + autoPatchelfHook + python3Packages.wrapPython + ]; buildInputs = [ cups ]; # For lib/cups/filter/kyofilter_pre_H. # The source already contains a copy of pypdf3, but we use the Nix package - propagatedBuildInputs = with python3Packages; [ reportlab pypdf3 setuptools ]; + propagatedBuildInputs = with python3Packages; [ + reportlab + pypdf3 + setuptools + ]; installPhase = '' # allow cups to find the ppd files @@ -96,6 +108,9 @@ stdenv.mkDerivation rec { sourceProvenance = [ sourceTypes.binaryNativeCode ]; license = licenses.unfree; maintainers = [ maintainers.me-and ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/cu/cups-kyocera-ecosys-m2x35-40-p2x35-40dnw/package.nix b/pkgs/by-name/cu/cups-kyocera-ecosys-m2x35-40-p2x35-40dnw/package.nix index 985a172d8731b..4c5fb5839c116 100644 --- a/pkgs/by-name/cu/cups-kyocera-ecosys-m2x35-40-p2x35-40dnw/package.nix +++ b/pkgs/by-name/cu/cups-kyocera-ecosys-m2x35-40-p2x35-40dnw/package.nix @@ -1,22 +1,25 @@ -{ stdenv -, lib -, fetchzip +{ + stdenv, + lib, + fetchzip, # can either be "EU" or "Global"; it's unclear what the difference is -, region ? "Global" + region ? "Global", # can be either "English", "French", "German", "Italian", "Portguese" or "Spanish" -, language ? "English" + language ? "English", }: stdenv.mkDerivation rec { pname = "cups-kyocera-ecosys-m2x35-40-p2x35-40dnw"; version = "8.1606"; - src = let - urlVersion = builtins.replaceStrings [ "." ] [ "_" ] version; - in fetchzip { - url = "https://www.kyoceradocumentsolutions.de/content/download-center/de/drivers/all/Linux_${urlVersion}_ECOSYS_M2x35_40_P2x35_40dnw_zip.download.zip"; - sha256 = "10crxdfj62ini70vv471445zi6q0l9fmg2jsd74sp6fr0qa0kvr7"; - }; + src = + let + urlVersion = builtins.replaceStrings [ "." ] [ "_" ] version; + in + fetchzip { + url = "https://www.kyoceradocumentsolutions.de/content/download-center/de/drivers/all/Linux_${urlVersion}_ECOSYS_M2x35_40_P2x35_40dnw_zip.download.zip"; + sha256 = "10crxdfj62ini70vv471445zi6q0l9fmg2jsd74sp6fr0qa0kvr7"; + }; installPhase = '' mkdir -p $out/share/cups/model/Kyocera diff --git a/pkgs/by-name/cu/cups-kyocera-ecosys-m552x-p502x/package.nix b/pkgs/by-name/cu/cups-kyocera-ecosys-m552x-p502x/package.nix index 66e3d036bcc63..2a263b04cfcc3 100644 --- a/pkgs/by-name/cu/cups-kyocera-ecosys-m552x-p502x/package.nix +++ b/pkgs/by-name/cu/cups-kyocera-ecosys-m552x-p502x/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchzip +{ + stdenv, + lib, + fetchzip, # can either be "EU" or "Global"; it's unclear what the difference is -, region ? "Global" + region ? "Global", }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cu/cups-kyocera/package.nix b/pkgs/by-name/cu/cups-kyocera/package.nix index cd435bc496622..3b2d3b6ba504c 100644 --- a/pkgs/by-name/cu/cups-kyocera/package.nix +++ b/pkgs/by-name/cu/cups-kyocera/package.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, cups -, fetchzip -, patchPpdFilesHook +{ + lib, + stdenv, + cups, + fetchzip, + patchPpdFilesHook, }: let platform = - if stdenv.hostPlatform.system == "x86_64-linux" then "64bit" - else if stdenv.hostPlatform.system == "i686-linux" then "32bit" - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + if stdenv.hostPlatform.system == "x86_64-linux" then + "64bit" + else if stdenv.hostPlatform.system == "i686-linux" then + "32bit" + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; libPath = lib.makeLibraryPath [ cups ]; in diff --git a/pkgs/by-name/cu/cups-kyodialog/package.nix b/pkgs/by-name/cu/cups-kyodialog/package.nix index ad2d113465ce7..2cd8ea9111405 100644 --- a/pkgs/by-name/cu/cups-kyodialog/package.nix +++ b/pkgs/by-name/cu/cups-kyodialog/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchzip -, cups -, autoPatchelfHook -, python3Packages - -# Sets the default paper format: use "EU" for A4, or "Global" for Letter -, region ? "EU" -# optional GUI, quite redundant to CUPS admin web GUI -, withQtGui ? false -, qt5 +{ + lib, + stdenv, + fetchzip, + cups, + autoPatchelfHook, + python3Packages, + + # Sets the default paper format: use "EU" for A4, or "Global" for Letter + region ? "EU", + # optional GUI, quite redundant to CUPS admin web GUI + withQtGui ? false, + qt5, }: # Open issues: @@ -52,52 +53,64 @@ stdenv.mkDerivation rec { sourceRoot = "."; - unpackCmd = let - platforms = { - x86_64-linux = "amd64"; - i686-linux = "i386"; - }; - platform = platforms.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); - in '' - ar p "$src/Debian/${region}/kyodialog_${platform}/kyodialog_${kyodialog_version}-0_${platform}.deb" data.tar.gz | tar -xz - ''; + unpackCmd = + let + platforms = { + x86_64-linux = "amd64"; + i686-linux = "i386"; + }; + platform = + platforms.${stdenv.hostPlatform.system} + or (throw "unsupported system: ${stdenv.hostPlatform.system}"); + in + '' + ar p "$src/Debian/${region}/kyodialog_${platform}/kyodialog_${kyodialog_version}-0_${platform}.deb" data.tar.gz | tar -xz + ''; - nativeBuildInputs = [ autoPatchelfHook python3Packages.wrapPython ] - ++ lib.optionals withQtGui [ qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ + autoPatchelfHook + python3Packages.wrapPython + ] ++ lib.optionals withQtGui [ qt5.wrapQtAppsHook ]; buildInputs = [ cups ] ++ lib.optionals withQtGui [ qt5.qtbase ]; # For lib/cups/filter/kyofilter_pre_H. # The source already contains a copy of pypdf3, but we use the Nix package - propagatedBuildInputs = with python3Packages; [ reportlab pypdf3 setuptools ]; + propagatedBuildInputs = with python3Packages; [ + reportlab + pypdf3 + setuptools + ]; - installPhase = '' - # allow cups to find the ppd files - mkdir -p $out/share/cups/model - mv ./usr/share/kyocera${kyodialog_version}/ppd${kyodialog_version} $out/share/cups/model/Kyocera + installPhase = + '' + # allow cups to find the ppd files + mkdir -p $out/share/cups/model + mv ./usr/share/kyocera${kyodialog_version}/ppd${kyodialog_version} $out/share/cups/model/Kyocera - # remove absolute path prefixes to filters in ppd - find $out -name "*.ppd" -exec sed -E -i "s:/usr/lib/cups/filter/::g" {} \; + # remove absolute path prefixes to filters in ppd + find $out -name "*.ppd" -exec sed -E -i "s:/usr/lib/cups/filter/::g" {} \; - mkdir -p $out/lib/cups/ - mv ./usr/lib/cups/filter/ $out/lib/cups/ - # for lib/cups/filter/kyofilter_pre_H - wrapPythonProgramsIn $out/lib/cups/filter "$propagatedBuildInputs" + mkdir -p $out/lib/cups/ + mv ./usr/lib/cups/filter/ $out/lib/cups/ + # for lib/cups/filter/kyofilter_pre_H + wrapPythonProgramsIn $out/lib/cups/filter "$propagatedBuildInputs" - install -Dm444 usr/share/doc/kyodialog/copyright $out/share/doc/${pname}/copyright - '' + lib.optionalString withQtGui '' - install -D usr/bin/kyoPPDWrite_H $out/bin/kyoPPDWrite_H - install -D usr/bin/kyodialog${kyodialog_version} $out/bin/kyodialog + install -Dm444 usr/share/doc/kyodialog/copyright $out/share/doc/${pname}/copyright + '' + + lib.optionalString withQtGui '' + install -D usr/bin/kyoPPDWrite_H $out/bin/kyoPPDWrite_H + install -D usr/bin/kyodialog${kyodialog_version} $out/bin/kyodialog - install -Dm444 usr/share/kyocera${kyodialog_version}/appicon_H.png $out/share/${pname}/icons/appicon_H.png + install -Dm444 usr/share/kyocera${kyodialog_version}/appicon_H.png $out/share/${pname}/icons/appicon_H.png - install -Dm444 usr/share/applications/kyodialog${kyodialog_version}.desktop $out/share/applications/kyodialog.desktop - substituteInPlace $out/share/applications/kyodialog.desktop \ - --replace Exec=\"/usr/bin/kyodialog${kyodialog_version}\" Exec=\"$out/bin/kyodialog\" \ - --replace Icon=/usr/share/kyocera/appicon_H.png Icon=$out/share/${pname}/icons/appicon_H.png - ''; + install -Dm444 usr/share/applications/kyodialog${kyodialog_version}.desktop $out/share/applications/kyodialog.desktop + substituteInPlace $out/share/applications/kyodialog.desktop \ + --replace Exec=\"/usr/bin/kyodialog${kyodialog_version}\" Exec=\"$out/bin/kyodialog\" \ + --replace Icon=/usr/share/kyocera/appicon_H.png Icon=$out/share/${pname}/icons/appicon_H.png + ''; meta = with lib; { description = "CUPS drivers for several Kyocera printers"; @@ -105,6 +118,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = [ maintainers.steveej ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/cu/cups-pdf-to-pdf/package.nix b/pkgs/by-name/cu/cups-pdf-to-pdf/package.nix index 7eb957af643fd..3ea77ae473201 100644 --- a/pkgs/by-name/cu/cups-pdf-to-pdf/package.nix +++ b/pkgs/by-name/cu/cups-pdf-to-pdf/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cups -, coreutils -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cups, + coreutils, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cu/cups-printers/package.nix b/pkgs/by-name/cu/cups-printers/package.nix index 7b0cf99298a87..be8f8a12cd29a 100644 --- a/pkgs/by-name/cu/cups-printers/package.nix +++ b/pkgs/by-name/cu/cups-printers/package.nix @@ -23,14 +23,11 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ poetry-core ]; - - dependencies = - with python3.pkgs; - [ - pycups - typer - validators - ]; + dependencies = with python3.pkgs; [ + pycups + typer + validators + ]; # Project has no tests doCheck = false; diff --git a/pkgs/by-name/cu/cups-toshiba-estudio/package.nix b/pkgs/by-name/cu/cups-toshiba-estudio/package.nix index 1af8d1f575b86..e73abb435ff20 100644 --- a/pkgs/by-name/cu/cups-toshiba-estudio/package.nix +++ b/pkgs/by-name/cu/cups-toshiba-estudio/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation { pname = "cups-toshiba-estudio"; diff --git a/pkgs/by-name/cu/cups-zj-58/package.nix b/pkgs/by-name/cu/cups-zj-58/package.nix index 0e2534997e350..d36607d762494 100644 --- a/pkgs/by-name/cu/cups-zj-58/package.nix +++ b/pkgs/by-name/cu/cups-zj-58/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, cups}: +{ + lib, + stdenv, + fetchFromGitHub, + cups, +}: stdenv.mkDerivation { pname = "cups-zj-58"; diff --git a/pkgs/by-name/cu/curie/package.nix b/pkgs/by-name/cu/curie/package.nix index ba7d43055f95b..63d14ddfc34e6 100644 --- a/pkgs/by-name/cu/curie/package.nix +++ b/pkgs/by-name/cu/curie/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "curie"; diff --git a/pkgs/by-name/cu/curlftpfs/package.nix b/pkgs/by-name/cu/curlftpfs/package.nix index 06a86a74b523d..794544a22aaef 100644 --- a/pkgs/by-name/cu/curlftpfs/package.nix +++ b/pkgs/by-name/cu/curlftpfs/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, autoreconfHook, fuse, curl, pkg-config, glib, zlib }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + fuse, + curl, + pkg-config, + glib, + zlib, +}: stdenv.mkDerivation rec { pname = "curlftpfs"; @@ -18,8 +28,16 @@ stdenv.mkDerivation rec { ./suse-bug-955687.patch ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ fuse curl glib zlib ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + fuse + curl + glib + zlib + ]; CFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-D__off_t=off_t"; diff --git a/pkgs/by-name/cu/curlie/package.nix b/pkgs/by-name/cu/curlie/package.nix index db70b9a51f0ec..b215a3dfb105d 100644 --- a/pkgs/by-name/cu/curlie/package.nix +++ b/pkgs/by-name/cu/curlie/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, lib, curlie, testers }: +{ + buildGoModule, + fetchFromGitHub, + lib, + curlie, + testers, +}: buildGoModule rec { pname = "curlie"; @@ -17,7 +23,11 @@ buildGoModule rec { vendorHash = "sha256-VsPdMUfS4UVem6uJgFISfFHQEKtIumDQktHQFPC1muc="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; passthru.tests.version = testers.testVersion { package = curlie; diff --git a/pkgs/by-name/cu/curlpp/package.nix b/pkgs/by-name/cu/curlpp/package.nix index 26f52d9dbaed0..eb2c8f8f95e61 100644 --- a/pkgs/by-name/cu/curlpp/package.nix +++ b/pkgs/by-name/cu/curlpp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + curl, +}: stdenv.mkDerivation rec { pname = "curlpp"; diff --git a/pkgs/by-name/cu/curseradio/package.nix b/pkgs/by-name/cu/curseradio/package.nix index 0faa58b998843..ef38287b2d328 100644 --- a/pkgs/by-name/cu/curseradio/package.nix +++ b/pkgs/by-name/cu/curseradio/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, substituteAll, python3Packages, mpv }: +{ + lib, + fetchFromGitHub, + substituteAll, + python3Packages, + mpv, +}: python3Packages.buildPythonApplication rec { version = "0.2"; diff --git a/pkgs/by-name/cu/cursewords/package.nix b/pkgs/by-name/cu/cursewords/package.nix index d73705090e1d6..f4f3d808cab3f 100644 --- a/pkgs/by-name/cu/cursewords/package.nix +++ b/pkgs/by-name/cu/cursewords/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { pname = "cursewords"; diff --git a/pkgs/by-name/cu/curtail/package.nix b/pkgs/by-name/cu/curtail/package.nix index 591394d76a066..82eb25d5e8afa 100644 --- a/pkgs/by-name/cu/curtail/package.nix +++ b/pkgs/by-name/cu/curtail/package.nix @@ -1,21 +1,22 @@ -{ lib -, python3 -, fetchFromGitHub -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils -, gettext -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, gobject-introspection -, jpegoptim -, libwebp -, optipng -, pngquant -, oxipng +{ + lib, + python3, + fetchFromGitHub, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, + gettext, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + gobject-introspection, + jpegoptim, + libwebp, + optipng, + pngquant, + oxipng, }: python3.pkgs.buildPythonApplication rec { @@ -63,7 +64,15 @@ python3.pkgs.buildPythonApplication rec { preFixup = '' makeWrapperArgs+=( "''${gappsWrapperArgs[@]}" - "--prefix" "PATH" ":" "${lib.makeBinPath [ jpegoptim libwebp optipng pngquant oxipng ]}" + "--prefix" "PATH" ":" "${ + lib.makeBinPath [ + jpegoptim + libwebp + optipng + pngquant + oxipng + ] + }" ) ''; diff --git a/pkgs/by-name/cu/curv/package.nix b/pkgs/by-name/cu/curv/package.nix index f1f66784aa510..88a270fd62950 100644 --- a/pkgs/by-name/cu/curv/package.nix +++ b/pkgs/by-name/cu/curv/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, eigen -, glm -, libGL -, libpng -, openexr -, tbb -, xorg -, ilmbase -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + eigen, + glm, + libGL, + libpng, + openexr, + tbb, + xorg, + ilmbase, + llvmPackages, }: stdenv.mkDerivation rec { @@ -31,24 +32,26 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = [ - boost - eigen - glm - libGL - libpng - openexr - tbb - xorg.libX11 - xorg.libXcursor - xorg.libXext - xorg.libXi - xorg.libXinerama - xorg.libXrandr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ilmbase - llvmPackages.openmp - ]; + buildInputs = + [ + boost + eigen + glm + libGL + libpng + openexr + tbb + xorg.libX11 + xorg.libXcursor + xorg.libXext + xorg.libXi + xorg.libXinerama + xorg.libXrandr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ilmbase + llvmPackages.openmp + ]; # GPU tests do not work in sandbox, instead we do this for sanity checkPhase = '' diff --git a/pkgs/by-name/cu/cutecapture/package.nix b/pkgs/by-name/cu/cutecapture/package.nix index 238249883ef99..77859e6b47557 100644 --- a/pkgs/by-name/cu/cutecapture/package.nix +++ b/pkgs/by-name/cu/cutecapture/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libusb1 -, sfml +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libusb1, + sfml, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cu/cutee/package.nix b/pkgs/by-name/cu/cutee/package.nix index eb5f51cbcfeb4..a25111f7a3ddf 100644 --- a/pkgs/by-name/cu/cutee/package.nix +++ b/pkgs/by-name/cu/cutee/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "cutee"; version = "0.4.2"; src = fetchurl { - url = "http://www.codesink.org/download/${pname}-${version}.tar.gz"; + url = "http://www.codesink.org/download/${pname}-${version}.tar.gz"; sha256 = "18bzvhzx8k24mpcim5669n3wg9hd0sfsxj8zjpbr24hywrlppgc2"; }; @@ -19,9 +23,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C++ Unit Testing Easy Environment"; mainProgram = "cutee"; - homepage = "https://www.codesink.org/cutee_unit_testing.html"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ leenaars]; + homepage = "https://www.codesink.org/cutee_unit_testing.html"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ leenaars ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/cu/cuyo/package.nix b/pkgs/by-name/cu/cuyo/package.nix index 6132b33a3b890..f95a9d3b5a91e 100644 --- a/pkgs/by-name/cu/cuyo/package.nix +++ b/pkgs/by-name/cu/cuyo/package.nix @@ -1,21 +1,32 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer, zlib }: +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_mixer, + zlib, +}: stdenv.mkDerivation { pname = "cuyo"; version = "2.1.0"; src = fetchurl { - url = "https://download.savannah.gnu.org/releases/cuyo/cuyo-2.1.0.tar.gz"; - sha256 = "17yqv924x7yvwix7yz9jdhgyar8lzdhqvmpvv0any8rdkajhj23c"; - }; + url = "https://download.savannah.gnu.org/releases/cuyo/cuyo-2.1.0.tar.gz"; + sha256 = "17yqv924x7yvwix7yz9jdhgyar8lzdhqvmpvv0any8rdkajhj23c"; + }; - buildInputs = [ SDL SDL_mixer zlib ]; + buildInputs = [ + SDL + SDL_mixer + zlib + ]; meta = { - homepage = "http://karimmi.de/cuyo"; - description = "Stacking blocks game, with different rules for each level"; - mainProgram = "cuyo"; - license = lib.licenses.gpl2Plus; + homepage = "http://karimmi.de/cuyo"; + description = "Stacking blocks game, with different rules for each level"; + mainProgram = "cuyo"; + license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/cv/cvc4/package.nix b/pkgs/by-name/cv/cvc4/package.nix index c44b495f2caef..9cd516c7aa8ba 100644 --- a/pkgs/by-name/cv/cvc4/package.nix +++ b/pkgs/by-name/cv/cvc4/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cmake, cln, gmp, git, swig, pkg-config -, readline, libantlr3c, boost, jdk, python3, antlr3_4 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + cln, + gmp, + git, + swig, + pkg-config, + readline, + libantlr3c, + boost, + jdk, + python3, + antlr3_4, }: stdenv.mkDerivation rec { @@ -7,15 +21,28 @@ stdenv.mkDerivation rec { version = "1.8"; src = fetchFromGitHub { - owner = "cvc4"; - repo = "cvc4"; - rev = version; + owner = "cvc4"; + repo = "cvc4"; + rev = version; sha256 = "1rhs4pvzaa1wk00czrczp58b2cxfghpsnq534m0l3snnya2958jp"; }; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ gmp git python3.pkgs.toml readline swig libantlr3c antlr3_4 boost jdk python3 ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ cln ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = [ + gmp + git + python3.pkgs.toml + readline + swig + libantlr3c + antlr3_4 + boost + jdk + python3 + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ cln ]; configureFlags = [ "--enable-language-bindings=c,c++,java" "--enable-gpl" @@ -41,9 +68,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "High-performance theorem prover and SMT solver"; mainProgram = "cvc4"; - homepage = "http://cvc4.cs.stanford.edu/web/"; - license = licenses.gpl3; - platforms = platforms.unix; - maintainers = with maintainers; [ vbgl thoughtpolice gebner ]; + homepage = "http://cvc4.cs.stanford.edu/web/"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ + vbgl + thoughtpolice + gebner + ]; }; } diff --git a/pkgs/by-name/cv/cvehound/package.nix b/pkgs/by-name/cv/cvehound/package.nix index 9eedade72dd9c..5e86d13d1e23f 100644 --- a/pkgs/by-name/cv/cvehound/package.nix +++ b/pkgs/by-name/cv/cvehound/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, coccinelle -, gnugrep -, python3 +{ + lib, + fetchFromGitHub, + coccinelle, + gnugrep, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -17,7 +18,12 @@ python3.pkgs.buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ coccinelle gnugrep ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + coccinelle + gnugrep + ] + }" ]; propagatedBuildInputs = with python3.pkgs; [ @@ -40,7 +46,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/evdenis/cvehound"; changelog = "https://github.com/evdenis/cvehound/blob/${src.rev}/ChangeLog"; # See https://github.com/evdenis/cvehound/issues/22 - license = with licenses; [ gpl2Only gpl3Plus ]; + license = with licenses; [ + gpl2Only + gpl3Plus + ]; maintainers = with maintainers; [ ambroisie ]; }; } diff --git a/pkgs/by-name/cv/cvemap/package.nix b/pkgs/by-name/cv/cvemap/package.nix index a9709006e2fc7..0146986657db3 100644 --- a/pkgs/by-name/cv/cvemap/package.nix +++ b/pkgs/by-name/cv/cvemap/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/cv/cvs-fast-export/package.nix b/pkgs/by-name/cv/cvs-fast-export/package.nix index a58cda5436584..86d78a751d3ce 100644 --- a/pkgs/by-name/cv/cvs-fast-export/package.nix +++ b/pkgs/by-name/cv/cvs-fast-export/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, makeWrapper, asciidoc, docbook_xml_dtd_45, docbook_xsl -, coreutils, cvs, diffutils, findutils, git, python3, rsync +{ + lib, + stdenv, + fetchurl, + makeWrapper, + asciidoc, + docbook_xml_dtd_45, + docbook_xsl, + coreutils, + cvs, + diffutils, + findutils, + git, + python3, + rsync, }: stdenv.mkDerivation rec { @@ -12,7 +25,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ makeWrapper asciidoc ]; + nativeBuildInputs = [ + makeWrapper + asciidoc + ]; buildInputs = [ python3 ]; postPatch = '' @@ -33,9 +49,15 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/cvssync --prefix PATH : ${lib.makeBinPath [ rsync ]} - wrapProgram $out/bin/cvsconvert --prefix PATH : $out/bin:${lib.makeBinPath [ - coreutils cvs diffutils findutils git - ]} + wrapProgram $out/bin/cvsconvert --prefix PATH : $out/bin:${ + lib.makeBinPath [ + coreutils + cvs + diffutils + findutils + git + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/cv/cvs2svn/package.nix b/pkgs/by-name/cv/cvs2svn/package.nix index 5ddb9a0da84b3..c493c07d97bbc 100644 --- a/pkgs/by-name/cv/cvs2svn/package.nix +++ b/pkgs/by-name/cv/cvs2svn/package.nix @@ -1,10 +1,16 @@ -{ lib, fetchurl, makeWrapper -, pypy2Packages -, cvs, subversion, git, breezy -, installShellFiles +{ + lib, + fetchurl, + makeWrapper, + pypy2Packages, + cvs, + subversion, + git, + breezy, + installShellFiles, }: -pypy2Packages.buildPythonApplication rec { +pypy2Packages.buildPythonApplication rec { pname = "cvs2svn"; version = "2.5.0"; @@ -13,9 +19,16 @@ pypy2Packages.buildPythonApplication rec { sha256 = "1ska0z15sjhyfi860rjazz9ya1gxbf5c0h8dfqwz88h7fccd22b4"; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; - nativeCheckInputs = [ subversion git breezy ]; + nativeCheckInputs = [ + subversion + git + breezy + ]; checkPhase = "${pypy2Packages.python.interpreter} run-tests.py"; @@ -33,7 +46,10 @@ pypy2Packages.buildPythonApplication rec { meta = with lib; { description = "Tool to convert CVS repositories to Subversion repositories"; homepage = "https://github.com/mhagger/cvs2svn"; - maintainers = with maintainers; [ makefu viraptor ]; + maintainers = with maintainers; [ + makefu + viraptor + ]; platforms = platforms.unix; license = licenses.asl20; }; diff --git a/pkgs/by-name/cv/cvsps/package.nix b/pkgs/by-name/cv/cvsps/package.nix index 85c092ffe7a61..cd2d043539d4a 100644 --- a/pkgs/by-name/cv/cvsps/package.nix +++ b/pkgs/by-name/cv/cvsps/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, cvs, zlib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cvs, + zlib, +}: stdenv.mkDerivation rec { pname = "cvsps"; @@ -10,39 +17,42 @@ stdenv.mkDerivation rec { }; # Patches from https://sources.debian.net/src/cvsps/2.1-7/debian/patches - patches = - [ (fetchpatch { - url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/01_ignoretrunk.patch"; - sha256 = "1gzb97dw2a6bm0bmim7p7wvsn0r82y3a8n22ln6rbbkkd8vlnzcb"; - }) - - (fetchpatch { - url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/02_dynamicbufferalloc.patch"; - sha256 = "0dm7azxnw0g9pdqkb3y4y2h047zgrclbh40av6c868wfp2j6l9sc"; - }) - - (fetchpatch { - url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/03_diffoptstypo.patch"; - sha256 = "06n8652g7inpv8cgqir7ijq00qw1fr0v44m2pbmgx7ilmna2vrcw"; - }) - - (fetchpatch { - url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/05-inet_addr_fix.patch"; - sha256 = "10w6px96dz8bb69asjzshvp787ccazmqnjsggqc4gwdal95q3cn7"; - }) - - (fetchpatch { - url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/fix-makefile"; - sha256 = "0m92b55hgldwg6lwdaybbj0n3lw1b3wj2xkk1cz1ywq073bpf3jm"; - }) - - (fetchpatch { - url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/fix-manpage"; - sha256 = "0gky14rhx82wv0gj8bkc74ki5xilhv5i3k1jc7khklr4lb6mmhpx"; - }) - ]; - - buildInputs = [ cvs zlib ]; + patches = [ + (fetchpatch { + url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/01_ignoretrunk.patch"; + sha256 = "1gzb97dw2a6bm0bmim7p7wvsn0r82y3a8n22ln6rbbkkd8vlnzcb"; + }) + + (fetchpatch { + url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/02_dynamicbufferalloc.patch"; + sha256 = "0dm7azxnw0g9pdqkb3y4y2h047zgrclbh40av6c868wfp2j6l9sc"; + }) + + (fetchpatch { + url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/03_diffoptstypo.patch"; + sha256 = "06n8652g7inpv8cgqir7ijq00qw1fr0v44m2pbmgx7ilmna2vrcw"; + }) + + (fetchpatch { + url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/05-inet_addr_fix.patch"; + sha256 = "10w6px96dz8bb69asjzshvp787ccazmqnjsggqc4gwdal95q3cn7"; + }) + + (fetchpatch { + url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/fix-makefile"; + sha256 = "0m92b55hgldwg6lwdaybbj0n3lw1b3wj2xkk1cz1ywq073bpf3jm"; + }) + + (fetchpatch { + url = "https://sources.debian.net/data/main/c/cvsps/2.1-7/debian/patches/fix-manpage"; + sha256 = "0gky14rhx82wv0gj8bkc74ki5xilhv5i3k1jc7khklr4lb6mmhpx"; + }) + ]; + + buildInputs = [ + cvs + zlib + ]; installFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/by-name/cv/cvsq/package.nix b/pkgs/by-name/cv/cvsq/package.nix index 09e687af7ba39..13f7ee5547d4a 100644 --- a/pkgs/by-name/cv/cvsq/package.nix +++ b/pkgs/by-name/cv/cvsq/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchurl -, makeWrapper -, cvs -, perl -, nettools -, findutils -, rsync -, coreutils -, diffutils -} : +{ + lib, + stdenv, + fetchurl, + makeWrapper, + cvs, + perl, + nettools, + findutils, + rsync, + coreutils, + diffutils, +}: stdenv.mkDerivation rec { pname = "cvsq"; @@ -20,24 +22,71 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cvs perl nettools findutils rsync coreutils diffutils ]; - + buildInputs = [ + cvs + perl + nettools + findutils + rsync + coreutils + diffutils + ]; makeFlags = [ "prefix=$(out)" ]; postInstall = '' substituteInPlace $out/bin/cvsq --replace "/bin/sh" "${stdenv.shell}" substituteInPlace $out/bin/lcvs --replace "/bin/sh" "${stdenv.shell}" - wrapProgram $out/bin/cvsq --prefix PATH : ${lib.makeBinPath - [ cvs nettools findutils rsync coreutils diffutils ]} - wrapProgram $out/bin/cvsq-branch --prefix PATH : ${lib.makeBinPath - [ cvs nettools findutils rsync coreutils diffutils ]} - wrapProgram $out/bin/cvsq-merge --prefix PATH : ${lib.makeBinPath - [ cvs nettools findutils rsync coreutils diffutils ]} - wrapProgram $out/bin/cvsq-switch --prefix PATH : ${lib.makeBinPath - [ cvs nettools findutils rsync coreutils diffutils ]} - wrapProgram $out/bin/lcvs --prefix PATH : ${lib.makeBinPath - [ cvs nettools findutils rsync coreutils diffutils ]} + wrapProgram $out/bin/cvsq --prefix PATH : ${ + lib.makeBinPath [ + cvs + nettools + findutils + rsync + coreutils + diffutils + ] + } + wrapProgram $out/bin/cvsq-branch --prefix PATH : ${ + lib.makeBinPath [ + cvs + nettools + findutils + rsync + coreutils + diffutils + ] + } + wrapProgram $out/bin/cvsq-merge --prefix PATH : ${ + lib.makeBinPath [ + cvs + nettools + findutils + rsync + coreutils + diffutils + ] + } + wrapProgram $out/bin/cvsq-switch --prefix PATH : ${ + lib.makeBinPath [ + cvs + nettools + findutils + rsync + coreutils + diffutils + ] + } + wrapProgram $out/bin/lcvs --prefix PATH : ${ + lib.makeBinPath [ + cvs + nettools + findutils + rsync + coreutils + diffutils + ] + } ''; meta = { diff --git a/pkgs/by-name/cw/cw/package.nix b/pkgs/by-name/cw/cw/package.nix index 4fb987abd5e69..8e3da631217e3 100644 --- a/pkgs/by-name/cw/cw/package.nix +++ b/pkgs/by-name/cw/cw/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cw"; diff --git a/pkgs/by-name/cw/cwebbin/package.nix b/pkgs/by-name/cw/cwebbin/package.nix index fc07a523ff0b5..c6ec2f0dbd728 100644 --- a/pkgs/by-name/cw/cwebbin/package.nix +++ b/pkgs/by-name/cw/cwebbin/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, tie }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + tie, +}: let cweb = fetchurl { diff --git a/pkgs/by-name/cw/cwiid/package.nix b/pkgs/by-name/cw/cwiid/package.nix index d8c472870c434..98e5fc9c1a845 100644 --- a/pkgs/by-name/cw/cwiid/package.nix +++ b/pkgs/by-name/cw/cwiid/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, bison -, flex -, bluez -, pkg-config -, gtk2 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + bluez, + pkg-config, + gtk2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cw/cwm/package.nix b/pkgs/by-name/cw/cwm/package.nix index 89187c89d6cab..24fa80afbd223 100644 --- a/pkgs/by-name/cw/cwm/package.nix +++ b/pkgs/by-name/cw/cwm/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, bison, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXinerama, + libXrandr, + libXft, + bison, + pkg-config, +}: stdenv.mkDerivation rec { @@ -14,17 +24,28 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ pkg-config bison ]; - buildInputs = [ libX11 libXinerama libXrandr libXft ]; + nativeBuildInputs = [ + pkg-config + bison + ]; + buildInputs = [ + libX11 + libXinerama + libXrandr + libXft + ]; prePatch = ''sed -i "s@/usr/local@$out@" Makefile''; meta = with lib; { description = "Lightweight and efficient window manager for X11"; - homepage = "https://github.com/leahneukirchen/cwm"; - maintainers = with maintainers; [ _0x4A6F mkf ]; - license = licenses.isc; - platforms = platforms.linux; + homepage = "https://github.com/leahneukirchen/cwm"; + maintainers = with maintainers; [ + _0x4A6F + mkf + ]; + license = licenses.isc; + platforms = platforms.linux; mainProgram = "cwm"; }; } diff --git a/pkgs/by-name/cx/cxx-prettyprint/package.nix b/pkgs/by-name/cx/cxx-prettyprint/package.nix index f632fca714cf5..2745dfe61a2f1 100644 --- a/pkgs/by-name/cx/cxx-prettyprint/package.nix +++ b/pkgs/by-name/cx/cxx-prettyprint/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "cxx-prettyprint-unstable"; @@ -18,12 +22,12 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Header only C++ library for pretty printing standard containers"; - homepage = "https://github.com/louisdx/cxx-prettyprint"; - license = lib.licenses.boost; - platforms = platforms.all; + description = "Header only C++ library for pretty printing standard containers"; + homepage = "https://github.com/louisdx/cxx-prettyprint"; + license = lib.licenses.boost; + platforms = platforms.all; # This is a header-only library, no point in hydra building it: - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/cx/cxx-rs/package.nix b/pkgs/by-name/cx/cxx-rs/package.nix index fb1ce99fda6de..88d0bf8d66376 100644 --- a/pkgs/by-name/cx/cxx-rs/package.nix +++ b/pkgs/by-name/cx/cxx-rs/package.nix @@ -1,4 +1,10 @@ -{ cxx-rs, fetchFromGitHub, lib, rustPlatform, testers }: +{ + cxx-rs, + fetchFromGitHub, + lib, + rustPlatform, + testers, +}: rustPlatform.buildRustPackage rec { pname = "cxx-rs"; @@ -30,7 +36,11 @@ rustPlatform.buildRustPackage rec { cargoTestFlags = [ "--workspace" ]; - outputs = [ "out" "doc" "dev" ]; + outputs = [ + "out" + "doc" + "dev" + ]; postInstall = '' mkdir -p $doc diff --git a/pkgs/by-name/cx/cxxopts/package.nix b/pkgs/by-name/cx/cxxopts/package.nix index 89276c7a0b44f..9fa2156ce3008 100644 --- a/pkgs/by-name/cx/cxxopts/package.nix +++ b/pkgs/by-name/cx/cxxopts/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, icu -, pkg-config -, enableUnicodeHelp ? true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + icu, + pkg-config, + enableUnicodeHelp ? true, }: stdenv.mkDerivation rec { @@ -19,8 +20,9 @@ stdenv.mkDerivation rec { }; buildInputs = lib.optionals enableUnicodeHelp [ icu.dev ]; - cmakeFlags = [ "-DCXXOPTS_BUILD_EXAMPLES=OFF" ] - ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE"; + cmakeFlags = [ + "-DCXXOPTS_BUILD_EXAMPLES=OFF" + ] ++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE"; nativeBuildInputs = [ cmake ] ++ lib.optionals enableUnicodeHelp [ pkg-config ]; doCheck = true; diff --git a/pkgs/by-name/cx/cxxtools/package.nix b/pkgs/by-name/cx/cxxtools/package.nix index 8682c8ba81965..356440e046b6d 100644 --- a/pkgs/by-name/cx/cxxtools/package.nix +++ b/pkgs/by-name/cx/cxxtools/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, tzdata -, autoreconfHook -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + tzdata, + autoreconfHook, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cy/cyan/package.nix b/pkgs/by-name/cy/cyan/package.nix index 22fab6cc8d926..0e625169ab3ac 100644 --- a/pkgs/by-name/cy/cyan/package.nix +++ b/pkgs/by-name/cy/cyan/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, qt5 -, cmake -, pkg-config -, imagemagick -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + qt5, + cmake, + pkg-config, + imagemagick, + nix-update-script, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cy/cyanrip/package.nix b/pkgs/by-name/cy/cyanrip/package.nix index 149d370ba4958..2af30984eecc6 100644 --- a/pkgs/by-name/cy/cyanrip/package.nix +++ b/pkgs/by-name/cy/cyanrip/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, ffmpeg-headless -, libcdio -, libcdio-paranoia -, libmusicbrainz5 -, curl +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + ffmpeg-headless, + libcdio, + libcdio-paranoia, + libmusicbrainz5, + curl, }: stdenv.mkDerivation (finalAttrs: { pname = "cyanrip"; diff --git a/pkgs/by-name/cy/cyber/package.nix b/pkgs/by-name/cy/cyber/package.nix index 19d266da0e415..651e8aed7d6d0 100644 --- a/pkgs/by-name/cy/cyber/package.nix +++ b/pkgs/by-name/cy/cyber/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, zig_0_11 +{ + lib, + stdenv, + fetchFromGitHub, + zig_0_11, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cy/cyberchef/package.nix b/pkgs/by-name/cy/cyberchef/package.nix index 2d29f582ff2c1..bc819b64064fa 100644 --- a/pkgs/by-name/cy/cyberchef/package.nix +++ b/pkgs/by-name/cy/cyberchef/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchzip -, stdenv +{ + lib, + fetchzip, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cy/cyclone-scheme/package.nix b/pkgs/by-name/cy/cyclone-scheme/package.nix index 75a4b763ae7d8..178c427c63ae0 100644 --- a/pkgs/by-name/cy/cyclone-scheme/package.nix +++ b/pkgs/by-name/cy/cyclone-scheme/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libck, cctools }: +{ + lib, + stdenv, + fetchFromGitHub, + libck, + cctools, +}: let version = "0.34.0"; @@ -35,8 +41,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ bootstrap ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; + nativeBuildInputs = [ bootstrap ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; buildInputs = [ libck ]; diff --git a/pkgs/by-name/cy/cyclone/package.nix b/pkgs/by-name/cy/cyclone/package.nix index db46c1224ee6c..d14695e858b43 100644 --- a/pkgs/by-name/cy/cyclone/package.nix +++ b/pkgs/by-name/cy/cyclone/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, puredata }: +{ + lib, + stdenv, + fetchFromGitHub, + puredata, +}: stdenv.mkDerivation rec { pname = "cyclone"; @@ -27,7 +32,10 @@ stdenv.mkDerivation rec { description = "Library of PureData classes, bringing some level of compatibility between Max/MSP and Pd environments"; homepage = "http://puredata.info/downloads/cyclone"; license = licenses.tcltk; - maintainers = with maintainers; [ magnetophon carlthome ]; + maintainers = with maintainers; [ + magnetophon + carlthome + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/cy/cyclonedds-cxx/package.nix b/pkgs/by-name/cy/cyclonedds-cxx/package.nix index e3c4aec9e8f53..4e556d718c268 100644 --- a/pkgs/by-name/cy/cyclonedds-cxx/package.nix +++ b/pkgs/by-name/cy/cyclonedds-cxx/package.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, cyclonedds +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + cyclonedds, }: stdenv.mkDerivation rec { pname = "cyclonedds-cxx"; version = "0.10.5"; - outputs = ["out" "dev"]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "eclipse-cyclonedds"; @@ -23,9 +27,12 @@ stdenv.mkDerivation rec { buildInputs = [ cyclonedds ]; meta = with lib; { - description = "C++ binding for Eclipse Cyclone DDS"; - homepage = "https://cyclonedds.io/"; - license = with licenses; [ epl20 asl20 ]; - maintainers = with maintainers; [ linbreux ]; - }; + description = "C++ binding for Eclipse Cyclone DDS"; + homepage = "https://cyclonedds.io/"; + license = with licenses; [ + epl20 + asl20 + ]; + maintainers = with maintainers; [ linbreux ]; + }; } diff --git a/pkgs/by-name/cy/cyclonedds/package.nix b/pkgs/by-name/cy/cyclonedds/package.nix index bdea4b68138a6..dca6111c6cc50 100644 --- a/pkgs/by-name/cy/cyclonedds/package.nix +++ b/pkgs/by-name/cy/cyclonedds/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/cy/cyclonedx-python/package.nix b/pkgs/by-name/cy/cyclonedx-python/package.nix index fe37119359519..4e7c16d2e769b 100644 --- a/pkgs/by-name/cy/cyclonedx-python/package.nix +++ b/pkgs/by-name/cy/cyclonedx-python/package.nix @@ -18,14 +18,17 @@ python3Packages.buildPythonApplication rec { build-system = with python3Packages; [ poetry-core ]; - dependencies = with python3Packages; [ - chardet - cyclonedx-python-lib - packageurl-python - pip-requirements-parser - packaging - tomli - ] ++ cyclonedx-python-lib.optional-dependencies.validation; + dependencies = + with python3Packages; + [ + chardet + cyclonedx-python-lib + packageurl-python + pip-requirements-parser + packaging + tomli + ] + ++ cyclonedx-python-lib.optional-dependencies.validation; pythonImportsCheck = [ "cyclonedx" ]; diff --git a/pkgs/by-name/cy/cyme/package.nix b/pkgs/by-name/cy/cyme/package.nix index 329f92521f8fd..b524e843dfcc1 100644 --- a/pkgs/by-name/cy/cyme/package.nix +++ b/pkgs/by-name/cy/cyme/package.nix @@ -1,14 +1,14 @@ { - lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, stdenv -, darwin -, libusb1 -, nix-update-script -, testers -, cyme + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + stdenv, + darwin, + libusb1, + nix-update-script, + testers, + cyme, }: rustPlatform.buildRustPackage rec { @@ -24,23 +24,27 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-sg6nIIiHUXHLnvn25kKWqqa8WV86D/arl4t3EUByQBQ="; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.DarwinTools - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.DarwinTools + ]; buildInputs = [ libusb1 ]; - checkFlags = [ - # doctest that requires access outside sandbox - "--skip=udev::hwdb::get" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # system_profiler is not available in the sandbox - "--skip=test_run" - ]; + checkFlags = + [ + # doctest that requires access outside sandbox + "--skip=udev::hwdb::get" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # system_profiler is not available in the sandbox + "--skip=test_run" + ]; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/cy/cyrus-sasl-xoauth2/package.nix b/pkgs/by-name/cy/cyrus-sasl-xoauth2/package.nix index bc81574a0cdf6..922d38422877e 100644 --- a/pkgs/by-name/cy/cyrus-sasl-xoauth2/package.nix +++ b/pkgs/by-name/cy/cyrus-sasl-xoauth2/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, libtool, automake, cyrus_sasl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + libtool, + automake, + cyrus_sasl, +}: stdenv.mkDerivation rec { pname = "cyrus-sasl-xoauth2"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-lI8uKtVxrziQ8q/Ss+QTgg1xTObZUTAzjL3MYmtwyd8="; }; - nativeBuildInputs = [ autoconf libtool automake ]; + nativeBuildInputs = [ + autoconf + libtool + automake + ]; buildInputs = [ cyrus_sasl ]; diff --git a/pkgs/by-name/cy/cyrus_sasl/package.nix b/pkgs/by-name/cy/cyrus_sasl/package.nix index e98ae4cbb109c..68d019ca2619b 100644 --- a/pkgs/by-name/cy/cyrus_sasl/package.nix +++ b/pkgs/by-name/cy/cyrus_sasl/package.nix @@ -1,17 +1,33 @@ -{ lib, stdenv, fetchurl, fetchpatch, openssl, openldap, libkrb5, db, gettext -, pam, libxcrypt, fixDarwinDylibNames, autoreconfHook, enableLdap ? false -, buildPackages, pruneLibtoolFiles, nixosTests }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + openssl, + openldap, + libkrb5, + db, + gettext, + pam, + libxcrypt, + fixDarwinDylibNames, + autoreconfHook, + enableLdap ? false, + buildPackages, + pruneLibtoolFiles, + nixosTests, +}: stdenv.mkDerivation rec { pname = "cyrus-sasl"; version = "2.1.28"; src = fetchurl { - urls = - [ "https://github.com/cyrusimap/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz" - "http://www.cyrusimap.org/releases/${pname}-${version}.tar.gz" - "http://www.cyrusimap.org/releases/old/${pname}-${version}.tar.gz" - ]; + urls = [ + "https://github.com/cyrusimap/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz" + "http://www.cyrusimap.org/releases/${pname}-${version}.tar.gz" + "http://www.cyrusimap.org/releases/old/${pname}-${version}.tar.gz" + ]; sha256 = "sha256-fM/Gq9Ae1nwaCSSzU+Um8bdmsh9C1FYu5jWo6/xbs4w="; }; @@ -25,23 +41,39 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "bin" "dev" "out" "man" "devdoc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "devdoc" + ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook pruneLibtoolFiles ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ + autoreconfHook + pruneLibtoolFiles + ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = - [ openssl db gettext libkrb5 libxcrypt ] + [ + openssl + db + gettext + libkrb5 + libxcrypt + ] ++ lib.optional enableLdap openldap ++ lib.optional stdenv.hostPlatform.isLinux pam; - configureFlags = [ - "--with-openssl=${openssl.dev}" - "--with-plugindir=${placeholder "out"}/lib/sasl2" - "--with-saslauthd=/run/saslauthd" - "--enable-login" - "--enable-shared" - ] ++ lib.optional enableLdap "--with-ldap=${openldap.dev}" + configureFlags = + [ + "--with-openssl=${openssl.dev}" + "--with-plugindir=${placeholder "out"}/lib/sasl2" + "--with-saslauthd=/run/saslauthd" + "--enable-login" + "--enable-shared" + ] + ++ lib.optional enableLdap "--with-ldap=${openldap.dev}" ++ lib.optionals (stdenv.targetPlatform.useLLVM or false) [ "--disable-sample" "CFLAGS=-DTIME_WITH_SYS_TIME" @@ -51,7 +83,9 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; }; - installFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ]; + installFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "framedir=$(out)/Library/Frameworks/SASL2.framework" + ]; passthru.tests = { inherit (nixosTests) parsedmarc postfix; diff --git a/pkgs/by-name/cz/cz-cli/package.nix b/pkgs/by-name/cz/cz-cli/package.nix index e268b6d164f83..c3b5f7600ad02 100644 --- a/pkgs/by-name/cz/cz-cli/package.nix +++ b/pkgs/by-name/cz/cz-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { @@ -20,7 +21,10 @@ buildNpmPackage rec { description = "Commitizen command line utility"; homepage = "https://commitizen.github.io/cz-cli"; changelog = "https://github.com/commitizen/cz-cli/releases/tag/v${version}"; - maintainers = with maintainers; [ freezeboy natsukium ]; + maintainers = with maintainers; [ + freezeboy + natsukium + ]; license = licenses.mit; }; } diff --git a/pkgs/by-name/cz/czmq/package.nix b/pkgs/by-name/cz/czmq/package.nix index db2b99c966502..8ae99d51d61ce 100644 --- a/pkgs/by-name/cz/czmq/package.nix +++ b/pkgs/by-name/cz/czmq/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, zeromq }: +{ + lib, + stdenv, + fetchurl, + zeromq, +}: stdenv.mkDerivation rec { version = "4.2.1"; diff --git a/pkgs/by-name/d-/d-seams/package.nix b/pkgs/by-name/d-/d-seams/package.nix index 5b5d8cfbd9d42..2ac502514a8a5 100644 --- a/pkgs/by-name/d-/d-seams/package.nix +++ b/pkgs/by-name/d-/d-seams/package.nix @@ -1,5 +1,21 @@ -{ clangStdenv, fetchFromGitHub, fetchpatch, catch2, rang, fmt, yaml-cpp, cmake -, eigen, lua, luaPackages, liblapack, blas, lib, boost, gsl }: +{ + clangStdenv, + fetchFromGitHub, + fetchpatch, + catch2, + rang, + fmt, + yaml-cpp, + cmake, + eigen, + lua, + luaPackages, + liblapack, + blas, + lib, + boost, + gsl, +}: clangStdenv.mkDerivation rec { version = "1.0.1"; @@ -19,12 +35,25 @@ clangStdenv.mkDerivation rec { hash = "sha256-PLbT1lqdw+69lIHH96MPcGRjfIeZyb88vc875QLYyqw="; }) ]; - nativeBuildInputs = [ cmake lua luaPackages.luafilesystem ]; - buildInputs = [ fmt rang yaml-cpp eigen catch2 boost gsl liblapack blas ]; + nativeBuildInputs = [ + cmake + lua + luaPackages.luafilesystem + ]; + buildInputs = [ + fmt + rang + yaml-cpp + eigen + catch2 + boost + gsl + liblapack + blas + ]; meta = with lib; { - description = - "d-SEAMS: Deferred Structural Elucidation Analysis for Molecular Simulations"; + description = "d-SEAMS: Deferred Structural Elucidation Analysis for Molecular Simulations"; mainProgram = "yodaStruct"; longDescription = '' d-SEAMS, is a free and open-source postprocessing engine for the analysis diff --git a/pkgs/by-name/d-/d-spy/package.nix b/pkgs/by-name/d-/d-spy/package.nix index 7ed2a9890f96a..860e9cea1574f 100644 --- a/pkgs/by-name/d-/d-spy/package.nix +++ b/pkgs/by-name/d-/d-spy/package.nix @@ -1,23 +1,28 @@ -{ stdenv -, lib -, desktop-file-utils -, fetchurl -, glib -, gettext -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, gnome +{ + stdenv, + lib, + desktop-file-utils, + fetchurl, + glib, + gettext, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + gnome, }: stdenv.mkDerivation rec { pname = "d-spy"; version = "47.0"; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/d-spy/${lib.versions.major version}/d-spy-${version}.tar.xz"; diff --git a/pkgs/by-name/d2/d2/package.nix b/pkgs/by-name/d2/d2/package.nix index dcfac802de436..fc41c44b0ea47 100644 --- a/pkgs/by-name/d2/d2/package.nix +++ b/pkgs/by-name/d2/d2/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGo123Module -, fetchFromGitHub -, installShellFiles -, git -, testers -, d2 +{ + lib, + buildGo123Module, + fetchFromGitHub, + installShellFiles, + git, + testers, + d2, }: buildGo123Module rec { @@ -52,6 +53,9 @@ buildGo123Module rec { homepage = "https://d2lang.com"; changelog = "https://github.com/terrastruct/d2/releases/tag/v${version}"; license = licenses.mpl20; - maintainers = with maintainers; [ dit7ya kashw2 ]; + maintainers = with maintainers; [ + dit7ya + kashw2 + ]; }; } diff --git a/pkgs/by-name/d2/d2coding/package.nix b/pkgs/by-name/d2/d2coding/package.nix index 867345c3a8565..02c5c61b6b386 100644 --- a/pkgs/by-name/d2/d2coding/package.nix +++ b/pkgs/by-name/d2/d2coding/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "d2codingfont"; diff --git a/pkgs/by-name/da/dab_lib/package.nix b/pkgs/by-name/da/dab_lib/package.nix index 82d591abc139b..fd3cb016e54e3 100644 --- a/pkgs/by-name/da/dab_lib/package.nix +++ b/pkgs/by-name/da/dab_lib/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, faad2, fftwFloat, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + faad2, + fftwFloat, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -15,8 +22,15 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/library"; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ faad2 fftwFloat zlib ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + faad2 + fftwFloat + zlib + ]; meta = with lib; { description = "DAB/DAB+ decoding library"; diff --git a/pkgs/by-name/da/dabet/package.nix b/pkgs/by-name/da/dabet/package.nix index acdc66cbad8fe..617be31860bfc 100644 --- a/pkgs/by-name/da/dabet/package.nix +++ b/pkgs/by-name/da/dabet/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitea }: +{ + lib, + rustPlatform, + fetchFromGitea, +}: rustPlatform.buildRustPackage rec { pname = "dabet"; @@ -22,4 +26,3 @@ rustPlatform.buildRustPackage rec { mainProgram = "dabet"; }; } - diff --git a/pkgs/by-name/da/dabtools/package.nix b/pkgs/by-name/da/dabtools/package.nix index a288d93b40ab6..176909ca54310 100644 --- a/pkgs/by-name/da/dabtools/package.nix +++ b/pkgs/by-name/da/dabtools/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, libusb1, rtl-sdr, fftw -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + rtl-sdr, + fftw, +}: stdenv.mkDerivation { pname = "dabtools"; @@ -13,8 +20,15 @@ stdenv.mkDerivation { sha256 = "18nkdybgg2w6zh56g6xwmg49sifalvraz4rynw8w5d8cqi3dm9sm"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ rtl-sdr fftw libusb1 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + rtl-sdr + fftw + libusb1 + ]; meta = with lib; { description = "Commandline tools for DAB and DAB+ digital radio broadcasts"; @@ -24,4 +38,3 @@ stdenv.mkDerivation { maintainers = [ maintainers.markuskowa ]; }; } - diff --git a/pkgs/by-name/da/dadadodo/package.nix b/pkgs/by-name/da/dadadodo/package.nix index dc1a18ae23f2a..e922158b90b1c 100644 --- a/pkgs/by-name/da/dadadodo/package.nix +++ b/pkgs/by-name/da/dadadodo/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dadadodo"; diff --git a/pkgs/by-name/da/daemon/package.nix b/pkgs/by-name/da/daemon/package.nix index 0a7b579347176..3a323e12f2772 100644 --- a/pkgs/by-name/da/daemon/package.nix +++ b/pkgs/by-name/da/daemon/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "daemon"; diff --git a/pkgs/by-name/da/daemonize/package.nix b/pkgs/by-name/da/daemonize/package.nix index 3a1340e606d0a..6d8339f390007 100644 --- a/pkgs/by-name/da/daemonize/package.nix +++ b/pkgs/by-name/da/daemonize/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "daemonize"; diff --git a/pkgs/by-name/da/daemontools/package.nix b/pkgs/by-name/da/daemontools/package.nix index 491a03bb81e2b..7832af18ade69 100644 --- a/pkgs/by-name/da/daemontools/package.nix +++ b/pkgs/by-name/da/daemontools/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, bash, glibc, lib, stdenv, installShellFiles }: +{ + fetchurl, + bash, + glibc, + lib, + stdenv, + installShellFiles, +}: let man-pages = fetchurl { @@ -17,7 +24,10 @@ stdenv.mkDerivation rec { patches = [ ./fix-nix-usernamespace-build.patch ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/da/daktilo/package.nix b/pkgs/by-name/da/daktilo/package.nix index 3d9b4161e2991..7a9d8a0243bf8 100644 --- a/pkgs/by-name/da/daktilo/package.nix +++ b/pkgs/by-name/da/daktilo/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin -, unixtools -, pkg-config -, alsa-lib -, xorg +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, + unixtools, + pkg-config, + alsa-lib, + xorg, }: rustPlatform.buildRustPackage rec { @@ -28,14 +29,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - alsa-lib - xorg.libX11 - xorg.libXi - xorg.libXtst - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + alsa-lib + xorg.libX11 + xorg.libXi + xorg.libXtst + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; nativeCheckInputs = [ unixtools.script @@ -59,7 +62,10 @@ rustPlatform.buildRustPackage rec { description = "Turn your keyboard into a typewriter"; homepage = "https://github.com/orhun/daktilo"; changelog = "https://github.com/orhun/daktilo/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ orhun ]; mainProgram = "daktilo"; }; diff --git a/pkgs/by-name/da/dale/package.nix b/pkgs/by-name/da/dale/package.nix index 816e8e08f4a71..350a54f650cc9 100644 --- a/pkgs/by-name/da/dale/package.nix +++ b/pkgs/by-name/da/dale/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libffi -, llvm_13 -, perl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libffi, + llvm_13, + perl, }: stdenv.mkDerivation { @@ -18,8 +20,15 @@ stdenv.mkDerivation { sha256 = "sha256-LNWqrFuEjtL7zuPTBfe4qQWr8IrT/ldQWSeDTK3Wqmo="; }; - nativeBuildInputs = [ cmake pkg-config llvm_13.dev ]; - buildInputs = [ libffi llvm_13 ]; + nativeBuildInputs = [ + cmake + pkg-config + llvm_13.dev + ]; + buildInputs = [ + libffi + llvm_13 + ]; nativeCheckInputs = [ perl ]; @@ -34,7 +43,11 @@ stdenv.mkDerivation { homepage = "https://github.com/tomhrr/dale"; license = licenses.bsd3; maintainers = with maintainers; [ amiloradovsky ]; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; # failed on Darwin: linker couldn't find the FFI lib }; } diff --git a/pkgs/by-name/da/dalfox/package.nix b/pkgs/by-name/da/dalfox/package.nix index b12b23a29b1de..5c0a9d1d4bd0a 100644 --- a/pkgs/by-name/da/dalfox/package.nix +++ b/pkgs/by-name/da/dalfox/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/da/damon/package.nix b/pkgs/by-name/da/damon/package.nix index f64926d16b7be..81f227a3c8fbd 100644 --- a/pkgs/by-name/da/damon/package.nix +++ b/pkgs/by-name/da/damon/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "damon"; diff --git a/pkgs/by-name/da/dancing-script/package.nix b/pkgs/by-name/da/dancing-script/package.nix index 7960691959907..118c07d448167 100644 --- a/pkgs/by-name/da/dancing-script/package.nix +++ b/pkgs/by-name/da/dancing-script/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "dancing-script"; diff --git a/pkgs/by-name/da/dante/package.nix b/pkgs/by-name/da/dante/package.nix index 9b99f51aef598..d772741b093fe 100644 --- a/pkgs/by-name/da/dante/package.nix +++ b/pkgs/by-name/da/dante/package.nix @@ -1,8 +1,19 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook -, pam, libkrb5, cyrus_sasl, miniupnpc, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + pam, + libkrb5, + cyrus_sasl, + miniupnpc, + libxcrypt, +}: let - remove_getaddrinfo_checks = stdenv.hostPlatform.isMips64 || !(stdenv.buildPlatform.canExecute stdenv.hostPlatform); + remove_getaddrinfo_checks = + stdenv.hostPlatform.isMips64 || !(stdenv.buildPlatform.canExecute stdenv.hostPlatform); in stdenv.mkDerivation rec { pname = "dante"; @@ -14,27 +25,37 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc libxcrypt ]; + buildInputs = [ + pam + libkrb5 + cyrus_sasl + miniupnpc + libxcrypt + ]; - configureFlags = if !stdenv.hostPlatform.isDarwin - then [ "--with-libc=libc.so.6" ] - else [ "--with-libc=libc${stdenv.hostPlatform.extensions.sharedLibrary}" ]; + configureFlags = + if !stdenv.hostPlatform.isDarwin then + [ "--with-libc=libc.so.6" ] + else + [ "--with-libc=libc${stdenv.hostPlatform.extensions.sharedLibrary}" ]; dontAddDisableDepTrack = stdenv.hostPlatform.isDarwin; - patches = [ - # Fixes several issues with `osint.m4` that causes incorrect check failures when using newer - # versions of clang: missing `stdint.h` for `uint8_t` and unused `sa_len_ptr`. - ./clang-osint-m4.patch - # Fixes build with miniupnpc 2.2.8. - ./dante-1.4.3-miniupnpc-2.2.8.patch - ] ++ lib.optionals remove_getaddrinfo_checks [ - (fetchpatch { - name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch"; - url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch"; - sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y="; - }) - ]; + patches = + [ + # Fixes several issues with `osint.m4` that causes incorrect check failures when using newer + # versions of clang: missing `stdint.h` for `uint8_t` and unused `sa_len_ptr`. + ./clang-osint-m4.patch + # Fixes build with miniupnpc 2.2.8. + ./dante-1.4.3-miniupnpc-2.2.8.patch + ] + ++ lib.optionals remove_getaddrinfo_checks [ + (fetchpatch { + name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch"; + url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch"; + sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y="; + }) + ]; postPatch = '' substituteInPlace include/redefgen.sh --replace 'PATH=/bin:/usr/bin:/sbin:/usr/sbin' "" @@ -42,9 +63,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity"; - homepage = "https://www.inet.no/dante/"; + homepage = "https://www.inet.no/dante/"; maintainers = [ maintainers.arobyn ]; - license = licenses.bsdOriginal; - platforms = platforms.linux ++ platforms.darwin; + license = licenses.bsdOriginal; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/da/dap/package.nix b/pkgs/by-name/da/dap/package.nix index 40ce12f66ebd0..8460818592280 100644 --- a/pkgs/by-name/da/dap/package.nix +++ b/pkgs/by-name/da/dap/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/da/dapper/package.nix b/pkgs/by-name/da/dapper/package.nix index 5e141bfee8525..f367aae65d9f8 100644 --- a/pkgs/by-name/da/dapper/package.nix +++ b/pkgs/by-name/da/dapper/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/da/dapr-cli/package.nix b/pkgs/by-name/da/dapr-cli/package.nix index ffdf5b50769ef..eed817b61e769 100644 --- a/pkgs/by-name/da/dapr-cli/package.nix +++ b/pkgs/by-name/da/dapr-cli/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, installShellFiles, lib }: +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, +}: buildGoModule rec { pname = "dapr-cli"; @@ -42,7 +47,10 @@ buildGoModule rec { description = "CLI for managing Dapr, the distributed application runtime"; homepage = "https://dapr.io"; license = licenses.asl20; - maintainers = with maintainers; [ joshvanl lucperkins ]; + maintainers = with maintainers; [ + joshvanl + lucperkins + ]; mainProgram = "dapr"; }; } diff --git a/pkgs/by-name/da/daq/package.nix b/pkgs/by-name/da/daq/package.nix index a8d2f52052dc7..40401df9ba88f 100644 --- a/pkgs/by-name/da/daq/package.nix +++ b/pkgs/by-name/da/daq/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, flex, bison, libpcap, libdnet, libnfnetlink, libnetfilter_queue}: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + libpcap, + libdnet, + libnfnetlink, + libnetfilter_queue, +}: stdenv.mkDerivation rec { pname = "daq"; @@ -10,7 +20,14 @@ stdenv.mkDerivation rec { sha256 = "0yvzscy7vqj7s5rccza0f7p6awghfm3yaxihx1h57lqspg51in3w"; }; - buildInputs = [ flex bison libpcap libdnet libnfnetlink libnetfilter_queue]; + buildInputs = [ + flex + bison + libpcap + libdnet + libnfnetlink + libnetfilter_queue + ]; configureFlags = [ "--enable-nfq-module=yes" diff --git a/pkgs/by-name/da/darcnes/package.nix b/pkgs/by-name/da/darcnes/package.nix index 7919e0a9009c3..7a68ff5bf713e 100644 --- a/pkgs/by-name/da/darcnes/package.nix +++ b/pkgs/by-name/da/darcnes/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libX11, libXt, libXext, libXaw }: +{ + lib, + stdenv, + fetchurl, + libX11, + libXt, + libXext, + libXaw, +}: stdenv.mkDerivation rec { pname = "darcnes"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { patches = [ ./label.patch ]; - buildInputs = [ libX11 libXt libXext libXaw ]; + buildInputs = [ + libX11 + libXt + libXext + libXaw + ]; installPhase = "install -Dt $out/bin darcnes"; meta = { diff --git a/pkgs/by-name/da/dark-mode-notify/package.nix b/pkgs/by-name/da/dark-mode-notify/package.nix index 51ecb1d38397a..e749b0769c7ff 100644 --- a/pkgs/by-name/da/dark-mode-notify/package.nix +++ b/pkgs/by-name/da/dark-mode-notify/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, stdenv -, swift -, swiftpm -, swiftPackages -, darwin +{ + lib, + fetchFromGitHub, + stdenv, + swift, + swiftpm, + swiftPackages, + darwin, }: # Use the same stdenv, including clang, as Swift itself diff --git a/pkgs/by-name/da/darkhttpd/package.nix b/pkgs/by-name/da/darkhttpd/package.nix index 0d55b3b6b5886..de0610557de43 100644 --- a/pkgs/by-name/da/darkhttpd/package.nix +++ b/pkgs/by-name/da/darkhttpd/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/da/darkice/package.nix b/pkgs/by-name/da/darkice/package.nix index c1b7eab31f9a9..7701433b367a5 100644 --- a/pkgs/by-name/da/darkice/package.nix +++ b/pkgs/by-name/da/darkice/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config -, libjack2, alsa-lib, libpulseaudio -, faac, lame, libogg, libopus, libvorbis, libsamplerate +{ + lib, + stdenv, + fetchurl, + pkg-config, + libjack2, + alsa-lib, + libpulseaudio, + faac, + lame, + libogg, + libopus, + libvorbis, + libsamplerate, }: stdenv.mkDerivation rec { @@ -14,7 +25,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libopus libvorbis libogg libpulseaudio alsa-lib libsamplerate libjack2 lame + libopus + libvorbis + libogg + libpulseaudio + alsa-lib + libsamplerate + libjack2 + lame ]; env.NIX_CFLAGS_COMPILE = "-fpermissive"; diff --git a/pkgs/by-name/da/darkman/package.nix b/pkgs/by-name/da/darkman/package.nix index 66b67be5b6075..34c4748a37431 100644 --- a/pkgs/by-name/da/darkman/package.nix +++ b/pkgs/by-name/da/darkman/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitLab -, buildGoModule -, scdoc -, nix-update-script +{ + lib, + fetchFromGitLab, + buildGoModule, + scdoc, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/da/darkplaces/package.nix b/pkgs/by-name/da/darkplaces/package.nix index 6ea4ae241d5a9..dd0bf83fceb70 100644 --- a/pkgs/by-name/da/darkplaces/package.nix +++ b/pkgs/by-name/da/darkplaces/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib -, libjpeg -, SDL2 -, libvorbis +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + libjpeg, + SDL2, + libvorbis, }: stdenv.mkDerivation rec { pname = "darkplaces"; diff --git a/pkgs/by-name/da/darkstat/package.nix b/pkgs/by-name/da/darkstat/package.nix index 0dc03b0c0db61..1266f308c531b 100644 --- a/pkgs/by-name/da/darkstat/package.nix +++ b/pkgs/by-name/da/darkstat/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, fetchpatch -, libpcap -, zlib +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + fetchpatch, + libpcap, + zlib, }: stdenv.mkDerivation rec { @@ -22,8 +23,8 @@ stdenv.mkDerivation rec { # Avoid multiple definitions of CLOCK_REALTIME on macOS 11, # see https://github.com/emikulic/darkstat/pull/2 (fetchpatch { - url = "https://github.com/emikulic/darkstat/commit/d2fd232e1167dee6e7a2d88b9ab7acf2a129f697.diff"; - sha256 = "0z5mpyc0q65qb6cn4xcrxl0vx21d8ibzaam5kjyrcw4icd8yg4jb"; + url = "https://github.com/emikulic/darkstat/commit/d2fd232e1167dee6e7a2d88b9ab7acf2a129f697.diff"; + sha256 = "0z5mpyc0q65qb6cn4xcrxl0vx21d8ibzaam5kjyrcw4icd8yg4jb"; }) ]; diff --git a/pkgs/by-name/da/darktable/package.nix b/pkgs/by-name/da/darktable/package.nix index ee1a83dd1da9a..040411accf831 100644 --- a/pkgs/by-name/da/darktable/package.nix +++ b/pkgs/by-name/da/darktable/package.nix @@ -1,58 +1,59 @@ -{ lib -, stdenv -, fetchurl -, libsoup_2_4 -, graphicsmagick -, json-glib -, wrapGAppsHook3 -, cairo -, cmake -, ninja -, curl -, perl -, desktop-file-utils -, exiv2 -, glib -, glib-networking -, ilmbase -, gtk3 -, intltool -, lcms2 -, lensfun -, libX11 -, libexif -, libgphoto2 -, libjpeg -, libpng -, librsvg -, libtiff -, libjxl -, openexr_3 -, osm-gps-map -, pkg-config -, sqlite -, libxslt -, openjpeg -, pugixml -, colord -, colord-gtk -, libwebp -, libsecret -, adwaita-icon-theme -, SDL2 -, ocl-icd -, pcre -, gtk-mac-integration -, isocodes -, llvmPackages -, gmic -, libavif -, icu -, jasper -, libheif -, libaom -, portmidi -, lua +{ + lib, + stdenv, + fetchurl, + libsoup_2_4, + graphicsmagick, + json-glib, + wrapGAppsHook3, + cairo, + cmake, + ninja, + curl, + perl, + desktop-file-utils, + exiv2, + glib, + glib-networking, + ilmbase, + gtk3, + intltool, + lcms2, + lensfun, + libX11, + libexif, + libgphoto2, + libjpeg, + libpng, + librsvg, + libtiff, + libjxl, + openexr_3, + osm-gps-map, + pkg-config, + sqlite, + libxslt, + openjpeg, + pugixml, + colord, + colord-gtk, + libwebp, + libsecret, + adwaita-icon-theme, + SDL2, + ocl-icd, + pcre, + gtk-mac-integration, + isocodes, + llvmPackages, + gmic, + libavif, + icu, + jasper, + libheif, + libaom, + portmidi, + lua, }: stdenv.mkDerivation rec { @@ -64,62 +65,76 @@ stdenv.mkDerivation rec { hash = "sha256-kBsOLK7Tb7hhn99MYO37jTETS5R9MFS1xm/VXDivWZE="; }; - nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook3 ]; + nativeBuildInputs = [ + cmake + ninja + llvmPackages.llvm + pkg-config + intltool + perl + desktop-file-utils + wrapGAppsHook3 + ]; - buildInputs = [ - cairo - curl - exiv2 - glib - glib-networking - gtk3 - ilmbase - lcms2 - lensfun - libexif - libgphoto2 - libjpeg - libpng - librsvg - libtiff - libjxl - openexr_3 - sqlite - libxslt - libsoup_2_4 - graphicsmagick - json-glib - openjpeg - pugixml - libwebp - libsecret - SDL2 - adwaita-icon-theme - osm-gps-map - pcre - isocodes - gmic - libavif - icu - jasper - libheif - libaom - portmidi - lua - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - colord - colord-gtk - libX11 - ocl-icd - ] ++ lib.optional stdenv.hostPlatform.isDarwin gtk-mac-integration - ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; + buildInputs = + [ + cairo + curl + exiv2 + glib + glib-networking + gtk3 + ilmbase + lcms2 + lensfun + libexif + libgphoto2 + libjpeg + libpng + librsvg + libtiff + libjxl + openexr_3 + sqlite + libxslt + libsoup_2_4 + graphicsmagick + json-glib + openjpeg + pugixml + libwebp + libsecret + SDL2 + adwaita-icon-theme + osm-gps-map + pcre + isocodes + gmic + libavif + icu + jasper + libheif + libaom + portmidi + lua + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + colord + colord-gtk + libX11 + ocl-icd + ] + ++ lib.optional stdenv.hostPlatform.isDarwin gtk-mac-integration + ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; - cmakeFlags = [ - "-DBUILD_USERMANUAL=False" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DUSE_COLORD=OFF" - "-DUSE_KWALLET=OFF" - ]; + cmakeFlags = + [ + "-DBUILD_USERMANUAL=False" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DUSE_COLORD=OFF" + "-DUSE_KWALLET=OFF" + ]; # darktable changed its rpath handling in commit # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the @@ -128,7 +143,8 @@ stdenv.mkDerivation rec { preFixup = let libPathEnvVar = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; - libPathPrefix = "$out/lib/darktable" + lib.optionalString stdenv.hostPlatform.isLinux ":${ocl-icd}/lib"; + libPathPrefix = + "$out/lib/darktable" + lib.optionalString stdenv.hostPlatform.isLinux ":${ocl-icd}/lib"; in '' for f in $out/share/darktable/kernels/*.cl; do @@ -145,6 +161,11 @@ stdenv.mkDerivation rec { homepage = "https://www.darktable.org"; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ flosse mrVanDalo paperdigits freyacodes ]; + maintainers = with maintainers; [ + flosse + mrVanDalo + paperdigits + freyacodes + ]; }; } diff --git a/pkgs/by-name/da/darktile/package.nix b/pkgs/by-name/da/darktile/package.nix index 9bd7e16d74b78..c2e7928fbdad3 100644 --- a/pkgs/by-name/da/darktile/package.nix +++ b/pkgs/by-name/da/darktile/package.nix @@ -1,16 +1,17 @@ -{ fetchFromGitHub -, lib -, pkg-config -, libX11 -, libXcursor -, libXrandr -, libXinerama -, libXi -, libXext -, libXxf86vm -, libGL -, nixosTests -, buildGoModule +{ + fetchFromGitHub, + lib, + pkg-config, + libX11, + libXcursor, + libXrandr, + libXinerama, + libXi, + libXext, + libXxf86vm, + libGL, + nixosTests, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/da/darling-dmg/package.nix b/pkgs/by-name/da/darling-dmg/package.nix index 3053982a64765..9f4f436275c6e 100644 --- a/pkgs/by-name/da/darling-dmg/package.nix +++ b/pkgs/by-name/da/darling-dmg/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu, lzfse, libiconv -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fuse, + zlib, + bzip2, + openssl, + libxml2, + icu, + lzfse, + libiconv, + nixosTests, }: stdenv.mkDerivation { @@ -14,8 +26,15 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ fuse openssl zlib bzip2 libxml2 icu lzfse ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + buildInputs = [ + fuse + openssl + zlib + bzip2 + libxml2 + icu + lzfse + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; CXXFLAGS = [ "-DCOMPILE_WITH_LZFSE=1" diff --git a/pkgs/by-name/da/darling/package.nix b/pkgs/by-name/da/darling/package.nix index 581dd0cacea99..2a161397bca25 100644 --- a/pkgs/by-name/da/darling/package.nix +++ b/pkgs/by-name/da/darling/package.nix @@ -1,83 +1,87 @@ -{ clangStdenv -, lib -, runCommandWith -, writeShellScript -, fetchFromGitHub -, fetchpatch -, nixosTests - -, freetype -, libjpeg -, libpng -, libtiff -, giflib -, libX11 -, libXext -, libXrandr -, libXcursor -, libxkbfile -, cairo -, libglvnd -, fontconfig -, dbus -, libGLU -, fuse -, ffmpeg -, pulseaudio - -, makeWrapper -, python2 -, python3 -, cmake -, ninja -, pkg-config -, bison -, flex - -, libbsd -, openssl - -, xdg-user-dirs - -, addDriverRunpath - -# Whether to pre-compile Python 2 bytecode for performance. -, compilePy2Bytecode ? false +{ + clangStdenv, + lib, + runCommandWith, + writeShellScript, + fetchFromGitHub, + fetchpatch, + nixosTests, + + freetype, + libjpeg, + libpng, + libtiff, + giflib, + libX11, + libXext, + libXrandr, + libXcursor, + libxkbfile, + cairo, + libglvnd, + fontconfig, + dbus, + libGLU, + fuse, + ffmpeg, + pulseaudio, + + makeWrapper, + python2, + python3, + cmake, + ninja, + pkg-config, + bison, + flex, + + libbsd, + openssl, + + xdg-user-dirs, + + addDriverRunpath, + + # Whether to pre-compile Python 2 bytecode for performance. + compilePy2Bytecode ? false, }: let stdenv = clangStdenv; # The build system invokes clang to compile Darwin executables. # In this case, our cc-wrapper must not be used. - ccWrapperBypass = runCommandWith { - inherit stdenv; - name = "cc-wrapper-bypass"; - runLocal = false; - derivationArgs = { - template = writeShellScript "template" '' - for (( i=1; i<=$#; i++)); do - j=$((i+1)) - if [[ "''${!i}" == "-target" && "''${!j}" == *"darwin"* ]]; then - # their flags must take precedence - exec @unwrapped@ "$@" $NIX_CFLAGS_COMPILE - fi - done - exec @wrapped@ "$@" + ccWrapperBypass = + runCommandWith + { + inherit stdenv; + name = "cc-wrapper-bypass"; + runLocal = false; + derivationArgs = { + template = writeShellScript "template" '' + for (( i=1; i<=$#; i++)); do + j=$((i+1)) + if [[ "''${!i}" == "-target" && "''${!j}" == *"darwin"* ]]; then + # their flags must take precedence + exec @unwrapped@ "$@" $NIX_CFLAGS_COMPILE + fi + done + exec @wrapped@ "$@" + ''; + }; + } + '' + unwrapped_bin=${stdenv.cc.cc}/bin + wrapped_bin=${stdenv.cc}/bin + + mkdir -p $out/bin + + unwrapped=$unwrapped_bin/$CC wrapped=$wrapped_bin/$CC \ + substituteAll $template $out/bin/$CC + unwrapped=$unwrapped_bin/$CXX wrapped=$wrapped_bin/$CXX \ + substituteAll $template $out/bin/$CXX + + chmod +x $out/bin/$CC $out/bin/$CXX ''; - }; - } '' - unwrapped_bin=${stdenv.cc.cc}/bin - wrapped_bin=${stdenv.cc}/bin - - mkdir -p $out/bin - - unwrapped=$unwrapped_bin/$CC wrapped=$wrapped_bin/$CC \ - substituteAll $template $out/bin/$CC - unwrapped=$unwrapped_bin/$CXX wrapped=$wrapped_bin/$CXX \ - substituteAll $template $out/bin/$CXX - - chmod +x $out/bin/$CC $out/bin/$CXX - ''; wrappedLibs = [ # To find all of them: rg -w wrap_elf @@ -106,7 +110,8 @@ let ffmpeg pulseaudio ]; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "darling"; version = "unstable-2024-02-03"; @@ -124,7 +129,10 @@ in stdenv.mkDerivation { ''; }; - outputs = [ "out" "sdk" ]; + outputs = [ + "out" + "sdk" + ]; patches = [ # Fix 'clang: error: no such file or directory: .../signal/mach_excUser.c' @@ -166,8 +174,7 @@ in stdenv.mkDerivation { ninja pkg-config python3 - ] - ++ lib.optional compilePy2Bytecode python2; + ] ++ lib.optional compilePy2Bytecode python2; buildInputs = wrappedLibs ++ [ libbsd openssl diff --git a/pkgs/by-name/da/das_watchdog/package.nix b/pkgs/by-name/da/das_watchdog/package.nix index 141e16181cec6..31a33eee2bde5 100644 --- a/pkgs/by-name/da/das_watchdog/package.nix +++ b/pkgs/by-name/da/das_watchdog/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libgtop, xmessage, which, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libgtop, + xmessage, + which, + pkg-config, +}: stdenv.mkDerivation { pname = "das_watchdog"; @@ -12,7 +20,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libgtop xmessage which ]; + buildInputs = [ + libgtop + xmessage + which + ]; installPhase = '' mkdir -p $out/bin/ diff --git a/pkgs/by-name/da/dasel/package.nix b/pkgs/by-name/da/dasel/package.nix index f135a39a41e62..efdc7eaa41e96 100644 --- a/pkgs/by-name/da/dasel/package.nix +++ b/pkgs/by-name/da/dasel/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -19,7 +20,9 @@ buildGoModule rec { vendorHash = "sha256-edyFs5oURklkqsTF7JA1in3XteSBx/6YEVu4MjIcGN4="; ldflags = [ - "-s" "-w" "-X github.com/tomwright/dasel/v2/internal.Version=${version}" + "-s" + "-w" + "-X github.com/tomwright/dasel/v2/internal.Version=${version}" ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/da/dash/package.nix b/pkgs/by-name/da/dash/package.nix index 17de97660344c..6fe83258a58a8 100644 --- a/pkgs/by-name/da/dash/package.nix +++ b/pkgs/by-name/da/dash/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildPackages -, pkg-config -, fetchurl -, libedit -, runCommand -, dash +{ + lib, + stdenv, + buildPackages, + pkg-config, + fetchurl, + libedit, + runCommand, + dash, }: stdenv.mkDerivation (finalAttrs: { @@ -47,7 +48,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "http://gondor.apana.org.au/~herbert/dash/"; description = "POSIX-compliant implementation of /bin/sh that aims to be as small as possible"; platforms = platforms.unix; - license = with licenses; [ bsd3 gpl2Plus ]; + license = with licenses; [ + bsd3 + gpl2Plus + ]; mainProgram = "dash"; }; }) diff --git a/pkgs/by-name/da/dasher/package.nix b/pkgs/by-name/da/dasher/package.nix index 13dee55628a5c..dadc218e6fd12 100644 --- a/pkgs/by-name/da/dasher/package.nix +++ b/pkgs/by-name/da/dasher/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitLab -, autoreconfHook -, pkg-config -, wrapGAppsHook3 -, glib -, gtk3 -, expat -, itstool -, gnome-doc-utils -, which -, at-spi2-core -, dbus -, libxslt -, libxml2 -, speechSupport ? true -, speechd-minimal +{ + stdenv, + lib, + fetchFromGitLab, + autoreconfHook, + pkg-config, + wrapGAppsHook3, + glib, + gtk3, + expat, + itstool, + gnome-doc-utils, + which, + at-spi2-core, + dbus, + libxslt, + libxml2, + speechSupport ? true, + speechd-minimal, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/da/dashing/package.nix b/pkgs/by-name/da/dashing/package.nix index 600dc5dd850e1..58fb7f68b1ba7 100644 --- a/pkgs/by-name/da/dashing/package.nix +++ b/pkgs/by-name/da/dashing/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, dashing }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + dashing, +}: buildGoModule rec { pname = "dashing"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-XeUFmzf6y0S82gMOzkj4AUNFkVvkVOwauYpqY4jeWLM="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; passthru.tests.version = testers.testVersion { package = dashing; diff --git a/pkgs/by-name/da/dasht/package.nix b/pkgs/by-name/da/dasht/package.nix index 4ab9cfdd0e0fe..b2da7e8af22ce 100644 --- a/pkgs/by-name/da/dasht/package.nix +++ b/pkgs/by-name/da/dasht/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, installShellFiles -, coreutils -, gnused -, gnugrep -, sqlite -, wget -, w3m -, socat -, gawk +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + installShellFiles, + coreutils, + gnused, + gnugrep, + sqlite, + wget, + w3m, + socat, + gawk, }: stdenv.mkDerivation rec { - pname = "dasht"; + pname = "dasht"; version = "2.4.0"; src = fetchFromGitHub { - owner = "sunaku"; - repo = pname; - rev = "v${version}"; + owner = "sunaku"; + repo = pname; + rev = "v${version}"; sha256 = "08wssmifxi7pnvn9gqrvpzpkc2qpkfbzbhxh0dk1gff2y2211qqk"; }; @@ -36,7 +37,10 @@ stdenv.mkDerivation rec { (placeholder "out") ]; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = '' runHook preInstall @@ -57,9 +61,9 @@ stdenv.mkDerivation rec { meta = { description = "Search API docs offline, in terminal or browser"; - homepage = "https://sunaku.github.io/dasht/man"; - license = lib.licenses.isc; - platforms = lib.platforms.unix; #cannot test other + homepage = "https://sunaku.github.io/dasht/man"; + license = lib.licenses.isc; + platforms = lib.platforms.unix; # cannot test other maintainers = with lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/by-name/da/dasm/package.nix b/pkgs/by-name/da/dasm/package.nix index 7f57f47f2ed6a..578d49a7639fc 100644 --- a/pkgs/by-name/da/dasm/package.nix +++ b/pkgs/by-name/da/dasm/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dasm"; diff --git a/pkgs/by-name/da/dataexplorer/package.nix b/pkgs/by-name/da/dataexplorer/package.nix index 09406b6b3bebe..10e77127efca7 100644 --- a/pkgs/by-name/da/dataexplorer/package.nix +++ b/pkgs/by-name/da/dataexplorer/package.nix @@ -1,15 +1,18 @@ -{ lib -, stdenv -, fetchurl -, ant -# executable fails to start for jdk > 17 -, jdk17 -, swt -, makeWrapper -, strip-nondeterminism -}: let +{ + lib, + stdenv, + fetchurl, + ant, + # executable fails to start for jdk > 17 + jdk17, + swt, + makeWrapper, + strip-nondeterminism, +}: +let swt-jdk17 = swt.override { jdk = jdk17; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "dataexplorer"; version = "3.9.0"; @@ -80,8 +83,8 @@ in stdenv.mkDerivation (finalAttrs: { platforms = [ "x86_64-linux" ]; sourceProvenance = with sourceTypes; [ fromSource - binaryNativeCode # contains RXTXcomm (JNI library with *.so files) - binaryBytecode # contains thirdparty jar files, e.g. javax.json, org.glassfish.json + binaryNativeCode # contains RXTXcomm (JNI library with *.so files) + binaryBytecode # contains thirdparty jar files, e.g. javax.json, org.glassfish.json ]; }; }) diff --git a/pkgs/by-name/da/datamash/package.nix b/pkgs/by-name/da/datamash/package.nix index 7d6318928292a..abd51be89721d 100644 --- a/pkgs/by-name/da/datamash/package.nix +++ b/pkgs/by-name/da/datamash/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "datamash"; diff --git a/pkgs/by-name/da/datefmt/package.nix b/pkgs/by-name/da/datefmt/package.nix index 1c1efd792a203..2e794bda64003 100644 --- a/pkgs/by-name/da/datefmt/package.nix +++ b/pkgs/by-name/da/datefmt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, testers }: +{ + lib, + stdenv, + fetchurl, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "datefmt"; diff --git a/pkgs/by-name/da/datefudge/package.nix b/pkgs/by-name/da/datefudge/package.nix index a0ba2eafcace4..89b83a0284cee 100644 --- a/pkgs/by-name/da/datefudge/package.nix +++ b/pkgs/by-name/da/datefudge/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, makeWrapper, coreutils }: +{ + lib, + stdenv, + fetchgit, + makeWrapper, + coreutils, +}: stdenv.mkDerivation rec { pname = "datefudge"; diff --git a/pkgs/by-name/da/dateutils/package.nix b/pkgs/by-name/da/dateutils/package.nix index 45adc23832ab4..8cb31c4ef83af 100644 --- a/pkgs/by-name/da/dateutils/package.nix +++ b/pkgs/by-name/da/dateutils/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, tzdata }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + tzdata, +}: stdenv.mkDerivation rec { version = "0.4.11"; diff --git a/pkgs/by-name/da/datree/package.nix b/pkgs/by-name/da/datree/package.nix index 79e352deb5321..9d671a0fb734a 100644 --- a/pkgs/by-name/da/datree/package.nix +++ b/pkgs/by-name/da/datree/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, datree +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + datree, }: buildGoModule rec { @@ -54,6 +55,9 @@ buildGoModule rec { homepage = "https://datree.io/"; changelog = "https://github.com/datreeio/datree/releases/tag/${version}"; license = licenses.asl20; - maintainers = with maintainers; [ azahi jceb ]; + maintainers = with maintainers; [ + azahi + jceb + ]; }; } diff --git a/pkgs/by-name/da/dav1d/package.nix b/pkgs/by-name/da/dav1d/package.nix index dc7efc22e852f..a17e26b2981f4 100644 --- a/pkgs/by-name/da/dav1d/package.nix +++ b/pkgs/by-name/da/dav1d/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, nasm -, pkg-config -, xxHash -, withTools ? false # "dav1d" binary -, withExamples ? false -, SDL2 # "dav1dplay" binary -, useVulkan ? false -, libplacebo -, vulkan-loader -, vulkan-headers +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + nasm, + pkg-config, + xxHash, + withTools ? false, # "dav1d" binary + withExamples ? false, + SDL2, # "dav1dplay" binary + useVulkan ? false, + libplacebo, + vulkan-loader, + vulkan-headers, # for passthru.tests -, ffmpeg -, gdal -, handbrake -, libavif -, libheif + ffmpeg, + gdal, + handbrake, + libavif, + libheif, }: assert useVulkan -> withExamples; @@ -35,13 +36,26 @@ stdenv.mkDerivation rec { hash = "sha256-eOMQj88vlgoxguV+eK4iWXFjUPiXwqRTJlhehev+yGY="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ meson ninja nasm pkg-config ]; + nativeBuildInputs = [ + meson + ninja + nasm + pkg-config + ]; # TODO: doxygen (currently only HTML and not build by default). - buildInputs = [ xxHash ] + buildInputs = + [ xxHash ] ++ lib.optional withExamples SDL2 - ++ lib.optionals useVulkan [ libplacebo vulkan-loader vulkan-headers ]; + ++ lib.optionals useVulkan [ + libplacebo + vulkan-loader + vulkan-headers + ]; mesonFlags = [ "-Denable_tools=${lib.boolToString withTools}" @@ -56,7 +70,8 @@ stdenv.mkDerivation rec { gdal handbrake libavif - libheif; + libheif + ; }; meta = with lib; { diff --git a/pkgs/by-name/da/dave/package.nix b/pkgs/by-name/da/dave/package.nix index 8950b0b3d20d7..265efcc5d908a 100644 --- a/pkgs/by-name/da/dave/package.nix +++ b/pkgs/by-name/da/dave/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, mage }: +{ + lib, + buildGoModule, + fetchFromGitHub, + mage, +}: buildGoModule rec { pname = "dave"; @@ -21,9 +26,17 @@ buildGoModule rec { ./go-modules.patch ]; - subPackages = [ "cmd/dave" "cmd/davecli" ]; + subPackages = [ + "cmd/dave" + "cmd/davecli" + ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.builtBy=nixpkgs" + ]; meta = with lib; { homepage = "https://github.com/micromata/dave"; diff --git a/pkgs/by-name/da/davtest/package.nix b/pkgs/by-name/da/davtest/package.nix index 226ead57ffdee..99d2c18ec5803 100644 --- a/pkgs/by-name/da/davtest/package.nix +++ b/pkgs/by-name/da/davtest/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, perl, fetchurl }: +{ + lib, + stdenv, + perl, + fetchurl, +}: stdenv.mkDerivation rec { pname = "davtest"; diff --git a/pkgs/by-name/da/dawn/package.nix b/pkgs/by-name/da/dawn/package.nix index a32311baca935..172e40beec682 100644 --- a/pkgs/by-name/da/dawn/package.nix +++ b/pkgs/by-name/da/dawn/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, tk -, makeWrapper +{ + lib, + stdenv, + fetchurl, + tk, + makeWrapper, }: stdenv.mkDerivation rec { @@ -10,7 +11,9 @@ stdenv.mkDerivation rec { version = "3.91a"; src = fetchurl { - url = "https://geant4.kek.jp/~tanaka/src/dawn_${builtins.replaceStrings ["."] ["_"] version}.tgz"; + url = "https://geant4.kek.jp/~tanaka/src/dawn_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tgz"; hash = "sha256-gdhV6tERdoGxiCQt0L46JOAF2b1AY/0r2pp6eU689fQ="; }; diff --git a/pkgs/by-name/da/dawncut/package.nix b/pkgs/by-name/da/dawncut/package.nix index 2c1b987848810..58da095f89855 100644 --- a/pkgs/by-name/da/dawncut/package.nix +++ b/pkgs/by-name/da/dawncut/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { @@ -9,7 +10,9 @@ stdenv.mkDerivation rec { src = fetchurl { name = "${pname}-${version}.tar.gz"; - url = "https://geant4.kek.jp/~tanaka/src/dawncut_${builtins.replaceStrings ["."] ["_"] version}.taz"; + url = "https://geant4.kek.jp/~tanaka/src/dawncut_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.taz"; hash = "sha256-Ux4fDi7TXePisYAxCMDvtzLYOgxnbxQIO9QacTRrT6k="; }; diff --git a/pkgs/by-name/da/daytona-bin/package.nix b/pkgs/by-name/da/daytona-bin/package.nix index 0dbebf98949ed..bf26c54e94eae 100644 --- a/pkgs/by-name/da/daytona-bin/package.nix +++ b/pkgs/by-name/da/daytona-bin/package.nix @@ -1,7 +1,8 @@ -{ stdenvNoCC -, lib -, fetchurl -, makeWrapper +{ + stdenvNoCC, + lib, + fetchurl, + makeWrapper, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/db/db-rest/package.nix b/pkgs/by-name/db/db-rest/package.nix index c6e3c55eee1d7..c41f73db114ec 100644 --- a/pkgs/by-name/db/db-rest/package.nix +++ b/pkgs/by-name/db/db-rest/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nodejs_18 -, nix-update-script -, nixosTests +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nodejs_18, + nix-update-script, + nixosTests, }: buildNpmPackage rec { pname = "db-rest"; diff --git a/pkgs/by-name/db/dbacl/package.nix b/pkgs/by-name/db/dbacl/package.nix index a7069ad92bb3c..6cc65fb8cae44 100644 --- a/pkgs/by-name/db/dbacl/package.nix +++ b/pkgs/by-name/db/dbacl/package.nix @@ -1,4 +1,8 @@ -{fetchurl, lib, stdenv}: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "dbacl"; diff --git a/pkgs/by-name/db/dbcsr/package.nix b/pkgs/by-name/db/dbcsr/package.nix index e758e1c8fcc21..ab5f27ec805d1 100644 --- a/pkgs/by-name/db/dbcsr/package.nix +++ b/pkgs/by-name/db/dbcsr/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, mpiCheckPhaseHook -, pkg-config -, fypp -, gfortran -, blas -, lapack -, python3 -, libxsmm -, mpi +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + mpiCheckPhaseHook, + pkg-config, + fypp, + gfortran, + blas, + lapack, + python3, + libxsmm, + mpi, }: stdenv.mkDerivation rec { @@ -45,7 +46,11 @@ stdenv.mkDerivation rec { fypp ]; - buildInputs = [ blas lapack libxsmm ]; + buildInputs = [ + blas + lapack + libxsmm + ]; propagatedBuildInputs = [ mpi ]; diff --git a/pkgs/by-name/db/dbd/package.nix b/pkgs/by-name/db/dbd/package.nix index 1df459cb32670..d7c2b69649fc1 100644 --- a/pkgs/by-name/db/dbd/package.nix +++ b/pkgs/by-name/db/dbd/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation { @@ -14,10 +15,13 @@ stdenv.mkDerivation { hash = "sha256-b2yBZ2/Ab+SviKNlyZgdfiZ7GGZ1sonZnblD0i+vuFw="; }; - makeFlags = [ - "PREFIX=${placeholder "out"}" - "CC=${stdenv.cc.targetPrefix}cc" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "darwin" ] ++ lib.optionals (stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isDarwin) [ "unix" ]; + makeFlags = + [ + "PREFIX=${placeholder "out"}" + "CC=${stdenv.cc.targetPrefix}cc" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ "darwin" ] + ++ lib.optionals (stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isDarwin) [ "unix" ]; meta = with lib; { description = "Netcat-clone, designed to be portable and offer strong encryption"; diff --git a/pkgs/by-name/db/dbench/package.nix b/pkgs/by-name/db/dbench/package.nix index 796536b9e2aad..456d99a66939e 100644 --- a/pkgs/by-name/db/dbench/package.nix +++ b/pkgs/by-name/db/dbench/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchgit, autoconf, popt, zlib, rpcsvc-proto, libtirpc }: +{ + lib, + stdenv, + fetchgit, + autoconf, + popt, + zlib, + rpcsvc-proto, + libtirpc, +}: stdenv.mkDerivation rec { pname = "dbench"; @@ -10,8 +19,15 @@ stdenv.mkDerivation rec { sha256 = "16lcbwmmx8z5i73k3dnf54yffrpx7ql3y9k3cpkss9dcyxb1p83i"; }; - nativeBuildInputs = [ autoconf rpcsvc-proto ]; - buildInputs = [ popt zlib libtirpc ]; + nativeBuildInputs = [ + autoconf + rpcsvc-proto + ]; + buildInputs = [ + popt + zlib + libtirpc + ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; NIX_LDFLAGS = [ "-ltirpc" ]; diff --git a/pkgs/by-name/db/dblatex/package.nix b/pkgs/by-name/db/dblatex/package.nix index 39069029e57c5..a73f0b92771c0 100644 --- a/pkgs/by-name/db/dblatex/package.nix +++ b/pkgs/by-name/db/dblatex/package.nix @@ -1,13 +1,53 @@ -{ lib, stdenv, fetchurl, python311, libxslt, texliveBasic -, enableAllFeatures ? false, imagemagick, fig2dev, inkscape, fontconfig, ghostscript +{ + lib, + stdenv, + fetchurl, + python311, + libxslt, + texliveBasic, + enableAllFeatures ? false, + imagemagick, + fig2dev, + inkscape, + fontconfig, + ghostscript, -, tex ? texliveBasic.withPackages (ps: with ps; [ # satisfy all packages that ./configure mentions - epstopdf anysize appendix changebar - fancybox fancyvrb float footmisc listings jknapltx/*for mathrsfs.sty*/ - multirow overpic pdfpages pdflscape graphics stmaryrd subfigure titlesec wasysym - # pkgs below don't seem requested by dblatex, but our manual fails without them - ec zapfding symbol eepic times rsfs cs tex4ht courier helvetic ly1 - ]) + tex ? texliveBasic.withPackages ( + ps: with ps; [ + # satisfy all packages that ./configure mentions + epstopdf + anysize + appendix + changebar + fancybox + fancyvrb + float + footmisc + listings + jknapltx # for mathrsfs.sty + multirow + overpic + pdfpages + pdflscape + graphics + stmaryrd + subfigure + titlesec + wasysym + # pkgs below don't seem requested by dblatex, but our manual fails without them + ec + zapfding + symbol + eepic + times + rsfs + cs + tex4ht + courier + helvetic + ly1 + ] + ), }: # NOTE: enableAllFeatures just purifies the expression, it doesn't actually @@ -22,32 +62,42 @@ stdenv.mkDerivation rec { sha256 = "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"; }; - buildInputs = [ python311 libxslt tex ] - ++ lib.optionals enableAllFeatures [ imagemagick fig2dev ]; + buildInputs = + [ + python311 + libxslt + tex + ] + ++ lib.optionals enableAllFeatures [ + imagemagick + fig2dev + ]; # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have # that yet. In Ubuntu, texindy is a part of the xindy package. - preConfigure = '' - sed -i 's|self.install_layout == "deb"|False|' setup.py - '' + lib.optionalString enableAllFeatures '' - for file in $(find -name "*.py"); do - sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt.bin}/bin/xsltproc|g' \ - -e 's|Popen(\["xsltproc|Popen(\["${libxslt.bin}/bin/xsltproc|g' \ - -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \ - -e 's|cmd = "epstopdf|cmd = "${tex}/bin/epstopdf|g' \ - -e 's|cmd = \["makeindex|cmd = ["${tex}/bin/makeindex|g' \ - -e 's|doc.program = "pdflatex"|doc.program = "${tex}/bin/pdflatex"|g' \ - -e 's|self.program = "latex"|self.program = "${tex}/bin/latex"|g' \ - -e 's|Popen("pdflatex|Popen("${tex}/bin/pdflatex|g' \ - -e 's|"fc-match"|"${fontconfig.bin}/bin/fc-match"|g' \ - -e 's|"fc-list"|"${fontconfig.bin}/bin/fc-list"|g' \ - -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \ - -e 's|cmd = "fig2dev|cmd = "${fig2dev}/bin/fig2dev|g' \ - -e 's|cmd = \["ps2pdf|cmd = ["${ghostscript}/bin/ps2pdf|g' \ - -e 's|cmd = "convert|cmd = "${imagemagick.out}/bin/convert|g' \ - -i "$file" - done - ''; + preConfigure = + '' + sed -i 's|self.install_layout == "deb"|False|' setup.py + '' + + lib.optionalString enableAllFeatures '' + for file in $(find -name "*.py"); do + sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt.bin}/bin/xsltproc|g' \ + -e 's|Popen(\["xsltproc|Popen(\["${libxslt.bin}/bin/xsltproc|g' \ + -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \ + -e 's|cmd = "epstopdf|cmd = "${tex}/bin/epstopdf|g' \ + -e 's|cmd = \["makeindex|cmd = ["${tex}/bin/makeindex|g' \ + -e 's|doc.program = "pdflatex"|doc.program = "${tex}/bin/pdflatex"|g' \ + -e 's|self.program = "latex"|self.program = "${tex}/bin/latex"|g' \ + -e 's|Popen("pdflatex|Popen("${tex}/bin/pdflatex|g' \ + -e 's|"fc-match"|"${fontconfig.bin}/bin/fc-match"|g' \ + -e 's|"fc-list"|"${fontconfig.bin}/bin/fc-list"|g' \ + -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \ + -e 's|cmd = "fig2dev|cmd = "${fig2dev}/bin/fig2dev|g' \ + -e 's|cmd = \["ps2pdf|cmd = ["${ghostscript}/bin/ps2pdf|g' \ + -e 's|cmd = "convert|cmd = "${imagemagick.out}/bin/convert|g' \ + -i "$file" + done + ''; dontBuild = true; diff --git a/pkgs/by-name/db/dbmonster/package.nix b/pkgs/by-name/db/dbmonster/package.nix index 13d0cded0a3ec..164be1d402480 100644 --- a/pkgs/by-name/db/dbmonster/package.nix +++ b/pkgs/by-name/db/dbmonster/package.nix @@ -1,11 +1,12 @@ -{ lib -, aircrack-ng -, fetchFromGitHub -, iproute2 -, networkmanager -, python3 -, tshark -, wirelesstools +{ + lib, + aircrack-ng, + fetchFromGitHub, + iproute2, + networkmanager, + python3, + tshark, + wirelesstools, }: python3.pkgs.buildPythonApplication rec { @@ -20,15 +21,17 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-9RP3LmZF7P2c0+Jt/kMSVPb4cBtyH6P3FZ5UrQpBP0I="; }; - propagatedBuildInputs = [ - aircrack-ng - iproute2 - networkmanager - tshark - wirelesstools - ] ++ (with python3.pkgs; [ - matplotlib - ]); + propagatedBuildInputs = + [ + aircrack-ng + iproute2 + networkmanager + tshark + wirelesstools + ] + ++ (with python3.pkgs; [ + matplotlib + ]); dontBuild = true; diff --git a/pkgs/by-name/db/dbqn/package.nix b/pkgs/by-name/db/dbqn/package.nix index 7ec4dea053429..8352bb2b57ad2 100644 --- a/pkgs/by-name/db/dbqn/package.nix +++ b/pkgs/by-name/db/dbqn/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, jdk -, makeWrapper -, buildNativeImage ? false +{ + lib, + stdenv, + fetchFromGitHub, + jdk, + makeWrapper, + buildNativeImage ? false, }: stdenv.mkDerivation rec { @@ -28,42 +29,57 @@ stdenv.mkDerivation rec { patchShebangs --build ./build8 ''; - buildPhase = '' - runHook preBuild + buildPhase = + '' + runHook preBuild - ./build8 - '' + lib.optionalString buildNativeImage '' - native-image --report-unsupported-elements-at-runtime \ - -H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \ - -jar BQN.jar dbqn - '' + '' - runHook postBuild - ''; + ./build8 + '' + + lib.optionalString buildNativeImage '' + native-image --report-unsupported-elements-at-runtime \ + -H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \ + -jar BQN.jar dbqn + '' + + '' + runHook postBuild + ''; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out/bin + mkdir -p $out/bin - '' + (if buildNativeImage then '' - mv dbqn $out/bin - '' else '' - mkdir -p $out/share/dbqn - mv BQN.jar $out/share/dbqn/ + '' + + ( + if buildNativeImage then + '' + mv dbqn $out/bin + '' + else + '' + mkdir -p $out/share/dbqn + mv BQN.jar $out/share/dbqn/ - makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dbqn" \ - --add-flags "-jar $out/share/dbqn/BQN.jar" - '') + '' - ln -s $out/bin/dbqn $out/bin/bqn + makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dbqn" \ + --add-flags "-jar $out/share/dbqn/BQN.jar" + '' + ) + + '' + ln -s $out/bin/dbqn $out/bin/bqn - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { homepage = "https://github.com/dzaima/BQN"; - description = "BQN implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image"; + description = + "BQN implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image"; license = licenses.mit; - maintainers = with maintainers; [ AndersonTorres sternenseemann ]; + maintainers = with maintainers; [ + AndersonTorres + sternenseemann + ]; inherit (jdk.meta) platforms; broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dbqn-native.x86_64-darwin }; diff --git a/pkgs/by-name/db/dbus-cpp/package.nix b/pkgs/by-name/db/dbus-cpp/package.nix index b11ffb330b94e..96086f64dcfb3 100644 --- a/pkgs/by-name/db/dbus-cpp/package.nix +++ b/pkgs/by-name/db/dbus-cpp/package.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, boost -, cmake -, dbus -, doxygen -, graphviz -, gtest -, libxml2 -, lomiri -, pkg-config -, process-cpp -, properties-cpp +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + boost, + cmake, + dbus, + doxygen, + graphviz, + gtest, + libxml2, + lomiri, + pkg-config, + process-cpp, + properties-cpp, }: stdenv.mkDerivation (finalAttrs: { @@ -53,20 +54,22 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - postPatch = '' - substituteInPlace doc/CMakeLists.txt \ - --replace 'DESTINATION share/''${CMAKE_PROJECT_NAME}/doc' 'DESTINATION ''${CMAKE_INSTALL_DOCDIR}' - - # Warning on aarch64-linux breaks build due to -Werror - substituteInPlace CMakeLists.txt \ - --replace '-Werror' "" - - # pkg-config output patching hook expects prefix variable here - substituteInPlace data/dbus-cpp.pc.in \ - --replace 'includedir=''${exec_prefix}' 'includedir=''${prefix}' - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt - ''; + postPatch = + '' + substituteInPlace doc/CMakeLists.txt \ + --replace 'DESTINATION share/''${CMAKE_PROJECT_NAME}/doc' 'DESTINATION ''${CMAKE_INSTALL_DOCDIR}' + + # Warning on aarch64-linux breaks build due to -Werror + substituteInPlace CMakeLists.txt \ + --replace '-Werror' "" + + # pkg-config output patching hook expects prefix variable here + substituteInPlace data/dbus-cpp.pc.in \ + --replace 'includedir=''${exec_prefix}' 'includedir=''${prefix}' + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt + ''; strictDeps = true; diff --git a/pkgs/by-name/db/dbus-glib/package.nix b/pkgs/by-name/db/dbus-glib/package.nix index b2946872fbbd6..291c5c069661e 100644 --- a/pkgs/by-name/db/dbus-glib/package.nix +++ b/pkgs/by-name/db/dbus-glib/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, buildPackages -, pkg-config, expat, gettext, libiconv, dbus, glib +{ + lib, + stdenv, + fetchurl, + buildPackages, + pkg-config, + expat, + gettext, + libiconv, + dbus, + glib, }: stdenv.mkDerivation rec { @@ -11,18 +20,34 @@ stdenv.mkDerivation rec { sha256 = "sha256-fVUNzN/NKG4ziVUBgp7Zce62XGFOc6rbSgiu73GbFDo="; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; - nativeBuildInputs = [ pkg-config gettext glib ]; + nativeBuildInputs = [ + pkg-config + gettext + glib + ]; - buildInputs = [ expat libiconv ]; + buildInputs = [ + expat + libiconv + ]; - propagatedBuildInputs = [ dbus glib ]; + propagatedBuildInputs = [ + dbus + glib + ]; - configureFlags = [ "--exec-prefix=${placeholder "dev"}" ] ++ - lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) - "--with-dbus-binding-tool=${buildPackages.dbus-glib.dev}/bin/dbus-binding-tool"; + configureFlags = + [ "--exec-prefix=${placeholder "dev"}" ] + ++ lib.optional ( + stdenv.buildPlatform != stdenv.hostPlatform + ) "--with-dbus-binding-tool=${buildPackages.dbus-glib.dev}/bin/dbus-binding-tool"; doCheck = false; @@ -30,7 +55,10 @@ stdenv.mkDerivation rec { meta = { homepage = "https://dbus.freedesktop.org"; - license = with lib.licenses; [ afl21 gpl2Plus ]; + license = with lib.licenses; [ + afl21 + gpl2Plus + ]; description = "Obsolete glib bindings for D-Bus lightweight IPC mechanism"; mainProgram = "dbus-binding-tool"; maintainers = [ ]; diff --git a/pkgs/by-name/db/dbus-test-runner/package.nix b/pkgs/by-name/db/dbus-test-runner/package.nix index 93b1860959234..10d110e648a2e 100644 --- a/pkgs/by-name/db/dbus-test-runner/package.nix +++ b/pkgs/by-name/db/dbus-test-runner/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchbzr -, testers -, autoreconfHook -, bash -, dbus -, dbus-glib -, glib -, intltool -, pkg-config -, python3 -, xvfb-run +{ + stdenv, + lib, + fetchbzr, + testers, + autoreconfHook, + bash, + dbus, + dbus-glib, + glib, + intltool, + pkg-config, + python3, + xvfb-run, }: stdenv.mkDerivation (finalAttrs: { @@ -50,9 +51,11 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ bash dbus - (python3.withPackages (ps: with ps; [ - python-dbusmock - ])) + (python3.withPackages ( + ps: with ps; [ + python-dbusmock + ] + )) xvfb-run ]; diff --git a/pkgs/by-name/db/dbus_cplusplus/package.nix b/pkgs/by-name/db/dbus_cplusplus/package.nix index 95dbdce239c79..48b81897de077 100644 --- a/pkgs/by-name/db/dbus_cplusplus/package.nix +++ b/pkgs/by-name/db/dbus_cplusplus/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, dbus, glib, pkg-config, expat }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + dbus, + glib, + pkg-config, + expat, +}: stdenv.mkDerivation rec { pname = "dbus-cplusplus"; @@ -13,8 +22,9 @@ stdenv.mkDerivation rec { patches = [ (fetchurl { name = "gcc-4.7.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/" - + "dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch"; + url = + "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/" + + "dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch"; sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g"; }) (fetchpatch { @@ -50,15 +60,21 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus glib expat ]; - - configureFlags = [ - "--disable-ecore" - "--disable-tests" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "--disable-examples" + buildInputs = [ + dbus + glib + expat ]; + configureFlags = + [ + "--disable-ecore" + "--disable-tests" + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "--disable-examples" + ]; + meta = with lib; { homepage = "https://dbus-cplusplus.sourceforge.net"; description = "C++ API for D-BUS"; diff --git a/pkgs/by-name/db/dbus_java/package.nix b/pkgs/by-name/db/dbus_java/package.nix index c8e67edfe2b57..ab2e92aa21be4 100644 --- a/pkgs/by-name/db/dbus_java/package.nix +++ b/pkgs/by-name/db/dbus_java/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, gettext, jdk8, libmatthew_java }: +{ + lib, + stdenv, + fetchurl, + gettext, + jdk8, + libmatthew_java, +}: stdenv.mkDerivation rec { pname = "dbus-java"; @@ -8,12 +15,15 @@ stdenv.mkDerivation rec { url = "https://dbus.freedesktop.org/releases/dbus-java/dbus-java-${version}.tar.gz"; sha256 = "0cyaxd8x6sxmi6pklkkx45j311a6w51fxl4jc5j3inc4cailwh5y"; }; - JAVA_HOME=jdk8; - JAVA="${jdk8}/bin/java"; - PREFIX="\${out}"; - JAVAUNIXLIBDIR="${libmatthew_java}/lib/jni"; - JAVAUNIXJARDIR="${libmatthew_java}/share/java"; - buildInputs = [ gettext jdk8 ]; + JAVA_HOME = jdk8; + JAVA = "${jdk8}/bin/java"; + PREFIX = "\${out}"; + JAVAUNIXLIBDIR = "${libmatthew_java}/lib/jni"; + JAVAUNIXJARDIR = "${libmatthew_java}/share/java"; + buildInputs = [ + gettext + jdk8 + ]; # I'm too lazy to build the documentation preBuild = '' sed -i -e "s|all: bin doc man|all: bin|" \ diff --git a/pkgs/by-name/db/dbx/package.nix b/pkgs/by-name/db/dbx/package.nix index f3f3409434415..b1fcd6f53916b 100644 --- a/pkgs/by-name/db/dbx/package.nix +++ b/pkgs/by-name/db/dbx/package.nix @@ -5,7 +5,10 @@ python3, }: let - python = python3.override { self = python; packageOverrides = self: super: { pydantic = super.pydantic_1; }; }; + python = python3.override { + self = python; + packageOverrides = self: super: { pydantic = super.pydantic_1; }; + }; in python.pkgs.buildPythonApplication rec { pname = "dbx"; @@ -30,27 +33,24 @@ python.pkgs.buildPythonApplication rec { build-system = with python.pkgs; [ setuptools ]; - - propagatedBuildInputs = - with python.pkgs; - [ - aiohttp - click - cookiecutter - cryptography - databricks-cli - jinja2 - mlflow - pathspec - pydantic - pyyaml - requests - retry - rich - tenacity - typer - watchdog - ]; + propagatedBuildInputs = with python.pkgs; [ + aiohttp + click + cookiecutter + cryptography + databricks-cli + jinja2 + mlflow + pathspec + pydantic + pyyaml + requests + retry + rich + tenacity + typer + watchdog + ]; optional-dependencies = with python3.pkgs; { aws = [ boto3 ]; diff --git a/pkgs/by-name/db/dbxml/package.nix b/pkgs/by-name/db/dbxml/package.nix index 207904b96cdc9..d2fb83e6d7a78 100644 --- a/pkgs/by-name/db/dbxml/package.nix +++ b/pkgs/by-name/db/dbxml/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, db62, xercesc, xqilla }: +{ + lib, + stdenv, + fetchurl, + db62, + xercesc, + xqilla, +}: stdenv.mkDerivation rec { pname = "dbxml"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "a8fc8f5e0c3b6e42741fa4dfc3b878c982ff8f5e5f14843f6a7e20d22e64251a"; }; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; patches = [ ./cxx11.patch @@ -17,7 +28,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - xercesc xqilla + xercesc + xqilla ]; propagatedBuildInputs = [ diff --git a/pkgs/by-name/dc/dc3dd/package.nix b/pkgs/by-name/dc/dc3dd/package.nix index c6cd3c7f39678..0a1f90f9e7a13 100644 --- a/pkgs/by-name/dc/dc3dd/package.nix +++ b/pkgs/by-name/dc/dc3dd/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, perlPackages +{ + lib, + stdenv, + fetchzip, + perlPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -13,7 +14,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-SYDoqGlsROHX1a0jJX11F+yp6CeFK+tZbYOOnScC6Ig="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; preConfigure = '' chmod +x configure diff --git a/pkgs/by-name/dc/dcadec/package.nix b/pkgs/by-name/dc/dcadec/package.nix index bf531476566e7..0e1d8d9b911a9 100644 --- a/pkgs/by-name/dc/dcadec/package.nix +++ b/pkgs/by-name/dc/dcadec/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dcadec"; diff --git a/pkgs/by-name/dc/dcap/package.nix b/pkgs/by-name/dc/dcap/package.nix index de3a484f5dee9..ad9697885c8fe 100644 --- a/pkgs/by-name/dc/dcap/package.nix +++ b/pkgs/by-name/dc/dcap/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoconf -, automake -, libtool -, zlib -, cunit -, libxcrypt +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + libtool, + zlib, + cunit, + libxcrypt, }: stdenv.mkDerivation rec { pname = "dcap"; @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-hn4nkFTIbSUUhvf9UfsEqVhphAdNWmATaCrv8jOuC0Y="; }; - nativeBuildInputs = [ autoconf automake libtool ]; - buildInputs = [ zlib libxcrypt ]; + nativeBuildInputs = [ + autoconf + automake + libtool + ]; + buildInputs = [ + zlib + libxcrypt + ]; preConfigure = '' patchShebangs bootstrap.sh @@ -31,7 +39,13 @@ stdenv.mkDerivation rec { nativeCheckInputs = [ cunit ]; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; meta = with lib; { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/dc/dcfldd/package.nix b/pkgs/by-name/dc/dcfldd/package.nix index 01439e6aa49bb..fff7ad2036950 100644 --- a/pkgs/by-name/dc/dcfldd/package.nix +++ b/pkgs/by-name/dc/dcfldd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dcfldd"; diff --git a/pkgs/by-name/dc/dcgm/package.nix b/pkgs/by-name/dc/dcgm/package.nix index e0de192b3dafb..382ecad9142bc 100644 --- a/pkgs/by-name/dc/dcgm/package.nix +++ b/pkgs/by-name/dc/dcgm/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoAddDriverRunpath -, catch2 -, cmake -, ninja -, cudaPackages_11_8 -, cudaPackages_12 -, boost -, fmt_9 -, git -, jsoncpp -, libevent -, plog -, python3 -, symlinkJoin -, tclap_1_4 -, yaml-cpp +{ + lib, + stdenv, + fetchFromGitHub, + autoAddDriverRunpath, + catch2, + cmake, + ninja, + cudaPackages_11_8, + cudaPackages_12, + boost, + fmt_9, + git, + jsoncpp, + libevent, + plog, + python3, + symlinkJoin, + tclap_1_4, + yaml-cpp, }: let # DCGM depends on 2 different versions of CUDA at the same time. @@ -29,18 +30,20 @@ let # Select needed redist packages from cudaPackages # C.f. https://github.com/NVIDIA/DCGM/blob/7e1012302679e4bb7496483b32dcffb56e528c92/dcgmbuild/scripts/0080_cuda.sh#L24-L39 - getCudaPackages = p: with p; [ - cuda_cccl - cuda_cudart - cuda_nvcc - cuda_nvml_dev - libcublas - libcufft - libcurand - ]; + getCudaPackages = + p: with p; [ + cuda_cccl + cuda_cudart + cuda_nvcc + cuda_nvml_dev + libcublas + libcufft + libcurand + ]; # Builds CMake flags to add CUDA paths for include and lib. - mkCudaFlags = cudaPackages: + mkCudaFlags = + cudaPackages: let version = cudaPackages.cudaMajorVersion; # The DCGM CMake assumes that the folder containing cuda.h contains all headers, so we must @@ -49,16 +52,20 @@ let name = "cuda-headers-combined-${version}"; paths = lib.map (pkg: "${lib.getInclude pkg}/include") (getCudaPackages cudaPackages); }; - in [ + in + [ (lib.cmakeFeature "CUDA${version}_INCLUDE_DIR" "${headers}") (lib.cmakeFeature "CUDA${version}_LIBS" "${cudaPackages.cuda_cudart.stubs}/lib/stubs/libcuda.so") (lib.cmakeFeature "CUDA${version}_STATIC_LIBS" "${lib.getLib cudaPackages.cuda_cudart}/lib/libcudart.so") - (lib.cmakeFeature "CUDA${version}_STATIC_CUBLAS_LIBS" (lib.concatStringsSep ";" [ - "${lib.getLib cudaPackages.libcublas}/lib/libcublas.so" - "${lib.getLib cudaPackages.libcublas}/lib/libcublasLt.so" - ])) + (lib.cmakeFeature "CUDA${version}_STATIC_CUBLAS_LIBS" ( + lib.concatStringsSep ";" [ + "${lib.getLib cudaPackages.libcublas}/lib/libcublas.so" + "${lib.getLib cudaPackages.libcublas}/lib/libcublasLt.so" + ] + )) ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dcgm"; version = "3.3.9"; # N.B: If you change this, be sure prometheus-dcgm-exporter supports this version. diff --git a/pkgs/by-name/dc/dclib/package.nix b/pkgs/by-name/dc/dclib/package.nix index 083e968c11bb9..d95faed969ed0 100644 --- a/pkgs/by-name/dc/dclib/package.nix +++ b/pkgs/by-name/dc/dclib/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, libxml2, openssl, bzip2, zlib}: +{ + lib, + stdenv, + fetchurl, + libxml2, + openssl, + bzip2, + zlib, +}: stdenv.mkDerivation rec { pname = "dclib"; @@ -9,12 +17,20 @@ stdenv.mkDerivation rec { sha256 = "02jdzm5hqzs1dv2rd596vgpcjaapm55pqqapz5m94l30v4q72rfc"; }; - buildInputs = [libxml2 openssl bzip2 zlib]; + buildInputs = [ + libxml2 + openssl + bzip2 + zlib + ]; meta = with lib; { description = "Peer-to-Peer file sharing client"; homepage = "http://dcgui.berlios.de"; platforms = platforms.linux; - license = [ licenses.openssl licenses.gpl2 ]; + license = [ + licenses.openssl + licenses.gpl2 + ]; }; } diff --git a/pkgs/by-name/dc/dclxvi/package.nix b/pkgs/by-name/dc/dclxvi/package.nix index 34340a406a508..870cf8a211a14 100644 --- a/pkgs/by-name/dc/dclxvi/package.nix +++ b/pkgs/by-name/dc/dclxvi/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "dclxvi"; @@ -13,13 +17,15 @@ stdenv.mkDerivation { buildFlags = [ "libdclxvipairing.so" ]; - patchPhase = '' - substituteInPlace Makefile \ - --replace "gcc" "cc" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Makefile \ - --replace "-soname=libdclxvipairing.so" "-install_name,libdclxvipairing.so" - ''; + patchPhase = + '' + substituteInPlace Makefile \ + --replace "gcc" "cc" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile \ + --replace "-soname=libdclxvipairing.so" "-install_name,libdclxvipairing.so" + ''; installPhase = '' mkdir -p $out/{include,lib} diff --git a/pkgs/by-name/dc/dcm2niix/package.nix b/pkgs/by-name/dc/dcm2niix/package.nix index acf43e52764da..5d73f8d5b4603 100644 --- a/pkgs/by-name/dc/dcm2niix/package.nix +++ b/pkgs/by-name/dc/dcm2niix/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, cmake -, openjpeg -, yaml-cpp -, batchVersion ? false -, withJpegLs ? true -, withOpenJpeg ? true -, withCloudflareZlib ? true +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + cmake, + openjpeg, + yaml-cpp, + batchVersion ? false, + withJpegLs ? true, + withOpenJpeg ? true, + withCloudflareZlib ? true, }: let @@ -40,20 +41,28 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals batchVersion [ yaml-cpp ] - ++ lib.optionals withOpenJpeg [ openjpeg openjpeg.dev ]; + buildInputs = + lib.optionals batchVersion [ yaml-cpp ] + ++ lib.optionals withOpenJpeg [ + openjpeg + openjpeg.dev + ]; - cmakeFlags = lib.optionals batchVersion [ - "-DBATCH_VERSION=ON" - "-DYAML-CPP_DIR=${yaml-cpp}/lib/cmake/yaml-cpp" - ] ++ lib.optionals withJpegLs [ - "-DUSE_JPEGLS=ON" - ] ++ lib.optionals withOpenJpeg [ - "-DUSE_OPENJPEG=ON" - "-DOpenJPEG_DIR=${openjpeg}/lib/${openjpeg.pname}-${lib.versions.majorMinor openjpeg.version}" - ] ++ lib.optionals withCloudflareZlib [ - "-DZLIB_IMPLEMENTATION=Cloudflare" - ]; + cmakeFlags = + lib.optionals batchVersion [ + "-DBATCH_VERSION=ON" + "-DYAML-CPP_DIR=${yaml-cpp}/lib/cmake/yaml-cpp" + ] + ++ lib.optionals withJpegLs [ + "-DUSE_JPEGLS=ON" + ] + ++ lib.optionals withOpenJpeg [ + "-DUSE_OPENJPEG=ON" + "-DOpenJPEG_DIR=${openjpeg}/lib/${openjpeg.pname}-${lib.versions.majorMinor openjpeg.version}" + ] + ++ lib.optionals withCloudflareZlib [ + "-DZLIB_IMPLEMENTATION=Cloudflare" + ]; meta = { description = "DICOM to NIfTI converter"; @@ -64,7 +73,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.nitrc.org/projects/dcm2nii"; changelog = "https://github.com/rordenlab/dcm2niix/releases/tag/v${finalAttrs.version}"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ ashgillman rbreslow ]; + maintainers = with lib.maintainers; [ + ashgillman + rbreslow + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/dc/dcmtk/package.nix b/pkgs/by-name/dc/dcmtk/package.nix index 8dc85e2ee1077..c191ba70d489d 100644 --- a/pkgs/by-name/dc/dcmtk/package.nix +++ b/pkgs/by-name/dc/dcmtk/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, zlib, libtiff, libxml2, openssl, libiconv -, libpng, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + libtiff, + libxml2, + openssl, + libiconv, + libpng, + cmake, +}: stdenv.mkDerivation rec { pname = "dcmtk"; @@ -12,13 +22,19 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libpng zlib libtiff libxml2 openssl libiconv ]; + buildInputs = [ + libpng + zlib + libtiff + libxml2 + openssl + libiconv + ]; doCheck = true; meta = with lib; { - description = - "Collection of libraries and applications implementing large parts of the DICOM standard"; + description = "Collection of libraries and applications implementing large parts of the DICOM standard"; longDescription = '' DCMTK is a collection of libraries and applications implementing large parts of the DICOM standard. It includes software for examining, constructing and converting DICOM image files, handling offline media, diff --git a/pkgs/by-name/dc/dconf-editor/package.nix b/pkgs/by-name/dc/dconf-editor/package.nix index aaf39f2ca14da..2a1d45a1eb6d4 100644 --- a/pkgs/by-name/dc/dconf-editor/package.nix +++ b/pkgs/by-name/dc/dconf-editor/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, desktop-file-utils -, meson -, ninja -, vala -, libxslt -, pkg-config -, glib -, gtk3 -, libhandy -, gnome -, dconf -, libxml2 -, gettext -, docbook-xsl-nons -, wrapGAppsHook3 -, gobject-introspection +{ + lib, + stdenv, + fetchurl, + fetchpatch, + desktop-file-utils, + meson, + ninja, + vala, + libxslt, + pkg-config, + glib, + gtk3, + libhandy, + gnome, + dconf, + libxml2, + gettext, + docbook-xsl-nons, + wrapGAppsHook3, + gobject-introspection, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dc/dconf/package.nix b/pkgs/by-name/dc/dconf/package.nix index 6d56ba075f49e..e98add24382e2 100644 --- a/pkgs/by-name/dc/dconf/package.nix +++ b/pkgs/by-name/dc/dconf/package.nix @@ -1,60 +1,70 @@ -{ lib, stdenv -, fetchurl -, meson -, mesonEmulatorHook -, ninja -, python3 -, vala -, libxslt -, pkg-config -, glib -, bash-completion -, dbus -, gnome -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_42 -, nixosTests -, buildPackages -, gobject-introspection -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, withDocs ? withIntrospection +{ + lib, + stdenv, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + python3, + vala, + libxslt, + pkg-config, + glib, + bash-completion, + dbus, + gnome, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_42, + nixosTests, + buildPackages, + gobject-introspection, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + withDocs ? withIntrospection, }: stdenv.mkDerivation rec { pname = "dconf"; version = "0.40.0"; - outputs = [ "out" "lib" "dev" ] - ++ lib.optional withDocs "devdoc"; + outputs = [ + "out" + "lib" + "dev" + ] ++ lib.optional withDocs "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg"; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - libxslt - glib - docbook-xsl-nons - docbook_xml_dtd_42 - gtk-doc - ] ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook # gtkdoc invokes the host binary to produce documentation - ]; - + nativeBuildInputs = + [ + meson + ninja + pkg-config + python3 + libxslt + glib + docbook-xsl-nons + docbook_xml_dtd_42 + gtk-doc + ] + ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook # gtkdoc invokes the host binary to produce documentation + ]; - buildInputs = [ - glib - bash-completion - dbus - ] ++ lib.optionals withIntrospection [ - vala - ]; + buildInputs = + [ + glib + bash-completion + dbus + ] + ++ lib.optionals withIntrospection [ + vala + ]; mesonFlags = [ "--sysconfdir=/etc" @@ -66,7 +76,8 @@ stdenv.mkDerivation rec { dbus # for dbus-daemon ]; - doCheck = !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isDarwin; + doCheck = + !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isDarwin; postPatch = '' chmod +x meson_post_install.py tests/test-dconf.py diff --git a/pkgs/by-name/dc/dcraw/package.nix b/pkgs/by-name/dc/dcraw/package.nix index 9e35c1bfdc863..4c76548c2b35c 100644 --- a/pkgs/by-name/dc/dcraw/package.nix +++ b/pkgs/by-name/dc/dcraw/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, libjpeg, lcms2, gettext, libiconv }: +{ + lib, + stdenv, + fetchurl, + libjpeg, + lcms2, + gettext, + libiconv, +}: stdenv.mkDerivation rec { pname = "dcraw"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; - buildInputs = [ libjpeg lcms2 gettext ]; + buildInputs = [ + libjpeg + lcms2 + gettext + ]; # Jasper is disabled because the library is abandoned and has many # CVEs. diff --git a/pkgs/by-name/dc/dcrctl/package.nix b/pkgs/by-name/dc/dcrctl/package.nix index eb8f53d1cda59..e1e8d222ca299 100644 --- a/pkgs/by-name/dc/dcrctl/package.nix +++ b/pkgs/by-name/dc/dcrctl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "dcrctl"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-Ry3wR2u+vr97icP9jwAVWcFO98JVDo9TrDg9D8hfv5I="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = { homepage = "https://decred.org"; diff --git a/pkgs/by-name/dc/dcrd/package.nix b/pkgs/by-name/dc/dcrd/package.nix index d62a901c99fe4..077494f05a7a9 100644 --- a/pkgs/by-name/dc/dcrd/package.nix +++ b/pkgs/by-name/dc/dcrd/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "dcrd"; @@ -21,7 +26,10 @@ buildGoModule rec { vendorHash = "sha256-Napcfj1+KjQ21Jb/qpIzg2W/grzun2Pz5FV5yIBXoTo="; - subPackages = [ "." "cmd/promptsecret" ]; + subPackages = [ + "." + "cmd/promptsecret" + ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/dc/dcrwallet/package.nix b/pkgs/by-name/dc/dcrwallet/package.nix index 0450bbf6b0a05..40c6c4564cb10 100644 --- a/pkgs/by-name/dc/dcrwallet/package.nix +++ b/pkgs/by-name/dc/dcrwallet/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "dcrwallet"; diff --git a/pkgs/by-name/dc/dcs/package.nix b/pkgs/by-name/dc/dcs/package.nix index 458a76cf59133..dc3b9c3578851 100644 --- a/pkgs/by-name/dc/dcs/package.nix +++ b/pkgs/by-name/dc/dcs/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, yuicompressor -, zopfli -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + yuicompressor, + zopfli, + stdenv, }: buildGoModule { pname = "dcs"; @@ -41,7 +42,6 @@ buildGoModule { homepage = "https://github.com/Debian/dcs"; license = licenses.bsd3; maintainers = [ ]; - broken = stdenv.hostPlatform.isAarch64 - || stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dcs.x86_64-darwin + broken = stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dcs.x86_64-darwin }; } diff --git a/pkgs/by-name/dd/dd_rescue/package.nix b/pkgs/by-name/dd/dd_rescue/package.nix index e58499d2b2d45..78e35bec67488 100644 --- a/pkgs/by-name/dd/dd_rescue/package.nix +++ b/pkgs/by-name/dd/dd_rescue/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoconf }: +{ + lib, + stdenv, + fetchurl, + autoconf, +}: stdenv.mkDerivation rec { version = "1.99.8"; @@ -6,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { sha256 = "1gbxm8gr9sx5g1q9dycs21hkxikcy97q09lp1lvs59pnd9qpdnwh"; - url="http://www.garloff.de/kurt/linux/ddrescue/${pname}-${version}.tar.bz2"; + url = "http://www.garloff.de/kurt/linux/ddrescue/${pname}-${version}.tar.bz2"; }; dd_rhelp_src = fetchurl { @@ -32,7 +37,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tool to copy data from a damaged block device"; - maintainers = with maintainers; [ raskin domenkozar ]; + maintainers = with maintainers; [ + raskin + domenkozar + ]; platforms = platforms.linux; homepage = "http://www.garloff.de/kurt/linux/ddrescue/"; license = licenses.gpl2Plus; diff --git a/pkgs/by-name/dd/ddate/package.nix b/pkgs/by-name/dd/ddate/package.nix index 012e00c8f9724..fd4b7ab868b70 100644 --- a/pkgs/by-name/dd/ddate/package.nix +++ b/pkgs/by-name/dd/ddate/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "ddate"; diff --git a/pkgs/by-name/dd/ddccontrol-db/package.nix b/pkgs/by-name/dd/ddccontrol-db/package.nix index f0eb0492f3ade..10e089fcbc8ba 100644 --- a/pkgs/by-name/dd/ddccontrol-db/package.nix +++ b/pkgs/by-name/dd/ddccontrol-db/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, autoreconfHook -, intltool -, fetchFromGitHub +{ + lib, + stdenv, + autoreconfHook, + intltool, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -15,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-u+buByJ7w1VHs4fGWNRy2EDFYheztbzpFga3tS6PnKk="; }; - nativeBuildInputs = [ autoreconfHook intltool ]; + nativeBuildInputs = [ + autoreconfHook + intltool + ]; meta = with lib; { description = "Monitor database for DDCcontrol"; diff --git a/pkgs/by-name/dd/ddccontrol/package.nix b/pkgs/by-name/dd/ddccontrol/package.nix index 5886d2e18318c..6089c8c6d7b94 100644 --- a/pkgs/by-name/dd/ddccontrol/package.nix +++ b/pkgs/by-name/dd/ddccontrol/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, intltool -, libxml2 -, pciutils -, pkg-config -, gtk2 -, ddccontrol-db +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + intltool, + libxml2, + pciutils, + pkg-config, + gtk2, + ddccontrol-db, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dd/ddclient/package.nix b/pkgs/by-name/dd/ddclient/package.nix index ec84c7c526cb6..86847869864bd 100644 --- a/pkgs/by-name/dd/ddclient/package.nix +++ b/pkgs/by-name/dd/ddclient/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, perlPackages, autoreconfHook, perl, curl }: +{ + lib, + fetchFromGitHub, + perlPackages, + autoreconfHook, + perl, + curl, +}: let myPerl = perl.withPackages (ps: [ ps.JSONPP ]); @@ -22,7 +29,10 @@ perlPackages.buildPerlPackage rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ curl myPerl ]; + buildInputs = [ + curl + myPerl + ]; # Prevent ddclient from picking up build time perl which is implicitly added # by buildPerlPackage. diff --git a/pkgs/by-name/dd/ddcutil/package.nix b/pkgs/by-name/dd/ddcutil/package.nix index baf41aac70417..cd0ad0b319908 100644 --- a/pkgs/by-name/dd/ddcutil/package.nix +++ b/pkgs/by-name/dd/ddcutil/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, glib -, jansson -, udev -, libgudev -, libusb1 -, libdrm -, xorg +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + glib, + jansson, + udev, + libgudev, + libusb1, + libdrm, + xorg, }: stdenv.mkDerivation rec { @@ -21,7 +22,10 @@ stdenv.mkDerivation rec { hash = "sha256-4U/igqtgw2rwyuhEkV1pWYPIyNZEt2N6hlXJ9bDUyRw="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ glib @@ -46,4 +50,3 @@ stdenv.mkDerivation rec { mainProgram = "ddcutil"; }; } - diff --git a/pkgs/by-name/dd/ddgr/package.nix b/pkgs/by-name/dd/ddgr/package.nix index 04f27117f8e2d..01a331802e5df 100644 --- a/pkgs/by-name/dd/ddgr/package.nix +++ b/pkgs/by-name/dd/ddgr/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + installShellFiles, +}: stdenv.mkDerivation rec { version = "2.2"; @@ -27,7 +33,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/jarun/ddgr"; description = "Search DuckDuckGo from the terminal"; license = licenses.gpl3; - maintainers = with maintainers; [ ceedubs markus1189 ]; + maintainers = with maintainers; [ + ceedubs + markus1189 + ]; platforms = python3.meta.platforms; mainProgram = "ddgr"; }; diff --git a/pkgs/by-name/dd/ddh/package.nix b/pkgs/by-name/dd/ddh/package.nix index b042f5549a199..ecfa8c702ab9c 100644 --- a/pkgs/by-name/dd/ddh/package.nix +++ b/pkgs/by-name/dd/ddh/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, rustPlatform, ... }: +{ + lib, + fetchFromGitHub, + rustPlatform, + ... +}: rustPlatform.buildRustPackage rec { pname = "ddh"; version = "0.13.0"; diff --git a/pkgs/by-name/dd/ddns-go/package.nix b/pkgs/by-name/dd/ddns-go/package.nix index 5ad845467a7f5..3e6d219715f55 100644 --- a/pkgs/by-name/dd/ddns-go/package.nix +++ b/pkgs/by-name/dd/ddns-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -23,7 +24,7 @@ buildGoModule rec { # network required doCheck = false; - meta = with lib;{ + meta = with lib; { homepage = "https://github.com/jeessy2/ddns-go"; description = "Simple and easy to use DDNS"; license = licenses.mit; diff --git a/pkgs/by-name/dd/ddosify/package.nix b/pkgs/by-name/dd/ddosify/package.nix index 0f47035721e68..77b29c41d25e4 100644 --- a/pkgs/by-name/dd/ddosify/package.nix +++ b/pkgs/by-name/dd/ddosify/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/dd/ddrescue/package.nix b/pkgs/by-name/dd/ddrescue/package.nix index 2e90558d38633..087f1057ce229 100644 --- a/pkgs/by-name/dd/ddrescue/package.nix +++ b/pkgs/by-name/dd/ddrescue/package.nix @@ -1,5 +1,8 @@ -{ lib, stdenv -, fetchurl, lzip +{ + lib, + stdenv, + fetchurl, + lzip, }: stdenv.mkDerivation rec { @@ -47,6 +50,9 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; platforms = platforms.all; - maintainers = with maintainers; [ domenkozar fpletz ]; + maintainers = with maintainers; [ + domenkozar + fpletz + ]; }; } diff --git a/pkgs/by-name/dd/ddrescueview/package.nix b/pkgs/by-name/dd/ddrescueview/package.nix index d3a2e46da14bf..91e834ec93765 100644 --- a/pkgs/by-name/dd/ddrescueview/package.nix +++ b/pkgs/by-name/dd/ddrescueview/package.nix @@ -1,4 +1,17 @@ -{ stdenv, lib, fetchurl, fpc, lazarus, atk, cairo, gdk-pixbuf, glib, gtk2, libX11, pango }: +{ + stdenv, + lib, + fetchurl, + fpc, + lazarus, + atk, + cairo, + gdk-pixbuf, + glib, + gtk2, + libX11, + pango, +}: stdenv.mkDerivation rec { pname = "ddrescueview"; @@ -10,9 +23,20 @@ stdenv.mkDerivation rec { }; sourceRoot = "ddrescueview-source-${version}/source"; - nativeBuildInputs = [ fpc lazarus ]; - - buildInputs = [ atk cairo gdk-pixbuf glib gtk2 libX11 pango ]; + nativeBuildInputs = [ + fpc + lazarus + ]; + + buildInputs = [ + atk + cairo + gdk-pixbuf + glib + gtk2 + libX11 + pango + ]; NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}"; diff --git a/pkgs/by-name/dd/ddrutility/package.nix b/pkgs/by-name/dd/ddrutility/package.nix index ee1c549fca9a9..7756e23b2b11c 100644 --- a/pkgs/by-name/dd/ddrutility/package.nix +++ b/pkgs/by-name/dd/ddrutility/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ddrutility"; diff --git a/pkgs/by-name/dd/ddsmt/package.nix b/pkgs/by-name/dd/ddsmt/package.nix index a4a4a39991687..74616fd67e15a 100644 --- a/pkgs/by-name/dd/ddsmt/package.nix +++ b/pkgs/by-name/dd/ddsmt/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: let diff --git a/pkgs/by-name/dd/dduper/package.nix b/pkgs/by-name/dd/dduper/package.nix index c63846e2c46a2..2735242abb300 100644 --- a/pkgs/by-name/dd/dduper/package.nix +++ b/pkgs/by-name/dd/dduper/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub, btrfs-progs, python3 }: +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + btrfs-progs, + python3, +}: let btrfsProgsPatched = btrfs-progs.overrideAttrs { @@ -9,10 +16,12 @@ let }) ]; }; - py3 = python3.withPackages (ps: with ps; [ - prettytable - numpy - ]); + py3 = python3.withPackages ( + ps: with ps; [ + prettytable + numpy + ] + ); in stdenv.mkDerivation rec { pname = "dduper"; diff --git a/pkgs/by-name/de/deadnix/package.nix b/pkgs/by-name/de/deadnix/package.nix index daea07c9ba3e5..a15e628d04e51 100644 --- a/pkgs/by-name/de/deadnix/package.nix +++ b/pkgs/by-name/de/deadnix/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/de/deadpixi-sam-unstable/package.nix b/pkgs/by-name/de/deadpixi-sam-unstable/package.nix index 4321119156e0e..503895f882f73 100644 --- a/pkgs/by-name/de/deadpixi-sam-unstable/package.nix +++ b/pkgs/by-name/de/deadpixi-sam-unstable/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, freetype, libX11, libXi, libXt, libXft }: +{ + lib, + stdenv, + fetchFromGitHub, + freetype, + libX11, + libXi, + libXt, + libXft, +}: stdenv.mkDerivation rec { pname = "deadpixi-sam-unstable"; @@ -20,7 +29,12 @@ stdenv.mkDerivation rec { CFLAGS = "-D_DARWIN_C_SOURCE"; makeFlags = [ "DESTDIR=$(out)" ]; - buildInputs = [ libX11 libXi libXt libXft ]; + buildInputs = [ + libX11 + libXi + libXt + libXft + ]; # build fails when run in parallel enableParallelBuilding = false; diff --git a/pkgs/by-name/de/debian-devscripts/package.nix b/pkgs/by-name/de/debian-devscripts/package.nix index d70994753dbdf..2d92cac2eea7f 100644 --- a/pkgs/by-name/de/debian-devscripts/package.nix +++ b/pkgs/by-name/de/debian-devscripts/package.nix @@ -1,8 +1,24 @@ -{lib, stdenv, fetchurl, fetchpatch, xz, dpkg -, libxslt, docbook_xsl, makeWrapper, writeShellScript -, python3Packages -, perlPackages, curl, gnupg, diffutils, nano, pkg-config, bash-completion, help2man -, sendmailPath ? "/run/wrappers/bin/sendmail" +{ + lib, + stdenv, + fetchurl, + fetchpatch, + xz, + dpkg, + libxslt, + docbook_xsl, + makeWrapper, + writeShellScript, + python3Packages, + perlPackages, + curl, + gnupg, + diffutils, + nano, + pkg-config, + bash-completion, + help2man, + sendmailPath ? "/run/wrappers/bin/sendmail", }: let @@ -10,7 +26,8 @@ let sensible-editor = writeShellScript "sensible-editor" '' exec ''${EDITOR-${nano}/bin/nano} "$@" ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "2.23.5"; pname = "debian-devscripts"; @@ -33,9 +50,38 @@ in stdenv.mkDerivation rec { patchShebangs scripts ''; - nativeBuildInputs = [ makeWrapper pkg-config ]; - buildInputs = [ xz dpkg libxslt python setuptools curl gnupg diffutils bash-completion help2man ] ++ - (with perlPackages; [ perl CryptSSLeay LWP TimeDate DBFile FileDesktopEntry ParseDebControl LWPProtocolHttps Moo FileHomeDir IPCRun FileDirList FileTouch ]); + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + buildInputs = + [ + xz + dpkg + libxslt + python + setuptools + curl + gnupg + diffutils + bash-completion + help2man + ] + ++ (with perlPackages; [ + perl + CryptSSLeay + LWP + TimeDate + DBFile + FileDesktopEntry + ParseDebControl + LWPProtocolHttps + Moo + FileHomeDir + IPCRun + FileDirList + FileTouch + ]); preConfigure = '' export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}"; @@ -83,7 +129,7 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Debian package maintenance scripts"; license = licenses.free; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... TODO - maintainers = with maintainers; [raskin]; + maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/de/debian-goodies/package.nix b/pkgs/by-name/de/debian-goodies/package.nix index 6e0fc3a0fb4ab..d6857bfa18281 100644 --- a/pkgs/by-name/de/debian-goodies/package.nix +++ b/pkgs/by-name/de/debian-goodies/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, curl -, dialog -, installShellFiles -, perl -, python3 +{ + lib, + stdenv, + fetchFromGitLab, + curl, + dialog, + installShellFiles, + perl, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/de/debianutils/package.nix b/pkgs/by-name/de/debianutils/package.nix index a500ae63de68c..c6b2c75d88f5f 100644 --- a/pkgs/by-name/de/debianutils/package.nix +++ b/pkgs/by-name/de/debianutils/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, perl -, po4a +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + perl, + po4a, }: stdenv.mkDerivation (finalAttrs: { @@ -26,7 +27,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = { homepage = "https://packages.debian.org/sid/debianutils"; @@ -39,7 +43,11 @@ stdenv.mkDerivation (finalAttrs: { The specific utilities included are: add-shell installkernel ischroot remove-shell run-parts savelog tempfile which ''; - license = with lib.licenses; [ gpl2Plus publicDomain smail ]; + license = with lib.licenses; [ + gpl2Plus + publicDomain + smail + ]; mainProgram = "ischroot"; maintainers = with lib.maintainers; [ ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/de/debootstrap/package.nix b/pkgs/by-name/de/debootstrap/package.nix index c22dfdb148655..83657427129ca 100644 --- a/pkgs/by-name/de/debootstrap/package.nix +++ b/pkgs/by-name/de/debootstrap/package.nix @@ -1,29 +1,31 @@ -{ lib -, stdenv -, fetchFromGitLab -, dpkg -, gawk -, perl -, wget -, binutils -, bzip2 -, coreutils -, util-linux -, gnugrep -, gnupg1 -, gnutar -, gnused -, gzip -, xz -, makeWrapper -, nix-update-script -, testers -, debootstrap +{ + lib, + stdenv, + fetchFromGitLab, + dpkg, + gawk, + perl, + wget, + binutils, + bzip2, + coreutils, + util-linux, + gnugrep, + gnupg1, + gnutar, + gnused, + gzip, + xz, + makeWrapper, + nix-update-script, + testers, + debootstrap, }: # USAGE like this: debootstrap sid /tmp/target-chroot-directory # There is also cdebootstrap now. Is that easier to maintain? -let binPath = lib.makeBinPath [ +let + binPath = lib.makeBinPath [ binutils bzip2 coreutils @@ -38,7 +40,8 @@ let binPath = lib.makeBinPath [ wget xz ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "debootstrap"; version = "1.0.137"; diff --git a/pkgs/by-name/de/debugedit/package.nix b/pkgs/by-name/de/debugedit/package.nix index 8da0effe7be53..a0b5e9b49988e 100644 --- a/pkgs/by-name/de/debugedit/package.nix +++ b/pkgs/by-name/de/debugedit/package.nix @@ -1,10 +1,23 @@ #TODO@deliciouslytyped The tool seems to unnecessarily force mutable access for the debugedit `-l` feature -{fetchgit, lib, stdenv, autoreconfHook, pkg-config, elfutils, help2man, util-linux}: +{ + fetchgit, + lib, + stdenv, + autoreconfHook, + pkg-config, + elfutils, + help2man, + util-linux, +}: stdenv.mkDerivation rec { pname = "debugedit"; version = "5.0"; - nativeBuildInputs = [ autoreconfHook pkg-config help2man ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + help2man + ]; buildInputs = [ elfutils ]; nativeCheckInputs = [ util-linux ]; # Tests use `rev` diff --git a/pkgs/by-name/de/dec-decode/package.nix b/pkgs/by-name/de/dec-decode/package.nix index 621e119dc0908..f3146c682a894 100644 --- a/pkgs/by-name/de/dec-decode/package.nix +++ b/pkgs/by-name/de/dec-decode/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/de/decent-sampler/package.nix b/pkgs/by-name/de/decent-sampler/package.nix index 7e936f69ce004..c388cef5aa75c 100644 --- a/pkgs/by-name/de/decent-sampler/package.nix +++ b/pkgs/by-name/de/decent-sampler/package.nix @@ -92,6 +92,9 @@ buildFHSEnv { # that it is released under. license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ adam248 chewblacka ]; + maintainers = with maintainers; [ + adam248 + chewblacka + ]; }; } diff --git a/pkgs/by-name/de/deckmaster/package.nix b/pkgs/by-name/de/deckmaster/package.nix index eb913847221d5..70d1d5fb7c447 100644 --- a/pkgs/by-name/de/deckmaster/package.nix +++ b/pkgs/by-name/de/deckmaster/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, roboto +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + roboto, }: buildGoModule rec { diff --git a/pkgs/by-name/de/deco/package.nix b/pkgs/by-name/de/deco/package.nix index 5efa22e8843c9..238e7e2810e66 100644 --- a/pkgs/by-name/de/deco/package.nix +++ b/pkgs/by-name/de/deco/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, scsh, feh, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + scsh, + feh, + xorg, +}: stdenv.mkDerivation rec { pname = "deco"; diff --git a/pkgs/by-name/de/decode-spam-headers/package.nix b/pkgs/by-name/de/decode-spam-headers/package.nix index 2ccab2956aed8..cb9bf70a67da0 100644 --- a/pkgs/by-name/de/decode-spam-headers/package.nix +++ b/pkgs/by-name/de/decode-spam-headers/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "decode-spam-headers"; @@ -13,7 +18,10 @@ python3Packages.buildPythonApplication rec { format = "other"; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; installPhase = '' install -D decode-spam-headers.py $out/bin/decode-spam-headers diff --git a/pkgs/by-name/de/decoder/package.nix b/pkgs/by-name/de/decoder/package.nix index 1463e132bb728..92478c1ab0d32 100644 --- a/pkgs/by-name/de/decoder/package.nix +++ b/pkgs/by-name/de/decoder/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/de/dedup/package.nix b/pkgs/by-name/de/dedup/package.nix index 15daab4751e97..2b90f9b62a5a7 100644 --- a/pkgs/by-name/de/dedup/package.nix +++ b/pkgs/by-name/de/dedup/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl, lz4, snappy, libsodium -# For testing -, coreutils, gawk +{ + lib, + stdenv, + fetchurl, + lz4, + snappy, + libsodium, + # For testing + coreutils, + gawk, }: stdenv.mkDerivation rec { @@ -18,17 +25,27 @@ stdenv.mkDerivation rec { "MANPREFIX=${placeholder "out"}/share/man" ]; - buildInputs = [ lz4 snappy libsodium ]; + buildInputs = [ + lz4 + snappy + libsodium + ]; doCheck = true; - nativeCheckInputs = [ coreutils gawk ]; + nativeCheckInputs = [ + coreutils + gawk + ]; checkTarget = "test"; meta = with lib; { description = "Data deduplication program"; homepage = "https://git.2f30.org/dedup/file/README.html"; - license = with licenses; [ bsd0 isc ]; + license = with licenses; [ + bsd0 + isc + ]; maintainers = with maintainers; [ dtzWill ]; }; } diff --git a/pkgs/by-name/de/deepfilternet/package.nix b/pkgs/by-name/de/deepfilternet/package.nix index 0c1ee6bdb2dd6..7294a12500b14 100644 --- a/pkgs/by-name/de/deepfilternet/package.nix +++ b/pkgs/by-name/de/deepfilternet/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -39,7 +40,10 @@ rustPlatform.buildRustPackage rec { meta = { description = "Noise supression using deep filtering"; homepage = "https://github.com/Rikorose/DeepFilterNet"; - license = with lib.licenses; [ mit asl20 ]; + license = with lib.licenses; [ + mit + asl20 + ]; maintainers = with lib.maintainers; [ ralismark ]; changelog = "https://github.com/Rikorose/DeepFilterNet/releases/tag/${src.rev}"; }; diff --git a/pkgs/by-name/de/deepgit/package.nix b/pkgs/by-name/de/deepgit/package.nix index acaf26b2c5c88..71845d9ee0aba 100644 --- a/pkgs/by-name/de/deepgit/package.nix +++ b/pkgs/by-name/de/deepgit/package.nix @@ -1,13 +1,14 @@ -{ copyDesktopItems -, fetchurl -, glib -, adwaita-icon-theme -, gtk3 -, jre -, lib -, makeDesktopItem -, stdenv -, wrapGAppsHook3 +{ + copyDesktopItems, + fetchurl, + glib, + adwaita-icon-theme, + gtk3, + jre, + lib, + makeDesktopItem, + stdenv, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -15,7 +16,9 @@ stdenv.mkDerivation rec { version = "4.4"; src = fetchurl { - url = "https://www.syntevo.com/downloads/deepgit/deepgit-linux-${lib.replaceStrings [ "." ] [ "_" ] version}.tar.gz"; + url = "https://www.syntevo.com/downloads/deepgit/deepgit-linux-${ + lib.replaceStrings [ "." ] [ "_" ] version + }.tar.gz"; hash = "sha256-ILqwXDyW7/hZzoSxxaxv4bF5xsB/JFaOBYAJFb7xmdk="; }; @@ -32,31 +35,38 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk3 ]} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + glib + gtk3 + ] + } --set DEEPGIT_JAVA_HOME ${jre} ) patchShebangs bin/deepgit.sh ''; - desktopItems = [(makeDesktopItem rec { - name = pname; - desktopName = "DeepGit"; - keywords = [ "git" ]; - comment = "Git-Client"; - categories = [ - "Development" - "RevisionControl" - ]; - terminal = false; - startupNotify = true; - startupWMClass = desktopName; - exec = pname; - mimeTypes = [ - "x-scheme-handler/${pname}" - "x-scheme-handler/sourcetree" - ]; - icon = pname; - })]; + desktopItems = [ + (makeDesktopItem rec { + name = pname; + desktopName = "DeepGit"; + keywords = [ "git" ]; + comment = "Git-Client"; + categories = [ + "Development" + "RevisionControl" + ]; + terminal = false; + startupNotify = true; + startupWMClass = desktopName; + exec = pname; + mimeTypes = [ + "x-scheme-handler/${pname}" + "x-scheme-handler/sourcetree" + ]; + icon = pname; + }) + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/de/deepsea/package.nix b/pkgs/by-name/de/deepsea/package.nix index 2f0a9f175f395..5fb90e4ab991f 100644 --- a/pkgs/by-name/de/deepsea/package.nix +++ b/pkgs/by-name/de/deepsea/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/de/deeptools/package.nix b/pkgs/by-name/de/deeptools/package.nix index 2abd0825e6e39..162141847c440 100644 --- a/pkgs/by-name/de/deeptools/package.nix +++ b/pkgs/by-name/de/deeptools/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -59,7 +60,10 @@ python3.pkgs.buildPythonApplication rec { publication-ready visualizations to identify enrichments and for functional annotations of the genome. ''; - license = with licenses; [ mit bsd3 ]; + license = with licenses; [ + mit + bsd3 + ]; maintainers = with maintainers; [ scalavision ]; }; } diff --git a/pkgs/by-name/de/deer/package.nix b/pkgs/by-name/de/deer/package.nix index 0d3a6bc9ee61a..9cee98d1ff4ce 100644 --- a/pkgs/by-name/de/deer/package.nix +++ b/pkgs/by-name/de/deer/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "deer"; diff --git a/pkgs/by-name/de/deface/package.nix b/pkgs/by-name/de/deface/package.nix index 5b80ed6e2528c..ff66a7f02cfeb 100644 --- a/pkgs/by-name/de/deface/package.nix +++ b/pkgs/by-name/de/deface/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, python3 -, fetchFromGitHub -, pkgs +{ + lib, + stdenv, + python3, + fetchFromGitHub, + pkgs, }: python3.pkgs.buildPythonApplication rec { @@ -39,7 +40,11 @@ python3.pkgs.buildPythonApplication rec { ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.onnxruntime ]}"'' ]; - pythonImportsCheck = [ "deface" "onnx" "onnxruntime" ]; + pythonImportsCheck = [ + "deface" + "onnx" + "onnxruntime" + ]; meta = { description = "Video anonymization by face detection"; diff --git a/pkgs/by-name/de/degit/package.nix b/pkgs/by-name/de/degit/package.nix index b126569c59912..8d044a9e2f2a0 100644 --- a/pkgs/by-name/de/degit/package.nix +++ b/pkgs/by-name/de/degit/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/de/deheader/package.nix b/pkgs/by-name/de/deheader/package.nix index 23325c2a02e51..716de25f2b59b 100644 --- a/pkgs/by-name/de/deheader/package.nix +++ b/pkgs/by-name/de/deheader/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, python3 -, xmlto -, docbook-xsl-nons -, fetchFromGitLab -, installShellFiles +{ + lib, + stdenv, + python3, + xmlto, + docbook-xsl-nons, + fetchFromGitLab, + installShellFiles, }: stdenv.mkDerivation rec { pname = "deheader"; version = "1.11"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitLab { owner = "esr"; @@ -21,7 +25,11 @@ stdenv.mkDerivation rec { buildInputs = [ python3 ]; - nativeBuildInputs = [ xmlto docbook-xsl-nons installShellFiles ]; + nativeBuildInputs = [ + xmlto + docbook-xsl-nons + installShellFiles + ]; # With upstream Makefile, xmlto is called without "--skip-validation". It # makes it require a lot of dependencies, yet ultimately it fails diff --git a/pkgs/by-name/de/dehydrated/package.nix b/pkgs/by-name/de/dehydrated/package.nix index 93a4c4f740d7d..236b71c8c29a0 100644 --- a/pkgs/by-name/de/dehydrated/package.nix +++ b/pkgs/by-name/de/dehydrated/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, coreutils, curl, diffutils, gawk, gnugrep, gnused, hexdump, openssl, makeWrapper, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + coreutils, + curl, + diffutils, + gawk, + gnugrep, + gnused, + hexdump, + openssl, + makeWrapper, + fetchFromGitHub, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "dehydrated"; version = "0.7.1"; @@ -10,7 +24,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-K08eeruyT5vKzK3PzfCkubZiHbf9Yq7wzD1z69MeDtY="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = '' installManPage docs/man/dehydrated.1 @@ -22,7 +39,18 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -a dehydrated $out/bin - wrapProgram "$out/bin/dehydrated" --prefix PATH : "${lib.makeBinPath [ openssl coreutils gnused gnugrep diffutils curl gawk hexdump ]}" + wrapProgram "$out/bin/dehydrated" --prefix PATH : "${ + lib.makeBinPath [ + openssl + coreutils + gnused + gnugrep + diffutils + curl + gawk + hexdump + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/de/deja-dup/package.nix b/pkgs/by-name/de/deja-dup/package.nix index 8f4663316b01b..e0e13085bdf1f 100644 --- a/pkgs/by-name/de/deja-dup/package.nix +++ b/pkgs/by-name/de/deja-dup/package.nix @@ -1,24 +1,26 @@ -{ lib, stdenv -, fetchFromGitLab -, substituteAll -, meson -, ninja -, pkg-config -, vala -, gettext -, itstool -, desktop-file-utils -, glib -, gtk4 -, coreutils -, libsoup_3 -, libsecret -, libadwaita -, wrapGAppsHook4 -, libgpg-error -, json-glib -, duplicity -, rclone +{ + lib, + stdenv, + fetchFromGitLab, + substituteAll, + meson, + ninja, + pkg-config, + vala, + gettext, + itstool, + desktop-file-utils, + glib, + gtk4, + coreutils, + libsoup_3, + libsecret, + libadwaita, + wrapGAppsHook4, + libgpg-error, + json-glib, + duplicity, + rclone, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/de/dejagnu/package.nix b/pkgs/by-name/de/dejagnu/package.nix index 015e7ff991d12..02c25fe2817d6 100644 --- a/pkgs/by-name/de/dejagnu/package.nix +++ b/pkgs/by-name/de/dejagnu/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, lib, stdenv, expect, makeWrapper, updateAutotoolsGnuConfigScriptsHook }: +{ + fetchurl, + lib, + stdenv, + expect, + makeWrapper, + updateAutotoolsGnuConfigScriptsHook, +}: stdenv.mkDerivation rec { pname = "dejagnu"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1qx2cv6qkxbiqg87jh217jb62hk3s7dmcs4cz1llm2wmsynfznl7"; }; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook makeWrapper ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + makeWrapper + ]; buildInputs = [ expect ]; # dejagnu-1.6.3 can't successfully run tests in source tree: diff --git a/pkgs/by-name/de/dejsonlz4/package.nix b/pkgs/by-name/de/dejsonlz4/package.nix index 51c5d485cfa9d..736470b504102 100644 --- a/pkgs/by-name/de/dejsonlz4/package.nix +++ b/pkgs/by-name/de/dejsonlz4/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dejsonlz4"; diff --git a/pkgs/by-name/de/delayarchitect/package.nix b/pkgs/by-name/de/delayarchitect/package.nix index c422549d6617b..10febc979382b 100644 --- a/pkgs/by-name/de/delayarchitect/package.nix +++ b/pkgs/by-name/de/delayarchitect/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, libGL, libX11, libXext, libXrandr, libXinerama, libXcursor, freetype, alsa-lib, cmake, pkg-config, gcc-unwrapped }: +{ + lib, + stdenv, + fetchFromGitHub, + libGL, + libX11, + libXext, + libXrandr, + libXinerama, + libXcursor, + freetype, + alsa-lib, + cmake, + pkg-config, + gcc-unwrapped, +}: stdenv.mkDerivation rec { pname = "delayarchitect"; @@ -12,10 +27,20 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - libGL libX11 libXext libXrandr libXinerama libXcursor freetype alsa-lib + libGL + libX11 + libXext + libXrandr + libXinerama + libXcursor + freetype + alsa-lib ]; cmakeFlags = [ diff --git a/pkgs/by-name/de/delfin/package.nix b/pkgs/by-name/de/delfin/package.nix index 6100416ed8d27..05ab8c25203d2 100644 --- a/pkgs/by-name/de/delfin/package.nix +++ b/pkgs/by-name/de/delfin/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, appstream -, cargo -, desktop-file-utils -, fetchFromGitea -, gitUpdater -, gtk4 -, libadwaita -, libepoxy -, libglvnd -, meson -, mpv -, ninja -, openssl -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 +{ + lib, + stdenv, + appstream, + cargo, + desktop-file-utils, + fetchFromGitea, + gitUpdater, + gtk4, + libadwaita, + libepoxy, + libglvnd, + meson, + mpv, + ninja, + openssl, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -70,7 +71,10 @@ stdenv.mkDerivation rec { description = "Stream movies and TV shows from Jellyfin"; homepage = "https://www.delfin.avery.cafe/"; license = licenses.gpl3Only; - maintainers = with maintainers; [ colinsane avery ]; + maintainers = with maintainers; [ + colinsane + avery + ]; mainProgram = "delfin"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/de/dell-530cdn/package.nix b/pkgs/by-name/de/dell-530cdn/package.nix index 9cabd8fa3396b..6c72c3498c987 100644 --- a/pkgs/by-name/de/dell-530cdn/package.nix +++ b/pkgs/by-name/de/dell-530cdn/package.nix @@ -1,11 +1,18 @@ -{ runCommand, fetchurl, rpm, cpio }: let +{ + runCommand, + fetchurl, + rpm, + cpio, +}: +let version = "1.3-1"; src = fetchurl { url = "http://downloads.dell.com/printer/Dell-5130cdn-Color-Laser-${version}.noarch.rpm"; sha256 = "0pj32sj6jcdnpa5v75af0hnvx4z0ky0m1k2522cfdx4cb1r2lna9"; }; -in runCommand "Dell-5130cdn-Color-Laser-1.3-1" {} '' +in +runCommand "Dell-5130cdn-Color-Laser-1.3-1" { } '' mkdir -p usr/share/cups/model ${rpm}/bin/rpm2cpio ${src} | ${cpio}/bin/cpio -i mkdir -p $out/share/ppd diff --git a/pkgs/by-name/de/dell-command-configure/package.nix b/pkgs/by-name/de/dell-command-configure/package.nix index b22fd6746a9b3..52e79a25082e3 100644 --- a/pkgs/by-name/de/dell-command-configure/package.nix +++ b/pkgs/by-name/de/dell-command-configure/package.nix @@ -69,11 +69,15 @@ let ''; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit version; pname = "dell-command-configure"; - buildInputs = [ openssl (lib.getLib stdenv.cc.cc) ]; + buildInputs = [ + openssl + (lib.getLib stdenv.cc.cc) + ]; nativeBuildInputs = [ autoPatchelfHook ]; dontConfigure = true; @@ -102,8 +106,7 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Configure BIOS settings on Dell laptops"; - homepage = - "https://www.dell.com/support/article/us/en/19/sln311302/dell-command-configure"; + homepage = "https://www.dell.com/support/article/us/en/19/sln311302/dell-command-configure"; license = licenses.unfree; maintainers = with maintainers; [ ryangibb ]; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/by-name/de/delly/package.nix b/pkgs/by-name/de/delly/package.nix index bb6845b30a12d..2bcb0954ad5fc 100644 --- a/pkgs/by-name/de/delly/package.nix +++ b/pkgs/by-name/de/delly/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, bzip2 -, htslib -, llvmPackages -, xz -, zlib -, delly -, runCommand +{ + lib, + stdenv, + fetchFromGitHub, + boost, + bzip2, + htslib, + llvmPackages, + xz, + zlib, + delly, + runCommand, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/de/delta/package.nix b/pkgs/by-name/de/delta/package.nix index fbeed74f7b597..5f74dde527de2 100644 --- a/pkgs/by-name/de/delta/package.nix +++ b/pkgs/by-name/de/delta/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, oniguruma -, stdenv -, apple-sdk_11 -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + oniguruma, + stdenv, + apple-sdk_11, + git, }: rustPlatform.buildRustPackage rec { @@ -27,11 +28,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - oniguruma - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - ]; + buildInputs = + [ + oniguruma + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + ]; nativeCheckInputs = [ git ]; @@ -60,7 +63,11 @@ rustPlatform.buildRustPackage rec { description = "Syntax-highlighting pager for git"; changelog = "https://github.com/dandavison/delta/releases/tag/${version}"; license = licenses.mit; - maintainers = with maintainers; [ zowoq SuperSandro2000 figsoda ]; + maintainers = with maintainers; [ + zowoq + SuperSandro2000 + figsoda + ]; mainProgram = "delta"; }; } diff --git a/pkgs/by-name/de/deltachat-cursed/package.nix b/pkgs/by-name/de/deltachat-cursed/package.nix index a8299361d928b..67b87b7d6e1f4 100644 --- a/pkgs/by-name/de/deltachat-cursed/package.nix +++ b/pkgs/by-name/de/deltachat-cursed/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, testers -, deltachat-cursed +{ + lib, + python3, + fetchFromGitHub, + testers, + deltachat-cursed, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/de/deltachat-repl/package.nix b/pkgs/by-name/de/deltachat-repl/package.nix index 2cf3bc5f42cca..936c519102ad5 100644 --- a/pkgs/by-name/de/deltachat-repl/package.nix +++ b/pkgs/by-name/de/deltachat-repl/package.nix @@ -1,12 +1,18 @@ -{ rustPlatform -, libdeltachat -, pkg-config +{ + rustPlatform, + libdeltachat, + pkg-config, }: rustPlatform.buildRustPackage { pname = "deltachat-repl"; - inherit (libdeltachat) version src cargoDeps buildInputs; + inherit (libdeltachat) + version + src + cargoDeps + buildInputs + ; nativeBuildInputs = [ pkg-config @@ -16,7 +22,10 @@ rustPlatform.buildRustPackage { OPENSSL_NO_VENDOR = true; }; - cargoBuildFlags = [ "--package" "deltachat-repl" ]; + cargoBuildFlags = [ + "--package" + "deltachat-repl" + ]; doCheck = false; diff --git a/pkgs/by-name/de/deltachat-rpc-server/package.nix b/pkgs/by-name/de/deltachat-rpc-server/package.nix index 7dfd75ef8f661..4a0f148ff4421 100644 --- a/pkgs/by-name/de/deltachat-rpc-server/package.nix +++ b/pkgs/by-name/de/deltachat-rpc-server/package.nix @@ -1,12 +1,18 @@ -{ rustPlatform -, libdeltachat -, pkg-config +{ + rustPlatform, + libdeltachat, + pkg-config, }: rustPlatform.buildRustPackage { pname = "deltachat-rpc-server"; - inherit (libdeltachat) version src cargoDeps buildInputs; + inherit (libdeltachat) + version + src + cargoDeps + buildInputs + ; nativeBuildInputs = [ pkg-config @@ -16,7 +22,10 @@ rustPlatform.buildRustPackage { OPENSSL_NO_VENDOR = true; }; - cargoBuildFlags = [ "--package" "deltachat-rpc-server" ]; + cargoBuildFlags = [ + "--package" + "deltachat-rpc-server" + ]; doCheck = false; diff --git a/pkgs/by-name/de/deltatouch/package.nix b/pkgs/by-name/de/deltatouch/package.nix index f22a776f93db2..810f34ae7d8f4 100644 --- a/pkgs/by-name/de/deltatouch/package.nix +++ b/pkgs/by-name/de/deltatouch/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitea -, cmake -, intltool -, libdeltachat -, lomiri -, qt5 -, quirc +{ + lib, + stdenv, + fetchFromGitea, + cmake, + intltool, + libdeltachat, + lomiri, + qt5, + quirc, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,6 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ qt5.wrapQtAppsHook intltool diff --git a/pkgs/by-name/de/delve/package.nix b/pkgs/by-name/de/delve/package.nix index a6e73420bc72d..24fb3e82c73db 100644 --- a/pkgs/by-name/de/delve/package.nix +++ b/pkgs/by-name/de/delve/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + stdenv, +}: buildGoModule rec { pname = "delve"; diff --git a/pkgs/by-name/de/demoit/package.nix b/pkgs/by-name/de/demoit/package.nix index 253642bbdddd1..a67e01f242398 100644 --- a/pkgs/by-name/de/demoit/package.nix +++ b/pkgs/by-name/de/demoit/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/de/dendrite/package.nix b/pkgs/by-name/de/dendrite/package.nix index bb72aeb170db5..c3c8784cc9089 100644 --- a/pkgs/by-name/de/dendrite/package.nix +++ b/pkgs/by-name/de/dendrite/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, nix-update-script -, nixosTests -, postgresql -, postgresqlTestHook +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + nix-update-script, + nixosTests, + postgresql, + postgresqlTestHook, }: buildGoModule rec { @@ -58,7 +59,10 @@ buildGoModule rec { inherit (nixosTests) dendrite; }; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "v(.+)" ]; + extraArgs = [ + "--version-regex" + "v(.+)" + ]; }; meta = with lib; { diff --git a/pkgs/by-name/de/denemo/package.nix b/pkgs/by-name/de/denemo/package.nix index 1a5ce4c77e6e0..1b4c0e30d46ed 100644 --- a/pkgs/by-name/de/denemo/package.nix +++ b/pkgs/by-name/de/denemo/package.nix @@ -1,9 +1,31 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config -, libjack2, gettext, intltool, guile, lilypond -, glib, libxml2, librsvg, libsndfile, aubio -, gtk3, gtksourceview, evince, fluidsynth, rubberband -, autoreconfHook, gtk-doc -, portaudio, portmidi, fftw, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + libjack2, + gettext, + intltool, + guile, + lilypond, + glib, + libxml2, + librsvg, + libsndfile, + aubio, + gtk3, + gtksourceview, + evince, + fluidsynth, + rubberband, + autoreconfHook, + gtk-doc, + portaudio, + portmidi, + fftw, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "denemo"; @@ -28,8 +50,22 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - libjack2 guile lilypond glib libxml2 librsvg libsndfile - aubio gtk3 gtksourceview evince fluidsynth rubberband portaudio fftw portmidi + libjack2 + guile + lilypond + glib + libxml2 + librsvg + libsndfile + aubio + gtk3 + gtksourceview + evince + fluidsynth + rubberband + portaudio + fftw + portmidi ]; preFixup = '' diff --git a/pkgs/by-name/de/dependency-track-exporter/package.nix b/pkgs/by-name/de/dependency-track-exporter/package.nix index 8a66db363c2c6..0cd1ab979defd 100644 --- a/pkgs/by-name/de/dependency-track-exporter/package.nix +++ b/pkgs/by-name/de/dependency-track-exporter/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/de/deqp-runner/package.nix b/pkgs/by-name/de/deqp-runner/package.nix index cafd083de5286..b8daa3098022c 100644 --- a/pkgs/by-name/de/deqp-runner/package.nix +++ b/pkgs/by-name/de/deqp-runner/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, rustPlatform }: +{ + lib, + fetchFromGitLab, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "deqp-runner"; diff --git a/pkgs/by-name/de/der-ascii/package.nix b/pkgs/by-name/de/der-ascii/package.nix index 28cab27731b13..212f190b27774 100644 --- a/pkgs/by-name/de/der-ascii/package.nix +++ b/pkgs/by-name/de/der-ascii/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "der-ascii"; @@ -12,7 +16,10 @@ buildGoModule rec { }; vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = '' @@ -21,7 +28,11 @@ buildGoModule rec { ''; homepage = "https://github.com/google/der-ascii"; license = licenses.asl20; - maintainers = with maintainers; [ alexshpilkin cpu hawkw ]; + maintainers = with maintainers; [ + alexshpilkin + cpu + hawkw + ]; mainProgram = "ascii2der"; # has stable output, unlike its inverse }; } diff --git a/pkgs/by-name/de/design/package.nix b/pkgs/by-name/de/design/package.nix index fc6b5f2fc4b47..bdafc2d99ec73 100644 --- a/pkgs/by-name/de/design/package.nix +++ b/pkgs/by-name/de/design/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapGAppsHook4 -, appstream-glib -, blueprint-compiler -, desktop-file-utils -, meson -, ninja -, pkg-config -, glib -, gjs -, libadwaita +{ + lib, + stdenv, + fetchFromGitHub, + wrapGAppsHook4, + appstream-glib, + blueprint-compiler, + desktop-file-utils, + meson, + ninja, + pkg-config, + glib, + gjs, + libadwaita, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/de/deskew/package.nix b/pkgs/by-name/de/deskew/package.nix index 71ed3051d084f..9a9d3b2086968 100644 --- a/pkgs/by-name/de/deskew/package.nix +++ b/pkgs/by-name/de/deskew/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libtiff, fpc }: +{ + lib, + stdenv, + fetchFromGitHub, + libtiff, + fpc, +}: stdenv.mkDerivation rec { @@ -37,8 +43,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Command line tool for deskewing scanned text documents"; homepage = "https://galfar.vevb.net/deskew"; - license = with licenses; [ mit mpl11 ]; - maintainers = with maintainers; [ryantm]; + license = with licenses; [ + mit + mpl11 + ]; + maintainers = with maintainers; [ ryantm ]; platforms = platforms.all; mainProgram = "deskew"; }; diff --git a/pkgs/by-name/de/deskreen/package.nix b/pkgs/by-name/de/deskreen/package.nix index 517a38dd37d8e..255d9b0a309c3 100644 --- a/pkgs/by-name/de/deskreen/package.nix +++ b/pkgs/by-name/de/deskreen/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, appimageTools +{ + lib, + stdenvNoCC, + fetchurl, + appimageTools, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -38,7 +39,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://deskreen.com"; license = lib.licenses.agpl3Only; mainProgram = "deskreen"; - maintainers = with lib.maintainers; [ leo248 drupol ]; + maintainers = with lib.maintainers; [ + leo248 + drupol + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/de/desktop-postflop/package.nix b/pkgs/by-name/de/desktop-postflop/package.nix index 98136e89ea97b..fb3b8269c9f9f 100644 --- a/pkgs/by-name/de/desktop-postflop/package.nix +++ b/pkgs/by-name/de/desktop-postflop/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, buildNpmPackage -, fetchFromGitHub -, copyDesktopItems -, makeDesktopItem -, pkg-config -, gtk3 -, libsoup_2_4 -, webkitgtk_4_0 +{ + lib, + rustPlatform, + buildNpmPackage, + fetchFromGitHub, + copyDesktopItems, + makeDesktopItem, + pkg-config, + gtk3, + libsoup_2_4, + webkitgtk_4_0, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/de/desmume/package.nix b/pkgs/by-name/de/desmume/package.nix index 19f28f7962f65..888f9ca3c7f6e 100644 --- a/pkgs/by-name/de/desmume/package.nix +++ b/pkgs/by-name/de/desmume/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, SDL2 -, agg -, alsa-lib -, desktop-file-utils -, wrapGAppsHook3 -, gtk3 -, intltool -, libGLU -, libXmu -, libpcap -, libtool -, lua -, meson -, ninja -, openal -, pkg-config -, soundtouch -, tinyxml -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + SDL2, + agg, + alsa-lib, + desktop-file-utils, + wrapGAppsHook3, + gtk3, + intltool, + libGLU, + libXmu, + libpcap, + libtool, + lua, + meson, + ninja, + openal, + pkg-config, + soundtouch, + tinyxml, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -30,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "TASVideos"; repo = "desmume"; - rev = "release_${lib.replaceStrings ["."] ["_"] finalAttrs.version}"; + rev = "release_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; hash = "sha256-vmjKXa/iXLTwtqnG+ZUvOnOQPZROeMpfM5J3Jh/Ynfo="; }; diff --git a/pkgs/by-name/de/desync/package.nix b/pkgs/by-name/de/desync/package.nix index 88fc9be1a9ea0..eac341a9a7940 100644 --- a/pkgs/by-name/de/desync/package.nix +++ b/pkgs/by-name/de/desync/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/de/detekt/package.nix b/pkgs/by-name/de/detekt/package.nix index 45ef24e4b1f7c..1e7d18c15d175 100644 --- a/pkgs/by-name/de/detekt/package.nix +++ b/pkgs/by-name/de/detekt/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre_headless, testers }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre_headless, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "detekt"; version = "1.23.7"; diff --git a/pkgs/by-name/de/detox/package.nix b/pkgs/by-name/de/detox/package.nix index aa9220da60d19..776845f209d67 100644 --- a/pkgs/by-name/de/detox/package.nix +++ b/pkgs/by-name/de/detox/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, flex, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + flex, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "detox"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-cTuK5EIimRVZ1nfuTa1ds6xrawYIAbwNNIkNONd9y4Q="; }; - nativeBuildInputs = [ flex autoreconfHook ]; + nativeBuildInputs = [ + flex + autoreconfHook + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/de/devd/package.nix b/pkgs/by-name/de/devd/package.nix index 271f9048db1dc..8d1ea06b40fa1 100644 --- a/pkgs/by-name/de/devd/package.nix +++ b/pkgs/by-name/de/devd/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, fetchpatch, lib }: +{ + buildGoModule, + fetchFromGitHub, + fetchpatch, + lib, +}: buildGoModule rec { pname = "devd"; @@ -23,7 +28,10 @@ buildGoModule rec { subPackages = [ "cmd/devd" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Local webserver for developers"; diff --git a/pkgs/by-name/de/devdash/package.nix b/pkgs/by-name/de/devdash/package.nix index a694da0c8029b..21a605db475fd 100644 --- a/pkgs/by-name/de/devdash/package.nix +++ b/pkgs/by-name/de/devdash/package.nix @@ -1,9 +1,9 @@ { - lib -, buildGo122Module -, fetchFromGitHub -, nix-update-script -, coreutils + lib, + buildGo122Module, + fetchFromGitHub, + nix-update-script, + coreutils, }: buildGo122Module rec { diff --git a/pkgs/by-name/de/devdocs-desktop/package.nix b/pkgs/by-name/de/devdocs-desktop/package.nix index 21cf63adc8948..a0fb3d6cfffbb 100644 --- a/pkgs/by-name/de/devdocs-desktop/package.nix +++ b/pkgs/by-name/de/devdocs-desktop/package.nix @@ -1,4 +1,8 @@ -{ lib, appimageTools, fetchurl }: +{ + lib, + appimageTools, + fetchurl, +}: let version = "0.7.2"; @@ -13,7 +17,8 @@ let inherit pname version src; }; -in appimageTools.wrapType2 rec { +in +appimageTools.wrapType2 rec { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/de/devede/package.nix b/pkgs/by-name/de/devede/package.nix index 798e64ff83720..b856203e0eae9 100644 --- a/pkgs/by-name/de/devede/package.nix +++ b/pkgs/by-name/de/devede/package.nix @@ -1,9 +1,29 @@ -{ lib, fetchFromGitLab, python3Packages, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor -, gtk3, gettext, wrapGAppsHook3, gdk-pixbuf, gobject-introspection }: +{ + lib, + fetchFromGitLab, + python3Packages, + ffmpeg, + mplayer, + vcdimager, + cdrkit, + dvdauthor, + gtk3, + gettext, + wrapGAppsHook3, + gdk-pixbuf, + gobject-introspection, +}: let - inherit (python3Packages) dbus-python buildPythonApplication pygobject3 urllib3 setuptools; -in buildPythonApplication rec { + inherit (python3Packages) + dbus-python + buildPythonApplication + pygobject3 + urllib3 + setuptools + ; +in +buildPythonApplication rec { pname = "devede"; version = "4.17.0"; namePrefix = ""; @@ -16,7 +36,8 @@ in buildPythonApplication rec { }; nativeBuildInputs = [ - gettext wrapGAppsHook3 + gettext + wrapGAppsHook3 gobject-introspection ]; @@ -25,7 +46,17 @@ in buildPythonApplication rec { ]; propagatedBuildInputs = [ - gtk3 pygobject3 gdk-pixbuf dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit urllib3 setuptools + gtk3 + pygobject3 + gdk-pixbuf + dbus-python + ffmpeg + mplayer + dvdauthor + vcdimager + cdrkit + urllib3 + setuptools ]; postPatch = '' diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 5e1ab56f7026c..6edbaa63d213e 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, rustPlatform -, testers -, cachix -, darwin -, sqlx-cli -, nixVersions -, openssl -, pkg-config -, devenv # required to run version test +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + rustPlatform, + testers, + cachix, + darwin, + sqlx-cli, + nixVersions, + openssl, + pkg-config, + devenv, # required to run version test }: let @@ -27,7 +28,8 @@ let }); version = "1.3.1"; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { pname = "devenv"; inherit version; @@ -52,12 +54,18 @@ in rustPlatform.buildRustPackage { cargo sqlx prepare --workspace ''; - nativeBuildInputs = [ makeWrapper pkg-config sqlx-cli ]; - - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration + nativeBuildInputs = [ + makeWrapper + pkg-config + sqlx-cli ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; + postInstall = '' wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin" ''; diff --git a/pkgs/by-name/de/devhelp/package.nix b/pkgs/by-name/de/devhelp/package.nix index 085374e32b547..9cfa44a0f6df3 100644 --- a/pkgs/by-name/de/devhelp/package.nix +++ b/pkgs/by-name/de/devhelp/package.nix @@ -1,28 +1,32 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gnome -, adwaita-icon-theme -, gtk3 -, wrapGAppsHook3 -, glib -, gobject-introspection -, gi-docgen -, webkitgtk_4_1 -, gettext -, itstool -, gsettings-desktop-schemas -, shared-mime-info +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gnome, + adwaita-icon-theme, + gtk3, + wrapGAppsHook3, + glib, + gobject-introspection, + gi-docgen, + webkitgtk_4_1, + gettext, + itstool, + gsettings-desktop-schemas, + shared-mime-info, }: stdenv.mkDerivation rec { pname = "devhelp"; version = "43.0"; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/devhelp/${lib.versions.major version}/devhelp-${version}.tar.xz"; diff --git a/pkgs/by-name/de/devmem2/package.nix b/pkgs/by-name/de/devmem2/package.nix index 88a3877c37f2c..a31b197e98911 100644 --- a/pkgs/by-name/de/devmem2/package.nix +++ b/pkgs/by-name/de/devmem2/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "devmem2"; @@ -12,7 +16,7 @@ stdenv.mkDerivation { sha256 = "14f1k7v6i1yaxg4xcaaf5i4aqn0yabba857zjnbg9wiymy82qf7c"; }; - hardeningDisable = [ "format" ]; # fix compile error + hardeningDisable = [ "format" ]; # fix compile error buildCommand = '' $CC "$src" -o devmem2 diff --git a/pkgs/by-name/de/devour/package.nix b/pkgs/by-name/de/devour/package.nix index 861eaf905f9d1..3550652c54b5f 100644 --- a/pkgs/by-name/de/devour/package.nix +++ b/pkgs/by-name/de/devour/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, +}: stdenv.mkDerivation rec { pname = "devour"; diff --git a/pkgs/by-name/de/devspace/package.nix b/pkgs/by-name/de/devspace/package.nix index 01da33fd7486d..1a28a2992eb5e 100644 --- a/pkgs/by-name/de/devspace/package.nix +++ b/pkgs/by-name/de/devspace/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, devspace +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + devspace, }: buildGoModule rec { diff --git a/pkgs/by-name/de/devtodo/package.nix b/pkgs/by-name/de/devtodo/package.nix index 1cc83d7fd9797..552f6807d998f 100644 --- a/pkgs/by-name/de/devtodo/package.nix +++ b/pkgs/by-name/de/devtodo/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, readline, ncurses }: +{ + lib, + stdenv, + fetchurl, + readline, + ncurses, +}: stdenv.mkDerivation rec { pname = "devtodo"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "029y173njydzlznxmdizrrz4wcky47vqhl87fsb7xjcz9726m71p"; }; - buildInputs = [ readline ncurses ]; + buildInputs = [ + readline + ncurses + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/de/dex-oidc/package.nix b/pkgs/by-name/de/dex-oidc/package.nix index 4ca9781eea63e..df0a6ec66c399 100644 --- a/pkgs/by-name/de/dex-oidc/package.nix +++ b/pkgs/by-name/de/dex-oidc/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests, testers, dex-oidc }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, + testers, + dex-oidc, +}: buildGoModule rec { pname = "dex"; @@ -18,7 +25,9 @@ buildGoModule rec { ]; ldflags = [ - "-w" "-s" "-X main.version=${src.rev}" + "-w" + "-s" + "-X main.version=${src.rev}" ]; postInstall = '' @@ -39,7 +48,10 @@ buildGoModule rec { description = "OpenID Connect and OAuth2 identity provider with pluggable connectors"; homepage = "https://github.com/dexidp/dex"; license = licenses.asl20; - maintainers = with maintainers; [ benley techknowlogick ]; + maintainers = with maintainers; [ + benley + techknowlogick + ]; mainProgram = "dex"; }; } diff --git a/pkgs/by-name/de/dex/package.nix b/pkgs/by-name/de/dex/package.nix index c602d2c6a2488..eb07b67565084 100644 --- a/pkgs/by-name/de/dex/package.nix +++ b/pkgs/by-name/de/dex/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, sphinx +{ + lib, + stdenv, + fetchFromGitHub, + python3, + sphinx, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ sphinx ]; buildInputs = [ python3 ]; - makeFlags = [ "PREFIX=$(out)" "VERSION=$(version)" ]; + makeFlags = [ + "PREFIX=$(out)" + "VERSION=$(version)" + ]; meta = with lib; { description = "Program to generate and execute DesktopEntry files of the Application type"; diff --git a/pkgs/by-name/de/dex2jar/package.nix b/pkgs/by-name/de/dex2jar/package.nix index e0ce19dc8d2f8..5b1bc31b915db 100644 --- a/pkgs/by-name/de/dex2jar/package.nix +++ b/pkgs/by-name/de/dex2jar/package.nix @@ -1,21 +1,25 @@ -{ lib -, stdenvNoCC -, fetchurl -, jre -, makeWrapper -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + jre, + makeWrapper, + unzip, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dex2jar"; - version = "2.4"; + version = "2.4"; src = fetchurl { url = "https://github.com/pxb1988/dex2jar/releases/download/v${finalAttrs.version}/dex-tools-v${finalAttrs.version}.zip"; hash = "sha256-7nxF6zwdJHSmFF2NRH5lGnNqItlmS209O+WlqBfdojo="; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; postPatch = '' rm *.bat @@ -30,7 +34,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { mv * $f for i in $f/*.sh; do n=$(basename ''${i%.sh}) - makeWrapper $i $out/bin/$n --prefix PATH : ${lib.makeBinPath [ jre ] } + makeWrapper $i $out/bin/$n --prefix PATH : ${lib.makeBinPath [ jre ]} done ''; diff --git a/pkgs/by-name/df/dfc/package.nix b/pkgs/by-name/df/dfc/package.nix index 0ad1d745b066c..53cf879438b97 100644 --- a/pkgs/by-name/df/dfc/package.nix +++ b/pkgs/by-name/df/dfc/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, cmake, gettext}: +{ + lib, + stdenv, + fetchurl, + cmake, + gettext, +}: stdenv.mkDerivation rec { pname = "dfc"; @@ -9,13 +15,16 @@ stdenv.mkDerivation rec { sha256 = "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n"; }; - nativeBuildInputs = [ cmake gettext ]; + nativeBuildInputs = [ + cmake + gettext + ]; meta = { homepage = "https://projects.gw-computing.net/projects/dfc"; description = "Displays file system space usage using graphs and colors"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [qknight]; + maintainers = with lib.maintainers; [ qknight ]; platforms = lib.platforms.all; mainProgram = "dfc"; }; diff --git a/pkgs/by-name/df/dfmt/package.nix b/pkgs/by-name/df/dfmt/package.nix index c31335e560f1a..7c858386e6704 100644 --- a/pkgs/by-name/df/dfmt/package.nix +++ b/pkgs/by-name/df/dfmt/package.nix @@ -1,12 +1,14 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let inherit (python3.pkgs) buildPythonApplication - pythonOlder; + pythonOlder + ; in buildPythonApplication rec { pname = "dfmt"; diff --git a/pkgs/by-name/df/dfrs/package.nix b/pkgs/by-name/df/dfrs/package.nix index abef6bb05d675..a834ac374055e 100644 --- a/pkgs/by-name/df/dfrs/package.nix +++ b/pkgs/by-name/df/dfrs/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "dfrs"; diff --git a/pkgs/by-name/df/dftd4/package.nix b/pkgs/by-name/df/dftd4/package.nix index 818155cd37268..57fa3723d3a67 100644 --- a/pkgs/by-name/df/dftd4/package.nix +++ b/pkgs/by-name/df/dftd4/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, gfortran -, meson -, ninja -, pkg-config -, python3 -, blas -, lapack -, mctc-lib -, mstore -, multicharge +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + meson, + ninja, + pkg-config, + python3, + blas, + lapack, + mctc-lib, + mstore, + multicharge, }: assert !blas.isILP64 && !lapack.isILP64; @@ -31,11 +32,26 @@ stdenv.mkDerivation rec { ./fortran-module-dir.patch ]; - nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; + nativeBuildInputs = [ + gfortran + meson + ninja + pkg-config + python3 + ]; - buildInputs = [ blas lapack mctc-lib mstore multicharge ]; + buildInputs = [ + blas + lapack + mctc-lib + mstore + multicharge + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; doCheck = true; @@ -52,7 +68,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Generally Applicable Atomic-Charge Dependent London Dispersion Correction"; mainProgram = "dftd4"; - license = with licenses; [ lgpl3Plus gpl3Plus ]; + license = with licenses; [ + lgpl3Plus + gpl3Plus + ]; homepage = "https://github.com/grimme-lab/dftd4"; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; diff --git a/pkgs/by-name/df/dfu-programmer/package.nix b/pkgs/by-name/df/dfu-programmer/package.nix index a4c091bfbe7e8..215999a051357 100644 --- a/pkgs/by-name/df/dfu-programmer/package.nix +++ b/pkgs/by-name/df/dfu-programmer/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libusb-compat-0_1 }: +{ + lib, + stdenv, + fetchurl, + libusb-compat-0_1, +}: stdenv.mkDerivation rec { pname = "dfu-programmer"; version = "0.7.2"; diff --git a/pkgs/by-name/df/dfu-util/package.nix b/pkgs/by-name/df/dfu-util/package.nix index 26610c2c78d71..0b77ea470893e 100644 --- a/pkgs/by-name/df/dfu-util/package.nix +++ b/pkgs/by-name/df/dfu-util/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libusb1 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libusb1, +}: stdenv.mkDerivation rec { pname = "dfu-util"; diff --git a/pkgs/by-name/dg/dgen-sdl/package.nix b/pkgs/by-name/dg/dgen-sdl/package.nix index 172fb56775334..baa76c59a0a2e 100644 --- a/pkgs/by-name/dg/dgen-sdl/package.nix +++ b/pkgs/by-name/dg/dgen-sdl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, libarchive -, SDL +{ + lib, + stdenv, + fetchurl, + libarchive, + SDL, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dg/dgoss/package.nix b/pkgs/by-name/dg/dgoss/package.nix index 55014119c8265..090946d89f96c 100644 --- a/pkgs/by-name/dg/dgoss/package.nix +++ b/pkgs/by-name/dg/dgoss/package.nix @@ -42,7 +42,10 @@ resholve.mkDerivation rec { description = "Convenience wrapper around goss that aims to bring the simplicity of goss to docker containers"; license = licenses.asl20; platforms = platforms.linux; - maintainers = with maintainers; [ hyzual anthonyroussel ]; + maintainers = with maintainers; [ + hyzual + anthonyroussel + ]; mainProgram = "dgoss"; }; } diff --git a/pkgs/by-name/dg/dgraph/package.nix b/pkgs/by-name/dg/dgraph/package.nix index 1e7babdec14b6..599f3ca4963c4 100644 --- a/pkgs/by-name/dg/dgraph/package.nix +++ b/pkgs/by-name/dg/dgraph/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, jemalloc, nodejs }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + jemalloc, + nodejs, +}: buildGoModule rec { pname = "dgraph"; @@ -27,7 +34,10 @@ buildGoModule rec { # todo those dependencies are required in the makefile, but verify how they are used # actually - buildInputs = [ jemalloc nodejs ]; + buildInputs = [ + jemalloc + nodejs + ]; subPackages = [ "dgraph" ]; diff --git a/pkgs/by-name/dh/dhcpcd/package.nix b/pkgs/by-name/dh/dhcpcd/package.nix index 2e0dbb90d63fc..4da80eb7d471e 100644 --- a/pkgs/by-name/dh/dhcpcd/package.nix +++ b/pkgs/by-name/dh/dhcpcd/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, udev -, freebsd -, runtimeShellPackage -, runtimeShell -, nixosTests -, enablePrivSep ? false +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + udev, + freebsd, + runtimeShellPackage, + runtimeShell, + nixosTests, + enablePrivSep ? false, }: stdenv.mkDerivation rec { @@ -22,14 +23,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - runtimeShellPackage # So patchShebangs finds a bash suitable for the installed scripts - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - udev - ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - freebsd.libcapsicum - freebsd.libcasper - ]; + buildInputs = + [ + runtimeShellPackage # So patchShebangs finds a bash suitable for the installed scripts + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + udev + ] + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + freebsd.libcapsicum + freebsd.libcasper + ]; postPatch = '' substituteInPlace hooks/dhcpcd-run-hooks.in --replace /bin/sh ${runtimeShell} @@ -47,10 +51,15 @@ stdenv.mkDerivation rec { # Hack to make installation succeed. dhcpcd will still use /var/lib # at runtime. - installFlags = [ "DBDIR=$(TMPDIR)/db" "SYSCONFDIR=${placeholder "out"}/etc" ]; + installFlags = [ + "DBDIR=$(TMPDIR)/db" + "SYSCONFDIR=${placeholder "out"}/etc" + ]; # Check that the udev plugin got built. - postInstall = lib.optionalString (udev != null && stdenv.hostPlatform.isLinux) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]"; + postInstall = lib.optionalString ( + udev != null && stdenv.hostPlatform.isLinux + ) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]"; passthru.tests = { inherit (nixosTests.networking.scripted) macvlan dhcpSimple dhcpOneIf; diff --git a/pkgs/by-name/dh/dhcpdump/package.nix b/pkgs/by-name/dh/dhcpdump/package.nix index 979dd0d463f53..a339132205100 100644 --- a/pkgs/by-name/dh/dhcpdump/package.nix +++ b/pkgs/by-name/dh/dhcpdump/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, perl -, installShellFiles -, libpcap +{ + lib, + stdenv, + fetchFromGitHub, + perl, + installShellFiles, + libpcap, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dh/dhcpig/package.nix b/pkgs/by-name/dh/dhcpig/package.nix index 679a91e4b0c95..6582556241ae4 100644 --- a/pkgs/by-name/dh/dhcpig/package.nix +++ b/pkgs/by-name/dh/dhcpig/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/dh/dhcping/package.nix b/pkgs/by-name/dh/dhcping/package.nix index 87c84c5795aff..a25246feea03f 100644 --- a/pkgs/by-name/dh/dhcping/package.nix +++ b/pkgs/by-name/dh/dhcping/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dhcping"; diff --git a/pkgs/by-name/dh/dhewm3/package.nix b/pkgs/by-name/dh/dhewm3/package.nix index 81bf7ec2108c6..fe6d3059c1722 100644 --- a/pkgs/by-name/dh/dhewm3/package.nix +++ b/pkgs/by-name/dh/dhewm3/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis -, openal, curl, copyDesktopItems, makeDesktopItem }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + libGLU, + libGL, + zlib, + libjpeg, + libogg, + libvorbis, + openal, + curl, + copyDesktopItems, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "dhewm3"; @@ -21,8 +36,21 @@ stdenv.mkDerivation rec { cd "$(ls -d dhewm3-*.src)"/neo ''; - nativeBuildInputs = [ cmake copyDesktopItems ]; - buildInputs = [ SDL2 libGLU libGL zlib libjpeg libogg libvorbis openal curl ]; + nativeBuildInputs = [ + cmake + copyDesktopItems + ]; + buildInputs = [ + SDL2 + libGLU + libGL + zlib + libjpeg + libogg + libvorbis + openal + curl + ]; desktopItems = [ (makeDesktopItem { diff --git a/pkgs/by-name/dh/dhex/package.nix b/pkgs/by-name/dh/dhex/package.nix index af6e547e63d39..80cafbb765a20 100644 --- a/pkgs/by-name/dh/dhex/package.nix +++ b/pkgs/by-name/dh/dhex/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "dhex"; @@ -27,7 +32,7 @@ stdenv.mkDerivation rec { description = "Themeable hex editor with diff mode"; homepage = "http://www.dettus.net/dhex/"; license = lib.licenses.gpl2; - maintainers = with lib.maintainers; [qknight]; + maintainers = with lib.maintainers; [ qknight ]; platforms = with lib.platforms; linux; mainProgram = "dhex"; }; diff --git a/pkgs/by-name/dh/dht/package.nix b/pkgs/by-name/dh/dht/package.nix index 6765c029ffe25..17cafd2003387 100644 --- a/pkgs/by-name/dh/dht/package.nix +++ b/pkgs/by-name/dh/dht/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "dht"; diff --git a/pkgs/by-name/di/dia/package.nix b/pkgs/by-name/di/dia/package.nix index 9977224dd761c..6331ed8b496bd 100644 --- a/pkgs/by-name/di/dia/package.nix +++ b/pkgs/by-name/di/dia/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitLab -, appstream-glib -, dblatex -, desktop-file-utils -, graphene -, gtk3 -, gtk-mac-integration-gtk3 -, intltool -, libxml2 -, libxslt -, meson -, ninja -, pkg-config -, poppler -, python3 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitLab, + appstream-glib, + dblatex, + desktop-file-utils, + graphene, + gtk3, + gtk-mac-integration-gtk3, + intltool, + libxml2, + libxslt, + meson, + ninja, + pkg-config, + poppler, + python3, + wrapGAppsHook3, # Building with docs are still failing in unstable-2023-09-28 -, withDocs ? false + withDocs ? false, }: stdenv.mkDerivation { @@ -39,32 +40,34 @@ stdenv.mkDerivation { patchShebangs . ''; - buildInputs = [ - graphene - gtk3 - libxml2 - python3 - poppler - ] ++ - lib.optionals withDocs [ - libxslt - ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ - gtk-mac-integration-gtk3 - ]; + buildInputs = + [ + graphene + gtk3 + libxml2 + python3 + poppler + ] + ++ lib.optionals withDocs [ + libxslt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + gtk-mac-integration-gtk3 + ]; - nativeBuildInputs = [ - appstream-glib - desktop-file-utils - intltool - meson - ninja - pkg-config - wrapGAppsHook3 - ] ++ - lib.optionals withDocs [ - dblatex - ]; + nativeBuildInputs = + [ + appstream-glib + desktop-file-utils + intltool + meson + ninja + pkg-config + wrapGAppsHook3 + ] + ++ lib.optionals withDocs [ + dblatex + ]; meta = with lib; { description = "Gnome Diagram drawing software"; diff --git a/pkgs/by-name/di/dialog/package.nix b/pkgs/by-name/di/dialog/package.nix index 9ef3647299330..a48cd4268796a 100644 --- a/pkgs/by-name/di/dialog/package.nix +++ b/pkgs/by-name/di/dialog/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, libtool -, ncurses -, enableShared ? !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isStatic -, unicodeSupport ? true -, withLibrary ? true +{ + lib, + stdenv, + fetchurl, + libtool, + ncurses, + enableShared ? !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isStatic, + unicodeSupport ? true, + withLibrary ? true, }: assert unicodeSupport -> ncurses.unicodeSupport; @@ -44,7 +45,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Display dialog boxes from shell"; license = lib.licenses.lgpl21Plus; mainProgram = "dialog"; - maintainers = with lib.maintainers; [ AndersonTorres spacefrogg ]; + maintainers = with lib.maintainers; [ + AndersonTorres + spacefrogg + ]; inherit (ncurses.meta) platforms; }; }) diff --git a/pkgs/by-name/di/diamond/package.nix b/pkgs/by-name/di/diamond/package.nix index 314cbd56b67bf..f1641699804c5 100644 --- a/pkgs/by-name/di/diamond/package.nix +++ b/pkgs/by-name/di/diamond/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, +}: stdenv.mkDerivation rec { pname = "diamond"; @@ -11,7 +17,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-rNwoHb2jbQwL1bnP5KsI/SsHNN9EeXzsGnMpFhXrc1o="; }; - nativeBuildInputs = [ cmake ]; buildInputs = [ zlib ]; diff --git a/pkgs/by-name/di/dico/package.nix b/pkgs/by-name/di/dico/package.nix index de43d3389b0bf..584049ef84a54 100644 --- a/pkgs/by-name/di/dico/package.nix +++ b/pkgs/by-name/di/dico/package.nix @@ -1,5 +1,19 @@ -{ fetchurl, lib, stdenv, libtool, gettext, zlib, readline, gsasl -, guile, python3, pcre, libffi, groff, libxcrypt }: +{ + fetchurl, + lib, + stdenv, + libtool, + gettext, + zlib, + readline, + gsasl, + guile, + python3, + pcre, + libffi, + groff, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "dico"; @@ -14,8 +28,18 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ groff ]; - buildInputs = - [ libtool gettext zlib readline gsasl guile python3 pcre libffi libxcrypt ]; + buildInputs = [ + libtool + gettext + zlib + readline + gsasl + guile + python3 + pcre + libffi + libxcrypt + ]; strictDeps = true; @@ -24,10 +48,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Flexible dictionary server and client implementing RFC 2229"; - homepage = "https://www.gnu.org/software/dico/"; - license = licenses.gpl3Plus; + homepage = "https://www.gnu.org/software/dico/"; + license = licenses.gpl3Plus; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; + platforms = platforms.unix; longDescription = '' GNU Dico is a flexible modular implementation of DICT server diff --git a/pkgs/by-name/di/dict-cc-py/package.nix b/pkgs/by-name/di/dict-cc-py/package.nix index 6742d020cd98c..3b5316cd633f2 100644 --- a/pkgs/by-name/di/dict-cc-py/package.nix +++ b/pkgs/by-name/di/dict-cc-py/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonPackage rec { diff --git a/pkgs/by-name/di/diction/package.nix b/pkgs/by-name/di/diction/package.nix index be486cccf5496..e6fb9f5d48bd8 100644 --- a/pkgs/by-name/di/diction/package.nix +++ b/pkgs/by-name/di/diction/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "diction"; diff --git a/pkgs/by-name/di/dictu/package.nix b/pkgs/by-name/di/dictu/package.nix index a178abc70b3e5..a6f2740829708 100644 --- a/pkgs/by-name/di/dictu/package.nix +++ b/pkgs/by-name/di/dictu/package.nix @@ -1,12 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, sqlite -, httpSupport ? true, curl -, cliSupport ? true -, linenoiseSupport ? cliSupport, linenoise -, enableLTO ? stdenv.cc.isGNU +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + sqlite, + httpSupport ? true, + curl, + cliSupport ? true, + linenoiseSupport ? cliSupport, + linenoise, + enableLTO ? stdenv.cc.isGNU, }: assert enableLTO -> stdenv.cc.isGNU; @@ -24,10 +27,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ - sqlite - ] ++ lib.optional httpSupport curl - ++ lib.optional linenoiseSupport linenoise; + buildInputs = + [ + sqlite + ] + ++ lib.optional httpSupport curl + ++ lib.optional linenoiseSupport linenoise; patches = [ ./0001-force-sqlite-to-be-found.patch @@ -38,14 +43,17 @@ stdenv.mkDerivation rec { -e 's/-flto/${lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"}/' ''; - cmakeFlags = [ - "-DBUILD_CLI=${if cliSupport then "ON" else "OFF"}" - "-DDISABLE_HTTP=${if httpSupport then "OFF" else "ON"}" - "-DDISABLE_LINENOISE=${if linenoiseSupport then "OFF" else "ON"}" - ] ++ lib.optionals enableLTO [ # TODO: LTO with LLVM - "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar" - "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib" - ]; + cmakeFlags = + [ + "-DBUILD_CLI=${if cliSupport then "ON" else "OFF"}" + "-DDISABLE_HTTP=${if httpSupport then "OFF" else "ON"}" + "-DDISABLE_LINENOISE=${if linenoiseSupport then "OFF" else "ON"}" + ] + ++ lib.optionals enableLTO [ + # TODO: LTO with LLVM + "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar" + "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib" + ]; postBuild = '' cd .. # move out of cmakeBuildDir @@ -68,14 +76,16 @@ stdenv.mkDerivation rec { ./dictu tests/runTests.du ''; - installPhase = '' - mkdir -p $out - cp -r src/include $out/include - mkdir -p $out/lib - cp build/src/libdictu_api* $out/lib - '' + lib.optionalString cliSupport '' - install -Dm755 dictu $out/bin/dictu - ''; + installPhase = + '' + mkdir -p $out + cp -r src/include $out/include + mkdir -p $out/lib + cp build/src/libdictu_api* $out/lib + '' + + lib.optionalString cliSupport '' + install -Dm755 dictu $out/bin/dictu + ''; meta = with lib; { description = "High-level dynamically typed, multi-paradigm, interpreted programming language"; diff --git a/pkgs/by-name/di/didder/package.nix b/pkgs/by-name/di/didder/package.nix index 3862c15996867..bb58cde741aa9 100644 --- a/pkgs/by-name/di/didder/package.nix +++ b/pkgs/by-name/di/didder/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, pandoc }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pandoc, +}: buildGoModule rec { pname = "didder"; @@ -25,8 +30,7 @@ buildGoModule rec { ''; meta = src.meta // { - description = - "An extensive, fast, and accurate command-line image dithering tool"; + description = "An extensive, fast, and accurate command-line image dithering tool"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ ehmry ]; mainProgram = "didder"; diff --git a/pkgs/by-name/di/didu/package.nix b/pkgs/by-name/di/didu/package.nix index 6db10b058ae55..bdf1b51a7cb80 100644 --- a/pkgs/by-name/di/didu/package.nix +++ b/pkgs/by-name/di/didu/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitea }: +{ + lib, + rustPlatform, + fetchFromGitea, +}: rustPlatform.buildRustPackage rec { pname = "didu"; diff --git a/pkgs/by-name/di/diebahn/package.nix b/pkgs/by-name/di/diebahn/package.nix index 22cc9374df3b6..a211b180dee51 100644 --- a/pkgs/by-name/di/diebahn/package.nix +++ b/pkgs/by-name/di/diebahn/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitLab -, cargo -, desktop-file-utils -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, cairo -, gdk-pixbuf -, glib -, gtk4 -, libadwaita -, pango -, gettext -, darwin -, blueprint-compiler +{ + lib, + stdenv, + fetchFromGitLab, + cargo, + desktop-file-utils, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + cairo, + gdk-pixbuf, + glib, + gtk4, + libadwaita, + pango, + gettext, + darwin, + blueprint-compiler, }: stdenv.mkDerivation rec { @@ -49,18 +50,23 @@ stdenv.mkDerivation rec { blueprint-compiler ]; - buildInputs = [ - cairo - gdk-pixbuf - glib - gtk4 - libadwaita - pango - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreFoundation - Foundation - Security - ]); + buildInputs = + [ + cairo + gdk-pixbuf + glib + gtk4 + libadwaita + pango + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreFoundation + Foundation + Security + ] + ); # Darwin needs to link against gettext from nixpkgs instead of the one vendored by gettext-sys # because the vendored copy does not build with newer versions of clang. @@ -76,6 +82,9 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.com/schmiddi-on-mobile/railway"; license = lib.licenses.gpl3Plus; mainProgram = "diebahn"; - maintainers = with lib.maintainers; [ dotlambda lilacious ]; + maintainers = with lib.maintainers; [ + dotlambda + lilacious + ]; }; } diff --git a/pkgs/by-name/di/dieharder/package.nix b/pkgs/by-name/di/dieharder/package.nix index c7804f0c5f4df..2beb0a4d640e9 100644 --- a/pkgs/by-name/di/dieharder/package.nix +++ b/pkgs/by-name/di/dieharder/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, gsl -, testers }: +{ + lib, + stdenv, + fetchurl, + gsl, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "dieharder"; diff --git a/pkgs/by-name/di/diesel-cli-ext/package.nix b/pkgs/by-name/di/diesel-cli-ext/package.nix index 7b118b3ce7e07..a4d09dac4df3d 100644 --- a/pkgs/by-name/di/diesel-cli-ext/package.nix +++ b/pkgs/by-name/di/diesel-cli-ext/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Provides different tools for projects using the diesel_cli"; homepage = "https://crates.io/crates/diesel_cli_ext"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; mainProgram = "diesel_ext"; maintainers = with maintainers; [ siph ]; }; diff --git a/pkgs/by-name/di/diff-so-fancy/package.nix b/pkgs/by-name/di/diff-so-fancy/package.nix index ef9b81f6d031b..8fdb73636830e 100644 --- a/pkgs/by-name/di/diff-so-fancy/package.nix +++ b/pkgs/by-name/di/diff-so-fancy/package.nix @@ -1,4 +1,14 @@ -{lib, stdenv, git, perl, ncurses, coreutils, fetchFromGitHub, makeWrapper, ...}: +{ + lib, + stdenv, + git, + perl, + ncurses, + coreutils, + fetchFromGitHub, + makeWrapper, + ... +}: stdenv.mkDerivation rec { pname = "diff-so-fancy"; @@ -52,7 +62,10 @@ stdenv.mkDerivation rec { diff-so-fancy builds on the good-lookin' output of git contrib's diff-highlight to upgrade your diffs' appearances. ''; - maintainers = with maintainers; [ fpletz ma27 ]; + maintainers = with maintainers; [ + fpletz + ma27 + ]; mainProgram = "diff-so-fancy"; }; } diff --git a/pkgs/by-name/di/diffedit3/package.nix b/pkgs/by-name/di/diffedit3/package.nix index 6c342dba52f1e..49a94fbb9ea02 100644 --- a/pkgs/by-name/di/diffedit3/package.nix +++ b/pkgs/by-name/di/diffedit3/package.nix @@ -1,5 +1,10 @@ -{ lib, rustPlatform, fetchCrate -, testers, nix-update-script, diffedit3 +{ + lib, + rustPlatform, + fetchCrate, + testers, + nix-update-script, + diffedit3, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/di/diffoci/package.nix b/pkgs/by-name/di/diffoci/package.nix index b2142cfc227e4..26ef0709ec250 100644 --- a/pkgs/by-name/di/diffoci/package.nix +++ b/pkgs/by-name/di/diffoci/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, buildPackages -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + buildPackages, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -29,7 +30,11 @@ buildGoModule rec { postInstall = let - diffoci = if stdenv.buildPlatform.canExecute stdenv.hostPlatform then placeholder "out" else buildPackages.diffoci; + diffoci = + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + placeholder "out" + else + buildPackages.diffoci; in '' installShellCompletion --cmd trivy \ diff --git a/pkgs/by-name/di/diffsitter/package.nix b/pkgs/by-name/di/diffsitter/package.nix index 6089af84b44ba..db0d041d4ca71 100644 --- a/pkgs/by-name/di/diffsitter/package.nix +++ b/pkgs/by-name/di/diffsitter/package.nix @@ -1,34 +1,33 @@ -{ lib -, fetchFromGitHub -, linkFarm -, makeWrapper -, rustPlatform -, tree-sitter -, gitUpdater -, versionCheckHook +{ + lib, + fetchFromGitHub, + linkFarm, + makeWrapper, + rustPlatform, + tree-sitter, + gitUpdater, + versionCheckHook, }: let # based on https://github.com/NixOS/nixpkgs/blob/aa07b78b9606daf1145a37f6299c6066939df075/pkgs/development/tools/parsing/tree-sitter/default.nix#L85-L104 - withPlugins = grammarFn: + withPlugins = + grammarFn: let grammars = grammarFn tree-sitter.builtGrammars; in - linkFarm "grammars" - (map - (drv: - let - name = lib.strings.getName drv; - in - { - name = - "lib" + - (lib.strings.removeSuffix "-grammar" name) - + ".so"; - path = "${drv}/parser"; - } - ) - grammars); + linkFarm "grammars" ( + map ( + drv: + let + name = lib.strings.getName drv; + in + { + name = "lib" + (lib.strings.removeSuffix "-grammar" name) + ".so"; + path = "${drv}/parser"; + } + ) grammars + ); libPath = withPlugins (_: tree-sitter.allGrammars); in diff --git a/pkgs/by-name/di/diffstat/package.nix b/pkgs/by-name/di/diffstat/package.nix index aafe1ad1e9185..e1d8a43e804b9 100644 --- a/pkgs/by-name/di/diffstat/package.nix +++ b/pkgs/by-name/di/diffstat/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, zstd, directoryListingUpdater }: +{ + fetchurl, + lib, + stdenv, + zstd, + directoryListingUpdater, +}: stdenv.mkDerivation rec { pname = "diffstat"; diff --git a/pkgs/by-name/di/difftastic/package.nix b/pkgs/by-name/di/difftastic/package.nix index d34b83c46c0f5..e3cb661863b30 100644 --- a/pkgs/by-name/di/difftastic/package.nix +++ b/pkgs/by-name/di/difftastic/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchpatch -, rustPlatform -, fetchFromGitHub -, testers -, difftastic +{ + lib, + fetchpatch, + rustPlatform, + fetchFromGitHub, + testers, + difftastic, }: let @@ -47,7 +48,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Wilfred/difftastic"; changelog = "https://github.com/Wilfred/difftastic/blob/${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ ethancedwards8 figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + ethancedwards8 + figsoda + matthiasbeyer + ]; mainProgram = "difft"; }; } diff --git a/pkgs/by-name/di/diffuse/package.nix b/pkgs/by-name/di/diffuse/package.nix index a4a9e73db86ed..41f5c6ba08dac 100644 --- a/pkgs/by-name/di/diffuse/package.nix +++ b/pkgs/by-name/di/diffuse/package.nix @@ -1,16 +1,18 @@ -{ lib, gitUpdater -, fetchFromGitHub -, meson -, ninja -, gettext -, wrapGAppsHook3 -, gobject-introspection -, pango -, gdk-pixbuf -, python3 -, atk -, gtk3 -, hicolor-icon-theme +{ + lib, + gitUpdater, + fetchFromGitHub, + meson, + ninja, + gettext, + wrapGAppsHook3, + gobject-introspection, + pango, + gdk-pixbuf, + python3, + atk, + gtk3, + hicolor-icon-theme, }: python3.pkgs.buildPythonApplication rec { @@ -59,7 +61,7 @@ python3.pkgs.buildPythonApplication rec { DESTDIR = "/"; makeWrapperArgs = [ - "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" + "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" ]; passthru = { diff --git a/pkgs/by-name/di/digestpp/package.nix b/pkgs/by-name/di/digestpp/package.nix index 84d88d8b66233..a817c542f1b69 100644 --- a/pkgs/by-name/di/digestpp/package.nix +++ b/pkgs/by-name/di/digestpp/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC +{ + lib, + fetchFromGitHub, + stdenvNoCC, }: stdenvNoCC.mkDerivation { pname = "digestpp"; diff --git a/pkgs/by-name/di/digiham/package.nix b/pkgs/by-name/di/digiham/package.nix index c5f08e1b778a7..78847bf00236b 100644 --- a/pkgs/by-name/di/digiham/package.nix +++ b/pkgs/by-name/di/digiham/package.nix @@ -1,5 +1,12 @@ -{ stdenv, lib, fetchFromGitHub -, cmake, protobuf, icu, csdr, codecserver +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + protobuf, + icu, + csdr, + codecserver, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/di/digital/package.nix b/pkgs/by-name/di/digital/package.nix index a929b962481b0..2925915ea9bf5 100644 --- a/pkgs/by-name/di/digital/package.nix +++ b/pkgs/by-name/di/digital/package.nix @@ -1,5 +1,11 @@ -{ lib, fetchFromGitHub, makeDesktopItem, copyDesktopItems, makeWrapper -, jre, maven +{ + lib, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + jre, + maven, }: let @@ -15,10 +21,17 @@ let comment = "Easy-to-use digital logic designer and circuit simulator"; exec = pname; icon = pname; - categories = [ "Education" "Electronics" ]; + categories = [ + "Education" + "Electronics" + ]; mimeTypes = [ "text/x-digital" ]; terminal = false; - keywords = [ "simulator" "digital" "circuits" ]; + keywords = [ + "simulator" + "digital" + "circuits" + ]; }; # Use the "no-git-rev" maven profile, which deactivates the plugin that @@ -41,7 +54,10 @@ maven.buildMavenPackage rec { inherit mvnParameters; mvnHash = "sha256-wm/axWJucoW9P98dKqHI4bjrUnmBTfosCOdJg9VBJ+4="; - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/di/digitemp/package.nix b/pkgs/by-name/di/digitemp/package.nix index c26968c276c42..f42c44fbcf5a5 100644 --- a/pkgs/by-name/di/digitemp/package.nix +++ b/pkgs/by-name/di/digitemp/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, stdenv }: +{ + fetchFromGitHub, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "digitemp"; diff --git a/pkgs/by-name/di/dillo/package.nix b/pkgs/by-name/di/dillo/package.nix index 916d199520ca4..2574e362fd7ba 100644 --- a/pkgs/by-name/di/dillo/package.nix +++ b/pkgs/by-name/di/dillo/package.nix @@ -17,15 +17,17 @@ stdenv, which, # Configurable options - tlsLibrary? "libressl" + tlsLibrary ? "libressl", }: let - ssl = { - "libressl" = libressl; - "mbedtls" = mbedtls; - "openssl" = openssl; - }.${tlsLibrary} or (throw "Unrecognized tlsLibrary option: ${tlsLibrary}"); + ssl = + { + "libressl" = libressl; + "mbedtls" = mbedtls; + "openssl" = openssl; + } + .${tlsLibrary} or (throw "Unrecognized tlsLibrary option: ${tlsLibrary}"); in stdenv.mkDerivation (finalAttrs: { pname = "dillo"; @@ -57,7 +59,11 @@ stdenv.mkDerivation (finalAttrs: { ssl ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/di/dina-font/package.nix b/pkgs/by-name/di/dina-font/package.nix index 37bf08611f351..410dd1a0fef5b 100644 --- a/pkgs/by-name/di/dina-font/package.nix +++ b/pkgs/by-name/di/dina-font/package.nix @@ -1,12 +1,20 @@ -{ lib, stdenv, fetchzip, fontforge -, bdftopcf, xorg +{ + lib, + stdenv, + fetchzip, + fontforge, + bdftopcf, + xorg, }: stdenv.mkDerivation { pname = "dina-font"; version = "2.92"; - outputs = [ "out" "bdf" ]; + outputs = [ + "out" + "bdf" + ]; src = fetchzip { url = "https://www.dcmembers.com/jibsen/download/61/?wpdmdl=61"; @@ -15,8 +23,12 @@ stdenv.mkDerivation { stripRoot = false; }; - nativeBuildInputs = - [ fontforge bdftopcf xorg.mkfontscale xorg.fonttosfnt ]; + nativeBuildInputs = [ + fontforge + bdftopcf + xorg.mkfontscale + xorg.fonttosfnt + ]; buildPhase = '' runHook preBuild @@ -73,6 +85,9 @@ stdenv.mkDerivation { ''; homepage = "https://www.dcmembers.com/jibsen/download/61/"; license = licenses.free; - maintainers = with maintainers; [ prikhi ncfavier ]; + maintainers = with maintainers; [ + prikhi + ncfavier + ]; }; } diff --git a/pkgs/by-name/di/ding-libs/package.nix b/pkgs/by-name/di/ding-libs/package.nix index 211e694f2fdfa..2f375904165ee 100644 --- a/pkgs/by-name/di/ding-libs/package.nix +++ b/pkgs/by-name/di/ding-libs/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, check }: +{ + lib, + stdenv, + fetchurl, + check, +}: stdenv.mkDerivation rec { pname = "ding-libs"; @@ -19,6 +24,9 @@ stdenv.mkDerivation rec { homepage = "https://pagure.io/SSSD/ding-libs"; platforms = with lib.platforms; linux; maintainers = [ ]; - license = [ lib.licenses.gpl3 lib.licenses.lgpl3 ]; + license = [ + lib.licenses.gpl3 + lib.licenses.lgpl3 + ]; }; } diff --git a/pkgs/by-name/di/diopser/package.nix b/pkgs/by-name/di/diopser/package.nix index cba5d4615b385..95a93c440967e 100644 --- a/pkgs/by-name/di/diopser/package.nix +++ b/pkgs/by-name/di/diopser/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config -, libjack2, alsa-lib, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + libjack2, + alsa-lib, + freetype, + libX11, + libXrandr, + libXinerama, + libXext, + libXcursor, }: let @@ -21,12 +34,12 @@ let owner = "juce-framework"; repo = "JUCE"; rev = "1a5fb5992a1a4e28e998708ed8dce2cc864a30d7"; - sha256= "1ri7w4sz3sy5xilibg53ls9526fx7jwbv8rc54ccrqfhxqyin308"; + sha256 = "1ri7w4sz3sy5xilibg53ls9526fx7jwbv8rc54ccrqfhxqyin308"; }; }; - -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "diopser"; version = "unstable-2021-5-13"; @@ -62,10 +75,19 @@ in stdenv.mkDerivation rec { cp -r Diopser_artefacts/Release/VST3/Diopser.vst3 $out/lib/vst3 ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - libjack2 alsa-lib freetype libX11 libXrandr libXinerama libXext + libjack2 + alsa-lib + freetype + libX11 + libXrandr + libXinerama + libXext libXcursor ]; diff --git a/pkgs/by-name/di/dipc/package.nix b/pkgs/by-name/di/dipc/package.nix index 4f8ab5fde7dec..1c4668143531d 100644 --- a/pkgs/by-name/di/dipc/package.nix +++ b/pkgs/by-name/di/dipc/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Convert your favorite images and wallpapers with your favorite color palettes/themes"; homepage = "https://github.com/doprz/dipc"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ ByteSudoer ]; mainProgram = "dipc"; }; diff --git a/pkgs/by-name/di/dirb/package.nix b/pkgs/by-name/di/dirb/package.nix index 9165d4db383d1..c0093d3791934 100644 --- a/pkgs/by-name/di/dirb/package.nix +++ b/pkgs/by-name/di/dirb/package.nix @@ -1,9 +1,16 @@ -{ fetchurl, lib, stdenv, autoreconfHook, curl }: +{ + fetchurl, + lib, + stdenv, + autoreconfHook, + curl, +}: let major = "2"; minor = "22"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dirb"; version = "${major}.${minor}"; diff --git a/pkgs/by-name/di/dirbuster/package.nix b/pkgs/by-name/di/dirbuster/package.nix index 59b41efab6ea7..895d74e19a87d 100644 --- a/pkgs/by-name/di/dirbuster/package.nix +++ b/pkgs/by-name/di/dirbuster/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, makeBinaryWrapper -, copyDesktopItems -, makeDesktopItem -, unzip -, jdk8 +{ + lib, + stdenv, + fetchurl, + makeBinaryWrapper, + copyDesktopItems, + makeDesktopItem, + unzip, + jdk8, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/di/dirdiff/package.nix b/pkgs/by-name/di/dirdiff/package.nix index c0347aface094..0fd816a12bc4e 100644 --- a/pkgs/by-name/di/dirdiff/package.nix +++ b/pkgs/by-name/di/dirdiff/package.nix @@ -1,4 +1,12 @@ -{ copyDesktopItems, fetchurl, lib, makeDesktopItem, stdenv, tcl, tk }: +{ + copyDesktopItems, + fetchurl, + lib, + makeDesktopItem, + stdenv, + tcl, + tk, +}: stdenv.mkDerivation rec { pname = "dirdiff"; @@ -10,7 +18,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ copyDesktopItems ]; - buildInputs = [ tcl tk ]; + buildInputs = [ + tcl + tk + ]; # Some light path patching. patches = [ ./dirdiff-2.1-vars.patch ]; diff --git a/pkgs/by-name/di/directfb/package.nix b/pkgs/by-name/di/directfb/package.nix index d761804cac23f..d2506fd97e817 100644 --- a/pkgs/by-name/di/directfb/package.nix +++ b/pkgs/by-name/di/directfb/package.nix @@ -1,8 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch -, autoreconfHook, perl, pkg-config, flux, zlib -, libjpeg, freetype, libpng, giflib -, enableX11 ? true, xorg -, enableSDL ? true, SDL }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + perl, + pkg-config, + flux, + zlib, + libjpeg, + freetype, + libpng, + giflib, + enableX11 ? true, + xorg, + enableSDL ? true, + SDL, +}: stdenv.mkDerivation rec { pname = "directfb"; @@ -11,7 +25,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "deniskropp"; repo = "DirectFB"; - rev = "DIRECTFB_${lib.replaceStrings ["."] ["_"] version}"; + rev = "DIRECTFB_${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "0bs3yzb7hy3mgydrj8ycg7pllrd2b6j0gxj596inyr7ihssr3i0y"; }; @@ -42,48 +56,69 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - # https://github.com/deniskropp/DirectFB/blob/master/src/core/Makefile.am#L15 - # BUILDTIME is embedded in the result - # if switching to cmake then a similar substitution has to be done - substituteInPlace src/core/Makefile.am \ - --replace '`date -u "+%Y-%m-%d %H:%M"`' "`date -u \"+%Y-%m-%d %H:%M\" --date="@''${SOURCE_DATE_EPOCH}"`" - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - # Specifically patch out two drivers that have build errors with musl libc, - # while leaving the rest of the default selection enabled - substituteInPlace configure.in \ - --replace checkfor_lirc={yes,no} \ - --replace checkfor_matrox={yes,no} - ''; + postPatch = + '' + # https://github.com/deniskropp/DirectFB/blob/master/src/core/Makefile.am#L15 + # BUILDTIME is embedded in the result + # if switching to cmake then a similar substitution has to be done + substituteInPlace src/core/Makefile.am \ + --replace '`date -u "+%Y-%m-%d %H:%M"`' "`date -u \"+%Y-%m-%d %H:%M\" --date="@''${SOURCE_DATE_EPOCH}"`" + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' + # Specifically patch out two drivers that have build errors with musl libc, + # while leaving the rest of the default selection enabled + substituteInPlace configure.in \ + --replace checkfor_lirc={yes,no} \ + --replace checkfor_matrox={yes,no} + ''; - nativeBuildInputs = [ autoreconfHook perl pkg-config flux ]; + nativeBuildInputs = [ + autoreconfHook + perl + pkg-config + flux + ]; - buildInputs = [ zlib libjpeg freetype giflib libpng ] + buildInputs = + [ + zlib + libjpeg + freetype + giflib + libpng + ] ++ lib.optional enableSDL SDL - ++ lib.optionals enableX11 (with xorg; [ - xorgproto libX11 libXext - libXrender - ]); + ++ lib.optionals enableX11 ( + with xorg; + [ + xorgproto + libX11 + libXext + libXrender + ] + ); - env = { - NIX_LDFLAGS = "-lgcc_s"; - } // lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = "-fpermissive"; - }; + env = + { + NIX_LDFLAGS = "-lgcc_s"; + } + // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-fpermissive"; + }; - configureFlags = [ - "--enable-sdl" - "--enable-zlib" - "--with-gfxdrivers=all" - "--enable-devmem" - "--enable-fbdev" - "--enable-mmx" - "--enable-sse" - "--with-software" - ] + configureFlags = + [ + "--enable-sdl" + "--enable-zlib" + "--with-gfxdrivers=all" + "--enable-devmem" + "--enable-fbdev" + "--enable-mmx" + "--enable-sse" + "--with-software" + ] ++ lib.optional (!stdenv.hostPlatform.isMusl) "--with-smooth-scaling" - ++ lib.optional enableX11 "--enable-x11" - ; + ++ lib.optional enableX11 "--enable-x11"; # Disable parallel building as parallel builds fail due to incomplete # depends between autogenerated CoreSlave.h and it's include sites: diff --git a/pkgs/by-name/di/directvnc/package.nix b/pkgs/by-name/di/directvnc/package.nix index 5ec40370bbbaa..d37ffa86ae356 100644 --- a/pkgs/by-name/di/directvnc/package.nix +++ b/pkgs/by-name/di/directvnc/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, directfb, zlib, libjpeg, xorgproto }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + directfb, + zlib, + libjpeg, + xorgproto, +}: stdenv.mkDerivation { pname = "directvnc"; @@ -22,9 +33,17 @@ stdenv.mkDerivation { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ directfb zlib libjpeg xorgproto ]; + buildInputs = [ + directfb + zlib + libjpeg + xorgproto + ]; meta = with lib; { description = "DirectFB VNC client"; diff --git a/pkgs/by-name/di/directx-headers/package.nix b/pkgs/by-name/di/directx-headers/package.nix index f1830f54035ef..0acb2db0edc0e 100644 --- a/pkgs/by-name/di/directx-headers/package.nix +++ b/pkgs/by-name/di/directx-headers/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "directx-headers"; version = "1.614.1"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-CDmzKdV40EExLpOHPAUnytqG9x1+IGW4AZldfYs5YJk="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; # tests require WSL2 mesonFlags = [ "-Dbuild-test=false" ]; diff --git a/pkgs/by-name/di/direnv/package.nix b/pkgs/by-name/di/direnv/package.nix index 6ff13328ebbf2..b2ef901d02b06 100644 --- a/pkgs/by-name/di/direnv/package.nix +++ b/pkgs/by-name/di/direnv/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, buildGoModule, bash, fish, zsh }: +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + bash, + fish, + zsh, +}: buildGoModule rec { pname = "direnv"; @@ -14,9 +22,7 @@ buildGoModule rec { vendorHash = "sha256-O2NZgWn00uKLstYPIj9LwyF4kmitJ1FXltazv8RrmZg="; # we have no bash at the moment for windows - BASH_PATH = - lib.optionalString (!stdenv.hostPlatform.isWindows) - "${bash}/bin/bash"; + BASH_PATH = lib.optionalString (!stdenv.hostPlatform.isWindows) "${bash}/bin/bash"; # replace the build phase to use the GNUMakefile instead buildPhase = '' @@ -27,7 +33,10 @@ buildGoModule rec { make install PREFIX=$out ''; - nativeCheckInputs = [ fish zsh ]; + nativeCheckInputs = [ + fish + zsh + ]; checkPhase = '' export HOME=$(mktemp -d) diff --git a/pkgs/by-name/di/direvent/package.nix b/pkgs/by-name/di/direvent/package.nix index 3e3de9f26676e..0b776f44124b8 100644 --- a/pkgs/by-name/di/direvent/package.nix +++ b/pkgs/by-name/di/direvent/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/di/dirstalk/package.nix b/pkgs/by-name/di/dirstalk/package.nix index d0cdc4b481349..a1bc915da1d59 100644 --- a/pkgs/by-name/di/dirstalk/package.nix +++ b/pkgs/by-name/di/dirstalk/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { diff --git a/pkgs/by-name/di/dirt/package.nix b/pkgs/by-name/di/dirt/package.nix index 6b3ea6320638c..1791a0a6c31a5 100644 --- a/pkgs/by-name/di/dirt/package.nix +++ b/pkgs/by-name/di/dirt/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, libsndfile, libsamplerate, liblo, libjack2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libsndfile, + libsamplerate, + liblo, + libjack2, +}: stdenv.mkDerivation { pname = "dirt"; @@ -19,11 +28,16 @@ stdenv.mkDerivation { sha256 = "08r34ylzs31wwf0la995pb149ccq0vr7qg4792pkhca57zi0bff8"; }) ]; - buildInputs = [ libsndfile libsamplerate liblo libjack2 ]; + buildInputs = [ + libsndfile + libsamplerate + liblo + libjack2 + ]; postPatch = '' sed -i "s|./samples|$out/share/dirt/samples|" dirt.c ''; - makeFlags = ["PREFIX=$(out)"]; + makeFlags = [ "PREFIX=$(out)" ]; postInstall = '' mkdir -p $out/share/dirt/ cp -r samples $out/share/dirt/ diff --git a/pkgs/by-name/di/dirvish/package.nix b/pkgs/by-name/di/dirvish/package.nix index 4f99e60f4dbe0..432662f0fd1af 100644 --- a/pkgs/by-name/di/dirvish/package.nix +++ b/pkgs/by-name/di/dirvish/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, lib, stdenv, makeWrapper, perl, perlPackages }: +{ + fetchurl, + lib, + stdenv, + makeWrapper, + perl, + perlPackages, +}: stdenv.mkDerivation rec { pname = "dirvish"; @@ -10,10 +17,27 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl ] ++ (with perlPackages; [ GetoptLong TimeParseDate TimePeriod ]); + buildInputs = + [ perl ] + ++ (with perlPackages; [ + GetoptLong + TimeParseDate + TimePeriod + ]); - executables = [ "dirvish" "dirvish-runall" "dirvish-expire" "dirvish-locate" ]; - manpages = [ "dirvish.8" "dirvish-runall.8" "dirvish-expire.8" "dirvish-locate.8" "dirvish.conf.5" ]; + executables = [ + "dirvish" + "dirvish-runall" + "dirvish-expire" + "dirvish-locate" + ]; + manpages = [ + "dirvish.8" + "dirvish-runall.8" + "dirvish-expire.8" + "dirvish-locate.8" + "dirvish.conf.5" + ]; buildPhase = '' HEADER="#!${perl}/bin/perl diff --git a/pkgs/by-name/di/disarchive/package.nix b/pkgs/by-name/di/disarchive/package.nix index 8b908d40a6598..a009cd411cc6b 100644 --- a/pkgs/by-name/di/disarchive/package.nix +++ b/pkgs/by-name/di/disarchive/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, guile -, autoreconfHook -, guile-gcrypt -, guile-lzma -, guile-quickcheck -, makeWrapper -, pkg-config -, zlib +{ + stdenv, + lib, + fetchurl, + guile, + autoreconfHook, + guile-gcrypt, + guile-lzma, + guile-quickcheck, + makeWrapper, + pkg-config, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/di/discocss/package.nix b/pkgs/by-name/di/discocss/package.nix index 102b75aee71f3..e63d512d944e3 100644 --- a/pkgs/by-name/di/discocss/package.nix +++ b/pkgs/by-name/di/discocss/package.nix @@ -1,9 +1,10 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, discordAlias ? false -, discord -, makeWrapper +{ + stdenvNoCC, + lib, + fetchFromGitHub, + discordAlias ? false, + discord, + makeWrapper, }: stdenvNoCC.mkDerivation rec { @@ -21,15 +22,17 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - install -Dm755 discocss $out/bin/discocss - '' + lib.optionalString discordAlias '' - wrapProgram $out/bin/discocss --set DISCOCSS_DISCORD_BIN ${discord}/bin/Discord - ln -s $out/bin/discocss $out/bin/Discord - ln -s $out/bin/discocss $out/bin/discord - mkdir -p $out/share - ln -s ${discord}/share/* $out/share - ''; + installPhase = + '' + install -Dm755 discocss $out/bin/discocss + '' + + lib.optionalString discordAlias '' + wrapProgram $out/bin/discocss --set DISCOCSS_DISCORD_BIN ${discord}/bin/Discord + ln -s $out/bin/discocss $out/bin/Discord + ln -s $out/bin/discocss $out/bin/discord + mkdir -p $out/share + ln -s ${discord}/share/* $out/share + ''; meta = with lib; { description = "Tiny Discord css-injector"; diff --git a/pkgs/by-name/di/discord-sh/package.nix b/pkgs/by-name/di/discord-sh/package.nix index cb6821ab4bc88..7276a9529d3b6 100644 --- a/pkgs/by-name/di/discord-sh/package.nix +++ b/pkgs/by-name/di/discord-sh/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper, curl, jq, coreutils, file }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + curl, + jq, + coreutils, + file, +}: stdenvNoCC.mkDerivation rec { pname = "discord-sh"; @@ -36,7 +45,14 @@ stdenvNoCC.mkDerivation rec { runHook preInstall install -Dm555 discord.sh $out/bin/discord.sh wrapProgram $out/bin/discord.sh \ - --set PATH "${lib.makeBinPath [ curl jq coreutils file ]}" + --set PATH "${ + lib.makeBinPath [ + curl + jq + coreutils + file + ] + }" runHook postInstall ''; diff --git a/pkgs/by-name/di/discount/package.nix b/pkgs/by-name/di/discount/package.nix index d2219955d3dce..adc433eb48946 100644 --- a/pkgs/by-name/di/discount/package.nix +++ b/pkgs/by-name/di/discount/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "3.0.0d"; diff --git a/pkgs/by-name/di/discourse-mail-receiver/package.nix b/pkgs/by-name/di/discourse-mail-receiver/package.nix index b44f5eb113c1d..40fa65bdb5b4d 100644 --- a/pkgs/by-name/di/discourse-mail-receiver/package.nix +++ b/pkgs/by-name/di/discourse-mail-receiver/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, ruby, makeWrapper, replace }: +{ + stdenv, + lib, + fetchFromGitHub, + ruby, + makeWrapper, + replace, +}: stdenv.mkDerivation rec { pname = "discourse-mail-receiver"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-ob4Hb88odlFf5vSC9qhikhJowo4C5LksVmMuJRMNoI4="; }; - nativeBuildInputs = [ replace makeWrapper ]; + nativeBuildInputs = [ + replace + makeWrapper + ]; buildInputs = [ ruby ]; dontBuild = true; diff --git a/pkgs/by-name/di/discover-overlay/package.nix b/pkgs/by-name/di/discover-overlay/package.nix index 4488c4953336f..4d400b97d4c2b 100644 --- a/pkgs/by-name/di/discover-overlay/package.nix +++ b/pkgs/by-name/di/discover-overlay/package.nix @@ -1,4 +1,12 @@ -{ lib, python3, fetchFromGitHub, gtk3, gobject-introspection, gtk-layer-shell, wrapGAppsHook3 }: +{ + lib, + python3, + fetchFromGitHub, + gtk3, + gobject-introspection, + gtk-layer-shell, + wrapGAppsHook3, +}: python3.pkgs.buildPythonApplication rec { pname = "discover-overlay"; version = "0.7.8"; @@ -11,7 +19,10 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-0b0uZDa9Q3pQ6X65C+E31dMpdTPt4vvHDEqFEtRoedg="; }; - buildInputs = [ gtk3 gtk-layer-shell ]; + buildInputs = [ + gtk3 + gtk-layer-shell + ]; nativeBuildInputs = [ gobject-introspection @@ -20,7 +31,10 @@ python3.pkgs.buildPythonApplication rec { dontWrapGApps = true; - makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" "--set DISPLAY ':0.0'" ]; + makeWrapperArgs = [ + "\${gappsWrapperArgs[@]}" + "--set DISPLAY ':0.0'" + ]; propagatedBuildInputs = with python3.pkgs; [ pulsectl-asyncio diff --git a/pkgs/by-name/di/disfetch/package.nix b/pkgs/by-name/di/disfetch/package.nix index 6cd7a2683d604..a1ebd5275efee 100644 --- a/pkgs/by-name/di/disfetch/package.nix +++ b/pkgs/by-name/di/disfetch/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "disfetch"; diff --git a/pkgs/by-name/di/disk-filltest/package.nix b/pkgs/by-name/di/disk-filltest/package.nix index 5d97977aab014..d66357c405403 100644 --- a/pkgs/by-name/di/disk-filltest/package.nix +++ b/pkgs/by-name/di/disk-filltest/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { @@ -14,7 +15,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cppofTzzJHrvG5SsafKgvCIiHc6E5740NyQdWWZxrGI="; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/di/disk-inventory-x/package.nix b/pkgs/by-name/di/disk-inventory-x/package.nix index 2ed895eeb3d20..bb64c955b80ac 100644 --- a/pkgs/by-name/di/disk-inventory-x/package.nix +++ b/pkgs/by-name/di/disk-inventory-x/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, undmg +{ + lib, + stdenvNoCC, + fetchurl, + undmg, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "disk-inventory-x"; diff --git a/pkgs/by-name/di/disk_indicator/package.nix b/pkgs/by-name/di/disk_indicator/package.nix index 4eef4fdb11200..1f2e4d3b6f553 100644 --- a/pkgs/by-name/di/disk_indicator/package.nix +++ b/pkgs/by-name/di/disk_indicator/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, +}: stdenv.mkDerivation { pname = "disk-indicator"; diff --git a/pkgs/by-name/di/disko/package.nix b/pkgs/by-name/di/disko/package.nix index 8e580594efec8..32164ba9c680e 100644 --- a/pkgs/by-name/di/disko/package.nix +++ b/pkgs/by-name/di/disko/package.nix @@ -1,12 +1,13 @@ -{ stdenvNoCC -, makeWrapper -, lib -, fetchFromGitHub -, bash -, nix -, nixos-install -, coreutils -, testers +{ + stdenvNoCC, + makeWrapper, + lib, + fetchFromGitHub, + bash, + nix, + nixos-install, + coreutils, + testers, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -30,7 +31,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { chmod 755 "$out/bin/$i" wrapProgram "$out/bin/$i" \ --set DISKO_VERSION "${finalAttrs.version}" \ - --prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]} + --prefix PATH : ${ + lib.makeBinPath [ + nix + coreutils + nixos-install + ] + } done runHook postInstall ''; @@ -49,7 +56,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Declarative disk partitioning and formatting using nix"; license = lib.licenses.mit; mainProgram = "disko"; - maintainers = with lib.maintainers; [ mic92 lassulus iFreilicht ]; + maintainers = with lib.maintainers; [ + mic92 + lassulus + iFreilicht + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/di/diskonaut/package.nix b/pkgs/by-name/di/diskonaut/package.nix index fa9d7f00a83b7..36ddb1488f976 100644 --- a/pkgs/by-name/di/diskonaut/package.nix +++ b/pkgs/by-name/di/diskonaut/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "diskonaut"; @@ -20,7 +25,10 @@ rustPlatform.buildRustPackage rec { description = "Terminal disk space navigator"; homepage = "https://github.com/imsnif/diskonaut"; license = licenses.mit; - maintainers = with maintainers; [ evanjs figsoda ]; + maintainers = with maintainers; [ + evanjs + figsoda + ]; mainProgram = "diskonaut"; }; } diff --git a/pkgs/by-name/di/diskrsync/package.nix b/pkgs/by-name/di/diskrsync/package.nix index 5506a197fd1d1..94b2c5a0f495b 100644 --- a/pkgs/by-name/di/diskrsync/package.nix +++ b/pkgs/by-name/di/diskrsync/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, lib, openssh, makeWrapper }: +{ + buildGoModule, + fetchFromGitHub, + lib, + openssh, + makeWrapper, +}: buildGoModule rec { pname = "diskrsync"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-lJaM/sC5/qmmo7Zu7nGR6ZdXa1qw4SuVxawQ+d/m+Aw="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/di/diskscan/package.nix b/pkgs/by-name/di/diskscan/package.nix index 7471089f45f9e..bbb737a7d4982 100644 --- a/pkgs/by-name/di/diskscan/package.nix +++ b/pkgs/by-name/di/diskscan/package.nix @@ -1,17 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ncurses, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ncurses, + zlib, +}: stdenv.mkDerivation rec { pname = "diskscan"; version = "0.21"; src = fetchFromGitHub { - owner = "baruch"; - repo = "diskscan"; - rev = version; + owner = "baruch"; + repo = "diskscan"; + rev = version; sha256 = "sha256-2y1ncPg9OKxqImBN5O5kXrTsuwZ/Cg/8exS7lWyZY1c="; }; - buildInputs = [ ncurses zlib ]; + buildInputs = [ + ncurses + zlib + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/di/dislocker/package.nix b/pkgs/by-name/di/dislocker/package.nix index f73c49d9799ec..d84ae19dbb0d2 100644 --- a/pkgs/by-name/di/dislocker/package.nix +++ b/pkgs/by-name/di/dislocker/package.nix @@ -1,13 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, mbedtls_2 -, fuse +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + mbedtls_2, + fuse, }: - stdenv.mkDerivation rec { pname = "dislocker"; version = "0.7.3"; @@ -32,14 +33,20 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fuse mbedtls_2 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + fuse + mbedtls_2 + ]; meta = with lib; { description = "Read BitLocker encrypted partitions in Linux"; - homepage = "https://github.com/aorimn/dislocker"; - license = licenses.gpl2Plus; + homepage = "https://github.com/aorimn/dislocker"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ elitak ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/di/dismap/package.nix b/pkgs/by-name/di/dismap/package.nix index d80e853dae62d..4d84aed8961d8 100644 --- a/pkgs/by-name/di/dismap/package.nix +++ b/pkgs/by-name/di/dismap/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/di/dismember/package.nix b/pkgs/by-name/di/dismember/package.nix index cb2dd99b45c57..e8f09eb8f89ba 100644 --- a/pkgs/by-name/di/dismember/package.nix +++ b/pkgs/by-name/di/dismember/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/di/disnixos/package.nix b/pkgs/by-name/di/disnixos/package.nix index 15e5f3e0e9478..23efd2ecf6597 100644 --- a/pkgs/by-name/di/disnixos/package.nix +++ b/pkgs/by-name/di/disnixos/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, dysnomia, disnix, socat, pkg-config, getopt }: +{ + lib, + stdenv, + fetchurl, + dysnomia, + disnix, + socat, + pkg-config, + getopt, +}: stdenv.mkDerivation rec { pname = "disnixos"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ socat dysnomia disnix getopt ]; + buildInputs = [ + socat + dysnomia + disnix + getopt + ]; meta = { description = "Provides complementary NixOS infrastructure deployment to Disnix"; diff --git a/pkgs/by-name/di/dispad/package.nix b/pkgs/by-name/di/dispad/package.nix index 7abea6a785f15..c74e108ded064 100644 --- a/pkgs/by-name/di/dispad/package.nix +++ b/pkgs/by-name/di/dispad/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXi, libconfuse }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXi, + libconfuse, +}: stdenv.mkDerivation rec { pname = "dispad"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-PtwvaNtnCm3Y+6vlxPDc21RyIA2v3vkMOHpoGFxNFng="; }; - buildInputs = [ libX11 libXi libconfuse ]; + buildInputs = [ + libX11 + libXi + libconfuse + ]; meta = with lib; { description = "Small daemon for disabling trackpads while typing"; diff --git a/pkgs/by-name/di/displaycal/package.nix b/pkgs/by-name/di/displaycal/package.nix index e8a7f90ad9a1a..f476067fa4275 100644 --- a/pkgs/by-name/di/displaycal/package.nix +++ b/pkgs/by-name/di/displaycal/package.nix @@ -1,11 +1,12 @@ -{ lib -, python3 -, fetchPypi -, wrapGAppsHook3 -, gtk3 -, librsvg -, xorg -, argyllcms +{ + lib, + python3, + fetchPypi, + wrapGAppsHook3, + gtk3, + librsvg, + xorg, + argyllcms, }: python3.pkgs.buildPythonApplication rec { @@ -37,16 +38,18 @@ python3.pkgs.buildPythonApplication rec { zeroconf ]; - buildInputs = [ - gtk3 - librsvg - ] ++ (with xorg; [ - libX11 - libXxf86vm - libXext - libXinerama - libXrandr - ]); + buildInputs = + [ + gtk3 + librsvg + ] + ++ (with xorg; [ + libX11 + libXxf86vm + libXext + libXinerama + libXrandr + ]); # Workaround for eoyilmaz/displaycal-py3#261 setupPyGlobalFlags = [ "appdata" ]; diff --git a/pkgs/by-name/di/dissent/package.nix b/pkgs/by-name/di/dissent/package.nix index f5aef15df5bc3..0854e9bd20a46 100644 --- a/pkgs/by-name/di/dissent/package.nix +++ b/pkgs/by-name/di/dissent/package.nix @@ -1,16 +1,17 @@ -{ buildGoModule -, fetchFromGitLab -, fetchFromGitHub -, gobject-introspection -, gst_all_1 -, lib -, libadwaita -, libcanberra-gtk3 -, pkg-config -, sound-theme-freedesktop -, libspelling -, gtksourceview5 -, wrapGAppsHook4 +{ + buildGoModule, + fetchFromGitLab, + fetchFromGitHub, + gobject-introspection, + gst_all_1, + lib, + libadwaita, + libcanberra-gtk3, + pkg-config, + sound-theme-freedesktop, + libspelling, + gtksourceview5, + wrapGAppsHook4, }: let @@ -74,8 +75,15 @@ buildGoModule rec { meta = with lib; { description = "A third-party Discord client designed for a smooth, native experience (formerly gtkcord4)"; homepage = "https://github.com/diamondburned/dissent"; - license = with licenses; [ gpl3Plus cc0 ]; + license = with licenses; [ + gpl3Plus + cc0 + ]; mainProgram = "dissent"; - maintainers = with maintainers; [ hmenke urandom aleksana ]; + maintainers = with maintainers; [ + hmenke + urandom + aleksana + ]; }; } diff --git a/pkgs/by-name/di/distgen/package.nix b/pkgs/by-name/di/distgen/package.nix index 7450e7c10d294..fc2f68fdf22f1 100644 --- a/pkgs/by-name/di/distgen/package.nix +++ b/pkgs/by-name/di/distgen/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: python3.pkgs.buildPythonApplication rec { pname = "distgen"; diff --git a/pkgs/by-name/di/distrobox/package.nix b/pkgs/by-name/di/distrobox/package.nix index ce3c4e075a954..cac3dd04da6bb 100644 --- a/pkgs/by-name/di/distrobox/package.nix +++ b/pkgs/by-name/di/distrobox/package.nix @@ -1,4 +1,10 @@ -{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper, wget }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeWrapper, + wget, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "distrobox"; diff --git a/pkgs/by-name/di/diswall/package.nix b/pkgs/by-name/di/diswall/package.nix index d2c0b2a074255..1edb44b59f1d2 100644 --- a/pkgs/by-name/di/diswall/package.nix +++ b/pkgs/by-name/di/diswall/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, darwin }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + darwin, +}: let inherit (darwin.apple_sdk.frameworks) Security; diff --git a/pkgs/by-name/di/dit/package.nix b/pkgs/by-name/di/dit/package.nix index d809348b3f522..102bb0fe202a8 100644 --- a/pkgs/by-name/di/dit/package.nix +++ b/pkgs/by-name/di/dit/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, stdenv, libiconv, ncurses, lua }: +{ + lib, + fetchurl, + stdenv, + libiconv, + ncurses, + lua, +}: stdenv.mkDerivation rec { pname = "dit"; @@ -9,8 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-p1uD0Q2kqB40fbAEk7/fdOVg9T7SW+2aACSn7hDAD+E="; }; - buildInputs = [ ncurses lua ] - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + buildInputs = [ + ncurses + lua + ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; # fix paths prePatch = '' diff --git a/pkgs/by-name/di/ditaa/package.nix b/pkgs/by-name/di/ditaa/package.nix index c6823fbed3696..862dfcfef0565 100644 --- a/pkgs/by-name/di/ditaa/package.nix +++ b/pkgs/by-name/di/ditaa/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jre }: +{ + lib, + stdenv, + fetchurl, + jre, +}: stdenv.mkDerivation rec { pname = "ditaa"; diff --git a/pkgs/by-name/di/dive/package.nix b/pkgs/by-name/di/dive/package.nix index 06cb34499a726..a6b005d2d0347 100644 --- a/pkgs/by-name/di/dive/package.nix +++ b/pkgs/by-name/di/dive/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, fetchpatch -, pkg-config -, btrfs-progs -, gpgme -, lvm2 +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + fetchpatch, + pkg-config, + btrfs-progs, + gpgme, + lvm2, }: buildGoModule rec { @@ -24,7 +25,11 @@ buildGoModule rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ btrfs-progs gpgme lvm2 ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + btrfs-progs + gpgme + lvm2 + ]; patches = [ # fix scrolling @@ -46,8 +51,11 @@ buildGoModule rec { }) ]; - - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { description = "Tool for exploring each layer in a docker image"; diff --git a/pkgs/by-name/di/diylc/package.nix b/pkgs/by-name/di/diylc/package.nix index 072faf3a8a5b9..14a2949fb3aef 100644 --- a/pkgs/by-name/di/diylc/package.nix +++ b/pkgs/by-name/di/diylc/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, unzip, bash, jre8 }: +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + unzip, + bash, + jre8, +}: let pname = "diylc"; @@ -27,7 +35,10 @@ let comment = "Multi platform circuit layout and schematic drawing tool"; exec = "diylc"; icon = "diylc_icon"; - categories = [ "Development" "Electronics" ]; + categories = [ + "Development" + "Electronics" + ]; }; in stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dj/djbdns/package.nix b/pkgs/by-name/dj/djbdns/package.nix index 21a8d55a6aecb..9ce49ccf46fbe 100644 --- a/pkgs/by-name/dj/djbdns/package.nix +++ b/pkgs/by-name/dj/djbdns/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, glibc, dns-root-data, nixosTests } : +{ + lib, + stdenv, + fetchurl, + glibc, + dns-root-data, + nixosTests, +}: let version = "1.05"; diff --git a/pkgs/by-name/dj/djenrandom/package.nix b/pkgs/by-name/dj/djenrandom/package.nix index 51f892a5a4530..2f955f7cd365c 100644 --- a/pkgs/by-name/dj/djenrandom/package.nix +++ b/pkgs/by-name/dj/djenrandom/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -14,12 +15,13 @@ stdenv.mkDerivation rec { hash = "sha256-r5UT8z8vvFZDffsl6CqBXuvBaZ/sl1WLxJi26CxkpAw="; }; - preBuild = '' - sed -i s/gcc/${stdenv.cc.targetPrefix}gcc/g Makefile - '' - + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' - sed -i s/-m64//g Makefile - ''; + preBuild = + '' + sed -i s/gcc/${stdenv.cc.targetPrefix}gcc/g Makefile + '' + + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' + sed -i s/-m64//g Makefile + ''; installPhase = '' runHook preInstall @@ -38,7 +40,10 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Only; # djenrandom uses x86 specific instructions, therefore we can only compile for the x86 architechture platforms = lib.platforms.x86; - maintainers = with lib.maintainers; [ orichter thillux ]; + maintainers = with lib.maintainers; [ + orichter + thillux + ]; mainProgram = "djenrandom"; }; } diff --git a/pkgs/by-name/dj/djent/package.nix b/pkgs/by-name/dj/djent/package.nix index 06cff41ec358e..a5d0d45313a78 100644 --- a/pkgs/by-name/dj/djent/package.nix +++ b/pkgs/by-name/dj/djent/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + mpfr, }: stdenv.mkDerivation rec { @@ -17,12 +18,13 @@ stdenv.mkDerivation rec { buildInputs = [ mpfr ]; - preBuild = '' - sed -i s/gcc/${stdenv.cc.targetPrefix}gcc/g Makefile - '' - + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' - sed -i s/-m64//g Makefile - ''; + preBuild = + '' + sed -i s/gcc/${stdenv.cc.targetPrefix}gcc/g Makefile + '' + + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' + sed -i s/-m64//g Makefile + ''; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; @@ -43,6 +45,9 @@ stdenv.mkDerivation rec { mainProgram = "djent"; license = lib.licenses.gpl2Only; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ orichter thillux ]; + maintainers = with lib.maintainers; [ + orichter + thillux + ]; }; } diff --git a/pkgs/by-name/dj/djlint/package.nix b/pkgs/by-name/dj/djlint/package.nix index 84cfb65522ecb..1013e4be617be 100644 --- a/pkgs/by-name/dj/djlint/package.nix +++ b/pkgs/by-name/dj/djlint/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/dj/djmount/package.nix b/pkgs/by-name/dj/djmount/package.nix index bcd8521b6a15e..d28e6ea0e612d 100644 --- a/pkgs/by-name/dj/djmount/package.nix +++ b/pkgs/by-name/dj/djmount/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, fuse }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, +}: stdenv.mkDerivation rec { pname = "djmount"; diff --git a/pkgs/by-name/dj/djot-js/package.nix b/pkgs/by-name/dj/djot-js/package.nix index 656d7d0f6ba8c..441475f816b5f 100644 --- a/pkgs/by-name/dj/djot-js/package.nix +++ b/pkgs/by-name/dj/djot-js/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, installShellFiles +{ + lib, + buildNpmPackage, + fetchFromGitHub, + installShellFiles, }: buildNpmPackage rec { diff --git a/pkgs/by-name/dj/djv/package.nix b/pkgs/by-name/dj/djv/package.nix index b2ba5c891c4c6..d16d765b68060 100644 --- a/pkgs/by-name/dj/djv/package.nix +++ b/pkgs/by-name/dj/djv/package.nix @@ -1,23 +1,24 @@ -{ stdenv -, cmake -, fetchFromGitHub -, fetchpatch -, lib -, alsa-lib -, libGL -, libX11 -, libXinerama -, libXi -, zlib -, rtaudio -, rapidjson -, ilmbase -, glm -, glfw3 -, libpng -, opencolorio_1 -, freetype -, openexr +{ + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, + lib, + alsa-lib, + libGL, + libX11, + libXinerama, + libXi, + zlib, + rtaudio, + rapidjson, + ilmbase, + glm, + glfw3, + libpng, + opencolorio_1, + freetype, + openexr, }: let diff --git a/pkgs/by-name/dj/djvu2pdf/package.nix b/pkgs/by-name/dj/djvu2pdf/package.nix index 9396d43b3962c..cb2e4fe7cdaaf 100644 --- a/pkgs/by-name/dj/djvu2pdf/package.nix +++ b/pkgs/by-name/dj/djvu2pdf/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, makeWrapper, fetchurl, djvulibre, ghostscript, which }: +{ + lib, + stdenv, + makeWrapper, + fetchurl, + djvulibre, + ghostscript, + which, +}: stdenv.mkDerivation rec { version = "0.9.2"; @@ -14,7 +22,13 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp -p djvu2pdf $out/bin - wrapProgram $out/bin/djvu2pdf --prefix PATH : ${lib.makeBinPath [ ghostscript djvulibre which ]} + wrapProgram $out/bin/djvu2pdf --prefix PATH : ${ + lib.makeBinPath [ + ghostscript + djvulibre + which + ] + } mkdir -p $out/man/man1 cp -p djvu2pdf.1.gz $out/man/man1 diff --git a/pkgs/by-name/dj/djvulibre/package.nix b/pkgs/by-name/dj/djvulibre/package.nix index 584ede1831fb0..76b097316dac6 100644 --- a/pkgs/by-name/dj/djvulibre/package.nix +++ b/pkgs/by-name/dj/djvulibre/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, libjpeg -, libtiff -, librsvg -, libiconv -, bash +{ + lib, + stdenv, + fetchurl, + libjpeg, + libtiff, + librsvg, + libiconv, + bash, }: stdenv.mkDerivation rec { @@ -16,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "1p1fiygq9ny8aimwc4vxwjc6k9ykgdsq1sq06slfbzalfvm0kl7w"; }; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; strictDeps = true; nativeBuildInputs = [ diff --git a/pkgs/by-name/dk/dk/package.nix b/pkgs/by-name/dk/dk/package.nix index 27d0e15492a70..f0bfbba4c5280 100644 --- a/pkgs/by-name/dk/dk/package.nix +++ b/pkgs/by-name/dk/dk/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromBitbucket -, xcbutil -, xcbutilkeysyms -, xcbutilwm -, xcb-util-cursor +{ + lib, + stdenv, + fetchFromBitbucket, + xcbutil, + xcbutilkeysyms, + xcbutilwm, + xcb-util-cursor, }: stdenv.mkDerivation (finalAttrs: { @@ -31,7 +32,10 @@ stdenv.mkDerivation (finalAttrs: { --replace "-I/usr/X11R6/include" "" ''; - makeFlags = [ "PREFIX=$(out)" "SES=$(out)/share/xsessions" ]; + makeFlags = [ + "PREFIX=$(out)" + "SES=$(out)/share/xsessions" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/dk/dkh/package.nix b/pkgs/by-name/dk/dkh/package.nix index a0bed24336a99..1cc339419fb29 100644 --- a/pkgs/by-name/dk/dkh/package.nix +++ b/pkgs/by-name/dk/dkh/package.nix @@ -1,14 +1,20 @@ -{ lib, stdenv, gfortran, fetchFromGitHub, cmake } : +{ + lib, + stdenv, + gfortran, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "dkh"; version = "1.2"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "psi4"; repo = pname; rev = "v${version}"; - sha256= "1wb4qmb9f8rnrwnnw1gdhzx1fmhy628bxfrg56khxy3j5ljxkhck"; + sha256 = "1wb4qmb9f8rnrwnnw1gdhzx1fmhy628bxfrg56khxy3j5ljxkhck"; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/dk/dkimproxy/package.nix b/pkgs/by-name/dk/dkimproxy/package.nix index b34d3a1ed5665..770e61e4f3365 100644 --- a/pkgs/by-name/dk/dkimproxy/package.nix +++ b/pkgs/by-name/dk/dkimproxy/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, perlPackages, fetchurl }: +{ + lib, + stdenv, + perlPackages, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dkimproxy"; @@ -21,7 +26,13 @@ stdenv.mkDerivation rec { ''; buildInputs = [ perlPackages.perl ]; - propagatedBuildInputs = with perlPackages; [ CryptX Error MailDKIM MIMETools NetServer ]; + propagatedBuildInputs = with perlPackages; [ + CryptX + Error + MailDKIM + MIMETools + NetServer + ]; meta = with lib; { description = "SMTP-proxy that signs and/or verifies emails"; diff --git a/pkgs/by-name/dl/dl-poly-classic-mpi/package.nix b/pkgs/by-name/dl/dl-poly-classic-mpi/package.nix index 75ab576212d76..0c6972e1d9be5 100644 --- a/pkgs/by-name/dl/dl-poly-classic-mpi/package.nix +++ b/pkgs/by-name/dl/dl-poly-classic-mpi/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl -, gfortran, mpi +{ + lib, + stdenv, + fetchurl, + gfortran, + mpi, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/dl/dleyna-connector-dbus/package.nix b/pkgs/by-name/dl/dleyna-connector-dbus/package.nix index 4cdd66ba9cfef..9d3ce402abf4e 100644 --- a/pkgs/by-name/dl/dleyna-connector-dbus/package.nix +++ b/pkgs/by-name/dl/dleyna-connector-dbus/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, meson -, ninja -, pkg-config -, fetchFromGitHub -, fetchpatch -, dleyna-core -, glib +{ + stdenv, + lib, + meson, + ninja, + pkg-config, + fetchFromGitHub, + fetchpatch, + dleyna-core, + glib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dl/dleyna-core/package.nix b/pkgs/by-name/dl/dleyna-core/package.nix index c9bbae74611e2..e25e1a1da44a4 100644 --- a/pkgs/by-name/dl/dleyna-core/package.nix +++ b/pkgs/by-name/dl/dleyna-core/package.nix @@ -1,17 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gupnp +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gupnp, }: stdenv.mkDerivation rec { pname = "dleyna-core"; version = "0.7.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; setupHook = ./setup-hook.sh; @@ -32,10 +36,12 @@ stdenv.mkDerivation rec { gupnp ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=implicit-function-declaration" - "-Wno-error=int-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=int-conversion" + ] + ); meta = with lib; { description = "Library of utility functions that are used by the higher level dLeyna"; diff --git a/pkgs/by-name/dl/dleyna-renderer/package.nix b/pkgs/by-name/dl/dleyna-renderer/package.nix index cefe7e90fd0f0..565e6519e6e1c 100644 --- a/pkgs/by-name/dl/dleyna-renderer/package.nix +++ b/pkgs/by-name/dl/dleyna-renderer/package.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, meson -, ninja -, pkg-config -, dleyna-connector-dbus -, dleyna-core -, gssdp -, gupnp -, gupnp-av -, gupnp-dlna -, libsoup_2_4 -, makeWrapper -, docbook-xsl-nons -, libxslt +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + pkg-config, + dleyna-connector-dbus, + dleyna-core, + gssdp, + gupnp, + gupnp-av, + gupnp-dlna, + libsoup_2_4, + makeWrapper, + docbook-xsl-nons, + libxslt, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dl/dleyna-server/package.nix b/pkgs/by-name/dl/dleyna-server/package.nix index ff24f5bf7c568..cbaf5e1e26670 100644 --- a/pkgs/by-name/dl/dleyna-server/package.nix +++ b/pkgs/by-name/dl/dleyna-server/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, meson -, ninja -, makeWrapper -, pkg-config -, dleyna-core -, dleyna-connector-dbus -, gssdp -, gupnp -, gupnp-av -, gupnp-dlna -, libsoup_2_4 +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + makeWrapper, + pkg-config, + dleyna-core, + dleyna-connector-dbus, + gssdp, + gupnp, + gupnp-av, + gupnp-dlna, + libsoup_2_4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dl/dlib/package.nix b/pkgs/by-name/dl/dlib/package.nix index 8d85fc3325e22..debaf686da04c 100644 --- a/pkgs/by-name/dl/dlib/package.nix +++ b/pkgs/by-name/dl/dlib/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, libpng -, libjpeg -, libwebp -, blas -, lapack -, config -, guiSupport ? false -, libX11 -, enableShared ? !stdenv.hostPlatform.isStatic # dlib has a build system that forces the user to choose between either shared or static libraries. See https://github.com/davisking/dlib/issues/923#issuecomment-2175865174 -, sse4Support ? stdenv.hostPlatform.sse4_1Support -, avxSupport ? stdenv.hostPlatform.avxSupport -, cudaSupport ? config.cudaSupport -, cudaPackages +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libpng, + libjpeg, + libwebp, + blas, + lapack, + config, + guiSupport ? false, + libX11, + enableShared ? !stdenv.hostPlatform.isStatic, # dlib has a build system that forces the user to choose between either shared or static libraries. See https://github.com/davisking/dlib/issues/923#issuecomment-2175865174 + sse4Support ? stdenv.hostPlatform.sse4_1Support, + avxSupport ? stdenv.hostPlatform.avxSupport, + cudaSupport ? config.cudaSupport, + cudaPackages, }@inputs: (if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv).mkDerivation rec { pname = "dlib"; @@ -32,44 +33,60 @@ rm -rf dlib/external ''; - cmakeFlags = [ - (lib.cmakeBool "BUILD_SHARED_LIBS" enableShared) - (lib.cmakeBool "USE_SSE4_INSTRUCTIONS" sse4Support) - (lib.cmakeBool "USE_AVX_INSTRUCTIONS" avxSupport) - (lib.cmakeBool "DLIB_USE_CUDA" cudaSupport) - ] ++ lib.optionals cudaSupport [ - (lib.cmakeFeature "DLIB_USE_CUDA_COMPUTE_CAPABILITIES" (builtins.concatStringsSep "," (with cudaPackages.flags; map dropDot cudaCapabilities))) - ]; + cmakeFlags = + [ + (lib.cmakeBool "BUILD_SHARED_LIBS" enableShared) + (lib.cmakeBool "USE_SSE4_INSTRUCTIONS" sse4Support) + (lib.cmakeBool "USE_AVX_INSTRUCTIONS" avxSupport) + (lib.cmakeBool "DLIB_USE_CUDA" cudaSupport) + ] + ++ lib.optionals cudaSupport [ + (lib.cmakeFeature "DLIB_USE_CUDA_COMPUTE_CAPABILITIES" ( + builtins.concatStringsSep "," (with cudaPackages.flags; map dropDot cudaCapabilities) + )) + ]; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals cudaSupport (with cudaPackages; [ - cuda_nvcc - ]); + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals cudaSupport ( + with cudaPackages; + [ + cuda_nvcc + ] + ); - buildInputs = [ - libpng - libjpeg - libwebp - blas - lapack - ] - ++ lib.optionals guiSupport [ libX11 ] - ++ lib.optionals cudaSupport (with cudaPackages; [ - cuda_cudart - cuda_nvcc - libcublas - libcurand - libcusolver - cudnn - cuda_cccl - ]); + buildInputs = + [ + libpng + libjpeg + libwebp + blas + lapack + ] + ++ lib.optionals guiSupport [ libX11 ] + ++ lib.optionals cudaSupport ( + with cudaPackages; + [ + cuda_cudart + cuda_nvcc + libcublas + libcurand + libcusolver + cudnn + cuda_cccl + ] + ); passthru = { inherit - cudaSupport cudaPackages - sse4Support avxSupport; + cudaSupport + cudaPackages + sse4Support + avxSupport + ; }; meta = with lib; { diff --git a/pkgs/by-name/dl/dlx/package.nix b/pkgs/by-name/dl/dlx/package.nix index 8230f2b52c9c8..e1a9e7a435adf 100644 --- a/pkgs/by-name/dl/dlx/package.nix +++ b/pkgs/by-name/dl/dlx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "dlx"; @@ -9,7 +13,11 @@ stdenv.mkDerivation rec { sha256 = "0508linnar9ivy3xr99gzrb2l027ngx12dlxaxs7w67cnwqnb0dg"; }; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "LINK=${stdenv.cc.targetPrefix}cc" "CFLAGS=-O2" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "LINK=${stdenv.cc.targetPrefix}cc" + "CFLAGS=-O2" + ]; hardeningDisable = [ "format" ]; installPhase = '' diff --git a/pkgs/by-name/dm/dm-sans/package.nix b/pkgs/by-name/dm/dm-sans/package.nix index e8d51945254d2..95a1f9e23c4de 100644 --- a/pkgs/by-name/dm/dm-sans/package.nix +++ b/pkgs/by-name/dm/dm-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "dm-sans"; diff --git a/pkgs/by-name/dm/dmalloc/package.nix b/pkgs/by-name/dm/dmalloc/package.nix index a92761f749cc8..d7ef4faa06d2e 100644 --- a/pkgs/by-name/dm/dmalloc/package.nix +++ b/pkgs/by-name/dm/dmalloc/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, dmalloc +{ + lib, + stdenv, + fetchFromGitHub, + testers, + dmalloc, }: stdenv.mkDerivation rec { @@ -12,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "j256"; repo = "dmalloc"; - rev = "dmalloc_release_${lib.replaceStrings ["."] ["_"] version}"; + rev = "dmalloc_release_${lib.replaceStrings [ "." ] [ "_" ] version}"; hash = "sha256-P63I9s32C3v1q+Sy9joK0HKYb0ebBu9g72tTTwxvkz8="; }; diff --git a/pkgs/by-name/dm/dmd/binary.nix b/pkgs/by-name/dm/dmd/binary.nix index 3a5d6b76cec87..096580ea4a23d 100644 --- a/pkgs/by-name/dm/dmd/binary.nix +++ b/pkgs/by-name/dm/dmd/binary.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, glibc -, version, hashes }: +{ + lib, + stdenv, + fetchurl, + curl, + tzdata, + autoPatchelfHook, + fixDarwinDylibNames, + glibc, + version, + hashes, +}: let inherit (stdenv) hostPlatform; @@ -23,18 +33,22 @@ stdenv.mkDerivation { dontConfigure = true; dontBuild = true; - nativeBuildInputs = lib.optionals hostPlatform.isLinux [ - autoPatchelfHook - ] ++ lib.optionals hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; - propagatedBuildInputs = [ - curl - tzdata - ] ++ lib.optionals hostPlatform.isLinux [ - glibc - stdenv.cc.cc.libgcc - ]; + nativeBuildInputs = + lib.optionals hostPlatform.isLinux [ + autoPatchelfHook + ] + ++ lib.optionals hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; + propagatedBuildInputs = + [ + curl + tzdata + ] + ++ lib.optionals hostPlatform.isLinux [ + glibc + stdenv.cc.cc.libgcc + ]; installPhase = '' runHook preInstall @@ -72,6 +86,10 @@ stdenv.mkDerivation { license = licenses.boost; maintainers = [ maintainers.lionello ]; homepage = "https://dlang.org/"; - platforms = [ "x86_64-darwin" "i686-linux" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/dm/dmd/generic.nix b/pkgs/by-name/dm/dmd/generic.nix index 1c68817ead2e3..b88373a23fc9a 100644 --- a/pkgs/by-name/dm/dmd/generic.nix +++ b/pkgs/by-name/dm/dmd/generic.nix @@ -1,46 +1,48 @@ -{ version -, dmdHash -, phobosHash +{ + version, + dmdHash, + phobosHash, }: -{ stdenv -, lib -, fetchFromGitHub -, removeReferencesTo -, makeWrapper -, which -, writeTextFile -, curl -, tzdata -, gdb -, Foundation -, callPackage -, targetPackages -, fetchpatch -, bash -, installShellFiles -, git -, unzip -, dmdBootstrap ? callPackage ./bootstrap.nix { } -, dmdBin ? "${dmdBootstrap}/bin" +{ + stdenv, + lib, + fetchFromGitHub, + removeReferencesTo, + makeWrapper, + which, + writeTextFile, + curl, + tzdata, + gdb, + Foundation, + callPackage, + targetPackages, + fetchpatch, + bash, + installShellFiles, + git, + unzip, + dmdBootstrap ? callPackage ./bootstrap.nix { }, + dmdBin ? "${dmdBootstrap}/bin", }: let dmdConfFile = writeTextFile { name = "dmd.conf"; - text = (lib.generators.toINI { } { - Environment = { - DFLAGS = ''-I@out@/include/dmd -L-L@out@/lib -fPIC ${lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"}''; - }; - }); + text = ( + lib.generators.toINI { } { + Environment = { + DFLAGS = ''-I@out@/include/dmd -L-L@out@/lib -fPIC ${ + lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic" + }''; + }; + } + ); }; bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits; - osname = - if stdenv.hostPlatform.isDarwin then - "osx" - else - stdenv.hostPlatform.parsed.kernel.name; + osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; pathToDmd = "\${NIX_BUILD_TOP}/dmd/generated/${osname}/release/${bits}/dmd"; in @@ -73,72 +75,85 @@ stdenv.mkDerivation (finalAttrs: { # https://issues.dlang.org/show_bug.cgi?id=19553 hardeningDisable = [ "fortify" ]; - patches = lib.optionals (lib.versionOlder version "2.088.0") [ - # Migrates D1-style operator overloads in DMD source, to allow building with - # a newer DMD - (fetchpatch { - url = "https://github.com/dlang/dmd/commit/c4d33e5eb46c123761ac501e8c52f33850483a8a.patch"; - stripLen = 1; - extraPrefix = "dmd/"; - hash = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE="; - }) - ] ++ lib.optionals (lib.versionOlder version "2.110.0") [ - (fetchpatch { - url = "https://github.com/dlang/dmd/commit/fdd25893e0ac04893d6eba8652903d499b7b0dfc.patch"; - stripLen = 1; - extraPrefix = "dmd/"; - hash = "sha256-Uccb8rBPBLAEPWbOYWgdR5xN3wJoIkKKhLGu58IK1sM="; - }) - ]; - - postPatch = '' - patchShebangs dmd/compiler/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh - - rm dmd/compiler/test/runnable/gdb1.d - rm dmd/compiler/test/runnable/gdb10311.d - rm dmd/compiler/test/runnable/gdb14225.d - rm dmd/compiler/test/runnable/gdb14276.d - rm dmd/compiler/test/runnable/gdb14313.d - rm dmd/compiler/test/runnable/gdb14330.d - rm dmd/compiler/test/runnable/gdb15729.sh - rm dmd/compiler/test/runnable/gdb4149.d - rm dmd/compiler/test/runnable/gdb4181.d - rm dmd/compiler/test/compilable/ddocYear.d - - # Disable tests that rely on objdump whitespace until fixed upstream: - # https://issues.dlang.org/show_bug.cgi?id=23317 - rm dmd/compiler/test/runnable/cdvecfill.sh - rm dmd/compiler/test/compilable/cdcmp.d - '' + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") '' - rm dmd/compiler/test/dshell/test6952.d - '' + lib.optionalString (lib.versionAtLeast version "2.092.2") '' - substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" "" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)" - ''; - - nativeBuildInputs = [ - makeWrapper - which - installShellFiles - ] ++ lib.optionals (lib.versionOlder version "2.088.0") [ - git - ]; - - buildInputs = [ - curl - tzdata - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Foundation - ]; - - nativeCheckInputs = [ - gdb - ] ++ lib.optionals (lib.versionOlder version "2.089.0") [ - unzip - ]; + patches = + lib.optionals (lib.versionOlder version "2.088.0") [ + # Migrates D1-style operator overloads in DMD source, to allow building with + # a newer DMD + (fetchpatch { + url = "https://github.com/dlang/dmd/commit/c4d33e5eb46c123761ac501e8c52f33850483a8a.patch"; + stripLen = 1; + extraPrefix = "dmd/"; + hash = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE="; + }) + ] + ++ lib.optionals (lib.versionOlder version "2.110.0") [ + (fetchpatch { + url = "https://github.com/dlang/dmd/commit/fdd25893e0ac04893d6eba8652903d499b7b0dfc.patch"; + stripLen = 1; + extraPrefix = "dmd/"; + hash = "sha256-Uccb8rBPBLAEPWbOYWgdR5xN3wJoIkKKhLGu58IK1sM="; + }) + ]; + + postPatch = + '' + patchShebangs dmd/compiler/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh + + rm dmd/compiler/test/runnable/gdb1.d + rm dmd/compiler/test/runnable/gdb10311.d + rm dmd/compiler/test/runnable/gdb14225.d + rm dmd/compiler/test/runnable/gdb14276.d + rm dmd/compiler/test/runnable/gdb14313.d + rm dmd/compiler/test/runnable/gdb14330.d + rm dmd/compiler/test/runnable/gdb15729.sh + rm dmd/compiler/test/runnable/gdb4149.d + rm dmd/compiler/test/runnable/gdb4181.d + rm dmd/compiler/test/compilable/ddocYear.d + + # Disable tests that rely on objdump whitespace until fixed upstream: + # https://issues.dlang.org/show_bug.cgi?id=23317 + rm dmd/compiler/test/runnable/cdvecfill.sh + rm dmd/compiler/test/compilable/cdcmp.d + '' + + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") '' + rm dmd/compiler/test/dshell/test6952.d + '' + + lib.optionalString (lib.versionAtLeast version "2.092.2") '' + substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" "" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)" + ''; + + nativeBuildInputs = + [ + makeWrapper + which + installShellFiles + ] + ++ lib.optionals (lib.versionOlder version "2.088.0") [ + git + ]; + + buildInputs = + [ + curl + tzdata + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + ]; + + nativeCheckInputs = + [ + gdb + ] + ++ lib.optionals (lib.versionOlder version "2.089.0") [ + unzip + ]; buildFlags = [ "BUILD=release" @@ -227,8 +242,16 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/dlang/dmd/pull/6680 license = licenses.boost; mainProgram = "dmd"; - maintainers = with maintainers; [ lionello dukc jtbx ]; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + maintainers = with maintainers; [ + lionello + dukc + jtbx + ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "x86_64-darwin" + ]; # ld: section __DATA/__thread_bss has type zero-fill but non-zero file offset file '/private/tmp/nix-build-dmd-2.109.1.drv-0/.rdmd-301/rdmd-build.d-A1CF043A7D87C5E88A58F3C0EF5A0DF7/objs/build.o' for architecture x86_64 # clang-16: error: linker command failed with exit code 1 (use -v to see invocation) broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64; diff --git a/pkgs/by-name/dm/dmenu-bluetooth/package.nix b/pkgs/by-name/dm/dmenu-bluetooth/package.nix index 13f169ebc23ba..8d44013cb44b4 100644 --- a/pkgs/by-name/dm/dmenu-bluetooth/package.nix +++ b/pkgs/by-name/dm/dmenu-bluetooth/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, bluez -, dmenu -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bluez, + dmenu, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -26,7 +27,12 @@ stdenv.mkDerivation (finalAttrs: { install -D --target-directory=$out/bin/ ./dmenu-bluetooth wrapProgram $out/bin/dmenu-bluetooth \ - --prefix PATH ":" ${lib.makeBinPath [ dmenu bluez ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + dmenu + bluez + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/dm/dmidecode/package.nix b/pkgs/by-name/dm/dmidecode/package.nix index 2425a053e37a8..40bbcbeb0ab07 100644 --- a/pkgs/by-name/dm/dmidecode/package.nix +++ b/pkgs/by-name/dm/dmidecode/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dmidecode"; diff --git a/pkgs/by-name/dm/dmitry/package.nix b/pkgs/by-name/dm/dmitry/package.nix index 49e986db03e5c..5a641d1bf03ec 100644 --- a/pkgs/by-name/dm/dmitry/package.nix +++ b/pkgs/by-name/dm/dmitry/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/dm/dmrconfig/package.nix b/pkgs/by-name/dm/dmrconfig/package.nix index e235d68d365bd..2821b9996c461 100644 --- a/pkgs/by-name/dm/dmrconfig/package.nix +++ b/pkgs/by-name/dm/dmrconfig/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, libusb1, systemd }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libusb1, + systemd, +}: stdenv.mkDerivation rec { pname = "dmrconfig"; @@ -22,7 +28,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - libusb1 systemd + libusb1 + systemd ]; preConfigure = '' @@ -30,7 +37,10 @@ stdenv.mkDerivation rec { --replace /usr/local/bin/dmrconfig $out/bin/dmrconfig ''; - makeFlags = [ "VERSION=${version}" "GITCOUNT=0" ]; + makeFlags = [ + "VERSION=${version}" + "GITCOUNT=0" + ]; installPhase = '' mkdir -p $out/bin $out/lib/udev/rules.d diff --git a/pkgs/by-name/dm/dmtcp/package.nix b/pkgs/by-name/dm/dmtcp/package.nix index 6315d361ed686..f5e173d78d322 100644 --- a/pkgs/by-name/dm/dmtcp/package.nix +++ b/pkgs/by-name/dm/dmtcp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, bash, perl, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + bash, + perl, + python3, +}: stdenv.mkDerivation rec { pname = "dmtcp"; diff --git a/pkgs/by-name/dn/dnadd/package.nix b/pkgs/by-name/dn/dnadd/package.nix index eccda0bd7c5ff..9841597acf69d 100644 --- a/pkgs/by-name/dn/dnadd/package.nix +++ b/pkgs/by-name/dn/dnadd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dnadd"; diff --git a/pkgs/by-name/dn/dnd-tools/package.nix b/pkgs/by-name/dn/dnd-tools/package.nix index 4959f29ec7e14..227de3abe7014 100644 --- a/pkgs/by-name/dn/dnd-tools/package.nix +++ b/pkgs/by-name/dn/dnd-tools/package.nix @@ -1,4 +1,9 @@ -{ python3, fetchFromGitHub, fetchpatch, lib }: +{ + python3, + fetchFromGitHub, + fetchpatch, + lib, +}: python3.pkgs.buildPythonApplication rec { pname = "dnd-tools"; diff --git a/pkgs/by-name/dn/dnglab/package.nix b/pkgs/by-name/dn/dnglab/package.nix index 3d9ffbeba2ef0..cf228bbb41e5f 100644 --- a/pkgs/by-name/dn/dnglab/package.nix +++ b/pkgs/by-name/dn/dnglab/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { pname = "dnglab"; diff --git a/pkgs/by-name/dn/dns-root-data/package.nix b/pkgs/by-name/dn/dns-root-data/package.nix index 4d07bce350209..76c420f7d0567 100644 --- a/pkgs/by-name/dn/dns-root-data/package.nix +++ b/pkgs/by-name/dn/dns-root-data/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: let @@ -31,7 +35,10 @@ stdenv.mkDerivation { meta = with lib; { description = "DNS root data including root zone and DNSSEC key"; - maintainers = with maintainers; [ fpletz vcunat ]; + maintainers = with maintainers; [ + fpletz + vcunat + ]; license = licenses.gpl3Plus; }; } diff --git a/pkgs/by-name/dn/dns2tcp/package.nix b/pkgs/by-name/dn/dns2tcp/package.nix index fb1b1ddc47c39..c798f34ac1063 100644 --- a/pkgs/by-name/dn/dns2tcp/package.nix +++ b/pkgs/by-name/dn/dns2tcp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { @@ -28,7 +29,6 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - meta = with lib; { description = "Tool for relaying TCP connections over DNS"; homepage = "https://github.com/alex-sector/dns2tcp"; diff --git a/pkgs/by-name/dn/dnscontrol/package.nix b/pkgs/by-name/dn/dnscontrol/package.nix index d865e1adaee00..5ee693f3df65e 100644 --- a/pkgs/by-name/dn/dnscontrol/package.nix +++ b/pkgs/by-name/dn/dnscontrol/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, dnscontrol }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + dnscontrol, +}: buildGoModule rec { pname = "dnscontrol"; @@ -17,7 +24,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X=main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.version=${version}" + ]; postInstall = '' installShellCompletion --cmd dnscontrol \ diff --git a/pkgs/by-name/dn/dnscrypt-proxy/package.nix b/pkgs/by-name/dn/dnscrypt-proxy/package.nix index 1a3f06ef0cac6..4d11703a59be0 100644 --- a/pkgs/by-name/dn/dnscrypt-proxy/package.nix +++ b/pkgs/by-name/dn/dnscrypt-proxy/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "dnscrypt-proxy"; @@ -22,7 +27,10 @@ buildGoModule rec { license = licenses.isc; homepage = "https://dnscrypt.info/"; - maintainers = with maintainers; [ atemu waynr ]; + maintainers = with maintainers; [ + atemu + waynr + ]; mainProgram = "dnscrypt-proxy"; platforms = with platforms; unix; }; diff --git a/pkgs/by-name/dn/dnsdist/package.nix b/pkgs/by-name/dn/dnsdist/package.nix index e3afc6c8956d0..3365ce6097223 100644 --- a/pkgs/by-name/dn/dnsdist/package.nix +++ b/pkgs/by-name/dn/dnsdist/package.nix @@ -1,7 +1,21 @@ -{ lib, stdenv, fetchurl, pkg-config, systemd -, boost, libsodium, libedit, re2 -, net-snmp, lua, protobuf, openssl, zlib, h2o -, nghttp2, nixosTests +{ + lib, + stdenv, + fetchurl, + pkg-config, + systemd, + boost, + libsodium, + libedit, + re2, + net-snmp, + lua, + protobuf, + openssl, + zlib, + h2o, + nghttp2, + nixosTests, }: stdenv.mkDerivation rec { @@ -19,8 +33,23 @@ stdenv.mkDerivation rec { ./disable-network-tests.patch ]; - nativeBuildInputs = [ pkg-config protobuf ]; - buildInputs = [ systemd boost libsodium libedit re2 net-snmp lua openssl zlib h2o nghttp2 ]; + nativeBuildInputs = [ + pkg-config + protobuf + ]; + buildInputs = [ + systemd + boost + libsodium + libedit + re2 + net-snmp + lua + openssl + zlib + h2o + nghttp2 + ]; configureFlags = [ "--with-libsodium" diff --git a/pkgs/by-name/dn/dnsenum/package.nix b/pkgs/by-name/dn/dnsenum/package.nix index 4fa5c0e26207e..b21e60a73bd82 100644 --- a/pkgs/by-name/dn/dnsenum/package.nix +++ b/pkgs/by-name/dn/dnsenum/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perl, + perlPackages, +}: stdenv.mkDerivation rec { pname = "dnsenum"; @@ -12,7 +19,14 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = with perlPackages; [ - perl NetDNS NetIP NetNetmask StringRandom XMLWriter NetWhoisIP WWWMechanize + perl + NetDNS + NetIP + NetNetmask + StringRandom + XMLWriter + NetWhoisIP + WWWMechanize ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/dn/dnsmasq/package.nix b/pkgs/by-name/dn/dnsmasq/package.nix index 99744769fff66..9761f1a55fef9 100644 --- a/pkgs/by-name/dn/dnsmasq/package.nix +++ b/pkgs/by-name/dn/dnsmasq/package.nix @@ -1,20 +1,32 @@ -{ lib, stdenv, fetchurl, pkg-config, nettle -, libidn, libnetfilter_conntrack, nftables, buildPackages -, dbusSupport ? stdenv.hostPlatform.isLinux -, dbus -, nixosTests +{ + lib, + stdenv, + fetchurl, + pkg-config, + nettle, + libidn, + libnetfilter_conntrack, + nftables, + buildPackages, + dbusSupport ? stdenv.hostPlatform.isLinux, + dbus, + nixosTests, }: let - copts = lib.concatStringsSep " " ([ - "-DHAVE_IDN" - "-DHAVE_DNSSEC" - ] ++ lib.optionals dbusSupport [ - "-DHAVE_DBUS" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-DHAVE_CONNTRACK" - "-DHAVE_NFTSET" - ]); + copts = lib.concatStringsSep " " ( + [ + "-DHAVE_IDN" + "-DHAVE_DNSSEC" + ] + ++ lib.optionals dbusSupport [ + "-DHAVE_DBUS" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-DHAVE_CONNTRACK" + "-DHAVE_NFTSET" + ] + ); in stdenv.mkDerivation rec { pname = "dnsmasq"; @@ -49,34 +61,45 @@ stdenv.mkDerivation rec { # XXX: Does the systemd service definition really belong here when our NixOS # module can create it in Nix-land? - postInstall = '' - install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install -Dm644 contrib/MacOSX-launchd/uk.org.thekelleys.dnsmasq.plist \ - $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist - substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \ - --replace "/usr/local/sbin" "$out/bin" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time - install -Dm755 contrib/lease-tools/dhcp_release $out/bin/dhcp_release - install -Dm755 contrib/lease-tools/dhcp_release6 $out/bin/dhcp_release6 + postInstall = + '' + install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install -Dm644 contrib/MacOSX-launchd/uk.org.thekelleys.dnsmasq.plist \ + $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist + substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \ + --replace "/usr/local/sbin" "$out/bin" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time + install -Dm755 contrib/lease-tools/dhcp_release $out/bin/dhcp_release + install -Dm755 contrib/lease-tools/dhcp_release6 $out/bin/dhcp_release6 - '' + lib.optionalString dbusSupport '' - install -Dm644 dbus/dnsmasq.conf $out/share/dbus-1/system.d/dnsmasq.conf - mkdir -p $out/share/dbus-1/system-services - cat < $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service - [D-BUS Service] - Name=uk.org.thekelleys.dnsmasq - Exec=$out/bin/dnsmasq -k -1 - User=root - SystemdService=dnsmasq.service - END - ''; + '' + + lib.optionalString dbusSupport '' + install -Dm644 dbus/dnsmasq.conf $out/share/dbus-1/system.d/dnsmasq.conf + mkdir -p $out/share/dbus-1/system-services + cat < $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service + [D-BUS Service] + Name=uk.org.thekelleys.dnsmasq + Exec=$out/bin/dnsmasq -k -1 + User=root + SystemdService=dnsmasq.service + END + ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ nettle libidn ] + buildInputs = + [ + nettle + libidn + ] ++ lib.optionals dbusSupport [ dbus ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libnetfilter_conntrack nftables ]; + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libnetfilter_conntrack + nftables + ]; passthru.tests = { prometheus-exporter = nixosTests.prometheus-exporters.dnsmasq; @@ -93,6 +116,9 @@ stdenv.mkDerivation rec { license = licenses.gpl2Only; mainProgram = "dnsmasq"; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ fpletz globin ]; + maintainers = with maintainers; [ + fpletz + globin + ]; }; } diff --git a/pkgs/by-name/dn/dnsmon-go/package.nix b/pkgs/by-name/dn/dnsmon-go/package.nix index 2a0dea59c7f94..69164d6d5cace 100644 --- a/pkgs/by-name/dn/dnsmon-go/package.nix +++ b/pkgs/by-name/dn/dnsmon-go/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + libpcap, }: buildGoModule rec { diff --git a/pkgs/by-name/dn/dnsperf/package.nix b/pkgs/by-name/dn/dnsperf/package.nix index 5be21155feea8..d93cc772420ea 100644 --- a/pkgs/by-name/dn/dnsperf/package.nix +++ b/pkgs/by-name/dn/dnsperf/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, ldns -, libck -, nghttp2 -, openssl -, pkg-config +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + ldns, + libck, + nghttp2, + openssl, + pkg-config, }: stdenv.mkDerivation rec { @@ -41,6 +42,9 @@ stdenv.mkDerivation rec { license = licenses.isc; platforms = platforms.unix; mainProgram = "dnsperf"; - maintainers = with maintainers; [ vcunat mfrw ]; + maintainers = with maintainers; [ + vcunat + mfrw + ]; }; } diff --git a/pkgs/by-name/dn/dnss/package.nix b/pkgs/by-name/dn/dnss/package.nix index 00796cf8df179..72a8907a301a7 100644 --- a/pkgs/by-name/dn/dnss/package.nix +++ b/pkgs/by-name/dn/dnss/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule { diff --git a/pkgs/by-name/dn/dnstake/package.nix b/pkgs/by-name/dn/dnstake/package.nix index 37e5e0c38af7d..21d922961273b 100644 --- a/pkgs/by-name/dn/dnstake/package.nix +++ b/pkgs/by-name/dn/dnstake/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { diff --git a/pkgs/by-name/dn/dnstop/package.nix b/pkgs/by-name/dn/dnstop/package.nix index 05cd8f67d8697..eaf08d72820f7 100644 --- a/pkgs/by-name/dn/dnstop/package.nix +++ b/pkgs/by-name/dn/dnstop/package.nix @@ -1,15 +1,26 @@ -{ lib, stdenv, fetchurl, libpcap, ncurses }: +{ + lib, + stdenv, + fetchurl, + libpcap, + ncurses, +}: stdenv.mkDerivation rec { pname = "dnstop"; version = "2014-09-15"; src = fetchurl { - url = "http://dns.measurement-factory.com/tools/dnstop/src/dnstop-${lib.replaceStrings ["-"] [""] version}.tar.gz"; + url = "http://dns.measurement-factory.com/tools/dnstop/src/dnstop-${ + lib.replaceStrings [ "-" ] [ "" ] version + }.tar.gz"; sha256 = "0yn5s2825l826506gclbcfk3lzllx9brk9rzja6yj5jv0013vc5l"; }; - buildInputs = [ libpcap ncurses ]; + buildInputs = [ + libpcap + ncurses + ]; preInstall = '' mkdir -p $out/share/man/man8 $out/bin diff --git a/pkgs/by-name/dn/dnstwist/package.nix b/pkgs/by-name/dn/dnstwist/package.nix index 51f6f5287fcc2..ec35004d476eb 100644 --- a/pkgs/by-name/dn/dnstwist/package.nix +++ b/pkgs/by-name/dn/dnstwist/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/do/do-agent/package.nix b/pkgs/by-name/do/do-agent/package.nix index ca7efa4cd0dad..1625101db1086 100644 --- a/pkgs/by-name/do/do-agent/package.nix +++ b/pkgs/by-name/do/do-agent/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "do-agent"; diff --git a/pkgs/by-name/do/doas-sudo-shim/package.nix b/pkgs/by-name/do/doas-sudo-shim/package.nix index 86f111da9f5e1..cf780eaa3e458 100644 --- a/pkgs/by-name/do/doas-sudo-shim/package.nix +++ b/pkgs/by-name/do/doas-sudo-shim/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, runCommand -, asciidoctor -, coreutils -, gawk -, glibc -, util-linux -, bash -, makeBinaryWrapper -, doas-sudo-shim +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, + asciidoctor, + coreutils, + gawk, + glibc, + util-linux, + bash, + makeBinaryWrapper, + doas-sudo-shim, }: stdenv.mkDerivation rec { @@ -23,21 +24,41 @@ stdenv.mkDerivation rec { sha256 = "QYVqGxeWC7Tiz8aNY/LukwG4EW0km/RunGEfkzY/A38="; }; - nativeBuildInputs = [ asciidoctor makeBinaryWrapper ]; - buildInputs = [ bash coreutils gawk glibc util-linux ]; + nativeBuildInputs = [ + asciidoctor + makeBinaryWrapper + ]; + buildInputs = [ + bash + coreutils + gawk + glibc + util-linux + ]; dontConfigure = true; dontBuild = true; - installFlags = [ "DESTDIR=$(out)" "PREFIX=\"\"" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=\"\"" + ]; postInstall = '' wrapProgram $out/bin/sudo \ - --prefix PATH : ${lib.makeBinPath [ bash coreutils gawk glibc util-linux ]} + --prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + gawk + glibc + util-linux + ] + } ''; passthru.tests = { - helpTest = runCommand "${pname}-helpTest" {} '' + helpTest = runCommand "${pname}-helpTest" { } '' ${doas-sudo-shim}/bin/sudo -h > $out grep -q "Execute a command as another user using doas(1)" $out ''; diff --git a/pkgs/by-name/do/doas/package.nix b/pkgs/by-name/do/doas/package.nix index 3a43a575589aa..7da262cacbae3 100644 --- a/pkgs/by-name/do/doas/package.nix +++ b/pkgs/by-name/do/doas/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, bison -, pam -, libxcrypt -, nixosTests - -, withPAM ? true -, withTimestamp ? true +{ + lib, + stdenv, + fetchFromGitHub, + bison, + pam, + libxcrypt, + nixosTests, + + withPAM ? true, + withTimestamp ? true, }: stdenv.mkDerivation rec { @@ -38,16 +39,16 @@ stdenv.mkDerivation rec { # ./configure script does not understand `--disable-shared` dontAddStaticConfigureFlags = true; - postPatch = '' - sed -i '/\(chown\|chmod\)/d' GNUmakefile - '' + lib.optionalString (withPAM && stdenv.hostPlatform.isStatic) '' - sed -i 's/-lpam/-lpam -laudit/' configure - ''; + postPatch = + '' + sed -i '/\(chown\|chmod\)/d' GNUmakefile + '' + + lib.optionalString (withPAM && stdenv.hostPlatform.isStatic) '' + sed -i 's/-lpam/-lpam -laudit/' configure + ''; nativeBuildInputs = [ bison ]; - buildInputs = [ ] - ++ lib.optional withPAM pam - ++ lib.optional (!withPAM) libxcrypt; + buildInputs = [ ] ++ lib.optional withPAM pam ++ lib.optional (!withPAM) libxcrypt; passthru.tests = { inherit (nixosTests) doas; }; diff --git a/pkgs/by-name/do/doc2go/package.nix b/pkgs/by-name/do/doc2go/package.nix index 68b0f7f5e1e80..e2b3d2edc3e7d 100644 --- a/pkgs/by-name/do/doc2go/package.nix +++ b/pkgs/by-name/do/doc2go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -15,7 +16,11 @@ buildGoModule rec { }; vendorHash = "sha256-d5ZRMFi7GIfDHsYRNvMnDdfnGhTM1sA0WDYD2aDoEd0="; - ldflags = [ "-s" "-w" "-X main._version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main._version=${version}" + ]; subPackages = [ "." ]; # integration is it's own module diff --git a/pkgs/by-name/do/docbook2mdoc/package.nix b/pkgs/by-name/do/docbook2mdoc/package.nix index dccafba41713b..4a87e025ce99e 100644 --- a/pkgs/by-name/do/docbook2mdoc/package.nix +++ b/pkgs/by-name/do/docbook2mdoc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, expat }: +{ + lib, + stdenv, + fetchurl, + expat, +}: stdenv.mkDerivation rec { pname = "docbook2mdoc"; diff --git a/pkgs/by-name/do/docbook2odf/package.nix b/pkgs/by-name/do/docbook2odf/package.nix index 7608fb1228ed1..be8a1fe11b6b5 100644 --- a/pkgs/by-name/do/docbook2odf/package.nix +++ b/pkgs/by-name/do/docbook2odf/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, perlPackages, makeWrapper, zip, libxslt }: +{ + lib, + stdenv, + fetchurl, + perlPackages, + makeWrapper, + zip, + libxslt, +}: stdenv.mkDerivation rec { pname = "docbook2odf"; @@ -28,7 +36,12 @@ stdenv.mkDerivation rec { sed -i "s|/usr/share/docbook2odf|$out/share/docbook2odf|" "$out/bin/docbook2odf" wrapProgram "$out/bin/docbook2odf" \ - --prefix PATH : "${lib.makeBinPath [ zip libxslt ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + zip + libxslt + ] + }" \ --prefix PERL5PATH : "${perlPackages.makePerlPath [ perlPackages.ImageMagick ]}" ''; diff --git a/pkgs/by-name/do/docbook_xml_ebnf_dtd/package.nix b/pkgs/by-name/do/docbook_xml_ebnf_dtd/package.nix index 6be2e89dcd2ef..fe1d11111a926 100644 --- a/pkgs/by-name/do/docbook_xml_ebnf_dtd/package.nix +++ b/pkgs/by-name/do/docbook_xml_ebnf_dtd/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "docbook-xml-ebnf"; diff --git a/pkgs/by-name/do/dockbarx/package.nix b/pkgs/by-name/do/dockbarx/package.nix index a3cccb9f859f9..3b478a8606f7f 100644 --- a/pkgs/by-name/do/dockbarx/package.nix +++ b/pkgs/by-name/do/dockbarx/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, glib -, gobject-introspection -, gtk3 -, keybinder3 -, libwnck -, python3Packages -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + glib, + gobject-introspection, + gtk3, + keybinder3, + libwnck, + python3Packages, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/do/docker-compose-language-service/package.nix b/pkgs/by-name/do/docker-compose-language-service/package.nix index e699d8a26dff7..412836babbbd3 100644 --- a/pkgs/by-name/do/docker-compose-language-service/package.nix +++ b/pkgs/by-name/do/docker-compose-language-service/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/do/docker-credential-helpers/package.nix b/pkgs/by-name/do/docker-credential-helpers/package.nix index 54de6d17e36e7..69ea21c8c9dd0 100644 --- a/pkgs/by-name/do/docker-credential-helpers/package.nix +++ b/pkgs/by-name/do/docker-credential-helpers/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, pkg-config, libsecret, testers, docker-credential-helpers }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + pkg-config, + libsecret, + testers, + docker-credential-helpers, +}: buildGoModule rec { pname = "docker-credential-helpers"; @@ -25,7 +34,17 @@ buildGoModule rec { buildPhase = let - cmds = if stdenv.hostPlatform.isDarwin then [ "osxkeychain" "pass" ] else [ "secretservice" "pass" ]; + cmds = + if stdenv.hostPlatform.isDarwin then + [ + "osxkeychain" + "pass" + ] + else + [ + "secretservice" + "pass" + ]; in '' for cmd in ${builtins.toString cmds}; do @@ -42,12 +61,15 @@ buildGoModule rec { command = "docker-credential-pass version"; }; - meta = with lib; { - description = "Suite of programs to use native stores to keep Docker credentials safe"; - homepage = "https://github.com/docker/docker-credential-helpers"; - license = licenses.mit; - maintainers = [ ]; - } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - mainProgram = "docker-credential-osxkeychain"; - }; + meta = + with lib; + { + description = "Suite of programs to use native stores to keep Docker credentials safe"; + homepage = "https://github.com/docker/docker-credential-helpers"; + license = licenses.mit; + maintainers = [ ]; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + mainProgram = "docker-credential-osxkeychain"; + }; } diff --git a/pkgs/by-name/do/docker-ls/package.nix b/pkgs/by-name/do/docker-ls/package.nix index ad28d569c6e29..bde78aad278fd 100644 --- a/pkgs/by-name/do/docker-ls/package.nix +++ b/pkgs/by-name/do/docker-ls/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, lib, docker }: +{ + buildGoModule, + fetchFromGitHub, + lib, + docker, +}: buildGoModule rec { pname = "docker-ls"; diff --git a/pkgs/by-name/do/docker-slim/package.nix b/pkgs/by-name/do/docker-slim/package.nix index 13c8e4f4ce364..20fa9f7faf31c 100644 --- a/pkgs/by-name/do/docker-slim/package.nix +++ b/pkgs/by-name/do/docker-slim/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeBinaryWrapper, +}: buildGoModule rec { pname = "docker-slim"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = null; - subPackages = [ "cmd/slim" "cmd/slim-sensor" ]; + subPackages = [ + "cmd/slim" + "cmd/slim-sensor" + ]; nativeBuildInputs = [ makeBinaryWrapper ]; @@ -39,6 +47,9 @@ buildGoModule rec { homepage = "https://slimtoolkit.org/"; changelog = "https://github.com/slimtoolkit/slim/raw/${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ Br1ght0ne mbrgm ]; + maintainers = with maintainers; [ + Br1ght0ne + mbrgm + ]; }; } diff --git a/pkgs/by-name/do/dockerfile-language-server-nodejs/package.nix b/pkgs/by-name/do/dockerfile-language-server-nodejs/package.nix index 8c96dd227d7c4..e4e481b9e988e 100644 --- a/pkgs/by-name/do/dockerfile-language-server-nodejs/package.nix +++ b/pkgs/by-name/do/dockerfile-language-server-nodejs/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { @@ -26,6 +27,9 @@ buildNpmPackage rec { homepage = "https://github.com/rcjsuen/dockerfile-language-server-nodejs"; license = lib.licenses.mit; mainProgram = "docker-langserver"; - maintainers = with lib.maintainers; [ rvolosatovs net-mist ]; + maintainers = with lib.maintainers; [ + rvolosatovs + net-mist + ]; }; } diff --git a/pkgs/by-name/do/dockfmt/package.nix b/pkgs/by-name/do/dockfmt/package.nix index 3ca4fc9a16244..8319eef0cde99 100644 --- a/pkgs/by-name/do/dockfmt/package.nix +++ b/pkgs/by-name/do/dockfmt/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/do/dockle/package.nix b/pkgs/by-name/do/dockle/package.nix index 6dc04fef038b7..a7411d3bc4132 100644 --- a/pkgs/by-name/do/dockle/package.nix +++ b/pkgs/by-name/do/dockle/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, btrfs-progs, lvm2 }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + btrfs-progs, + lvm2, +}: buildGoModule rec { pname = "dockle"; @@ -14,7 +21,10 @@ buildGoModule rec { vendorHash = "sha256-+AtvnplvPWkUwmxfB7rjYcLTQibQsObFT1QRR0FXAe0="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ btrfs-progs lvm2 ]; + buildInputs = [ + btrfs-progs + lvm2 + ]; ldflags = [ "-s" diff --git a/pkgs/by-name/do/dockstarter/package.nix b/pkgs/by-name/do/dockstarter/package.nix index 40c6858da6a85..2b9f15bc6c60d 100644 --- a/pkgs/by-name/do/dockstarter/package.nix +++ b/pkgs/by-name/do/dockstarter/package.nix @@ -1,11 +1,12 @@ -{ bash -, coreutils -, fetchFromGitHub -, git -, lib -, makeWrapper -, ncurses -, stdenv +{ + bash, + coreutils, + fetchFromGitHub, + git, + lib, + makeWrapper, + ncurses, + stdenv, }: stdenv.mkDerivation rec { @@ -25,12 +26,14 @@ stdenv.mkDerivation rec { installPhase = '' install -Dm755 main.sh $out/bin/ds - wrapProgram $out/bin/ds --prefix PATH : ${lib.makeBinPath [ - bash - coreutils - git - ncurses - ]} + wrapProgram $out/bin/ds --prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + git + ncurses + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/do/dockutil/package.nix b/pkgs/by-name/do/dockutil/package.nix index 64a8a98443886..264523e970fda 100644 --- a/pkgs/by-name/do/dockutil/package.nix +++ b/pkgs/by-name/do/dockutil/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, stdenvNoCC -, fetchFromGitHub -, fetchurl -, swift -, swiftpm -, swiftpm2nix -, swiftPackages -, darwin -, libarchive -, p7zip -# Building from source on x86_64 fails (among other things) due to: -# error: cannot load underlying module for 'Darwin' -, fromSource ? (stdenv.system != "x86_64-darwin") +{ + lib, + stdenv, + stdenvNoCC, + fetchFromGitHub, + fetchurl, + swift, + swiftpm, + swiftpm2nix, + swiftPackages, + darwin, + libarchive, + p7zip, + # Building from source on x86_64 fails (among other things) due to: + # error: cannot load underlying module for 'Darwin' + fromSource ? (stdenv.system != "x86_64-darwin"), }: let @@ -50,7 +51,10 @@ let "path" ''; - nativeBuildInputs = [ swift swiftpm ]; + nativeBuildInputs = [ + swift + swiftpm + ]; buildInputs = with darwin.apple_sdk.frameworks; [ Cocoa ]; @@ -75,7 +79,10 @@ let dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ libarchive p7zip ]; + nativeBuildInputs = [ + libarchive + p7zip + ]; unpackPhase = '' 7z x $src @@ -94,6 +101,4 @@ let }; }); in -if fromSource - then buildFromSource - else installBinary +if fromSource then buildFromSource else installBinary diff --git a/pkgs/by-name/do/docopt_cpp/package.nix b/pkgs/by-name/do/docopt_cpp/package.nix index 2e37e073fb656..4fb99e3458821 100644 --- a/pkgs/by-name/do/docopt_cpp/package.nix +++ b/pkgs/by-name/do/docopt_cpp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + python3, +}: stdenv.mkDerivation rec { version = "0.6.3"; @@ -19,9 +26,12 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; - cmakeFlags = ["-DWITH_TESTS=ON"]; + cmakeFlags = [ "-DWITH_TESTS=ON" ]; strictDeps = true; @@ -38,7 +48,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C++11 port of docopt"; homepage = "https://github.com/docopt/docopt.cpp"; - license = with licenses; [ mit boost ]; + license = with licenses; [ + mit + boost + ]; platforms = platforms.all; maintainers = with maintainers; [ knedlsepp ]; }; diff --git a/pkgs/by-name/do/docopts/package.nix b/pkgs/by-name/do/docopts/package.nix index cb63a666973eb..24098bca701d4 100644 --- a/pkgs/by-name/do/docopts/package.nix +++ b/pkgs/by-name/do/docopts/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { pname = "docopts"; diff --git a/pkgs/by-name/do/doctest/package.nix b/pkgs/by-name/do/doctest/package.nix index 1ce0855444927..11ad954f6b762 100644 --- a/pkgs/by-name/do/doctest/package.nix +++ b/pkgs/by-name/do/doctest/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "doctest"; diff --git a/pkgs/by-name/do/docui/package.nix b/pkgs/by-name/do/docui/package.nix index a42e57ebc5aec..5c8c5302f5c30 100644 --- a/pkgs/by-name/do/docui/package.nix +++ b/pkgs/by-name/do/docui/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "docui"; diff --git a/pkgs/by-name/do/documenso/package.nix b/pkgs/by-name/do/documenso/package.nix index 00ef8c0e7bbea..71b15e2b29b84 100644 --- a/pkgs/by-name/do/documenso/package.nix +++ b/pkgs/by-name/do/documenso/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage -, prisma -, nix-update-script +{ + lib, + fetchFromGitHub, + buildNpmPackage, + prisma, + nix-update-script, }: let version = "0.9"; @@ -43,7 +44,7 @@ buildNpmPackage { runHook postInstall ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Open Source DocuSign Alternative"; diff --git a/pkgs/by-name/do/documize-community/package.nix b/pkgs/by-name/do/documize-community/package.nix index 129993903db4f..842428c799144 100644 --- a/pkgs/by-name/do/documize-community/package.nix +++ b/pkgs/by-name/do/documize-community/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, go-bindata, go-bindata-assetfs, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + go-bindata, + go-bindata-assetfs, + nixosTests, +}: buildGoModule rec { pname = "documize-community"; @@ -15,7 +22,10 @@ buildGoModule rec { doCheck = false; - nativeBuildInputs = [ go-bindata go-bindata-assetfs ]; + nativeBuildInputs = [ + go-bindata + go-bindata-assetfs + ]; # This is really weird, but they've managed to screw up # their folder structure enough, you can only build by diff --git a/pkgs/by-name/do/docuum/package.nix b/pkgs/by-name/do/docuum/package.nix index 68409ca05651b..820217861601f 100644 --- a/pkgs/by-name/do/docuum/package.nix +++ b/pkgs/by-name/do/docuum/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/do/dog/package.nix b/pkgs/by-name/do/dog/package.nix index b8ed50c0c63e8..9a58dd08cebe8 100644 --- a/pkgs/by-name/do/dog/package.nix +++ b/pkgs/by-name/do/dog/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dog"; diff --git a/pkgs/by-name/do/doge/package.nix b/pkgs/by-name/do/doge/package.nix index 4b64f8a7dfff2..c12e8345abf80 100644 --- a/pkgs/by-name/do/doge/package.nix +++ b/pkgs/by-name/do/doge/package.nix @@ -15,14 +15,17 @@ python3Packages.buildPythonApplication rec { }; pyproject = true; - nativeBuildInputs = [python3Packages.setuptools]; - propagatedBuildInputs = [python3Packages.python-dateutil]; + nativeBuildInputs = [ python3Packages.setuptools ]; + propagatedBuildInputs = [ python3Packages.python-dateutil ]; meta = { homepage = "https://github.com/Olivia5k/doge"; description = "Wow very terminal doge"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [Gonzih quantenzitrone]; + maintainers = with lib.maintainers; [ + Gonzih + quantenzitrone + ]; mainProgram = "doge"; }; } diff --git a/pkgs/by-name/do/doggo/package.nix b/pkgs/by-name/do/doggo/package.nix index 08f65a5a40c8d..1a7d51e2c935b 100644 --- a/pkgs/by-name/do/doggo/package.nix +++ b/pkgs/by-name/do/doggo/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, nix-update-script -, lib +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + nix-update-script, + lib, }: buildGoModule rec { @@ -43,6 +44,9 @@ buildGoModule rec { It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well ''; license = licenses.gpl3Only; - maintainers = with maintainers; [ georgesalkhouri ma27 ]; + maintainers = with maintainers; [ + georgesalkhouri + ma27 + ]; }; } diff --git a/pkgs/by-name/do/doing/gemset.nix b/pkgs/by-name/do/doing/gemset.nix index 1e39123a83bad..99db704ef42bd 100644 --- a/pkgs/by-name/do/doing/gemset.nix +++ b/pkgs/by-name/do/doing/gemset.nix @@ -1,7 +1,7 @@ { chronic = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn"; type = "gem"; }; @@ -9,16 +9,22 @@ }; deep_merge = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q3picw7zx1xdkybmrnhmk2hycxzaa0jv4gqrby1s90dy5n7fmsb"; type = "gem"; }; version = "1.2.1"; }; doing = { - dependencies = ["chronic" "deep_merge" "gli" "haml" "json"]; + dependencies = [ + "chronic" + "deep_merge" + "gli" + "haml" + "json" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y42yc7h45sz9hqj3g1dd77ipx58l7v64i7mrsj3is2f5rszd1rv"; type = "gem"; }; @@ -26,16 +32,16 @@ }; gli = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g7g3lxhh2b4h4im58zywj9vcfixfgndfsvp84cr3x67b5zm4kaq"; type = "gem"; }; version = "2.17.1"; }; haml = { - dependencies = ["tilt"]; + dependencies = [ "tilt" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l9zhfdk9z7xjfdp108r9fw4xa55hflin7hh3lpafbf9bdz96knr"; type = "gem"; }; @@ -43,7 +49,7 @@ }; json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; type = "gem"; }; @@ -51,7 +57,7 @@ }; tilt = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; type = "gem"; }; diff --git a/pkgs/by-name/do/doing/package.nix b/pkgs/by-name/do/doing/package.nix index 2c49361c2bb4c..5136966d40c43 100644 --- a/pkgs/by-name/do/doing/package.nix +++ b/pkgs/by-name/do/doing/package.nix @@ -1,4 +1,8 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, }: bundlerEnv { @@ -17,10 +21,13 @@ bundlerEnv { in a TaskPaper-formatted text file. It allows for multiple sections/categories and flexible output formatting. ''; - homepage = "https://brettterpstra.com/projects/doing/"; - license = licenses.mit; - maintainers = with maintainers; [ ktf nicknovitski ]; - platforms = platforms.unix; + homepage = "https://brettterpstra.com/projects/doing/"; + license = licenses.mit; + maintainers = with maintainers; [ + ktf + nicknovitski + ]; + platforms = platforms.unix; mainProgram = "doing"; }; } diff --git a/pkgs/by-name/do/doitlive/package.nix b/pkgs/by-name/do/doitlive/package.nix index 9e1d83bb4d984..00014928191cc 100644 --- a/pkgs/by-name/do/doitlive/package.nix +++ b/pkgs/by-name/do/doitlive/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "doitlive"; @@ -12,7 +16,11 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = with python3Packages; [ setuptools ]; - propagatedBuildInputs = with python3Packages; [ click click-completion click-didyoumean ]; + propagatedBuildInputs = with python3Packages; [ + click + click-completion + click-didyoumean + ]; # disable tests (too many failures) doCheck = false; diff --git a/pkgs/by-name/do/dokuwiki/package.nix b/pkgs/by-name/do/dokuwiki/package.nix index cf20b3cc993e4..2cca5f6d0852a 100644 --- a/pkgs/by-name/do/dokuwiki/package.nix +++ b/pkgs/by-name/do/dokuwiki/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, writeText -, nixosTests -, dokuwiki +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + nixosTests, + dokuwiki, }: stdenv.mkDerivation rec { @@ -18,29 +19,29 @@ stdenv.mkDerivation rec { }; preload = writeText "preload.php" '' - array( - 'default' => getenv('DOKUWIKI_ACL_AUTH_CONFIG'), - ), - 'plainauth.users' => array( - 'default' => getenv('DOKUWIKI_USERS_AUTH_CONFIG'), - 'protected' => "" // not used by default - ), - ); + $config_cascade = array( + 'acl' => array( + 'default' => getenv('DOKUWIKI_ACL_AUTH_CONFIG'), + ), + 'plainauth.users' => array( + 'default' => getenv('DOKUWIKI_USERS_AUTH_CONFIG'), + 'protected' => "" // not used by default + ), + ); ''; phpLocalConfig = writeText "local.php" '' - + ''; phpPluginsLocalConfig = writeText "plugins.local.php" '' - + ''; installPhase = '' @@ -56,26 +57,43 @@ stdenv.mkDerivation rec { ''; passthru = { - combine = { basePackage ? dokuwiki - , plugins ? [] - , templates ? [] - , localConfig ? null - , pluginsConfig ? null - , aclConfig ? null - , pname ? (p: "${p.pname}-combined") - }: let - isNotEmpty = x: lib.optionalString (! builtins.elem x [ null "" ]); - in basePackage.overrideAttrs (prev: { - pname = if builtins.isFunction pname then pname prev else pname; + combine = + { + basePackage ? dokuwiki, + plugins ? [ ], + templates ? [ ], + localConfig ? null, + pluginsConfig ? null, + aclConfig ? null, + pname ? (p: "${p.pname}-combined"), + }: + let + isNotEmpty = + x: + lib.optionalString ( + !builtins.elem x [ + null + "" + ] + ); + in + basePackage.overrideAttrs (prev: { + pname = if builtins.isFunction pname then pname prev else pname; - postInstall = prev.postInstall or "" + '' - ${lib.concatMapStringsSep "\n" (tpl: "cp -r ${toString tpl} $out/share/dokuwiki/lib/tpl/${tpl.name}") templates} - ${lib.concatMapStringsSep "\n" (plugin: "cp -r ${toString plugin} $out/share/dokuwiki/lib/plugins/${plugin.name}") plugins} - ${isNotEmpty localConfig "ln -sf ${localConfig} $out/share/dokuwiki/conf/local.php" } - ${isNotEmpty pluginsConfig "ln -sf ${pluginsConfig} $out/share/dokuwiki/conf/plugins.local.php" } - ${isNotEmpty aclConfig "ln -sf ${aclConfig} $out/share/dokuwiki/acl.auth.php" } - ''; - }); + postInstall = + prev.postInstall or "" + + '' + ${lib.concatMapStringsSep "\n" ( + tpl: "cp -r ${toString tpl} $out/share/dokuwiki/lib/tpl/${tpl.name}" + ) templates} + ${lib.concatMapStringsSep "\n" ( + plugin: "cp -r ${toString plugin} $out/share/dokuwiki/lib/plugins/${plugin.name}" + ) plugins} + ${isNotEmpty localConfig "ln -sf ${localConfig} $out/share/dokuwiki/conf/local.php"} + ${isNotEmpty pluginsConfig "ln -sf ${pluginsConfig} $out/share/dokuwiki/conf/plugins.local.php"} + ${isNotEmpty aclConfig "ln -sf ${aclConfig} $out/share/dokuwiki/acl.auth.php"} + ''; + }); tests = { inherit (nixosTests) dokuwiki; }; diff --git a/pkgs/by-name/do/dolbybcsoftwaredecode/package.nix b/pkgs/by-name/do/dolbybcsoftwaredecode/package.nix index 1e54e25ec98aa..a4d6c750a314c 100644 --- a/pkgs/by-name/do/dolbybcsoftwaredecode/package.nix +++ b/pkgs/by-name/do/dolbybcsoftwaredecode/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, stdenv, unzip, fpc }: +{ + lib, + fetchurl, + stdenv, + unzip, + fpc, +}: stdenv.mkDerivation rec { pname = "dolbybcsoftwaredecode"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-uLcsRIpwmJlstlGV8I4+/30+D9GDpUt7DOIP/GkXWp4="; }; - nativeBuildInputs = [ unzip fpc ]; + nativeBuildInputs = [ + unzip + fpc + ]; buildPhase = '' fpc DolbyBi64.PP ''; diff --git a/pkgs/by-name/do/dolibarr/package.nix b/pkgs/by-name/do/dolibarr/package.nix index 763180a516b45..81660a85cf2f9 100644 --- a/pkgs/by-name/do/dolibarr/package.nix +++ b/pkgs/by-name/do/dolibarr/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, nixosTests, stateDir ? "/var/lib/dolibarr" }: +{ + stdenv, + lib, + fetchFromGitHub, + nixosTests, + stateDir ? "/var/lib/dolibarr", +}: stdenv.mkDerivation rec { pname = "dolibarr"; diff --git a/pkgs/by-name/do/domination/package.nix b/pkgs/by-name/do/domination/package.nix index 232a8d7b23c8e..4b236657ba25b 100644 --- a/pkgs/by-name/do/domination/package.nix +++ b/pkgs/by-name/do/domination/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchsvn -# jdk8 is needed for building, but the game runs on newer jres as well -, jdk8 -, jre -, ant -, stripJavaArchivesHook -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, nixosTests +{ + lib, + stdenv, + fetchsvn, + # jdk8 is needed for building, but the game runs on newer jres as well + jdk8, + jre, + ant, + stripJavaArchivesHook, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + nixosTests, }: let @@ -25,7 +27,8 @@ let icon = "domination"; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "domination"; version = "1.3.1"; @@ -105,7 +108,7 @@ in stdenv.mkDerivation { ''; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # source bundles dependencies as jars + binaryBytecode # source bundles dependencies as jars ]; license = licenses.gpl3Plus; mainProgram = "domination"; diff --git a/pkgs/by-name/do/domine/package.nix b/pkgs/by-name/do/domine/package.nix index a85275acab0e8..dbf77009577f3 100644 --- a/pkgs/by-name/do/domine/package.nix +++ b/pkgs/by-name/do/domine/package.nix @@ -1,4 +1,8 @@ -{ buildDartApplication, fetchFromGitHub, lib }: +{ + buildDartApplication, + fetchFromGitHub, + lib, +}: buildDartApplication rec { pname = "domine"; diff --git a/pkgs/by-name/do/domoticz/package.nix b/pkgs/by-name/do/domoticz/package.nix index 7f89645b3f970..ac98513ac698d 100644 --- a/pkgs/by-name/do/domoticz/package.nix +++ b/pkgs/by-name/do/domoticz/package.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, +{ + lib, + stdenv, fetchFromGitHub, makeWrapper, cmake, @@ -14,7 +16,7 @@ curl, git, libusb-compat-0_1, - cereal + cereal, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/do/done/package.nix b/pkgs/by-name/do/done/package.nix index 095d77b1ee835..7c44157b21d8b 100644 --- a/pkgs/by-name/do/done/package.nix +++ b/pkgs/by-name/do/done/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, glib -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, gdk-pixbuf -, gtk4 -, libadwaita -, libsecret -, openssl -, sqlite -, darwin -, gettext +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + glib, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + gdk-pixbuf, + gtk4, + libadwaita, + libsecret, + openssl, + sqlite, + darwin, + gettext, }: stdenv.mkDerivation rec { @@ -47,16 +48,18 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = [ - gdk-pixbuf - gtk4 - libadwaita - libsecret - openssl - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ]; + buildInputs = + [ + gdk-pixbuf + gtk4 + libadwaita + libsecret + openssl + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { GETTEXT_DIR = gettext; diff --git a/pkgs/by-name/do/donkey/package.nix b/pkgs/by-name/do/donkey/package.nix index e481744ee7d57..5d039a42fcf04 100644 --- a/pkgs/by-name/do/donkey/package.nix +++ b/pkgs/by-name/do/donkey/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, fetchFromGitLab -, libmd -, coreutils -, lib -, testers +{ + stdenv, + fetchFromGitLab, + libmd, + coreutils, + lib, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -31,19 +32,19 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Alternative for S/KEY's 'key' command"; longDescription = '' -Donkey is an alternative for S/KEY's "key" command. The new feature that -the original key doesn't have is print an entry for skeykeys as -follows; + Donkey is an alternative for S/KEY's "key" command. The new feature that + the original key doesn't have is print an entry for skeykeys as + follows; - kazu 0099 al02004 115d83956f1089b6 Apr 26,1995 22:13:27 + kazu 0099 al02004 115d83956f1089b6 Apr 26,1995 22:13:27 -This means that donkey is also an alternative for "keyinit". Since the -entry is printed to stdout (not to /etc/skeykeys), you can easily send -it to a remote operator by e-mail (with a PGP signature or something). -So, it is possible to initiate S/KEY without logging in from the console of -the host. + This means that donkey is also an alternative for "keyinit". Since the + entry is printed to stdout (not to /etc/skeykeys), you can easily send + it to a remote operator by e-mail (with a PGP signature or something). + So, it is possible to initiate S/KEY without logging in from the console of + the host. -The name "Donkey" is an acronym of "Don't Key". + The name "Donkey" is an acronym of "Don't Key". ''; homepage = "https://devel.ringlet.net/security/donkey"; license = licenses.gpl2Only; diff --git a/pkgs/by-name/do/donpapi/package.nix b/pkgs/by-name/do/donpapi/package.nix index c2a777b3dc431..e8c62da2fcaee 100644 --- a/pkgs/by-name/do/donpapi/package.nix +++ b/pkgs/by-name/do/donpapi/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/do/dontgo403/package.nix b/pkgs/by-name/do/dontgo403/package.nix index 7fab0dac0425f..12f81ebbb2414 100644 --- a/pkgs/by-name/do/dontgo403/package.nix +++ b/pkgs/by-name/do/dontgo403/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/do/doodle/package.nix b/pkgs/by-name/do/doodle/package.nix index ced330bd647ed..40e4251503931 100644 --- a/pkgs/by-name/do/doodle/package.nix +++ b/pkgs/by-name/do/doodle/package.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchurl, libextractor, gettext }: +{ + lib, + stdenv, + fetchurl, + libextractor, + gettext, +}: stdenv.mkDerivation rec { pname = "doodle"; version = "0.7.3"; - buildInputs = [ libextractor gettext ]; + buildInputs = [ + libextractor + gettext + ]; src = fetchurl { url = "https://grothoff.org/christian/doodle/download/doodle-${version}.tar.gz"; diff --git a/pkgs/by-name/do/dool/package.nix b/pkgs/by-name/do/dool/package.nix index b7ff128131e85..fb3f22885a9ce 100644 --- a/pkgs/by-name/do/dool/package.nix +++ b/pkgs/by-name/do/dool/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/do/doona/package.nix b/pkgs/by-name/do/doona/package.nix index bc890d52abb5a..55ce8e4e96b78 100644 --- a/pkgs/by-name/do/doona/package.nix +++ b/pkgs/by-name/do/doona/package.nix @@ -1,6 +1,8 @@ -{ fetchFromGitHub -, lib, stdenv -, perl +{ + fetchFromGitHub, + lib, + stdenv, + perl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/do/door-knocker/package.nix b/pkgs/by-name/do/door-knocker/package.nix index c45ff499c3911..ea8df94b01b3c 100644 --- a/pkgs/by-name/do/door-knocker/package.nix +++ b/pkgs/by-name/do/door-knocker/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitea -, blueprint-compiler -, desktop-file-utils -, glib -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, wrapGAppsHook4 +{ + stdenv, + lib, + fetchFromGitea, + blueprint-compiler, + desktop-file-utils, + glib, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/do/dopewars/package.nix b/pkgs/by-name/do/dopewars/package.nix index 8f550abc8e2d2..3618dbc19fa0c 100644 --- a/pkgs/by-name/do/dopewars/package.nix +++ b/pkgs/by-name/do/dopewars/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, makeWrapper -, curl -, ncurses -, gtk3 -, pkg-config -, scoreDirectory ? "$HOME/.local/share" +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + makeWrapper, + curl, + ncurses, + gtk3, + pkg-config, + scoreDirectory ? "$HOME/.local/share", }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/do/doppler/package.nix b/pkgs/by-name/do/doppler/package.nix index b9fe13814dc77..2c64639e4db3d 100644 --- a/pkgs/by-name/do/doppler/package.nix +++ b/pkgs/by-name/do/doppler/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, doppler -, fetchFromGitHub -, installShellFiles -, lib -, testers -, stdenv +{ + buildGoModule, + doppler, + fetchFromGitHub, + installShellFiles, + lib, + testers, + stdenv, }: buildGoModule rec { @@ -27,16 +28,18 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - postInstall = '' - mv $out/bin/cli $out/bin/doppler - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - export HOME=$TMPDIR - mkdir $HOME/.doppler # to avoid race conditions below - installShellCompletion --cmd doppler \ - --bash <($out/bin/doppler completion bash) \ - --fish <($out/bin/doppler completion fish) \ - --zsh <($out/bin/doppler completion zsh) - ''; + postInstall = + '' + mv $out/bin/cli $out/bin/doppler + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + export HOME=$TMPDIR + mkdir $HOME/.doppler # to avoid race conditions below + installShellCompletion --cmd doppler \ + --bash <($out/bin/doppler completion bash) \ + --fish <($out/bin/doppler completion fish) \ + --zsh <($out/bin/doppler completion zsh) + ''; passthru.tests.version = testers.testVersion { package = doppler; diff --git a/pkgs/by-name/do/doq/package.nix b/pkgs/by-name/do/doq/package.nix index 7867204650971..4427fe3106430 100644 --- a/pkgs/by-name/do/doq/package.nix +++ b/pkgs/by-name/do/doq/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/do/dorkscout/package.nix b/pkgs/by-name/do/dorkscout/package.nix index 57ba965033bb4..28991f77b5f2e 100644 --- a/pkgs/by-name/do/dorkscout/package.nix +++ b/pkgs/by-name/do/dorkscout/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/do/dos2unix/package.nix b/pkgs/by-name/do/dos2unix/package.nix index 9785b21e0dcb3..cd35d1d5fd8cb 100644 --- a/pkgs/by-name/do/dos2unix/package.nix +++ b/pkgs/by-name/do/dos2unix/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, perl, gettext }: +{ + lib, + stdenv, + fetchurl, + perl, + gettext, +}: stdenv.mkDerivation rec { pname = "dos2unix"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-JkdCRGYIRC60j5bCCvbaMDyzqSs2TnLLfiT4gjnEvzo="; }; - nativeBuildInputs = [ perl gettext ]; + nativeBuildInputs = [ + perl + gettext + ]; makeFlags = [ "prefix=${placeholder "out"}" ]; meta = with lib; { diff --git a/pkgs/by-name/do/dosemu_fonts/package.nix b/pkgs/by-name/do/dosemu_fonts/package.nix index 7de0e6d060273..8b568e3efd6cd 100644 --- a/pkgs/by-name/do/dosemu_fonts/package.nix +++ b/pkgs/by-name/do/dosemu_fonts/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, bdftopcf, mkfontdir, mkfontscale }: +{ + lib, + stdenv, + fetchurl, + bdftopcf, + mkfontdir, + mkfontscale, +}: stdenv.mkDerivation rec { pname = "dosemu-fonts"; diff --git a/pkgs/by-name/do/dosfstools/package.nix b/pkgs/by-name/do/dosfstools/package.nix index 0305e65146404..9446485273d30 100644 --- a/pkgs/by-name/do/dosfstools/package.nix +++ b/pkgs/by-name/do/dosfstools/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libiconv, gettext, xxd }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libiconv, + gettext, + xxd, +}: stdenv.mkDerivation rec { pname = "dosfstools"; @@ -31,8 +41,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ] - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; # configure.ac:75: error: required file './config.rpath' not found # https://github.com/dosfstools/dosfstools/blob/master/autogen.sh diff --git a/pkgs/by-name/do/dosis/package.nix b/pkgs/by-name/do/dosis/package.nix index 5a9470a43ec8e..8ccf74ba93c14 100644 --- a/pkgs/by-name/do/dosis/package.nix +++ b/pkgs/by-name/do/dosis/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "dosis"; diff --git a/pkgs/by-name/do/dot-language-server/package.nix b/pkgs/by-name/do/dot-language-server/package.nix index 98d76d8d1aaab..cb94613eb5889 100644 --- a/pkgs/by-name/do/dot-language-server/package.nix +++ b/pkgs/by-name/do/dot-language-server/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: buildNpmPackage rec { pname = "dot-language-server"; diff --git a/pkgs/by-name/do/dotacat/package.nix b/pkgs/by-name/do/dotacat/package.nix index 2512ff20d8d57..da6ab11c5548c 100644 --- a/pkgs/by-name/do/dotacat/package.nix +++ b/pkgs/by-name/do/dotacat/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitLab +{ + lib, + rustPlatform, + fetchFromGitLab, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/do/dotcolon-fonts/package.nix b/pkgs/by-name/do/dotcolon-fonts/package.nix index fcd439ce30c74..23239b5593f30 100644 --- a/pkgs/by-name/do/dotcolon-fonts/package.nix +++ b/pkgs/by-name/do/dotcolon-fonts/package.nix @@ -1,19 +1,20 @@ -{ lib -, symlinkJoin -, aileron -, vegur -, f5_6 -, tenderness -, medio -, ferrum -, seshat -, penna -, eunomia -, route159 -, f1_8 -, nacelle -, melete -, fa_1 +{ + lib, + symlinkJoin, + aileron, + vegur, + f5_6, + tenderness, + medio, + ferrum, + seshat, + penna, + eunomia, + route159, + f1_8, + nacelle, + melete, + fa_1, }: symlinkJoin { @@ -41,7 +42,10 @@ symlinkJoin { homepage = "https://dotcolon.net/"; - license = with lib.licenses; [ cc0 ofl ]; + license = with lib.licenses; [ + cc0 + ofl + ]; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ minijackson ]; diff --git a/pkgs/by-name/do/dotconf/package.nix b/pkgs/by-name/do/dotconf/package.nix index eda770f7e090c..02d999ce46d5d 100644 --- a/pkgs/by-name/do/dotconf/package.nix +++ b/pkgs/by-name/do/dotconf/package.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, lib, stdenv, autoreconfHook }: +{ + fetchFromGitHub, + lib, + stdenv, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "dotconf"; diff --git a/pkgs/by-name/do/dotenvy/package.nix b/pkgs/by-name/do/dotenvy/package.nix index 210f75fe8cd34..97b4b1a4a42f3 100644 --- a/pkgs/by-name/do/dotenvy/package.nix +++ b/pkgs/by-name/do/dotenvy/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchCrate, rustPlatform }: +{ + lib, + fetchCrate, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "dotenvy"; @@ -11,7 +15,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-qjFTv15FSvgYgQ4nTEIo0KUqaCbg6E+W5B2B5BH6sp4="; - cargoBuildFlags = [ "--bin=dotenvy" "--features=cli" ]; + cargoBuildFlags = [ + "--bin=dotenvy" + "--features=cli" + ]; # just run unittests and skip doc-tests cargoTestFlags = [ "--lib" ]; diff --git a/pkgs/by-name/do/dotfiles/package.nix b/pkgs/by-name/do/dotfiles/package.nix index 655aa60b27cc1..d901548326ba8 100644 --- a/pkgs/by-name/do/dotfiles/package.nix +++ b/pkgs/by-name/do/dotfiles/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "dotfiles"; diff --git a/pkgs/by-name/do/dotnetbuildhelpers/package.nix b/pkgs/by-name/do/dotnetbuildhelpers/package.nix index 4348832ac04c7..8ce5e346be819 100644 --- a/pkgs/by-name/do/dotnetbuildhelpers/package.nix +++ b/pkgs/by-name/do/dotnetbuildhelpers/package.nix @@ -1,18 +1,19 @@ -{ runCommand, mono, pkg-config }: - runCommand - "dotnetbuildhelpers" - { preferLocalBuild = true; } - '' - target="$out/bin" - mkdir -p "$target" +{ + runCommand, + mono, + pkg-config, +}: +runCommand "dotnetbuildhelpers" { preferLocalBuild = true; } '' + target="$out/bin" + mkdir -p "$target" - for script in ${./create-pkg-config-for-dll.sh} ${./patch-fsharp-targets.sh} ${./remove-duplicated-dlls.sh} ${./placate-nuget.sh} ${./placate-paket.sh} - do - scriptName="$(basename "$script" | cut -f 2- -d -)" - cp -v "$script" "$target"/"$scriptName" - chmod 755 "$target"/"$scriptName" - patchShebangs "$target"/"$scriptName" - substituteInPlace "$target"/"$scriptName" --replace pkg-config ${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config - substituteInPlace "$target"/"$scriptName" --replace monodis ${mono}/bin/monodis - done - '' + for script in ${./create-pkg-config-for-dll.sh} ${./patch-fsharp-targets.sh} ${./remove-duplicated-dlls.sh} ${./placate-nuget.sh} ${./placate-paket.sh} + do + scriptName="$(basename "$script" | cut -f 2- -d -)" + cp -v "$script" "$target"/"$scriptName" + chmod 755 "$target"/"$scriptName" + patchShebangs "$target"/"$scriptName" + substituteInPlace "$target"/"$scriptName" --replace pkg-config ${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config + substituteInPlace "$target"/"$scriptName" --replace monodis ${mono}/bin/monodis + done +'' diff --git a/pkgs/by-name/do/dotool/package.nix b/pkgs/by-name/do/dotool/package.nix index ac71a666ac635..7cbadfcbee342 100644 --- a/pkgs/by-name/do/dotool/package.nix +++ b/pkgs/by-name/do/dotool/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromSourcehut -, libxkbcommon -, pkg-config -, installShellFiles -, scdoc +{ + lib, + buildGoModule, + fetchFromSourcehut, + libxkbcommon, + pkg-config, + installShellFiles, + scdoc, }: buildGoModule rec { @@ -29,9 +30,17 @@ buildGoModule rec { ''; buildInputs = [ libxkbcommon ]; - nativeBuildInputs = [ installShellFiles pkg-config scdoc ]; - - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + scdoc + ]; + + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; postInstall = '' mkdir -p $out/bin diff --git a/pkgs/by-name/do/dotslash/package.nix b/pkgs/by-name/do/dotslash/package.nix index 6583539267257..8fe0c96c81871 100644 --- a/pkgs/by-name/do/dotslash/package.nix +++ b/pkgs/by-name/do/dotslash/package.nix @@ -1,5 +1,10 @@ -{ lib, rustPlatform, fetchCrate -, testers, nix-update-script, dotslash +{ + lib, + rustPlatform, + fetchCrate, + testers, + nix-update-script, + dotslash, }: rustPlatform.buildRustPackage rec { @@ -33,7 +38,10 @@ rustPlatform.buildRustPackage rec { your developers seamlessly get the tools they need, ensuring consistent builds across platforms. ''; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; mainProgram = "dotslash"; maintainers = with maintainers; [ thoughtpolice ]; }; diff --git a/pkgs/by-name/do/double-conversion/package.nix b/pkgs/by-name/do/double-conversion/package.nix index 857bb48c11543..40f87f1ec4442 100644 --- a/pkgs/by-name/do/double-conversion/package.nix +++ b/pkgs/by-name/do/double-conversion/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, cmake, enableStatic ? stdenv.hostPlatform.isStatic }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + enableStatic ? stdenv.hostPlatform.isStatic, +}: stdenv.mkDerivation rec { pname = "double-conversion"; @@ -13,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = lib.optional (! enableStatic) "-DBUILD_SHARED_LIBS=ON"; + cmakeFlags = lib.optional (!enableStatic) "-DBUILD_SHARED_LIBS=ON"; # Case sensitivity issue preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/by-name/do/doublecmd/package.nix b/pkgs/by-name/do/doublecmd/package.nix index db12c0f1c90ff..4c9f7e3d49cc4 100644 --- a/pkgs/by-name/do/doublecmd/package.nix +++ b/pkgs/by-name/do/doublecmd/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, dbus -, fpc -, getopt -, glib -, lazarus -, libX11 -, libqt5pas -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + dbus, + fpc, + getopt, + glib, + lazarus, + libX11, + libqt5pas, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/do/doulos-sil/package.nix b/pkgs/by-name/do/doulos-sil/package.nix index d4a21382bbfaa..b275d6e0df254 100644 --- a/pkgs/by-name/do/doulos-sil/package.nix +++ b/pkgs/by-name/do/doulos-sil/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "doulos-sil"; diff --git a/pkgs/by-name/do/dovecot_exporter/package.nix b/pkgs/by-name/do/dovecot_exporter/package.nix index 2ef6fd97d8dbb..4c836ff85038c 100644 --- a/pkgs/by-name/do/dovecot_exporter/package.nix +++ b/pkgs/by-name/do/dovecot_exporter/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + nixosTests, }: buildGoModule rec { pname = "dovecot_exporter"; @@ -33,6 +34,9 @@ buildGoModule rec { description = "Prometheus metrics exporter for Dovecot"; mainProgram = "dovecot_exporter"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ willibutz globin ]; + maintainers = with lib.maintainers; [ + willibutz + globin + ]; }; } diff --git a/pkgs/by-name/do/dovecot_fts_xapian/package.nix b/pkgs/by-name/do/dovecot_fts_xapian/package.nix index debe1fb8cbb6a..5739d5fff0096 100644 --- a/pkgs/by-name/do/dovecot_fts_xapian/package.nix +++ b/pkgs/by-name/do/dovecot_fts_xapian/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, sqlite, pkg-config, dovecot, xapian, icu }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + sqlite, + pkg-config, + dovecot, + xapian, + icu, +}: stdenv.mkDerivation rec { pname = "dovecot-fts-xapian"; @@ -11,9 +21,16 @@ stdenv.mkDerivation rec { hash = "sha256-WKUHy9/PpaDSgZYyydCm5odo3kAb2M/50oVdLjGRQ6I="; }; - buildInputs = [ xapian icu sqlite ]; + buildInputs = [ + xapian + icu + sqlite + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; preConfigure = '' export PANDOC=false @@ -29,7 +46,10 @@ stdenv.mkDerivation rec { description = "Dovecot FTS plugin based on Xapian"; changelog = "https://github.com/grosjo/fts-xapian/releases"; license = licenses.lgpl21Only; - maintainers = with maintainers; [ julm symphorien ]; + maintainers = with maintainers; [ + julm + symphorien + ]; platforms = platforms.unix; broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/dovecot_fts_xapian.x86_64-darwin }; diff --git a/pkgs/by-name/do/dovecot_pigeonhole/package.nix b/pkgs/by-name/do/dovecot_pigeonhole/package.nix index 5ed0d4be3ed16..9db66908806f5 100644 --- a/pkgs/by-name/do/dovecot_pigeonhole/package.nix +++ b/pkgs/by-name/do/dovecot_pigeonhole/package.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, fetchurl, dovecot, openssl }: +{ + lib, + stdenv, + fetchurl, + dovecot, + openssl, +}: let dovecotMajorMinor = lib.versions.majorMinor dovecot.version; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dovecot-pigeonhole"; version = "0.5.21.1"; @@ -10,7 +17,10 @@ in stdenv.mkDerivation rec { hash = "sha256-A3fbKEtiByPeBgQxEV+y53keHfQyFBGvcYIB1pJcRpI="; }; - buildInputs = [ dovecot openssl ]; + buildInputs = [ + dovecot + openssl + ]; preConfigure = '' substituteInPlace src/managesieve/managesieve-settings.c --replace \ diff --git a/pkgs/by-name/do/downonspot/package.nix b/pkgs/by-name/do/downonspot/package.nix index aaf49a13d26a8..3f6ea6bdc7d28 100644 --- a/pkgs/by-name/do/downonspot/package.nix +++ b/pkgs/by-name/do/downonspot/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, makeWrapper -, alsa-lib -, lame -, openssl +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + makeWrapper, + alsa-lib, + lame, + openssl, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/do/dozenal/package.nix b/pkgs/by-name/do/dozenal/package.nix index 5991f260f53ea..4cef1375f4e8b 100644 --- a/pkgs/by-name/do/dozenal/package.nix +++ b/pkgs/by-name/do/dozenal/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, hdate, lua5_2 }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + hdate, + lua5_2, +}: stdenv.mkDerivation rec { version = "12010904"; @@ -10,17 +17,21 @@ stdenv.mkDerivation rec { sha256 = "1ic63gpdda762x6ks3al71dwgmsy2isicqyr2935bd245jx8s209"; }; makeFlags = [ - # author do not use configure and prefix directly using $prefix - "prefix=$(out)" - # graphical version of dozdc requires xforms, which is not i nixpkgs so I turned it down - "XFORMS_FLAGS=-UXFORMS" - "LUALIB=-llua" - "bindir=$(prefix)/bin/" - ]; + # author do not use configure and prefix directly using $prefix + "prefix=$(out)" + # graphical version of dozdc requires xforms, which is not i nixpkgs so I turned it down + "XFORMS_FLAGS=-UXFORMS" + "LUALIB=-llua" + "bindir=$(prefix)/bin/" + ]; # some include hardcodes the lua libraries path. This is a patch for that patches = [ ./lua-header.patch ]; preBuild = "cd dozenal"; - buildInputs = [ ncurses hdate lua5_2 ]; + buildInputs = [ + ncurses + hdate + lua5_2 + ]; # Parallel builds fail due to no dependencies between subdirs. # As a result some subdirs are atempted to build twice: diff --git a/pkgs/by-name/dp/dpic/package.nix b/pkgs/by-name/dp/dpic/package.nix index ff2f7c24f8f53..fb5acef4157df 100644 --- a/pkgs/by-name/dp/dpic/package.nix +++ b/pkgs/by-name/dp/dpic/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dpic"; @@ -21,4 +25,3 @@ stdenv.mkDerivation rec { mainProgram = "dpic"; }; } - diff --git a/pkgs/by-name/dp/dpp/package.nix b/pkgs/by-name/dp/dpp/package.nix index d6a55fcceb59a..47d162ab565fb 100644 --- a/pkgs/by-name/dp/dpp/package.nix +++ b/pkgs/by-name/dp/dpp/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, fetchFromGitHub -, cmake -, libopus -, openssl -, zlib -, libsodium -, pkg-config -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + libopus, + openssl, + zlib, + libsodium, + pkg-config, + lib, }: stdenv.mkDerivation (finalAttrs: { pname = "dpp"; diff --git a/pkgs/by-name/dp/dps8m/package.nix b/pkgs/by-name/dp/dps8m/package.nix index a31c95eb41657..be699921829c7 100644 --- a/pkgs/by-name/dp/dps8m/package.nix +++ b/pkgs/by-name/dp/dps8m/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, libuv -, coreutils-full -, pkg-config -, gnugrep -, gnused +{ + lib, + stdenv, + fetchFromGitLab, + libuv, + coreutils-full, + pkg-config, + gnugrep, + gnused, }: stdenv.mkDerivation rec { @@ -41,7 +42,10 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.com/dps8m/dps8m"; changelog = "https://gitlab.com/dps8m/dps8m/-/wikis/DPS8M-${src.rev}-Release-Notes"; license = licenses.icu; - maintainers = with maintainers; [ matthewcroughan sarcasticadmin ]; + maintainers = with maintainers; [ + matthewcroughan + sarcasticadmin + ]; mainProgram = "dps8m"; platforms = platforms.all; }; diff --git a/pkgs/by-name/dp/dpt-rp1-py/package.nix b/pkgs/by-name/dp/dpt-rp1-py/package.nix index 5f1e53f8105fb..27be986648ef5 100644 --- a/pkgs/by-name/dp/dpt-rp1-py/package.nix +++ b/pkgs/by-name/dp/dpt-rp1-py/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "dpt-rp1-py"; version = "0.1.16"; diff --git a/pkgs/by-name/dq/dq/package.nix b/pkgs/by-name/dq/dq/package.nix index 93a260c1d90ac..60e5b429896ce 100644 --- a/pkgs/by-name/dq/dq/package.nix +++ b/pkgs/by-name/dq/dq/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "dq"; diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 90ce4b28a0d4d..fe141c096fb18 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, pkgs }: +{ + lib, + fetchFromGitHub, + python3Packages, + pkgs, +}: python3Packages.buildPythonApplication rec { pname = "dr14_tmeter"; @@ -14,7 +19,12 @@ python3Packages.buildPythonApplication rec { }; propagatedBuildInputs = with pkgs; [ - python3Packages.numpy flac vorbis-tools ffmpeg faad2 lame + python3Packages.numpy + flac + vorbis-tools + ffmpeg + faad2 + lame ]; # There are no tests diff --git a/pkgs/by-name/dr/dracula-icon-theme/package.nix b/pkgs/by-name/dr/dracula-icon-theme/package.nix index 4a6fe773f471d..92441b185ed40 100644 --- a/pkgs/by-name/dr/dracula-icon-theme/package.nix +++ b/pkgs/by-name/dr/dracula-icon-theme/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, jdupes }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + jdupes, +}: stdenvNoCC.mkDerivation { pname = "dracula-icon-theme"; diff --git a/pkgs/by-name/dr/dracula-qt5-theme/package.nix b/pkgs/by-name/dr/dracula-qt5-theme/package.nix index 5a618c9618bcd..57085a65ecd3f 100644 --- a/pkgs/by-name/dr/dracula-qt5-theme/package.nix +++ b/pkgs/by-name/dr/dracula-qt5-theme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "dracula-theme"; diff --git a/pkgs/by-name/dr/dracula-theme/package.nix b/pkgs/by-name/dr/dracula-theme/package.nix index 42eb10effc9e9..5b1cc00383d4a 100644 --- a/pkgs/by-name/dr/dracula-theme/package.nix +++ b/pkgs/by-name/dr/dracula-theme/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub, unstableGitUpdater, gtk-engine-murrine }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + unstableGitUpdater, + gtk-engine-murrine, +}: let themeName = "Dracula"; diff --git a/pkgs/by-name/dr/dracut/package.nix b/pkgs/by-name/dr/dracut/package.nix index c915222b1d786..071a70095adff 100644 --- a/pkgs/by-name/dr/dracut/package.nix +++ b/pkgs/by-name/dr/dracut/package.nix @@ -1,29 +1,30 @@ -{ stdenv -, lib -, fetchFromGitHub -, gitUpdater -, makeBinaryWrapper -, pkg-config -, asciidoc -, libxslt -, docbook_xsl -, bash -, kmod -, binutils -, bzip2 -, coreutils -, cpio -, findutils -, gnugrep -, gnused -, gnutar -, gzip -, lz4 -, lzop -, squashfsTools -, util-linux -, xz -, zstd +{ + stdenv, + lib, + fetchFromGitHub, + gitUpdater, + makeBinaryWrapper, + pkg-config, + asciidoc, + libxslt, + docbook_xsl, + bash, + kmod, + binutils, + bzip2, + coreutils, + cpio, + findutils, + gnugrep, + gnused, + gnutar, + gzip, + lz4, + lzop, + squashfsTools, + util-linux, + xz, + zstd, }: stdenv.mkDerivation rec { @@ -62,40 +63,48 @@ stdenv.mkDerivation rec { ''; postFixup = '' - wrapProgram $out/bin/dracut --prefix PATH : ${lib.makeBinPath [ - coreutils - util-linux - ]} --suffix DRACUT_PATH : ${lib.makeBinPath [ - bash - binutils - coreutils - findutils - gnugrep - gnused - gnutar - stdenv.cc.libc # for ldd command - util-linux - ]} - wrapProgram $out/bin/dracut-catimages --set PATH ${lib.makeBinPath [ - coreutils - cpio - findutils - gzip - ]} - wrapProgram $out/bin/lsinitrd --set PATH ${lib.makeBinPath [ - binutils - bzip2 - coreutils - cpio - gnused - gzip - lz4 - lzop - squashfsTools - util-linux - xz - zstd - ]} + wrapProgram $out/bin/dracut --prefix PATH : ${ + lib.makeBinPath [ + coreutils + util-linux + ] + } --suffix DRACUT_PATH : ${ + lib.makeBinPath [ + bash + binutils + coreutils + findutils + gnugrep + gnused + gnutar + stdenv.cc.libc # for ldd command + util-linux + ] + } + wrapProgram $out/bin/dracut-catimages --set PATH ${ + lib.makeBinPath [ + coreutils + cpio + findutils + gzip + ] + } + wrapProgram $out/bin/lsinitrd --set PATH ${ + lib.makeBinPath [ + binutils + bzip2 + coreutils + cpio + gnused + gzip + lz4 + lzop + squashfsTools + util-linux + xz + zstd + ] + } ''; passthru.updateScript = gitUpdater { }; diff --git a/pkgs/by-name/dr/dragonfly-reverb/package.nix b/pkgs/by-name/dr/dragonfly-reverb/package.nix index 3ec98c9bd7172..f741bcb7c02c6 100644 --- a/pkgs/by-name/dr/dragonfly-reverb/package.nix +++ b/pkgs/by-name/dr/dragonfly-reverb/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libjack2, libGL, pkg-config, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + libjack2, + libGL, + pkg-config, + xorg, +}: stdenv.mkDerivation rec { pname = "dragonfly-reverb"; @@ -18,7 +26,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libjack2 xorg.libX11 libGL + libjack2 + xorg.libX11 + libGL ]; installPhase = '' @@ -40,6 +50,6 @@ stdenv.mkDerivation rec { description = "Hall-style reverb based on freeverb3 algorithms"; maintainers = [ maintainers.magnetophon ]; license = licenses.gpl3Plus; - platforms = ["x86_64-linux"]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/dr/dragonflydb/package.nix b/pkgs/by-name/dr/dragonflydb/package.nix index 2d949fc78a45d..5a38c54c07e78 100644 --- a/pkgs/by-name/dr/dragonflydb/package.nix +++ b/pkgs/by-name/dr/dragonflydb/package.nix @@ -1,27 +1,28 @@ -{ fetchFromGitHub -, fetchurl -, lib -, stdenv -, double-conversion -, gperftools -, mimalloc -, rapidjson -, liburing -, xxHash -, gbenchmark -, glog -, gtest -, jemalloc -, gcc-unwrapped -, autoconf -, autoconf-archive -, automake -, cmake -, ninja -, boost -, libunwind -, libtool -, openssl +{ + fetchFromGitHub, + fetchurl, + lib, + stdenv, + double-conversion, + gperftools, + mimalloc, + rapidjson, + liburing, + xxHash, + gbenchmark, + glog, + gtest, + jemalloc, + gcc-unwrapped, + autoconf, + autoconf-archive, + automake, + cmake, + ninja, + boost, + libunwind, + libtool, + openssl, }: let diff --git a/pkgs/by-name/dr/drat-trim/package.nix b/pkgs/by-name/dr/drat-trim/package.nix index fb8468f4fbda6..c4070e3f45e7e 100644 --- a/pkgs/by-name/dr/drat-trim/package.nix +++ b/pkgs/by-name/dr/drat-trim/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "drat-trim"; diff --git a/pkgs/by-name/dr/drawing/package.nix b/pkgs/by-name/dr/drawing/package.nix index 6f464a1ec0b4a..b41473f8867d6 100644 --- a/pkgs/by-name/dr/drawing/package.nix +++ b/pkgs/by-name/dr/drawing/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, python3 -, gtk3 -, appstream-glib -, desktop-file-utils -, gobject-introspection -, wrapGAppsHook3 -, glib -, gdk-pixbuf -, pango -, gettext -, itstool +{ + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + gtk3, + appstream-glib, + desktop-file-utils, + gobject-introspection, + wrapGAppsHook3, + glib, + gdk-pixbuf, + pango, + gettext, + itstool, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/dr/dreamchess/package.nix b/pkgs/by-name/dr/dreamchess/package.nix index 65df152c7a16f..21622ff9aefbc 100644 --- a/pkgs/by-name/dr/dreamchess/package.nix +++ b/pkgs/by-name/dr/dreamchess/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, bison -, flex -, gettext -, SDL2 -, SDL2_image -, SDL2_mixer -, expat -, glew -, freetype -, libSM -, libXext -, libGL -, libGLU -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + bison, + flex, + gettext, + SDL2, + SDL2_image, + SDL2_mixer, + expat, + glew, + freetype, + libSM, + libXext, + libGL, + libGLU, + xorg, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/dr/driftctl/package.nix b/pkgs/by-name/dr/driftctl/package.nix index b976308c4d8aa..9a95d19f4e4f6 100644 --- a/pkgs/by-name/dr/driftctl/package.nix +++ b/pkgs/by-name/dr/driftctl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "driftctl"; @@ -52,6 +57,10 @@ buildGoModule rec { and fills in the missing piece in your DevSecOps toolbox. ''; license = licenses.asl20; - maintainers = with maintainers; [ kaction jk qjoly ]; + maintainers = with maintainers; [ + kaction + jk + qjoly + ]; }; } diff --git a/pkgs/by-name/dr/driftnet/package.nix b/pkgs/by-name/dr/driftnet/package.nix index 7957d90f05d3d..0a533f4211312 100644 --- a/pkgs/by-name/dr/driftnet/package.nix +++ b/pkgs/by-name/dr/driftnet/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, autoreconfHook -, cairo -, fetchFromGitHub -, giflib -, glib -, gtk2-x11 -, libjpeg -, libpcap -, libpng -, libuv -, libwebsockets -, libwebp -, openssl -, pkg-config +{ + lib, + stdenv, + autoreconfHook, + cairo, + fetchFromGitHub, + giflib, + glib, + gtk2-x11, + libjpeg, + libpcap, + libpng, + libuv, + libwebsockets, + libwebp, + openssl, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dr/drip/package.nix b/pkgs/by-name/dr/drip/package.nix index 30684d20252f6..217b62c251e0a 100644 --- a/pkgs/by-name/dr/drip/package.nix +++ b/pkgs/by-name/dr/drip/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, jdk8, which, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + jdk8, + which, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "drip"; diff --git a/pkgs/by-name/dr/drive/package.nix b/pkgs/by-name/dr/drive/package.nix index c28b48bba1639..7eb4412744eec 100644 --- a/pkgs/by-name/dr/drive/package.nix +++ b/pkgs/by-name/dr/drive/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "drive"; @@ -23,7 +28,10 @@ buildGoModule rec { subPackages = [ "cmd/drive" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/odeke-em/drive"; diff --git a/pkgs/by-name/dr/drogon/package.nix b/pkgs/by-name/dr/drogon/package.nix index eeda204d6175c..03067cd6ec4cf 100644 --- a/pkgs/by-name/dr/drogon/package.nix +++ b/pkgs/by-name/dr/drogon/package.nix @@ -1,11 +1,26 @@ -{ stdenv, fetchFromGitHub, cmake, jsoncpp, libossp_uuid, zlib, lib -# optional but of negligible size -, openssl, brotli, c-ares -# optional databases -, sqliteSupport ? true, sqlite -, postgresSupport ? false, postgresql -, redisSupport ? false, hiredis -, mysqlSupport ? false, libmysqlclient, mariadb }: +{ + stdenv, + fetchFromGitHub, + cmake, + jsoncpp, + libossp_uuid, + zlib, + lib, + # optional but of negligible size + openssl, + brotli, + c-ares, + # optional databases + sqliteSupport ? true, + sqlite, + postgresSupport ? false, + postgresql, + redisSupport ? false, + hiredis, + mysqlSupport ? false, + libmysqlclient, + mariadb, +}: stdenv.mkDerivation (finalAttrs: { pname = "drogon"; @@ -26,18 +41,23 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_EXAMPLES" false) ]; - propagatedBuildInputs = [ - jsoncpp - libossp_uuid - zlib - openssl - brotli - c-ares - ] ++ lib.optional sqliteSupport sqlite + propagatedBuildInputs = + [ + jsoncpp + libossp_uuid + zlib + openssl + brotli + c-ares + ] + ++ lib.optional sqliteSupport sqlite ++ lib.optional postgresSupport postgresql ++ lib.optional redisSupport hiredis # drogon uses mariadb for mysql (see https://github.com/drogonframework/drogon/wiki/ENG-02-Installation#Library-Dependencies) - ++ lib.optionals mysqlSupport [ libmysqlclient mariadb ]; + ++ lib.optionals mysqlSupport [ + libmysqlclient + mariadb + ]; patches = [ # this part of the test would normally fail because it attempts to configure a CMake project that uses find_package on itself diff --git a/pkgs/by-name/dr/droidcam/package.nix b/pkgs/by-name/dr/droidcam/package.nix index a0841cda69bf9..b7f9ce79874a7 100644 --- a/pkgs/by-name/dr/droidcam/package.nix +++ b/pkgs/by-name/dr/droidcam/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub -, ffmpeg, libjpeg_turbo, gtk3, alsa-lib, speex, libusbmuxd, libappindicator-gtk3 -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + ffmpeg, + libjpeg_turbo, + gtk3, + alsa-lib, + speex, + libusbmuxd, + libappindicator-gtk3, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dr/droidmote/package.nix b/pkgs/by-name/dr/droidmote/package.nix index 017c548f84d3e..76224c8ee8e27 100644 --- a/pkgs/by-name/dr/droidmote/package.nix +++ b/pkgs/by-name/dr/droidmote/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoPatchelfHook }: +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, +}: let srcs = { @@ -36,7 +41,8 @@ stdenv.mkDerivation rec { pname = "droidmote"; version = "3.0.6"; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); dontUnpack = true; dontBuild = true; diff --git a/pkgs/by-name/dr/drone-cli/package.nix b/pkgs/by-name/dr/drone-cli/package.nix index 84432b82d495d..5ee21e8078224 100644 --- a/pkgs/by-name/dr/drone-cli/package.nix +++ b/pkgs/by-name/dr/drone-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/dr/drone-runner-docker/package.nix b/pkgs/by-name/dr/drone-runner-docker/package.nix index 05347f153c7a4..278d17379d6f0 100644 --- a/pkgs/by-name/dr/drone-runner-docker/package.nix +++ b/pkgs/by-name/dr/drone-runner-docker/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "drone-runner-docker"; diff --git a/pkgs/by-name/dr/drone-runner-exec/package.nix b/pkgs/by-name/dr/drone-runner-exec/package.nix index 1e9d1e96a9a97..75436cfc8e4e5 100644 --- a/pkgs/by-name/dr/drone-runner-exec/package.nix +++ b/pkgs/by-name/dr/drone-runner-exec/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/dr/drone-runner-ssh/package.nix b/pkgs/by-name/dr/drone-runner-ssh/package.nix index 92a015f8e95ae..0e5b7519ee095 100644 --- a/pkgs/by-name/dr/drone-runner-ssh/package.nix +++ b/pkgs/by-name/dr/drone-runner-ssh/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "drone-runner-ssh"; diff --git a/pkgs/by-name/dr/drone-scp/package.nix b/pkgs/by-name/dr/drone-scp/package.nix index 976d5f6f124bb..07d38d2e6623d 100644 --- a/pkgs/by-name/dr/drone-scp/package.nix +++ b/pkgs/by-name/dr/drone-scp/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "drone-scp"; diff --git a/pkgs/by-name/dr/dropbear/package.nix b/pkgs/by-name/dr/dropbear/package.nix index 5e4e0be603c7d..72369b720249c 100644 --- a/pkgs/by-name/dr/dropbear/package.nix +++ b/pkgs/by-name/dr/dropbear/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchurl, zlib, libxcrypt -, enableSCP ? false -, sftpPath ? "/run/current-system/sw/libexec/sftp-server" +{ + lib, + stdenv, + fetchurl, + zlib, + libxcrypt, + enableSCP ? false, + sftpPath ? "/run/current-system/sw/libexec/sftp-server", }: let @@ -31,7 +36,17 @@ stdenv.mkDerivation rec { preConfigure = '' makeFlagsArray=( VPATH=$(cat $NIX_CC/nix-support/orig-libc)/lib - PROGRAMS="${lib.concatStringsSep " " ([ "dropbear" "dbclient" "dropbearkey" "dropbearconvert" ] ++ lib.optionals enableSCP ["scp"])}" + PROGRAMS="${ + lib.concatStringsSep " " ( + [ + "dropbear" + "dbclient" + "dropbearkey" + "dropbearconvert" + ] + ++ lib.optionals enableSCP [ "scp" ] + ) + }" ) ''; @@ -45,7 +60,10 @@ stdenv.mkDerivation rec { ./pass-path.patch ]; - buildInputs = [ zlib libxcrypt ]; + buildInputs = [ + zlib + libxcrypt + ]; meta = with lib; { description = "Small footprint implementation of the SSH 2 protocol"; diff --git a/pkgs/by-name/dr/dropwatch/package.nix b/pkgs/by-name/dr/dropwatch/package.nix index 470b590187044..2e1d3b29b7614 100644 --- a/pkgs/by-name/dr/dropwatch/package.nix +++ b/pkgs/by-name/dr/dropwatch/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libbfd -, libnl -, libpcap -, ncurses -, readline -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libbfd, + libnl, + libpcap, + ncurses, + readline, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dr/drumgizmo/package.nix b/pkgs/by-name/dr/drumgizmo/package.nix index fb0483dcdf9c8..20e0b7ccf9b50 100644 --- a/pkgs/by-name/dr/drumgizmo/package.nix +++ b/pkgs/by-name/dr/drumgizmo/package.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchurl, fetchDebianPatch, alsa-lib, expat, glib, libjack2, libXext, libX11, libpng -, libpthreadstubs, libsmf, libsndfile, lv2, pkg-config, zita-resampler +{ + lib, + stdenv, + fetchurl, + fetchDebianPatch, + alsa-lib, + expat, + glib, + libjack2, + libXext, + libX11, + libpng, + libpthreadstubs, + libsmf, + libsndfile, + lv2, + pkg-config, + zita-resampler, }: stdenv.mkDerivation rec { @@ -26,8 +42,18 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - alsa-lib expat glib libjack2 libXext libX11 libpng libpthreadstubs - libsmf libsndfile lv2 zita-resampler + alsa-lib + expat + glib + libjack2 + libXext + libX11 + libpng + libpthreadstubs + libsmf + libsndfile + lv2 + zita-resampler ]; meta = with lib; { diff --git a/pkgs/by-name/ds/dsd/package.nix b/pkgs/by-name/ds/dsd/package.nix index f23add3215760..cc91139b1871d 100644 --- a/pkgs/by-name/ds/dsd/package.nix +++ b/pkgs/by-name/ds/dsd/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, mbelib, libsndfile, itpp -, portaudioSupport ? true, portaudio ? null +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + mbelib, + libsndfile, + itpp, + portaudioSupport ? true, + portaudio ? null, }: assert portaudioSupport -> portaudio != null; @@ -18,7 +25,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ - mbelib libsndfile itpp + mbelib + libsndfile + itpp ] ++ lib.optionals portaudioSupport [ portaudio ]; doCheck = true; diff --git a/pkgs/by-name/ds/dsda-launcher/package.nix b/pkgs/by-name/ds/dsda-launcher/package.nix index 8e73ae10e74f8..b384911a9c356 100644 --- a/pkgs/by-name/ds/dsda-launcher/package.nix +++ b/pkgs/by-name/ds/dsda-launcher/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, qt6 +{ + lib, + stdenv, + fetchFromGitHub, + qt6, }: stdenv.mkDerivation rec { pname = "dsda-launcher"; @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qt6.wrapQtAppsHook ]; - buildInputs = [ qt6.qtbase qt6.qtwayland ]; + buildInputs = [ + qt6.qtbase + qt6.qtwayland + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/ds/dsdcc/package.nix b/pkgs/by-name/ds/dsdcc/package.nix index 9397c747e6677..421da5890b805 100644 --- a/pkgs/by-name/ds/dsdcc/package.nix +++ b/pkgs/by-name/ds/dsdcc/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, mbelib -, serialdv +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + mbelib, + serialdv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ds/dsf2flac/package.nix b/pkgs/by-name/ds/dsf2flac/package.nix index 0a7eaf0a2dac5..0426125212eed 100644 --- a/pkgs/by-name/ds/dsf2flac/package.nix +++ b/pkgs/by-name/ds/dsf2flac/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, boost, flac, id3lib, pkg-config -, taglib, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + boost, + flac, + id3lib, + pkg-config, + taglib, + zlib, +}: stdenv.mkDerivation rec { pname = "dsf2flac"; @@ -12,9 +22,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-VlXfywgYhI2QuGQvpD33BspTTgT0jOKUV3gENq4HiBU="; }; - buildInputs = [ boost flac id3lib taglib zlib ]; - - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + boost + flac + id3lib + taglib + zlib + ]; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ds/dsniff/package.nix b/pkgs/by-name/ds/dsniff/package.nix index 5f40fa4ea3745..cdf1361ee6fcb 100644 --- a/pkgs/by-name/ds/dsniff/package.nix +++ b/pkgs/by-name/ds/dsniff/package.nix @@ -1,16 +1,33 @@ -{ stdenv, lib, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl -, rpcsvc-proto, libtirpc, libnsl, libnl +{ + stdenv, + lib, + fetchFromGitLab, + autoreconfHook, + libpcap, + db, + glib, + libnet, + libnids, + symlinkJoin, + openssl, + rpcsvc-proto, + libtirpc, + libnsl, + libnl, }: let /* - dsniff's build system unconditionnaly wants static libraries and does not - support multi output derivations. We do some overriding to give it - satisfaction. + dsniff's build system unconditionnaly wants static libraries and does not + support multi output derivations. We do some overriding to give it + satisfaction. */ staticdb = symlinkJoin { inherit (db) name; - paths = with db.overrideAttrs { dontDisableStatic = true; }; [ out dev ]; + paths = with db.overrideAttrs { dontDisableStatic = true; }; [ + out + dev + ]; postBuild = '' rm $out/lib/*.so* ''; @@ -37,9 +54,13 @@ let }; ssl = symlinkJoin { inherit (openssl) name; - paths = with openssl.override { static = true; }; [ out dev ]; + paths = with openssl.override { static = true; }; [ + out + dev + ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dsniff"; version = "2.4b1"; # upstream is so old that nearly every distribution packages the beta version. @@ -55,8 +76,17 @@ in stdenv.mkDerivation rec { name = "dsniff.tar.gz"; }; - nativeBuildInputs = [ autoreconfHook rpcsvc-proto ]; - buildInputs = [ glib pcap libtirpc libnsl libnl ]; + nativeBuildInputs = [ + autoreconfHook + rpcsvc-proto + ]; + buildInputs = [ + glib + pcap + libtirpc + libnsl + libnl + ]; NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ltirpc -lnl-3 -lnl-genl-3"; env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; postPatch = '' diff --git a/pkgs/by-name/ds/dsp/package.nix b/pkgs/by-name/ds/dsp/package.nix index 9e2e815a17600..b62eaa0fac123 100644 --- a/pkgs/by-name/ds/dsp/package.nix +++ b/pkgs/by-name/ds/dsp/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, fftw -, zita-convolver -, fftwFloat -, libsndfile -, ffmpeg -, alsa-lib -, libao -, libmad -, ladspaH -, libtool -, libpulseaudio -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + fftw, + zita-convolver, + fftwFloat, + libsndfile, + ffmpeg, + alsa-lib, + libao, + libmad, + ladspaH, + libtool, + libpulseaudio, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ds/dspam/package.nix b/pkgs/by-name/ds/dspam/package.nix index f32316428a693..60af92243c76c 100644 --- a/pkgs/by-name/ds/dspam/package.nix +++ b/pkgs/by-name/ds/dspam/package.nix @@ -1,23 +1,43 @@ -{ stdenv, lib, fetchurl, makeWrapper -, gawk, gnused, gnugrep, coreutils, which -, perlPackages -, withMySQL ? false, zlib, mariadb-connector-c -, withPgSQL ? false, postgresql -, withSQLite ? false, sqlite -, withDB ? false, db +{ + stdenv, + lib, + fetchurl, + makeWrapper, + gawk, + gnused, + gnugrep, + coreutils, + which, + perlPackages, + withMySQL ? false, + zlib, + mariadb-connector-c, + withPgSQL ? false, + postgresql, + withSQLite ? false, + sqlite, + withDB ? false, + db, }: let - drivers = lib.concatStringsSep "," - ([ "hash_drv" ] - ++ lib.optional withMySQL "mysql_drv" - ++ lib.optional withPgSQL "pgsql_drv" - ++ lib.optional withSQLite "sqlite3_drv" - ++ lib.optional withDB "libdb4_drv" - ); - maintenancePath = lib.makeBinPath [ gawk gnused gnugrep coreutils which ]; + drivers = lib.concatStringsSep "," ( + [ "hash_drv" ] + ++ lib.optional withMySQL "mysql_drv" + ++ lib.optional withPgSQL "pgsql_drv" + ++ lib.optional withSQLite "sqlite3_drv" + ++ lib.optional withDB "libdb4_drv" + ); + maintenancePath = lib.makeBinPath [ + gawk + gnused + gnugrep + coreutils + which + ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dspam"; version = "3.10.2"; @@ -30,38 +50,44 @@ in stdenv.mkDerivation rec { ./mariadb.patch ]; - buildInputs = [ perlPackages.perl ] - ++ lib.optionals withMySQL [ zlib mariadb-connector-c.out ] - ++ lib.optional withPgSQL postgresql - ++ lib.optional withSQLite sqlite - ++ lib.optional withDB db; + buildInputs = + [ perlPackages.perl ] + ++ lib.optionals withMySQL [ + zlib + mariadb-connector-c.out + ] + ++ lib.optional withPgSQL postgresql + ++ lib.optional withSQLite sqlite + ++ lib.optional withDB db; nativeBuildInputs = [ makeWrapper ]; # patch out libmysql >= 5 check, since mariadb-connector is at 3.x postPatch = '' sed -i 's/atoi(m) >= 5/1/g' configure m4/mysql_drv.m4 ''; - configureFlags = [ - "--with-storage-driver=${drivers}" - "--sysconfdir=/etc/dspam" - "--localstatedir=/var" - "--with-dspam-home=/var/lib/dspam" - "--with-logdir=/var/log/dspam" - "--with-logfile=/var/log/dspam/dspam.log" + configureFlags = + [ + "--with-storage-driver=${drivers}" + "--sysconfdir=/etc/dspam" + "--localstatedir=/var" + "--with-dspam-home=/var/lib/dspam" + "--with-logdir=/var/log/dspam" + "--with-logfile=/var/log/dspam/dspam.log" - "--enable-daemon" - "--enable-clamav" - "--enable-syslog" - "--enable-large-scale" - "--enable-virtual-users" - "--enable-split-configuration" - "--enable-preferences-extension" - "--enable-long-usernames" - "--enable-external-lookup" - ] ++ lib.optionals withMySQL [ - "--with-mysql-includes=${mariadb-connector-c.dev}/include/mysql" - "--with-mysql-libraries=${mariadb-connector-c.out}/lib/mysql" - ] + "--enable-daemon" + "--enable-clamav" + "--enable-syslog" + "--enable-large-scale" + "--enable-virtual-users" + "--enable-split-configuration" + "--enable-preferences-extension" + "--enable-long-usernames" + "--enable-external-lookup" + ] + ++ lib.optionals withMySQL [ + "--with-mysql-includes=${mariadb-connector-c.dev}/include/mysql" + "--with-mysql-libraries=${mariadb-connector-c.out}/lib/mysql" + ] ++ lib.optional withPgSQL "--with-pgsql-libraries=${postgresql.lib}/lib"; # Workaround build failure on -fno-common toolchains like upstream diff --git a/pkgs/by-name/ds/dsq/package.nix b/pkgs/by-name/ds/dsq/package.nix index 9d05e567fb102..b32ca150c12fe 100644 --- a/pkgs/by-name/ds/dsq/package.nix +++ b/pkgs/by-name/ds/dsq/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, nix-update-script -, testers -, python3 -, curl -, jq -, p7zip -, dsq +{ + lib, + fetchFromGitHub, + buildGoModule, + nix-update-script, + testers, + python3, + curl, + jq, + p7zip, + dsq, }: buildGoModule rec { @@ -23,9 +24,17 @@ buildGoModule rec { vendorHash = "sha256-MbBR+OC1OGhZZGcZqc+Jzmabdc5ZfFEwzqP5YMrj6mY="; - ldflags = [ "-X" "main.Version=${version}" ]; + ldflags = [ + "-X" + "main.Version=${version}" + ]; - nativeCheckInputs = [ python3 curl jq p7zip ]; + nativeCheckInputs = [ + python3 + curl + jq + p7zip + ]; preCheck = '' substituteInPlace scripts/test.py \ diff --git a/pkgs/by-name/ds/dsseries/package.nix b/pkgs/by-name/ds/dsseries/package.nix index 941db899721cb..b49d661949340 100644 --- a/pkgs/by-name/ds/dsseries/package.nix +++ b/pkgs/by-name/ds/dsseries/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, rpmextract }: +{ + lib, + stdenv, + fetchurl, + rpmextract, +}: stdenv.mkDerivation rec { pname = "libsane-dsseries"; diff --git a/pkgs/by-name/ds/dssi/package.nix b/pkgs/by-name/ds/dssi/package.nix index b3dad8e2018bc..9e55c6f66a35f 100644 --- a/pkgs/by-name/ds/dssi/package.nix +++ b/pkgs/by-name/ds/dssi/package.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchurl, ladspaH, libjack2, liblo, alsa-lib, libX11, libsndfile, libSM -, libsamplerate, libtool, autoconf, automake, xorgproto, libICE, pkg-config +{ + lib, + stdenv, + fetchurl, + ladspaH, + libjack2, + liblo, + alsa-lib, + libX11, + libsndfile, + libSM, + libsamplerate, + libtool, + autoconf, + automake, + xorgproto, + libICE, + pkg-config, }: stdenv.mkDerivation rec { @@ -11,16 +27,28 @@ stdenv.mkDerivation rec { sha256 = "0kl1hzhb7cykzkrqcqgq1dk4xcgrcxv0jja251aq4z4l783jpj7j"; }; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = - [ ladspaH libjack2 liblo alsa-lib libX11 libsndfile libSM - libsamplerate libtool xorgproto libICE - ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + ladspaH + libjack2 + liblo + alsa-lib + libX11 + libsndfile + libSM + libsamplerate + libtool + xorgproto + libICE + ]; meta = with lib; { description = "Plugin SDK for virtual instruments"; - maintainers = with maintainers; - [ + maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; diff --git a/pkgs/by-name/ds/dssp/package.nix b/pkgs/by-name/ds/dssp/package.nix index 9f5c25b04cff4..ac5d5dce68f9a 100644 --- a/pkgs/by-name/ds/dssp/package.nix +++ b/pkgs/by-name/ds/dssp/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, cmake -, eigen -, fetchFromGitHub -, libcifpp -, libmcfp -, zlib +{ + lib, + stdenv, + cmake, + eigen, + fetchFromGitHub, + libcifpp, + libmcfp, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ds/dstask/package.nix b/pkgs/by-name/ds/dstask/package.nix index 571763be5fef9..54e8a95355b79 100644 --- a/pkgs/by-name/ds/dstask/package.nix +++ b/pkgs/by-name/ds/dstask/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "dstask"; @@ -25,7 +29,8 @@ buildGoModule rec { # git ref and the release version from github. # Ref ldflags = [ - "-w" "-s" + "-w" + "-s" "-X github.com/naggie/dstask.VERSION=${version}" "-X github.com/naggie/dstask.GIT_COMMIT=v${version}" ]; diff --git a/pkgs/by-name/ds/dstat/package.nix b/pkgs/by-name/ds/dstat/package.nix index 99a6b37e95e98..124590934026b 100644 --- a/pkgs/by-name/ds/dstat/package.nix +++ b/pkgs/by-name/ds/dstat/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, fetchpatch, python3Packages }: +{ + lib, + fetchFromGitHub, + fetchpatch, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "dstat"; diff --git a/pkgs/by-name/ds/dstep/package.nix b/pkgs/by-name/ds/dstep/package.nix index 8c847242e702a..14a3c3b7cd584 100644 --- a/pkgs/by-name/ds/dstep/package.nix +++ b/pkgs/by-name/ds/dstep/package.nix @@ -1,4 +1,11 @@ -{ lib, buildDubPackage, fetchFromGitHub, clang, ldc, which }: +{ + lib, + buildDubPackage, + fetchFromGitHub, + clang, + ldc, + which, +}: buildDubPackage rec { pname = "dstep"; version = "1.0.4"; @@ -12,7 +19,11 @@ buildDubPackage rec { dubLock = ./dub-lock.json; - nativeBuildInputs = [ ldc which clang ]; + nativeBuildInputs = [ + ldc + which + clang + ]; preConfigure = '' ./configure --llvm-path ${lib.getLib clang.cc} diff --git a/pkgs/by-name/ds/dstp/package.nix b/pkgs/by-name/ds/dstp/package.nix index bbfac9b19941b..66fd89f7d8f3d 100644 --- a/pkgs/by-name/ds/dstp/package.nix +++ b/pkgs/by-name/ds/dstp/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "dstp"; diff --git a/pkgs/by-name/ds/dsvpn/package.nix b/pkgs/by-name/ds/dsvpn/package.nix index 92f877022adde..90c07c1145549 100644 --- a/pkgs/by-name/ds/dsvpn/package.nix +++ b/pkgs/by-name/ds/dsvpn/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dsvpn"; diff --git a/pkgs/by-name/dt/dt-schema/package.nix b/pkgs/by-name/dt/dt-schema/package.nix index c1a16d729bb6b..098f74517f05c 100644 --- a/pkgs/by-name/dt/dt-schema/package.nix +++ b/pkgs/by-name/dt/dt-schema/package.nix @@ -1,30 +1,40 @@ -{ lib -, python3 +{ + lib, + python3, }: -let python = python3.override { - self = python; - packageOverrides = self: super: { - # see https://github.com/devicetree-org/dt-schema/issues/108 - jsonschema = super.jsonschema.overridePythonAttrs (old: rec { - version = "4.17.3"; - disabled = self.pythonOlder "3.7"; +let + python = python3.override { + self = python; + packageOverrides = self: super: { + # see https://github.com/devicetree-org/dt-schema/issues/108 + jsonschema = super.jsonschema.overridePythonAttrs (old: rec { + version = "4.17.3"; + disabled = self.pythonOlder "3.7"; - src = old.src.override { - inherit version; - hash = "sha256-D4ZEN6uLYHa6ZwdFPvj5imoNUSqA6T+KvbZ29zfstg0="; - }; + src = old.src.override { + inherit version; + hash = "sha256-D4ZEN6uLYHa6ZwdFPvj5imoNUSqA6T+KvbZ29zfstg0="; + }; - propagatedBuildInputs = with self; ([ - attrs - pyrsistent - ] ++ lib.optionals (pythonOlder "3.8") [ - importlib-metadata - typing-extensions - ] ++ lib.optionals (pythonOlder "3.9") [ - importlib-resources - pkgutil-resolve-name - ]); - }); + propagatedBuildInputs = + with self; + ( + [ + attrs + pyrsistent + ] + ++ lib.optionals (pythonOlder "3.8") [ + importlib-metadata + typing-extensions + ] + ++ lib.optionals (pythonOlder "3.9") [ + importlib-resources + pkgutil-resolve-name + ] + ); + }); + }; }; -}; in python.pkgs.toPythonApplication python.pkgs.dtschema +in +python.pkgs.toPythonApplication python.pkgs.dtschema diff --git a/pkgs/by-name/dt/dt/package.nix b/pkgs/by-name/dt/dt/package.nix index aa478b16dd694..550d137b206c5 100644 --- a/pkgs/by-name/dt/dt/package.nix +++ b/pkgs/by-name/dt/dt/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, zig_0_11 +{ + lib, + stdenv, + fetchFromGitHub, + testers, + zig_0_11, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/dt/dtach/package.nix b/pkgs/by-name/dt/dtach/package.nix index 9daabbf81b5aa..1d1be03dcd2c9 100644 --- a/pkgs/by-name/dt/dtach/package.nix +++ b/pkgs/by-name/dt/dtach/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dtach"; diff --git a/pkgs/by-name/dt/dtc/package.nix b/pkgs/by-name/dt/dtc/package.nix index f407fba956a15..9eaf13b6a7c6a 100644 --- a/pkgs/by-name/dt/dtc/package.nix +++ b/pkgs/by-name/dt/dtc/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchpatch2 -, fetchzip -, meson -, ninja -, flex -, bison -, pkg-config -, which -, pythonSupport ? false -, python ? null -, swig -, libyaml +{ + stdenv, + lib, + fetchpatch2, + fetchzip, + meson, + ninja, + flex, + bison, + pkg-config, + which, + pythonSupport ? false, + python ? null, + swig, + libyaml, }: stdenv.mkDerivation (finalAttrs: { @@ -33,18 +34,20 @@ stdenv.mkDerivation (finalAttrs: { env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version; - nativeBuildInputs = [ - meson - ninja - flex - bison - pkg-config - which - ] ++ lib.optionals pythonSupport [ - python - python.pkgs.setuptools-scm - swig - ]; + nativeBuildInputs = + [ + meson + ninja + flex + bison + pkg-config + which + ] + ++ lib.optionals pythonSupport [ + python + python.pkgs.setuptools-scm + swig + ]; buildInputs = [ libyaml ]; @@ -64,17 +67,19 @@ stdenv.mkDerivation (finalAttrs: { doCheck = # Checks are broken on aarch64 darwin # https://github.com/NixOS/nixpkgs/pull/118700#issuecomment-885892436 - !stdenv.hostPlatform.isDarwin && - # Checks are broken when building statically on x86_64 linux with musl - # One of the test tries to build a shared library and this causes the linker: - # x86_64-unknown-linux-musl-ld: /nix/store/h9gcvnp90mpniyx2v0d0p3s06hkx1v2p-x86_64-unknown-linux-musl-gcc-13.3.0/lib/gcc/x86_64-unknown-linux-musl/13.3.0/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object - # x86_64-unknown-linux-musl-ld: failed to set dynamic section sizes: bad value - !stdenv.hostPlatform.isStatic && + !stdenv.hostPlatform.isDarwin + && + # Checks are broken when building statically on x86_64 linux with musl + # One of the test tries to build a shared library and this causes the linker: + # x86_64-unknown-linux-musl-ld: /nix/store/h9gcvnp90mpniyx2v0d0p3s06hkx1v2p-x86_64-unknown-linux-musl-gcc-13.3.0/lib/gcc/x86_64-unknown-linux-musl/13.3.0/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object + # x86_64-unknown-linux-musl-ld: failed to set dynamic section sizes: bad value + !stdenv.hostPlatform.isStatic + && - # we must explicitly disable this here so that mesonFlags receives - # `-Dtests=disabled`; without it meson will attempt to run - # hostPlatform binaries during the configurePhase. - (with stdenv; buildPlatform.canExecute hostPlatform); + # we must explicitly disable this here so that mesonFlags receives + # `-Dtests=disabled`; without it meson will attempt to run + # hostPlatform binaries during the configurePhase. + (with stdenv; buildPlatform.canExecute hostPlatform); meta = with lib; { description = "Device Tree Compiler"; diff --git a/pkgs/by-name/dt/dtcmp/package.nix b/pkgs/by-name/dt/dtcmp/package.nix index cd8f54e25d313..abf24f17ec908 100644 --- a/pkgs/by-name/dt/dtcmp/package.nix +++ b/pkgs/by-name/dt/dtcmp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, mpi, lwgrp }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + mpi, + lwgrp, +}: stdenv.mkDerivation rec { pname = "dtcmp"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-Dc+c8JCc5D23CtpwiWkHCqngywEZXw7cYsRiSYiQdWk="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ lwgrp ]; configureFlags = [ "--with-lwgrp=${lib.getDev lwgrp}" ]; diff --git a/pkgs/by-name/dt/dterm/package.nix b/pkgs/by-name/dt/dterm/package.nix index d77cf6e4d2c9c..f69892f41dd3b 100644 --- a/pkgs/by-name/dt/dterm/package.nix +++ b/pkgs/by-name/dt/dterm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, readline +{ + lib, + stdenv, + fetchurl, + readline, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dt/dtool/package.nix b/pkgs/by-name/dt/dtool/package.nix index 0e62d91cdbc95..64d526e51249a 100644 --- a/pkgs/by-name/dt/dtool/package.nix +++ b/pkgs/by-name/dt/dtool/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/dt/dtools/package.nix b/pkgs/by-name/dt/dtools/package.nix index 9d5812ec9fd2a..ad3047806aeb9 100644 --- a/pkgs/by-name/dt/dtools/package.nix +++ b/pkgs/by-name/dt/dtools/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, ldc -, curl +{ + lib, + stdenv, + fetchFromGitHub, + ldc, + curl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/dt/dtrx/package.nix b/pkgs/by-name/dt/dtrx/package.nix index 9890112171d86..837f434fb9816 100644 --- a/pkgs/by-name/dt/dtrx/package.nix +++ b/pkgs/by-name/dt/dtrx/package.nix @@ -1,23 +1,24 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, python3Packages -, gnutar -, unzip -, lhasa -, rpm -, binutils -, cpio -, gzip -, p7zip -, cabextract -, unrar -, unshield -, bzip2 -, xz -, lzip -, unzipSupport ? false -, unrarSupport ? false +{ + lib, + fetchFromGitHub, + gitUpdater, + python3Packages, + gnutar, + unzip, + lhasa, + rpm, + binutils, + cpio, + gzip, + p7zip, + cabextract, + unrar, + unshield, + bzip2, + xz, + lzip, + unzipSupport ? false, + unrarSupport ? false, }: python3Packages.buildPythonApplication rec { @@ -34,11 +35,25 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs = let archivers = lib.makeBinPath ( - [ gnutar lhasa rpm binutils cpio gzip p7zip cabextract unshield bzip2 xz lzip ] + [ + gnutar + lhasa + rpm + binutils + cpio + gzip + p7zip + cabextract + unshield + bzip2 + xz + lzip + ] ++ lib.optional (unzipSupport) unzip ++ lib.optional (unrarSupport) unrar ); - in [ + in + [ ''--prefix PATH : "${archivers}"'' ]; diff --git a/pkgs/by-name/dt/dtv-scan-tables/package.nix b/pkgs/by-name/dt/dtv-scan-tables/package.nix index 0009fdb63ab43..5293158f98930 100644 --- a/pkgs/by-name/dt/dtv-scan-tables/package.nix +++ b/pkgs/by-name/dt/dtv-scan-tables/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, v4l-utils +{ + lib, + stdenv, + fetchurl, + v4l-utils, }: stdenv.mkDerivation (finalAttrs: { @@ -33,7 +34,10 @@ stdenv.mkDerivation (finalAttrs: { # but sometimes they lag behind several weeks or even months. description = "Digital TV (DVB) channel/transponder scan tables"; homepage = "https://www.linuxtv.org/wiki/index.php/Dtv-scan-tables"; - license = with lib.licenses; [ gpl2Only lgpl21Only ]; + license = with lib.licenses; [ + gpl2Only + lgpl21Only + ]; longDescription = '' When scanning for dvb channels, most applications require an initial set of diff --git a/pkgs/by-name/du/dub/package.nix b/pkgs/by-name/du/dub/package.nix index c6782b49070eb..3f4bc2dae80eb 100644 --- a/pkgs/by-name/du/dub/package.nix +++ b/pkgs/by-name/du/dub/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, curl -, ldc -, libevent -, rsync +{ + lib, + stdenv, + fetchFromGitHub, + curl, + ldc, + libevent, + rsync, }: stdenv.mkDerivation (finalAttrs: { @@ -24,7 +25,11 @@ stdenv.mkDerivation (finalAttrs: { patchShebangs test ''; - nativeBuildInputs = [ ldc libevent rsync ]; + nativeBuildInputs = [ + ldc + libevent + rsync + ]; buildInputs = [ curl ]; buildPhase = '' @@ -154,6 +159,12 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.mit; mainProgram = "dub"; maintainers = with maintainers; [ jtbx ]; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; }) diff --git a/pkgs/by-name/du/dublin-traceroute/package.nix b/pkgs/by-name/du/dublin-traceroute/package.nix index 0ec5ac87ef61c..a070e05fa52e8 100644 --- a/pkgs/by-name/du/dublin-traceroute/package.nix +++ b/pkgs/by-name/du/dublin-traceroute/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, jsoncpp, libtins, libpcap, openssl, unstableGitUpdater, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + jsoncpp, + libtins, + libpcap, + openssl, + unstableGitUpdater, + nixosTests, +}: stdenv.mkDerivation { pname = "dublin-traceroute"; @@ -11,9 +23,17 @@ stdenv.mkDerivation { hash = "sha256-UJeFPVi3423Jh72fVk8QbLX1tTNAQ504xYs9HwVCkZc="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ jsoncpp libtins libpcap openssl ]; + buildInputs = [ + jsoncpp + libtins + libpcap + openssl + ]; outputs = [ "out" diff --git a/pkgs/by-name/du/duc/package.nix b/pkgs/by-name/du/duc/package.nix index 8ef860f32e050..ad33cea6cae26 100644 --- a/pkgs/by-name/du/duc/package.nix +++ b/pkgs/by-name/du/duc/package.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, tokyocabinet, ncurses -, cairo ? null, pango ? null -, enableCairo ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + tokyocabinet, + ncurses, + cairo ? null, + pango ? null, + enableCairo ? stdenv.hostPlatform.isLinux, }: assert enableCairo -> cairo != null && pango != null; @@ -17,12 +24,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-ZLNsyp82UnsveEfDKzH8WfRh/Y/PQlXq8Ma+jIZl9Gk="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ tokyocabinet ncurses ] ++ - lib.optionals enableCairo [ cairo pango ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = + [ + tokyocabinet + ncurses + ] + ++ lib.optionals enableCairo [ + cairo + pango + ]; - configureFlags = - lib.optionals (!enableCairo) [ "--disable-x11" "--disable-cairo" ]; + configureFlags = lib.optionals (!enableCairo) [ + "--disable-x11" + "--disable-cairo" + ]; meta = with lib; { homepage = "http://duc.zevv.nl/"; diff --git a/pkgs/by-name/du/duckling-proxy/package.nix b/pkgs/by-name/du/duckling-proxy/package.nix index 057d4f03f3b5e..8c8d9518b9db3 100644 --- a/pkgs/by-name/du/duckling-proxy/package.nix +++ b/pkgs/by-name/du/duckling-proxy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "duckling-proxy"; diff --git a/pkgs/by-name/du/duckstation/package.nix b/pkgs/by-name/du/duckstation/package.nix index 4b96fc1707b20..f65be766b7c6f 100644 --- a/pkgs/by-name/du/duckstation/package.nix +++ b/pkgs/by-name/du/duckstation/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, SDL2 -, callPackage -, cmake -, cubeb -, curl -, extra-cmake-modules -, libXrandr -, libbacktrace -, libwebp -, makeWrapper -, ninja -, pkg-config -, qt6 -, vulkan-loader -, wayland +{ + lib, + stdenv, + SDL2, + callPackage, + cmake, + cubeb, + curl, + extra-cmake-modules, + libXrandr, + libbacktrace, + libwebp, + makeWrapper, + ninja, + pkg-config, + qt6, + vulkan-loader, + wayland, }: let @@ -25,7 +26,7 @@ let qttools qtwayland wrapQtAppsHook - ; + ; in stdenv.mkDerivation (finalAttrs: { inherit (sources.duckstation) pname version src; @@ -57,8 +58,7 @@ stdenv.mkDerivation (finalAttrs: { qtwayland sources.shaderc-patched wayland - ] - ++ cubeb.passthru.backendLibs; + ] ++ cubeb.passthru.backendLibs; cmakeFlags = [ (lib.cmakeBool "BUILD_TESTS" true) @@ -103,10 +103,14 @@ stdenv.mkDerivation (finalAttrs: { qtWrapperArgs = let - libPath = lib.makeLibraryPath ([ - vulkan-loader - ] ++ cubeb.passthru.backendLibs); - in [ + libPath = lib.makeLibraryPath ( + [ + vulkan-loader + ] + ++ cubeb.passthru.backendLibs + ); + in + [ "--prefix LD_LIBRARY_PATH : ${libPath}" ]; @@ -123,7 +127,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64"; license = lib.licenses.gpl3Only; mainProgram = "duckstation-qt"; - maintainers = with lib.maintainers; [ guibou AndersonTorres ]; + maintainers = with lib.maintainers; [ + guibou + AndersonTorres + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/du/duckstation/sources.nix b/pkgs/by-name/du/duckstation/sources.nix index 34478629f93d3..3978dcbf7de64 100644 --- a/pkgs/by-name/du/duckstation/sources.nix +++ b/pkgs/by-name/du/duckstation/sources.nix @@ -7,50 +7,53 @@ }: { - duckstation = let - self = { - pname = "duckstation"; - version = "0.1-6759"; - src = fetchFromGitHub { - owner = "stenzek"; - repo = "duckstation"; - rev = "refs/tags/v${self.version}"; - # - # Some files are filled by using Git commands; it requires deepClone. - # More info at `checkout_ref` function in nix-prefetch-git. - # However, `.git` is a bit nondeterministic (and Git itself makes no - # guarrantees whatsoever). - # Then, in order to enhance reproducibility, what we will do here is: - # - # - Execute the desired Git commands; - # - Save the obtained info into files; - # - Remove `.git` afterwards. - # - deepClone = true; - postFetch = '' - cd $out - mkdir -p .nixpkgs-auxfiles/ - git rev-parse HEAD > .nixpkgs-auxfiles/git_hash - git rev-parse --abbrev-ref HEAD | tr -d '\r\n' > .nixpkgs-auxfiles/git_branch - git describe --dirty | tr -d '\r\n' > .nixpkgs-auxfiles/git_tag - git log -1 --date=iso8601-strict --format=%cd > .nixpkgs-auxfiles/git_date - find $out -name .git -print0 | xargs -0 rm -fr - ''; - hash = "sha256-HETo7mChBASnr5prPUWcOhS4TIESFdrs1haEXQpnuzs="; + duckstation = + let + self = { + pname = "duckstation"; + version = "0.1-6759"; + src = fetchFromGitHub { + owner = "stenzek"; + repo = "duckstation"; + rev = "refs/tags/v${self.version}"; + # + # Some files are filled by using Git commands; it requires deepClone. + # More info at `checkout_ref` function in nix-prefetch-git. + # However, `.git` is a bit nondeterministic (and Git itself makes no + # guarrantees whatsoever). + # Then, in order to enhance reproducibility, what we will do here is: + # + # - Execute the desired Git commands; + # - Save the obtained info into files; + # - Remove `.git` afterwards. + # + deepClone = true; + postFetch = '' + cd $out + mkdir -p .nixpkgs-auxfiles/ + git rev-parse HEAD > .nixpkgs-auxfiles/git_hash + git rev-parse --abbrev-ref HEAD | tr -d '\r\n' > .nixpkgs-auxfiles/git_branch + git describe --dirty | tr -d '\r\n' > .nixpkgs-auxfiles/git_tag + git log -1 --date=iso8601-strict --format=%cd > .nixpkgs-auxfiles/git_date + find $out -name .git -print0 | xargs -0 rm -fr + ''; + hash = "sha256-HETo7mChBASnr5prPUWcOhS4TIESFdrs1haEXQpnuzs="; + }; }; - }; - in + in self; - shaderc-patched = shaderc.overrideAttrs (old: let - version = "2024.0"; - src = fetchFromGitHub { - owner = "google"; - repo = "shaderc"; - rev = "v${version}"; - hash = "sha256-Cwp7WbaKWw/wL9m70wfYu47xoUGQW+QGeoYhbyyzstQ="; - }; - in + shaderc-patched = shaderc.overrideAttrs ( + old: + let + version = "2024.0"; + src = fetchFromGitHub { + owner = "google"; + repo = "shaderc"; + rev = "v${version}"; + hash = "sha256-Cwp7WbaKWw/wL9m70wfYu47xoUGQW+QGeoYhbyyzstQ="; + }; + in { pname = "shaderc-patched-for-duckstation"; inherit version src; diff --git a/pkgs/by-name/du/duf/package.nix b/pkgs/by-name/du/duf/package.nix index 0fb2846297d73..dce3c1588834d 100644 --- a/pkgs/by-name/du/duf/package.nix +++ b/pkgs/by-name/du/duf/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: buildGoModule rec { pname = "duf"; @@ -13,7 +18,11 @@ buildGoModule rec { vendorHash = "sha256-oihi7E67VQmym9U1gdD802AYxWRrSowhzBiKg0CBDPc="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; nativeBuildInputs = [ installShellFiles ]; @@ -25,7 +34,11 @@ buildGoModule rec { homepage = "https://github.com/muesli/duf/"; description = "Disk Usage/Free Utility"; license = licenses.mit; - maintainers = with maintainers; [ figsoda penguwin sigmasquadron ]; + maintainers = with maintainers; [ + figsoda + penguwin + sigmasquadron + ]; mainProgram = "duf"; }; } diff --git a/pkgs/by-name/du/dufs/package.nix b/pkgs/by-name/du/dufs/package.nix index d863342e1aa54..27809dd4b8257 100644 --- a/pkgs/by-name/du/dufs/package.nix +++ b/pkgs/by-name/du/dufs/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -45,7 +46,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "dufs"; homepage = "https://github.com/sigoden/dufs"; changelog = "https://github.com/sigoden/dufs/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda holymonson ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + holymonson + ]; }; } diff --git a/pkgs/by-name/du/duktape/package.nix b/pkgs/by-name/du/duktape/package.nix index 8e33a5013ff54..c285f44a5e4ad 100644 --- a/pkgs/by-name/du/duktape/package.nix +++ b/pkgs/by-name/du/duktape/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fixDarwinDylibNames, validatePkgConfig }: +{ + lib, + stdenv, + fetchurl, + fixDarwinDylibNames, + validatePkgConfig, +}: stdenv.mkDerivation (finalAttrs: { pname = "duktape"; @@ -11,8 +17,9 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/svaarala/duktape/issues/2464 LDFLAGS = [ "-lm" ]; - nativeBuildInputs = [ validatePkgConfig ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; + nativeBuildInputs = [ + validatePkgConfig + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; buildPhase = '' make -f Makefile.sharedlibrary diff --git a/pkgs/by-name/du/dum/package.nix b/pkgs/by-name/du/dum/package.nix index 201c81f3fd6ca..d369fd571dd2a 100644 --- a/pkgs/by-name/du/dum/package.nix +++ b/pkgs/by-name/du/dum/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "dum"; diff --git a/pkgs/by-name/du/dumb-init/package.nix b/pkgs/by-name/du/dumb-init/package.nix index 207400aaca0bc..d9f1513daf024 100644 --- a/pkgs/by-name/du/dumb-init/package.nix +++ b/pkgs/by-name/du/dumb-init/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, glibc }: +{ + lib, + stdenv, + fetchFromGitHub, + glibc, +}: stdenv.mkDerivation rec { pname = "dumb-init"; diff --git a/pkgs/by-name/du/dumb/package.nix b/pkgs/by-name/du/dumb/package.nix index f80dea534a67a..48d25f2601fdd 100644 --- a/pkgs/by-name/du/dumb/package.nix +++ b/pkgs/by-name/du/dumb/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, cmake, allegro, SDL2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + allegro, + SDL2, +}: stdenv.mkDerivation rec { pname = "dumb"; version = "2.0.3"; nativeBuildInputs = [ cmake ]; - buildInputs = [ allegro SDL2 ]; + buildInputs = [ + allegro + SDL2 + ]; src = fetchFromGitHub { owner = "kode54"; @@ -21,7 +31,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/kode54/dumb"; description = "Module/tracker based music format parser and player library"; - license = licenses.free; # Derivative of GPL + license = licenses.free; # Derivative of GPL maintainers = with maintainers; [ Madouura ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/du/dumbpipe/package.nix b/pkgs/by-name/du/dumbpipe/package.nix index 2f5d7a87349c8..f5c1c4adff357 100644 --- a/pkgs/by-name/du/dumbpipe/package.nix +++ b/pkgs/by-name/du/dumbpipe/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,8 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-bQSJ3vbkFVk/9tA+7VD4o303+iF7pmQoZsrrfw/X3TY="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; [ + with darwin.apple_sdk.frameworks; + [ SystemConfiguration ] ); @@ -27,7 +29,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Connect A to B - Send Data"; homepage = "https://www.dumbpipe.dev/"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ cameronfyfe ]; mainProgram = "dumbpipe"; }; diff --git a/pkgs/by-name/du/dummyhttp/package.nix b/pkgs/by-name/du/dummyhttp/package.nix index 59ca3d3344a01..fc394a85fca10 100644 --- a/pkgs/by-name/du/dummyhttp/package.nix +++ b/pkgs/by-name/du/dummyhttp/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, darwin -, stdenv +{ + lib, + fetchFromGitHub, + rustPlatform, + darwin, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -30,4 +31,3 @@ rustPlatform.buildRustPackage rec { mainProgram = "dummyhttp"; }; } - diff --git a/pkgs/by-name/du/dump1090/package.nix b/pkgs/by-name/du/dump1090/package.nix index c34e18be8696f..ce4746f8ec75f 100644 --- a/pkgs/by-name/du/dump1090/package.nix +++ b/pkgs/by-name/du/dump1090/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, hackrf -, libbladeRF -, libusb1 -, limesuite -, ncurses -, rtl-sdr -, soapysdr-with-plugins +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + hackrf, + libbladeRF, + libusb1, + limesuite, + ncurses, + rtl-sdr, + soapysdr-with-plugins, }: stdenv.mkDerivation rec { @@ -32,10 +34,14 @@ stdenv.mkDerivation rec { soapysdr-with-plugins ] ++ lib.optional stdenv.hostPlatform.isLinux limesuite; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang - "-Wno-implicit-function-declaration -Wno-int-conversion -Wno-unknown-warning-option"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-implicit-function-declaration -Wno-int-conversion -Wno-unknown-warning-option"; - buildFlags = [ "DUMP1090_VERSION=${version}" "showconfig" "dump1090" "view1090" ]; + buildFlags = [ + "DUMP1090_VERSION=${version}" + "showconfig" + "dump1090" + "view1090" + ]; doCheck = true; diff --git a/pkgs/by-name/du/dumpasn1/package.nix b/pkgs/by-name/du/dumpasn1/package.nix index 030d73a447be9..e3314ff389fcc 100644 --- a/pkgs/by-name/du/dumpasn1/package.nix +++ b/pkgs/by-name/du/dumpasn1/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { pname = "dumpasn1"; diff --git a/pkgs/by-name/du/dumpnar/package.nix b/pkgs/by-name/du/dumpnar/package.nix index 77ce4649b3993..9206ae22c9563 100644 --- a/pkgs/by-name/du/dumpnar/package.nix +++ b/pkgs/by-name/du/dumpnar/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dumpnar"; diff --git a/pkgs/by-name/du/dumptorrent/package.nix b/pkgs/by-name/du/dumptorrent/package.nix index c80a696f8cba1..244e79109a3fc 100644 --- a/pkgs/by-name/du/dumptorrent/package.nix +++ b/pkgs/by-name/du/dumptorrent/package.nix @@ -1,30 +1,34 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { - pname = "dumptorrent"; - version = "1.2"; + pname = "dumptorrent"; + version = "1.2"; - src = fetchurl { - url = "mirror://sourceforge/dumptorrent/dumptorrent-${version}.tar.gz"; - sha256 = "073h03bmpfdy15qh37lvppayld2747i4acpyk0pm5nf2raiak0zm"; - }; + src = fetchurl { + url = "mirror://sourceforge/dumptorrent/dumptorrent-${version}.tar.gz"; + sha256 = "073h03bmpfdy15qh37lvppayld2747i4acpyk0pm5nf2raiak0zm"; + }; - postPatch = '' - substituteInPlace Makefile \ - --replace "gcc" "$CC" - ''; + postPatch = '' + substituteInPlace Makefile \ + --replace "gcc" "$CC" + ''; - installPhase = '' - mkdir -p $out/bin - cp ./dumptorrent $out/bin - ''; + installPhase = '' + mkdir -p $out/bin + cp ./dumptorrent $out/bin + ''; - meta = with lib; { - description = "Dump .torrent file information"; - homepage = "https://sourceforge.net/projects/dumptorrent/"; - license = licenses.gpl2Only; - maintainers = [ maintainers.zohl ]; - platforms = platforms.all; - mainProgram = "dumptorrent"; - }; + meta = with lib; { + description = "Dump .torrent file information"; + homepage = "https://sourceforge.net/projects/dumptorrent/"; + license = licenses.gpl2Only; + maintainers = [ maintainers.zohl ]; + platforms = platforms.all; + mainProgram = "dumptorrent"; + }; } diff --git a/pkgs/by-name/du/dune3d/package.nix b/pkgs/by-name/du/dune3d/package.nix index 01d3d45a78175..bf5c4a64dacb1 100644 --- a/pkgs/by-name/du/dune3d/package.nix +++ b/pkgs/by-name/du/dune3d/package.nix @@ -68,7 +68,10 @@ stdenv'.mkDerivation (finalAttrs: { description = "3D CAD application"; homepage = "https://dune3d.org"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ _0x4A6F jue89 ]; + maintainers = with lib.maintainers; [ + _0x4A6F + jue89 + ]; mainProgram = "dune3d"; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; diff --git a/pkgs/by-name/du/dupd/package.nix b/pkgs/by-name/du/dupd/package.nix index cf5ab77e7d470..71cd9e53c1943 100644 --- a/pkgs/by-name/du/dupd/package.nix +++ b/pkgs/by-name/du/dupd/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, perl, which -, openssl, sqlite }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + which, + openssl, + sqlite, +}: # Instead of writing directly into $HOME, we change the default db location # from $HOME/.dupd_sqlite to $HOME/.cache/dupd.sqlite3 @@ -10,8 +17,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "jvirkki"; - repo = "dupd"; - rev = version; + repo = "dupd"; + rev = version; sha256 = "sha256-ZiQroJ5fjBCIjU+M8KRA0N3Mrg9h0NVtfYUIS4cYyhw="; }; @@ -28,9 +35,15 @@ stdenv.mkDerivation rec { done ''; - buildInputs = [ openssl sqlite ]; + buildInputs = [ + openssl + sqlite + ]; - nativeBuildInputs = [ perl which ]; + nativeBuildInputs = [ + perl + which + ]; makeFlags = [ "INSTALL_PREFIX=$(out)" diff --git a/pkgs/by-name/du/dupe-krill/package.nix b/pkgs/by-name/du/dupe-krill/package.nix index be0b3cc5ff37f..1f9b2349ada17 100644 --- a/pkgs/by-name/du/dupe-krill/package.nix +++ b/pkgs/by-name/du/dupe-krill/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "dupe-krill"; diff --git a/pkgs/by-name/du/duperemove/package.nix b/pkgs/by-name/du/duperemove/package.nix index 66a3fac4a10a8..46a5522d597df 100644 --- a/pkgs/by-name/du/duperemove/package.nix +++ b/pkgs/by-name/du/duperemove/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, libgcrypt -, pkg-config -, glib -, linuxHeaders ? stdenv.cc.libc.linuxHeaders -, sqlite -, util-linux -, testers -, duperemove +{ + lib, + stdenv, + fetchFromGitHub, + libgcrypt, + pkg-config, + glib, + linuxHeaders ? stdenv.cc.libc.linuxHeaders, + sqlite, + util-linux, + testers, + duperemove, }: stdenv.mkDerivation rec { @@ -28,7 +29,13 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libgcrypt glib linuxHeaders sqlite util-linux ]; + buildInputs = [ + libgcrypt + glib + linuxHeaders + sqlite + util-linux + ]; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -45,7 +52,10 @@ stdenv.mkDerivation rec { description = "Simple tool for finding duplicated extents and submitting them for deduplication"; homepage = "https://github.com/markfasheh/duperemove"; license = licenses.gpl2Only; - maintainers = with maintainers; [ bluescreen303 thoughtpolice ]; + maintainers = with maintainers; [ + bluescreen303 + thoughtpolice + ]; platforms = platforms.linux; mainProgram = "duperemove"; }; diff --git a/pkgs/by-name/du/duplicacy/package.nix b/pkgs/by-name/du/duplicacy/package.nix index a8503ac84b6fa..d1a4ea570da76 100644 --- a/pkgs/by-name/du/duplicacy/package.nix +++ b/pkgs/by-name/du/duplicacy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "duplicacy"; @@ -20,6 +24,9 @@ buildGoModule rec { description = "New generation cloud backup tool"; platforms = platforms.linux ++ platforms.darwin; license = lib.licenses.unfree; - maintainers = with maintainers; [ ffinkdevs devusb ]; + maintainers = with maintainers; [ + ffinkdevs + devusb + ]; }; } diff --git a/pkgs/by-name/du/duplicati/package.nix b/pkgs/by-name/du/duplicati/package.nix index d818b7c5b537f..83b32d450dd64 100644 --- a/pkgs/by-name/du/duplicati/package.nix +++ b/pkgs/by-name/du/duplicati/package.nix @@ -44,7 +44,10 @@ stdenv.mkDerivation rec { description = "Free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers"; homepage = "https://www.duplicati.com/"; license = licenses.lgpl21; - maintainers = with maintainers; [ nyanloutre bot-wxt1221 ]; + maintainers = with maintainers; [ + nyanloutre + bot-wxt1221 + ]; sourceProvenance = with sourceTypes; [ binaryBytecode ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/du/duplicity/package.nix b/pkgs/by-name/du/duplicity/package.nix index ca30df472e408..fcb24859fea2f 100644 --- a/pkgs/by-name/du/duplicity/package.nix +++ b/pkgs/by-name/du/duplicity/package.nix @@ -1,158 +1,179 @@ -{ lib -, stdenv -, fetchFromGitLab -, python3 -, librsync -, glib -, ncftp -, gnupg -, gnutar -, par2cmdline -, util-linux -, rsync -, makeWrapper -, wrapGAppsNoGuiHook -, gettext -, getconf -, testers -, nix-update-script +{ + lib, + stdenv, + fetchFromGitLab, + python3, + librsync, + glib, + ncftp, + gnupg, + gnutar, + par2cmdline, + util-linux, + rsync, + makeWrapper, + wrapGAppsNoGuiHook, + gettext, + getconf, + testers, + nix-update-script, }: -let self = python3.pkgs.buildPythonApplication rec { - pname = "duplicity"; - version = "3.0.3.1"; +let + self = python3.pkgs.buildPythonApplication rec { + pname = "duplicity"; + version = "3.0.3.1"; - src = fetchFromGitLab { - owner = "duplicity"; - repo = "duplicity"; - rev = "rel.${version}"; - hash = "sha256-s8yPmuGivvmqAKsdaGouP/UoK6Ea27HjvSm39eQuKF0="; - }; - - patches = [ - ./keep-pythonpath-in-testing.patch - ]; - - postPatch = '' - patchShebangs duplicity/__main__.py - - # don't try to use gtar on darwin/bsd - substituteInPlace testing/functional/test_restart.py \ - --replace-fail 'tarcmd = "gtar"' 'tarcmd = "tar"' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # tests try to access these files in the sandbox, but can't deal with EPERM - substituteInPlace testing/unit/test_globmatch.py \ - --replace-fail /var/log /test/log - substituteInPlace testing/unit/test_selection.py \ - --replace-fail /usr/bin /dev - # don't use /tmp/ in tests - substituteInPlace duplicity/backends/_testbackend.py \ - --replace-fail '"/tmp/' 'os.environ.get("TMPDIR")+"/' - ''; - - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ - # uses /tmp/ - "testing/unit/test_cli_main.py::CommandlineTest::test_intermixed_args" - ]; - - nativeBuildInputs = [ - makeWrapper - gettext - python3.pkgs.wrapPython - wrapGAppsNoGuiHook - python3.pkgs.setuptools-scm - ]; - - buildInputs = [ - librsync - # For Gio typelib - glib - ]; - - pythonPath = with python3.pkgs; [ - b2sdk - boto3 - cffi - cryptography - ecdsa - idna - pygobject3 - fasteners - lockfile - paramiko - pyasn1 - pycrypto - pydrive2 - future - ] ++ paramiko.optional-dependencies.invoke; - - nativeCheckInputs = [ - gnupg # Add 'gpg' to PATH. - gnutar # Add 'tar' to PATH. - librsync # Add 'rdiff' to PATH. - par2cmdline # Add 'par2' to PATH. - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - util-linux # Add 'setsid' to PATH. - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - getconf - ] ++ (with python3.pkgs; [ - lockfile - mock - pexpect - pytestCheckHook - fasteners - ]); - - # Prevent double wrapping, let the Python wrapper use the args in preFixup. - dontWrapGApps = true; - - preFixup = let - binPath = lib.makeBinPath ([ - gnupg - ncftp - rsync - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - getconf - ]); in '' - makeWrapperArgsBak=("''${makeWrapperArgs[@]}") - makeWrapperArgs+=( - "''${gappsWrapperArgs[@]}" - --prefix PATH : "${binPath}" - ) - ''; - - postFixup = '' - # Restore previous value for tests wrapping in preInstallCheck - makeWrapperArgs=("''${makeWrapperArgsBak[@]}") - ''; - - preCheck = '' - # tests need writable $HOME - HOME=$PWD/.home - - wrapPythonProgramsIn "$PWD/testing/overrides/bin" "$pythonPath" - ''; - - doCheck = true; - - passthru = { - updateScript = nix-update-script { - extraArgs = [ "--version-regex" "rel\.(.*)" ]; + src = fetchFromGitLab { + owner = "duplicity"; + repo = "duplicity"; + rev = "rel.${version}"; + hash = "sha256-s8yPmuGivvmqAKsdaGouP/UoK6Ea27HjvSm39eQuKF0="; }; - tests.version = testers.testVersion { - package = self; + patches = [ + ./keep-pythonpath-in-testing.patch + ]; + + postPatch = + '' + patchShebangs duplicity/__main__.py + + # don't try to use gtar on darwin/bsd + substituteInPlace testing/functional/test_restart.py \ + --replace-fail 'tarcmd = "gtar"' 'tarcmd = "tar"' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # tests try to access these files in the sandbox, but can't deal with EPERM + substituteInPlace testing/unit/test_globmatch.py \ + --replace-fail /var/log /test/log + substituteInPlace testing/unit/test_selection.py \ + --replace-fail /usr/bin /dev + # don't use /tmp/ in tests + substituteInPlace duplicity/backends/_testbackend.py \ + --replace-fail '"/tmp/' 'os.environ.get("TMPDIR")+"/' + ''; + + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + # uses /tmp/ + "testing/unit/test_cli_main.py::CommandlineTest::test_intermixed_args" + ]; + + nativeBuildInputs = [ + makeWrapper + gettext + python3.pkgs.wrapPython + wrapGAppsNoGuiHook + python3.pkgs.setuptools-scm + ]; + + buildInputs = [ + librsync + # For Gio typelib + glib + ]; + + pythonPath = + with python3.pkgs; + [ + b2sdk + boto3 + cffi + cryptography + ecdsa + idna + pygobject3 + fasteners + lockfile + paramiko + pyasn1 + pycrypto + pydrive2 + future + ] + ++ paramiko.optional-dependencies.invoke; + + nativeCheckInputs = + [ + gnupg # Add 'gpg' to PATH. + gnutar # Add 'tar' to PATH. + librsync # Add 'rdiff' to PATH. + par2cmdline # Add 'par2' to PATH. + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + util-linux # Add 'setsid' to PATH. + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + getconf + ] + ++ (with python3.pkgs; [ + lockfile + mock + pexpect + pytestCheckHook + fasteners + ]); + + # Prevent double wrapping, let the Python wrapper use the args in preFixup. + dontWrapGApps = true; + + preFixup = + let + binPath = lib.makeBinPath ( + [ + gnupg + ncftp + rsync + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + getconf + ] + ); + in + '' + makeWrapperArgsBak=("''${makeWrapperArgs[@]}") + makeWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --prefix PATH : "${binPath}" + ) + ''; + + postFixup = '' + # Restore previous value for tests wrapping in preInstallCheck + makeWrapperArgs=("''${makeWrapperArgsBak[@]}") + ''; + + preCheck = '' + # tests need writable $HOME + HOME=$PWD/.home + + wrapPythonProgramsIn "$PWD/testing/overrides/bin" "$pythonPath" + ''; + + doCheck = true; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "rel\.(.*)" + ]; + }; + + tests.version = testers.testVersion { + package = self; + }; }; - }; - meta = with lib; { - changelog = "https://gitlab.com/duplicity/duplicity/-/blob/${src.rev}/CHANGELOG.md"; - description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; - homepage = "https://duplicity.gitlab.io/duplicity-web/"; - license = licenses.gpl2Plus; - mainProgram = "duplicity"; - maintainers = with maintainers; [ corngood ]; + meta = with lib; { + changelog = "https://gitlab.com/duplicity/duplicity/-/blob/${src.rev}/CHANGELOG.md"; + description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; + homepage = "https://duplicity.gitlab.io/duplicity-web/"; + license = licenses.gpl2Plus; + mainProgram = "duplicity"; + maintainers = with maintainers; [ corngood ]; + }; }; -}; -in self +in +self diff --git a/pkgs/by-name/du/duply/package.nix b/pkgs/by-name/du/duply/package.nix index 77da73a412bb8..c963bc589be8b 100644 --- a/pkgs/by-name/du/duply/package.nix +++ b/pkgs/by-name/du/duply/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, coreutils, python3, duplicity, gawk, gnupg, bash -, gnugrep, txt2man, makeWrapper, which +{ + lib, + stdenv, + fetchurl, + coreutils, + python3, + duplicity, + gawk, + gnupg, + bash, + gnugrep, + txt2man, + makeWrapper, + which, }: stdenv.mkDerivation rec { @@ -21,7 +33,17 @@ stdenv.mkDerivation rec { mkdir -p "$out/share/man/man1" install -vD duply "$out/bin" wrapProgram "$out/bin/duply" --prefix PATH : \ - ${lib.makeBinPath [ coreutils python3 duplicity gawk gnupg bash gnugrep txt2man which ]} + ${lib.makeBinPath [ + coreutils + python3 + duplicity + gawk + gnupg + bash + gnugrep + txt2man + which + ]} "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1" ''; diff --git a/pkgs/by-name/du/dust/package.nix b/pkgs/by-name/du/dust/package.nix index 6721942945e5c..b7ce82c4995d4 100644 --- a/pkgs/by-name/du/dust/package.nix +++ b/pkgs/by-name/du/dust/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform, apple-sdk_11, installShellFiles }: +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + apple-sdk_11, + installShellFiles, +}: rustPlatform.buildRustPackage rec { # Originally, this package was under the attribute `du-dust`, since `dust` was taken. diff --git a/pkgs/by-name/du/dutree/package.nix b/pkgs/by-name/du/dutree/package.nix index 421af51aef514..741a579a1283d 100644 --- a/pkgs/by-name/du/dutree/package.nix +++ b/pkgs/by-name/du/dutree/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "dutree"; diff --git a/pkgs/by-name/dv/dvb-apps/package.nix b/pkgs/by-name/dv/dvb-apps/package.nix index ad28bcd0ce6ed..43b4f13c7d86e 100644 --- a/pkgs/by-name/dv/dvb-apps/package.nix +++ b/pkgs/by-name/dv/dvb-apps/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, perl -, fetchpatch +{ + lib, + stdenv, + fetchurl, + perl, + fetchpatch, }: stdenv.mkDerivation { pname = "dvb-apps"; diff --git a/pkgs/by-name/dv/dvd-slideshow/package.nix b/pkgs/by-name/dv/dvd-slideshow/package.nix index 6499b6153c8da..619fda4543933 100644 --- a/pkgs/by-name/dv/dvd-slideshow/package.nix +++ b/pkgs/by-name/dv/dvd-slideshow/package.nix @@ -1,33 +1,59 @@ -{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools, runtimeShell }: +{ + stdenv, + lib, + fetchurl, + writeScript, + cdrtools, + dvdauthor, + ffmpeg, + imagemagick, + lame, + mjpegtools, + sox, + transcode, + vorbis-tools, + runtimeShell, +}: let - binPath = lib.makeBinPath [ cdrtools dvdauthor ffmpeg imagemagick lame mjpegtools sox transcode vorbis-tools ]; + binPath = lib.makeBinPath [ + cdrtools + dvdauthor + ffmpeg + imagemagick + lame + mjpegtools + sox + transcode + vorbis-tools + ]; wrapper = writeScript "dvd-slideshow.sh" '' - #!${runtimeShell} - # wrapper script for dvd-slideshow programs - export PATH=${binPath}:$PATH + #!${runtimeShell} + # wrapper script for dvd-slideshow programs + export PATH=${binPath}:$PATH - dir=`dirname "$0"` - exe=`basename "$0"` - case "$exe" in - dvd-slideshow) - # use mpeg2enc by default as ffmpeg is known to crash. - # run dvd-slideshow.ffmpeg to force ffmpeg. - "$dir/dvd-slideshow.real" -mpeg2enc $@ - ;; + dir=`dirname "$0"` + exe=`basename "$0"` + case "$exe" in + dvd-slideshow) + # use mpeg2enc by default as ffmpeg is known to crash. + # run dvd-slideshow.ffmpeg to force ffmpeg. + "$dir/dvd-slideshow.real" -mpeg2enc $@ + ;; - dvd-slideshow.ffmpeg) - "$dir/dvd-slideshow.real" $@ - ;; + dvd-slideshow.ffmpeg) + "$dir/dvd-slideshow.real" $@ + ;; - *) - "$dir/$exe.real" $@ - ;; - esac - ''; + *) + "$dir/$exe.real" $@ + ;; + esac + ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dvd-slideshow"; version = "0.8.4-2"; diff --git a/pkgs/by-name/dv/dvd-vr/package.nix b/pkgs/by-name/dv/dvd-vr/package.nix index cd207ec6ec6ed..3a807f009d2df 100644 --- a/pkgs/by-name/dv/dvd-vr/package.nix +++ b/pkgs/by-name/dv/dvd-vr/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation (finalAttrs: { pname = "dvd-vr"; @@ -17,5 +21,4 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ fgaz ]; mainProgram = "dvd-vr"; }; -} -) +}) diff --git a/pkgs/by-name/dv/dvdauthor/package.nix b/pkgs/by-name/dv/dvdauthor/package.nix index 721368ae390ae..2f5f423342b0a 100644 --- a/pkgs/by-name/dv/dvdauthor/package.nix +++ b/pkgs/by-name/dv/dvdauthor/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, libdvdread -, libxml2 -, freetype -, fribidi -, libpng -, zlib -, pkg-config -, flex -, bison +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + libdvdread, + libxml2, + freetype, + fribidi, + libpng, + zlib, + pkg-config, + flex, + bison, }: stdenv.mkDerivation rec { @@ -22,7 +23,16 @@ stdenv.mkDerivation rec { hash = "sha256-MCCpLen3jrNvSLbyLVoAHEcQeCZjSnhaYt/NCA9hLrc="; }; - buildInputs = [ libpng freetype libdvdread libxml2 zlib fribidi flex bison ]; + buildInputs = [ + libpng + freetype + libdvdread + libxml2 + zlib + fribidi + flex + bison + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/dv/dvdbackup/package.nix b/pkgs/by-name/dv/dvdbackup/package.nix index 5e791da598a7f..690b793b5123d 100644 --- a/pkgs/by-name/dv/dvdbackup/package.nix +++ b/pkgs/by-name/dv/dvdbackup/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, libdvdread, libdvdcss, dvdauthor }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libdvdread, + libdvdcss, + dvdauthor, +}: stdenv.mkDerivation rec { version = "0.4.2"; @@ -9,14 +17,20 @@ stdenv.mkDerivation rec { sha256 = "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g"; }; - buildInputs = [ libdvdread libdvdcss dvdauthor ]; + buildInputs = [ + libdvdread + libdvdcss + dvdauthor + ]; # see https://bugs.launchpad.net/dvdbackup/+bug/1869226 patchFlags = [ "-p0" ]; - patches = [ (fetchpatch { - url = "https://git.slackbuilds.org/slackbuilds/plain/multimedia/dvdbackup/patches/dvdbackup-dvdread-6.1.patch"; - sha256 = "1v3xl01bwq1592i5x5dyh95r0mmm1zvvwf92fgjc0smr0k3davfz"; - })]; + patches = [ + (fetchpatch { + url = "https://git.slackbuilds.org/slackbuilds/plain/multimedia/dvdbackup/patches/dvdbackup-dvdread-6.1.patch"; + sha256 = "1v3xl01bwq1592i5x5dyh95r0mmm1zvvwf92fgjc0smr0k3davfz"; + }) + ]; meta = { description = "Tool to rip video DVDs from the command line"; diff --git a/pkgs/by-name/dv/dvdisaster/package.nix b/pkgs/by-name/dv/dvdisaster/package.nix index cb448ef157e14..c5e2921ce507e 100644 --- a/pkgs/by-name/dv/dvdisaster/package.nix +++ b/pkgs/by-name/dv/dvdisaster/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, gettext -, pkg-config -, which -, glib -, gtk2 -, enableSoftening ? true +{ + lib, + stdenv, + fetchurl, + gettext, + pkg-config, + which, + glib, + gtk2, + enableSoftening ? true, }: stdenv.mkDerivation rec { @@ -18,8 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-3Qqf9i8aSL9z2uJvm8P/QOPp83nODC3fyLL1iBIgf+g="; }; - nativeBuildInputs = [ gettext pkg-config which ]; - buildInputs = [ glib gtk2 ]; + nativeBuildInputs = [ + gettext + pkg-config + which + ]; + buildInputs = [ + glib + gtk2 + ]; patches = lib.optionals enableSoftening [ ./encryption.patch diff --git a/pkgs/by-name/dv/dvdplusrwtools/package.nix b/pkgs/by-name/dv/dvdplusrwtools/package.nix index 5b0287efed81c..e16f95fe74127 100644 --- a/pkgs/by-name/dv/dvdplusrwtools/package.nix +++ b/pkgs/by-name/dv/dvdplusrwtools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, cdrtools, m4, darwin }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cdrtools, + m4, + darwin, +}: let inherit (darwin.apple_sdk.frameworks) IOKit; @@ -12,27 +20,63 @@ stdenv.mkDerivation rec { sha256 = "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq"; }; - patches = [ ./darwin.patch ] - # Patches from Gentoo - ++ builtins.map ({pfile, sha256}: fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-cdr/dvd+rw-tools/files/${pfile}?id=b510df361241e8f16314b1f14642305f0111dac6"; - inherit sha256; - }) - [{ pfile = "dvd+rw-tools-7.0-dvddl-r1.patch"; sha256 = "12l33jq6405shfwdycrj52qmd07h5bsp1vjaddknfri456azjny5"; } - { pfile = "dvd+rw-tools-7.0-glibc2.6.90.patch"; sha256 = "1fb3gap2in782pa4164h1w0ha8ggsq3inissa1k0zn2p2r3rb5ln"; } - { pfile = "dvd+rw-tools-7.0-reload.patch"; sha256 = "12v2y2y6ci5hh6lbmsk97dzgznrm4bxwhc81mq684ix0qspb9mq4"; } - { pfile = "dvd+rw-tools-7.0-sysmacros.patch"; sha256 = "1rkb26cyhfxklkmna3l9b4797f6gzlxyqqin44jwnq3jmwfrs6v0"; } - { pfile = "dvd+rw-tools-7.0-wctomb-r1.patch"; sha256 = "1xg770l0b4bjn30y7nqg619v4m5ickcn2n8hv9k2an6r191daq58"; } - { pfile = "dvd+rw-tools-7.0-wexit.patch"; sha256 = "0sqzlkm19fmjx4lzxkxwn2ymrj9fq0zk0jkys3xm6xvd2ibb6kxl"; } - { pfile = "dvd+rw-tools-7.1-bluray_pow_freespace.patch"; sha256 = "0iscz8fs5002ymk6wl2fz4x06b7bdnc57rfz8kbv3216acqi5rv3"; } - { pfile = "dvd+rw-tools-7.1-bluray_srm+pow.patch"; sha256 = "0sy40m12w987i6g0cyxv8cfmab4vp7cd222lv05apknfi2y7smmw"; } - { pfile = "dvd+rw-tools-7.1-lastshort.patch"; sha256 = "01wspv70sil20khkg5kj086b1x8rrig4yhcq9s88bdjd42nv0vpx"; } - { pfile = "dvd+rw-tools-7.1-noevent.patch"; sha256 = "1kbmxpg15wci33f2h6pxxvf3qm0kpyzx9wj5a3l67sk34hvza3z6"; } - ]; + patches = + [ ./darwin.patch ] + # Patches from Gentoo + ++ + builtins.map + ( + { pfile, sha256 }: + fetchpatch { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-cdr/dvd+rw-tools/files/${pfile}?id=b510df361241e8f16314b1f14642305f0111dac6"; + inherit sha256; + } + ) + [ + { + pfile = "dvd+rw-tools-7.0-dvddl-r1.patch"; + sha256 = "12l33jq6405shfwdycrj52qmd07h5bsp1vjaddknfri456azjny5"; + } + { + pfile = "dvd+rw-tools-7.0-glibc2.6.90.patch"; + sha256 = "1fb3gap2in782pa4164h1w0ha8ggsq3inissa1k0zn2p2r3rb5ln"; + } + { + pfile = "dvd+rw-tools-7.0-reload.patch"; + sha256 = "12v2y2y6ci5hh6lbmsk97dzgznrm4bxwhc81mq684ix0qspb9mq4"; + } + { + pfile = "dvd+rw-tools-7.0-sysmacros.patch"; + sha256 = "1rkb26cyhfxklkmna3l9b4797f6gzlxyqqin44jwnq3jmwfrs6v0"; + } + { + pfile = "dvd+rw-tools-7.0-wctomb-r1.patch"; + sha256 = "1xg770l0b4bjn30y7nqg619v4m5ickcn2n8hv9k2an6r191daq58"; + } + { + pfile = "dvd+rw-tools-7.0-wexit.patch"; + sha256 = "0sqzlkm19fmjx4lzxkxwn2ymrj9fq0zk0jkys3xm6xvd2ibb6kxl"; + } + { + pfile = "dvd+rw-tools-7.1-bluray_pow_freespace.patch"; + sha256 = "0iscz8fs5002ymk6wl2fz4x06b7bdnc57rfz8kbv3216acqi5rv3"; + } + { + pfile = "dvd+rw-tools-7.1-bluray_srm+pow.patch"; + sha256 = "0sy40m12w987i6g0cyxv8cfmab4vp7cd222lv05apknfi2y7smmw"; + } + { + pfile = "dvd+rw-tools-7.1-lastshort.patch"; + sha256 = "01wspv70sil20khkg5kj086b1x8rrig4yhcq9s88bdjd42nv0vpx"; + } + { + pfile = "dvd+rw-tools-7.1-noevent.patch"; + sha256 = "1kbmxpg15wci33f2h6pxxvf3qm0kpyzx9wj5a3l67sk34hvza3z6"; + } + ]; nativeBuildInputs = [ m4 ]; - buildInputs = [ cdrtools ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ]; + buildInputs = [ cdrtools ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ]; makeFlags = [ "prefix=${placeholder "out"}" @@ -40,17 +84,22 @@ stdenv.mkDerivation rec { "CXX=${stdenv.cc.targetPrefix}c++" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - # error: invalid suffix on literal; C++11 requires a space between literal and identifier - "-Wno-reserved-user-defined-literal" - # error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'IOByteCount' (aka 'unsigned int') in initializer list - "-Wno-c++11-narrowing" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + # error: invalid suffix on literal; C++11 requires a space between literal and identifier + "-Wno-reserved-user-defined-literal" + # error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'IOByteCount' (aka 'unsigned int') in initializer list + "-Wno-c++11-narrowing" + ] + ); meta = with lib; { homepage = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools"; description = "Tools for mastering Blu-ray and DVD+-RW/+-R media"; platforms = platforms.unix; - license = with licenses; [ gpl2Only publicDomain ]; + license = with licenses; [ + gpl2Only + publicDomain + ]; }; } diff --git a/pkgs/by-name/dv/dvdstyler/package.nix b/pkgs/by-name/dv/dvdstyler/package.nix index 55c2c271980de..c882ff1050864 100644 --- a/pkgs/by-name/dv/dvdstyler/package.nix +++ b/pkgs/by-name/dv/dvdstyler/package.nix @@ -1,36 +1,41 @@ -{ lib -, stdenv -, fetchurl -, bison -, cdrtools -, docbook_xml_dtd_412 -, docbook-xsl-nons -, dvdauthor -, dvdplusrwtools -, ffmpeg -, flex -, fontconfig -, gettext -, glib -, gobject-introspection -, libexif -, libjpeg -, pkg-config -, wrapGAppsHook3 -, wxGTK32 -, wxSVG -, xine-ui -, xmlto -, zip +{ + lib, + stdenv, + fetchurl, + bison, + cdrtools, + docbook_xml_dtd_412, + docbook-xsl-nons, + dvdauthor, + dvdplusrwtools, + ffmpeg, + flex, + fontconfig, + gettext, + glib, + gobject-introspection, + libexif, + libjpeg, + pkg-config, + wrapGAppsHook3, + wxGTK32, + wxSVG, + xine-ui, + xmlto, + zip, -, dvdisasterSupport ? true, dvdisaster ? null -, udevSupport ? true, udev ? null -, dbusSupport ? true, dbus ? null + dvdisasterSupport ? true, + dvdisaster ? null, + udevSupport ? true, + udev ? null, + dbusSupport ? true, + dbus ? null, }: let inherit (lib) optionals makeBinPath; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "dvdstyler"; version = "3.3b4"; @@ -51,38 +56,42 @@ in stdenv.mkDerivation rec { xmlto zip ]; - buildInputs = [ - cdrtools - dvdauthor - dvdplusrwtools - ffmpeg - fontconfig - glib - libexif - libjpeg - wxSVG - wxGTK32 - xine-ui - ] - ++ optionals dvdisasterSupport [ dvdisaster ] - ++ optionals udevSupport [ udev ] - ++ optionals dbusSupport [ dbus ]; - - enableParallelBuilding = true; - - preFixup = let - binPath = makeBinPath ([ + buildInputs = + [ cdrtools dvdauthor dvdplusrwtools - ] ++ optionals dvdisasterSupport [ dvdisaster ]); + ffmpeg + fontconfig + glib + libexif + libjpeg + wxSVG + wxGTK32 + xine-ui + ] + ++ optionals dvdisasterSupport [ dvdisaster ] + ++ optionals udevSupport [ udev ] + ++ optionals dbusSupport [ dbus ]; + + enableParallelBuilding = true; + + preFixup = + let + binPath = makeBinPath ( + [ + cdrtools + dvdauthor + dvdplusrwtools + ] + ++ optionals dvdisasterSupport [ dvdisaster ] + ); in '' gappsWrapperArgs+=( --prefix PATH : "${binPath}" ) - ''; - + ''; meta = with lib; { homepage = "https://www.dvdstyler.org/"; diff --git a/pkgs/by-name/dv/dvgrab/package.nix b/pkgs/by-name/dv/dvgrab/package.nix index de5c5e906bf58..01e2a3ac1d1a5 100644 --- a/pkgs/by-name/dv/dvgrab/package.nix +++ b/pkgs/by-name/dv/dvgrab/package.nix @@ -1,5 +1,16 @@ -{ fetchFromGitHub, lib, stdenv, libunwind, libraw1394, libjpeg, libiec61883, libdv -, libavc1394, pkg-config, autoreconfHook }: +{ + fetchFromGitHub, + lib, + stdenv, + libunwind, + libraw1394, + libjpeg, + libiec61883, + libdv, + libavc1394, + pkg-config, + autoreconfHook, +}: stdenv.mkDerivation { pname = "dvgrab"; @@ -14,11 +25,17 @@ stdenv.mkDerivation { }; buildInputs = [ - libunwind libraw1394 libjpeg libiec61883 libdv libavc1394 + libunwind + libraw1394 + libjpeg + libiec61883 + libdv + libavc1394 ]; nativeBuildInputs = [ - autoreconfHook pkg-config + autoreconfHook + pkg-config ]; meta = with lib; { diff --git a/pkgs/by-name/dw/dwarf2json/package.nix b/pkgs/by-name/dw/dwarf2json/package.nix index 3bd0fa4b94a87..05e3983dd41f3 100644 --- a/pkgs/by-name/dw/dwarf2json/package.nix +++ b/pkgs/by-name/dw/dwarf2json/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "dwarf2json"; diff --git a/pkgs/by-name/dw/dwarfs/package.nix b/pkgs/by-name/dw/dwarfs/package.nix index 50c2121997dae..91174d41d7ade 100644 --- a/pkgs/by-name/dw/dwarfs/package.nix +++ b/pkgs/by-name/dw/dwarfs/package.nix @@ -108,7 +108,7 @@ stdenv.mkDerivation (finalAttrs: { "dwarfs/tools_test.categorize/*" ]; in - "-${lib.concatStringsSep ":" disabledTests}"; + "-${lib.concatStringsSep ":" disabledTests}"; meta = { description = "Fast high compression read-only file system"; diff --git a/pkgs/by-name/dw/dwdiff/package.nix b/pkgs/by-name/dw/dwdiff/package.nix index 320f8e25bcb75..9db502a2b367e 100644 --- a/pkgs/by-name/dw/dwdiff/package.nix +++ b/pkgs/by-name/dw/dwdiff/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, gettext -, pkg-config -, icu +{ + lib, + stdenv, + fetchurl, + gettext, + pkg-config, + icu, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/dw/dwfv/package.nix b/pkgs/by-name/dw/dwfv/package.nix index 950182954af1d..fd1dee2057345 100644 --- a/pkgs/by-name/dw/dwfv/package.nix +++ b/pkgs/by-name/dw/dwfv/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "dwfv"; diff --git a/pkgs/by-name/dw/dwmbar/package.nix b/pkgs/by-name/dw/dwmbar/package.nix index e2fa8155edd76..e649e508731ff 100644 --- a/pkgs/by-name/dw/dwmbar/package.nix +++ b/pkgs/by-name/dw/dwmbar/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/dw/dwmblocks/package.nix b/pkgs/by-name/dw/dwmblocks/package.nix index 91e08995c9af0..d861dfb009f63 100644 --- a/pkgs/by-name/dw/dwmblocks/package.nix +++ b/pkgs/by-name/dw/dwmblocks/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libX11, patches ? [ ], writeText, conf ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + patches ? [ ], + writeText, + conf ? null, +}: stdenv.mkDerivation { pname = "dwmblocks"; @@ -18,10 +26,9 @@ stdenv.mkDerivation { postPatch = let configFile = - if lib.isDerivation conf || builtins.isPath conf - then conf else writeText "blocks.def.h" conf; + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "blocks.def.h" conf; in - lib.optionalString (conf != null) "cp ${configFile} blocks.def.h"; + lib.optionalString (conf != null) "cp ${configFile} blocks.def.h"; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/dw/dwt1-shell-color-scripts/package.nix b/pkgs/by-name/dw/dwt1-shell-color-scripts/package.nix index 0843962703fe5..013557a892fb8 100644 --- a/pkgs/by-name/dw/dwt1-shell-color-scripts/package.nix +++ b/pkgs/by-name/dw/dwt1-shell-color-scripts/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitLab -, installShellFiles +{ + lib, + stdenvNoCC, + fetchFromGitLab, + installShellFiles, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/dw/dwz/package.nix b/pkgs/by-name/dw/dwz/package.nix index 852201cf71144..361f614770b07 100644 --- a/pkgs/by-name/dw/dwz/package.nix +++ b/pkgs/by-name/dw/dwz/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, elfutils }: +{ + lib, + stdenv, + fetchurl, + elfutils, +}: stdenv.mkDerivation rec { pname = "dwz"; diff --git a/pkgs/by-name/dx/dxa/package.nix b/pkgs/by-name/dx/dxa/package.nix index 5eec63c171d21..0b55bffdcccaa 100644 --- a/pkgs/by-name/dx/dxa/package.nix +++ b/pkgs/by-name/dx/dxa/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/dy/dyalog/package.nix b/pkgs/by-name/dy/dyalog/package.nix index a0c7be275547b..633dfeb64f17f 100644 --- a/pkgs/by-name/dy/dyalog/package.nix +++ b/pkgs/by-name/dy/dyalog/package.nix @@ -1,32 +1,33 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, -, config -, acceptLicense ? config.dyalog.acceptLicense or false + config, + acceptLicense ? config.dyalog.acceptLicense or false, -, autoPatchelfHook -, dpkg -, makeWrapper -, ncurses5 + autoPatchelfHook, + dpkg, + makeWrapper, + ncurses5, -, dotnet-sdk_8 -, dotnetSupport ? false + dotnet-sdk_8, + dotnetSupport ? false, -, alsa-lib -, gtk3 -, libdrm -, libGL -, mesa -, nss -, htmlRendererSupport ? false + alsa-lib, + gtk3, + libdrm, + libGL, + mesa, + nss, + htmlRendererSupport ? false, -, unixODBC -, sqaplSupport ? false + unixODBC, + sqaplSupport ? false, -, zeroFootprintRideSupport ? false + zeroFootprintRideSupport ? false, -, enableDocs ? false + enableDocs ? false, }: let @@ -75,86 +76,91 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ]; - buildInputs = [ - (lib.getLib stdenv.cc.cc) # Used by Conga and .NET Bridge - ncurses5 # Used by the dyalog binary to correctly display in the terminal - ] - ++ lib.optionals htmlRendererSupport [ - alsa-lib - gtk3 - libdrm - libGL - mesa - nss - ] - ++ lib.optional sqaplSupport unixODBC; + buildInputs = + [ + (lib.getLib stdenv.cc.cc) # Used by Conga and .NET Bridge + ncurses5 # Used by the dyalog binary to correctly display in the terminal + ] + ++ lib.optionals htmlRendererSupport [ + alsa-lib + gtk3 + libdrm + libGL + mesa + nss + ] + ++ lib.optional sqaplSupport unixODBC; # See which files are not really important: `https://github.com/Dyalog/DyalogDocker/blob/master/rmfiles.sh` - installPhase = '' - runHook preInstall - - mkdir -p ${dyalogHome} - cp -r aplfmt aplkeys apltrans Experimental fonts Library PublicCACerts SALT StartupSession ${dyalogHome} - cp aplkeys.sh default.dse dyalog dyalogc dyalog.rt dyalog.dcfg.template dyalog.ver.dcfg.template languagebar.json mapl StartupSession.aplf ${dyalogHome} - - mkdir ${dyalogHome}/lib - cp lib/{conga35_64.so,dyalog64.so,libconga35ssl64.so} ${dyalogHome}/lib - - # Only keep the most useful workspaces - mkdir ${dyalogHome}/ws - cp ws/{conga,dfns,isolate,loaddata,salt,sharpplot,util}.dws ${dyalogHome}/ws - '' - + lib.optionalString dotnetSupport '' - cp libnethost.so Dyalog.Net.Bridge.* Lokad.ILPack.dll ${dyalogHome} - '' - + lib.optionalString htmlRendererSupport '' - cp -r locales ${dyalogHome} - cp libcef.so libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1 ${dyalogHome} - cp chrome-sandbox icudtl.dat snapshot_blob.bin v8_context_snapshot.bin vk_swiftshader_icd.json *.pak ${dyalogHome} - cp lib/htmlrenderer.so ${dyalogHome}/lib - '' - + lib.optionalString sqaplSupport '' - cp lib/cxdya65u64u.so ${dyalogHome}/lib - cp ws/sqapl.dws ${dyalogHome}/ws - cp odbc.ini.sample sqapl.err sqapl.ini ${dyalogHome} - '' - + lib.optionalString zeroFootprintRideSupport '' - cp -r RIDEapp ${dyalogHome} - '' - + lib.optionalString enableDocs '' - mkdir -p $doc/share/doc/dyalog - cp -r help/* $doc/share/doc/dyalog - ln -s $doc/share/doc/dyalog ${dyalogHome}/help - '' - + '' - install -Dm644 dyalog.svg -t $out/share/icons/hicolor/scalable/apps - install -Dm644 dyalog.desktop -t $out/share/applications - - for exec in "dyalog" "mapl"; do - makeWrapper ${dyalogHome}/$exec $out/bin/$exec ${toString makeWrapperArgs} - done - - install -Dm755 scriptbin/dyalogscript $out/bin/dyalogscript - substituteInPlace $out/bin/dyalogscript \ - --subst-var-by installdir ${dyalogHome} \ - --subst-var-by scriptdir $out/bin - - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + mkdir -p ${dyalogHome} + cp -r aplfmt aplkeys apltrans Experimental fonts Library PublicCACerts SALT StartupSession ${dyalogHome} + cp aplkeys.sh default.dse dyalog dyalogc dyalog.rt dyalog.dcfg.template dyalog.ver.dcfg.template languagebar.json mapl StartupSession.aplf ${dyalogHome} + + mkdir ${dyalogHome}/lib + cp lib/{conga35_64.so,dyalog64.so,libconga35ssl64.so} ${dyalogHome}/lib + + # Only keep the most useful workspaces + mkdir ${dyalogHome}/ws + cp ws/{conga,dfns,isolate,loaddata,salt,sharpplot,util}.dws ${dyalogHome}/ws + '' + + lib.optionalString dotnetSupport '' + cp libnethost.so Dyalog.Net.Bridge.* Lokad.ILPack.dll ${dyalogHome} + '' + + lib.optionalString htmlRendererSupport '' + cp -r locales ${dyalogHome} + cp libcef.so libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1 ${dyalogHome} + cp chrome-sandbox icudtl.dat snapshot_blob.bin v8_context_snapshot.bin vk_swiftshader_icd.json *.pak ${dyalogHome} + cp lib/htmlrenderer.so ${dyalogHome}/lib + '' + + lib.optionalString sqaplSupport '' + cp lib/cxdya65u64u.so ${dyalogHome}/lib + cp ws/sqapl.dws ${dyalogHome}/ws + cp odbc.ini.sample sqapl.err sqapl.ini ${dyalogHome} + '' + + lib.optionalString zeroFootprintRideSupport '' + cp -r RIDEapp ${dyalogHome} + '' + + lib.optionalString enableDocs '' + mkdir -p $doc/share/doc/dyalog + cp -r help/* $doc/share/doc/dyalog + ln -s $doc/share/doc/dyalog ${dyalogHome}/help + '' + + '' + install -Dm644 dyalog.svg -t $out/share/icons/hicolor/scalable/apps + install -Dm644 dyalog.desktop -t $out/share/applications + + for exec in "dyalog" "mapl"; do + makeWrapper ${dyalogHome}/$exec $out/bin/$exec ${toString makeWrapperArgs} + done + + install -Dm755 scriptbin/dyalogscript $out/bin/dyalogscript + substituteInPlace $out/bin/dyalogscript \ + --subst-var-by installdir ${dyalogHome} \ + --subst-var-by scriptdir $out/bin + + runHook postInstall + ''; # Register some undeclared runtime dependencies to be patched in by autoPatchelfHook # Note: dyalog.rt is used internally to run child APL processes in - preFixup = '' - for exec in "dyalog" "dyalog.rt"; do - patchelf ${dyalogHome}/$exec --add-needed libncurses.so - done - '' - + lib.optionalString htmlRendererSupport '' - patchelf ${dyalogHome}/libcef.so --add-needed libudev.so --add-needed libGL.so - ''; + preFixup = + '' + for exec in "dyalog" "dyalog.rt"; do + patchelf ${dyalogHome}/$exec --add-needed libncurses.so + done + '' + + lib.optionalString htmlRendererSupport '' + patchelf ${dyalogHome}/libcef.so --add-needed libudev.so --add-needed libGL.so + ''; meta = { - changelog = "https://dyalog.com/dyalog/dyalog-versions/${lib.replaceStrings [ "." ] [ "" ] finalAttrs.shortVersion}.htm"; + changelog = "https://dyalog.com/dyalog/dyalog-versions/${ + lib.replaceStrings [ "." ] [ "" ] finalAttrs.shortVersion + }.htm"; description = "Dyalog APL interpreter"; homepage = "https://www.dyalog.com"; license = { @@ -163,7 +169,10 @@ stdenv.mkDerivation (finalAttrs: { free = false; }; mainProgram = "dyalog"; - maintainers = with lib.maintainers; [ tomasajt markus1189 ]; + maintainers = with lib.maintainers; [ + tomasajt + markus1189 + ]; platforms = [ "x86_64-linux" ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; diff --git a/pkgs/by-name/dy/dydisnix/package.nix b/pkgs/by-name/dy/dydisnix/package.nix index e6670ff2e1142..0a9f6473d130c 100644 --- a/pkgs/by-name/dy/dydisnix/package.nix +++ b/pkgs/by-name/dy/dydisnix/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib -, libxml2, libxslt, getopt, libiconv, gettext, nix, disnix +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + glib, + libxml2, + libxslt, + getopt, + libiconv, + gettext, + nix, + disnix, }: stdenv.mkDerivation rec { @@ -13,8 +27,22 @@ stdenv.mkDerivation rec { sha256 = "00f341274hwwil8mlgcgq331vfca9sscvpdbgkxsjvbhcqd8qa52"; }; - nativeBuildInputs = [ pkg-config autoconf automake libtool ]; - buildInputs = [ glib libxml2 libxslt getopt nix disnix libiconv gettext ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + libtool + ]; + buildInputs = [ + glib + libxml2 + libxslt + getopt + nix + disnix + libiconv + gettext + ]; preConfigure = '' ./bootstrap diff --git a/pkgs/by-name/dy/dyff/package.nix b/pkgs/by-name/dy/dyff/package.nix index 8ee17a2e382de..cb57f6b2daccb 100644 --- a/pkgs/by-name/dy/dyff/package.nix +++ b/pkgs/by-name/dy/dyff/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "dyff"; @@ -53,6 +58,9 @@ buildGoModule rec { ''; homepage = "https://github.com/homeport/dyff"; license = licenses.mit; - maintainers = with maintainers; [ edlimerkaj jceb ]; + maintainers = with maintainers; [ + edlimerkaj + jceb + ]; }; } diff --git a/pkgs/by-name/dy/dynamic-colors/package.nix b/pkgs/by-name/dy/dynamic-colors/package.nix index 0c04f70f26f30..b59e413cf87a9 100644 --- a/pkgs/by-name/dy/dynamic-colors/package.nix +++ b/pkgs/by-name/dy/dynamic-colors/package.nix @@ -1,13 +1,17 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "dynamic-colors"; version = "0.2.5"; src = fetchFromGitHub { - owner = "peterhoeg"; - repo = "dynamic-colors"; - rev = "v${version}"; + owner = "peterhoeg"; + repo = "dynamic-colors"; + rev = "v${version}"; sha256 = "sha256-jSdwq9WwYZP8MK6z7zJa0q93xfanr6iuvAt8YQkQxxE="; }; @@ -20,10 +24,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Change terminal colors on the fly"; - homepage = "https://github.com/peterhoeg/dynamic-colors"; - license = licenses.mit; + homepage = "https://github.com/peterhoeg/dynamic-colors"; + license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "dynamic-colors"; }; } diff --git a/pkgs/by-name/dy/dynamic-wallpaper/package.nix b/pkgs/by-name/dy/dynamic-wallpaper/package.nix index 9b30aba12ac42..786db004d7a31 100644 --- a/pkgs/by-name/dy/dynamic-wallpaper/package.nix +++ b/pkgs/by-name/dy/dynamic-wallpaper/package.nix @@ -1,17 +1,18 @@ -{ lib -, python3 -, fetchFromGitHub -, meson -, ninja -, pkg-config -, blueprint-compiler -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils -, glib -, gtk4 -, libadwaita -, librsvg +{ + lib, + python3, + fetchFromGitHub, + meson, + ninja, + pkg-config, + blueprint-compiler, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, + glib, + gtk4, + libadwaita, + librsvg, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/dy/dynamodb-local/package.nix b/pkgs/by-name/dy/dynamodb-local/package.nix index cf1498bd4a1b0..c7e92369be6e9 100644 --- a/pkgs/by-name/dy/dynamodb-local/package.nix +++ b/pkgs/by-name/dy/dynamodb-local/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenvNoCC -, fetchurl -, jdk_headless -, jre_minimal -, makeBinaryWrapper -, curl -, jq -, yq -, dynamodb-local -, testers -, common-updater-scripts -, writeShellScript +{ + lib, + stdenvNoCC, + fetchurl, + jdk_headless, + jre_minimal, + makeBinaryWrapper, + curl, + jq, + yq, + dynamodb-local, + testers, + common-updater-scripts, + writeShellScript, }: let jre = jre_minimal.override { @@ -55,7 +56,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; updateScript = writeShellScript "update-dynamodb-local" '' set -o errexit - export PATH="${lib.makeBinPath [ curl jq yq common-updater-scripts ]}:$PATH" + export PATH="${ + lib.makeBinPath [ + curl + jq + yq + common-updater-scripts + ] + }:$PATH" NEW_VERSION=$(curl -s https://repo1.maven.org/maven2/com/amazonaws/DynamoDBLocal/maven-metadata.xml | xq -r '.metadata.versioning.latest') NEW_VERSION_DATE=$(curl -s https://repo1.maven.org/maven2/com/amazonaws/DynamoDBLocal/maven-metadata.xml | xq -r '.metadata.versioning.lastUpdated | "\(.[:4])-\(.[4:6])-\(.[6:8])"') @@ -77,7 +85,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html"; license = licenses.unfree; mainProgram = "dynamodb-local"; - maintainers = with maintainers; [ shyim martinjlowm ]; + maintainers = with maintainers; [ + shyim + martinjlowm + ]; platforms = platforms.all; sourceProvenance = with lib.sourceTypes; [ binaryBytecode diff --git a/pkgs/by-name/dy/dyncall/package.nix b/pkgs/by-name/dy/dyncall/package.nix index 75841b5d0d71b..604438b4d3dab 100644 --- a/pkgs/by-name/dy/dyncall/package.nix +++ b/pkgs/by-name/dy/dyncall/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "dyncall"; diff --git a/pkgs/by-name/dy/dysk/package.nix b/pkgs/by-name/dy/dysk/package.nix index 5d447e4eccbc6..f8d7abf7511cd 100644 --- a/pkgs/by-name/dy/dysk/package.nix +++ b/pkgs/by-name/dy/dysk/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -31,7 +32,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Canop/dysk"; changelog = "https://github.com/Canop/dysk/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda koral ]; + maintainers = with maintainers; [ + figsoda + koral + ]; mainProgram = "dysk"; }; } diff --git a/pkgs/by-name/dz/dzen2/package.nix b/pkgs/by-name/dz/dzen2/package.nix index df7521cd2c414..ae7910ad2c0b5 100644 --- a/pkgs/by-name/dz/dzen2/package.nix +++ b/pkgs/by-name/dz/dzen2/package.nix @@ -1,11 +1,25 @@ -{ lib, stdenv, fetchurl, pkg-config, libX11, libXft, libXinerama, libXpm }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libX11, + libXft, + libXinerama, + libXpm, +}: stdenv.mkDerivation rec { pname = "dzen2"; version = "0.9.5"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXft libXinerama libXpm ]; + buildInputs = [ + libX11 + libXft + libXinerama + libXpm + ]; src = fetchurl { url = "https://github.com/robm/dzen/tarball/master/dzen2-${version}git.tar.gz"; diff --git a/pkgs/by-name/e1/e16/package.nix b/pkgs/by-name/e1/e16/package.nix index b143a4bec27db..7036c2db65104 100644 --- a/pkgs/by-name/e1/e16/package.nix +++ b/pkgs/by-name/e1/e16/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, freetype -, imlib2 -, libSM -, libXcomposite -, libXdamage -, libXext -, libXfixes -, libXft -, libXinerama -, libXrandr -, libpulseaudio -, libsndfile -, pango -, perl -, python3 -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + freetype, + imlib2, + libSM, + libXcomposite, + libXdamage, + libXext, + libXfixes, + libXft, + libXinerama, + libXrandr, + libpulseaudio, + libsndfile, + pango, + perl, + python3, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/e1/e17gtk/package.nix b/pkgs/by-name/e1/e17gtk/package.nix index 46a1f926402f0..b18de39362154 100644 --- a/pkgs/by-name/e1/e17gtk/package.nix +++ b/pkgs/by-name/e1/e17gtk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "e17gtk"; diff --git a/pkgs/by-name/e1/e1s/package.nix b/pkgs/by-name/e1/e1s/package.nix index ce1ce7dd3cd9f..fbbeed852974d 100644 --- a/pkgs/by-name/e1/e1s/package.nix +++ b/pkgs/by-name/e1/e1s/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: let pname = "e1s"; version = "1.0.42"; diff --git a/pkgs/by-name/e2/e2fsprogs/package.nix b/pkgs/by-name/e2/e2fsprogs/package.nix index 43549c233b828..6210299c3645c 100644 --- a/pkgs/by-name/e2/e2fsprogs/package.nix +++ b/pkgs/by-name/e2/e2fsprogs/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, buildPackages, fetchurl, fetchpatch, pkg-config, libuuid, gettext, texinfo -, withFuse ? stdenv.hostPlatform.isLinux, fuse3 -, shared ? !stdenv.hostPlatform.isStatic -, e2fsprogs, runCommand +{ + lib, + stdenv, + buildPackages, + fetchurl, + fetchpatch, + pkg-config, + libuuid, + gettext, + texinfo, + withFuse ? stdenv.hostPlatform.isLinux, + fuse3, + shared ? !stdenv.hostPlatform.isStatic, + e2fsprogs, + runCommand, }: stdenv.mkDerivation rec { @@ -14,13 +25,23 @@ stdenv.mkDerivation rec { }; # fuse2fs adds 14mb of dependencies - outputs = [ "bin" "dev" "out" "man" "info" ] - ++ lib.optionals withFuse [ "fuse2fs" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "info" + ] ++ lib.optionals withFuse [ "fuse2fs" ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config texinfo ]; - buildInputs = [ libuuid gettext ] - ++ lib.optionals withFuse [ fuse3 ]; + nativeBuildInputs = [ + pkg-config + texinfo + ]; + buildInputs = [ + libuuid + gettext + ] ++ lib.optionals withFuse [ fuse3 ]; patches = [ (fetchurl { @@ -36,39 +57,44 @@ stdenv.mkDerivation rec { ]; configureFlags = - if stdenv.hostPlatform.isLinux then [ - # It seems that the e2fsprogs is one of the few packages that cannot be - # build with shared and static libs. - (if shared then "--enable-elf-shlibs" else "--disable-elf-shlibs") - "--enable-symlink-install" - "--enable-relative-symlinks" - "--with-crond-dir=no" - # fsck, libblkid, libuuid and uuidd are in util-linux-ng (the "libuuid" dependency) - "--disable-fsck" - "--disable-libblkid" - "--disable-libuuid" - "--disable-uuidd" - ] else [ - "--enable-libuuid --disable-e2initrd-helper" - ]; + if stdenv.hostPlatform.isLinux then + [ + # It seems that the e2fsprogs is one of the few packages that cannot be + # build with shared and static libs. + (if shared then "--enable-elf-shlibs" else "--disable-elf-shlibs") + "--enable-symlink-install" + "--enable-relative-symlinks" + "--with-crond-dir=no" + # fsck, libblkid, libuuid and uuidd are in util-linux-ng (the "libuuid" dependency) + "--disable-fsck" + "--disable-libblkid" + "--disable-libuuid" + "--disable-uuidd" + ] + else + [ + "--enable-libuuid --disable-e2initrd-helper" + ]; nativeCheckInputs = [ buildPackages.perl ]; doCheck = true; - postInstall = '' - # avoid cycle between outputs - if [ -f $out/lib/${pname}/e2scrub_all_cron ]; then - mv $out/lib/${pname}/e2scrub_all_cron $bin/bin/ - fi - '' + lib.optionalString withFuse '' - mkdir -p $fuse2fs/bin - mv $bin/bin/fuse2fs $fuse2fs/bin/fuse2fs - ''; + postInstall = + '' + # avoid cycle between outputs + if [ -f $out/lib/${pname}/e2scrub_all_cron ]; then + mv $out/lib/${pname}/e2scrub_all_cron $bin/bin/ + fi + '' + + lib.optionalString withFuse '' + mkdir -p $fuse2fs/bin + mv $bin/bin/fuse2fs $fuse2fs/bin/fuse2fs + ''; enableParallelBuilding = true; passthru.tests = { - simple-filesystem = runCommand "e2fsprogs-create-fs" {} '' + simple-filesystem = runCommand "e2fsprogs-create-fs" { } '' mkdir -p $out truncate -s10M $out/disc ${e2fsprogs}/bin/mkfs.ext4 $out/disc | tee $out/success @@ -83,8 +109,8 @@ stdenv.mkDerivation rec { license = with licenses; [ gpl2Plus lgpl2Plus # lib/ext2fs, lib/e2p - bsd3 # lib/uuid - mit # lib/et, lib/ss + bsd3 # lib/uuid + mit # lib/et, lib/ss ]; platforms = platforms.unix; maintainers = [ ]; diff --git a/pkgs/by-name/e2/e2tools/package.nix b/pkgs/by-name/e2/e2tools/package.nix index 02c97f88daa1d..a4544c5fa0931 100644 --- a/pkgs/by-name/e2/e2tools/package.nix +++ b/pkgs/by-name/e2/e2tools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, e2fsprogs }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + e2fsprogs, +}: stdenv.mkDerivation rec { pname = "e2tools"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0nlqynrhj6ww7bnfhhfcx6bawii8iyvhgp6vz60zbnpgd68ifcx7"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ e2fsprogs ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ea/ea/package.nix b/pkgs/by-name/ea/ea/package.nix index 7ea3b5c11ca85..21b1ba0c7bf49 100644 --- a/pkgs/by-name/ea/ea/package.nix +++ b/pkgs/by-name/ea/ea/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rustPlatform -, installShellFiles -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rustPlatform, + installShellFiles, + libiconv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ea/each/package.nix b/pkgs/by-name/ea/each/package.nix index 688a9adf88473..f4d4de5f4ab7a 100644 --- a/pkgs/by-name/ea/each/package.nix +++ b/pkgs/by-name/ea/each/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ea/earlybird/package.nix b/pkgs/by-name/ea/earlybird/package.nix index 46b94e9d708ee..336082800ba4b 100644 --- a/pkgs/by-name/ea/earlybird/package.nix +++ b/pkgs/by-name/ea/earlybird/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-39jXqCXAwg/C+9gEXiS1X58OD61nMNQifnhgVGEF6ck="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Sensitive data detection tool capable of scanning source code repositories for passwords, key files, and more"; diff --git a/pkgs/by-name/ea/eartag/package.nix b/pkgs/by-name/ea/eartag/package.nix index d3df0295802c6..868b0884494bb 100644 --- a/pkgs/by-name/ea/eartag/package.nix +++ b/pkgs/by-name/ea/eartag/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, libadwaita -, gettext -, glib -, gobject-introspection -, desktop-file-utils -, appstream -, appstream-glib -, gtk4 -, librsvg -, python3Packages -, blueprint-compiler +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + libadwaita, + gettext, + glib, + gobject-introspection, + desktop-file-utils, + appstream, + appstream-glib, + gtk4, + librsvg, + python3Packages, + blueprint-compiler, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ea/easyeasm/package.nix b/pkgs/by-name/ea/easyeasm/package.nix index fc15fe0ab8406..8dd436666d323 100644 --- a/pkgs/by-name/ea/easyeasm/package.nix +++ b/pkgs/by-name/ea/easyeasm/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, amass -, alterx -, oam-tools -, subfinder +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + amass, + alterx, + oam-tools, + subfinder, }: buildGoModule rec { @@ -32,12 +33,14 @@ buildGoModule rec { postFixup = '' wrapProgram $out/bin/easyeasm \ - --prefix PATH : "${lib.makeBinPath [ - amass - alterx - oam-tools - subfinder - ]}" + --prefix PATH : "${ + lib.makeBinPath [ + amass + alterx + oam-tools + subfinder + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/ea/easyjson/package.nix b/pkgs/by-name/ea/easyjson/package.nix index 6b97424e0e46f..3ceb45839b8da 100644 --- a/pkgs/by-name/ea/easyjson/package.nix +++ b/pkgs/by-name/ea/easyjson/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ea/easyloggingpp/package.nix b/pkgs/by-name/ea/easyloggingpp/package.nix index a3b891253bf41..8aa369284f6f0 100644 --- a/pkgs/by-name/ea/easyloggingpp/package.nix +++ b/pkgs/by-name/ea/easyloggingpp/package.nix @@ -1,7 +1,13 @@ # To use this package with a CMake and pkg-config build: # pkg_check_modules(EASYLOGGINGPP REQUIRED easyloggingpp) # add_executable(main src/main.cpp ${EASYLOGGINGPP_PREFIX}/include/easylogging++.cc) -{ lib, stdenv, fetchFromGitHub, cmake, gtest }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, +}: stdenv.mkDerivation rec { pname = "easyloggingpp"; version = "9.97.1"; @@ -12,11 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-R4NdwsUywgJoK5E/OdZXFds6iBKOsMa0E+2PDdQbV6E="; }; - nativeBuildInputs = [cmake]; - buildInputs = [gtest]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ gtest ]; cmakeFlags = [ "-Dtest=ON" ]; - env.NIX_CFLAGS_COMPILE = "-std=c++14" + - lib.optionalString stdenv.hostPlatform.isLinux " -pthread"; + env.NIX_CFLAGS_COMPILE = "-std=c++14" + lib.optionalString stdenv.hostPlatform.isLinux " -pthread"; postInstall = '' mkdir -p $out/include cp ../src/easylogging++.cc $out/include @@ -25,7 +30,7 @@ stdenv.mkDerivation rec { description = "C++ logging library"; homepage = "https://github.com/amrayn/easyloggingpp"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [acowley]; + maintainers = with lib.maintainers; [ acowley ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ea/easypdkprog/package.nix b/pkgs/by-name/ea/easypdkprog/package.nix index 4e9b8f1722bc9..b4c86551e142a 100644 --- a/pkgs/by-name/ea/easypdkprog/package.nix +++ b/pkgs/by-name/ea/easypdkprog/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "easypdkprog"; @@ -11,11 +15,13 @@ stdenv.mkDerivation rec { sha256 = "0hc3gdmn6l01z63hzzwdhbdyy288gh5v219bsfm8fb1498vpnd6f"; }; - installPhase = '' - install -Dm755 -t $out/bin easypdkprog - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm644 -t $out/etc/udev/rules.d Linux_udevrules/70-stm32vcp.rules - ''; + installPhase = + '' + install -Dm755 -t $out/bin easypdkprog + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm644 -t $out/etc/udev/rules.d Linux_udevrules/70-stm32vcp.rules + ''; meta = with lib; { description = "Read, write and execute programs on PADAUK microcontroller"; diff --git a/pkgs/by-name/ea/easyrsa/package.nix b/pkgs/by-name/ea/easyrsa/package.nix index 9705315f8dd06..2305745bd28f1 100644 --- a/pkgs/by-name/ea/easyrsa/package.nix +++ b/pkgs/by-name/ea/easyrsa/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, openssl, makeWrapper, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + makeWrapper, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "easyrsa"; @@ -56,7 +63,10 @@ stdenv.mkDerivation rec { description = "Simple shell based CA utility"; homepage = "https://openvpn.net/"; license = licenses.gpl2Only; - maintainers = [ maintainers.offline maintainers.numinit ]; + maintainers = [ + maintainers.offline + maintainers.numinit + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ea/easysnap/package.nix b/pkgs/by-name/ea/easysnap/package.nix index 46952ce5327a3..6d88b2c00f6d0 100644 --- a/pkgs/by-name/ea/easysnap/package.nix +++ b/pkgs/by-name/ea/easysnap/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, zfs }: +{ + lib, + stdenv, + fetchFromGitHub, + zfs, +}: stdenv.mkDerivation { pname = "easysnap"; @@ -22,9 +27,9 @@ stdenv.mkDerivation { ''; meta = with lib; { - homepage = "https://github.com/sjau/easysnap"; + homepage = "https://github.com/sjau/easysnap"; description = "Customizable ZFS Snapshotting tool with zfs send/recv pulling"; - license = licenses.gpl3; + license = licenses.gpl3; maintainers = with maintainers; [ sjau ]; }; diff --git a/pkgs/by-name/eb/eb-garamond/package.nix b/pkgs/by-name/eb/eb-garamond/package.nix index 7a57d9308cf9c..cbe42f1d132c5 100644 --- a/pkgs/by-name/eb/eb-garamond/package.nix +++ b/pkgs/by-name/eb/eb-garamond/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "eb-garamond"; @@ -21,7 +25,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { homepage = "http://www.georgduffner.at/ebgaramond/"; description = "Digitization of the Garamond shown on the Egenolff-Berner specimen"; - maintainers = with maintainers; [ relrod rycee ]; + maintainers = with maintainers; [ + relrod + rycee + ]; license = licenses.ofl; platforms = platforms.all; }; diff --git a/pkgs/by-name/eb/ebook2cw/package.nix b/pkgs/by-name/eb/ebook2cw/package.nix index 4c1d2a3424e73..730b10af6f3b3 100644 --- a/pkgs/by-name/eb/ebook2cw/package.nix +++ b/pkgs/by-name/eb/ebook2cw/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchgit, fetchpatch, lame, libvorbis, gettext }: +{ + lib, + stdenv, + fetchgit, + fetchpatch, + lame, + libvorbis, + gettext, +}: stdenv.mkDerivation rec { pname = "ebook2cw"; @@ -18,7 +26,11 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ lame libvorbis gettext ]; + buildInputs = [ + lame + libvorbis + gettext + ]; makeFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/eb/ebook_tools/package.nix b/pkgs/by-name/eb/ebook_tools/package.nix index 5efdb69fe453c..8f09811d83fb3 100644 --- a/pkgs/by-name/eb/ebook_tools/package.nix +++ b/pkgs/by-name/eb/ebook_tools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, libxml2, libzip }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + libxml2, + libzip, +}: stdenv.mkDerivation rec { pname = "ebook-tools"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { sha256 = "1bi7wsz3p5slb43kj7lgb3r6lb91lvb6ldi556k4y50ix6b5khyb"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libxml2 libzip ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libxml2 + libzip + ]; meta = with lib; { homepage = "http://ebook-tools.sourceforge.net"; diff --git a/pkgs/by-name/eb/ebpf-usb/package.nix b/pkgs/by-name/eb/ebpf-usb/package.nix index 42a6956a34b18..6b721e968981f 100644 --- a/pkgs/by-name/eb/ebpf-usb/package.nix +++ b/pkgs/by-name/eb/ebpf-usb/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, bcc +{ + lib, + fetchFromGitHub, + python3Packages, + bcc, }: python3Packages.buildPythonApplication rec { @@ -20,9 +21,11 @@ python3Packages.buildPythonApplication rec { "--set PYTHONUNBUFFERED 1" ]; - pythonPath = [ bcc ] ++ (with python3Packages; [ - hexdump - ]); + pythonPath = + [ bcc ] + ++ (with python3Packages; [ + hexdump + ]); postPatch = '' substituteInPlace ebpf-usb.py \ diff --git a/pkgs/by-name/eb/ebtables/package.nix b/pkgs/by-name/eb/ebtables/package.nix index bd39175050e94..56afed5ce29c8 100644 --- a/pkgs/by-name/eb/ebtables/package.nix +++ b/pkgs/by-name/eb/ebtables/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ebtables"; @@ -10,8 +14,12 @@ stdenv.mkDerivation rec { }; makeFlags = [ - "LIBDIR=$(out)/lib" "BINDIR=$(out)/sbin" "MANDIR=$(out)/share/man" - "ETCDIR=$(out)/etc" "INITDIR=$(TMPDIR)" "SYSCONFIGDIR=$(out)/etc/sysconfig" + "LIBDIR=$(out)/lib" + "BINDIR=$(out)/sbin" + "MANDIR=$(out)/share/man" + "ETCDIR=$(out)/etc" + "INITDIR=$(TMPDIR)" + "SYSCONFIGDIR=$(out)/etc/sysconfig" "LOCALSTATEDIR=/var" ]; diff --git a/pkgs/by-name/eb/ebtks/package.nix b/pkgs/by-name/eb/ebtks/package.nix index 664882305a0ab..e1d62ad41d0da 100644 --- a/pkgs/by-name/eb/ebtks/package.nix +++ b/pkgs/by-name/eb/ebtks/package.nix @@ -1,25 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libminc }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libminc, +}: stdenv.mkDerivation { pname = "ebtks"; - version = "unstable-2017-09-23"; + version = "unstable-2017-09-23"; src = fetchFromGitHub { - owner = "BIC-MNI"; - repo = "EBTKS"; - rev = "67e4e197d8a32d6462c9bdc7af44d64ebde4fb5c"; + owner = "BIC-MNI"; + repo = "EBTKS"; + rev = "67e4e197d8a32d6462c9bdc7af44d64ebde4fb5c"; hash = "sha256-+MIRE2NdRH7IQrstK3WRqft6l9I+UGD6j0G7Q6LhOKg="; }; # error: use of undeclared identifier 'finite'; did you mean 'isfinite'? - postPatch = '' - substituteInPlace templates/EBTKS/SimpleArray.h \ - --replace "#define FINITE(x) finite(x)" "#define FINITE(x) isfinite(x)" - '' - # error: ISO C++17 does not allow 'register' storage class specifier - + '' - find . -type f -exec sed -i -e 's/register //g' {} + - ''; + postPatch = + '' + substituteInPlace templates/EBTKS/SimpleArray.h \ + --replace "#define FINITE(x) finite(x)" "#define FINITE(x) isfinite(x)" + '' + # error: ISO C++17 does not allow 'register' storage class specifier + + '' + find . -type f -exec sed -i -e 's/register //g' {} + + ''; nativeBuildInputs = [ cmake ]; buildInputs = [ libminc ]; @@ -31,6 +38,6 @@ stdenv.mkDerivation { description = "Library for working with MINC files"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; - license = licenses.free; + license = licenses.free; }; } diff --git a/pkgs/by-name/eb/ebumeter/package.nix b/pkgs/by-name/eb/ebumeter/package.nix index 9c00f3dfcb5e8..3249c179cead3 100644 --- a/pkgs/by-name/eb/ebumeter/package.nix +++ b/pkgs/by-name/eb/ebumeter/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl -, libX11, libXft, libclthreads, libclxclient, libjack2, libpng, libsndfile, zita-resampler +{ + lib, + stdenv, + fetchurl, + libX11, + libXft, + libclthreads, + libclxclient, + libjack2, + libpng, + libsndfile, + zita-resampler, }: stdenv.mkDerivation rec { @@ -12,7 +22,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libX11 libXft libclthreads libclxclient libjack2 libpng libsndfile zita-resampler + libX11 + libXft + libclthreads + libclxclient + libjack2 + libpng + libsndfile + zita-resampler ]; preConfigure = '' diff --git a/pkgs/by-name/eb/ebusd/package.nix b/pkgs/by-name/eb/ebusd/package.nix index bc20b930aef06..4527d330a1ccf 100644 --- a/pkgs/by-name/eb/ebusd/package.nix +++ b/pkgs/by-name/eb/ebusd/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, pkgs, fetchFromGitHub, fetchpatch, argparse, mosquitto, cmake, autoconf, automake, libtool, pkg-config, openssl }: +{ + lib, + stdenv, + pkgs, + fetchFromGitHub, + fetchpatch, + argparse, + mosquitto, + cmake, + autoconf, + automake, + libtool, + pkg-config, + openssl, +}: stdenv.mkDerivation rec { pname = "ebusd"; @@ -52,5 +66,5 @@ stdenv.mkDerivation rec { license = licenses.gpl3Only; maintainers = with maintainers; [ nathan-gs ]; platforms = platforms.linux; - }; + }; } diff --git a/pkgs/by-name/ec/ec2-ami-tools/package.nix b/pkgs/by-name/ec/ec2-ami-tools/package.nix index 0eaa1bb04a37a..9143d6238342d 100644 --- a/pkgs/by-name/ec/ec2-ami-tools/package.nix +++ b/pkgs/by-name/ec/ec2-ami-tools/package.nix @@ -1,11 +1,22 @@ -{ lib, stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + unzip, + ruby, + openssl, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "ec2-ami-tools"; version = "1.5.19"; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; src = fetchurl { url = "https://s3.amazonaws.com/ec2-downloads/${pname}-${version}.zip"; @@ -20,20 +31,24 @@ stdenv.mkDerivation rec { # tar invocation. patches = [ ./writable.patch ]; - installPhase = - '' - mkdir -p $out - mv * $out - rm $out/*.txt - - for i in $out/bin/*; do - wrapProgram $i \ - --set EC2_HOME $out \ - --prefix PATH : ${lib.makeBinPath [ ruby openssl ]} - done - - sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb - ''; # */ + installPhase = '' + mkdir -p $out + mv * $out + rm $out/*.txt + + for i in $out/bin/*; do + wrapProgram $i \ + --set EC2_HOME $out \ + --prefix PATH : ${ + lib.makeBinPath [ + ruby + openssl + ] + } + done + + sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb + ''; # */ meta = { homepage = "https://aws.amazon.com/developertools/Amazon-EC2/368"; diff --git a/pkgs/by-name/ec/ec2-api-tools/package.nix b/pkgs/by-name/ec/ec2-api-tools/package.nix index 97545204bfd4b..372ffd0e7d95f 100644 --- a/pkgs/by-name/ec/ec2-api-tools/package.nix +++ b/pkgs/by-name/ec/ec2-api-tools/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, unzip -, makeWrapper -, jre +{ + lib, + stdenv, + fetchurl, + unzip, + makeWrapper, + jre, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-hRq+MEA+4chqPr3d9bS//X70tYcRBTD+rfAJVNmuLzo="; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; installPhase = '' d=$out/libexec/ec2-api-tools diff --git a/pkgs/by-name/ec/ec2-metadata-mock/package.nix b/pkgs/by-name/ec/ec2-metadata-mock/package.nix index 5663782852c1b..d8a00b2261352 100644 --- a/pkgs/by-name/ec/ec2-metadata-mock/package.nix +++ b/pkgs/by-name/ec/ec2-metadata-mock/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ec2-metadata-mock"; diff --git a/pkgs/by-name/ec/ec2stepshell/package.nix b/pkgs/by-name/ec/ec2stepshell/package.nix index 6b5031ffebe2e..760b873fd97ca 100644 --- a/pkgs/by-name/ec/ec2stepshell/package.nix +++ b/pkgs/by-name/ec/ec2stepshell/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ec/ecasound/package.nix b/pkgs/by-name/ec/ecasound/package.nix index f23b11d1a67e4..4d991d2a7fbe3 100644 --- a/pkgs/by-name/ec/ecasound/package.nix +++ b/pkgs/by-name/ec/ecasound/package.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, alsa-lib -, audiofile -, libjack2 -, liblo -, liboil -, libsamplerate -, libsndfile -, lilv -, lv2 -, ncurses -, readline +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + alsa-lib, + audiofile, + libjack2, + liblo, + liboil, + libsamplerate, + libsndfile, + lilv, + lv2, + ncurses, + readline, }: # TODO: fix python. See configure log. @@ -60,7 +62,10 @@ stdenv.mkDerivation rec { strictDeps = true; CXXFLAGS = "-std=c++11"; - configureFlags = [ "--enable-liblilv" "--with-extra-cppflags=-Dnullptr=0" ]; + configureFlags = [ + "--enable-liblilv" + "--with-extra-cppflags=-Dnullptr=0" + ]; postPatch = '' sed -i -e ' @@ -71,7 +76,10 @@ stdenv.mkDerivation rec { meta = { description = "Software package designed for multitrack audio processing"; - license = with lib.licenses; [ gpl2 lgpl21 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + ]; homepage = "http://nosignal.fi/ecasound/"; }; } diff --git a/pkgs/by-name/ec/ecc/package.nix b/pkgs/by-name/ec/ecc/package.nix index dadd152c13c77..0c71830775e31 100644 --- a/pkgs/by-name/ec/ecc/package.nix +++ b/pkgs/by-name/ec/ecc/package.nix @@ -1,10 +1,11 @@ -{ lib -, makeWrapper -, fetchFromGitHub -, rustPackages -, pkg-config -, elfutils -, zlib +{ + lib, + makeWrapper, + fetchFromGitHub, + rustPackages, + pkg-config, + elfutils, + zlib, }: let inherit (rustPackages.rustc) llvmPackages; @@ -111,7 +112,15 @@ rustPlatform.buildRustPackage rec { postFixup = '' wrapProgram $out/bin/ecc-rs \ --prefix LIBCLANG_PATH : ${lib.getLib llvmPackages.libclang}/lib \ - --prefix PATH : ${lib.makeBinPath (with llvmPackages; [clang bintools-unwrapped])} + --prefix PATH : ${ + lib.makeBinPath ( + with llvmPackages; + [ + clang + bintools-unwrapped + ] + ) + } ''; meta = with lib; { diff --git a/pkgs/by-name/ec/ecdsatool/package.nix b/pkgs/by-name/ec/ecdsatool/package.nix index 439ffac563c7a..f0ffe858c2029 100644 --- a/pkgs/by-name/ec/ecdsatool/package.nix +++ b/pkgs/by-name/ec/ecdsatool/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, pkgs }: +{ + lib, + stdenv, + pkgs, +}: stdenv.mkDerivation { version = "0.0.1"; @@ -21,14 +25,18 @@ stdenv.mkDerivation { ./openssl-header-c99-implicit-function-declaration.patch ]; - nativeBuildInputs = with pkgs; [openssl autoconf automake]; - buildInputs = with pkgs; [libuecc]; + nativeBuildInputs = with pkgs; [ + openssl + autoconf + automake + ]; + buildInputs = with pkgs; [ libuecc ]; meta = with lib; { description = "Create and manipulate ECC NISTP256 keypairs"; mainProgram = "ecdsatool"; homepage = "https://github.com/kaniini/ecdsatool/"; - license = with licenses; [free]; + license = with licenses; [ free ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ec/ecdsautils/package.nix b/pkgs/by-name/ec/ecdsautils/package.nix index efc6f6f8e53fd..6b7dec6e11e62 100644 --- a/pkgs/by-name/ec/ecdsautils/package.nix +++ b/pkgs/by-name/ec/ecdsautils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, pkgs }: +{ + lib, + stdenv, + pkgs, +}: let pname = "ecdsautils"; @@ -14,13 +18,20 @@ stdenv.mkDerivation { sha256 = "sha256-vGHLAX/XOtePvdT/rljCOdlILHVO20mCt6p+MUi13dg="; }; - nativeBuildInputs = with pkgs; [ cmake pkg-config doxygen ]; - buildInputs = with pkgs; [ libuecc ]; + nativeBuildInputs = with pkgs; [ + cmake + pkg-config + doxygen + ]; + buildInputs = with pkgs; [ libuecc ]; meta = with lib; { description = "Tiny collection of programs used for ECDSA (keygen, sign, verify)"; homepage = "https://github.com/freifunk-gluon/ecdsautils/"; - license = with licenses; [ mit bsd2 ]; + license = with licenses; [ + mit + bsd2 + ]; maintainers = [ ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/ec/echoip/package.nix b/pkgs/by-name/ec/echoip/package.nix index ae450ddae833e..7c8d1f13114bb 100644 --- a/pkgs/by-name/ec/echoip/package.nix +++ b/pkgs/by-name/ec/echoip/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, }: buildGoModule { @@ -31,7 +32,10 @@ buildGoModule { description = "IP address lookup service"; homepage = "https://github.com/mpolden/echoip"; license = licenses.bsd3; - maintainers = with maintainers; [ rvolosatovs SuperSandro2000 ]; + maintainers = with maintainers; [ + rvolosatovs + SuperSandro2000 + ]; mainProgram = "echoip"; }; } diff --git a/pkgs/by-name/ec/eclair/package.nix b/pkgs/by-name/ec/eclair/package.nix index c1abd9f265b79..df47d3a05d445 100644 --- a/pkgs/by-name/ec/eclair/package.nix +++ b/pkgs/by-name/ec/eclair/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchzip -, jq -, openjdk11 +{ + lib, + stdenv, + fetchzip, + jq, + openjdk11, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-jkXdt1aQRVgItfFPuyh45uXjUFgJtKng/17Po5i7ang="; }; - propagatedBuildInputs = [ jq openjdk11 ]; + propagatedBuildInputs = [ + jq + openjdk11 + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ec/eclint/package.nix b/pkgs/by-name/ec/eclint/package.nix index 218ca24d28207..6480efde0136b 100644 --- a/pkgs/by-name/ec/eclint/package.nix +++ b/pkgs/by-name/ec/eclint/package.nix @@ -1,10 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitLab +{ + lib, + buildGoModule, + fetchFromGitLab, }: -buildGoModule -rec { +buildGoModule rec { pname = "eclint"; version = "0.5.0"; diff --git a/pkgs/by-name/ec/eclipse-mat/package.nix b/pkgs/by-name/ec/eclipse-mat/package.nix index 6c698c3a517f7..fff8bb0c2ab95 100644 --- a/pkgs/by-name/ec/eclipse-mat/package.nix +++ b/pkgs/by-name/ec/eclipse-mat/package.nix @@ -1,21 +1,22 @@ -{ fetchurl -, fontconfig -, freetype -, glib -, gsettings-desktop-schemas -, gtk3 -, jdk17 -, lib -, libX11 -, libXrender -, libXtst -, makeDesktopItem -, makeWrapper -, shared-mime-info -, stdenv -, unzip -, webkitgtk_4_0 -, zlib +{ + fetchurl, + fontconfig, + freetype, + glib, + gsettings-desktop-schemas, + gtk3, + jdk17, + lib, + libX11, + libXrender, + libXtst, + makeDesktopItem, + makeWrapper, + shared-mime-info, + stdenv, + unzip, + webkitgtk_4_0, + zlib, }: let @@ -60,13 +61,26 @@ stdenv.mkDerivation rec { libCairo=$out/eclipse/libcairo-swt.so patchelf --set-interpreter $interpreter $out/mat/MemoryAnalyzer [ -f $libCairo ] && patchelf --set-rpath ${ - lib.makeLibraryPath [ freetype fontconfig libX11 libXrender zlib ] + lib.makeLibraryPath [ + freetype + fontconfig + libX11 + libXrender + zlib + ] } $libCairo # Create wrapper script. Pass -configuration to store settings in ~/.eclipse-mat/ makeWrapper $out/mat/MemoryAnalyzer $out/bin/eclipse-mat \ --prefix PATH : ${jdk}/bin \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk_4_0 ])} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath ([ + glib + gtk3 + libXtst + webkitgtk_4_0 + ]) + } \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --add-flags "-configuration \$HOME/.eclipse-mat/''${version}/configuration" @@ -78,7 +92,10 @@ stdenv.mkDerivation rec { mv $out/share/pixmaps/eclipse64.png $out/share/pixmaps/eclipse.png ''; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; buildInputs = [ fontconfig freetype diff --git a/pkgs/by-name/ec/ecm/package.nix b/pkgs/by-name/ec/ecm/package.nix index ed1c07d87ec1a..e8c0ce289dc86 100644 --- a/pkgs/by-name/ec/ecm/package.nix +++ b/pkgs/by-name/ec/ecm/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gmp, m4 }: +{ + lib, + stdenv, + fetchurl, + gmp, + m4, +}: let pname = "ecm"; @@ -17,7 +23,10 @@ stdenv.mkDerivation { # See https://trac.sagemath.org/ticket/19233 configureFlags = lib.optional stdenv.hostPlatform.isDarwin "--disable-asm-redc"; - buildInputs = [ m4 gmp ]; + buildInputs = [ + m4 + gmp + ]; doCheck = true; diff --git a/pkgs/by-name/ec/ecmtools/package.nix b/pkgs/by-name/ec/ecmtools/package.nix index 54d7e44f9fcf4..4db1efe0b2c8b 100644 --- a/pkgs/by-name/ec/ecmtools/package.nix +++ b/pkgs/by-name/ec/ecmtools/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ec/ecopcr/package.nix b/pkgs/by-name/ec/ecopcr/package.nix index c5ab32a68838d..b49f26826d625 100644 --- a/pkgs/by-name/ec/ecopcr/package.nix +++ b/pkgs/by-name/ec/ecopcr/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, gcc, zlib, python3 }: +{ + lib, + stdenv, + fetchurl, + gcc, + zlib, + python3, +}: stdenv.mkDerivation rec { pname = "ecopcr"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { hash = "sha256-ssvWpi7HuuRRAkpqqrX3ijLuBqM3QsrmrG+t7/m6fZA="; }; - buildInputs = [ gcc python3 zlib ]; + buildInputs = [ + gcc + python3 + zlib + ]; preConfigure = '' cd src diff --git a/pkgs/by-name/ec/ecos/package.nix b/pkgs/by-name/ec/ecos/package.nix index 73874641e477e..ed8104e73a596 100644 --- a/pkgs/by-name/ec/ecos/package.nix +++ b/pkgs/by-name/ec/ecos/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ecos"; diff --git a/pkgs/by-name/ec/ecwolf/package.nix b/pkgs/by-name/ec/ecwolf/package.nix index bc9c216e7adcd..e1b571f52e743 100644 --- a/pkgs/by-name/ec/ecwolf/package.nix +++ b/pkgs/by-name/ec/ecwolf/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromBitbucket -, cmake -, pkg-config -, makeWrapper -, zlib -, bzip2 -, libjpeg -, SDL2 -, SDL2_net -, SDL2_mixer -, gtk3 -, writers -, python3Packages -, nix-update +{ + stdenv, + lib, + fetchFromBitbucket, + cmake, + pkg-config, + makeWrapper, + zlib, + bzip2, + libjpeg, + SDL2, + SDL2_net, + SDL2_mixer, + gtk3, + writers, + python3Packages, + nix-update, }: stdenv.mkDerivation rec { @@ -27,55 +28,81 @@ stdenv.mkDerivation rec { sha256 = "V2pSP8i20zB50WtUMujzij+ISSupdQQ/oCYYrOaTU1g="; }; - nativeBuildInputs = [ cmake pkg-config ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ makeWrapper ]; - buildInputs = [ zlib bzip2 libjpeg SDL2 SDL2_net SDL2_mixer gtk3 ]; + nativeBuildInputs = [ + cmake + pkg-config + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ makeWrapper ]; + buildInputs = [ + zlib + bzip2 + libjpeg + SDL2 + SDL2_net + SDL2_mixer + gtk3 + ]; NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework AppKit"; # ECWolf installs its binary to the games/ directory, but Nix only adds bin/ # directories to the PATH. - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - mv "$out/games" "$out/bin" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/{Applications,bin} - cp -R ecwolf.app $out/Applications - makeWrapper $out/{Applications/ecwolf.app/Contents/MacOS,bin}/ecwolf - ''; + postInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + mv "$out/games" "$out/bin" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/{Applications,bin} + cp -R ecwolf.app $out/Applications + makeWrapper $out/{Applications/ecwolf.app/Contents/MacOS,bin}/ecwolf + ''; - passthru.updateScript = let - updateScriptPkg = writers.writePython3 "ecwolf_update_script" { - libraries = with python3Packages; [ debian-inspector requests ]; - } '' - from os import execl - from sys import argv + passthru.updateScript = + let + updateScriptPkg = + writers.writePython3 "ecwolf_update_script" + { + libraries = with python3Packages; [ + debian-inspector + requests + ]; + } + '' + from os import execl + from sys import argv - from debian_inspector.debcon import get_paragraphs_data - from requests import get + from debian_inspector.debcon import get_paragraphs_data + from requests import get - # The debian.drdteam.org repo is a primary source of information. It’s - # run by Blzut3, the creator and primary developer of ECWolf. It’s also - # listed on ECWolf’s download page: - # . - url = 'https://debian.drdteam.org/dists/stable/multiverse/binary-amd64/Packages' # noqa: E501 - response = get(url) - packages = get_paragraphs_data(response.text) - for package in packages: - if package['package'] == 'ecwolf': - latest_version = package['version'] - break - nix_update_path = argv[1] + # The debian.drdteam.org repo is a primary source of information. It’s + # run by Blzut3, the creator and primary developer of ECWolf. It’s also + # listed on ECWolf’s download page: + # . + url = 'https://debian.drdteam.org/dists/stable/multiverse/binary-amd64/Packages' # noqa: E501 + response = get(url) + packages = get_paragraphs_data(response.text) + for package in packages: + if package['package'] == 'ecwolf': + latest_version = package['version'] + break + nix_update_path = argv[1] - execl(nix_update_path, nix_update_path, '--version', latest_version) - ''; - in [ updateScriptPkg (lib.getExe nix-update) ]; + execl(nix_update_path, nix_update_path, '--version', latest_version) + ''; + in + [ + updateScriptPkg + (lib.getExe nix-update) + ]; meta = with lib; { description = "Enhanched SDL-based port of Wolfenstein 3D for various platforms"; mainProgram = "ecwolf"; homepage = "https://maniacsvault.net/ecwolf/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ jayman2000 sander ]; + maintainers = with maintainers; [ + jayman2000 + sander + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ed/edac-utils/package.nix b/pkgs/by-name/ed/edac-utils/package.nix index db106c14b434a..ce70e919732f0 100644 --- a/pkgs/by-name/ed/edac-utils/package.nix +++ b/pkgs/by-name/ed/edac-utils/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, perl -, sysfsutils, dmidecode, kmod }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + sysfsutils, + dmidecode, + kmod, +}: stdenv.mkDerivation { pname = "edac-utils"; @@ -30,7 +37,10 @@ stdenv.mkDerivation { # fixupPhase to update the hash bang line. strictDeps = true; nativeBuildInputs = [ perl ]; - buildInputs = [ perl sysfsutils ]; + buildInputs = [ + perl + sysfsutils + ]; installFlags = [ "sbindir=${placeholder "out"}/bin" diff --git a/pkgs/by-name/ed/edbrowse/package.nix b/pkgs/by-name/ed/edbrowse/package.nix index 4561e0b902722..a2bd5f4847c1a 100644 --- a/pkgs/by-name/ed/edbrowse/package.nix +++ b/pkgs/by-name/ed/edbrowse/package.nix @@ -1,18 +1,19 @@ -{ lib -, curl -, duktape -, fetchFromGitHub -, html-tidy -, openssl -, pcre -, perl -, pkg-config -, quickjs -, readline -, stdenv -, unixODBC -, which -, withODBC ? true +{ + lib, + curl, + duktape, + fetchFromGitHub, + html-tidy, + openssl, + pcre, + perl, + pkg-config, + quickjs, + readline, + stdenv, + unixODBC, + which, + withODBC ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -30,10 +31,10 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # Fixes some small annoyances on src/makefile - ./0001-small-fixes.patch + ./0001-small-fixes.patch ]; - patchFlags = [ + patchFlags = [ "-p2" ]; @@ -48,18 +49,20 @@ stdenv.mkDerivation (finalAttrs: { which ]; - buildInputs = [ - curl - duktape - html-tidy - openssl - pcre - perl - quickjs - readline - ] ++ lib.optionals withODBC [ - unixODBC - ]; + buildInputs = + [ + curl + duktape + html-tidy + openssl + pcre + perl + quickjs + readline + ] + ++ lib.optionals withODBC [ + unixODBC + ]; makeFlags = [ "PREFIX=${placeholder "out"}" diff --git a/pkgs/by-name/ed/edgetpu-compiler/package.nix b/pkgs/by-name/ed/edgetpu-compiler/package.nix index dbb62fd24f061..589ed88bda483 100644 --- a/pkgs/by-name/ed/edgetpu-compiler/package.nix +++ b/pkgs/by-name/ed/edgetpu-compiler/package.nix @@ -1,9 +1,10 @@ -{ autoPatchelfHook -, dpkg -, fetchurl -, lib -, libcxx -, stdenv +{ + autoPatchelfHook, + dpkg, + fetchurl, + lib, + libcxx, + stdenv, }: stdenv.mkDerivation rec { pname = "edgetpu-compiler"; diff --git a/pkgs/by-name/ed/edid-decode/package.nix b/pkgs/by-name/ed/edid-decode/package.nix index fbee1797992d4..f5ac1176221ea 100644 --- a/pkgs/by-name/ed/edid-decode/package.nix +++ b/pkgs/by-name/ed/edid-decode/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchgit -, unstableGitUpdater +{ + lib, + stdenv, + fetchgit, + unstableGitUpdater, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ed/edid-generator/package.nix b/pkgs/by-name/ed/edid-generator/package.nix index e3855fc76f2f8..fd8735ff4226a 100644 --- a/pkgs/by-name/ed/edid-generator/package.nix +++ b/pkgs/by-name/ed/edid-generator/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, dos2unix -, edid-decode -, hexdump -, zsh +{ + lib, + stdenv, + fetchFromGitHub, + dos2unix, + edid-decode, + hexdump, + zsh, }: # Usage: @@ -31,7 +32,12 @@ stdenv.mkDerivation { sha256 = "sha256-UGxze273VB5cQDWrv9X/Lam6WbOu9U3bro8GcVbEvws="; }; - nativeBuildInputs = [ dos2unix edid-decode hexdump zsh ]; + nativeBuildInputs = [ + dos2unix + edid-decode + hexdump + zsh + ]; postPatch = '' patchShebangs modeline2edid @@ -72,7 +78,10 @@ stdenv.mkDerivation { description = "Hackerswork to generate an EDID blob from given Xorg Modelines"; homepage = "https://github.com/akatrevorjay/edid-generator"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ flokli nazarewk ]; + maintainers = with lib.maintainers; [ + flokli + nazarewk + ]; platforms = lib.platforms.all; broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/edid-generator.x86_64-darwin }; diff --git a/pkgs/by-name/ed/edido/package.nix b/pkgs/by-name/ed/edido/package.nix index 2572a0dc2af85..f060b9602574a 100644 --- a/pkgs/by-name/ed/edido/package.nix +++ b/pkgs/by-name/ed/edido/package.nix @@ -1,16 +1,22 @@ -{ writeShellApplication -, bc -, diffutils -, findutils -, coreutils -, firmwarePaths ? [ +{ + writeShellApplication, + bc, + diffutils, + findutils, + coreutils, + firmwarePaths ? [ "/run/current-system/firmware" - ] + ], }: writeShellApplication { name = "edido"; meta.description = "A tool to apply display configuration from `boot.kernelParams`."; - runtimeInputs = [ diffutils findutils coreutils bc ]; + runtimeInputs = [ + diffutils + findutils + coreutils + bc + ]; text = '' FIRMWARE_PATH="''${FIRMWARE_PATH:-"${builtins.concatStringsSep ":" firmwarePaths}"}" ${builtins.readFile ./edido.sh} diff --git a/pkgs/by-name/ed/edir/package.nix b/pkgs/by-name/ed/edir/package.nix index 85fc426fc57cd..2402de5127cc7 100644 --- a/pkgs/by-name/ed/edir/package.nix +++ b/pkgs/by-name/ed/edir/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "edir"; diff --git a/pkgs/by-name/ed/edit/package.nix b/pkgs/by-name/ed/edit/package.nix index c6e48e63c4a3f..e2c545172aab4 100644 --- a/pkgs/by-name/ed/edit/package.nix +++ b/pkgs/by-name/ed/edit/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchgit -, cwebbin -, libX11 -, libXft -, ncurses -, pkg-config -, unzip +{ + lib, + stdenv, + fetchgit, + cwebbin, + libX11, + libXft, + ncurses, + pkg-config, + unzip, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ed/editline/package.nix b/pkgs/by-name/ed/editline/package.nix index 95776d885f06b..c8f7558f62f77 100644 --- a/pkgs/by-name/ed/editline/package.nix +++ b/pkgs/by-name/ed/editline/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, nix-update-script, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + nix-update-script, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "editline"; @@ -30,7 +37,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - outputs = [ "out" "dev" "man" "doc" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ed/editorconfig-checker/package.nix b/pkgs/by-name/ed/editorconfig-checker/package.nix index ad61dcded73df..8c500487e41b2 100644 --- a/pkgs/by-name/ed/editorconfig-checker/package.nix +++ b/pkgs/by-name/ed/editorconfig-checker/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, editorconfig-checker }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + editorconfig-checker, +}: buildGoModule rec { pname = "editorconfig-checker"; @@ -33,6 +40,9 @@ buildGoModule rec { mainProgram = "editorconfig-checker"; homepage = "https://editorconfig-checker.github.io/"; license = licenses.mit; - maintainers = with maintainers; [ uri-canva zowoq ]; + maintainers = with maintainers; [ + uri-canva + zowoq + ]; }; } diff --git a/pkgs/by-name/ed/editorconfig-core-c/package.nix b/pkgs/by-name/ed/editorconfig-core-c/package.nix index 7c3eb4e194235..bdf1b640508fa 100644 --- a/pkgs/by-name/ed/editorconfig-core-c/package.nix +++ b/pkgs/by-name/ed/editorconfig-core-c/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pcre2 -, doxygen +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pcre2, + doxygen, }: stdenv.mkDerivation (finalAttrs: { pname = "editorconfig-core-c"; version = "0.12.9"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "editorconfig"; @@ -45,7 +49,10 @@ stdenv.mkDerivation (finalAttrs: { editors, see the EditorConfig website. ''; downloadPage = "https://github.com/editorconfig/editorconfig-core-c"; - license = with licenses; [ bsd2 bsd3 ]; + license = with licenses; [ + bsd2 + bsd3 + ]; maintainers = with maintainers; [ dochang ]; platforms = platforms.unix; mainProgram = "editorconfig"; diff --git a/pkgs/by-name/ed/editres/package.nix b/pkgs/by-name/ed/editres/package.nix index d1da7d2c5a5f8..63ec3f9d74d72 100644 --- a/pkgs/by-name/ed/editres/package.nix +++ b/pkgs/by-name/ed/editres/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, libXt, libXaw, libXres, utilmacros }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libXt, + libXaw, + libXres, + utilmacros, +}: stdenv.mkDerivation rec { pname = "editres"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libXt libXaw libXres utilmacros ]; + buildInputs = [ + libXt + libXaw + libXres + utilmacros + ]; configureFlags = [ "--with-appdefaultdir=$(out)/share/X11/app-defaults/editres" ]; diff --git a/pkgs/by-name/ed/edk2-uefi-shell/package.nix b/pkgs/by-name/ed/edk2-uefi-shell/package.nix index 723833ab45cf4..dd79e1ac4d169 100644 --- a/pkgs/by-name/ed/edk2-uefi-shell/package.nix +++ b/pkgs/by-name/ed/edk2-uefi-shell/package.nix @@ -1,20 +1,34 @@ -{ lib -, stdenv -, edk2 -, llvmPackages -, util-linux -, nasm -, python3 +{ + lib, + stdenv, + edk2, + llvmPackages, + util-linux, + nasm, + python3, }: edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { pname = "edk2-uefi-shell"; inherit (edk2) version; - nativeBuildInputs = [ util-linux nasm python3 ] - ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ]; + nativeBuildInputs = + [ + util-linux + nasm + python3 + ] + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.bintools + llvmPackages.llvm + ]; strictDeps = true; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-fno-pic" "-Qunused-arguments" ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-fno-pic" + "-Qunused-arguments" + ] + ); # Set explicitly to use Python 3 from nixpkgs. Otherwise, the build system will detect and try to # use `/usr/bin/python3` on Darwin when sandboxing is disabled. @@ -37,7 +51,10 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { inherit (edk2.meta) license platforms; description = "UEFI Shell from Tianocore EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/ShellPkg"; - maintainers = with lib.maintainers; [ LunNova mjoerg ]; + maintainers = with lib.maintainers; [ + LunNova + mjoerg + ]; broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; }; }) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 30abd6c1d226d..b552a7675fe12 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -1,198 +1,215 @@ -{ stdenv -, fetchFromGitHub -, fetchpatch -, applyPatches -, libuuid -, bc -, lib -, buildPackages -, nixosTests -, writeScript +{ + stdenv, + fetchFromGitHub, + fetchpatch, + applyPatches, + libuuid, + bc, + lib, + buildPackages, + nixosTests, + writeScript, }: let - pythonEnv = buildPackages.python3.withPackages (ps: [ps.tkinter]); - -targetArch = if stdenv.hostPlatform.isi686 then - "IA32" -else if stdenv.hostPlatform.isx86_64 then - "X64" -else if stdenv.hostPlatform.isAarch32 then - "ARM" -else if stdenv.hostPlatform.isAarch64 then - "AARCH64" -else if stdenv.hostPlatform.isRiscV64 then - "RISCV64" -else if stdenv.hostPlatform.isLoongArch64 then - "LOONGARCH64" -else - throw "Unsupported architecture"; - -buildType = if stdenv.hostPlatform.isDarwin then - "CLANGPDB" - else - "GCC5"; - -edk2 = stdenv.mkDerivation { - pname = "edk2"; - version = "202411"; - - srcWithVendoring = fetchFromGitHub { - owner = "tianocore"; - repo = "edk2"; - rev = "edk2-stable${edk2.version}"; - fetchSubmodules = true; - hash = "sha256-KYaTGJ3DHtWbPEbP+n8MTk/WwzLv5Vugty/tvzuEUf0="; - }; + pythonEnv = buildPackages.python3.withPackages (ps: [ ps.tkinter ]); + + targetArch = + if stdenv.hostPlatform.isi686 then + "IA32" + else if stdenv.hostPlatform.isx86_64 then + "X64" + else if stdenv.hostPlatform.isAarch32 then + "ARM" + else if stdenv.hostPlatform.isAarch64 then + "AARCH64" + else if stdenv.hostPlatform.isRiscV64 then + "RISCV64" + else if stdenv.hostPlatform.isLoongArch64 then + "LOONGARCH64" + else + throw "Unsupported architecture"; + + buildType = if stdenv.hostPlatform.isDarwin then "CLANGPDB" else "GCC5"; + + edk2 = stdenv.mkDerivation { + pname = "edk2"; + version = "202411"; + + srcWithVendoring = fetchFromGitHub { + owner = "tianocore"; + repo = "edk2"; + rev = "edk2-stable${edk2.version}"; + fetchSubmodules = true; + hash = "sha256-KYaTGJ3DHtWbPEbP+n8MTk/WwzLv5Vugty/tvzuEUf0="; + }; + + src = applyPatches { + name = "edk2-${edk2.version}-unvendored-src"; + src = edk2.srcWithVendoring; + + patches = [ + # pass targetPrefix as an env var + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; + hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; + }) + # https://github.com/tianocore/edk2/pull/5658 + (fetchpatch { + name = "fix-cross-compilation-antlr-dlg.patch"; + url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; + hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; + }) + ]; + + # EDK2 is currently working on OpenSSL 3.3.x support. Use buildpackages.openssl again, + # when "https://github.com/tianocore/edk2/pull/6167" is merged. + postPatch = '' + # We don't want EDK2 to keep track of OpenSSL, they're frankly bad at it. + rm -r CryptoPkg/Library/OpensslLib/openssl + mkdir -p CryptoPkg/Library/OpensslLib/openssl + ( + cd CryptoPkg/Library/OpensslLib/openssl + tar --strip-components=1 -xf ${buildPackages.openssl_3.src} + + # Apply OpenSSL patches. + ${lib.pipe buildPackages.openssl_3.patches [ + (builtins.filter ( + patch: + !builtins.elem (baseNameOf patch) [ + # Exclude patches not required in this context. + "nix-ssl-cert-file.patch" + "openssl-disable-kernel-detection.patch" + "use-etc-ssl-certs-darwin.patch" + "use-etc-ssl-certs.patch" + ] + )) + (map (patch: "patch -p1 < ${patch}\n")) + lib.concatStrings + ]} + ) + + # enable compilation using Clang + # https://bugzilla.tianocore.org/show_bug.cgi?id=4620 + substituteInPlace BaseTools/Conf/tools_def.template --replace-fail \ + 'DEFINE CLANGPDB_WARNING_OVERRIDES = ' \ + 'DEFINE CLANGPDB_WARNING_OVERRIDES = -Wno-unneeded-internal-declaration ' + ''; + }; - src = applyPatches { - name = "edk2-${edk2.version}-unvendored-src"; - src = edk2.srcWithVendoring; - - patches = [ - # pass targetPrefix as an env var - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; - hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; - }) - # https://github.com/tianocore/edk2/pull/5658 - (fetchpatch { - name = "fix-cross-compilation-antlr-dlg.patch"; - url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; - hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; - }) + nativeBuildInputs = [ pythonEnv ]; + depsBuildBuild = [ + buildPackages.stdenv.cc + buildPackages.bash ]; + depsHostHost = [ libuuid ]; + strictDeps = true; - # EDK2 is currently working on OpenSSL 3.3.x support. Use buildpackages.openssl again, - # when "https://github.com/tianocore/edk2/pull/6167" is merged. - postPatch = '' - # We don't want EDK2 to keep track of OpenSSL, they're frankly bad at it. - rm -r CryptoPkg/Library/OpensslLib/openssl - mkdir -p CryptoPkg/Library/OpensslLib/openssl - ( - cd CryptoPkg/Library/OpensslLib/openssl - tar --strip-components=1 -xf ${buildPackages.openssl_3.src} - - # Apply OpenSSL patches. - ${lib.pipe buildPackages.openssl_3.patches [ - (builtins.filter ( - patch: - !builtins.elem (baseNameOf patch) [ - # Exclude patches not required in this context. - "nix-ssl-cert-file.patch" - "openssl-disable-kernel-detection.patch" - "use-etc-ssl-certs-darwin.patch" - "use-etc-ssl-certs.patch" - ] - )) - (map (patch: "patch -p1 < ${patch}\n")) - lib.concatStrings - ]} - ) - - # enable compilation using Clang - # https://bugzilla.tianocore.org/show_bug.cgi?id=4620 - substituteInPlace BaseTools/Conf/tools_def.template --replace-fail \ - 'DEFINE CLANGPDB_WARNING_OVERRIDES = ' \ - 'DEFINE CLANGPDB_WARNING_OVERRIDES = -Wno-unneeded-internal-declaration ' - ''; - }; - - nativeBuildInputs = [ pythonEnv ]; - depsBuildBuild = [ buildPackages.stdenv.cc buildPackages.bash ]; - depsHostHost = [ libuuid ]; - strictDeps = true; - - # trick taken from https://src.fedoraproject.org/rpms/edk2/blob/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/edk2.spec#_319 - ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix; - - makeFlags = [ "-C BaseTools" ]; - - env.NIX_CFLAGS_COMPILE = "-Wno-return-type" - + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation" - + lib.optionalString (stdenv.hostPlatform.isDarwin) " -Wno-error=macro-redefined"; - - hardeningDisable = [ "format" "fortify" ]; - - installPhase = '' - mkdir -vp $out - mv -v BaseTools $out - mv -v edksetup.sh $out - # patchShebangs fails to see these when cross compiling - for i in $out/BaseTools/BinWrappers/PosixLike/*; do - chmod +x "$i" - patchShebangs --build "$i" - done - ''; - - enableParallelBuilding = true; - - meta = { - description = "Intel EFI development kit"; - homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; - changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}"; - license = lib.licenses.bsd2; - platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ loongarch64 ++ riscv64; - maintainers = [ lib.maintainers.mjoerg ]; - }; - - passthru = { - # exercise a channel blocker - tests.uefiUsb = nixosTests.boot.uefiCdrom; - - updateScript = writeScript "update-edk2" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p common-updater-scripts coreutils gnused - set -eu -o pipefail - version="$(list-git-tags --url="${edk2.srcWithVendoring.url}" | - sed -E --quiet 's/^edk2-stable([0-9]{6})$/\1/p' | - sort --reverse --numeric-sort | - head -n 1)" - if [[ "x$UPDATE_NIX_OLD_VERSION" != "x$version" ]]; then - update-source-version --source-key=srcWithVendoring \ - "$UPDATE_NIX_ATTR_PATH" "$version" - fi - ''; - - mkDerivation = projectDscPath: attrsOrFun: stdenv.mkDerivation (finalAttrs: - let - attrs = lib.toFunction attrsOrFun finalAttrs; - in - { - inherit (edk2) src; + # trick taken from https://src.fedoraproject.org/rpms/edk2/blob/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/edk2.spec#_319 + ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix; - depsBuildBuild = [ buildPackages.stdenv.cc ] ++ attrs.depsBuildBuild or []; - nativeBuildInputs = [ bc pythonEnv ] ++ attrs.nativeBuildInputs or []; - strictDeps = true; + makeFlags = [ "-C BaseTools" ]; - ${"GCC5_${targetArch}_PREFIX"}=stdenv.cc.targetPrefix; + env.NIX_CFLAGS_COMPILE = + "-Wno-return-type" + + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation" + + lib.optionalString (stdenv.hostPlatform.isDarwin) " -Wno-error=macro-redefined"; - prePatch = '' - rm -rf BaseTools - ln -sv ${buildPackages.edk2}/BaseTools BaseTools - ''; + hardeningDisable = [ + "format" + "fortify" + ]; - configurePhase = '' - runHook preConfigure - export WORKSPACE="$PWD" - . ${buildPackages.edk2}/edksetup.sh BaseTools - runHook postConfigure - ''; + installPhase = '' + mkdir -vp $out + mv -v BaseTools $out + mv -v edksetup.sh $out + # patchShebangs fails to see these when cross compiling + for i in $out/BaseTools/BinWrappers/PosixLike/*; do + chmod +x "$i" + patchShebangs --build "$i" + done + ''; - buildPhase = '' - runHook preBuild - build -a ${targetArch} -b ${attrs.buildConfig or "RELEASE"} -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags - runHook postBuild + enableParallelBuilding = true; + + meta = { + description = "Intel EFI development kit"; + homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; + changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}"; + license = lib.licenses.bsd2; + platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ loongarch64 ++ riscv64; + maintainers = [ lib.maintainers.mjoerg ]; + }; + + passthru = { + # exercise a channel blocker + tests.uefiUsb = nixosTests.boot.uefiCdrom; + + updateScript = writeScript "update-edk2" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts coreutils gnused + set -eu -o pipefail + version="$(list-git-tags --url="${edk2.srcWithVendoring.url}" | + sed -E --quiet 's/^edk2-stable([0-9]{6})$/\1/p' | + sort --reverse --numeric-sort | + head -n 1)" + if [[ "x$UPDATE_NIX_OLD_VERSION" != "x$version" ]]; then + update-source-version --source-key=srcWithVendoring \ + "$UPDATE_NIX_ATTR_PATH" "$version" + fi ''; - installPhase = '' - runHook preInstall - mv -v Build/*/* $out - runHook postInstall - ''; - } // removeAttrs attrs [ "nativeBuildInputs" "depsBuildBuild" ]); + mkDerivation = + projectDscPath: attrsOrFun: + stdenv.mkDerivation ( + finalAttrs: + let + attrs = lib.toFunction attrsOrFun finalAttrs; + in + { + inherit (edk2) src; + + depsBuildBuild = [ buildPackages.stdenv.cc ] ++ attrs.depsBuildBuild or [ ]; + nativeBuildInputs = [ + bc + pythonEnv + ] ++ attrs.nativeBuildInputs or [ ]; + strictDeps = true; + + ${"GCC5_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix; + + prePatch = '' + rm -rf BaseTools + ln -sv ${buildPackages.edk2}/BaseTools BaseTools + ''; + + configurePhase = '' + runHook preConfigure + export WORKSPACE="$PWD" + . ${buildPackages.edk2}/edksetup.sh BaseTools + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + build -a ${targetArch} -b ${attrs.buildConfig or "RELEASE"} -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mv -v Build/*/* $out + runHook postInstall + ''; + } + // removeAttrs attrs [ + "nativeBuildInputs" + "depsBuildBuild" + ] + ); + }; }; -}; in diff --git a/pkgs/by-name/ed/edlib/package.nix b/pkgs/by-name/ed/edlib/package.nix index b8ea4a55291a8..dae63438985d7 100644 --- a/pkgs/by-name/ed/edlib/package.nix +++ b/pkgs/by-name/ed/edlib/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "edlib"; diff --git a/pkgs/by-name/ed/edlin/package.nix b/pkgs/by-name/ed/edlin/package.nix index f8baa9aa67bc1..4575b117ccf86 100644 --- a/pkgs/by-name/ed/edlin/package.nix +++ b/pkgs/by-name/ed/edlin/package.nix @@ -1,18 +1,21 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { pname = "edlin"; version = "2.21"; - src = let - inherit (finalAttrs) version; - in fetchurl { - url = "mirror://sourceforge/freedos-edlin/freedos-edlin/${version}/edlin-${version}.tar.bz2"; - hash = "sha256-lQ/tw8dvEKV81k5GV05o49glOmfYcEeJBmgPUmL3S2I="; - }; + src = + let + inherit (finalAttrs) version; + in + fetchurl { + url = "mirror://sourceforge/freedos-edlin/freedos-edlin/${version}/edlin-${version}.tar.bz2"; + hash = "sha256-lQ/tw8dvEKV81k5GV05o49glOmfYcEeJBmgPUmL3S2I="; + }; postInstall = '' mkdir -p $out/share/doc/edlin-${finalAttrs.version}/ diff --git a/pkgs/by-name/ed/edukai/package.nix b/pkgs/by-name/ed/edukai/package.nix index d5b9e25c2eb54..6abb9723f8efc 100644 --- a/pkgs/by-name/ed/edukai/package.nix +++ b/pkgs/by-name/ed/edukai/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchzip }: +{ + stdenvNoCC, + lib, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "edukai"; @@ -6,8 +10,7 @@ stdenvNoCC.mkDerivation rec { src = fetchzip { name = "${pname}-${version}"; - url = - "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/edukai-4.0.zip"; + url = "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/edukai-4.0.zip"; sha256 = "10m9srvbazvg9gc43943dc89rjzcfc8mm4lx9gb5hnplrn22zrcn"; }; @@ -17,16 +20,14 @@ stdenvNoCC.mkDerivation rec { ''; meta = { - description = - "The MOE Standard Kai Font, a Chinese font by the Ministry of Education, ROC (Taiwan)"; + description = "The MOE Standard Kai Font, a Chinese font by the Ministry of Education, ROC (Taiwan)"; longDescription = '' The MOE Standard Kai Font is a kai (regular srcipt) font provided by the Midistry of Education, Republic of China (Taiwan). It currently includes 13,076 Chinese characters. ''; - homepage = - "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=47"; + homepage = "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=47"; license = lib.licenses.cc-by-nd-30; maintainers = with lib.maintainers; [ ShamrockLee ]; }; diff --git a/pkgs/by-name/ed/eduli/package.nix b/pkgs/by-name/ed/eduli/package.nix index beb89d49fc364..e6fea3a303b43 100644 --- a/pkgs/by-name/ed/eduli/package.nix +++ b/pkgs/by-name/ed/eduli/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchzip }: +{ + stdenvNoCC, + lib, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "eduli"; @@ -6,8 +10,7 @@ stdenvNoCC.mkDerivation rec { src = fetchzip { name = "${pname}-${version}"; - url = - "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip"; + url = "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip"; sha256 = "0b4kjdk0h0hx446swi0wzawia0mf16qh9b6v4h4nqg8qx0p2sd3c"; }; @@ -19,8 +22,7 @@ stdenvNoCC.mkDerivation rec { ''; meta = { - description = - "The MOE Li Font, a clerical Chinese font by the Ministry of Education, ROC (Taiwan)"; + description = "The MOE Li Font, a clerical Chinese font by the Ministry of Education, ROC (Taiwan)"; longDescription = '' The MOE Li Font is a li (clerical srcipt) font provided by @@ -28,8 +30,7 @@ stdenvNoCC.mkDerivation rec { It currently includes 4,808 Chinese characters. The clerical script (lishu) is an archaic style of Chinese calligraphy. ''; - homepage = - "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=49"; + homepage = "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=49"; license = lib.licenses.cc-by-nd-30; maintainers = with lib.maintainers; [ ShamrockLee ]; }; diff --git a/pkgs/by-name/ed/edusong/package.nix b/pkgs/by-name/ed/edusong/package.nix index fa4d13693b12f..4c9901f0c7667 100644 --- a/pkgs/by-name/ed/edusong/package.nix +++ b/pkgs/by-name/ed/edusong/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchzip }: +{ + stdenvNoCC, + lib, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "edusong"; @@ -6,8 +10,7 @@ stdenvNoCC.mkDerivation rec { src = fetchzip { name = "${pname}-${version}"; - url = - "https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip"; + url = "https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip"; hash = "sha256-pIG1EbFGf2O2AzM4+HCCvGPodBBwUt7ozpb+BpPk5Kw="; }; @@ -17,15 +20,13 @@ stdenvNoCC.mkDerivation rec { ''; meta = { - description = - "The MOE Standard Song Font, a Chinese font by the Ministry of Education, ROC (Taiwan)"; + description = "The MOE Standard Song Font, a Chinese font by the Ministry of Education, ROC (Taiwan)"; longDescription = '' The MOE Standard Song Font is a Chinese Song font provided by the Midistry of Education, Republic of China (Taiwan). Song or Ming is a category of CKJ typefaces in print. ''; - homepage = - "https://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=48"; + homepage = "https://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=48"; license = lib.licenses.cc-by-nd-30; maintainers = with lib.maintainers; [ ShamrockLee ]; }; diff --git a/pkgs/by-name/ed/eduvpn-client/package.nix b/pkgs/by-name/ed/eduvpn-client/package.nix index d5313bdeff005..c0325f50d9c48 100644 --- a/pkgs/by-name/ed/eduvpn-client/package.nix +++ b/pkgs/by-name/ed/eduvpn-client/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchurl -, gdk-pixbuf -, gobject-introspection -, gtk3 -, libnotify -, libsecret -, networkmanager -, python3Packages -, wrapGAppsHook3 +{ + lib, + fetchurl, + gdk-pixbuf, + gobject-introspection, + gtk3, + libnotify, + libsecret, + networkmanager, + python3Packages, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { @@ -49,7 +50,10 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/eduvpn/python-eduvpn-client"; license = licenses.gpl3Plus; mainProgram = "eduvpn-gui"; - maintainers = with maintainers; [ benneti jwijenbergh ]; + maintainers = with maintainers; [ + benneti + jwijenbergh + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ed/edwin/package.nix b/pkgs/by-name/ed/edwin/package.nix index 58a2ed3e3ec68..fc2a84215fa91 100644 --- a/pkgs/by-name/ed/edwin/package.nix +++ b/pkgs/by-name/ed/edwin/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "edwin"; diff --git a/pkgs/by-name/ed/edwood/package.nix b/pkgs/by-name/ed/edwood/package.nix index fc32c5ed39378..04fc2084ffb17 100644 --- a/pkgs/by-name/ed/edwood/package.nix +++ b/pkgs/by-name/ed/edwood/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, plan9port +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + plan9port, }: buildGoModule rec { @@ -41,7 +42,10 @@ buildGoModule rec { meta = with lib; { description = "Go version of Plan9 Acme Editor"; homepage = "https://github.com/rjkroege/edwood"; - license = with licenses; [ mit bsd3 ]; + license = with licenses; [ + mit + bsd3 + ]; maintainers = with maintainers; [ kranzes ]; mainProgram = "edwood"; }; diff --git a/pkgs/by-name/ef/eff/package.nix b/pkgs/by-name/ef/eff/package.nix index 998efe0c790e1..95e041383fdfe 100644 --- a/pkgs/by-name/ef/eff/package.nix +++ b/pkgs/by-name/ef/eff/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: let inherit (ocamlPackages) buildDunePackage js_of_ocaml menhir; diff --git a/pkgs/by-name/ef/efficient-compression-tool/package.nix b/pkgs/by-name/ef/efficient-compression-tool/package.nix index 52a0820abaeae..7b01069437d9e 100644 --- a/pkgs/by-name/ef/efficient-compression-tool/package.nix +++ b/pkgs/by-name/ef/efficient-compression-tool/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cmake -, nasm -, libpng +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + nasm, + libpng, }: stdenv.mkDerivation rec { @@ -19,11 +20,17 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake nasm ]; + nativeBuildInputs = [ + cmake + nasm + ]; patches = [ ./use-nixpkgs-libpng.patch ]; - buildInputs = [ boost libpng ]; + buildInputs = [ + boost + libpng + ]; cmakeDir = "../src"; diff --git a/pkgs/by-name/ef/effitask/package.nix b/pkgs/by-name/ef/effitask/package.nix index 345f87d84a1cf..4e28dcc89da92 100644 --- a/pkgs/by-name/ef/effitask/package.nix +++ b/pkgs/by-name/ef/effitask/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, gtk3 -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + gtk3, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -22,7 +23,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl gtk3 ]; + buildInputs = [ + openssl + gtk3 + ]; # default installPhase don't install assets installPhase = '' diff --git a/pkgs/by-name/ef/efitools/package.nix b/pkgs/by-name/ef/efitools/package.nix index fac59ef8d7737..8f793128f4beb 100644 --- a/pkgs/by-name/ef/efitools/package.nix +++ b/pkgs/by-name/ef/efitools/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, gnu-efi, openssl, sbsigntool, perl, perlPackages, -help2man, fetchzip }: +{ + lib, + stdenv, + gnu-efi, + openssl, + sbsigntool, + perl, + perlPackages, + help2man, + fetchzip, +}: stdenv.mkDerivation rec { pname = "efitools"; version = "1.9.2"; diff --git a/pkgs/by-name/ef/efivar/package.nix b/pkgs/by-name/ef/efivar/package.nix index 1fdbba4284b4f..982e7cff6c16e 100644 --- a/pkgs/by-name/ef/efivar/package.nix +++ b/pkgs/by-name/ef/efivar/package.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, buildPackages, fetchFromGitHub, fetchpatch, pkg-config, popt, mandoc }: +{ + lib, + stdenv, + buildPackages, + fetchFromGitHub, + fetchpatch, + pkg-config, + popt, + mandoc, +}: stdenv.mkDerivation rec { pname = "efivar"; version = "39"; - outputs = [ "bin" "out" "dev" "man" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + ]; src = fetchFromGitHub { owner = "rhboot"; @@ -13,7 +27,10 @@ stdenv.mkDerivation rec { hash = "sha256-s/1k5a3n33iLmSpKQT5u08xoj8ypjf2Vzln88OBrqf0="; }; - nativeBuildInputs = [ pkg-config mandoc ]; + nativeBuildInputs = [ + pkg-config + mandoc + ]; buildInputs = [ popt ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/by-name/ef/efm-langserver/package.nix b/pkgs/by-name/ef/efm-langserver/package.nix index a40097db269b2..d87544198d276 100644 --- a/pkgs/by-name/ef/efm-langserver/package.nix +++ b/pkgs/by-name/ef/efm-langserver/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "efm-langserver"; diff --git a/pkgs/by-name/ef/efont-unicode/package.nix b/pkgs/by-name/ef/efont-unicode/package.nix index cc41646a1263f..5f62f9eb627f7 100644 --- a/pkgs/by-name/ef/efont-unicode/package.nix +++ b/pkgs/by-name/ef/efont-unicode/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libfaketime, xorg }: +{ + lib, + stdenv, + fetchurl, + libfaketime, + xorg, +}: stdenv.mkDerivation rec { pname = "efont-unicode"; @@ -9,8 +15,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-fT7SsYlV3dCQrf0IZfiNI1grj3ngDgr8IkWdg+f9m3M="; }; - nativeBuildInputs = with xorg; - [ libfaketime bdftopcf fonttosfnt mkfontscale ]; + nativeBuildInputs = with xorg; [ + libfaketime + bdftopcf + fonttosfnt + mkfontscale + ]; buildPhase = '' runHook preBuild @@ -42,7 +52,10 @@ stdenv.mkDerivation rec { runHook postInstall ''; - outputs = [ "out" "bdf" ]; + outputs = [ + "out" + "bdf" + ]; meta = with lib; { description = "/efont/ Unicode bitmap font"; diff --git a/pkgs/by-name/eg/eget/package.nix b/pkgs/by-name/eg/eget/package.nix index 89aa759741ae8..401795ba0e4f6 100644 --- a/pkgs/by-name/eg/eget/package.nix +++ b/pkgs/by-name/eg/eget/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, pandoc -, installShellFiles -, nix-update-script -, testers -, eget +{ + lib, + fetchFromGitHub, + buildGoModule, + pandoc, + installShellFiles, + nix-update-script, + testers, + eget, }: buildGoModule rec { @@ -21,9 +22,16 @@ buildGoModule rec { vendorHash = "sha256-A3lZtV0pXh4KxINl413xGbw2Pz7OzvIQiFSRubH428c="; - ldflags = [ "-s" "-w" "-X main.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=v${version}" + ]; - nativeBuildInputs = [ pandoc installShellFiles ]; + nativeBuildInputs = [ + pandoc + installShellFiles + ]; postInstall = '' pandoc man/eget.md -s -t man -o eget.1 diff --git a/pkgs/by-name/eg/eggdbus/package.nix b/pkgs/by-name/eg/eggdbus/package.nix index c5ede8488511f..69797db314cdb 100644 --- a/pkgs/by-name/eg/eggdbus/package.nix +++ b/pkgs/by-name/eg/eggdbus/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, dbus, dbus-glib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + dbus, + dbus-glib, +}: stdenv.mkDerivation rec { pname = "eggdbus"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib dbus dbus-glib ]; + buildInputs = [ + glib + dbus + dbus-glib + ]; meta = with lib; { homepage = "https://hal.freedesktop.org/releases/"; diff --git a/pkgs/by-name/eg/eggdrop/package.nix b/pkgs/by-name/eg/eggdrop/package.nix index 7f5b7afb32e72..da007bc129f7d 100644 --- a/pkgs/by-name/eg/eggdrop/package.nix +++ b/pkgs/by-name/eg/eggdrop/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, tcl }: +{ + lib, + stdenv, + fetchurl, + tcl, +}: stdenv.mkDerivation rec { pname = "eggdrop"; diff --git a/pkgs/by-name/eg/egglog/package.nix b/pkgs/by-name/eg/egglog/package.nix index f730d0ec55eaf..1e947e1cfcb31 100644 --- a/pkgs/by-name/eg/egglog/package.nix +++ b/pkgs/by-name/eg/egglog/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/eg/eggnog-mapper/package.nix b/pkgs/by-name/eg/eggnog-mapper/package.nix index d7bba930abca6..8a8cfe376028f 100644 --- a/pkgs/by-name/eg/eggnog-mapper/package.nix +++ b/pkgs/by-name/eg/eggnog-mapper/package.nix @@ -1,9 +1,10 @@ -{ lib -, autoPatchelfHook -, fetchFromGitHub -, python3Packages -, wget -, zlib +{ + lib, + autoPatchelfHook, + fetchFromGitHub, + python3Packages, + wget, + zlib, }: python3Packages.buildPythonApplication rec { @@ -31,13 +32,15 @@ python3Packages.buildPythonApplication rec { zlib ]; - propagatedBuildInputs = [ - wget - ] ++ (with python3Packages; [ - biopython - psutil - xlsxwriter - ]); + propagatedBuildInputs = + [ + wget + ] + ++ (with python3Packages; [ + biopython + psutil + xlsxwriter + ]); # Tests rely on some of the databases being available, which is not bundled # with this package as (1) in total, they represent >100GB of data, and (2) diff --git a/pkgs/by-name/eg/eglexternalplatform/package.nix b/pkgs/by-name/eg/eglexternalplatform/package.nix index cd545f69f048a..51f865708ddd1 100644 --- a/pkgs/by-name/eg/eglexternalplatform/package.nix +++ b/pkgs/by-name/eg/eglexternalplatform/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-t0dka5aUv5hB4G8PbSGiIY74XIFAsmo5a7dfWb2QCLM="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; meta = with lib; { description = "EGL External Platform interface"; diff --git a/pkgs/by-name/eg/ego/package.nix b/pkgs/by-name/eg/ego/package.nix index 67a71a196bd76..afc427fd2e574 100644 --- a/pkgs/by-name/eg/ego/package.nix +++ b/pkgs/by-name/eg/ego/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeBinaryWrapper -, acl -, xorg +{ + lib, + rustPlatform, + fetchFromGitHub, + makeBinaryWrapper, + acl, + xorg, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/eg/egoboo/package.nix b/pkgs/by-name/eg/egoboo/package.nix index ba89e4ca7afde..91c9a44935ed1 100644 --- a/pkgs/by-name/eg/egoboo/package.nix +++ b/pkgs/by-name/eg/egoboo/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_ttf }: +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + SDL, + SDL_mixer, + SDL_image, + SDL_ttf, +}: stdenv.mkDerivation rec { # pf5234 (a developer?) at freenode #egoboo told me that I better use 2.7.3 until @@ -29,7 +39,14 @@ stdenv.mkDerivation rec { cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/egoboo-${version} ''; - buildInputs = [ libGLU libGL SDL SDL_mixer SDL_image SDL_ttf ]; + buildInputs = [ + libGLU + libGL + SDL + SDL_mixer + SDL_image + SDL_ttf + ]; /* This big commented thing may be needed for versions 2.8.0 or beyond diff --git a/pkgs/by-name/eg/egypt/package.nix b/pkgs/by-name/eg/egypt/package.nix index 5c9b4ef0453df..71edbdb891f59 100644 --- a/pkgs/by-name/eg/egypt/package.nix +++ b/pkgs/by-name/eg/egypt/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, perlPackages }: +{ + lib, + fetchurl, + perlPackages, +}: perlPackages.buildPerlPackage rec { pname = "egypt"; @@ -27,7 +31,10 @@ perlPackages.buildPerlPackage rec { together. ''; homepage = "http://www.gson.org/egypt/"; - license = with licenses; [ artistic1 gpl1Plus ]; + license = with licenses; [ + artistic1 + gpl1Plus + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ei/eiciel/package.nix b/pkgs/by-name/ei/eiciel/package.nix index 4e9112a237f9b..0866b0070c322 100644 --- a/pkgs/by-name/ei/eiciel/package.nix +++ b/pkgs/by-name/ei/eiciel/package.nix @@ -1,23 +1,27 @@ -{ lib -, fetchFromGitHub -, stdenv -, acl -, glibmm_2_68 -, gtkmm4 -, meson -, nautilus -, ninja -, pkg-config -, itstool -, wrapGAppsHook4 -, gtk4 +{ + lib, + fetchFromGitHub, + stdenv, + acl, + glibmm_2_68, + gtkmm4, + meson, + nautilus, + ninja, + pkg-config, + itstool, + wrapGAppsHook4, + gtk4, }: stdenv.mkDerivation rec { pname = "eiciel"; version = "0.10.1"; - outputs = [ "out" "nautilusExtension" ]; + outputs = [ + "out" + "nautilusExtension" + ]; src = fetchFromGitHub { owner = "rofirrim"; diff --git a/pkgs/by-name/ei/eigenmath/package.nix b/pkgs/by-name/ei/eigenmath/package.nix index 6bc426b268010..dc37ce7776eff 100644 --- a/pkgs/by-name/ei/eigenmath/package.nix +++ b/pkgs/by-name/ei/eigenmath/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -16,15 +17,19 @@ stdenv.mkDerivation rec { hash = "sha256-YnSNXlH8l8+2WeoiLpPuzepv/Mtxa1ltGpgcln+Emgw="; }; - checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in '' - runHook preCheck + checkPhase = + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + runHook preCheck - for testcase in selftest1 selftest2; do - ${emulator} ./eigenmath "test/$testcase" - done + for testcase in selftest1 selftest2; do + ${emulator} ./eigenmath "test/$testcase" + done - runHook postCheck - ''; + runHook postCheck + ''; installPhase = '' runHook preInstall @@ -38,7 +43,7 @@ stdenv.mkDerivation rec { updateScript = unstableGitUpdater { }; }; - meta = with lib;{ + meta = with lib; { description = "Computer algebra system written in C"; mainProgram = "eigenmath"; homepage = "https://georgeweigt.github.io"; diff --git a/pkgs/by-name/ei/eiwd/package.nix b/pkgs/by-name/ei/eiwd/package.nix index 281837fd4bd4f..91c06efbb0d14 100644 --- a/pkgs/by-name/ei/eiwd/package.nix +++ b/pkgs/by-name/ei/eiwd/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, python3Packages # for tests -, openssl # for tests -, enableManpages ? true -, docutils # for manpages +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + python3Packages, # for tests + openssl, # for tests + enableManpages ? true, + docutils, # for manpages }: stdenv.mkDerivation (finalAttrs: { @@ -21,35 +22,43 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - outputs = [ - "out" "doc" - ] ++ lib.optionals enableManpages [ - "man" - ] ++ lib.optionals finalAttrs.doCheck [ - "test" - ]; + outputs = + [ + "out" + "doc" + ] + ++ lib.optionals enableManpages [ + "man" + ] + ++ lib.optionals finalAttrs.doCheck [ + "test" + ]; postUnpack = '' patchShebangs . ''; - nativeBuildInputs = [ - autoreconfHook - pkg-config - ] ++ lib.optionals enableManpages [ - docutils # only for the man pages - ]; + nativeBuildInputs = + [ + autoreconfHook + pkg-config + ] + ++ lib.optionals enableManpages [ + docutils # only for the man pages + ]; checkInputs = [ python3Packages.python (lib.getBin openssl) ]; - configureFlags = [ - "--disable-dbus" - ] ++ lib.optionals (!enableManpages) [ - "--disable-manual-pages" - ]; + configureFlags = + [ + "--disable-dbus" + ] + ++ lib.optionals (!enableManpages) [ + "--disable-manual-pages" + ]; enableParallelBuilding = true; @@ -65,14 +74,16 @@ stdenv.mkDerivation (finalAttrs: { 'true' ''; - postInstall = '' - mkdir -p $doc/share/doc - cp -a doc $doc/share/doc/iwd - cp -a README AUTHORS TODO $doc/share/doc/iwd - '' + lib.optionalString finalAttrs.finalPackage.doCheck '' - mkdir -p $test/bin - cp -a test/* $test/bin/ - ''; + postInstall = + '' + mkdir -p $doc/share/doc + cp -a doc $doc/share/doc/iwd + cp -a README AUTHORS TODO $doc/share/doc/iwd + '' + + lib.optionalString finalAttrs.finalPackage.doCheck '' + mkdir -p $test/bin + cp -a test/* $test/bin/ + ''; meta = with lib; { homepage = "https://github.com/illiliti/eiwd/"; diff --git a/pkgs/by-name/ej/ejabberd/package.nix b/pkgs/by-name/ej/ejabberd/package.nix index 106a46d6c1452..c8fe8997962b0 100644 --- a/pkgs/by-name/ej/ejabberd/package.nix +++ b/pkgs/by-name/ej/ejabberd/package.nix @@ -139,7 +139,7 @@ let ]; in -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "ejabberd"; version = "24.10"; diff --git a/pkgs/by-name/ej/ejson2env/package.nix b/pkgs/by-name/ej/ejson2env/package.nix index 784d32b20c457..2d1a57df40fe4 100644 --- a/pkgs/by-name/ej/ejson2env/package.nix +++ b/pkgs/by-name/ej/ejson2env/package.nix @@ -1,4 +1,12 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, callPackage, ejson2env }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + testers, + callPackage, + ejson2env, +}: buildGoModule rec { pname = "ejson2env"; @@ -23,7 +31,7 @@ buildGoModule rec { updateScript = nix-update-script { }; tests = { version = testers.testVersion { package = ejson2env; }; - decryption = callPackage ./test-decryption.nix {}; + decryption = callPackage ./test-decryption.nix { }; }; }; diff --git a/pkgs/by-name/ej/ejson2env/test-decryption.nix b/pkgs/by-name/ej/ejson2env/test-decryption.nix index d4402a68f9d69..8f6d7c6a72a4c 100644 --- a/pkgs/by-name/ej/ejson2env/test-decryption.nix +++ b/pkgs/by-name/ej/ejson2env/test-decryption.nix @@ -1,19 +1,21 @@ { ejson2env, runCommand }: -runCommand "check-ejson2env.sh" { - nativeBuildInputs = [ ejson2env ]; -} '' - cat > $TMP/abc.ejson < $TMP/abc.ejson < dwfl_thread_getframes: No DWARF information found - sed -i s/run-backtrace-dwarf.sh//g tests/Makefile.in - ''; + postPatch = + '' + patchShebangs tests/*.sh + '' + + lib.optionalString stdenv.hostPlatform.isRiscV '' + # disable failing test: + # + # > dwfl_thread_getframes: No DWARF information found + sed -i s/run-backtrace-dwarf.sh//g tests/Makefile.in + ''; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + ]; # We need bzip2 in NativeInputs because otherwise we can't unpack the src, # as the host-bzip2 will be in the path. - nativeBuildInputs = [ m4 bison flex gettext bzip2 ] + nativeBuildInputs = + [ + m4 + bison + flex + gettext + bzip2 + ] ++ lib.optional enableDebuginfod pkg-config ++ lib.optional (stdenv.targetPlatform.useLLVM or false) autoreconfHook; - buildInputs = [ zlib zstd bzip2 xz ] + buildInputs = + [ + zlib + zstd + bzip2 + xz + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - argp-standalone - musl-fts - musl-obstack - ] ++ lib.optionals enableDebuginfod [ - sqlite - curl - libmicrohttpd - libarchive - ]; + argp-standalone + musl-fts + musl-obstack + ] + ++ lib.optionals enableDebuginfod [ + sqlite + curl + libmicrohttpd + libarchive + ]; propagatedNativeBuildInputs = [ setupDebugInfoDirs ]; - configureFlags = [ - "--program-prefix=eu-" # prevent collisions with binutils - "--enable-deterministic-archives" - (lib.enableFeature enableDebuginfod "libdebuginfod") - (lib.enableFeature enableDebuginfod "debuginfod") + configureFlags = + [ + "--program-prefix=eu-" # prevent collisions with binutils + "--enable-deterministic-archives" + (lib.enableFeature enableDebuginfod "libdebuginfod") + (lib.enableFeature enableDebuginfod "debuginfod") - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 - # Versioned symbols are nice to have, but we can do without. - (lib.enableFeature (!stdenv.hostPlatform.isMicroBlaze) "symbol-versioning") - ] ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "--disable-demangler" + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 + # Versioned symbols are nice to have, but we can do without. + (lib.enableFeature (!stdenv.hostPlatform.isMicroBlaze) "symbol-versioning") + ] + ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "--disable-demangler" ++ lib.optionals stdenv.cc.isClang [ "CFLAGS=-Wno-unused-private-field" "CXXFLAGS=-Wno-unused-private-field" @@ -89,7 +134,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = # Backtrace unwinding tests rely on glibc-internal symbol names. # Musl provides slightly different forms and fails. @@ -98,8 +142,7 @@ stdenv.mkDerivation rec { # Test suite tries using `uname` to determine whether certain tests # can be executed, so we need to match build and host platform exactly. && (stdenv.hostPlatform == stdenv.buildPlatform); - doInstallCheck = !stdenv.hostPlatform.isMusl - && (stdenv.hostPlatform == stdenv.buildPlatform); + doInstallCheck = !stdenv.hostPlatform.isMusl && (stdenv.hostPlatform == stdenv.buildPlatform); passthru.updateScript = gitUpdater { url = "https://sourceware.org/git/elfutils.git"; @@ -114,7 +157,11 @@ stdenv.mkDerivation rec { badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ]; # licenses are GPL2 or LGPL3+ for libraries, GPL3+ for bins, # but since this package isn't split that way, all three are listed. - license = with licenses; [ gpl2Only lgpl3Plus gpl3Plus ]; + license = with licenses; [ + gpl2Only + lgpl3Plus + gpl3Plus + ]; maintainers = with maintainers; [ r-burns ]; }; } diff --git a/pkgs/by-name/el/elfx86exts/package.nix b/pkgs/by-name/el/elfx86exts/package.nix index 727102b9dccb7..0f4aa3e756628 100644 --- a/pkgs/by-name/el/elfx86exts/package.nix +++ b/pkgs/by-name/el/elfx86exts/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/el/eli/package.nix b/pkgs/by-name/el/eli/package.nix index 7cd9413991fc6..fb052cc170a6a 100644 --- a/pkgs/by-name/el/eli/package.nix +++ b/pkgs/by-name/el/eli/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchurl -, symlinkJoin -, makeWrapper -, tcl -, fontconfig -, tk -, ncurses -, xorg -, file +{ + lib, + stdenv, + fetchurl, + symlinkJoin, + makeWrapper, + tcl, + fontconfig, + tk, + ncurses, + xorg, + file, }: let @@ -33,18 +35,20 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/project/eli-project/Eli/Eli%20${version}/${pname}-${version}.tar.bz2"; - sha256="1vran8583hbwrr5dciji4zkhz3f88w4mn8n9sdpr6zw0plpf1whj"; + sha256 = "1vran8583hbwrr5dciji4zkhz3f88w4mn8n9sdpr6zw0plpf1whj"; }; - buildInputs = [ - ncurses - fontconfig - ] ++ (with xorg; [ - libX11.dev - libXt.dev - libXaw.dev - libXext.dev - ]); + buildInputs = + [ + ncurses + fontconfig + ] + ++ (with xorg; [ + libX11.dev + libXt.dev + libXaw.dev + libXext.dev + ]); nativeBuildInputs = [ file @@ -58,7 +62,7 @@ stdenv.mkDerivation rec { # ld: cexp.o:(.bss+0x40): multiple definition of `obstck'; cccp.o:(.bss+0x0): first defined here env.NIX_CFLAGS_COMPILE = "-fcommon"; - preConfigure='' + preConfigure = '' configureFlagsArray=( --with-tcltk="${tcl} ${tk_combined}" --with-curses="${curses_combined}" diff --git a/pkgs/by-name/el/elkhound/package.nix b/pkgs/by-name/el/elkhound/package.nix index 562c11a5278a7..a5f4b3543fc42 100644 --- a/pkgs/by-name/el/elkhound/package.nix +++ b/pkgs/by-name/el/elkhound/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, bison -, cmake -, flex -, perl +{ + stdenv, + lib, + fetchFromGitHub, + bison, + cmake, + flex, + perl, }: stdenv.mkDerivation rec { @@ -24,7 +25,12 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - nativeBuildInputs = [ bison cmake flex perl ]; + nativeBuildInputs = [ + bison + cmake + flex + perl + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/el/elliptic_curves/package.nix b/pkgs/by-name/el/elliptic_curves/package.nix index 55c03afbc4c20..314d6b9b310b9 100644 --- a/pkgs/by-name/el/elliptic_curves/package.nix +++ b/pkgs/by-name/el/elliptic_curves/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchurl -, python3 +{ + lib, + stdenv, + fetchurl, + python3, }: stdenv.mkDerivation rec { @@ -12,7 +14,6 @@ stdenv.mkDerivation rec { sha256 = "0l7xh4abw5sb4d37r0ylr3vwb88fpx2zrvfm5ql0c7yrv5q59fjz"; }; - # Script that creates the sqlite database from the allcurves textfile spkg-install = fetchurl { url = "https://raw.githubusercontent.com/sagemath/sage/07d6c37d18811e2b377a9689790a7c5e24da16ba/build/pkgs/${pname}/spkg-install.py"; diff --git a/pkgs/by-name/el/elmerfem/package.nix b/pkgs/by-name/el/elmerfem/package.nix index 309e81fad7463..820781d98759a 100644 --- a/pkgs/by-name/el/elmerfem/package.nix +++ b/pkgs/by-name/el/elmerfem/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gfortran -, mpi -, blas -, liblapack -, pkg-config -, libGL -, libGLU -, opencascade-occt_7_6 -, libsForQt5 -, tbb -, vtkWithQt5 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gfortran, + mpi, + blas, + liblapack, + pkg-config, + libGL, + libGLU, + opencascade-occt_7_6, + libsForQt5, + tbb, + vtkWithQt5, }: let opencascade-occt = opencascade-occt_7_6; @@ -58,23 +59,26 @@ stdenv.mkDerivation rec { storepath = placeholder "out"; cmakeFlags = [ - "-DELMER_INSTALL_LIB_DIR=${storepath}/lib" - "-DWITH_OpenMP:BOOLEAN=TRUE" - "-DWITH_MPI:BOOLEAN=TRUE" - "-DWITH_QT5:BOOLEAN=TRUE" - "-DWITH_OCC:BOOLEAN=TRUE" - "-DWITH_VTK:BOOLEAN=TRUE" - "-DWITH_ELMERGUI:BOOLEAN=TRUE" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_OpenGL_GL_PREFERENCE=GLVND" + "-DELMER_INSTALL_LIB_DIR=${storepath}/lib" + "-DWITH_OpenMP:BOOLEAN=TRUE" + "-DWITH_MPI:BOOLEAN=TRUE" + "-DWITH_QT5:BOOLEAN=TRUE" + "-DWITH_OCC:BOOLEAN=TRUE" + "-DWITH_VTK:BOOLEAN=TRUE" + "-DWITH_ELMERGUI:BOOLEAN=TRUE" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_OpenGL_GL_PREFERENCE=GLVND" ]; meta = with lib; { homepage = "https://elmerfem.org"; description = "Finite element software for multiphysical problems"; platforms = platforms.unix; - maintainers = with maintainers; [ wulfsta broke ]; + maintainers = with maintainers; [ + wulfsta + broke + ]; license = licenses.lgpl21; }; diff --git a/pkgs/by-name/el/elogind/package.nix b/pkgs/by-name/el/elogind/package.nix index 3d23056e69d11..95b90e030d947 100644 --- a/pkgs/by-name/el/elogind/package.nix +++ b/pkgs/by-name/el/elogind/package.nix @@ -1,36 +1,37 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchurl -, fetchpatch -, meson -, ninja -, m4 -, gperf -, getent -, acl -, audit -, dbus -, libcap -, libselinux -, pam -, gettext -, pkg-config -, udev -, eudev -, util-linux -, libxslt -, python3Packages -, docbook5 -, docbook_xsl -, docbook_xsl_ns -, docbook_xml_dtd_42 -, docbook_xml_dtd_45 +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + fetchpatch, + meson, + ninja, + m4, + gperf, + getent, + acl, + audit, + dbus, + libcap, + libselinux, + pam, + gettext, + pkg-config, + udev, + eudev, + util-linux, + libxslt, + python3Packages, + docbook5, + docbook_xsl, + docbook_xsl_ns, + docbook_xml_dtd_42, + docbook_xml_dtd_45, -# Defaulting to false because usually the rationale for using elogind is to -# use it in situation where a systemd dependency does not work (especially -# when building with musl, which elogind explicitly supports). -, enableSystemd ? false + # Defaulting to false because usually the rationale for using elogind is to + # use it in situation where a systemd dependency does not work (especially + # when building with musl, which elogind explicitly supports). + enableSystemd ? false, }: stdenv.mkDerivation rec { @@ -54,14 +55,25 @@ stdenv.mkDerivation rec { libcap gettext libxslt.bin # xsltproc - docbook5 docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 docbook_xml_dtd_45 # needed for docbook without Internet + docbook5 + docbook_xsl + docbook_xsl_ns + docbook_xml_dtd_42 + docbook_xml_dtd_45 # needed for docbook without Internet python3Packages.python python3Packages.jinja2 ]; - buildInputs = [ acl audit dbus libcap libselinux pam util-linux ] - ++ (if enableSystemd then [ udev ] else [ eudev ]); + buildInputs = [ + acl + audit + dbus + libcap + libselinux + pam + util-linux + ] ++ (if enableSystemd then [ udev ] else [ eudev ]); postPatch = '' substituteInPlace meson.build --replace-fail "install_emptydir(elogindstatedir)" "" diff --git a/pkgs/by-name/el/elpa/package.nix b/pkgs/by-name/el/elpa/package.nix index 03e6595d12396..c4e7c82f01b3f 100644 --- a/pkgs/by-name/el/elpa/package.nix +++ b/pkgs/by-name/el/elpa/package.nix @@ -1,18 +1,27 @@ -{ lib, stdenv, fetchurl, autoreconfHook, mpiCheckPhaseHook -, perl, mpi, blas, lapack, scalapack -# CPU optimizations -, avxSupport ? stdenv.hostPlatform.avxSupport -, avx2Support ? stdenv.hostPlatform.avx2Support -, avx512Support ? stdenv.hostPlatform.avx512Support -, config -# Enable NIVIA GPU support -# Note, that this needs to be built on a system with a GPU -# present for the tests to succeed. -, enableCuda ? config.cudaSupport -# type of GPU architecture -, nvidiaArch ? "sm_60" -, cudaPackages -} : +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + mpiCheckPhaseHook, + perl, + mpi, + blas, + lapack, + scalapack, + # CPU optimizations + avxSupport ? stdenv.hostPlatform.avxSupport, + avx2Support ? stdenv.hostPlatform.avx2Support, + avx512Support ? stdenv.hostPlatform.avx512Support, + config, + # Enable NIVIA GPU support + # Note, that this needs to be built on a system with a GPU + # present for the tests to succeed. + enableCuda ? config.cudaSupport, + # type of GPU architecture + nvidiaArch ? "sm_60", + cudaPackages, +}: assert blas.isILP64 == lapack.isILP64; assert blas.isILP64 == scalapack.isILP64; @@ -41,12 +50,25 @@ stdenv.mkDerivation rec { substituteInPlace Makefile.am --replace '#!/bin/bash' '#!${stdenv.shell}' ''; - outputs = [ "out" "doc" "man" "dev" ]; - - nativeBuildInputs = [ autoreconfHook perl ] - ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ]; + outputs = [ + "out" + "doc" + "man" + "dev" + ]; - buildInputs = [ mpi blas lapack scalapack ] + nativeBuildInputs = [ + autoreconfHook + perl + ] ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ]; + + buildInputs = + [ + mpi + blas + lapack + scalapack + ] ++ lib.optionals enableCuda [ cudaPackages.cuda_cudart cudaPackages.libcublas @@ -59,26 +81,33 @@ stdenv.mkDerivation rec { export CPP="cpp" # These need to be set for configure to succeed - export FCFLAGS="${lib.optionalString stdenv.hostPlatform.isx86_64 "-msse3 " + export FCFLAGS="${ + lib.optionalString stdenv.hostPlatform.isx86_64 "-msse3 " + lib.optionalString avxSupport "-mavx " + lib.optionalString avx2Support "-mavx2 -mfma " - + lib.optionalString avx512Support "-mavx512"}" + + lib.optionalString avx512Support "-mavx512" + }" export CFLAGS=$FCFLAGS ''; - configureFlags = [ - "--with-mpi" - "--enable-openmp" - "--without-threading-support-check-during-build" - ] ++ lib.optional blas.isILP64 "--enable-64bit-integer-math-support" + configureFlags = + [ + "--with-mpi" + "--enable-openmp" + "--without-threading-support-check-during-build" + ] + ++ lib.optional blas.isILP64 "--enable-64bit-integer-math-support" ++ lib.optional (!avxSupport) "--disable-avx" ++ lib.optional (!avx2Support) "--disable-avx2" ++ lib.optional (!avx512Support) "--disable-avx512" ++ lib.optional (!stdenv.hostPlatform.isx86_64) "--disable-sse" ++ lib.optional (!stdenv.hostPlatform.isx86_64) "--disable-sse-assembly" ++ lib.optional stdenv.hostPlatform.isx86_64 "--enable-sse-assembly" - ++ lib.optionals enableCuda [ "--enable-nvidia-gpu" "--with-NVIDIA-GPU-compute-capability=${nvidiaArch}" ]; + ++ lib.optionals enableCuda [ + "--enable-nvidia-gpu" + "--with-NVIDIA-GPU-compute-capability=${nvidiaArch}" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/el/eltclsh/package.nix b/pkgs/by-name/el/eltclsh/package.nix index ec54952406cf5..9753cd7200346 100644 --- a/pkgs/by-name/el/eltclsh/package.nix +++ b/pkgs/by-name/el/eltclsh/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchgit -, automake -, autoconf -, libtool -, libedit -, tcl -, tk +{ + lib, + fetchgit, + automake, + autoconf, + libtool, + libedit, + tcl, + tk, }: tcl.mkTclDerivation rec { diff --git a/pkgs/by-name/el/elvish/package.nix b/pkgs/by-name/el/elvish/package.nix index 36d2214a2a13e..b321018b3c319 100644 --- a/pkgs/by-name/el/elvish/package.nix +++ b/pkgs/by-name/el/elvish/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, callPackage +{ + lib, + buildGoModule, + fetchFromGitHub, + callPackage, }: let diff --git a/pkgs/by-name/el/elvish/tests/expect-version.nix b/pkgs/by-name/el/elvish/tests/expect-version.nix index b7935ceea6710..123b94e3cbd02 100644 --- a/pkgs/by-name/el/elvish/tests/expect-version.nix +++ b/pkgs/by-name/el/elvish/tests/expect-version.nix @@ -1,6 +1,7 @@ -{ stdenv -, elvish -, substituteAll +{ + stdenv, + elvish, + substituteAll, }: stdenv.mkDerivation { @@ -12,10 +13,12 @@ stdenv.mkDerivation { dontInstall = true; buildCommand = '' - elvish ${substituteAll { - src = ./expect-version.elv; - inherit (elvish) version; - }} + elvish ${ + substituteAll { + src = ./expect-version.elv; + inherit (elvish) version; + } + } touch $out ''; diff --git a/pkgs/by-name/em/em/package.nix b/pkgs/by-name/em/em/package.nix index 89da2d719fa8c..a70e2d19d779c 100644 --- a/pkgs/by-name/em/em/package.nix +++ b/pkgs/by-name/em/em/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/em/emacs-all-the-icons-fonts/package.nix b/pkgs/by-name/em/emacs-all-the-icons-fonts/package.nix index 256084a320fce..b5a443e9f0905 100644 --- a/pkgs/by-name/em/emacs-all-the-icons-fonts/package.nix +++ b/pkgs/by-name/em/emacs-all-the-icons-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "emacs-all-the-icons-fonts"; diff --git a/pkgs/by-name/em/emacs-lsp-booster/package.nix b/pkgs/by-name/em/emacs-lsp-booster/package.nix index b3f6af1b9dc6e..a901b2ade7530 100644 --- a/pkgs/by-name/em/emacs-lsp-booster/package.nix +++ b/pkgs/by-name/em/emacs-lsp-booster/package.nix @@ -17,13 +17,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-CvIJ56QrIzQULFeXYQXTpX9PoGx1/DWtgwzfJ+mljEI="; - nativeCheckInputs = [emacs]; # tests/bytecode_test + nativeCheckInputs = [ emacs ]; # tests/bytecode_test meta = with lib; { description = "Emacs LSP performance booster"; homepage = "https://github.com/blahgeek/emacs-lsp-booster"; license = licenses.mit; - maintainers = with maintainers; [icy-thought]; + maintainers = with maintainers; [ icy-thought ]; mainProgram = "emacs-lsp-booster"; }; } diff --git a/pkgs/by-name/em/emacsclient-commands/package.nix b/pkgs/by-name/em/emacsclient-commands/package.nix index 6eb42ec0b534a..31a0472baa0cd 100644 --- a/pkgs/by-name/em/emacsclient-commands/package.nix +++ b/pkgs/by-name/em/emacsclient-commands/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, gnumake +{ + lib, + fetchFromGitHub, + buildGoModule, + gnumake, }: buildGoModule { diff --git a/pkgs/by-name/em/email/package.nix b/pkgs/by-name/em/email/package.nix index 3472fdc172252..2b168ad5d1110 100644 --- a/pkgs/by-name/em/email/package.nix +++ b/pkgs/by-name/em/email/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, openssl }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + openssl, +}: let eMailSrc = fetchFromGitHub { diff --git a/pkgs/by-name/em/emblem/package.nix b/pkgs/by-name/em/emblem/package.nix index c0f9046fa9c82..2936a48c55074 100644 --- a/pkgs/by-name/em/emblem/package.nix +++ b/pkgs/by-name/em/emblem/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab -, rustPlatform -, cargo -, desktop-file-utils -, glib -, meson -, ninja -, pkg-config -, rustc -, wrapGAppsHook4 -, libadwaita -, libxml2 -, darwin +{ + lib, + stdenv, + fetchFromGitLab, + rustPlatform, + cargo, + desktop-file-utils, + glib, + meson, + ninja, + pkg-config, + rustc, + wrapGAppsHook4, + libadwaita, + libxml2, + darwin, }: stdenv.mkDerivation rec { @@ -46,16 +47,20 @@ stdenv.mkDerivation rec { rustc ]; - buildInputs = [ - libadwaita - libxml2 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + libadwaita + libxml2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-error=incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); meta = { description = "Generate project icons and avatars from a symbolic icon"; @@ -63,6 +68,10 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.gnome.org/World/design/emblem"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ figsoda foo-dogsquared aleksana ]; + maintainers = with lib.maintainers; [ + figsoda + foo-dogsquared + aleksana + ]; }; } diff --git a/pkgs/by-name/em/emboss/package.nix b/pkgs/by-name/em/emboss/package.nix index ef501c12f6b4f..fd0d2cac31927 100644 --- a/pkgs/by-name/em/emboss/package.nix +++ b/pkgs/by-name/em/emboss/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, readline, perl, libharu, libX11, libpng, libXt, zlib }: +{ + lib, + stdenv, + fetchurl, + readline, + perl, + libharu, + libX11, + libpng, + libXt, + zlib, +}: stdenv.mkDerivation rec { pname = "emboss"; @@ -9,9 +20,20 @@ stdenv.mkDerivation rec { sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e"; }; - buildInputs = [ readline perl libharu libpng libX11 libXt zlib ]; + buildInputs = [ + readline + perl + libharu + libpng + libX11 + libXt + zlib + ]; - configureFlags = [ "--with-hpdf=${libharu}" "--with-pngdriver=${zlib}" ]; + configureFlags = [ + "--with-hpdf=${libharu}" + "--with-pngdriver=${zlib}" + ]; postConfigure = '' sed -i 's@$(bindir)/embossupdate@true@' Makefile diff --git a/pkgs/by-name/em/emem/package.nix b/pkgs/by-name/em/emem/package.nix index 043be629fd28e..4fa8d670c4c5f 100644 --- a/pkgs/by-name/em/emem/package.nix +++ b/pkgs/by-name/em/emem/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jdk }: +{ + lib, + stdenv, + fetchurl, + jdk, +}: stdenv.mkDerivation rec { pname = "emem"; @@ -18,14 +23,14 @@ stdenv.mkDerivation rec { ''; installPhase = '' - cp $src $out/share/java/${pname}.jar + cp $src $out/share/java/${pname}.jar - cat > $out/bin/${pname} << EOF -#! $SHELL -$jdk/bin/java -jar $out/share/java/${pname}.jar "\$@" -EOF + cat > $out/bin/${pname} << EOF + #! $SHELL + $jdk/bin/java -jar $out/share/java/${pname}.jar "\$@" + EOF - chmod +x $out/bin/${pname} + chmod +x $out/bin/${pname} ''; meta = with lib; { diff --git a/pkgs/by-name/em/emma/package.nix b/pkgs/by-name/em/emma/package.nix index 4a284ac0d6032..f7067726da72f 100644 --- a/pkgs/by-name/em/emma/package.nix +++ b/pkgs/by-name/em/emma/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "emma"; diff --git a/pkgs/by-name/em/emmet-ls/package.nix b/pkgs/by-name/em/emmet-ls/package.nix index 5950dc5438555..fa988b483e716 100644 --- a/pkgs/by-name/em/emmet-ls/package.nix +++ b/pkgs/by-name/em/emmet-ls/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, fetchpatch +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchpatch, }: buildNpmPackage rec { diff --git a/pkgs/by-name/em/emocli/package.nix b/pkgs/by-name/em/emocli/package.nix index edf6b8dfc24d0..023046fc1b51d 100644 --- a/pkgs/by-name/em/emocli/package.nix +++ b/pkgs/by-name/em/emocli/package.nix @@ -1,4 +1,9 @@ -{ lib, buildNimPackage, fetchFromGitLab, unicode-emoji }: +{ + lib, + buildNimPackage, + fetchFromGitLab, + unicode-emoji, +}: buildNimPackage (finalAttrs: { pname = "emocli"; diff --git a/pkgs/by-name/em/emoji-picker/package.nix b/pkgs/by-name/em/emoji-picker/package.nix index 6a6d9a4815b05..76a5c8edda73c 100644 --- a/pkgs/by-name/em/emoji-picker/package.nix +++ b/pkgs/by-name/em/emoji-picker/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { pname = "emoji-picker"; @@ -13,7 +14,7 @@ buildGoModule rec { hash = "sha256-ElUsmuJ43kOsu4cGvNytM+xHTfuzMo0jcG8Z1cIeHJs="; }; - patches = [./xsys.patch]; + patches = [ ./xsys.patch ]; vendorHash = "sha256-Xeh5JKIBiyOXRGVx9udoUNs+Wv49BMyFvmnAbDfG3rA="; diff --git a/pkgs/by-name/em/emojify/package.nix b/pkgs/by-name/em/emojify/package.nix index 05833d9316549..f812a206920a0 100644 --- a/pkgs/by-name/em/emojify/package.nix +++ b/pkgs/by-name/em/emojify/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/em/emojipick/package.nix b/pkgs/by-name/em/emojipick/package.nix index 9c28c98bf0473..bb2bf0c3fede8 100644 --- a/pkgs/by-name/em/emojipick/package.nix +++ b/pkgs/by-name/em/emojipick/package.nix @@ -1,17 +1,18 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib -, python3 -, xclip -, libnotify -, dmenu -, rofi -, emojipick-use-rofi ? false -, emojipick-copy-to-clipboard ? true -, emojipick-show-notifications ? true -, emojipick-print-emoji ? true -, emojipick-font-family ? "Noto Color Emoji" -, emojipick-font-size ? "18" +{ + stdenvNoCC, + fetchFromGitHub, + lib, + python3, + xclip, + libnotify, + dmenu, + rofi, + emojipick-use-rofi ? false, + emojipick-copy-to-clipboard ? true, + emojipick-show-notifications ? true, + emojipick-print-emoji ? true, + emojipick-font-family ? "Noto Color Emoji", + emojipick-font-size ? "18", }: let @@ -49,7 +50,7 @@ stdenvNoCC.mkDerivation { python3 xclip libnotify - ] ++ (if emojipick-use-rofi then [rofi] else [dmenu]); + ] ++ (if emojipick-use-rofi then [ rofi ] else [ dmenu ]); installPhase = '' runHook preInstall diff --git a/pkgs/by-name/em/emptty/package.nix b/pkgs/by-name/em/emptty/package.nix index b4a55ece76757..c87ea85fe6b25 100644 --- a/pkgs/by-name/em/emptty/package.nix +++ b/pkgs/by-name/em/emptty/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, libX11 -, pam -, stdenv +{ + buildGoModule, + fetchFromGitHub, + lib, + libX11, + pam, + stdenv, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { hash = "sha256-xZfR4sn20fDaTNAxuxVflpr+8AFg5Z7vesO7P8Jxw6A="; }; - buildInputs = [ pam libX11 ]; + buildInputs = [ + pam + libX11 + ]; vendorHash = "sha256-PLyemAUcCz9H7+nAxftki3G7rQoEeyPzY3YUEj2RFn4="; diff --git a/pkgs/by-name/em/empty-epsilon/package.nix b/pkgs/by-name/em/empty-epsilon/package.nix index 5408d1f340d95..c61e1bce97023 100644 --- a/pkgs/by-name/em/empty-epsilon/package.nix +++ b/pkgs/by-name/em/empty-epsilon/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python3, glm, meshoptimizer, SDL2, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + sfml, + libX11, + glew, + python3, + glm, + meshoptimizer, + SDL2, + ninja, +}: let version = { @@ -26,7 +39,12 @@ let }; nativeBuildInputs = [ cmake ]; - buildInputs = [ sfml libX11 glm SDL2 ]; + buildInputs = [ + sfml + libX11 + glm + SDL2 + ]; cmakeFlags = [ (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_BASIS" "${basis-universal}") @@ -56,7 +74,16 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ serious-proton sfml glew libX11 python3 glm SDL2 ninja ]; + buildInputs = [ + serious-proton + sfml + glew + libX11 + python3 + glm + SDL2 + ninja + ]; cmakeFlags = [ (lib.cmakeFeature "SERIOUS_PROTON_DIR" "${serious-proton.src}") @@ -77,7 +104,10 @@ stdenv.mkDerivation { mainProgram = "EmptyEpsilon"; homepage = "https://daid.github.io/EmptyEpsilon/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ fpletz ma27 ]; + maintainers = with maintainers; [ + fpletz + ma27 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/em/empty/package.nix b/pkgs/by-name/em/empty/package.nix index 40e53ca239506..193d1b7d97734 100644 --- a/pkgs/by-name/em/empty/package.nix +++ b/pkgs/by-name/em/empty/package.nix @@ -1,4 +1,9 @@ -{ fetchzip, lib, stdenv, which }: +{ + fetchzip, + lib, + stdenv, + which, +}: stdenv.mkDerivation rec { pname = "empty"; diff --git a/pkgs/by-name/em/emu2/package.nix b/pkgs/by-name/em/emu2/package.nix index 22f2e17902e84..2900dc5ab83a4 100644 --- a/pkgs/by-name/em/emu2/package.nix +++ b/pkgs/by-name/em/emu2/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/em/emuflight-configurator/package.nix b/pkgs/by-name/em/emuflight-configurator/package.nix index 66b9cf0efa8ea..86979a6cec624 100644 --- a/pkgs/by-name/em/emuflight-configurator/package.nix +++ b/pkgs/by-name/em/emuflight-configurator/package.nix @@ -1,5 +1,15 @@ -{lib, stdenv, fetchurl, unzip, makeDesktopItem, copyDesktopItems, nwjs -, wrapGAppsHook3, gsettings-desktop-schemas, gtk3 }: +{ + lib, + stdenv, + fetchurl, + unzip, + makeDesktopItem, + copyDesktopItems, + nwjs, + wrapGAppsHook3, + gsettings-desktop-schemas, + gtk3, +}: stdenv.mkDerivation rec { pname = "emuflight-configurator"; @@ -10,9 +20,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-7NcN1wF3BUClJBVm13VnV80N/+a2jAEIRqB/x9+GDEg="; }; - nativeBuildInputs = [ wrapGAppsHook3 unzip copyDesktopItems ]; + nativeBuildInputs = [ + wrapGAppsHook3 + unzip + copyDesktopItems + ]; - buildInputs = [ gsettings-desktop-schemas gtk3 ]; + buildInputs = [ + gsettings-desktop-schemas + gtk3 + ]; installPhase = '' mkdir -p $out/bin $out/share/${pname} @@ -43,10 +60,10 @@ stdenv.mkDerivation rec { quadcopters, hexacopters, octocopters and fixed-wing aircraft. The application allows you to configure the Emuflight software running on any supported Emuflight target. ''; - homepage = "https://github.com/emuflight/EmuConfigurator"; + homepage = "https://github.com/emuflight/EmuConfigurator"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.gpl3Only; + license = licenses.gpl3Only; maintainers = with maintainers; [ beezow ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/em/emulsion-palette/package.nix b/pkgs/by-name/em/emulsion-palette/package.nix index 3c2173826697f..a55fde901ff6c 100644 --- a/pkgs/by-name/em/emulsion-palette/package.nix +++ b/pkgs/by-name/em/emulsion-palette/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, vala -, wrapGAppsHook4 -, libadwaita -, json-glib -, libgee -, pkg-config -, gtk3 -, desktop-file-utils +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + vala, + wrapGAppsHook4, + libadwaita, + json-glib, + libgee, + pkg-config, + gtk3, + desktop-file-utils, }: stdenv.mkDerivation rec { @@ -24,7 +25,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-xG7yZKbbNao/pzFhdTMof/lw9K12NKZi47YRaEd65ok="; }; - nativeBuildInputs = [ meson ninja pkg-config vala wrapGAppsHook4 ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + wrapGAppsHook4 + ]; buildInputs = [ desktop-file-utils diff --git a/pkgs/by-name/em/emv/package.nix b/pkgs/by-name/em/emv/package.nix index a317805e463ce..d8a5682b53a93 100644 --- a/pkgs/by-name/em/emv/package.nix +++ b/pkgs/by-name/em/emv/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "emv"; diff --git a/pkgs/by-name/en/enblend-enfuse/package.nix b/pkgs/by-name/en/enblend-enfuse/package.nix index 26645cea6a594..c0065c1bdb822 100644 --- a/pkgs/by-name/en/enblend-enfuse/package.nix +++ b/pkgs/by-name/en/enblend-enfuse/package.nix @@ -1,19 +1,22 @@ -{ lib, stdenv, fetchhg -, autoreconfHook -, boost -, libglut -, glew -, gsl -, lcms2 -, libpng -, libtiff -, libGLU -, libGL -, vigra -, help2man -, pkg-config -, perl -, texliveSmall +{ + lib, + stdenv, + fetchhg, + autoreconfHook, + boost, + libglut, + glew, + gsl, + lcms2, + libpng, + libtiff, + libGLU, + libGL, + vigra, + help2man, + pkg-config, + perl, + texliveSmall, }: stdenv.mkDerivation rec { @@ -26,9 +29,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-0gCUSdg3HR3YeIbOByEBCZh2zGlYur6DeCOzUM53fdc="; }; - buildInputs = [ boost libglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ]; + buildInputs = [ + boost + libglut + glew + gsl + lcms2 + libpng + libtiff + libGLU + libGL + vigra + ]; - nativeBuildInputs = [ autoreconfHook help2man perl pkg-config texliveSmall ]; + nativeBuildInputs = [ + autoreconfHook + help2man + perl + pkg-config + texliveSmall + ]; preConfigure = '' patchShebangs src/embrace diff --git a/pkgs/by-name/en/enc/package.nix b/pkgs/by-name/en/enc/package.nix index cec98aff11511..3243d4da82ae9 100644 --- a/pkgs/by-name/en/enc/package.nix +++ b/pkgs/by-name/en/enc/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, git -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + git, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/en/enca/package.nix b/pkgs/by-name/en/enca/package.nix index f3098a22f41a6..9d213277bf92f 100644 --- a/pkgs/by-name/en/enca/package.nix +++ b/pkgs/by-name/en/enca/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libiconv, recode }: +{ + lib, + stdenv, + fetchurl, + libiconv, + recode, +}: stdenv.mkDerivation rec { pname = "enca"; @@ -9,17 +15,20 @@ stdenv.mkDerivation rec { sha256 = "1f78jmrggv3jymql8imm5m9yc8nqjw5l99mpwki2245l8357wj1s"; }; - buildInputs = [ recode libiconv ]; + buildInputs = [ + recode + libiconv + ]; meta = with lib; { description = "Detects the encoding of text files and reencodes them"; longDescription = '' - Enca detects the encoding of text files, on the basis of knowledge - of their language. It can also convert them to other encodings, - allowing you to recode files without knowing their current encoding. - It supports most of Central and East European languages, and a few - Unicode variants, independently on language. + Enca detects the encoding of text files, on the basis of knowledge + of their language. It can also convert them to other encodings, + allowing you to recode files without knowing their current encoding. + It supports most of Central and East European languages, and a few + Unicode variants, independently on language. ''; license = licenses.gpl2Only; diff --git a/pkgs/by-name/en/enchive/package.nix b/pkgs/by-name/en/enchive/package.nix index 8db8f466f9aea..51f7113b09dd5 100644 --- a/pkgs/by-name/en/enchive/package.nix +++ b/pkgs/by-name/en/enchive/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "enchive"; @@ -10,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "0fdrfc5l42lj2bvmv9dmkmhmm7qiszwk7cmdvnqad3fs7652g0qa"; }; - makeFlags = ["PREFIX=$(out)"]; + makeFlags = [ "PREFIX=$(out)" ]; postInstall = '' mkdir -p $out/share/emacs/site-lisp/ diff --git a/pkgs/by-name/en/encled/package.nix b/pkgs/by-name/en/encled/package.nix index 474b790775cc9..5f7fbb4aa156d 100644 --- a/pkgs/by-name/en/encled/package.nix +++ b/pkgs/by-name/en/encled/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, python3 }: +{ + stdenv, + lib, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation { pname = "encled"; version = "unstable-2022-07-23"; diff --git a/pkgs/by-name/en/encode-sans/package.nix b/pkgs/by-name/en/encode-sans/package.nix index ec48dc9ee009f..f81d9c386e688 100644 --- a/pkgs/by-name/en/encode-sans/package.nix +++ b/pkgs/by-name/en/encode-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "encode-sans"; diff --git a/pkgs/by-name/en/encpipe/package.nix b/pkgs/by-name/en/encpipe/package.nix index c48fa9d162f43..6d9f09b9c74f4 100644 --- a/pkgs/by-name/en/encpipe/package.nix +++ b/pkgs/by-name/en/encpipe/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/en/endeavour/package.nix b/pkgs/by-name/en/endeavour/package.nix index 806e024985772..165910b5b536c 100644 --- a/pkgs/by-name/en/endeavour/package.nix +++ b/pkgs/by-name/en/endeavour/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, gettext -, adwaita-icon-theme -, glib -, gtk4 -, wayland -, libadwaita -, libpeas -, gnome-online-accounts -, gsettings-desktop-schemas -, evolution-data-server-gtk4 -, libical -, itstool -, gitUpdater +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + gettext, + adwaita-icon-theme, + glib, + gtk4, + wayland, + libadwaita, + libpeas, + gnome-online-accounts, + gsettings-desktop-schemas, + evolution-data-server-gtk4, + libical, + itstool, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/en/endgame-singularity/package.nix b/pkgs/by-name/en/endgame-singularity/package.nix index fb68885b936ff..c32eccacdb0f3 100644 --- a/pkgs/by-name/en/endgame-singularity/package.nix +++ b/pkgs/by-name/en/endgame-singularity/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchurl -, fetchFromGitHub -, unzip -, python3 -, enableDefaultMusicPack ? true +{ + lib, + fetchurl, + fetchFromGitHub, + unzip, + python3, + enableDefaultMusicPack ? true, }: let @@ -30,7 +31,11 @@ python3.pkgs.buildPythonApplication rec { sourceRoot = main_src.name; nativeBuildInputs = [ unzip ]; # The music is zipped - propagatedBuildInputs = with python3.pkgs; [ pygame numpy polib ]; + propagatedBuildInputs = with python3.pkgs; [ + pygame + numpy + polib + ]; # Add the music postInstall = lib.optionalString enableDefaultMusicPack '' diff --git a/pkgs/by-name/en/endless-sky/package.nix b/pkgs/by-name/en/endless-sky/package.nix index 6a0c2e24c0939..a27bc6e31024c 100644 --- a/pkgs/by-name/en/endless-sky/package.nix +++ b/pkgs/by-name/en/endless-sky/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, libpng -, libjpeg -, glew -, openal -, scons -, libmad -, libuuid +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + libpng, + libjpeg, + glew, + openal, + scons, + libmad, + libuuid, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/en/endlessh/package.nix b/pkgs/by-name/en/endlessh/package.nix index 584a43920fe7a..77b1d97fb69b0 100644 --- a/pkgs/by-name/en/endlessh/package.nix +++ b/pkgs/by-name/en/endlessh/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, endlessh -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + testers, + endlessh, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/en/enet/package.nix b/pkgs/by-name/en/enet/package.nix index f9583a097a6ab..92542b2b5993b 100644 --- a/pkgs/by-name/en/enet/package.nix +++ b/pkgs/by-name/en/enet/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "enet"; diff --git a/pkgs/by-name/en/engage/package.nix b/pkgs/by-name/en/engage/package.nix index b355f96513c97..1f05fdd5f990a 100644 --- a/pkgs/by-name/en/engage/package.nix +++ b/pkgs/by-name/en/engage/package.nix @@ -1,8 +1,9 @@ -{ lib -, installShellFiles -, rustPlatform -, fetchFromGitLab -, stdenv +{ + lib, + installShellFiles, + rustPlatform, + fetchFromGitLab, + stdenv, }: let @@ -28,24 +29,24 @@ rustPlatform.buildRustPackage { postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ( "installShellCompletion --cmd engage " - + builtins.concatStringsSep - " " - (builtins.map - (shell: "--${shell} <($out/bin/engage completions ${shell})") - [ - "bash" - "fish" - "zsh" - ] - ) - ); + + builtins.concatStringsSep " " ( + builtins.map (shell: "--${shell} <($out/bin/engage completions ${shell})") [ + "bash" + "fish" + "zsh" + ] + ) + ); meta = { description = "Task runner with DAG-based parallelism"; mainProgram = "engage"; homepage = "https://gitlab.computer.surgery/charles/engage"; changelog = "https://gitlab.computer.surgery/charles/engage/-/blob/v${version}/CHANGELOG.md"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; maintainers = with lib.maintainers; [ CobaltCause ]; }; } diff --git a/pkgs/by-name/en/engelsystem/package.nix b/pkgs/by-name/en/engelsystem/package.nix index fd3de6d6958ff..e8f0625e5cdba 100644 --- a/pkgs/by-name/en/engelsystem/package.nix +++ b/pkgs/by-name/en/engelsystem/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchzip -, nixosTests -, php -, stdenv -, writeText +{ + lib, + fetchzip, + nixosTests, + php, + stdenv, + writeText, }: stdenv.mkDerivation rec { @@ -42,8 +43,7 @@ stdenv.mkDerivation rec { meta = with lib; { changelog = "https://github.com/engelsystem/engelsystem/releases/tag/v${version}"; - description = - "Coordinate your volunteers in teams, assign them to work shifts or let them decide for themselves when and where they want to help with what"; + description = "Coordinate your volunteers in teams, assign them to work shifts or let them decide for themselves when and where they want to help with what"; homepage = "https://engelsystem.de"; license = licenses.gpl2Only; mainProgram = "migrate"; diff --git a/pkgs/by-name/en/enhanced-ctorrent/package.nix b/pkgs/by-name/en/enhanced-ctorrent/package.nix index 5074690228045..598a8ae6da506 100644 --- a/pkgs/by-name/en/enhanced-ctorrent/package.nix +++ b/pkgs/by-name/en/enhanced-ctorrent/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation { version = "3.3.2"; diff --git a/pkgs/by-name/en/enjarify/package.nix b/pkgs/by-name/en/enjarify/package.nix index 37daac6c06b30..cf46e3c7e912d 100644 --- a/pkgs/by-name/en/enjarify/package.nix +++ b/pkgs/by-name/en/enjarify/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "enjarify"; diff --git a/pkgs/by-name/en/enpass/package.nix b/pkgs/by-name/en/enpass/package.nix index 20582a6d5c6bd..3d10bdf5bf62b 100644 --- a/pkgs/by-name/en/enpass/package.nix +++ b/pkgs/by-name/en/enpass/package.nix @@ -1,8 +1,29 @@ -{ stdenv, fetchurl, dpkg, xorg -, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype -, gtk3, pango -, makeWrapper , python3Packages, lib, libcap -, lsof, curl, libuuid, cups, mesa, xz, libxkbcommon +{ + stdenv, + fetchurl, + dpkg, + xorg, + glib, + libGLU, + libGL, + libpulseaudio, + zlib, + dbus, + fontconfig, + freetype, + gtk3, + pango, + makeWrapper, + python3Packages, + lib, + libcap, + lsof, + curl, + libuuid, + cups, + mesa, + xz, + libxkbcommon, }: let @@ -12,39 +33,47 @@ let x86_64-linux = "amd64"; }; - data = all_data.${system_map.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")}; + data = + all_data.${ + system_map.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}") + }; baseUrl = "https://apt.enpass.io"; # used of both wrappers and libpath - libPath = lib.makeLibraryPath (with xorg; [ - libGLU libGL - fontconfig - freetype - libpulseaudio - zlib - dbus - libX11 - libXi - libSM - libICE - libXrender - libXScrnSaver - libxcb - libcap - glib - gtk3 - pango - curl - libuuid - cups - xcbutilwm # libxcb-icccm.so.4 - xcbutilimage # libxcb-image.so.0 - xcbutilkeysyms # libxcb-keysyms.so.1 - xcbutilrenderutil # libxcb-render-util.so.0 - xz - libxkbcommon - ]); + libPath = lib.makeLibraryPath ( + with xorg; + [ + libGLU + libGL + fontconfig + freetype + libpulseaudio + zlib + dbus + libX11 + libXi + libSM + libICE + libXrender + libXScrnSaver + libxcb + libcap + glib + gtk3 + pango + curl + libuuid + cups + xcbutilwm # libxcb-icccm.so.4 + xcbutilimage # libxcb-image.so.0 + xcbutilkeysyms # libxcb-keysyms.so.1 + xcbutilrenderutil # libxcb-render-util.so.0 + xz + libxkbcommon + ] + ); package = stdenv.mkDerivation { inherit (data) version; @@ -60,15 +89,21 @@ let homepage = "https://www.enpass.io/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux"]; - maintainers = with maintainers; [ ewok dritter ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; + maintainers = with maintainers; [ + ewok + dritter + ]; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [dpkg]; + buildInputs = [ dpkg ]; unpackPhase = "dpkg -X $src ."; - installPhase='' + installPhase = '' mkdir -p $out/bin cp -r opt/enpass/* $out/bin cp -r usr/* $out @@ -92,13 +127,20 @@ let updater = { update = stdenv.mkDerivation { name = "enpass-update-script"; - SCRIPT =./update_script.py; + SCRIPT = ./update_script.py; - buildInputs = with python3Packages; [python requests pathlib2 six attrs ]; + buildInputs = with python3Packages; [ + python + requests + pathlib2 + six + attrs + ]; shellHook = '' exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl} ''; }; }; -in (package // {refresh = updater;}) +in +(package // { refresh = updater; }) diff --git a/pkgs/by-name/en/enscript/package.nix b/pkgs/by-name/en/enscript/package.nix index 5908b9fd529a9..fb2efa08fd5d0 100644 --- a/pkgs/by-name/en/enscript/package.nix +++ b/pkgs/by-name/en/enscript/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gettext }: +{ + lib, + stdenv, + fetchurl, + gettext, +}: stdenv.mkDerivation rec { pname = "enscript"; diff --git a/pkgs/by-name/en/ensemble-chorus/package.nix b/pkgs/by-name/en/ensemble-chorus/package.nix index a83719a5e4161..735d2be3afed5 100644 --- a/pkgs/by-name/en/ensemble-chorus/package.nix +++ b/pkgs/by-name/en/ensemble-chorus/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, fltk, alsa-lib, freetype, libXrandr, libXinerama, libXcursor, lv2, libjack2, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fltk, + alsa-lib, + freetype, + libXrandr, + libXinerama, + libXcursor, + lv2, + libjack2, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ensemble-chorus"; @@ -17,10 +31,20 @@ stdenv.mkDerivation rec { ./juice-cxx-packing-fix.diff ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - fltk alsa-lib freetype libXrandr libXinerama libXcursor lv2 libjack2 + fltk + alsa-lib + freetype + libXrandr + libXinerama + libXcursor + lv2 + libjack2 ]; meta = with lib; { diff --git a/pkgs/by-name/en/ent-go/package.nix b/pkgs/by-name/en/ent-go/package.nix index acb35c912eaba..acd896da42fea 100644 --- a/pkgs/by-name/en/ent-go/package.nix +++ b/pkgs/by-name/en/ent-go/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "ent-go"; diff --git a/pkgs/by-name/en/ent/package.nix b/pkgs/by-name/en/ent/package.nix index 3152e00503bb3..9cf35294a41f0 100644 --- a/pkgs/by-name/en/ent/package.nix +++ b/pkgs/by-name/en/ent/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { pname = "ent"; diff --git a/pkgs/by-name/en/entr/package.nix b/pkgs/by-name/en/entr/package.nix index ab29aca97d499..571557c7b75a6 100644 --- a/pkgs/by-name/en/entr/package.nix +++ b/pkgs/by-name/en/entr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, coreutils }: +{ + lib, + stdenv, + fetchurl, + coreutils, +}: stdenv.mkDerivation rec { pname = "entr"; @@ -26,7 +31,10 @@ stdenv.mkDerivation rec { changelog = "https://github.com/eradman/entr/raw/${version}/NEWS"; license = licenses.isc; platforms = platforms.all; - maintainers = with maintainers; [ pSub synthetica ]; + maintainers = with maintainers; [ + pSub + synthetica + ]; mainProgram = "entr"; }; } diff --git a/pkgs/by-name/en/entt/package.nix b/pkgs/by-name/en/entt/package.nix index 77033e6c67748..c871e15d04695 100644 --- a/pkgs/by-name/en/entt/package.nix +++ b/pkgs/by-name/en/entt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "entt"; version = "3.14.0"; diff --git a/pkgs/by-name/en/entwine/package.nix b/pkgs/by-name/en/entwine/package.nix index 0ab59737cd61c..6331900b107cd 100644 --- a/pkgs/by-name/en/entwine/package.nix +++ b/pkgs/by-name/en/entwine/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, cmake -, pdal -, curl -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + cmake, + pdal, + curl, + openssl, }: stdenv.mkDerivation rec { @@ -29,7 +30,7 @@ stdenv.mkDerivation rec { cmake ]; - passthru.updateScript = gitUpdater {}; + passthru.updateScript = gitUpdater { }; meta = with lib; { description = "Point cloud organization for massive datasets"; diff --git a/pkgs/by-name/en/enum4linux/package.nix b/pkgs/by-name/en/enum4linux/package.nix index 4703bae488db9..cd88688cb3c6d 100644 --- a/pkgs/by-name/en/enum4linux/package.nix +++ b/pkgs/by-name/en/enum4linux/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, samba -, perl -, openldap +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + samba, + perl, + openldap, }: stdenv.mkDerivation rec { @@ -35,7 +36,12 @@ stdenv.mkDerivation rec { cp enum4linux.pl $out/bin/enum4linux wrapProgram $out/bin/enum4linux \ - --prefix PATH : ${lib.makeBinPath [ samba openldap ]} + --prefix PATH : ${ + lib.makeBinPath [ + samba + openldap + ] + } ''; meta = with lib; { @@ -47,4 +53,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/en/enumer/package.nix b/pkgs/by-name/en/enumer/package.nix index c10cfdccd91f7..ed2fe3869a6bc 100644 --- a/pkgs/by-name/en/enumer/package.nix +++ b/pkgs/by-name/en/enumer/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/en/enumerepo/package.nix b/pkgs/by-name/en/enumerepo/package.nix index 3c6849af44ff0..a97320dc35019 100644 --- a/pkgs/by-name/en/enumerepo/package.nix +++ b/pkgs/by-name/en/enumerepo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/en/envconsul/package.nix b/pkgs/by-name/en/envconsul/package.nix index f3e5609d9abd9..202832ea3ba70 100644 --- a/pkgs/by-name/en/envconsul/package.nix +++ b/pkgs/by-name/en/envconsul/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, envconsul }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + envconsul, +}: buildGoModule rec { pname = "envconsul"; diff --git a/pkgs/by-name/en/envfs/package.nix b/pkgs/by-name/en/envfs/package.nix index c5de89fdfffd6..69d6a67bc48fd 100644 --- a/pkgs/by-name/en/envfs/package.nix +++ b/pkgs/by-name/en/envfs/package.nix @@ -1,4 +1,9 @@ -{ rustPlatform, lib, fetchFromGitHub, nixosTests }: +{ + rustPlatform, + lib, + fetchFromGitHub, + nixosTests, +}: rustPlatform.buildRustPackage rec { pname = "envfs"; version = "1.0.6"; diff --git a/pkgs/by-name/en/envsubst/package.nix b/pkgs/by-name/en/envsubst/package.nix index 8fc8ff2bb2d76..ddd786cc5ce95 100644 --- a/pkgs/by-name/en/envsubst/package.nix +++ b/pkgs/by-name/en/envsubst/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "envsubst"; diff --git a/pkgs/by-name/en/envypn-font/package.nix b/pkgs/by-name/en/envypn-font/package.nix index fc69e398e44d5..d0b6867f39c16 100644 --- a/pkgs/by-name/en/envypn-font/package.nix +++ b/pkgs/by-name/en/envypn-font/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl, libfaketime -, xorg +{ + lib, + stdenv, + fetchurl, + libfaketime, + xorg, }: stdenv.mkDerivation rec { @@ -11,7 +15,11 @@ stdenv.mkDerivation rec { sha256 = "bda67b6bc6d5d871a4d46565d4126729dfb8a0de9611dae6c68132a7b7db1270"; }; - nativeBuildInputs = [ libfaketime xorg.fonttosfnt xorg.mkfontscale ]; + nativeBuildInputs = [ + libfaketime + xorg.fonttosfnt + xorg.mkfontscale + ]; unpackPhase = '' tar -xzf $src --strip-components=1 diff --git a/pkgs/by-name/eo/eog/package.nix b/pkgs/by-name/eo/eog/package.nix index 527b8a6d72cde..1c8e35193f4fe 100644 --- a/pkgs/by-name/eo/eog/package.nix +++ b/pkgs/by-name/eo/eog/package.nix @@ -1,40 +1,45 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, gettext -, itstool -, pkg-config -, libxml2 -, libjpeg -, libpeas -, libportal-gtk3 -, gnome -, gtk3 -, libhandy -, glib -, gsettings-desktop-schemas -, gnome-desktop -, lcms2 -, gdk-pixbuf -, exempi -, shared-mime-info -, wrapGAppsHook3 -, libjxl -, librsvg -, webp-pixbuf-loader -, libheif -, libexif -, gobject-introspection -, gi-docgen +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + gettext, + itstool, + pkg-config, + libxml2, + libjpeg, + libpeas, + libportal-gtk3, + gnome, + gtk3, + libhandy, + glib, + gsettings-desktop-schemas, + gnome-desktop, + lcms2, + gdk-pixbuf, + exempi, + shared-mime-info, + wrapGAppsHook3, + libjxl, + librsvg, + webp-pixbuf-loader, + libheif, + libexif, + gobject-introspection, + gi-docgen, }: stdenv.mkDerivation rec { pname = "eog"; version = "47.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/eog/${lib.versions.major version}/eog-${version}.tar.xz"; @@ -84,14 +89,16 @@ stdenv.mkDerivation rec { postInstall = '' # Pull in WebP and JXL support for gnome-backgrounds. # In postInstall to run before gappsWrapperArgsHook. - export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE { - extraLoaders = [ - libjxl - librsvg - webp-pixbuf-loader - libheif.out - ]; - }}" + export GDK_PIXBUF_MODULE_FILE="${ + gnome._gdkPixbufCacheBuilder_DO_NOT_USE { + extraLoaders = [ + libjxl + librsvg + webp-pixbuf-loader + libheif.out + ]; + } + }" ''; preFixup = '' diff --git a/pkgs/by-name/eo/eolie/package.nix b/pkgs/by-name/eo/eolie/package.nix index 6b68cbb4a0272..bf691b1a42c0a 100644 --- a/pkgs/by-name/eo/eolie/package.nix +++ b/pkgs/by-name/eo/eolie/package.nix @@ -1,7 +1,24 @@ -{ lib, fetchgit, meson, ninja, pkg-config, nix-update-script -, python3, gtk3, libsecret, gst_all_1, webkitgtk_4_0, glib -, glib-networking, gtkspell3, hunspell, desktop-file-utils -, gobject-introspection, wrapGAppsHook3, gnome-settings-daemon }: +{ + lib, + fetchgit, + meson, + ninja, + pkg-config, + nix-update-script, + python3, + gtk3, + libsecret, + gst_all_1, + webkitgtk_4_0, + glib, + glib-networking, + gtkspell3, + hunspell, + desktop-file-utils, + gobject-introspection, + wrapGAppsHook3, + gnome-settings-daemon, +}: python3.pkgs.buildPythonApplication rec { pname = "eolie"; @@ -73,7 +90,7 @@ python3.pkgs.buildPythonApplication rec { description = "New GNOME web browser"; mainProgram = "eolie"; homepage = "https://gitlab.gnome.org/World/eolie"; - license = licenses.gpl3Plus; + license = licenses.gpl3Plus; maintainers = with maintainers; [ samdroid-apps ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/eo/eos-installer/package.nix b/pkgs/by-name/eo/eos-installer/package.nix index 5d4ea2e8c60c9..9bdfbccf6a1dc 100644 --- a/pkgs/by-name/eo/eos-installer/package.nix +++ b/pkgs/by-name/eo/eos-installer/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, writeText -, glib, meson, ninja, pkg-config, python3 -, coreutils, gnome-desktop, gnupg, gtk3, systemdMinimal, udisks +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + glib, + meson, + ninja, + pkg-config, + python3, + coreutils, + gnome-desktop, + gnupg, + gtk3, + systemdMinimal, + udisks, }: stdenv.mkDerivation rec { @@ -17,9 +30,19 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ - glib gnupg meson ninja pkg-config python3 + glib + gnupg + meson + ninja + pkg-config + python3 + ]; + buildInputs = [ + gnome-desktop + gtk3 + systemdMinimal + udisks ]; - buildInputs = [ gnome-desktop gtk3 systemdMinimal udisks ]; preConfigure = '' patchShebangs tests diff --git a/pkgs/by-name/eo/eot_utilities/package.nix b/pkgs/by-name/eo/eot_utilities/package.nix index bb9279687b1bc..0de37da5c83d2 100644 --- a/pkgs/by-name/eo/eot_utilities/package.nix +++ b/pkgs/by-name/eo/eot_utilities/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, pkg-config }: +{ + lib, + stdenv, + fetchurl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "eot_utilities"; diff --git a/pkgs/by-name/ep/epeg/package.nix b/pkgs/by-name/ep/epeg/package.nix index 8134771f5688d..6f02069ab7311 100644 --- a/pkgs/by-name/ep/epeg/package.nix +++ b/pkgs/by-name/ep/epeg/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libtool, autoconf, automake -, libjpeg, libexif +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libtool, + autoconf, + automake, + libjpeg, + libexif, }: stdenv.mkDerivation rec { @@ -15,9 +23,17 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config libtool autoconf automake ]; + nativeBuildInputs = [ + pkg-config + libtool + autoconf + automake + ]; - propagatedBuildInputs = [ libjpeg libexif ]; + propagatedBuildInputs = [ + libjpeg + libexif + ]; preConfigure = '' ./autogen.sh diff --git a/pkgs/by-name/ep/epgstation/package.nix b/pkgs/by-name/ep/epgstation/package.nix index 63c1e050e7de1..5d71ece6e0cc5 100644 --- a/pkgs/by-name/ep/epgstation/package.nix +++ b/pkgs/by-name/ep/epgstation/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchpatch -, fetchFromGitHub -, buildNpmPackage -, installShellFiles -, makeWrapper -, bash -, nodejs -, python3 +{ + lib, + fetchpatch, + fetchFromGitHub, + buildNpmPackage, + installShellFiles, + makeWrapper, + bash, + nodejs, + python3, }: buildNpmPackage rec { @@ -39,11 +40,20 @@ buildNpmPackage rec { npmRootPath = "/lib/node_modules/epgstation"; buildInputs = [ bash ]; - nativeBuildInputs = [ installShellFiles makeWrapper python3 ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + python3 + ]; clientDir = buildNpmPackage { pname = "${pname}-client"; - inherit version src installPhase meta; + inherit + version + src + installPhase + meta + ; npmDepsHash = "sha256-a/cDPABWI4lPxvSOI4D90O71A9lm8icPMak/g6DPYQY="; npmRootPath = ""; @@ -75,7 +85,10 @@ buildNpmPackage rec { postInstall = let - runtimeDeps = [ nodejs bash ]; + runtimeDeps = [ + nodejs + bash + ]; in '' mkdir -p $out/{bin,libexec,share/doc/epgstation} diff --git a/pkgs/by-name/ep/ephemeral/package.nix b/pkgs/by-name/ep/ephemeral/package.nix index 5036f0c6265e1..2d755b3ee3713 100644 --- a/pkgs/by-name/ep/ephemeral/package.nix +++ b/pkgs/by-name/ep/ephemeral/package.nix @@ -1,21 +1,23 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, desktop-file-utils -, vala -, gettext -, glib -, gtk3 -, libgee -, libdazzle -, meson -, ninja -, pantheon -, pkg-config -, python3 -, webkitgtk_4_0 -, wrapGAppsHook3 -, glib-networking +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + desktop-file-utils, + vala, + gettext, + glib, + gtk3, + libgee, + libdazzle, + meson, + ninja, + pantheon, + pkg-config, + python3, + webkitgtk_4_0, + wrapGAppsHook3, + glib-networking, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ep/ephemeralpg/package.nix b/pkgs/by-name/ep/ephemeralpg/package.nix index b50d22d76e78f..59ddbab10ec8a 100644 --- a/pkgs/by-name/ep/ephemeralpg/package.nix +++ b/pkgs/by-name/ep/ephemeralpg/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, postgresql, getopt, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + postgresql, + getopt, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "ephemeralpg"; version = "3.3"; @@ -10,13 +17,21 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out PREFIX=$out make install - wrapProgram $out/bin/pg_tmp --prefix PATH : ${lib.makeBinPath [ postgresql getopt ]} + wrapProgram $out/bin/pg_tmp --prefix PATH : ${ + lib.makeBinPath [ + postgresql + getopt + ] + } ''; meta = with lib; { description = "Run tests on an isolated, temporary PostgreSQL database"; license = licenses.isc; homepage = "https://eradman.com/ephemeralpg/"; platforms = platforms.all; - maintainers = with maintainers; [ hrdinka medv ]; + maintainers = with maintainers; [ + hrdinka + medv + ]; }; } diff --git a/pkgs/by-name/ep/epilys-bb/package.nix b/pkgs/by-name/ep/epilys-bb/package.nix index e368c7c9ec483..c30a2865f6934 100644 --- a/pkgs/by-name/ep/epilys-bb/package.nix +++ b/pkgs/by-name/ep/epilys-bb/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "epilys-bb"; diff --git a/pkgs/by-name/ep/epiphany/package.nix b/pkgs/by-name/ep/epiphany/package.nix index 435e81e065c49..af5c0efec0616 100644 --- a/pkgs/by-name/ep/epiphany/package.nix +++ b/pkgs/by-name/ep/epiphany/package.nix @@ -1,37 +1,38 @@ -{ lib -, stdenv -, meson -, ninja -, gettext -, fetchurl -, pkg-config -, gtk4 -, glib -, icu -, wrapGAppsHook4 -, gnome -, libportal-gtk4 -, libxml2 -, itstool -, webkitgtk_6_0 -, libsoup_3 -, glib-networking -, libsecret -, gnome-desktop -, libarchive -, p11-kit -, sqlite -, gcr_4 -, isocodes -, desktop-file-utils -, nettle -, gdk-pixbuf -, gst_all_1 -, json-glib -, libadwaita -, buildPackages -, withPantheon ? false -, pantheon +{ + lib, + stdenv, + meson, + ninja, + gettext, + fetchurl, + pkg-config, + gtk4, + glib, + icu, + wrapGAppsHook4, + gnome, + libportal-gtk4, + libxml2, + itstool, + webkitgtk_6_0, + libsoup_3, + glib-networking, + libsecret, + gnome-desktop, + libarchive, + p11-kit, + sqlite, + gcr_4, + isocodes, + desktop-file-utils, + nettle, + gdk-pixbuf, + gst_all_1, + json-glib, + libadwaita, + buildPackages, + withPantheon ? false, + pantheon, }: stdenv.mkDerivation (finalAttrs: { @@ -55,42 +56,46 @@ stdenv.mkDerivation (finalAttrs: { buildPackages.gtk4 ]; - buildInputs = [ - gcr_4 - gdk-pixbuf - glib - glib-networking - gnome-desktop - gst_all_1.gst-libav - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-ugly - gst_all_1.gstreamer - gtk4 - icu - isocodes - json-glib - libadwaita - libportal-gtk4 - libarchive - libsecret - libsoup_3 - libxml2 - nettle - p11-kit - sqlite - webkitgtk_6_0 - ] ++ lib.optionals withPantheon [ - pantheon.granite7 - ]; + buildInputs = + [ + gcr_4 + gdk-pixbuf + glib + glib-networking + gnome-desktop + gst_all_1.gst-libav + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-ugly + gst_all_1.gstreamer + gtk4 + icu + isocodes + json-glib + libadwaita + libportal-gtk4 + libarchive + libsecret + libsoup_3 + libxml2 + nettle + p11-kit + sqlite + webkitgtk_6_0 + ] + ++ lib.optionals withPantheon [ + pantheon.granite7 + ]; # Tests need an X display - mesonFlags = [ - "-Dunit_tests=disabled" - ] ++ lib.optionals withPantheon [ - "-Dgranite=enabled" - ]; + mesonFlags = + [ + "-Dunit_tests=disabled" + ] + ++ lib.optionals withPantheon [ + "-Dgranite=enabled" + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/ep/eplot/package.nix b/pkgs/by-name/ep/eplot/package.nix index 2e69bc8a26372..a3b9221398b25 100644 --- a/pkgs/by-name/ep/eplot/package.nix +++ b/pkgs/by-name/ep/eplot/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gnuplot, ruby }: +{ + lib, + stdenv, + fetchurl, + gnuplot, + ruby, +}: stdenv.mkDerivation { pname = "eplot"; @@ -47,6 +53,9 @@ stdenv.mkDerivation { homepage = "https://perso.liris.cnrs.fr/christian.wolf/software/eplot/"; license = licenses.gpl2Plus; platforms = platforms.all; - maintainers = with maintainers; [ bjornfor shamilton ]; + maintainers = with maintainers; [ + bjornfor + shamilton + ]; }; } diff --git a/pkgs/by-name/ep/epm/package.nix b/pkgs/by-name/ep/epm/package.nix index 93a6a6d7343b7..9d9c070e8c55e 100644 --- a/pkgs/by-name/ep/epm/package.nix +++ b/pkgs/by-name/ep/epm/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rpm +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rpm, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ep/epoll-shim/package.nix b/pkgs/by-name/ep/epoll-shim/package.nix index 63deaaf9df9ed..42fe6cea9c6ed 100644 --- a/pkgs/by-name/ep/epoll-shim/package.nix +++ b/pkgs/by-name/ep/epoll-shim/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ep/epr/package.nix b/pkgs/by-name/ep/epr/package.nix index 5728972f2bd84..0cdda2e455355 100644 --- a/pkgs/by-name/ep/epr/package.nix +++ b/pkgs/by-name/ep/epr/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "epr"; diff --git a/pkgs/by-name/ep/epson-201106w/package.nix b/pkgs/by-name/ep/epson-201106w/package.nix index a5a32644c3a5d..9b50ae13ab273 100644 --- a/pkgs/by-name/ep/epson-201106w/package.nix +++ b/pkgs/by-name/ep/epson-201106w/package.nix @@ -1,77 +1,96 @@ -{ lib, stdenv, fetchurl, rpmextract, autoreconfHook, file, libjpeg, cups }: +{ + lib, + stdenv, + fetchurl, + rpmextract, + autoreconfHook, + file, + libjpeg, + cups, +}: let version = "1.0.1"; filterVersion = "1.0.0"; in - stdenv.mkDerivation { +stdenv.mkDerivation { - pname = "epson-201106w"; - inherit version; + pname = "epson-201106w"; + inherit version; - src = fetchurl { - # NOTE: Don't forget to update the webarchive link too! - urls = [ - "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm" - "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm" - ]; + src = fetchurl { + # NOTE: Don't forget to update the webarchive link too! + urls = [ + "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm" + "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201106w-${version}-1lsb3.2.src.rpm" + ]; - sha256 = "1yig1xrh1ikblbp7sx706n5nnc237wy4mbch23ymy6akbgqg4aig"; - }; + sha256 = "1yig1xrh1ikblbp7sx706n5nnc237wy4mbch23ymy6akbgqg4aig"; + }; - nativeBuildInputs = [ rpmextract autoreconfHook file ]; + nativeBuildInputs = [ + rpmextract + autoreconfHook + file + ]; - buildInputs = [ libjpeg cups ]; + buildInputs = [ + libjpeg + cups + ]; - unpackPhase = '' - rpmextract $src - tar -zxf epson-inkjet-printer-201106w-${version}.tar.gz - tar -zxf epson-inkjet-printer-filter-${filterVersion}.tar.gz - for ppd in epson-inkjet-printer-201106w-${version}/ppds/*; do - substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201106w" "$out" - substituteInPlace $ppd --replace "/cups/lib" "/lib/cups" - done - cd epson-inkjet-printer-filter-${filterVersion} - ''; + unpackPhase = '' + rpmextract $src + tar -zxf epson-inkjet-printer-201106w-${version}.tar.gz + tar -zxf epson-inkjet-printer-filter-${filterVersion}.tar.gz + for ppd in epson-inkjet-printer-201106w-${version}/ppds/*; do + substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201106w" "$out" + substituteInPlace $ppd --replace "/cups/lib" "/lib/cups" + done + cd epson-inkjet-printer-filter-${filterVersion} + ''; - preConfigure = '' - chmod +x configure - export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" - ''; + preConfigure = '' + chmod +x configure + export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" + ''; - postInstall = '' - cd ../epson-inkjet-printer-201106w-${version} - cp -a lib64 resource watermark $out - mkdir -p $out/share/cups/model/epson-inkjet-printer-201106w - cp -a ppds $out/share/cups/model/epson-inkjet-printer-201106w/ - cp -a Manual.txt $out/doc/ - cp -a README $out/doc/README.driver - ''; + postInstall = '' + cd ../epson-inkjet-printer-201106w-${version} + cp -a lib64 resource watermark $out + mkdir -p $out/share/cups/model/epson-inkjet-printer-201106w + cp -a ppds $out/share/cups/model/epson-inkjet-printer-201106w/ + cp -a Manual.txt $out/doc/ + cp -a README $out/doc/README.driver + ''; - meta = with lib; { - homepage = "https://www.openprinting.org/driver/epson-201106w"; - description = "Epson printer driver (BX535WD, BX630FW, BX635FWD, ME940FW, NX530, NX635, NX635, SX535WD, WorkForce 545, WorkForce 645"; - longDescription = '' - This software is a filter program used with the Common UNIX Printing - System (CUPS) under Linux. It supplies high quality printing with - Seiko Epson Color Ink Jet Printers. - List of printers supported by this package: - Epson BX535WD Series - Epson BX630FW Series - Epson BX635FWD Series - Epson ME940FW Series - Epson NX530 Series - Epson SX535WD Series - Epson WorkForce 545 Series - Epson WorkForce 645 Series - To use the driver adjust your configuration.nix file: - services.printing = { - enable = true; - drivers = [ pkgs.epson-201106w ]; - }; - ''; - license = with licenses; [ lgpl21 epson ]; - platforms = platforms.linux; - maintainers = [ maintainers.nphilou ]; - }; - } + meta = with lib; { + homepage = "https://www.openprinting.org/driver/epson-201106w"; + description = "Epson printer driver (BX535WD, BX630FW, BX635FWD, ME940FW, NX530, NX635, NX635, SX535WD, WorkForce 545, WorkForce 645"; + longDescription = '' + This software is a filter program used with the Common UNIX Printing + System (CUPS) under Linux. It supplies high quality printing with + Seiko Epson Color Ink Jet Printers. + List of printers supported by this package: + Epson BX535WD Series + Epson BX630FW Series + Epson BX635FWD Series + Epson ME940FW Series + Epson NX530 Series + Epson SX535WD Series + Epson WorkForce 545 Series + Epson WorkForce 645 Series + To use the driver adjust your configuration.nix file: + services.printing = { + enable = true; + drivers = [ pkgs.epson-201106w ]; + }; + ''; + license = with licenses; [ + lgpl21 + epson + ]; + platforms = platforms.linux; + maintainers = [ maintainers.nphilou ]; + }; +} diff --git a/pkgs/by-name/ep/epson-201401w/package.nix b/pkgs/by-name/ep/epson-201401w/package.nix index cffa631cfe33a..58c27cbeecc97 100644 --- a/pkgs/by-name/ep/epson-201401w/package.nix +++ b/pkgs/by-name/ep/epson-201401w/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchurl, rpmextract, autoreconfHook, file, libjpeg, cups }: +{ + lib, + stdenv, + fetchurl, + rpmextract, + autoreconfHook, + file, + libjpeg, + cups, +}: let version = "1.0.0"; filterVersion = "1.0.0"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "epson-201401w"; inherit version; @@ -17,9 +27,16 @@ in stdenv.mkDerivation { }; patches = [ ./fixbuild.patch ]; - nativeBuildInputs = [ rpmextract autoreconfHook file ]; + nativeBuildInputs = [ + rpmextract + autoreconfHook + file + ]; - buildInputs = [ libjpeg cups ]; + buildInputs = [ + libjpeg + cups + ]; unpackPhase = '' rpmextract $src @@ -47,8 +64,7 @@ in stdenv.mkDerivation { meta = with lib; { homepage = "https://www.openprinting.org/driver/epson-201401w"; - description = - "Epson printer driver (L456, L455, L366, L365, L362, L360, L312, L310, L222, L220, L132, L130)"; + description = "Epson printer driver (L456, L455, L366, L365, L362, L360, L312, L310, L222, L220, L132, L130)"; longDescription = '' This software is a filter program used with the Common UNIX Printing System (CUPS) under Linux. It supplies high quality printing with @@ -60,7 +76,10 @@ in stdenv.mkDerivation { drivers = [ pkgs.epson-201401w ]; }; ''; - license = with licenses; [ lgpl21 epson ]; + license = with licenses; [ + lgpl21 + epson + ]; platforms = platforms.linux; maintainers = [ maintainers.lunarequest ]; }; diff --git a/pkgs/by-name/ep/epson-alc1100/package.nix b/pkgs/by-name/ep/epson-alc1100/package.nix index f39fb0ad17045..3008665ce6833 100644 --- a/pkgs/by-name/ep/epson-alc1100/package.nix +++ b/pkgs/by-name/ep/epson-alc1100/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, cups, pkgsi686Linux, dpkg, psutils, makeWrapper, ghostscript, bash }: +{ + lib, + stdenv, + fetchurl, + cups, + pkgsi686Linux, + dpkg, + psutils, + makeWrapper, + ghostscript, + bash, +}: let version = "1.2-0"; @@ -8,65 +19,84 @@ let sha256 = "10f8zcmqaa7skvg2bz94mnlgqpan4iscvi8913r6iawjh7hiisjy"; }; in - stdenv.mkDerivation { - pname = "epson-alc1100"; - inherit version; +stdenv.mkDerivation { + pname = "epson-alc1100"; + inherit version; - src = fetchurl { - url = "https://download3.ebz.epson.net/dsc/f/03/00/11/33/07/4027e99517b5c388d444b8444d719b4b77f7e9db/Epson-ALC1100-filter-1.2.tar.gz"; - sha256 = "1dfw75a3kj2aa4iicvlk9kz3jarrsikpnpd4cdpw79scfc5mwm2p"; - }; + src = fetchurl { + url = "https://download3.ebz.epson.net/dsc/f/03/00/11/33/07/4027e99517b5c388d444b8444d719b4b77f7e9db/Epson-ALC1100-filter-1.2.tar.gz"; + sha256 = "1dfw75a3kj2aa4iicvlk9kz3jarrsikpnpd4cdpw79scfc5mwm2p"; + }; - patches = [ ./cups-data-dir.patch ./ppd.patch ]; + patches = [ + ./cups-data-dir.patch + ./ppd.patch + ]; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; - buildInputs = [ cups pkgsi686Linux.glibc psutils ghostscript bash ]; + buildInputs = [ + cups + pkgsi686Linux.glibc + psutils + ghostscript + bash + ]; - postUnpack = '' - dpkg -x ${libstdcpp5} libstdcpp5_i386; + postUnpack = '' + dpkg -x ${libstdcpp5} libstdcpp5_i386; - mkdir -p $out/lib; + mkdir -p $out/lib; - mv libstdcpp5_i386/usr/lib/* $out/lib; - ''; + mv libstdcpp5_i386/usr/lib/* $out/lib; + ''; - postFixup = '' - patchelf --set-interpreter ${pkgsi686Linux.glibc}/lib/ld-linux.so.2 \ - --set-rpath "${lib.makeLibraryPath [ + postFixup = '' + patchelf --set-interpreter ${pkgsi686Linux.glibc}/lib/ld-linux.so.2 \ + --set-rpath "${ + lib.makeLibraryPath [ pkgsi686Linux.glibc "$out" - ]}" $out/bin/alc1100 - - patchelf --set-rpath "${lib.makeLibraryPath [ - pkgsi686Linux.glibc - ]}" $out/lib/libstdc++.so.5.0.7 - - wrapProgram $out/bin/alc1100_lprwrapper.sh \ - --suffix PATH : "\$PATH:${psutils}/bin:/var/lib/cups/path/bin" - - wrapProgram $out/bin/pstoalc1100.sh \ - --suffix PATH : "\$PATH:${psutils}/bin:${ghostscript}/bin:${bash}/bin:/var/lib/cups/path/bin" + ] + }" $out/bin/alc1100 + + patchelf --set-rpath "${ + lib.makeLibraryPath [ + pkgsi686Linux.glibc + ] + }" $out/lib/libstdc++.so.5.0.7 + + wrapProgram $out/bin/alc1100_lprwrapper.sh \ + --suffix PATH : "\$PATH:${psutils}/bin:/var/lib/cups/path/bin" + + wrapProgram $out/bin/pstoalc1100.sh \ + --suffix PATH : "\$PATH:${psutils}/bin:${ghostscript}/bin:${bash}/bin:/var/lib/cups/path/bin" + ''; + + meta = with lib; { + homepage = "http://download.ebz.epson.net/dsc/search/01/search/"; + description = "Epson AcuLaser C1100 Driver"; + longDescription = '' + This package provides a print filter for printing to EPSON AL-C1100 + printers on Linux systems. + + To use the driver adjust your configuration.nix file: + services.printing = { + enable = true; + drivers = [ pkgs.epson-alc1100 ]; + }; ''; - meta = with lib; { - homepage = "http://download.ebz.epson.net/dsc/search/01/search/"; - description = "Epson AcuLaser C1100 Driver"; - longDescription = '' - This package provides a print filter for printing to EPSON AL-C1100 - printers on Linux systems. - - To use the driver adjust your configuration.nix file: - services.printing = { - enable = true; - drivers = [ pkgs.epson-alc1100 ]; - }; - ''; - - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; [ mit eapl ]; - maintainers = [ maintainers.eperuffo ]; - platforms = platforms.linux; - }; - - } + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = with licenses; [ + mit + eapl + ]; + maintainers = [ maintainers.eperuffo ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/by-name/ep/epson-workforce-635-nx625-series/package.nix b/pkgs/by-name/ep/epson-workforce-635-nx625-series/package.nix index 7a467ac1ad393..9825300d813f0 100644 --- a/pkgs/by-name/ep/epson-workforce-635-nx625-series/package.nix +++ b/pkgs/by-name/ep/epson-workforce-635-nx625-series/package.nix @@ -1,6 +1,11 @@ { - autoreconfHook, cups, libjpeg, rpmextract, - fetchurl, lib, stdenv + autoreconfHook, + cups, + libjpeg, + rpmextract, + fetchurl, + lib, + stdenv, }: let @@ -8,7 +13,8 @@ let filter = "epson-inkjet-printer-filter-1.0.0"; driver = "epson-inkjet-printer-workforce-635-nx625-series-1.0.1"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "epson-inkjet-printer-workforce-635-nx625-series"; version = "1.0.1"; @@ -22,8 +28,14 @@ in stdenv.mkDerivation rec { }; sourceRoot = srcdirs.filter; - nativeBuildInputs = [ autoreconfHook rpmextract ]; - buildInputs = [ cups libjpeg ]; + nativeBuildInputs = [ + autoreconfHook + rpmextract + ]; + buildInputs = [ + cups + libjpeg + ]; unpackPhase = '' rpmextract "$src" @@ -39,13 +51,17 @@ in stdenv.mkDerivation rec { installPhase = let filterdir = "$out/cups/lib/filter"; - docdir = "$out/share/doc"; - ppddir = "$out/share/cups/model/${pname}"; + docdir = "$out/share/doc"; + ppddir = "$out/share/cups/model/${pname}"; libdir = - if stdenv.system == "x86_64-linux" then "lib64" - else if stdenv.system == "i686_linux" then "lib" - else throw "other platforms than i686_linux and x86_64-linux are not yet supported"; - in '' + if stdenv.system == "x86_64-linux" then + "lib64" + else if stdenv.system == "i686_linux" then + "lib" + else + throw "other platforms than i686_linux and x86_64-linux are not yet supported"; + in + '' mkdir -p "$out" "${docdir}" "${filterdir}" "${ppddir}" cp src/epson_inkjet_printer_filter "${filterdir}" @@ -95,8 +111,14 @@ in stdenv.mkDerivation rec { }; ''; downloadPage = "https://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=16857&DSCCHK=4334d3487503d7f916ccf5d58071b05b7687294f"; - license = with lib.licenses; [ lgpl21 epson ]; + license = with lib.licenses; [ + lgpl21 + epson + ]; maintainers = [ lib.maintainers.jorsn ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/ep/epson_201207w/package.nix b/pkgs/by-name/ep/epson_201207w/package.nix index d5c57b35c32e8..c5fac4e37bf85 100644 --- a/pkgs/by-name/ep/epson_201207w/package.nix +++ b/pkgs/by-name/ep/epson_201207w/package.nix @@ -1,77 +1,96 @@ -{ lib, stdenv, fetchurl, rpmextract, autoreconfHook, file, libjpeg, cups }: +{ + lib, + stdenv, + fetchurl, + rpmextract, + autoreconfHook, + file, + libjpeg, + cups, +}: let version = "1.0.0"; in - stdenv.mkDerivation { +stdenv.mkDerivation { - pname = "epson_201207w"; - inherit version; + pname = "epson_201207w"; + inherit version; - src = fetchurl { - # NOTE: Don't forget to update the webarchive link too! - urls = [ - "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm" - "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm" - ]; - sha256 = "1ixnhn2dk83nh9v8sdivzgc2bm9z2phvsbx8bc6ainbjq6vn7lns"; - }; + src = fetchurl { + # NOTE: Don't forget to update the webarchive link too! + urls = [ + "https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm" + "https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm" + ]; + sha256 = "1ixnhn2dk83nh9v8sdivzgc2bm9z2phvsbx8bc6ainbjq6vn7lns"; + }; - nativeBuildInputs = [ rpmextract autoreconfHook file ]; + nativeBuildInputs = [ + rpmextract + autoreconfHook + file + ]; - buildInputs = [ libjpeg cups ]; + buildInputs = [ + libjpeg + cups + ]; - unpackPhase = '' - rpmextract $src - tar -zxf epson-inkjet-printer-201207w-${version}.tar.gz - tar -zxf epson-inkjet-printer-filter-${version}.tar.gz - for ppd in epson-inkjet-printer-201207w-${version}/ppds/*; do - substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201207w" "$out" - substituteInPlace $ppd --replace "/cups/lib" "/lib/cups" - done - cd epson-inkjet-printer-filter-${version} - ''; + unpackPhase = '' + rpmextract $src + tar -zxf epson-inkjet-printer-201207w-${version}.tar.gz + tar -zxf epson-inkjet-printer-filter-${version}.tar.gz + for ppd in epson-inkjet-printer-201207w-${version}/ppds/*; do + substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201207w" "$out" + substituteInPlace $ppd --replace "/cups/lib" "/lib/cups" + done + cd epson-inkjet-printer-filter-${version} + ''; - preConfigure = '' - chmod +x configure - export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" - ''; + preConfigure = '' + chmod +x configure + export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" + ''; - postInstall = '' - cd ../epson-inkjet-printer-201207w-${version} - cp -a lib64 resource watermark $out - mkdir -p $out/share/cups/model/epson-inkjet-printer-201207w - cp -a ppds $out/share/cups/model/epson-inkjet-printer-201207w/ - cp -a Manual.txt $out/doc/ - cp -a README $out/doc/README.driver - ''; + postInstall = '' + cd ../epson-inkjet-printer-201207w-${version} + cp -a lib64 resource watermark $out + mkdir -p $out/share/cups/model/epson-inkjet-printer-201207w + cp -a ppds $out/share/cups/model/epson-inkjet-printer-201207w/ + cp -a Manual.txt $out/doc/ + cp -a README $out/doc/README.driver + ''; - meta = with lib; { - homepage = "https://www.openprinting.org/driver/epson-201207w"; - description = "Epson printer driver (L110, L210, L300, L350, L355, L550, L555)"; - longDescription = '' - This software is a filter program used with the Common UNIX Printing - System (CUPS) under Linux. It supplies high quality printing with - Seiko Epson Color Ink Jet Printers. + meta = with lib; { + homepage = "https://www.openprinting.org/driver/epson-201207w"; + description = "Epson printer driver (L110, L210, L300, L350, L355, L550, L555)"; + longDescription = '' + This software is a filter program used with the Common UNIX Printing + System (CUPS) under Linux. It supplies high quality printing with + Seiko Epson Color Ink Jet Printers. - List of printers supported by this package: - Epson L110 Series - Epson L210 Series - Epson L300 Series - Epson L350 Series - Epson L355 Series - Epson L550 Series - Epson L555 Series + List of printers supported by this package: + Epson L110 Series + Epson L210 Series + Epson L300 Series + Epson L350 Series + Epson L355 Series + Epson L550 Series + Epson L555 Series - To use the driver adjust your configuration.nix file: - services.printing = { - enable = true; - drivers = [ pkgs.epson_201207w ]; - }; - ''; - license = with licenses; [ lgpl21 epson ]; - maintainers = [ maintainers.romildo ]; - platforms = [ "x86_64-linux" ]; - }; + To use the driver adjust your configuration.nix file: + services.printing = { + enable = true; + drivers = [ pkgs.epson_201207w ]; + }; + ''; + license = with licenses; [ + lgpl21 + epson + ]; + maintainers = [ maintainers.romildo ]; + platforms = [ "x86_64-linux" ]; + }; - } +} diff --git a/pkgs/by-name/ep/epstool/package.nix b/pkgs/by-name/ep/epstool/package.nix index fadc5e62e2481..56b38c0e37e09 100644 --- a/pkgs/by-name/ep/epstool/package.nix +++ b/pkgs/by-name/ep/epstool/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "3.09"; diff --git a/pkgs/by-name/ep/epub-thumbnailer/package.nix b/pkgs/by-name/ep/epub-thumbnailer/package.nix index 4338e037f65ec..353f8a775bb53 100644 --- a/pkgs/by-name/ep/epub-thumbnailer/package.nix +++ b/pkgs/by-name/ep/epub-thumbnailer/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + python3, + fetchFromGitHub, + unstableGitUpdater, }: python3.pkgs.buildPythonApplication { diff --git a/pkgs/by-name/ep/epub2txt2/package.nix b/pkgs/by-name/ep/epub2txt2/package.nix index 586079473d5eb..ebf3f7af15437 100644 --- a/pkgs/by-name/ep/epub2txt2/package.nix +++ b/pkgs/by-name/ep/epub2txt2/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "epub2txt2"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-YFaXkcIdat2cn1ITYFyG1hxbbepqcxvyJ6ZzDo4dVYI="; }; - makeFlags = [ "CC:=$(CC)" "PREFIX:=$(out)" ]; + makeFlags = [ + "CC:=$(CC)" + "PREFIX:=$(out)" + ]; meta = { description = "Simple command-line utility for Linux, for extracting text from EPUB documents"; diff --git a/pkgs/by-name/ep/epubcheck/package.nix b/pkgs/by-name/ep/epubcheck/package.nix index abd2803508bb1..d3426983efa1d 100644 --- a/pkgs/by-name/ep/epubcheck/package.nix +++ b/pkgs/by-name/ep/epubcheck/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchzip -, jre, makeWrapper }: +{ + lib, + stdenv, + fetchzip, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "epubcheck"; @@ -36,7 +41,12 @@ stdenv.mkDerivation rec { description = "Validation tool for EPUB"; mainProgram = "epubcheck"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = with licenses; [ asl20 bsd3 mpl10 w3c ]; + license = with licenses; [ + asl20 + bsd3 + mpl10 + w3c + ]; platforms = platforms.all; maintainers = with maintainers; [ eadwu ]; }; diff --git a/pkgs/by-name/ep/epy/package.nix b/pkgs/by-name/ep/epy/package.nix index 5bf3455bc48a2..3b54ee697aca2 100644 --- a/pkgs/by-name/ep/epy/package.nix +++ b/pkgs/by-name/ep/epy/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "epy"; diff --git a/pkgs/by-name/eq/eq10q/package.nix b/pkgs/by-name/eq/eq10q/package.nix index 5be1594343545..5a6de756f6f9a 100644 --- a/pkgs/by-name/eq/eq10q/package.nix +++ b/pkgs/by-name/eq/eq10q/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, fftw, gtkmm2, libxcb, lv2, pkg-config -, xorg }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + fftw, + gtkmm2, + libxcb, + lv2, + pkg-config, + xorg, +}: stdenv.mkDerivation rec { pname = "eq10q"; version = "2.2"; @@ -8,8 +19,19 @@ stdenv.mkDerivation rec { sha256 = "16mhcav8gwkp29k9ki4dlkajlcgh1i2wvldabxb046d37dq4qzrk"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fftw gtkmm2 libxcb lv2 xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + fftw + gtkmm2 + libxcb + lv2 + xorg.libpthreadstubs + xorg.libXdmcp + xorg.libxshmfence + ]; patches = [ (fetchpatch { @@ -20,10 +42,10 @@ stdenv.mkDerivation rec { ]; postPatch = '' - # Fix build with lv2 1.18: https://sourceforge.net/p/eq10q/bugs/23/ - find . -type f -exec fgrep -q LV2UI_Descriptor {} \; \ - -exec sed -i {} -e 's/const _\?LV2UI_Descriptor/const LV2UI_Descriptor/' \; - ''; + # Fix build with lv2 1.18: https://sourceforge.net/p/eq10q/bugs/23/ + find . -type f -exec fgrep -q LV2UI_Descriptor {} \; \ + -exec sed -i {} -e 's/const _\?LV2UI_Descriptor/const LV2UI_Descriptor/' \; + ''; installFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/eq/equilux-theme/package.nix b/pkgs/by-name/eq/equilux-theme/package.nix index 53e45328a8e6a..785c3e0f68bdc 100644 --- a/pkgs/by-name/eq/equilux-theme/package.nix +++ b/pkgs/by-name/eq/equilux-theme/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, gnome-shell, gnome-themes-extra, glib, libxml2, gtk-engine-murrine, gdk-pixbuf, librsvg, bc }: +{ + lib, + stdenv, + fetchFromGitHub, + gnome-shell, + gnome-themes-extra, + glib, + libxml2, + gtk-engine-murrine, + gdk-pixbuf, + librsvg, + bc, +}: stdenv.mkDerivation rec { pname = "equilux-theme"; @@ -11,9 +23,17 @@ stdenv.mkDerivation rec { sha256 = "0lv2yyxhnmnkwxp576wnb01id4fp734b5z5n0l67sg5z7vc2h8fc"; }; - nativeBuildInputs = [ glib libxml2 bc ]; - - buildInputs = [ gnome-themes-extra gdk-pixbuf librsvg ]; + nativeBuildInputs = [ + glib + libxml2 + bc + ]; + + buildInputs = [ + gnome-themes-extra + gdk-pixbuf + librsvg + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/er/er-patcher/package.nix b/pkgs/by-name/er/er-patcher/package.nix index d3a02fac46b1a..e9d3c56a1c048 100644 --- a/pkgs/by-name/er/er-patcher/package.nix +++ b/pkgs/by-name/er/er-patcher/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, python3 +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/er/erdtree/package.nix b/pkgs/by-name/er/erdtree/package.nix index 8a761416c94db..bb9844855c7b9 100644 --- a/pkgs/by-name/er/erdtree/package.nix +++ b/pkgs/by-name/er/erdtree/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/solidiquis/erdtree"; changelog = "https://github.com/solidiquis/erdtree/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda zendo ]; + maintainers = with maintainers; [ + figsoda + zendo + ]; mainProgram = "erd"; }; } diff --git a/pkgs/by-name/er/eresi/package.nix b/pkgs/by-name/er/eresi/package.nix index 192d85c5a2e99..1fa56cc97bcd9 100644 --- a/pkgs/by-name/er/eresi/package.nix +++ b/pkgs/by-name/er/eresi/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, which, openssl, readline, fetchpatch }: +{ + stdenv, + lib, + fetchFromGitHub, + which, + openssl, + readline, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "eresi"; @@ -58,14 +66,16 @@ stdenv.mkDerivation rec { dontDisableStatic = true; nativeBuildInputs = [ which ]; - buildInputs = [ openssl readline ]; + buildInputs = [ + openssl + readline + ]; enableParallelBuilding = true; # ln: failed to create symbolic link '...-eresi-0.83-a3-phoenix//bin/elfsh': No such file or directory # make: *** [Makefile:108: install64] Error 1 enableParallelInstalling = false; - installTargets = lib.singleton "install" - ++ lib.optional stdenv.hostPlatform.is64bit "install64"; + installTargets = lib.singleton "install" ++ lib.optional stdenv.hostPlatform.is64bit "install64"; meta = { description = "ERESI Reverse Engineering Software Interface"; diff --git a/pkgs/by-name/er/ergo/package.nix b/pkgs/by-name/er/ergo/package.nix index 075d4febe95a9..6eb6c6f574c10 100644 --- a/pkgs/by-name/er/ergo/package.nix +++ b/pkgs/by-name/er/ergo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre, nixosTests }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, + nixosTests, +}: stdenv.mkDerivation rec { pname = "ergo"; diff --git a/pkgs/by-name/er/ergochat/package.nix b/pkgs/by-name/er/ergochat/package.nix index 1744361f8412d..9f2a004d65039 100644 --- a/pkgs/by-name/er/ergochat/package.nix +++ b/pkgs/by-name/er/ergochat/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, lib, nixosTests }: +{ + buildGoModule, + fetchFromGitHub, + lib, + nixosTests, +}: buildGoModule rec { pname = "ergo"; @@ -21,7 +26,10 @@ buildGoModule rec { mainProgram = "ergo"; homepage = "https://github.com/ergochat/ergo"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lassulus tv ]; + maintainers = with lib.maintainers; [ + lassulus + tv + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/er/ergoscf/package.nix b/pkgs/by-name/er/ergoscf/package.nix index ceaeb3336427d..a9afc38fc9715 100644 --- a/pkgs/by-name/er/ergoscf/package.nix +++ b/pkgs/by-name/er/ergoscf/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, blas, lapack } : +{ + lib, + stdenv, + fetchurl, + blas, + lapack, +}: stdenv.mkDerivation rec { pname = "ergoscf"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-U0NVREEZ8HI0Q0ZcbwvZsYA76PWMh7bqgDG1uaUc01c="; }; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; patches = [ ./math-constants.patch ]; diff --git a/pkgs/by-name/er/ericw-tools/package.nix b/pkgs/by-name/er/ericw-tools/package.nix index 9e833eafa7705..dba4b02f9de76 100644 --- a/pkgs/by-name/er/ericw-tools/package.nix +++ b/pkgs/by-name/er/ericw-tools/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, gtest, fmt -, cmake, ninja, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + gtest, + fmt, + cmake, + ninja, + installShellFiles, }: stdenv.mkDerivation rec { @@ -27,9 +34,17 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake ninja installShellFiles ]; + nativeBuildInputs = [ + cmake + ninja + installShellFiles + ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/er/erigon/package.nix b/pkgs/by-name/er/erigon/package.nix index bf65a3dce21bf..810255b8c033b 100644 --- a/pkgs/by-name/er/erigon/package.nix +++ b/pkgs/by-name/er/erigon/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, +}: let pname = "erigon"; @@ -40,14 +45,24 @@ buildGoModule { # Enabling silkworm also breaks the build as it requires dynamically linked libraries. # If we need it in the future, we should consider packaging silkworm and silkworm-go # as depenedencies explicitly. - tags = [ "nosqlite" "noboltdb" "nosilkworm" ]; + tags = [ + "nosqlite" + "noboltdb" + "nosilkworm" + ]; passthru.updateScript = nix-update-script { }; meta = with lib; { homepage = "https://github.com/ledgerwatch/erigon/"; description = "Ethereum node implementation focused on scalability and modularity"; - license = with licenses; [ lgpl3Plus gpl3Plus ]; - maintainers = with maintainers; [ d-xo happysalada ]; + license = with licenses; [ + lgpl3Plus + gpl3Plus + ]; + maintainers = with maintainers; [ + d-xo + happysalada + ]; }; } diff --git a/pkgs/by-name/er/eris-go/package.nix b/pkgs/by-name/er/eris-go/package.nix index 496572f9d7aac..10c1444b79ae0 100644 --- a/pkgs/by-name/er/eris-go/package.nix +++ b/pkgs/by-name/er/eris-go/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, buildGoModule, fetchFromGitea, nixosTests, installShellFiles }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitea, + nixosTests, + installShellFiles, +}: buildGoModule rec { pname = "eris-go"; version = "20241028"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitea { domain = "codeberg.org"; diff --git a/pkgs/by-name/er/eriscmd/package.nix b/pkgs/by-name/er/eriscmd/package.nix index dcad67e2a8a4c..570260dcbd6bd 100644 --- a/pkgs/by-name/er/eriscmd/package.nix +++ b/pkgs/by-name/er/eriscmd/package.nix @@ -1,34 +1,43 @@ -{ lib, buildNimPackage, fetchFromGitea }: +{ + lib, + buildNimPackage, + fetchFromGitea, +}: -buildNimPackage (final: prev: { - pname = "eris"; - version = "20230722"; - outputs = [ "bin" "out" ]; - requiredNimVersion = 1; - src = fetchFromGitea { - domain = "codeberg.org"; - owner = "eris"; - repo = "nim-eris"; - rev = final.version; - hash = "sha256-JVl2/PmFVYuD4s9hKoQwVDKUa3PBWK5SBDEmVHVSuig="; - }; - lockFile = ./lock.json; - postInstall = '' - mkdir -p "$bin/share/recoll/filters" - mv "$bin/bin/rclerislink" "$bin/share/recoll/filters/" +buildNimPackage ( + final: prev: { + pname = "eris"; + version = "20230722"; + outputs = [ + "bin" + "out" + ]; + requiredNimVersion = 1; + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "eris"; + repo = "nim-eris"; + rev = final.version; + hash = "sha256-JVl2/PmFVYuD4s9hKoQwVDKUa3PBWK5SBDEmVHVSuig="; + }; + lockFile = ./lock.json; + postInstall = '' + mkdir -p "$bin/share/recoll/filters" + mv "$bin/bin/rclerislink" "$bin/share/recoll/filters/" - mkdir -p "$bin/share/applications" - substitute "eris-open.desktop" "$bin/share/applications/eris-open.desktop"\ - --replace "Exec=eriscmd " "Exec=$bin/bin/eriscmd " + mkdir -p "$bin/share/applications" + substitute "eris-open.desktop" "$bin/share/applications/eris-open.desktop"\ + --replace "Exec=eriscmd " "Exec=$bin/bin/eriscmd " - install -D "eris-link.xml" -t "$bin/share/mime/packages" - install -D "eris48.png" "$bin/share/icons/hicolor/48x48/apps/eris.png" - ''; - meta = final.src.meta // { - homepage = "https://codeberg.org/eris/nim-eris"; - license = lib.licenses.unlicense; - maintainers = with lib.maintainers; [ ehmry ]; - mainProgram = "eriscmd"; - badPlatforms = lib.platforms.darwin; - }; -}) + install -D "eris-link.xml" -t "$bin/share/mime/packages" + install -D "eris48.png" "$bin/share/icons/hicolor/48x48/apps/eris.png" + ''; + meta = final.src.meta // { + homepage = "https://codeberg.org/eris/nim-eris"; + license = lib.licenses.unlicense; + maintainers = with lib.maintainers; [ ehmry ]; + mainProgram = "eriscmd"; + badPlatforms = lib.platforms.darwin; + }; + } +) diff --git a/pkgs/by-name/er/erosmb/package.nix b/pkgs/by-name/er/erosmb/package.nix index f03e9a958de20..abb3f08474baf 100644 --- a/pkgs/by-name/er/erosmb/package.nix +++ b/pkgs/by-name/er/erosmb/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/er/errbot/package.nix b/pkgs/by-name/er/errbot/package.nix index cf8897b444f2f..8ff4c4cf431a5 100644 --- a/pkgs/by-name/er/errbot/package.nix +++ b/pkgs/by-name/er/errbot/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/er/errcheck/package.nix b/pkgs/by-name/er/errcheck/package.nix index fe33dff037961..7ec574b4b4ced 100644 --- a/pkgs/by-name/er/errcheck/package.nix +++ b/pkgs/by-name/er/errcheck/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "errcheck"; diff --git a/pkgs/by-name/es/es/package.nix b/pkgs/by-name/es/es/package.nix index 698cfc0c62a86..78bfa8981cf5e 100644 --- a/pkgs/by-name/es/es/package.nix +++ b/pkgs/by-name/es/es/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchpatch, fetchurl, readline, bison }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + readline, + bison, +}: stdenv.mkDerivation rec { @@ -35,16 +42,18 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Extensible shell with higher order functions"; mainProgram = "es"; - longDescription = - '' - Es is an extensible shell. The language was derived - from the Plan 9 shell, rc, and was influenced by - functional programming languages, such as Scheme, - and the Tcl embeddable programming language. - ''; + longDescription = '' + Es is an extensible shell. The language was derived + from the Plan 9 shell, rc, and was influenced by + functional programming languages, such as Scheme, + and the Tcl embeddable programming language. + ''; homepage = "http://wryun.github.io/es-shell/"; license = licenses.publicDomain; - maintainers = with maintainers; [ sjmackenzie ttuegel ]; + maintainers = with maintainers; [ + sjmackenzie + ttuegel + ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/es/esbuild-config/package.nix b/pkgs/by-name/es/esbuild-config/package.nix index 6324add2b9343..1944523f81879 100644 --- a/pkgs/by-name/es/esbuild-config/package.nix +++ b/pkgs/by-name/es/esbuild-config/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/es/eschalot/package.nix b/pkgs/by-name/es/eschalot/package.nix index 0c984c5d35e55..28ee6a9ee29a2 100644 --- a/pkgs/by-name/es/eschalot/package.nix +++ b/pkgs/by-name/es/eschalot/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation rec { pname = "eschalot"; diff --git a/pkgs/by-name/es/escrotum/package.nix b/pkgs/by-name/es/escrotum/package.nix index 6cbd793daf2ed..6d4f80521596f 100644 --- a/pkgs/by-name/es/escrotum/package.nix +++ b/pkgs/by-name/es/escrotum/package.nix @@ -1,19 +1,23 @@ -{ lib, python3Packages, fetchFromGitHub -, ffmpeg-full -, gtk3 -, pango -, gobject-introspection -, wrapGAppsHook3 +{ + lib, + python3Packages, + fetchFromGitHub, + ffmpeg-full, + gtk3, + pango, + gobject-introspection, + wrapGAppsHook3, }: -with python3Packages; buildPythonApplication { +with python3Packages; +buildPythonApplication { pname = "escrotum"; version = "unstable-2020-12-07"; src = fetchFromGitHub { - owner = "Roger"; - repo = "escrotum"; - rev = "a41d0f11bb6af4f08e724b8ccddf8513d905c0d1"; + owner = "Roger"; + repo = "escrotum"; + rev = "a41d0f11bb6af4f08e724b8ccddf8513d905c0d1"; sha256 = "sha256-z0AyTbOEE60j/883X17mxgoaVlryNtn0dfEB0C18G2s="; }; @@ -27,14 +31,22 @@ with python3Packages; buildPythonApplication { wrapGAppsHook3 ]; - propagatedBuildInputs = [ pygobject3 xcffib pycairo numpy ]; + propagatedBuildInputs = [ + pygobject3 + xcffib + pycairo + numpy + ]; # Cannot find pango without strictDeps = false strictDeps = false; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - makeWrapperArgs = ["--prefix PATH : ${lib.makeBinPath [ ffmpeg-full ]}"]; + makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ffmpeg-full ]}" ]; postInstall = '' mkdir -p $man/share/man/man1 diff --git a/pkgs/by-name/es/esdm/package.nix b/pkgs/by-name/es/esdm/package.nix index e11310da72552..f99227535c518 100644 --- a/pkgs/by-name/es/esdm/package.nix +++ b/pkgs/by-name/es/esdm/package.nix @@ -1,61 +1,65 @@ -{ lib -, stdenv -, fetchFromGitHub -, protobufc -, pkg-config -, fuse3 -, meson -, ninja -, libselinux -, jitterentropy -, botan3 -, openssl -, libkcapi +{ + lib, + stdenv, + fetchFromGitHub, + protobufc, + pkg-config, + fuse3, + meson, + ninja, + libselinux, + jitterentropy, + botan3, + openssl, + libkcapi, -# A more detailed explaination of the following meson build options can be found -# in the source code of esdm. -# A brief explanation is given. + # A more detailed explaination of the following meson build options can be found + # in the source code of esdm. + # A brief explanation is given. -# general options -, selinux ? false # enable selinux support -, drngHashDrbg ? true # set the default drng callback -, drngChaCha20 ? false # set the default drng callback -, ais2031 ? false # set the seeding strategy to be compliant with AIS 20/31 -, sp80090c ? false # set compliance with NIST SP800-90C -, cryptoBackend ? "botan" # set backend for hash and drbg operations -, linuxDevFiles ? true # enable linux /dev/random and /dev/urandom support -, linuxGetRandom ? true # enable linux getrandom support -, hashSha512 ? false # set the conditioning hash: SHA2-512 -, hashSha3_512 ? true # set the conditioning hash: SHA3-512 -, openSSLRandProvider ? true # build ESDM provider for OpenSSL 3.x -, botanRng ? true # build ESDM class for Botan 3.x + # general options + selinux ? false, # enable selinux support + drngHashDrbg ? true, # set the default drng callback + drngChaCha20 ? false, # set the default drng callback + ais2031 ? false, # set the seeding strategy to be compliant with AIS 20/31 + sp80090c ? false, # set compliance with NIST SP800-90C + cryptoBackend ? "botan", # set backend for hash and drbg operations + linuxDevFiles ? true, # enable linux /dev/random and /dev/urandom support + linuxGetRandom ? true, # enable linux getrandom support + hashSha512 ? false, # set the conditioning hash: SHA2-512 + hashSha3_512 ? true, # set the conditioning hash: SHA3-512 + openSSLRandProvider ? true, # build ESDM provider for OpenSSL 3.x + botanRng ? true, # build ESDM class for Botan 3.x -# client-related options (handle with care, consult source code and meson options) -# leave as is if in doubt -, connectTimeoutExponent ? 28 # (1 << EXPONENT nanoseconds) -, rxTxTimeoutExponent ? 28 # (1 << EXPONENT nanoseconds) -, reconnectAttempts ? 10 # how often to attempt unix socket connection before giving up + # client-related options (handle with care, consult source code and meson options) + # leave as is if in doubt + connectTimeoutExponent ? 28, # (1 << EXPONENT nanoseconds) + rxTxTimeoutExponent ? 28, # (1 << EXPONENT nanoseconds) + reconnectAttempts ? 10, # how often to attempt unix socket connection before giving up -# entropy sources -, esJitterRng ? true # enable support for the entropy source: jitter rng (running in user space) -, esJitterRngEntropyRate ? 256 # amount of entropy to account for jitter rng source -, esJitterRngKernel ? true # enable support for the entropy source: jitter rng (running in kernel space) -, esJitterRngKernelEntropyRate ? 256 # amount of entropy to account for kernel jitter rng source -, esCPU ? true # enable support for the entropy source: cpu-based entropy -, esCPUEntropyRate ? 8 # amount of entropy to account for cpu rng source -, esKernel ? true # enable support for the entropy source: kernel-based entropy -, esKernelEntropyRate ? 128 # amount of entropy to account for kernel-based source -, esIRQ ? false # enable support for the entropy source: interrupt-based entropy -, esIRQEntropyRate ? 256 # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0) -, esSched ? false # enable support for the entropy source: scheduler-based entropy -, esSchedEntropyRate ? 0 # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0) -, esHwrand ? true # enable support for the entropy source: /dev/hwrng -, esHwrandEntropyRate ? 128 # amount of entropy to account for /dev/hwrng-based sources + # entropy sources + esJitterRng ? true, # enable support for the entropy source: jitter rng (running in user space) + esJitterRngEntropyRate ? 256, # amount of entropy to account for jitter rng source + esJitterRngKernel ? true, # enable support for the entropy source: jitter rng (running in kernel space) + esJitterRngKernelEntropyRate ? 256, # amount of entropy to account for kernel jitter rng source + esCPU ? true, # enable support for the entropy source: cpu-based entropy + esCPUEntropyRate ? 8, # amount of entropy to account for cpu rng source + esKernel ? true, # enable support for the entropy source: kernel-based entropy + esKernelEntropyRate ? 128, # amount of entropy to account for kernel-based source + esIRQ ? false, # enable support for the entropy source: interrupt-based entropy + esIRQEntropyRate ? 256, # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0) + esSched ? false, # enable support for the entropy source: scheduler-based entropy + esSchedEntropyRate ? 0, # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0) + esHwrand ? true, # enable support for the entropy source: /dev/hwrng + esHwrandEntropyRate ? 128, # amount of entropy to account for /dev/hwrng-based sources }: assert drngHashDrbg != drngChaCha20; assert hashSha512 != hashSha3_512; -assert cryptoBackend == "openssl" || cryptoBackend == "botan" || cryptoBackend == "builtin" "Unsupported ESDM crypto backend"; +assert + cryptoBackend == "openssl" + || cryptoBackend == "botan" + || cryptoBackend == "builtin" "Unsupported ESDM crypto backend"; stdenv.mkDerivation rec { pname = "esdm"; @@ -68,9 +72,14 @@ stdenv.mkDerivation rec { hash = "sha256-5XctrI02pfCgK1P76AaSkMjiQqav6LX3SMjKr4F44sw="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; - buildInputs = lib.optional (cryptoBackend == "botan" || botanRng) botan3 + buildInputs = + lib.optional (cryptoBackend == "botan" || botanRng) botan3 ++ lib.optional (cryptoBackend == "openssl" || openSSLRandProvider) openssl ++ lib.optional selinux libselinux ++ lib.optional esJitterRng jitterentropy @@ -123,8 +132,14 @@ stdenv.mkDerivation rec { meta = { homepage = "https://www.chronox.de/esdm.html"; description = "Entropy Source and DRNG Manager in user space"; - license = with lib.licenses; [ gpl2Only bsd3 ]; + license = with lib.licenses; [ + gpl2Only + bsd3 + ]; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ orichter thillux ]; + maintainers = with lib.maintainers; [ + orichter + thillux + ]; }; } diff --git a/pkgs/by-name/es/esh/package.nix b/pkgs/by-name/es/esh/package.nix index 2b7b2a427f6b4..1dbd3ea54e27f 100644 --- a/pkgs/by-name/es/esh/package.nix +++ b/pkgs/by-name/es/esh/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, asciidoctor, gawk, gnused, runtimeShell, binlore, esh }: +{ + lib, + stdenv, + fetchFromGitHub, + asciidoctor, + gawk, + gnused, + runtimeShell, + binlore, + esh, +}: stdenv.mkDerivation rec { pname = "esh"; @@ -13,9 +23,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ asciidoctor ]; - buildInputs = [ gawk gnused ]; + buildInputs = [ + gawk + gnused + ]; - makeFlags = [ "prefix=$(out)" "DESTDIR=" ]; + makeFlags = [ + "prefix=$(out)" + "DESTDIR=" + ]; postPatch = '' patchShebangs . diff --git a/pkgs/by-name/es/eslint_d/package.nix b/pkgs/by-name/es/eslint_d/package.nix index 1a4a71d43fefe..d36a4eed20a17 100644 --- a/pkgs/by-name/es/eslint_d/package.nix +++ b/pkgs/by-name/es/eslint_d/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNpmPackage, fetchFromGitHub, eslint_d, testers }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + eslint_d, + testers, +}: buildNpmPackage rec { pname = "eslint_d"; @@ -15,7 +21,10 @@ buildNpmPackage rec { dontNpmBuild = true; - passthru.tests.version = testers.testVersion { package = eslint_d; version = src.rev; }; + passthru.tests.version = testers.testVersion { + package = eslint_d; + version = src.rev; + }; meta = with lib; { description = "Makes eslint the fastest linter on the planet"; diff --git a/pkgs/by-name/es/espanso/package.nix b/pkgs/by-name/es/espanso/package.nix index 4e4e27f749fcf..636bec07ee1ec 100644 --- a/pkgs/by-name/es/espanso/package.nix +++ b/pkgs/by-name/es/espanso/package.nix @@ -1,29 +1,30 @@ -{ lib -, coreutils -, fetchFromGitHub -, rustPlatform -, pkg-config -, extra-cmake-modules -, dbus -, libX11 -, libXi -, libXtst -, libnotify -, libxkbcommon -, openssl -, xclip -, xdotool -, setxkbmap -, wl-clipboard -, wxGTK32 -, makeWrapper -, stdenv -, apple-sdk_11 -, darwinMinVersionHook -, waylandSupport ? false -, x11Support ? stdenv.hostPlatform.isLinux -, testers -, espanso +{ + lib, + coreutils, + fetchFromGitHub, + rustPlatform, + pkg-config, + extra-cmake-modules, + dbus, + libX11, + libXi, + libXtst, + libnotify, + libxkbcommon, + openssl, + xclip, + xdotool, + setxkbmap, + wl-clipboard, + wxGTK32, + makeWrapper, + stdenv, + apple-sdk_11, + darwinMinVersionHook, + waylandSupport ? false, + x11Support ? stdenv.hostPlatform.isLinux, + testers, + espanso, }: # espanso does not support building with both X11 and Wayland support at the same time assert stdenv.hostPlatform.isLinux -> x11Support != waylandSupport; @@ -56,35 +57,44 @@ rustPlatform.buildRustPackage rec { # Ref: https://github.com/espanso/espanso/blob/78df1b704fe2cc5ea26f88fdc443b6ae1df8a989/scripts/build_binary.rs#LL49C3-L62C4 buildNoDefaultFeatures = true; - buildFeatures = [ - "modulo" - ] ++ lib.optionals waylandSupport [ - "wayland" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "vendored-tls" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "native-tls" - ]; + buildFeatures = + [ + "modulo" + ] + ++ lib.optionals waylandSupport [ + "wayland" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "vendored-tls" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "native-tls" + ]; - buildInputs = [ - wxGTK32 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - openssl - dbus - libnotify - libxkbcommon - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - (darwinMinVersionHook "10.13") - ] ++ lib.optionals waylandSupport [ - wl-clipboard - ] ++ lib.optionals x11Support [ - libXi - libXtst - libX11 - xclip - xdotool - ]; + buildInputs = + [ + wxGTK32 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + openssl + dbus + libnotify + libxkbcommon + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "10.13") + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + ] + ++ lib.optionals x11Support [ + libXi + libXtst + libX11 + xclip + xdotool + ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace scripts/create_bundle.sh \ @@ -101,21 +111,28 @@ rustPlatform.buildRustPackage rec { doCheck = false; postInstall = - if stdenv.hostPlatform.isDarwin then '' - EXEC_PATH=$out/bin/espanso BUILD_ARCH=current ${stdenv.shell} ./scripts/create_bundle.sh - '' else '' - wrapProgram $out/bin/espanso \ - --prefix PATH : ${lib.makeBinPath ( - lib.optionals stdenv.hostPlatform.isLinux [ - libnotify - setxkbmap - ] ++ lib.optionals waylandSupport [ - wl-clipboard - ] ++ lib.optionals x11Support [ - xclip - ] - )} - ''; + if stdenv.hostPlatform.isDarwin then + '' + EXEC_PATH=$out/bin/espanso BUILD_ARCH=current ${stdenv.shell} ./scripts/create_bundle.sh + '' + else + '' + wrapProgram $out/bin/espanso \ + --prefix PATH : ${ + lib.makeBinPath ( + lib.optionals stdenv.hostPlatform.isLinux [ + libnotify + setxkbmap + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + ] + ++ lib.optionals x11Support [ + xclip + ] + ) + } + ''; passthru.tests.version = testers.testVersion { package = espanso; @@ -128,7 +145,11 @@ rustPlatform.buildRustPackage rec { mainProgram = "espanso"; homepage = "https://espanso.org"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ kimat pyrox0 n8henrie ]; + maintainers = with maintainers; [ + kimat + pyrox0 + n8henrie + ]; platforms = platforms.unix; longDescription = '' diff --git a/pkgs/by-name/es/espeakup/package.nix b/pkgs/by-name/es/espeakup/package.nix index c35cc483ea99c..cf440d4b6d80c 100644 --- a/pkgs/by-name/es/espeakup/package.nix +++ b/pkgs/by-name/es/espeakup/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, meson -, ninja -, espeak-ng -, fetchFromGitHub -, pkg-config -, ronn -, alsa-lib -, systemd +{ + stdenv, + lib, + meson, + ninja, + espeak-ng, + fetchFromGitHub, + pkg-config, + ronn, + alsa-lib, + systemd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/es/espflash/package.nix b/pkgs/by-name/es/espflash/package.nix index 94fa9f5ca41f6..cd636ba772101 100644 --- a/pkgs/by-name/es/espflash/package.nix +++ b/pkgs/by-name/es/espflash/package.nix @@ -1,16 +1,16 @@ { - lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, installShellFiles -, udev -, stdenv -, CoreServices -, Security -, nix-update-script -, openssl -, SystemConfiguration + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + installShellFiles, + udev, + stdenv, + CoreServices, + Security, + nix-update-script, + openssl, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -32,13 +32,16 @@ rustPlatform.buildRustPackage rec { # Needed to get openssl-sys to use pkg-config. OPENSSL_NO_VENDOR = 1; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - udev - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - Security - SystemConfiguration - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + udev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + SystemConfiguration + ]; cargoHash = "sha256-3xUDsznzIRlfGwVuIH1+Ub5tE/ST981KZS/2TAKaBAE="; @@ -56,7 +59,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/esp-rs/espflash"; changelog = "https://github.com/esp-rs/espflash/blob/v${version}/CHANGELOG.md"; mainProgram = "espflash"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/by-name/es/espresso/package.nix b/pkgs/by-name/es/espresso/package.nix index 8939bec8ecccc..9e44a32cf0de6 100644 --- a/pkgs/by-name/es/espresso/package.nix +++ b/pkgs/by-name/es/espresso/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, cmake, stdenv, nix-update-script }: +{ + lib, + fetchFromGitHub, + cmake, + stdenv, + nix-update-script, +}: stdenv.mkDerivation rec { pname = "espresso"; version = "2.4"; @@ -13,11 +19,14 @@ stdenv.mkDerivation rec { doCheck = true; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; passthru.updateScript = nix-update-script { }; - meta = with lib;{ + meta = with lib; { description = "Multi-valued PLA minimization"; # from manual longDescription = '' @@ -28,7 +37,7 @@ stdenv.mkDerivation rec { heuristic Boolean minimization. ''; homepage = "https://github.com/chipsalliance/espresso"; - maintainers = with maintainers;[ pineapplehunter ]; + maintainers = with maintainers; [ pineapplehunter ]; mainProgram = "espresso"; platforms = lib.platforms.all; diff --git a/pkgs/by-name/es/esptool-ck/package.nix b/pkgs/by-name/es/esptool-ck/package.nix index 58f84c9b06306..4f7ce1504e0d6 100644 --- a/pkgs/by-name/es/esptool-ck/package.nix +++ b/pkgs/by-name/es/esptool-ck/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "esptool-ck"; diff --git a/pkgs/by-name/es/esptool/package.nix b/pkgs/by-name/es/esptool/package.nix index 1a61e8ae351f7..8f4b6482d9a64 100644 --- a/pkgs/by-name/es/esptool/package.nix +++ b/pkgs/by-name/es/esptool/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, softhsm +{ + lib, + fetchFromGitHub, + python3Packages, + softhsm, }: python3Packages.buildPythonApplication rec { @@ -42,11 +43,14 @@ python3Packages.buildPythonApplication rec { hsm = [ python-pkcs11 ]; }; - nativeCheckInputs = with python3Packages; [ - pyelftools - pytestCheckHook - softhsm - ] ++ lib.flatten (lib.attrValues optional-dependencies); + nativeCheckInputs = + with python3Packages; + [ + pyelftools + pytestCheckHook + softhsm + ] + ++ lib.flatten (lib.attrValues optional-dependencies); # tests mentioned in `.github/workflows/test_esptool.yml` checkPhase = '' @@ -71,7 +75,13 @@ python3Packages.buildPythonApplication rec { description = "ESP8266 and ESP32 serial bootloader utility"; homepage = "https://github.com/espressif/esptool"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ dezgeg dotlambda ] ++ teams.lumiguide.members; + maintainers = + with maintainers; + [ + dezgeg + dotlambda + ] + ++ teams.lumiguide.members; platforms = with platforms; linux ++ darwin; mainProgram = "esptool.py"; }; diff --git a/pkgs/by-name/es/espup/package.nix b/pkgs/by-name/es/espup/package.nix index f584e3486e4f4..83710c80facfc 100644 --- a/pkgs/by-name/es/espup/package.nix +++ b/pkgs/by-name/es/espup/package.nix @@ -1,16 +1,17 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, installShellFiles -, bzip2 -, openssl -, xz -, zstd -, stdenv -, darwin -, testers -, espup +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + installShellFiles, + bzip2, + openssl, + xz, + zstd, + stdenv, + darwin, + testers, + espup, }: rustPlatform.buildRustPackage rec { @@ -31,16 +32,18 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - bzip2 - openssl - xz - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + openssl + xz + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { OPENSSL_NO_VENDOR = true; @@ -70,8 +73,14 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Tool for installing and maintaining Espressif Rust ecosystem"; homepage = "https://github.com/esp-rs/espup/"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ knightpp beeb ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + knightpp + beeb + ]; mainProgram = "espup"; }; } diff --git a/pkgs/by-name/es/essentia-extractor/package.nix b/pkgs/by-name/es/essentia-extractor/package.nix index de3bf45d10c58..e99bbb20a3eb8 100644 --- a/pkgs/by-name/es/essentia-extractor/package.nix +++ b/pkgs/by-name/es/essentia-extractor/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let arch_table = { "x86_64-linux" = "linux-x86_64"; @@ -34,7 +38,10 @@ stdenv.mkDerivation rec { description = "AcousticBrainz audio feature extractor"; license = licenses.agpl3Plus; maintainers = with maintainers; [ lovesegfault ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; mainProgram = "streaming_extractor_music"; }; } diff --git a/pkgs/by-name/es/esshader/package.nix b/pkgs/by-name/es/esshader/package.nix index b425ce5721ce0..83a3c20708d25 100644 --- a/pkgs/by-name/es/esshader/package.nix +++ b/pkgs/by-name/es/esshader/package.nix @@ -1,4 +1,12 @@ -{ stdenv, fetchFromGitHub, pkg-config, libGL, glfw, soil, lib }: +{ + stdenv, + fetchFromGitHub, + pkg-config, + libGL, + glfw, + soil, + lib, +}: stdenv.mkDerivation { pname = "esshader"; @@ -20,7 +28,9 @@ stdenv.mkDerivation { pkg-config ]; buildInputs = [ - libGL glfw soil + libGL + glfw + soil ]; installPhase = '' diff --git a/pkgs/by-name/es/est-sfs/package.nix b/pkgs/by-name/es/est-sfs/package.nix index c306cfd71c392..a88578d992487 100644 --- a/pkgs/by-name/es/est-sfs/package.nix +++ b/pkgs/by-name/es/est-sfs/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gsl }: +{ + lib, + stdenv, + fetchurl, + gsl, +}: stdenv.mkDerivation rec { pname = "est-sfs"; diff --git a/pkgs/by-name/et/et/package.nix b/pkgs/by-name/et/et/package.nix index de47efc07ef51..cc73253dd6ea2 100644 --- a/pkgs/by-name/et/et/package.nix +++ b/pkgs/by-name/et/et/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libnotify, gdk-pixbuf }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libnotify, + gdk-pixbuf, +}: stdenv.mkDerivation rec { pname = "et"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0i0lgmnly8n7y4y6pb10pxgxyz8s5zk26k8z1g1578v1wan01lnq"; }; - buildInputs = [ libnotify gdk-pixbuf ]; + buildInputs = [ + libnotify + gdk-pixbuf + ]; nativeBuildInputs = [ pkg-config ]; installPhase = '' diff --git a/pkgs/by-name/et/etBook/package.nix b/pkgs/by-name/et/etBook/package.nix index 6dfa369d606df..2d4bfb5317fb6 100644 --- a/pkgs/by-name/et/etBook/package.nix +++ b/pkgs/by-name/et/etBook/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "et-book"; diff --git a/pkgs/by-name/et/etebase-server/package.nix b/pkgs/by-name/et/etebase-server/package.nix index e9503ecfe1677..b5f350b850d31 100644 --- a/pkgs/by-name/et/etebase-server/package.nix +++ b/pkgs/by-name/et/etebase-server/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3 -, withLdap ? false -, withPostgres ? true -, nix-update-script -, nixosTests +{ + lib, + fetchFromGitHub, + python3, + withLdap ? false, + withPostgres ? true, + nix-update-script, + nixosTests, }: python3.pkgs.buildPythonApplication rec { @@ -22,22 +23,25 @@ python3.pkgs.buildPythonApplication rec { doCheck = false; - propagatedBuildInputs = with python3.pkgs; [ - aiofiles - django_4 - fastapi - msgpack - pynacl - redis - uvicorn - websockets - watchfiles - uvloop - pyyaml - python-dotenv - httptools - typing-extensions - ] ++ lib.optional withLdap python-ldap + propagatedBuildInputs = + with python3.pkgs; + [ + aiofiles + django_4 + fastapi + msgpack + pynacl + redis + uvicorn + websockets + watchfiles + uvloop + pyyaml + python-dotenv + httptools + typing-extensions + ] + ++ lib.optional withLdap python-ldap ++ lib.optional withPostgres psycopg2; postInstall = '' @@ -47,7 +51,7 @@ python3.pkgs.buildPythonApplication rec { chmod +x $out/bin/etebase-server ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; passthru.python = python3; # PYTHONPATH of all dependencies used by the package passthru.pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs; @@ -61,6 +65,9 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "etebase-server"; changelog = "https://github.com/etesync/server/blob/${version}/ChangeLog.md"; license = licenses.agpl3Only; - maintainers = with maintainers; [ felschr phaer ]; + maintainers = with maintainers; [ + felschr + phaer + ]; }; } diff --git a/pkgs/by-name/et/eternal-terminal/package.nix b/pkgs/by-name/et/eternal-terminal/package.nix index 3096ea67840f7..7f4ce3143be54 100644 --- a/pkgs/by-name/et/eternal-terminal/package.nix +++ b/pkgs/by-name/et/eternal-terminal/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gflags -, libsodium -, openssl -, protobuf -, zlib -, catch2 -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gflags, + libsodium, + openssl, + protobuf, + zlib, + catch2, + darwin, }: stdenv.mkDerivation rec { @@ -56,7 +57,10 @@ stdenv.mkDerivation rec { homepage = "https://eternalterminal.dev/"; changelog = "https://github.com/MisterTea/EternalTerminal/releases/tag/et-v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ dezgeg jshort ]; + maintainers = with maintainers; [ + dezgeg + jshort + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/et/eternity/package.nix b/pkgs/by-name/et/eternity/package.nix index 92ae7ea0c9e9f..0e04df9a5a7e7 100644 --- a/pkgs/by-name/et/eternity/package.nix +++ b/pkgs/by-name/et/eternity/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, cmake, libGL, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, makeWrapper }: +{ + lib, + stdenv, + cmake, + libGL, + SDL2, + SDL2_mixer, + SDL2_net, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "eternity-engine"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ libGL SDL2 SDL2_mixer SDL2_net ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = [ + libGL + SDL2 + SDL2_mixer + SDL2_net + ]; installPhase = '' install -Dm755 eternity/eternity $out/lib/eternity/eternity diff --git a/pkgs/by-name/et/ethash/package.nix b/pkgs/by-name/et/ethash/package.nix index adc9649b4d90a..6abff5b969df3 100644 --- a/pkgs/by-name/et/ethash/package.nix +++ b/pkgs/by-name/et/ethash/package.nix @@ -1,16 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gbenchmark, gtest }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gbenchmark, + gtest, +}: stdenv.mkDerivation rec { pname = "ethash"; version = "1.0.1"; - src = - fetchFromGitHub { - owner = "chfast"; - repo = "ethash"; - rev = "v${version}"; - sha256 = "sha256-BjgfWDn72P4NJhzq0ySW8bvZI3AQB9jOaRqFIeCfJ8k="; - }; + src = fetchFromGitHub { + owner = "chfast"; + repo = "ethash"; + rev = "v${version}"; + sha256 = "sha256-BjgfWDn72P4NJhzq0ySW8bvZI3AQB9jOaRqFIeCfJ8k="; + }; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/et/etherape/package.nix b/pkgs/by-name/et/etherape/package.nix index 067175bdb4803..b2193446fcf30 100644 --- a/pkgs/by-name/et/etherape/package.nix +++ b/pkgs/by-name/et/etherape/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, libtool, gtk3, libpcap, goocanvas2, -popt, itstool, libxml2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libtool, + gtk3, + libpcap, + goocanvas2, + popt, + itstool, + libxml2, +}: stdenv.mkDerivation rec { pname = "etherape"; @@ -9,9 +20,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-9UsQtWOXB1yYofGS4rMIF+ISWBsJKd0DBOFfqOr1n5Y="; }; - nativeBuildInputs = [ itstool pkg-config (lib.getBin libxml2) ]; + nativeBuildInputs = [ + itstool + pkg-config + (lib.getBin libxml2) + ]; buildInputs = [ - libtool gtk3 libpcap goocanvas2 popt + libtool + gtk3 + libpcap + goocanvas2 + popt ]; meta = with lib; { diff --git a/pkgs/by-name/et/ethercat/package.nix b/pkgs/by-name/et/ethercat/package.nix index 7fa1316b147fe..0ecf050100139 100644 --- a/pkgs/by-name/et/ethercat/package.nix +++ b/pkgs/by-name/et/ethercat/package.nix @@ -1,9 +1,10 @@ -{ autoreconfHook -, lib -, pkg-config -, stdenv -, fetchFromGitLab -, gitUpdater +{ + autoreconfHook, + lib, + pkg-config, + stdenv, + fetchFromGitLab, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { pname = "ethercat"; @@ -18,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; configureFlags = [ "--enable-userlib=yes" diff --git a/pkgs/by-name/et/ethq/package.nix b/pkgs/by-name/et/ethq/package.nix index 37d0767834dbc..9e817fe78fd3c 100644 --- a/pkgs/by-name/et/ethq/package.nix +++ b/pkgs/by-name/et/ethq/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, ncurses }: +{ + stdenv, + lib, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "ethq"; @@ -7,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "isc-projects"; repo = "ethq"; - rev = "refs/tags/v${builtins.replaceStrings ["."] ["_"] version}"; + rev = "refs/tags/v${builtins.replaceStrings [ "." ] [ "_" ] version}"; hash = "sha256-ye5ep9EM9Sq/NqNZHENPmFZefVBx1BGrPm3YEG1NcSc="; }; diff --git a/pkgs/by-name/et/ethtool/package.nix b/pkgs/by-name/et/ethtool/package.nix index ebd26985f7f4d..9362d2d4007e9 100644 --- a/pkgs/by-name/et/ethtool/package.nix +++ b/pkgs/by-name/et/ethtool/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, libmnl -, pkg-config -, writeScript +{ + lib, + stdenv, + fetchurl, + libmnl, + pkg-config, + writeScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/et/etlegacy-assets/package.nix b/pkgs/by-name/et/etlegacy-assets/package.nix index 1b42de998e005..fbdb9fabd615f 100644 --- a/pkgs/by-name/et/etlegacy-assets/package.nix +++ b/pkgs/by-name/et/etlegacy-assets/package.nix @@ -1,31 +1,36 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation { pname = "etlegacy-assets"; version = "2.83.1"; - srcs = let - fetchAsset = { asset, hash }: fetchurl { - url = "https://mirror.etlegacy.com/etmain/${asset}"; - inherit hash; - }; - in [ - (fetchAsset { - asset = "pak0.pk3"; - hash = "sha256-cSlmsg4GUj/oFBlRZQDkmchrK0/sgjhW3b0zP8s9JuU="; - }) - (fetchAsset { - asset = "pak1.pk3"; - hash = "sha256-VhD9dJAkQFtEJafOY5flgYe5QdIgku8R1IRLQn31Pl0="; - }) - (fetchAsset { - asset = "pak2.pk3"; - hash = "sha256-pIq3SaGhKrTZE3KGsfI9ZCwp2lmEWyuvyPZOBSzwbz4="; - }) - ]; + srcs = + let + fetchAsset = + { asset, hash }: + fetchurl { + url = "https://mirror.etlegacy.com/etmain/${asset}"; + inherit hash; + }; + in + [ + (fetchAsset { + asset = "pak0.pk3"; + hash = "sha256-cSlmsg4GUj/oFBlRZQDkmchrK0/sgjhW3b0zP8s9JuU="; + }) + (fetchAsset { + asset = "pak1.pk3"; + hash = "sha256-VhD9dJAkQFtEJafOY5flgYe5QdIgku8R1IRLQn31Pl0="; + }) + (fetchAsset { + asset = "pak2.pk3"; + hash = "sha256-pIq3SaGhKrTZE3KGsfI9ZCwp2lmEWyuvyPZOBSzwbz4="; + }) + ]; sourceRoot = "."; unpackCmd = "cp -r $curSrc \${curSrc##*-}"; diff --git a/pkgs/by-name/et/etlegacy/package.nix b/pkgs/by-name/et/etlegacy/package.nix index c59adc74e119e..e708de08c34c2 100644 --- a/pkgs/by-name/et/etlegacy/package.nix +++ b/pkgs/by-name/et/etlegacy/package.nix @@ -1,8 +1,9 @@ -{ lib -, symlinkJoin -, etlegacy-assets -, etlegacy-unwrapped -, makeBinaryWrapper +{ + lib, + symlinkJoin, + etlegacy-assets, + etlegacy-unwrapped, + makeBinaryWrapper, }: symlinkJoin { @@ -29,14 +30,20 @@ symlinkJoin { meta = { description = "ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license"; homepage = "https://etlegacy.com"; - license = with lib.licenses; [ gpl3Plus cc-by-nc-sa-30 ]; + license = with lib.licenses; [ + gpl3Plus + cc-by-nc-sa-30 + ]; longDescription = '' ET: Legacy, an open source project fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age. ''; mainProgram = "etl"; - maintainers = with lib.maintainers; [ ashleyghooper drupol ]; + maintainers = with lib.maintainers; [ + ashleyghooper + drupol + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/et/ets/package.nix b/pkgs/by-name/et/ets/package.nix index ad81513a89a98..d2ae7d35c3408 100644 --- a/pkgs/by-name/et/ets/package.nix +++ b/pkgs/by-name/et/ets/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "ets"; @@ -13,7 +18,11 @@ buildGoModule rec { vendorHash = "sha256-XHgdiXdp9aNEAc/Apvb64ExnpywjddWOw1scNKy+ico="; - ldflags = [ "-s" "-w" "-X main.version=v${version}-nixpkgs" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=v${version}-nixpkgs" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/et/ettercap/package.nix b/pkgs/by-name/et/ettercap/package.nix index 3554592fbe12e..29d558b35896a 100644 --- a/pkgs/by-name/et/ettercap/package.nix +++ b/pkgs/by-name/et/ettercap/package.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch2, cmake, libpcap, libnet, zlib, curl, pcre -, openssl, ncurses, glib, gtk3, atk, pango, flex, bison, geoip, harfbuzz -, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + cmake, + libpcap, + libnet, + zlib, + curl, + pcre, + openssl, + ncurses, + glib, + gtk3, + atk, + pango, + flex, + bison, + geoip, + harfbuzz, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ettercap"; @@ -22,10 +42,26 @@ stdenv.mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ cmake flex bison pkg-config ]; + nativeBuildInputs = [ + cmake + flex + bison + pkg-config + ]; buildInputs = [ - libpcap libnet zlib curl pcre openssl ncurses - glib gtk3 atk pango geoip harfbuzz + libpcap + libnet + zlib + curl + pcre + openssl + ncurses + glib + gtk3 + atk + pango + geoip + harfbuzz ]; preConfigure = '' diff --git a/pkgs/by-name/eu/eudev/package.nix b/pkgs/by-name/eu/eudev/package.nix index 089e811ad8a50..713394d345eda 100644 --- a/pkgs/by-name/eu/eudev/package.nix +++ b/pkgs/by-name/eu/eudev/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gperf -, kmod -, pkg-config -, util-linux -, testers +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gperf, + kmod, + pkg-config, + util-linux, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -84,8 +85,14 @@ stdenv.mkDerivation (finalAttrs: { ''; changelog = "https://github.com/eudev-project/eudev/releases/tag/${finalAttrs.src.rev}"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ raskin AndersonTorres ]; - pkgConfigModules = [ "libudev" "udev" ]; + maintainers = with lib.maintainers; [ + raskin + AndersonTorres + ]; + pkgConfigModules = [ + "libudev" + "udev" + ]; inherit (kmod.meta) platforms; }; }) diff --git a/pkgs/by-name/eu/eudic/package.nix b/pkgs/by-name/eu/eudic/package.nix index 5b2f144e2c0d6..b72556d3badb9 100644 --- a/pkgs/by-name/eu/eudic/package.nix +++ b/pkgs/by-name/eu/eudic/package.nix @@ -1,27 +1,28 @@ -{ fetchurl -, stdenv -, autoPatchelfHook -, makeWrapper -, lib -, copyDesktopItems -, libnotify -, libX11 -, libXScrnSaver -, libXext -, libXtst -, libuuid -, libsecret -, xdg-utils -, xdg-utils-cxx -, at-spi2-atk -# additional dependencies autoPatchelfHook discovered -, gtk3 -, alsa-lib -, e2fsprogs -, nss -, libgpg-error -, libjack2 -, mesa +{ + fetchurl, + stdenv, + autoPatchelfHook, + makeWrapper, + lib, + copyDesktopItems, + libnotify, + libX11, + libXScrnSaver, + libXext, + libXtst, + libuuid, + libsecret, + xdg-utils, + xdg-utils-cxx, + at-spi2-atk, + # additional dependencies autoPatchelfHook discovered + gtk3, + alsa-lib, + e2fsprogs, + nss, + libgpg-error, + libjack2, + mesa, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/eu/eukleides/package.nix b/pkgs/by-name/eu/eukleides/package.nix index f682a57ec9516..fed332af09993 100644 --- a/pkgs/by-name/eu/eukleides/package.nix +++ b/pkgs/by-name/eu/eukleides/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, bison, flex, makeWrapper, texinfo4, getopt, readline, texlive }: +{ + lib, + stdenv, + fetchurl, + bison, + flex, + makeWrapper, + texinfo4, + getopt, + readline, + texlive, +}: stdenv.mkDerivation (finalAttrs: rec { pname = "eukleides"; @@ -16,9 +27,17 @@ stdenv.mkDerivation (finalAttrs: rec { ./gs-allowpstransparency.patch ]; - nativeBuildInputs = [ bison flex texinfo4 makeWrapper ]; + nativeBuildInputs = [ + bison + flex + texinfo4 + makeWrapper + ]; - buildInputs = [ getopt readline ]; + buildInputs = [ + getopt + readline + ]; preConfigure = '' substituteInPlace Makefile \ @@ -47,12 +66,21 @@ stdenv.mkDerivation (finalAttrs: rec { --prefix PATH : ${lib.makeBinPath [ getopt ]} ''; - outputs = [ "out" "doc" "tex" ]; + outputs = [ + "out" + "doc" + "tex" + ]; passthru = { tlType = "run"; # packages needed by euktoeps, euktopdf and eukleides.sty - tlDeps = with texlive; [ collection-pstricks epstopdf iftex moreverb ]; + tlDeps = with texlive; [ + collection-pstricks + epstopdf + iftex + moreverb + ]; pkgs = [ finalAttrs.finalPackage.tex ]; }; diff --git a/pkgs/by-name/eu/eunomia/package.nix b/pkgs/by-name/eu/eunomia/package.nix index ebb27be44cfbe..c995d10cbe7da 100644 --- a/pkgs/by-name/eu/eunomia/package.nix +++ b/pkgs/by-name/eu/eunomia/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -26,7 +30,10 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/eunomia/"; description = "Futuristic decorative font"; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.ofl; }; } diff --git a/pkgs/by-name/eu/eureka-editor/package.nix b/pkgs/by-name/eu/eureka-editor/package.nix index 6f1752d109740..d098577c7f1d5 100644 --- a/pkgs/by-name/eu/eureka-editor/package.nix +++ b/pkgs/by-name/eu/eureka-editor/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchzip, fltk, zlib, xdg-utils, xorg, libjpeg, libGLU }: +{ + lib, + stdenv, + fetchzip, + fltk, + zlib, + xdg-utils, + xorg, + libjpeg, + libGLU, +}: stdenv.mkDerivation rec { pname = "eureka-editor"; @@ -9,7 +19,14 @@ stdenv.mkDerivation rec { sha256 = "075w7xxsgbgh6dhndc1pfxb2h1s5fhsw28yl1c025gmx9bb4v3bf"; }; - buildInputs = [ fltk zlib xdg-utils libjpeg xorg.libXinerama libGLU ]; + buildInputs = [ + fltk + zlib + xdg-utils + libjpeg + xorg.libXinerama + libGLU + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/eu/eurofurence/package.nix b/pkgs/by-name/eu/eurofurence/package.nix index 132c13cee7551..94e21df43a621 100644 --- a/pkgs/by-name/eu/eurofurence/package.nix +++ b/pkgs/by-name/eu/eurofurence/package.nix @@ -1,41 +1,45 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "eurofurence"; version = "2000-04-21"; - srcs = map ({ url, hash }: - fetchzip { - name = builtins.baseNameOf url; - stripRoot = false; - inherit url hash; - }) [ - { - url = - "https://web.archive.org/web/20200131023120/http://eurofurence.net/eurof_tt.zip"; - hash = "sha256-Al4tT2/qV9/K5le/OctybxgPcNMVDJi0OPr2EUBk8cE="; - } - { - url = - "https://web.archive.org/web/20200130083325/http://eurofurence.net/eurofctt.zip"; - hash = "sha256-ZF0Neysp0+TQgNAN+2IrfR/7dn043rSq6S3NHJ3gLUI="; - } - { - url = - "https://web.archive.org/web/20200206093756/http://eurofurence.net/monof_tt.zip"; - hash = "sha256-Kvcsp/0LzHhwPudP1qWLxhaiJ5/su1k7FBuV9XPKIGs="; - } - { - url = - "https://web.archive.org/web/20200206171841/http://eurofurence.net/pagebxtt.zip"; - hash = "sha256-CvKhzvxSQqdEHihQBfCSu1QgjzKn38DWaONdz5BpM4M="; - } - { - url = - "https://web.archive.org/web/20190812003003/http://eurofurence.net/unifurtt.zip"; - hash = "sha256-n9xnzJi8wvK6oCVQUQnQ1X9jW6WgyMKKIiDsT4j2Aas="; - } - ]; + srcs = + map + ( + { url, hash }: + fetchzip { + name = builtins.baseNameOf url; + stripRoot = false; + inherit url hash; + } + ) + [ + { + url = "https://web.archive.org/web/20200131023120/http://eurofurence.net/eurof_tt.zip"; + hash = "sha256-Al4tT2/qV9/K5le/OctybxgPcNMVDJi0OPr2EUBk8cE="; + } + { + url = "https://web.archive.org/web/20200130083325/http://eurofurence.net/eurofctt.zip"; + hash = "sha256-ZF0Neysp0+TQgNAN+2IrfR/7dn043rSq6S3NHJ3gLUI="; + } + { + url = "https://web.archive.org/web/20200206093756/http://eurofurence.net/monof_tt.zip"; + hash = "sha256-Kvcsp/0LzHhwPudP1qWLxhaiJ5/su1k7FBuV9XPKIGs="; + } + { + url = "https://web.archive.org/web/20200206171841/http://eurofurence.net/pagebxtt.zip"; + hash = "sha256-CvKhzvxSQqdEHihQBfCSu1QgjzKn38DWaONdz5BpM4M="; + } + { + url = "https://web.archive.org/web/20190812003003/http://eurofurence.net/unifurtt.zip"; + hash = "sha256-n9xnzJi8wvK6oCVQUQnQ1X9jW6WgyMKKIiDsT4j2Aas="; + } + ]; dontUnpack = true; @@ -49,8 +53,7 @@ stdenvNoCC.mkDerivation { ''; meta = { - homepage = - "https://web.archive.org/web/20200131023120/http://eurofurence.net/eurofurence.html"; + homepage = "https://web.archive.org/web/20200131023120/http://eurofurence.net/eurofurence.html"; description = "Family of geometric rounded sans serif fonts"; maintainers = with lib.maintainers; [ ehmry ]; license = lib.licenses.free; diff --git a/pkgs/by-name/ev/eva/package.nix b/pkgs/by-name/ev/eva/package.nix index 93645a92203c2..7509a4e9ff69e 100644 --- a/pkgs/by-name/ev/eva/package.nix +++ b/pkgs/by-name/ev/eva/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "eva"; @@ -15,7 +19,11 @@ rustPlatform.buildRustPackage rec { description = "Calculator REPL, similar to bc"; homepage = "https://github.com/NerdyPepper/eva"; license = licenses.mit; - maintainers = with maintainers; [ nrdxp ma27 figsoda ]; + maintainers = with maintainers; [ + nrdxp + ma27 + figsoda + ]; mainProgram = "eva"; }; } diff --git a/pkgs/by-name/ev/evans/package.nix b/pkgs/by-name/ev/evans/package.nix index 89ed0fbfb1737..8deac905eff6a 100644 --- a/pkgs/by-name/ev/evans/package.nix +++ b/pkgs/by-name/ev/evans/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "evans"; diff --git a/pkgs/by-name/ev/evcc/package.nix b/pkgs/by-name/ev/evcc/package.nix index 6848e68576ba5..f45281b1cc261 100644 --- a/pkgs/by-name/ev/evcc/package.nix +++ b/pkgs/by-name/ev/evcc/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, fetchNpmDeps -, cacert -, git -, go -, enumer -, mockgen -, nodejs -, npmHooks -, nix-update-script -, nixosTests +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + fetchNpmDeps, + cacert, + git, + go, + enumer, + mockgen, + nodejs, + npmHooks, + nix-update-script, + nixosTests, }: buildGoModule rec { @@ -69,15 +70,16 @@ buildGoModule rec { doCheck = !stdenv.hostPlatform.isDarwin; # darwin sandbox limitations around network access, access to /etc/protocols and likely more - checkFlags = let - skippedTests = [ - # network access - "TestOctopusConfigParse" - "TestTemplates" - "TestOcpp" - ]; - in - [ "-skip=^${lib.concatStringsSep "$|^" skippedTests}$" ]; + checkFlags = + let + skippedTests = [ + # network access + "TestOctopusConfigParse" + "TestTemplates" + "TestOcpp" + ]; + in + [ "-skip=^${lib.concatStringsSep "$|^" skippedTests}$" ]; passthru = { tests = { diff --git a/pkgs/by-name/ev/evdevremapkeys/package.nix b/pkgs/by-name/ev/evdevremapkeys/package.nix index 2dcc169c64449..cd4ec0cd98b4b 100644 --- a/pkgs/by-name/ev/evdevremapkeys/package.nix +++ b/pkgs/by-name/ev/evdevremapkeys/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonPackage rec { pname = "evdevremapkeys"; diff --git a/pkgs/by-name/ev/evebox/package.nix b/pkgs/by-name/ev/evebox/package.nix index 4b09fba8675b9..399db1accb293 100644 --- a/pkgs/by-name/ev/evebox/package.nix +++ b/pkgs/by-name/ev/evebox/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ev/evemu/package.nix b/pkgs/by-name/ev/evemu/package.nix index 6cb349c546b9b..06df7e1471a0c 100644 --- a/pkgs/by-name/ev/evemu/package.nix +++ b/pkgs/by-name/ev/evemu/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, python3Packages -, libevdev +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + python3Packages, + libevdev, }: stdenv.mkDerivation rec { @@ -14,16 +20,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-SQDaARuqBMBVlUz+Nw6mjdxaZfVOukmzTlIqy8U2rus="; }; - nativeBuildInputs = [ pkg-config autoreconfHook python3Packages.python ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + python3Packages.python + ]; - buildInputs = [ python3Packages.evdev libevdev ]; + buildInputs = [ + python3Packages.evdev + libevdev + ]; strictDeps = true; meta = with lib; { description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system"; homepage = "https://www.freedesktop.org/wiki/Evemu/"; - license = with licenses; [ lgpl3Only gpl3Only ]; + license = with licenses; [ + lgpl3Only + gpl3Only + ]; maintainers = [ maintainers.amorsillo ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/ev/eventlog/package.nix b/pkgs/by-name/ev/eventlog/package.nix index b5b4bc556f693..ee503578ec3e3 100644 --- a/pkgs/by-name/ev/eventlog/package.nix +++ b/pkgs/by-name/ev/eventlog/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "eventlog"; diff --git a/pkgs/by-name/ev/eventstat/package.nix b/pkgs/by-name/ev/eventstat/package.nix index e54135f3e72ed..6c40ce6f009c6 100644 --- a/pkgs/by-name/ev/eventstat/package.nix +++ b/pkgs/by-name/ev/eventstat/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, ncurses }: +{ + stdenv, + lib, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "eventstat"; diff --git a/pkgs/by-name/ev/everdo/package.nix b/pkgs/by-name/ev/everdo/package.nix index 97934fb9c21a9..9c9170360bc21 100644 --- a/pkgs/by-name/ev/everdo/package.nix +++ b/pkgs/by-name/ev/everdo/package.nix @@ -2,7 +2,8 @@ appimageTools, lib, fetchurl, -}: let +}: +let pname = "everdo"; version = "1.9.0"; @@ -11,24 +12,24 @@ hash = "sha256-0yxAzM+qmgm4E726QDYS9QwMdp6dUcuvjZzWYEZx7kU="; }; - appimageContents = appimageTools.extractType2 {inherit pname version src;}; + appimageContents = appimageTools.extractType2 { inherit pname version src; }; in - appimageTools.wrapType2 { - inherit pname version src; +appimageTools.wrapType2 { + inherit pname version src; - extraInstallCommands = '' - install -Dm444 ${appimageContents}/everdo.desktop -t $out/share/applications - substituteInPlace $out/share/applications/everdo.desktop \ - --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=everdo %u' - cp -r ${appimageContents}/usr/share/icons $out/share - ''; + extraInstallCommands = '' + install -Dm444 ${appimageContents}/everdo.desktop -t $out/share/applications + substituteInPlace $out/share/applications/everdo.desktop \ + --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=everdo %u' + cp -r ${appimageContents}/usr/share/icons $out/share + ''; - meta = { - description = "Cross-platform GTD app with focus on privacy"; - homepage = "https://everdo.net/"; - license = lib.licenses.unfree; - maintainers = [lib.maintainers.luftmensch-luftmensch]; - mainProgram = "everdo"; - platforms = ["x86_64-linux"]; - }; - } + meta = { + description = "Cross-platform GTD app with focus on privacy"; + homepage = "https://everdo.net/"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.luftmensch-luftmensch ]; + mainProgram = "everdo"; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/by-name/ev/everest-mons/package.nix b/pkgs/by-name/ev/everest-mons/package.nix index 82054c21cb2c4..40867013870d2 100644 --- a/pkgs/by-name/ev/everest-mons/package.nix +++ b/pkgs/by-name/ev/everest-mons/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchPypi -, python3Packages -} : +{ + lib, + fetchPypi, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "everest-mons"; diff --git a/pkgs/by-name/ev/everforest-gtk-theme/package.nix b/pkgs/by-name/ev/everforest-gtk-theme/package.nix index b20e4505a5c6b..5b39290296eec 100644 --- a/pkgs/by-name/ev/everforest-gtk-theme/package.nix +++ b/pkgs/by-name/ev/everforest-gtk-theme/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gnome-themes-extra -, gtk-engine-murrine +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gnome-themes-extra, + gtk-engine-murrine, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/ev/everspace/package.nix b/pkgs/by-name/ev/everspace/package.nix index 482ebfa98a763..f3657f1189c76 100644 --- a/pkgs/by-name/ev/everspace/package.nix +++ b/pkgs/by-name/ev/everspace/package.nix @@ -1,12 +1,23 @@ { # Packaging Dependencies - lib, stdenv, requireFile, autoPatchelfHook, unzip, copyDesktopItems, makeDesktopItem, + lib, + stdenv, + requireFile, + autoPatchelfHook, + unzip, + copyDesktopItems, + makeDesktopItem, # Everspace Dependencies - cairo, gdk-pixbuf, pango, gtk2-x11, libGL, openal, + cairo, + gdk-pixbuf, + pango, + gtk2-x11, + libGL, + openal, # Unreal Engine 4 Dependencies - xorg + xorg, }: # Known issues: diff --git a/pkgs/by-name/ev/evhz/package.nix b/pkgs/by-name/ev/evhz/package.nix index 712606c6913a1..c13147c3caad0 100644 --- a/pkgs/by-name/ev/evhz/package.nix +++ b/pkgs/by-name/ev/evhz/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromSourcehut +{ + lib, + stdenv, + fetchFromSourcehut, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ev/evil-helix/package.nix b/pkgs/by-name/ev/evil-helix/package.nix index e53faa61d6d94..151aa1a278f83 100644 --- a/pkgs/by-name/ev/evil-helix/package.nix +++ b/pkgs/by-name/ev/evil-helix/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, helix -, installShellFiles -, rustPlatform +{ + lib, + fetchFromGitHub, + helix, + installShellFiles, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ev/evil-winrm/gemset.nix b/pkgs/by-name/ev/evil-winrm/gemset.nix index 6c468c2c59fbb..e8323a6341e7e 100644 --- a/pkgs/by-name/ev/evil-winrm/gemset.nix +++ b/pkgs/by-name/ev/evil-winrm/gemset.nix @@ -1,206 +1,227 @@ { base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; fileutils = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c86k3027r896wsgvjgdx27kg5d2x4479bc6ni93w9hq88rgp81n"; type = "gem"; }; version = "1.7.2"; }; gssapi = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; type = "gem"; }; version = "1.3.1"; }; gyoku = { - dependencies = ["builder" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q"; type = "gem"; }; version = "1.4.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "little-plugger" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s"; type = "gem"; }; version = "2.4.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; nori = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1"; type = "gem"; }; version = "2.7.1"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rr145mvjgc4n28lfy0gw87aw3ab680h83bdi5i102ik8mixk3zn"; type = "gem"; }; version = "3.3.8"; }; rubyntlm = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7"; type = "gem"; }; version = "0.6.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; stringio = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; version = "3.1.1"; }; winrm = { - dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "erubi" + "gssapi" + "gyoku" + "httpclient" + "logging" + "nori" + "rexml" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01jxpshw5kx5ha21ymaaj14vibv5bvm0dd80ccc6xl3jaxy7cszg"; type = "gem"; }; version = "2.3.9"; }; winrm-fs = { - dependencies = ["erubi" "logging" "rubyzip" "winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "logging" + "rubyzip" + "winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d"; type = "gem"; }; diff --git a/pkgs/by-name/ev/evillimiter/package.nix b/pkgs/by-name/ev/evillimiter/package.nix index 9f4fb0bfc2f41..d96b54a9538ca 100644 --- a/pkgs/by-name/ev/evillimiter/package.nix +++ b/pkgs/by-name/ev/evillimiter/package.nix @@ -34,7 +34,7 @@ python3Packages.buildPythonApplication rec { # Project has no tests doCheck = false; - meta = with lib; { + meta = with lib; { description = "Tool that monitors, analyzes and limits the bandwidth"; longDescription = '' A tool to monitor, analyze and limit the bandwidth (upload/download) of diff --git a/pkgs/by-name/ev/evince/package.nix b/pkgs/by-name/ev/evince/package.nix index 065613a6d7af7..a8837ff202457 100644 --- a/pkgs/by-name/ev/evince/package.nix +++ b/pkgs/by-name/ev/evince/package.nix @@ -1,49 +1,54 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, libxml2 -, appstream -, desktop-file-utils -, glib -, gtk3 -, pango -, atk -, gdk-pixbuf -, shared-mime-info -, itstool -, gnome -, poppler -, ghostscriptX -, djvulibre -, libspectre -, libarchive -, libgxps -, libhandy -, libsecret -, wrapGAppsHook3 -, librsvg -, gobject-introspection -, yelp-tools -, gspell -, gsettings-desktop-schemas -, gnome-desktop -, dbus -, texlive -, gst_all_1 -, gi-docgen -, supportMultimedia ? true # PDF multimedia -, withLibsecret ? true +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gettext, + libxml2, + appstream, + desktop-file-utils, + glib, + gtk3, + pango, + atk, + gdk-pixbuf, + shared-mime-info, + itstool, + gnome, + poppler, + ghostscriptX, + djvulibre, + libspectre, + libarchive, + libgxps, + libhandy, + libsecret, + wrapGAppsHook3, + librsvg, + gobject-introspection, + yelp-tools, + gspell, + gsettings-desktop-schemas, + gnome-desktop, + dbus, + texlive, + gst_all_1, + gi-docgen, + supportMultimedia ? true, # PDF multimedia + withLibsecret ? true, }: stdenv.mkDerivation (finalAttrs: { pname = "evince"; version = "46.3.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/evince/${lib.versions.major finalAttrs.version}/evince-${finalAttrs.version}.tar.xz"; @@ -68,45 +73,54 @@ stdenv.mkDerivation (finalAttrs: { yelp-tools ]; - buildInputs = [ - atk - dbus # only needed to find the service directory - djvulibre - gdk-pixbuf - ghostscriptX - glib - gnome-desktop - gsettings-desktop-schemas - gspell - gtk3 - libarchive - libgxps - libhandy - librsvg - libspectre - libxml2 - pango - poppler - texlive.bin.core # kpathsea for DVI support - ] ++ lib.optionals withLibsecret [ - libsecret - ] ++ lib.optionals supportMultimedia (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - gst-libav - ]); + buildInputs = + [ + atk + dbus # only needed to find the service directory + djvulibre + gdk-pixbuf + ghostscriptX + glib + gnome-desktop + gsettings-desktop-schemas + gspell + gtk3 + libarchive + libgxps + libhandy + librsvg + libspectre + libxml2 + pango + poppler + texlive.bin.core # kpathsea for DVI support + ] + ++ lib.optionals withLibsecret [ + libsecret + ] + ++ lib.optionals supportMultimedia ( + with gst_all_1; + [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav + ] + ); - mesonFlags = [ - "-Dnautilus=false" - "-Dps=enabled" - ] ++ lib.optionals (!withLibsecret) [ - "-Dkeyring=disabled" - ] ++ lib.optionals (!supportMultimedia) [ - "-Dmultimedia=disabled" - ]; + mesonFlags = + [ + "-Dnautilus=false" + "-Dps=enabled" + ] + ++ lib.optionals (!withLibsecret) [ + "-Dkeyring=disabled" + ] + ++ lib.optionals (!supportMultimedia) [ + "-Dmultimedia=disabled" + ]; preFixup = '' gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") diff --git a/pkgs/by-name/ev/evolution-data-server/package.nix b/pkgs/by-name/ev/evolution-data-server/package.nix index 07d16d22110c4..d596e3f0ddb65 100644 --- a/pkgs/by-name/ev/evolution-data-server/package.nix +++ b/pkgs/by-name/ev/evolution-data-server/package.nix @@ -1,57 +1,61 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, gnome -, _experimental-update-script-combinators -, python3 -, gobject-introspection -, gettext -, libsoup_3 -, libxml2 -, libsecret -, icu -, sqlite -, libcanberra-gtk3 -, p11-kit -, db -, nspr -, nss -, libical -, gperf -, wrapGAppsHook3 -, glib-networking -, gsettings-desktop-schemas -, pcre -, vala -, cmake -, ninja -, libkrb5 -, openldap -, enableOAuth2 ? stdenv.hostPlatform.isLinux -, webkitgtk_4_1 -, webkitgtk_6_0 -, json-glib -, glib -, gtk3 -, gtk4 -, withGtk3 ? true -, withGtk4 ? false -, libphonenumber -, libuuid -, gnome-online-accounts -, libgweather -, boost -, protobuf -, libiconv -, makeHardcodeGsettingsPatch +{ + stdenv, + lib, + fetchurl, + pkg-config, + gnome, + _experimental-update-script-combinators, + python3, + gobject-introspection, + gettext, + libsoup_3, + libxml2, + libsecret, + icu, + sqlite, + libcanberra-gtk3, + p11-kit, + db, + nspr, + nss, + libical, + gperf, + wrapGAppsHook3, + glib-networking, + gsettings-desktop-schemas, + pcre, + vala, + cmake, + ninja, + libkrb5, + openldap, + enableOAuth2 ? stdenv.hostPlatform.isLinux, + webkitgtk_4_1, + webkitgtk_6_0, + json-glib, + glib, + gtk3, + gtk4, + withGtk3 ? true, + withGtk4 ? false, + libphonenumber, + libuuid, + gnome-online-accounts, + libgweather, + boost, + protobuf, + libiconv, + makeHardcodeGsettingsPatch, }: stdenv.mkDerivation rec { pname = "evolution-data-server"; version = "3.54.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/evolution-data-server-${version}.tar.xz"; @@ -83,35 +87,41 @@ stdenv.mkDerivation rec { vala ]; - buildInputs = [ - glib - libsecret - libsoup_3 - gnome-online-accounts - p11-kit - libgweather - icu - sqlite - libkrb5 - openldap - glib-networking - libcanberra-gtk3 - pcre - libphonenumber - libuuid - boost - protobuf - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ] ++ lib.optionals withGtk3 [ - gtk3 - ] ++ lib.optionals (withGtk3 && enableOAuth2) [ - webkitgtk_4_1 - ] ++ lib.optionals withGtk4 [ - gtk4 - ] ++ lib.optionals (withGtk4 && enableOAuth2) [ - webkitgtk_6_0 - ]; + buildInputs = + [ + glib + libsecret + libsoup_3 + gnome-online-accounts + p11-kit + libgweather + icu + sqlite + libkrb5 + openldap + glib-networking + libcanberra-gtk3 + pcre + libphonenumber + libuuid + boost + protobuf + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ] + ++ lib.optionals withGtk3 [ + gtk3 + ] + ++ lib.optionals (withGtk3 && enableOAuth2) [ + webkitgtk_4_1 + ] + ++ lib.optionals withGtk4 [ + gtk4 + ] + ++ lib.optionals (withGtk4 && enableOAuth2) [ + webkitgtk_6_0 + ]; propagatedBuildInputs = [ db diff --git a/pkgs/by-name/ev/evscript/package.nix b/pkgs/by-name/ev/evscript/package.nix index dfd170a9a33b0..803e2e06585fb 100644 --- a/pkgs/by-name/ev/evscript/package.nix +++ b/pkgs/by-name/ev/evscript/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitea }: +{ + lib, + rustPlatform, + fetchFromGitea, +}: rustPlatform.buildRustPackage rec { pname = "evscript"; diff --git a/pkgs/by-name/ev/evsieve/package.nix b/pkgs/by-name/ev/evsieve/package.nix index b900b136974e2..a727b941b6b57 100644 --- a/pkgs/by-name/ev/evsieve/package.nix +++ b/pkgs/by-name/ev/evsieve/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, libevdev +{ + lib, + fetchFromGitHub, + rustPlatform, + libevdev, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ev/evtest/package.nix b/pkgs/by-name/ev/evtest/package.nix index 39f8ea8c0f837..13a497058048d 100644 --- a/pkgs/by-name/ev/evtest/package.nix +++ b/pkgs/by-name/ev/evtest/package.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, libxml2 }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + libxml2, +}: stdenv.mkDerivation rec { pname = "evtest"; version = "1.35"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libxml2 ]; src = fetchgit { diff --git a/pkgs/by-name/ew/eweb/package.nix b/pkgs/by-name/ew/eweb/package.nix index 1a885af12187d..ccd36c838a2d0 100644 --- a/pkgs/by-name/ew/eweb/package.nix +++ b/pkgs/by-name/ew/eweb/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, python3, asciidoc }: +{ + lib, + stdenv, + fetchurl, + python3, + asciidoc, +}: stdenv.mkDerivation rec { pname = "eweb"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1xy7vm2sj5q6s620fm25klmnwnz9xkrxmx4q2f8h6c85ydisayd5"; }; - buildInputs = [ python3 asciidoc ]; + buildInputs = [ + python3 + asciidoc + ]; installPhase = '' install -d $out/bin $out/share/doc/${pname}-${version} diff --git a/pkgs/by-name/ex/exabgp/package.nix b/pkgs/by-name/ex/exabgp/package.nix index f00b427b15a2a..7d8f4917a711f 100644 --- a/pkgs/by-name/ex/exabgp/package.nix +++ b/pkgs/by-name/ex/exabgp/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, exabgp -, testers +{ + lib, + python3, + fetchFromGitHub, + exabgp, + testers, }: python3.pkgs.buildPythonApplication rec { @@ -40,6 +41,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/Exa-Networks/exabgp"; changelog = "https://github.com/Exa-Networks/exabgp/blob/${src.rev}/CHANGELOG.rst"; license = licenses.bsd3; - maintainers = with maintainers; [ hexa raitobezarius ]; + maintainers = with maintainers; [ + hexa + raitobezarius + ]; }; } diff --git a/pkgs/by-name/ex/exactaudiocopy/package.nix b/pkgs/by-name/ex/exactaudiocopy/package.nix index ec7dad91a8084..b173675d9672d 100644 --- a/pkgs/by-name/ex/exactaudiocopy/package.nix +++ b/pkgs/by-name/ex/exactaudiocopy/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, makeDesktopItem -, imagemagick -, p7zip -, wine -, writeShellScriptBin -, symlinkJoin -, use64 ? false +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + imagemagick, + p7zip, + wine, + writeShellScriptBin, + symlinkJoin, + use64 ? false, }: let @@ -66,14 +67,20 @@ let exec = pname; comment = "Audio Grabber for CDs"; desktopName = "Exact Audio Copy"; - categories = [ "Audio" "AudioVideo" ]; + categories = [ + "Audio" + "AudioVideo" + ]; icon = "${patched_eac}/eac.ico.128.png"; }; in symlinkJoin { name = "${pname}-${version}"; - paths = [ wrapper desktopItem ]; + paths = [ + wrapper + desktopItem + ]; meta = with lib; { description = "Precise CD audio grabber for creating perfect quality rips using CD and DVD drives"; diff --git a/pkgs/by-name/ex/exaile/package.nix b/pkgs/by-name/ex/exaile/package.nix index 5387069072f5f..4d207db06959e 100644 --- a/pkgs/by-name/ex/exaile/package.nix +++ b/pkgs/by-name/ex/exaile/package.nix @@ -1,22 +1,37 @@ -{ stdenv, lib, fetchFromGitHub -, gobject-introspection, makeWrapper, wrapGAppsHook3 -, gtk3, gst_all_1, python3 -, gettext, adwaita-icon-theme, help2man, keybinder3, libnotify, librsvg, streamripper, udisks, webkitgtk_4_0 -, iconTheme ? adwaita-icon-theme -, deviceDetectionSupport ? true -, documentationSupport ? true -, notificationSupport ? true -, scalableIconSupport ? true -, translationSupport ? true -, ipythonSupport ? false -, cdMetadataSupport ? false -, lastfmSupport ? false -, lyricsManiaSupport ? false -, multimediaKeySupport ? false -, musicBrainzSupport ? false -, podcastSupport ? false -, streamripperSupport ? false -, wikipediaSupport ? false +{ + stdenv, + lib, + fetchFromGitHub, + gobject-introspection, + makeWrapper, + wrapGAppsHook3, + gtk3, + gst_all_1, + python3, + gettext, + adwaita-icon-theme, + help2man, + keybinder3, + libnotify, + librsvg, + streamripper, + udisks, + webkitgtk_4_0, + iconTheme ? adwaita-icon-theme, + deviceDetectionSupport ? true, + documentationSupport ? true, + notificationSupport ? true, + scalableIconSupport ? true, + translationSupport ? true, + ipythonSupport ? false, + cdMetadataSupport ? false, + lastfmSupport ? false, + lyricsManiaSupport ? false, + multimediaKeySupport ? false, + musicBrainzSupport ? false, + podcastSupport ? false, + streamripperSupport ? false, + wikipediaSupport ? false, }: stdenv.mkDerivation rec { @@ -30,44 +45,51 @@ stdenv.mkDerivation rec { sha256 = "sha256-9SK0nvGdz2j6qp1JTmSuLezxX/kB93CZReSfAnfKZzg="; }; - nativeBuildInputs = [ - gobject-introspection - makeWrapper - wrapGAppsHook3 - ] ++ lib.optionals documentationSupport [ - help2man - python3.pkgs.sphinx - python3.pkgs.sphinx-rtd-theme - ] ++ lib.optional translationSupport gettext; + nativeBuildInputs = + [ + gobject-introspection + makeWrapper + wrapGAppsHook3 + ] + ++ lib.optionals documentationSupport [ + help2man + python3.pkgs.sphinx + python3.pkgs.sphinx-rtd-theme + ] + ++ lib.optional translationSupport gettext; - buildInputs = [ - iconTheme - gtk3 - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - gst-libav - ]) ++ (with python3.pkgs; [ - berkeleydb - dbus-python - mutagen - pygobject3 - pycairo - gst-python - ]) ++ lib.optional deviceDetectionSupport udisks - ++ lib.optional notificationSupport libnotify - ++ lib.optional scalableIconSupport librsvg - ++ lib.optional ipythonSupport python3.pkgs.ipython - ++ lib.optional cdMetadataSupport python3.pkgs.discid - ++ lib.optional lastfmSupport python3.pkgs.pylast - ++ lib.optional lyricsManiaSupport python3.pkgs.lxml - ++ lib.optional multimediaKeySupport keybinder3 - ++ lib.optional (musicBrainzSupport || cdMetadataSupport) python3.pkgs.musicbrainzngs - ++ lib.optional podcastSupport python3.pkgs.feedparser - ++ lib.optional wikipediaSupport webkitgtk_4_0; + buildInputs = + [ + iconTheme + gtk3 + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav + ]) + ++ (with python3.pkgs; [ + berkeleydb + dbus-python + mutagen + pygobject3 + pycairo + gst-python + ]) + ++ lib.optional deviceDetectionSupport udisks + ++ lib.optional notificationSupport libnotify + ++ lib.optional scalableIconSupport librsvg + ++ lib.optional ipythonSupport python3.pkgs.ipython + ++ lib.optional cdMetadataSupport python3.pkgs.discid + ++ lib.optional lastfmSupport python3.pkgs.pylast + ++ lib.optional lyricsManiaSupport python3.pkgs.lxml + ++ lib.optional multimediaKeySupport keybinder3 + ++ lib.optional (musicBrainzSupport || cdMetadataSupport) python3.pkgs.musicbrainzngs + ++ lib.optional podcastSupport python3.pkgs.feedparser + ++ lib.optional wikipediaSupport webkitgtk_4_0; nativeCheckInputs = with python3.pkgs; [ pytest @@ -87,7 +109,9 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/exaile \ --set PYTHONPATH $PYTHONPATH \ - --prefix PATH : ${lib.makeBinPath ([ python3 ] ++ lib.optionals streamripperSupport [ streamripper ]) } + --prefix PATH : ${ + lib.makeBinPath ([ python3 ] ++ lib.optionals streamripperSupport [ streamripper ]) + } ''; meta = with lib; { diff --git a/pkgs/by-name/ex/exe2hex/package.nix b/pkgs/by-name/ex/exe2hex/package.nix index 485e0104cba24..0c603eb6c3fa1 100644 --- a/pkgs/by-name/ex/exe2hex/package.nix +++ b/pkgs/by-name/ex/exe2hex/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, expect +{ + lib, + fetchFromGitHub, + python3Packages, + expect, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ex/exempi/package.nix b/pkgs/by-name/ex/exempi/package.nix index ccdd0048e2aaa..26b57d89e758b 100644 --- a/pkgs/by-name/ex/exempi/package.nix +++ b/pkgs/by-name/ex/exempi/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, expat, zlib, boost, libiconv, darwin }: +{ + lib, + stdenv, + fetchurl, + expat, + zlib, + boost, + libiconv, + darwin, +}: stdenv.mkDerivation rec { pname = "exempi"; @@ -9,14 +18,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-6fmj1Cv/c7XrD3fsIs0BY8PiGUnMQUrR8ZoEZd3kH/4="; }; - configureFlags = [ - "--with-boost=${boost.dev}" - ] ++ lib.optionals (!doCheck) [ - "--enable-unittest=no" - ]; + configureFlags = + [ + "--with-boost=${boost.dev}" + ] + ++ lib.optionals (!doCheck) [ + "--enable-unittest=no" + ]; - buildInputs = [ expat zlib boost ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.CoreServices ]; + buildInputs = + [ + expat + zlib + boost + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.CoreServices + ]; doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.is64bit; dontDisableStatic = doCheck; diff --git a/pkgs/by-name/ex/exercism/package.nix b/pkgs/by-name/ex/exercism/package.nix index b50ce09f98009..2dc94860e8ea2 100644 --- a/pkgs/by-name/ex/exercism/package.nix +++ b/pkgs/by-name/ex/exercism/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, +}: buildGoModule rec { pname = "exercism"; @@ -6,9 +11,9 @@ buildGoModule rec { src = fetchFromGitHub { owner = "exercism"; - repo = "cli"; - rev = "refs/tags/v${version}"; - hash = "sha256-7euitdo/rdeopnP7hHHxQ5lPh8wJVDaTneckeR5BEGo="; + repo = "cli"; + rev = "refs/tags/v${version}"; + hash = "sha256-7euitdo/rdeopnP7hHHxQ5lPh8wJVDaTneckeR5BEGo="; }; vendorHash = "sha256-xY3C3emqtPIKyxIN9aEkrLXhTxWNmo0EJXNZVtbtIvs="; @@ -20,10 +25,13 @@ buildGoModule rec { passthru.updateScript = nix-update-script { }; meta = with lib; { - inherit (src.meta) homepage; - description = "Go based command line tool for exercism.io"; - license = licenses.mit; - maintainers = [ maintainers.rbasso maintainers.nobbz ]; - mainProgram = "exercism"; + inherit (src.meta) homepage; + description = "Go based command line tool for exercism.io"; + license = licenses.mit; + maintainers = [ + maintainers.rbasso + maintainers.nobbz + ]; + mainProgram = "exercism"; }; } diff --git a/pkgs/by-name/ex/exfat/package.nix b/pkgs/by-name/ex/exfat/package.nix index 831f19c68f68b..3d7d66648a401 100644 --- a/pkgs/by-name/ex/exfat/package.nix +++ b/pkgs/by-name/ex/exfat/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, fuse }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + fuse, +}: stdenv.mkDerivation rec { pname = "exfat"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-5m8fiItEOO6piR132Gxq6SHOPN1rAFTuTVE+UI0V00k="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ fuse ]; meta = with lib; { diff --git a/pkgs/by-name/ex/exfatprogs/package.nix b/pkgs/by-name/ex/exfatprogs/package.nix index aef76521b9f51..ef23f869cee01 100644 --- a/pkgs/by-name/ex/exfatprogs/package.nix +++ b/pkgs/by-name/ex/exfatprogs/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, file }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + file, +}: stdenv.mkDerivation rec { pname = "exfatprogs"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-VUvVPABgQ7EUQu90DbWU7a+YThrWhusTk/YreKSqU/M="; }; - nativeBuildInputs = [ pkg-config autoreconfHook file ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + file + ]; meta = with lib; { description = "exFAT filesystem userspace utilities"; diff --git a/pkgs/by-name/ex/exhaustive/package.nix b/pkgs/by-name/ex/exhaustive/package.nix index 0356306bc0c22..d322c54b1f8e9 100644 --- a/pkgs/by-name/ex/exhaustive/package.nix +++ b/pkgs/by-name/ex/exhaustive/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-DyN2z6+lA/163k6TTQZ+ypm9s2EV93zvSo/yKQZXvCg="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ex/exif/package.nix b/pkgs/by-name/ex/exif/package.nix index 30b0d6c10eee9..dd5737c069737 100644 --- a/pkgs/by-name/ex/exif/package.nix +++ b/pkgs/by-name/ex/exif/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, libexif -, popt -, libintl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libexif, + popt, + libintl, }: stdenv.mkDerivation rec { @@ -16,7 +17,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "libexif"; repo = pname; - rev = "${pname}-${builtins.replaceStrings ["."] ["_"] version}-release"; + rev = "${pname}-${builtins.replaceStrings [ "." ] [ "_" ] version}-release"; sha256 = "1xlb1gdwxm3rmw7vlrynhvjp9dkwmvw23mxisdbdmma7ah2nda3i"; }; @@ -33,8 +34,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libexif popt libintl ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libexif + popt + libintl + ]; meta = with lib; { homepage = "https://libexif.github.io"; diff --git a/pkgs/by-name/ex/exiflooter/package.nix b/pkgs/by-name/ex/exiflooter/package.nix index 9e23cf5b1c866..68eb8d9cab4fb 100644 --- a/pkgs/by-name/ex/exiflooter/package.nix +++ b/pkgs/by-name/ex/exiflooter/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-uV7O2H3gPQ+kFdEHLgM+v+TXn+87QfFwOAEQpnKQIQk="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Finds geolocation on all image urls and directories"; diff --git a/pkgs/by-name/ex/exifprobe/package.nix b/pkgs/by-name/ex/exifprobe/package.nix index 7331ac69185ae..859232ebc08c9 100644 --- a/pkgs/by-name/ex/exifprobe/package.nix +++ b/pkgs/by-name/ex/exifprobe/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "exifprobe"; diff --git a/pkgs/by-name/ex/exiftags/package.nix b/pkgs/by-name/ex/exiftags/package.nix index 5bd736911c739..6479cfd3356f6 100644 --- a/pkgs/by-name/ex/exiftags/package.nix +++ b/pkgs/by-name/ex/exiftags/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "exiftags"; diff --git a/pkgs/by-name/ex/exim/package.nix b/pkgs/by-name/ex/exim/package.nix index bf593354da92f..4c6c8a7154782 100644 --- a/pkgs/by-name/ex/exim/package.nix +++ b/pkgs/by-name/ex/exim/package.nix @@ -1,21 +1,43 @@ -{ coreutils, db, fetchurl, openssl, pcre2, perl, pkg-config, lib, stdenv -, libxcrypt -, procps, killall -, enableLDAP ? false, openldap -, enableMySQL ? false, libmysqlclient, zlib -, enablePgSQL ? false, postgresql -, enableSqlite ? false, sqlite -, enableAuthDovecot ? false, dovecot -, enablePAM ? false, pam -, enableSPF ? true, libspf2 -, enableDMARC ? true, opendmarc -, enableRedis ? false, hiredis -, enableJSON ? false, jansson -, enableSRS ? false, +{ + coreutils, + db, + fetchurl, + openssl, + pcre2, + perl, + pkg-config, + lib, + stdenv, + libxcrypt, + procps, + killall, + enableLDAP ? false, + openldap, + enableMySQL ? false, + libmysqlclient, + zlib, + enablePgSQL ? false, + postgresql, + enableSqlite ? false, + sqlite, + enableAuthDovecot ? false, + dovecot, + enablePAM ? false, + pam, + enableSPF ? true, + libspf2, + enableDMARC ? true, + opendmarc, + enableRedis ? false, + hiredis, + enableJSON ? false, + jansson, + enableSRS ? false, }: let perl' = perl.withPackages (p: with p; [ FileFcntlLock ]); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "exim"; version = "4.98"; @@ -27,11 +49,26 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ coreutils db openssl perl' pcre2 libxcrypt ] + buildInputs = + [ + coreutils + db + openssl + perl' + pcre2 + libxcrypt + ] ++ lib.optional enableLDAP openldap - ++ lib.optionals enableMySQL [ libmysqlclient zlib ] + ++ lib.optionals enableMySQL [ + libmysqlclient + zlib + ] ++ lib.optional enablePgSQL postgresql - ++ lib.optionals enableSqlite [ sqlite sqlite.dev zlib ] + ++ lib.optionals enableSqlite [ + sqlite + sqlite.dev + zlib + ] ++ lib.optional enableAuthDovecot dovecot ++ lib.optional enablePAM pam ++ lib.optional enableSPF libspf2 @@ -158,7 +195,10 @@ in stdenv.mkDerivation rec { meta = with lib; { homepage = "https://exim.org/"; description = "Mail transfer agent (MTA)"; - license = with licenses; [ gpl2Plus bsd3 ]; + license = with licenses; [ + gpl2Plus + bsd3 + ]; mainProgram = "exim"; platforms = platforms.linux; maintainers = with maintainers; [ tv ] ++ teams.helsinki-systems.members; diff --git a/pkgs/by-name/ex/exiv2/package.nix b/pkgs/by-name/ex/exiv2/package.nix index 56edbdab5d535..a702df62ea0e9 100644 --- a/pkgs/by-name/ex/exiv2/package.nix +++ b/pkgs/by-name/ex/exiv2/package.nix @@ -1,27 +1,34 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doxygen -, gettext -, graphviz -, libxslt -, removeReferencesTo -, libiconv -, brotli -, expat -, inih -, zlib -, libxml2 -, python3 -, which +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, + gettext, + graphviz, + libxslt, + removeReferencesTo, + libiconv, + brotli, + expat, + inih, + zlib, + libxml2, + python3, + which, }: stdenv.mkDerivation rec { pname = "exiv2"; version = "0.28.3"; - outputs = [ "out" "lib" "dev" "doc" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + "man" + ]; src = fetchFromGitHub { owner = "exiv2"; @@ -69,21 +76,24 @@ stdenv.mkDerivation rec { doCheck = true; - preCheck = '' - patchShebangs ../test/ - mkdir ../test/tmp - '' + lib.optionalString stdenv.hostPlatform.isAarch32 '' - # Fix tests on arm - # https://github.com/Exiv2/exiv2/issues/933 - rm -f ../tests/bugfixes/github/test_CVE_2018_12265.py - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/lib - export LC_ALL=C - - # disable tests that requires loopback networking - substituteInPlace ../tests/bash_tests/testcases.py \ - --replace "def io_test(self):" "def io_disabled(self):" - ''; + preCheck = + '' + patchShebangs ../test/ + mkdir ../test/tmp + '' + + lib.optionalString stdenv.hostPlatform.isAarch32 '' + # Fix tests on arm + # https://github.com/Exiv2/exiv2/issues/933 + rm -f ../tests/bugfixes/github/test_CVE_2018_12265.py + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/lib + export LC_ALL=C + + # disable tests that requires loopback networking + substituteInPlace ../tests/bash_tests/testcases.py \ + --replace "def io_test(self):" "def io_disabled(self):" + ''; preFixup = '' remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2 diff --git a/pkgs/by-name/ex/exonerate/package.nix b/pkgs/by-name/ex/exonerate/package.nix index f7b6bf6c14cee..a0bff5fa0e6ec 100644 --- a/pkgs/by-name/ex/exonerate/package.nix +++ b/pkgs/by-name/ex/exonerate/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, glib, pkg-config }: +{ + lib, + stdenv, + fetchurl, + glib, + pkg-config, +}: stdenv.mkDerivation rec { version = "2.4.0"; @@ -20,6 +26,6 @@ stdenv.mkDerivation rec { homepage = "https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate"; license = licenses.gpl3; maintainers = [ maintainers.bzizou ]; - platforms = platforms.unix ; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ex/exoscale-cli/package.nix b/pkgs/by-name/ex/exoscale-cli/package.nix index 53c45858e4fe2..1e9c164751fd3 100644 --- a/pkgs/by-name/ex/exoscale-cli/package.nix +++ b/pkgs/by-name/ex/exoscale-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "exoscale-cli"; @@ -15,7 +20,12 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" + ]; # we need to rename the resulting binary but can't use buildFlags with -o here # because these are passed to "go install" which does not recognize -o diff --git a/pkgs/by-name/ex/expat/package.nix b/pkgs/by-name/ex/expat/package.nix index 7d49962cbdb7d..c58856b24772e 100644 --- a/pkgs/by-name/ex/expat/package.nix +++ b/pkgs/by-name/ex/expat/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, updateAutotoolsGnuConfigScriptsHook -# for passthru.tests -, python3 -, perlPackages -, haskellPackages -, luaPackages -, ocamlPackages -, testers +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + # for passthru.tests + python3, + perlPackages, + haskellPackages, + luaPackages, + ocamlPackages, + testers, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -18,21 +19,26 @@ let version = "2.6.4"; - tag = "R_${lib.replaceStrings ["."] ["_"] version}"; + tag = "R_${lib.replaceStrings [ "." ] [ "_" ] version}"; in stdenv.mkDerivation (finalAttrs: { pname = "expat"; inherit version; src = fetchurl { - url = with finalAttrs; "https://github.com/libexpat/libexpat/releases/download/${tag}/${pname}-${version}.tar.xz"; + url = + with finalAttrs; + "https://github.com/libexpat/libexpat/releases/download/${tag}/${pname}-${version}.tar.xz"; hash = "sha256-ppVina4EcFWzfVCg/0d20dRdCkyELPTM7hWEQfVf9+4="; }; strictDeps = true; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - outputs = [ "out" "dev" ]; # TODO: fix referrers + outputs = [ + "out" + "dev" + ]; # TODO: fix referrers outputBin = "dev"; enableParallelBuilding = true; diff --git a/pkgs/by-name/ex/expected-lite/package.nix b/pkgs/by-name/ex/expected-lite/package.nix index a0d5d1a509b9b..80e94ff8815d7 100644 --- a/pkgs/by-name/ex/expected-lite/package.nix +++ b/pkgs/by-name/ex/expected-lite/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-8Lf+R7wC7f2YliXqhR6pwVVSLZ6qheu7YOV5jHc0Cjc="; }; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; doCheck = true; diff --git a/pkgs/by-name/ex/expenses/package.nix b/pkgs/by-name/ex/expenses/package.nix index 6d66ab12c3dba..a2a71735ed031 100644 --- a/pkgs/by-name/ex/expenses/package.nix +++ b/pkgs/by-name/ex/expenses/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, sqlite -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + sqlite, + installShellFiles, }: buildGoModule rec { @@ -26,7 +27,9 @@ buildGoModule rec { buildInputs = [ sqlite ]; ldflags = [ - "-s" "-w" "-X github.com/manojkarthick/expenses/cmd.Version=${version}" + "-s" + "-w" + "-X github.com/manojkarthick/expenses/cmd.Version=${version}" ]; postInstall = '' @@ -37,9 +40,9 @@ buildGoModule rec { ''; meta = with lib; { - description = "Interactive command line expense logger"; - license = licenses.mit; - maintainers = [ maintainers.manojkarthick ]; - mainProgram = "expenses"; + description = "Interactive command line expense logger"; + license = licenses.mit; + maintainers = [ maintainers.manojkarthick ]; + mainProgram = "expenses"; }; } diff --git a/pkgs/by-name/ex/explain/package.nix b/pkgs/by-name/ex/explain/package.nix index fb25deacb46c1..80cc946b2e686 100644 --- a/pkgs/by-name/ex/explain/package.nix +++ b/pkgs/by-name/ex/explain/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch -, libtool, bison, groff, ghostscript, gettext -, acl, libcap, lsof }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libtool, + bison, + groff, + ghostscript, + gettext, + acl, + libcap, + lsof, +}: stdenv.mkDerivation rec { pname = "explain"; version = "1.4"; @@ -10,31 +21,46 @@ stdenv.mkDerivation rec { hash = "sha256-KIY7ZezMdJNOI3ysQTZMs8GALDbJ4jGO0EF0YP7oP4A="; }; - patches = let - debian-src = "https://sources.debian.org/data/main"; - debian-ver = "${version}.D001-12"; - debian-patch = fname: hash: fetchpatch { - name = fname; - url = "${debian-src}/libe/libexplain/${debian-ver}/debian/patches/${fname}"; - hash = hash; - }; - in [ - (debian-patch "sanitize-bison.patch" - "sha256-gU6JG32j2yIOwehZTUSvIr4TSDdlg+p1U3bhfZHMEDY=") - (debian-patch "03_fsflags-4.5.patch" - "sha256-ML7Qvf85vEBp+iwm6PSosMAn/frYdEOSHRToEggmR8M=") - (debian-patch "linux5.11.patch" - "sha256-N7WwnTfwOxBfIiKntcFOqHTH9r2gd7NMEzic7szzR+Y=") - (debian-patch "termiox-no-more-exists-since-kernel-5.12.patch" - "sha256-cocgEYKoDMDnGk9VNQDtgoVxMGnnNpdae0hzgUlacOw=") - (debian-patch "gcc-10.patch" - "sha256-YNcYGyOOqPUuwpUpXGcR7zsWbepVg8SAqcVKlxENSQk=") - ]; + patches = + let + debian-src = "https://sources.debian.org/data/main"; + debian-ver = "${version}.D001-12"; + debian-patch = + fname: hash: + fetchpatch { + name = fname; + url = "${debian-src}/libe/libexplain/${debian-ver}/debian/patches/${fname}"; + hash = hash; + }; + in + [ + (debian-patch "sanitize-bison.patch" "sha256-gU6JG32j2yIOwehZTUSvIr4TSDdlg+p1U3bhfZHMEDY=") + (debian-patch "03_fsflags-4.5.patch" "sha256-ML7Qvf85vEBp+iwm6PSosMAn/frYdEOSHRToEggmR8M=") + (debian-patch "linux5.11.patch" "sha256-N7WwnTfwOxBfIiKntcFOqHTH9r2gd7NMEzic7szzR+Y=") + (debian-patch "termiox-no-more-exists-since-kernel-5.12.patch" "sha256-cocgEYKoDMDnGk9VNQDtgoVxMGnnNpdae0hzgUlacOw=") + (debian-patch "gcc-10.patch" "sha256-YNcYGyOOqPUuwpUpXGcR7zsWbepVg8SAqcVKlxENSQk=") + ]; - nativeBuildInputs = [ libtool bison groff ghostscript gettext ]; - buildInputs = [ acl libcap lsof ]; + nativeBuildInputs = [ + libtool + bison + groff + ghostscript + gettext + ]; + buildInputs = [ + acl + libcap + lsof + ]; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; meta = with lib; { description = "Library and utility to explain system call errors"; diff --git a/pkgs/by-name/ex/expliot/package.nix b/pkgs/by-name/ex/expliot/package.nix index b94356d974667..68f335f23ef09 100644 --- a/pkgs/by-name/ex/expliot/package.nix +++ b/pkgs/by-name/ex/expliot/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitLab -, python3 +{ + lib, + fetchFromGitLab, + python3, }: let py = python3.override { diff --git a/pkgs/by-name/ex/exportarr/package.nix b/pkgs/by-name/ex/exportarr/package.nix index d23cc62c80ffc..275285041b3b3 100644 --- a/pkgs/by-name/ex/exportarr/package.nix +++ b/pkgs/by-name/ex/exportarr/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { CGO_ENABLE = 0; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; tags = lib.optionals stdenv.hostPlatform.isLinux [ "netgo" ]; diff --git a/pkgs/by-name/ex/expr/package.nix b/pkgs/by-name/ex/expr/package.nix index 3fa6182c6f887..03033aab37884 100644 --- a/pkgs/by-name/ex/expr/package.nix +++ b/pkgs/by-name/ex/expr/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-FiXxplt4w7M0cZz46kdjYuKHailW2cnLOj0jkA9w1RM="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mv $out/bin/{repl,expr} diff --git a/pkgs/by-name/ex/expressvpn/package.nix b/pkgs/by-name/ex/expressvpn/package.nix index d7f561525b0cc..f97ec3967ee2d 100644 --- a/pkgs/by-name/ex/expressvpn/package.nix +++ b/pkgs/by-name/ex/expressvpn/package.nix @@ -1,19 +1,23 @@ -{ autoPatchelfHook -, buildFHSEnv -, dpkg -, fetchurl -, inotify-tools -, lib -, stdenvNoCC -, sysctl -, writeScript +{ + autoPatchelfHook, + buildFHSEnv, + dpkg, + fetchurl, + inotify-tools, + lib, + stdenvNoCC, + sysctl, + writeScript, }: let pname = "expressvpn"; clientVersion = "3.52.0"; clientBuild = "2"; - version = lib.strings.concatStringsSep "." [ clientVersion clientBuild ]; + version = lib.strings.concatStringsSep "." [ + clientVersion + clientBuild + ]; expressvpnBase = stdenvNoCC.mkDerivation { inherit pname version; @@ -23,7 +27,10 @@ let hash = "sha256-cDZ9R+MA3FXEto518bH4/c1X4W9XxgTvXns7zisylew="; }; - nativeBuildInputs = [ dpkg autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + ]; dontConfigure = true; dontBuild = true; @@ -66,11 +73,12 @@ let # The expressvpnd binary also uses hard-coded paths to the other binaries and files # it ships with, hence the FHS environment. - targetPkgs = pkgs: with pkgs; [ - expressvpnBase - inotify-tools - iproute2 - ]; + targetPkgs = + pkgs: with pkgs; [ + expressvpnBase + inotify-tools + iproute2 + ]; }; in stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/ex/exprtk/package.nix b/pkgs/by-name/ex/exprtk/package.nix index 2aaa803431c61..984a47047bed1 100644 --- a/pkgs/by-name/ex/exprtk/package.nix +++ b/pkgs/by-name/ex/exprtk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "exprtk"; diff --git a/pkgs/by-name/ex/exrtools/package.nix b/pkgs/by-name/ex/exrtools/package.nix index b29d1d5869009..c86cccd3074c1 100644 --- a/pkgs/by-name/ex/exrtools/package.nix +++ b/pkgs/by-name/ex/exrtools/package.nix @@ -1,16 +1,28 @@ -{ lib, stdenv, fetchurl, pkg-config, openexr, libpng12, libjpeg }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + openexr, + libpng12, + libjpeg, +}: stdenv.mkDerivation rec { pname = "exrtools"; version = "0.4"; src = fetchurl { - url = "http://scanline.ca/exrtools/${pname}-${version}.tar.gz"; + url = "http://scanline.ca/exrtools/${pname}-${version}.tar.gz"; sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openexr libpng12 libjpeg ]; + buildInputs = [ + openexr + libpng12 + libjpeg + ]; meta = with lib; { description = "Collection of utilities for manipulating OpenEXR images"; @@ -20,4 +32,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.juliendehos ]; }; } - diff --git a/pkgs/by-name/ex/ext3grep/package.nix b/pkgs/by-name/ex/ext3grep/package.nix index bb91a683ba2e7..5c5b9b0b5dc42 100644 --- a/pkgs/by-name/ex/ext3grep/package.nix +++ b/pkgs/by-name/ex/ext3grep/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, e2fsprogs +{ + lib, + stdenv, + fetchurl, + fetchpatch, + e2fsprogs, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ex/ext4magic/package.nix b/pkgs/by-name/ex/ext4magic/package.nix index 2af139c619d6a..0822231ffc369 100644 --- a/pkgs/by-name/ex/ext4magic/package.nix +++ b/pkgs/by-name/ex/ext4magic/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, file, libuuid, e2fsprogs, zlib, bzip2 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + file, + libuuid, + e2fsprogs, + zlib, + bzip2, +}: stdenv.mkDerivation rec { version = "0.3.2"; @@ -11,13 +21,19 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { - url = "https://sourceforge.net/p/ext4magic/tickets/10/attachment/ext4magic-0.3.2-i_dir_acl.patch"; - sha256 = "1accydd8kigid68yir2fbihm3r3x8ws3iyznp25snkx41w6y6x8c"; + url = "https://sourceforge.net/p/ext4magic/tickets/10/attachment/ext4magic-0.3.2-i_dir_acl.patch"; + sha256 = "1accydd8kigid68yir2fbihm3r3x8ws3iyznp25snkx41w6y6x8c"; }) ./glibc-fix.patch ]; - buildInputs = [ file libuuid e2fsprogs zlib bzip2 ]; + buildInputs = [ + file + libuuid + e2fsprogs + zlib + bzip2 + ]; installFlags = [ "PREFIX=$(out)" ]; meta = with lib; { diff --git a/pkgs/by-name/ex/extest/package.nix b/pkgs/by-name/ex/extest/package.nix index a0df42265da58..f6c2699282fdf 100644 --- a/pkgs/by-name/ex/extest/package.nix +++ b/pkgs/by-name/ex/extest/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ex/extism-cli/package.nix b/pkgs/by-name/ex/extism-cli/package.nix index 933fdeaa8b543..ef165ac07df5d 100644 --- a/pkgs/by-name/ex/extism-cli/package.nix +++ b/pkgs/by-name/ex/extism-cli/package.nix @@ -1,8 +1,8 @@ { - lib -, buildGoModule -, fetchFromGitHub -, installShellFiles + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ex/extra-container/package.nix b/pkgs/by-name/ex/extra-container/package.nix index 71ba276f4bd42..84a5367b449a2 100644 --- a/pkgs/by-name/ex/extra-container/package.nix +++ b/pkgs/by-name/ex/extra-container/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, nixos-container, openssh, glibcLocales, fetchFromGitHub }: +{ + stdenv, + lib, + nixos-container, + openssh, + glibcLocales, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "extra-container"; diff --git a/pkgs/by-name/ex/extrace/package.nix b/pkgs/by-name/ex/extrace/package.nix index e4afe6f850399..6d2491acfa85d 100644 --- a/pkgs/by-name/ex/extrace/package.nix +++ b/pkgs/by-name/ex/extrace/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "extrace"; @@ -21,7 +25,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/leahneukirchen/extrace"; description = "Trace exec() calls system-wide"; - license = with licenses; [ gpl2Plus bsd2 ]; + license = with licenses; [ + gpl2Plus + bsd2 + ]; platforms = platforms.linux; maintainers = [ maintainers.leahneukirchen ]; }; diff --git a/pkgs/by-name/ex/extract_url/package.nix b/pkgs/by-name/ex/extract_url/package.nix index b47fca90b9f68..b7b8e4824f75b 100644 --- a/pkgs/by-name/ex/extract_url/package.nix +++ b/pkgs/by-name/ex/extract_url/package.nix @@ -1,15 +1,24 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, perlPackages -, cursesSupport ? true -, uriFindSupport ? true +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + perlPackages, + cursesSupport ? true, + uriFindSupport ? true, }: let perlDeps = - [ perlPackages.MIMETools perlPackages.HTMLParser ] + [ + perlPackages.MIMETools + perlPackages.HTMLParser + ] ++ lib.optional cursesSupport perlPackages.CursesUI ++ lib.optional uriFindSupport perlPackages.URIFind; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "extract_url"; version = "1.6.2"; diff --git a/pkgs/by-name/ex/extractpdfmark/package.nix b/pkgs/by-name/ex/extractpdfmark/package.nix index 9b95e6e101edb..8594820134f38 100644 --- a/pkgs/by-name/ex/extractpdfmark/package.nix +++ b/pkgs/by-name/ex/extractpdfmark/package.nix @@ -1,11 +1,12 @@ -{ autoreconfHook -, fetchFromGitHub -, ghostscript -, lib -, pkg-config -, poppler -, stdenv -, texlive +{ + autoreconfHook, + fetchFromGitHub, + ghostscript, + lib, + pkg-config, + poppler, + stdenv, + texlive, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-pNc/SWAtQWMbB2+lIQkJdBYSZ97iJXK71mS59qQa7Hs="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ ghostscript poppler texlive.combined.scheme-minimal ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + ghostscript + poppler + texlive.combined.scheme-minimal + ]; postPatch = '' touch config.rpath diff --git a/pkgs/by-name/ex/extremetuxracer/package.nix b/pkgs/by-name/ex/extremetuxracer/package.nix index b794543ff4ee9..0b64b85637d56 100644 --- a/pkgs/by-name/ex/extremetuxracer/package.nix +++ b/pkgs/by-name/ex/extremetuxracer/package.nix @@ -1,7 +1,25 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, libX11, xorgproto, tcl, libglut, freetype -, sfml, libXi -, libXmu, libXext, libXt, libSM, libICE -, libpng, pkg-config, gettext, intltool +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + libX11, + xorgproto, + tcl, + libglut, + freetype, + sfml, + libXi, + libXmu, + libXext, + libXt, + libSM, + libICE, + libpng, + pkg-config, + gettext, + intltool, }: stdenv.mkDerivation rec { @@ -13,12 +31,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-+jKFzAx1Wlr/Up8/LOo1FkgRFMa0uOHsB2n+7/BHc+U="; }; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ - libGLU libGL libX11 xorgproto tcl libglut freetype - sfml libXi - libXmu libXext libXt libSM libICE - libpng gettext + libGLU + libGL + libX11 + xorgproto + tcl + libglut + freetype + sfml + libXi + libXmu + libXext + libXt + libSM + libICE + libpng + gettext ]; configureFlags = [ "--with-tcl=${tcl}/lib" ]; diff --git a/pkgs/by-name/ex/extrude/package.nix b/pkgs/by-name/ex/extrude/package.nix index 8a9710582913d..469678b7ec550 100644 --- a/pkgs/by-name/ex/extrude/package.nix +++ b/pkgs/by-name/ex/extrude/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ex/extundelete/package.nix b/pkgs/by-name/ex/extundelete/package.nix index d152956593851..41872f8664211 100644 --- a/pkgs/by-name/ex/extundelete/package.nix +++ b/pkgs/by-name/ex/extundelete/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, e2fsprogs }: +{ + lib, + stdenv, + fetchurl, + e2fsprogs, +}: stdenv.mkDerivation { version = "0.2.4"; diff --git a/pkgs/by-name/ey/eyewitness/package.nix b/pkgs/by-name/ey/eyewitness/package.nix index cc13cb0e13a91..1daaa89dc0c64 100644 --- a/pkgs/by-name/ey/eyewitness/package.nix +++ b/pkgs/by-name/ey/eyewitness/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3Packages -, xvfb-run -, firefox-esr -, geckodriver -, makeWrapper +{ + lib, + fetchFromGitHub, + python3Packages, + xvfb-run, + firefox-esr, + geckodriver, + makeWrapper, }: python3Packages.buildPythonApplication rec { @@ -19,24 +20,30 @@ python3Packages.buildPythonApplication rec { hash = "sha256-nSPpPbwqagc5EadQ4AHgLhjQ0kDjmbdcwE/PL5FDL4I="; }; - build-system = with python3Packages; [ - setuptools - ] ++ [ - makeWrapper - ]; + build-system = + with python3Packages; + [ + setuptools + ] + ++ [ + makeWrapper + ]; - dependencies = with python3Packages; [ - selenium - fuzzywuzzy - pyvirtualdisplay - pylev - netaddr - pydevtool - ] ++ [ - firefox-esr - xvfb-run - geckodriver - ]; + dependencies = + with python3Packages; + [ + selenium + fuzzywuzzy + pyvirtualdisplay + pylev + netaddr + pydevtool + ] + ++ [ + firefox-esr + xvfb-run + geckodriver + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix index 1cd13c801ca41..6bb16065bc490 100644 --- a/pkgs/by-name/ez/eza/package.nix +++ b/pkgs/by-name/ez/eza/package.nix @@ -1,15 +1,16 @@ -{ lib -, gitSupport ? true -, fetchFromGitHub -, rustPlatform -, cmake -, pandoc -, pkg-config -, zlib -, installShellFiles +{ + lib, + gitSupport ? true, + fetchFromGitHub, + rustPlatform, + cmake, + pandoc, + pkg-config, + zlib, + installShellFiles, # once eza upstream gets support for setting up a compatibility symlink for exa, we should change # the handling here from postInstall to passing the required argument to the builder. -, exaAlias ? true + exaAlias ? true, }: rustPlatform.buildRustPackage rec { @@ -25,27 +26,37 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-5KVLxIYmWIcFcGNZUvNOrHrKTy0UD9LQvPn3IGpV6B0="; - nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; + nativeBuildInputs = [ + cmake + pkg-config + installShellFiles + pandoc + ]; buildInputs = [ zlib ]; buildNoDefaultFeatures = true; buildFeatures = lib.optional gitSupport "git"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - postInstall = '' - for page in eza.1 eza_colors.5 eza_colors-explanation.5; do - sed "s/\$version/v${version}/g" "man/$page.md" | - pandoc --standalone -f markdown -t man >"man/$page" - done - installManPage man/eza.1 man/eza_colors.5 man/eza_colors-explanation.5 - installShellCompletion \ - --bash completions/bash/eza \ - --fish completions/fish/eza.fish \ - --zsh completions/zsh/_eza - '' + lib.optionalString exaAlias '' - ln -s eza $out/bin/exa - ''; + postInstall = + '' + for page in eza.1 eza_colors.5 eza_colors-explanation.5; do + sed "s/\$version/v${version}/g" "man/$page.md" | + pandoc --standalone -f markdown -t man >"man/$page" + done + installManPage man/eza.1 man/eza_colors.5 man/eza_colors-explanation.5 + installShellCompletion \ + --bash completions/bash/eza \ + --fish completions/fish/eza.fish \ + --zsh completions/zsh/_eza + '' + + lib.optionalString exaAlias '' + ln -s eza $out/bin/exa + ''; meta = with lib; { description = "Modern, maintained replacement for ls"; @@ -61,7 +72,11 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/eza-community/eza/releases/tag/v${version}"; license = licenses.eupl12; mainProgram = "eza"; - maintainers = with maintainers; [ cafkafk _9glenda sigmasquadron ]; + maintainers = with maintainers; [ + cafkafk + _9glenda + sigmasquadron + ]; platforms = platforms.unix ++ platforms.windows; }; } diff --git a/pkgs/by-name/ez/ezno/package.nix b/pkgs/by-name/ez/ezno/package.nix index af035e7565ec7..5ee1c9f44e975 100644 --- a/pkgs/by-name/ez/ezno/package.nix +++ b/pkgs/by-name/ez/ezno/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,7 +23,10 @@ rustPlatform.buildRustPackage rec { darwin.apple_sdk.frameworks.CoreServices ]; - cargoBuildFlags = [ "--bin" "ezno" ]; + cargoBuildFlags = [ + "--bin" + "ezno" + ]; meta = with lib; { description = "JavaScript compiler and TypeScript checker with a focus on static analysis and runtime performance"; diff --git a/pkgs/by-name/ez/ezquake/package.nix b/pkgs/by-name/ez/ezquake/package.nix index 579783af2ef8e..8e09f58bf6323 100644 --- a/pkgs/by-name/ez/ezquake/package.nix +++ b/pkgs/by-name/ez/ezquake/package.nix @@ -1,7 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, curl, expat -, jansson, libpng, libjpeg, libGLU, libGL -, libsndfile, libXxf86vm, pcre, pkg-config, SDL2 -, vim, speex }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + expat, + jansson, + libpng, + libjpeg, + libGLU, + libGL, + libsndfile, + libXxf86vm, + pcre, + pkg-config, + SDL2, + vim, + speex, +}: stdenv.mkDerivation rec { pname = "ezquake"; @@ -17,17 +32,31 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - expat curl jansson libpng libjpeg libGLU libGL libsndfile libXxf86vm pcre SDL2 vim speex + expat + curl + jansson + libpng + libjpeg + libGLU + libGL + libsndfile + libXxf86vm + pcre + SDL2 + vim + speex ]; - installPhase = let - sys = lib.last (lib.splitString "-" stdenv.hostPlatform.system); - arch = lib.head (lib.splitString "-" stdenv.hostPlatform.system); - in '' - mkdir -p $out/bin - find . - mv ezquake-${sys}-${arch} $out/bin/ezquake - ''; + installPhase = + let + sys = lib.last (lib.splitString "-" stdenv.hostPlatform.system); + arch = lib.head (lib.splitString "-" stdenv.hostPlatform.system); + in + '' + mkdir -p $out/bin + find . + mv ezquake-${sys}-${arch} $out/bin/ezquake + ''; enableParallelBuilding = true; diff --git a/pkgs/by-name/ez/ezra-sil/package.nix b/pkgs/by-name/ez/ezra-sil/package.nix index 7b628bd4bbc00..83409b2427753 100644 --- a/pkgs/by-name/ez/ezra-sil/package.nix +++ b/pkgs/by-name/ez/ezra-sil/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ezra-sil"; diff --git a/pkgs/by-name/ez/ezstream/package.nix b/pkgs/by-name/ez/ezstream/package.nix index 5e1be5f3f7e15..49fa6efb868d8 100644 --- a/pkgs/by-name/ez/ezstream/package.nix +++ b/pkgs/by-name/ez/ezstream/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, libiconv, libshout, taglib, libxml2, pkg-config }: +{ + lib, + stdenv, + fetchurl, + libiconv, + libshout, + taglib, + libxml2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ezstream"; @@ -9,7 +18,12 @@ stdenv.mkDerivation rec { sha256 = "f86eb8163b470c3acbc182b42406f08313f85187bd9017afb8b79b02f03635c9"; }; - buildInputs = [ libiconv libshout taglib libxml2 ]; + buildInputs = [ + libiconv + libshout + taglib + libxml2 + ]; nativeBuildInputs = [ pkg-config ]; doCheck = true; diff --git a/pkgs/by-name/ez/eztrace/package.nix b/pkgs/by-name/ez/eztrace/package.nix index fdd665bbae22c..8a5b3dbeb91c7 100644 --- a/pkgs/by-name/ez/eztrace/package.nix +++ b/pkgs/by-name/ez/eztrace/package.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, stdenv, fetchFromGitLab, gfortran, @@ -9,7 +10,7 @@ # is released we can switch to latest binutils. libbfd_2_38, libopcodes_2_38, - autoreconfHook + autoreconfHook, }: stdenv.mkDerivation rec { @@ -23,8 +24,17 @@ stdenv.mkDerivation rec { hash = "sha256-A6HMr4ib5Ka1lTbbTQOdq3kIdCoN/CwAKRdXdv9wpfU="; }; - nativeBuildInputs = [ gfortran autoreconfHook ]; - buildInputs = [ libelf libiberty zlib libbfd_2_38 libopcodes_2_38 ]; + nativeBuildInputs = [ + gfortran + autoreconfHook + ]; + buildInputs = [ + libelf + libiberty + zlib + libbfd_2_38 + libopcodes_2_38 + ]; meta = with lib; { description = "Tool that aims at generating automatically execution trace from HPC programs"; diff --git a/pkgs/by-name/f1/f1_8/package.nix b/pkgs/by-name/f1/f1_8/package.nix index 187fd517c1f24..c82e08c7ec0dd 100644 --- a/pkgs/by-name/f1/f1_8/package.nix +++ b/pkgs/by-name/f1/f1_8/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "1"; diff --git a/pkgs/by-name/f1/f1viewer/package.nix b/pkgs/by-name/f1/f1viewer/package.nix index 5d89a8df657c1..363d914548eff 100644 --- a/pkgs/by-name/f1/f1viewer/package.nix +++ b/pkgs/by-name/f1/f1viewer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "f1viewer"; @@ -14,8 +18,7 @@ buildGoModule rec { vendorHash = "sha256-UNeH3zxgssXxFpJws6nAL8EgXt0DRyAQfmlJWz/qyDg="; meta = with lib; { - description = - "A TUI to view Formula 1 footage using VLC or another media player"; + description = "A TUI to view Formula 1 footage using VLC or another media player"; homepage = "https://github.com/SoMuchForSubtlety/f1viewer"; license = licenses.gpl3Only; maintainers = with maintainers; [ michzappa ]; diff --git a/pkgs/by-name/f2/f2c/package.nix b/pkgs/by-name/f2/f2c/package.nix index 4b263a907b052..acc430409f1ff 100644 --- a/pkgs/by-name/f2/f2c/package.nix +++ b/pkgs/by-name/f2/f2c/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "f2c"; @@ -9,7 +13,10 @@ stdenv.mkDerivation { sha256 = "sha256-TTPve2fe31/Ad+xFAWy6NUIes2QyUi6NjFucN0pdb5k="; }; - makeFlags = [ "-f" "makefile.u" ]; + makeFlags = [ + "-f" + "makefile.u" + ]; # Ensure xsum binary is built from scratch preBuild = "rm xsum"; diff --git a/pkgs/by-name/f3/f3/package.nix b/pkgs/by-name/f3/f3/package.nix index 04430fc23ee41..cff9ebc4458c1 100644 --- a/pkgs/by-name/f3/f3/package.nix +++ b/pkgs/by-name/f3/f3/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, parted -, systemd -, argp-standalone +{ + stdenv, + lib, + fetchFromGitHub, + parted, + systemd, + argp-standalone, }: stdenv.mkDerivation rec { @@ -26,13 +27,16 @@ stdenv.mkDerivation rec { done ''; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ systemd parted ] + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + systemd + parted + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ argp-standalone ]; buildFlags = [ "all" # f3read, f3write - ] - ++ lib.optional stdenv.hostPlatform.isLinux "extra"; # f3brew, f3fix, f3probe + ] ++ lib.optional stdenv.hostPlatform.isLinux "extra"; # f3brew, f3fix, f3probe installFlags = [ "PREFIX=${placeholder "out"}" @@ -40,8 +44,7 @@ stdenv.mkDerivation rec { installTargets = [ "install" - ] - ++ lib.optional stdenv.hostPlatform.isLinux "install-extra"; + ] ++ lib.optional stdenv.hostPlatform.isLinux "install-extra"; postInstall = '' install -Dm555 -t $out/bin f3write.h2w log-f3wr @@ -52,6 +55,9 @@ stdenv.mkDerivation rec { description = "Fight Flash Fraud"; homepage = "https://fight-flash-fraud.readthedocs.io/en/stable/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ makefu evils ]; + maintainers = with maintainers; [ + makefu + evils + ]; }; } diff --git a/pkgs/by-name/f5/f5_6/package.nix b/pkgs/by-name/f5/f5_6/package.nix index bf0b6de36b64e..2671eaede6276 100644 --- a/pkgs/by-name/f5/f5_6/package.nix +++ b/pkgs/by-name/f5/f5_6/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -26,7 +30,10 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/f5_6/"; description = "Weighted decorative font"; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.ofl; }; } diff --git a/pkgs/by-name/fa/fa_1/package.nix b/pkgs/by-name/fa/fa_1/package.nix index d3eb8e73faead..165abcfdba7aa 100644 --- a/pkgs/by-name/fa/fa_1/package.nix +++ b/pkgs/by-name/fa/fa_1/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; diff --git a/pkgs/by-name/fa/faac/package.nix b/pkgs/by-name/fa/faac/package.nix index c1dba7c34bda3..6caf048cee50b 100644 --- a/pkgs/by-name/fa/faac/package.nix +++ b/pkgs/by-name/fa/faac/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchurl, autoreconfHook -, mp4v2Support ? true, mp4v2 -, drmSupport ? false # Digital Radio Mondiale +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + mp4v2Support ? true, + mp4v2, + drmSupport ? false, # Digital Radio Mondiale }: stdenv.mkDerivation rec { @@ -8,11 +13,14 @@ stdenv.mkDerivation rec { version = "1.30"; src = fetchurl { - url = "mirror://sourceforge/faac/${pname}-${builtins.replaceStrings ["."] ["_"] version}.tar.gz"; + url = "mirror://sourceforge/faac/${pname}-${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.gz"; sha256 = "1lmj0dib3mjp84jhxc5ddvydkzzhb0gfrdh3ikcidjlcb378ghxd"; }; - configureFlags = lib.optional mp4v2Support "--with-external-mp4v2" + configureFlags = + lib.optional mp4v2Support "--with-external-mp4v2" ++ lib.optional drmSupport "--enable-drm"; hardeningDisable = [ "format" ]; @@ -26,8 +34,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open source MPEG-4 and MPEG-2 AAC encoder"; homepage = "https://github.com/knik0/faac"; - license = licenses.unfreeRedistributable; + license = licenses.unfreeRedistributable; maintainers = with maintainers; [ codyopel ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/fa/faad2/package.nix b/pkgs/by-name/fa/faad2/package.nix index c4b236786057d..328e06960eb5a 100644 --- a/pkgs/by-name/fa/faad2/package.nix +++ b/pkgs/by-name/fa/faad2/package.nix @@ -1,13 +1,14 @@ -{lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, -# for passthru.tests -, gst_all_1 -, mpd -, ocamlPackages -, vlc + # for passthru.tests + gst_all_1, + mpd, + ocamlPackages, + vlc, }: stdenv.mkDerivation rec { @@ -21,7 +22,11 @@ stdenv.mkDerivation rec { hash = "sha256-E6oe7yjYy1SJo8xQkyUk1sSucKDMPxwUFVSAyrf4Pd8="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ cmake ]; @@ -34,9 +39,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open source MPEG-4 and MPEG-2 AAC decoder"; homepage = "https://sourceforge.net/projects/faac/"; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; maintainers = with maintainers; [ codyopel ]; mainProgram = "faad"; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/fa/faba-icon-theme/package.nix b/pkgs/by-name/fa/faba-icon-theme/package.nix index 4fc2068f870cc..e110514e72f94 100644 --- a/pkgs/by-name/fa/faba-icon-theme/package.nix +++ b/pkgs/by-name/fa/faba-icon-theme/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenvNoCC, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, gnome-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + meson, + ninja, + python3, + gtk3, + pantheon, + gnome-icon-theme, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "faba-icon-theme"; @@ -33,7 +44,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Sexy and modern icon theme with Tango influences"; homepage = "https://snwh.org/moka"; - license = with licenses; [ cc-by-sa-40 gpl3 ]; + license = with licenses; [ + cc-by-sa-40 + gpl3 + ]; platforms = platforms.all; maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/by-name/fa/faba-mono-icons/package.nix b/pkgs/by-name/fa/faba-mono-icons/package.nix index efd91a5f53fda..290aa6ce903d4 100644 --- a/pkgs/by-name/fa/faba-mono-icons/package.nix +++ b/pkgs/by-name/fa/faba-mono-icons/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenvNoCC, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, faba-icon-theme, gnome-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + autoreconfHook, + gtk3, + moka-icon-theme, + faba-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "faba-mono-icons"; diff --git a/pkgs/by-name/fa/fabric-installer/package.nix b/pkgs/by-name/fa/fabric-installer/package.nix index 5667a55fd609e..21fdd39453162 100644 --- a/pkgs/by-name/fa/fabric-installer/package.nix +++ b/pkgs/by-name/fa/fabric-installer/package.nix @@ -1,8 +1,10 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "fabric-installer"; @@ -15,7 +17,10 @@ stdenv.mkDerivation rec { dontUnpack = true; - nativeBuildInputs = [ jre makeWrapper ]; + nativeBuildInputs = [ + jre + makeWrapper + ]; installPhase = '' mkdir -p $out/{bin,lib/fabric} diff --git a/pkgs/by-name/fa/fabs/package.nix b/pkgs/by-name/fa/fabs/package.nix index f6e9ec2915855..69bcd4c13797a 100644 --- a/pkgs/by-name/fa/fabs/package.nix +++ b/pkgs/by-name/fa/fabs/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, perl -, python3 -, sqlite +{ + lib, + fetchFromGitHub, + perl, + python3, + sqlite, }: python3.pkgs.buildPythonApplication rec { @@ -29,7 +30,10 @@ python3.pkgs.buildPythonApplication rec { sqlalchemy ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; preBuild = '' export PREFIX=$out @@ -52,7 +56,10 @@ python3.pkgs.buildPythonApplication rec { ]; meta = with lib; { - outputsToInstall = [ "out" "man" ]; + outputsToInstall = [ + "out" + "man" + ]; mainProgram = "fabsys"; description = "Flexible AFS Backup System for the OpenAFS distributed file system"; homepage = "https://github.com/openafs-contrib/fabs"; diff --git a/pkgs/by-name/fa/fac/package.nix b/pkgs/by-name/fa/fac/package.nix index ad26888ad5336..fa11dfb4a50f7 100644 --- a/pkgs/by-name/fa/fac/package.nix +++ b/pkgs/by-name/fa/fac/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeBinaryWrapper -, installShellFiles -, git +{ + lib, + buildGoModule, + fetchFromGitHub, + makeBinaryWrapper, + installShellFiles, + git, }: buildGoModule rec { diff --git a/pkgs/by-name/fa/facedetect/package.nix b/pkgs/by-name/fa/facedetect/package.nix index 623f9e249ff8b..ecb532bb710f1 100644 --- a/pkgs/by-name/fa/facedetect/package.nix +++ b/pkgs/by-name/fa/facedetect/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + python3Packages, +}: stdenv.mkDerivation rec { pname = "facedetect"; @@ -19,8 +25,14 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ python3Packages.python python3Packages.wrapPython ]; - pythonPath = [ python3Packages.numpy python3Packages.opencv4 ]; + buildInputs = [ + python3Packages.python + python3Packages.wrapPython + ]; + pythonPath = [ + python3Packages.numpy + python3Packages.opencv4 + ]; dontConfigure = true; diff --git a/pkgs/by-name/fa/facetimehd-calibration/package.nix b/pkgs/by-name/fa/facetimehd-calibration/package.nix index ca67826887289..8c843f5f564f8 100644 --- a/pkgs/by-name/fa/facetimehd-calibration/package.nix +++ b/pkgs/by-name/fa/facetimehd-calibration/package.nix @@ -1,10 +1,15 @@ -{ lib, stdenvNoCC, fetchurl, unrar-wrapper, pkgs }: +{ + lib, + stdenvNoCC, + fetchurl, + unrar-wrapper, + pkgs, +}: let version = "5.1.5769"; - # Described on https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files # From the wiki page, range extracted with binwalk: @@ -16,10 +21,26 @@ let # Also from the wiki page: calibrationFiles = [ - { file = "1771_01XX.dat"; offset = "1644880"; size = "19040"; } - { file = "1871_01XX.dat"; offset = "1606800"; size = "19040"; } - { file = "1874_01XX.dat"; offset = "1625840"; size = "19040"; } - { file = "9112_01XX.dat"; offset = "1663920"; size = "33060"; } + { + file = "1771_01XX.dat"; + offset = "1644880"; + size = "19040"; + } + { + file = "1871_01XX.dat"; + offset = "1606800"; + size = "19040"; + } + { + file = "1874_01XX.dat"; + offset = "1625840"; + size = "19040"; + } + { + file = "9112_01XX.dat"; + offset = "1663920"; + size = "33060"; + } ]; in @@ -39,24 +60,40 @@ stdenvNoCC.mkDerivation { buildInputs = [ unrar-wrapper ]; - buildPhase = '' - { printf '\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00' - cat $src - printf '${gzFooter}' - } | zcat > AppleCamera64.exe - unrar x AppleCamera64.exe AppleCamera.sys - - mkdir -p $out/lib/firmware/facetimehd - '' + lib.concatMapStrings ({file, offset, size}: '' - dd bs=1 skip=${offset} count=${size} if=AppleCamera.sys of=$out/lib/firmware/facetimehd/${file} - '') calibrationFiles; + buildPhase = + '' + { printf '\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00' + cat $src + printf '${gzFooter}' + } | zcat > AppleCamera64.exe + unrar x AppleCamera64.exe AppleCamera.sys + + mkdir -p $out/lib/firmware/facetimehd + '' + + lib.concatMapStrings ( + { + file, + offset, + size, + }: + '' + dd bs=1 skip=${offset} count=${size} if=AppleCamera.sys of=$out/lib/firmware/facetimehd/${file} + '' + ) calibrationFiles; meta = with lib; { description = "facetimehd calibration"; homepage = "https://support.apple.com/kb/DL1837"; license = licenses.unfree; - maintainers = with maintainers; [ alexshpilkin womfoo grahamc ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ + alexshpilkin + womfoo + grahamc + ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/fa/facetimehd-firmware/package.nix b/pkgs/by-name/fa/facetimehd-firmware/package.nix index 6679f1f19e752..9e0a9e04e69f9 100644 --- a/pkgs/by-name/fa/facetimehd-firmware/package.nix +++ b/pkgs/by-name/fa/facetimehd-firmware/package.nix @@ -1,10 +1,16 @@ -{ lib, stdenvNoCC, fetchurl, cpio, xz, pkgs }: +{ + lib, + stdenvNoCC, + fetchurl, + cpio, + xz, + pkgs, +}: let version = "1.43_5"; - # Updated according to https://github.com/patjak/bcwc_pcie/pull/81/files # and https://github.com/patjak/bcwc_pcie/blob/5a7083bd98b38ef3bd223f7ee531d58f4fb0fe7c/firmware/Makefile#L3-L9 # and https://github.com/patjak/bcwc_pcie/blob/5a7083bd98b38ef3bd223f7ee531d58f4fb0fe7c/firmware/extract-firmware.sh @@ -24,7 +30,6 @@ let firmwareOffset = "81920"; # Variable: firmw_offsets firmwareSize = "603715"; # Variable: firmw_sizes - # separated this here as the script will fail without the 'exit 0' unpack = pkgs.writeScriptBin "unpack" '' xzcat -Q $src | cpio --format odc -i -d ${firmwareIn} @@ -46,7 +51,10 @@ stdenvNoCC.mkDerivation { dontUnpack = true; dontInstall = true; - buildInputs = [ cpio xz ]; + buildInputs = [ + cpio + xz + ]; buildPhase = '' ${unpack}/bin/unpack @@ -59,8 +67,14 @@ stdenvNoCC.mkDerivation { description = "facetimehd firmware"; homepage = "https://support.apple.com/kb/DL1877"; license = licenses.unfree; - maintainers = with maintainers; [ womfoo grahamc ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ + womfoo + grahamc + ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/fa/facter/gemset.nix b/pkgs/by-name/fa/facter/gemset.nix index 92a024a62211b..82645059d61df 100644 --- a/pkgs/by-name/fa/facter/gemset.nix +++ b/pkgs/by-name/fa/facter/gemset.nix @@ -1,30 +1,33 @@ { facter = { - dependencies = ["hocon" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "hocon" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17d561xf4s5016fm9jkfkkafn6660g04fz1yp5xfvkb0j4xj32mp"; type = "gem"; }; version = "4.10.0"; }; hocon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "106dmzsl1bxkqw5xaif012nwwfr3k9wff32cqc77ibjngknj6477"; type = "gem"; }; version = "1.4.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg"; type = "gem"; }; diff --git a/pkgs/by-name/fa/facter/package.nix b/pkgs/by-name/fa/facter/package.nix index 8d5f3bc03addc..864efc67eac1f 100644 --- a/pkgs/by-name/fa/facter/package.nix +++ b/pkgs/by-name/fa/facter/package.nix @@ -60,7 +60,10 @@ bundlerApp { homepage = "https://github.com/puppetlabs/facter"; license = lib.licenses.asl20; mainProgram = "facter"; - maintainers = with lib.maintainers; [ womfoo anthonyroussel ]; + maintainers = with lib.maintainers; [ + womfoo + anthonyroussel + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/fa/fail2ban/package.nix b/pkgs/by-name/fa/fail2ban/package.nix index 6943ccc447a0e..720ff17dac1a9 100644 --- a/pkgs/by-name/fa/fail2ban/package.nix +++ b/pkgs/by-name/fa/fail2ban/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, python3 -, installShellFiles -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + python3, + installShellFiles, + nixosTests, }: python3.pkgs.buildPythonApplication rec { @@ -18,11 +19,15 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-0xPNhbu6/p/cbHOr5Y+PXbMbt5q/S13S5100ZZSdylE="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ installShellFiles ]; - pythonPath = with python3.pkgs; + pythonPath = + with python3.pkgs; lib.optionals stdenv.hostPlatform.isLinux [ systemd pyinotify @@ -83,7 +88,8 @@ python3.pkgs.buildPythonApplication rec { rm $out/bin/fail2ban-python ln -s ${python3.interpreter} $out/bin/fail2ban-python - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' # see https://github.com/NixOS/nixpkgs/issues/4968 rm -r "${sitePackages}/usr" ''; diff --git a/pkgs/by-name/fa/faircamp/package.nix b/pkgs/by-name/fa/faircamp/package.nix index 3ff332f68ff9e..81684a7c5f9ec 100644 --- a/pkgs/by-name/fa/faircamp/package.nix +++ b/pkgs/by-name/fa/faircamp/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitea -, makeWrapper -, pkg-config -, glib -, libopus -, vips -, ffmpeg -, callPackage -, darwin -, testers -, faircamp +{ + lib, + stdenv, + rustPlatform, + fetchFromGitea, + makeWrapper, + pkg-config, + glib, + libopus, + vips, + ffmpeg, + callPackage, + darwin, + testers, + faircamp, }: rustPlatform.buildRustPackage rec { @@ -40,13 +41,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - glib - libopus - vips - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + [ + glib + libopus + vips + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; postInstall = '' wrapProgram $out/bin/faircamp \ diff --git a/pkgs/by-name/fa/faircamp/test-wav.nix b/pkgs/by-name/fa/faircamp/test-wav.nix index 8a9d2eaa2f35a..272bb1b71d20e 100644 --- a/pkgs/by-name/fa/faircamp/test-wav.nix +++ b/pkgs/by-name/fa/faircamp/test-wav.nix @@ -1,6 +1,7 @@ -{ stdenv -, faircamp -, ffmpeg +{ + stdenv, + faircamp, + ffmpeg, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/fa/fairymax/package.nix b/pkgs/by-name/fa/fairymax/package.nix index 9ea9d7df974dd..5950e0b3591f1 100644 --- a/pkgs/by-name/fa/fairymax/package.nix +++ b/pkgs/by-name/fa/fairymax/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { @@ -39,9 +40,9 @@ stdenv.mkDerivation rec { description = "Small chess engine supporting fairy pieces"; mainProgram = "fairymax"; longDescription = '' - A version of micro-Max that reads the piece description from a file - fmax.ini, so that arbitrary fairy pieces can be implemented. This version - (4.8J) supports up to 15 piece types, and board sizes up to 12x8. + A version of micro-Max that reads the piece description from a file + fmax.ini, so that arbitrary fairy pieces can be implemented. This version + (4.8J) supports up to 15 piece types, and board sizes up to 12x8. ''; license = licenses.free; maintainers = [ maintainers.raskin ]; diff --git a/pkgs/by-name/fa/fairywren/package.nix b/pkgs/by-name/fa/fairywren/package.nix index f28ec94a37198..088f113704578 100644 --- a/pkgs/by-name/fa/fairywren/package.nix +++ b/pkgs/by-name/fa/fairywren/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitLab -, colorVariants ? [] # default: install all icons +{ + lib, + stdenvNoCC, + fetchFromGitLab, + colorVariants ? [ ], # default: install all icons }: let @@ -14,31 +15,34 @@ let in lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants -stdenvNoCC.mkDerivation { - inherit pname; - version = "0-unstable-2024-06-10"; + stdenvNoCC.mkDerivation + { + inherit pname; + version = "0-unstable-2024-06-10"; - src = fetchFromGitLab{ - owner = "aiyahm"; - repo = "FairyWren-Icons"; - rev = "a86736cc9ff50af0ca59ef31c464da2f9e9da103"; - hash = "sha256-IzTq45lMdlAt+mEb7gpp1hWKBUSeLWINK53Sv4RithI="; - }; + src = fetchFromGitLab { + owner = "aiyahm"; + repo = "FairyWren-Icons"; + rev = "a86736cc9ff50af0ca59ef31c464da2f9e9da103"; + hash = "sha256-IzTq45lMdlAt+mEb7gpp1hWKBUSeLWINK53Sv4RithI="; + }; - installPhase = '' - runHook preInstall - mkdir -p $out/share/icons - cp -r ${lib.concatStringsSep " " (if colorVariants != [] then colorVariants else colorVariantList)} $out/share/icons/ - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out/share/icons + cp -r ${ + lib.concatStringsSep " " (if colorVariants != [ ] then colorVariants else colorVariantList) + } $out/share/icons/ + runHook postInstall + ''; - dontFixup = true; + dontFixup = true; - meta = with lib; { - description = "FairyWren Icon Set"; - homepage = "https://gitlab.com/aiyahm/FairyWren-Icons"; - maintainers = with maintainers; [ d3vil0p3r ]; - platforms = platforms.all; - license = with licenses; [ gpl3Plus ]; - }; -} + meta = with lib; { + description = "FairyWren Icon Set"; + homepage = "https://gitlab.com/aiyahm/FairyWren-Icons"; + maintainers = with maintainers; [ d3vil0p3r ]; + platforms = platforms.all; + license = with licenses; [ gpl3Plus ]; + }; + } diff --git a/pkgs/by-name/fa/fakeNss/package.nix b/pkgs/by-name/fa/fakeNss/package.nix index 7d85ec5fc0a5f..346f683c72738 100644 --- a/pkgs/by-name/fa/fakeNss/package.nix +++ b/pkgs/by-name/fa/fakeNss/package.nix @@ -2,13 +2,22 @@ # Useful when packaging binaries that insist on using nss to look up # username/groups (like nginx). # /bin/sh is fine to not exist, and provided by another shim. -{ lib, symlinkJoin, writeTextDir, runCommand, extraPasswdLines ? [], extraGroupLines ? [] }: +{ + lib, + symlinkJoin, + writeTextDir, + runCommand, + extraPasswdLines ? [ ], + extraGroupLines ? [ ], +}: symlinkJoin { name = "fake-nss"; paths = [ (writeTextDir "etc/passwd" '' root:x:0:0:root user:/var/empty:/bin/sh - ${lib.concatStrings (map (line: line + "\n") extraPasswdLines)}nobody:x:65534:65534:nobody:/var/empty:/bin/sh + ${ + lib.concatStrings (map (line: line + "\n") extraPasswdLines) + }nobody:x:65534:65534:nobody:/var/empty:/bin/sh '') (writeTextDir "etc/group" '' root:x:0: diff --git a/pkgs/by-name/fa/fakechroot/package.nix b/pkgs/by-name/fa/fakechroot/package.nix index 2357d87cc1538..cb24c0c7816fd 100644 --- a/pkgs/by-name/fa/fakechroot/package.nix +++ b/pkgs/by-name/fa/fakechroot/package.nix @@ -1,13 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, nixosTests, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + nixosTests, + perl, +}: stdenv.mkDerivation rec { pname = "fakechroot"; version = "2.20.1"; src = fetchFromGitHub { - owner = "dex4er"; - repo = pname; - rev = version; + owner = "dex4er"; + repo = pname; + rev = version; sha256 = "0xgnwazrmrg4gm30xjxdn6sx3lhqvxahrh6gmy3yfswxc30pmg86"; }; @@ -60,7 +68,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/dex4er/fakechroot"; description = "Give a fake chroot environment through LD_PRELOAD"; license = licenses.lgpl21; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [ offline ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/fa/fakeroot/package.nix b/pkgs/by-name/fa/fakeroot/package.nix index 3e805834bd35a..5ca98bcecec82 100644 --- a/pkgs/by-name/fa/fakeroot/package.nix +++ b/pkgs/by-name/fa/fakeroot/package.nix @@ -1,15 +1,16 @@ -{ lib -, coreutils -, stdenv -, fetchFromGitLab -, fetchpatch -, getopt -, libcap -, gnused -, nixosTests -, testers -, autoreconfHook -, po4a +{ + lib, + coreutils, + stdenv, + fetchFromGitLab, + fetchpatch, + getopt, + libcap, + gnused, + nixosTests, + testers, + autoreconfHook, + po4a, }: stdenv.mkDerivation (finalAttrs: { @@ -36,7 +37,10 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - nativeBuildInputs = [ autoreconfHook po4a ]; + nativeBuildInputs = [ + autoreconfHook + po4a + ]; buildInputs = lib.optional (!stdenv.hostPlatform.isDarwin) libcap; postUnpack = '' diff --git a/pkgs/by-name/fa/fakeroute/package.nix b/pkgs/by-name/fa/fakeroute/package.nix index 797a347bb45f5..491d367733889 100644 --- a/pkgs/by-name/fa/fakeroute/package.nix +++ b/pkgs/by-name/fa/fakeroute/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + nixosTests, +}: stdenv.mkDerivation rec { pname = "fakeroute"; diff --git a/pkgs/by-name/fa/faketty/package.nix b/pkgs/by-name/fa/faketty/package.nix index a1ec209498c0f..c9a816ee7980f 100644 --- a/pkgs/by-name/fa/faketty/package.nix +++ b/pkgs/by-name/fa/faketty/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "faketty"; @@ -19,7 +23,10 @@ rustPlatform.buildRustPackage rec { description = "Wrapper to execute a command in a pty, even if redirecting the output"; homepage = "https://github.com/dtolnay/faketty"; changelog = "https://github.com/dtolnay/faketty/releases/tag/${version}"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "faketty"; }; diff --git a/pkgs/by-name/fa/falcoctl/package.nix b/pkgs/by-name/fa/falcoctl/package.nix index 7a73cc8cea29b..0734f0a91b6b2 100644 --- a/pkgs/by-name/fa/falcoctl/package.nix +++ b/pkgs/by-name/fa/falcoctl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "falcoctl"; @@ -13,7 +17,6 @@ buildGoModule rec { vendorHash = "sha256-26EXoXMWK/zPX4M7kG3QRAb4aqtIWgSnSgXcxKUwfZk="; - ldflags = [ "-s" "-w" @@ -25,6 +28,10 @@ buildGoModule rec { mainProgram = "falcoctl"; homepage = "https://github.com/falcosecurity/falcoctl"; license = licenses.asl20; - maintainers = with maintainers; [ developer-guy kranurag7 LucaGuerra ]; + maintainers = with maintainers; [ + developer-guy + kranurag7 + LucaGuerra + ]; }; } diff --git a/pkgs/by-name/fa/fan2go/package.nix b/pkgs/by-name/fa/fan2go/package.nix index 296bfea580696..4bdb61f9fb8c2 100644 --- a/pkgs/by-name/fa/fan2go/package.nix +++ b/pkgs/by-name/fa/fan2go/package.nix @@ -1,4 +1,9 @@ -{ buildGo123Module, fetchFromGitHub, lib, lm_sensors }: +{ + buildGo123Module, + fetchFromGitHub, + lib, + lm_sensors, +}: buildGo123Module rec { pname = "fan2go"; diff --git a/pkgs/by-name/fa/fanbox-dl/package.nix b/pkgs/by-name/fa/fanbox-dl/package.nix index f4677c9e3800a..f2c942757e4bb 100644 --- a/pkgs/by-name/fa/fanbox-dl/package.nix +++ b/pkgs/by-name/fa/fanbox-dl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "fanbox-dl"; diff --git a/pkgs/by-name/fa/fanctl/package.nix b/pkgs/by-name/fa/fanctl/package.nix index 072ecda1e38fa..e7d622abd8bf2 100644 --- a/pkgs/by-name/fa/fanctl/package.nix +++ b/pkgs/by-name/fa/fanctl/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, rustPlatform }: +{ + lib, + fetchFromGitLab, + rustPlatform, +}: rustPlatform.buildRustPackage rec { version = "0.6.4"; diff --git a/pkgs/by-name/fa/fancy-motd/package.nix b/pkgs/by-name/fa/fancy-motd/package.nix index f05ea8adceb90..4be50c7822515 100644 --- a/pkgs/by-name/fa/fancy-motd/package.nix +++ b/pkgs/by-name/fa/fancy-motd/package.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, bc, curl, figlet, fortune, gawk, iproute2, procps }: +{ + stdenv, + lib, + fetchFromGitHub, + bc, + curl, + figlet, + fortune, + gawk, + iproute2, + procps, +}: stdenv.mkDerivation rec { pname = "fancy-motd"; @@ -11,7 +22,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-O/euB63Dyj+NyfZK42egSEYwZhL8B0jCxSSDYoT4cpo="; }; - buildInputs = [ bc curl figlet fortune gawk iproute2 ]; + buildInputs = [ + bc + curl + figlet + fortune + gawk + iproute2 + ]; postPatch = '' substituteInPlace motd.sh \ diff --git a/pkgs/by-name/fa/fanficfare/package.nix b/pkgs/by-name/fa/fanficfare/package.nix index 9b28551ac0114..dad31cb8506e7 100644 --- a/pkgs/by-name/fa/fanficfare/package.nix +++ b/pkgs/by-name/fa/fanficfare/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "fanficfare"; diff --git a/pkgs/by-name/fa/fangfrisch/package.nix b/pkgs/by-name/fa/fangfrisch/package.nix index 9ee1161338734..8b99fda48ae49 100644 --- a/pkgs/by-name/fa/fangfrisch/package.nix +++ b/pkgs/by-name/fa/fangfrisch/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: let version = "1.9.0"; diff --git a/pkgs/by-name/fa/fantasque-sans-mono/package.nix b/pkgs/by-name/fa/fantasque-sans-mono/package.nix index 9d594a7f7580c..bcde2ee4085b5 100644 --- a/pkgs/by-name/fa/fantasque-sans-mono/package.nix +++ b/pkgs/by-name/fa/fantasque-sans-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "fantasque-sans-mono"; diff --git a/pkgs/by-name/fa/fanwood/package.nix b/pkgs/by-name/fa/fanwood/package.nix index 789aee6922d14..0b0c7274148bf 100644 --- a/pkgs/by-name/fa/fanwood/package.nix +++ b/pkgs/by-name/fa/fanwood/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "fanwood"; diff --git a/pkgs/by-name/fa/faq/package.nix b/pkgs/by-name/fa/faq/package.nix index c955174a4affa..d78758e0777ce 100644 --- a/pkgs/by-name/fa/faq/package.nix +++ b/pkgs/by-name/fa/faq/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, jq -, oniguruma +{ + lib, + buildGoModule, + fetchFromGitHub, + jq, + oniguruma, }: buildGoModule rec { diff --git a/pkgs/by-name/fa/faraday-agent-dispatcher/package.nix b/pkgs/by-name/fa/faraday-agent-dispatcher/package.nix index 6c883e2436984..5b6a3420c2b62 100644 --- a/pkgs/by-name/fa/faraday-agent-dispatcher/package.nix +++ b/pkgs/by-name/fa/faraday-agent-dispatcher/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fa/faraday-cli/package.nix b/pkgs/by-name/fa/faraday-cli/package.nix index 7e6ac5315e7db..814572c2b8e19 100644 --- a/pkgs/by-name/fa/faraday-cli/package.nix +++ b/pkgs/by-name/fa/faraday-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fa/faraday/package.nix b/pkgs/by-name/fa/faraday/package.nix index 14b065329bb1b..3aa54ddbcd2ef 100644 --- a/pkgs/by-name/fa/faraday/package.nix +++ b/pkgs/by-name/fa/faraday/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, testers -, faraday +{ + buildGoModule, + fetchFromGitHub, + lib, + testers, + faraday, }: buildGoModule rec { @@ -18,9 +19,15 @@ buildGoModule rec { vendorHash = "sha256-ku/4VE1Gj62vuJLh9J6vKlxpyI7S0RsMDozV7U5YDe4="; - subPackages = [ "cmd/frcli" "cmd/faraday" ]; + subPackages = [ + "cmd/frcli" + "cmd/faraday" + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = faraday; @@ -30,6 +37,9 @@ buildGoModule rec { description = "LND Channel Management Tools"; homepage = "https://github.com/lightninglabs/faraday"; license = licenses.mit; - maintainers = with maintainers; [ proofofkeags prusnak ]; + maintainers = with maintainers; [ + proofofkeags + prusnak + ]; }; } diff --git a/pkgs/by-name/fa/farbfeld/package.nix b/pkgs/by-name/fa/farbfeld/package.nix index 3e1045ab852bf..d99e3554fe40b 100644 --- a/pkgs/by-name/fa/farbfeld/package.nix +++ b/pkgs/by-name/fa/farbfeld/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, file, libpng, libjpeg }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + file, + libpng, + libjpeg, +}: stdenv.mkDerivation rec { pname = "farbfeld"; @@ -9,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "0ap7rcngffhdd57jw9j22arzkbrhwh0zpxhwbdfwl8fixlhmkpy7"; }; - buildInputs = [ libpng libjpeg ]; + buildInputs = [ + libpng + libjpeg + ]; nativeBuildInputs = [ makeWrapper ]; makeFlags = [ "CC:=$(CC)" ]; diff --git a/pkgs/by-name/fa/farge/package.nix b/pkgs/by-name/fa/farge/package.nix index 64ab2b084e4c1..fbef65d5b0e5a 100644 --- a/pkgs/by-name/fa/farge/package.nix +++ b/pkgs/by-name/fa/farge/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, makeBinaryWrapper -, bc -, libnotify -, feh -, grim -, imagemagick -, slurp -, wl-clipboard -, xcolor +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeBinaryWrapper, + bc, + libnotify, + feh, + grim, + imagemagick, + slurp, + wl-clipboard, + xcolor, -, waylandSupport ? true -, x11Support ? true + waylandSupport ? true, + x11Support ? true, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -29,17 +30,21 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper ]; # Ensure the following programs are found within $PATH - wrapperPath = lib.makeBinPath ([ - bc - feh - libnotify # notify-send - # Needed to fix font rendering issue in imagemagick - (imagemagick.override { ghostscriptSupport = true; }) - ] ++ lib.optionals waylandSupport [ - grim - slurp - wl-clipboard - ] ++ lib.optional x11Support xcolor); + wrapperPath = lib.makeBinPath ( + [ + bc + feh + libnotify # notify-send + # Needed to fix font rendering issue in imagemagick + (imagemagick.override { ghostscriptSupport = true; }) + ] + ++ lib.optionals waylandSupport [ + grim + slurp + wl-clipboard + ] + ++ lib.optional x11Support xcolor + ); installPhase = '' runHook preInstall @@ -54,7 +59,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://github.com/sdushantha/farge"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ jtbx justinlime ]; + maintainers = with maintainers; [ + jtbx + justinlime + ]; mainProgram = "farge"; }; }) diff --git a/pkgs/by-name/fa/fasd/package.nix b/pkgs/by-name/fa/fasd/package.nix index 45ec3d6ddfdd9..02fd107c170b7 100644 --- a/pkgs/by-name/fa/fasd/package.nix +++ b/pkgs/by-name/fa/fasd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub } : +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fasd"; diff --git a/pkgs/by-name/fa/fasmg/package.nix b/pkgs/by-name/fa/fasmg/package.nix index 8f3b51b42d65c..56ba608f391ee 100644 --- a/pkgs/by-name/fa/fasmg/package.nix +++ b/pkgs/by-name/fa/fasmg/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchzip +{ + lib, + stdenv, + fetchzip, -# update script -, writeScript -, coreutils -, curl -, gnugrep -, htmlq -, nix-update + # update script + writeScript, + coreutils, + curl, + gnugrep, + htmlq, + nix-update, }: stdenv.mkDerivation rec { @@ -20,34 +22,41 @@ stdenv.mkDerivation rec { stripRoot = false; }; - buildPhase = let - inherit (stdenv.hostPlatform) system; + buildPhase = + let + inherit (stdenv.hostPlatform) system; - path = { - x86_64-linux = { - bin = "fasmg.x64"; - asm = "source/linux/x64/fasmg.asm"; - }; - x86_64-darwin = { - bin = "source/macos/x64/fasmg"; - asm = "source/macos/x64/fasmg.asm"; - }; - x86-linux = { - bin = "fasmg"; - asm = "source/linux/fasmg.asm"; - }; - x86-darwin = { - bin = "source/macos/fasmg"; - asm = "source/macos/fasmg.asm"; - }; - }.${system} or (throw "Unsupported system: ${system}"); + path = + { + x86_64-linux = { + bin = "fasmg.x64"; + asm = "source/linux/x64/fasmg.asm"; + }; + x86_64-darwin = { + bin = "source/macos/x64/fasmg"; + asm = "source/macos/x64/fasmg.asm"; + }; + x86-linux = { + bin = "fasmg"; + asm = "source/linux/fasmg.asm"; + }; + x86-darwin = { + bin = "source/macos/fasmg"; + asm = "source/macos/fasmg.asm"; + }; + } + .${system} or (throw "Unsupported system: ${system}"); - in '' - chmod +x ${path.bin} - ./${path.bin} ${path.asm} fasmg - ''; + in + '' + chmod +x ${path.bin} + ./${path.bin} ${path.asm} fasmg + ''; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; installPhase = '' install -Dm755 fasmg $out/bin/fasmg @@ -57,7 +66,15 @@ stdenv.mkDerivation rec { ''; passthru.updateScript = writeScript "update-fasmg.sh" '' - export PATH="${lib.makeBinPath [ coreutils curl gnugrep htmlq nix-update ]}:$PATH" + export PATH="${ + lib.makeBinPath [ + coreutils + curl + gnugrep + htmlq + nix-update + ] + }:$PATH" version=$( curl 'https://flatassembler.net/download.php' \ | htmlq .links a.boldlink -a href \ @@ -73,7 +90,10 @@ stdenv.mkDerivation rec { mainProgram = "fasmg"; homepage = "https://flatassembler.net"; license = licenses.bsd3; - maintainers = with maintainers; [ orivej clevor ]; + maintainers = with maintainers; [ + orivej + clevor + ]; platforms = with platforms; intersectLists (linux ++ darwin) x86; }; } diff --git a/pkgs/by-name/fa/fasole/package.nix b/pkgs/by-name/fa/fasole/package.nix index 81df4e88d424a..48c59b4c667fa 100644 --- a/pkgs/by-name/fa/fasole/package.nix +++ b/pkgs/by-name/fa/fasole/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "fasole"; diff --git a/pkgs/by-name/fa/fast-cpp-csv-parser/package.nix b/pkgs/by-name/fa/fast-cpp-csv-parser/package.nix index a30aacee26e5d..13a2e2dbc5a3d 100644 --- a/pkgs/by-name/fa/fast-cpp-csv-parser/package.nix +++ b/pkgs/by-name/fa/fast-cpp-csv-parser/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fast-cpp-csv-parser"; diff --git a/pkgs/by-name/fa/fast-downward/package.nix b/pkgs/by-name/fa/fast-downward/package.nix index 790f619c6faf3..e74ef6423e869 100644 --- a/pkgs/by-name/fa/fast-downward/package.nix +++ b/pkgs/by-name/fa/fast-downward/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, python3 -, osi -, cplex +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + python3, + osi, + cplex, }: stdenv.mkDerivation rec { @@ -18,8 +19,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-iIBoJZCFd05bKUeftvl2YBTmSQuFvATIQAYMITDywWA="; }; - nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; - buildInputs = [ python3 osi ]; + nativeBuildInputs = [ + cmake + python3.pkgs.wrapPython + ]; + buildInputs = [ + python3 + osi + ]; cmakeFlags = lib.optionals osi.withCplex [ "-DDOWNWARD_CPLEX_ROOT=${cplex}/cplex" ]; diff --git a/pkgs/by-name/fa/fastJson/package.nix b/pkgs/by-name/fa/fastJson/package.nix index 1e8791f10419b..131baa6fe346f 100644 --- a/pkgs/by-name/fa/fastJson/package.nix +++ b/pkgs/by-name/fa/fastJson/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fa/fastcap/package.nix b/pkgs/by-name/fa/fastcap/package.nix index f809b1094ff42..2dda691dbeba4 100644 --- a/pkgs/by-name/fa/fastcap/package.nix +++ b/pkgs/by-name/fa/fastcap/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchzip -, ghostscript -, lib -, texliveMedium +{ + stdenv, + fetchzip, + ghostscript, + lib, + texliveMedium, }: stdenv.mkDerivation rec { @@ -53,7 +54,10 @@ stdenv.mkDerivation rec { "all" ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; postBuild = '' make manual @@ -84,7 +88,7 @@ stdenv.mkDerivation rec { Fastcap is a three dimensional capacitance extraction program that compute self and mutual capacitances between conductors of arbitrary shapes, sizes and orientations. - ''; + ''; homepage = "https://www.rle.mit.edu/cpg/research_codes.htm"; license = licenses.mit; maintainers = with maintainers; [ fbeffa ]; diff --git a/pkgs/by-name/fa/fastcdr/package.nix b/pkgs/by-name/fa/fastcdr/package.nix index 3e8678a8a76c3..559f6fdcff257 100644 --- a/pkgs/by-name/fa/fastcdr/package.nix +++ b/pkgs/by-name/fa/fastcdr/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, gtest -, withDocs ? true -, doxygen -, graphviz-nox +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gtest, + withDocs ? true, + doxygen, + graphviz-nox, }: stdenv.mkDerivation (finalAttrs: { @@ -23,19 +24,22 @@ stdenv.mkDerivation (finalAttrs: { ./0001-Do-not-require-wget-and-unzip.patch ]; - cmakeFlags = lib.optional (stdenv.hostPlatform.isStatic) "-DBUILD_SHARED_LIBS=OFF" - # upstream turns BUILD_TESTING=OFF by default and doesn't honor cmake's default (=ON) - ++ lib.optional (finalAttrs.finalPackage.doCheck) "-DBUILD_TESTING=ON" - ++ lib.optional withDocs "-DBUILD_DOCUMENTATION=ON"; + cmakeFlags = + lib.optional (stdenv.hostPlatform.isStatic) "-DBUILD_SHARED_LIBS=OFF" + # upstream turns BUILD_TESTING=OFF by default and doesn't honor cmake's default (=ON) + ++ lib.optional (finalAttrs.finalPackage.doCheck) "-DBUILD_TESTING=ON" + ++ lib.optional withDocs "-DBUILD_DOCUMENTATION=ON"; outputs = [ "out" ] ++ lib.optional withDocs "doc"; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals withDocs [ - doxygen - graphviz-nox - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals withDocs [ + doxygen + graphviz-nox + ]; doCheck = true; diff --git a/pkgs/by-name/fa/fastd/package.nix b/pkgs/by-name/fa/fastd/package.nix index cafcf4bdaf506..d49bdb7e5da38 100644 --- a/pkgs/by-name/fa/fastd/package.nix +++ b/pkgs/by-name/fa/fastd/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, bison -, meson -, ninja -, pkg-config -, libmnl -, libuecc -, libsodium -, libcap -, json_c -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + bison, + meson, + ninja, + pkg-config, + libmnl, + libuecc, + libsodium, + libcap, + json_c, + openssl, }: stdenv.mkDerivation rec { @@ -18,7 +19,7 @@ stdenv.mkDerivation rec { version = "22"; src = fetchFromGitHub { - owner = "Neoraider"; + owner = "Neoraider"; repo = "fastd"; rev = "v${version}"; sha256 = "0qni32j7d3za9f87m68wq8zgalvfxdrx1zxi6l4x7vvmpcw5nhpq"; @@ -31,15 +32,17 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - json_c - libcap - libsodium - libuecc - openssl - ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ - libmnl - ]; + buildInputs = + [ + json_c + libcap + libsodium + libuecc + openssl + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + libmnl + ]; # some options are only available on x86 mesonFlags = lib.optionals (!stdenv.hostPlatform.isx86) [ @@ -51,7 +54,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fast and Secure Tunneling Daemon"; homepage = "https://projects.universe-factory.net/projects/fastd/wiki"; - license = with licenses; [ bsd2 bsd3 ]; + license = with licenses; [ + bsd2 + bsd3 + ]; platforms = platforms.linux; maintainers = with maintainers; [ fpletz ]; mainProgram = "fastd"; diff --git a/pkgs/by-name/fa/fastddsgen/package.nix b/pkgs/by-name/fa/fastddsgen/package.nix index dbabe8cb40fad..28bc6633f6027 100644 --- a/pkgs/by-name/fa/fastddsgen/package.nix +++ b/pkgs/by-name/fa/fastddsgen/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, makeWrapper -, fetchFromGitHub -, gradle_7 -, openjdk17 +{ + lib, + stdenv, + makeWrapper, + fetchFromGitHub, + gradle_7, + openjdk17, }: let @@ -37,7 +38,10 @@ stdenv.mkDerivation { __darwinAllowLocalNetworking = true; - gradleFlags = [ "-x" "submodulesUpdate" ]; + gradleFlags = [ + "-x" + "submodulesUpdate" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/fa/fastgron/package.nix b/pkgs/by-name/fa/fastgron/package.nix index 5b5796cc7014c..59a994953d0fb 100644 --- a/pkgs/by-name/fa/fastgron/package.nix +++ b/pkgs/by-name/fa/fastgron/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, curl, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + curl, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "fastgron"; diff --git a/pkgs/by-name/fa/fasthenry/package.nix b/pkgs/by-name/fa/fasthenry/package.nix index 963828e18edc4..a48cc020e71ac 100644 --- a/pkgs/by-name/fa/fasthenry/package.nix +++ b/pkgs/by-name/fa/fasthenry/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchFromGitHub -, lib +{ + stdenv, + fetchFromGitHub, + lib, }: stdenv.mkDerivation rec { @@ -22,22 +23,29 @@ stdenv.mkDerivation rec { dontConfigure = true; - preBuild = '' - makeFlagsArray=( - CC="gcc" - RM="rm" - SHELL="sh" - "all" - ) - '' + (if stdenv.hostPlatform.isx86_64 then '' - makeFlagsArray+=( - CFLAGS="-fcommon -O -DFOUR -m64" + preBuild = + '' + makeFlagsArray=( + CC="gcc" + RM="rm" + SHELL="sh" + "all" + ) + '' + + ( + if stdenv.hostPlatform.isx86_64 then + '' + makeFlagsArray+=( + CFLAGS="-fcommon -O -DFOUR -m64" + ); + '' + else + '' + makeFlagsArray+=( + CFLAGS="-fcommon -O -DFOUR" + ); + '' ); - '' else '' - makeFlagsArray+=( - CFLAGS="-fcommon -O -DFOUR" - ); - ''); installPhase = '' mkdir -p $out/bin @@ -51,8 +59,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Multipole-accelerated inductance analysis program"; longDescription = '' - Fasthenry is an inductance extraction program based on a - multipole-accelerated algorithm.''; + Fasthenry is an inductance extraction program based on a + multipole-accelerated algorithm.''; homepage = "https://www.fastfieldsolvers.com/fasthenry2.htm"; license = licenses.lgpl2Only; maintainers = with maintainers; [ fbeffa ]; diff --git a/pkgs/by-name/fa/fastjet-contrib/package.nix b/pkgs/by-name/fa/fastjet-contrib/package.nix index e4cf47683ec84..4bb49c711d584 100644 --- a/pkgs/by-name/fa/fastjet-contrib/package.nix +++ b/pkgs/by-name/fa/fastjet-contrib/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fastjet }: +{ + lib, + stdenv, + fetchurl, + fastjet, +}: stdenv.mkDerivation rec { pname = "fastjet-contrib"; diff --git a/pkgs/by-name/fa/fastjet/package.nix b/pkgs/by-name/fa/fastjet/package.nix index 19c48c1fa1178..cdb7394c9688f 100644 --- a/pkgs/by-name/fa/fastjet/package.nix +++ b/pkgs/by-name/fa/fastjet/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, python ? null -, withPython ? false +{ + lib, + stdenv, + fetchurl, + python ? null, + withPython ? false, }: stdenv.mkDerivation rec { @@ -25,9 +26,9 @@ stdenv.mkDerivation rec { meta = { description = "Software package for jet finding in pp and e+e− collisions"; mainProgram = "fastjet-config"; - license = lib.licenses.gpl2Plus; - homepage = "http://fastjet.fr/"; - platforms = lib.platforms.unix; + license = lib.licenses.gpl2Plus; + homepage = "http://fastjet.fr/"; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/fa/fastnetmon-advanced/package.nix b/pkgs/by-name/fa/fastnetmon-advanced/package.nix index a20a14bed3b5b..6d131ee3ce5b1 100644 --- a/pkgs/by-name/fa/fastnetmon-advanced/package.nix +++ b/pkgs/by-name/fa/fastnetmon-advanced/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, bzip2 -, nixosTests +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + bzip2, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fa/fastnlo-toolkit/package.nix b/pkgs/by-name/fa/fastnlo-toolkit/package.nix index 3b1a011e10ff5..d43cc2698c1bb 100644 --- a/pkgs/by-name/fa/fastnlo-toolkit/package.nix +++ b/pkgs/by-name/fa/fastnlo-toolkit/package.nix @@ -35,13 +35,16 @@ stdenv.mkDerivation rec { ./yoda2_support.patch ]; - buildInputs = [ - boost - gfortran - gfortran.cc.lib - lhapdf - yoda - ] ++ lib.optional withPython python ++ lib.optional (withPython && python.isPy3k) ncurses; + buildInputs = + [ + boost + gfortran + gfortran.cc.lib + lhapdf + yoda + ] + ++ lib.optional withPython python + ++ lib.optional (withPython && python.isPy3k) ncurses; propagatedBuildInputs = [ diff --git a/pkgs/by-name/fa/fastp/package.nix b/pkgs/by-name/fa/fastp/package.nix index 91f6c9d22047f..89ae4a59486d2 100644 --- a/pkgs/by-name/fa/fastp/package.nix +++ b/pkgs/by-name/fa/fastp/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib -, libdeflate -, isa-l +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + libdeflate, + isa-l, }: stdenv.mkDerivation rec { @@ -17,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-Jl2Os/6yLWXTDv6irInYlUHpz6QTw8CEMVGFXblAay0="; }; - buildInputs = [ zlib libdeflate isa-l ]; + buildInputs = [ + zlib + libdeflate + isa-l + ]; installPhase = '' install -D fastp $out/bin/fastp diff --git a/pkgs/by-name/fa/fastpbkdf2/package.nix b/pkgs/by-name/fa/fastpbkdf2/package.nix index 226d4d1a9e11a..7ce1605a5f1bb 100644 --- a/pkgs/by-name/fa/fastpbkdf2/package.nix +++ b/pkgs/by-name/fa/fastpbkdf2/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation rec { pname = "fastpbkdf2"; diff --git a/pkgs/by-name/fa/fastqc/package.nix b/pkgs/by-name/fa/fastqc/package.nix index 9c63a98e77113..13c76f5b3bfef 100644 --- a/pkgs/by-name/fa/fastqc/package.nix +++ b/pkgs/by-name/fa/fastqc/package.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, stdenv, fetchzip, jre, @@ -8,7 +9,7 @@ makeDesktopItem, copyDesktopItems, desktopToDarwinBundle, - testers + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -22,19 +23,28 @@ stdenv.mkDerivation (finalAttrs: { dontBuild = true; - nativeBuildInputs = [ makeWrapper imagemagick ] - ++ lib.optional stdenv.hostPlatform.isLinux copyDesktopItems # postInstallHook - ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; #fixupOutputHook - buildInputs = [ jre perl]; + nativeBuildInputs = + [ + makeWrapper + imagemagick + ] + ++ lib.optional stdenv.hostPlatform.isLinux copyDesktopItems # postInstallHook + ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; # fixupOutputHook + buildInputs = [ + jre + perl + ]; - desktopItem = (makeDesktopItem { - name = "FastQC"; - exec = "fastqc"; - icon = "fastqc"; - desktopName = "FastQC"; - comment = finalAttrs.meta.description; - categories = [ "Science" ]; - }); + desktopItem = ( + makeDesktopItem { + name = "FastQC"; + exec = "fastqc"; + icon = "fastqc"; + desktopName = "FastQC"; + comment = finalAttrs.meta.description; + categories = [ "Science" ]; + } + ); desktopItems = [ finalAttrs.desktopItem ]; installPhase = '' @@ -63,19 +73,22 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "A quality control application for high throughput sequence data"; longDescription = '' - FastQC aims to provide a simple way to do some quality control checks on raw sequence data coming from high throughput sequencing pipelines. It provides a modular set of analyses which you can use to give a quick impression of whether your data has any problems of which you should be aware before doing any further analysis. + FastQC aims to provide a simple way to do some quality control checks on raw sequence data coming from high throughput sequencing pipelines. It provides a modular set of analyses which you can use to give a quick impression of whether your data has any problems of which you should be aware before doing any further analysis. - The main functions of FastQC are + The main functions of FastQC are - - Import of data from BAM, SAM or FastQ files (any variant) - - Providing a quick overview to tell you in which areas there may be problems - - Summary graphs and tables to quickly assess your data - - Export of results to an HTML based permanent report - - Offline operation to allow automated generation of reports without running the interactive application + - Import of data from BAM, SAM or FastQ files (any variant) + - Providing a quick overview to tell you in which areas there may be problems + - Summary graphs and tables to quickly assess your data + - Export of results to an HTML based permanent report + - Offline operation to allow automated generation of reports without running the interactive application ''; homepage = "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/"; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; - license = with lib.licenses; [ gpl3Plus asl20 ]; + license = with lib.licenses; [ + gpl3Plus + asl20 + ]; maintainers = [ lib.maintainers.dflores ]; mainProgram = "fastqc"; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/fa/fasttext/package.nix b/pkgs/by-name/fa/fasttext/package.nix index b0a36bedc536e..1d102d9065e06 100644 --- a/pkgs/by-name/fa/fasttext/package.nix +++ b/pkgs/by-name/fa/fasttext/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, cmake}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "fasttext"; diff --git a/pkgs/by-name/fa/fatcat/package.nix b/pkgs/by-name/fa/fatcat/package.nix index fe333dc9e10dc..aa75ed92f1c5c 100644 --- a/pkgs/by-name/fa/fatcat/package.nix +++ b/pkgs/by-name/fa/fatcat/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fa/fatrace/package.nix b/pkgs/by-name/fa/fatrace/package.nix index 487ad533668fa..0b56836230e74 100644 --- a/pkgs/by-name/fa/fatrace/package.nix +++ b/pkgs/by-name/fa/fatrace/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, python3 -, which +{ + lib, + stdenv, + fetchFromGitHub, + python3, + which, }: stdenv.mkDerivation rec { @@ -15,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-MRHM+hyuRevK4L3u6dGw1S3O7w+BJBsprJVcSz6Q9xg="; }; - buildInputs = [ python3 which ]; + buildInputs = [ + python3 + which + ]; postPatch = '' substituteInPlace power-usage-report \ diff --git a/pkgs/by-name/fa/fatresize/package.nix b/pkgs/by-name/fa/fatresize/package.nix index cd4cc131eeb86..e6ac6c06236e4 100644 --- a/pkgs/by-name/fa/fatresize/package.nix +++ b/pkgs/by-name/fa/fatresize/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, parted, util-linux, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + parted, + util-linux, + pkg-config, +}: stdenv.mkDerivation rec { @@ -12,10 +19,16 @@ stdenv.mkDerivation rec { sha256 = "1vhz84kxfyl0q7mkqn68nvzzly0a4xgzv76m6db0bk7xyczv1qr2"; }; - buildInputs = [ parted util-linux ]; + buildInputs = [ + parted + util-linux + ]; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ parted util-linux ]; + propagatedBuildInputs = [ + parted + util-linux + ]; meta = with lib; { description = "FAT16/FAT32 non-destructive resizer"; diff --git a/pkgs/by-name/fa/fatsort/package.nix b/pkgs/by-name/fa/fatsort/package.nix index d1604e49a32e0..4ddefc9a9ebcc 100644 --- a/pkgs/by-name/fa/fatsort/package.nix +++ b/pkgs/by-name/fa/fatsort/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, help2man -, libiconv +{ + lib, + stdenv, + fetchurl, + help2man, + libiconv, }: stdenv.mkDerivation rec { @@ -14,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-Yw7OVtnrOlVSSvCuw6reeFQ2DrqUkXKmz7R2jLj75C4="; }; - buildInputs = [ help2man libiconv ]; + buildInputs = [ + help2man + libiconv + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/fa/faudio/package.nix b/pkgs/by-name/fa/faudio/package.nix index ab6d96e3327b5..8e827d30f4673 100644 --- a/pkgs/by-name/fa/faudio/package.nix +++ b/pkgs/by-name/fa/faudio/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, SDL2}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, +}: #TODO: tests @@ -13,7 +19,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-hzU4MabTzpbyMMoUQ3tSwjulm6jJSxQUvVXOY3Y84yI="; }; - nativeBuildInputs = [cmake]; + nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 ]; diff --git a/pkgs/by-name/fa/faustPhysicalModeling/package.nix b/pkgs/by-name/fa/faustPhysicalModeling/package.nix index 1b7372d5d904c..09ce68b451c93 100644 --- a/pkgs/by-name/fa/faustPhysicalModeling/package.nix +++ b/pkgs/by-name/fa/faustPhysicalModeling/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + stdenv, + lib, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "faustPhysicalModeling"; version = "2.75.7"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-j5Qg/H7aMBZ6A8gh6v6+ICxmCZ7ya2tVF2FjueVtvHo="; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/by-name/fb/fbcat/package.nix b/pkgs/by-name/fb/fbcat/package.nix index d90ec77b6d5e4..fa2ff57dd20da 100644 --- a/pkgs/by-name/fb/fbcat/package.nix +++ b/pkgs/by-name/fb/fbcat/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, netpbm +{ + lib, + stdenv, + fetchFromGitHub, + netpbm, }: stdenv.mkDerivation rec { @@ -33,4 +34,3 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/fb/fbida/package.nix b/pkgs/by-name/fb/fbida/package.nix index 79e66d8ed9880..e5a142d9130b2 100644 --- a/pkgs/by-name/fb/fbida/package.nix +++ b/pkgs/by-name/fb/fbida/package.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchurl -, libGL -, libjpeg -, libexif -, giflib -, libtiff -, libpng -, libwebp -, libdrm -, pkg-config -, freetype -, fontconfig -, which -, imagemagick -, curl -, sane-backends -, libXpm -, libepoxy -, pixman -, poppler -, mesa -, lirc +{ + lib, + stdenv, + fetchurl, + libGL, + libjpeg, + libexif, + giflib, + libtiff, + libpng, + libwebp, + libdrm, + pkg-config, + freetype, + fontconfig, + which, + imagemagick, + curl, + sane-backends, + libXpm, + libepoxy, + pixman, + poppler, + mesa, + lirc, }: stdenv.mkDerivation rec { @@ -42,7 +43,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config which ]; + nativeBuildInputs = [ + pkg-config + which + ]; buildInputs = [ libGL libexif @@ -65,7 +69,12 @@ stdenv.mkDerivation rec { mesa ]; - makeFlags = [ "prefix=$(out)" "verbose=yes" "STRIP=" "JPEG_VER=62" ]; + makeFlags = [ + "prefix=$(out)" + "verbose=yes" + "STRIP=" + "JPEG_VER=62" + ]; postPatch = '' sed -e 's@ cpp\>@ gcc -E -@' -i GNUmakefile diff --git a/pkgs/by-name/fb/fbjni/package.nix b/pkgs/by-name/fb/fbjni/package.nix index aaab456ab6a58..ed6f63016de1c 100644 --- a/pkgs/by-name/fb/fbjni/package.nix +++ b/pkgs/by-name/fb/fbjni/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fetchpatch -, jdk_headless -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fetchpatch, + jdk_headless, + gtest, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fb/fblog/package.nix b/pkgs/by-name/fb/fblog/package.nix index 17e27488d0e6c..b7210b0d33dc3 100644 --- a/pkgs/by-name/fb/fblog/package.nix +++ b/pkgs/by-name/fb/fblog/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "fblog"; diff --git a/pkgs/by-name/fb/fbmark/package.nix b/pkgs/by-name/fb/fbmark/package.nix index fe8bca0e22409..69c1d2b4cc81a 100644 --- a/pkgs/by-name/fb/fbmark/package.nix +++ b/pkgs/by-name/fb/fbmark/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fbmark"; diff --git a/pkgs/by-name/fb/fbmenugen/package.nix b/pkgs/by-name/fb/fbmenugen/package.nix index 56a3ce5f28dd1..1b6d303f07dd7 100644 --- a/pkgs/by-name/fb/fbmenugen/package.nix +++ b/pkgs/by-name/fb/fbmenugen/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, fluxbox -, gnused -, makeWrapper -, perlPackages -, substituteAll -, xorg -, wrapGAppsHook3 -, gitUpdater +{ + lib, + fetchFromGitHub, + fluxbox, + gnused, + makeWrapper, + perlPackages, + substituteAll, + xorg, + wrapGAppsHook3, + gitUpdater, }: perlPackages.buildPerlPackage rec { diff --git a/pkgs/by-name/fb/fbpanel/package.nix b/pkgs/by-name/fb/fbpanel/package.nix index 69391589f8c5c..eb9f16a0d87e6 100644 --- a/pkgs/by-name/fb/fbpanel/package.nix +++ b/pkgs/by-name/fb/fbpanel/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libX11 -, libXmu -, libXpm -, gtk2 -, libpng -, libjpeg -, libtiff -, librsvg -, gdk-pixbuf -, gdk-pixbuf-xlib -, pypy2 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libX11, + libXmu, + libXpm, + gtk2, + libpng, + libjpeg, + libtiff, + librsvg, + gdk-pixbuf, + gdk-pixbuf-xlib, + pypy2, }: stdenv.mkDerivation rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { rev = "478754b687e2b48b111507ea22e8e2a001be5199"; hash = "sha256-+KcVcrh1aV6kjLGyiDnRHXSzJfelXWrhJS0DitG4yPA="; }; - nativeBuildInputs = [ pkg-config pypy2 ]; + nativeBuildInputs = [ + pkg-config + pypy2 + ]; buildInputs = [ libX11 libXmu @@ -44,8 +48,11 @@ stdenv.mkDerivation rec { sed -i 's/struct\ \_plugin_instance \*stam\;//' panel/plugin.h ''; - makeFlags = ["V=1"]; - NIX_CFLAGS_COMPILE = ["-Wno-error" "-I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"]; + makeFlags = [ "V=1" ]; + NIX_CFLAGS_COMPILE = [ + "-Wno-error" + "-I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0" + ]; meta = with lib; { description = "Stand-alone panel"; diff --git a/pkgs/by-name/fb/fbset/package.nix b/pkgs/by-name/fb/fbset/package.nix index 7c05e4741d81a..c081c56f3a3bd 100644 --- a/pkgs/by-name/fb/fbset/package.nix +++ b/pkgs/by-name/fb/fbset/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, unstableGitUpdater -, bison -, flex +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + bison, + flex, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fb/fbterm/package.nix b/pkgs/by-name/fb/fbterm/package.nix index f472ce23aa2f7..e8ce6e4243a61 100644 --- a/pkgs/by-name/fb/fbterm/package.nix +++ b/pkgs/by-name/fb/fbterm/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, autoreconfHook -, fetchFromGitLab -, fetchpatch -, fetchurl -, fontconfig -, freetype -, gpm -, lib -, ncurses -, pkg-config +{ + stdenv, + autoreconfHook, + fetchFromGitLab, + fetchpatch, + fetchurl, + fontconfig, + freetype, + gpm, + lib, + ncurses, + pkg-config, }: stdenv.mkDerivation rec { @@ -52,19 +53,19 @@ stdenv.mkDerivation rec { ''; postInstall = - let - fbtermrc = fetchurl { - url = "https://aur.archlinux.org/cgit/aur.git/plain/fbtermrc?h=fbterm"; - hash = "sha256-zNIfi2ZjEGc5PLdOIirKGTXESb5Wm5XBAI1sfHa31LY="; - }; - in - '' - mkdir -p "$out/share/terminfo" - tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm + let + fbtermrc = fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fbtermrc?h=fbterm"; + hash = "sha256-zNIfi2ZjEGc5PLdOIirKGTXESb5Wm5XBAI1sfHa31LY="; + }; + in + '' + mkdir -p "$out/share/terminfo" + tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm - mkdir -p "$out/etc/fbterm" - cp "${fbtermrc}" "$out/etc/fbterm" - ''; + mkdir -p "$out/etc/fbterm" + cp "${fbtermrc}" "$out/etc/fbterm" + ''; # Patches from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fbterm patches = [ @@ -98,7 +99,10 @@ stdenv.mkDerivation rec { description = "Framebuffer terminal emulator"; mainProgram = "fbterm"; homepage = "https://salsa.debian.org/debian/fbterm"; - maintainers = with maintainers; [ lovesegfault raskin ]; + maintainers = with maintainers; [ + lovesegfault + raskin + ]; license = licenses.gpl2Plus; platforms = platforms.linux; }; diff --git a/pkgs/by-name/fb/fbv/package.nix b/pkgs/by-name/fb/fbv/package.nix index 659a661fded8a..16b813a2c1de5 100644 --- a/pkgs/by-name/fb/fbv/package.nix +++ b/pkgs/by-name/fb/fbv/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, getopt, libjpeg, libpng12, giflib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + getopt, + libjpeg, + libpng12, + giflib, +}: stdenv.mkDerivation rec { pname = "fbv"; @@ -18,7 +27,12 @@ stdenv.mkDerivation rec { patchFlags = [ "-p0" ]; - buildInputs = [ getopt libjpeg libpng12 giflib ]; + buildInputs = [ + getopt + libjpeg + libpng12 + giflib + ]; makeFlags = [ "LDFLAGS=-lgif" ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/fb/fbvnc/package.nix b/pkgs/by-name/fb/fbvnc/package.nix index 0157f391d66bb..74934166b9d93 100644 --- a/pkgs/by-name/fb/fbvnc/package.nix +++ b/pkgs/by-name/fb/fbvnc/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fc/fcast-receiver/package.nix b/pkgs/by-name/fc/fcast-receiver/package.nix index 9aa649d34f8ca..ae1a093fe2143 100644 --- a/pkgs/by-name/fc/fcast-receiver/package.nix +++ b/pkgs/by-name/fc/fcast-receiver/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildNpmPackage -, fetchFromGitLab -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, electron +{ + lib, + buildNpmPackage, + fetchFromGitLab, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + electron, }: buildNpmPackage rec { diff --git a/pkgs/by-name/fc/fcft/package.nix b/pkgs/by-name/fc/fcft/package.nix index 2a36329b386fa..5809b417aa226 100644 --- a/pkgs/by-name/fc/fcft/package.nix +++ b/pkgs/by-name/fc/fcft/package.nix @@ -1,10 +1,27 @@ -{ stdenv, lib, fetchFromGitea, fetchpatch, pkg-config, meson, ninja, scdoc -, freetype, fontconfig, nanosvg, pixman, tllist, check -# Text shaping methods to enable, empty list disables all text shaping. -# See `availableShapingTypes` or upstream meson_options.txt for available types. -, withShapingTypes ? [ "grapheme" "run" ] -, harfbuzz, utf8proc -, fcft # for passthru.tests +{ + stdenv, + lib, + fetchFromGitea, + fetchpatch, + pkg-config, + meson, + ninja, + scdoc, + freetype, + fontconfig, + nanosvg, + pixman, + tllist, + check, + # Text shaping methods to enable, empty list disables all text shaping. + # See `availableShapingTypes` or upstream meson_options.txt for available types. + withShapingTypes ? [ + "grapheme" + "run" + ], + harfbuzz, + utf8proc, + fcft, # for passthru.tests }: let @@ -28,25 +45,43 @@ stdenv.mkDerivation rec { }; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config meson ninja scdoc ]; - buildInputs = [ freetype fontconfig nanosvg pixman tllist ] - ++ lib.optionals (withShapingTypes != []) [ harfbuzz ] + nativeBuildInputs = [ + pkg-config + meson + ninja + scdoc + ]; + buildInputs = + [ + freetype + fontconfig + nanosvg + pixman + tllist + ] + ++ lib.optionals (withShapingTypes != [ ]) [ harfbuzz ] ++ lib.optionals (builtins.elem "run" withShapingTypes) [ utf8proc ]; nativeCheckInputs = [ check ]; mesonBuildType = "release"; - mesonFlags = [ - (lib.mesonEnable "system-nanosvg" true) - ] ++ builtins.map (t: - lib.mesonEnable "${t}-shaping" (lib.elem t withShapingTypes) - ) availableShapingTypes; + mesonFlags = + [ + (lib.mesonEnable "system-nanosvg" true) + ] + ++ builtins.map ( + t: lib.mesonEnable "${t}-shaping" (lib.elem t withShapingTypes) + ) availableShapingTypes; doCheck = true; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; passthru.tests = { - noShaping = fcft.override { withShapingTypes = []; }; + noShaping = fcft.override { withShapingTypes = [ ]; }; onlyGraphemeShaping = fcft.override { withShapingTypes = [ "grapheme" ]; }; }; @@ -58,7 +93,10 @@ stdenv.mkDerivation rec { fionera sternenseemann ]; - license = with licenses; [ mit zlib ]; + license = with licenses; [ + mit + zlib + ]; platforms = with platforms; linux; }; } diff --git a/pkgs/by-name/fc/fcgi/package.nix b/pkgs/by-name/fc/fcgi/package.nix index 62c463b2d2f54..95ab22961ce47 100644 --- a/pkgs/by-name/fc/fcgi/package.nix +++ b/pkgs/by-name/fc/fcgi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "fcgi"; diff --git a/pkgs/by-name/fc/fcgiwrap/package.nix b/pkgs/by-name/fc/fcgiwrap/package.nix index 4271ed91ecd07..a40a60ca47235 100644 --- a/pkgs/by-name/fc/fcgiwrap/package.nix +++ b/pkgs/by-name/fc/fcgiwrap/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, systemd, fcgi, autoreconfHook, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + systemd, + fcgi, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "fcgiwrap"; @@ -12,10 +20,19 @@ stdenv.mkDerivation rec { }; env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-fallthrough"; - configureFlags = [ "--with-systemd" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; + configureFlags = [ + "--with-systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ systemd fcgi ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + systemd + fcgi + ]; # systemd 230 no longer has libsystemd-daemon as a separate entity from libsystemd postPatch = '' diff --git a/pkgs/by-name/fc/fcitx5-material-color/package.nix b/pkgs/by-name/fc/fcitx5-material-color/package.nix index 0385c33e7045d..8b5147df9b828 100644 --- a/pkgs/by-name/fc/fcitx5-material-color/package.nix +++ b/pkgs/by-name/fc/fcitx5-material-color/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib +{ + stdenvNoCC, + fetchFromGitHub, + lib, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -35,7 +36,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Fcitx5 themes based on Material color"; homepage = "https://github.com/hosxy/Fcitx5-Material-Color"; license = licenses.asl20; - maintainers = with maintainers; [ Cryolitia h7x4 ]; + maintainers = with maintainers; [ + Cryolitia + h7x4 + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/fc/fcitx5-nord/package.nix b/pkgs/by-name/fc/fcitx5-nord/package.nix index 6ab7fc15f0a20..cec74a607153c 100644 --- a/pkgs/by-name/fc/fcitx5-nord/package.nix +++ b/pkgs/by-name/fc/fcitx5-nord/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib +{ + stdenvNoCC, + fetchFromGitHub, + lib, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/fc/fcitx5-pinyin-minecraft/package.nix b/pkgs/by-name/fc/fcitx5-pinyin-minecraft/package.nix index dba53dbe887fc..3abca1915695c 100644 --- a/pkgs/by-name/fc/fcitx5-pinyin-minecraft/package.nix +++ b/pkgs/by-name/fc/fcitx5-pinyin-minecraft/package.nix @@ -28,7 +28,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { description = "Fcitx 5 pinyin dictionary from zh.minecraft.wiki"; homepage = "https://github.com/oldherl/fcitx5-pinyin-minecraft"; - license = with lib.licenses; [ unlicense cc-by-nc-sa-30 ]; + license = with lib.licenses; [ + unlicense + cc-by-nc-sa-30 + ]; maintainers = with lib.maintainers; [ Guanran928 ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix b/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix index fe6b89e33dc10..0371e22fe9427 100644 --- a/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix +++ b/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix @@ -28,7 +28,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { description = "Fcitx 5 pinyin dictionary from zh.moegirl.org.cn"; homepage = "https://github.com/outloudvi/mw2fcitx"; - license = with lib.licenses; [ unlicense cc-by-nc-sa-30 ]; + license = with lib.licenses; [ + unlicense + cc-by-nc-sa-30 + ]; maintainers = with lib.maintainers; [ Guanran928 ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/fc/fcitx5-pinyin-zhwiki/package.nix b/pkgs/by-name/fc/fcitx5-pinyin-zhwiki/package.nix index 347d70e480f59..7c82ebddaa9dd 100644 --- a/pkgs/by-name/fc/fcitx5-pinyin-zhwiki/package.nix +++ b/pkgs/by-name/fc/fcitx5-pinyin-zhwiki/package.nix @@ -26,7 +26,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { description = "Fcitx 5 pinyin dictionary from zh.wikipedia.org"; homepage = "https://github.com/felixonmars/fcitx5-pinyin-zhwiki"; - license = with lib.licenses; [ unlicense cc-by-sa-40 ]; + license = with lib.licenses; [ + unlicense + cc-by-sa-40 + ]; maintainers = with lib.maintainers; [ Guanran928 ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/fc/fcitx5-rose-pine/package.nix b/pkgs/by-name/fc/fcitx5-rose-pine/package.nix index b1f11a1784a98..eede613baa7ba 100644 --- a/pkgs/by-name/fc/fcitx5-rose-pine/package.nix +++ b/pkgs/by-name/fc/fcitx5-rose-pine/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib +{ + stdenvNoCC, + fetchFromGitHub, + lib, }: stdenvNoCC.mkDerivation { @@ -23,7 +24,6 @@ stdenvNoCC.mkDerivation { runHook postInstall ''; - meta = { description = "Fcitx5 themes based on Rosé Pine"; homepage = "https://github.com/rose-pine/fcitx5"; diff --git a/pkgs/by-name/fc/fcl/package.nix b/pkgs/by-name/fc/fcl/package.nix index 0c6790db9f702..6568e355dd261 100644 --- a/pkgs/by-name/fc/fcl/package.nix +++ b/pkgs/by-name/fc/fcl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, eigen, libccd, octomap }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, + libccd, + octomap, +}: stdenv.mkDerivation rec { pname = "fcl"; @@ -12,9 +20,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ eigen libccd octomap ]; + propagatedBuildInputs = [ + eigen + libccd + octomap + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Flexible Collision Library"; diff --git a/pkgs/by-name/fc/fcppt/package.nix b/pkgs/by-name/fc/fcppt/package.nix index 1a82a9289a616..ac0fd75829009 100644 --- a/pkgs/by-name/fc/fcppt/package.nix +++ b/pkgs/by-name/fc/fcppt/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, catch2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + catch2, +}: stdenv.mkDerivation rec { pname = "fcppt"; version = "4.2.1"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost catch2 ]; + buildInputs = [ + boost + catch2 + ]; cmakeFlags = [ "-DENABLE_BOOST=true" @@ -32,6 +42,9 @@ stdenv.mkDerivation rec { homepage = "https://fcppt.org"; license = licenses.boost; maintainers = with maintainers; [ pmiddend ]; - platforms = [ "x86_64-linux" "x86_64-windows" ]; + platforms = [ + "x86_64-linux" + "x86_64-windows" + ]; }; } diff --git a/pkgs/by-name/fc/fcrackzip/package.nix b/pkgs/by-name/fc/fcrackzip/package.nix index 6a60878c88d76..6c495702ba8df 100644 --- a/pkgs/by-name/fc/fcrackzip/package.nix +++ b/pkgs/by-name/fc/fcrackzip/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "fcrackzip"; @@ -25,4 +29,3 @@ stdenv.mkDerivation rec { platforms = with platforms; unix; }; } - diff --git a/pkgs/by-name/fc/fcron/package.nix b/pkgs/by-name/fc/fcron/package.nix index c9ffa02744575..40d47f912bd35 100644 --- a/pkgs/by-name/fc/fcron/package.nix +++ b/pkgs/by-name/fc/fcron/package.nix @@ -1,7 +1,14 @@ # restart using 'killall -TERM fcron; fcron -b # use convert-fcrontab to update fcrontab files -{ lib, stdenv, fetchurl, perl, busybox, vim }: +{ + lib, + stdenv, + fetchurl, + perl, + busybox, + vim, +}: stdenv.mkDerivation rec { pname = "fcron"; @@ -16,16 +23,16 @@ stdenv.mkDerivation rec { patches = [ ./relative-fcronsighup.patch ]; - configureFlags = - [ "--with-sendmail=${busybox}/sbin/sendmail" - "--with-editor=${vim}/bin/vi" # TODO customizable - "--with-bootinstall=no" - "--localstatedir=/var" - "--sysconfdir=/etc" - "--with-rootname=root" - "--with-rootgroup=root" - "--disable-checks" - ]; + configureFlags = [ + "--with-sendmail=${busybox}/sbin/sendmail" + "--with-editor=${vim}/bin/vi" # TODO customizable + "--with-bootinstall=no" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-rootname=root" + "--with-rootgroup=root" + "--disable-checks" + ]; installTargets = [ "install-staged" ]; # install does also try to change permissions of /etc/* files @@ -53,7 +60,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description="Command scheduler with extended capabilities over cron and anacron"; + description = "Command scheduler with extended capabilities over cron and anacron"; homepage = "http://fcron.free.fr"; license = licenses.gpl2Plus; platforms = lib.platforms.all; diff --git a/pkgs/by-name/fd/fd/package.nix b/pkgs/by-name/fd/fd/package.nix index 4e2529ee44afe..9984e32743921 100644 --- a/pkgs/by-name/fd/fd/package.nix +++ b/pkgs/by-name/fd/fd/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, rust-jemalloc-sys, testers, fd }: +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + rust-jemalloc-sys, + testers, + fd, +}: rustPlatform.buildRustPackage rec { pname = "fd"; @@ -25,14 +34,16 @@ rustPlatform.buildRustPackage rec { "--skip=test_invalid_utf8" ]; - postInstall = '' - installManPage doc/fd.1 - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd fd \ - --bash <($out/bin/fd --gen-completions bash) \ - --fish <($out/bin/fd --gen-completions fish) - installShellCompletion --zsh contrib/completion/_fd - ''; + postInstall = + '' + installManPage doc/fd.1 + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd fd \ + --bash <($out/bin/fd --gen-completions bash) \ + --fish <($out/bin/fd --gen-completions fish) + installShellCompletion --zsh contrib/completion/_fd + ''; passthru.tests.version = testers.testVersion { package = fd; @@ -48,8 +59,17 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://github.com/sharkdp/fd"; changelog = "https://github.com/sharkdp/fd/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ dywedir figsoda globin ma27 zowoq ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + dywedir + figsoda + globin + ma27 + zowoq + ]; mainProgram = "fd"; }; } diff --git a/pkgs/by-name/fd/fdk-aac-encoder/package.nix b/pkgs/by-name/fd/fdk-aac-encoder/package.nix index fffa6faf1006d..3d8735b4adc5b 100644 --- a/pkgs/by-name/fd/fdk-aac-encoder/package.nix +++ b/pkgs/by-name/fd/fdk-aac-encoder/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, fdk_aac }: +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + pkg-config, + fdk_aac, +}: stdenv.mkDerivation rec { pname = "fdkaac"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-nVVeYk7t4+n/BsOKs744stsvgJd+zNnbASk3bAgFTpk="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ fdk_aac ]; diff --git a/pkgs/by-name/fd/fdk_aac/package.nix b/pkgs/by-name/fd/fdk_aac/package.nix index 8f8611ccf6a11..e3e310363aedd 100644 --- a/pkgs/by-name/fd/fdk_aac/package.nix +++ b/pkgs/by-name/fd/fdk_aac/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, exampleSupport ? false # Example encoding program +{ + lib, + stdenv, + fetchurl, + exampleSupport ? false, # Example encoding program }: stdenv.mkDerivation rec { @@ -13,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-gptrie7zgkCc2mhX/YKvhPq7Y0F7CO3p6npVP4Ect54="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/fd/fdm/package.nix b/pkgs/by-name/fd/fdm/package.nix index f0d65a03d8951..6d5737c85bc6b 100644 --- a/pkgs/by-name/fd/fdm/package.nix +++ b/pkgs/by-name/fd/fdm/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, openssl, tdb, zlib, flex, bison }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, + tdb, + zlib, + flex, + bison, +}: stdenv.mkDerivation rec { pname = "fdm"; @@ -12,7 +22,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl tdb zlib flex bison ]; + buildInputs = [ + openssl + tdb + zlib + flex + bison + ]; postInstall = '' install fdm-sanitize $out/bin diff --git a/pkgs/by-name/fd/fdtools/package.nix b/pkgs/by-name/fd/fdtools/package.nix index 6f0d205203df8..e7cfff46f620c 100644 --- a/pkgs/by-name/fd/fdtools/package.nix +++ b/pkgs/by-name/fd/fdtools/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, skawarePackages }: +{ + stdenv, + lib, + fetchurl, + skawarePackages, +}: let pname = "fdtools"; @@ -7,7 +12,8 @@ let sha256 = "0lnafcp4yipi0dl8gh33zjs8wlpz0mim8mwmiz9s49id0b0fmlla"; skalibs = skawarePackages.skalibs_2_10; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; src = fetchurl { @@ -16,7 +22,13 @@ in stdenv.mkDerivation { }; patches = [ ./new-skalibs.patch ]; - outputs = [ "bin" "lib" "dev" "doc" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "doc" + "out" + ]; buildInputs = [ # temporary, until fdtools catches up to skalibs @@ -56,20 +68,22 @@ in stdenv.mkDerivation { mv library/fdtools.a $lib/lib/fdtools.a mv include/fdtools.h $dev/include/fdtools.h - ${skawarePackages.cleanPackaging.commonFileActions { - noiseFiles = [ - "conf-compile/**/*" - "src/**/*" - "src/.**/*" - "compile/**/*" - "package/{build,check,compile,elsewhere,install,install_commands,own,run,sharing,upgrade,upgrade_version,url_src,url_src_latest,versions}" - ]; - docFiles = [ - "package/INSTALL" - "package/LICENSE" - "package/README" - ]; - }} $docdir + ${ + skawarePackages.cleanPackaging.commonFileActions { + noiseFiles = [ + "conf-compile/**/*" + "src/**/*" + "src/.**/*" + "compile/**/*" + "package/{build,check,compile,elsewhere,install,install_commands,own,run,sharing,upgrade,upgrade_version,url_src,url_src_latest,versions}" + ]; + docFiles = [ + "package/INSTALL" + "package/LICENSE" + "package/README" + ]; + } + } $docdir ${skawarePackages.cleanPackaging.checkForRemainingFiles} diff --git a/pkgs/by-name/fd/fdupes/package.nix b/pkgs/by-name/fd/fdupes/package.nix index 834f35aa530af..c0052c2889d88 100644 --- a/pkgs/by-name/fd/fdupes/package.nix +++ b/pkgs/by-name/fd/fdupes/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, ncurses -, pcre2 -, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + ncurses, + pcre2, + sqlite, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fe/fead/package.nix b/pkgs/by-name/fe/fead/package.nix index d18ff21801d77..254638e9125d8 100644 --- a/pkgs/by-name/fe/fead/package.nix +++ b/pkgs/by-name/fe/fead/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchzip, python3, help2man }: +{ + lib, + stdenv, + fetchzip, + python3, + help2man, +}: stdenv.mkDerivation rec { pname = "fead"; diff --git a/pkgs/by-name/fe/feather/package.nix b/pkgs/by-name/fe/feather/package.nix index ea4c5cfb74c5a..ae567d8ffa184 100644 --- a/pkgs/by-name/fe/feather/package.nix +++ b/pkgs/by-name/fe/feather/package.nix @@ -1,23 +1,24 @@ -{ bc-ur -, boost -, cmake -, fetchFromGitHub -, hidapi -, lib -, libsodium -, libusb1 -, openssl -, pkg-config -, protobuf -, python3 -, qrencode -, qt6 -, readline -, stdenv -, testers -, tor -, unbound -, zxing-cpp +{ + bc-ur, + boost, + cmake, + fetchFromGitHub, + hidapi, + lib, + libsodium, + libusb1, + openssl, + pkg-config, + protobuf, + python3, + qrencode, + qt6, + readline, + stdenv, + testers, + tor, + unbound, + zxing-cpp, }: stdenv.mkDerivation (finalAttrs: { @@ -39,25 +40,27 @@ stdenv.mkDerivation (finalAttrs: { qt6.wrapQtAppsHook ]; - buildInputs = [ - bc-ur - boost - hidapi - libsodium - libusb1 - openssl - protobuf - qrencode - unbound - zxing-cpp - ] ++ (with qt6; [ - qtbase - qtmultimedia - qtsvg - qttools - qtwayland - qtwebsockets - ]); + buildInputs = + [ + bc-ur + boost + hidapi + libsodium + libusb1 + openssl + protobuf + qrencode + unbound + zxing-cpp + ] + ++ (with qt6; [ + qtbase + qtmultimedia + qtsvg + qttools + qtwayland + qtwebsockets + ]); cmakeFlags = [ "-DProtobuf_INCLUDE_DIR=${lib.getDev protobuf}/include" diff --git a/pkgs/by-name/fe/fedifetcher/package.nix b/pkgs/by-name/fe/fedifetcher/package.nix index 9ef45d07a39f3..297e4ffa9a445 100644 --- a/pkgs/by-name/fe/fedifetcher/package.nix +++ b/pkgs/by-name/fe/fedifetcher/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3, stdenv }: +{ + lib, + fetchFromGitHub, + python3, + stdenv, +}: python3.pkgs.buildPythonApplication rec { pname = "fedifetcher"; diff --git a/pkgs/by-name/fe/fedimint/package.nix b/pkgs/by-name/fe/fedimint/package.nix index 246375fff66aa..0260bb78d289d 100644 --- a/pkgs/by-name/fe/fedimint/package.nix +++ b/pkgs/by-name/fe/fedimint/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildPackages -, fetchFromGitHub -, openssl -, pkg-config -, protobuf -, rustPlatform +{ + lib, + buildPackages, + fetchFromGitHub, + openssl, + pkg-config, + protobuf, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -30,7 +31,14 @@ rustPlatform.buildRustPackage rec { openssl ]; - outputs = [ "out" "fedimintCli" "fedimint" "gateway" "gatewayCli" "devimint" ]; + outputs = [ + "out" + "fedimintCli" + "fedimint" + "gateway" + "gatewayCli" + "devimint" + ]; postInstall = '' mkdir -p $fedimint/bin $fedimintCli/bin $gateway/bin $gatewayCli/bin $devimint/bin diff --git a/pkgs/by-name/fe/feed2imap-go/package.nix b/pkgs/by-name/fe/feed2imap-go/package.nix index d34eecd9e2d30..f2696e33799bd 100644 --- a/pkgs/by-name/fe/feed2imap-go/package.nix +++ b/pkgs/by-name/fe/feed2imap-go/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "feed2imap-go"; @@ -12,7 +16,8 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/Necoro/feed2imap-go/pkg/version.version=${version}" "-X github.com/Necoro/feed2imap-go/pkg/version.commit=nixpkgs" ]; diff --git a/pkgs/by-name/fe/feedbackd/package.nix b/pkgs/by-name/fe/feedbackd/package.nix index 256892aa0c994..5c0ab1d284985 100644 --- a/pkgs/by-name/fe/feedbackd/package.nix +++ b/pkgs/by-name/fe/feedbackd/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitLab -, docbook-xsl-nons -, docutils -, gi-docgen -, gobject-introspection -, gtk-doc -, libxslt -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook3 -, glib -, gsound -, json-glib -, libgudev -, dbus -, gmobile -, umockdev +{ + lib, + stdenv, + fetchFromGitLab, + docbook-xsl-nons, + docutils, + gi-docgen, + gobject-introspection, + gtk-doc, + libxslt, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook3, + glib, + gsound, + json-glib, + libgudev, + dbus, + gmobile, + umockdev, }: let @@ -34,7 +35,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "feedbackd"; version = "0.4.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "source.puri.sm"; diff --git a/pkgs/by-name/fe/feedgnuplot/package.nix b/pkgs/by-name/fe/feedgnuplot/package.nix index 423d8d8d92f3e..9d1590ba947b2 100644 --- a/pkgs/by-name/fe/feedgnuplot/package.nix +++ b/pkgs/by-name/fe/feedgnuplot/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, makeFontsConf -, freefont_ttf -, gnuplot -, perl -, perlPackages -, stdenv -, shortenPerlShebang -, installShellFiles +{ + lib, + fetchFromGitHub, + makeWrapper, + makeFontsConf, + freefont_ttf, + gnuplot, + perl, + perlPackages, + stdenv, + shortenPerlShebang, + installShellFiles, }: let @@ -30,10 +31,21 @@ perlPackages.buildPerlPackage rec { outputs = [ "out" ]; - nativeBuildInputs = [ makeWrapper installShellFiles ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; - buildInputs = [ gnuplot perl ] - ++ (with perlPackages; [ ListMoreUtils IPCRun StringShellQuote ]); + buildInputs = + [ + gnuplot + perl + ] + ++ (with perlPackages; [ + ListMoreUtils + IPCRun + StringShellQuote + ]); # Fontconfig error: Cannot load default config file FONTCONFIG_FILE = fontsConf; @@ -45,21 +57,26 @@ perlPackages.buildPerlPackage rec { # Tests require gnuplot 4.6.4 and are completely skipped with gnuplot 5. doCheck = false; - postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang $out/bin/feedgnuplot - '' + '' - wrapProgram $out/bin/feedgnuplot \ - --prefix "PATH" ":" "$PATH" \ - --prefix "PERL5LIB" ":" "$PERL5LIB" + postInstall = + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang $out/bin/feedgnuplot + '' + + '' + wrapProgram $out/bin/feedgnuplot \ + --prefix "PATH" ":" "$PATH" \ + --prefix "PERL5LIB" ":" "$PERL5LIB" - installShellCompletion --bash --name feedgnuplot.bash completions/bash/feedgnuplot - installShellCompletion --zsh completions/zsh/_feedgnuplot - ''; + installShellCompletion --bash --name feedgnuplot.bash completions/bash/feedgnuplot + installShellCompletion --zsh completions/zsh/_feedgnuplot + ''; meta = with lib; { description = "General purpose pipe-oriented plotting tool"; homepage = "https://github.com/dkogan/feedgnuplot/"; - license = with licenses; [ artistic1 gpl1Plus ]; + license = with licenses; [ + artistic1 + gpl1Plus + ]; platforms = platforms.unix; maintainers = with maintainers; [ mnacamura ]; mainProgram = "feedgnuplot"; diff --git a/pkgs/by-name/fe/fehlstart/package.nix b/pkgs/by-name/fe/fehlstart/package.nix index 4d3903bbb6ec4..7c289e51688e0 100644 --- a/pkgs/by-name/fe/fehlstart/package.nix +++ b/pkgs/by-name/fe/fehlstart/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, pkg-config, gtk2, keybinder, fetchFromGitLab }: +{ + lib, + stdenv, + pkg-config, + gtk2, + keybinder, + fetchFromGitLab, +}: stdenv.mkDerivation { pname = "fehlstart"; @@ -13,7 +20,10 @@ stdenv.mkDerivation { patches = [ ./use-nix-profiles.patch ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 keybinder ]; + buildInputs = [ + gtk2 + keybinder + ]; preConfigure = '' export PREFIX=$out diff --git a/pkgs/by-name/fe/feishu/package.nix b/pkgs/by-name/fe/feishu/package.nix index 8a0dc4256a031..7281893b41e9f 100644 --- a/pkgs/by-name/fe/feishu/package.nix +++ b/pkgs/by-name/fe/feishu/package.nix @@ -1,65 +1,66 @@ -{ addDriverRunpath -, alsa-lib -, at-spi2-atk -, at-spi2-core -, atk -, autoPatchelfHook -, cairo -, cups -, curl -, dbus -, dpkg -, expat -, fetchurl -, fontconfig -, freetype -, gdk-pixbuf -, glib -, glibc -, gnutls -, gtk3 -, lib -, libGL -, libX11 -, libXScrnSaver -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXrandr -, libXrender -, libXtst -, libappindicator-gtk3 -, libcxx -, libdbusmenu -, libdrm -, libgcrypt -, libglvnd -, libnotify -, libpulseaudio -, libuuid -, libxcb -, libxkbcommon -, libxkbfile -, libxshmfence -, makeShellWrapper -, mesa -, nspr -, nss -, pango -, pciutils -, pipewire -, pixman -, stdenv -, systemd -, wayland -, xdg-utils -, writeScript +{ + addDriverRunpath, + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + autoPatchelfHook, + cairo, + cups, + curl, + dbus, + dpkg, + expat, + fetchurl, + fontconfig, + freetype, + gdk-pixbuf, + glib, + glibc, + gnutls, + gtk3, + lib, + libGL, + libX11, + libXScrnSaver, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXtst, + libappindicator-gtk3, + libcxx, + libdbusmenu, + libdrm, + libgcrypt, + libglvnd, + libnotify, + libpulseaudio, + libuuid, + libxcb, + libxkbcommon, + libxkbfile, + libxshmfence, + makeShellWrapper, + mesa, + nspr, + nss, + pango, + pciutils, + pipewire, + pixman, + stdenv, + systemd, + wayland, + xdg-utils, + writeScript, # for custom command line arguments, e.g. "--use-gl=desktop" -, commandLineArgs ? "" + commandLineArgs ? "", }: let @@ -74,7 +75,10 @@ let }; }; - supportedPlatforms = [ "x86_64-linux" "aarch64-linux" ]; + supportedPlatforms = [ + "x86_64-linux" + "aarch64-linux" + ]; rpath = lib.makeLibraryPath [ alsa-lib @@ -134,7 +138,9 @@ stdenv.mkDerivation { version = "7.22.9"; pname = "feishu"; - src = sources.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + sources.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook @@ -179,7 +185,9 @@ stdenv.mkDerivation { wrapProgram $executable \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix LD_LIBRARY_PATH : ${rpath}:$out/opt/bytedance/feishu:${addDriverRunpath.driverLink}/share \ - ${lib.optionalString (commandLineArgs!="") "--add-flags ${lib.escapeShellArg commandLineArgs}"} + ${lib.optionalString ( + commandLineArgs != "" + ) "--add-flags ${lib.escapeShellArg commandLineArgs}"} done mkdir -p $out/share/icons/hicolor diff --git a/pkgs/by-name/fe/femtolisp/package.nix b/pkgs/by-name/fe/femtolisp/package.nix index 3e35f7edc6570..a565921eeb958 100644 --- a/pkgs/by-name/fe/femtolisp/package.nix +++ b/pkgs/by-name/fe/femtolisp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromSourcehut -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromSourcehut, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -32,7 +33,10 @@ stdenv.mkDerivation { meta = { description = "Compact interpreter for a minimal lisp/scheme dialect"; homepage = "https://git.sr.ht/~ft/femtolisp"; - license = with lib.licenses; [ mit bsd3 ]; + license = with lib.licenses; [ + mit + bsd3 + ]; maintainers = with lib.maintainers; [ moody ]; broken = stdenv.hostPlatform.isDarwin; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/fe/ferm/package.nix b/pkgs/by-name/fe/ferm/package.nix index e14b3f8572b83..1d7da4ea13ca5 100644 --- a/pkgs/by-name/fe/ferm/package.nix +++ b/pkgs/by-name/fe/ferm/package.nix @@ -1,8 +1,17 @@ -{ lib, stdenv, fetchurl, makeWrapper, perl, iptables, nixosTests }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + perl, + iptables, + nixosTests, +}: let inherit (lib.versions) majorMinor; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "2.7"; pname = "ferm"; @@ -16,7 +25,10 @@ in stdenv.mkDerivation rec { ]; # perl is used at build time to gather the ferm version. - nativeBuildInputs = [ makeWrapper perl ]; + nativeBuildInputs = [ + makeWrapper + perl + ]; buildInputs = [ perl ]; makeFlags = [ @@ -44,7 +56,7 @@ in stdenv.mkDerivation rec { language, which can contain levels and lists. ''; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [mic92]; + maintainers = with lib.maintainers; [ mic92 ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/fe/fermyon-spin/package.nix b/pkgs/by-name/fe/fermyon-spin/package.nix index 7f447db6babcb..396f348e21331 100644 --- a/pkgs/by-name/fe/fermyon-spin/package.nix +++ b/pkgs/by-name/fe/fermyon-spin/package.nix @@ -1,31 +1,37 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, gcc-unwrapped -, zlib +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + gcc-unwrapped, + zlib, }: let system = stdenv.hostPlatform.system; - platform = { - x86_64-linux = "linux-amd64"; - aarch64-linux = "linux-aarch64"; - x86_64-darwin = "macos-amd64"; - aarch64-darwin = "macos-aarch64"; - }.${system} or (throw "Unsupported system: ${system}"); + platform = + { + x86_64-linux = "linux-amd64"; + aarch64-linux = "linux-aarch64"; + x86_64-darwin = "macos-amd64"; + aarch64-darwin = "macos-aarch64"; + } + .${system} or (throw "Unsupported system: ${system}"); # TODO: It'd be nice to write an update script that would update all of these # hashes together. - packageHash = { - x86_64-linux = "sha256-r/F3Tj3WeeL2R27ussX+ebFWpW+8z2e7tdBK4MHFMpk="; - aarch64-linux = "sha256-BSFxDJeY7fOOxDqAV+6FJf0hup1Y5IJ/czqwc4W7qSA="; - x86_64-darwin = "sha256-T6J9IjfXdt9DnZksndAmZRkYyH/5H60J7V6xU0ltD2A="; - aarch64-darwin = "sha256-6x+0PB5/2oqYDVNiNhc0xcs/ESCLvvSsWtm2KlTIeBo="; - }.${system} or (throw "Unsupported system: ${system}"); + packageHash = + { + x86_64-linux = "sha256-r/F3Tj3WeeL2R27ussX+ebFWpW+8z2e7tdBK4MHFMpk="; + aarch64-linux = "sha256-BSFxDJeY7fOOxDqAV+6FJf0hup1Y5IJ/czqwc4W7qSA="; + x86_64-darwin = "sha256-T6J9IjfXdt9DnZksndAmZRkYyH/5H60J7V6xU0ltD2A="; + aarch64-darwin = "sha256-6x+0PB5/2oqYDVNiNhc0xcs/ESCLvvSsWtm2KlTIeBo="; + } + .${system} or (throw "Unsupported system: ${system}"); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "fermyon-spin"; version = "3.0.0"; diff --git a/pkgs/by-name/fe/fernglas/package.nix b/pkgs/by-name/fe/fernglas/package.nix index de0c7706af6f7..62854f49e2d23 100644 --- a/pkgs/by-name/fe/fernglas/package.nix +++ b/pkgs/by-name/fe/fernglas/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, fetchYarnDeps -, fixup-yarn-lock -, python3 -, jq -, yarn -, nodejs-slim +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + fetchYarnDeps, + fixup-yarn-lock, + python3, + jq, + yarn, + nodejs-slim, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,13 @@ rustPlatform.buildRustPackage rec { hash = "sha256-0wj5AS8RLVr+S/QWWxCsMvmVjmXUWGfR9kPaZimJEss="; }; - nativeBuildInputs = [ yarn nodejs-slim fixup-yarn-lock python3 jq ]; + nativeBuildInputs = [ + yarn + nodejs-slim + fixup-yarn-lock + python3 + jq + ]; nlnog_communities = fetchFromGitHub { owner = "NLNOG"; @@ -37,11 +44,15 @@ rustPlatform.buildRustPackage rec { hash = "sha256-/ubCAs4C5nG8xNC77jTH+cJVNgddSxqGGPEVLDH/Cdo="; }; - cargoBuildFlags = lib.optionals (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isStatic) [ - "--features" "mimalloc" - ] ++ [ - "--features" "embed-static" - ]; + cargoBuildFlags = + lib.optionals (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isStatic) [ + "--features" + "mimalloc" + ] + ++ [ + "--features" + "embed-static" + ]; preBuild = '' python3 contrib/print_communities.py $nlnog_communities/communities | jq . > src/communities.json diff --git a/pkgs/by-name/fe/ferrum/package.nix b/pkgs/by-name/fe/ferrum/package.nix index 4f10d8e645190..3841a4abf595e 100644 --- a/pkgs/by-name/fe/ferrum/package.nix +++ b/pkgs/by-name/fe/ferrum/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -26,7 +30,10 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/ferrum/"; description = "Decorative font"; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.cc0; }; } diff --git a/pkgs/by-name/fe/fet-sh/package.nix b/pkgs/by-name/fe/fet-sh/package.nix index 3a95451d00162..d0fd407cf57ed 100644 --- a/pkgs/by-name/fe/fet-sh/package.nix +++ b/pkgs/by-name/fe/fet-sh/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "fet-sh"; diff --git a/pkgs/by-name/fe/fetch-scm/package.nix b/pkgs/by-name/fe/fetch-scm/package.nix index a5bc1f65a9041..9ea2f12fa2087 100644 --- a/pkgs/by-name/fe/fetch-scm/package.nix +++ b/pkgs/by-name/fe/fetch-scm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, guile }: +{ + lib, + stdenv, + fetchFromGitHub, + guile, +}: stdenv.mkDerivation rec { pname = "fetch-scm"; diff --git a/pkgs/by-name/fe/fetchit/package.nix b/pkgs/by-name/fe/fetchit/package.nix index d772ba5f5ad68..9269a39bce4a9 100644 --- a/pkgs/by-name/fe/fetchit/package.nix +++ b/pkgs/by-name/fe/fetchit/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, lvm2 -, pkg-config +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + lvm2, + pkg-config, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { subPackages = [ "cmd/fetchit" ]; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; buildInputs = [ lvm2 ]; # Flags are derived from diff --git a/pkgs/by-name/fe/fetchutils/package.nix b/pkgs/by-name/fe/fetchutils/package.nix index b4ab650ecaafb..f9b5954488b18 100644 --- a/pkgs/by-name/fe/fetchutils/package.nix +++ b/pkgs/by-name/fe/fetchutils/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub, bash, scdoc }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + bash, + scdoc, +}: stdenvNoCC.mkDerivation rec { pname = "fetchutils"; @@ -11,7 +17,10 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-ONrVZC6GBV5v3TeBekW9ybZjDHF3FNyXw1rYknqKRbk="; }; - buildInputs = [ bash scdoc ]; + buildInputs = [ + bash + scdoc + ]; installFlags = [ "PREFIX=$(out)/" ]; diff --git a/pkgs/by-name/ff/ff2mpv-go/package.nix b/pkgs/by-name/ff/ff2mpv-go/package.nix index 7fa747b8839d2..195d4f3db9c42 100644 --- a/pkgs/by-name/ff/ff2mpv-go/package.nix +++ b/pkgs/by-name/ff/ff2mpv-go/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchgit -, makeWrapper -, mpv +{ + lib, + buildGoModule, + fetchgit, + makeWrapper, + mpv, }: buildGoModule rec { pname = "ff2mpv-go"; diff --git a/pkgs/by-name/ff/ff2mpv-rust/package.nix b/pkgs/by-name/ff/ff2mpv-rust/package.nix index c6db7961d0ed8..a5848b4ef93cd 100644 --- a/pkgs/by-name/ff/ff2mpv-rust/package.nix +++ b/pkgs/by-name/ff/ff2mpv-rust/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: let diff --git a/pkgs/by-name/ff/ff2mpv/package.nix b/pkgs/by-name/ff/ff2mpv/package.nix index 27fd0ce892f7e..f362ef29eaba1 100644 --- a/pkgs/by-name/ff/ff2mpv/package.nix +++ b/pkgs/by-name/ff/ff2mpv/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, mpv }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + mpv, +}: stdenv.mkDerivation rec { pname = "ff2mpv"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-Xx18EX/MxLrnwZGwMFZJxJURUpjU2P01CQue5XbZ3fw="; }; - buildInputs = [ python3 mpv ]; + buildInputs = [ + python3 + mpv + ]; postPatch = '' patchShebangs . diff --git a/pkgs/by-name/ff/ffcast/package.nix b/pkgs/by-name/ff/ffcast/package.nix index cdf94928033b8..68aab967e3c40 100644 --- a/pkgs/by-name/ff/ffcast/package.nix +++ b/pkgs/by-name/ff/ffcast/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, makeWrapper, perl -, ffmpeg-full, gawk, imagemagick, xdpyinfo, xprop, xrectsel, xwininfo +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + makeWrapper, + perl, + ffmpeg-full, + gawk, + imagemagick, + xdpyinfo, + xprop, + xrectsel, + xwininfo, }: stdenv.mkDerivation rec { @@ -13,23 +25,29 @@ stdenv.mkDerivation rec { sha256 = "sha256-kxqwDGEguFTFHkQzXctXqxslt0+bYnfUdQ8C/8+eTXo="; }; - nativeBuildInputs = [ autoreconfHook makeWrapper perl /*for pod2man*/ ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + perl # for pod2man + ]; configureFlags = [ "--disable-xrectsel" ]; - postInstall = let - binPath = lib.makeBinPath [ - ffmpeg-full - gawk - imagemagick - xdpyinfo - xprop - xrectsel - xwininfo - ]; - in '' - wrapProgram $out/bin/ffcast --prefix PATH : ${binPath} - ''; + postInstall = + let + binPath = lib.makeBinPath [ + ffmpeg-full + gawk + imagemagick + xdpyinfo + xprop + xrectsel + xwininfo + ]; + in + '' + wrapProgram $out/bin/ffcast --prefix PATH : ${binPath} + ''; meta = { description = "Run commands on rectangular screen regions"; diff --git a/pkgs/by-name/ff/fff/package.nix b/pkgs/by-name/ff/fff/package.nix index d7bb50f59e43f..cd6ffddfce5ec 100644 --- a/pkgs/by-name/ff/fff/package.nix +++ b/pkgs/by-name/ff/fff/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, bashInteractive, xdg-utils, file, coreutils, w3m, xdotool }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bashInteractive, + xdg-utils, + file, + coreutils, + w3m, + xdotool, +}: stdenv.mkDerivation rec { pname = "fff"; @@ -11,7 +22,13 @@ stdenv.mkDerivation rec { sha256 = "14ymdw6l6phnil0xf1frd5kgznaiwppcic0v4hb61s1zpf4wrshg"; }; - pathAdd = lib.makeSearchPath "bin" ([ xdg-utils file coreutils w3m xdotool ]); + pathAdd = lib.makeSearchPath "bin" ([ + xdg-utils + file + coreutils + w3m + xdotool + ]); nativeBuildInputs = [ makeWrapper ]; buildInputs = [ bashInteractive ]; diff --git a/pkgs/by-name/ff/fflas-ffpack/package.nix b/pkgs/by-name/ff/fflas-ffpack/package.nix index 1d8c87ba45d1a..a3af3b49af93d 100644 --- a/pkgs/by-name/ff/fflas-ffpack/package.nix +++ b/pkgs/by-name/ff/fflas-ffpack/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, givaro, pkg-config, blas, lapack -, gmpxx +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + givaro, + pkg-config, + blas, + lapack, + gmpxx, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -26,27 +34,33 @@ stdenv.mkDerivation rec { pkg-config ] ++ lib.optionals doCheck nativeCheckInputs; - buildInputs = [ givaro blas lapack ]; - - configureFlags = [ - "--with-blas-libs=-lcblas" - "--with-lapack-libs=-llapacke" - "--without-archnative" - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - # disable SIMD instructions (which are enabled *when available* by default) - # for now we need to be careful to disable *all* relevant versions of an instruction set explicitly (https://github.com/linbox-team/fflas-ffpack/issues/284) - "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" - "--${if stdenv.hostPlatform.ssse3Support then "enable" else "disable"}-ssse3" - "--${if stdenv.hostPlatform.sse4_1Support then "enable" else "disable"}-sse41" - "--${if stdenv.hostPlatform.sse4_2Support then "enable" else "disable"}-sse42" - "--${if stdenv.hostPlatform.avxSupport then "enable" else "disable"}-avx" - "--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2" - "--${if stdenv.hostPlatform.avx512Support then "enable" else "disable"}-avx512f" - "--${if stdenv.hostPlatform.avx512Support then "enable" else "disable"}-avx512dq" - "--${if stdenv.hostPlatform.avx512Support then "enable" else "disable"}-avx512vl" - "--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma" - "--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4" + buildInputs = [ + givaro + blas + lapack ]; + + configureFlags = + [ + "--with-blas-libs=-lcblas" + "--with-lapack-libs=-llapacke" + "--without-archnative" + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + # disable SIMD instructions (which are enabled *when available* by default) + # for now we need to be careful to disable *all* relevant versions of an instruction set explicitly (https://github.com/linbox-team/fflas-ffpack/issues/284) + "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" + "--${if stdenv.hostPlatform.ssse3Support then "enable" else "disable"}-ssse3" + "--${if stdenv.hostPlatform.sse4_1Support then "enable" else "disable"}-sse41" + "--${if stdenv.hostPlatform.sse4_2Support then "enable" else "disable"}-sse42" + "--${if stdenv.hostPlatform.avxSupport then "enable" else "disable"}-avx" + "--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2" + "--${if stdenv.hostPlatform.avx512Support then "enable" else "disable"}-avx512f" + "--${if stdenv.hostPlatform.avx512Support then "enable" else "disable"}-avx512dq" + "--${if stdenv.hostPlatform.avx512Support then "enable" else "disable"}-avx512vl" + "--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma" + "--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4" + ]; doCheck = true; meta = with lib; { diff --git a/pkgs/by-name/ff/fflinuxprint/package.nix b/pkgs/by-name/ff/fflinuxprint/package.nix index 83a4d223b970e..c0781e71a9094 100644 --- a/pkgs/by-name/ff/fflinuxprint/package.nix +++ b/pkgs/by-name/ff/fflinuxprint/package.nix @@ -1,9 +1,10 @@ -{ autoPatchelfHook -, cups -, dpkg -, fetchurl -, lib -, stdenv +{ + autoPatchelfHook, + cups, + dpkg, + fetchurl, + lib, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ff/fflogs/package.nix b/pkgs/by-name/ff/fflogs/package.nix index 5ff45e5c2199b..1fa42f43a3d95 100644 --- a/pkgs/by-name/ff/fflogs/package.nix +++ b/pkgs/by-name/ff/fflogs/package.nix @@ -1,6 +1,7 @@ -{ lib -, appimageTools -, fetchurl +{ + lib, + appimageTools, + fetchurl, }: let diff --git a/pkgs/by-name/ff/fftw/package.nix b/pkgs/by-name/ff/fftw/package.nix index 2cc3a85adb9c2..f41573a3dc559 100644 --- a/pkgs/by-name/ff/fftw/package.nix +++ b/pkgs/by-name/ff/fftw/package.nix @@ -1,18 +1,24 @@ -{ fetchurl -, fetchpatch -, stdenv -, lib -, gfortran -, perl -, llvmPackages -, precision ? "double" -, enableMpi ? false -, mpi -, withDoc ? stdenv.cc.isGNU -, testers +{ + fetchurl, + fetchpatch, + stdenv, + lib, + gfortran, + perl, + llvmPackages, + precision ? "double", + enableMpi ? false, + mpi, + withDoc ? stdenv.cc.isGNU, + testers, }: -assert lib.elem precision [ "single" "double" "long-double" "quad-precision" ]; +assert lib.elem precision [ + "single" + "double" + "long-double" + "quad-precision" +]; stdenv.mkDerivation (finalAttrs: { pname = "fftw-${precision}"; @@ -34,31 +40,38 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "dev" "man" ] - ++ lib.optional withDoc "info"; # it's dev-doc only + outputs = [ + "out" + "dev" + "man" + ] ++ lib.optional withDoc "info"; # it's dev-doc only outputBin = "dev"; # fftw-wisdom nativeBuildInputs = [ gfortran ]; - buildInputs = lib.optionals stdenv.cc.isClang [ - # TODO: This may mismatch the LLVM version sin the stdenv, see #79818. - llvmPackages.openmp - ] ++ lib.optional enableMpi mpi; + buildInputs = + lib.optionals stdenv.cc.isClang [ + # TODO: This may mismatch the LLVM version sin the stdenv, see #79818. + llvmPackages.openmp + ] + ++ lib.optional enableMpi mpi; - configureFlags = [ - "--enable-shared" - "--enable-threads" - "--enable-openmp" - ] + configureFlags = + [ + "--enable-shared" + "--enable-threads" + "--enable-openmp" + ] - ++ lib.optional (precision != "double") "--enable-${precision}" - # https://www.fftw.org/fftw3_doc/SIMD-alignment-and-fftw_005fmalloc.html - # FFTW will try to detect at runtime whether the CPU supports these extensions - ++ lib.optional (stdenv.hostPlatform.isx86_64 && (precision == "single" || precision == "double")) - "--enable-sse2 --enable-avx --enable-avx2 --enable-avx512 --enable-avx128-fma" - ++ lib.optional enableMpi "--enable-mpi" - # doc generation causes Fortran wrapper generation which hard-codes gcc - ++ lib.optional (!withDoc) "--disable-doc"; + ++ lib.optional (precision != "double") "--enable-${precision}" + # https://www.fftw.org/fftw3_doc/SIMD-alignment-and-fftw_005fmalloc.html + # FFTW will try to detect at runtime whether the CPU supports these extensions + ++ lib.optional ( + stdenv.hostPlatform.isx86_64 && (precision == "single" || precision == "double") + ) "--enable-sse2 --enable-avx --enable-avx2 --enable-avx512 --enable-avx128-fma" + ++ lib.optional enableMpi "--enable-mpi" + # doc generation causes Fortran wrapper generation which hard-codes gcc + ++ lib.optional (!withDoc) "--disable-doc"; # fftw builds with -mtune=native by default postPatch = '' @@ -82,7 +95,8 @@ stdenv.mkDerivation (finalAttrs: { "double" = "fftw3"; "long-double" = "fftw3l"; "quad-precision" = "fftw3q"; - }.${precision} + } + .${precision} ]; platforms = platforms.unix; # quad-precision requires libquadmath from gfortran, but libquadmath is not supported on aarch64 diff --git a/pkgs/by-name/ff/ffuf/package.nix b/pkgs/by-name/ff/ffuf/package.nix index ae0a19bff0226..3b576a117f361 100644 --- a/pkgs/by-name/ff/ffuf/package.nix +++ b/pkgs/by-name/ff/ffuf/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { diff --git a/pkgs/by-name/fg/fg-virgil/package.nix b/pkgs/by-name/fg/fg-virgil/package.nix index d7c04d9b9e883..9f3e4b5fb1077 100644 --- a/pkgs/by-name/fg/fg-virgil/package.nix +++ b/pkgs/by-name/fg/fg-virgil/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "fg-virgil"; diff --git a/pkgs/by-name/fg/fgallery/package.nix b/pkgs/by-name/fg/fgallery/package.nix index 8e2e636d90f7e..3d60062a4c213 100644 --- a/pkgs/by-name/fg/fgallery/package.nix +++ b/pkgs/by-name/fg/fgallery/package.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchurl, unzip, makeWrapper, perlPackages -, coreutils, zip, imagemagick, pngcrush, lcms2 -, facedetect, fbida }: +{ + lib, + stdenv, + fetchurl, + unzip, + makeWrapper, + perlPackages, + coreutils, + zip, + imagemagick, + pngcrush, + lcms2, + facedetect, + fbida, +}: # TODO: add optional dependencies (snippet from fgallery source): # @@ -17,8 +29,18 @@ stdenv.mkDerivation rec { hash = "sha256-FvF0wkRe3wTPUG9/GEBxkaxvZ1B4wEd9kI9rURHKxn0="; }; - nativeBuildInputs = [ makeWrapper unzip ]; - buildInputs = (with perlPackages; [ perl ImageExifTool CpanelJSONXS ]); + nativeBuildInputs = [ + makeWrapper + unzip + ]; + buildInputs = ( + with perlPackages; + [ + perl + ImageExifTool + CpanelJSONXS + ] + ); postPatch = '' substituteInPlace Makefile \ @@ -39,8 +61,17 @@ stdenv.mkDerivation rec { wrapProgram "$out/share/fgallery/fgallery" \ --set PERL5LIB "$PERL5LIB" \ - --set PATH "${lib.makeBinPath - [ coreutils zip imagemagick pngcrush lcms2 facedetect fbida ]}" + --set PATH "${ + lib.makeBinPath [ + coreutils + zip + imagemagick + pngcrush + lcms2 + facedetect + fbida + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/fg/fgqcanvas/package.nix b/pkgs/by-name/fg/fgqcanvas/package.nix index e7d0352a0fbaf..33edfdf380f32 100644 --- a/pkgs/by-name/fg/fgqcanvas/package.nix +++ b/pkgs/by-name/fg/fgqcanvas/package.nix @@ -1,9 +1,10 @@ -{ fetchgit -, pkg-config -, stdenv -, lib -# Package dependencies -, qt5 +{ + fetchgit, + pkg-config, + stdenv, + lib, + # Package dependencies + qt5, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fh/fh/package.nix b/pkgs/by-name/fh/fh/package.nix index ba363960cf96f..cf37e8bceaac7 100644 --- a/pkgs/by-name/fh/fh/package.nix +++ b/pkgs/by-name/fh/fh/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin -, gcc -, libcxx -, cacert +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, + gcc, + libcxx, + cacert, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/fh/fheroes2/package.nix b/pkgs/by-name/fh/fheroes2/package.nix index cffc2de304141..18ba08a60e569 100644 --- a/pkgs/by-name/fh/fheroes2/package.nix +++ b/pkgs/by-name/fh/fheroes2/package.nix @@ -1,8 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, imagemagick -, gettext, glibcLocalesUtf8, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, zlib -, libiconv - -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + imagemagick, + gettext, + glibcLocalesUtf8, + libpng, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + zlib, + libiconv, + + gitUpdater, }: stdenv.mkDerivation rec { @@ -18,8 +29,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ imagemagick ]; - buildInputs = [ gettext glibcLocalesUtf8 libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + buildInputs = [ + gettext + glibcLocalesUtf8 + libpng + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; makeFlags = [ "FHEROES2_STRICT_COMPILATION=1" @@ -63,9 +82,9 @@ stdenv.mkDerivation rec { description = "Free implementation of Heroes of Might and Magic II game engine"; mainProgram = "fheroes2"; longDescription = '' - In order to play this game, an original game data is required. - Please refer to README of the project for instructions. - On linux, the data can be placed in ~/.local/share/fheroes2 folder. + In order to play this game, an original game data is required. + Please refer to README of the project for instructions. + On linux, the data can be placed in ~/.local/share/fheroes2 folder. ''; license = licenses.gpl2Plus; maintainers = [ maintainers.karolchmist ]; diff --git a/pkgs/by-name/fi/fiano/package.nix b/pkgs/by-name/fi/fiano/package.nix index ba4b415b283e8..3f09e5af9c40f 100644 --- a/pkgs/by-name/fi/fiano/package.nix +++ b/pkgs/by-name/fi/fiano/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -28,7 +29,10 @@ buildGoModule rec { vendorHash = "sha256-00ZSAVEmk2pNjv6fo++gnpIheK8lo4AVWf+ghXappnI="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Go-based tools for modifying UEFI firmware"; diff --git a/pkgs/by-name/fi/fiche/package.nix b/pkgs/by-name/fi/fiche/package.nix index 375733d272ccb..4361019d55f70 100644 --- a/pkgs/by-name/fi/fiche/package.nix +++ b/pkgs/by-name/fi/fiche/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fiche"; diff --git a/pkgs/by-name/fi/fichub-cli/package.nix b/pkgs/by-name/fi/fichub-cli/package.nix index f694a9b993074..50f8b8373e686 100644 --- a/pkgs/by-name/fi/fichub-cli/package.nix +++ b/pkgs/by-name/fi/fichub-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "fichub-cli"; diff --git a/pkgs/by-name/fi/fig2dev/package.nix b/pkgs/by-name/fi/fig2dev/package.nix index 1a2175294981c..1a02390498df0 100644 --- a/pkgs/by-name/fi/fig2dev/package.nix +++ b/pkgs/by-name/fi/fig2dev/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, ghostscript -, libpng -, makeWrapper -, coreutils -, bc -, gnugrep -, gawk -, gnused +{ + lib, + stdenv, + fetchurl, + ghostscript, + libpng, + makeWrapper, + coreutils, + bc, + gnugrep, + gawk, + gnused, }: stdenv.mkDerivation rec { @@ -23,13 +24,20 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ libpng ]; - GSEXE="${ghostscript}/bin/gs"; + GSEXE = "${ghostscript}/bin/gs"; configureFlags = [ "--enable-transfig" ]; postInstall = '' wrapProgram $out/bin/fig2ps2tex \ - --set PATH ${lib.makeBinPath [ coreutils bc gnugrep gawk ]} + --set PATH ${ + lib.makeBinPath [ + coreutils + bc + gnugrep + gawk + ] + } wrapProgram $out/bin/pic2tpic \ --set PATH ${lib.makeBinPath [ gnused ]} ''; diff --git a/pkgs/by-name/fi/figlet/package.nix b/pkgs/by-name/fi/figlet/package.nix index 746def80c6d9c..5b13d3631fc1c 100644 --- a/pkgs/by-name/fi/figlet/package.nix +++ b/pkgs/by-name/fi/figlet/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, fetchzip }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + fetchzip, +}: stdenv.mkDerivation rec { pname = "figlet"; @@ -28,7 +34,11 @@ stdenv.mkDerivation rec { }) ]; - makeFlags = [ "prefix=$(out)" "CC:=$(CC)" "LD:=$(CC)" ]; + makeFlags = [ + "prefix=$(out)" + "CC:=$(CC)" + "LD:=$(CC)" + ]; postInstall = "cp -ar ${contributed}/* $out/share/figlet/"; diff --git a/pkgs/by-name/fi/figma-linux/package.nix b/pkgs/by-name/fi/figma-linux/package.nix index 2b11d16803985..5e9ced617e144 100644 --- a/pkgs/by-name/fi/figma-linux/package.nix +++ b/pkgs/by-name/fi/figma-linux/package.nix @@ -1,12 +1,13 @@ -{ pkgs -, lib -, stdenv -, fetchurl -, autoPatchelfHook -, dpkg -, makeWrapper -, wrapGAppsHook3 -, ... +{ + pkgs, + lib, + stdenv, + fetchurl, + autoPatchelfHook, + dpkg, + makeWrapper, + wrapGAppsHook3, + ... }: stdenv.mkDerivation (finalAttrs: { pname = "figma-linux"; @@ -24,32 +25,35 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook3 ]; - buildInputs = with pkgs;[ - alsa-lib - at-spi2-atk - cairo - cups.lib - dbus.lib - expat - gdk-pixbuf - glib - gtk3 - libdrm - libxkbcommon - mesa - nspr - nss - pango - ] ++ (with pkgs.xorg; [ - libX11 - libXcomposite - libXdamage - libXext - libXfixes - libXrandr - libxcb - libxshmfence - ]); + buildInputs = + with pkgs; + [ + alsa-lib + at-spi2-atk + cairo + cups.lib + dbus.lib + expat + gdk-pixbuf + glib + gtk3 + libdrm + libxkbcommon + mesa + nspr + nss + pango + ] + ++ (with pkgs.xorg; [ + libX11 + libXcomposite + libXdamage + libXext + libXfixes + libXrandr + libxcb + libxshmfence + ]); runtimeDependencies = with pkgs; [ eudev ]; @@ -86,7 +90,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/Figma-Linux/figma-linux"; platforms = [ "x86_64-linux" ]; license = licenses.gpl2Plus; - maintainers = with maintainers; [ ercao kashw2 ]; + maintainers = with maintainers; [ + ercao + kashw2 + ]; mainProgram = "figma-linux"; }; }) diff --git a/pkgs/by-name/fi/figurine/package.nix b/pkgs/by-name/fi/figurine/package.nix index 5c1fa255565b4..88bb4ff21b8f1 100644 --- a/pkgs/by-name/fi/figurine/package.nix +++ b/pkgs/by-name/fi/figurine/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/fi/fil-plugins/package.nix b/pkgs/by-name/fi/fil-plugins/package.nix index 1d819fd8b7639..73d3ff0c0b33f 100644 --- a/pkgs/by-name/fi/fil-plugins/package.nix +++ b/pkgs/by-name/fi/fil-plugins/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ladspaH +{ + lib, + stdenv, + fetchurl, + ladspaH, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fi/file-rename/package.nix b/pkgs/by-name/fi/file-rename/package.nix index e2e1eccae216b..8e37bb454ba1f 100644 --- a/pkgs/by-name/fi/file-rename/package.nix +++ b/pkgs/by-name/fi/file-rename/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, perlPackages }: +{ + lib, + stdenv, + fetchurl, + perl, + perlPackages, +}: perlPackages.buildPerlPackage { pname = "File-Rename"; diff --git a/pkgs/by-name/fi/file-roller/package.nix b/pkgs/by-name/fi/file-roller/package.nix index 5de8f9f14f468..6cb2c17477c09 100644 --- a/pkgs/by-name/fi/file-roller/package.nix +++ b/pkgs/by-name/fi/file-roller/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl -, desktop-file-utils -, gettext -, glibcLocales -, itstool -, libxml2 -, meson -, ninja -, pkg-config -, python3 -, wrapGAppsHook4 -, cpio -, glib -, gnome -, gtk4 -, libadwaita -, json-glib -, libarchive -, nautilus +{ + lib, + stdenv, + fetchurl, + desktop-file-utils, + gettext, + glibcLocales, + itstool, + libxml2, + meson, + ninja, + pkg-config, + python3, + wrapGAppsHook4, + cpio, + glib, + gnome, + gtk4, + libadwaita, + json-glib, + libarchive, + nautilus, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fi/filebench/package.nix b/pkgs/by-name/fi/filebench/package.nix index 7cbb5f15936a6..a288ca5734d3e 100644 --- a/pkgs/by-name/fi/filebench/package.nix +++ b/pkgs/by-name/fi/filebench/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoreconfHook, bison, flex }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "filebench"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "13hmx67lsz367sn8lrvz1780mfczlbiz8v80gig9kpkpf009yksc"; }; - nativeBuildInputs = [ autoreconfHook bison flex ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + ]; meta = with lib; { description = "File system and storage benchmark that can generate both micro and macro workloads"; diff --git a/pkgs/by-name/fi/filebrowser/package.nix b/pkgs/by-name/fi/filebrowser/package.nix index 7adede3e32997..af275fdd75312 100644 --- a/pkgs/by-name/fi/filebrowser/package.nix +++ b/pkgs/by-name/fi/filebrowser/package.nix @@ -59,4 +59,3 @@ buildGo123Module { mainProgram = "filebrowser"; }; } - diff --git a/pkgs/by-name/fi/filegive/package.nix b/pkgs/by-name/fi/filegive/package.nix index 6933404567a02..5ea5558b92133 100644 --- a/pkgs/by-name/fi/filegive/package.nix +++ b/pkgs/by-name/fi/filegive/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchurl }: +{ + buildGoModule, + lib, + fetchurl, +}: buildGoModule rec { pname = "filegive"; @@ -12,7 +16,10 @@ buildGoModule rec { vendorHash = "sha256-l7FRl58NWGBynMlGu1SCxeVBEzTdxREvUWzmJDiliZM="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://viric.name/cgi-bin/filegive"; diff --git a/pkgs/by-name/fi/fileinfo/package.nix b/pkgs/by-name/fi/fileinfo/package.nix index 08a85eaa3efef..c0dbafd2b00f3 100644 --- a/pkgs/by-name/fi/fileinfo/package.nix +++ b/pkgs/by-name/fi/fileinfo/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication { pname = "fileinfo"; diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix index e28177c485526..6526a677f714a 100644 --- a/pkgs/by-name/fi/files-cli/package.nix +++ b/pkgs/by-name/fi/files-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, testers -, files-cli +{ + lib, + fetchFromGitHub, + buildGoModule, + testers, + files-cli, }: buildGoModule rec { diff --git a/pkgs/by-name/fi/fileshare/package.nix b/pkgs/by-name/fi/fileshare/package.nix index e7c0bc6ad2602..0389ebd0c54ff 100644 --- a/pkgs/by-name/fi/fileshare/package.nix +++ b/pkgs/by-name/fi/fileshare/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchgit, pkg-config, git, libmicrohttpd }: +{ + stdenv, + lib, + fetchgit, + pkg-config, + git, + libmicrohttpd, +}: stdenv.mkDerivation rec { pname = "fileshare"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { sed -i 's,$(shell git rev-parse --short HEAD),/${version},g' Makefile ''; - nativeBuildInputs = [ pkg-config git ]; + nativeBuildInputs = [ + pkg-config + git + ]; buildInputs = [ libmicrohttpd ]; makeFlags = [ "BUILD=release" ]; diff --git a/pkgs/by-name/fi/fileshelter/package.nix b/pkgs/by-name/fi/fileshelter/package.nix index 337f178a1c507..093348d39de22 100644 --- a/pkgs/by-name/fi/fileshelter/package.nix +++ b/pkgs/by-name/fi/fileshelter/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libzip, boost, wt4, libconfig, pkg-config } : +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libzip, + boost, + wt4, + libconfig, + pkg-config, +}: stdenv.mkDerivation rec { pname = "fileshelter"; @@ -13,8 +23,16 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libzip boost wt4 libconfig ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libzip + boost + wt4 + libconfig + ]; NIX_LDFLAGS = "-lpthread"; diff --git a/pkgs/by-name/fi/filet/package.nix b/pkgs/by-name/fi/filet/package.nix index 4ced9fc7b00dd..94d43744245cf 100644 --- a/pkgs/by-name/fi/filet/package.nix +++ b/pkgs/by-name/fi/filet/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "filet"; diff --git a/pkgs/by-name/fi/filter-audio/package.nix b/pkgs/by-name/fi/filter-audio/package.nix index 8b76c151b4728..ae1d63a1e1dee 100644 --- a/pkgs/by-name/fi/filter-audio/package.nix +++ b/pkgs/by-name/fi/filter-audio/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "filter-audio"; @@ -6,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "irungentoo"; - repo ="filter_audio"; + repo = "filter_audio"; rev = "v${version}"; sha256 = "1dv4pram317c1w97cjsv9f6r8cdxhgri7ib0v364z08pk7r2avfn"; }; diff --git a/pkgs/by-name/fi/filtron/package.nix b/pkgs/by-name/fi/filtron/package.nix index 2f6a95367e97d..f4083022478a3 100644 --- a/pkgs/by-name/fi/filtron/package.nix +++ b/pkgs/by-name/fi/filtron/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "filtron"; @@ -26,7 +31,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Reverse HTTP proxy to filter requests by different rules"; diff --git a/pkgs/by-name/fi/fim-rs/package.nix b/pkgs/by-name/fi/fim-rs/package.nix index 2b1cdc313ce39..c10cc2b50a688 100644 --- a/pkgs/by-name/fi/fim-rs/package.nix +++ b/pkgs/by-name/fi/fim-rs/package.nix @@ -1,11 +1,12 @@ -{ lib -, bzip2 -, darwin -, fetchFromGitHub -, pkg-config -, rustPlatform -, stdenv -, zstd +{ + lib, + bzip2, + darwin, + fetchFromGitHub, + pkg-config, + rustPlatform, + stdenv, + zstd, }: rustPlatform.buildRustPackage rec { @@ -31,15 +32,17 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - bzip2 - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.CoreServices - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.CoreServices + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { ZSTD_SYS_USE_PKG_CONFIG = true; diff --git a/pkgs/by-name/fi/fim/package.nix b/pkgs/by-name/fi/fim/package.nix index 79d3052a84a10..8e8954f52d509 100644 --- a/pkgs/by-name/fi/fim/package.nix +++ b/pkgs/by-name/fi/fim/package.nix @@ -1,12 +1,29 @@ -{ stdenv, fetchurl, autoconf, automake, pkg-config, lib -, perl, flex, bison, readline, libexif -, x11Support ? true, SDL -, svgSupport ? true, inkscape -, asciiArtSupport ? true, aalib -, gifSupport ? true, giflib -, tiffSupport ? true, libtiff -, jpegSupport ? true, libjpeg -, pngSupport ? true, libpng +{ + stdenv, + fetchurl, + autoconf, + automake, + pkg-config, + lib, + perl, + flex, + bison, + readline, + libexif, + x11Support ? true, + SDL, + svgSupport ? true, + inkscape, + asciiArtSupport ? true, + aalib, + gifSupport ? true, + giflib, + tiffSupport ? true, + libtiff, + jpegSupport ? true, + libjpeg, + pngSupport ? true, + libpng, }: stdenv.mkDerivation rec { @@ -19,14 +36,24 @@ stdenv.mkDerivation rec { }; postPatch = '' - substituteInPlace doc/vim2html.pl \ - --replace /usr/bin/perl ${perl}/bin/perl + substituteInPlace doc/vim2html.pl \ + --replace /usr/bin/perl ${perl}/bin/perl ''; - nativeBuildInputs = [ autoconf automake pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; buildInputs = - [ perl flex bison readline libexif ] + [ + perl + flex + bison + readline + libexif + ] ++ lib.optional x11Support SDL ++ lib.optional svgSupport inkscape ++ lib.optional asciiArtSupport aalib diff --git a/pkgs/by-name/fi/finamp/package.nix b/pkgs/by-name/fi/finamp/package.nix index 80567e7e2f865..6e5e298e0cc66 100644 --- a/pkgs/by-name/fi/finamp/package.nix +++ b/pkgs/by-name/fi/finamp/package.nix @@ -1,10 +1,11 @@ -{ lib -, flutter327 -, mpv-unwrapped -, patchelf -, fetchFromGitHub -, copyDesktopItems -, makeDesktopItem +{ + lib, + flutter327, + mpv-unwrapped, + patchelf, + fetchFromGitHub, + copyDesktopItems, + makeDesktopItem, }: let version = "0.9.12-beta"; @@ -20,7 +21,10 @@ flutter327.buildFlutterApplication { }; pubspecLock = lib.importJSON ./pubspec.lock.json; - nativeBuildInputs = [ patchelf copyDesktopItems ]; + nativeBuildInputs = [ + patchelf + copyDesktopItems + ]; buildInputs = [ mpv-unwrapped ]; gitHashes = { @@ -32,28 +36,32 @@ flutter327.buildFlutterApplication { }; postFixup = '' - patchelf $out/app/$pname/finamp --add-needed libisar.so --add-needed libmpv.so --add-rpath ${lib.makeLibraryPath [ mpv-unwrapped ]} + patchelf $out/app/$pname/finamp --add-needed libisar.so --add-needed libmpv.so --add-rpath ${ + lib.makeLibraryPath [ mpv-unwrapped ] + } ''; postInstall = '' install -Dm644 $src/assets/icon/icon_foreground.svg $out/share/icons/hicolor/scalable/apps/finamp.svg ''; - desktopItems = [(makeDesktopItem { - name = "Finamp"; - desktopName = "Finamp"; - genericName = "Music Player"; - exec = "finamp"; - icon = "finamp"; - startupWMClass = "finamp"; - comment = "An open source Jellyfin music player"; - categories = [ - "AudioVideo" - "Audio" - "Player" - "Music" - ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = "Finamp"; + desktopName = "Finamp"; + genericName = "Music Player"; + exec = "finamp"; + icon = "finamp"; + startupWMClass = "finamp"; + comment = "An open source Jellyfin music player"; + categories = [ + "AudioVideo" + "Audio" + "Player" + "Music" + ]; + }) + ]; meta = { description = "Open source Jellyfin music player"; diff --git a/pkgs/by-name/fi/find-billy/package.nix b/pkgs/by-name/fi/find-billy/package.nix index 6ff964c684e9d..94ca57036c368 100644 --- a/pkgs/by-name/fi/find-billy/package.nix +++ b/pkgs/by-name/fi/find-billy/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitea -, godot3-headless -, godot3-export-templates -, godot3 -, makeWrapper -, just -, inkscape -, imagemagick +{ + stdenv, + lib, + fetchFromGitea, + godot3-headless, + godot3-export-templates, + godot3, + makeWrapper, + just, + inkscape, + imagemagick, }: stdenv.mkDerivation rec { @@ -24,7 +25,13 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ godot3-headless makeWrapper just inkscape imagemagick ]; + nativeBuildInputs = [ + godot3-headless + makeWrapper + just + inkscape + imagemagick + ]; postPatch = '' substituteInPlace export_presets.cfg --replace 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor diff --git a/pkgs/by-name/fi/find-cursor/package.nix b/pkgs/by-name/fi/find-cursor/package.nix index 3b9862a47dea2..5e385d8fd94b7 100644 --- a/pkgs/by-name/fi/find-cursor/package.nix +++ b/pkgs/by-name/fi/find-cursor/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXdamage, libXrender, libXcomposite, libXext, installShellFiles, git }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXdamage, + libXrender, + libXcomposite, + libXext, + installShellFiles, + git, +}: stdenv.mkDerivation rec { pname = "find-cursor"; @@ -11,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-/Dw4bOTCnpCbeI0YJ5DJ9Q2AGBognylUk7xYGn0KIA8="; }; - nativeBuildInputs = [ installShellFiles git ]; - buildInputs = [ libX11 libXdamage libXrender libXcomposite libXext ]; + nativeBuildInputs = [ + installShellFiles + git + ]; + buildInputs = [ + libX11 + libXdamage + libXrender + libXcomposite + libXext + ]; preInstall = "mkdir -p $out/share/man/man1"; installFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/by-name/fi/findbugs/package.nix b/pkgs/by-name/fi/findbugs/package.nix index a3f52f8da092e..ebe78c3360d66 100644 --- a/pkgs/by-name/fi/findbugs/package.nix +++ b/pkgs/by-name/fi/findbugs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "findbugs"; diff --git a/pkgs/by-name/fi/findex/package.nix b/pkgs/by-name/fi/findex/package.nix index 20187d526337b..3823e28c302ee 100644 --- a/pkgs/by-name/fi/findex/package.nix +++ b/pkgs/by-name/fi/findex/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook3 -, keybinder3 +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook3, + keybinder3, }: rustPlatform.buildRustPackage rec { @@ -26,7 +27,10 @@ rustPlatform.buildRustPackage rec { --replace-fail '/opt/findex/style.css' "$out/share/findex/style.css" ''; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ keybinder3 ]; diff --git a/pkgs/by-name/fi/findnewest/package.nix b/pkgs/by-name/fi/findnewest/package.nix index adf791cf60302..da66750e3e750 100644 --- a/pkgs/by-name/fi/findnewest/package.nix +++ b/pkgs/by-name/fi/findnewest/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "findnewest"; diff --git a/pkgs/by-name/fi/findomain/package.nix b/pkgs/by-name/fi/findomain/package.nix index 7fed4c99daae2..09e666128b6e9 100644 --- a/pkgs/by-name/fi/findomain/package.nix +++ b/pkgs/by-name/fi/findomain/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -34,11 +35,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { OPENSSL_NO_VENDOR = true; @@ -53,7 +56,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Findomain/Findomain"; changelog = "https://github.com/Findomain/Findomain/releases/tag/${version}"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ Br1ght0ne figsoda ]; + maintainers = with maintainers; [ + Br1ght0ne + figsoda + ]; mainProgram = "findomain"; }; } diff --git a/pkgs/by-name/fi/findup/package.nix b/pkgs/by-name/fi/findup/package.nix index eaba884d79d9d..77db64a887cde 100644 --- a/pkgs/by-name/fi/findup/package.nix +++ b/pkgs/by-name/fi/findup/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, zig_0_10 +{ + lib, + stdenv, + fetchFromGitHub, + testers, + zig_0_10, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fi/fingerprintx/package.nix b/pkgs/by-name/fi/fingerprintx/package.nix index b081d82dfd70e..087d587a0f5dd 100644 --- a/pkgs/by-name/fi/fingerprintx/package.nix +++ b/pkgs/by-name/fi/fingerprintx/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/fi/fio/package.nix b/pkgs/by-name/fi/fio/package.nix index 1f3ea68c2c8a0..f6bb6cf6ef9bc 100644 --- a/pkgs/by-name/fi/fio/package.nix +++ b/pkgs/by-name/fi/fio/package.nix @@ -1,26 +1,39 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper -, libaio, python3, zlib -, withGnuplot ? false, gnuplot ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + libaio, + python3, + zlib, + withGnuplot ? false, + gnuplot ? null, +}: stdenv.mkDerivation rec { pname = "fio"; version = "3.38"; src = fetchFromGitHub { - owner = "axboe"; - repo = "fio"; - rev = "fio-${version}"; + owner = "axboe"; + repo = "fio"; + rev = "fio-${version}"; sha256 = "sha256-hjU6be1+x4YsY9hztqSD5zIxojs6qRZH7GwEkxPwdus="; }; - buildInputs = [ python3 zlib ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) libaio; + buildInputs = [ + python3 + zlib + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) libaio; # ./configure does not support autoconf-style --build=/--host=. # We use $CC instead. configurePlatforms = [ ]; - nativeBuildInputs = [ makeWrapper python3.pkgs.wrapPython ]; + nativeBuildInputs = [ + makeWrapper + python3.pkgs.wrapPython + ]; strictDeps = true; diff --git a/pkgs/by-name/fi/fioctl/package.nix b/pkgs/by-name/fi/fioctl/package.nix index b930e65cbbe87..26d5ba7b9f89e 100644 --- a/pkgs/by-name/fi/fioctl/package.nix +++ b/pkgs/by-name/fi/fioctl/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, fioctl }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + fioctl, +}: buildGoModule rec { pname = "fioctl"; @@ -14,7 +21,8 @@ buildGoModule rec { vendorHash = "sha256-SUjHHsZGi5C5juYdJJ0Z7i6P6gySQOdn1VaReCIwfzU="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/foundriesio/fioctl/subcommands/version.Commit=${src.rev}" ]; @@ -37,7 +45,10 @@ buildGoModule rec { description = "Simple CLI to manage your Foundries Factory"; homepage = "https://github.com/foundriesio/fioctl"; license = licenses.asl20; - maintainers = with maintainers; [ nixinator matthewcroughan ]; + maintainers = with maintainers; [ + nixinator + matthewcroughan + ]; mainProgram = "fioctl"; }; } diff --git a/pkgs/by-name/fi/fira-go/package.nix b/pkgs/by-name/fi/fira-go/package.nix index a850d7d2e97c8..1f5d3edd706df 100644 --- a/pkgs/by-name/fi/fira-go/package.nix +++ b/pkgs/by-name/fi/fira-go/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "fira-go"; diff --git a/pkgs/by-name/fi/fira-math/package.nix b/pkgs/by-name/fi/fira-math/package.nix index 58b72f6b740ec..b9eb000366f48 100644 --- a/pkgs/by-name/fi/fira-math/package.nix +++ b/pkgs/by-name/fi/fira-math/package.nix @@ -1,10 +1,16 @@ -{ lib, fetchFromGitHub, python3, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + python3, + stdenvNoCC, +}: let pname = "fira-math"; date = "2023-10-09"; version = "0.3.4-unstable-${date}"; -in stdenvNoCC.mkDerivation { +in +stdenvNoCC.mkDerivation { inherit pname version; src = fetchFromGitHub { @@ -15,12 +21,14 @@ in stdenvNoCC.mkDerivation { }; nativeBuildInputs = [ - (python3.withPackages (ps: with ps; [ - fontmake - fonttools - glyphslib - toml - ])) + (python3.withPackages ( + ps: with ps; [ + fontmake + fonttools + glyphslib + toml + ] + )) ]; buildPhase = '' diff --git a/pkgs/by-name/fi/fira-mono/package.nix b/pkgs/by-name/fi/fira-mono/package.nix index 5925b665eb81c..40f2f15843443 100644 --- a/pkgs/by-name/fi/fira-mono/package.nix +++ b/pkgs/by-name/fi/fira-mono/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation rec { @@ -8,7 +9,9 @@ stdenvNoCC.mkDerivation rec { version = "3.2"; src = fetchzip { - url = "https://bboxtype.com/downloads/Fira/Fira_Mono_${lib.replaceStrings ["."] ["_"] version}.zip"; + url = "https://bboxtype.com/downloads/Fira/Fira_Mono_${ + lib.replaceStrings [ "." ] [ "_" ] version + }.zip"; hash = "sha256-Ukc+K2sdSz+vUQFD8mmwJHZQ3N68oM4fk6YzGLwzAfQ="; }; diff --git a/pkgs/by-name/fi/fira-sans/package.nix b/pkgs/by-name/fi/fira-sans/package.nix index 0a2bc0e0f6284..00618336cf26a 100644 --- a/pkgs/by-name/fi/fira-sans/package.nix +++ b/pkgs/by-name/fi/fira-sans/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation rec { @@ -8,7 +9,9 @@ stdenvNoCC.mkDerivation rec { version = "4.301"; src = fetchzip { - url = "https://bboxtype.com/downloads/Fira/Download_Folder_FiraSans_${lib.replaceStrings ["."] [""] version}.zip"; + url = "https://bboxtype.com/downloads/Fira/Download_Folder_FiraSans_${ + lib.replaceStrings [ "." ] [ "" ] version + }.zip"; hash = "sha256-WBt3oqPK7ACqMhilYkyFx9Ek2ugwdCDFZN+8HLRnGRs"; stripRoot = false; }; diff --git a/pkgs/by-name/fi/fira/package.nix b/pkgs/by-name/fi/fira/package.nix index 9d2869ac53570..b2aa6c6acd0fd 100644 --- a/pkgs/by-name/fi/fira/package.nix +++ b/pkgs/by-name/fi/fira/package.nix @@ -1,7 +1,8 @@ -{ lib -, symlinkJoin -, fira-mono -, fira-sans +{ + lib, + symlinkJoin, + fira-mono, + fira-sans, }: symlinkJoin rec { diff --git a/pkgs/by-name/fi/firectl/package.nix b/pkgs/by-name/fi/firectl/package.nix index 9f8da61d3e486..ec6e30949ae95 100644 --- a/pkgs/by-name/fi/firectl/package.nix +++ b/pkgs/by-name/fi/firectl/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/fi/firefly-desktop/package.nix b/pkgs/by-name/fi/firefly-desktop/package.nix index 6e32f7431b642..11a86b93cc061 100644 --- a/pkgs/by-name/fi/firefly-desktop/package.nix +++ b/pkgs/by-name/fi/firefly-desktop/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "firefly-desktop"; @@ -9,7 +13,8 @@ let }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraPkgs = pkgs: [ pkgs.libsecret ]; diff --git a/pkgs/by-name/fi/firefly-iii/package.nix b/pkgs/by-name/fi/firefly-iii/package.nix index c6ad0f9bb0e33..70b8da259218a 100644 --- a/pkgs/by-name/fi/firefly-iii/package.nix +++ b/pkgs/by-name/fi/firefly-iii/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC -, nodejs -, fetchNpmDeps -, buildPackages -, php83 -, nixosTests -, nix-update-script -, dataDir ? "/var/lib/firefly-iii" +{ + lib, + fetchFromGitHub, + stdenvNoCC, + nodejs, + fetchNpmDeps, + buildPackages, + php83, + nixosTests, + nix-update-script, + dataDir ? "/var/lib/firefly-iii", }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -81,7 +82,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Firefly III: a personal finances manager"; homepage = "https://github.com/firefly-iii/firefly-iii"; license = lib.licenses.agpl3Only; - maintainers = [ lib.maintainers.savyajha lib.maintainers.patrickdag ]; + maintainers = [ + lib.maintainers.savyajha + lib.maintainers.patrickdag + ]; hydraPlatforms = lib.platforms.linux; # build hangs on both Darwin platforms, needs investigation }; }) diff --git a/pkgs/by-name/fi/firejail/package.nix b/pkgs/by-name/fi/firejail/package.nix index 768d07dab900f..b998bf6f583a3 100644 --- a/pkgs/by-name/fi/firejail/package.nix +++ b/pkgs/by-name/fi/firejail/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libapparmor -, which -, xdg-dbus-proxy -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libapparmor, + which, + xdg-dbus-proxy, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fi/firestarter/package.nix b/pkgs/by-name/fi/firestarter/package.nix index 55e1700c5c858..748f2b44e726f 100644 --- a/pkgs/by-name/fi/firestarter/package.nix +++ b/pkgs/by-name/fi/firestarter/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchzip -, addDriverRunpath -, cmake -, glibc_multi -, glibc -, git -, pkg-config -, cudaPackages ? {} -, withCuda ? false +{ + stdenv, + lib, + fetchFromGitHub, + fetchzip, + addDriverRunpath, + cmake, + glibc_multi, + glibc, + git, + pkg-config, + cudaPackages ? { }, + withCuda ? false, }: let @@ -46,7 +47,13 @@ let enableParallelBuilding = true; - outputs = [ "out" "lib" "dev" "doc" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + "man" + ]; }; in @@ -62,30 +69,41 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ - cmake - git - pkg-config - ] ++ lib.optionals withCuda [ - addDriverRunpath - ]; + nativeBuildInputs = + [ + cmake + git + pkg-config + ] + ++ lib.optionals withCuda [ + addDriverRunpath + ]; - buildInputs = [ hwloc ] ++ (if withCuda then - [ glibc_multi cudatoolkit ] - else - [ glibc.static ]); + buildInputs = + [ hwloc ] + ++ ( + if withCuda then + [ + glibc_multi + cudatoolkit + ] + else + [ glibc.static ] + ); NIX_LDFLAGS = lib.optionals withCuda [ "-L${cudatoolkit}/lib/stubs" ]; - cmakeFlags = [ - "-DFIRESTARTER_BUILD_HWLOC=OFF" - "-DCMAKE_C_COMPILER_WORKS=1" - "-DCMAKE_CXX_COMPILER_WORKS=1" - ] ++ lib.optionals withCuda [ - "-DFIRESTARTER_BUILD_TYPE=FIRESTARTER_CUDA" - ]; + cmakeFlags = + [ + "-DFIRESTARTER_BUILD_HWLOC=OFF" + "-DCMAKE_C_COMPILER_WORKS=1" + "-DCMAKE_CXX_COMPILER_WORKS=1" + ] + ++ lib.optionals withCuda [ + "-DFIRESTARTER_BUILD_TYPE=FIRESTARTER_CUDA" + ]; installPhase = '' runHook preInstall @@ -103,7 +121,10 @@ stdenv.mkDerivation rec { homepage = "https://tu-dresden.de/zih/forschung/projekte/firestarter"; description = "Processor Stress Test Utility"; platforms = platforms.linux; - maintainers = with maintainers; [ astro marenz ]; + maintainers = with maintainers; [ + astro + marenz + ]; license = licenses.gpl3; mainProgram = "FIRESTARTER"; }; diff --git a/pkgs/by-name/fi/firewalk/package.nix b/pkgs/by-name/fi/firewalk/package.nix index 13497d99c4439..4f1c365d6088b 100644 --- a/pkgs/by-name/fi/firewalk/package.nix +++ b/pkgs/by-name/fi/firewalk/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, libnet -, libpcap -, libdnet +{ + lib, + stdenv, + fetchurl, + libnet, + libpcap, + libdnet, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-f0sHzcH3faeg7epfpWXbgaHrRWaWBKMEqLdy38+svGo="; }; - buildInputs = [ libnet libpcap libdnet ]; + buildInputs = [ + libnet + libpcap + libdnet + ]; meta = with lib; { description = "Gateway ACL scanner"; diff --git a/pkgs/by-name/fi/firmware-manager/package.nix b/pkgs/by-name/fi/firmware-manager/package.nix index 1682f16c39035..1364c58e03906 100644 --- a/pkgs/by-name/fi/firmware-manager/package.nix +++ b/pkgs/by-name/fi/firmware-manager/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, cargo -, pkg-config -, rustc -, openssl -, udev -, gtk3 -, wrapGAppsHook3 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + cargo, + pkg-config, + rustc, + openssl, + udev, + gtk3, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -53,7 +54,10 @@ stdenv.mkDerivation rec { meta = { description = "Graphical frontend for firmware management"; homepage = "https://github.com/pop-os/firmware-manager"; - license = with lib.licenses; [ gpl3Plus cc0 ]; + license = with lib.licenses; [ + gpl3Plus + cc0 + ]; mainProgram = "com.system76.FirmwareManager"; maintainers = [ lib.maintainers.shlevy ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/fi/firmware-updater/package.nix b/pkgs/by-name/fi/firmware-updater/package.nix index 626f0502c48a2..28feae8624221 100644 --- a/pkgs/by-name/fi/firmware-updater/package.nix +++ b/pkgs/by-name/fi/firmware-updater/package.nix @@ -1,7 +1,8 @@ -{ lib -, writeText -, flutter -, fetchFromGitHub +{ + lib, + writeText, + flutter, + fetchFromGitHub, }: flutter.buildFlutterApplication rec { diff --git a/pkgs/by-name/fi/firrtl/package.nix b/pkgs/by-name/fi/firrtl/package.nix index 3f005243d6074..a3718753af657 100644 --- a/pkgs/by-name/fi/firrtl/package.nix +++ b/pkgs/by-name/fi/firrtl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, jre, setJavaClassPath, coursier, makeWrapper }: +{ + lib, + stdenv, + jre, + setJavaClassPath, + coursier, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "firrtl"; @@ -19,7 +26,10 @@ stdenv.mkDerivation rec { outputHash = "sha256-xy3zdJZk6Q2HbEn5tRQ9Z0AjyXEteXepoWDaATjiUUw="; }; - nativeBuildInputs = [ makeWrapper setJavaClassPath ]; + nativeBuildInputs = [ + makeWrapper + setJavaClassPath + ]; buildInputs = [ deps ]; dontUnpack = true; @@ -36,13 +46,13 @@ stdenv.mkDerivation rec { doInstallCheck = true; installCheckPhase = '' $out/bin/firrtl --firrtl-source "${'' - circuit test: - module test: - input a: UInt<8> - input b: UInt<8> - output o: UInt - o <= add(a, not(b)) - ''}" -o test.v + circuit test: + module test: + input a: UInt<8> + input b: UInt<8> + output o: UInt + o <= add(a, not(b)) + ''}" -o test.v cat test.v grep -qFe "module test" -e "endmodule" test.v ''; @@ -56,6 +66,6 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.chisel-lang.org/firrtl/"; license = licenses.asl20; - maintainers = [ ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/fi/fish-fillets-ng/package.nix b/pkgs/by-name/fi/fish-fillets-ng/package.nix index dc2d01ec9e94a..7a0a88f9739d9 100644 --- a/pkgs/by-name/fi/fish-fillets-ng/package.nix +++ b/pkgs/by-name/fi/fish-fillets-ng/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, copyDesktopItems, SDL, lua5_1, pkg-config, SDL_mixer, SDL_image, SDL_ttf }: +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + copyDesktopItems, + SDL, + lua5_1, + pkg-config, + SDL_mixer, + SDL_image, + SDL_ttf, +}: stdenv.mkDerivation rec { pname = "fish-fillets-ng"; @@ -13,17 +25,31 @@ stdenv.mkDerivation rec { sha256 = "169p0yqh2gxvhdilvjc2ld8aap7lv2nhkhkg4i1hlmgc6pxpkjgh"; }; - nativeBuildInputs = [ pkg-config copyDesktopItems ]; - buildInputs = [ SDL lua5_1 SDL_mixer SDL_image SDL_ttf ]; + nativeBuildInputs = [ + pkg-config + copyDesktopItems + ]; + buildInputs = [ + SDL + lua5_1 + SDL_mixer + SDL_image + SDL_ttf + ]; - desktopItems = [ (makeDesktopItem { - name = "fish-fillets-ng"; - exec = "fillets"; - icon = "fish-fillets-ng"; - desktopName = "Fish Fillets"; - comment = "Puzzle game about witty fish saving the world sokoban-style"; - categories = [ "Game" "LogicGame" ]; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "fish-fillets-ng"; + exec = "fillets"; + icon = "fish-fillets-ng"; + desktopName = "Fish Fillets"; + comment = "Puzzle game about witty fish saving the world sokoban-style"; + categories = [ + "Game" + "LogicGame" + ]; + }) + ]; postInstall = '' mkdir -p $out/share/games/fillets-ng diff --git a/pkgs/by-name/fi/fish-irssi/package.nix b/pkgs/by-name/fi/fish-irssi/package.nix index a5ee8b7cef628..2421017aab0ca 100644 --- a/pkgs/by-name/fi/fish-irssi/package.nix +++ b/pkgs/by-name/fi/fish-irssi/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, glib, openssl, irssi }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + glib, + openssl, + irssi, +}: stdenv.mkDerivation rec { pname = "fish-irssi"; @@ -13,9 +22,15 @@ stdenv.mkDerivation rec { patches = [ ./irssi-include-dir.patch ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ glib openssl ]; + buildInputs = [ + glib + openssl + ]; cmakeFlags = [ "-DIRSSI_INCLUDE_PATH:PATH=${irssi}/include" ]; diff --git a/pkgs/by-name/fi/fits-cloudctl/package.nix b/pkgs/by-name/fi/fits-cloudctl/package.nix index e4c56659c7332..95a0461cdcc84 100644 --- a/pkgs/by-name/fi/fits-cloudctl/package.nix +++ b/pkgs/by-name/fi/fits-cloudctl/package.nix @@ -1,14 +1,15 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "fits-cloudctl"; version = "0.12.21"; # also update these 3 vars: gitversion = "tags/v0.12.21-0-g0a0d89a"; # git describe --long --all - gitsha = "0a0d89a8"; # git rev-parse --short=8 HEAD - gittime = "2024-05-15T17:34:46+02:00"; # date --iso-8601=seconds + gitsha = "0a0d89a8"; # git rev-parse --short=8 HEAD + gittime = "2024-05-15T17:34:46+02:00"; # date --iso-8601=seconds src = fetchFromGitHub { owner = "fi-ts"; diff --git a/pkgs/by-name/fi/fitsverify/package.nix b/pkgs/by-name/fi/fitsverify/package.nix index b755e71616f80..c0cd705be1fc3 100644 --- a/pkgs/by-name/fi/fitsverify/package.nix +++ b/pkgs/by-name/fi/fitsverify/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, cfitsio +{ + lib, + stdenv, + fetchurl, + cfitsio, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fi/fityk/package.nix b/pkgs/by-name/fi/fityk/package.nix index ed906e7d4c3df..581b717c0be84 100644 --- a/pkgs/by-name/fi/fityk/package.nix +++ b/pkgs/by-name/fi/fityk/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, wxGTK32 -, boost -, lua -, zlib -, bzip2 -, xylib -, readline -, gnuplot -, swig +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + wxGTK32, + boost, + lua, + zlib, + bzip2, + xylib, + readline, + gnuplot, + swig, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fi/fixedsys-excelsior/package.nix b/pkgs/by-name/fi/fixedsys-excelsior/package.nix index dec1ea062bbc4..f0d4154b98fdd 100644 --- a/pkgs/by-name/fi/fixedsys-excelsior/package.nix +++ b/pkgs/by-name/fi/fixedsys-excelsior/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "fixedsys-excelsior"; diff --git a/pkgs/by-name/fi/fixjson/package.nix b/pkgs/by-name/fi/fixjson/package.nix index 52ed03c690f5f..37623c8bcc4f8 100644 --- a/pkgs/by-name/fi/fixjson/package.nix +++ b/pkgs/by-name/fi/fixjson/package.nix @@ -1,7 +1,7 @@ { lib, buildNpmPackage, - fetchFromGitHub + fetchFromGitHub, }: buildNpmPackage { diff --git a/pkgs/by-name/fj/fjo/package.nix b/pkgs/by-name/fj/fjo/package.nix index 7671073cd3eeb..d843a8947a43f 100644 --- a/pkgs/by-name/fj/fjo/package.nix +++ b/pkgs/by-name/fj/fjo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitea, rustPlatform, openssl, pkg-config }: +{ + lib, + stdenv, + fetchFromGitea, + rustPlatform, + openssl, + pkg-config, +}: rustPlatform.buildRustPackage rec { pname = "fjo"; diff --git a/pkgs/by-name/fl/flac/package.nix b/pkgs/by-name/fl/flac/package.nix index 09ce3341aa547..aea4cc4378e2e 100644 --- a/pkgs/by-name/fl/flac/package.nix +++ b/pkgs/by-name/fl/flac/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, doxygen -, graphviz -, libogg +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + doxygen, + graphviz, + libogg, }: stdenv.mkDerivation rec { @@ -33,12 +34,21 @@ stdenv.mkDerivation rec { "-DBUILD_SHARED_LIBS=ON" ]; - CFLAGS = [ "-O3" "-funroll-loops" ]; + CFLAGS = [ + "-O3" + "-funroll-loops" + ]; CXXFLAGS = [ "-O3" ]; # doCheck = true; # takes lots of time - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; meta = with lib; { homepage = "https://xiph.org/flac/"; diff --git a/pkgs/by-name/fl/flac2all/package.nix b/pkgs/by-name/fl/flac2all/package.nix index 7020879eae9bf..fb9a420a1aa54 100644 --- a/pkgs/by-name/fl/flac2all/package.nix +++ b/pkgs/by-name/fl/flac2all/package.nix @@ -1,4 +1,13 @@ -{ python3Packages, fetchPypi, lib, flac, lame, opusTools, vorbis-tools, ffmpeg }: +{ + python3Packages, + fetchPypi, + lib, + flac, + lame, + opusTools, + vorbis-tools, + ffmpeg, +}: python3Packages.buildPythonApplication rec { pname = "flac2all"; @@ -20,20 +29,25 @@ python3Packages.buildPythonApplication rec { postInstall = '' wrapProgram $out/bin/flac2all \ - --set PATH ${lib.makeBinPath [ - # Hard requirements - flac - lame - # Optional deps depending on encoding types - opusTools - vorbis-tools - ffmpeg - ]} + --set PATH ${ + lib.makeBinPath [ + # Hard requirements + flac + lame + # Optional deps depending on encoding types + opusTools + vorbis-tools + ffmpeg + ] + } ''; # Has no standard tests, so we verify a few imports instead. doCheck = false; - pythonImportsCheck = [ "flac2all_pkg.vorbis" "flac2all_pkg.mp3" ]; + pythonImportsCheck = [ + "flac2all_pkg.vorbis" + "flac2all_pkg.mp3" + ]; meta = with lib; { description = "Multi process, clustered, FLAC to multi codec audio converter with tagging support"; diff --git a/pkgs/by-name/fl/flam3/package.nix b/pkgs/by-name/fl/flam3/package.nix index 121485b081e87..6e32ccc5a7972 100644 --- a/pkgs/by-name/fl/flam3/package.nix +++ b/pkgs/by-name/fl/flam3/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, libjpeg -, libpng -, libxml2 -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + libjpeg, + libpng, + libxml2, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flamegraph/package.nix b/pkgs/by-name/fl/flamegraph/package.nix index d80354b68c7ab..968c3efa6e82e 100644 --- a/pkgs/by-name/fl/flamegraph/package.nix +++ b/pkgs/by-name/fl/flamegraph/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "FlameGraph"; @@ -32,7 +37,11 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - license = with licenses; [ asl20 cddl gpl2Plus ]; + license = with licenses; [ + asl20 + cddl + gpl2Plus + ]; homepage = "http://www.brendangregg.com/flamegraphs.html"; description = "Visualization for profiled code"; mainProgram = "flamegraph.pl"; diff --git a/pkgs/by-name/fl/flamerobin/package.nix b/pkgs/by-name/fl/flamerobin/package.nix index de0f06fa5a008..a49ed58d38592 100644 --- a/pkgs/by-name/fl/flamerobin/package.nix +++ b/pkgs/by-name/fl/flamerobin/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, wxGTK32 -, boost -, firebird +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + wxGTK32, + boost, + firebird, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flamp/package.nix b/pkgs/by-name/fl/flamp/package.nix index 6dc8c81c1f952..27e6797ea2be6 100644 --- a/pkgs/by-name/fl/flamp/package.nix +++ b/pkgs/by-name/fl/flamp/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchgit -, autoreconfHook -, pkg-config -, fltk13 -, gettext +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + fltk13, + gettext, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fl/flann/package.nix b/pkgs/by-name/fl/flann/package.nix index 52d64f18e8e50..d68def287d012 100644 --- a/pkgs/by-name/fl/flann/package.nix +++ b/pkgs/by-name/fl/flann/package.nix @@ -1,13 +1,14 @@ -{ lib -, cmake -, fetchFromGitHub -, fetchpatch -, lz4 -, pkg-config -, python3 -, stdenv -, unzip -, enablePython ? false +{ + lib, + cmake, + fetchFromGitHub, + fetchpatch, + lz4, + pkg-config, + python3, + stdenv, + unzip, + enablePython ? false, }: stdenv.mkDerivation rec { @@ -21,35 +22,38 @@ stdenv.mkDerivation rec { sha256 = "13lg9nazj5s9a41j61vbijy04v6839i67lqd925xmxsbybf36gjc"; }; - patches = [ - # Patch HDF5_INCLUDE_DIR -> HDF_INCLUDE_DIRS. - (fetchpatch { - url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-Updated-fix-cmake-hdf5.patch"; - sha256 = "yM1ONU4mu6lctttM5YcSTg8F344TNUJXwjxXLqzr5Pk="; - }) - # Patch no-source library workaround that breaks on CMake > 3.11. - (fetchpatch { - url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-src-cpp-fix-cmake-3.11-build.patch"; - sha256 = "REsBnbe6vlrZ+iCcw43kR5wy2o6q10RM73xjW5kBsr4="; - }) - ] ++ lib.optionals (!stdenv.cc.isClang) [ - # Avoid the bundled version of LZ4 and instead use the system one. - (fetchpatch { - url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0003-Use-system-version-of-liblz4.patch"; - sha256 = "xi+GyFn9PEjLgbJeAIEmsbp7ut9G9KIBkVulyT3nfsg="; - }) - # Fix LZ4 string separator issue, see: https://github.com/flann-lib/flann/pull/480 - (fetchpatch { - url = "https://github.com/flann-lib/flann/commit/25eb56ec78472bd419a121c6905095a793cf8992.patch"; - sha256 = "qt8h576Gn8uR7+T9u9bEBIRz6e6AoTKpa1JfdZVvW9s="; - }) - ] ++ lib.optionals stdenv.cc.isClang [ - # Fix build with Clang 16. - (fetchpatch { - url = "https://github.com/flann-lib/flann/commit/be80cefa69b314a3d9e1ab971715e84145863ebb.patch"; - hash = "sha256-4SUKzQCm0Sx8N43Z6ShuMbgbbe7q8b2Ibk3WgkB0qa4="; - }) - ]; + patches = + [ + # Patch HDF5_INCLUDE_DIR -> HDF_INCLUDE_DIRS. + (fetchpatch { + url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-Updated-fix-cmake-hdf5.patch"; + sha256 = "yM1ONU4mu6lctttM5YcSTg8F344TNUJXwjxXLqzr5Pk="; + }) + # Patch no-source library workaround that breaks on CMake > 3.11. + (fetchpatch { + url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0001-src-cpp-fix-cmake-3.11-build.patch"; + sha256 = "REsBnbe6vlrZ+iCcw43kR5wy2o6q10RM73xjW5kBsr4="; + }) + ] + ++ lib.optionals (!stdenv.cc.isClang) [ + # Avoid the bundled version of LZ4 and instead use the system one. + (fetchpatch { + url = "https://salsa.debian.org/science-team/flann/-/raw/debian/1.9.1+dfsg-9/debian/patches/0003-Use-system-version-of-liblz4.patch"; + sha256 = "xi+GyFn9PEjLgbJeAIEmsbp7ut9G9KIBkVulyT3nfsg="; + }) + # Fix LZ4 string separator issue, see: https://github.com/flann-lib/flann/pull/480 + (fetchpatch { + url = "https://github.com/flann-lib/flann/commit/25eb56ec78472bd419a121c6905095a793cf8992.patch"; + sha256 = "qt8h576Gn8uR7+T9u9bEBIRz6e6AoTKpa1JfdZVvW9s="; + }) + ] + ++ lib.optionals stdenv.cc.isClang [ + # Fix build with Clang 16. + (fetchpatch { + url = "https://github.com/flann-lib/flann/commit/be80cefa69b314a3d9e1ab971715e84145863ebb.patch"; + hash = "sha256-4SUKzQCm0Sx8N43Z6ShuMbgbbe7q8b2Ibk3WgkB0qa4="; + }) + ]; cmakeFlags = [ "-DBUILD_EXAMPLES:BOOL=OFF" diff --git a/pkgs/by-name/fl/flare-signal/package.nix b/pkgs/by-name/fl/flare-signal/package.nix index 80cb2dc8948e5..f501c4891ac41 100644 --- a/pkgs/by-name/fl/flare-signal/package.nix +++ b/pkgs/by-name/fl/flare-signal/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitLab -, cargo -, meson -, ninja -, pkg-config -, gst_all_1 -, protobuf -, libspelling -, libsecret -, libadwaita -, gtksourceview5 -, rustPlatform -, rustc -, appstream-glib -, blueprint-compiler -, desktop-file-utils -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitLab, + cargo, + meson, + ninja, + pkg-config, + gst_all_1, + protobuf, + libspelling, + libsecret, + libadwaita, + gtksourceview5, + rustPlatform, + rustc, + appstream-glib, + blueprint-compiler, + desktop-file-utils, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fl/flarectl/package.nix b/pkgs/by-name/fl/flarectl/package.nix index deec18b18a510..93c80ff7a457c 100644 --- a/pkgs/by-name/fl/flarectl/package.nix +++ b/pkgs/by-name/fl/flarectl/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { subPackages = [ "cmd/flarectl" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "CLI application for interacting with a Cloudflare account"; diff --git a/pkgs/by-name/fl/flashbench/package.nix b/pkgs/by-name/fl/flashbench/package.nix index 619aea69aa64a..c04a2a2ff1e84 100644 --- a/pkgs/by-name/fl/flashbench/package.nix +++ b/pkgs/by-name/fl/flashbench/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "flashbench-unstable"; diff --git a/pkgs/by-name/fl/flashfocus/package.nix b/pkgs/by-name/fl/flashfocus/package.nix index f49c7936f60e7..1668b2611fb59 100644 --- a/pkgs/by-name/fl/flashfocus/package.nix +++ b/pkgs/by-name/fl/flashfocus/package.nix @@ -1,4 +1,12 @@ -{ lib, python3Packages, fetchPypi, netcat-openbsd, procps, bash, nix-update-script }: +{ + lib, + python3Packages, + fetchPypi, + netcat-openbsd, + procps, + bash, + nix-update-script, +}: python3Packages.buildPythonApplication rec { pname = "flashfocus"; diff --git a/pkgs/by-name/fl/flashgbx/package.nix b/pkgs/by-name/fl/flashgbx/package.nix index cb5f803c63b3c..c38f37464777e 100644 --- a/pkgs/by-name/fl/flashgbx/package.nix +++ b/pkgs/by-name/fl/flashgbx/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3Packages -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, qt6 +{ + lib, + python3Packages, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + qt6, }: python3Packages.buildPythonApplication rec { @@ -28,9 +29,8 @@ python3Packages.buildPythonApplication rec { }) ]; - postInstall = - '' - install -D FlashGBX/res/icon.png $out/share/icons/hicolor/256x256/apps/flashgbx.png + postInstall = '' + install -D FlashGBX/res/icon.png $out/share/icons/hicolor/256x256/apps/flashgbx.png ''; pyproject = true; @@ -41,17 +41,20 @@ python3Packages.buildPythonApplication rec { qt6.wrapQtAppsHook ]; - propagatedBuildInputs = with python3Packages; [ - pillow - pyserial - pyside6 - python-dateutil - requests - setuptools - qt6.qtbase - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qt6.qtwayland - ]; + propagatedBuildInputs = + with python3Packages; + [ + pillow + pyserial + pyside6 + python-dateutil + requests + setuptools + qt6.qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qt6.qtwayland + ]; meta = with lib; { description = "GUI for reading and writing GB and GBA cartridges with the GBxCart RW"; diff --git a/pkgs/by-name/fl/flashmq/package.nix b/pkgs/by-name/fl/flashmq/package.nix index c37fdb1f179ef..8100c6ae91489 100644 --- a/pkgs/by-name/fl/flashmq/package.nix +++ b/pkgs/by-name/fl/flashmq/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, installShellFiles, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + installShellFiles, + openssl, +}: stdenv.mkDerivation rec { pname = "flashmq"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-sr3gKCovw5bhX9WsuiHQxwq/SaoLHOPCoNjtSop8ka8="; }; - nativeBuildInputs = [ cmake installShellFiles ]; + nativeBuildInputs = [ + cmake + installShellFiles + ]; buildInputs = [ openssl ]; diff --git a/pkgs/by-name/fl/flashprog/package.nix b/pkgs/by-name/fl/flashprog/package.nix index 30c9346903d78..2839811d1ed70 100644 --- a/pkgs/by-name/fl/flashprog/package.nix +++ b/pkgs/by-name/fl/flashprog/package.nix @@ -1,15 +1,16 @@ -{ fetchgit -, installShellFiles -, lib -, libftdi1 -, libgpiod -, libjaylink -, libusb1 -, pciutils -, pkg-config -, stdenv -, withJlink ? true -, withGpio ? stdenv.hostPlatform.isLinux +{ + fetchgit, + installShellFiles, + lib, + libftdi1, + libgpiod, + libjaylink, + libusb1, + pciutils, + pkg-config, + stdenv, + withJlink ? true, + withGpio ? stdenv.hostPlatform.isLinux, }: stdenv.mkDerivation (finalAttrs: { @@ -26,16 +27,20 @@ stdenv.mkDerivation (finalAttrs: { installShellFiles pkg-config ]; - buildInputs = [ - libftdi1 - libusb1 - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - pciutils - ] ++ lib.optionals (withJlink) [ - libjaylink - ] ++ lib.optionals (withGpio) [ - libgpiod - ]; + buildInputs = + [ + libftdi1 + libusb1 + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + pciutils + ] + ++ lib.optionals (withJlink) [ + libjaylink + ] + ++ lib.optionals (withGpio) [ + libgpiod + ]; makeFlags = let @@ -56,7 +61,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://flashprog.org"; description = "Utility for reading, writing, erasing and verifying flash ROM chips"; license = with licenses; [ gpl2Plus ]; - maintainers = with maintainers; [ felixsinger funkeleinhorn ]; + maintainers = with maintainers; [ + felixsinger + funkeleinhorn + ]; platforms = platforms.all; mainProgram = "flashprog"; }; diff --git a/pkgs/by-name/fl/flashrom/package.nix b/pkgs/by-name/fl/flashrom/package.nix index 4eb39970e84fa..0b1af9f9f89b9 100644 --- a/pkgs/by-name/fl/flashrom/package.nix +++ b/pkgs/by-name/fl/flashrom/package.nix @@ -1,13 +1,14 @@ -{ fetchurl -, stdenv -, installShellFiles -, lib -, libftdi1 -, libjaylink -, libusb1 -, pciutils -, pkg-config -, jlinkSupport ? false +{ + fetchurl, + stdenv, + installShellFiles, + lib, + libftdi1, + libjaylink, + libusb1, + pciutils, + pkg-config, + jlinkSupport ? false, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-oFMjRFPM0BLnnzRDvcxhYlz5e3/Xy0zdi/v/vosUliM="; }; - nativeBuildInputs = [ pkg-config installShellFiles ]; - buildInputs = [ libftdi1 libusb1 ] + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = + [ + libftdi1 + libusb1 + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pciutils ] ++ lib.optional jlinkSupport libjaylink; @@ -29,9 +37,17 @@ stdenv.mkDerivation rec { --replace 'GROUP="plugdev"' 'TAG+="uaccess", TAG+="udev-acl"' ''; - makeFlags = [ "PREFIX=$(out)" "libinstall" ] + makeFlags = + [ + "PREFIX=$(out)" + "libinstall" + ] ++ lib.optional jlinkSupport "CONFIG_JLINK_SPI=yes" - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ "CONFIG_INTERNAL_X86=no" "CONFIG_INTERNAL_DMI=no" "CONFIG_RAYER_SPI=no" ]; + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "CONFIG_INTERNAL_X86=no" + "CONFIG_INTERNAL_DMI=no" + "CONFIG_RAYER_SPI=no" + ]; postInstall = '' install -Dm644 util/flashrom_udev.rules $out/lib/udev/rules.d/flashrom.rules diff --git a/pkgs/by-name/fl/flasm/package.nix b/pkgs/by-name/fl/flasm/package.nix index e1da977b0039c..c9bd4e432ec4d 100644 --- a/pkgs/by-name/fl/flasm/package.nix +++ b/pkgs/by-name/fl/flasm/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchzip, unzip, fetchpatch, bison, flex, gperf, zlib }: +{ + lib, + stdenv, + fetchzip, + unzip, + fetchpatch, + bison, + flex, + gperf, + zlib, +}: stdenv.mkDerivation rec { pname = "flasm"; @@ -22,7 +32,12 @@ stdenv.mkDerivation rec { makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; - nativeBuildInputs = [ unzip bison flex gperf ]; + nativeBuildInputs = [ + unzip + bison + flex + gperf + ]; buildInputs = [ zlib ]; diff --git a/pkgs/by-name/fl/flat-remix-gtk/package.nix b/pkgs/by-name/fl/flat-remix-gtk/package.nix index 4fb37d2cba869..184fe6c6c389a 100644 --- a/pkgs/by-name/fl/flat-remix-gtk/package.nix +++ b/pkgs/by-name/fl/flat-remix-gtk/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, gtk-engine-murrine +{ + stdenv, + lib, + fetchFromGitHub, + gtk-engine-murrine, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flatcc/package.nix b/pkgs/by-name/fl/flatcc/package.nix index 888fd9f61288d..7c13f453f4232 100644 --- a/pkgs/by-name/fl/flatcc/package.nix +++ b/pkgs/by-name/fl/flatcc/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flatito/gemset.nix b/pkgs/by-name/fl/flatito/gemset.nix index d216447953199..aba899a598eaf 100644 --- a/pkgs/by-name/fl/flatito/gemset.nix +++ b/pkgs/by-name/fl/flatito/gemset.nix @@ -70,7 +70,10 @@ version = "1.24.0"; }; parser = { - dependencies = [ "ast" "racc" ]; + dependencies = [ + "ast" + "racc" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -131,7 +134,18 @@ version = "3.2.6"; }; rubocop = { - dependencies = [ "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width" ]; + dependencies = [ + "json" + "language_server-protocol" + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rexml" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -153,7 +167,10 @@ version = "1.31.2"; }; rubocop-minitest = { - dependencies = [ "rubocop" "rubocop-ast" ]; + dependencies = [ + "rubocop" + "rubocop-ast" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -164,7 +181,10 @@ version = "0.35.0"; }; rubocop-performance = { - dependencies = [ "rubocop" "rubocop-ast" ]; + dependencies = [ + "rubocop" + "rubocop-ast" + ]; groups = [ "default" ]; platforms = [ ]; source = { diff --git a/pkgs/by-name/fl/flatito/package.nix b/pkgs/by-name/fl/flatito/package.nix index 5b41e53478c28..d650b44da0f82 100644 --- a/pkgs/by-name/fl/flatito/package.nix +++ b/pkgs/by-name/fl/flatito/package.nix @@ -1,4 +1,9 @@ -{ lib, ruby, buildRubyGem, bundlerEnv }: +{ + lib, + ruby, + buildRubyGem, + bundlerEnv, +}: let deps = bundlerEnv rec { inherit ruby; diff --git a/pkgs/by-name/fl/flatter/package.nix b/pkgs/by-name/fl/flatter/package.nix index 5ef1b6a01444a..6eea1b44d7a3f 100644 --- a/pkgs/by-name/fl/flatter/package.nix +++ b/pkgs/by-name/fl/flatter/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, unstableGitUpdater -, cmake -, blas -, gmp -, mpfr -, fplll -, eigen -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + cmake, + blas, + gmp, + mpfr, + fplll, + eigen, + llvmPackages, }: stdenv.mkDerivation { @@ -28,15 +29,17 @@ stdenv.mkDerivation { cmake ]; - buildInputs = [ - blas - gmp - mpfr - fplll - eigen - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.openmp - ]; + buildInputs = + [ + blas + gmp + mpfr + fplll + eigen + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.openmp + ]; passthru.updateScript = unstableGitUpdater { }; diff --git a/pkgs/by-name/fl/flavours/package.nix b/pkgs/by-name/fl/flavours/package.nix index c2cb20ef5b746..3ec6115596c0b 100644 --- a/pkgs/by-name/fl/flavours/package.nix +++ b/pkgs/by-name/fl/flavours/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "flavours"; @@ -29,7 +36,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Misterio77/flavours"; changelog = "https://github.com/Misterio77/flavours/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ moni misterio77 ]; + maintainers = with maintainers; [ + moni + misterio77 + ]; mainProgram = "flavours"; }; } diff --git a/pkgs/by-name/fl/flawfinder/package.nix b/pkgs/by-name/fl/flawfinder/package.nix index 09560acc1d21e..acd4809a5aad6 100644 --- a/pkgs/by-name/fl/flawfinder/package.nix +++ b/pkgs/by-name/fl/flawfinder/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, python3 +{ + lib, + fetchurl, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fl/fleng/package.nix b/pkgs/by-name/fl/fleng/package.nix index 38cb24d4ea7ce..0257e6636ae40 100644 --- a/pkgs/by-name/fl/fleng/package.nix +++ b/pkgs/by-name/fl/fleng/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fl/flex-ncat/package.nix b/pkgs/by-name/fl/flex-ncat/package.nix index 185f830aa6c69..b68933b6c027d 100644 --- a/pkgs/by-name/fl/flex-ncat/package.nix +++ b/pkgs/by-name/fl/flex-ncat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "flex-ncat"; diff --git a/pkgs/by-name/fl/flex-ndax/package.nix b/pkgs/by-name/fl/flex-ndax/package.nix index e45604856a59e..cc75ff1d7751a 100644 --- a/pkgs/by-name/fl/flex-ndax/package.nix +++ b/pkgs/by-name/fl/flex-ndax/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, buildGoModule, fetchFromGitHub, libpulseaudio }: +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + libpulseaudio, +}: buildGoModule rec { pname = "flex-ndax"; diff --git a/pkgs/by-name/fl/flexcpp/package.nix b/pkgs/by-name/fl/flexcpp/package.nix index 1a56818b4d65b..fe1938d6cd0d9 100644 --- a/pkgs/by-name/fl/flexcpp/package.nix +++ b/pkgs/by-name/fl/flexcpp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, bobcat, icmake, yodl }: +{ + lib, + stdenv, + fetchFromGitHub, + bobcat, + icmake, + yodl, +}: stdenv.mkDerivation rec { pname = "flexc++"; @@ -16,7 +23,10 @@ stdenv.mkDerivation rec { ''; buildInputs = [ bobcat ]; - nativeBuildInputs = [ icmake yodl ]; + nativeBuildInputs = [ + icmake + yodl + ]; postPatch = '' substituteInPlace INSTALL.im --replace /usr $out diff --git a/pkgs/by-name/fl/flexget/package.nix b/pkgs/by-name/fl/flexget/package.nix index 853e3565abbcc..80ee7a88fb025 100644 --- a/pkgs/by-name/fl/flexget/package.nix +++ b/pkgs/by-name/fl/flexget/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fl/flexibee/package.nix b/pkgs/by-name/fl/flexibee/package.nix index 97edd9e1fa2eb..a593132020aaa 100644 --- a/pkgs/by-name/fl/flexibee/package.nix +++ b/pkgs/by-name/fl/flexibee/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: let version = "2021.2.1"; @@ -22,7 +28,6 @@ stdenv.mkDerivation rec { --replace "/var/run" "/run" ''; - installPhase = '' runHook preInstall cp -R usr/share/flexibee/ $out/ diff --git a/pkgs/by-name/fl/flexoptix-app/package.nix b/pkgs/by-name/fl/flexoptix-app/package.nix index fa2004ce40ca0..930be1b6d497a 100644 --- a/pkgs/by-name/fl/flexoptix-app/package.nix +++ b/pkgs/by-name/fl/flexoptix-app/package.nix @@ -1,4 +1,10 @@ -{ lib, appimageTools, fetchurl, asar }: let +{ + lib, + appimageTools, + fetchurl, + asar, +}: +let pname = "flexoptix-app"; version = "5.21.2-latest"; @@ -24,7 +30,8 @@ ''; }); -in appimageTools.wrapAppImage { +in +appimageTools.wrapAppImage { inherit pname version; src = appimageContents; diff --git a/pkgs/by-name/fl/flink/package.nix b/pkgs/by-name/fl/flink/package.nix index 43cf4d047b450..db5c8ffd53d5f 100644 --- a/pkgs/by-name/fl/flink/package.nix +++ b/pkgs/by-name/fl/flink/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "flink"; @@ -35,6 +41,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; sourceProvenance = with sourceTypes; [ binaryBytecode ]; platforms = platforms.all; - maintainers = with maintainers; [ mbode autophagy ]; + maintainers = with maintainers; [ + mbode + autophagy + ]; }; } diff --git a/pkgs/by-name/fl/flintlock/package.nix b/pkgs/by-name/fl/flintlock/package.nix index 21413fde6e1b8..fa9314e8cccce 100644 --- a/pkgs/by-name/fl/flintlock/package.nix +++ b/pkgs/by-name/fl/flintlock/package.nix @@ -1,14 +1,15 @@ -{ lib -, cni-plugins -, buildGoModule -, firecracker -, containerd -, runc -, makeWrapper -, fetchFromGitHub +{ + lib, + cni-plugins, + buildGoModule, + firecracker, + containerd, + runc, + makeWrapper, + fetchFromGitHub, }: -buildGoModule rec{ +buildGoModule rec { pname = "flintlock"; version = "0.6.0"; @@ -21,9 +22,16 @@ buildGoModule rec{ vendorHash = "sha256-IGfNMe1fQfAGAOVsxmn/oxleHfniqL1TJKllCwpuWOU="; - subPackages = [ "cmd/flintlock-metrics" "cmd/flintlockd" ]; + subPackages = [ + "cmd/flintlock-metrics" + "cmd/flintlockd" + ]; - ldflags = [ "-s" "-w" "-X github.com/weaveworks/flintlock/internal/version.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/weaveworks/flintlock/internal/version.Version=v${version}" + ]; nativeBuildInputs = [ makeWrapper @@ -35,7 +43,14 @@ buildGoModule rec{ postInstall = '' for prog in flintlockd flintlock-metrics; do - wrapProgram "$out/bin/$prog" --prefix PATH : ${lib.makeBinPath [ cni-plugins firecracker containerd runc ]} + wrapProgram "$out/bin/$prog" --prefix PATH : ${ + lib.makeBinPath [ + cni-plugins + firecracker + containerd + runc + ] + } done ''; @@ -43,7 +58,10 @@ buildGoModule rec{ description = "Create and manage the lifecycle of MicroVMs backed by containerd"; homepage = "https://github.com/weaveworks-liquidmetal/flintlock"; license = licenses.mpl20; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; maintainers = with maintainers; [ techknowlogick ]; }; } diff --git a/pkgs/by-name/fl/flip-link/package.nix b/pkgs/by-name/fl/flip-link/package.nix index f652cb11ccac2..e4db9c9097121 100644 --- a/pkgs/by-name/fl/flip-link/package.nix +++ b/pkgs/by-name/fl/flip-link/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + libiconv, +}: rustPlatform.buildRustPackage rec { pname = "flip-link"; @@ -27,7 +33,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "flip-link"; homepage = "https://github.com/knurling-rs/flip-link"; changelog = "https://github.com/knurling-rs/flip-link/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ FlorianFranzen newam ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + FlorianFranzen + newam + ]; }; } diff --git a/pkgs/by-name/fl/flip/package.nix b/pkgs/by-name/fl/flip/package.nix index 23e352a090319..32bb4464cc4b6 100644 --- a/pkgs/by-name/fl/flip/package.nix +++ b/pkgs/by-name/fl/flip/package.nix @@ -2,7 +2,7 @@ stdenv, lib, fetchFromGitHub, - cmake + cmake, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/fl/flips/package.nix b/pkgs/by-name/fl/flips/package.nix index 29edcf254e07a..d6a7a808243dc 100644 --- a/pkgs/by-name/fl/flips/package.nix +++ b/pkgs/by-name/fl/flips/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, gtk3, libdivsufsort, pkg-config, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk3, + libdivsufsort, + pkg-config, + wrapGAppsHook3, +}: stdenv.mkDerivation { pname = "flips"; @@ -11,8 +19,14 @@ stdenv.mkDerivation { hash = "sha256-uuHgpt7aWqiMTUILm5tAEGGeZrls3g/DdylYQgsfpTw="; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; - buildInputs = [ gtk3 libdivsufsort ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + gtk3 + libdivsufsort + ]; patches = [ ./use-system-libdivsufsort.patch ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; buildPhase = '' diff --git a/pkgs/by-name/fl/flitter/package.nix b/pkgs/by-name/fl/flitter/package.nix index cf399ba9ebb9e..19efe2c399fc2 100644 --- a/pkgs/by-name/fl/flitter/package.nix +++ b/pkgs/by-name/fl/flitter/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, xorg +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + xorg, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/fl/flix/package.nix b/pkgs/by-name/fl/flix/package.nix index 554263db083c5..4aa796ff8b95e 100644 --- a/pkgs/by-name/fl/flix/package.nix +++ b/pkgs/by-name/fl/flix/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, stdenvNoCC, makeWrapper, jre }: +{ + lib, + fetchurl, + stdenvNoCC, + makeWrapper, + jre, +}: stdenvNoCC.mkDerivation rec { pname = "flix"; diff --git a/pkgs/by-name/fl/fllog/package.nix b/pkgs/by-name/fl/fllog/package.nix index 46b99349be4f7..00d3de60d783e 100644 --- a/pkgs/by-name/fl/fllog/package.nix +++ b/pkgs/by-name/fl/fllog/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fltk13 -, libjpeg -, pkg-config +{ + lib, + stdenv, + fetchurl, + fltk13, + libjpeg, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flmsg/package.nix b/pkgs/by-name/fl/flmsg/package.nix index 510c6e4b3323c..4dd5825472ce9 100644 --- a/pkgs/by-name/fl/flmsg/package.nix +++ b/pkgs/by-name/fl/flmsg/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fltk13 -, libjpeg -, pkg-config +{ + lib, + stdenv, + fetchurl, + fltk13, + libjpeg, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flock/package.nix b/pkgs/by-name/fl/flock/package.nix index b427a179dc80b..135ec03888b46 100644 --- a/pkgs/by-name/fl/flock/package.nix +++ b/pkgs/by-name/fl/flock/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, ronn }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + ronn, +}: stdenv.mkDerivation rec { pname = "flock"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-cCpckORtogs6Nt7c5q2+z0acXAnALdLV6uzxa5ng3s4="; }; - nativeBuildInputs = [ autoreconfHook ronn ]; + nativeBuildInputs = [ + autoreconfHook + ronn + ]; patches = [ (fetchpatch { diff --git a/pkgs/by-name/fl/flockit/package.nix b/pkgs/by-name/fl/flockit/package.nix index c1df7f368043e..9990cb899b320 100644 --- a/pkgs/by-name/fl/flockit/package.nix +++ b/pkgs/by-name/fl/flockit/package.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitHub, + runtimeShell, +}: stdenv.mkDerivation { pname = "flockit"; version = "2012-08-11"; src = fetchFromGitHub { - owner = "smerritt"; - repo = "flockit"; - rev = "5c2b2092f8edcc8e3e2eb6ef66c968675dbfa686"; + owner = "smerritt"; + repo = "flockit"; + rev = "5c2b2092f8edcc8e3e2eb6ef66c968675dbfa686"; sha256 = "0vajck9q2677gpn9a4flkyz7mw69ql1647cjwqh834nrcr2b5164"; }; diff --git a/pkgs/by-name/fl/flood/package.nix b/pkgs/by-name/fl/flood/package.nix index ada2a69e69472..bd0529ae9cf79 100644 --- a/pkgs/by-name/fl/flood/package.nix +++ b/pkgs/by-name/fl/flood/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nixosTests +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nixosTests, }: buildNpmPackage rec { @@ -25,7 +26,10 @@ buildNpmPackage rec { description = "Modern web UI for various torrent clients with a Node.js backend and React frontend"; homepage = "https://flood.js.org"; license = licenses.gpl3Only; - maintainers = with maintainers; [ thiagokokada winter ]; + maintainers = with maintainers; [ + thiagokokada + winter + ]; mainProgram = "flood"; }; } diff --git a/pkgs/by-name/fl/flootty/package.nix b/pkgs/by-name/fl/flootty/package.nix index 2c090556b7600..085de18321648 100644 --- a/pkgs/by-name/fl/flootty/package.nix +++ b/pkgs/by-name/fl/flootty/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "Flootty"; diff --git a/pkgs/by-name/fl/flopoco/package.nix b/pkgs/by-name/fl/flopoco/package.nix index ef6f297c63ccc..6a12d8e1f357e 100644 --- a/pkgs/by-name/fl/flopoco/package.nix +++ b/pkgs/by-name/fl/flopoco/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, cmake -, installShellFiles -, bison -, boost -, flex -, gmp -, libxml2 -, mpfi -, mpfr -, scalp -, sollya -, wcpg +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + cmake, + installShellFiles, + bison, + boost, + flex, + gmp, + libxml2, + mpfi, + mpfr, + scalp, + sollya, + wcpg, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flottbot/package.nix b/pkgs/by-name/fl/flottbot/package.nix index 73dfe4f78a12d..0242d8f144823 100644 --- a/pkgs/by-name/fl/flottbot/package.nix +++ b/pkgs/by-name/fl/flottbot/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, substituteAll +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + substituteAll, }: buildGoModule rec { pname = "flottbot"; diff --git a/pkgs/by-name/fl/flowblade/package.nix b/pkgs/by-name/fl/flowblade/package.nix index 92f035ca9018d..7d8d724580726 100644 --- a/pkgs/by-name/fl/flowblade/package.nix +++ b/pkgs/by-name/fl/flowblade/package.nix @@ -1,6 +1,16 @@ -{ lib, fetchFromGitHub, stdenv -, ffmpeg, frei0r, sox, gtk3, python3, ladspaPlugins -, gobject-introspection, makeWrapper, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + stdenv, + ffmpeg, + frei0r, + sox, + gtk3, + python3, + ladspaPlugins, + gobject-introspection, + makeWrapper, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -15,11 +25,28 @@ stdenv.mkDerivation rec { }; buildInputs = [ - ffmpeg frei0r sox gtk3 ladspaPlugins - (python3.withPackages (ps: with ps; [ mlt pygobject3 dbus-python numpy pillow libusb1 ])) + ffmpeg + frei0r + sox + gtk3 + ladspaPlugins + (python3.withPackages ( + ps: with ps; [ + mlt + pygobject3 + dbus-python + numpy + pillow + libusb1 + ] + )) ]; - nativeBuildInputs = [ gobject-introspection makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + gobject-introspection + makeWrapper + wrapGAppsHook3 + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/fl/flowtime/package.nix b/pkgs/by-name/fl/flowtime/package.nix index d372d1d45379d..534c57904241b 100644 --- a/pkgs/by-name/fl/flowtime/package.nix +++ b/pkgs/by-name/fl/flowtime/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, vala -, meson -, ninja -, wrapGAppsHook4 -, gst_all_1 -, libadwaita -, libxml2 -, desktop-file-utils -, pkg-config -, libportal-gtk4 -, blueprint-compiler -, appstream-glib +{ + stdenv, + lib, + fetchFromGitHub, + vala, + meson, + ninja, + wrapGAppsHook4, + gst_all_1, + libadwaita, + libxml2, + desktop-file-utils, + pkg-config, + libportal-gtk4, + blueprint-compiler, + appstream-glib, }: stdenv.mkDerivation rec { @@ -37,21 +38,26 @@ stdenv.mkDerivation rec { appstream-glib ]; - buildInputs = [ - libadwaita - libxml2 - libportal-gtk4 - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - ]); + buildInputs = + [ + libadwaita + libxml2 + libportal-gtk4 + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + ]); meta = with lib; { description = "Get what motivates you done, without losing concentration"; mainProgram = "flowtime"; homepage = "https://github.com/Diego-Ivan/Flowtime"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ foo-dogsquared pokon548 ]; + maintainers = with maintainers; [ + foo-dogsquared + pokon548 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/fl/flpsed/package.nix b/pkgs/by-name/fl/flpsed/package.nix index 09caf3a271f3f..479c2902902a3 100644 --- a/pkgs/by-name/fl/flpsed/package.nix +++ b/pkgs/by-name/fl/flpsed/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fltk13, ghostscript }: +{ + lib, + stdenv, + fetchurl, + fltk13, + ghostscript, +}: stdenv.mkDerivation rec { pname = "flpsed"; diff --git a/pkgs/by-name/fl/flrig/package.nix b/pkgs/by-name/fl/flrig/package.nix index 18c4ab1c20526..7e7b9f0236671 100644 --- a/pkgs/by-name/fl/flrig/package.nix +++ b/pkgs/by-name/fl/flrig/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, fltk13 -, libjpeg -, eudev -, pkg-config +{ + lib, + stdenv, + fetchurl, + fltk13, + libjpeg, + eudev, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/fluent-icon-theme/package.nix b/pkgs/by-name/fl/fluent-icon-theme/package.nix index cc3253e3b1fb9..e21d608496b85 100644 --- a/pkgs/by-name/fl/fluent-icon-theme/package.nix +++ b/pkgs/by-name/fl/fluent-icon-theme/package.nix @@ -1,63 +1,80 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, hicolor-icon-theme -, jdupes -, roundedIcons ? false -, blackPanelIcons ? false -, allColorVariants ? false -, colorVariants ? [ ] -, +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + hicolor-icon-theme, + jdupes, + roundedIcons ? false, + blackPanelIcons ? false, + allColorVariants ? false, + colorVariants ? [ ], }: -let pname = "Fluent-icon-theme"; +let + pname = "Fluent-icon-theme"; in -lib.checkListOfEnum "${pname}: available color variants" [ "standard" "green" "grey" "orange" "pink" "purple" "red" "yellow" "teal" ] colorVariants - -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-02-25"; - - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-Cadp2+4kBZ74kdD5x0O85FszxvN6/sg6yccxughyX1Q"; - }; - - nativeBuildInputs = [ gtk3 jdupes ]; - - buildInputs = [ hicolor-icon-theme ]; - - # Unnecessary & slow fixup's - dontPatchELF = true; - dontRewriteSymlinks = true; - dontDropIconThemeCache = true; - - postPatch = '' - patchShebangs install.sh - ''; - - installPhase = '' - runHook preInstall - - ./install.sh --dest $out/share/icons \ - --name Fluent \ - ${builtins.toString colorVariants} \ - ${lib.optionalString allColorVariants "--all"} \ - ${lib.optionalString roundedIcons "--round"} \ - ${lib.optionalString blackPanelIcons "--black"} - - jdupes --quiet --link-soft --recurse $out/share - - runHook postInstall - ''; - - meta = with lib; { - description = "Fluent icon theme for linux desktops"; - homepage = "https://github.com/vinceliuice/Fluent-icon-theme"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ icy-thought ]; - }; -} +lib.checkListOfEnum "${pname}: available color variants" + [ + "standard" + "green" + "grey" + "orange" + "pink" + "purple" + "red" + "yellow" + "teal" + ] + colorVariants + + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-02-25"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-Cadp2+4kBZ74kdD5x0O85FszxvN6/sg6yccxughyX1Q"; + }; + + nativeBuildInputs = [ + gtk3 + jdupes + ]; + + buildInputs = [ hicolor-icon-theme ]; + + # Unnecessary & slow fixup's + dontPatchELF = true; + dontRewriteSymlinks = true; + dontDropIconThemeCache = true; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + + ./install.sh --dest $out/share/icons \ + --name Fluent \ + ${builtins.toString colorVariants} \ + ${lib.optionalString allColorVariants "--all"} \ + ${lib.optionalString roundedIcons "--round"} \ + ${lib.optionalString blackPanelIcons "--black"} + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "Fluent icon theme for linux desktops"; + homepage = "https://github.com/vinceliuice/Fluent-icon-theme"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ icy-thought ]; + }; + } diff --git a/pkgs/by-name/fl/fluent-reader/package.nix b/pkgs/by-name/fl/fluent-reader/package.nix index 7be8375cecc7c..4fc85cc3c1aff 100644 --- a/pkgs/by-name/fl/fluent-reader/package.nix +++ b/pkgs/by-name/fl/fluent-reader/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "fluent-reader"; @@ -10,7 +14,8 @@ let }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/fl/fluffychat/package.nix b/pkgs/by-name/fl/fluffychat/package.nix index fdf26abced855..f3e0e4a0cfdcc 100644 --- a/pkgs/by-name/fl/fluffychat/package.nix +++ b/pkgs/by-name/fl/fluffychat/package.nix @@ -1,99 +1,117 @@ -{ lib -, fetchzip -, fetchFromGitHub -, imagemagick -, mesa -, libdrm -, flutter324 -, pulseaudio -, makeDesktopItem -, zenity -, olm +{ + lib, + fetchzip, + fetchFromGitHub, + imagemagick, + mesa, + libdrm, + flutter324, + pulseaudio, + makeDesktopItem, + zenity, + olm, -, targetFlutterPlatform ? "linux" + targetFlutterPlatform ? "linux", }: let - libwebrtcRpath = lib.makeLibraryPath [ mesa libdrm ]; + libwebrtcRpath = lib.makeLibraryPath [ + mesa + libdrm + ]; pubspecLock = lib.importJSON ./pubspec.lock.json; in -flutter324.buildFlutterApplication (rec { - pname = "fluffychat-${targetFlutterPlatform}"; - version = "1.22.1"; +flutter324.buildFlutterApplication ( + rec { + pname = "fluffychat-${targetFlutterPlatform}"; + version = "1.22.1"; - src = fetchFromGitHub { - owner = "krille-chan"; - repo = "fluffychat"; - rev = "refs/tags/v${version}"; - hash = "sha256-biFoRcMss3JVrMoilc8BzJ+R6f+e4RYpZ5dbxDpnfTk="; - }; + src = fetchFromGitHub { + owner = "krille-chan"; + repo = "fluffychat"; + rev = "refs/tags/v${version}"; + hash = "sha256-biFoRcMss3JVrMoilc8BzJ+R6f+e4RYpZ5dbxDpnfTk="; + }; - inherit pubspecLock; + inherit pubspecLock; - gitHashes = { - flutter_shortcuts = "sha256-4nptZ7/tM2W/zylk3rfQzxXgQ6AipFH36gcIb/0RbHo="; - keyboard_shortcuts = "sha256-U74kRujftHPvpMOIqVT0Ph+wi1ocnxNxIFA1krft4Os="; - }; + gitHashes = { + flutter_shortcuts = "sha256-4nptZ7/tM2W/zylk3rfQzxXgQ6AipFH36gcIb/0RbHo="; + keyboard_shortcuts = "sha256-U74kRujftHPvpMOIqVT0Ph+wi1ocnxNxIFA1krft4Os="; + }; - inherit targetFlutterPlatform; + inherit targetFlutterPlatform; - meta = with lib; { - description = "Chat with your friends (matrix client)"; - homepage = "https://fluffychat.im/"; - license = licenses.agpl3Plus; - mainProgram = "fluffychat"; - maintainers = with maintainers; [ mkg20001 gilice ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - sourceProvenance = [ sourceTypes.fromSource ]; - inherit (olm.meta) knownVulnerabilities; - }; -} // lib.optionalAttrs (targetFlutterPlatform == "linux") { - nativeBuildInputs = [ imagemagick ]; + meta = with lib; { + description = "Chat with your friends (matrix client)"; + homepage = "https://fluffychat.im/"; + license = licenses.agpl3Plus; + mainProgram = "fluffychat"; + maintainers = with maintainers; [ + mkg20001 + gilice + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + sourceProvenance = [ sourceTypes.fromSource ]; + inherit (olm.meta) knownVulnerabilities; + }; + } + // lib.optionalAttrs (targetFlutterPlatform == "linux") { + nativeBuildInputs = [ imagemagick ]; - runtimeDependencies = [ pulseaudio ]; + runtimeDependencies = [ pulseaudio ]; - extraWrapProgramArgs = "--prefix PATH : ${zenity}/bin"; + extraWrapProgramArgs = "--prefix PATH : ${zenity}/bin"; - env.NIX_LDFLAGS = "-rpath-link ${libwebrtcRpath}"; + env.NIX_LDFLAGS = "-rpath-link ${libwebrtcRpath}"; - desktopItem = makeDesktopItem { - name = "Fluffychat"; - exec = "fluffychat"; - icon = "fluffychat"; - desktopName = "Fluffychat"; - genericName = "Chat with your friends (matrix client)"; - categories = [ "Chat" "Network" "InstantMessaging" ]; - }; + desktopItem = makeDesktopItem { + name = "Fluffychat"; + exec = "fluffychat"; + icon = "fluffychat"; + desktopName = "Fluffychat"; + genericName = "Chat with your friends (matrix client)"; + categories = [ + "Chat" + "Network" + "InstantMessaging" + ]; + }; - postInstall = '' - FAV=$out/app/fluffychat-linux/data/flutter_assets/assets/favicon.png - ICO=$out/share/icons + postInstall = '' + FAV=$out/app/fluffychat-linux/data/flutter_assets/assets/favicon.png + ICO=$out/share/icons - install -D $FAV $ICO/fluffychat.png - mkdir $out/share/applications - cp $desktopItem/share/applications/*.desktop $out/share/applications - for size in 24 32 42 64 128 256 512; do - D=$ICO/hicolor/''${s}x''${s}/apps - mkdir -p $D - convert $FAV -resize ''${size}x''${size} $D/fluffychat.png - done + install -D $FAV $ICO/fluffychat.png + mkdir $out/share/applications + cp $desktopItem/share/applications/*.desktop $out/share/applications + for size in 24 32 42 64 128 256 512; do + D=$ICO/hicolor/''${s}x''${s}/apps + mkdir -p $D + convert $FAV -resize ''${size}x''${size} $D/fluffychat.png + done - patchelf --add-rpath ${libwebrtcRpath} $out/app/fluffychat-linux/lib/libwebrtc.so - ''; -} // lib.optionalAttrs (targetFlutterPlatform == "web") { - prePatch = - # https://github.com/krille-chan/fluffychat/blob/v1.17.1/scripts/prepare-web.sh - let - # Use Olm 1.3.2, the oldest version, for FluffyChat 1.14.1 which depends on olm_flutter 1.2.0. - olmVersion = pubspecLock.packages.flutter_olm.version; - olmJs = fetchzip { - url = "https://github.com/famedly/olm/releases/download/v${olmVersion}/olm.zip"; - stripRoot = false; - hash = "sha256-Vl3Cp2OaYzM5CPOOtTHtUb1W48VXePzOV6FeiIzyD1Y="; - }; - in - '' - rm -r assets/js/package - cp -r '${olmJs}/javascript' assets/js/package + patchelf --add-rpath ${libwebrtcRpath} $out/app/fluffychat-linux/lib/libwebrtc.so ''; -}) + } + // lib.optionalAttrs (targetFlutterPlatform == "web") { + prePatch = + # https://github.com/krille-chan/fluffychat/blob/v1.17.1/scripts/prepare-web.sh + let + # Use Olm 1.3.2, the oldest version, for FluffyChat 1.14.1 which depends on olm_flutter 1.2.0. + olmVersion = pubspecLock.packages.flutter_olm.version; + olmJs = fetchzip { + url = "https://github.com/famedly/olm/releases/download/v${olmVersion}/olm.zip"; + stripRoot = false; + hash = "sha256-Vl3Cp2OaYzM5CPOOtTHtUb1W48VXePzOV6FeiIzyD1Y="; + }; + in + '' + rm -r assets/js/package + cp -r '${olmJs}/javascript' assets/js/package + ''; + } +) diff --git a/pkgs/by-name/fl/flux/package.nix b/pkgs/by-name/fl/flux/package.nix index 6b5620774d3b8..2a4246b2569c0 100644 --- a/pkgs/by-name/fl/flux/package.nix +++ b/pkgs/by-name/fl/flux/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "flux"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "11f3ypg0sdq5kj69zgz6kih1yrzgm48r16spyvzwvlswng147410"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = with lib; { description = "Interface description language used by DirectFB"; diff --git a/pkgs/by-name/fl/fluxbox/package.nix b/pkgs/by-name/fl/fluxbox/package.nix index 80c5c7a216be9..65bc41d35f15a 100644 --- a/pkgs/by-name/fl/fluxbox/package.nix +++ b/pkgs/by-name/fl/fluxbox/package.nix @@ -1,8 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config -, freetype, fribidi -, libXext, libXft, libXpm, libXrandr, libXrender, xorgproto -, libXinerama -, imlib2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + freetype, + fribidi, + libXext, + libXft, + libXpm, + libXrandr, + libXrender, + xorgproto, + libXinerama, + imlib2, +}: stdenv.mkDerivation rec { @@ -25,7 +36,18 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ freetype fribidi libXext libXft libXpm libXrandr libXrender xorgproto libXinerama imlib2 ]; + buildInputs = [ + freetype + fribidi + libXext + libXft + libXpm + libXrandr + libXrender + xorgproto + libXinerama + imlib2 + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/fl/fluxboxlauncher/package.nix b/pkgs/by-name/fl/fluxboxlauncher/package.nix index d42179aa0a959..511def3f70084 100644 --- a/pkgs/by-name/fl/fluxboxlauncher/package.nix +++ b/pkgs/by-name/fl/fluxboxlauncher/package.nix @@ -1,15 +1,16 @@ -{ lib -, fetchFromGitHub -, python3 -, gtk3 -, wrapGAppsHook3 -, glibcLocales -, gobject-introspection -, gettext -, pango -, gdk-pixbuf -, atk -, fluxbox +{ + lib, + fetchFromGitHub, + python3, + gtk3, + wrapGAppsHook3, + glibcLocales, + gobject-introspection, + gettext, + pango, + gdk-pixbuf, + atk, + fluxbox, }: python3.pkgs.buildPythonApplication rec { @@ -39,8 +40,10 @@ python3.pkgs.buildPythonApplication rec { fluxbox ]; - makeWrapperArgs = [ "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" - "--set CHARSET en_us.UTF-8" ]; + makeWrapperArgs = [ + "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" + "--set CHARSET en_us.UTF-8" + ]; propagatedBuildInputs = with python3.pkgs; [ pygobject3 diff --git a/pkgs/by-name/fl/fluxctl/package.nix b/pkgs/by-name/fl/fluxctl/package.nix index 099ef43402354..5e2ed5b0f53e8 100644 --- a/pkgs/by-name/fl/fluxctl/package.nix +++ b/pkgs/by-name/fl/fluxctl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "fluxctl"; @@ -19,7 +24,11 @@ buildGoModule rec { subPackages = [ "cmd/fluxctl" ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; postInstall = '' for shell in bash fish zsh; do @@ -33,6 +42,9 @@ buildGoModule rec { mainProgram = "fluxctl"; homepage = "https://github.com/fluxcd/flux"; license = licenses.asl20; - maintainers = with maintainers; [ Gonzih Br1ght0ne ]; + maintainers = with maintainers; [ + Gonzih + Br1ght0ne + ]; }; } diff --git a/pkgs/by-name/fl/flvstreamer/package.nix b/pkgs/by-name/fl/flvstreamer/package.nix index 64915135dd8b8..d16f0ea239517 100644 --- a/pkgs/by-name/fl/flvstreamer/package.nix +++ b/pkgs/by-name/fl/flvstreamer/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "flvstreamer"; @@ -25,9 +29,9 @@ stdenv.mkDerivation rec { description = "Command-line RTMP client"; longDescription = '' - flvstreamer is an open source command-line RTMP client intended to - stream audio or video content from all types of flash or rtmp servers. - ''; + flvstreamer is an open source command-line RTMP client intended to + stream audio or video content from all types of flash or rtmp servers. + ''; license = lib.licenses.gpl2Plus; diff --git a/pkgs/by-name/fl/flwrap/package.nix b/pkgs/by-name/fl/flwrap/package.nix index 96c3125552d60..e1a4f93a179f1 100644 --- a/pkgs/by-name/fl/flwrap/package.nix +++ b/pkgs/by-name/fl/flwrap/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fltk13 -, libjpeg -, pkg-config +{ + lib, + stdenv, + fetchurl, + fltk13, + libjpeg, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/fly/package.nix b/pkgs/by-name/fl/fly/package.nix index 792e71dd7fb8f..67e3f25c2e01b 100644 --- a/pkgs/by-name/fl/fly/package.nix +++ b/pkgs/by-name/fl/fly/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, stdenv, lib, installShellFiles }: +{ + buildGoModule, + fetchFromGitHub, + stdenv, + lib, + installShellFiles, +}: buildGoModule rec { pname = "fly"; @@ -16,7 +22,9 @@ buildGoModule rec { subPackages = [ "fly" ]; ldflags = [ - "-s" "-w" "-X github.com/concourse/concourse.Version=${version}" + "-s" + "-w" + "-X github.com/concourse/concourse.Version=${version}" ]; nativeBuildInputs = [ installShellFiles ]; @@ -35,6 +43,9 @@ buildGoModule rec { mainProgram = "fly"; homepage = "https://concourse-ci.org"; license = licenses.asl20; - maintainers = with maintainers; [ ivanbrennan SuperSandro2000 ]; + maintainers = with maintainers; [ + ivanbrennan + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/fl/flycast/package.nix b/pkgs/by-name/fl/flycast/package.nix index 5792c3a97c3e3..9654efa2591d5 100644 --- a/pkgs/by-name/fl/flycast/package.nix +++ b/pkgs/by-name/fl/flycast/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch2 -, cmake -, pkg-config -, makeWrapper -, alsa-lib -, curl -, libao -, libpulseaudio -, libzip -, lua -, miniupnpc -, SDL2 -, vulkan-loader +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + cmake, + pkg-config, + makeWrapper, + alsa-lib, + curl, + libao, + libpulseaudio, + libzip, + lua, + miniupnpc, + SDL2, + vulkan-loader, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fl/flye/package.nix b/pkgs/by-name/fl/flye/package.nix index 95899f6a3e6e9..c81469ea25717 100644 --- a/pkgs/by-name/fl/flye/package.nix +++ b/pkgs/by-name/fl/flye/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3Packages -, zlib -, curl -, libdeflate -, bash -, coreutils +{ + lib, + fetchFromGitHub, + fetchpatch, + python3Packages, + zlib, + curl, + libdeflate, + bash, + coreutils, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/fl/flywheel-cli/package.nix b/pkgs/by-name/fl/flywheel-cli/package.nix index 51600d31c5130..604d962528eb4 100644 --- a/pkgs/by-name/fl/flywheel-cli/package.nix +++ b/pkgs/by-name/fl/flywheel-cli/package.nix @@ -1,22 +1,27 @@ -{ lib -, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; - os = { - x86_64-darwin = "darwin"; - x86_64-linux = "linux"; - }.${system} or throwSystem; - - sha256 = { - x86_64-darwin = "sha256-OIyEu3Hsobui9s5+T9nC10SxMw0MhgmTA4SN9Ridyzo="; - x86_64-linux = "sha256-SxBjRd95hoh2zwX6IDnkZnTWVduQafPHvnWw8qTuM78="; - }.${system} or throwSystem; + os = + { + x86_64-darwin = "darwin"; + x86_64-linux = "linux"; + } + .${system} or throwSystem; + + sha256 = + { + x86_64-darwin = "sha256-OIyEu3Hsobui9s5+T9nC10SxMw0MhgmTA4SN9Ridyzo="; + x86_64-linux = "sha256-SxBjRd95hoh2zwX6IDnkZnTWVduQafPHvnWw8qTuM78="; + } + .${system} or throwSystem; in stdenv.mkDerivation rec { pname = "flywheel-cli"; @@ -46,6 +51,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.mit; maintainers = with maintainers; [ rbreslow ]; - platforms = [ "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/fm/fm-go/package.nix b/pkgs/by-name/fm/fm-go/package.nix index 27c4867426fb3..0983402fafb10 100644 --- a/pkgs/by-name/fm/fm-go/package.nix +++ b/pkgs/by-name/fm/fm-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: let diff --git a/pkgs/by-name/fm/fm-tune/package.nix b/pkgs/by-name/fm/fm-tune/package.nix index e5711af1a0a82..8240b2d652f1a 100644 --- a/pkgs/by-name/fm/fm-tune/package.nix +++ b/pkgs/by-name/fm/fm-tune/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, liquid-dsp, soapysdr }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + liquid-dsp, + soapysdr, +}: stdenv.mkDerivation rec { pname = "fm-tune"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ liquid-dsp soapysdr ]; + buildInputs = [ + liquid-dsp + soapysdr + ]; meta = with lib; { description = "Find initial calibration offset for SDR devices"; diff --git a/pkgs/by-name/fm/fm/package.nix b/pkgs/by-name/fm/fm/package.nix index 148d949794f65..7ec86ea86cc95 100644 --- a/pkgs/by-name/fm/fm/package.nix +++ b/pkgs/by-name/fm/fm/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, libadwaita -, libpanel -, gtksourceview5 -, poppler +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + libadwaita, + libpanel, + gtksourceview5, + poppler, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/fm/fmsynth/package.nix b/pkgs/by-name/fm/fmsynth/package.nix index 72dbd50b51b42..982504c84410c 100644 --- a/pkgs/by-name/fm/fmsynth/package.nix +++ b/pkgs/by-name/fm/fmsynth/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, gtkmm2, lv2, lvtk, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + gtkmm2, + lv2, + lvtk, + pkg-config, +}: stdenv.mkDerivation { pname = "fmsynth-unstable"; version = "2015-02-07"; @@ -10,7 +18,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtkmm2 lv2 lvtk ]; + buildInputs = [ + gtkmm2 + lv2 + lvtk + ]; buildPhase = '' cd lv2 diff --git a/pkgs/by-name/fn/fn-cli/package.nix b/pkgs/by-name/fn/fn-cli/package.nix index 3b40b6b8f7253..01be247931a63 100644 --- a/pkgs/by-name/fn/fn-cli/package.nix +++ b/pkgs/by-name/fn/fn-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, docker }: +{ + lib, + buildGoModule, + fetchFromGitHub, + docker, +}: buildGoModule rec { pname = "fn"; @@ -13,7 +18,7 @@ buildGoModule rec { vendorHash = null; - subPackages = ["."]; + subPackages = [ "." ]; buildInputs = [ docker diff --git a/pkgs/by-name/fn/fnotifystat/package.nix b/pkgs/by-name/fn/fnotifystat/package.nix index 28fde2629f69d..72c1edde96c9e 100644 --- a/pkgs/by-name/fn/fnotifystat/package.nix +++ b/pkgs/by-name/fn/fnotifystat/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fn/fnott/package.nix b/pkgs/by-name/fn/fnott/package.nix index e0069e18c8f05..40328fadb6258 100644 --- a/pkgs/by-name/fn/fnott/package.nix +++ b/pkgs/by-name/fn/fnott/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, gitUpdater -, fetchFromGitea -, pkg-config -, meson -, ninja -, scdoc -, wayland-scanner -, fontconfig -, freetype -, pixman -, libpng -, tllist -, wayland -, wayland-protocols -, dbus -, fcft +{ + stdenv, + lib, + gitUpdater, + fetchFromGitea, + pkg-config, + meson, + ninja, + scdoc, + wayland-scanner, + fontconfig, + freetype, + pixman, + libpng, + tllist, + wayland, + wayland-protocols, + dbus, + fcft, }: stdenv.mkDerivation (finalAttrs: { @@ -61,7 +62,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://codeberg.org/dnkl/fnott"; changelog = "https://codeberg.org/dnkl/fnott/src/tag/${finalAttrs.src.rev}/CHANGELOG.md"; description = "Keyboard driven and lightweight Wayland notification daemon for wlroots-based compositors"; - license = with lib.licenses; [ mit zlib ]; + license = with lib.licenses; [ + mit + zlib + ]; maintainers = with lib.maintainers; [ jmbaur ]; diff --git a/pkgs/by-name/fn/fntsample/package.nix b/pkgs/by-name/fn/fntsample/package.nix index 6ddbace3c0b7b..817acb4273a3c 100644 --- a/pkgs/by-name/fn/fntsample/package.nix +++ b/pkgs/by-name/fn/fntsample/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, cmake -, pkg-config -, cairo -, fontconfig -, freetype -, glib -, libXdmcp -, makeWrapper -, pango -, pcre -, perlPackages +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + cmake, + pkg-config, + cairo, + fontconfig, + freetype, + glib, + libXdmcp, + makeWrapper, + pango, + pcre, + perlPackages, }: let @@ -36,7 +37,10 @@ stdenv.mkDerivation rec { "-DUNICODE_BLOCKS=${ucd-blocks.outPath}" ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ cmake @@ -57,17 +61,20 @@ stdenv.mkDerivation rec { postFixup = let - perlPath = with perlPackages; makePerlPath [ - ExporterTiny - ListMoreUtils - PDFAPI2 - libintl-perl - ]; - in '' - for cmd in pdfoutline pdf-extract-outline; do - wrapProgram "$out/bin/$cmd" --prefix PERL5LIB : "${perlPath}" - done - ''; + perlPath = + with perlPackages; + makePerlPath [ + ExporterTiny + ListMoreUtils + PDFAPI2 + libintl-perl + ]; + in + '' + for cmd in pdfoutline pdf-extract-outline; do + wrapProgram "$out/bin/$cmd" --prefix PERL5LIB : "${perlPath}" + done + ''; meta = with lib; { homepage = "https://github.com/eugmes/fntsample"; diff --git a/pkgs/by-name/fo/focus-stack/package.nix b/pkgs/by-name/fo/focus-stack/package.nix index 6025aa9b7a1be..683a42192274f 100644 --- a/pkgs/by-name/fo/focus-stack/package.nix +++ b/pkgs/by-name/fo/focus-stack/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, which -, ronn -, opencv +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + which, + ronn, + opencv, }: stdenv.mkDerivation rec { @@ -18,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-SoECgBMjWI+n7H6p3hf8J5E9UCLHGiiz5WAsEEioJsU="; }; - nativeBuildInputs = [ pkg-config which ronn ]; + nativeBuildInputs = [ + pkg-config + which + ronn + ]; buildInputs = [ opencv ]; makeFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/by-name/fo/focus/package.nix b/pkgs/by-name/fo/focus/package.nix index 20c7e2e25d90a..016c253eec33c 100644 --- a/pkgs/by-name/fo/focus/package.nix +++ b/pkgs/by-name/fo/focus/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 -, libXinerama +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXinerama, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-IDiUXindzv5Ng5oCTyUlj2il/2kLvXG4YhgiYp7ZebQ="; }; - buildInputs = [ libX11 libXinerama ]; + buildInputs = [ + libX11 + libXinerama + ]; makeFlags = [ "PREFIX=\${out}" ]; diff --git a/pkgs/by-name/fo/folder-color-switcher/package.nix b/pkgs/by-name/fo/folder-color-switcher/package.nix index aa3bfe245317b..288c6a15f80fa 100644 --- a/pkgs/by-name/fo/folder-color-switcher/package.nix +++ b/pkgs/by-name/fo/folder-color-switcher/package.nix @@ -1,8 +1,9 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, gettext -, python3 +{ + stdenvNoCC, + lib, + fetchFromGitHub, + gettext, + python3, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/fo/foliate/package.nix b/pkgs/by-name/fo/foliate/package.nix index 956f576809a01..ec32c78ff9ef7 100644 --- a/pkgs/by-name/fo/foliate/package.nix +++ b/pkgs/by-name/fo/foliate/package.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, gettext -, glib -, gjs -, ninja -, gtk4 -, webkitgtk_6_0 -, gsettings-desktop-schemas -, wrapGAppsHook4 -, desktop-file-utils -, gobject-introspection -, glib-networking -, pkg-config -, libadwaita +{ + stdenv, + lib, + fetchFromGitHub, + meson, + gettext, + glib, + gjs, + ninja, + gtk4, + webkitgtk_6_0, + gsettings-desktop-schemas, + wrapGAppsHook4, + desktop-file-utils, + gobject-introspection, + glib-networking, + pkg-config, + libadwaita, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fo/folks/package.nix b/pkgs/by-name/fo/folks/package.nix index 777bef9246623..941db4dfc8e97 100644 --- a/pkgs/by-name/fo/folks/package.nix +++ b/pkgs/by-name/fo/folks/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, glib -, gnome -, gettext -, gobject-introspection -, vala -, sqlite -, dbus-glib -, dbus -, libgee -, evolution-data-server-gtk4 -, python3 -, readline -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, telepathy-glib -, telepathySupport ? false +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + glib, + gnome, + gettext, + gobject-introspection, + vala, + sqlite, + dbus-glib, + dbus, + libgee, + evolution-data-server-gtk4, + python3, + readline, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + telepathy-glib, + telepathySupport ? false, }: # TODO: enable more folks backends @@ -29,34 +30,42 @@ stdenv.mkDerivation (finalAttrs: { pname = "folks"; version = "0.15.9"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/folks/${lib.versions.majorMinor finalAttrs.version}/folks-${finalAttrs.version}.tar.xz"; hash = "sha256-IxGzc1XDUfM/Fj/cOUh0oioKBoLDGUk9bYpuQgcRQV8="; }; - nativeBuildInputs = [ - gettext - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - meson - ninja - pkg-config - vala - ] ++ lib.optionals telepathySupport [ - python3 - ]; + nativeBuildInputs = + [ + gettext + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + meson + ninja + pkg-config + vala + ] + ++ lib.optionals telepathySupport [ + python3 + ]; - buildInputs = [ - dbus-glib - evolution-data-server-gtk4 # UI part not needed, using gtk4 version to reduce system closure. - readline - ] ++ lib.optionals telepathySupport [ - telepathy-glib - ]; + buildInputs = + [ + dbus-glib + evolution-data-server-gtk4 # UI part not needed, using gtk4 version to reduce system closure. + readline + ] + ++ lib.optionals telepathySupport [ + telepathy-glib + ]; propagatedBuildInputs = [ glib @@ -66,13 +75,15 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ dbus - (python3.withPackages (pp: with pp; [ - python-dbusmock - # The following possibly need to be propagated by dbusmock - # if they are not optional - dbus-python - pygobject3 - ])) + (python3.withPackages ( + pp: with pp; [ + python-dbusmock + # The following possibly need to be propagated by dbusmock + # if they are not optional + dbus-python + pygobject3 + ] + )) ]; mesonFlags = [ @@ -92,7 +103,8 @@ stdenv.mkDerivation (finalAttrs: { mesonCheckFlags = [ # Prevents e-d-s add-contacts-stress-test from timing out - "--timeout-multiplier" "4" + "--timeout-multiplier" + "4" ]; postPatch = lib.optionalString telepathySupport '' diff --git a/pkgs/by-name/fo/foma/package.nix b/pkgs/by-name/fo/foma/package.nix index 8c83d33ee359c..3110f745672e7 100644 --- a/pkgs/by-name/fo/foma/package.nix +++ b/pkgs/by-name/fo/foma/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, bison, cmake, flex, pkg-config, readline, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + bison, + cmake, + flex, + pkg-config, + readline, + zlib, +}: stdenv.mkDerivation rec { pname = "foma"; @@ -13,10 +23,21 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/foma"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ bison cmake flex pkg-config ]; - buildInputs = [ readline zlib ]; + nativeBuildInputs = [ + bison + cmake + flex + pkg-config + ]; + buildInputs = [ + readline + zlib + ]; cmakeFlags = [ # the cmake package does not handle absolute CMAKE_INSTALL_XXXDIR diff --git a/pkgs/by-name/fo/fomp/package.nix b/pkgs/by-name/fo/fomp/package.nix index 1b99041af286d..ca56e9b2502af 100644 --- a/pkgs/by-name/fo/fomp/package.nix +++ b/pkgs/by-name/fo/fomp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, lv2, pkg-config, python3, wafHook }: +{ + lib, + stdenv, + fetchurl, + lv2, + pkg-config, + python3, + wafHook, +}: stdenv.mkDerivation rec { pname = "fomp"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-xnGijydiO3B7BjSlryFuH1j/OPio9hCYbniq2IXp2W8="; }; - nativeBuildInputs = [ pkg-config wafHook ]; - buildInputs = [ lv2 python3 ]; + nativeBuildInputs = [ + pkg-config + wafHook + ]; + buildInputs = [ + lv2 + python3 + ]; meta = with lib; { homepage = "https://drobilla.net/software/fomp.html"; diff --git a/pkgs/by-name/fo/fondo/package.nix b/pkgs/by-name/fo/fondo/package.nix index daaeb2b74f9bc..decb67206f7fb 100644 --- a/pkgs/by-name/fo/fondo/package.nix +++ b/pkgs/by-name/fo/fondo/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pantheon -, vala -, pkg-config -, meson -, ninja -, python3 -, glib -, gsettings-desktop-schemas -, gtk3 -, libgee -, libhandy -, libsoup_2_4 -, json-glib -, glib-networking -, desktop-file-utils -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pantheon, + vala, + pkg-config, + meson, + ninja, + python3, + glib, + gsettings-desktop-schemas, + gtk3, + libgee, + libhandy, + libsoup_2_4, + json-glib, + glib-networking, + desktop-file-utils, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fo/font-config-info/package.nix b/pkgs/by-name/fo/font-config-info/package.nix index 20133eb0df775..4d45eab2cf8ea 100644 --- a/pkgs/by-name/fo/font-config-info/package.nix +++ b/pkgs/by-name/fo/font-config-info/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, gtk3 -, xsettingsd +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + gtk3, + xsettingsd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fo/font-manager/package.nix b/pkgs/by-name/fo/font-manager/package.nix index dc9b27fdd3af5..c86340595dc40 100644 --- a/pkgs/by-name/fo/font-manager/package.nix +++ b/pkgs/by-name/fo/font-manager/package.nix @@ -1,26 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, gettext -, python3 -, pkg-config -, libxml2 -, json-glib -, sqlite -, itstool -, yelp-tools -, vala -, gsettings-desktop-schemas -, gtk4 -, adwaita-icon-theme -, desktop-file-utils -, nix-update-script -, wrapGAppsHook4 -, gobject-introspection -# withWebkit enables the "webkit" feature, also known as Google Fonts -, withWebkit ? true, glib-networking, libsoup_3, webkitgtk_6_0 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + gettext, + python3, + pkg-config, + libxml2, + json-glib, + sqlite, + itstool, + yelp-tools, + vala, + gsettings-desktop-schemas, + gtk4, + adwaita-icon-theme, + desktop-file-utils, + nix-update-script, + wrapGAppsHook4, + gobject-introspection, + # withWebkit enables the "webkit" feature, also known as Google Fonts + withWebkit ? true, + glib-networking, + libsoup_3, + webkitgtk_6_0, }: stdenv.mkDerivation rec { @@ -49,18 +53,20 @@ stdenv.mkDerivation rec { gobject-introspection ]; - buildInputs = [ - libxml2 - json-glib - sqlite - gsettings-desktop-schemas # for font settings - gtk4 - adwaita-icon-theme - ] ++ lib.optionals withWebkit [ - glib-networking # for SSL so that Google Fonts can load - libsoup_3 - webkitgtk_6_0 - ]; + buildInputs = + [ + libxml2 + json-glib + sqlite + gsettings-desktop-schemas # for font settings + gtk4 + adwaita-icon-theme + ] + ++ lib.optionals withWebkit [ + glib-networking # for SSL so that Google Fonts can load + libsoup_3 + webkitgtk_6_0 + ]; mesonFlags = [ "-Dreproducible=true" # Do not hardcode build directory… diff --git a/pkgs/by-name/fo/fontfinder/package.nix b/pkgs/by-name/fo/fontfinder/package.nix index db55b02065265..b421bf00876d1 100644 --- a/pkgs/by-name/fo/fontfinder/package.nix +++ b/pkgs/by-name/fo/fontfinder/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook3 -, gdk-pixbuf -, gtk3 -, libsoup_3 -, webkitgtk_4_1 +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook3, + gdk-pixbuf, + gtk3, + libsoup_3, + webkitgtk_4_1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fo/fontpreview/package.nix b/pkgs/by-name/fo/fontpreview/package.nix index 0f02eeed17697..b80cfd9791bc5 100644 --- a/pkgs/by-name/fo/fontpreview/package.nix +++ b/pkgs/by-name/fo/fontpreview/package.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, xdotool, fzf, imagemagick, sxiv, getopt }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + xdotool, + fzf, + imagemagick, + sxiv, + getopt, +}: stdenv.mkDerivation rec { pname = "fontpreview"; @@ -19,7 +29,15 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/fontpreview \ - --prefix PATH : ${lib.makeBinPath [ xdotool fzf imagemagick sxiv getopt ]} + --prefix PATH : ${ + lib.makeBinPath [ + xdotool + fzf + imagemagick + sxiv + getopt + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/fo/foo2zjs/package.nix b/pkgs/by-name/fo/foo2zjs/package.nix index 91f6d98e9d559..f1c186529c0d7 100644 --- a/pkgs/by-name/fo/foo2zjs/package.nix +++ b/pkgs/by-name/fo/foo2zjs/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, foomatic-filters, bc, ghostscript, systemd, vim, time }: +{ + lib, + stdenv, + fetchurl, + foomatic-filters, + bc, + ghostscript, + systemd, + vim, + time, +}: stdenv.mkDerivation rec { pname = "foo2zjs"; @@ -9,7 +19,13 @@ stdenv.mkDerivation rec { sha256 = "14x3wizvncdy0xgvmcx541qanwb7bg76abygqy17bxycn1zh5r1x"; }; - buildInputs = [ foomatic-filters bc ghostscript systemd vim ]; + buildInputs = [ + foomatic-filters + bc + ghostscript + systemd + vim + ]; patches = [ ./no-hardcode-fw.diff @@ -66,8 +82,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "ZjStream printer drivers"; - maintainers = with maintainers; - [ + maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; diff --git a/pkgs/by-name/fo/foomatic-db-engine/package.nix b/pkgs/by-name/fo/foomatic-db-engine/package.nix index d9ae78139192e..32ceaf6bf8fbe 100644 --- a/pkgs/by-name/fo/foomatic-db-engine/package.nix +++ b/pkgs/by-name/fo/foomatic-db-engine/package.nix @@ -1,18 +1,19 @@ -{ lib -, perlPackages -, fetchFromGitHub -, withCupsAccess ? false # needed to access local cups server -, cups -, cups-filters -, curl -, withSocketAccess ? false # needed to access network printers -, netcat-gnu -, withSMBAccess ? false # needed to access SMB-connected printers -, samba -, autoconf -, automake -, file -, makeWrapper +{ + lib, + perlPackages, + fetchFromGitHub, + withCupsAccess ? false, # needed to access local cups server + cups, + cups-filters, + curl, + withSocketAccess ? false, # needed to access network printers + netcat-gnu, + withSMBAccess ? false, # needed to access SMB-connected printers + samba, + autoconf, + automake, + file, + makeWrapper, }: perlPackages.buildPerlPackage rec { @@ -37,20 +38,27 @@ perlPackages.buildPerlPackage rec { ]; buildInputs = - [ curl ] - # provide some "cups-*" commands to `foomatic-{configure,printjob}` - # so that they can manage a local cups server (add queues, add jobs...) - ++ lib.optionals withCupsAccess [ cups cups-filters ] - # the commands `foomatic-{configure,getpjloptions}` need - # netcat if they are used to query or alter a network - # printer via AppSocket/HP JetDirect protocol + [ curl ] + # provide some "cups-*" commands to `foomatic-{configure,printjob}` + # so that they can manage a local cups server (add queues, add jobs...) + ++ lib.optionals withCupsAccess [ + cups + cups-filters + ] + # the commands `foomatic-{configure,getpjloptions}` need + # netcat if they are used to query or alter a network + # printer via AppSocket/HP JetDirect protocol ++ lib.optional withSocketAccess netcat-gnu - # `foomatic-configure` can be used to access printers that are - # shared via the SMB protocol, but it needs the `smbclient` binary - ++ lib.optional withSMBAccess samba - ; + # `foomatic-configure` can be used to access printers that are + # shared via the SMB protocol, but it needs the `smbclient` binary + ++ lib.optional withSMBAccess samba; - nativeBuildInputs = [ autoconf automake file makeWrapper ]; + nativeBuildInputs = [ + autoconf + automake + file + makeWrapper + ]; # sed-substitute indirection is more robust against # characters in paths that might need escaping @@ -77,7 +85,7 @@ perlPackages.buildPerlPackage rec { done ''; - doCheck = false; # no tests, would fail + doCheck = false; # no tests, would fail meta = { changelog = "https://github.com/OpenPrinting/foomatic-db-engine/blob/${src.rev}/ChangeLog"; diff --git a/pkgs/by-name/fo/foomatic-db-nonfree/package.nix b/pkgs/by-name/fo/foomatic-db-nonfree/package.nix index c67362a49dee6..6d52b503b501b 100644 --- a/pkgs/by-name/fo/foomatic-db-nonfree/package.nix +++ b/pkgs/by-name/fo/foomatic-db-nonfree/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, perl +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + perl, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cRZH0CXg03FEqUJdxaNnPVXjf8+ct86PjhL59WQbw60="; }; - nativeBuildInputs = [ autoconf automake perl ]; + nativeBuildInputs = [ + autoconf + automake + perl + ]; # sed-substitute indirection is more robust against # characters in paths that might need escaping diff --git a/pkgs/by-name/fo/foomatic-db-ppds/package.nix b/pkgs/by-name/fo/foomatic-db-ppds/package.nix index bdc1e0a9b5feb..95f0721fe6a6c 100644 --- a/pkgs/by-name/fo/foomatic-db-ppds/package.nix +++ b/pkgs/by-name/fo/foomatic-db-ppds/package.nix @@ -1,21 +1,21 @@ -{ lib -, foomatic-db -, foomatic-db-nonfree -, buildEnv -, foomatic-db-engine -, stdenv -, cups-filters -, ghostscript -, netpbm -, perl -, psutils -, patchPpdFilesHook -, withNonfreeDb ? false # include foomatic-db-nonfree ppd files +{ + lib, + foomatic-db, + foomatic-db-nonfree, + buildEnv, + foomatic-db-engine, + stdenv, + cups-filters, + ghostscript, + netpbm, + perl, + psutils, + patchPpdFilesHook, + withNonfreeDb ? false, # include foomatic-db-nonfree ppd files }: let - foomatic-db-packages = [ foomatic-db ] ++ - lib.lists.optional withNonfreeDb foomatic-db-nonfree; + foomatic-db-packages = [ foomatic-db ] ++ lib.lists.optional withNonfreeDb foomatic-db-nonfree; foomatic-db-combined = buildEnv { name = "foomatic-db-combined"; @@ -77,12 +77,15 @@ stdenv.mkDerivation { # Comments indicate the respective # package the command is contained in. ppdFileCommands = [ - "cat" "echo" # coreutils - "foomatic-rip" # cups-filters or foomatic-filters - "gs" # ghostscript - "pnmflip" "pnmgamma" "pnmnoraw" # netpbm - "perl" # perl - "psresize" # psutils + "cat" + "echo" # coreutils + "foomatic-rip" # cups-filters or foomatic-filters + "gs" # ghostscript + "pnmflip" + "pnmgamma" + "pnmnoraw" # netpbm + "perl" # perl + "psresize" # psutils # These commands aren't packaged yet. # ppd files using these likely won't work. #"c2050" "c2070" "cjet" "lm1100" diff --git a/pkgs/by-name/fo/foomatic-db/package.nix b/pkgs/by-name/fo/foomatic-db/package.nix index d35d3915eb33f..0c67635084117 100644 --- a/pkgs/by-name/fo/foomatic-db/package.nix +++ b/pkgs/by-name/fo/foomatic-db/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cups -, cups-filters -, ghostscript -, gnused -, perl -, autoconf -, automake -, patchPpdFilesHook +{ + lib, + stdenv, + fetchFromGitHub, + cups, + cups-filters, + ghostscript, + gnused, + perl, + autoconf, + automake, + patchPpdFilesHook, }: stdenv.mkDerivation (finalAttrs: { @@ -24,9 +25,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-7vvJPhUa4oDe101Iv897LoChNIcdTa4LviLUndHxWtw="; }; - buildInputs = [ cups cups-filters ghostscript gnused perl ]; + buildInputs = [ + cups + cups-filters + ghostscript + gnused + perl + ]; - nativeBuildInputs = [ autoconf automake patchPpdFilesHook perl ]; + nativeBuildInputs = [ + autoconf + automake + patchPpdFilesHook + perl + ]; # sed-substitute indirection is more robust # against characters in paths that might need escaping @@ -63,12 +75,14 @@ stdenv.mkDerivation (finalAttrs: { # Comments indicate the respective # package the command is contained in. ppdFileCommands = [ - "cat" "date" "printf" # coreutils - "rastertohp" # cups - "foomatic-rip" # cups-filters or foomatic-filters - "gs" # ghostscript - "sed" # gnused - "perl" # perl + "cat" + "date" + "printf" # coreutils + "rastertohp" # cups + "foomatic-rip" # cups-filters or foomatic-filters + "gs" # ghostscript + "sed" # gnused + "perl" # perl ]; # compress ppd files @@ -83,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: { description = "OpenPrinting printer support database (free content)"; downloadPage = "https://www.openprinting.org/download/foomatic/"; homepage = "https://openprinting.github.io/projects/02-foomatic/"; - license = lib.licenses.free; # mostly GPL and MIT, see README in source dir + license = lib.licenses.free; # mostly GPL and MIT, see README in source dir maintainers = [ lib.maintainers.yarny ]; # list printer manufacturers here so people # searching for ppd files can find this package diff --git a/pkgs/by-name/fo/foomatic-filters/package.nix b/pkgs/by-name/fo/foomatic-filters/package.nix index 600ab615d89cf..5f69ec334aa21 100644 --- a/pkgs/by-name/fo/foomatic-filters/package.nix +++ b/pkgs/by-name/fo/foomatic-filters/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchpatch, fetchurl, pkg-config, perl, cups, dbus, enscript }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + pkg-config, + perl, + cups, + dbus, + enscript, +}: stdenv.mkDerivation rec { pname = "foomatic-filters"; @@ -10,7 +20,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ perl cups dbus enscript ]; + buildInputs = [ + perl + cups + dbus + enscript + ]; patches = [ (fetchpatch { @@ -20,10 +35,9 @@ stdenv.mkDerivation rec { }) ]; - preConfigure = - '' - substituteInPlace foomaticrip.c --replace /bin/bash ${stdenv.shell} - ''; + preConfigure = '' + substituteInPlace foomaticrip.c --replace /bin/bash ${stdenv.shell} + ''; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: diff --git a/pkgs/by-name/fo/foonathan-memory/package.nix b/pkgs/by-name/fo/foonathan-memory/package.nix index 7e2141ef042ce..ecfd1a226b8b4 100644 --- a/pkgs/by-name/fo/foonathan-memory/package.nix +++ b/pkgs/by-name/fo/foonathan-memory/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, doctest +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + doctest, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +26,10 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cmakeFlags = [ (lib.cmakeBool "FOONATHAN_MEMORY_BUILD_TESTS" finalAttrs.finalPackage.doCheck) diff --git a/pkgs/by-name/fo/foot/package.nix b/pkgs/by-name/fo/foot/package.nix index d84858ad07f80..d11b75ad2d34f 100644 --- a/pkgs/by-name/fo/foot/package.nix +++ b/pkgs/by-name/fo/foot/package.nix @@ -1,28 +1,29 @@ -{ stdenv -, lib -, fetchFromGitea -, fetchurl -, runCommand -, fcft -, freetype -, pixman -, libxkbcommon -, fontconfig -, wayland -, meson -, ninja -, ncurses -, scdoc -, tllist -, wayland-protocols -, wayland-scanner -, pkg-config -, utf8proc -, allowPgo ? !stdenv.hostPlatform.isMusl -, python3 # for PGO -# for clang stdenv check -, foot -, llvmPackages +{ + stdenv, + lib, + fetchFromGitea, + fetchurl, + runCommand, + fcft, + freetype, + pixman, + libxkbcommon, + fontconfig, + wayland, + meson, + ninja, + ncurses, + scdoc, + tllist, + wayland-protocols, + wayland-scanner, + pkg-config, + utf8proc, + allowPgo ? !stdenv.hostPlatform.isMusl, + python3, # for PGO + # for clang stdenv check + foot, + llvmPackages, }: let @@ -63,29 +64,34 @@ let ''; compilerName = - if stdenv.cc.isClang - then "clang" - else if stdenv.cc.isGNU - then "gcc" - else "unknown"; + if stdenv.cc.isClang then + "clang" + else if stdenv.cc.isGNU then + "gcc" + else + "unknown"; # https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#performance-optimized-pgo - pgoCflags = { - "clang" = "-O3 -Wno-ignored-optimization-argument"; - "gcc" = "-O3"; - }."${compilerName}"; + pgoCflags = + { + "clang" = "-O3 -Wno-ignored-optimization-argument"; + "gcc" = "-O3"; + } + ."${compilerName}"; # ar with lto support - ar = stdenv.cc.bintools.targetPrefix + { - "clang" = "llvm-ar"; - "gcc" = "gcc-ar"; - "unknown" = "ar"; - }."${compilerName}"; + ar = + stdenv.cc.bintools.targetPrefix + + { + "clang" = "llvm-ar"; + "gcc" = "gcc-ar"; + "unknown" = "ar"; + } + ."${compilerName}"; # PGO only makes sense if we are not cross compiling and # using a compiler which foot's PGO build supports (clang or gcc) - doPgo = allowPgo && (stdenv.hostPlatform == stdenv.buildPlatform) - && compilerName != "unknown"; + doPgo = allowPgo && (stdenv.hostPlatform == stdenv.buildPlatform) && compilerName != "unknown"; terminfoDir = "${placeholder "terminfo"}/share/terminfo"; in @@ -107,16 +113,18 @@ stdenv.mkDerivation { pkg-config ]; - nativeBuildInputs = [ - wayland-scanner - meson - ninja - ncurses - scdoc - pkg-config - ] ++ lib.optionals (compilerName == "clang") [ - stdenv.cc.cc.libllvm.out - ]; + nativeBuildInputs = + [ + wayland-scanner + meson + ninja + ncurses + scdoc + pkg-config + ] + ++ lib.optionals (compilerName == "clang") [ + stdenv.cc.cc.libllvm.out + ]; buildInputs = [ tllist @@ -132,10 +140,7 @@ stdenv.mkDerivation { # recommended build flags for performance optimized foot builds # https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#release-build - CFLAGS = - if !doPgo - then "-O3" - else pgoCflags; + CFLAGS = if !doPgo then "-O3" else pgoCflags; # ar with gcc plugins for lto objects preConfigure = '' @@ -162,20 +167,22 @@ stdenv.mkDerivation { # build and run binary generating PGO profiles, # then reconfigure to build the normal foot binary utilizing PGO - preBuild = lib.optionalString doPgo '' - meson configure -Db_pgo=generate - ninja - # make sure there is _some_ profiling data on all binaries - meson test - ./footclient --version - ./foot --version - ./utils/xtgettcap - # generate pgo data of wayland independent code - ./pgo ${stimuliFile} ${stimuliFile} ${stimuliFile} - meson configure -Db_pgo=use - '' + lib.optionalString (doPgo && compilerName == "clang") '' - llvm-profdata merge default_*profraw --output=default.profdata - ''; + preBuild = + lib.optionalString doPgo '' + meson configure -Db_pgo=generate + ninja + # make sure there is _some_ profiling data on all binaries + meson test + ./footclient --version + ./foot --version + ./utils/xtgettcap + # generate pgo data of wayland independent code + ./pgo ${stimuliFile} ${stimuliFile} ${stimuliFile} + meson configure -Db_pgo=use + '' + + lib.optionalString (doPgo && compilerName == "clang") '' + llvm-profdata merge default_*profraw --output=default.profdata + ''; # Install example themes which can be added to foot.ini via the include # directive to a separate output to save a bit of space @@ -187,7 +194,11 @@ stdenv.mkDerivation { strictDeps = true; - outputs = [ "out" "terminfo" "themes" ]; + outputs = [ + "out" + "terminfo" + "themes" + ]; passthru.tests = { clang-default-compilation = foot.override { @@ -211,7 +222,10 @@ stdenv.mkDerivation { changelog = "https://codeberg.org/dnkl/foot/releases/tag/${version}"; description = "Fast, lightweight and minimalistic Wayland terminal emulator"; license = licenses.mit; - maintainers = [ maintainers.sternenseemann maintainers.abbe ]; + maintainers = [ + maintainers.sternenseemann + maintainers.abbe + ]; platforms = platforms.linux; mainProgram = "foot"; }; diff --git a/pkgs/by-name/fo/footswitch/package.nix b/pkgs/by-name/fo/footswitch/package.nix index 5df62b1c8aae6..61d33b71761da 100644 --- a/pkgs/by-name/fo/footswitch/package.nix +++ b/pkgs/by-name/fo/footswitch/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, hidapi }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + hidapi, +}: stdenv.mkDerivation { pname = "footswitch"; diff --git a/pkgs/by-name/fo/forbidden/package.nix b/pkgs/by-name/fo/forbidden/package.nix index 691b38291da49..783f6a3737a04 100644 --- a/pkgs/by-name/fo/forbidden/package.nix +++ b/pkgs/by-name/fo/forbidden/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fo/foreman/gemset.nix b/pkgs/by-name/fo/foreman/gemset.nix index d5b053daf4c02..591cc3f454b6f 100644 --- a/pkgs/by-name/fo/foreman/gemset.nix +++ b/pkgs/by-name/fo/foreman/gemset.nix @@ -1,9 +1,9 @@ { foreman = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0szgxvnzwkzrfbq5dkwa98mig78aqglfy6irdsvq1gq045pbq9r7"; type = "gem"; }; diff --git a/pkgs/by-name/fo/foreman/package.nix b/pkgs/by-name/fo/foreman/package.nix index 8a7cfde32ee05..06cb2a3d4e966 100644 --- a/pkgs/by-name/fo/foreman/package.nix +++ b/pkgs/by-name/fo/foreman/package.nix @@ -1,4 +1,8 @@ -{ bundlerEnv, lib, ruby }: +{ + bundlerEnv, + lib, + ruby, +}: bundlerEnv { inherit ruby; diff --git a/pkgs/by-name/fo/foremost/package.nix b/pkgs/by-name/fo/foremost/package.nix index bdf846e029d3d..c63afde7ced92 100644 --- a/pkgs/by-name/fo/foremost/package.nix +++ b/pkgs/by-name/fo/foremost/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "foremost"; diff --git a/pkgs/by-name/fo/forge-sparks/package.nix b/pkgs/by-name/fo/forge-sparks/package.nix index ca7c38d343f60..b7e3180a02a35 100644 --- a/pkgs/by-name/fo/forge-sparks/package.nix +++ b/pkgs/by-name/fo/forge-sparks/package.nix @@ -1,20 +1,21 @@ -{ lib -, blueprint-compiler -, desktop-file-utils -, fetchFromGitHub -, gjs -, glib -, glib-networking -, gtk4 -, libadwaita -, libportal -, libsecret -, libsoup_3 -, meson -, ninja -, pkg-config -, stdenv -, wrapGAppsHook4 +{ + lib, + blueprint-compiler, + desktop-file-utils, + fetchFromGitHub, + gjs, + glib, + glib-networking, + gtk4, + libadwaita, + libportal, + libsecret, + libsoup_3, + meson, + ninja, + pkg-config, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fo/forge/package.nix b/pkgs/by-name/fo/forge/package.nix index 051038c747875..da70604c2f759 100644 --- a/pkgs/by-name/fo/forge/package.nix +++ b/pkgs/by-name/fo/forge/package.nix @@ -1,20 +1,21 @@ -{ boost -, cmake -, expat -, fetchFromGitHub -, fontconfig -, freeimage -, freetype -, glfw3 -, glm -, lib -, libGLU -, libGL -, mesa -, opencl-clhpp -, pkg-config -, stdenv -, SDL2 +{ + boost, + cmake, + expat, + fetchFromGitHub, + fontconfig, + freeimage, + freetype, + glfw3, + glm, + lib, + libGLU, + libGL, + mesa, + opencl-clhpp, + pkg-config, + stdenv, + SDL2, }: stdenv.mkDerivation rec { @@ -77,6 +78,9 @@ stdenv.mkDerivation rec { license = licenses.bsd3; homepage = "https://arrayfire.com/"; platforms = platforms.linux; - maintainers = with maintainers; [ chessai twesterhout ]; + maintainers = with maintainers; [ + chessai + twesterhout + ]; }; } diff --git a/pkgs/by-name/fo/forgejo/generic.nix b/pkgs/by-name/fo/forgejo/generic.nix index 18bc5790cb4ba..3ca4393aace9b 100644 --- a/pkgs/by-name/fo/forgejo/generic.nix +++ b/pkgs/by-name/fo/forgejo/generic.nix @@ -1,29 +1,31 @@ -{ lts ? false -, version -, rev ? "refs/tags/v${version}" -, hash -, npmDepsHash -, vendorHash -, nixUpdateExtraArgs ? [ ] +{ + lts ? false, + version, + rev ? "refs/tags/v${version}", + hash, + npmDepsHash, + vendorHash, + nixUpdateExtraArgs ? [ ], }: -{ bash -, brotli -, buildGoModule -, forgejo -, git -, gzip -, lib -, makeWrapper -, nix-update-script -, nixosTests -, openssh -, sqliteSupport ? true -, xorg -, runCommand -, stdenv -, fetchFromGitea -, buildNpmPackage +{ + bash, + brotli, + buildGoModule, + forgejo, + git, + gzip, + lib, + makeWrapper, + nix-update-script, + nixosTests, + openssh, + sqliteSupport ? true, + xorg, + runCommand, + stdenv, + fetchFromGitea, + buildNpmPackage, }: let @@ -56,11 +58,17 @@ buildGoModule rec { version src vendorHash - ; + ; - subPackages = [ "." "contrib/environment-to-ini" ]; + subPackages = [ + "." + "contrib/environment-to-ini" + ]; - outputs = [ "out" "data" ]; + outputs = [ + "out" + "data" + ]; nativeBuildInputs = [ makeWrapper @@ -79,7 +87,10 @@ buildGoModule rec { substituteInPlace modules/setting/server.go --subst-var data ''; - tags = lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ]; + tags = lib.optionals sqliteSupport [ + "sqlite" + "sqlite_unlock_notify" + ]; ldflags = [ "-s" @@ -124,29 +135,44 @@ buildGoModule rec { mkdir -p $out cp -R ./options/locale $out/locale wrapProgram $out/bin/gitea \ - --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]} + --prefix PATH : ${ + lib.makeBinPath [ + bash + git + gzip + openssh + ] + } ''; # $data is not available in goModules.drv - overrideModAttrs = (_: { - postPatch = null; - }); + overrideModAttrs = ( + _: { + postPatch = null; + } + ); passthru = { # allow nix-update to handle npmDepsHash inherit (frontend) npmDeps; - data-compressed = runCommand "forgejo-data-compressed" { - nativeBuildInputs = [ brotli xorg.lndir ]; - } '' - mkdir $out - lndir ${forgejo.data}/ $out/ - - # Create static gzip and brotli files - find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \ - -exec gzip --best --keep --force {} ';' \ - -exec brotli --best --keep --no-copy-stat {} ';' - ''; + data-compressed = + runCommand "forgejo-data-compressed" + { + nativeBuildInputs = [ + brotli + xorg.lndir + ]; + } + '' + mkdir $out + lndir ${forgejo.data}/ $out/ + + # Create static gzip and brotli files + find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \ + -exec gzip --best --keep --force {} ';' \ + -exec brotli --best --keep --no-copy-stat {} ';' + ''; tests = if lts then nixosTests.forgejo-lts else nixosTests.forgejo; @@ -163,7 +189,13 @@ buildGoModule rec { homepage = "https://forgejo.org"; changelog = "https://codeberg.org/forgejo/forgejo/releases/tag/v${version}"; license = if lib.versionAtLeast version "9.0.0" then lib.licenses.gpl3Plus else lib.licenses.mit; - maintainers = with lib.maintainers; [ emilylange urandom bendlas adamcstephens marie ]; + maintainers = with lib.maintainers; [ + emilylange + urandom + bendlas + adamcstephens + marie + ]; broken = stdenv.hostPlatform.isDarwin; mainProgram = "gitea"; }; diff --git a/pkgs/by-name/fo/forkstat/package.nix b/pkgs/by-name/fo/forkstat/package.nix index 8454987343b0f..f1a4305e306bd 100644 --- a/pkgs/by-name/fo/forkstat/package.nix +++ b/pkgs/by-name/fo/forkstat/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "forkstat"; diff --git a/pkgs/by-name/fo/forktty/package.nix b/pkgs/by-name/fo/forktty/package.nix index 7240368861380..0e6d763dd963e 100644 --- a/pkgs/by-name/fo/forktty/package.nix +++ b/pkgs/by-name/fo/forktty/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "forktty"; @@ -18,7 +22,10 @@ stdenv.mkDerivation rec { mkdir -p "$out/share/man/man8" ''; - makeFlags = [ "prefix=$(out)" "manprefix=$(out)/share/" ]; + makeFlags = [ + "prefix=$(out)" + "manprefix=$(out)/share/" + ]; meta = with lib; { description = "Tool to detach from controlling TTY and attach to another"; diff --git a/pkgs/by-name/fo/form/package.nix b/pkgs/by-name/fo/form/package.nix index 3c5569f116d81..b8a55c074cc69 100644 --- a/pkgs/by-name/fo/form/package.nix +++ b/pkgs/by-name/fo/form/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gmp, zlib }: +{ + lib, + stdenv, + fetchurl, + gmp, + zlib, +}: stdenv.mkDerivation { version = "4.3.1"; @@ -10,7 +16,10 @@ stdenv.mkDerivation { sha256 = "sha256-8fUS3DT+m71rGfLf7wX8uZEt+0PINop1t5bsRy7ou84="; }; - buildInputs = [ gmp zlib ]; + buildInputs = [ + gmp + zlib + ]; meta = with lib; { description = "FORM project for symbolic manipulation of very big expressions"; diff --git a/pkgs/by-name/fo/formatter/package.nix b/pkgs/by-name/fo/formatter/package.nix index e56ee22c506e8..744a0499707a4 100644 --- a/pkgs/by-name/fo/formatter/package.nix +++ b/pkgs/by-name/fo/formatter/package.nix @@ -1,22 +1,24 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, vala -, pkg-config -, pantheon -, python3 -, substituteAll -, glib -, gtk3 -, dosfstools -, e2fsprogs -, exfat -, hfsprogs -, ntfs3g -, libgee -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + vala, + pkg-config, + pantheon, + python3, + substituteAll, + glib, + gtk3, + dosfstools, + e2fsprogs, + exfat, + hfsprogs, + ntfs3g, + libgee, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fo/fornalder/package.nix b/pkgs/by-name/fo/fornalder/package.nix index c7774a60cf2b9..84b88da240fe9 100644 --- a/pkgs/by-name/fo/fornalder/package.nix +++ b/pkgs/by-name/fo/fornalder/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, makeWrapper, gnuplot }: +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + gnuplot, +}: rustPlatform.buildRustPackage rec { pname = "fornalder"; @@ -24,7 +30,10 @@ rustPlatform.buildRustPackage rec { description = "Visualize long-term trends in collections of Git repositories"; homepage = "https://github.com/hpjansson/fornalder"; license = licenses.gpl3Only; - maintainers = with maintainers; [ astro figsoda ]; + maintainers = with maintainers; [ + astro + figsoda + ]; mainProgram = "fornalder"; }; } diff --git a/pkgs/by-name/fo/fortify-headers/package.nix b/pkgs/by-name/fo/fortify-headers/package.nix index 1f418af7ae962..bb3c55484444c 100644 --- a/pkgs/by-name/fo/fortify-headers/package.nix +++ b/pkgs/by-name/fo/fortify-headers/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation { @@ -11,7 +12,7 @@ stdenv.mkDerivation { # extract from the alpine package src = fetchurl { url = "https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/fortify-headers-1.1-r3.apk"; - name = "fortify-headers.tar.gz"; # ensure it's extracted as a .tar.gz + name = "fortify-headers.tar.gz"; # ensure it's extracted as a .tar.gz hash = "sha256-8A8JcKHIBgXpUuIP4zs3Q1yBs5jCGd5F3H2E8UN/S2g="; }; diff --git a/pkgs/by-name/fo/fortran-fpm/package.nix b/pkgs/by-name/fo/fortran-fpm/package.nix index 40e92dd68e84a..157306707812a 100644 --- a/pkgs/by-name/fo/fortran-fpm/package.nix +++ b/pkgs/by-name/fo/fortran-fpm/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, pkgs -, stdenv +{ + lib, + fetchurl, + pkgs, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fo/fortune-kind/package.nix b/pkgs/by-name/fo/fortune-kind/package.nix index bea0bec5c4035..295dde7c68059 100644 --- a/pkgs/by-name/fo/fortune-kind/package.nix +++ b/pkgs/by-name/fo/fortune-kind/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin -, libiconv -, makeBinaryWrapper -, installShellFiles -, fortuneAlias ? true +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + libiconv, + makeBinaryWrapper, + installShellFiles, + fortuneAlias ? true, }: rustPlatform.buildRustPackage rec { @@ -22,8 +23,14 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-hxbvsAQsZWUAgj8QAlcxqBA5YagLO3/vz9lQGJMHUjw="; - nativeBuildInputs = [ makeBinaryWrapper installShellFiles ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ]; + nativeBuildInputs = [ + makeBinaryWrapper + installShellFiles + ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.Security + ]; buildNoDefaultFeatures = true; @@ -43,12 +50,14 @@ rustPlatform.buildRustPackage rec { cp -r $src/fortunes $out/fortunes; ''; - postInstall = '' - wrapProgram $out/bin/fortune-kind \ - --prefix FORTUNE_DIR : "$out/fortunes" - ''+ lib.optionalString fortuneAlias '' - ln -s fortune-kind $out/bin/fortune - ''; + postInstall = + '' + wrapProgram $out/bin/fortune-kind \ + --prefix FORTUNE_DIR : "$out/fortunes" + '' + + lib.optionalString fortuneAlias '' + ln -s fortune-kind $out/bin/fortune + ''; meta = with lib; { description = "Kinder, curated fortune, written in rust"; diff --git a/pkgs/by-name/fo/fortune/package.nix b/pkgs/by-name/fo/fortune/package.nix index 4df5e1fd1aae3..b71940e5e8666 100644 --- a/pkgs/by-name/fo/fortune/package.nix +++ b/pkgs/by-name/fo/fortune/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cmake, recode, perl, rinutils, withOffensive ? false }: +{ + lib, + stdenv, + fetchurl, + cmake, + recode, + perl, + rinutils, + withOffensive ? false, +}: stdenv.mkDerivation rec { pname = "fortune-mod"; @@ -11,7 +20,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-BpMhu01K46v1VJPQQ86gZTTck/Giwp6GaU2e2xOAoOM="; }; - nativeBuildInputs = [ cmake perl rinutils ]; + nativeBuildInputs = [ + cmake + perl + rinutils + ]; buildInputs = [ recode ]; @@ -19,22 +32,24 @@ stdenv.mkDerivation rec { "-DLOCALDIR=${placeholder "out"}/share/fortunes" ] ++ lib.optional (!withOffensive) "-DNO_OFFENSIVE=true"; - patches = [ (builtins.toFile "not-a-game.patch" '' - diff --git a/CMakeLists.txt b/CMakeLists.txt - index 865e855..5a59370 100644 - --- a/CMakeLists.txt - +++ b/CMakeLists.txt - @@ -154,7 +154,7 @@ ENDMACRO() - my_exe( - "fortune" - "fortune/fortune.c" - - "games" - + "bin" - ) - - my_exe( - -- - '') ]; + patches = [ + (builtins.toFile "not-a-game.patch" '' + diff --git a/CMakeLists.txt b/CMakeLists.txt + index 865e855..5a59370 100644 + --- a/CMakeLists.txt + +++ b/CMakeLists.txt + @@ -154,7 +154,7 @@ ENDMACRO() + my_exe( + "fortune" + "fortune/fortune.c" + - "games" + + "bin" + ) + + my_exe( + -- + '') + ]; postFixup = lib.optionalString (!withOffensive) '' rm $out/share/games/fortunes/men-women* diff --git a/pkgs/by-name/fo/foxtrotgps/package.nix b/pkgs/by-name/fo/foxtrotgps/package.nix index bb9049dde7919..43e176471a5c6 100644 --- a/pkgs/by-name/fo/foxtrotgps/package.nix +++ b/pkgs/by-name/fo/foxtrotgps/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchbzr, autoreconfHook, texinfo, help2man, imagemagick, pkg-config -, curl, gnome2, gpsd, gtk2, wrapGAppsHook3 -, intltool, libexif, python3Packages, sqlite }: +{ + lib, + stdenv, + fetchbzr, + autoreconfHook, + texinfo, + help2man, + imagemagick, + pkg-config, + curl, + gnome2, + gpsd, + gtk2, + wrapGAppsHook3, + intltool, + libexif, + python3Packages, + sqlite, +}: let srcs = { @@ -15,7 +31,8 @@ let sha256 = "1sgysn3dhfhrv7rj7wf8f2119vmhc1s1zzsp4r3nlrr45d20wmsv"; }; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "foxtrotgps"; version = "1.2.2+331"; @@ -23,8 +40,13 @@ in stdenv.mkDerivation rec { src = srcs.foxtrot; nativeBuildInputs = [ - pkg-config autoreconfHook texinfo help2man - imagemagick wrapGAppsHook3 intltool + pkg-config + autoreconfHook + texinfo + help2man + imagemagick + wrapGAppsHook3 + intltool ]; buildInputs = [ @@ -34,8 +56,13 @@ in stdenv.mkDerivation rec { gtk2.dev libexif sqlite.dev - (python3Packages.python.withPackages (pythonPackages: with python3Packages; - [ beautifulsoup4 feedparser sqlalchemy ])) + (python3Packages.python.withPackages ( + pythonPackages: with python3Packages; [ + beautifulsoup4 + feedparser + sqlalchemy + ] + )) ]; postUnpack = '' diff --git a/pkgs/by-name/fp/fparser/package.nix b/pkgs/by-name/fp/fparser/package.nix index 73db0575d0b1b..389b0e5b88eb4 100644 --- a/pkgs/by-name/fp/fparser/package.nix +++ b/pkgs/by-name/fp/fparser/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fp/fpart/package.nix b/pkgs/by-name/fp/fpart/package.nix index fe58413443f26..e026291b47b49 100644 --- a/pkgs/by-name/fp/fpart/package.nix +++ b/pkgs/by-name/fp/fpart/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, fts }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + fts, +}: stdenv.mkDerivation rec { pname = "fpart"; diff --git a/pkgs/by-name/fp/fpattern/package.nix b/pkgs/by-name/fp/fpattern/package.nix index e1b75f025c89f..9ece75ba435cf 100644 --- a/pkgs/by-name/fp/fpattern/package.nix +++ b/pkgs/by-name/fp/fpattern/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { version = "1.9"; diff --git a/pkgs/by-name/fp/fped/package.nix b/pkgs/by-name/fp/fped/package.nix index dbfeb69c6bfae..b227dd8bb428b 100644 --- a/pkgs/by-name/fp/fped/package.nix +++ b/pkgs/by-name/fp/fped/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchgit -, flex, bison, fig2dev, imagemagick, netpbm, gtk2 -, pkg-config +{ + lib, + stdenv, + fetchgit, + flex, + bison, + fig2dev, + imagemagick, + netpbm, + gtk2, + pkg-config, }: stdenv.mkDerivation { @@ -43,7 +51,7 @@ stdenv.mkDerivation { mainProgram = "fped"; homepage = "http://projects.qi-hardware.com/index.php/p/fped/"; license = licenses.gpl2; - maintainers = []; + maintainers = [ ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/fp/fpm2/package.nix b/pkgs/by-name/fp/fpm2/package.nix index e59322a51c9d6..c3106ef1bdfc6 100644 --- a/pkgs/by-name/fp/fpm2/package.nix +++ b/pkgs/by-name/fp/fpm2/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, gnupg, gtk3 -, libxml2, intltool, nettle +{ + lib, + stdenv, + fetchurl, + pkg-config, + gnupg, + gtk3, + libxml2, + intltool, + nettle, }: stdenv.mkDerivation rec { @@ -11,15 +19,23 @@ stdenv.mkDerivation rec { sha256 = "1lfzja3vzd6l6hfvw8gvg4qkl5iy6gra5pa8gjlps9l63k2bjfhz"; }; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ gnupg gtk3 libxml2 nettle ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + gnupg + gtk3 + libxml2 + nettle + ]; meta = with lib; { description = "GTK2 port from Figaro's Password Manager originally developed by John Conneely, with some new enhancements"; mainProgram = "fpm2"; - homepage = "https://als.regnet.cz/fpm2/"; - license = licenses.gpl2Plus; - platforms = platforms.linux; + homepage = "https://als.regnet.cz/fpm2/"; + license = licenses.gpl2Plus; + platforms = platforms.linux; maintainers = with maintainers; [ hce ]; }; } diff --git a/pkgs/by-name/fp/fpp/package.nix b/pkgs/by-name/fp/fpp/package.nix index d8f575b1363b1..c065782c33eab 100644 --- a/pkgs/by-name/fp/fpp/package.nix +++ b/pkgs/by-name/fp/fpp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "fpp"; diff --git a/pkgs/by-name/fp/fprettify/package.nix b/pkgs/by-name/fp/fprettify/package.nix index 1a424c5f57c1e..5443dcf9647f1 100644 --- a/pkgs/by-name/fp/fprettify/package.nix +++ b/pkgs/by-name/fp/fprettify/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "fprettify"; diff --git a/pkgs/by-name/fq/fq/package.nix b/pkgs/by-name/fq/fq/package.nix index 4b9560f72e5cc..b870fe1f41d47 100644 --- a/pkgs/by-name/fq/fq/package.nix +++ b/pkgs/by-name/fq/fq/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fq -, testers +{ + lib, + buildGoModule, + fetchFromGitHub, + fq, + testers, }: buildGoModule rec { diff --git a/pkgs/by-name/fr/fractal/package.nix b/pkgs/by-name/fr/fractal/package.nix index ba81763a8e476..2f4de32f470c1 100644 --- a/pkgs/by-name/fr/fractal/package.nix +++ b/pkgs/by-name/fr/fractal/package.nix @@ -1,28 +1,29 @@ -{ stdenv -, lib -, fetchFromGitLab -, nix-update-script -, cargo -, meson -, ninja -, rustPlatform -, rustc -, pkg-config -, glib -, gtk4 -, gtksourceview5 -, libadwaita -, gst_all_1 -, desktop-file-utils -, appstream-glib -, openssl -, pipewire -, libshumate -, wrapGAppsHook4 -, sqlite -, xdg-desktop-portal -, libseccomp -, glycin-loaders +{ + stdenv, + lib, + fetchFromGitLab, + nix-update-script, + cargo, + meson, + ninja, + rustPlatform, + rustc, + pkg-config, + glib, + gtk4, + gtksourceview5, + libadwaita, + gst_all_1, + desktop-file-utils, + appstream-glib, + openssl, + pipewire, + libshumate, + wrapGAppsHook4, + sqlite, + xdg-desktop-portal, + libseccomp, + glycin-loaders, }: stdenv.mkDerivation rec { @@ -68,23 +69,25 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = [ - glib - gtk4 - gtksourceview5 - libadwaita - openssl - pipewire - libshumate - sqlite - xdg-desktop-portal - libseccomp - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-bad - gst-plugins-good - ]); + buildInputs = + [ + glib + gtk4 + gtksourceview5 + libadwaita + openssl + pipewire + libshumate + sqlite + xdg-desktop-portal + libseccomp + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-bad + gst-plugins-good + ]); preFixup = '' gappsWrapperArgs+=( diff --git a/pkgs/by-name/fr/framac/package.nix b/pkgs/by-name/fr/framac/package.nix index f682196a458f0..f145ecf985881 100644 --- a/pkgs/by-name/fr/framac/package.nix +++ b/pkgs/by-name/fr/framac/package.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchurl, writeText -, graphviz, doxygen -, ocamlPackages, ltl2ba, coq, why3 -, gdk-pixbuf, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + writeText, + graphviz, + doxygen, + ocamlPackages, + ltl2ba, + coq, + why3, + gdk-pixbuf, + wrapGAppsHook3, }: let @@ -38,10 +47,10 @@ in stdenv.mkDerivation rec { pname = "frama-c"; version = "29.0"; - slang = "Copper"; + slang = "Copper"; src = fetchurl { - url = "https://frama-c.com/download/frama-c-${version}-${slang}.tar.gz"; + url = "https://frama-c.com/download/frama-c-${version}-${slang}.tar.gz"; hash = "sha256-0vuzuND/g5RYcunm+iWOk0pwY2DmmNrjtNX5ca3fdJM="; }; @@ -53,13 +62,36 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ wrapGAppsHook3 ] ++ (with ocamlPackages; [ ocaml findlib dune_3 menhir ]); + nativeBuildInputs = + [ wrapGAppsHook3 ] + ++ (with ocamlPackages; [ + ocaml + findlib + dune_3 + menhir + ]); buildInputs = with ocamlPackages; [ - dune-site dune-configurator - ltl2ba ocamlgraph yojson menhirLib camlzip - lablgtk3 lablgtk3-sourceview3 coq graphviz zarith apron why3 mlgmpidl doxygen - ppx_deriving ppx_import ppx_deriving_yaml ppx_deriving_yojson + dune-site + dune-configurator + ltl2ba + ocamlgraph + yojson + menhirLib + camlzip + lablgtk3 + lablgtk3-sourceview3 + coq + graphviz + zarith + apron + why3 + mlgmpidl + doxygen + ppx_deriving + ppx_import + ppx_deriving_yaml + ppx_deriving_yojson gdk-pixbuf unionFind ]; @@ -73,7 +105,7 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" ]; preFixup = '' - gappsWrapperArgs+=(--prefix OCAMLPATH ':' ${ocamlpath}:$out/lib/) + gappsWrapperArgs+=(--prefix OCAMLPATH ':' ${ocamlpath}:$out/lib/) ''; # Allow loading of external Frama-C plugins @@ -97,12 +129,14 @@ stdenv.mkDerivation rec { addEnvHooks "$targetOffset" addFramaCPath ''; - meta = { description = "Extensible and collaborative platform dedicated to source-code analysis of C software"; - homepage = "http://frama-c.com/"; - license = lib.licenses.lgpl21; - maintainers = with lib.maintainers; [ thoughtpolice amiddelk ]; - platforms = lib.platforms.unix; + homepage = "http://frama-c.com/"; + license = lib.licenses.lgpl21; + maintainers = with lib.maintainers; [ + thoughtpolice + amiddelk + ]; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/fr/frame/package.nix b/pkgs/by-name/fr/frame/package.nix index e56ce1e684169..e7c06a2d34e51 100644 --- a/pkgs/by-name/fr/frame/package.nix +++ b/pkgs/by-name/fr/frame/package.nix @@ -1,5 +1,11 @@ -{ enableX11 ? true -, lib, stdenv, fetchurl, pkg-config, xorg }: +{ + enableX11 ? true, + lib, + stdenv, + fetchurl, + pkg-config, + xorg, +}: stdenv.mkDerivation rec { pname = "frame"; @@ -10,9 +16,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - stdenv - ] ++ lib.optionals enableX11 [xorg.xorgserver xorg.libX11 xorg.libXext xorg.libXi]; + buildInputs = + [ + stdenv + ] + ++ lib.optionals enableX11 [ + xorg.xorgserver + xorg.libX11 + xorg.libXext + xorg.libXi + ]; configureFlags = lib.optional enableX11 "--with-x11"; diff --git a/pkgs/by-name/fr/framesh/package.nix b/pkgs/by-name/fr/framesh/package.nix index 2ec358bc06e57..5cc572eeac827 100644 --- a/pkgs/by-name/fr/framesh/package.nix +++ b/pkgs/by-name/fr/framesh/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, appimageTools, makeWrapper }: +{ + lib, + fetchurl, + appimageTools, + makeWrapper, +}: let pname = "framesh"; diff --git a/pkgs/by-name/fr/framework-tool/package.nix b/pkgs/by-name/fr/framework-tool/package.nix index b3797ff56293f..743b0ad84ae59 100644 --- a/pkgs/by-name/fr/framework-tool/package.nix +++ b/pkgs/by-name/fr/framework-tool/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, udev }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + udev, +}: rustPlatform.buildRustPackage { pname = "framework-tool"; @@ -17,8 +23,7 @@ rustPlatform.buildRustPackage { cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "smbios-lib-0.9.1" = - "sha256-3L8JaA75j9Aaqg1z9lVs61m6CvXDeQprEFRq+UDCHQo="; + "smbios-lib-0.9.1" = "sha256-3L8JaA75j9Aaqg1z9lVs61m6CvXDeQprEFRq+UDCHQo="; "uefi-0.20.0" = "sha256-/3WNHuc27N89M7s+WT64SHyFOp7YRyzz6B+neh1vejY="; }; }; @@ -31,7 +36,11 @@ rustPlatform.buildRustPackage { homepage = "https://github.com/FrameworkComputer/framework-system"; license = licenses.bsd3; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ nickcao leona kloenk ]; + maintainers = with maintainers; [ + nickcao + leona + kloenk + ]; mainProgram = "framework_tool"; }; } diff --git a/pkgs/by-name/fr/frangipanni/package.nix b/pkgs/by-name/fr/frangipanni/package.nix index f95c6b4f16369..1a0711f1bf6c4 100644 --- a/pkgs/by-name/fr/frangipanni/package.nix +++ b/pkgs/by-name/fr/frangipanni/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "frangipanni"; diff --git a/pkgs/by-name/fr/frankenphp/package.nix b/pkgs/by-name/fr/frankenphp/package.nix index 9cae030df8391..d4ad0287e797e 100644 --- a/pkgs/by-name/fr/frankenphp/package.nix +++ b/pkgs/by-name/fr/frankenphp/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, php -, brotli -, testers -, frankenphp -, cctools -, darwin -, libiconv -, pkg-config -, makeBinaryWrapper -, runCommand -, writeText +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + php, + brotli, + testers, + frankenphp, + cctools, + darwin, + libiconv, + pkg-config, + makeBinaryWrapper, + runCommand, + writeText, }: let @@ -26,7 +27,8 @@ let phpUnwrapped = phpEmbedWithZts.unwrapped; phpConfig = "${phpUnwrapped.dev}/bin/php-config"; pieBuild = stdenv.hostPlatform.isMusl; -in buildGoModule rec { +in +buildGoModule rec { pname = "frankenphp"; version = "1.2.5"; @@ -44,30 +46,46 @@ in buildGoModule rec { proxyVendor = true; vendorHash = "sha256-U2B0ok6TgqUPMwlnkzpPkJLG22S3VpoU80bWwZAeaJo="; - buildInputs = [ phpUnwrapped brotli ] ++ phpUnwrapped.buildInputs; - nativeBuildInputs = [ makeBinaryWrapper ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkg-config cctools darwin.autoSignDarwinBinariesHook ]; + buildInputs = [ + phpUnwrapped + brotli + ] ++ phpUnwrapped.buildInputs; + nativeBuildInputs = + [ makeBinaryWrapper ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + pkg-config + cctools + darwin.autoSignDarwinBinariesHook + ]; subPackages = [ "frankenphp" ]; - tags = [ "cgo" "netgo" "ousergo" "static_build" ]; + tags = [ + "cgo" + "netgo" + "ousergo" + "static_build" + ]; ldflags = [ "-s" "-w" "-X 'github.com/caddyserver/caddy/v2.CustomVersion=FrankenPHP ${version} PHP ${phpUnwrapped.version} Caddy'" # pie mode is only available with pkgsMusl, it also automatically add -buildmode=pie to $GOFLAGS - ] ++ (lib.optional pieBuild [ "-static-pie" ]); + ] ++ (lib.optional pieBuild [ "-static-pie" ]); - preBuild = '' - export CGO_CFLAGS="$(${phpConfig} --includes)" - export CGO_LDFLAGS="-DFRANKENPHP_VERSION=${version} \ - $(${phpConfig} --ldflags) \ - $(${phpConfig} --libs)" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # replace hard-code homebrew path - substituteInPlace ../frankenphp.go \ - --replace "-L/opt/homebrew/opt/libiconv/lib" "-L${libiconv}/lib" - ''; + preBuild = + '' + export CGO_CFLAGS="$(${phpConfig} --includes)" + export CGO_LDFLAGS="-DFRANKENPHP_VERSION=${version} \ + $(${phpConfig} --ldflags) \ + $(${phpConfig} --libs)" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # replace hard-code homebrew path + substituteInPlace ../frankenphp.go \ + --replace "-L/opt/homebrew/opt/libiconv/lib" "-L${libiconv}/lib" + ''; preFixup = '' mkdir -p $out/lib @@ -87,13 +105,16 @@ in buildGoModule rec { package = frankenphp; command = "frankenphp version"; }; - phpinfo = runCommand "php-cli-phpinfo" { - phpScript = writeText "phpinfo.php" '' - $out - ''; + phpinfo = + runCommand "php-cli-phpinfo" + { + phpScript = writeText "phpinfo.php" '' + $out + ''; }; }; @@ -103,7 +124,10 @@ in buildGoModule rec { homepage = "https://github.com/dunglas/frankenphp"; license = lib.licenses.mit; mainProgram = "frankenphp"; - maintainers = with lib.maintainers; [ gaelreyrol shyim ]; + maintainers = with lib.maintainers; [ + gaelreyrol + shyim + ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; } diff --git a/pkgs/by-name/fr/fraunces/package.nix b/pkgs/by-name/fr/fraunces/package.nix index d74e84a570d33..b7a7fb225f30c 100644 --- a/pkgs/by-name/fr/fraunces/package.nix +++ b/pkgs/by-name/fr/fraunces/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "fraunces"; diff --git a/pkgs/by-name/fr/frawk/package.nix b/pkgs/by-name/fr/frawk/package.nix index bec04f7db3d56..57f3a44fbfd92 100644 --- a/pkgs/by-name/fr/frawk/package.nix +++ b/pkgs/by-name/fr/frawk/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchCrate -, libxml2 -, ncurses -, zlib -, features ? [ "default" ] -, llvmPackages_12 +{ + lib, + rustPlatform, + fetchCrate, + libxml2, + ncurses, + zlib, + features ? [ "default" ], + llvmPackages_12, }: rustPlatform.buildRustPackage rec { @@ -19,16 +20,22 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Xk+iH90Nb2koCdGmVSiRl8Nq26LlFdJBuKmvcbgnkgs="; - buildInputs = [ libxml2 ncurses zlib ]; + buildInputs = [ + libxml2 + ncurses + zlib + ]; buildNoDefaultFeatures = true; buildFeatures = features; - preBuild = lib.optionalString (lib.elem "default" features || lib.elem "llvm_backend" features) '' - export LLVM_SYS_120_PREFIX=${llvmPackages_12.llvm.dev} - '' + lib.optionalString (lib.elem "default" features || lib.elem "unstable" features) '' - export RUSTC_BOOTSTRAP=1 - ''; + preBuild = + lib.optionalString (lib.elem "default" features || lib.elem "llvm_backend" features) '' + export LLVM_SYS_120_PREFIX=${llvmPackages_12.llvm.dev} + '' + + lib.optionalString (lib.elem "default" features || lib.elem "unstable" features) '' + export RUSTC_BOOTSTRAP=1 + ''; # depends on cpu instructions that may not be available on builders doCheck = false; @@ -38,7 +45,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "frawk"; homepage = "https://github.com/ezrosent/frawk"; changelog = "https://github.com/ezrosent/frawk/releases/tag/v${version}"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/fr/fre/package.nix b/pkgs/by-name/fr/fre/package.nix index 6953a630eb4e3..b2679d2a53623 100644 --- a/pkgs/by-name/fr/fre/package.nix +++ b/pkgs/by-name/fr/fre/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "fre"; diff --git a/pkgs/by-name/fr/freac/package.nix b/pkgs/by-name/fr/freac/package.nix index 6f4df5a433aae..15f374baf8bb2 100644 --- a/pkgs/by-name/fr/freac/package.nix +++ b/pkgs/by-name/fr/freac/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, boca -, smooth -, systemd + boca, + smooth, + systemd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fr/frece/package.nix b/pkgs/by-name/fr/frece/package.nix index c8bc63e3dcb72..dc1e97dd756d9 100644 --- a/pkgs/by-name/fr/frece/package.nix +++ b/pkgs/by-name/fr/frece/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "frece"; diff --git a/pkgs/by-name/fr/free42/package.nix b/pkgs/by-name/fr/free42/package.nix index d9197e9d667e9..ee1be3804755c 100644 --- a/pkgs/by-name/fr/free42/package.nix +++ b/pkgs/by-name/fr/free42/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, copyDesktopItems -, gtk3 -, makeDesktopItem -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + copyDesktopItems, + gtk3, + makeDesktopItem, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -43,7 +44,10 @@ stdenv.mkDerivation (finalAttrs: { exec = "free42bin"; type = "Application"; comment = "A software clone of HP-42S Calculator"; - categories = [ "Utility" "Calculator" ]; + categories = [ + "Utility" + "Calculator" + ]; }) (makeDesktopItem { name = "com.thomasokken.free42dec"; @@ -52,7 +56,10 @@ stdenv.mkDerivation (finalAttrs: { exec = "free42dec"; type = "Application"; comment = "A software clone of HP-42S Calculator"; - categories = [ "Utility" "Calculator" ]; + categories = [ + "Utility" + "Calculator" + ]; }) ]; diff --git a/pkgs/by-name/fr/freealut/package.nix b/pkgs/by-name/fr/freealut/package.nix index 2f98b1c8e7a27..cdf35d400a18b 100644 --- a/pkgs/by-name/fr/freealut/package.nix +++ b/pkgs/by-name/fr/freealut/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, darwin, fetchurl, openal -, testers +{ + lib, + stdenv, + darwin, + fetchurl, + openal, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -11,10 +16,9 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0"; }; - buildInputs = [ openal - ] ++ lib.optional stdenv.hostPlatform.isDarwin - darwin.apple_sdk.frameworks.OpenAL - ; + buildInputs = [ + openal + ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.OpenAL; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; diff --git a/pkgs/by-name/fr/freebayes/package.nix b/pkgs/by-name/fr/freebayes/package.nix index 0ceaab4ab46be..8d8b832d5a471 100644 --- a/pkgs/by-name/fr/freebayes/package.nix +++ b/pkgs/by-name/fr/freebayes/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, zlib, bzip2, xz }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + bzip2, + xz, +}: stdenv.mkDerivation rec { pname = "freebayes"; @@ -6,14 +13,18 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { name = "freebayes-${version}-src"; - owner = "ekg"; - repo = "freebayes"; - rev = "v${version}"; + owner = "ekg"; + repo = "freebayes"; + rev = "v${version}"; sha256 = "035nriknjqq8gvil81vvsmvqwi35v80q8h1cw24vd1gdyn1x7bys"; fetchSubmodules = true; }; - buildInputs = [ zlib bzip2 xz ]; + buildInputs = [ + zlib + bzip2 + xz + ]; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: @@ -27,8 +38,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Bayesian haplotype-based polymorphism discovery and genotyping"; - license = licenses.mit; - homepage = "https://github.com/ekg/freebayes"; + license = licenses.mit; + homepage = "https://github.com/ekg/freebayes"; maintainers = with maintainers; [ jdagilliland ]; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/by-name/fr/freebind/package.nix b/pkgs/by-name/fr/freebind/package.nix index 661bfd8e2664a..9a52b8180c7aa 100644 --- a/pkgs/by-name/fr/freebind/package.nix +++ b/pkgs/by-name/fr/freebind/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libnetfilter_queue, libnfnetlink }: +{ + lib, + stdenv, + fetchFromGitHub, + libnetfilter_queue, + libnfnetlink, +}: stdenv.mkDerivation { pname = "freebind"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { sha256 = "1iv2xiz9w8hbz684caw50fn4a9vc8ninfgaqafkh9sa8mzpfzcqr"; }; - buildInputs = [ libnetfilter_queue libnfnetlink ]; + buildInputs = [ + libnetfilter_queue + libnfnetlink + ]; postPatch = '' substituteInPlace preloader.c --replace /usr/local/ $out/ diff --git a/pkgs/by-name/fr/freecell-solver/package.nix b/pkgs/by-name/fr/freecell-solver/package.nix index c7a1dc5f2a4aa..22d87b53fd05e 100644 --- a/pkgs/by-name/fr/freecell-solver/package.nix +++ b/pkgs/by-name/fr/freecell-solver/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, cmake -, cmocka -, gmp -, gperf -, libtap -, ninja -, perl -, pkg-config -, python3 -, rinutils +{ + lib, + stdenv, + fetchurl, + cmake, + cmocka, + gmp, + gperf, + libtap, + ninja, + perl, + pkg-config, + python3, + rinutils, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-oriegEzkuRjvdJAxZ2IQ8glf6jqMsSmAVgKEPHxIhKA="; }; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; pythonPath = with python3.pkgs; [ cffi @@ -31,27 +37,32 @@ stdenv.mkDerivation (finalAttrs: { six ]; - nativeBuildInputs = [ - cmake - cmocka - gperf - ninja - perl - pkg-config - python3 - ] - ++ (with perl.pkgs; TaskFreecellSolverTesting.buildInputs ++ [ - GamesSolitaireVerify - HTMLTemplate - Moo - PathTiny - StringShellQuote - TaskFreecellSolverTesting - TemplateToolkit - TextTemplate - ]) - ++ [ python3.pkgs.wrapPython ] - ++ finalAttrs.pythonPath; + nativeBuildInputs = + [ + cmake + cmocka + gperf + ninja + perl + pkg-config + python3 + ] + ++ ( + with perl.pkgs; + TaskFreecellSolverTesting.buildInputs + ++ [ + GamesSolitaireVerify + HTMLTemplate + Moo + PathTiny + StringShellQuote + TaskFreecellSolverTesting + TemplateToolkit + TextTemplate + ] + ) + ++ [ python3.pkgs.wrapPython ] + ++ finalAttrs.pythonPath; buildInputs = [ gmp diff --git a/pkgs/by-name/fr/freedink/package.nix b/pkgs/by-name/fr/freedink/package.nix index 5f03f084dd77f..9513a1dee521c 100644 --- a/pkgs/by-name/fr/freedink/package.nix +++ b/pkgs/by-name/fr/freedink/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx -, pkg-config, intltool, fontconfig, libzip, zip, zlib }: +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_mixer, + SDL_image, + SDL_ttf, + SDL_gfx, + pkg-config, + intltool, + fontconfig, + libzip, + zip, + zlib, +}: let version = "1.08.20121209"; @@ -16,7 +30,8 @@ let prePatch = "substituteInPlace Makefile --replace /usr/local $out"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "freedink"; inherit version; @@ -25,11 +40,21 @@ in stdenv.mkDerivation rec { sha256 = "19xximbcm6506kvpf3s0q96697kmzca3yrjdr6dgphklp33zqsqr"; }; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ - SDL SDL_mixer SDL_image SDL_ttf SDL_gfx - fontconfig libzip zip zlib + SDL + SDL_mixer + SDL_image + SDL_ttf + SDL_gfx + fontconfig + libzip + zip + zlib ]; preConfigure = '' diff --git a/pkgs/by-name/fr/freedroid/package.nix b/pkgs/by-name/fr/freedroid/package.nix index 130b02997b59a..cb32804c2fc50 100644 --- a/pkgs/by-name/fr/freedroid/package.nix +++ b/pkgs/by-name/fr/freedroid/package.nix @@ -1,27 +1,47 @@ -{ lib, stdenv -, fetchFromGitHub -, makeDesktopItem, copyDesktopItems -, imagemagick -, autoreconfHook -, SDL, SDL_mixer, SDL_image, SDL_gfx -, libvorbis -, libjpeg, libpng -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + imagemagick, + autoreconfHook, + SDL, + SDL_mixer, + SDL_image, + SDL_gfx, + libvorbis, + libjpeg, + libpng, + zlib, }: stdenv.mkDerivation rec { - pname = "freedroid"; + pname = "freedroid"; version = "1.2.1"; src = fetchFromGitHub { - owner = "ReinhardPrix"; - repo = "FreedroidClassic"; - rev = "release-${version}"; + owner = "ReinhardPrix"; + repo = "FreedroidClassic"; + rev = "release-${version}"; sha256 = "027wns25nyyc8afyhyp5a8wn13x9nlzmnqzqyyma1055xjy5imis"; }; - nativeBuildInputs = [ copyDesktopItems imagemagick autoreconfHook ]; - buildInputs = [ SDL SDL_image SDL_gfx SDL_mixer libjpeg libpng libvorbis zlib ]; + nativeBuildInputs = [ + copyDesktopItems + imagemagick + autoreconfHook + ]; + buildInputs = [ + SDL + SDL_image + SDL_gfx + SDL_mixer + libjpeg + libpng + libvorbis + zlib + ]; postPatch = '' touch NEWS @@ -32,23 +52,28 @@ stdenv.mkDerivation rec { convert graphics/paraicon.bmp $out/share/icons/hicolor/32x32/apps/freedroid.png ''; - desktopItems = [ (makeDesktopItem { - name = pname; - exec = pname; - icon = pname; - desktopName = "Freedroid Classic"; - comment = "A clone of the classic game 'Paradroid' on Commodore 64"; - categories = [ "Game" "ArcadeGame" ]; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + desktopName = "Freedroid Classic"; + comment = "A clone of the classic game 'Paradroid' on Commodore 64"; + categories = [ + "Game" + "ArcadeGame" + ]; + }) + ]; meta = with lib; { description = "Clone of the classic game 'Paradroid' on Commodore 64"; mainProgram = "freedroid"; - homepage = "https://github.com/ReinhardPrix/FreedroidClassic"; - license = licenses.gpl2Only; + homepage = "https://github.com/ReinhardPrix/FreedroidClassic"; + license = licenses.gpl2Only; maintainers = with maintainers; [ iblech ]; - platforms = platforms.unix; + platforms = platforms.unix; # Builds but fails to render to the screen at runtime. - broken = stdenv.hostPlatform.isDarwin; + broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/by-name/fr/freedroidrpg/package.nix b/pkgs/by-name/fr/freedroidrpg/package.nix index 8c9b3e0cbf0d7..9be15316e687c 100644 --- a/pkgs/by-name/fr/freedroidrpg/package.nix +++ b/pkgs/by-name/fr/freedroidrpg/package.nix @@ -1,8 +1,28 @@ -{ fetchurl, lib, stdenv, pkg-config, gettext, glew, python3, SDL, SDL_image, SDL_gfx, SDL_mixer, libogg, libvorbis, lua5_3, libjpeg, libpng, zlib, libiconv }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + gettext, + glew, + python3, + SDL, + SDL_image, + SDL_gfx, + SDL_mixer, + libogg, + libvorbis, + lua5_3, + libjpeg, + libpng, + zlib, + libiconv, +}: let version = "1.0"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "freedroidrpg"; inherit version; @@ -16,10 +36,24 @@ in stdenv.mkDerivation { ./drop-build-deps.patch ]; - nativeBuildInputs = [ pkg-config gettext python3 ]; + nativeBuildInputs = [ + pkg-config + gettext + python3 + ]; buildInputs = [ - glew SDL SDL_image SDL_gfx SDL_mixer libogg libvorbis lua5_3 libjpeg libpng zlib + glew + SDL + SDL_image + SDL_gfx + SDL_mixer + libogg + libvorbis + lua5_3 + libjpeg + libpng + zlib ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; enableParallelBuilding = true; diff --git a/pkgs/by-name/fr/freefont_ttf/package.nix b/pkgs/by-name/fr/freefont_ttf/package.nix index 4bf50d3385879..b1c2494dd70f8 100644 --- a/pkgs/by-name/fr/freefont_ttf/package.nix +++ b/pkgs/by-name/fr/freefont_ttf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "freefont-ttf"; diff --git a/pkgs/by-name/fr/freeglut/package.nix b/pkgs/by-name/fr/freeglut/package.nix index 590167fc70361..ca0f1923098f2 100644 --- a/pkgs/by-name/fr/freeglut/package.nix +++ b/pkgs/by-name/fr/freeglut/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, libICE, libXext, libXi, libXrandr, libXxf86vm, libGLX, libGLU, cmake -, testers +{ + lib, + stdenv, + fetchurl, + libICE, + libXext, + libXi, + libXrandr, + libXxf86vm, + libGLX, + libGLU, + cmake, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -11,18 +22,28 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-nD1NZRb7+gKA7ck8d2mPtzA+RDwaqvN9Jp4yiKbD6lI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ libICE libXext libXi libXrandr libXxf86vm libGLU ]; + buildInputs = [ + libICE + libXext + libXi + libXrandr + libXxf86vm + libGLU + ]; cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "-DOPENGL_INCLUDE_DIR=${libGLX.dev}/include" - "-DOPENGL_gl_LIBRARY:FILEPATH=${libGLX}/lib/libGL.dylib" - "-DOPENGL_glu_LIBRARY:FILEPATH=${libGLU}/lib/libGLU.dylib" - "-DFREEGLUT_BUILD_DEMOS:BOOL=OFF" - "-DFREEGLUT_BUILD_STATIC:BOOL=OFF" - ]; + "-DOPENGL_INCLUDE_DIR=${libGLX.dev}/include" + "-DOPENGL_gl_LIBRARY:FILEPATH=${libGLX}/lib/libGL.dylib" + "-DOPENGL_glu_LIBRARY:FILEPATH=${libGLU}/lib/libGLU.dylib" + "-DFREEGLUT_BUILD_DEMOS:BOOL=OFF" + "-DFREEGLUT_BUILD_STATIC:BOOL=OFF" + ]; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; diff --git a/pkgs/by-name/fr/freeipmi/package.nix b/pkgs/by-name/fr/freeipmi/package.nix index 4c3a0db590ac9..d1a4a16c53663 100644 --- a/pkgs/by-name/fr/freeipmi/package.nix +++ b/pkgs/by-name/fr/freeipmi/package.nix @@ -1,4 +1,12 @@ -{ buildPackages, fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }: +{ + buildPackages, + fetchurl, + lib, + stdenv, + libgcrypt, + readline, + libgpg-error, +}: stdenv.mkDerivation rec { version = "1.6.14"; @@ -11,10 +19,16 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; - buildInputs = [ libgcrypt readline libgpg-error ]; + buildInputs = [ + libgcrypt + readline + libgpg-error + ]; - configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) - [ "ac_cv_file__dev_urandom=true" "ac_cv_file__dev_random=true" ]; + configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "ac_cv_file__dev_urandom=true" + "ac_cv_file__dev_random=true" + ]; doCheck = true; @@ -41,6 +55,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ raskin ]; - platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice + platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice }; } diff --git a/pkgs/by-name/fr/freenukum/package.nix b/pkgs/by-name/fr/freenukum/package.nix index e0f90773810e6..19a787fe4fcf4 100644 --- a/pkgs/by-name/fr/freenukum/package.nix +++ b/pkgs/by-name/fr/freenukum/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, rustPlatform -, fetchFromGitLab -, makeDesktopItem -, installShellFiles -, dejavu_fonts -, SDL2 -, SDL2_ttf -, SDL2_image +{ + lib, + stdenv, + rustPlatform, + fetchFromGitLab, + makeDesktopItem, + installShellFiles, + dejavu_fonts, + SDL2, + SDL2_ttf, + SDL2_image, }: let pname = "freenukum"; @@ -18,7 +20,11 @@ let exec = pname; icon = pname; comment = description; - categories = [ "Game" "ArcadeGame" "ActionGame" ]; + categories = [ + "Game" + "ArcadeGame" + "ActionGame" + ]; genericName = pname; }; diff --git a/pkgs/by-name/fr/freepats/package.nix b/pkgs/by-name/fr/freepats/package.nix index bb8dae0cf6a5b..fd39872ea1c52 100644 --- a/pkgs/by-name/fr/freepats/package.nix +++ b/pkgs/by-name/fr/freepats/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "freepats"; diff --git a/pkgs/by-name/fr/freepv/package.nix b/pkgs/by-name/fr/freepv/package.nix index 1ff0fd5146df0..82132fc3f677e 100644 --- a/pkgs/by-name/fr/freepv/package.nix +++ b/pkgs/by-name/fr/freepv/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, libjpeg -, libGLU -, libGL -, libglut -, zlib -, cmake -, libX11 -, libxml2 -, libpng -, libXxf86vm +{ + lib, + stdenv, + fetchurl, + libjpeg, + libGLU, + libGL, + libglut, + zlib, + cmake, + libX11, + libxml2, + libpng, + libXxf86vm, }: stdenv.mkDerivation rec { @@ -23,7 +24,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libjpeg libGLU libGL libglut zlib libX11 libxml2 libpng libXxf86vm ]; + buildInputs = [ + libjpeg + libGLU + libGL + libglut + zlib + libX11 + libxml2 + libpng + libXxf86vm + ]; postPatch = '' sed -i -e '/GECKO/d' CMakeLists.txt diff --git a/pkgs/by-name/fr/freeradius/package.nix b/pkgs/by-name/fr/freeradius/package.nix index c846408690216..d24c66fe1be90 100644 --- a/pkgs/by-name/fr/freeradius/package.nix +++ b/pkgs/by-name/fr/freeradius/package.nix @@ -1,23 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, bsd-finger -, perl -, talloc -, linkOpenssl ? true, openssl -, withCap ? true, libcap -, withCollectd ? false, collectd -, withJson ? false, json_c -, withLdap ? true, openldap -, withMemcached ? false, libmemcached -, withMysql ? false, libmysqlclient -, withPostgresql ? false, postgresql -, withPcap ? true, libpcap -, withRedis ? false, hiredis -, withRest ? false, curl -, withSqlite ? true, sqlite -, withYubikey ? false, libyubikey +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bsd-finger, + perl, + talloc, + linkOpenssl ? true, + openssl, + withCap ? true, + libcap, + withCollectd ? false, + collectd, + withJson ? false, + json_c, + withLdap ? true, + openldap, + withMemcached ? false, + libmemcached, + withMysql ? false, + libmysqlclient, + withPostgresql ? false, + postgresql, + withPcap ? true, + libpcap, + withRedis ? false, + hiredis, + withRest ? false, + curl, + withSqlite ? true, + sqlite, + withYubikey ? false, + libyubikey, }: assert withRest -> withJson; @@ -35,7 +49,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl talloc bsd-finger perl ] + buildInputs = + [ + openssl + talloc + bsd-finger + perl + ] ++ lib.optional withCap libcap ++ lib.optional withCollectd collectd ++ lib.optional withJson json_c @@ -74,13 +94,21 @@ stdenv.mkDerivation rec { "INSTALL_CERT_FILES=" # see comment at makeFlags ]; - outputs = [ "out" "dev" "man" "doc" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + ]; meta = with lib; { homepage = "https://freeradius.org/"; description = "Modular, high performance free RADIUS suite"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ sheenobu willibutz ]; + maintainers = with maintainers; [ + sheenobu + willibutz + ]; platforms = with platforms; linux; }; } diff --git a/pkgs/by-name/fr/freesweep/package.nix b/pkgs/by-name/fr/freesweep/package.nix index 5e658947e8039..7ade52101f7cd 100644 --- a/pkgs/by-name/fr/freesweep/package.nix +++ b/pkgs/by-name/fr/freesweep/package.nix @@ -1,5 +1,11 @@ -{ fetchFromGitHub, ncurses, lib, stdenv -, updateAutotoolsGnuConfigScriptsHook, installShellFiles }: +{ + fetchFromGitHub, + ncurses, + lib, + stdenv, + updateAutotoolsGnuConfigScriptsHook, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "freesweep"; @@ -12,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-iuu81yHbNrjdPsimBrPK58PJ0d8i3ySM7rFUG/d8NJM"; }; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook installShellFiles ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + installShellFiles + ]; buildInputs = [ ncurses ]; configureFlags = [ "--with-prefsdir=$out/share" ]; diff --git a/pkgs/by-name/fr/freetalk/package.nix b/pkgs/by-name/fr/freetalk/package.nix index b71395ad93bb0..7c1f9c00c5d4b 100644 --- a/pkgs/by-name/fr/freetalk/package.nix +++ b/pkgs/by-name/fr/freetalk/package.nix @@ -1,7 +1,22 @@ -{ lib, stdenv, fetchurl -, guile, pkg-config, glib, loudmouth, gmp, libidn, readline, libtool -, libunwind, ncurses, curl, jansson, texinfo -, argp-standalone }: +{ + lib, + stdenv, + fetchurl, + guile, + pkg-config, + glib, + loudmouth, + gmp, + libidn, + readline, + libtool, + libunwind, + ncurses, + curl, + jansson, + texinfo, + argp-standalone, +}: stdenv.mkDerivation rec { pname = "freetalk"; version = "4.2"; @@ -11,20 +26,34 @@ stdenv.mkDerivation rec { hash = "sha256-u1tPKacGry+JGYeAIgDia3N7zs5EM4FyQZdV8e7htYA="; }; - nativeBuildInputs = [ pkg-config texinfo ]; - buildInputs = [ - guile glib loudmouth gmp libidn readline libtool - libunwind ncurses curl jansson - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - argp-standalone + nativeBuildInputs = [ + pkg-config + texinfo ]; + buildInputs = + [ + guile + glib + loudmouth + gmp + libidn + readline + libtool + libunwind + ncurses + curl + jansson + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + argp-standalone + ]; env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-largp"; meta = with lib; { - description = "Console XMPP client"; + description = "Console XMPP client"; mainProgram = "freetalk"; - license = licenses.gpl3Plus ; + license = licenses.gpl3Plus; maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; downloadPage = "https://www.gnu.org/software/freetalk/"; diff --git a/pkgs/by-name/fr/freetds/package.nix b/pkgs/by-name/fr/freetds/package.nix index c1d8fd62497ff..2038fd47d78c3 100644 --- a/pkgs/by-name/fr/freetds/package.nix +++ b/pkgs/by-name/fr/freetds/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config -, openssl -, odbcSupport ? true, unixODBC ? null }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + openssl, + odbcSupport ? true, + unixODBC ? null, +}: assert odbcSupport -> unixODBC != null; @@ -11,22 +18,25 @@ stdenv.mkDerivation rec { version = "1.4.23"; src = fetchurl { - url = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2"; - hash = "sha256-k6PxhrgsYEKmahlwvUeNeRTtscVmm2QtgLTqrPKi0X4="; + url = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2"; + hash = "sha256-k6PxhrgsYEKmahlwvUeNeRTtscVmm2QtgLTqrPKi0X4="; }; buildInputs = [ openssl ] ++ lib.optional odbcSupport unixODBC; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = with lib; { description = "Libraries to natively talk to Microsoft SQL Server and Sybase databases"; - homepage = "https://www.freetds.org"; - changelog = "https://github.com/FreeTDS/freetds/releases/tag/v${version}"; - license = licenses.lgpl2; + homepage = "https://www.freetds.org"; + changelog = "https://github.com/FreeTDS/freetds/releases/tag/v${version}"; + license = licenses.lgpl2; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/fr/freetts/package.nix b/pkgs/by-name/fr/freetts/package.nix index 8f6fbad6d4d64..3d7c810ad7abc 100644 --- a/pkgs/by-name/fr/freetts/package.nix +++ b/pkgs/by-name/fr/freetts/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchzip -, ant -, jdk8 -, sharutils -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchzip, + ant, + jdk8, + sharutils, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fr/freetype/package.nix b/pkgs/by-name/fr/freetype/package.nix index 034ba4c338395..a1644a35a3fb6 100644 --- a/pkgs/by-name/fr/freetype/package.nix +++ b/pkgs/by-name/fr/freetype/package.nix @@ -1,55 +1,69 @@ -{ lib -, stdenv -, fetchurl -, buildPackages -, pkgsHostHost -, pkg-config -, which -, makeWrapper -, zlib -, bzip2 -, brotli -, libpng -, gnumake -, glib - -, # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering). +{ + lib, + stdenv, + fetchurl, + buildPackages, + pkgsHostHost, + pkg-config, + which, + makeWrapper, + zlib, + bzip2, + brotli, + libpng, + gnumake, + glib, + + # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering). # LCD filtering is also known as ClearType and covered by several Microsoft patents. # This option allows it to be disabled. See http://www.freetype.org/patents.html. - useEncumberedCode ? true + useEncumberedCode ? true, # for passthru.tests -, cairo -, fontforge -, ghostscript -, graphicsmagick -, gtk3 -, harfbuzz -, imagemagick -, pango -, poppler -, python3 -, qt5 -, texmacs -, ttfautohint -, testers -, __flattenIncludeHackHook + cairo, + fontforge, + ghostscript, + graphicsmagick, + gtk3, + harfbuzz, + imagemagick, + pango, + poppler, + python3, + qt5, + texmacs, + ttfautohint, + testers, + __flattenIncludeHackHook, }: - stdenv.mkDerivation (finalAttrs: { pname = "freetype"; version = "2.13.3"; - src = let inherit (finalAttrs) pname version; in fetchurl { - url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-BVA1BmbUJ8dNrrhdWse7NTrLpfdpVjlZlTEanG8GMok="; - }; - - propagatedBuildInputs = [ zlib bzip2 brotli libpng ]; # needed when linking against freetype + src = + let + inherit (finalAttrs) pname version; + in + fetchurl { + url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz"; + sha256 = "sha256-BVA1BmbUJ8dNrrhdWse7NTrLpfdpVjlZlTEanG8GMok="; + }; + + propagatedBuildInputs = [ + zlib + bzip2 + brotli + libpng + ]; # needed when linking against freetype # dependence on harfbuzz is looser than the reverse dependence - nativeBuildInputs = [ pkg-config which __flattenIncludeHackHook ] + nativeBuildInputs = + [ + pkg-config + which + __flattenIncludeHackHook + ] ++ lib.optional (!stdenv.hostPlatform.isWindows) makeWrapper # FreeType requires GNU Make, which is not part of stdenv on FreeBSD. ++ lib.optional (!stdenv.hostPlatform.isLinux) gnumake; @@ -58,15 +72,22 @@ stdenv.mkDerivation (finalAttrs: { ./enable-table-validation.patch ] ++ lib.optional useEncumberedCode ./enable-subpixel-rendering.patch; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - configureFlags = [ "--bindir=$(dev)/bin" "--enable-freetype-config" ]; + configureFlags = [ + "--bindir=$(dev)/bin" + "--enable-freetype-config" + ]; # native compiler to generate building tool CC_BUILD = "${buildPackages.stdenv.cc}/bin/cc"; # The asm for armel is written with the 'asm' keyword. - CFLAGS = lib.optionalString stdenv.hostPlatform.isAarch32 "-std=gnu99" + CFLAGS = + lib.optionalString stdenv.hostPlatform.isAarch32 "-std=gnu99" + lib.optionalString stdenv.hostPlatform.is32bit " -D_FILE_OFFSET_BITS=64"; enableParallelBuilding = true; @@ -75,14 +96,16 @@ stdenv.mkDerivation (finalAttrs: { # pkgsCross.mingwW64.pkg-config doesn't build # makeWrapper doesn't cross-compile to windows #120726 - postInstall = '' - substituteInPlace $dev/bin/freetype-config \ - --replace ${buildPackages.pkg-config} ${pkgsHostHost.pkg-config} - '' + lib.optionalString (!stdenv.hostPlatform.isMinGW) '' - - wrapProgram "$dev/bin/freetype-config" \ - --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig" - ''; + postInstall = + '' + substituteInPlace $dev/bin/freetype-config \ + --replace ${buildPackages.pkg-config} ${pkgsHostHost.pkg-config} + '' + + lib.optionalString (!stdenv.hostPlatform.isMinGW) '' + + wrapProgram "$dev/bin/freetype-config" \ + --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig" + ''; passthru.tests = { inherit @@ -96,7 +119,8 @@ stdenv.mkDerivation (finalAttrs: { pango poppler texmacs - ttfautohint; + ttfautohint + ; inherit (python3.pkgs) freetype-py; inherit (qt5) qtbase; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; @@ -113,7 +137,9 @@ stdenv.mkDerivation (finalAttrs: { fonts. ''; homepage = "https://www.freetype.org/"; - changelog = "https://gitlab.freedesktop.org/freetype/freetype/-/raw/VER-${builtins.replaceStrings ["."] ["-"] finalAttrs.version}/docs/CHANGES"; + changelog = "https://gitlab.freedesktop.org/freetype/freetype/-/raw/VER-${ + builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version + }/docs/CHANGES"; license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause) platforms = platforms.all; pkgConfigModules = [ "freetype2" ]; diff --git a/pkgs/by-name/fr/freewheeling/package.nix b/pkgs/by-name/fr/freewheeling/package.nix index 2da35c3adec85..039604733b563 100644 --- a/pkgs/by-name/fr/freewheeling/package.nix +++ b/pkgs/by-name/fr/freewheeling/package.nix @@ -1,6 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gnutls, freetype, fluidsynth -, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsa-lib, libjack2, libvorbis -, libSM, libsndfile, libogg, libtool +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + gnutls, + freetype, + fluidsynth, + SDL, + SDL_gfx, + SDL_ttf, + liblo, + libxml2, + alsa-lib, + libjack2, + libvorbis, + libSM, + libsndfile, + libogg, + libtool, }: let makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL"); @@ -17,32 +35,53 @@ stdenv.mkDerivation rec { sha256 = "1xff5whr02cixihgd257dc70hnyf22j3zamvhsvg4lp7zq9l2in4"; }; - nativeBuildInputs = [ pkg-config autoreconfHook libtool ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + libtool + ]; buildInputs = [ - freetype fluidsynth SDL SDL_gfx SDL_ttf - liblo libxml2 libjack2 alsa-lib libvorbis libsndfile libogg libSM + freetype + fluidsynth + SDL + SDL_gfx + SDL_ttf + liblo + libxml2 + libjack2 + alsa-lib + libvorbis + libsndfile + libogg + libSM (gnutls.overrideAttrs (oldAttrs: { configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ]; })) ]; - env.NIX_CFLAGS_COMPILE = toString - (makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ]); + env.NIX_CFLAGS_COMPILE = toString ( + makeSDLFlags [ + SDL + SDL_ttf + SDL_gfx + ] + ++ [ "-I${libxml2.dev}/include/libxml2" ] + ); hardeningDisable = [ "format" ]; meta = { description = "Live looping instrument with JACK and MIDI support"; longDescription = '' - Freewheeling allows us to build repetitive grooves - by sampling and directing loops from within spirited improvisation. + Freewheeling allows us to build repetitive grooves + by sampling and directing loops from within spirited improvisation. - It works because, down to the core, it's built around - improv. We leave mice and menus, and dive into our own process - of making sound. + It works because, down to the core, it's built around + improv. We leave mice and menus, and dive into our own process + of making sound. - Freewheeling runs under macOS and Linux, and is open source - software, released under the GNU GPL license. - '' ; + Freewheeling runs under macOS and Linux, and is open source + software, released under the GNU GPL license. + ''; homepage = "https://freewheeling.sourceforge.net"; license = lib.licenses.gpl2; diff --git a/pkgs/by-name/fr/freexl/package.nix b/pkgs/by-name/fr/freexl/package.nix index ffcf81e92f58c..1509121ee4d04 100644 --- a/pkgs/by-name/fr/freexl/package.nix +++ b/pkgs/by-name/fr/freexl/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, validatePkgConfig -, expat -, minizip -, zlib -, libiconv +{ + lib, + stdenv, + fetchurl, + validatePkgConfig, + expat, + minizip, + zlib, + libiconv, }: stdenv.mkDerivation rec { @@ -33,7 +34,11 @@ stdenv.mkDerivation rec { description = "Library to extract valid data from within an Excel (.xls) spreadsheet"; homepage = "https://www.gaia-gis.it/fossil/freexl"; # They allow any of these - license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + mpl11 + ]; platforms = platforms.unix; maintainers = with maintainers; [ sikmir ]; }; diff --git a/pkgs/by-name/fr/freeze/package.nix b/pkgs/by-name/fr/freeze/package.nix index e828ed79bf4c3..38846028c086f 100644 --- a/pkgs/by-name/fr/freeze/package.nix +++ b/pkgs/by-name/fr/freeze/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/fr/frei/package.nix b/pkgs/by-name/fr/frei/package.nix index 6e8a2181abb17..b5db9f95635ce 100644 --- a/pkgs/by-name/fr/frei/package.nix +++ b/pkgs/by-name/fr/frei/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/fr/frei0r/package.nix b/pkgs/by-name/fr/frei0r/package.nix index d05d8ddd5f4ae..b8afe3eca36b9 100644 --- a/pkgs/by-name/fr/frei0r/package.nix +++ b/pkgs/by-name/fr/frei0r/package.nix @@ -1,14 +1,15 @@ -{ lib -, config -, stdenv -, fetchFromGitHub -, cairo -, cmake -, opencv -, pcre -, pkg-config -, cudaSupport ? config.cudaSupport -, cudaPackages +{ + lib, + config, + stdenv, + fetchFromGitHub, + cairo, + cmake, + opencv, + pcre, + pkg-config, + cudaSupport ? config.cudaSupport, + cudaPackages, }: stdenv.mkDerivation rec { @@ -22,15 +23,20 @@ stdenv.mkDerivation rec { hash = "sha256-uKYCJD88TnrJTTnzCCietNt01QPeFW+hhnjcBNKUWsY="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - cairo - opencv - pcre - ] ++ lib.optionals cudaSupport [ - cudaPackages.cuda_cudart - cudaPackages.cuda_nvcc + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + cairo + opencv + pcre + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cuda_cudart + cudaPackages.cuda_nvcc + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' for f in $out/lib/frei0r-1/*.so* ; do diff --git a/pkgs/by-name/fr/french-numbers/package.nix b/pkgs/by-name/fr/french-numbers/package.nix index f1efc35ea2e62..48649d4e57a40 100644 --- a/pkgs/by-name/fr/french-numbers/package.nix +++ b/pkgs/by-name/fr/french-numbers/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Represent numbers in French language"; homepage = "https://github.com/evenfurther/french-numbers"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; mainProgram = "french-numbers"; maintainers = with maintainers; [ samueltardieu ]; }; diff --git a/pkgs/by-name/fr/frequest/package.nix b/pkgs/by-name/fr/frequest/package.nix index 85bb97f9c6fd5..b643360df0f22 100644 --- a/pkgs/by-name/fr/frequest/package.nix +++ b/pkgs/by-name/fr/frequest/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, qt5 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qt5, +}: stdenv.mkDerivation (finalAttrs: { pname = "frequest"; diff --git a/pkgs/by-name/fr/frescobaldi/package.nix b/pkgs/by-name/fr/frescobaldi/package.nix index 653c4747c9336..ae51e88588ab7 100644 --- a/pkgs/by-name/fr/frescobaldi/package.nix +++ b/pkgs/by-name/fr/frescobaldi/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python311Packages, lilypond }: +{ + lib, + stdenv, + fetchFromGitHub, + python311Packages, + lilypond, +}: python311Packages.buildPythonApplication rec { pname = "frescobaldi"; diff --git a/pkgs/by-name/fr/fretboard/package.nix b/pkgs/by-name/fr/fretboard/package.nix index 8cd365e463a8f..5ede24ae27729 100644 --- a/pkgs/by-name/fr/fretboard/package.nix +++ b/pkgs/by-name/fr/fretboard/package.nix @@ -1,19 +1,20 @@ -{ lib -, blueprint-compiler -, cargo -, darwin -, desktop-file-utils -, fetchFromGitHub -, glib -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, stdenv -, wrapGAppsHook4 +{ + lib, + blueprint-compiler, + cargo, + darwin, + desktop-file-utils, + fetchFromGitHub, + glib, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { @@ -45,17 +46,21 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook4 ]; - buildInputs = [ - glib - gtk4 - libadwaita - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + glib + gtk4 + libadwaita + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); meta = with lib; { changelog = "https://github.com/bragefuglseth/fretboard/releases/tag/v${finalAttrs.version}"; diff --git a/pkgs/by-name/fr/fribidi/package.nix b/pkgs/by-name/fr/fribidi/package.nix index fe122067464ec..5fedf8f1d3961 100644 --- a/pkgs/by-name/fr/fribidi/package.nix +++ b/pkgs/by-name/fr/fribidi/package.nix @@ -1,23 +1,31 @@ -{ lib, stdenv -, buildPackages -, fetchurl -, meson -, ninja -, pkg-config -, fixDarwinDylibNames -, python3 -, testers +{ + lib, + stdenv, + buildPackages, + fetchurl, + meson, + ninja, + pkg-config, + fixDarwinDylibNames, + python3, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "fribidi"; version = "1.0.16"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application. src = fetchurl { - url = with finalAttrs; "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz"; + url = + with finalAttrs; + "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz"; sha256 = "sha256-GxzeWyNdQEeekb4vDoijCeMhTIq0cOyKJ0TYKlqeoFw="; }; @@ -25,8 +33,11 @@ stdenv.mkDerivation (finalAttrs: { patchShebangs test ''; - nativeBuildInputs = [ meson ninja pkg-config ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ + meson + ninja + pkg-config + ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/by-name/fr/fricas/package.nix b/pkgs/by-name/fr/fricas/package.nix index 43a00a5e1fbac..126e6526f6a18 100644 --- a/pkgs/by-name/fr/fricas/package.nix +++ b/pkgs/by-name/fr/fricas/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }: +{ + lib, + stdenv, + fetchFromGitHub, + sbcl, + libX11, + libXpm, + libICE, + libSM, + libXt, + libXau, + libXdmcp, +}: stdenv.mkDerivation rec { pname = "fricas"; @@ -11,7 +23,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-EX/boSs6rK4RrJ5W6Rd0TSHsbQsNiFI1evFuNPBMeu8="; }; - buildInputs = [ sbcl libX11 libXpm libICE libSM libXt libXau libXdmcp ]; + buildInputs = [ + sbcl + libX11 + libXpm + libICE + libSM + libXt + libXau + libXdmcp + ]; # Remove when updating to next version configurePhase = '' diff --git a/pkgs/by-name/fr/frigate/package.nix b/pkgs/by-name/fr/frigate/package.nix index 4578d709a0aca..924efe720d28c 100644 --- a/pkgs/by-name/fr/frigate/package.nix +++ b/pkgs/by-name/fr/frigate/package.nix @@ -1,10 +1,11 @@ -{ lib -, callPackage -, python312 -, fetchFromGitHub -, fetchurl -, frigate -, nixosTests +{ + lib, + callPackage, + python312, + fetchFromGitHub, + fetchurl, + frigate, + nixosTests, }: let @@ -168,7 +169,8 @@ python.pkgs.buildPythonApplication rec { passthru = { web = frigate-web; inherit python; - pythonPath =(python.pkgs.makePythonPath propagatedBuildInputs) + ":${frigate}/${python.sitePackages}"; + pythonPath = + (python.pkgs.makePythonPath propagatedBuildInputs) + ":${frigate}/${python.sitePackages}"; tests = { inherit (nixosTests) frigate; }; diff --git a/pkgs/by-name/fr/frigate/web.nix b/pkgs/by-name/fr/frigate/web.nix index cea410849ec8d..959157df67037 100644 --- a/pkgs/by-name/fr/frigate/web.nix +++ b/pkgs/by-name/fr/frigate/web.nix @@ -1,6 +1,7 @@ -{ buildNpmPackage -, src -, version +{ + buildNpmPackage, + src, + version, }: buildNpmPackage { diff --git a/pkgs/by-name/fr/fritz-exporter/package.nix b/pkgs/by-name/fr/fritz-exporter/package.nix index 85469631a08a7..e2230ff919778 100644 --- a/pkgs/by-name/fr/fritz-exporter/package.nix +++ b/pkgs/by-name/fr/fritz-exporter/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fr/frogatto/data.nix b/pkgs/by-name/fr/frogatto/data.nix index a61bddf94bfb5..15751c71302a0 100644 --- a/pkgs/by-name/fr/frogatto/data.nix +++ b/pkgs/by-name/fr/frogatto/data.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "frogatto-data"; @@ -19,7 +23,10 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://github.com/frogatto/frogatto"; description = "Data files to the frogatto game"; - license = with licenses; [ cc-by-30 unfree ]; + license = with licenses; [ + cc-by-30 + unfree + ]; maintainers = with maintainers; [ astro ]; }; } diff --git a/pkgs/by-name/fr/frogatto/engine.nix b/pkgs/by-name/fr/frogatto/engine.nix index d5e380588176c..ded9db8efb346 100644 --- a/pkgs/by-name/fr/frogatto/engine.nix +++ b/pkgs/by-name/fr/frogatto/engine.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, which -, boost, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf -, glew, zlib, icu, pkg-config, cairo, libvpx, glm +{ + lib, + stdenv, + fetchFromGitHub, + which, + boost, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + glew, + zlib, + icu, + pkg-config, + cairo, + libvpx, + glm, }: stdenv.mkDerivation { @@ -16,7 +30,8 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ - which pkg-config + which + pkg-config ]; buildInputs = [ diff --git a/pkgs/by-name/fr/frogatto/package.nix b/pkgs/by-name/fr/frogatto/package.nix index 036b2abec19ca..ca17b4547957e 100644 --- a/pkgs/by-name/fr/frogatto/package.nix +++ b/pkgs/by-name/fr/frogatto/package.nix @@ -1,4 +1,10 @@ -{ buildEnv, lib, callPackage, makeWrapper, makeDesktopItem }: +{ + buildEnv, + lib, + callPackage, + makeWrapper, + makeDesktopItem, +}: let description = "Action-adventure game, starring a certain quixotic frog"; @@ -12,14 +18,22 @@ let comment = description; desktopName = "Frogatto"; genericName = "frogatto"; - categories = [ "Game" "ArcadeGame" ]; + categories = [ + "Game" + "ArcadeGame" + ]; }; inherit (data) version; -in buildEnv { +in +buildEnv { name = "frogatto-${version}"; nativeBuildInputs = [ makeWrapper ]; - paths = [ engine data desktopItem ]; + paths = [ + engine + data + desktopItem + ]; pathsToLink = [ "/bin" "/share/frogatto/data" @@ -36,7 +50,10 @@ in buildEnv { meta = with lib; { homepage = "https://frogatto.com"; description = description; - license = with licenses; [ cc-by-30 unfree ]; + license = with licenses; [ + cc-by-30 + unfree + ]; platforms = platforms.linux; maintainers = with maintainers; [ astro ]; }; diff --git a/pkgs/by-name/fr/frogmouth/package.nix b/pkgs/by-name/fr/frogmouth/package.nix index 8a93e86be66ca..29680ad507a50 100644 --- a/pkgs/by-name/fr/frogmouth/package.nix +++ b/pkgs/by-name/fr/frogmouth/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/fr/frotz/package.nix b/pkgs/by-name/fr/frotz/package.nix index 36ca5c2b3cae0..e90f43beca2a4 100644 --- a/pkgs/by-name/fr/frotz/package.nix +++ b/pkgs/by-name/fr/frotz/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, libao -, libmodplug -, libsamplerate -, libsndfile -, libvorbis -, ncurses -, which -, pkg-config +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + libao, + libmodplug, + libsamplerate, + libsndfile, + libvorbis, + ncurses, + which, + pkg-config, }: stdenv.mkDerivation rec { @@ -32,8 +33,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ which pkg-config ]; - buildInputs = [ libao libmodplug libsamplerate libsndfile libvorbis ncurses ]; + nativeBuildInputs = [ + which + pkg-config + ]; + buildInputs = [ + libao + libmodplug + libsamplerate + libsndfile + libvorbis + ncurses + ]; installFlags = [ "PREFIX=$(out)" ]; @@ -43,7 +54,10 @@ stdenv.mkDerivation rec { description = "Z-machine interpreter for Infocom games and other interactive fiction"; mainProgram = "frotz"; platforms = platforms.unix; - maintainers = with maintainers; [ nicknovitski ddelabru ]; + maintainers = with maintainers; [ + nicknovitski + ddelabru + ]; license = licenses.gpl2Plus; }; } diff --git a/pkgs/by-name/fr/frozen/package.nix b/pkgs/by-name/fr/frozen/package.nix index 26c47617c1f60..9ea5d64ed289b 100644 --- a/pkgs/by-name/fr/frozen/package.nix +++ b/pkgs/by-name/fr/frozen/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-BpuYK9fbWSpeF8iPT8ImrV3CKKaA5RQ2W0ZQ03TciR0="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; # frozen has a simple Makefile and a GN BUILD file as building scripts. # Since it has only two source files, the best course of action to support diff --git a/pkgs/by-name/fr/frp/package.nix b/pkgs/by-name/fr/frp/package.nix index f68a4e5e74d08..419cf6e76f811 100644 --- a/pkgs/by-name/fr/frp/package.nix +++ b/pkgs/by-name/fr/frp/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, lib, fetchFromGitHub, nixosTests }: +{ + buildGoModule, + lib, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "frp"; @@ -15,7 +20,10 @@ buildGoModule rec { doCheck = false; - subPackages = [ "cmd/frpc" "cmd/frps" ]; + subPackages = [ + "cmd/frpc" + "cmd/frps" + ]; passthru.tests = { frp = nixosTests.frp; diff --git a/pkgs/by-name/fr/frr/clippy-helper.nix b/pkgs/by-name/fr/frr/clippy-helper.nix index c2b4b918ceca5..608716b45f6b4 100644 --- a/pkgs/by-name/fr/frr/clippy-helper.nix +++ b/pkgs/by-name/fr/frr/clippy-helper.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, frrSource -, frrVersion +{ + lib, + stdenv, + frrSource, + frrVersion, # build time -, autoreconfHook -, flex -, bison -, pkg-config -, elfutils -, perl -, python3 + autoreconfHook, + flex, + bison, + pkg-config, + elfutils, + perl, + python3, }: @@ -28,11 +29,13 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - python3 - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ - elfutils - ]; + buildInputs = + [ + python3 + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ + elfutils + ]; configureFlags = [ "--enable-clippy-only" @@ -53,7 +56,10 @@ stdenv.mkDerivation rec { to support cross-compiling, because it needs to be compiled with the build system toolchain and not the target host one. ''; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ thillux ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/fr/frugal/package.nix b/pkgs/by-name/fr/frugal/package.nix index bf83ec753d500..2380581c5e7a4 100644 --- a/pkgs/by-name/fr/frugal/package.nix +++ b/pkgs/by-name/fr/frugal/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "frugal"; diff --git a/pkgs/by-name/fr/frugally-deep/package.nix b/pkgs/by-name/fr/frugally-deep/package.nix index f275ec5f02bac..baa42437f5f08 100644 --- a/pkgs/by-name/fr/frugally-deep/package.nix +++ b/pkgs/by-name/fr/frugally-deep/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, cmake -, functionalplus -, eigen -, nlohmann_json -, doctest -, python3Packages -, buildTests ? false # Needs tensorflow +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + cmake, + functionalplus, + eigen, + nlohmann_json, + doctest, + python3Packages, + buildTests ? false, # Needs tensorflow }: stdenv.mkDerivation (finalAttrs: { @@ -22,12 +23,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-yg2SMsYOOSOgsdwIH1bU3iPM45z6c7WeIrgOddt3um4="; }; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals buildTests [ - python3Packages.python - python3Packages.numpy - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals buildTests [ + python3Packages.python + python3Packages.numpy + ]; buildInputs = lib.optionals buildTests [ doctest diff --git a/pkgs/by-name/fs/fsarchiver/package.nix b/pkgs/by-name/fs/fsarchiver/package.nix index 6835a5dbb94bf..7fb6b0537539f 100644 --- a/pkgs/by-name/fs/fsarchiver/package.nix +++ b/pkgs/by-name/fs/fsarchiver/package.nix @@ -1,11 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, zlib, bzip2, lzo, lz4, zstd, xz -, libgcrypt, e2fsprogs, util-linux, libgpg-error }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + zlib, + bzip2, + lzo, + lz4, + zstd, + xz, + libgcrypt, + e2fsprogs, + util-linux, + libgpg-error, +}: let version = "0.8.7"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "fsarchiver"; inherit version; @@ -17,12 +32,22 @@ in stdenv.mkDerivation { }; nativeBuildInputs = [ - autoreconfHook pkg-config + autoreconfHook + pkg-config ]; buildInputs = [ - zlib bzip2 xz lzo lz4 zstd xz - libgcrypt e2fsprogs util-linux libgpg-error + zlib + bzip2 + xz + lzo + lz4 + zstd + xz + libgcrypt + e2fsprogs + util-linux + libgpg-error ]; meta = with lib; { diff --git a/pkgs/by-name/fs/fsatrace/package.nix b/pkgs/by-name/fs/fsatrace/package.nix index d99374ac53734..5faa674868613 100644 --- a/pkgs/by-name/fs/fsatrace/package.nix +++ b/pkgs/by-name/fs/fsatrace/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fsatrace"; diff --git a/pkgs/by-name/fs/fscan/package.nix b/pkgs/by-name/fs/fscan/package.nix index 37886995b3614..58c348bd765ef 100644 --- a/pkgs/by-name/fs/fscan/package.nix +++ b/pkgs/by-name/fs/fscan/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "fscan"; diff --git a/pkgs/by-name/fs/fscrypt-experimental/package.nix b/pkgs/by-name/fs/fscrypt-experimental/package.nix index 2cf5243422e15..71f1f63a07738 100644 --- a/pkgs/by-name/fs/fscrypt-experimental/package.nix +++ b/pkgs/by-name/fs/fscrypt-experimental/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, gnum4, pam, fscrypt-experimental }: +{ + lib, + buildGoModule, + fetchFromGitHub, + gnum4, + pam, + fscrypt-experimental, +}: # Don't use this for anything important yet! @@ -39,8 +46,7 @@ buildGoModule rec { ''; meta = with lib; { - description = - "A high-level tool for the management of Linux filesystem encryption"; + description = "A high-level tool for the management of Linux filesystem encryption"; mainProgram = "fscrypt"; longDescription = '' This tool manages metadata, key generation, key wrapping, PAM integration, diff --git a/pkgs/by-name/fs/fsearch/package.nix b/pkgs/by-name/fs/fsearch/package.nix index 453e200ea6091..5bc7759043205 100644 --- a/pkgs/by-name/fs/fsearch/package.nix +++ b/pkgs/by-name/fs/fsearch/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, gtk3 -, pcre2 -, glib -, desktop-file-utils -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, gettext -, icu +{ + lib, + stdenv, + fetchFromGitHub, + gtk3, + pcre2, + glib, + desktop-file-utils, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + gettext, + icu, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fs/fselect/package.nix b/pkgs/by-name/fs/fselect/package.nix index 95c5b4af05207..283f6a192066c 100644 --- a/pkgs/by-name/fs/fselect/package.nix +++ b/pkgs/by-name/fs/fselect/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + libiconv, +}: rustPlatform.buildRustPackage rec { pname = "fselect"; @@ -23,7 +30,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Find files with SQL-like queries"; homepage = "https://github.com/jhspetersson/fselect"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ Br1ght0ne ]; mainProgram = "fselect"; }; diff --git a/pkgs/by-name/fs/fsg/package.nix b/pkgs/by-name/fs/fsg/package.nix index d5680669df9e9..5f7340f9f0398 100644 --- a/pkgs/by-name/fs/fsg/package.nix +++ b/pkgs/by-name/fs/fsg/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, gtk2, glib, pkg-config, libGLU, libGL, wxGTK32, libX11, xorgproto, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + gtk2, + glib, + pkg-config, + libGLU, + libGL, + wxGTK32, + libX11, + xorgproto, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "fsg"; @@ -16,7 +29,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libGLU libGL wxGTK32 libX11 xorgproto ]; + buildInputs = [ + glib + libGLU + libGL + wxGTK32 + libX11 + xorgproto + ]; preBuild = '' sed -e ' diff --git a/pkgs/by-name/fs/fsharp/package.nix b/pkgs/by-name/fs/fsharp/package.nix index d141c6f5d4c5b..716d637a84e81 100644 --- a/pkgs/by-name/fs/fsharp/package.nix +++ b/pkgs/by-name/fs/fsharp/package.nix @@ -1,6 +1,16 @@ # Temporarily avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it -{ lib, stdenv, fetchFromGitHub, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }: +{ + lib, + stdenv, + fetchFromGitHub, + mono, + pkg-config, + dotnetbuildhelpers, + autoconf, + automake, + which, +}: stdenv.mkDerivation rec { pname = "fsharp"; @@ -13,8 +23,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-dgTEM2aL8lVjVMuW0+HLc+TUA39IiuBv/RfHYNURh5s="; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ mono dotnetbuildhelpers which ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + mono + dotnetbuildhelpers + which + ]; configurePhase = '' sed -i '988d' src/FSharpSource.targets @@ -44,7 +62,10 @@ stdenv.mkDerivation rec { description = "Functional CLI language"; homepage = "https://fsharp.org/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ thoughtpolice raskin ]; + maintainers = with lib.maintainers; [ + thoughtpolice + raskin + ]; platforms = with lib.platforms; unix; }; } diff --git a/pkgs/by-name/fs/fsmark/package.nix b/pkgs/by-name/fs/fsmark/package.nix index 340be1a56c2ed..9d442aba7b0a1 100644 --- a/pkgs/by-name/fs/fsmark/package.nix +++ b/pkgs/by-name/fs/fsmark/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "fsmark"; diff --git a/pkgs/by-name/fs/fsmon/package.nix b/pkgs/by-name/fs/fsmon/package.nix index 5e38561078017..bbdf9cad5e2f3 100644 --- a/pkgs/by-name/fs/fsmon/package.nix +++ b/pkgs/by-name/fs/fsmon/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fs/fsnotifier/package.nix b/pkgs/by-name/fs/fsnotifier/package.nix index 3c21479508974..bb9215713d61d 100644 --- a/pkgs/by-name/fs/fsnotifier/package.nix +++ b/pkgs/by-name/fs/fsnotifier/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -35,5 +36,5 @@ stdenv.mkDerivation rec { mainProgram = "fsnotifier"; maintainers = with lib.maintainers; [ shyim ]; platforms = lib.platforms.linux; - }; + }; } diff --git a/pkgs/by-name/fs/fspy/package.nix b/pkgs/by-name/fs/fspy/package.nix index 0227e889fd6b9..211c991408e1f 100644 --- a/pkgs/by-name/fs/fspy/package.nix +++ b/pkgs/by-name/fs/fspy/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "fspy"; version = "1.0.3"; @@ -8,7 +12,8 @@ let sha256 = "sha256-L+qsSExuEkzZkjnV/J6rrZ3BXqWQd+IfsN6a3kvQF3A="; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; meta = with lib; { diff --git a/pkgs/by-name/fs/fsql/package.nix b/pkgs/by-name/fs/fsql/package.nix index d9f3b3ae8f90e..56b9215027f64 100644 --- a/pkgs/by-name/fs/fsql/package.nix +++ b/pkgs/by-name/fs/fsql/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "fsql"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-+laTnx6Xkrv3QQel5opqYQSuFmo54UMI2A653xbBWzQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Search through your filesystem with SQL-esque queries"; diff --git a/pkgs/by-name/fs/fsrx/package.nix b/pkgs/by-name/fs/fsrx/package.nix index c1a1fa9ecc90a..fb2e67ef7115d 100644 --- a/pkgs/by-name/fs/fsrx/package.nix +++ b/pkgs/by-name/fs/fsrx/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, testers, fsrx }: +{ + lib, + fetchFromGitHub, + rustPlatform, + testers, + fsrx, +}: rustPlatform.buildRustPackage rec { pname = "fsrx"; diff --git a/pkgs/by-name/fs/fst/package.nix b/pkgs/by-name/fs/fst/package.nix index c43a781cf6e14..33c819f881c11 100644 --- a/pkgs/by-name/fs/fst/package.nix +++ b/pkgs/by-name/fs/fst/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, stdenv -, libiconv +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + libiconv, }: rustPlatform.buildRustPackage rec { @@ -33,7 +34,10 @@ rustPlatform.buildRustPackage rec { description = "Represent large sets and maps compactly with finite state transducers"; mainProgram = "fst"; homepage = "https://github.com/BurntSushi/fst"; - license = with licenses; [ unlicense /* or */ mit ]; + license = with licenses; [ + unlicense # or + mit + ]; maintainers = with maintainers; [ rmcgibbo ]; }; } diff --git a/pkgs/by-name/fs/fstrcmp/package.nix b/pkgs/by-name/fs/fstrcmp/package.nix index ab7f410eddf29..59d9cf3dfe644 100644 --- a/pkgs/by-name/fs/fstrcmp/package.nix +++ b/pkgs/by-name/fs/fstrcmp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, libtool, ghostscript, groff, autoreconfHook }: +{ + lib, + stdenv, + fetchzip, + libtool, + ghostscript, + groff, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "fstrcmp"; @@ -11,9 +19,20 @@ stdenv.mkDerivation rec { patches = [ ./cross.patch ]; - outputs = [ "out" "dev" "doc" "man" "devman" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + "devman" + ]; - nativeBuildInputs = [ libtool ghostscript groff autoreconfHook ]; + nativeBuildInputs = [ + libtool + ghostscript + groff + autoreconfHook + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/fs/fstrm/package.nix b/pkgs/by-name/fs/fstrm/package.nix index 15daa7e5a9592..899ee38533a00 100644 --- a/pkgs/by-name/fs/fstrm/package.nix +++ b/pkgs/by-name/fs/fstrm/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libevent, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libevent, + openssl, +}: stdenv.mkDerivation rec { pname = "fstrm"; @@ -11,10 +19,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-/WFP2g3Vuf/qaY8pprY8XFAlpEE+0SJUlFNWfa+7ZlE="; }; - outputs = [ "bin" "out" "dev" ]; - - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libevent openssl ]; + outputs = [ + "bin" + "out" + "dev" + ]; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libevent + openssl + ]; preBuild = '' NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -L${openssl}/lib" @@ -29,4 +47,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/fs/fsuae-launcher/package.nix b/pkgs/by-name/fs/fsuae-launcher/package.nix index af08047ed81dc..8c587ca300f8a 100644 --- a/pkgs/by-name/fs/fsuae-launcher/package.nix +++ b/pkgs/by-name/fs/fsuae-launcher/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, fsuae -, gettext -, python3Packages -, stdenv -, libsForQt5 +{ + lib, + fetchurl, + fsuae, + gettext, + python3Packages, + stdenv, + libsForQt5, }: stdenv.mkDerivation (finalAttrs: { @@ -55,8 +56,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Graphical front-end for the FS-UAE emulator"; license = lib.licenses.gpl2Plus; mainProgram = "fs-uae-launcher"; - maintainers = with lib.maintainers; [ sander AndersonTorres ]; - platforms = with lib.systems.inspect; - patternLogicalAnd patterns.isx86 patterns.isLinux; + maintainers = with lib.maintainers; [ + sander + AndersonTorres + ]; + platforms = with lib.systems.inspect; patternLogicalAnd patterns.isx86 patterns.isLinux; }; }) diff --git a/pkgs/by-name/fs/fsuae/package.nix b/pkgs/by-name/fs/fsuae/package.nix index 7ec1d656a90ad..854538295ba14 100644 --- a/pkgs/by-name/fs/fsuae/package.nix +++ b/pkgs/by-name/fs/fsuae/package.nix @@ -1,24 +1,25 @@ -{ lib -, SDL2 -, autoreconfHook -, fetchFromGitHub -, freetype -, gettext -, glib -, gtk2 -, libGL -, libGLU -, libmpeg2 -, lua -, openal -, pkg-config -, strip-nondeterminism -, stdenv -, zip -, zlib +{ + lib, + SDL2, + autoreconfHook, + fetchFromGitHub, + freetype, + gettext, + glib, + gtk2, + libGL, + libGLU, + libmpeg2, + lua, + openal, + pkg-config, + strip-nondeterminism, + stdenv, + zip, + zlib, }: -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "fs-uae"; version = "3.1.66"; @@ -69,7 +70,6 @@ stdenv.mkDerivation (finalAttrs:{ license = lib.licenses.gpl2Plus; mainProgram = "fs-uae"; maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = with lib.systems.inspect; - patternLogicalAnd patterns.isx86 patterns.isLinux; + platforms = with lib.systems.inspect; patternLogicalAnd patterns.isx86 patterns.isLinux; }; }) diff --git a/pkgs/by-name/fs/fsv/package.nix b/pkgs/by-name/fs/fsv/package.nix index e49610116f71d..a9c34d2d1bc65 100644 --- a/pkgs/by-name/fs/fsv/package.nix +++ b/pkgs/by-name/fs/fsv/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, cglm -, gtk3 -, libepoxy -, libGLU +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + cglm, + gtk3, + libepoxy, + libGLU, }: stdenv.mkDerivation rec { - pname = "fsv"; + pname = "fsv"; version = "3.0"; src = fetchFromGitHub { owner = "jabl"; - repo = "fsv"; - rev = "${pname}-${version}"; - hash = "sha256-fxsA3qcBPvK4H5P4juGTe6eg1lkygvzFpNW36B9lsE4="; + repo = "fsv"; + rev = "${pname}-${version}"; + hash = "sha256-fxsA3qcBPvK4H5P4juGTe6eg1lkygvzFpNW36B9lsE4="; }; nativeBuildInputs = [ @@ -44,7 +45,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "File system visualizer in cyberspace"; + description = "File system visualizer in cyberspace"; longDescription = '' fsv (pronounced eff-ess-vee) is a file system visualizer in cyberspace. It lays out files and directories in three dimensions, geometrically @@ -53,9 +54,9 @@ stdenv.mkDerivation rec { hard drive, or any arbitrarily large collection of files, limited only by the host computer's memory and graphics hardware. ''; - homepage = "https://github.com/jabl/fsv"; - license = licenses.lgpl2; - platforms = platforms.linux; + homepage = "https://github.com/jabl/fsv"; + license = licenses.lgpl2; + platforms = platforms.linux; maintainers = with maintainers; [ rnhmjoj ]; mainProgram = "fsv"; }; diff --git a/pkgs/by-name/fs/fsverity-utils/package.nix b/pkgs/by-name/fs/fsverity-utils/package.nix index 911b1f1fa1953..4ef7a2357b83c 100644 --- a/pkgs/by-name/fs/fsverity-utils/package.nix +++ b/pkgs/by-name/fs/fsverity-utils/package.nix @@ -1,17 +1,22 @@ -{ stdenv -, lib -, fetchzip -, openssl -, enableShared ? !stdenv.hostPlatform.isStatic -, enableManpages ? false -, pandoc +{ + stdenv, + lib, + fetchzip, + openssl, + enableShared ? !stdenv.hostPlatform.isStatic, + enableManpages ? false, + pandoc, }: stdenv.mkDerivation rec { pname = "fsverity-utils"; version = "1.6"; - outputs = [ "out" "lib" "dev" ] ++ lib.optional enableManpages "man"; + outputs = [ + "out" + "lib" + "dev" + ] ++ lib.optional enableManpages "man"; src = fetchzip { url = "https://git.kernel.org/pub/scm/fs/fsverity/fsverity-utils.git/snapshot/fsverity-utils-v${version}.tar.gz"; @@ -28,7 +33,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = lib.optional enableManpages pandoc; buildInputs = [ openssl ]; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ] ++ lib.optional enableShared "USE_SHARED_LIB=1"; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ] ++ lib.optional enableShared "USE_SHARED_LIB=1"; doCheck = true; diff --git a/pkgs/by-name/fs/fswebcam/package.nix b/pkgs/by-name/fs/fswebcam/package.nix index 08b1b9935291e..131e256f0eef7 100644 --- a/pkgs/by-name/fs/fswebcam/package.nix +++ b/pkgs/by-name/fs/fswebcam/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libv4l, gd }: +{ + lib, + stdenv, + fetchurl, + libv4l, + gd, +}: stdenv.mkDerivation rec { pname = "fswebcam"; @@ -9,8 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1dazsrcaw9s30zz3jpxamk9lkff5dkmflp1s0jjjvdbwa0k6k6ii"; }; - buildInputs = - [ libv4l gd ]; + buildInputs = [ + libv4l + gd + ]; meta = { description = "Neat and simple webcam app"; diff --git a/pkgs/by-name/ft/ftgl/package.nix b/pkgs/by-name/ft/ftgl/package.nix index 506a756ba2e70..2c05f30f3d729 100644 --- a/pkgs/by-name/ft/ftgl/package.nix +++ b/pkgs/by-name/ft/ftgl/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, doxygen -, libglut -, freetype -, libGL -, libGLU -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + doxygen, + libglut, + freetype, + libGL, + libGLU, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ft/ftop/package.nix b/pkgs/by-name/ft/ftop/package.nix index b199c84b9fb52..f507e3cfb61bb 100644 --- a/pkgs/by-name/ft/ftop/package.nix +++ b/pkgs/by-name/ft/ftop/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "ftop"; diff --git a/pkgs/by-name/ft/ftxui/package.nix b/pkgs/by-name/ft/ftxui/package.nix index a911e5ba37369..40d31ec7d6a04 100644 --- a/pkgs/by-name/ft/ftxui/package.nix +++ b/pkgs/by-name/ft/ftxui/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doxygen -, gbenchmark -, graphviz -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, + gbenchmark, + graphviz, + gtest, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fu/fuc/package.nix b/pkgs/by-name/fu/fuc/package.nix index 5a2f88fcb8f76..771e7e861fed0 100644 --- a/pkgs/by-name/fu/fuc/package.nix +++ b/pkgs/by-name/fu/fuc/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, clippy -, rustfmt +{ + lib, + rustPlatform, + fetchFromGitHub, + clippy, + rustfmt, }: rustPlatform.buildRustPackage rec { @@ -20,9 +21,16 @@ rustPlatform.buildRustPackage rec { RUSTC_BOOTSTRAP = 1; - cargoBuildFlags = [ "--workspace" "--bin cpz" "--bin rmz" ]; + cargoBuildFlags = [ + "--workspace" + "--bin cpz" + "--bin rmz" + ]; - nativeCheckInputs = [ clippy rustfmt ]; + nativeCheckInputs = [ + clippy + rustfmt + ]; meta = with lib; { description = "Modern, performance focused unix commands"; diff --git a/pkgs/by-name/fu/fuchsia-cursor/package.nix b/pkgs/by-name/fu/fuchsia-cursor/package.nix index 990414e219c9e..2d567fd334107 100644 --- a/pkgs/by-name/fu/fuchsia-cursor/package.nix +++ b/pkgs/by-name/fu/fuchsia-cursor/package.nix @@ -1,60 +1,79 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, clickgen -, python3 -, themeVariants ? [] -, sizeVariants ? [] -, platformVariants ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + clickgen, + python3, + themeVariants ? [ ], + sizeVariants ? [ ], + platformVariants ? [ ], }: let pname = "fuchsia-cursor"; in -lib.checkListOfEnum "${pname}: theme variants" [ "Fuchsia" "Fuchsia-Pop" "Fuchsia-Red" ] themeVariants -lib.checkListOfEnum "${pname}: size variants" [ "16" "24" "32" "48" ] sizeVariants -lib.checkListOfEnum "${pname}: platform variants" [ "x11" "windows" ] platformVariants - -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2.0.0"; - - src = fetchFromGitHub { - owner = "ful1e5"; - repo = "fuchsia-cursor"; - rev = "v${version}"; - hash = "sha256-WnDtUsjRXT7bMppgwU5BIDqphP69DmPzQM/0qXES5tM="; - }; - - nativeBuildInputs = [ - clickgen - python3.pkgs.attrs - ]; - - installPhase = '' - runHook preInstall - - ${if themeVariants != [] then '' - name= ctgen build.toml \ - ${lib.optionalString (themeVariants != []) "-d bitmaps/" + toString themeVariants + " -n " + toString themeVariants} \ - ${lib.optionalString (sizeVariants != []) "-s " + toString sizeVariants} \ - ${lib.optionalString (platformVariants != []) "-p " + toString platformVariants} \ - -o $out/share/icons - '' else '' - name= ctgen build.toml -d bitmaps/Fuchsia -n Fuchsia \ - ${lib.optionalString (sizeVariants != []) "-s " + toString sizeVariants} \ - ${lib.optionalString (platformVariants != []) "-p " + toString platformVariants} \ - -o $out/share/icons - ''} - - runHook postInstall - ''; - - meta = with lib; { - description = "First OpenSource port of FuchsiaOS's cursors for Linux and Windows"; - homepage = "https://github.com/ful1e5/fuchsia-cursor"; - maintainers = with maintainers; [ d3vil0p3r ]; - platforms = platforms.all; - license = licenses.gpl3Plus; - }; -} +lib.checkListOfEnum "${pname}: theme variants" [ "Fuchsia" "Fuchsia-Pop" "Fuchsia-Red" ] + themeVariants + lib.checkListOfEnum + "${pname}: size variants" + [ "16" "24" "32" "48" ] + sizeVariants + lib.checkListOfEnum + "${pname}: platform variants" + [ "x11" "windows" ] + platformVariants + + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "ful1e5"; + repo = "fuchsia-cursor"; + rev = "v${version}"; + hash = "sha256-WnDtUsjRXT7bMppgwU5BIDqphP69DmPzQM/0qXES5tM="; + }; + + nativeBuildInputs = [ + clickgen + python3.pkgs.attrs + ]; + + installPhase = '' + runHook preInstall + + ${ + if themeVariants != [ ] then + '' + name= ctgen build.toml \ + ${ + lib.optionalString (themeVariants != [ ]) "-d bitmaps/" + + toString themeVariants + + " -n " + + toString themeVariants + } \ + ${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \ + ${lib.optionalString (platformVariants != [ ]) "-p " + toString platformVariants} \ + -o $out/share/icons + '' + else + '' + name= ctgen build.toml -d bitmaps/Fuchsia -n Fuchsia \ + ${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \ + ${lib.optionalString (platformVariants != [ ]) "-p " + toString platformVariants} \ + -o $out/share/icons + '' + } + + runHook postInstall + ''; + + meta = with lib; { + description = "First OpenSource port of FuchsiaOS's cursors for Linux and Windows"; + homepage = "https://github.com/ful1e5/fuchsia-cursor"; + maintainers = with maintainers; [ d3vil0p3r ]; + platforms = platforms.all; + license = licenses.gpl3Plus; + }; + } diff --git a/pkgs/by-name/fu/funambol/package.nix b/pkgs/by-name/fu/funambol/package.nix index 1ee66e008fefe..ae746d0be3ba0 100644 --- a/pkgs/by-name/fu/funambol/package.nix +++ b/pkgs/by-name/fu/funambol/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, zlib, curl, autoreconfHook, unzip }: +{ + lib, + stdenv, + fetchurl, + zlib, + curl, + autoreconfHook, + unzip, +}: stdenv.mkDerivation rec { pname = "funambol-client-cpp"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { postUnpack = ''sourceRoot+="/sdk/cpp/build/autotools"''; - propagatedBuildInputs = [ zlib curl ]; + propagatedBuildInputs = [ + zlib + curl + ]; - nativeBuildInputs = [ autoreconfHook unzip ]; + nativeBuildInputs = [ + autoreconfHook + unzip + ]; meta = with lib; { description = "SyncML client sdk by Funambol project"; diff --git a/pkgs/by-name/fu/func/package.nix b/pkgs/by-name/fu/func/package.nix index c31f5c9b06e1c..0d6f02a695489 100644 --- a/pkgs/by-name/fu/func/package.nix +++ b/pkgs/by-name/fu/func/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, func }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + func, +}: buildGoModule rec { pname = "func"; @@ -23,7 +30,6 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - postInstall = '' installShellCompletion --cmd func \ --bash <($out/bin/func completion bash) \ diff --git a/pkgs/by-name/fu/functionalplus/package.nix b/pkgs/by-name/fu/functionalplus/package.nix index e07fa8fec5f26..e86e15666de88 100644 --- a/pkgs/by-name/fu/functionalplus/package.nix +++ b/pkgs/by-name/fu/functionalplus/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "functionalplus"; diff --git a/pkgs/by-name/fu/functiontrace-server/package.nix b/pkgs/by-name/fu/functiontrace-server/package.nix index efb5026e069e3..2a3a889ee6e8d 100644 --- a/pkgs/by-name/fu/functiontrace-server/package.nix +++ b/pkgs/by-name/fu/functiontrace-server/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "functiontrace-server"; @@ -11,8 +17,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-3tLjW7yiS1dNsV81KUZbfN2pvYT9kqiC62nWFid2NH8="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin - [ darwin.apple_sdk.frameworks.CoreFoundation ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + ]; meta = with lib; { description = "Server for FunctionTrace, a graphical Python profiler"; diff --git a/pkgs/by-name/fu/fundoc/package.nix b/pkgs/by-name/fu/fundoc/package.nix index 72c572e3e4f19..8b78936815792 100644 --- a/pkgs/by-name/fu/fundoc/package.nix +++ b/pkgs/by-name/fu/fundoc/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, fetchpatch }: +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch, +}: rustPlatform.buildRustPackage rec { pname = "fundoc"; diff --git a/pkgs/by-name/fu/funnelweb/package.nix b/pkgs/by-name/fu/funnelweb/package.nix index 10b4880df7cd2..14e52ff56b25c 100644 --- a/pkgs/by-name/fu/funnelweb/package.nix +++ b/pkgs/by-name/fu/funnelweb/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "funnelweb"; diff --git a/pkgs/by-name/fu/funzzy/package.nix b/pkgs/by-name/fu/funzzy/package.nix index a5b830a874780..26b56805aa664 100644 --- a/pkgs/by-name/fu/funzzy/package.nix +++ b/pkgs/by-name/fu/funzzy/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/fu/furnace/package.nix b/pkgs/by-name/fu/furnace/package.nix index 8b9428c6b2392..62d60e8abbcd4 100644 --- a/pkgs/by-name/fu/furnace/package.nix +++ b/pkgs/by-name/fu/furnace/package.nix @@ -1,29 +1,30 @@ -{ stdenv -, lib -, testers -, furnace -, fetchFromGitHub -, cmake -, pkg-config -, makeWrapper -, fftw -, fmt -, freetype -, libsndfile -, libX11 -, rtmidi -, SDL2 -, zlib -, withJACK ? stdenv.hostPlatform.isUnix -, libjack2 -, withGUI ? true -, darwin -, portaudio -, alsa-lib -# Enable GL/GLES rendering -, withGL ? !stdenv.hostPlatform.isDarwin -# Use GLES instead of GL, some platforms have better support for one than the other -, preferGLES ? stdenv.hostPlatform.isAarch +{ + stdenv, + lib, + testers, + furnace, + fetchFromGitHub, + cmake, + pkg-config, + makeWrapper, + fftw, + fmt, + freetype, + libsndfile, + libX11, + rtmidi, + SDL2, + zlib, + withJACK ? stdenv.hostPlatform.isUnix, + libjack2, + withGUI ? true, + darwin, + portaudio, + alsa-lib, + # Enable GL/GLES rendering + withGL ? !stdenv.hostPlatform.isDarwin, + # Use GLES instead of GL, some platforms have better support for one than the other + preferGLES ? stdenv.hostPlatform.isAarch, }: stdenv.mkDerivation (finalAttrs: { @@ -45,30 +46,39 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'libX11.so' '${lib.getLib libX11}/lib/libX11.so' ''; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - makeWrapper - ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeWrapper + ]; - buildInputs = [ - fftw - fmt - freetype - libsndfile - rtmidi - SDL2 - zlib - portaudio - ] ++ lib.optionals withJACK [ - libjack2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # portaudio pkg-config is pulling this in as a link dependency, not set in propagatedBuildInputs - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Cocoa - ]); + buildInputs = + [ + fftw + fmt + freetype + libsndfile + rtmidi + SDL2 + zlib + portaudio + ] + ++ lib.optionals withJACK [ + libjack2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # portaudio pkg-config is pulling this in as a link dependency, not set in propagatedBuildInputs + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Cocoa + ] + ); cmakeFlags = [ (lib.cmakeBool "BUILD_GUI" withGUI) diff --git a/pkgs/by-name/fu/furtherance/package.nix b/pkgs/by-name/fu/furtherance/package.nix index 15616f32bebd9..a983b914cae69 100644 --- a/pkgs/by-name/fu/furtherance/package.nix +++ b/pkgs/by-name/fu/furtherance/package.nix @@ -1,7 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform -, appstream-glib, cargo, desktop-file-utils, glib, libadwaita, meson, ninja -, pkg-config, rustc, wrapGAppsHook4 -, dbus, gtk4, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + appstream-glib, + cargo, + desktop-file-utils, + glib, + libadwaita, + meson, + ninja, + pkg-config, + rustc, + wrapGAppsHook4, + dbus, + gtk4, + sqlite, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fu/fuse-7z-ng/package.nix b/pkgs/by-name/fu/fuse-7z-ng/package.nix index 1c5b7b1d038f8..f24d5b76ed929 100644 --- a/pkgs/by-name/fu/fuse-7z-ng/package.nix +++ b/pkgs/by-name/fu/fuse-7z-ng/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fuse, p7zip, autoconf, automake, pkg-config, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + fuse, + p7zip, + autoconf, + automake, + pkg-config, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "fuse-7z-ng"; @@ -20,7 +30,12 @@ stdenv.mkDerivation rec { ./zero-init-fuse-operations.patch ]; - nativeBuildInputs = [ pkg-config makeWrapper autoconf automake ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + autoconf + automake + ]; buildInputs = [ fuse ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/by-name/fu/fuse-archive/package.nix b/pkgs/by-name/fu/fuse-archive/package.nix index 58f48a2644983..3313de11477da 100644 --- a/pkgs/by-name/fu/fuse-archive/package.nix +++ b/pkgs/by-name/fu/fuse-archive/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fuse -, libarchive -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fuse, + libarchive, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fu/fuse-emulator/package.nix b/pkgs/by-name/fu/fuse-emulator/package.nix index 3ed4ffc9c0731..e23b1a1e64ce2 100644 --- a/pkgs/by-name/fu/fuse-emulator/package.nix +++ b/pkgs/by-name/fu/fuse-emulator/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, perl, pkg-config, wrapGAppsHook3 -, SDL, bzip2, glib, gtk3, libgcrypt, libpng, libspectrum, libxml2, zlib +{ + lib, + stdenv, + fetchurl, + perl, + pkg-config, + wrapGAppsHook3, + SDL, + bzip2, + glib, + gtk3, + libgcrypt, + libpng, + libspectrum, + libxml2, + zlib, }: stdenv.mkDerivation rec { @@ -11,9 +25,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-Oo/t8v/pR8VxVhusVaWa2tTFkzj3TkSbfnpn2coEcJY="; }; - nativeBuildInputs = [ perl pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + perl + pkg-config + wrapGAppsHook3 + ]; - buildInputs = [ SDL bzip2 glib gtk3 libgcrypt libpng libspectrum libxml2 zlib ]; + buildInputs = [ + SDL + bzip2 + glib + gtk3 + libgcrypt + libpng + libspectrum + libxml2 + zlib + ]; configureFlags = [ "--enable-desktop-integration" ]; diff --git a/pkgs/by-name/fu/fuse-overlayfs/package.nix b/pkgs/by-name/fu/fuse-overlayfs/package.nix index def4a79389629..1bc41f1e0624f 100644 --- a/pkgs/by-name/fu/fuse-overlayfs/package.nix +++ b/pkgs/by-name/fu/fuse-overlayfs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, fuse3, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + fuse3, + nixosTests, +}: stdenv.mkDerivation rec { pname = "fuse-overlayfs"; @@ -11,7 +19,10 @@ stdenv.mkDerivation rec { hash = "sha256-A70AxYPKph/5zRNFRDWrwl8Csc8Vf1gmOLJ39ixJgL0="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ fuse3 ]; diff --git a/pkgs/by-name/fu/fusee-interfacee-tk/package.nix b/pkgs/by-name/fu/fusee-interfacee-tk/package.nix index a7e19ed8af572..39766ddb4e5ab 100644 --- a/pkgs/by-name/fu/fusee-interfacee-tk/package.nix +++ b/pkgs/by-name/fu/fusee-interfacee-tk/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv , fetchFromGitHub , python3 , makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + makeWrapper, +}: -let pythonEnv = python3.withPackages(ps: [ ps.tkinter ps.pyusb ]); -in stdenv.mkDerivation rec { +let + pythonEnv = python3.withPackages (ps: [ + ps.tkinter + ps.pyusb + ]); +in +stdenv.mkDerivation rec { pname = "fusee-interfacee-tk"; version = "1.0.1"; diff --git a/pkgs/by-name/fu/fusee-launcher/package.nix b/pkgs/by-name/fu/fusee-launcher/package.nix index 776f5c064aefb..917d6fd4aa7e8 100644 --- a/pkgs/by-name/fu/fusee-launcher/package.nix +++ b/pkgs/by-name/fu/fusee-launcher/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, python3Packages -, python3 -, fetchFromGitHub -, pkgsCross -, makeWrapper -} : +{ + lib, + stdenv, + python3Packages, + python3, + fetchFromGitHub, + pkgsCross, + makeWrapper, +}: let arm-embedded-cc = pkgsCross.arm-embedded.buildPackages.gcc; @@ -36,8 +38,15 @@ stdenv.mkDerivation { --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" ''; - nativeBuildInputs = [ arm-embedded-cc makeWrapper python3Packages.wrapPython ]; - buildInputs = [ python3 python3Packages.pyusb ]; + nativeBuildInputs = [ + arm-embedded-cc + makeWrapper + python3Packages.wrapPython + ]; + buildInputs = [ + python3 + python3Packages.pyusb + ]; pythonPath = with python3Packages; [ pyusb ]; meta = with lib; { diff --git a/pkgs/by-name/fu/fusee-nano/package.nix b/pkgs/by-name/fu/fusee-nano/package.nix index fc06232770741..ca75ded59699e 100644 --- a/pkgs/by-name/fu/fusee-nano/package.nix +++ b/pkgs/by-name/fu/fusee-nano/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, unixtools }: +{ + lib, + stdenv, + fetchFromGitHub, + unixtools, +}: stdenv.mkDerivation { pname = "fusee-nano"; diff --git a/pkgs/by-name/fu/fuseiso/package.nix b/pkgs/by-name/fu/fuseiso/package.nix index a2d42bb5a2a7d..413a58e6fcdfe 100644 --- a/pkgs/by-name/fu/fuseiso/package.nix +++ b/pkgs/by-name/fu/fuseiso/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, fuse, glib, zlib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + pkg-config, + fuse, + glib, + zlib, +}: stdenv.mkDerivation rec { pname = "fuseiso"; @@ -32,9 +42,16 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ fuse glib zlib ]; + buildInputs = [ + fuse + glib + zlib + ]; # after autoreconfHook, glib and zlib are not found, so force link against # them diff --git a/pkgs/by-name/fu/fusionInventory/package.nix b/pkgs/by-name/fu/fusionInventory/package.nix index b4535c80877de..4c73b269217c6 100644 --- a/pkgs/by-name/fu/fusionInventory/package.nix +++ b/pkgs/by-name/fu/fusionInventory/package.nix @@ -1,5 +1,14 @@ -{ lib, perlPackages, nix, dmidecode, pciutils, usbutils, iproute2, nettools -, fetchFromGitHub, makeWrapper +{ + lib, + perlPackages, + nix, + dmidecode, + pciutils, + usbutils, + iproute2, + nettools, + fetchFromGitHub, + makeWrapper, }: perlPackages.buildPerlPackage rec { @@ -23,29 +32,32 @@ perlPackages.buildPerlPackage rec { --replace /sbin/ip ${iproute2}/sbin/ip ''; - buildTools = []; + buildTools = [ ]; nativeBuildInputs = [ makeWrapper ]; - buildInputs = (with perlPackages; [ - CGI - DataStructureUtil - FileCopyRecursive - HTTPProxy - HTTPServerSimple - HTTPServerSimpleAuthen - IOCapture - IOSocketSSL - IPCRun - JSON - LWPProtocolHttps - ModuleInstall - NetSNMP - TestCompile - TestDeep - TestException - TestMockModule - TestMockObject - TestNoWarnings - ]); + buildInputs = ( + with perlPackages; + [ + CGI + DataStructureUtil + FileCopyRecursive + HTTPProxy + HTTPServerSimple + HTTPServerSimpleAuthen + IOCapture + IOSocketSSL + IPCRun + JSON + LWPProtocolHttps + ModuleInstall + NetSNMP + TestCompile + TestDeep + TestException + TestMockModule + TestMockObject + TestNoWarnings + ] + ); propagatedBuildInputs = with perlPackages; [ FileWhich LWP @@ -68,7 +80,16 @@ perlPackages.buildPerlPackage rec { for cur in $out/bin/*; do if [ -x "$cur" ]; then sed -e "s|./lib|$out/lib|" -i "$cur" - wrapProgram "$cur" --prefix PATH : ${lib.makeBinPath [nix dmidecode pciutils usbutils nettools iproute2]} + wrapProgram "$cur" --prefix PATH : ${ + lib.makeBinPath [ + nix + dmidecode + pciutils + usbutils + nettools + iproute2 + ] + } fi done ''; diff --git a/pkgs/by-name/fu/fusuma/gemset.nix b/pkgs/by-name/fu/fusuma/gemset.nix index e5f895c4b74c4..f1664a2149cc3 100644 --- a/pkgs/by-name/fu/fusuma/gemset.nix +++ b/pkgs/by-name/fu/fusuma/gemset.nix @@ -1,95 +1,102 @@ { fusuma = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vxlfda4mgff9kindrmr47xvn6b591hzvzzsx2y88zq20sn340vy"; type = "gem"; }; version = "3.5.0"; }; fusuma-plugin-appmatcher = { - dependencies = ["fusuma" "rexml" "ruby-dbus"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "fusuma" + "rexml" + "ruby-dbus" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cj3d1yz3jdxmapgk8wv5ra57nyb278x2fjxdllc0gqdfih6pxhq"; type = "gem"; }; version = "0.7.1"; }; fusuma-plugin-keypress = { - dependencies = ["fusuma"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fusuma" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16csdj695y9b8bvl65cby57fsyfr30pb9qq6h0wyqrxily6cn6il"; type = "gem"; }; version = "0.11.0"; }; fusuma-plugin-sendkey = { - dependencies = ["fusuma" "revdev"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "fusuma" + "revdev" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rdpxq4nanw85x1djdanwnz46b19fr46kdlkkgbxa4dnjk0zx4pp"; type = "gem"; }; version = "0.10.1"; }; fusuma-plugin-wmctrl = { - dependencies = ["fusuma"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fusuma" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rgz1d6ahg5i9sr4z2kab5qk7pm3rm0h7r1vwkygi75rv2r3jy86"; type = "gem"; }; version = "1.3.1"; }; revdev = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b6zg6vqlaik13fqxxcxhd4qnkfgdjnl4wy3a1q67281bl0qpsz9"; type = "gem"; }; version = "0.2.1"; }; rexml = { - dependencies = ["strscan"]; - groups = ["default"]; - platforms = []; + dependencies = [ "strscan" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d8ivcirrrxpkpjc1c835wknc9s2fl54xpw08s177yfrh5ish209"; type = "gem"; }; version = "3.2.8"; }; ruby-dbus = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hf9y5lbi1xcadc2fw87wlif75s1359c2wwlvvd0gag7cq5dm0pm"; type = "gem"; }; version = "0.23.1"; }; strscan = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; type = "gem"; }; diff --git a/pkgs/by-name/fu/fusuma/package.nix b/pkgs/by-name/fu/fusuma/package.nix index 0622ce699f8c2..e43f5b7f0ca04 100644 --- a/pkgs/by-name/fu/fusuma/package.nix +++ b/pkgs/by-name/fu/fusuma/package.nix @@ -1,4 +1,11 @@ -{ lib, bundlerApp, bundlerUpdateScript, makeWrapper, gnugrep, libinput }: +{ + lib, + bundlerApp, + bundlerUpdateScript, + makeWrapper, + gnugrep, + libinput, +}: bundlerApp { pname = "fusuma"; @@ -9,7 +16,12 @@ bundlerApp { postBuild = '' wrapProgram "$out/bin/fusuma" \ - --prefix PATH : ${lib.makeBinPath [ gnugrep libinput ]} + --prefix PATH : ${ + lib.makeBinPath [ + gnugrep + libinput + ] + } ''; passthru.updateScript = bundlerUpdateScript "fusuma"; @@ -18,7 +30,10 @@ bundlerApp { description = "Multitouch gestures with libinput driver on X11, Linux"; homepage = "https://github.com/iberianpig/fusuma"; license = licenses.mit; - maintainers = with maintainers; [ nicknovitski Br1ght0ne ]; + maintainers = with maintainers; [ + nicknovitski + Br1ght0ne + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/fu/fuzzel/package.nix b/pkgs/by-name/fu/fuzzel/package.nix index 1944c91ba064b..beb5d346dbcb9 100644 --- a/pkgs/by-name/fu/fuzzel/package.nix +++ b/pkgs/by-name/fu/fuzzel/package.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, fetchFromGitea -, pkg-config -, meson -, ninja -, wayland-scanner -, wayland -, pixman -, wayland-protocols -, libxkbcommon -, scdoc -, tllist -, fcft -, enableCairo ? true -, pngSupport ? true -, svgSupport ? true -, svgBackend ? "nanosvg" # alternative: "librsvg" +{ + stdenv, + lib, + fetchFromGitea, + pkg-config, + meson, + ninja, + wayland-scanner, + wayland, + pixman, + wayland-protocols, + libxkbcommon, + scdoc, + tllist, + fcft, + enableCairo ? true, + pngSupport ? true, + svgSupport ? true, + svgBackend ? "nanosvg", # alternative: "librsvg" # Optional dependencies -, cairo -, libpng -, librsvg + cairo, + libpng, + librsvg, }: assert (svgSupport && svgBackend == "nanosvg") -> enableCairo; @@ -48,16 +49,18 @@ stdenv.mkDerivation (finalAttrs: { scdoc ]; - buildInputs = [ - wayland - pixman - wayland-protocols - libxkbcommon - tllist - fcft - ] ++ lib.optional enableCairo cairo - ++ lib.optional pngSupport libpng - ++ lib.optional (svgSupport && svgBackend == "librsvg") librsvg; + buildInputs = + [ + wayland + pixman + wayland-protocols + libxkbcommon + tllist + fcft + ] + ++ lib.optional enableCairo cairo + ++ lib.optional pngSupport libpng + ++ lib.optional (svgSupport && svgBackend == "librsvg") librsvg; mesonBuildType = "release"; @@ -71,9 +74,15 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${finalAttrs.version}"; description = "Wayland-native application launcher, similar to rofi’s drun mode"; homepage = "https://codeberg.org/dnkl/fuzzel"; - license = with licenses; [ mit zlib ]; + license = with licenses; [ + mit + zlib + ]; mainProgram = "fuzzel"; - maintainers = with maintainers; [ fionera rodrgz ]; + maintainers = with maintainers; [ + fionera + rodrgz + ]; platforms = with platforms; linux; }; }) diff --git a/pkgs/by-name/fu/fuzzylite/package.nix b/pkgs/by-name/fu/fuzzylite/package.nix index 82f11abe88e63..3bdc571d12c50 100644 --- a/pkgs/by-name/fu/fuzzylite/package.nix +++ b/pkgs/by-name/fu/fuzzylite/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, useFloat ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + useFloat ? false, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { }; sourceRoot = "${src.name}/fuzzylite"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' substituteInPlace CMakeLists.txt \ diff --git a/pkgs/by-name/fv/fverb/package.nix b/pkgs/by-name/fv/fverb/package.nix index 6d28b8e88bf9c..0c81aeff3df05 100644 --- a/pkgs/by-name/fv/fverb/package.nix +++ b/pkgs/by-name/fv/fverb/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, }: stdenv.mkDerivation rec { @@ -29,6 +31,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/jpcima/fverb"; license = licenses.bsd2; maintainers = [ maintainers.magnetophon ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/fv/fvwm2/package.nix b/pkgs/by-name/fv/fvwm2/package.nix index 5a645c835c01b..2a7919004d5d6 100644 --- a/pkgs/by-name/fv/fvwm2/package.nix +++ b/pkgs/by-name/fv/fvwm2/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cairo -, fontconfig -, freetype -, fribidi -, libXcursor -, libXft -, libXinerama -, libXpm -, libXt -, libpng -, librsvg -, libstroke -, libxslt -, perl -, pkg-config -, python3Packages -, readline -, enableGestures ? false +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cairo, + fontconfig, + freetype, + fribidi, + libXcursor, + libXft, + libXinerama, + libXpm, + libXt, + libpng, + librsvg, + libstroke, + libxslt, + perl, + pkg-config, + python3Packages, + readline, + enableGestures ? false, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fv/fvwm3/package.nix b/pkgs/by-name/fv/fvwm3/package.nix index 613334610316b..93d2fbb32ae08 100644 --- a/pkgs/by-name/fv/fvwm3/package.nix +++ b/pkgs/by-name/fv/fvwm3/package.nix @@ -1,31 +1,32 @@ -{ lib -, asciidoctor -, autoreconfHook -, cairo -, fetchFromGitHub -, fontconfig -, freetype -, fribidi -, libSM -, libX11 -, libXcursor -, libXft -, libXi -, libXinerama -, libXpm -, libXrandr -, libXt -, libevent -, libintl -, libpng -, librsvg -, libxslt -, perl -, pkg-config -, python3Packages -, readline -, sharutils -, stdenv +{ + lib, + asciidoctor, + autoreconfHook, + cairo, + fetchFromGitHub, + fontconfig, + freetype, + fribidi, + libSM, + libX11, + libXcursor, + libXft, + libXi, + libXinerama, + libXpm, + libXrandr, + libXt, + libevent, + libintl, + libpng, + librsvg, + libxslt, + perl, + pkg-config, + python3Packages, + readline, + sharutils, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/fw/fw-ectool/package.nix b/pkgs/by-name/fw/fw-ectool/package.nix index dd24730104f36..bd1bc0bfea98a 100644 --- a/pkgs/by-name/fw/fw-ectool/package.nix +++ b/pkgs/by-name/fw/fw-ectool/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitLab -, cmake -, pkg-config -, libusb1 -, libftdi1 +{ + stdenv, + lib, + fetchFromGitLab, + cmake, + pkg-config, + libusb1, + libftdi1, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/fw/fw/package.nix b/pkgs/by-name/fw/fw/package.nix index 7855747c59996..ddc3b28bf6555 100644 --- a/pkgs/by-name/fw/fw/package.nix +++ b/pkgs/by-name/fw/fw/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -26,13 +27,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { OPENSSL_NO_VENDOR = true; diff --git a/pkgs/by-name/fw/fwanalyzer/package.nix b/pkgs/by-name/fw/fwanalyzer/package.nix index 26fd45fa90eaa..667c558f9693a 100644 --- a/pkgs/by-name/fw/fwanalyzer/package.nix +++ b/pkgs/by-name/fw/fwanalyzer/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, e2tools -, makeWrapper -, mtools +{ + lib, + buildGoModule, + fetchFromGitHub, + e2tools, + makeWrapper, + mtools, }: buildGoModule rec { @@ -24,7 +25,12 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; postInstall = '' - wrapProgram "$out/bin/fwanalyzer" --prefix PATH : "${lib.makeBinPath [ e2tools mtools ]}" + wrapProgram "$out/bin/fwanalyzer" --prefix PATH : "${ + lib.makeBinPath [ + e2tools + mtools + ] + }" ''; # The tests requires an additional setup (unpacking images, etc.) diff --git a/pkgs/by-name/fw/fwupd-efi/package.nix b/pkgs/by-name/fw/fwupd-efi/package.nix index 972f8a9764b58..f1a125ede9db9 100644 --- a/pkgs/by-name/fw/fwupd-efi/package.nix +++ b/pkgs/by-name/fw/fwupd-efi/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, meson -, ninja -, gnu-efi -, python3 -, python3Packages +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + meson, + ninja, + gnu-efi, + python3, + python3Packages, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fx/fx/package.nix b/pkgs/by-name/fx/fx/package.nix index cdd3f7a8f7fb3..85130c463ffaf 100644 --- a/pkgs/by-name/fx/fx/package.nix +++ b/pkgs/by-name/fx/fx/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "fx"; diff --git a/pkgs/by-name/fx/fxlinuxprint/package.nix b/pkgs/by-name/fx/fxlinuxprint/package.nix index 4c64152e6c929..705a4beeba237 100644 --- a/pkgs/by-name/fx/fxlinuxprint/package.nix +++ b/pkgs/by-name/fx/fxlinuxprint/package.nix @@ -1,9 +1,19 @@ -{ stdenv, lib, fetchzip, dpkg, autoPatchelfHook, cups }: +{ + stdenv, + lib, + fetchzip, + dpkg, + autoPatchelfHook, + cups, +}: let debPlatform = - if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" - else if stdenv.hostPlatform.system == "i686-linux" then "i386" - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + if stdenv.hostPlatform.system == "x86_64-linux" then + "amd64" + else if stdenv.hostPlatform.system == "i686-linux" then + "i386" + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation rec { pname = "fxlinuxprint"; @@ -15,7 +25,10 @@ stdenv.mkDerivation rec { sha256 = "1mv07ch6ysk9bknfmjqsgxb803sj6vfin29s9knaqv17jvgyh0n3"; }; - nativeBuildInputs = [ dpkg autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + ]; buildInputs = [ cups ]; sourceRoot = "."; diff --git a/pkgs/by-name/fx/fxlinuxprintutil/package.nix b/pkgs/by-name/fx/fxlinuxprintutil/package.nix index edb2ca73737d8..7d3ddd08ac6e8 100644 --- a/pkgs/by-name/fx/fxlinuxprintutil/package.nix +++ b/pkgs/by-name/fx/fxlinuxprintutil/package.nix @@ -1,9 +1,24 @@ -{ stdenv, lib, fetchzip, substituteAll, dpkg, autoPatchelfHook, cups, tcl, tk, xorg, makeWrapper }: +{ + stdenv, + lib, + fetchzip, + substituteAll, + dpkg, + autoPatchelfHook, + cups, + tcl, + tk, + xorg, + makeWrapper, +}: let debPlatform = - if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" - else if stdenv.hostPlatform.system == "i686-linux" then "i386" - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + if stdenv.hostPlatform.system == "x86_64-linux" then + "amd64" + else if stdenv.hostPlatform.system == "i686-linux" then + "i386" + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation rec { pname = "fxlinuxprintutil"; @@ -32,8 +47,16 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ dpkg autoPatchelfHook makeWrapper ]; - buildInputs = [ cups tcl tk ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + makeWrapper + ]; + buildInputs = [ + cups + tcl + tk + ]; sourceRoot = "."; unpackCmd = "dpkg-deb -x $curSrc/fxlinuxprintutil_${version}_${debPlatform}.deb ."; @@ -46,7 +69,12 @@ stdenv.mkDerivation rec { mv usr/bin $out mv usr/lib $out - wrapProgram $out/bin/fxlputil --prefix PATH : ${lib.makeBinPath [ tcl tk ]} + wrapProgram $out/bin/fxlputil --prefix PATH : ${ + lib.makeBinPath [ + tcl + tk + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/fx/fxload/package.nix b/pkgs/by-name/fx/fxload/package.nix index a4b204b571d45..ec4b890563ab2 100644 --- a/pkgs/by-name/fx/fxload/package.nix +++ b/pkgs/by-name/fx/fxload/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, libusb1 +{ + lib, + stdenv, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fy/fypp/package.nix b/pkgs/by-name/fy/fypp/package.nix index fe6cd3267bbbb..391b1f4db6ead 100644 --- a/pkgs/by-name/fy/fypp/package.nix +++ b/pkgs/by-name/fy/fypp/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3 }: +{ + lib, + fetchFromGitHub, + python3, +}: python3.pkgs.buildPythonApplication rec { pname = "fypp"; diff --git a/pkgs/by-name/fz/fzf-git-sh/package.nix b/pkgs/by-name/fz/fzf-git-sh/package.nix index e9cda521fb1db..1494216f03e4b 100644 --- a/pkgs/by-name/fz/fzf-git-sh/package.nix +++ b/pkgs/by-name/fz/fzf-git-sh/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, bash -, bat -, coreutils -, fetchFromGitHub -, findutils -, fzf -, gawk -, git -, gnugrep -, gnused -, tmux -, util-linux -, xdg-utils +{ + stdenv, + lib, + bash, + bat, + coreutils, + fetchFromGitHub, + findutils, + fzf, + gawk, + git, + gnugrep, + gnused, + tmux, + util-linux, + xdg-utils, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/fz/fzf-obc/package.nix b/pkgs/by-name/fz/fzf-obc/package.nix index 7621ae8c73c0a..549b0d752c2f5 100644 --- a/pkgs/by-name/fz/fzf-obc/package.nix +++ b/pkgs/by-name/fz/fzf-obc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fzf-obc"; diff --git a/pkgs/by-name/fz/fzf-zsh/package.nix b/pkgs/by-name/fz/fzf-zsh/package.nix index 089a443a8237b..1e8dc13d1e259 100644 --- a/pkgs/by-name/fz/fzf-zsh/package.nix +++ b/pkgs/by-name/fz/fzf-zsh/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fzf }: +{ + lib, + stdenv, + fetchFromGitHub, + fzf, +}: stdenv.mkDerivation rec { pname = "fzf-zsh-unstable"; diff --git a/pkgs/by-name/fz/fzy/package.nix b/pkgs/by-name/fz/fzy/package.nix index ea78b6c963d4d..98842aa0cb977 100644 --- a/pkgs/by-name/fz/fzy/package.nix +++ b/pkgs/by-name/fz/fzy/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "fzy"; diff --git a/pkgs/by-name/g-/g-wrap/package.nix b/pkgs/by-name/g-/g-wrap/package.nix index 83028d8fb2e24..4648d800fecb8 100644 --- a/pkgs/by-name/g-/g-wrap/package.nix +++ b/pkgs/by-name/g-/g-wrap/package.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, guile, guile-lib, libffi, pkg-config, glib }: +{ + fetchurl, + lib, + stdenv, + guile, + guile-lib, + libffi, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "g-wrap"; @@ -13,7 +22,11 @@ stdenv.mkDerivation rec { # Note: Glib support is optional, but it's quite useful (e.g., it's used by # Guile-GNOME). - buildInputs = [ guile glib guile-lib ]; + buildInputs = [ + guile + glib + guile-lib + ]; propagatedBuildInputs = [ libffi ]; diff --git a/pkgs/by-name/g1/g15daemon/package.nix b/pkgs/by-name/g1/g15daemon/package.nix index 528b5e0993f54..cb415da29743f 100644 --- a/pkgs/by-name/g1/g15daemon/package.nix +++ b/pkgs/by-name/g1/g15daemon/package.nix @@ -1,16 +1,23 @@ -{ stdenv -, lib -, fetchurl -, libusb-compat-0_1 +{ + stdenv, + lib, + fetchurl, + libusb-compat-0_1, }: let license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ peterhoeg ]; - g15src = { pname, version, sha256 }: fetchurl { - url = "mirror://sourceforge/g15tools/${pname}/${version}/${pname}-${version}.tar.bz2"; - inherit sha256; - }; + g15src = + { + pname, + version, + sha256, + }: + fetchurl { + url = "mirror://sourceforge/g15tools/${pname}/${version}/${pname}-${version}.tar.bz2"; + inherit sha256; + }; libg15 = stdenv.mkDerivation rec { pname = "libg15"; @@ -59,13 +66,16 @@ stdenv.mkDerivation rec { sha256 = "1613gsp5dgilwbshqxxhiyw73ksngnam7n1iw6yxdjkp9fyd2a3d"; }; - patches = let - patch = fname: sha256: fetchurl rec { - url = "https://raw.githubusercontent.com/archlinux/svntogit-community/c0b0b6d4d6d7b79eca68123b20e0c9fb82e1c6e1/g15daemon/trunk/${pname}-${version}-${fname}.patch"; - name = "${fname}.patch"; - inherit sha256; - }; - in + patches = + let + patch = + fname: sha256: + fetchurl rec { + url = "https://raw.githubusercontent.com/archlinux/svntogit-community/c0b0b6d4d6d7b79eca68123b20e0c9fb82e1c6e1/g15daemon/trunk/${pname}-${version}-${fname}.patch"; + name = "${fname}.patch"; + inherit sha256; + }; + in [ (patch "uinput" "1misfff7a1vg0qgfk3n25y7drnm86a4gq96iflpcwr5x3lw7q0h7") (patch "config-write" "0jkrbqvzqrvxr14h5qi17cb4d32caq7vw9kzlz3qwpxdgxjrjvy2") @@ -73,7 +83,10 @@ stdenv.mkDerivation rec { ./pid_location.patch ]; - buildInputs = [ libg15 libg15render ]; + buildInputs = [ + libg15 + libg15render + ]; # Workaround build failure on -fno-common toolchains like upstream gcc-10: # ld: g15_plugins.o:/build/g15daemon-1.9.5.3/g15daemon/./g15daemon.h:218: diff --git a/pkgs/by-name/g2/g203-led/package.nix b/pkgs/by-name/g2/g203-led/package.nix index f2db4f58d5918..9cc6a5f9adc92 100644 --- a/pkgs/by-name/g2/g203-led/package.nix +++ b/pkgs/by-name/g2/g203-led/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: stdenv.mkDerivation rec { pname = "g203-led"; @@ -13,9 +15,11 @@ stdenv.mkDerivation rec { }; buildInputs = [ - (python3.withPackages (ps: with ps; [ - pyusb - ])) + (python3.withPackages ( + ps: with ps; [ + pyusb + ] + )) ]; postPatch = '' diff --git a/pkgs/by-name/g3/g3kb-switch/package.nix b/pkgs/by-name/g3/g3kb-switch/package.nix index 49ccd04573dad..d6851ceb9004f 100644 --- a/pkgs/by-name/g3/g3kb-switch/package.nix +++ b/pkgs/by-name/g3/g3kb-switch/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, cmake -, pkg-config -, glib -, fetchFromGitHub +{ + lib, + stdenv, + cmake, + pkg-config, + glib, + fetchFromGitHub, }: stdenv.mkDerivation rec { pname = "g3kb-switch"; diff --git a/pkgs/by-name/g8/g810-led/package.nix b/pkgs/by-name/g8/g810-led/package.nix index 5f1c7e1fdae1d..94bf6df4bd937 100644 --- a/pkgs/by-name/g8/g810-led/package.nix +++ b/pkgs/by-name/g8/g810-led/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, hidapi -, profile ? "/etc/g810-led/profile" +{ + lib, + stdenv, + fetchFromGitHub, + hidapi, + profile ? "/etc/g810-led/profile", }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/g9/g933-utils/package.nix b/pkgs/by-name/g9/g933-utils/package.nix index 7817f0b41695c..0d19b3b3382c5 100644 --- a/pkgs/by-name/g9/g933-utils/package.nix +++ b/pkgs/by-name/g9/g933-utils/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, udev, pkg-config }: +{ + lib, + fetchFromGitHub, + rustPlatform, + udev, + pkg-config, +}: rustPlatform.buildRustPackage rec { pname = "g933-utils"; diff --git a/pkgs/by-name/ga/gabutdm/package.nix b/pkgs/by-name/ga/gabutdm/package.nix index 9c2e57eb119eb..1744c4f01aa51 100644 --- a/pkgs/by-name/ga/gabutdm/package.nix +++ b/pkgs/by-name/ga/gabutdm/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, pkg-config -, ninja -, vala -, wrapGAppsHook4 -, desktop-file-utils -, sqlite -, libcanberra -, libsoup_3 -, libgee -, json-glib -, qrencode -, curl -, libadwaita -, aria2 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, + vala, + wrapGAppsHook4, + desktop-file-utils, + sqlite, + libcanberra, + libsoup_3, + libgee, + json-glib, + qrencode, + curl, + libadwaita, + aria2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ga/galario/package.nix b/pkgs/by-name/ga/galario/package.nix index d601722efab4e..6abfa0fe519ef 100644 --- a/pkgs/by-name/ga/galario/package.nix +++ b/pkgs/by-name/ga/galario/package.nix @@ -19,7 +19,7 @@ let hash = "sha256-ggMcgKfpYHWWgyYY84u4Q79IGCVTVkmIMw+N/soapfk="; }; in -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "galario"; version = "1.2.2"; diff --git a/pkgs/by-name/ga/galatia-sil/package.nix b/pkgs/by-name/ga/galatia-sil/package.nix index 70881399d593e..f686c6023b1a3 100644 --- a/pkgs/by-name/ga/galatia-sil/package.nix +++ b/pkgs/by-name/ga/galatia-sil/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "galatia-sil"; diff --git a/pkgs/by-name/ga/galaxis/package.nix b/pkgs/by-name/ga/galaxis/package.nix index 788a7453e20ff..6ec0c87fe8149 100644 --- a/pkgs/by-name/ga/galaxis/package.nix +++ b/pkgs/by-name/ga/galaxis/package.nix @@ -1,8 +1,9 @@ -{ lib -, asciidoctor -, fetchFromGitLab -, ncurses -, stdenv +{ + lib, + asciidoctor, + fetchFromGitLab, + ncurses, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-fSzifGoSdWyFGt99slzAsqCMDoeLbBqQGXujX8QAfGc="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ asciidoctor diff --git a/pkgs/by-name/ga/galen/package.nix b/pkgs/by-name/ga/galen/package.nix index 581a6f99374e0..863f8a77636db 100644 --- a/pkgs/by-name/ga/galen/package.nix +++ b/pkgs/by-name/ga/galen/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre8, unzip }: +{ + lib, + stdenv, + fetchurl, + jre8, + unzip, +}: stdenv.mkDerivation rec { pname = "galen"; @@ -14,13 +20,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; buildPhase = '' - mkdir -p $out/bin + mkdir -p $out/bin ''; installPhase = '' - cat galen | sed -e "s,java,$jre8/bin/java," > $out/bin/galen - chmod +x $out/bin/galen - cp galen.jar $out/bin + cat galen | sed -e "s,java,$jre8/bin/java," > $out/bin/galen + chmod +x $out/bin/galen + cp galen.jar $out/bin ''; meta = with lib; { diff --git a/pkgs/by-name/ga/galer/package.nix b/pkgs/by-name/ga/galer/package.nix index 69012a2519a41..e433793a657d5 100644 --- a/pkgs/by-name/ga/galer/package.nix +++ b/pkgs/by-name/ga/galer/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ga/galerio/package.nix b/pkgs/by-name/ga/galerio/package.nix index aa1075f81a758..1801ebd412b51 100644 --- a/pkgs/by-name/ga/galerio/package.nix +++ b/pkgs/by-name/ga/galerio/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "galerio"; @@ -17,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = " A simple generator for self-contained HTML flexbox galleries"; homepage = "https://github.com/dbrgn/galerio"; maintainers = with maintainers; [ dbrgn ]; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; mainProgram = "galerio"; }; } diff --git a/pkgs/by-name/ga/galleta/package.nix b/pkgs/by-name/ga/galleta/package.nix index 651a8eafa3266..88d584b5d101c 100644 --- a/pkgs/by-name/ga/galleta/package.nix +++ b/pkgs/by-name/ga/galleta/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, fetchpatch +{ + lib, + stdenv, + fetchzip, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ga/gam/package.nix b/pkgs/by-name/ga/gam/package.nix index 795256d218901..f34e21d313f76 100644 --- a/pkgs/by-name/ga/gam/package.nix +++ b/pkgs/by-name/ga/gam/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -40,7 +41,7 @@ python3.pkgs.buildPythonApplication rec { # at build time and then single quotes the vars in the wrapper, thus they # wouldn't get expanded. But using --run allows setting default vars that are # evaluated on run and not during build time. - makeWrapperArgs = [ + makeWrapperArgs = [ ''--run 'export GAMUSERCONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' '' ''--run 'export GAMSITECONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' '' ''--run 'export GAMCACHEDIR="''${XDG_CACHE_HOME:-$HOME/.cache}/gam"' '' diff --git a/pkgs/by-name/ga/gama/package.nix b/pkgs/by-name/ga/gama/package.nix index a27978052a093..8c98729e5065a 100644 --- a/pkgs/by-name/ga/gama/package.nix +++ b/pkgs/by-name/ga/gama/package.nix @@ -1,4 +1,13 @@ -{ stdenv, fetchurl, lib, expat, octave, libxml2, texinfo, zip }: +{ + stdenv, + fetchurl, + lib, + expat, + octave, + libxml2, + texinfo, + zip, +}: stdenv.mkDerivation rec { pname = "gama"; version = "2.28"; @@ -10,14 +19,20 @@ stdenv.mkDerivation rec { buildInputs = [ expat ]; - nativeBuildInputs = [ texinfo zip ]; + nativeBuildInputs = [ + texinfo + zip + ]; env.CXXFLAGS = lib.optionalString stdenv.cc.isClang "-include sstream"; - nativeCheckInputs = [ octave libxml2 ]; + nativeCheckInputs = [ + octave + libxml2 + ]; doCheck = true; - meta = with lib ; { + meta = with lib; { description = "Tools for adjustment of geodetic networks"; homepage = "https://www.gnu.org/software/gama/"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/ga/gambit-chess/package.nix b/pkgs/by-name/ga/gambit-chess/package.nix index 90e23e9820c68..8a34852766253 100644 --- a/pkgs/by-name/ga/gambit-chess/package.nix +++ b/pkgs/by-name/ga/gambit-chess/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, gambit-chess +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + gambit-chess, }: buildGoModule rec { diff --git a/pkgs/by-name/ga/gambit-project/package.nix b/pkgs/by-name/ga/gambit-project/package.nix index 1c254e0251906..d917feaa72f5b 100644 --- a/pkgs/by-name/ga/gambit-project/package.nix +++ b/pkgs/by-name/ga/gambit-project/package.nix @@ -1,10 +1,11 @@ -{ lib -, autoreconfHook -, fetchFromGitHub -, stdenv -, wxGTK31 -, darwin -, withGui ? true +{ + lib, + autoreconfHook, + fetchFromGitHub, + stdenv, + wxGTK31, + darwin, + withGui ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -18,9 +19,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OuI2DA/5CLgHqcHwOGUE9IdrnyjlGKy8B7tWueUfUtg="; }; - nativeBuildInputs = - [ autoreconfHook ] - ++ lib.optional withGui wxGTK31; + nativeBuildInputs = [ autoreconfHook ] ++ lib.optional withGui wxGTK31; buildInputs = lib.optional withGui wxGTK31 diff --git a/pkgs/by-name/ga/game-devices-udev-rules/package.nix b/pkgs/by-name/ga/game-devices-udev-rules/package.nix index ca2ef7a4498e5..f4b50120ef208 100644 --- a/pkgs/by-name/ga/game-devices-udev-rules/package.nix +++ b/pkgs/by-name/ga/game-devices-udev-rules/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitea -, bash +{ + lib, + stdenv, + fetchFromGitea, + bash, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ga/game-music-emu/package.nix b/pkgs/by-name/ga/game-music-emu/package.nix index 4935381713b73..ee1f18715f39b 100644 --- a/pkgs/by-name/ga/game-music-emu/package.nix +++ b/pkgs/by-name/ga/game-music-emu/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, removeReferencesTo, zlib }: +{ + lib, + stdenv, + fetchurl, + cmake, + removeReferencesTo, + zlib, +}: stdenv.mkDerivation rec { version = "0.6.3"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb"; }; cmakeFlags = [ "-DENABLE_UBSAN=OFF" ]; - nativeBuildInputs = [ cmake removeReferencesTo ]; + nativeBuildInputs = [ + cmake + removeReferencesTo + ]; buildInputs = [ zlib ]; # It used to reference it, in the past, but thanks to the postFixup hook, now diff --git a/pkgs/by-name/ga/game-rs/package.nix b/pkgs/by-name/ga/game-rs/package.nix index 40c66d6f8c71f..d4cc3b2aa8eb8 100644 --- a/pkgs/by-name/ga/game-rs/package.nix +++ b/pkgs/by-name/ga/game-rs/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, steam-run +{ + lib, + rustPlatform, + fetchFromGitHub, + steam-run, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ga/gamecube-tools/package.nix b/pkgs/by-name/ga/gamecube-tools/package.nix index 9b854d3671e5b..edf3e5b21684d 100644 --- a/pkgs/by-name/ga/gamecube-tools/package.nix +++ b/pkgs/by-name/ga/gamecube-tools/package.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, freeimage, libGL }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + freeimage, + libGL, +}: stdenv.mkDerivation rec { version = "1.0.6"; pname = "gamecube-tools"; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ freeimage libGL ]; + buildInputs = [ + freeimage + libGL + ]; src = fetchFromGitHub { owner = "devkitPro"; - repo = "gamecube-tools"; + repo = "gamecube-tools"; rev = "v${version}"; sha256 = "sha256-GsTmwyxBc36Qg+UGy+cRAjGW1eh1XxV0s94B14ZJAjU="; }; diff --git a/pkgs/by-name/ga/gamehub/package.nix b/pkgs/by-name/ga/gamehub/package.nix index 731a8678f2cf9..4581585e4173f 100644 --- a/pkgs/by-name/ga/gamehub/package.nix +++ b/pkgs/by-name/ga/gamehub/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, vala -, pkg-config -, desktop-file-utils -, glib -, gtk3 -, glib-networking -, libgee -, libsoup_2_4 -, json-glib -, sqlite -, webkitgtk_4_0 -, libmanette -, libXtst -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + vala, + pkg-config, + desktop-file-utils, + glib, + gtk3, + glib-networking, + libgee, + libsoup_2_4, + json-glib, + sqlite, + webkitgtk_4_0, + libmanette, + libXtst, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ga/gamepad-tool/package.nix b/pkgs/by-name/ga/gamepad-tool/package.nix index f01951c4b7cbd..c436f9e79a4cf 100644 --- a/pkgs/by-name/ga/gamepad-tool/package.nix +++ b/pkgs/by-name/ga/gamepad-tool/package.nix @@ -1,4 +1,12 @@ -{ stdenvNoCC, fetchurl, dpkg, lib, qt5, autoPatchelfHook, SDL2 }: +{ + stdenvNoCC, + fetchurl, + dpkg, + lib, + qt5, + autoPatchelfHook, + SDL2, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "gamepad-tool"; @@ -9,7 +17,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-ZuB0TOyT2B5QkU1o5h3/8PL85tBq06hlz5YclRanD88="; }; - nativeBuildInputs = [ dpkg qt5.wrapQtAppsHook autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + qt5.wrapQtAppsHook + autoPatchelfHook + ]; dontBuild = true; diff --git a/pkgs/by-name/ga/gamescope/package.nix b/pkgs/by-name/ga/gamescope/package.nix index 7f57c8ba62102..f03a165109d04 100644 --- a/pkgs/by-name/ga/gamescope/package.nix +++ b/pkgs/by-name/ga/gamescope/package.nix @@ -1,40 +1,41 @@ -{ stdenv -, buildPackages -, edid-decode -, fetchFromGitHub -, meson -, pkg-config -, ninja -, cmake -, xorg -, libdrm -, libei -, vulkan-loader -, vulkan-headers -, wayland -, wayland-protocols -, wayland-scanner -, libxkbcommon -, glm -, gbenchmark -, libcap -, libavif -, SDL2 -, pipewire -, pixman -, python3 -, libinput -, glslang -, hwdata -, stb -, wlroots -, libdecor -, lcms -, lib -, makeBinaryWrapper -, nix-update-script -, enableExecutable ? true -, enableWsi ? true +{ + stdenv, + buildPackages, + edid-decode, + fetchFromGitHub, + meson, + pkg-config, + ninja, + cmake, + xorg, + libdrm, + libei, + vulkan-loader, + vulkan-headers, + wayland, + wayland-protocols, + wayland-scanner, + libxkbcommon, + glm, + gbenchmark, + libcap, + libavif, + SDL2, + pipewire, + pixman, + python3, + libinput, + glslang, + hwdata, + stb, + wlroots, + libdecor, + lcms, + lib, + makeBinaryWrapper, + nix-update-script, + enableExecutable ? true, + enableWsi ? true, }: let joshShaders = fetchFromGitHub { @@ -79,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: { ]; # don't install vendored vkroots etc - mesonInstallFlags = ["--skip-subprojects"]; + mesonInstallFlags = [ "--skip-subprojects" ]; strictDeps = true; @@ -87,59 +88,68 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - meson - pkg-config - ninja - wayland-scanner - # For `libdisplay-info` - python3 - hwdata - edid-decode - # For OpenVR - cmake + nativeBuildInputs = + [ + meson + pkg-config + ninja + wayland-scanner + # For `libdisplay-info` + python3 + hwdata + edid-decode + # For OpenVR + cmake - # calls git describe to encode its own version into the build - (buildPackages.writeShellScriptBin "git" "echo ${finalAttrs.version}") - ] ++ lib.optionals enableExecutable [ - makeBinaryWrapper - glslang - ]; + # calls git describe to encode its own version into the build + (buildPackages.writeShellScriptBin "git" "echo ${finalAttrs.version}") + ] + ++ lib.optionals enableExecutable [ + makeBinaryWrapper + glslang + ]; - buildInputs = [ - pipewire - hwdata - xorg.libX11 - wayland - wayland-protocols - vulkan-loader - glm - ] ++ lib.optionals enableWsi [ - vulkan-headers - ] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch - xorg.libXcomposite - xorg.libXcursor - xorg.libXdamage - xorg.libXext - xorg.libXi - xorg.libXmu - xorg.libXrender - xorg.libXres - xorg.libXtst - xorg.libXxf86vm - libavif - libdrm - libei - SDL2 - libdecor - libinput - libxkbcommon - gbenchmark - pixman - libcap - stb - lcms - ]); + buildInputs = + [ + pipewire + hwdata + xorg.libX11 + wayland + wayland-protocols + vulkan-loader + glm + ] + ++ lib.optionals enableWsi [ + vulkan-headers + ] + ++ lib.optionals enableExecutable ( + wlroots.buildInputs + ++ [ + # gamescope uses a custom wlroots branch + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXi + xorg.libXmu + xorg.libXrender + xorg.libXres + xorg.libXtst + xorg.libXxf86vm + libavif + libdrm + libei + SDL2 + libdecor + libinput + libxkbcommon + gbenchmark + pixman + libcap + stb + lcms + ] + ); postInstall = lib.optionalString enableExecutable '' # using patchelf unstable because the stable version corrupts the binary @@ -148,20 +158,32 @@ stdenv.mkDerivation (finalAttrs: { # --debug-layers flag expects these in the path wrapProgram "$out/bin/gamescope" \ - --prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]} + --prefix PATH : ${ + with xorg; + lib.makeBinPath [ + xprop + xwininfo + ] + } # Install ReShade shaders mkdir -p $out/share/gamescope/reshade cp -r ${joshShaders}/* $out/share/gamescope/reshade/ ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "SteamOS session compositing window manager"; homepage = "https://github.com/ValveSoftware/gamescope"; license = licenses.bsd2; - maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ]; + maintainers = with maintainers; [ + nrdxp + pedrohlc + Scrumplex + zhaofengli + k900 + ]; platforms = platforms.linux; mainProgram = "gamescope"; }; diff --git a/pkgs/by-name/ga/gamja/package.nix b/pkgs/by-name/ga/gamja/package.nix index eab836a6756ea..e9b9fae017ebf 100644 --- a/pkgs/by-name/ga/gamja/package.nix +++ b/pkgs/by-name/ga/gamja/package.nix @@ -23,7 +23,9 @@ buildNpmPackage rec { runHook preInstall cp -r dist $out - ${lib.optionalString (gamjaConfig != null) "cp ${writeText "gamja-config" (builtins.toJSON gamjaConfig)} $out/config.json"} + ${lib.optionalString ( + gamjaConfig != null + ) "cp ${writeText "gamja-config" (builtins.toJSON gamjaConfig)} $out/config.json"} runHook postInstall ''; @@ -32,6 +34,9 @@ buildNpmPackage rec { description = "Simple IRC web client"; homepage = "https://git.sr.ht/~emersion/gamja"; license = licenses.agpl3Only; - maintainers = with maintainers; [motiejus apfelkuchen6]; + maintainers = with maintainers; [ + motiejus + apfelkuchen6 + ]; }; } diff --git a/pkgs/by-name/ga/gammu/package.nix b/pkgs/by-name/ga/gammu/package.nix index 78d5e010213cf..95e28f821cd97 100644 --- a/pkgs/by-name/ga/gammu/package.nix +++ b/pkgs/by-name/ga/gammu/package.nix @@ -1,7 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, pkg-config, cmake, bluez, libusb1, curl -, libiconv, gettext, sqlite, bash, dialog -, dbiSupport ? false, libdbi ? null, libdbiDrivers ? null -, postgresSupport ? false, postgresql ? null +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + pkg-config, + cmake, + bluez, + libusb1, + curl, + libiconv, + gettext, + sqlite, + bash, + dialog, + dbiSupport ? false, + libdbi ? null, + libdbiDrivers ? null, + postgresSupport ? false, + postgresql ? null, }: stdenv.mkDerivation rec { @@ -24,13 +40,28 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; strictDeps = true; - buildInputs = [ bash bluez libusb1 curl gettext sqlite libiconv ] - ++ lib.optionals dbiSupport [ libdbi libdbiDrivers ] - ++ lib.optionals postgresSupport [ postgresql ]; + buildInputs = + [ + bash + bluez + libusb1 + curl + gettext + sqlite + libiconv + ] + ++ lib.optionals dbiSupport [ + libdbi + libdbiDrivers + ] + ++ lib.optionals postgresSupport [ postgresql ]; meta = with lib; { homepage = "https://wammu.eu/gammu/"; diff --git a/pkgs/by-name/ga/gandom-fonts/package.nix b/pkgs/by-name/ga/gandom-fonts/package.nix index 5d128448f1c79..13c9fe1b40abf 100644 --- a/pkgs/by-name/ga/gandom-fonts/package.nix +++ b/pkgs/by-name/ga/gandom-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "gandom-fonts"; diff --git a/pkgs/by-name/ga/gapless/package.nix b/pkgs/by-name/ga/gapless/package.nix index c9b0c0e587383..f1b52de083f93 100644 --- a/pkgs/by-name/ga/gapless/package.nix +++ b/pkgs/by-name/ga/gapless/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitLab -, desktop-file-utils -, gitUpdater -, gobject-introspection -, gst_all_1 -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitLab, + desktop-file-utils, + gitUpdater, + gobject-introspection, + gst_all_1, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { pname = "gapless"; @@ -35,15 +36,17 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook4 ]; - buildInputs = [ - gtk4 - libadwaita - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer - ]); + buildInputs = + [ + gtk4 + libadwaita + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + ]); passthru.updateScript = gitUpdater { rev-prefix = "v"; diff --git a/pkgs/by-name/ga/gappa/package.nix b/pkgs/by-name/ga/gappa/package.nix index 2eb8567aaa4ce..b13011605e507 100644 --- a/pkgs/by-name/ga/gappa/package.nix +++ b/pkgs/by-name/ga/gappa/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, gmp, mpfr, boost }: +{ + lib, + stdenv, + fetchurl, + gmp, + mpfr, + boost, +}: stdenv.mkDerivation rec { pname = "gappa"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "12x42z901pr05ldmparqdi8sq9s7fxbavhzk2dbq3l6hy247dwbb"; }; - buildInputs = [ gmp mpfr boost.dev ]; + buildInputs = [ + gmp + mpfr + boost.dev + ]; buildPhase = "./remake"; installPhase = "./remake install"; @@ -18,7 +29,10 @@ stdenv.mkDerivation rec { homepage = "http://gappa.gforge.inria.fr/"; description = "Verifying and formally proving properties on numerical programs dealing with floating-point or fixed-point arithmetic"; mainProgram = "gappa"; - license = with lib.licenses; [ cecill20 gpl2 ]; + license = with lib.licenses; [ + cecill20 + gpl2 + ]; maintainers = with lib.maintainers; [ vbgl ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/ga/garamond-libre/package.nix b/pkgs/by-name/ga/garamond-libre/package.nix index bd16afaf1895b..68b66f90fee2e 100644 --- a/pkgs/by-name/ga/garamond-libre/package.nix +++ b/pkgs/by-name/ga/garamond-libre/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "garamond-libre"; diff --git a/pkgs/by-name/ga/gargoyle/package.nix b/pkgs/by-name/ga/gargoyle/package.nix index d7863361b8461..f4bc572b513db 100644 --- a/pkgs/by-name/ga/gargoyle/package.nix +++ b/pkgs/by-name/ga/gargoyle/package.nix @@ -1,21 +1,41 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, jam, cctools, pkg-config -, SDL, SDL_mixer, SDL_sound, gtk2, libvorbis, smpeg }: +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + jam, + cctools, + pkg-config, + SDL, + SDL_mixer, + SDL_sound, + gtk2, + libvorbis, + smpeg, +}: let - jamenv = '' - unset AR - '' + (if stdenv.hostPlatform.isDarwin then '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${lib.getDev SDL}/include/SDL" - export GARGLKINI="$out/Applications/Gargoyle.app/Contents/Resources/garglk.ini" - '' else '' - export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/libexec/gargoyle" - export DESTDIR="$out" - export _BINDIR=libexec/gargoyle - export _APPDIR=libexec/gargoyle - export _LIBDIR=libexec/gargoyle - export GARGLKINI="$out/etc/garglk.ini" - ''); + jamenv = + '' + unset AR + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${lib.getDev SDL}/include/SDL" + export GARGLKINI="$out/Applications/Gargoyle.app/Contents/Resources/garglk.ini" + '' + else + '' + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/libexec/gargoyle" + export DESTDIR="$out" + export _BINDIR=libexec/gargoyle + export _APPDIR=libexec/gargoyle + export _LIBDIR=libexec/gargoyle + export GARGLKINI="$out/etc/garglk.ini" + '' + ); in @@ -30,10 +50,22 @@ stdenv.mkDerivation rec { sha256 = "0w54avmbp4i4zps2rb4acmpa641s6wvwbrln4vbdhcz97fx48nzz"; }; - nativeBuildInputs = [ jam pkg-config ] ++ lib.optional stdenv.hostPlatform.isDarwin cctools; + nativeBuildInputs = [ + jam + pkg-config + ] ++ lib.optional stdenv.hostPlatform.isDarwin cctools; - buildInputs = [ SDL SDL_mixer SDL_sound gtk2 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ smpeg libvorbis ]; + buildInputs = + [ + SDL + SDL_mixer + SDL_sound + gtk2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + smpeg + libvorbis + ]; # Workaround build failure on -fno-common toolchains: # ld: build/linux.release/alan3/Location.o:(.bss+0x0): multiple definition of @@ -44,23 +76,25 @@ stdenv.mkDerivation rec { buildPhase = jamenv + "jam -j$NIX_BUILD_CORES"; installPhase = - if stdenv.hostPlatform.isDarwin then - (substituteAll { - inherit (stdenv) shell; - isExecutable = true; - src = ./darwin.sh; - }) - else jamenv + '' - jam -j$NIX_BUILD_CORES install - mkdir -p "$out/bin" - ln -s ../libexec/gargoyle/gargoyle "$out/bin" - mkdir -p "$out/etc" - cp garglk/garglk.ini "$out/etc" - mkdir -p "$out/share/applications" - cp garglk/gargoyle.desktop "$out/share/applications" - mkdir -p "$out/share/icons/hicolor/32x32/apps" - cp garglk/gargoyle-house.png "$out/share/icons/hicolor/32x32/apps" - ''; + if stdenv.hostPlatform.isDarwin then + (substituteAll { + inherit (stdenv) shell; + isExecutable = true; + src = ./darwin.sh; + }) + else + jamenv + + '' + jam -j$NIX_BUILD_CORES install + mkdir -p "$out/bin" + ln -s ../libexec/gargoyle/gargoyle "$out/bin" + mkdir -p "$out/etc" + cp garglk/garglk.ini "$out/etc" + mkdir -p "$out/share/applications" + cp garglk/gargoyle.desktop "$out/share/applications" + mkdir -p "$out/share/icons/hicolor/32x32/apps" + cp garglk/gargoyle-house.png "$out/share/icons/hicolor/32x32/apps" + ''; enableParallelBuilding = true; diff --git a/pkgs/by-name/ga/garmintools/package.nix b/pkgs/by-name/ga/garmintools/package.nix index 2c5740692f4b8..34dddd4a60c33 100644 --- a/pkgs/by-name/ga/garmintools/package.nix +++ b/pkgs/by-name/ga/garmintools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libusb-compat-0_1 }: +{ + lib, + stdenv, + fetchurl, + libusb-compat-0_1, +}: stdenv.mkDerivation rec { pname = "garmintools"; version = "0.10"; diff --git a/pkgs/by-name/ga/gash-utils/package.nix b/pkgs/by-name/ga/gash-utils/package.nix index bea8d6730e77e..0719eb8aa6822 100644 --- a/pkgs/by-name/ga/gash-utils/package.nix +++ b/pkgs/by-name/ga/gash-utils/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, guile -, makeWrapper -, pkg-config -, gash +{ + lib, + stdenv, + fetchurl, + guile, + makeWrapper, + pkg-config, + gash, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ga/gash/package.nix b/pkgs/by-name/ga/gash/package.nix index cd6136dbc90f4..199c9f1a02434 100644 --- a/pkgs/by-name/ga/gash/package.nix +++ b/pkgs/by-name/ga/gash/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, guile -, pkg-config +{ + lib, + stdenv, + fetchurl, + guile, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ga/gate/package.nix b/pkgs/by-name/ga/gate/package.nix index bd91e2bf7864f..29b116c4a4bc5 100644 --- a/pkgs/by-name/ga/gate/package.nix +++ b/pkgs/by-name/ga/gate/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: let @@ -19,7 +20,10 @@ buildGoModule { vendorHash = "sha256-5s96L9KWeiS//21mQMn8ka82Uk4rMbq/8I+l67HTSA8="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = { description = "High-Performance, Low-Memory, Lightweight, Extensible Minecraft Reverse Proxy"; @@ -34,4 +38,3 @@ buildGoModule { mainProgram = "gate"; }; } - diff --git a/pkgs/by-name/ga/gatekeeper/package.nix b/pkgs/by-name/ga/gatekeeper/package.nix index 2b8ef8c1f1766..2653cb2cd747b 100644 --- a/pkgs/by-name/ga/gatekeeper/package.nix +++ b/pkgs/by-name/ga/gatekeeper/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ga/gatk/package.nix b/pkgs/by-name/ga/gatk/package.nix index 711e9e94010a7..b130f3c84a39a 100644 --- a/pkgs/by-name/ga/gatk/package.nix +++ b/pkgs/by-name/ga/gatk/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, jre, makeWrapper, python3 }: +{ + lib, + stdenv, + fetchzip, + jre, + makeWrapper, + python3, +}: stdenv.mkDerivation rec { pname = "gatk"; @@ -25,9 +32,9 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gatk.broadinstitute.org/hc/en-us"; - description = "Wide variety of tools with a primary focus on variant discovery and genotyping." ; + description = "Wide variety of tools with a primary focus on variant discovery and genotyping."; license = licenses.asl20; - sourceProvenance = with lib.sourceTypes; [ binaryBytecode ] ; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; maintainers = with maintainers; [ apraga ]; longDescription = '' The GATK is the industry standard for identifying SNPs and indels in germline diff --git a/pkgs/by-name/ga/gatling/package.nix b/pkgs/by-name/ga/gatling/package.nix index 5255010177af5..1a3e2a2e4f29d 100644 --- a/pkgs/by-name/ga/gatling/package.nix +++ b/pkgs/by-name/ga/gatling/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, libowfat, libcap, zlib, openssl, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + libowfat, + libcap, + zlib, + openssl, + libxcrypt, +}: let version = "0.16"; @@ -12,7 +21,13 @@ stdenv.mkDerivation rec { sha256 = "0nrnws5qrl4frqcsfa9z973vv5mifgr9z170qbvg3mq1wa7475jz"; }; - buildInputs = [ libowfat libcap zlib openssl libxcrypt ]; + buildInputs = [ + libowfat + libcap + zlib + openssl + libxcrypt + ]; configurePhase = '' substituteInPlace Makefile --replace "/usr/local" "$out" diff --git a/pkgs/by-name/ga/gato/package.nix b/pkgs/by-name/ga/gato/package.nix index 56fb02908f667..ec74ec1672ff6 100644 --- a/pkgs/by-name/ga/gato/package.nix +++ b/pkgs/by-name/ga/gato/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, git -, fetchFromGitHub +{ + lib, + python3, + git, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ga/gav/package.nix b/pkgs/by-name/ga/gav/package.nix index 23f1fe7854b45..00793115b7864 100644 --- a/pkgs/by-name/ga/gav/package.nix +++ b/pkgs/by-name/ga/gav/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer, SDL_net} : +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_image, + SDL_mixer, + SDL_net, +}: stdenv.mkDerivation rec { pname = "gav"; @@ -16,7 +24,12 @@ stdenv.mkDerivation rec { ''; patches = [ ./gcc.patch ]; - buildInputs = [SDL SDL_image SDL_mixer SDL_net]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + SDL_net + ]; meta = { description = "Remake of AV Arcade Volleyball"; diff --git a/pkgs/by-name/ga/gavin-bc/package.nix b/pkgs/by-name/ga/gavin-bc/package.nix index 58c9ce61033d2..5dba74350bf89 100644 --- a/pkgs/by-name/ga/gavin-bc/package.nix +++ b/pkgs/by-name/ga/gavin-bc/package.nix @@ -1,14 +1,25 @@ -{ lib -, stdenv -, fetchFromGitea -, editline -, readline -, historyType ? "internal" -, predefinedBuildType ? "BSD" +{ + lib, + stdenv, + fetchFromGitea, + editline, + readline, + historyType ? "internal", + predefinedBuildType ? "BSD", }: -assert lib.elem historyType [ "editline" "readline" "internal" ]; -assert lib.elem predefinedBuildType [ "BSD" "GNU" "GDH" "DBG" "" ]; +assert lib.elem historyType [ + "editline" + "readline" + "internal" +]; +assert lib.elem predefinedBuildType [ + "BSD" + "GNU" + "GDH" + "DBG" + "" +]; stdenv.mkDerivation (finalAttrs: { pname = "gavin-bc"; version = "6.5.0"; @@ -25,13 +36,14 @@ stdenv.mkDerivation (finalAttrs: { (lib.optional (historyType == "editline") editline) ++ (lib.optional (historyType == "readline") readline); - configureFlags = [ - "--disable-nls" - ] - ++ (lib.optional (predefinedBuildType != "") "--predefined-build-type=${predefinedBuildType}") - ++ (lib.optional (historyType == "editline") "--enable-editline") - ++ (lib.optional (historyType == "readline") "--enable-readline") - ++ (lib.optional (historyType == "internal") "--enable-internal-history"); + configureFlags = + [ + "--disable-nls" + ] + ++ (lib.optional (predefinedBuildType != "") "--predefined-build-type=${predefinedBuildType}") + ++ (lib.optional (historyType == "editline") "--enable-editline") + ++ (lib.optional (historyType == "readline") "--enable-readline") + ++ (lib.optional (historyType == "internal") "--enable-internal-history"); meta = { homepage = "https://git.gavinhoward.com/gavin/bc"; diff --git a/pkgs/by-name/ga/gavrasm/package.nix b/pkgs/by-name/ga/gavrasm/package.nix index d77ff0b8e6aa8..1894273f7a93f 100644 --- a/pkgs/by-name/ga/gavrasm/package.nix +++ b/pkgs/by-name/ga/gavrasm/package.nix @@ -1,16 +1,28 @@ -{ lib, stdenv, fetchzip, fpc , lang ? "en" } : - -assert lib.assertOneOf "lang" lang ["cn" "de" "en" "fr" "tr"]; +{ + lib, + stdenv, + fetchzip, + fpc, + lang ? "en", +}: + +assert lib.assertOneOf "lang" lang [ + "cn" + "de" + "en" + "fr" + "tr" +]; stdenv.mkDerivation rec { pname = "gavrasm"; version = "5.4"; - flatVersion = lib.strings.replaceStrings ["."] [""] version; + flatVersion = lib.strings.replaceStrings [ "." ] [ "" ] version; src = fetchzip { url = "http://www.avr-asm-tutorial.net/gavrasm/v${flatVersion}/gavrasm_sources_lin_${flatVersion}.zip"; sha256 = "sha256-uTalb8Wzn2RAoUKZx9RZFCX+V9HUEtUnJ4eSltFumh0="; - stripRoot=false; + stripRoot = false; }; nativeBuildInputs = [ fpc ]; diff --git a/pkgs/by-name/ga/gaw/package.nix b/pkgs/by-name/ga/gaw/package.nix index 5dec368f454c5..d65c354f633f5 100644 --- a/pkgs/by-name/ga/gaw/package.nix +++ b/pkgs/by-name/ga/gaw/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchurl -, lib -, gtk3 -, pkg-config +{ + stdenv, + fetchurl, + lib, + gtk3, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ga/gay/package.nix b/pkgs/by-name/ga/gay/package.nix index 341c620af4ffa..6afab31a77b8c 100644 --- a/pkgs/by-name/ga/gay/package.nix +++ b/pkgs/by-name/ga/gay/package.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, python3, fetchPypi, }: diff --git a/pkgs/by-name/gb/gb-backup/package.nix b/pkgs/by-name/gb/gb-backup/package.nix index 856da421c55bd..60cf4f402937e 100644 --- a/pkgs/by-name/gb/gb-backup/package.nix +++ b/pkgs/by-name/gb/gb-backup/package.nix @@ -1,4 +1,10 @@ -{ lib, makeWrapper, buildGoModule, fetchFromGitHub, lepton }: +{ + lib, + makeWrapper, + buildGoModule, + fetchFromGitHub, + lepton, +}: buildGoModule { pname = "gb-backup"; diff --git a/pkgs/by-name/gb/gbar/package.nix b/pkgs/by-name/gb/gbar/package.nix index faa930e9aee81..3da8324840746 100644 --- a/pkgs/by-name/gb/gbar/package.nix +++ b/pkgs/by-name/gb/gbar/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, cmake -, pkg-config -, libdbusmenu-gtk3 -, gtk-layer-shell -, stb -, wayland-protocols -, wayland-scanner -, bluez -, gtk3 -, libpulseaudio -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + cmake, + pkg-config, + libdbusmenu-gtk3, + gtk-layer-shell, + stb, + wayland-protocols, + wayland-scanner, + bluez, + gtk3, + libpulseaudio, + wayland, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/gb/gbforth/package.nix b/pkgs/by-name/gb/gbforth/package.nix index 22c559a97350a..0d0f426167259 100644 --- a/pkgs/by-name/gb/gbforth/package.nix +++ b/pkgs/by-name/gb/gbforth/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, gforth +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + gforth, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/gc/gcab/package.nix b/pkgs/by-name/gc/gcab/package.nix index 6136564e5412b..552de1b205500 100644 --- a/pkgs/by-name/gc/gcab/package.nix +++ b/pkgs/by-name/gc/gcab/package.nix @@ -1,25 +1,33 @@ -{ lib, stdenv -, fetchurl -, gettext -, gobject-introspection -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_43 -, pkg-config -, meson -, ninja -, vala -, glib -, zlib -, gnome -, nixosTests +{ + lib, + stdenv, + fetchurl, + gettext, + gobject-introspection, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_43, + pkg-config, + meson, + ninja, + vala, + glib, + zlib, + gnome, + nixosTests, }: stdenv.mkDerivation rec { pname = "gcab"; version = "1.6"; - outputs = [ "bin" "out" "dev" "devdoc" "installedTests" ]; + outputs = [ + "bin" + "out" + "dev" + "devdoc" + "installedTests" + ]; src = fetchurl { url = "mirror://gnome/sources/gcab/${lib.versions.majorMinor version}/gcab-${version}.tar.xz"; diff --git a/pkgs/by-name/gc/gcal/package.nix b/pkgs/by-name/gc/gcal/package.nix index f07a18c0edae4..808f513c72eb2 100644 --- a/pkgs/by-name/gc/gcal/package.nix +++ b/pkgs/by-name/gc/gcal/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, ncurses, gettext, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + ncurses, + gettext, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "gcal"; diff --git a/pkgs/by-name/gc/gcc-arm-embedded-10/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-10/package.nix index ad690cb26fa26..7c7ff8a24b477 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-10/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-10/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 +{ + lib, + stdenv, + fetchurl, + ncurses5, }: stdenv.mkDerivation rec { @@ -9,19 +10,23 @@ stdenv.mkDerivation rec { version = "10.3.1"; release = "10.3-2021.10"; - suffix = { - aarch64-linux = "aarch64-linux"; - x86_64-darwin = "mac"; - x86_64-linux = "x86_64-linux"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + aarch64-linux = "aarch64-linux"; + x86_64-darwin = "mac"; + x86_64-linux = "x86_64-linux"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${release}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2"; - sha256 = { - aarch64-linux = "020j8gkzc0i0b74vz98gvngnwjm5222j1gk5nswfk6587krba1gn"; - x86_64-darwin = "0fr8pki2g4bfk1rk90dzwql37d0b71ngzs9zyx0g2jainan3sqgv"; - x86_64-linux = "18y92vpl22hf74yqdvmpw8adrkl92s4crzzs6avm05md37qb9nwp"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + aarch64-linux = "020j8gkzc0i0b74vz98gvngnwjm5222j1gk5nswfk6587krba1gn"; + x86_64-darwin = "0fr8pki2g4bfk1rk90dzwql37d0b71ngzs9zyx0g2jainan3sqgv"; + x86_64-linux = "18y92vpl22hf74yqdvmpw8adrkl92s4crzzs6avm05md37qb9nwp"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -39,16 +44,36 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + ] + } "$f" || true done ''; meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; - maintainers = with maintainers; [ prusnak prtzl ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; + maintainers = with maintainers; [ + prusnak + prtzl + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-11/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-11/package.nix index 4ed1ac9b99b01..8cbc326a3f48f 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-11/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-11/package.nix @@ -1,29 +1,34 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 -, python39 -, libxcrypt-legacy -, runtimeShell +{ + lib, + stdenv, + fetchurl, + ncurses5, + python39, + libxcrypt-legacy, + runtimeShell, }: stdenv.mkDerivation rec { pname = "gcc-arm-embedded"; version = "11.3.rel1"; - platform = { - aarch64-linux = "aarch64"; - x86_64-darwin = "darwin-x86_64"; - x86_64-linux = "x86_64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + platform = + { + aarch64-linux = "aarch64"; + x86_64-darwin = "darwin-x86_64"; + x86_64-linux = "x86_64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu/${version}/binrel/arm-gnu-toolchain-${version}-${platform}-arm-none-eabi.tar.xz"; - sha256 = { - aarch64-linux = "0pmm5r0k5mxd5drbn2s8a7qkm8c4fi8j5y31c70yrp0qs08kqwbc"; - x86_64-darwin = "1kr9kd9p2xk84fa99zf3gz5lkww2i9spqkjigjwakfkzbva56qw2"; - x86_64-linux = "08b1w1zmj4z80k59zmlc1bf34lg8d7z65fwvp5ir2pb1d1zxh86l"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + aarch64-linux = "0pmm5r0k5mxd5drbn2s8a7qkm8c4fi8j5y31c70yrp0qs08kqwbc"; + x86_64-darwin = "1kr9kd9p2xk84fa99zf3gz5lkww2i9spqkjigjwakfkzbva56qw2"; + x86_64-linux = "08b1w1zmj4z80k59zmlc1bf34lg8d7z65fwvp5ir2pb1d1zxh86l"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -40,7 +45,15 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python39 libxcrypt-legacy ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + python39 + libxcrypt-legacy + ] + } "$f" || true done ''; @@ -58,9 +71,20 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; maintainers = with maintainers; [ prusnak ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-12/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-12/package.nix index 0407cfa71e09c..97a122f3034ef 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-12/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-12/package.nix @@ -1,31 +1,36 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 -, python39 -, libxcrypt-legacy -, runtimeShell +{ + lib, + stdenv, + fetchurl, + ncurses5, + python39, + libxcrypt-legacy, + runtimeShell, }: stdenv.mkDerivation rec { pname = "gcc-arm-embedded"; version = "12.3.rel1"; - platform = { - aarch64-darwin = "darwin-arm64"; - aarch64-linux = "aarch64"; - x86_64-darwin = "darwin-x86_64"; - x86_64-linux = "x86_64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + platform = + { + aarch64-darwin = "darwin-arm64"; + aarch64-linux = "aarch64"; + x86_64-darwin = "darwin-x86_64"; + x86_64-linux = "x86_64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu/${version}/binrel/arm-gnu-toolchain-${version}-${platform}-arm-none-eabi.tar.xz"; - sha256 = { - aarch64-darwin = "sha256-Oy7uC99xwbvrPDt0JPv3vZ1cPw9aOkp4FZyeOtIZ570="; - aarch64-linux = "sha256-FMBIfVdT9gcdJOVoiB98fmf4DdgxZd7FFks3MTlK9DE="; - x86_64-darwin = "sha256-5u2L+TD62c4z4SCrkLNpV7H3efzKpt5snKmliYLAQpE="; - x86_64-linux = "sha256-EqKBVkQxjrzOr4S+q7Zl0JJLbnniEEhFLFMxpWMyswk="; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + aarch64-darwin = "sha256-Oy7uC99xwbvrPDt0JPv3vZ1cPw9aOkp4FZyeOtIZ570="; + aarch64-linux = "sha256-FMBIfVdT9gcdJOVoiB98fmf4DdgxZd7FFks3MTlK9DE="; + x86_64-darwin = "sha256-5u2L+TD62c4z4SCrkLNpV7H3efzKpt5snKmliYLAQpE="; + x86_64-linux = "sha256-EqKBVkQxjrzOr4S+q7Zl0JJLbnniEEhFLFMxpWMyswk="; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -42,7 +47,15 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python39 libxcrypt-legacy ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + python39 + libxcrypt-legacy + ] + } "$f" || true done ''; @@ -60,9 +73,24 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; - maintainers = with maintainers; [ prusnak prtzl ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; + maintainers = with maintainers; [ + prusnak + prtzl + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-13/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-13/package.nix index f3870205a66f0..6eac3bc060ca6 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-13/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-13/package.nix @@ -1,32 +1,37 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 -, python39 -, libxcrypt-legacy -, runtimeShell +{ + lib, + stdenv, + fetchurl, + ncurses5, + python39, + libxcrypt-legacy, + runtimeShell, }: stdenv.mkDerivation rec { pname = "gcc-arm-embedded"; version = "13.3.rel1"; - platform = { - aarch64-darwin = "darwin-arm64"; - aarch64-linux = "aarch64"; - x86_64-darwin = "darwin-x86_64"; - x86_64-linux = "x86_64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + platform = + { + aarch64-darwin = "darwin-arm64"; + aarch64-linux = "aarch64"; + x86_64-darwin = "darwin-x86_64"; + x86_64-linux = "x86_64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu/${version}/binrel/arm-gnu-toolchain-${version}-${platform}-arm-none-eabi.tar.xz"; # hashes obtained from location ${url}.sha256asc - sha256 = { - aarch64-darwin = "fb6921db95d345dc7e5e487dd43b745e3a5b4d5c0c7ca4f707347148760317b4"; - aarch64-linux = "c8824bffd057afce2259f7618254e840715f33523a3d4e4294f471208f976764"; - x86_64-darwin = "1ab00742d1ed0926e6f227df39d767f8efab46f5250505c29cb81f548222d794"; - x86_64-linux = "95c011cee430e64dd6087c75c800f04b9c49832cc1000127a92a97f9c8d83af4"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + aarch64-darwin = "fb6921db95d345dc7e5e487dd43b745e3a5b4d5c0c7ca4f707347148760317b4"; + aarch64-linux = "c8824bffd057afce2259f7618254e840715f33523a3d4e4294f471208f976764"; + x86_64-darwin = "1ab00742d1ed0926e6f227df39d767f8efab46f5250505c29cb81f548222d794"; + x86_64-linux = "95c011cee430e64dd6087c75c800f04b9c49832cc1000127a92a97f9c8d83af4"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -43,7 +48,15 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python39 libxcrypt-legacy ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + python39 + libxcrypt-legacy + ] + } "$f" || true done ''; @@ -61,9 +74,24 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; - maintainers = with maintainers; [ prusnak prtzl ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; + maintainers = with maintainers; [ + prusnak + prtzl + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-6/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-6/package.nix index d805c24e002c2..70e1481e2dd49 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-6/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-6/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 +{ + lib, + stdenv, + fetchurl, + ncurses5, }: stdenv.mkDerivation rec { @@ -10,17 +11,21 @@ stdenv.mkDerivation rec { release = "6-2017-q2-update"; subdir = "6-2017q2"; - suffix = { - x86_64-darwin = "mac"; - x86_64-linux = "linux"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + x86_64-darwin = "mac"; + x86_64-linux = "linux"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2"; - sha256 = { - x86_64-darwin = "0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x"; - x86_64-linux = "1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + x86_64-darwin = "0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x"; + x86_64-linux = "1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -38,16 +43,32 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + ] + } "$f" || true done ''; meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; maintainers = with maintainers; [ prusnak ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-7/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-7/package.nix index 13d8c12f52ce3..10fdd294649cc 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-7/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-7/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 +{ + lib, + stdenv, + fetchurl, + ncurses5, }: stdenv.mkDerivation rec { @@ -10,17 +11,21 @@ stdenv.mkDerivation rec { release = "7-2018-q2-update"; subdir = "7-2018q2"; - suffix = { - x86_64-darwin = "mac"; - x86_64-linux = "linux"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + x86_64-darwin = "mac"; + x86_64-linux = "linux"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2"; - sha256 = { - x86_64-darwin = "0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61"; - x86_64-linux = "0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + x86_64-darwin = "0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61"; + x86_64-linux = "0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -38,16 +43,32 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + ] + } "$f" || true done ''; meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; maintainers = with maintainers; [ prusnak ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-8/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-8/package.nix index a6448baa7919f..ff63cb58bd99b 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-8/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-8/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 +{ + lib, + stdenv, + fetchurl, + ncurses5, }: stdenv.mkDerivation rec { @@ -10,17 +11,21 @@ stdenv.mkDerivation rec { release = "8-2019-q3-update"; subdir = "8-2019q3/RC1.1"; - suffix = { - x86_64-darwin = "mac"; - x86_64-linux = "linux"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + x86_64-darwin = "mac"; + x86_64-linux = "linux"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2"; - sha256 = { - x86_64-darwin = "fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085"; - x86_64-linux = "b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + x86_64-darwin = "fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085"; + x86_64-linux = "b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -38,16 +43,32 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + ] + } "$f" || true done ''; meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; maintainers = with maintainers; [ prusnak ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcc-arm-embedded-9/package.nix b/pkgs/by-name/gc/gcc-arm-embedded-9/package.nix index 4c2b34b0c5b71..3dda27e3b853d 100644 --- a/pkgs/by-name/gc/gcc-arm-embedded-9/package.nix +++ b/pkgs/by-name/gc/gcc-arm-embedded-9/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses5 +{ + lib, + stdenv, + fetchurl, + ncurses5, }: stdenv.mkDerivation rec { @@ -10,19 +11,23 @@ stdenv.mkDerivation rec { release = "9-2020-q2-update"; subdir = "9-2020q2"; - suffix = { - aarch64-linux = "aarch64-linux"; - x86_64-darwin = "mac"; - x86_64-linux = "x86_64-linux"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + aarch64-linux = "aarch64-linux"; + x86_64-darwin = "mac"; + x86_64-linux = "x86_64-linux"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${release}-${suffix}.tar.bz2"; - sha256 = { - aarch64-linux = "1b5q2y710hy7lddj8vj3zl54gfl74j30kx3hk3i81zrcbv16ah8z"; - x86_64-darwin = "1ils9z16wrvglh72m428y5irmd36biq79yj86756whib8izbifdv"; - x86_64-linux = "07zi2yr5gvhpbij5pnj49zswb9g2gw7zqp4xwwniqmq477h2xp2s"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sha256 = + { + aarch64-linux = "1b5q2y710hy7lddj8vj3zl54gfl74j30kx3hk3i81zrcbv16ah8z"; + x86_64-darwin = "1ils9z16wrvglh72m428y5irmd36biq79yj86756whib8izbifdv"; + x86_64-linux = "07zi2yr5gvhpbij5pnj49zswb9g2gw7zqp4xwwniqmq477h2xp2s"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; dontConfigure = true; @@ -40,16 +45,33 @@ stdenv.mkDerivation rec { find $out -type f | while read f; do patchelf "$f" > /dev/null 2>&1 || continue patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 ]} "$f" || true + patchelf --set-rpath ${ + lib.makeLibraryPath [ + "$out" + stdenv.cc.cc + ncurses5 + ] + } "$f" || true done ''; meta = with lib; { description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + license = with licenses; [ + bsd2 + gpl2 + gpl3 + lgpl21 + lgpl3 + mit + ]; maintainers = with maintainers; [ prusnak ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gc/gcfflasher/package.nix b/pkgs/by-name/gc/gcfflasher/package.nix index 6bcb45fec941d..2a82d2530b9fd 100644 --- a/pkgs/by-name/gc/gcfflasher/package.nix +++ b/pkgs/by-name/gc/gcfflasher/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libgpiod -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libgpiod, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gc/gci/package.nix b/pkgs/by-name/gc/gci/package.nix index fcf1abe23fc2a..28eeee22e6cf0 100644 --- a/pkgs/by-name/gc/gci/package.nix +++ b/pkgs/by-name/gc/gci/package.nix @@ -20,6 +20,6 @@ buildGoModule rec { description = "Controls golang package import order and makes it always deterministic"; homepage = "https://github.com/daixiang0/gci"; license = licenses.bsd3; - maintainers = with maintainers; [krostar]; + maintainers = with maintainers; [ krostar ]; }; } diff --git a/pkgs/by-name/gc/gcli/package.nix b/pkgs/by-name/gc/gcli/package.nix index e4300b2b93138..d6a69fa6da01e 100644 --- a/pkgs/by-name/gc/gcli/package.nix +++ b/pkgs/by-name/gc/gcli/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, stdenv -, curl -, autoreconfHook -, pkg-config -, byacc -, flex +{ + lib, + fetchFromGitHub, + stdenv, + curl, + autoreconfHook, + pkg-config, + byacc, + flex, }: stdenv.mkDerivation rec { @@ -19,7 +20,12 @@ stdenv.mkDerivation rec { hash = "sha256-extVTaTWVFXSTiXlZ/MtiiFdc/KZEDkc+A7xxylJaM4="; }; - nativeBuildInputs = [ autoreconfHook pkg-config byacc flex ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + byacc + flex + ]; buildInputs = [ curl ]; meta = with lib; { diff --git a/pkgs/by-name/gc/gcolor3/package.nix b/pkgs/by-name/gc/gcolor3/package.nix index cf823398a446f..848fc9784b510 100644 --- a/pkgs/by-name/gc/gcolor3/package.nix +++ b/pkgs/by-name/gc/gcolor3/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitLab -, meson -, ninja -, gettext -, pkg-config -, libxml2 -, gtk3 -, libportal-gtk3 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + gettext, + pkg-config, + libxml2, + gtk3, + libportal-gtk3, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gc/gcov2lcov/package.nix b/pkgs/by-name/gc/gcov2lcov/package.nix index 712a65506214a..63c98769567b8 100644 --- a/pkgs/by-name/gc/gcov2lcov/package.nix +++ b/pkgs/by-name/gc/gcov2lcov/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-/2OIBWXbNch6lmw0C1jkyJfNefJXOVG9/jNW8CYHTsc="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # Some checks depend on looking up vcs root checkPhase = false; diff --git a/pkgs/by-name/gc/gcp-scanner/package.nix b/pkgs/by-name/gc/gcp-scanner/package.nix index 0e16965f63f01..f16d3254028fa 100644 --- a/pkgs/by-name/gc/gcp-scanner/package.nix +++ b/pkgs/by-name/gc/gcp-scanner/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gc/gcsfuse/package.nix b/pkgs/by-name/gc/gcsfuse/package.nix index 315fc51a7a1b6..63f67ff342714 100644 --- a/pkgs/by-name/gc/gcsfuse/package.nix +++ b/pkgs/by-name/gc/gcsfuse/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, }: buildGoModule rec { @@ -17,9 +18,16 @@ buildGoModule rec { vendorHash = "sha256-QrpILFzgUQwmrvjCdtrlgq1zSW7f82qMHsifI39WaB0="; - subPackages = [ "." "tools/mount_gcsfuse" ]; + subPackages = [ + "." + "tools/mount_gcsfuse" + ]; - ldflags = [ "-s" "-w" "-X main.gcsfuseVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.gcsfuseVersion=${version}" + ]; checkFlags = let diff --git a/pkgs/by-name/gc/gcstar/package.nix b/pkgs/by-name/gc/gcstar/package.nix index fbc730121f021..b9638506c33cf 100644 --- a/pkgs/by-name/gc/gcstar/package.nix +++ b/pkgs/by-name/gc/gcstar/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitLab -, perlPackages -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitLab, + perlPackages, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gd/gdl/package.nix b/pkgs/by-name/gd/gdl/package.nix index 6e7e1e39b38df..8107fec39bdb2 100644 --- a/pkgs/by-name/gd/gdl/package.nix +++ b/pkgs/by-name/gd/gdl/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, gtk3, gnome, intltool }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libxml2, + gtk3, + gnome, + intltool, +}: stdenv.mkDerivation rec { pname = "gdl"; @@ -9,8 +18,14 @@ stdenv.mkDerivation rec { sha256 = "NkHU/WadHhgYrv88+f+3iH/Fw2eFC3jCjHdeukq2pVU="; }; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ libxml2 gtk3 ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + libxml2 + gtk3 + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/gd/gdmap/package.nix b/pkgs/by-name/gd/gdmap/package.nix index b2844c9502009..63b0d18e23e79 100644 --- a/pkgs/by-name/gd/gdmap/package.nix +++ b/pkgs/by-name/gd/gdmap/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, gtk2, pkg-config, libxml2, intltool, gettext }: +{ + lib, + stdenv, + fetchurl, + gtk2, + pkg-config, + libxml2, + intltool, + gettext, +}: stdenv.mkDerivation rec { pname = "gdmap"; @@ -9,10 +18,20 @@ stdenv.mkDerivation rec { sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052"; }; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ gtk2 libxml2 gettext ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + gtk2 + libxml2 + gettext + ]; - patches = [ ./get_sensitive.patch ./set_flags.patch ]; + patches = [ + ./get_sensitive.patch + ./set_flags.patch + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/gd/gdome2/package.nix b/pkgs/by-name/gd/gdome2/package.nix index f71753b479d79..463e87073f85c 100644 --- a/pkgs/by-name/gd/gdome2/package.nix +++ b/pkgs/by-name/gd/gdome2/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, pkg-config, glib, libxml2, gtk-doc}: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libxml2, + gtk-doc, +}: let pname = "gdome2"; @@ -16,8 +24,15 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libxml2 gtk-doc ]; - propagatedBuildInputs = [glib libxml2]; + buildInputs = [ + glib + libxml2 + gtk-doc + ]; + propagatedBuildInputs = [ + glib + libxml2 + ]; patches = [ ./xml-document.patch ./fno-common.patch @@ -28,7 +43,10 @@ stdenv.mkDerivation { description = "DOM C library developed for the Gnome project"; mainProgram = "gdome-config"; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ prikhi roconnor ]; + maintainers = with maintainers; [ + prikhi + roconnor + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/gd/gdrive/package.nix b/pkgs/by-name/gd/gdrive/package.nix index a07f25775ff44..79da48c59a9ca 100644 --- a/pkgs/by-name/gd/gdrive/package.nix +++ b/pkgs/by-name/gd/gdrive/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "gdrive"; @@ -22,7 +27,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/prasmussen/gdrive"; diff --git a/pkgs/by-name/gd/gdrive3/package.nix b/pkgs/by-name/gd/gdrive3/package.nix index 3fc7af9b14177..c646cc574e37f 100644 --- a/pkgs/by-name/gd/gdrive3/package.nix +++ b/pkgs/by-name/gd/gdrive3/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gd/gdtoolkit_3/package.nix b/pkgs/by-name/gd/gdtoolkit_3/package.nix index 01b6a15e0e100..a25eddbcac1bb 100644 --- a/pkgs/by-name/gd/gdtoolkit_3/package.nix +++ b/pkgs/by-name/gd/gdtoolkit_3/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: let @@ -59,14 +60,25 @@ python.pkgs.buildPythonApplication rec { ''; # The tests are not working on NixOS - disabledTests = [ "test_cc_on_empty_file_succeeds" "test_cc_on_file_with_single_function_succeeds" ]; + disabledTests = [ + "test_cc_on_empty_file_succeeds" + "test_cc_on_file_with_single_function_succeeds" + ]; - pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; + pythonImportsCheck = [ + "gdtoolkit" + "gdtoolkit.formatter" + "gdtoolkit.linter" + "gdtoolkit.parser" + ]; meta = with lib; { description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; homepage = "https://github.com/Scony/godot-gdscript-toolkit"; license = licenses.mit; - maintainers = with maintainers; [ shiryel tmarkus ]; + maintainers = with maintainers; [ + shiryel + tmarkus + ]; }; } diff --git a/pkgs/by-name/gd/gdtoolkit_4/package.nix b/pkgs/by-name/gd/gdtoolkit_4/package.nix index 13735386293b4..301f9013409ea 100644 --- a/pkgs/by-name/gd/gdtoolkit_4/package.nix +++ b/pkgs/by-name/gd/gdtoolkit_4/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: let @@ -63,7 +64,12 @@ python.pkgs.buildPythonApplication rec { "tests/gdradon/test_executable.py" ]; - pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; + pythonImportsCheck = [ + "gdtoolkit" + "gdtoolkit.formatter" + "gdtoolkit.linter" + "gdtoolkit.parser" + ]; meta = with lib; { description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; diff --git a/pkgs/by-name/ge/geary/package.nix b/pkgs/by-name/ge/geary/package.nix index 0b85d3af0776f..824105f773ca3 100644 --- a/pkgs/by-name/ge/geary/package.nix +++ b/pkgs/by-name/ge/geary/package.nix @@ -1,48 +1,49 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gtk3 -, vala -, enchant2 -, wrapGAppsHook3 -, meson -, ninja -, desktop-file-utils -, gnome-online-accounts -, gsettings-desktop-schemas -, adwaita-icon-theme -, libpeas -, libsecret -, gmime3 -, isocodes -, icu -, libxml2 -, gettext -, sqlite -, gcr -, json-glib -, itstool -, libgee -, gnome -, webkitgtk_4_1 -, python3 -, gnutls -, cacert -, xvfb-run -, glibcLocales -, dbus -, shared-mime-info -, libunwind -, folks -, glib-networking -, gobject-introspection -, gspell -, appstream-glib -, libstemmer -, libytnef -, libhandy -, gsound +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk3, + vala, + enchant2, + wrapGAppsHook3, + meson, + ninja, + desktop-file-utils, + gnome-online-accounts, + gsettings-desktop-schemas, + adwaita-icon-theme, + libpeas, + libsecret, + gmime3, + isocodes, + icu, + libxml2, + gettext, + sqlite, + gcr, + json-glib, + itstool, + libgee, + gnome, + webkitgtk_4_1, + python3, + gnutls, + cacert, + xvfb-run, + glibcLocales, + dbus, + shared-mime-info, + libunwind, + folks, + glib-networking, + gobject-introspection, + gspell, + appstream-glib, + libstemmer, + libytnef, + libhandy, + gsound, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ge/gebaar-libinput/package.nix b/pkgs/by-name/ge/gebaar-libinput/package.nix index 533d4ddc8ee72..810a9fb8c6595 100644 --- a/pkgs/by-name/ge/gebaar-libinput/package.nix +++ b/pkgs/by-name/ge/gebaar-libinput/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake, libinput, zlib }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + pkg-config, + cmake, + libinput, + zlib, +}: stdenv.mkDerivation rec { pname = "gebaar-libinput"; @@ -20,8 +29,14 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ libinput zlib ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = [ + libinput + zlib + ]; meta = with lib; { description = "Gebaar, A Super Simple WM Independent Touchpad Gesture Daemon for libinput"; @@ -29,6 +44,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Coffee2CodeNL/gebaar-libinput"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ colemickens lovesegfault ]; + maintainers = with maintainers; [ + colemickens + lovesegfault + ]; }; } diff --git a/pkgs/by-name/ge/geek-life/package.nix b/pkgs/by-name/ge/geek-life/package.nix index 4ab016067f478..b84c87fe18e0a 100644 --- a/pkgs/by-name/ge/geek-life/package.nix +++ b/pkgs/by-name/ge/geek-life/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "geek-life"; diff --git a/pkgs/by-name/ge/geeqie/package.nix b/pkgs/by-name/ge/geeqie/package.nix index 2d07fbb8633d7..34acd23d3e58f 100644 --- a/pkgs/by-name/ge/geeqie/package.nix +++ b/pkgs/by-name/ge/geeqie/package.nix @@ -1,10 +1,41 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, meson, ninja, xxd, gettext, intltool -, gtk3, lcms2, exiv2, libchamplain, clutter-gtk, ffmpegthumbnailer, fbida -, libarchive, djvulibre, libheif, openjpeg, libjxl, libraw, lua5_3, poppler -, gspell, libtiff, libwebp -, gphoto2, imagemagick, yad, exiftool, zenity, libnotify -, wrapGAppsHook3, fetchpatch, doxygen -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + xxd, + gettext, + intltool, + gtk3, + lcms2, + exiv2, + libchamplain, + clutter-gtk, + ffmpegthumbnailer, + fbida, + libarchive, + djvulibre, + libheif, + openjpeg, + libjxl, + libraw, + lua5_3, + poppler, + gspell, + libtiff, + libwebp, + gphoto2, + imagemagick, + yad, + exiftool, + zenity, + libnotify, + wrapGAppsHook3, + fetchpatch, + doxygen, + nix-update-script, }: stdenv.mkDerivation rec { @@ -30,16 +61,36 @@ stdenv.mkDerivation rec { patchShebangs . ''; - nativeBuildInputs = - [ pkg-config gettext intltool - wrapGAppsHook3 doxygen - meson ninja xxd - ]; + nativeBuildInputs = [ + pkg-config + gettext + intltool + wrapGAppsHook3 + doxygen + meson + ninja + xxd + ]; buildInputs = [ - gtk3 lcms2 exiv2 libchamplain clutter-gtk ffmpegthumbnailer fbida - libarchive djvulibre libheif openjpeg libjxl libraw lua5_3 poppler - gspell libtiff libwebp + gtk3 + lcms2 + exiv2 + libchamplain + clutter-gtk + ffmpegthumbnailer + fbida + libarchive + djvulibre + libheif + openjpeg + libjxl + libraw + lua5_3 + poppler + gspell + libtiff + libwebp ]; postInstall = '' @@ -47,27 +98,62 @@ stdenv.mkDerivation rec { # losslessly rotate JPEG images. # Requires exiftran (fbida package) and exiv2. sed -i $out/lib/geeqie/geeqie-rotate \ - -e '1 a export PATH=${lib.makeBinPath [ exiv2 fbida ]}:$PATH' + -e '1 a export PATH=${ + lib.makeBinPath [ + exiv2 + fbida + ] + }:$PATH' # Zenity and yad are used in some scripts for reporting errors. # Allow change quality of image. # Requires imagemagick and yad. sed -i $out/lib/geeqie/geeqie-resize-image \ - -e '1 a export PATH=${lib.makeBinPath [ imagemagick yad ]}:$PATH' + -e '1 a export PATH=${ + lib.makeBinPath [ + imagemagick + yad + ] + }:$PATH' # Allow to crop image. # Requires imagemagick, exiv2 and exiftool. sed -i $out/lib/geeqie/geeqie-image-crop \ - -e '1 a export PATH=${lib.makeBinPath [ imagemagick exiv2 exiftool zenity ]}:$PATH' + -e '1 a export PATH=${ + lib.makeBinPath [ + imagemagick + exiv2 + exiftool + zenity + ] + }:$PATH' # Requires gphoto2 and libnotify sed -i $out/lib/geeqie/geeqie-tethered-photography \ - -e '1 a export PATH=${lib.makeBinPath [ gphoto2 zenity libnotify ]}:$PATH' + -e '1 a export PATH=${ + lib.makeBinPath [ + gphoto2 + zenity + libnotify + ] + }:$PATH' # Import images from camera. # Requires gphoto2. sed -i $out/lib/geeqie/geeqie-camera-import \ - -e '1 a export PATH=${lib.makeBinPath [ gphoto2 zenity ]}:$PATH' + -e '1 a export PATH=${ + lib.makeBinPath [ + gphoto2 + zenity + ] + }:$PATH' # Export jpeg from raw file. # Requires exiv2, exiftool and lcms2. sed -i $out/lib/geeqie/geeqie-export-jpeg \ - -e '1 a export PATH=${lib.makeBinPath [ zenity exiv2 exiftool lcms2 ]}:$PATH' + -e '1 a export PATH=${ + lib.makeBinPath [ + zenity + exiv2 + exiftool + lcms2 + ] + }:$PATH' ''; enableParallelBuilding = true; @@ -80,22 +166,24 @@ stdenv.mkDerivation rec { description = "Lightweight GTK based image viewer"; mainProgram = "geeqie"; - longDescription = - '' - Geeqie is a lightweight GTK based image viewer for Unix like - operating systems. It features: EXIF, IPTC and XMP metadata - browsing and editing interoperability; easy integration with other - software; geeqie works on files and directories, there is no need to - import images; fast preview for many raw image formats; tools for - image comparison, sorting and managing photo collection. Geeqie was - initially based on GQview. - ''; + longDescription = '' + Geeqie is a lightweight GTK based image viewer for Unix like + operating systems. It features: EXIF, IPTC and XMP metadata + browsing and editing interoperability; easy integration with other + software; geeqie works on files and directories, there is no need to + import images; fast preview for many raw image formats; tools for + image comparison, sorting and managing photo collection. Geeqie was + initially based on GQview. + ''; license = licenses.gpl2Plus; homepage = "https://www.geeqie.org/"; - maintainers = with maintainers; [ pSub markus1189 ]; + maintainers = with maintainers; [ + pSub + markus1189 + ]; platforms = platforms.gnu ++ platforms.linux; }; } diff --git a/pkgs/by-name/ge/geesefs/package.nix b/pkgs/by-name/ge/geesefs/package.nix index 8ac28ab7d38f1..3ca92cd8be1f6 100644 --- a/pkgs/by-name/ge/geesefs/package.nix +++ b/pkgs/by-name/ge/geesefs/package.nix @@ -1,10 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: -let version = "0.42.3"; -in buildGoModule { +let + version = "0.42.3"; +in +buildGoModule { pname = "geesefs"; inherit version; diff --git a/pkgs/by-name/ge/gef/package.nix b/pkgs/by-name/ge/gef/package.nix index fd3071a081759..9d95573a14d1b 100644 --- a/pkgs/by-name/ge/gef/package.nix +++ b/pkgs/by-name/ge/gef/package.nix @@ -1,25 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, gdb -, python3 -, bintools-unwrapped -, file -, ps -, git -, coreutils +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + gdb, + python3, + bintools-unwrapped, + file, + ps, + git, + coreutils, }: let - pythonPath = with python3.pkgs; makePythonPath [ - keystone-engine - unicorn - capstone - ropper - ]; + pythonPath = + with python3.pkgs; + makePythonPath [ + keystone-engine + unicorn + capstone + ropper + ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gef"; version = "2024.06"; @@ -40,12 +44,14 @@ in stdenv.mkDerivation rec { makeWrapper ${gdb}/bin/gdb $out/bin/gef \ --add-flags "-q -x $out/share/gef/gef.py" \ --set NIX_PYTHONPATH ${pythonPath} \ - --prefix PATH : ${lib.makeBinPath [ - python3 - bintools-unwrapped # for readelf - file - ps - ]} + --prefix PATH : ${ + lib.makeBinPath [ + python3 + bintools-unwrapped # for readelf + file + ps + ] + } ''; nativeCheckInputs = [ diff --git a/pkgs/by-name/ge/geist-font/package.nix b/pkgs/by-name/ge/geist-font/package.nix index 12ba112d04a91..787974748772a 100644 --- a/pkgs/by-name/ge/geist-font/package.nix +++ b/pkgs/by-name/ge/geist-font/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/ge/gelasio/package.nix b/pkgs/by-name/ge/gelasio/package.nix index 9f62d7464185c..c08c1e34b5d50 100644 --- a/pkgs/by-name/ge/gelasio/package.nix +++ b/pkgs/by-name/ge/gelasio/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "gelasio"; @@ -35,4 +39,3 @@ stdenvNoCC.mkDerivation { maintainers = with maintainers; [ colemickens ]; }; } - diff --git a/pkgs/by-name/ge/gem/package.nix b/pkgs/by-name/ge/gem/package.nix index 5cb308988a4f7..5b5b70b763c68 100644 --- a/pkgs/by-name/ge/gem/package.nix +++ b/pkgs/by-name/ge/gem/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, puredata -, libGL -, libGLU -, glew -, libglut -, libv4l -, libX11 -, file +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + puredata, + libGL, + libGLU, + glew, + libglut, + libv4l, + libX11, + file, }: stdenv.mkDerivation rec { @@ -45,7 +46,10 @@ stdenv.mkDerivation rec { description = "Graphics Environment for Multimedia"; homepage = "http://puredata.info/downloads/gem"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ raboof carlthome ]; + maintainers = with maintainers; [ + raboof + carlthome + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ge/gema/package.nix b/pkgs/by-name/ge/gema/package.nix index 4e16d4de72acd..6966e27731c7f 100644 --- a/pkgs/by-name/ge/gema/package.nix +++ b/pkgs/by-name/ge/gema/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ge/gemget/package.nix b/pkgs/by-name/ge/gemget/package.nix index b31d4491b5994..96326b5fdbb17 100644 --- a/pkgs/by-name/ge/gemget/package.nix +++ b/pkgs/by-name/ge/gemget/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gemget"; diff --git a/pkgs/by-name/ge/gemrb/package.nix b/pkgs/by-name/ge/gemrb/package.nix index 85ea2954309e7..f4bf90f780efb 100644 --- a/pkgs/by-name/ge/gemrb/package.nix +++ b/pkgs/by-name/ge/gemrb/package.nix @@ -1,24 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, SDL2 -, SDL2_mixer -, freetype -, libGL -, libiconv -, libpng -, libvlc -, libvorbis -, openal -, python3 -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + SDL2_mixer, + freetype, + libGL, + libiconv, + libpng, + libvlc, + libvorbis, + openal, + python3, + zlib, }: let # the GLES backend on rpi is untested as I don't have the hardware - backend = - if stdenv.hostPlatform.isx86 then "OpenGL" else "GLES"; + backend = if stdenv.hostPlatform.isx86 then "OpenGL" else "GLES"; withVLC = stdenv.hostPlatform.isDarwin; @@ -47,8 +47,7 @@ stdenv.mkDerivation rec { openal python3 zlib - ] - ++ optional withVLC libvlc; + ] ++ optional withVLC libvlc; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/ge/gen-license/package.nix b/pkgs/by-name/ge/gen-license/package.nix index a69b44d784738..86ded78e03091 100644 --- a/pkgs/by-name/ge/gen-license/package.nix +++ b/pkgs/by-name/ge/gen-license/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ge/gen-oath-safe/package.nix b/pkgs/by-name/ge/gen-oath-safe/package.nix index 9ce87ac3bdd13..170f154959bd0 100644 --- a/pkgs/by-name/ge/gen-oath-safe/package.nix +++ b/pkgs/by-name/ge/gen-oath-safe/package.nix @@ -1,4 +1,16 @@ -{ coreutils, fetchFromGitHub, file, libcaca, makeWrapper, python3, openssl, qrencode, lib, stdenv, yubikey-manager }: +{ + coreutils, + fetchFromGitHub, + file, + libcaca, + makeWrapper, + python3, + openssl, + qrencode, + lib, + stdenv, + yubikey-manager, +}: stdenv.mkDerivation rec { pname = "gen-oath-safe"; @@ -35,7 +47,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/mcepl/gen-oath-safe"; description = "Script for generating HOTP/TOTP keys (and QR code)"; - platforms = platforms.unix; + platforms = platforms.unix; license = licenses.mit; maintainers = [ maintainers.makefu ]; mainProgram = "gen-oath-safe"; diff --git a/pkgs/by-name/ge/gen6dns/package.nix b/pkgs/by-name/ge/gen6dns/package.nix index 92d33d55da98b..fc77acc5650b8 100644 --- a/pkgs/by-name/ge/gen6dns/package.nix +++ b/pkgs/by-name/ge/gen6dns/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, installShellFiles }: +{ + lib, + stdenv, + fetchurl, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "gen6dns"; diff --git a/pkgs/by-name/ge/genact/package.nix b/pkgs/by-name/ge/genact/package.nix index d2abfc02ba770..e7763ee219c4e 100644 --- a/pkgs/by-name/ge/genact/package.nix +++ b/pkgs/by-name/ge/genact/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles, stdenv }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "genact"; diff --git a/pkgs/by-name/ge/genann/package.nix b/pkgs/by-name/ge/genann/package.nix index 3f79b7ecfc2b0..ccccceee85ff0 100644 --- a/pkgs/by-name/ge/genann/package.nix +++ b/pkgs/by-name/ge/genann/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "genann"; diff --git a/pkgs/by-name/ge/gencfsm/package.nix b/pkgs/by-name/ge/gencfsm/package.nix index 42a0b3d9188d6..b1c2ae57305ce 100644 --- a/pkgs/by-name/ge/gencfsm/package.nix +++ b/pkgs/by-name/ge/gencfsm/package.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchurl, autoconf, automake, intltool, libtool, pkg-config -, encfs, libsecret , glib , libgee, gtk3, vala, wrapGAppsHook3, xorg -, gobject-introspection +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + intltool, + libtool, + pkg-config, + encfs, + libsecret, + glib, + libgee, + gtk3, + vala, + wrapGAppsHook3, + xorg, + gobject-introspection, }: stdenv.mkDerivation rec { @@ -8,7 +23,8 @@ stdenv.mkDerivation rec { pname = "gnome-encfs-manager"; src = fetchurl { - url = with lib.versions; + url = + with lib.versions; "https://launchpad.net/gencfsm/trunk/${major version}.${minor version}/+download/gnome-encfs-manager_${version}.tar.xz"; sha256 = "RXVwg/xhfAQv3pWp3UylOhMKDh9ZACTuKM4lPrn1dk8="; }; diff --git a/pkgs/by-name/ge/gendef/package.nix b/pkgs/by-name/ge/gendef/package.nix index 6f637b01144d5..93144d850708d 100644 --- a/pkgs/by-name/ge/gendef/package.nix +++ b/pkgs/by-name/ge/gendef/package.nix @@ -1,4 +1,8 @@ -{ fetchgit, lib, stdenv }: +{ + fetchgit, + lib, + stdenv, +}: stdenv.mkDerivation (finalAttrs: { pname = "gendef"; diff --git a/pkgs/by-name/ge/genesys/package.nix b/pkgs/by-name/ge/genesys/package.nix index 69fb2630e9da2..117b986c4f754 100644 --- a/pkgs/by-name/ge/genesys/package.nix +++ b/pkgs/by-name/ge/genesys/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, jre, graphviz, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + graphviz, + makeWrapper, +}: stdenv.mkDerivation (finalAttrs: { pname = "genesys"; @@ -35,4 +42,3 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.all; }; }) - diff --git a/pkgs/by-name/ge/genext2fs/package.nix b/pkgs/by-name/ge/genext2fs/package.nix index 1a225b8ed4a30..a5926fa3cd0fc 100644 --- a/pkgs/by-name/ge/genext2fs/package.nix +++ b/pkgs/by-name/ge/genext2fs/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libarchive }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libarchive, +}: stdenv.mkDerivation rec { pname = "genext2fs"; diff --git a/pkgs/by-name/ge/gengetopt/package.nix b/pkgs/by-name/ge/gengetopt/package.nix index b0492665de1bf..2543147fa32c9 100644 --- a/pkgs/by-name/ge/gengetopt/package.nix +++ b/pkgs/by-name/ge/gengetopt/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, texinfo, help2man }: +{ + fetchurl, + lib, + stdenv, + texinfo, + help2man, +}: stdenv.mkDerivation rec { pname = "gengetopt"; @@ -18,7 +24,10 @@ stdenv.mkDerivation rec { # test suite is not thread safe enableParallelBuilding = false; - nativeBuildInputs = [ texinfo help2man ]; + nativeBuildInputs = [ + texinfo + help2man + ]; #Fix, see #28255 postPatch = '' diff --git a/pkgs/by-name/ge/genimage/package.nix b/pkgs/by-name/ge/genimage/package.nix index 3e6ae58049bda..6725fa71abf35 100644 --- a/pkgs/by-name/ge/genimage/package.nix +++ b/pkgs/by-name/ge/genimage/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libconfuse, gettext }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libconfuse, + gettext, +}: stdenv.mkDerivation rec { pname = "genimage"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-68P4hsTYAGTdbG1ePC6Y5aZwB4JkEIzi+Jraii4T/t0="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libconfuse gettext ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libconfuse + gettext + ]; postInstall = '' # As there is no manpage or built-in --help, add the README file for diff --git a/pkgs/by-name/ge/genmap/package.nix b/pkgs/by-name/ge/genmap/package.nix index 772975fc6450b..10b4a96589b76 100644 --- a/pkgs/by-name/ge/genmap/package.nix +++ b/pkgs/by-name/ge/genmap/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest -, which +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, + which, }: stdenv.mkDerivation rec { @@ -22,7 +23,10 @@ stdenv.mkDerivation rec { doCheck = true; patches = [ ./gtest.patch ]; - nativeCheckInputs = [ gtest which ]; + nativeCheckInputs = [ + gtest + which + ]; preCheck = "make genmap_algo_test"; # disable benchmarks diff --git a/pkgs/by-name/ge/genromfs/package.nix b/pkgs/by-name/ge/genromfs/package.nix index 05b556019dacb..ea6b0abcca9bf 100644 --- a/pkgs/by-name/ge/genromfs/package.nix +++ b/pkgs/by-name/ge/genromfs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "0.5.2"; diff --git a/pkgs/by-name/ge/gentium-book-basic/package.nix b/pkgs/by-name/ge/gentium-book-basic/package.nix index 5247e9e6d8823..c16887b53f317 100644 --- a/pkgs/by-name/ge/gentium-book-basic/package.nix +++ b/pkgs/by-name/ge/gentium-book-basic/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "gentium-book-basic"; diff --git a/pkgs/by-name/ge/gentium/package.nix b/pkgs/by-name/ge/gentium/package.nix index e9d8435db26df..1a1260657dfda 100644 --- a/pkgs/by-name/ge/gentium/package.nix +++ b/pkgs/by-name/ge/gentium/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "gentium"; @@ -38,7 +42,10 @@ stdenvNoCC.mkDerivation rec { font family, along with documentation. ''; downloadPage = "https://software.sil.org/gentium/download/"; - maintainers = with maintainers; [ raskin rycee ]; + maintainers = with maintainers; [ + raskin + rycee + ]; license = licenses.ofl; platforms = platforms.all; }; diff --git a/pkgs/by-name/ge/genxword/package.nix b/pkgs/by-name/ge/genxword/package.nix index 199a63f967198..a71628c421463 100644 --- a/pkgs/by-name/ge/genxword/package.nix +++ b/pkgs/by-name/ge/genxword/package.nix @@ -1,11 +1,12 @@ -{ lib -, python3 -, fetchFromGitHub -, gettext -, gobject-introspection -, wrapGAppsHook3 -, pango -, gtksourceview3 +{ + lib, + python3, + fetchFromGitHub, + gettext, + gobject-introspection, + wrapGAppsHook3, + pango, + gtksourceview3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ge/genymotion/package.nix b/pkgs/by-name/ge/genymotion/package.nix index 3bc6f93158fce..9c852df184369 100644 --- a/pkgs/by-name/ge/genymotion/package.nix +++ b/pkgs/by-name/ge/genymotion/package.nix @@ -1,8 +1,29 @@ -{ stdenv, lib, fetchurl, makeWrapper, which, zlib, libGL, glib, xorg, libxkbcommon -, xdg-utils, libXrender, fontconfig, freetype, systemd, libpulseaudio -, cairo, gdk-pixbuf, gtk3, pixman -# For glewinfo -, libXmu, libXi, libXext }: +{ + stdenv, + lib, + fetchurl, + makeWrapper, + which, + zlib, + libGL, + glib, + xorg, + libxkbcommon, + xdg-utils, + libXrender, + fontconfig, + freetype, + systemd, + libpulseaudio, + cairo, + gdk-pixbuf, + gtk3, + pixman, + # For glewinfo + libXmu, + libXi, + libXext, +}: let packages = [ @@ -36,7 +57,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-Tgp9ud/Tq0K9ADf/POr+luuFm+QBWMucjKTbELbIveo="; }; - nativeBuildInputs = [ makeWrapper which xdg-utils ]; + nativeBuildInputs = [ + makeWrapper + which + xdg-utils + ]; unpackPhase = '' mkdir -p phony-home $out/share/applications @@ -94,11 +119,11 @@ stdenv.mkDerivation rec { Genymotion is a relatively fast Android emulator which comes with pre-configured Android (x86 with OpenGL hardware acceleration) images, suitable for application testing. - ''; + ''; homepage = "https://www.genymotion.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = ["x86_64-linux"]; + platforms = [ "x86_64-linux" ]; maintainers = [ maintainers.puffnfresh ]; }; } diff --git a/pkgs/by-name/ge/geoclue2/package.nix b/pkgs/by-name/ge/geoclue2/package.nix index 2b1e203c78089..cb6e524a9cb8e 100644 --- a/pkgs/by-name/ge/geoclue2/package.nix +++ b/pkgs/by-name/ge/geoclue2/package.nix @@ -1,35 +1,40 @@ -{ lib -, stdenv -, fetchFromGitLab -, intltool -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_412 -, glib -, json-glib -, libsoup_3 -, libnotify -, gdk-pixbuf -, modemmanager -, avahi -, glib-networking -, python3 -, wrapGAppsHook3 -, gobject-introspection -, vala -, withDemoAgent ? false -, nix-update-script +{ + lib, + stdenv, + fetchFromGitLab, + intltool, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_412, + glib, + json-glib, + libsoup_3, + libnotify, + gdk-pixbuf, + modemmanager, + avahi, + glib-networking, + python3, + wrapGAppsHook3, + gobject-introspection, + vala, + withDemoAgent ? false, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "geoclue"; version = "2.7.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -43,65 +48,76 @@ stdenv.mkDerivation (finalAttrs: { ./add-option-for-installation-sysconfdir.patch ]; - nativeBuildInputs = [ - pkg-config - intltool - meson - ninja - wrapGAppsHook3 - python3 - vala - gobject-introspection - # devdoc - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_412 - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + pkg-config + intltool + meson + ninja + wrapGAppsHook3 + python3 + vala + gobject-introspection + # devdoc + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_412 + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - glib - json-glib - libsoup_3 - avahi - ] ++ lib.optionals withDemoAgent [ - libnotify gdk-pixbuf - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - modemmanager - ]; + buildInputs = + [ + glib + json-glib + libsoup_3 + avahi + ] + ++ lib.optionals withDemoAgent [ + libnotify + gdk-pixbuf + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + modemmanager + ]; propagatedBuildInputs = [ glib glib-networking ]; - mesonFlags = [ - "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system" - "-Ddemo-agent=${lib.boolToString withDemoAgent}" - "--sysconfdir=/etc" - "-Dsysconfdir_install=${placeholder "out"}/etc" - "-Ddbus-srv-user=geoclue" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-D3g-source=false" - "-Dcdma-source=false" - "-Dmodem-gps-source=false" - "-Dnmea-source=false" - ]; + mesonFlags = + [ + "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system" + "-Ddemo-agent=${lib.boolToString withDemoAgent}" + "--sysconfdir=/etc" + "-Dsysconfdir_install=${placeholder "out"}/etc" + "-Ddbus-srv-user=geoclue" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-D3g-source=false" + "-Dcdma-source=false" + "-Dmodem-gps-source=false" + "-Dnmea-source=false" + ]; postPatch = '' chmod +x demo/install-file.py patchShebangs demo/install-file.py ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { broken = stdenv.hostPlatform.isDarwin && withDemoAgent; description = "Geolocation framework and some data providers"; homepage = "https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home"; changelog = "https://gitlab.freedesktop.org/geoclue/geoclue/-/blob/${finalAttrs.version}/NEWS"; - maintainers = with maintainers; [ raskin mimame ]; + maintainers = with maintainers; [ + raskin + mimame + ]; platforms = with platforms; linux ++ darwin; license = licenses.lgpl2Plus; }; diff --git a/pkgs/by-name/ge/geocode-glib/package.nix b/pkgs/by-name/ge/geocode-glib/package.nix index b459ad08f6624..9461c9fcb4124 100644 --- a/pkgs/by-name/ge/geocode-glib/package.nix +++ b/pkgs/by-name/ge/geocode-glib/package.nix @@ -1,26 +1,32 @@ -{ stdenv -, lib -, fetchurl -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gettext -, gtk-doc -, docbook-xsl-nons -, gobject-introspection -, gnome -, libsoup_2_4 -, json-glib -, glib -, nixosTests +{ + stdenv, + lib, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gettext, + gtk-doc, + docbook-xsl-nons, + gobject-introspection, + gnome, + libsoup_2_4, + json-glib, + glib, + nixosTests, }: stdenv.mkDerivation rec { pname = "geocode-glib"; version = "3.26.4"; - outputs = [ "out" "dev" "devdoc" "installedTests" ]; + outputs = [ + "out" + "dev" + "devdoc" + "installedTests" + ]; src = fetchurl { url = "mirror://gnome/sources/geocode-glib/${lib.versions.majorMinor version}/geocode-glib-${version}.tar.xz"; @@ -31,17 +37,19 @@ stdenv.mkDerivation rec { ./installed-tests-path.patch ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - gtk-doc - docbook-xsl-nons - gobject-introspection - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gettext + gtk-doc + docbook-xsl-nons + gobject-introspection + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/ge/geogram/package.nix b/pkgs/by-name/ge/geogram/package.nix index 444975de853c6..8dfff7a3d24a2 100644 --- a/pkgs/by-name/ge/geogram/package.nix +++ b/pkgs/by-name/ge/geogram/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub - -, cmake -, doxygen -, zlib -, python3Packages +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + + cmake, + doxygen, + zlib, + python3Packages, }: let @@ -26,7 +27,13 @@ stdenv.mkDerivation rec { hash = "sha256-Xqha5HVqD2Ao0z++RKcQdMZUmtMb5eZ1DMJEVrfNUzE="; }; - outputs = [ "bin" "lib" "dev" "doc" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "doc" + "out" + ]; cmakeFlags = [ # Triangle is unfree @@ -122,7 +129,12 @@ stdenv.mkDerivation rec { # See https://github.com/BrunoLevy/geogram/issues/74 broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; maintainers = with maintainers; [ tmarkus ]; }; } diff --git a/pkgs/by-name/ge/geographiclib/package.nix b/pkgs/by-name/ge/geographiclib/package.nix index cb733559ccb71..e0068ab3fe1fd 100644 --- a/pkgs/by-name/ge/geographiclib/package.nix +++ b/pkgs/by-name/ge/geographiclib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, doxygen }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, +}: stdenv.mkDerivation rec { pname = "geographiclib"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-1CuB3H4KFFRo8wdFaa9NQLBdT8HxK2AdiVkEhbeYagM="; }; - nativeBuildInputs = [ cmake doxygen ]; + nativeBuildInputs = [ + cmake + doxygen + ]; cmakeFlags = [ "-DBUILD_DOCUMENTATION=ON" diff --git a/pkgs/by-name/ge/geoipjava/package.nix b/pkgs/by-name/ge/geoipjava/package.nix index cbb6b35a65c92..63759827a4f55 100644 --- a/pkgs/by-name/ge/geoipjava/package.nix +++ b/pkgs/by-name/ge/geoipjava/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, jdk, unzip}: +{ + lib, + stdenv, + fetchurl, + jdk, + unzip, +}: stdenv.mkDerivation rec { pname = "GeoIPJava"; @@ -10,17 +16,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ unzip ]; buildInputs = [ jdk ]; - buildPhase = - '' - cd source - javac $(find . -name \*.java) - jar cfv maxmindgeoip.jar $(find . -name \*.class) - ''; - installPhase = - '' - mkdir -p $out/share/java - cp maxmindgeoip.jar $out/share/java - ''; + buildPhase = '' + cd source + javac $(find . -name \*.java) + jar cfv maxmindgeoip.jar $(find . -name \*.class) + ''; + installPhase = '' + mkdir -p $out/share/java + cp maxmindgeoip.jar $out/share/java + ''; meta = { description = "GeoIP Java API"; license = lib.licenses.lgpl21Plus; diff --git a/pkgs/by-name/ge/geoipupdate/package.nix b/pkgs/by-name/ge/geoipupdate/package.nix index 7610050a429b3..45a37d824c218 100644 --- a/pkgs/by-name/ge/geoipupdate/package.nix +++ b/pkgs/by-name/ge/geoipupdate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "geoipupdate"; diff --git a/pkgs/by-name/ge/geonkick/package.nix b/pkgs/by-name/ge/geonkick/package.nix index c3c1fbcc47c9f..5142d83ed671f 100644 --- a/pkgs/by-name/ge/geonkick/package.nix +++ b/pkgs/by-name/ge/geonkick/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitLab, cmake, pkg-config, libsndfile, rapidjson -, libjack2, lv2, libX11, cairo, openssl }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + pkg-config, + libsndfile, + rapidjson, + libjack2, + lv2, + libX11, + cairo, + openssl, +}: stdenv.mkDerivation rec { pname = "geonkick"; @@ -12,9 +24,20 @@ stdenv.mkDerivation rec { hash = "sha256-bqdqAr4NX5WZ6zp0Kq7GFHiy/JkBvDvzuZz7jxtru0Q="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ libsndfile rapidjson libjack2 lv2 libX11 cairo openssl ]; + buildInputs = [ + libsndfile + rapidjson + libjack2 + lv2 + libX11 + cairo + openssl + ]; # Without this, the lv2 ends up in # /nix/store/$HASH/nix/store/$HASH/lib/lv2 diff --git a/pkgs/by-name/ge/geopard/package.nix b/pkgs/by-name/ge/geopard/package.nix index 348bd10500428..a844858f50783 100644 --- a/pkgs/by-name/ge/geopard/package.nix +++ b/pkgs/by-name/ge/geopard/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, cargo -, rustc -, fetchFromGitHub -, libadwaita -, rustPlatform -, pkg-config -, lib -, wrapGAppsHook4 -, meson -, ninja -, desktop-file-utils -, blueprint-compiler -, glib-networking +{ + stdenv, + cargo, + rustc, + fetchFromGitHub, + libadwaita, + rustPlatform, + pkg-config, + lib, + wrapGAppsHook4, + meson, + ninja, + desktop-file-utils, + blueprint-compiler, + glib-networking, }: stdenv.mkDerivation (finalAttrs: { @@ -50,7 +51,10 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://github.com/ranfdev/Geopard"; description = "Colorful, adaptive gemini browser"; - maintainers = with lib.maintainers; [ jfvillablanca aleksana ]; + maintainers = with lib.maintainers; [ + jfvillablanca + aleksana + ]; license = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; mainProgram = "geopard"; diff --git a/pkgs/by-name/ge/geoserver/extensions.nix b/pkgs/by-name/ge/geoserver/extensions.nix index bbb4af84c4479..9d3d4e63e31e1 100644 --- a/pkgs/by-name/ge/geoserver/extensions.nix +++ b/pkgs/by-name/ge/geoserver/extensions.nix @@ -1,29 +1,42 @@ # DO *NOT* MODIFY THE LINES CONTAINING "hash = ..." OR "version = ...". # THEY ARE GENERATED. SEE ./update.sh. -{ fetchzip, libjpeg, netcdf, pkgs, stdenv }: +{ + fetchzip, + libjpeg, + netcdf, + pkgs, + stdenv, +}: let - mkGeoserverExtension = { name, version, hash, buildInputs ? [ ] }: stdenv.mkDerivation { - pname = "geoserver-${name}-extension"; - inherit buildInputs version; - - src = fetchzip { - url = "mirror://sourceforge/geoserver/GeoServer/${version}/extensions/geoserver-${version}-${name}-plugin.zip"; - inherit hash; - # We expect several files. - stripRoot = false; + mkGeoserverExtension = + { + name, + version, + hash, + buildInputs ? [ ], + }: + stdenv.mkDerivation { + pname = "geoserver-${name}-extension"; + inherit buildInputs version; + + src = fetchzip { + url = "mirror://sourceforge/geoserver/GeoServer/${version}/extensions/geoserver-${version}-${name}-plugin.zip"; + inherit hash; + # We expect several files. + stripRoot = false; + }; + + installPhase = '' + runHook preInstall + + DIR=$out/share/geoserver/webapps/geoserver/WEB-INF/lib + mkdir -p $DIR + cp -r $src/* $DIR + + runHook postInstall + ''; }; - - installPhase = '' - runHook preInstall - - DIR=$out/share/geoserver/webapps/geoserver/WEB-INF/lib - mkdir -p $DIR - cp -r $src/* $DIR - - runHook postInstall - ''; - }; in { diff --git a/pkgs/by-name/ge/geoserver/package.nix b/pkgs/by-name/ge/geoserver/package.nix index d5549b03e9247..a228335d3e686 100644 --- a/pkgs/by-name/ge/geoserver/package.nix +++ b/pkgs/by-name/ge/geoserver/package.nix @@ -1,11 +1,12 @@ -{ lib -, callPackage -, fetchurl -, makeWrapper -, nixosTests -, stdenv -, jre -, unzip +{ + lib, + callPackage, + fetchurl, + makeWrapper, + nixosTests, + stdenv, + jre, + unzip, }: stdenv.mkDerivation (finalAttrs: rec { pname = "geoserver"; @@ -22,12 +23,16 @@ stdenv.mkDerivation (finalAttrs: rec { ]; sourceRoot = "."; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; installPhase = let inputs = finalAttrs.buildInputs or [ ]; - ldLibraryPathEnvName = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + ldLibraryPathEnvName = + if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; in '' runHook preInstall @@ -48,28 +53,34 @@ stdenv.mkDerivation (finalAttrs: rec { runHook postInstall ''; - passthru = let geoserver = finalAttrs.finalPackage; extensions = lib.attrsets.filterAttrs (n: v: lib.isDerivation v) (callPackage ./extensions.nix { }); in { - withExtensions = selector: + withExtensions = + selector: let selectedExtensions = selector extensions; in - geoserver.overrideAttrs (finalAttrs: previousAttrs: { - pname = previousAttrs.pname + "-with-extensions"; - buildInputs = lib.lists.unique ((previousAttrs.buildInputs or [ ]) ++ lib.lists.concatMap (drv: drv.buildInputs) selectedExtensions); - postInstall = (previousAttrs.postInstall or "") + '' - for extension in ${builtins.toString selectedExtensions} ; do - cp -r $extension/* $out - # Some files are the same for all/several extensions. We allow overwriting them again. - chmod -R +w $out - done - ''; - }); + geoserver.overrideAttrs ( + finalAttrs: previousAttrs: { + pname = previousAttrs.pname + "-with-extensions"; + buildInputs = lib.lists.unique ( + (previousAttrs.buildInputs or [ ]) ++ lib.lists.concatMap (drv: drv.buildInputs) selectedExtensions + ); + postInstall = + (previousAttrs.postInstall or "") + + '' + for extension in ${builtins.toString selectedExtensions} ; do + cp -r $extension/* $out + # Some files are the same for all/several extensions. We allow overwriting them again. + chmod -R +w $out + done + ''; + } + ); tests.geoserver = nixosTests.geoserver; updateScript = ./update.sh; }; diff --git a/pkgs/by-name/ge/gephi/package.nix b/pkgs/by-name/ge/gephi/package.nix index fe638bde1ba46..731177a07cac2 100644 --- a/pkgs/by-name/ge/gephi/package.nix +++ b/pkgs/by-name/ge/gephi/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, jdk11, maven, jogl }: +{ + lib, + fetchFromGitHub, + jdk11, + maven, + jogl, +}: maven.buildMavenPackage rec { pname = "gephi"; @@ -37,7 +43,7 @@ maven.buildMavenPackage rec { homepage = "https://gephi.org"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # deps + binaryBytecode # deps ]; license = licenses.gpl3; maintainers = [ maintainers.taeer ]; diff --git a/pkgs/by-name/ge/gerbera/package.nix b/pkgs/by-name/ge/gerbera/package.nix index dcd78acb26318..6f8a3686801be 100644 --- a/pkgs/by-name/ge/gerbera/package.nix +++ b/pkgs/by-name/ge/gerbera/package.nix @@ -1,42 +1,43 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + nixosTests, # required -, libiconv -, libupnp -, libuuid -, pugixml -, spdlog -, sqlite -, zlib + libiconv, + libupnp, + libuuid, + pugixml, + spdlog, + sqlite, + zlib, # options -, enableMysql ? false -, libmysqlclient -, enableDuktape ? true -, duktape -, enableCurl ? true -, curl -, enableTaglib ? true -, taglib -, enableLibmagic ? true -, file -, enableLibmatroska ? true -, libmatroska -, libebml -, enableAvcodec ? false -, ffmpeg -, enableLibexif ? true -, libexif -, enableExiv2 ? false -, exiv2 -, enableFFmpegThumbnailer ? false -, ffmpegthumbnailer -, enableInotifyTools ? true -, inotify-tools + enableMysql ? false, + libmysqlclient, + enableDuktape ? true, + duktape, + enableCurl ? true, + curl, + enableTaglib ? true, + taglib, + enableLibmagic ? true, + file, + enableLibmatroska ? true, + libmatroska, + libebml, + enableAvcodec ? false, + ffmpeg, + enableLibexif ? true, + libexif, + enableExiv2 ? false, + exiv2, + enableFFmpegThumbnailer ? false, + ffmpegthumbnailer, + enableInotifyTools ? true, + inotify-tools, }: let @@ -48,17 +49,64 @@ let }); options = [ - { name = "AVCODEC"; enable = enableAvcodec; packages = [ ffmpeg ]; } - { name = "CURL"; enable = enableCurl; packages = [ curl ]; } - { name = "EXIF"; enable = enableLibexif; packages = [ libexif ]; } - { name = "EXIV2"; enable = enableExiv2; packages = [ exiv2 ]; } - { name = "FFMPEGTHUMBNAILER"; enable = enableFFmpegThumbnailer; packages = [ ffmpegthumbnailer ]; } - { name = "INOTIFY"; enable = enableInotifyTools; packages = [ inotify-tools ]; } - { name = "JS"; enable = enableDuktape; packages = [ duktape ]; } - { name = "MAGIC"; enable = enableLibmagic; packages = [ file ]; } - { name = "MATROSKA"; enable = enableLibmatroska; packages = [ libmatroska libebml ]; } - { name = "MYSQL"; enable = enableMysql; packages = [ libmysqlclient ]; } - { name = "TAGLIB"; enable = enableTaglib; packages = [ taglib ]; } + { + name = "AVCODEC"; + enable = enableAvcodec; + packages = [ ffmpeg ]; + } + { + name = "CURL"; + enable = enableCurl; + packages = [ curl ]; + } + { + name = "EXIF"; + enable = enableLibexif; + packages = [ libexif ]; + } + { + name = "EXIV2"; + enable = enableExiv2; + packages = [ exiv2 ]; + } + { + name = "FFMPEGTHUMBNAILER"; + enable = enableFFmpegThumbnailer; + packages = [ ffmpegthumbnailer ]; + } + { + name = "INOTIFY"; + enable = enableInotifyTools; + packages = [ inotify-tools ]; + } + { + name = "JS"; + enable = enableDuktape; + packages = [ duktape ]; + } + { + name = "MAGIC"; + enable = enableLibmagic; + packages = [ file ]; + } + { + name = "MATROSKA"; + enable = enableLibmatroska; + packages = [ + libmatroska + libebml + ]; + } + { + name = "MYSQL"; + enable = enableMysql; + packages = [ libmysqlclient ]; + } + { + name = "TAGLIB"; + enable = enableTaglib; + packages = [ taglib ]; + } ]; inherit (lib) flatten optionals; @@ -96,7 +144,10 @@ stdenv.mkDerivation rec { "-DWITH_SYSTEMD=OFF" ] ++ map (e: "-DWITH_${e.name}=${if e.enable then "ON" else "OFF"}") options; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libiconv diff --git a/pkgs/by-name/ge/gerbolyze/package.nix b/pkgs/by-name/ge/gerbolyze/package.nix index 963f578dfe51e..d8910592aed6b 100644 --- a/pkgs/by-name/ge/gerbolyze/package.nix +++ b/pkgs/by-name/ge/gerbolyze/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, python3Packages -, fetchFromGitHub -, gitUpdater -, resvg +{ + lib, + stdenv, + python3Packages, + fetchFromGitHub, + gitUpdater, + resvg, }: let @@ -44,7 +45,8 @@ let platforms = platforms.linux; }; }; -in python3Packages.buildPythonApplication rec { +in +python3Packages.buildPythonApplication rec { inherit version src; pname = "gerbolyze"; @@ -80,7 +82,11 @@ in python3Packages.buildPythonApplication rec { pythonImportsCheck = [ "gerbolyze" ]; - nativeCheckInputs = [ python3Packages.pytestCheckHook resvg svg-flatten ]; + nativeCheckInputs = [ + python3Packages.pytestCheckHook + resvg + svg-flatten + ]; passthru.updateScript = gitUpdater { rev-prefix = "v"; diff --git a/pkgs/by-name/ge/germinal/package.nix b/pkgs/by-name/ge/germinal/package.nix index cf9727e119926..83c0b977b0812 100644 --- a/pkgs/by-name/ge/germinal/package.nix +++ b/pkgs/by-name/ge/germinal/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream-glib -, autoreconfHook -, dbus -, pango -, pcre2 -, pkg-config -, tmux -, vte -, wrapGAppsHook3 -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + autoreconfHook, + dbus, + pango, + pcre2, + pkg-config, + tmux, + vte, + wrapGAppsHook3, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ge/gerrit-queue/package.nix b/pkgs/by-name/ge/gerrit-queue/package.nix index e9369e8f0232f..f0558a1b55a53 100644 --- a/pkgs/by-name/ge/gerrit-queue/package.nix +++ b/pkgs/by-name/ge/gerrit-queue/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ge/get-google-fonts/package.nix b/pkgs/by-name/ge/get-google-fonts/package.nix index 0939c43443e3f..ec4bb400ec920 100644 --- a/pkgs/by-name/ge/get-google-fonts/package.nix +++ b/pkgs/by-name/ge/get-google-fonts/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, fetchpatch +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchpatch, }: buildNpmPackage { diff --git a/pkgs/by-name/ge/get_iplayer/package.nix b/pkgs/by-name/ge/get_iplayer/package.nix index c807438aaa43d..649acec9aa346 100644 --- a/pkgs/by-name/ge/get_iplayer/package.nix +++ b/pkgs/by-name/ge/get_iplayer/package.nix @@ -1,12 +1,13 @@ -{ lib -, perlPackages -, fetchFromGitHub -, makeWrapper -, stdenv -, shortenPerlShebang -, perl -, atomicparsley -, ffmpeg +{ + lib, + perlPackages, + fetchFromGitHub, + makeWrapper, + stdenv, + shortenPerlShebang, + perl, + atomicparsley, + ffmpeg, }: perlPackages.buildPerlPackage rec { @@ -23,18 +24,29 @@ perlPackages.buildPerlPackage rec { nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; buildInputs = [ perl ]; propagatedBuildInputs = with perlPackages; [ - LWP LWPProtocolHttps XMLLibXML Mojolicious + LWP + LWPProtocolHttps + XMLLibXML + Mojolicious ]; preConfigure = "touch Makefile.PL"; doCheck = false; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; installPhase = '' runHook preInstall install -D get_iplayer -t $out/bin - wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg ]} --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/get_iplayer --suffix PATH : ${ + lib.makeBinPath [ + atomicparsley + ffmpeg + ] + } --prefix PERL5LIB : $PERL5LIB install -Dm444 get_iplayer.1 -t $out/share/man/man1 runHook postInstall @@ -50,7 +62,10 @@ perlPackages.buildPerlPackage rec { license = licenses.gpl3Plus; homepage = "https://github.com/get-iplayer/get_iplayer"; platforms = platforms.all; - maintainers = with maintainers; [ rika chewblacka ]; + maintainers = with maintainers; [ + rika + chewblacka + ]; }; } diff --git a/pkgs/by-name/ge/getdata/package.nix b/pkgs/by-name/ge/getdata/package.nix index 8617d7ddd2f25..6443f016d8bd2 100644 --- a/pkgs/by-name/ge/getdata/package.nix +++ b/pkgs/by-name/ge/getdata/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, +}: stdenv.mkDerivation rec { pname = "getdata"; version = "0.11.0"; diff --git a/pkgs/by-name/ge/getdp/package.nix b/pkgs/by-name/ge/getdp/package.nix index 30a5837c3111d..99127704968e1 100644 --- a/pkgs/by-name/ge/getdp/package.nix +++ b/pkgs/by-name/ge/getdp/package.nix @@ -1,8 +1,20 @@ -{ lib, stdenv, fetchurl, cmake, gfortran, blas, lapack, mpi, petsc, python3 }: +{ + lib, + stdenv, + fetchurl, + cmake, + gfortran, + blas, + lapack, + mpi, + petsc, + python3, +}: let mpiSupport = petsc.passthru.mpiSupport; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "getdp"; version = "3.6.0"; src = fetchurl { @@ -10,10 +22,16 @@ in stdenv.mkDerivation rec { hash = "sha256-nzefwCV+Z9BHDofuTfhR+vhqm3cCSiUT+7cbtn601N8="; }; - nativeBuildInputs = [ cmake python3 ]; - buildInputs = [ gfortran blas lapack petsc ] - ++ lib.optional mpiSupport mpi - ; + nativeBuildInputs = [ + cmake + python3 + ]; + buildInputs = [ + gfortran + blas + lapack + petsc + ] ++ lib.optional mpiSupport mpi; cmakeFlags = lib.optional mpiSupport "-DENABLE_MPI=1"; meta = with lib; { diff --git a/pkgs/by-name/ge/geteltorito/package.nix b/pkgs/by-name/ge/geteltorito/package.nix index 7bbedde4dac6b..d0f2520d36048 100644 --- a/pkgs/by-name/ge/geteltorito/package.nix +++ b/pkgs/by-name/ge/geteltorito/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, perl, ronn, fetchurl }: +{ + lib, + stdenv, + perl, + ronn, + fetchurl, +}: stdenv.mkDerivation rec { pname = "geteltorito"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1gkbm9ahj2mgqrkrfpibzclsriqgsbsvjh19fr815vpd9f6snkxv"; }; - buildInputs = [ perl ronn ]; + buildInputs = [ + perl + ronn + ]; unpackCmd = ""; dontBuild = true; diff --git a/pkgs/by-name/ge/geticons/package.nix b/pkgs/by-name/ge/geticons/package.nix index 5d8d7d2d1df88..59dbc34708721 100644 --- a/pkgs/by-name/ge/geticons/package.nix +++ b/pkgs/by-name/ge/geticons/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromSourcehut -, gitUpdater +{ + lib, + rustPlatform, + fetchFromSourcehut, + gitUpdater, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ge/getmail6/package.nix b/pkgs/by-name/ge/getmail6/package.nix index 3ba6da5b42c6a..2513718cf40b7 100644 --- a/pkgs/by-name/ge/getmail6/package.nix +++ b/pkgs/by-name/ge/getmail6/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -36,6 +37,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://getmail6.org"; changelog = "https://github.com/getmail6/getmail6/blob/${src.rev}/docs/CHANGELOG"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ abbe dotlambda ]; + maintainers = with maintainers; [ + abbe + dotlambda + ]; }; } diff --git a/pkgs/by-name/ge/getopt/package.nix b/pkgs/by-name/ge/getopt/package.nix index 51ab637c6ba1d..4eee5368c2b9d 100644 --- a/pkgs/by-name/ge/getopt/package.nix +++ b/pkgs/by-name/ge/getopt/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "getopt"; diff --git a/pkgs/by-name/ge/getoptions/package.nix b/pkgs/by-name/ge/getoptions/package.nix index d3dcde29dcd66..344658b1962aa 100644 --- a/pkgs/by-name/ge/getoptions/package.nix +++ b/pkgs/by-name/ge/getoptions/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenvNoCC, fetchFromGitHub, shellspec, busybox-sandbox-shell, ksh, mksh, yash, zsh }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + shellspec, + busybox-sandbox-shell, + ksh, + mksh, + yash, + zsh, +}: stdenvNoCC.mkDerivation rec { pname = "getoptions"; @@ -15,17 +25,24 @@ stdenvNoCC.mkDerivation rec { doCheck = true; - nativeCheckInputs = [ shellspec ksh mksh yash zsh ] - ++ lib.lists.optional (!stdenvNoCC.hostPlatform.isDarwin) busybox-sandbox-shell; + nativeCheckInputs = [ + shellspec + ksh + mksh + yash + zsh + ] ++ lib.lists.optional (!stdenvNoCC.hostPlatform.isDarwin) busybox-sandbox-shell; # Disable checks against yash, since shellspec seems to be broken for yash>=2.54 # (see: https://github.com/NixOS/nixpkgs/pull/218264#pullrequestreview-1434402054) - preCheck = '' - sed -i '/shellspec -s posh/d' Makefile - sed -i '/shellspec -s yash/d' Makefile - '' + lib.strings.optionalString stdenvNoCC.hostPlatform.isDarwin '' - sed -i "/shellspec -s 'busybox ash'/d" Makefile - ''; + preCheck = + '' + sed -i '/shellspec -s posh/d' Makefile + sed -i '/shellspec -s yash/d' Makefile + '' + + lib.strings.optionalString stdenvNoCC.hostPlatform.isDarwin '' + sed -i "/shellspec -s 'busybox ash'/d" Makefile + ''; checkTarget = "test_in_various_shells"; diff --git a/pkgs/by-name/ge/getxbook/package.nix b/pkgs/by-name/ge/getxbook/package.nix index 40e8db2a086c7..e30d863f46fb7 100644 --- a/pkgs/by-name/ge/getxbook/package.nix +++ b/pkgs/by-name/ge/getxbook/package.nix @@ -1,20 +1,25 @@ -{ lib, stdenv, fetchurl, openssl }: +{ + lib, + stdenv, + fetchurl, + openssl, +}: stdenv.mkDerivation rec { pname = "getxbook"; version = "1.2"; src = fetchurl { - url = "https://njw.me.uk/getxbook/${pname}-${version}.tar.xz"; + url = "https://njw.me.uk/getxbook/${pname}-${version}.tar.xz"; sha256 = "0ihwrx4gspj8l7fc8vxch6dpjrw1lvv9z3c19f0wxnmnxhv1cjvs"; }; env.NIX_CFLAGS_COMPILE = builtins.toString ( [ "-Wno-error=deprecated-declarations" ] - ++ lib.optionals (!stdenv.cc.isClang) [ - "-Wno-error=format-truncation" - "-Wno-error=stringop-overflow" - ] + ++ lib.optionals (!stdenv.cc.isClang) [ + "-Wno-error=format-truncation" + "-Wno-error=stringop-overflow" + ] ); buildInputs = [ openssl ]; @@ -23,9 +28,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Collection of tools to download books from Google Books"; - homepage = "https://njw.me.uk/getxbook/"; - license = licenses.isc; + homepage = "https://njw.me.uk/getxbook/"; + license = licenses.isc; maintainers = with maintainers; [ obadz ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/ge/gexiv2/package.nix b/pkgs/by-name/ge/gexiv2/package.nix index 7a0e61cbf2b05..54b173d08aca5 100644 --- a/pkgs/by-name/ge/gexiv2/package.nix +++ b/pkgs/by-name/ge/gexiv2/package.nix @@ -1,45 +1,52 @@ -{ stdenv -, lib -, fetchurl -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, exiv2 -, glib -, gnome -, gobject-introspection -, vala -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, python3 +{ + stdenv, + lib, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + exiv2, + glib, + gnome, + gobject-introspection, + vala, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + python3, }: stdenv.mkDerivation rec { pname = "gexiv2"; version = "0.14.3"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "IeZNLFbpszPUT+8/KkslZT2SLEGazZcvqW+raVIX4sg="; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - vala - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - (python3.pythonOnBuildForHost.withPackages (ps: [ ps.pygobject3 ])) - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + vala + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + (python3.pythonOnBuildForHost.withPackages (ps: [ ps.pygobject3 ])) + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib @@ -56,16 +63,18 @@ stdenv.mkDerivation rec { doCheck = true; - preCheck = let - libSuffix = if stdenv.hostPlatform.isDarwin then "2.dylib" else "so.2"; - in '' - # Our gobject-introspection patches make the shared library paths absolute - # in the GIR files. When running unit tests, the library is not yet installed, - # though, so we need to replace the absolute path with a local one during build. - # We are using a symlink that will be overridden during installation. - mkdir -p $out/lib - ln -s $PWD/gexiv2/libgexiv2.${libSuffix} $out/lib/libgexiv2.${libSuffix} - ''; + preCheck = + let + libSuffix = if stdenv.hostPlatform.isDarwin then "2.dylib" else "so.2"; + in + '' + # Our gobject-introspection patches make the shared library paths absolute + # in the GIR files. When running unit tests, the library is not yet installed, + # though, so we need to replace the absolute path with a local one during build. + # We are using a symlink that will be overridden during installation. + mkdir -p $out/lib + ln -s $PWD/gexiv2/libgexiv2.${libSuffix} $out/lib/libgexiv2.${libSuffix} + ''; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/gf/gf2x/package.nix b/pkgs/by-name/gf/gf2x/package.nix index 1b45be6112812..4b469c91cd56f 100644 --- a/pkgs/by-name/gf/gf2x/package.nix +++ b/pkgs/by-name/gf/gf2x/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, autoreconfHook -, buildPackages -, optimize ? false # impure hardware optimizations +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + autoreconfHook, + buildPackages, + optimize ? false, # impure hardware optimizations }: stdenv.mkDerivation rec { pname = "gf2x"; diff --git a/pkgs/by-name/gf/gfal2-util/package.nix b/pkgs/by-name/gf/gfal2-util/package.nix index 8af9899455af2..e99adedfa7609 100644 --- a/pkgs/by-name/gf/gfal2-util/package.nix +++ b/pkgs/by-name/gf/gfal2-util/package.nix @@ -1,2 +1 @@ -{ python3Packages }: -with python3Packages; toPythonApplication gfal2-util +{ python3Packages }: with python3Packages; toPythonApplication gfal2-util diff --git a/pkgs/by-name/gf/gfal2/package.nix b/pkgs/by-name/gf/gfal2/package.nix index 205f6e192bc44..273c0411f02df 100644 --- a/pkgs/by-name/gf/gfal2/package.nix +++ b/pkgs/by-name/gf/gfal2/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, # Native build inputs -, cmake -, pkg-config + cmake, + pkg-config, # General build inputs -, glib -, gtest -, json_c -, openldap + glib, + gtest, + json_c, + openldap, # Plugin build inputs -, cryptopp -, davix-copy -, dcap -, libssh2 -, libuuid -, pugixml -, xrootd + cryptopp, + davix-copy, + dcap, + libssh2, + libuuid, + pugixml, + xrootd, # For enablePluginStatus.https only -, gsoap + gsoap, }: stdenv.mkDerivation (finalAttrs: { pname = "gfal2"; @@ -49,26 +50,35 @@ stdenv.mkDerivation (finalAttrs: { xrootd = true; }; - passthru.tests = ( - # Enable only one plugin in each test case, - # to ensure that they gets their dependency when invoked separately. - lib.listToAttrs - (map - (pluginName: lib.nameValuePair - "gfal2-${pluginName}" - (finalAttrs.finalPackage.overrideAttrs (previousAttrs: { - passthru = previousAttrs.passthru // { - enablePluginStatus = lib.mapAttrs (n: v: n == pluginName) previousAttrs.passthru.enablePluginStatus; - }; - }))) - (lib.filter (lib.flip lib.getAttr finalAttrs.passthru.enablePluginStatus) (lib.attrNames finalAttrs.passthru.enablePluginStatus)) + passthru.tests = + ( + # Enable only one plugin in each test case, + # to ensure that they gets their dependency when invoked separately. + lib.listToAttrs ( + map + ( + pluginName: + lib.nameValuePair "gfal2-${pluginName}" ( + finalAttrs.finalPackage.overrideAttrs (previousAttrs: { + passthru = previousAttrs.passthru // { + enablePluginStatus = lib.mapAttrs (n: v: n == pluginName) previousAttrs.passthru.enablePluginStatus; + }; + }) + ) + ) + ( + lib.filter (lib.flip lib.getAttr finalAttrs.passthru.enablePluginStatus) ( + lib.attrNames finalAttrs.passthru.enablePluginStatus + ) + ) ) - ) // { - # Disable all plugins in this test case. - gfal2-minimal = finalAttrs.finalPackage.overrideAttrs (previousAttrs: { - passthru.enablePluginStatus = lib.mapAttrs (n: v: false) previousAttrs.passthru.enablePluginStatus; - }); - }; + ) + // { + # Disable all plugins in this test case. + gfal2-minimal = finalAttrs.finalPackage.overrideAttrs (previousAttrs: { + passthru.enablePluginStatus = lib.mapAttrs (n: v: false) previousAttrs.passthru.enablePluginStatus; + }); + }; nativeBuildInputs = [ cmake @@ -87,22 +97,33 @@ stdenv.mkDerivation (finalAttrs: { pugixml # Optional, for MDS Cache. ] ++ lib.optionals finalAttrs.passthru.enablePluginStatus.dcap [ dcap ] - ++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [ cryptopp davix-copy ] + ++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [ + cryptopp + davix-copy + ] ++ lib.optionals finalAttrs.passthru.enablePluginStatus.mock [ libuuid ] ++ lib.optionals finalAttrs.passthru.enablePluginStatus.sftp [ libssh2 ] - ++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [ xrootd libuuid ] + ++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [ + xrootd + libuuid + ] ); - cmakeFlags = ( - map - (pluginName: "-DPLUGIN_${lib.toUpper pluginName}=${lib.toUpper (lib.boolToString finalAttrs.passthru.enablePluginStatus.${pluginName})}") - (lib.attrNames finalAttrs.passthru.enablePluginStatus) - ) - ++ [ "-DSKIP_TESTS=${lib.toUpper (lib.boolToString (!finalAttrs.finalPackage.doCheck))}" ] - ++ lib.optionals finalAttrs.finalPackage.doCheck [ "-DGTEST_INCLUDE_DIR=${gtest.dev}/include" ] - ++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [ "-DCRYPTOPP_INCLUDE_DIRS=${cryptopp.dev}/include/cryptopp" ] - ++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [ "-DXROOTD_INCLUDE_DIR=${xrootd.dev}/include/xrootd" ] - ; + cmakeFlags = + (map ( + pluginName: + "-DPLUGIN_${lib.toUpper pluginName}=${ + lib.toUpper (lib.boolToString finalAttrs.passthru.enablePluginStatus.${pluginName}) + }" + ) (lib.attrNames finalAttrs.passthru.enablePluginStatus)) + ++ [ "-DSKIP_TESTS=${lib.toUpper (lib.boolToString (!finalAttrs.finalPackage.doCheck))}" ] + ++ lib.optionals finalAttrs.finalPackage.doCheck [ "-DGTEST_INCLUDE_DIR=${gtest.dev}/include" ] + ++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [ + "-DCRYPTOPP_INCLUDE_DIRS=${cryptopp.dev}/include/cryptopp" + ] + ++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [ + "-DXROOTD_INCLUDE_DIR=${xrootd.dev}/include/xrootd" + ]; doCheck = stdenv.hostPlatform.isLinux; diff --git a/pkgs/by-name/gf/gfan/package.nix b/pkgs/by-name/gf/gfan/package.nix index 531a30e3f857f..9410d7d2e4916 100644 --- a/pkgs/by-name/gf/gfan/package.nix +++ b/pkgs/by-name/gf/gfan/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchpatch, fetchurl, gmp, mpir, cddlib}: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + gmp, + mpir, + cddlib, +}: stdenv.mkDerivation rec { pname = "gfan"; version = "0.6.2"; @@ -8,15 +16,17 @@ stdenv.mkDerivation rec { sha256 = "02pihqb1lb76a0xbfwjzs1cd6ay3ldfxsm8dvsbl6qs3vkjxax56"; }; - patches = [ - ./gfan-0.6.2-cddlib-prefix.patch - ] ++ lib.optionals (stdenv.cc.isClang) [ - (fetchpatch { - name = "clang-fix-miscompilation.patch"; - url = "https://raw.githubusercontent.com/sagemath/sage/eea1f59394a5066e9acd8ae39a90302820914ee3/build/pkgs/gfan/patches/nodel.patch"; - sha256 = "sha256-RrncSgFyrBIk/Bwe3accxiJ2rpOSJKQ84cV/uBvQsDc="; - }) - ]; + patches = + [ + ./gfan-0.6.2-cddlib-prefix.patch + ] + ++ lib.optionals (stdenv.cc.isClang) [ + (fetchpatch { + name = "clang-fix-miscompilation.patch"; + url = "https://raw.githubusercontent.com/sagemath/sage/eea1f59394a5066e9acd8ae39a90302820914ee3/build/pkgs/gfan/patches/nodel.patch"; + sha256 = "sha256-RrncSgFyrBIk/Bwe3accxiJ2rpOSJKQ84cV/uBvQsDc="; + }) + ]; postPatch = lib.optionalString stdenv.cc.isClang '' substituteInPlace Makefile --replace "-fno-guess-branch-probability" "" @@ -26,14 +36,21 @@ stdenv.mkDerivation rec { done ''; - buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ]; + buildFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "CXX=${stdenv.cc.targetPrefix}c++" + ]; installFlags = [ "PREFIX=$(out)" ]; - buildInputs = [ gmp mpir cddlib ]; + buildInputs = [ + gmp + mpir + cddlib + ]; meta = { description = "Software package for computing Gröbner fans and tropical varieties"; - license = lib.licenses.gpl2 ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "http://home.math.au.dk/jensen/software/gfan/gfan.html"; }; diff --git a/pkgs/by-name/gf/gfbgraph/package.nix b/pkgs/by-name/gf/gfbgraph/package.nix index 2affe005284c3..bc283264de3a0 100644 --- a/pkgs/by-name/gf/gfbgraph/package.nix +++ b/pkgs/by-name/gf/gfbgraph/package.nix @@ -1,23 +1,28 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, glib -, librest -, gnome-online-accounts -, gnome -, libsoup_2_4 -, json-glib -, gobject-introspection -, gtk-doc -, docbook-xsl-nons +{ + stdenv, + lib, + fetchurl, + pkg-config, + glib, + librest, + gnome-online-accounts, + gnome, + libsoup_2_4, + json-glib, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, }: stdenv.mkDerivation rec { pname = "gfbgraph"; version = "0.2.5"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/gf/gflags/package.nix b/pkgs/by-name/gf/gflags/package.nix index 19926fb1d6ffe..b01b862804e3f 100644 --- a/pkgs/by-name/gf/gflags/package.nix +++ b/pkgs/by-name/gf/gflags/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, enableShared ? !stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + enableShared ? !stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gf/gforth/boot-forth.nix b/pkgs/by-name/gf/gforth/boot-forth.nix index 9a4d676f51302..977e7ab5988cd 100644 --- a/pkgs/by-name/gf/gforth/boot-forth.nix +++ b/pkgs/by-name/gf/gforth/boot-forth.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, m4 }: +{ + lib, + stdenv, + fetchurl, + m4, +}: let version = "0.7.3"; diff --git a/pkgs/by-name/gf/gforth/package.nix b/pkgs/by-name/gf/gforth/package.nix index 6b68f7b47c5c9..ac3834f5ad3fe 100644 --- a/pkgs/by-name/gf/gforth/package.nix +++ b/pkgs/by-name/gf/gforth/package.nix @@ -1,12 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, callPackage -, autoreconfHook, texinfo, libffi +{ + lib, + stdenv, + fetchFromGitHub, + callPackage, + autoreconfHook, + texinfo, + libffi, }: let swig = callPackage ./swig.nix { }; bootForth = callPackage ./boot-forth.nix { }; lispDir = "${placeholder "out"}/share/emacs/site-lisp"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gforth"; version = "0.7.9_20230518"; @@ -19,7 +26,10 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoreconfHook texinfo bootForth swig + autoreconfHook + texinfo + bootForth + swig ]; buildInputs = [ libffi @@ -27,11 +37,13 @@ in stdenv.mkDerivation rec { passthru = { inherit bootForth; }; - configureFlags = [ - "--with-lispdir=${lispDir}" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - "--build=x86_64-apple-darwin" - ]; + configureFlags = + [ + "--with-lispdir=${lispDir}" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "--build=x86_64-apple-darwin" + ]; preConfigure = '' mkdir -p ${lispDir} diff --git a/pkgs/by-name/gf/gfs2-utils/package.nix b/pkgs/by-name/gf/gfs2-utils/package.nix index 00c73ce3e603d..6c3634fe48d36 100644 --- a/pkgs/by-name/gf/gfs2-utils/package.nix +++ b/pkgs/by-name/gf/gfs2-utils/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl -, autoreconfHook, bison, flex, pkg-config -, bzip2, check, ncurses, util-linux, zlib +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + bison, + flex, + pkg-config, + bzip2, + check, + ncurses, + util-linux, + zlib, }: stdenv.mkDerivation rec { @@ -12,10 +22,25 @@ stdenv.mkDerivation rec { hash = "sha256-ZWzNfYuhIxGmSAe454vRjAKp9Lq7EBBSY36P7qVgZnw="; }; - outputs = [ "bin" "doc" "out" "man" ]; + outputs = [ + "bin" + "doc" + "out" + "man" + ]; - nativeBuildInputs = [ autoreconfHook bison flex pkg-config ]; - buildInputs = [ bzip2 ncurses util-linux zlib ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + pkg-config + ]; + buildInputs = [ + bzip2 + ncurses + util-linux + zlib + ]; nativeCheckInputs = [ check ]; doCheck = true; @@ -26,7 +51,10 @@ stdenv.mkDerivation rec { homepage = "https://pagure.io/gfs2-utils"; description = "Tools for creating, checking and working with gfs2 filesystems"; maintainers = with maintainers; [ qyliss ]; - license = [ licenses.gpl2Plus licenses.lgpl2Plus ]; + license = [ + licenses.gpl2Plus + licenses.lgpl2Plus + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/gf/gfshare/package.nix b/pkgs/by-name/gf/gfshare/package.nix index caf04cee0d5c0..98f402081649c 100644 --- a/pkgs/by-name/gf/gfshare/package.nix +++ b/pkgs/by-name/gf/gfshare/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, autoreconfHook }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "gfshare"; @@ -13,7 +18,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; doCheck = true; - outputs = [ "bin" "lib" "dev" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "out" + ]; meta = with lib; { # Not the most descriptive homepage but it's what Debian and Ubuntu use diff --git a/pkgs/by-name/gf/gfxreconstruct/package.nix b/pkgs/by-name/gf/gfxreconstruct/package.nix index 78dabc68a61b0..5c52ad7f60e4a 100644 --- a/pkgs/by-name/gf/gfxreconstruct/package.nix +++ b/pkgs/by-name/gf/gfxreconstruct/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, fetchFromGitHub -, lib -, cmake -, makeWrapper -, pkg-config -, python3 -, wayland -, libX11 -, libxcb -, lz4 -, vulkan-loader -, xcbutilkeysyms -, zlib -, zstd +{ + stdenv, + fetchFromGitHub, + lib, + cmake, + makeWrapper, + pkg-config, + python3, + wayland, + libX11, + libxcb, + lz4, + vulkan-loader, + xcbutilkeysyms, + zlib, + zstd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gf/gfxstream/package.nix b/pkgs/by-name/gf/gfxstream/package.nix index 6dd5a11e841fe..ccae47da4d485 100644 --- a/pkgs/by-name/gf/gfxstream/package.nix +++ b/pkgs/by-name/gf/gfxstream/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitiles, fetchpatch, meson, ninja, pkg-config, python3 -, aemu, darwin, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg +{ + lib, + stdenv, + fetchFromGitiles, + fetchpatch, + meson, + ninja, + pkg-config, + python3, + aemu, + darwin, + libdrm, + libglvnd, + vulkan-headers, + vulkan-loader, + xorg, }: stdenv.mkDerivation { @@ -27,8 +41,20 @@ stdenv.mkDerivation { --replace-fail "project('gfxstream_backend', 'cpp', 'c'" "project('gfxstream_backend', 'cpp', 'c', 'objc'" ''; - nativeBuildInputs = [ meson ninja pkg-config python3 ]; - buildInputs = [ aemu libglvnd vulkan-headers vulkan-loader xorg.libX11 ] + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + ]; + buildInputs = + [ + aemu + libglvnd + vulkan-headers + vulkan-loader + xorg.libX11 + ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ libdrm ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa diff --git a/pkgs/by-name/gf/gfxtablet/package.nix b/pkgs/by-name/gf/gfxtablet/package.nix index 3ee35844f9995..d569803a5b8ef 100644 --- a/pkgs/by-name/gf/gfxtablet/package.nix +++ b/pkgs/by-name/gf/gfxtablet/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, linuxHeaders}: +{ + lib, + stdenv, + fetchFromGitHub, + linuxHeaders, +}: stdenv.mkDerivation rec { version = "1.4"; @@ -27,8 +32,8 @@ stdenv.mkDerivation rec { meta = { description = "Uinput driver for Android GfxTablet tablet-as-input-device app"; mainProgram = "networktablet"; - license = lib.licenses.mit ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/gg/gg-scm/package.nix b/pkgs/by-name/gg/gg-scm/package.nix index 89fd45e45f0dc..e3794f8bd258c 100644 --- a/pkgs/by-name/gg/gg-scm/package.nix +++ b/pkgs/by-name/gg/gg-scm/package.nix @@ -1,18 +1,20 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, makeWrapper -, bash -, coreutils -, git -, pandoc +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + bash, + coreutils, + git, + pandoc, }: let version = "1.3.1"; commit = "b6be8bac78605c21a9670db0e44faf5e1eafe0d4"; -in buildGoModule { +in +buildGoModule { pname = "gg-scm"; inherit version; @@ -28,16 +30,30 @@ in buildGoModule { ''; subPackages = [ "cmd/gg" ]; ldflags = [ - "-s" "-w" - "-X" "main.versionInfo=${version}" - "-X" "main.buildCommit=${commit}" + "-s" + "-w" + "-X" + "main.versionInfo=${version}" + "-X" + "main.buildCommit=${commit}" ]; vendorHash = "sha256-56Sah030xbWsoOu8r3c3nN2UGHvQORheavebP+Z1Wc8="; - nativeBuildInputs = [ pandoc installShellFiles makeWrapper ]; - nativeCheckInputs = [ bash coreutils git ]; - buildInputs = [ bash git ]; + nativeBuildInputs = [ + pandoc + installShellFiles + makeWrapper + ]; + nativeCheckInputs = [ + bash + coreutils + git + ]; + buildInputs = [ + bash + git + ]; postInstall = '' wrapProgram $out/bin/gg --suffix PATH : ${git}/bin diff --git a/pkgs/by-name/gg/gg/package.nix b/pkgs/by-name/gg/gg/package.nix index 9a5d381a4e1d0..f1a08af09d384 100644 --- a/pkgs/by-name/gg/gg/package.nix +++ b/pkgs/by-name/gg/gg/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: -buildGoModule rec{ +buildGoModule rec { pname = "gg"; version = "0.2.19"; diff --git a/pkgs/by-name/gg/ggobi/package.nix b/pkgs/by-name/gg/ggobi/package.nix index 2bd5abf006663..14c7748c3b5b5 100644 --- a/pkgs/by-name/gg/ggobi/package.nix +++ b/pkgs/by-name/gg/ggobi/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, gtk2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libxml2, + gtk2, +}: stdenv.mkDerivation rec { version = "2.1.11"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxml2 gtk2 ]; + buildInputs = [ + libxml2 + gtk2 + ]; configureFlags = [ "--with-all-plugins" ]; diff --git a/pkgs/by-name/gg/ggz_base_libs/package.nix b/pkgs/by-name/gg/ggz_base_libs/package.nix index 878f6bf97cffb..ce7dc4372a237 100644 --- a/pkgs/by-name/gg/ggz_base_libs/package.nix +++ b/pkgs/by-name/gg/ggz_base_libs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, intltool, openssl, expat, libgcrypt }: +{ + lib, + stdenv, + fetchurl, + intltool, + openssl, + expat, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "ggz-base-libs"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ intltool ]; - buildInputs = [ openssl expat libgcrypt ]; + buildInputs = [ + openssl + expat + libgcrypt + ]; patchPhase = '' substituteInPlace configure \ @@ -25,8 +37,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "GGZ Gaming zone libraries"; mainProgram = "ggz-config"; - maintainers = with maintainers; - [ + maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; diff --git a/pkgs/by-name/gh/gh-actions-cache/package.nix b/pkgs/by-name/gh/gh-actions-cache/package.nix index 2575beabf82a2..0d48923a2874b 100644 --- a/pkgs/by-name/gh/gh-actions-cache/package.nix +++ b/pkgs/by-name/gh/gh-actions-cache/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/gh-copilot/package.nix b/pkgs/by-name/gh/gh-copilot/package.nix index 7865ab095842b..31a730b97f925 100644 --- a/pkgs/by-name/gh/gh-copilot/package.nix +++ b/pkgs/by-name/gh/gh-copilot/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchurl +{ + stdenv, + lib, + fetchurl, }: let inherit (stdenv.hostPlatform) system; diff --git a/pkgs/by-name/gh/gh-dash/package.nix b/pkgs/by-name/gh/gh-dash/package.nix index c02f3b1274141..2e90cb5657315 100644 --- a/pkgs/by-name/gh/gh-dash/package.nix +++ b/pkgs/by-name/gh/gh-dash/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, testers -, gh-dash +{ + lib, + fetchFromGitHub, + buildGoModule, + testers, + gh-dash, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/gh-f/package.nix b/pkgs/by-name/gh/gh-f/package.nix index 45279ed3528d2..33db1b6a6fa8a 100644 --- a/pkgs/by-name/gh/gh-f/package.nix +++ b/pkgs/by-name/gh/gh-f/package.nix @@ -1,24 +1,27 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC -, makeWrapper -, gh -, fzf -, coreutils -, gawk -, gnused -, withBat ? false -, bat +{ + lib, + fetchFromGitHub, + stdenvNoCC, + makeWrapper, + gh, + fzf, + coreutils, + gawk, + gnused, + withBat ? false, + bat, }: let - binPath = lib.makeBinPath ([ - gh - fzf - coreutils - gawk - gnused - ] - ++ lib.optional withBat bat); + binPath = lib.makeBinPath ( + [ + gh + fzf + coreutils + gawk + gnused + ] + ++ lib.optional withBat bat + ); in stdenvNoCC.mkDerivation rec { pname = "gh-f"; diff --git a/pkgs/by-name/gh/gh-markdown-preview/package.nix b/pkgs/by-name/gh/gh-markdown-preview/package.nix index 7e829bd19f89a..1c39eb2d3ce6e 100644 --- a/pkgs/by-name/gh/gh-markdown-preview/package.nix +++ b/pkgs/by-name/gh/gh-markdown-preview/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, gh-markdown-preview -, testers +{ + lib, + fetchFromGitHub, + buildGoModule, + gh-markdown-preview, + testers, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/gh-notify/package.nix b/pkgs/by-name/gh/gh-notify/package.nix index 891b8843c9261..e53dcc0952eb4 100644 --- a/pkgs/by-name/gh/gh-notify/package.nix +++ b/pkgs/by-name/gh/gh-notify/package.nix @@ -1,25 +1,28 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC -, makeWrapper -, gh -, gnugrep -, fzf -, python3 -, withDelta ? false -, delta -, withBat ? false -, bat +{ + lib, + fetchFromGitHub, + stdenvNoCC, + makeWrapper, + gh, + gnugrep, + fzf, + python3, + withDelta ? false, + delta, + withBat ? false, + bat, }: let - binPath = lib.makeBinPath ([ - gh - gnugrep - fzf - python3 - ] - ++ lib.optional withBat bat - ++ lib.optional withDelta delta); + binPath = lib.makeBinPath ( + [ + gh + gnugrep + fzf + python3 + ] + ++ lib.optional withBat bat + ++ lib.optional withDelta delta + ); in stdenvNoCC.mkDerivation { pname = "gh-notify"; diff --git a/pkgs/by-name/gh/gh-ost/package.nix b/pkgs/by-name/gh/gh-ost/package.nix index 91798cfae8c9c..1cd7fb9dd20bd 100644 --- a/pkgs/by-name/gh/gh-ost/package.nix +++ b/pkgs/by-name/gh/gh-ost/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, gh-ost }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gh-ost, +}: buildGoModule rec { pname = "gh-ost"; diff --git a/pkgs/by-name/gh/gh-poi/package.nix b/pkgs/by-name/gh/gh-poi/package.nix index 203258c6803fe..522d3431280fe 100644 --- a/pkgs/by-name/gh/gh-poi/package.nix +++ b/pkgs/by-name/gh/gh-poi/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -14,7 +15,10 @@ buildGoModule rec { hash = "sha256-GRTBYwphw5rpwFzLrBRpzz6z6udNCdPn3vanfMvBtGI="; }; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; vendorHash = "sha256-D/YZLwwGJWCekq9mpfCECzJyJ/xSlg7fC6leJh+e8i0="; diff --git a/pkgs/by-name/gh/gh-screensaver/package.nix b/pkgs/by-name/gh/gh-screensaver/package.nix index b5466c791333d..2481b2688281c 100644 --- a/pkgs/by-name/gh/gh-screensaver/package.nix +++ b/pkgs/by-name/gh/gh-screensaver/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-o9B6Q07GP/CFekG3av01boZA7FdZg4x8CsLC3lwhn2A="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "gh extension with animated terminal screensavers"; diff --git a/pkgs/by-name/gh/gh2md/package.nix b/pkgs/by-name/gh/gh2md/package.nix index a56bd53c6f4a2..87b8648bc5a7f 100644 --- a/pkgs/by-name/gh/gh2md/package.nix +++ b/pkgs/by-name/gh/gh2md/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: python3Packages.buildPythonApplication rec { @@ -12,7 +13,11 @@ python3Packages.buildPythonApplication rec { hash = "sha256-B7IB1TWfZ0StH2zo/tXfDAaPlgLvr4ciIv7B8EQyp8w="; }; - propagatedBuildInputs = with python3Packages; [ six requests python-dateutil ]; + propagatedBuildInputs = with python3Packages; [ + six + requests + python-dateutil + ]; # uses network doCheck = false; diff --git a/pkgs/by-name/gh/ghauri/package.nix b/pkgs/by-name/gh/ghauri/package.nix index 4141690085e7e..41f75ccbe2333 100644 --- a/pkgs/by-name/gh/ghauri/package.nix +++ b/pkgs/by-name/gh/ghauri/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gh/ghciwatch/package.nix b/pkgs/by-name/gh/ghciwatch/package.nix index e791d61862e68..35744412edddc 100644 --- a/pkgs/by-name/gh/ghciwatch/package.nix +++ b/pkgs/by-name/gh/ghciwatch/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -32,7 +33,10 @@ rustPlatform.buildRustPackage rec { description = "Ghci-based file watching recompiler for Haskell development"; homepage = "https://github.com/MercuryTechnologies/ghciwatch"; license = licenses.mit; - maintainers = with maintainers; [ mangoiv _9999years ]; + maintainers = with maintainers; [ + mangoiv + _9999years + ]; mainProgram = "ghciwatch"; }; diff --git a/pkgs/by-name/gh/ghdl/package.nix b/pkgs/by-name/gh/ghdl/package.nix index 181647ca4e2e4..32bed81d06bbb 100644 --- a/pkgs/by-name/gh/ghdl/package.nix +++ b/pkgs/by-name/gh/ghdl/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, fetchFromGitHub -, callPackage -, gnat -, zlib -, llvm -, lib -, gcc-unwrapped -, texinfo -, gmp -, mpfr -, libmpc -, gnutar -, glibc -, makeWrapper -, backend ? "mcode" +{ + stdenv, + fetchFromGitHub, + callPackage, + gnat, + zlib, + llvm, + lib, + gcc-unwrapped, + texinfo, + gmp, + mpfr, + libmpc, + gnutar, + glibc, + makeWrapper, + backend ? "mcode", }: assert backend == "mcode" || backend == "llvm" || backend == "gcc"; @@ -23,50 +24,62 @@ stdenv.mkDerivation (finalAttrs: { version = "4.1.0"; src = fetchFromGitHub { - owner = "ghdl"; - repo = "ghdl"; - rev = "v${finalAttrs.version}"; - hash = "sha256-tPSHer3qdtEZoPh9BsEyuTOrXgyENFUyJqnUS3UYAvM="; + owner = "ghdl"; + repo = "ghdl"; + rev = "v${finalAttrs.version}"; + hash = "sha256-tPSHer3qdtEZoPh9BsEyuTOrXgyENFUyJqnUS3UYAvM="; }; LIBRARY_PATH = "${stdenv.cc.libc}/lib"; - nativeBuildInputs = [ - gnat - ] ++ lib.optionals (backend == "gcc") [ - texinfo - makeWrapper - ]; - buildInputs = [ - zlib - ] ++ lib.optionals (backend == "llvm") [ - llvm - ] ++ lib.optionals (backend == "gcc") [ - gmp - mpfr - libmpc - ]; - propagatedBuildInputs = [ - ] ++ lib.optionals (backend == "llvm" || backend == "gcc") [ - zlib - ]; + nativeBuildInputs = + [ + gnat + ] + ++ lib.optionals (backend == "gcc") [ + texinfo + makeWrapper + ]; + buildInputs = + [ + zlib + ] + ++ lib.optionals (backend == "llvm") [ + llvm + ] + ++ lib.optionals (backend == "gcc") [ + gmp + mpfr + libmpc + ]; + propagatedBuildInputs = + [ + ] + ++ lib.optionals (backend == "llvm" || backend == "gcc") [ + zlib + ]; - preConfigure = '' - # If llvm 7.0 works, 7.x releases should work too. - sed -i 's/check_version 7.0/check_version 7/g' configure - '' + lib.optionalString (backend == "gcc") '' - ${gnutar}/bin/tar -xf ${gcc-unwrapped.src} - ''; + preConfigure = + '' + # If llvm 7.0 works, 7.x releases should work too. + sed -i 's/check_version 7.0/check_version 7/g' configure + '' + + lib.optionalString (backend == "gcc") '' + ${gnutar}/bin/tar -xf ${gcc-unwrapped.src} + ''; - configureFlags = [ - # See https://github.com/ghdl/ghdl/pull/2058 - "--disable-werror" - "--enable-synth" - ] ++ lib.optionals (backend == "llvm") [ - "--with-llvm-config=${llvm.dev}/bin/llvm-config" - ] ++ lib.optionals (backend == "gcc") [ - "--with-gcc=gcc-${gcc-unwrapped.version}" - ]; + configureFlags = + [ + # See https://github.com/ghdl/ghdl/pull/2058 + "--disable-werror" + "--enable-synth" + ] + ++ lib.optionals (backend == "llvm") [ + "--with-llvm-config=${llvm.dev}/bin/llvm-config" + ] + ++ lib.optionals (backend == "gcc") [ + "--with-gcc=gcc-${gcc-unwrapped.version}" + ]; buildPhase = lib.optionalString (backend == "gcc") '' make copy-sources @@ -91,16 +104,20 @@ stdenv.mkDerivation (finalAttrs: { postFixup = lib.optionalString (backend == "gcc") '' wrapProgram $out/bin/ghdl \ - --set LIBRARY_PATH ${lib.makeLibraryPath [ - glibc - ]} + --set LIBRARY_PATH ${ + lib.makeLibraryPath [ + glibc + ] + } ''; - hardeningDisable = [ - ] ++ lib.optionals (backend == "gcc") [ - # GCC compilation fails with format errors - "format" - ]; + hardeningDisable = + [ + ] + ++ lib.optionals (backend == "gcc") [ + # GCC compilation fails with format errors + "format" + ]; enableParallelBuilding = true; @@ -119,7 +136,10 @@ stdenv.mkDerivation (finalAttrs: { description = "VHDL 2008/93/87 simulator"; license = lib.licenses.gpl2Plus; mainProgram = "ghdl"; - maintainers = with lib.maintainers; [ lucus16 thoughtpolice ]; + maintainers = with lib.maintainers; [ + lucus16 + thoughtpolice + ]; platforms = lib.platforms.linux ++ lib.optionals (backend == "mcode" || backend == "llvm") [ "x86_64-darwin" ]; diff --git a/pkgs/by-name/gh/ghdl/test-simple.nix b/pkgs/by-name/gh/ghdl/test-simple.nix index bf034441be25a..66c81977bf77c 100644 --- a/pkgs/by-name/gh/ghdl/test-simple.nix +++ b/pkgs/by-name/gh/ghdl/test-simple.nix @@ -1,23 +1,43 @@ -{ stdenv, ghdl-llvm, ghdl-mcode, ghdl-gcc, backend }: +{ + stdenv, + ghdl-llvm, + ghdl-mcode, + ghdl-gcc, + backend, +}: let - ghdl = if backend == "llvm" then ghdl-llvm else if backend == "gcc" then ghdl-gcc else ghdl-mcode; + ghdl = + if backend == "llvm" then + ghdl-llvm + else if backend == "gcc" then + ghdl-gcc + else + ghdl-mcode; in stdenv.mkDerivation { name = "ghdl-test-simple"; meta.timeout = 300; nativeBuildInputs = [ ghdl ]; - buildCommand = '' - cp ${./simple.vhd} simple.vhd - cp ${./simple-tb.vhd} simple-tb.vhd - mkdir -p ghdlwork - ghdl -a --workdir=ghdlwork --ieee=synopsys simple.vhd simple-tb.vhd - ghdl -e --workdir=ghdlwork --ieee=synopsys -o sim-simple tb - '' + (if backend == "llvm" || backend == "gcc" then '' - ./sim-simple --assert-level=warning > output.txt - '' else '' - ghdl -r --workdir=ghdlwork --ieee=synopsys tb > output.txt - '') + '' - diff output.txt ${./expected-output.txt} && touch $out - ''; + buildCommand = + '' + cp ${./simple.vhd} simple.vhd + cp ${./simple-tb.vhd} simple-tb.vhd + mkdir -p ghdlwork + ghdl -a --workdir=ghdlwork --ieee=synopsys simple.vhd simple-tb.vhd + ghdl -e --workdir=ghdlwork --ieee=synopsys -o sim-simple tb + '' + + ( + if backend == "llvm" || backend == "gcc" then + '' + ./sim-simple --assert-level=warning > output.txt + '' + else + '' + ghdl -r --workdir=ghdlwork --ieee=synopsys tb > output.txt + '' + ) + + '' + diff output.txt ${./expected-output.txt} && touch $out + ''; } diff --git a/pkgs/by-name/gh/ghdorker/package.nix b/pkgs/by-name/gh/ghdorker/package.nix index 61ac1f2cc852b..be12f9e18ed61 100644 --- a/pkgs/by-name/gh/ghdorker/package.nix +++ b/pkgs/by-name/gh/ghdorker/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gh/ghex/package.nix b/pkgs/by-name/gh/ghex/package.nix index b4fd1da04ff0c..8db8840c4ea18 100644 --- a/pkgs/by-name/gh/ghex/package.nix +++ b/pkgs/by-name/gh/ghex/package.nix @@ -1,29 +1,34 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, gi-docgen -, meson -, ninja -, gnome -, desktop-file-utils -, appstream-glib -, gettext -, itstool -, gtk4 -, libadwaita -, glib -, atk -, gobject-introspection -, vala -, wrapGAppsHook4 +{ + stdenv, + lib, + fetchurl, + pkg-config, + gi-docgen, + meson, + ninja, + gnome, + desktop-file-utils, + appstream-glib, + gettext, + itstool, + gtk4, + libadwaita, + glib, + atk, + gobject-introspection, + vala, + wrapGAppsHook4, }: stdenv.mkDerivation rec { pname = "ghex"; version = "46.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/ghex/${lib.versions.major version}/ghex-${version}.tar.xz"; @@ -55,13 +60,15 @@ stdenv.mkDerivation rec { desktop-file-utils ]; - mesonFlags = [ - "-Dgtk_doc=true" - "-Dvapi=true" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # mremap does not exist on darwin - "-Dmmap-buffer-backend=false" - ]; + mesonFlags = + [ + "-Dgtk_doc=true" + "-Dvapi=true" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # mremap does not exist on darwin + "-Dmmap-buffer-backend=false" + ]; postFixup = '' # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. diff --git a/pkgs/by-name/gh/ghfetch/package.nix b/pkgs/by-name/gh/ghfetch/package.nix index 79a4c187dc0ab..86784b083ea6a 100644 --- a/pkgs/by-name/gh/ghfetch/package.nix +++ b/pkgs/by-name/gh/ghfetch/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/ghi/gemset.nix b/pkgs/by-name/gh/ghi/gemset.nix index 7f03d5a41e4b4..fe1a9a5143e8e 100644 --- a/pkgs/by-name/gh/ghi/gemset.nix +++ b/pkgs/by-name/gh/ghi/gemset.nix @@ -1,28 +1,34 @@ { diff-lcs = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; type = "gem"; }; version = "1.5.0"; }; docile = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz"; type = "gem"; }; version = "1.4.0"; }; ghi = { - dependencies = ["pygments.rb"]; - groups = ["default"]; - platforms = []; + dependencies = [ "pygments.rb" ]; + groups = [ "default" ]; + platforms = [ ]; source = { path = ./.; type = "path"; @@ -30,167 +36,212 @@ version = "1.2.0"; }; hpricot = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z"; type = "gem"; }; version = "0.8.6"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; type = "gem"; }; version = "2.3.0"; }; mustache = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch"; type = "gem"; }; version = "1.1.1"; }; "pygments.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "047mjyzz8v4kkgi1ap6fsjf7kcp6dwirpnigif00ss0hxsxchhac"; type = "gem"; }; version = "2.3.0"; }; rake = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; rdiscount = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16srf8cr8ynlafyh6ls654b9a3bqgai8n3y86zzv9mcpvlk6k27g"; type = "gem"; }; version = "2.2.0.2"; }; ronn = { - dependencies = ["hpricot" "mustache" "rdiscount"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hpricot" + "mustache" + "rdiscount" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2"; type = "gem"; }; version = "0.7.3"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19dyb6rcvgi9j2mksd29wfdhfdyzqk7yjhy1ai77559hbhpg61w9"; type = "gem"; }; version = "3.11.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6"; type = "gem"; }; version = "3.11.0"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "001ihayil7jpfxdlxlhakvz02kx0nk5m1w0bz6z8izdx0nc8bh53"; type = "gem"; }; version = "3.11.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3"; type = "gem"; }; version = "3.11.0"; }; rspec-support = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xfk4pla77251n39zf4n792m1rhg5sn1kp63yvpvvysany34la03"; type = "gem"; }; version = "3.11.0"; }; rspec_junit_formatter = { - dependencies = ["rspec-core"]; - groups = ["test"]; - platforms = []; + dependencies = [ "rspec-core" ]; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sm4yj6149v4pisnizplh58ahaqri2v6p7gyzybqy1ql0zwignxy"; type = "gem"; }; version = "0.3.0"; }; simplecov = { - dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "docile" + "simplecov-html" + "simplecov_json_formatter" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; type = "gem"; }; version = "0.21.2"; }; simplecov-html = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; type = "gem"; }; version = "0.12.3"; }; simplecov_json_formatter = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"; type = "gem"; }; diff --git a/pkgs/by-name/gh/ghi/package.nix b/pkgs/by-name/gh/ghi/package.nix index 5c17846aab754..5fd5c6b860c86 100644 --- a/pkgs/by-name/gh/ghi/package.nix +++ b/pkgs/by-name/gh/ghi/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, bundlerEnv -, tree +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bundlerEnv, + tree, }: stdenv.mkDerivation (finalAttrs: { @@ -40,6 +41,6 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "ghi"; homepage = "https://github.com/drazisil/ghi"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ sigmanificient]; + maintainers = with lib.maintainers; [ sigmanificient ]; }; }) diff --git a/pkgs/by-name/gh/ghorg/package.nix b/pkgs/by-name/gh/ghorg/package.nix index 001743d4fc96d..ad35083adb0db 100644 --- a/pkgs/by-name/gh/ghorg/package.nix +++ b/pkgs/by-name/gh/ghorg/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "ghorg"; @@ -16,7 +21,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; nativeBuildInputs = [ installShellFiles ]; postInstall = '' diff --git a/pkgs/by-name/gh/ghost/package.nix b/pkgs/by-name/gh/ghost/package.nix index d645556c87be0..9750eb5f94a19 100644 --- a/pkgs/by-name/gh/ghost/package.nix +++ b/pkgs/by-name/gh/ghost/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gh/ghostie/package.nix b/pkgs/by-name/gh/ghostie/package.nix index e6a47a5577380..a6733b629090e 100644 --- a/pkgs/by-name/gh/ghostie/package.nix +++ b/pkgs/by-name/gh/ghostie/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, sqlite -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + sqlite, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -30,12 +31,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ]; + buildInputs = + [ + openssl + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ]; # 4 out of 5 tests are notification tests which do not work in nix builds doCheck = false; diff --git a/pkgs/by-name/gh/ghostscript/test-corpus-render.nix b/pkgs/by-name/gh/ghostscript/test-corpus-render.nix index 089661293c25d..c232ee49550d2 100644 --- a/pkgs/by-name/gh/ghostscript/test-corpus-render.nix +++ b/pkgs/by-name/gh/ghostscript/test-corpus-render.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchgit -, ghostscript +{ + stdenv, + fetchgit, + ghostscript, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/gh/ghosttohugo/package.nix b/pkgs/by-name/gh/ghosttohugo/package.nix index 5ec5cc6870cae..58cde575b477c 100644 --- a/pkgs/by-name/gh/ghosttohugo/package.nix +++ b/pkgs/by-name/gh/ghosttohugo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/ghostunnel/package.nix b/pkgs/by-name/gh/ghostunnel/package.nix index 6732c75e3c001..2edd0471f85ca 100644 --- a/pkgs/by-name/gh/ghostunnel/package.nix +++ b/pkgs/by-name/gh/ghostunnel/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, buildGoModule -, fetchFromGitHub -, lib -, nixosTests +{ + stdenv, + buildGoModule, + fetchFromGitHub, + lib, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/ghr/package.nix b/pkgs/by-name/gh/ghr/package.nix index 23db007dc2639..389df793a4912 100644 --- a/pkgs/by-name/gh/ghr/package.nix +++ b/pkgs/by-name/gh/ghr/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, ghr +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + ghr, }: buildGoModule rec { diff --git a/pkgs/by-name/gh/ghunt/package.nix b/pkgs/by-name/gh/ghunt/package.nix index 580f3a5e28470..719da1f897602 100644 --- a/pkgs/by-name/gh/ghunt/package.nix +++ b/pkgs/by-name/gh/ghunt/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -21,24 +22,27 @@ python3.pkgs.buildPythonApplication rec { setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ - alive-progress - autoslot - beautifulsoup4 - beautifultable - geopy - httpx - humanize - imagehash - inflection - jsonpickle - pillow - protobuf - python-dateutil - rich - trio - packaging - ] ++ httpx.optional-dependencies.http2; + propagatedBuildInputs = + with python3.pkgs; + [ + alive-progress + autoslot + beautifulsoup4 + beautifultable + geopy + httpx + humanize + imagehash + inflection + jsonpickle + pillow + protobuf + python-dateutil + rich + trio + packaging + ] + ++ httpx.optional-dependencies.http2; # Project has no tests doCheck = false; diff --git a/pkgs/by-name/gh/ghz/package.nix b/pkgs/by-name/gh/ghz/package.nix index 05b5f0e9b035f..a5d37a552d22c 100644 --- a/pkgs/by-name/gh/ghz/package.nix +++ b/pkgs/by-name/gh/ghz/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, ghz }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + ghz, +}: buildGoModule rec { pname = "ghz"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-7TrYWmVKxHKVTyiIak7tRYKE4hgG/4zfsM76bJRxnAk="; - subPackages = [ "cmd/ghz" "cmd/ghz-web" ]; + subPackages = [ + "cmd/ghz" + "cmd/ghz-web" + ]; ldflags = [ "-s" diff --git a/pkgs/by-name/gi/gi-crystal/package.nix b/pkgs/by-name/gi/gi-crystal/package.nix index d5c19a21662ab..0b17b733833bd 100644 --- a/pkgs/by-name/gi/gi-crystal/package.nix +++ b/pkgs/by-name/gi/gi-crystal/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, crystal -, gobject-introspection -, gitUpdater +{ + lib, + fetchFromGitHub, + crystal, + gobject-introspection, + gitUpdater, }: crystal.buildCrystalPackage rec { pname = "gi-crystal"; @@ -17,7 +18,10 @@ crystal.buildCrystalPackage rec { # Make sure gi-crystal picks up the name of the so or dylib and not the leading nix store path # when the package name happens to start with “lib”. - patches = [ ./src.patch ./store-friendly-library-name.patch ]; + patches = [ + ./src.patch + ./store-friendly-library-name.patch + ]; nativeBuildInputs = [ gobject-introspection ]; buildTargets = [ "generator" ]; @@ -38,7 +42,6 @@ crystal.buildCrystalPackage rec { updateScript = gitUpdater { rev-prefix = "v"; }; }; - meta = with lib; { description = "GI Crystal is a binding generator used to generate Crystal bindings for GObject based libraries using GObject Introspection"; homepage = "https://github.com/hugopl/gi-crystal"; diff --git a/pkgs/by-name/gi/gi-docgen/package.nix b/pkgs/by-name/gi/gi-docgen/package.nix index 9d5da739745f5..0f350cdbbd623 100644 --- a/pkgs/by-name/gi/gi-docgen/package.nix +++ b/pkgs/by-name/gi/gi-docgen/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchurl -, meson -, ninja -, python3 -, gnome +{ + lib, + fetchurl, + meson, + ninja, + python3, + gnome, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gi/giac/package.nix b/pkgs/by-name/gi/giac/package.nix index ce009975c1ba1..454c85eb418c0 100644 --- a/pkgs/by-name/gi/giac/package.nix +++ b/pkgs/by-name/gi/giac/package.nix @@ -1,8 +1,37 @@ -{ stdenv, lib, fetchurl, fetchpatch, texliveSmall, bison, flex, lapack, blas -, autoreconfHook, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty -, buildPackages, readline, gettext, libpng, libao, gfortran, perl -, enableGUI ? false, libGL, libGLU, xorg, fltk -, enableMicroPy ? false, python3 +{ + stdenv, + lib, + fetchurl, + fetchpatch, + texliveSmall, + bison, + flex, + lapack, + blas, + autoreconfHook, + gmp, + mpfr, + pari, + ntl, + gsl, + mpfi, + ecm, + glpk, + nauty, + buildPackages, + readline, + gettext, + libpng, + libao, + gfortran, + perl, + enableGUI ? false, + libGL, + libGLU, + xorg, + fltk, + enableMicroPy ? false, + python3, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -16,48 +45,50 @@ stdenv.mkDerivation rec { sha256 = "sha256-pqytFWrSWfEwQqRdRbaigGCq68s8mdgj2j8M+kclslE="; }; - patches = [ - ./remove-old-functional-patterns.patch - ./fix-fltk-guard.patch - - (fetchpatch { - name = "pari_2_15.patch"; - url = "https://raw.githubusercontent.com/sagemath/sage/07a2afd65fb4b0a1c9cbc43ede7d4a18c921a000/build/pkgs/giac/patches/pari_2_15.patch"; - sha256 = "sha256-Q3xBFED7XEAyNz6AHjzt63XtospmdGAIdS6iPq1C2UE="; - }) - - (fetchpatch { - name = "infinity.patch"; - url = "https://github.com/geogebra/giac/commit/851c2cd91e879c79d6652f8a5d5bed03b65c6d39.patch"; - sha256 = "sha256-WJRT2b8I9kgAkRuIugMiXoF4hT7yR7qyad8A6IspNTM="; - stripLen = 5; - extraPrefix = "/src/"; - excludes = [ "src/kdisplay.cc" ]; - }) - - # giac calls scanf/printf with non-constant first arguments, which - # the compiler rightfully warns about (with an error nowadays). - (fetchpatch { - name = "fix-string-compiler-error.patch"; - url = "https://salsa.debian.org/science-team/giac/-/raw/9ca8dbf4bb16d9d96948aa4024326d32485d7917/debian/patches/fix-string-compiler-error.patch"; - sha256 = "sha256-r+M+9MRPRqhHcdhYWI6inxyNvWbXUbBcPCeDY7aulvk="; - }) - - # issue with include path precedence - (fetchpatch { - name = "fix_implicit_declaration.patch"; - url = "https://salsa.debian.org/science-team/giac/-/raw/c05ae9b9e74d3c6ee6411d391071989426a76201/debian/patches/fix_implicit_declaration.patch"; - sha256 = "sha256-ompUceYJLiL0ftfjBkIMcYvX1YqG2/XA7e1yDyFY0IY="; - }) - ] ++ lib.optionals (!enableGUI) [ - # when enableGui is false, giac is compiled without fltk. That - # means some outputs differ in the make check. Patch around this: - (fetchpatch { - name = "nofltk-check.patch"; - url = "https://raw.githubusercontent.com/sagemath/sage/7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26/build/pkgs/giac/patches/nofltk-check.patch"; - sha256 = "sha256-nAl5q3ufLjK3X9s0qMlGNowdRRf3EaC24eVtJABzdXY="; - }) - ]; + patches = + [ + ./remove-old-functional-patterns.patch + ./fix-fltk-guard.patch + + (fetchpatch { + name = "pari_2_15.patch"; + url = "https://raw.githubusercontent.com/sagemath/sage/07a2afd65fb4b0a1c9cbc43ede7d4a18c921a000/build/pkgs/giac/patches/pari_2_15.patch"; + sha256 = "sha256-Q3xBFED7XEAyNz6AHjzt63XtospmdGAIdS6iPq1C2UE="; + }) + + (fetchpatch { + name = "infinity.patch"; + url = "https://github.com/geogebra/giac/commit/851c2cd91e879c79d6652f8a5d5bed03b65c6d39.patch"; + sha256 = "sha256-WJRT2b8I9kgAkRuIugMiXoF4hT7yR7qyad8A6IspNTM="; + stripLen = 5; + extraPrefix = "/src/"; + excludes = [ "src/kdisplay.cc" ]; + }) + + # giac calls scanf/printf with non-constant first arguments, which + # the compiler rightfully warns about (with an error nowadays). + (fetchpatch { + name = "fix-string-compiler-error.patch"; + url = "https://salsa.debian.org/science-team/giac/-/raw/9ca8dbf4bb16d9d96948aa4024326d32485d7917/debian/patches/fix-string-compiler-error.patch"; + sha256 = "sha256-r+M+9MRPRqhHcdhYWI6inxyNvWbXUbBcPCeDY7aulvk="; + }) + + # issue with include path precedence + (fetchpatch { + name = "fix_implicit_declaration.patch"; + url = "https://salsa.debian.org/science-team/giac/-/raw/c05ae9b9e74d3c6ee6411d391071989426a76201/debian/patches/fix_implicit_declaration.patch"; + sha256 = "sha256-ompUceYJLiL0ftfjBkIMcYvX1YqG2/XA7e1yDyFY0IY="; + }) + ] + ++ lib.optionals (!enableGUI) [ + # when enableGui is false, giac is compiled without fltk. That + # means some outputs differ in the make check. Patch around this: + (fetchpatch { + name = "nofltk-check.patch"; + url = "https://raw.githubusercontent.com/sagemath/sage/7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26/build/pkgs/giac/patches/nofltk-check.patch"; + sha256 = "sha256-nAl5q3ufLjK3X9s0qMlGNowdRRf3EaC24eVtJABzdXY="; + }) + ]; # 1.9.0-5's tarball contains a binary (src/mkjs) which is executed # at build time. we will delete and rebuild it. @@ -76,77 +107,117 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - autoreconfHook texliveSmall bison flex + autoreconfHook + texliveSmall + bison + flex ]; # perl is only needed for patchShebangs fixup. - buildInputs = [ - gmp mpfr pari ntl gsl blas mpfi glpk nauty - readline gettext libpng libao perl ecm - # gfortran.cc default output contains static libraries compiled without -fPIC - # we want libgfortran.so.3 instead - (lib.getLib gfortran.cc) - lapack blas - ] ++ lib.optionals enableGUI [ - libGL libGLU fltk xorg.libX11 - ] ++ lib.optional enableMicroPy python3; + buildInputs = + [ + gmp + mpfr + pari + ntl + gsl + blas + mpfi + glpk + nauty + readline + gettext + libpng + libao + perl + ecm + # gfortran.cc default output contains static libraries compiled without -fPIC + # we want libgfortran.so.3 instead + (lib.getLib gfortran.cc) + lapack + blas + ] + ++ lib.optionals enableGUI [ + libGL + libGLU + fltk + xorg.libX11 + ] + ++ lib.optional enableMicroPy python3; # xcas Phys and Turtle menus are broken with split outputs # and interactive use is likely to need docs outputs = [ "out" ] ++ lib.optional (!enableGUI) "doc"; doCheck = true; - preCheck = lib.optionalString (!enableGUI) '' - # even with the nofltk patch, some changes in src/misc.cc (grep - # for HAVE_LIBFLTK) made it so that giac behaves differently - # when fltk is disabled. disable these tests for now. - echo > check/chk_fhan2 - echo > check/chk_fhan9 - '' + lib.optionalString (stdenv.hostPlatform.isDarwin) '' - # these cover a known regression in giac, likely due to how pari state - # is shared between multiple giac instances (see pari.cc.old). - # see https://github.com/NixOS/nixpkgs/pull/264126 for more information - echo > check/chk_fhan4 - echo > check/chk_fhan6 - ''; + preCheck = + lib.optionalString (!enableGUI) '' + # even with the nofltk patch, some changes in src/misc.cc (grep + # for HAVE_LIBFLTK) made it so that giac behaves differently + # when fltk is disabled. disable these tests for now. + echo > check/chk_fhan2 + echo > check/chk_fhan9 + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + # these cover a known regression in giac, likely due to how pari state + # is shared between multiple giac instances (see pari.cc.old). + # see https://github.com/NixOS/nixpkgs/pull/264126 for more information + echo > check/chk_fhan4 + echo > check/chk_fhan6 + ''; enableParallelBuilding = true; - configureFlags = [ - "--enable-gc" "--enable-png" "--enable-gsl" "--enable-lapack" - "--enable-pari" "--enable-ntl" "--enable-gmpxx" # "--enable-cocoa" - "--enable-ao" "--enable-ecm" "--enable-glpk" - ] ++ lib.optionals enableGUI [ - "--enable-gui" "--with-x" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--disable-nls" - ] ++ lib.optionals (!enableGUI) [ - "--disable-fltk" - ] ++ lib.optionals (!enableMicroPy) [ - "--disable-micropy" - ]; - - postInstall = '' - # example Makefiles contain the full path to some commands - # notably texlive, and we don't want texlive to become a runtime - # dependency - for file in $(find $out -name Makefile) ; do - sed -i "s@${builtins.storeDir}/[^/]*/bin/@@" "$file" ; - done; - - # reference cycle - rm "$out/share/giac/doc/el/"{casinter,tutoriel}/Makefile - - if [ -n "$doc" ]; then - mkdir -p "$doc/share/giac" - mv "$out/share/giac/doc" "$doc/share/giac" - mv "$out/share/giac/examples" "$doc/share/giac" - fi - '' + lib.optionalString (!enableGUI) '' - for i in pixmaps application-registry applications icons; do - rm -r "$out/share/$i"; - done; - ''; + configureFlags = + [ + "--enable-gc" + "--enable-png" + "--enable-gsl" + "--enable-lapack" + "--enable-pari" + "--enable-ntl" + "--enable-gmpxx" # "--enable-cocoa" + "--enable-ao" + "--enable-ecm" + "--enable-glpk" + ] + ++ lib.optionals enableGUI [ + "--enable-gui" + "--with-x" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-nls" + ] + ++ lib.optionals (!enableGUI) [ + "--disable-fltk" + ] + ++ lib.optionals (!enableMicroPy) [ + "--disable-micropy" + ]; + + postInstall = + '' + # example Makefiles contain the full path to some commands + # notably texlive, and we don't want texlive to become a runtime + # dependency + for file in $(find $out -name Makefile) ; do + sed -i "s@${builtins.storeDir}/[^/]*/bin/@@" "$file" ; + done; + + # reference cycle + rm "$out/share/giac/doc/el/"{casinter,tutoriel}/Makefile + + if [ -n "$doc" ]; then + mkdir -p "$doc/share/giac" + mv "$out/share/giac/doc" "$doc/share/giac" + mv "$out/share/giac/examples" "$doc/share/giac" + fi + '' + + lib.optionalString (!enableGUI) '' + for i in pixmaps application-registry applications icons; do + rm -r "$out/share/$i"; + done; + ''; meta = with lib; { description = "Free computer algebra system (CAS)"; diff --git a/pkgs/by-name/gi/giara/package.nix b/pkgs/by-name/gi/giara/package.nix index 110d5c04767a3..6c1aab02df9b9 100644 --- a/pkgs/by-name/gi/giara/package.nix +++ b/pkgs/by-name/gi/giara/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitLab -, meson -, gobject-introspection -, pkg-config -, ninja -, python3 -, wrapGAppsHook4 -, gtk4 -, gdk-pixbuf -, webkitgtk_4_0 -, gtksourceview5 -, glib-networking -, libadwaita -, appstream -, blueprint-compiler +{ + lib, + fetchFromGitLab, + meson, + gobject-introspection, + pkg-config, + ninja, + python3, + wrapGAppsHook4, + gtk4, + gdk-pixbuf, + webkitgtk_4_0, + gtksourceview5, + glib-networking, + libadwaita, + appstream, + blueprint-compiler, }: python3.pkgs.buildPythonApplication rec { pname = "giara"; diff --git a/pkgs/by-name/gi/gibo/package.nix b/pkgs/by-name/gi/gibo/package.nix index d037059fd4e3b..9663311e68121 100644 --- a/pkgs/by-name/gi/gibo/package.nix +++ b/pkgs/by-name/gi/gibo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, coreutils, findutils, git }: +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + findutils, + git, +}: stdenv.mkDerivation rec { pname = "gibo"; diff --git a/pkgs/by-name/gi/gif-for-cli/package.nix b/pkgs/by-name/gi/gif-for-cli/package.nix index 3a2ad84a44300..5bdb18fa733d4 100644 --- a/pkgs/by-name/gi/gif-for-cli/package.nix +++ b/pkgs/by-name/gi/gif-for-cli/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3Packages -, ffmpeg -, zlib -, libjpeg +{ + lib, + fetchFromGitHub, + fetchpatch, + python3Packages, + ffmpeg, + zlib, + libjpeg, }: python3Packages.buildPythonApplication { diff --git a/pkgs/by-name/gi/gif2apng/package.nix b/pkgs/by-name/gi/gif2apng/package.nix index 1a824e14a5a3e..5b720ee423999 100644 --- a/pkgs/by-name/gi/gif2apng/package.nix +++ b/pkgs/by-name/gi/gif2apng/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchzip -, fetchpatch -, zlib -, zopfli +{ + lib, + stdenv, + fetchzip, + fetchpatch, + zlib, + zopfli, }: stdenv.mkDerivation rec { @@ -51,7 +52,7 @@ stdenv.mkDerivation rec { makeFlags = [ "CC=${stdenv.cc.targetPrefix}c++" ]; - NIX_CFLAGS_COMPILE="-DENABLE_LOCAL_ZOPFLI"; + NIX_CFLAGS_COMPILE = "-DENABLE_LOCAL_ZOPFLI"; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/gi/gifgen/package.nix b/pkgs/by-name/gi/gifgen/package.nix index 49c87eda795de..896d1a71a5432 100644 --- a/pkgs/by-name/gi/gifgen/package.nix +++ b/pkgs/by-name/gi/gifgen/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, ffmpeg -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + ffmpeg, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gi/giflib/package.nix b/pkgs/by-name/gi/giflib/package.nix index c6dd7c81833f6..534ff1a7ca816 100644 --- a/pkgs/by-name/gi/giflib/package.nix +++ b/pkgs/by-name/gi/giflib/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, fixDarwinDylibNames -, pkgsStatic +{ + stdenv, + lib, + fetchurl, + fixDarwinDylibNames, + pkgsStatic, }: stdenv.mkDerivation rec { @@ -14,18 +15,20 @@ stdenv.mkDerivation rec { hash = "sha256-vn/70FfK3r4qoURUL9kMaDjGoIO16KkEi47jtmsp1fs="; }; - patches = [ - ./CVE-2021-40633.patch - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - # Build dll libraries. - (fetchurl { - url = "https://aur.archlinux.org/cgit/aur.git/plain/001-mingw-build.patch?h=mingw-w64-giflib&id=b7311edf54824ac797c7916cd3ddc3a4b2368a19"; - hash = "sha256-bBx7lw7FWtxZJ+E9AAbKIpCGcJnS5lrGpjYcv/zBtKk="; - }) - - # Install executables. - ./mingw-install-exes.patch - ]; + patches = + [ + ./CVE-2021-40633.patch + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # Build dll libraries. + (fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/001-mingw-build.patch?h=mingw-w64-giflib&id=b7311edf54824ac797c7916cd3ddc3a4b2368a19"; + hash = "sha256-bBx7lw7FWtxZJ+E9AAbKIpCGcJnS5lrGpjYcv/zBtKk="; + }) + + # Install executables. + ./mingw-install-exes.patch + ]; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames @@ -35,18 +38,20 @@ stdenv.mkDerivation rec { "PREFIX=${builtins.placeholder "out"}" ]; - postPatch = '' - # we don't want to build HTML documentation - substituteInPlace doc/Makefile \ - --replace-fail "all: allhtml manpages" "all: manpages" - '' + lib.optionalString stdenv.hostPlatform.isStatic '' - # Upstream build system does not support NOT building shared libraries. - sed -i '/all:/ s/$(LIBGIFSO)//' Makefile - sed -i '/all:/ s/$(LIBUTILSO)//' Makefile - sed -i '/-m 755 $(LIBGIFSO)/ d' Makefile - sed -i '/ln -sf $(LIBGIFSOVER)/ d' Makefile - sed -i '/ln -sf $(LIBGIFSOMAJOR)/ d' Makefile - ''; + postPatch = + '' + # we don't want to build HTML documentation + substituteInPlace doc/Makefile \ + --replace-fail "all: allhtml manpages" "all: manpages" + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + # Upstream build system does not support NOT building shared libraries. + sed -i '/all:/ s/$(LIBGIFSO)//' Makefile + sed -i '/all:/ s/$(LIBUTILSO)//' Makefile + sed -i '/-m 755 $(LIBGIFSO)/ d' Makefile + sed -i '/ln -sf $(LIBGIFSOVER)/ d' Makefile + sed -i '/ln -sf $(LIBGIFSOMAJOR)/ d' Makefile + ''; passthru.tests = { static = pkgsStatic.giflib; diff --git a/pkgs/by-name/gi/gifsicle/package.nix b/pkgs/by-name/gi/gifsicle/package.nix index 974d7f3ed7dac..60f352844e5ec 100644 --- a/pkgs/by-name/gi/gifsicle/package.nix +++ b/pkgs/by-name/gi/gifsicle/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchurl, xorgproto, libXt, libX11 -, gifview ? false -, static ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + xorgproto, + libXt, + libX11, + gifview ? false, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -12,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-snEWRwCf0qExMPO+FgUy7UZTjnYr/A8CDepQYYp9yVA="; }; - buildInputs = lib.optionals gifview [ xorgproto libXt libX11 ]; + buildInputs = lib.optionals gifview [ + xorgproto + libXt + libX11 + ]; configureFlags = lib.optional (!gifview) "--disable-gifview"; diff --git a/pkgs/by-name/gi/gifticlib/package.nix b/pkgs/by-name/gi/gifticlib/package.nix index b305df08860b6..ecfe3f32819ca 100644 --- a/pkgs/by-name/gi/gifticlib/package.nix +++ b/pkgs/by-name/gi/gifticlib/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, expat, nifticlib, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + expat, + nifticlib, + zlib, +}: stdenv.mkDerivation rec { pname = "gifticlib"; @@ -11,10 +19,17 @@ stdenv.mkDerivation rec { sha256 = "0gcab06gm0irjnlrkpszzd4wr8z0fi7gx8f7966gywdp2jlxzw19"; }; - cmakeFlags = [ "-DUSE_SYSTEM_NIFTI=ON" "-DDOWNLOAD_TEST_DATA=OFF" ]; + cmakeFlags = [ + "-DUSE_SYSTEM_NIFTI=ON" + "-DDOWNLOAD_TEST_DATA=OFF" + ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ expat nifticlib zlib ]; + buildInputs = [ + expat + nifticlib + zlib + ]; # without the test data, this is only a few basic tests doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/gi/gigedit/package.nix b/pkgs/by-name/gi/gigedit/package.nix index d53aa51d9b569..47b756b6d72bf 100644 --- a/pkgs/by-name/gi/gigedit/package.nix +++ b/pkgs/by-name/gi/gigedit/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, automake -, intltool -, libtool -, pkg-config -, which -, docbook_xml_dtd_45 -, docbook_xsl -, gtkmm2 -, pangomm_2_42 -, libgig -, libsndfile -, libxslt +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + intltool, + libtool, + pkg-config, + which, + docbook_xml_dtd_45, + docbook_xsl, + gtkmm2, + pangomm_2_42, + libgig, + libsndfile, + libxslt, }: let @@ -30,9 +31,23 @@ stdenv.mkDerivation rec { preConfigure = "make -f Makefile.svn"; - nativeBuildInputs = [ autoconf automake intltool libtool pkg-config which ]; + nativeBuildInputs = [ + autoconf + automake + intltool + libtool + pkg-config + which + ]; - buildInputs = [ docbook_xml_dtd_45 docbook_xsl gtkmm2_with_pango242 libgig libsndfile libxslt ]; + buildInputs = [ + docbook_xml_dtd_45 + docbook_xsl + gtkmm2_with_pango242 + libgig + libsndfile + libxslt + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/gi/gildas/package.nix b/pkgs/by-name/gi/gildas/package.nix index eafc631ef92c1..2e0a781a343df 100644 --- a/pkgs/by-name/gi/gildas/package.nix +++ b/pkgs/by-name/gi/gildas/package.nix @@ -1,9 +1,28 @@ -{ lib, stdenv, fetchurl, gtk2-x11 , pkg-config , python3 , gfortran , lesstif -, cfitsio , getopt , perl , groff , which, darwin, ncurses +{ + lib, + stdenv, + fetchurl, + gtk2-x11, + pkg-config, + python3, + gfortran, + lesstif, + cfitsio, + getopt, + perl, + groff, + which, + darwin, + ncurses, }: let - python3Env = python3.withPackages(ps: with ps; [ numpy setuptools ]); + python3Env = python3.withPackages ( + ps: with ps; [ + numpy + setuptools + ] + ); in stdenv.mkDerivation rec { @@ -14,27 +33,51 @@ stdenv.mkDerivation rec { src = fetchurl { # For each new release, the upstream developers of Gildas move the # source code of the previous release to a different directory - urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" - "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ]; + urls = [ + "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" + "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" + ]; sha256 = "sha256-dZ03J3I1dgoSgSc9yGfO13ZvNawCSYKN3+SGvp1eyGA="; }; - nativeBuildInputs = [ pkg-config groff perl getopt gfortran which ]; + nativeBuildInputs = [ + pkg-config + groff + perl + getopt + gfortran + which + ]; - buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]); + buildInputs = + [ + gtk2-x11 + lesstif + cfitsio + python3Env + ncurses + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; [ CoreFoundation ] + ); - patches = [ ./wrapper.patch ] - ++ lib.optionals stdenv.hostPlatform.isDarwin ([ ./clang.patch ./cpp-darwin.patch ]); + patches = + [ ./wrapper.patch ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ([ + ./clang.patch + ./cpp-darwin.patch + ]); env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument"; # Workaround for https://github.com/NixOS/nixpkgs/issues/304528 env.GAG_CPP = lib.optionalString stdenv.hostPlatform.isDarwin "${gfortran.outPath}/bin/cpp"; - NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; "-F${CoreFoundation}/Library/Frameworks"); + NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; "-F${CoreFoundation}/Library/Frameworks" + ); - configurePhase='' + configurePhase = '' substituteInPlace admin/wrapper.sh --replace '%%OUT%%' $out substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python3Env} substituteInPlace utilities/main/gag-makedepend.pl --replace '/usr/bin/perl' ${perl}/bin/perl @@ -44,7 +87,7 @@ stdenv.mkDerivation rec { userExec = "astro class greg imager mapping sic"; - postInstall='' + postInstall = '' mkdir -p $out/bin cp -a ../gildas-exe-${srcVersion}/* $out mv $out/$GAG_EXEC_SYSTEM $out/libexec @@ -68,7 +111,10 @@ stdenv.mkDerivation rec { plotting, widgets).''; homepage = "http://www.iram.fr/IRAMFR/GILDAS/gildas.html"; license = lib.licenses.free; - maintainers = [ lib.maintainers.bzizou lib.maintainers.smaret ]; + maintainers = [ + lib.maintainers.bzizou + lib.maintainers.smaret + ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/gi/gimme-aws-creds/package.nix b/pkgs/by-name/gi/gimme-aws-creds/package.nix index 69db86d4591d9..986f8d693fc37 100644 --- a/pkgs/by-name/gi/gimme-aws-creds/package.nix +++ b/pkgs/by-name/gi/gimme-aws-creds/package.nix @@ -1,11 +1,12 @@ -{ lib -, installShellFiles -, python3 -, fetchPypi -, fetchFromGitHub -, nix-update-script -, testers -, gimme-aws-creds +{ + lib, + installShellFiles, + python3, + fetchPypi, + fetchFromGitHub, + nix-update-script, + testers, + gimme-aws-creds, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gi/gimoji/package.nix b/pkgs/by-name/gi/gimoji/package.nix index 02fe472ab39e5..5d070b9fb9ab0 100644 --- a/pkgs/by-name/gi/gimoji/package.nix +++ b/pkgs/by-name/gi/gimoji/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gi/gimx/package.nix b/pkgs/by-name/gi/gimx/package.nix index 8f81ab09357de..b2e1372fc35f0 100644 --- a/pkgs/by-name/gi/gimx/package.nix +++ b/pkgs/by-name/gi/gimx/package.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, bluez, libxml2, ncurses5, libmhash, xorg }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + curl, + libusb1, + bluez, + libxml2, + ncurses5, + libmhash, + xorg, +}: let gimx-config = fetchFromGitHub { @@ -8,7 +20,8 @@ let hash = "sha256-t/Ttlvc9LCRW624oSsFaP8EmswJ3OAn86QgF1dCUjAs="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gimx"; version = "8.0"; @@ -21,10 +34,22 @@ in stdenv.mkDerivation rec { }; env.NIX_CFLAGS_COMPILE = "-Wno-error"; - patches = [ ./conf.patch ./gcc14.patch ]; + patches = [ + ./conf.patch + ./gcc14.patch + ]; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ curl libusb1 bluez libxml2 ncurses5 libmhash xorg.libX11 xorg.libXi ]; + buildInputs = [ + curl + libusb1 + bluez + libxml2 + ncurses5 + libmhash + xorg.libX11 + xorg.libXi + ]; makeFlags = [ "build-core" ]; installPhase = '' diff --git a/pkgs/by-name/gi/ginac/package.nix b/pkgs/by-name/gi/ginac/package.nix index d2713befed382..1f65047da6d71 100644 --- a/pkgs/by-name/gi/ginac/package.nix +++ b/pkgs/by-name/gi/ginac/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python3 }: +{ + lib, + stdenv, + fetchurl, + cln, + pkg-config, + readline, + gmp, + python3, +}: stdenv.mkDerivation rec { pname = "ginac"; @@ -11,10 +20,12 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ cln ]; - buildInputs = [ readline ] - ++ lib.optional stdenv.hostPlatform.isDarwin gmp; + buildInputs = [ readline ] ++ lib.optional stdenv.hostPlatform.isDarwin gmp; - nativeBuildInputs = [ pkg-config python3 ]; + nativeBuildInputs = [ + pkg-config + python3 + ]; strictDeps = true; diff --git a/pkgs/by-name/gi/ginkgo/package.nix b/pkgs/by-name/gi/ginkgo/package.nix index f4174272e40e4..e80d7d013673e 100644 --- a/pkgs/by-name/gi/ginkgo/package.nix +++ b/pkgs/by-name/gi/ginkgo/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, ginkgo }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + ginkgo, +}: buildGoModule rec { pname = "ginkgo"; @@ -14,7 +20,10 @@ buildGoModule rec { # integration tests expect more file changes # types tests are missing CodeLocation - excludedPackages = [ "integration" "types" ]; + excludedPackages = [ + "integration" + "types" + ]; __darwinAllowLocalNetworking = true; @@ -40,6 +49,9 @@ buildGoModule rec { integration tests, acceptance test, performance tests, etc. ''; license = licenses.mit; - maintainers = with maintainers; [ saschagrunert jk ]; + maintainers = with maintainers; [ + saschagrunert + jk + ]; }; } diff --git a/pkgs/by-name/gi/gio-sharp/package.nix b/pkgs/by-name/gi/gio-sharp/package.nix index 91fbb86bd669a..67047b2e4fedf 100644 --- a/pkgs/by-name/gi/gio-sharp/package.nix +++ b/pkgs/by-name/gi/gio-sharp/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, which, pkg-config, mono, glib, gtk-sharp-2_0 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + which, + pkg-config, + mono, + glib, + gtk-sharp-2_0, +}: stdenv.mkDerivation rec { pname = "gio-sharp"; @@ -12,8 +23,17 @@ stdenv.mkDerivation rec { sha256 = "13pc529pjabj7lq23dbndc26ssmg5wkhc7lfvwapm87j711m0zig"; }; - nativeBuildInputs = [ pkg-config autoconf automake which ]; - buildInputs = [ mono glib gtk-sharp-2_0 ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + which + ]; + buildInputs = [ + mono + glib + gtk-sharp-2_0 + ]; dontStrip = true; diff --git a/pkgs/by-name/gi/giph/package.nix b/pkgs/by-name/gi/giph/package.nix index 9d0175911d690..88bc15b67a928 100644 --- a/pkgs/by-name/gi/giph/package.nix +++ b/pkgs/by-name/gi/giph/package.nix @@ -1,12 +1,13 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, ffmpeg -, xdotool -, slop -, libnotify -, procps -, makeWrapper +{ + stdenvNoCC, + lib, + fetchFromGitHub, + ffmpeg, + xdotool, + slop, + libnotify, + procps, + makeWrapper, }: stdenvNoCC.mkDerivation rec { @@ -30,7 +31,15 @@ stdenvNoCC.mkDerivation rec { postInstall = '' wrapProgram $out/bin/giph \ - --prefix PATH : ${lib.makeBinPath [ ffmpeg xdotool libnotify slop procps ]} + --prefix PATH : ${ + lib.makeBinPath [ + ffmpeg + xdotool + libnotify + slop + procps + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/gi/gir-rs/package.nix b/pkgs/by-name/gi/gir-rs/package.nix index afdfbda2c54e9..d0dde89104160 100644 --- a/pkgs/by-name/gi/gir-rs/package.nix +++ b/pkgs/by-name/gi/gir-rs/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: let version = "0.17.1"; diff --git a/pkgs/by-name/gi/girouette/package.nix b/pkgs/by-name/gi/girouette/package.nix index 09b0d61fccc93..26b926f381af9 100644 --- a/pkgs/by-name/gi/girouette/package.nix +++ b/pkgs/by-name/gi/girouette/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, dbus -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + dbus, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,19 +26,27 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - dbus - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + dbus + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Show the weather in the terminal, in style"; homepage = "https://github.com/gourlaysama/girouette"; changelog = "https://github.com/gourlaysama/girouette/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ linuxissuper cafkafk ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + linuxissuper + cafkafk + ]; mainProgram = "girouette"; }; } diff --git a/pkgs/by-name/gi/girsh/package.nix b/pkgs/by-name/gi/girsh/package.nix index ebec6f968df8c..710abe7b0ab2c 100644 --- a/pkgs/by-name/gi/girsh/package.nix +++ b/pkgs/by-name/gi/girsh/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/gi/gist/package.nix b/pkgs/by-name/gi/gist/package.nix index d2676b379970e..153582afc71e8 100644 --- a/pkgs/by-name/gi/gist/package.nix +++ b/pkgs/by-name/gi/gist/package.nix @@ -1,4 +1,8 @@ -{ buildRubyGem, lib, ruby }: +{ + buildRubyGem, + lib, + ruby, +}: buildRubyGem rec { inherit ruby; diff --git a/pkgs/by-name/gi/git-agecrypt/package.nix b/pkgs/by-name/gi/git-agecrypt/package.nix index bdd9beba175db..e2a2c502031e0 100644 --- a/pkgs/by-name/gi/git-agecrypt/package.nix +++ b/pkgs/by-name/gi/git-agecrypt/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin -, libgit2 -, git -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + libgit2, + git, + pkg-config, + zlib, }: rustPlatform.buildRustPackage { @@ -22,11 +23,15 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-FmlJeWMIIyTsg3TTLUia14et+aTgFCTkOr1J5dp0SGY="; - nativeBuildInputs = [ pkg-config git ]; - - buildInputs = [ libgit2 zlib ] - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; + nativeBuildInputs = [ + pkg-config + git + ]; + buildInputs = [ + libgit2 + zlib + ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; meta = with lib; { description = "Alternative to git-crypt using age instead of GPG"; diff --git a/pkgs/by-name/gi/git-aggregator/package.nix b/pkgs/by-name/gi/git-aggregator/package.nix index 740f805d12c58..5c95e7debed40 100644 --- a/pkgs/by-name/gi/git-aggregator/package.nix +++ b/pkgs/by-name/gi/git-aggregator/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, git }: +{ + lib, + python3Packages, + fetchPypi, + git, +}: python3Packages.buildPythonApplication rec { pname = "git-aggregator"; diff --git a/pkgs/by-name/gi/git-annex-remote-rclone/package.nix b/pkgs/by-name/gi/git-annex-remote-rclone/package.nix index 4d1a7b2ade1d8..903c0286020b5 100644 --- a/pkgs/by-name/gi/git-annex-remote-rclone/package.nix +++ b/pkgs/by-name/gi/git-annex-remote-rclone/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub, rclone, makeWrapper }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + rclone, + makeWrapper, +}: stdenvNoCC.mkDerivation rec { pname = "git-annex-remote-rclone"; diff --git a/pkgs/by-name/gi/git-annex-utils/package.nix b/pkgs/by-name/gi/git-annex-utils/package.nix index 2b63192ea3b08..bf9fd8d708983 100644 --- a/pkgs/by-name/gi/git-annex-utils/package.nix +++ b/pkgs/by-name/gi/git-annex-utils/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchgit, autoconf, automake, libtool, gmp }: +{ + lib, + stdenv, + fetchgit, + autoconf, + automake, + libtool, + gmp, +}: stdenv.mkDerivation rec { pname = "git-annex-utils"; @@ -8,8 +16,14 @@ stdenv.mkDerivation rec { rev = "531bb33"; sha256 = "1sv7s2ykc840cjwbfn7ayy743643x9i1lvk4cd55w9l052xvzj65"; }; - nativeBuildInputs = [ autoconf automake ]; - buildInputs = [ libtool gmp ]; + nativeBuildInputs = [ + autoconf + automake + ]; + buildInputs = [ + libtool + gmp + ]; preConfigure = "./autogen.sh"; meta = { diff --git a/pkgs/by-name/gi/git-appraise/package.nix b/pkgs/by-name/gi/git-appraise/package.nix index cc77bf5aca65c..f1b682f24574a 100644 --- a/pkgs/by-name/gi/git-appraise/package.nix +++ b/pkgs/by-name/gi/git-appraise/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "git-appraise"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-Lzq4qpDAUjKFA2T685eW9NCfzEhDsn5UR1A1cIaZadE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Distributed code review system for Git repos"; diff --git a/pkgs/by-name/gi/git-backdate/package.nix b/pkgs/by-name/gi/git-backdate/package.nix index 0d7d5810b9a87..7e4c29834edbc 100644 --- a/pkgs/by-name/gi/git-backdate/package.nix +++ b/pkgs/by-name/gi/git-backdate/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "git-backdate"; @@ -29,4 +34,3 @@ stdenv.mkDerivation rec { mainProgram = "git-backdate"; }; } - diff --git a/pkgs/by-name/gi/git-bars/package.nix b/pkgs/by-name/gi/git-bars/package.nix index 66ae9bf2987bc..31dd185e2ca74 100644 --- a/pkgs/by-name/gi/git-bars/package.nix +++ b/pkgs/by-name/gi/git-bars/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, git }: +{ + lib, + fetchFromGitHub, + python3Packages, + git, +}: python3Packages.buildPythonApplication { pname = "git-bars"; diff --git a/pkgs/by-name/gi/git-big-picture/package.nix b/pkgs/by-name/gi/git-big-picture/package.nix index a3ac58c04be8e..43d127a2aae7d 100644 --- a/pkgs/by-name/gi/git-big-picture/package.nix +++ b/pkgs/by-name/gi/git-big-picture/package.nix @@ -1,4 +1,10 @@ -{ lib, python3Packages, fetchPypi, git, graphviz }: +{ + lib, + python3Packages, + fetchPypi, + git, + graphviz, +}: python3Packages.buildPythonApplication rec { pname = "git-big-picture"; @@ -14,7 +20,12 @@ python3Packages.buildPythonApplication rec { postFixup = '' wrapProgram $out/bin/git-big-picture \ - --prefix PATH ":" ${ lib.makeBinPath [ git graphviz ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + git + graphviz + ] + } ''; meta = { diff --git a/pkgs/by-name/gi/git-bug-migration/package.nix b/pkgs/by-name/gi/git-bug-migration/package.nix index 45e90c521f104..df18c4fe85363 100644 --- a/pkgs/by-name/gi/git-bug-migration/package.nix +++ b/pkgs/by-name/gi/git-bug-migration/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ + lib, + buildGoModule, + fetchFromGitHub, + git, +}: buildGoModule rec { pname = "git-bug-migration"; version = "0.3.4"; @@ -25,7 +30,7 @@ buildGoModule rec { git config --global user.email 'nobody@localhost' ''; - meta = with lib; { + meta = with lib; { description = "Tool for upgrading repositories using git-bug to new versions"; homepage = "https://github.com/MichaelMure/git-bug-migration"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/gi/git-bug/package.nix b/pkgs/by-name/gi/git-bug/package.nix index 7db43130ab4c6..5423593e92deb 100644 --- a/pkgs/by-name/gi/git-bug/package.nix +++ b/pkgs/by-name/gi/git-bug/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "git-bug"; @@ -17,7 +22,10 @@ buildGoModule rec { doCheck = false; - excludedPackages = [ "doc" "misc" ]; + excludedPackages = [ + "doc" + "misc" + ]; ldflags = [ "-X github.com/MichaelMure/git-bug/commands.GitCommit=v${version}" @@ -38,7 +46,11 @@ buildGoModule rec { description = "Distributed bug tracker embedded in Git"; homepage = "https://github.com/git-bug/git-bug"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ royneary DeeUnderscore sudoforge ]; + maintainers = with maintainers; [ + royneary + DeeUnderscore + sudoforge + ]; mainProgram = "git-bug"; }; } diff --git a/pkgs/by-name/gi/git-cache/package.nix b/pkgs/by-name/gi/git-cache/package.nix index a099f92f504db..8cf12ec7ca2be 100644 --- a/pkgs/by-name/gi/git-cache/package.nix +++ b/pkgs/by-name/gi/git-cache/package.nix @@ -1,4 +1,8 @@ -{fetchFromGitHub, lib, stdenv}: +{ + fetchFromGitHub, + lib, + stdenv, +}: stdenv.mkDerivation { pname = "git-cache"; diff --git a/pkgs/by-name/gi/git-chglog/package.nix b/pkgs/by-name/gi/git-chglog/package.nix index eccc508fc257a..26b05361c7fc8 100644 --- a/pkgs/by-name/gi/git-chglog/package.nix +++ b/pkgs/by-name/gi/git-chglog/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "git-chglog"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-skhEHpSnxOTZrL8XLlQZL3s224mg8XRINKJnatYCQko="; - ldflags = [ "-s" "-w" "-X=main.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=v${version}" + ]; subPackages = [ "cmd/git-chglog" ]; diff --git a/pkgs/by-name/gi/git-codeowners/package.nix b/pkgs/by-name/gi/git-codeowners/package.nix index aff55a0a89773..b206a4312c800 100644 --- a/pkgs/by-name/gi/git-codeowners/package.nix +++ b/pkgs/by-name/gi/git-codeowners/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "git-codeowners"; version = "0.1.2"; diff --git a/pkgs/by-name/gi/git-codereview/package.nix b/pkgs/by-name/gi/git-codereview/package.nix index aa847461d390e..fca3b46ffa63d 100644 --- a/pkgs/by-name/gi/git-codereview/package.nix +++ b/pkgs/by-name/gi/git-codereview/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ + lib, + buildGoModule, + fetchFromGitHub, + git, +}: buildGoModule rec { pname = "git-codereview"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeCheckInputs = [ git ]; diff --git a/pkgs/by-name/gi/git-cola/package.nix b/pkgs/by-name/gi/git-cola/package.nix index 7baf0662465af..aef8a4604e610 100644 --- a/pkgs/by-name/gi/git-cola/package.nix +++ b/pkgs/by-name/gi/git-cola/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, python3Packages -, gettext -, git -, qt5 -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + python3Packages, + gettext, + git, + qt5, + gitUpdater, }: python3Packages.buildPythonApplication rec { @@ -44,12 +45,14 @@ python3Packages.buildPythonApplication rec { pytestCheckHook ]; - disabledTestPaths = [ - "qtpy/" - "contrib/win32" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "cola/inotify.py" - ]; + disabledTestPaths = + [ + "qtpy/" + "contrib/win32" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "cola/inotify.py" + ]; preFixup = '' makeWrapperArgs+=("''${qtWrapperArgs[@]}") diff --git a/pkgs/by-name/gi/git-crecord/package.nix b/pkgs/by-name/gi/git-crecord/package.nix index 5365dc4e43aeb..b5eec22bedc27 100644 --- a/pkgs/by-name/gi/git-crecord/package.nix +++ b/pkgs/by-name/gi/git-crecord/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3 }: +{ + lib, + fetchFromGitHub, + python3, +}: python3.pkgs.buildPythonApplication rec { pname = "git-crecord"; diff --git a/pkgs/by-name/gi/git-credential-oauth/package.nix b/pkgs/by-name/gi/git-credential-oauth/package.nix index 56c554da54464..9e095b2279d74 100644 --- a/pkgs/by-name/gi/git-credential-oauth/package.nix +++ b/pkgs/by-name/gi/git-credential-oauth/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "git-credential-oauth"; diff --git a/pkgs/by-name/gi/git-crypt/package.nix b/pkgs/by-name/gi/git-crypt/package.nix index 2355f48bcb779..367338d601947 100644 --- a/pkgs/by-name/gi/git-crypt/package.nix +++ b/pkgs/by-name/gi/git-crypt/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, git -, gnupg -, makeWrapper -, openssl -, lib -, stdenv -, libxslt -, docbook_xsl +{ + fetchFromGitHub, + git, + gnupg, + makeWrapper, + openssl, + lib, + stdenv, + libxslt, + docbook_xsl, }: stdenv.mkDerivation rec { @@ -22,7 +23,10 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ libxslt makeWrapper ]; + nativeBuildInputs = [ + libxslt + makeWrapper + ]; buildInputs = [ openssl ]; @@ -44,7 +48,12 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/git-crypt \ - --suffix PATH : ${lib.makeBinPath [ git gnupg ]} + --suffix PATH : ${ + lib.makeBinPath [ + git + gnupg + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/gi/git-delete-merged-branches/package.nix b/pkgs/by-name/gi/git-delete-merged-branches/package.nix index 423dc72d24ffd..0287e5ed59030 100644 --- a/pkgs/by-name/gi/git-delete-merged-branches/package.nix +++ b/pkgs/by-name/gi/git-delete-merged-branches/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchFromGitHub, git }: +{ + lib, + python3Packages, + fetchFromGitHub, + git, +}: python3Packages.buildPythonApplication rec { pname = "git-delete-merged-branches"; @@ -16,8 +21,7 @@ python3Packages.buildPythonApplication rec { prompt-toolkit ]; - nativeCheckInputs = [ git ] - ++ (with python3Packages; [ parameterized ]); + nativeCheckInputs = [ git ] ++ (with python3Packages; [ parameterized ]); meta = with lib; { description = "Command-line tool to delete merged Git branches"; diff --git a/pkgs/by-name/gi/git-dive/package.nix b/pkgs/by-name/gi/git-dive/package.nix index b80397e142bf4..1f0c479abb4ce 100644 --- a/pkgs/by-name/gi/git-dive/package.nix +++ b/pkgs/by-name/gi/git-dive/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, oniguruma -, zlib -, stdenv -, darwin -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + oniguruma, + zlib, + stdenv, + darwin, + git, }: rustPlatform.buildRustPackage rec { @@ -27,13 +28,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - oniguruma - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libgit2 + oniguruma + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; nativeCheckInputs = [ git @@ -62,7 +65,10 @@ rustPlatform.buildRustPackage rec { description = "Dive into a file's history to find root cause"; homepage = "https://github.com/gitext-rs/git-dive"; changelog = "https://github.com/gitext-rs/git-dive/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "git-dive"; }; diff --git a/pkgs/by-name/gi/git-extras/package.nix b/pkgs/by-name/gi/git-extras/package.nix index 53382b2c24034..630542f0e4e00 100644 --- a/pkgs/by-name/gi/git-extras/package.nix +++ b/pkgs/by-name/gi/git-extras/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, unixtools -, which +{ + lib, + stdenv, + fetchFromGitHub, + unixtools, + which, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gi/git-fire/package.nix b/pkgs/by-name/gi/git-fire/package.nix index bc7e9f4840b71..5916ed953d7eb 100644 --- a/pkgs/by-name/gi/git-fire/package.nix +++ b/pkgs/by-name/gi/git-fire/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "git-fire"; diff --git a/pkgs/by-name/gi/git-ftp/package.nix b/pkgs/by-name/gi/git-ftp/package.nix index a3087249caddb..85e56bb310ba9 100644 --- a/pkgs/by-name/gi/git-ftp/package.nix +++ b/pkgs/by-name/gi/git-ftp/package.nix @@ -1,19 +1,20 @@ -{ lib -, resholve -, fetchFromGitHub -, fetchpatch -, bash -, coreutils -, git -, gnugrep -, gawk -, curl -, hostname -, gnused -, findutils -, lftp -, pandoc -, man +{ + lib, + resholve, + fetchFromGitHub, + fetchpatch, + bash, + coreutils, + git, + gnugrep, + gawk, + curl, + hostname, + gnused, + findutils, + lftp, + pandoc, + man, }: resholve.mkDerivation rec { @@ -42,7 +43,10 @@ resholve.mkDerivation rec { make install-all prefix=$out ''; - nativeBuildInputs = [ pandoc man ]; + nativeBuildInputs = [ + pandoc + man + ]; solutions = { git-ftp = { @@ -76,13 +80,13 @@ resholve.mkDerivation rec { # checked and see no obvious subexec for now "cannot:${git}/bin/git" /* - Mild uncertainty here. There *are* commandlikes in - the arguments (especially wait & cd), but I think they are - fine as-is, because I'm reading them as: - 1. ftp commands - 2. running on the remote anyways + Mild uncertainty here. There *are* commandlikes in + the arguments (especially wait & cd), but I think they are + fine as-is, because I'm reading them as: + 1. ftp commands + 2. running on the remote anyways - See https://github.com/git-ftp/git-ftp/blob/057f7d8e9f00ffc5a8c6ceaa4be30af2939df41a/git-ftp#L1214-L1221 + See https://github.com/git-ftp/git-ftp/blob/057f7d8e9f00ffc5a8c6ceaa4be30af2939df41a/git-ftp#L1214-L1221 */ "cannot:${lftp}/bin/lftp" ]; diff --git a/pkgs/by-name/gi/git-get/package.nix b/pkgs/by-name/gi/git-get/package.nix index 8e6bea06ab7f2..ccdfbf5e67f2e 100644 --- a/pkgs/by-name/gi/git-get/package.nix +++ b/pkgs/by-name/gi/git-get/package.nix @@ -1,6 +1,11 @@ -{ lib, fetchFromGitHub, buildGoModule }: - -let config-module = "git-get/pkg/cfg"; +{ + lib, + fetchFromGitHub, + buildGoModule, +}: + +let + config-module = "git-get/pkg/cfg"; in buildGoModule rec { pname = "git-get"; diff --git a/pkgs/by-name/gi/git-gr/package.nix b/pkgs/by-name/gi/git-gr/package.nix index a50d389c04d05..60f61e430cd45 100644 --- a/pkgs/by-name/gi/git-gr/package.nix +++ b/pkgs/by-name/gi/git-gr/package.nix @@ -33,9 +33,7 @@ rustPlatform.buildRustPackage { OPENSSL_NO_VENDOR = true; - nativeBuildInputs = - [installShellFiles] - ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; + nativeBuildInputs = [ installShellFiles ] ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; buildInputs = lib.optional stdenv.hostPlatform.isLinux openssl diff --git a/pkgs/by-name/gi/git-graph/package.nix b/pkgs/by-name/gi/git-graph/package.nix index 3cfda78c3af18..9c5902319aa51 100644 --- a/pkgs/by-name/gi/git-graph/package.nix +++ b/pkgs/by-name/gi/git-graph/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -22,7 +23,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/mlange-42/git-graph"; license = licenses.mit; broken = stdenv.hostPlatform.isDarwin; - maintainers = with maintainers; [ cafkafk matthiasbeyer ]; + maintainers = with maintainers; [ + cafkafk + matthiasbeyer + ]; mainProgram = "git-graph"; }; } diff --git a/pkgs/by-name/gi/git-hound/package.nix b/pkgs/by-name/gi/git-hound/package.nix index 86efeef1c4445..67431b03b7474 100644 --- a/pkgs/by-name/gi/git-hound/package.nix +++ b/pkgs/by-name/gi/git-hound/package.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, fetchpatch -, lib +{ + buildGoModule, + fetchFromGitHub, + fetchpatch, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/gi/git-hub/package.nix b/pkgs/by-name/gi/git-hub/package.nix index 907721f882b3b..33f3ea47d452c 100644 --- a/pkgs/by-name/gi/git-hub/package.nix +++ b/pkgs/by-name/gi/git-hub/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, gitMinimal, docutils }: +{ + lib, + stdenv, + fetchFromGitHub, + gitMinimal, + docutils, +}: stdenv.mkDerivation rec { pname = "git-hub"; @@ -12,7 +18,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - gitMinimal # Used during build to generate Bash completion. + gitMinimal # Used during build to generate Bash completion. docutils ]; @@ -22,7 +28,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - installFlags = [ "prefix=$(out)" "sysconfdir=$(out)/etc" ]; + installFlags = [ + "prefix=$(out)" + "sysconfdir=$(out)/etc" + ]; postInstall = '' # Remove inert ftdetect vim plugin and a README that's a man page subset: diff --git a/pkgs/by-name/gi/git-ignore/package.nix b/pkgs/by-name/gi/git-ignore/package.nix index 12f4f02fd0a20..b418e4ded43d2 100644 --- a/pkgs/by-name/gi/git-ignore/package.nix +++ b/pkgs/by-name/gi/git-ignore/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gi/git-instafix/package.nix b/pkgs/by-name/gi/git-instafix/package.nix index 18ab6f5fa0bd8..90abdb11e819b 100644 --- a/pkgs/by-name/gi/git-instafix/package.nix +++ b/pkgs/by-name/gi/git-instafix/package.nix @@ -1,13 +1,13 @@ -{ git -, lib -, libgit2 -, rustPlatform -, stdenv -, fetchFromGitHub +{ + git, + lib, + libgit2, + rustPlatform, + stdenv, + fetchFromGitHub, }: let - inherit - (lib) + inherit (lib) licenses maintainers ; @@ -34,8 +34,14 @@ rustPlatform.buildRustPackage { description = "Quickly fix up an old commit using your currently-staged changes"; mainProgram = "git-instafix"; homepage = "https://github.com/quodlibetor/git-instafix"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ mightyiam quodlibetor ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + mightyiam + quodlibetor + ]; changelog = "https://github.com/quodlibetor/git-instafix/releases/tag/v${version}"; broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix b/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix index fef465d9446e6..534db5bfb1b56 100644 --- a/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix +++ b/pkgs/by-name/gi/git-interactive-rebase-tool/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, apple-sdk_11 }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + apple-sdk_11, +}: rustPlatform.buildRustPackage rec { pname = "git-interactive-rebase-tool"; @@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-9pUUKxPpyoX9f10ZiLWsol2rv66WzQqwa6VubRTrT9Y="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv apple-sdk_11 ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + apple-sdk_11 + ]; # Compilation during tests fails if this env var is not set. preCheck = "export GIRT_BUILD_GIT_HASH=${version}"; @@ -24,7 +34,11 @@ rustPlatform.buildRustPackage rec { description = "Native cross platform full feature terminal based sequence editor for git interactive rebase"; changelog = "https://github.com/MitMaro/git-interactive-rebase-tool/releases/tag/${version}"; license = licenses.mit; - maintainers = with maintainers; [ SuperSandro2000 zowoq ma27 ]; + maintainers = with maintainers; [ + SuperSandro2000 + zowoq + ma27 + ]; mainProgram = "interactive-rebase-tool"; }; } diff --git a/pkgs/by-name/gi/git-latexdiff/package.nix b/pkgs/by-name/gi/git-latexdiff/package.nix index e7e4351a2088b..c7de4b4143808 100644 --- a/pkgs/by-name/gi/git-latexdiff/package.nix +++ b/pkgs/by-name/gi/git-latexdiff/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, git, bash }: +{ + lib, + stdenv, + fetchFromGitLab, + git, + bash, +}: stdenv.mkDerivation rec { version = "1.6.0"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { owner = "git-latexdiff"; }; - buildInputs = [ git bash ]; + buildInputs = [ + git + bash + ]; dontBuild = true; diff --git a/pkgs/by-name/gi/git-octopus/package.nix b/pkgs/by-name/gi/git-octopus/package.nix index 3865c9ac83b88..3fae553d19e6b 100644 --- a/pkgs/by-name/gi/git-octopus/package.nix +++ b/pkgs/by-name/gi/git-octopus/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, git, perl, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + git, + perl, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "git-octopus"; @@ -11,7 +18,12 @@ stdenv.mkDerivation rec { # perl provides shasum postInstall = '' for f in $out/bin/*; do - wrapProgram $f --prefix PATH : ${lib.makeBinPath [ git perl ]} + wrapProgram $f --prefix PATH : ${ + lib.makeBinPath [ + git + perl + ] + } done ''; @@ -27,6 +39,6 @@ stdenv.mkDerivation rec { description = "Continuous merge workflow"; license = licenses.lgpl3; platforms = platforms.unix; - maintainers = [maintainers.mic92]; + maintainers = [ maintainers.mic92 ]; }; } diff --git a/pkgs/by-name/gi/git-open/package.nix b/pkgs/by-name/gi/git-open/package.nix index 01d03dfef7845..61dbfbd172d4e 100644 --- a/pkgs/by-name/gi/git-open/package.nix +++ b/pkgs/by-name/gi/git-open/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, xdg-utils, gnugrep, fetchFromGitHub, installShellFiles, makeWrapper, pandoc }: +{ + lib, + stdenv, + xdg-utils, + gnugrep, + fetchFromGitHub, + installShellFiles, + makeWrapper, + pandoc, +}: stdenv.mkDerivation rec { pname = "git-open"; @@ -11,7 +20,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-bZOknoRMkPqm1pFFFbvrHrSi90ANLEE5fLcABYHov6Q="; }; - nativeBuildInputs = [ installShellFiles makeWrapper pandoc ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + pandoc + ]; buildPhase = '' # marked-man is broken and severly outdated. diff --git a/pkgs/by-name/gi/git-privacy/package.nix b/pkgs/by-name/gi/git-privacy/package.nix index 3d3d7521f28dc..e058e8d5ced30 100644 --- a/pkgs/by-name/gi/git-privacy/package.nix +++ b/pkgs/by-name/gi/git-privacy/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, git -, python3 +{ + lib, + fetchFromGitHub, + git, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gi/git-pw/package.nix b/pkgs/by-name/gi/git-pw/package.nix index e5e7bfb2113a2..24961845d1e99 100644 --- a/pkgs/by-name/gi/git-pw/package.nix +++ b/pkgs/by-name/gi/git-pw/package.nix @@ -1,9 +1,10 @@ -{ lib -, git -, python3 -, fetchFromGitHub -, testers -, git-pw +{ + lib, + git, + python3, + fetchFromGitHub, + testers, + git-pw, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gi/git-quick-stats/package.nix b/pkgs/by-name/gi/git-quick-stats/package.nix index 113388c48cd30..cf7bd82b0c021 100644 --- a/pkgs/by-name/gi/git-quick-stats/package.nix +++ b/pkgs/by-name/gi/git-quick-stats/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, makeWrapper -, coreutils -, gawk -, git -, gnugrep -, ncurses -, util-linux +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + gawk, + git, + gnugrep, + ncurses, + util-linux, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gi/git-radar/package.nix b/pkgs/by-name/gi/git-radar/package.nix index 59ec4b61d85c2..6b53ea4e067bd 100644 --- a/pkgs/by-name/gi/git-radar/package.nix +++ b/pkgs/by-name/gi/git-radar/package.nix @@ -1,4 +1,10 @@ -{ coreutils-prefixed, lib, makeWrapper, stdenv, fetchFromGitHub }: +{ + coreutils-prefixed, + lib, + makeWrapper, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "git-radar"; diff --git a/pkgs/by-name/gi/git-releaser/package.nix b/pkgs/by-name/gi/git-releaser/package.nix index 10cf95a2ec7e4..0a46e3e98cd42 100644 --- a/pkgs/by-name/gi/git-releaser/package.nix +++ b/pkgs/by-name/gi/git-releaser/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/gi/git-relevant-history/package.nix b/pkgs/by-name/gi/git-relevant-history/package.nix index 063aa3215705b..98dd80e3aa092 100644 --- a/pkgs/by-name/gi/git-relevant-history/package.nix +++ b/pkgs/by-name/gi/git-relevant-history/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, python3, git, git-filter-repo }: +{ + lib, + fetchFromGitHub, + python3, + git, + git-filter-repo, +}: python3.pkgs.buildPythonApplication rec { pname = "git-relevant-history"; @@ -10,7 +16,8 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-46a6TR1Hi3Lg2DTmOp1aV5Uhd4IukTojZkA3TVbTnRY="; }; propagatedBuildInputs = [ - git git-filter-repo + git + git-filter-repo python3.pkgs.docopt ]; diff --git a/pkgs/by-name/gi/git-remote-gcrypt/package.nix b/pkgs/by-name/gi/git-remote-gcrypt/package.nix index d3f53b704eeb0..fc1b830ada719 100644 --- a/pkgs/by-name/gi/git-remote-gcrypt/package.nix +++ b/pkgs/by-name/gi/git-remote-gcrypt/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, docutils, makeWrapper -, gnupg, curl, rsync, coreutils -, gawk, gnused, gnugrep +{ + lib, + stdenv, + fetchFromGitHub, + docutils, + makeWrapper, + gnupg, + curl, + rsync, + coreutils, + gawk, + gnused, + gnugrep, }: stdenv.mkDerivation rec { @@ -15,22 +25,40 @@ stdenv.mkDerivation rec { sha256 = "sha256-uy6s3YQwY/aZmQoW/qe1YrSlfNHyDTXBFxB6fPGiPNQ="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ docutils makeWrapper ]; + nativeBuildInputs = [ + docutils + makeWrapper + ]; installPhase = '' prefix="$out" ./install.sh wrapProgram "$out/bin/git-remote-gcrypt" \ - --prefix PATH ":" "${lib.makeBinPath [ gnupg curl rsync coreutils - gawk gnused gnugrep ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + gnupg + curl + rsync + coreutils + gawk + gnused + gnugrep + ] + }" ''; meta = with lib; { homepage = "https://spwhitton.name/tech/code/git-remote-gcrypt"; description = "Git remote helper for GPG-encrypted remotes"; license = licenses.gpl3; - maintainers = with maintainers; [ ellis montag451 ]; + maintainers = with maintainers; [ + ellis + montag451 + ]; platforms = platforms.unix; mainProgram = "git-remote-gcrypt"; }; diff --git a/pkgs/by-name/gi/git-remote-hg/package.nix b/pkgs/by-name/gi/git-remote-hg/package.nix index 76f40911f0763..4a7435d7c2947 100644 --- a/pkgs/by-name/gi/git-remote-hg/package.nix +++ b/pkgs/by-name/gi/git-remote-hg/package.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, python3Packages -, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2 +{ + lib, + fetchFromGitHub, + python3Packages, + asciidoc, + xmlto, + docbook_xsl, + docbook_xml_dtd_45, + libxslt, + libxml2, }: python3Packages.buildPythonApplication rec { @@ -14,7 +22,12 @@ python3Packages.buildPythonApplication rec { }; nativeBuildInputs = [ - asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt libxml2 + asciidoc + xmlto + docbook_xsl + docbook_xml_dtd_45 + libxslt + libxml2 ]; propagatedBuildInputs = with python3Packages; [ mercurial ]; diff --git a/pkgs/by-name/gi/git-reparent/package.nix b/pkgs/by-name/gi/git-reparent/package.nix index 38a66d6db1db6..dfe77ba1c09cd 100644 --- a/pkgs/by-name/gi/git-reparent/package.nix +++ b/pkgs/by-name/gi/git-reparent/package.nix @@ -1,13 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, git, gnused }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + git, + gnused, +}: stdenv.mkDerivation rec { pname = "git-reparent"; version = "unstable-2017-09-03"; src = fetchFromGitHub { - owner = "MarkLodato"; - repo = "git-reparent"; - rev = "a99554a32524a86421659d0f61af2a6c784b7715"; + owner = "MarkLodato"; + repo = "git-reparent"; + rev = "a99554a32524a86421659d0f61af2a6c784b7715"; sha256 = "0v0yxydpw6r4awy0hb7sbnh520zsk86ibzh1xjf3983yhsvkfk5v"; }; @@ -20,7 +27,12 @@ stdenv.mkDerivation rec { ''; postFixup = '' - wrapProgram $out/bin/git-reparent --prefix PATH : "${lib.makeBinPath [ git gnused ]}" + wrapProgram $out/bin/git-reparent --prefix PATH : "${ + lib.makeBinPath [ + git + gnused + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/gi/git-repo/package.nix b/pkgs/by-name/gi/git-repo/package.nix index 6d22522f82d52..620d5e562ee9b 100644 --- a/pkgs/by-name/gi/git-repo/package.nix +++ b/pkgs/by-name/gi/git-repo/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, nix-update-script -, python3, git, gnupg, less, openssh +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + nix-update-script, + python3, + git, + gnupg, + less, + openssh, }: stdenv.mkDerivation rec { @@ -37,7 +46,14 @@ stdenv.mkDerivation rec { # Important runtime dependencies postFixup = '' wrapProgram $out/bin/repo --prefix PATH ":" \ - "${lib.makeBinPath [ git gnupg less openssh ]}" + "${ + lib.makeBinPath [ + git + gnupg + less + openssh + ] + }" ''; passthru = { diff --git a/pkgs/by-name/gi/git-run/package.nix b/pkgs/by-name/gi/git-run/package.nix index a9f257b24bc66..a50242ccef3a2 100644 --- a/pkgs/by-name/gi/git-run/package.nix +++ b/pkgs/by-name/gi/git-run/package.nix @@ -1,7 +1,7 @@ { lib, buildNpmPackage, - fetchFromGitHub + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/gi/git-secret/package.nix b/pkgs/by-name/gi/git-secret/package.nix index 6c0613a28df7a..774eb3f825ba9 100644 --- a/pkgs/by-name/gi/git-secret/package.nix +++ b/pkgs/by-name/gi/git-secret/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + git, + gnupg, + gawk, +}: stdenv.mkDerivation rec { pname = "git-secret"; @@ -17,7 +25,13 @@ stdenv.mkDerivation rec { install -D git-secret $out/bin/git-secret wrapProgram $out/bin/git-secret \ - --prefix PATH : "${lib.makeBinPath [ git gnupg gawk ]}" + --prefix PATH : "${ + lib.makeBinPath [ + git + gnupg + gawk + ] + }" mkdir $out/share cp -r man $out/share diff --git a/pkgs/by-name/gi/git-secrets/package.nix b/pkgs/by-name/gi/git-secrets/package.nix index a2f2045a3ddcf..314bdecb74d7b 100644 --- a/pkgs/by-name/gi/git-secrets/package.nix +++ b/pkgs/by-name/gi/git-secrets/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, git, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + git, + coreutils, +}: stdenv.mkDerivation rec { pname = "git-secrets"; @@ -20,7 +27,12 @@ stdenv.mkDerivation rec { install -m444 -Dt $out/share/man/man1 git-secrets.1 wrapProgram $out/bin/git-secrets \ - --prefix PATH : "${lib.makeBinPath [ git coreutils ]}" + --prefix PATH : "${ + lib.makeBinPath [ + git + coreutils + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/gi/git-sizer/package.nix b/pkgs/by-name/gi/git-sizer/package.nix index b3d7f7a3a432e..df6e00c22da59 100644 --- a/pkgs/by-name/gi/git-sizer/package.nix +++ b/pkgs/by-name/gi/git-sizer/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, git-sizer }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + git-sizer, +}: buildGoModule rec { pname = "git-sizer"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-oRlsD99XiI/0ZWibjyRcycmGab+vMbXrV5hIdIyUDYg="; - ldflags = [ "-s" "-w" "-X main.BuildVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.BuildVersion=${version}" + ]; doCheck = false; diff --git a/pkgs/by-name/gi/git-standup/package.nix b/pkgs/by-name/gi/git-standup/package.nix index bd85ca57229fd..ce0acd7f4f407 100644 --- a/pkgs/by-name/gi/git-standup/package.nix +++ b/pkgs/by-name/gi/git-standup/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, git }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + git, +}: stdenv.mkDerivation (finalAttrs: { pname = "git-standup"; diff --git a/pkgs/by-name/gi/git-stree/package.nix b/pkgs/by-name/gi/git-stree/package.nix index d15db48902fa1..3c8d83d6e1c17 100644 --- a/pkgs/by-name/gi/git-stree/package.nix +++ b/pkgs/by-name/gi/git-stree/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, ... }: +{ + stdenv, + lib, + fetchFromGitHub, + ... +}: stdenv.mkDerivation { pname = "git-stree"; diff --git a/pkgs/by-name/gi/git-subrepo/package.nix b/pkgs/by-name/gi/git-subrepo/package.nix index 29da4ee6be8b4..1d3a84f124366 100644 --- a/pkgs/by-name/gi/git-subrepo/package.nix +++ b/pkgs/by-name/gi/git-subrepo/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, git, makeWrapper, which, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + git, + makeWrapper, + which, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "git-subrepo"; diff --git a/pkgs/by-name/gi/git-subtrac/package.nix b/pkgs/by-name/gi/git-subtrac/package.nix index 43fb89661735f..9a454cad5af61 100644 --- a/pkgs/by-name/gi/git-subtrac/package.nix +++ b/pkgs/by-name/gi/git-subtrac/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "git-subtrac"; diff --git a/pkgs/by-name/gi/git-team/package.nix b/pkgs/by-name/gi/git-team/package.nix index 19556366b1eb7..081c8dc5e71dc 100644 --- a/pkgs/by-name/gi/git-team/package.nix +++ b/pkgs/by-name/gi/git-team/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, go-mockery -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + go-mockery, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/gi/git-test/package.nix b/pkgs/by-name/gi/git-test/package.nix index fb8619249b55f..388be610c0844 100644 --- a/pkgs/by-name/gi/git-test/package.nix +++ b/pkgs/by-name/gi/git-test/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, git }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + git, +}: stdenv.mkDerivation rec { pname = "git-test"; diff --git a/pkgs/by-name/gi/git-together/package.nix b/pkgs/by-name/gi/git-together/package.nix index 44ae1249a59c3..ce1532cd61aa5 100644 --- a/pkgs/by-name/gi/git-together/package.nix +++ b/pkgs/by-name/gi/git-together/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, openssl -, pkg-config -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gi/git-town/package.nix b/pkgs/by-name/gi/git-town/package.nix index 1fbbd4ca12e0a..95dfc08704224 100644 --- a/pkgs/by-name/gi/git-town/package.nix +++ b/pkgs/by-name/gi/git-town/package.nix @@ -1,4 +1,13 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, git, testers, git-town, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + git, + testers, + git-town, + makeWrapper, +}: buildGoModule rec { pname = "git-town"; @@ -13,7 +22,10 @@ buildGoModule rec { vendorHash = null; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; buildInputs = [ git ]; @@ -68,7 +80,11 @@ buildGoModule rec { description = "Generic, high-level git support for git-flow workflows"; homepage = "https://www.git-town.com/"; license = licenses.mit; - maintainers = with maintainers; [ allonsy blaggacao gabyx ]; + maintainers = with maintainers; [ + allonsy + blaggacao + gabyx + ]; mainProgram = "git-town"; }; } diff --git a/pkgs/by-name/gi/git-upstream/package.nix b/pkgs/by-name/gi/git-upstream/package.nix index d94ca080b630e..3c5ef78d4585f 100644 --- a/pkgs/by-name/gi/git-upstream/package.nix +++ b/pkgs/by-name/gi/git-upstream/package.nix @@ -3,30 +3,31 @@ fetchFromGitHub, rustPlatform, nix-update-script, -}: let +}: +let pname = "git-upstream"; version = "1.2.0"; in - rustPlatform.buildRustPackage { - inherit pname version; +rustPlatform.buildRustPackage { + inherit pname version; - src = fetchFromGitHub { - owner = "9999years"; - repo = pname; - rev = "refs/tags/v${version}"; - hash = "sha256-GnsqZSztDLXMO4T16nfcOKMKXap88CJzJ5nObzGwhMA="; - }; + src = fetchFromGitHub { + owner = "9999years"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-GnsqZSztDLXMO4T16nfcOKMKXap88CJzJ5nObzGwhMA="; + }; - cargoHash = "sha256-a12C/fpeo0ZJ0MFQlKHVZER9dVrXF95YI1i8MwCTCJo="; + cargoHash = "sha256-a12C/fpeo0ZJ0MFQlKHVZER9dVrXF95YI1i8MwCTCJo="; - meta = { - homepage = "https://github.com/9999years/git-upstream"; - changelog = "https://github.com/9999years/git-upstream/releases/tag/v${version}"; - description = "Shortcut for `git push --set-upstream`"; - license = [lib.licenses.mit]; - maintainers = [lib.maintainers._9999years]; - mainProgram = "git-upstream"; - }; + meta = { + homepage = "https://github.com/9999years/git-upstream"; + changelog = "https://github.com/9999years/git-upstream/releases/tag/v${version}"; + description = "Shortcut for `git push --set-upstream`"; + license = [ lib.licenses.mit ]; + maintainers = [ lib.maintainers._9999years ]; + mainProgram = "git-upstream"; + }; - passthru.updateScript = nix-update-script {}; - } + passthru.updateScript = nix-update-script { }; +} diff --git a/pkgs/by-name/gi/git-vendor/package.nix b/pkgs/by-name/gi/git-vendor/package.nix index a0f3e26b2e4f1..b8132fc6cdb26 100644 --- a/pkgs/by-name/gi/git-vendor/package.nix +++ b/pkgs/by-name/gi/git-vendor/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, writeShellScriptBin, skawarePackages +{ + lib, + stdenv, + fetchFromGitHub, + writeShellScriptBin, + skawarePackages, }: let version = "1.3.0"; sha256 = "sha256-CFv9gZQHeEiZctJFyB6PJ1dVNkrQ7PlVtgZuteQQTJ0="; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "git-vendor"; inherit version; @@ -16,7 +22,12 @@ in stdenv.mkDerivation { inherit sha256; }; - outputs = [ "bin" "man" "doc" "out" ]; + outputs = [ + "bin" + "man" + "doc" + "out" + ]; PREFIX = (placeholder "out"); BINPREFIX = "${placeholder "bin"}/bin"; @@ -28,7 +39,8 @@ in stdenv.mkDerivation { ]; postInstall = '' - ${skawarePackages.cleanPackaging.commonFileActions { + ${ + skawarePackages.cleanPackaging.commonFileActions { docFiles = [ "LICENSE" "README.md" @@ -40,7 +52,8 @@ in stdenv.mkDerivation { "man" "install.sh" ]; - }} $doc/share/doc/git-vendor + } + } $doc/share/doc/git-vendor ''; postFixup = '' diff --git a/pkgs/by-name/gi/git-when-merged/package.nix b/pkgs/by-name/gi/git-when-merged/package.nix index 36336d964cc35..593f31e6a6341 100644 --- a/pkgs/by-name/gi/git-when-merged/package.nix +++ b/pkgs/by-name/gi/git-when-merged/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "git-when-merged"; @@ -18,8 +23,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "Helps you figure out when and why a commit was merged into a branch"; + description = "Helps you figure out when and why a commit was merged into a branch"; longDescription = '' If you use standard Git workflows, then you create a feature branch for each feature that you are working on. When the feature diff --git a/pkgs/by-name/gi/git2-cpp/package.nix b/pkgs/by-name/gi/git2-cpp/package.nix index 45750d0b24d47..18d50cc242a81 100644 --- a/pkgs/by-name/gi/git2-cpp/package.nix +++ b/pkgs/by-name/gi/git2-cpp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gi/git2cl/package.nix b/pkgs/by-name/gi/git2cl/package.nix index cddc6eb7e2fe9..e9074f3dd4190 100644 --- a/pkgs/by-name/gi/git2cl/package.nix +++ b/pkgs/by-name/gi/git2cl/package.nix @@ -1,4 +1,9 @@ -{ fetchgit, lib, stdenv, perl }: +{ + fetchgit, + lib, + stdenv, + perl, +}: stdenv.mkDerivation rec { pname = "git2cl"; diff --git a/pkgs/by-name/gi/gitaly/git.nix b/pkgs/by-name/gi/gitaly/git.nix index a4da27381df08..5277209ef35d4 100644 --- a/pkgs/by-name/gi/gitaly/git.nix +++ b/pkgs/by-name/gi/gitaly/git.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, gitaly -, fetchFromGitLab -, curl -, pcre2 -, zlib +{ + stdenv, + lib, + gitaly, + fetchFromGitLab, + curl, + pcre2, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix index 3cf0ec3e0f5ab..ca320beb14c4b 100644 --- a/pkgs/by-name/gi/gitaly/package.nix +++ b/pkgs/by-name/gi/gitaly/package.nix @@ -1,8 +1,9 @@ -{ lib -, callPackage -, fetchFromGitLab -, buildGoModule -, pkg-config +{ + lib, + callPackage, + fetchFromGitLab, + buildGoModule, + pkg-config, }: let @@ -25,43 +26,60 @@ let vendorHash = "sha256-AxuAEiYV3jwWxcuTLc1i4/6sG957YIA+Fmky5Dkdzu8="; - ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ]; + ldflags = [ + "-X ${gitaly_package}/internal/version.version=${version}" + "-X ${gitaly_package}/internal/version.moduleVersion=${version}" + ]; tags = [ "static" ]; doCheck = false; }; - auxBins = buildGoModule ({ - pname = "gitaly-aux"; + auxBins = buildGoModule ( + { + pname = "gitaly-aux"; - subPackages = [ "cmd/gitaly-hooks" "cmd/gitaly-ssh" "cmd/gitaly-lfs-smudge" "cmd/gitaly-gpg" ]; - } // commonOpts); + subPackages = [ + "cmd/gitaly-hooks" + "cmd/gitaly-ssh" + "cmd/gitaly-lfs-smudge" + "cmd/gitaly-gpg" + ]; + } + // commonOpts + ); in -buildGoModule ({ - pname = "gitaly"; +buildGoModule ( + { + pname = "gitaly"; - subPackages = [ "cmd/gitaly" "cmd/gitaly-backup" ]; + subPackages = [ + "cmd/gitaly" + "cmd/gitaly-backup" + ]; - preConfigure = '' - mkdir -p _build/bin - cp -r ${auxBins}/bin/* _build/bin - for f in ${git}/bin/git-*; do - cp "$f" "_build/bin/gitaly-$(basename $f)"; - done - ''; + preConfigure = '' + mkdir -p _build/bin + cp -r ${auxBins}/bin/* _build/bin + for f in ${git}/bin/git-*; do + cp "$f" "_build/bin/gitaly-$(basename $f)"; + done + ''; - outputs = [ "out" ]; + outputs = [ "out" ]; - passthru = { - inherit git; - }; + passthru = { + inherit git; + }; - meta = with lib; { - homepage = "https://gitlab.com/gitlab-org/gitaly"; - description = "Git RPC service for handling all the git calls made by GitLab"; - platforms = platforms.linux ++ [ "x86_64-darwin" ]; - maintainers = teams.gitlab.members; - license = licenses.mit; - }; -} // commonOpts) + meta = with lib; { + homepage = "https://gitlab.com/gitlab-org/gitaly"; + description = "Git RPC service for handling all the git calls made by GitLab"; + platforms = platforms.linux ++ [ "x86_64-darwin" ]; + maintainers = teams.gitlab.members; + license = licenses.mit; + }; + } + // commonOpts +) diff --git a/pkgs/by-name/gi/gitbatch/package.nix b/pkgs/by-name/gi/gitbatch/package.nix index 7f7c6c64891a8..f00fc4d95be15 100644 --- a/pkgs/by-name/gi/gitbatch/package.nix +++ b/pkgs/by-name/gi/gitbatch/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ + lib, + buildGoModule, + fetchFromGitHub, + git, +}: buildGoModule rec { pname = "gitbatch"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-wwpaJO5cXMsvqFXj+qGiIm4zg/SL4YCm2mNnG/qdilw="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeCheckInputs = [ git # required by unit tests diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index bb4b94c5cecf7..8119a71f4c9dc 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -1,17 +1,18 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, git -, bash -, coreutils -, compressDrvWeb -, gitea -, gzip -, openssh -, sqliteSupport ? true -, nixosTests -, buildNpmPackage +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + git, + bash, + coreutils, + compressDrvWeb, + gitea, + gzip, + openssh, + sqliteSupport ? true, + nixosTests, + buildNpmPackage, }: let @@ -31,7 +32,8 @@ let cp -R public $out/ ''; }; -in buildGoModule rec { +in +buildGoModule rec { pname = "gitea"; version = "1.22.4"; @@ -46,7 +48,10 @@ in buildGoModule rec { vendorHash = "sha256-72Q5XBb7RwfX3eekt8dsaS1doDhLCO0MFPHzJvlzxUo="; - outputs = [ "out" "data" ]; + outputs = [ + "out" + "data" + ]; patches = [ ./static-root-path.patch ]; @@ -63,7 +68,10 @@ in buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; - tags = lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ]; + tags = lib.optionals sqliteSupport [ + "sqlite" + "sqlite_unlock_notify" + ]; ldflags = [ "-s" @@ -80,11 +88,21 @@ in buildGoModule rec { cp -R ./options/locale $out/locale wrapProgram $out/bin/gitea \ - --prefix PATH : ${lib.makeBinPath [ bash coreutils git gzip openssh ]} + --prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + git + gzip + openssh + ] + } ''; passthru = { - data-compressed = lib.warn "gitea.passthru.data-compressed is deprecated. Use \"compressDrvWeb gitea.data\"." (compressDrvWeb gitea.data {}); + data-compressed = + lib.warn "gitea.passthru.data-compressed is deprecated. Use \"compressDrvWeb gitea.data\"." + (compressDrvWeb gitea.data { }); tests = nixosTests.gitea; }; @@ -93,7 +111,11 @@ in buildGoModule rec { description = "Git with a cup of tea"; homepage = "https://about.gitea.com"; license = licenses.mit; - maintainers = with maintainers; [ ma27 techknowlogick SuperSandro2000 ]; + maintainers = with maintainers; [ + ma27 + techknowlogick + SuperSandro2000 + ]; mainProgram = "gitea"; }; } diff --git a/pkgs/by-name/gi/gitflow/package.nix b/pkgs/by-name/gi/gitflow/package.nix index de291113daeac..70e6a159c29c8 100644 --- a/pkgs/by-name/gi/gitflow/package.nix +++ b/pkgs/by-name/gi/gitflow/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, getopt, git, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + getopt, + git, + coreutils, +}: stdenv.mkDerivation rec { pname = "gitflow"; diff --git a/pkgs/by-name/gi/gitfs/package.nix b/pkgs/by-name/gi/gitfs/package.nix index c99455cdb9973..3b9cf7cfe17b5 100644 --- a/pkgs/by-name/gi/gitfs/package.nix +++ b/pkgs/by-name/gi/gitfs/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "gitfs"; @@ -22,8 +26,17 @@ python3Packages.buildPythonApplication rec { 'from pygit2 import RemoteCallbacks' ''; - nativeCheckInputs = with python3Packages; [ pytest pytest-cov mock ]; - propagatedBuildInputs = with python3Packages; [ atomiclong fusepy pygit2 six ]; + nativeCheckInputs = with python3Packages; [ + pytest + pytest-cov + mock + ]; + propagatedBuildInputs = with python3Packages; [ + atomiclong + fusepy + pygit2 + six + ]; checkPhase = "py.test"; doCheck = false; diff --git a/pkgs/by-name/gi/gitg/package.nix b/pkgs/by-name/gi/gitg/package.nix index c5071267ae8cf..7208eaed291c7 100644 --- a/pkgs/by-name/gi/gitg/package.nix +++ b/pkgs/by-name/gi/gitg/package.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchurl -, vala -, pkg-config -, gtk3 -, glib -, gpgme -, json-glib -, wrapGAppsHook3 -, libpeas -, bash -, gobject-introspection -, gtksourceview4 -, gsettings-desktop-schemas -, gnome -, gspell -, gvfs -, shared-mime-info -, libgee -, libgit2-glib -, libhandy -, libsecret -, libxml2 -, meson -, ninja -, python3 -, libdazzle +{ + lib, + stdenv, + fetchurl, + vala, + pkg-config, + gtk3, + glib, + gpgme, + json-glib, + wrapGAppsHook3, + libpeas, + bash, + gobject-introspection, + gtksourceview4, + gsettings-desktop-schemas, + gnome, + gspell, + gvfs, + shared-mime-info, + libgee, + libgit2-glib, + libhandy, + libsecret, + libxml2, + meson, + ninja, + python3, + libdazzle, }: stdenv.mkDerivation rec { @@ -93,7 +94,10 @@ stdenv.mkDerivation rec { changelog = "https://gitlab.gnome.org/GNOME/gitg/-/blob/v${version}/NEWS?ref_type=tags"; description = "GNOME GUI client to view git repositories"; mainProgram = "gitg"; - maintainers = with maintainers; [ domenkozar Luflosi ]; + maintainers = with maintainers; [ + domenkozar + Luflosi + ]; license = licenses.gpl2Plus; platforms = platforms.linux; }; diff --git a/pkgs/by-name/gi/githooks/package.nix b/pkgs/by-name/gi/githooks/package.nix index 54acd52929234..262c17e334f6e 100644 --- a/pkgs/by-name/gi/githooks/package.nix +++ b/pkgs/by-name/gi/githooks/package.nix @@ -5,7 +5,7 @@ git, testers, makeWrapper, - githooks + githooks, }: buildGoModule rec { pname = "githooks"; diff --git a/pkgs/by-name/gi/github-backup/package.nix b/pkgs/by-name/gi/github-backup/package.nix index 298b27c1b2e1a..f067d3b94be48 100644 --- a/pkgs/by-name/gi/github-backup/package.nix +++ b/pkgs/by-name/gi/github-backup/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchFromGitHub -, git -, git-lfs +{ + lib, + python3Packages, + fetchFromGitHub, + git, + git-lfs, }: python3Packages.buildPythonApplication rec { @@ -22,7 +23,13 @@ python3Packages.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ git git-lfs ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + git + git-lfs + ]) ]; # has no unit tests diff --git a/pkgs/by-name/gi/github-commenter/package.nix b/pkgs/by-name/gi/github-commenter/package.nix index 50a12e0eb0a80..1bf88c51cebdd 100644 --- a/pkgs/by-name/gi/github-commenter/package.nix +++ b/pkgs/by-name/gi/github-commenter/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "github-commenter"; diff --git a/pkgs/by-name/gi/github-copilot-cli/package.nix b/pkgs/by-name/gi/github-copilot-cli/package.nix index 8bed7df94084c..d93eb31f86098 100644 --- a/pkgs/by-name/gi/github-copilot-cli/package.nix +++ b/pkgs/by-name/gi/github-copilot-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchzip }: +{ + lib, + buildNpmPackage, + fetchzip, +}: buildNpmPackage rec { pname = "github-copilot-cli"; @@ -26,4 +30,3 @@ buildNpmPackage rec { mainProgram = "github-copilot-cli"; }; } - diff --git a/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix b/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix index 13c28ca5b71ab..626d1836645da 100644 --- a/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix +++ b/pkgs/by-name/gi/github-copilot-intellij-agent/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, unzip }: +{ + stdenv, + lib, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "github-copilot-intellij-agent"; @@ -19,7 +24,10 @@ stdenv.mkDerivation rec { mkdir -p $out/bin unzip -p $src github-copilot-intellij/copilot-agent/bin/copilot-agent-${ - if stdenv.hostPlatform.isDarwin then (if stdenv.hostPlatform.isAarch64 then "macos-arm64" else "macos") else "linux" + if stdenv.hostPlatform.isDarwin then + (if stdenv.hostPlatform.isAarch64 then "macos-arm64" else "macos") + else + "linux" } | install -m755 /dev/stdin $out/bin/copilot-agent runHook postInstall @@ -27,34 +35,36 @@ stdenv.mkDerivation rec { # https://discourse.nixos.org/t/unrelatable-error-when-working-with-patchelf/12043 # https://github.com/NixOS/nixpkgs/blob/db0d8e10fc1dec84f1ccb111851a82645aa6a7d3/pkgs/development/web/now-cli/default.nix - preFixup = let - binaryLocation = "$out/bin/copilot-agent"; - libPath = lib.makeLibraryPath [ stdenv.cc.cc ]; - in '' - orig_size=$(stat --printf=%s ${binaryLocation}) - - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ${binaryLocation} - patchelf --set-rpath ${libPath} ${binaryLocation} - chmod +x ${binaryLocation} - - new_size=$(stat --printf=%s ${binaryLocation}) - - var_skip=20 - var_select=22 - shift_by=$(expr $new_size - $orig_size) - - function fix_offset { - location=$(grep -obUam1 "$1" ${binaryLocation} | cut -d: -f1) - location=$(expr $location + $var_skip) - value=$(dd if=${binaryLocation} iflag=count_bytes,skip_bytes skip=$location \ - bs=1 count=$var_select status=none) - value=$(expr $shift_by + $value) - echo -n $value | dd of=${binaryLocation} bs=1 seek=$location conv=notrunc - } - - fix_offset PAYLOAD_POSITION - fix_offset PRELUDE_POSITION - ''; + preFixup = + let + binaryLocation = "$out/bin/copilot-agent"; + libPath = lib.makeLibraryPath [ stdenv.cc.cc ]; + in + '' + orig_size=$(stat --printf=%s ${binaryLocation}) + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ${binaryLocation} + patchelf --set-rpath ${libPath} ${binaryLocation} + chmod +x ${binaryLocation} + + new_size=$(stat --printf=%s ${binaryLocation}) + + var_skip=20 + var_select=22 + shift_by=$(expr $new_size - $orig_size) + + function fix_offset { + location=$(grep -obUam1 "$1" ${binaryLocation} | cut -d: -f1) + location=$(expr $location + $var_skip) + value=$(dd if=${binaryLocation} iflag=count_bytes,skip_bytes skip=$location \ + bs=1 count=$var_select status=none) + value=$(expr $shift_by + $value) + echo -n $value | dd of=${binaryLocation} bs=1 seek=$location conv=notrunc + } + + fix_offset PAYLOAD_POSITION + fix_offset PRELUDE_POSITION + ''; dontStrip = true; @@ -76,7 +86,11 @@ stdenv.mkDerivation rec { license = lib.licenses.unfree; maintainers = with lib.maintainers; [ hacker1024 ]; mainProgram = "copilot-agent"; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; } diff --git a/pkgs/by-name/gi/github-desktop/package.nix b/pkgs/by-name/gi/github-desktop/package.nix index 4551473984297..22a01f07eb38a 100644 --- a/pkgs/by-name/gi/github-desktop/package.nix +++ b/pkgs/by-name/gi/github-desktop/package.nix @@ -1,22 +1,23 @@ -{ stdenvNoCC -, lib -, fetchurl -, autoPatchelfHook -, buildPackages -, gnome-keyring -, libsecret -, git -, curl -, nss -, nspr -, xorg -, libdrm -, alsa-lib -, cups -, mesa -, systemd -, openssl -, libglvnd +{ + stdenvNoCC, + lib, + fetchurl, + autoPatchelfHook, + buildPackages, + gnome-keyring, + libsecret, + git, + curl, + nss, + nspr, + xorg, + libdrm, + alsa-lib, + cups, + mesa, + systemd, + openssl, + libglvnd, }: let @@ -39,7 +40,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; }; in - fetchurl urls."${stdenvNoCC.hostPlatform.system}" or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); + fetchurl + urls."${stdenvNoCC.hostPlatform.system}" + or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook diff --git a/pkgs/by-name/gi/github-markdown-toc-go/package.nix b/pkgs/by-name/gi/github-markdown-toc-go/package.nix index 809664c90d1db..a80ac4af93b6b 100644 --- a/pkgs/by-name/gi/github-markdown-toc-go/package.nix +++ b/pkgs/by-name/gi/github-markdown-toc-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "github-markdown-toc-go"; diff --git a/pkgs/by-name/gi/github-release/package.nix b/pkgs/by-name/gi/github-release/package.nix index e2480451e98d1..840ef1a579c99 100644 --- a/pkgs/by-name/gi/github-release/package.nix +++ b/pkgs/by-name/gi/github-release/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, lib, testers, github-release }: +{ + buildGoModule, + fetchFromGitHub, + lib, + testers, + github-release, +}: buildGoModule rec { pname = "github-release"; @@ -31,7 +37,10 @@ buildGoModule rec { license = licenses.mit; homepage = "https://github.com/github-release/github-release"; - maintainers = with maintainers; [ ardumont j03 ]; + maintainers = with maintainers; [ + ardumont + j03 + ]; platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/gi/gitit/package.nix b/pkgs/by-name/gi/gitit/package.nix index 6958e1e6c59c2..9d874e817483b 100644 --- a/pkgs/by-name/gi/gitit/package.nix +++ b/pkgs/by-name/gi/gitit/package.nix @@ -1,10 +1,14 @@ -{ lib, stdenv, haskellPackages, haskell -# “Plugins” are a fancy way of saying gitit will invoke -# GHC at *runtime*, which in turn makes it pull GHC -# into its runtime closure. Only enable if you really need -# that feature. But if you do you’ll want to use gitit -# as a library anyway. -, pluginSupport ? false +{ + lib, + stdenv, + haskellPackages, + haskell, + # “Plugins” are a fancy way of saying gitit will invoke + # GHC at *runtime*, which in turn makes it pull GHC + # into its runtime closure. Only enable if you really need + # that feature. But if you do you’ll want to use gitit + # as a library anyway. + pluginSupport ? false, }: let @@ -13,14 +17,15 @@ let disableCabalFlag justStaticExecutables overrideCabal - ; + ; - base = (if pluginSupport then enableCabalFlag else disableCabalFlag) - "plugins" - haskellPackages.gitit; + base = + (if pluginSupport then enableCabalFlag else disableCabalFlag) "plugins" + haskellPackages.gitit; # Removes erroneous references from dead code that GHC can't eliminate - aarch64DarwinFix = overrideCabal (drv: + aarch64DarwinFix = overrideCabal ( + drv: lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) { postInstall = '' ${drv.postInstall or ""} @@ -31,12 +36,14 @@ let remove-references-to -t ${haskellPackages.pandoc} "$out/bin/gitit" remove-references-to -t ${haskellPackages.pandoc-types} "$out/bin/gitit" ''; - }); + } + ); in -if pluginSupport -then base -else lib.pipe (base.override { ghc-paths = null; }) [ - justStaticExecutables - aarch64DarwinFix -] +if pluginSupport then + base +else + lib.pipe (base.override { ghc-paths = null; }) [ + justStaticExecutables + aarch64DarwinFix + ] diff --git a/pkgs/by-name/gi/gitjacker/package.nix b/pkgs/by-name/gi/gitjacker/package.nix index 83e8b91f8b28e..a438550c4a5ce 100644 --- a/pkgs/by-name/gi/gitjacker/package.nix +++ b/pkgs/by-name/gi/gitjacker/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, git -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + git, + stdenv, }: buildGoModule rec { diff --git a/pkgs/by-name/gi/gitlab-ci-local/package.nix b/pkgs/by-name/gi/gitlab-ci-local/package.nix index 9eedc4178114a..a495b9e278d88 100644 --- a/pkgs/by-name/gi/gitlab-ci-local/package.nix +++ b/pkgs/by-name/gi/gitlab-ci-local/package.nix @@ -1,9 +1,10 @@ -{ buildNpmPackage -, fetchFromGitHub -, lib -, nix-update-script -, gitlab-ci-local -, testers +{ + buildNpmPackage, + fetchFromGitHub, + lib, + nix-update-script, + gitlab-ci-local, + testers, }: buildNpmPackage rec { @@ -32,7 +33,7 @@ buildNpmPackage rec { }; }; - meta = with lib;{ + meta = with lib; { description = "Run gitlab pipelines locally as shell executor or docker executor"; mainProgram = "gitlab-ci-local"; longDescription = '' diff --git a/pkgs/by-name/gi/gitlab-clippy/package.nix b/pkgs/by-name/gi/gitlab-clippy/package.nix index 8bdd529bb447d..37aa54ff81eb3 100644 --- a/pkgs/by-name/gi/gitlab-clippy/package.nix +++ b/pkgs/by-name/gi/gitlab-clippy/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitLab -, rustPlatform +{ + lib, + fetchFromGitLab, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix index 09c6477f52e15..fe3f825dbc707 100644 --- a/pkgs/by-name/gi/gitlab-container-registry/package.nix +++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitLab }: +{ + lib, + buildGoModule, + fetchFromGitLab, +}: buildGoModule rec { pname = "gitlab-container-registry"; diff --git a/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix b/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix index 43b5220fc15cf..744fc4dd53616 100644 --- a/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix +++ b/pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitLab, pkg-config, icu }: +{ + lib, + buildGoModule, + fetchFromGitLab, + pkg-config, + icu, +}: buildGoModule rec { pname = "gitlab-elasticsearch-indexer"; diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix index e74f39a09e9e2..ab5d8a01659c0 100644 --- a/pkgs/by-name/gi/gitlab-pages/package.nix +++ b/pkgs/by-name/gi/gitlab-pages/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitLab }: +{ + buildGoModule, + lib, + fetchFromGitLab, +}: buildGoModule rec { pname = "gitlab-pages"; diff --git a/pkgs/by-name/gi/gitlab-shell/package.nix b/pkgs/by-name/gi/gitlab-shell/package.nix index 88e7eeaf71ded..54492ae3306c8 100644 --- a/pkgs/by-name/gi/gitlab-shell/package.nix +++ b/pkgs/by-name/gi/gitlab-shell/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitLab, buildGoModule, ruby, libkrb5 }: +{ + lib, + fetchFromGitLab, + buildGoModule, + ruby, + libkrb5, +}: buildGoModule rec { pname = "gitlab-shell"; @@ -12,7 +18,10 @@ buildGoModule rec { hash = "sha256-HSieVAYuqv5zYN6CMAo86s/Df17PdIXzDIZ2pM4Sqlw="; }; - buildInputs = [ ruby libkrb5 ]; + buildInputs = [ + ruby + libkrb5 + ]; patches = [ ./remove-hardcoded-locations.patch diff --git a/pkgs/by-name/gi/gitless/package.nix b/pkgs/by-name/gi/gitless/package.nix index 93014402a2ebd..3a571c13da3f1 100644 --- a/pkgs/by-name/gi/gitless/package.nix +++ b/pkgs/by-name/gi/gitless/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -15,7 +16,6 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-XDB1i2b1reMCM6i1uK3IzTnsoLXO7jldYtNlYUo1AoQ="; }; - propagatedBuildInputs = with python3.pkgs; [ pygit2 argcomplete diff --git a/pkgs/by-name/gi/gitls/package.nix b/pkgs/by-name/gi/gitls/package.nix index 16ae8c9e6a8bc..e03454b74a14f 100644 --- a/pkgs/by-name/gi/gitls/package.nix +++ b/pkgs/by-name/gi/gitls/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, gitls -, fetchFromGitHub -, testers +{ + lib, + buildGoModule, + gitls, + fetchFromGitHub, + testers, }: buildGoModule rec { diff --git a/pkgs/by-name/gi/gitmoji-cli/package.nix b/pkgs/by-name/gi/gitmoji-cli/package.nix index 2534fa745cd77..d464640123310 100644 --- a/pkgs/by-name/gi/gitmoji-cli/package.nix +++ b/pkgs/by-name/gi/gitmoji-cli/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nodejs -, fixup-yarn-lock -, yarn -, testers +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + fixup-yarn-lock, + yarn, + testers, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gi/gitnr/package.nix b/pkgs/by-name/gi/gitnr/package.nix index 5d28138509834..312810b72a1ce 100644 --- a/pkgs/by-name/gi/gitnr/package.nix +++ b/pkgs/by-name/gi/gitnr/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libxkbcommon -, openssl -, stdenv -, darwin -, wayland +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libxkbcommon, + openssl, + stdenv, + darwin, + wayland, }: rustPlatform.buildRustPackage rec { @@ -26,14 +27,17 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libxkbcommon - wayland - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxkbcommon + wayland + ]; # requires internet access doCheck = false; @@ -43,7 +47,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/reemus-dev/gitnr"; changelog = "https://github.com/reemus-dev/gitnr/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; mainProgram = "gitnr"; }; } diff --git a/pkgs/by-name/gi/gitnuro/package.nix b/pkgs/by-name/gi/gitnuro/package.nix index f1e6f8e2cb4aa..fcdee63e3fdc3 100644 --- a/pkgs/by-name/gi/gitnuro/package.nix +++ b/pkgs/by-name/gi/gitnuro/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, copyDesktopItems -, makeDesktopItem -, jre -, libGL +{ + lib, + stdenv, + fetchurl, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + jre, + libGL, }: stdenv.mkDerivation rec { @@ -14,16 +15,17 @@ stdenv.mkDerivation rec { src = fetchurl ( if stdenv.hostPlatform.system == "x86_64-linux" then - { - url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-x86_64-${version}.jar"; - hash = "sha256-1lwuLPR6b1+I2SWaYaVrZkMcYVRAf1R7j/AwjQf03UM="; - } + { + url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-x86_64-${version}.jar"; + hash = "sha256-1lwuLPR6b1+I2SWaYaVrZkMcYVRAf1R7j/AwjQf03UM="; + } else if stdenv.hostPlatform.system == "aarch64-linux" then - { - url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-arm_aarch64-${version}.jar"; - hash = "sha256-wnHW1YK4FKi5EDF/E0S+yr0tugtv3qVlCbT3+x9bM8s="; - } - else throw "Unsupported architecture: ${stdenv.hostPlatform.system}" + { + url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-arm_aarch64-${version}.jar"; + hash = "sha256-wnHW1YK4FKi5EDF/E0S+yr0tugtv3qVlCbT3+x9bM8s="; + } + else + throw "Unsupported architecture: ${stdenv.hostPlatform.system}" ); icon = fetchurl { @@ -65,7 +67,10 @@ stdenv.mkDerivation rec { description = "A FOSS Git multiplatform client based on Compose and JGit"; homepage = "https://gitnuro.com/"; license = licenses.gpl3Plus; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; sourceProvenance = with sourceTypes; [ binaryBytecode ]; maintainers = with maintainers; [ zendo ]; mainProgram = "gitnuro"; diff --git a/pkgs/by-name/gi/gitolite/package.nix b/pkgs/by-name/gi/gitolite/package.nix index df0c759760321..0a4b4b9a2df65 100644 --- a/pkgs/by-name/gi/gitolite/package.nix +++ b/pkgs/by-name/gi/gitolite/package.nix @@ -1,4 +1,14 @@ -{ stdenv, coreutils, fetchFromGitHub, git, lib, makeWrapper, nettools, perl, nixosTests }: +{ + stdenv, + coreutils, + fetchFromGitHub, + git, + lib, + makeWrapper, + nettools, + perl, + nixosTests, +}: stdenv.mkDerivation rec { pname = "gitolite"; @@ -11,7 +21,10 @@ stdenv.mkDerivation rec { hash = "sha256-/VBu+aepIrxWc2padPa/WoXbIdKfIwqmA/M8d1GE5FI="; }; - buildInputs = [ nettools perl ]; + buildInputs = [ + nettools + perl + ]; nativeBuildInputs = [ makeWrapper ]; propagatedBuildInputs = [ git ]; @@ -31,7 +44,12 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/gitolite-shell \ - --prefix PATH : ${lib.makeBinPath [ git (perl.withPackages (p: [ p.JSON ])) ]} + --prefix PATH : ${ + lib.makeBinPath [ + git + (perl.withPackages (p: [ p.JSON ])) + ] + } ''; installPhase = '' @@ -46,9 +64,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Finely-grained git repository hosting"; - homepage = "https://gitolite.com/gitolite/index.html"; - license = licenses.gpl2; - platforms = platforms.unix; - maintainers = [ maintainers.thoughtpolice maintainers.lassulus maintainers.tomberek ]; + homepage = "https://gitolite.com/gitolite/index.html"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ + maintainers.thoughtpolice + maintainers.lassulus + maintainers.tomberek + ]; }; } diff --git a/pkgs/by-name/gi/gitrs/package.nix b/pkgs/by-name/gi/gitrs/package.nix index 99139437b4a7c..bec55dbbca680 100644 --- a/pkgs/by-name/gi/gitrs/package.nix +++ b/pkgs/by-name/gi/gitrs/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl -, pkg-config -, libiconv -, darwin -, rustPlatform +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + pkg-config, + libiconv, + darwin, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -25,12 +26,13 @@ rustPlatform.buildRustPackage rec { pkg-config # for openssl ]; - buildInputs = [ openssl.dev ] + buildInputs = + [ openssl.dev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + libiconv + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; meta = with lib; { description = "Simple, opinionated, tool, written in Rust, for declaratively managing Git repos on your machine"; diff --git a/pkgs/by-name/gi/gitsign/package.nix b/pkgs/by-name/gi/gitsign/package.nix index 3ff679c9ae370..9bf36e61a665d 100644 --- a/pkgs/by-name/gi/gitsign/package.nix +++ b/pkgs/by-name/gi/gitsign/package.nix @@ -1,4 +1,12 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, gitMinimal, testers, gitsign }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + gitMinimal, + testers, + gitsign, +}: buildGoModule rec { pname = "gitsign"; @@ -20,7 +28,11 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; nativeCheckInputs = [ gitMinimal ]; - ldflags = [ "-s" "-w" "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" + ]; preCheck = '' # test all paths @@ -40,7 +52,10 @@ buildGoModule rec { changelog = "https://github.com/sigstore/gitsign/releases/tag/v${version}"; description = "Keyless Git signing using Sigstore"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ lesuisse developer-guy ]; + maintainers = with lib.maintainers; [ + lesuisse + developer-guy + ]; mainProgram = "gitsign"; }; } diff --git a/pkgs/by-name/gi/gitstats/package.nix b/pkgs/by-name/gi/gitstats/package.nix index 25fcd7247c220..499338076df8f 100644 --- a/pkgs/by-name/gi/gitstats/package.nix +++ b/pkgs/by-name/gi/gitstats/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, installShellFiles -, perl -, python3 -, gnuplot -, coreutils -, gnugrep +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + installShellFiles, + perl, + python3, + gnuplot, + coreutils, + gnugrep, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ installShellFiles perl ]; + nativeBuildInputs = [ + installShellFiles + perl + ]; buildInputs = [ python3 ]; diff --git a/pkgs/by-name/gi/gittuf/package.nix b/pkgs/by-name/gi/gittuf/package.nix index a8035b0e7e373..b842bf7bd9bcf 100644 --- a/pkgs/by-name/gi/gittuf/package.nix +++ b/pkgs/by-name/gi/gittuf/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildGoModule, git, openssh }: +{ + lib, + fetchFromGitHub, + buildGoModule, + git, + openssh, +}: buildGoModule rec { pname = "gittuf"; @@ -15,8 +21,14 @@ buildGoModule rec { ldflags = [ "-X github.com/gittuf/gittuf/internal/version.gitVersion=${version}" ]; - nativeCheckInputs = [ git openssh ]; - checkFlags = [ "-skip=TestLoadRepository" "-skip=TestSSH" ]; + nativeCheckInputs = [ + git + openssh + ]; + checkFlags = [ + "-skip=TestLoadRepository" + "-skip=TestSSH" + ]; postInstall = "rm $out/bin/cli"; # remove gendoc cli binary diff --git a/pkgs/by-name/gi/gitty/package.nix b/pkgs/by-name/gi/gitty/package.nix index ba677b2ba8e54..f077396684d6d 100644 --- a/pkgs/by-name/gi/gitty/package.nix +++ b/pkgs/by-name/gi/gitty/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "gitty"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-qrLECQkjXH0aTHmysq64jnXj9jgbunpVtBAIXJOEYIY="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { homepage = "https://github.com/muesli/gitty/"; diff --git a/pkgs/by-name/gi/gitu/package.nix b/pkgs/by-name/gi/gitu/package.nix index 8985cd349fd5b..ab32106991617 100644 --- a/pkgs/by-name/gi/gitu/package.nix +++ b/pkgs/by-name/gi/gitu/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin -, git +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, + git, }: rustPlatform.buildRustPackage rec { @@ -27,14 +28,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.Security + ]; nativeCheckInputs = [ git diff --git a/pkgs/by-name/gi/gitui/package.nix b/pkgs/by-name/gi/gitui/package.nix index df3adcb0e39f6..4eaa81d68fa87 100644 --- a/pkgs/by-name/gi/gitui/package.nix +++ b/pkgs/by-name/gi/gitui/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, libiconv -, openssl -, pkg-config -, xclip -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + libiconv, + openssl, + pkg-config, + xclip, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,13 +25,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optional stdenv.hostPlatform.isLinux xclip ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.AppKit - ]; + libiconv + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.AppKit + ]; postPatch = '' # The cargo config overrides linkers for some targets, breaking the build @@ -58,6 +60,10 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/extrawurst/gitui/blob/v${version}/CHANGELOG.md"; mainProgram = "gitui"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ Br1ght0ne yanganto mfrw ]; + maintainers = with lib.maintainers; [ + Br1ght0ne + yanganto + mfrw + ]; }; } diff --git a/pkgs/by-name/gi/gitversion/package.nix b/pkgs/by-name/gi/gitversion/package.nix index 3c59f26860e7d..90a184cc8be90 100644 --- a/pkgs/by-name/gi/gitversion/package.nix +++ b/pkgs/by-name/gi/gitversion/package.nix @@ -1,5 +1,6 @@ -{ lib -, buildDotnetGlobalTool +{ + lib, + buildDotnetGlobalTool, }: buildDotnetGlobalTool rec { diff --git a/pkgs/by-name/gi/gitweb/package.nix b/pkgs/by-name/gi/gitweb/package.nix index f2cb91ac4f838..03faec14bb63e 100644 --- a/pkgs/by-name/gi/gitweb/package.nix +++ b/pkgs/by-name/gi/gitweb/package.nix @@ -1,5 +1,10 @@ -{ lib, buildEnv, git, fetchFromGitHub -, gitwebTheme ? false }: +{ + lib, + buildEnv, + git, + fetchFromGitHub, + gitwebTheme ? false, +}: let gitwebThemeSrc = fetchFromGitHub { @@ -14,12 +19,12 @@ let ''; sha256 = "17hypq6jvhy6zhh26lp3nyi52npfd5wy5752k6sq0shk4na2acqi"; }; -in buildEnv { +in +buildEnv { name = "gitweb-${lib.getVersion git}"; ignoreCollisions = true; - paths = lib.optional gitwebTheme gitwebThemeSrc - ++ [ "${git}/share/gitweb" ]; + paths = lib.optional gitwebTheme gitwebThemeSrc ++ [ "${git}/share/gitweb" ]; meta = git.meta // { maintainers = [ ]; diff --git a/pkgs/by-name/gj/gjay/package.nix b/pkgs/by-name/gj/gjay/package.nix index 514db23fdb4e9..b58e8ba492e8a 100644 --- a/pkgs/by-name/gj/gjay/package.nix +++ b/pkgs/by-name/gj/gjay/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, dbus-glib -, audacious -, gtk2 -, gsl -, libaudclient -, libmpdclient +{ + lib, + stdenv, + fetchurl, + pkg-config, + dbus-glib, + audacious, + gtk2, + gsl, + libaudclient, + libmpdclient, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gj/gjo/package.nix b/pkgs/by-name/gj/gjo/package.nix index d7fcd3a0845a6..cdb84410bf188 100644 --- a/pkgs/by-name/gj/gjo/package.nix +++ b/pkgs/by-name/gj/gjo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/gj/gjs/package.nix b/pkgs/by-name/gj/gjs/package.nix index d2c90bcff1a52..55342995339dd 100644 --- a/pkgs/by-name/gj/gjs/package.nix +++ b/pkgs/by-name/gj/gjs/package.nix @@ -1,40 +1,51 @@ -{ fetchurl -, lib -, stdenv -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gnome -, gtk3 -, atk -, gobject-introspection -, spidermonkey_128 -, pango -, cairo -, readline -, libsysprof-capture -, glib -, libxml2 -, dbus -, gdk-pixbuf -, harfbuzz -, makeWrapper -, which -, xvfb-run -, nixosTests -, installTests ? true +{ + fetchurl, + lib, + stdenv, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gnome, + gtk3, + atk, + gobject-introspection, + spidermonkey_128, + pango, + cairo, + readline, + libsysprof-capture, + glib, + libxml2, + dbus, + gdk-pixbuf, + harfbuzz, + makeWrapper, + which, + xvfb-run, + nixosTests, + installTests ? true, }: let testDeps = [ - gtk3 atk pango.out gdk-pixbuf harfbuzz glib.out + gtk3 + atk + pango.out + gdk-pixbuf + harfbuzz + glib.out ]; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "gjs"; version = "1.82.1"; - outputs = [ "out" "dev" "installedTests" ]; + outputs = [ + "out" + "dev" + "installedTests" + ]; src = fetchurl { url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor finalAttrs.version}/gjs-${finalAttrs.version}.tar.xz"; @@ -53,18 +64,20 @@ in stdenv.mkDerivation (finalAttrs: { ./disable-introspection-test.patch ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - makeWrapper - which # for locale detection - libxml2 # for xml-stripblanks - dbus # for dbus-run-session - gobject-introspection - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + makeWrapper + which # for locale detection + libxml2 # for xml-stripblanks + dbus # for dbus-run-session + gobject-introspection + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ cairo @@ -81,21 +94,25 @@ in stdenv.mkDerivation (finalAttrs: { glib ]; - mesonFlags = [ - "-Dinstalled_test_prefix=${placeholder "installedTests"}" - ] ++ lib.optionals (!stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isMusl) [ - "-Dprofiler=disabled" - ]; + mesonFlags = + [ + "-Dinstalled_test_prefix=${placeholder "installedTests"}" + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isMusl) [ + "-Dprofiler=disabled" + ]; doCheck = !stdenv.hostPlatform.isDarwin; - postPatch = '' - patchShebangs build/choose-tests-locale.sh - substituteInPlace installed-tests/debugger-test.sh --subst-var-by gjsConsole $out/bin/gjs-console - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace installed-tests/js/meson.build \ - --replace "'Encoding'," "#'Encoding'," - ''; + postPatch = + '' + patchShebangs build/choose-tests-locale.sh + substituteInPlace installed-tests/debugger-test.sh --subst-var-by gjsConsole $out/bin/gjs-console + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' + substituteInPlace installed-tests/js/meson.build \ + --replace "'Encoding'," "#'Encoding'," + ''; preCheck = '' # Our gobject-introspection patches make the shared library paths absolute diff --git a/pkgs/by-name/gl/gl117/package.nix b/pkgs/by-name/gl/gl117/package.nix index 5ba29fa49af3e..ca1990d21b2e5 100644 --- a/pkgs/by-name/gl/gl117/package.nix +++ b/pkgs/by-name/gl/gl117/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl -, libGLU, libGL, SDL, libglut, SDL_mixer, autoconf, automake, libtool +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + SDL, + libglut, + SDL_mixer, + autoconf, + automake, + libtool, }: stdenv.mkDerivation rec { @@ -11,8 +21,18 @@ stdenv.mkDerivation rec { sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4"; }; - nativeBuildInputs = [ automake autoconf ]; - buildInputs = [ libGLU libGL SDL libglut SDL_mixer libtool ]; + nativeBuildInputs = [ + automake + autoconf + ]; + buildInputs = [ + libGLU + libGL + SDL + libglut + SDL_mixer + libtool + ]; meta = with lib; { description = "Air combat simulator"; diff --git a/pkgs/by-name/gl/gl2ps/package.nix b/pkgs/by-name/gl/gl2ps/package.nix index eec23cef70bce..6838bccacc0a9 100644 --- a/pkgs/by-name/gl/gl2ps/package.nix +++ b/pkgs/by-name/gl/gl2ps/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, cmake -, zlib -, libpng -, libGL -, libGLU -, libglut -, darwin +{ + lib, + stdenv, + fetchurl, + cmake, + zlib, + libpng, + libGL, + libGLU, + libglut, + darwin, }: stdenv.mkDerivation rec { @@ -23,22 +24,28 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = [ - zlib - libpng - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libGL - libGLU - libglut - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.OpenGL - ]; + buildInputs = + [ + zlib + libpng + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libGL + libGLU + libglut + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.OpenGL + ]; meta = with lib; { homepage = "http://geuz.org/gl2ps"; description = "OpenGL to PostScript printing library"; platforms = platforms.all; license = licenses.lgpl2; - maintainers = with maintainers; [ raskin twhitehead ]; + maintainers = with maintainers; [ + raskin + twhitehead + ]; }; } diff --git a/pkgs/by-name/gl/gl3w/package.nix b/pkgs/by-name/gl/gl3w/package.nix index c12ab1f22a8f6..eb4a0be8d4f3d 100644 --- a/pkgs/by-name/gl/gl3w/package.nix +++ b/pkgs/by-name/gl/gl3w/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, python3, cmake, libglvnd, libGLU, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + cmake, + libglvnd, + libGLU, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "gl3w"; @@ -11,11 +20,17 @@ stdenv.mkDerivation rec { hash = "sha256-kEm5QItpasSFJQ32YBHPpc+itz/nQ8bQMCavbOTGT/w="; }; - nativeBuildInputs = [ python3 cmake ]; + nativeBuildInputs = [ + python3 + cmake + ]; # gl3w installs a CMake config that when included expects to be able to # build and link against both of these libraries # (the gl3w generated C file gets compiled into the downstream target) - propagatedBuildInputs = [ libglvnd libGLU ]; + propagatedBuildInputs = [ + libglvnd + libGLU + ]; dontUseCmakeBuildDir = true; diff --git a/pkgs/by-name/gl/glabels/package.nix b/pkgs/by-name/gl/glabels/package.nix index f5e026c75b711..04453acfb0285 100644 --- a/pkgs/by-name/gl/glabels/package.nix +++ b/pkgs/by-name/gl/glabels/package.nix @@ -1,6 +1,25 @@ -{ lib, stdenv, fetchurl, fetchpatch, barcode, gnome, gnome-common, autoreconfHook -, gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas -, intltool, itstool, makeWrapper, pkg-config, yelp-tools, qrencode +{ + lib, + stdenv, + fetchurl, + fetchpatch, + barcode, + gnome, + gnome-common, + autoreconfHook, + gtk3, + gtk-doc, + libxml2, + librsvg, + libtool, + libe-book, + gsettings-desktop-schemas, + intltool, + itstool, + makeWrapper, + pkg-config, + yelp-tools, + qrencode, }: stdenv.mkDerivation rec { @@ -22,11 +41,25 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper intltool ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + intltool + ]; buildInputs = [ - barcode gtk3 gtk-doc yelp-tools - gnome-common gsettings-desktop-schemas - itstool libxml2 librsvg libe-book libtool qrencode + barcode + gtk3 + gtk-doc + yelp-tools + gnome-common + gsettings-desktop-schemas + itstool + libxml2 + librsvg + libe-book + libtool + qrencode ]; preFixup = '' @@ -44,7 +77,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Create labels and business cards"; homepage = "https://github.com/jimevins/glabels"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; platforms = platforms.unix; maintainers = [ maintainers.nico202 ]; }; diff --git a/pkgs/by-name/gl/glade/package.nix b/pkgs/by-name/gl/glade/package.nix index 2658cbe241fe6..e0332d691ca28 100644 --- a/pkgs/by-name/gl/glade/package.nix +++ b/pkgs/by-name/gl/glade/package.nix @@ -1,27 +1,28 @@ -{ stdenv -, lib -, gettext -, fetchurl -, python3 -, meson -, ninja -, pkg-config -, gtk3 -, glib -, gjs -, enableWebkit2gtk ? stdenv.hostPlatform.isLinux -, webkitgtk_4_1 -, gobject-introspection -, wrapGAppsHook3 -, itstool -, libxml2 -, docbook-xsl-nons -, docbook_xml_dtd_42 -, gnome -, adwaita-icon-theme -, gdk-pixbuf -, libxslt -, gsettings-desktop-schemas +{ + stdenv, + lib, + gettext, + fetchurl, + python3, + meson, + ninja, + pkg-config, + gtk3, + glib, + gjs, + enableWebkit2gtk ? stdenv.hostPlatform.isLinux, + webkitgtk_4_1, + gobject-introspection, + wrapGAppsHook3, + itstool, + libxml2, + docbook-xsl-nons, + docbook_xml_dtd_42, + gnome, + adwaita-icon-theme, + gdk-pixbuf, + libxslt, + gsettings-desktop-schemas, }: stdenv.mkDerivation rec { @@ -47,19 +48,21 @@ stdenv.mkDerivation rec { gobject-introspection ]; - buildInputs = [ - gtk3 - glib - gjs - libxml2 - python3 - python3.pkgs.pygobject3 - gsettings-desktop-schemas - gdk-pixbuf - adwaita-icon-theme - ] ++ lib.optionals enableWebkit2gtk [ - webkitgtk_4_1 - ]; + buildInputs = + [ + gtk3 + glib + gjs + libxml2 + python3 + python3.pkgs.pygobject3 + gsettings-desktop-schemas + gdk-pixbuf + adwaita-icon-theme + ] + ++ lib.optionals enableWebkit2gtk [ + webkitgtk_4_1 + ]; mesonFlags = [ (lib.mesonEnable "webkit2gtk" enableWebkit2gtk) diff --git a/pkgs/by-name/gl/gladtex/package.nix b/pkgs/by-name/gl/gladtex/package.nix index bf64f400d2b8d..06827fb8a5b28 100644 --- a/pkgs/by-name/gl/gladtex/package.nix +++ b/pkgs/by-name/gl/gladtex/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonPackage rec { diff --git a/pkgs/by-name/gl/glamoroustoolkit/package.nix b/pkgs/by-name/gl/glamoroustoolkit/package.nix index f28c822837229..345ebe83d10e2 100644 --- a/pkgs/by-name/gl/glamoroustoolkit/package.nix +++ b/pkgs/by-name/gl/glamoroustoolkit/package.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchzip -, fetchurl -, patchelf -, wrapGAppsHook3 -, cairo -, dbus -, fontconfig -, freetype -, glib -, gtk3 -, libX11 -, libXcursor -, libXext -, libXi -, libXrandr -, libXrender -, libgit2 -, libglvnd -, libuuid -, libxcb -, harfbuzz -, libsoup_3 -, webkitgtk_4_1 -, zenity +{ + lib, + stdenv, + fetchzip, + fetchurl, + patchelf, + wrapGAppsHook3, + cairo, + dbus, + fontconfig, + freetype, + glib, + gtk3, + libX11, + libXcursor, + libXext, + libXi, + libXrandr, + libXrender, + libgit2, + libglvnd, + libuuid, + libxcb, + harfbuzz, + libsoup_3, + webkitgtk_4_1, + zenity, }: stdenv.mkDerivation (finalAttrs: { @@ -57,63 +58,65 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - preFixup = let - libPath = lib.makeLibraryPath [ - cairo - dbus - fontconfig - freetype - glib - gtk3 - libX11 - libXcursor - libXext - libXi - libXrandr - libXrender - libglvnd - libuuid - libxcb - harfbuzz # libWebView.so - libsoup_3 # libWebView.so - webkitgtk_4_1 # libWebView.so - (lib.getLib stdenv.cc.cc) - ]; - binPath = lib.makeBinPath [ - zenity # File selection dialog - ]; - in '' - chmod +x $out/lib/*.so - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}:$out/lib" \ - $out/bin/GlamorousToolkit $out/bin/GlamorousToolkit-cli - patchelf --shrink-rpath \ - $out/bin/GlamorousToolkit $out/bin/GlamorousToolkit-cli - patchelf \ - --set-rpath "${libPath}:$out/lib" \ - $out/lib/*.so - patchelf --shrink-rpath $out/lib/*.so - # - # shrink-rpath gets it wrong for the following libraries, - # restore the full rpath. - # - patchelf \ - --set-rpath "${libPath}:$out/lib" \ - $out/lib/libPharoVMCore.so \ - $out/lib/libWinit.so \ - $out/lib/libPixels.so - patchelf --set-rpath $out/lib $out/lib/libssl.so + preFixup = + let + libPath = lib.makeLibraryPath [ + cairo + dbus + fontconfig + freetype + glib + gtk3 + libX11 + libXcursor + libXext + libXi + libXrandr + libXrender + libglvnd + libuuid + libxcb + harfbuzz # libWebView.so + libsoup_3 # libWebView.so + webkitgtk_4_1 # libWebView.so + (lib.getLib stdenv.cc.cc) + ]; + binPath = lib.makeBinPath [ + zenity # File selection dialog + ]; + in + '' + chmod +x $out/lib/*.so + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}:$out/lib" \ + $out/bin/GlamorousToolkit $out/bin/GlamorousToolkit-cli + patchelf --shrink-rpath \ + $out/bin/GlamorousToolkit $out/bin/GlamorousToolkit-cli + patchelf \ + --set-rpath "${libPath}:$out/lib" \ + $out/lib/*.so + patchelf --shrink-rpath $out/lib/*.so + # + # shrink-rpath gets it wrong for the following libraries, + # restore the full rpath. + # + patchelf \ + --set-rpath "${libPath}:$out/lib" \ + $out/lib/libPharoVMCore.so \ + $out/lib/libWinit.so \ + $out/lib/libPixels.so + patchelf --set-rpath $out/lib $out/lib/libssl.so - ln -s $out/lib/libcrypto.so $out/lib/libcrypto.so.1.1 - ln -s $out/lib/libcairo.so $out/lib/libcairo.so.2 - rm $out/lib/libgit2.so - ln -s "${libgit2}/lib/libgit2.so" $out/lib/libgit2.so.1.1 + ln -s $out/lib/libcrypto.so $out/lib/libcrypto.so.1.1 + ln -s $out/lib/libcairo.so $out/lib/libcairo.so.2 + rm $out/lib/libgit2.so + ln -s "${libgit2}/lib/libgit2.so" $out/lib/libgit2.so.1.1 - gappsWrapperArgs+=( - --prefix PATH : ${binPath} - ) - ''; + gappsWrapperArgs+=( + --prefix PATH : ${binPath} + ) + ''; meta = { homepage = "https://gtoolkit.com"; diff --git a/pkgs/by-name/gl/glasstty-ttf/package.nix b/pkgs/by-name/gl/glasstty-ttf/package.nix index 1c64c3227c519..a0d6ddeddb206 100644 --- a/pkgs/by-name/gl/glasstty-ttf/package.nix +++ b/pkgs/by-name/gl/glasstty-ttf/package.nix @@ -1,18 +1,23 @@ -{ runCommand, fetchurl, lib }: -runCommand "glasstty-ttf" { - src = fetchurl { - url = "https://github.com/svofski/glasstty/raw/2c47ac1a0065f8b12d9732257993833d8227e3e5/Glass_TTY_VT220.ttf"; - sha256 = "sha256-2NYJaSWNr1Seuqdd7nLjA7tAMs/SAvl3uAe3uDoLLO4="; - }; - meta = with lib; { - maintainers = [ maintainers.pkharvey ]; - homepage = "https://github.com/svofski/glasstty"; - license = licenses.unlicense; - platforms = platforms.all; - description = "TrueType VT220 font"; - }; -} -'' - mkdir -p $out/share/fonts/truetype - cp $src $out/share/fonts/truetype/Glass_TTY_VT220.ttf -'' +{ + runCommand, + fetchurl, + lib, +}: +runCommand "glasstty-ttf" + { + src = fetchurl { + url = "https://github.com/svofski/glasstty/raw/2c47ac1a0065f8b12d9732257993833d8227e3e5/Glass_TTY_VT220.ttf"; + sha256 = "sha256-2NYJaSWNr1Seuqdd7nLjA7tAMs/SAvl3uAe3uDoLLO4="; + }; + meta = with lib; { + maintainers = [ maintainers.pkharvey ]; + homepage = "https://github.com/svofski/glasstty"; + license = licenses.unlicense; + platforms = platforms.all; + description = "TrueType VT220 font"; + }; + } + '' + mkdir -p $out/share/fonts/truetype + cp $src $out/share/fonts/truetype/Glass_TTY_VT220.ttf + '' diff --git a/pkgs/by-name/gl/glauth/package.nix b/pkgs/by-name/gl/glauth/package.nix index 00a4bbee1f1e1..8450801806565 100644 --- a/pkgs/by-name/gl/glauth/package.nix +++ b/pkgs/by-name/gl/glauth/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, oath-toolkit -, openldap +{ + lib, + fetchFromGitHub, + buildGoModule, + oath-toolkit, + openldap, }: buildGoModule rec { @@ -44,7 +45,10 @@ buildGoModule rec { description = "Lightweight LDAP server for development, home use, or CI"; homepage = "https://github.com/glauth/glauth"; license = licenses.mit; - maintainers = with maintainers; [ bjornfor christoph-heiss ]; + maintainers = with maintainers; [ + bjornfor + christoph-heiss + ]; mainProgram = "glauth"; }; } diff --git a/pkgs/by-name/gl/glava/package.nix b/pkgs/by-name/gl/glava/package.nix index df5d6138d35f6..742fbe2a72d04 100644 --- a/pkgs/by-name/gl/glava/package.nix +++ b/pkgs/by-name/gl/glava/package.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, writeScript, fetchFromGitHub -, libGL, libX11, libXext, python3, libXrandr, libXrender, libpulseaudio, libXcomposite -, enableGlfw ? false, glfw, runtimeShell }: +{ + lib, + stdenv, + writeScript, + fetchFromGitHub, + libGL, + libX11, + libXext, + python3, + libXrandr, + libXrender, + libpulseaudio, + libXcomposite, + enableGlfw ? false, + glfw, + runtimeShell, +}: let inherit (lib) optional makeLibraryPath; @@ -20,72 +34,72 @@ let esac ''; in - stdenv.mkDerivation rec { - pname = "glava"; - version = "1.6.3"; +stdenv.mkDerivation rec { + pname = "glava"; + version = "1.6.3"; - src = fetchFromGitHub { - owner = "wacossusca34"; - repo = "glava"; - rev = "v${version}"; - sha256 = "0kqkjxmpqkmgby05lsf6c6iwm45n33jk5qy6gi3zvjx4q4yzal1i"; - }; + src = fetchFromGitHub { + owner = "wacossusca34"; + repo = "glava"; + rev = "v${version}"; + sha256 = "0kqkjxmpqkmgby05lsf6c6iwm45n33jk5qy6gi3zvjx4q4yzal1i"; + }; - buildInputs = [ - libX11 - libXext - libXrandr - libXrender - libpulseaudio - libXcomposite - ] ++ optional enableGlfw glfw; + buildInputs = [ + libX11 + libXext + libXrandr + libXrender + libpulseaudio + libXcomposite + ] ++ optional enableGlfw glfw; - nativeBuildInputs = [ - python3 - ]; + nativeBuildInputs = [ + python3 + ]; - preConfigure = '' - for f in $(find -type f);do - substituteInPlace $f \ - --replace /etc/xdg $out/etc/xdg - done + preConfigure = '' + for f in $(find -type f);do + substituteInPlace $f \ + --replace /etc/xdg $out/etc/xdg + done - substituteInPlace Makefile \ - --replace '$(DESTDIR)$(SHADERDIR)' '$(SHADERDIR)' + substituteInPlace Makefile \ + --replace '$(DESTDIR)$(SHADERDIR)' '$(SHADERDIR)' - substituteInPlace Makefile \ - --replace 'unknown' 'v${version}' - ''; + substituteInPlace Makefile \ + --replace 'unknown' 'v${version}' + ''; - makeFlags = optional (!enableGlfw) "DISABLE_GLFW=1"; + makeFlags = optional (!enableGlfw) "DISABLE_GLFW=1"; - installFlags = [ - "DESTDIR=$(out)" - ]; + installFlags = [ + "DESTDIR=$(out)" + ]; - fixupPhase = '' - mkdir -p $out/bin - mv $out/usr/bin/glava $out/bin/.glava-unwrapped - rm -rf $out/usr + fixupPhase = '' + mkdir -p $out/bin + mv $out/usr/bin/glava $out/bin/.glava-unwrapped + rm -rf $out/usr - patchelf \ - --set-rpath "$(patchelf --print-rpath $out/bin/.glava-unwrapped):${makeLibraryPath [ libGL ]}" \ - $out/bin/.glava-unwrapped + patchelf \ + --set-rpath "$(patchelf --print-rpath $out/bin/.glava-unwrapped):${makeLibraryPath [ libGL ]}" \ + $out/bin/.glava-unwrapped - substitute ${wrapperScript} $out/bin/glava --subst-var out - chmod +x $out/bin/glava - ''; + substitute ${wrapperScript} $out/bin/glava --subst-var out + chmod +x $out/bin/glava + ''; - meta = with lib; { - description = '' - OpenGL audio spectrum visualizer - ''; - mainProgram = "glava"; - homepage = "https://github.com/wacossusca34/glava"; - platforms = platforms.linux; - license = licenses.gpl3; - maintainers = with maintainers; [ - eadwu - ]; - }; - } + meta = with lib; { + description = '' + OpenGL audio spectrum visualizer + ''; + mainProgram = "glava"; + homepage = "https://github.com/wacossusca34/glava"; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = with maintainers; [ + eadwu + ]; + }; +} diff --git a/pkgs/by-name/gl/glbinding/package.nix b/pkgs/by-name/gl/glbinding/package.nix index b19a890a25450..076a5f06683d5 100644 --- a/pkgs/by-name/gl/glbinding/package.nix +++ b/pkgs/by-name/gl/glbinding/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libGLU }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libGLU, +}: stdenv.mkDerivation rec { pname = "glbinding"; diff --git a/pkgs/by-name/gl/glee/package.nix b/pkgs/by-name/gl/glee/package.nix index ec0b4ffdf7941..184d793042bfa 100644 --- a/pkgs/by-name/gl/glee/package.nix +++ b/pkgs/by-name/gl/glee/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchgit, cmake, libGLU, libGL, xorg }: +{ + lib, + stdenv, + fetchgit, + cmake, + libGLU, + libGL, + xorg, +}: stdenv.mkDerivation rec { pname = "glee"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ libGLU libGL xorg.libX11 ]; + buildInputs = [ + libGLU + libGL + xorg.libX11 + ]; configureScript = '' cmake diff --git a/pkgs/by-name/gl/glib-networking/package.nix b/pkgs/by-name/gl/glib-networking/package.nix index d74acc063e5c0..9bdaac3c3b4c8 100644 --- a/pkgs/by-name/gl/glib-networking/package.nix +++ b/pkgs/by-name/gl/glib-networking/package.nix @@ -1,27 +1,31 @@ -{ stdenv -, lib -, fetchurl -, substituteAll -, meson -, ninja -, nixosTests -, pkg-config -, glib -, gettext -, makeWrapper -, gnutls -, p11-kit -, libproxy -, gnome -, gsettings-desktop-schemas -, bash +{ + stdenv, + lib, + fetchurl, + substituteAll, + meson, + ninja, + nixosTests, + pkg-config, + glib, + gettext, + makeWrapper, + gnutls, + p11-kit, + libproxy, + gnome, + gsettings-desktop-schemas, + bash, }: stdenv.mkDerivation rec { pname = "glib-networking"; version = "2.80.0"; - outputs = [ "out" "installedTests" ]; + outputs = [ + "out" + "installedTests" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/gl/glib-testing/package.nix b/pkgs/by-name/gl/glib-testing/package.nix index d77a5418a13e1..63fa21fe38b5d 100644 --- a/pkgs/by-name/gl/glib-testing/package.nix +++ b/pkgs/by-name/gl/glib-testing/package.nix @@ -1,20 +1,27 @@ -{ lib, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, glib -, nixosTests +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + glib, + nixosTests, }: stdenv.mkDerivation rec { pname = "glib-testing"; version = "0.1.1"; - outputs = [ "out" "dev" "devdoc" "installedTests" ]; + outputs = [ + "out" + "dev" + "devdoc" + "installedTests" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/by-name/gl/glicol-cli/package.nix b/pkgs/by-name/gl/glicol-cli/package.nix index 8279bfc6b30db..09eb57499dc6d 100644 --- a/pkgs/by-name/gl/glicol-cli/package.nix +++ b/pkgs/by-name/gl/glicol-cli/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, stdenv -, darwin -, alsa-lib +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + darwin, + alsa-lib, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,13 @@ rustPlatform.buildRustPackage rec { rustPlatform.bindgenHook ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AudioUnit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AudioUnit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ]; meta = with lib; { description = "Cross-platform music live coding in terminal"; diff --git a/pkgs/by-name/gl/glide-media-player/package.nix b/pkgs/by-name/gl/glide-media-player/package.nix index eca436d685913..41125d042729b 100644 --- a/pkgs/by-name/gl/glide-media-player/package.nix +++ b/pkgs/by-name/gl/glide-media-player/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, meson -, ninja -, rustc -, cargo -, wrapGAppsHook4 -, python3 -, libadwaita -, graphene -, gst_all_1 -, glib-networking +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + meson, + ninja, + rustc, + cargo, + wrapGAppsHook4, + python3, + libadwaita, + graphene, + gst_all_1, + glib-networking, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gl/glider/package.nix b/pkgs/by-name/gl/glider/package.nix index 67eecb21c7b8f..86d33e6030219 100644 --- a/pkgs/by-name/gl/glider/package.nix +++ b/pkgs/by-name/gl/glider/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "glider"; diff --git a/pkgs/by-name/gl/glitter/package.nix b/pkgs/by-name/gl/glitter/package.nix index be21abd9effb7..14e783a00be96 100644 --- a/pkgs/by-name/gl/glitter/package.nix +++ b/pkgs/by-name/gl/glitter/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, git }: +{ + lib, + rustPlatform, + fetchFromGitHub, + git, +}: rustPlatform.buildRustPackage rec { pname = "glitter"; @@ -23,7 +28,10 @@ rustPlatform.buildRustPackage rec { ''; # error: Found argument '--test-threads' which wasn't expected, or isn't valid in this context - checkFlags = [ "--skip" "runs_correctly" ]; + checkFlags = [ + "--skip" + "runs_correctly" + ]; meta = with lib; { description = "Git wrapper that allows you to compress multiple commands into one"; diff --git a/pkgs/by-name/gl/gllvm/package.nix b/pkgs/by-name/gl/gllvm/package.nix index 26b820f264255..6b983cd21ef31 100644 --- a/pkgs/by-name/gl/gllvm/package.nix +++ b/pkgs/by-name/gl/gllvm/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, llvmPackages, getconf }: +{ + lib, + buildGoModule, + fetchFromGitHub, + llvmPackages, + getconf, +}: buildGoModule { pname = "gllvm"; @@ -13,10 +19,13 @@ buildGoModule { vendorHash = null; - nativeCheckInputs = with llvmPackages; [ - clang - llvm - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]; + nativeCheckInputs = + with llvmPackages; + [ + clang + llvm + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]; meta = with lib; { homepage = "https://github.com/SRI-CSL/gllvm"; diff --git a/pkgs/by-name/gl/glm/package.nix b/pkgs/by-name/gl/glm/package.nix index 3894db5ab9c81..675d215cb8633 100644 --- a/pkgs/by-name/gl/glm/package.nix +++ b/pkgs/by-name/gl/glm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -15,16 +16,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-GnGyzNRpzuguc3yYbEFtYLvG+KiCtRAktiN+NvbOICE="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; nativeBuildInputs = [ cmake ]; env.NIX_CFLAGS_COMPILE = # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102823 - if (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") then "-fno-ipa-modref" + if (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") then + "-fno-ipa-modref" # Fix compilation errors on darwin - else if (stdenv.cc.isClang) then "-Wno-error" - else ""; + else if (stdenv.cc.isClang) then + "-Wno-error" + else + ""; cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" false) @@ -58,4 +65,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ smancill ]; }; } - diff --git a/pkgs/by-name/gl/glmark2/package.nix b/pkgs/by-name/gl/glmark2/package.nix index cbfdeb22fbcc3..607a7e3a9a6db 100644 --- a/pkgs/by-name/gl/glmark2/package.nix +++ b/pkgs/by-name/gl/glmark2/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, makeWrapper -, meson -, ninja -, wayland-scanner -, libjpeg -, libpng -, libX11 -, libGL -, libdrm -, udev -, wayland -, wayland-protocols -, mesa +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + makeWrapper, + meson, + ninja, + wayland-scanner, + libjpeg, + libpng, + libX11, + libGL, + libdrm, + udev, + wayland, + wayland-protocols, + mesa, }: stdenv.mkDerivation rec { @@ -29,7 +30,13 @@ stdenv.mkDerivation rec { }; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config makeWrapper meson ninja wayland-scanner ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + meson + ninja + wayland-scanner + ]; buildInputs = [ libjpeg libpng @@ -41,7 +48,9 @@ stdenv.mkDerivation rec { mesa ]; - mesonFlags = [ "-Dflavors=drm-gl,drm-glesv2,gbm-gl,gbm-glesv2,wayland-gl,wayland-glesv2,x11-gl,x11-gl-egl,x11-glesv2" ]; + mesonFlags = [ + "-Dflavors=drm-gl,drm-glesv2,gbm-gl,gbm-glesv2,wayland-gl,wayland-glesv2,x11-gl,x11-gl-egl,x11-glesv2" + ]; postInstall = '' for binary in $out/bin/glmark2*; do diff --git a/pkgs/by-name/gl/global-platform-pro/package.nix b/pkgs/by-name/gl/global-platform-pro/package.nix index 4a55908214c6f..4c16e4a67f3e6 100644 --- a/pkgs/by-name/gl/global-platform-pro/package.nix +++ b/pkgs/by-name/gl/global-platform-pro/package.nix @@ -1,11 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, jdk11, maven, makeWrapper, jre_headless, pcsclite, proot, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + jdk11, + maven, + makeWrapper, + jre_headless, + pcsclite, + proot, + zlib, +}: let defineMvnWrapper = '' mvn() { # One of the deps that are downloaded and run needs zlib. - export LD_LIBRARY_PATH="${lib.makeLibraryPath [zlib]}" + export LD_LIBRARY_PATH="${lib.makeLibraryPath [ zlib ]}" # Give access to ELF interpreter under FHS path, to be able to run # prebuilt binaries. "${lib.getExe proot}" -b "${stdenv.cc.libc}/lib:/lib64" mvn "$@" @@ -27,7 +38,10 @@ maven.buildMavenPackage rec { mvnJdk = jdk11; mvnHash = "sha256-vTlOxFBjEZRD23ldMF+VRKZx6jyZ6YvgvZM353FWrWQ="; - nativeBuildInputs = [ jdk11 makeWrapper ]; + nativeBuildInputs = [ + jdk11 + makeWrapper + ]; # Fix build error due to missing .git directory: # Failed to execute goal pl.project13.maven:git-commit-id-plugin:4.0.0:revision (retrieve-git-info) on project gppro: .git directory is not found! Please specify a valid [dotGitDirectory] in your pom.xml -> [Help 1] diff --git a/pkgs/by-name/gl/global/package.nix b/pkgs/by-name/gl/global/package.nix index 7f3d79f6a3d78..a5b84aa3a5bdb 100644 --- a/pkgs/by-name/gl/global/package.nix +++ b/pkgs/by-name/gl/global/package.nix @@ -1,10 +1,21 @@ -{ fetchurl, lib, stdenv, libtool, makeWrapper -, coreutils, ctags, ncurses, python3Packages, sqlite, universal-ctags +{ + fetchurl, + lib, + stdenv, + libtool, + makeWrapper, + coreutils, + ctags, + ncurses, + python3Packages, + sqlite, + universal-ctags, }: let pygments = python3Packages.pygments; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "global"; version = "6.6.13"; @@ -13,9 +24,15 @@ in stdenv.mkDerivation rec { hash = "sha256-lF80lzDaAfd4VNmBHKj4AWaclGE5WimWbY2Iy2cDNHs="; }; - nativeBuildInputs = [ libtool makeWrapper ]; + nativeBuildInputs = [ + libtool + makeWrapper + ]; - buildInputs = [ ncurses sqlite ]; + buildInputs = [ + ncurses + sqlite + ]; propagatedBuildInputs = [ pygments ]; @@ -55,8 +72,13 @@ in stdenv.mkDerivation rec { ''; homepage = "https://www.gnu.org/software/global/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ pSub peterhoeg ]; + maintainers = with maintainers; [ + pSub + peterhoeg + ]; platforms = platforms.unix; - changelog = "https://cvs.savannah.gnu.org/viewvc/global/global/NEWS?view=markup&pathrev=VERSION-${lib.replaceStrings [ "." ] [ "_" ] version}"; + changelog = "https://cvs.savannah.gnu.org/viewvc/global/global/NEWS?view=markup&pathrev=VERSION-${ + lib.replaceStrings [ "." ] [ "_" ] version + }"; }; } diff --git a/pkgs/by-name/gl/globalarrays/package.nix b/pkgs/by-name/gl/globalarrays/package.nix index ee7876e548d40..8ebc40a02561a 100644 --- a/pkgs/by-name/gl/globalarrays/package.nix +++ b/pkgs/by-name/gl/globalarrays/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, blas, gfortran, openssh, mpi -} : +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + blas, + gfortran, + openssh, + mpi, +}: stdenv.mkDerivation rec { pname = "globalarrays"; @@ -13,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-2ffQIg9topqKX7ygnWaa/UunL9d0Lj9qr9xucsjLuoY="; }; - nativeBuildInputs = [ autoreconfHook gfortran ]; - buildInputs = [ mpi blas openssh ]; + nativeBuildInputs = [ + autoreconfHook + gfortran + ]; + buildInputs = [ + mpi + blas + openssh + ]; preConfigure = '' configureFlagsArray+=( "--enable-i8" \ diff --git a/pkgs/by-name/gl/globe-cli/package.nix b/pkgs/by-name/gl/globe-cli/package.nix index fdc53e74b0783..db414184d7161 100644 --- a/pkgs/by-name/gl/globe-cli/package.nix +++ b/pkgs/by-name/gl/globe-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "globe-cli"; diff --git a/pkgs/by-name/gl/globulation2/package.nix b/pkgs/by-name/gl/globulation2/package.nix index a444f18335fc4..20621238c2796 100644 --- a/pkgs/by-name/gl/globulation2/package.nix +++ b/pkgs/by-name/gl/globulation2/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, SDL, scons, SDL_ttf, SDL_image, zlib, SDL_net -, speex, libvorbis, libogg, boost, fribidi, bsdiff -, fetchpatch +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + SDL, + scons, + SDL_ttf, + SDL_image, + zlib, + SDL_net, + speex, + libvorbis, + libogg, + boost, + fribidi, + bsdiff, + fetchpatch, }: let version = "0.9.4"; @@ -19,7 +35,9 @@ stdenv.mkDerivation rec { sha256 = "1f0l2cqp2g3llhr9jl6jj15k0wb5q8n29vqj99xy4p5hqs78jk8g"; }; - patches = [ ./header-order.patch ./public-buildproject.patch + patches = [ + ./header-order.patch + ./public-buildproject.patch (fetchpatch { url = "https://bitbucket.org/giszmo/glob2/commits/c9dc715624318e4fea4abb24e04f0ebdd9cd8d2a/raw"; sha256 = "0017xg5agj3dy0hx71ijdcrxb72bjqv7x6aq7c9zxzyyw0mkxj0k"; @@ -49,7 +67,21 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ scons ]; - buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ]; + buildInputs = [ + libGLU + libGL + SDL + SDL_ttf + SDL_image + zlib + SDL_net + speex + libvorbis + libogg + boost + fribidi + bsdiff + ]; postConfigure = '' sconsFlags+=" BINDIR=$out/bin" diff --git a/pkgs/by-name/gl/glock/package.nix b/pkgs/by-name/gl/glock/package.nix index c573d06af7d00..b116db1966e40 100644 --- a/pkgs/by-name/gl/glock/package.nix +++ b/pkgs/by-name/gl/glock/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule { diff --git a/pkgs/by-name/gl/glog/package.nix b/pkgs/by-name/gl/glog/package.nix index ac425092128c6..762b49a68e952 100644 --- a/pkgs/by-name/gl/glog/package.nix +++ b/pkgs/by-name/gl/glog/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, cmake, gflags, gtest, perl }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gflags, + gtest, + perl, +}: stdenv.mkDerivation rec { pname = "glog"; @@ -34,29 +42,37 @@ stdenv.mkDerivation rec { env.GTEST_FILTER = let - filteredTests = lib.optionals stdenv.hostPlatform.isMusl [ - "Symbolize.SymbolizeStackConsumption" - "Symbolize.SymbolizeWithDemanglingStackConsumption" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "LogBacktraceAt.DoesBacktraceAtRightLineWhenEnabled" - ] ++ lib.optionals stdenv.cc.isClang [ - # Clang optimizes an expected allocation away. - # See https://github.com/google/glog/issues/937 - "DeathNoAllocNewHook.logging" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "LogBacktraceAt.DoesBacktraceAtRightLineWhenEnabled" - ]; + filteredTests = + lib.optionals stdenv.hostPlatform.isMusl [ + "Symbolize.SymbolizeStackConsumption" + "Symbolize.SymbolizeWithDemanglingStackConsumption" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "LogBacktraceAt.DoesBacktraceAtRightLineWhenEnabled" + ] + ++ lib.optionals stdenv.cc.isClang [ + # Clang optimizes an expected allocation away. + # See https://github.com/google/glog/issues/937 + "DeathNoAllocNewHook.logging" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "LogBacktraceAt.DoesBacktraceAtRightLineWhenEnabled" + ]; in "-${builtins.concatStringsSep ":" filteredTests}"; checkPhase = let - excludedTests = lib.optionals stdenv.hostPlatform.isDarwin [ - "mock-log" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - "logging" # works around segfaults on aarch64-darwin for now - ]; - excludedTestsRegex = lib.optionalString (excludedTests != [ ]) "(${lib.concatStringsSep "|" excludedTests})"; + excludedTests = + lib.optionals stdenv.hostPlatform.isDarwin [ + "mock-log" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + "logging" # works around segfaults on aarch64-darwin for now + ]; + excludedTestsRegex = lib.optionalString ( + excludedTests != [ ] + ) "(${lib.concatStringsSep "|" excludedTests})"; in '' runHook preCheck @@ -69,6 +85,9 @@ stdenv.mkDerivation rec { license = licenses.bsd3; description = "Library for application-level logging"; platforms = platforms.unix; - maintainers = with maintainers; [ nh2 r-burns ]; + maintainers = with maintainers; [ + nh2 + r-burns + ]; }; } diff --git a/pkgs/by-name/gl/gloox/package.nix b/pkgs/by-name/gl/gloox/package.nix index ed5e4ec9b06fc..71fe57dbeafea 100644 --- a/pkgs/by-name/gl/gloox/package.nix +++ b/pkgs/by-name/gl/gloox/package.nix @@ -1,11 +1,16 @@ -{ lib, stdenv, fetchurl -, zlibSupport ? true, zlib -, sslSupport ? true, openssl -, idnSupport ? true, libidn +{ + lib, + stdenv, + fetchurl, + zlibSupport ? true, + zlib, + sslSupport ? true, + openssl, + idnSupport ? true, + libidn, }: - -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { pname = "gloox"; version = "1.0.28"; @@ -21,7 +26,8 @@ stdenv.mkDerivation rec{ src/examples/*.cpp ''; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optional zlibSupport zlib ++ lib.optional sslSupport openssl ++ lib.optional idnSupport libidn; diff --git a/pkgs/by-name/gl/glow/package.nix b/pkgs/by-name/gl/glow/package.nix index 5da1e6e2f07a8..0066754cc8789 100644 --- a/pkgs/by-name/gl/glow/package.nix +++ b/pkgs/by-name/gl/glow/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + stdenv, }: buildGoModule rec { @@ -20,7 +21,11 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; doCheck = false; @@ -36,7 +41,10 @@ buildGoModule rec { homepage = "https://github.com/charmbracelet/glow"; changelog = "https://github.com/charmbracelet/glow/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne penguwin ]; + maintainers = with maintainers; [ + Br1ght0ne + penguwin + ]; mainProgram = "glow"; }; } diff --git a/pkgs/by-name/gl/glowing-bear/package.nix b/pkgs/by-name/gl/glowing-bear/package.nix index c493cae6d4637..f1a352c8e7737 100644 --- a/pkgs/by-name/gl/glowing-bear/package.nix +++ b/pkgs/by-name/gl/glowing-bear/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, stdenv }: +{ + fetchFromGitHub, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "glowing-bear"; diff --git a/pkgs/by-name/gl/glpaper/package.nix b/pkgs/by-name/gl/glpaper/package.nix index f6f285d45a0bd..c1ccb5759d74e 100644 --- a/pkgs/by-name/gl/glpaper/package.nix +++ b/pkgs/by-name/gl/glpaper/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromSourcehut, meson, ninja, pkg-config, wayland -, libX11, libGL }: +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + wayland, + libX11, + libGL, +}: stdenv.mkDerivation rec { pname = "glpaper"; @@ -13,7 +22,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-E7FKjt3NL0aAEibfaq+YS2IVvpjNjInA+Rs8SU63/3M="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ wayland libX11 # required by libglvnd @@ -21,8 +34,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = - "Wallpaper program for wlroots based Wayland compositors such as sway that allows you to render glsl shaders as your wallpaper"; + description = "Wallpaper program for wlroots based Wayland compositors such as sway that allows you to render glsl shaders as your wallpaper"; mainProgram = "glpaper"; homepage = "https://hg.sr.ht/~scoopta/glpaper"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/gl/glpk/package.nix b/pkgs/by-name/gl/glpk/package.nix index 1f7974476b027..bc7ae7c9e5756 100644 --- a/pkgs/by-name/gl/glpk/package.nix +++ b/pkgs/by-name/gl/glpk/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, libmysqlclient -# Excerpt from glpk's INSTALL file: -# This feature allows the exact simplex solver to use the GNU MP -# bignum library. If it is disabled, the exact simplex solver uses the -# GLPK bignum module, which provides the same functionality as GNU MP, -# however, it is much less efficient. -, withGmp ? true -, gmp +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libmysqlclient, + # Excerpt from glpk's INSTALL file: + # This feature allows the exact simplex solver to use the GNU MP + # bignum library. If it is disabled, the exact simplex solver uses the + # GLPK bignum module, which provides the same functionality as GNU MP, + # however, it is much less efficient. + withGmp ? true, + gmp, }: assert withGmp -> gmp != null; @@ -23,8 +25,10 @@ stdenv.mkDerivation rec { }; buildInputs = - [ libmysqlclient - ] ++ lib.optionals withGmp [ + [ + libmysqlclient + ] + ++ lib.optionals withGmp [ gmp ]; @@ -63,11 +67,11 @@ stdenv.mkDerivation rec { description = "GNU Linear Programming Kit"; longDescription = '' - The GNU Linear Programming Kit is intended for solving large - scale linear programming problems by means of the revised - simplex method. It is a set of routines written in the ANSI C - programming language and organized in the form of a library. - ''; + The GNU Linear Programming Kit is intended for solving large + scale linear programming problems by means of the revised + simplex method. It is a set of routines written in the ANSI C + programming language and organized in the form of a library. + ''; homepage = "https://www.gnu.org/software/glpk/"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/gl/glpng/package.nix b/pkgs/by-name/gl/glpng/package.nix index 34c58774fb241..4a98163a2a4c7 100644 --- a/pkgs/by-name/gl/glpng/package.nix +++ b/pkgs/by-name/gl/glpng/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromRepoOrCz -, cmake -, libGL -, libpng -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromRepoOrCz, + cmake, + libGL, + libpng, + pkg-config, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gl/glrnvim/package.nix b/pkgs/by-name/gl/glrnvim/package.nix index af11d0a666656..44d73439fe3bd 100644 --- a/pkgs/by-name/gl/glrnvim/package.nix +++ b/pkgs/by-name/gl/glrnvim/package.nix @@ -19,10 +19,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-cHEse+pXwgPTL8GJyY4s1mhWXGTY8Fnn2rFpA5SNerY="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - DiskArbitration - Foundation - ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + DiskArbitration + Foundation + ] + ); postInstall = '' install -Dm644 glrnvim.desktop -t $out/share/applications diff --git a/pkgs/by-name/gl/glsl_analyzer/package.nix b/pkgs/by-name/gl/glsl_analyzer/package.nix index 868ff99d38889..f7a71c4398a4c 100644 --- a/pkgs/by-name/gl/glsl_analyzer/package.nix +++ b/pkgs/by-name/gl/glsl_analyzer/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, zig_0_13 -, apple-sdk_11 +{ + lib, + stdenv, + fetchFromGitHub, + zig_0_13, + apple-sdk_11, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gl/glslang/package.nix b/pkgs/by-name/gl/glslang/package.nix index e54d8711e65b7..bc57fca1a9ecc 100644 --- a/pkgs/by-name/gl/glslang/package.nix +++ b/pkgs/by-name/gl/glslang/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, bison -, cmake -, jq -, python3 -, spirv-headers -, spirv-tools +{ + lib, + stdenv, + fetchFromGitHub, + bison, + cmake, + jq, + python3, + spirv-headers, + spirv-tools, }: stdenv.mkDerivation rec { pname = "glslang"; @@ -18,7 +20,11 @@ stdenv.mkDerivation rec { hash = "sha256-QXNecJ6SDeWpRjzHRTdPJHob1H3q2HZmWuL2zBt2Tlw="; }; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; # These get set at all-packages, keep onto them for child drvs passthru = { @@ -26,7 +32,12 @@ stdenv.mkDerivation rec { spirv-headers = spirv-headers; }; - nativeBuildInputs = [ cmake python3 bison jq ]; + nativeBuildInputs = [ + cmake + python3 + bison + jq + ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; diff --git a/pkgs/by-name/gl/glslls/package.nix b/pkgs/by-name/gl/glslls/package.nix index 0e78dd8502f75..c23047cf027df 100644 --- a/pkgs/by-name/gl/glslls/package.nix +++ b/pkgs/by-name/gl/glslls/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + python3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gl/gltron/package.nix b/pkgs/by-name/gl/gltron/package.nix index 819914dec8b50..c09c8d7e460cc 100644 --- a/pkgs/by-name/gl/gltron/package.nix +++ b/pkgs/by-name/gl/gltron/package.nix @@ -1,4 +1,16 @@ -{lib, stdenv, fetchurl, SDL, libGLU, libGL, zlib, libpng, libvorbis, libmikmod, SDL_sound } : +{ + lib, + stdenv, + fetchurl, + SDL, + libGLU, + libGL, + zlib, + libpng, + libvorbis, + libmikmod, + SDL_sound, +}: stdenv.mkDerivation rec { pname = "gltron"; @@ -11,14 +23,23 @@ stdenv.mkDerivation rec { patches = [ ./gentoo-prototypes.patch ]; postPatch = '' - # Fix https://sourceforge.net/p/gltron/bugs/15 - sed -i /__USE_MISC/d lua/src/lib/liolib.c + # Fix https://sourceforge.net/p/gltron/bugs/15 + sed -i /__USE_MISC/d lua/src/lib/liolib.c ''; # The build fails, unless we disable the default -Wall -Werror configureFlags = [ "--disable-warn" ]; - buildInputs = [ SDL libGLU libGL zlib libpng libvorbis libmikmod SDL_sound ]; + buildInputs = [ + SDL + libGLU + libGL + zlib + libpng + libvorbis + libmikmod + SDL_sound + ]; meta = { homepage = "http://www.gltron.org/"; diff --git a/pkgs/by-name/gl/gluesql/package.nix b/pkgs/by-name/gl/gluesql/package.nix index 7d49107de2235..66f7297d5b87f 100644 --- a/pkgs/by-name/gl/gluesql/package.nix +++ b/pkgs/by-name/gl/gluesql/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, nix-update-script +{ + lib, + fetchFromGitHub, + rustPlatform, + nix-update-script, }: let diff --git a/pkgs/by-name/gl/glui/package.nix b/pkgs/by-name/gl/glui/package.nix index f3999bfb439b7..a703550a7dedf 100644 --- a/pkgs/by-name/gl/glui/package.nix +++ b/pkgs/by-name/gl/glui/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, libglut -, libGL -, libGLU -, libX11 -, libXext -, libXi -, libXmu +{ + lib, + stdenv, + fetchFromGitHub, + libglut, + libGL, + libGLU, + libX11, + libXext, + libXi, + libXmu, }: stdenv.mkDerivation rec { @@ -20,7 +22,15 @@ stdenv.mkDerivation rec { sha256 = "0qg2y8w95s03zay1qsqs8pqxxlg6l9kwm7rrs1qmx0h22sxb360i"; }; - buildInputs = [ libglut libGLU libGL libXmu libXext libX11 libXi ]; + buildInputs = [ + libglut + libGLU + libGL + libXmu + libXext + libX11 + libXi + ]; installPhase = '' mkdir -p "$out"/{bin,lib,share/glui/doc,include} @@ -33,7 +43,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "User interface library using OpenGL"; - license = licenses.zlib ; + license = licenses.zlib; maintainers = [ maintainers.raskin ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/gl/glusterfs/package.nix b/pkgs/by-name/gl/glusterfs/package.nix index 636a4520ea56f..7c367cd2ad09d 100644 --- a/pkgs/by-name/gl/glusterfs/package.nix +++ b/pkgs/by-name/gl/glusterfs/package.nix @@ -1,8 +1,46 @@ -{lib, stdenv, fetchFromGitHub, fuse, bison, flex, openssl, python3, ncurses, readline, - autoconf, automake, libtool, pkg-config, zlib, libaio, libxml2, acl, sqlite, - liburcu, liburing, attr, makeWrapper, coreutils, gnused, gnugrep, which, - openssh, gawk, findutils, util-linux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd, - rsync, getent, rpcsvc-proto, libtirpc, gperftools, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fuse, + bison, + flex, + openssl, + python3, + ncurses, + readline, + autoconf, + automake, + libtool, + pkg-config, + zlib, + libaio, + libxml2, + acl, + sqlite, + liburcu, + liburing, + attr, + makeWrapper, + coreutils, + gnused, + gnugrep, + which, + openssh, + gawk, + findutils, + util-linux, + lvm2, + btrfs-progs, + e2fsprogs, + xfsprogs, + systemd, + rsync, + getent, + rpcsvc-proto, + libtirpc, + gperftools, + nixosTests, }: let # NOTE: On each glusterfs release, it should be checked if gluster added @@ -14,9 +52,20 @@ let # can help with finding new Python scripts. buildInputs = [ - fuse openssl ncurses readline - zlib libaio libxml2 - acl sqlite liburcu attr util-linux libtirpc gperftools + fuse + openssl + ncurses + readline + zlib + libaio + libxml2 + acl + sqlite + liburcu + attr + util-linux + libtirpc + gperftools liburing (python3.withPackages (pkgs: [ pkgs.flask @@ -53,7 +102,8 @@ let which # which xfsprogs # xfs_info ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "glusterfs"; version = "11.1"; @@ -109,7 +159,16 @@ in stdenv.mkDerivation rec { "--localstatedir=/var" ]; - nativeBuildInputs = [ autoconf automake libtool pkg-config bison flex makeWrapper rpcsvc-proto ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + bison + flex + makeWrapper + rpcsvc-proto + ]; makeFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/gl/glycin-loaders/package.nix b/pkgs/by-name/gl/glycin-loaders/package.nix index dae6bc3fa810d..76a9800952c68 100644 --- a/pkgs/by-name/gl/glycin-loaders/package.nix +++ b/pkgs/by-name/gl/glycin-loaders/package.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchurl -, substituteAll -, bubblewrap -, cairo -, cargo -, git -, gnome -, gtk4 -, lcms2 -, libheif -, libjxl -, librsvg -, libseccomp -, libxml2 -, meson -, ninja -, pkg-config -, rustc +{ + stdenv, + lib, + fetchurl, + substituteAll, + bubblewrap, + cairo, + cargo, + git, + gnome, + gtk4, + lcms2, + libheif, + libjxl, + librsvg, + libseccomp, + libxml2, + meson, + ninja, + pkg-config, + rustc, }: stdenv.mkDerivation (finalAttrs: { @@ -79,7 +80,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Glycin loaders for several formats"; homepage = "https://gitlab.gnome.org/sophie-h/glycin"; maintainers = teams.gnome.members; - license = with licenses; [ mpl20 /* or */ lgpl21Plus ]; + license = with licenses; [ + mpl20 # or + lgpl21Plus + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/gl/glyr/package.nix b/pkgs/by-name/gl/glyr/package.nix index c1499a376f156..9303d4c9e7d53 100644 --- a/pkgs/by-name/gl/glyr/package.nix +++ b/pkgs/by-name/gl/glyr/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, curl, glib, sqlite, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + curl, + glib, + sqlite, + pkg-config, +}: stdenv.mkDerivation rec { version = "1.0.10"; @@ -12,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "1miwbqzkhg0v3zysrwh60pj9sv6ci4lzq2vq2hhc6pc6hdyh8xyr"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ sqlite glib curl ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + sqlite + glib + curl + ]; meta = with lib; { description = "Music related metadata searchengine"; @@ -24,5 +39,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - - diff --git a/pkgs/by-name/gm/gmad/package.nix b/pkgs/by-name/gm/gmad/package.nix index 799609856137b..3ea8e2ae99f51 100644 --- a/pkgs/by-name/gm/gmad/package.nix +++ b/pkgs/by-name/gm/gmad/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, premake4, bootil }: +{ + lib, + stdenv, + fetchFromGitHub, + premake4, + bootil, +}: stdenv.mkDerivation rec { pname = "gmad"; @@ -16,17 +22,26 @@ stdenv.mkDerivation rec { owner = "Facepunch"; repo = "gmad"; rev = "5236973a2fcbb3043bdd3d4529ce68b6d938ad93"; - sha256="04an17nvnj38mpi0w005v41ib8ynb5qhgrdkmsda4hq7l1gn276s"; + sha256 = "04an17nvnj38mpi0w005v41ib8ynb5qhgrdkmsda4hq7l1gn276s"; }; - buildInputs = [ premake4 bootil ]; + buildInputs = [ + premake4 + bootil + ]; targetName = - if stdenv.hostPlatform.isLinux then "gmad_linux" - else if stdenv.hostPlatform.isDarwin then "gmad_osx" - else "gmad"; + if stdenv.hostPlatform.isLinux then + "gmad_linux" + else if stdenv.hostPlatform.isDarwin then + "gmad_osx" + else + "gmad"; - premakeFlags = [ "--bootil_lib=${bootil}/lib" "--bootil_inc=${bootil}/include" ]; + premakeFlags = [ + "--bootil_lib=${bootil}/lib" + "--bootil_inc=${bootil}/include" + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/gm/gmailctl/package.nix b/pkgs/by-name/gm/gmailctl/package.nix index b10dac2262abe..b701b17923a03 100644 --- a/pkgs/by-name/gm/gmailctl/package.nix +++ b/pkgs/by-name/gm/gmailctl/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -34,6 +35,9 @@ buildGoModule rec { description = "Declarative configuration for Gmail filters"; homepage = "https://github.com/mbrt/gmailctl"; license = licenses.mit; - maintainers = with maintainers; [ doronbehar SuperSandro2000 ]; + maintainers = with maintainers; [ + doronbehar + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/gm/gmetronome/package.nix b/pkgs/by-name/gm/gmetronome/package.nix index 7dcd816c31b41..eec5e5bbeda70 100644 --- a/pkgs/by-name/gm/gmetronome/package.nix +++ b/pkgs/by-name/gm/gmetronome/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, pkg-config -, autoreconfHook -, wrapGAppsHook3 -, gtkmm3 -, libpulseaudio +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + autoreconfHook, + wrapGAppsHook3, + gtkmm3, + libpulseaudio, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gm/gmic-qt/package.nix b/pkgs/by-name/gm/gmic-qt/package.nix index 539b766464e6d..ad7ec1323da15 100644 --- a/pkgs/by-name/gm/gmic-qt/package.nix +++ b/pkgs/by-name/gm/gmic-qt/package.nix @@ -1,25 +1,26 @@ -{ lib -, cimg -, cmake -, curl -, fetchFromGitHub -, fftw -, gimp -, gimpPlugins -, gmic -, graphicsmagick -, libjpeg -, libpng -, libsForQt5 -, libtiff -, llvmPackages -, ninja -, nix-update-script -, openexr -, pkg-config -, stdenv -, zlib -, variant ? "standalone" +{ + lib, + cimg, + cmake, + curl, + fetchFromGitHub, + fftw, + gimp, + gimpPlugins, + gmic, + graphicsmagick, + libjpeg, + libpng, + libsForQt5, + libtiff, + llvmPackages, + ninja, + nix-update-script, + openexr, + pkg-config, + stdenv, + zlib, + variant ? "standalone", }: let @@ -33,20 +34,19 @@ let }; standalone = { - extraDeps = []; # Just to keep uniformity and avoid test-for-null + extraDeps = [ ]; # Just to keep uniformity and avoid test-for-null description = "Versatile front-end to the image processing framework G'MIC"; }; }; in -assert lib.assertMsg - (builtins.hasAttr variant variants) +assert lib.assertMsg (builtins.hasAttr variant variants) "gmic-qt variant \"${variant}\" is not supported. Please use one of ${lib.concatStringsSep ", " (builtins.attrNames variants)}."; -assert lib.assertMsg - (builtins.all (d: d != null) variants.${variant}.extraDeps) - "gmic-qt variant \"${variant}\" is missing one of its dependencies."; +assert lib.assertMsg (builtins.all (d: d != null) + variants.${variant}.extraDeps +) "gmic-qt variant \"${variant}\" is missing one of its dependencies."; stdenv.mkDerivation (finalAttrs: { pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}"; @@ -66,23 +66,27 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - cimg - curl - fftw - gmic - graphicsmagick - libjpeg - libpng - libtiff - openexr - zlib - ] ++ (with libsForQt5; [ - qtbase - qttools - ]) ++ lib.optionals stdenv.cc.isClang [ - llvmPackages.openmp - ] ++ variants.${variant}.extraDeps; + buildInputs = + [ + cimg + curl + fftw + gmic + graphicsmagick + libjpeg + libpng + libtiff + openexr + zlib + ] + ++ (with libsForQt5; [ + qtbase + qttools + ]) + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.openmp + ] + ++ variants.${variant}.extraDeps; postPatch = '' patchShebangs \ @@ -112,7 +116,10 @@ stdenv.mkDerivation (finalAttrs: { }; updateScript = nix-update-script { - extraArgs = [ "--version-regex" "^v\\.(.*)" ]; + extraArgs = [ + "--version-regex" + "^v\\.(.*)" + ]; }; }; diff --git a/pkgs/by-name/gm/gmic/package.nix b/pkgs/by-name/gm/gmic/package.nix index 21ebebd8f6772..89f3e13b3919a 100644 --- a/pkgs/by-name/gm/gmic/package.nix +++ b/pkgs/by-name/gm/gmic/package.nix @@ -1,37 +1,43 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, cimg -, cmake -, common-updater-scripts -, coreutils -, curl -, fftw -, gmic-qt -, gnugrep -, gnused -, graphicsmagick -, jq -, libX11 -, libXext -, libjpeg -, libpng -, libtiff -, llvmPackages -, ninja -, opencv -, openexr -, pkg-config -, writeShellScript -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + cimg, + cmake, + common-updater-scripts, + coreutils, + curl, + fftw, + gmic-qt, + gnugrep, + gnused, + graphicsmagick, + jq, + libX11, + libXext, + libjpeg, + libpng, + libtiff, + llvmPackages, + ninja, + opencv, + openexr, + pkg-config, + writeShellScript, + zlib, }: stdenv.mkDerivation (finalAttrs: { pname = "gmic"; version = "3.4.3"; - outputs = [ "out" "lib" "dev" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + ]; src = fetchFromGitHub { owner = "GreycLab"; @@ -44,7 +50,9 @@ stdenv.mkDerivation (finalAttrs: { # Reference: src/Makefile, directive gmic_stdlib_community.h gmic_stdlib = fetchurl { name = "gmic_stdlib_community.h"; - url = "https://gmic.eu/gmic_stdlib_community${lib.replaceStrings ["."] [""] finalAttrs.version}.h"; + url = "https://gmic.eu/gmic_stdlib_community${ + lib.replaceStrings [ "." ] [ "" ] finalAttrs.version + }.h"; hash = "sha256-M/AL1w9KGi+dIGVQ+vdWY8PSCHi+s/aZef08AxeQMJE="; }; @@ -54,21 +62,23 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - cimg - fftw - graphicsmagick - libX11 - libXext - libjpeg - libpng - libtiff - opencv - openexr - zlib - ] ++ lib.optionals stdenv.cc.isClang [ - llvmPackages.openmp - ]; + buildInputs = + [ + cimg + fftw + graphicsmagick + libX11 + libXext + libjpeg + libpng + libtiff + opencv + openexr + zlib + ] + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.openmp + ]; cmakeFlags = [ (lib.cmakeBool "BUILD_LIB_STATIC" false) @@ -79,13 +89,14 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "USE_SYSTEM_CIMG" true) ]; - postPatch = '' - cp -r ${finalAttrs.gmic_stdlib} src/gmic_stdlib_community.h - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace CMakeLists.txt \ - --replace "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH" - ''; + postPatch = + '' + cp -r ${finalAttrs.gmic_stdlib} src/gmic_stdlib_community.h + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace CMakeLists.txt \ + --replace "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH" + ''; passthru = { tests = { @@ -95,7 +106,16 @@ stdenv.mkDerivation (finalAttrs: { updateScript = writeShellScript "gmic-update-script" '' set -o errexit - PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused jq ]} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + gnused + jq + ] + } latestVersion=$(curl 'https://gmic.eu/files/source/' \ | grep -E 'gmic_[^"]+\.tar\.gz' \ diff --git a/pkgs/by-name/gm/gmid/package.nix b/pkgs/by-name/gm/gmid/package.nix index 8efb061cd6d7f..f630bfc954acb 100644 --- a/pkgs/by-name/gm/gmid/package.nix +++ b/pkgs/by-name/gm/gmid/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, bison, libressl, libevent }: +{ + lib, + stdenv, + fetchFromGitHub, + bison, + libressl, + libevent, +}: stdenv.mkDerivation rec { pname = "gmid"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ bison ]; - buildInputs = [ libressl libevent ]; + buildInputs = [ + libressl + libevent + ]; configureFlags = [ "PREFIX=${placeholder "out"}" diff --git a/pkgs/by-name/gm/gmm/package.nix b/pkgs/by-name/gm/gmm/package.nix index fb44222e75f53..051c413fced8e 100644 --- a/pkgs/by-name/gm/gmm/package.nix +++ b/pkgs/by-name/gm/gmm/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "gmm"; diff --git a/pkgs/by-name/gm/gmni/package.nix b/pkgs/by-name/gm/gmni/package.nix index a17cdab086651..47d3487767ae7 100644 --- a/pkgs/by-name/gm/gmni/package.nix +++ b/pkgs/by-name/gm/gmni/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromSourcehut, bearssl, scdoc }: +{ + stdenv, + lib, + fetchFromSourcehut, + bearssl, + scdoc, +}: stdenv.mkDerivation rec { pname = "gmni"; @@ -26,7 +32,10 @@ stdenv.mkDerivation rec { description = "Gemini client"; homepage = "https://git.sr.ht/~sircmpwn/gmni"; license = licenses.gpl3Only; - maintainers = with maintainers; [ bsima jb55 ]; + maintainers = with maintainers; [ + bsima + jb55 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/gm/gmnisrv/package.nix b/pkgs/by-name/gm/gmnisrv/package.nix index bb9d7cdf59657..52e3feb60491d 100644 --- a/pkgs/by-name/gm/gmnisrv/package.nix +++ b/pkgs/by-name/gm/gmnisrv/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromSourcehut, pkg-config, openssl, mailcap, scdoc }: +{ + stdenv, + lib, + fetchFromSourcehut, + pkg-config, + openssl, + mailcap, + scdoc, +}: stdenv.mkDerivation rec { pname = "gmnisrv"; @@ -21,15 +29,24 @@ stdenv.mkDerivation rec { ''; MIMEDB = "${mailcap}/etc/mime.types"; - nativeBuildInputs = [ pkg-config scdoc ]; - buildInputs = [ openssl mailcap ]; + nativeBuildInputs = [ + pkg-config + scdoc + ]; + buildInputs = [ + openssl + mailcap + ]; meta = with lib; { description = "Simple Gemini protocol server"; mainProgram = "gmnisrv"; homepage = "https://git.sr.ht/~sircmpwn/gmnisrv"; license = licenses.gpl3Only; - maintainers = with maintainers; [ bsima jb55 ]; + maintainers = with maintainers; [ + bsima + jb55 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/gm/gmnitohtml/package.nix b/pkgs/by-name/gm/gmnitohtml/package.nix index a1a080ac029ec..a57c108bd9f82 100644 --- a/pkgs/by-name/gm/gmnitohtml/package.nix +++ b/pkgs/by-name/gm/gmnitohtml/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromSourcehut, scdoc, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromSourcehut, + scdoc, + installShellFiles, +}: buildGoModule rec { pname = "gmnitohtml"; @@ -12,10 +18,16 @@ buildGoModule rec { }; vendorHash = "sha256-ppplXXqb2DM/AU+B+LefndrBiiTgCRNw6hEupfeWr+o="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # Build and install the man pages - nativeBuildInputs = [ scdoc installShellFiles ]; + nativeBuildInputs = [ + scdoc + installShellFiles + ]; postBuild = '' make docs @@ -41,7 +53,10 @@ buildGoModule rec { HTML to the standard output. ''; license = licenses.mit; - maintainers = with maintainers; [ jk sikmir ]; + maintainers = with maintainers; [ + jk + sikmir + ]; mainProgram = "gmnitohtml"; }; } diff --git a/pkgs/by-name/gm/gmqcc/package.nix b/pkgs/by-name/gm/gmqcc/package.nix index ec39f8744f583..a91b8784400bf 100644 --- a/pkgs/by-name/gm/gmqcc/package.nix +++ b/pkgs/by-name/gm/gmqcc/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gm/gmsh/package.nix b/pkgs/by-name/gm/gmsh/package.nix index 2219815824e7c..7187d7299d1da 100644 --- a/pkgs/by-name/gm/gmsh/package.nix +++ b/pkgs/by-name/gm/gmsh/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchurl, cmake, blas, lapack, gfortran, gmm, fltk, libjpeg -, zlib, libGL, libGLU, xorg, opencascade-occt -, python ? null, enablePython ? false }: +{ + lib, + stdenv, + fetchurl, + cmake, + blas, + lapack, + gfortran, + gmm, + fltk, + libjpeg, + zlib, + libGL, + libGLU, + xorg, + opencascade-occt, + python ? null, + enablePython ? false, +}: assert (!blas.isILP64) && (!lapack.isILP64); assert enablePython -> (python != null); @@ -14,13 +30,30 @@ stdenv.mkDerivation rec { hash = "sha256-d5chRfQxcmAm1QWWpqRPs8HJXCElUhjWaVWAa4btvo0="; }; - buildInputs = [ - blas lapack gmm fltk libjpeg zlib opencascade-occt - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libGL libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes - xorg.libXext xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM - xorg.libICE - ] ++ lib.optional enablePython python; + buildInputs = + [ + blas + lapack + gmm + fltk + libjpeg + zlib + opencascade-occt + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libGL + libGLU + xorg.libXrender + xorg.libXcursor + xorg.libXfixes + xorg.libXext + xorg.libXft + xorg.libXinerama + xorg.libX11 + xorg.libSM + xorg.libICE + ] + ++ lib.optional enablePython python; enableParallelBuilding = true; @@ -39,7 +72,10 @@ stdenv.mkDerivation rec { "-DENABLE_OPENMP=ON" ]; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ + cmake + gfortran + ]; postFixup = lib.optionalString enablePython '' mkdir -p $out/lib/python${python.pythonVersion}/site-packages diff --git a/pkgs/by-name/gm/gmu/package.nix b/pkgs/by-name/gm/gmu/package.nix index cc2b46cd6ace6..8e8e26d70af42 100644 --- a/pkgs/by-name/gm/gmu/package.nix +++ b/pkgs/by-name/gm/gmu/package.nix @@ -1,7 +1,19 @@ -{lib, stdenv, fetchurl, fetchpatch, SDL, SDL_gfx, SDL_image, tremor, flac, mpg123, libmikmod -, speex, ncurses -, keymap ? "default" -, conf ? "unknown" +{ + lib, + stdenv, + fetchurl, + fetchpatch, + SDL, + SDL_gfx, + SDL_image, + tremor, + flac, + mpg123, + libmikmod, + speex, + ncurses, + keymap ? "default", + conf ? "unknown", }: stdenv.mkDerivation rec { @@ -14,24 +26,34 @@ stdenv.mkDerivation rec { }; patches = [ - # pull pending upstream inclusion fix for ncurses-6.3: - # https://github.com/jhe2/gmu/pull/7 - (fetchpatch { - name = "ncurses-6.3.patch"; - url = "https://github.com/jhe2/gmu/commit/c8b3a10afee136feb333754ef6ec26383b11072f.patch"; - sha256 = "0xp2j3jp8pkmv6yvnzi378m2dylbfsaqrsrkw7hbxw6kglzj399r"; - }) - - # pull upstream fix for -fno-common toolchains like - # upstream gcc-10 of clang-13. - (fetchpatch { - name = "fno-common.patch"; - url = "https://github.com/jhe2/gmu/commit/b705209f08ddfda141ad358ccd0c3d2d099be5e6.patch"; - sha256 = "1ci2b8kz3r58rzmivlfhqjmcgqwlkwlzzhnyxlk36vmk240a3gqq"; - }) + # pull pending upstream inclusion fix for ncurses-6.3: + # https://github.com/jhe2/gmu/pull/7 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/jhe2/gmu/commit/c8b3a10afee136feb333754ef6ec26383b11072f.patch"; + sha256 = "0xp2j3jp8pkmv6yvnzi378m2dylbfsaqrsrkw7hbxw6kglzj399r"; + }) + + # pull upstream fix for -fno-common toolchains like + # upstream gcc-10 of clang-13. + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/jhe2/gmu/commit/b705209f08ddfda141ad358ccd0c3d2d099be5e6.patch"; + sha256 = "1ci2b8kz3r58rzmivlfhqjmcgqwlkwlzzhnyxlk36vmk240a3gqq"; + }) ]; - buildInputs = [ SDL SDL_gfx SDL_image tremor flac mpg123 libmikmod speex ncurses ]; + buildInputs = [ + SDL + SDL_gfx + SDL_image + tremor + flac + mpg123 + libmikmod + speex + ncurses + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/gn/gnaural/package.nix b/pkgs/by-name/gn/gnaural/package.nix index 75f163ba1e79b..1463ff0b9576e 100644 --- a/pkgs/by-name/gn/gnaural/package.nix +++ b/pkgs/by-name/gn/gnaural/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, libsndfile, portaudio, gtk2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libsndfile, + portaudio, + gtk2, +}: stdenv.mkDerivation rec { pname = "gnaural"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 libsndfile portaudio ]; + buildInputs = [ + gtk2 + libsndfile + portaudio + ]; # Workaround build failure on -fno-common toolchains: # ld: src/net/../gnauralnet.h:233: multiple definition of `GN_ScheduleFingerprint'; diff --git a/pkgs/by-name/gn/gnet/package.nix b/pkgs/by-name/gn/gnet/package.nix index 558d8c0b112a4..ab68ef5f2ef36 100644 --- a/pkgs/by-name/gn/gnet/package.nix +++ b/pkgs/by-name/gn/gnet/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchFromGitHub, pkg-config, autoconf, automake, glib, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoconf, + automake, + glib, + libtool, +}: stdenv.mkDerivation rec { pname = "gnet"; @@ -6,12 +15,19 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "GNOME"; repo = "gnet"; - rev = "GNET_${lib.replaceStrings ["."] ["_"] version}"; + rev = "GNET_${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "1cy78kglzi235md964ikvm0rg801bx0yk9ya8zavndjnaarzqq87"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ glib libtool ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + glib + libtool + ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/by-name/gn/gnirehtet/package.nix b/pkgs/by-name/gn/gnirehtet/package.nix index 95ef1c7402d91..ca194413ef0a6 100644 --- a/pkgs/by-name/gn/gnirehtet/package.nix +++ b/pkgs/by-name/gn/gnirehtet/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, fetchzip -, androidenv -, makeWrapper +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + fetchzip, + androidenv, + makeWrapper, }: let -version = "2.5.1"; -apk = stdenv.mkDerivation { - pname = "gnirehtet.apk"; - inherit version; - src = fetchzip { - url = "https://github.com/Genymobile/gnirehtet/releases/download/v${version}/gnirehtet-rust-linux64-v${version}.zip"; - hash = "sha256-e1wwMhcco9VNoBUzbEq1ESbkX2bqTOkCbPmnV9CpvGo="; + version = "2.5.1"; + apk = stdenv.mkDerivation { + pname = "gnirehtet.apk"; + inherit version; + src = fetchzip { + url = "https://github.com/Genymobile/gnirehtet/releases/download/v${version}/gnirehtet-rust-linux64-v${version}.zip"; + hash = "sha256-e1wwMhcco9VNoBUzbEq1ESbkX2bqTOkCbPmnV9CpvGo="; + }; + installPhase = '' + mkdir $out + mv gnirehtet.apk $out + ''; }; - installPhase = '' - mkdir $out - mv gnirehtet.apk $out - ''; -}; in rustPlatform.buildRustPackage rec { pname = "gnirehtet"; @@ -58,11 +59,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Genymobile/gnirehtet"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # gnirehtet.apk + binaryBytecode # gnirehtet.apk ]; license = licenses.asl20; maintainers = with maintainers; [ symphorien ]; platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/gn/gnmic/package.nix b/pkgs/by-name/gn/gnmic/package.nix index 0cd567968a78d..527cb55f29bc2 100644 --- a/pkgs/by-name/gn/gnmic/package.nix +++ b/pkgs/by-name/gn/gnmic/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, buildPackages +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + buildPackages, }: buildGoModule rec { @@ -20,20 +21,28 @@ buildGoModule rec { vendorHash = "sha256-9A/ZcamCMUpNxG3taHrqI4JChjpSjSuwx0ZUyGAuGXo="; ldflags = [ - "-s" "-w" - "-X" "github.com/openconfig/gnmic/pkg/app.version=${version}" - "-X" "github.com/openconfig/gnmic/pkg/app.commit=${src.rev}" - "-X" "github.com/openconfig/gnmic/pkg/app.date=1970-01-01T00:00:00Z" + "-s" + "-w" + "-X" + "github.com/openconfig/gnmic/pkg/app.version=${version}" + "-X" + "github.com/openconfig/gnmic/pkg/app.commit=${src.rev}" + "-X" + "github.com/openconfig/gnmic/pkg/app.date=1970-01-01T00:00:00Z" ]; subPackages = [ "." ]; nativeBuildInputs = [ installShellFiles ]; - postInstall = let emulator = stdenv.hostPlatform.emulator buildPackages; in '' - installShellCompletion --cmd gnmic \ - --bash <(${emulator} $out/bin/gnmic completion bash) \ - --fish <(${emulator} $out/bin/gnmic completion fish) \ - --zsh <(${emulator} $out/bin/gnmic completion zsh) - ''; + postInstall = + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + installShellCompletion --cmd gnmic \ + --bash <(${emulator} $out/bin/gnmic completion bash) \ + --fish <(${emulator} $out/bin/gnmic completion fish) \ + --zsh <(${emulator} $out/bin/gnmic completion zsh) + ''; meta = with lib; { description = "gNMI CLI client and collector"; diff --git a/pkgs/by-name/gn/gnome-autoar/package.nix b/pkgs/by-name/gn/gnome-autoar/package.nix index 94c69fcf03d63..aefc9e0c1fe5b 100644 --- a/pkgs/by-name/gn/gnome-autoar/package.nix +++ b/pkgs/by-name/gn/gnome-autoar/package.nix @@ -1,22 +1,26 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gnome -, gtk3 -, glib -, gobject-introspection -, libarchive -, vala +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gnome, + gtk3, + glib, + gobject-introspection, + libarchive, + vala, }: stdenv.mkDerivation rec { pname = "gnome-autoar"; version = "0.4.5"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/gnome-autoar-${version}.tar.xz"; diff --git a/pkgs/by-name/gn/gnome-browser-connector/package.nix b/pkgs/by-name/gn/gnome-browser-connector/package.nix index 0eeaea47befde..05fbfd7978499 100644 --- a/pkgs/by-name/gn/gnome-browser-connector/package.nix +++ b/pkgs/by-name/gn/gnome-browser-connector/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchurl -, meson -, ninja -, python3 -, gnome -, gnome-shell -, wrapGAppsNoGuiHook -, gobject-introspection +{ + lib, + fetchurl, + meson, + ninja, + python3, + gnome, + gnome-shell, + wrapGAppsNoGuiHook, + gobject-introspection, }: let diff --git a/pkgs/by-name/gn/gnome-builder/package.nix b/pkgs/by-name/gn/gnome-builder/package.nix index 8a3c7ac09d7af..c36d51d1f996d 100644 --- a/pkgs/by-name/gn/gnome-builder/package.nix +++ b/pkgs/by-name/gn/gnome-builder/package.nix @@ -1,49 +1,53 @@ -{ stdenv -, lib -, ctags -, cmark -, desktop-file-utils -, editorconfig-core-c -, fetchurl -, flatpak -, gnome -, libgit2-glib -, gi-docgen -, gobject-introspection -, gom -, gtk4 -, gtksourceview5 -, json-glib -, jsonrpc-glib -, libadwaita -, libdex -, libpanel -, libpeas2 -, libportal-gtk4 -, libspelling -, libsysprof-capture -, libxml2 -, meson -, ninja -, ostree -, pcre2 -, pkg-config -, python3 -, sysprof -, template-glib -, vala -, vte-gtk4 -, webkitgtk_6_0 -, wrapGAppsHook4 -, dbus -, xvfb-run +{ + stdenv, + lib, + ctags, + cmark, + desktop-file-utils, + editorconfig-core-c, + fetchurl, + flatpak, + gnome, + libgit2-glib, + gi-docgen, + gobject-introspection, + gom, + gtk4, + gtksourceview5, + json-glib, + jsonrpc-glib, + libadwaita, + libdex, + libpanel, + libpeas2, + libportal-gtk4, + libspelling, + libsysprof-capture, + libxml2, + meson, + ninja, + ostree, + pcre2, + pkg-config, + python3, + sysprof, + template-glib, + vala, + vte-gtk4, + webkitgtk_6_0, + wrapGAppsHook4, + dbus, + xvfb-run, }: stdenv.mkDerivation (finalAttrs: { pname = "gnome-builder"; version = "47.2"; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/gnome-builder/${lib.versions.major finalAttrs.version}/gnome-builder-${finalAttrs.version}.tar.xz"; diff --git a/pkgs/by-name/gn/gnome-calculator/package.nix b/pkgs/by-name/gn/gnome-calculator/package.nix index 2f2d5ff94e7a0..157ea3b2b3bfe 100644 --- a/pkgs/by-name/gn/gnome-calculator/package.nix +++ b/pkgs/by-name/gn/gnome-calculator/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, appstream -, meson -, ninja -, vala -, gettext -, itstool -, fetchurl -, pkg-config -, libxml2 -, gtk4 -, glib -, gtksourceview5 -, wrapGAppsHook4 -, gnome -, mpfr -, gmp -, libsoup_3 -, libmpc -, libadwaita -, gsettings-desktop-schemas -, libgee +{ + stdenv, + lib, + appstream, + meson, + ninja, + vala, + gettext, + itstool, + fetchurl, + pkg-config, + libxml2, + gtk4, + glib, + gtksourceview5, + wrapGAppsHook4, + gnome, + mpfr, + gmp, + libsoup_3, + libmpc, + libadwaita, + gsettings-desktop-schemas, + libgee, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-calendar/package.nix b/pkgs/by-name/gn/gnome-calendar/package.nix index d3cbf403df283..f49b00e5e3070 100644 --- a/pkgs/by-name/gn/gnome-calendar/package.nix +++ b/pkgs/by-name/gn/gnome-calendar/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, libgweather -, geoclue2 -, gettext -, libxml2 -, gnome -, gtk4 -, evolution-data-server-gtk4 -, libical -, libsoup_3 -, glib -, gsettings-desktop-schemas -, libadwaita +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + libgweather, + geoclue2, + gettext, + libxml2, + gnome, + gtk4, + evolution-data-server-gtk4, + libical, + libsoup_3, + glib, + gsettings-desktop-schemas, + libadwaita, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-common/package.nix b/pkgs/by-name/gn/gnome-common/package.nix index df7eede7fa51d..9a5393a27a8a6 100644 --- a/pkgs/by-name/gn/gnome-common/package.nix +++ b/pkgs/by-name/gn/gnome-common/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, which, gnome, autoconf, automake }: +{ + lib, + stdenv, + fetchurl, + which, + gnome, + autoconf, + automake, +}: stdenv.mkDerivation rec { pname = "gnome-common"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { updateScript = gnome.updateScript { packageName = "gnome-common"; }; }; - propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome-common tends to require which + propagatedBuildInputs = [ + which + autoconf + automake + ]; # autogen.sh which is using gnome-common tends to require which meta = with lib; { maintainers = teams.gnome.members; diff --git a/pkgs/by-name/gn/gnome-console/package.nix b/pkgs/by-name/gn/gnome-console/package.nix index 5cf70be5355b3..fbe20611fdf2c 100644 --- a/pkgs/by-name/gn/gnome-console/package.nix +++ b/pkgs/by-name/gn/gnome-console/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, gettext -, gnome -, libgtop -, gtk4 -, libadwaita -, pango -, pcre2 -, vte-gtk4 -, desktop-file-utils -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, nixosTests +{ + lib, + stdenv, + fetchurl, + gettext, + gnome, + libgtop, + gtk4, + libadwaita, + pango, + pcre2, + vte-gtk4, + desktop-file-utils, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-desktop-testing/package.nix b/pkgs/by-name/gn/gnome-desktop-testing/package.nix index 1ff42a6f6241b..4f707c18c7f55 100644 --- a/pkgs/by-name/gn/gnome-desktop-testing/package.nix +++ b/pkgs/by-name/gn/gnome-desktop-testing/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, glib -, autoreconfHook -, pkg-config -, systemd -, fetchFromGitLab -, nix-update-script +{ + stdenv, + lib, + glib, + autoreconfHook, + pkg-config, + systemd, + fetchFromGitLab, + nix-update-script, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-desktop/package.nix b/pkgs/by-name/gn/gnome-desktop/package.nix index eb6dbbf138438..2d533759f60ee 100644 --- a/pkgs/by-name/gn/gnome-desktop/package.nix +++ b/pkgs/by-name/gn/gnome-desktop/package.nix @@ -1,37 +1,42 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, pkg-config -, libxslt -, ninja -, gnome -, gtk3 -, gtk4 -, glib -, gettext -, libxml2 -, xkeyboard_config -, libxkbcommon -, isocodes -, meson -, wayland -, libseccomp -, systemd -, udev -, bubblewrap -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, gsettings-desktop-schemas -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + lib, + stdenv, + fetchurl, + substituteAll, + pkg-config, + libxslt, + ninja, + gnome, + gtk3, + gtk4, + glib, + gettext, + libxml2, + xkeyboard_config, + libxkbcommon, + isocodes, + meson, + wayland, + libseccomp, + systemd, + udev, + bubblewrap, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, + gsettings-desktop-schemas, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: stdenv.mkDerivation rec { pname = "gnome-desktop"; version = "44.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; @@ -59,33 +64,38 @@ stdenv.mkDerivation rec { glib ]; - buildInputs = [ - xkeyboard_config - libxkbcommon # for xkbregistry - isocodes - gtk3 - gtk4 - glib - ] ++ lib.optionals withSystemd [ - systemd - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - bubblewrap - wayland - libseccomp - udev - ]; + buildInputs = + [ + xkeyboard_config + libxkbcommon # for xkbregistry + isocodes + gtk3 + gtk4 + glib + ] + ++ lib.optionals withSystemd [ + systemd + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + bubblewrap + wayland + libseccomp + udev + ]; propagatedBuildInputs = [ gsettings-desktop-schemas ]; - mesonFlags = [ - "-Dgtk_doc=true" - "-Ddesktop_docs=false" - (lib.mesonEnable "systemd" withSystemd) - ] ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ - "-Dudev=disabled" - ]; + mesonFlags = + [ + "-Dgtk_doc=true" + "-Ddesktop_docs=false" + (lib.mesonEnable "systemd" withSystemd) + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + "-Dudev=disabled" + ]; separateDebugInfo = stdenv.hostPlatform.isLinux; @@ -98,7 +108,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library with common API for various GNOME modules"; homepage = "https://gitlab.gnome.org/GNOME/gnome-desktop"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.gnome.members; }; diff --git a/pkgs/by-name/gn/gnome-disk-utility/package.nix b/pkgs/by-name/gn/gnome-disk-utility/package.nix index 5a61d18f1e20f..70cc891e75a2e 100644 --- a/pkgs/by-name/gn/gnome-disk-utility/package.nix +++ b/pkgs/by-name/gn/gnome-disk-utility/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, gettext -, fetchurl -, pkg-config -, udisks2 -, libhandy -, libsecret -, libdvdread -, meson -, ninja -, gtk3 -, glib -, wrapGAppsHook3 -, libnotify -, itstool -, gnome -, gnome-settings-daemon -, adwaita-icon-theme -, libxml2 -, gsettings-desktop-schemas -, libcanberra-gtk3 -, libxslt -, docbook-xsl-nons -, desktop-file-utils -, libpwquality -, systemd +{ + lib, + stdenv, + gettext, + fetchurl, + pkg-config, + udisks2, + libhandy, + libsecret, + libdvdread, + meson, + ninja, + gtk3, + glib, + wrapGAppsHook3, + libnotify, + itstool, + gnome, + gnome-settings-daemon, + adwaita-icon-theme, + libxml2, + gsettings-desktop-schemas, + libcanberra-gtk3, + libxslt, + docbook-xsl-nons, + desktop-file-utils, + libpwquality, + systemd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-doc-utils/package.nix b/pkgs/by-name/gn/gnome-doc-utils/package.nix index 5586ed5c2301b..8b30095d119e6 100644 --- a/pkgs/by-name/gn/gnome-doc-utils/package.nix +++ b/pkgs/by-name/gn/gnome-doc-utils/package.nix @@ -1,5 +1,15 @@ -{ lib, fetchurl, pkg-config, libxml2, libxslt, intltool, gnome -, python3Packages, fetchpatch, bash }: +{ + lib, + fetchurl, + pkg-config, + libxml2, + libxslt, + intltool, + gnome, + python3Packages, + fetchpatch, + bash, +}: python3Packages.buildPythonApplication rec { pname = "gnome-doc-utils"; @@ -25,8 +35,16 @@ python3Packages.buildPythonApplication rec { }) ]; - nativeBuildInputs = [ intltool pkg-config libxslt.dev ]; - buildInputs = [ libxml2 libxslt bash ]; + nativeBuildInputs = [ + intltool + pkg-config + libxslt.dev + ]; + buildInputs = [ + libxml2 + libxslt + bash + ]; propagatedBuildInputs = [ python3Packages.libxml2 ]; configureFlags = [ "--disable-scrollkeeper" ]; @@ -40,7 +58,10 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Collection of documentation utilities for the GNOME project"; homepage = "https://gitlab.gnome.org/GNOME/gnome-doc-utils"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/gn/gnome-epub-thumbnailer/package.nix b/pkgs/by-name/gn/gnome-epub-thumbnailer/package.nix index 3e0a8978b5e5c..f8ed99ececdad 100644 --- a/pkgs/by-name/gn/gnome-epub-thumbnailer/package.nix +++ b/pkgs/by-name/gn/gnome-epub-thumbnailer/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchurl -, wrapGAppsNoGuiHook -, meson -, ninja -, pkg-config -, gnome -, gdk-pixbuf -, glib -, libarchive -, librsvg -, libxml2 +{ + stdenv, + lib, + fetchurl, + wrapGAppsNoGuiHook, + meson, + ninja, + pkg-config, + gnome, + gdk-pixbuf, + glib, + libarchive, + librsvg, + libxml2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-extension-manager/package.nix b/pkgs/by-name/gn/gnome-extension-manager/package.nix index 02eb300c59ef0..46ba29a2c73d6 100644 --- a/pkgs/by-name/gn/gnome-extension-manager/package.nix +++ b/pkgs/by-name/gn/gnome-extension-manager/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchFromGitHub -, wrapGAppsHook4 -, libadwaita -, meson -, ninja -, gettext -, gtk4 -, appstream -, appstream-glib -, desktop-file-utils -, gobject-introspection -, blueprint-compiler -, pkg-config -, json-glib -, libsoup_3 -, glib -, libbacktrace -, text-engine -, fetchpatch +{ + stdenv, + lib, + fetchFromGitHub, + wrapGAppsHook4, + libadwaita, + meson, + ninja, + gettext, + gtk4, + appstream, + appstream-glib, + desktop-file-utils, + gobject-introspection, + blueprint-compiler, + pkg-config, + json-glib, + libsoup_3, + glib, + libbacktrace, + text-engine, + fetchpatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-font-viewer/package.nix b/pkgs/by-name/gn/gnome-font-viewer/package.nix index a55cc20e32b67..02e80ca2ceec1 100644 --- a/pkgs/by-name/gn/gnome-font-viewer/package.nix +++ b/pkgs/by-name/gn/gnome-font-viewer/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, meson -, ninja -, gettext -, fetchurl -, pkg-config -, gtk4 -, glib -, libxml2 -, libadwaita -, fribidi -, wrapGAppsHook4 -, gnome -, harfbuzz +{ + lib, + stdenv, + meson, + ninja, + gettext, + fetchurl, + pkg-config, + gtk4, + glib, + libxml2, + libadwaita, + fribidi, + wrapGAppsHook4, + gnome, + harfbuzz, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-frog/package.nix b/pkgs/by-name/gn/gnome-frog/package.nix index 0facc24ce44cc..b63c65f817953 100644 --- a/pkgs/by-name/gn/gnome-frog/package.nix +++ b/pkgs/by-name/gn/gnome-frog/package.nix @@ -1,24 +1,25 @@ -{ lib -, fetchFromGitHub -, python3Packages -, wrapGAppsHook4 -, meson -, ninja -, pkg-config -, appstream-glib -, desktop-file-utils -, glib -, gobject-introspection -, blueprint-compiler -, libxml2 -, libnotify -, libadwaita -, libportal -, gettext -, librsvg -, tesseract5 -, zbar -, gst_all_1 +{ + lib, + fetchFromGitHub, + python3Packages, + wrapGAppsHook4, + meson, + ninja, + pkg-config, + appstream-glib, + desktop-file-utils, + glib, + gobject-introspection, + blueprint-compiler, + libxml2, + libnotify, + libadwaita, + libportal, + gettext, + librsvg, + tesseract5, + zbar, + gst_all_1, }: python3Packages.buildPythonApplication rec { @@ -89,8 +90,7 @@ python3Packages.buildPythonApplication rec { meta = with lib; { homepage = "https://getfrog.app/"; - description = - "Intuitive text extraction tool (OCR) for GNOME desktop"; + description = "Intuitive text extraction tool (OCR) for GNOME desktop"; license = licenses.mit; mainProgram = "frog"; maintainers = with maintainers; [ foo-dogsquared ]; diff --git a/pkgs/by-name/gn/gnome-graphs/package.nix b/pkgs/by-name/gn/gnome-graphs/package.nix index 3a635d515d791..a0fe96ddfa922 100644 --- a/pkgs/by-name/gn/gnome-graphs/package.nix +++ b/pkgs/by-name/gn/gnome-graphs/package.nix @@ -1,18 +1,19 @@ -{ lib -, python3Packages -, fetchFromGitLab -, meson -, ninja -, vala -, pkg-config -, gobject-introspection -, blueprint-compiler -, itstool -, wrapGAppsHook4 -, desktop-file-utils -, shared-mime-info -, libadwaita -, libgee +{ + lib, + python3Packages, + fetchFromGitLab, + meson, + ninja, + vala, + pkg-config, + gobject-introspection, + blueprint-compiler, + itstool, + wrapGAppsHook4, + desktop-file-utils, + shared-mime-info, + libadwaita, + libgee, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/gn/gnome-icon-theme/package.nix b/pkgs/by-name/gn/gnome-icon-theme/package.nix index 22289b73c466c..f245d806342ce 100644 --- a/pkgs/by-name/gn/gnome-icon-theme/package.nix +++ b/pkgs/by-name/gn/gnome-icon-theme/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, iconnamingutils, gtk2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + iconnamingutils, + gtk2, +}: stdenv.mkDerivation rec { pname = "gnome-icon-theme"; diff --git a/pkgs/by-name/gn/gnome-inform7/package.nix b/pkgs/by-name/gn/gnome-inform7/package.nix index e4cc850579285..0c2aacc1a5bb1 100644 --- a/pkgs/by-name/gn/gnome-inform7/package.nix +++ b/pkgs/by-name/gn/gnome-inform7/package.nix @@ -1,73 +1,105 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, python3, perl, bison -, texinfo, desktop-file-utils, wrapGAppsHook3, docbook2x, docbook-xsl-nons -, inform7, gettext, libossp_uuid, gtk3, gobject-introspection, vala, gtk-doc -, webkitgtk_4_0, gtksourceview3, gspell, libxml2, goocanvas2, libplist, glib -, gst_all_1 }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + perl, + bison, + texinfo, + desktop-file-utils, + wrapGAppsHook3, + docbook2x, + docbook-xsl-nons, + inform7, + gettext, + libossp_uuid, + gtk3, + gobject-introspection, + vala, + gtk-doc, + webkitgtk_4_0, + gtksourceview3, + gspell, + libxml2, + goocanvas2, + libplist, + glib, + gst_all_1, +}: # Neither gnome-inform7 nor its dependencies ratify and chimara have tagged releases in the GTK3 branch yet. let - ratify = (stdenv.mkDerivation { - pname = "ratify"; - version = "unstable-2021-02-21"; - src = fetchFromGitHub { - owner = "ptomato"; - repo = "ratify"; - rev = "f4d2d60ec73d5588e953650b3879e69a727f30ca"; - sha256 = "eRh/9pYvdfbdbdJQ7pYMLq5p91I+rtyb/AqEGfakjKs="; - }; - nativeBuildInputs = [ - meson - ninja - pkg-config - docbook2x - docbook-xsl-nons - wrapGAppsHook3 - gobject-introspection - ]; - buildInputs = [ - gtk3 - vala gtk-doc - ]; - }); + ratify = ( + stdenv.mkDerivation { + pname = "ratify"; + version = "unstable-2021-02-21"; + src = fetchFromGitHub { + owner = "ptomato"; + repo = "ratify"; + rev = "f4d2d60ec73d5588e953650b3879e69a727f30ca"; + sha256 = "eRh/9pYvdfbdbdJQ7pYMLq5p91I+rtyb/AqEGfakjKs="; + }; + nativeBuildInputs = [ + meson + ninja + pkg-config + docbook2x + docbook-xsl-nons + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = [ + gtk3 + vala + gtk-doc + ]; + } + ); - chimara = (stdenv.mkDerivation { - pname = "chimara"; - version = "unstable-2021-04-06"; - src = fetchFromGitHub { - owner = "chimara"; - repo = "Chimara"; - rev = "9934b142af508c75c0f1eed597990f39495b1af4"; - sha256 = "aRz1XX8XaSLTBIrMIIMS3QNMm6Msi+slrZ6+KYlyRMo="; - }; - nativeBuildInputs = [ - meson - ninja - pkg-config - perl - bison - texinfo - python3 - glib - wrapGAppsHook3 - gobject-introspection - ]; - buildInputs = [ - gtk3 - vala - gtk-doc - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - glib - ]; - preConfigure = '' - patchShebangs build-aux/meson_post_install.py - ''; - }); + chimara = ( + stdenv.mkDerivation { + pname = "chimara"; + version = "unstable-2021-04-06"; + src = fetchFromGitHub { + owner = "chimara"; + repo = "Chimara"; + rev = "9934b142af508c75c0f1eed597990f39495b1af4"; + sha256 = "aRz1XX8XaSLTBIrMIIMS3QNMm6Msi+slrZ6+KYlyRMo="; + }; + nativeBuildInputs = [ + meson + ninja + pkg-config + perl + bison + texinfo + python3 + glib + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = [ + gtk3 + vala + gtk-doc + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + glib + ]; + preConfigure = '' + patchShebangs build-aux/meson_post_install.py + ''; + } + ); -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "gnome-inform7"; version = "unstable-2021-04-06"; src = fetchFromGitHub { diff --git a/pkgs/by-name/gn/gnome-keyring/package.nix b/pkgs/by-name/gn/gnome-keyring/package.nix index 959a3de5890f4..199bbd40b1c3a 100644 --- a/pkgs/by-name/gn/gnome-keyring/package.nix +++ b/pkgs/by-name/gn/gnome-keyring/package.nix @@ -1,31 +1,35 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, dbus -, libgcrypt -, pam -, python3 -, glib -, libxslt -, gettext -, gcr -, libcap_ng -, libselinux -, p11-kit -, openssh -, wrapGAppsHook3 -, docbook-xsl-nons -, docbook_xml_dtd_43 -, gnome -, useWrappedDaemon ? true +{ + lib, + stdenv, + fetchurl, + pkg-config, + dbus, + libgcrypt, + pam, + python3, + glib, + libxslt, + gettext, + gcr, + libcap_ng, + libselinux, + p11-kit, + openssh, + wrapGAppsHook3, + docbook-xsl-nons, + docbook_xml_dtd_43, + gnome, + useWrappedDaemon ? true, }: stdenv.mkDerivation rec { pname = "gnome-keyring"; version = "46.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/gnome-keyring/${lib.versions.major version}/gnome-keyring-${version}.tar.xz"; @@ -52,7 +56,10 @@ stdenv.mkDerivation rec { p11-kit ]; - nativeCheckInputs = [ dbus python3 ]; + nativeCheckInputs = [ + dbus + python3 + ]; configureFlags = [ "--with-pkcs11-config=${placeholder "out"}/etc/pkcs11/" # installation directories diff --git a/pkgs/by-name/gn/gnome-keysign/package.nix b/pkgs/by-name/gn/gnome-keysign/package.nix index af794097cf552..ac9aaa330a234 100644 --- a/pkgs/by-name/gn/gnome-keysign/package.nix +++ b/pkgs/by-name/gn/gnome-keysign/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitLab -, python3 -, wrapGAppsHook3 -, gobject-introspection -, gtk3 -, glib -, gst_all_1 +{ + lib, + fetchFromGitLab, + python3, + wrapGAppsHook3, + gobject-introspection, + gtk3, + glib, + gst_all_1, }: python3.pkgs.buildPythonApplication rec { @@ -20,13 +21,15 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-k77z8Yligzs4rHpPckRGcC5qnCHynHQRjdDkzxwt1Ss="; }; - nativeBuildInputs = [ - wrapGAppsHook3 - gobject-introspection - ] ++ (with python3.pkgs; [ - babel - babelgladeextractor - ]); + nativeBuildInputs = + [ + wrapGAppsHook3 + gobject-introspection + ] + ++ (with python3.pkgs; [ + babel + babelgladeextractor + ]); buildInputs = [ # TODO: add avahi support diff --git a/pkgs/by-name/gn/gnome-menus/package.nix b/pkgs/by-name/gn/gnome-menus/package.nix index 498641bbdc307..247f7a529214e 100644 --- a/pkgs/by-name/gn/gnome-menus/package.nix +++ b/pkgs/by-name/gn/gnome-menus/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, gettext, glib, gobject-introspection, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + gobject-introspection, + gnome, +}: stdenv.mkDerivation rec { pname = "gnome-menus"; @@ -14,7 +23,11 @@ stdenv.mkDerivation rec { "INTROSPECTION_TYPELIBDIR=${placeholder "out"}/lib/girepository-1.0" ]; - nativeBuildInputs = [ pkg-config gettext gobject-introspection ]; + nativeBuildInputs = [ + pkg-config + gettext + gobject-introspection + ]; buildInputs = [ glib ]; passthru = { @@ -27,7 +40,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gitlab.gnome.org/GNOME/gnome-menus"; description = "Library that implements freedesktops's Desktop Menu Specification in GNOME"; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/gn/gnome-multi-writer/package.nix b/pkgs/by-name/gn/gnome-multi-writer/package.nix index f73016681c0ee..2f77f53d45d96 100644 --- a/pkgs/by-name/gn/gnome-multi-writer/package.nix +++ b/pkgs/by-name/gn/gnome-multi-writer/package.nix @@ -1,20 +1,22 @@ -{ lib, stdenv -, fetchurl -, appstream-glib -, desktop-file-utils -, gettext -, glib -, gnome -, gtk3 -, gusb -, libcanberra-gtk3 -, libgudev -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, polkit -, udisks +{ + lib, + stdenv, + fetchurl, + appstream-glib, + desktop-file-utils, + gettext, + glib, + gnome, + gtk3, + gusb, + libcanberra-gtk3, + libgudev, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + polkit, + udisks, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-network-displays/package.nix b/pkgs/by-name/gn/gnome-network-displays/package.nix index 01c82aacd2098..849c4ab8becee 100644 --- a/pkgs/by-name/gn/gnome-network-displays/package.nix +++ b/pkgs/by-name/gn/gnome-network-displays/package.nix @@ -1,28 +1,30 @@ -{ lib, stdenv -, fetchurl -# native -, meson -, ninja -, pkg-config -, gettext -, desktop-file-utils -, appstream-glib -, wrapGAppsHook4 -, python3 -# Not native -, gst_all_1 -, gsettings-desktop-schemas -, gtk4 -, avahi -, glib -, networkmanager -, json-glib -, libadwaita -, libportal-gtk4 -, libpulseaudio -, libsoup_3 -, pipewire -, protobufc +{ + lib, + stdenv, + fetchurl, + # native + meson, + ninja, + pkg-config, + gettext, + desktop-file-utils, + appstream-glib, + wrapGAppsHook4, + python3, + # Not native + gst_all_1, + gsettings-desktop-schemas, + gtk4, + avahi, + glib, + networkmanager, + json-glib, + libadwaita, + libportal-gtk4, + libpulseaudio, + libsoup_3, + pipewire, + protobufc, }: stdenv.mkDerivation (finalAttrs: { @@ -67,13 +69,14 @@ stdenv.mkDerivation (finalAttrs: { protobufc ]; - /* Without this flag, we get this include error: + /* + Without this flag, we get this include error: - /nix/store/...-gst-rtsp-server-1.22.8-dev/include/gstreamer-1.0/gst/rtsp-server/rtsp-media-factory.h:21:10: fatal error: gst/rtsp/gstrtspurl.h: No such file or directory - 21 | #include + /nix/store/...-gst-rtsp-server-1.22.8-dev/include/gstreamer-1.0/gst/rtsp-server/rtsp-media-factory.h:21:10: fatal error: gst/rtsp/gstrtspurl.h: No such file or directory + 21 | #include - Hence, this is not necessarily an upstream issue, but could be something - wrong with how our gst_all_1 depend on each other. + Hence, this is not necessarily an upstream issue, but could be something + wrong with how our gst_all_1 depend on each other. */ CFLAGS = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"; diff --git a/pkgs/by-name/gn/gnome-online-accounts-gtk/package.nix b/pkgs/by-name/gn/gnome-online-accounts-gtk/package.nix index 12e7dd52defed..7dc2539d4b26a 100644 --- a/pkgs/by-name/gn/gnome-online-accounts-gtk/package.nix +++ b/pkgs/by-name/gn/gnome-online-accounts-gtk/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, glib -, glib-networking -, gnome-online-accounts -, gtk4 -, libadwaita +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + glib, + glib-networking, + gnome-online-accounts, + gtk4, + libadwaita, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gn/gnome-online-accounts/package.nix b/pkgs/by-name/gn/gnome-online-accounts/package.nix index 61ca498ec1e3c..49c2042498dd9 100644 --- a/pkgs/by-name/gn/gnome-online-accounts/package.nix +++ b/pkgs/by-name/gn/gnome-online-accounts/package.nix @@ -1,39 +1,48 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, vala -, glib -, meson -, ninja -, libxslt -, gtk4 -, enableBackend ? stdenv.hostPlatform.isLinux -, json-glib -, keyutils -, libadwaita -, librest_1_0 -, libxml2 -, libsecret -, gobject-introspection -, gettext -, gi-docgen -, glib-networking -, libsoup_3 -, docbook-xsl-nons -, gnome -, gcr_4 -, libkrb5 -, gvfs -, dbus -, wrapGAppsHook4 +{ + stdenv, + lib, + fetchurl, + pkg-config, + vala, + glib, + meson, + ninja, + libxslt, + gtk4, + enableBackend ? stdenv.hostPlatform.isLinux, + json-glib, + keyutils, + libadwaita, + librest_1_0, + libxml2, + libsecret, + gobject-introspection, + gettext, + gi-docgen, + glib-networking, + libsoup_3, + docbook-xsl-nons, + gnome, + gcr_4, + libkrb5, + gvfs, + dbus, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { pname = "gnome-online-accounts"; version = "3.52.2"; - outputs = [ "out" "dev" ] ++ lib.optionals enableBackend [ "man" "devdoc" ]; + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals enableBackend [ + "man" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/gnome-online-accounts/${lib.versions.majorMinor finalAttrs.version}/gnome-online-accounts-${finalAttrs.version}.tar.xz"; @@ -62,22 +71,24 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook4 ]; - buildInputs = [ - gcr_4 - glib - glib-networking - gtk4 - libadwaita - gvfs # OwnCloud, Google Drive - json-glib - libkrb5 - librest_1_0 - libxml2 - libsecret - libsoup_3 - ] ++ lib.optionals enableBackend [ - keyutils - ]; + buildInputs = + [ + gcr_4 + glib + glib-networking + gtk4 + libadwaita + gvfs # OwnCloud, Google Drive + json-glib + libkrb5 + librest_1_0 + libxml2 + libsecret + libsoup_3 + ] + ++ lib.optionals enableBackend [ + keyutils + ]; postFixup = '' # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. diff --git a/pkgs/by-name/gn/gnome-packagekit/package.nix b/pkgs/by-name/gn/gnome-packagekit/package.nix index 173d6d4bd7c51..6ab6363dc50db 100644 --- a/pkgs/by-name/gn/gnome-packagekit/package.nix +++ b/pkgs/by-name/gn/gnome-packagekit/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, meson -, ninja -, gettext -, gnome -, packagekit -, polkit -, gtk3 -, systemd -, wrapGAppsHook3 -, desktop-file-utils +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + gettext, + gnome, + packagekit, + polkit, + gtk3, + systemd, + wrapGAppsHook3, + desktop-file-utils, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-photos/package.nix b/pkgs/by-name/gn/gnome-photos/package.nix index 6aad3a4b51ff6..199fa1f212463 100644 --- a/pkgs/by-name/gn/gnome-photos/package.nix +++ b/pkgs/by-name/gn/gnome-photos/package.nix @@ -1,42 +1,46 @@ -{ stdenv -, lib -, fetchurl -, at-spi2-core -, babl -, dbus -, desktop-file-utils -, dleyna-renderer -, gdk-pixbuf -, gegl -, geocode-glib_2 -, gettext -, gexiv2 -, glib -, gnome-online-accounts -, gnome -, gobject-introspection -, gsettings-desktop-schemas -, gtk3 -, itstool -, libdazzle -, libportal-gtk3 -, libhandy -, libxml2 -, meson -, ninja -, nixosTests -, pkg-config -, python3 -, tinysparql -, localsearch -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchurl, + at-spi2-core, + babl, + dbus, + desktop-file-utils, + dleyna-renderer, + gdk-pixbuf, + gegl, + geocode-glib_2, + gettext, + gexiv2, + glib, + gnome-online-accounts, + gnome, + gobject-introspection, + gsettings-desktop-schemas, + gtk3, + itstool, + libdazzle, + libportal-gtk3, + libhandy, + libxml2, + meson, + ninja, + nixosTests, + pkg-config, + python3, + tinysparql, + localsearch, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "gnome-photos"; version = "44.0"; - outputs = [ "out" "installedTests" ]; + outputs = [ + "out" + "installedTests" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; @@ -57,11 +61,13 @@ stdenv.mkDerivation rec { meson ninja pkg-config - (python3.withPackages (pkgs: with pkgs; [ - dogtail - pygobject3 - pyatspi - ])) + (python3.withPackages ( + pkgs: with pkgs; [ + dogtail + pygobject3 + pyatspi + ] + )) wrapGAppsHook3 ]; diff --git a/pkgs/by-name/gn/gnome-podcasts/package.nix b/pkgs/by-name/gn/gnome-podcasts/package.nix index 5625f15e3a232..0cc31075ec52c 100644 --- a/pkgs/by-name/gn/gnome-podcasts/package.nix +++ b/pkgs/by-name/gn/gnome-podcasts/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitLab -, cargo -, meson -, ninja -, gettext -, pkg-config -, rustc -, glib -, gtk4 -, libadwaita -, appstream-glib -, desktop-file-utils -, dbus -, openssl -, glib-networking -, sqlite -, gst_all_1 -, wrapGAppsHook4 +{ + stdenv, + lib, + rustPlatform, + fetchFromGitLab, + cargo, + meson, + ninja, + gettext, + pkg-config, + rustc, + glib, + gtk4, + libadwaita, + appstream-glib, + desktop-file-utils, + dbus, + openssl, + glib-networking, + sqlite, + gst_all_1, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-randr/package.nix b/pkgs/by-name/gn/gnome-randr/package.nix index ca136adb24a41..4cd09ee2bcea5 100644 --- a/pkgs/by-name/gn/gnome-randr/package.nix +++ b/pkgs/by-name/gn/gnome-randr/package.nix @@ -1,8 +1,9 @@ -{ dbus -, fetchFromGitHub -, lib -, pkg-config -, rustPlatform +{ + dbus, + fetchFromGitHub, + lib, + pkg-config, + rustPlatform, }: let version = "0.1.1"; diff --git a/pkgs/by-name/gn/gnome-recipes/package.nix b/pkgs/by-name/gn/gnome-recipes/package.nix index 09a38f2cc506d..c2eac8eb8baaf 100644 --- a/pkgs/by-name/gn/gnome-recipes/package.nix +++ b/pkgs/by-name/gn/gnome-recipes/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, desktop-file-utils -, gettext -, itstool -, python3 -, wrapGAppsHook3 -, gtk3 -, glib -, libsoup_2_4 -, gnome-online-accounts -, librest -, json-glib -, gnome-autoar -, gspell -, libcanberra -, nix-update-script +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + desktop-file-utils, + gettext, + itstool, + python3, + wrapGAppsHook3, + gtk3, + glib, + libsoup_2_4, + gnome-online-accounts, + librest, + json-glib, + gnome-autoar, + gspell, + libcanberra, + nix-update-script, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-screenshot/package.nix b/pkgs/by-name/gn/gnome-screenshot/package.nix index ec62a734686ee..1509e559ac3f4 100644 --- a/pkgs/by-name/gn/gnome-screenshot/package.nix +++ b/pkgs/by-name/gn/gnome-screenshot/package.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, gettext -, libxml2 -, libhandy -, fetchurl -, fetchpatch -, pkg-config -, libcanberra-gtk3 -, gtk3 -, glib -, meson -, ninja -, python3 -, wrapGAppsHook3 -, appstream-glib -, desktop-file-utils -, gnome -, adwaita-icon-theme -, gsettings-desktop-schemas +{ + stdenv, + lib, + gettext, + libxml2, + libhandy, + fetchurl, + fetchpatch, + pkg-config, + libcanberra-gtk3, + gtk3, + glib, + meson, + ninja, + python3, + wrapGAppsHook3, + appstream-glib, + desktop-file-utils, + gnome, + adwaita-icon-theme, + gsettings-desktop-schemas, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-secrets/package.nix b/pkgs/by-name/gn/gnome-secrets/package.nix index 62f8fdf6f2c21..26bee490ac4ac 100644 --- a/pkgs/by-name/gn/gnome-secrets/package.nix +++ b/pkgs/by-name/gn/gnome-secrets/package.nix @@ -1,18 +1,19 @@ -{ lib -, meson -, ninja -, pkg-config -, gettext -, fetchFromGitLab -, python3Packages -, wrapGAppsHook4 -, gtk4 -, glib -, gdk-pixbuf -, gobject-introspection -, desktop-file-utils -, appstream-glib -, libadwaita +{ + lib, + meson, + ninja, + pkg-config, + gettext, + fetchFromGitLab, + python3Packages, + wrapGAppsHook4, + gtk4, + glib, + gdk-pixbuf, + gobject-introspection, + desktop-file-utils, + appstream-glib, + libadwaita, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/gn/gnome-solanum/package.nix b/pkgs/by-name/gn/gnome-solanum/package.nix index 07dd24a616950..4b90c5f74cb0c 100644 --- a/pkgs/by-name/gn/gnome-solanum/package.nix +++ b/pkgs/by-name/gn/gnome-solanum/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitLab -, rustPlatform -, cargo -, desktop-file-utils -, appstream-glib -, blueprint-compiler -, meson -, ninja -, pkg-config -, rustc -, wrapGAppsHook4 -, python3 -, git -, glib -, gtk4 -, gst_all_1 -, libadwaita +{ + lib, + stdenv, + fetchFromGitLab, + rustPlatform, + cargo, + desktop-file-utils, + appstream-glib, + blueprint-compiler, + meson, + ninja, + pkg-config, + rustc, + wrapGAppsHook4, + python3, + git, + glib, + gtk4, + gst_all_1, + libadwaita, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-system-monitor/package.nix b/pkgs/by-name/gn/gnome-system-monitor/package.nix index 8d04c0e1c8b88..394a5104488bc 100644 --- a/pkgs/by-name/gn/gnome-system-monitor/package.nix +++ b/pkgs/by-name/gn/gnome-system-monitor/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, gettext -, fetchurl -, pkg-config -, gtkmm4 -, libxml2 -, bash -, gtk4 -, libadwaita -, glib -, wrapGAppsHook4 -, meson -, ninja -, gsettings-desktop-schemas -, itstool -, gnome -, adwaita-icon-theme -, librsvg -, gdk-pixbuf -, libgtop -, systemd +{ + lib, + stdenv, + gettext, + fetchurl, + pkg-config, + gtkmm4, + libxml2, + bash, + gtk4, + libadwaita, + glib, + wrapGAppsHook4, + meson, + ninja, + gsettings-desktop-schemas, + itstool, + gnome, + adwaita-icon-theme, + librsvg, + gdk-pixbuf, + libgtop, + systemd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-tecla/package.nix b/pkgs/by-name/gn/gnome-tecla/package.nix index 467956204a54a..d26e2ce841d52 100644 --- a/pkgs/by-name/gn/gnome-tecla/package.nix +++ b/pkgs/by-name/gn/gnome-tecla/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, glib -, gtk4 -, libadwaita -, libxkbcommon -, wayland -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + glib, + gtk4, + libadwaita, + libxkbcommon, + wayland, + gnome, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gn/gnome-terminal/package.nix b/pkgs/by-name/gn/gnome-terminal/package.nix index 755df84ffd30d..d5d0c055c0594 100644 --- a/pkgs/by-name/gn/gnome-terminal/package.nix +++ b/pkgs/by-name/gn/gnome-terminal/package.nix @@ -1,30 +1,31 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, python3 -, libxml2 -, gitUpdater -, nautilus -, glib -, gtk4 -, gtk3 -, libhandy -, gsettings-desktop-schemas -, vte -, gettext -, which -, libuuid -, vala -, desktop-file-utils -, itstool -, wrapGAppsHook3 -, pcre2 -, libxslt -, docbook-xsl-nons -, nixosTests +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + python3, + libxml2, + gitUpdater, + nautilus, + glib, + gtk4, + gtk3, + libhandy, + gsettings-desktop-schemas, + vte, + gettext, + which, + libuuid, + vala, + desktop-file-utils, + itstool, + wrapGAppsHook3, + pcre2, + libxslt, + docbook-xsl-nons, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gn/gnome-themes-extra/package.nix b/pkgs/by-name/gn/gnome-themes-extra/package.nix index 64d3d4c1a0fe3..2809c19928e8d 100644 --- a/pkgs/by-name/gn/gnome-themes-extra/package.nix +++ b/pkgs/by-name/gn/gnome-themes-extra/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, intltool, gtk3, gnome, adwaita-icon-theme, librsvg, pkg-config, pango, atk, gtk2 -, gdk-pixbuf, hicolor-icon-theme }: +{ + lib, + stdenv, + fetchurl, + intltool, + gtk3, + gnome, + adwaita-icon-theme, + librsvg, + pkg-config, + pango, + atk, + gtk2, + gdk-pixbuf, + hicolor-icon-theme, +}: stdenv.mkDerivation rec { pname = "gnome-themes-extra"; @@ -16,9 +30,23 @@ stdenv.mkDerivation rec { }; }; - nativeBuildInputs = [ pkg-config intltool gtk3 ]; - buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf ]; - propagatedBuildInputs = [ adwaita-icon-theme hicolor-icon-theme ]; + nativeBuildInputs = [ + pkg-config + intltool + gtk3 + ]; + buildInputs = [ + gtk3 + librsvg + pango + atk + gtk2 + gdk-pixbuf + ]; + propagatedBuildInputs = [ + adwaita-icon-theme + hicolor-icon-theme + ]; dontDropIconThemeCache = true; diff --git a/pkgs/by-name/gn/gnome-tweaks/package.nix b/pkgs/by-name/gn/gnome-tweaks/package.nix index 075b2d777ec3f..3235ea91d606e 100644 --- a/pkgs/by-name/gn/gnome-tweaks/package.nix +++ b/pkgs/by-name/gn/gnome-tweaks/package.nix @@ -1,28 +1,29 @@ -{ lib -, meson -, ninja -, fetchurl -, desktop-file-utils -, gdk-pixbuf -, gettext -, glib -, gnome -, gnome-desktop -, gnome-settings-daemon -, gnome-shell -, gnome-shell-extensions -, gobject-introspection -, gsettings-desktop-schemas -, gtk4 -, itstool -, libadwaita -, libgudev -, libnotify -, libxml2 -, mutter -, pkg-config -, python3Packages -, wrapGAppsHook4 +{ + lib, + meson, + ninja, + fetchurl, + desktop-file-utils, + gdk-pixbuf, + gettext, + glib, + gnome, + gnome-desktop, + gnome-settings-daemon, + gnome-shell, + gnome-shell-extensions, + gobject-introspection, + gsettings-desktop-schemas, + gtk4, + itstool, + libadwaita, + libgudev, + libnotify, + libxml2, + mutter, + pkg-config, + python3Packages, + wrapGAppsHook4, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/gn/gnome-usage/package.nix b/pkgs/by-name/gn/gnome-usage/package.nix index 3b4f550c64ba8..311470c94e136 100644 --- a/pkgs/by-name/gn/gnome-usage/package.nix +++ b/pkgs/by-name/gn/gnome-usage/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, vala -, gettext -, libxml2 -, desktop-file-utils -, wrapGAppsHook4 -, glib -, gtk4 -, libadwaita -, libgee -, libgtop -, gnome -, tinysparql +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + vala, + gettext, + libxml2, + desktop-file-utils, + wrapGAppsHook4, + glib, + gtk4, + libadwaita, + libgee, + libgtop, + gnome, + tinysparql, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-user-docs/package.nix b/pkgs/by-name/gn/gnome-user-docs/package.nix index 7ced971bcbbc2..460e342adef11 100644 --- a/pkgs/by-name/gn/gnome-user-docs/package.nix +++ b/pkgs/by-name/gn/gnome-user-docs/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, gettext -, gnome -, itstool -, libxml2 -, yelp-tools +{ + lib, + stdenv, + fetchurl, + gettext, + gnome, + itstool, + libxml2, + yelp-tools, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnome-user-share/package.nix b/pkgs/by-name/gn/gnome-user-share/package.nix index f63afe6c5ac83..5a281dbe78286 100644 --- a/pkgs/by-name/gn/gnome-user-share/package.nix +++ b/pkgs/by-name/gn/gnome-user-share/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, gettext -, meson -, ninja -, fetchurl -, apacheHttpdPackages -, pkg-config -, glib -, libxml2 -, systemd -, wrapGAppsNoGuiHook -, itstool -, gnome +{ + stdenv, + lib, + gettext, + meson, + ninja, + fetchurl, + apacheHttpdPackages, + pkg-config, + glib, + libxml2, + systemd, + wrapGAppsNoGuiHook, + itstool, + gnome, }: let diff --git a/pkgs/by-name/gn/gnome-video-effects/package.nix b/pkgs/by-name/gn/gnome-video-effects/package.nix index a4cedd6c91873..cbf601a2d39a9 100644 --- a/pkgs/by-name/gn/gnome-video-effects/package.nix +++ b/pkgs/by-name/gn/gnome-video-effects/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, meson -, ninja -, gettext -, gnome +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + gettext, + gnome, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnomecast/package.nix b/pkgs/by-name/gn/gnomecast/package.nix index bea389ccc5342..6c6c741a96428 100644 --- a/pkgs/by-name/gn/gnomecast/package.nix +++ b/pkgs/by-name/gn/gnomecast/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, python3Packages, fetchFromGitHub, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook3 }: +{ + stdenv, + lib, + python3Packages, + fetchFromGitHub, + gtk3, + gobject-introspection, + ffmpeg, + wrapGAppsHook3, +}: with python3Packages; buildPythonApplication rec { diff --git a/pkgs/by-name/gn/gnonograms/package.nix b/pkgs/by-name/gn/gnonograms/package.nix index 57f38d61bbb5a..02ee9be1acd46 100644 --- a/pkgs/by-name/gn/gnonograms/package.nix +++ b/pkgs/by-name/gn/gnonograms/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, vala -, meson -, ninja -, pkg-config -, desktop-file-utils -, appstream -, python3 -, shared-mime-info -, wrapGAppsHook3 -, gtk3 -, pantheon -, libgee -, libhandy +{ + lib, + stdenv, + fetchFromGitHub, + vala, + meson, + ninja, + pkg-config, + desktop-file-utils, + appstream, + python3, + shared-mime-info, + wrapGAppsHook3, + gtk3, + pantheon, + libgee, + libhandy, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gn/gnostic/package.nix b/pkgs/by-name/gn/gnostic/package.nix index e6c2b665c215a..44ea7bf06a62e 100644 --- a/pkgs/by-name/gn/gnostic/package.nix +++ b/pkgs/by-name/gn/gnostic/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gnostic"; diff --git a/pkgs/by-name/gn/gnote/package.nix b/pkgs/by-name/gn/gnote/package.nix index 935645a05f2dc..b197c07bcc9bb 100644 --- a/pkgs/by-name/gn/gnote/package.nix +++ b/pkgs/by-name/gn/gnote/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, desktop-file-utils -, gettext -, gtkmm4 -, itstool -, libadwaita -, libsecret -, libuuid -, libxml2 -, libxslt -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, gnome +{ + lib, + stdenv, + fetchurl, + desktop-file-utils, + gettext, + gtkmm4, + itstool, + libadwaita, + libsecret, + libuuid, + libxml2, + libxslt, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + gnome, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnss-sdr/package.nix b/pkgs/by-name/gn/gnss-sdr/package.nix index 948acd2f19c0e..e3a242b42d532 100644 --- a/pkgs/by-name/gn/gnss-sdr/package.nix +++ b/pkgs/by-name/gn/gnss-sdr/package.nix @@ -1,21 +1,24 @@ -{ lib -, fetchFromGitHub -, armadillo -, cmake -, gmp -, glog -, gtest -, openssl -, gflags -, gnuradio -, thrift -, enableRawUdp ? true, libpcap -, orc -, pkg-config -, blas, lapack -, matio -, pugixml -, protobuf +{ + lib, + fetchFromGitHub, + armadillo, + cmake, + gmp, + glog, + gtest, + openssl, + gflags, + gnuradio, + thrift, + enableRawUdp ? true, + libpcap, + orc, + pkg-config, + blas, + lapack, + matio, + pugixml, + protobuf, }: gnuradio.pkgs.mkDerivation rec { @@ -47,31 +50,38 @@ gnuradio.pkgs.mkDerivation rec { gtest ]; - buildInputs = [ - gmp - armadillo - glog - gflags - openssl - orc - blas lapack - matio - pugixml - protobuf - gnuradio.unwrapped.boost - gnuradio.unwrapped.logLib - ] ++ lib.optionals (gnuradio.hasFeature "gr-uhd") [ - gnuradio.unwrapped.uhd - ] ++ lib.optionals (enableRawUdp) [ - libpcap - ] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [ - thrift - gnuradio.unwrapped.python.pkgs.thrift - ] ++ lib.optionals (gnuradio.hasFeature "gr-pdu" || gnuradio.hasFeature "gr-iio") [ - gnuradio.unwrapped.libiio - ] ++ lib.optionals (gnuradio.hasFeature "gr-pdu") [ - gnuradio.unwrapped.libad9361 - ]; + buildInputs = + [ + gmp + armadillo + glog + gflags + openssl + orc + blas + lapack + matio + pugixml + protobuf + gnuradio.unwrapped.boost + gnuradio.unwrapped.logLib + ] + ++ lib.optionals (gnuradio.hasFeature "gr-uhd") [ + gnuradio.unwrapped.uhd + ] + ++ lib.optionals (enableRawUdp) [ + libpcap + ] + ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [ + thrift + gnuradio.unwrapped.python.pkgs.thrift + ] + ++ lib.optionals (gnuradio.hasFeature "gr-pdu" || gnuradio.hasFeature "gr-iio") [ + gnuradio.unwrapped.libiio + ] + ++ lib.optionals (gnuradio.hasFeature "gr-pdu") [ + gnuradio.unwrapped.libad9361 + ]; cmakeFlags = [ (lib.cmakeFeature "GFlags_INCLUDE_DIRS" "${gflags}/include") diff --git a/pkgs/by-name/gn/gnss-share/package.nix b/pkgs/by-name/gn/gnss-share/package.nix index 391234103078d..4c99144b05ffa 100644 --- a/pkgs/by-name/gn/gnss-share/package.nix +++ b/pkgs/by-name/gn/gnss-share/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitLab, lib }: +{ + buildGoModule, + fetchFromGitLab, + lib, +}: buildGoModule rec { pname = "gnss-share"; version = "0.8.1"; diff --git a/pkgs/by-name/gn/gnu-cim/package.nix b/pkgs/by-name/gn/gnu-cim/package.nix index bf5b93c712fc5..bf2835959ff11 100644 --- a/pkgs/by-name/gn/gnu-cim/package.nix +++ b/pkgs/by-name/gn/gnu-cim/package.nix @@ -1,13 +1,19 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { pname = "gnu-cim"; version = "5.1"; - outputs = ["out" "lib" "man" "info"]; + outputs = [ + "out" + "lib" + "man" + "info" + ]; src = fetchurl { url = "mirror://gnu/cim/cim-${version}.tar.gz"; diff --git a/pkgs/by-name/gn/gnu-config/package.nix b/pkgs/by-name/gn/gnu-config/package.nix index 9fa5247cb489b..0c4d6c16a870b 100644 --- a/pkgs/by-name/gn/gnu-config/package.nix +++ b/pkgs/by-name/gn/gnu-config/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -19,7 +23,8 @@ let url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=${rev}"; hash = "sha256-/jovMvuv9XhIcyVJ9I2YP9ZSYCTsLw9ancdcL0NZo6Y="; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "gnu-config"; version = "2024-01-01"; @@ -58,7 +63,10 @@ in stdenv.mkDerivation { # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. - maintainers = with maintainers; [ dezgeg emilytrau ]; + maintainers = with maintainers; [ + dezgeg + emilytrau + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/gn/gnu-pw-mgr/package.nix b/pkgs/by-name/gn/gnu-pw-mgr/package.nix index 0e1c8c0f589eb..3b49797654b19 100644 --- a/pkgs/by-name/gn/gnu-pw-mgr/package.nix +++ b/pkgs/by-name/gn/gnu-pw-mgr/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, gnulib }: +{ + stdenv, + lib, + fetchurl, + gnulib, +}: stdenv.mkDerivation rec { pname = "gnu-pw-mgr"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.gnu.org/software/gnu-pw-mgr/"; description = "Password manager designed to make it easy to reconstruct difficult passwords"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; platforms = lib.platforms.linux; maintainers = with maintainers; [ qoelet ]; }; diff --git a/pkgs/by-name/gn/gnu-smalltalk/package.nix b/pkgs/by-name/gn/gnu-smalltalk/package.nix index 68ebbad63ca2b..678aa56b0562e 100644 --- a/pkgs/by-name/gn/gnu-smalltalk/package.nix +++ b/pkgs/by-name/gn/gnu-smalltalk/package.nix @@ -1,21 +1,39 @@ -{ config, lib, stdenv, fetchurl, pkg-config, libtool -, zip, libffi, libsigsegv, readline, gmp -, gnutls, gtk2, cairo, SDL, sqlite -, emacsSupport ? config.emacsSupport or false, emacs ? null }: +{ + config, + lib, + stdenv, + fetchurl, + pkg-config, + libtool, + zip, + libffi, + libsigsegv, + readline, + gmp, + gnutls, + gtk2, + cairo, + SDL, + sqlite, + emacsSupport ? config.emacsSupport or false, + emacs ? null, +}: assert emacsSupport -> (emacs != null); -let # The gnu-smalltalk project has a dependency to the libsigsegv library. - # The project ships with sources for this library, but deprecated this option. - # Using the vanilla libsigsegv library results in error: "cannot relocate [...]" - # Adding --enable-static=libsigsegv to the gnu-smalltalk configuration flags - # does not help, the error still occurs. The only solution is to build a - # shared version of libsigsegv. - libsigsegv-shared = lib.overrideDerivation libsigsegv (oldAttrs: { - configureFlags = [ "--enable-shared" ]; - }); +let + # The gnu-smalltalk project has a dependency to the libsigsegv library. + # The project ships with sources for this library, but deprecated this option. + # Using the vanilla libsigsegv library results in error: "cannot relocate [...]" + # Adding --enable-static=libsigsegv to the gnu-smalltalk configuration flags + # does not help, the error still occurs. The only solution is to build a + # shared version of libsigsegv. + libsigsegv-shared = lib.overrideDerivation libsigsegv (oldAttrs: { + configureFlags = [ "--enable-shared" ]; + }); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "3.2.5"; pname = "gnu-smalltalk"; @@ -35,10 +53,18 @@ in stdenv.mkDerivation rec { # http://smalltalk.gnu.org/download nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libtool zip libffi libsigsegv-shared readline gmp gnutls gtk2 - cairo SDL sqlite - ] - ++ lib.optional emacsSupport emacs; + libtool + zip + libffi + libsigsegv-shared + readline + gmp + gnutls + gtk2 + cairo + SDL + sqlite + ] ++ lib.optional emacsSupport emacs; configureFlags = lib.optional (!emacsSupport) "--without-emacs"; @@ -59,7 +85,10 @@ in stdenv.mkDerivation rec { language, well-versed to scripting tasks. ''; homepage = "http://smalltalk.gnu.org/"; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; platforms = platforms.linux; maintainers = with maintainers; [ AndersonTorres ]; }; diff --git a/pkgs/by-name/gn/gnuapl/package.nix b/pkgs/by-name/gn/gnuapl/package.nix index ee4d8482cd41a..de762f653ffa4 100644 --- a/pkgs/by-name/gn/gnuapl/package.nix +++ b/pkgs/by-name/gn/gnuapl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, readline, gettext, ncurses }: +{ + lib, + stdenv, + fetchurl, + readline, + gettext, + ncurses, +}: stdenv.mkDerivation rec { pname = "gnu-apl"; @@ -9,23 +16,30 @@ stdenv.mkDerivation rec { sha256 = "sha256-KRhn8bGTdpOrtXvn2aN2GLA3bj4nCVdIVKe75Suyjrg="; }; - buildInputs = [ readline gettext ncurses ]; - - env.NIX_CFLAGS_COMPILE = toString ((lib.optionals stdenv.cc.isGNU [ - # Needed with GCC 8 - "-Wno-error=int-in-bool-context" - "-Wno-error=class-memaccess" - "-Wno-error=restrict" - "-Wno-error=format-truncation" - # Needed with GCC 10 - "-Wno-error=maybe-uninitialized" - # Needed with GCC 11 - "-Wno-error=misleading-indentation" - # Needed with GCC 12 - "-Wno-error=nonnull" - "-Wno-error=stringop-overflow" - "-Wno-error=use-after-free" - ]) ++ lib.optional stdenv.cc.isClang "-Wno-error=null-dereference"); + buildInputs = [ + readline + gettext + ncurses + ]; + + env.NIX_CFLAGS_COMPILE = toString ( + (lib.optionals stdenv.cc.isGNU [ + # Needed with GCC 8 + "-Wno-error=int-in-bool-context" + "-Wno-error=class-memaccess" + "-Wno-error=restrict" + "-Wno-error=format-truncation" + # Needed with GCC 10 + "-Wno-error=maybe-uninitialized" + # Needed with GCC 11 + "-Wno-error=misleading-indentation" + # Needed with GCC 12 + "-Wno-error=nonnull" + "-Wno-error=stringop-overflow" + "-Wno-error=use-after-free" + ]) + ++ lib.optional stdenv.cc.isClang "-Wno-error=null-dereference" + ); patchPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h" @@ -39,10 +53,10 @@ stdenv.mkDerivation rec { meta = with lib; { broken = stdenv.hostPlatform.isDarwin; description = "Free interpreter for the APL programming language"; - homepage = "https://www.gnu.org/software/apl/"; - license = licenses.gpl3Plus; + homepage = "https://www.gnu.org/software/apl/"; + license = licenses.gpl3Plus; maintainers = [ maintainers.kovirobi ]; - platforms = with platforms; linux ++ darwin; + platforms = with platforms; linux ++ darwin; mainProgram = "apl"; longDescription = '' diff --git a/pkgs/by-name/gn/gnuastro/package.nix b/pkgs/by-name/gn/gnuastro/package.nix index 3d38dbcfd4c87..50215965fe1eb 100644 --- a/pkgs/by-name/gn/gnuastro/package.nix +++ b/pkgs/by-name/gn/gnuastro/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, libtool -, cfitsio, curl, ghostscript, gsl, libgit2, libjpeg, libtiff, lzlib, wcslib }: +{ + lib, + stdenv, + fetchurl, + libtool, + cfitsio, + curl, + ghostscript, + gsl, + libgit2, + libjpeg, + libtiff, + lzlib, + wcslib, +}: stdenv.mkDerivation rec { pname = "gnuastro"; diff --git a/pkgs/by-name/gn/gnubg/package.nix b/pkgs/by-name/gn/gnubg/package.nix index 18d5698fd23e7..020f042546f1c 100644 --- a/pkgs/by-name/gn/gnubg/package.nix +++ b/pkgs/by-name/gn/gnubg/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, python3, gtk2, readline, - copyDesktopItems, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + python3, + gtk2, + readline, + copyDesktopItems, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "gnubg"; @@ -10,13 +20,24 @@ stdenv.mkDerivation rec { hash = "sha256-cjmXKUGcrZ8RLDBmoS0AANpFCkVq3XsJTYkVUGnWgh4="; }; - nativeBuildInputs = [ copyDesktopItems pkg-config python3 glib ]; + nativeBuildInputs = [ + copyDesktopItems + pkg-config + python3 + glib + ]; - buildInputs = [ gtk2 readline ]; + buildInputs = [ + gtk2 + readline + ]; strictDeps = true; - configureFlags = [ "--with-gtk" "--with--board3d" ]; + configureFlags = [ + "--with-gtk" + "--with--board3d" + ]; desktopItems = [ (makeDesktopItem { @@ -26,15 +47,19 @@ stdenv.mkDerivation rec { comment = meta.description; exec = pname; icon = pname; - categories = [ "Game" "GTK" "StrategyGame" ]; + categories = [ + "Game" + "GTK" + "StrategyGame" + ]; }) ]; - meta = with lib; - { description = "World class backgammon application"; - homepage = "https://www.gnu.org/software/gnubg/"; - license = licenses.gpl3; - maintainers = [ maintainers.ehmry ]; - platforms = platforms.linux; - }; + meta = with lib; { + description = "World class backgammon application"; + homepage = "https://www.gnu.org/software/gnubg/"; + license = licenses.gpl3; + maintainers = [ maintainers.ehmry ]; + platforms = platforms.linux; + }; } diff --git a/pkgs/by-name/gn/gnucap/modelgen-verilog.nix b/pkgs/by-name/gn/gnucap/modelgen-verilog.nix index d6d6902f54a93..6a29673563d2b 100644 --- a/pkgs/by-name/gn/gnucap/modelgen-verilog.nix +++ b/pkgs/by-name/gn/gnucap/modelgen-verilog.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, gnucap +{ + lib, + stdenv, + fetchurl, + gnucap, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnucap/package.nix b/pkgs/by-name/gn/gnucap/package.nix index 2713a2283de6d..56a4a67ca7e66 100644 --- a/pkgs/by-name/gn/gnucap/package.nix +++ b/pkgs/by-name/gn/gnucap/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, readline -, termcap -, gnucap -, callPackage -, writeScript +{ + lib, + stdenv, + fetchurl, + readline, + termcap, + gnucap, + callPackage, + writeScript, }: let @@ -13,8 +14,8 @@ let meta = with lib; { description = "Gnu Circuit Analysis Package"; longDescription = '' -Gnucap is a modern general purpose circuit simulator with several advantages over Spice derivatives. -It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis. + Gnucap is a modern general purpose circuit simulator with several advantages over Spice derivatives. + It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis. ''; homepage = "http://www.gnucap.org/"; changelog = "https://git.savannah.gnu.org/cgit/gnucap.git/plain/NEWS?h=v${version}"; @@ -42,9 +43,11 @@ stdenv.mkDerivation rec { doCheck = true; inherit meta; -} // { - plugins = callPackage ./plugins.nix {}; - withPlugins = p: +} +// { + plugins = callPackage ./plugins.nix { }; + withPlugins = + p: let selectedPlugins = p gnucap.plugins; wrapper = writeScript "gnucap" '' @@ -55,19 +58,19 @@ stdenv.mkDerivation rec { ${lib.getExe gnucap} ''; in - stdenv.mkDerivation { - pname = "gnucap-with-plugins"; - inherit version; + stdenv.mkDerivation { + pname = "gnucap-with-plugins"; + inherit version; - propagatedBuildInputs = selectedPlugins; + propagatedBuildInputs = selectedPlugins; - dontUnpack = true; + dontUnpack = true; - installPhase = '' - mkdir -p $out/bin - cp ${wrapper} $out/bin/gnucap - ''; + installPhase = '' + mkdir -p $out/bin + cp ${wrapper} $out/bin/gnucap + ''; - inherit meta; - }; + inherit meta; + }; } diff --git a/pkgs/by-name/gn/gnucap/plugins.nix b/pkgs/by-name/gn/gnucap/plugins.nix index fbdcd9548b334..b1125310d7164 100644 --- a/pkgs/by-name/gn/gnucap/plugins.nix +++ b/pkgs/by-name/gn/gnucap/plugins.nix @@ -1,6 +1,7 @@ -{ callPackage +{ + callPackage, }: { - verilog = callPackage ./modelgen-verilog.nix {}; + verilog = callPackage ./modelgen-verilog.nix { }; } diff --git a/pkgs/by-name/gn/gnucash/package.nix b/pkgs/by-name/gn/gnucash/package.nix index a966522b9825c..1fabe4ffbf046 100644 --- a/pkgs/by-name/gn/gnucash/package.nix +++ b/pkgs/by-name/gn/gnucash/package.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, fetchpatch2 -, aqbanking -, boost -, cmake -, gettext -, glib -, glibcLocales -, gtest -, guile -, gwenhywfar -, icu -, libdbi -, libdbiDrivers -, libofx -, libxml2 -, libxslt -, makeWrapper -, perlPackages -, pkg-config -, swig -, webkitgtk_4_0 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + fetchpatch2, + aqbanking, + boost, + cmake, + gettext, + glib, + glibcLocales, + gtest, + guile, + gwenhywfar, + icu, + libdbi, + libdbiDrivers, + libofx, + libxml2, + libxslt, + makeWrapper, + perlPackages, + pkg-config, + swig, + webkitgtk_4_0, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -44,28 +45,29 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - aqbanking - boost - glib - glibcLocales - gtest - guile - gwenhywfar - icu - libdbi - libdbiDrivers - libofx - libxml2 - libxslt - swig - webkitgtk_4_0 - ] - ++ (with perlPackages; [ - JSONParse - FinanceQuote - perl - ]); + buildInputs = + [ + aqbanking + boost + glib + glibcLocales + gtest + guile + gwenhywfar + icu + libdbi + libdbiDrivers + libofx + libxml2 + libxslt + swig + webkitgtk_4_0 + ] + ++ (with perlPackages; [ + JSONParse + FinanceQuote + perl + ]); patches = [ # this patch disables test-gnc-timezone and test-gnc-datetime which fail due to nix datetime challenges @@ -88,10 +90,12 @@ stdenv.mkDerivation rec { # guile warning env.GUILE_AUTO_COMPILE = "0"; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but breaks on darwin (with clang) or older gcc - "-Wno-error=use-after-free" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=use-after-free" + ] + ); doCheck = true; enableParallelChecking = true; @@ -109,7 +113,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libxml2 libxslt ]; + buildInputs = [ + libxml2 + libxslt + ]; }; preFixup = '' @@ -134,7 +141,13 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/gnucash-cli "''${gappsWrapperArgs[@]}" wrapProgram $out/bin/finance-quote-wrapper \ - --prefix PERL5LIB : "${with perlPackages; makeFullPerlPath [ JSONParse FinanceQuote ]}" + --prefix PERL5LIB : "${ + with perlPackages; + makeFullPerlPath [ + JSONParse + FinanceQuote + ] + }" ''; passthru.updateScript = ./update.sh; @@ -163,7 +176,11 @@ stdenv.mkDerivation rec { - Financial Calculations ''; license = licenses.gpl2Plus; - maintainers = with maintainers; [ domenkozar rski nevivurn ]; + maintainers = with maintainers; [ + domenkozar + rski + nevivurn + ]; platforms = platforms.unix; mainProgram = "gnucash"; }; diff --git a/pkgs/by-name/gn/gnuchess/package.nix b/pkgs/by-name/gn/gnuchess/package.nix index 7e1bdd1d48cee..8c140d6fc48ea 100644 --- a/pkgs/by-name/gn/gnuchess/package.nix +++ b/pkgs/by-name/gn/gnuchess/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, flex, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + flex, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "gnuchess"; diff --git a/pkgs/by-name/gn/gnuclad/package.nix b/pkgs/by-name/gn/gnuclad/package.nix index a263746ef9acb..8c86be58e1543 100644 --- a/pkgs/by-name/gn/gnuclad/package.nix +++ b/pkgs/by-name/gn/gnuclad/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl, pkg-config +{ + stdenv, + lib, + fetchurl, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gn/gnugo/package.nix b/pkgs/by-name/gn/gnugo/package.nix index 82848ab008052..b6c994ec4613a 100644 --- a/pkgs/by-name/gn/gnugo/package.nix +++ b/pkgs/by-name/gn/gnugo/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "gnugo"; diff --git a/pkgs/by-name/gn/gnujump/package.nix b/pkgs/by-name/gn/gnujump/package.nix index a9806cf81f8d4..d490033e08ace 100644 --- a/pkgs/by-name/gn/gnujump/package.nix +++ b/pkgs/by-name/gn/gnujump/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, makeDesktopItem, copyDesktopItems, fetchurl, SDL, SDL_image, SDL_mixer }: +{ + lib, + stdenv, + makeDesktopItem, + copyDesktopItems, + fetchurl, + SDL, + SDL_image, + SDL_mixer, +}: stdenv.mkDerivation (finalAttrs: { pname = "gnujump"; @@ -9,18 +18,27 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ copyDesktopItems ]; - buildInputs = [ SDL SDL_image SDL_mixer ]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + ]; NIX_LDFLAGS = "-lm"; - desktopItems = [ (makeDesktopItem { - name = "gnujump"; - exec = "gnujump"; - icon = "gnujump"; - desktopName = "GNUjump"; - comment = "Jump up the tower to survive"; - categories = [ "Game" "ArcadeGame" ]; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "gnujump"; + exec = "gnujump"; + icon = "gnujump"; + desktopName = "GNUjump"; + comment = "Jump up the tower to survive"; + categories = [ + "Game" + "ArcadeGame" + ]; + }) + ]; postInstall = '' install -Dm644 ${./gnujump.xpm} $out/share/pixmaps/gnujump.xpm diff --git a/pkgs/by-name/gn/gnulib/package.nix b/pkgs/by-name/gn/gnulib/package.nix index 42159a21cd91c..6a9d2fe5894ba 100644 --- a/pkgs/by-name/gn/gnulib/package.nix +++ b/pkgs/by-name/gn/gnulib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, python3, perl }: +{ + lib, + stdenv, + fetchgit, + python3, + perl, +}: stdenv.mkDerivation rec { pname = "gnulib"; diff --git a/pkgs/by-name/gn/gnum4/package.nix b/pkgs/by-name/gn/gnum4/package.nix index 5dea7f0595574..1b264ffc1290f 100644 --- a/pkgs/by-name/gn/gnum4/package.nix +++ b/pkgs/by-name/gn/gnum4/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -18,12 +22,14 @@ stdenv.mkDerivation rec { patches = lib.optional stdenv.hostPlatform.isLoongArch64 ./loong-fix-build.patch; # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion # necessary for FreeBSD code path in configure - postPatch = '' - substituteInPlace ./build-aux/config.guess --replace-fail /usr/bin/uname uname - '' + lib.optionalString stdenv.hostPlatform.isLoongArch64 '' - touch ./aclocal.m4 ./lib/config.hin ./configure ./doc/stamp-vti || die - find . -name Makefile.in -exec touch {} + || die - ''; + postPatch = + '' + substituteInPlace ./build-aux/config.guess --replace-fail /usr/bin/uname uname + '' + + lib.optionalString stdenv.hostPlatform.isLoongArch64 '' + touch ./aclocal.m4 ./lib/config.hin ./configure ./doc/stamp-vti || die + find . -name Makefile.in -exec touch {} + || die + ''; strictDeps = true; @@ -31,8 +37,9 @@ stdenv.mkDerivation rec { doCheck = false; - configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ] - ++ lib.optional stdenv.hostPlatform.isMinGW "CFLAGS=-fno-stack-protector"; + configureFlags = [ + "--with-syscmd-shell=${stdenv.shell}" + ] ++ lib.optional stdenv.hostPlatform.isMinGW "CFLAGS=-fno-stack-protector"; meta = { description = "GNU M4, a macro processor"; diff --git a/pkgs/by-name/gn/gnumake42/package.nix b/pkgs/by-name/gn/gnumake42/package.nix index 1afadceb9b770..dc323447af9b0 100644 --- a/pkgs/by-name/gn/gnumake42/package.nix +++ b/pkgs/by-name/gn/gnumake42/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl, guileSupport ? false, pkg-config ? null , guile ? null }: +{ + lib, + stdenv, + fetchurl, + guileSupport ? false, + pkg-config ? null, + guile ? null, +}: -assert guileSupport -> ( pkg-config != null && guile != null ); +assert guileSupport -> (pkg-config != null && guile != null); stdenv.mkDerivation rec { pname = "gnumake"; @@ -26,7 +33,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = lib.optionals guileSupport [ pkg-config ]; buildInputs = lib.optionals guileSupport [ guile ]; - configureFlags = lib.optional guileSupport "--with-guile" + configureFlags = + lib.optional guileSupport "--with-guile" # Make uses this test to decide whether it should keep track of # subseconds. Apple made this possible with APFS and macOS 10.13. @@ -37,7 +45,11 @@ stdenv.mkDerivation rec { # See https://github.com/NixOS/nixpkgs/issues/51221 for discussion. ++ lib.optional stdenv.hostPlatform.isDarwin "ac_cv_struct_st_mtim_nsec=no"; - outputs = [ "out" "man" "info" ]; + outputs = [ + "out" + "man" + "info" + ]; meta = with lib; { description = "Tool to control the generation of non-source files from sources"; diff --git a/pkgs/by-name/gn/gnumeric/package.nix b/pkgs/by-name/gn/gnumeric/package.nix index 04588486de4ed..f67aeb2872411 100644 --- a/pkgs/by-name/gn/gnumeric/package.nix +++ b/pkgs/by-name/gn/gnumeric/package.nix @@ -1,11 +1,24 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, perlPackages -, goffice, gnome, adwaita-icon-theme, wrapGAppsHook3, gtk3, bison, python3Packages -, itstool +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + perlPackages, + goffice, + gnome, + adwaita-icon-theme, + wrapGAppsHook3, + gtk3, + bison, + python3Packages, + itstool, }: let inherit (python3Packages) python pygobject3; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gnumeric"; version = "1.12.57"; @@ -16,13 +29,27 @@ in stdenv.mkDerivation rec { configureFlags = [ "--disable-component" ]; - nativeBuildInputs = [ pkg-config intltool bison itstool wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + intltool + bison + itstool + wrapGAppsHook3 + ]; # ToDo: optional libgda, introspection? - buildInputs = [ - goffice gtk3 adwaita-icon-theme - python pygobject3 - ] ++ (with perlPackages; [ perl XMLParser ]); + buildInputs = + [ + goffice + gtk3 + adwaita-icon-theme + python + pygobject3 + ] + ++ (with perlPackages; [ + perl + XMLParser + ]); enableParallelBuilding = true; diff --git a/pkgs/by-name/gn/gnupg-pkcs11-scd/package.nix b/pkgs/by-name/gn/gnupg-pkcs11-scd/package.nix index e594fde69dac2..750efe12ff778 100644 --- a/pkgs/by-name/gn/gnupg-pkcs11-scd/package.nix +++ b/pkgs/by-name/gn/gnupg-pkcs11-scd/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, libgpg-error, libassuan, libgcrypt, pkcs11helper, - pkg-config, openssl }: +{ + lib, + stdenv, + fetchurl, + libgpg-error, + libassuan, + libgcrypt, + pkcs11helper, + pkg-config, + openssl, +}: stdenv.mkDerivation rec { pname = "gnupg-pkcs11-scd"; @@ -11,7 +20,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ pkcs11helper openssl ]; + buildInputs = [ + pkcs11helper + openssl + ]; configureFlags = [ "--with-libgpg-error-prefix=${libgpg-error.dev}" @@ -23,13 +35,15 @@ stdenv.mkDerivation rec { description = "Smart-card daemon to enable the use of PKCS#11 tokens with GnuPG"; mainProgram = "gnupg-pkcs11-scd"; longDescription = '' - gnupg-pkcs11 is a project to implement a BSD-licensed smart-card - daemon to enable the use of PKCS#11 tokens with GnuPG. + gnupg-pkcs11 is a project to implement a BSD-licensed smart-card + daemon to enable the use of PKCS#11 tokens with GnuPG. ''; homepage = "https://gnupg-pkcs11.sourceforge.net/"; license = licenses.bsd3; - maintainers = with maintainers; [ matthiasbeyer philandstuff ]; + maintainers = with maintainers; [ + matthiasbeyer + philandstuff + ]; platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/gn/gnupth/package.nix b/pkgs/by-name/gn/gnupth/package.nix index 3d4c056b71dd5..0f105195f057d 100644 --- a/pkgs/by-name/gn/gnupth/package.nix +++ b/pkgs/by-name/gn/gnupth/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "pth"; @@ -9,11 +13,13 @@ stdenv.mkDerivation rec { sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj"; }; - preConfigure = lib.optionalString stdenv.hostPlatform.isAarch32 '' - configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9") - '' + lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' - configureFlagsArray+=("ac_cv_check_sjlj=ssjlj") - ''; + preConfigure = + lib.optionalString stdenv.hostPlatform.isAarch32 '' + configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9") + '' + + lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' + configureFlagsArray+=("ac_cv_check_sjlj=ssjlj") + ''; # Fails parallel build due to missing dependency on autogenrated # 'pth_p.h' file: diff --git a/pkgs/by-name/gn/gnushogi/package.nix b/pkgs/by-name/gn/gnushogi/package.nix index 38f76de1e7a0e..56d063b50bce9 100644 --- a/pkgs/by-name/gn/gnushogi/package.nix +++ b/pkgs/by-name/gn/gnushogi/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, zlib +{ + lib, + stdenv, + fetchurl, + fetchpatch, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/go/go-2fa/package.nix b/pkgs/by-name/go/go-2fa/package.nix index 7261eb605c088..55d777523dd2a 100644 --- a/pkgs/by-name/go/go-2fa/package.nix +++ b/pkgs/by-name/go/go-2fa/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "2fa"; @@ -14,7 +18,10 @@ buildGoModule rec { deleteVendor = true; vendorHash = "sha256-4h/+ZNxlJPYY0Kyu2vDE1pDXxC/kGE5JdnagWVOGzAE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://rsc.io/2fa"; diff --git a/pkgs/by-name/go/go-audit/package.nix b/pkgs/by-name/go/go-audit/package.nix index 722fdad702c53..f562f8fb8c516 100644 --- a/pkgs/by-name/go/go-audit/package.nix +++ b/pkgs/by-name/go/go-audit/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-autoconfig/package.nix b/pkgs/by-name/go/go-autoconfig/package.nix index 1fe09a03a0dd6..b5af6a7f3f89e 100644 --- a/pkgs/by-name/go/go-autoconfig/package.nix +++ b/pkgs/by-name/go/go-autoconfig/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-bare/package.nix b/pkgs/by-name/go/go-bare/package.nix index 5a9b024e337c1..7b739d210bff9 100644 --- a/pkgs/by-name/go/go-bare/package.nix +++ b/pkgs/by-name/go/go-bare/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromSourcehut, lib }: +{ + buildGoModule, + fetchFromSourcehut, + lib, +}: buildGoModule rec { pname = "go-bare"; diff --git a/pkgs/by-name/go/go-bindata-assetfs/package.nix b/pkgs/by-name/go/go-bindata-assetfs/package.nix index 0218870776021..0d6e3eb7a6a6a 100644 --- a/pkgs/by-name/go/go-bindata-assetfs/package.nix +++ b/pkgs/by-name/go/go-bindata-assetfs/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-bindata-assetfs"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Serve embedded files from jteeuwen/go-bindata"; diff --git a/pkgs/by-name/go/go-bindata/package.nix b/pkgs/by-name/go/go-bindata/package.nix index 7877313b9d50c..d3f48c5bdd348 100644 --- a/pkgs/by-name/go/go-bindata/package.nix +++ b/pkgs/by-name/go/go-bindata/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-bindata"; @@ -15,7 +19,10 @@ buildGoModule rec { subPackages = [ "go-bindata" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/kevinburke/go-bindata"; diff --git a/pkgs/by-name/go/go-callvis/package.nix b/pkgs/by-name/go/go-callvis/package.nix index a954781fb28f9..47834b5e8d68f 100644 --- a/pkgs/by-name/go/go-callvis/package.nix +++ b/pkgs/by-name/go/go-callvis/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-AfbUxA5C5dH70+vqC+1RGaTt7S0FL9CBcxel0ifmHKs="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # Build errors in github.com/goccy/go-graphviz/internal/ccall when format hardening is enabled: # cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security] diff --git a/pkgs/by-name/go/go-camo/package.nix b/pkgs/by-name/go/go-camo/package.nix index 20172d75473eb..7c9c331ccbdc5 100644 --- a/pkgs/by-name/go/go-camo/package.nix +++ b/pkgs/by-name/go/go-camo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-camo"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-GbBFGbNxsijcUIogjSv8RcIQn6VQ+j21Qlm9eQWzTtc="; - ldflags = [ "-s" "-w" "-X=main.ServerVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.ServerVersion=${version}" + ]; preCheck = '' # requires network access diff --git a/pkgs/by-name/go/go-check/package.nix b/pkgs/by-name/go/go-check/package.nix index 1de7a49f3180e..4e32ea4d7109d 100644 --- a/pkgs/by-name/go/go-check/package.nix +++ b/pkgs/by-name/go/go-check/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitLab +{ + lib, + buildGoModule, + fetchFromGitLab, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-containerregistry/package.nix b/pkgs/by-name/go/go-containerregistry/package.nix index 6e3a68bf23238..2b1a28f408ad4 100644 --- a/pkgs/by-name/go/go-containerregistry/package.nix +++ b/pkgs/by-name/go/go-containerregistry/package.nix @@ -1,6 +1,16 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: -let bins = [ "crane" "gcrane" ]; in +let + bins = [ + "crane" + "gcrane" + ]; +in buildGoModule rec { pname = "go-containerregistry"; @@ -16,13 +26,23 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - subPackages = [ "cmd/crane" "cmd/gcrane" ]; + subPackages = [ + "cmd/crane" + "cmd/gcrane" + ]; outputs = [ "out" ] ++ bins; ldflags = - let t = "github.com/google/go-containerregistry"; in - [ "-s" "-w" "-X ${t}/cmd/crane/cmd.Version=v${version}" "-X ${t}/pkg/v1/remote/transport.Version=${version}" ]; + let + t = "github.com/google/go-containerregistry"; + in + [ + "-s" + "-w" + "-X ${t}/cmd/crane/cmd.Version=v${version}" + "-X ${t}/pkg/v1/remote/transport.Version=${version}" + ]; postInstall = lib.concatStringsSep "\n" ( @@ -31,7 +51,8 @@ buildGoModule rec { mv $out/bin/${bin} ''$${bin}/bin/ && ln -s ''$${bin}/bin/${bin} $out/bin/ '') bins - ) + '' + ) + + '' for cmd in crane gcrane; do installShellCompletion --cmd "$cmd" \ --bash <($GOPATH/bin/$cmd completion bash) \ diff --git a/pkgs/by-name/go/go-cover-treemap/package.nix b/pkgs/by-name/go/go-cover-treemap/package.nix index 1afb9191607a2..de358e4c8428d 100644 --- a/pkgs/by-name/go/go-cover-treemap/package.nix +++ b/pkgs/by-name/go/go-cover-treemap/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-k/k+EGkuBnZFHrcWxnzLG8efWgb2i35Agf/sWbgTc4g="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Go code coverage to SVG treemap"; diff --git a/pkgs/by-name/go/go-cqhttp/package.nix b/pkgs/by-name/go/go-cqhttp/package.nix index 87347f0e26d4b..5fb59710c74e3 100644 --- a/pkgs/by-name/go/go-cqhttp/package.nix +++ b/pkgs/by-name/go/go-cqhttp/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-critic/package.nix b/pkgs/by-name/go/go-critic/package.nix index a3515da9ed438..90924172f49a7 100644 --- a/pkgs/by-name/go/go-critic/package.nix +++ b/pkgs/by-name/go/go-critic/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, nix-update-script -, go-critic +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + nix-update-script, + go-critic, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-cve-search/package.nix b/pkgs/by-name/go/go-cve-search/package.nix index e7eb19729ffb8..80e8a4e580c2d 100644 --- a/pkgs/by-name/go/go-cve-search/package.nix +++ b/pkgs/by-name/go/go-cve-search/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-dork/package.nix b/pkgs/by-name/go/go-dork/package.nix index a92f8957e3ad2..5afffba56e3cd 100644 --- a/pkgs/by-name/go/go-dork/package.nix +++ b/pkgs/by-name/go/go-dork/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-errorlint/package.nix b/pkgs/by-name/go/go-errorlint/package.nix index 6c7252d04274c..d0bfac3a4cefd 100644 --- a/pkgs/by-name/go/go-errorlint/package.nix +++ b/pkgs/by-name/go/go-errorlint/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-pSajd2wyefHgxMvhDKs+qwre4BMRBv97v/tZOjiT3LE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Source code linter that can be used to find code that will cause problems with Go's error wrapping scheme"; diff --git a/pkgs/by-name/go/go-ethereum/package.nix b/pkgs/by-name/go/go-ethereum/package.nix index db9e37156cd47..2f54653f4a5d0 100644 --- a/pkgs/by-name/go/go-ethereum/package.nix +++ b/pkgs/by-name/go/go-ethereum/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit, nixosTests }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + libobjc, + IOKit, + nixosTests, +}: let # A list of binaries to put into separate outputs @@ -7,7 +15,8 @@ let "clef" ]; -in buildGoModule rec { +in +buildGoModule rec { pname = "go-ethereum"; version = "1.14.12"; @@ -27,7 +36,10 @@ in buildGoModule rec { # Move binaries to separate outputs and symlink them back to $out postInstall = lib.concatStringsSep "\n" ( - builtins.map (bin: "mkdir -p \$${bin}/bin && mv $out/bin/${bin} \$${bin}/bin/ && ln -s \$${bin}/bin/${bin} $out/bin/") bins + builtins.map ( + bin: + "mkdir -p \$${bin}/bin && mv $out/bin/${bin} \$${bin}/bin/ && ln -s \$${bin}/bin/${bin} $out/bin/" + ) bins ); subPackages = [ @@ -49,15 +61,20 @@ in buildGoModule rec { tags = [ "urfave_cli_no_docs" ]; # Fix for usb-related segmentation faults on darwin - propagatedBuildInputs = - lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + ]; passthru.tests = { inherit (nixosTests) geth; }; meta = with lib; { homepage = "https://geth.ethereum.org/"; description = "Official golang implementation of the Ethereum protocol"; - license = with licenses; [ lgpl3Plus gpl3Plus ]; + license = with licenses; [ + lgpl3Plus + gpl3Plus + ]; maintainers = with maintainers; [ RaghavSood ]; mainProgram = "geth"; }; diff --git a/pkgs/by-name/go/go-exploitdb/package.nix b/pkgs/by-name/go/go-exploitdb/package.nix index de2fd3426fe3f..d5e75b85cb359 100644 --- a/pkgs/by-name/go/go-exploitdb/package.nix +++ b/pkgs/by-name/go/go-exploitdb/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-font/package.nix b/pkgs/by-name/go/go-font/package.nix index db96e3183e262..436647f590623 100644 --- a/pkgs/by-name/go/go-font/package.nix +++ b/pkgs/by-name/go/go-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "go-font"; diff --git a/pkgs/by-name/go/go-jet/package.nix b/pkgs/by-name/go/go-jet/package.nix index b2a2aec97a9c6..4519fa55af631 100644 --- a/pkgs/by-name/go/go-jet/package.nix +++ b/pkgs/by-name/go/go-jet/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-jet"; diff --git a/pkgs/by-name/go/go-jira/package.nix b/pkgs/by-name/go/go-jira/package.nix index a3d31d034ee5e..35ad782476008 100644 --- a/pkgs/by-name/go/go-jira/package.nix +++ b/pkgs/by-name/go/go-jira/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-jira"; @@ -19,6 +23,9 @@ buildGoModule rec { description = "Simple command line client for Atlassian's Jira service written in Go"; homepage = "https://github.com/go-jira/jira"; license = licenses.asl20; - maintainers = with maintainers; [ carlosdagos timstott ]; + maintainers = with maintainers; [ + carlosdagos + timstott + ]; }; } diff --git a/pkgs/by-name/go/go-jsonnet/package.nix b/pkgs/by-name/go/go-jsonnet/package.nix index 8f419a189e82e..8e531e01a1d2a 100644 --- a/pkgs/by-name/go/go-jsonnet/package.nix +++ b/pkgs/by-name/go/go-jsonnet/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, go-jsonnet }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + go-jsonnet, +}: buildGoModule rec { pname = "go-jsonnet"; @@ -24,7 +30,10 @@ buildGoModule rec { description = "Implementation of Jsonnet in pure Go"; homepage = "https://github.com/google/go-jsonnet"; license = licenses.asl20; - maintainers = with maintainers; [ nshalman aaronjheng ]; + maintainers = with maintainers; [ + nshalman + aaronjheng + ]; mainProgram = "jsonnet"; }; } diff --git a/pkgs/by-name/go/go-junit-report/package.nix b/pkgs/by-name/go/go-junit-report/package.nix index c8a7322b42c53..a6eabc0b573f5 100644 --- a/pkgs/by-name/go/go-junit-report/package.nix +++ b/pkgs/by-name/go/go-junit-report/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-junit-report"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-+KmC7m6xdkWTT/8MkGaW9gqkzeZ6LWL0DXbt+12iTHY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Convert go test output to junit xml"; diff --git a/pkgs/by-name/go/go-landlock/package.nix b/pkgs/by-name/go/go-landlock/package.nix index 91ed7c1ff2bdc..52c1e7890a368 100644 --- a/pkgs/by-name/go/go-landlock/package.nix +++ b/pkgs/by-name/go/go-landlock/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-libp2p-daemon/package.nix b/pkgs/by-name/go/go-libp2p-daemon/package.nix index 8e04682683283..0f9c7e06dc5a2 100644 --- a/pkgs/by-name/go/go-libp2p-daemon/package.nix +++ b/pkgs/by-name/go/go-libp2p-daemon/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-libp2p-daemon"; diff --git a/pkgs/by-name/go/go-license-detector/package.nix b/pkgs/by-name/go/go-license-detector/package.nix index a59b55be975d8..2b5be457f2525 100644 --- a/pkgs/by-name/go/go-license-detector/package.nix +++ b/pkgs/by-name/go/go-license-detector/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ + lib, + buildGoModule, + fetchFromGitHub, + git, +}: buildGoModule rec { pname = "go-license-detector"; diff --git a/pkgs/by-name/go/go-licenses/package.nix b/pkgs/by-name/go/go-licenses/package.nix index 6d1e6dce16090..b63583d49298c 100644 --- a/pkgs/by-name/go/go-licenses/package.nix +++ b/pkgs/by-name/go/go-licenses/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, go -, installShellFiles -, makeWrapper +{ + lib, + buildGoModule, + fetchFromGitHub, + go, + installShellFiles, + makeWrapper, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-md2man/package.nix b/pkgs/by-name/go/go-md2man/package.nix index b66584b90a931..bd2c19f824d2d 100644 --- a/pkgs/by-name/go/go-md2man/package.nix +++ b/pkgs/by-name/go/go-md2man/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-md2man"; @@ -18,6 +22,6 @@ buildGoModule rec { mainProgram = "go-md2man"; license = licenses.mit; homepage = "https://github.com/cpuguy83/go-md2man"; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [ offline ]; }; } diff --git a/pkgs/by-name/go/go-migrate/package.nix b/pkgs/by-name/go/go-migrate/package.nix index 35c8c320cf215..a78acdc7941da 100644 --- a/pkgs/by-name/go/go-migrate/package.nix +++ b/pkgs/by-name/go/go-migrate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-migrate"; @@ -16,7 +20,31 @@ buildGoModule rec { subPackages = [ "cmd/migrate" ]; - tags = [ "cassandra" "clickhouse" "cockroachdb" "crate" "firebird" "mongodb" "multistmt" "mysql" "neo4j" "pgx" "pgx5" "postgres" "ql" "redshift" "rqlite" "shell" "snowflake" "spanner" "sqlite3" "sqlserver" "stub" "testing" "yugabytedb" ]; + tags = [ + "cassandra" + "clickhouse" + "cockroachdb" + "crate" + "firebird" + "mongodb" + "multistmt" + "mysql" + "neo4j" + "pgx" + "pgx5" + "postgres" + "ql" + "redshift" + "rqlite" + "shell" + "snowflake" + "spanner" + "sqlite3" + "sqlserver" + "stub" + "testing" + "yugabytedb" + ]; meta = with lib; { homepage = "https://github.com/golang-migrate/migrate"; diff --git a/pkgs/by-name/go/go-minimock/package.nix b/pkgs/by-name/go/go-minimock/package.nix index 4b82975d5bc6f..1db5ad7e457cd 100644 --- a/pkgs/by-name/go/go-minimock/package.nix +++ b/pkgs/by-name/go/go-minimock/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-minimock"; @@ -12,14 +16,19 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" "-X main.version=${version}" + "-s" + "-w" + "-X main.version=${version}" ]; vendorHash = "sha256-zk5ulVxn7qAsU5i5z6eG0OMN5ExSu/ceBKu8UMwoiPo="; doCheck = true; - subPackages = [ "cmd/minimock" "." ]; + subPackages = [ + "cmd/minimock" + "." + ]; meta = with lib; { homepage = "https://github.com/gojuno/minimock"; diff --git a/pkgs/by-name/go/go-mod-graph-chart/package.nix b/pkgs/by-name/go/go-mod-graph-chart/package.nix index 8540e01483945..9a435833bba9e 100644 --- a/pkgs/by-name/go/go-mod-graph-chart/package.nix +++ b/pkgs/by-name/go/go-mod-graph-chart/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-motion/package.nix b/pkgs/by-name/go/go-motion/package.nix index 3db974affe13d..9a950ac864076 100644 --- a/pkgs/by-name/go/go-motion/package.nix +++ b/pkgs/by-name/go/go-motion/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "motion"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Navigation and insight in Go"; diff --git a/pkgs/by-name/go/go-mtpfs/package.nix b/pkgs/by-name/go/go-mtpfs/package.nix index 26655053574e5..f6e6e667cc597 100644 --- a/pkgs/by-name/go/go-mtpfs/package.nix +++ b/pkgs/by-name/go/go-mtpfs/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, pkg-config, libusb1 }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + pkg-config, + libusb1, +}: buildGoModule rec { pname = "go-mtpfs"; @@ -13,7 +20,10 @@ buildGoModule rec { vendorHash = "sha256-OrAEvD2rF0Y0bvCD9TUv/E429lASsvC3uK3qNvbg734="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/by-name/go/go-neb/package.nix b/pkgs/by-name/go/go-neb/package.nix index 6b4528dfe289c..c6ad42add0917 100644 --- a/pkgs/by-name/go/go-neb/package.nix +++ b/pkgs/by-name/go/go-neb/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests, olm }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + nixosTests, + olm, +}: buildGoModule { pname = "go-neb"; @@ -26,6 +33,9 @@ buildGoModule { mainProgram = "go-neb"; homepage = "https://github.com/matrix-org/go-neb"; license = licenses.asl20; - maintainers = with maintainers; [ hexa maralorn ]; + maintainers = with maintainers; [ + hexa + maralorn + ]; }; } diff --git a/pkgs/by-name/go/go-org/package.nix b/pkgs/by-name/go/go-org/package.nix index 4b0a2a9c41a7b..dabed8503e257 100644 --- a/pkgs/by-name/go/go-org/package.nix +++ b/pkgs/by-name/go/go-org/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "go-org"; diff --git a/pkgs/by-name/go/go-outline/package.nix b/pkgs/by-name/go/go-outline/package.nix index c8f7f4efa5020..25ce29dd69dee 100644 --- a/pkgs/by-name/go/go-outline/package.nix +++ b/pkgs/by-name/go/go-outline/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-outline"; diff --git a/pkgs/by-name/go/go-passbolt-cli/package.nix b/pkgs/by-name/go/go-passbolt-cli/package.nix index e774769ae45e0..fcf19ff37cda2 100644 --- a/pkgs/by-name/go/go-passbolt-cli/package.nix +++ b/pkgs/by-name/go/go-passbolt-cli/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, installShellFiles, lib, stdenv }: +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + stdenv, +}: buildGoModule rec { pname = "go-passbolt-cli"; diff --git a/pkgs/by-name/go/go-protobuf/package.nix b/pkgs/by-name/go/go-protobuf/package.nix index aa8c8df12e869..b55e3b15a3ebe 100644 --- a/pkgs/by-name/go/go-protobuf/package.nix +++ b/pkgs/by-name/go/go-protobuf/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-protobuf"; @@ -14,9 +18,9 @@ buildGoModule rec { vendorHash = "sha256-jGAWUgW0DA7EwmlzVxnBmtbf2dp+P4Qwcb8mTAEhUi4="; meta = with lib; { - homepage = "https://github.com/golang/protobuf"; + homepage = "https://github.com/golang/protobuf"; description = " Go bindings for protocol buffer"; maintainers = with maintainers; [ lewo ]; - license = licenses.bsd3; + license = licenses.bsd3; }; } diff --git a/pkgs/by-name/go/go-rice/package.nix b/pkgs/by-name/go/go-rice/package.nix index 4c3fd6ef4c068..f98384bd270f7 100644 --- a/pkgs/by-name/go/go-rice/package.nix +++ b/pkgs/by-name/go/go-rice/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-rice"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-VlpdZcqg7yWUADN8oD/IAgAXVdzJeIeymx2Pu/7E21o="; - subPackages = [ "." "rice" ]; + subPackages = [ + "." + "rice" + ]; meta = with lib; { description = "Go package that makes working with resources such as html, js, css, images, templates very easy"; diff --git a/pkgs/by-name/go/go-sct/package.nix b/pkgs/by-name/go/go-sct/package.nix index 71c1c77fd9d3f..80d244d136c2b 100644 --- a/pkgs/by-name/go/go-sct/package.nix +++ b/pkgs/by-name/go/go-sct/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, xorg, wayland }: +{ + lib, + buildGoModule, + fetchFromGitHub, + xorg, + wayland, +}: buildGoModule rec { pname = "go-sct"; @@ -18,9 +24,16 @@ buildGoModule rec { vendorHash = "sha256-Rx5/oORink2QtRcD+JqbyFroWYhuYmuYDzZ391R4Jsw="; - buildInputs = [ xorg.libX11 xorg.libXrandr wayland.dev ]; + buildInputs = [ + xorg.libX11 + xorg.libXrandr + wayland.dev + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Color temperature setting library and CLI that operates in a similar way to f.lux and Redshift"; diff --git a/pkgs/by-name/go/go-shadowsocks2/package.nix b/pkgs/by-name/go/go-shadowsocks2/package.nix index ac6bbc1663aaa..d3398e2d7c7c3 100644 --- a/pkgs/by-name/go/go-shadowsocks2/package.nix +++ b/pkgs/by-name/go/go-shadowsocks2/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "go-shadowsocks2"; diff --git a/pkgs/by-name/go/go-swag/package.nix b/pkgs/by-name/go/go-swag/package.nix index 1903ff57ef33e..7193d56ba3120 100644 --- a/pkgs/by-name/go/go-swag/package.nix +++ b/pkgs/by-name/go/go-swag/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "go-swag"; diff --git a/pkgs/by-name/go/go-swagger/package.nix b/pkgs/by-name/go/go-swagger/package.nix index 9319bd499758c..0133af94d9c2f 100644 --- a/pkgs/by-name/go/go-swagger/package.nix +++ b/pkgs/by-name/go/go-swagger/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/go-tools/package.nix b/pkgs/by-name/go/go-tools/package.nix index dd4f60f16b744..18496f2252542 100644 --- a/pkgs/by-name/go/go-tools/package.nix +++ b/pkgs/by-name/go/go-tools/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { @@ -24,6 +25,10 @@ buildGoModule rec { description = "Collection of tools and libraries for working with Go code, including linters and static analysis"; homepage = "https://staticcheck.io"; license = licenses.mit; - maintainers = with maintainers; [ rvolosatovs kalbasit smasher164 ]; + maintainers = with maintainers; [ + rvolosatovs + kalbasit + smasher164 + ]; }; } diff --git a/pkgs/by-name/go/go365/package.nix b/pkgs/by-name/go/go365/package.nix index 12fad051584d2..297e6f04f53b5 100644 --- a/pkgs/by-name/go/go365/package.nix +++ b/pkgs/by-name/go/go365/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goa/package.nix b/pkgs/by-name/go/goa/package.nix index 33a52e6264288..0feb0d3e3fc05 100644 --- a/pkgs/by-name/go/goa/package.nix +++ b/pkgs/by-name/go/goa/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goawk/package.nix b/pkgs/by-name/go/goawk/package.nix index 7830258e13779..36f1382ce6db4 100644 --- a/pkgs/by-name/go/goawk/package.nix +++ b/pkgs/by-name/go/goawk/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, lib, stdenv, gawk }: +{ + buildGoModule, + fetchFromGitHub, + lib, + stdenv, + gawk, +}: buildGoModule rec { pname = "goawk"; diff --git a/pkgs/by-name/go/gob2/package.nix b/pkgs/by-name/go/gob2/package.nix index deef55569e904..8e603c4bcb06d 100644 --- a/pkgs/by-name/go/gob2/package.nix +++ b/pkgs/by-name/go/gob2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, bison, flex, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + bison, + flex, + gnome, +}: stdenv.mkDerivation rec { pname = "gob2"; @@ -11,7 +20,11 @@ stdenv.mkDerivation rec { # configure script looks for d-bus but it is only needed for tests nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib bison flex ]; + buildInputs = [ + glib + bison + flex + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/go/gobble/package.nix b/pkgs/by-name/go/gobble/package.nix index b61cf78f99212..856971174890d 100644 --- a/pkgs/by-name/go/gobble/package.nix +++ b/pkgs/by-name/go/gobble/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, xorg -, installShellFiles -, pandoc +{ + lib, + rustPlatform, + fetchFromGitHub, + xorg, + installShellFiles, + pandoc, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-5xsMLOYTKQc1bHHQsk9L4rHMVNBFOzIMxD+1qaMaNbQ="; buildInputs = [ xorg.libxcb ]; - nativeBuildInputs = [ pandoc installShellFiles ]; + nativeBuildInputs = [ + pandoc + installShellFiles + ]; postInstall = '' pandoc gobble.1.md -s -t man -o gobble.1 diff --git a/pkgs/by-name/go/gobby/package.nix b/pkgs/by-name/go/gobby/package.nix index 489a790e9e237..18f48b758d68e 100644 --- a/pkgs/by-name/go/gobby/package.nix +++ b/pkgs/by-name/go/gobby/package.nix @@ -1,10 +1,29 @@ -{ avahiSupport ? false # build support for Avahi in libinfinity -, lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, wrapGAppsHook3, yelp-tools -, gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool }: +{ + avahiSupport ? false, # build support for Avahi in libinfinity + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + wrapGAppsHook3, + yelp-tools, + gtkmm3, + gsasl, + gtksourceview3, + libxmlxx, + libinfinity, + intltool, + itstool, +}: let - libinf = libinfinity.override { gtkWidgets = true; inherit avahiSupport; }; -in stdenv.mkDerivation rec { + libinf = libinfinity.override { + gtkWidgets = true; + inherit avahiSupport; + }; +in +stdenv.mkDerivation rec { pname = "gobby"; version = "0.6.0"; @@ -15,8 +34,22 @@ in stdenv.mkDerivation rec { sha256 = "06cbc2y4xkw89jaa0ayhgh7fxr5p2nv3jjs8h2xcbbbgwaw08lk0"; }; - nativeBuildInputs = [ autoconf automake pkg-config intltool itstool yelp-tools wrapGAppsHook3 ]; - buildInputs = [ gtkmm3 gsasl gtksourceview3 libxmlxx libinf ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + intltool + itstool + yelp-tools + wrapGAppsHook3 + ]; + buildInputs = [ + gtkmm3 + gsasl + gtksourceview3 + libxmlxx + libinf + ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/by-name/go/gobetween/package.nix b/pkgs/by-name/go/gobetween/package.nix index db201e5ba48a9..ca795661eeee1 100644 --- a/pkgs/by-name/go/gobetween/package.nix +++ b/pkgs/by-name/go/gobetween/package.nix @@ -1,5 +1,9 @@ -{ stdenv, buildGoModule, fetchFromGitHub, lib -, enableStatic ? stdenv.hostPlatform.isStatic +{ + stdenv, + buildGoModule, + fetchFromGitHub, + lib, + enableStatic ? stdenv.hostPlatform.isStatic, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gobgp/package.nix b/pkgs/by-name/go/gobgp/package.nix index e72bdb874ca55..a3d1f3bcb0f2c 100644 --- a/pkgs/by-name/go/gobgp/package.nix +++ b/pkgs/by-name/go/gobgp/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "gobgp"; @@ -18,7 +22,9 @@ buildGoModule rec { ''; ldflags = [ - "-s" "-w" "-extldflags '-static'" + "-s" + "-w" + "-extldflags '-static'" ]; subPackages = [ "cmd/gobgp" ]; diff --git a/pkgs/by-name/go/gobgpd/package.nix b/pkgs/by-name/go/gobgpd/package.nix index 9754397e086aa..bc5162675d382 100644 --- a/pkgs/by-name/go/gobgpd/package.nix +++ b/pkgs/by-name/go/gobgpd/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gobi_loader/package.nix b/pkgs/by-name/go/gobi_loader/package.nix index 2783e9f559b82..d878df522d758 100644 --- a/pkgs/by-name/go/gobi_loader/package.nix +++ b/pkgs/by-name/go/gobi_loader/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/go/goblob/package.nix b/pkgs/by-name/go/goblob/package.nix index a1ffe5b4a9c81..1665cf1617ba8 100644 --- a/pkgs/by-name/go/goblob/package.nix +++ b/pkgs/by-name/go/goblob/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gobuster/package.nix b/pkgs/by-name/go/gobuster/package.nix index bbc4b02c2b168..832f69b3b6d8e 100644 --- a/pkgs/by-name/go/gobuster/package.nix +++ b/pkgs/by-name/go/gobuster/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -27,6 +28,9 @@ buildGoModule rec { homepage = "https://github.com/OJ/gobuster"; changelog = "https://github.com/OJ/gobuster/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ fab pamplemousse ]; + maintainers = with maintainers; [ + fab + pamplemousse + ]; }; } diff --git a/pkgs/by-name/go/gocd-agent/package.nix b/pkgs/by-name/go/gocd-agent/package.nix index adb2839de1d8e..c54dca292c627 100644 --- a/pkgs/by-name/go/gocd-agent/package.nix +++ b/pkgs/by-name/go/gocd-agent/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, nixosTests }: +{ + lib, + stdenv, + fetchurl, + unzip, + nixosTests, +}: stdenv.mkDerivation rec { pname = "gocd-agent"; @@ -21,7 +27,10 @@ stdenv.mkDerivation rec { binaryBytecode binaryNativeCode ]; - maintainers = with maintainers; [ grahamc swarren83 ]; + maintainers = with maintainers; [ + grahamc + swarren83 + ]; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/by-name/go/gocd-server/package.nix b/pkgs/by-name/go/gocd-server/package.nix index ce01ff95cc5a3..3197d6e05fb0c 100644 --- a/pkgs/by-name/go/gocd-server/package.nix +++ b/pkgs/by-name/go/gocd-server/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, unzip -, nixosTests +{ + lib, + stdenv, + fetchurl, + unzip, + nixosTests, }: stdenv.mkDerivation rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { binaryBytecode binaryNativeCode ]; - maintainers = with maintainers; [ grahamc swarren83 ]; + maintainers = with maintainers; [ + grahamc + swarren83 + ]; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/by-name/go/gocode-gomod/package.nix b/pkgs/by-name/go/gocode-gomod/package.nix index 6d1ef96f77a88..9aec956c578e9 100644 --- a/pkgs/by-name/go/gocode-gomod/package.nix +++ b/pkgs/by-name/go/gocode-gomod/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gocode-gomod"; @@ -41,6 +45,9 @@ buildGoModule rec { ''; homepage = "https://github.com/stamblerre/gocode"; license = licenses.mit; - maintainers = with maintainers; [ kalbasit rvolosatovs ]; + maintainers = with maintainers; [ + kalbasit + rvolosatovs + ]; }; } diff --git a/pkgs/by-name/go/goconst/package.nix b/pkgs/by-name/go/goconst/package.nix index d080a4fe37549..6d1546d69f428 100644 --- a/pkgs/by-name/go/goconst/package.nix +++ b/pkgs/by-name/go/goconst/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "goconst"; @@ -15,7 +19,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Find in Go repeated strings that could be replaced by a constant"; diff --git a/pkgs/by-name/go/goconvey/package.nix b/pkgs/by-name/go/goconvey/package.nix index 6717ff777be6f..ce8323ab027f8 100644 --- a/pkgs/by-name/go/goconvey/package.nix +++ b/pkgs/by-name/go/goconvey/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "goconvey"; @@ -15,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-P4J/CZY95ks08DC+gSqG+eanL3zoiaoz1d9/ZvBoc9Q="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = [ "-short" diff --git a/pkgs/by-name/go/gocr/package.nix b/pkgs/by-name/go/gocr/package.nix index 36bba9eaa4a18..5f808d3ae6707 100644 --- a/pkgs/by-name/go/gocr/package.nix +++ b/pkgs/by-name/go/gocr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, tk }: +{ + lib, + stdenv, + fetchurl, + tk, +}: stdenv.mkDerivation rec { pname = "gocr"; @@ -9,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "11l6gds1lrm8lwrrsxnm5fjlwz8q1xbh896cprrl4psz21in946z"; }; - buildFlags = [ "all" "libs" ]; + buildFlags = [ + "all" + "libs" + ]; installFlags = [ "libdir=/lib/" ]; # Specify libdir so Makefile will also install library. preInstall = "mkdir -p $out/lib"; diff --git a/pkgs/by-name/go/gocryptfs/package.nix b/pkgs/by-name/go/gocryptfs/package.nix index a1f424915f30b..1567b10e35495 100644 --- a/pkgs/by-name/go/gocryptfs/package.nix +++ b/pkgs/by-name/go/gocryptfs/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fuse -, makeWrapper -, openssl -, pandoc -, pkg-config -, libfido2 +{ + lib, + buildGoModule, + fetchFromGitHub, + fuse, + makeWrapper, + openssl, + pandoc, + pkg-config, + libfido2, }: buildGoModule rec { @@ -38,7 +39,11 @@ buildGoModule rec { "-X main.BuildDate=unknown" ]; - subPackages = [ "." "gocryptfs-xray" "contrib/statfs" ]; + subPackages = [ + "." + "gocryptfs-xray" + "contrib/statfs" + ]; postBuild = '' pushd Documentation/ @@ -62,7 +67,11 @@ buildGoModule rec { description = "Encrypted overlay filesystem written in Go"; license = licenses.mit; homepage = "https://nuetzlich.net/gocryptfs/"; - maintainers = with maintainers; [ flokli offline prusnak ]; + maintainers = with maintainers; [ + flokli + offline + prusnak + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/go/gocyclo/package.nix b/pkgs/by-name/go/gocyclo/package.nix index 49aa20f2be705..cd5447ef9c8e5 100644 --- a/pkgs/by-name/go/gocyclo/package.nix +++ b/pkgs/by-name/go/gocyclo/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/godef/package.nix b/pkgs/by-name/go/godef/package.nix index d79406a2ac43e..deb60e509ac37 100644 --- a/pkgs/by-name/go/godef/package.nix +++ b/pkgs/by-name/go/godef/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "godef"; @@ -22,7 +26,10 @@ buildGoModule rec { description = "Print where symbols are defined in Go source code"; mainProgram = "godef"; homepage = "https://github.com/rogpeppe/godef/"; - maintainers = with lib.maintainers; [ vdemeester rvolosatovs ]; + maintainers = with lib.maintainers; [ + vdemeester + rvolosatovs + ]; license = lib.licenses.bsd3; }; } diff --git a/pkgs/by-name/go/godns/package.nix b/pkgs/by-name/go/godns/package.nix index dfce9e6965f08..ea2aae6b38dea 100644 --- a/pkgs/by-name/go/godns/package.nix +++ b/pkgs/by-name/go/godns/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nodejs -, npmHooks -, fetchNpmDeps -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nodejs, + npmHooks, + fetchNpmDeps, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/go/godu/package.nix b/pkgs/by-name/go/godu/package.nix index 1f310b2f68817..e034badc0ae73 100644 --- a/pkgs/by-name/go/godu/package.nix +++ b/pkgs/by-name/go/godu/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "godu"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-8cZCeZ0gqxqbwB0WuEOFmEUNQd3/KcLeN0eLGfWG8BY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Utility helping to discover large files/folders"; diff --git a/pkgs/by-name/go/goeland/package.nix b/pkgs/by-name/go/goeland/package.nix index 337b09cff3362..e3f3f337892db 100644 --- a/pkgs/by-name/go/goeland/package.nix +++ b/pkgs/by-name/go/goeland/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gof5/package.nix b/pkgs/by-name/go/gof5/package.nix index ead38427816c6..82047971cd3bc 100644 --- a/pkgs/by-name/go/gof5/package.nix +++ b/pkgs/by-name/go/gof5/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goffice/package.nix b/pkgs/by-name/go/goffice/package.nix index a0be4727293bd..b578372332e62 100644 --- a/pkgs/by-name/go/goffice/package.nix +++ b/pkgs/by-name/go/goffice/package.nix @@ -1,14 +1,32 @@ -{ fetchurl, lib, stdenv, pkg-config, intltool, glib, gtk3, lasem -, libgsf, libxml2, libxslt, cairo, pango, librsvg, gnome -, autoreconfHook -, gtk-doc +{ + fetchurl, + lib, + stdenv, + pkg-config, + intltool, + glib, + gtk3, + lasem, + libgsf, + libxml2, + libxslt, + cairo, + pango, + librsvg, + gnome, + autoreconfHook, + gtk-doc, }: stdenv.mkDerivation rec { pname = "goffice"; version = "0.10.57"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -16,15 +34,27 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config intltool autoreconfHook gtk-doc - glib # for glib-genmarshal + pkg-config + intltool + autoreconfHook + gtk-doc + glib # for glib-genmarshal ]; propagatedBuildInputs = [ - glib gtk3 libxml2 cairo pango libgsf lasem + glib + gtk3 + libxml2 + cairo + pango + libgsf + lasem ]; - buildInputs = [ libxslt librsvg ]; + buildInputs = [ + libxslt + librsvg + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/go/gofish/package.nix b/pkgs/by-name/go/gofish/package.nix index dabfafc468786..b5a28b0214262 100644 --- a/pkgs/by-name/go/gofish/package.nix +++ b/pkgs/by-name/go/gofish/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/go/goflow/package.nix b/pkgs/by-name/go/goflow/package.nix index 5ec54a85ee25b..04937583cc307 100644 --- a/pkgs/by-name/go/goflow/package.nix +++ b/pkgs/by-name/go/goflow/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gofu/package.nix b/pkgs/by-name/go/gofu/package.nix index abe811d74858e..012d20bc8e642 100644 --- a/pkgs/by-name/go/gofu/package.nix +++ b/pkgs/by-name/go/gofu/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gofu"; diff --git a/pkgs/by-name/go/gogetdoc/package.nix b/pkgs/by-name/go/gogetdoc/package.nix index ed6f586a01ba1..592b92f145adf 100644 --- a/pkgs/by-name/go/gogetdoc/package.nix +++ b/pkgs/by-name/go/gogetdoc/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gogui/package.nix b/pkgs/by-name/go/gogui/package.nix index e83516d1c7d0e..ebcaac4910c3d 100644 --- a/pkgs/by-name/go/gogui/package.nix +++ b/pkgs/by-name/go/gogui/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, ant -, jdk -, jre -, docbook-xsl-ns -, docbook_xml_dtd_42 -, imagemagick -, libxslt -, stripJavaArchivesHook -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk, + jre, + docbook-xsl-ns, + docbook_xml_dtd_42, + imagemagick, + libxslt, + stripJavaArchivesHook, + makeWrapper, }: stdenv.mkDerivation (finalAttrs: { @@ -90,7 +91,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/Remi-Coulom/gogui"; license = lib.licenses.gpl3Plus; mainProgram = "gogui"; - maintainers = with lib.maintainers; [ cleverca22 omnipotententity ]; + maintainers = with lib.maintainers; [ + cleverca22 + omnipotententity + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/go/gohai/package.nix b/pkgs/by-name/go/gohai/package.nix index 5fa84e873ba3f..8ce3dffd99fdb 100644 --- a/pkgs/by-name/go/gohai/package.nix +++ b/pkgs/by-name/go/gohai/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gohai"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-aN1fwGbBm45e6qdRu+4wnv2ZI7SOsIPONB4vF9o2vlI="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doCheck = false; diff --git a/pkgs/by-name/go/gohufont/package.nix b/pkgs/by-name/go/gohufont/package.nix index 6892742de7999..6310db9daf939 100644 --- a/pkgs/by-name/go/gohufont/package.nix +++ b/pkgs/by-name/go/gohufont/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub -, xorg, bdf2psf, bdftopcf -, libfaketime +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + bdf2psf, + bdftopcf, + libfaketime, }: stdenv.mkDerivation rec { @@ -8,16 +13,19 @@ stdenv.mkDerivation rec { version = "2.1"; src = fetchFromGitHub { - owner = "hchargois"; - repo = "gohufont"; - rev = "cc36b8c9fed7141763e55dcee0a97abffcf08224"; + owner = "hchargois"; + repo = "gohufont"; + rev = "cc36b8c9fed7141763e55dcee0a97abffcf08224"; sha256 = "1hmp11mrr01b29phw0xyj4h9b92qz19cf56ssf6c47c5j2c4xmbv"; }; - nativeBuildInputs = - [ xorg.mkfontscale bdf2psf bdftopcf - xorg.fonttosfnt libfaketime - ]; + nativeBuildInputs = [ + xorg.mkfontscale + bdf2psf + bdftopcf + xorg.fonttosfnt + libfaketime + ]; buildPhase = '' # convert bdf fonts to psf @@ -62,8 +70,8 @@ stdenv.mkDerivation rec { description = '' A monospace bitmap font well suited for programming and terminal use ''; - homepage = "https://font.gohu.org/"; - license = licenses.wtfpl; + homepage = "https://font.gohu.org/"; + license = licenses.wtfpl; maintainers = with maintainers; [ rnhmjoj ]; }; } diff --git a/pkgs/by-name/go/goimapnotify/package.nix b/pkgs/by-name/go/goimapnotify/package.nix index ced815142e737..44ab2078d5835 100644 --- a/pkgs/by-name/go/goimapnotify/package.nix +++ b/pkgs/by-name/go/goimapnotify/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitLab, lib, runtimeShell }: +{ + buildGoModule, + fetchFromGitLab, + lib, + runtimeShell, +}: buildGoModule rec { pname = "goimapnotify"; @@ -20,11 +25,13 @@ buildGoModule rec { ''; meta = with lib; { - description = - "Execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE"; + description = "Execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE"; homepage = "https://gitlab.com/shackra/goimapnotify"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ wohanley rafaelrc ]; + maintainers = with maintainers; [ + wohanley + rafaelrc + ]; mainProgram = "goimapnotify"; }; } diff --git a/pkgs/by-name/go/gojq/package.nix b/pkgs/by-name/go/gojq/package.nix index f022ccc881a91..d8a1413760384 100644 --- a/pkgs/by-name/go/gojq/package.nix +++ b/pkgs/by-name/go/gojq/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, gojq }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gojq, +}: buildGoModule rec { pname = "gojq"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-ZC0byawZLBwId5GcAgHXRdEOMUSAv4wDNHFHLrbhB+I="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = gojq; diff --git a/pkgs/by-name/go/gojsontoyaml/package.nix b/pkgs/by-name/go/gojsontoyaml/package.nix index f05d0405aebf1..3057639d858d4 100644 --- a/pkgs/by-name/go/gojsontoyaml/package.nix +++ b/pkgs/by-name/go/gojsontoyaml/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gojsontoyaml"; diff --git a/pkgs/by-name/go/gokart/package.nix b/pkgs/by-name/go/gokart/package.nix index 11e68b9bede17..aa3b53fb0e3b1 100644 --- a/pkgs/by-name/go/gokart/package.nix +++ b/pkgs/by-name/go/gokart/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gokey/package.nix b/pkgs/by-name/go/gokey/package.nix index 7d60299db2392..2b5a6f89ac06a 100644 --- a/pkgs/by-name/go/gokey/package.nix +++ b/pkgs/by-name/go/gokey/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gokey"; version = "0.1.3"; diff --git a/pkgs/by-name/go/gol/package.nix b/pkgs/by-name/go/gol/package.nix index 7096d7b854b4a..f1d8eafc1deba 100644 --- a/pkgs/by-name/go/gol/package.nix +++ b/pkgs/by-name/go/gol/package.nix @@ -1,4 +1,10 @@ -{ lib, maven, fetchFromGitHub, makeWrapper, jre }: +{ + lib, + maven, + fetchFromGitHub, + makeWrapper, + jre, +}: maven.buildMavenPackage rec { pname = "gol"; diff --git a/pkgs/by-name/go/golangci-lint-langserver/package.nix b/pkgs/by-name/go/golangci-lint-langserver/package.nix index ce43f3ed50b8a..515ed00b4eecb 100644 --- a/pkgs/by-name/go/golangci-lint-langserver/package.nix +++ b/pkgs/by-name/go/golangci-lint-langserver/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goldwarden/package.nix b/pkgs/by-name/go/goldwarden/package.nix index f4769f3dd3084..eddf57bfbbfa7 100644 --- a/pkgs/by-name/go/goldwarden/package.nix +++ b/pkgs/by-name/go/goldwarden/package.nix @@ -1,14 +1,15 @@ -{ lib -, blueprint-compiler -, buildGoModule -, fetchFromGitHub -, gobject-introspection -, gtk4 -, libadwaita -, libfido2 -, libnotify -, python3 -, wrapGAppsHook4 +{ + lib, + blueprint-compiler, + buildGoModule, + fetchFromGitHub, + gobject-introspection, + gtk4, + libadwaita, + libfido2, + libnotify, + python3, + wrapGAppsHook4, }: buildGoModule rec { @@ -40,7 +41,10 @@ buildGoModule rec { vendorHash = "sha256-zWACjW/WZC0ZLmRV1VwcRROG218PCZ6aCPOreCG/5sE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ blueprint-compiler @@ -92,7 +96,10 @@ buildGoModule rec { description = "Feature-packed Bitwarden compatible desktop integration"; homepage = "https://github.com/quexten/goldwarden"; license = licenses.mit; - maintainers = with maintainers; [ arthsmn justanotherariel ]; + maintainers = with maintainers; [ + arthsmn + justanotherariel + ]; mainProgram = "goldwarden"; platforms = platforms.linux; # Support for other platforms is not yet ready, see https://github.com/quexten/goldwarden/issues/4 }; diff --git a/pkgs/by-name/go/golines/package.nix b/pkgs/by-name/go/golines/package.nix index da6c887d43bb2..1d30cf3b148a9 100644 --- a/pkgs/by-name/go/golines/package.nix +++ b/pkgs/by-name/go/golines/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "golines"; diff --git a/pkgs/by-name/go/golink/package.nix b/pkgs/by-name/go/golink/package.nix index f48b80aeb5392..5c10bbdcfebed 100644 --- a/pkgs/by-name/go/golink/package.nix +++ b/pkgs/by-name/go/golink/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/golint/package.nix b/pkgs/by-name/go/golint/package.nix index 47e1ee0a54556..d1a29e512cc32 100644 --- a/pkgs/by-name/go/golint/package.nix +++ b/pkgs/by-name/go/golint/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchgit }: +{ + lib, + buildGoModule, + fetchgit, +}: buildGoModule rec { pname = "golint"; @@ -27,6 +31,9 @@ buildGoModule rec { description = "Linter for Go source code"; mainProgram = "golint"; license = licenses.bsd3; - maintainers = with maintainers; [ jhillyerd tomberek ]; + maintainers = with maintainers; [ + jhillyerd + tomberek + ]; }; } diff --git a/pkgs/by-name/go/gollum/gemset.nix b/pkgs/by-name/go/gollum/gemset.nix index c45f4c3672519..8ee71b2e826d0 100644 --- a/pkgs/by-name/go/gollum/gemset.nix +++ b/pkgs/by-name/go/gollum/gemset.nix @@ -1,596 +1,662 @@ { asciidoctor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyxgwmnz9bw377r3lba26b090hbsq9qnbw8575a1prpy83qh82j"; type = "gem"; }; version = "2.0.23"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; crass = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; creole = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm"; type = "gem"; }; version = "0.5.0"; }; expression_parser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib"; type = "gem"; }; version = "0.9.0"; }; gemojione = { - dependencies = ["json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fwd523pgr72w3w6jwpz9i6sggvz52d7831a1s4y3lv8m50j6ima"; type = "gem"; }; version = "4.3.3"; }; github-markup = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mv2l0h3v5g4cwqh2lgb3braafh8n3v2s84i573wi5m79f4qhw1z"; type = "gem"; }; version = "4.0.2"; }; gollum = { - dependencies = ["gemojione" "gollum-lib" "i18n" "kramdown" "kramdown-parser-gfm" "mustache-sinatra" "octicons" "rack" "rackup" "rdoc" "rss" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "useragent" "webrick"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "gemojione" + "gollum-lib" + "i18n" + "kramdown" + "kramdown-parser-gfm" + "mustache-sinatra" + "octicons" + "rack" + "rackup" + "rdoc" + "rss" + "sinatra" + "sinatra-contrib" + "sprockets" + "sprockets-helpers" + "therubyrhino" + "useragent" + "webrick" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01gk8zb1mfr7ypspbg765fn3m6rdh0b6jpyxfninabl9dzazyvpi"; type = "gem"; }; version = "6.0.1"; }; gollum-lib = { - dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "rouge" "twitter-text"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "gemojione" + "github-markup" + "gollum-rugged_adapter" + "loofah" + "nokogiri" + "rouge" + "twitter-text" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vgvdmz5rh3ciww95llwax7pz93n4iljsz2q5f2hhynx6csvhriw"; type = "gem"; }; version = "6.0"; }; gollum-rugged_adapter = { - dependencies = ["mime-types" "rugged"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mime-types" + "rugged" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00l1fmgjv3sq97c5lw7qcrf37v970yz89dm6b73ah2y4qn8zd7qk"; type = "gem"; }; version = "3.0"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1klf2mnfilzjqwcjdi5qb1zl3ghrifz1amcnvwjvsfnx9a5jb9ly"; type = "gem"; }; version = "2.7.4"; }; kramdown = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn"; type = "gem"; }; version = "2.4.0"; }; kramdown-parser-gfm = { - dependencies = ["kramdown"]; - groups = ["default"]; - platforms = []; + dependencies = [ "kramdown" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; type = "gem"; }; version = "1.1.0"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; loofah = { - dependencies = ["crass" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ppp2cgli5avzk0z3dwnah6y65ymyr793yja28p2fs9vrci7986h"; type = "gem"; }; version = "2.23.1"; }; mime-types = { - dependencies = ["logger" "mime-types-data"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "logger" + "mime-types-data" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r34mc3n7sxsbm9mzyzy8m3dvq7pwbryyc8m452axkj0g2axnwbg"; type = "gem"; }; version = "3.6.0"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06dbn0j13jwdrmlvrjd50mxqrjlkh3lvxp0afh4glyzbliqvqpsd"; type = "gem"; }; version = "3.2024.1001"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; mustache = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch"; type = "gem"; }; version = "1.1.1"; }; mustache-sinatra = { - dependencies = ["mustache"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mustache" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03f2wdih6hnnm9iclfwi53dx56knpshv8wnf4cglp7kjx358036i"; type = "gem"; }; version = "2.0.0"; }; mustermann = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby2_keywords" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "123ycmq6pkivv29bqbv79jv2cs04xakzd0fz1lalgvfs5nxfky6i"; type = "gem"; }; version = "3.0.3"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; octicons = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00ld13van1xiayr24gwpbxfb63zbw44fx25xs9cp29g6cdzi5hrp"; type = "gem"; }; version = "19.12.0"; }; org-ruby = { - dependencies = ["rubypants"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rubypants" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk"; type = "gem"; }; version = "0.9.12"; }; psych = { - dependencies = ["stringio"]; - groups = ["default"]; - platforms = []; + dependencies = [ "stringio" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; type = "gem"; }; version = "5.1.2"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cd13019gnnh2c0a3kj27ij5ibk72v0bmpypqv4l6ayw8g5cpyyk"; type = "gem"; }; version = "3.1.8"; }; rack-protection = { - dependencies = ["base64" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xmvcxgm1jq92hqxm119gfk95wzl0d46nb2c2c6qqsm4ra2n3nyh"; type = "gem"; }; version = "4.0.0"; }; rack-session = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10afdpmy9kh0qva96slcyc59j4gkk9av8ilh58cnj0qq7q3b416v"; type = "gem"; }; version = "2.0.0"; }; rackup = { - dependencies = ["rack" "webrick"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "webrick" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0kbcka30g681cqasw47pq93fxjscq7yvs5zf8lp3740rb158ijvf"; type = "gem"; }; version = "2.1.0"; }; rdoc = { - dependencies = ["psych"]; - groups = ["default"]; - platforms = []; + dependencies = [ "psych" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi"; type = "gem"; }; version = "6.7.0"; }; RedCloth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15r2h7rfp4bi9i0bfmvgnmvmw0kl3byyac53rcakk4qsv7yv4caj"; type = "gem"; }; version = "4.3.4"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dnfkrk8xx2m8r3r9m2p5xcq57viznyc09k7r3i4jbm758i57lx3"; type = "gem"; }; version = "3.30.0"; }; rss = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dv74a07j3ih5ykyszs1k2cjvgs5c1pzrvcb1wc2bfai8p038qml"; type = "gem"; }; version = "0.3.1"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubypants = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kv2way45d2dz3h5b7wxyw36clvlwrz7ydf6699d0za5vm56gsrh"; type = "gem"; }; version = "0.7.1"; }; rugged = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sccng15h8h3mcjxfgvxy85lfpswbj0nhmzwwsqdffbzqgsb2jch"; type = "gem"; }; version = "1.7.2"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "rack-session" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mustermann" + "rack" + "rack-protection" + "rack-session" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0za92lv4s7xhgkkm6xxf7ib0b3bsyj8drxgkrskgsb5g3mxnixjl"; type = "gem"; }; version = "4.0.0"; }; sinatra-contrib = { - dependencies = ["multi_json" "mustermann" "rack-protection" "sinatra" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "multi_json" + "mustermann" + "rack-protection" + "sinatra" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r9khg85m60w0i77jpnm2irh9m4k0ia4mlicapj8dr7s6ykqd9dh"; type = "gem"; }; version = "4.0.0"; }; sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15rzfzd9dca4v0mr0bbhsbwhygl0k9l24iqqlx0fijig5zfi66wm"; type = "gem"; }; version = "4.2.1"; }; sprockets-helpers = { - dependencies = ["sprockets"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sprockets" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0513ma356g05lsskhsb363263177h6ccmp475il0p69y18his2ij"; type = "gem"; }; version = "1.4.0"; }; stringio = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; version = "3.1.1"; }; therubyrhino = { - dependencies = ["therubyrhino_jar"]; - groups = ["default"]; - platforms = []; + dependencies = [ "therubyrhino_jar" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "034mzpkxm3zjsi4rwa45dhhgq2b9vkabs5bnzbl1d3ka7210b3fc"; type = "gem"; }; version = "2.1.2"; }; therubyrhino_jar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149a5lsvn2n7k7vcfs77n836q1alv8yjh0503sf9cs65p974ah25"; type = "gem"; }; version = "1.7.8"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; twitter-text = { - dependencies = ["unf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; type = "gem"; }; version = "1.14.7"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; version = "0.0.9.1"; }; useragent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fv5kvq494swy0p17h9qya9r50w15xsi9zmvhzb8gh55kq6ki50p"; type = "gem"; }; version = "0.16.10"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; type = "gem"; }; version = "1.8.2"; }; wikicloth = { - dependencies = ["builder" "expression_parser" "htmlentities" "nokogiri" "twitter-text"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "expression_parser" + "htmlentities" + "nokogiri" + "twitter-text" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0c78r1rg93mb5rcrfxl01b162ma9sh46dhjksc4c9dngg62nhbjh"; type = "gem"; }; diff --git a/pkgs/by-name/go/gollum/package.nix b/pkgs/by-name/go/gollum/package.nix index 9625236193616..b9b1395fae6fe 100644 --- a/pkgs/by-name/go/gollum/package.nix +++ b/pkgs/by-name/go/gollum/package.nix @@ -1,4 +1,11 @@ -{ lib, bundlerApp, bundlerUpdateScript, ruby, makeWrapper, nixosTests }: +{ + lib, + bundlerApp, + bundlerUpdateScript, + ruby, + makeWrapper, + nixosTests, +}: bundlerApp rec { pname = "gollum"; @@ -17,7 +24,12 @@ bundlerApp rec { homepage = "https://github.com/gollum/gollum"; changelog = "https://github.com/gollum/gollum/blob/HEAD/HISTORY.md"; license = licenses.mit; - maintainers = with maintainers; [ erictapen jgillich nicknovitski bbenno ]; + maintainers = with maintainers; [ + erictapen + jgillich + nicknovitski + bbenno + ]; platforms = platforms.unix; mainProgram = "gollum"; }; diff --git a/pkgs/by-name/go/gom/package.nix b/pkgs/by-name/go/gom/package.nix index 0df28ac88dfde..7d902ec5ee241 100644 --- a/pkgs/by-name/go/gom/package.nix +++ b/pkgs/by-name/go/gom/package.nix @@ -1,21 +1,26 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, glib -, python3 -, sqlite -, gdk-pixbuf -, gnome -, gobject-introspection +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + glib, + python3, + sqlite, + gdk-pixbuf, + gnome, + gobject-introspection, }: stdenv.mkDerivation rec { pname = "gom"; version = "0.4"; - outputs = [ "out" "py" ]; + outputs = [ + "out" + "py" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/go/gomacro/package.nix b/pkgs/by-name/go/gomacro/package.nix index 1b2a45da7a420..237070036b04e 100644 --- a/pkgs/by-name/go/gomacro/package.nix +++ b/pkgs/by-name/go/gomacro/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gomacro"; diff --git a/pkgs/by-name/go/gomapenum/package.nix b/pkgs/by-name/go/gomapenum/package.nix index 8171d5ef57e83..5153e358cf37f 100644 --- a/pkgs/by-name/go/gomapenum/package.nix +++ b/pkgs/by-name/go/gomapenum/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gomarkdoc/package.nix b/pkgs/by-name/go/gomarkdoc/package.nix index cea73b16081d4..f4c7bb49a5fd1 100644 --- a/pkgs/by-name/go/gomarkdoc/package.nix +++ b/pkgs/by-name/go/gomarkdoc/package.nix @@ -3,7 +3,7 @@ buildGoModule, fetchFromGitHub, testers, - gomarkdoc + gomarkdoc, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gomatrix/package.nix b/pkgs/by-name/go/gomatrix/package.nix index 001b57d06eec3..387b0ed1063a1 100644 --- a/pkgs/by-name/go/gomatrix/package.nix +++ b/pkgs/by-name/go/gomatrix/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gomatrix"; diff --git a/pkgs/by-name/go/gomi/package.nix b/pkgs/by-name/go/gomi/package.nix index 76ef724332e5f..8bcab4cd2d1ba 100644 --- a/pkgs/by-name/go/gomi/package.nix +++ b/pkgs/by-name/go/gomi/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gomodifytags/package.nix b/pkgs/by-name/go/gomodifytags/package.nix index c66137a82899c..567499f9e6d31 100644 --- a/pkgs/by-name/go/gomodifytags/package.nix +++ b/pkgs/by-name/go/gomodifytags/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gomodifytags"; diff --git a/pkgs/by-name/go/gomp/package.nix b/pkgs/by-name/go/gomp/package.nix index 4cac73ebe866d..ee9b5ce7eb0c6 100644 --- a/pkgs/by-name/go/gomp/package.nix +++ b/pkgs/by-name/go/gomp/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/go/gomplate/package.nix b/pkgs/by-name/go/gomplate/package.nix index ef2296e889de6..15127156114ae 100644 --- a/pkgs/by-name/go/gomplate/package.nix +++ b/pkgs/by-name/go/gomplate/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -42,6 +43,9 @@ buildGoModule rec { homepage = "https://gomplate.ca/"; changelog = "https://github.com/hairyhenderson/gomplate/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ ris jlesquembre ]; + maintainers = with maintainers; [ + ris + jlesquembre + ]; }; } diff --git a/pkgs/by-name/go/gomuks/package.nix b/pkgs/by-name/go/gomuks/package.nix index 510f577a50e93..3dc22caaa00a7 100644 --- a/pkgs/by-name/go/gomuks/package.nix +++ b/pkgs/by-name/go/gomuks/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, makeDesktopItem -, makeWrapper -, libnotify -, olm -, pulseaudio -, sound-theme-freedesktop +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + makeDesktopItem, + makeWrapper, + libnotify, + olm, + pulseaudio, + sound-theme-freedesktop, }: buildGoModule rec { @@ -36,13 +37,23 @@ buildGoModule rec { terminal = true; desktopName = "Gomuks"; genericName = "Matrix client"; - categories = [ "Network" "Chat" ]; + categories = [ + "Network" + "Chat" + ]; comment = meta.description; } }/* $out/ substituteAllInPlace $out/share/applications/* wrapProgram $out/bin/gomuks \ - --prefix PATH : "${lib.makeBinPath (lib.optionals stdenv.hostPlatform.isLinux [ libnotify pulseaudio ])}" \ + --prefix PATH : "${ + lib.makeBinPath ( + lib.optionals stdenv.hostPlatform.isLinux [ + libnotify + pulseaudio + ] + ) + }" \ --set-default GOMUKS_SOUND_NORMAL "${sound-theme-freedesktop}/share/sounds/freedesktop/stereo/message-new-instant.oga" \ --set-default GOMUKS_SOUND_CRITICAL "${sound-theme-freedesktop}/share/sounds/freedesktop/stereo/complete.oga" ''; diff --git a/pkgs/by-name/go/gonic/package.nix b/pkgs/by-name/go/gonic/package.nix index c09c58f0b269d..d8b28ba561949 100644 --- a/pkgs/by-name/go/gonic/package.nix +++ b/pkgs/by-name/go/gonic/package.nix @@ -1,15 +1,22 @@ -{ lib, buildGoModule, fetchFromGitHub -, nixosTests -, pkg-config, taglib, zlib +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, + pkg-config, + taglib, + zlib, -# Disable on-the-fly transcoding, -# removing the dependency on ffmpeg. -# The server will (as of 0.11.0) gracefully fall back -# to the original file, but if transcoding is configured -# that takes a while. So best to disable all transcoding -# in the configuration if you disable transcodingSupport. -, transcodingSupport ? true, ffmpeg -, mpv }: + # Disable on-the-fly transcoding, + # removing the dependency on ffmpeg. + # The server will (as of 0.11.0) gracefully fall back + # to the original file, but if transcoding is configured + # that takes a while. So best to disable all transcoding + # in the configuration if you disable transcodingSupport. + transcodingSupport ? true, + ffmpeg, + mpv, +}: buildGoModule rec { pname = "gonic"; @@ -22,29 +29,35 @@ buildGoModule rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ taglib zlib ]; + buildInputs = [ + taglib + zlib + ]; vendorHash = "sha256-6JkaiaAgtXYAZqVSRZJFObZvhEsHsbPaO9pwmKqIhYI="; # TODO(Profpatsch): write a test for transcoding support, # since it is prone to break - postPatch = lib.optionalString transcodingSupport '' - substituteInPlace \ - transcode/transcode.go \ - --replace-fail \ - '`ffmpeg' \ - '`${lib.getBin ffmpeg}/bin/ffmpeg' - '' + '' - substituteInPlace \ - jukebox/jukebox.go \ - --replace-fail \ - '"mpv"' \ - '"${lib.getBin mpv}/bin/mpv"' - '' + '' - substituteInPlace server/ctrlsubsonic/testdata/test* \ - --replace-quiet \ - '"audio/flac"' \ - '"audio/x-flac"' - ''; + postPatch = + lib.optionalString transcodingSupport '' + substituteInPlace \ + transcode/transcode.go \ + --replace-fail \ + '`ffmpeg' \ + '`${lib.getBin ffmpeg}/bin/ffmpeg' + '' + + '' + substituteInPlace \ + jukebox/jukebox.go \ + --replace-fail \ + '"mpv"' \ + '"${lib.getBin mpv}/bin/mpv"' + '' + + '' + substituteInPlace server/ctrlsubsonic/testdata/test* \ + --replace-quiet \ + '"audio/flac"' \ + '"audio/x-flac"' + ''; passthru = { tests.gonic = nixosTests.gonic; diff --git a/pkgs/by-name/go/goocanvasmm2/package.nix b/pkgs/by-name/go/goocanvasmm2/package.nix index ca6951c30e4d7..ae2c4688b8c04 100644 --- a/pkgs/by-name/go/goocanvasmm2/package.nix +++ b/pkgs/by-name/go/goocanvasmm2/package.nix @@ -1,17 +1,31 @@ -{ lib, stdenv, fetchurl, pkg-config, goocanvas2, gtkmm3, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + goocanvas2, + gtkmm3, + gnome, +}: stdenv.mkDerivation rec { pname = "goocanvasmm"; version = "1.90.11"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0vpdfrj59nwzwj8bk4s0h05iyql62pxjzsxh72g3vry07s3i3zw0"; }; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ gtkmm3 goocanvas2 ]; + propagatedBuildInputs = [ + gtkmm3 + goocanvas2 + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/go/goodhosts/package.nix b/pkgs/by-name/go/goodhosts/package.nix index 9f61465b41ff0..dfb80b8a902a6 100644 --- a/pkgs/by-name/go/goodhosts/package.nix +++ b/pkgs/by-name/go/goodhosts/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goodvibes/package.nix b/pkgs/by-name/go/goodvibes/package.nix index 005198ae57bf1..36bdb92052ec4 100644 --- a/pkgs/by-name/go/goodvibes/package.nix +++ b/pkgs/by-name/go/goodvibes/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, glib -, glib-networking -, gtk3 -, libsoup_3 -, keybinder3 -, gst_all_1 -, wrapGAppsHook3 -, appstream-glib -, desktop-file-utils +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + glib, + glib-networking, + gtk3, + libsoup_3, + keybinder3, + gst_all_1, + wrapGAppsHook3, + appstream-glib, + desktop-file-utils, }: stdenv.mkDerivation rec { @@ -35,20 +36,22 @@ stdenv.mkDerivation rec { desktop-file-utils ]; - buildInputs = [ - glib - # for libsoup TLS support - glib-networking - gtk3 - libsoup_3 - keybinder3 - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]); + buildInputs = + [ + glib + # for libsoup TLS support + glib-networking + gtk3 + libsoup_3 + keybinder3 + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); postPatch = '' patchShebangs scripts diff --git a/pkgs/by-name/go/goofys/package.nix b/pkgs/by-name/go/goofys/package.nix index bf4deb7c5c9ca..0a678d455e2d0 100644 --- a/pkgs/by-name/go/goofys/package.nix +++ b/pkgs/by-name/go/goofys/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule { diff --git a/pkgs/by-name/go/google-amber/package.nix b/pkgs/by-name/go/google-amber/package.nix index 12ff88d1340e8..9cc066bb09c3d 100644 --- a/pkgs/by-name/go/google-amber/package.nix +++ b/pkgs/by-name/go/google-amber/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, cctools -, makeWrapper -, mesa -, python3 -, runCommand -, vulkan-headers -, vulkan-loader -, vulkan-validation-layers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + cctools, + makeWrapper, + mesa, + python3, + runCommand, + vulkan-headers, + vulkan-loader, + vulkan-validation-layers, }: let # From https://github.com/google/amber/blob/main/DEPS @@ -65,17 +67,22 @@ stdenv.mkDerivation (finalAttrs: { vulkan-loader ]; - nativeBuildInputs = [ - cmake - makeWrapper - pkg-config - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - cctools - ]; + nativeBuildInputs = + [ + cmake + makeWrapper + pkg-config + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + ]; # Tests are disabled so we do not have to pull in googletest and more dependencies - cmakeFlags = [ "-DAMBER_SKIP_TESTS=ON" "-DAMBER_DISABLE_WERROR=ON" ]; + cmakeFlags = [ + "-DAMBER_SKIP_TESTS=ON" + "-DAMBER_DISABLE_WERROR=ON" + ]; prePatch = '' cp -r ${glslang}/ third_party/glslang @@ -95,48 +102,54 @@ stdenv.mkDerivation (finalAttrs: { --suffix VK_LAYER_PATH : ${vulkan-validation-layers}/share/vulkan/explicit_layer.d ''; - passthru.tests.lavapipe = runCommand "vulkan-cts-tests-lavapipe" { - nativeBuildInputs = [ finalAttrs.finalPackage mesa.llvmpipeHook ]; - } '' - cat > test.amber < SIZE 524288 FILL 0 - - PIPELINE compute kComputePipeline - ATTACH kComputeShader - BIND BUFFER kComputeBuffer AS storage DESCRIPTOR_SET 0 BINDING 3 - END # pipeline - - RUN kComputePipeline 256 256 1 - - # Four corners - EXPECT kComputeBuffer IDX 0 EQ 0 0 - EXPECT kComputeBuffer IDX 2040 EQ 255 0 - EXPECT kComputeBuffer IDX 522240 EQ 0 255 - EXPECT kComputeBuffer IDX 524280 EQ 255 255 - - # Center - EXPECT kComputeBuffer IDX 263168 EQ 128 128 - EOF - - amber test.amber - touch $out - ''; + passthru.tests.lavapipe = + runCommand "vulkan-cts-tests-lavapipe" + { + nativeBuildInputs = [ + finalAttrs.finalPackage + mesa.llvmpipeHook + ]; + } + '' + cat > test.amber < SIZE 524288 FILL 0 + + PIPELINE compute kComputePipeline + ATTACH kComputeShader + BIND BUFFER kComputeBuffer AS storage DESCRIPTOR_SET 0 BINDING 3 + END # pipeline + + RUN kComputePipeline 256 256 1 + + # Four corners + EXPECT kComputeBuffer IDX 0 EQ 0 0 + EXPECT kComputeBuffer IDX 2040 EQ 255 0 + EXPECT kComputeBuffer IDX 522240 EQ 0 255 + EXPECT kComputeBuffer IDX 524280 EQ 255 255 + + # Center + EXPECT kComputeBuffer IDX 263168 EQ 128 128 + EOF + + amber test.amber + touch $out + ''; meta = with lib; { description = "Multi-API shader test framework"; diff --git a/pkgs/by-name/go/google-app-engine-go-sdk/package.nix b/pkgs/by-name/go/google-app-engine-go-sdk/package.nix index 1230ac606ecf6..ab1a486c27442 100644 --- a/pkgs/by-name/go/google-app-engine-go-sdk/package.nix +++ b/pkgs/by-name/go/google-app-engine-go-sdk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchzip, python3Packages, makeWrapper }: +{ + lib, + stdenv, + fetchzip, + python3Packages, + makeWrapper, +}: with python3Packages; @@ -38,10 +44,13 @@ stdenv.mkDerivation rec { homepage = "https://cloud.google.com/appengine/docs/go/"; sourceProvenance = with sourceTypes; [ fromSource - binaryNativeCode # includes golang toolchain binaries + binaryNativeCode # includes golang toolchain binaries ]; license = licenses.asl20; - platforms = ["x86_64-linux" "x86_64-darwin"]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; maintainers = with maintainers; [ lufia ]; }; } diff --git a/pkgs/by-name/go/google-authenticator/package.nix b/pkgs/by-name/go/google-authenticator/package.nix index 11791a664c8bb..0334a252510f2 100644 --- a/pkgs/by-name/go/google-authenticator/package.nix +++ b/pkgs/by-name/go/google-authenticator/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, pam, qrencode }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pam, + qrencode, +}: stdenv.mkDerivation rec { pname = "google-authenticator-libpam"; diff --git a/pkgs/by-name/go/google-clasp/package.nix b/pkgs/by-name/go/google-clasp/package.nix index 2b2d6758410bf..abf89139867dc 100644 --- a/pkgs/by-name/go/google-clasp/package.nix +++ b/pkgs/by-name/go/google-clasp/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/go/google-cloud-bigtable-tool/package.nix b/pkgs/by-name/go/google-cloud-bigtable-tool/package.nix index 6e26aac5284df..889a98208f666 100644 --- a/pkgs/by-name/go/google-cloud-bigtable-tool/package.nix +++ b/pkgs/by-name/go/google-cloud-bigtable-tool/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/google-cloud-cpp/package.nix b/pkgs/by-name/go/google-cloud-cpp/package.nix index af00bc1690f73..83f55078d6a63 100644 --- a/pkgs/by-name/go/google-cloud-cpp/package.nix +++ b/pkgs/by-name/go/google-cloud-cpp/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, c-ares -, cmake -, crc32c -, curl -, gbenchmark -, grpc -, gtest -, ninja -, nlohmann_json -, openssl -, pkg-config -, protobuf -, pkgsBuildHost +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + c-ares, + cmake, + crc32c, + curl, + gbenchmark, + grpc, + gtest, + ninja, + nlohmann_json, + openssl, + pkg-config, + protobuf, + pkgsBuildHost, # default list of APIs: https://github.com/googleapis/google-cloud-cpp/blob/v1.32.1/CMakeLists.txt#L173 -, apis ? [ "*" ] -, staticOnly ? stdenv.hostPlatform.isStatic + apis ? [ "*" ], + staticOnly ? stdenv.hostPlatform.isStatic, }: let # defined in cmake/GoogleapisConfig.cmake @@ -48,18 +49,20 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - cmake - ninja - pkg-config - ] ++ lib.optionals (!doInstallCheck) [ - # enable these dependencies when doInstallCheck is false because we're - # unconditionally building tests and benchmarks - # - # when doInstallCheck is true, these deps are added to nativeInstallCheckInputs - gbenchmark - gtest - ]; + nativeBuildInputs = + [ + cmake + ninja + pkg-config + ] + ++ lib.optionals (!doInstallCheck) [ + # enable these dependencies when doInstallCheck is false because we're + # unconditionally building tests and benchmarks + # + # when doInstallCheck is true, these deps are added to nativeInstallCheckInputs + gbenchmark + gtest + ]; buildInputs = [ c-ares @@ -98,41 +101,46 @@ stdenv.mkDerivation rec { '' ); - installCheckPhase = let - disabledTests = lib.optionalString stdenv.hostPlatform.isDarwin '' - common_internal_async_connection_ready_test - bigtable_async_read_stream_test - bigtable_metadata_update_policy_test - bigtable_bigtable_benchmark_test - bigtable_embedded_server_test - ''; - in '' - runHook preInstallCheck + installCheckPhase = + let + disabledTests = lib.optionalString stdenv.hostPlatform.isDarwin '' + common_internal_async_connection_ready_test + bigtable_async_read_stream_test + bigtable_metadata_update_policy_test + bigtable_bigtable_benchmark_test + bigtable_embedded_server_test + ''; + in + '' + runHook preInstallCheck - # Disable any integration tests, which need to contact the internet. - ctest \ - --label-exclude integration-test \ - --exclude-from-file <(echo '${disabledTests}') + # Disable any integration tests, which need to contact the internet. + ctest \ + --label-exclude integration-test \ + --exclude-from-file <(echo '${disabledTests}') - runHook postInstallCheck - ''; + runHook postInstallCheck + ''; nativeInstallCheckInputs = lib.optionals doInstallCheck [ gbenchmark gtest ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS:BOOL=${if staticOnly then "OFF" else "ON"}" - # unconditionally build tests to catch linker errors as early as possible - # this adds a good chunk of time to the build - "-DBUILD_TESTING:BOOL=ON" - "-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES:BOOL=OFF" - ] ++ lib.optionals (apis != [ "*" ]) [ - "-DGOOGLE_CLOUD_CPP_ENABLE=${lib.concatStringsSep ";" apis}" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-DGOOGLE_CLOUD_CPP_GRPC_PLUGIN_EXECUTABLE=${lib.getBin pkgsBuildHost.grpc}/bin/grpc_cpp_plugin" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS:BOOL=${if staticOnly then "OFF" else "ON"}" + # unconditionally build tests to catch linker errors as early as possible + # this adds a good chunk of time to the build + "-DBUILD_TESTING:BOOL=ON" + "-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES:BOOL=OFF" + ] + ++ lib.optionals (apis != [ "*" ]) [ + "-DGOOGLE_CLOUD_CPP_ENABLE=${lib.concatStringsSep ";" apis}" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "-DGOOGLE_CLOUD_CPP_GRPC_PLUGIN_EXECUTABLE=${lib.getBin pkgsBuildHost.grpc}/bin/grpc_cpp_plugin" + ]; requiredSystemFeatures = [ "big-parallel" ]; diff --git a/pkgs/by-name/go/google-cloud-sql-proxy/package.nix b/pkgs/by-name/go/google-cloud-sql-proxy/package.nix index 3778d911c53f5..f1042fd50a4a1 100644 --- a/pkgs/by-name/go/google-cloud-sql-proxy/package.nix +++ b/pkgs/by-name/go/google-cloud-sql-proxy/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { @@ -37,7 +38,10 @@ buildGoModule rec { ''; homepage = "https://github.com/GoogleCloudPlatform/cloud-sql-proxy"; license = licenses.asl20; - maintainers = with maintainers; [ nicknovitski totoroot ]; + maintainers = with maintainers; [ + nicknovitski + totoroot + ]; mainProgram = "cloud-sql-proxy"; }; } diff --git a/pkgs/by-name/go/google-cursor/package.nix b/pkgs/by-name/go/google-cursor/package.nix index 0000d55ab0b51..ab341044e2213 100644 --- a/pkgs/by-name/go/google-cursor/package.nix +++ b/pkgs/by-name/go/google-cursor/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, fetchzip -, lib +{ + stdenvNoCC, + fetchzip, + lib, }: let @@ -28,13 +29,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { version = "2.0.0"; sourceRoot = "."; - srcs = map - (color: (fetchzip { + srcs = map ( + color: + (fetchzip { url = "https://github.com/ful1e5/Google_Cursor/releases/download/v${finalAttrs.version}/GoogleDot-${color.name}.tar.gz"; name = "GoogleDot-${color.name}"; hash = color.hash; - })) - colors; + }) + ) colors; postInstall = '' mkdir -p $out/share/icons diff --git a/pkgs/by-name/go/google-fonts/package.nix b/pkgs/by-name/go/google-fonts/package.nix index 04236ac505a94..8e1338bbd8801 100644 --- a/pkgs/by-name/go/google-fonts/package.nix +++ b/pkgs/by-name/go/google-fonts/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fonts ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fonts ? [ ], }: stdenvNoCC.mkDerivation { @@ -11,7 +12,10 @@ stdenvNoCC.mkDerivation { # Adobe Blank is split out in a separate output, # because it causes crashes with `libfontconfig`. # It has an absurd number of symbols - outputs = [ "out" "adobeBlank" ]; + outputs = [ + "out" + "adobeBlank" + ]; src = fetchFromGitHub { owner = "google"; @@ -44,26 +48,37 @@ stdenvNoCC.mkDerivation { # FamilyName-StyleName.ttf, FamilyName[param1,param2,...].ttf, and # FamilyName.ttf. This installs all fonts if fonts is empty and otherwise # only the specified fonts by FamilyName. - fonts = map (font: builtins.replaceStrings [" "] [""] font) fonts; - installPhase = '' - adobeBlankDest=$adobeBlank/share/fonts/truetype - install -m 444 -Dt $adobeBlankDest ofl/adobeblank/AdobeBlank-Regular.ttf - rm -r ofl/adobeblank - dest=$out/share/fonts/truetype - '' + (if fonts == [] then '' - find . -name '*.ttf' -exec install -m 444 -Dt $dest '{}' + - '' else '' - for font in $fonts; do - find . \( -name "$font-*.ttf" -o -name "$font[*.ttf" -o -name "$font.ttf" \) -exec install -m 444 -Dt $dest '{}' + - done - ''); + fonts = map (font: builtins.replaceStrings [ " " ] [ "" ] font) fonts; + installPhase = + '' + adobeBlankDest=$adobeBlank/share/fonts/truetype + install -m 444 -Dt $adobeBlankDest ofl/adobeblank/AdobeBlank-Regular.ttf + rm -r ofl/adobeblank + dest=$out/share/fonts/truetype + '' + + ( + if fonts == [ ] then + '' + find . -name '*.ttf' -exec install -m 444 -Dt $dest '{}' + + '' + else + '' + for font in $fonts; do + find . \( -name "$font-*.ttf" -o -name "$font[*.ttf" -o -name "$font.ttf" \) -exec install -m 444 -Dt $dest '{}' + + done + '' + ); meta = with lib; { homepage = "https://fonts.google.com"; description = "Font files available from Google Fonts"; - license = with licenses; [ asl20 ofl ufl ]; + license = with licenses; [ + asl20 + ofl + ufl + ]; platforms = platforms.all; - hydraPlatforms = []; + hydraPlatforms = [ ]; maintainers = with maintainers; [ manveru ]; sourceProvenance = [ sourceTypes.binaryBytecode ]; }; diff --git a/pkgs/by-name/go/google-guest-agent/package.nix b/pkgs/by-name/go/google-guest-agent/package.nix index 423f43a02de03..6f545c73764d5 100644 --- a/pkgs/by-name/go/google-guest-agent/package.nix +++ b/pkgs/by-name/go/google-guest-agent/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, coreutils -, makeWrapper -, google-guest-configs -, google-guest-oslogin -, iproute2 -, procps +{ + lib, + buildGoModule, + fetchFromGitHub, + coreutils, + makeWrapper, + google-guest-configs, + google-guest-oslogin, + iproute2, + procps, }: buildGoModule rec { diff --git a/pkgs/by-name/go/google-guest-configs/package.nix b/pkgs/by-name/go/google-guest-configs/package.nix index 73dd3c93d2558..5a3bf68579a92 100644 --- a/pkgs/by-name/go/google-guest-configs/package.nix +++ b/pkgs/by-name/go/google-guest-configs/package.nix @@ -1,5 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper -, ipcalc, iproute2, util-linux, coreutils, ethtool, gnugrep, gnused, nvme-cli }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + ipcalc, + iproute2, + util-linux, + coreutils, + ethtool, + gnugrep, + gnused, + nvme-cli, +}: stdenv.mkDerivation rec { pname = "google-guest-configs"; @@ -12,7 +24,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-0SRu6p/DsHNNI20mkXJitt/Ee5S2ooiy5hNmD+ndecM="; }; - binDeps = lib.makeBinPath [ coreutils util-linux gnugrep gnused ethtool ipcalc iproute2 ]; + binDeps = lib.makeBinPath [ + coreutils + util-linux + gnugrep + gnused + ethtool + ipcalc + iproute2 + ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/go/google-java-format/package.nix b/pkgs/by-name/go/google-java-format/package.nix index f54434fad949c..a88b7c11726d6 100644 --- a/pkgs/by-name/go/google-java-format/package.nix +++ b/pkgs/by-name/go/google-java-format/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "google-java-format"; diff --git a/pkgs/by-name/go/goose/package.nix b/pkgs/by-name/go/goose/package.nix index 2dca37b2259d5..a572100fa7305 100644 --- a/pkgs/by-name/go/goose/package.nix +++ b/pkgs/by-name/go/goose/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gopacked/package.nix b/pkgs/by-name/go/gopacked/package.nix index 1ce8d1cb4e178..9c482c172bc6c 100644 --- a/pkgs/by-name/go/gopacked/package.nix +++ b/pkgs/by-name/go/gopacked/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gopacked"; diff --git a/pkgs/by-name/go/gopatch/package.nix b/pkgs/by-name/go/gopatch/package.nix index 276176c2d65a2..ad7a50f3d82e1 100644 --- a/pkgs/by-name/go/gopatch/package.nix +++ b/pkgs/by-name/go/gopatch/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, gopatch +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gopatch, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goperf/package.nix b/pkgs/by-name/go/goperf/package.nix index 1f64a4db4824c..5fc39adb7f46a 100644 --- a/pkgs/by-name/go/goperf/package.nix +++ b/pkgs/by-name/go/goperf/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchgit -, writeShellScript -, unstableGitUpdater -, sd +{ + lib, + buildGoModule, + fetchgit, + writeShellScript, + unstableGitUpdater, + sd, }: buildGoModule rec { @@ -20,7 +21,9 @@ buildGoModule rec { passthru.updateScript = writeShellScript "update-goperf" '' export UPDATE_NIX_ATTR_PATH=goperf - ${lib.escapeShellArgs (unstableGitUpdater { inherit (src) url; })} + ${lib.escapeShellArgs (unstableGitUpdater { + inherit (src) url; + })} set -x oldhash="$(nix-instantiate . --eval --strict -A "goperf.goModules.drvAttrs.outputHash" | cut -d'"' -f2)" newhash="$(nix-build -A goperf.goModules --no-out-link 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)" diff --git a/pkgs/by-name/go/gopher/package.nix b/pkgs/by-name/go/gopher/package.nix index 822acd530749d..1bab4c4abcb97 100644 --- a/pkgs/by-name/go/gopher/package.nix +++ b/pkgs/by-name/go/gopher/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "gopher"; diff --git a/pkgs/by-name/go/gophernotes/package.nix b/pkgs/by-name/go/gophernotes/package.nix index 9e6ebb47f9668..f4829ba509a37 100644 --- a/pkgs/by-name/go/gophernotes/package.nix +++ b/pkgs/by-name/go/gophernotes/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gophish/package.nix b/pkgs/by-name/go/gophish/package.nix index a319b2bd97e87..04c4e53425cf7 100644 --- a/pkgs/by-name/go/gophish/package.nix +++ b/pkgs/by-name/go/gophish/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gopkgs/package.nix b/pkgs/by-name/go/gopkgs/package.nix index ba7d9ffccde3f..f4b8c3a86cb27 100644 --- a/pkgs/by-name/go/gopkgs/package.nix +++ b/pkgs/by-name/go/gopkgs/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gopkgs"; diff --git a/pkgs/by-name/go/gopls/package.nix b/pkgs/by-name/go/gopls/package.nix index b9f44017da96a..aa03f4ac73c76 100644 --- a/pkgs/by-name/go/gopls/package.nix +++ b/pkgs/by-name/go/gopls/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gopls"; @@ -27,7 +31,12 @@ buildGoModule rec { homepage = "https://github.com/golang/tools/tree/master/gopls"; changelog = "https://github.com/golang/tools/releases/tag/${src.rev}"; license = licenses.bsd3; - maintainers = with maintainers; [ mic92 rski SuperSandro2000 zimbatm ]; + maintainers = with maintainers; [ + mic92 + rski + SuperSandro2000 + zimbatm + ]; mainProgram = "gopls"; }; } diff --git a/pkgs/by-name/go/gopro/package.nix b/pkgs/by-name/go/gopro/package.nix index 2876e9aa18426..296a25f045ff0 100644 --- a/pkgs/by-name/go/gopro/package.nix +++ b/pkgs/by-name/go/gopro/package.nix @@ -1,8 +1,11 @@ -{ lib, stdenv, fetchFromGitHub -, ffmpeg -, imagemagick -, makeWrapper -, mplayer +{ + lib, + stdenv, + fetchFromGitHub, + ffmpeg, + imagemagick, + makeWrapper, + mplayer, }: stdenv.mkDerivation rec { @@ -23,7 +26,13 @@ stdenv.mkDerivation rec { install -Dm755 gopro -t $out/bin wrapProgram $out/bin/gopro \ - --prefix PATH ":" "${lib.makeBinPath [ ffmpeg imagemagick mplayer ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + ffmpeg + imagemagick + mplayer + ] + }" runHook postInstall ''; diff --git a/pkgs/by-name/go/gops/package.nix b/pkgs/by-name/go/gops/package.nix index 3c1f5e2ac5ccb..2aeb490fa3f6b 100644 --- a/pkgs/by-name/go/gops/package.nix +++ b/pkgs/by-name/go/gops/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gops"; diff --git a/pkgs/by-name/go/gopsuinfo/package.nix b/pkgs/by-name/go/gopsuinfo/package.nix index fcb84cfde8704..37b1d4123c220 100644 --- a/pkgs/by-name/go/gopsuinfo/package.nix +++ b/pkgs/by-name/go/gopsuinfo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gordonflashtool/package.nix b/pkgs/by-name/go/gordonflashtool/package.nix index 7f49895739a26..b6548d0223478 100644 --- a/pkgs/by-name/go/gordonflashtool/package.nix +++ b/pkgs/by-name/go/gordonflashtool/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, nasm, unixtools }: +{ + lib, + stdenv, + fetchFromGitHub, + nasm, + unixtools, +}: let version = "10"; @@ -15,7 +21,10 @@ stdenv.mkDerivation { hash = "sha256-/zpw7kVdQeR7QcRsP1+qcu8+hlEQTGwOKClJkwVcBPg="; }; - nativeBuildInputs = [ nasm unixtools.xxd ]; + nativeBuildInputs = [ + nasm + unixtools.xxd + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/go/gore/package.nix b/pkgs/by-name/go/gore/package.nix index af9b48e85a382..33e54e6476651 100644 --- a/pkgs/by-name/go/gore/package.nix +++ b/pkgs/by-name/go/gore/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gore"; diff --git a/pkgs/by-name/go/goread/package.nix b/pkgs/by-name/go/goread/package.nix index c25575dcfeef6..a6220e172f600 100644 --- a/pkgs/by-name/go/goread/package.nix +++ b/pkgs/by-name/go/goread/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "goread"; diff --git a/pkgs/by-name/go/goredo/package.nix b/pkgs/by-name/go/goredo/package.nix index 57835efc4acc9..145ea72af6f6a 100644 --- a/pkgs/by-name/go/goredo/package.nix +++ b/pkgs/by-name/go/goredo/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, fetchurl -, lib -, zstd -, sharness -, python3 -, perl +{ + buildGoModule, + fetchurl, + lib, + zstd, + sharness, + python3, + perl, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { nativeBuildInputs = [ zstd ]; - nativeCheckInputs = lib.optionals doCheck [ python3 perl ]; + nativeCheckInputs = lib.optionals doCheck [ + python3 + perl + ]; inherit (sharness) SHARNESS_TEST_SRCDIR; @@ -50,7 +54,10 @@ buildGoModule rec { cp goredo.info "$out/share/info" ''; - outputs = [ "out" "info" ]; + outputs = [ + "out" + "info" + ]; meta = with lib; { outputsToInstall = [ "out" ]; diff --git a/pkgs/by-name/go/goreman/package.nix b/pkgs/by-name/go/goreman/package.nix index c5154bfbbad51..9a572a8a41b89 100644 --- a/pkgs/by-name/go/goreman/package.nix +++ b/pkgs/by-name/go/goreman/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, goreman }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + goreman, +}: buildGoModule rec { pname = "goreman"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-Udm0xdrW8Aky26oxUhdbpsNTWziZxkM0G1ZRKLwyl1Q="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = goreman; diff --git a/pkgs/by-name/go/goreplay/package.nix b/pkgs/by-name/go/goreplay/package.nix index 71081713c70d2..bea28693a6df5 100644 --- a/pkgs/by-name/go/goreplay/package.nix +++ b/pkgs/by-name/go/goreplay/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, libpcap }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + libpcap, +}: buildGoModule rec { pname = "goreplay"; @@ -21,7 +27,10 @@ buildGoModule rec { vendorHash = "sha256-jDMAtcq3ZowFdky5BdTkVNxq4ltkhklr76nXYJgGALg="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; buildInputs = [ libpcap ]; diff --git a/pkgs/by-name/go/goresym/package.nix b/pkgs/by-name/go/goresym/package.nix index d20a9a6c809a8..80ed06fd0fb8d 100644 --- a/pkgs/by-name/go/goresym/package.nix +++ b/pkgs/by-name/go/goresym/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, unzip +{ + lib, + fetchFromGitHub, + buildGoModule, + unzip, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gorilla-bin/package.nix b/pkgs/by-name/go/gorilla-bin/package.nix index 95ca0b08bf8ef..14a6a5ed14f5a 100644 --- a/pkgs/by-name/go/gorilla-bin/package.nix +++ b/pkgs/by-name/go/gorilla-bin/package.nix @@ -1,4 +1,17 @@ -{ fetchurl, makeWrapper, patchelf, lib, stdenv, libXft, libX11, freetype, fontconfig, libXrender, libXScrnSaver, libXext }: +{ + fetchurl, + makeWrapper, + patchelf, + lib, + stdenv, + libXft, + libX11, + freetype, + fontconfig, + libXrender, + libXScrnSaver, + libXext, +}: stdenv.mkDerivation rec { pname = "gorilla-bin"; @@ -10,25 +23,38 @@ stdenv.mkDerivation rec { sha256 = "19ir6x4c01825hpx2wbbcxkk70ymwbw4j03v8b2xc13ayylwzx0r"; }; - nativeBuildInputs = [ patchelf makeWrapper ]; + nativeBuildInputs = [ + patchelf + makeWrapper + ]; unpackCmd = '' mkdir gorilla; cp $curSrc gorilla/gorilla-${version}; ''; - installPhase = let - interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")"; - libPath = lib.makeLibraryPath [ libXft libX11 freetype fontconfig libXrender libXScrnSaver libXext ]; - in '' - mkdir -p $out/opt/password-gorilla - mkdir -p $out/bin - cp gorilla-${version} $out/opt/password-gorilla - chmod ugo+x $out/opt/password-gorilla/gorilla-${version} - patchelf --set-interpreter "${interpreter}" "$out/opt/password-gorilla/gorilla-${version}" - makeWrapper "$out/opt/password-gorilla/gorilla-${version}" "$out/bin/gorilla" \ - --prefix LD_LIBRARY_PATH : "${libPath}" - ''; + installPhase = + let + interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")"; + libPath = lib.makeLibraryPath [ + libXft + libX11 + freetype + fontconfig + libXrender + libXScrnSaver + libXext + ]; + in + '' + mkdir -p $out/opt/password-gorilla + mkdir -p $out/bin + cp gorilla-${version} $out/opt/password-gorilla + chmod ugo+x $out/opt/password-gorilla/gorilla-${version} + patchelf --set-interpreter "${interpreter}" "$out/opt/password-gorilla/gorilla-${version}" + makeWrapper "$out/opt/password-gorilla/gorilla-${version}" "$out/bin/gorilla" \ + --prefix LD_LIBRARY_PATH : "${libPath}" + ''; meta = { description = "Password Gorilla is a Tk based password manager"; diff --git a/pkgs/by-name/go/gorilla-cli/package.nix b/pkgs/by-name/go/gorilla-cli/package.nix index b3e5a0fde509b..58d362fe9351a 100644 --- a/pkgs/by-name/go/gorilla-cli/package.nix +++ b/pkgs/by-name/go/gorilla-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, nix-update-script +{ + lib, + python3, + fetchFromGitHub, + nix-update-script, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/go/gorm-gentool/package.nix b/pkgs/by-name/go/gorm-gentool/package.nix index b4982427c9006..684196730602c 100644 --- a/pkgs/by-name/go/gorm-gentool/package.nix +++ b/pkgs/by-name/go/gorm-gentool/package.nix @@ -24,6 +24,6 @@ buildGoModule rec { description = "Gen: Friendly & Safer GORM powered by Code Generation"; license = licenses.mit; mainProgram = "gentool"; - maintainers = with maintainers; [tembleking]; + maintainers = with maintainers; [ tembleking ]; }; } diff --git a/pkgs/by-name/go/gosec/package.nix b/pkgs/by-name/go/gosec/package.nix index be4d2d39dc5ff..1f315ef6c3f06 100644 --- a/pkgs/by-name/go/gosec/package.nix +++ b/pkgs/by-name/go/gosec/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -33,6 +34,9 @@ buildGoModule rec { description = "Golang security checker"; mainProgram = "gosec"; license = licenses.asl20; - maintainers = with maintainers; [ kalbasit nilp0inter ]; + maintainers = with maintainers; [ + kalbasit + nilp0inter + ]; }; } diff --git a/pkgs/by-name/go/gosh/package.nix b/pkgs/by-name/go/gosh/package.nix index 41ef9fa1f540e..eb72987300d0c 100644 --- a/pkgs/by-name/go/gosh/package.nix +++ b/pkgs/by-name/go/gosh/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gosimports/package.nix b/pkgs/by-name/go/gosimports/package.nix index c47446d1a7a6f..72826ccc9da8a 100644 --- a/pkgs/by-name/go/gosimports/package.nix +++ b/pkgs/by-name/go/gosimports/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gosmee/package.nix b/pkgs/by-name/go/gosmee/package.nix index bfa2fba409a9a..73f7ab8fc3e71 100644 --- a/pkgs/by-name/go/gosmee/package.nix +++ b/pkgs/by-name/go/gosmee/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -33,6 +34,9 @@ buildGoModule rec { description = "Command line server and client for webhooks deliveries (and https://smee.io)"; homepage = "https://github.com/chmouel/gosmee"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ vdemeester chmouel ]; + maintainers = with lib.maintainers; [ + vdemeester + chmouel + ]; }; } diff --git a/pkgs/by-name/go/gosmore/package.nix b/pkgs/by-name/go/gosmore/package.nix index daa5553d0c0ae..7fba8cee89f99 100644 --- a/pkgs/by-name/go/gosmore/package.nix +++ b/pkgs/by-name/go/gosmore/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libxml2, gtk2, curl, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libxml2, + gtk2, + curl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "gosmore"; @@ -14,7 +22,11 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/applications/rendering/gosmore"; - buildInputs = [ libxml2 gtk2 curl ]; + buildInputs = [ + libxml2 + gtk2 + curl + ]; nativeBuildInputs = [ pkg-config ]; @@ -24,7 +36,10 @@ stdenv.mkDerivation rec { ''; patches = [ ./pointer_int_comparison.patch ]; - patchFlags = [ "-p1" "--binary" ]; # patch has dos style eol + patchFlags = [ + "-p1" + "--binary" + ]; # patch has dos style eol meta = with lib; { description = "Open Street Map viewer"; diff --git a/pkgs/by-name/go/gospider/package.nix b/pkgs/by-name/go/gospider/package.nix index d78089f6072ec..6b3f226106c22 100644 --- a/pkgs/by-name/go/gospider/package.nix +++ b/pkgs/by-name/go/gospider/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gossa/package.nix b/pkgs/by-name/go/gossa/package.nix index a19ae4672f9b3..bce4c6bf05771 100644 --- a/pkgs/by-name/go/gossa/package.nix +++ b/pkgs/by-name/go/gossa/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # Tests require a socket connection to be created. doCheck = false; diff --git a/pkgs/by-name/go/gost/package.nix b/pkgs/by-name/go/gost/package.nix index 311aa1de3bbf4..5a515427bd126 100644 --- a/pkgs/by-name/go/gost/package.nix +++ b/pkgs/by-name/go/gost/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, fetchpatch }: +{ + lib, + fetchFromGitHub, + buildGoModule, + fetchpatch, +}: buildGoModule rec { pname = "gost"; diff --git a/pkgs/by-name/go/gostatic/package.nix b/pkgs/by-name/go/gostatic/package.nix index b7967f6f4e4ff..6b0ce598ca884 100644 --- a/pkgs/by-name/go/gostatic/package.nix +++ b/pkgs/by-name/go/gostatic/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gosu/package.nix b/pkgs/by-name/go/gosu/package.nix index 0768b551fe10d..d2213d926c5e4 100644 --- a/pkgs/by-name/go/gosu/package.nix +++ b/pkgs/by-name/go/gosu/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, gosu }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gosu, +}: buildGoModule rec { pname = "gosu"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-fygLYSO0kpMFJd6WQp/uLYkELkyaOPZ9V8BrJcIcMuU="; - ldflags = [ "-d" "-s" "-w" ]; + ldflags = [ + "-d" + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = gosu; diff --git a/pkgs/by-name/go/gotags/package.nix b/pkgs/by-name/go/gotags/package.nix index f73bfa69693dc..3b46a4cf9c688 100644 --- a/pkgs/by-name/go/gotags/package.nix +++ b/pkgs/by-name/go/gotags/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "gotags"; @@ -21,7 +26,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "ctags-compatible tag generator for Go"; diff --git a/pkgs/by-name/go/gotest/package.nix b/pkgs/by-name/go/gotest/package.nix index 2f54241d651d3..4c565840fee6d 100644 --- a/pkgs/by-name/go/gotest/package.nix +++ b/pkgs/by-name/go/gotest/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gotest"; diff --git a/pkgs/by-name/go/gotestfmt/package.nix b/pkgs/by-name/go/gotestfmt/package.nix index 0bd71fd5ea588..f0b7babdde9ca 100644 --- a/pkgs/by-name/go/gotestfmt/package.nix +++ b/pkgs/by-name/go/gotestfmt/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "gotestfmt"; diff --git a/pkgs/by-name/go/gotests/package.nix b/pkgs/by-name/go/gotests/package.nix index 2086df1051bae..d0ad80fbb9daa 100644 --- a/pkgs/by-name/go/gotests/package.nix +++ b/pkgs/by-name/go/gotests/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gotests"; diff --git a/pkgs/by-name/go/gotify-cli/package.nix b/pkgs/by-name/go/gotify-cli/package.nix index 94a7c8c82eeee..9dc87997cc372 100644 --- a/pkgs/by-name/go/gotify-cli/package.nix +++ b/pkgs/by-name/go/gotify-cli/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "gotify-cli"; @@ -18,7 +22,9 @@ buildGoModule rec { ''; ldflags = [ - "-X main.Version=${version}" "-X main.Commit=${version}" "-X main.BuildDate=1970-01-01" + "-X main.Version=${version}" + "-X main.Commit=${version}" + "-X main.BuildDate=1970-01-01" ]; meta = with lib; { diff --git a/pkgs/by-name/go/gotify-desktop/package.nix b/pkgs/by-name/go/gotify-desktop/package.nix index e184c38d5eb7c..9abc5bc183f77 100644 --- a/pkgs/by-name/go/gotify-desktop/package.nix +++ b/pkgs/by-name/go/gotify-desktop/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, rustPlatform, openssl, pkg-config, stdenv}: +{ + lib, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "gotify-desktop"; @@ -21,7 +28,10 @@ rustPlatform.buildRustPackage rec { description = "Small Gotify daemon to send messages as desktop notifications"; homepage = "https://github.com/desbma/gotify-desktop"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ bryanasdev000 genofire ]; + maintainers = with maintainers; [ + bryanasdev000 + genofire + ]; broken = stdenv.hostPlatform.isDarwin; mainProgram = "gotify-desktop"; }; diff --git a/pkgs/by-name/go/gotify-server/package.nix b/pkgs/by-name/go/gotify-server/package.nix index b4ee796dc0b74..3946198e2fbcf 100644 --- a/pkgs/by-name/go/gotify-server/package.nix +++ b/pkgs/by-name/go/gotify-server/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, sqlite -, callPackage -, nixosTests -, nix-update-script +{ + lib, + fetchFromGitHub, + buildGoModule, + sqlite, + callPackage, + nixosTests, + nix-update-script, }: buildGoModule rec { @@ -56,7 +57,8 @@ buildGoModule rec { subPackages = [ "." ]; ldflags = [ - "-X main.Version=${version}" "-X main.Mode=prod" + "-X main.Version=${version}" + "-X main.Mode=prod" ]; meta = with lib; { diff --git a/pkgs/by-name/go/gotify-server/ui.nix b/pkgs/by-name/go/gotify-server/ui.nix index 7d43e219ccf12..104b5670b9943 100644 --- a/pkgs/by-name/go/gotify-server/ui.nix +++ b/pkgs/by-name/go/gotify-server/ui.nix @@ -1,9 +1,10 @@ -{ stdenv -, yarn -, fixup-yarn-lock -, nodejs-slim -, fetchYarnDeps -, gotify-server +{ + stdenv, + yarn, + fixup-yarn-lock, + nodejs-slim, + fetchYarnDeps, + gotify-server, }: stdenv.mkDerivation rec { @@ -17,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-ejHzo6NHCMlNiYePWvfMY9Blb58pj3UQ5PFI0V84flI="; }; - nativeBuildInputs = [ yarn fixup-yarn-lock nodejs-slim ]; + nativeBuildInputs = [ + yarn + fixup-yarn-lock + nodejs-slim + ]; postPatch = '' export HOME=$NIX_BUILD_TOP/fake_home diff --git a/pkgs/by-name/go/gotraceui/package.nix b/pkgs/by-name/go/gotraceui/package.nix index 3f162f2462881..9730a2e6df911 100644 --- a/pkgs/by-name/go/gotraceui/package.nix +++ b/pkgs/by-name/go/gotraceui/package.nix @@ -1,6 +1,15 @@ { - lib, fetchFromGitHub, pkg-config, buildGoModule, - libGL, libX11, libXcursor, libXfixes, libxkbcommon, vulkan-headers, wayland, + lib, + fetchFromGitHub, + pkg-config, + buildGoModule, + libGL, + libX11, + libXcursor, + libXfixes, + libxkbcommon, + vulkan-headers, + wayland, }: buildGoModule rec { @@ -15,7 +24,7 @@ buildGoModule rec { }; vendorHash = "sha256-dNV5u6BG+2Nzci6dX/4/4WAeM/zXE5+Ix0HqIsNnm0E="; - subPackages = ["cmd/gotraceui"]; + subPackages = [ "cmd/gotraceui" ]; nativeBuildInputs = [ pkg-config ]; @@ -29,7 +38,7 @@ buildGoModule rec { libGL ]; - ldflags = ["-X gioui.org/app.ID=co.honnef.Gotraceui"]; + ldflags = [ "-X gioui.org/app.ID=co.honnef.Gotraceui" ]; postInstall = '' cp -r share $out/ diff --git a/pkgs/by-name/go/gotty/package.nix b/pkgs/by-name/go/gotty/package.nix index 9e5e95315f621..38f040f0bb524 100644 --- a/pkgs/by-name/go/gotty/package.nix +++ b/pkgs/by-name/go/gotty/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/go/gotypist/package.nix b/pkgs/by-name/go/gotypist/package.nix index b60fe896392d0..5806a6cded23d 100644 --- a/pkgs/by-name/go/gotypist/package.nix +++ b/pkgs/by-name/go/gotypist/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gotypist"; diff --git a/pkgs/by-name/go/goudy-bookletter-1911/package.nix b/pkgs/by-name/go/goudy-bookletter-1911/package.nix index 8e5d9c95e1dce..34428e7e360e1 100644 --- a/pkgs/by-name/go/goudy-bookletter-1911/package.nix +++ b/pkgs/by-name/go/goudy-bookletter-1911/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "goudy-bookletter-1911"; diff --git a/pkgs/by-name/go/gource/package.nix b/pkgs/by-name/go/gource/package.nix index 60f11d5168b19..41ee7d59812fe 100644 --- a/pkgs/by-name/go/gource/package.nix +++ b/pkgs/by-name/go/gource/package.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchurl, SDL2, ftgl, pkg-config, libpng, libjpeg, pcre2 -, SDL2_image, freetype, glew, libGLU, libGL, boost, glm, tinyxml +{ + lib, + stdenv, + fetchurl, + SDL2, + ftgl, + pkg-config, + libpng, + libjpeg, + pcre2, + SDL2_image, + freetype, + glew, + libGLU, + libGL, + boost, + glm, + tinyxml, }: stdenv.mkDerivation rec { @@ -18,8 +34,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - glew SDL2 ftgl libpng libjpeg pcre2 SDL2_image libGLU libGL - boost glm freetype tinyxml + glew + SDL2 + ftgl + libpng + libjpeg + pcre2 + SDL2_image + libGLU + libGL + boost + glm + freetype + tinyxml ]; configureFlags = [ diff --git a/pkgs/by-name/go/govc/package.nix b/pkgs/by-name/go/govc/package.nix index 41ca788a31c38..acbebda2cb01e 100644 --- a/pkgs/by-name/go/govc/package.nix +++ b/pkgs/by-name/go/govc/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "govc"; diff --git a/pkgs/by-name/go/govee2mqtt/package.nix b/pkgs/by-name/go/govee2mqtt/package.nix index 41392d0022c13..1f4ef40510be1 100644 --- a/pkgs/by-name/go/govee2mqtt/package.nix +++ b/pkgs/by-name/go/govee2mqtt/package.nix @@ -1,9 +1,10 @@ -{ rustPlatform -, lib -, fetchFromGitHub -, fetchpatch -, openssl -, pkg-config +{ + rustPlatform, + lib, + fetchFromGitHub, + fetchpatch, + openssl, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/go/goverview/package.nix b/pkgs/by-name/go/goverview/package.nix index 6c55f069d2589..a5093faa0f2a0 100644 --- a/pkgs/by-name/go/goverview/package.nix +++ b/pkgs/by-name/go/goverview/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/go/govulncheck/package.nix b/pkgs/by-name/go/govulncheck/package.nix index 71d03d916e53e..a7d0b88eca40a 100644 --- a/pkgs/by-name/go/govulncheck/package.nix +++ b/pkgs/by-name/go/govulncheck/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, substituteAll +{ + lib, + buildGoModule, + fetchFromGitHub, + substituteAll, }: buildGoModule rec { @@ -65,6 +66,9 @@ buildGoModule rec { reported for a Linux build. ''; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ jk SuperSandro2000 ]; + maintainers = with maintainers; [ + jk + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/go/gox/package.nix b/pkgs/by-name/go/gox/package.nix index e1ba5d9bb743f..d78d74191fee5 100644 --- a/pkgs/by-name/go/gox/package.nix +++ b/pkgs/by-name/go/gox/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, go +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + go, }: buildGoModule rec { diff --git a/pkgs/by-name/go/goxel/package.nix b/pkgs/by-name/go/goxel/package.nix index 404a42959038f..918a34a883c3a 100644 --- a/pkgs/by-name/go/goxel/package.nix +++ b/pkgs/by-name/go/goxel/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, scons, pkg-config, wrapGAppsHook3 -, glfw3, gtk3, libpng }: +{ + lib, + stdenv, + fetchFromGitHub, + scons, + pkg-config, + wrapGAppsHook3, + glfw3, + gtk3, + libpng, +}: stdenv.mkDerivation (finalAttrs: { pname = "goxel"; @@ -12,8 +21,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-mNSkQisWL3wXb+IsClWFTMbpeiRC4xteePXNP+GkUnU="; }; - nativeBuildInputs = [ scons pkg-config wrapGAppsHook3 ]; - buildInputs = [ glfw3 gtk3 libpng ]; + nativeBuildInputs = [ + scons + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + glfw3 + gtk3 + libpng + ]; dontUseSconsBuild = true; dontUseSconsInstall = true; @@ -28,6 +45,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://guillaumechereau.github.io/goxel/"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ tilpner fgaz ]; + maintainers = with maintainers; [ + tilpner + fgaz + ]; }; }) diff --git a/pkgs/by-name/gp/gpa/package.nix b/pkgs/by-name/gp/gpa/package.nix index cf6a915e29c18..79b9268842883 100644 --- a/pkgs/by-name/gp/gpa/package.nix +++ b/pkgs/by-name/gp/gpa/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, intltool, pkg-config, gtk2, gpgme, libgpg-error, libassuan }: +{ + lib, + stdenv, + fetchurl, + intltool, + pkg-config, + gtk2, + gpgme, + libgpg-error, + libassuan, +}: stdenv.mkDerivation rec { pname = "gpa"; @@ -9,8 +19,16 @@ stdenv.mkDerivation rec { sha256 = "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm"; }; - nativeBuildInputs = [ intltool pkg-config ]; - buildInputs = [ gtk2 gpgme libgpg-error libassuan ]; + nativeBuildInputs = [ + intltool + pkg-config + ]; + buildInputs = [ + gtk2 + gpgme + libgpg-error + libassuan + ]; meta = with lib; { description = "Graphical user interface for the GnuPG"; diff --git a/pkgs/by-name/gp/gpart/package.nix b/pkgs/by-name/gp/gpart/package.nix index a8466d3462e8f..7fa84d64e956f 100644 --- a/pkgs/by-name/gp/gpart/package.nix +++ b/pkgs/by-name/gp/gpart/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "gpart"; diff --git a/pkgs/by-name/gp/gparted/package.nix b/pkgs/by-name/gp/gparted/package.nix index c91ed7a5a3066..d5e5ffcc0ed7c 100644 --- a/pkgs/by-name/gp/gparted/package.nix +++ b/pkgs/by-name/gp/gparted/package.nix @@ -1,8 +1,29 @@ -{ lib, stdenv, fetchurl, gettext, coreutils, gnused, gnome -, adwaita-icon-theme -, gnugrep, parted, glib, libuuid, pkg-config, gtkmm3, libxml2 -, gpart, hdparm, procps, util-linux, polkit, wrapGAppsHook3, substituteAll -, mtools, dosfstools, xhost +{ + lib, + stdenv, + fetchurl, + gettext, + coreutils, + gnused, + gnome, + adwaita-icon-theme, + gnugrep, + parted, + glib, + libuuid, + pkg-config, + gtkmm3, + libxml2, + gpart, + hdparm, + procps, + util-linux, + polkit, + wrapGAppsHook3, + substituteAll, + mtools, + dosfstools, + xhost, }: stdenv.mkDerivation rec { @@ -26,10 +47,25 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = [ "--disable-doc" "--enable-xhost-root" ]; + configureFlags = [ + "--disable-doc" + "--enable-xhost-root" + ]; - buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin adwaita-icon-theme ]; - nativeBuildInputs = [ gettext pkg-config wrapGAppsHook3 ]; + buildInputs = [ + parted + glib + libuuid + gtkmm3 + libxml2 + polkit.bin + adwaita-icon-theme + ]; + nativeBuildInputs = [ + gettext + pkg-config + wrapGAppsHook3 + ]; preConfigure = '' # For ITS rules @@ -38,7 +74,20 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [ gpart hdparm util-linux procps coreutils gnused gnugrep mtools dosfstools xhost ]}" + --prefix PATH : "${ + lib.makeBinPath [ + gpart + hdparm + util-linux + procps + coreutils + gnused + gnugrep + mtools + dosfstools + xhost + ] + }" ) ''; diff --git a/pkgs/by-name/gp/gpaste/package.nix b/pkgs/by-name/gp/gpaste/package.nix index 7911b5ffc6c0e..1322bae6269b3 100644 --- a/pkgs/by-name/gp/gpaste/package.nix +++ b/pkgs/by-name/gp/gpaste/package.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchurl -, gjs -, glib -, gobject-introspection -, gtk3 -, gtk4 -, gcr_4 -, libadwaita -, meson -, ninja -, pango -, pkg-config -, vala -, desktop-file-utils -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchurl, + gjs, + glib, + gobject-introspection, + gtk3, + gtk4, + gcr_4, + libadwaita, + meson, + ninja, + pango, + pkg-config, + vala, + desktop-file-utils, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gp/gperftools/package.nix b/pkgs/by-name/gp/gperftools/package.nix index 62e7ecbb0e955..7936b80808e5c 100644 --- a/pkgs/by-name/gp/gperftools/package.nix +++ b/pkgs/by-name/gp/gperftools/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, libunwind -, perl +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + libunwind, + perl, }: stdenv.mkDerivation rec { @@ -30,20 +31,21 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; # tcmalloc uses libunwind in a way that works correctly only on non-ARM dynamically linked linux - buildInputs = [ perl ] - ++ lib.optional (stdenv.hostPlatform.isLinux && !(stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isStatic )) libunwind; + buildInputs = + [ perl ] + ++ lib.optional ( + stdenv.hostPlatform.isLinux && !(stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isStatic) + ) libunwind; # Disable general dynamic TLS on AArch to support dlopen()'ing the library: # https://bugzilla.redhat.com/show_bug.cgi?id=1483558 - configureFlags = lib.optional stdenv.hostPlatform.isAarch - "--disable-general-dynamic-tls"; + configureFlags = lib.optional stdenv.hostPlatform.isAarch "--disable-general-dynamic-tls"; prePatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Makefile.am --replace stdc++ c++ ''; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin - "-D_XOPEN_SOURCE"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-D_XOPEN_SOURCE"; # some packages want to link to the static tcmalloc_minimal # to drop the runtime dependency on gperftools diff --git a/pkgs/by-name/gp/gpg-mdp/package.nix b/pkgs/by-name/gp/gpg-mdp/package.nix index 08ab2a5b7d9f6..9e145a5fe2b13 100644 --- a/pkgs/by-name/gp/gpg-mdp/package.nix +++ b/pkgs/by-name/gp/gpg-mdp/package.nix @@ -1,13 +1,22 @@ -{ fetchurl, fetchpatch, lib, stdenv, ncurses, gnupg }: +{ + fetchurl, + fetchpatch, + lib, + stdenv, + ncurses, + gnupg, +}: -let version = "0.7.4"; -in stdenv.mkDerivation { +let + version = "0.7.4"; +in +stdenv.mkDerivation { # mdp renamed to gpg-mdp because there is a mdp package already. pname = "gpg-mdp"; inherit version; meta = { homepage = "https://tamentis.com/projects/mdp/"; - license = [lib.licenses.isc]; + license = [ lib.licenses.isc ]; description = "Manage your passwords with GnuPG and a text editor"; }; src = fetchurl { diff --git a/pkgs/by-name/gp/gphotos-sync/package.nix b/pkgs/by-name/gp/gphotos-sync/package.nix index 461931b1b991f..9b89e9c53b5ea 100644 --- a/pkgs/by-name/gp/gphotos-sync/package.nix +++ b/pkgs/by-name/gp/gphotos-sync/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, ffmpeg +{ + lib, + fetchFromGitHub, + python3, + ffmpeg, }: python3.pkgs.buildPythonApplication rec { pname = "gphotos-sync"; diff --git a/pkgs/by-name/gp/gpick/package.nix b/pkgs/by-name/gp/gpick/package.nix index c21759b00fea2..7c0502ea32321 100644 --- a/pkgs/by-name/gp/gpick/package.nix +++ b/pkgs/by-name/gp/gpick/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, fetchFromGitHub -, cmake -, wrapGAppsHook3 -, boost -, pkg-config -, gtk3 -, ragel -, lua -, fetchpatch -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + wrapGAppsHook3, + boost, + pkg-config, + gtk3, + ragel, + lua, + fetchpatch, + lib, }: stdenv.mkDerivation rec { @@ -32,8 +33,17 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 ]; - buildInputs = [ boost gtk3 ragel lua ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + boost + gtk3 + ragel + lua + ]; meta = with lib; { description = "Advanced color picker written in C++ using GTK+ toolkit"; diff --git a/pkgs/by-name/gp/gpodder/package.nix b/pkgs/by-name/gp/gpodder/package.nix index 9a62fab2850c9..678e119a8bb2b 100644 --- a/pkgs/by-name/gp/gpodder/package.nix +++ b/pkgs/by-name/gp/gpodder/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, glibcLocales -, adwaita-icon-theme -, gobject-introspection -, gtk3 -, intltool -, python311Packages -, wrapGAppsHook3 -, xdg-utils +{ + lib, + fetchFromGitHub, + gitUpdater, + glibcLocales, + adwaita-icon-theme, + gobject-introspection, + gtk3, + intltool, + python311Packages, + wrapGAppsHook3, + xdg-utils, }: python311Packages.buildPythonApplication rec { @@ -82,7 +83,7 @@ python311Packages.buildPythonApplication rec { makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}" ]; - passthru.updateScript = gitUpdater {}; + passthru.updateScript = gitUpdater { }; meta = with lib; { description = "Podcatcher written in python"; diff --git a/pkgs/by-name/gp/gpp/package.nix b/pkgs/by-name/gp/gpp/package.nix index 902c0bbf02b53..dea4eecdc444c 100644 --- a/pkgs/by-name/gp/gpp/package.nix +++ b/pkgs/by-name/gp/gpp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation { pname = "gpp"; diff --git a/pkgs/by-name/gp/gprename/package.nix b/pkgs/by-name/gp/gprename/package.nix index 6ae3b792ccfde..a821e772e9df8 100644 --- a/pkgs/by-name/gp/gprename/package.nix +++ b/pkgs/by-name/gp/gprename/package.nix @@ -45,7 +45,8 @@ stdenv.mkDerivation (finalAttrs: { wrapProgram $out/bin/gprename \ --set PERL5LIB ${ perlPackages.makeFullPerlPath ( - with perlPackages; [ + with perlPackages; + [ Pango Glib Gtk3 diff --git a/pkgs/by-name/gp/gprojector/package.nix b/pkgs/by-name/gp/gprojector/package.nix index ec05733374e0a..6d51e5b7a7709 100644 --- a/pkgs/by-name/gp/gprojector/package.nix +++ b/pkgs/by-name/gp/gprojector/package.nix @@ -1,11 +1,12 @@ -{ stdenvNoCC -, lib -, fetchzip -, jre -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, extraJavaArgs ? "-Xms512M -Xmx2000M" +{ + stdenvNoCC, + lib, + fetchzip, + jre, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + extraJavaArgs ? "-Xms512M -Xmx2000M", }: stdenvNoCC.mkDerivation rec { @@ -17,17 +18,22 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-cMmjyitetXxQzfSBh5ry5tIsLWOnBaaYOD1eQg1IX+w="; }; - desktopItems = [ (makeDesktopItem { - name = "gprojector"; - exec = "gprojector"; - desktopName = "G.Projector"; - comment = meta.description; - categories = [ "Science" ]; - startupWMClass = "gov-nasa-giss-projector-GProjector"; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "gprojector"; + exec = "gprojector"; + desktopName = "G.Projector"; + comment = meta.description; + categories = [ "Science" ]; + startupWMClass = "gov-nasa-giss-projector-GProjector"; + }) + ]; buildInputs = [ jre ]; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/by-name/gp/gprolog/package.nix b/pkgs/by-name/gp/gprolog/package.nix index 3cd5c1bcfa4cb..f1bd79a2d17fd 100644 --- a/pkgs/by-name/gp/gprolog/package.nix +++ b/pkgs/by-name/gp/gprolog/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "gprolog"; diff --git a/pkgs/by-name/gp/gpscorrelate/package.nix b/pkgs/by-name/gp/gpscorrelate/package.nix index d9801f5d704cc..c03d9204a7654 100644 --- a/pkgs/by-name/gp/gpscorrelate/package.nix +++ b/pkgs/by-name/gp/gpscorrelate/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, exiv2 -, libxml2 -, gtk3 -, libxslt -, docbook_xsl -, docbook_xml_dtd_42 -, desktop-file-utils -, wrapGAppsHook3 -, desktopToDarwinBundle +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + exiv2, + libxml2, + gtk3, + libxslt, + docbook_xsl, + docbook_xml_dtd_42, + desktop-file-utils, + wrapGAppsHook3, + desktopToDarwinBundle, }: stdenv.mkDerivation rec { @@ -48,7 +49,11 @@ stdenv.mkDerivation rec { doCheck = true; - installTargets = [ "install" "install-po" "install-desktop-file" ]; + installTargets = [ + "install" + "install-po" + "install-desktop-file" + ]; meta = with lib; { description = "GPS photo correlation tool, to add EXIF geotags"; diff --git a/pkgs/by-name/gp/gpsd/package.nix b/pkgs/by-name/gp/gpsd/package.nix index 4b9269ab66927..182fba46f2f55 100644 --- a/pkgs/by-name/gp/gpsd/package.nix +++ b/pkgs/by-name/gp/gpsd/package.nix @@ -1,34 +1,37 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch - -# nativeBuildInputs -, scons -, pkg-config - -# buildInputs -, dbus -, libusb1 -, ncurses -, kppsSupport ? stdenv.hostPlatform.isLinux, pps-tools -, python3Packages - -# optional deps for GUI packages -, guiSupport ? true -, dbus-glib -, libX11 -, libXt -, libXpm -, libXaw -, libXext -, gobject-introspection -, pango -, gdk-pixbuf -, atk -, wrapGAppsHook3 - -, gpsdUser ? "gpsd", gpsdGroup ? "dialout" +{ + stdenv, + lib, + fetchurl, + fetchpatch, + + # nativeBuildInputs + scons, + pkg-config, + + # buildInputs + dbus, + libusb1, + ncurses, + kppsSupport ? stdenv.hostPlatform.isLinux, + pps-tools, + python3Packages, + + # optional deps for GUI packages + guiSupport ? true, + dbus-glib, + libX11, + libXt, + libXpm, + libXaw, + libXext, + gobject-introspection, + pango, + gdk-pixbuf, + atk, + wrapGAppsHook3, + + gpsdUser ? "gpsd", + gpsdGroup ? "dialout", }: stdenv.mkDerivation rec { @@ -41,33 +44,38 @@ stdenv.mkDerivation rec { }; # TODO: render & install HTML documentation using asciidoctor - nativeBuildInputs = [ - pkg-config - python3Packages.wrapPython - scons - ] ++ lib.optionals guiSupport [ - gobject-introspection - wrapGAppsHook3 - ]; - - buildInputs = [ - dbus - libusb1 - ncurses - python3Packages.python - ] ++ lib.optionals kppsSupport [ - pps-tools - ] ++ lib.optionals guiSupport [ - atk - dbus-glib - gdk-pixbuf - libX11 - libXaw - libXext - libXpm - libXt - pango - ]; + nativeBuildInputs = + [ + pkg-config + python3Packages.wrapPython + scons + ] + ++ lib.optionals guiSupport [ + gobject-introspection + wrapGAppsHook3 + ]; + + buildInputs = + [ + dbus + libusb1 + ncurses + python3Packages.python + ] + ++ lib.optionals kppsSupport [ + pps-tools + ] + ++ lib.optionals guiSupport [ + atk + dbus-glib + gdk-pixbuf + libX11 + libXaw + libXext + libXpm + libXt + pango + ]; pythonPath = lib.optionals guiSupport [ python3Packages.pygobject3 @@ -113,7 +121,10 @@ stdenv.mkDerivation rec { mkdir -p "$out/lib/udev/rules.d" ''; - installTargets = [ "install" "udev-install" ]; + installTargets = [ + "install" + "udev-install" + ]; # remove binaries for x-less install because xgps sconsflag is partially broken postFixup = '' @@ -144,6 +155,9 @@ stdenv.mkDerivation rec { changelog = "https://gitlab.com/gpsd/gpsd/-/blob/release-${version}/NEWS"; license = licenses.bsd2; platforms = platforms.unix; - maintainers = with maintainers; [ bjornfor rasendubi ]; + maintainers = with maintainers; [ + bjornfor + rasendubi + ]; }; } diff --git a/pkgs/by-name/gp/gpsprune/package.nix b/pkgs/by-name/gp/gpsprune/package.nix index e33f340a1bd58..333092fdba0e7 100644 --- a/pkgs/by-name/gp/gpsprune/package.nix +++ b/pkgs/by-name/gp/gpsprune/package.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, makeDesktopItem, makeWrapper, unzip, jre, copyDesktopItems }: +{ + fetchurl, + lib, + stdenv, + makeDesktopItem, + makeWrapper, + unzip, + jre, + copyDesktopItems, +}: stdenv.mkDerivation rec { pname = "gpsprune"; @@ -11,7 +20,10 @@ stdenv.mkDerivation rec { dontUnpack = true; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; buildInputs = [ jre ]; desktopItems = [ @@ -22,7 +34,10 @@ stdenv.mkDerivation rec { desktopName = "GpsPrune"; genericName = "GPS Data Editor"; comment = meta.description; - categories = [ "Education" "Geoscience" ]; + categories = [ + "Education" + "Geoscience" + ]; mimeTypes = [ "application/gpx+xml" "application/vnd.google-earth.kml+xml" diff --git a/pkgs/by-name/gp/gpt4all/package.nix b/pkgs/by-name/gp/gpt4all/package.nix index 125a3f4d46b72..118df97d6797b 100644 --- a/pkgs/by-name/gp/gpt4all/package.nix +++ b/pkgs/by-name/gp/gpt4all/package.nix @@ -1,18 +1,19 @@ -{ lib -, config -, stdenv -, fetchFromGitHub -, fetchurl -, fetchpatch -, cmake -, qt6 -, fmt -, shaderc -, vulkan-headers -, wayland -, cudaSupport ? config.cudaSupport -, cudaPackages ? { } -, autoAddDriverRunpath +{ + lib, + config, + stdenv, + fetchFromGitHub, + fetchurl, + fetchpatch, + cmake, + qt6, + fmt, + shaderc, + vulkan-headers, + wayland, + cudaSupport ? config.cudaSupport, + cudaPackages ? { }, + autoAddDriverRunpath, }: stdenv.mkDerivation (finalAttrs: { @@ -44,44 +45,50 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/gpt4all-chat"; - nativeBuildInputs = [ - cmake - qt6.wrapQtAppsHook - ] ++ lib.optionals cudaSupport [ - cudaPackages.cuda_nvcc - autoAddDriverRunpath - ]; + nativeBuildInputs = + [ + cmake + qt6.wrapQtAppsHook + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cuda_nvcc + autoAddDriverRunpath + ]; - buildInputs = [ - fmt - qt6.qtwayland - qt6.qtquicktimeline - qt6.qtsvg - qt6.qthttpserver - qt6.qtwebengine - qt6.qt5compat - qt6.qttools - shaderc - vulkan-headers - wayland - ] ++ lib.optionals cudaSupport ( - with cudaPackages; + buildInputs = [ - cuda_cccl - cuda_cudart - libcublas + fmt + qt6.qtwayland + qt6.qtquicktimeline + qt6.qtsvg + qt6.qthttpserver + qt6.qtwebengine + qt6.qt5compat + qt6.qttools + shaderc + vulkan-headers + wayland ] - ); + ++ lib.optionals cudaSupport ( + with cudaPackages; + [ + cuda_cccl + cuda_cudart + libcublas + ] + ); - cmakeFlags = [ - "-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF" - "-DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON" - "-DKOMPUTE_OPT_USE_BUILT_IN_FMT=OFF" - "-DGGML_VULKAN=ON" - "-DGGML_KOMPUTE=ON" - ] ++ lib.optionals (!cudaSupport) [ - "-DLLMODEL_CUDA=OFF" - ]; + cmakeFlags = + [ + "-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF" + "-DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON" + "-DKOMPUTE_OPT_USE_BUILT_IN_FMT=OFF" + "-DGGML_VULKAN=ON" + "-DGGML_KOMPUTE=ON" + ] + ++ lib.optionals (!cudaSupport) [ + "-DLLMODEL_CUDA=OFF" + ]; postInstall = '' rm -rf $out/include @@ -100,6 +107,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/nomic-ai/gpt4all"; license = lib.licenses.mit; mainProgram = "gpt4all"; - maintainers = with lib.maintainers; [ polygon titaniumtown ]; + maintainers = with lib.maintainers; [ + polygon + titaniumtown + ]; }; }) diff --git a/pkgs/by-name/gp/gptfdisk/package.nix b/pkgs/by-name/gp/gptfdisk/package.nix index 798d1b223e5c3..4965084857a6a 100644 --- a/pkgs/by-name/gp/gptfdisk/package.nix +++ b/pkgs/by-name/gp/gptfdisk/package.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, libuuid, popt, icu, ncurses, nixosTests }: +{ + fetchurl, + lib, + stdenv, + libuuid, + popt, + icu, + ncurses, + nixosTests, +}: stdenv.mkDerivation rec { pname = "gptfdisk"; @@ -11,25 +20,32 @@ stdenv.mkDerivation rec { sha256 = "sha256-Kr7WG8bSuexJiXPARAuLgEt6ctcUQGm1qSCbKtaTooI="; }; - postPatch = '' - patchShebangs gdisk_test.sh - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Makefile.mac --replace \ - "-mmacosx-version-min=10.4" "-mmacosx-version-min=10.6" - substituteInPlace Makefile.mac --replace \ - " -arch i386" "" - substituteInPlace Makefile.mac --replace \ - "-arch x86_64" "" - substituteInPlace Makefile.mac --replace \ - "-arch arm64" "" - substituteInPlace Makefile.mac --replace \ - " -I/opt/local/include -I /usr/local/include -I/opt/local/include" "" - substituteInPlace Makefile.mac --replace \ - "/usr/local/Cellar/ncurses/6.2/lib/libncurses.dylib" "${ncurses.out}/lib/libncurses.dylib" - ''; + postPatch = + '' + patchShebangs gdisk_test.sh + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile.mac --replace \ + "-mmacosx-version-min=10.4" "-mmacosx-version-min=10.6" + substituteInPlace Makefile.mac --replace \ + " -arch i386" "" + substituteInPlace Makefile.mac --replace \ + "-arch x86_64" "" + substituteInPlace Makefile.mac --replace \ + "-arch arm64" "" + substituteInPlace Makefile.mac --replace \ + " -I/opt/local/include -I /usr/local/include -I/opt/local/include" "" + substituteInPlace Makefile.mac --replace \ + "/usr/local/Cellar/ncurses/6.2/lib/libncurses.dylib" "${ncurses.out}/lib/libncurses.dylib" + ''; buildPhase = lib.optionalString stdenv.hostPlatform.isDarwin "make -f Makefile.mac"; - buildInputs = [ libuuid popt icu ncurses ]; + buildInputs = [ + libuuid + popt + icu + ncurses + ]; installPhase = '' mkdir -p $out/sbin diff --git a/pkgs/by-name/gp/gptman/package.nix b/pkgs/by-name/gp/gptman/package.nix index 484ab05a85f2f..5e227166226ec 100644 --- a/pkgs/by-name/gp/gptman/package.nix +++ b/pkgs/by-name/gp/gptman/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, testers, gptman }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + testers, + gptman, +}: rustPlatform.buildRustPackage rec { pname = "gptman"; @@ -24,7 +32,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "GPT manager that allows you to copy partitions from one disk to another and more"; homepage = "https://github.com/rust-disk-partition-management/gptman"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ akshgpt7 ]; mainProgram = "gptman"; }; diff --git a/pkgs/by-name/gp/gptscript/package.nix b/pkgs/by-name/gp/gptscript/package.nix index 81fc45b2bf90a..4394e97bec616 100644 --- a/pkgs/by-name/gp/gptscript/package.nix +++ b/pkgs/by-name/gp/gptscript/package.nix @@ -18,8 +18,7 @@ buildGoModule rec { vendorHash = "sha256-ajglXWGJhSJtcrbSBmxmriXFTT+Vb4xYq0Ec9SYRlQk="; - propagatedBuildInputs = with darwin; - lib.optionals stdenv.hostPlatform.isDarwin [Security]; + propagatedBuildInputs = with darwin; lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; ldflags = [ "-s" diff --git a/pkgs/by-name/gp/gpu-switch/package.nix b/pkgs/by-name/gp/gpu-switch/package.nix index d6f749aa8f1e3..fc2b8b0eb322b 100644 --- a/pkgs/by-name/gp/gpu-switch/package.nix +++ b/pkgs/by-name/gp/gpu-switch/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "gpu-switch-unstable"; diff --git a/pkgs/by-name/gp/gpustat/package.nix b/pkgs/by-name/gp/gpustat/package.nix index 38e513bd80673..8942b854d26df 100644 --- a/pkgs/by-name/gp/gpustat/package.nix +++ b/pkgs/by-name/gp/gpustat/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, fontconfig -, libGL -, libX11 -, libXcursor -, libXi -, libXrandr -, cmake -, libxkbcommon -, wayland -, makeWrapper +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + fontconfig, + libGL, + libX11, + libXcursor, + libXi, + libXrandr, + cmake, + libxkbcommon, + wayland, + makeWrapper, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gp/gputils/package.nix b/pkgs/by-name/gp/gputils/package.nix index 8050368e0a95a..1fad477342018 100644 --- a/pkgs/by-name/gp/gputils/package.nix +++ b/pkgs/by-name/gp/gputils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "gputils"; diff --git a/pkgs/by-name/gp/gpuvis/package.nix b/pkgs/by-name/gp/gpuvis/package.nix index ad2d36e250214..d6d27ba8944f8 100644 --- a/pkgs/by-name/gp/gpuvis/package.nix +++ b/pkgs/by-name/gp/gpuvis/package.nix @@ -1,13 +1,14 @@ -{ fetchFromGitHub -, freetype -, gtk3 -, lib -, meson -, ninja -, pkg-config -, SDL2 -, stdenv -, wrapGAppsHook3 +{ + fetchFromGitHub, + freetype, + gtk3, + lib, + meson, + ninja, + pkg-config, + SDL2, + stdenv, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -27,9 +28,18 @@ stdenv.mkDerivation rec { --replace "libgtk-3.so" "${lib.getLib gtk3}/lib/libgtk-3.so" ''; - nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + wrapGAppsHook3 + ]; - buildInputs = [ SDL2 gtk3 freetype ]; + buildInputs = [ + SDL2 + gtk3 + freetype + ]; CXXFLAGS = [ # GCC 13: error: 'uint32_t' has not been declared diff --git a/pkgs/by-name/gp/gpx-viewer/package.nix b/pkgs/by-name/gp/gpx-viewer/package.nix index a04cf4ec7c773..12a2d49c10ba7 100644 --- a/pkgs/by-name/gp/gpx-viewer/package.nix +++ b/pkgs/by-name/gp/gpx-viewer/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, libxml2 -, meson -, ninja -, vala -, pkg-config -, adwaita-icon-theme -, libchamplain -, gdl -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libxml2, + meson, + ninja, + vala, + pkg-config, + adwaita-icon-theme, + libchamplain, + gdl, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gp/gpx/package.nix b/pkgs/by-name/gp/gpx/package.nix index 04ebd491c28d9..bc1113b99b20d 100644 --- a/pkgs/by-name/gp/gpx/package.nix +++ b/pkgs/by-name/gp/gpx/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "gpx"; diff --git a/pkgs/by-name/gp/gpython/package.nix b/pkgs/by-name/gp/gpython/package.nix index 731c40a32d17e..2891dd308d863 100644 --- a/pkgs/by-name/gp/gpython/package.nix +++ b/pkgs/by-name/gp/gpython/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, gpython +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gpython, }: buildGoModule rec { diff --git a/pkgs/by-name/gq/gql/package.nix b/pkgs/by-name/gq/gql/package.nix index 903d53dcee8fd..12d24d88ca725 100644 --- a/pkgs/by-name/gq/gql/package.nix +++ b/pkgs/by-name/gq/gql/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, zlib -, cmake +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + zlib, + cmake, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/gq/gqlgenc/package.nix b/pkgs/by-name/gq/gqlgenc/package.nix index 334eb2a178e31..e64a4d70ba8ee 100644 --- a/pkgs/by-name/gq/gqlgenc/package.nix +++ b/pkgs/by-name/gq/gqlgenc/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "gqlgenc"; diff --git a/pkgs/by-name/gq/gqlint/package.nix b/pkgs/by-name/gq/gqlint/package.nix index 18fc0cc624b76..c0d955d7d0724 100644 --- a/pkgs/by-name/gq/gqlint/package.nix +++ b/pkgs/by-name/gq/gqlint/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/gr/grabserial/package.nix b/pkgs/by-name/gr/grabserial/package.nix index e26dcf63f77b7..72ccf1499dbbd 100644 --- a/pkgs/by-name/gr/grabserial/package.nix +++ b/pkgs/by-name/gr/grabserial/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "grabserial"; diff --git a/pkgs/by-name/gr/gradescope-submit/package.nix b/pkgs/by-name/gr/gradescope-submit/package.nix index 54ae4b4583822..8cd424e93907b 100644 --- a/pkgs/by-name/gr/gradescope-submit/package.nix +++ b/pkgs/by-name/gr/gradescope-submit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, ocamlPackages +{ + lib, + fetchFromGitHub, + ocamlPackages, }: ocamlPackages.buildDunePackage rec { diff --git a/pkgs/by-name/gr/gradience/package.nix b/pkgs/by-name/gr/gradience/package.nix index d4b4965aea87b..ebde30fff678e 100644 --- a/pkgs/by-name/gr/gradience/package.nix +++ b/pkgs/by-name/gr/gradience/package.nix @@ -1,23 +1,24 @@ -{ lib -, fetchFromGitHub -, wrapGAppsHook4 -, meson -, ninja -, pkg-config -, glib -, glib-networking -, desktop-file-utils -, gettext -, librsvg -, blueprint-compiler -, python3Packages -, sassc -, appstream-glib -, libadwaita -, libportal -, libportal-gtk4 -, libsoup_3 -, gobject-introspection +{ + lib, + fetchFromGitHub, + wrapGAppsHook4, + meson, + ninja, + pkg-config, + glib, + glib-networking, + desktop-file-utils, + gettext, + librsvg, + blueprint-compiler, + python3Packages, + sassc, + appstream-glib, + libadwaita, + libportal, + libportal-gtk4, + libsoup_3, + gobject-introspection, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/gr/gradm/package.nix b/pkgs/by-name/gr/gradm/package.nix index cd99dfa5db8dc..0197e3ded81c6 100644 --- a/pkgs/by-name/gr/gradm/package.nix +++ b/pkgs/by-name/gr/gradm/package.nix @@ -1,18 +1,25 @@ -{ lib, stdenv, fetchurl -, bison, flex -, pam +{ + lib, + stdenv, + fetchurl, + bison, + flex, + pam, }: stdenv.mkDerivation rec { pname = "gradm"; version = "3.1-202102241600"; - src = fetchurl { - url = "https://grsecurity.net/stable/${pname}-${version}.tar.gz"; + src = fetchurl { + url = "https://grsecurity.net/stable/${pname}-${version}.tar.gz"; sha256 = "02ni34hpggv00140p9gvh0lqi173zdddd2qhfi96hyr1axd5pl50"; }; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; buildInputs = [ pam ]; enableParallelBuilding = true; @@ -43,9 +50,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "grsecurity RBAC administration and policy analysis utility"; - homepage = "https://grsecurity.net"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice joachifm ]; + homepage = "https://grsecurity.net"; + license = licenses.gpl2Only; + platforms = platforms.linux; + maintainers = with maintainers; [ + thoughtpolice + joachifm + ]; }; } diff --git a/pkgs/by-name/gr/grafana-alloy/package.nix b/pkgs/by-name/gr/grafana-alloy/package.nix index 81c59954c8de9..16a21ba11e058 100644 --- a/pkgs/by-name/gr/grafana-alloy/package.nix +++ b/pkgs/by-name/gr/grafana-alloy/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, buildGoModule -, systemd -, yarn -, fixup-yarn-lock -, nodejs -, grafana-alloy -, nixosTests -, nix-update-script -, installShellFiles -, testers +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + buildGoModule, + systemd, + yarn, + fixup-yarn-lock, + nodejs, + grafana-alloy, + nixosTests, + nix-update-script, + installShellFiles, + testers, }: buildGoModule rec { @@ -28,7 +29,12 @@ buildGoModule rec { proxyVendor = true; vendorHash = "sha256-mh51vVHWq14UgfB45/HTE8Z/9t41atgoSJRPUb4jZd4="; - nativeBuildInputs = [ fixup-yarn-lock yarn nodejs installShellFiles ]; + nativeBuildInputs = [ + fixup-yarn-lock + yarn + nodejs + installShellFiles + ]; ldflags = let @@ -56,9 +62,11 @@ buildGoModule rec { ]; # Skip building the frontend in the goModules FOD - overrideModAttrs = (_: { - preBuild = null; - }); + overrideModAttrs = ( + _: { + preBuild = null; + } + ); yarnOfflineCache = fetchYarnDeps { yarnLock = "${src}/internal/web/ui/yarn.lock"; @@ -84,7 +92,9 @@ buildGoModule rec { # uses go-systemd, which uses libsystemd headers # https://github.com/coreos/go-systemd/issues/351 - NIX_CFLAGS_COMPILE = lib.optionals stdenv.hostPlatform.isLinux [ "-I${lib.getDev systemd}/include" ]; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.hostPlatform.isLinux [ + "-I${lib.getDev systemd}/include" + ]; checkFlags = [ "-tags nonetwork" # disable network tests @@ -96,7 +106,9 @@ buildGoModule rec { # Add to RUNPATH so it can be found. postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf \ - --set-rpath "${lib.makeLibraryPath [ (lib.getLib systemd) ]}:$(patchelf --print-rpath $out/bin/alloy)" \ + --set-rpath "${ + lib.makeLibraryPath [ (lib.getLib systemd) ] + }:$(patchelf --print-rpath $out/bin/alloy)" \ $out/bin/alloy ''; @@ -126,7 +138,12 @@ buildGoModule rec { license = licenses.asl20; homepage = "https://grafana.com/oss/alloy"; changelog = "https://github.com/grafana/alloy/blob/${src.rev}/CHANGELOG.md"; - maintainers = with maintainers; [ azahi flokli emilylange hbjydev ]; + maintainers = with maintainers; [ + azahi + flokli + emilylange + hbjydev + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/gr/grafana-dash-n-grab/package.nix b/pkgs/by-name/gr/grafana-dash-n-grab/package.nix index c97036f71bc85..a7a2c108a56f6 100644 --- a/pkgs/by-name/gr/grafana-dash-n-grab/package.nix +++ b/pkgs/by-name/gr/grafana-dash-n-grab/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "grafana-dash-n-grab"; @@ -30,7 +34,6 @@ buildGoModule rec { homepage = "https://github.com/esnet/gdg"; maintainers = with maintainers; teams.bitnomial.members; mainProgram = "gdg"; - changelog = - "https://github.com/esnet/gdg/releases/tag/v${version}"; + changelog = "https://github.com/esnet/gdg/releases/tag/v${version}"; }; } diff --git a/pkgs/by-name/gr/grafana-image-renderer/package.nix b/pkgs/by-name/gr/grafana-image-renderer/package.nix index 833553b24e208..03baafa0a9756 100644 --- a/pkgs/by-name/gr/grafana-image-renderer/package.nix +++ b/pkgs/by-name/gr/grafana-image-renderer/package.nix @@ -1,4 +1,11 @@ -{ lib, mkYarnPackage, fetchFromGitHub, fetchYarnDeps, nodejs, runtimeShell }: +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, + nodejs, + runtimeShell, +}: # Notes for the upgrade: # * Download the tarball of the new version to use. diff --git a/pkgs/by-name/gr/grafana-kiosk/package.nix b/pkgs/by-name/gr/grafana-kiosk/package.nix index 39a26d95056a7..57913244e940b 100644 --- a/pkgs/by-name/gr/grafana-kiosk/package.nix +++ b/pkgs/by-name/gr/grafana-kiosk/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, chromium, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + chromium, + makeWrapper, +}: buildGoModule rec { pname = "grafana-kiosk"; diff --git a/pkgs/by-name/gr/grafterm/package.nix b/pkgs/by-name/gr/grafterm/package.nix index a15ab6e5ed0ff..f0b698397e95e 100644 --- a/pkgs/by-name/gr/grafterm/package.nix +++ b/pkgs/by-name/gr/grafterm/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-veg5B68AQhkSZg8YA/e4FbqJNG0YGwnUQFsAdscz0QI="; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; meta = with lib; { description = "Command-line tool for rendering metrics dashboards inspired by Grafana"; diff --git a/pkgs/by-name/gr/grafx2/package.nix b/pkgs/by-name/gr/grafx2/package.nix index fa80fe718ce4f..a36fe379bfa42 100644 --- a/pkgs/by-name/gr/grafx2/package.nix +++ b/pkgs/by-name/gr/grafx2/package.nix @@ -1,23 +1,27 @@ -{ lib -, stdenv -, fetchurl -, SDL -, SDL_image -, SDL_ttf -, installShellFiles -, fontconfig -, libpng -, libtiff -, lua5 -, pkg-config -, zlib +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_image, + SDL_ttf, + installShellFiles, + fontconfig, + libpng, + libtiff, + lua5, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { pname = "grafx2"; version = "2.8.3091"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchurl { name = "grafx2-${finalAttrs.version}.tar.gz"; @@ -49,7 +53,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = false; # Why?? makeFlags = [ "-C src" ]; - installFlags = [ "-C src" "PREFIX=$(out)" ]; + installFlags = [ + "-C src" + "PREFIX=$(out)" + ]; postInstall = '' installManPage misc/unix/grafx2.1 diff --git a/pkgs/by-name/gr/grail/package.nix b/pkgs/by-name/gr/grail/package.nix index b11ec3a9f5c3d..85e61cbc70313 100644 --- a/pkgs/by-name/gr/grail/package.nix +++ b/pkgs/by-name/gr/grail/package.nix @@ -1,5 +1,13 @@ -{ enableX11 ? true, - lib, stdenv, fetchurl, pkg-config, xorg, python3, frame }: +{ + enableX11 ? true, + lib, + stdenv, + fetchurl, + pkg-config, + xorg, + python3, + frame, +}: stdenv.mkDerivation rec { pname = "grail"; @@ -11,8 +19,18 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ python3 frame ] - ++ lib.optionals enableX11 [xorg.libX11 xorg.libXtst xorg.libXext xorg.libXi xorg.libXfixes]; + buildInputs = + [ + python3 + frame + ] + ++ lib.optionals enableX11 [ + xorg.libX11 + xorg.libXtst + xorg.libXext + xorg.libXi + xorg.libXfixes + ]; configureFlags = lib.optional enableX11 "--with-x11"; diff --git a/pkgs/by-name/gr/grandperspective/package.nix b/pkgs/by-name/gr/grandperspective/package.nix index 816440ec1155e..3c56cfb8bb291 100644 --- a/pkgs/by-name/gr/grandperspective/package.nix +++ b/pkgs/by-name/gr/grandperspective/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, undmg, makeWrapper }: +{ + stdenv, + lib, + fetchurl, + undmg, + makeWrapper, +}: stdenv.mkDerivation (finalAttrs: { version = "3.4.2"; @@ -6,7 +12,9 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { inherit (finalAttrs) version; - url = "mirror://sourceforge/grandperspectiv/GrandPerspective-${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}.dmg"; + url = "mirror://sourceforge/grandperspectiv/GrandPerspective-${ + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }.dmg"; hash = "sha256-ZgyBeQCoixLGCFS8+UFoMilvtswplEC8MzK3BE4ocDg="; }; diff --git a/pkgs/by-name/gr/graph-cli/package.nix b/pkgs/by-name/gr/graph-cli/package.nix index ebddd548bed0e..e7f722b59052d 100644 --- a/pkgs/by-name/gr/graph-cli/package.nix +++ b/pkgs/by-name/gr/graph-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchPypi -, qt5 +{ + lib, + python3Packages, + fetchPypi, + qt5, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/gr/graph-easy/package.nix b/pkgs/by-name/gr/graph-easy/package.nix index 668c7527e9e4f..b9545c8ecd2fe 100644 --- a/pkgs/by-name/gr/graph-easy/package.nix +++ b/pkgs/by-name/gr/graph-easy/package.nix @@ -1,4 +1,8 @@ -{ lib, perlPackages, fetchurl }: +{ + lib, + perlPackages, + fetchurl, +}: perlPackages.buildPerlPackage { pname = "graph-easy"; diff --git a/pkgs/by-name/gr/graphene-hardened-malloc/package.nix b/pkgs/by-name/gr/graphene-hardened-malloc/package.nix index 5759f7ef20944..f44cc7f4485e0 100644 --- a/pkgs/by-name/gr/graphene-hardened-malloc/package.nix +++ b/pkgs/by-name/gr/graphene-hardened-malloc/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, makeWrapper -, python3 -, runCommand -, stdenv -, stress-ng +{ + fetchFromGitHub, + lib, + makeWrapper, + python3, + runCommand, + stdenv, + stress-ng, }: stdenv.mkDerivation (finalAttrs: { @@ -104,6 +105,9 @@ stdenv.mkDerivation (finalAttrs: { ''; license = licenses.mit; maintainers = with maintainers; [ ris ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; }) diff --git a/pkgs/by-name/gr/graphene/package.nix b/pkgs/by-name/gr/graphene/package.nix index 803f31efa47a0..20ad68fb42b3a 100644 --- a/pkgs/by-name/gr/graphene/package.nix +++ b/pkgs/by-name/gr/graphene/package.nix @@ -1,32 +1,41 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, nix-update-script -, pkg-config -, meson -, mesonEmulatorHook -, ninja -, python3 -, mutest -, nixosTests -, glib -, withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform || stdenv.hostPlatform.emulatorAvailable buildPackages -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_43 -, buildPackages -, gobject-introspection -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, makeWrapper -, testers +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + nix-update-script, + pkg-config, + meson, + mesonEmulatorHook, + ninja, + python3, + mutest, + nixosTests, + glib, + withDocumentation ? + stdenv.buildPlatform.canExecute stdenv.hostPlatform + || stdenv.hostPlatform.emulatorAvailable buildPackages, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_43, + buildPackages, + gobject-introspection, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + makeWrapper, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "graphene"; version = "1.10.8"; - outputs = [ "out" "dev" ] + outputs = + [ + "out" + "dev" + ] ++ lib.optionals withDocumentation [ "devdoc" ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ "installedTests" ]; @@ -55,21 +64,25 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - makeWrapper - ] ++ lib.optionals withDocumentation [ - docbook_xml_dtd_43 - docbook_xsl - gtk-doc - ] ++ lib.optionals (withDocumentation && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ] ++ lib.optionals withIntrospection [ - gobject-introspection - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + python3 + makeWrapper + ] + ++ lib.optionals withDocumentation [ + docbook_xml_dtd_43 + docbook_xsl + gtk-doc + ] + ++ lib.optionals (withDocumentation && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + ]; buildInputs = [ glib @@ -79,33 +92,49 @@ stdenv.mkDerivation (finalAttrs: { mutest ]; - mesonFlags = [ - (lib.mesonBool "gtk_doc" withDocumentation) - (lib.mesonEnable "introspection" withIntrospection) - "-Dinstalled_test_datadir=${placeholder "installedTests"}/share" - "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec" - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - # the box test is failing with SIGBUS on armv7l-linux - # https://github.com/ebassi/graphene/issues/215 - "-Darm_neon=false" - ]; + mesonFlags = + [ + (lib.mesonBool "gtk_doc" withDocumentation) + (lib.mesonEnable "introspection" withIntrospection) + "-Dinstalled_test_datadir=${placeholder "installedTests"}/share" + "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + # the box test is failing with SIGBUS on armv7l-linux + # https://github.com/ebassi/graphene/issues/215 + "-Darm_neon=false" + ]; doCheck = true; - postPatch = '' - patchShebangs tests/gen-installed-test.py - '' + lib.optionalString withIntrospection '' - PATH=${python3.withPackages (pp: [ pp.pygobject3 pp.tappy ])}/bin:$PATH patchShebangs tests/introspection.py - ''; - - postFixup = let - introspectionPy = "${placeholder "installedTests"}/libexec/installed-tests/graphene-1.0/introspection.py"; - in lib.optionalString withIntrospection '' - if [ -x '${introspectionPy}' ] ; then - wrapProgram '${introspectionPy}' \ - --prefix GI_TYPELIB_PATH : "${lib.makeSearchPath "lib/girepository-1.0" [ glib.out (placeholder "out") ]}" - fi - ''; + postPatch = + '' + patchShebangs tests/gen-installed-test.py + '' + + lib.optionalString withIntrospection '' + PATH=${ + python3.withPackages (pp: [ + pp.pygobject3 + pp.tappy + ]) + }/bin:$PATH patchShebangs tests/introspection.py + ''; + + postFixup = + let + introspectionPy = "${placeholder "installedTests"}/libexec/installed-tests/graphene-1.0/introspection.py"; + in + lib.optionalString withIntrospection '' + if [ -x '${introspectionPy}' ] ; then + wrapProgram '${introspectionPy}' \ + --prefix GI_TYPELIB_PATH : "${ + lib.makeSearchPath "lib/girepository-1.0" [ + glib.out + (placeholder "out") + ] + }" + fi + ''; passthru = { tests = { @@ -124,6 +153,9 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.mit; maintainers = teams.gnome.members ++ (with maintainers; [ ]); platforms = platforms.unix; - pkgConfigModules = [ "graphene-1.0" "graphene-gobject-1.0" ]; + pkgConfigModules = [ + "graphene-1.0" + "graphene-gobject-1.0" + ]; }; }) diff --git a/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix b/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix index 4d25a2aa0e112..7683397b36920 100644 --- a/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix +++ b/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix @@ -1,46 +1,52 @@ -{ lib -, graphicsmagick -, stdenvNoCC +{ + lib, + graphicsmagick, + stdenvNoCC, }: stdenvNoCC.mkDerivation { pname = "graphicsmagick-imagemagick-compat"; inherit (graphicsmagick) version; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; dontUnpack = true; dontBuild = true; # TODO: symlink libraries? - installPhase = let - utilities = [ - "animate" - "composite" - "conjure" - "convert" - "display" - "identify" - "import" - "mogrify" - "montage" - ]; - linkUtilityBin = utility: '' - ln -s ${lib.getExe graphicsmagick} "$out/bin/${utility}" - ''; - linkUtilityMan = utility: '' - ln -s ${lib.getMan graphicsmagick}/share/man/man1/gm.1.gz "$man/share/man/man1/${utility}.1.gz" - ''; - in '' - runHook preInstall + installPhase = + let + utilities = [ + "animate" + "composite" + "conjure" + "convert" + "display" + "identify" + "import" + "mogrify" + "montage" + ]; + linkUtilityBin = utility: '' + ln -s ${lib.getExe graphicsmagick} "$out/bin/${utility}" + ''; + linkUtilityMan = utility: '' + ln -s ${lib.getMan graphicsmagick}/share/man/man1/gm.1.gz "$man/share/man/man1/${utility}.1.gz" + ''; + in + '' + runHook preInstall - mkdir -p "$out"/bin - ${lib.concatStringsSep "\n" (map linkUtilityBin utilities)} - mkdir -p "$man"/share/man/man1 - ${lib.concatStringsSep "\n" (map linkUtilityMan utilities)} + mkdir -p "$out"/bin + ${lib.concatStringsSep "\n" (map linkUtilityBin utilities)} + mkdir -p "$man"/share/man/man1 + ${lib.concatStringsSep "\n" (map linkUtilityMan utilities)} - runHook postInstall - ''; + runHook postInstall + ''; meta = graphicsmagick.meta // { description = "Repack of GraphicsMagick that provides compatibility with ImageMagick interfaces"; diff --git a/pkgs/by-name/gr/graphicsmagick/package.nix b/pkgs/by-name/gr/graphicsmagick/package.nix index e0da1257fe14a..ffde1a9527451 100644 --- a/pkgs/by-name/gr/graphicsmagick/package.nix +++ b/pkgs/by-name/gr/graphicsmagick/package.nix @@ -1,27 +1,29 @@ -{ lib -, bzip2 -, callPackage -, coreutils -, fetchurl -, fixDarwinDylibNames -, freetype -, ghostscript -, graphviz -, libX11 -, libjpeg -, libpng -, libtiff -, libtool -, libwebp -, libxml2 -, libheifSupport ? true, libheif -, nukeReferences -, pkg-config -, quantumdepth ? 8 -, runCommand -, stdenv -, xz -, zlib +{ + lib, + bzip2, + callPackage, + coreutils, + fetchurl, + fixDarwinDylibNames, + freetype, + ghostscript, + graphviz, + libX11, + libjpeg, + libpng, + libtiff, + libtool, + libwebp, + libxml2, + libheifSupport ? true, + libheif, + nukeReferences, + pkg-config, + quantumdepth ? 8, + runCommand, + stdenv, + xz, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -33,7 +35,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-3OpRZ0FPfIBVV94tekepsxR7y/YXuR9fD0r+XmVDAms="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; buildInputs = [ bzip2 @@ -82,11 +87,14 @@ stdenv.mkDerivation (finalAttrs: { graphicsmagick = finalAttrs.finalPackage; }; tests = { - issue-157920 = runCommand "issue-157920-regression-test" { - buildInputs = [ finalAttrs.finalPackage ]; - } '' - gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out - ''; + issue-157920 = + runCommand "issue-157920-regression-test" + { + buildInputs = [ finalAttrs.finalPackage ]; + } + '' + gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out + ''; }; }; diff --git a/pkgs/by-name/gr/graphinder/package.nix b/pkgs/by-name/gr/graphinder/package.nix index 541e7ab3189d7..2aed25920bd45 100644 --- a/pkgs/by-name/gr/graphinder/package.nix +++ b/pkgs/by-name/gr/graphinder/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gr/graphite-cli/package.nix b/pkgs/by-name/gr/graphite-cli/package.nix index 242a8b2b47778..8066ec5321edf 100644 --- a/pkgs/by-name/gr/graphite-cli/package.nix +++ b/pkgs/by-name/gr/graphite-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchurl -, git -, installShellFiles +{ + lib, + buildNpmPackage, + fetchurl, + git, + installShellFiles, }: buildNpmPackage rec { diff --git a/pkgs/by-name/gr/graphite-cursors/package.nix b/pkgs/by-name/gr/graphite-cursors/package.nix index b64e7567b25f1..f0dac31689d4e 100644 --- a/pkgs/by-name/gr/graphite-cursors/package.nix +++ b/pkgs/by-name/gr/graphite-cursors/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gr/graphite-gtk-theme/package.nix b/pkgs/by-name/gr/graphite-gtk-theme/package.nix index e0edd1f76d928..1cfef4fcfaaf1 100644 --- a/pkgs/by-name/gr/graphite-gtk-theme/package.nix +++ b/pkgs/by-name/gr/graphite-gtk-theme/package.nix @@ -1,98 +1,133 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, gnome-themes-extra -, gtk-engine-murrine -, jdupes -, sassc -, themeVariants ? [] # default: blue -, colorVariants ? [] # default: all -, sizeVariants ? [] # default: standard -, tweaks ? [] -, wallpapers ? false -, withGrub ? false -, grubScreens ? [] # default: 1080p +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + gnome-themes-extra, + gtk-engine-murrine, + jdupes, + sassc, + themeVariants ? [ ], # default: blue + colorVariants ? [ ], # default: all + sizeVariants ? [ ], # default: standard + tweaks ? [ ], + wallpapers ? false, + withGrub ? false, + grubScreens ? [ ], # default: 1080p }: let pname = "graphite-gtk-theme"; in -lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "blue" "all" ] themeVariants -lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants -lib.checkListOfEnum "${pname}: tweaks" [ "nord" "black" "darker" "rimless" "normal" "float" "colorful" ] tweaks -lib.checkListOfEnum "${pname}: grub screens" [ "1080p" "2k" "4k" ] grubScreens - -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-07-15"; - - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-k93l/7DF0HSKPfiIxzBLz0mBflgbdYJyGLEmWZx3q7o="; - }; - - nativeBuildInputs = [ - jdupes - sassc - ]; - - buildInputs = [ - gnome-themes-extra - ]; - - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; - - installPhase = '' - runHook preInstall - - patchShebangs install.sh - - name= ./install.sh \ - ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (sizeVariants != []) "--size " + builtins.toString sizeVariants} \ - ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \ - --dest $out/share/themes - - ${lib.optionalString wallpapers '' - mkdir -p $out/share/backgrounds - cp -a wallpaper/Graphite/*.png $out/share/backgrounds/ - ${lib.optionalString (builtins.elem "nord" tweaks) '' - cp -a wallpaper/Graphite-nord/*.png $out/share/backgrounds/ +lib.checkListOfEnum "${pname}: theme variants" + [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "teal" + "blue" + "all" + ] + themeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ "standard" "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: size variants" + [ "standard" "compact" ] + sizeVariants + lib.checkListOfEnum + "${pname}: tweaks" + [ + "nord" + "black" + "darker" + "rimless" + "normal" + "float" + "colorful" + ] + tweaks + lib.checkListOfEnum + "${pname}: grub screens" + [ "1080p" "2k" "4k" ] + grubScreens + + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-07-15"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-k93l/7DF0HSKPfiIxzBLz0mBflgbdYJyGLEmWZx3q7o="; + }; + + nativeBuildInputs = [ + jdupes + sassc + ]; + + buildInputs = [ + gnome-themes-extra + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + + patchShebangs install.sh + + name= ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "--size " + builtins.toString sizeVariants} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes + + ${lib.optionalString wallpapers '' + mkdir -p $out/share/backgrounds + cp -a wallpaper/Graphite/*.png $out/share/backgrounds/ + ${lib.optionalString (builtins.elem "nord" tweaks) '' + cp -a wallpaper/Graphite-nord/*.png $out/share/backgrounds/ + ''} ''} - ''} - ${lib.optionalString withGrub '' - ( - cd other/grub2 + ${lib.optionalString withGrub '' + ( + cd other/grub2 - patchShebangs install.sh + patchShebangs install.sh - ./install.sh --justcopy --dest $out/share/grub/themes \ - ${lib.optionalString (builtins.elem "nord" tweaks) "--theme nord"} \ - ${lib.optionalString (grubScreens != []) "--screen " + builtins.toString grubScreens} - ) - ''} + ./install.sh --justcopy --dest $out/share/grub/themes \ + ${lib.optionalString (builtins.elem "nord" tweaks) "--theme nord"} \ + ${lib.optionalString (grubScreens != [ ]) "--screen " + builtins.toString grubScreens} + ) + ''} - jdupes --quiet --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { }; - meta = with lib; { - description = "Flat Gtk+ theme based on Elegant Design"; - homepage = "https://github.com/vinceliuice/Graphite-gtk-theme"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} + meta = with lib; { + description = "Flat Gtk+ theme based on Elegant Design"; + homepage = "https://github.com/vinceliuice/Graphite-gtk-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/gr/graphqlmap/package.nix b/pkgs/by-name/gr/graphqlmap/package.nix index a2c0904b4a983..28362e2daacc2 100644 --- a/pkgs/by-name/gr/graphqlmap/package.nix +++ b/pkgs/by-name/gr/graphqlmap/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gr/graphs/package.nix b/pkgs/by-name/gr/graphs/package.nix index 3244e46d580ea..2d2d5cc69d898 100644 --- a/pkgs/by-name/gr/graphs/package.nix +++ b/pkgs/by-name/gr/graphs/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gr/graphwar/package.nix b/pkgs/by-name/gr/graphwar/package.nix index ac177281fa07b..69df9ab0655bf 100644 --- a/pkgs/by-name/gr/graphwar/package.nix +++ b/pkgs/by-name/gr/graphwar/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, copyDesktopItems -, jdk -, makeDesktopItem -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + copyDesktopItems, + jdk, + makeDesktopItem, + makeWrapper, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-t3Y576dXWp2Mj6OSQN5cm9FuNBWNqKq6xxkVRbjIBgE="; }; - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; buildInputs = [ jdk ]; buildPhase = '' diff --git a/pkgs/by-name/gr/graplang/package.nix b/pkgs/by-name/gr/graplang/package.nix index aa0a74da382f3..af6dc1a030ad2 100644 --- a/pkgs/by-name/gr/graplang/package.nix +++ b/pkgs/by-name/gr/graplang/package.nix @@ -1,22 +1,29 @@ -{ lib -, stdenv -, fetchurl -, flex -, bison +{ + lib, + stdenv, + fetchurl, + flex, + bison, }: stdenv.mkDerivation (finalAttrs: { pname = "graplang"; version = "1.46"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchurl { url = "https://www.lunabase.org/~faber/Vault/software/grap/grap-${finalAttrs.version}.tar.gz"; hash = "sha512-7n+jLANU/x+wGrpjwYAnf45fQ5M91SwraiCbvUKe6XhWtilhGoT2yTlLkPlTihETTkizLyssW5gj5gbwNHaooA=="; }; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ + flex + bison + ]; meta = with lib; { description = "Language for typesetting graphs"; diff --git a/pkgs/by-name/gr/grass-sass/package.nix b/pkgs/by-name/gr/grass-sass/package.nix index eae322e03f857..058afa2d1130c 100644 --- a/pkgs/by-name/gr/grass-sass/package.nix +++ b/pkgs/by-name/gr/grass-sass/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,9 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Sass compiler written purely in Rust"; homepage = "https://github.com/connorskees/grass"; - changelog = "https://github.com/connorskees/grass/blob/master/CHANGELOG.md#${replaceStrings [ "." ] [ "" ] version}"; + changelog = "https://github.com/connorskees/grass/blob/master/CHANGELOG.md#${ + replaceStrings [ "." ] [ "" ] version + }"; license = licenses.mit; maintainers = with maintainers; [ figsoda ]; mainProgram = "grass"; diff --git a/pkgs/by-name/gr/gravit/package.nix b/pkgs/by-name/gr/gravit/package.nix index b734ea9750dcc..3a2ce48175300 100644 --- a/pkgs/by-name/gr/gravit/package.nix +++ b/pkgs/by-name/gr/gravit/package.nix @@ -1,4 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake, mesa }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + SDL, + SDL_ttf, + SDL_image, + libSM, + libICE, + libGLU, + libGL, + libpng, + lua5, + autoconf, + automake, + mesa, +}: stdenv.mkDerivation rec { pname = "gravit"; @@ -21,9 +38,22 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image lua5 libpng libSM libICE ]; + buildInputs = [ + libGLU + libGL + SDL + SDL_ttf + SDL_image + lua5 + libpng + libSM + libICE + ]; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; preConfigure = '' ./autogen.sh diff --git a/pkgs/by-name/gr/grb/package.nix b/pkgs/by-name/gr/grb/package.nix index 48caa482bb753..ab55e98dff5e2 100644 --- a/pkgs/by-name/gr/grb/package.nix +++ b/pkgs/by-name/gr/grb/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "grb"; diff --git a/pkgs/by-name/gr/grepcidr/package.nix b/pkgs/by-name/gr/grepcidr/package.nix index 231718c810eef..a5083c4141946 100644 --- a/pkgs/by-name/gr/grepcidr/package.nix +++ b/pkgs/by-name/gr/grepcidr/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "grepcidr"; diff --git a/pkgs/by-name/gr/grepm/package.nix b/pkgs/by-name/gr/grepm/package.nix index c3adbb2ab8b05..6c6ed863cce6d 100644 --- a/pkgs/by-name/gr/grepm/package.nix +++ b/pkgs/by-name/gr/grepm/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perlPackages, mutt }: +{ + lib, + stdenv, + fetchurl, + perlPackages, + mutt, +}: stdenv.mkDerivation { pname = "grepm"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { dontUnpack = true; - buildInputs = [ perlPackages.grepmail mutt ]; + buildInputs = [ + perlPackages.grepmail + mutt + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/gr/gridlock/package.nix b/pkgs/by-name/gr/gridlock/package.nix index ddfa9ee9831f0..78a1c4877f97c 100644 --- a/pkgs/by-name/gr/gridlock/package.nix +++ b/pkgs/by-name/gr/gridlock/package.nix @@ -1,17 +1,21 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage { pname = "gridlock"; version = "unstable-2023-08-29"; - outputs = [ "out" "nyarr" ]; + outputs = [ + "out" + "nyarr" + ]; src = fetchFromGitHub { owner = "lf-"; @@ -26,11 +30,13 @@ rustPlatform.buildRustPackage { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; postInstall = '' moveToOutput bin/nyarr $nyarr diff --git a/pkgs/by-name/gr/gridtracker/package.nix b/pkgs/by-name/gr/gridtracker/package.nix index 688db3fee1d92..dff08d4d8767e 100644 --- a/pkgs/by-name/gr/gridtracker/package.nix +++ b/pkgs/by-name/gr/gridtracker/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, nix-update-script, nwjs, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitLab, + nix-update-script, + nwjs, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "gridtracker"; @@ -23,7 +30,10 @@ stdenv.mkDerivation rec { --replace "/usr/share/gridtracker/gridview.png" "$out/share/gridtracker/gridview.png" ''; - makeFlags = [ "DESTDIR=$(out)" "NO_DIST_INSTALL=1" ]; + makeFlags = [ + "DESTDIR=$(out)" + "NO_DIST_INSTALL=1" + ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/gr/grig/package.nix b/pkgs/by-name/gr/grig/package.nix index fa3e915ba3acf..189eaeaa36390 100644 --- a/pkgs/by-name/gr/grig/package.nix +++ b/pkgs/by-name/gr/grig/package.nix @@ -1,11 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, wrapGAppsHook3 -, gtk2 -, hamlib_4 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + wrapGAppsHook3, + gtk2, + hamlib_4, +}: stdenv.mkDerivation rec { pname = "grig"; @@ -14,12 +16,19 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "fillods"; repo = "grig"; - rev = "GRIG-${lib.replaceStrings ["."] ["_"] version}"; + rev = "GRIG-${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-OgIgHW9NMW/xSSti3naIR8AQWUtNSv5bYdOcObStBlM="; }; - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook3 ]; - buildInputs = [ hamlib_4 gtk2 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + hamlib_4 + gtk2 + ]; meta = with lib; { description = "Simple Ham Radio control (CAT) program based on Hamlib"; diff --git a/pkgs/by-name/gr/grilo-plugins/package.nix b/pkgs/by-name/gr/grilo-plugins/package.nix index 4f3560fbd1c29..d2837d186a052 100644 --- a/pkgs/by-name/gr/grilo-plugins/package.nix +++ b/pkgs/by-name/gr/grilo-plugins/package.nix @@ -1,32 +1,34 @@ -{ lib, stdenv -, fetchurl -, substituteAll -, meson -, ninja -, pkg-config -, gettext -, gperf -, glib -, sqlite -, libarchive -, libdmapsharing -, libsoup_3 -, gnome -, libxml2 -, lua5_4 -, liboauth -, libmediaart -, grilo -, gst_all_1 -, gnome-online-accounts -, gmime -, gom -, json-glib -, avahi -, tinysparql -, dleyna-server -, itstool -, totem-pl-parser +{ + lib, + stdenv, + fetchurl, + substituteAll, + meson, + ninja, + pkg-config, + gettext, + gperf, + glib, + sqlite, + libarchive, + libdmapsharing, + libsoup_3, + gnome, + libxml2, + lua5_4, + liboauth, + libmediaart, + grilo, + gst_all_1, + gnome-online-accounts, + gmime, + gom, + json-glib, + avahi, + tinysparql, + dleyna-server, + itstool, + totem-pl-parser, }: stdenv.mkDerivation rec { @@ -45,11 +47,17 @@ stdenv.mkDerivation rec { # * chromaprint (gst-plugins-bad) (substituteAll { src = ./chromaprint-gst-plugins.patch; - load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-bad - ]); + load_plugins = + lib.concatMapStrings + (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') + ( + with gst_all_1; + [ + gstreamer + gst-plugins-base + gst-plugins-bad + ] + ); }) ]; diff --git a/pkgs/by-name/gr/grilo/package.nix b/pkgs/by-name/gr/grilo/package.nix index 06b524579ac42..44e42f772c717 100644 --- a/pkgs/by-name/gr/grilo/package.nix +++ b/pkgs/by-name/gr/grilo/package.nix @@ -1,31 +1,37 @@ -{ stdenv -, lib -, fetchurl -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, python3 -, gettext -, vala -, glib -, liboauth -, gtk3 -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, libxml2 -, gnome -, gobject-introspection -, libsoup_3 -, totem-pl-parser +{ + stdenv, + lib, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + python3, + gettext, + vala, + glib, + liboauth, + gtk3, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + libxml2, + gnome, + gobject-introspection, + libsoup_3, + totem-pl-parser, }: stdenv.mkDerivation rec { pname = "grilo"; version = "0.3.16"; # if you change minor, also change ./setup-hook.sh - outputs = [ "out" "dev" "man" "devdoc" ]; + outputs = [ + "out" + "dev" + "man" + "devdoc" + ]; outputBin = "dev"; setupHook = ./setup-hook.sh; @@ -39,20 +45,22 @@ stdenv.mkDerivation rec { "-Denable-gtk-doc=true" ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - gettext - gobject-introspection - vala - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + python3 + gettext + gobject-introspection + vala + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/gr/grimblast/package.nix b/pkgs/by-name/gr/grimblast/package.nix index dce239d1cb59f..9c2250042009f 100644 --- a/pkgs/by-name/gr/grimblast/package.nix +++ b/pkgs/by-name/gr/grimblast/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, makeWrapper -, scdoc -, coreutils -, grim -, hyprland -, hyprpicker -, jq -, libnotify -, slurp -, wl-clipboard -, bash +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + scdoc, + coreutils, + grim, + hyprland, + hyprpicker, + jq, + libnotify, + slurp, + wl-clipboard, + bash, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -42,16 +43,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { postInstall = '' wrapProgram $out/bin/grimblast --prefix PATH ':' \ - "${lib.makeBinPath [ - coreutils - grim - hyprland - hyprpicker - jq - libnotify - slurp - wl-clipboard - ]}" + "${ + lib.makeBinPath [ + coreutils + grim + hyprland + hyprpicker + jq + libnotify + slurp + wl-clipboard + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/gr/grip-search/package.nix b/pkgs/by-name/gr/grip-search/package.nix index dd272af06bf3a..5b9b622d929ad 100644 --- a/pkgs/by-name/gr/grip-search/package.nix +++ b/pkgs/by-name/gr/grip-search/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, boost, pkg-config, cmake, catch2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + boost, + pkg-config, + cmake, + catch2, +}: stdenv.mkDerivation rec { pname = "grip-search"; @@ -11,7 +20,11 @@ stdenv.mkDerivation rec { sha256 = "0bkqarylgzhis6fpj48qbifcd6a26cgnq8784hgnm707rq9kb0rx"; }; - nativeBuildInputs = [ pkg-config cmake catch2 ]; + nativeBuildInputs = [ + pkg-config + cmake + catch2 + ]; doCheck = true; diff --git a/pkgs/by-name/gr/grip/package.nix b/pkgs/by-name/gr/grip/package.nix index f993cb387b74a..eb11b33b668ee 100644 --- a/pkgs/by-name/gr/grip/package.nix +++ b/pkgs/by-name/gr/grip/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, gtk2 -, pkg-config -, curl -, cdparanoia -, libid3tag -, libtool +{ + lib, + stdenv, + fetchurl, + gtk2, + pkg-config, + curl, + cdparanoia, + libid3tag, + libtool, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-lXu0mLLfcX8K1EmoFH0vp2cHluyRwhTL0/bW5Ax36mI="; }; - nativeBuildInputs = [ pkg-config libtool ]; + nativeBuildInputs = [ + pkg-config + libtool + ]; buildInputs = [ gtk2 curl diff --git a/pkgs/by-name/gr/grit/package.nix b/pkgs/by-name/gr/grit/package.nix index d9cffca07f0cf..cdf1aca545f19 100644 --- a/pkgs/by-name/gr/grit/package.nix +++ b/pkgs/by-name/gr/grit/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, buildGoModule, fetchFromGitHub }: +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "grit"; diff --git a/pkgs/by-name/gr/grive2/package.nix b/pkgs/by-name/gr/grive2/package.nix index 9f6ea5acea152..c5e2b90c43906 100644 --- a/pkgs/by-name/gr/grive2/package.nix +++ b/pkgs/by-name/gr/grive2/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, pkg-config -, yajl -, cmake -, libgcrypt -, curl -, expat -, boost -, libiberty +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + yajl, + cmake, + libgcrypt, + curl, + expat, + boost, + libiberty, }: stdenv.mkDerivation rec { @@ -19,7 +20,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "vitalif"; repo = "grive2"; - rev = "v${version}"; + rev = "v${version}"; sha256 = "sha256-P6gitA5cXfNbNDy4ohRLyXj/5dUXkCkOdE/9rJPzNCg="; }; @@ -33,9 +34,19 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ libgcrypt yajl curl expat boost libiberty ]; + buildInputs = [ + libgcrypt + yajl + curl + expat + boost + libiberty + ]; meta = with lib; { description = "Console Google Drive client"; diff --git a/pkgs/by-name/gr/grobi/package.nix b/pkgs/by-name/gr/grobi/package.nix index cea5fad51e555..5841700709ad0 100644 --- a/pkgs/by-name/gr/grobi/package.nix +++ b/pkgs/by-name/gr/grobi/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, fetchpatch }: +{ + lib, + fetchFromGitHub, + buildGoModule, + fetchpatch, +}: buildGoModule rec { version = "0.6.0"; @@ -25,7 +30,7 @@ buildGoModule rec { homepage = "https://github.com/fd0/grobi"; description = "Automatically configure monitors/outputs for Xorg via RANDR"; license = with licenses; [ bsd2 ]; - platforms = platforms.linux; + platforms = platforms.linux; mainProgram = "grobi"; }; } diff --git a/pkgs/by-name/gr/grocy/package.nix b/pkgs/by-name/gr/grocy/package.nix index dbca9773ab653..a7473e1c0986e 100644 --- a/pkgs/by-name/gr/grocy/package.nix +++ b/pkgs/by-name/gr/grocy/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, fetchYarnDeps -, php -, yarn -, fixup-yarn-lock -, nixosTests +{ + lib, + fetchFromGitHub, + fetchYarnDeps, + php, + yarn, + fixup-yarn-lock, + nixosTests, }: php.buildComposerProject (finalAttrs: { diff --git a/pkgs/by-name/gr/groff/package.nix b/pkgs/by-name/gr/groff/package.nix index 6e10144bb587c..bcc71885fd87a 100644 --- a/pkgs/by-name/gr/groff/package.nix +++ b/pkgs/by-name/gr/groff/package.nix @@ -1,15 +1,28 @@ -{ lib, stdenv, fetchurl, perl -, enableGhostscript ? false -, ghostscript, gawk, libX11, libXaw, libXt, libXmu # for postscript and html output -, enableHtml ? false, psutils, netpbm # for html output -, enableIconv ? false, iconv -, enableLibuchardet ? false, libuchardet # for detecting input file encoding in preconv(1) -, buildPackages -, autoreconfHook -, pkg-config -, texinfo -, bison -, bash +{ + lib, + stdenv, + fetchurl, + perl, + enableGhostscript ? false, + ghostscript, + gawk, + libX11, + libXaw, + libXt, + libXmu, # for postscript and html output + enableHtml ? false, + psutils, + netpbm, # for html output + enableIconv ? false, + iconv, + enableLibuchardet ? false, + libuchardet, # for detecting input file encoding in preconv(1) + buildPackages, + autoreconfHook, + pkg-config, + texinfo, + bison, + bash, }: stdenv.mkDerivation rec { @@ -21,54 +34,86 @@ stdenv.mkDerivation rec { hash = "sha256-a5dX9ZK3UYtJAutq9+VFcL3Mujeocf3bLTCuOGNRHBM="; }; - outputs = [ "out" "man" "doc" "info" "perl" ]; + outputs = [ + "out" + "man" + "doc" + "info" + "perl" + ]; enableParallelBuilding = true; - postPatch = '' - # BASH_PROG gets replaced with a path to the build bash which doesn't get automatically patched by patchShebangs - substituteInPlace contrib/gdiffmk/gdiffmk.sh \ - --replace "@BASH_PROG@" "/bin/sh" - '' + lib.optionalString enableHtml '' - substituteInPlace src/preproc/html/pre-html.cpp \ - --replace "psselect" "${psutils}/bin/psselect" \ - --replace "pnmcut" "${lib.getBin netpbm}/bin/pnmcut" \ - --replace "pnmcrop" "${lib.getBin netpbm}/bin/pnmcrop" \ - --replace "pnmtopng" "${lib.getBin netpbm}/bin/pnmtopng" - substituteInPlace tmac/www.tmac.in \ - --replace "pnmcrop" "${lib.getBin netpbm}/bin/pnmcrop" \ - --replace "pngtopnm" "${lib.getBin netpbm}/bin/pngtopnm" \ - --replace "@PNMTOPS_NOSETPAGE@" "${lib.getBin netpbm}/bin/pnmtops -nosetpage" - '' + lib.optionalString (enableGhostscript || enableHtml) '' - substituteInPlace contrib/pdfmark/pdfroff.sh \ - --replace '$GROFF_GHOSTSCRIPT_INTERPRETER' "${lib.getBin ghostscript}/bin/gs" \ - --replace '$GROFF_AWK_INTERPRETER' "${lib.getBin gawk}/bin/gawk" - ''; + postPatch = + '' + # BASH_PROG gets replaced with a path to the build bash which doesn't get automatically patched by patchShebangs + substituteInPlace contrib/gdiffmk/gdiffmk.sh \ + --replace "@BASH_PROG@" "/bin/sh" + '' + + lib.optionalString enableHtml '' + substituteInPlace src/preproc/html/pre-html.cpp \ + --replace "psselect" "${psutils}/bin/psselect" \ + --replace "pnmcut" "${lib.getBin netpbm}/bin/pnmcut" \ + --replace "pnmcrop" "${lib.getBin netpbm}/bin/pnmcrop" \ + --replace "pnmtopng" "${lib.getBin netpbm}/bin/pnmtopng" + substituteInPlace tmac/www.tmac.in \ + --replace "pnmcrop" "${lib.getBin netpbm}/bin/pnmcrop" \ + --replace "pngtopnm" "${lib.getBin netpbm}/bin/pngtopnm" \ + --replace "@PNMTOPS_NOSETPAGE@" "${lib.getBin netpbm}/bin/pnmtops -nosetpage" + '' + + lib.optionalString (enableGhostscript || enableHtml) '' + substituteInPlace contrib/pdfmark/pdfroff.sh \ + --replace '$GROFF_GHOSTSCRIPT_INTERPRETER' "${lib.getBin ghostscript}/bin/gs" \ + --replace '$GROFF_AWK_INTERPRETER' "${lib.getBin gawk}/bin/gawk" + ''; strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config texinfo ] + nativeBuildInputs = + [ + autoreconfHook + pkg-config + texinfo + ] # Required due to the patch that changes .ypp files. ++ lib.optional (stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "9") bison; - buildInputs = [ perl bash ] - ++ lib.optionals enableGhostscript [ ghostscript gawk libX11 libXaw libXt libXmu ] - ++ lib.optionals enableHtml [ psutils netpbm ] + buildInputs = + [ + perl + bash + ] + ++ lib.optionals enableGhostscript [ + ghostscript + gawk + libX11 + libXaw + libXt + libXmu + ] + ++ lib.optionals enableHtml [ + psutils + netpbm + ] ++ lib.optionals enableIconv [ iconv ] ++ lib.optionals enableLibuchardet [ libuchardet ]; # Builds running without a chroot environment may detect the presence # of /usr/X11 in the host system, leading to an impure build of the # package. To avoid this issue, X11 support is explicitly disabled. - configureFlags = lib.optionals (!enableGhostscript) [ - "--without-x" - ] ++ [ - "ac_cv_path_PERL=${buildPackages.perl}/bin/perl" - ] ++ lib.optionals enableGhostscript [ - "--with-gs=${lib.getBin ghostscript}/bin/gs" - "--with-awk=${lib.getBin gawk}/bin/gawk" - "--with-appresdir=${placeholder "out"}/lib/X11/app-defaults" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "gl_cv_func_signbit=yes" - ]; + configureFlags = + lib.optionals (!enableGhostscript) [ + "--without-x" + ] + ++ [ + "ac_cv_path_PERL=${buildPackages.perl}/bin/perl" + ] + ++ lib.optionals enableGhostscript [ + "--with-gs=${lib.getBin ghostscript}/bin/gs" + "--with-awk=${lib.getBin gawk}/bin/gawk" + "--with-appresdir=${placeholder "out"}/lib/X11/app-defaults" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "gl_cv_func_signbit=yes" + ]; makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ # Trick to get the build system find the proper 'native' groff @@ -131,6 +176,9 @@ stdenv.mkDerivation rec { implementation of the -mm macros. ''; - outputsToInstall = [ "out" "perl" ]; + outputsToInstall = [ + "out" + "perl" + ]; }; } diff --git a/pkgs/by-name/gr/gron/package.nix b/pkgs/by-name/gr/gron/package.nix index 4ef6216c370b9..8290fd91eb4f2 100644 --- a/pkgs/by-name/gr/gron/package.nix +++ b/pkgs/by-name/gr/gron/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gron"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-K/QAG9mCIHe7PQhex3TntlGYAK9l0bESWk616N97dBs="; - ldflags = [ "-s" "-w" "-X main.gronVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.gronVersion=${version}" + ]; meta = with lib; { description = "Make JSON greppable!"; @@ -26,6 +34,9 @@ buildGoModule rec { ''; homepage = "https://github.com/tomnomnom/gron"; license = licenses.mit; - maintainers = with maintainers; [ fgaz SuperSandro2000 ]; + maintainers = with maintainers; [ + fgaz + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/gr/groonga/package.nix b/pkgs/by-name/gr/groonga/package.nix index adcd4df02c3de..8b985dbeee430 100644 --- a/pkgs/by-name/gr/groonga/package.nix +++ b/pkgs/by-name/gr/groonga/package.nix @@ -1,7 +1,25 @@ -{ lib, stdenv, cmake, fetchurl, kytea, msgpack-c, mecab, pkg-config, rapidjson, testers, xxHash, zstd, postgresqlPackages -, suggestSupport ? false, zeromq, libevent, openssl -, lz4Support ? false, lz4 -, zlibSupport ? true, zlib +{ + lib, + stdenv, + cmake, + fetchurl, + kytea, + msgpack-c, + mecab, + pkg-config, + rapidjson, + testers, + xxHash, + zstd, + postgresqlPackages, + suggestSupport ? false, + zeromq, + libevent, + openssl, + lz4Support ? false, + lz4, + zlibSupport ? true, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -23,21 +41,25 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - rapidjson - xxHash - zstd - mecab - kytea - msgpack-c - ] ++ lib.optionals lz4Support [ - lz4 - ] ++ lib.optional zlibSupport [ - zlib - ] ++ lib.optionals suggestSupport [ - zeromq - libevent - ]; + buildInputs = + [ + rapidjson + xxHash + zstd + mecab + kytea + msgpack-c + ] + ++ lib.optionals lz4Support [ + lz4 + ] + ++ lib.optional zlibSupport [ + zlib + ] + ++ lib.optionals suggestSupport [ + zeromq + libevent + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString zlibSupport "-I${zlib.dev}/include"; diff --git a/pkgs/by-name/gr/groove/package.nix b/pkgs/by-name/gr/groove/package.nix index 6350d0badee9f..487a4eed497c2 100644 --- a/pkgs/by-name/gr/groove/package.nix +++ b/pkgs/by-name/gr/groove/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, unzip, makeWrapper, makeDesktopItem, icoutils, jre8 }: +{ + lib, + stdenv, + fetchurl, + unzip, + makeWrapper, + makeDesktopItem, + icoutils, + jre8, +}: let desktopItem = makeDesktopItem { @@ -7,19 +16,29 @@ let icon = "groove"; desktopName = "GROOVE Simulator"; comment = "GRaphs for Object-Oriented VErification"; - categories = [ "Science" "ComputerScience" ]; + categories = [ + "Science" + "ComputerScience" + ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "groove"; version = "5.8.1"; src = fetchurl { - url = "mirror://sourceforge/groove/groove/${version}/${pname}-${builtins.replaceStrings ["."] ["_"] version}-bin.zip"; + url = "mirror://sourceforge/groove/groove/${version}/${pname}-${ + builtins.replaceStrings [ "." ] [ "_" ] version + }-bin.zip"; sha256 = "sha256-JwoUlO6F2+8NtCnLC+xm5q0Jm8RIyU1rnuKGmjgJhFU="; }; - nativeBuildInputs = [ unzip makeWrapper icoutils ]; + nativeBuildInputs = [ + unzip + makeWrapper + icoutils + ]; dontBuild = true; diff --git a/pkgs/by-name/gr/grpc-client-cli/package.nix b/pkgs/by-name/gr/grpc-client-cli/package.nix index 7e2332c52d4d5..4925c0aa3a7ed 100644 --- a/pkgs/by-name/gr/grpc-client-cli/package.nix +++ b/pkgs/by-name/gr/grpc-client-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "grpc-client-cli"; diff --git a/pkgs/by-name/gr/grpc-health-check/package.nix b/pkgs/by-name/gr/grpc-health-check/package.nix index 5ef0efc6301a2..1d2f915c553aa 100644 --- a/pkgs/by-name/gr/grpc-health-check/package.nix +++ b/pkgs/by-name/gr/grpc-health-check/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchFromGitHub -, rustPlatform -, protobuf -, lib +{ + stdenv, + fetchFromGitHub, + rustPlatform, + protobuf, + lib, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/gr/grpc-tools/package.nix b/pkgs/by-name/gr/grpc-tools/package.nix index 5c21f8a0f415d..5bf09b7f0b940 100644 --- a/pkgs/by-name/gr/grpc-tools/package.nix +++ b/pkgs/by-name/gr/grpc-tools/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, gitUpdater +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gr/grpc_cli/package.nix b/pkgs/by-name/gr/grpc_cli/package.nix index 58915a3509e21..d56351c484a1f 100644 --- a/pkgs/by-name/gr/grpc_cli/package.nix +++ b/pkgs/by-name/gr/grpc_cli/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, automake, cmake, autoconf, curl, numactl }: +{ + lib, + stdenv, + fetchFromGitHub, + automake, + cmake, + autoconf, + curl, + numactl, +}: stdenv.mkDerivation rec { pname = "grpc_cli"; @@ -10,8 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-x49mh7gLliAiFjOZM5U/CnMQqs7fAhoipo18OBoeD0w="; fetchSubmodules = true; }; - nativeBuildInputs = [ automake cmake autoconf ]; - buildInputs = [ curl numactl ]; + nativeBuildInputs = [ + automake + cmake + autoconf + ]; + buildInputs = [ + curl + numactl + ]; cmakeFlags = [ "-DgRPC_BUILD_TESTS=ON" ]; makeFlags = [ "grpc_cli" ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch64 "-Wno-error=format-security"; diff --git a/pkgs/by-name/gr/grpcui/package.nix b/pkgs/by-name/gr/grpcui/package.nix index 3691a3ab8eb87..0a3e358820359 100644 --- a/pkgs/by-name/gr/grpcui/package.nix +++ b/pkgs/by-name/gr/grpcui/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "grpcui"; @@ -17,7 +21,11 @@ buildGoModule rec { subPackages = [ "cmd/grpcui" ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { description = "Interactive web UI for gRPC, along the lines of postman"; diff --git a/pkgs/by-name/gr/grpcurl/package.nix b/pkgs/by-name/gr/grpcurl/package.nix index e445d5828b009..8630ad61ca2a2 100644 --- a/pkgs/by-name/gr/grpcurl/package.nix +++ b/pkgs/by-name/gr/grpcurl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "grpcurl"; @@ -15,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-e/V6MMYGqhZ2Ei7+2XhSsCXJNiwsTPa2Q43rdkns45o="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { description = "Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers"; diff --git a/pkgs/by-name/gr/grsync/package.nix b/pkgs/by-name/gr/grsync/package.nix index 0e0a6cb87eebc..edc7d9751ecb9 100644 --- a/pkgs/by-name/gr/grsync/package.nix +++ b/pkgs/by-name/gr/grsync/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, dee, gtk3, intltool, libdbusmenu-gtk3, libunity, pkg-config, rsync, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchurl, + dee, + gtk3, + intltool, + libdbusmenu-gtk3, + libunity, + pkg-config, + rsync, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { version = "1.3.1"; diff --git a/pkgs/by-name/gr/grub2_pvgrub_image/package.nix b/pkgs/by-name/gr/grub2_pvgrub_image/package.nix index 20c54ec2cb966..3aa240ed9feef 100644 --- a/pkgs/by-name/gr/grub2_pvgrub_image/package.nix +++ b/pkgs/by-name/gr/grub2_pvgrub_image/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, grub2_xen }: +{ + lib, + stdenv, + grub2_xen, +}: let efiSystemsBuild = { @@ -10,35 +14,41 @@ let riscv64-linux.target = "riscv64"; }; -in ( - -stdenv.mkDerivation rec { - name = "pvgrub-image"; - - configs = ./configs; - - buildInputs = [ grub2_xen ]; - - buildCommand = '' - cp "${configs}"/* . - tar -cf memdisk.tar grub.cfg - # We include all modules except all_video.mod as otherwise grub will fail printing "no symbol table" - # if we include it. - grub-mkimage -O "${efiSystemsBuild.${stdenv.hostPlatform.system}.target}-xen" -c grub-bootstrap.cfg \ - -m memdisk.tar -o "grub-${efiSystemsBuild.${stdenv.hostPlatform.system}.target}-xen.bin" \ - $(ls "${grub2_xen}/lib/grub/${efiSystemsBuild.${stdenv.hostPlatform.system}.target}-xen/" |grep 'mod''$'|grep -v '^all_video\.mod''$') - mkdir -p "$out/lib/grub-xen" - cp "grub-${efiSystemsBuild.${stdenv.hostPlatform.system}.target}-xen.bin" $out/lib/grub-xen/ - ''; - - meta = with lib; { - description = "PvGrub image for use for booting PV Xen guests"; - - longDescription = '' - This package provides a PvGrub image for booting Para-Virtualized (PV) - Xen guests +in +( + + stdenv.mkDerivation rec { + name = "pvgrub-image"; + + configs = ./configs; + + buildInputs = [ grub2_xen ]; + + buildCommand = '' + cp "${configs}"/* . + tar -cf memdisk.tar grub.cfg + # We include all modules except all_video.mod as otherwise grub will fail printing "no symbol table" + # if we include it. + grub-mkimage -O "${ + efiSystemsBuild.${stdenv.hostPlatform.system}.target + }-xen" -c grub-bootstrap.cfg \ + -m memdisk.tar -o "grub-${efiSystemsBuild.${stdenv.hostPlatform.system}.target}-xen.bin" \ + $(ls "${grub2_xen}/lib/grub/${ + efiSystemsBuild.${stdenv.hostPlatform.system}.target + }-xen/" |grep 'mod''$'|grep -v '^all_video\.mod''$') + mkdir -p "$out/lib/grub-xen" + cp "grub-${efiSystemsBuild.${stdenv.hostPlatform.system}.target}-xen.bin" $out/lib/grub-xen/ + ''; + + meta = with lib; { + description = "PvGrub image for use for booting PV Xen guests"; + + longDescription = '' + This package provides a PvGrub image for booting Para-Virtualized (PV) + Xen guests ''; - platforms = platforms.gnu ++ platforms.linux; - }; -}) + platforms = platforms.gnu ++ platforms.linux; + }; + } +) diff --git a/pkgs/by-name/gr/grun/package.nix b/pkgs/by-name/gr/grun/package.nix index 145eba0a6539f..0401b6d3a3328 100644 --- a/pkgs/by-name/gr/grun/package.nix +++ b/pkgs/by-name/gr/grun/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, gtk2 -, pkg-config -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + gtk2, + pkg-config, + autoreconfHook, }: stdenv.mkDerivation { @@ -39,4 +40,3 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ _3JlOy-PYCCKUi ]; }; } - diff --git a/pkgs/by-name/gr/gruvbox-dark-gtk/package.nix b/pkgs/by-name/gr/gruvbox-dark-gtk/package.nix index 28b55074afbb3..e79cd65ee3849 100644 --- a/pkgs/by-name/gr/gruvbox-dark-gtk/package.nix +++ b/pkgs/by-name/gr/gruvbox-dark-gtk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "gruvbox-dark-gtk"; diff --git a/pkgs/by-name/gs/gsasl/package.nix b/pkgs/by-name/gs/gsasl/package.nix index 735a1a58fad6c..714423ee27388 100644 --- a/pkgs/by-name/gs/gsasl/package.nix +++ b/pkgs/by-name/gs/gsasl/package.nix @@ -1,5 +1,10 @@ -{ fetchurl, lib, stdenv, libidn, libkrb5 -, testers +{ + fetchurl, + lib, + stdenv, + libidn, + libkrb5, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -11,7 +16,10 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-1FtWLhO9E7n8ILNy9LUyaXQM9iefg28JzhG50yvO4HU="; }; - buildInputs = [ libidn libkrb5 ]; + buildInputs = [ + libidn + libkrb5 + ]; configureFlags = [ "--with-gssapi-impl=mit" ]; diff --git a/pkgs/by-name/gs/gscan2pdf/package.nix b/pkgs/by-name/gs/gscan2pdf/package.nix index 68af433f672cb..c1f780ae2cbc7 100644 --- a/pkgs/by-name/gs/gscan2pdf/package.nix +++ b/pkgs/by-name/gs/gscan2pdf/package.nix @@ -1,10 +1,26 @@ -{ lib, fetchurl, perlPackages, wrapGAppsHook3, +{ + lib, + fetchurl, + perlPackages, + wrapGAppsHook3, # libs - librsvg, sane-backends, sane-frontends, + librsvg, + sane-backends, + sane-frontends, # runtime dependencies - imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk, + imagemagick, + libtiff, + djvulibre, + poppler_utils, + ghostscript, + unpaper, + pdftk, # test dependencies - xvfb-run, liberation_ttf, file, tesseract3 }: + xvfb-run, + liberation_ttf, + file, + tesseract3, +}: perlPackages.buildPerlPackage rec { pname = "gscan2pdf"; @@ -23,8 +39,12 @@ perlPackages.buildPerlPackage rec { nativeBuildInputs = [ wrapGAppsHook3 ]; buildInputs = - [ librsvg sane-backends sane-frontends ] ++ - (with perlPackages; [ + [ + librsvg + sane-backends + sane-frontends + ] + ++ (with perlPackages; [ Gtk3 Gtk3ImageView Gtk3SimpleList @@ -55,16 +75,18 @@ perlPackages.buildPerlPackage rec { SubOverride ]); - postPatch = let - fontSubstitute = "${liberation_ttf}/share/fonts/truetype/LiberationSans-Regular.ttf"; - in '' - # Required for the program to properly load its SVG assets - substituteInPlace bin/gscan2pdf \ - --replace "/usr/share" "$out/share" + postPatch = + let + fontSubstitute = "${liberation_ttf}/share/fonts/truetype/LiberationSans-Regular.ttf"; + in + '' + # Required for the program to properly load its SVG assets + substituteInPlace bin/gscan2pdf \ + --replace "/usr/share" "$out/share" - # Substitute the non-free Helvetica font in the tests - sed -i 's|-pointsize|-font ${fontSubstitute} -pointsize|g' t/*.t - ''; + # Substitute the non-free Helvetica font in the tests + sed -i 's|-pointsize|-font ${fontSubstitute} -pointsize|g' t/*.t + ''; postInstall = '' # Remove impurity @@ -86,23 +108,28 @@ perlPackages.buildPerlPackage rec { installTargets = [ "install" ]; - outputs = [ "out" "man" ]; - - nativeCheckInputs = [ - imagemagick - libtiff - djvulibre - poppler_utils - ghostscript - unpaper - pdftk - - xvfb-run - file - tesseract3 # tests are expecting tesseract 3.x precisely - ] ++ (with perlPackages; [ - TestPod - ]); + outputs = [ + "out" + "man" + ]; + + nativeCheckInputs = + [ + imagemagick + libtiff + djvulibre + poppler_utils + ghostscript + unpaper + pdftk + + xvfb-run + file + tesseract3 # tests are expecting tesseract 3.x precisely + ] + ++ (with perlPackages; [ + TestPod + ]); checkPhase = '' # Temporarily disable a dubiously failing test: diff --git a/pkgs/by-name/gs/gscreenshot/package.nix b/pkgs/by-name/gs/gscreenshot/package.nix index a686017da2489..0a4a6f473bedb 100644 --- a/pkgs/by-name/gs/gscreenshot/package.nix +++ b/pkgs/by-name/gs/gscreenshot/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitHub -, python3Packages -, gettext -, gobject-introspection -, gtk3 -, wrapGAppsHook3 -, xdg-utils -, scrot -, slop -, xclip -, grim -, slurp -, wl-clipboard -, waylandSupport ? true -, x11Support ? true +{ + lib, + fetchFromGitHub, + python3Packages, + gettext, + gobject-introspection, + gtk3, + wrapGAppsHook3, + xdg-utils, + scrot, + slop, + xclip, + grim, + slurp, + wl-clipboard, + waylandSupport ? true, + x11Support ? true, }: python3Packages.buildPythonApplication rec { @@ -33,27 +34,31 @@ python3Packages.buildPythonApplication rec { doCheck = false; nativeBuildInputs = [ wrapGAppsHook3 ]; - propagatedBuildInputs = [ - gettext - gobject-introspection - gtk3 - xdg-utils - ] ++ lib.optionals waylandSupport [ - # wayland deps - grim - slurp - wl-clipboard - ] ++ lib.optionals x11Support [ - # X11 deps - scrot - slop - xclip - python3Packages.xlib - ] ++ (with python3Packages; [ - pillow - pygobject3 - setuptools - ]); + propagatedBuildInputs = + [ + gettext + gobject-introspection + gtk3 + xdg-utils + ] + ++ lib.optionals waylandSupport [ + # wayland deps + grim + slurp + wl-clipboard + ] + ++ lib.optionals x11Support [ + # X11 deps + scrot + slop + xclip + python3Packages.xlib + ] + ++ (with python3Packages; [ + pillow + pygobject3 + setuptools + ]); patches = [ ./0001-Changing-paths-to-be-nix-compatible.patch ]; diff --git a/pkgs/by-name/gs/gsctl/package.nix b/pkgs/by-name/gs/gsctl/package.nix index bb30f7d1b6320..bdab9d5b6cbc0 100644 --- a/pkgs/by-name/gs/gsctl/package.nix +++ b/pkgs/by-name/gs/gsctl/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, kubectl, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + kubectl, + stdenv, +}: buildGoModule rec { pname = "gsctl"; @@ -23,7 +29,8 @@ buildGoModule rec { ''; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/giantswarm/gsctl/buildinfo.Version=${version}" ]; diff --git a/pkgs/by-name/gs/gsettings-desktop-schemas/package.nix b/pkgs/by-name/gs/gsettings-desktop-schemas/package.nix index eae3d40569a93..7e7d51cffdf3e 100644 --- a/pkgs/by-name/gs/gsettings-desktop-schemas/package.nix +++ b/pkgs/by-name/gs/gsettings-desktop-schemas/package.nix @@ -1,14 +1,18 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, glib -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, meson -, ninja +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + meson, + ninja, # just for passthru -, gnome + gnome, }: stdenv.mkDerivation rec { @@ -22,14 +26,16 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ - glib - meson - ninja - pkg-config - ] ++ lib.optionals withIntrospection [ - gobject-introspection - ]; + nativeBuildInputs = + [ + glib + meson + ninja + pkg-config + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + ]; mesonFlags = [ (lib.mesonBool "introspection" withIntrospection) diff --git a/pkgs/by-name/gs/gsimplecal/package.nix b/pkgs/by-name/gs/gsimplecal/package.nix index 224f2f359d779..152585734f8cc 100644 --- a/pkgs/by-name/gs/gsimplecal/package.nix +++ b/pkgs/by-name/gs/gsimplecal/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, automake, autoconf, pkg-config, gtk3 }: +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + pkg-config, + gtk3, +}: stdenv.mkDerivation rec { pname = "gsimplecal"; @@ -17,7 +25,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config automake autoconf ]; + nativeBuildInputs = [ + pkg-config + automake + autoconf + ]; buildInputs = [ gtk3 ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/by-name/gs/gsl-lite/package.nix b/pkgs/by-name/gs/gsl-lite/package.nix index 03fc5587f80a9..dba428c51a0e8 100644 --- a/pkgs/by-name/gs/gsl-lite/package.nix +++ b/pkgs/by-name/gs/gsl-lite/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, ninja -, installCompatHeader ? false -, installLegacyHeaders ? false +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + ninja, + installCompatHeader ? false, + installLegacyHeaders ? false, }: stdenv.mkDerivation rec { @@ -27,15 +28,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; - cmakeFlags = lib.mapAttrsToList - (name: value: ''-DGSL_LITE_OPT_${name}:BOOL=${if value then "ON" else "OFF"}'') - { - INSTALL_COMPAT_HEADER = installCompatHeader; - INSTALL_LEGACY_HEADERS = installLegacyHeaders; - BUILD_TESTS = doCheck; - }; + cmakeFlags = + lib.mapAttrsToList (name: value: ''-DGSL_LITE_OPT_${name}:BOOL=${if value then "ON" else "OFF"}'') + { + INSTALL_COMPAT_HEADER = installCompatHeader; + INSTALL_LEGACY_HEADERS = installLegacyHeaders; + BUILD_TESTS = doCheck; + }; # Building tests is broken on Darwin. doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/gs/gsl/package.nix b/pkgs/by-name/gs/gsl/package.nix index aeb95476b2b65..2a13306c6ee89 100644 --- a/pkgs/by-name/gs/gsl/package.nix +++ b/pkgs/by-name/gs/gsl/package.nix @@ -1,10 +1,18 @@ -{ fetchurl, fetchpatch, lib, stdenv }: +{ + fetchurl, + fetchpatch, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "gsl"; version = "2.8"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnu/gsl/${pname}-${version}.tar.gz"; @@ -19,9 +27,15 @@ stdenv.mkDerivation rec { }) ]; - preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.hostPlatform.isDarwin) then '' - MACOSX_DEPLOYMENT_TARGET=10.16 - '' else null; + preConfigure = + if + (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.hostPlatform.isDarwin) + then + '' + MACOSX_DEPLOYMENT_TARGET=10.16 + '' + else + null; postInstall = '' moveToOutput bin/gsl-config "$dev" diff --git a/pkgs/by-name/gs/gsm/package.nix b/pkgs/by-name/gs/gsm/package.nix index a964c4e4bcb63..44beb9398df12 100644 --- a/pkgs/by-name/gs/gsm/package.nix +++ b/pkgs/by-name/gs/gsm/package.nix @@ -1,6 +1,9 @@ -{ lib, stdenv, fetchurl -, # Compile statically (support for packages that look for the static object) - staticSupport ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + # Compile statically (support for packages that look for the static object) + staticSupport ? stdenv.hostPlatform.isStatic, }: let @@ -17,23 +20,31 @@ stdenv.mkDerivation rec { sha256 = "sha256-8Acukfa7hah4svbb9KC3yFDE3rgEnVVMZTQLO/ad8Kw="; }; - patchPhase = '' - # Fix include directory - sed -e 's,$(GSM_INSTALL_ROOT)/inc,$(GSM_INSTALL_ROOT)/include/gsm,' -i Makefile - '' + optionalString (!staticSupport) ( - (if isDarwin then '' - # Build dylib on Darwin - sed -e 's,libgsm.a,libgsm.dylib,' -i Makefile - sed -e 's,$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS),$(LD) -o $(LIBGSM) -dynamiclib -install_name $(GSM_INSTALL_ROOT)/$(LIBGSM) $(GSM_OBJECTS) -lc,' -i Makefile - '' else '' - # Build ELF shared object by default - sed -e 's,libgsm.a,libgsm.so,' -i Makefile - sed -e 's/$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)/$(LD) -shared -Wl,-soname,libgsm.so -o $(LIBGSM) $(GSM_OBJECTS) -lc/' -i Makefile - '') + '' - # Remove line that is unused when building shared libraries - sed -e 's,$(RANLIB) $(LIBGSM),,' -i Makefile + patchPhase = '' - ); + # Fix include directory + sed -e 's,$(GSM_INSTALL_ROOT)/inc,$(GSM_INSTALL_ROOT)/include/gsm,' -i Makefile + '' + + optionalString (!staticSupport) ( + ( + if isDarwin then + '' + # Build dylib on Darwin + sed -e 's,libgsm.a,libgsm.dylib,' -i Makefile + sed -e 's,$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS),$(LD) -o $(LIBGSM) -dynamiclib -install_name $(GSM_INSTALL_ROOT)/$(LIBGSM) $(GSM_OBJECTS) -lc,' -i Makefile + '' + else + '' + # Build ELF shared object by default + sed -e 's,libgsm.a,libgsm.so,' -i Makefile + sed -e 's/$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)/$(LD) -shared -Wl,-soname,libgsm.so -o $(LIBGSM) $(GSM_OBJECTS) -lc/' -i Makefile + '' + ) + + '' + # Remove line that is unused when building shared libraries + sed -e 's,$(RANLIB) $(LIBGSM),,' -i Makefile + '' + ); preBuild = '' makeFlagsArray+=(CC="$CC") @@ -50,9 +61,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Lossy speech compression codec"; - homepage = "https://www.quut.com/gsm/"; - license = licenses.bsd2; - maintainers = with maintainers; [ codyopel raskin ]; - platforms = platforms.unix; + homepage = "https://www.quut.com/gsm/"; + license = licenses.bsd2; + maintainers = with maintainers; [ + codyopel + raskin + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/gs/gsmartcontrol/package.nix b/pkgs/by-name/gs/gsmartcontrol/package.nix index c405f7a90751a..36f616d94cc12 100644 --- a/pkgs/by-name/gs/gsmartcontrol/package.nix +++ b/pkgs/by-name/gs/gsmartcontrol/package.nix @@ -1,4 +1,16 @@ -{ fetchurl, lib, stdenv, smartmontools, autoreconfHook, gettext, gtkmm3, pkg-config, wrapGAppsHook3, pcre-cpp, adwaita-icon-theme }: +{ + fetchurl, + lib, + stdenv, + smartmontools, + autoreconfHook, + gettext, + gtkmm3, + pkg-config, + wrapGAppsHook3, + pcre-cpp, + adwaita-icon-theme, +}: stdenv.mkDerivation rec { pname = "gsmartcontrol"; @@ -17,8 +29,17 @@ stdenv.mkDerivation rec { substituteInPlace data/org.gsmartcontrol.policy --replace "/usr/sbin" $out/bin ''; - nativeBuildInputs = [ autoreconfHook gettext pkg-config wrapGAppsHook3 ]; - buildInputs = [ gtkmm3 pcre-cpp adwaita-icon-theme ]; + nativeBuildInputs = [ + autoreconfHook + gettext + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + gtkmm3 + pcre-cpp + adwaita-icon-theme + ]; enableParallelBuilding = true; @@ -41,7 +62,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://gsmartcontrol.shaduri.dev/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [qknight]; + maintainers = with lib.maintainers; [ qknight ]; platforms = with lib.platforms; linux; }; } diff --git a/pkgs/by-name/gs/gsoap/package.nix b/pkgs/by-name/gs/gsoap/package.nix index 1a40b87c01aaf..27bdec91f2905 100644 --- a/pkgs/by-name/gs/gsoap/package.nix +++ b/pkgs/by-name/gs/gsoap/package.nix @@ -1,10 +1,23 @@ -{ lib, stdenv, fetchurl, autoreconfHook, unzip, m4, bison, flex, openssl, zlib, buildPackages }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + unzip, + m4, + bison, + flex, + openssl, + zlib, + buildPackages, +}: let majorVersion = "2.8"; isCross = stdenv.hostPlatform != stdenv.buildPlatform; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gsoap"; version = "${majorVersion}.108"; @@ -13,8 +26,17 @@ in stdenv.mkDerivation rec { sha256 = "0x58bwlclk7frv03kg8bp0pm7zl784samvbzskrnr7dl5v866nvl"; }; - buildInputs = [ openssl zlib ]; - nativeBuildInputs = [ autoreconfHook bison flex m4 unzip ]; + buildInputs = [ + openssl + zlib + ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + m4 + unzip + ]; # Parallel building doesn't work as of 2.8.49 enableParallelBuilding = false; diff --git a/pkgs/by-name/gs/gsocket/package.nix b/pkgs/by-name/gs/gsocket/package.nix index a25a8345086b3..02f50b5c024cf 100644 --- a/pkgs/by-name/gs/gsocket/package.nix +++ b/pkgs/by-name/gs/gsocket/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, +}: stdenv.mkDerivation rec { pname = "gsocket"; diff --git a/pkgs/by-name/gs/gsound/package.nix b/pkgs/by-name/gs/gsound/package.nix index e588a7adca624..96eb2b0454ecd 100644 --- a/pkgs/by-name/gs/gsound/package.nix +++ b/pkgs/by-name/gs/gsound/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, vala, libcanberra, gobject-introspection, libtool, gnome, meson, ninja }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + vala, + libcanberra, + gobject-introspection, + libtool, + gnome, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "gsound"; @@ -11,8 +24,18 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config meson ninja gobject-introspection libtool vala ]; - buildInputs = [ glib libcanberra ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + gobject-introspection + libtool + vala + ]; + buildInputs = [ + glib + libcanberra + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/gs/gspeech/package.nix b/pkgs/by-name/gs/gspeech/package.nix index 2a253c735e37e..f4e133064e796 100644 --- a/pkgs/by-name/gs/gspeech/package.nix +++ b/pkgs/by-name/gs/gspeech/package.nix @@ -1,21 +1,22 @@ -{ lib -, fetchFromGitHub -, python3 -, gtk3 -, wrapGAppsHook3 -, glibcLocales -, gobject-introspection -, gettext -, pango -, gdk-pixbuf -, librsvg -, atk -, libnotify -, libappindicator-gtk3 -, gst_all_1 -, makeWrapper -, picotts -, sox +{ + lib, + fetchFromGitHub, + python3, + gtk3, + wrapGAppsHook3, + glibcLocales, + gobject-introspection, + gettext, + pango, + gdk-pixbuf, + librsvg, + atk, + libnotify, + libappindicator-gtk3, + gst_all_1, + makeWrapper, + picotts, + sox, }: python3.pkgs.buildPythonApplication rec { @@ -61,8 +62,18 @@ python3.pkgs.buildPythonApplication rec { ''; postFixup = '' - wrapProgram $out/bin/gspeech --prefix PATH : ${lib.makeBinPath [ picotts sox ]} - wrapProgram $out/bin/gspeech-cli --prefix PATH : ${lib.makeBinPath [ picotts sox ]} + wrapProgram $out/bin/gspeech --prefix PATH : ${ + lib.makeBinPath [ + picotts + sox + ] + } + wrapProgram $out/bin/gspeech-cli --prefix PATH : ${ + lib.makeBinPath [ + picotts + sox + ] + } ''; strictDeps = false; @@ -75,4 +86,3 @@ python3.pkgs.buildPythonApplication rec { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/gs/gspell/package.nix b/pkgs/by-name/gs/gspell/package.nix index d8725ed90bdc2..6f318a9f790d3 100644 --- a/pkgs/by-name/gs/gspell/package.nix +++ b/pkgs/by-name/gs/gspell/package.nix @@ -34,18 +34,20 @@ stdenv.mkDerivation rec { sha256 = "ZOodjp7cHCW0WpIOgNr2dVnRhm/81/hDL+z+ptD+iJc="; }; - nativeBuildInputs = [ - docbook-xsl-nons - glib # glib-mkenums - gobject-introspection - gtk-doc - meson - ninja - pkg-config - vala - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + docbook-xsl-nons + glib # glib-mkenums + gobject-introspection + gtk-doc + meson + ninja + pkg-config + vala + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ gtk3 diff --git a/pkgs/by-name/gs/gss/package.nix b/pkgs/by-name/gs/gss/package.nix index 1271c52a4a8cb..d111ded328661 100644 --- a/pkgs/by-name/gs/gss/package.nix +++ b/pkgs/by-name/gs/gss/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, withShishi ? !stdenv.hostPlatform.isDarwin -, shishi +{ + lib, + stdenv, + fetchurl, + withShishi ? !stdenv.hostPlatform.isDarwin, + shishi, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gs/gst/package.nix b/pkgs/by-name/gs/gst/package.nix index c282da41c1ebc..ac906d3003f9a 100644 --- a/pkgs/by-name/gs/gst/package.nix +++ b/pkgs/by-name/gs/gst/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, git -, ghq +{ + lib, + buildGoModule, + fetchFromGitHub, + git, + ghq, }: buildGoModule rec { @@ -26,7 +27,9 @@ buildGoModule rec { ]; ldflags = [ - "-s" "-w" "-X=main.Version=${version}" + "-s" + "-w" + "-X=main.Version=${version}" ]; doInstallCheck = true; diff --git a/pkgs/by-name/gs/gst123/package.nix b/pkgs/by-name/gs/gst123/package.nix index d988983dcae5f..46b2fa3008f78 100644 --- a/pkgs/by-name/gs/gst123/package.nix +++ b/pkgs/by-name/gs/gst123/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, wrapGAppsHook3 -, gst_all_1 -, gtk3 -, ncurses +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + wrapGAppsHook3, + gst_all_1, + gtk3, + ncurses, }: stdenv.mkDerivation (finalAttrs: { @@ -26,17 +27,19 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook3 ]; - buildInputs = [ - gtk3 - ncurses - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - gst-libav - ]); + buildInputs = + [ + gtk3 + ncurses + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav + ]); enableParallelBuilding = true; diff --git a/pkgs/by-name/gt/gt/package.nix b/pkgs/by-name/gt/gt/package.nix index 964566b57d06c..c5cb602f414f4 100644 --- a/pkgs/by-name/gt/gt/package.nix +++ b/pkgs/by-name/gt/gt/package.nix @@ -1,6 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, cmake, bash-completion, pkg-config, libconfig -, asciidoc -, libusbgx +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + bash-completion, + pkg-config, + libconfig, + asciidoc, + libusbgx, }: stdenv.mkDerivation (finalAttrs: { pname = "gt"; @@ -19,9 +26,17 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlagsArray+=("-DBASH_COMPLETION_COMPLETIONSDIR=$out/share/bash-completions/completions") ''; - nativeBuildInputs = [ cmake pkg-config asciidoc ]; + nativeBuildInputs = [ + cmake + pkg-config + asciidoc + ]; - buildInputs = [ bash-completion libconfig libusbgx]; + buildInputs = [ + bash-completion + libconfig + libusbgx + ]; meta = { description = "Linux command line tool for setting up USB gadgets using configfs"; diff --git a/pkgs/by-name/gt/gt5/package.nix b/pkgs/by-name/gt/gt5/package.nix index 68b0e31971621..3c2121a304a68 100644 --- a/pkgs/by-name/gt/gt5/package.nix +++ b/pkgs/by-name/gt/gt5/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "gt5"; diff --git a/pkgs/by-name/gt/gtdialog/package.nix b/pkgs/by-name/gt/gtdialog/package.nix index 6a09d8cbe9e26..ef32b2bde612c 100644 --- a/pkgs/by-name/gt/gtdialog/package.nix +++ b/pkgs/by-name/gt/gtdialog/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, cdk, unzip, gtk2, glib, ncurses, pkg-config }: +{ + lib, + stdenv, + fetchurl, + cdk, + unzip, + gtk2, + glib, + ncurses, + pkg-config, +}: stdenv.mkDerivation rec { pname = "gtdialog"; @@ -9,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-0+WBr1IZIhQjxOsKO/yuXjaTRWPObhMdGqgibcpXGtI="; }; - nativeBuildInputs = [ pkg-config unzip ]; + nativeBuildInputs = [ + pkg-config + unzip + ]; buildInputs = [ cdk gtk2 diff --git a/pkgs/by-name/gt/gtest/package.nix b/pkgs/by-name/gt/gtest/package.nix index f9465c4e356e2..db81b1f957923 100644 --- a/pkgs/by-name/gt/gtest/package.nix +++ b/pkgs/by-name/gt/gtest/package.nix @@ -1,31 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -# Enable C++17 support -# https://github.com/google/googletest/issues/3081 -# Projects that require a higher standard can override this package. -# For an example why that may be necessary, see: -# https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427 -# Setting this to `null` does not pass any flags to set this. -, cxx_standard ? ( - if ( - (stdenv.cc.isGNU && (lib.versionOlder stdenv.cc.version "11.0")) - || - (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0")) - ) - then "17" - else null - ) -, static ? stdenv.hostPlatform.isStatic, +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + # Enable C++17 support + # https://github.com/google/googletest/issues/3081 + # Projects that require a higher standard can override this package. + # For an example why that may be necessary, see: + # https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427 + # Setting this to `null` does not pass any flags to set this. + cxx_standard ? ( + if + ( + (stdenv.cc.isGNU && (lib.versionOlder stdenv.cc.version "11.0")) + || (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0")) + ) + then + "17" + else + null + ), + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { pname = "gtest"; version = "1.15.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "google"; @@ -38,14 +44,19 @@ stdenv.mkDerivation rec { ./fix-cmake-config-includedir.patch ]; - nativeBuildInputs = [ cmake ninja ]; - - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" - ] ++ lib.optionals (cxx_standard != null) [ - "-DCMAKE_CXX_STANDARD=${cxx_standard}" + nativeBuildInputs = [ + cmake + ninja ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" + ] + ++ lib.optionals (cxx_standard != null) [ + "-DCMAKE_CXX_STANDARD=${cxx_standard}" + ]; + meta = with lib; { description = "Google's framework for writing C++ tests"; homepage = "https://github.com/google/googletest"; diff --git a/pkgs/by-name/gt/gtg/package.nix b/pkgs/by-name/gt/gtg/package.nix index d990a2004a2dc..ea9a67cfd2844 100644 --- a/pkgs/by-name/gt/gtg/package.nix +++ b/pkgs/by-name/gt/gtg/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitHub -, meson -, python3Packages -, ninja -, gtk3 -, wrapGAppsHook3 -, glib -, gtksourceview4 -, itstool -, gettext -, pango -, gdk-pixbuf -, libsecret -, gobject-introspection -, xvfb-run +{ + lib, + fetchFromGitHub, + meson, + python3Packages, + ninja, + gtk3, + wrapGAppsHook3, + glib, + gtksourceview4, + itstool, + gettext, + pango, + gdk-pixbuf, + libsecret, + gobject-introspection, + xvfb-run, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/gt/gthree/package.nix b/pkgs/by-name/gt/gthree/package.nix index c94a3ae15d158..f4fb6033ddd4b 100644 --- a/pkgs/by-name/gt/gthree/package.nix +++ b/pkgs/by-name/gt/gthree/package.nix @@ -1,25 +1,31 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, ninja -, meson -, pkg-config -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, glib -, gtk3 -, graphene -, libepoxy -, json-glib +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ninja, + meson, + pkg-config, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + glib, + gtk3, + graphene, + libepoxy, + json-glib, }: stdenv.mkDerivation rec { pname = "gthree"; version = "0.9.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitHub { owner = "alexlarsson"; diff --git a/pkgs/by-name/gt/gthumb/package.nix b/pkgs/by-name/gt/gthumb/package.nix index 4424c109711ba..5cc49bec9d2bb 100644 --- a/pkgs/by-name/gt/gthumb/package.nix +++ b/pkgs/by-name/gt/gthumb/package.nix @@ -1,37 +1,39 @@ -{ stdenv -, lib -, fetchurl -, gnome -, pkg-config -, meson -, ninja -, adwaita-icon-theme -, exiv2 -, libheif -, libjpeg -, libtiff -, gst_all_1 -, libraw -, libsoup_2_4 -, libsecret -, glib -, gtk3 -, gsettings-desktop-schemas -, libchamplain -, librsvg -, libwebp -, libX11 -, json-glib -, lcms2 -, bison -, flex -, clutter-gtk -, wrapGAppsHook3 -, shared-mime-info -, python3 -, desktop-file-utils -, itstool -, withWebservices ? true, webkitgtk_4_0 +{ + stdenv, + lib, + fetchurl, + gnome, + pkg-config, + meson, + ninja, + adwaita-icon-theme, + exiv2, + libheif, + libjpeg, + libtiff, + gst_all_1, + libraw, + libsoup_2_4, + libsecret, + glib, + gtk3, + gsettings-desktop-schemas, + libchamplain, + librsvg, + libwebp, + libX11, + json-glib, + lcms2, + bison, + flex, + clutter-gtk, + wrapGAppsHook3, + shared-mime-info, + python3, + desktop-file-utils, + itstool, + withWebservices ? true, + webkitgtk_4_0, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gt/gti/package.nix b/pkgs/by-name/gt/gti/package.nix index 9e396f33e6a1e..faf0dcfc84680 100644 --- a/pkgs/by-name/gt/gti/package.nix +++ b/pkgs/by-name/gt/gti/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gt/gtimelog/package.nix b/pkgs/by-name/gt/gtimelog/package.nix index f2abb96e3fea9..bc63fab151933 100644 --- a/pkgs/by-name/gt/gtimelog/package.nix +++ b/pkgs/by-name/gt/gtimelog/package.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook3 -, glibcLocales, gobject-introspection, gtk3, libsoup_3, libsecret +{ + lib, + fetchFromGitHub, + python3Packages, + wrapGAppsHook3, + glibcLocales, + gobject-introspection, + gtk3, + libsoup_3, + libsecret, }: python3Packages.buildPythonApplication rec { @@ -18,8 +26,16 @@ python3Packages.buildPythonApplication rec { setuptools-scm ]; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; - buildInputs = [ glibcLocales gtk3 libsoup_3 libsecret ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = [ + glibcLocales + gtk3 + libsoup_3 + libsecret + ]; propagatedBuildInputs = with python3Packages; [ pygobject3 ]; diff --git a/pkgs/by-name/gt/gtk-doc/package.nix b/pkgs/by-name/gt/gtk-doc/package.nix index b21bdfc500daa..ad8c58cc3de17 100644 --- a/pkgs/by-name/gt/gtk-doc/package.nix +++ b/pkgs/by-name/gt/gtk-doc/package.nix @@ -1,15 +1,17 @@ -{ lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, python3 -, docbook_xml_dtd_43 -, docbook-xsl-nons -, libxslt -, gettext -, gnome -, withDblatex ? false, dblatex +{ + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + python3, + docbook_xml_dtd_43, + docbook-xsl-nons, + libxslt, + gettext, + gnome, + withDblatex ? false, + dblatex, }: python3.pkgs.buildPythonApplication rec { @@ -52,13 +54,15 @@ python3.pkgs.buildPythonApplication rec { libxslt # for xsltproc ]; - buildInputs = [ - docbook_xml_dtd_43 - docbook-xsl-nons - libxslt - ] ++ lib.optionals withDblatex [ - dblatex - ]; + buildInputs = + [ + docbook_xml_dtd_43 + docbook-xsl-nons + libxslt + ] + ++ lib.optionals withDblatex [ + dblatex + ]; pythonPath = with python3.pkgs; [ pygments # Needed for https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_32/meson.build#L42 diff --git a/pkgs/by-name/gt/gtk-frdp/package.nix b/pkgs/by-name/gt/gtk-frdp/package.nix index 22524445cf08d..94d558c9ff7b3 100644 --- a/pkgs/by-name/gt/gtk-frdp/package.nix +++ b/pkgs/by-name/gt/gtk-frdp/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, vala -, gobject-introspection -, glib -, gtk3 -, freerdp3 -, fuse3 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + vala, + gobject-introspection, + glib, + gtk3, + freerdp3, + fuse3, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -47,10 +48,12 @@ stdenv.mkDerivation rec { }; }; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-DTARGET_OS_IPHONE=0" - "-DTARGET_OS_WATCH=0" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-DTARGET_OS_IPHONE=0" + "-DTARGET_OS_WATCH=0" + ] + ); meta = with lib; { homepage = "https://gitlab.gnome.org/GNOME/gtk-frdp"; diff --git a/pkgs/by-name/gt/gtk-layer-shell/package.nix b/pkgs/by-name/gt/gtk-layer-shell/package.nix index c977de1942789..079f525bd7127 100644 --- a/pkgs/by-name/gt/gtk-layer-shell/package.nix +++ b/pkgs/by-name/gt/gtk-layer-shell/package.nix @@ -1,24 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, wayland-scanner -, wayland -, gtk3 -, gobject-introspection -, vala +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + wayland-scanner, + wayland, + gtk3, + gobject-introspection, + vala, }: stdenv.mkDerivation (finalAttrs: { pname = "gtk-layer-shell"; version = "0.9.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "devdoc"; # for demo src = fetchFromGitHub { @@ -62,7 +67,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "gtk-layer-demo"; homepage = "https://github.com/wmww/gtk-layer-shell"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ eonpatapon donovanglover ]; + maintainers = with maintainers; [ + eonpatapon + donovanglover + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/gt/gtk-mac-bundler/package.nix b/pkgs/by-name/gt/gtk-mac-bundler/package.nix index a94534a9cb32f..e0abdfd6fb6cd 100644 --- a/pkgs/by-name/gt/gtk-mac-bundler/package.nix +++ b/pkgs/by-name/gt/gtk-mac-bundler/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "gtk-mac-bundler"; diff --git a/pkgs/by-name/gt/gtk-server/package.nix b/pkgs/by-name/gt/gtk-server/package.nix index d97c94fbd885a..01535ac881033 100644 --- a/pkgs/by-name/gt/gtk-server/package.nix +++ b/pkgs/by-name/gt/gtk-server/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, glib -, gtk3 -, libffcall -, pkg-config -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + glib, + gtk3, + libffcall, + pkg-config, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -21,8 +22,15 @@ stdenv.mkDerivation rec { cd src ''; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; - buildInputs = [ libffcall glib gtk3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + libffcall + glib + gtk3 + ]; configureOptions = [ "--with-gtk3" ]; diff --git a/pkgs/by-name/gt/gtk-session-lock/package.nix b/pkgs/by-name/gt/gtk-session-lock/package.nix index e8bafe1a06df7..f84b82e5bf28c 100644 --- a/pkgs/by-name/gt/gtk-session-lock/package.nix +++ b/pkgs/by-name/gt/gtk-session-lock/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk3 -, wayland-scanner -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk3, + wayland-scanner, + wayland, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-SHKAYmdev08oRB/V6UpfSFqYwplF59IaNSOoWcACPig="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson diff --git a/pkgs/by-name/gt/gtk-sharp-beans/package.nix b/pkgs/by-name/gt/gtk-sharp-beans/package.nix index 69ef71f1506fd..c01f39ef028ca 100644 --- a/pkgs/by-name/gt/gtk-sharp-beans/package.nix +++ b/pkgs/by-name/gt/gtk-sharp-beans/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, which, pkg-config, mono, gtk-sharp-2_0, gio-sharp }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + which, + pkg-config, + mono, + gtk-sharp-2_0, + gio-sharp, +}: stdenv.mkDerivation rec { pname = "gtk-sharp-beans"; @@ -12,8 +22,16 @@ stdenv.mkDerivation rec { sha256 = "04sylwdllb6gazzs2m4jjfn14mil9l3cny2q0xf0zkhczzih6ah1"; }; - nativeBuildInputs = [ pkg-config autoreconfHook which ]; - buildInputs = [ mono gtk-sharp-2_0 gio-sharp ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + which + ]; + buildInputs = [ + mono + gtk-sharp-2_0 + gio-sharp + ]; dontStrip = true; diff --git a/pkgs/by-name/gt/gtk-vnc/package.nix b/pkgs/by-name/gt/gtk-vnc/package.nix index 6ffed3604c642..c459a6b4030eb 100644 --- a/pkgs/by-name/gt/gtk-vnc/package.nix +++ b/pkgs/by-name/gt/gtk-vnc/package.nix @@ -1,32 +1,38 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, gobject-introspection -, gnutls -, cairo -, glib -, pkg-config -, cyrus_sasl -, pulseaudioSupport ? stdenv.hostPlatform.isLinux -, libpulseaudio -, libgcrypt -, gtk3 -, vala -, gettext -, perl -, python3 -, gnome -, gdk-pixbuf -, zlib +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + gobject-introspection, + gnutls, + cairo, + glib, + pkg-config, + cyrus_sasl, + pulseaudioSupport ? stdenv.hostPlatform.isLinux, + libpulseaudio, + libgcrypt, + gtk3, + vala, + gettext, + perl, + python3, + gnome, + gdk-pixbuf, + zlib, }: stdenv.mkDerivation rec { pname = "gtk-vnc"; version = "1.3.1"; - outputs = [ "out" "bin" "man" "dev" ]; + outputs = [ + "out" + "bin" + "man" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -44,18 +50,20 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ - gnutls - cairo - gdk-pixbuf - zlib - glib - libgcrypt - cyrus_sasl - gtk3 - ] ++ lib.optionals pulseaudioSupport [ - libpulseaudio - ]; + buildInputs = + [ + gnutls + cairo + gdk-pixbuf + zlib + glib + libgcrypt + cyrus_sasl + gtk3 + ] + ++ lib.optionals pulseaudioSupport [ + libpulseaudio + ]; mesonFlags = lib.optionals (!pulseaudioSupport) [ "-Dpulseaudio=disabled" @@ -72,7 +80,10 @@ stdenv.mkDerivation rec { description = "GTK VNC widget"; homepage = "https://gitlab.gnome.org/GNOME/gtk-vnc"; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ raskin offline ]; + maintainers = with maintainers; [ + raskin + offline + ]; platforms = platforms.unix; mainProgram = "gvnccapture"; }; diff --git a/pkgs/by-name/gt/gtk4-layer-shell/package.nix b/pkgs/by-name/gt/gtk4-layer-shell/package.nix index f4024eafcaf75..c98a8dc764cb0 100644 --- a/pkgs/by-name/gt/gtk4-layer-shell/package.nix +++ b/pkgs/by-name/gt/gtk4-layer-shell/package.nix @@ -1,25 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, wayland-protocols -, wayland-scanner -, wayland -, gtk4 -, gobject-introspection -, vala +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + wayland-protocols, + wayland-scanner, + wayland, + gtk4, + gobject-introspection, + vala, }: stdenv.mkDerivation (finalAttrs: { pname = "gtk4-layer-shell"; version = "1.0.4"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "devdoc"; src = fetchFromGitHub { diff --git a/pkgs/by-name/gt/gtk_engines/package.nix b/pkgs/by-name/gt/gtk_engines/package.nix index d722143b210e7..a4d9e10bc4863 100644 --- a/pkgs/by-name/gt/gtk_engines/package.nix +++ b/pkgs/by-name/gt/gtk_engines/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, gtk2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + gtk2, +}: stdenv.mkDerivation rec { pname = "gtk-engines"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1db65pb0j0mijmswrvpgkdabilqd23x22d95hp5kwxvcramq1dhm"; }; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ gtk2 ]; meta = { diff --git a/pkgs/by-name/gt/gtkclipblock/package.nix b/pkgs/by-name/gt/gtkclipblock/package.nix index a2489aed3990b..c6cce92c1fa38 100644 --- a/pkgs/by-name/gt/gtkclipblock/package.nix +++ b/pkgs/by-name/gt/gtkclipblock/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, cmake -, ninja -, pkg-config -, gtk2 -, gtk3 -, gtk4 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + cmake, + ninja, + pkg-config, + gtk2, + gtk3, + gtk4, }: let @@ -31,9 +32,18 @@ in stdenv.mkDerivation { inherit pname version src; - nativeBuildInputs = [ meson cmake ninja pkg-config ]; + nativeBuildInputs = [ + meson + cmake + ninja + pkg-config + ]; - buildInputs = [ gtk2 gtk3 gtk4 ]; + buildInputs = [ + gtk2 + gtk3 + gtk4 + ]; postPatch = '' substituteInPlace subprojects/funchook-helper/subprojects/funchook/CMakeLists.txt \ diff --git a/pkgs/by-name/gt/gtkdatabox/package.nix b/pkgs/by-name/gt/gtkdatabox/package.nix index 0cc510ce7313e..b34788dc889fa 100644 --- a/pkgs/by-name/gt/gtkdatabox/package.nix +++ b/pkgs/by-name/gt/gtkdatabox/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gtk3 -, pango -, cairo +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk3, + pango, + cairo, }: stdenv.mkDerivation rec { @@ -18,7 +19,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ gtk3 pango cairo ]; + propagatedBuildInputs = [ + gtk3 + pango + cairo + ]; meta = { description = "GTK widget for displaying large amounts of numerical data"; diff --git a/pkgs/by-name/gt/gtkdialog/package.nix b/pkgs/by-name/gt/gtkdialog/package.nix index 378cdb5705d24..4de4f9929fb92 100644 --- a/pkgs/by-name/gt/gtkdialog/package.nix +++ b/pkgs/by-name/gt/gtkdialog/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, fetchpatch, gtk2, pkg-config }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + gtk2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "gtkdialog"; diff --git a/pkgs/by-name/gt/gtkextra/package.nix b/pkgs/by-name/gt/gtkextra/package.nix index 66516add6d9cf..cdaa88e981618 100644 --- a/pkgs/by-name/gt/gtkextra/package.nix +++ b/pkgs/by-name/gt/gtkextra/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, gobject-introspection -, file -, gtk2 -, glib -, cairo -, atk -, pango -, libtiff -, libpng -, libjpeg +{ + stdenv, + lib, + fetchurl, + pkg-config, + gobject-introspection, + file, + gtk2, + glib, + cairo, + atk, + pango, + libtiff, + libpng, + libjpeg, }: stdenv.mkDerivation rec { @@ -28,9 +29,21 @@ stdenv.mkDerivation rec { --replace "/usr/bin/file" "${file}/bin/file" ''; - nativeBuildInputs = [ gobject-introspection pkg-config ]; + nativeBuildInputs = [ + gobject-introspection + pkg-config + ]; - buildInputs = [ gtk2 glib cairo atk pango libtiff libpng libjpeg ]; + buildInputs = [ + gtk2 + glib + cairo + atk + pango + libtiff + libpng + libjpeg + ]; meta = with lib; { homepage = "https://gtkextra.sourceforge.net/"; diff --git a/pkgs/by-name/gt/gtkgnutella/package.nix b/pkgs/by-name/gt/gtkgnutella/package.nix index 5fe7834e2d329..5cd2eeb1680a6 100644 --- a/pkgs/by-name/gt/gtkgnutella/package.nix +++ b/pkgs/by-name/gt/gtkgnutella/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, bison -, desktop-file-utils -, gettext -, pkg-config -, glib -, gtk2 -, libxml2 -, libbfd -, zlib -, gnutls -, enableGui ? true +{ + lib, + stdenv, + fetchFromGitHub, + bison, + desktop-file-utils, + gettext, + pkg-config, + glib, + gtk2, + libxml2, + libbfd, + zlib, + gnutls, + enableGui ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -31,24 +32,28 @@ stdenv.mkDerivation (finalAttrs: { gettext pkg-config ]; - buildInputs = [ - glib - gnutls - libbfd - libxml2 - zlib - ] ++ lib.optionals enableGui [ - gtk2 - ]; + buildInputs = + [ + glib + gnutls + libbfd + libxml2 + zlib + ] + ++ lib.optionals enableGui [ + gtk2 + ]; configureScript = "./build.sh"; - configureFlags = [ - "--configure-only" - # See https://sourceforge.net/p/gtk-gnutella/bugs/555/ - "--disable-malloc" - ] ++ lib.optionals (!enableGui) [ - "--topless" - ]; + configureFlags = + [ + "--configure-only" + # See https://sourceforge.net/p/gtk-gnutella/bugs/555/ + "--disable-malloc" + ] + ++ lib.optionals (!enableGui) [ + "--topless" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/gt/gtkhash/package.nix b/pkgs/by-name/gt/gtkhash/package.nix index 1b14cf302da9f..e28674b5cd70d 100644 --- a/pkgs/by-name/gt/gtkhash/package.nix +++ b/pkgs/by-name/gt/gtkhash/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, stdenv -, meson -, ninja -, cmake -, pkg-config -, wrapGAppsHook3 -, gtk3 -, glib -, openssl -, nettle -, libb2 -, libgcrypt +{ + lib, + fetchFromGitHub, + stdenv, + meson, + ninja, + cmake, + pkg-config, + wrapGAppsHook3, + gtk3, + glib, + openssl, + nettle, + libb2, + libgcrypt, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gt/gtkimageview/package.nix b/pkgs/by-name/gt/gtkimageview/package.nix index d3a79cf0e9d4c..1399a6201b855 100644 --- a/pkgs/by-name/gt/gtkimageview/package.nix +++ b/pkgs/by-name/gt/gtkimageview/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, pkg-config, gtk2 }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + gtk2, +}: stdenv.mkDerivation rec { pname = "gtkimageview"; diff --git a/pkgs/by-name/gt/gtklp/package.nix b/pkgs/by-name/gt/gtklp/package.nix index 29b019292e622..f77150eb5c5c5 100644 --- a/pkgs/by-name/gt/gtklp/package.nix +++ b/pkgs/by-name/gt/gtklp/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, autoreconfHook -, cups -, fetchurl -, gettext -, glib -, gtk2 -, libtool -, openssl -, pkg-config +{ + lib, + stdenv, + autoreconfHook, + cups, + fetchurl, + gettext, + glib, + gtk2, + libtool, + openssl, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -35,7 +36,11 @@ stdenv.mkDerivation (finalAttrs: { openssl ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/gt/gtkradiant/package.nix b/pkgs/by-name/gt/gtkradiant/package.nix index 7c91181e06fac..009c9c416e934 100644 --- a/pkgs/by-name/gt/gtkradiant/package.nix +++ b/pkgs/by-name/gt/gtkradiant/package.nix @@ -1,8 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, fetchsvn -, scons, pkg-config, python3 -, glib, libxml2, gtk2, libGLU, gnome2 -, runCommand, writeScriptBin, runtimeShell -, makeDesktopItem, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + fetchsvn, + scons, + pkg-config, + python3, + glib, + libxml2, + gtk2, + libGLU, + gnome2, + runCommand, + writeScriptBin, + runtimeShell, + makeDesktopItem, + copyDesktopItems, }: let @@ -136,7 +149,7 @@ let rev = 53; sha256 = "sha256-IQ12fEKnq0cJxef+ddvTXcwM8lQ8nlUoMJy81XJ7ANY="; }; - packs = runCommand "gtkradiant-packs" {} '' + packs = runCommand "gtkradiant-packs" { } '' mkdir -p $out ln -s ${q3Pack} $out/Q3Pack ln -s ${urtPack} $out/UrTPack @@ -181,9 +194,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = let - python = python3.withPackages (ps: with ps; [ - urllib3 - ]); + python = python3.withPackages ( + ps: with ps; [ + urllib3 + ] + ); svn = writeScriptBin "svn" '' #!${runtimeShell} -e if [ "$1" = checkout ]; then @@ -200,7 +215,8 @@ stdenv.mkDerivation rec { exit 1 fi ''; - in [ + in + [ scons pkg-config python @@ -208,20 +224,28 @@ stdenv.mkDerivation rec { copyDesktopItems ]; - buildInputs = [ glib libxml2 gtk2 libGLU gnome2.gtkglext ]; + buildInputs = [ + glib + libxml2 + gtk2 + libGLU + gnome2.gtkglext + ]; enableParallelBuilding = true; - desktopItems = [ (makeDesktopItem { - name = "gtkradiant"; - exec = "gtkradiant"; - desktopName = "GtkRadiant"; - comment = meta.description; - categories = [ "Development" ]; - icon = "gtkradiant"; - # includes its own splash screen - startupNotify = false; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "gtkradiant"; + exec = "gtkradiant"; + desktopName = "GtkRadiant"; + comment = meta.description; + categories = [ "Development" ]; + icon = "gtkradiant"; + # includes its own splash screen + startupNotify = false; + }) + ]; postInstall = '' mkdir -p $out/{bin,lib} @@ -248,7 +272,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Level editor for idTech games"; homepage = "https://icculus.org/gtkradiant/"; - license = with licenses; [ gpl2Only bsdOriginal lgpl21Only ]; + license = with licenses; [ + gpl2Only + bsdOriginal + lgpl21Only + ]; maintainers = with maintainers; [ astro ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/gt/gtksheet/package.nix b/pkgs/by-name/gt/gtksheet/package.nix index 25f5a370693d7..cf325855cdc64 100644 --- a/pkgs/by-name/gt/gtksheet/package.nix +++ b/pkgs/by-name/gt/gtksheet/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gobject-introspection -, gtk-doc -, pkg-config -, atk -, cairo -, glade -, gtk3 -, pango +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gobject-introspection, + gtk-doc, + pkg-config, + atk, + cairo, + glade, + gtk3, + pango, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gt/gtkspellmm/package.nix b/pkgs/by-name/gt/gtkspellmm/package.nix index 641ebbf9f08db..80b65a5d70656 100644 --- a/pkgs/by-name/gt/gtkspellmm/package.nix +++ b/pkgs/by-name/gt/gtkspellmm/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl -, pkg-config -, gtk3, glib, glibmm, gtkmm3, gtkspell3 +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk3, + glib, + glibmm, + gtkmm3, + gtkspell3, }: stdenv.mkDerivation rec { @@ -8,8 +15,7 @@ stdenv.mkDerivation rec { version = "3.0.5"; src = fetchurl { - url = "mirror://sourceforge/project/gtkspell/gtkspellmm/" + - "${pname}-${version}.tar.xz"; + url = "mirror://sourceforge/project/gtkspell/gtkspellmm/" + "${pname}-${version}.tar.xz"; sha256 = "0i8mxwyfv5mskachafa4qlh315q0cfph7s66s1s34nffadbmm1sv"; }; @@ -19,7 +25,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - gtk3 glib glibmm gtkmm3 + gtk3 + glib + glibmm + gtkmm3 ]; meta = with lib; { diff --git a/pkgs/by-name/gt/gtkterm/package.nix b/pkgs/by-name/gt/gtkterm/package.nix index 5ec61bb70f503..0b11db2e5566b 100644 --- a/pkgs/by-name/gt/gtkterm/package.nix +++ b/pkgs/by-name/gt/gtkterm/package.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, gtk3, vte, libgudev, wrapGAppsHook3, pcre2 }: +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gtk3, + vte, + libgudev, + wrapGAppsHook3, + pcre2, +}: stdenv.mkDerivation rec { pname = "gtkterm"; diff --git a/pkgs/by-name/gt/gtkwave/package.nix b/pkgs/by-name/gt/gtkwave/package.nix index 9028d3a802887..791c20365117e 100644 --- a/pkgs/by-name/gt/gtkwave/package.nix +++ b/pkgs/by-name/gt/gtkwave/package.nix @@ -1,18 +1,19 @@ -{ bzip2 -, fetchurl -, glib -, gperf -, gtk3 -, gtk-mac-integration -, judy -, lib -, pkg-config -, stdenv -, tcl -, tk -, wrapGAppsHook3 -, xz -, desktopToDarwinBundle +{ + bzip2, + fetchurl, + glib, + gperf, + gtk3, + gtk-mac-integration, + judy, + lib, + pkg-config, + stdenv, + tcl, + tk, + wrapGAppsHook3, + xz, + desktopToDarwinBundle, }: stdenv.mkDerivation rec { @@ -24,13 +25,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-VKpFeI1tUq+2WcOu8zWq/eDvLImQp3cPjqpk5X8ic0Y="; }; - nativeBuildInputs = [ - pkg-config wrapGAppsHook3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - desktopToDarwinBundle - ]; - buildInputs = [ bzip2 glib gperf gtk3 judy tcl tk xz ] - ++ lib.optional stdenv.hostPlatform.isDarwin gtk-mac-integration; + nativeBuildInputs = + [ + pkg-config + wrapGAppsHook3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + desktopToDarwinBundle + ]; + buildInputs = [ + bzip2 + glib + gperf + gtk3 + judy + tcl + tk + xz + ] ++ lib.optional stdenv.hostPlatform.isDarwin gtk-mac-integration; # fix compilation under Darwin # remove these patches upon next release @@ -59,7 +71,11 @@ stdenv.mkDerivation rec { description = "VCD/Waveform viewer for Unix and Win32"; homepage = "https://gtkwave.sourceforge.net"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ thoughtpolice jiegec jleightcap ]; + maintainers = with lib.maintainers; [ + thoughtpolice + jiegec + jleightcap + ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; } diff --git a/pkgs/by-name/gt/gtop/package.nix b/pkgs/by-name/gt/gtop/package.nix index 5d882740e1a0e..331c95b9b98fb 100644 --- a/pkgs/by-name/gt/gtop/package.nix +++ b/pkgs/by-name/gt/gtop/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/gt/gtranslator/package.nix b/pkgs/by-name/gt/gtranslator/package.nix index 7ba08063c9b6d..60e5fa4a32f0f 100644 --- a/pkgs/by-name/gt/gtranslator/package.nix +++ b/pkgs/by-name/gt/gtranslator/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, itstool -, gettext -, desktop-file-utils -, wrapGAppsHook4 -, libxml2 -, libadwaita -, libgda6 -, libsoup_3 -, libspelling -, json-glib -, glib -, gtk4 -, gtksourceview5 -, gnome -, gsettings-desktop-schemas +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + itstool, + gettext, + desktop-file-utils, + wrapGAppsHook4, + libxml2, + libadwaita, + libgda6, + libsoup_3, + libspelling, + json-glib, + glib, + gtk4, + gtksourceview5, + gnome, + gsettings-desktop-schemas, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gt/gtree/package.nix b/pkgs/by-name/gt/gtree/package.nix index 4c862d2184fce..5f50a00132ad2 100644 --- a/pkgs/by-name/gt/gtree/package.nix +++ b/pkgs/by-name/gt/gtree/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, gtree +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gtree, }: buildGoModule rec { diff --git a/pkgs/by-name/gt/gts/package.nix b/pkgs/by-name/gt/gts/package.nix index 9586c3be7b784..db962cb7fab30 100644 --- a/pkgs/by-name/gt/gts/package.nix +++ b/pkgs/by-name/gt/gts/package.nix @@ -1,11 +1,23 @@ -{ fetchurl, lib, stdenv, pkg-config, autoreconfHook, gettext, glib, buildPackages }: - +{ + fetchurl, + lib, + stdenv, + pkg-config, + autoreconfHook, + gettext, + glib, + buildPackages, +}: stdenv.mkDerivation rec { pname = "gts"; version = "0.7.6"; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; src = fetchurl { url = "mirror://sourceforge/gts/${pname}-${version}.tar.gz"; @@ -15,7 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config autoreconfHook - glib # required to satisfy AM_PATH_GLIB_2_0 + glib # required to satisfy AM_PATH_GLIB_2_0 ]; buildInputs = [ gettext ]; propagatedBuildInputs = [ glib ]; diff --git a/pkgs/by-name/gt/gtt/package.nix b/pkgs/by-name/gt/gtt/package.nix index 8f3e116b53242..fb52b0b94ae18 100644 --- a/pkgs/by-name/gt/gtt/package.nix +++ b/pkgs/by-name/gt/gtt/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, alsa-lib -, wl-clipboard -, xclip +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + alsa-lib, + wl-clipboard, + xclip, }: buildGoModule rec { @@ -30,7 +31,10 @@ buildGoModule rec { wl-clipboard ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Google Translate TUI (Originally). Now support Apertium, Argos, Bing, ChatGPT, DeepL, Google, Reverso"; diff --git a/pkgs/by-name/gt/gtypist/package.nix b/pkgs/by-name/gt/gtypist/package.nix index 4d9fe630ca42d..59628e7a64d54 100644 --- a/pkgs/by-name/gt/gtypist/package.nix +++ b/pkgs/by-name/gt/gtypist/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchurl, makeWrapper, libiconv, ncurses, perl, fortune}: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + libiconv, + ncurses, + perl, + fortune, +}: stdenv.mkDerivation rec { pname = "gtypist"; @@ -12,12 +21,15 @@ stdenv.mkDerivation rec { CFLAGS = "-std=gnu89"; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ncurses perl fortune ] - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + buildInputs = [ + ncurses + perl + fortune + ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; preFixup = '' - wrapProgram "$out/bin/typefortune" \ - --prefix PATH : "${fortune}/bin" \ + wrapProgram "$out/bin/typefortune" \ + --prefix PATH : "${fortune}/bin" \ ''; meta = with lib; { diff --git a/pkgs/by-name/gu/guacamole-client/package.nix b/pkgs/by-name/gu/guacamole-client/package.nix index cc02021804366..41af451583b31 100644 --- a/pkgs/by-name/gu/guacamole-client/package.nix +++ b/pkgs/by-name/gu/guacamole-client/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchurl +{ + lib, + stdenvNoCC, + fetchurl, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -29,7 +30,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://guacamole.apache.org/"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.drupol ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; diff --git a/pkgs/by-name/gu/guacamole-server/package.nix b/pkgs/by-name/gu/guacamole-server/package.nix index 42bf481e252ac..a146225be312d 100644 --- a/pkgs/by-name/gu/guacamole-server/package.nix +++ b/pkgs/by-name/gu/guacamole-server/package.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch2 -, pkg-config -, autoPatchelfHook -, autoreconfHook -, cairo -, ffmpeg-headless -, freerdp -, libjpeg_turbo -, libpng -, libossp_uuid -, libpulseaudio -, libssh2 -, libtelnet -, libvncserver -, libvorbis -, libwebp -, libwebsockets -, makeBinaryWrapper -, openssl -, pango -, perl -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + pkg-config, + autoPatchelfHook, + autoreconfHook, + cairo, + ffmpeg-headless, + freerdp, + libjpeg_turbo, + libpng, + libossp_uuid, + libpulseaudio, + libssh2, + libtelnet, + libvncserver, + libvorbis, + libwebp, + libwebsockets, + makeBinaryWrapper, + openssl, + pango, + perl, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -100,6 +101,9 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.asl20; mainProgram = "guacd"; maintainers = [ lib.maintainers.drupol ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; }) diff --git a/pkgs/by-name/gu/guake/package.nix b/pkgs/by-name/gu/guake/package.nix index 44131d3c87b5b..f31b1a143441e 100644 --- a/pkgs/by-name/gu/guake/package.nix +++ b/pkgs/by-name/gu/guake/package.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python311 -, python311Packages -, glibcLocales -, gobject-introspection -, wrapGAppsHook3 -, gtk3 -, keybinder3 -, libnotify -, libutempter -, vte -, libwnck -, dconf -, nixosTests +{ + lib, + fetchFromGitHub, + fetchpatch, + python311, + python311Packages, + glibcLocales, + gobject-introspection, + wrapGAppsHook3, + gtk3, + keybinder3, + libnotify, + libutempter, + vte, + libwnck, + dconf, + nixosTests, }: python311Packages.buildPythonApplication rec { @@ -97,7 +98,10 @@ python311Packages.buildPythonApplication rec { description = "Drop-down terminal for GNOME"; homepage = "http://guake-project.org"; license = licenses.gpl2Plus; - maintainers = [ maintainers.msteen maintainers.heywoodlh ]; + maintainers = [ + maintainers.msteen + maintainers.heywoodlh + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/gu/gubbi-font/package.nix b/pkgs/by-name/gu/gubbi-font/package.nix index 0b6b42493fe35..dbc5109a318e2 100644 --- a/pkgs/by-name/gu/gubbi-font/package.nix +++ b/pkgs/by-name/gu/gubbi-font/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fontforge }: +{ + lib, + stdenv, + fetchFromGitHub, + fontforge, +}: stdenv.mkDerivation rec { pname = "gubbi-font"; diff --git a/pkgs/by-name/gu/gucci/package.nix b/pkgs/by-name/gu/gucci/package.nix index c4e0ef81503da..82cc016de143f 100644 --- a/pkgs/by-name/gu/gucci/package.nix +++ b/pkgs/by-name/gu/gucci/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, gucci }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gucci, +}: buildGoModule rec { pname = "gucci"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-/4OnbtxxhXQnmSV6UbjgzXdL7szhL9rKiG5BR8FsyqI="; - ldflags = [ "-s" "-w" "-X main.AppVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.AppVersion=${version}" + ]; passthru.tests.version = testers.testVersion { package = gucci; diff --git a/pkgs/by-name/gu/gucharmap/package.nix b/pkgs/by-name/gu/gucharmap/package.nix index f6fd425d434bd..38e2cd6f86b11 100644 --- a/pkgs/by-name/gu/gucharmap/package.nix +++ b/pkgs/by-name/gu/gucharmap/package.nix @@ -1,38 +1,39 @@ -{ stdenv -, lib -, intltool -, fetchFromGitLab -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, python3 -, gtk3 -, pcre2 -, glib -, desktop-file-utils -, gtk-doc -, wrapGAppsHook3 -, itstool -, libxml2 -, yelp-tools -, docbook_xsl -, docbook_xml_dtd_412 -, gsettings-desktop-schemas -, unzip -, unicode-character-database -, unihan-database -, runCommand -, symlinkJoin -, gobject-introspection -, gitUpdater +{ + stdenv, + lib, + intltool, + fetchFromGitLab, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + python3, + gtk3, + pcre2, + glib, + desktop-file-utils, + gtk-doc, + wrapGAppsHook3, + itstool, + libxml2, + yelp-tools, + docbook_xsl, + docbook_xml_dtd_412, + gsettings-desktop-schemas, + unzip, + unicode-character-database, + unihan-database, + runCommand, + symlinkJoin, + gobject-introspection, + gitUpdater, }: let # TODO: make upstream patch allowing to use the uncompressed file, # preferably from XDG_DATA_DIRS. # https://gitlab.gnome.org/GNOME/gucharmap/issues/13 - unihanZip = runCommand "unihan" {} '' + unihanZip = runCommand "unihan" { } '' mkdir -p $out/share/unicode ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip ''; @@ -43,11 +44,17 @@ let unicode-character-database ]; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "gucharmap"; version = "16.0.1"; - outputs = [ "out" "lib" "dev" "devdoc" ]; + outputs = [ + "out" + "lib" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -58,25 +65,27 @@ in stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - wrapGAppsHook3 - unzip - intltool - itstool - gtk-doc - docbook_xsl - docbook_xml_dtd_412 - yelp-tools - libxml2 - desktop-file-utils - gobject-introspection - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + python3 + wrapGAppsHook3 + unzip + intltool + itstool + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + yelp-tools + libxml2 + desktop-file-utils + gobject-introspection + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ gtk3 diff --git a/pkgs/by-name/gu/guetzli/package.nix b/pkgs/by-name/gu/guetzli/package.nix index 945416e3f03d9..2ecb32068b3e4 100644 --- a/pkgs/by-name/gu/guetzli/package.nix +++ b/pkgs/by-name/gu/guetzli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, libpng, fetchFromGitHub, pkg-config }: +{ + lib, + stdenv, + libpng, + fetchFromGitHub, + pkg-config, +}: let version = "1.0.1"; in diff --git a/pkgs/by-name/gu/guff/package.nix b/pkgs/by-name/gu/guff/package.nix index c9043bcf82722..17be43aba7bde 100644 --- a/pkgs/by-name/gu/guff/package.nix +++ b/pkgs/by-name/gu/guff/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "guff"; @@ -15,7 +19,7 @@ stdenv.mkDerivation rec { doCheck = true; - meta = with lib; { + meta = with lib; { description = "Plot device"; homepage = "https://github.com/silentbicycle/guff"; license = licenses.isc; diff --git a/pkgs/by-name/gu/guile-aspell/package.nix b/pkgs/by-name/gu/guile-aspell/package.nix index cf5e51e2540b7..dbb87edb5d037 100644 --- a/pkgs/by-name/gu/guile-aspell/package.nix +++ b/pkgs/by-name/gu/guile-aspell/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, guile -, autoreconfHook -, pkg-config -, aspell -, texinfo +{ + lib, + stdenv, + fetchFromGitHub, + guile, + autoreconfHook, + pkg-config, + aspell, + texinfo, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gu/guile-avahi/package.nix b/pkgs/by-name/gu/guile-avahi/package.nix index 3a8c9be42998f..0a305451958e2 100644 --- a/pkgs/by-name/gu/guile-avahi/package.nix +++ b/pkgs/by-name/gu/guile-avahi/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchgit -, avahi -, gmp -, buildPackages -, autoreconfHook -, pkg-config -, texinfo -, guile +{ + stdenv, + lib, + fetchgit, + avahi, + gmp, + buildPackages, + autoreconfHook, + pkg-config, + texinfo, + guile, }: stdenv.mkDerivation rec { @@ -22,9 +23,17 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ]; + nativeBuildInputs = [ + autoreconfHook + guile + pkg-config + texinfo + ]; buildInputs = [ guile ]; - propagatedBuildInputs = [ avahi gmp ]; + propagatedBuildInputs = [ + avahi + gmp + ]; doCheck = true; makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; @@ -38,4 +47,3 @@ stdenv.mkDerivation rec { platforms = guile.meta.platforms; }; } - diff --git a/pkgs/by-name/gu/guile-cairo/package.nix b/pkgs/by-name/gu/guile-cairo/package.nix index 3ed308de46b1e..de1c3da398d45 100644 --- a/pkgs/by-name/gu/guile-cairo/package.nix +++ b/pkgs/by-name/gu/guile-cairo/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, cairo -, expat -, guile -, guile-lib -, pkg-config +{ + lib, + stdenv, + fetchurl, + cairo, + expat, + guile, + guile-lib, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/guile-chickadee/package.nix b/pkgs/by-name/gu/guile-chickadee/package.nix index aa34a0d36df9b..f7a59f14b798a 100644 --- a/pkgs/by-name/gu/guile-chickadee/package.nix +++ b/pkgs/by-name/gu/guile-chickadee/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, makeWrapper -, testers -, guile -, pkg-config -, texinfo -, freetype -, libjpeg_turbo -, libpng -, libvorbis -, mpg123 -, openal -, readline -, guile-opengl -, guile-sdl2 -, guile-chickadee +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + makeWrapper, + testers, + guile, + pkg-config, + texinfo, + freetype, + libjpeg_turbo, + libpng, + libvorbis, + mpg123, + openal, + readline, + guile-opengl, + guile-sdl2, + guile-chickadee, }: stdenv.mkDerivation (finalAttrs: { pname = "guile-chickadee"; diff --git a/pkgs/by-name/gu/guile-commonmark/package.nix b/pkgs/by-name/gu/guile-commonmark/package.nix index aa5b2ee5ce7fe..24be48cb09107 100644 --- a/pkgs/by-name/gu/guile-commonmark/package.nix +++ b/pkgs/by-name/gu/guile-commonmark/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, guile -, pkg-config -, texinfo +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + guile, + pkg-config, + texinfo, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/gu/guile-config/package.nix b/pkgs/by-name/gu/guile-config/package.nix index d0fe7be0c87ed..7881a5edf8813 100644 --- a/pkgs/by-name/gu/guile-config/package.nix +++ b/pkgs/by-name/gu/guile-config/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, texinfo, guile }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + texinfo, + guile, +}: stdenv.mkDerivation rec { pname = "guile-config"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-n4ukGCyIx5G1ITfKSqS6FGJ6dnDBsyxXKSFNi81E4Gg="; }; - nativeBuildInputs = [ autoreconfHook pkg-config texinfo ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + texinfo + ]; buildInputs = [ guile ]; diff --git a/pkgs/by-name/gu/guile-fibers/package.nix b/pkgs/by-name/gu/guile-fibers/package.nix index c5b9b07a61244..a2a6468941ddb 100644 --- a/pkgs/by-name/gu/guile-fibers/package.nix +++ b/pkgs/by-name/gu/guile-fibers/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, guile -, libevent -, pkg-config -, texinfo +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + guile, + libevent, + pkg-config, + texinfo, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/guile-gcrypt/package.nix b/pkgs/by-name/gu/guile-gcrypt/package.nix index 3b6aa220ae923..8c461558ed555 100644 --- a/pkgs/by-name/gu/guile-gcrypt/package.nix +++ b/pkgs/by-name/gu/guile-gcrypt/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitea -, guile -, libgcrypt -, autoreconfHook -, pkg-config -, texinfo +{ + lib, + stdenv, + fetchFromGitea, + guile, + libgcrypt, + autoreconfHook, + pkg-config, + texinfo, }: stdenv.mkDerivation rec { @@ -22,7 +23,11 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ - autoreconfHook guile libgcrypt pkg-config texinfo + autoreconfHook + guile + libgcrypt + pkg-config + texinfo ]; buildInputs = [ guile diff --git a/pkgs/by-name/gu/guile-goblins/package.nix b/pkgs/by-name/gu/guile-goblins/package.nix index f34d5878f8ab8..50168628b8950 100644 --- a/pkgs/by-name/gu/guile-goblins/package.nix +++ b/pkgs/by-name/gu/guile-goblins/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, guile -, guile-fibers -, guile-gcrypt -, guile-gnutls -, texinfo -, pkg-config +{ + lib, + stdenv, + fetchurl, + guile, + guile-fibers, + guile-gcrypt, + guile-gnutls, + texinfo, + pkg-config, }: stdenv.mkDerivation rec { pname = "guile-goblins"; @@ -18,8 +19,17 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ guile pkg-config texinfo ]; - buildInputs = [ guile guile-fibers guile-gcrypt guile-gnutls ]; + nativeBuildInputs = [ + guile + pkg-config + texinfo + ]; + buildInputs = [ + guile + guile-fibers + guile-gcrypt + guile-gnutls + ]; makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; # tests hang on darwin, and fail randomly on aarch64-linux on ofborg diff --git a/pkgs/by-name/gu/guile-hall/package.nix b/pkgs/by-name/gu/guile-hall/package.nix index 3c57fb4da8ce0..4a7ae9bef5d6f 100644 --- a/pkgs/by-name/gu/guile-hall/package.nix +++ b/pkgs/by-name/gu/guile-hall/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config -, texinfo, makeWrapper, guile, guile-config }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + texinfo, + makeWrapper, + guile, + guile-config, +}: stdenv.mkDerivation rec { pname = "guile-hall"; @@ -12,9 +21,17 @@ stdenv.mkDerivation rec { hash = "sha256-TUCN8kW44X6iGbSJURurcz/Tc2eCH1xgmXH1sMOMOXs="; }; - nativeBuildInputs = [ autoreconfHook pkg-config texinfo makeWrapper ]; - - buildInputs = [ guile guile-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + texinfo + makeWrapper + ]; + + buildInputs = [ + guile + guile-config + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/gu/guile-json/package.nix b/pkgs/by-name/gu/guile-json/package.nix index cb34e22e62379..2955c87522b64 100644 --- a/pkgs/by-name/gu/guile-json/package.nix +++ b/pkgs/by-name/gu/guile-json/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, guile -, texinfo -, pkg-config +{ + lib, + stdenv, + fetchurl, + guile, + texinfo, + pkg-config, }: stdenv.mkDerivation rec { @@ -17,7 +18,9 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ - guile pkg-config texinfo + guile + pkg-config + texinfo ]; buildInputs = [ guile diff --git a/pkgs/by-name/gu/guile-lib/package.nix b/pkgs/by-name/gu/guile-lib/package.nix index 4d32bbb046142..d6d51c9878a88 100644 --- a/pkgs/by-name/gu/guile-lib/package.nix +++ b/pkgs/by-name/gu/guile-lib/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, guile -, pkg-config -, texinfo +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + guile, + pkg-config, + texinfo, }: stdenv.mkDerivation rec { @@ -53,7 +54,10 @@ stdenv.mkDerivation rec { for Guile". ''; license = licenses.gpl3Plus; - maintainers = with maintainers; [ vyp foo-dogsquared ]; + maintainers = with maintainers; [ + vyp + foo-dogsquared + ]; platforms = guile.meta.platforms; }; } diff --git a/pkgs/by-name/gu/guile-lzlib/package.nix b/pkgs/by-name/gu/guile-lzlib/package.nix index a465849470b04..faefb69bc2651 100644 --- a/pkgs/by-name/gu/guile-lzlib/package.nix +++ b/pkgs/by-name/gu/guile-lzlib/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, guile -, pkg-config -, texinfo -, lzlib +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + guile, + pkg-config, + texinfo, + lzlib, }: stdenv.mkDerivation rec { @@ -19,8 +20,16 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ]; - propagatedBuildInputs = [ guile lzlib ]; + nativeBuildInputs = [ + autoreconfHook + guile + pkg-config + texinfo + ]; + propagatedBuildInputs = [ + guile + lzlib + ]; makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; diff --git a/pkgs/by-name/gu/guile-lzma/package.nix b/pkgs/by-name/gu/guile-lzma/package.nix index 9f7b941f068f8..2149ed4227593 100644 --- a/pkgs/by-name/gu/guile-lzma/package.nix +++ b/pkgs/by-name/gu/guile-lzma/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchurl -, xz -, pkg-config -, guile -, scheme-bytestructures +{ + stdenv, + lib, + fetchurl, + xz, + pkg-config, + guile, + scheme-bytestructures, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/guile-ncurses/package.nix b/pkgs/by-name/gu/guile-ncurses/package.nix index e20da1d9f98c7..16272d2758056 100644 --- a/pkgs/by-name/gu/guile-ncurses/package.nix +++ b/pkgs/by-name/gu/guile-ncurses/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, guile -, libffi -, ncurses +{ + lib, + stdenv, + fetchurl, + pkg-config, + guile, + libffi, + ncurses, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/guile-opengl/package.nix b/pkgs/by-name/gu/guile-opengl/package.nix index efbb23cf71f5f..f0ffc65863469 100644 --- a/pkgs/by-name/gu/guile-opengl/package.nix +++ b/pkgs/by-name/gu/guile-opengl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, guile -, pkg-config +{ + lib, + stdenv, + fetchurl, + guile, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/guile-quickcheck/package.nix b/pkgs/by-name/gu/guile-quickcheck/package.nix index 2c3c0f9c4b9bf..2c77b99ca18dd 100644 --- a/pkgs/by-name/gu/guile-quickcheck/package.nix +++ b/pkgs/by-name/gu/guile-quickcheck/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, guile +{ + stdenv, + lib, + fetchurl, + pkg-config, + guile, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ guile pkg-config ]; + nativeBuildInputs = [ + guile + pkg-config + ]; buildInputs = [ guile ]; doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/gu/guile-reader/package.nix b/pkgs/by-name/gu/guile-reader/package.nix index 17c9cfe9da8c8..1f2dae51f886c 100644 --- a/pkgs/by-name/gu/guile-reader/package.nix +++ b/pkgs/by-name/gu/guile-reader/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, gperf -, guile -, guile-lib -, libffi -, pkg-config +{ + lib, + stdenv, + fetchurl, + gperf, + guile, + guile-lib, + libffi, + pkg-config, }: stdenv.mkDerivation rec { @@ -27,11 +28,13 @@ stdenv.mkDerivation rec { libffi ]; - env = { - GUILE_SITE = "${guile-lib}/${guile.siteDir}"; - } // lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; - }; + env = + { + GUILE_SITE = "${guile-lib}/${guile.siteDir}"; + } + // lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; configureFlags = [ "--with-guilemoduledir=$(out)/${guile.siteDir}" ]; @@ -39,13 +42,13 @@ stdenv.mkDerivation rec { homepage = "https://www.nongnu.org/guile-reader/"; description = "Simple framework for building readers for GNU Guile"; longDescription = '' - Guile-Reader is a simple framework for building readers for GNU Guile. + Guile-Reader is a simple framework for building readers for GNU Guile. - The idea is to make it easy to build procedures that extend Guile's read - procedure. Readers supporting various syntax variants can easily be - written, possibly by re-using existing "token readers" of a standard - Scheme readers. For example, it is used to implement Skribilo's - R5RS-derived document syntax. + The idea is to make it easy to build procedures that extend Guile's read + procedure. Readers supporting various syntax variants can easily be + written, possibly by re-using existing "token readers" of a standard + Scheme readers. For example, it is used to implement Skribilo's + R5RS-derived document syntax. ''; license = licenses.lgpl3Plus; maintainers = with maintainers; [ ]; diff --git a/pkgs/by-name/gu/guile-sdl/package.nix b/pkgs/by-name/gu/guile-sdl/package.nix index b996e6d84b473..e0dd9a28bb0d4 100644 --- a/pkgs/by-name/gu/guile-sdl/package.nix +++ b/pkgs/by-name/gu/guile-sdl/package.nix @@ -59,8 +59,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.gnu.org/software/guile-sdl/"; description = "Guile bindings for SDL"; license = lib.licenses.gpl3Plus; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (guile.meta) platforms; }; }) diff --git a/pkgs/by-name/gu/guile-sdl2/package.nix b/pkgs/by-name/gu/guile-sdl2/package.nix index 0ae8424b597dc..cc39d0fe299ec 100644 --- a/pkgs/by-name/gu/guile-sdl2/package.nix +++ b/pkgs/by-name/gu/guile-sdl2/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, SDL2 -, SDL2_image -, SDL2_mixer -, SDL2_ttf -, guile -, libtool -, pkg-config +{ + lib, + stdenv, + fetchurl, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + guile, + libtool, + pkg-config, }: stdenv.mkDerivation rec { @@ -46,7 +47,10 @@ stdenv.mkDerivation rec { homepage = "https://dthompson.us/projects/guile-sdl2.html"; description = "Bindings to SDL2 for GNU Guile"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ seppeljordan vyp ]; + maintainers = with maintainers; [ + seppeljordan + vyp + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/gu/guile-semver/package.nix b/pkgs/by-name/gu/guile-semver/package.nix index 3d4713f709666..aad799d81798e 100644 --- a/pkgs/by-name/gu/guile-semver/package.nix +++ b/pkgs/by-name/gu/guile-semver/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, texinfo -, guile +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + texinfo, + guile, }: stdenv.mkDerivation rec { @@ -17,14 +18,18 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ]; + nativeBuildInputs = [ + autoreconfHook + guile + pkg-config + texinfo + ]; buildInputs = [ guile ]; doCheck = true; meta = with lib; { - description = - "A GNU Guile library implementing Semantic Versioning 2.0.0"; + description = "A GNU Guile library implementing Semantic Versioning 2.0.0"; homepage = "https://ngyro.com/software/guile-semver.html"; license = licenses.gpl3Plus; maintainers = with maintainers; [ foo-dogsquared ]; diff --git a/pkgs/by-name/gu/guile-sjson/package.nix b/pkgs/by-name/gu/guile-sjson/package.nix index 8f9b49f95e062..27ca1cf25668d 100644 --- a/pkgs/by-name/gu/guile-sjson/package.nix +++ b/pkgs/by-name/gu/guile-sjson/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, guile -, pkg-config +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + guile, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gu/guile-ssh/package.nix b/pkgs/by-name/gu/guile-ssh/package.nix index 5fca74a79462a..c77ee9df5cb49 100644 --- a/pkgs/by-name/gu/guile-ssh/package.nix +++ b/pkgs/by-name/gu/guile-ssh/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, guile -, libssh -, autoreconfHook -, pkg-config -, texinfo -, which +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + guile, + libssh, + autoreconfHook, + pkg-config, + texinfo, + which, }: stdenv.mkDerivation (finalAttrs: { @@ -61,7 +62,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Bindings to Libssh for GNU Guile"; homepage = "https://github.com/artyom-poptsov/guile-ssh"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ ethancedwards8 foo-dogsquared ]; + maintainers = with maintainers; [ + ethancedwards8 + foo-dogsquared + ]; platforms = guile.meta.platforms; }; }) diff --git a/pkgs/by-name/gu/guile-xcb/package.nix b/pkgs/by-name/gu/guile-xcb/package.nix index 2102e395d0b30..f288f6299bf40 100644 --- a/pkgs/by-name/gu/guile-xcb/package.nix +++ b/pkgs/by-name/gu/guile-xcb/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, guile -, pkg-config -, texinfo +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + guile, + pkg-config, + texinfo, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/guile-zstd/package.nix b/pkgs/by-name/gu/guile-zstd/package.nix index 2c0f9b8d0425b..4b35092837633 100644 --- a/pkgs/by-name/gu/guile-zstd/package.nix +++ b/pkgs/by-name/gu/guile-zstd/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitea -, autoreconfHook -, pkg-config -, guile -, texinfo -, zstd +{ + stdenv, + lib, + fetchFromGitea, + autoreconfHook, + pkg-config, + guile, + texinfo, + zstd, }: stdenv.mkDerivation rec { @@ -21,7 +22,12 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ]; + nativeBuildInputs = [ + autoreconfHook + guile + pkg-config + texinfo + ]; buildInputs = [ guile ]; propagatedBuildInputs = [ zstd ]; makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; diff --git a/pkgs/by-name/gu/guilt/package.nix b/pkgs/by-name/gu/guilt/package.nix index bca572b28bcac..77152b5930bc2 100644 --- a/pkgs/by-name/gu/guilt/package.nix +++ b/pkgs/by-name/gu/guilt/package.nix @@ -1,16 +1,17 @@ -{ asciidoc -, docbook_xml_dtd_45 -, docbook_xsl -, fetchFromGitHub -, gawk -, git -, gnused -, lib -, makeWrapper -, openssl -, perl -, stdenv -, xmlto +{ + asciidoc, + docbook_xml_dtd_45, + docbook_xsl, + fetchFromGitHub, + gawk, + git, + gnused, + lib, + makeWrapper, + openssl, + perl, + stdenv, + xmlto, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/gum/package.nix b/pkgs/by-name/gu/gum/package.nix index 3870851655038..0bb5894cb3ef0 100644 --- a/pkgs/by-name/gu/gum/package.nix +++ b/pkgs/by-name/gu/gum/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, installShellFiles, fetchFromGitHub }: +{ + lib, + stdenv, + buildGoModule, + installShellFiles, + fetchFromGitHub, +}: buildGoModule rec { pname = "gum"; @@ -17,17 +23,23 @@ buildGoModule rec { installShellFiles ]; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; - postInstall = '' - $out/bin/gum man > gum.1 - installManPage gum.1 - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd gum \ - --bash <($out/bin/gum completion bash) \ - --fish <($out/bin/gum completion fish) \ - --zsh <($out/bin/gum completion zsh) - ''; + postInstall = + '' + $out/bin/gum man > gum.1 + installManPage gum.1 + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd gum \ + --bash <($out/bin/gum completion bash) \ + --fish <($out/bin/gum completion fish) \ + --zsh <($out/bin/gum completion zsh) + ''; meta = with lib; { description = "Tasty Bubble Gum for your shell"; diff --git a/pkgs/by-name/gu/gummi/package.nix b/pkgs/by-name/gu/gummi/package.nix index 857db4fd95bfd..8c7af62fde9fc 100644 --- a/pkgs/by-name/gu/gummi/package.nix +++ b/pkgs/by-name/gu/gummi/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, pkgs -, glib, gtk3, gtksourceview3, gtkspell3, poppler, texlive -, pkg-config, intltool, autoreconfHook, wrapGAppsHook3 +{ + lib, + stdenv, + pkgs, + glib, + gtk3, + gtksourceview3, + gtkspell3, + poppler, + texlive, + pkg-config, + intltool, + autoreconfHook, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -15,10 +26,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config intltool autoreconfHook wrapGAppsHook3 + pkg-config + intltool + autoreconfHook + wrapGAppsHook3 ]; buildInputs = [ - glib gtksourceview3 gtk3 gtkspell3 poppler + glib + gtksourceview3 + gtk3 + gtkspell3 + poppler texlive.bin.core # needed for synctex ]; diff --git a/pkgs/by-name/gu/gummy/package.nix b/pkgs/by-name/gu/gummy/package.nix index 2b34d02d5b0a7..e43ac701772aa 100644 --- a/pkgs/by-name/gu/gummy/package.nix +++ b/pkgs/by-name/gu/gummy/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitea -, testers -, cmake -, libX11 -, libXext -, sdbus-cpp -, udev -, xcbutilimage -, coreutils -, cli11 -, ddcutil -, fmt -, nlohmann_json -, spdlog -, nix-update-script +{ + lib, + stdenv, + fetchFromGitea, + testers, + cmake, + libX11, + libXext, + sdbus-cpp, + udev, + xcbutilimage, + coreutils, + cli11, + ddcutil, + fmt, + nlohmann_json, + spdlog, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/gu/gungnir/package.nix b/pkgs/by-name/gu/gungnir/package.nix index 5ca7388338efe..5b60b62ac0569 100644 --- a/pkgs/by-name/gu/gungnir/package.nix +++ b/pkgs/by-name/gu/gungnir/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-2RCIZS8oawaXtAYZDiLgNsco9llWCxNwQcA67F51rag="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Command-line tool that continuously monitors certificate transparency (CT) logs for newly issued SSL/TLS certificates"; @@ -26,4 +30,3 @@ buildGoModule rec { mainProgram = "gungnir"; }; } - diff --git a/pkgs/by-name/gu/gupnp-av/package.nix b/pkgs/by-name/gu/gupnp-av/package.nix index 97c7ed790ac42..59145c2c421a0 100644 --- a/pkgs/by-name/gu/gupnp-av/package.nix +++ b/pkgs/by-name/gu/gupnp-av/package.nix @@ -1,24 +1,29 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_412 -, glib -, libxml2 -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_412, + glib, + libxml2, + gnome, }: stdenv.mkDerivation rec { pname = "gupnp-av"; version = "0.14.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/gu/gupnp-dlna/package.nix b/pkgs/by-name/gu/gupnp-dlna/package.nix index 44e7c5b5f47c5..848303ff58ed8 100644 --- a/pkgs/by-name/gu/gupnp-dlna/package.nix +++ b/pkgs/by-name/gu/gupnp-dlna/package.nix @@ -1,24 +1,29 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_412 -, libxml2 -, gst_all_1 -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_412, + libxml2, + gst_all_1, + gnome, }: stdenv.mkDerivation rec { pname = "gupnp-dlna"; version = "0.12.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/gu/gupnp-igd/package.nix b/pkgs/by-name/gu/gupnp-igd/package.nix index 60a3bfe911170..7d26c68a68bc9 100644 --- a/pkgs/by-name/gu/gupnp-igd/package.nix +++ b/pkgs/by-name/gu/gupnp-igd/package.nix @@ -1,24 +1,28 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, meson -, ninja -, gettext -, gobject-introspection -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 -, glib -, gupnp -, gnome +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + gettext, + gobject-introspection, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + glib, + gupnp, + gnome, }: stdenv.mkDerivation rec { pname = "gupnp-igd"; version = "1.2.0"; - outputs = [ "out" "dev" ] - ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/gu/gupnp-tools/package.nix b/pkgs/by-name/gu/gupnp-tools/package.nix index 254201e28962e..e40546c094c7c 100644 --- a/pkgs/by-name/gu/gupnp-tools/package.nix +++ b/pkgs/by-name/gu/gupnp-tools/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, gupnp_1_6 -, libsoup_3 -, gssdp_1_6 -, pkg-config -, gtk3 -, gettext -, gupnp-av -, gtksourceview4 -, gnome -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + gupnp_1_6, + libsoup_3, + gssdp_1_6, + pkg-config, + gtk3, + gettext, + gupnp-av, + gtksourceview4, + gnome, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gu/gusb/package.nix b/pkgs/by-name/gu/gusb/package.nix index c49df7fd75fe9..75ba45988acb4 100644 --- a/pkgs/by-name/gu/gusb/package.nix +++ b/pkgs/by-name/gu/gusb/package.nix @@ -1,34 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, meson -, ninja -, pkg-config -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, gobject-introspection -, gi-docgen -, python3 -, glib -, libusb1 -, json-glib -, vala -, hwdata -, umockdev +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + meson, + ninja, + pkg-config, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + gobject-introspection, + gi-docgen, + python3, + glib, + libusb1, + json-glib, + vala, + hwdata, + umockdev, }: let - pythonEnv = python3.pythonOnBuildForHost.withPackages (ps: with ps; [ - setuptools - ]); + pythonEnv = python3.pythonOnBuildForHost.withPackages ( + ps: with ps; [ + setuptools + ] + ); in stdenv.mkDerivation rec { pname = "gusb"; version = "0.4.9"; - outputs = [ "bin" "out" "dev" ] - ++ lib.optionals withIntrospection [ "devdoc" ]; + outputs = [ + "bin" + "out" + "dev" + ] ++ lib.optionals withIntrospection [ "devdoc" ]; src = fetchFromGitHub { owner = "hughsie"; @@ -50,15 +58,17 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - ] ++ lib.optionals withIntrospection [ - gobject-introspection - gi-docgen - vala - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + gi-docgen + vala + ]; # all required in gusb.pc propagatedBuildInputs = [ diff --git a/pkgs/by-name/gu/gut/package.nix b/pkgs/by-name/gu/gut/package.nix index 9874a9447780d..c49ba59dfd819 100644 --- a/pkgs/by-name/gu/gut/package.nix +++ b/pkgs/by-name/gu/gut/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { @@ -17,7 +18,11 @@ buildGoModule rec { vendorHash = "sha256-G9oDMHLmdv/vQfofTqKAf21xaGp+lvW+sedLmaj+A5A="; - ldflags = [ "-s" "-w" "-X github.com/julien040/gut/src/telemetry.gutVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/julien040/gut/src/telemetry.gutVersion=${version}" + ]; # Depends on `/home` existing doCheck = false; diff --git a/pkgs/by-name/gv/gv/package.nix b/pkgs/by-name/gv/gv/package.nix index b812e56073804..a35771ed0be3f 100644 --- a/pkgs/by-name/gv/gv/package.nix +++ b/pkgs/by-name/gv/gv/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, libXext, Xaw3d, ghostscriptX, perl, pkg-config, libiconv }: +{ + lib, + stdenv, + fetchurl, + libXext, + Xaw3d, + ghostscriptX, + perl, + pkg-config, + libiconv, +}: stdenv.mkDerivation rec { pname = "gv"; @@ -14,14 +24,16 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libXext - Xaw3d - ghostscriptX - perl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + buildInputs = + [ + libXext + Xaw3d + ghostscriptX + perl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; patchPhase = '' sed 's|\|${ghostscriptX}/bin/gs|g' -i "src/"*.in diff --git a/pkgs/by-name/gv/gvfs/package.nix b/pkgs/by-name/gv/gvfs/package.nix index 046c1a59c9998..e70cccc2568b0 100644 --- a/pkgs/by-name/gv/gvfs/package.nix +++ b/pkgs/by-name/gv/gvfs/package.nix @@ -1,47 +1,48 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, substituteAll -, gettext -, dbus -, glib -, udevSupport ? stdenv.hostPlatform.isLinux -, libgudev -, udisks2 -, libgcrypt -, libcap -, polkit -, libgphoto2 -, avahi -, libarchive -, fuse3 -, libcdio -, libxml2 -, libsoup_3 -, libxslt -, docbook_xsl -, docbook_xml_dtd_42 -, samba -, libmtp -, gnomeSupport ? false -, gnome -, gcr_4 -, glib-networking -, gnome-online-accounts -, wrapGAppsHook3 -, libimobiledevice -, libbluray -, libcdio-paranoia -, libnfs -, openssh -, libsecret -, libgdata -, libmsgraph -, python3 -, gsettings-desktop-schemas +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + substituteAll, + gettext, + dbus, + glib, + udevSupport ? stdenv.hostPlatform.isLinux, + libgudev, + udisks2, + libgcrypt, + libcap, + polkit, + libgphoto2, + avahi, + libarchive, + fuse3, + libcdio, + libxml2, + libsoup_3, + libxslt, + docbook_xsl, + docbook_xml_dtd_42, + samba, + libmtp, + gnomeSupport ? false, + gnome, + gcr_4, + glib-networking, + gnome-online-accounts, + wrapGAppsHook3, + libimobiledevice, + libbluray, + libcdio-paranoia, + libnfs, + openssh, + libsecret, + libgdata, + libmsgraph, + python3, + gsettings-desktop-schemas, }: stdenv.mkDerivation (finalAttrs: { @@ -76,64 +77,72 @@ stdenv.mkDerivation (finalAttrs: { docbook_xml_dtd_42 ]; - buildInputs = [ - glib - libgcrypt - dbus - libgphoto2 - avahi - libarchive - libimobiledevice - libbluray - libnfs - libxml2 - gsettings-desktop-schemas - libsoup_3 - ] ++ lib.optionals udevSupport [ - libgudev - udisks2 - fuse3 - libcdio - samba - libmtp - libcap - polkit - libcdio-paranoia - ] ++ lib.optionals gnomeSupport [ - gcr_4 - glib-networking # TLS support - gnome-online-accounts - libsecret - libgdata - libmsgraph - ]; + buildInputs = + [ + glib + libgcrypt + dbus + libgphoto2 + avahi + libarchive + libimobiledevice + libbluray + libnfs + libxml2 + gsettings-desktop-schemas + libsoup_3 + ] + ++ lib.optionals udevSupport [ + libgudev + udisks2 + fuse3 + libcdio + samba + libmtp + libcap + polkit + libcdio-paranoia + ] + ++ lib.optionals gnomeSupport [ + gcr_4 + glib-networking # TLS support + gnome-online-accounts + libsecret + libgdata + libmsgraph + ]; - mesonFlags = [ - "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" - "-Dtmpfilesdir=no" - ] ++ lib.optionals (!udevSupport) [ - "-Dgudev=false" - "-Dudisks2=false" - "-Dfuse=false" - "-Dcdda=false" - "-Dsmb=false" - "-Dmtp=false" - "-Dadmin=false" - "-Dgphoto2=false" - "-Dlibusb=false" - "-Dlogind=false" - ] ++ lib.optionals (!gnomeSupport) [ - "-Dgcr=false" - "-Dgoa=false" - "-Dkeyring=false" - "-Dgoogle=false" - "-Donedrive=false" - ] ++ lib.optionals (avahi == null) [ - "-Ddnssd=false" - ] ++ lib.optionals (samba == null) [ - # Xfce don't want samba - "-Dsmb=false" - ]; + mesonFlags = + [ + "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" + "-Dtmpfilesdir=no" + ] + ++ lib.optionals (!udevSupport) [ + "-Dgudev=false" + "-Dudisks2=false" + "-Dfuse=false" + "-Dcdda=false" + "-Dsmb=false" + "-Dmtp=false" + "-Dadmin=false" + "-Dgphoto2=false" + "-Dlibusb=false" + "-Dlogind=false" + ] + ++ lib.optionals (!gnomeSupport) [ + "-Dgcr=false" + "-Dgoa=false" + "-Dkeyring=false" + "-Dgoogle=false" + "-Donedrive=false" + ] + ++ lib.optionals (avahi == null) [ + "-Ddnssd=false" + ] + ++ lib.optionals (samba == null) [ + # Xfce don't want samba + "-Dsmb=false" + ]; doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'" doInstallCheck = finalAttrs.finalPackage.doCheck; @@ -148,7 +157,8 @@ stdenv.mkDerivation (finalAttrs: { }; meta = with lib; { - description = "Virtual Filesystem support library" + optionalString gnomeSupport " (full GNOME support)"; + description = + "Virtual Filesystem support library" + optionalString gnomeSupport " (full GNOME support)"; license = licenses.lgpl2Plus; platforms = platforms.unix; maintainers = teams.gnome.members; diff --git a/pkgs/by-name/gv/gvolicon/package.nix b/pkgs/by-name/gv/gvolicon/package.nix index 9f7237dd497b0..b275fdaaa1cfd 100644 --- a/pkgs/by-name/gv/gvolicon/package.nix +++ b/pkgs/by-name/gv/gvolicon/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, makeWrapper, alsa-lib, pkg-config, fetchFromGitHub, gtk3, adwaita-icon-theme, gdk-pixbuf, librsvg, wrapGAppsHook3 }: +{ + lib, + stdenv, + makeWrapper, + alsa-lib, + pkg-config, + fetchFromGitHub, + gtk3, + adwaita-icon-theme, + gdk-pixbuf, + librsvg, + wrapGAppsHook3, +}: stdenv.mkDerivation { pname = "gvolicon"; @@ -11,10 +23,17 @@ stdenv.mkDerivation { sha256 = "sha256-lm5OfryV1/1T1RgsVDdp0Jg5rh8AND8M3ighfrznKes="; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; buildInputs = [ - alsa-lib gtk3 gdk-pixbuf adwaita-icon-theme - librsvg wrapGAppsHook3 + alsa-lib + gtk3 + gdk-pixbuf + adwaita-icon-theme + librsvg + wrapGAppsHook3 ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/gv/gvpe/package.nix b/pkgs/by-name/gv/gvpe/package.nix index 13e61e59d3dc1..cca9f556a2d5e 100644 --- a/pkgs/by-name/gv/gvpe/package.nix +++ b/pkgs/by-name/gv/gvpe/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, openssl, gmp, zlib, iproute2, nettools, pkg-config }: +{ + lib, + stdenv, + fetchurl, + openssl, + gmp, + zlib, + iproute2, + nettools, + pkg-config, +}: stdenv.mkDerivation rec { pname = "gvpe"; @@ -10,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl gmp zlib ]; + buildInputs = [ + openssl + gmp + zlib + ]; configureFlags = [ "--enable-tcp" diff --git a/pkgs/by-name/gv/gvproxy/package.nix b/pkgs/by-name/gv/gvproxy/package.nix index 4a886c4b50bd9..c02926b9c8eb6 100644 --- a/pkgs/by-name/gv/gvproxy/package.nix +++ b/pkgs/by-name/gv/gvproxy/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "gvproxy"; diff --git a/pkgs/by-name/gw/gwc/package.nix b/pkgs/by-name/gw/gwc/package.nix index 29bfc047e1993..5cced6ce7fdca 100644 --- a/pkgs/by-name/gw/gwc/package.nix +++ b/pkgs/by-name/gw/gwc/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, alsa-lib -, libpulseaudio -, gtk2 -, hicolor-icon-theme -, libsndfile -, fftw +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + alsa-lib, + libpulseaudio, + gtk2, + hicolor-icon-theme, + libsndfile, + fftw, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gw/gwyddion/package.nix b/pkgs/by-name/gw/gwyddion/package.nix index ff656a6ce5605..69a3ddaf11dd9 100644 --- a/pkgs/by-name/gw/gwyddion/package.nix +++ b/pkgs/by-name/gw/gwyddion/package.nix @@ -1,41 +1,69 @@ -{ lib, stdenv, fetchurl, gtk2, pkg-config, fftw, file, +{ + lib, + stdenv, + fetchurl, + gtk2, + pkg-config, + fftw, + file, gnome2, - openexrSupport ? true, openexr, - libzipSupport ? true, libzip, - libxml2Support ? true, libxml2, - libwebpSupport ? true, libwebp, + openexrSupport ? true, + openexr, + libzipSupport ? true, + libzip, + libxml2Support ? true, + libxml2, + libwebpSupport ? true, + libwebp, # libXmu is not used if libunique is. - libXmuSupport ? false, xorg, - libxsltSupport ? true, libxslt, - fitsSupport ? true, cfitsio, - zlibSupport ? true, zlib, - libuniqueSupport ? true, libunique, - libpngSupport ? true, libpng, - openglSupport ? !stdenv.hostPlatform.isDarwin, libGL + libXmuSupport ? false, + xorg, + libxsltSupport ? true, + libxslt, + fitsSupport ? true, + cfitsio, + zlibSupport ? true, + zlib, + libuniqueSupport ? true, + libunique, + libpngSupport ? true, + libpng, + openglSupport ? !stdenv.hostPlatform.isDarwin, + libGL, }: stdenv.mkDerivation rec { pname = "gwyddion"; - version = "2.67"; + version = "2.67"; src = fetchurl { url = "mirror://sourceforge/gwyddion/gwyddion-${version}.tar.xz"; sha256 = "sha256-kK6vTeADc2lrC+9KgqxFtih62ce3rKYkkGjU0qT8jWE="; }; - nativeBuildInputs = [ pkg-config file ]; + nativeBuildInputs = [ + pkg-config + file + ]; - buildInputs = [ gtk2 fftw ] ++ - lib.optionals openglSupport [ gnome2.gtkglext libGL ] ++ - lib.optional openexrSupport openexr ++ - lib.optional libXmuSupport xorg.libXmu ++ - lib.optional fitsSupport cfitsio ++ - lib.optional libpngSupport libpng ++ - lib.optional libxsltSupport libxslt ++ - lib.optional libxml2Support libxml2 ++ - lib.optional libwebpSupport libwebp ++ - lib.optional zlibSupport zlib ++ - lib.optional libuniqueSupport libunique ++ - lib.optional libzipSupport libzip; + buildInputs = + [ + gtk2 + fftw + ] + ++ lib.optionals openglSupport [ + gnome2.gtkglext + libGL + ] + ++ lib.optional openexrSupport openexr + ++ lib.optional libXmuSupport xorg.libXmu + ++ lib.optional fitsSupport cfitsio + ++ lib.optional libpngSupport libpng + ++ lib.optional libxsltSupport libxslt + ++ lib.optional libxml2Support libxml2 + ++ lib.optional libwebpSupport libwebp + ++ lib.optional zlibSupport zlib + ++ lib.optional libuniqueSupport libunique + ++ lib.optional libzipSupport libzip; # This patch corrects problems with python support, but should apply cleanly # regardless of whether python support is enabled, and have no effects if diff --git a/pkgs/by-name/gx/gx-go/package.nix b/pkgs/by-name/gx/gx-go/package.nix index 8f8053c99591a..1bb74d913bd2b 100644 --- a/pkgs/by-name/gx/gx-go/package.nix +++ b/pkgs/by-name/gx/gx-go/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gx-go"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-A3jZYu7+LGCukzlrxgIPmnkcxSoWm5YJZmFG3hliMm4="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Tool for importing go packages into gx"; diff --git a/pkgs/by-name/gx/gxemul/package.nix b/pkgs/by-name/gx/gxemul/package.nix index 88ea01f9d76ef..1825a36e05a1f 100644 --- a/pkgs/by-name/gx/gxemul/package.nix +++ b/pkgs/by-name/gx/gxemul/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, libX11 +{ + lib, + stdenv, + fetchurl, + libX11, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/gx/gxkb/package.nix b/pkgs/by-name/gx/gxkb/package.nix index f64982ed717f7..2692a65239266 100644 --- a/pkgs/by-name/gx/gxkb/package.nix +++ b/pkgs/by-name/gx/gxkb/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, git, autoreconfHook, pkg-config, gtk3, libwnck, libxklavier -, appindicatorSupport ? true, libayatana-appindicator +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + git, + autoreconfHook, + pkg-config, + gtk3, + libwnck, + libxklavier, + appindicatorSupport ? true, + libayatana-appindicator, }: stdenv.mkDerivation rec { @@ -13,18 +24,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-oBIBIkj4p6HlF0PRQtI/K5dhLs7pbPxN7Cgr/YZaI1s="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ gtk3 libwnck libxklavier ] ++ lib.optional appindicatorSupport libayatana-appindicator; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + gtk3 + libwnck + libxklavier + ] ++ lib.optional appindicatorSupport libayatana-appindicator; configureFlags = lib.optional appindicatorSupport "--enable-appindicator=yes"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; # This patch restore data which was wiped by upstream without any technical reasons # https://github.com/omgbebebe/gxkb/commit/727ec8b595a91dbb540e6087750f43b85d0dfbc0 # NOTE: the `patch` hook cannot be used here due to lack of support for git binary patches p1 = fetchurl { - url = "https://github.com/omgbebebe/gxkb/commit/727ec8b595a91dbb540e6087750f43b85d0dfbc0.patch"; - hash = "sha256-x7x3MHHrOnPivvlzOFqgFAA5BDB2LOXMlalPYbwM/1Q="; + url = "https://github.com/omgbebebe/gxkb/commit/727ec8b595a91dbb540e6087750f43b85d0dfbc0.patch"; + hash = "sha256-x7x3MHHrOnPivvlzOFqgFAA5BDB2LOXMlalPYbwM/1Q="; }; postPatch = '' diff --git a/pkgs/by-name/gx/gxmatcheq-lv2/package.nix b/pkgs/by-name/gx/gxmatcheq-lv2/package.nix index 246b034400d43..e49f561fb3310 100644 --- a/pkgs/by-name/gx/gxmatcheq-lv2/package.nix +++ b/pkgs/by-name/gx/gxmatcheq-lv2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + xorgproto, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "GxMatchEQ.lv2"; @@ -13,7 +22,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 xorgproto cairo lv2 + xorg.libX11 + xorgproto + cairo + lv2 ]; # error: format not a string literal and no format arguments [-Werror=format-security] diff --git a/pkgs/by-name/gx/gxmessage/package.nix b/pkgs/by-name/gx/gxmessage/package.nix index 642cc57eb8098..ff139bcee3b7f 100644 --- a/pkgs/by-name/gx/gxmessage/package.nix +++ b/pkgs/by-name/gx/gxmessage/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, gtk3, intltool, pkg-config, texinfo }: +{ + lib, + stdenv, + fetchurl, + gtk3, + intltool, + pkg-config, + texinfo, +}: stdenv.mkDerivation rec { pname = "gxmessage"; @@ -9,14 +17,20 @@ stdenv.mkDerivation rec { sha256 = "db4e1655fc58f31e5770a17dfca4e6c89028ad8b2c8e043febc87a0beedeef05"; }; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ gtk3 texinfo ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + gtk3 + texinfo + ]; meta = { description = "GTK enabled dropin replacement for xmessage"; homepage = "https://trmusson.dreamhosters.com/programs.html#gxmessage"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [jfb]; + maintainers = with lib.maintainers; [ jfb ]; platforms = with lib.platforms; linux; mainProgram = "gxmessage"; }; diff --git a/pkgs/by-name/gx/gxml/package.nix b/pkgs/by-name/gx/gxml/package.nix index 3540336c81787..dc9a8b2f53b9d 100644 --- a/pkgs/by-name/gx/gxml/package.nix +++ b/pkgs/by-name/gx/gxml/package.nix @@ -1,22 +1,27 @@ -{ stdenv -, lib -, fetchFromGitLab -, gobject-introspection -, meson -, ninja -, pkg-config -, vala -, glib -, libgee -, libxml2 -, gitUpdater +{ + stdenv, + lib, + fetchFromGitLab, + gobject-introspection, + meson, + ninja, + pkg-config, + vala, + glib, + libgee, + libxml2, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { pname = "gxml"; version = "0.20.3"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/by-name/gx/gxplugins-lv2/package.nix b/pkgs/by-name/gx/gxplugins-lv2/package.nix index 8d3fb0046eed8..2ea21f9a155c4 100644 --- a/pkgs/by-name/gx/gxplugins-lv2/package.nix +++ b/pkgs/by-name/gx/gxplugins-lv2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + xorgproto, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "GxPlugins.lv2"; @@ -14,7 +23,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 xorgproto cairo lv2 + xorg.libX11 + xorgproto + cairo + lv2 ]; installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ]; diff --git a/pkgs/by-name/gy/gyb/package.nix b/pkgs/by-name/gy/gyb/package.nix index 4bbc668eb4306..9cf2323ac833c 100644 --- a/pkgs/by-name/gy/gyb/package.nix +++ b/pkgs/by-name/gy/gyb/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/gy/gyre-fonts/package.nix b/pkgs/by-name/gy/gyre-fonts/package.nix index 254766d1de289..33a4bcd308e6e 100644 --- a/pkgs/by-name/gy/gyre-fonts/package.nix +++ b/pkgs/by-name/gy/gyre-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "gyre-fonts"; diff --git a/pkgs/by-name/gz/gzrt/package.nix b/pkgs/by-name/gz/gzrt/package.nix index d28b5af803efc..6800a5aa9445d 100644 --- a/pkgs/by-name/gz/gzrt/package.nix +++ b/pkgs/by-name/gz/gzrt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, zlib }: +{ + lib, + stdenv, + fetchurl, + zlib, +}: stdenv.mkDerivation rec { pname = "gzrt"; diff --git a/pkgs/by-name/h2/h2o/package.nix b/pkgs/by-name/h2/h2o/package.nix index b533a908ef988..9f0100b8de9d5 100644 --- a/pkgs/by-name/h2/h2o/package.nix +++ b/pkgs/by-name/h2/h2o/package.nix @@ -1,29 +1,49 @@ -{ lib, stdenv, fetchFromGitHub -, pkg-config, cmake, ninja -, openssl, libuv, zlib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + ninja, + openssl, + libuv, + zlib, }: stdenv.mkDerivation rec { - pname = "h2o"; + pname = "h2o"; version = "2.3.0-beta2"; src = fetchFromGitHub { - owner = "h2o"; - repo = "h2o"; - rev = "refs/tags/v${version}"; + owner = "h2o"; + repo = "h2o"; + rev = "refs/tags/v${version}"; sha256 = "0lwg5sfsr7fw7cfy0hrhadgixm35b5cgcvlhwhbk89j72y1bqi6n"; }; - outputs = [ "out" "man" "dev" "lib" ]; + outputs = [ + "out" + "man" + "dev" + "lib" + ]; - nativeBuildInputs = [ pkg-config cmake ninja ]; - buildInputs = [ openssl libuv zlib ]; + nativeBuildInputs = [ + pkg-config + cmake + ninja + ]; + buildInputs = [ + openssl + libuv + zlib + ]; meta = with lib; { description = "Optimized HTTP/1 and HTTP/2 server"; - homepage = "https://h2o.examp1e.net"; - license = licenses.mit; + homepage = "https://h2o.examp1e.net"; + license = licenses.mit; maintainers = with maintainers; [ thoughtpolice ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/h8/h8mail/package.nix b/pkgs/by-name/h8/h8mail/package.nix index 59da7610d690c..bff26f3d8c2f0 100644 --- a/pkgs/by-name/h8/h8mail/package.nix +++ b/pkgs/by-name/h8/h8mail/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ha/ha-mqtt-discoverable-cli/package.nix b/pkgs/by-name/ha/ha-mqtt-discoverable-cli/package.nix index d9ea3eeb4787f..cf5d6c14112dd 100644 --- a/pkgs/by-name/ha/ha-mqtt-discoverable-cli/package.nix +++ b/pkgs/by-name/ha/ha-mqtt-discoverable-cli/package.nix @@ -20,7 +20,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ poetry-core ]; - dependencies = with python3.pkgs; [ ha-mqtt-discoverable ]; # Project has no real tests diff --git a/pkgs/by-name/ha/habitat/package.nix b/pkgs/by-name/ha/habitat/package.nix index 6830836a7318e..cfc5e8361f329 100644 --- a/pkgs/by-name/ha/habitat/package.nix +++ b/pkgs/by-name/ha/habitat/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, protobuf -, libsodium -, openssl -, xz -, zeromq -, cacert +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + protobuf, + libsodium, + openssl, + xz, + zeromq, + cacert, }: rustPlatform.buildRustPackage rec { @@ -45,7 +46,10 @@ rustPlatform.buildRustPackage rec { zeromq ]; - cargoBuildFlags = [ "-p" "hab" ]; + cargoBuildFlags = [ + "-p" + "hab" + ]; cargoTestFlags = cargoBuildFlags; env = { @@ -59,7 +63,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://www.habitat.sh"; changelog = "https://github.com/habitat-sh/habitat/blob/${src.rev}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ rushmorem qjoly ]; + maintainers = with maintainers; [ + rushmorem + qjoly + ]; mainProgram = "hab"; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/by-name/ha/hachimarupop/package.nix b/pkgs/by-name/ha/hachimarupop/package.nix index 1097bc4386205..4bcf78fe7ed77 100644 --- a/pkgs/by-name/ha/hachimarupop/package.nix +++ b/pkgs/by-name/ha/hachimarupop/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/ha/hack-font/package.nix b/pkgs/by-name/ha/hack-font/package.nix index a503ade5d2395..1fbe9ef59498f 100644 --- a/pkgs/by-name/ha/hack-font/package.nix +++ b/pkgs/by-name/ha/hack-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hack-font"; diff --git a/pkgs/by-name/ha/hackedbox/package.nix b/pkgs/by-name/ha/hackedbox/package.nix index e5812c4c63fa4..023ff246ef56e 100644 --- a/pkgs/by-name/ha/hackedbox/package.nix +++ b/pkgs/by-name/ha/hackedbox/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, freetype -, fribidi -, imlib2 -, libX11 -, libXext -, libXft -, libXinerama -, libXpm -, libXrandr -, libXrender -, pkg-config -, xorgproto +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + freetype, + fribidi, + imlib2, + libX11, + libXext, + libXft, + libXinerama, + libXpm, + libXrandr, + libXrender, + pkg-config, + xorgproto, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ha/hackertyper/package.nix b/pkgs/by-name/ha/hackertyper/package.nix index 0428a38cfeb5c..f482c3a6815a4 100644 --- a/pkgs/by-name/ha/hackertyper/package.nix +++ b/pkgs/by-name/ha/hackertyper/package.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation { pname = "hackertyper"; version = "2.1"; src = fetchFromGitHub { - owner = "Hurricane996"; - repo = "Hackertyper"; - rev = "8d08e3200c65817bd8c5bd0baa5032919315853b"; + owner = "Hurricane996"; + repo = "Hackertyper"; + rev = "8d08e3200c65817bd8c5bd0baa5032919315853b"; sha256 = "0shri0srihw9fk027k61qkxr9ikwkn28aaamrhps6lg0vpbqpx2w"; }; diff --git a/pkgs/by-name/ha/hackneyed/package.nix b/pkgs/by-name/ha/hackneyed/package.nix index e1934337e0a34..6e63869b6077d 100644 --- a/pkgs/by-name/ha/hackneyed/package.nix +++ b/pkgs/by-name/ha/hackneyed/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitLab, imagemagick, inkscape, xcursorgen }: +{ + lib, + stdenvNoCC, + fetchFromGitLab, + imagemagick, + inkscape, + xcursorgen, +}: stdenvNoCC.mkDerivation rec { pname = "hackneyed"; @@ -11,7 +18,11 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-+7QtHgBuhJtQejiHeZ+QoedJo24LqSY51XRVLv9Ho2g="; }; - nativeBuildInputs = [ imagemagick inkscape xcursorgen ]; + nativeBuildInputs = [ + imagemagick + inkscape + xcursorgen + ]; postPatch = '' patchShebangs *.sh @@ -27,7 +38,10 @@ stdenvNoCC.mkDerivation rec { "XCURSORGEN=xcursorgen" ]; - buildFlags = [ "theme" "theme.left" ]; + buildFlags = [ + "theme" + "theme.left" + ]; # The Makefile declares a dependency on the value of $(INKSCAPE) for some reason; # it's unnecessary for building though. diff --git a/pkgs/by-name/ha/hackrf/package.nix b/pkgs/by-name/ha/hackrf/package.nix index 3cbb80393c979..999353e527bd1 100644 --- a/pkgs/by-name/ha/hackrf/package.nix +++ b/pkgs/by-name/ha/hackrf/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libusb1, fftwSinglePrec }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + fftwSinglePrec, +}: stdenv.mkDerivation rec { pname = "hackrf"; @@ -21,7 +29,10 @@ stdenv.mkDerivation rec { fftwSinglePrec ]; - cmakeFlags = [ "-DUDEV_RULES_GROUP=plugdev" "-DUDEV_RULES_PATH=lib/udev/rules.d" ]; + cmakeFlags = [ + "-DUDEV_RULES_GROUP=plugdev" + "-DUDEV_RULES_PATH=lib/udev/rules.d" + ]; preConfigure = '' cd host diff --git a/pkgs/by-name/ha/hacksaw/package.nix b/pkgs/by-name/ha/hacksaw/package.nix index 1f98355a6412d..ddf703433b116 100644 --- a/pkgs/by-name/ha/hacksaw/package.nix +++ b/pkgs/by-name/ha/hacksaw/package.nix @@ -1,12 +1,26 @@ -{ lib, fetchCrate, rustPlatform, pkg-config, libXrandr, libX11, python3 }: +{ + lib, + fetchCrate, + rustPlatform, + pkg-config, + libXrandr, + libX11, + python3, +}: rustPlatform.buildRustPackage rec { pname = "hacksaw"; version = "1.0.4"; - nativeBuildInputs = [ pkg-config python3 ]; + nativeBuildInputs = [ + pkg-config + python3 + ]; - buildInputs = [ libXrandr libX11 ]; + buildInputs = [ + libXrandr + libX11 + ]; src = fetchCrate { inherit pname version; diff --git a/pkgs/by-name/ha/hacompanion/package.nix b/pkgs/by-name/ha/hacompanion/package.nix index d9ad59aeabe79..d9dcc554151ee 100644 --- a/pkgs/by-name/ha/hacompanion/package.nix +++ b/pkgs/by-name/ha/hacompanion/package.nix @@ -1,6 +1,7 @@ -{ lib, +{ + lib, fetchFromGitHub, - buildGoModule + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/ha/hacpack/package.nix b/pkgs/by-name/ha/hacpack/package.nix index 8bab34043c47c..d6d4ea59a104f 100644 --- a/pkgs/by-name/ha/hacpack/package.nix +++ b/pkgs/by-name/ha/hacpack/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hacpack"; diff --git a/pkgs/by-name/ha/hactool/package.nix b/pkgs/by-name/ha/hactool/package.nix index 9cc3a26f6f5e4..815fdfb87c586 100644 --- a/pkgs/by-name/ha/hactool/package.nix +++ b/pkgs/by-name/ha/hactool/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hactool"; diff --git a/pkgs/by-name/ha/haka/package.nix b/pkgs/by-name/ha/haka/package.nix index c51d582f4c0d5..837d8e7be2871 100644 --- a/pkgs/by-name/ha/haka/package.nix +++ b/pkgs/by-name/ha/haka/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchurl, cmake, swig, wireshark, check, rsync, libpcap, gawk, libedit, pcre, nixosTests }: +{ + lib, + stdenv, + fetchurl, + cmake, + swig, + wireshark, + check, + rsync, + libpcap, + gawk, + libedit, + pcre, + nixosTests, +}: -let version = "0.3.0"; in +let + version = "0.3.0"; +in stdenv.mkDerivation { pname = "haka"; @@ -22,7 +38,16 @@ stdenv.mkDerivation { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ swig wireshark check rsync libpcap gawk libedit pcre ]; + buildInputs = [ + swig + wireshark + check + rsync + libpcap + gawk + libedit + pcre + ]; passthru.tests = { inherit (nixosTests) haka; }; @@ -31,6 +56,9 @@ stdenv.mkDerivation { homepage = "http://www.haka-security.org/"; license = lib.licenses.mpl20; maintainers = [ lib.maintainers.tvestelind ]; - platforms = [ "x86_64-linux" "i686-linux" ]; # fails on aarch64 + platforms = [ + "x86_64-linux" + "i686-linux" + ]; # fails on aarch64 }; } diff --git a/pkgs/by-name/ha/hakrawler/package.nix b/pkgs/by-name/ha/hakrawler/package.nix index 58481390f2cc8..61ba00d2c06bd 100644 --- a/pkgs/by-name/ha/hakrawler/package.nix +++ b/pkgs/by-name/ha/hakrawler/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -20,7 +21,7 @@ buildGoModule rec { description = "Web crawler for the discovery of endpoints and assets"; mainProgram = "hakrawler"; homepage = "https://github.com/hakluke/hakrawler"; - longDescription = '' + longDescription = '' Simple, fast web crawler designed for easy, quick discovery of endpoints and assets within a web application. ''; diff --git a/pkgs/by-name/ha/hakuneko/package.nix b/pkgs/by-name/ha/hakuneko/package.nix index fbc76aa1eb90b..70a33c50a27b1 100644 --- a/pkgs/by-name/ha/hakuneko/package.nix +++ b/pkgs/by-name/ha/hakuneko/package.nix @@ -1,23 +1,27 @@ -{ autoPatchelfHook -, dpkg -, fetchurl -, makeDesktopItem -, makeWrapper -, udev -, stdenv -, lib -, wrapGAppsHook3 -, alsa-lib -, nss -, nspr -, systemd -, xorg +{ + autoPatchelfHook, + dpkg, + fetchurl, + makeDesktopItem, + makeWrapper, + udev, + stdenv, + lib, + wrapGAppsHook3, + alsa-lib, + nss, + nspr, + systemd, + xorg, }: let desktopItem = makeDesktopItem { desktopName = "HakuNeko Desktop"; genericName = "Manga & Anime Downloader"; - categories = [ "Network" "FileTransfer" ]; + categories = [ + "Network" + "FileTransfer" + ]; exec = "hakuneko"; icon = "hakuneko-desktop"; name = "hakuneko-desktop"; @@ -27,16 +31,18 @@ stdenv.mkDerivation rec { pname = "hakuneko"; version = "6.1.7"; - src = { - "x86_64-linux" = fetchurl { - url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_amd64.deb"; - sha256 = "06bb17d7a06bb0601053eaaf423f9176f06ff3636cc43ffc024438e1962dcd02"; - }; - "i686-linux" = fetchurl { - url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_i386.deb"; - sha256 = "32017d26bafffaaf0a83dd6954d3926557014af4022a972371169c56c0e3d98b"; - }; - }."${stdenv.hostPlatform.system}" or (throw "unsupported system ${stdenv.hostPlatform.system}"); + src = + { + "x86_64-linux" = fetchurl { + url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_amd64.deb"; + sha256 = "06bb17d7a06bb0601053eaaf423f9176f06ff3636cc43ffc024438e1962dcd02"; + }; + "i686-linux" = fetchurl { + url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_i386.deb"; + sha256 = "32017d26bafffaaf0a83dd6954d3926557014af4022a972371169c56c0e3d98b"; + }; + } + ."${stdenv.hostPlatform.system}" or (throw "unsupported system ${stdenv.hostPlatform.system}"); dontBuild = true; dontConfigure = true; diff --git a/pkgs/by-name/ha/half/package.nix b/pkgs/by-name/ha/half/package.nix index 557ed1ffe90e6..c5ab04a67972e 100644 --- a/pkgs/by-name/ha/half/package.nix +++ b/pkgs/by-name/ha/half/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { version = "2.2.0"; diff --git a/pkgs/by-name/ha/halfempty/package.nix b/pkgs/by-name/ha/halfempty/package.nix index 62b0d161b4123..f52e2df14414b 100644 --- a/pkgs/by-name/ha/halfempty/package.nix +++ b/pkgs/by-name/ha/halfempty/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, glib, hexdump, scowl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + glib, + hexdump, + scowl, +}: stdenv.mkDerivation rec { pname = "halfempty"; @@ -11,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-YGq6fneAMo2jCpLPrjzRJ0eeOsStKaK5L+lwQfqcfpY="; }; - nativeBuildInputs = [ pkg-config hexdump ]; + nativeBuildInputs = [ + pkg-config + hexdump + ]; buildInputs = [ glib ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; diff --git a/pkgs/by-name/ha/halftone/package.nix b/pkgs/by-name/ha/halftone/package.nix index c29bcb8ccd1d4..aa7a4f7f4c29b 100644 --- a/pkgs/by-name/ha/halftone/package.nix +++ b/pkgs/by-name/ha/halftone/package.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, wrapGAppsHook4 -, meson -, ninja -, pkg-config -, appstream-glib -, desktop-file-utils -, gobject-introspection -, glib -, blueprint-compiler -, libadwaita -, python3Packages +{ + lib, + fetchFromGitHub, + wrapGAppsHook4, + meson, + ninja, + pkg-config, + appstream-glib, + desktop-file-utils, + gobject-introspection, + glib, + blueprint-compiler, + libadwaita, + python3Packages, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ha/halibut/package.nix b/pkgs/by-name/ha/halibut/package.nix index 3429df706d2f4..730fc63aa7485 100644 --- a/pkgs/by-name/ha/halibut/package.nix +++ b/pkgs/by-name/ha/halibut/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, cmake, perl}: +{ + lib, + stdenv, + fetchurl, + cmake, + perl, +}: stdenv.mkDerivation rec { pname = "halibut"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0ciikn878vivs4ayvwvr63nnhpcg12m8023xv514zxqpdxlzg85a"; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ + cmake + perl + ]; meta = with lib; { description = "Documentation production system for software manuals"; diff --git a/pkgs/by-name/ha/halo/package.nix b/pkgs/by-name/ha/halo/package.nix index cc817536cdb1b..4e7185858ae68 100644 --- a/pkgs/by-name/ha/halo/package.nix +++ b/pkgs/by-name/ha/halo/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper +{ + lib, + stdenv, + fetchurl, + makeWrapper, # official jre size is 500MB, but temurin-jre-bin is 100MB. -, temurin-jre-bin + temurin-jre-bin, }: stdenv.mkDerivation rec { pname = "halo"; @@ -65,7 +66,10 @@ stdenv.mkDerivation rec { description = "Self-hosted dynamic blogging program"; maintainers = with lib.maintainers; [ yah ]; license = lib.licenses.gpl3Only; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; mainProgram = "halo"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; }; diff --git a/pkgs/by-name/ha/halp/package.nix b/pkgs/by-name/ha/halp/package.nix index 2a8b869861cde..e45c82332060f 100644 --- a/pkgs/by-name/ha/halp/package.nix +++ b/pkgs/by-name/ha/halp/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin -, unixtools +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, + unixtools, }: rustPlatform.buildRustPackage rec { @@ -73,7 +74,10 @@ rustPlatform.buildRustPackage rec { description = "CLI tool to get help with CLI tools"; homepage = "https://github.com/orhun/halp"; changelog = "https://github.com/orhun/halp/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "halp"; }; diff --git a/pkgs/by-name/ha/hammer/package.nix b/pkgs/by-name/ha/hammer/package.nix index d47c62cf9d853..20f8f0580ef5d 100644 --- a/pkgs/by-name/ha/hammer/package.nix +++ b/pkgs/by-name/ha/hammer/package.nix @@ -1,9 +1,10 @@ -{ fetchFromGitLab -, glib -, lib -, pkg-config -, scons -, stdenv +{ + fetchFromGitLab, + glib, + lib, + pkg-config, + scons, + stdenv, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-xMZhUnycGeHkNZfHQ2d9mETti8HwGHZNskFqh9f0810="; }; - nativeBuildInputs = [ pkg-config scons ]; + nativeBuildInputs = [ + pkg-config + scons + ]; buildInputs = [ glib ]; meta = with lib; { diff --git a/pkgs/by-name/ha/hamsket/package.nix b/pkgs/by-name/ha/hamsket/package.nix index 7501bfda3ec5f..94320d1c30d10 100644 --- a/pkgs/by-name/ha/hamsket/package.nix +++ b/pkgs/by-name/ha/hamsket/package.nix @@ -1,7 +1,8 @@ -{ lib -, appimageTools -, fetchurl -, makeDesktopItem +{ + lib, + appimageTools, + fetchurl, + makeDesktopItem, }: let @@ -13,13 +14,15 @@ let sha256 = "sha256-r85ZwcalBd/nCIBxOaQk7XClxj7VZtxwky4eWWm2tZ8="; }; - desktopItem = (makeDesktopItem { - desktopName = "Hamsket"; - name = pname; - exec = pname; - icon = pname; - categories = [ "Network" ]; - }); + desktopItem = ( + makeDesktopItem { + desktopName = "Hamsket"; + name = pname; + exec = pname; + icon = pname; + categories = [ "Network" ]; + } + ); appimageContents = appimageTools.extract { inherit pname version src; diff --git a/pkgs/by-name/ha/hamster/package.nix b/pkgs/by-name/ha/hamster/package.nix index e6e9fbea7722d..a72f6ddbd7e51 100644 --- a/pkgs/by-name/ha/hamster/package.nix +++ b/pkgs/by-name/ha/hamster/package.nix @@ -1,5 +1,18 @@ -{ lib, fetchFromGitHub, python3Packages, intltool, glib, itstool, gtk3 -, wrapGAppsHook3, gobject-introspection, pango, gdk-pixbuf, atk, wafHook }: +{ + lib, + fetchFromGitHub, + python3Packages, + intltool, + glib, + itstool, + gtk3, + wrapGAppsHook3, + gobject-introspection, + pango, + gdk-pixbuf, + atk, + wafHook, +}: python3Packages.buildPythonApplication rec { pname = "hamster"; diff --git a/pkgs/by-name/ha/hamtransfer/package.nix b/pkgs/by-name/ha/hamtransfer/package.nix index 49dbe40cd988b..dc284589c6107 100644 --- a/pkgs/by-name/ha/hamtransfer/package.nix +++ b/pkgs/by-name/ha/hamtransfer/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, protobuf -, sqlite +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + protobuf, + sqlite, }: rustPlatform.buildRustPackage { @@ -37,6 +38,10 @@ rustPlatform.buildRustPackage { description = "Tool for transferring files over amateur radio using modern techniques"; homepage = "https://github.com/ThomasHabets/hamtransfer"; license = licenses.gpl2Only; - maintainers = with maintainers; [ matthewcroughan sarcasticadmin pkharvey ]; + maintainers = with maintainers; [ + matthewcroughan + sarcasticadmin + pkharvey + ]; }; } diff --git a/pkgs/by-name/ha/hanazono/package.nix b/pkgs/by-name/ha/hanazono/package.nix index f6dd5baa60c2d..a3e5cc7a1b5a5 100644 --- a/pkgs/by-name/ha/hanazono/package.nix +++ b/pkgs/by-name/ha/hanazono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hanazono"; @@ -35,7 +39,10 @@ stdenvNoCC.mkDerivation rec { # Unlimited permission is granted to use, copy, and distribute it, with # or without modification, either commercially and noncommercially. # THIS FONT IS PROVIDED "AS IS" WITHOUT WARRANTY. - license = [ licenses.ofl licenses.free ]; + license = [ + licenses.ofl + licenses.free + ]; maintainers = with maintainers; [ mathnerd314 ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/ha/handlr/package.nix b/pkgs/by-name/ha/handlr/package.nix index 612331138572f..5b69d273faa9d 100644 --- a/pkgs/by-name/ha/handlr/package.nix +++ b/pkgs/by-name/ha/handlr/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, shared-mime-info, libiconv, installShellFiles }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + shared-mime-info, + libiconv, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "handlr"; @@ -13,7 +21,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-30fSOzWq1CoIabPWGWndi/SaCN/ckxjlbtzuwV8rk6M="; - nativeBuildInputs = [ installShellFiles shared-mime-info ]; + nativeBuildInputs = [ + installShellFiles + shared-mime-info + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; preCheck = '' diff --git a/pkgs/by-name/ha/hannom/package.nix b/pkgs/by-name/ha/hannom/package.nix index d91de86c532be..3495969e6abcb 100644 --- a/pkgs/by-name/ha/hannom/package.nix +++ b/pkgs/by-name/ha/hannom/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hannom"; diff --git a/pkgs/by-name/ha/hans/package.nix b/pkgs/by-name/ha/hans/package.nix index ac591c200fe22..8314ef012ef20 100644 --- a/pkgs/by-name/ha/hans/package.nix +++ b/pkgs/by-name/ha/hans/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, nettools }: +{ + lib, + stdenv, + fetchFromGitHub, + nettools, +}: stdenv.mkDerivation rec { pname = "hans"; diff --git a/pkgs/by-name/ha/hap-py/package.nix b/pkgs/by-name/ha/hap-py/package.nix index 9f06c822ae96f..d953de197b31f 100644 --- a/pkgs/by-name/ha/hap-py/package.nix +++ b/pkgs/by-name/ha/hap-py/package.nix @@ -20,7 +20,7 @@ let # Bcftools needs perl - runtime = [ + runtime = [ bcftools htslib my-python diff --git a/pkgs/by-name/ha/haproxy/package.nix b/pkgs/by-name/ha/haproxy/package.nix index cfb6ef7da7c16..317097b28b502 100644 --- a/pkgs/by-name/ha/haproxy/package.nix +++ b/pkgs/by-name/ha/haproxy/package.nix @@ -1,22 +1,28 @@ -{ useLua ? true -, usePcre ? true -, withPrometheusExporter ? true -, sslLibrary ? "quictls" -, stdenv -, lib -, fetchurl -, nixosTests -, zlib -, libxcrypt -, wolfssl -, libressl -, quictls -, openssl -, lua5_4 -, pcre2 +{ + useLua ? true, + usePcre ? true, + withPrometheusExporter ? true, + sslLibrary ? "quictls", + stdenv, + lib, + fetchurl, + nixosTests, + zlib, + libxcrypt, + wolfssl, + libressl, + quictls, + openssl, + lua5_4, + pcre2, }: -assert lib.assertOneOf "sslLibrary" sslLibrary [ "quictls" "openssl" "libressl" "wolfssl" ]; +assert lib.assertOneOf "sslLibrary" sslLibrary [ + "quictls" + "openssl" + "libressl" + "wolfssl" +]; let sslPkgs = { inherit quictls openssl libressl; @@ -26,7 +32,8 @@ let }; }; sslPkg = sslPkgs.${sslLibrary}; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "haproxy"; version = "3.1.0"; @@ -35,43 +42,65 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-VqFGhXSrQR3Kveg3+WvqbPPC65DieUafde0dzccPzhE="; }; - buildInputs = [ sslPkg zlib libxcrypt ] + buildInputs = + [ + sslPkg + zlib + libxcrypt + ] ++ lib.optional useLua lua5_4 ++ lib.optional usePcre pcre2; # TODO: make it work on bsd as well makeFlags = [ "PREFIX=${placeholder "out"}" - ("TARGET=" + (if stdenv.hostPlatform.isSunOS then "solaris" - else if stdenv.hostPlatform.isLinux then "linux-glibc" - else if stdenv.hostPlatform.isDarwin then "osx" - else "generic")) + ( + "TARGET=" + + ( + if stdenv.hostPlatform.isSunOS then + "solaris" + else if stdenv.hostPlatform.isLinux then + "linux-glibc" + else if stdenv.hostPlatform.isDarwin then + "osx" + else + "generic" + ) + ) ]; - buildFlags = [ - "USE_ZLIB=yes" - "USE_OPENSSL=yes" - "SSL_INC=${lib.getDev sslPkg}/include" - "SSL_LIB=${lib.getDev sslPkg}/lib" - "USE_QUIC=yes" - ] ++ lib.optionals (sslLibrary == "openssl") [ - "USE_QUIC_OPENSSL_COMPAT=yes" - ] ++ lib.optionals (sslLibrary == "wolfssl") [ - "USE_OPENSSL_WOLFSSL=yes" - ] ++ lib.optionals usePcre [ - "USE_PCRE2=yes" - "USE_PCRE2_JIT=yes" - ] ++ lib.optionals useLua [ - "USE_LUA=yes" - "LUA_LIB_NAME=lua" - "LUA_LIB=${lua5_4}/lib" - "LUA_INC=${lua5_4}/include" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "USE_SYSTEMD=yes" - "USE_GETADDRINFO=1" - ] ++ lib.optionals withPrometheusExporter [ - "USE_PROMEX=yes" - ] ++ [ "CC=${stdenv.cc.targetPrefix}cc" ]; + buildFlags = + [ + "USE_ZLIB=yes" + "USE_OPENSSL=yes" + "SSL_INC=${lib.getDev sslPkg}/include" + "SSL_LIB=${lib.getDev sslPkg}/lib" + "USE_QUIC=yes" + ] + ++ lib.optionals (sslLibrary == "openssl") [ + "USE_QUIC_OPENSSL_COMPAT=yes" + ] + ++ lib.optionals (sslLibrary == "wolfssl") [ + "USE_OPENSSL_WOLFSSL=yes" + ] + ++ lib.optionals usePcre [ + "USE_PCRE2=yes" + "USE_PCRE2_JIT=yes" + ] + ++ lib.optionals useLua [ + "USE_LUA=yes" + "LUA_LIB_NAME=lua" + "LUA_LIB=${lua5_4}/lib" + "LUA_INC=${lua5_4}/include" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "USE_SYSTEMD=yes" + "USE_GETADDRINFO=1" + ] + ++ lib.optionals withPrometheusExporter [ + "USE_PROMEX=yes" + ] + ++ [ "CC=${stdenv.cc.targetPrefix}cc" ]; enableParallelBuilding = true; @@ -81,7 +110,10 @@ in stdenv.mkDerivation (finalAttrs: { changelog = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/CHANGELOG"; description = "Reliable, high performance TCP/HTTP load balancer"; homepage = "https://haproxy.org"; - license = with lib.licenses; [ gpl2Plus lgpl21Only ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Only + ]; longDescription = '' HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based diff --git a/pkgs/by-name/ha/hardinfo/package.nix b/pkgs/by-name/ha/hardinfo/package.nix index 808a36a015ec6..c7cb86f6d6ef0 100644 --- a/pkgs/by-name/ha/hardinfo/package.nix +++ b/pkgs/by-name/ha/hardinfo/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, which, pkg-config, gtk2, pcre, glib, libxml2 -, libsoup_2_4 ? null +{ + lib, + stdenv, + fetchurl, + which, + pkg-config, + gtk2, + pcre, + glib, + libxml2, + libsoup_2_4 ? null, }: stdenv.mkDerivation rec { @@ -14,7 +23,14 @@ stdenv.mkDerivation rec { # Not adding 'hostname' command, the build shouldn't depend on what the build # host is called. nativeBuildInputs = [ pkg-config ]; - buildInputs = [ which gtk2 pcre glib libxml2 libsoup_2_4 ]; + buildInputs = [ + which + gtk2 + pcre + glib + libxml2 + libsoup_2_4 + ]; # Fixes '#error You must compile this program without "-O"' hardeningDisable = [ "all" ]; @@ -45,7 +61,10 @@ stdenv.mkDerivation rec { description = "Display information about your hardware and operating system"; license = licenses.gpl2Only; maintainers = with maintainers; [ bjornfor ]; - platforms = [ "x86_64-linux" "i686-linux" ]; # ARMv7 and AArch64 are unsupported + platforms = [ + "x86_64-linux" + "i686-linux" + ]; # ARMv7 and AArch64 are unsupported mainProgram = "hardinfo"; }; } diff --git a/pkgs/by-name/ha/harminv/package.nix b/pkgs/by-name/ha/harminv/package.nix index f9d8573ca6d5f..f76504b64ba07 100644 --- a/pkgs/by-name/ha/harminv/package.nix +++ b/pkgs/by-name/ha/harminv/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gfortran -, blas -, lapack +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gfortran, + blas, + lapack, }: assert !blas.isILP64; @@ -26,9 +27,15 @@ stdenv.mkDerivation rec { touch ChangeLog ''; - nativeBuildInputs = [ autoreconfHook gfortran ]; + nativeBuildInputs = [ + autoreconfHook + gfortran + ]; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; configureFlags = [ "--enable-shared" @@ -39,7 +46,10 @@ stdenv.mkDerivation rec { description = "Harmonic inversion algorithm of Mandelshtam: decompose signal into sum of decaying sinusoids"; homepage = "https://github.com/NanoComp/harminv"; license = with licenses; [ gpl2Only ]; - maintainers = with maintainers; [ sheepforce markuskowa ]; + maintainers = with maintainers; [ + sheepforce + markuskowa + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ha/harmonia/package.nix b/pkgs/by-name/ha/harmonia/package.nix index 2dad6fc1693f6..0d737c0efdca4 100644 --- a/pkgs/by-name/ha/harmonia/package.nix +++ b/pkgs/by-name/ha/harmonia/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, libsodium -, openssl -, pkg-config -, rustPlatform -, nix-update-script -, nixosTests +{ + lib, + fetchFromGitHub, + libsodium, + openssl, + pkg-config, + rustPlatform, + nix-update-script, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,17 @@ rustPlatform.buildRustPackage rec { doCheck = false; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libsodium openssl ]; + buildInputs = [ + libsodium + openssl + ]; passthru = { updateScript = nix-update-script { - extraArgs = [ "--version-regex" "harmonia-v(.*)" ]; + extraArgs = [ + "--version-regex" + "harmonia-v(.*)" + ]; }; tests = { inherit (nixosTests) harmonia; }; }; diff --git a/pkgs/by-name/ha/harmonist/package.nix b/pkgs/by-name/ha/harmonist/package.nix index 34e996f499b97..2e0ba2c05963f 100644 --- a/pkgs/by-name/ha/harmonist/package.nix +++ b/pkgs/by-name/ha/harmonist/package.nix @@ -1,4 +1,8 @@ -{lib, fetchurl, buildGoModule}: +{ + lib, + fetchurl, + buildGoModule, +}: buildGoModule rec { pname = "harmonist"; @@ -11,7 +15,10 @@ buildGoModule rec { vendorHash = "sha256-0DV32a2LYnfYzg/tqwear9uaaahNUIi0M8uWlXOQ5Ic="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Stealth coffee-break roguelike game"; diff --git a/pkgs/by-name/ha/harsh/package.nix b/pkgs/by-name/ha/harsh/package.nix index be74f531d6a6c..d9f1cd0d83f30 100644 --- a/pkgs/by-name/ha/harsh/package.nix +++ b/pkgs/by-name/ha/harsh/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ha/has/package.nix b/pkgs/by-name/ha/has/package.nix index 6fa84195a2f06..8f629a440a72a 100644 --- a/pkgs/by-name/ha/has/package.nix +++ b/pkgs/by-name/ha/has/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation (finalAttrs: rec { pname = "has"; diff --git a/pkgs/by-name/ha/hase/package.nix b/pkgs/by-name/ha/hase/package.nix index 20e1afa56d39b..715856d7ee6d0 100644 --- a/pkgs/by-name/ha/hase/package.nix +++ b/pkgs/by-name/ha/hase/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, sparrow3d -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + sparrow3d, + zlib, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ha/hash-identifier/package.nix b/pkgs/by-name/ha/hash-identifier/package.nix index 0fe78a4a0db51..48106b2eecf78 100644 --- a/pkgs/by-name/ha/hash-identifier/package.nix +++ b/pkgs/by-name/ha/hash-identifier/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, python3Packages }: +{ + lib, + fetchFromGitLab, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "hash-identifier"; diff --git a/pkgs/by-name/ha/hash-slinger/package.nix b/pkgs/by-name/ha/hash-slinger/package.nix index cb02b806a986c..2915b24014b60 100644 --- a/pkgs/by-name/ha/hash-slinger/package.nix +++ b/pkgs/by-name/ha/hash-slinger/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, unbound -, libreswan +{ + lib, + stdenv, + fetchFromGitHub, + python3, + unbound, + libreswan, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ha/hash_extender/package.nix b/pkgs/by-name/ha/hash_extender/package.nix index 10f82ca77e71b..0c24640efe0a4 100644 --- a/pkgs/by-name/ha/hash_extender/package.nix +++ b/pkgs/by-name/ha/hash_extender/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation { pname = "hash_extender"; diff --git a/pkgs/by-name/ha/hashcash/package.nix b/pkgs/by-name/ha/hashcash/package.nix index 8b1fdea1c935c..db70ed37b1dc9 100644 --- a/pkgs/by-name/ha/hashcash/package.nix +++ b/pkgs/by-name/ha/hashcash/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, openssl }: +{ + lib, + stdenv, + fetchurl, + openssl, +}: stdenv.mkDerivation rec { pname = "hashcash"; diff --git a/pkgs/by-name/ha/hashcat-utils/package.nix b/pkgs/by-name/ha/hashcat-utils/package.nix index f252c7eedce76..63f99e2baf862 100644 --- a/pkgs/by-name/ha/hashcat-utils/package.nix +++ b/pkgs/by-name/ha/hashcat-utils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hashcat-utils"; diff --git a/pkgs/by-name/ha/hashdeep/package.nix b/pkgs/by-name/ha/hashdeep/package.nix index c870353d75b5a..0b6fe047cecd6 100644 --- a/pkgs/by-name/ha/hashdeep/package.nix +++ b/pkgs/by-name/ha/hashdeep/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "hashdeep"; diff --git a/pkgs/by-name/ha/hashi-ui/package.nix b/pkgs/by-name/ha/hashi-ui/package.nix index db4f6fc00091d..104b2ca0e6f36 100644 --- a/pkgs/by-name/ha/hashi-ui/package.nix +++ b/pkgs/by-name/ha/hashi-ui/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "hashi-ui"; diff --git a/pkgs/by-name/ha/hashi-up/package.nix b/pkgs/by-name/ha/hashi-up/package.nix index 60284c1fec286..29f0e3875c7be 100644 --- a/pkgs/by-name/ha/hashi-up/package.nix +++ b/pkgs/by-name/ha/hashi-up/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ha/hashid/package.nix b/pkgs/by-name/ha/hashid/package.nix index 5da915380ff1e..986e694a884c6 100644 --- a/pkgs/by-name/ha/hashid/package.nix +++ b/pkgs/by-name/ha/hashid/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonApplication { diff --git a/pkgs/by-name/ha/hashit/package.nix b/pkgs/by-name/ha/hashit/package.nix index 5e9f07700dc28..57a7d39612e66 100644 --- a/pkgs/by-name/ha/hashit/package.nix +++ b/pkgs/by-name/ha/hashit/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, pantheon, python3, libgee, gtk3, desktop-file-utils, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + pantheon, + python3, + libgee, + gtk3, + desktop-file-utils, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "hashit"; diff --git a/pkgs/by-name/ha/hashpump/package.nix b/pkgs/by-name/ha/hashpump/package.nix index cdb153f2c0802..e894380898b9f 100644 --- a/pkgs/by-name/ha/hashpump/package.nix +++ b/pkgs/by-name/ha/hashpump/package.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchFromGitHub, openssl, lib }: +{ + stdenv, + fetchFromGitHub, + openssl, + lib, +}: stdenv.mkDerivation (finalAttrs: { pname = "hashpump"; diff --git a/pkgs/by-name/ha/hashrat/package.nix b/pkgs/by-name/ha/hashrat/package.nix index f7ebc1179093f..e63122a05ef7c 100644 --- a/pkgs/by-name/ha/hashrat/package.nix +++ b/pkgs/by-name/ha/hashrat/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ha/hasklig/package.nix b/pkgs/by-name/ha/hasklig/package.nix index 5868452c5793b..3b83b91576b3f 100644 --- a/pkgs/by-name/ha/hasklig/package.nix +++ b/pkgs/by-name/ha/hasklig/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hasklig"; diff --git a/pkgs/by-name/ha/hasmail/package.nix b/pkgs/by-name/ha/hasmail/package.nix index 9f148618b254f..8c4317b13eb88 100644 --- a/pkgs/by-name/ha/hasmail/package.nix +++ b/pkgs/by-name/ha/hasmail/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, pango -, cairo -, gtk2 +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + pango, + cairo, + gtk2, }: buildGoModule rec { diff --git a/pkgs/by-name/ha/haste-server/package.nix b/pkgs/by-name/ha/haste-server/package.nix index 30c98f298d41f..289449cf7b39a 100644 --- a/pkgs/by-name/ha/haste-server/package.nix +++ b/pkgs/by-name/ha/haste-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, nixosTests -, buildNpmPackage -, fetchFromGitHub +{ + lib, + nixosTests, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ha/hatari/package.nix b/pkgs/by-name/ha/hatari/package.nix index a7519eb49ecf1..5b654b3ab0d46 100644 --- a/pkgs/by-name/ha/hatari/package.nix +++ b/pkgs/by-name/ha/hatari/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, zlib, SDL, cmake }: +{ + lib, + stdenv, + fetchurl, + zlib, + SDL, + cmake, +}: stdenv.mkDerivation rec { pname = "hatari"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DCMAKE_EXE_LINKER_FLAGS=-lgcc_s" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib SDL ]; + buildInputs = [ + zlib + SDL + ]; meta = { homepage = "http://hatari.tuxfamily.org/"; diff --git a/pkgs/by-name/ha/haunt/tests/001-test-version.nix b/pkgs/by-name/ha/haunt/tests/001-test-version.nix index 026d580c1965f..09ef5b32947d3 100644 --- a/pkgs/by-name/ha/haunt/tests/001-test-version.nix +++ b/pkgs/by-name/ha/haunt/tests/001-test-version.nix @@ -1,5 +1,6 @@ -{ stdenv -, haunt +{ + stdenv, + haunt, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ha/haveged/package.nix b/pkgs/by-name/ha/haveged/package.nix index ef7702559d6d4..266c31d2fe4f4 100644 --- a/pkgs/by-name/ha/haveged/package.nix +++ b/pkgs/by-name/ha/haveged/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ha/havoc/package.nix b/pkgs/by-name/ha/havoc/package.nix index 81b8177c4ec89..7dc9af73d5e31 100644 --- a/pkgs/by-name/ha/havoc/package.nix +++ b/pkgs/by-name/ha/havoc/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, libxkbcommon -, pkg-config -, wayland -, wayland-protocols -, wayland-scanner +{ + lib, + stdenv, + fetchFromGitHub, + libxkbcommon, + pkg-config, + wayland, + wayland-protocols, + wayland-scanner, }: stdenv.mkDerivation (finalAttrs: { @@ -47,7 +48,10 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://github.com/ii8/havoc"; description = "Minimal terminal emulator for Wayland"; - license = with lib.licenses; [ mit publicDomain ]; + license = with lib.licenses; [ + mit + publicDomain + ]; mainProgram = "havoc"; maintainers = with lib.maintainers; [ AndersonTorres ]; inherit (wayland.meta) platforms; diff --git a/pkgs/by-name/ha/hawknl/package.nix b/pkgs/by-name/ha/hawknl/package.nix index 6d60d62fcce76..b13b4567860bf 100644 --- a/pkgs/by-name/ha/hawknl/package.nix +++ b/pkgs/by-name/ha/hawknl/package.nix @@ -1,11 +1,18 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "hawknl"; version = "1.68"; src = fetchurl { - url = "http://urchlay.naptime.net/~urchlay/src/HawkNL${lib.replaceStrings ["."] [""] version}src.zip"; + url = "http://urchlay.naptime.net/~urchlay/src/HawkNL${ + lib.replaceStrings [ "." ] [ "" ] version + }src.zip"; sha256 = "11shn2fbxj3w0j77w0234pqyj1368x686kkgv09q5yqhi1cdp028"; }; diff --git a/pkgs/by-name/ha/hax11/package.nix b/pkgs/by-name/ha/hax11/package.nix index ee90eb0e727f1..5384bf28ee3ae 100644 --- a/pkgs/by-name/ha/hax11/package.nix +++ b/pkgs/by-name/ha/hax11/package.nix @@ -1,10 +1,11 @@ -{ lib -, multiStdenv -, fetchFromGitHub -, libX11 -, libXxf86vm -, xorgproto -, unstableGitUpdater +{ + lib, + multiStdenv, + fetchFromGitHub, + libX11, + libXxf86vm, + xorgproto, + unstableGitUpdater, }: multiStdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,10 @@ multiStdenv.mkDerivation (finalAttrs: { hash = "sha256-ND3N1oMUjmDkF7btcFucDxKxxANL9IKf08/6Kt6LX9o="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; buildInputs = [ libX11 diff --git a/pkgs/by-name/ha/haxor-news/package.nix b/pkgs/by-name/ha/haxor-news/package.nix index 8eedf7bc47b53..0ec51f9fb3556 100644 --- a/pkgs/by-name/ha/haxor-news/package.nix +++ b/pkgs/by-name/ha/haxor-news/package.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub, fetchPypi, python3 }: - +{ + lib, + fetchFromGitHub, + fetchPypi, + python3, +}: let py = python3.override { @@ -53,9 +57,16 @@ buildPythonApplication rec { # will fail without pre-seeded config files doCheck = false; - nativeCheckInputs = [ unittestCheckHook mock ]; + nativeCheckInputs = [ + unittestCheckHook + mock + ]; - unittestFlagsArray = [ "-s" "tests" "-v" ]; + unittestFlagsArray = [ + "-s" + "tests" + "-v" + ]; meta = with lib; { homepage = "https://github.com/donnemartin/haxor-news"; diff --git a/pkgs/by-name/ha/hayabusa/package.nix b/pkgs/by-name/ha/hayabusa/package.nix index 4c30a16cd468f..830cb388e9aeb 100644 --- a/pkgs/by-name/ha/hayabusa/package.nix +++ b/pkgs/by-name/ha/hayabusa/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, vulkan-loader +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + vulkan-loader, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/ha/hayagriva/package.nix b/pkgs/by-name/ha/hayagriva/package.nix index c668cd8bb259b..cb89cc09a5bff 100644 --- a/pkgs/by-name/ha/hayagriva/package.nix +++ b/pkgs/by-name/ha/hayagriva/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -29,7 +30,10 @@ rustPlatform.buildRustPackage rec { description = "Work with references: Literature database management, storage, and citation formatting"; homepage = "https://github.com/typst/hayagriva"; changelog = "https://github.com/typst/hayagriva/releases/tag/v${version}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "hayagriva"; }; diff --git a/pkgs/by-name/hb/hb-honeypot/package.nix b/pkgs/by-name/hb/hb-honeypot/package.nix index 9af60395731e0..45ec85a3e8cf2 100644 --- a/pkgs/by-name/hb/hb-honeypot/package.nix +++ b/pkgs/by-name/hb/hb-honeypot/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, perl +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perl, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/hb/hblock/package.nix b/pkgs/by-name/hb/hblock/package.nix index 329dadedbad29..67294d37ff9d1 100644 --- a/pkgs/by-name/hb/hblock/package.nix +++ b/pkgs/by-name/hb/hblock/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, coreutils -, gawk -, curl -, gnugrep +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + gawk, + curl, + gnugrep, }: stdenv.mkDerivation rec { @@ -19,7 +20,12 @@ stdenv.mkDerivation rec { hash = "sha256-XnBmKOZBHWyjNlv+L24LYns05oGTOJnNNzM0jCwZMuI="; }; - buildInputs = [ coreutils curl gnugrep gawk ]; + buildInputs = [ + coreutils + curl + gnugrep + gawk + ]; nativeBuildInputs = [ makeWrapper ]; installFlags = [ @@ -27,7 +33,14 @@ stdenv.mkDerivation rec { ]; postInstall = '' wrapProgram "$out/bin/hblock" \ - --prefix PATH : ${lib.makeBinPath [ coreutils curl gnugrep gawk ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + curl + gnugrep + gawk + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/hc/hck/package.nix b/pkgs/by-name/hc/hck/package.nix index bf3c023c78651..335fa9ab11380 100644 --- a/pkgs/by-name/hc/hck/package.nix +++ b/pkgs/by-name/hc/hck/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, }: rustPlatform.buildRustPackage rec { @@ -23,8 +24,14 @@ rustPlatform.buildRustPackage rec { description = "Close to drop in replacement for cut that can use a regex delimiter instead of a fixed string"; homepage = "https://github.com/sstadick/hck"; changelog = "https://github.com/sstadick/hck/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ unlicense ]; - maintainers = with maintainers; [ figsoda gepbird ]; + license = with licenses; [ + mit # or + unlicense + ]; + maintainers = with maintainers; [ + figsoda + gepbird + ]; mainProgram = "hck"; }; } diff --git a/pkgs/by-name/hc/hcl2json/package.nix b/pkgs/by-name/hc/hcl2json/package.nix index 08dfd67d25116..fc7860f354c25 100644 --- a/pkgs/by-name/hc/hcl2json/package.nix +++ b/pkgs/by-name/hc/hcl2json/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/hc/hcledit/package.nix b/pkgs/by-name/hc/hcledit/package.nix index 2328840648c13..671dfb4ed3831 100644 --- a/pkgs/by-name/hc/hcledit/package.nix +++ b/pkgs/by-name/hc/hcledit/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/hc/hclfmt/package.nix b/pkgs/by-name/hc/hclfmt/package.nix index 1ed93c4b69d75..a5770aef2aeab 100644 --- a/pkgs/by-name/hc/hclfmt/package.nix +++ b/pkgs/by-name/hc/hclfmt/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "hclfmt"; diff --git a/pkgs/by-name/hc/hcloud/package.nix b/pkgs/by-name/hc/hcloud/package.nix index c9549ba22951c..483268680e062 100644 --- a/pkgs/by-name/hc/hcloud/package.nix +++ b/pkgs/by-name/hc/hcloud/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -40,6 +41,9 @@ buildGoModule rec { mainProgram = "hcloud"; homepage = "https://github.com/hetznercloud/cli"; license = licenses.mit; - maintainers = with maintainers; [ zauberpony techknowlogick ]; + maintainers = with maintainers; [ + zauberpony + techknowlogick + ]; }; } diff --git a/pkgs/by-name/hc/hcxdumptool/package.nix b/pkgs/by-name/hc/hcxdumptool/package.nix index c718ec0b5a0f1..9072ec49a6c72 100644 --- a/pkgs/by-name/hc/hcxdumptool/package.nix +++ b/pkgs/by-name/hc/hcxdumptool/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, openssl }: +{ + stdenv, + lib, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation rec { pname = "hcxdumptool"; diff --git a/pkgs/by-name/hc/hcxtools/package.nix b/pkgs/by-name/hc/hcxtools/package.nix index bde3dc8adec99..05f18f23b421a 100644 --- a/pkgs/by-name/hc/hcxtools/package.nix +++ b/pkgs/by-name/hc/hcxtools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, curl, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + curl, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "hcxtools"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ curl openssl zlib ]; + buildInputs = [ + curl + openssl + zlib + ]; makeFlags = [ "PREFIX=${placeholder "out"}" diff --git a/pkgs/by-name/hd/hd-idle/package.nix b/pkgs/by-name/hd/hd-idle/package.nix index 7c2ac2894a55b..c87179f74c1aa 100644 --- a/pkgs/by-name/hd/hd-idle/package.nix +++ b/pkgs/by-name/hd/hd-idle/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "hd-idle"; diff --git a/pkgs/by-name/hd/hdaps-gl/package.nix b/pkgs/by-name/hd/hdaps-gl/package.nix index d472727ce3acc..0152919e9b178 100644 --- a/pkgs/by-name/hd/hdaps-gl/package.nix +++ b/pkgs/by-name/hd/hdaps-gl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libglut, libGL, libGLU }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libglut, + libGL, + libGLU, +}: stdenv.mkDerivation rec { pname = "hdaps-gl"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libglut libGL libGLU ]; + buildInputs = [ + libglut + libGL + libGLU + ]; meta = with lib; { description = "GL-based laptop model that rotates in real-time via hdaps"; diff --git a/pkgs/by-name/hd/hdapsd/package.nix b/pkgs/by-name/hd/hdapsd/package.nix index 43700d20aa9aa..76e2dc4c4fc43 100644 --- a/pkgs/by-name/hd/hdapsd/package.nix +++ b/pkgs/by-name/hd/hdapsd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "hdapsd"; @@ -11,12 +15,12 @@ stdenv.mkDerivation rec { postInstall = builtins.readFile ./postInstall.sh; - meta = with lib; - { description = "Hard Drive Active Protection System Daemon"; - mainProgram = "hdapsd"; - homepage = "http://hdaps.sf.net/"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = [ maintainers.ehmry ]; - }; + meta = with lib; { + description = "Hard Drive Active Protection System Daemon"; + mainProgram = "hdapsd"; + homepage = "http://hdaps.sf.net/"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.ehmry ]; + }; } diff --git a/pkgs/by-name/hd/hdate/package.nix b/pkgs/by-name/hd/hdate/package.nix index 899630b690990..cb7b8fcf4ada9 100644 --- a/pkgs/by-name/hd/hdate/package.nix +++ b/pkgs/by-name/hd/hdate/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.6.02"; diff --git a/pkgs/by-name/hd/hddfancontrol/package.nix b/pkgs/by-name/hd/hddfancontrol/package.nix index 7af08d9108bfd..1f6770731f0f9 100644 --- a/pkgs/by-name/hd/hddfancontrol/package.nix +++ b/pkgs/by-name/hd/hddfancontrol/package.nix @@ -1,4 +1,12 @@ -{ lib, python3Packages, fetchFromGitHub, hddtemp, hdparm, smartmontools, nixosTests }: +{ + lib, + python3Packages, + fetchFromGitHub, + hddtemp, + hdparm, + smartmontools, + nixosTests, +}: python3Packages.buildPythonPackage rec { pname = "hddfancontrol"; diff --git a/pkgs/by-name/hd/hddtemp/package.nix b/pkgs/by-name/hd/hddtemp/package.nix index 17313e8d17ab6..ab315202405ec 100644 --- a/pkgs/by-name/hd/hddtemp/package.nix +++ b/pkgs/by-name/hd/hddtemp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let db = fetchurl { url = "mirror://savannah/hddtemp/hddtemp.db"; @@ -16,7 +20,12 @@ stdenv.mkDerivation rec { }; # from Gentoo - patches = [ ./byteswap.patch ./dontwake.patch ./execinfo.patch ./satacmds.patch ]; + patches = [ + ./byteswap.patch + ./dontwake.patch + ./execinfo.patch + ./satacmds.patch + ]; configureFlags = [ "--with-db-path=${placeholder "out"}/share/hddtemp/hddtemp.db" diff --git a/pkgs/by-name/hd/hdf5-blosc/package.nix b/pkgs/by-name/hd/hdf5-blosc/package.nix index 985660ff9073d..02682cd81f04c 100644 --- a/pkgs/by-name/hd/hdf5-blosc/package.nix +++ b/pkgs/by-name/hd/hdf5-blosc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, c-blosc, cmake, hdf5, fetchFromGitHub }: +{ + lib, + stdenv, + c-blosc, + cmake, + hdf5, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hdf5-blosc"; @@ -7,16 +14,23 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "Blosc"; repo = pname; - rev = "v${version}"; + rev = "v${version}"; sha256 = "1nj2bm1v6ymm3fmyvhbn6ih5fgdiapavlfghh1pvbmhw71cysyqs"; }; patches = [ ./no-external-blosc.patch ]; - outputs = [ "out" "dev" "plugin" ]; + outputs = [ + "out" + "dev" + "plugin" + ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ c-blosc hdf5 ]; + buildInputs = [ + c-blosc + hdf5 + ]; preConfigure = '' substituteInPlace CMakeLists.txt --replace 'set(BLOSC_INSTALL_DIR "''${CMAKE_CURRENT_BINARY_DIR}/blosc")' 'set(BLOSC_INSTALL_DIR "${c-blosc}")' diff --git a/pkgs/by-name/hd/hdhomerun-config-gui/package.nix b/pkgs/by-name/hd/hdhomerun-config-gui/package.nix index c5ed409117e3f..4256102988f9b 100644 --- a/pkgs/by-name/hd/hdhomerun-config-gui/package.nix +++ b/pkgs/by-name/hd/hdhomerun-config-gui/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libhdhomerun, pkg-config, gtk2 }: +{ + lib, + stdenv, + fetchurl, + libhdhomerun, + pkg-config, + gtk2, +}: stdenv.mkDerivation rec { pname = "hdhomerun-config-gui"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 libhdhomerun ]; + buildInputs = [ + gtk2 + libhdhomerun + ]; configureFlags = [ "CPPFLAGS=-I${libhdhomerun}/include/hdhomerun" ]; makeFlags = [ "SUBDIRS=src" ]; diff --git a/pkgs/by-name/hd/hdl-dump/package.nix b/pkgs/by-name/hd/hdl-dump/package.nix index 8990a447dc0ce..9f8d6dff3249d 100644 --- a/pkgs/by-name/hd/hdl-dump/package.nix +++ b/pkgs/by-name/hd/hdl-dump/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/hd/hdparm/package.nix b/pkgs/by-name/hd/hdparm/package.nix index 156901d3643d7..0ca1d37c4888c 100644 --- a/pkgs/by-name/hd/hdparm/package.nix +++ b/pkgs/by-name/hd/hdparm/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation (finalAttrs: { pname = "hdparm"; diff --git a/pkgs/by-name/hd/hdt/package.nix b/pkgs/by-name/hd/hdt/package.nix index e7c46d78588dd..179054dcab06c 100644 --- a/pkgs/by-name/hd/hdt/package.nix +++ b/pkgs/by-name/hd/hdt/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libtool, pkg-config, zlib, serd }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + libtool, + pkg-config, + zlib, + serd, +}: stdenv.mkDerivation rec { pname = "hdt"; @@ -21,9 +31,16 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ zlib serd ]; + buildInputs = [ + zlib + serd + ]; - nativeBuildInputs = [ autoreconfHook libtool pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + libtool + pkg-config + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/he/headache/package.nix b/pkgs/by-name/he/headache/package.nix index 93077f31104db..bb4747960b833 100644 --- a/pkgs/by-name/he/headache/package.nix +++ b/pkgs/by-name/he/headache/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, nix-update-script, ocamlPackages, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + ocamlPackages, + darwin, +}: let inherit (ocamlPackages) buildDunePackage camomile; diff --git a/pkgs/by-name/he/headlines/package.nix b/pkgs/by-name/he/headlines/package.nix index 0ab9b639769bb..74b01862ad190 100644 --- a/pkgs/by-name/he/headlines/package.nix +++ b/pkgs/by-name/he/headlines/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, cmake -, pkg-config -, libmicrohttpd -, curl -, openssl -, jsoncpp -, libxml2 -, gst_all_1 -, boost -, websocketpp -, libadwaita -, gtkmm4 -, libsecret -, fetchFromGitLab -, wrapGAppsHook4 -, xdg-utils -, youtube-dl -, ffmpeg +{ + lib, + stdenv, + cmake, + pkg-config, + libmicrohttpd, + curl, + openssl, + jsoncpp, + libxml2, + gst_all_1, + boost, + websocketpp, + libadwaita, + gtkmm4, + libsecret, + fetchFromGitLab, + wrapGAppsHook4, + xdg-utils, + youtube-dl, + ffmpeg, }: stdenv.mkDerivation rec { @@ -37,28 +38,36 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = [ - libmicrohttpd - curl - openssl - jsoncpp - libxml2 - boost - websocketpp - libadwaita - gtkmm4 - libsecret - ] ++ (with gst_all_1; [ - gstreamer - gst-libav - gst-plugins-base - (gst-plugins-good.override { gtkSupport = true; }) - gst-plugins-bad - ]); + buildInputs = + [ + libmicrohttpd + curl + openssl + jsoncpp + libxml2 + boost + websocketpp + libadwaita + gtkmm4 + libsecret + ] + ++ (with gst_all_1; [ + gstreamer + gst-libav + gst-plugins-base + (gst-plugins-good.override { gtkSupport = true; }) + gst-plugins-bad + ]); preFixup = '' gappsWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}" + --prefix PATH : "${ + lib.makeBinPath [ + xdg-utils + youtube-dl + ffmpeg + ] + }" ) ''; diff --git a/pkgs/by-name/he/headphones-toolbox/package.nix b/pkgs/by-name/he/headphones-toolbox/package.nix index 2eb5257fee250..550fe4e55f426 100644 --- a/pkgs/by-name/he/headphones-toolbox/package.nix +++ b/pkgs/by-name/he/headphones-toolbox/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, dpkg -, fetchurl -, autoPatchelfHook -, webkitgtk_4_0 +{ + lib, + stdenv, + dpkg, + fetchurl, + autoPatchelfHook, + webkitgtk_4_0, }: stdenv.mkDerivation (finalAttrs: { @@ -38,7 +39,10 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "UI for configuring Ploopy Headphones"; homepage = "https://github.com/ploopyco/headphones-toolbox/"; - maintainers = with maintainers; [ knarkzel nyabinary ]; + maintainers = with maintainers; [ + knarkzel + nyabinary + ]; license = licenses.gpl3Only; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/by-name/he/headphones/package.nix b/pkgs/by-name/he/headphones/package.nix index fa33d16961fe2..816dee0e0d1a4 100644 --- a/pkgs/by-name/he/headphones/package.nix +++ b/pkgs/by-name/he/headphones/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3, makeWrapper }: +{ + lib, + fetchFromGitHub, + python3, + makeWrapper, +}: python3.pkgs.buildPythonApplication rec { pname = "headphones"; @@ -32,8 +37,8 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Automatic music downloader for SABnzbd"; - license = licenses.gpl3Plus; - homepage = "https://github.com/rembo10/headphones"; + license = licenses.gpl3Plus; + homepage = "https://github.com/rembo10/headphones"; maintainers = with lib.maintainers; [ rembo10 ]; mainProgram = "headphones"; }; diff --git a/pkgs/by-name/he/headset-charge-indicator/package.nix b/pkgs/by-name/he/headset-charge-indicator/package.nix index d365b4a5c6737..f5df4146a645d 100644 --- a/pkgs/by-name/he/headset-charge-indicator/package.nix +++ b/pkgs/by-name/he/headset-charge-indicator/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, headsetcontrol, wrapGAppsHook3, python3, gtk3 -, gobject-introspection, libayatana-appindicator }: +{ + lib, + stdenv, + fetchFromGitHub, + headsetcontrol, + wrapGAppsHook3, + python3, + gtk3, + gobject-introspection, + libayatana-appindicator, +}: stdenv.mkDerivation rec { # The last versioned release is 1.0.0.0 from 2020, since then there were updates but no versioned release. @@ -14,7 +23,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-eaAbqeFY+B3CcKJywC3vaRsWZNQENTbALc7L7uW0W6U="; }; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; buildInputs = [ (python3.withPackages (ps: with ps; [ pygobject3 ])) @@ -51,10 +63,8 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/centic9/headset-charge-indicator"; - description = - "A app-indicator for GNOME desktops for controlling some features of various wireless headsets"; - longDescription = - "A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others."; + description = "A app-indicator for GNOME desktops for controlling some features of various wireless headsets"; + longDescription = "A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others."; platforms = platforms.linux; maintainers = with maintainers; [ zebreus ]; license = licenses.bsd2; diff --git a/pkgs/by-name/he/headset/package.nix b/pkgs/by-name/he/headset/package.nix index 4d9ca19f50e13..d0288b78f1baa 100644 --- a/pkgs/by-name/he/headset/package.nix +++ b/pkgs/by-name/he/headset/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, makeWrapper -, electron +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + electron, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ makeWrapper dpkg ]; + nativeBuildInputs = [ + makeWrapper + dpkg + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/he/headsetcontrol/package.nix b/pkgs/by-name/he/headsetcontrol/package.nix index d1d7a75416906..4ca12f94739db 100644 --- a/pkgs/by-name/he/headsetcontrol/package.nix +++ b/pkgs/by-name/he/headsetcontrol/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, hidapi +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + hidapi, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/he/health-check/package.nix b/pkgs/by-name/he/health-check/package.nix index e55433c0a70bd..9c1ab924fec9f 100644 --- a/pkgs/by-name/he/health-check/package.nix +++ b/pkgs/by-name/he/health-check/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, json_c, libbsd }: +{ + stdenv, + lib, + fetchFromGitHub, + json_c, + libbsd, +}: stdenv.mkDerivation rec { pname = "health-check"; @@ -11,9 +17,15 @@ stdenv.mkDerivation rec { hash = "sha256-CPKXpPpdagq3UnTk8Z58WtSPek8L79totKX+Uh6foVg="; }; - buildInputs = [ json_c libbsd ]; + buildInputs = [ + json_c + libbsd + ]; - makeFlags = [ "JSON_OUTPUT=y" "FNOTIFY=y" ]; + makeFlags = [ + "JSON_OUTPUT=y" + "FNOTIFY=y" + ]; installFlags = [ "BINDIR=${placeholder "out"}/bin" diff --git a/pkgs/by-name/he/health/package.nix b/pkgs/by-name/he/health/package.nix index 499a190dd3550..67ef4fb49a43c 100644 --- a/pkgs/by-name/he/health/package.nix +++ b/pkgs/by-name/he/health/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, cargo -, wrapGAppsHook4 -, blueprint-compiler -, libadwaita -, libsecret -, tinysparql -, darwin +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + cargo, + wrapGAppsHook4, + blueprint-compiler, + libadwaita, + libsecret, + tinysparql, + darwin, }: stdenv.mkDerivation rec { @@ -44,18 +45,22 @@ stdenv.mkDerivation rec { blueprint-compiler ]; - buildInputs = [ - libadwaita - libsecret - tinysparql - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + libadwaita + libsecret + tinysparql + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.Foundation + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=incompatible-function-pointer-types" + ] + ); meta = with lib; { description = "Health tracking app for the GNOME desktop"; diff --git a/pkgs/by-name/he/healthchecks/package.nix b/pkgs/by-name/he/healthchecks/package.nix index 1f359ead81f15..043431c53a3bb 100644 --- a/pkgs/by-name/he/healthchecks/package.nix +++ b/pkgs/by-name/he/healthchecks/package.nix @@ -1,8 +1,9 @@ -{ lib -, writeText -, fetchFromGitHub -, nixosTests -, python3 +{ + lib, + writeText, + fetchFromGitHub, + nixosTests, + python3, }: let py = python3.override { @@ -65,14 +66,14 @@ py.pkgs.buildPythonApplication rec { STATIC_ROOT = os.getenv("STATIC_ROOT") - ${lib.concatLines (map - (secret: '' + ${lib.concatLines ( + map (secret: '' ${secret}_FILE = os.getenv("${secret}_FILE") if ${secret}_FILE: with open(${secret}_FILE, "r") as file: ${secret} = file.readline() - '') - secrets)} + '') secrets + )} ''; installPhase = '' diff --git a/pkgs/by-name/he/heatseeker/package.nix b/pkgs/by-name/he/heatseeker/package.nix index 79377f0f22ac7..10d1772dad59a 100644 --- a/pkgs/by-name/he/heatseeker/package.nix +++ b/pkgs/by-name/he/heatseeker/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, rustPlatform, coreutils }: +{ + lib, + fetchFromGitHub, + rustPlatform, + coreutils, +}: rustPlatform.buildRustPackage rec { pname = "heatseeker"; diff --git a/pkgs/by-name/he/heatshrink/package.nix b/pkgs/by-name/he/heatshrink/package.nix index b7508030f9cc4..ec5a15b23a795 100644 --- a/pkgs/by-name/he/heatshrink/package.nix +++ b/pkgs/by-name/he/heatshrink/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/he/hebcal/package.nix b/pkgs/by-name/he/hebcal/package.nix index d8a2b3b7295b8..c21900545a890 100644 --- a/pkgs/by-name/he/hebcal/package.nix +++ b/pkgs/by-name/he/hebcal/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "4.24"; diff --git a/pkgs/by-name/he/hecate/package.nix b/pkgs/by-name/he/hecate/package.nix index a3e8726b13ecb..62265a84c201f 100644 --- a/pkgs/by-name/he/hecate/package.nix +++ b/pkgs/by-name/he/hecate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "hecate"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-eyMrTrNarNCB3w8EOeJBmCbVxpMZy25sQ19icVARU1M="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/by-name/he/hedgedoc-cli/package.nix b/pkgs/by-name/he/hedgedoc-cli/package.nix index ce1497b62c7ce..78eb00563a88f 100644 --- a/pkgs/by-name/he/hedgedoc-cli/package.nix +++ b/pkgs/by-name/he/hedgedoc-cli/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, wget, jq, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + wget, + jq, + curl, +}: let version = "1.0"; @@ -23,7 +31,13 @@ stdenv.mkDerivation { mkdir -p $out/bin cp $src/bin/codimd $out/bin wrapProgram $out/bin/codimd \ - --prefix PATH : ${lib.makeBinPath [ jq wget curl ]} + --prefix PATH : ${ + lib.makeBinPath [ + jq + wget + curl + ] + } ln -s $out/bin/codimd $out/bin/hedgedoc-cli runHook postInstall ''; diff --git a/pkgs/by-name/he/hedgedoc/package.nix b/pkgs/by-name/he/hedgedoc/package.nix index 1db614f03acb4..01b4b38e9b8dd 100644 --- a/pkgs/by-name/he/hedgedoc/package.nix +++ b/pkgs/by-name/he/hedgedoc/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitMinimal -, cacert -, yarn -, makeBinaryWrapper -, nodejs -, python3 -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + gitMinimal, + cacert, + yarn, + makeBinaryWrapper, + nodejs, + python3, + nixosTests, }: let @@ -45,7 +46,8 @@ let outputHash = "sha256-RV9xzNVE4//tPVWVaET78ML3ah+hkZ8x6mTAxe5/pdE="; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "hedgedoc"; inherit version src; diff --git a/pkgs/by-name/he/heisenbridge/package.nix b/pkgs/by-name/he/heisenbridge/package.nix index 59969aa4b901b..e68d7451afe11 100644 --- a/pkgs/by-name/he/heisenbridge/package.nix +++ b/pkgs/by-name/he/heisenbridge/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3 }: +{ + lib, + fetchFromGitHub, + python3, +}: python3.pkgs.buildPythonApplication rec { pname = "heisenbridge"; diff --git a/pkgs/by-name/he/hekatomb/package.nix b/pkgs/by-name/he/hekatomb/package.nix index 0b6e708f65b2d..5fdd1e39c4c05 100644 --- a/pkgs/by-name/he/hekatomb/package.nix +++ b/pkgs/by-name/he/hekatomb/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/he/helio-workstation/package.nix b/pkgs/by-name/he/helio-workstation/package.nix index 70a1ffe91b0f1..3a54a6faa0fc8 100644 --- a/pkgs/by-name/he/helio-workstation/package.nix +++ b/pkgs/by-name/he/helio-workstation/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, alsa-lib, freetype, xorg, curl, libGL, libjack2, zenity -, pkg-config, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + freetype, + xorg, + curl, + libGL, + libjack2, + zenity, + pkg-config, + makeWrapper, }: stdenv.mkDerivation rec { @@ -16,11 +26,24 @@ stdenv.mkDerivation rec { }; buildInputs = [ - alsa-lib freetype xorg.libX11 xorg.libXext xorg.libXinerama xorg.libXrandr - xorg.libXcursor xorg.libXcomposite curl libGL libjack2 zenity + alsa-lib + freetype + xorg.libX11 + xorg.libXext + xorg.libXinerama + xorg.libXrandr + xorg.libXcursor + xorg.libXcomposite + curl + libGL + libjack2 + zenity ]; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; preBuild = '' cd Projects/LinuxMakefile diff --git a/pkgs/by-name/he/helix-gpt/package.nix b/pkgs/by-name/he/helix-gpt/package.nix index 6b6f7a8955bb6..311e674d59a0b 100644 --- a/pkgs/by-name/he/helix-gpt/package.nix +++ b/pkgs/by-name/he/helix-gpt/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, bun, makeBinaryWrapper }: +{ + stdenv, + lib, + fetchFromGitHub, + bun, + makeBinaryWrapper, +}: let pin = lib.importJSON ./pin.json; src = fetchFromGitHub { @@ -11,8 +17,10 @@ let pname = "helix-gpt-node_modules"; inherit src; version = pin.version; - impureEnvVars = lib.fetchers.proxyImpureEnvVars - ++ [ "GIT_PROXY_COMMAND" "SOCKS_SERVER" ]; + impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ + "GIT_PROXY_COMMAND" + "SOCKS_SERVER" + ]; nativeBuildInputs = [ bun ]; dontConfigure = true; buildPhase = '' @@ -60,6 +68,11 @@ stdenv.mkDerivation { mainProgram = "helix-gpt"; maintainers = with maintainers; [ happysalada ]; license = with licenses; [ mit ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/he/helix/package.nix b/pkgs/by-name/he/helix/package.nix index 28c8cfe3dfa0f..1a918acf6e31a 100644 --- a/pkgs/by-name/he/helix/package.nix +++ b/pkgs/by-name/he/helix/package.nix @@ -1,4 +1,10 @@ -{ fetchzip, lib, rustPlatform, git, installShellFiles }: +{ + fetchzip, + lib, + rustPlatform, + git, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "helix"; @@ -14,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Y8zqdS8vl2koXmgFY0hZWWP1ZAO8JgwkoPTYPVpkWsA="; - nativeBuildInputs = [ git installShellFiles ]; + nativeBuildInputs = [ + git + installShellFiles + ]; env.HELIX_DEFAULT_RUNTIME = "${placeholder "out"}/lib/runtime"; @@ -35,6 +44,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://helix-editor.com"; license = licenses.mpl20; mainProgram = "hx"; - maintainers = with maintainers; [ danth yusdacra zowoq ]; + maintainers = with maintainers; [ + danth + yusdacra + zowoq + ]; }; } diff --git a/pkgs/by-name/he/hellmaker/package.nix b/pkgs/by-name/he/hellmaker/package.nix index d05e612dbc80f..4977b1a5610b1 100644 --- a/pkgs/by-name/he/hellmaker/package.nix +++ b/pkgs/by-name/he/hellmaker/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + python3, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/he/hello-cpp/package.nix b/pkgs/by-name/he/hello-cpp/package.nix index a8313a66cc770..e8391645f9342 100644 --- a/pkgs/by-name/he/hello-cpp/package.nix +++ b/pkgs/by-name/he/hello-cpp/package.nix @@ -8,11 +8,14 @@ stdenv.mkDerivation { name = "hello-cpp"; src = ./src; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; meta = { description = "Basic sanity check that C++ and cmake infrastructure are working"; platforms = lib.platforms.all; - maintainers = stdenv.meta.maintainers or []; + maintainers = stdenv.meta.maintainers or [ ]; mainProgram = "hello-cpp"; }; } diff --git a/pkgs/by-name/he/hello-unfree/package.nix b/pkgs/by-name/he/hello-unfree/package.nix index 7ff71814fb5eb..4f8d2187f8a99 100644 --- a/pkgs/by-name/he/hello-unfree/package.nix +++ b/pkgs/by-name/he/hello-unfree/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, runtimeShell }: +{ + lib, + stdenv, + runtimeShell, +}: stdenv.mkDerivation { pname = "example-unfree-package"; diff --git a/pkgs/by-name/he/hello-wayland/package.nix b/pkgs/by-name/he/hello-wayland/package.nix index 97b7da3e0f092..d4f98aee64654 100644 --- a/pkgs/by-name/he/hello-wayland/package.nix +++ b/pkgs/by-name/he/hello-wayland/package.nix @@ -1,6 +1,13 @@ -{ stdenv, lib, fetchFromGitHub -, imagemagick, pkg-config, wayland-scanner, wayland, wayland-protocols -, unstableGitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + imagemagick, + pkg-config, + wayland-scanner, + wayland, + wayland-protocols, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -16,8 +23,15 @@ stdenv.mkDerivation { separateDebugInfo = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ imagemagick pkg-config wayland-scanner ]; - buildInputs = [ wayland wayland-protocols ]; + nativeBuildInputs = [ + imagemagick + pkg-config + wayland-scanner + ]; + buildInputs = [ + wayland + wayland-protocols + ]; installPhase = '' runHook preBuild diff --git a/pkgs/by-name/he/hello/test.nix b/pkgs/by-name/he/hello/test.nix index 7acded2a16f2d..44b5d25c94c3d 100644 --- a/pkgs/by-name/he/hello/test.nix +++ b/pkgs/by-name/he/hello/test.nix @@ -1,8 +1,10 @@ { runCommand, hello }: -runCommand "hello-test-run" { - nativeBuildInputs = [ hello ]; -} '' - diff -U3 --color=auto <(hello) <(echo 'Hello, world!') - touch $out -'' +runCommand "hello-test-run" + { + nativeBuildInputs = [ hello ]; + } + '' + diff -U3 --color=auto <(hello) <(echo 'Hello, world!') + touch $out + '' diff --git a/pkgs/by-name/he/helm-dashboard/package.nix b/pkgs/by-name/he/helm-dashboard/package.nix index 1d7a5447f4cd7..e3ebea92a4cef 100644 --- a/pkgs/by-name/he/helm-dashboard/package.nix +++ b/pkgs/by-name/he/helm-dashboard/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "helm-dashboard"; @@ -16,7 +20,11 @@ buildGoModule rec { # tests require internet access doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=v${version}" + ]; meta = { description = "Simplified way of working with Helm"; diff --git a/pkgs/by-name/he/helm-docs/package.nix b/pkgs/by-name/he/helm-docs/package.nix index e60d34669b91f..bcc89207c3949 100644 --- a/pkgs/by-name/he/helm-docs/package.nix +++ b/pkgs/by-name/he/helm-docs/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "helm-docs"; diff --git a/pkgs/by-name/he/helm-ls/package.nix b/pkgs/by-name/he/helm-ls/package.nix index df72b7dfb615e..3a0ccda3db292 100644 --- a/pkgs/by-name/he/helm-ls/package.nix +++ b/pkgs/by-name/he/helm-ls/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, helm-ls +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + helm-ls, }: buildGoModule rec { diff --git a/pkgs/by-name/he/helmholtz/package.nix b/pkgs/by-name/he/helmholtz/package.nix index a82007c375bd9..ea90db2b4cffc 100644 --- a/pkgs/by-name/he/helmholtz/package.nix +++ b/pkgs/by-name/he/helmholtz/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, puredata }: +{ + lib, + stdenv, + fetchurl, + unzip, + puredata, +}: stdenv.mkDerivation { name = "helmholtz"; diff --git a/pkgs/by-name/he/help2man/package.nix b/pkgs/by-name/he/help2man/package.nix index 9fd35a094db8a..6d44830a98ac8 100644 --- a/pkgs/by-name/he/help2man/package.nix +++ b/pkgs/by-name/he/help2man/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perlPackages, gettext, libintl }: +{ + lib, + stdenv, + fetchurl, + perlPackages, + gettext, + libintl, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -18,8 +25,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ gettext perlPackages.perl perlPackages.LocaleGettext ]; - buildInputs = [ perlPackages.LocaleGettext libintl ]; + nativeBuildInputs = [ + gettext + perlPackages.perl + perlPackages.LocaleGettext + ]; + buildInputs = [ + perlPackages.LocaleGettext + libintl + ]; configureFlags = [ "--enable-nls" diff --git a/pkgs/by-name/he/helvetica-neue-lt-std/package.nix b/pkgs/by-name/he/helvetica-neue-lt-std/package.nix index 61dc6ba14e293..1b4d9eb4c993f 100644 --- a/pkgs/by-name/he/helvetica-neue-lt-std/package.nix +++ b/pkgs/by-name/he/helvetica-neue-lt-std/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { name = "helvetica-neue-lt-std"; diff --git a/pkgs/by-name/he/helvum/package.nix b/pkgs/by-name/he/helvum/package.nix index f75db713f3d8a..9ba438c3df1f1 100644 --- a/pkgs/by-name/he/helvum/package.nix +++ b/pkgs/by-name/he/helvum/package.nix @@ -1,18 +1,19 @@ -{ lib -, cargo -, desktop-file-utils -, fetchFromGitLab -, glib -, gtk4 -, libadwaita -, meson -, ninja -, pipewire -, pkg-config -, rustPlatform -, rustc -, stdenv -, wrapGAppsHook4 +{ + lib, + cargo, + desktop-file-utils, + fetchFromGitLab, + glib, + gtk4, + libadwaita, + meson, + ninja, + pipewire, + pkg-config, + rustPlatform, + rustc, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/he/hepmc2/package.nix b/pkgs/by-name/he/hepmc2/package.nix index 870114ffcba48..6944031910ed0 100644 --- a/pkgs/by-name/he/hepmc2/package.nix +++ b/pkgs/by-name/he/hepmc2/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "hepmc"; @@ -18,9 +23,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "HepMC package is an object oriented event record written in C++ for High Energy Physics Monte Carlo Generators"; - license = licenses.lgpl21; - homepage = "http://hepmc.web.cern.ch/hepmc/"; - platforms = platforms.unix; + license = licenses.lgpl21; + homepage = "http://hepmc.web.cern.ch/hepmc/"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/he/herbe/package.nix b/pkgs/by-name/he/herbe/package.nix index 9ea08f0dc83cd..dedc2e4c290e9 100644 --- a/pkgs/by-name/he/herbe/package.nix +++ b/pkgs/by-name/he/herbe/package.nix @@ -1,5 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, libX11, libXft, freetype, patches ? [ ], - extraLibs ? [ ] }: +{ + stdenv, + lib, + fetchFromGitHub, + libX11, + libXft, + freetype, + patches ? [ ], + extraLibs ? [ ], +}: stdenv.mkDerivation rec { pname = "herbe"; @@ -18,7 +26,11 @@ stdenv.mkDerivation rec { sed -i 's_/usr/include/freetype2_${freetype.dev}/include/freetype2_' Makefile ''; - buildInputs = [ libX11 libXft freetype ] ++ extraLibs; + buildInputs = [ + libX11 + libXft + freetype + ] ++ extraLibs; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/he/herbstluftwm/package.nix b/pkgs/by-name/he/herbstluftwm/package.nix index 825ae0de85e42..64ecfeefe2ae8 100644 --- a/pkgs/by-name/he/herbstluftwm/package.nix +++ b/pkgs/by-name/he/herbstluftwm/package.nix @@ -1,7 +1,28 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, libXdmcp, libXfixes, freetype, asciidoc -, xdotool, xorgserver, xsetroot, xterm, runtimeShell -, fetchpatch -, nixosTests }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + python3, + libX11, + libXext, + libXinerama, + libXrandr, + libXft, + libXrender, + libXdmcp, + libXfixes, + freetype, + asciidoc, + xdotool, + xorgserver, + xsetroot, + xterm, + runtimeShell, + fetchpatch, + nixosTests, +}: stdenv.mkDerivation rec { pname = "herbstluftwm"; @@ -76,7 +97,13 @@ stdenv.mkDerivation rec { doCheck = true; nativeCheckInputs = [ - (python3.withPackages (ps: with ps; [ ewmh pytest xlib ])) + (python3.withPackages ( + ps: with ps; [ + ewmh + pytest + xlib + ] + )) xdotool xorgserver xsetroot diff --git a/pkgs/by-name/he/hercules/package.nix b/pkgs/by-name/he/hercules/package.nix index c5635d960fbb0..6ae12bfda411e 100644 --- a/pkgs/by-name/he/hercules/package.nix +++ b/pkgs/by-name/he/hercules/package.nix @@ -1,57 +1,60 @@ -{ lib -, stdenv -, fetchFromGitHub -, runCommand -, libtool -, cmake -, zlib -, bzip2 -, enableRexx ? stdenv.hostPlatform.isLinux, regina +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, + libtool, + cmake, + zlib, + bzip2, + enableRexx ? stdenv.hostPlatform.isLinux, + regina, }: let - herculesCpu = - if stdenv.hostPlatform.isx86 then "x86" - else stdenv.hostPlatform.qemuArch; + herculesCpu = if stdenv.hostPlatform.isx86 then "x86" else stdenv.hostPlatform.qemuArch; herculesBits = if stdenv.hostPlatform.is32bit then "32" else "64"; - herculesLibDir = - if stdenv.hostPlatform.isx86 then "lib" - else "lib/${herculesCpu}"; - - mkExtPkg = depName: attrFn: (stdenv.mkDerivation { - pname = "hercules-${depName}"; - - postPatch = '' - patchShebangs build - sed -i build \ - -e "s%_tool=.*$%_tool=${cmake}/bin/cmake%" \ - -e "s/CPUS=.*$/CPUS=$NIX_BUILD_CORES/" - ''; - - dontUseCmakeConfigure = true; - - buildPhase = '' - mkdir ../build $out - # In source builds are not allowed. - cd ../build - ../source/build \ - --pkgname ${depName} \ - --cpu ${herculesCpu} \ - --arch ${herculesBits} \ - --install "$out" - ''; - - nativeBuildInputs = [ cmake ]; - - enableParallelBuilding = true; - - meta = with lib; { - description = "Hercules ${depName} library"; - license = lib.licenses.free; # Mixture of Public Domain, ICU (MIT compatible) and others - maintainers = with maintainers; [ anna328p vifino ]; - }; - }).overrideAttrs (default: attrFn default); - + herculesLibDir = if stdenv.hostPlatform.isx86 then "lib" else "lib/${herculesCpu}"; + + mkExtPkg = + depName: attrFn: + (stdenv.mkDerivation { + pname = "hercules-${depName}"; + + postPatch = '' + patchShebangs build + sed -i build \ + -e "s%_tool=.*$%_tool=${cmake}/bin/cmake%" \ + -e "s/CPUS=.*$/CPUS=$NIX_BUILD_CORES/" + ''; + + dontUseCmakeConfigure = true; + + buildPhase = '' + mkdir ../build $out + # In source builds are not allowed. + cd ../build + ../source/build \ + --pkgname ${depName} \ + --cpu ${herculesCpu} \ + --arch ${herculesBits} \ + --install "$out" + ''; + + nativeBuildInputs = [ cmake ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Hercules ${depName} library"; + license = lib.licenses.free; # Mixture of Public Domain, ICU (MIT compatible) and others + maintainers = with maintainers; [ + anna328p + vifino + ]; + }; + }).overrideAttrs + (default: attrFn default); crypto = mkExtPkg "crypto" (default: { version = "1.0.0"; @@ -93,7 +96,7 @@ let }; }); - extpkgs = runCommand "hercules-extpkgs" {} '' + extpkgs = runCommand "hercules-extpkgs" { } '' OUTINC="$out/include" OUTLIB="$out/${herculesLibDir}" mkdir -p "$OUTINC" "$OUTLIB" @@ -119,24 +122,28 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ libtool ]; - buildInputs = [ - (lib.getOutput "lib" libtool) - zlib - bzip2 - extpkgs - ] ++ lib.optionals enableRexx [ - regina - ]; - - configureFlags = [ - "--enable-extpkgs=${extpkgs}" - "--without-included-ltdl" - "--enable-ipv6" - "--enable-cckd-bzip2" - "--enable-het-bzip2" - ] ++ lib.optionals enableRexx [ - "--enable-regina-rexx" - ]; + buildInputs = + [ + (lib.getOutput "lib" libtool) + zlib + bzip2 + extpkgs + ] + ++ lib.optionals enableRexx [ + regina + ]; + + configureFlags = + [ + "--enable-extpkgs=${extpkgs}" + "--without-included-ltdl" + "--enable-ipv6" + "--enable-cckd-bzip2" + "--enable-het-bzip2" + ] + ++ lib.optionals enableRexx [ + "--enable-regina-rexx" + ]; meta = with lib; { homepage = "https://sdl-hercules-390.github.io/html/"; @@ -148,6 +155,9 @@ stdenv.mkDerivation rec { Mac OS X. ''; license = licenses.qpl; - maintainers = with maintainers; [ anna328p vifino ]; + maintainers = with maintainers; [ + anna328p + vifino + ]; }; } diff --git a/pkgs/by-name/he/hermit/package.nix b/pkgs/by-name/he/hermit/package.nix index 8a0e5479f188b..56d37f33a9f76 100644 --- a/pkgs/by-name/he/hermit/package.nix +++ b/pkgs/by-name/he/hermit/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hermit"; diff --git a/pkgs/by-name/he/hermitcli/package.nix b/pkgs/by-name/he/hermitcli/package.nix index 5a7f0155dde81..7a9c0dc2ac28b 100644 --- a/pkgs/by-name/he/hermitcli/package.nix +++ b/pkgs/by-name/he/hermitcli/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/he/heroku/package.nix b/pkgs/by-name/he/heroku/package.nix index 540035fb38093..354f1ffbdecc8 100644 --- a/pkgs/by-name/he/heroku/package.nix +++ b/pkgs/by-name/he/heroku/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchzip, makeWrapper, nodejs, writeScript }: +{ + stdenv, + lib, + fetchzip, + makeWrapper, + nodejs, + writeScript, +}: stdenv.mkDerivation { pname = "heroku"; @@ -39,7 +46,10 @@ stdenv.mkDerivation { homepage = "https://devcenter.heroku.com/articles/heroku-cli"; description = "Everything you need to get started using Heroku"; mainProgram = "heroku"; - maintainers = with lib.maintainers; [ aflatter mirdhyn ]; + maintainers = with lib.maintainers; [ + aflatter + mirdhyn + ]; license = lib.licenses.mit; platforms = with lib.platforms; unix; }; diff --git a/pkgs/by-name/he/herwig/package.nix b/pkgs/by-name/he/herwig/package.nix index c18ff9bef84dc..9e6ea0e4586aa 100644 --- a/pkgs/by-name/he/herwig/package.nix +++ b/pkgs/by-name/he/herwig/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchurl, boost, fastjet, gfortran, gsl, lhapdf, thepeg, zlib, autoconf, automake, libtool }: +{ + lib, + stdenv, + fetchurl, + boost, + fastjet, + gfortran, + gsl, + lhapdf, + thepeg, + zlib, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "herwig"; @@ -9,11 +23,26 @@ stdenv.mkDerivation rec { hash = "sha256-JiSBnS3/EFupUuobXPEutvSSbUlRd0pBkHaZ4vVnaGw="; }; - nativeBuildInputs = [ autoconf automake libtool gfortran ]; + nativeBuildInputs = [ + autoconf + automake + libtool + gfortran + ]; - buildInputs = [ boost fastjet gsl thepeg zlib ] + buildInputs = + [ + boost + fastjet + gsl + thepeg + zlib + ] # There is a bug that requires for default PDF's to be present during the build - ++ (with lhapdf.pdf_sets; [ CT14lo CT14nlo ]); + ++ (with lhapdf.pdf_sets; [ + CT14lo + CT14nlo + ]); postPatch = '' patchShebangs ./ diff --git a/pkgs/by-name/he/hetzner-kube/package.nix b/pkgs/by-name/he/hetzner-kube/package.nix index 40a0a2a363dbf..beb912964904d 100644 --- a/pkgs/by-name/he/hetzner-kube/package.nix +++ b/pkgs/by-name/he/hetzner-kube/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "hetzner-kube"; diff --git a/pkgs/by-name/he/hevea/package.nix b/pkgs/by-name/he/hevea/package.nix index 85317b7d7ecd8..eb01837e6803f 100644 --- a/pkgs/by-name/he/hevea/package.nix +++ b/pkgs/by-name/he/hevea/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ocamlPackages }: +{ + lib, + stdenv, + fetchurl, + ocamlPackages, +}: stdenv.mkDerivation rec { pname = "hevea"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ ocaml ocamlbuild ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + ocamlbuild + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/he/hex-a-hop/package.nix b/pkgs/by-name/he/hex-a-hop/package.nix index ea2df3360796a..8cb03266da08f 100644 --- a/pkgs/by-name/he/hex-a-hop/package.nix +++ b/pkgs/by-name/he/hex-a-hop/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchzip, SDL, SDL_mixer, SDL_ttf }: +{ + lib, + stdenv, + fetchurl, + fetchzip, + SDL, + SDL_mixer, + SDL_ttf, +}: stdenv.mkDerivation rec { pname = "hex-a-hop"; @@ -21,7 +29,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-j6gKRq+8b1NDwP1WcCaScfmwNxAl78CfK6pemROrRak="; }; - buildInputs = [ SDL SDL_mixer SDL_ttf ]; + buildInputs = [ + SDL + SDL_mixer + SDL_ttf + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/he/hex/package.nix b/pkgs/by-name/he/hex/package.nix index f7f8300807829..202ea5c3dee97 100644 --- a/pkgs/by-name/he/hex/package.nix +++ b/pkgs/by-name/he/hex/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, testers -, hex +{ + lib, + rustPlatform, + fetchFromGitHub, + testers, + hex, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/he/hexbinhex/package.nix b/pkgs/by-name/he/hexbinhex/package.nix index 7c0a417a84fc9..a4a012bdad743 100644 --- a/pkgs/by-name/he/hexbinhex/package.nix +++ b/pkgs/by-name/he/hexbinhex/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -14,14 +15,14 @@ stdenv.mkDerivation rec { hash = "sha256-nfOmiF+t5QtAl1I7CSz26C9SGo7ZkdSziO2eiHbk6pA="; }; - preBuild = '' - substituteInPlace Makefile --replace '/usr/local' $out - mkdir -p $out/bin - '' - + - lib.optionalString (!stdenv.hostPlatform.isx86_64) '' - sed -i s/-m64//g Makefile - ''; + preBuild = + '' + substituteInPlace Makefile --replace '/usr/local' $out + mkdir -p $out/bin + '' + + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' + sed -i s/-m64//g Makefile + ''; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; @@ -36,6 +37,9 @@ stdenv.mkDerivation rec { ''; license = lib.licenses.gpl2Only; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ orichter thillux ]; + maintainers = with lib.maintainers; [ + orichter + thillux + ]; }; } diff --git a/pkgs/by-name/he/hexcurse/package.nix b/pkgs/by-name/he/hexcurse/package.nix index a4d9905d6fa7a..f5f7350792e2d 100644 --- a/pkgs/by-name/he/hexcurse/package.nix +++ b/pkgs/by-name/he/hexcurse/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, ncurses }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + ncurses, +}: stdenv.mkDerivation rec { pname = "hexcurse"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "17ckkxfzbqvvfdnh10if4aqdcq98q3vl6dn1v6f4lhr4ifnyjdlk"; }; buildInputs = [ ncurses ]; - env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=stringop-overflow" "-Wno-error=stringop-truncation" ]; + env.NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=stringop-overflow" + "-Wno-error=stringop-truncation" + ]; patches = [ # gcc7 compat (fetchpatch { diff --git a/pkgs/by-name/he/hexd/package.nix b/pkgs/by-name/he/hexd/package.nix index 140db34350837..5893d1cf9ed03 100644 --- a/pkgs/by-name/he/hexd/package.nix +++ b/pkgs/by-name/he/hexd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hexd"; diff --git a/pkgs/by-name/he/hexdiff/package.nix b/pkgs/by-name/he/hexdiff/package.nix index 9ee711e7457ea..3b22afda3f198 100644 --- a/pkgs/by-name/he/hexdiff/package.nix +++ b/pkgs/by-name/he/hexdiff/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "hexdiff"; diff --git a/pkgs/by-name/he/hexdino/package.nix b/pkgs/by-name/he/hexdino/package.nix index 1fb7449791512..0db1b3aa6eb30 100644 --- a/pkgs/by-name/he/hexdino/package.nix +++ b/pkgs/by-name/he/hexdino/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "hexdino"; diff --git a/pkgs/by-name/he/hexfiend/package.nix b/pkgs/by-name/he/hexfiend/package.nix index 2a5ec7a461c5f..2de0a4aa3dbd5 100644 --- a/pkgs/by-name/he/hexfiend/package.nix +++ b/pkgs/by-name/he/hexfiend/package.nix @@ -1,11 +1,13 @@ -{ stdenv, lib, fetchurl, undmg, nix-update-script }: +{ + stdenv, + lib, + fetchurl, + undmg, + nix-update-script, +}: let - urlSuffix = version: if lib.versions.patch == 0 then - lib.versions.majorMinor version - else - version - ; + urlSuffix = version: if lib.versions.patch == 0 then lib.versions.majorMinor version else version; in stdenv.mkDerivation rec { pname = "hexfiend"; diff --git a/pkgs/by-name/he/hexgui/package.nix b/pkgs/by-name/he/hexgui/package.nix index 8265cacc34001..69278690de2a7 100644 --- a/pkgs/by-name/he/hexgui/package.nix +++ b/pkgs/by-name/he/hexgui/package.nix @@ -1,9 +1,10 @@ -{ ant -, fetchFromGitHub -, jdk -, lib -, makeWrapper -, stdenv +{ + ant, + fetchFromGitHub, + jdk, + lib, + makeWrapper, + stdenv, }: stdenv.mkDerivation { pname = "hexgui"; @@ -16,7 +17,11 @@ stdenv.mkDerivation { hash = "sha256-W5klRwVsSlrSp3Pw5D4uknIRjaNMv+OTUtXXTmd6P3I="; }; - nativeBuildInputs = [ ant jdk makeWrapper ]; + nativeBuildInputs = [ + ant + jdk + makeWrapper + ]; buildPhase = '' ant ''; diff --git a/pkgs/by-name/he/hexio/package.nix b/pkgs/by-name/he/hexio/package.nix index 0b4e474515ab7..da8bb23251ce0 100644 --- a/pkgs/by-name/he/hexio/package.nix +++ b/pkgs/by-name/he/hexio/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pcsclite, pth, python2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pcsclite, + pth, + python2, +}: stdenv.mkDerivation rec { pname = "hexio"; @@ -13,19 +20,23 @@ stdenv.mkDerivation rec { strictDeps = true; - buildInputs = [ pcsclite pth python2 ]; + buildInputs = [ + pcsclite + pth + python2 + ]; patchPhase = '' substituteInPlace Makefile \ --replace '-I/usr/local/include/PCSC/' '-I${lib.getDev pcsclite}/include/PCSC/' \ --replace '-L/usr/local/lib/pth' '-I${pth}/lib/' - ''; + ''; installPhase = '' mkdir -p $out/bin $out/lib $out/sbin $out/man make DESTDIR=$out PREFIX=/ all make DESTDIR=$out PREFIX=/ install - ''; + ''; meta = with lib; { description = "Low-level I/O helpers for hexadecimal, tty/serial devices and so on"; diff --git a/pkgs/by-name/he/hexo-cli/package.nix b/pkgs/by-name/he/hexo-cli/package.nix index be5764c9f0c30..fcce2db7eacfc 100644 --- a/pkgs/by-name/he/hexo-cli/package.nix +++ b/pkgs/by-name/he/hexo-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/he/hey/package.nix b/pkgs/by-name/he/hey/package.nix index b5d565d84743c..08735573fb5a4 100644 --- a/pkgs/by-name/he/hey/package.nix +++ b/pkgs/by-name/he/hey/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ + buildGoModule, + lib, + fetchFromGitHub, +}: buildGoModule rec { pname = "hey"; diff --git a/pkgs/by-name/he/heygpt/package.nix b/pkgs/by-name/he/heygpt/package.nix index 71ad738b8b921..8bd481458f301 100644 --- a/pkgs/by-name/he/heygpt/package.nix +++ b/pkgs/by-name/he/heygpt/package.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-yKHAZpELuUD7wlM3Mi7XvxbKgdU1QxD9hsvIFcj3twE="; - nativeBuildInputs = [openssl]; + nativeBuildInputs = [ openssl ]; # Needed to get openssl-sys to use pkg-config. OPENSSL_NO_VENDOR = 1; @@ -30,6 +30,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/fuyufjh/heygpt/releases/tag/v${version}"; license = licenses.mit; mainProgram = "heygpt"; - maintainers = with maintainers; [aldoborrero]; + maintainers = with maintainers; [ aldoborrero ]; }; } diff --git a/pkgs/by-name/hf/hfinger/package.nix b/pkgs/by-name/hf/hfinger/package.nix index baca9ed5ddd27..85da3d54c445d 100644 --- a/pkgs/by-name/hf/hfinger/package.nix +++ b/pkgs/by-name/hf/hfinger/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, wireshark-cli +{ + lib, + fetchFromGitHub, + python3, + wireshark-cli, }: python3.pkgs.buildPythonApplication rec { @@ -20,12 +21,15 @@ python3.pkgs.buildPythonApplication rec { setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ - fnvhash - python-magic - ] ++ [ - wireshark-cli - ]; + propagatedBuildInputs = + with python3.pkgs; + [ + fnvhash + python-magic + ] + ++ [ + wireshark-cli + ]; # Project has no tests doCheck = false; diff --git a/pkgs/by-name/hf/hfst-ospell/package.nix b/pkgs/by-name/hf/hfst-ospell/package.nix index eda613aede61d..a76e57a240ba9 100644 --- a/pkgs/by-name/hf/hfst-ospell/package.nix +++ b/pkgs/by-name/hf/hfst-ospell/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, icu -, libarchive -, pkg-config +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + icu, + libarchive, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/hf/hfst/package.nix b/pkgs/by-name/hf/hfst/package.nix index 41707bbd4986f..afae2ce01bd83 100644 --- a/pkgs/by-name/hf/hfst/package.nix +++ b/pkgs/by-name/hf/hfst/package.nix @@ -1,15 +1,16 @@ -{ lib -, autoreconfHook -, bison -, flex -, foma -, fetchFromGitHub -, gettext -, icu -, stdenv -, swig -, pkg-config -, zlib +{ + lib, + autoreconfHook, + bison, + flex, + foma, + fetchFromGitHub, + gettext, + icu, + stdenv, + swig, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/hh/hheretic/package.nix b/pkgs/by-name/hh/hheretic/package.nix index 83b0ccb620cf5..86f9b33e8e108 100644 --- a/pkgs/by-name/hh/hheretic/package.nix +++ b/pkgs/by-name/hh/hheretic/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL -, SDL_mixer -, autoreconfHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + SDL, + SDL_mixer, + autoreconfHook, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/hh/hhexen/package.nix b/pkgs/by-name/hh/hhexen/package.nix index c73040a30f7e3..dbb4278fa9bd8 100644 --- a/pkgs/by-name/hh/hhexen/package.nix +++ b/pkgs/by-name/hh/hhexen/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL -, SDL_mixer -, autoreconfHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + SDL, + SDL_mixer, + autoreconfHook, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -49,7 +50,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Linux port of Raven Game's Hexen"; homepage = "https://hhexen.sourceforge.net/hhexen.html"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ moody djanatyn ]; + maintainers = with lib.maintainers; [ + moody + djanatyn + ]; mainProgram = "hhexen-gl"; inherit (SDL.meta) platforms; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/hh/hhpc/package.nix b/pkgs/by-name/hh/hhpc/package.nix index 71c39c68accec..048490fbe9c2f 100644 --- a/pkgs/by-name/hh/hhpc/package.nix +++ b/pkgs/by-name/hh/hhpc/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchFromGitHub, xorg, pkg-config}: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + pkg-config, +}: stdenv.mkDerivation rec { pname = "hhpc"; @@ -15,8 +21,8 @@ stdenv.mkDerivation rec { buildInputs = [ xorg.libX11 ]; installPhase = '' - mkdir -p $out/bin - cp hhpc $out/bin/ + mkdir -p $out/bin + cp hhpc $out/bin/ ''; meta = with lib; { diff --git a/pkgs/by-name/hi/hiawatha/package.nix b/pkgs/by-name/hi/hiawatha/package.nix index 7d62dc27e8229..9ff18400619a6 100644 --- a/pkgs/by-name/hi/hiawatha/package.nix +++ b/pkgs/by-name/hi/hiawatha/package.nix @@ -1,21 +1,25 @@ -{ lib, stdenv -, fetchFromGitLab -, callPackage +{ + lib, + stdenv, + fetchFromGitLab, + callPackage, -, cmake -, ninja -, mbedtls -, libxcrypt -, zlib + cmake, + ninja, + mbedtls, + libxcrypt, + zlib, -, enableCache ? true # Internal cache support. -, enableIpV6 ? true -, enableTls ? true -, enableMonitor ? false # Support for the Hiawatha Monitor. -, enableRproxy ? true # Reverse proxy support. -, enableTomahawk ? false # Tomahawk, the Hiawatha command shell. -, enableXslt ? true, libxml2 ? null, libxslt ? null -, enableToolkit ? true # The URL Toolkit. + enableCache ? true, # Internal cache support. + enableIpV6 ? true, + enableTls ? true, + enableMonitor ? false, # Support for the Hiawatha Monitor. + enableRproxy ? true, # Reverse proxy support. + enableTomahawk ? false, # Tomahawk, the Hiawatha command shell. + enableXslt ? true, + libxml2 ? null, + libxslt ? null, + enableToolkit ? true, # The URL Toolkit. }: stdenv.mkDerivation (finalAttrs: { @@ -29,8 +33,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YsZdVqanVNibA4KnAknLh61hVo7x5uu67lb+RX2N7c8="; }; - nativeBuildInputs = [ cmake ninja ]; - buildInputs = [ mbedtls libxcrypt zlib ] ++ lib.optionals enableXslt [ libxslt libxml2 ]; + nativeBuildInputs = [ + cmake + ninja + ]; + buildInputs = + [ + mbedtls + libxcrypt + zlib + ] + ++ lib.optionals enableXslt [ + libxslt + libxml2 + ]; prePatch = '' substituteInPlace CMakeLists.txt --replace SETUID "" @@ -38,14 +54,14 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DUSE_SYSTEM_MBEDTLS=on" # Policy to use Nix deps, and Nix uses up to date deps - ( if enableCache then "-DENABLE_CACHE=on" else "-DENABLE_CACHE=off" ) - ( if enableIpV6 then "-DENABLE_IPV6=on" else "-DENABLE_IPV6=off" ) - ( if enableTls then "-DENABLE_TLS=on" else "-DENABLE_TLS=off" ) - ( if enableMonitor then "-DENABLE_MONITOR=on" else "-DENABLE_MONITOR=off" ) - ( if enableRproxy then "-DENABLE_RPROXY=on" else "-DENABLE_RPROXY=off" ) - ( if enableTomahawk then "-DENABLE_TOMAHAWK=on" else "-DENABLE_TOMAHAWK=off" ) - ( if enableXslt then "-DENABLE_XSLT=on" else "-DENABLE_XSLT=off" ) - ( if enableToolkit then "-DENABLE_TOOLKIT=on" else "-DENABLE_TOOLKIT=off" ) + (if enableCache then "-DENABLE_CACHE=on" else "-DENABLE_CACHE=off") + (if enableIpV6 then "-DENABLE_IPV6=on" else "-DENABLE_IPV6=off") + (if enableTls then "-DENABLE_TLS=on" else "-DENABLE_TLS=off") + (if enableMonitor then "-DENABLE_MONITOR=on" else "-DENABLE_MONITOR=off") + (if enableRproxy then "-DENABLE_RPROXY=on" else "-DENABLE_RPROXY=off") + (if enableTomahawk then "-DENABLE_TOMAHAWK=on" else "-DENABLE_TOMAHAWK=off") + (if enableXslt then "-DENABLE_XSLT=on" else "-DENABLE_XSLT=off") + (if enableToolkit then "-DENABLE_TOOLKIT=on" else "-DENABLE_TOOLKIT=off") ]; passthru.tests.serve-static-files = callPackage ./test.nix { @@ -57,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://hiawatha.leisink.net/"; description = "Advanced and secure webserver"; license = licenses.gpl2Only; - platforms = platforms.unix; # "Hiawatha runs perfectly on Linux, BSD and MacOS X" + platforms = platforms.unix; # "Hiawatha runs perfectly on Linux, BSD and MacOS X" mainProgram = "hiawatha"; maintainers = [ ]; }; diff --git a/pkgs/by-name/hi/hiawatha/test.nix b/pkgs/by-name/hi/hiawatha/test.nix index 157d0ee79644d..3287a62661271 100644 --- a/pkgs/by-name/hi/hiawatha/test.nix +++ b/pkgs/by-name/hi/hiawatha/test.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, hiawatha -, curl -, mbedtls -, enableTls +{ + lib, + stdenvNoCC, + hiawatha, + curl, + mbedtls, + enableTls, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/hi/hibernate/package.nix b/pkgs/by-name/hi/hibernate/package.nix index dfd3407f2a03d..d870047c7cd88 100644 --- a/pkgs/by-name/hi/hibernate/package.nix +++ b/pkgs/by-name/hi/hibernate/package.nix @@ -1,47 +1,57 @@ -{ lib, stdenv, fetchurl, gawk }: - -let version = "2.0"; +{ + lib, + stdenv, + fetchurl, + gawk, +}: + +let + version = "2.0"; in - stdenv.mkDerivation { - pname = "hibernate"; - inherit version; - src = fetchurl { - url = "http://tuxonice.nigelcunningham.com.au/files/hibernate-script-${version}.tar.gz"; - sha256 = "0ib5bac3spbcwmhf8f9apjbll8x7fgqj4k1s5q3srijh793rfifh"; - }; - - patches = [ ./install.patch ./gen-manpages.patch ./hibernate.patch ]; - - buildInputs = [ gawk ]; - - installPhase = '' - # FIXME: Storing config files under `$out/etc' is not very useful. - - substituteInPlace "hibernate.sh" --replace \ - 'SWSUSP_D="/etc/hibernate"' "SWSUSP_D=\"$out/etc/hibernate\"" - - # Remove all references to `/bin' and `/sbin'. - for i in scriptlets.d/* - do - substituteInPlace "$i" --replace "/bin/" "" --replace "/sbin/" "" - done - - PREFIX="$out" CONFIG_PREFIX="$out" ./install.sh - - ln -s "$out/share/hibernate/scriptlets.d" "$out/etc/hibernate" +stdenv.mkDerivation { + pname = "hibernate"; + inherit version; + src = fetchurl { + url = "http://tuxonice.nigelcunningham.com.au/files/hibernate-script-${version}.tar.gz"; + sha256 = "0ib5bac3spbcwmhf8f9apjbll8x7fgqj4k1s5q3srijh793rfifh"; + }; + + patches = [ + ./install.patch + ./gen-manpages.patch + ./hibernate.patch + ]; + + buildInputs = [ gawk ]; + + installPhase = '' + # FIXME: Storing config files under `$out/etc' is not very useful. + + substituteInPlace "hibernate.sh" --replace \ + 'SWSUSP_D="/etc/hibernate"' "SWSUSP_D=\"$out/etc/hibernate\"" + + # Remove all references to `/bin' and `/sbin'. + for i in scriptlets.d/* + do + substituteInPlace "$i" --replace "/bin/" "" --replace "/sbin/" "" + done + + PREFIX="$out" CONFIG_PREFIX="$out" ./install.sh + + ln -s "$out/share/hibernate/scriptlets.d" "$out/etc/hibernate" + ''; + + meta = { + description = "`hibernate' script for swsusp and Tux-on-Ice"; + mainProgram = "hibernate"; + longDescription = '' + This package provides the `hibernate' script, a command-line utility + that saves the computer's state to disk and switches it off, turning + it into "hibernation". It works both with Linux swsusp and Tux-on-Ice. ''; - meta = { - description = "`hibernate' script for swsusp and Tux-on-Ice"; - mainProgram = "hibernate"; - longDescription = '' - This package provides the `hibernate' script, a command-line utility - that saves the computer's state to disk and switches it off, turning - it into "hibernation". It works both with Linux swsusp and Tux-on-Ice. - ''; - - license = lib.licenses.gpl2Plus; - homepage = "http://www.tuxonice.net/"; - platforms = lib.platforms.linux; - }; - } + license = lib.licenses.gpl2Plus; + homepage = "http://www.tuxonice.net/"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/hi/hid-listen/package.nix b/pkgs/by-name/hi/hid-listen/package.nix index d126bb9e850fb..b6dd65004943b 100644 --- a/pkgs/by-name/hi/hid-listen/package.nix +++ b/pkgs/by-name/hi/hid-listen/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "hid-listen"; version = "1.01"; diff --git a/pkgs/by-name/hi/hid-tools/package.nix b/pkgs/by-name/hi/hid-tools/package.nix index 82c61caf020a0..6b90d588848a3 100644 --- a/pkgs/by-name/hi/hid-tools/package.nix +++ b/pkgs/by-name/hi/hid-tools/package.nix @@ -1,6 +1,7 @@ -{ python3 -, lib -, fetchFromGitLab +{ + python3, + lib, + fetchFromGitLab, }: python3.pkgs.buildPythonPackage rec { diff --git a/pkgs/by-name/hi/hidden-bar/package.nix b/pkgs/by-name/hi/hidden-bar/package.nix index e35e2a83f492b..aaccb68fdf921 100644 --- a/pkgs/by-name/hi/hidden-bar/package.nix +++ b/pkgs/by-name/hi/hidden-bar/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, undmg +{ + lib, + stdenvNoCC, + fetchurl, + undmg, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/hi/hidrd/package.nix b/pkgs/by-name/hi/hidrd/package.nix index d3a8a40124330..53f4f2a6a3fd8 100644 --- a/pkgs/by-name/hi/hidrd/package.nix +++ b/pkgs/by-name/hi/hidrd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation { pname = "hidrd"; diff --git a/pkgs/by-name/hi/hidviz/package.nix b/pkgs/by-name/hi/hidviz/package.nix index 14c40f30054d7..e3f154965be87 100644 --- a/pkgs/by-name/hi/hidviz/package.nix +++ b/pkgs/by-name/hi/hidviz/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, cmake -, pkg-config -, stdenv -# Package dependencies -, qt6 -, libusb1 -, protobuf -, asio +{ + lib, + fetchFromGitHub, + cmake, + pkg-config, + stdenv, + # Package dependencies + qt6, + libusb1, + protobuf, + asio, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/hi/hifiscan/package.nix b/pkgs/by-name/hi/hifiscan/package.nix index fbaea667f9aef..deedff446c16e 100644 --- a/pkgs/by-name/hi/hifiscan/package.nix +++ b/pkgs/by-name/hi/hifiscan/package.nix @@ -1,28 +1,36 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: let pname = "hifiscan"; version = "1.5.2"; hash = "sha256-8eystqjNdDP2X9beogRcsa+Wqu50uMHZv59jdc5GjUc="; in - python3Packages.buildPythonApplication { - inherit pname version; +python3Packages.buildPythonApplication { + inherit pname version; - pythonPath = with python3Packages; [ eventkit numpy sounddevice pyqt6 pyqt6-sip pyqtgraph ]; + pythonPath = with python3Packages; [ + eventkit + numpy + sounddevice + pyqt6 + pyqt6-sip + pyqtgraph + ]; - dontUseSetuptoolsCheck = true; + dontUseSetuptoolsCheck = true; - src = fetchPypi { - inherit pname version hash; - }; + src = fetchPypi { + inherit pname version hash; + }; - meta = with lib; { - homepage = "https://github.com/erdewit/HiFiScan"; - description = "Optimize the audio quality of your loudspeakers"; - license = licenses.bsd2; - maintainers = with maintainers; [ cab404 ]; - mainProgram = "hifiscan"; - }; - } + meta = with lib; { + homepage = "https://github.com/erdewit/HiFiScan"; + description = "Optimize the audio quality of your loudspeakers"; + license = licenses.bsd2; + maintainers = with maintainers; [ cab404 ]; + mainProgram = "hifiscan"; + }; +} diff --git a/pkgs/by-name/hi/highfive/package.nix b/pkgs/by-name/hi/highfive/package.nix index 3af2fc92cc108..db3e6a19f6c8e 100644 --- a/pkgs/by-name/hi/highfive/package.nix +++ b/pkgs/by-name/hi/highfive/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, boost -, eigen -, hdf5 -, mpiSupport ? hdf5.mpiSupport -, mpi ? hdf5.mpi +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + eigen, + hdf5, + mpiSupport ? hdf5.mpiSupport, + mpi ? hdf5.mpi, }: assert mpiSupport -> mpi != null; @@ -23,7 +25,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost eigen hdf5 ]; + buildInputs = [ + boost + eigen + hdf5 + ]; passthru = { inherit mpiSupport mpi; @@ -35,8 +41,7 @@ stdenv.mkDerivation rec { "-DHIGHFIVE_EXAMPLES=OFF" "-DHIGHFIVE_UNIT_TESTS=OFF" "-DHIGHFIVE_USE_INSTALL_DEPS=ON" - ] - ++ (lib.optionals mpiSupport [ "-DHIGHFIVE_PARALLEL_HDF5=ON" ]); + ] ++ (lib.optionals mpiSupport [ "-DHIGHFIVE_PARALLEL_HDF5=ON" ]); meta = with lib; { description = "Header-only C++ HDF5 interface"; diff --git a/pkgs/by-name/hi/highlight-assertions/package.nix b/pkgs/by-name/hi/highlight-assertions/package.nix index b2f595cb01ba0..d8a0ca72988be 100644 --- a/pkgs/by-name/hi/highlight-assertions/package.nix +++ b/pkgs/by-name/hi/highlight-assertions/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "highlight-assertions"; diff --git a/pkgs/by-name/hi/highs/package.nix b/pkgs/by-name/hi/highs/package.nix index 73460ab54164d..bd3dff2f56fec 100644 --- a/pkgs/by-name/hi/highs/package.nix +++ b/pkgs/by-name/hi/highs/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, clang -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + clang, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -26,7 +27,10 @@ stdenv.mkDerivation (finalAttrs: { "$out/bin/highs" --version ''; - nativeBuildInputs = [ clang cmake ]; + nativeBuildInputs = [ + clang + cmake + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/hi/hikounomizu/package.nix b/pkgs/by-name/hi/hikounomizu/package.nix index f618d6680529b..bbf8bfa29ce7e 100644 --- a/pkgs/by-name/hi/hikounomizu/package.nix +++ b/pkgs/by-name/hi/hikounomizu/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, util-linux -, libGL -, freetype -, pugixml -, SDL2 -, SDL2_image -, openal -, libogg -, libvorbis -, libGLU -, enet -, synfigstudio -, inkscape -, imagemagick -, pngquant -, xz -, bc +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + util-linux, + libGL, + freetype, + pugixml, + SDL2, + SDL2_image, + openal, + libogg, + libvorbis, + libGLU, + enet, + synfigstudio, + inkscape, + imagemagick, + pngquant, + xz, + bc, }: stdenv.mkDerivation (finalAttrs: { @@ -75,7 +76,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://hikounomizu.org/"; downloadPage = "https://hikounomizu.org/download.html"; maintainers = with maintainers; [ fgaz ]; - license = [ licenses.gpl3Plus licenses.lal13 ]; + license = [ + licenses.gpl3Plus + licenses.lal13 + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/hi/hilbish/package.nix b/pkgs/by-name/hi/hilbish/package.nix index 138a750c6745d..109b102966b07 100644 --- a/pkgs/by-name/hi/hilbish/package.nix +++ b/pkgs/by-name/hi/hilbish/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "hilbish"; diff --git a/pkgs/by-name/hi/hime/package.nix b/pkgs/by-name/hi/hime/package.nix index e0efa104840cd..93c36cbf9f450 100644 --- a/pkgs/by-name/hi/hime/package.nix +++ b/pkgs/by-name/hi/hime/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, fetchFromGitHub -, pkg-config -, which -, gtk2 -, gtk3 -, qt5 -, libXtst -, lib -, libchewing -, unixtools -, anthy +{ + stdenv, + fetchFromGitHub, + pkg-config, + which, + gtk2, + gtk3, + qt5, + libXtst, + lib, + libchewing, + unixtools, + anthy, }: stdenv.mkDerivation rec { @@ -23,18 +24,31 @@ stdenv.mkDerivation rec { sha256 = "sha256-fCqet+foQjI+LpTQ/6Egup1GzXELlL2hgbh0dCKLwPI="; }; - nativeBuildInputs = [ which pkg-config unixtools.whereis ]; - buildInputs = [ libXtst gtk2 gtk3 qt5.qtbase libchewing anthy ]; + nativeBuildInputs = [ + which + pkg-config + unixtools.whereis + ]; + buildInputs = [ + libXtst + gtk2 + gtk3 + qt5.qtbase + libchewing + anthy + ]; preConfigure = "patchShebangs configure"; - configureFlags = [ "--disable-lib64" "--disable-qt5-immodule" ]; + configureFlags = [ + "--disable-lib64" + "--disable-qt5-immodule" + ]; dontWrapQtApps = true; postFixup = '' hime_rpath=$(patchelf --print-rpath $out/bin/hime) patchelf --set-rpath $out/lib/hime:$hime_rpath $out/bin/hime ''; - meta = with lib; { homepage = "http://hime-ime.github.io/"; downloadPage = "https://github.com/hime-ime/hime/downloads"; diff --git a/pkgs/by-name/hi/himitsu-firefox/package.nix b/pkgs/by-name/hi/himitsu-firefox/package.nix index 46a014ce40535..fb7d5c098f145 100644 --- a/pkgs/by-name/hi/himitsu-firefox/package.nix +++ b/pkgs/by-name/hi/himitsu-firefox/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromSourcehut -, hare -, himitsu -, zip +{ + lib, + stdenv, + fetchFromSourcehut, + hare, + himitsu, + zip, }: stdenv.mkDerivation rec { @@ -38,7 +39,10 @@ stdenv.mkDerivation rec { # > that this will probably not work. The recommended installation procedure # > for the native extension is to install it from addons.mozilla.org instead. installTargets = [ "install-native" ]; - installFlags = [ "PREFIX=" "DESTDIR=$(out)" ]; + installFlags = [ + "PREFIX=" + "DESTDIR=$(out)" + ]; meta = with lib; { homepage = "https://git.sr.ht/~sircmpwn/himitsu-firefox"; diff --git a/pkgs/by-name/hi/hiredis-vip/package.nix b/pkgs/by-name/hi/hiredis-vip/package.nix index 32fd7d0db751f..727f8ca3beb67 100644 --- a/pkgs/by-name/hi/hiredis-vip/package.nix +++ b/pkgs/by-name/hi/hiredis-vip/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/hi/hiredis/package.nix b/pkgs/by-name/hi/hiredis/package.nix index 68c2dc209514e..b4b2304da600a 100644 --- a/pkgs/by-name/hi/hiredis/package.nix +++ b/pkgs/by-name/hi/hiredis/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation rec { pname = "hiredis"; diff --git a/pkgs/by-name/hi/hisat2/package.nix b/pkgs/by-name/hi/hisat2/package.nix index 67c39031b773a..3feeb435579df 100644 --- a/pkgs/by-name/hi/hisat2/package.nix +++ b/pkgs/by-name/hi/hisat2/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, unzip, which, python3, perl}: +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + which, + python3, + perl, +}: stdenv.mkDerivation rec { pname = "hisat2"; @@ -11,8 +19,14 @@ stdenv.mkDerivation rec { sha256 = "0lmzdhzjkvxw7n5w40pbv5fgzd4cz0f9pxczswn3d4cr0k10k754"; }; - nativeBuildInputs = [ unzip which ]; - buildInputs = [ python3 perl ]; + nativeBuildInputs = [ + unzip + which + ]; + buildInputs = [ + python3 + perl + ]; installPhase = '' mkdir -p $out/bin @@ -40,7 +54,10 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; homepage = "https://daehwankimlab.github.io/hisat2/"; maintainers = with maintainers; [ jbedo ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/hi/hishtory/package.nix b/pkgs/by-name/hi/hishtory/package.nix index 863afa75e9b36..0c6e0a05d99a4 100644 --- a/pkgs/by-name/hi/hishtory/package.nix +++ b/pkgs/by-name/hi/hishtory/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -37,4 +38,3 @@ buildGoModule rec { mainProgram = "hishtory"; }; } - diff --git a/pkgs/by-name/hi/hitch/package.nix b/pkgs/by-name/hi/hitch/package.nix index bed9f77908a1f..6b6faeab53c7c 100644 --- a/pkgs/by-name/hi/hitch/package.nix +++ b/pkgs/by-name/hi/hitch/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, docutils, libev, openssl, pkg-config, nixosTests }: +{ + lib, + stdenv, + fetchurl, + docutils, + libev, + openssl, + pkg-config, + nixosTests, +}: stdenv.mkDerivation rec { version = "1.8.0"; pname = "hitch"; @@ -9,9 +18,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ docutils libev openssl ]; + buildInputs = [ + docutils + libev + openssl + ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; passthru.tests.hitch = nixosTests.hitch; diff --git a/pkgs/by-name/hi/hivelytracker/package.nix b/pkgs/by-name/hi/hivelytracker/package.nix index 49cd0a78ed751..a6b687b208802 100644 --- a/pkgs/by-name/hi/hivelytracker/package.nix +++ b/pkgs/by-name/hi/hivelytracker/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, SDL -, SDL_image -, SDL_ttf -, gtk3 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + SDL, + SDL_image, + SDL_ttf, + gtk3, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "pete-gordon"; repo = "hivelytracker"; - rev = "V${lib.replaceStrings ["."] ["_"] finalAttrs.version}"; + rev = "V${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; sha256 = "148p320sd8phcpmj4m85ns5zly2dawbp8kgx9ryjfdk24pa88xg6"; }; diff --git a/pkgs/by-name/hi/hivemind/package.nix b/pkgs/by-name/hi/hivemind/package.nix index 589c6fa807367..0e01aa8aa42b5 100644 --- a/pkgs/by-name/hi/hivemind/package.nix +++ b/pkgs/by-name/hi/hivemind/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, runtimeShell }: +{ + lib, + buildGoModule, + fetchFromGitHub, + runtimeShell, +}: buildGoModule rec { pname = "hivemind"; diff --git a/pkgs/by-name/hj/hjson-go/package.nix b/pkgs/by-name/hj/hjson-go/package.nix index 0e625e2985b63..f0b906ad0808d 100644 --- a/pkgs/by-name/hj/hjson-go/package.nix +++ b/pkgs/by-name/hj/hjson-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/hl/hledger-check-fancyassertions/package.nix b/pkgs/by-name/hl/hledger-check-fancyassertions/package.nix index 366f4fb2ae97e..94ce06940e98f 100644 --- a/pkgs/by-name/hl/hledger-check-fancyassertions/package.nix +++ b/pkgs/by-name/hl/hledger-check-fancyassertions/package.nix @@ -1,4 +1,10 @@ -{lib, stdenvNoCC, haskellPackages, fetchurl, writers}: +{ + lib, + stdenvNoCC, + haskellPackages, + fetchurl, + writers, +}: stdenvNoCC.mkDerivation rec { pname = "hledger-check-fancyassertions"; @@ -13,18 +19,23 @@ stdenvNoCC.mkDerivation rec { dontUnpack = true; dontBuild = true; - executable = writers.writeHaskell - "hledger-check-fancyassertions" - { - libraries = with haskellPackages; [ - hledger-lib - base base-compat base-compat-batteries filepath - megaparsec microlens optparse-applicative string-qq text time - transformers - ]; - inherit (haskellPackages) ghc; - } - src; + executable = writers.writeHaskell "hledger-check-fancyassertions" { + libraries = with haskellPackages; [ + hledger-lib + base + base-compat + base-compat-batteries + filepath + megaparsec + microlens + optparse-applicative + string-qq + text + time + transformers + ]; + inherit (haskellPackages) ghc; + } src; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/hm/hmat-oss/package.nix b/pkgs/by-name/hm/hmat-oss/package.nix index 0981ff2f82140..41ac38f06901e 100644 --- a/pkgs/by-name/hm/hmat-oss/package.nix +++ b/pkgs/by-name/hm/hmat-oss/package.nix @@ -1,12 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, blas -, lapack +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + blas, + lapack, }: - stdenv.mkDerivation rec { pname = "hmat-oss"; version = "1.10.0"; @@ -23,7 +23,10 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/hm/hmm/package.nix b/pkgs/by-name/hm/hmm/package.nix index c20f3a9626f51..da9fd42f19e29 100644 --- a/pkgs/by-name/hm/hmm/package.nix +++ b/pkgs/by-name/hm/hmm/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchCrate -, perl +{ + lib, + rustPlatform, + fetchCrate, + perl, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/hm/hmmer/package.nix b/pkgs/by-name/hm/hmmer/package.nix index 243e067ddec30..81d0cdb1ec814 100644 --- a/pkgs/by-name/hm/hmmer/package.nix +++ b/pkgs/by-name/hm/hmmer/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "3.4"; diff --git a/pkgs/by-name/hn/hnswlib/package.nix b/pkgs/by-name/hn/hnswlib/package.nix index 59cd69f9629e4..9d8c7c5cf2255 100644 --- a/pkgs/by-name/hn/hnswlib/package.nix +++ b/pkgs/by-name/hn/hnswlib/package.nix @@ -1,13 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, }: let - python = python3.withPackages(ps: with ps; [ - numpy - ]); + python = python3.withPackages ( + ps: with ps; [ + numpy + ] + ); in stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ho/hoard/package.nix b/pkgs/by-name/ho/hoard/package.nix index 1972c9c793862..b84f583f5d47b 100644 --- a/pkgs/by-name/ho/hoard/package.nix +++ b/pkgs/by-name/ho/hoard/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,18 +23,23 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "CLI command organizer written in rust"; homepage = "https://github.com/hyde46/hoard"; changelog = "https://github.com/Hyde46/hoard/blob/${src.rev}/CHANGES.md"; license = licenses.mit; - maintainers = with maintainers; [ builditluc figsoda ]; + maintainers = with maintainers; [ + builditluc + figsoda + ]; mainProgram = "hoard"; }; } diff --git a/pkgs/by-name/ho/hobbes/package.nix b/pkgs/by-name/ho/hobbes/package.nix index f6d8c0fb8624a..7e62d9e026865 100644 --- a/pkgs/by-name/ho/hobbes/package.nix +++ b/pkgs/by-name/ho/hobbes/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, llvmPackages -, fetchFromGitHub -, fetchpatch -, cmake -, llvm_12 -, ncurses -, readline -, zlib -, libxml2 -, python3 +{ + lib, + stdenv, + llvmPackages, + fetchFromGitHub, + fetchpatch, + cmake, + llvm_12, + ncurses, + readline, + zlib, + libxml2, + python3, }: llvmPackages.stdenv.mkDerivation { pname = "hobbes"; @@ -66,7 +67,13 @@ llvmPackages.stdenv.mkDerivation { ''; homepage = "https://github.com/morganstanley/hobbes"; license = licenses.asl20; - maintainers = with maintainers; [ kthielen thmzlt ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + maintainers = with maintainers; [ + kthielen + thmzlt + ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/by-name/ho/hol/package.nix b/pkgs/by-name/ho/hol/package.nix index 883eb4331c9fa..8e482bfb3fb03 100644 --- a/pkgs/by-name/ho/hol/package.nix +++ b/pkgs/by-name/ho/hol/package.nix @@ -1,5 +1,13 @@ -{lib, stdenv, pkgs, fetchurl, graphviz, fontconfig, liberation_ttf, - experimentalKernel ? true}: +{ + lib, + stdenv, + pkgs, + fetchurl, + graphviz, + fontconfig, + liberation_ttf, + experimentalKernel ? true, +}: let pname = "hol4"; @@ -10,9 +18,11 @@ let holsubdir = "hol-${longVersion}"; kernelFlag = if experimentalKernel then "--expk" else "--stdknl"; - polymlEnableShared = with pkgs; lib.overrideDerivation polyml (attrs: { - configureFlags = [ "--enable-shared" ]; - }); + polymlEnableShared = + with pkgs; + lib.overrideDerivation polyml (attrs: { + configureFlags = [ "--enable-shared" ]; + }); in stdenv.mkDerivation { @@ -23,7 +33,12 @@ stdenv.mkDerivation { sha256 = "6Mc/qsEjzxGqzt6yP6x/1Tmqpwc1UDGlwV1Gl+4pMsY="; }; - buildInputs = [polymlEnableShared graphviz fontconfig liberation_ttf]; + buildInputs = [ + polymlEnableShared + graphviz + fontconfig + liberation_ttf + ]; buildCommand = '' diff --git a/pkgs/by-name/ho/holehe/package.nix b/pkgs/by-name/ho/holehe/package.nix index 872cde1f8f875..531ca97a2ffe3 100644 --- a/pkgs/by-name/ho/holehe/package.nix +++ b/pkgs/by-name/ho/holehe/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ho/holo-build/package.nix b/pkgs/by-name/ho/holo-build/package.nix index cef9c6c5fb175..0ed9d9232b56f 100644 --- a/pkgs/by-name/ho/holo-build/package.nix +++ b/pkgs/by-name/ho/holo-build/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, perl, file }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + perl, + file, +}: buildGoModule rec { pname = "holo-build"; @@ -20,11 +27,18 @@ buildGoModule rec { vendorHash = null; - nativeBuildInputs = [ installShellFiles perl ]; + nativeBuildInputs = [ + installShellFiles + perl + ]; subPackages = [ "src/holo-build" ]; - ldflags = [ "-s" "-w" "-X github.com/holocm/holo-build/src/holo-build/common.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/holocm/holo-build/src/holo-build/common.version=${version}" + ]; postBuild = '' make build/man/holo-build.8 VERSION=${version} diff --git a/pkgs/by-name/ho/holochain-launcher/package.nix b/pkgs/by-name/ho/holochain-launcher/package.nix index 7ae6626d9662c..8e3b718f06924 100644 --- a/pkgs/by-name/ho/holochain-launcher/package.nix +++ b/pkgs/by-name/ho/holochain-launcher/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, dpkg -, openssl -, webkitgtk_4_0 -, libappindicator -, wrapGAppsHook3 -, shared-mime-info -, glib-networking +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + dpkg, + openssl, + webkitgtk_4_0, + libappindicator, + wrapGAppsHook3, + shared-mime-info, + glib-networking, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ho/hologram/package.nix b/pkgs/by-name/ho/hologram/package.nix index 139f8fa18b59d..705e6d87af6c1 100644 --- a/pkgs/by-name/ho/hologram/package.nix +++ b/pkgs/by-name/ho/hologram/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "hologram"; @@ -19,7 +23,10 @@ buildGoModule rec { vendorHash = "sha256-HI5+02qSQVLy6ZKaFjy1bWtvVk5bqMBg1umu2ic5HuY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/AdRoll/hologram/"; diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix index 95705fae3a8b0..fa2fb7e40cd3c 100644 --- a/pkgs/by-name/ho/home-manager/package.nix +++ b/pkgs/by-name/ho/home-manager/package.nix @@ -1,19 +1,20 @@ -{ lib -, bash -, coreutils -, fetchFromGitHub -, findutils -, gettext -, gnused -, inetutils -, installShellFiles -, jq -, less -, ncurses -, nixos-option -, stdenvNoCC -, unixtools -, unstableGitUpdater +{ + lib, + bash, + coreutils, + fetchFromGitHub, + findutils, + gettext, + gnused, + inetutils, + installShellFiles, + jq, + less, + ncurses, + nixos-option, + stdenvNoCC, + unixtools, + unstableGitUpdater, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ho/homeassistant-satellite/package.nix b/pkgs/by-name/ho/homeassistant-satellite/package.nix index 40a489aa68de0..8a07c104c8f5f 100644 --- a/pkgs/by-name/ho/homeassistant-satellite/package.nix +++ b/pkgs/by-name/ho/homeassistant-satellite/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ho/homebank/package.nix b/pkgs/by-name/ho/homebank/package.nix index 74eafcc0ac37c..3ea15a1d5d13d 100644 --- a/pkgs/by-name/ho/homebank/package.nix +++ b/pkgs/by-name/ho/homebank/package.nix @@ -1,24 +1,45 @@ -{ fetchurl, lib, stdenv, gtk3, pkg-config, libofx, intltool, wrapGAppsHook3 -, libsoup_3, adwaita-icon-theme }: +{ + fetchurl, + lib, + stdenv, + gtk3, + pkg-config, + libofx, + intltool, + wrapGAppsHook3, + libsoup_3, + adwaita-icon-theme, +}: stdenv.mkDerivation rec { pname = "homebank"; version = "5.8.5"; src = fetchurl { - url = - "https://www.gethomebank.org/public/sources/homebank-${version}.tar.gz"; + url = "https://www.gethomebank.org/public/sources/homebank-${version}.tar.gz"; hash = "sha256-TrRFHleEA5VGjC1qP+TQFq2gun1Hyn8c7AQYwKEznpc="; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 intltool ]; - buildInputs = [ gtk3 libofx libsoup_3 adwaita-icon-theme ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + intltool + ]; + buildInputs = [ + gtk3 + libofx + libsoup_3 + adwaita-icon-theme + ]; meta = with lib; { description = "Free, easy, personal accounting for everyone"; mainProgram = "homebank"; homepage = "https://www.gethomebank.org"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ pSub frlan ]; + maintainers = with maintainers; [ + pSub + frlan + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/ho/honcho/package.nix b/pkgs/by-name/ho/honcho/package.nix index 1540d227dffe3..d602011878835 100644 --- a/pkgs/by-name/ho/honcho/package.nix +++ b/pkgs/by-name/ho/honcho/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: let pname = "honcho"; @@ -17,7 +21,12 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = [ python3Packages.setuptools ]; - nativeCheckInputs = with python3Packages; [ jinja2 pytest mock coverage ]; + nativeCheckInputs = with python3Packages; [ + jinja2 + pytest + mock + coverage + ]; # missing plugins doCheck = false; diff --git a/pkgs/by-name/ho/honeycomb-refinery/package.nix b/pkgs/by-name/ho/honeycomb-refinery/package.nix index 364115b6bfee0..690636870e80a 100644 --- a/pkgs/by-name/ho/honeycomb-refinery/package.nix +++ b/pkgs/by-name/ho/honeycomb-refinery/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "honeycomb-refinery"; @@ -22,7 +26,11 @@ buildGoModule rec { excludedPackages = [ "cmd/test_redimem" ]; - ldflags = [ "-s" "-w" "-X main.BuildID=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.BuildID=${version}" + ]; vendorHash = "sha256-0M05JGLdmKivRTN8ZdhAm+JtXTlYAC31wFS82g3NenI="; diff --git a/pkgs/by-name/ho/honeytrap/package.nix b/pkgs/by-name/ho/honeytrap/package.nix index 8f83e120fdd9e..ecdf20d5f88b3 100644 --- a/pkgs/by-name/ho/honeytrap/package.nix +++ b/pkgs/by-name/ho/honeytrap/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGo122Module -, fetchFromGitHub +{ + lib, + buildGo122Module, + fetchFromGitHub, }: buildGo122Module { pname = "honeytrap"; diff --git a/pkgs/by-name/ho/honk/package.nix b/pkgs/by-name/ho/honk/package.nix index a5a494298a034..d0bb6450f01fb 100644 --- a/pkgs/by-name/ho/honk/package.nix +++ b/pkgs/by-name/ho/honk/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchurl -, sqlite -, installShellFiles -, nixosTests +{ + lib, + buildGoModule, + fetchurl, + sqlite, + installShellFiles, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/ho/hop/package.nix b/pkgs/by-name/ho/hop/package.nix index 0c1f2a09e1238..cdf9785287e77 100644 --- a/pkgs/by-name/ho/hop/package.nix +++ b/pkgs/by-name/ho/hop/package.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, fetchurl, bigloo }: +{ + lib, + stdenv, + fetchurl, + bigloo, +}: # Compute the “release” version of bigloo (before the first dash, if any) -let bigloo-release = - let inherit (lib) head splitString; in - head (splitString "-" (builtins.parseDrvName bigloo.name).version) -; in +let + bigloo-release = + let + inherit (lib) head splitString; + in + head (splitString "-" (builtins.parseDrvName bigloo.name).version); +in stdenv.mkDerivation rec { pname = "hop"; diff --git a/pkgs/by-name/ho/hoppet/package.nix b/pkgs/by-name/ho/hoppet/package.nix index af6200b9c5784..90a501d04e223 100644 --- a/pkgs/by-name/ho/hoppet/package.nix +++ b/pkgs/by-name/ho/hoppet/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gfortran, perl }: +{ + lib, + stdenv, + fetchurl, + gfortran, + perl, +}: stdenv.mkDerivation rec { pname = "hoppet"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0j7437rh4xxbfzmkjr22ry34xm266gijzj6mvrq193fcsfzipzdz"; }; - nativeBuildInputs = [ perl gfortran ]; + nativeBuildInputs = [ + perl + gfortran + ]; enableParallelBuilding = true; @@ -20,9 +29,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Higher Order Perturbative Parton Evolution Toolkit"; mainProgram = "hoppet-config"; - license = licenses.gpl2; - homepage = "https://hoppet.hepforge.org"; - platforms = platforms.unix; + license = licenses.gpl2; + homepage = "https://hoppet.hepforge.org"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/ho/horst/package.nix b/pkgs/by-name/ho/horst/package.nix index 2e220a171cc27..cb9d6492ad61e 100644 --- a/pkgs/by-name/ho/horst/package.nix +++ b/pkgs/by-name/ho/horst/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, ncurses, libnl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + ncurses, + libnl, +}: stdenv.mkDerivation rec { pname = "horst"; @@ -28,7 +36,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ncurses libnl ]; + buildInputs = [ + ncurses + libnl + ]; installFlags = [ "DESTDIR=${placeholder "out"}" ]; diff --git a/pkgs/by-name/ho/hostapd-mana/package.nix b/pkgs/by-name/ho/hostapd-mana/package.nix index b32fe76b02235..73d17245e4258 100644 --- a/pkgs/by-name/ho/hostapd-mana/package.nix +++ b/pkgs/by-name/ho/hostapd-mana/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, pkg-config -, libnl -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + libnl, + openssl, }: stdenv.mkDerivation rec { @@ -27,7 +28,10 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libnl openssl ]; + buildInputs = [ + libnl + openssl + ]; extraConfig = '' CONFIG_DRIVER_WIRED=y diff --git a/pkgs/by-name/ho/hostapd/package.nix b/pkgs/by-name/ho/hostapd/package.nix index 10abb04f776fc..30eba3baca913 100644 --- a/pkgs/by-name/ho/hostapd/package.nix +++ b/pkgs/by-name/ho/hostapd/package.nix @@ -19,7 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libnl openssl sqlite ]; + buildInputs = [ + libnl + openssl + sqlite + ]; patches = [ (fetchurl { @@ -30,69 +34,74 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; # Based on hostapd's defconfig. Only differences are tracked. - extraConfig = '' - # Use epoll(7) instead of select(2) on linux - CONFIG_ELOOP_EPOLL=y - - # Drivers - CONFIG_DRIVER_WIRED=y - CONFIG_DRIVER_NONE=y - - # Integrated EAP server - CONFIG_EAP_SIM=y - CONFIG_EAP_AKA=y - CONFIG_EAP_AKA_PRIME=y - CONFIG_EAP_PAX=y - CONFIG_EAP_PSK=y - CONFIG_EAP_PWD=y - CONFIG_EAP_SAKE=y - CONFIG_EAP_GPSK=y - CONFIG_EAP_GPSK_SHA256=y - CONFIG_EAP_FAST=y - CONFIG_EAP_IKEV2=y - CONFIG_EAP_TNC=y - CONFIG_EAP_EKE=y - - CONFIG_TLS=openssl - CONFIG_TLSV11=y - CONFIG_TLSV12=y - - CONFIG_SAE=y - CONFIG_SAE_PK=y - - CONFIG_OWE=y - CONFIG_OCV=y - - # TKIP is considered insecure and upstream support will be removed in the future - CONFIG_NO_TKIP=y - - # Misc - CONFIG_RADIUS_SERVER=y - CONFIG_MACSEC=y - CONFIG_DRIVER_MACSEC_LINUX=y - CONFIG_FULL_DYNAMIC_VLAN=y - CONFIG_VLAN_NETLINK=y - CONFIG_GETRANDOM=y - CONFIG_INTERWORKING=y - CONFIG_HS20=y - CONFIG_FST=y - CONFIG_FST_TEST=y - CONFIG_ACS=y - CONFIG_WNM=y - CONFIG_MBO=y - - CONFIG_IEEE80211R=y - CONFIG_IEEE80211W=y - CONFIG_IEEE80211N=y - CONFIG_IEEE80211AC=y - CONFIG_IEEE80211AX=y - CONFIG_IEEE80211BE=y - '' + lib.optionalString (sqlite != null) '' - CONFIG_SQLITE=y - ''; + extraConfig = + '' + # Use epoll(7) instead of select(2) on linux + CONFIG_ELOOP_EPOLL=y + + # Drivers + CONFIG_DRIVER_WIRED=y + CONFIG_DRIVER_NONE=y + + # Integrated EAP server + CONFIG_EAP_SIM=y + CONFIG_EAP_AKA=y + CONFIG_EAP_AKA_PRIME=y + CONFIG_EAP_PAX=y + CONFIG_EAP_PSK=y + CONFIG_EAP_PWD=y + CONFIG_EAP_SAKE=y + CONFIG_EAP_GPSK=y + CONFIG_EAP_GPSK_SHA256=y + CONFIG_EAP_FAST=y + CONFIG_EAP_IKEV2=y + CONFIG_EAP_TNC=y + CONFIG_EAP_EKE=y + + CONFIG_TLS=openssl + CONFIG_TLSV11=y + CONFIG_TLSV12=y + + CONFIG_SAE=y + CONFIG_SAE_PK=y + + CONFIG_OWE=y + CONFIG_OCV=y + + # TKIP is considered insecure and upstream support will be removed in the future + CONFIG_NO_TKIP=y + + # Misc + CONFIG_RADIUS_SERVER=y + CONFIG_MACSEC=y + CONFIG_DRIVER_MACSEC_LINUX=y + CONFIG_FULL_DYNAMIC_VLAN=y + CONFIG_VLAN_NETLINK=y + CONFIG_GETRANDOM=y + CONFIG_INTERWORKING=y + CONFIG_HS20=y + CONFIG_FST=y + CONFIG_FST_TEST=y + CONFIG_ACS=y + CONFIG_WNM=y + CONFIG_MBO=y + + CONFIG_IEEE80211R=y + CONFIG_IEEE80211W=y + CONFIG_IEEE80211N=y + CONFIG_IEEE80211AC=y + CONFIG_IEEE80211AX=y + CONFIG_IEEE80211BE=y + '' + + lib.optionalString (sqlite != null) '' + CONFIG_SQLITE=y + ''; passAsFile = [ "extraConfig" ]; diff --git a/pkgs/by-name/ho/hostctl/package.nix b/pkgs/by-name/ho/hostctl/package.nix index 76c41d85ecdfd..6cc9412266e9c 100644 --- a/pkgs/by-name/ho/hostctl/package.nix +++ b/pkgs/by-name/ho/hostctl/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ho/hostess/package.nix b/pkgs/by-name/ho/hostess/package.nix index efc849f0651d9..28ab7185d9dfe 100644 --- a/pkgs/by-name/ho/hostess/package.nix +++ b/pkgs/by-name/ho/hostess/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "hostess"; diff --git a/pkgs/by-name/ho/hostmux/package.nix b/pkgs/by-name/ho/hostmux/package.nix index 405383d648bec..cc3dcf8339bbd 100644 --- a/pkgs/by-name/ho/hostmux/package.nix +++ b/pkgs/by-name/ho/hostmux/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, openssh -, tmux -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + openssh, + tmux, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ho/hostname-debian/package.nix b/pkgs/by-name/ho/hostname-debian/package.nix index 07135b35cc535..ca2c7866ef4b1 100644 --- a/pkgs/by-name/ho/hostname-debian/package.nix +++ b/pkgs/by-name/ho/hostname-debian/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: stdenv.mkDerivation rec { pname = "hostname-debian"; @@ -12,7 +16,10 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace Makefile --replace 'install -o root -g root' 'install' ''; - makeFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/share/man" ]; + makeFlags = [ + "BINDIR=$(out)/bin" + "MANDIR=$(out)/share/man" + ]; meta = with lib; { description = "Utility to set/show the host name or domain name"; diff --git a/pkgs/by-name/ho/hostsblock/package.nix b/pkgs/by-name/ho/hostsblock/package.nix index 96eac13b76a48..491447311b392 100644 --- a/pkgs/by-name/ho/hostsblock/package.nix +++ b/pkgs/by-name/ho/hostsblock/package.nix @@ -1,23 +1,33 @@ -{ lib, coreutils, curl, fetchFromGitHub, unzip, p7zip, gnused, gnugrep, stdenv -, blacklist ? [ "adwords.google.com" ] -, whitelist ? [ - ".dropbox.com" - " www.malwaredomainlists.com" - " www.arcamax.com" - " www.instructables.com" - " goo.gl" - " www.reddit.com" - " t.co" - " bit.ly" - " www.viddler.com" - " viddler.com" - " tinyurl.com" - " ompldr.org" - " www.ompldr.org" - "login.yahoo.com" - " l.yimg.com" - ".bp.blogspot.com" -] }: +{ + lib, + coreutils, + curl, + fetchFromGitHub, + unzip, + p7zip, + gnused, + gnugrep, + stdenv, + blacklist ? [ "adwords.google.com" ], + whitelist ? [ + ".dropbox.com" + " www.malwaredomainlists.com" + " www.arcamax.com" + " www.instructables.com" + " goo.gl" + " www.reddit.com" + " t.co" + " bit.ly" + " www.viddler.com" + " viddler.com" + " tinyurl.com" + " ompldr.org" + " www.ompldr.org" + "login.yahoo.com" + " l.yimg.com" + ".bp.blogspot.com" + ], +}: stdenv.mkDerivation { pname = "hostsblock"; diff --git a/pkgs/by-name/ho/hotpatch/package.nix b/pkgs/by-name/ho/hotpatch/package.nix index 7dcf09c5c5b2b..b1b2ae5437166 100644 --- a/pkgs/by-name/ho/hotpatch/package.nix +++ b/pkgs/by-name/ho/hotpatch/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "hotpatch"; @@ -35,6 +40,9 @@ stdenv.mkDerivation rec { homepage = src.meta.homepage; license = licenses.bsd3; maintainers = [ ]; - platforms = ["i686-linux" "x86_64-linux"]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/ho/hottext/package.nix b/pkgs/by-name/ho/hottext/package.nix index 021e44f3c093f..7269f16a5ac21 100644 --- a/pkgs/by-name/ho/hottext/package.nix +++ b/pkgs/by-name/ho/hottext/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromSourcehut, gentium, makeDesktopItem }: +{ + lib, + buildNimPackage, + fetchFromSourcehut, + gentium, + makeDesktopItem, +}: buildNimPackage (finalAttrs: { pname = "hottext"; diff --git a/pkgs/by-name/ho/hound/package.nix b/pkgs/by-name/ho/hound/package.nix index 6e3124556f547..2c3b996339328 100644 --- a/pkgs/by-name/ho/hound/package.nix +++ b/pkgs/by-name/ho/hound/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, mercurial -, git -, openssh -, nixosTests -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + mercurial, + git, + openssh, + nixosTests, + fetchpatch, }: buildGoModule rec { @@ -41,7 +42,13 @@ buildGoModule rec { doCheck = false; postInstall = '' - wrapProgram $out/bin/houndd --prefix PATH : ${lib.makeBinPath [ mercurial git openssh ]} + wrapProgram $out/bin/houndd --prefix PATH : ${ + lib.makeBinPath [ + mercurial + git + openssh + ] + } ''; passthru.tests = { inherit (nixosTests) hound; }; @@ -50,6 +57,9 @@ buildGoModule rec { description = "Lightning fast code searching made easy"; homepage = "https://github.com/hound-search/hound"; license = licenses.mit; - maintainers = with maintainers; [ grahamc SuperSandro2000 ]; + maintainers = with maintainers; [ + grahamc + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/ho/hover/package.nix b/pkgs/by-name/ho/hover/package.nix index b661adaac136b..04e4ce63dab05 100644 --- a/pkgs/by-name/ho/hover/package.nix +++ b/pkgs/by-name/ho/hover/package.nix @@ -1,18 +1,19 @@ -{ lib -, buildGoModule -, buildFHSEnv -, binutils -, dejavu_fonts -, pkg-config -, fetchFromGitHub -, roboto -, xorg -, libglvnd -, addDriverRunpath -, makeWrapper -, gcc -, go -, flutter +{ + lib, + buildGoModule, + buildFHSEnv, + binutils, + dejavu_fonts, + pkg-config, + fetchFromGitHub, + roboto, + xorg, + libglvnd, + addDriverRunpath, + makeWrapper, + gcc, + go, + flutter, }: let @@ -54,7 +55,10 @@ let sha256 = "sha256-ch59Wx4g72u7x99807ppURI4I+5aJ/W8Zr35q8X68v4="; }; - nativeBuildInputs = [ addDriverRunpath makeWrapper ]; + nativeBuildInputs = [ + addDriverRunpath + makeWrapper + ]; buildInputs = libs; @@ -85,16 +89,19 @@ let in buildFHSEnv rec { inherit pname version; - targetPkgs = pkgs: [ - binutils - dejavu_fonts - flutter - gcc - go - hover - pkg-config - roboto - ] ++ libs; + targetPkgs = + pkgs: + [ + binutils + dejavu_fonts + flutter + gcc + go + hover + pkg-config + roboto + ] + ++ libs; runScript = "hover"; } diff --git a/pkgs/by-name/ho/howl/package.nix b/pkgs/by-name/ho/howl/package.nix index 3a261f3e8714c..7456ac9582eae 100644 --- a/pkgs/by-name/ho/howl/package.nix +++ b/pkgs/by-name/ho/howl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, gtk3, librsvg }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + gtk3, + librsvg, +}: stdenv.mkDerivation rec { pname = "howl"; @@ -15,8 +23,14 @@ stdenv.mkDerivation rec { # The Makefile uses "/usr/local" if not explicitly overridden installFlags = [ "PREFIX=$(out)" ]; - nativeBuildInputs = [ makeWrapper pkg-config ]; - buildInputs = [ gtk3 librsvg ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + buildInputs = [ + gtk3 + librsvg + ]; enableParallelBuilding = true; # Required for the program to properly load its SVG assets @@ -33,7 +47,9 @@ stdenv.mkDerivation rec { mainProgram = "howl"; # LuaJIT and Howl builds fail for x86_64-darwin and aarch64-linux respectively - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } - diff --git a/pkgs/by-name/hp/hp2p/package.nix b/pkgs/by-name/hp/hp2p/package.nix index cd6d6e8b9dd94..1d1bd5d80ae27 100644 --- a/pkgs/by-name/hp/hp2p/package.nix +++ b/pkgs/by-name/hp/hp2p/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, mpi, python3Packages, autoconf, automake } : +{ + lib, + stdenv, + fetchFromGitHub, + mpi, + python3Packages, + autoconf, + automake, +}: stdenv.mkDerivation rec { pname = "hp2p"; @@ -12,9 +20,18 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ autoconf automake python3Packages.wrapPython ]; - buildInputs = [ mpi ] ++ (with python3Packages; [ python plotly ]) ; - pythonPath = (with python3Packages; [ plotly ]) ; + nativeBuildInputs = [ + autoconf + automake + python3Packages.wrapPython + ]; + buildInputs = + [ mpi ] + ++ (with python3Packages; [ + python + plotly + ]); + pythonPath = (with python3Packages; [ plotly ]); preConfigure = '' patchShebangs autogen.sh diff --git a/pkgs/by-name/hp/hpe-ltfs/package.nix b/pkgs/by-name/hp/hpe-ltfs/package.nix index 017df9a800739..b17c45e8c56fa 100644 --- a/pkgs/by-name/hp/hpe-ltfs/package.nix +++ b/pkgs/by-name/hp/hpe-ltfs/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fuse, icu66, pkg-config, libxml2, libuuid }: +{ + lib, + stdenv, + fetchFromGitHub, + fuse, + icu66, + pkg-config, + libxml2, + libuuid, +}: stdenv.mkDerivation rec { version = "3.4.2_Z7550-02501"; @@ -21,7 +30,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - fuse icu66 libxml2 libuuid + fuse + icu66 + libxml2 + libuuid ]; meta = with lib; { diff --git a/pkgs/by-name/hp/hping/package.nix b/pkgs/by-name/hp/hping/package.nix index 10bd63d489271..e09d835cb70fa 100644 --- a/pkgs/by-name/hp/hping/package.nix +++ b/pkgs/by-name/hp/hping/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, libpcap, withTcl ? true, tcl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libpcap, + withTcl ? true, + tcl, +}: stdenv.mkDerivation rec { pname = "hping"; @@ -22,20 +30,25 @@ stdenv.mkDerivation rec { buildInputs = [ libpcap ] ++ lib.optional withTcl tcl; - postPatch = '' - substituteInPlace Makefile.in --replace "gcc" "$CC" - substituteInPlace version.c --replace "RELEASE_DATE" "\"$version\"" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - sed -i -e 's|#include |#include |' \ - libpcap_stuff.c script.c - '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - substituteInPlace configure --replace 'BYTEORDER=`./byteorder -m`' BYTEORDER=${ - { - littleEndian = "__LITTLE_ENDIAN_BITFIELD"; - bigEndian = "__BIG_ENDIAN_BITFIELD"; - }.${stdenv.hostPlatform.parsed.cpu.significantByte.name}} - substituteInPlace Makefile.in --replace './hping3 -v' "" - ''; + postPatch = + '' + substituteInPlace Makefile.in --replace "gcc" "$CC" + substituteInPlace version.c --replace "RELEASE_DATE" "\"$version\"" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + sed -i -e 's|#include |#include |' \ + libpcap_stuff.c script.c + '' + + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace configure --replace 'BYTEORDER=`./byteorder -m`' BYTEORDER=${ + { + littleEndian = "__LITTLE_ENDIAN_BITFIELD"; + bigEndian = "__BIG_ENDIAN_BITFIELD"; + } + .${stdenv.hostPlatform.parsed.cpu.significantByte.name} + } + substituteInPlace Makefile.in --replace './hping3 -v' "" + ''; configureFlags = [ (if withTcl then "TCLSH=${tcl}/bin/tclsh" else "--no-tcl") ]; diff --git a/pkgs/by-name/hp/hpl/package.nix b/pkgs/by-name/hp/hpl/package.nix index 0abd8edd527b8..694f8aec1b8c0 100644 --- a/pkgs/by-name/hp/hpl/package.nix +++ b/pkgs/by-name/hp/hpl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, blas, lapack, mpi } : +{ + lib, + stdenv, + fetchurl, + blas, + lapack, + mpi, +}: assert (!blas.isILP64) && (!lapack.isILP64); @@ -20,7 +27,11 @@ stdenv.mkDerivation rec { install -D testing/ptest/HPL.dat $out/share/hpl/HPL.dat ''; - buildInputs = [ blas lapack mpi ]; + buildInputs = [ + blas + lapack + mpi + ]; meta = with lib; { description = "Portable Implementation of the Linpack Benchmark for Distributed-Memory Computers"; diff --git a/pkgs/by-name/hp/hplip/package.nix b/pkgs/by-name/hp/hplip/package.nix index cba838569ffa6..d5d7e1cc99b30 100644 --- a/pkgs/by-name/hp/hplip/package.nix +++ b/pkgs/by-name/hp/hplip/package.nix @@ -1,14 +1,35 @@ -{ lib, stdenv, fetchurl, substituteAll -, pkg-config, autoreconfHook, gobject-introspection, wrapGAppsHook3 -, cups, zlib, libjpeg, libusb1, python311Packages, sane-backends -, dbus, file, ghostscript, usbutils -, net-snmp, openssl, perl, nettools, avahi -, bash, util-linux -# To remove references to gcc-unwrapped -, removeReferencesTo, qt5 -, withQt5 ? true -, withPlugin ? false -, withStaticPPDInstall ? false +{ + lib, + stdenv, + fetchurl, + substituteAll, + pkg-config, + autoreconfHook, + gobject-introspection, + wrapGAppsHook3, + cups, + zlib, + libjpeg, + libusb1, + python311Packages, + sane-backends, + dbus, + file, + ghostscript, + usbutils, + net-snmp, + openssl, + perl, + nettools, + avahi, + bash, + util-linux, + # To remove references to gcc-unwrapped + removeReferencesTo, + qt5, + withQt5 ? true, + withPlugin ? false, + withStaticPPDInstall ? false, }: let @@ -32,43 +53,54 @@ let }; hplipPlatforms = { - i686-linux = "x86_32"; + i686-linux = "x86_32"; x86_64-linux = "x86_64"; armv6l-linux = "arm32"; armv7l-linux = "arm32"; aarch64-linux = "arm64"; }; - hplipArch = hplipPlatforms.${stdenv.hostPlatform.system} - or (throw "HPLIP not supported on ${stdenv.hostPlatform.system}"); + hplipArch = + hplipPlatforms.${stdenv.hostPlatform.system} + or (throw "HPLIP not supported on ${stdenv.hostPlatform.system}"); - pluginArches = [ "x86_32" "x86_64" "arm32" "arm64" ]; + pluginArches = [ + "x86_32" + "x86_64" + "arm32" + "arm64" + ]; in -assert withPlugin -> builtins.elem hplipArch pluginArches - || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}"; +assert + withPlugin + -> + builtins.elem hplipArch pluginArches + || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}"; python311Packages.buildPythonApplication { inherit pname version src; format = "other"; - buildInputs = [ - libjpeg - cups - libusb1 - sane-backends - dbus - file - ghostscript - net-snmp - openssl - perl - zlib - avahi - ] ++ lib.optionals withQt5 [ - qt5.qtwayland - ]; + buildInputs = + [ + libjpeg + cups + libusb1 + sane-backends + dbus + file + ghostscript + net-snmp + openssl + perl + zlib + avahi + ] + ++ lib.optionals withQt5 [ + qt5.qtwayland + ]; nativeBuildInputs = [ pkg-config @@ -78,21 +110,29 @@ python311Packages.buildPythonApplication { wrapGAppsHook3 ] ++ lib.optional withQt5 qt5.wrapQtAppsHook; - pythonPath = with python311Packages; [ - dbus - pillow - pygobject3 - reportlab - usbutils - dbus-python - distro - ] ++ lib.optionals withQt5 [ - pyqt5 - pyqt5-sip + pythonPath = + with python311Packages; + [ + dbus + pillow + pygobject3 + reportlab + usbutils + dbus-python + distro + ] + ++ lib.optionals withQt5 [ + pyqt5 + pyqt5-sip + ]; + + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + "${nettools}/bin" ]; - makeWrapperArgs = [ "--prefix" "PATH" ":" "${nettools}/bin" ]; - patches = [ # HPLIP's getSystemPPDs() function relies on searching for PPDs below common FHS # paths, and hp-setup crashes if none of these paths actually exist (which they @@ -134,7 +174,10 @@ python311Packages.buildPythonApplication { echo 'AUTOMAKE_OPTIONS = foreign' >> Makefile.am ''; - configureFlags = let out = placeholder "out"; in + configureFlags = + let + out = placeholder "out"; + in [ "--with-hpppddir=${out}/share/cups/model/HP" "--with-cupsfilterdir=${out}/lib/cups/filter" @@ -151,8 +194,7 @@ python311Packages.buildPythonApplication { "--disable-imageProcessor-build" ] ++ lib.optional withStaticPPDInstall "--enable-cups-ppd-install" - ++ lib.optional withQt5 "--enable-qt5" - ; + ++ lib.optional withQt5 "--enable-qt5"; # Prevent 'ppdc: Unable to find include file ""' which prevent # generation of '*.ppd' files. @@ -160,15 +202,19 @@ python311Packages.buildPythonApplication { # Could not find how to fix the problem in 'ppdc' so this is a workaround. CUPS_DATADIR = "${cups}/share/cups"; - makeFlags = let out = placeholder "out"; in [ - "halpredir=${out}/share/hal/fdi/preprobe/10osvendor" - "rulesdir=${out}/etc/udev/rules.d" - "policykit_dir=${out}/share/polkit-1/actions" - "policykit_dbus_etcdir=${out}/etc/dbus-1/system.d" - "policykit_dbus_sharedir=${out}/share/dbus-1/system-services" - "hplip_confdir=${out}/etc/hp" - "hplip_statedir=${out}/var/lib/hp" - ]; + makeFlags = + let + out = placeholder "out"; + in + [ + "halpredir=${out}/share/hal/fdi/preprobe/10osvendor" + "rulesdir=${out}/etc/udev/rules.d" + "policykit_dir=${out}/share/polkit-1/actions" + "policykit_dbus_etcdir=${out}/etc/dbus-1/system.d" + "policykit_dbus_sharedir=${out}/share/dbus-1/system-services" + "hplip_confdir=${out}/etc/hp" + "hplip_statedir=${out}/var/lib/hp" + ]; postConfigure = '' # don't save timestamp, in order to improve reproducibility @@ -183,51 +229,53 @@ python311Packages.buildPythonApplication { # Running `hp-diagnose_plugin -g` can be used to diagnose # issues with plugins. # - postInstall = '' - for resolution in 16x16 32x32 64x64 128x128 256x256; do - mkdir -p $out/share/icons/hicolor/$resolution/apps - ln -s $out/share/hplip/data/images/$resolution/hp_logo.png \ - $out/share/icons/hicolor/$resolution/apps/hp_logo.png - done - '' + lib.optionalString withPlugin '' - sh ${plugin} --noexec --keep - cd plugin_tmp - - cp plugin.spec $out/share/hplip/ - - mkdir -p $out/share/hplip/data/firmware - cp *.fw.gz $out/share/hplip/data/firmware - - mkdir -p $out/share/hplip/data/plugins - cp license.txt $out/share/hplip/data/plugins - - mkdir -p $out/share/hplip/prnt/plugins - for plugin in lj hbpl1; do - cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins - chmod 0755 $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so - ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/prnt/plugins/$plugin.so - done - - mkdir -p $out/share/hplip/scan/plugins - for plugin in bb_soap bb_marvell bb_soapht bb_escl; do - cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins - chmod 0755 $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so - ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/scan/plugins/$plugin.so - done - - mkdir -p $out/share/hplip/fax/plugins - for plugin in fax_marvell; do - cp $plugin-${hplipArch}.so $out/share/hplip/fax/plugins - chmod 0755 $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so - ln -s $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/fax/plugins/$plugin.so - done - - mkdir -p $out/var/lib/hp - cp ${hplipState} $out/var/lib/hp/hplip.state - ''; + postInstall = + '' + for resolution in 16x16 32x32 64x64 128x128 256x256; do + mkdir -p $out/share/icons/hicolor/$resolution/apps + ln -s $out/share/hplip/data/images/$resolution/hp_logo.png \ + $out/share/icons/hicolor/$resolution/apps/hp_logo.png + done + '' + + lib.optionalString withPlugin '' + sh ${plugin} --noexec --keep + cd plugin_tmp + + cp plugin.spec $out/share/hplip/ + + mkdir -p $out/share/hplip/data/firmware + cp *.fw.gz $out/share/hplip/data/firmware + + mkdir -p $out/share/hplip/data/plugins + cp license.txt $out/share/hplip/data/plugins + + mkdir -p $out/share/hplip/prnt/plugins + for plugin in lj hbpl1; do + cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins + chmod 0755 $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so + ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \ + $out/share/hplip/prnt/plugins/$plugin.so + done + + mkdir -p $out/share/hplip/scan/plugins + for plugin in bb_soap bb_marvell bb_soapht bb_escl; do + cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins + chmod 0755 $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so + ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \ + $out/share/hplip/scan/plugins/$plugin.so + done + + mkdir -p $out/share/hplip/fax/plugins + for plugin in fax_marvell; do + cp $plugin-${hplipArch}.so $out/share/hplip/fax/plugins + chmod 0755 $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so + ln -s $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so \ + $out/share/hplip/fax/plugins/$plugin.so + done + + mkdir -p $out/var/lib/hp + cp ${hplipState} $out/var/lib/hp/hplip.state + ''; # The installed executables are just symlinks into $out/share/hplip, # but wrapPythonPrograms ignores symlinks. We cannot replace the Python @@ -270,17 +318,34 @@ python311Packages.buildPythonApplication { # There are some binaries there, which reference gcc-unwrapped otherwise. stripDebugList = [ - "share/hplip" "lib/cups/backend" "lib/cups/filter" python311Packages.python.sitePackages "lib/sane" + "share/hplip" + "lib/cups/backend" + "lib/cups/filter" + python311Packages.python.sitePackages + "lib/sane" ]; meta = with lib; { description = "Print, scan and fax HP drivers for Linux"; homepage = "https://developers.hp.com/hp-linux-imaging-and-printing"; downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/"; - license = if withPlugin - then licenses.unfree - else with licenses; [ mit bsd2 gpl2Plus ]; - platforms = [ "i686-linux" "x86_64-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; + license = + if withPlugin then + licenses.unfree + else + with licenses; + [ + mit + bsd2 + gpl2Plus + ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "armv6l-linux" + "armv7l-linux" + "aarch64-linux" + ]; maintainers = with maintainers; [ ttuegel ]; }; } diff --git a/pkgs/by-name/hq/hqplayerd/package.nix b/pkgs/by-name/hq/hqplayerd/package.nix index 3cbec0b64818f..cd5d540f61141 100644 --- a/pkgs/by-name/hq/hqplayerd/package.nix +++ b/pkgs/by-name/hq/hqplayerd/package.nix @@ -1,24 +1,26 @@ -{ stdenv, lib -, addDriverRunpath -, alsa-lib -, autoPatchelfHook -, cairo -, fetchurl -, flac -, gcc12 -, gssdp -, gupnp -, gupnp-av -, lame -, libgmpris -, libusb-compat-0_1 -, llvmPackages_14 -, mpg123 -, rpmextract -, wavpack - -, callPackage -, rygel ? null +{ + stdenv, + lib, + addDriverRunpath, + alsa-lib, + autoPatchelfHook, + cairo, + fetchurl, + flac, + gcc12, + gssdp, + gupnp, + gupnp-av, + lame, + libgmpris, + libusb-compat-0_1, + llvmPackages_14, + mpg123, + rpmextract, + wavpack, + + callPackage, + rygel ? null, }@inputs: let # FIXME: Replace with gnome.rygel once hqplayerd releases a new version. @@ -37,7 +39,11 @@ stdenv.mkDerivation rec { ${rpmextract}/bin/rpmextract $src ''; - nativeBuildInputs = [ addDriverRunpath autoPatchelfHook rpmextract ]; + nativeBuildInputs = [ + addDriverRunpath + autoPatchelfHook + rpmextract + ]; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/hq/hqplayerd/rygel.nix b/pkgs/by-name/hq/hqplayerd/rygel.nix index bf360c3f8cc1c..23c4d6dd5a705 100644 --- a/pkgs/by-name/hq/hqplayerd/rygel.nix +++ b/pkgs/by-name/hq/hqplayerd/rygel.nix @@ -1,29 +1,31 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, vala -, gettext -, libxml2 -, gobject-introspection -, wrapGAppsHook3 -, python3 -, glib -, gssdp -, gupnp -, gupnp-av -, gupnp-dlna -, gst_all_1 -, libgee -, libsoup_2_4 -, gtk3 -, libmediaart -, sqlite -, systemd -, tinysparql -, shared-mime-info -, gnome +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + vala, + gettext, + libxml2, + gobject-introspection, + wrapGAppsHook3, + python3, + glib, + gssdp, + gupnp, + gupnp-av, + gupnp-dlna, + gst_all_1, + libgee, + libsoup_2_4, + gtk3, + libmediaart, + sqlite, + systemd, + tinysparql, + shared-mime-info, + gnome, }: stdenv.mkDerivation rec { @@ -31,7 +33,10 @@ stdenv.mkDerivation rec { version = "0.40.4"; # TODO: split out lib - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -54,28 +59,30 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ - glib - gssdp - gupnp - gupnp-av - gupnp-dlna - libgee - libsoup_2_4 - gtk3 - libmediaart - sqlite - systemd - tinysparql - shared-mime-info - ] ++ (with gst_all_1; [ - gstreamer - gst-editing-services - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]); + buildInputs = + [ + glib + gssdp + gupnp + gupnp-av + gupnp-dlna + libgee + libsoup_2_4 + gtk3 + libmediaart + sqlite + systemd + tinysparql + shared-mime-info + ] + ++ (with gst_all_1; [ + gstreamer + gst-editing-services + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); mesonFlags = [ "-Dsystemd-user-units-dir=${placeholder "out"}/lib/systemd/user" diff --git a/pkgs/by-name/hr/hr/package.nix b/pkgs/by-name/hr/hr/package.nix index 51a2a14be9cc1..b5f52e9a6a57a 100644 --- a/pkgs/by-name/hr/hr/package.nix +++ b/pkgs/by-name/hr/hr/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hr"; @@ -12,7 +16,10 @@ stdenv.mkDerivation rec { }; dontBuild = true; - installFlags = [ "PREFIX=$(out)" "MANPREFIX=$(out)/share" ]; + installFlags = [ + "PREFIX=$(out)" + "MANPREFIX=$(out)/share" + ]; preInstall = '' mkdir -p $out/{bin,share} diff --git a/pkgs/by-name/hr/hred/package.nix b/pkgs/by-name/hr/hred/package.nix index b7c77d3ecdda9..d946f8665b07e 100644 --- a/pkgs/by-name/hr/hred/package.nix +++ b/pkgs/by-name/hr/hred/package.nix @@ -1,4 +1,11 @@ -{ lib, buildNpmPackage, fetchFromGitHub, runCommand, hred, jq }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + runCommand, + hred, + jq, +}: buildNpmPackage rec { pname = "hred"; @@ -16,7 +23,7 @@ buildNpmPackage rec { dontNpmBuild = true; passthru.tests = { - simple = runCommand "${pname}-test" {} '' + simple = runCommand "${pname}-test" { } '' set -e -o pipefail echo 'bar' | ${hred}/bin/hred 'i#foo { @id => id, @.textContent => text }' -c | ${jq}/bin/jq -c > $out [ "$(cat $out)" = '{"id":"foo","text":"bar"}' ] diff --git a/pkgs/by-name/hs/hsetroot/package.nix b/pkgs/by-name/hs/hsetroot/package.nix index a3ebc33f56ba4..48a281f3bc908 100644 --- a/pkgs/by-name/hs/hsetroot/package.nix +++ b/pkgs/by-name/hs/hsetroot/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, imlib2 -, libX11 -, libXinerama +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + imlib2, + libX11, + libXinerama, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/hs/hsqldb/package.nix b/pkgs/by-name/hs/hsqldb/package.nix index 3cf749b68c73b..02fec4a73ee59 100644 --- a/pkgs/by-name/hs/hsqldb/package.nix +++ b/pkgs/by-name/hs/hsqldb/package.nix @@ -1,32 +1,42 @@ -{ lib, stdenv, fetchurl, unzip, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + unzip, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "hsqldb"; version = "2.7.4"; - underscoreMajMin = lib.replaceStrings ["."] ["_"] (lib.versions.majorMinor version); + underscoreMajMin = lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version); src = fetchurl { url = "mirror://sourceforge/project/hsqldb/hsqldb/hsqldb_${underscoreMajMin}/hsqldb-${version}.zip"; sha256 = "sha256-k4ih0VHD+RV1+kyrx/kiWUqm7P0gEpV66FPoKjpQCNU="; }; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; buildInputs = [ jre ]; installPhase = '' - runHook preInstall + runHook preInstall - mkdir -p $out/lib $out/bin - cp -R hsqldb/lib/*.jar $out/lib + mkdir -p $out/lib $out/bin + cp -R hsqldb/lib/*.jar $out/lib - makeWrapper ${jre}/bin/java $out/bin/hsqldb --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server" - makeWrapper ${jre}/bin/java $out/bin/runServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server" - makeWrapper ${jre}/bin/java $out/bin/runManagerSwing --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing" - makeWrapper ${jre}/bin/java $out/bin/runWebServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.WebServer" - makeWrapper ${jre}/bin/java $out/bin/runManager --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManager" - makeWrapper ${jre}/bin/java $out/bin/sqltool --add-flags "-jar $out/lib/sqltool.jar" + makeWrapper ${jre}/bin/java $out/bin/hsqldb --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server" + makeWrapper ${jre}/bin/java $out/bin/runServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.Server" + makeWrapper ${jre}/bin/java $out/bin/runManagerSwing --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing" + makeWrapper ${jre}/bin/java $out/bin/runWebServer --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.server.WebServer" + makeWrapper ${jre}/bin/java $out/bin/runManager --add-flags "-classpath $out/lib/hsqldb.jar org.hsqldb.util.DatabaseManager" + makeWrapper ${jre}/bin/java $out/bin/sqltool --add-flags "-jar $out/lib/sqltool.jar" - runHook postInstall + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/by-name/hs/hss/package.nix b/pkgs/by-name/hs/hss/package.nix index e2535395971a7..dc2b1cc2abacd 100644 --- a/pkgs/by-name/hs/hss/package.nix +++ b/pkgs/by-name/hs/hss/package.nix @@ -1,4 +1,9 @@ -{ lib, buildRubyGem, ruby, openssh }: +{ + lib, + buildRubyGem, + ruby, + openssh, +}: # Example ~/.hss.yml #--- @@ -16,20 +21,20 @@ buildRubyGem rec { source.sha256 = "0hdfpxxqsh6gisn8mm0knsl1aig9fir0h2x9sirk3gr36qbz5xa4"; postInstall = '' - substituteInPlace $GEM_HOME/gems/${gemName}-${version}/bin/hss \ - --replace \ - "'ssh'" \ - "'${openssh}/bin/ssh'" + substituteInPlace $GEM_HOME/gems/${gemName}-${version}/bin/hss \ + --replace \ + "'ssh'" \ + "'${openssh}/bin/ssh'" ''; meta = with lib; { description = '' A SSH helper that uses regex and fancy expansion to dynamically manage SSH shortcuts. ''; - homepage = "https://github.com/akerl/hss"; - license = licenses.mit; + homepage = "https://github.com/akerl/hss"; + license = licenses.mit; maintainers = with maintainers; [ nixy ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "hss"; }; } diff --git a/pkgs/by-name/hs/hstr/package.nix b/pkgs/by-name/hs/hstr/package.nix index 2963ba732f059..a92128622780c 100644 --- a/pkgs/by-name/hs/hstr/package.nix +++ b/pkgs/by-name/hs/hstr/package.nix @@ -1,19 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, readline, ncurses -, autoreconfHook, pkg-config, gettext }: +{ + lib, + stdenv, + fetchFromGitHub, + readline, + ncurses, + autoreconfHook, + pkg-config, + gettext, +}: stdenv.mkDerivation rec { pname = "hstr"; version = "3.1"; src = fetchFromGitHub { - owner = "dvorka"; - repo = "hstr"; - rev = version; - hash = "sha256-OuLy1aiEwUJDGy3+UXYF1Vx1nNXic46WIZEM1xrIPfA="; + owner = "dvorka"; + repo = "hstr"; + rev = version; + hash = "sha256-OuLy1aiEwUJDGy3+UXYF1Vx1nNXic46WIZEM1xrIPfA="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ readline ncurses gettext ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + readline + ncurses + gettext + ]; configureFlags = [ "--prefix=$(out)" ]; diff --git a/pkgs/by-name/hs/hstsparser/package.nix b/pkgs/by-name/hs/hstsparser/package.nix index 6c30190507199..b956845048b5c 100644 --- a/pkgs/by-name/hs/hstsparser/package.nix +++ b/pkgs/by-name/hs/hstsparser/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ht/ht/package.nix b/pkgs/by-name/ht/ht/package.nix index a72bac0c27c2d..657110cc2f18f 100644 --- a/pkgs/by-name/ht/ht/package.nix +++ b/pkgs/by-name/ht/ht/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, ncurses }: +{ + stdenv, + lib, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "ht"; diff --git a/pkgs/by-name/ht/htb-toolkit/package.nix b/pkgs/by-name/ht/htb-toolkit/package.nix index df3c8cde12751..a7955e3963fb8 100644 --- a/pkgs/by-name/ht/htb-toolkit/package.nix +++ b/pkgs/by-name/ht/htb-toolkit/package.nix @@ -1,16 +1,17 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin -, coreutils -, gnome-keyring -, libsecret -, openvpn -, gzip -, killall +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, + coreutils, + gnome-keyring, + libsecret, + openvpn, + gzip, + killall, }: rustPlatform.buildRustPackage { @@ -36,14 +37,17 @@ rustPlatform.buildRustPackage { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - gnome-keyring - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + gnome-keyring + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; postPatch = '' substituteInPlace src/manage.rs \ diff --git a/pkgs/by-name/ht/html-minifier/package.nix b/pkgs/by-name/ht/html-minifier/package.nix index 6fd239fa816cf..81bf3e65fdf8a 100644 --- a/pkgs/by-name/ht/html-minifier/package.nix +++ b/pkgs/by-name/ht/html-minifier/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ht/html-tidy/package.nix b/pkgs/by-name/ht/html-tidy/package.nix index 16e6035cef89e..00fa778dd53a7 100644 --- a/pkgs/by-name/ht/html-tidy/package.nix +++ b/pkgs/by-name/ht/html-tidy/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libxslt, html-tidy }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + libxslt, + html-tidy, +}: stdenv.mkDerivation rec { pname = "html-tidy"; @@ -12,13 +20,17 @@ stdenv.mkDerivation rec { }; # https://github.com/htacg/tidy-html5/pull/1036 - patches = (fetchpatch { - url = "https://github.com/htacg/tidy-html5/commit/e9aa038bd06bd8197a0dc049380bc2945ff55b29.diff"; - sha256 = "sha256-Q2GjinNBWLL+HXUtslzDJ7CJSTflckbjweiSMCnIVwg="; - }); + patches = ( + fetchpatch { + url = "https://github.com/htacg/tidy-html5/commit/e9aa038bd06bd8197a0dc049380bc2945ff55b29.diff"; + sha256 = "sha256-Q2GjinNBWLL+HXUtslzDJ7CJSTflckbjweiSMCnIVwg="; + } + ); - nativeBuildInputs = [ cmake libxslt/*manpage*/ ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) html-tidy; + nativeBuildInputs = [ + cmake + libxslt # manpage + ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) html-tidy; cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DHOST_TIDY=tidy" diff --git a/pkgs/by-name/ht/html-xml-utils/package.nix b/pkgs/by-name/ht/html-xml-utils/package.nix index df91cbcea5663..acbbd0c811237 100644 --- a/pkgs/by-name/ht/html-xml-utils/package.nix +++ b/pkgs/by-name/ht/html-xml-utils/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, curl, libiconv }: +{ + lib, + stdenv, + fetchurl, + curl, + libiconv, +}: stdenv.mkDerivation rec { pname = "html-xml-utils"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-XoRynvNszTkk0ocu1O5pVMYzMtylQAuo606u8fLbT7I="; }; - buildInputs = [curl libiconv]; + buildInputs = [ + curl + libiconv + ]; meta = with lib; { description = "Utilities for manipulating HTML and XML files"; diff --git a/pkgs/by-name/ht/html2text/package.nix b/pkgs/by-name/ht/html2text/package.nix index afa4bb1140379..7e6e46d6033f0 100644 --- a/pkgs/by-name/ht/html2text/package.nix +++ b/pkgs/by-name/ht/html2text/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, libiconv }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + libiconv, +}: stdenv.mkDerivation rec { pname = "html2text"; diff --git a/pkgs/by-name/ht/htmlcxx/package.nix b/pkgs/by-name/ht/htmlcxx/package.nix index 4b01162bf25bc..ab349979d3f1e 100644 --- a/pkgs/by-name/ht/htmlcxx/package.nix +++ b/pkgs/by-name/ht/htmlcxx/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, libiconv }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + libiconv, +}: stdenv.mkDerivation rec { pname = "htmlcxx"; diff --git a/pkgs/by-name/ht/htmlhint/package.nix b/pkgs/by-name/ht/htmlhint/package.nix index 6d70819515d14..2c7f09ee60db6 100644 --- a/pkgs/by-name/ht/htmlhint/package.nix +++ b/pkgs/by-name/ht/htmlhint/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ht/htmltest/package.nix b/pkgs/by-name/ht/htmltest/package.nix index cbb82695a46e1..9eed514e874dc 100644 --- a/pkgs/by-name/ht/htmltest/package.nix +++ b/pkgs/by-name/ht/htmltest/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/ht/htmlunit-driver/package.nix b/pkgs/by-name/ht/htmlunit-driver/package.nix index 788a28a87f22b..6c24a21316ce9 100644 --- a/pkgs/by-name/ht/htmlunit-driver/package.nix +++ b/pkgs/by-name/ht/htmlunit-driver/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "htmlunit-driver-standalone"; @@ -16,7 +20,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/SeleniumHQ/htmlunit-driver"; description = "WebDriver server for running Selenium tests on the HtmlUnit headless browser"; - maintainers = with maintainers; [ coconnor offline ]; + maintainers = with maintainers; [ + coconnor + offline + ]; platforms = platforms.all; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.asl20; diff --git a/pkgs/by-name/ht/htmx-lsp/package.nix b/pkgs/by-name/ht/htmx-lsp/package.nix index 4116d168f7ead..49835f6a679c8 100644 --- a/pkgs/by-name/ht/htmx-lsp/package.nix +++ b/pkgs/by-name/ht/htmx-lsp/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ht/htpdate/package.nix b/pkgs/by-name/ht/htpdate/package.nix index 0f906b4586a0c..d8de2a8ff77b2 100644 --- a/pkgs/by-name/ht/htpdate/package.nix +++ b/pkgs/by-name/ht/htpdate/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "2.0.0"; diff --git a/pkgs/by-name/ht/htslib/package.nix b/pkgs/by-name/ht/htslib/package.nix index 8e1c0a939daf3..c7e14e03ca000 100644 --- a/pkgs/by-name/ht/htslib/package.nix +++ b/pkgs/by-name/ht/htslib/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, zlib, bzip2, xz, curl, perl }: +{ + lib, + stdenv, + fetchurl, + zlib, + bzip2, + xz, + curl, + perl, +}: stdenv.mkDerivation rec { pname = "htslib"; @@ -12,12 +21,21 @@ stdenv.mkDerivation rec { # perl is only used during the check phase. nativeBuildInputs = [ perl ]; - buildInputs = [ zlib bzip2 xz curl ]; - - configureFlags = if ! stdenv.hostPlatform.isStatic - then [ "--enable-libcurl" ] # optional but strongly recommended - else [ "--disable-libcurl" "--disable-plugins" ]; + buildInputs = [ + zlib + bzip2 + xz + curl + ]; + configureFlags = + if !stdenv.hostPlatform.isStatic then + [ "--enable-libcurl" ] # optional but strongly recommended + else + [ + "--disable-libcurl" + "--disable-plugins" + ]; # In the case of static builds, we need to replace the build and install phases buildPhase = lib.optional stdenv.hostPlatform.isStatic '' diff --git a/pkgs/by-name/ht/http-parser/package.nix b/pkgs/by-name/ht/http-parser/package.nix index 69cf2ab210dd4..30e33e13130a6 100644 --- a/pkgs/by-name/ht/http-parser/package.nix +++ b/pkgs/by-name/ht/http-parser/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -16,36 +20,41 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-Wno-error"; - patches = [ - ./enable-static-shared.patch - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - # https://github.com/nodejs/http-parser/pull/510 - (fetchpatch { - url = "https://github.com/nodejs/http-parser/commit/4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878.patch"; - sha256 = "sha256-rZZMJeow3V1fTnjadRaRa+xTq3pdhZn/eJ4xjxEDoU4="; - }) - ]; + patches = + [ + ./enable-static-shared.patch + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + # https://github.com/nodejs/http-parser/pull/510 + (fetchpatch { + url = "https://github.com/nodejs/http-parser/commit/4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878.patch"; + sha256 = "sha256-rZZMJeow3V1fTnjadRaRa+xTq3pdhZn/eJ4xjxEDoU4="; + }) + ]; - makeFlags = [ - "DESTDIR=" - "PREFIX=$(out)" - "BINEXT=${stdenv.hostPlatform.extensions.executable}" - "Platform=${lib.toLower stdenv.hostPlatform.uname.system}" - "AEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.staticLibrary}" - "ENABLE_SHARED=${if enableShared then "1" else "0"}" - "ENABLE_STATIC=${if enableStatic then "1" else "0"}" - ] ++ lib.optionals enableShared [ - "SOEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.sharedLibrary}" - ] ++ lib.optionals enableStatic [ - "AEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.staticLibrary}" - ] ++ lib.optionals (enableShared && stdenv.hostPlatform.isWindows) [ - "SONAME=$(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOEXT)" - "LIBNAME=$(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOREV).$(SOEXT)" - "LDFLAGS=-Wl,--out-implib=$(LIBNAME).a" - ]; + makeFlags = + [ + "DESTDIR=" + "PREFIX=$(out)" + "BINEXT=${stdenv.hostPlatform.extensions.executable}" + "Platform=${lib.toLower stdenv.hostPlatform.uname.system}" + "AEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.staticLibrary}" + "ENABLE_SHARED=${if enableShared then "1" else "0"}" + "ENABLE_STATIC=${if enableStatic then "1" else "0"}" + ] + ++ lib.optionals enableShared [ + "SOEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.sharedLibrary}" + ] + ++ lib.optionals enableStatic [ + "AEXT=${lib.strings.removePrefix "." stdenv.hostPlatform.extensions.staticLibrary}" + ] + ++ lib.optionals (enableShared && stdenv.hostPlatform.isWindows) [ + "SONAME=$(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOEXT)" + "LIBNAME=$(SOLIBNAME).$(SOMAJOR).$(SOMINOR).$(SOREV).$(SOEXT)" + "LDFLAGS=-Wl,--out-implib=$(LIBNAME).a" + ]; - buildFlags = lib.optional enableShared "library" - ++ lib.optional enableStatic "package"; + buildFlags = lib.optional enableShared "library" ++ lib.optional enableStatic "package"; doCheck = true; checkTarget = "test"; diff --git a/pkgs/by-name/ht/http-server/package.nix b/pkgs/by-name/ht/http-server/package.nix index 7c66a03e27279..015a50bcbd624 100644 --- a/pkgs/by-name/ht/http-server/package.nix +++ b/pkgs/by-name/ht/http-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, fetchpatch2 +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchpatch2, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ht/http2tcp/package.nix b/pkgs/by-name/ht/http2tcp/package.nix index c1ee7bf45bb6b..39a55907f5f54 100644 --- a/pkgs/by-name/ht/http2tcp/package.nix +++ b/pkgs/by-name/ht/http2tcp/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, stdenv -, fetchurl +{ + lib, + python3, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ht/http3-ytproxy/package.nix b/pkgs/by-name/ht/http3-ytproxy/package.nix index 04e6965012937..49de0c2fe4c15 100644 --- a/pkgs/by-name/ht/http3-ytproxy/package.nix +++ b/pkgs/by-name/ht/http3-ytproxy/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, libwebp +{ + lib, + fetchFromGitHub, + buildGoModule, + libwebp, }: buildGoModule rec { pname = "http3-ytproxy"; @@ -24,7 +25,10 @@ buildGoModule rec { buildInputs = [ libwebp ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "YouTube traffic proxy for video playback and images"; diff --git a/pkgs/by-name/ht/httpdirfs/package.nix b/pkgs/by-name/ht/httpdirfs/package.nix index bf7c8ced26061..fda57e5c35030 100644 --- a/pkgs/by-name/ht/httpdirfs/package.nix +++ b/pkgs/by-name/ht/httpdirfs/package.nix @@ -55,7 +55,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/fangfufu/httpdirfs"; license = lib.licenses.gpl3Only; mainProgram = "httpdirfs"; - maintainers = with lib.maintainers; [ sbruder schnusch anthonyroussel ]; + maintainers = with lib.maintainers; [ + sbruder + schnusch + anthonyroussel + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/ht/httpdump/package.nix b/pkgs/by-name/ht/httpdump/package.nix index 2a8e754977824..7e062dd294fe2 100644 --- a/pkgs/by-name/ht/httpdump/package.nix +++ b/pkgs/by-name/ht/httpdump/package.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, libpcap +{ + buildGoModule, + fetchFromGitHub, + lib, + libpcap, }: buildGoModule rec { @@ -19,7 +20,10 @@ buildGoModule rec { propagatedBuildInputs = [ libpcap ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Parse and display HTTP traffic from network device or pcap file"; diff --git a/pkgs/by-name/ht/httperf/package.nix b/pkgs/by-name/ht/httperf/package.nix index 90cda6d78a400..9a5f595043f3d 100644 --- a/pkgs/by-name/ht/httperf/package.nix +++ b/pkgs/by-name/ht/httperf/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, +}: stdenv.mkDerivation rec { pname = "httperf"; diff --git a/pkgs/by-name/ht/httpfs2/package.nix b/pkgs/by-name/ht/httpfs2/package.nix index 0926461974d7a..c4c0bbf04be0b 100644 --- a/pkgs/by-name/ht/httpfs2/package.nix +++ b/pkgs/by-name/ht/httpfs2/package.nix @@ -1,5 +1,16 @@ -{ fetchurl, lib, stdenv, pkg-config, fuse, openssl, asciidoc -, docbook_xml_dtd_45, docbook_xsl , libxml2, libxslt }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + fuse, + openssl, + asciidoc, + docbook_xml_dtd_45, + docbook_xsl, + libxml2, + libxslt, +}: stdenv.mkDerivation rec { pname = "httpfs2"; @@ -11,10 +22,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = - [ fuse openssl - asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt - ]; + buildInputs = [ + fuse + openssl + asciidoc + docbook_xml_dtd_45 + docbook_xsl + libxml2 + libxslt + ]; installPhase = '' mkdir -p "$out/bin" diff --git a/pkgs/by-name/ht/httplab/package.nix b/pkgs/by-name/ht/httplab/package.nix index c78f32d056500..fd2257ef8f90f 100644 --- a/pkgs/by-name/ht/httplab/package.nix +++ b/pkgs/by-name/ht/httplab/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "httplab"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-vL3a9eO5G0WqnqcIjA9D2XM7iQ87JH0q+an2nLcG28A="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/qustavo/httplab"; diff --git a/pkgs/by-name/ht/httplz/package.nix b/pkgs/by-name/ht/httplz/package.nix index cb0e51632784a..25296b51cc5ae 100644 --- a/pkgs/by-name/ht/httplz/package.nix +++ b/pkgs/by-name/ht/httplz/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchCrate -, installShellFiles -, makeWrapper -, pkg-config -, ronn -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + makeWrapper, + pkg-config, + ronn, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -29,11 +30,16 @@ rustPlatform.buildRustPackage rec { ronn ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; - cargoBuildFlags = [ "--bin" "httplz" ]; + cargoBuildFlags = [ + "--bin" + "httplz" + ]; postInstall = '' sed -E 's/http(`| |\(|$)/httplz\1/g' http.md > httplz.1.ronn diff --git a/pkgs/by-name/ht/httpref/package.nix b/pkgs/by-name/ht/httpref/package.nix index f2c0f58a30944..fb04d45c3d516 100644 --- a/pkgs/by-name/ht/httpref/package.nix +++ b/pkgs/by-name/ht/httpref/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-9Ei4Lfll79f/+iuO5KesUMaTgkS9nq+1tma/dhOZ7Qw="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Command line, offline, access to HTTP status code, common header, and port references"; diff --git a/pkgs/by-name/ht/httprobe/package.nix b/pkgs/by-name/ht/httprobe/package.nix index b1a03ed6b488a..a1c2b4da34dc6 100644 --- a/pkgs/by-name/ht/httprobe/package.nix +++ b/pkgs/by-name/ht/httprobe/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Take a list of domains and probe for working HTTP and HTTPS servers"; diff --git a/pkgs/by-name/ht/https-dns-proxy/package.nix b/pkgs/by-name/ht/https-dns-proxy/package.nix index 12793747e8610..e4fc762bd82db 100644 --- a/pkgs/by-name/ht/https-dns-proxy/package.nix +++ b/pkgs/by-name/ht/https-dns-proxy/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gtest, c-ares, curl, libev }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, + c-ares, + curl, + libev, +}: let # https-dns-proxy supports HTTP3 if curl has support, but as of 2022-08 curl doesn't work with that enabled @@ -25,9 +34,16 @@ stdenv.mkDerivation rec { --replace '--unit https_dns_proxy.service' '--unit https-dns-proxy.service' ''; - nativeBuildInputs = [ cmake gtest ]; + nativeBuildInputs = [ + cmake + gtest + ]; - buildInputs = [ c-ares curl' libev ]; + buildInputs = [ + c-ares + curl' + libev + ]; postInstall = '' install -Dm444 -t $out/share/doc/${pname} ../{LICENSE,*.md} diff --git a/pkgs/by-name/ht/httpstat/package.nix b/pkgs/by-name/ht/httpstat/package.nix index 971c973ada21a..a267bbaf4d5b4 100644 --- a/pkgs/by-name/ht/httpstat/package.nix +++ b/pkgs/by-name/ht/httpstat/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, curl, python3Packages, glibcLocales }: +{ + lib, + fetchFromGitHub, + curl, + python3Packages, + glibcLocales, +}: python3Packages.buildPythonApplication rec { pname = "httpstat"; diff --git a/pkgs/by-name/ht/httptunnel/package.nix b/pkgs/by-name/ht/httptunnel/package.nix index 9a8a9ee11db5a..e45744a9997e8 100644 --- a/pkgs/by-name/ht/httptunnel/package.nix +++ b/pkgs/by-name/ht/httptunnel/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -21,9 +22,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Creates a bidirectional virtual data connection tunnelled in HTTP requests"; - homepage = "http://www.gnu.org/software/httptunnel/httptunnel.html"; - license = licenses.gpl2Only; + homepage = "http://www.gnu.org/software/httptunnel/httptunnel.html"; + license = licenses.gpl2Only; maintainers = with maintainers; [ koral ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ht/httpunit/package.nix b/pkgs/by-name/ht/httpunit/package.nix index 07afdabd89b28..ffc175b210591 100644 --- a/pkgs/by-name/ht/httpunit/package.nix +++ b/pkgs/by-name/ht/httpunit/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "httpunit"; diff --git a/pkgs/by-name/ht/httpy-cli/package.nix b/pkgs/by-name/ht/httpy-cli/package.nix index 2b59b54ef2136..80cb10863219d 100644 --- a/pkgs/by-name/ht/httpy-cli/package.nix +++ b/pkgs/by-name/ht/httpy-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchPypi -, curl - }: +{ + lib, + python3Packages, + fetchPypi, + curl, +}: python3Packages.buildPythonPackage rec { pname = "httpy-cli"; @@ -23,7 +24,7 @@ python3Packages.buildPythonPackage rec { ]; build-system = with python3Packages; [ - setuptools + setuptools ]; pythonImportsCheck = [ @@ -31,9 +32,9 @@ python3Packages.buildPythonPackage rec { ]; nativeCheckInputs = [ - python3Packages.pytest - curl - ]; + python3Packages.pytest + curl + ]; checkPhase = '' runHook preCheck diff --git a/pkgs/by-name/hu/hub/package.nix b/pkgs/by-name/hu/hub/package.nix index 4486c71605da3..71c302369fb42 100644 --- a/pkgs/by-name/hu/hub/package.nix +++ b/pkgs/by-name/hu/hub/package.nix @@ -1,13 +1,14 @@ -{ lib -, buildGoModule -, fetchpatch -, fetchFromGitHub -, git -, groff -, installShellFiles -, makeWrapper -, unixtools -, nixosTests +{ + lib, + buildGoModule, + fetchpatch, + fetchFromGitHub, + git, + groff, + installShellFiles, + makeWrapper, + unixtools, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/hu/hubble/package.nix b/pkgs/by-name/hu/hubble/package.nix index eba0454425812..a841d66b74c24 100644 --- a/pkgs/by-name/hu/hubble/package.nix +++ b/pkgs/by-name/hu/hubble/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "hubble"; @@ -14,7 +19,8 @@ buildGoModule rec { vendorHash = null; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/cilium/hubble/pkg.GitBranch=none" "-X github.com/cilium/hubble/pkg.GitHash=none" "-X github.com/cilium/hubble/pkg.Version=${version}" @@ -43,6 +49,9 @@ buildGoModule rec { mainProgram = "hubble"; license = licenses.asl20; homepage = "https://github.com/cilium/hubble/"; - maintainers = with maintainers; [ humancalico bryanasdev000 ]; + maintainers = with maintainers; [ + humancalico + bryanasdev000 + ]; }; } diff --git a/pkgs/by-name/hu/hubicfuse/package.nix b/pkgs/by-name/hu/hubicfuse/package.nix index 95dabe2f97b62..1cf774bc0b9bb 100644 --- a/pkgs/by-name/hu/hubicfuse/package.nix +++ b/pkgs/by-name/hu/hubicfuse/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, curl, openssl, fuse, libxml2, json_c, file }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + curl, + openssl, + fuse, + libxml2, + json_c, + file, +}: stdenv.mkDerivation rec { pname = "hubicfuse"; @@ -27,7 +39,14 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ curl openssl fuse libxml2 json_c file ]; + buildInputs = [ + curl + openssl + fuse + libxml2 + json_c + file + ]; postInstall = '' install hubic_token $out/bin mkdir -p $out/sbin diff --git a/pkgs/by-name/hu/hubot-sans/package.nix b/pkgs/by-name/hu/hubot-sans/package.nix index 3711aeb028d17..de93d39b075ee 100644 --- a/pkgs/by-name/hu/hubot-sans/package.nix +++ b/pkgs/by-name/hu/hubot-sans/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchzip -, stdenvNoCC +{ + lib, + fetchzip, + stdenvNoCC, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/hu/hueadm/package.nix b/pkgs/by-name/hu/hueadm/package.nix index 30cbaa591cc56..51986732b1d55 100644 --- a/pkgs/by-name/hu/hueadm/package.nix +++ b/pkgs/by-name/hu/hueadm/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/hu/hugs/package.nix b/pkgs/by-name/hu/hugs/package.nix index ab48ef91b362e..4bc39894a6fb6 100644 --- a/pkgs/by-name/hu/hugs/package.nix +++ b/pkgs/by-name/hu/hugs/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, bison }: +{ + lib, + stdenv, + fetchurl, + bison, +}: stdenv.mkDerivation rec { pname = "hugs98"; @@ -9,13 +14,13 @@ stdenv.mkDerivation rec { sha256 = "1dj65c39zpy6qqvvrwns2hzj6ipnd4ih655xj7kgyk2nfdvd5x1w"; }; - patches = - [ (fetchurl { - url = "https://aur.archlinux.org/cgit/aur.git/plain/hsbase_inline.patch?h=hugs"; - name = "hsbase_inline.patch"; - sha256 = "1h0sp16d17hlm6gj7zdbgwrjwi2l4q02m8p0wd60dp4gn9i9js0v"; - }) - ]; + patches = [ + (fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/hsbase_inline.patch?h=hugs"; + name = "hsbase_inline.patch"; + sha256 = "1h0sp16d17hlm6gj7zdbgwrjwi2l4q02m8p0wd60dp4gn9i9js0v"; + }) + ]; nativeBuildInputs = [ bison ]; @@ -24,19 +29,19 @@ stdenv.mkDerivation rec { preConfigure = "unset STRIP"; configureFlags = [ - "--enable-char-encoding=utf8" # require that the UTF-8 encoding is always used + "--enable-char-encoding=utf8" # require that the UTF-8 encoding is always used "--disable-path-canonicalization" - "--disable-timer" # evaluation timing (for benchmarking Hugs) - "--disable-profiling" # heap profiler - "--disable-stack-dumps" # stack dump on stack overflow - "--enable-large-banner" # multiline startup banner - "--disable-internal-prims" # experimental primitives to access Hugs's innards - "--disable-debug" # include C debugging information (for debugging Hugs) - "--disable-tag" # runtime tag checking (for debugging Hugs) - "--disable-lint" # "lint" flags (for debugging Hugs) - "--disable-only98" # build Hugs to understand Haskell 98 only + "--disable-timer" # evaluation timing (for benchmarking Hugs) + "--disable-profiling" # heap profiler + "--disable-stack-dumps" # stack dump on stack overflow + "--enable-large-banner" # multiline startup banner + "--disable-internal-prims" # experimental primitives to access Hugs's innards + "--disable-debug" # include C debugging information (for debugging Hugs) + "--disable-tag" # runtime tag checking (for debugging Hugs) + "--disable-lint" # "lint" flags (for debugging Hugs) + "--disable-only98" # build Hugs to understand Haskell 98 only "--enable-ffi" - "--enable-pthreads" # build Hugs using POSIX threads C library + "--enable-pthreads" # build Hugs using POSIX threads C library ]; meta = with lib; { diff --git a/pkgs/by-name/hu/hujsonfmt/package.nix b/pkgs/by-name/hu/hujsonfmt/package.nix index 9c1884feb60e0..ca4b54453e385 100644 --- a/pkgs/by-name/hu/hujsonfmt/package.nix +++ b/pkgs/by-name/hu/hujsonfmt/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: let inherit (lib) licenses maintainers; diff --git a/pkgs/by-name/hu/humanity-icon-theme/package.nix b/pkgs/by-name/hu/humanity-icon-theme/package.nix index dd52c984b1b56..31a5bd2289263 100644 --- a/pkgs/by-name/hu/humanity-icon-theme/package.nix +++ b/pkgs/by-name/hu/humanity-icon-theme/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchurl, gtk3, adwaita-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchurl, + gtk3, + adwaita-icon-theme, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "humanity-icon-theme"; diff --git a/pkgs/by-name/hu/humioctl/package.nix b/pkgs/by-name/hu/humioctl/package.nix index 018448d431b0e..34fc374f4f541 100644 --- a/pkgs/by-name/hu/humioctl/package.nix +++ b/pkgs/by-name/hu/humioctl/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, installShellFiles, lib }: +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, +}: buildGoModule rec { pname = "humioctl"; @@ -13,7 +18,11 @@ buildGoModule rec { vendorHash = "sha256-vGX77+I/zdTBhVSywd7msjrJ0KtcdZRgvWZWQC9M9og="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/hu/huniq/package.nix b/pkgs/by-name/hu/huniq/package.nix index 857bbb77e3d4d..6118aae67e097 100644 --- a/pkgs/by-name/hu/huniq/package.nix +++ b/pkgs/by-name/hu/huniq/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "huniq"; diff --git a/pkgs/by-name/hu/hunt/package.nix b/pkgs/by-name/hu/hunt/package.nix index b0e3cb6de0a59..bebad941e1324 100644 --- a/pkgs/by-name/hu/hunt/package.nix +++ b/pkgs/by-name/hu/hunt/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/hu/hurl/package.nix b/pkgs/by-name/hu/hurl/package.nix index 335ba94b01203..e6907aae8d94e 100644 --- a/pkgs/by-name/hu/hurl/package.nix +++ b/pkgs/by-name/hu/hurl/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, fetchpatch -, pkg-config -, installShellFiles -, libxml2 -, openssl -, stdenv -, curl -, versionCheckHook +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch, + pkg-config, + installShellFiles, + libxml2, + openssl, + stdenv, + curl, + versionCheckHook, }: rustPlatform.buildRustPackage rec { @@ -29,12 +30,14 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - libxml2 - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - ]; + buildInputs = + [ + libxml2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + ]; nativeInstallCheckInputs = [ versionCheckHook ]; @@ -57,7 +60,10 @@ rustPlatform.buildRustPackage rec { description = "Command line tool that performs HTTP requests defined in a simple plain text format"; homepage = "https://hurl.dev/"; changelog = "https://github.com/Orange-OpenSource/hurl/blob/${version}/CHANGELOG.md"; - maintainers = with maintainers; [ eonpatapon figsoda ]; + maintainers = with maintainers; [ + eonpatapon + figsoda + ]; license = licenses.asl20; mainProgram = "hurl"; }; diff --git a/pkgs/by-name/hu/husky/package.nix b/pkgs/by-name/hu/husky/package.nix index cd613b925b2d4..e749644bc33c0 100644 --- a/pkgs/by-name/hu/husky/package.nix +++ b/pkgs/by-name/hu/husky/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: buildNpmPackage rec { pname = "husky"; diff --git a/pkgs/by-name/hu/hut/package.nix b/pkgs/by-name/hu/hut/package.nix index f53ef737de3c1..232964381647a 100644 --- a/pkgs/by-name/hu/hut/package.nix +++ b/pkgs/by-name/hu/hut/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromSourcehut -, scdoc +{ + lib, + buildGoModule, + fetchFromSourcehut, + scdoc, }: buildGoModule rec { diff --git a/pkgs/by-name/hv/hvm/package.nix b/pkgs/by-name/hv/hvm/package.nix index b5f1725d71137..bdbdbc74c3427 100644 --- a/pkgs/by-name/hv/hvm/package.nix +++ b/pkgs/by-name/hv/hvm/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/hw/hwdata/package.nix b/pkgs/by-name/hw/hwdata/package.nix index b03448f762884..2eefae34d4fcd 100644 --- a/pkgs/by-name/hw/hwdata/package.nix +++ b/pkgs/by-name/hw/hwdata/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "hwdata"; diff --git a/pkgs/by-name/hy/hybridreverb2/package.nix b/pkgs/by-name/hy/hybridreverb2/package.nix index 5a677b9cc8809..c9a3a0acce837 100644 --- a/pkgs/by-name/hy/hybridreverb2/package.nix +++ b/pkgs/by-name/hy/hybridreverb2/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, lv2 -, alsa-lib -, libjack2 -, freetype -, libX11 -, gtk3 -, pcre -, libpthreadstubs -, libXdmcp -, libxkbcommon -, libepoxy -, at-spi2-core -, dbus -, curl -, fftwFloat +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + lv2, + alsa-lib, + libjack2, + freetype, + libX11, + gtk3, + pcre, + libpthreadstubs, + libXdmcp, + libxkbcommon, + libepoxy, + at-spi2-core, + dbus, + curl, + fftwFloat, }: let @@ -46,7 +47,10 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ lv2 alsa-lib diff --git a/pkgs/by-name/hy/hydrapaper/package.nix b/pkgs/by-name/hy/hydrapaper/package.nix index ca638091fb3c4..6935eece8a3d4 100644 --- a/pkgs/by-name/hy/hydrapaper/package.nix +++ b/pkgs/by-name/hy/hydrapaper/package.nix @@ -1,18 +1,19 @@ -{ lib -, python3Packages -, fetchFromGitLab -, meson -, ninja -, glib -, pkg-config -, pandoc -, appstream -, blueprint-compiler -, gobject-introspection -, wrapGAppsHook4 -, dbus -, libadwaita -, xdg-user-dirs +{ + lib, + python3Packages, + fetchFromGitLab, + meson, + ninja, + glib, + pkg-config, + pandoc, + appstream, + blueprint-compiler, + gobject-introspection, + wrapGAppsHook4, + dbus, + libadwaita, + xdg-user-dirs, }: python3Packages.buildPythonApplication rec { @@ -61,7 +62,12 @@ python3Packages.buildPythonApplication rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [ glib xdg-user-dirs ]} + --prefix PATH : ${ + lib.makeBinPath [ + glib + xdg-user-dirs + ] + } ) makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; diff --git a/pkgs/by-name/hy/hydroxide/package.nix b/pkgs/by-name/hy/hydroxide/package.nix index ce49d6b150161..34decc37b1341 100644 --- a/pkgs/by-name/hy/hydroxide/package.nix +++ b/pkgs/by-name/hy/hydroxide/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "hydroxide"; diff --git a/pkgs/by-name/hy/hyena/package.nix b/pkgs/by-name/hy/hyena/package.nix index cb962212ffea6..e165255847e0f 100644 --- a/pkgs/by-name/hy/hyena/package.nix +++ b/pkgs/by-name/hy/hyena/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, mono, gtk-sharp-2_0, monoDLLFixer }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + mono, + gtk-sharp-2_0, + monoDLLFixer, +}: stdenv.mkDerivation rec { pname = "hyena"; @@ -11,7 +19,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - mono gtk-sharp-2_0 + mono + gtk-sharp-2_0 ]; postPatch = '' diff --git a/pkgs/by-name/hy/hyenae/package.nix b/pkgs/by-name/hy/hyenae/package.nix index b0e579de22094..f4f3152338e8b 100644 --- a/pkgs/by-name/hy/hyenae/package.nix +++ b/pkgs/by-name/hy/hyenae/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, libdnet, pkg-config, libpcap}: +{ + lib, + stdenv, + fetchurl, + libdnet, + pkg-config, + libpcap, +}: stdenv.mkDerivation rec { pname = "hyenae"; @@ -12,13 +19,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [libdnet libpcap]; + buildInputs = [ + libdnet + libpcap + ]; meta = { description = ""; homepage = "https://sourceforge.net/projects/hyenae/"; license = lib.licenses.gpl3; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/hy/hylafaxplus/package.nix b/pkgs/by-name/hy/hylafaxplus/package.nix index 3c66ce8129f34..cab83cf408b06 100644 --- a/pkgs/by-name/hy/hylafaxplus/package.nix +++ b/pkgs/by-name/hy/hylafaxplus/package.nix @@ -1,32 +1,33 @@ -{ stdenv -, lib -, fakeroot -, fetchurl -, libfaketime -, substituteAll -## runtime dependencies -, coreutils -, file -, findutils -, gawk -, ghostscript -, gnugrep -, gnused -, libtiff -, libxcrypt -, openssl -, psmisc -, sharutils -, util-linux -, zlib -## optional packages (using `null` disables some functionality) -, jbigkit ? null -, lcms2 ? null # for colored faxes -, openldap ? null -, pam ? null -## system-dependent settings that have to be hardcoded -, maxgid ? 65534 # null -> try to auto-detect (bad on linux) -, maxuid ? 65534 # null -> hardcoded value 60002 +{ + stdenv, + lib, + fakeroot, + fetchurl, + libfaketime, + substituteAll, + ## runtime dependencies + coreutils, + file, + findutils, + gawk, + ghostscript, + gnugrep, + gnused, + libtiff, + libxcrypt, + openssl, + psmisc, + sharutils, + util-linux, + zlib, + ## optional packages (using `null` disables some functionality) + jbigkit ? null, + lcms2 ? null, # for colored faxes + openldap ? null, + pam ? null, + ## system-dependent settings that have to be hardcoded + maxgid ? 65534, # null -> try to auto-detect (bad on linux) + maxuid ? 65534, # null -> hardcoded value 60002 }: let @@ -38,9 +39,9 @@ let configSite = substituteAll { name = "${pname}-config.site"; src = ./config.site; - config_maxgid = lib.optionalString (maxgid!=null) ''CONFIG_MAXGID=${builtins.toString maxgid}''; + config_maxgid = lib.optionalString (maxgid != null) ''CONFIG_MAXGID=${builtins.toString maxgid}''; ghostscript_version = ghostscript.version; - out_ = "@out@"; # "out" will be resolved in post-install.sh + out_ = "@out@"; # "out" will be resolved in post-install.sh inherit coreutils ghostscript libtiff; }; @@ -48,11 +49,19 @@ let name = "${pname}-post-patch.sh"; src = ./post-patch.sh; inherit configSite; - maxuid = lib.optionalString (maxuid!=null) (builtins.toString maxuid); - faxcover_binpath = lib.makeBinPath - [stdenv.shellPackage coreutils]; - faxsetup_binpath = lib.makeBinPath - [stdenv.shellPackage coreutils findutils gnused gnugrep gawk]; + maxuid = lib.optionalString (maxuid != null) (builtins.toString maxuid); + faxcover_binpath = lib.makeBinPath [ + stdenv.shellPackage + coreutils + ]; + faxsetup_binpath = lib.makeBinPath [ + stdenv.shellPackage + coreutils + findutils + gnused + gnugrep + gawk + ]; }; postInstall = substituteAll { @@ -77,19 +86,19 @@ stdenv.mkDerivation { # for a couple of standard binaries in the `PATH` and # hardcode their absolute paths in the new package. buildInputs = [ - file # for `file` command + file # for `file` command ghostscript libtiff libxcrypt openssl - psmisc # for `fuser` command - sharutils # for `uuencode` command - util-linux # for `agetty` command + psmisc # for `fuser` command + sharutils # for `uuencode` command + util-linux # for `agetty` command zlib - jbigkit # optional - lcms2 # optional - openldap # optional - pam # optional + jbigkit # optional + lcms2 # optional + openldap # optional + pam # optional ]; # Disable parallel build, errors: # *** No rule to make target '../util/libfaxutil.so.7.0.4', needed by 'faxmsg'. Stop. diff --git a/pkgs/by-name/hy/hyp/package.nix b/pkgs/by-name/hy/hyp/package.nix index 76562311ac648..dae4619da82f9 100644 --- a/pkgs/by-name/hy/hyp/package.nix +++ b/pkgs/by-name/hy/hyp/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonPackage rec { pname = "hyp-server"; @@ -12,9 +16,12 @@ python3Packages.buildPythonPackage rec { meta = with lib; { description = "Hyperminimal https server"; mainProgram = "hyp"; - homepage = "https://github.com/rnhmjoj/hyp"; - license = with licenses; [gpl3Plus mit]; + homepage = "https://github.com/rnhmjoj/hyp"; + license = with licenses; [ + gpl3Plus + mit + ]; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/hy/hyp2mat/package.nix b/pkgs/by-name/hy/hyp2mat/package.nix index 71da4a259d54c..a09766c38a1d2 100644 --- a/pkgs/by-name/hy/hyp2mat/package.nix +++ b/pkgs/by-name/hy/hyp2mat/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, bison -, flex -, gengetopt -, help2man -, groff -, libharu -, autoreconfHook -, pkg-config -, libpng -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + bison, + flex, + gengetopt, + help2man, + groff, + libharu, + autoreconfHook, + pkg-config, + libpng, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/hy/hyper/package.nix b/pkgs/by-name/hy/hyper/package.nix index 9f46b59d6a537..4f2fc478b1e63 100644 --- a/pkgs/by-name/hy/hyper/package.nix +++ b/pkgs/by-name/hy/hyper/package.nix @@ -1,15 +1,82 @@ -{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gtk3, cairo -, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr, libXcomposite -, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver, libxcb, nss, nspr -, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk, at-spi2-core, libxshmfence -, libdrm, libxkbcommon, mesa, nixosTests}: +{ + stdenv, + lib, + fetchurl, + dpkg, + atk, + glib, + pango, + gdk-pixbuf, + gtk3, + cairo, + freetype, + fontconfig, + dbus, + libXi, + libXcursor, + libXdamage, + libXrandr, + libXcomposite, + libXext, + libXfixes, + libXrender, + libX11, + libXtst, + libXScrnSaver, + libxcb, + nss, + nspr, + alsa-lib, + cups, + expat, + udev, + libpulseaudio, + at-spi2-atk, + at-spi2-core, + libxshmfence, + libdrm, + libxkbcommon, + mesa, + nixosTests, +}: let libPath = lib.makeLibraryPath [ - stdenv.cc.cc gtk3 atk glib pango gdk-pixbuf cairo freetype fontconfig dbus - libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb - libXrender libX11 libXtst libXScrnSaver nss nspr alsa-lib cups expat udev libpulseaudio - at-spi2-atk at-spi2-core libxshmfence libdrm libxkbcommon mesa + stdenv.cc.cc + gtk3 + atk + glib + pango + gdk-pixbuf + cairo + freetype + fontconfig + dbus + libXi + libXcursor + libXdamage + libXrandr + libXcomposite + libXext + libXfixes + libxcb + libXrender + libX11 + libXtst + libXScrnSaver + nss + nspr + alsa-lib + cups + expat + udev + libpulseaudio + at-spi2-atk + at-spi2-core + libxshmfence + libdrm + libxkbcommon + mesa ]; in @@ -42,11 +109,14 @@ stdenv.mkDerivation rec { dontPatchELF = true; meta = with lib; { description = "Terminal built on web technologies"; - homepage = "https://hyper.is/"; - maintainers = with maintainers; [ puffnfresh fabiangd ]; + homepage = "https://hyper.is/"; + maintainers = with maintainers; [ + puffnfresh + fabiangd + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.mit; - platforms = [ "x86_64-linux" ]; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; mainProgram = "hyper"; broken = true; # Error: 'node-pty' failed to load }; diff --git a/pkgs/by-name/hy/hyperhdr/package.nix b/pkgs/by-name/hy/hyperhdr/package.nix index 1866e7212e1f1..8eec9ef219ee4 100644 --- a/pkgs/by-name/hy/hyperhdr/package.nix +++ b/pkgs/by-name/hy/hyperhdr/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, alsa-lib -, flatbuffers -, libjpeg_turbo -, mbedtls -, mdns -, pipewire -, qt6Packages -, qmqtt -, xz +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + flatbuffers, + libjpeg_turbo, + mbedtls, + mdns, + pipewire, + qt6Packages, + qmqtt, + xz, }: let inherit (lib) cmakeBool - ; + ; in stdenv.mkDerivation rec { diff --git a/pkgs/by-name/hy/hyperledger-fabric/package.nix b/pkgs/by-name/hy/hyperledger-fabric/package.nix index 2647b65687722..f86e6e83012c5 100644 --- a/pkgs/by-name/hy/hyperledger-fabric/package.nix +++ b/pkgs/by-name/hy/hyperledger-fabric/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/hy/hyperlink/package.nix b/pkgs/by-name/hy/hyperlink/package.nix index 0edd68e6a82e0..04e699a6f3d3a 100644 --- a/pkgs/by-name/hy/hyperlink/package.nix +++ b/pkgs/by-name/hy/hyperlink/package.nix @@ -1,6 +1,7 @@ -{ rustPlatform -, lib -, fetchFromGitHub +{ + rustPlatform, + lib, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/hy/hyperpotamus/package.nix b/pkgs/by-name/hy/hyperpotamus/package.nix index 869b8aea9143a..d0c293fff008b 100644 --- a/pkgs/by-name/hy/hyperpotamus/package.nix +++ b/pkgs/by-name/hy/hyperpotamus/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/hy/hyperrogue/package.nix b/pkgs/by-name/hy/hyperrogue/package.nix index 750496186ffbe..a0db518f4a3a2 100644 --- a/pkgs/by-name/hy/hyperrogue/package.nix +++ b/pkgs/by-name/hy/hyperrogue/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, SDL, SDL_ttf, SDL_gfx, SDL_mixer, libpng -, glew, dejavu_fonts, makeDesktopItem }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL, + SDL_ttf, + SDL_gfx, + SDL_mixer, + libpng, + glew, + dejavu_fonts, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "hyperrogue"; @@ -21,7 +32,14 @@ stdenv.mkDerivation rec { HYPERROGUE_USE_GLEW = 1; HYPERROGUE_USE_PNG = 1; - buildInputs = [ SDL SDL_ttf SDL_gfx SDL_mixer libpng glew ]; + buildInputs = [ + SDL + SDL_ttf + SDL_gfx + SDL_mixer + libpng + glew + ]; desktopItem = makeDesktopItem { name = "hyperrogue"; @@ -30,7 +48,10 @@ stdenv.mkDerivation rec { comment = meta.description; icon = "hyperrogue"; exec = "hyperrogue"; - categories = [ "Game" "AdventureGame" ]; + categories = [ + "Game" + "AdventureGame" + ]; }; installPhase = '' diff --git a/pkgs/by-name/hy/hyperscan/package.nix b/pkgs/by-name/hy/hyperscan/package.nix index cdb578ba08d55..b9ba8e7b8ddaa 100644 --- a/pkgs/by-name/hy/hyperscan/package.nix +++ b/pkgs/by-name/hy/hyperscan/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ragel -, python3 -, util-linux -, pkg-config -, boost -, pcre -, withStatic ? false # build only shared libs by default, build static+shared if true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ragel, + python3, + util-linux, + pkg-config, + boost, + pcre, + withStatic ? false, # build only shared libs by default, build static+shared if true }: stdenv.mkDerivation (finalAttrs: { @@ -22,19 +23,27 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ boost ]; nativeBuildInputs = [ - cmake ragel python3 util-linux pkg-config + cmake + ragel + python3 + util-linux + pkg-config ]; - cmakeFlags = [ - "-DBUILD_AVX512=ON" - ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) "-DFAT_RUNTIME=ON" - ++ lib.optional (withStatic) "-DBUILD_STATIC_AND_SHARED=ON" - ++ lib.optional (!withStatic) "-DBUILD_SHARED_LIBS=ON"; + cmakeFlags = + [ + "-DBUILD_AVX512=ON" + ] + ++ lib.optional (!stdenv.hostPlatform.isDarwin) "-DFAT_RUNTIME=ON" + ++ lib.optional (withStatic) "-DBUILD_STATIC_AND_SHARED=ON" + ++ lib.optional (!withStatic) "-DBUILD_SHARED_LIBS=ON"; # hyperscan CMake is completely broken for chimera builds when pcre is compiled # the only option to make it build - building from source @@ -78,7 +87,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.hyperscan.io/"; maintainers = with maintainers; [ avnik ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; license = licenses.bsd3; }; }) diff --git a/pkgs/by-name/hy/hyperscrypt-font/package.nix b/pkgs/by-name/hy/hyperscrypt-font/package.nix index a55702fbf2e5b..51517cf1b3edb 100644 --- a/pkgs/by-name/hy/hyperscrypt-font/package.nix +++ b/pkgs/by-name/hy/hyperscrypt-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hyperscrypt"; diff --git a/pkgs/by-name/hy/hyperspeedcube/package.nix b/pkgs/by-name/hy/hyperspeedcube/package.nix index 79616e0a67628..870ad595038d6 100644 --- a/pkgs/by-name/hy/hyperspeedcube/package.nix +++ b/pkgs/by-name/hy/hyperspeedcube/package.nix @@ -1,41 +1,42 @@ -{ cmake -, alsa-lib -, atk -, cairo -, directx-shader-compiler -, expat -, fetchFromGitHub -, fontconfig -, freetype -, gdk-pixbuf -, glib -, gtk3 -, harfbuzz -, lib -, libGL -, libX11 -, libxcb -, libXcursor -, libXi -, libxkbcommon -, libXrandr -, makeWrapper -, mold -, pango -, pkg-config -, python3 -, rustPlatform -, shaderc -, vulkan-extension-layer -, vulkan-headers -, vulkan-loader -, vulkan-tools -, vulkan-tools-lunarg -, vulkan-validation-layers -, wayland -, wrapGAppsHook3 -, yq -, zlib +{ + cmake, + alsa-lib, + atk, + cairo, + directx-shader-compiler, + expat, + fetchFromGitHub, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + harfbuzz, + lib, + libGL, + libX11, + libxcb, + libXcursor, + libXi, + libxkbcommon, + libXrandr, + makeWrapper, + mold, + pango, + pkg-config, + python3, + rustPlatform, + shaderc, + vulkan-extension-layer, + vulkan-headers, + vulkan-loader, + vulkan-tools, + vulkan-tools-lunarg, + vulkan-validation-layers, + wayland, + wrapGAppsHook3, + yq, + zlib, }: rustPlatform.buildRustPackage rec { @@ -52,7 +53,7 @@ rustPlatform.buildRustPackage rec { cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "key-names-1.5.1" = "sha256-ZO3mlCoUHCaMnxD2vQno6GNx0+JmwZ8OiqpyveiVfvc="; + "key-names-1.5.1" = "sha256-ZO3mlCoUHCaMnxD2vQno6GNx0+JmwZ8OiqpyveiVfvc="; }; }; diff --git a/pkgs/by-name/hy/hypnotix/package.nix b/pkgs/by-name/hy/hypnotix/package.nix index 7b616ff539812..3e6169da35cfb 100644 --- a/pkgs/by-name/hy/hypnotix/package.nix +++ b/pkgs/by-name/hy/hypnotix/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, xapp -, circle-flags -, gettext -, gobject-introspection -, mpv -, python3 -, wrapGAppsHook3 -, yt-dlp +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + xapp, + circle-flags, + gettext, + gobject-introspection, + mpv, + python3, + wrapGAppsHook3, + yt-dlp, }: stdenv.mkDerivation rec { @@ -90,7 +91,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/linuxmint/hypnotix"; changelog = "https://github.com/linuxmint/hypnotix/blob/${src.rev}/debian/changelog"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ dotlambda bobby285271 ]; + maintainers = with lib.maintainers; [ + dotlambda + bobby285271 + ]; platforms = lib.platforms.linux; mainProgram = "hypnotix"; }; diff --git a/pkgs/by-name/hy/hyprkeys/package.nix b/pkgs/by-name/hy/hyprkeys/package.nix index ae13dadb1401e..672f98e764c73 100644 --- a/pkgs/by-name/hy/hyprkeys/package.nix +++ b/pkgs/by-name/hy/hyprkeys/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -38,7 +39,10 @@ buildGoModule rec { description = "Simple, scriptable keybind retrieval utility for Hyprland"; homepage = "https://github.com/hyprland-community/Hyprkeys"; license = licenses.gpl3Only; - maintainers = with maintainers; [ NotAShelf donovanglover ]; + maintainers = with maintainers; [ + NotAShelf + donovanglover + ]; mainProgram = "hyprkeys"; }; } diff --git a/pkgs/by-name/hy/hyprland-activewindow/package.nix b/pkgs/by-name/hy/hyprland-activewindow/package.nix index 522c451fd676d..8086a4a132d30 100644 --- a/pkgs/by-name/hy/hyprland-activewindow/package.nix +++ b/pkgs/by-name/hy/hyprland-activewindow/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "hyprland-activewindow"; @@ -18,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/FieldofClay/hyprland-activewindow"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ kiike donovanglover ]; + maintainers = with maintainers; [ + kiike + donovanglover + ]; mainProgram = "hyprland-activewindow"; }; } diff --git a/pkgs/by-name/hy/hyprland-autoname-workspaces/package.nix b/pkgs/by-name/hy/hyprland-autoname-workspaces/package.nix index 9655ad5c23087..78ee30be58627 100644 --- a/pkgs/by-name/hy/hyprland-autoname-workspaces/package.nix +++ b/pkgs/by-name/hy/hyprland-autoname-workspaces/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/hy/hyprland-monitor-attached/package.nix b/pkgs/by-name/hy/hyprland-monitor-attached/package.nix index 291b1f5a249df..faea98dbef693 100644 --- a/pkgs/by-name/hy/hyprland-monitor-attached/package.nix +++ b/pkgs/by-name/hy/hyprland-monitor-attached/package.nix @@ -1,4 +1,8 @@ -{ rustPlatform, fetchFromGitHub, lib }: +{ + rustPlatform, + fetchFromGitHub, + lib, +}: rustPlatform.buildRustPackage rec { pname = "hyprland-monitor-attached"; diff --git a/pkgs/by-name/hy/hyprland-per-window-layout/package.nix b/pkgs/by-name/hy/hyprland-per-window-layout/package.nix index a8ad214bc087b..f9c12a0c4926f 100644 --- a/pkgs/by-name/hy/hyprland-per-window-layout/package.nix +++ b/pkgs/by-name/hy/hyprland-per-window-layout/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "hyprland-per-window-layout"; diff --git a/pkgs/by-name/hy/hyprland-protocols/package.nix b/pkgs/by-name/hy/hyprland-protocols/package.nix index 99c07db13cc9d..4f36ec9d56255 100644 --- a/pkgs/by-name/hy/hyprland-protocols/package.nix +++ b/pkgs/by-name/hy/hyprland-protocols/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, }: stdenv.mkDerivation (finalAttrs: { pname = "hyprland-protocols"; diff --git a/pkgs/by-name/hy/hyprland-workspaces/package.nix b/pkgs/by-name/hy/hyprland-workspaces/package.nix index 8457b62014008..3ec41e8b9c48f 100644 --- a/pkgs/by-name/hy/hyprland-workspaces/package.nix +++ b/pkgs/by-name/hy/hyprland-workspaces/package.nix @@ -22,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/FieldofClay/hyprland-workspaces"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ kiike donovanglover ]; + maintainers = with maintainers; [ + kiike + donovanglover + ]; mainProgram = "hyprland-workspaces"; }; } diff --git a/pkgs/by-name/hy/hyprlang/package.nix b/pkgs/by-name/hy/hyprlang/package.nix index 3b88af7833039..946d553240a99 100644 --- a/pkgs/by-name/hy/hyprlang/package.nix +++ b/pkgs/by-name/hy/hyprlang/package.nix @@ -32,6 +32,9 @@ stdenv.mkDerivation (finalAttrs: { description = "Official implementation library for the hypr config language"; license = lib.licenses.lgpl3Only; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ iogamaster fufexan ]; + maintainers = with lib.maintainers; [ + iogamaster + fufexan + ]; }; }) diff --git a/pkgs/by-name/hy/hyprls/package.nix b/pkgs/by-name/hy/hyprls/package.nix index 57c732d70b4c8..e415846dcd332 100644 --- a/pkgs/by-name/hy/hyprls/package.nix +++ b/pkgs/by-name/hy/hyprls/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { pname = "hyprls"; diff --git a/pkgs/by-name/hy/hyprnotify/package.nix b/pkgs/by-name/hy/hyprnotify/package.nix index 1be9b8b114cf7..d89277c5cda19 100644 --- a/pkgs/by-name/hy/hyprnotify/package.nix +++ b/pkgs/by-name/hy/hyprnotify/package.nix @@ -3,7 +3,7 @@ buildGoModule, fetchFromGitHub, pkg-config, - alsa-lib + alsa-lib, }: buildGoModule rec { diff --git a/pkgs/by-name/hy/hyprpaper/package.nix b/pkgs/by-name/hy/hyprpaper/package.nix index db4af50f49669..a1633a6d3ed67 100644 --- a/pkgs/by-name/hy/hyprpaper/package.nix +++ b/pkgs/by-name/hy/hyprpaper/package.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, cairo -, expat -, file -, fribidi -, hyprlang -, libdatrie -, libGL -, libjpeg -, libselinux -, libsepol -, libthai -, libwebp -, libXdmcp -, pango -, pcre -, pcre2 -, pkg-config -, util-linux -, wayland -, wayland-protocols -, wayland-scanner -, hyprwayland-scanner -, hyprutils +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + cairo, + expat, + file, + fribidi, + hyprlang, + libdatrie, + libGL, + libjpeg, + libselinux, + libsepol, + libthai, + libwebp, + libXdmcp, + pango, + pcre, + pcre2, + pkg-config, + util-linux, + wayland, + wayland-protocols, + wayland-scanner, + hyprwayland-scanner, + hyprutils, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/hy/hyprshot/package.nix b/pkgs/by-name/hy/hyprshot/package.nix index 17be2088c727b..98666e17b84e7 100644 --- a/pkgs/by-name/hy/hyprshot/package.nix +++ b/pkgs/by-name/hy/hyprshot/package.nix @@ -1,15 +1,16 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, hyprland -, jq -, grim -, slurp -, wl-clipboard -, libnotify -, withFreeze ? true -, hyprpicker -, makeWrapper +{ + stdenvNoCC, + lib, + fetchFromGitHub, + hyprland, + jq, + grim, + slurp, + wl-clipboard, + libnotify, + withFreeze ? true, + hyprpicker, + makeWrapper, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -30,9 +31,19 @@ stdenvNoCC.mkDerivation (finalAttrs: { install -Dm755 hyprshot -t "$out/bin" wrapProgram "$out/bin/hyprshot" \ - --prefix PATH ":" ${lib.makeBinPath ([ - hyprland jq grim slurp wl-clipboard libnotify - ] ++ lib.optionals withFreeze [ hyprpicker ])} + --prefix PATH ":" ${ + lib.makeBinPath ( + [ + hyprland + jq + grim + slurp + wl-clipboard + libnotify + ] + ++ lib.optionals withFreeze [ hyprpicker ] + ) + } runHook postInstall ''; diff --git a/pkgs/by-name/hy/hyprutils/package.nix b/pkgs/by-name/hy/hyprutils/package.nix index 527dcafd56695..de29c5adcf522 100644 --- a/pkgs/by-name/hy/hyprutils/package.nix +++ b/pkgs/by-name/hy/hyprutils/package.nix @@ -28,7 +28,10 @@ stdenv.mkDerivation (finalAttrs: { pixman ]; - outputs = ["out" "dev"]; + outputs = [ + "out" + "dev" + ]; cmakeBuildType = "RelWithDebInfo"; @@ -39,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Small C++ library for utilities used across the Hypr* ecosystem"; license = lib.licenses.bsd3; platforms = lib.platforms.linux ++ lib.platforms.freebsd; - maintainers = with lib.maintainers; [ + maintainers = with lib.maintainers; [ donovanglover johnrtitor ]; diff --git a/pkgs/by-name/hy/hyprwayland-scanner/package.nix b/pkgs/by-name/hy/hyprwayland-scanner/package.nix index c6c46e9fb15e9..35650330b6557 100644 --- a/pkgs/by-name/hy/hyprwayland-scanner/package.nix +++ b/pkgs/by-name/hy/hyprwayland-scanner/package.nix @@ -1,11 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, pugixml -, nix-update-script -, +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + pugixml, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "hyprwayland-scanner"; diff --git a/pkgs/by-name/hy/hyx/package.nix b/pkgs/by-name/hy/hyx/package.nix index e41f9bbfceb29..0b8f48dc06433 100644 --- a/pkgs/by-name/hy/hyx/package.nix +++ b/pkgs/by-name/hy/hyx/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, memstreamHook }: +{ + lib, + stdenv, + fetchurl, + memstreamHook, +}: stdenv.mkDerivation rec { pname = "hyx"; diff --git a/pkgs/by-name/i-/i-dot-ming/package.nix b/pkgs/by-name/i-/i-dot-ming/package.nix index 2941a0030c533..3254482681ba6 100644 --- a/pkgs/by-name/i-/i-dot-ming/package.nix +++ b/pkgs/by-name/i-/i-dot-ming/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, writeScript }: +{ + lib, + stdenvNoCC, + fetchurl, + writeScript, +}: stdenvNoCC.mkDerivation rec { pname = "i.ming"; diff --git a/pkgs/by-name/i2/i2c-tools/package.nix b/pkgs/by-name/i2/i2c-tools/package.nix index de94d317a55bc..b6e7e8be46ee3 100644 --- a/pkgs/by-name/i2/i2c-tools/package.nix +++ b/pkgs/by-name/i2/i2c-tools/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchzip -, perl -, read-edid +{ + lib, + stdenv, + fetchzip, + perl, + read-edid, }: stdenv.mkDerivation rec { @@ -26,7 +27,10 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=${placeholder "out"}" ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postInstall = '' rm -rf $out/include/linux/i2c-dev.h # conflics with kernel headers @@ -36,7 +40,10 @@ stdenv.mkDerivation rec { description = "Set of I2C tools for Linux"; homepage = "https://i2c.wiki.kernel.org/index.php/I2C_Tools"; # library is LGPL 2.1 or later; "most tools" GPL 2 or later - license = with licenses; [ lgpl21Plus gpl2Plus ]; + license = with licenses; [ + lgpl21Plus + gpl2Plus + ]; maintainers = [ maintainers.dezgeg ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/i2/i2p/package.nix b/pkgs/by-name/i2/i2p/package.nix index d8b2e8ca7207c..9c0dc3bf83447 100644 --- a/pkgs/by-name/i2/i2p/package.nix +++ b/pkgs/by-name/i2/i2p/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchzip -, jdk -, ant -, gettext -, which -, dbip-country-lite -, java-service-wrapper -, makeWrapper -, gmp +{ + lib, + stdenv, + fetchzip, + jdk, + ant, + gettext, + which, + dbip-country-lite, + java-service-wrapper, + makeWrapper, + gmp, }: stdenv.mkDerivation (finalAttrs: { @@ -16,13 +17,15 @@ stdenv.mkDerivation (finalAttrs: { version = "2.7.0"; src = fetchzip { - urls = [ - "https://github.com/i2p/i2p.i2p/archive/i2p-${finalAttrs.version}.tar.gz" - ] ++ (map (mirror: "${mirror}${finalAttrs.version}/i2psource_${finalAttrs.version}.tar.bz2") [ - "https://download.i2p2.de/releases/" - "https://files.i2p-projekt.de/" - "https://download.i2p2.no/releases/" - ]); + urls = + [ + "https://github.com/i2p/i2p.i2p/archive/i2p-${finalAttrs.version}.tar.gz" + ] + ++ (map (mirror: "${mirror}${finalAttrs.version}/i2psource_${finalAttrs.version}.tar.bz2") [ + "https://download.i2p2.de/releases/" + "https://files.i2p-projekt.de/" + "https://download.i2p2.no/releases/" + ]); hash = "sha256-gw1i6jrmTfz9CZlCjtOUdH5R4vD57ysDeQxyyWifieg="; }; @@ -117,7 +120,11 @@ stdenv.mkDerivation (finalAttrs: { mit publicDomain ]; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + ]; maintainers = with maintainers; [ linsui ]; mainProgram = "i2prouter-plain"; }; diff --git a/pkgs/by-name/i2/i2pd/package.nix b/pkgs/by-name/i2/i2pd/package.nix index 260ce8a79b142..c24325c31ba16 100644 --- a/pkgs/by-name/i2/i2pd/package.nix +++ b/pkgs/by-name/i2/i2pd/package.nix @@ -1,8 +1,14 @@ -{ lib, stdenv, fetchFromGitHub -, installShellFiles -, boost, zlib, openssl -, upnpSupport ? true, miniupnpc -, aesniSupport ? stdenv.hostPlatform.aesSupport +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + boost, + zlib, + openssl, + upnpSupport ? true, + miniupnpc, + aesniSupport ? stdenv.hostPlatform.aesSupport, }: stdenv.mkDerivation rec { @@ -16,17 +22,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-neoIDZNBBDq3tqz1ET3/CS/zb0Lret9niyuU7iWoNIE="; }; - buildInputs = [ boost zlib openssl ] - ++ lib.optional upnpSupport miniupnpc; + buildInputs = [ + boost + zlib + openssl + ] ++ lib.optional upnpSupport miniupnpc; nativeBuildInputs = [ installShellFiles ]; makeFlags = - let ynf = a: b: a + "=" + (if b then "yes" else "no"); in - [ (ynf "USE_AESNI" aesniSupport) - (ynf "USE_UPNP" upnpSupport) + let + ynf = a: b: a + "=" + (if b then "yes" else "no"); + in + [ + (ynf "USE_AESNI" aesniSupport) + (ynf "USE_UPNP" upnpSupport) ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/i3/i3-open-next-ws/package.nix b/pkgs/by-name/i3/i3-open-next-ws/package.nix index a28f9a56666c9..aa4e601596e1f 100644 --- a/pkgs/by-name/i3/i3-open-next-ws/package.nix +++ b/pkgs/by-name/i3/i3-open-next-ws/package.nix @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/JohnDowson/i3-open-next-ws"; license = lib.licenses.mit; mainProgram = "i3-open-next-ws"; - maintainers = with lib.maintainers; [quantenzitrone]; + maintainers = with lib.maintainers; [ quantenzitrone ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/i3/i3a/package.nix b/pkgs/by-name/i3/i3a/package.nix index 853b758793c1b..578b109a2508c 100644 --- a/pkgs/by-name/i3/i3a/package.nix +++ b/pkgs/by-name/i3/i3a/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "i3a"; diff --git a/pkgs/by-name/i3/i3bar-river/package.nix b/pkgs/by-name/i3/i3bar-river/package.nix index 5e63d8344179c..533ef5638d3d9 100644 --- a/pkgs/by-name/i3/i3bar-river/package.nix +++ b/pkgs/by-name/i3/i3bar-river/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, pango +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + pango, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/i3/i3lock-pixeled/package.nix b/pkgs/by-name/i3/i3lock-pixeled/package.nix index ce7eab2b1daec..c28a1f8a4290f 100644 --- a/pkgs/by-name/i3/i3lock-pixeled/package.nix +++ b/pkgs/by-name/i3/i3lock-pixeled/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, i3lock, imagemagick, scrot, playerctl, fetchFromGitLab }: +{ + lib, + stdenv, + i3lock, + imagemagick, + scrot, + playerctl, + fetchFromGitLab, +}: stdenv.mkDerivation rec { pname = "i3lock-pixeled"; diff --git a/pkgs/by-name/i3/i3minator/package.nix b/pkgs/by-name/i3/i3minator/package.nix index d56ee6eadc7ad..2c56f1d521f27 100644 --- a/pkgs/by-name/i3/i3minator/package.nix +++ b/pkgs/by-name/i3/i3minator/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, glibcLocales }: +{ + lib, + fetchFromGitHub, + python3Packages, + glibcLocales, +}: python3Packages.buildPythonApplication rec { pname = "i3minator"; @@ -13,7 +18,10 @@ python3Packages.buildPythonApplication rec { LC_ALL = "en_US.UTF-8"; buildInputs = [ glibcLocales ]; - propagatedBuildInputs = [ python3Packages.pyyaml python3Packages.i3-py ]; + propagatedBuildInputs = [ + python3Packages.pyyaml + python3Packages.i3-py + ]; # No tests doCheck = false; diff --git a/pkgs/by-name/i3/i3nator/package.nix b/pkgs/by-name/i3/i3nator/package.nix index ede71688175e1..3736bff99dda3 100644 --- a/pkgs/by-name/i3/i3nator/package.nix +++ b/pkgs/by-name/i3/i3nator/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "i3nator"; diff --git a/pkgs/by-name/i8/i810switch/package.nix b/pkgs/by-name/i8/i810switch/package.nix index 68ce1add6a4ef..0291c249274b2 100644 --- a/pkgs/by-name/i8/i810switch/package.nix +++ b/pkgs/by-name/i8/i810switch/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pciutils }: +{ + lib, + stdenv, + fetchurl, + pciutils, +}: stdenv.mkDerivation { pname = "i810switch"; diff --git a/pkgs/by-name/ia/ia-writer-duospace/package.nix b/pkgs/by-name/ia/ia-writer-duospace/package.nix index dc0471b65fb89..4b2126c9ad69f 100644 --- a/pkgs/by-name/ia/ia-writer-duospace/package.nix +++ b/pkgs/by-name/ia/ia-writer-duospace/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "ia-writer-duospace"; diff --git a/pkgs/by-name/ia/ia-writer-quattro/package.nix b/pkgs/by-name/ia/ia-writer-quattro/package.nix index 2a3cdd5feccdf..ba6a1dbc68b23 100644 --- a/pkgs/by-name/ia/ia-writer-quattro/package.nix +++ b/pkgs/by-name/ia/ia-writer-quattro/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub, }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "ia-writer-quattro"; diff --git a/pkgs/by-name/ia/iam-policy-json-to-terraform/package.nix b/pkgs/by-name/ia/iam-policy-json-to-terraform/package.nix index 1c83bb6e3d99f..d8bca4f7d1ea6 100644 --- a/pkgs/by-name/ia/iam-policy-json-to-terraform/package.nix +++ b/pkgs/by-name/ia/iam-policy-json-to-terraform/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "iam-policy-json-to-terraform"; diff --git a/pkgs/by-name/ia/iamb/package.nix b/pkgs/by-name/ia/iamb/package.nix index 02a632a9f4b1f..02d51b9b3089e 100644 --- a/pkgs/by-name/ia/iamb/package.nix +++ b/pkgs/by-name/ia/iamb/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, darwin -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + darwin, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ia/iamy/package.nix b/pkgs/by-name/ia/iamy/package.nix index 935cc3fee763b..5d8e7afa92f2b 100644 --- a/pkgs/by-name/ia/iamy/package.nix +++ b/pkgs/by-name/ia/iamy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "iamy"; @@ -14,7 +18,9 @@ buildGoModule rec { vendorHash = "sha256-/IUYM3pTvcHXw8t5MW6JUEWdxegFuQC8zkiySp8VEgE="; ldflags = [ - "-X main.Version=v${version}" "-s" "-w" + "-X main.Version=v${version}" + "-s" + "-w" ]; meta = with lib; { diff --git a/pkgs/by-name/ia/iana-etc/package.nix b/pkgs/by-name/ia/iana-etc/package.nix index 2f60c1367f2ce..0cfaee22c6e4c 100644 --- a/pkgs/by-name/ia/iana-etc/package.nix +++ b/pkgs/by-name/ia/iana-etc/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchzip, stdenvNoCC, writeText }: +{ + lib, + fetchzip, + stdenvNoCC, + writeText, +}: stdenvNoCC.mkDerivation rec { pname = "iana-etc"; diff --git a/pkgs/by-name/ia/ianny/package.nix b/pkgs/by-name/ia/ianny/package.nix index f6ccb9db544f8..a417b2dcc5944 100644 --- a/pkgs/by-name/ia/ianny/package.nix +++ b/pkgs/by-name/ia/ianny/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, dbus -, pkg-config +{ + lib, + fetchFromGitHub, + rustPlatform, + dbus, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ia/iat/package.nix b/pkgs/by-name/ia/iat/package.nix index 67726ebf64e01..e91b7fd917dea 100644 --- a/pkgs/by-name/ia/iat/package.nix +++ b/pkgs/by-name/ia/iat/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttr: { diff --git a/pkgs/by-name/ib/ibm-sw-tpm2/package.nix b/pkgs/by-name/ib/ibm-sw-tpm2/package.nix index 7c4e03ba0600a..f5f83f4736eb9 100644 --- a/pkgs/by-name/ib/ibm-sw-tpm2/package.nix +++ b/pkgs/by-name/ib/ibm-sw-tpm2/package.nix @@ -1,13 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + openssl, }: let - makefile = - if stdenv.hostPlatform.isDarwin - then "makefile.mac" - else "makefile"; + makefile = if stdenv.hostPlatform.isDarwin then "makefile.mac" else "makefile"; in stdenv.mkDerivation rec { pname = "ibm-sw-tpm2"; diff --git a/pkgs/by-name/ib/ibniz/package.nix b/pkgs/by-name/ib/ibniz/package.nix index 04aadf911e1e1..c8dc3636ef615 100644 --- a/pkgs/by-name/ib/ibniz/package.nix +++ b/pkgs/by-name/ib/ibniz/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, SDL }: +{ + lib, + stdenv, + fetchurl, + SDL, +}: stdenv.mkDerivation rec { pname = "ibniz"; diff --git a/pkgs/by-name/ib/ibus-theme-tools/package.nix b/pkgs/by-name/ib/ibus-theme-tools/package.nix index 05c56edd36978..414f5d134c2c0 100644 --- a/pkgs/by-name/ib/ibus-theme-tools/package.nix +++ b/pkgs/by-name/ib/ibus-theme-tools/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchFromGitHub, gettext }: +{ + lib, + python3Packages, + fetchFromGitHub, + gettext, +}: python3Packages.buildPythonApplication rec { pname = "ibus-theme-tools"; @@ -13,7 +18,10 @@ python3Packages.buildPythonApplication rec { buildInputs = [ gettext ]; - propagatedBuildInputs = with python3Packages; [ tinycss2 pygobject3 ]; + propagatedBuildInputs = with python3Packages; [ + tinycss2 + pygobject3 + ]; # No test. doCheck = false; diff --git a/pkgs/by-name/ic/ic-keysmith/package.nix b/pkgs/by-name/ic/ic-keysmith/package.nix index 30ca2a467576e..560e36b32e09a 100644 --- a/pkgs/by-name/ic/ic-keysmith/package.nix +++ b/pkgs/by-name/ic/ic-keysmith/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "keysmith"; diff --git a/pkgs/by-name/ic/ical2orgpy/package.nix b/pkgs/by-name/ic/ical2orgpy/package.nix index ac5607b4a819f..0ca92ac244138 100644 --- a/pkgs/by-name/ic/ical2orgpy/package.nix +++ b/pkgs/by-name/ic/ical2orgpy/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ic/icbm3d/package.nix b/pkgs/by-name/ic/icbm3d/package.nix index 6f531f4242281..27c398dc641c8 100644 --- a/pkgs/by-name/ic/icbm3d/package.nix +++ b/pkgs/by-name/ic/icbm3d/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, libX11}: +{ + lib, + stdenv, + fetchurl, + libX11, +}: stdenv.mkDerivation rec { pname = "icbm3d"; diff --git a/pkgs/by-name/ic/icdiff/package.nix b/pkgs/by-name/ic/icdiff/package.nix index 0b35b5779a3b5..dff381e00e504 100644 --- a/pkgs/by-name/ic/icdiff/package.nix +++ b/pkgs/by-name/ic/icdiff/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, python3Packages, bash, git, less }: +{ + lib, + fetchFromGitHub, + python3Packages, + bash, + git, + less, +}: python3Packages.buildPythonApplication rec { pname = "icdiff"; diff --git a/pkgs/by-name/ic/icebreaker/package.nix b/pkgs/by-name/ic/icebreaker/package.nix index 0624a97be5e0a..21c1594493bba 100644 --- a/pkgs/by-name/ic/icebreaker/package.nix +++ b/pkgs/by-name/ic/icebreaker/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeBinaryWrapper +{ + lib, + buildGoModule, + fetchFromGitHub, + makeBinaryWrapper, }: buildGoModule { @@ -22,7 +23,10 @@ buildGoModule { makeBinaryWrapper ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mkdir -p $out/share diff --git a/pkgs/by-name/ic/icecast/package.nix b/pkgs/by-name/ic/icecast/package.nix index 488c96a52123f..5affabed1b520 100644 --- a/pkgs/by-name/ic/icecast/package.nix +++ b/pkgs/by-name/ic/icecast/package.nix @@ -1,6 +1,16 @@ -{lib, stdenv, fetchurl -, libxml2, libxslt, curl -, libvorbis, libtheora, speex, libkate, libopus }: +{ + lib, + stdenv, + fetchurl, + libxml2, + libxslt, + curl, + libvorbis, + libtheora, + speex, + libkate, + libopus, +}: stdenv.mkDerivation rec { pname = "icecast"; @@ -11,7 +21,16 @@ stdenv.mkDerivation rec { sha256 = "0i2d9rhav0x6js2qhjf5iy6j2a7f0d11ail0lfv40hb1kygrgda9"; }; - buildInputs = [ libxml2 libxslt curl libvorbis libtheora speex libkate libopus ]; + buildInputs = [ + libxml2 + libxslt + curl + libvorbis + libtheora + speex + libkate + libopus + ]; hardeningEnable = [ "pie" ]; @@ -34,4 +53,3 @@ stdenv.mkDerivation rec { platforms = with lib.platforms; unix; }; } - diff --git a/pkgs/by-name/ic/icecream/package.nix b/pkgs/by-name/ic/icecream/package.nix index 20c782e702382..5e1775302876e 100644 --- a/pkgs/by-name/ic/icecream/package.nix +++ b/pkgs/by-name/ic/icecream/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, docbook2x, libarchive, libcap_ng, lzo, pkg-config, zstd, docbook_xml_dtd_45 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + docbook2x, + libarchive, + libcap_ng, + lzo, + pkg-config, + zstd, + docbook_xml_dtd_45, +}: stdenv.mkDerivation rec { pname = "icecream"; @@ -12,8 +24,18 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook docbook2x pkg-config ]; - buildInputs = [ libarchive libcap_ng lzo zstd docbook_xml_dtd_45 ]; + nativeBuildInputs = [ + autoreconfHook + docbook2x + pkg-config + ]; + buildInputs = [ + libarchive + libcap_ng + lzo + zstd + docbook_xml_dtd_45 + ]; meta = with lib; { description = "Distributed compiler with a central scheduler to share build load"; diff --git a/pkgs/by-name/ic/iceshelf/package.nix b/pkgs/by-name/ic/iceshelf/package.nix index 631f82f350107..deb1a888f00a0 100644 --- a/pkgs/by-name/ic/iceshelf/package.nix +++ b/pkgs/by-name/ic/iceshelf/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, git, awscli, python3 }: +{ + lib, + fetchFromGitHub, + git, + awscli, + python3, +}: python3.pkgs.buildPythonApplication rec { pname = "iceshelf"; diff --git a/pkgs/by-name/ic/icesl/package.nix b/pkgs/by-name/ic/icesl/package.nix index aeeb82ba581fb..cf0494f76f6e1 100644 --- a/pkgs/by-name/ic/icesl/package.nix +++ b/pkgs/by-name/ic/icesl/package.nix @@ -1,22 +1,61 @@ -{ stdenv, lib, fetchzip, libglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM -, libXext, glibc, lua, luabind, glfw, libgccjit, dialog, makeWrapper +{ + stdenv, + lib, + fetchzip, + libglut, + libXmu, + libXi, + libX11, + libICE, + libGLU, + libGL, + libSM, + libXext, + glibc, + lua, + luabind, + glfw, + libgccjit, + dialog, + makeWrapper, }: let - lpath = lib.makeLibraryPath [ libXmu libXi libX11 libglut libICE libGLU libGL libSM libXext glibc lua glfw luabind libgccjit ]; + lpath = lib.makeLibraryPath [ + libXmu + libXi + libX11 + libglut + libICE + libGLU + libGL + libSM + libXext + glibc + lua + glfw + luabind + libgccjit + ]; in stdenv.mkDerivation rec { pname = "iceSL"; version = "2.4.1"; - src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchzip { - url = "https://icesl.loria.fr/assets/other/download.php?build=${version}&os=amd64"; - extension = "zip"; - sha256 = "0rrnkqkhlsjclif5cjbf17qz64vs95ja49xarxjvq54wb4jhbs4l"; - } else if stdenv.hostPlatform.system == "i686-linux" then fetchzip { - url = "https://icesl.loria.fr/assets/other/download.php?build=${version}&os=i386"; - extension = "zip"; - sha256 = "0n2yyxzw0arkc70f0qli4n5chdlh9vc7aqizk4v7825mcglhwlyh"; - } else throw "Unsupported architecture"; + src = + if stdenv.hostPlatform.system == "x86_64-linux" then + fetchzip { + url = "https://icesl.loria.fr/assets/other/download.php?build=${version}&os=amd64"; + extension = "zip"; + sha256 = "0rrnkqkhlsjclif5cjbf17qz64vs95ja49xarxjvq54wb4jhbs4l"; + } + else if stdenv.hostPlatform.system == "i686-linux" then + fetchzip { + url = "https://icesl.loria.fr/assets/other/download.php?build=${version}&os=i386"; + extension = "zip"; + sha256 = "0n2yyxzw0arkc70f0qli4n5chdlh9vc7aqizk4v7825mcglhwlyh"; + } + else + throw "Unsupported architecture"; nativeBuildInputs = [ makeWrapper ]; installPhase = '' @@ -39,7 +78,10 @@ stdenv.mkDerivation rec { homepage = "https://icesl.loria.fr/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.inria-icesl; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = with maintainers; [ mgttlinger ]; }; } diff --git a/pkgs/by-name/ic/icestorm/package.nix b/pkgs/by-name/ic/icestorm/package.nix index f6f7e46db56c0..2e443636247e6 100644 --- a/pkgs/by-name/ic/icestorm/package.nix +++ b/pkgs/by-name/ic/icestorm/package.nix @@ -1,16 +1,21 @@ -{ lib, stdenv, fetchFromGitHub -, pkg-config, libftdi1 -, python3, pypy3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libftdi1, + python3, + pypy3, -# PyPy yields large improvements in build time and runtime performance, and -# IceStorm isn't intended to be used as a library other than by the nextpnr -# build process (which is also sped up by using PyPy), so we use it by default. -# See 18839e1 for more details. -# -# FIXME(aseipp, 3/1/2021): pypy seems a bit busted since stdenv upgrade to gcc -# 10/binutils 2.34, so short-circuit this for now in passthru below (done so -# that downstream overrides can't re-enable pypy and break their build somehow) -, usePyPy ? stdenv.hostPlatform.system == "x86_64-linux" + # PyPy yields large improvements in build time and runtime performance, and + # IceStorm isn't intended to be used as a library other than by the nextpnr + # build process (which is also sped up by using PyPy), so we use it by default. + # See 18839e1 for more details. + # + # FIXME(aseipp, 3/1/2021): pypy seems a bit busted since stdenv upgrade to gcc + # 10/binutils 2.34, so short-circuit this for now in passthru below (done so + # that downstream overrides can't re-enable pypy and break their build somehow) + usePyPy ? stdenv.hostPlatform.system == "x86_64-linux", }: stdenv.mkDerivation rec { @@ -23,14 +28,17 @@ stdenv.mkDerivation rec { }; src = fetchFromGitHub { - owner = "YosysHQ"; - repo = "icestorm"; - rev = "7afc64b480212c9ac2ce7cb1622731a69a7d212c"; + owner = "YosysHQ"; + repo = "icestorm"; + rev = "7afc64b480212c9ac2ce7cb1622731a69a7d212c"; sha256 = "0vxhqs2fampglg3xlfwb35229iv96kvlwp1gyxrdrmlpznhkqdrk"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ passthru.pythonPkg libftdi1 ]; + buildInputs = [ + passthru.pythonPkg + libftdi1 + ]; makeFlags = [ "PREFIX=$(out)" ]; enableParallelBuilding = true; @@ -62,9 +70,12 @@ stdenv.mkDerivation rec { FPGAs and providing simple tools for analyzing and creating bitstream files. ''; - homepage = "https://github.com/YosysHQ/icestorm/"; - license = lib.licenses.isc; - maintainers = with lib.maintainers; [ shell thoughtpolice ]; - platforms = lib.platforms.all; + homepage = "https://github.com/YosysHQ/icestorm/"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ + shell + thoughtpolice + ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ic/icewm/package.nix b/pkgs/by-name/ic/icewm/package.nix index cf39b6613f068..50f8565a4fe6d 100644 --- a/pkgs/by-name/ic/icewm/package.nix +++ b/pkgs/by-name/ic/icewm/package.nix @@ -1,41 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, expat -, flac -, fontconfig -, freetype -, fribidi -, gdk-pixbuf -, gdk-pixbuf-xlib -, gettext -, giflib -, glib -, imlib2 -, libICE -, libSM -, libX11 -, libXcomposite -, libXdamage -, libXdmcp -, libXext -, libXfixes -, libXft -, libXinerama -, libXpm -, libXrandr -, libjpeg -, libogg -, libpng -, libpthreadstubs -, libsndfile -, libtiff -, libxcb -, mkfontdir -, pcre2 -, perl -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + expat, + flac, + fontconfig, + freetype, + fribidi, + gdk-pixbuf, + gdk-pixbuf-xlib, + gettext, + giflib, + glib, + imlib2, + libICE, + libSM, + libX11, + libXcomposite, + libXdamage, + libXdmcp, + libXext, + libXfixes, + libXft, + libXinerama, + libXpm, + libXrandr, + libjpeg, + libogg, + libpng, + libpthreadstubs, + libsndfile, + libtiff, + libxcb, + mkfontdir, + pcre2, + perl, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ic/icmake/package.nix b/pkgs/by-name/ic/icmake/package.nix index 039d4ee6970c1..1da38266e691b 100644 --- a/pkgs/by-name/ic/icmake/package.nix +++ b/pkgs/by-name/ic/icmake/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, makeWrapper, gcc, ncurses }: +{ + lib, + stdenv, + fetchFromGitLab, + makeWrapper, + gcc, + ncurses, +}: stdenv.mkDerivation rec { pname = "icmake"; @@ -11,7 +18,6 @@ stdenv.mkDerivation rec { owner = "fbb-git"; }; - setSourceRoot = '' sourceRoot=$(echo */icmake) ''; diff --git a/pkgs/by-name/ic/icon-lang/package.nix b/pkgs/by-name/ic/icon-lang/package.nix index 2ea8a20d4f6c3..c637f84894411 100644 --- a/pkgs/by-name/ic/icon-lang/package.nix +++ b/pkgs/by-name/ic/icon-lang/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, libX11 -, libXt -, withGraphics ? true +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXt, + withGraphics ? true, }: stdenv.mkDerivation rec { @@ -15,18 +17,27 @@ stdenv.mkDerivation rec { sha256 = "1lj2f13pbaajcy4v3744bz46rghhw5sv4dwwfnzhsllbj5gnjsv2"; }; - buildInputs = lib.optionals withGraphics [ libX11 libXt ]; + buildInputs = lib.optionals withGraphics [ + libX11 + libXt + ]; configurePhase = let target = if withGraphics then "X-Configure" else "Configure"; platform = - if stdenv.hostPlatform.isLinux then "linux" - else if stdenv.hostPlatform.isDarwin then "macintosh" - else if stdenv.hostPlatform.isBSD then "bsd" - else if stdenv.hostPlatform.isCygwin then "cygwin" - else if stdenv.hostPlatform.isSunOS then "solaris" - else throw "unsupported system"; + if stdenv.hostPlatform.isLinux then + "linux" + else if stdenv.hostPlatform.isDarwin then + "macintosh" + else if stdenv.hostPlatform.isBSD then + "bsd" + else if stdenv.hostPlatform.isCygwin then + "cygwin" + else if stdenv.hostPlatform.isSunOS then + "solaris" + else + throw "unsupported system"; in "make ${target} name=${platform}"; diff --git a/pkgs/by-name/ic/icon-library/package.nix b/pkgs/by-name/ic/icon-library/package.nix index 2b2c3e19825ab..7c3185aedc876 100644 --- a/pkgs/by-name/ic/icon-library/package.nix +++ b/pkgs/by-name/ic/icon-library/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, wrapGAppsHook4 -, buildPackages -, cargo -, desktop-file-utils -, meson -, ninja -, pkg-config -, rustc -, gettext -, gdk-pixbuf -, glib -, gtk4 -, gtksourceview5 -, libadwaita -, darwin +{ + lib, + stdenv, + fetchurl, + wrapGAppsHook4, + buildPackages, + cargo, + desktop-file-utils, + meson, + ninja, + pkg-config, + rustc, + gettext, + gdk-pixbuf, + glib, + gtk4, + gtksourceview5, + libadwaita, + darwin, }: stdenv.mkDerivation rec { @@ -44,15 +45,17 @@ stdenv.mkDerivation rec { rustc wrapGAppsHook4 ]; - buildInputs = [ - gdk-pixbuf - glib - gtk4 - gtksourceview5 - libadwaita - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + gdk-pixbuf + glib + gtk4 + gtksourceview5 + libadwaita + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; meta = with lib; { homepage = "https://gitlab.gnome.org/World/design/icon-library"; diff --git a/pkgs/by-name/ic/icon-slicer/package.nix b/pkgs/by-name/ic/icon-slicer/package.nix index 514b39496ffa4..476bc2de17db2 100644 --- a/pkgs/by-name/ic/icon-slicer/package.nix +++ b/pkgs/by-name/ic/icon-slicer/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, gdk-pixbuf, popt }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gdk-pixbuf, + popt, +}: stdenv.mkDerivation rec { pname = "icon-slicer"; version = "0.3"; @@ -16,7 +23,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ popt pkg-config ]; + nativeBuildInputs = [ + popt + pkg-config + ]; buildInputs = [ gdk-pixbuf ]; meta = with lib; { diff --git a/pkgs/by-name/ic/iconConvTools/package.nix b/pkgs/by-name/ic/iconConvTools/package.nix index 442f1f2235fa6..7abd16326da4b 100644 --- a/pkgs/by-name/ic/iconConvTools/package.nix +++ b/pkgs/by-name/ic/iconConvTools/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, icoutils }: +{ + lib, + stdenv, + icoutils, +}: stdenv.mkDerivation { pname = "icon-conv-tools"; diff --git a/pkgs/by-name/ic/iconnamingutils/package.nix b/pkgs/by-name/ic/iconnamingutils/package.nix index 930327a880db1..f75fc1e49419c 100644 --- a/pkgs/by-name/ic/iconnamingutils/package.nix +++ b/pkgs/by-name/ic/iconnamingutils/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, perl, librsvg}: +{ + lib, + stdenv, + fetchurl, + perl, + librsvg, +}: stdenv.mkDerivation rec { pname = "icon-naming-utils"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "071fj2jm5kydlz02ic5sylhmw6h2p3cgrm3gwdfabinqkqcv4jh4"; }; - buildInputs = [ librsvg (perl.withPackages (p: [ p.XMLSimple ])) ]; + buildInputs = [ + librsvg + (perl.withPackages (p: [ p.XMLSimple ])) + ]; meta = with lib; { homepage = "http://tango.freedesktop.org/Standard_Icon_Naming_Specification"; diff --git a/pkgs/by-name/ic/iconpack-jade/package.nix b/pkgs/by-name/ic/iconpack-jade/package.nix index d68e02b838d6a..902ba2ef71662 100644 --- a/pkgs/by-name/ic/iconpack-jade/package.nix +++ b/pkgs/by-name/ic/iconpack-jade/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, gnome-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + gnome-icon-theme, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "iconpack-jade"; @@ -13,7 +20,10 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ]; + propagatedBuildInputs = [ + gnome-icon-theme + hicolor-icon-theme + ]; dontDropIconThemeCache = true; diff --git a/pkgs/by-name/ic/iconpack-obsidian/package.nix b/pkgs/by-name/ic/iconpack-obsidian/package.nix index 40d4d451f3f1d..86ff31786e046 100644 --- a/pkgs/by-name/ic/iconpack-obsidian/package.nix +++ b/pkgs/by-name/ic/iconpack-obsidian/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, gnome-icon-theme, mint-x-icons, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + gnome-icon-theme, + mint-x-icons, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "iconpack-obsidian"; @@ -13,7 +21,11 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ gnome-icon-theme mint-x-icons hicolor-icon-theme ]; + propagatedBuildInputs = [ + gnome-icon-theme + mint-x-icons + hicolor-icon-theme + ]; # still missing parent themes: Ambiant-MATE, Faenza-Dark, KFaenza dontDropIconThemeCache = true; diff --git a/pkgs/by-name/ic/icoutils/package.nix b/pkgs/by-name/ic/icoutils/package.nix index 1806699b1c23b..399ff1cc6234a 100644 --- a/pkgs/by-name/ic/icoutils/package.nix +++ b/pkgs/by-name/ic/icoutils/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, libpng, perl, perlPackages, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + libpng, + perl, + perlPackages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "icoutils"; @@ -17,8 +27,14 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook makeWrapper ]; - buildInputs = [ libpng perl ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ]; + buildInputs = [ + libpng + perl + ]; propagatedBuildInputs = [ perlPackages.LWP ]; # Fixes build failures on Darwin. These should be defined in `TargetConditional.h`, but it’s failing anyway. diff --git a/pkgs/by-name/ic/icr/package.nix b/pkgs/by-name/ic/icr/package.nix index 21c1b53244595..22468e862816c 100644 --- a/pkgs/by-name/ic/icr/package.nix +++ b/pkgs/by-name/ic/icr/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, crystal -, shards -, makeWrapper -, pkg-config -, which -, openssl -, readline -, libyaml -, zlib +{ + lib, + fetchFromGitHub, + crystal, + shards, + makeWrapper, + pkg-config, + which, + openssl, + readline, + libyaml, + zlib, }: crystal.buildCrystalPackage rec { @@ -24,16 +25,31 @@ crystal.buildCrystalPackage rec { shardsFile = ./shards.nix; - buildInputs = [ libyaml openssl readline zlib ]; + buildInputs = [ + libyaml + openssl + readline + zlib + ]; - nativeBuildInputs = [ makeWrapper pkg-config which ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + which + ]; # tests are failing due to our sandbox doCheck = false; postFixup = '' wrapProgram $out/bin/icr \ - --prefix PATH : ${lib.makeBinPath [ crystal shards which ]} + --prefix PATH : ${ + lib.makeBinPath [ + crystal + shards + which + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/ic/ictree/package.nix b/pkgs/by-name/ic/ictree/package.nix index c8ffdc090c20c..68a0f4d32effb 100644 --- a/pkgs/by-name/ic/ictree/package.nix +++ b/pkgs/by-name/ic/ictree/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ictree"; diff --git a/pkgs/by-name/id/id3lib/package.nix b/pkgs/by-name/id/id3lib/package.nix index e95f5e3cab2d6..00a22e8c048ee 100644 --- a/pkgs/by-name/id/id3lib/package.nix +++ b/pkgs/by-name/id/id3lib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libiconv, zlib }: +{ + lib, + stdenv, + fetchurl, + libiconv, + zlib, +}: stdenv.mkDerivation rec { pname = "id3lib"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { ./patch_id3lib_3.8.3_UTF16_writing_bug.diff ]; - buildInputs = [ libiconv zlib ]; + buildInputs = [ + libiconv + zlib + ]; src = fetchurl { url = "mirror://sourceforge/id3lib/${pname}-${version}.tar.gz"; diff --git a/pkgs/by-name/id/id3v2/package.nix b/pkgs/by-name/id/id3v2/package.nix index b50affb2a95ea..29b02629b6e42 100644 --- a/pkgs/by-name/id/id3v2/package.nix +++ b/pkgs/by-name/id/id3v2/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, id3lib, groff, zlib}: +{ + lib, + stdenv, + fetchurl, + id3lib, + groff, + zlib, +}: stdenv.mkDerivation rec { pname = "id3v2"; @@ -10,10 +17,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ groff ]; - buildInputs = [ id3lib zlib ]; + buildInputs = [ + id3lib + zlib + ]; makeFlags = [ "PREFIX=$(out)" ]; - buildFlags = [ "clean" "all" ]; + buildFlags = [ + "clean" + "all" + ]; preInstall = '' mkdir -p $out/{bin,share/man/man1} diff --git a/pkgs/by-name/id/ida-free/package.nix b/pkgs/by-name/id/ida-free/package.nix index d825ade468d90..81078c2929a42 100644 --- a/pkgs/by-name/id/ida-free/package.nix +++ b/pkgs/by-name/id/ida-free/package.nix @@ -1,26 +1,27 @@ -{ autoPatchelfHook -, cairo -, copyDesktopItems -, dbus -, fetchurl -, fontconfig -, freetype -, glib -, gtk3 -, lib -, libdrm -, libGL -, libkrb5 -, libsecret -, libsForQt5 -, libunwind -, libxkbcommon -, makeDesktopItem -, makeWrapper -, openssl -, stdenv -, xorg -, zlib +{ + autoPatchelfHook, + cairo, + copyDesktopItems, + dbus, + fetchurl, + fontconfig, + freetype, + glib, + gtk3, + lib, + libdrm, + libGL, + libkrb5, + libsecret, + libsForQt5, + libunwind, + libxkbcommon, + makeDesktopItem, + makeWrapper, + openssl, + stdenv, + xorg, + zlib, }: let @@ -31,7 +32,10 @@ stdenv.mkDerivation rec { version = "8.4.240320"; src = fetchurl { - inherit (srcs.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")) urls sha256; + inherit (srcs.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")) + urls + sha256 + ; }; icon = fetchurl { @@ -54,7 +58,12 @@ stdenv.mkDerivation rec { desktopItems = [ desktopItem ]; - nativeBuildInputs = [ makeWrapper copyDesktopItems autoPatchelfHook libsForQt5.wrapQtAppsHook ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + autoPatchelfHook + libsForQt5.wrapQtAppsHook + ]; # We just get a runfile in $src, so no need to unpack it. dontUnpack = true; diff --git a/pkgs/by-name/id/idb-companion/package.nix b/pkgs/by-name/id/idb-companion/package.nix index 28bc9580dd2c4..38b0944dc7ff2 100644 --- a/pkgs/by-name/id/idb-companion/package.nix +++ b/pkgs/by-name/id/idb-companion/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/id/ideogram/package.nix b/pkgs/by-name/id/ideogram/package.nix index 721bc1c7f9ad1..bbc34d59d88fa 100644 --- a/pkgs/by-name/id/ideogram/package.nix +++ b/pkgs/by-name/id/ideogram/package.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, vala -, pkg-config -, python3 -, glib -, gtk3 -, meson -, ninja -, libgee -, pantheon -, desktop-file-utils -, xorg -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + vala, + pkg-config, + python3, + glib, + gtk3, + meson, + ninja, + libgee, + pantheon, + desktop-file-utils, + xorg, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/id/ideviceinstaller/package.nix b/pkgs/by-name/id/ideviceinstaller/package.nix index 3071aab6d1011..1bf6d11cb26b9 100644 --- a/pkgs/by-name/id/ideviceinstaller/package.nix +++ b/pkgs/by-name/id/ideviceinstaller/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, usbmuxd -, libimobiledevice -, libzip +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + usbmuxd, + libimobiledevice, + libzip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/id/idevicerestore/package.nix b/pkgs/by-name/id/idevicerestore/package.nix index 55fa9fcda8ba6..892792bd665ae 100644 --- a/pkgs/by-name/id/idevicerestore/package.nix +++ b/pkgs/by-name/id/idevicerestore/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, curl -, libimobiledevice -, libirecovery -, libzip -, libusbmuxd +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + curl, + libimobiledevice, + libirecovery, + libzip, + libusbmuxd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/id/idle3tools/package.nix b/pkgs/by-name/id/idle3tools/package.nix index 9c87450e31e4c..141da480488e2 100644 --- a/pkgs/by-name/id/idle3tools/package.nix +++ b/pkgs/by-name/id/idle3tools/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "idle3-tools"; diff --git a/pkgs/by-name/id/idnkit/package.nix b/pkgs/by-name/id/idnkit/package.nix index 37354f8be489d..d8fcc48acc6ad 100644 --- a/pkgs/by-name/id/idnkit/package.nix +++ b/pkgs/by-name/id/idnkit/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libiconv }: +{ + lib, + stdenv, + fetchurl, + libiconv, +}: stdenv.mkDerivation rec { pname = "idnkit"; diff --git a/pkgs/by-name/id/idsk/package.nix b/pkgs/by-name/id/idsk/package.nix index c053f3aa0c16c..22e69135e55e2 100644 --- a/pkgs/by-name/id/idsk/package.nix +++ b/pkgs/by-name/id/idsk/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/id/idutils/package.nix b/pkgs/by-name/id/idutils/package.nix index d065800b458fc..f7640baffc8d5 100644 --- a/pkgs/by-name/id/idutils/package.nix +++ b/pkgs/by-name/id/idutils/package.nix @@ -1,4 +1,19 @@ -{ fetchurl, lib, stdenv, emacs, gnulib, autoconf, bison, automake, gettext, gperf, texinfo, perl, rsync, darwin }: +{ + fetchurl, + lib, + stdenv, + emacs, + gnulib, + autoconf, + bison, + automake, + gettext, + gperf, + texinfo, + perl, + rsync, + darwin, +}: stdenv.mkDerivation rec { pname = "idutils"; @@ -14,15 +29,27 @@ stdenv.mkDerivation rec { bash -O extglob -c "cd gnulib-tests; rm -r !(Makefile.am)" substituteInPlace ./configure.ac --replace "AC_PREREQ(2.61)" "AC_PREREQ(2.64)" ./bootstrap --force --gnulib-srcdir=${gnulib} --skip-po --bootstrap-sync --no-git - ''; + ''; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - emacs - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + emacs + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; - nativeBuildInputs = [ gnulib autoconf bison automake gettext gperf texinfo perl rsync ]; + nativeBuildInputs = [ + gnulib + autoconf + bison + automake + gettext + gperf + texinfo + perl + rsync + ]; doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/if/ifdnfc/package.nix b/pkgs/by-name/if/ifdnfc/package.nix index 341e87173bf12..e8e6ab3cffd11 100644 --- a/pkgs/by-name/if/ifdnfc/package.nix +++ b/pkgs/by-name/if/ifdnfc/package.nix @@ -1,7 +1,11 @@ -{ lib, stdenv, fetchFromGitHub , pkg-config -, pcsclite -, autoreconfHook -, libnfc +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + pcsclite, + autoreconfHook, + libnfc, }: stdenv.mkDerivation { @@ -14,28 +18,37 @@ stdenv.mkDerivation { rev = "0e48e8e"; sha256 = "1cxnvhhlcbm8h49rlw5racspb85fmwqqhd3gzzpzy68vrs0b37vg"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ pcsclite libnfc ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + pcsclite + libnfc + ]; configureFlags = [ "--prefix=$(out)" ]; - makeFlags = [ "DESTDIR=/" "usbdropdir=$(out)/pcsc/drivers" ]; + makeFlags = [ + "DESTDIR=/" + "usbdropdir=$(out)/pcsc/drivers" + ]; meta = with lib; { description = "PC/SC IFD Handler based on libnfc"; mainProgram = "ifdnfc-activate"; longDescription = '' - libnfc Interface Plugin to be used in services.pcscd.plugins. - It provides support for all readers which are not supported by ccid but by libnfc. + libnfc Interface Plugin to be used in services.pcscd.plugins. + It provides support for all readers which are not supported by ccid but by libnfc. - For activating your reader you need to run - ifdnfc-activate yes with this package in your - environment.systemPackages + For activating your reader you need to run + ifdnfc-activate yes with this package in your + environment.systemPackages - To use your reader you may need to blacklist your reader kernel modules: - boot.blacklistedKernelModules = [ "pn533" "pn533_usb" "nfc" ]; + To use your reader you may need to blacklist your reader kernel modules: + boot.blacklistedKernelModules = [ "pn533" "pn533_usb" "nfc" ]; - Supports the pn533 smart-card reader chip which is for example used in - the SCM SCL3711. + Supports the pn533 smart-card reader chip which is for example used in + the SCM SCL3711. ''; homepage = "https://github.com/nfc-tools/ifdnfc"; license = licenses.gpl3; @@ -43,4 +56,3 @@ stdenv.mkDerivation { maintainers = with maintainers; [ makefu ]; }; } - diff --git a/pkgs/by-name/if/ifenslave/package.nix b/pkgs/by-name/if/ifenslave/package.nix index 8aeeff77ecbb7..1d37842df6377 100644 --- a/pkgs/by-name/if/ifenslave/package.nix +++ b/pkgs/by-name/if/ifenslave/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ifenslave"; diff --git a/pkgs/by-name/if/iferr/package.nix b/pkgs/by-name/if/iferr/package.nix index bf970ce1e9de5..13395db61c8d7 100644 --- a/pkgs/by-name/if/iferr/package.nix +++ b/pkgs/by-name/if/iferr/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule { @@ -16,7 +17,10 @@ buildGoModule { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = ''Generate "if err != nil {" block''; diff --git a/pkgs/by-name/if/ifm/package.nix b/pkgs/by-name/if/ifm/package.nix index abefdc1c4783b..2d723a74dd4c0 100644 --- a/pkgs/by-name/if/ifm/package.nix +++ b/pkgs/by-name/if/ifm/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchzip, autoreconfHook, bison, flex, help2man, perl, tk }: +{ + lib, + stdenv, + fetchzip, + autoreconfHook, + bison, + flex, + help2man, + perl, + tk, +}: stdenv.mkDerivation rec { pname = "ifm"; @@ -9,9 +19,17 @@ stdenv.mkDerivation rec { sha256 = "14af21qjd5jvsscm6vxpsdrnipdr33g6niagzmykrhyfhwcbjahi"; }; - nativeBuildInputs = [ autoreconfHook bison flex help2man ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + help2man + ]; - buildInputs = [ perl tk ]; # perl and wish are not run but written as shebangs. + buildInputs = [ + perl + tk + ]; # perl and wish are not run but written as shebangs. # Workaround build failure on -fno-common toolchains: # ld: libvars.a(vars-freeze-lex.o):src/libvars/vars-freeze-lex.l:23: diff --git a/pkgs/by-name/if/ifmetric/package.nix b/pkgs/by-name/if/ifmetric/package.nix index d4672b9be21b8..f6039f1f603e7 100644 --- a/pkgs/by-name/if/ifmetric/package.nix +++ b/pkgs/by-name/if/ifmetric/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, lynx }: +{ + lib, + stdenv, + fetchurl, + lynx, +}: stdenv.mkDerivation rec { pname = "ifmetric"; diff --git a/pkgs/by-name/if/ifrextractor-rs/package.nix b/pkgs/by-name/if/ifrextractor-rs/package.nix index 2d525771d85fa..ebcc6bdcad1bf 100644 --- a/pkgs/by-name/if/ifrextractor-rs/package.nix +++ b/pkgs/by-name/if/ifrextractor-rs/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/if/ifstat-legacy/package.nix b/pkgs/by-name/if/ifstat-legacy/package.nix index f37f33a23f4bd..6c7642ed2b143 100644 --- a/pkgs/by-name/if/ifstat-legacy/package.nix +++ b/pkgs/by-name/if/ifstat-legacy/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, net-snmp }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + net-snmp, +}: stdenv.mkDerivation rec { pname = "ifstat-legacy"; @@ -22,10 +28,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Report network interfaces bandwith just like vmstat/iostat do for other system counters - legacy version"; - homepage = "http://gael.roualland.free.fr/ifstat/"; + homepage = "http://gael.roualland.free.fr/ifstat/"; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; - license = licenses.gpl2Plus; + platforms = platforms.unix; + license = licenses.gpl2Plus; mainProgram = "ifstat-legacy"; }; } diff --git a/pkgs/by-name/if/iftop/package.nix b/pkgs/by-name/if/iftop/package.nix index fdda3245b8b1e..ea33e56f5b356 100644 --- a/pkgs/by-name/if/iftop/package.nix +++ b/pkgs/by-name/if/iftop/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, ncurses, libpcap, automake, nixosTests }: +{ + lib, + stdenv, + fetchurl, + ncurses, + libpcap, + automake, + nixosTests, +}: stdenv.mkDerivation rec { pname = "iftop"; @@ -17,7 +25,10 @@ stdenv.mkDerivation rec { cp ${automake}/share/automake*/config.{sub,guess} config ''; - buildInputs = [ncurses libpcap]; + buildInputs = [ + ncurses + libpcap + ]; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: diff --git a/pkgs/by-name/if/ifuse/package.nix b/pkgs/by-name/if/ifuse/package.nix index d8751f7b4eaf3..38c1a78a9b91e 100644 --- a/pkgs/by-name/if/ifuse/package.nix +++ b/pkgs/by-name/if/ifuse/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, fuse -, usbmuxd -, libimobiledevice +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + fuse, + usbmuxd, + libimobiledevice, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ig/igir/package.nix b/pkgs/by-name/ig/igir/package.nix index 25d968c19975f..38bf62bf443c4 100644 --- a/pkgs/by-name/ig/igir/package.nix +++ b/pkgs/by-name/ig/igir/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub - -# for patching bundled 7z binary from the 7zip-bin node module -# at lib/node_modules/igir/node_modules/7zip-bin/linux/x64/7za -, autoPatchelfHook -, stdenv +{ + lib, + buildNpmPackage, + fetchFromGitHub, + + # for patching bundled 7z binary from the 7zip-bin node module + # at lib/node_modules/igir/node_modules/7zip-bin/linux/x64/7za + autoPatchelfHook, + stdenv, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ig/igmpproxy/package.nix b/pkgs/by-name/ig/igmpproxy/package.nix index 0632b1f48cea4..b3c6b196f617e 100644 --- a/pkgs/by-name/ig/igmpproxy/package.nix +++ b/pkgs/by-name/ig/igmpproxy/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "igmpproxy"; diff --git a/pkgs/by-name/ig/ignite-cli/package.nix b/pkgs/by-name/ig/ignite-cli/package.nix index dc4298bb94ad2..65a97033f37cf 100644 --- a/pkgs/by-name/ig/ignite-cli/package.nix +++ b/pkgs/by-name/ig/ignite-cli/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, makeWrapper -, go -, buf +{ + lib, + fetchFromGitHub, + buildGoModule, + makeWrapper, + go, + buf, }: buildGoModule rec { @@ -29,7 +30,12 @@ buildGoModule rec { # Required for commands like `ignite version`, `ignite network` and others postFixup = '' - wrapProgram $out/bin/ignite --prefix PATH : ${lib.makeBinPath [ go buf ]} + wrapProgram $out/bin/ignite --prefix PATH : ${ + lib.makeBinPath [ + go + buf + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/ig/igprof/package.nix b/pkgs/by-name/ig/igprof/package.nix index 229532c755e10..2b5d3cf946a04 100644 --- a/pkgs/by-name/ig/igprof/package.nix +++ b/pkgs/by-name/ig/igprof/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, libunwind, cmake, pcre, gdb}: +{ + lib, + stdenv, + fetchFromGitHub, + libunwind, + cmake, + pcre, + gdb, +}: stdenv.mkDerivation rec { version = "5.9.18"; @@ -13,11 +21,20 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace src/igprof --replace libigprof.so $out/lib/libigprof.so - ''; - - buildInputs = [libunwind gdb pcre]; - nativeBuildInputs = [cmake]; - CXXFLAGS = ["-fPIC" "-O2" "-w" "-fpermissive"]; + ''; + + buildInputs = [ + libunwind + gdb + pcre + ]; + nativeBuildInputs = [ cmake ]; + CXXFLAGS = [ + "-fPIC" + "-O2" + "-w" + "-fpermissive" + ]; meta = { broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); diff --git a/pkgs/by-name/ig/igraph/package.nix b/pkgs/by-name/ig/igraph/package.nix index fecc942e02e6a..de3fc033f9470 100644 --- a/pkgs/by-name/ig/igraph/package.nix +++ b/pkgs/by-name/ig/igraph/package.nix @@ -1,28 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, arpack -, bison -, blas -, cmake -, flex -, fop -, glpk -, gmp -, lapack -, libxml2 -, libxslt -, llvmPackages -, pkg-config -, plfit -, python3 -, sourceHighlight -, xmlto +{ + stdenv, + lib, + fetchFromGitHub, + arpack, + bison, + blas, + cmake, + flex, + fop, + glpk, + gmp, + lapack, + libxml2, + libxslt, + llvmPackages, + pkg-config, + plfit, + python3, + sourceHighlight, + xmlto, }: -assert (blas.isILP64 == lapack.isILP64 && - blas.isILP64 == arpack.isILP64 && - !blas.isILP64); +assert (blas.isILP64 == lapack.isILP64 && blas.isILP64 == arpack.isILP64 && !blas.isILP64); stdenv.mkDerivation (finalAttrs: { pname = "igraph"; @@ -39,7 +38,11 @@ stdenv.mkDerivation (finalAttrs: { echo "${finalAttrs.version}" > IGRAPH_VERSION ''; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ bison @@ -54,17 +57,19 @@ stdenv.mkDerivation (finalAttrs: { xmlto ]; - buildInputs = [ - arpack - blas - glpk - gmp - lapack - libxml2 - plfit - ] ++ lib.optionals stdenv.cc.isClang [ - llvmPackages.openmp - ]; + buildInputs = + [ + arpack + blas + glpk + gmp + lapack + libxml2 + plfit + ] + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.openmp + ]; cmakeFlags = [ "-DIGRAPH_USE_INTERNAL_BLAS=OFF" @@ -88,12 +93,14 @@ stdenv.mkDerivation (finalAttrs: { cp -r doc "$out/share" ''; - postFixup = '' - substituteInPlace $dev/lib/cmake/igraph/igraph-targets.cmake \ - --replace-fail "_IMPORT_PREFIX \"$out\"" "_IMPORT_PREFIX \"$dev\"" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libigraph.dylib - ''; + postFixup = + '' + substituteInPlace $dev/lib/cmake/igraph/igraph-targets.cmake \ + --replace-fail "_IMPORT_PREFIX \"$out\"" "_IMPORT_PREFIX \"$dev\"" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libigraph.dylib + ''; passthru.tests = { python = python3.pkgs.igraph; @@ -105,6 +112,9 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/igraph/igraph/blob/${finalAttrs.src.rev}/CHANGELOG.md"; license = licenses.gpl2Plus; platforms = platforms.all; - maintainers = with maintainers; [ MostAwesomeDude dotlambda ]; + maintainers = with maintainers; [ + MostAwesomeDude + dotlambda + ]; }; }) diff --git a/pkgs/by-name/ig/igv/package.nix b/pkgs/by-name/ig/igv/package.nix index e2502248a50ae..a6ea26e64824e 100644 --- a/pkgs/by-name/ig/igv/package.nix +++ b/pkgs/by-name/ig/igv/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, jdk17, testers, wrapGAppsHook3, igv }: +{ + lib, + stdenv, + fetchzip, + jdk17, + testers, + wrapGAppsHook3, + igv, +}: stdenv.mkDerivation rec { pname = "igv"; @@ -30,7 +38,6 @@ stdenv.mkDerivation rec { package = igv; }; - meta = with lib; { homepage = "https://www.broadinstitute.org/igv/"; description = "Visualization tool for interactive exploration of genomic datasets"; diff --git a/pkgs/by-name/ih/ihp-new/package.nix b/pkgs/by-name/ih/ihp-new/package.nix index 76e66a7ae4543..1d2914f4af7db 100644 --- a/pkgs/by-name/ih/ihp-new/package.nix +++ b/pkgs/by-name/ih/ihp-new/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, git, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + git, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "ihp-new"; diff --git a/pkgs/by-name/ii/iio-sensor-proxy/package.nix b/pkgs/by-name/ii/iio-sensor-proxy/package.nix index 38c30dc436874..3ffca17df48f4 100644 --- a/pkgs/by-name/ii/iio-sensor-proxy/package.nix +++ b/pkgs/by-name/ii/iio-sensor-proxy/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitLab -, glib -, cmake -, libxml2 -, meson -, ninja -, pkg-config -, libgudev -, systemd -, polkit +{ + lib, + stdenv, + fetchFromGitLab, + glib, + cmake, + libxml2, + meson, + ninja, + pkg-config, + libgudev, + systemd, + polkit, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ii/iir1/package.nix b/pkgs/by-name/ii/iir1/package.nix index 3b9b37eb344bc..326357c9e7f23 100644 --- a/pkgs/by-name/ii/iir1/package.nix +++ b/pkgs/by-name/ii/iir1/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ij/ijs/package.nix b/pkgs/by-name/ij/ijs/package.nix index ad13daef788d1..d8f363082df4e 100644 --- a/pkgs/by-name/ij/ijs/package.nix +++ b/pkgs/by-name/ij/ijs/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, autoreconfHook, ghostscript }: +{ + lib, + stdenv, + autoreconfHook, + ghostscript, +}: stdenv.mkDerivation { pname = "ijs"; diff --git a/pkgs/by-name/ik/ike-scan/package.nix b/pkgs/by-name/ik/ike-scan/package.nix index 3c6374cab9a38..01b7ac5ecdc39 100644 --- a/pkgs/by-name/ik/ike-scan/package.nix +++ b/pkgs/by-name/ik/ike-scan/package.nix @@ -1,9 +1,10 @@ -{ lib -, autoreconfHook -, fetchFromGitHub -, fetchpatch -, openssl -, stdenv +{ + lib, + autoreconfHook, + fetchFromGitHub, + fetchpatch, + openssl, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ik/ikill/package.nix b/pkgs/by-name/ik/ikill/package.nix index 7b6ac685c50ee..602aa141527ee 100644 --- a/pkgs/by-name/ik/ikill/package.nix +++ b/pkgs/by-name/ik/ikill/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "ikill"; diff --git a/pkgs/by-name/il/ilbc/package.nix b/pkgs/by-name/il/ilbc/package.nix index 39d7b7b61b049..e529e9b4c6d81 100644 --- a/pkgs/by-name/il/ilbc/package.nix +++ b/pkgs/by-name/il/ilbc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gawk, cmake }: +{ + lib, + stdenv, + fetchurl, + gawk, + cmake, +}: stdenv.mkDerivation rec { name = "ilbc-rfc3951"; @@ -17,7 +23,7 @@ stdenv.mkDerivation rec { cd ${name} ${gawk}/bin/gawk -f ${script} ${rfc3951} cp -v ${./CMakeLists.txt} CMakeLists.txt - ''; + ''; meta = { platforms = lib.platforms.unix; diff --git a/pkgs/by-name/il/ili2c/package.nix b/pkgs/by-name/il/ili2c/package.nix index 1d6f373db83a3..89ad4a19ee235 100644 --- a/pkgs/by-name/il/ili2c/package.nix +++ b/pkgs/by-name/il/ili2c/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, ant -, jdk8 -, jre8 -, makeWrapper -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk8, + jre8, + makeWrapper, + stripJavaArchivesHook, }: let diff --git a/pkgs/by-name/il/illum/package.nix b/pkgs/by-name/il/illum/package.nix index 81d8bbee7b8d7..57e0d2568a174 100644 --- a/pkgs/by-name/il/illum/package.nix +++ b/pkgs/by-name/il/illum/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, ninja, libevdev, libev, udev }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + ninja, + libevdev, + libev, + udev, +}: stdenv.mkDerivation rec { pname = "illum"; @@ -21,7 +31,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ninja libevdev libev udev ]; + buildInputs = [ + ninja + libevdev + libev + udev + ]; configurePhase = '' bash ./configure diff --git a/pkgs/by-name/il/ilmbase/package.nix b/pkgs/by-name/il/ilmbase/package.nix index dc075e43563d8..747d8c451b9e9 100644 --- a/pkgs/by-name/il/ilmbase/package.nix +++ b/pkgs/by-name/il/ilmbase/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, buildPackages -, cmake -, openexr +{ + stdenv, + lib, + buildPackages, + cmake, + openexr, }: stdenv.mkDerivation rec { @@ -13,7 +14,10 @@ stdenv.mkDerivation rec { # the ilmbase package into openexr in the future. inherit (openexr) src patches; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/by-name/im/image-roll/package.nix b/pkgs/by-name/im/image-roll/package.nix index 2c1e86f22c7cd..747f1cbd8cd87 100644 --- a/pkgs/by-name/im/image-roll/package.nix +++ b/pkgs/by-name/im/image-roll/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, glib -, pkg-config -, wrapGAppsHook4 -, gtk4 +{ + lib, + rustPlatform, + fetchFromGitHub, + glib, + pkg-config, + wrapGAppsHook4, + gtk4, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-cUE2IZOunR/NIo/qytORRfNqCsf87LfpKA8o/v4Nkhk="; - nativeBuildInputs = [ glib pkg-config wrapGAppsHook4 ]; + nativeBuildInputs = [ + glib + pkg-config + wrapGAppsHook4 + ]; buildInputs = [ gtk4 ]; diff --git a/pkgs/by-name/im/imagej/package.nix b/pkgs/by-name/im/imagej/package.nix index 53c984c961325..5a49b4d540fad 100644 --- a/pkgs/by-name/im/imagej/package.nix +++ b/pkgs/by-name/im/imagej/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, glib -, jre -, unzip -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + glib, + jre, + unzip, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + wrapGAppsHook3, }: let @@ -15,7 +16,8 @@ let url = "https://imagej.net/media/icons/imagej.png"; sha256 = "sha256-nU2nWI1wxZB/xlOKsZzdUjj+qiCTjO6GwEKYgZ5Risg="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "imagej"; version = "153"; @@ -23,7 +25,12 @@ in stdenv.mkDerivation rec { url = "https://wsr.imagej.net/distros/cross-platform/ij${version}.zip"; sha256 = "sha256-MGuUdUDuW3s/yGC68rHr6xxzmYScUjdXRawDpc1UQqw="; }; - nativeBuildInputs = [ copyDesktopItems makeWrapper unzip wrapGAppsHook3 ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + unzip + wrapGAppsHook3 + ]; buildInputs = [ glib ]; dontWrapGApps = true; @@ -32,7 +39,11 @@ in stdenv.mkDerivation rec { name = "ImageJ"; desktopName = "ImageJ"; icon = "imagej"; - categories = [ "Science" "Utility" "Graphics" ]; + categories = [ + "Science" + "Utility" + "Graphics" + ]; exec = "imagej"; }) ]; diff --git a/pkgs/by-name/im/imagelol/package.nix b/pkgs/by-name/im/imagelol/package.nix index 9d5cc34b38275..7e663db77ee9f 100644 --- a/pkgs/by-name/im/imagelol/package.nix +++ b/pkgs/by-name/im/imagelol/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { @@ -45,7 +46,11 @@ stdenv.mkDerivation rec { cp ./ImageLOL $out/bin ''; - cmakeFlags = [ (lib.cmakeFeature "CMAKE_C_FLAGS" "-std=gnu90") ] ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-DPNG_ARM_NEON=off"; + cmakeFlags = + [ (lib.cmakeFeature "CMAKE_C_FLAGS" "-std=gnu90") ] + ++ lib.optional ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-DPNG_ARM_NEON=off"; meta = with lib; { homepage = "https://github.com/MCredstoner2004/ImageLOL"; diff --git a/pkgs/by-name/im/imaginary/package.nix b/pkgs/by-name/im/imaginary/package.nix index 4632647ed93e2..dfe07024292e0 100644 --- a/pkgs/by-name/im/imaginary/package.nix +++ b/pkgs/by-name/im/imaginary/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -, pkg-config -, vips +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + pkg-config, + vips, }: buildGoModule rec { @@ -46,7 +47,10 @@ buildGoModule rec { changelog = "https://github.com/h2non/${pname}/releases/tag/v${version}"; description = "Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing"; license = licenses.mit; - maintainers = with maintainers; [ dotlambda urandom ]; + maintainers = with maintainers; [ + dotlambda + urandom + ]; mainProgram = "imaginary"; }; } diff --git a/pkgs/by-name/im/imagination/package.nix b/pkgs/by-name/im/imagination/package.nix index 6dd9793b8b977..ecf5c4c685950 100644 --- a/pkgs/by-name/im/imagination/package.nix +++ b/pkgs/by-name/im/imagination/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, autoreconfHook, docbook_xsl, ffmpeg-full, glib, gtk3 -, intltool, libxslt, pkg-config, sox, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + docbook_xsl, + ffmpeg-full, + glib, + gtk3, + intltool, + libxslt, + pkg-config, + sox, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "imagination"; @@ -19,7 +32,12 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ ffmpeg-full glib gtk3 sox ]; + buildInputs = [ + ffmpeg-full + glib + gtk3 + sox + ]; preBuild = '' substituteInPlace src/main-window.c \ @@ -31,7 +49,12 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [ ffmpeg-full sox ]}" + --prefix PATH : "${ + lib.makeBinPath [ + ffmpeg-full + sox + ] + }" ) ''; diff --git a/pkgs/by-name/im/imaginer/package.nix b/pkgs/by-name/im/imaginer/package.nix index 374815cd4279c..598d6fb2b93ce 100644 --- a/pkgs/by-name/im/imaginer/package.nix +++ b/pkgs/by-name/im/imaginer/package.nix @@ -1,18 +1,19 @@ -{ lib -, appstream-glib -, blueprint-compiler -, desktop-file-utils -, fetchFromGitHub -, gettext -, glib -, gobject-introspection -, libadwaita -, libsoup_3 -, meson -, ninja -, pkg-config -, python3Packages -, wrapGAppsHook4 +{ + lib, + appstream-glib, + blueprint-compiler, + desktop-file-utils, + fetchFromGitHub, + gettext, + glib, + gobject-introspection, + libadwaita, + libsoup_3, + meson, + ninja, + pkg-config, + python3Packages, + wrapGAppsHook4, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/im/imath/package.nix b/pkgs/by-name/im/imath/package.nix index a8e1ed336bcd1..9a3ddc0a1a5b9 100644 --- a/pkgs/by-name/im/imath/package.nix +++ b/pkgs/by-name/im/imath/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/im/imdshift/package.nix b/pkgs/by-name/im/imdshift/package.nix index a4d7e46e7c280..0d0bff509cf86 100644 --- a/pkgs/by-name/im/imdshift/package.nix +++ b/pkgs/by-name/im/imdshift/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/im/img-cat/package.nix b/pkgs/by-name/im/img-cat/package.nix index d148320b86986..ef8493e757405 100644 --- a/pkgs/by-name/im/img-cat/package.nix +++ b/pkgs/by-name/im/img-cat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "imgcat"; diff --git a/pkgs/by-name/im/img/package.nix b/pkgs/by-name/im/img/package.nix index f7c751cf0ea3f..71fd68fb0fae6 100644 --- a/pkgs/by-name/im/img/package.nix +++ b/pkgs/by-name/im/img/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, makeWrapper -, runc -, wrapperDir ? "/run/wrappers/bin" # Default for NixOS, other systems might need customization. +{ + buildGoModule, + fetchFromGitHub, + lib, + makeWrapper, + runc, + wrapperDir ? "/run/wrappers/bin", # Default for NixOS, other systems might need customization. }: buildGoModule rec { diff --git a/pkgs/by-name/im/imgcat/package.nix b/pkgs/by-name/im/imgcat/package.nix index ab3d22531589c..aaaa5b0bc0656 100644 --- a/pkgs/by-name/im/imgcat/package.nix +++ b/pkgs/by-name/im/imgcat/package.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cimg, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + cimg, + ncurses, +}: stdenv.mkDerivation rec { pname = "imgcat"; version = "2.6.0"; - buildInputs = [ ncurses cimg ]; + buildInputs = [ + ncurses + cimg + ]; preConfigure = '' sed -i -e "s|-ltermcap|-L ${ncurses}/lib -lncurses|" Makefile @@ -30,4 +39,3 @@ stdenv.mkDerivation rec { mainProgram = "imgcat"; }; } - diff --git a/pkgs/by-name/im/imgcrypt/package.nix b/pkgs/by-name/im/imgcrypt/package.nix index bb703e3a0ac60..6b30c5b5d2b42 100644 --- a/pkgs/by-name/im/imgcrypt/package.nix +++ b/pkgs/by-name/im/imgcrypt/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "imgcrypt"; @@ -17,7 +21,10 @@ buildGoModule rec { "-X github.com/containerd/containerd/version.Version=${version}" ]; - subPackages = [ "cmd/ctd-decoder" "cmd/ctr" ]; + subPackages = [ + "cmd/ctd-decoder" + "cmd/ctr" + ]; postFixup = '' mv $out/bin/ctr $out/bin/ctr-enc diff --git a/pkgs/by-name/im/imgpatchtools/package.nix b/pkgs/by-name/im/imgpatchtools/package.nix index 737457a646508..ddb57ba74c8f2 100644 --- a/pkgs/by-name/im/imgpatchtools/package.nix +++ b/pkgs/by-name/im/imgpatchtools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, bzip2, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + bzip2, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "imgpatchtools"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-7TOkqaXPui14VcSmMmYJ1Wg+s85wrgp+E0XcCB0Ml7M="; }; - buildInputs = [ bzip2 openssl zlib ]; + buildInputs = [ + bzip2 + openssl + zlib + ]; installPhase = "install -Dt $out/bin bin/*"; diff --git a/pkgs/by-name/im/imgproxy/package.nix b/pkgs/by-name/im/imgproxy/package.nix index 160185c5f3dd1..d6c2af61ff984 100644 --- a/pkgs/by-name/im/imgproxy/package.nix +++ b/pkgs/by-name/im/imgproxy/package.nix @@ -1,5 +1,13 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, vips, gobject-introspection -, stdenv, libunwind }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + vips, + gobject-introspection, + stdenv, + libunwind, +}: buildGoModule rec { pname = "imgproxy"; @@ -14,10 +22,12 @@ buildGoModule rec { vendorHash = "sha256-LGQ+JJ3OqDisT+CsnseVO54wyRTOkGpG9/zzpJw9P1I="; - nativeBuildInputs = [ pkg-config gobject-introspection ]; + nativeBuildInputs = [ + pkg-config + gobject-introspection + ]; - buildInputs = [ vips ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libunwind ]; + buildInputs = [ vips ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libunwind ]; preBuild = '' export CGO_LDFLAGS_ALLOW='-(s|w)' diff --git a/pkgs/by-name/im/imgur-screenshot/package.nix b/pkgs/by-name/im/imgur-screenshot/package.nix index a557657143f9c..c9d29bfe92c60 100644 --- a/pkgs/by-name/im/imgur-screenshot/package.nix +++ b/pkgs/by-name/im/imgur-screenshot/package.nix @@ -1,7 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, jq, gnugrep, libnotify, scrot, which, xclip }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + curl, + jq, + gnugrep, + libnotify, + scrot, + which, + xclip, +}: -let deps = lib.makeBinPath [ curl jq gnugrep libnotify scrot which xclip ]; -in stdenv.mkDerivation rec { +let + deps = lib.makeBinPath [ + curl + jq + gnugrep + libnotify + scrot + which + xclip + ]; +in +stdenv.mkDerivation rec { version = "2.0.0"; pname = "imgur-screenshot"; diff --git a/pkgs/by-name/im/imgurbash2/package.nix b/pkgs/by-name/im/imgurbash2/package.nix index aff33f6d7dc80..10bb01e7690f9 100644 --- a/pkgs/by-name/im/imgurbash2/package.nix +++ b/pkgs/by-name/im/imgurbash2/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, bash, curl, xsel }: +{ + lib, + stdenv, + fetchFromGitHub, + bash, + curl, + xsel, +}: stdenv.mkDerivation rec { pname = "imgurbash2"; @@ -15,7 +22,12 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cat <$out/bin/imgurbash2 #!${bash}/bin/bash - PATH=${lib.makeBinPath [curl xsel]}:\$PATH + PATH=${ + lib.makeBinPath [ + curl + xsel + ] + }:\$PATH EOF cat imgurbash2 >> $out/bin/imgurbash2 chmod +x $out/bin/imgurbash2 diff --git a/pkgs/by-name/im/iml/package.nix b/pkgs/by-name/im/iml/package.nix index 884cebab2e300..ebcbc34ebee53 100644 --- a/pkgs/by-name/im/iml/package.nix +++ b/pkgs/by-name/im/iml/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, autoreconfHook, fetchurl, gmp, blas}: +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + gmp, + blas, +}: stdenv.mkDerivation rec { pname = "iml"; version = "1.0.5"; @@ -21,7 +28,7 @@ stdenv.mkDerivation rec { meta = { description = "Algorithms for computing exact solutions to dense systems of linear equations over the integers"; license = lib.licenses.gpl2Plus; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "https://cs.uwaterloo.ca/~astorjoh/iml.html"; }; diff --git a/pkgs/by-name/im/imlib2/package.nix b/pkgs/by-name/im/imlib2/package.nix index cea3f45f9ff69..ddffcf4d52dbd 100644 --- a/pkgs/by-name/im/imlib2/package.nix +++ b/pkgs/by-name/im/imlib2/package.nix @@ -1,29 +1,41 @@ -{ lib, stdenv, fetchurl -# Image file formats -, libjpeg, libtiff, giflib, libpng, libwebp, libjxl -, libspectre -# imlib2 can load images from ID3 tags. -, libid3tag, librsvg, libheif -, freetype , bzip2, pkg-config -, x11Support ? true -, webpSupport ? true -, svgSupport ? false -, heifSupport ? false -, jxlSupport ? false -, psSupport ? false +{ + lib, + stdenv, + fetchurl, + # Image file formats + libjpeg, + libtiff, + giflib, + libpng, + libwebp, + libjxl, + libspectre, + # imlib2 can load images from ID3 tags. + libid3tag, + librsvg, + libheif, + freetype, + bzip2, + pkg-config, + x11Support ? true, + webpSupport ? true, + svgSupport ? false, + heifSupport ? false, + jxlSupport ? false, + psSupport ? false, -# for passthru.tests -, libcaca -, diffoscopeMinimal -, feh -, icewm -, openbox -, fluxbox -, enlightenment -, xorg -, testers + # for passthru.tests + libcaca, + diffoscopeMinimal, + feh, + icewm, + openbox, + fluxbox, + enlightenment, + xorg, + testers, -, gitUpdater + gitUpdater, }: let @@ -38,10 +50,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-liRGVldqPgpvWLeOUU3ckZYirGgGcRvCMYN+7mLB3jQ="; }; - buildInputs = [ - libjpeg libtiff giflib libpng - bzip2 freetype libid3tag - ] ++ optionals x11Support [ xorg.libXft xorg.libXext ] + buildInputs = + [ + libjpeg + libtiff + giflib + libpng + bzip2 + freetype + libid3tag + ] + ++ optionals x11Support [ + xorg.libXft + xorg.libXext + ] ++ optional heifSupport libheif ++ optional svgSupport librsvg ++ optional webpSupport libwebp @@ -54,12 +76,17 @@ stdenv.mkDerivation (finalAttrs: { # Do not build amd64 assembly code on Darwin, because it fails to compile # with unknow directive errors - configureFlags = optional stdenv.hostPlatform.isDarwin "--enable-amd64=no" + configureFlags = + optional stdenv.hostPlatform.isDarwin "--enable-amd64=no" ++ optional (!svgSupport) "--without-svg" ++ optional (!heifSupport) "--without-heif" ++ optional (!x11Support) "--without-x"; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; passthru = { tests = { @@ -70,7 +97,8 @@ stdenv.mkDerivation (finalAttrs: { icewm openbox fluxbox - enlightenment; + enlightenment + ; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; updateScript = gitUpdater { diff --git a/pkgs/by-name/im/immer/package.nix b/pkgs/by-name/im/immer/package.nix index 1e82c6ad1d5dc..9cc4aa2afd371 100644 --- a/pkgs/by-name/im/immer/package.nix +++ b/pkgs/by-name/im/immer/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/im/immich-go/package.nix b/pkgs/by-name/im/immich-go/package.nix index 9e996b621a780..22337bcf166b1 100644 --- a/pkgs/by-name/im/immich-go/package.nix +++ b/pkgs/by-name/im/immich-go/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, immich-go }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + testers, + immich-go, +}: buildGoModule rec { pname = "immich-go"; version = "0.22.1"; diff --git a/pkgs/by-name/im/immudb/package.nix b/pkgs/by-name/im/immudb/package.nix index 2ebe92995bd9d..76224b1f17588 100644 --- a/pkgs/by-name/im/immudb/package.nix +++ b/pkgs/by-name/im/immudb/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchzip -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchzip, + installShellFiles, }: let diff --git a/pkgs/by-name/im/impl/package.nix b/pkgs/by-name/im/impl/package.nix index c33389af05e52..7f44746a6767d 100644 --- a/pkgs/by-name/im/impl/package.nix +++ b/pkgs/by-name/im/impl/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ + buildGoModule, + lib, + fetchFromGitHub, +}: buildGoModule rec { pname = "impl"; diff --git a/pkgs/by-name/im/imposm/package.nix b/pkgs/by-name/im/imposm/package.nix index 76d543b3d469a..b662dcaae8933 100644 --- a/pkgs/by-name/im/imposm/package.nix +++ b/pkgs/by-name/im/imposm/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, leveldb, geos }: +{ + lib, + buildGoModule, + fetchFromGitHub, + leveldb, + geos, +}: buildGoModule rec { pname = "imposm"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = null; - buildInputs = [ leveldb geos ]; + buildInputs = [ + leveldb + geos + ]; ldflags = [ "-s -w" diff --git a/pkgs/by-name/im/impression/package.nix b/pkgs/by-name/im/impression/package.nix index 18440fed40589..62fffcbd3afe8 100644 --- a/pkgs/by-name/im/impression/package.nix +++ b/pkgs/by-name/im/impression/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitLab -, blueprint-compiler -, cargo -, desktop-file-utils -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, cairo -, dbus -, gdk-pixbuf -, glib -, gtk4 -, libadwaita -, openssl -, pango +{ + lib, + stdenv, + fetchFromGitLab, + blueprint-compiler, + cargo, + desktop-file-utils, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + cairo, + dbus, + gdk-pixbuf, + glib, + gtk4, + libadwaita, + openssl, + pango, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/im/impy/package.nix b/pkgs/by-name/im/impy/package.nix index 5be23b0a96f4c..8efe8f259ceb6 100644 --- a/pkgs/by-name/im/impy/package.nix +++ b/pkgs/by-name/im/impy/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, libpng -, zlib -, giflib -, libjpeg +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libpng, + zlib, + giflib, + libjpeg, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/im/imsprog/package.nix b/pkgs/by-name/im/imsprog/package.nix index 113281f5702e1..6d65ea4709357 100644 --- a/pkgs/by-name/im/imsprog/package.nix +++ b/pkgs/by-name/im/imsprog/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config, bash, libusb1, qt5, wget, zenity }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + pkg-config, + bash, + libusb1, + qt5, + wget, + zenity, +}: stdenv.mkDerivation (finalAttrs: { pname = "imsprog"; @@ -40,14 +52,23 @@ stdenv.mkDerivation (finalAttrs: { postFixup = '' wrapProgram $out/bin/IMSProg_database_update \ - --prefix PATH : "${lib.makeBinPath [ wget zenity ]}" + --prefix PATH : "${ + lib.makeBinPath [ + wget + zenity + ] + }" ''; meta = { changelog = "https://github.com/bigbigmdm/IMSProg/releases/tag/v${finalAttrs.version}"; description = "A free I2C EEPROM programmer tool for CH341A device"; homepage = "https://github.com/bigbigmdm/IMSProg"; - license = with lib.licenses; [ gpl3Plus gpl2Plus lgpl21Only ]; + license = with lib.licenses; [ + gpl3Plus + gpl2Plus + lgpl21Only + ]; mainProgram = "IMSProg"; maintainers = with lib.maintainers; [ wucke13 ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/im/imtui/package.nix b/pkgs/by-name/im/imtui/package.nix index ac1791126bfde..6d949c9856fbc 100644 --- a/pkgs/by-name/im/imtui/package.nix +++ b/pkgs/by-name/im/imtui/package.nix @@ -1,14 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, imgui -, ninja -, withEmscripten ? false, emscripten -, withCurl ? (!withEmscripten), curl -, withNcurses ? (!withEmscripten), ncurses -, static ? withEmscripten -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + imgui, + ninja, + withEmscripten ? false, + emscripten, + withCurl ? (!withEmscripten), + curl, + withNcurses ? (!withEmscripten), + ncurses, + static ? withEmscripten, + darwin, }: stdenv.mkDerivation rec { @@ -22,20 +26,26 @@ stdenv.mkDerivation rec { hash = "sha256-eHQPDEfxKGLdiOi0lUUgqJcmme1XJLSPAafT223YK+U="; }; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; - buildInputs = lib.optional withEmscripten emscripten + buildInputs = + lib.optional withEmscripten emscripten ++ lib.optional withCurl curl ++ lib.optional withNcurses ncurses ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Cocoa; - postPatch = '' - cp -r ${imgui.src}/* third-party/imgui/imgui - chmod -R u+w third-party/imgui - '' + lib.optionalString (lib.versionAtLeast imgui.version "1.90.1") '' - substituteInPlace src/imtui-impl-{emscripten,ncurses}.cpp \ - --replace "ImGuiKey_KeyPadEnter" "ImGuiKey_KeypadEnter" - ''; + postPatch = + '' + cp -r ${imgui.src}/* third-party/imgui/imgui + chmod -R u+w third-party/imgui + '' + + lib.optionalString (lib.versionAtLeast imgui.version "1.90.1") '' + substituteInPlace src/imtui-impl-{emscripten,ncurses}.cpp \ + --replace "ImGuiKey_KeyPadEnter" "ImGuiKey_KeypadEnter" + ''; cmakeFlags = [ "-DEMSCRIPTEN:BOOL=${if withEmscripten then "ON" else "OFF"}" diff --git a/pkgs/by-name/im/imv/package.nix b/pkgs/by-name/im/imv/package.nix index 8908a987da4db..775c82585cc40 100644 --- a/pkgs/by-name/im/imv/package.nix +++ b/pkgs/by-name/im/imv/package.nix @@ -1,71 +1,93 @@ -{ stdenv -, lib -, fetchFromSourcehut -, asciidoc -, cmocka -, docbook_xsl -, libxslt -, meson -, ninja -, pkg-config -, icu -, pango -, inih -, withWindowSystem ? null -, xorg -, libxkbcommon -, libGLU -, wayland -# "libnsgif" is disabled until https://todo.sr.ht/~exec64/imv/55 is solved -, withBackends ? [ "libjxl" "libtiff" "libjpeg" "libpng" "librsvg" "libheif" ] -, freeimage -, libtiff -, libjpeg_turbo -, libjxl -, libpng -, librsvg -, netsurf -, libheif +{ + stdenv, + lib, + fetchFromSourcehut, + asciidoc, + cmocka, + docbook_xsl, + libxslt, + meson, + ninja, + pkg-config, + icu, + pango, + inih, + withWindowSystem ? null, + xorg, + libxkbcommon, + libGLU, + wayland, + # "libnsgif" is disabled until https://todo.sr.ht/~exec64/imv/55 is solved + withBackends ? [ + "libjxl" + "libtiff" + "libjpeg" + "libpng" + "librsvg" + "libheif" + ], + freeimage, + libtiff, + libjpeg_turbo, + libjxl, + libpng, + librsvg, + netsurf, + libheif, }: let # default value of withWindowSystem withWindowSystem' = - if withWindowSystem != null then withWindowSystem - else if stdenv.hostPlatform.isLinux then "all" - else "x11"; + if withWindowSystem != null then + withWindowSystem + else if stdenv.hostPlatform.isLinux then + "all" + else + "x11"; windowSystems = { all = windowSystems.x11 ++ windowSystems.wayland; - x11 = [ libGLU xorg.libxcb xorg.libX11 ]; + x11 = [ + libGLU + xorg.libxcb + xorg.libX11 + ]; wayland = [ wayland ]; }; backends = { - inherit freeimage libtiff libpng librsvg libheif libjxl; + inherit + freeimage + libtiff + libpng + librsvg + libheif + libjxl + ; libjpeg = libjpeg_turbo; inherit (netsurf) libnsgif; }; - backendFlags = builtins.map - (b: if builtins.elem b withBackends - then "-D${b}=enabled" - else "-D${b}=disabled") - (builtins.attrNames backends); + backendFlags = builtins.map ( + b: if builtins.elem b withBackends then "-D${b}=enabled" else "-D${b}=disabled" + ) (builtins.attrNames backends); in # check that given window system is valid -assert lib.assertOneOf "withWindowSystem" withWindowSystem' - (builtins.attrNames windowSystems); +assert lib.assertOneOf "withWindowSystem" withWindowSystem' (builtins.attrNames windowSystems); # check that every given backend is valid -assert builtins.all - (b: lib.assertOneOf "each backend" b (builtins.attrNames backends)) - withBackends; +assert builtins.all ( + b: lib.assertOneOf "each backend" b (builtins.attrNames backends) +) withBackends; stdenv.mkDerivation rec { pname = "imv"; version = "4.5.0"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromSourcehut { owner = "~exec64"; @@ -91,13 +113,15 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - cmocka - icu - libxkbcommon - pango - inih - ] ++ windowSystems."${withWindowSystem'}" + buildInputs = + [ + cmocka + icu + libxkbcommon + pango + inih + ] + ++ windowSystems."${withWindowSystem'}" ++ builtins.map (b: backends."${b}") withBackends; postInstall = '' @@ -119,7 +143,10 @@ stdenv.mkDerivation rec { description = "Command line image viewer for tiling window managers"; homepage = "https://sr.ht/~exec64/imv/"; license = licenses.mit; - maintainers = with maintainers; [ rnhmjoj markus1189 ]; + maintainers = with maintainers; [ + rnhmjoj + markus1189 + ]; platforms = platforms.all; badPlatforms = platforms.darwin; mainProgram = "imv"; diff --git a/pkgs/by-name/im/imwheel/package.nix b/pkgs/by-name/im/imwheel/package.nix index 9e3afb37d4f9a..3a3dfb0135726 100644 --- a/pkgs/by-name/im/imwheel/package.nix +++ b/pkgs/by-name/im/imwheel/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, libX11, libXext, libXi, libXmu, libXt, libXtst }: +{ + lib, + stdenv, + fetchurl, + libX11, + libXext, + libXi, + libXmu, + libXt, + libXtst, +}: stdenv.mkDerivation rec { pname = "imwheel"; @@ -9,7 +19,14 @@ stdenv.mkDerivation rec { sha256 = "2320ed019c95ca4d922968e1e1cbf0c075a914e865e3965d2bd694ca3d57cfe3"; }; - buildInputs = [ libX11 libXext libXi libXmu libXt libXtst ]; + buildInputs = [ + libX11 + libXext + libXi + libXmu + libXt + libXtst + ]; makeFlags = [ "sysconfdir=/etc" diff --git a/pkgs/by-name/in/inadyn/package.nix b/pkgs/by-name/in/inadyn/package.nix index fa064fbd1664c..09963d89646e7 100644 --- a/pkgs/by-name/in/inadyn/package.nix +++ b/pkgs/by-name/in/inadyn/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, gnutls, libite, libconfuse }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gnutls, + libite, + libconfuse, +}: stdenv.mkDerivation rec { pname = "inadyn"; @@ -12,9 +20,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-aQHJtnMDaHF1XY9lwQVR6f78Zk2UI7OC3Oxt1r1KMak="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ gnutls libite libconfuse ]; + buildInputs = [ + gnutls + libite + libconfuse + ]; configureFlags = [ "--sysconfdir=/etc" diff --git a/pkgs/by-name/in/inav-blackbox-tools/package.nix b/pkgs/by-name/in/inav-blackbox-tools/package.nix index 4acfc4d4890ef..a9e042b0186a0 100644 --- a/pkgs/by-name/in/inav-blackbox-tools/package.nix +++ b/pkgs/by-name/in/inav-blackbox-tools/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cairo }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cairo, +}: stdenv.mkDerivation rec { pname = "inav-blackbox-tools"; @@ -28,7 +34,7 @@ stdenv.mkDerivation rec { description = "Tools for working with blackbox flight logs"; homepage = "https://github.com/inavflight/blackbox-tools"; license = licenses.gpl3Only; - maintainers = []; + maintainers = [ ]; platforms = platforms.all; broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/inav-blackbox-tools.x86_64-darwin }; diff --git a/pkgs/by-name/in/inchi/package.nix b/pkgs/by-name/in/inchi/package.nix index 1c8cca6af715f..d738d62e1cd6c 100644 --- a/pkgs/by-name/in/inchi/package.nix +++ b/pkgs/by-name/in/inchi/package.nix @@ -1,8 +1,9 @@ -{ fetchurl -, lib -, stdenv -, unzip -, fixDarwinDylibNames +{ + fetchurl, + lib, + stdenv, + unzip, + fixDarwinDylibNames, }: let @@ -13,34 +14,41 @@ let src-doc = fetchurl { url = "http://www.inchi-trust.org/download/${removeDots version}/INCHI-1-DOC.zip"; sha256 = "1kyda09i9p89xfq90ninwi7w13k1w3ljpl4gqdhpfhi5g8fgxx7f"; - }; + }; in - stdenv.mkDerivation rec { - pname = "inchi"; - inherit version; +stdenv.mkDerivation rec { + pname = "inchi"; + inherit version; - src = fetchurl { - url = "http://www.inchi-trust.org/download/${removeDots version}/INCHI-1-SRC.zip"; - sha256 = "1zbygqn0443p0gxwr4kx3m1bkqaj8x9hrpch3s41py7jq08f6x28"; - }; + src = fetchurl { + url = "http://www.inchi-trust.org/download/${removeDots version}/INCHI-1-SRC.zip"; + sha256 = "1zbygqn0443p0gxwr4kx3m1bkqaj8x9hrpch3s41py7jq08f6x28"; + }; - nativeBuildInputs = [ unzip ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - outputs = [ "out" "doc" ]; + nativeBuildInputs = [ unzip ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + outputs = [ + "out" + "doc" + ]; - enableParallelBuilding = true; + enableParallelBuilding = true; - preConfigure = '' + preConfigure = + '' cd ./INCHI_API/libinchi/gcc - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace makefile \ --replace ",--version-script=libinchi.map" "" \ --replace "LINUX_Z_RELRO = ,-z,relro" "" \ --replace "-soname" "-install_name" \ --replace "gcc" $CC ''; - installPhase = let + installPhase = + let versionOneDot = versionMajor + "." + removeDots versionMinor; - in '' + in + '' runHook preInstall cd ../../.. @@ -56,19 +64,19 @@ in runHook postInstall ''; - preFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' - fixDarwinDylibNames $(find "$out" -name "*.so.*") - ''; + preFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' + fixDarwinDylibNames $(find "$out" -name "*.so.*") + ''; - postInstall = '' - unzip '${src-doc}' - install -m 644 INCHI-1-DOC/*.pdf $doc/share - ''; + postInstall = '' + unzip '${src-doc}' + install -m 644 INCHI-1-DOC/*.pdf $doc/share + ''; - meta = with lib; { - homepage = "https://www.inchi-trust.org/"; - description = "IUPAC International Chemical Identifier library"; - license = licenses.lgpl2Plus; - maintainers = with maintainers; [ rmcgibbo ]; - }; - } + meta = with lib; { + homepage = "https://www.inchi-trust.org/"; + description = "IUPAC International Chemical Identifier library"; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ rmcgibbo ]; + }; +} diff --git a/pkgs/by-name/in/incron/package.nix b/pkgs/by-name/in/incron/package.nix index bf0299de20300..9c1a1a5f4c60d 100644 --- a/pkgs/by-name/in/incron/package.nix +++ b/pkgs/by-name/in/incron/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, bash, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + bash, + nixosTests, +}: stdenv.mkDerivation rec { pname = "incron"; diff --git a/pkgs/by-name/in/indent/package.nix b/pkgs/by-name/in/indent/package.nix index 8a371a56a3ff3..9d5647d8790c9 100644 --- a/pkgs/by-name/in/indent/package.nix +++ b/pkgs/by-name/in/indent/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, libintl -, texinfo -, buildPackages -, pkgsStatic +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libintl, + texinfo, + buildPackages, + pkgsStatic, }: stdenv.mkDerivation rec { @@ -45,7 +46,9 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = toString ( lib.optional stdenv.cc.isClang "-Wno-implicit-function-declaration" - ++ lib.optional (stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc) "13") "-Wno-unused-but-set-variable" + ++ lib.optional ( + stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc) "13" + ) "-Wno-unused-but-set-variable" ); hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/in/indicator-sound-switcher/package.nix b/pkgs/by-name/in/indicator-sound-switcher/package.nix index cb8439305c681..c362607311078 100644 --- a/pkgs/by-name/in/indicator-sound-switcher/package.nix +++ b/pkgs/by-name/in/indicator-sound-switcher/package.nix @@ -1,15 +1,18 @@ -{ python3Packages -, lib -, fetchFromGitHub -, gettext -, gtk3 -, gobject-introspection -, intltool, wrapGAppsHook3, glib -, librsvg -, libayatana-appindicator -, libpulseaudio -, keybinder3 -, gdk-pixbuf +{ + python3Packages, + lib, + fetchFromGitHub, + gettext, + gtk3, + gobject-introspection, + intltool, + wrapGAppsHook3, + glib, + librsvg, + libayatana-appindicator, + libpulseaudio, + keybinder3, + gdk-pixbuf, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/in/industrializer/package.nix b/pkgs/by-name/in/industrializer/package.nix index ba7099a0d603d..a17f3c4489646 100644 --- a/pkgs/by-name/in/industrializer/package.nix +++ b/pkgs/by-name/in/industrializer/package.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchurl -, alsa-lib -, audiofile -, autoconf -, automake -, gnome2 -, gtk2 -, libGL -, libjack2 -, libtool -, libxml2 -, pkg-config +{ + lib, + stdenv, + fetchurl, + alsa-lib, + audiofile, + autoconf, + automake, + gnome2, + gtk2, + libGL, + libjack2, + libtool, + libxml2, + pkg-config, }: stdenv.mkDerivation rec { @@ -21,7 +23,11 @@ stdenv.mkDerivation rec { sha256 = "0k688k2wppam351by7cp9m7an09yligzd89padr8viqy63gkdk6v"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/in/inetutils/package.nix b/pkgs/by-name/in/inetutils/package.nix index a8638df3914ad..53c8a2de9bc45 100644 --- a/pkgs/by-name/in/inetutils/package.nix +++ b/pkgs/by-name/in/inetutils/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchurl -, ncurses -, perl -, help2man -, apparmorRulesFromClosure -, libxcrypt -, util-linux +{ + stdenv, + lib, + fetchurl, + ncurses, + perl, + help2man, + apparmorRulesFromClosure, + libxcrypt, + util-linux, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { hash = "sha256-h2l9YKMeELXLhqnwZR4ex77pgyDQSMBzlDGqw9V2T7Y="; }; - outputs = ["out" "apparmor"]; + outputs = [ + "out" + "apparmor" + ]; patches = [ # https://git.congatec.com/yocto/meta-openembedded/commit/3402bfac6b595c622e4590a8ff5eaaa854e2a2a3 @@ -26,8 +30,14 @@ stdenv.mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ help2man perl /* for `whois' */ ]; - buildInputs = [ ncurses /* for `talk' */ libxcrypt ]; + nativeBuildInputs = [ + help2man + perl # for `whois' + ]; + buildInputs = [ + ncurses # for `talk' + libxcrypt + ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { # This is a temporary workaround for missing headers in the 10.12 SDK to avoid a mass rebuild. @@ -38,19 +48,24 @@ stdenv.mkDerivation rec { # Don't use help2man if cross-compiling # https://lists.gnu.org/archive/html/bug-sed/2017-01/msg00001.html # https://git.congatec.com/yocto/meta-openembedded/blob/3402bfac6b595c622e4590a8ff5eaaa854e2a2a3/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb#L44 - preConfigure = let - isCross = stdenv.hostPlatform != stdenv.buildPlatform; - in lib.optionalString isCross '' - export HELP2MAN=true - ''; + preConfigure = + let + isCross = stdenv.hostPlatform != stdenv.buildPlatform; + in + lib.optionalString isCross '' + export HELP2MAN=true + ''; - configureFlags = [ "--with-ncurses-include-dir=${ncurses.dev}/include" ] - ++ lib.optionals stdenv.hostPlatform.isMusl [ # Musl doesn't define rcmd - "--disable-rcp" - "--disable-rsh" - "--disable-rlogin" - "--disable-rexec" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-servers"; + configureFlags = + [ "--with-ncurses-include-dir=${ncurses.dev}/include" ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + # Musl doesn't define rcmd + "--disable-rcp" + "--disable-rsh" + "--disable-rlogin" + "--disable-rexec" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-servers"; doCheck = true; @@ -63,7 +78,7 @@ stdenv.mkDerivation rec { include include include - include "${apparmorRulesFromClosure { name = "ping"; } [stdenv.cc.libc]}" + include "${apparmorRulesFromClosure { name = "ping"; } [ stdenv.cc.libc ]}" include capability net_raw, network inet raw, diff --git a/pkgs/by-name/in/infamousPlugins/package.nix b/pkgs/by-name/in/infamousPlugins/package.nix index 062431bd4080a..29df008ab9da8 100644 --- a/pkgs/by-name/in/infamousPlugins/package.nix +++ b/pkgs/by-name/in/infamousPlugins/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cairomm -, cmake -, lv2 -, libpthreadstubs -, libXdmcp -, libXft -, ntk -, pcre -, fftwFloat -, zita-resampler +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cairomm, + cmake, + lv2, + libpthreadstubs, + libXdmcp, + libXft, + ntk, + pcre, + fftwFloat, + zita-resampler, }: stdenv.mkDerivation rec { @@ -25,8 +26,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-AhW4hLmCxz7yHMdxM6kOvtCXk1jEg/XtyPgt4yk1xqs="; }; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ cairomm lv2 libpthreadstubs libXdmcp libXft ntk pcre fftwFloat zita-resampler ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = [ + cairomm + lv2 + libpthreadstubs + libXdmcp + libXft + ntk + pcre + fftwFloat + zita-resampler + ]; meta = with lib; { homepage = "https://ssj71.github.io/infamousPlugins"; diff --git a/pkgs/by-name/in/inflow/package.nix b/pkgs/by-name/in/inflow/package.nix index 8545c48071b89..32416963105d5 100644 --- a/pkgs/by-name/in/inflow/package.nix +++ b/pkgs/by-name/in/inflow/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, runCommand, inflow, diffutils }: +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, + inflow, + diffutils, +}: stdenv.mkDerivation rec { pname = "inflow"; @@ -28,41 +35,43 @@ stdenv.mkDerivation rec { ''; passthru.tests = { - reflowWithLineLength = runCommand "${pname}-test" - { - nativeBuildInputs = [ inflow ]; - buildInputs = [ diffutils ]; - } '' - cat < input.txt - xxxxx xxx xxx xxxx xxxxxxxxx xx x xxxxxxxxx x xxxx xxxx xxxxxxx xxxxxxxx xxx - xxxxxxxxx xxxxxxxx xx xx xxxxx xxxxx xxxx xx x xxxx xx xxxxxxxx xxxxxxxx xxxx - xxx xxxx xxxx xxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx xxx xxxxx xx xxxx x xxxx - xxxxxxxx xxxx xxxx xx xxxxx xxxx xxxxx xxxx xxxxxxxxx xxx xxxxxxxxxxx xxxxxx - xxx xxxxxxxxx xxxx xxxx xx x xx xxxx xxx xxxx xx xxx xxx xxxxxxxxxxx xxxx xxxxx - x xxxxx xxxxxxx xxxxxxx xx xx xxxxxx xx xxxxx - EOF + reflowWithLineLength = + runCommand "${pname}-test" + { + nativeBuildInputs = [ inflow ]; + buildInputs = [ diffutils ]; + } + '' + cat < input.txt + xxxxx xxx xxx xxxx xxxxxxxxx xx x xxxxxxxxx x xxxx xxxx xxxxxxx xxxxxxxx xxx + xxxxxxxxx xxxxxxxx xx xx xxxxx xxxxx xxxx xx x xxxx xx xxxxxxxx xxxxxxxx xxxx + xxx xxxx xxxx xxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx xxx xxxxx xx xxxx x xxxx + xxxxxxxx xxxx xxxx xx xxxxx xxxx xxxxx xxxx xxxxxxxxx xxx xxxxxxxxxxx xxxxxx + xxx xxxxxxxxx xxxx xxxx xx x xx xxxx xxx xxxx xx xxx xxx xxxxxxxxxxx xxxx xxxxx + x xxxxx xxxxxxx xxxxxxx xx xx xxxxxx xx xxxxx + EOF - inflow 72 < input.txt > actual.txt + inflow 72 < input.txt > actual.txt - cat < expected.txt - xxxxx xxx xxx xxxx xxxxxxxxx xx x xxxxxxxxx x xxxx xxxx xxxxxxx - xxxxxxxx xxx xxxxxxxxx xxxxxxxx xx xx xxxxx xxxxx xxxx xx x xxxx - xx xxxxxxxx xxxxxxxx xxxx xxx xxxx xxxx xxx xxxxxxxxxxxxxxxxxxx - xxxxxxxxxxxxx xxx xxxxx xx xxxx x xxxx xxxxxxxx xxxx xxxx xx xxxxx - xxxx xxxxx xxxx xxxxxxxxx xxx xxxxxxxxxxx xxxxxx xxx xxxxxxxxx - xxxx xxxx xx x xx xxxx xxx xxxx xx xxx xxx xxxxxxxxxxx xxxx xxxxx - x xxxxx xxxxxxx xxxxxxx xx xx xxxxxx xx xxxxx - EOF + cat < expected.txt + xxxxx xxx xxx xxxx xxxxxxxxx xx x xxxxxxxxx x xxxx xxxx xxxxxxx + xxxxxxxx xxx xxxxxxxxx xxxxxxxx xx xx xxxxx xxxxx xxxx xx x xxxx + xx xxxxxxxx xxxxxxxx xxxx xxx xxxx xxxx xxx xxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxx xxx xxxxx xx xxxx x xxxx xxxxxxxx xxxx xxxx xx xxxxx + xxxx xxxxx xxxx xxxxxxxxx xxx xxxxxxxxxxx xxxxxx xxx xxxxxxxxx + xxxx xxxx xx x xx xxxx xxx xxxx xx xxx xxx xxxxxxxxxxx xxxx xxxxx + x xxxxx xxxxxxx xxxxxxx xx xx xxxxxx xx xxxxx + EOF - if ! cmp --silent expected.txt actual.txt - then - echo "Error: actual.txt and expected.txt are different" - diff actual.txt expected.txt - exit 1 - fi + if ! cmp --silent expected.txt actual.txt + then + echo "Error: actual.txt and expected.txt are different" + diff actual.txt expected.txt + exit 1 + fi - touch $out - ''; + touch $out + ''; }; meta = with lib; { diff --git a/pkgs/by-name/in/influxdb-cxx/package.nix b/pkgs/by-name/in/influxdb-cxx/package.nix index 4859df6adf799..de1ae626c49b3 100644 --- a/pkgs/by-name/in/influxdb-cxx/package.nix +++ b/pkgs/by-name/in/influxdb-cxx/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, catch2_3, libcpr_1_10_5, trompeloeil }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + catch2_3, + libcpr_1_10_5, + trompeloeil, +}: stdenv.mkDerivation (finalAttrs: { pname = "influxdb-cxx"; @@ -17,8 +27,15 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost libcpr_1_10_5 ] - ++ lib.optionals finalAttrs.finalPackage.doCheck [ catch2_3 trompeloeil ]; + buildInputs = + [ + boost + libcpr_1_10_5 + ] + ++ lib.optionals finalAttrs.finalPackage.doCheck [ + catch2_3 + trompeloeil + ]; cmakeFlags = [ (lib.cmakeBool "INFLUXCXX_TESTING" finalAttrs.finalPackage.doCheck) diff --git a/pkgs/by-name/in/infnoise/package.nix b/pkgs/by-name/in/infnoise/package.nix index e2f117e1e8c49..c596f9e76c796 100644 --- a/pkgs/by-name/in/infnoise/package.nix +++ b/pkgs/by-name/in/infnoise/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, libftdi -, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libftdi, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "infnoise"; @@ -54,7 +60,10 @@ stdenv.mkDerivation (finalAttrs: { It can either provide rng for userland applications, or provide rng for the OS entropy. ''; license = licenses.cc0; - maintainers = with maintainers; [ StijnDW zhaofengli ]; + maintainers = with maintainers; [ + StijnDW + zhaofengli + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/in/inform7/package.nix b/pkgs/by-name/in/inform7/package.nix index b4b97af524172..2ba67a1f6ed33 100644 --- a/pkgs/by-name/in/inform7/package.nix +++ b/pkgs/by-name/in/inform7/package.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, fetchzip, coreutils, perl, gnutar, gzip }: +{ + lib, + stdenv, + fetchzip, + coreutils, + perl, + gnutar, + gzip, +}: let version = "6M62"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "inform7"; inherit version; - buildInputs = [ perl coreutils gnutar gzip ]; + buildInputs = [ + perl + coreutils + gnutar + gzip + ]; src = fetchzip { url = "http://inform7.com/download/content/6M62/I7_6M62_Linux_all.tar.gz"; sha256 = "0bk0pfymvsn1g8ci0pfdw7dgrlzb232a8pc67y2xk6zgpf3m41vj"; @@ -29,6 +43,8 @@ in stdenv.mkDerivation { maintainers = with maintainers; [ mbbx6spp ]; platforms = platforms.unix; # never built on aarch64-darwin since first introduction in nixpkgs - broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); + broken = + (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); }; } diff --git a/pkgs/by-name/in/infra-arcana/package.nix b/pkgs/by-name/in/infra-arcana/package.nix index 609bb192c28a4..bbe5e0f262b95 100644 --- a/pkgs/by-name/in/infra-arcana/package.nix +++ b/pkgs/by-name/in/infra-arcana/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, cmake, makeWrapper, SDL2, SDL2_image, SDL2_mixer +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + makeWrapper, + SDL2, + SDL2_image, + SDL2_mixer, }: stdenv.mkDerivation rec { @@ -12,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-MI+wH0+1f41JYXT2hzDs3RrrR3eTfOzgtCa5T6m8oQc="; }; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ SDL2 SDL2_image SDL2_mixer ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/in/infra/package.nix b/pkgs/by-name/in/infra/package.nix index 996bb80d98c96..e42727704b2d1 100644 --- a/pkgs/by-name/in/infra/package.nix +++ b/pkgs/by-name/in/infra/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "infra"; @@ -15,7 +19,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Infra manages access to infrastructure such as Kubernetes"; diff --git a/pkgs/by-name/in/infracost/package.nix b/pkgs/by-name/in/infracost/package.nix index 58842ba6b55d8..ab848711f600b 100644 --- a/pkgs/by-name/in/infracost/package.nix +++ b/pkgs/by-name/in/infracost/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "infracost"; @@ -12,7 +17,11 @@ buildGoModule rec { }; vendorHash = "sha256-bLSj4/+7h0uHdR956VL4iLqRddKV5Ac+FIL1zJxPCW8="; - ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/infracost/infracost/internal/version.Version=v${version}" + ]; subPackages = [ "cmd/infracost" ]; @@ -62,7 +71,11 @@ buildGoModule rec { compare different deployment options upfront. ''; license = licenses.asl20; - maintainers = with maintainers; [ davegallant jk kashw2 ]; + maintainers = with maintainers; [ + davegallant + jk + kashw2 + ]; mainProgram = "infracost"; }; } diff --git a/pkgs/by-name/in/inframap/package.nix b/pkgs/by-name/in/inframap/package.nix index e1aca0a9301b5..ddfe0ce63dcd5 100644 --- a/pkgs/by-name/in/inframap/package.nix +++ b/pkgs/by-name/in/inframap/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { pname = "inframap"; diff --git a/pkgs/by-name/in/ingress2gateway/package.nix b/pkgs/by-name/in/ingress2gateway/package.nix index 66200676793b8..03799ae2faf5a 100644 --- a/pkgs/by-name/in/ingress2gateway/package.nix +++ b/pkgs/by-name/in/ingress2gateway/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-T6I8uYUaubcc1dfDu6PbQ9bDDLqGuLGXWnCZhdvkycE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Convert Ingress resources to Gateway API resources"; diff --git a/pkgs/by-name/in/inhibridge/package.nix b/pkgs/by-name/in/inhibridge/package.nix index 4340d4a3e8696..2f9c47f7e5c8e 100644 --- a/pkgs/by-name/in/inhibridge/package.nix +++ b/pkgs/by-name/in/inhibridge/package.nix @@ -22,8 +22,7 @@ rustPlatform.buildRustPackage rec { description = "Simple daemon that bridges freedesktop.org ScreenSaver inhibitions to systemd-inhibit"; platforms = platforms.linux; license = licenses.agpl3Plus; - maintainers = with maintainers; [Scrumplex]; + maintainers = with maintainers; [ Scrumplex ]; mainProgram = "inhibridge"; }; } - diff --git a/pkgs/by-name/in/inih/package.nix b/pkgs/by-name/in/inih/package.nix index 91d27fbc675c4..6aa6cb2a340d0 100644 --- a/pkgs/by-name/in/inih/package.nix +++ b/pkgs/by-name/in/inih/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "inih"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-b2f6hQvkmWgni/zdfv3I1b9ypd7zSyEBv/JVBA6K7/w="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; meta = with lib; { description = "Simple .INI file parser in C, good for embedded systems"; diff --git a/pkgs/by-name/in/initool/package.nix b/pkgs/by-name/in/initool/package.nix index ea4659a5e663b..3700790a8ddaa 100644 --- a/pkgs/by-name/in/initool/package.nix +++ b/pkgs/by-name/in/initool/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, mlton -, lib -, fetchFromGitHub +{ + stdenv, + mlton, + lib, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -39,4 +40,3 @@ stdenv.mkDerivation rec { changelog = "https://github.com/dbohdan/initool/releases/tag/v${version}"; }; } - diff --git a/pkgs/by-name/in/ink/package.nix b/pkgs/by-name/in/ink/package.nix index d8f13d795c826..958d3296ad73e 100644 --- a/pkgs/by-name/in/ink/package.nix +++ b/pkgs/by-name/in/ink/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libinklevel }: +{ + lib, + stdenv, + fetchurl, + libinklevel, +}: stdenv.mkDerivation rec { pname = "ink"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { libinklevel ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = with lib; { description = "Command line tool for checking the ink level of your locally connected printer"; diff --git a/pkgs/by-name/in/inklecate/deps.nix b/pkgs/by-name/in/inklecate/deps.nix index f3a17967e25c8..dbfecc1b26058 100644 --- a/pkgs/by-name/in/inklecate/deps.nix +++ b/pkgs/by-name/in/inklecate/deps.nix @@ -1,5 +1,6 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ +{ fetchNuGet }: +[ ] diff --git a/pkgs/by-name/in/inklingreader/package.nix b/pkgs/by-name/in/inklingreader/package.nix index 55596ba489992..e4ba8a252cdec 100644 --- a/pkgs/by-name/in/inklingreader/package.nix +++ b/pkgs/by-name/in/inklingreader/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, gtk3 -, librsvg -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gtk3, + librsvg, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/in/inko/package.nix b/pkgs/by-name/in/inko/package.nix index a623379d09152..4cc7902c4bdc4 100644 --- a/pkgs/by-name/in/inko/package.nix +++ b/pkgs/by-name/in/inko/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, llvm_16 -, libffi -, libz -, libxml2 -, ncurses -, stdenv -, makeWrapper -, callPackage +{ + lib, + rustPlatform, + fetchFromGitHub, + llvm_16, + libffi, + libz, + libxml2, + ncurses, + stdenv, + makeWrapper, + callPackage, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/in/inko/test.nix b/pkgs/by-name/in/inko/test.nix index 8d63dd07ccac6..4b6d637de3fff 100644 --- a/pkgs/by-name/in/inko/test.nix +++ b/pkgs/by-name/in/inko/test.nix @@ -1,35 +1,38 @@ -{ inko -, writeText -, runCommand -, ... +{ + inko, + writeText, + runCommand, + ... }: let - source = writeText "hello.inko" /* inko */ '' - import std.process (sleep) - import std.stdio (STDOUT) - import std.time (Duration) + source = + writeText "hello.inko" # inko + '' + import std.process (sleep) + import std.stdio (STDOUT) + import std.time (Duration) - class async Printer { - fn async print(message: String, channel: Channel[Nil]) { - let _ = STDOUT.new.print(message) + class async Printer { + fn async print(message: String, channel: Channel[Nil]) { + let _ = STDOUT.new.print(message) - channel.send(nil) - } - } + channel.send(nil) + } + } - class async Main { - fn async main { - let channel = Channel.new(size: 2) + class async Main { + fn async main { + let channel = Channel.new(size: 2) - Printer().print('Hello', channel) - Printer().print('world', channel) + Printer().print('Hello', channel) + Printer().print('world', channel) - channel.receive - channel.receive - } - } - ''; + channel.receive + channel.receive + } + } + ''; in runCommand "inko-test" { } '' diff --git a/pkgs/by-name/in/innoextract/package.nix b/pkgs/by-name/in/innoextract/package.nix index e2e3ddcdc3e73..34bd0f083c9fc 100644 --- a/pkgs/by-name/in/innoextract/package.nix +++ b/pkgs/by-name/in/innoextract/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, cmake -, makeWrapper -, boost -, xz -, libiconv -, withGog ? false -, unar ? null +{ + lib, + stdenv, + fetchurl, + cmake, + makeWrapper, + boost, + xz, + libiconv, + withGog ? false, + unar ? null, }: stdenv.mkDerivation rec { @@ -19,13 +20,18 @@ stdenv.mkDerivation rec { sha256 = "09l1z1nbl6ijqqwszdwch9mqr54qb7df0wp2sd77v17dq6gsci33"; }; - buildInputs = [ xz boost ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + buildInputs = [ + xz + boost + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; # Python is reported as missing during the build, however # including Python does not change the output. - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; strictDeps = true; diff --git a/pkgs/by-name/in/inormalize/package.nix b/pkgs/by-name/in/inormalize/package.nix index bf24f0ce19bf9..a39d8868fe025 100644 --- a/pkgs/by-name/in/inormalize/package.nix +++ b/pkgs/by-name/in/inormalize/package.nix @@ -1,30 +1,53 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, perlPackages, - libminc, ebtks }: + libminc, + ebtks, +}: stdenv.mkDerivation rec { pname = "inormalize"; - version = "unstable-2014-10-21"; + version = "unstable-2014-10-21"; src = fetchFromGitHub { - owner = "BIC-MNI"; - repo = pname; - rev = "79cea9cdfe7b99abfd40afda89ab2253b596ad2f"; + owner = "BIC-MNI"; + repo = pname; + rev = "79cea9cdfe7b99abfd40afda89ab2253b596ad2f"; sha256 = "1ahqv5q0ljvji99a5q8azjkdf6bgp6nr8lwivkqwqs3jm0k5clq7"; }; - patches = [ ./lgmask-interp.patch ./nu_correct_norm-interp.patch ]; + patches = [ + ./lgmask-interp.patch + ./nu_correct_norm-interp.patch + ]; postPatch = '' substituteInPlace inormalize.cc \ --replace "clamp" "::clamp" ''; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ libminc ebtks ]; - propagatedBuildInputs = with perlPackages; [ perl GetoptTabular MNI-Perllib ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = [ + libminc + ebtks + ]; + propagatedBuildInputs = with perlPackages; [ + perl + GetoptTabular + MNI-Perllib + ]; - cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/cmake" "-DEBTKS_DIR=${ebtks}/lib/" ]; + cmakeFlags = [ + "-DLIBMINC_DIR=${libminc}/lib/cmake" + "-DEBTKS_DIR=${ebtks}/lib/" + ]; postFixup = '' for p in $out/bin/*; do @@ -37,6 +60,6 @@ stdenv.mkDerivation rec { description = "Program to normalize intensity of MINC files"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; - license = licenses.free; + license = licenses.free; }; } diff --git a/pkgs/by-name/in/inotify-info/package.nix b/pkgs/by-name/in/inotify-info/package.nix index 21de48577df68..feae128221705 100644 --- a/pkgs/by-name/in/inotify-info/package.nix +++ b/pkgs/by-name/in/inotify-info/package.nix @@ -14,9 +14,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-mxZpJMmSCgm5uV5/wknVb1PdxRIF/b2k+6rdOh4b8zA="; }; - buildFlags = ["INOTIFYINFO_VERSION=v${finalAttrs.version}"]; + buildFlags = [ "INOTIFYINFO_VERSION=v${finalAttrs.version}" ]; - installFlags = ["PREFIX=$$out"]; + installFlags = [ "PREFIX=$$out" ]; meta = with lib; { description = "Easily track down the number of inotify watches, instances, and which files are being watched"; diff --git a/pkgs/by-name/in/inotify-tools/package.nix b/pkgs/by-name/in/inotify-tools/package.nix index e8536ea784f36..10c48bffe7c05 100644 --- a/pkgs/by-name/in/inotify-tools/package.nix +++ b/pkgs/by-name/in/inotify-tools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, autoreconfHook, fetchFromGitHub, nix-update-script, fanotifySupport ? true }: +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + nix-update-script, + fanotifySupport ? true, +}: stdenv.mkDerivation (finalAttrs: { pname = "inotify-tools"; @@ -24,7 +31,11 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { homepage = "https://github.com/inotify-tools/inotify-tools/wiki"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ marcweber pSub shamilton ]; + maintainers = with maintainers; [ + marcweber + pSub + shamilton + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/in/inputplug/package.nix b/pkgs/by-name/in/inputplug/package.nix index c14ff710d4a7f..d2441969cc62d 100644 --- a/pkgs/by-name/in/inputplug/package.nix +++ b/pkgs/by-name/in/inputplug/package.nix @@ -1,10 +1,11 @@ -{ fetchCrate -, installShellFiles -, lib -, libbsd -, pkg-config -, rustPlatform -, stdenv +{ + fetchCrate, + installShellFiles, + lib, + libbsd, + pkg-config, + rustPlatform, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -16,7 +17,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-8Gy0h0QMcittnjuKm+atIJNsY2d6Ua29oab4fkUU+wE="; }; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; buildInputs = [ libbsd ]; @@ -37,4 +41,3 @@ rustPlatform.buildRustPackage rec { mainProgram = "inputplug"; }; } - diff --git a/pkgs/by-name/in/inql/package.nix b/pkgs/by-name/in/inql/package.nix index 6f9a6e29f2e0e..4854dd1d72e00 100644 --- a/pkgs/by-name/in/inql/package.nix +++ b/pkgs/by-name/in/inql/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/in/inriafonts/package.nix b/pkgs/by-name/in/inriafonts/package.nix index 1ca1ce2f90988..4504c41967b60 100644 --- a/pkgs/by-name/in/inriafonts/package.nix +++ b/pkgs/by-name/in/inriafonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "inriafonts"; diff --git a/pkgs/by-name/in/inshellisense/package.nix b/pkgs/by-name/in/inshellisense/package.nix index 115639aba3d32..9c013a592bcae 100644 --- a/pkgs/by-name/in/inshellisense/package.nix +++ b/pkgs/by-name/in/inshellisense/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildNpmPackage, fetchFromGitHub, cacert }: +{ + lib, + stdenv, + buildNpmPackage, + fetchFromGitHub, + cacert, +}: buildNpmPackage rec { pname = "inshellisense"; @@ -30,4 +36,3 @@ buildNpmPackage rec { maintainers = [ maintainers.malo ]; }; } - diff --git a/pkgs/by-name/in/insomnia/package.nix b/pkgs/by-name/in/insomnia/package.nix index 2e886e195c497..80458fc41d0af 100644 --- a/pkgs/by-name/in/insomnia/package.nix +++ b/pkgs/by-name/in/insomnia/package.nix @@ -2,22 +2,25 @@ lib, stdenv, fetchurl, - appimageTools + appimageTools, }: let pname = "insomnia"; version = "10.0.0"; - src = fetchurl { - x86_64-darwin = { - url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.dmg"; - hash = "sha256-HYEZzLDV2T4ugCjIeskS5SkrQlu5nQt1S0RG9R/rlcs="; - }; - x86_64-linux = { - url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.AppImage"; - hash = "sha256-hElisKB1C1By8lCCgNqNr6bIOMKqMG3UyBQ6jYu8yNg="; - }; - }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + src = + fetchurl + { + x86_64-darwin = { + url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.dmg"; + hash = "sha256-HYEZzLDV2T4ugCjIeskS5SkrQlu5nQt1S0RG9R/rlcs="; + }; + x86_64-linux = { + url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.AppImage"; + hash = "sha256-hElisKB1C1By8lCCgNqNr6bIOMKqMG3UyBQ6jYu8yNg="; + }; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); meta = with lib; { homepage = "https://insomnia.rest"; @@ -25,51 +28,73 @@ let mainProgram = "insomnia"; changelog = "https://github.com/Kong/insomnia/releases/tag/core@${version}"; license = licenses.asl20; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; - maintainers = with maintainers; [ markus1189 kashw2 DataHearth ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; + maintainers = with maintainers; [ + markus1189 + kashw2 + DataHearth + ]; }; in -if stdenv.hostPlatform.isDarwin then stdenv.mkDerivation { - inherit pname version src meta; +if stdenv.hostPlatform.isDarwin then + stdenv.mkDerivation { + inherit + pname + version + src + meta + ; sourceRoot = "."; unpackCmd = '' - echo "Creating temp directory" - mnt=$(TMPDIR=/tmp mktemp -d -t nix-XXXXXXXXXX) - function finish { - echo "Ejecting temp directory" - /usr/bin/hdiutil detach $mnt -force - rm -rf $mnt - } - # Detach volume when receiving SIG "0" - trap finish EXIT - # Mount DMG file - echo "Mounting DMG file into \"$mnt\"" - /usr/bin/hdiutil attach -nobrowse -mountpoint $mnt $curSrc - # Copy content to local dir for later use - echo 'Copying extracted content into "sourceRoot"' - cp -a $mnt/Insomnia.app $PWD/ - ''; + echo "Creating temp directory" + mnt=$(TMPDIR=/tmp mktemp -d -t nix-XXXXXXXXXX) + function finish { + echo "Ejecting temp directory" + /usr/bin/hdiutil detach $mnt -force + rm -rf $mnt + } + # Detach volume when receiving SIG "0" + trap finish EXIT + # Mount DMG file + echo "Mounting DMG file into \"$mnt\"" + /usr/bin/hdiutil attach -nobrowse -mountpoint $mnt $curSrc + # Copy content to local dir for later use + echo 'Copying extracted content into "sourceRoot"' + cp -a $mnt/Insomnia.app $PWD/ + ''; - installPhase = '' - runHook preInstall - mkdir -p "$out/Applications" - mv Insomnia.app $out/Applications/ - runHook postInstall - ''; -} else appimageTools.wrapType2 { - inherit pname version src meta; + installPhase = '' + runHook preInstall + mkdir -p "$out/Applications" + mv Insomnia.app $out/Applications/ + runHook postInstall + ''; + } +else + appimageTools.wrapType2 { + inherit + pname + version + src + meta + ; - extraInstallCommands = let - appimageContents = appimageTools.extract { - inherit pname version src; - }; - in '' - # Install XDG Desktop file and its icon - install -Dm444 ${appimageContents}/insomnia.desktop -t $out/share/applications - install -Dm444 ${appimageContents}/insomnia.png -t $out/share/pixmaps - # Replace wrong exec statement in XDG Desktop file - substituteInPlace $out/share/applications/insomnia.desktop \ - --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=insomnia' - ''; -} + extraInstallCommands = + let + appimageContents = appimageTools.extract { + inherit pname version src; + }; + in + '' + # Install XDG Desktop file and its icon + install -Dm444 ${appimageContents}/insomnia.desktop -t $out/share/applications + install -Dm444 ${appimageContents}/insomnia.png -t $out/share/pixmaps + # Replace wrong exec statement in XDG Desktop file + substituteInPlace $out/share/applications/insomnia.desktop \ + --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=insomnia' + ''; + } diff --git a/pkgs/by-name/in/instead/package.nix b/pkgs/by-name/in/instead/package.nix index 9a68983dc2041..d5dd0588c0172 100644 --- a/pkgs/by-name/in/instead/package.nix +++ b/pkgs/by-name/in/instead/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, SDL2, SDL2_ttf, SDL2_image, SDL2_mixer, pkg-config, lua, zlib, unzip }: +{ + lib, + stdenv, + fetchurl, + SDL2, + SDL2_ttf, + SDL2_image, + SDL2_mixer, + pkg-config, + lua, + zlib, + unzip, +}: let # I took several games at random from https://instead.syscall.ru/games/ @@ -37,8 +49,18 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-llua -lgcc_s"; - nativeBuildInputs = [ pkg-config unzip ]; - buildInputs = [ SDL2 SDL2_ttf SDL2_image SDL2_mixer lua zlib ]; + nativeBuildInputs = [ + pkg-config + unzip + ]; + buildInputs = [ + SDL2 + SDL2_ttf + SDL2_image + SDL2_mixer + lua + zlib + ]; postPatch = '' substituteInPlace configure.sh \ diff --git a/pkgs/by-name/in/insulator2/package.nix b/pkgs/by-name/in/insulator2/package.nix index ad02d51aecdfc..a3000e0fc5baa 100644 --- a/pkgs/by-name/in/insulator2/package.nix +++ b/pkgs/by-name/in/insulator2/package.nix @@ -1,26 +1,27 @@ -{ lib -, cmake -, dbus -, fetchFromGitHub -, fetchYarnDeps -, openssl -, pkg-config -, freetype -, libsoup_2_4 -, gtk3 -, webkitgtk_4_0 -, perl -, cyrus_sasl -, stdenv -, yarnConfigHook -, nodejs-slim -, cargo-tauri_1 -, cargo -, rustPlatform -, rustc -, jq -, moreutils -, fetchpatch +{ + lib, + cmake, + dbus, + fetchFromGitHub, + fetchYarnDeps, + openssl, + pkg-config, + freetype, + libsoup_2_4, + gtk3, + webkitgtk_4_0, + perl, + cyrus_sasl, + stdenv, + yarnConfigHook, + nodejs-slim, + cargo-tauri_1, + cargo, + rustPlatform, + rustc, + jq, + moreutils, + fetchpatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/in/integresql/package.nix b/pkgs/by-name/in/integresql/package.nix index 409ef736d9e46..da724b573cdd4 100644 --- a/pkgs/by-name/in/integresql/package.nix +++ b/pkgs/by-name/in/integresql/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "integresql"; diff --git a/pkgs/by-name/in/intel-cmt-cat/package.nix b/pkgs/by-name/in/intel-cmt-cat/package.nix index 5e1302dedd92b..0b356aa6d4c78 100644 --- a/pkgs/by-name/in/intel-cmt-cat/package.nix +++ b/pkgs/by-name/in/intel-cmt-cat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "24.05"; @@ -13,7 +17,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - makeFlags = [ "PREFIX=$(out)" "NOLDCONFIG=y" ]; + makeFlags = [ + "PREFIX=$(out)" + "NOLDCONFIG=y" + ]; meta = with lib; { description = "User space software for Intel(R) Resource Director Technology"; diff --git a/pkgs/by-name/in/intel-compute-runtime/package.nix b/pkgs/by-name/in/intel-compute-runtime/package.nix index 0eb33e124569e..fdd669ad983ee 100644 --- a/pkgs/by-name/in/intel-compute-runtime/package.nix +++ b/pkgs/by-name/in/intel-compute-runtime/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, intel-gmmlib -, intel-graphics-compiler -, level-zero -, libva +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + intel-gmmlib, + intel-graphics-compiler, + level-zero, + libva, }: stdenv.mkDerivation rec { @@ -20,9 +21,17 @@ stdenv.mkDerivation rec { hash = "sha256-b7mHIet+zgbS0JfJLKvt9+xILWeuA2rvTAeXetlFz/w="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ intel-gmmlib intel-graphics-compiler libva level-zero ]; + buildInputs = [ + intel-gmmlib + intel-graphics-compiler + libva + level-zero + ]; cmakeFlags = [ "-DSKIP_UNIT_TESTS=1" @@ -32,7 +41,10 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_LIBDIR=lib" ]; - outputs = [ "out" "drivers" ]; + outputs = [ + "out" + "drivers" + ]; # causes redefinition of _FORTIFY_SOURCE hardeningDisable = [ "fortify3" ]; @@ -46,7 +58,14 @@ stdenv.mkDerivation rec { ''; postFixup = '' - patchelf --set-rpath ${lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva stdenv.cc.cc ]} \ + patchelf --set-rpath ${ + lib.makeLibraryPath [ + intel-gmmlib + intel-graphics-compiler + libva + stdenv.cc.cc + ] + } \ $out/lib/intel-opencl/libigdrcl.so ''; @@ -56,7 +75,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/intel/compute-runtime"; changelog = "https://github.com/intel/compute-runtime/releases/tag/${version}"; license = licenses.mit; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; maintainers = with maintainers; [ SuperSandro2000 ]; }; } diff --git a/pkgs/by-name/in/intel-gmmlib/package.nix b/pkgs/by-name/in/intel-gmmlib/package.nix index 6a475711bd7a1..e9ded9eeec1f9 100644 --- a/pkgs/by-name/in/intel-gmmlib/package.nix +++ b/pkgs/by-name/in/intel-gmmlib/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -# for passthru.tests -, intel-compute-runtime -, intel-media-driver +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + # for passthru.tests + intel-compute-runtime, + intel-media-driver, }: stdenv.mkDerivation rec { @@ -33,7 +34,10 @@ stdenv.mkDerivation rec { and buffer management for the Intel(R) Graphics Compute Runtime for OpenCL(TM) and the Intel(R) Media Driver for VAAPI. ''; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ SuperSandro2000 ]; }; } diff --git a/pkgs/by-name/in/intel-gpu-tools/package.nix b/pkgs/by-name/in/intel-gpu-tools/package.nix index 7c26da46b2031..5bcc2385682dc 100644 --- a/pkgs/by-name/in/intel-gpu-tools/package.nix +++ b/pkgs/by-name/in/intel-gpu-tools/package.nix @@ -1,44 +1,45 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, -# build time -, bison -, docbook_xsl -, docutils -, flex -, gtk-doc -, meson -, ninja -, pkg-config -, utilmacros + # build time + bison, + docbook_xsl, + docutils, + flex, + gtk-doc, + meson, + ninja, + pkg-config, + utilmacros, -# runtime -, alsa-lib -, cairo -, curl -, elfutils -, glib -, gsl -, json_c -, kmod -, libdrm -, liboping -, libpciaccess -, libunwind -, libX11 -, libXext -, libXrandr -, libXv -, openssl -, peg -, procps -, python3 -, udev -, valgrind -, xmlrpc_c -, xorgproto + # runtime + alsa-lib, + cairo, + curl, + elfutils, + glib, + gsl, + json_c, + kmod, + libdrm, + liboping, + libpciaccess, + libunwind, + libX11, + libXext, + libXrandr, + libXv, + openssl, + peg, + procps, + python3, + udev, + valgrind, + xmlrpc_c, + xorgproto, }: stdenv.mkDerivation rec { @@ -111,7 +112,10 @@ stdenv.mkDerivation rec { homepage = "https://drm.pages.freedesktop.org/igt-gpu-tools/"; description = "Tools for development and testing of the Intel DRM driver"; license = licenses.mit; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ pSub ]; }; } diff --git a/pkgs/by-name/in/intel-graphics-compiler/package.nix b/pkgs/by-name/in/intel-graphics-compiler/package.nix index ef3ff5ff4565b..851e5bac3bb50 100644 --- a/pkgs/by-name/in/intel-graphics-compiler/package.nix +++ b/pkgs/by-name/in/intel-graphics-compiler/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, bash -, cmake -, runCommandLocal -, bison -, flex -, intel-compute-runtime -, llvmPackages_14 -, opencl-clang -, python3 -, spirv-tools -, spirv-headers -, spirv-llvm-translator +{ + lib, + stdenv, + fetchFromGitHub, + bash, + cmake, + runCommandLocal, + bison, + flex, + intel-compute-runtime, + llvmPackages_14, + opencl-clang, + python3, + spirv-tools, + spirv-headers, + spirv-llvm-translator, -, buildWithPatches ? true + buildWithPatches ? true, }: let @@ -50,9 +51,26 @@ stdenv.mkDerivation rec { patchShebangs --build IGC/Scripts/igc_create_linker_script.sh ''; - nativeBuildInputs = [ bash bison cmake flex (python3.withPackages (ps : with ps; [ mako pyyaml ])) ]; + nativeBuildInputs = [ + bash + bison + cmake + flex + (python3.withPackages ( + ps: with ps; [ + mako + pyyaml + ] + )) + ]; - buildInputs = [ lld llvm spirv-headers spirv-llvm-translator' spirv-tools ]; + buildInputs = [ + lld + llvm + spirv-headers + spirv-llvm-translator' + spirv-tools + ]; strictDeps = true; diff --git a/pkgs/by-name/in/intel-media-driver/package.nix b/pkgs/by-name/in/intel-media-driver/package.nix index ded8e57cf1656..fc415cd682f0f 100644 --- a/pkgs/by-name/in/intel-media-driver/package.nix +++ b/pkgs/by-name/in/intel-media-driver/package.nix @@ -1,24 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, libva -, libpciaccess -, intel-gmmlib -, libdrm -, enableX11 ? stdenv.hostPlatform.isLinux -, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + libva, + libpciaccess, + intel-gmmlib, + libdrm, + enableX11 ? stdenv.hostPlatform.isLinux, + libX11, # for passhtru.tests -, pkgsi686Linux + pkgsi686Linux, }: stdenv.mkDerivation rec { pname = "intel-media-driver"; version = "24.3.4"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "intel"; @@ -43,12 +47,21 @@ stdenv.mkDerivation rec { "-DMEDIA_BUILD_FATAL_WARNINGS=OFF" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.system == "i686-linux") "-D_FILE_OFFSET_BITS=64"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.system == "i686-linux" + ) "-D_FILE_OFFSET_BITS=64"; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ libva libpciaccess intel-gmmlib libdrm ] - ++ lib.optional enableX11 libX11; + buildInputs = [ + libva + libpciaccess + intel-gmmlib + libdrm + ] ++ lib.optional enableX11 libX11; postFixup = lib.optionalString enableX11 '' patchelf --set-rpath "$(patchelf --print-rpath $out/lib/dri/iHD_drv_video.so):${lib.makeLibraryPath [ libX11 ]}" \ @@ -68,7 +81,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/intel/media-driver"; changelog = "https://github.com/intel/media-driver/releases/tag/intel-media-${version}"; - license = with licenses; [ bsd3 mit ]; + license = with licenses; [ + bsd3 + mit + ]; platforms = platforms.linux; maintainers = with maintainers; [ SuperSandro2000 ]; }; diff --git a/pkgs/by-name/in/intel-media-sdk/package.nix b/pkgs/by-name/in/intel-media-sdk/package.nix index 37c0e7253ad1f..26a77a7ed94e3 100644 --- a/pkgs/by-name/in/intel-media-sdk/package.nix +++ b/pkgs/by-name/in/intel-media-sdk/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gtest, libdrm, libpciaccess, libva, libX11 -, libXau, libXdmcp, libpthreadstubs, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + gtest, + libdrm, + libpciaccess, + libva, + libX11, + libXau, + libXdmcp, + libpthreadstubs, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "intel-media-sdk"; @@ -24,9 +38,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - libdrm libva libpciaccess libX11 libXau libXdmcp libpthreadstubs + libdrm + libva + libpciaccess + libX11 + libXau + libXdmcp + libpthreadstubs ]; nativeCheckInputs = [ gtest ]; @@ -42,7 +65,10 @@ stdenv.mkDerivation rec { description = "Intel Media SDK"; mainProgram = "mfx-tracer-config"; license = licenses.mit; - maintainers = with maintainers; [ midchildan pjungkamp ]; + maintainers = with maintainers; [ + midchildan + pjungkamp + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/in/intel-ocl/package.nix b/pkgs/by-name/in/intel-ocl/package.nix index 1732fd76a735d..c98613b672cda 100644 --- a/pkgs/by-name/in/intel-ocl/package.nix +++ b/pkgs/by-name/in/intel-ocl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, rpmextract, ncurses5, numactl, zlib }: +{ + lib, + stdenv, + fetchzip, + rpmextract, + ncurses5, + numactl, + zlib, +}: stdenv.mkDerivation rec { pname = "intel-ocl"; diff --git a/pkgs/by-name/in/intel2200BGFirmware/package.nix b/pkgs/by-name/in/intel2200BGFirmware/package.nix index af9a44b92f469..f419d57819ea1 100644 --- a/pkgs/by-name/in/intel2200BGFirmware/package.nix +++ b/pkgs/by-name/in/intel2200BGFirmware/package.nix @@ -1,6 +1,8 @@ -{ stdenvNoCC -, lib -, fetchurl }: +{ + stdenvNoCC, + lib, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "intel2200BGFirmware"; diff --git a/pkgs/by-name/in/intelli-shell/package.nix b/pkgs/by-name/in/intelli-shell/package.nix index 5bd7f2e9794c8..c700d066e61be 100644 --- a/pkgs/by-name/in/intelli-shell/package.nix +++ b/pkgs/by-name/in/intelli-shell/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, openssl -, sqlite -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + sqlite, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -27,14 +28,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - openssl - sqlite - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libgit2 + openssl + sqlite + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; env = { OPENSSL_NO_VENDOR = true; diff --git a/pkgs/by-name/in/inter/package.nix b/pkgs/by-name/in/inter/package.nix index 67a696f59f1d5..7af136f8c1bca 100644 --- a/pkgs/by-name/in/inter/package.nix +++ b/pkgs/by-name/in/inter/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "inter"; diff --git a/pkgs/by-name/in/interactsh/package.nix b/pkgs/by-name/in/interactsh/package.nix index c3c719a0710b9..824e1197d93cc 100644 --- a/pkgs/by-name/in/interactsh/package.nix +++ b/pkgs/by-name/in/interactsh/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/in/intercal/package.nix b/pkgs/by-name/in/intercal/package.nix index 6e6fd63fa5b2d..9d5120c87e296 100644 --- a/pkgs/by-name/in/intercal/package.nix +++ b/pkgs/by-name/in/intercal/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch -, pkg-config -, bison, flex -, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + bison, + flex, + makeWrapper, +}: stdenv.mkDerivation rec { @@ -23,7 +29,12 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config bison flex makeWrapper ]; + nativeBuildInputs = [ + pkg-config + bison + flex + makeWrapper + ]; # Intercal invokes gcc, so we need an explicit PATH postInstall = '' diff --git a/pkgs/by-name/in/interlock/package.nix b/pkgs/by-name/in/interlock/package.nix index 4b53b2de067f7..be844503163c7 100644 --- a/pkgs/by-name/in/interlock/package.nix +++ b/pkgs/by-name/in/interlock/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, coreutils -, cryptsetup -, mount -, systemd -, umount +{ + lib, + buildGoModule, + fetchFromGitHub, + coreutils, + cryptsetup, + mount, + systemd, + umount, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { vendorHash = "sha256-OL6I95IpyTIc8wCwD9nWxVUTrmZH6COhsd/YwNTyvN0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postPatch = '' grep -lr '/s\?bin/' | xargs sed -i \ diff --git a/pkgs/by-name/in/intermodal/package.nix b/pkgs/by-name/in/intermodal/package.nix index b4b7d7807cb4f..569300715afda 100644 --- a/pkgs/by-name/in/intermodal/package.nix +++ b/pkgs/by-name/in/intermodal/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "intermodal"; @@ -14,7 +20,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-k34psGOs6G+B/msmLSDHLNxnjO1yyE4OY6aQU8bt+is="; # include_hidden test tries to use `chflags` on darwin - checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "--skip=subcommand::torrent::create::tests::include_hidden" ]; + checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "--skip=subcommand::torrent::create::tests::include_hidden" + ]; nativeBuildInputs = [ installShellFiles ]; @@ -30,7 +38,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/casey/intermodal"; changelog = "https://github.com/casey/intermodal/releases/tag/v${version}"; license = licenses.cc0; - maintainers = with maintainers; [ Br1ght0ne xrelkd ]; + maintainers = with maintainers; [ + Br1ght0ne + xrelkd + ]; mainProgram = "imdl"; }; } diff --git a/pkgs/by-name/in/intiface-central/package.nix b/pkgs/by-name/in/intiface-central/package.nix index fad8b190b1862..26da97f6c643d 100644 --- a/pkgs/by-name/in/intiface-central/package.nix +++ b/pkgs/by-name/in/intiface-central/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, flutterPackages -, corrosion -, rustPlatform -, cargo -, rustc -, udev -, copyDesktopItems -, makeDesktopItem +{ + lib, + fetchFromGitHub, + flutterPackages, + corrosion, + rustPlatform, + cargo, + rustc, + udev, + copyDesktopItems, + makeDesktopItem, }: flutterPackages.stable.buildFlutterApplication rec { pname = "intiface-central"; diff --git a/pkgs/by-name/in/intltool/package.nix b/pkgs/by-name/in/intltool/package.nix index 967fc442a73d2..e972dc7d5a1ee 100644 --- a/pkgs/by-name/in/intltool/package.nix +++ b/pkgs/by-name/in/intltool/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, gettext, perlPackages, buildPackages }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + gettext, + perlPackages, + buildPackages, +}: stdenv.mkDerivation rec { pname = "intltool"; @@ -10,17 +18,27 @@ stdenv.mkDerivation rec { }; # fix "unescaped left brace" errors when using intltool in some cases - patches = [(fetchpatch { - name = "perl5.26-regex-fixes.patch"; - urls = [ - "https://sources.debian.org/data/main/i/intltool/0.51.0-5/debian/patches/perl5.26-regex-fixes.patch" - "https://src.fedoraproject.org/rpms/intltool/raw/d8d2ef29fb122a42a6b6678eb1ec97ae56902af2/f/intltool-perl5.26-regex-fixes.patch" - ]; - sha256 = "12q2140867r5d0dysly72khi7b0mm2gd7nlm1k81iyg7fxgnyz45"; - })]; + patches = [ + (fetchpatch { + name = "perl5.26-regex-fixes.patch"; + urls = [ + "https://sources.debian.org/data/main/i/intltool/0.51.0-5/debian/patches/perl5.26-regex-fixes.patch" + "https://src.fedoraproject.org/rpms/intltool/raw/d8d2ef29fb122a42a6b6678eb1ec97ae56902af2/f/intltool-perl5.26-regex-fixes.patch" + ]; + sha256 = "12q2140867r5d0dysly72khi7b0mm2gd7nlm1k81iyg7fxgnyz45"; + }) + ]; - nativeBuildInputs = with perlPackages; [ perl XMLParser ]; - propagatedBuildInputs = [ gettext ] ++ (with perlPackages; [ perl XMLParser ]); + nativeBuildInputs = with perlPackages; [ + perl + XMLParser + ]; + propagatedBuildInputs = + [ gettext ] + ++ (with perlPackages; [ + perl + XMLParser + ]); postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' for f in $out/bin/*; do diff --git a/pkgs/by-name/in/intune-portal/package.nix b/pkgs/by-name/in/intune-portal/package.nix index 009be9ce46deb..f5342ec6aedc8 100644 --- a/pkgs/by-name/in/intune-portal/package.nix +++ b/pkgs/by-name/in/intune-portal/package.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, fetchurl -, dpkg -, libuuid -, xorg -, curlMinimal -, openssl -, libsecret -, webkitgtk_4_0 -, libsoup_2_4 -, gtk3 -, atk -, pango -, glib -, sqlite -, zlib -, systemd -, msalsdk-dbusclient -, pam -, dbus -, nixosTests +{ + stdenv, + lib, + fetchurl, + dpkg, + libuuid, + xorg, + curlMinimal, + openssl, + libsecret, + webkitgtk_4_0, + libsoup_2_4, + gtk3, + atk, + pango, + glib, + sqlite, + zlib, + systemd, + msalsdk-dbusclient, + pam, + dbus, + nixosTests, }: stdenv.mkDerivation rec { pname = "intune-portal"; diff --git a/pkgs/by-name/in/invidious/videojs.nix b/pkgs/by-name/in/invidious/videojs.nix index dcd6e9e97cbf3..302415dc90003 100644 --- a/pkgs/by-name/in/invidious/videojs.nix +++ b/pkgs/by-name/in/invidious/videojs.nix @@ -1,10 +1,11 @@ -{ stdenvNoCC -, cacert -, crystal -, openssl -, pkg-config -, invidious -, versions +{ + stdenvNoCC, + cacert, + crystal, + openssl, + pkg-config, + invidious, + versions, }: stdenvNoCC.mkDerivation { @@ -14,7 +15,12 @@ stdenvNoCC.mkDerivation { builder = ./videojs.sh; - nativeBuildInputs = [ cacert crystal openssl pkg-config ]; + nativeBuildInputs = [ + cacert + crystal + openssl + pkg-config + ]; outputHashAlgo = "sha256"; outputHashMode = "recursive"; diff --git a/pkgs/by-name/in/invidtui/package.nix b/pkgs/by-name/in/invidtui/package.nix index 4ca39a938ae93..81ce6d058a766 100644 --- a/pkgs/by-name/in/invidtui/package.nix +++ b/pkgs/by-name/in/invidtui/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, yt-dlp, ffmpeg, mpv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + yt-dlp, + ffmpeg, + mpv, +}: buildGoModule rec { pname = "invidtui"; @@ -16,10 +23,10 @@ buildGoModule rec { doCheck = true; postPatch = '' - substituteInPlace cmd/flags.go \ - --replace "\"ffmpeg\"" "\"${lib.getBin ffmpeg}/bin/ffmpeg\"" \ - --replace "\"mpv\"" "\"${lib.getBin mpv}/bin/mpv\"" \ - --replace "\"yt-dlp\"" "\"${lib.getBin yt-dlp}/bin/yt-dlp\"" + substituteInPlace cmd/flags.go \ + --replace "\"ffmpeg\"" "\"${lib.getBin ffmpeg}/bin/ffmpeg\"" \ + --replace "\"mpv\"" "\"${lib.getBin mpv}/bin/mpv\"" \ + --replace "\"yt-dlp\"" "\"${lib.getBin yt-dlp}/bin/yt-dlp\"" ''; meta = with lib; { diff --git a/pkgs/by-name/in/invoice/package.nix b/pkgs/by-name/in/invoice/package.nix index ea7ce5c2205a7..fa1851636dc16 100644 --- a/pkgs/by-name/in/invoice/package.nix +++ b/pkgs/by-name/in/invoice/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "invoice"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-8VhBflnpsJ5h8S6meDFZKCcS2nz5u4kPE9W710gJG4U="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Command line invoice generator"; diff --git a/pkgs/by-name/in/invoice2data/package.nix b/pkgs/by-name/in/invoice2data/package.nix index b2179d3f63b24..3280b1fab2363 100644 --- a/pkgs/by-name/in/invoice2data/package.nix +++ b/pkgs/by-name/in/invoice2data/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, ghostscript -, imagemagick -, poppler_utils -, python3 -, tesseract5 +{ + lib, + fetchFromGitHub, + fetchpatch, + ghostscript, + imagemagick, + poppler_utils, + python3, + tesseract5, }: python3.pkgs.buildPythonApplication rec { @@ -41,12 +42,17 @@ python3.pkgs.buildPythonApplication rec { setuptools ]; - makeWrapperArgs = ["--prefix" "PATH" ":" (lib.makeBinPath [ - ghostscript - imagemagick - tesseract5 - poppler_utils - ])]; + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + ghostscript + imagemagick + tesseract5 + poppler_utils + ]) + ]; # Tests fails even when ran manually on my ubuntu machine !! doCheck = false; diff --git a/pkgs/by-name/in/inxi/package.nix b/pkgs/by-name/in/inxi/package.nix index 563ff69b4929b..d4c6bdbf960b9 100644 --- a/pkgs/by-name/in/inxi/package.nix +++ b/pkgs/by-name/in/inxi/package.nix @@ -1,26 +1,68 @@ -{ lib, stdenv, fetchFromGitea, perl, perlPackages, makeWrapper -, ps, dnsutils # dig is recommended for multiple categories -, withRecommends ? false # Install (almost) all recommended tools (see --recommends) -, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode -, file, hddtemp, iproute2, ipmitool, usbutils, kmod, lm_sensors, smartmontools -, binutils, tree, upower, pciutils -, withRecommendedDisplayInformationPrograms ? withRecommends, mesa-demos, xorg +{ + lib, + stdenv, + fetchFromGitea, + perl, + perlPackages, + makeWrapper, + ps, + dnsutils, # dig is recommended for multiple categories + withRecommends ? false, # Install (almost) all recommended tools (see --recommends) + withRecommendedSystemPrograms ? withRecommends, + util-linuxMinimal, + dmidecode, + file, + hddtemp, + iproute2, + ipmitool, + usbutils, + kmod, + lm_sensors, + smartmontools, + binutils, + tree, + upower, + pciutils, + withRecommendedDisplayInformationPrograms ? withRecommends, + mesa-demos, + xorg, }: let - prefixPath = programs: - "--prefix PATH ':' '${lib.makeBinPath programs}'"; + prefixPath = programs: "--prefix PATH ':' '${lib.makeBinPath programs}'"; recommendedSystemPrograms = lib.optionals withRecommendedSystemPrograms [ - util-linuxMinimal dmidecode file hddtemp iproute2 ipmitool usbutils kmod - lm_sensors smartmontools binutils tree upower pciutils + util-linuxMinimal + dmidecode + file + hddtemp + iproute2 + ipmitool + usbutils + kmod + lm_sensors + smartmontools + binutils + tree + upower + pciutils ]; - recommendedDisplayInformationPrograms = lib.optionals - withRecommendedDisplayInformationPrograms - ([ mesa-demos ] ++ (with xorg; [ xdpyinfo xprop xrandr ])); - programs = [ ps dnsutils ] # Core programs + recommendedDisplayInformationPrograms = lib.optionals withRecommendedDisplayInformationPrograms ( + [ mesa-demos ] + ++ (with xorg; [ + xdpyinfo + xprop + xrandr + ]) + ); + programs = + [ + ps + dnsutils + ] # Core programs ++ recommendedSystemPrograms ++ recommendedDisplayInformationPrograms; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "inxi"; version = "3.3.35-1"; diff --git a/pkgs/by-name/io/io/package.nix b/pkgs/by-name/io/io/package.nix index 0d522055d9adf..11d07c6a13a17 100644 --- a/pkgs/by-name/io/io/package.nix +++ b/pkgs/by-name/io/io/package.nix @@ -1,7 +1,37 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, sqlite, gmp, libffi, cairo, - ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile, - libxml2, libglut, libsamplerate, pcre, libevent, libedit, yajl, - python3, openssl, glfw, pkg-config, libpthreadstubs, libXdmcp, libmemcached +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + zlib, + sqlite, + gmp, + libffi, + cairo, + ncurses, + freetype, + libGLU, + libGL, + libpng, + libtiff, + libjpeg, + readline, + libsndfile, + libxml2, + libglut, + libsamplerate, + pcre, + libevent, + libedit, + yajl, + python3, + openssl, + glfw, + pkg-config, + libpthreadstubs, + libXdmcp, + libmemcached, }: stdenv.mkDerivation { @@ -28,11 +58,33 @@ stdenv.mkDerivation { ]; buildInputs = [ - zlib sqlite gmp libffi cairo ncurses freetype - libGLU libGL libpng libtiff libjpeg readline libsndfile libxml2 - libglut libsamplerate pcre libevent libedit yajl - glfw openssl libpthreadstubs libXdmcp - libmemcached python3 + zlib + sqlite + gmp + libffi + cairo + ncurses + freetype + libGLU + libGL + libpng + libtiff + libjpeg + readline + libsndfile + libxml2 + libglut + libsamplerate + pcre + libevent + libedit + yajl + glfw + openssl + libpthreadstubs + libXdmcp + libmemcached + python3 ]; preConfigure = '' diff --git a/pkgs/by-name/io/ioc-scan/package.nix b/pkgs/by-name/io/ioc-scan/package.nix index 4b7c81119c5d4..4495906ba926a 100644 --- a/pkgs/by-name/io/ioc-scan/package.nix +++ b/pkgs/by-name/io/ioc-scan/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -17,7 +18,7 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ docopt]; + propagatedBuildInputs = with python3.pkgs; [ docopt ]; nativeCheckInputs = with python3.pkgs; [ pyfakefs diff --git a/pkgs/by-name/io/ioccheck/package.nix b/pkgs/by-name/io/ioccheck/package.nix index 2f054c6dc6a6a..220710d015595 100644 --- a/pkgs/by-name/io/ioccheck/package.nix +++ b/pkgs/by-name/io/ioccheck/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: let @@ -33,7 +34,8 @@ let }; }; }; -in py.pkgs.buildPythonApplication rec { +in +py.pkgs.buildPythonApplication rec { pname = "ioccheck"; version = "unstable-2021-09-29"; pyproject = true; diff --git a/pkgs/by-name/io/iodash/package.nix b/pkgs/by-name/io/iodash/package.nix index d8982f0f8c046..cc17be915bc81 100644 --- a/pkgs/by-name/io/iodash/package.nix +++ b/pkgs/by-name/io/iodash/package.nix @@ -1,21 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "iodash"; version = "0.1.7"; - src = fetchFromGitHub { - owner = "YukiWorkshop"; - repo = "IODash"; - rev = "9dcb26621a9c17dbab704b5bab0c3a5fc72624cb"; + src = fetchFromGitHub { + owner = "YukiWorkshop"; + repo = "IODash"; + rev = "9dcb26621a9c17dbab704b5bab0c3a5fc72624cb"; sha256 = "0db5y2206fwh3h1pzjm9hy3m76inm0xpm1c5gvrladz6hiqfp7bx"; fetchSubmodules = true; }; # adds missing cmake install directives # https://github.com/YukiWorkshop/IODash/pull/2 - patches = [ ./0001-Add-cmake-install-directives.patch]; + patches = [ ./0001-Add-cmake-install-directives.patch ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { homepage = "https://github.com/YukiWorkshop/IODash"; diff --git a/pkgs/by-name/io/iodine/package.nix b/pkgs/by-name/io/iodine/package.nix index 328d1354ede3c..3d993b3f1662f 100644 --- a/pkgs/by-name/io/iodine/package.nix +++ b/pkgs/by-name/io/iodine/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib -, nettools -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + nettools, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/io/iomelt/package.nix b/pkgs/by-name/io/iomelt/package.nix index 8796b740c3473..c5abb0922e78a 100644 --- a/pkgs/by-name/io/iomelt/package.nix +++ b/pkgs/by-name/io/iomelt/package.nix @@ -1,10 +1,13 @@ -{ fetchurl -, lib -, stdenv +{ + fetchurl, + lib, + stdenv, }: -let version = "0.7"; -in stdenv.mkDerivation { +let + version = "0.7"; +in +stdenv.mkDerivation { inherit version; pname = "iomelt"; src = fetchurl { diff --git a/pkgs/by-name/io/ion/package.nix b/pkgs/by-name/io/ion/package.nix index 22fef6ee4f748..57af77aa3a602 100644 --- a/pkgs/by-name/io/ion/package.nix +++ b/pkgs/by-name/io/ion/package.nix @@ -1,7 +1,7 @@ { lib, rustPlatform, - fetchFromGitLab + fetchFromGitLab, }: rustPlatform.buildRustPackage { @@ -40,7 +40,10 @@ rustPlatform.buildRustPackage { description = "Modern system shell with simple (and powerful) syntax"; homepage = "https://gitlab.redox-os.org/redox-os/ion"; license = licenses.mit; - maintainers = with maintainers; [dywedir arthsmn]; + maintainers = with maintainers; [ + dywedir + arthsmn + ]; mainProgram = "ion"; platforms = platforms.unix; }; diff --git a/pkgs/by-name/io/ioping/package.nix b/pkgs/by-name/io/ioping/package.nix index f610258cf503e..a228153ae4ef6 100644 --- a/pkgs/by-name/io/ioping/package.nix +++ b/pkgs/by-name/io/ioping/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "ioping"; diff --git a/pkgs/by-name/io/ioport/package.nix b/pkgs/by-name/io/ioport/package.nix index 6da154648fc2e..25f0f42108c19 100644 --- a/pkgs/by-name/io/ioport/package.nix +++ b/pkgs/by-name/io/ioport/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, perl, fetchurl }: +{ + lib, + stdenv, + perl, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ioport"; @@ -15,7 +20,10 @@ stdenv.mkDerivation rec { description = "Direct access to I/O ports from the command line"; homepage = "https://people.redhat.com/rjones/ioport/"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ maintainers.cleverca22 ]; }; } diff --git a/pkgs/by-name/io/ioq3-scion/package.nix b/pkgs/by-name/io/ioq3-scion/package.nix index bb28ff1989035..b78ef09367ee0 100644 --- a/pkgs/by-name/io/ioq3-scion/package.nix +++ b/pkgs/by-name/io/ioq3-scion/package.nix @@ -1,4 +1,10 @@ -{ ioquake3, fetchFromGitHub, pan-bindings, libsodium, lib }: +{ + ioquake3, + fetchFromGitHub, + pan-bindings, + libsodium, + lib, +}: ioquake3.overrideAttrs (old: { pname = "ioq3-scion"; version = "unstable-2024-03-03"; diff --git a/pkgs/by-name/io/ioquake3/package.nix b/pkgs/by-name/io/ioquake3/package.nix index b21a65f3933ee..80afd46bc92b5 100644 --- a/pkgs/by-name/io/ioquake3/package.nix +++ b/pkgs/by-name/io/ioquake3/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, which -, copyDesktopItems -, makeBinaryWrapper -, SDL2 -, libGL -, openal -, curl -, speex -, opusfile -, libogg -, libvorbis -, libjpeg -, makeDesktopItem -, freetype -, mumble +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + which, + copyDesktopItems, + makeBinaryWrapper, + SDL2, + libGL, + openal, + curl, + speex, + opusfile, + libogg, + libvorbis, + libjpeg, + makeDesktopItem, + freetype, + mumble, }: stdenv.mkDerivation { @@ -75,7 +76,10 @@ stdenv.mkDerivation { icon = "ioquake3"; comment = "A fast-paced 3D first-person shooter, a community effort to continue supporting/developing id's Quake III Arena"; desktopName = "ioquake3"; - categories = [ "Game" "ActionGame" ]; + categories = [ + "Game" + "ActionGame" + ]; }) ]; @@ -84,7 +88,11 @@ stdenv.mkDerivation { description = "Fast-paced 3D first-person shooter, a community effort to continue supporting/developing id's Quake III Arena"; license = lib.licenses.gpl2Plus; mainProgram = "ioquake3"; - maintainers = with lib.maintainers; [ abbradar drupol rvolosatovs ]; + maintainers = with lib.maintainers; [ + abbradar + drupol + rvolosatovs + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/io/ior/package.nix b/pkgs/by-name/io/ior/package.nix index ba3e5f1c7ffaa..3b33d1607b83a 100644 --- a/pkgs/by-name/io/ior/package.nix +++ b/pkgs/by-name/io/ior/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, mpi, perl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + mpi, + perl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "ior"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ mpi perl ]; + buildInputs = [ + mpi + perl + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/io/iotop-c/package.nix b/pkgs/by-name/io/iotop-c/package.nix index 57254f30c3c91..62c37c4a2e6b6 100644 --- a/pkgs/by-name/io/iotop-c/package.nix +++ b/pkgs/by-name/io/iotop-c/package.nix @@ -1,4 +1,10 @@ -{stdenv, fetchFromGitHub, lib, ncurses, pkg-config }: +{ + stdenv, + fetchFromGitHub, + lib, + ncurses, + pkg-config, +}: stdenv.mkDerivation rec { pname = "iotop-c"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ ncurses ]; - makeFlags = [ "DESTDIR=$(out)" "TARGET=iotop-c" ]; + makeFlags = [ + "DESTDIR=$(out)" + "TARGET=iotop-c" + ]; postInstall = '' mv $out/usr/share/man/man8/{iotop,iotop-c}.8 diff --git a/pkgs/by-name/io/iotop/package.nix b/pkgs/by-name/io/iotop/package.nix index 767bf4a2915ce..6f420219118e0 100644 --- a/pkgs/by-name/io/iotop/package.nix +++ b/pkgs/by-name/io/iotop/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, python3Packages, fetchpatch }: +{ + lib, + fetchurl, + python3Packages, + fetchpatch, +}: python3Packages.buildPythonApplication rec { pname = "iotop"; diff --git a/pkgs/by-name/io/iozone/package.nix b/pkgs/by-name/io/iozone/package.nix index a724d67a1a047..9820881d4c467 100644 --- a/pkgs/by-name/io/iozone/package.nix +++ b/pkgs/by-name/io/iozone/package.nix @@ -1,15 +1,22 @@ -{ stdenv, lib, fetchurl, gnuplot }: +{ + stdenv, + lib, + fetchurl, + gnuplot, +}: let - target = if stdenv.hostPlatform.system == "i686-linux" then - "linux" - else if stdenv.hostPlatform.system == "x86_64-linux" then - "linux-AMD64" - else if stdenv.hostPlatform.system == "x86_64-darwin" then - "macosx" - else if stdenv.hostPlatform.system == "aarch64-linux" then - "linux-arm" - else throw "Platform ${stdenv.hostPlatform.system} not yet supported."; + target = + if stdenv.hostPlatform.system == "i686-linux" then + "linux" + else if stdenv.hostPlatform.system == "x86_64-linux" then + "linux-AMD64" + else if stdenv.hostPlatform.system == "x86_64-darwin" then + "macosx" + else if stdenv.hostPlatform.system == "aarch64-linux" then + "linux-arm" + else + throw "Platform ${stdenv.hostPlatform.system} not yet supported."; in stdenv.mkDerivation rec { @@ -17,7 +24,7 @@ stdenv.mkDerivation rec { version = "3.506"; src = fetchurl { - url = "http://www.iozone.org/src/current/iozone${lib.replaceStrings ["."] ["_"] version}.tar"; + url = "http://www.iozone.org/src/current/iozone${lib.replaceStrings [ "." ] [ "_" ] version}.tar"; hash = "sha256-EUzlwHGHO5ose6bnPQXV735mVkOSrL/NwLMmHbEPy+c="; }; @@ -54,9 +61,17 @@ stdenv.mkDerivation rec { meta = { description = "IOzone Filesystem Benchmark"; - homepage = "http://www.iozone.org/"; - license = lib.licenses.unfreeRedistributable; - platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; - maintainers = with lib.maintainers; [ Baughn makefu ]; + homepage = "http://www.iozone.org/"; + license = lib.licenses.unfreeRedistributable; + platforms = [ + "i686-linux" + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + ]; + maintainers = with lib.maintainers; [ + Baughn + makefu + ]; }; } diff --git a/pkgs/by-name/io/ioztat/package.nix b/pkgs/by-name/io/ioztat/package.nix index 1763ae93c2c61..7d1b1dd4a6239 100644 --- a/pkgs/by-name/io/ioztat/package.nix +++ b/pkgs/by-name/io/ioztat/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ip/ip2location-c/package.nix b/pkgs/by-name/ip/ip2location-c/package.nix index bc1c3736f730b..929e5772b5727 100644 --- a/pkgs/by-name/ip/ip2location-c/package.nix +++ b/pkgs/by-name/ip/ip2location-c/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -35,7 +36,10 @@ stdenv.mkDerivation rec { any IP address or host name in the IP2Location databases. ''; homepage = "https://www.ip2location.com/developers/c"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; maintainers = [ ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/ip/ip2location/package.nix b/pkgs/by-name/ip/ip2location/package.nix index 6fa9345b3f01f..ba59cc9bc3d62 100644 --- a/pkgs/by-name/ip/ip2location/package.nix +++ b/pkgs/by-name/ip/ip2location/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ip2location"; @@ -22,7 +26,10 @@ stdenv.mkDerivation rec { any IP address or host name in the IP2Location databases. ''; homepage = "https://www.ip2location.com/free/applications"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; platforms = platforms.linux; mainProgram = "ip2location"; }; diff --git a/pkgs/by-name/ip/ip2unix/package.nix b/pkgs/by-name/ip/ip2unix/package.nix index 9c34c859185fb..c134eedcdeda2 100644 --- a/pkgs/by-name/ip/ip2unix/package.nix +++ b/pkgs/by-name/ip/ip2unix/package.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, yaml-cpp, systemd -, python3Packages, asciidoc, libxslt, docbook_xml_dtd_45, docbook_xsl -, libxml2, docbook5, mesonEmulatorHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + pkg-config, + yaml-cpp, + systemd, + python3Packages, + asciidoc, + libxslt, + docbook_xml_dtd_45, + docbook_xsl, + libxml2, + docbook5, + mesonEmulatorHook, }: stdenv.mkDerivation rec { @@ -24,8 +39,17 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - meson ninja pkg-config asciidoc libxslt.bin docbook_xml_dtd_45 docbook_xsl - libxml2.bin docbook5 python3Packages.pytest python3Packages.pytest-timeout + meson + ninja + pkg-config + asciidoc + libxslt.bin + docbook_xml_dtd_45 + docbook_xsl + libxml2.bin + docbook5 + python3Packages.pytest + python3Packages.pytest-timeout systemd ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ mesonEmulatorHook ]; diff --git a/pkgs/by-name/ip/ipad_charge/package.nix b/pkgs/by-name/ip/ipad_charge/package.nix index fdbab82aabcdc..aeb4fc2ea222a 100644 --- a/pkgs/by-name/ip/ipad_charge/package.nix +++ b/pkgs/by-name/ip/ipad_charge/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libusb1 }: +{ + lib, + stdenv, + fetchFromGitHub, + libusb1, +}: stdenv.mkDerivation rec { pname = "ipad_charge"; diff --git a/pkgs/by-name/ip/ipaexfont/package.nix b/pkgs/by-name/ip/ipaexfont/package.nix index 986eab13a2577..e2af2c9906bc0 100644 --- a/pkgs/by-name/ip/ipaexfont/package.nix +++ b/pkgs/by-name/ip/ipaexfont/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "ipaexfont"; diff --git a/pkgs/by-name/ip/ipafont/package.nix b/pkgs/by-name/ip/ipafont/package.nix index 8a1f91da34fb3..98bffe658ea98 100644 --- a/pkgs/by-name/ip/ipafont/package.nix +++ b/pkgs/by-name/ip/ipafont/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "ipafont"; diff --git a/pkgs/by-name/ip/ipam/package.nix b/pkgs/by-name/ip/ipam/package.nix index 3a5b7b8492e15..1d9223ecb78dc 100644 --- a/pkgs/by-name/ip/ipam/package.nix +++ b/pkgs/by-name/ip/ipam/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitea -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitea, + installShellFiles, }: buildGoModule rec { @@ -22,7 +23,10 @@ buildGoModule rec { vendorHash = "sha256-l8eeeYv41yUPQ1dyJY4Jo3uvULrc1B/buGlMxYSdhCA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installShellCompletion --cmd ipam \ diff --git a/pkgs/by-name/ip/ipatool/package.nix b/pkgs/by-name/ip/ipatool/package.nix index 0b9e7f8a94158..ea9bf1fdd9ea2 100644 --- a/pkgs/by-name/ip/ipatool/package.nix +++ b/pkgs/by-name/ip/ipatool/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, testers -, ipatool +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + testers, + ipatool, }: buildGoModule rec { diff --git a/pkgs/by-name/ip/ipbt/package.nix b/pkgs/by-name/ip/ipbt/package.nix index 66369d9833948..70629038d08f7 100644 --- a/pkgs/by-name/ip/ipbt/package.nix +++ b/pkgs/by-name/ip/ipbt/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, ncurses }: +{ + lib, + stdenv, + fetchurl, + perl, + ncurses, +}: stdenv.mkDerivation rec { version = "20210215.5a9cb02"; diff --git a/pkgs/by-name/ip/ipcalc/package.nix b/pkgs/by-name/ip/ipcalc/package.nix index e45a2162dd3af..2e08354371da7 100644 --- a/pkgs/by-name/ip/ipcalc/package.nix +++ b/pkgs/by-name/ip/ipcalc/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, ronn -, withGeo ? true -, geoip +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + ronn, + withGeo ? true, + geoip, }: # In order for the geoip part to work, you need to set up a link from @@ -37,7 +38,12 @@ stdenv.mkDerivation rec { --replace /usr/share/GeoIP /var/lib/GeoIP ''; - nativeBuildInputs = [ meson ninja pkg-config ronn ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ronn + ]; buildInputs = [ geoip ]; diff --git a/pkgs/by-name/ip/iperf3d/package.nix b/pkgs/by-name/ip/iperf3d/package.nix index 93490be8e1532..53e343c6d4b74 100644 --- a/pkgs/by-name/ip/iperf3d/package.nix +++ b/pkgs/by-name/ip/iperf3d/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, makeWrapper, iperf3 }: +{ + lib, + fetchFromGitHub, + rustPlatform, + makeWrapper, + iperf3, +}: rustPlatform.buildRustPackage rec { pname = "iperf3d"; diff --git a/pkgs/by-name/ip/ipfetch/package.nix b/pkgs/by-name/ip/ipfetch/package.nix index 7f86c8a246faf..7f1e0fea425c1 100644 --- a/pkgs/by-name/ip/ipfetch/package.nix +++ b/pkgs/by-name/ip/ipfetch/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, bash, wget, makeWrapper }: +{ + stdenv, + lib, + fetchFromGitHub, + bash, + wget, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "ipfetch"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - buildInputs = [ bash wget ]; + buildInputs = [ + bash + wget + ]; nativeBuildInputs = [ makeWrapper ]; postPatch = '' patchShebangs --host ipfetch @@ -25,7 +35,10 @@ stdenv.mkDerivation rec { cp -r flags $out/usr/share/ipfetch/ cp ipfetch $out/bin/ipfetch wrapProgram $out/bin/ipfetch --prefix PATH : ${ - lib.makeBinPath [ bash wget ] + lib.makeBinPath [ + bash + wget + ] } ''; diff --git a/pkgs/by-name/ip/ipfs-cluster/package.nix b/pkgs/by-name/ip/ipfs-cluster/package.nix index c31e560384123..813f40030fa42 100644 --- a/pkgs/by-name/ip/ipfs-cluster/package.nix +++ b/pkgs/by-name/ip/ipfs-cluster/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ipfs-cluster"; @@ -17,6 +21,9 @@ buildGoModule rec { description = "Allocate, replicate, and track Pins across a cluster of IPFS daemons"; homepage = "https://ipfscluster.io"; license = licenses.mit; - maintainers = with maintainers; [ Luflosi jglukasik ]; + maintainers = with maintainers; [ + Luflosi + jglukasik + ]; }; } diff --git a/pkgs/by-name/ip/ipfs-upload-client/package.nix b/pkgs/by-name/ip/ipfs-upload-client/package.nix index a3d02d00c4187..cde82f861487c 100644 --- a/pkgs/by-name/ip/ipfs-upload-client/package.nix +++ b/pkgs/by-name/ip/ipfs-upload-client/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ipfs-upload-client"; diff --git a/pkgs/by-name/ip/ipget/package.nix b/pkgs/by-name/ip/ipget/package.nix index 2b402130dc166..93af9fef9526e 100644 --- a/pkgs/by-name/ip/ipget/package.nix +++ b/pkgs/by-name/ip/ipget/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ipget"; diff --git a/pkgs/by-name/ip/ipgrep/package.nix b/pkgs/by-name/ip/ipgrep/package.nix index 04f39f8d28fb4..42e8a9305614c 100644 --- a/pkgs/by-name/ip/ipgrep/package.nix +++ b/pkgs/by-name/ip/ipgrep/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { version = "1.0.1"; diff --git a/pkgs/by-name/ip/ipinfo/package.nix b/pkgs/by-name/ip/ipinfo/package.nix index 500b40120fc54..4adcd6b5e7f76 100644 --- a/pkgs/by-name/ip/ipinfo/package.nix +++ b/pkgs/by-name/ip/ipinfo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ip/iplan/package.nix b/pkgs/by-name/ip/iplan/package.nix index c58a23d88ec1d..018ba38d80ee0 100644 --- a/pkgs/by-name/ip/iplan/package.nix +++ b/pkgs/by-name/ip/iplan/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ip/ipmicfg/package.nix b/pkgs/by-name/ip/ipmicfg/package.nix index 91dc01060099c..cc8540c27163e 100644 --- a/pkgs/by-name/ip/ipmicfg/package.nix +++ b/pkgs/by-name/ip/ipmicfg/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "ipmicfg"; @@ -22,14 +26,14 @@ stdenv.mkDerivation rec { ln -s "$out/opt/ipmicfg/IPMICFG-Linux.x86_64" "$out/bin/ipmicfg" ''; - dontPatchShebangs = true; # There are no scripts and it complains about null bytes. + dontPatchShebangs = true; # There are no scripts and it complains about null bytes. - meta = with lib; { - description = "Supermicro IPMI configuration tool"; - homepage = "http://www.supermicro.com/products/nfo/ipmi.cfm"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ sorki ]; - }; + meta = with lib; { + description = "Supermicro IPMI configuration tool"; + homepage = "http://www.supermicro.com/products/nfo/ipmi.cfm"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ sorki ]; + }; } diff --git a/pkgs/by-name/ip/ipmiutil/package.nix b/pkgs/by-name/ip/ipmiutil/package.nix index cbc239b8c13a8..8d1aaec06331a 100644 --- a/pkgs/by-name/ip/ipmiutil/package.nix +++ b/pkgs/by-name/ip/ipmiutil/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, openssl }: +{ + lib, + stdenv, + fetchurl, + openssl, +}: stdenv.mkDerivation rec { pname = "ipmiutil"; diff --git a/pkgs/by-name/ip/ipmiview/package.nix b/pkgs/by-name/ip/ipmiview/package.nix index ff8db5339f65f..82c1de7528b86 100644 --- a/pkgs/by-name/ip/ipmiview/package.nix +++ b/pkgs/by-name/ip/ipmiview/package.nix @@ -1,15 +1,18 @@ -{ lib, stdenv -, fetchurl -, makeDesktopItem -, makeWrapper -, patchelf -, fontconfig -, freetype -, gcc -, gcc-unwrapped -, iputils -, psmisc -, xorg }: +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + makeWrapper, + patchelf, + fontconfig, + freetype, + gcc, + gcc-unwrapped, + iputils, + psmisc, + xorg, +}: stdenv.mkDerivation rec { pname = "IPMIView"; @@ -21,23 +24,39 @@ stdenv.mkDerivation rec { hash = "sha256-ZN0vadGbjGj9U2wPqvHLjS9fsk3DNCbXoNvzUfnn8IM="; }; - nativeBuildInputs = [ patchelf makeWrapper ]; - buildPhase = with xorg; + nativeBuildInputs = [ + patchelf + makeWrapper + ]; + buildPhase = + with xorg; let - stunnelBinary = if stdenv.hostPlatform.system == "x86_64-linux" then "linux/stunnel64" - else if stdenv.hostPlatform.system == "i686-linux" then "linux/stunnel32" - else throw "IPMIView is not supported on this platform"; + stunnelBinary = + if stdenv.hostPlatform.system == "x86_64-linux" then + "linux/stunnel64" + else if stdenv.hostPlatform.system == "i686-linux" then + "linux/stunnel32" + else + throw "IPMIView is not supported on this platform"; in - '' - runHook preBuild + '' + runHook preBuild - patchelf --set-rpath "${lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/libawt_xawt.so - patchelf --set-rpath "${lib.makeLibraryPath [ freetype ]}" ./jre/lib/libfontmanager.so - patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./BMCSecurity/${stunnelBinary} + patchelf --set-rpath "${ + lib.makeLibraryPath [ + libX11 + libXext + libXrender + libXtst + libXi + ] + }" ./jre/lib/libawt_xawt.so + patchelf --set-rpath "${lib.makeLibraryPath [ freetype ]}" ./jre/lib/libfontmanager.so + patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./BMCSecurity/${stunnelBinary} - runHook postBuild - ''; + runHook postBuild + ''; desktopItem = makeDesktopItem rec { name = "IPMIView"; @@ -60,7 +79,12 @@ stdenv.mkDerivation rec { # WORK_DIR: unfortunately the ikvm related binaries are loaded from # and user configuration is written to files in the CWD makeWrapper $out/jre/bin/java $out/bin/IPMIView \ - --set LD_LIBRARY_PATH "${lib.makeLibraryPath [ fontconfig gcc-unwrapped.lib ]}" \ + --set LD_LIBRARY_PATH "${ + lib.makeLibraryPath [ + fontconfig + gcc-unwrapped.lib + ] + }" \ --prefix PATH : "$out/jre/bin:${iputils}/bin:${psmisc}/bin" \ --add-flags "-jar $out/IPMIView20.jar" \ --run 'WORK_DIR=''${XDG_DATA_HOME:-~/.local/share}/ipmiview @@ -78,7 +102,10 @@ stdenv.mkDerivation rec { ]; license = licenses.unfree; maintainers = with maintainers; [ vlaci ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; mainProgram = "IPMIView"; }; } diff --git a/pkgs/by-name/ip/ipopt/package.nix b/pkgs/by-name/ip/ipopt/package.nix index a3c61816d25c7..c020598544a5b 100644 --- a/pkgs/by-name/ip/ipopt/package.nix +++ b/pkgs/by-name/ip/ipopt/package.nix @@ -1,13 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, blas -, lapack -, gfortran -, enableAMPL ? true, libamplsolver -, enableMUMPS ? true, mumps, mpi -, enableSPRAL ? true, spral +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + blas, + lapack, + gfortran, + enableAMPL ? true, + libamplsolver, + enableMUMPS ? true, + mumps, + mpi, + enableSPRAL ? true, + spral, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -23,23 +28,40 @@ stdenv.mkDerivation rec { sha256 = "sha256-ZuiZZMq7NzOm6CCJgMBgEWs8PEfM3pVr2yOWbS42l8U="; }; - CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ]; - - configureFlags = lib.optionals enableAMPL [ - "--with-asl-cflags=-I${libamplsolver}/include" - "--with-asl-lflags=-lamplsolver" - ] ++ lib.optionals enableMUMPS [ - "--with-mumps-cflags=-I${mumps}/include" - "--with-mumps-lflags=-ldmumps" - ] ++ lib.optionals enableSPRAL [ - "--with-spral-cflags=-I${spral}/include" - "--with-spral-lflags=-lspral" + CXXDEFS = [ + "-DHAVE_RAND" + "-DHAVE_CSTRING" + "-DHAVE_CSTDIO" ]; - nativeBuildInputs = [ pkg-config gfortran ]; - buildInputs = [ blas lapack ] + configureFlags = + lib.optionals enableAMPL [ + "--with-asl-cflags=-I${libamplsolver}/include" + "--with-asl-lflags=-lamplsolver" + ] + ++ lib.optionals enableMUMPS [ + "--with-mumps-cflags=-I${mumps}/include" + "--with-mumps-lflags=-ldmumps" + ] + ++ lib.optionals enableSPRAL [ + "--with-spral-cflags=-I${spral}/include" + "--with-spral-lflags=-lspral" + ]; + + nativeBuildInputs = [ + pkg-config + gfortran + ]; + buildInputs = + [ + blas + lapack + ] ++ lib.optionals enableAMPL [ libamplsolver ] - ++ lib.optionals enableMUMPS [ mumps mpi ] + ++ lib.optionals enableMUMPS [ + mumps + mpi + ] ++ lib.optionals enableSPRAL [ spral ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ip/ipp-usb/package.nix b/pkgs/by-name/ip/ipp-usb/package.nix index 0675f45aa0e46..3de9d3454e284 100644 --- a/pkgs/by-name/ip/ipp-usb/package.nix +++ b/pkgs/by-name/ip/ipp-usb/package.nix @@ -1,4 +1,12 @@ -{ buildGoModule, avahi, libusb1, pkg-config, lib, fetchFromGitHub, ronn }: +{ + buildGoModule, + avahi, + libusb1, + pkg-config, + lib, + fetchFromGitHub, + ronn, +}: buildGoModule rec { pname = "ipp-usb"; version = "0.9.28"; @@ -21,8 +29,14 @@ buildGoModule rec { done ''; - nativeBuildInputs = [ pkg-config ronn ]; - buildInputs = [ libusb1 avahi ]; + nativeBuildInputs = [ + pkg-config + ronn + ]; + buildInputs = [ + libusb1 + avahi + ]; vendorHash = null; diff --git a/pkgs/by-name/ip/iproute2/package.nix b/pkgs/by-name/ip/iproute2/package.nix index 923a5cc8b309b..1f33a1a545389 100644 --- a/pkgs/by-name/ip/iproute2/package.nix +++ b/pkgs/by-name/ip/iproute2/package.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchurl, fetchpatch -, buildPackages, bison, flex, pkg-config -, db, iptables, elfutils, libmnl ,libbpf -, gitUpdater, pkgsStatic +{ + lib, + stdenv, + fetchurl, + fetchpatch, + buildPackages, + bison, + flex, + pkg-config, + db, + iptables, + elfutils, + libmnl, + libbpf, + gitUpdater, + pkgsStatic, }: stdenv.mkDerivation rec { @@ -41,24 +53,31 @@ stdenv.mkDerivation rec { --replace "CC := gcc" "CC ?= $CC" ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = [ - "--color" "auto" + "--color" + "auto" ]; - makeFlags = [ - "PREFIX=$(out)" - "SBINDIR=$(out)/sbin" - "DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs - "HDRDIR=$(dev)/include/iproute2" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "SHARED_LIBS=n" - # all build .so plugins: - "TC_CONFIG_NO_XT=y" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "HOSTCC=$(CC_FOR_BUILD)" - ]; + makeFlags = + [ + "PREFIX=$(out)" + "SBINDIR=$(out)/sbin" + "DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs + "HDRDIR=$(dev)/include/iproute2" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "SHARED_LIBS=n" + # all build .so plugins: + "TC_CONFIG_NO_XT=y" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "HOSTCC=$(CC_FOR_BUILD)" + ]; buildFlags = [ "CONFDIR=/etc/iproute2" @@ -69,12 +88,22 @@ stdenv.mkDerivation rec { ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; # netem requires $HOSTCC - nativeBuildInputs = [ bison flex pkg-config ]; - buildInputs = [ db iptables libmnl ] + nativeBuildInputs = [ + bison + flex + pkg-config + ]; + buildInputs = + [ + db + iptables + libmnl + ] # needed to uploaded bpf programs ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ - elfutils libbpf - ]; + elfutils + libbpf + ]; enableParallelBuilding = true; @@ -91,6 +120,10 @@ stdenv.mkDerivation rec { description = "Collection of utilities for controlling TCP/IP networking and traffic control in Linux"; platforms = platforms.linux; license = licenses.gpl2Only; - maintainers = with maintainers; [ primeos fpletz globin ]; + maintainers = with maintainers; [ + primeos + fpletz + globin + ]; }; } diff --git a/pkgs/by-name/ip/iprover/package.nix b/pkgs/by-name/ip/iprover/package.nix index ad21323ec3e13..afcbae040bccc 100644 --- a/pkgs/by-name/ip/iprover/package.nix +++ b/pkgs/by-name/ip/iprover/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, ocamlPackages, eprover, z3, zlib }: +{ + lib, + stdenv, + fetchFromGitLab, + ocamlPackages, + eprover, + z3, + zlib, +}: stdenv.mkDerivation rec { pname = "iprover"; @@ -17,12 +25,23 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ eprover ] ++ (with ocamlPackages; [ - ocaml findlib - ]); - buildInputs = [ zlib ocamlPackages.z3 z3 ] ++ (with ocamlPackages; [ - ocamlgraph yojson zarith - ]); + nativeBuildInputs = + [ eprover ] + ++ (with ocamlPackages; [ + ocaml + findlib + ]); + buildInputs = + [ + zlib + ocamlPackages.z3 + z3 + ] + ++ (with ocamlPackages; [ + ocamlgraph + yojson + zarith + ]); preConfigure = "patchShebangs ."; @@ -39,7 +58,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Automated first-order logic theorem prover"; homepage = "http://www.cs.man.ac.uk/~korovink/iprover/"; - maintainers = with maintainers; [ raskin gebner ]; + maintainers = with maintainers; [ + raskin + gebner + ]; platforms = platforms.linux; license = licenses.gpl3; }; diff --git a/pkgs/by-name/ip/ipscan/package.nix b/pkgs/by-name/ip/ipscan/package.nix index 350f2525ffb69..47dd511afca93 100644 --- a/pkgs/by-name/ip/ipscan/package.nix +++ b/pkgs/by-name/ip/ipscan/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, jdk -, jre -, swt -, makeWrapper -, xorg -, dpkg -, gtk3 -, glib +{ + lib, + stdenv, + fetchurl, + jdk, + jre, + swt, + makeWrapper, + xorg, + dpkg, + gtk3, + glib, }: stdenv.mkDerivation rec { @@ -32,7 +33,14 @@ stdenv.mkDerivation rec { cp usr/lib/ipscan/ipscan-linux64-${version}.jar $out/share/${pname}-${version}.jar makeWrapper ${jre}/bin/java $out/bin/ipscan \ - --prefix LD_LIBRARY_PATH : "$out/lib/:${lib.makeLibraryPath [ swt xorg.libXtst gtk3 glib ]}" \ + --prefix LD_LIBRARY_PATH : "$out/lib/:${ + lib.makeLibraryPath [ + swt + xorg.libXtst + gtk3 + glib + ] + }" \ --add-flags "-Xmx256m -cp $out/share/${pname}-${version}.jar:${swt}/jars/swt.jar net.azib.ipscan.Main" mkdir -p $out/share/applications @@ -52,6 +60,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.gpl2Only; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ kylesferrazza totoroot ]; + maintainers = with maintainers; [ + kylesferrazza + totoroot + ]; }; } diff --git a/pkgs/by-name/ip/ipset/package.nix b/pkgs/by-name/ip/ipset/package.nix index 20a2b43143de5..4f1f4678863f5 100644 --- a/pkgs/by-name/ip/ipset/package.nix +++ b/pkgs/by-name/ip/ipset/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libmnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmnl, +}: stdenv.mkDerivation rec { pname = "ipset"; diff --git a/pkgs/by-name/ip/iptraf-ng/package.nix b/pkgs/by-name/ip/iptraf-ng/package.nix index 33f9a83dcded4..9984136a0676d 100644 --- a/pkgs/by-name/ip/iptraf-ng/package.nix +++ b/pkgs/by-name/ip/iptraf-ng/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { version = "1.2.2"; diff --git a/pkgs/by-name/ip/iptsd/package.nix b/pkgs/by-name/ip/iptsd/package.nix index 98c901da12658..850fc4a037787 100644 --- a/pkgs/by-name/ip/iptsd/package.nix +++ b/pkgs/by-name/ip/iptsd/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, meson -, ninja -, pkg-config -, cli11 -, eigen -, hidrd -, inih -, microsoft-gsl -, spdlog -, systemd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + meson, + ninja, + pkg-config, + cli11, + eigen, + hidrd, + inih, + microsoft-gsl, + spdlog, + systemd, }: stdenv.mkDerivation rec { @@ -59,7 +60,7 @@ stdenv.mkDerivation rec { "-Dservice_manager=systemd" "-Dsample_config=false" "-Ddebug_tools=" - "-Db_lto=false" # plugin needed to handle lto object -> undefined reference to ... + "-Db_lto=false" # plugin needed to handle lto object -> undefined reference to ... ]; meta = with lib; { @@ -68,7 +69,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/linux-surface/iptsd"; license = licenses.gpl2Plus; mainProgram = "iptsd"; - maintainers = with maintainers; [ tomberek dotlambda ]; + maintainers = with maintainers; [ + tomberek + dotlambda + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ip/iptstate/package.nix b/pkgs/by-name/ip/iptstate/package.nix index d1e193f831ca9..32352002aa8f7 100644 --- a/pkgs/by-name/ip/iptstate/package.nix +++ b/pkgs/by-name/ip/iptstate/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libnetfilter_conntrack, ncurses }: +{ + lib, + stdenv, + fetchurl, + libnetfilter_conntrack, + ncurses, +}: stdenv.mkDerivation rec { pname = "iptstate"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-iW3wYCiFRWomMfeV1jT8ITEeUF+MkQNI5jEoYPIJeVU="; }; - buildInputs = [ libnetfilter_conntrack ncurses ]; + buildInputs = [ + libnetfilter_conntrack + ncurses + ]; meta = with lib; { description = "Conntrack top like tool"; @@ -25,4 +34,3 @@ stdenv.mkDerivation rec { install -m755 -D iptstate $out/bin/iptstate ''; } - diff --git a/pkgs/by-name/ip/ipu6-camera-bins/package.nix b/pkgs/by-name/ip/ipu6-camera-bins/package.nix index 8ea3d96157a4d..e7ad1ff71a15a 100644 --- a/pkgs/by-name/ip/ipu6-camera-bins/package.nix +++ b/pkgs/by-name/ip/ipu6-camera-bins/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoPatchelfHook -, expat -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoPatchelfHook, + expat, + zlib, }: stdenv.mkDerivation (finalAttrs: rec { diff --git a/pkgs/by-name/ip/ipv6calc/package.nix b/pkgs/by-name/ip/ipv6calc/package.nix index 38bcd47f90f3c..23ea837c1f48e 100644 --- a/pkgs/by-name/ip/ipv6calc/package.nix +++ b/pkgs/by-name/ip/ipv6calc/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, getopt -, ip2location-c -, openssl -, perl -, libmaxminddb ? null -, geolite-legacy ? null +{ + lib, + stdenv, + fetchFromGitHub, + getopt, + ip2location-c, + openssl, + perl, + libmaxminddb ? null, + geolite-legacy ? null, }: stdenv.mkDerivation rec { @@ -36,21 +37,25 @@ stdenv.mkDerivation rec { done ''; - configureFlags = [ - "--prefix=${placeholder "out"}" - "--libdir=${placeholder "out"}/lib" - "--datadir=${placeholder "out"}/share" - "--disable-bundled-getopt" - "--disable-bundled-md5" - "--disable-dynamic-load" - "--enable-shared" - ] ++ lib.optionals (libmaxminddb != null) [ - "--enable-mmdb" - ] ++ lib.optionals (geolite-legacy != null) [ - "--with-geoip-db=${geolite-legacy}/share/GeoIP" - ] ++ lib.optionals (ip2location-c != null) [ - "--enable-ip2location" - ]; + configureFlags = + [ + "--prefix=${placeholder "out"}" + "--libdir=${placeholder "out"}/lib" + "--datadir=${placeholder "out"}/share" + "--disable-bundled-getopt" + "--disable-bundled-md5" + "--disable-dynamic-load" + "--enable-shared" + ] + ++ lib.optionals (libmaxminddb != null) [ + "--enable-mmdb" + ] + ++ lib.optionals (geolite-legacy != null) [ + "--with-geoip-db=${geolite-legacy}/share/GeoIP" + ] + ++ lib.optionals (ip2location-c != null) [ + "--enable-ip2location" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ip/ipvsadm/package.nix b/pkgs/by-name/ip/ipvsadm/package.nix index c6447e9a9b578..e73ecb554a237 100644 --- a/pkgs/by-name/ip/ipvsadm/package.nix +++ b/pkgs/by-name/ip/ipvsadm/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, libnl, popt, gnugrep }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libnl, + popt, + gnugrep, +}: stdenv.mkDerivation rec { pname = "ipvsadm"; @@ -14,7 +22,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libnl popt ]; + buildInputs = [ + libnl + popt + ]; # Disable parallel build, errors: # *** No rule to make target 'libipvs/libipvs.a', needed by 'ipvsadm'. Stop. diff --git a/pkgs/by-name/iq/iqtree/package.nix b/pkgs/by-name/iq/iqtree/package.nix index ce6218449a7e8..67fb7b145025f 100644 --- a/pkgs/by-name/iq/iqtree/package.nix +++ b/pkgs/by-name/iq/iqtree/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, eigen -, zlib -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + eigen, + zlib, + llvmPackages, }: stdenv.mkDerivation rec { @@ -22,13 +23,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ - boost - eigen - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.openmp - ]; + buildInputs = + [ + boost + eigen + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.openmp + ]; meta = with lib; { homepage = "http://www.iqtree.org/"; @@ -36,6 +39,9 @@ stdenv.mkDerivation rec { mainProgram = "iqtree2"; license = licenses.lgpl2; maintainers = with maintainers; [ bzizou ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/by-name/iq/iqueue/package.nix b/pkgs/by-name/iq/iqueue/package.nix index 7f5d5c4c069c5..4fa72e8eb8043 100644 --- a/pkgs/by-name/iq/iqueue/package.nix +++ b/pkgs/by-name/iq/iqueue/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libbsd, microsoft-gsl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libbsd, + microsoft-gsl, +}: stdenv.mkDerivation rec { pname = "iqueue"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { doCheck = true; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libbsd microsoft-gsl ]; + buildInputs = [ + libbsd + microsoft-gsl + ]; env.NIX_CFLAGS_COMPILE = toString [ # Needed with GCC 12 diff --git a/pkgs/by-name/ir/ir-standard-fonts/package.nix b/pkgs/by-name/ir/ir-standard-fonts/package.nix index d59c111c96b73..884d875c9ce6b 100644 --- a/pkgs/by-name/ir/ir-standard-fonts/package.nix +++ b/pkgs/by-name/ir/ir-standard-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "ir-standard-fonts"; diff --git a/pkgs/by-name/ir/irccat/package.nix b/pkgs/by-name/ir/irccat/package.nix index ce0ba4785ca70..e1851f473d184 100644 --- a/pkgs/by-name/ir/irccat/package.nix +++ b/pkgs/by-name/ir/irccat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "irccat"; diff --git a/pkgs/by-name/ir/irccloud/package.nix b/pkgs/by-name/ir/irccloud/package.nix index 4e41e1f865ecf..0d0fc8598b290 100644 --- a/pkgs/by-name/ir/irccloud/package.nix +++ b/pkgs/by-name/ir/irccloud/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, fetchurl, lib }: +{ + appimageTools, + fetchurl, + lib, +}: let pname = "irccloud"; @@ -13,7 +17,8 @@ let inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraPkgs = pkgs: [ pkgs.at-spi2-core ]; diff --git a/pkgs/by-name/ir/ircdHybrid/package.nix b/pkgs/by-name/ir/ircdHybrid/package.nix index c94dd2b9ff69f..2b06203956f40 100644 --- a/pkgs/by-name/ir/ircdHybrid/package.nix +++ b/pkgs/by-name/ir/ircdHybrid/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, openssl, zlib, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + openssl, + zlib, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "ircd-hybrid"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-lRrgMqsEqHtH5gIzngfg0Gtuh71aTrM087OVvhT3XkQ="; }; - buildInputs = [ openssl zlib libxcrypt ]; + buildInputs = [ + openssl + zlib + libxcrypt + ]; configureFlags = [ "--with-nicklen=100" diff --git a/pkgs/by-name/ir/ircdog/package.nix b/pkgs/by-name/ir/ircdog/package.nix index c2b1d5b2ee535..6e01484a01e57 100644 --- a/pkgs/by-name/ir/ircdog/package.nix +++ b/pkgs/by-name/ir/ircdog/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -25,5 +26,3 @@ buildGoModule rec { maintainers = with maintainers; [ hexa ]; }; } - - diff --git a/pkgs/by-name/ir/iredis/package.nix b/pkgs/by-name/ir/iredis/package.nix index 7521bab9d9a8c..ee9636a700e1f 100644 --- a/pkgs/by-name/ir/iredis/package.nix +++ b/pkgs/by-name/ir/iredis/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, python3 -, fetchFromGitHub +{ + lib, + stdenv, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -44,18 +45,20 @@ python3.pkgs.buildPythonApplication rec { pytestCheckHook ]; - pytestFlagsArray = [ - # Fails on sandbox - "--ignore=tests/unittests/test_client.py" - "--deselect=tests/unittests/test_render_functions.py::test_render_unixtime_config_raw" - "--deselect=tests/unittests/test_render_functions.py::test_render_time" - # Only execute unittests, because cli tests require a running Redis - "tests/unittests/" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Flaky tests - "--deselect=tests/unittests/test_entry.py::test_command_shell_options_higher_priority" - "--deselect=tests/unittests/test_utils.py::test_timer" - ]; + pytestFlagsArray = + [ + # Fails on sandbox + "--ignore=tests/unittests/test_client.py" + "--deselect=tests/unittests/test_render_functions.py::test_render_unixtime_config_raw" + "--deselect=tests/unittests/test_render_functions.py::test_render_time" + # Only execute unittests, because cli tests require a running Redis + "tests/unittests/" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Flaky tests + "--deselect=tests/unittests/test_entry.py::test_command_shell_options_higher_priority" + "--deselect=tests/unittests/test_utils.py::test_timer" + ]; pythonImportsCheck = [ "iredis" ]; diff --git a/pkgs/by-name/ir/irker/package.nix b/pkgs/by-name/ir/irker/package.nix index a3b6874ef1814..3db135fe21ad5 100644 --- a/pkgs/by-name/ir/irker/package.nix +++ b/pkgs/by-name/ir/irker/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitLab, python3, pkg-config -, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_412 }: +{ + lib, + stdenv, + fetchFromGitLab, + python3, + pkg-config, + xmlto, + docbook2x, + docbook_xsl, + docbook_xml_dtd_412, +}: stdenv.mkDerivation { pname = "irker"; @@ -12,7 +21,13 @@ stdenv.mkDerivation { sha256 = "1hslwqa0gqsnl3l6hd5hxpn0wlachxd51infifhlwhyhd6iwgx8p"; }; - nativeBuildInputs = [ pkg-config xmlto docbook2x docbook_xsl docbook_xml_dtd_412 ]; + nativeBuildInputs = [ + pkg-config + xmlto + docbook2x + docbook_xsl + docbook_xml_dtd_412 + ]; buildInputs = [ python3 diff --git a/pkgs/by-name/ir/ironwail/package.nix b/pkgs/by-name/ir/ironwail/package.nix index 6d7ab328155ae..f9a6a13e8e625 100644 --- a/pkgs/by-name/ir/ironwail/package.nix +++ b/pkgs/by-name/ir/ironwail/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, SDL2 -, fetchurl -, gzip -, libvorbis -, libmad -, flac -, libopus -, opusfile -, libogg -, curl -, libxmp -, mpg123 -, vulkan-headers -, vulkan-loader -, copyDesktopItems -, makeDesktopItem -, pkg-config +{ + lib, + stdenv, + SDL2, + fetchurl, + gzip, + libvorbis, + libmad, + flac, + libopus, + opusfile, + libogg, + curl, + libxmp, + mpg123, + vulkan-headers, + vulkan-loader, + copyDesktopItems, + makeDesktopItem, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ir/irpf/package.nix b/pkgs/by-name/ir/irpf/package.nix index c40ac4401ee6f..e947cbb2739f2 100644 --- a/pkgs/by-name/ir/irpf/package.nix +++ b/pkgs/by-name/ir/irpf/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenvNoCC -, fetchzip -, copyDesktopItems -, jdk11 -, makeDesktopItem -, makeWrapper -, unzip -, xdg-utils -, writeScript +{ + lib, + stdenvNoCC, + fetchzip, + copyDesktopItems, + jdk11, + makeDesktopItem, + makeWrapper, + unzip, + xdg-utils, + writeScript, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -16,12 +17,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { # https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf # Para outros sistemas operacionais -> Multi - src = let - year = lib.head (lib.splitVersion finalAttrs.version); - in fetchzip { - url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip"; - hash = "sha256-Pz8oI96GpLcHFEtnKUHnUHtZL3/QGhtG93ab5Au/tw0="; - }; + src = + let + year = lib.head (lib.splitVersion finalAttrs.version); + in + fetchzip { + url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip"; + hash = "sha256-Pz8oI96GpLcHFEtnKUHnUHtZL3/QGhtG93ab5Au/tw0="; + }; passthru.updateScript = writeScript "update-irpf" '' #!/usr/bin/env nix-shell @@ -33,7 +36,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { update-source-version irpf "$version" ''; - nativeBuildInputs = [ unzip makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + unzip + makeWrapper + copyDesktopItems + ]; desktopItems = [ (makeDesktopItem { @@ -82,7 +89,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = licenses.unfree; platforms = platforms.all; sourceProvenance = with sourceTypes; [ binaryBytecode ]; - maintainers = with maintainers; [ atila bryanasdev000 ]; + maintainers = with maintainers; [ + atila + bryanasdev000 + ]; mainProgram = "irpf"; }; }) diff --git a/pkgs/by-name/ir/irqbalance/package.nix b/pkgs/by-name/ir/irqbalance/package.nix index 48e2774aaa96b..5b97c72252903 100644 --- a/pkgs/by-name/ir/irqbalance/package.nix +++ b/pkgs/by-name/ir/irqbalance/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, ncurses, libcap_ng }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + glib, + ncurses, + libcap_ng, +}: stdenv.mkDerivation rec { pname = "irqbalance"; @@ -11,20 +20,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-7es7wwsPnDSF37uL5SCgAQB+u+qGWmWDHOh3JkHuXMs="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ glib ncurses libcap_ng ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + glib + ncurses + libcap_ng + ]; LDFLAGS = "-lncurses"; - postInstall = - '' - # Systemd service - mkdir -p $out/lib/systemd/system - grep -vi "EnvironmentFile" misc/irqbalance.service >$out/lib/systemd/system/irqbalance.service - substituteInPlace $out/lib/systemd/system/irqbalance.service \ - --replace /usr/sbin/irqbalance $out/bin/irqbalance \ - --replace ' $IRQBALANCE_ARGS' "" - ''; + postInstall = '' + # Systemd service + mkdir -p $out/lib/systemd/system + grep -vi "EnvironmentFile" misc/irqbalance.service >$out/lib/systemd/system/irqbalance.service + substituteInPlace $out/lib/systemd/system/irqbalance.service \ + --replace /usr/sbin/irqbalance $out/bin/irqbalance \ + --replace ' $IRQBALANCE_ARGS' "" + ''; meta = with lib; { homepage = "https://github.com/Irqbalance/irqbalance"; diff --git a/pkgs/by-name/is/isabelle/components/default.nix b/pkgs/by-name/is/isabelle/components/default.nix index dd7b605f56af0..4bd6ff6c47dae 100644 --- a/pkgs/by-name/is/isabelle/components/default.nix +++ b/pkgs/by-name/is/isabelle/components/default.nix @@ -1,5 +1,5 @@ { callPackage }: { - isabelle-linter = callPackage ./isabelle-linter.nix {}; + isabelle-linter = callPackage ./isabelle-linter.nix { }; } diff --git a/pkgs/by-name/is/isabelle/components/isabelle-linter.nix b/pkgs/by-name/is/isabelle/components/isabelle-linter.nix index bcf02c1489307..61a484a7f54b5 100644 --- a/pkgs/by-name/is/isabelle/components/isabelle-linter.nix +++ b/pkgs/by-name/is/isabelle/components/isabelle-linter.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, isabelle }: +{ + stdenv, + lib, + fetchFromGitHub, + isabelle, +}: stdenv.mkDerivation rec { pname = "isabelle-linter"; diff --git a/pkgs/by-name/is/iscc/package.nix b/pkgs/by-name/is/iscc/package.nix index 03f231ca365c9..cc402d9cbd464 100644 --- a/pkgs/by-name/is/iscc/package.nix +++ b/pkgs/by-name/is/iscc/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, fetchurl -, innoextract -, runtimeShell -, wineWow64Packages -, lib +{ + stdenv, + fetchurl, + innoextract, + runtimeShell, + wineWow64Packages, + lib, }: let @@ -52,7 +53,6 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { description = "Compiler for Inno Setup, a tool for creating Windows installers"; homepage = "https://jrsoftware.org/isinfo.php"; diff --git a/pkgs/by-name/is/ised/package.nix b/pkgs/by-name/is/ised/package.nix index ae3308013c7b6..df8953f42f466 100644 --- a/pkgs/by-name/is/ised/package.nix +++ b/pkgs/by-name/is/ised/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ised"; diff --git a/pkgs/by-name/is/iso-flags/package.nix b/pkgs/by-name/is/iso-flags/package.nix index 9deff6bcc77ec..adb215e1e103c 100644 --- a/pkgs/by-name/is/iso-flags/package.nix +++ b/pkgs/by-name/is/iso-flags/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenvNoCC -, fetchFromGitHub -, perl -, inkscape -, librsvg -, targets ? [ "all" ] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + perl, + inkscape, + librsvg, + targets ? [ "all" ], }: stdenvNoCC.mkDerivation { @@ -21,7 +23,12 @@ stdenvNoCC.mkDerivation { perl inkscape librsvg - (perl.withPackages(pp: with pp; [ JSON XMLLibXML ])) + (perl.withPackages ( + pp: with pp; [ + JSON + XMLLibXML + ] + )) ]; postPatch = '' diff --git a/pkgs/by-name/is/isocodes/package.nix b/pkgs/by-name/is/isocodes/package.nix index 29b0bff5e0ad7..297f40d1b70c5 100644 --- a/pkgs/by-name/is/isocodes/package.nix +++ b/pkgs/by-name/is/isocodes/package.nix @@ -1,15 +1,27 @@ -{ lib, stdenv, fetchurl, gettext, python3, testers }: +{ + lib, + stdenv, + fetchurl, + gettext, + python3, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "iso-codes"; version = "4.17.0"; src = fetchurl { - url = with finalAttrs; "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v${version}/${pname}-v${version}.tar.gz"; + url = + with finalAttrs; + "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v${version}/${pname}-v${version}.tar.gz"; hash = "sha256-3VyhPbd+xt0cwl9cAYQpCocOwf7SRdjjmgT/NPWQdsM="; }; - nativeBuildInputs = [ gettext python3 ]; + nativeBuildInputs = [ + gettext + python3 + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/is/isolate/package.nix b/pkgs/by-name/is/isolate/package.nix index a1d67c49d531d..18eef4c57a746 100644 --- a/pkgs/by-name/is/isolate/package.nix +++ b/pkgs/by-name/is/isolate/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, asciidoc -, libcap -, pkg-config -, systemdLibs -, installShellFiles -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + asciidoc, + libcap, + pkg-config, + systemdLibs, + installShellFiles, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/is/isolyzer/package.nix b/pkgs/by-name/is/isolyzer/package.nix index 6f231430fa86f..26b8ded3ca5f4 100644 --- a/pkgs/by-name/is/isolyzer/package.nix +++ b/pkgs/by-name/is/isolyzer/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -14,7 +15,10 @@ python3.pkgs.buildPythonApplication rec { sha256 = "sha256-NqkjnEwpaoyguG5GLscKS9UQGtF9N4jUL5JhrMtKCFE="; }; - propagatedBuildInputs = with python3.pkgs; [ setuptools six ]; + propagatedBuildInputs = with python3.pkgs; [ + setuptools + six + ]; meta = with lib; { homepage = "https://github.com/KBNLresearch/isolyzer"; diff --git a/pkgs/by-name/is/isomd5sum/package.nix b/pkgs/by-name/is/isomd5sum/package.nix index 62022066a6661..3f7c2b28b9d6a 100644 --- a/pkgs/by-name/is/isomd5sum/package.nix +++ b/pkgs/by-name/is/isomd5sum/package.nix @@ -1,6 +1,9 @@ -{ lib, stdenv, fetchFromGitHub -, python3 -, popt +{ + lib, + stdenv, + fetchFromGitHub, + python3, + popt, }: stdenv.mkDerivation rec { @@ -16,7 +19,7 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ python3 ]; - buildInputs = [ popt ] ; + buildInputs = [ popt ]; postPatch = '' substituteInPlace Makefile --replace "#/usr/" "#" @@ -28,7 +31,10 @@ stdenv.mkDerivation rec { makeFlags = [ "DESTDIR=${placeholder "out"}" ]; # we don't install python stuff as it borks up directories - installTargets = [ "install-bin" "install-devel" ]; + installTargets = [ + "install-bin" + "install-devel" + ]; meta = with lib; { homepage = "https://github.com/rhinstaller/isomd5sum"; diff --git a/pkgs/by-name/is/ispell/package.nix b/pkgs/by-name/is/ispell/package.nix index 844f35612ff44..7826fc9292976 100644 --- a/pkgs/by-name/is/ispell/package.nix +++ b/pkgs/by-name/is/ispell/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, bison, ncurses }: +{ + lib, + stdenv, + fetchurl, + bison, + ncurses, +}: stdenv.mkDerivation rec { pname = "ispell"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-F8kWM9TIB1rMUDFjoWRj/FSrHHRTKArTnNPbdceD66Y="; }; - buildInputs = [ bison ncurses ]; + buildInputs = [ + bison + ncurses + ]; postPatch = '' cat >> local.h <=2.28 (fetchpatch { - name = "add_sysmacros.patch"; - url = "https://sources.debian.org/data/main/j/jfsutils/1.1.15-4/debian/patches/add_sysmacros.patch"; + name = "add_sysmacros.patch"; + url = "https://sources.debian.org/data/main/j/jfsutils/1.1.15-4/debian/patches/add_sysmacros.patch"; sha256 = "1qcwvxs4d0d24w5x98z59arqfx2n7f0d9xaqhjcg6w8n34vkhnyc"; }) # fix for musl diff --git a/pkgs/by-name/jf/jftui/package.nix b/pkgs/by-name/jf/jftui/package.nix index e30ba77dd8738..7dc6ae4690bc1 100644 --- a/pkgs/by-name/jf/jftui/package.nix +++ b/pkgs/by-name/jf/jftui/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, curl -, mpv -, yajl +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + curl, + mpv, + yajl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/jg/jgmenu/package.nix b/pkgs/by-name/jg/jgmenu/package.nix index 55617ed4f651f..cfb7dfa241ef6 100644 --- a/pkgs/by-name/jg/jgmenu/package.nix +++ b/pkgs/by-name/jg/jgmenu/package.nix @@ -1,17 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, python3Packages -, pango -, librsvg -, libxml2 -, menu-cache -, xorg -, makeWrapper -, enableXfcePanelApplet ? false -, xfce -, gtk3 -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + python3Packages, + pango, + librsvg, + libxml2, + menu-cache, + xorg, + makeWrapper, + enableXfcePanelApplet ? false, + xfce, + gtk3, + gitUpdater, }: stdenv.mkDerivation rec { @@ -31,25 +33,28 @@ stdenv.mkDerivation rec { python3Packages.wrapPython ]; - buildInputs = [ - pango - librsvg - libxml2 - menu-cache - xorg.libXinerama - xorg.libXrandr - python3Packages.python - ] ++ lib.optionals enableXfcePanelApplet [ - gtk3 - xfce.libxfce4util - xfce.xfce4-panel - ]; + buildInputs = + [ + pango + librsvg + libxml2 + menu-cache + xorg.libXinerama + xorg.libXrandr + python3Packages.python + ] + ++ lib.optionals enableXfcePanelApplet [ + gtk3 + xfce.libxfce4util + xfce.xfce4-panel + ]; - configureFlags = [ - ] - ++ lib.optionals enableXfcePanelApplet [ - "--with-xfce4-panel-applet" - ]; + configureFlags = + [ + ] + ++ lib.optionals enableXfcePanelApplet [ + "--with-xfce4-panel-applet" + ]; postFixup = '' wrapPythonProgramsIn "$out/lib/jgmenu" diff --git a/pkgs/by-name/jh/jhead/package.nix b/pkgs/by-name/jh/jhead/package.nix index 391780a4df350..7e85789f4f210 100644 --- a/pkgs/by-name/jh/jhead/package.nix +++ b/pkgs/by-name/jh/jhead/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libjpeg }: +{ + lib, + stdenv, + fetchFromGitHub, + libjpeg, +}: stdenv.mkDerivation rec { pname = "jhead"; @@ -13,7 +18,11 @@ stdenv.mkDerivation rec { buildInputs = [ libjpeg ]; - makeFlags = [ "CPPFLAGS=" "CFLAGS=-O3" "LDFLAGS=" ]; + makeFlags = [ + "CPPFLAGS=" + "CFLAGS=-O3" + "LDFLAGS=" + ]; doCheck = true; checkPhase = '' diff --git a/pkgs/by-name/jh/jhiccup/package.nix b/pkgs/by-name/jh/jhiccup/package.nix index 453455dcd118c..82fed9e5d46de 100644 --- a/pkgs/by-name/jh/jhiccup/package.nix +++ b/pkgs/by-name/jh/jhiccup/package.nix @@ -1,16 +1,20 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "jhiccup"; version = "2.0.10"; src = fetchzip { - url = "https://www.azul.com/files/jHiccup-${version}-dist.zip"; + url = "https://www.azul.com/files/jHiccup-${version}-dist.zip"; sha256 = "1hsvi8wjh615fnjf75h7b5afp04chqcgvini30vfcn3m9a5icbgy"; }; dontConfigure = true; - buildPhase = ":"; + buildPhase = ":"; installPhase = '' mkdir -p $out/bin $out/share/java cp *.jar $out/share/java @@ -28,10 +32,10 @@ stdenv.mkDerivation rec { meta = { description = "Measure JVM application stalls and GC pauses"; - homepage = "https://www.azul.com/jhiccup/"; + homepage = "https://www.azul.com/jhiccup/"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.cc0; - platforms = lib.platforms.linux; + license = lib.licenses.cc0; + platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/ji/jid/package.nix b/pkgs/by-name/ji/jid/package.nix index 036224f86dd0e..f7af65b01f420 100644 --- a/pkgs/by-name/ji/jid/package.nix +++ b/pkgs/by-name/ji/jid/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, jid }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + jid, +}: buildGoModule rec { pname = "jid"; @@ -18,7 +24,10 @@ buildGoModule rec { ./go-mod.patch ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = jid; diff --git a/pkgs/by-name/ji/jigasi/package.nix b/pkgs/by-name/ji/jigasi/package.nix index cccf7c70ab321..a0a0ca2b2fa75 100644 --- a/pkgs/by-name/ji/jigasi/package.nix +++ b/pkgs/by-name/ji/jigasi/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, dpkg, jdk11, nixosTests }: +{ + lib, + stdenv, + fetchurl, + dpkg, + jdk11, + nixosTests, +}: let pname = "jigasi"; diff --git a/pkgs/by-name/ji/jigdo/package.nix b/pkgs/by-name/ji/jigdo/package.nix index 2bf1e193e5de6..aa0db0209160e 100644 --- a/pkgs/by-name/ji/jigdo/package.nix +++ b/pkgs/by-name/ji/jigdo/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, gettext -, bzip2 -, db -, zlib +{ + lib, + stdenv, + fetchurl, + gettext, + bzip2, + db, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ji/jigmo/package.nix b/pkgs/by-name/ji/jigmo/package.nix index ef70e0d5d7bc1..000d0388a5b38 100644 --- a/pkgs/by-name/ji/jigmo/package.nix +++ b/pkgs/by-name/ji/jigmo/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "jigmo"; diff --git a/pkgs/by-name/ji/jikespg/package.nix b/pkgs/by-name/ji/jikespg/package.nix index a6b64efb7fcf3..3651ebe315679 100644 --- a/pkgs/by-name/ji/jikespg/package.nix +++ b/pkgs/by-name/ji/jikespg/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "jikespg"; diff --git a/pkgs/by-name/ji/jimtcl/package.nix b/pkgs/by-name/ji/jimtcl/package.nix index 2215fcaa06f37..13181a2c0e5c9 100644 --- a/pkgs/by-name/ji/jimtcl/package.nix +++ b/pkgs/by-name/ji/jimtcl/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, asciidoc -, pkg-config -, inetutils -, tcl + asciidoc, + pkg-config, + inetutils, + tcl, -, sqlite -, readline -, SDL -, SDL_gfx -, openssl + sqlite, + readline, + SDL, + SDL_gfx, + openssl, -, SDLSupport ? true + SDLSupport ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -33,14 +34,16 @@ stdenv.mkDerivation (finalAttrs: { tcl ]; - buildInputs = [ - sqlite - readline - openssl - ] ++ (lib.optionals SDLSupport [ - SDL - SDL_gfx - ]); + buildInputs = + [ + sqlite + readline + openssl + ] + ++ (lib.optionals SDLSupport [ + SDL + SDL_gfx + ]); configureFlags = [ "--shared" @@ -75,6 +78,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "http://jim.tcl.tk/"; license = lib.licenses.bsd2; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ dbohdan fgaz ]; + maintainers = with lib.maintainers; [ + dbohdan + fgaz + ]; }; }) diff --git a/pkgs/by-name/ji/jinja2-cli/package.nix b/pkgs/by-name/ji/jinja2-cli/package.nix index fb322d161e003..2b1392b4ecde3 100644 --- a/pkgs/by-name/ji/jinja2-cli/package.nix +++ b/pkgs/by-name/ji/jinja2-cli/package.nix @@ -1,7 +1,14 @@ -{ lib -, python3 -, fetchFromGitHub -, extras ? [ "hjson" "json5" "toml" "xml" "yaml" ] +{ + lib, + python3, + fetchFromGitHub, + extras ? [ + "hjson" + "json5" + "toml" + "xml" + "yaml" + ], }: python3.pkgs.buildPythonApplication rec { @@ -25,9 +32,12 @@ python3.pkgs.buildPythonApplication rec { python3.pkgs.pytestCheckHook ]; - propagatedBuildInputs = with python3.pkgs; [ - jinja2 - ] ++ lib.attrVals extras optional-dependencies; + propagatedBuildInputs = + with python3.pkgs; + [ + jinja2 + ] + ++ lib.attrVals extras optional-dependencies; pythonImportsCheck = [ "jinja2cli" ]; diff --git a/pkgs/by-name/ji/jiq/package.nix b/pkgs/by-name/ji/jiq/package.nix index ed07a8d3c3447..4123eed592126 100644 --- a/pkgs/by-name/ji/jiq/package.nix +++ b/pkgs/by-name/ji/jiq/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, jq, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + jq, + makeWrapper, +}: buildGoModule rec { pname = "jiq"; diff --git a/pkgs/by-name/ji/jirafeau/package.nix b/pkgs/by-name/ji/jirafeau/package.nix index 96496ee83a641..8b38fb6061894 100644 --- a/pkgs/by-name/ji/jirafeau/package.nix +++ b/pkgs/by-name/ji/jirafeau/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, writeText, nixosTests }: +{ + lib, + stdenv, + fetchFromGitLab, + writeText, + nixosTests, +}: let localConfig = writeText "config.local.php" '' = 8 (latest version by default) -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk8, # the build script wants JAVA 8 for compilation + jre, # version can be >= 8 (latest version by default) + makeWrapper, + makeDesktopItem, + copyDesktopItems, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { @@ -57,7 +58,10 @@ stdenv.mkDerivation (finalAttrs: { icon = "jpsxdec"; desktopName = "jPSXdec"; comment = finalAttrs.meta.description; - categories = [ "AudioVideo" "Utility" ]; + categories = [ + "AudioVideo" + "Utility" + ]; }) ]; diff --git a/pkgs/by-name/jq/jq/package.nix b/pkgs/by-name/jq/jq/package.nix index 515923f78421c..900ba869f3525 100644 --- a/pkgs/by-name/jq/jq/package.nix +++ b/pkgs/by-name/jq/jq/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, removeReferencesTo -, autoreconfHook -, bison -, onigurumaSupport ? true -, oniguruma +{ + lib, + stdenv, + fetchurl, + removeReferencesTo, + autoreconfHook, + bison, + onigurumaSupport ? true, + oniguruma, }: stdenv.mkDerivation rec { @@ -18,7 +19,13 @@ stdenv.mkDerivation rec { hash = "sha256-R4ycoSn9LjRD/icxS0VeIR4NjGC8j/ffcDhz3u7lgMI="; }; - outputs = [ "bin" "doc" "man" "dev" "out" ]; + outputs = [ + "bin" + "doc" + "man" + "dev" + "out" + ]; # https://github.com/jqlang/jq/issues/2871 postPatch = lib.optionalString stdenv.hostPlatform.isFreeBSD '' @@ -41,7 +48,11 @@ stdenv.mkDerivation rec { ''; buildInputs = lib.optionals onigurumaSupport [ oniguruma ]; - nativeBuildInputs = [ removeReferencesTo autoreconfHook bison ]; + nativeBuildInputs = [ + removeReferencesTo + autoreconfHook + bison + ]; # Darwin requires _REENTRANT be defined to use functions like `lgamma_r`. # Otherwise, configure will detect that they’re in libm, but the build will fail @@ -52,14 +63,16 @@ stdenv.mkDerivation rec { "-D_DARWIN_C_SOURCE=1" ]); - configureFlags = [ - "--bindir=\${bin}/bin" - "--sbindir=\${bin}/bin" - "--datadir=\${doc}/share" - "--mandir=\${man}/share/man" - ] ++ lib.optional (!onigurumaSupport) "--with-oniguruma=no" - # jq is linked to libjq: - ++ lib.optional (!stdenv.hostPlatform.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}"; + configureFlags = + [ + "--bindir=\${bin}/bin" + "--sbindir=\${bin}/bin" + "--datadir=\${doc}/share" + "--mandir=\${man}/share/man" + ] + ++ lib.optional (!onigurumaSupport) "--with-oniguruma=no" + # jq is linked to libjq: + ++ lib.optional (!stdenv.hostPlatform.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}"; # jq binary includes the whole `configureFlags` in: # https://github.com/jqlang/jq/commit/583e4a27188a2db097dd043dd203b9c106bba100 @@ -87,7 +100,11 @@ stdenv.mkDerivation rec { description = "Lightweight and flexible command-line JSON processor"; homepage = "https://jqlang.github.io/jq/"; license = licenses.mit; - maintainers = with maintainers; [ raskin artturin ncfavier ]; + maintainers = with maintainers; [ + raskin + artturin + ncfavier + ]; platforms = platforms.unix; downloadPage = "https://jqlang.github.io/jq/download/"; mainProgram = "jq"; diff --git a/pkgs/by-name/jq/jqp/package.nix b/pkgs/by-name/jq/jqp/package.nix index 22fee1b4ee98f..eb4fe385a9cbf 100644 --- a/pkgs/by-name/jq/jqp/package.nix +++ b/pkgs/by-name/jq/jqp/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/jq/jquake/package.nix b/pkgs/by-name/jq/jquake/package.nix index 916a12db31507..98058134a059f 100644 --- a/pkgs/by-name/jq/jquake/package.nix +++ b/pkgs/by-name/jq/jquake/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl, copyDesktopItems, makeDesktopItem, unzip, jre8 -, logOutput ? false +{ + lib, + stdenv, + fetchurl, + copyDesktopItems, + makeDesktopItem, + unzip, + jre8, + logOutput ? false, }: stdenv.mkDerivation rec { @@ -11,14 +18,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-Q9R5Qhk8Qodw2d99nL2aG5WGpIyvKmjzfkRK7xJzoc0="; }; - nativeBuildInputs = [ unzip copyDesktopItems ]; + nativeBuildInputs = [ + unzip + copyDesktopItems + ]; sourceRoot = "."; postPatch = '' # JQuake emits a lot of debug-like messages on stdout. Either drop the output # stream entirely or log them at 'user.debug' level. - sed -i "/^java/ s/$/ ${if logOutput then "| logger -p user.debug" else "> \\/dev\\/null"}/" JQuake.sh + sed -i "/^java/ s/$/ ${ + if logOutput then "| logger -p user.debug" else "> \\/dev\\/null" + }/" JQuake.sh # By default, an 'errors.log' file is created in the current directory. # cd into a temporary directory and let it be created there. diff --git a/pkgs/by-name/jr/jrsonnet/package.nix b/pkgs/by-name/jr/jrsonnet/package.nix index 2031c006de6f9..a2db13c9b42fd 100644 --- a/pkgs/by-name/jr/jrsonnet/package.nix +++ b/pkgs/by-name/jr/jrsonnet/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles, stdenv }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "jrsonnet"; @@ -25,22 +31,27 @@ rustPlatform.buildRustPackage rec { "--skip=tests::native_ext" ]; - postInstall = '' - ln -s $out/bin/jrsonnet $out/bin/jsonnet + postInstall = + '' + ln -s $out/bin/jrsonnet $out/bin/jsonnet - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - for shell in bash zsh fish; do - installShellCompletion --cmd jrsonnet \ - --$shell <($out/bin/jrsonnet --generate $shell /dev/null) - installShellCompletion --cmd jsonnet \ - --$shell <($out/bin/jrsonnet --generate $shell /dev/null | sed s/jrsonnet/jsonnet/g) - done - ''; + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + for shell in bash zsh fish; do + installShellCompletion --cmd jrsonnet \ + --$shell <($out/bin/jrsonnet --generate $shell /dev/null) + installShellCompletion --cmd jsonnet \ + --$shell <($out/bin/jrsonnet --generate $shell /dev/null | sed s/jrsonnet/jsonnet/g) + done + ''; meta = with lib; { description = "Purely-functional configuration language that helps you define JSON data"; homepage = "https://github.com/CertainLach/jrsonnet"; license = licenses.mit; - maintainers = with maintainers; [ figsoda lach ]; + maintainers = with maintainers; [ + figsoda + lach + ]; }; } diff --git a/pkgs/by-name/js/jscoverage/package.nix b/pkgs/by-name/js/jscoverage/package.nix index a082614aece36..6b0044a6ef862 100644 --- a/pkgs/by-name/js/jscoverage/package.nix +++ b/pkgs/by-name/js/jscoverage/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, perl, python3, lib, stdenv, zip }: +{ + fetchurl, + perl, + python3, + lib, + stdenv, + zip, +}: stdenv.mkDerivation rec { pname = "jscoverage"; @@ -13,7 +20,11 @@ stdenv.mkDerivation rec { ./jsfalse_to_null.patch ]; - nativeBuildInputs = [ perl python3 zip ]; + nativeBuildInputs = [ + perl + python3 + zip + ]; strictDeps = true; @@ -21,31 +32,31 @@ stdenv.mkDerivation rec { # issue. Maybe we could kick js/ (spidermonkey) completely and # instead use our spidermonkey via nix. preConfigure = '' - sed -i 's/^MOZ_FIX_LINK_PATHS=.*$/MOZ_FIX_LINK_PATHS=""/' ./js/configure + sed -i 's/^MOZ_FIX_LINK_PATHS=.*$/MOZ_FIX_LINK_PATHS=""/' ./js/configure ''; meta = { description = "Code coverage for JavaScript"; longDescription = '' - JSCoverage is a tool that measures code coverage for JavaScript - programs. - - Code coverage statistics show which lines of a program have been - executed (and which have been missed). This information is useful - for constructing comprehensive test suites (hence, it is often - called test coverage). - - JSCoverage works by instrumenting the JavaScript code used in web - pages. Code coverage statistics are collected while the - instrumented JavaScript code is executed in a web browser. - - JSCoverage supports the complete language syntax described in the - ECMAScript Language Specification (ECMA-262, 3rd - edition). JSCoverage works with any modern standards-compliant web - browser - including Internet Explorer (IE 6, 7, and 8), Firefox, - Opera, Safari, and Google Chrome - on Microsoft Windows and - GNU/Linux. + JSCoverage is a tool that measures code coverage for JavaScript + programs. + + Code coverage statistics show which lines of a program have been + executed (and which have been missed). This information is useful + for constructing comprehensive test suites (hence, it is often + called test coverage). + + JSCoverage works by instrumenting the JavaScript code used in web + pages. Code coverage statistics are collected while the + instrumented JavaScript code is executed in a web browser. + + JSCoverage supports the complete language syntax described in the + ECMAScript Language Specification (ECMA-262, 3rd + edition). JSCoverage works with any modern standards-compliant web + browser - including Internet Explorer (IE 6, 7, and 8), Firefox, + Opera, Safari, and Google Chrome - on Microsoft Windows and + GNU/Linux. ''; homepage = "http://siliconforks.com/jscoverage/"; diff --git a/pkgs/by-name/js/jsduck/gemset.nix b/pkgs/by-name/js/jsduck/gemset.nix index 493cc42f4f4e2..25a0fdf7289fd 100644 --- a/pkgs/by-name/js/jsduck/gemset.nix +++ b/pkgs/by-name/js/jsduck/gemset.nix @@ -1,16 +1,22 @@ { dimensions = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0"; type = "gem"; }; version = "1.2.0"; }; jsduck = { - dependencies = ["dimensions" "json" "parallel" "rdiscount" "rkelly-remix"]; + dependencies = [ + "dimensions" + "json" + "parallel" + "rdiscount" + "rkelly-remix" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hac7g9g6gg10bigbm8dskwwbv1dfch8ca353gh2bkwf244qq2xr"; type = "gem"; }; @@ -18,7 +24,7 @@ }; json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; type = "gem"; }; @@ -26,7 +32,7 @@ }; parallel = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq"; type = "gem"; }; @@ -34,7 +40,7 @@ }; rdiscount = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vcyy90r6wfg0b0y5wqp3d25bdyqjbwjhkm1xy9jkz9a7j72n70v"; type = "gem"; }; @@ -42,7 +48,7 @@ }; rkelly-remix = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g7hjl9nx7f953y7lncmfgp0xgxfxvgfm367q6da9niik6rp1y3j"; type = "gem"; }; diff --git a/pkgs/by-name/js/jsduck/package.nix b/pkgs/by-name/js/jsduck/package.nix index debd33c807457..cbfba38ed8c96 100644 --- a/pkgs/by-name/js/jsduck/package.nix +++ b/pkgs/by-name/js/jsduck/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, bundlerEnv, makeWrapper, bundlerUpdateScript }: +{ + stdenv, + lib, + bundlerEnv, + makeWrapper, + bundlerUpdateScript, +}: stdenv.mkDerivation rec { pname = "jsduck"; @@ -26,9 +32,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Simple JavaScript Duckumentation generator"; mainProgram = "jsduck"; - homepage = "https://github.com/senchalabs/jsduck"; - license = with licenses; gpl3; - maintainers = with maintainers; [ periklis nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/senchalabs/jsduck"; + license = with licenses; gpl3; + maintainers = with maintainers; [ + periklis + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/js/jshon/package.nix b/pkgs/by-name/js/jshon/package.nix index 7e167aa729d27..db2b8c6574ab4 100644 --- a/pkgs/by-name/js/jshon/package.nix +++ b/pkgs/by-name/js/jshon/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, jansson }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + jansson, +}: stdenv.mkDerivation rec { pname = "jshon"; @@ -23,15 +29,13 @@ stdenv.mkDerivation rec { }) ]; - postPatch = - '' - substituteInPlace Makefile --replace "/usr/" "/" - ''; + postPatch = '' + substituteInPlace Makefile --replace "/usr/" "/" + ''; - preInstall = - '' - export DESTDIR=$out - ''; + preInstall = '' + export DESTDIR=$out + ''; meta = with lib; { homepage = "http://kmkeen.com/jshon"; diff --git a/pkgs/by-name/js/jsluice/package.nix b/pkgs/by-name/js/jsluice/package.nix index 18a386c94b0d1..635004f8640e4 100644 --- a/pkgs/by-name/js/jsluice/package.nix +++ b/pkgs/by-name/js/jsluice/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/js/json-fortran/package.nix b/pkgs/by-name/js/json-fortran/package.nix index c54965b386d98..e9ee0cda1c667 100644 --- a/pkgs/by-name/js/json-fortran/package.nix +++ b/pkgs/by-name/js/json-fortran/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, gfortran, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + cmake, +}: stdenv.mkDerivation rec { pname = "json-fortran"; diff --git a/pkgs/by-name/js/json-glib/package.nix b/pkgs/by-name/js/json-glib/package.nix index e3db856c23cdb..ba38e333430d3 100644 --- a/pkgs/by-name/js/json-glib/package.nix +++ b/pkgs/by-name/js/json-glib/package.nix @@ -1,30 +1,36 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, docutils -, glib -, meson -, mesonEmulatorHook -, ninja -, nixosTests -, pkg-config -, gettext -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, buildPackages -, gobject-introspection -, gi-docgen -, libxslt -, fixDarwinDylibNames -, gnome +{ + lib, + stdenv, + fetchurl, + fetchpatch, + docutils, + glib, + meson, + mesonEmulatorHook, + ninja, + nixosTests, + pkg-config, + gettext, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + buildPackages, + gobject-introspection, + gi-docgen, + libxslt, + fixDarwinDylibNames, + gnome, }: stdenv.mkDerivation rec { pname = "json-glib"; version = "1.10.0"; - outputs = [ "out" "dev" "installedTests" ] - ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "out" + "dev" + "installedTests" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -49,22 +55,26 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - docutils # for rst2man, rst2html5 - meson - ninja - pkg-config - gettext - glib - libxslt - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ] ++ lib.optionals withIntrospection [ - gobject-introspection - gi-docgen - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + docutils # for rst2man, rst2html5 + meson + ninja + pkg-config + gettext + glib + libxslt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + gi-docgen + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; propagatedBuildInputs = [ glib diff --git a/pkgs/by-name/js/json-plot/package.nix b/pkgs/by-name/js/json-plot/package.nix index b7d880ce42f22..7b0f08c523adc 100644 --- a/pkgs/by-name/js/json-plot/package.nix +++ b/pkgs/by-name/js/json-plot/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, buildGoModule +{ + lib, + fetchFromGitHub, + fetchpatch, + buildGoModule, }: buildGoModule rec { pname = "json-plot"; @@ -24,7 +25,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Dead simple terminal plots from JSON (or CSV) data. Bar charts, line charts, scatter plots, histograms and heatmaps are supported"; diff --git a/pkgs/by-name/js/json2hcl/package.nix b/pkgs/by-name/js/json2hcl/package.nix index 7255736cd500c..8c4883faa1ef1 100644 --- a/pkgs/by-name/js/json2hcl/package.nix +++ b/pkgs/by-name/js/json2hcl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "json2hcl"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-GxYuFak+5CJyHgC1/RsS0ub84bgmgL+bI4YKFTb+vIY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Convert JSON to HCL, and vice versa"; diff --git a/pkgs/by-name/js/json2tsv/package.nix b/pkgs/by-name/js/json2tsv/package.nix index 36d9d6edfa750..9b49c3fd927c5 100644 --- a/pkgs/by-name/js/json2tsv/package.nix +++ b/pkgs/by-name/js/json2tsv/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "json2tsv"; diff --git a/pkgs/by-name/js/json_c/package.nix b/pkgs/by-name/js/json_c/package.nix index 943712e2b8dba..099231be50177 100644 --- a/pkgs/by-name/js/json_c/package.nix +++ b/pkgs/by-name/js/json_c/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-R5KIJ0xVgGqffjzJaZvvvhAneJ+ZBuanyF6KYTTxb58="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/js/jsoncpp/package.nix b/pkgs/by-name/js/jsoncpp/package.nix index 4999fce4fdeae..0ca65befe5f89 100644 --- a/pkgs/by-name/js/jsoncpp/package.nix +++ b/pkgs/by-name/js/jsoncpp/package.nix @@ -1,18 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 -, validatePkgConfig -, secureMemory ? false -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + validatePkgConfig, + secureMemory ? false, + enableStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { pname = "jsoncpp"; version = "1.9.6"; - outputs = ["out" "dev"]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "open-source-parsers"; @@ -21,9 +25,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-3msc3B8NyF8PUlNaAHdUDfCpcUmz8JVW2X58USJ5HRw="; }; - /* During darwin bootstrap, we have a cp that doesn't understand the - * --reflink=auto flag, which is used in the default unpackPhase for dirs - */ + /* + During darwin bootstrap, we have a cp that doesn't understand the + --reflink=auto flag, which is used in the default unpackPhase for dirs + */ unpackPhase = '' cp -a ${src} ${src.name} chmod -R +w ${src.name} @@ -34,19 +39,26 @@ stdenv.mkDerivation rec { sed -i 's/#define JSONCPP_USING_SECURE_MEMORY 0/#define JSONCPP_USING_SECURE_MEMORY 1/' include/json/version.h ''; - nativeBuildInputs = [ cmake python3 validatePkgConfig ]; + nativeBuildInputs = [ + cmake + python3 + validatePkgConfig + ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DBUILD_OBJECT_LIBS=OFF" - "-DJSONCPP_WITH_CMAKE_PACKAGE=ON" - "-DBUILD_STATIC_LIBS=${if enableStatic then "ON" else "OFF"}" - ] + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_OBJECT_LIBS=OFF" + "-DJSONCPP_WITH_CMAKE_PACKAGE=ON" + "-DBUILD_STATIC_LIBS=${if enableStatic then "ON" else "OFF"}" + ] # the test's won't compile if secureMemory is used because there is no # comparison operators and conversion functions between # std::basic_string<..., Json::SecureAllocator> vs. # std::basic_string<..., [default allocator]> - ++ lib.optional ((stdenv.buildPlatform != stdenv.hostPlatform) || secureMemory) "-DJSONCPP_WITH_TESTS=OFF"; + ++ lib.optional ( + (stdenv.buildPlatform != stdenv.hostPlatform) || secureMemory + ) "-DJSONCPP_WITH_TESTS=OFF"; meta = with lib; { homepage = "https://github.com/open-source-parsers/jsoncpp"; diff --git a/pkgs/by-name/js/jsonfmt/package.nix b/pkgs/by-name/js/jsonfmt/package.nix index e098c8feea8fa..79b34ac1dbd6b 100644 --- a/pkgs/by-name/js/jsonfmt/package.nix +++ b/pkgs/by-name/js/jsonfmt/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, jsonfmt +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + jsonfmt, }: buildGoModule rec { diff --git a/pkgs/by-name/js/jsonnet-bundler/package.nix b/pkgs/by-name/js/jsonnet-bundler/package.nix index 3dedb2a41ac36..4750a17cd0cf1 100644 --- a/pkgs/by-name/js/jsonnet-bundler/package.nix +++ b/pkgs/by-name/js/jsonnet-bundler/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "jsonnet-bundler"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; meta = with lib; { description = "Jsonnet package manager"; diff --git a/pkgs/by-name/js/jsonnet-language-server/package.nix b/pkgs/by-name/js/jsonnet-language-server/package.nix index 3e348c342ae4b..f040834842695 100644 --- a/pkgs/by-name/js/jsonnet-language-server/package.nix +++ b/pkgs/by-name/js/jsonnet-language-server/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/js/jsonnet/package.nix b/pkgs/by-name/js/jsonnet/package.nix index 4dc7557d13798..498cf26dadf29 100644 --- a/pkgs/by-name/js/jsonnet/package.nix +++ b/pkgs/by-name/js/jsonnet/package.nix @@ -1,9 +1,19 @@ -{ stdenv, lib, jekyll, cmake, fetchFromGitHub, gtest }: +{ + stdenv, + lib, + jekyll, + cmake, + fetchFromGitHub, + gtest, +}: stdenv.mkDerivation rec { pname = "jsonnet"; version = "0.20.0"; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; src = fetchFromGitHub { rev = "v${version}"; @@ -12,15 +22,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-FtVJE9alEl56Uik+nCpJMV5DMVVmRCnE1xMAiWdK39Y="; }; - nativeBuildInputs = [ jekyll cmake ]; + nativeBuildInputs = [ + jekyll + cmake + ]; buildInputs = [ gtest ]; - cmakeFlags = [ - "-DUSE_SYSTEM_GTEST=ON" - "-DBUILD_STATIC_LIBS=${if stdenv.hostPlatform.isStatic then "ON" else "OFF"}" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "-DBUILD_SHARED_BINARIES=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; + cmakeFlags = + [ + "-DUSE_SYSTEM_GTEST=ON" + "-DBUILD_STATIC_LIBS=${if stdenv.hostPlatform.isStatic then "ON" else "OFF"}" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "-DBUILD_SHARED_BINARIES=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" + ]; # https://github.com/google/jsonnet/issues/778 patches = [ @@ -42,7 +57,10 @@ stdenv.mkDerivation rec { meta = { description = "Purely-functional configuration language that helps you define JSON data"; - maintainers = with lib.maintainers; [ benley copumpkin ]; + maintainers = with lib.maintainers; [ + benley + copumpkin + ]; license = lib.licenses.asl20; homepage = "https://github.com/google/jsonnet"; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/js/jsonrpc-glib/package.nix b/pkgs/by-name/js/jsonrpc-glib/package.nix index 8071fce57ef92..19035f75f9aff 100644 --- a/pkgs/by-name/js/jsonrpc-glib/package.nix +++ b/pkgs/by-name/js/jsonrpc-glib/package.nix @@ -1,22 +1,27 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, glib -, json-glib -, pkg-config -, gobject-introspection -, vala -, gi-docgen -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + glib, + json-glib, + pkg-config, + gobject-introspection, + vala, + gi-docgen, + gnome, }: stdenv.mkDerivation rec { pname = "jsonrpc-glib"; version = "3.44.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/js/jsonschema/package.nix b/pkgs/by-name/js/jsonschema/package.nix index f962c14776b24..3740cc4bccd68 100644 --- a/pkgs/by-name/js/jsonschema/package.nix +++ b/pkgs/by-name/js/jsonschema/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/js/jstest-gtk/package.nix b/pkgs/by-name/js/jstest-gtk/package.nix index 8fb45330e124d..5108dd18c834d 100644 --- a/pkgs/by-name/js/jstest-gtk/package.nix +++ b/pkgs/by-name/js/jstest-gtk/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, gtkmm3, libsigcxx, xorg }: +{ + stdenv, + lib, + fetchFromGitLab, + cmake, + pkg-config, + gtkmm3, + libsigcxx, + xorg, +}: stdenv.mkDerivation rec { pname = "jstest-gtk"; @@ -11,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "0icbbhrj5aqljhiavdy3hic60vp0zzfzyg0d6vpjaqkbzd5pv9d8"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ gtkmm3 libsigcxx xorg.libX11 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + gtkmm3 + libsigcxx + xorg.libX11 + ]; meta = with lib; { description = "Simple joystick tester based on Gtk+"; diff --git a/pkgs/by-name/js/jsubfinder/package.nix b/pkgs/by-name/js/jsubfinder/package.nix index c989c352ea053..e4664bd4b0a53 100644 --- a/pkgs/by-name/js/jsubfinder/package.nix +++ b/pkgs/by-name/js/jsubfinder/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/js/jsvc/package.nix b/pkgs/by-name/js/jsvc/package.nix index 2d01daabd01b3..5bc6ae6335b97 100644 --- a/pkgs/by-name/js/jsvc/package.nix +++ b/pkgs/by-name/js/jsvc/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, commonsDaemon, jdk, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + commonsDaemon, + jdk, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "jsvc"; @@ -10,7 +18,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ commonsDaemon ]; - nativeBuildInputs = [ jdk makeWrapper ]; + nativeBuildInputs = [ + jdk + makeWrapper + ]; preConfigure = '' cd ./src/native/unix/ @@ -31,10 +42,10 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://commons.apache.org/proper/commons-daemon"; + homepage = "https://commons.apache.org/proper/commons-daemon"; description = "Part of the Apache Commons Daemon software, a set of utilities and Java support classes for running Java applications as server processes"; maintainers = with lib.maintainers; [ rsynnest ]; - license = lib.licenses.asl20; + license = lib.licenses.asl20; platforms = with lib.platforms; unix; mainProgram = "jsvc"; }; diff --git a/pkgs/by-name/jt/jtag-remote-server/package.nix b/pkgs/by-name/jt/jtag-remote-server/package.nix index 7f29d1bfbeb92..62ec3bea30334 100644 --- a/pkgs/by-name/jt/jtag-remote-server/package.nix +++ b/pkgs/by-name/jt/jtag-remote-server/package.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchFromGitHub, lib, cmake, pkg-config, libftdi1 }: +{ + stdenv, + fetchFromGitHub, + lib, + cmake, + pkg-config, + libftdi1, +}: stdenv.mkDerivation rec { pname = "jtag-remote-server"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-qtgO0BO2hvWi/E2RzGTTuQynKbh7/OLeoLcm60dqro8="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libftdi1 ]; meta = with lib; { diff --git a/pkgs/by-name/jt/jtc/package.nix b/pkgs/by-name/jt/jtc/package.nix index f368a460463d7..5820a21e5e93a 100644 --- a/pkgs/by-name/jt/jtc/package.nix +++ b/pkgs/by-name/jt/jtc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "jtc"; diff --git a/pkgs/by-name/jt/jtdx/package.nix b/pkgs/by-name/jt/jtdx/package.nix index 09f88ddf0f5c4..018ed5d53c057 100644 --- a/pkgs/by-name/jt/jtdx/package.nix +++ b/pkgs/by-name/jt/jtdx/package.nix @@ -1,4 +1,9 @@ -{ wsjtx, fetchgit, qt5, lib }: +{ + wsjtx, + fetchgit, + qt5, + lib, +}: wsjtx.overrideAttrs (old: { pname = "jtdx"; version = "unstable-2022-03-01"; @@ -10,7 +15,11 @@ wsjtx.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ qt5.qtwebsockets ]; meta = { description = "wsjtx fork with some extra features"; - maintainers = with lib.maintainers; [ matthewcroughan sarcasticadmin pkharvey ]; + maintainers = with lib.maintainers; [ + matthewcroughan + sarcasticadmin + pkharvey + ]; homepage = "https://github.com/jtdx-project/jtdx"; }; }) diff --git a/pkgs/by-name/ju/judy/package.nix b/pkgs/by-name/ju/judy/package.nix index 618aee4984669..8d2918cc5a539 100644 --- a/pkgs/by-name/ju/judy/package.nix +++ b/pkgs/by-name/ju/judy/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkgsBuildBuild, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + pkgsBuildBuild, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "judy"; diff --git a/pkgs/by-name/ju/jugglinglab/package.nix b/pkgs/by-name/ju/jugglinglab/package.nix index f8f7a3fb37fdf..a391cac9205b8 100644 --- a/pkgs/by-name/ju/jugglinglab/package.nix +++ b/pkgs/by-name/ju/jugglinglab/package.nix @@ -1,19 +1,22 @@ -{ lib -, stdenv -, maven -, fetchFromGitHub -, makeWrapper -, wrapGAppsHook3 -, jre +{ + lib, + stdenv, + maven, + fetchFromGitHub, + makeWrapper, + wrapGAppsHook3, + jre, }: let - platformName = { - "x86_64-linux" = "linux-x86-64"; - "aarch64-linux" = "linux-aarch64"; - "x86_64-darwin" = "darwin-x86-64"; - "aarch64-darwin" = "darwin-aarch64"; - }.${stdenv.system} or null; + platformName = + { + "x86_64-linux" = "linux-x86-64"; + "aarch64-linux" = "linux-aarch64"; + "x86_64-darwin" = "darwin-x86-64"; + "aarch64-darwin" = "darwin-aarch64"; + } + .${stdenv.system} or null; in maven.buildMavenPackage rec { pname = "jugglinglab"; @@ -67,7 +70,10 @@ maven.buildMavenPackage rec { homepage = "https://jugglinglab.org/"; license = licenses.gpl2Only; mainProgram = "jugglinglab"; - maintainers = with maintainers; [ wnklmnn tomasajt ]; + maintainers = with maintainers; [ + wnklmnn + tomasajt + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ju/juju/package.nix b/pkgs/by-name/ju/juju/package.nix index e570976e5c0c9..5a0981cbd09b2 100644 --- a/pkgs/by-name/ju/juju/package.nix +++ b/pkgs/by-name/ju/juju/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles, testers, juju }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, + testers, + juju, +}: buildGoModule rec { pname = "juju"; diff --git a/pkgs/by-name/ju/jujuutils/package.nix b/pkgs/by-name/ju/jujuutils/package.nix index 8c5dabf66a900..7cfb5340415d3 100644 --- a/pkgs/by-name/ju/jujuutils/package.nix +++ b/pkgs/by-name/ju/jujuutils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, linuxHeaders }: +{ + lib, + stdenv, + fetchurl, + linuxHeaders, +}: stdenv.mkDerivation rec { pname = "jujuutils"; diff --git a/pkgs/by-name/ju/julia-mono/package.nix b/pkgs/by-name/ju/julia-mono/package.nix index 132d0b87a2479..c465e2a48ea4f 100644 --- a/pkgs/by-name/ju/julia-mono/package.nix +++ b/pkgs/by-name/ju/julia-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "JuliaMono-ttf"; diff --git a/pkgs/by-name/ju/julius/package.nix b/pkgs/by-name/ju/julius/package.nix index 6c85b45b0e102..429d34420baad 100644 --- a/pkgs/by-name/ju/julius/package.nix +++ b/pkgs/by-name/ju/julius/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, SDL2_mixer -, cmake -, libpng -, darwin -, apple-sdk_11 -, libicns -, imagemagick +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_mixer, + cmake, + libpng, + darwin, + apple-sdk_11, + libicns, + imagemagick, }: stdenv.mkDerivation rec { pname = "julius"; @@ -27,13 +28,15 @@ stdenv.mkDerivation rec { ./darwin-fixes.patch ]; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.sigtool - libicns - imagemagick - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.sigtool + libicns + imagemagick + ]; buildInputs = [ SDL2 @@ -53,7 +56,10 @@ stdenv.mkDerivation rec { description = "Open source re-implementation of Caesar III"; mainProgram = "julius"; license = licenses.agpl3Only; - maintainers = with maintainers; [ Thra11 matteopacini ]; + maintainers = with maintainers; [ + Thra11 + matteopacini + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ju/jumanpp/package.nix b/pkgs/by-name/ju/jumanpp/package.nix index 5dff6f6f48afa..6f0ca2599757a 100644 --- a/pkgs/by-name/ju/jumanpp/package.nix +++ b/pkgs/by-name/ju/jumanpp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, protobuf, libiconv }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + protobuf, + libiconv, +}: stdenv.mkDerivation rec { pname = "jumanpp"; @@ -31,8 +39,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DJPP_ENABLE_TESTS=OFF" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ protobuf ] - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + buildInputs = [ protobuf ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; meta = with lib; { description = "Japanese morphological analyser using a recurrent neural network language model (RNNLM)"; diff --git a/pkgs/by-name/ju/jump/package.nix b/pkgs/by-name/ju/jump/package.nix index c16d1e738226f..02b97d03a839e 100644 --- a/pkgs/by-name/ju/jump/package.nix +++ b/pkgs/by-name/ju/jump/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, lib, installShellFiles }: +{ + buildGoModule, + fetchFromGitHub, + lib, + installShellFiles, +}: buildGoModule rec { pname = "jump"; @@ -15,7 +20,10 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installManPage man/j.1 man/jump.1 diff --git a/pkgs/by-name/ju/jumpapp/package.nix b/pkgs/by-name/ju/jumpapp/package.nix index 5d7bfb635ef58..fd6a3b8c72767 100644 --- a/pkgs/by-name/ju/jumpapp/package.nix +++ b/pkgs/by-name/ju/jumpapp/package.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, perl, pandoc, fetchFromGitHub, xdotool, wmctrl, xprop, nettools }: +{ + stdenv, + lib, + perl, + pandoc, + fetchFromGitHub, + xdotool, + wmctrl, + xprop, + nettools, +}: stdenv.mkDerivation rec { pname = "jumpapp"; @@ -12,15 +22,25 @@ stdenv.mkDerivation rec { }; makeFlags = [ "PREFIX=$(out)" ]; - nativeBuildInputs = [ pandoc perl ]; - buildInputs = [ xdotool wmctrl xprop nettools perl ]; - postFixup = let - runtimePath = lib.makeBinPath buildInputs; - in - '' - sed -i "2 i export PATH=${runtimePath}:\$PATH" $out/bin/jumpapp - sed -i "2 i export PATH=${perl}/bin:\$PATH" $out/bin/jumpappify-desktop-entry - ''; + nativeBuildInputs = [ + pandoc + perl + ]; + buildInputs = [ + xdotool + wmctrl + xprop + nettools + perl + ]; + postFixup = + let + runtimePath = lib.makeBinPath buildInputs; + in + '' + sed -i "2 i export PATH=${runtimePath}:\$PATH" $out/bin/jumpapp + sed -i "2 i export PATH=${perl}/bin:\$PATH" $out/bin/jumpappify-desktop-entry + ''; meta = { homepage = "https://github.com/mkropat/jumpapp"; diff --git a/pkgs/by-name/ju/jumpnbump/package.nix b/pkgs/by-name/ju/jumpnbump/package.nix index b2f6a646c65f3..9272fe41c5e8f 100644 --- a/pkgs/by-name/ju/jumpnbump/package.nix +++ b/pkgs/by-name/ju/jumpnbump/package.nix @@ -1,16 +1,23 @@ -{ lib, stdenv -, fetchFromGitLab -, fetchzip -, SDL2, SDL2_mixer, SDL2_net -, gtk3, gobject-introspection -, python3Packages -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitLab, + fetchzip, + SDL2, + SDL2_mixer, + SDL2_net, + gtk3, + gobject-introspection, + python3Packages, + wrapGAppsHook3, }: -let data = fetchzip { - url = "https://mirandir.pagesperso-orange.fr/files/additional-levels.tar.xz"; - sha256 = "167hisscsbldrwrs54gq6446shl8h26qdqigmfg0lq3daynqycg2"; -}; in +let + data = fetchzip { + url = "https://mirandir.pagesperso-orange.fr/files/additional-levels.tar.xz"; + sha256 = "167hisscsbldrwrs54gq6446shl8h26qdqigmfg0lq3daynqycg2"; + }; +in stdenv.mkDerivation rec { pname = "jumpnbump"; @@ -27,8 +34,17 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; - nativeBuildInputs = [ python3Packages.wrapPython wrapGAppsHook3 gobject-introspection ]; - buildInputs = [ SDL2 SDL2_mixer SDL2_net gtk3 ]; + nativeBuildInputs = [ + python3Packages.wrapPython + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = [ + SDL2 + SDL2_mixer + SDL2_net + gtk3 + ]; postInstall = '' make -C menu PREFIX=$out all install @@ -37,7 +53,10 @@ stdenv.mkDerivation rec { sed -ie 's+Exec=jumpnbump+Exec=jumpnbump-menu+' $out/share/applications/jumpnbump.desktop ''; - pythonPath = with python3Packages; [ pygobject3 pillow ]; + pythonPath = with python3Packages; [ + pygobject3 + pillow + ]; preFixup = '' buildPythonPath "$out $pythonPath" ''; @@ -47,9 +66,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "cute, true multiplayer platform game with bunnies"; - homepage = "https://libregames.gitlab.io/jumpnbump/"; - license = licenses.gpl2Plus; + homepage = "https://libregames.gitlab.io/jumpnbump/"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ iblech ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ju/jumppad/package.nix b/pkgs/by-name/ju/jumppad/package.nix index 837d0156018ea..40eb38f2fa470 100644 --- a/pkgs/by-name/ju/jumppad/package.nix +++ b/pkgs/by-name/ju/jumppad/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "jumppad"; diff --git a/pkgs/by-name/ju/jumpy/package.nix b/pkgs/by-name/ju/jumpy/package.nix index 7040aa4e34019..cabd27fddbca0 100644 --- a/pkgs/by-name/ju/jumpy/package.nix +++ b/pkgs/by-name/ju/jumpy/package.nix @@ -1,17 +1,18 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeWrapper -, pkg-config -, zstd -, stdenv -, alsa-lib -, libxkbcommon -, udev -, vulkan-loader -, wayland -, xorg -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + pkg-config, + zstd, + stdenv, + alsa-lib, + libxkbcommon, + udev, + vulkan-loader, + wayland, + xorg, + darwin, }: rustPlatform.buildRustPackage rec { @@ -39,24 +40,30 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - zstd - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - libxkbcommon - udev - vulkan-loader - wayland - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXrandr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Cocoa - rustPlatform.bindgenHook - ]; + buildInputs = + [ + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libxkbcommon + udev + vulkan-loader + wayland + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Cocoa + rustPlatform.bindgenHook + ]; - cargoBuildFlags = [ "--bin" "jumpy" ]; + cargoBuildFlags = [ + "--bin" + "jumpy" + ]; env = { ZSTD_SYS_USE_PKG_CONFIG = true; @@ -80,7 +87,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "jumpy"; homepage = "https://fishfight.org/"; changelog = "https://github.com/fishfolk/jumpy/releases/tag/v${version}"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ju/junction-font/package.nix b/pkgs/by-name/ju/junction-font/package.nix index ea6d8b4576594..33932a2a180e4 100644 --- a/pkgs/by-name/ju/junction-font/package.nix +++ b/pkgs/by-name/ju/junction-font/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "junction"; diff --git a/pkgs/by-name/ju/junction/package.nix b/pkgs/by-name/ju/junction/package.nix index cf03a315b2cfa..98afa534c6a65 100644 --- a/pkgs/by-name/ju/junction/package.nix +++ b/pkgs/by-name/ju/junction/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream-glib -, blueprint-compiler -, desktop-file-utils -, gobject-introspection -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, gjs -, gtk4 -, libadwaita -, libportal-gtk4 +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + blueprint-compiler, + desktop-file-utils, + gobject-introspection, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + gjs, + gtk4, + libadwaita, + libportal-gtk4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ju/junest/package.nix b/pkgs/by-name/ju/junest/package.nix index 4f2d89f9f6a00..60f25062bf714 100644 --- a/pkgs/by-name/ju/junest/package.nix +++ b/pkgs/by-name/ju/junest/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, stdenvNoCC, wget }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, + wget, +}: stdenvNoCC.mkDerivation rec { pname = "junest"; @@ -36,4 +41,3 @@ stdenvNoCC.mkDerivation rec { platforms = lib.platforms.linux; }; } - diff --git a/pkgs/by-name/ju/junicode/package.nix b/pkgs/by-name/ju/junicode/package.nix index 5d88b2c0aed6d..77ef17a6fcdca 100644 --- a/pkgs/by-name/ju/junicode/package.nix +++ b/pkgs/by-name/ju/junicode/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchzip, texlive, callPackage }: +{ + lib, + stdenvNoCC, + fetchzip, + texlive, + callPackage, +}: stdenvNoCC.mkDerivation rec { pname = "junicode"; @@ -9,7 +15,11 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-hdCDLwTiyE2ZpFgmYAX7YWCujUwozIozD+k/lCStJUg="; }; - outputs = [ "out" "doc" "tex" ]; + outputs = [ + "out" + "doc" + "tex" + ]; patches = [ ./tex-font-path.patch ]; @@ -37,7 +47,10 @@ stdenvNoCC.mkDerivation rec { ''; passthru = { - tlDeps = with texlive; [ xkeyval fontspec ]; + tlDeps = with texlive; [ + xkeyval + fontspec + ]; tests = callPackage ./tests.nix { }; }; diff --git a/pkgs/by-name/ju/junicode/tests.nix b/pkgs/by-name/ju/junicode/tests.nix index 831e60796d12f..80cd28ec99d5a 100644 --- a/pkgs/by-name/ju/junicode/tests.nix +++ b/pkgs/by-name/ju/junicode/tests.nix @@ -1,29 +1,49 @@ -{ lib, runCommand, junicode, texliveBasic }: +{ + lib, + runCommand, + junicode, + texliveBasic, +}: let - texliveWithJunicode = texliveBasic.withPackages (p: [ p.xetex junicode ]); + texliveWithJunicode = texliveBasic.withPackages (p: [ + p.xetex + junicode + ]); - texTest = { package, tex, fonttype, file }: + texTest = + { + package, + tex, + fonttype, + file, + }: lib.attrsets.nameValuePair "${package}-${tex}-${fonttype}" ( runCommand "${package}-test-${tex}-${fonttype}.pdf" { nativeBuildInputs = [ texliveWithJunicode ]; inherit tex fonttype file; - } '' - substituteAll $file test.tex - HOME=$PWD $tex test.tex - cp test.pdf $out - ''); + } + '' + substituteAll $file test.tex + HOME=$PWD $tex test.tex + cp test.pdf $out + '' + ); in builtins.listToAttrs ( - lib.mapCartesianProduct texTest - { - tex = [ "xelatex" "lualatex" ]; - fonttype = [ "ttf" "otf" ]; - package = [ "junicode" ]; - file = [ ./test.tex ]; - } - ++ - [ + lib.mapCartesianProduct texTest { + tex = [ + "xelatex" + "lualatex" + ]; + fonttype = [ + "ttf" + "otf" + ]; + package = [ "junicode" ]; + file = [ ./test.tex ]; + } + ++ [ (texTest { package = "junicodevf"; fonttype = "ttf"; diff --git a/pkgs/by-name/ju/junkie/package.nix b/pkgs/by-name/ju/junkie/package.nix index ac20577b5f358..40a80f4dad30d 100644 --- a/pkgs/by-name/ju/junkie/package.nix +++ b/pkgs/by-name/ju/junkie/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libpcap, guile_2_2, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libpcap, + guile_2_2, + openssl, +}: stdenv.mkDerivation rec { pname = "junkie"; @@ -25,8 +35,15 @@ stdenv.mkDerivation rec { sed -i '10i#undef IP_DONTFRAG' include/junkie/proto/ip.h ''; - buildInputs = [ libpcap guile_2_2 openssl ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + libpcap + guile_2_2 + openssl + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; configureFlags = [ "GUILELIBDIR=\${out}/${guile_2_2.siteDir}" "GUILECACHEDIR=\${out}/${guile_2_2.siteCcacheDir}" diff --git a/pkgs/by-name/ju/juno-theme/package.nix b/pkgs/by-name/ju/juno-theme/package.nix index 9e1580a6a14df..ffbb0524b9210 100644 --- a/pkgs/by-name/ju/juno-theme/package.nix +++ b/pkgs/by-name/ju/juno-theme/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchurl, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "juno"; diff --git a/pkgs/by-name/ju/jupp/package.nix b/pkgs/by-name/ju/jupp/package.nix index 72e82da61ddad..7ef4c878658eb 100644 --- a/pkgs/by-name/ju/jupp/package.nix +++ b/pkgs/by-name/ju/jupp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, gpm +{ + lib, + stdenv, + fetchurl, + ncurses, + gpm, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ju/just/package.nix b/pkgs/by-name/ju/just/package.nix index 8a501f1e6c609..bd2ab0edcc81c 100644 --- a/pkgs/by-name/ju/just/package.nix +++ b/pkgs/by-name/ju/just/package.nix @@ -1,19 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, bashInteractive -, coreutils -, installShellFiles -, libiconv -, mdbook -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + bashInteractive, + coreutils, + installShellFiles, + libiconv, + mdbook, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "just"; version = "1.37.0"; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; src = fetchFromGitHub { owner = "casey"; @@ -24,7 +29,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-/uWxYxczTOlUs2wOCCn5wwbGETHwIqdDI2mb/h4xVxQ="; - nativeBuildInputs = [ installShellFiles mdbook ]; + nativeBuildInputs = [ + installShellFiles + mdbook + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; preCheck = '' @@ -99,7 +107,10 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/casey/just/blob/${version}/CHANGELOG.md"; description = "Handy way to save and run project-specific commands"; license = licenses.cc0; - maintainers = with maintainers; [ xrelkd jk ]; + maintainers = with maintainers; [ + xrelkd + jk + ]; mainProgram = "just"; }; } diff --git a/pkgs/by-name/ju/justify/package.nix b/pkgs/by-name/ju/justify/package.nix index 86de7365663e1..9e2aea2025e65 100644 --- a/pkgs/by-name/ju/justify/package.nix +++ b/pkgs/by-name/ju/justify/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitea -, cmake +{ + lib, + stdenv, + fetchFromGitea, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/jw/jwasm/package.nix b/pkgs/by-name/jw/jwasm/package.nix index eaf30e58356e0..a069cbda51d6c 100644 --- a/pkgs/by-name/jw/jwasm/package.nix +++ b/pkgs/by-name/jw/jwasm/package.nix @@ -10,12 +10,15 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "Baron-von-Riedesel"; - repo = "JWasm"; + repo = "JWasm"; rev = "v${finalAttrs.version}"; hash = "sha256-xbiyGBTzIkAfUy45JdAl77gbvArzVUQNPOxa+H2uGFo="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; dontConfigure = true; diff --git a/pkgs/by-name/jw/jwx/package.nix b/pkgs/by-name/jw/jwx/package.nix index 411256dec35ba..4f3b16cdebd7d 100644 --- a/pkgs/by-name/jw/jwx/package.nix +++ b/pkgs/by-name/jw/jwx/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -23,6 +24,9 @@ buildGoModule rec { mainProgram = "jwx"; homepage = "https://github.com/lestrrat-go/jwx"; license = licenses.mit; - maintainers = with maintainers; [ arianvp flokli ]; + maintainers = with maintainers; [ + arianvp + flokli + ]; }; } diff --git a/pkgs/by-name/jx/jxplorer/package.nix b/pkgs/by-name/jx/jxplorer/package.nix index e7bd11e5f1d05..eea1c6a6a7de1 100644 --- a/pkgs/by-name/jx/jxplorer/package.nix +++ b/pkgs/by-name/jx/jxplorer/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, jdk8, copyDesktopItems, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + jdk8, + copyDesktopItems, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "jxplorer"; @@ -42,10 +50,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Java Ldap Browser"; - homepage = "https://sourceforge.net/projects/jxplorer/"; - license = lib.licenses.caossl; + homepage = "https://sourceforge.net/projects/jxplorer/"; + license = lib.licenses.caossl; maintainers = with maintainers; [ benwbooth ]; - platforms = platforms.linux; + platforms = platforms.linux; mainProgram = "jxplorer"; }; } diff --git a/pkgs/by-name/jy/jython/package.nix b/pkgs/by-name/jy/jython/package.nix index 83852d91760bf..d3a6bd32af5d1 100644 --- a/pkgs/by-name/jy/jython/package.nix +++ b/pkgs/by-name/jy/jython/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "jython"; @@ -15,9 +21,9 @@ stdenv.mkDerivation rec { dontUnpack = true; installPhase = '' - mkdir -pv $out/bin - cp $src $out/jython.jar - makeWrapper ${jre}/bin/java $out/bin/jython --add-flags "-jar $out/jython.jar" + mkdir -pv $out/bin + cp $src $out/jython.jar + makeWrapper ${jre}/bin/java $out/bin/jython --add-flags "-jar $out/jython.jar" ''; meta = { diff --git a/pkgs/by-name/k0/k0sctl/package.nix b/pkgs/by-name/k0/k0sctl/package.nix index 8ce83a38f217d..4714882bd2feb 100644 --- a/pkgs/by-name/k0/k0sctl/package.nix +++ b/pkgs/by-name/k0/k0sctl/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, k0sctl +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + k0sctl, }: buildGoModule rec { @@ -49,6 +50,9 @@ buildGoModule rec { changelog = "https://github.com/k0sproject/k0sctl/releases/tag/v${version}"; license = licenses.asl20; mainProgram = "k0sctl"; - maintainers = with maintainers; [ nickcao qjoly ]; + maintainers = with maintainers; [ + nickcao + qjoly + ]; }; } diff --git a/pkgs/by-name/k2/k2tf/package.nix b/pkgs/by-name/k2/k2tf/package.nix index 0da0d51f3bc45..1bf631353dcbb 100644 --- a/pkgs/by-name/k2/k2tf/package.nix +++ b/pkgs/by-name/k2/k2tf/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "k2tf"; @@ -22,7 +27,12 @@ buildGoModule rec { vendorHash = "sha256-yGuoE1bgwVHk3ym382OC93me9HPlVoNgGo/3JROVC2E="; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=v${version}" + ]; meta = with lib; { description = "Kubernetes YAML to Terraform HCL converter"; diff --git a/pkgs/by-name/k4/k40-whisperer/package.nix b/pkgs/by-name/k4/k40-whisperer/package.nix index 5893ceb920f5b..fe659cbe19c62 100644 --- a/pkgs/by-name/k4/k40-whisperer/package.nix +++ b/pkgs/by-name/k4/k40-whisperer/package.nix @@ -1,27 +1,31 @@ -{ stdenv -, makeWrapper -, writeText -, python3 -, fetchzip -, inkscape -, lib -, udevGroup ? "k40" +{ + stdenv, + makeWrapper, + writeText, + python3, + fetchzip, + inkscape, + lib, + udevGroup ? "k40", }: let - pythonEnv = python3.withPackages (ps: with ps; [ - lxml - pyusb - pillow - pyclipper - tkinter - ]); + pythonEnv = python3.withPackages ( + ps: with ps; [ + lxml + pyusb + pillow + pyclipper + tkinter + ] + ); udevRule = writeText "k40-whisperer.rules" '' SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="${udevGroup}" ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "k40-whisperer"; version = "0.68"; @@ -71,4 +75,3 @@ in stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/k6/k6/package.nix b/pkgs/by-name/k6/k6/package.nix index 3f47e50b6c9d8..12057e640e354 100644 --- a/pkgs/by-name/k6/k6/package.nix +++ b/pkgs/by-name/k6/k6/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "k6"; @@ -35,6 +41,10 @@ buildGoModule rec { homepage = "https://k6.io/"; changelog = "https://github.com/grafana/k6/releases/tag/v${version}"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ offline bryanasdev000 kashw2 ]; + maintainers = with maintainers; [ + offline + bryanasdev000 + kashw2 + ]; }; } diff --git a/pkgs/by-name/ka/kabeljau/package.nix b/pkgs/by-name/ka/kabeljau/package.nix index 58d35ddecb0f3..0c43141bb7c89 100644 --- a/pkgs/by-name/ka/kabeljau/package.nix +++ b/pkgs/by-name/ka/kabeljau/package.nix @@ -1,4 +1,13 @@ -{ stdenvNoCC, lib, fetchFromGitea, just, imagemagick, makeWrapper, bash, dialog }: +{ + stdenvNoCC, + lib, + fetchFromGitea, + just, + imagemagick, + makeWrapper, + bash, + dialog, +}: stdenvNoCC.mkDerivation rec { pname = "kabeljau"; @@ -13,7 +22,11 @@ stdenvNoCC.mkDerivation rec { }; # Inkscape is needed in a just recipe where it is used to export the SVG icon to several different sized PNGs. - nativeBuildInputs = [ just imagemagick makeWrapper ]; + nativeBuildInputs = [ + just + imagemagick + makeWrapper + ]; postPatch = '' patchShebangs --host ${pname} ''; @@ -21,9 +34,7 @@ stdenvNoCC.mkDerivation rec { runHook preInstall just --set bin-path $out/bin --set share-path $out/share linux-install - wrapProgram $out/bin/${pname} --suffix PATH : ${ - lib.makeBinPath [ dialog ] - } + wrapProgram $out/bin/${pname} --suffix PATH : ${lib.makeBinPath [ dialog ]} runHook postInstall ''; diff --git a/pkgs/by-name/ka/kacst/package.nix b/pkgs/by-name/ka/kacst/package.nix index aa5ed8b547da8..28f364021b604 100644 --- a/pkgs/by-name/ka/kacst/package.nix +++ b/pkgs/by-name/ka/kacst/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "kacst"; diff --git a/pkgs/by-name/ka/kaf/package.nix b/pkgs/by-name/ka/kaf/package.nix index eb098c2728734..06a37660017d4 100644 --- a/pkgs/by-name/ka/kaf/package.nix +++ b/pkgs/by-name/ka/kaf/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kaf"; diff --git a/pkgs/by-name/ka/kafka-cmak/package.nix b/pkgs/by-name/ka/kafka-cmak/package.nix index ee77800e3f88c..d2913e230a884 100644 --- a/pkgs/by-name/ka/kafka-cmak/package.nix +++ b/pkgs/by-name/ka/kafka-cmak/package.nix @@ -42,7 +42,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = with lib; { description = "Cluster Manager for Apache Kafka, previously known as Kafka Manager"; license = licenses.apsl20; - maintainers = with maintainers; [cafkafk]; + maintainers = with maintainers; [ cafkafk ]; platforms = lib.platforms.unix; mainProgram = "cmak"; }; diff --git a/pkgs/by-name/ka/kafka-delta-ingest/package.nix b/pkgs/by-name/ka/kafka-delta-ingest/package.nix index 3cd2cc5903635..2ae7edfb8bd97 100644 --- a/pkgs/by-name/ka/kafka-delta-ingest/package.nix +++ b/pkgs/by-name/ka/kafka-delta-ingest/package.nix @@ -29,9 +29,12 @@ rustPlatform.buildRustPackage { perl ]; - buildFeatures = [ - "dynamic-linking" - ] ++ lib.optional enableS3 "s3" ++ lib.optional enableAzure "azure"; + buildFeatures = + [ + "dynamic-linking" + ] + ++ lib.optional enableS3 "s3" + ++ lib.optional enableAzure "azure"; buildInputs = [ openssl diff --git a/pkgs/by-name/ka/kafkactl/package.nix b/pkgs/by-name/ka/kafkactl/package.nix index 808060f41f54e..673cbdd137395 100644 --- a/pkgs/by-name/ka/kafkactl/package.nix +++ b/pkgs/by-name/ka/kafkactl/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ka/kail/package.nix b/pkgs/by-name/ka/kail/package.nix index 809aa6a757b5b..c252233957636 100644 --- a/pkgs/by-name/ka/kail/package.nix +++ b/pkgs/by-name/ka/kail/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kail"; @@ -23,7 +27,10 @@ buildGoModule rec { description = "Kubernetes log viewer"; homepage = "https://github.com/boz/kail"; license = licenses.mit; - maintainers = with maintainers; [ offline vdemeester ]; + maintainers = with maintainers; [ + offline + vdemeester + ]; mainProgram = "kail"; }; } diff --git a/pkgs/by-name/ka/kaitai-struct-compiler/package.nix b/pkgs/by-name/ka/kaitai-struct-compiler/package.nix index 2fd4fba11e3b0..7dcb250f2b40a 100644 --- a/pkgs/by-name/ka/kaitai-struct-compiler/package.nix +++ b/pkgs/by-name/ka/kaitai-struct-compiler/package.nix @@ -1,11 +1,11 @@ -{ lib -, stdenv -, fetchzip -, openjdk8 -, makeWrapper +{ + lib, + stdenv, + fetchzip, + openjdk8, + makeWrapper, }: - stdenv.mkDerivation rec { pname = "kaitai-struct-compiler"; version = "0.10"; @@ -21,16 +21,14 @@ stdenv.mkDerivation rec { install -D $src/bin/kaitai-struct-compiler $out/bin/kaitai-struct-compiler ln -s $out/bin/kaitai-struct-compiler $out/bin/ksc cp -R $src/lib $out/lib - wrapProgram $out/bin/kaitai-struct-compiler --prefix PATH : ${lib.makeBinPath [ openjdk8 ] } + wrapProgram $out/bin/kaitai-struct-compiler --prefix PATH : ${lib.makeBinPath [ openjdk8 ]} ''; meta = with lib; { homepage = "https://github.com/kaitai-io/kaitai_struct_compiler"; - description = - "Compiler to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Perl / PHP / Python / Ruby "; + description = "Compiler to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Perl / PHP / Python / Ruby "; license = licenses.gpl3Only; maintainers = with maintainers; [ qubasa ]; platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/ka/kakasi/package.nix b/pkgs/by-name/ka/kakasi/package.nix index 9e0cc95bff4ff..af749f436f29b 100644 --- a/pkgs/by-name/ka/kakasi/package.nix +++ b/pkgs/by-name/ka/kakasi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libiconv }: +{ + lib, + stdenv, + fetchurl, + libiconv, +}: stdenv.mkDerivation rec { pname = "kakasi"; @@ -13,9 +18,9 @@ stdenv.mkDerivation rec { characters to Hiragana, Katakana or Romaji and may be helpful to read Japanese documents. ''; - homepage = "http://kakasi.namazu.org/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; + homepage = "http://kakasi.namazu.org/"; + license = licenses.gpl2Plus; + platforms = platforms.unix; }; src = fetchurl { diff --git a/pkgs/by-name/ka/kalamine/package.nix b/pkgs/by-name/ka/kalamine/package.nix index 6f7ae19795aa7..adfdc494077b2 100644 --- a/pkgs/by-name/ka/kalamine/package.nix +++ b/pkgs/by-name/ka/kalamine/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ka/kalibrate-hackrf/package.nix b/pkgs/by-name/ka/kalibrate-hackrf/package.nix index 1d821bba4adfc..268e1721544d2 100644 --- a/pkgs/by-name/ka/kalibrate-hackrf/package.nix +++ b/pkgs/by-name/ka/kalibrate-hackrf/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, fftw, hackrf, libusb1 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + fftw, + hackrf, + libusb1, +}: stdenv.mkDerivation { pname = "kalibrate-hackrf"; @@ -13,9 +22,16 @@ stdenv.mkDerivation { sha256 = "1jvn1qx7csgycxpx1k804sm9gk5a0c65z9gh8ybp9awq3pziv0nx"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ fftw hackrf libusb1 ]; + buildInputs = [ + fftw + hackrf + libusb1 + ]; postInstall = '' mv $out/bin/kal $out/bin/kal-hackrf diff --git a/pkgs/by-name/ka/kalibrate-rtl/package.nix b/pkgs/by-name/ka/kalibrate-rtl/package.nix index b463faa4a255d..b47098890156d 100644 --- a/pkgs/by-name/ka/kalibrate-rtl/package.nix +++ b/pkgs/by-name/ka/kalibrate-rtl/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, fftw, rtl-sdr, libusb1 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + fftw, + rtl-sdr, + libusb1, +}: stdenv.mkDerivation { pname = "kalibrate-rtl"; @@ -11,9 +20,16 @@ stdenv.mkDerivation { sha256 = "n9mfu8H2OS8dKPNhtJxBfMDp8aHEIcxg/R+kcRNOBpk="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ fftw rtl-sdr libusb1 ]; + buildInputs = [ + fftw + rtl-sdr + libusb1 + ]; meta = with lib; { description = "Calculate local oscillator frequency offset in RTL-SDR devices"; @@ -26,7 +42,10 @@ stdenv.mkDerivation { ''; homepage = "https://github.com/steve-m/kalibrate-rtl"; license = licenses.bsd2; - maintainers = with maintainers; [ bjornfor viraptor ]; + maintainers = with maintainers; [ + bjornfor + viraptor + ]; mainProgram = "kal"; platforms = platforms.linux ++ platforms.darwin; }; diff --git a/pkgs/by-name/ka/kalign/package.nix b/pkgs/by-name/ka/kalign/package.nix index 4dc720290adce..d33398fc668fe 100644 --- a/pkgs/by-name/ka/kalign/package.nix +++ b/pkgs/by-name/ka/kalign/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, llvmPackages -, enableSse4_1 ? stdenv.hostPlatform.sse4_1Support -, enableAvx ? stdenv.hostPlatform.avxSupport -, enableAvx2 ? stdenv.hostPlatform.avx2Support +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + llvmPackages, + enableSse4_1 ? stdenv.hostPlatform.sse4_1Support, + enableAvx ? stdenv.hostPlatform.avxSupport, + enableAvx2 ? stdenv.hostPlatform.avx2Support, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ka/kalker/package.nix b/pkgs/by-name/ka/kalker/package.nix index 2d142da60bc2a..3b6721205d4cb 100644 --- a/pkgs/by-name/ka/kalker/package.nix +++ b/pkgs/by-name/ka/kalker/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, gmp -, mpfr -, libmpc +{ + lib, + rustPlatform, + fetchFromGitHub, + gmp, + mpfr, + libmpc, }: rustPlatform.buildRustPackage rec { @@ -19,9 +20,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-hgtSDPQRrqhQALqzVW8z9xXqIv+v5/Sbs6McrUCKiaU="; - buildInputs = [ gmp mpfr libmpc ]; + buildInputs = [ + gmp + mpfr + libmpc + ]; - outputs = [ "out" "lib" ]; + outputs = [ + "out" + "lib" + ]; postInstall = '' moveToOutput "lib" "$lib" @@ -38,7 +46,10 @@ rustPlatform.buildRustPackage rec { variables, functions, derivation, integration, and complex numbers ''; license = licenses.mit; - maintainers = with maintainers; [ figsoda lovesegfault ]; + maintainers = with maintainers; [ + figsoda + lovesegfault + ]; mainProgram = "kalker"; }; } diff --git a/pkgs/by-name/ka/kamailio/package.nix b/pkgs/by-name/ka/kamailio/package.nix index 8cb83c6088285..c83d81c31ed9a 100644 --- a/pkgs/by-name/ka/kamailio/package.nix +++ b/pkgs/by-name/ka/kamailio/package.nix @@ -1,22 +1,23 @@ -{ callPackage -, fetchurl -, lib -, stdenv -, pkg-config -, which -, bison -, flex -, json_c -, libevent -, libxml2 -, mariadb-connector-c -, pcre -, gnugrep -, gawk -, coreutils -, gdb -, gnused -, openssl +{ + callPackage, + fetchurl, + lib, + stdenv, + pkg-config, + which, + bison, + flex, + json_c, + libevent, + libxml2, + mariadb-connector-c, + pcre, + gnugrep, + gawk, + coreutils, + gdb, + gnused, + openssl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ka/kamid/package.nix b/pkgs/by-name/ka/kamid/package.nix index 24060a0c1c00d..0b8924270b050 100644 --- a/pkgs/by-name/ka/kamid/package.nix +++ b/pkgs/by-name/ka/kamid/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, pkg-config -, libevent -, libressl -, libbsd -, fetchurl -, readline +{ + stdenv, + lib, + pkg-config, + libevent, + libressl, + libbsd, + fetchurl, + readline, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ka/kamilalisp/package.nix b/pkgs/by-name/ka/kamilalisp/package.nix index 5b4d392d62f75..ca898af855549 100644 --- a/pkgs/by-name/ka/kamilalisp/package.nix +++ b/pkgs/by-name/ka/kamilalisp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, jre -, makeWrapper +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ka/kana/package.nix b/pkgs/by-name/ka/kana/package.nix index e0260d1363d68..78902b4c2fca3 100644 --- a/pkgs/by-name/ka/kana/package.nix +++ b/pkgs/by-name/ka/kana/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitLab -, rustPlatform -, meson -, ninja -, pkg-config -, rustc -, cargo -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita -, gst_all_1 -, darwin +{ + lib, + stdenv, + fetchFromGitLab, + rustPlatform, + meson, + ninja, + pkg-config, + rustc, + cargo, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + gst_all_1, + darwin, }: stdenv.mkDerivation rec { @@ -43,25 +44,25 @@ stdenv.mkDerivation rec { desktop-file-utils ]; - buildInputs = [ - libadwaita - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-bad - gst-plugins-good - ]) ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + libadwaita + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-bad + gst-plugins-good + ]) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; # Workaround for the gettext-sys issue # https://github.com/Koka/gettext-rs/issues/114 - env.NIX_CFLAGS_COMPILE = lib.optionalString - ( - stdenv.cc.isClang && - lib.versionAtLeast stdenv.cc.version "16" - ) - "-Wno-error=incompatible-function-pointer-types"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" + ) "-Wno-error=incompatible-function-pointer-types"; meta = with lib; { description = "Learn Japanese hiragana and katakana characters"; diff --git a/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix b/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix index 590994dabbffc..4f33ec40c7979 100644 --- a/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix +++ b/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, gtk-engine-murrine +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + gtk-engine-murrine, }: stdenvNoCC.mkDerivation { pname = "kanagawa-gtk-theme"; diff --git a/pkgs/by-name/ka/kanagawa-icon-theme/package.nix b/pkgs/by-name/ka/kanagawa-icon-theme/package.nix index 7761e4788a34c..42573489d134a 100644 --- a/pkgs/by-name/ka/kanagawa-icon-theme/package.nix +++ b/pkgs/by-name/ka/kanagawa-icon-theme/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, hicolor-icon-theme +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + hicolor-icon-theme, }: stdenvNoCC.mkDerivation { pname = "kanagawa-icon-theme"; diff --git a/pkgs/by-name/ka/kanata/package.nix b/pkgs/by-name/ka/kanata/package.nix index e18019c45cb01..08df492acd721 100644 --- a/pkgs/by-name/ka/kanata/package.nix +++ b/pkgs/by-name/ka/kanata/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, darwin -, rustPlatform -, fetchFromGitHub -, jq -, moreutils -, versionCheckHook -, nix-update-script -, withCmd ? false +{ + stdenv, + lib, + darwin, + rustPlatform, + fetchFromGitHub, + jq, + moreutils, + versionCheckHook, + nix-update-script, + withCmd ? false, }: rustPlatform.buildRustPackage rec { @@ -65,7 +66,10 @@ rustPlatform.buildRustPackage rec { description = "Tool to improve keyboard comfort and usability with advanced customization"; homepage = "https://github.com/jtroo/kanata"; license = licenses.lgpl3Only; - maintainers = with maintainers; [ bmanuel linj ]; + maintainers = with maintainers; [ + bmanuel + linj + ]; platforms = platforms.unix; mainProgram = "kanata"; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/ka/kanif/package.nix b/pkgs/by-name/ka/kanif/package.nix index b4bb69dc1f625..5a2658c6247bc 100644 --- a/pkgs/by-name/ka/kanif/package.nix +++ b/pkgs/by-name/ka/kanif/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl , taktuk}: +{ + lib, + stdenv, + fetchurl, + perl, + taktuk, +}: stdenv.mkDerivation rec { version = "1.2.2"; @@ -10,8 +16,8 @@ stdenv.mkDerivation rec { }; preBuild = '' - substituteInPlace ./kanif --replace "/usr/bin/perl" "${perl}/bin/perl" - substituteInPlace ./kanif --replace '$taktuk_command = "taktuk";' '$taktuk_command = "${taktuk}/bin/taktuk";' + substituteInPlace ./kanif --replace "/usr/bin/perl" "${perl}/bin/perl" + substituteInPlace ./kanif --replace '$taktuk_command = "taktuk";' '$taktuk_command = "${taktuk}/bin/taktuk";' ''; meta = { @@ -32,4 +38,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/by-name/ka/kaniko/package.nix b/pkgs/by-name/ka/kaniko/package.nix index 24779b6035114..901b047bf963d 100644 --- a/pkgs/by-name/ka/kaniko/package.nix +++ b/pkgs/by-name/ka/kaniko/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, buildGoModule -, installShellFiles -, testers -, kaniko +{ + stdenv, + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, + testers, + kaniko, }: buildGoModule rec { @@ -21,7 +22,8 @@ buildGoModule rec { vendorHash = null; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/GoogleContainerTools/kaniko/pkg/version.version=${version}" ]; @@ -47,7 +49,10 @@ buildGoModule rec { homepage = "https://github.com/GoogleContainerTools/kaniko"; license = lib.licenses.asl20; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ jk qjoly ]; + maintainers = with lib.maintainers; [ + jk + qjoly + ]; mainProgram = "executor"; }; } diff --git a/pkgs/by-name/ka/kanit-font/package.nix b/pkgs/by-name/ka/kanit-font/package.nix index 88eb8740ee19e..37d15748987e0 100644 --- a/pkgs/by-name/ka/kanit-font/package.nix +++ b/pkgs/by-name/ka/kanit-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "kanit"; diff --git a/pkgs/by-name/ka/kanji-stroke-order-font/package.nix b/pkgs/by-name/ka/kanji-stroke-order-font/package.nix index 7d7d025bbb769..8c731353c2b0f 100644 --- a/pkgs/by-name/ka/kanji-stroke-order-font/package.nix +++ b/pkgs/by-name/ka/kanji-stroke-order-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: let font = "kanji-stroke-order"; @@ -30,7 +34,10 @@ stdenv.mkDerivation { homepage = "https://www.nihilist.org.uk/"; license = [ licenses.bsd3 ]; - maintainers = with maintainers; [ ptrhlm stephen-huan ]; + maintainers = with maintainers; [ + ptrhlm + stephen-huan + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ka/kanjidraw/package.nix b/pkgs/by-name/ka/kanjidraw/package.nix index 0d5189474729a..14a90b18723ba 100644 --- a/pkgs/by-name/ka/kanjidraw/package.nix +++ b/pkgs/by-name/ka/kanjidraw/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, bash +{ + lib, + fetchFromGitHub, + python3, + bash, }: python3.pkgs.buildPythonApplication rec { @@ -40,8 +41,8 @@ python3.pkgs.buildPythonApplication rec { ''; homepage = "https://github.com/obfusk/kanjidraw"; license = with licenses; [ - agpl3Plus # code - cc-by-sa-30 # data.json + agpl3Plus # code + cc-by-sa-30 # data.json ]; maintainers = [ maintainers.obfusk ]; }; diff --git a/pkgs/by-name/ka/kanshi/package.nix b/pkgs/by-name/ka/kanshi/package.nix index 853638db6fb6a..10a4266ecdc61 100644 --- a/pkgs/by-name/ka/kanshi/package.nix +++ b/pkgs/by-name/ka/kanshi/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromSourcehut -, meson -, ninja -, pkg-config -, scdoc -, wayland -, wayland-scanner -, libvarlink -, libscfg +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + scdoc, + wayland, + wayland-scanner, + libvarlink, + libscfg, }: stdenv.mkDerivation rec { @@ -26,8 +27,18 @@ stdenv.mkDerivation rec { depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; - buildInputs = [ wayland libvarlink libscfg ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + wayland-scanner + ]; + buildInputs = [ + wayland + libvarlink + libscfg + ]; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=maybe-uninitialized" @@ -46,7 +57,10 @@ stdenv.mkDerivation rec { ''; license = licenses.mit; mainProgram = "kanshi"; - maintainers = with maintainers; [ balsoft danielbarter ]; + maintainers = with maintainers; [ + balsoft + danielbarter + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ka/kapitonov-plugins-pack/package.nix b/pkgs/by-name/ka/kapitonov-plugins-pack/package.nix index 032ee8ec03c6b..ae774134acef6 100644 --- a/pkgs/by-name/ka/kapitonov-plugins-pack/package.nix +++ b/pkgs/by-name/ka/kapitonov-plugins-pack/package.nix @@ -1,7 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config -, boost, cairo, fftw, ladspa-sdk, libxcb, lv2, xcbutilwm, xorg -, zita-convolver, zita-resampler - }: +{ + lib, + stdenv, + fetchFromGitHub, + faust, + meson, + ninja, + pkg-config, + boost, + cairo, + fftw, + ladspa-sdk, + libxcb, + lv2, + xcbutilwm, + xorg, + zita-convolver, + zita-resampler, +}: stdenv.mkDerivation rec { pname = "kapitonov-plugins-pack"; diff --git a/pkgs/by-name/ka/kapowbang/package.nix b/pkgs/by-name/ka/kapowbang/package.nix index 7027d8a50c120..d4e8e9cdd66c4 100644 --- a/pkgs/by-name/ka/kapowbang/package.nix +++ b/pkgs/by-name/ka/kapowbang/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kapowbang"; diff --git a/pkgs/by-name/ka/kappanhang/package.nix b/pkgs/by-name/ka/kappanhang/package.nix index be8fa24a949e4..8429279cafcd7 100644 --- a/pkgs/by-name/ka/kappanhang/package.nix +++ b/pkgs/by-name/ka/kappanhang/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, pulseaudio }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + pulseaudio, +}: buildGoModule rec { pname = "kappanhang"; diff --git a/pkgs/by-name/ka/karate/package.nix b/pkgs/by-name/ka/karate/package.nix index bc3076931d695..ba30709a8977f 100644 --- a/pkgs/by-name/ka/karate/package.nix +++ b/pkgs/by-name/ka/karate/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchurl, jre, makeWrapper }: +{ + lib, + stdenvNoCC, + fetchurl, + jre, + makeWrapper, +}: stdenvNoCC.mkDerivation rec { pname = "karate"; diff --git a/pkgs/by-name/ka/karla/package.nix b/pkgs/by-name/ka/karla/package.nix index f73b2060f5437..ea8090d36626a 100644 --- a/pkgs/by-name/ka/karla/package.nix +++ b/pkgs/by-name/ka/karla/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "karla"; diff --git a/pkgs/by-name/ka/karma-runner/package.nix b/pkgs/by-name/ka/karma-runner/package.nix index 514d789ac6787..594267f143ca1 100644 --- a/pkgs/by-name/ka/karma-runner/package.nix +++ b/pkgs/by-name/ka/karma-runner/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ka/karma/package.nix b/pkgs/by-name/ka/karma/package.nix index 95f66e1dd7b34..c4c6822eea05b 100644 --- a/pkgs/by-name/ka/karma/package.nix +++ b/pkgs/by-name/ka/karma/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchNpmDeps -, nixosTests -, nodejs -, npmHooks +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchNpmDeps, + nixosTests, + nodejs, + npmHooks, }: buildGoModule rec { diff --git a/pkgs/by-name/ka/karmor/package.nix b/pkgs/by-name/ka/karmor/package.nix index eb2722b34150e..c25af90b9bccf 100644 --- a/pkgs/by-name/ka/karmor/package.nix +++ b/pkgs/by-name/ka/karmor/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, karmor +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + karmor, }: buildGoModule rec { @@ -52,6 +53,9 @@ buildGoModule rec { homepage = "https://kubearmor.io"; changelog = "https://github.com/kubearmor/kubearmor-client/releases/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ urandom kashw2 ]; + maintainers = with maintainers; [ + urandom + kashw2 + ]; }; } diff --git a/pkgs/by-name/ka/kas/package.nix b/pkgs/by-name/ka/kas/package.nix index 51cbae22afdb0..b9708c9e789a9 100644 --- a/pkgs/by-name/ka/kas/package.nix +++ b/pkgs/by-name/ka/kas/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, python3, testers, kas }: +{ + lib, + fetchFromGitHub, + python3, + testers, + kas, +}: python3.pkgs.buildPythonApplication rec { pname = "kas"; @@ -11,7 +17,14 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-J64yy2G8+5uT31Vpwhge5R7ZqId+NzE5ykXBHjc0qgQ="; }; - propagatedBuildInputs = with python3.pkgs; [ setuptools kconfiglib jsonschema distro pyyaml gitpython ]; + propagatedBuildInputs = with python3.pkgs; [ + setuptools + kconfiglib + jsonschema + distro + pyyaml + gitpython + ]; # Tests require network as they try to clone repos doCheck = false; diff --git a/pkgs/by-name/ka/kasmweb/package.nix b/pkgs/by-name/ka/kasmweb/package.nix index 9c40fab2b95d4..bb528e57e6646 100644 --- a/pkgs/by-name/ka/kasmweb/package.nix +++ b/pkgs/by-name/ka/kasmweb/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchzip +{ + stdenv, + lib, + fetchzip, }: stdenv.mkDerivation rec { @@ -26,7 +27,6 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { homepage = "https://www.kasmweb.com/"; description = "Streaming containerized apps and desktops to end-users"; diff --git a/pkgs/by-name/ka/katago/package.nix b/pkgs/by-name/ka/katago/package.nix index b6b7336845da3..204d6777b0c4b 100644 --- a/pkgs/by-name/ka/katago/package.nix +++ b/pkgs/by-name/ka/katago/package.nix @@ -1,18 +1,41 @@ -{ stdenv, boost, cmake, config, cudaPackages, eigen, fetchFromGitHub, gperftools -, lib, libzip, makeWrapper, ocl-icd, opencl-headers, openssl -, writeShellScriptBin, enableAVX2 ? stdenv.hostPlatform.avx2Support -, backend ? if config.cudaSupport then "cuda" else "opencl" -, enableBigBoards ? false, enableContrib ? false, enableTcmalloc ? true -, enableTrtPlanCache ? false }: +{ + stdenv, + boost, + cmake, + config, + cudaPackages, + eigen, + fetchFromGitHub, + gperftools, + lib, + libzip, + makeWrapper, + ocl-icd, + opencl-headers, + openssl, + writeShellScriptBin, + enableAVX2 ? stdenv.hostPlatform.avx2Support, + backend ? if config.cudaSupport then "cuda" else "opencl", + enableBigBoards ? false, + enableContrib ? false, + enableTcmalloc ? true, + enableTrtPlanCache ? false, +}: -assert lib.assertOneOf "backend" backend [ "opencl" "cuda" "tensorrt" "eigen" ]; +assert lib.assertOneOf "backend" backend [ + "opencl" + "cuda" + "tensorrt" + "eigen" +]; # N.b. older versions of cuda toolkit (e.g. 10) do not support newer versions # of gcc. If you need to use cuda10, please override stdenv with gcc8Stdenv let githash = "cd0ed6c0712088ddb901be68189ba7fa1439a9e7"; fakegit = writeShellScriptBin "git" "echo ${githash}"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "katago"; version = "1.15.3"; @@ -23,47 +46,67 @@ in stdenv.mkDerivation rec { sha256 = "sha256-hZc8LlOxnVqJqyqOSIWKv3550QOaGr79xgqsAQ8B8SM="; }; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; - buildInputs = [ libzip boost ] ++ lib.optionals (backend == "eigen") [ eigen ] + buildInputs = + [ + libzip + boost + ] + ++ lib.optionals (backend == "eigen") [ eigen ] ++ lib.optionals (backend == "cuda") [ cudaPackages.cudnn cudaPackages.cudatoolkit - ] ++ lib.optionals (backend == "tensorrt") [ + ] + ++ lib.optionals (backend == "tensorrt") [ cudaPackages.cudatoolkit cudaPackages.tensorrt - ] ++ lib.optionals (backend == "opencl") [ opencl-headers ocl-icd ] + ] + ++ lib.optionals (backend == "opencl") [ + opencl-headers + ocl-icd + ] ++ lib.optionals enableContrib [ openssl ] ++ lib.optionals enableTcmalloc [ gperftools ]; - cmakeFlags = [ - (lib.cmakeFeature "USE_BACKEND" (lib.toUpper backend)) - (lib.cmakeBool "USE_AVX2" enableAVX2) - (lib.cmakeBool "USE_TCMALLOC" enableTcmalloc) - (lib.cmakeBool "USE_BIGGER_BOARDS_EXPENSIVE" enableBigBoards) - (lib.cmakeBool "USE_CACHE_TENSORRT_PLAN" enableTrtPlanCache) - (lib.cmakeBool "NO_GIT_REVISION" (!enableContrib)) - ] ++ lib.optionals enableContrib [ - (lib.cmakeBool "BUILD_DISTRIBUTED" true) - (lib.cmakeFeature "GIT_EXECUTABLE" "${fakegit}/bin/git") - ]; + cmakeFlags = + [ + (lib.cmakeFeature "USE_BACKEND" (lib.toUpper backend)) + (lib.cmakeBool "USE_AVX2" enableAVX2) + (lib.cmakeBool "USE_TCMALLOC" enableTcmalloc) + (lib.cmakeBool "USE_BIGGER_BOARDS_EXPENSIVE" enableBigBoards) + (lib.cmakeBool "USE_CACHE_TENSORRT_PLAN" enableTrtPlanCache) + (lib.cmakeBool "NO_GIT_REVISION" (!enableContrib)) + ] + ++ lib.optionals enableContrib [ + (lib.cmakeBool "BUILD_DISTRIBUTED" true) + (lib.cmakeFeature "GIT_EXECUTABLE" "${fakegit}/bin/git") + ]; - preConfigure = '' - cd cpp/ - '' + lib.optionalString (backend == "cuda" || backend == "tensorrt") '' - export CUDA_PATH="${cudaPackages.cudatoolkit}" - export EXTRA_LDFLAGS="-L/run/opengl-driver/lib" - ''; + preConfigure = + '' + cd cpp/ + '' + + lib.optionalString (backend == "cuda" || backend == "tensorrt") '' + export CUDA_PATH="${cudaPackages.cudatoolkit}" + export EXTRA_LDFLAGS="-L/run/opengl-driver/lib" + ''; - installPhase = '' - runHook preInstall - mkdir -p $out/bin; cp katago $out/bin; - '' + lib.optionalString (backend == "cuda" || backend == "tensorrt") '' - wrapProgram $out/bin/katago \ - --prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib" - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + mkdir -p $out/bin; cp katago $out/bin; + '' + + lib.optionalString (backend == "cuda" || backend == "tensorrt") '' + wrapProgram $out/bin/katago \ + --prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib" + '' + + '' + runHook postInstall + ''; meta = with lib; { description = "Go engine modeled after AlphaGo Zero"; diff --git a/pkgs/by-name/ka/katawa-shoujo-re-engineered/package.nix b/pkgs/by-name/ka/katawa-shoujo-re-engineered/package.nix index 798a1763bb710..bfd2836a16635 100644 --- a/pkgs/by-name/ka/katawa-shoujo-re-engineered/package.nix +++ b/pkgs/by-name/ka/katawa-shoujo-re-engineered/package.nix @@ -62,7 +62,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { cc-by-nc-nd-30 ]; mainProgram = "katawa-shoujo-re-engineered"; - maintainers = with lib.maintainers; [ quantenzitrone rapiteanu ]; + maintainers = with lib.maintainers; [ + quantenzitrone + rapiteanu + ]; platforms = renpy.meta.platforms; }; }) diff --git a/pkgs/by-name/ka/katawa-shoujo/package.nix b/pkgs/by-name/ka/katawa-shoujo/package.nix index 18aa00d0e16e0..23b8d7aa503e2 100644 --- a/pkgs/by-name/ka/katawa-shoujo/package.nix +++ b/pkgs/by-name/ka/katawa-shoujo/package.nix @@ -1,47 +1,51 @@ -{ stdenvNoCC -, lib -, fetchurl -, autoPatchelfHook -, copyDesktopItems -, freetype -, makeDesktopItem -, makeWrapper -, libGL -, libGLU -# Darwin cannot handle these when devendored: -# - DYLD_LIBRARY_PATH masks system libraries with similar, differently-cased names and cause missing symbol errors -# - symlinks cause unrelated BMP image loading to fail(?) -, devendorImageLibs ? !stdenvNoCC.hostPlatform.isDarwin -, libjpeg -, libpng12 -, libX11 -, libXext -, libXi -, libXmu -, runtimeShell -, SDL_compat -, SDL_image -, SDL_ttf -, undmg -, unrpa -, zlib +{ + stdenvNoCC, + lib, + fetchurl, + autoPatchelfHook, + copyDesktopItems, + freetype, + makeDesktopItem, + makeWrapper, + libGL, + libGLU, + # Darwin cannot handle these when devendored: + # - DYLD_LIBRARY_PATH masks system libraries with similar, differently-cased names and cause missing symbol errors + # - symlinks cause unrelated BMP image loading to fail(?) + devendorImageLibs ? !stdenvNoCC.hostPlatform.isDarwin, + libjpeg, + libpng12, + libX11, + libXext, + libXi, + libXmu, + runtimeShell, + SDL_compat, + SDL_image, + SDL_ttf, + undmg, + unrpa, + zlib, }: let stdenv = stdenvNoCC; - srcDetails = rec { - x86_64-linux = { - archiveDate = "20240825224413"; - urlSuffix = "%5blinux-x86%5d%5b18161880%5d.tar.bz2"; - hash = "sha256-7FoFz88dWYHs2/pxkEwnmiFeeb3+slayrWknEJoAB9o="; - }; - i686-linux = x86_64-linux; - x86_64-darwin = { - archiveDate = "20240825224411"; - urlSuffix = "%5bmac%5d%5b1DFC84A6%5d.dmg"; - hash = "sha256-Sc5BAlpJsffjcNrZ8+VU3n7G10DoqDKQn/leHDW32Y8="; - }; - }.${stdenv.hostPlatform.system} or (throw "Don't know how to fetch source for ${stdenv.hostPlatform.system}!"); + srcDetails = + rec { + x86_64-linux = { + archiveDate = "20240825224413"; + urlSuffix = "%5blinux-x86%5d%5b18161880%5d.tar.bz2"; + hash = "sha256-7FoFz88dWYHs2/pxkEwnmiFeeb3+slayrWknEJoAB9o="; + }; + i686-linux = x86_64-linux; + x86_64-darwin = { + archiveDate = "20240825224411"; + urlSuffix = "%5bmac%5d%5b1DFC84A6%5d.dmg"; + hash = "sha256-Sc5BAlpJsffjcNrZ8+VU3n7G10DoqDKQn/leHDW32Y8="; + }; + } + .${stdenv.hostPlatform.system} + or (throw "Don't know how to fetch source for ${stdenv.hostPlatform.system}!"); in stdenv.mkDerivation rec { pname = "katawa-shoujo"; @@ -55,103 +59,127 @@ stdenv.mkDerivation rec { # fetchzip requires a custom unpackPhase to handle dmg, fetchurl cannot handle undmg producing >1 directory without this sourceRoot = "."; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - autoPatchelfHook - copyDesktopItems - unrpa - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - makeWrapper - undmg + nativeBuildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + copyDesktopItems + unrpa + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeWrapper + undmg + ]; + + buildInputs = + [ + freetype + SDL_compat + zlib + ] + ++ lib.optionals devendorImageLibs [ + libjpeg + libpng12 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libXext + libXi + libXmu + libGL + libGLU + ]; + + desktopItems = [ + (makeDesktopItem rec { + name = "katawa-shoujo"; + desktopName = "Katawa Shoujo"; + comment = meta.description; + exec = name; + icon = name; + categories = [ "Game" ]; + }) ]; - buildInputs = [ - freetype - SDL_compat - zlib - ] ++ lib.optionals devendorImageLibs [ - libjpeg - libpng12 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - libXext - libXi - libXmu - libGL - libGLU - ]; - - desktopItems = [(makeDesktopItem rec { - name = "katawa-shoujo"; - desktopName = "Katawa Shoujo"; - comment = meta.description; - exec = name; - icon = name; - categories = [ "Game" ]; - })]; - dontConfigure = true; dontBuild = true; - installPhase = let - platformDetails = with stdenv.hostPlatform; if isDarwin then rec { - arch = "darwin-x86_64"; - sourceDir = "'Katawa Shoujo'.app"; - installDir = "$out/Applications/'Katawa Shoujo'.app"; - dataDir = "${installDir}/Contents/Resources/autorun"; - bin = "${installDir}/Contents/MacOS/'Katawa Shoujo'"; - } else rec { - arch = "linux-${if isx86_64 then "x86_64" else "i686"}"; - sourceDir = "'Katawa Shoujo'-${version}-linux"; - installDir = "$out/share/katawa-shoujo"; - dataDir = installDir; - bin = "${installDir}/'Katawa Shoujo'.sh"; - }; - libDir = with platformDetails; "${dataDir}/lib/${arch}"; - in with platformDetails; '' - runHook preInstall - - mkdir -p "$(dirname ${installDir})" - cp -R ${sourceDir} ${installDir} - - # Simplify launcher script - cat <${bin} - #!${runtimeShell} - exec \$RENPY_GDB ${libDir}/'Katawa Shoujo' \$RENPY_PYARGS -EO ${dataDir}/'Katawa Shoujo'.py "\$@" - EOF - - '' + (if stdenv.hostPlatform.isDarwin then '' - # No autoPatchelfHook on Darwin - wrapProgram ${bin} \ - --prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} - '' else '' - # Extract icon for xdg desktop file - unrpa ${dataDir}/game/data.rpa - install -Dm644 ui/icon.png $out/share/icons/hicolor/512x512/apps/katawa-shoujo.png - '') + '' - - # Delete binaries for wrong arch, autoPatchelfHook gets confused by them & less to keep in the store - find "$(dirname ${libDir})" -mindepth 1 -maxdepth 1 \ - -not -name 'python*' -not -name ${arch} \ - -exec rm -r {} \; - - # Replace some bundled libs so Nixpkgs' versions are used - rm ${libDir}/libz* - rm ${libDir}/libfreetype* - rm ${libDir}/libSDL-1.2* - '' + lib.optionalString devendorImageLibs '' - rm ${libDir}/libjpeg* - rm ${libDir}/libpng12* - '' + '' - - mkdir -p $out/share/{doc,licenses}/katawa-shoujo - mv ${dataDir}/'Game Manual'.pdf $out/share/doc/katawa-shoujo/ - mv ${dataDir}/LICENSE.txt $out/share/licenses/katawa-shoujo/ - - mkdir -p $out/bin - ln -s ${bin} $out/bin/katawa-shoujo - - runHook postInstall - ''; + installPhase = + let + platformDetails = + with stdenv.hostPlatform; + if isDarwin then + rec { + arch = "darwin-x86_64"; + sourceDir = "'Katawa Shoujo'.app"; + installDir = "$out/Applications/'Katawa Shoujo'.app"; + dataDir = "${installDir}/Contents/Resources/autorun"; + bin = "${installDir}/Contents/MacOS/'Katawa Shoujo'"; + } + else + rec { + arch = "linux-${if isx86_64 then "x86_64" else "i686"}"; + sourceDir = "'Katawa Shoujo'-${version}-linux"; + installDir = "$out/share/katawa-shoujo"; + dataDir = installDir; + bin = "${installDir}/'Katawa Shoujo'.sh"; + }; + libDir = with platformDetails; "${dataDir}/lib/${arch}"; + in + with platformDetails; + '' + runHook preInstall + + mkdir -p "$(dirname ${installDir})" + cp -R ${sourceDir} ${installDir} + + # Simplify launcher script + cat <${bin} + #!${runtimeShell} + exec \$RENPY_GDB ${libDir}/'Katawa Shoujo' \$RENPY_PYARGS -EO ${dataDir}/'Katawa Shoujo'.py "\$@" + EOF + + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + # No autoPatchelfHook on Darwin + wrapProgram ${bin} \ + --prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} + '' + else + '' + # Extract icon for xdg desktop file + unrpa ${dataDir}/game/data.rpa + install -Dm644 ui/icon.png $out/share/icons/hicolor/512x512/apps/katawa-shoujo.png + '' + ) + + '' + + # Delete binaries for wrong arch, autoPatchelfHook gets confused by them & less to keep in the store + find "$(dirname ${libDir})" -mindepth 1 -maxdepth 1 \ + -not -name 'python*' -not -name ${arch} \ + -exec rm -r {} \; + + # Replace some bundled libs so Nixpkgs' versions are used + rm ${libDir}/libz* + rm ${libDir}/libfreetype* + rm ${libDir}/libSDL-1.2* + '' + + lib.optionalString devendorImageLibs '' + rm ${libDir}/libjpeg* + rm ${libDir}/libpng12* + '' + + '' + + mkdir -p $out/share/{doc,licenses}/katawa-shoujo + mv ${dataDir}/'Game Manual'.pdf $out/share/doc/katawa-shoujo/ + mv ${dataDir}/LICENSE.txt $out/share/licenses/katawa-shoujo/ + + mkdir -p $out/bin + ln -s ${bin} $out/bin/katawa-shoujo + + runHook postInstall + ''; meta = with lib; { description = "Bishoujo-style visual novel by Four Leaf Studios, built in Ren'Py"; diff --git a/pkgs/by-name/ka/kati/package.nix b/pkgs/by-name/ka/kati/package.nix index 9ceeb2f8c490c..661248987aee7 100644 --- a/pkgs/by-name/ka/kati/package.nix +++ b/pkgs/by-name/ka/kati/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "kati-unstable"; diff --git a/pkgs/by-name/ka/kawkab-mono-font/package.nix b/pkgs/by-name/ka/kawkab-mono-font/package.nix index 60e455dae6ca1..9915f0ae52b40 100644 --- a/pkgs/by-name/ka/kawkab-mono-font/package.nix +++ b/pkgs/by-name/ka/kawkab-mono-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "kawkab-mono"; diff --git a/pkgs/by-name/ka/kazam/package.nix b/pkgs/by-name/ka/kazam/package.nix index 3d3349ab1bd75..f887b39f2d2e3 100644 --- a/pkgs/by-name/ka/kazam/package.nix +++ b/pkgs/by-name/ka/kazam/package.nix @@ -1,18 +1,19 @@ -{ lib -, fetchFromGitHub -, substituteAll -, python3Packages -, gst_all_1 -, wrapGAppsHook3 -, gobject-introspection -, gtk3 -, libwnck -, keybinder3 -, intltool -, libcanberra-gtk3 -, libappindicator-gtk3 -, libpulseaudio -, libgudev +{ + lib, + fetchFromGitHub, + substituteAll, + python3Packages, + gst_all_1, + wrapGAppsHook3, + gobject-introspection, + gtk3, + libwnck, + keybinder3, + intltool, + libcanberra-gtk3, + libappindicator-gtk3, + libpulseaudio, + libgudev, }: python3Packages.buildPythonApplication rec { @@ -26,7 +27,12 @@ python3Packages.buildPythonApplication rec { sha256 = "1jk6khwgdv3nmagdgp5ivz3156pl0ljhf7b6i4b52w1h5ywsg9ah"; }; - nativeBuildInputs = [ gobject-introspection python3Packages.distutils-extra intltool wrapGAppsHook3 ]; + nativeBuildInputs = [ + gobject-introspection + python3Packages.distutils-extra + intltool + wrapGAppsHook3 + ]; buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base @@ -38,7 +44,13 @@ python3Packages.buildPythonApplication rec { libgudev ]; - propagatedBuildInputs = with python3Packages; [ pygobject3 pyxdg pycairo dbus-python xlib ]; + propagatedBuildInputs = with python3Packages; [ + pygobject3 + pyxdg + pycairo + dbus-python + xlib + ]; patches = [ # Fix paths diff --git a/pkgs/by-name/kb/kb/package.nix b/pkgs/by-name/kb/kb/package.nix index 41f5d7e55c329..f05cf7e325b69 100644 --- a/pkgs/by-name/kb/kb/package.nix +++ b/pkgs/by-name/kb/kb/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/kb/kbd/package.nix b/pkgs/by-name/kb/kbd/package.nix index badb02aaec5a8..2db418ecc0a79 100644 --- a/pkgs/by-name/kb/kbd/package.nix +++ b/pkgs/by-name/kb/kbd/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, nixosTests -, autoreconfHook -, pkg-config -, flex -, check -, pam -, coreutils -, gzip -, bzip2 -, xz -, zstd -, gitUpdater +{ + lib, + stdenv, + fetchurl, + nixosTests, + autoreconfHook, + pkg-config, + flex, + check, + pam, + coreutils, + gzip, + bzip2, + xz, + zstd, + gitUpdater, }: stdenv.mkDerivation rec { @@ -26,7 +27,11 @@ stdenv.mkDerivation rec { # vlock is moved into its own output, since it depends on pam. This # reduces closure size for most use cases. - outputs = [ "out" "vlock" "dev" ]; + outputs = [ + "out" + "vlock" + "dev" + ]; configureFlags = [ "--enable-optional-progs" @@ -38,33 +43,32 @@ stdenv.mkDerivation rec { ./search-paths.patch ]; - postPatch = - '' - # Renaming keymaps with name clashes, because loadkeys just picks - # the first keymap it sees. The clashing names lead to e.g. - # "loadkeys no" defaulting to a norwegian dvorak map instead of - # the much more common qwerty one. - pushd data/keymaps/i386 - mv qwertz/cz{,-qwertz}.map - mv olpc/es{,-olpc}.map - mv olpc/pt{,-olpc}.map - mv fgGIod/trf{,-fgGIod}.map - mv colemak/{en-latin9,colemak}.map - popd + postPatch = '' + # Renaming keymaps with name clashes, because loadkeys just picks + # the first keymap it sees. The clashing names lead to e.g. + # "loadkeys no" defaulting to a norwegian dvorak map instead of + # the much more common qwerty one. + pushd data/keymaps/i386 + mv qwertz/cz{,-qwertz}.map + mv olpc/es{,-olpc}.map + mv olpc/pt{,-olpc}.map + mv fgGIod/trf{,-fgGIod}.map + mv colemak/{en-latin9,colemak}.map + popd - # Fix paths to decompressors. Trailing space to avoid replacing `xz` in `".xz"`. - substituteInPlace src/libkbdfile/kbdfile.c \ - --replace 'gzip ' '${gzip}/bin/gzip ' \ - --replace 'bzip2 ' '${bzip2.bin}/bin/bzip2 ' \ - --replace 'xz ' '${xz.bin}/bin/xz ' \ - --replace 'zstd ' '${zstd.bin}/bin/zstd ' + # Fix paths to decompressors. Trailing space to avoid replacing `xz` in `".xz"`. + substituteInPlace src/libkbdfile/kbdfile.c \ + --replace 'gzip ' '${gzip}/bin/gzip ' \ + --replace 'bzip2 ' '${bzip2.bin}/bin/bzip2 ' \ + --replace 'xz ' '${xz.bin}/bin/xz ' \ + --replace 'zstd ' '${zstd.bin}/bin/zstd ' - sed -i ' - 1i prefix:=$(vlock) - 1i bindir := $(vlock)/bin' \ - src/vlock/Makefile.in \ - src/vlock/Makefile.am - ''; + sed -i ' + 1i prefix:=$(vlock) + 1i bindir := $(vlock)/bin' \ + src/vlock/Makefile.in \ + src/vlock/Makefile.am + ''; postInstall = '' for i in $out/bin/unicode_{start,stop}; do @@ -73,9 +77,16 @@ stdenv.mkDerivation rec { done ''; - buildInputs = [ check pam ]; + buildInputs = [ + check + pam + ]; NIX_LDFLAGS = lib.optional stdenv.hostPlatform.isStatic "-laudit"; - nativeBuildInputs = [ autoreconfHook pkg-config flex ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + flex + ]; passthru.tests = { inherit (nixosTests) keymap kbd-setfont-decompress kbd-update-search-paths-patch; @@ -83,9 +94,9 @@ stdenv.mkDerivation rec { passthru = { gzip = gzip; updateScript = gitUpdater { - # No nicer place to find latest release. - url = "https://github.com/legionus/kbd.git"; - rev-prefix = "v"; + # No nicer place to find latest release. + url = "https://github.com/legionus/kbd.git"; + rev-prefix = "v"; }; }; diff --git a/pkgs/by-name/kb/kbdd/package.nix b/pkgs/by-name/kb/kbdd/package.nix index 0692780a549d4..55278a4594558 100644 --- a/pkgs/by-name/kb/kbdd/package.nix +++ b/pkgs/by-name/kb/kbdd/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, dbus-glib, autoreconfHook, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + dbus-glib, + autoreconfHook, + xorg, +}: stdenv.mkDerivation { pname = "kbdd"; @@ -11,8 +19,14 @@ stdenv.mkDerivation { sha256 = "1gzcjnflgdqnjgphiqpzwbcx60hm0h2cprncm7i8xca3ln5q6ba1"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ xorg.libX11 dbus-glib ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + xorg.libX11 + dbus-glib + ]; meta = { description = "Simple daemon and library to make per window layout using XKB"; diff --git a/pkgs/by-name/kb/kbdlight/package.nix b/pkgs/by-name/kb/kbdlight/package.nix index 4d6172fa39fe7..efb971d634fce 100644 --- a/pkgs/by-name/kb/kbdlight/package.nix +++ b/pkgs/by-name/kb/kbdlight/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "kbdlight"; diff --git a/pkgs/by-name/kb/kbst/package.nix b/pkgs/by-name/kb/kbst/package.nix index 566610ebc7cbc..93fa27fc26ca6 100644 --- a/pkgs/by-name/kb/kbst/package.nix +++ b/pkgs/by-name/kb/kbst/package.nix @@ -1,10 +1,14 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kbst"; version = "0.2.1"; - src = fetchFromGitHub{ + src = fetchFromGitHub { owner = "kbst"; repo = "kbst"; rev = "v${version}"; @@ -14,9 +18,12 @@ buildGoModule rec { vendorHash = "sha256-+FY6KGX606CfTVKM1HeHxCm9PkaqfnT5XeOEXUX3Q5I="; ldflags = - let package_url = "github.com/kbst/kbst"; in + let + package_url = "github.com/kbst/kbst"; + in [ - "-s" "-w" + "-s" + "-w" "-X ${package_url}.version=${version}" "-X ${package_url}.buildDate=unknown" "-X ${package_url}.gitCommit=${src.rev}" diff --git a/pkgs/by-name/kb/kbt/package.nix b/pkgs/by-name/kb/kbt/package.nix index 8a7e91ba3c7dd..6a7abdc808778 100644 --- a/pkgs/by-name/kb/kbt/package.nix +++ b/pkgs/by-name/kb/kbt/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, pkg-config -, darwin -, xorg +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + pkg-config, + darwin, + xorg, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libX11 - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libX11 + ]; meta = with lib; { description = "Keyboard tester in terminal"; diff --git a/pkgs/by-name/kc/kcat/package.nix b/pkgs/by-name/kc/kcat/package.nix index f3bd6a8555b63..22d64830edb91 100644 --- a/pkgs/by-name/kc/kcat/package.nix +++ b/pkgs/by-name/kc/kcat/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, zlib, rdkafka, yajl, avro-c, libserdes, which }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + zlib, + rdkafka, + yajl, + avro-c, + libserdes, + which, +}: stdenv.mkDerivation rec { pname = "kcat"; @@ -12,9 +23,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-pCIYNx0GYPGDYzTLq9h/LbOrJjhKWLAV4gq07Ikl5O4="; }; - nativeBuildInputs = [ pkg-config which ]; + nativeBuildInputs = [ + pkg-config + which + ]; - buildInputs = [ zlib rdkafka yajl avro-c libserdes ]; + buildInputs = [ + zlib + rdkafka + yajl + avro-c + libserdes + ]; meta = with lib; { description = "Generic non-JVM producer and consumer for Apache Kafka"; diff --git a/pkgs/by-name/kc/kcgi/package.nix b/pkgs/by-name/kc/kcgi/package.nix index 0b2f7438e6987..246cc597407f3 100644 --- a/pkgs/by-name/kc/kcgi/package.nix +++ b/pkgs/by-name/kc/kcgi/package.nix @@ -1,9 +1,15 @@ -{ lib, stdenv, pkg-config, fetchFromGitHub, libbsd }: +{ + lib, + stdenv, + pkg-config, + fetchFromGitHub, + libbsd, +}: stdenv.mkDerivation rec { pname = "kcgi"; version = "0.10.8"; - underscoreVersion = lib.replaceStrings ["."] ["_"] version; + underscoreVersion = lib.replaceStrings [ "." ] [ "_" ] version; src = fetchFromGitHub { owner = "kristapsdz"; @@ -17,7 +23,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libbsd ] ; + buildInputs = [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libbsd ]; dontAddPrefix = true; diff --git a/pkgs/by-name/kc/kchat/package.nix b/pkgs/by-name/kc/kchat/package.nix index baec68b0a5731..c472bc2eafbe2 100644 --- a/pkgs/by-name/kc/kchat/package.nix +++ b/pkgs/by-name/kc/kchat/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, appimageTools +{ + lib, + fetchurl, + appimageTools, }: appimageTools.wrapType2 rec { diff --git a/pkgs/by-name/kc/kcli/package.nix b/pkgs/by-name/kc/kcli/package.nix index 4047b3c296dd6..ab609f2d87526 100644 --- a/pkgs/by-name/kc/kcli/package.nix +++ b/pkgs/by-name/kc/kcli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kcli"; diff --git a/pkgs/by-name/kc/kclvm/package.nix b/pkgs/by-name/kc/kclvm/package.nix index 76774e510cadc..00ed9e182150a 100644 --- a/pkgs/by-name/kc/kclvm/package.nix +++ b/pkgs/by-name/kc/kclvm/package.nix @@ -1,12 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, protobuf -, pkg-config -, darwin -, rustc -, +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + protobuf, + pkg-config, + darwin, + rustc, }: rustPlatform.buildRustPackage rec { pname = "kclvm"; @@ -28,18 +28,22 @@ rustPlatform.buildRustPackage rec { }; }; - buildInputs = [ rustc ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.CoreServices - darwin.apple_sdk.frameworks.SystemConfiguration - ]; - + buildInputs = + [ rustc ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.CoreServices + darwin.apple_sdk.frameworks.SystemConfiguration + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -id $out/lib/libkclvm_cli_cdylib.dylib $out/lib/libkclvm_cli_cdylib.dylib ''; - nativeBuildInputs = [ pkg-config protobuf ]; + nativeBuildInputs = [ + pkg-config + protobuf + ]; patches = [ ./enable_protoc_env.patch ]; @@ -51,6 +55,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/kcl-lang/kcl"; license = licenses.asl20; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ selfuryon peefy ]; + maintainers = with maintainers; [ + selfuryon + peefy + ]; }; } diff --git a/pkgs/by-name/kc/kclvm_cli/package.nix b/pkgs/by-name/kc/kclvm_cli/package.nix index c6793267cddbd..ca37fc6e71fb3 100644 --- a/pkgs/by-name/kc/kclvm_cli/package.nix +++ b/pkgs/by-name/kc/kclvm_cli/package.nix @@ -1,11 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, kclvm -, darwin -, rustc -, +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + kclvm, + darwin, + rustc, }: rustPlatform.buildRustPackage rec { pname = "kclvm_cli"; @@ -22,20 +22,26 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-elIo986ag7x+q17HwkcoqFnD9+1+Jq66XIHYZNaBB/w="; cargoPatches = [ ./cargo_lock.patch ]; - buildInputs = [ kclvm rustc ] ++ ( - lib.optionals stdenv.hostPlatform.isDarwin [ + buildInputs = + [ + kclvm + rustc + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.CoreServices darwin.apple_sdk.frameworks.SystemConfiguration - ] - ); + ]); meta = with lib; { description = "A high-performance implementation of KCL written in Rust that uses LLVM as the compiler backend"; homepage = "https://github.com/kcl-lang/kcl"; license = licenses.asl20; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ selfuryon peefy ]; + maintainers = with maintainers; [ + selfuryon + peefy + ]; mainProgram = "kclvm_cli"; }; } diff --git a/pkgs/by-name/kc/kconfig-frontends/package.nix b/pkgs/by-name/kc/kconfig-frontends/package.nix index b2c74e330f87d..d7ec574a5963d 100644 --- a/pkgs/by-name/kc/kconfig-frontends/package.nix +++ b/pkgs/by-name/kc/kconfig-frontends/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, bash -, bison -, flex -, gperf -, ncurses -, pkg-config -, python3 +{ + lib, + stdenv, + fetchurl, + bash, + bison, + flex, + gperf, + ncurses, + pkg-config, + python3, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,12 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "lib" "dev" "doc" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + ]; nativeBuildInputs = [ bison diff --git a/pkgs/by-name/kc/kcov/package.nix b/pkgs/by-name/kc/kcov/package.nix index efb0bba4a1b2f..cab93025030b7 100644 --- a/pkgs/by-name/kc/kcov/package.nix +++ b/pkgs/by-name/kc/kcov/package.nix @@ -1,83 +1,96 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, zlib -, curl -, elfutils -, python3 -, libiberty -, libopcodes -, runCommandCC -, rustc +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + zlib, + curl, + elfutils, + python3, + libiberty, + libopcodes, + runCommandCC, + rustc, }: let - self = - stdenv.mkDerivation rec { - pname = "kcov"; - version = "43"; + self = stdenv.mkDerivation rec { + pname = "kcov"; + version = "43"; - src = fetchFromGitHub { - owner = "SimonKagstrom"; - repo = "kcov"; - rev = "v${version}"; - sha256 = "sha256-hRJYuHNSXyRoUDBF/yIPXPcBBxZoTO5cgoB2tBhKPwY="; - }; + src = fetchFromGitHub { + owner = "SimonKagstrom"; + repo = "kcov"; + rev = "v${version}"; + sha256 = "sha256-hRJYuHNSXyRoUDBF/yIPXPcBBxZoTO5cgoB2tBhKPwY="; + }; - preConfigure = "patchShebangs src/bin-to-c-source.py"; - nativeBuildInputs = [ cmake pkg-config python3 ]; + preConfigure = "patchShebangs src/bin-to-c-source.py"; + nativeBuildInputs = [ + cmake + pkg-config + python3 + ]; - buildInputs = [ curl zlib elfutils libiberty libopcodes ]; + buildInputs = [ + curl + zlib + elfutils + libiberty + libopcodes + ]; - strictDeps = true; + strictDeps = true; - passthru.tests = { - works-on-c = runCommandCC "works-on-c" { } '' - set -ex - cat - > a.c < a.c < a.rs < a.rs < "); - test $a == -1983393885 + a=$(echo "(* (+ 1 2 3 4 5 6 7 8 9 10) 12020569 (- 2 5))" | $out/bin/lambda-lisp-blc | tr -d "> "); + test $a == -1983393885 - runHook postInstallCheck + runHook postInstallCheck ''; meta = with lib; { diff --git a/pkgs/by-name/la/lambda-lisp/sources.nix b/pkgs/by-name/la/lambda-lisp/sources.nix index 8dbda01b4e27c..6160eb7ad3214 100644 --- a/pkgs/by-name/la/lambda-lisp/sources.nix +++ b/pkgs/by-name/la/lambda-lisp/sources.nix @@ -4,7 +4,8 @@ let # Archive of "https://justine.lol/lambda/"; justineLolArchive = "https://web.archive.org/web/20230614065521if_/https://justine.lol/lambda/"; in -{ fetchFromGitHub, fetchurl }: { +{ fetchFromGitHub, fetchurl }: +{ inherit blcVersion; inherit lambdaLispVersion; diff --git a/pkgs/by-name/la/lambda-mod-zsh-theme/package.nix b/pkgs/by-name/la/lambda-mod-zsh-theme/package.nix index 85bd6d5bf2e0a..266dd9a2a4ace 100644 --- a/pkgs/by-name/la/lambda-mod-zsh-theme/package.nix +++ b/pkgs/by-name/la/lambda-mod-zsh-theme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "lambda-mod-zsh-theme-unstable"; diff --git a/pkgs/by-name/la/lame/package.nix b/pkgs/by-name/la/lame/package.nix index 6032e7051b990..aa595e94efc2c 100644 --- a/pkgs/by-name/la/lame/package.nix +++ b/pkgs/by-name/la/lame/package.nix @@ -1,14 +1,19 @@ -{ lib, stdenv, fetchurl -, nasmSupport ? true, nasm # Assembly optimizations -, cpmlSupport ? true # Compaq's fast math library -#, efenceSupport ? false, libefence # Use ElectricFence for malloc debugging -, sndfileFileIOSupport ? false, libsndfile # Use libsndfile, instead of lame's internal routines -, analyzerHooksSupport ? true # Use analyzer hooks -, decoderSupport ? true # mpg123 decoder -, frontendSupport ? true # Build the lame executable -#, mp3xSupport ? false, gtk1 # Build GTK frame analyzer -, mp3rtpSupport ? false # Build mp3rtp -, debugSupport ? false # Debugging (disables optimizations) +{ + lib, + stdenv, + fetchurl, + nasmSupport ? true, + nasm, # Assembly optimizations + cpmlSupport ? true, # Compaq's fast math library + #, efenceSupport ? false, libefence # Use ElectricFence for malloc debugging + sndfileFileIOSupport ? false, + libsndfile, # Use libsndfile, instead of lame's internal routines + analyzerHooksSupport ? true, # Use analyzer hooks + decoderSupport ? true, # mpg123 decoder + frontendSupport ? true, # Build the lame executable + #, mp3xSupport ? false, gtk1 # Build GTK frame analyzer + mp3rtpSupport ? false, # Build mp3rtp + debugSupport ? false, # Debugging (disables optimizations) }: stdenv.mkDerivation rec { @@ -20,13 +25,17 @@ stdenv.mkDerivation rec { sha256 = "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx"; }; - outputs = [ "out" "lib" "doc" ]; # a small single header + outputs = [ + "out" + "lib" + "doc" + ]; # a small single header outputMan = "out"; - nativeBuildInputs = [ ] - ++ lib.optional nasmSupport nasm; + nativeBuildInputs = [ ] ++ lib.optional nasmSupport nasm; - buildInputs = [ ] + buildInputs = + [ ] #++ optional efenceSupport libefence #++ optional mp3xSupport gtk1 ++ lib.optional sndfileFileIOSupport libsndfile; @@ -53,10 +62,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "High quality MPEG Audio Layer III (MP3) encoder"; - homepage = "http://lame.sourceforge.net"; - license = licenses.lgpl2; + homepage = "http://lame.sourceforge.net"; + license = licenses.lgpl2; maintainers = with maintainers; [ codyopel ]; - platforms = platforms.all; + platforms = platforms.all; mainProgram = "lame"; }; } diff --git a/pkgs/by-name/la/laminar/package.nix b/pkgs/by-name/la/laminar/package.nix index e32d3e4a97014..9d5a1d2f7e9b7 100644 --- a/pkgs/by-name/la/laminar/package.nix +++ b/pkgs/by-name/la/laminar/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, fetchFromGitHub -, cmake -, capnproto -, sqlite -, boost -, zlib -, rapidjson -, pandoc +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + cmake, + capnproto, + sqlite, + boost, + zlib, + rapidjson, + pandoc, }: let js.vue = fetchurl { @@ -23,10 +24,14 @@ let url = "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"; hash = "sha256-+8RZJua0aEWg+QVVKg4LEzEEm/8RFez5Tb4JBNiV5xA="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "laminar"; version = "1.3"; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; src = fetchFromGitHub { owner = "ohwgiles"; repo = "laminar"; @@ -36,8 +41,18 @@ in stdenv.mkDerivation rec { patches = [ ./patches/no-network.patch ]; # We need both binary from "capnproto" and library files. - nativeBuildInputs = [ cmake pandoc capnproto ]; - buildInputs = [ capnproto sqlite boost zlib rapidjson ]; + nativeBuildInputs = [ + cmake + pandoc + capnproto + ]; + buildInputs = [ + capnproto + sqlite + boost + zlib + rapidjson + ]; cmakeFlags = [ "-DLAMINAR_VERSION=${version}" ]; preBuild = '' @@ -62,6 +77,9 @@ in stdenv.mkDerivation rec { homepage = "https://laminar.ohwg.net"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ kaction maralorn ]; + maintainers = with maintainers; [ + kaction + maralorn + ]; }; } diff --git a/pkgs/by-name/la/lammps/package.nix b/pkgs/by-name/la/lammps/package.nix index 28e98e37dc380..b6e7b89b91344 100644 --- a/pkgs/by-name/la/lammps/package.nix +++ b/pkgs/by-name/la/lammps/package.nix @@ -81,13 +81,16 @@ stdenv.mkDerivation (finalAttrs: { ++ (lib.mapAttrsToList (n: v: lib.cmakeBool "PKG_${n}" v) packages) ++ (lib.mapAttrsToList (n: v: "-D${n}=${v}") extraCmakeFlags); - buildInputs = [ - fftw - libpng - blas - lapack - gzip - ] ++ lib.optionals packages.PYTHON [ python3 ] ++ extraBuildInputs; + buildInputs = + [ + fftw + libpng + blas + lapack + gzip + ] + ++ lib.optionals packages.PYTHON [ python3 ] + ++ extraBuildInputs; postInstall = '' # For backwards compatibility diff --git a/pkgs/by-name/la/languagetool/package.nix b/pkgs/by-name/la/languagetool/package.nix index 8052dd0b83b1b..247011629235e 100644 --- a/pkgs/by-name/la/languagetool/package.nix +++ b/pkgs/by-name/la/languagetool/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, jre, makeWrapper, nixosTests }: +{ + lib, + stdenv, + fetchzip, + jre, + makeWrapper, + nixosTests, +}: stdenv.mkDerivation rec { pname = "LanguageTool"; diff --git a/pkgs/by-name/la/lanzaboote-tool/package.nix b/pkgs/by-name/la/lanzaboote-tool/package.nix index 05ea3e4391eb7..c13a0b8974df2 100644 --- a/pkgs/by-name/la/lanzaboote-tool/package.nix +++ b/pkgs/by-name/la/lanzaboote-tool/package.nix @@ -1,11 +1,12 @@ -{ systemd -, stdenv -, makeWrapper -, binutils-unwrapped -, sbsigntool -, rustPlatform -, fetchFromGitHub -, lib +{ + systemd, + stdenv, + makeWrapper, + binutils-unwrapped, + sbsigntool, + rustPlatform, + fetchFromGitHub, + lib, }: rustPlatform.buildRustPackage rec { pname = "lanzaboote-tool"; @@ -34,7 +35,12 @@ rustPlatform.buildRustPackage rec { # UEFI stub location. mv $out/bin/lzbt $out/bin/lzbt-unwrapped wrapProgram $out/bin/lzbt-unwrapped \ - --set PATH ${lib.makeBinPath [ binutils-unwrapped sbsigntool ]} + --set PATH ${ + lib.makeBinPath [ + binutils-unwrapped + sbsigntool + ] + } ''; nativeCheckInputs = [ @@ -47,9 +53,15 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/nix-community/lanzaboote"; license = licenses.gpl3Only; mainProgram = "lzbt"; - maintainers = with maintainers; [ raitobezarius nikstur ]; + maintainers = with maintainers; [ + raitobezarius + nikstur + ]; # Broken on aarch64-linux and any other architecture for now. # Wait for 0.4.0. - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/la/lao/package.nix b/pkgs/by-name/la/lao/package.nix index d7d5d3ddd4b15..921d9c9321714 100644 --- a/pkgs/by-name/la/lao/package.nix +++ b/pkgs/by-name/la/lao/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "lao"; diff --git a/pkgs/by-name/la/lapack-reference/package.nix b/pkgs/by-name/la/lapack-reference/package.nix index def5379d27c8f..ada93fccc5803 100644 --- a/pkgs/by-name/la/lapack-reference/package.nix +++ b/pkgs/by-name/la/lapack-reference/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, gfortran -, cmake -, shared ? true -# Compile with ILP64 interface -, blas64 ? false -, testers +{ + lib, + stdenv, + fetchFromGitHub, + gfortran, + cmake, + shared ? true, + # Compile with ILP64 interface + blas64 ? false, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -20,33 +21,46 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-xn9HL4YF8JPka1gwet5bGGo2k505H3RfWpxkUIYNecQ="; }; - nativeBuildInputs = [ gfortran cmake ]; + nativeBuildInputs = [ + gfortran + cmake + ]; # Configure stage fails on aarch64-darwin otherwise, due to either clang 11 or gfortran 10. - hardeningDisable = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ "stackprotector" ]; + hardeningDisable = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + "stackprotector" + ]; - cmakeFlags = [ - "-DCMAKE_Fortran_FLAGS=-fPIC" - "-DLAPACKE=ON" - "-DCBLAS=ON" - "-DBUILD_TESTING=ON" - ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON" + cmakeFlags = + [ + "-DCMAKE_Fortran_FLAGS=-fPIC" + "-DLAPACKE=ON" + "-DCBLAS=ON" + "-DBUILD_TESTING=ON" + ] + ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON" ++ lib.optional blas64 "-DBUILD_INDEX64=ON" # Tries to run host platform binaries during the build # Will likely be disabled by default in 3.12, see: # https://github.com/Reference-LAPACK/lapack/issues/757 - ++ lib.optional (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) "-DTEST_FORTRAN_COMPILER=OFF"; + ++ lib.optional ( + !stdenv.buildPlatform.canExecute stdenv.hostPlatform + ) "-DTEST_FORTRAN_COMPILER=OFF"; passthru = { inherit blas64; }; - postInstall = let - canonicalExtension = if stdenv.hostPlatform.isLinux - then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major finalAttrs.version}" - else stdenv.hostPlatform.extensions.sharedLibrary; - in lib.optionalString blas64 '' - ln -s $out/lib/liblapack64${canonicalExtension} $out/lib/liblapack${canonicalExtension} - ln -s $out/lib/liblapacke64${canonicalExtension} $out/lib/liblapacke${canonicalExtension} - ''; + postInstall = + let + canonicalExtension = + if stdenv.hostPlatform.isLinux then + "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major finalAttrs.version}" + else + stdenv.hostPlatform.extensions.sharedLibrary; + in + lib.optionalString blas64 '' + ln -s $out/lib/liblapack64${canonicalExtension} $out/lib/liblapack${canonicalExtension} + ln -s $out/lib/liblapacke64${canonicalExtension} $out/lib/liblapacke${canonicalExtension} + ''; doCheck = true; diff --git a/pkgs/by-name/la/lapack/package.nix b/pkgs/by-name/la/lapack/package.nix index 983d59ac6f609..017c84213760c 100644 --- a/pkgs/by-name/la/lapack/package.nix +++ b/pkgs/by-name/la/lapack/package.nix @@ -1,19 +1,27 @@ -{ lib, stdenv -, lapack-reference, openblas -, isILP64 ? false -, lapackProvider ? openblas }: +{ + lib, + stdenv, + lapack-reference, + openblas, + isILP64 ? false, + lapackProvider ? openblas, +}: let version = "3"; - canonicalExtension = if stdenv.hostPlatform.isLinux - then "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}" - else stdenv.hostPlatform.extensions.sharedLibrary; + canonicalExtension = + if stdenv.hostPlatform.isLinux then + "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}" + else + stdenv.hostPlatform.extensions.sharedLibrary; lapackImplementation = lib.getName lapackProvider; - lapackProvider' = if lapackImplementation == "mkl" - then lapackProvider - else lapackProvider.override { blas64 = isILP64; }; + lapackProvider' = + if lapackImplementation == "mkl" then + lapackProvider + else + lapackProvider.override { blas64 = isILP64; }; in @@ -23,9 +31,12 @@ stdenv.mkDerivation { pname = "lapack"; inherit version; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - meta = (lapackProvider'.meta or {}) // { + meta = (lapackProvider'.meta or { }) // { description = "${lib.getName lapackProvider'} with just the LAPACK C and FORTRAN ABI"; }; @@ -36,7 +47,8 @@ stdenv.mkDerivation { }; # TODO: drop this forced rebuild, as it was needed just once. - rebuild_salt = if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then "J4AQ" else null; + rebuild_salt = + if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then "J4AQ" else null; dontBuild = true; dontConfigure = true; @@ -44,70 +56,77 @@ stdenv.mkDerivation { dontPatchELF = true; - installPhase = ('' - mkdir -p $out/lib $dev/include $dev/lib/pkgconfig - - liblapack="${lib.getLib lapackProvider'}/lib/liblapack${canonicalExtension}" - - if ! [ -e "$liblapack" ]; then - echo "$liblapack does not exist, ${lapackProvider'.name} does not provide liblapack." - exit 1 - fi - - cp -L "$liblapack" $out/lib/liblapack${canonicalExtension} - chmod +w $out/lib/liblapack${canonicalExtension} - -'' + (lib.optionalString stdenv.hostPlatform.isElf '' - patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider'}/lib" $out/lib/liblapack${canonicalExtension} -'') + '' - - if [ "$out/lib/liblapack${canonicalExtension}" != "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then - ln -s $out/lib/liblapack${canonicalExtension} "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" - fi - - install -D ${lib.getDev lapack-reference}/include/lapack.h $dev/include/lapack.h - - cat < $dev/lib/pkgconfig/lapack.pc -Name: lapack -Version: ${version} -Description: LAPACK FORTRAN implementation -Cflags: -I$dev/include -Libs: -L$out/lib -llapack -EOF - - liblapacke="${lib.getLib lapackProvider'}/lib/liblapacke${canonicalExtension}" - - if ! [ -e "$liblapacke" ]; then - echo "$liblapacke does not exist, ${lapackProvider'.name} does not provide liblapacke." - exit 1 - fi - - cp -L "$liblapacke" $out/lib/liblapacke${canonicalExtension} - chmod +w $out/lib/liblapacke${canonicalExtension} - -'' + (lib.optionalString stdenv.hostPlatform.isElf '' - patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension} - patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider'}/lib" $out/lib/liblapacke${canonicalExtension} -'') + '' - - if [ -f "$out/lib/liblapacke.so.3" ]; then - ln -s $out/lib/liblapacke.so.3 $out/lib/liblapacke.so - fi - - cp ${lib.getDev lapack-reference}/include/lapacke{,_mangling,_config,_utils}.h $dev/include - - cat < $dev/lib/pkgconfig/lapacke.pc -Name: lapacke -Version: ${version} -Description: LAPACK C implementation -Cflags: -I$dev/include -Libs: -L$out/lib -llapacke -EOF -'' + lib.optionalString (lapackImplementation == "mkl") '' - mkdir -p $out/nix-support - echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook - ln -s $out/lib/liblapack${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} - ln -sf ${lapackProvider'}/include/* $dev/include -''); + installPhase = ( + '' + mkdir -p $out/lib $dev/include $dev/lib/pkgconfig + + liblapack="${lib.getLib lapackProvider'}/lib/liblapack${canonicalExtension}" + + if ! [ -e "$liblapack" ]; then + echo "$liblapack does not exist, ${lapackProvider'.name} does not provide liblapack." + exit 1 + fi + + cp -L "$liblapack" $out/lib/liblapack${canonicalExtension} + chmod +w $out/lib/liblapack${canonicalExtension} + + '' + + (lib.optionalString stdenv.hostPlatform.isElf '' + patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider'}/lib" $out/lib/liblapack${canonicalExtension} + '') + + '' + + if [ "$out/lib/liblapack${canonicalExtension}" != "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then + ln -s $out/lib/liblapack${canonicalExtension} "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" + fi + + install -D ${lib.getDev lapack-reference}/include/lapack.h $dev/include/lapack.h + + cat < $dev/lib/pkgconfig/lapack.pc + Name: lapack + Version: ${version} + Description: LAPACK FORTRAN implementation + Cflags: -I$dev/include + Libs: -L$out/lib -llapack + EOF + + liblapacke="${lib.getLib lapackProvider'}/lib/liblapacke${canonicalExtension}" + + if ! [ -e "$liblapacke" ]; then + echo "$liblapacke does not exist, ${lapackProvider'.name} does not provide liblapacke." + exit 1 + fi + + cp -L "$liblapacke" $out/lib/liblapacke${canonicalExtension} + chmod +w $out/lib/liblapacke${canonicalExtension} + + '' + + (lib.optionalString stdenv.hostPlatform.isElf '' + patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension} + patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider'}/lib" $out/lib/liblapacke${canonicalExtension} + '') + + '' + + if [ -f "$out/lib/liblapacke.so.3" ]; then + ln -s $out/lib/liblapacke.so.3 $out/lib/liblapacke.so + fi + + cp ${lib.getDev lapack-reference}/include/lapacke{,_mangling,_config,_utils}.h $dev/include + + cat < $dev/lib/pkgconfig/lapacke.pc + Name: lapacke + Version: ${version} + Description: LAPACK C implementation + Cflags: -I$dev/include + Libs: -L$out/lib -llapacke + EOF + '' + + lib.optionalString (lapackImplementation == "mkl") '' + mkdir -p $out/nix-support + echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook + ln -s $out/lib/liblapack${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} + ln -sf ${lapackProvider'}/include/* $dev/include + '' + ); } diff --git a/pkgs/by-name/la/larswm/package.nix b/pkgs/by-name/la/larswm/package.nix index ce212b1c682be..28d5fe805c5ac 100644 --- a/pkgs/by-name/la/larswm/package.nix +++ b/pkgs/by-name/la/larswm/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, imake, gccmakedep, libX11, libXext, libXmu }: +{ + lib, + stdenv, + fetchurl, + imake, + gccmakedep, + libX11, + libXext, + libXmu, +}: stdenv.mkDerivation rec { pname = "larswm"; @@ -9,11 +18,24 @@ stdenv.mkDerivation rec { sha256 = "1xmlx9g1nhklxjrg0wvsya01s4k5b9fphnpl9zdwp29mm484ni3v"; }; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libX11 libXext libXmu ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libX11 + libXext + libXmu + ]; - makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ]; - installTargets = [ "install" "install.man" ]; + makeFlags = [ + "BINDIR=$(out)/bin" + "MANPATH=$(out)/share/man" + ]; + installTargets = [ + "install" + "install.man" + ]; meta = { homepage = "http://www.fnurt.net/larswm"; diff --git a/pkgs/by-name/la/lasem/package.nix b/pkgs/by-name/la/lasem/package.nix index c76a695562509..f7482e5dec811 100644 --- a/pkgs/by-name/la/lasem/package.nix +++ b/pkgs/by-name/la/lasem/package.nix @@ -1,21 +1,48 @@ -{ fetchurl, lib, stdenv, pkg-config, intltool, gobject-introspection, glib, gdk-pixbuf -, libxml2, cairo, pango, gnome }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + intltool, + gobject-introspection, + glib, + gdk-pixbuf, + libxml2, + cairo, + pango, + gnome, +}: stdenv.mkDerivation rec { pname = "lasem"; version = "0.4.4"; - outputs = [ "bin" "out" "dev" "man" "doc" "devdoc" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + "doc" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0fds3fsx84ylsfvf55zp65y8xqjj5n8gbhcsk02vqglivk7izw4v"; }; - nativeBuildInputs = [ pkg-config intltool gobject-introspection ]; + nativeBuildInputs = [ + pkg-config + intltool + gobject-introspection + ]; propagatedBuildInputs = [ - glib gdk-pixbuf libxml2 cairo pango + glib + gdk-pixbuf + libxml2 + cairo + pango ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/la/lash/package.nix b/pkgs/by-name/la/lash/package.nix index e7c5a822cd4b3..c3ec6476b2a4e 100644 --- a/pkgs/by-name/la/lash/package.nix +++ b/pkgs/by-name/la/lash/package.nix @@ -1,9 +1,20 @@ -{ lib, stdenv, fetchurl, alsa-lib, gtk2, libjack2, libuuid, libxml2 -, makeWrapper, pkg-config, readline }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + gtk2, + libjack2, + libuuid, + libxml2, + makeWrapper, + pkg-config, + readline, +}: assert libuuid != null; -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "lash"; version = "0.5.4"; @@ -13,10 +24,22 @@ stdenv.mkDerivation rec { }; # http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346 - patches = [ ./socket.patch ./gcc-47.patch ]; + patches = [ + ./socket.patch + ./gcc-47.patch + ]; - nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ alsa-lib gtk2 libjack2 libxml2 readline ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + buildInputs = [ + alsa-lib + gtk2 + libjack2 + libxml2 + readline + ]; propagatedBuildInputs = [ libuuid ]; NIX_LDFLAGS = "-lm -lpthread -luuid"; diff --git a/pkgs/by-name/la/lasso/package.nix b/pkgs/by-name/la/lasso/package.nix index 7b2965f1f7305..88f77f42bdd51 100644 --- a/pkgs/by-name/la/lasso/package.nix +++ b/pkgs/by-name/la/lasso/package.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, autoreconfHook -, fetchurl -, fetchpatch -, glib -, gobject-introspection -, gtk-doc -, libtool -, libxml2 -, libxslt -, openssl -, pkg-config -, python3 -, xmlsec -, zlib +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + fetchpatch, + glib, + gobject-introspection, + gtk-doc, + libtool, + libxml2, + libxslt, + openssl, + pkg-config, + python3, + xmlsec, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/la/last-resort/package.nix b/pkgs/by-name/la/last-resort/package.nix index 87fb95e96035f..fb1a4e5411c53 100644 --- a/pkgs/by-name/la/last-resort/package.nix +++ b/pkgs/by-name/la/last-resort/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "last-resort"; diff --git a/pkgs/by-name/la/lastfm/package.nix b/pkgs/by-name/la/lastfm/package.nix index 345e21b87994c..cfd068185f4a3 100644 --- a/pkgs/by-name/la/lastfm/package.nix +++ b/pkgs/by-name/la/lastfm/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchzip -, stdenvNoCC -, writeShellApplication -, curl -, xmlstarlet -, common-updater-scripts +{ + lib, + fetchzip, + stdenvNoCC, + writeShellApplication, + curl, + xmlstarlet, + common-updater-scripts, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/la/lastpass-cli/package.nix b/pkgs/by-name/la/lastpass-cli/package.nix index c6449f8f8e616..c4c7d48d85dbd 100644 --- a/pkgs/by-name/la/lastpass-cli/package.nix +++ b/pkgs/by-name/la/lastpass-cli/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, asciidoc -, cmake -, docbook_xsl -, pkg-config -, bash-completion -, openssl -, curl -, libxml2 -, libxslt +{ + stdenv, + lib, + fetchFromGitHub, + asciidoc, + cmake, + docbook_xsl, + pkg-config, + bash-completion, + openssl, + curl, + libxml2, + libxslt, }: stdenv.mkDerivation rec { @@ -23,7 +24,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-Q0ZG5Ehg29STLeAerMoLfzjaH9JyPk7269RgiPmDJV8="; }; - nativeBuildInputs = [ asciidoc cmake docbook_xsl pkg-config ]; + nativeBuildInputs = [ + asciidoc + cmake + docbook_xsl + pkg-config + ]; buildInputs = [ bash-completion @@ -33,7 +39,10 @@ stdenv.mkDerivation rec { libxslt ]; - installTargets = [ "install" "install-doc" ]; + installTargets = [ + "install" + "install-doc" + ]; postInstall = '' install -Dm644 -T ../contrib/lpass_zsh_completion $out/share/zsh/site-functions/_lpass diff --git a/pkgs/by-name/la/laszip/package.nix b/pkgs/by-name/la/laszip/package.nix index ded2abb03fec8..270d715db99ea 100644 --- a/pkgs/by-name/la/laszip/package.nix +++ b/pkgs/by-name/la/laszip/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fixDarwinDylibNames, }: stdenv.mkDerivation (finalAttrs: { @@ -16,11 +17,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9fzal54YaocONtguOCxnP7h1LejQPQ0dKFiCzfvTjCY="; }; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; meta = { description = "Turn quickly bulky LAS files into compact LAZ files without information loss"; diff --git a/pkgs/by-name/la/laszip_2/package.nix b/pkgs/by-name/la/laszip_2/package.nix index e7a7bb00302d7..735e3e9c3836f 100644 --- a/pkgs/by-name/la/laszip_2/package.nix +++ b/pkgs/by-name/la/laszip_2/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation (finalAttrs: { version = "2.2.0"; diff --git a/pkgs/by-name/la/latexminted/package.nix b/pkgs/by-name/la/latexminted/package.nix index c8947c7ce70c4..ee5409f5dadf7 100644 --- a/pkgs/by-name/la/latexminted/package.nix +++ b/pkgs/by-name/la/latexminted/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchPypi -, python3Packages -, latexminted -, testers +{ + lib, + fetchPypi, + python3Packages, + latexminted, + testers, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/la/latexrun/package.nix b/pkgs/by-name/la/latexrun/package.nix index 5cab85a1cc1ff..464fc7dc9c0d7 100644 --- a/pkgs/by-name/la/latexrun/package.nix +++ b/pkgs/by-name/la/latexrun/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, python3 }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3, +}: stdenvNoCC.mkDerivation { pname = "latexrun"; diff --git a/pkgs/by-name/la/lato/package.nix b/pkgs/by-name/la/lato/package.nix index ff1cc62bee0e9..de07e06369b92 100644 --- a/pkgs/by-name/la/lato/package.nix +++ b/pkgs/by-name/la/lato/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "lato"; diff --git a/pkgs/by-name/la/latte-integrale/package.nix b/pkgs/by-name/la/latte-integrale/package.nix index 822e0f2382141..d6f9df4cc1f68 100644 --- a/pkgs/by-name/la/latte-integrale/package.nix +++ b/pkgs/by-name/la/latte-integrale/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, gmp -, ntl -, cddlib +{ + lib, + stdenv, + fetchurl, + fetchpatch, + gmp, + ntl, + cddlib, }: stdenv.mkDerivation (finalAttrs: { @@ -12,7 +13,9 @@ stdenv.mkDerivation (finalAttrs: { version = "1.7.6"; src = fetchurl { - url = "https://github.com/latte-int/latte/releases/download/version_${lib.replaceStrings ["."] ["_"] finalAttrs.version}/latte-int-${finalAttrs.version}.tar.gz"; + url = "https://github.com/latte-int/latte/releases/download/version_${ + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }/latte-int-${finalAttrs.version}.tar.gz"; hash = "sha256-AGwQ6+XVv9ybFZy6YmSkQyhh/nY84F/oIWJKt9P8IXA="; }; diff --git a/pkgs/by-name/la/lattice-diamond/package.nix b/pkgs/by-name/la/lattice-diamond/package.nix index f80261720cf67..462101b67a307 100644 --- a/pkgs/by-name/la/lattice-diamond/package.nix +++ b/pkgs/by-name/la/lattice-diamond/package.nix @@ -1,11 +1,30 @@ -{ lib, stdenv, rpmextract, patchelf, makeWrapper, file, requireFile, glib, zlib, - freetype, fontconfig, xorg, libusb-compat-0_1, coreutils }: +{ + lib, + stdenv, + rpmextract, + patchelf, + makeWrapper, + file, + requireFile, + glib, + zlib, + freetype, + fontconfig, + xorg, + libusb-compat-0_1, + coreutils, +}: stdenv.mkDerivation { pname = "diamond"; version = "3.10"; - nativeBuildInputs = [ rpmextract patchelf makeWrapper file ]; + nativeBuildInputs = [ + rpmextract + patchelf + makeWrapper + file + ]; src = requireFile { name = "diamond_3_10-base_x64-111-2-x86_64-linux.rpm"; @@ -100,8 +119,16 @@ stdenv.mkDerivation { ''; libPath = lib.makeLibraryPath [ - glib zlib freetype fontconfig - xorg.libSM xorg.libICE xorg.libXrender xorg.libXext xorg.libX11 xorg.libXt + glib + zlib + freetype + fontconfig + xorg.libSM + xorg.libICE + xorg.libXrender + xorg.libXext + xorg.libX11 + xorg.libXt libusb-compat-0_1 ]; diff --git a/pkgs/by-name/la/laudanum/package.nix b/pkgs/by-name/la/laudanum/package.nix index 3a4cc8bd16a9e..19d0122a86f55 100644 --- a/pkgs/by-name/la/laudanum/package.nix +++ b/pkgs/by-name/la/laudanum/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/la/lavat/package.nix b/pkgs/by-name/la/lavat/package.nix index 6cd38f6f34a18..12beae650e526 100644 --- a/pkgs/by-name/la/lavat/package.nix +++ b/pkgs/by-name/la/lavat/package.nix @@ -1,7 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub -, +{ + lib, + stdenv, + fetchFromGitHub, }: let version = "2.1.0"; diff --git a/pkgs/by-name/la/layan-gtk-theme/package.nix b/pkgs/by-name/la/layan-gtk-theme/package.nix index b72f3d2ffe8d0..c159d831212fa 100644 --- a/pkgs/by-name/la/layan-gtk-theme/package.nix +++ b/pkgs/by-name/la/layan-gtk-theme/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchFromGitHub -, lib -, gtk-engine-murrine +{ + stdenv, + fetchFromGitHub, + lib, + gtk-engine-murrine, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/la/lazycli/package.nix b/pkgs/by-name/la/lazycli/package.nix index 77596b66302f1..80c8f4bbac3e8 100644 --- a/pkgs/by-name/la/lazycli/package.nix +++ b/pkgs/by-name/la/lazycli/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "lazycli"; diff --git a/pkgs/by-name/la/lazydocker/package.nix b/pkgs/by-name/la/lazydocker/package.nix index 828e6048c1d8e..d3b35e9707311 100644 --- a/pkgs/by-name/la/lazydocker/package.nix +++ b/pkgs/by-name/la/lazydocker/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, lazydocker, testers }: +{ + lib, + buildGoModule, + fetchFromGitHub, + lazydocker, + testers, +}: buildGoModule rec { pname = "lazydocker"; @@ -17,9 +23,16 @@ buildGoModule rec { rm -f pkg/config/app_config_test.go ''; - excludedPackages = [ "scripts" "test/printrandom" ]; + excludedPackages = [ + "scripts" + "test/printrandom" + ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; passthru.tests.version = testers.testVersion { package = lazydocker; @@ -29,7 +42,10 @@ buildGoModule rec { description = "Simple terminal UI for both docker and docker-compose"; homepage = "https://github.com/jesseduffield/lazydocker"; license = licenses.mit; - maintainers = with maintainers; [ das-g Br1ght0ne ]; + maintainers = with maintainers; [ + das-g + Br1ght0ne + ]; mainProgram = "lazydocker"; }; } diff --git a/pkgs/by-name/la/lazymc/package.nix b/pkgs/by-name/la/lazymc/package.nix index 8df8352d8a51b..75a6c1536c7fd 100644 --- a/pkgs/by-name/la/lazymc/package.nix +++ b/pkgs/by-name/la/lazymc/package.nix @@ -1,10 +1,10 @@ { - lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin -, nix-update-script + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -35,7 +35,10 @@ rustPlatform.buildRustPackage rec { description = "Remote wake-up daemon for minecraft servers"; homepage = "https://github.com/timvisee/lazymc"; license = licenses.gpl3Only; - maintainers = with maintainers; [ h7x4 dandellion ]; + maintainers = with maintainers; [ + h7x4 + dandellion + ]; platforms = platforms.unix; mainProgram = "lazymc"; }; diff --git a/pkgs/by-name/lb/lbd/package.nix b/pkgs/by-name/lb/lbd/package.nix index f84ed553ad25b..330d2775c03fd 100644 --- a/pkgs/by-name/lb/lbd/package.nix +++ b/pkgs/by-name/lb/lbd/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, makeWrapper -, bash -, coreutils -, diffutils -, gawk -, gnugrep -, gnused -, host -, netcat-openbsd +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + bash, + coreutils, + diffutils, + gawk, + gnugrep, + gnused, + host, + netcat-openbsd, }: stdenvNoCC.mkDerivation { @@ -32,7 +33,17 @@ stdenvNoCC.mkDerivation { mkdir -p $out/{bin,share/lbd} cp lbd $out/share/lbd/ makeWrapper ${lib.getExe bash} $out/bin/lbd \ - --prefix PATH : "${lib.makeBinPath [ coreutils diffutils gawk gnugrep gnused host netcat-openbsd ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + coreutils + diffutils + gawk + gnugrep + gnused + host + netcat-openbsd + ] + }" \ --add-flags "$out/share/lbd/lbd" runHook postInstall ''; diff --git a/pkgs/by-name/lb/lbdb/package.nix b/pkgs/by-name/lb/lbdb/package.nix index cd1f8d0c48618..c0cdd532a25f5 100644 --- a/pkgs/by-name/lb/lbdb/package.nix +++ b/pkgs/by-name/lb/lbdb/package.nix @@ -1,23 +1,31 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, perl -, bsd-finger -, withAbook ? true, abook -, withGnupg ? true, gnupg -, withGoobook ? true, goobook -, withKhard ? true, khard -, withMu ? true, mu +{ + lib, + stdenv, + fetchurl, + fetchpatch, + perl, + bsd-finger, + withAbook ? true, + abook, + withGnupg ? true, + gnupg, + withGoobook ? true, + goobook, + withKhard ? true, + khard, + withMu ? true, + mu, }: let - perl' = perl.withPackages (p: with p; [ - AuthenSASL - ConvertASN1 - IOSocketSSL - perlldap - ]); + perl' = perl.withPackages ( + p: with p; [ + AuthenSASL + ConvertASN1 + IOSocketSSL + perlldap + ] + ); in stdenv.mkDerivation rec { pname = "lbdb"; @@ -28,7 +36,8 @@ stdenv.mkDerivation rec { sha256 = "1gr5l2fr9qbdccga8bhsrpvz6jxigvfkdxrln9wyf2xpps5cdjxh"; }; - buildInputs = [ perl' ] + buildInputs = + [ perl' ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) bsd-finger ++ lib.optional withAbook abook ++ lib.optional withGnupg gnupg @@ -36,7 +45,8 @@ stdenv.mkDerivation rec { ++ lib.optional withKhard khard ++ lib.optional withMu mu; - configureFlags = [ ] + configureFlags = + [ ] ++ lib.optional withAbook "--with-abook" ++ lib.optional withGnupg "--with-gpg" ++ lib.optional withGoobook "--with-goobook" @@ -57,7 +67,10 @@ stdenv.mkDerivation rec { homepage = "https://www.spinnaker.de/lbdb/"; description = "Little Brother's Database"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ kaiha bfortz ]; + maintainers = with maintainers; [ + kaiha + bfortz + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/lb/lbreakout2/package.nix b/pkgs/by-name/lb/lbreakout2/package.nix index 4853162ab111f..fb53778a817ae 100644 --- a/pkgs/by-name/lb/lbreakout2/package.nix +++ b/pkgs/by-name/lb/lbreakout2/package.nix @@ -1,12 +1,13 @@ -{ lib -, SDL -, SDL_mixer -, fetchpatch -, fetchurl -, libintl -, libpng -, stdenv -, zlib +{ + lib, + SDL, + SDL_mixer, + fetchpatch, + fetchurl, + libintl, + libpng, + stdenv, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -47,7 +48,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Breakout clone from the LGames series"; license = with lib.licenses; [ gpl2Plus ]; mainProgram = "lbreakout2"; - maintainers = with lib.maintainers; [ AndersonTorres ciil ]; + maintainers = with lib.maintainers; [ + AndersonTorres + ciil + ]; platforms = lib.platforms.unix; hydraPlatforms = lib.platforms.linux; # build hangs on both Darwin platforms, needs investigation }; diff --git a/pkgs/by-name/lb/lbreakouthd/package.nix b/pkgs/by-name/lb/lbreakouthd/package.nix index 2675718466930..e694a3a8ebea3 100644 --- a/pkgs/by-name/lb/lbreakouthd/package.nix +++ b/pkgs/by-name/lb/lbreakouthd/package.nix @@ -1,11 +1,12 @@ -{ lib -, SDL2 -, SDL2_image -, SDL2_mixer -, SDL2_ttf -, directoryListingUpdater -, fetchurl -, stdenv +{ + lib, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + directoryListingUpdater, + fetchurl, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/lb/lbry/package.nix b/pkgs/by-name/lb/lbry/package.nix index fe4100ebef57e..8785b836f0516 100644 --- a/pkgs/by-name/lb/lbry/package.nix +++ b/pkgs/by-name/lb/lbry/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools}: +{ + lib, + fetchurl, + appimageTools, +}: appimageTools.wrapAppImage rec { pname = "lbry-desktop"; diff --git a/pkgs/by-name/lb/lbzip2/package.nix b/pkgs/by-name/lb/lbzip2/package.nix index 2e7557a310e51..b08fa3c465160 100644 --- a/pkgs/by-name/lb/lbzip2/package.nix +++ b/pkgs/by-name/lb/lbzip2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, gnulib, perl, autoconf, automake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + gnulib, + perl, + autoconf, + automake, +}: stdenv.mkDerivation rec { pname = "lbzip2"; @@ -22,8 +31,14 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ gnulib perl ]; - nativeBuildInputs = [ autoconf automake ]; + buildInputs = [ + gnulib + perl + ]; + nativeBuildInputs = [ + autoconf + automake + ]; preConfigure = '' substituteInPlace configure.ac --replace 'AC_PREREQ([2.63])' 'AC_PREREQ(2.64)' diff --git a/pkgs/by-name/lc/lc0/package.nix b/pkgs/by-name/lc/lc0/package.nix index 1c1099752580c..adc46d627a3cb 100644 --- a/pkgs/by-name/lc/lc0/package.nix +++ b/pkgs/by-name/lc/lc0/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, python3 -, zlib -, gtest -, eigen +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + zlib, + gtest, + eigen, }: stdenv.mkDerivation rec { @@ -45,15 +46,15 @@ stdenv.mkDerivation rec { zlib ]; - mesonFlags = [ - "-Dplain_cuda=false" - "-Daccelerate=false" - "-Dmetal=disabled" - "-Dembed=false" - ] - # in version 31 this option will be required - ++ lib.optionals (lib.versionAtLeast version "0.31") [ "-Dnative_cuda=false" ]; - + mesonFlags = + [ + "-Dplain_cuda=false" + "-Daccelerate=false" + "-Dmetal=disabled" + "-Dembed=false" + ] + # in version 31 this option will be required + ++ lib.optionals (lib.versionAtLeast version "0.31") [ "-Dnative_cuda=false" ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/lc/lc3tools/package.nix b/pkgs/by-name/lc/lc3tools/package.nix index c6120a227a993..f1ea373519398 100644 --- a/pkgs/by-name/lc/lc3tools/package.nix +++ b/pkgs/by-name/lc/lc3tools/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, unzip, flex, tk, ncurses, readline }: +{ + lib, + stdenv, + fetchurl, + unzip, + flex, + tk, + ncurses, + readline, +}: stdenv.mkDerivation { pname = "lc3tools"; @@ -25,7 +34,12 @@ stdenv.mkDerivation { ]; nativeBuildInputs = [ unzip ]; - buildInputs = [ flex tk ncurses readline ]; + buildInputs = [ + flex + tk + ncurses + readline + ]; # lumetta published this a while ago but handrolled his configure # jank in the original packaging makes this necessary: diff --git a/pkgs/by-name/lc/lcab/package.nix b/pkgs/by-name/lc/lcab/package.nix index 54f6159ab15db..dc7d018f23983 100644 --- a/pkgs/by-name/lc/lcab/package.nix +++ b/pkgs/by-name/lc/lcab/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/lc/lcalc/package.nix b/pkgs/by-name/lc/lcalc/package.nix index 6ea1ca8f8e6c0..f81ea501270fc 100644 --- a/pkgs/by-name/lc/lcalc/package.nix +++ b/pkgs/by-name/lc/lcalc/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, autoreconfHook -, gengetopt -, pkg-config -, fetchFromGitLab -, pari +{ + lib, + stdenv, + autoreconfHook, + gengetopt, + pkg-config, + fetchFromGitLab, + pari, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/lc/lcdf-typetools/package.nix b/pkgs/by-name/lc/lcdf-typetools/package.nix index feb2563735b4b..07fe3981db667 100644 --- a/pkgs/by-name/lc/lcdf-typetools/package.nix +++ b/pkgs/by-name/lc/lcdf-typetools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "lcdf-typetools"; diff --git a/pkgs/by-name/lc/lcdproc/package.nix b/pkgs/by-name/lc/lcdproc/package.nix index 7570428d7f3ec..81c2971b91035 100644 --- a/pkgs/by-name/lc/lcdproc/package.nix +++ b/pkgs/by-name/lc/lcdproc/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, makeWrapper -, pkg-config -, doxygen -, freetype -, libX11 -, libftdi -, libusb-compat-0_1 -, libusb1 -, ncurses -, perl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + makeWrapper, + pkg-config, + doxygen, + freetype, + libX11, + libftdi, + libusb-compat-0_1, + libusb1, + ncurses, + perl, }: stdenv.mkDerivation rec { @@ -50,9 +51,21 @@ stdenv.mkDerivation rec { "--with-pidfile-dir=/run" ]; - buildInputs = [ freetype libX11 libftdi libusb-compat-0_1 libusb1 ncurses ]; + buildInputs = [ + freetype + libX11 + libftdi + libusb-compat-0_1 + libusb1 + ncurses + ]; - nativeBuildInputs = [ autoreconfHook doxygen makeWrapper pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + doxygen + makeWrapper + pkg-config + ]; # In 0.5.9: gcc: error: libbignum.a: No such file or directory enableParallelBuilding = false; diff --git a/pkgs/by-name/lc/lci/package.nix b/pkgs/by-name/lc/lci/package.nix index 659855c23fb2d..11db8b1bf0c88 100644 --- a/pkgs/by-name/lc/lci/package.nix +++ b/pkgs/by-name/lc/lci/package.nix @@ -1,16 +1,21 @@ -{lib, stdenv, fetchurl, readline}: +{ + lib, + stdenv, + fetchurl, + readline, +}: stdenv.mkDerivation rec { version = "0.6"; pname = "lci"; src = fetchurl { url = "mirror://sourceforge/lci/${pname}-${version}.tar.gz"; - sha256="204f1ca5e2f56247d71ab320246811c220ed511bf08c9cb7f305cf180a93948e"; + sha256 = "204f1ca5e2f56247d71ab320246811c220ed511bf08c9cb7f305cf180a93948e"; }; - buildInputs = [readline]; + buildInputs = [ readline ]; meta = { description = "Lambda calculus interpreter"; mainProgram = "lci"; - maintainers = with lib.maintainers; [raskin]; + maintainers = with lib.maintainers; [ raskin ]; platforms = with lib.platforms; linux; license = lib.licenses.gpl3; }; diff --git a/pkgs/by-name/lc/lcm/package.nix b/pkgs/by-name/lc/lcm/package.nix index dcd50a6f4fe1d..767d453a47764 100644 --- a/pkgs/by-name/lc/lcm/package.nix +++ b/pkgs/by-name/lc/lcm/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, glib, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + glib, + pkg-config, +}: stdenv.mkDerivation rec { pname = "lcm"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-IFHoJl5OtnUb+w3gLG5f578yAektjgrY9Uj2eUVoIrc="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/lc/lcms1/package.nix b/pkgs/by-name/lc/lcms1/package.nix index cdb994578b296..4bf2f1e3c4348 100644 --- a/pkgs/by-name/lc/lcms1/package.nix +++ b/pkgs/by-name/lc/lcms1/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "lcms"; @@ -15,7 +19,12 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; }; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + ]; doCheck = false; # fails with "Error in Linear interpolation (2p): Must be i=8000, But is n=8001" diff --git a/pkgs/by-name/lc/lcms2/package.nix b/pkgs/by-name/lc/lcms2/package.nix index ab984884073a3..d78841ef5c859 100644 --- a/pkgs/by-name/lc/lcms2/package.nix +++ b/pkgs/by-name/lc/lcms2/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libtiff, libjpeg, zlib }: +{ + lib, + stdenv, + fetchurl, + libtiff, + libjpeg, + zlib, +}: stdenv.mkDerivation rec { pname = "lcms2"; @@ -9,9 +16,17 @@ stdenv.mkDerivation rec { hash = "sha256-2HPTSti5tM6gEGMfGmIo0gh0deTcXnY+uBrMI9nUWlE="; }; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; - propagatedBuildInputs = [ libtiff libjpeg zlib ]; + propagatedBuildInputs = [ + libtiff + libjpeg + zlib + ]; # See https://trac.macports.org/ticket/60656 LDFLAGS = if stdenv.hostPlatform.isDarwin then "-Wl,-w" else null; diff --git a/pkgs/by-name/lc/lcrq/package.nix b/pkgs/by-name/lc/lcrq/package.nix index 995de90a8cef5..42bdde48166c6 100644 --- a/pkgs/by-name/lc/lcrq/package.nix +++ b/pkgs/by-name/lc/lcrq/package.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitea, - lib + lib, }: stdenv.mkDerivation (finalAttrs: { pname = "lcrq"; @@ -21,8 +21,17 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://codeberg.org/librecast/lcrq/src/tag/v${finalAttrs.version}/CHANGELOG.md"; description = "Librecast RaptorQ library"; homepage = "https://librecast.net/lcrq.html"; - license = [ lib.licenses.gpl2 lib.licenses.gpl3 ]; - maintainers = with lib.maintainers; [ albertchae aynish DMills27 jasonodoom jleightcap ]; + license = [ + lib.licenses.gpl2 + lib.licenses.gpl3 + ]; + maintainers = with lib.maintainers; [ + albertchae + aynish + DMills27 + jasonodoom + jleightcap + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/lc/lcsync/package.nix b/pkgs/by-name/lc/lcsync/package.nix index a71514516eb97..dc468fb4e397b 100644 --- a/pkgs/by-name/lc/lcsync/package.nix +++ b/pkgs/by-name/lc/lcsync/package.nix @@ -4,7 +4,7 @@ lib, librecast, libsodium, - stdenv + stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "lcsync"; @@ -17,7 +17,11 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; hash = "sha256-x8KjvUtn00g+zxDfSWZq4WgALDKRgbCF9rtipdOMbpc="; }; - buildInputs = [ lcrq librecast libsodium ]; + buildInputs = [ + lcrq + librecast + libsodium + ]; configureFlags = [ "SETCAP_PROGRAM=true" ]; installFlags = [ "PREFIX=$(out)" ]; doCheck = true; @@ -27,8 +31,17 @@ stdenv.mkDerivation (finalAttrs: { description = "Librecast File and Syncing Tool"; mainProgram = "lcsync"; homepage = "https://librecast.net/lcsync.html"; - license = [ lib.licenses.gpl2 lib.licenses.gpl3 ]; - maintainers = with lib.maintainers; [ albertchae aynish DMills27 jasonodoom jleightcap ]; + license = [ + lib.licenses.gpl2 + lib.licenses.gpl3 + ]; + maintainers = with lib.maintainers; [ + albertchae + aynish + DMills27 + jasonodoom + jleightcap + ]; platforms = lib.platforms.gnu; }; }) diff --git a/pkgs/by-name/ld/ldacbt/package.nix b/pkgs/by-name/ld/ldacbt/package.nix index b11da8cb59d38..a4aa2b6451980 100644 --- a/pkgs/by-name/ld/ldacbt/package.nix +++ b/pkgs/by-name/ld/ldacbt/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -15,7 +17,10 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake @@ -28,10 +33,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "AOSP libldac dispatcher"; - homepage = "https://github.com/EHfive/ldacBT"; - license = licenses.asl20; + homepage = "https://github.com/EHfive/ldacBT"; + license = licenses.asl20; # libldac code detects & #error's out on non-LE byte order - platforms = platforms.littleEndian; + platforms = platforms.littleEndian; maintainers = [ ]; }; } diff --git a/pkgs/by-name/ld/ldapmonitor/package.nix b/pkgs/by-name/ld/ldapmonitor/package.nix index 989e1bebc1530..0587418d3e8e5 100644 --- a/pkgs/by-name/ld/ldapmonitor/package.nix +++ b/pkgs/by-name/ld/ldapmonitor/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ld/ldapnomnom/package.nix b/pkgs/by-name/ld/ldapnomnom/package.nix index b6d14a323517e..f761083458fe6 100644 --- a/pkgs/by-name/ld/ldapnomnom/package.nix +++ b/pkgs/by-name/ld/ldapnomnom/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ld/ldapvi/package.nix b/pkgs/by-name/ld/ldapvi/package.nix index d30f8465ff379..f7a5cf400f6ec 100644 --- a/pkgs/by-name/ld/ldapvi/package.nix +++ b/pkgs/by-name/ld/ldapvi/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchgit, openldap, openssl, popt, glib, libxcrypt, ncurses, readline, pkg-config, cyrus_sasl, autoconf, automake }: +{ + lib, + stdenv, + fetchgit, + openldap, + openssl, + popt, + glib, + libxcrypt, + ncurses, + readline, + pkg-config, + cyrus_sasl, + autoconf, + automake, +}: stdenv.mkDerivation { pname = "ldapvi"; @@ -11,8 +26,21 @@ stdenv.mkDerivation { sha256 = "3ef3103030ecb04d7fe80180e3fd490377cf81fb2af96782323fddabc3225030"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ openldap openssl popt glib libxcrypt ncurses readline cyrus_sasl ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + openldap + openssl + popt + glib + libxcrypt + ncurses + readline + cyrus_sasl + ]; preConfigure = '' cd ldapvi diff --git a/pkgs/by-name/ld/ldc/bootstrap.nix b/pkgs/by-name/ld/ldc/bootstrap.nix index 2a23e755c7cf6..fcb1f5191de9b 100644 --- a/pkgs/by-name/ld/ldc/bootstrap.nix +++ b/pkgs/by-name/ld/ldc/bootstrap.nix @@ -1,18 +1,29 @@ -{ lib, stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, libxml2 }: +{ + lib, + stdenv, + fetchurl, + curl, + tzdata, + autoPatchelfHook, + fixDarwinDylibNames, + libxml2, +}: let inherit (stdenv) hostPlatform; OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name; - ARCH = if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name; + ARCH = + if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name; version = "1.30.0"; hashes = { # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc.. osx-x86_64 = "sha256-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk="; linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE="; - linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y="; - osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4="; + linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y="; + osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4="; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "ldc-bootstrap"; inherit version; @@ -25,13 +36,21 @@ in stdenv.mkDerivation { dontConfigure = true; dontBuild = true; - nativeBuildInputs = lib.optionals hostPlatform.isLinux [ - autoPatchelfHook - ] ++ lib.optional hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = + lib.optionals hostPlatform.isLinux [ + autoPatchelfHook + ] + ++ lib.optional hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxml2 stdenv.cc.cc ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libxml2 + stdenv.cc.cc + ]; - propagatedBuildInputs = [ curl tzdata ]; + propagatedBuildInputs = [ + curl + tzdata + ]; installPhase = '' mkdir -p $out @@ -43,8 +62,19 @@ in stdenv.mkDerivation { description = "LLVM-based D Compiler"; homepage = "https://github.com/ldc-developers/ldc"; # from https://github.com/ldc-developers/ldc/blob/master/LICENSE - license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ]; + license = with licenses; [ + bsd3 + boost + mit + ncsa + gpl2Plus + ]; maintainers = with maintainers; [ lionello ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/by-name/ld/ldc/package.nix b/pkgs/by-name/ld/ldc/package.nix index 112a9eeb1d8ed..c8f1ba18633a0 100644 --- a/pkgs/by-name/ld/ldc/package.nix +++ b/pkgs/by-name/ld/ldc/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, llvm_18 -, curl -, tzdata -, lit -, gdb -, unzip -, darwin -, callPackage -, makeWrapper -, runCommand -, writeText -, targetPackages - -, ldcBootstrap ? callPackage ./bootstrap.nix { } +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + llvm_18, + curl, + tzdata, + lit, + gdb, + unzip, + darwin, + callPackage, + makeWrapper, + runCommand, + writeText, + targetPackages, + + ldcBootstrap ? callPackage ./bootstrap.nix { }, }: let - pathConfig = runCommand "ldc-lib-paths" {} '' + pathConfig = runCommand "ldc-lib-paths" { } '' mkdir $out echo ${tzdata}/share/zoneinfo/ > $out/TZDatabaseDirFile echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > $out/LibcurlPathFile @@ -43,36 +44,55 @@ stdenv.mkDerivation (finalAttrs: { # https://issues.dlang.org/show_bug.cgi?id=19553 hardeningDisable = [ "fortify" ]; - postPatch = '' - patchShebangs runtime tools tests - - rm tests/dmd/fail_compilation/mixin_gc.d - rm tests/dmd/runnable/xtest46_gc.d - rm tests/dmd/runnable/testptrref_gc.d - - # test depends on current year - rm tests/dmd/compilable/ddocYear.d - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace runtime/phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" "" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace runtime/phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)" - - # https://github.com/NixOS/nixpkgs/issues/34817 - rm -r tests/plugins/addFuncEntryCall - ''; - - nativeBuildInputs = [ - cmake ldcBootstrap lit lit.python llvm_18.dev makeWrapper ninja unzip - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 - gdb + postPatch = + '' + patchShebangs runtime tools tests + + rm tests/dmd/fail_compilation/mixin_gc.d + rm tests/dmd/runnable/xtest46_gc.d + rm tests/dmd/runnable/testptrref_gc.d + + # test depends on current year + rm tests/dmd/compilable/ddocYear.d + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace runtime/phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" "" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace runtime/phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)" + + # https://github.com/NixOS/nixpkgs/issues/34817 + rm -r tests/plugins/addFuncEntryCall + ''; + + nativeBuildInputs = + [ + cmake + ldcBootstrap + lit + lit.python + llvm_18.dev + makeWrapper + ninja + unzip + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 + gdb + ]; + + buildInputs = [ + curl + tzdata ]; - buildInputs = [ curl tzdata ]; - - outputs = [ "out" "include" ]; + outputs = [ + "out" + "include" + ]; outputInclude = "include"; cmakeFlags = [ @@ -106,8 +126,7 @@ stdenv.mkDerivation (finalAttrs: { ''; # https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746 - additionalExceptions = lib.optionalString stdenv.hostPlatform.isDarwin - "|druntime-test-shared"; + additionalExceptions = lib.optionalString stdenv.hostPlatform.isDarwin "|druntime-test-shared"; checkPhase = '' # Build default lib test runners @@ -140,41 +159,58 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/ldc-developers/ldc"; changelog = "https://github.com/ldc-developers/ldc/releases/tag/v${finalAttrs.version}"; # from https://github.com/ldc-developers/ldc/blob/master/LICENSE - license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ]; + license = with licenses; [ + bsd3 + boost + mit + ncsa + gpl2Plus + ]; mainProgram = "ldc2"; - maintainers = with maintainers; [ lionello jtbx ]; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with maintainers; [ + lionello + jtbx + ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; passthru.ldcBootstrap = ldcBootstrap; - passthru.tests = let - ldc = finalAttrs.finalPackage; - helloWorld = stdenv.mkDerivation (finalAttrs: { - name = "ldc-hello-world"; - src = writeText "hello_world.d" '' - module hello_world; - import std.stdio; - void main() { - writeln("Hello, world!"); - } - ''; - dontUnpack = true; - buildInputs = [ ldc ]; - dFlags = []; - buildPhase = '' - ldc2 ${lib.escapeShellArgs finalAttrs.dFlags} -of=test $src - ''; - installPhase = '' - mkdir -p $out/bin - mv test $out/bin - ''; - }); - in { - # Without -shared, built binaries should not contain - # references to the compiler binaries. - no-references-to-compiler = helloWorld.overrideAttrs { - disallowedReferences = [ ldc ]; - dFlags = ["-g"]; + passthru.tests = + let + ldc = finalAttrs.finalPackage; + helloWorld = stdenv.mkDerivation (finalAttrs: { + name = "ldc-hello-world"; + src = writeText "hello_world.d" '' + module hello_world; + import std.stdio; + void main() { + writeln("Hello, world!"); + } + ''; + dontUnpack = true; + buildInputs = [ ldc ]; + dFlags = [ ]; + buildPhase = '' + ldc2 ${lib.escapeShellArgs finalAttrs.dFlags} -of=test $src + ''; + installPhase = '' + mkdir -p $out/bin + mv test $out/bin + ''; + }); + in + { + # Without -shared, built binaries should not contain + # references to the compiler binaries. + no-references-to-compiler = helloWorld.overrideAttrs { + disallowedReferences = [ ldc ]; + dFlags = [ "-g" ]; + }; }; - }; }) diff --git a/pkgs/by-name/ld/ldm/package.nix b/pkgs/by-name/ld/ldm/package.nix index 5214f270bfb26..c56ea0e82691c 100644 --- a/pkgs/by-name/ld/ldm/package.nix +++ b/pkgs/by-name/ld/ldm/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchgit, udev, util-linux, mountPath ? "/media/" }: +{ + lib, + stdenv, + fetchgit, + udev, + util-linux, + mountPath ? "/media/", +}: assert mountPath != ""; @@ -17,7 +24,10 @@ stdenv.mkDerivation rec { sha256 = "0lxfypnbamfx6p9ar5k9wra20gvwn665l4pp2j4vsx4yi5q7rw2n"; }; - buildInputs = [ udev util-linux ]; + buildInputs = [ + udev + util-linux + ]; postPatch = '' substituteInPlace ldm.c \ diff --git a/pkgs/by-name/ld/ldmtool/package.nix b/pkgs/by-name/ld/ldmtool/package.nix index 6a1527ea8fe2e..19495696c14c0 100644 --- a/pkgs/by-name/ld/ldmtool/package.nix +++ b/pkgs/by-name/ld/ldmtool/package.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, gtk-doc, pkg-config, libuuid, - libtool, readline, gobject-introspection, json-glib, lvm2, libxslt, docbook_xsl -, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + gtk-doc, + pkg-config, + libuuid, + libtool, + readline, + gobject-introspection, + json-glib, + lvm2, + libxslt, + docbook_xsl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "ldmtool"; @@ -31,9 +46,20 @@ stdenv.mkDerivation rec { configureScript = "sh autogen.sh"; - nativeBuildInputs = [ pkg-config autoconf automake gobject-introspection ]; - buildInputs = [ gtk-doc lvm2 libxslt.bin - libtool readline json-glib libuuid + nativeBuildInputs = [ + pkg-config + autoconf + automake + gobject-introspection + ]; + buildInputs = [ + gtk-doc + lvm2 + libxslt.bin + libtool + readline + json-glib + libuuid ]; meta = with lib; { diff --git a/pkgs/by-name/ld/ldns/package.nix b/pkgs/by-name/ld/ldns/package.nix index 96e6b7d54db9b..ed0a570a75038 100644 --- a/pkgs/by-name/ld/ldns/package.nix +++ b/pkgs/by-name/ld/ldns/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, openssl, perl, which, dns-root-data }: +{ + lib, + stdenv, + fetchurl, + openssl, + perl, + which, + dns-root-data, +}: stdenv.mkDerivation rec { pname = "ldns"; @@ -13,21 +21,28 @@ stdenv.mkDerivation rec { patchShebangs doc/doxyparse.pl ''; - outputs = [ "out" "dev" "man" "examples" ]; + outputs = [ + "out" + "dev" + "man" + "examples" + ]; nativeBuildInputs = [ perl ]; buildInputs = [ openssl ]; - configureFlags = [ - "--with-ssl=${openssl.dev}" - "--with-trust-anchor=${dns-root-data}/root.key" - "--with-drill" - "--disable-gost" - "--with-examples" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "ac_cv_func_malloc_0_nonnull=yes" - "ac_cv_func_realloc_0_nonnull=yes" - ]; + configureFlags = + [ + "--with-ssl=${openssl.dev}" + "--with-trust-anchor=${dns-root-data}/root.key" + "--with-drill" + "--disable-gost" + "--with-examples" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; nativeCheckInputs = [ which ]; doCheck = false; # fails. missing some files diff --git a/pkgs/by-name/ld/ldproxy/package.nix b/pkgs/by-name/ld/ldproxy/package.nix index 4736207cdc170..ac1f62c4132d0 100644 --- a/pkgs/by-name/ld/ldproxy/package.nix +++ b/pkgs/by-name/ld/ldproxy/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "ldproxy"; @@ -23,7 +27,10 @@ rustPlatform.buildRustPackage rec { description = "Linker Proxy: a simple tool to forward linker arguments to the actual linker executable"; homepage = "https://github.com/esp-rs/embuild"; changelog = "https://github.com/esp-rs/embuild/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ vpochapuis ]; }; } diff --git a/pkgs/by-name/ld/ldtk/package.nix b/pkgs/by-name/ld/ldtk/package.nix index 4e05fc2b39117..7eba14b949495 100644 --- a/pkgs/by-name/ld/ldtk/package.nix +++ b/pkgs/by-name/ld/ldtk/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, copyDesktopItems, unzip -, appimage-run, nix-update-script }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + unzip, + appimage-run, + nix-update-script, +}: stdenv.mkDerivation (finalAttrs: { pname = "ldtk"; @@ -10,7 +19,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-i7HIcKs10srfvwihGdMEnnmGoqgFWNJhC6vGf81QJWY="; }; - nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ]; + nativeBuildInputs = [ + unzip + makeWrapper + copyDesktopItems + appimage-run + ]; buildInputs = [ appimage-run ]; diff --git a/pkgs/by-name/le/leaf/package.nix b/pkgs/by-name/le/leaf/package.nix index 1bd44f23d3049..a37a9b1c9c370 100644 --- a/pkgs/by-name/le/leaf/package.nix +++ b/pkgs/by-name/le/leaf/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/le/league-gothic/package.nix b/pkgs/by-name/le/league-gothic/package.nix index c119dc3f562f7..ca72373b1b806 100644 --- a/pkgs/by-name/le/league-gothic/package.nix +++ b/pkgs/by-name/le/league-gothic/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "league-gothic"; diff --git a/pkgs/by-name/le/league-of-moveable-type/package.nix b/pkgs/by-name/le/league-of-moveable-type/package.nix index 236a2e39ed10a..4e0f6fbce6e4e 100644 --- a/pkgs/by-name/le/league-of-moveable-type/package.nix +++ b/pkgs/by-name/le/league-of-moveable-type/package.nix @@ -1,22 +1,23 @@ -{ lib -, symlinkJoin -, the-neue-black -, blackout -, chunk -, fanwood -, goudy-bookletter-1911 -, junction-font -, knewave -, league-gothic -, league-script-number-one -, league-spartan -, linden-hill -, orbitron -, ostrich-sans -, prociono -, raleway -, sniglet -, sorts-mill-goudy +{ + lib, + symlinkJoin, + the-neue-black, + blackout, + chunk, + fanwood, + goudy-bookletter-1911, + junction-font, + knewave, + league-gothic, + league-script-number-one, + league-spartan, + linden-hill, + orbitron, + ostrich-sans, + prociono, + raleway, + sniglet, + sorts-mill-goudy, }: symlinkJoin { @@ -57,6 +58,9 @@ symlinkJoin { license = lib.licenses.ofl; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ bergey minijackson ]; + maintainers = with lib.maintainers; [ + bergey + minijackson + ]; }; } diff --git a/pkgs/by-name/le/league-script-number-one/package.nix b/pkgs/by-name/le/league-script-number-one/package.nix index 0ced0c8d181d6..a408f64cb589d 100644 --- a/pkgs/by-name/le/league-script-number-one/package.nix +++ b/pkgs/by-name/le/league-script-number-one/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "league-script-number-one"; diff --git a/pkgs/by-name/le/league-spartan/package.nix b/pkgs/by-name/le/league-spartan/package.nix index 022346c5abca8..35704c997a404 100644 --- a/pkgs/by-name/le/league-spartan/package.nix +++ b/pkgs/by-name/le/league-spartan/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "league-spartan"; diff --git a/pkgs/by-name/le/lean/package.nix b/pkgs/by-name/le/lean/package.nix index 4df1d6eb8aab5..d8248af1b4096 100644 --- a/pkgs/by-name/le/lean/package.nix +++ b/pkgs/by-name/le/lean/package.nix @@ -1,18 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, gmp, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + gmp, + coreutils, +}: stdenv.mkDerivation rec { pname = "lean"; version = "3.51.0"; src = fetchFromGitHub { - owner = "leanprover-community"; - repo = "lean"; + owner = "leanprover-community"; + repo = "lean"; # lean's version string contains the commit sha1 it was built # from. this is then used to check whether an olean file should be # rebuilt. don't use a tag as rev because this will get replaced into # src/githash.h.in in preConfigure. - rev = "9fc1dee97a72a3e34d658aefb4b8a95ecd3d477c"; - hash = "sha256-Vcsph4dTNLafeaTtVwJS8tWoWCgcP6pxF0ssZDE/YfM="; + rev = "9fc1dee97a72a3e34d658aefb4b8a95ecd3d477c"; + hash = "sha256-Vcsph4dTNLafeaTtVwJS8tWoWCgcP6pxF0ssZDE/YfM="; }; patches = [ @@ -33,12 +41,14 @@ stdenv.mkDerivation rec { # library. doCheck = true; - preConfigure = assert builtins.stringLength src.rev == 40; '' - substituteInPlace src/githash.h.in \ - --subst-var-by GIT_SHA1 "${src.rev}" - substituteInPlace library/init/version.lean.in \ - --subst-var-by GIT_SHA1 "${src.rev}" - ''; + preConfigure = + assert builtins.stringLength src.rev == 40; + '' + substituteInPlace src/githash.h.in \ + --subst-var-by GIT_SHA1 "${src.rev}" + substituteInPlace library/init/version.lean.in \ + --subst-var-by GIT_SHA1 "${src.rev}" + ''; postPatch = "patchShebangs ."; @@ -49,11 +59,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Automatic and interactive theorem prover"; - homepage = "https://leanprover.github.io/"; - changelog = "https://github.com/leanprover-community/lean/blob/v${version}/doc/changes.md"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice gebner ]; + homepage = "https://leanprover.github.io/"; + changelog = "https://github.com/leanprover-community/lean/blob/v${version}/doc/changes.md"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ + thoughtpolice + gebner + ]; }; } - diff --git a/pkgs/by-name/le/lean2/package.nix b/pkgs/by-name/le/lean2/package.nix index 83cada9e309ab..f4378b1620cc9 100644 --- a/pkgs/by-name/le/lean2/package.nix +++ b/pkgs/by-name/le/lean2/package.nix @@ -1,14 +1,25 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, gmp, mpfr, python3 -, jemalloc, ninja, makeWrapper }: +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + cmake, + gmp, + mpfr, + python3, + jemalloc, + ninja, + makeWrapper, +}: stdenv.mkDerivation { pname = "lean2"; version = "2018-10-01"; src = fetchFromGitHub { - owner = "leanprover"; - repo = "lean2"; - rev = "8072fdf9a0b31abb9d43ab894d7a858639e20ed7"; + owner = "leanprover"; + repo = "lean2"; + rev = "8072fdf9a0b31abb9d43ab894d7a858639e20ed7"; sha256 = "12bscgihdgvaq5xi0hqf5r4w386zxm3nkx1n150lv5smhg8ga3gg"; }; @@ -20,8 +31,17 @@ stdenv.mkDerivation { sha256 = "060mvqn9y8lsn4l20q9rhamkymzsgh0r1vzkjw78gnj8kjw67jl5"; }) ]; - nativeBuildInputs = [ cmake makeWrapper ninja ]; - buildInputs = [ gmp mpfr python3 jemalloc ]; + nativeBuildInputs = [ + cmake + makeWrapper + ninja + ]; + buildInputs = [ + gmp + mpfr + python3 + jemalloc + ]; preConfigure = '' patchShebangs bin/leantags @@ -36,11 +56,14 @@ stdenv.mkDerivation { meta = with lib; { description = "Automatic and interactive theorem prover (version with HoTT support)"; - homepage = "http://leanprover.github.io"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice gebner ]; - broken = stdenv.hostPlatform.isAarch64; + homepage = "http://leanprover.github.io"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ + thoughtpolice + gebner + ]; + broken = stdenv.hostPlatform.isAarch64; mainProgram = "lean"; }; } diff --git a/pkgs/by-name/le/lean4/package.nix b/pkgs/by-name/le/lean4/package.nix index fe94225e66f2f..7d5e7ef838bf0 100644 --- a/pkgs/by-name/le/lean4/package.nix +++ b/pkgs/by-name/le/lean4/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, git -, gmp -, perl -, testers +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + git, + gmp, + perl, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -63,7 +64,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/leanprover/lean4/blob/${finalAttrs.src.rev}/RELEASES.md"; license = licenses.asl20; platforms = platforms.all; - maintainers = with maintainers; [ danielbritten jthulhu ]; + maintainers = with maintainers; [ + danielbritten + jthulhu + ]; mainProgram = "lean"; }; }) diff --git a/pkgs/by-name/le/leanify/package.nix b/pkgs/by-name/le/leanify/package.nix index 81f6205986df2..ad63f4492b0e6 100644 --- a/pkgs/by-name/le/leanify/package.nix +++ b/pkgs/by-name/le/leanify/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + libiconv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/le/leaps/package.nix b/pkgs/by-name/le/leaps/package.nix index c9eac1db13a8b..6c053c8343c2a 100644 --- a/pkgs/by-name/le/leaps/package.nix +++ b/pkgs/by-name/le/leaps/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, leaps, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + leaps, + nixosTests, +}: buildGoModule rec { pname = "leaps"; @@ -14,7 +21,11 @@ buildGoModule rec { proxyVendor = true; # darwin/linux hash mismatch vendorHash = "sha256-0dwUOoV2bxPB+B6CKxJPImPIDlBMPcm0AwEMrVUkALc="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; passthru.tests = { version = testers.testVersion { package = leaps; }; diff --git a/pkgs/by-name/le/leatherman/package.nix b/pkgs/by-name/le/leatherman/package.nix index d3bd349cc8e01..b73192f0b7881 100644 --- a/pkgs/by-name/le/leatherman/package.nix +++ b/pkgs/by-name/le/leatherman/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, boost, cmake, curl, ruby }: +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + curl, + ruby, +}: stdenv.mkDerivation rec { pname = "leatherman"; @@ -16,7 +24,11 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-Wno-error"; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost curl ruby ]; + buildInputs = [ + boost + curl + ruby + ]; meta = with lib; { homepage = "https://github.com/puppetlabs/leatherman/"; diff --git a/pkgs/by-name/le/ledfx/package.nix b/pkgs/by-name/le/ledfx/package.nix index b10ade8a59fe9..e9281a67f171e 100644 --- a/pkgs/by-name/le/ledfx/package.nix +++ b/pkgs/by-name/le/ledfx/package.nix @@ -26,7 +26,6 @@ python3.pkgs.buildPythonPackage rec { poetry-core ]; - dependencies = with python3.pkgs; [ aiohttp aiohttp-cors diff --git a/pkgs/by-name/le/ledger-live-desktop/package.nix b/pkgs/by-name/le/ledger-live-desktop/package.nix index ac4e142078d45..9a7dcd3513727 100644 --- a/pkgs/by-name/le/ledger-live-desktop/package.nix +++ b/pkgs/by-name/le/ledger-live-desktop/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, appimageTools, makeWrapper, imagemagick }: +{ + lib, + fetchurl, + appimageTools, + makeWrapper, + imagemagick, +}: let pname = "ledger-live-desktop"; @@ -35,7 +41,13 @@ appimageTools.wrapType2 rec { description = "App for Ledger hardware wallets"; homepage = "https://www.ledger.com/ledger-live/"; license = licenses.mit; - maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal ]; + maintainers = with maintainers; [ + andresilva + thedavidmeister + nyanloutre + RaghavSood + th0rgal + ]; platforms = [ "x86_64-linux" ]; mainProgram = "ledger-live-desktop"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/by-name/le/ledger-udev-rules/package.nix b/pkgs/by-name/le/ledger-udev-rules/package.nix index 8201f12480c39..c0d7a8f183162 100644 --- a/pkgs/by-name/le/ledger-udev-rules/package.nix +++ b/pkgs/by-name/le/ledger-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "ledger-udev-rules"; @@ -22,7 +26,10 @@ stdenv.mkDerivation { meta = with lib; { description = "udev rules for Ledger devices"; license = licenses.asl20; - maintainers = with maintainers; [ asymmetric toasteruwu ]; + maintainers = with maintainers; [ + asymmetric + toasteruwu + ]; platforms = platforms.linux; homepage = "https://github.com/LedgerHQ/udev-rules"; }; diff --git a/pkgs/by-name/le/ledger2beancount/package.nix b/pkgs/by-name/le/ledger2beancount/package.nix index 3852229376769..ee6c17494df05 100644 --- a/pkgs/by-name/le/ledger2beancount/package.nix +++ b/pkgs/by-name/le/ledger2beancount/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages, beancount }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perlPackages, + beancount, +}: let perlDeps = with perlPackages; [ @@ -13,7 +20,8 @@ let YAMLLibYAML ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "ledger2beancount"; version = "2.7"; @@ -27,7 +35,10 @@ in stdenv.mkDerivation rec { dontBuild = true; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perlPackages.perl beancount ] ++ perlDeps; + buildInputs = [ + perlPackages.perl + beancount + ] ++ perlDeps; makeFlags = [ "prefix=$(out)" ]; installFlags = [ "INSTALL=install" ]; diff --git a/pkgs/by-name/le/ledit/package.nix b/pkgs/by-name/le/ledit/package.nix index a9ef90a48bf3b..f905c2b293125 100644 --- a/pkgs/by-name/le/ledit/package.nix +++ b/pkgs/by-name/le/ledit/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ocamlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + ocamlPackages, +}: stdenv.mkDerivation { pname = "ledit"; @@ -28,7 +33,6 @@ stdenv.mkDerivation { camlp-streams ]; - meta = with lib; { homepage = "http://pauillac.inria.fr/~ddr/ledit/"; description = "Line editor, allowing to use shell commands with control characters like in emacs"; diff --git a/pkgs/by-name/le/ledmon/package.nix b/pkgs/by-name/le/ledmon/package.nix index 088f8cf281eb4..767467c7ffec1 100644 --- a/pkgs/by-name/le/ledmon/package.nix +++ b/pkgs/by-name/le/ledmon/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, perl, udev, sg3_utils }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + udev, + sg3_utils, +}: stdenv.mkDerivation rec { pname = "ledmon"; @@ -14,9 +21,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl # for pod2man ]; - buildInputs = [ udev sg3_utils ]; + buildInputs = [ + udev + sg3_utils + ]; - installTargets = [ "install" "install-systemd" ]; + installTargets = [ + "install" + "install-systemd" + ]; makeFlags = [ "MAN_INSTDIR=${placeholder "out"}/share/man" diff --git a/pkgs/by-name/le/leela/package.nix b/pkgs/by-name/le/leela/package.nix index 7ddf02d163693..32a25a936fcef 100644 --- a/pkgs/by-name/le/leela/package.nix +++ b/pkgs/by-name/le/leela/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, poppler }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + poppler, +}: stdenv.mkDerivation { pname = "leela"; @@ -14,7 +20,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; buildInputs = [ poppler ]; - installFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ]; + installFlags = [ + "PREFIX=$(out)" + "MANDIR=$(out)/share/man" + ]; meta = { description = "CLI frontend to the poppler-glib library of PDF tools"; diff --git a/pkgs/by-name/le/leetcode-cli/package.nix b/pkgs/by-name/le/leetcode-cli/package.nix index dbad8d651247e..d1d1442bd5b53 100644 --- a/pkgs/by-name/le/leetcode-cli/package.nix +++ b/pkgs/by-name/le/leetcode-cli/package.nix @@ -1,15 +1,16 @@ -{ lib -, fetchCrate -, rustPlatform -, pkg-config -, installShellFiles -, openssl -, dbus -, sqlite -, stdenv -, darwin -, testers -, leetcode-cli +{ + lib, + fetchCrate, + rustPlatform, + pkg-config, + installShellFiles, + openssl, + dbus, + sqlite, + stdenv, + darwin, + testers, + leetcode-cli, }: rustPlatform.buildRustPackage rec { @@ -28,14 +29,16 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - openssl - dbus - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + dbus + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd leetcode \ diff --git a/pkgs/by-name/le/leetgo/package.nix b/pkgs/by-name/le/leetgo/package.nix index ff1fb0e7493bd..93cc8cd541516 100644 --- a/pkgs/by-name/le/leetgo/package.nix +++ b/pkgs/by-name/le/leetgo/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/le/left4gore-bin/package.nix b/pkgs/by-name/le/left4gore-bin/package.nix index 0379ce477f989..76bd0b5b17e20 100644 --- a/pkgs/by-name/le/left4gore-bin/package.nix +++ b/pkgs/by-name/le/left4gore-bin/package.nix @@ -1,4 +1,9 @@ -{ stdenvNoCC, lib, fetchurl, buildFHSEnv }: +{ + stdenvNoCC, + lib, + fetchurl, + buildFHSEnv, +}: let version = "2.3"; @@ -27,7 +32,8 @@ let runScript = "left4gore"; }; -in stdenvNoCC.mkDerivation { +in +stdenvNoCC.mkDerivation { pname = "left4gore"; inherit version; diff --git a/pkgs/by-name/le/lefthook/package.nix b/pkgs/by-name/le/lefthook/package.nix index ae2c52ec71afe..430db1cf1a91f 100644 --- a/pkgs/by-name/le/lefthook/package.nix +++ b/pkgs/by-name/le/lefthook/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: let @@ -22,7 +23,10 @@ buildGoModule { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doCheck = false; diff --git a/pkgs/by-name/le/leftwm/package.nix b/pkgs/by-name/le/leftwm/package.nix index 00bfbe66f661d..ecc8506e81898 100644 --- a/pkgs/by-name/le/leftwm/package.nix +++ b/pkgs/by-name/le/leftwm/package.nix @@ -1,12 +1,16 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, libX11 -, libXinerama +{ + lib, + fetchFromGitHub, + rustPlatform, + libX11, + libXinerama, }: let - rpathLibs = [ libXinerama libX11 ]; + rpathLibs = [ + libXinerama + libX11 + ]; in rustPlatform.buildRustPackage rec { @@ -39,7 +43,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/leftwm/leftwm"; license = lib.licenses.mit; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ vuimuich yanganto ]; + maintainers = with lib.maintainers; [ + vuimuich + yanganto + ]; changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG.md"; mainProgram = "leftwm"; }; diff --git a/pkgs/by-name/le/legba/package.nix b/pkgs/by-name/le/legba/package.nix index efb9a351340b9..51dd7df1accbf 100644 --- a/pkgs/by-name/le/legba/package.nix +++ b/pkgs/by-name/le/legba/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake -, pkg-config -, openssl -, samba -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + pkg-config, + openssl, + samba, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,10 +23,18 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-viDfJ214Zf5segjrLSTbHav5T5e219NAF+MvuPow+JQ="; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ openssl.dev samba ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + openssl.dev + samba + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; # Paho C test fails due to permission issue doCheck = false; diff --git a/pkgs/by-name/le/legcord/package.nix b/pkgs/by-name/le/legcord/package.nix index 11ff8a188488a..df4b73bacb215 100644 --- a/pkgs/by-name/le/legcord/package.nix +++ b/pkgs/by-name/le/legcord/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pnpm -, nodejs -, electron_32 -, makeWrapper -, copyDesktopItems -, makeDesktopItem -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + pnpm, + nodejs, + electron_32, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + nix-update-script, }: stdenv.mkDerivation rec { pname = "legcord"; @@ -20,7 +21,12 @@ stdenv.mkDerivation rec { hash = "sha256-9CicqDZDetxElD36OLizyVNxkqz3rQOjAtUNTGWVwss="; }; - nativeBuildInputs = [ pnpm.configHook nodejs makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + pnpm.configHook + nodejs + makeWrapper + copyDesktopItems + ]; pnpmDeps = pnpm.fetchDeps { inherit pname version src; @@ -80,8 +86,14 @@ stdenv.mkDerivation rec { homepage = "https://legcord.app"; downloadPage = "https://github.com/Legcord/Legcord"; license = licenses.osl3; - maintainers = with maintainers; [ wrmilling water-sucks ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ + wrmilling + water-sucks + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; mainProgram = "legcord"; }; } diff --git a/pkgs/by-name/le/legit-web/package.nix b/pkgs/by-name/le/legit-web/package.nix index b73fa14205511..e39960f67ef2a 100644 --- a/pkgs/by-name/le/legit-web/package.nix +++ b/pkgs/by-name/le/legit-web/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/le/legit/package.nix b/pkgs/by-name/le/legit/package.nix index d03bc426243be..500b1b8fef6ce 100644 --- a/pkgs/by-name/le/legit/package.nix +++ b/pkgs/by-name/le/legit/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/le/legitify/package.nix b/pkgs/by-name/le/legitify/package.nix index 4759f9f19967c..7e4509af4ed4e 100644 --- a/pkgs/by-name/le/legitify/package.nix +++ b/pkgs/by-name/le/legitify/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/le/lektor/package.nix b/pkgs/by-name/le/lektor/package.nix index cd3d639c9e2de..86722f2dbb888 100644 --- a/pkgs/by-name/le/lektor/package.nix +++ b/pkgs/by-name/le/lektor/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchNpmDeps -, fetchPypi -, fetchpatch -, nodejs -, npmHooks -, python3 +{ + lib, + fetchFromGitHub, + fetchNpmDeps, + fetchPypi, + fetchpatch, + nodejs, + npmHooks, + python3, }: let diff --git a/pkgs/by-name/le/lemmeknow/package.nix b/pkgs/by-name/le/lemmeknow/package.nix index 8c119a350a92a..cae3664637b29 100644 --- a/pkgs/by-name/le/lemmeknow/package.nix +++ b/pkgs/by-name/le/lemmeknow/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "lemmeknow"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/swanandx/lemmeknow"; changelog = "https://github.com/swanandx/lemmeknow/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda Br1ght0ne ]; + maintainers = with maintainers; [ + figsoda + Br1ght0ne + ]; mainProgram = "lemmeknow"; }; } diff --git a/pkgs/by-name/le/lemminx/package.nix b/pkgs/by-name/le/lemminx/package.nix index 32ecf1dc6cdab..f8f73a67b8ed6 100644 --- a/pkgs/by-name/le/lemminx/package.nix +++ b/pkgs/by-name/le/lemminx/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, jdk_headless -, jre_minimal -, maven -, writeScript -, lemminx +{ + lib, + fetchFromGitHub, + makeWrapper, + jdk_headless, + jre_minimal, + maven, + writeScript, + lemminx, }: let diff --git a/pkgs/by-name/le/lemmy-help/package.nix b/pkgs/by-name/le/lemmy-help/package.nix index 6138d331b02f3..3af2ba09ccaee 100644 --- a/pkgs/by-name/le/lemmy-help/package.nix +++ b/pkgs/by-name/le/lemmy-help/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "lemmy-help"; diff --git a/pkgs/by-name/le/lemon-graph/package.nix b/pkgs/by-name/le/lemon-graph/package.nix index 4e96e9f4c93a0..1d687d237d949 100644 --- a/pkgs/by-name/le/lemon-graph/package.nix +++ b/pkgs/by-name/le/lemon-graph/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, cmake +{ + lib, + stdenv, + fetchurl, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/le/lemon/package.nix b/pkgs/by-name/le/lemon/package.nix index 512d3bccc9733..6535e2f1fb1d7 100644 --- a/pkgs/by-name/le/lemon/package.nix +++ b/pkgs/by-name/le/lemon/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let @@ -15,7 +19,8 @@ let }; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "lemon"; version = "1.69"; diff --git a/pkgs/by-name/le/lemonade/package.nix b/pkgs/by-name/le/lemonade/package.nix index 012020c1768e5..c402e8a7d2ae5 100644 --- a/pkgs/by-name/le/lemonade/package.nix +++ b/pkgs/by-name/le/lemonade/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { diff --git a/pkgs/by-name/le/lenpaste/package.nix b/pkgs/by-name/le/lenpaste/package.nix index c7a9e3e9234a1..757a586b5b381 100644 --- a/pkgs/by-name/le/lenpaste/package.nix +++ b/pkgs/by-name/le/lenpaste/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitea }: +{ + lib, + buildGoModule, + fetchFromGitea, +}: buildGoModule rec { pname = "lenpaste"; diff --git a/pkgs/by-name/le/lens/darwin.nix b/pkgs/by-name/le/lens/darwin.nix index 9b9b752b877ba..3acc21000c517 100644 --- a/pkgs/by-name/le/lens/darwin.nix +++ b/pkgs/by-name/le/lens/darwin.nix @@ -1,7 +1,19 @@ -{ stdenv, pname, version, src, meta, undmg }: +{ + stdenv, + pname, + version, + src, + meta, + undmg, +}: stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; sourceRoot = "."; diff --git a/pkgs/by-name/le/lens/linux.nix b/pkgs/by-name/le/lens/linux.nix index dd50775682bd4..e101ab53556cd 100644 --- a/pkgs/by-name/le/lens/linux.nix +++ b/pkgs/by-name/le/lens/linux.nix @@ -1,4 +1,11 @@ -{ pname, version, src, meta, appimageTools, makeWrapper }: +{ + pname, + version, + src, + meta, + appimageTools, + makeWrapper, +}: let appimageContents = appimageTools.extractType2 { inherit pname version src; @@ -7,20 +14,24 @@ let in appimageTools.wrapType2 { - inherit pname version src meta; + inherit + pname + version + src + meta + ; nativeBuildInputs = [ makeWrapper ]; - extraInstallCommands = - '' - wrapProgram $out/bin/${pname} \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" - install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop - install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/${pname}.png \ - $out/share/icons/hicolor/512x512/apps/${pname}.png - substituteInPlace $out/share/applications/${pname}.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - ''; + extraInstallCommands = '' + wrapProgram $out/bin/${pname} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" + install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop + install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/${pname}.png \ + $out/share/icons/hicolor/512x512/apps/${pname}.png + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + ''; extraPkgs = pkgs: [ pkgs.nss_latest ]; } diff --git a/pkgs/by-name/le/lens/package.nix b/pkgs/by-name/le/lens/package.nix index 98c9ca2d1758d..284b06e4762be 100644 --- a/pkgs/by-name/le/lens/package.nix +++ b/pkgs/by-name/le/lens/package.nix @@ -1,7 +1,9 @@ -{ stdenv -, callPackage -, fetchurl -, lib }: +{ + stdenv, + callPackage, + fetchurl, + lib, +}: let @@ -31,11 +33,30 @@ let description = "Kubernetes IDE"; homepage = "https://k8slens.dev/"; license = licenses.lens; - maintainers = with maintainers; [ dbirks RossComputerGuy starkca90 ]; + maintainers = with maintainers; [ + dbirks + RossComputerGuy + starkca90 + ]; platforms = builtins.attrNames sources; }; -in if stdenv.hostPlatform.isDarwin then - callPackage ./darwin.nix { inherit pname version src meta; } +in +if stdenv.hostPlatform.isDarwin then + callPackage ./darwin.nix { + inherit + pname + version + src + meta + ; + } else - callPackage ./linux.nix { inherit pname version src meta; } + callPackage ./linux.nix { + inherit + pname + version + src + meta + ; + } diff --git a/pkgs/by-name/le/lensfun/package.nix b/pkgs/by-name/le/lensfun/package.nix index 8972485bb2824..da8c954c44aba 100644 --- a/pkgs/by-name/le/lensfun/package.nix +++ b/pkgs/by-name/le/lensfun/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, zlib, libpng, cmake, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + zlib, + libpng, + cmake, + python3, +}: let version = "0.3.4"; @@ -44,13 +54,20 @@ stdenv.mkDerivation { python3.pkgs.lxml # For the db converison ]; - buildInputs = [ glib zlib libpng ]; + buildInputs = [ + glib + zlib + libpng + ]; cmakeFlags = [ "-DINSTALL_HELPER_SCRIPTS=OFF" ]; meta = with lib; { platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ flokli paperdigits ]; + maintainers = with maintainers; [ + flokli + paperdigits + ]; license = lib.licenses.lgpl3; description = "Opensource database of photographic lenses and their characteristics"; homepage = "https://lensfun.github.io"; diff --git a/pkgs/by-name/le/lepton-eda/package.nix b/pkgs/by-name/le/lepton-eda/package.nix index 00b0961895d31..4c8d7ccc3453b 100644 --- a/pkgs/by-name/le/lepton-eda/package.nix +++ b/pkgs/by-name/le/lepton-eda/package.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, pkg-config -, makeWrapper -, texinfo -, fetchurl -, autoreconfHook -, guile -, flex -, gtk3 -, glib -, gtksheet -, gettext -, gawk -, shared-mime-info -, groff -, libstroke +{ + stdenv, + lib, + pkg-config, + makeWrapper, + texinfo, + fetchurl, + autoreconfHook, + guile, + flex, + gtk3, + glib, + gtksheet, + gettext, + gawk, + shared-mime-info, + groff, + libstroke, }: stdenv.mkDerivation rec { @@ -26,9 +27,25 @@ stdenv.mkDerivation rec { hash = "sha256-X9yNuosNR1Jf3gYWQZeOnKdxzJLld29Sn9XYsPGWYYI="; }; - nativeBuildInputs = [ pkg-config makeWrapper texinfo autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + texinfo + autoreconfHook + ]; - propagatedBuildInputs = [ guile flex gtk3 glib gtksheet gettext gawk shared-mime-info groff libstroke ]; + propagatedBuildInputs = [ + guile + flex + gtk3 + glib + gtksheet + gettext + gawk + shared-mime-info + groff + libstroke + ]; configureFlags = [ "--disable-update-xdg-database" diff --git a/pkgs/by-name/le/lepton/package.nix b/pkgs/by-name/le/lepton/package.nix index 980f729e9725d..ba48910df32ee 100644 --- a/pkgs/by-name/le/lepton/package.nix +++ b/pkgs/by-name/le/lepton/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, git, glibc }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + git, + glibc, +}: stdenv.mkDerivation rec { version = "2019-08-20"; @@ -11,14 +18,20 @@ stdenv.mkDerivation rec { sha256 = "0aqs6nvcbq8cbfv8699fa634bsz7csmk0169n069yvv17d1c07fd"; }; - nativeBuildInputs = [ cmake git ]; + nativeBuildInputs = [ + cmake + git + ]; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ glibc.static ]; meta = with lib; { homepage = "https://github.com/dropbox/lepton"; description = "Tool to losslessly compress JPEGs"; license = licenses.asl20; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; maintainers = with maintainers; [ artemist ]; knownVulnerabilities = [ "CVE-2022-4104" ]; }; diff --git a/pkgs/by-name/le/leptosfmt/package.nix b/pkgs/by-name/le/leptosfmt/package.nix index ef5324d4ba37f..5b89af49bd71b 100644 --- a/pkgs/by-name/le/leptosfmt/package.nix +++ b/pkgs/by-name/le/leptosfmt/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -22,7 +23,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "leptosfmt"; homepage = "https://github.com/bram209/leptosfmt"; changelog = "https://github.com/bram209/leptosfmt/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/le/lerc/package.nix b/pkgs/by-name/le/lerc/package.nix index 463344f5b7f68..08a7cb63afbfb 100644 --- a/pkgs/by-name/le/lerc/package.nix +++ b/pkgs/by-name/le/lerc/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, testers +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "lerc"; version = "4.0.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "esri"; diff --git a/pkgs/by-name/le/lerpn/package.nix b/pkgs/by-name/le/lerpn/package.nix index fcbd6e9513cd8..ac1d3d2e49cfc 100644 --- a/pkgs/by-name/le/lerpn/package.nix +++ b/pkgs/by-name/le/lerpn/package.nix @@ -1,6 +1,7 @@ -{ python3 -, lib -, fetchFromGitea +{ + python3, + lib, + fetchFromGitea, }: python3.pkgs.buildPythonApplication { diff --git a/pkgs/by-name/le/lesbar/package.nix b/pkgs/by-name/le/lesbar/package.nix index 5649ae27810a6..e05ad2f9a7d8a 100644 --- a/pkgs/by-name/le/lesbar/package.nix +++ b/pkgs/by-name/le/lesbar/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromSourcehut -, pkg-config -, scdoc -, libX11 -, cairo -, pango +{ + lib, + stdenv, + fetchFromSourcehut, + pkg-config, + scdoc, + libX11, + cairo, + pango, }: stdenv.mkDerivation (finalAttrs: { @@ -19,9 +20,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-uggIoO6rgotkLi6lSJTR4d3NtidXsAC1Kjay9YsT9ps="; }; - nativeBuildInputs = [ pkg-config scdoc ]; + nativeBuildInputs = [ + pkg-config + scdoc + ]; - buildInputs = [ libX11 cairo pango ]; + buildInputs = [ + libX11 + cairo + pango + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/le/lesscpy/package.nix b/pkgs/by-name/le/lesscpy/package.nix index 493fdc08f812c..eb3e53b808199 100644 --- a/pkgs/by-name/le/lesscpy/package.nix +++ b/pkgs/by-name/le/lesscpy/package.nix @@ -1,7 +1,11 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { - pname = "lesscpy"; + pname = "lesscpy"; version = "0.15.1"; src = fetchPypi { @@ -11,15 +15,18 @@ python3Packages.buildPythonApplication rec { checkInputs = with python3Packages; [ pytestCheckHook ]; pythonImportsCheck = [ "lesscpy" ]; - propagatedBuildInputs = with python3Packages; [ ply six ]; + propagatedBuildInputs = with python3Packages; [ + ply + six + ]; doCheck = false; # Really weird test failures (`nix-build-python2.css not found`) meta = with lib; { description = "Python LESS Compiler"; mainProgram = "lesscpy"; - homepage = "https://github.com/lesscpy/lesscpy"; - license = licenses.mit; + homepage = "https://github.com/lesscpy/lesscpy"; + license = licenses.mit; maintainers = with maintainers; [ s1341 ]; }; } diff --git a/pkgs/by-name/le/lesspass-cli/package.nix b/pkgs/by-name/le/lesspass-cli/package.nix index c568be5ebbd85..5ef005aec7e8c 100644 --- a/pkgs/by-name/le/lesspass-cli/package.nix +++ b/pkgs/by-name/le/lesspass-cli/package.nix @@ -1,7 +1,16 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: let - inherit (python3.pkgs) buildPythonApplication pytest mock pexpect; + inherit (python3.pkgs) + buildPythonApplication + pytest + mock + pexpect + ; repo = "lesspass"; in buildPythonApplication rec { @@ -24,7 +33,11 @@ buildPythonApplication rec { done ''; - nativeCheckInputs = [ pytest mock pexpect ]; + nativeCheckInputs = [ + pytest + mock + pexpect + ]; checkPhase = '' mv lesspass lesspass.hidden # ensure we're testing against *installed* package pytest tests diff --git a/pkgs/by-name/le/lesspipe/package.nix b/pkgs/by-name/le/lesspipe/package.nix index 8fd4689aaeac6..f3eeed022c621 100644 --- a/pkgs/by-name/le/lesspipe/package.nix +++ b/pkgs/by-name/le/lesspipe/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, perl -, procps -, bash +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perl, + procps, + bash, -# shell referenced dependencies -, resholve -, binutils-unwrapped -, file -, gnugrep -, coreutils -, gnused -, gnutar -, iconv -, ncurses + # shell referenced dependencies + resholve, + binutils-unwrapped, + file, + gnugrep, + coreutils, + gnused, + gnutar, + iconv, + ncurses, }: stdenv.mkDerivation rec { @@ -29,8 +30,14 @@ stdenv.mkDerivation rec { hash = "sha256-jJrKiRdrargk0JzcPWxBZGyOpMfTIONHG8HNRecazVo="; }; - nativeBuildInputs = [ perl makeWrapper ]; - buildInputs = [ perl bash ]; + nativeBuildInputs = [ + perl + makeWrapper + ]; + buildInputs = [ + perl + bash + ]; strictDeps = true; postPatch = '' @@ -38,7 +45,10 @@ stdenv.mkDerivation rec { substituteInPlace configure --replace '/etc/bash_completion.d' '/share/bash-completion/completions' ''; - configureFlags = [ "--shell=${bash}/bin/bash" "--prefix=/" ]; + configureFlags = [ + "--shell=${bash}/bin/bash" + "--prefix=/" + ]; configurePlatforms = [ ]; dontBuild = true; @@ -62,23 +72,100 @@ stdenv.mkDerivation rec { procps ncurses ]; - keep = [ "$prog" "$c1" "$c2" "$c3" "$c4" "$c5" "$cmd" "$colorizer" "$HOME" ]; + keep = [ + "$prog" + "$c1" + "$c2" + "$c3" + "$c4" + "$c5" + "$cmd" + "$colorizer" + "$HOME" + ]; fake = { # script guards usage behind has_cmd test function, it's safe to leave these external and optional - external = [ - "cpio" "isoinfo" "cabextract" "bsdtar" "rpm2cpio" "bsdtar" "unzip" "ar" "unrar" "rar" "7zr" "7za" "isoinfo" - "gzip" "bzip2" "lzip" "lzma" "xz" "brotli" "compress" "zstd" "lz4" - "archive_color" "bat" "batcat" "pygmentize" "source-highlight" "vimcolor" "code2color" + external = + [ + "cpio" + "isoinfo" + "cabextract" + "bsdtar" + "rpm2cpio" + "bsdtar" + "unzip" + "ar" + "unrar" + "rar" + "7zr" + "7za" + "isoinfo" + "gzip" + "bzip2" + "lzip" + "lzma" + "xz" + "brotli" + "compress" + "zstd" + "lz4" + "archive_color" + "bat" + "batcat" + "pygmentize" + "source-highlight" + "vimcolor" + "code2color" - "w3m" "lynx" "elinks" "html2text" "dtc" "pdftotext" "pdftohtml" "pdfinfo" "ps2ascii" "procyon" "ccze" - "mdcat" "pandoc" "docx2txt" "libreoffice" "pptx2md" "mdcat" "xlscat" "odt2txt" "wvText" "antiword" "catdoc" - "broken_catppt" "sxw2txt" "groff" "mandoc" "unrtf" "dvi2tty" "pod2text" "perldoc" "h5dump" "ncdump" "matdump" - "djvutxt" "openssl" "gpg" "plistutil" "plutil" "id3v2" "csvlook" "jq" "zlib-flate" "lessfilter" - ] ++ lib.optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isFreeBSD) [ - # resholve only identifies this on darwin/bsd - # call site is guarded by || so it's safe to leave dynamic - "locale" - ]; + "w3m" + "lynx" + "elinks" + "html2text" + "dtc" + "pdftotext" + "pdftohtml" + "pdfinfo" + "ps2ascii" + "procyon" + "ccze" + "mdcat" + "pandoc" + "docx2txt" + "libreoffice" + "pptx2md" + "mdcat" + "xlscat" + "odt2txt" + "wvText" + "antiword" + "catdoc" + "broken_catppt" + "sxw2txt" + "groff" + "mandoc" + "unrtf" + "dvi2tty" + "pod2text" + "perldoc" + "h5dump" + "ncdump" + "matdump" + "djvutxt" + "openssl" + "gpg" + "plistutil" + "plutil" + "id3v2" + "csvlook" + "jq" + "zlib-flate" + "lessfilter" + ] + ++ lib.optional (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isFreeBSD) [ + # resholve only identifies this on darwin/bsd + # call site is guarded by || so it's safe to leave dynamic + "locale" + ]; builtin = [ "setopt" ]; }; execer = [ @@ -95,12 +182,40 @@ stdenv.mkDerivation rec { gnused gnutar ]; - keep = [ "$prog" "$c1" "$c2" "$c3" "$c4" "$c5" "$cmd" ]; + keep = [ + "$prog" + "$c1" + "$c2" + "$c3" + "$c4" + "$c5" + "$cmd" + ]; fake = { # script guards usage behind has_cmd test function, it's safe to leave these external and optional external = [ - "cpio" "isoinfo" "cabextract" "bsdtar" "rpm2cpio" "bsdtar" "unzip" "ar" "unrar" "rar" "7zr" "7za" "isoinfo" - "gzip" "bzip2" "lzip" "lzma" "xz" "brotli" "compress" "zstd" "lz4" + "cpio" + "isoinfo" + "cabextract" + "bsdtar" + "rpm2cpio" + "bsdtar" + "unzip" + "ar" + "unrar" + "rar" + "7zr" + "7za" + "isoinfo" + "gzip" + "bzip2" + "lzip" + "lzma" + "xz" + "brotli" + "compress" + "zstd" + "lz4" ]; builtin = [ "setopt" ]; }; diff --git a/pkgs/by-name/le/lesstif/package.nix b/pkgs/by-name/le/lesstif/package.nix index 33c2f220e40df..0312e530c931c 100644 --- a/pkgs/by-name/le/lesstif/package.nix +++ b/pkgs/by-name/le/lesstif/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, freetype -, fontconfig -, libICE -, libX11 -, libXp -, libXau -, libXext -, libXt +{ + lib, + stdenv, + fetchurl, + freetype, + fontconfig, + libICE, + libX11, + libXp, + libXau, + libXext, + libXt, }: stdenv.mkDerivation rec { @@ -39,12 +40,15 @@ stdenv.mkDerivation rec { ./c-missing_xm_h.patch ./c-render_table_crash.patch ./c-xpmpipethrough.patch - ]; + ]; meta = with lib; { description = "Open source clone of the Motif widget set"; homepage = "https://lesstif.sourceforge.net"; platforms = platforms.unix; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; }; } diff --git a/pkgs/by-name/le/letterpress/package.nix b/pkgs/by-name/le/letterpress/package.nix index 3286633f671e3..83e3500bef5eb 100644 --- a/pkgs/by-name/le/letterpress/package.nix +++ b/pkgs/by-name/le/letterpress/package.nix @@ -65,7 +65,7 @@ python3Packages.buildPythonApplication rec { dontWrapGApps = true; # prevent double wrapping preFixup = '' - makeWrapperArgs+=(''${gappsWrapperArgs[@]} --prefix PATH : ${ lib.makeBinPath runtimeDeps }) + makeWrapperArgs+=(''${gappsWrapperArgs[@]} --prefix PATH : ${lib.makeBinPath runtimeDeps}) ''; meta = with lib; { diff --git a/pkgs/by-name/le/levant/package.nix b/pkgs/by-name/le/levant/package.nix index cd6d25113e728..b998742f1c454 100644 --- a/pkgs/by-name/le/levant/package.nix +++ b/pkgs/by-name/le/levant/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "levant"; diff --git a/pkgs/by-name/le/level-zero/package.nix b/pkgs/by-name/le/level-zero/package.nix index 1be331ffa0c42..afc81c7e91cd0 100644 --- a/pkgs/by-name/le/level-zero/package.nix +++ b/pkgs/by-name/le/level-zero/package.nix @@ -1,10 +1,11 @@ -{ lib -, addDriverRunpath -, cmake -, fetchFromGitHub -, intel-compute-runtime -, openvino -, stdenv +{ + lib, + addDriverRunpath, + cmake, + fetchFromGitHub, + intel-compute-runtime, + openvino, + stdenv, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { hash = "sha256-MnTPu7jsjHR+PDHzj/zJiBKi9Ou/cjJvrf87yMdSnz0="; }; - nativeBuildInputs = [ cmake addDriverRunpath ]; + nativeBuildInputs = [ + cmake + addDriverRunpath + ]; postFixup = '' addDriverRunpath $out/lib/libze_loader.so @@ -37,4 +41,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.ziguana ]; }; } - diff --git a/pkgs/by-name/le/leveldb/package.nix b/pkgs/by-name/le/leveldb/package.nix index 9d2dfe468029c..899135413fbc1 100644 --- a/pkgs/by-name/le/leveldb/package.nix +++ b/pkgs/by-name/le/leveldb/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, fixDarwinDylibNames, snappy, cmake -, static ? stdenv.hostPlatform.isStatic }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + fixDarwinDylibNames, + snappy, + cmake, + static ? stdenv.hostPlatform.isStatic, +}: stdenv.mkDerivation rec { pname = "leveldb"; @@ -23,7 +31,10 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ snappy ]; diff --git a/pkgs/by-name/le/levmar/package.nix b/pkgs/by-name/le/levmar/package.nix index f1ba199fc8e0b..0212cae30f628 100644 --- a/pkgs/by-name/le/levmar/package.nix +++ b/pkgs/by-name/le/levmar/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "levmar"; diff --git a/pkgs/by-name/le/lexend/package.nix b/pkgs/by-name/le/lexend/package.nix index 91eb497e901bf..94b8cb554920e 100644 --- a/pkgs/by-name/le/lexend/package.nix +++ b/pkgs/by-name/le/lexend/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/le/lexmark-aex/package.nix b/pkgs/by-name/le/lexmark-aex/package.nix index cfb02f70d6f3e..8bb1c4c0bec82 100644 --- a/pkgs/by-name/le/lexmark-aex/package.nix +++ b/pkgs/by-name/le/lexmark-aex/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, cups -, fetchurl -, patchPpdFilesHook -, autoPatchelfHook -, dpkg -, perl -, avahi +{ + lib, + stdenv, + cups, + fetchurl, + patchPpdFilesHook, + autoPatchelfHook, + dpkg, + perl, + avahi, }: stdenv.mkDerivation { @@ -40,32 +41,40 @@ stdenv.mkDerivation { # Needed for autoPatchelfHook. runtimeDependencies = [ (lib.getLib cups) ]; - ppdFileCommands = [ "CommandFileFilterG2" "rerouteprintoption" ]; + ppdFileCommands = [ + "CommandFileFilterG2" + "rerouteprintoption" + ]; - installPhase = let - libdir = - if stdenv.system == "x86_64-linux" then "lib64" - else if stdenv.system == "i686_linux" then "lib" - else throw "other platforms than i686_linux and x86_64-linux are not yet supported"; - in '' - runHook preInstall + installPhase = + let + libdir = + if stdenv.system == "x86_64-linux" then + "lib64" + else if stdenv.system == "i686_linux" then + "lib" + else + throw "other platforms than i686_linux and x86_64-linux are not yet supported"; + in + '' + runHook preInstall - prefix=usr/local/Lexmark/ppd/Lexmark-AEX-PPD-Files/GlobalPPD_1.4 + prefix=usr/local/Lexmark/ppd/Lexmark-AEX-PPD-Files/GlobalPPD_1.4 - # Install raster image filter. - install -Dm755 "$prefix/rerouteprintoption" "$out/lib/cups/filter/rerouteprintoption" - patchShebangs "$out/lib/cups/filter/rerouteprintoption" + # Install raster image filter. + install -Dm755 "$prefix/rerouteprintoption" "$out/lib/cups/filter/rerouteprintoption" + patchShebangs "$out/lib/cups/filter/rerouteprintoption" - # Install additional binary filters. - for i in CommandFileFilterG2 LexHBPFilter; do - install -Dm755 "$prefix/${libdir}/$i" "$out/lib/cups/filter/$i" - done + # Install additional binary filters. + for i in CommandFileFilterG2 LexHBPFilter; do + install -Dm755 "$prefix/${libdir}/$i" "$out/lib/cups/filter/$i" + done - # Install PPD. - install -Dm 0644 -t "$out/share/cups/model/Lexmark" "$prefix"/*.ppd + # Install PPD. + install -Dm 0644 -t "$out/share/cups/model/Lexmark" "$prefix"/*.ppd - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { description = "CUPS drivers for Lexmark B2200 and MB2200 Series printers"; @@ -73,6 +82,9 @@ stdenv.mkDerivation { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = [ maintainers.tobim ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/lf/lftp/package.nix b/pkgs/by-name/lf/lftp/package.nix index 1d25888f5d380..37654dd957d96 100644 --- a/pkgs/by-name/lf/lftp/package.nix +++ b/pkgs/by-name/lf/lftp/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, openssl, pkg-config, readline, zlib, libidn2, gmp, libiconv, libunistring, gettext }: +{ + lib, + stdenv, + fetchurl, + openssl, + pkg-config, + readline, + zlib, + libidn2, + gmp, + libiconv, + libunistring, + gettext, +}: stdenv.mkDerivation rec { pname = "lftp"; @@ -8,13 +21,22 @@ stdenv.mkDerivation rec { urls = [ "https://lftp.yar.ru/ftp/${pname}-${version}.tar.xz" "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${pname}-${version}.tar.xz" - ]; + ]; sha256 = "sha256-lucZnXk1vjPPaxFh6VWyqrQKt37N8qGc6k/BGT9Fftw="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl readline zlib libidn2 gmp libiconv libunistring gettext ]; + buildInputs = [ + openssl + readline + zlib + libidn2 + gmp + libiconv + libunistring + gettext + ]; hardeningDisable = lib.optional stdenv.hostPlatform.isDarwin "format"; diff --git a/pkgs/by-name/lg/lguf-brightness/package.nix b/pkgs/by-name/lg/lguf-brightness/package.nix index 0bb288c217630..f597fa1c27b1a 100644 --- a/pkgs/by-name/lg/lguf-brightness/package.nix +++ b/pkgs/by-name/lg/lguf-brightness/package.nix @@ -1,11 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libusb1, ncurses5 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libusb1, + ncurses5, +}: stdenv.mkDerivation rec { pname = "lguf-brightness"; version = "unstable-2018-02-11"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "periklis"; repo = pname; rev = "fcb2bc1738d55c83b6395c24edc27267a520a725"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ libusb1 ncurses5 ]; + buildInputs = [ + libusb1 + ncurses5 + ]; installPhase = '' install -D lguf_brightness $out/bin/lguf_brightness diff --git a/pkgs/by-name/lh/lha/package.nix b/pkgs/by-name/lh/lha/package.nix index b7d0ac9302903..c786bcb2861d8 100644 --- a/pkgs/by-name/lh/lha/package.nix +++ b/pkgs/by-name/lh/lha/package.nix @@ -1,4 +1,9 @@ -{stdenv, lib, fetchFromGitHub, autoreconfHook}: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation { pname = "lha"; diff --git a/pkgs/by-name/lh/lhasa/package.nix b/pkgs/by-name/lh/lhasa/package.nix index 9ced4a9b7bfba..ee98f0ac5c614 100644 --- a/pkgs/by-name/lh/lhasa/package.nix +++ b/pkgs/by-name/lh/lhasa/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "lhasa"; diff --git a/pkgs/by-name/li/liana/package.nix b/pkgs/by-name/li/liana/package.nix index 7ee6d0ccc56f0..a1ab4a63c84a1 100644 --- a/pkgs/by-name/li/liana/package.nix +++ b/pkgs/by-name/li/liana/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, cmake -, copyDesktopItems -, makeDesktopItem -, makeWrapper -, expat -, fontconfig -, freetype -, libGL -, udev -, libxkbcommon -, wayland -, vulkan-loader -, xorg +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + cmake, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + expat, + fontconfig, + freetype, + libGL, + udev, + libxkbcommon, + wayland, + vulkan-loader, + xorg, }: let diff --git a/pkgs/by-name/li/lib3270/package.nix b/pkgs/by-name/li/lib3270/package.nix index 119f7a1d6e15e..78d168d78a351 100644 --- a/pkgs/by-name/li/lib3270/package.nix +++ b/pkgs/by-name/li/lib3270/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, which -, pkg-config -, autoconf -, automake -, libtool -, gettext -, openssl -, curl +{ + lib, + stdenv, + fetchFromGitHub, + which, + pkg-config, + autoconf, + automake, + libtool, + gettext, + openssl, + curl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/lib3ds/package.nix b/pkgs/by-name/li/lib3ds/package.nix index 791d2ab523d03..3764dbdd0158f 100644 --- a/pkgs/by-name/li/lib3ds/package.nix +++ b/pkgs/by-name/li/lib3ds/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "lib3ds"; @@ -18,4 +23,3 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; }; } - diff --git a/pkgs/by-name/li/lib3mf/package.nix b/pkgs/by-name/li/lib3mf/package.nix index df88534bc6e74..c61a747bec0ee 100644 --- a/pkgs/by-name/li/lib3mf/package.nix +++ b/pkgs/by-name/li/lib3mf/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, automaticcomponenttoolkit -, pkg-config, libzip, gtest, openssl, libuuid, libossp_uuid }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + automaticcomponenttoolkit, + pkg-config, + libzip, + gtest, + openssl, + libuuid, + libossp_uuid, +}: stdenv.mkDerivation rec { pname = "lib3mf"; @@ -14,9 +26,16 @@ stdenv.mkDerivation rec { patches = [ ./upgrade-to-cpp-14.patch ]; - nativeBuildInputs = [ cmake ninja pkg-config ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=include/lib3mf" @@ -27,7 +46,9 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - libzip gtest openssl + libzip + gtest + openssl ] ++ (if stdenv.hostPlatform.isDarwin then [ libossp_uuid ] else [ libuuid ]); postPatch = '' diff --git a/pkgs/by-name/li/libGDSII/package.nix b/pkgs/by-name/li/libGDSII/package.nix index 095e0ee182a3d..36d13c9ed8c34 100644 --- a/pkgs/by-name/li/libGDSII/package.nix +++ b/pkgs/by-name/li/libGDSII/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -27,7 +28,10 @@ stdenv.mkDerivation rec { mainProgram = "GDSIIConvert"; homepage = "https://github.com/HomerReid/libGDSII"; license = [ licenses.gpl2Only ]; - maintainers = with maintainers; [ sheepforce markuskowa ]; + maintainers = with maintainers; [ + sheepforce + markuskowa + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libHX/package.nix b/pkgs/by-name/li/libHX/package.nix index 7016c5c86593b..dda695c1f7472 100644 --- a/pkgs/by-name/li/libHX/package.nix +++ b/pkgs/by-name/li/libHX/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libtool }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "libHX"; @@ -9,9 +16,13 @@ stdenv.mkDerivation rec { sha256 = "18w39j528lyg2026dr11f2xxxphy91cg870nx182wbd8cjlqf86c"; }; - patches = []; + patches = [ ]; - nativeBuildInputs = [ autoconf automake libtool ]; + nativeBuildInputs = [ + autoconf + automake + libtool + ]; preConfigure = '' sh autogen.sh @@ -23,9 +34,13 @@ stdenv.mkDerivation rec { libHX is a C library (with some C++ bindings available) that provides data structures and functions commonly needed, such as maps, deques, linked lists, string formatting and autoresizing, option and config file parsing, type checking casts and more. - ''; + ''; maintainers = [ ]; platforms = platforms.linux; - license = with licenses; [ gpl3 lgpl21Plus wtfpl ]; + license = with licenses; [ + gpl3 + lgpl21Plus + wtfpl + ]; }; } diff --git a/pkgs/by-name/li/libLAS/package.nix b/pkgs/by-name/li/libLAS/package.nix index f9bd013065852..5bec9b5f2075b 100644 --- a/pkgs/by-name/li/libLAS/package.nix +++ b/pkgs/by-name/li/libLAS/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, fetchpatch, boost, cmake, libgeotiff, libtiff, laszip_2, fixDarwinDylibNames }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + boost, + cmake, + libgeotiff, + libtiff, + laszip_2, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "libLAS"; @@ -35,7 +46,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ boost libgeotiff libtiff laszip_2 ]; + buildInputs = [ + boost + libgeotiff + libtiff + laszip_2 + ]; cmakeFlags = [ "-DWITH_LASZIP=ON" diff --git a/pkgs/by-name/li/libaacs/package.nix b/pkgs/by-name/li/libaacs/package.nix index c0d3b91885e65..656aca8ddfa8c 100644 --- a/pkgs/by-name/li/libaacs/package.nix +++ b/pkgs/by-name/li/libaacs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libgcrypt, libgpg-error, bison, flex }: +{ + lib, + stdenv, + fetchurl, + libgcrypt, + libgpg-error, + bison, + flex, +}: # library that allows libbluray to play AACS protected bluray disks # libaacs does not infringe DRM's right or copyright. See the legal page of the website for more info. @@ -9,16 +17,22 @@ stdenv.mkDerivation rec { pname = "libaacs"; - version = "0.11.1"; + version = "0.11.1"; src = fetchurl { url = "http://get.videolan.org/libaacs/${version}/${pname}-${version}.tar.bz2"; sha256 = "sha256-qIqg6+TJinf3rv/ZKrPvZKxUjGuCLoJIqLkmclvqCjk="; }; - buildInputs = [ libgcrypt libgpg-error ]; + buildInputs = [ + libgcrypt + libgpg-error + ]; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; meta = with lib; { homepage = "https://www.videolan.org/developers/libaacs.html"; diff --git a/pkgs/by-name/li/libaal/package.nix b/pkgs/by-name/li/libaal/package.nix index d5b0b95f95992..8e3535d90f6b4 100644 --- a/pkgs/by-name/li/libaal/package.nix +++ b/pkgs/by-name/li/libaal/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.0.7"; diff --git a/pkgs/by-name/li/libabigail/package.nix b/pkgs/by-name/li/libabigail/package.nix index fcfc88cbb667b..f8f2578089503 100644 --- a/pkgs/by-name/li/libabigail/package.nix +++ b/pkgs/by-name/li/libabigail/package.nix @@ -1,18 +1,24 @@ -{ lib, stdenv -, fetchurl -, autoreconfHook -, elfutils -, libxml2 -, pkg-config -, strace -, python3 +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + elfutils, + libxml2, + pkg-config, + strace, + python3, }: stdenv.mkDerivation rec { pname = "libabigail"; version = "2.5"; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; src = fetchurl { url = "https://mirrors.kernel.org/sourceware/${pname}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/li/libabw/package.nix b/pkgs/by-name/li/libabw/package.nix index 5476b3c7402b5..083e4ad7be0a4 100644 --- a/pkgs/by-name/li/libabw/package.nix +++ b/pkgs/by-name/li/libabw/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, boost, doxygen, gperf, pkg-config, librevenge, libxml2, perl, zlib }: +{ + lib, + stdenv, + fetchurl, + boost, + doxygen, + gperf, + pkg-config, + librevenge, + libxml2, + perl, + zlib, +}: stdenv.mkDerivation rec { pname = "libabw"; @@ -16,7 +28,15 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ boost doxygen gperf librevenge libxml2 perl zlib ]; + buildInputs = [ + boost + doxygen + gperf + librevenge + libxml2 + perl + zlib + ]; meta = with lib; { homepage = "https://wiki.documentfoundation.org/DLP/Libraries/libabw"; diff --git a/pkgs/by-name/li/libaccounts-glib/package.nix b/pkgs/by-name/li/libaccounts-glib/package.nix index 3ed46996056ae..aa4fd5f15009d 100644 --- a/pkgs/by-name/li/libaccounts-glib/package.nix +++ b/pkgs/by-name/li/libaccounts-glib/package.nix @@ -1,11 +1,36 @@ -{ lib, stdenv, fetchFromGitLab, gitUpdater, meson, mesonEmulatorHook, ninja, glib, check, python3, vala, gtk-doc, glibcLocales -, libxml2, libxslt, pkg-config, sqlite, docbook_xsl, docbook_xml_dtd_43, gobject-introspection }: +{ + lib, + stdenv, + fetchFromGitLab, + gitUpdater, + meson, + mesonEmulatorHook, + ninja, + glib, + check, + python3, + vala, + gtk-doc, + glibcLocales, + libxml2, + libxslt, + pkg-config, + sqlite, + docbook_xsl, + docbook_xml_dtd_43, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "libaccounts-glib"; version = "1.27"; - outputs = [ "out" "dev" "devdoc" "py" ]; + outputs = [ + "out" + "dev" + "devdoc" + "py" + ]; src = fetchFromGitLab { owner = "accounts-sso"; @@ -14,20 +39,22 @@ stdenv.mkDerivation rec { hash = "sha256-mLhcwp8rhCGSB1K6rTWT0tuiINzgwULwXINfCbgPKEg="; }; - nativeBuildInputs = [ - check - docbook_xml_dtd_43 - docbook_xsl - glibcLocales - gobject-introspection - gtk-doc - meson - ninja - pkg-config - vala - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + check + docbook_xml_dtd_43 + docbook_xsl + glibcLocales + gobject-introspection + gtk-doc + meson + ninja + pkg-config + vala + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/li/libad9361/package.nix b/pkgs/by-name/li/libad9361/package.nix index 96f1e877d52ba..6b0e62dcd159d 100644 --- a/pkgs/by-name/li/libad9361/package.nix +++ b/pkgs/by-name/li/libad9361/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libiio }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libiio, +}: stdenv.mkDerivation rec { pname = "libad9361"; diff --git a/pkgs/by-name/li/libaec/package.nix b/pkgs/by-name/li/libaec/package.nix index cd816329a51a3..e323b420b980c 100644 --- a/pkgs/by-name/li/libaec/package.nix +++ b/pkgs/by-name/li/libaec/package.nix @@ -1,10 +1,13 @@ -{ lib, stdenv, fetchFromGitLab -, cmake +{ + lib, + stdenv, + fetchFromGitLab, + cmake, }: stdenv.mkDerivation rec { pname = "libaec"; - version = "1.1.3"; + version = "1.1.3"; src = fetchFromGitLab { domain = "gitlab.dkrz.de"; diff --git a/pkgs/by-name/li/libaio/package.nix b/pkgs/by-name/li/libaio/package.nix index 080571ad71d1a..ca30fc15d6bc2 100644 --- a/pkgs/by-name/li/libaio/package.nix +++ b/pkgs/by-name/li/libaio/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "0.3.113"; diff --git a/pkgs/by-name/li/libajantv2/package.nix b/pkgs/by-name/li/libajantv2/package.nix index ed5a57ed7364e..4b0366d20c52f 100644 --- a/pkgs/by-name/li/libajantv2/package.nix +++ b/pkgs/by-name/li/libajantv2/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, ninja -, pkg-config +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + ninja, + pkg-config, }: # Warning: We are aware that the upstream changed and there are new releases, @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-h5PKWMwqTeI5/EaTWkjYojuvDU0FyMpzIjWB98UOJwc="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/li/libamplsolver/package.nix b/pkgs/by-name/li/libamplsolver/package.nix index bfaad6cbc7674..d6a3e0a35682a 100644 --- a/pkgs/by-name/li/libamplsolver/package.nix +++ b/pkgs/by-name/li/libamplsolver/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, substitute, fetchurl }: +{ + lib, + stdenv, + substitute, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libamplsolver"; @@ -12,22 +17,29 @@ stdenv.mkDerivation rec { patches = [ (substitute { src = ./libamplsolver-sharedlib.patch; - substitutions = [ "--replace" "@sharedlibext@" "${stdenv.hostPlatform.extensions.sharedLibrary}" ]; + substitutions = [ + "--replace" + "@sharedlibext@" + "${stdenv.hostPlatform.extensions.sharedLibrary}" + ]; }) ]; - installPhase = '' - runHook preInstall - pushd sys.$(uname -m).$(uname -s) - install -D -m 0644 *.h -t $out/include - install -D -m 0644 *${stdenv.hostPlatform.extensions.sharedLibrary}* -t $out/lib - install -D -m 0644 *.a -t $out/lib - popd - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id $out/lib/libamplsolver.dylib $out/lib/libamplsolver.dylib - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + pushd sys.$(uname -m).$(uname -s) + install -D -m 0644 *.h -t $out/include + install -D -m 0644 *${stdenv.hostPlatform.extensions.sharedLibrary}* -t $out/lib + install -D -m 0644 *.a -t $out/lib + popd + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id $out/lib/libamplsolver.dylib $out/lib/libamplsolver.dylib + '' + + '' + runHook postInstall + ''; meta = with lib; { description = "Library of routines that help solvers work with AMPL"; diff --git a/pkgs/by-name/li/libantlr3c/package.nix b/pkgs/by-name/li/libantlr3c/package.nix index 622dabd82394f..76ad3a7734218 100644 --- a/pkgs/by-name/li/libantlr3c/package.nix +++ b/pkgs/by-name/li/libantlr3c/package.nix @@ -1,14 +1,19 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libantlr3c"; version = "3.4"; src = fetchurl { url = "https://www.antlr3.org/download/C/libantlr3c-${version}.tar.gz"; - sha256 ="0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa"; + sha256 = "0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa"; }; - configureFlags = lib.optional stdenv.hostPlatform.is64bit "--enable-64bit" + configureFlags = + lib.optional stdenv.hostPlatform.is64bit "--enable-64bit" # libantlr3c wrongly emits the abi flags -m64 and -m32 which imply x86 archs # https://github.com/antlr/antlr3/issues/205 ++ lib.optional (!stdenv.hostPlatform.isx86) "--disable-abiflags"; diff --git a/pkgs/by-name/li/libaom/package.nix b/pkgs/by-name/li/libaom/package.nix index 8b8362d6c1934..82650185cd818 100644 --- a/pkgs/by-name/li/libaom/package.nix +++ b/pkgs/by-name/li/libaom/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchurl, fetchzip, yasm, perl, cmake, pkg-config, python3 -, enableVmaf ? true, libvmaf -, gitUpdater +{ + lib, + stdenv, + fetchurl, + fetchzip, + yasm, + perl, + cmake, + pkg-config, + python3, + enableVmaf ? true, + libvmaf, + gitUpdater, -# for passthru.tests -, ffmpeg -, libavif -, libheif + # for passthru.tests + ffmpeg, + libavif, + libheif, }: let @@ -21,20 +31,26 @@ stdenv.mkDerivation rec { stripRoot = false; }; - patches = [ - ./outputs.patch - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # This patch defines `_POSIX_C_SOURCE`, which breaks system headers - # on Darwin. - (fetchurl { - name = "musl.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch?id=50c7c4021e347ee549164595280cf8a23c960959"; - hash = "sha256-6+u7GTxZcSNJgN7D+s+XAVwbMnULufkTcQ0s7l+Ydl0="; - }) - ]; + patches = + [ + ./outputs.patch + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # This patch defines `_POSIX_C_SOURCE`, which breaks system headers + # on Darwin. + (fetchurl { + name = "musl.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch?id=50c7c4021e347ee549164595280cf8a23c960959"; + hash = "sha256-6+u7GTxZcSNJgN7D+s+XAVwbMnULufkTcQ0s7l+Ydl0="; + }) + ]; nativeBuildInputs = [ - yasm perl cmake pkg-config python3 + yasm + perl + cmake + pkg-config + python3 ]; propagatedBuildInputs = lib.optional enableVmaf libvmaf; @@ -52,26 +68,37 @@ stdenv.mkDerivation rec { # Configuration options: # https://aomedia.googlesource.com/aom/+/refs/heads/master/build/cmake/aom_config_defaults.cmake - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DENABLE_TESTS=OFF" - ] ++ lib.optionals enableVmaf [ - "-DCONFIG_TUNE_VMAF=1" - ] ++ lib.optionals (isCross && !stdenv.hostPlatform.isx86) [ - "-DCMAKE_ASM_COMPILER=${stdenv.cc.targetPrefix}as" - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - # armv7l-hf-multiplatform does not support NEON - # see lib/systems/platform.nix - "-DENABLE_NEON=0" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + "-DENABLE_TESTS=OFF" + ] + ++ lib.optionals enableVmaf [ + "-DCONFIG_TUNE_VMAF=1" + ] + ++ lib.optionals (isCross && !stdenv.hostPlatform.isx86) [ + "-DCMAKE_ASM_COMPILER=${stdenv.cc.targetPrefix}as" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + # armv7l-hf-multiplatform does not support NEON + # see lib/systems/platform.nix + "-DENABLE_NEON=0" + ]; - postFixup = '' - moveToOutput lib/libaom.a "$static" - '' + lib.optionalString stdenv.hostPlatform.isStatic '' - ln -s $static $out - ''; + postFixup = + '' + moveToOutput lib/libaom.a "$static" + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + ln -s $static $out + ''; - outputs = [ "out" "bin" "dev" "static" ]; + outputs = [ + "out" + "bin" + "dev" + "static" + ]; passthru = { updateScript = gitUpdater { @@ -92,10 +119,14 @@ stdenv.mkDerivation rec { for Open Media. It contains an AV1 library as well as applications like an encoder (aomenc) and a decoder (aomdec). ''; - homepage = "https://aomedia.org/av1-features/get-started/"; - changelog = "https://aomedia.googlesource.com/aom/+/refs/tags/v${version}/CHANGELOG"; - maintainers = with maintainers; [ primeos kiloreux dandellion ]; - platforms = platforms.all; + homepage = "https://aomedia.org/av1-features/get-started/"; + changelog = "https://aomedia.googlesource.com/aom/+/refs/tags/v${version}/CHANGELOG"; + maintainers = with maintainers; [ + primeos + kiloreux + dandellion + ]; + platforms = platforms.all; outputsToInstall = [ "bin" ]; license = licenses.bsd2; }; diff --git a/pkgs/by-name/li/libaosd/package.nix b/pkgs/by-name/li/libaosd/package.nix index 8068ae3edd9d9..bc6aa9c97dd79 100644 --- a/pkgs/by-name/li/libaosd/package.nix +++ b/pkgs/by-name/li/libaosd/package.nix @@ -1,19 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cairo, pango, - libX11, libXcomposite, autoconf, automake }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cairo, + pango, + libX11, + libXcomposite, + autoconf, + automake, +}: stdenv.mkDerivation rec { version = "0.2.7-9-g177589f"; pname = "libaosd"; src = fetchFromGitHub { - owner = "atheme-legacy"; - repo = "libaosd"; - rev = version; + owner = "atheme-legacy"; + repo = "libaosd"; + rev = version; sha256 = "1cn7k0n74p6jp25kxwcyblhmbdvgw3mikvj0m2jh4c6xccfrgb9a"; }; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ cairo pango libX11 libXcomposite ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + cairo + pango + libX11 + libXcomposite + ]; enableParallelBuilding = true; preConfigure = '' diff --git a/pkgs/by-name/li/libappindicator/package.nix b/pkgs/by-name/li/libappindicator/package.nix index e2cd9624bc40f..8de5d08ed9417 100644 --- a/pkgs/by-name/li/libappindicator/package.nix +++ b/pkgs/by-name/li/libappindicator/package.nix @@ -1,12 +1,26 @@ -{ stdenv, fetchgit, lib -, pkg-config, autoreconfHook -, glib, dbus-glib -, gtkVersion ? "3" -, gtk2, libindicator-gtk2, libdbusmenu-gtk2 -, gtk3, libindicator-gtk3, libdbusmenu-gtk3 -, gtk-doc, vala, gobject-introspection -, monoSupport ? false, mono, gtk-sharp-2_0, gtk-sharp-3_0 -, testers +{ + stdenv, + fetchgit, + lib, + pkg-config, + autoreconfHook, + glib, + dbus-glib, + gtkVersion ? "3", + gtk2, + libindicator-gtk2, + libdbusmenu-gtk2, + gtk3, + libindicator-gtk3, + libdbusmenu-gtk3, + gtk-doc, + vala, + gobject-introspection, + monoSupport ? false, + mono, + gtk-sharp-2_0, + gtk-sharp-3_0, + testers, }: let @@ -14,11 +28,17 @@ let in stdenv.mkDerivation (finalAttrs: { - pname = let postfix = if monoSupport then "sharp" else "gtk${gtkVersion}"; - in "libappindicator-${postfix}"; + pname = + let + postfix = if monoSupport then "sharp" else "gtk${gtkVersion}"; + in + "libappindicator-${postfix}"; version = "12.10.1+20.10.20200706.1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchgit { url = "https://git.launchpad.net/ubuntu/+source/libappindicator"; @@ -26,26 +46,45 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "0xjvbl4gn7ra2fs6gn2g9s787kzb5cg9hv79iqsz949rxh4iw32d"; }; - nativeBuildInputs = [ pkg-config autoreconfHook vala gobject-introspection gtk-doc ]; - - propagatedBuildInputs = { - "2" = [ gtk2 libdbusmenu-gtk2 ]; - "3" = [ gtk3 libdbusmenu-gtk3 ]; - }.${gtkVersion} or throwBadGtkVersion; + nativeBuildInputs = [ + pkg-config + autoreconfHook + vala + gobject-introspection + gtk-doc + ]; - buildInputs = [ - glib dbus-glib + propagatedBuildInputs = { - "2" = libindicator-gtk2; - "3" = libindicator-gtk3; - }.${gtkVersion} or throwBadGtkVersion - ] ++ lib.optionals monoSupport [ - mono - { - "2" = gtk-sharp-2_0; - "3" = gtk-sharp-3_0; - }.${gtkVersion} or throwBadGtkVersion - ]; + "2" = [ + gtk2 + libdbusmenu-gtk2 + ]; + "3" = [ + gtk3 + libdbusmenu-gtk3 + ]; + } + .${gtkVersion} or throwBadGtkVersion; + + buildInputs = + [ + glib + dbus-glib + { + "2" = libindicator-gtk2; + "3" = libindicator-gtk3; + } + .${gtkVersion} or throwBadGtkVersion + ] + ++ lib.optionals monoSupport [ + mono + { + "2" = gtk-sharp-2_0; + "3" = gtk-sharp-3_0; + } + .${gtkVersion} or throwBadGtkVersion + ]; preAutoreconf = '' gtkdocize @@ -70,11 +109,16 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Library to allow applications to export a menu into the Unity Menu bar"; homepage = "https://launchpad.net/libappindicator"; - license = with licenses; [ lgpl21 lgpl3 ]; - pkgConfigModules = { - "2" = [ "appindicator-0.1" ]; - "3" = [ "appindicator3-0.1" ]; - }.${gtkVersion} or throwBadGtkVersion; + license = with licenses; [ + lgpl21 + lgpl3 + ]; + pkgConfigModules = + { + "2" = [ "appindicator-0.1" ]; + "3" = [ "appindicator3-0.1" ]; + } + .${gtkVersion} or throwBadGtkVersion; platforms = platforms.linux; maintainers = [ maintainers.msteen ]; # TODO: Resolve the issues with the Mono bindings. diff --git a/pkgs/by-name/li/libarchive/package.nix b/pkgs/by-name/li/libarchive/package.nix index 6ffa2b5314416..6b6c8771b1673 100644 --- a/pkgs/by-name/li/libarchive/package.nix +++ b/pkgs/by-name/li/libarchive/package.nix @@ -1,31 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, acl -, attr -, autoreconfHook -, bzip2 -, e2fsprogs -, glibcLocalesUtf8 -, lzo -, openssl -, pkg-config -, sharutils -, xz -, zlib -, zstd -# Optional but increases closure only negligibly. Also, while libxml2 builds -# fine on windows, libarchive has trouble linking windows things it depends on -# for some reason. -, xarSupport ? stdenv.hostPlatform.isUnix, libxml2 - -# for passthru.tests -, cmake -, nix -, samba - -# for passthru.lore -, binlore +{ + lib, + stdenv, + fetchFromGitHub, + acl, + attr, + autoreconfHook, + bzip2, + e2fsprogs, + glibcLocalesUtf8, + lzo, + openssl, + pkg-config, + sharutils, + xz, + zlib, + zstd, + # Optional but increases closure only negligibly. Also, while libxml2 builds + # fine on windows, libarchive has trouble linking windows things it depends on + # for some reason. + xarSupport ? stdenv.hostPlatform.isUnix, + libxml2, + + # for passthru.tests + cmake, + nix, + samba, + + # for passthru.lore + binlore, }: assert xarSupport -> libxml2 != null; @@ -56,33 +58,41 @@ stdenv.mkDerivation (finalAttrs: { ./fix-pkg-config-iconv.patch ]; - outputs = [ "out" "lib" "dev" ]; - - postPatch = let - skipTestPaths = [ - # test won't work in nix sandbox - "libarchive/test/test_write_disk_perms.c" - # the filesystem does not necessarily have sparse capabilities - "libarchive/test/test_sparse_basic.c" - # the filesystem does not necessarily have hardlink capabilities - "libarchive/test/test_write_disk_hardlink.c" - # access-time-related tests flakey on some systems - "cpio/test/test_option_a.c" - "cpio/test/test_option_t.c" - ] ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [ - # only on some aarch64-linux systems? - "cpio/test/test_basic.c" - "cpio/test/test_format_newc.c" - ]; - removeTest = testPath: '' - substituteInPlace Makefile.am --replace-fail "${testPath}" "" - rm "${testPath}" - ''; - in '' - substituteInPlace Makefile.am --replace-fail '/bin/pwd' "$(type -P pwd)" + outputs = [ + "out" + "lib" + "dev" + ]; - ${lib.concatStringsSep "\n" (map removeTest skipTestPaths)} - ''; + postPatch = + let + skipTestPaths = + [ + # test won't work in nix sandbox + "libarchive/test/test_write_disk_perms.c" + # the filesystem does not necessarily have sparse capabilities + "libarchive/test/test_sparse_basic.c" + # the filesystem does not necessarily have hardlink capabilities + "libarchive/test/test_write_disk_hardlink.c" + # access-time-related tests flakey on some systems + "cpio/test/test_option_a.c" + "cpio/test/test_option_t.c" + ] + ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [ + # only on some aarch64-linux systems? + "cpio/test/test_basic.c" + "cpio/test/test_format_newc.c" + ]; + removeTest = testPath: '' + substituteInPlace Makefile.am --replace-fail "${testPath}" "" + rm "${testPath}" + ''; + in + '' + substituteInPlace Makefile.am --replace-fail '/bin/pwd' "$(type -P pwd)" + + ${lib.concatStringsSep "\n" (map removeTest skipTestPaths)} + ''; nativeBuildInputs = [ autoreconfHook @@ -90,19 +100,28 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - bzip2 - lzo - openssl - xz - zlib - zstd - ] ++ lib.optional stdenv.hostPlatform.isUnix sharutils - ++ lib.optionals stdenv.hostPlatform.isLinux [ acl attr e2fsprogs ] + buildInputs = + [ + bzip2 + lzo + openssl + xz + zlib + zstd + ] + ++ lib.optional stdenv.hostPlatform.isUnix sharutils + ++ lib.optionals stdenv.hostPlatform.isLinux [ + acl + attr + e2fsprogs + ] ++ lib.optional xarSupport libxml2; # Without this, pkg-config-based dependencies are unhappy - propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ attr acl ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + attr + acl + ]; configureFlags = lib.optional (!xarSupport) "--without-xml2"; diff --git a/pkgs/by-name/li/libargon2/package.nix b/pkgs/by-name/li/libargon2/package.nix index ccd8166ca4f0d..ca9049503dc7d 100644 --- a/pkgs/by-name/li/libargon2/package.nix +++ b/pkgs/by-name/li/libargon2/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, fixDarwinDylibNames }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "libargon2"; @@ -23,15 +29,17 @@ stdenv.mkDerivation rec { }) ]; - makeFlags = [ - "AR=${stdenv.cc.targetPrefix}ar" # Fix cross-compilation - "PREFIX=${placeholder "out"}" - "ARGON2_VERSION=${version}" - "LIBRARY_REL=lib" - "PKGCONFIG_REL=lib" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "LIBRARIES=$(LIB_ST)" - ]; + makeFlags = + [ + "AR=${stdenv.cc.targetPrefix}ar" # Fix cross-compilation + "PREFIX=${placeholder "out"}" + "ARGON2_VERSION=${version}" + "LIBRARY_REL=lib" + "PKGCONFIG_REL=lib" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "LIBRARIES=$(LIB_ST)" + ]; meta = with lib; { description = "Key derivation function that was selected as the winner of the Password Hashing Competition in July 2015"; @@ -43,8 +51,14 @@ stdenv.mkDerivation rec { recommends using Argon2 rather than legacy algorithms. ''; homepage = "https://www.argon2.com/"; - license = with licenses; [ asl20 cc0 ]; - maintainers = with maintainers; [ taeer olynch ]; + license = with licenses; [ + asl20 + cc0 + ]; + maintainers = with maintainers; [ + taeer + olynch + ]; mainProgram = "argon2"; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libargs/package.nix b/pkgs/by-name/li/libargs/package.nix index 227afc0eb1f83..e9900a4e4114e 100644 --- a/pkgs/by-name/li/libargs/package.nix +++ b/pkgs/by-name/li/libargs/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "args"; diff --git a/pkgs/by-name/li/libaribcaption/package.nix b/pkgs/by-name/li/libaribcaption/package.nix index 936991ef6a875..353f31c0e1284 100644 --- a/pkgs/by-name/li/libaribcaption/package.nix +++ b/pkgs/by-name/li/libaribcaption/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake - -, fontconfig -, freetype - -, ApplicationServices -, CoreFoundation -, CoreGraphics -, CoreText +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + + fontconfig, + freetype, + + ApplicationServices, + CoreFoundation, + CoreGraphics, + CoreText, }: stdenv.mkDerivation rec { @@ -27,15 +28,17 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - fontconfig - freetype - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - CoreFoundation - CoreGraphics - CoreText - ]; + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + fontconfig + freetype + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + CoreFoundation + CoreGraphics + CoreText + ]; meta = with lib; { description = "Portable ARIB STD-B24 Caption Decoder/Renderer"; diff --git a/pkgs/by-name/li/libasr/package.nix b/pkgs/by-name/li/libasr/package.nix index 8d5b6d128ddf3..7dccc5058e28e 100644 --- a/pkgs/by-name/li/libasr/package.nix +++ b/pkgs/by-name/li/libasr/package.nix @@ -1,15 +1,24 @@ -{ lib, stdenv, fetchurl, libevent, openssl }: +{ + lib, + stdenv, + fetchurl, + libevent, + openssl, +}: stdenv.mkDerivation rec { pname = "libasr"; - version= "1.0.4"; + version = "1.0.4"; src = fetchurl { url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz"; sha256 = "1d6s8njqhvayx2gp47409sp1fn8m608ws26hr1srfp6i23nnpyqr"; }; - buildInputs = [ libevent openssl ]; + buildInputs = [ + libevent + openssl + ]; meta = with lib; { homepage = "https://github.com/OpenSMTPD/libasr"; diff --git a/pkgs/by-name/li/libassuan/package.nix b/pkgs/by-name/li/libassuan/package.nix index 9998bfdceb7bf..25cd5a2ed485c 100644 --- a/pkgs/by-name/li/libassuan/package.nix +++ b/pkgs/by-name/li/libassuan/package.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, gettext, npth, libgpg-error, buildPackages, gitUpdater }: +{ + fetchurl, + lib, + stdenv, + gettext, + npth, + libgpg-error, + buildPackages, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "libassuan"; @@ -9,11 +18,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-AQMIH/wng4ouUEeRU8oQXoc9PWXYqVkygunJTH5q+3Y="; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; outputBin = "dev"; # libassuan-config depsBuildBuild = [ buildPackages.stdenv.cc ]; - buildInputs = [ npth gettext ]; + buildInputs = [ + npth + gettext + ]; configureFlags = [ # Required for cross-compilation. diff --git a/pkgs/by-name/li/libast/package.nix b/pkgs/by-name/li/libast/package.nix index ae6f6e17445f5..c7bbce07f1198 100644 --- a/pkgs/by-name/li/libast/package.nix +++ b/pkgs/by-name/li/libast/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libasyncns/package.nix b/pkgs/by-name/li/libasyncns/package.nix index 77c998f4216b7..a13e3733ff96b 100644 --- a/pkgs/by-name/li/libasyncns/package.nix +++ b/pkgs/by-name/li/libasyncns/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libasyncns"; diff --git a/pkgs/by-name/li/libatasmart/package.nix b/pkgs/by-name/li/libatasmart/package.nix index d5be78e913b7a..c3e5c301b37c0 100644 --- a/pkgs/by-name/li/libatasmart/package.nix +++ b/pkgs/by-name/li/libatasmart/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, udev, buildPackages }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + udev, + buildPackages, +}: stdenv.mkDerivation rec { pname = "libatasmart"; diff --git a/pkgs/by-name/li/libation/deps.nix b/pkgs/by-name/li/libation/deps.nix index 998aaa73b9ae2..8be16ac27ce00 100644 --- a/pkgs/by-name/li/libation/deps.nix +++ b/pkgs/by-name/li/libation/deps.nix @@ -1,224 +1,1101 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "AAXClean"; version = "1.1.2"; hash = "sha256-Abgf22iixOsF1VnVfbutYPtPuUonq0G+aSynhOMLtkM="; }) - (fetchNuGet { pname = "AAXClean.Codecs"; version = "1.1.3"; hash = "sha256-SPbynIf6vtDfnfTWcfpn7WiwKHD15CogCIEyTTVMEkM="; }) - (fetchNuGet { pname = "AudibleApi"; version = "9.2.0.1"; hash = "sha256-2NcRx+2sBLQDmXA+lLFnpGj9/IzyxYnvE5doQP9oCQ8="; }) - (fetchNuGet { pname = "Avalonia"; version = "11.0.5"; hash = "sha256-BqpHqQIObTb7DHTyZAgCD9A5I0pZkHhSoPTN2g6/G9E="; }) - (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; hash = "sha256-TWop9cvak6cMv2vrA/GlpuYBxS8Fuj5UmupGIV7Q5Ks="; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.5"; hash = "sha256-Iob8OyWhwXhmHKCdnea7dtL9VQvcrf6/gUGHJ30CKXA="; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.5"; hash = "sha256-2iVuMPRw7sbsYPGSG4XjQFGFky5WB5B05Jh1+I852ZI="; }) - (fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.5"; hash = "sha256-e/PyjYtJx0TFPSYS/jLBG7HC2x7o4qJ3NR2T+xchV0w="; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.5"; hash = "sha256-UKVibxhJoGNvEGh8J/Z0sq8J81FT8yth/yXVPSFHF/8="; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.5"; hash = "sha256-0cUxPYJP2W11wnM6j4qNB3IvHlsUp9EZlY8I/NoAmd4="; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.5"; hash = "sha256-O20fC/9YXO3/MZNlh1EgWLHFSyi/ao083MKwjetgxmo="; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.5"; hash = "sha256-KVUAXXT+f4VrtJ8widfEIzN25GBbtXWog/tpM354gdg="; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.5"; hash = "sha256-8tGLyA0PRKt1REb9YeCtEDz5oB886PRG35aO0uZm/jU="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.5"; hash = "sha256-wTqdxPU3Ql7jC4JFkChbUfaRR0nqUKrYKn8oexdFyig="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.5"; hash = "sha256-rKOgkNLCwEVVcyLCimvhDUDKXnrDOguUryaGVOPFFwE="; }) - (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.5"; hash = "sha256-ETOaNvRzTAC0uEVVB3noiyYM9N9nPrPnMwCqiFgID/4="; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.5"; hash = "sha256-27evmgSrIx+EopF6E3N1cT7BvAUc/s99TVEMfmG83cQ="; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.5"; hash = "sha256-ncZLGKhpfjuuVPz4Fs+P6L3dM0KRnwAC3xJRqyvpKw8="; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.5"; hash = "sha256-rvs3hwRh3F5E1j3JqcodWJTHV3BTWMKkvzq170tuPa4="; }) - (fetchNuGet { pname = "BouncyCastle.Cryptography"; version = "2.3.0"; hash = "sha256-TIBOegJAEfFRyvtwuPakvKsQbqoPHj1RSTmK7SKYsf0="; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; }) - (fetchNuGet { pname = "CsvHelper"; version = "33.0.1"; hash = "sha256-4MwA/WerpI0VYWiaEudNCNnE1v6/k2tPmLbRjmgijV4="; }) - (fetchNuGet { pname = "Dinah.Core"; version = "8.0.0.1"; hash = "sha256-jYAaIqv67DOl+l+i92QmV7TM3YXL250D8XUZ7dZh1s0="; }) - (fetchNuGet { pname = "Dinah.EntityFrameworkCore"; version = "8.0.0.1"; hash = "sha256-xTKKCBE2KfXqUaRMZqgohQmUi51GrWvaIWTW66nRRYQ="; }) - (fetchNuGet { pname = "DynamicData"; version = "7.9.5"; hash = "sha256-3XjOMuFathku9oWyss360+Ze5UMP7tSmUbMoax7qONU="; }) - (fetchNuGet { pname = "Enums.NET"; version = "4.0.1"; hash = "sha256-ZTWgmbLlOvF9rKQAa4cwPBA0NLZhZ0rwrgZtg/RuJY8="; }) - (fetchNuGet { pname = "ExtendedNumerics.BigDecimal"; version = "2023.1000.0.230"; hash = "sha256-THVfKgtJoier9RfJamO1a+F1ufVRSWoMw+0lerxxdC8="; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; }) - (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.54"; hash = "sha256-Cl3l5H5qYOn6fEzX9cl1eMn43l7C13a+tBOAVD1oGp0="; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; }) - (fetchNuGet { pname = "LuceneNet303r2"; version = "3.0.3.8"; hash = "sha256-mHfa5OzVff2q5MIgefih9Y269qQKe7It/6G4IwT2Meg="; }) - (fetchNuGet { pname = "MathNet.Numerics.Signed"; version = "5.0.0"; hash = "sha256-76y1jaL+abqoyP3K4n9phF1S1hTpylkw//vTHukROUc="; }) - (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; hash = "sha256-pkZiggwLw8k+CVSXKTzsVGsT+K49LxXUS3VH5PNlpCY="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.5.0"; hash = "sha256-qo1oVNTB9JIMEPoiIZ+02qvF/O8PshQ/5gTjsY9iX0I="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.5.0"; hash = "sha256-5dZTS9PYtY83vyVa5bdNG3XKV5EjcnmddfUqWmIE29A="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.5.0"; hash = "sha256-Kmyt1Xfcs0rSZHvN9PH94CKAooqMS9abZQY7EpEqb2o="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.5.0"; hash = "sha256-WM7AXJYHagaPx2waj2E32gG0qXq6Kx4Zhiq7Ym3WXPI="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.5"; hash = "sha256-PH+ZS45SGfWSFcYZA+V3m0k1r3kxaDzD3DutVVRyqfQ="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "8.0.0"; hash = "sha256-Z6dlgOQrYcSCcRaXPNnYLC87sg4OGRS+p4Tv3EFXFfY="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "8.0.5"; hash = "sha256-qR7Z+AQXzwejgYUKhoZIfYTWPOLNpOD6DBJ80xEfLaE="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "8.0.0"; hash = "sha256-QxPc73WzjE63Pzuxc/xr/uQc0C+v6xVd2N0iIUJKOQU="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "8.0.5"; hash = "sha256-2RyxdXMIc2Gzbc5ouEdbbrVDfTrCU8PP9zPYxlcQXpw="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "8.0.0"; hash = "sha256-SidpTl9AveYiXHa+TtvyHnRTOn02lmab4qXPf0FTi+0="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "8.0.5"; hash = "sha256-tvLA2TZouZC8pgxS8YikG2ui4Znaj6bNrVGAVy7t9rk="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "8.0.5"; hash = "sha256-zwDnWBGVf6O+L2iqcwJ/e+gbg5A+hVLf8Tc3vIbl+cA="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "8.0.0"; hash = "sha256-ga+Qp4dZpmxVEmIIn8AcC92HrhVQBaDICyHqE87s+lk="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "8.0.5"; hash = "sha256-peIG9ZgXvvEB2wJ2QFxC3u+H8LnZ9xL/HIegw4R00Do="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "8.0.5"; hash = "sha256-lED2YXKz6PzYAC5iIXW957N74KUuYtJ9cKvoPFiebpk="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "8.0.5"; hash = "sha256-+6AvDE+Fj0Oc7EfA4SXwFUdkOSvvX6jC5HPtbUhYQwE="; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Tools"; version = "8.0.5"; hash = "sha256-tHtuHXdI4d3CdL+2as595sys0phrBeZtWEof2Gd/A3I="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "8.0.0"; hash = "sha256-xGpKrywQvU1Wm/WolYIxgHYEFfgkNGeJ+GGc5DT3phI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "8.0.0"; hash = "sha256-RUQe2VgOATM9JkZ/wGm9mreKoCmOS4pPyvyJWBqMaC8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "8.0.0"; hash = "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; }) - (fetchNuGet { pname = "Microsoft.IO.RecyclableMemoryStream"; version = "3.0.0"; hash = "sha256-WBXkqxC5g4tJ481sa1uft39LqA/5hx5yOfiTfMRMg/4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; }) - (fetchNuGet { pname = "Mono.TextTemplating"; version = "2.2.1"; hash = "sha256-4TYsfc8q74P8FuDwkIWPO+VYY0mh4Hs4ZL8v0lMaBsY="; }) - (fetchNuGet { pname = "NameParserSharp"; version = "1.5.0"; hash = "sha256-I0xUWObpeR9r867ef3SskvdyIWB7kpNI+Xy7X4l05eE="; }) - (fetchNuGet { pname = "NAudio.Core"; version = "2.2.1"; hash = "sha256-eUZF2/0w5IgGY9UtnZIk1VwwH6VCKP9iPJXVcseIc0c="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "NPOI"; version = "2.7.0"; hash = "sha256-zqns3HwLv8OQMyvw+LUtwqPbkAEIrVJU589AMNhnM4s="; }) - (fetchNuGet { pname = "Octokit"; version = "11.0.1"; hash = "sha256-24Ym/CXgU3LCFQcMHdFfWp8vUjLfwRcRIyW9fvr4i1s="; }) - (fetchNuGet { pname = "Pluralize.NET"; version = "1.0.2"; hash = "sha256-u/WHYDpSvGs6SkgPREm1RID4po6h8/fj2QgJal1TBwU="; }) - (fetchNuGet { pname = "Polly"; version = "8.4.1"; hash = "sha256-CPFw0j6f2P5LfcoFAHo1RRDnCx6SXnp8gzHnwYDnYhY="; }) - (fetchNuGet { pname = "Polly.Core"; version = "8.4.1"; hash = "sha256-EksA3U5cmsri2joM+SMtbdwOUMUVxIXT8DnH4DSAIpA="; }) - (fetchNuGet { pname = "ReactiveUI"; version = "18.3.1"; hash = "sha256-1rf4icGRKTR3XIWJpkQJCG7ObRM+72ITB5K+ND1is9M="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "Serilog"; version = "2.10.0"; hash = "sha256-+8wilkt+VVvW+KFWuLryj7cSFpz9D+sz92KYWICAcSE="; }) - (fetchNuGet { pname = "Serilog"; version = "2.8.0"; hash = "sha256-MBL9AWGV8UthhiHXnqH3EsfIyXnxdLWqAdFa6QvQ2To="; }) - (fetchNuGet { pname = "Serilog"; version = "3.1.0"; hash = "sha256-1CDAp+AjfFjQqoLvKYp/j6pKTUfNOGfKVlWyqCGHo7k="; }) - (fetchNuGet { pname = "Serilog"; version = "3.1.1"; hash = "sha256-L263y8jkn7dNFD2jAUK6mgvyRTqFe39i1tRhVZsNZTI="; }) - (fetchNuGet { pname = "Serilog"; version = "4.0.0"; hash = "sha256-j8hQ5TdL1TjfdGiBO9PyHJFMMPvATHWN1dtrrUZZlNw="; }) - (fetchNuGet { pname = "Serilog.Exceptions"; version = "8.4.0"; hash = "sha256-2We6ZVAcFsEYVV7vVM+F1+4phHRqc7NeQZKbYDK0Gew="; }) - (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "8.0.0"; hash = "sha256-JQ39fvhOFSUHE6r9DXJvLaZI+Lk7AYzuskQu3ux+hQg="; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "5.0.0"; hash = "sha256-UOVlegJLhs0vK1ml2DZCjFE5roDRZsGCAqD/53ZaZWI="; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "6.0.0"; hash = "sha256-QH8ykDkLssJ99Fgl+ZBFBr+RQRl0wRTkeccQuuGLyro="; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; hash = "sha256-GKy9hwOdlu2W0Rw8LiPyEwus+sDtSOTl8a5l9uqz+SQ="; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "6.0.0"; hash = "sha256-KQmlUpG9ovRpNqKhKe6rz3XMLUjkBqjyQhEm2hV5Sow="; }) - (fetchNuGet { pname = "Serilog.Sinks.ZipFile"; version = "3.1.1"; hash = "sha256-W4oXuOZF+Ic6rKma2PkmKW5O7GvuzooNsiB17p5H6lQ="; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; hash = "sha256-HWEQTKh9Ktwg/zIl079dAiH+ob2ShWFAqLgG6XgIMr4="; }) - (fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.1"; hash = "sha256-fox6f9Z5xunVXiy71KTSkb0DirMN00tuUlChyp96kiI="; }) - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.7"; hash = "sha256-CPC3x2vPfjv8ZLyxnQ8uuNhlsUMrIE/+hdYP0dZGLR8="; }) - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.5"; hash = "sha256-3UehX9T+I81nfgv2dTHlpoPgYzXFk7kHr1mmlQOCBfw="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.6"; hash = "sha256-VjgGoi73tVvqO/UXmQb1w9ioAbFu2dxH8oHz1l5H4zE="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; hash = "sha256-7hOMjlYTOiNPLNwfLFUjTcdgiGEtmYUI1EubiRiC6bo="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.6"; hash = "sha256-CIb9fHVgHwIa0R1WafKJ3+GqtDHHRgDohA3ayTHvlws="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; hash = "sha256-ljD4QmAO2/vwA6I8GIUNkONpOzmGsOVJJy9vPDnjVfA="; }) - (fetchNuGet { pname = "Splat"; version = "14.4.1"; hash = "sha256-i1yzIVpKdFjZMI4J8H970nZCxszklgDitYTEKKz0zA8="; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; hash = "sha256-dZD/bZsYXjOu46ZH5Y/wgh0uhHOqIxC+S+0ecKhr718="; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; hash = "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; hash = "sha256-uHt5d+SFUkSd6WD7Tg0J3e8eVoxy/FM/t4PAkc9PJT0="; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; hash = "sha256-zHc/YZsd72eXlI8ba1tv58HZWUIiyjJaxq2CCP1hQe8="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; hash = "sha256-L1xyspJ8pDJNVPYKl+FMGf4Zwm0tlqtAyQCNW6pT6/0="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; hash = "sha256-DKEbpFqXCIEfqp9p3ezqadn5b/S1YTk32/EQK+tEScs="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; }) - (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; hash = "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; }) - (fetchNuGet { pname = "System.Composition"; version = "6.0.0"; hash = "sha256-H5TnnxOwihI0VyRuykbOWuKFSCWNN+MUEYyloa328Nw="; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "6.0.0"; hash = "sha256-03DR8ecEHSKfgzwuTuxtsRW0Gb7aQtDS4LAYChZdGdc="; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "6.0.0"; hash = "sha256-a3DZS8CT2kV8dVpGxHKoP5wHVKsT+kiPJixckpYfdQo="; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "6.0.0"; hash = "sha256-fpoh6WBNmaHEHszwlBR/TNjd85lwesfM7ZkQhqYtLy4="; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; hash = "sha256-nGZvg2xYhhazAjOjhWqltBue+hROKP0IOiFGP8yMBW8="; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; hash = "sha256-4uAETfmL1CvGjHajzWowsEmJgTKnuFC8u9lbYPzAN3k="; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; hash = "sha256-fPV668Cfi+8pNWrvGAarF4fewdPVEDwlJWvJk0y+Cms="; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "8.0.0"; hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; }) - (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; hash = "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; hash = "sha256-v+FOmjRRKlDtDW6+TfmyMiiki010YGVTa0EwXu9X7ck="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "6.0.1"; hash = "sha256-id27sU4qIEIpgKenO5b4IHt6L1XuNsVe4TR9TKaLWDo="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.7.0"; hash = "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; hash = "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.3"; hash = "sha256-p5xbSMTjndPCht9HRbDp5fr1osUOaXunjDZUatualgs="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; hash = "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "6.0.1"; hash = "sha256-spXV8cWZu0V3liek1936REtdpvS4fQwc98JvacO1oJU="; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; hash = "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) - (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "8.0.0"; hash = "sha256-mq/Qm8JeMUvitHf32/F8uvw1YJGx4prGnEI/VzdaFAI="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "5.0.0"; hash = "sha256-YJ5jJqkVPp+6fEzSXOmw1sNSdygB5Rx7TJ0TrNS/wq4="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; hash = "sha256-nGc2A6XYnwqGcq8rfgTRjGr+voISxNe/76k2K36coj4="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; hash = "sha256-klGYnsyrjvXaGeqgfnMf/dTAMNtcHY+zM4Xh6v2JfuE="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; hash = "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "AAXClean"; + version = "1.1.2"; + hash = "sha256-Abgf22iixOsF1VnVfbutYPtPuUonq0G+aSynhOMLtkM="; + }) + (fetchNuGet { + pname = "AAXClean.Codecs"; + version = "1.1.3"; + hash = "sha256-SPbynIf6vtDfnfTWcfpn7WiwKHD15CogCIEyTTVMEkM="; + }) + (fetchNuGet { + pname = "AudibleApi"; + version = "9.2.0.1"; + hash = "sha256-2NcRx+2sBLQDmXA+lLFnpGj9/IzyxYnvE5doQP9oCQ8="; + }) + (fetchNuGet { + pname = "Avalonia"; + version = "11.0.5"; + hash = "sha256-BqpHqQIObTb7DHTyZAgCD9A5I0pZkHhSoPTN2g6/G9E="; + }) + (fetchNuGet { + pname = "Avalonia.Angle.Windows.Natives"; + version = "2.1.0.2023020321"; + hash = "sha256-TWop9cvak6cMv2vrA/GlpuYBxS8Fuj5UmupGIV7Q5Ks="; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.29"; + hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.0.5"; + hash = "sha256-Iob8OyWhwXhmHKCdnea7dtL9VQvcrf6/gUGHJ30CKXA="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.DataGrid"; + version = "11.0.5"; + hash = "sha256-2iVuMPRw7sbsYPGSG4XjQFGFky5WB5B05Jh1+I852ZI="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ItemsRepeater"; + version = "11.0.5"; + hash = "sha256-e/PyjYtJx0TFPSYS/jLBG7HC2x7o4qJ3NR2T+xchV0w="; + }) + (fetchNuGet { + pname = "Avalonia.Desktop"; + version = "11.0.5"; + hash = "sha256-UKVibxhJoGNvEGh8J/Z0sq8J81FT8yth/yXVPSFHF/8="; + }) + (fetchNuGet { + pname = "Avalonia.Diagnostics"; + version = "11.0.5"; + hash = "sha256-0cUxPYJP2W11wnM6j4qNB3IvHlsUp9EZlY8I/NoAmd4="; + }) + (fetchNuGet { + pname = "Avalonia.FreeDesktop"; + version = "11.0.5"; + hash = "sha256-O20fC/9YXO3/MZNlh1EgWLHFSyi/ao083MKwjetgxmo="; + }) + (fetchNuGet { + pname = "Avalonia.Native"; + version = "11.0.5"; + hash = "sha256-KVUAXXT+f4VrtJ8widfEIzN25GBbtXWog/tpM354gdg="; + }) + (fetchNuGet { + pname = "Avalonia.ReactiveUI"; + version = "11.0.5"; + hash = "sha256-8tGLyA0PRKt1REb9YeCtEDz5oB886PRG35aO0uZm/jU="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.0.5"; + hash = "sha256-wTqdxPU3Ql7jC4JFkChbUfaRR0nqUKrYKn8oexdFyig="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.5"; + hash = "sha256-rKOgkNLCwEVVcyLCimvhDUDKXnrDOguUryaGVOPFFwE="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Fluent"; + version = "11.0.5"; + hash = "sha256-ETOaNvRzTAC0uEVVB3noiyYM9N9nPrPnMwCqiFgID/4="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Simple"; + version = "11.0.5"; + hash = "sha256-27evmgSrIx+EopF6E3N1cT7BvAUc/s99TVEMfmG83cQ="; + }) + (fetchNuGet { + pname = "Avalonia.Win32"; + version = "11.0.5"; + hash = "sha256-ncZLGKhpfjuuVPz4Fs+P6L3dM0KRnwAC3xJRqyvpKw8="; + }) + (fetchNuGet { + pname = "Avalonia.X11"; + version = "11.0.5"; + hash = "sha256-rvs3hwRh3F5E1j3JqcodWJTHV3BTWMKkvzq170tuPa4="; + }) + (fetchNuGet { + pname = "BouncyCastle.Cryptography"; + version = "2.3.0"; + hash = "sha256-TIBOegJAEfFRyvtwuPakvKsQbqoPHj1RSTmK7SKYsf0="; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; + }) + (fetchNuGet { + pname = "CsvHelper"; + version = "33.0.1"; + hash = "sha256-4MwA/WerpI0VYWiaEudNCNnE1v6/k2tPmLbRjmgijV4="; + }) + (fetchNuGet { + pname = "Dinah.Core"; + version = "8.0.0.1"; + hash = "sha256-jYAaIqv67DOl+l+i92QmV7TM3YXL250D8XUZ7dZh1s0="; + }) + (fetchNuGet { + pname = "Dinah.EntityFrameworkCore"; + version = "8.0.0.1"; + hash = "sha256-xTKKCBE2KfXqUaRMZqgohQmUi51GrWvaIWTW66nRRYQ="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "7.9.5"; + hash = "sha256-3XjOMuFathku9oWyss360+Ze5UMP7tSmUbMoax7qONU="; + }) + (fetchNuGet { + pname = "Enums.NET"; + version = "4.0.1"; + hash = "sha256-ZTWgmbLlOvF9rKQAa4cwPBA0NLZhZ0rwrgZtg/RuJY8="; + }) + (fetchNuGet { + pname = "ExtendedNumerics.BigDecimal"; + version = "2023.1000.0.230"; + hash = "sha256-THVfKgtJoier9RfJamO1a+F1ufVRSWoMw+0lerxxdC8="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "2.8.2.3"; + hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "2.8.2.3"; + hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "2.8.2.3"; + hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "2.8.2.3"; + hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "2.8.2.3"; + hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; + }) + (fetchNuGet { + pname = "HtmlAgilityPack"; + version = "1.11.54"; + hash = "sha256-Cl3l5H5qYOn6fEzX9cl1eMn43l7C13a+tBOAVD1oGp0="; + }) + (fetchNuGet { + pname = "Humanizer.Core"; + version = "2.14.1"; + hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; + }) + (fetchNuGet { + pname = "LuceneNet303r2"; + version = "3.0.3.8"; + hash = "sha256-mHfa5OzVff2q5MIgefih9Y269qQKe7It/6G4IwT2Meg="; + }) + (fetchNuGet { + pname = "MathNet.Numerics.Signed"; + version = "5.0.0"; + hash = "sha256-76y1jaL+abqoyP3K4n9phF1S1hTpylkw//vTHukROUc="; + }) + (fetchNuGet { + pname = "MicroCom.Runtime"; + version = "0.11.0"; + hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "6.0.0"; + hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.0.0"; + hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.3"; + hash = "sha256-pkZiggwLw8k+CVSXKTzsVGsT+K49LxXUS3VH5PNlpCY="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "3.8.0"; + hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.5.0"; + hash = "sha256-qo1oVNTB9JIMEPoiIZ+02qvF/O8PshQ/5gTjsY9iX0I="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "3.8.0"; + hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.5.0"; + hash = "sha256-5dZTS9PYtY83vyVa5bdNG3XKV5EjcnmddfUqWmIE29A="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; + version = "3.8.0"; + hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; + version = "4.5.0"; + hash = "sha256-Kmyt1Xfcs0rSZHvN9PH94CKAooqMS9abZQY7EpEqb2o="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Scripting.Common"; + version = "3.8.0"; + hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Workspaces.Common"; + version = "4.5.0"; + hash = "sha256-WM7AXJYHagaPx2waj2E32gG0qXq6Kx4Zhiq7Ym3WXPI="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.3.0"; + hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; + }) + (fetchNuGet { + pname = "Microsoft.Data.Sqlite.Core"; + version = "8.0.5"; + hash = "sha256-PH+ZS45SGfWSFcYZA+V3m0k1r3kxaDzD3DutVVRyqfQ="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore"; + version = "8.0.0"; + hash = "sha256-Z6dlgOQrYcSCcRaXPNnYLC87sg4OGRS+p4Tv3EFXFfY="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore"; + version = "8.0.5"; + hash = "sha256-qR7Z+AQXzwejgYUKhoZIfYTWPOLNpOD6DBJ80xEfLaE="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Abstractions"; + version = "8.0.0"; + hash = "sha256-QxPc73WzjE63Pzuxc/xr/uQc0C+v6xVd2N0iIUJKOQU="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Abstractions"; + version = "8.0.5"; + hash = "sha256-2RyxdXMIc2Gzbc5ouEdbbrVDfTrCU8PP9zPYxlcQXpw="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Analyzers"; + version = "8.0.0"; + hash = "sha256-SidpTl9AveYiXHa+TtvyHnRTOn02lmab4qXPf0FTi+0="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Analyzers"; + version = "8.0.5"; + hash = "sha256-tvLA2TZouZC8pgxS8YikG2ui4Znaj6bNrVGAVy7t9rk="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Design"; + version = "8.0.5"; + hash = "sha256-zwDnWBGVf6O+L2iqcwJ/e+gbg5A+hVLf8Tc3vIbl+cA="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Relational"; + version = "8.0.0"; + hash = "sha256-ga+Qp4dZpmxVEmIIn8AcC92HrhVQBaDICyHqE87s+lk="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Relational"; + version = "8.0.5"; + hash = "sha256-peIG9ZgXvvEB2wJ2QFxC3u+H8LnZ9xL/HIegw4R00Do="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Sqlite"; + version = "8.0.5"; + hash = "sha256-lED2YXKz6PzYAC5iIXW957N74KUuYtJ9cKvoPFiebpk="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; + version = "8.0.5"; + hash = "sha256-+6AvDE+Fj0Oc7EfA4SXwFUdkOSvvX6jC5HPtbUhYQwE="; + }) + (fetchNuGet { + pname = "Microsoft.EntityFrameworkCore.Tools"; + version = "8.0.5"; + hash = "sha256-tHtuHXdI4d3CdL+2as595sys0phrBeZtWEof2Gd/A3I="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Caching.Abstractions"; + version = "8.0.0"; + hash = "sha256-xGpKrywQvU1Wm/WolYIxgHYEFfgkNGeJ+GGc5DT3phI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Caching.Memory"; + version = "8.0.0"; + hash = "sha256-RUQe2VgOATM9JkZ/wGm9mreKoCmOS4pPyvyJWBqMaC8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "8.0.0"; + hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "8.0.0"; + hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "8.0.0"; + hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "8.0.0"; + hash = "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "8.0.0"; + hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "8.0.0"; + hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "8.0.0"; + hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; + }) + (fetchNuGet { + pname = "Microsoft.IO.RecyclableMemoryStream"; + version = "3.0.0"; + hash = "sha256-WBXkqxC5g4tJ481sa1uft39LqA/5hx5yOfiTfMRMg/4="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.2"; + hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "6.0.0"; + hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; + }) + (fetchNuGet { + pname = "Mono.TextTemplating"; + version = "2.2.1"; + hash = "sha256-4TYsfc8q74P8FuDwkIWPO+VYY0mh4Hs4ZL8v0lMaBsY="; + }) + (fetchNuGet { + pname = "NameParserSharp"; + version = "1.5.0"; + hash = "sha256-I0xUWObpeR9r867ef3SskvdyIWB7kpNI+Xy7X4l05eE="; + }) + (fetchNuGet { + pname = "NAudio.Core"; + version = "2.2.1"; + hash = "sha256-eUZF2/0w5IgGY9UtnZIk1VwwH6VCKP9iPJXVcseIc0c="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "NPOI"; + version = "2.7.0"; + hash = "sha256-zqns3HwLv8OQMyvw+LUtwqPbkAEIrVJU589AMNhnM4s="; + }) + (fetchNuGet { + pname = "Octokit"; + version = "11.0.1"; + hash = "sha256-24Ym/CXgU3LCFQcMHdFfWp8vUjLfwRcRIyW9fvr4i1s="; + }) + (fetchNuGet { + pname = "Pluralize.NET"; + version = "1.0.2"; + hash = "sha256-u/WHYDpSvGs6SkgPREm1RID4po6h8/fj2QgJal1TBwU="; + }) + (fetchNuGet { + pname = "Polly"; + version = "8.4.1"; + hash = "sha256-CPFw0j6f2P5LfcoFAHo1RRDnCx6SXnp8gzHnwYDnYhY="; + }) + (fetchNuGet { + pname = "Polly.Core"; + version = "8.4.1"; + hash = "sha256-EksA3U5cmsri2joM+SMtbdwOUMUVxIXT8DnH4DSAIpA="; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "18.3.1"; + hash = "sha256-1rf4icGRKTR3XIWJpkQJCG7ObRM+72ITB5K+ND1is9M="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.10.0"; + hash = "sha256-+8wilkt+VVvW+KFWuLryj7cSFpz9D+sz92KYWICAcSE="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.8.0"; + hash = "sha256-MBL9AWGV8UthhiHXnqH3EsfIyXnxdLWqAdFa6QvQ2To="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "3.1.0"; + hash = "sha256-1CDAp+AjfFjQqoLvKYp/j6pKTUfNOGfKVlWyqCGHo7k="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "3.1.1"; + hash = "sha256-L263y8jkn7dNFD2jAUK6mgvyRTqFe39i1tRhVZsNZTI="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "4.0.0"; + hash = "sha256-j8hQ5TdL1TjfdGiBO9PyHJFMMPvATHWN1dtrrUZZlNw="; + }) + (fetchNuGet { + pname = "Serilog.Exceptions"; + version = "8.4.0"; + hash = "sha256-2We6ZVAcFsEYVV7vVM+F1+4phHRqc7NeQZKbYDK0Gew="; + }) + (fetchNuGet { + pname = "Serilog.Settings.Configuration"; + version = "8.0.0"; + hash = "sha256-JQ39fvhOFSUHE6r9DXJvLaZI+Lk7AYzuskQu3ux+hQg="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "5.0.0"; + hash = "sha256-UOVlegJLhs0vK1ml2DZCjFE5roDRZsGCAqD/53ZaZWI="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "6.0.0"; + hash = "sha256-QH8ykDkLssJ99Fgl+ZBFBr+RQRl0wRTkeccQuuGLyro="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "5.0.0"; + hash = "sha256-GKy9hwOdlu2W0Rw8LiPyEwus+sDtSOTl8a5l9uqz+SQ="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "6.0.0"; + hash = "sha256-KQmlUpG9ovRpNqKhKe6rz3XMLUjkBqjyQhEm2hV5Sow="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.ZipFile"; + version = "3.1.1"; + hash = "sha256-W4oXuOZF+Ic6rKma2PkmKW5O7GvuzooNsiB17p5H6lQ="; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.3.3"; + hash = "sha256-HWEQTKh9Ktwg/zIl079dAiH+ob2ShWFAqLgG6XgIMr4="; + }) + (fetchNuGet { + pname = "SixLabors.Fonts"; + version = "1.0.1"; + hash = "sha256-fox6f9Z5xunVXiy71KTSkb0DirMN00tuUlChyp96kiI="; + }) + (fetchNuGet { + pname = "SixLabors.ImageSharp"; + version = "2.1.7"; + hash = "sha256-CPC3x2vPfjv8ZLyxnQ8uuNhlsUMrIE/+hdYP0dZGLR8="; + }) + (fetchNuGet { + pname = "SixLabors.ImageSharp"; + version = "3.1.5"; + hash = "sha256-3UehX9T+I81nfgv2dTHlpoPgYzXFk7kHr1mmlQOCBfw="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.6"; + hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.6"; + hash = "sha256-VjgGoi73tVvqO/UXmQb1w9ioAbFu2dxH8oHz1l5H4zE="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.6"; + hash = "sha256-7hOMjlYTOiNPLNwfLFUjTcdgiGEtmYUI1EubiRiC6bo="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.6"; + hash = "sha256-CIb9fHVgHwIa0R1WafKJ3+GqtDHHRgDohA3ayTHvlws="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.6"; + hash = "sha256-ljD4QmAO2/vwA6I8GIUNkONpOzmGsOVJJy9vPDnjVfA="; + }) + (fetchNuGet { + pname = "Splat"; + version = "14.4.1"; + hash = "sha256-i1yzIVpKdFjZMI4J8H970nZCxszklgDitYTEKKz0zA8="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.bundle_e_sqlite3"; + version = "2.1.6"; + hash = "sha256-dZD/bZsYXjOu46ZH5Y/wgh0uhHOqIxC+S+0ecKhr718="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.core"; + version = "2.1.6"; + hash = "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.lib.e_sqlite3"; + version = "2.1.6"; + hash = "sha256-uHt5d+SFUkSd6WD7Tg0J3e8eVoxy/FM/t4PAkc9PJT0="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.e_sqlite3"; + version = "2.1.6"; + hash = "sha256-zHc/YZsd72eXlI8ba1tv58HZWUIiyjJaxq2CCP1hQe8="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "4.4.0"; + hash = "sha256-L1xyspJ8pDJNVPYKl+FMGf4Zwm0tlqtAyQCNW6pT6/0="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "6.0.0"; + hash = "sha256-DKEbpFqXCIEfqp9p3ezqadn5b/S1YTk32/EQK+tEScs="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "8.0.0"; + hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; + }) + (fetchNuGet { + pname = "System.Collections.NonGeneric"; + version = "4.3.0"; + hash = "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.5.0"; + hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; + }) + (fetchNuGet { + pname = "System.Composition"; + version = "6.0.0"; + hash = "sha256-H5TnnxOwihI0VyRuykbOWuKFSCWNN+MUEYyloa328Nw="; + }) + (fetchNuGet { + pname = "System.Composition.AttributedModel"; + version = "6.0.0"; + hash = "sha256-03DR8ecEHSKfgzwuTuxtsRW0Gb7aQtDS4LAYChZdGdc="; + }) + (fetchNuGet { + pname = "System.Composition.Convention"; + version = "6.0.0"; + hash = "sha256-a3DZS8CT2kV8dVpGxHKoP5wHVKsT+kiPJixckpYfdQo="; + }) + (fetchNuGet { + pname = "System.Composition.Hosting"; + version = "6.0.0"; + hash = "sha256-fpoh6WBNmaHEHszwlBR/TNjd85lwesfM7ZkQhqYtLy4="; + }) + (fetchNuGet { + pname = "System.Composition.Runtime"; + version = "6.0.0"; + hash = "sha256-nGZvg2xYhhazAjOjhWqltBue+hROKP0IOiFGP8yMBW8="; + }) + (fetchNuGet { + pname = "System.Composition.TypedParts"; + version = "6.0.0"; + hash = "sha256-4uAETfmL1CvGjHajzWowsEmJgTKnuFC8u9lbYPzAN3k="; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "6.0.0"; + hash = "sha256-fPV668Cfi+8pNWrvGAarF4fewdPVEDwlJWvJk0y+Cms="; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "8.0.0"; + hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "6.0.0"; + hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + }) + (fetchNuGet { + pname = "System.Formats.Asn1"; + version = "6.0.0"; + hash = "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.0"; + hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.3"; + hash = "sha256-v+FOmjRRKlDtDW6+TfmyMiiki010YGVTa0EwXu9X7ck="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "5.0.0"; + hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "6.0.1"; + hash = "sha256-id27sU4qIEIpgKenO5b4IHt6L1XuNsVe4TR9TKaLWDo="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.7.0"; + hash = "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.1"; + hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0"; + hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "6.0.0"; + hash = "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "6.0.3"; + hash = "sha256-p5xbSMTjndPCht9HRbDp5fr1osUOaXunjDZUatualgs="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "6.0.0"; + hash = "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Xml"; + version = "6.0.1"; + hash = "sha256-spXV8cWZu0V3liek1936REtdpvS4fQwc98JvacO1oJU="; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "6.0.0"; + hash = "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) + (fetchNuGet { + pname = "System.ServiceProcess.ServiceController"; + version = "8.0.0"; + hash = "sha256-mq/Qm8JeMUvitHf32/F8uvw1YJGx4prGnEI/VzdaFAI="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "5.0.0"; + hash = "sha256-YJ5jJqkVPp+6fEzSXOmw1sNSdygB5Rx7TJ0TrNS/wq4="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "6.0.0"; + hash = "sha256-nGc2A6XYnwqGcq8rfgTRjGr+voISxNe/76k2K36coj4="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.0"; + hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "6.0.0"; + hash = "sha256-klGYnsyrjvXaGeqgfnMf/dTAMNtcHY+zM4Xh6v2JfuE="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "System.Windows.Extensions"; + version = "6.0.0"; + hash = "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.15.0"; + hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; + }) ] diff --git a/pkgs/by-name/li/libatomic_ops/package.nix b/pkgs/by-name/li/libatomic_ops/package.nix index a9fc75558e9bd..b971e23e1acd2 100644 --- a/pkgs/by-name/li/libatomic_ops/package.nix +++ b/pkgs/by-name/li/libatomic_ops/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libtool }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "libatomic_ops"; @@ -12,9 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-0wUgf+IH8rP7XLTAGdoStEzj/LxZPf1QgNhnsaJBm1E="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isCygwin [ autoconf automake libtool ]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isCygwin [ + autoconf + automake + libtool + ]; preConfigure = lib.optionalString stdenv.hostPlatform.isCygwin '' sed -i -e "/libatomic_ops_gpl_la_SOURCES/a libatomic_ops_gpl_la_LIBADD = libatomic_ops.la" src/Makefile.am @@ -23,8 +38,8 @@ stdenv.mkDerivation rec { meta = { description = "Library for semi-portable access to hardware-provided atomic memory update operations"; - license = lib.licenses.gpl2Plus ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2Plus; + maintainers = [ lib.maintainers.raskin ]; platforms = with lib.platforms; unix ++ windows; }; } diff --git a/pkgs/by-name/li/libaudclient/package.nix b/pkgs/by-name/li/libaudclient/package.nix index 9c790172039bc..a8245cb0fadf6 100644 --- a/pkgs/by-name/li/libaudclient/package.nix +++ b/pkgs/by-name/li/libaudclient/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, dbus-glib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + dbus-glib, +}: stdenv.mkDerivation rec { pname = "libaudclient"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib dbus-glib ]; + buildInputs = [ + glib + dbus-glib + ]; meta = with lib; { description = "Legacy D-Bus client library for Audacious"; diff --git a/pkgs/by-name/li/libaudec/package.nix b/pkgs/by-name/li/libaudec/package.nix index ffe5f785acd5d..073191c7a9d32 100644 --- a/pkgs/by-name/li/libaudec/package.nix +++ b/pkgs/by-name/li/libaudec/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchFromGitHub -, libsndfile, libsamplerate -, meson, ninja, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + libsndfile, + libsamplerate, + meson, + ninja, + pkg-config, }: stdenv.mkDerivation rec { @@ -14,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-8morbrq8zG+2N3ruMeJa85ci9P0wPQOfZ5H56diFEAo="; }; - buildInputs = [ libsndfile libsamplerate ]; - nativeBuildInputs = [ meson ninja pkg-config ]; + buildInputs = [ + libsndfile + libsamplerate + ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; meta = with lib; { description = "Library for reading and resampling audio files"; diff --git a/pkgs/by-name/li/libavc1394/package.nix b/pkgs/by-name/li/libavc1394/package.nix index 4dfc5713af7e2..7a58f151c9273 100644 --- a/pkgs/by-name/li/libavc1394/package.nix +++ b/pkgs/by-name/li/libavc1394/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libraw1394, argp-standalone }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libraw1394, + argp-standalone, +}: stdenv.mkDerivation rec { pname = "libavc1394"; diff --git a/pkgs/by-name/li/libavif/package.nix b/pkgs/by-name/li/libavif/package.nix index 060d653bdb6ee..00273ae753f12 100644 --- a/pkgs/by-name/li/libavif/package.nix +++ b/pkgs/by-name/li/libavif/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, libaom -, cmake -, pkg-config -, zlib -, libpng -, libjpeg -, dav1d -, libyuv -, gdk-pixbuf -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + libaom, + cmake, + pkg-config, + zlib, + libpng, + libjpeg, + dav1d, + libyuv, + gdk-pixbuf, + makeWrapper, }: let @@ -66,21 +68,22 @@ stdenv.mkDerivation rec { env.PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = gdkPixbufModuleDir; - postInstall = '' - GDK_PIXBUF_MODULEDIR=${gdkPixbufModuleDir} \ - GDK_PIXBUF_MODULE_FILE=${gdkPixbufModuleFile} \ - gdk-pixbuf-query-loaders --update-cache + postInstall = + '' + GDK_PIXBUF_MODULEDIR=${gdkPixbufModuleDir} \ + GDK_PIXBUF_MODULE_FILE=${gdkPixbufModuleFile} \ + gdk-pixbuf-query-loaders --update-cache - '' - # Cross-compiled gdk-pixbuf doesn't support thumbnailers - + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' - mkdir -p "$out/bin" - makeWrapper ${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer "$out/libexec/gdk-pixbuf-thumbnailer-avif" \ - --set GDK_PIXBUF_MODULE_FILE ${gdkPixbufModuleFile} - ''; + '' + # Cross-compiled gdk-pixbuf doesn't support thumbnailers + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + mkdir -p "$out/bin" + makeWrapper ${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer "$out/libexec/gdk-pixbuf-thumbnailer-avif" \ + --set GDK_PIXBUF_MODULE_FILE ${gdkPixbufModuleFile} + ''; meta = with lib; { - description = "C implementation of the AV1 Image File Format"; + description = "C implementation of the AV1 Image File Format"; longDescription = '' Libavif aims to be a friendly, portable C implementation of the AV1 Image File Format. It is a work-in-progress, but can already @@ -88,10 +91,10 @@ stdenv.mkDerivation rec { (with alpha). It also features an encoder and a decoder (avifenc/avifdec). ''; - homepage = "https://github.com/AOMediaCodec/libavif"; - changelog = "https://github.com/AOMediaCodec/libavif/blob/v${version}/CHANGELOG.md"; + homepage = "https://github.com/AOMediaCodec/libavif"; + changelog = "https://github.com/AOMediaCodec/libavif/blob/v${version}/CHANGELOG.md"; maintainers = with maintainers; [ mkg20001 ]; - platforms = platforms.all; - license = licenses.bsd2; + platforms = platforms.all; + license = licenses.bsd2; }; } diff --git a/pkgs/by-name/li/libax25/package.nix b/pkgs/by-name/li/libax25/package.nix index 27f5190990062..15a9d11f33b1b 100644 --- a/pkgs/by-name/li/libax25/package.nix +++ b/pkgs/by-name/li/libax25/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, glibc +{ + lib, + stdenv, + fetchurl, + glibc, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--sysconfdir=/etc" ]; - LDFLAGS = lib.optionals stdenv.hostPlatform.isStatic [ "-static-libgcc" "-static" ]; + LDFLAGS = lib.optionals stdenv.hostPlatform.isStatic [ + "-static-libgcc" + "-static" + ]; meta = with lib; { description = "AX.25 library for hamradio applications"; diff --git a/pkgs/by-name/li/libayatana-appindicator/package.nix b/pkgs/by-name/li/libayatana-appindicator/package.nix index 719f1b3e4275a..86eb9214c197b 100644 --- a/pkgs/by-name/li/libayatana-appindicator/package.nix +++ b/pkgs/by-name/li/libayatana-appindicator/package.nix @@ -1,16 +1,25 @@ -{ stdenv, fetchFromGitHub, lib -, pkg-config, cmake -, gtk-doc -, gtk3, libayatana-indicator, libdbusmenu-gtk3 -, vala -, gobject-introspection +{ + stdenv, + fetchFromGitHub, + lib, + pkg-config, + cmake, + gtk-doc, + gtk3, + libayatana-indicator, + libdbusmenu-gtk3, + vala, + gobject-introspection, }: stdenv.mkDerivation rec { pname = "libayatana-appindicator"; version = "0.5.92"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "AyatanaIndicators"; @@ -19,11 +28,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-NzaWQBb2Ez1ik23wCgW1ZQh1/rY7GcPlLvaSgV7uXrA="; }; - nativeBuildInputs = [ pkg-config cmake gtk-doc vala gobject-introspection ]; + nativeBuildInputs = [ + pkg-config + cmake + gtk-doc + vala + gobject-introspection + ]; buildInputs = [ gtk3 ]; - propagatedBuildInputs = [ libayatana-indicator libdbusmenu-gtk3 ]; + propagatedBuildInputs = [ + libayatana-indicator + libdbusmenu-gtk3 + ]; cmakeFlags = [ "-DENABLE_BINDINGS_MONO=False" @@ -33,7 +51,10 @@ stdenv.mkDerivation rec { description = "Ayatana Application Indicators Shared Library"; homepage = "https://github.com/AyatanaIndicators/libayatana-appindicator"; changelog = "https://github.com/AyatanaIndicators/libayatana-appindicator/blob/${version}/ChangeLog"; - license = [ licenses.lgpl3Plus licenses.lgpl21Plus ]; + license = [ + licenses.lgpl3Plus + licenses.lgpl21Plus + ]; maintainers = [ maintainers.nickhu ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/li/libayatana-common/package.nix b/pkgs/by-name/li/libayatana-common/package.nix index 439cc45031f95..687917e1bdd3c 100644 --- a/pkgs/by-name/li/libayatana-common/package.nix +++ b/pkgs/by-name/li/libayatana-common/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, gitUpdater -, testers -, cmake -, glib -, gobject-introspection -, gtest -, intltool -, lomiri -, pkg-config -, systemd -, vala +{ + stdenv, + lib, + fetchFromGitHub, + gitUpdater, + testers, + cmake, + glib, + gobject-introspection, + gtest, + intltool, + lomiri, + pkg-config, + systemd, + vala, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libb2/package.nix b/pkgs/by-name/li/libb2/package.nix index 39697b4af521a..5a44f2f2a72d8 100644 --- a/pkgs/by-name/li/libb2/package.nix +++ b/pkgs/by-name/li/libb2/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libtool -, pkg-config -, testers +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + pkg-config, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -37,7 +38,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://blake2.net/"; pkgConfigModules = [ "libb2" ]; platforms = platforms.all; - maintainers = with maintainers; [ dfoxfranke dotlambda ]; + maintainers = with maintainers; [ + dfoxfranke + dotlambda + ]; license = licenses.cc0; }; }) diff --git a/pkgs/by-name/li/libb64/package.nix b/pkgs/by-name/li/libb64/package.nix index 3b24089e53c63..2f73c45d0d9ed 100644 --- a/pkgs/by-name/li/libb64/package.nix +++ b/pkgs/by-name/li/libb64/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "libb64"; @@ -11,37 +16,39 @@ stdenv.mkDerivation rec { sha256 = "sha256-9loDftr769qnIi00MueO86kjha2EiG9pnCLogp0Iq3c="; }; - patches = [ - # Fix parallel build failure: https://github.com/libb64/libb64/pull/9 - # make[1]: *** No rule to make target 'libb64.a', needed by 'c-example1'. Stop. - (fetchpatch { - name = "parallel-make.patch"; - url = "https://github.com/libb64/libb64/commit/4fe47c052e9123da8f751545deb48be08c3411f6.patch"; - sha256 = "18b3np3gpyzimqmk6001riqv5n70wfbclky6zzsrvj5zl1dj4ljf"; - }) - # Fix i686-linux build failure. - (fetchpatch { - name = "elif.patch"; - url = "https://github.com/libb64/libb64/commit/819e43c8b34261ea3ee694bdc27865a033966083.patch"; - hash = "sha256-r2jI6Q3rWDtArLlkAuyy7vcjsuRvX+2fBd5yk8XOMcc"; - }) - (fetchpatch { - name = "size_t.patch"; - url = "https://github.com/libb64/libb64/commit/b5edeafc89853c48fa41a4c16393a1fdc8638ab6.patch"; - hash = "sha256-+bqfOOlT/t0FLQEMHuxW1BxJcx9rk0yYM3wD43mcymo"; - }) - # Fix build with Clang 16. - # https://github.com/libb64/libb64/pull/10 - (fetchpatch { - name = "use-proper-function-prototype-for-main.patch"; - url = "https://github.com/libb64/libb64/commit/98eaf510f40e384b32c01ad4bd5c3a697fdd8560.patch"; - hash = "sha256-CGslJUw0og/bBBirLm0J5Q7cf2WW/vniVAkXHlb6lbQ="; - }) - ] ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) (fetchpatch { - name = "0001-example-Do-not-run-the-tests.patch"; - url = "https://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch?id=484e0de1e4ee107f21ae2a5c5f976ed987978baf"; - sha256 = "sha256-KTsiIWJe66BKlu/A43FWfW0XAu4E7lWX/RY4NITRrm4="; - }); + patches = + [ + # Fix parallel build failure: https://github.com/libb64/libb64/pull/9 + # make[1]: *** No rule to make target 'libb64.a', needed by 'c-example1'. Stop. + (fetchpatch { + name = "parallel-make.patch"; + url = "https://github.com/libb64/libb64/commit/4fe47c052e9123da8f751545deb48be08c3411f6.patch"; + sha256 = "18b3np3gpyzimqmk6001riqv5n70wfbclky6zzsrvj5zl1dj4ljf"; + }) + # Fix i686-linux build failure. + (fetchpatch { + name = "elif.patch"; + url = "https://github.com/libb64/libb64/commit/819e43c8b34261ea3ee694bdc27865a033966083.patch"; + hash = "sha256-r2jI6Q3rWDtArLlkAuyy7vcjsuRvX+2fBd5yk8XOMcc"; + }) + (fetchpatch { + name = "size_t.patch"; + url = "https://github.com/libb64/libb64/commit/b5edeafc89853c48fa41a4c16393a1fdc8638ab6.patch"; + hash = "sha256-+bqfOOlT/t0FLQEMHuxW1BxJcx9rk0yYM3wD43mcymo"; + }) + # Fix build with Clang 16. + # https://github.com/libb64/libb64/pull/10 + (fetchpatch { + name = "use-proper-function-prototype-for-main.patch"; + url = "https://github.com/libb64/libb64/commit/98eaf510f40e384b32c01ad4bd5c3a697fdd8560.patch"; + hash = "sha256-CGslJUw0og/bBBirLm0J5Q7cf2WW/vniVAkXHlb6lbQ="; + }) + ] + ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) (fetchpatch { + name = "0001-example-Do-not-run-the-tests.patch"; + url = "https://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch?id=484e0de1e4ee107f21ae2a5c5f976ed987978baf"; + sha256 = "sha256-KTsiIWJe66BKlu/A43FWfW0XAu4E7lWX/RY4NITRrm4="; + }); enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libbacktrace/package.nix b/pkgs/by-name/li/libbacktrace/package.nix index 60c7ede0993fb..33ce3d6a0ebe8 100644 --- a/pkgs/by-name/li/libbacktrace/package.nix +++ b/pkgs/by-name/li/libbacktrace/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !stdenv.hostPlatform.isStatic -, unstableGitUpdater -, autoreconfHook +{ + stdenv, + lib, + fetchFromGitHub, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, + unstableGitUpdater, + autoreconfHook, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/li/libbaseencode/package.nix b/pkgs/by-name/li/libbaseencode/package.nix index 7cd4b173c9b7d..f4a65c01e297b 100644 --- a/pkgs/by-name/li/libbaseencode/package.nix +++ b/pkgs/by-name/li/libbaseencode/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libbaseencode"; diff --git a/pkgs/by-name/li/libbdplus/package.nix b/pkgs/by-name/li/libbdplus/package.nix index d52ca4fca2842..c894a07eba1f6 100644 --- a/pkgs/by-name/li/libbdplus/package.nix +++ b/pkgs/by-name/li/libbdplus/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libgcrypt, libgpg-error, gettext }: +{ + lib, + stdenv, + fetchurl, + libgcrypt, + libgpg-error, + gettext, +}: # library that allows libbluray to play BDplus protected bluray disks # libaacs does not infringe DRM's right or copyright. See the legal page of the website for more info. @@ -9,14 +16,18 @@ stdenv.mkDerivation rec { pname = "libbdplus"; - version = "0.2.0"; + version = "0.2.0"; src = fetchurl { url = "http://get.videolan.org/libbdplus/${version}/${pname}-${version}.tar.bz2"; sha256 = "sha256-uT7qPq7zPW6RVdLDSwaMUFSTqlpJNuYydPQ0KrD0Clg="; }; - buildInputs = [ libgcrypt libgpg-error gettext ]; + buildInputs = [ + libgcrypt + libgpg-error + gettext + ]; meta = with lib; { homepage = "http://www.videolan.org/developers/libbdplus.html"; diff --git a/pkgs/by-name/li/libbfio/package.nix b/pkgs/by-name/li/libbfio/package.nix index 1695b65272d2e..21fad908b6f1a 100644 --- a/pkgs/by-name/li/libbfio/package.nix +++ b/pkgs/by-name/li/libbfio/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchzip -, stdenv -, gettext -, libtool -, pkg-config +{ + lib, + fetchzip, + stdenv, + gettext, + libtool, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -16,12 +17,18 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gettext libtool ]; + buildInputs = [ + gettext + libtool + ]; meta = { description = "Library to provide basic file input/output abstraction"; homepage = "https://github.com/libyal/libbfio"; - license = with lib.licenses; [ gpl3Plus lgpl3Plus ]; + license = with lib.licenses; [ + gpl3Plus + lgpl3Plus + ]; maintainers = with lib.maintainers; [ d3vil0p3r ]; platforms = with lib.platforms; unix ++ windows; }; diff --git a/pkgs/by-name/li/libbgcode/package.nix b/pkgs/by-name/li/libbgcode/package.nix index c2ddb4f6ddf4c..ddfd37c773e24 100644 --- a/pkgs/by-name/li/libbgcode/package.nix +++ b/pkgs/by-name/li/libbgcode/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, heatshrink -, zlib -, boost -, catch2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + heatshrink, + zlib, + boost, + catch2, }: stdenv.mkDerivation { pname = "libbgcode"; diff --git a/pkgs/by-name/li/libbladeRF/package.nix b/pkgs/by-name/li/libbladeRF/package.nix index 77e72d22db6c7..d615b116bb630 100644 --- a/pkgs/by-name/li/libbladeRF/package.nix +++ b/pkgs/by-name/li/libbladeRF/package.nix @@ -1,5 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, cmake, git, doxygen, help2man, ncurses, tecla -, libusb1, udev }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + cmake, + git, + doxygen, + help2man, + ncurses, + tecla, + libusb1, + udev, +}: stdenv.mkDerivation rec { pname = "libbladeRF"; @@ -13,9 +25,19 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config git doxygen help2man ]; + nativeBuildInputs = [ + cmake + pkg-config + git + doxygen + help2man + ]; # ncurses used due to https://github.com/Nuand/bladeRF/blob/ab4fc672c8bab4f8be34e8917d3f241b1d52d0b8/host/utilities/bladeRF-cli/CMakeLists.txt#L208 - buildInputs = [ tecla libusb1 ] + buildInputs = + [ + tecla + libusb1 + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ udev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ncurses ]; @@ -27,13 +49,15 @@ stdenv.mkDerivation rec { sed -i 's/$(hostname)/hostname/' host/utilities/bladeRF-cli/src/cmd/doc/generate.bash ''; - cmakeFlags = [ - "-DBUILD_DOCUMENTATION=ON" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-DUDEV_RULES_PATH=etc/udev/rules.d" - "-DINSTALL_UDEV_RULES=ON" - "-DBLADERF_GROUP=bladerf" - ]; + cmakeFlags = + [ + "-DBUILD_DOCUMENTATION=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-DUDEV_RULES_PATH=etc/udev/rules.d" + "-DINSTALL_UDEV_RULES=ON" + "-DBLADERF_GROUP=bladerf" + ]; env = lib.optionalAttrs stdenv.cc.isClang { NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable"; diff --git a/pkgs/by-name/li/libbpkg/package.nix b/pkgs/by-name/li/libbpkg/package.nix index 969654b675a2b..f91d2e738ceb1 100644 --- a/pkgs/by-name/li/libbpkg/package.nix +++ b/pkgs/by-name/li/libbpkg/package.nix @@ -1,15 +1,21 @@ -{ lib, stdenv -, build2 -, fetchurl -, libbutl -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared +{ + lib, + stdenv, + build2, + fetchurl, + libbutl, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, }: stdenv.mkDerivation rec { pname = "libbpkg"; version = "0.17.0"; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; src = fetchurl { url = "https://pkg.cppget.org/1/alpha/build2/libbpkg-${version}.tar.gz"; diff --git a/pkgs/by-name/li/libbraiding/package.nix b/pkgs/by-name/li/libbraiding/package.nix index 2ee2e831f6e63..da04ca7b5eed0 100644 --- a/pkgs/by-name/li/libbraiding/package.nix +++ b/pkgs/by-name/li/libbraiding/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libbs2b/package.nix b/pkgs/by-name/li/libbs2b/package.nix index fa390eaaa5881..569b661d53c93 100644 --- a/pkgs/by-name/li/libbs2b/package.nix +++ b/pkgs/by-name/li/libbs2b/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libsndfile }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libsndfile, +}: stdenv.mkDerivation rec { pname = "libbs2b"; diff --git a/pkgs/by-name/li/libbsd/package.nix b/pkgs/by-name/li/libbsd/package.nix index 90a92f50f4634..0bc9d73d4de88 100644 --- a/pkgs/by-name/li/libbsd/package.nix +++ b/pkgs/by-name/li/libbsd/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, libmd -, gitUpdater +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + libmd, + gitUpdater, }: stdenv.mkDerivation rec { @@ -15,7 +16,11 @@ stdenv.mkDerivation rec { hash = "sha256-uIzJFj0MZSqvOamZkdl03bocOpcR248bWDivKhRzEBQ="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; enableParallelBuilding = true; @@ -36,12 +41,21 @@ stdenv.mkDerivation rec { }; # Fix undefined reference errors with version script under LLVM. - configureFlags = lib.optionals (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") [ "LDFLAGS=-Wl,--undefined-version" ]; + configureFlags = lib.optionals ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) [ "LDFLAGS=-Wl,--undefined-version" ]; meta = with lib; { description = "Common functions found on BSD systems"; homepage = "https://libbsd.freedesktop.org/"; - license = with licenses; [ beerware bsd2 bsd3 bsdOriginal isc mit ]; + license = with licenses; [ + beerware + bsd2 + bsd3 + bsdOriginal + isc + mit + ]; platforms = platforms.unix; # See architectures defined in src/local-elf.h. badPlatforms = lib.platforms.microblaze; diff --git a/pkgs/by-name/li/libburn/package.nix b/pkgs/by-name/li/libburn/package.nix index 7085551c72388..4f3e60bf90ce1 100644 --- a/pkgs/by-name/li/libburn/package.nix +++ b/pkgs/by-name/li/libburn/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitea -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + fetchFromGitea, + autoreconfHook, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,10 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; @@ -31,7 +35,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)"; changelog = "https://dev.lovelyhq.com/libburnia/libburn/src/tag/${finalAttrs.src.rev}/ChangeLog"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ abbradar AndersonTorres ]; + maintainers = with lib.maintainers; [ + abbradar + AndersonTorres + ]; mainProgram = "cdrskin"; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/li/libcaca/package.nix b/pkgs/by-name/li/libcaca/package.nix index 78b81bf49169e..f9abf2a3970bc 100644 --- a/pkgs/by-name/li/libcaca/package.nix +++ b/pkgs/by-name/li/libcaca/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, imlib2 -, xorg -, ncurses -, pkg-config -, zlib -, x11Support ? !stdenv.hostPlatform.isDarwin +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + imlib2, + xorg, + ncurses, + pkg-config, + zlib, + x11Support ? !stdenv.hostPlatform.isDarwin, }: stdenv.mkDerivation rec { @@ -26,25 +27,34 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - ncurses - zlib - (imlib2.override { inherit x11Support; }) - ] ++ lib.optionals x11Support [ - xorg.libX11 - xorg.libXext - ]; - - outputs = [ "bin" "dev" "out" "man" ]; + buildInputs = + [ + ncurses + zlib + (imlib2.override { inherit x11Support; }) + ] + ++ lib.optionals x11Support [ + xorg.libX11 + xorg.libXext + ]; - configureFlags = [ - (if x11Support then "--enable-x11" else "--disable-x11") - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Suppresses a build failure building Cocoa support due to accessing private ivar `_running`, - # which no longer available. - (lib.enableFeature false "cocoa") + outputs = [ + "bin" + "dev" + "out" + "man" ]; + configureFlags = + [ + (if x11Support then "--enable-x11" else "--disable-x11") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Suppresses a build failure building Cocoa support due to accessing private ivar `_running`, + # which no longer available. + (lib.enableFeature false "cocoa") + ]; + env.NIX_CFLAGS_COMPILE = lib.optionalString (!x11Support) "-DX_DISPLAY_MISSING"; postInstall = '' diff --git a/pkgs/by-name/li/libcacard/package.nix b/pkgs/by-name/li/libcacard/package.nix index 1dd07a9d6ec2a..3dfe6a7445baf 100644 --- a/pkgs/by-name/li/libcacard/package.nix +++ b/pkgs/by-name/li/libcacard/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, nss }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + nss, +}: stdenv.mkDerivation rec { pname = "libcacard"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib nss ]; + buildInputs = [ + glib + nss + ]; meta = with lib; { description = "Smart card emulation library"; diff --git a/pkgs/by-name/li/libcamera/package.nix b/pkgs/by-name/li/libcamera/package.nix index cd056cbf3074a..5a20a66514312 100644 --- a/pkgs/by-name/li/libcamera/package.nix +++ b/pkgs/by-name/li/libcamera/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, fetchgit -, lib -, meson -, ninja -, pkg-config -, makeFontsConf -, openssl -, libdrm -, libevent -, libyaml -, gst_all_1 -, gtest -, graphviz -, doxygen -, python3 -, python3Packages -, systemd # for libudev -, withTracing ? lib.meta.availableOn stdenv.hostPlatform lttng-ust -, lttng-ust # withTracing -, withQcam ? false -, qt6 # withQcam -, libtiff # withQcam +{ + stdenv, + fetchgit, + lib, + meson, + ninja, + pkg-config, + makeFontsConf, + openssl, + libdrm, + libevent, + libyaml, + gst_all_1, + gtest, + graphviz, + doxygen, + python3, + python3Packages, + systemd, # for libudev + withTracing ? lib.meta.availableOn stdenv.hostPlatform lttng-ust, + lttng-ust, # withTracing + withQcam ? false, + qt6, # withQcam + libtiff, # withQcam }: stdenv.mkDerivation rec { @@ -33,7 +34,10 @@ stdenv.mkDerivation rec { hash = "sha256-rW1BG5blozQKA73P5vH5dGkwQG5JJzxdOU2GCB3xIns="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' patchShebangs src/py/ utils/ @@ -57,30 +61,36 @@ stdenv.mkDerivation rec { strictDeps = true; - buildInputs = [ - # IPA and signing - openssl + buildInputs = + [ + # IPA and signing + openssl - # gstreamer integration - gst_all_1.gstreamer - gst_all_1.gst-plugins-base + # gstreamer integration + gst_all_1.gstreamer + gst_all_1.gst-plugins-base - # cam integration - libevent - libdrm + # cam integration + libevent + libdrm - # hotplugging - systemd + # hotplugging + systemd - # pycamera - python3Packages.pybind11 + # pycamera + python3Packages.pybind11 - # yamlparser - libyaml + # yamlparser + libyaml - gtest - ] ++ lib.optionals withTracing [ lttng-ust ] - ++ lib.optionals withQcam [ libtiff qt6.qtbase qt6.qttools ]; + gtest + ] + ++ lib.optionals withTracing [ lttng-ust ] + ++ lib.optionals withQcam [ + libtiff + qt6.qtbase + qt6.qttools + ]; nativeBuildInputs = [ meson diff --git a/pkgs/by-name/li/libcap_ng/package.nix b/pkgs/by-name/li/libcap_ng/package.nix index 478b5fa8ac2cc..6435e5b676bfd 100644 --- a/pkgs/by-name/li/libcap_ng/package.nix +++ b/pkgs/by-name/li/libcap_ng/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libcap-ng"; @@ -9,7 +13,11 @@ stdenv.mkDerivation rec { hash = "sha256-O6UpTRy9+pivqs+8ALavntK4PoohgXGF39hEzIx6xv8="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; configureFlags = [ "--without-python" diff --git a/pkgs/by-name/li/libcaption/package.nix b/pkgs/by-name/li/libcaption/package.nix index 0070aa3524eec..8218389e43042 100644 --- a/pkgs/by-name/li/libcaption/package.nix +++ b/pkgs/by-name/li/libcaption/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, re2c +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + re2c, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libcardiacarrest/package.nix b/pkgs/by-name/li/libcardiacarrest/package.nix index 4c0d0fa97ad11..54a80da8611e5 100644 --- a/pkgs/by-name/li/libcardiacarrest/package.nix +++ b/pkgs/by-name/li/libcardiacarrest/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, libpulseaudio }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + libpulseaudio, +}: stdenv.mkDerivation rec { pname = "libcardiacarrest"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0vrigwcw3g8zknqyznv6y3437ahn1w00gv3d303smmygr0p8bd94"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config ]; @@ -25,22 +35,25 @@ stdenv.mkDerivation rec { moveToOutput $out/lib/cmake $dev ''; - meta = with lib; src.meta // { - description = "Trivial implementation of libpulse PulseAudio library API"; - longDescription = '' - libcardiacarrest is a trivial implementation of libpulse - PulseAudio library API that unconditionally (but gracefully) - fails to connect to the PulseAudio daemon and does nothing else. - - apulse and pressureaudio (which uses apulse internally) are an - inspiration for this but unlike those two projects - libcardiacarrest is not an emulation layer, all it does is it - gracefully fails to provide the requested PulseAudio service - hoping the application would try something else (e.g. ALSA or - JACK). - ''; - license = libpulseaudio.meta.license; # "same as PA headers" - maintainers = [ maintainers.oxij ]; # also the author - }; + meta = + with lib; + src.meta + // { + description = "Trivial implementation of libpulse PulseAudio library API"; + longDescription = '' + libcardiacarrest is a trivial implementation of libpulse + PulseAudio library API that unconditionally (but gracefully) + fails to connect to the PulseAudio daemon and does nothing else. + + apulse and pressureaudio (which uses apulse internally) are an + inspiration for this but unlike those two projects + libcardiacarrest is not an emulation layer, all it does is it + gracefully fails to provide the requested PulseAudio service + hoping the application would try something else (e.g. ALSA or + JACK). + ''; + license = libpulseaudio.meta.license; # "same as PA headers" + maintainers = [ maintainers.oxij ]; # also the author + }; } diff --git a/pkgs/by-name/li/libcbor/package.nix b/pkgs/by-name/li/libcbor/package.nix index 673885b096e45..96481722474cd 100644 --- a/pkgs/by-name/li/libcbor/package.nix +++ b/pkgs/by-name/li/libcbor/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, cmocka - -# for passthru.tests -, libfido2 -, mysql80 -, openssh -, systemd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + cmocka, + + # for passthru.tests + libfido2, + mysql80, + openssh, + systemd, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-N1xYkZw/6lX/nX/TE6/pVuEFgSyDiUJ50msK42NrKwI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; nativeBuildInputs = [ cmake ]; @@ -31,23 +35,25 @@ stdenv.mkDerivation (finalAttrs: { cmocka # cmake expects cmocka module ]; - cmakeFlags = lib.optional finalAttrs.finalPackage.doCheck "-DWITH_TESTS=ON" + cmakeFlags = + lib.optional finalAttrs.finalPackage.doCheck "-DWITH_TESTS=ON" ++ lib.optional (!stdenv.hostPlatform.isStatic) "-DBUILD_SHARED_LIBS=ON"; # Tests are restricted while pkgsStatic.cmocka is broken. Tracked at: # https://github.com/NixOS/nixpkgs/issues/213623 - doCheck = !stdenv.hostPlatform.isStatic - && stdenv.hostPlatform == stdenv.buildPlatform; + doCheck = !stdenv.hostPlatform.isStatic && stdenv.hostPlatform == stdenv.buildPlatform; nativeCheckInputs = [ cmocka ]; passthru.tests = { inherit libfido2 mysql80; openssh = (openssh.override { withFIDO = true; }); - systemd = (systemd.override { - withFido2 = true; - withCryptsetup = true; - }); + systemd = ( + systemd.override { + withFido2 = true; + withCryptsetup = true; + } + ); }; meta = with lib; { diff --git a/pkgs/by-name/li/libccd/package.nix b/pkgs/by-name/li/libccd/package.nix index c8e7c8af21048..67eaa7eba25ea 100644 --- a/pkgs/by-name/li/libccd/package.nix +++ b/pkgs/by-name/li/libccd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "libccd"; diff --git a/pkgs/by-name/li/libcdada/package.nix b/pkgs/by-name/li/libcdada/package.nix index bb0593c1bf023..e944a448710e5 100644 --- a/pkgs/by-name/li/libcdada/package.nix +++ b/pkgs/by-name/li/libcdada/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libcdaudio/package.nix b/pkgs/by-name/li/libcdaudio/package.nix index 8e7bb7e2964a9..eb21424d349c8 100644 --- a/pkgs/by-name/li/libcdaudio/package.nix +++ b/pkgs/by-name/li/libcdaudio/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libcdaudio"; @@ -6,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/libcdaudio/libcdaudio-${version}.tar.gz"; - sha256 = "1fsy6dlzxrx177qc877qhajm9l4g28mvh06h2l15rxy4bapzknjz" ; + sha256 = "1fsy6dlzxrx177qc877qhajm9l4g28mvh06h2l15rxy4bapzknjz"; }; meta = { diff --git a/pkgs/by-name/li/libcddb/package.nix b/pkgs/by-name/li/libcddb/package.nix index 56459fe07d4f5..0830491431cb8 100644 --- a/pkgs/by-name/li/libcddb/package.nix +++ b/pkgs/by-name/li/libcddb/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libiconv }: +{ + lib, + stdenv, + fetchurl, + libiconv, +}: stdenv.mkDerivation rec { pname = "libcddb"; diff --git a/pkgs/by-name/li/libcello/package.nix b/pkgs/by-name/li/libcello/package.nix index b2f3fc5fae5be..b716752903092 100644 --- a/pkgs/by-name/li/libcello/package.nix +++ b/pkgs/by-name/li/libcello/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libcello"; diff --git a/pkgs/by-name/li/libcerf/package.nix b/pkgs/by-name/li/libcerf/package.nix index 92fd70bb0cc63..cd02eee33e70c 100644 --- a/pkgs/by-name/li/libcerf/package.nix +++ b/pkgs/by-name/li/libcerf/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, cmake, perl, gnuplot }: +{ + stdenv, + lib, + fetchurl, + cmake, + perl, + gnuplot, +}: stdenv.mkDerivation rec { pname = "libcerf"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-CAswrlZMPavjuJJkUira9WR+x1QCFXK+5UkpaXsnbNw="; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ + cmake + perl + ]; passthru.tests = { inherit gnuplot; diff --git a/pkgs/by-name/li/libcgroup/package.nix b/pkgs/by-name/li/libcgroup/package.nix index e86e989ba8887..1f286741ef0e0 100644 --- a/pkgs/by-name/li/libcgroup/package.nix +++ b/pkgs/by-name/li/libcgroup/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pam, bison, flex, systemdLibs, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + pam, + bison, + flex, + systemdLibs, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libcgroup"; @@ -12,8 +21,15 @@ stdenv.mkDerivation rec { hash = "sha256-CnejQcOyW3QzHuvsAdKe4M4XgmG9ufRaEBdO48+8ZqQ="; }; - nativeBuildInputs = [ autoreconfHook bison flex ]; - buildInputs = [ pam systemdLibs ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + ]; + buildInputs = [ + pam + systemdLibs + ]; postPatch = '' substituteInPlace src/tools/Makefile.am \ @@ -22,9 +38,9 @@ stdenv.mkDerivation rec { meta = { description = "Library and tools to manage Linux cgroups"; - homepage = "https://github.com/libcgroup/libcgroup"; - license = lib.licenses.lgpl2; - platforms = lib.platforms.linux; + homepage = "https://github.com/libcgroup/libcgroup"; + license = lib.licenses.lgpl2; + platforms = lib.platforms.linux; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/li/libchamplain/package.nix b/pkgs/by-name/li/libchamplain/package.nix index fc228f4d6a944..fee33071d4392 100644 --- a/pkgs/by-name/li/libchamplain/package.nix +++ b/pkgs/by-name/li/libchamplain/package.nix @@ -1,48 +1,53 @@ -{ fetchurl -, lib -, stdenv -, meson -, ninja -, vala -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 -, pkg-config -, glib -, gtk3 -, cairo -, sqlite -, gnome -, clutter-gtk -, libsoup_2_4 -, libsoup_3 -, gobject-introspection /*, libmemphis */ -, withLibsoup3 ? false +{ + fetchurl, + lib, + stdenv, + meson, + ninja, + vala, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + pkg-config, + glib, + gtk3, + cairo, + sqlite, + gnome, + clutter-gtk, + libsoup_2_4, + libsoup_3, + gobject-introspection, # , libmemphis + withLibsoup3 ? false, }: stdenv.mkDerivation rec { pname = "libchamplain"; version = "0.12.21"; - outputs = [ "out" "dev" ] - ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "qRXNFyoMUpRMVXn8tGg/ioeMVxv16SglS12v78cn5ac="; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - vala - ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ - gtk-doc - docbook_xsl - docbook_xml_dtd_412 - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + vala + ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + ]; buildInputs = [ sqlite diff --git a/pkgs/by-name/li/libchardet/package.nix b/pkgs/by-name/li/libchardet/package.nix index 9152038e16817..ba922c6f98cf0 100644 --- a/pkgs/by-name/li/libchardet/package.nix +++ b/pkgs/by-name/li/libchardet/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + perl, +}: stdenv.mkDerivation rec { pname = "libchardet"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-JhEiWM3q8X+eEBHxv8k9yYOaTGoJOzI+/iFYC0gZJJs="; }; - nativeBuildInputs = [ autoreconfHook perl ]; + nativeBuildInputs = [ + autoreconfHook + perl + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libchop/package.nix b/pkgs/by-name/li/libchop/package.nix index 996c92ef20fcf..83d064ef08fba 100644 --- a/pkgs/by-name/li/libchop/package.nix +++ b/pkgs/by-name/li/libchop/package.nix @@ -1,6 +1,21 @@ -{ fetchurl, lib, stdenv, zlib, bzip2, libgcrypt -, gdbm, gperf, tdb, gnutls, db, libuuid -, lzo, pkg-config, guile, rpcsvc-proto, libtirpc +{ + fetchurl, + lib, + stdenv, + zlib, + bzip2, + libgcrypt, + gdbm, + gperf, + tdb, + gnutls, + db, + libuuid, + lzo, + pkg-config, + guile, + rpcsvc-proto, + libtirpc, }: stdenv.mkDerivation rec { @@ -12,20 +27,34 @@ stdenv.mkDerivation rec { sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g"; }; - patches = [ ./gets-undeclared.patch ./size_t.patch ./0001-Fix-RPC-compilation-when-using-libtirpc-rather-than-.patch ]; + patches = [ + ./gets-undeclared.patch + ./size_t.patch + ./0001-Fix-RPC-compilation-when-using-libtirpc-rather-than-.patch + ]; - nativeBuildInputs = [ pkg-config gperf rpcsvc-proto ]; + nativeBuildInputs = [ + pkg-config + gperf + rpcsvc-proto + ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; NIX_LDFLAGS = [ "-ltirpc" ]; - buildInputs = - [ zlib bzip2 lzo - libgcrypt - gdbm db tdb - gnutls libuuid - guile libtirpc - ]; + buildInputs = [ + zlib + bzip2 + lzo + libgcrypt + gdbm + db + tdb + gnutls + libuuid + guile + libtirpc + ]; doCheck = false; diff --git a/pkgs/by-name/li/libcint/package.nix b/pkgs/by-name/li/libcint/package.nix index caa7e51336a4c..a8460668b9085 100644 --- a/pkgs/by-name/li/libcint/package.nix +++ b/pkgs/by-name/li/libcint/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, blas +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + blas, # Check Inputs -, python3 + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libcircle/package.nix b/pkgs/by-name/li/libcircle/package.nix index 1ff33ac1ac216..fc59d955226cc 100644 --- a/pkgs/by-name/li/libcircle/package.nix +++ b/pkgs/by-name/li/libcircle/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, mpi +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + mpi, }: stdenv.mkDerivation rec { @@ -17,9 +18,15 @@ stdenv.mkDerivation rec { hash = "sha256-EfnoNL6wo6qQES6XzMtpTpYcsJ8V2gy32i26wiTldH0="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; propagatedBuildInputs = [ mpi ]; diff --git a/pkgs/by-name/li/libck/package.nix b/pkgs/by-name/li/libck/package.nix index 71937b2a658ec..6853433734412 100644 --- a/pkgs/by-name/li/libck/package.nix +++ b/pkgs/by-name/li/libck/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ck"; @@ -19,7 +23,7 @@ stdenv.mkDerivation rec { "COMPILER=gcc" ''; - configureFlags = ["--platform=${stdenv.hostPlatform.parsed.cpu.name}}"]; + configureFlags = [ "--platform=${stdenv.hostPlatform.parsed.cpu.name}}" ]; dontDisableStatic = true; @@ -28,9 +32,15 @@ stdenv.mkDerivation rec { longDescription = '' Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures for the research, design and implementation of high performance concurrent systems. ''; - license = with licenses; [ asl20 bsd2 ]; + license = with licenses; [ + asl20 + bsd2 + ]; homepage = "http://concurrencykit.org/"; platforms = platforms.unix; - maintainers = with maintainers; [ chessai thoughtpolice ]; + maintainers = with maintainers; [ + chessai + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/li/libcli/package.nix b/pkgs/by-name/li/libcli/package.nix index 982d34f1bdce4..71aca93bf84b8 100644 --- a/pkgs/by-name/li/libcli/package.nix +++ b/pkgs/by-name/li/libcli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, libxcrypt }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "libcli"; @@ -11,18 +17,22 @@ stdenv.mkDerivation rec { owner = "dparrish"; }; - patches = - [ (fetchurl { - url = "https://github.com/dparrish/libcli/commit/ebc5a09db457ee1be9996711463cbbafe5ea72d5.patch"; - sha256 = "0szjiw3gd7by1sv924shnngfxvc98xvaqvx228b575xq93xxjcwl"; - }) - ]; + patches = [ + (fetchurl { + url = "https://github.com/dparrish/libcli/commit/ebc5a09db457ee1be9996711463cbbafe5ea72d5.patch"; + sha256 = "0szjiw3gd7by1sv924shnngfxvc98xvaqvx228b575xq93xxjcwl"; + }) + ]; buildInputs = [ libxcrypt ]; enableParallelBuilding = true; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "AR=${stdenv.cc.targetPrefix}ar" "PREFIX=$(out)" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "AR=${stdenv.cc.targetPrefix}ar" + "PREFIX=$(out)" + ]; env.NIX_CFLAGS_COMPILE = toString [ # Needed with GCC 12 diff --git a/pkgs/by-name/li/libclipboard/package.nix b/pkgs/by-name/li/libclipboard/package.nix index eec120bcd62d5..e0eb69704199d 100644 --- a/pkgs/by-name/li/libclipboard/package.nix +++ b/pkgs/by-name/li/libclipboard/package.nix @@ -7,7 +7,7 @@ libXau, libXdmcp, darwin, - lib + lib, }: stdenv.mkDerivation (finalAttrs: { @@ -21,12 +21,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-553hNG8QUlt/Aff9EKYr6w279ELr+2MX7nh1SKIklhA="; }; - buildInputs = [ libxcb libXau libXdmcp ] - ++ lib.optional stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]; - nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ + libxcb + libXau + libXdmcp + ] ++ lib.optional stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = { description = "Lightweight cross-platform clipboard library"; diff --git a/pkgs/by-name/li/libcloudproviders/package.nix b/pkgs/by-name/li/libcloudproviders/package.nix index 8b6722d9cde7d..c69a9ecc6cee7 100644 --- a/pkgs/by-name/li/libcloudproviders/package.nix +++ b/pkgs/by-name/li/libcloudproviders/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk-doc -, docbook_xsl -, glib -, mesonEmulatorHook -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook_xsl, + glib, + mesonEmulatorHook, + gnome, }: # TODO: Add installed tests once https://gitlab.gnome.org/World/libcloudproviders/issues/4 is fixed @@ -24,24 +25,30 @@ stdenv.mkDerivation rec { hash = "sha256-O3URCzpP3vTFxaRA5IcB/gVNKuBh0VbIkTa7W6BedLc="; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; mesonFlags = [ "-Denable-gtk-doc=true" ]; strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - vala - gtk-doc - docbook_xsl - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + vala + gtk-doc + docbook_xsl + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib ]; diff --git a/pkgs/by-name/li/libclthreads/package.nix b/pkgs/by-name/li/libclthreads/package.nix index e4548420a0576..db0183c7e21a4 100644 --- a/pkgs/by-name/li/libclthreads/package.nix +++ b/pkgs/by-name/li/libclthreads/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libclthreads"; diff --git a/pkgs/by-name/li/libclxclient/package.nix b/pkgs/by-name/li/libclxclient/package.nix index 40f259677ff4e..1aea861ea1a92 100644 --- a/pkgs/by-name/li/libclxclient/package.nix +++ b/pkgs/by-name/li/libclxclient/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, libclthreads, libX11, libXft, xorg, pkg-config }: +{ + lib, + stdenv, + fetchurl, + libclthreads, + libX11, + libXft, + xorg, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libclxclient"; @@ -9,7 +18,12 @@ stdenv.mkDerivation rec { sha256 = "10bq6fy8d3pr1x2x3xx9qhf2hdxrwdgvg843a2y6lx70y1jfj0c5"; }; - buildInputs = [ libclthreads libX11 libXft xorg.xorgproto ]; + buildInputs = [ + libclthreads + libX11 + libXft + xorg.xorgproto + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/li/libcmis/package.nix b/pkgs/by-name/li/libcmis/package.nix index 52da371999194..f125d1f9bb00b 100644 --- a/pkgs/by-name/li/libcmis/package.nix +++ b/pkgs/by-name/li/libcmis/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, boost, libxml2, pkg-config, docbook2x, curl, autoreconfHook, cppunit }: +{ + lib, + stdenv, + fetchFromGitHub, + boost, + libxml2, + pkg-config, + docbook2x, + curl, + autoreconfHook, + cppunit, +}: stdenv.mkDerivation rec { pname = "libcmis"; @@ -11,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-HXiyQKjOlQXWABY10XrOiYxPqfpmUJC3a6xD98LIHDw="; }; - nativeBuildInputs = [ autoreconfHook pkg-config docbook2x ]; - buildInputs = [ boost libxml2 curl cppunit ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + docbook2x + ]; + buildInputs = [ + boost + libxml2 + curl + cppunit + ]; configureFlags = [ "--disable-werror" diff --git a/pkgs/by-name/li/libcollectdclient/package.nix b/pkgs/by-name/li/libcollectdclient/package.nix index 41c5565482fe7..ae8b2dc671fc4 100644 --- a/pkgs/by-name/li/libcollectdclient/package.nix +++ b/pkgs/by-name/li/libcollectdclient/package.nix @@ -5,7 +5,7 @@ collectd.overrideAttrs (oldAttrs: { inherit (collectd) version; buildInputs = [ ]; - configureFlags = (oldAttrs.configureFlags or []) ++ [ + configureFlags = (oldAttrs.configureFlags or [ ]) ++ [ "--disable-daemon" "--disable-all-plugins" ]; @@ -17,6 +17,9 @@ collectd.overrideAttrs (oldAttrs: { homepage = "http://collectd.org"; license = licenses.gpl2; platforms = platforms.linux; # TODO: collectd may be linux but the C client may be more portable? - maintainers = [ maintainers.sheenobu maintainers.bjornfor ]; + maintainers = [ + maintainers.sheenobu + maintainers.bjornfor + ]; }; }) diff --git a/pkgs/by-name/li/libconfuse/package.nix b/pkgs/by-name/li/libconfuse/package.nix index 91a5a2f26f87d..3a13c2a677804 100644 --- a/pkgs/by-name/li/libconfuse/package.nix +++ b/pkgs/by-name/li/libconfuse/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, flex +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + flex, }: stdenv.mkDerivation rec { @@ -35,7 +36,10 @@ stdenv.mkDerivation rec { --replace 'TESTS += print_filter' "" ''; - nativeBuildInputs = [ autoreconfHook flex ]; + nativeBuildInputs = [ + autoreconfHook + flex + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libcork/package.nix b/pkgs/by-name/li/libcork/package.nix index c013775fcaeb0..e5f71c009db1f 100644 --- a/pkgs/by-name/li/libcork/package.nix +++ b/pkgs/by-name/li/libcork/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, fetchFromGitHub -, cmake -, lib -, pkg-config -, check +{ + stdenv, + fetchFromGitHub, + cmake, + lib, + pkg-config, + check, }: stdenv.mkDerivation rec { pname = "libcork"; @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { --replace '\$'{datarootdir}/'$'{base_docdir} '$'{CMAKE_INSTALL_FULL_DOCDIR} ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ check ]; doCheck = false; diff --git a/pkgs/by-name/li/libcotp/package.nix b/pkgs/by-name/li/libcotp/package.nix index 8b24f4250b5cb..28f92f6b45fa6 100644 --- a/pkgs/by-name/li/libcotp/package.nix +++ b/pkgs/by-name/li/libcotp/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libgcrypt }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "libcotp"; @@ -17,7 +24,10 @@ stdenv.mkDerivation rec { ''; buildInputs = [ libgcrypt ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "C library that generates TOTP and HOTP"; diff --git a/pkgs/by-name/li/libcrafter/package.nix b/pkgs/by-name/li/libcrafter/package.nix index 029bec5630bf4..d53e5e3c917c2 100644 --- a/pkgs/by-name/li/libcrafter/package.nix +++ b/pkgs/by-name/li/libcrafter/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, libpcap }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + libpcap, +}: stdenv.mkDerivation rec { pname = "libcrafter"; @@ -17,7 +25,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-libpcap=yes" ]; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ libtool ]; propagatedBuildInputs = [ libpcap ]; diff --git a/pkgs/by-name/li/libcredis/package.nix b/pkgs/by-name/li/libcredis/package.nix index 3515bce2da207..28103abe29e67 100644 --- a/pkgs/by-name/li/libcredis/package.nix +++ b/pkgs/by-name/li/libcredis/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libcredis"; diff --git a/pkgs/by-name/li/libcrossguid/package.nix b/pkgs/by-name/li/libcrossguid/package.nix index c81dbb86f6a05..3a165303f5ad3 100644 --- a/pkgs/by-name/li/libcrossguid/package.nix +++ b/pkgs/by-name/li/libcrossguid/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libuuid }: +{ + lib, + stdenv, + fetchFromGitHub, + libuuid, +}: stdenv.mkDerivation rec { name = "lib" + pname + "-" + version; diff --git a/pkgs/by-name/li/libcs50/package.nix b/pkgs/by-name/li/libcs50/package.nix index a7dd7c6879b5e..becca7221ef6f 100644 --- a/pkgs/by-name/li/libcs50/package.nix +++ b/pkgs/by-name/li/libcs50/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "libcs50"; diff --git a/pkgs/by-name/li/libcsptr/package.nix b/pkgs/by-name/li/libcsptr/package.nix index a8f33deda36c6..d055ec74479f7 100644 --- a/pkgs/by-name/li/libcsptr/package.nix +++ b/pkgs/by-name/li/libcsptr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libcsptr"; diff --git a/pkgs/by-name/li/libctb/package.nix b/pkgs/by-name/li/libctb/package.nix index d52adac556d84..4e5ea342e3bc5 100644 --- a/pkgs/by-name/li/libctb/package.nix +++ b/pkgs/by-name/li/libctb/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libctb"; version = "0.16"; diff --git a/pkgs/by-name/li/libctemplate/package.nix b/pkgs/by-name/li/libctemplate/package.nix index 816bbe41708a9..11c2323806d51 100644 --- a/pkgs/by-name/li/libctemplate/package.nix +++ b/pkgs/by-name/li/libctemplate/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, python3, autoconf, automake, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "ctemplate"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "1x0p5yym6vvcx70pm8ihnbxxrl2wnblfp72ih5vjyg8mzkc8cxrr"; }; - nativeBuildInputs = [ python3 autoconf automake libtool ]; + nativeBuildInputs = [ + python3 + autoconf + automake + libtool + ]; postPatch = '' patchShebangs . diff --git a/pkgs/by-name/li/libctl/package.nix b/pkgs/by-name/li/libctl/package.nix index 6969f6166beb8..e9b459b8aa537 100644 --- a/pkgs/by-name/li/libctl/package.nix +++ b/pkgs/by-name/li/libctl/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gfortran -, guile -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gfortran, + guile, + pkg-config, }: stdenv.mkDerivation rec { @@ -18,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "uOydBWYPXSBUi+4MM6FNx6B5l2to7Ny9Uc1MMTV9bGA="; }; - nativeBuildInputs = [ autoreconfHook gfortran guile pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + gfortran + guile + pkg-config + ]; configureFlags = [ "--enable-shared" ]; diff --git a/pkgs/by-name/li/libcue/package.nix b/pkgs/by-name/li/libcue/package.nix index ec7f1ba26ab1e..e21cbea721617 100644 --- a/pkgs/by-name/li/libcue/package.nix +++ b/pkgs/by-name/li/libcue/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, bison, flex }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "libcue"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-ZMUUa8CmpFNparPsM/P2yvRto9E85EdTxpID5sKQbNI="; }; - nativeBuildInputs = [ cmake bison flex ]; + nativeBuildInputs = [ + cmake + bison + flex + ]; doCheck = true; diff --git a/pkgs/by-name/li/libcyaml/package.nix b/pkgs/by-name/li/libcyaml/package.nix index a1bbd17753cab..beb458f400fc3 100644 --- a/pkgs/by-name/li/libcyaml/package.nix +++ b/pkgs/by-name/li/libcyaml/package.nix @@ -1,5 +1,8 @@ -{ stdenv, lib, fetchFromGitHub -, libyaml +{ + stdenv, + lib, + fetchFromGitHub, + libyaml, }: stdenv.mkDerivation rec { @@ -15,7 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ libyaml ]; - makeFlags = [ "VARIANT=release" "PREFIX=$(out)" ]; + makeFlags = [ + "VARIANT=release" + "PREFIX=$(out)" + ]; meta = with lib; { homepage = "https://github.com/tlsa/libcyaml"; diff --git a/pkgs/by-name/li/libdaemon/package.nix b/pkgs/by-name/li/libdaemon/package.nix index 112792454c43c..796cb02ea03fd 100644 --- a/pkgs/by-name/li/libdaemon/package.nix +++ b/pkgs/by-name/li/libdaemon/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libdaemon"; @@ -9,13 +13,18 @@ stdenv.mkDerivation rec { sha256 = "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; patches = [ ./fix-includes.patch ]; - configureFlags = [ "--disable-lynx" ] - ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) - [ # Can't run this test while cross-compiling + configureFlags = + [ "--disable-lynx" ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # Can't run this test while cross-compiling "ac_cv_func_setpgrp_void=yes" ]; diff --git a/pkgs/by-name/li/libdatovka/package.nix b/pkgs/by-name/li/libdatovka/package.nix index 9b0f4f2d59e8b..3f7bbef3c1a8d 100644 --- a/pkgs/by-name/li/libdatovka/package.nix +++ b/pkgs/by-name/li/libdatovka/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, autoreconfHook -, pkg-config -, fetchurl -, expat -, gpgme -, libgcrypt -, libxml2 -, libxslt -, gnutls -, curl -, docbook_xsl +{ + lib, + stdenv, + autoreconfHook, + pkg-config, + fetchurl, + expat, + gpgme, + libgcrypt, + libxml2, + libxslt, + gnutls, + curl, + docbook_xsl, }: stdenv.mkDerivation rec { @@ -30,8 +31,20 @@ stdenv.mkDerivation rec { "--with-docbook-xsl-stylesheets=${docbook_xsl}/xml/xsl/docbook" ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ expat gpgme libgcrypt libxml2 libxslt gnutls curl docbook_xsl ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + expat + gpgme + libgcrypt + libxml2 + libxslt + gnutls + curl + docbook_xsl + ]; meta = with lib; { description = "Client library for accessing SOAP services of Czech government-provided Databox infomation system"; diff --git a/pkgs/by-name/li/libdatrie/package.nix b/pkgs/by-name/li/libdatrie/package.nix index e810da2e96cde..9c22e4a46ca65 100644 --- a/pkgs/by-name/li/libdatrie/package.nix +++ b/pkgs/by-name/li/libdatrie/package.nix @@ -1,13 +1,24 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, autoconf-archive -, installShellFiles, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + installShellFiles, + libiconv, +}: stdenv.mkDerivation rec { pname = "libdatrie"; version = "2019-12-20"; - outputs = [ "bin" "out" "lib" "dev" ]; + outputs = [ + "bin" + "out" + "lib" + "dev" + ]; src = fetchFromGitHub { owner = "tlwg"; @@ -24,13 +35,14 @@ stdenv.mkDerivation rec { buildInputs = [ libiconv ]; - preAutoreconf = let - reports = "https://github.com/tlwg/libdatrie/issues"; - in - '' - sed -i -e "/AC_INIT/,+3d" configure.ac - sed -i "5iAC_INIT(${pname},${version},[${reports}])" configure.ac - ''; + preAutoreconf = + let + reports = "https://github.com/tlwg/libdatrie/issues"; + in + '' + sed -i -e "/AC_INIT/,+3d" configure.ac + sed -i "5iAC_INIT(${pname},${version},[${reports}])" configure.ac + ''; postInstall = '' installManPage man/trietool.1 diff --git a/pkgs/by-name/li/libdazzle/package.nix b/pkgs/by-name/li/libdazzle/package.nix index 08b286c825cf6..7c54966532148 100644 --- a/pkgs/by-name/li/libdazzle/package.nix +++ b/pkgs/by-name/li/libdazzle/package.nix @@ -1,28 +1,33 @@ -{ lib -, stdenv -, fetchurl -, ninja -, meson -, mesonEmulatorHook -, pkg-config -, vala -, gobject-introspection -, libxml2 -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_43 -, dbus -, xvfb-run -, glib -, gtk3 -, gnome +{ + lib, + stdenv, + fetchurl, + ninja, + meson, + mesonEmulatorHook, + pkg-config, + vala, + gobject-introspection, + libxml2, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_43, + dbus, + xvfb-run, + glib, + gtk3, + gnome, }: stdenv.mkDerivation rec { pname = "libdazzle"; version = "3.44.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; src = fetchurl { @@ -30,23 +35,26 @@ stdenv.mkDerivation rec { sha256 = "PNPkXrbiaAywXVLh6A3Y+dWdR2UhLw4o945sF4PRjq4="; }; - nativeBuildInputs = [ - ninja - meson - pkg-config - vala - gobject-introspection - libxml2 - gtk-doc - docbook_xsl - docbook_xml_dtd_43 - dbus - glib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xvfb-run - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + ninja + meson + pkg-config + vala + gobject-introspection + libxml2 + gtk-doc + docbook_xsl + docbook_xml_dtd_43 + dbus + glib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xvfb-run + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/li/libdbi/package.nix b/pkgs/by-name/li/libdbi/package.nix index f0cb74cb86d07..44cd2e99f8c10 100644 --- a/pkgs/by-name/li/libdbi/package.nix +++ b/pkgs/by-name/li/libdbi/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libdbi"; diff --git a/pkgs/by-name/li/libdbiDrivers/package.nix b/pkgs/by-name/li/libdbiDrivers/package.nix index 6537e3ae2a3e8..66edca677d6c4 100644 --- a/pkgs/by-name/li/libdbiDrivers/package.nix +++ b/pkgs/by-name/li/libdbiDrivers/package.nix @@ -1,8 +1,12 @@ -{ lib, stdenv, fetchurl, libdbi -# TODO: migrate away from overriding packages to null -, libmysqlclient ? null -, sqlite ? null -, postgresql ? null +{ + lib, + stdenv, + fetchurl, + libdbi, + # TODO: migrate away from overriding packages to null + libmysqlclient ? null, + sqlite ? null, + postgresql ? null, }: stdenv.mkDerivation rec { @@ -14,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"; }; - buildInputs = [ libdbi sqlite postgresql ] ++ lib.optional (libmysqlclient != null) libmysqlclient; + buildInputs = [ + libdbi + sqlite + postgresql + ] ++ lib.optional (libmysqlclient != null) libmysqlclient; patches = [ # https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/24f48b86c8988ee3aaebc5f303d71e9d789f77b6 @@ -25,29 +33,35 @@ stdenv.mkDerivation rec { sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure; ''; - configureFlags = [ - "--sysconfdir=/etc" - "--localstatedir=/var" - "--disable-docs" - "--enable-libdbi" - "--with-dbi-incdir=${libdbi}/include" - "--with-dbi-libdir=${libdbi}/lib" - ] ++ lib.optionals (libmysqlclient != null) [ - "--with-mysql" - "--with-mysql-incdir=${lib.getDev libmysqlclient}/include/mysql" - "--with-mysql-libdir=${libmysqlclient}/lib/mysql" - ] ++ lib.optionals (sqlite != null) [ - "--with-sqlite3" - "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite" - "--with-sqlite3-libdir=${sqlite.out}/lib/sqlite" - ] ++ lib.optionals (postgresql != null) [ - "--with-pgsql" - ]; + configureFlags = + [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--disable-docs" + "--enable-libdbi" + "--with-dbi-incdir=${libdbi}/include" + "--with-dbi-libdir=${libdbi}/lib" + ] + ++ lib.optionals (libmysqlclient != null) [ + "--with-mysql" + "--with-mysql-incdir=${lib.getDev libmysqlclient}/include/mysql" + "--with-mysql-libdir=${libmysqlclient}/lib/mysql" + ] + ++ lib.optionals (sqlite != null) [ + "--with-sqlite3" + "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite" + "--with-sqlite3-libdir=${sqlite.out}/lib/sqlite" + ] + ++ lib.optionals (postgresql != null) [ + "--with-pgsql" + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=incompatible-function-pointer-types" - "-Wno-error=int-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=incompatible-function-pointer-types" + "-Wno-error=int-conversion" + ] + ); installFlags = [ "DESTDIR=\${out}" ]; diff --git a/pkgs/by-name/li/libdbusmenu/package.nix b/pkgs/by-name/li/libdbusmenu/package.nix index 5143372d2b0db..504b1954d0682 100644 --- a/pkgs/by-name/li/libdbusmenu/package.nix +++ b/pkgs/by-name/li/libdbusmenu/package.nix @@ -1,31 +1,53 @@ -{ stdenv, fetchurl, lib, file -, pkg-config, intltool -, glib, dbus-glib, json-glib -, gobject-introspection, vala -, gtkVersion ? null, gtk2, gtk3 -, testers +{ + stdenv, + fetchurl, + lib, + file, + pkg-config, + intltool, + glib, + dbus-glib, + json-glib, + gobject-introspection, + vala, + gtkVersion ? null, + gtk2, + gtk3, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "libdbusmenu-${if gtkVersion == null then "glib" else "gtk${gtkVersion}"}"; version = "16.04.0"; - src = let - inherit (finalAttrs) version; - in fetchurl { - url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz"; - sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r"; - }; + src = + let + inherit (finalAttrs) version; + in + fetchurl { + url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz"; + sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r"; + }; - nativeBuildInputs = [ vala pkg-config intltool gobject-introspection ]; + nativeBuildInputs = [ + vala + pkg-config + intltool + gobject-introspection + ]; - buildInputs = [ - glib dbus-glib json-glib - ] ++ lib.optional (gtkVersion != null) - { - "2" = gtk2; - "3" = gtk3; - }.${gtkVersion} or (throw "unknown GTK version ${gtkVersion}"); + buildInputs = + [ + glib + dbus-glib + json-glib + ] + ++ lib.optional (gtkVersion != null) + { + "2" = gtk2; + "3" = gtk3; + } + .${gtkVersion} or (throw "unknown GTK version ${gtkVersion}"); patches = [ ./requires-glib.patch @@ -66,7 +88,11 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Library for passing menu structures across DBus"; homepage = "https://launchpad.net/dbusmenu"; - license = with licenses; [ gpl3 lgpl21 lgpl3 ]; + license = with licenses; [ + gpl3 + lgpl21 + lgpl3 + ]; pkgConfigModules = [ "dbusmenu-glib-0.4" "dbusmenu-jsonloader-0.4" diff --git a/pkgs/by-name/li/libde265/package.nix b/pkgs/by-name/li/libde265/package.nix index e4dfba60fe999..fc441254b9b31 100644 --- a/pkgs/by-name/li/libde265/package.nix +++ b/pkgs/by-name/li/libde265/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, -, callPackage + callPackage, # for passthru.tests -, imagemagick -, libheif -, imlib2Full -, gst_all_1 + imagemagick, + libheif, + imlib2Full, + gst_all_1, }: stdenv.mkDerivation (finalAttrs: rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation (finalAttrs: rec { hash = "sha256-guiLM4RNe5O0qpeCoQUbs1Z7j0wp8iK9za2+6NIB8yY="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libde265/test-corpus-decode.nix b/pkgs/by-name/li/libde265/test-corpus-decode.nix index 9c184362d10bb..ac7368f27cb5b 100644 --- a/pkgs/by-name/li/libde265/test-corpus-decode.nix +++ b/pkgs/by-name/li/libde265/test-corpus-decode.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchFromGitHub -, libde265 +{ + stdenv, + fetchFromGitHub, + libde265, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/li/libdecor/package.nix b/pkgs/by-name/li/libdecor/package.nix index f81fdc68768ac..063ad2f6059ca 100644 --- a/pkgs/by-name/li/libdecor/package.nix +++ b/pkgs/by-name/li/libdecor/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitLab -, pkg-config -, meson -, ninja -, wayland -, wayland-protocols -, wayland-scanner -, cairo -, dbus -, pango -, gtk3 +{ + stdenv, + lib, + fetchFromGitLab, + pkg-config, + meson, + ninja, + wayland, + wayland-protocols, + wayland-scanner, + cairo, + dbus, + pango, + gtk3, }: stdenv.mkDerivation rec { @@ -25,7 +26,10 @@ stdenv.mkDerivation rec { hash = "sha256-mID19uHXFKJUZtQsSOXjRdz541YVjMxmSHVa+DlkPRc="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; diff --git a/pkgs/by-name/li/libdex/package.nix b/pkgs/by-name/li/libdex/package.nix index e605ff3ea7bd8..96387af9f9fc0 100644 --- a/pkgs/by-name/li/libdex/package.nix +++ b/pkgs/by-name/li/libdex/package.nix @@ -1,22 +1,27 @@ -{ stdenv -, lib -, fetchurl -, gi-docgen -, gobject-introspection -, meson -, ninja -, pkg-config -, vala -, glib -, liburing -, gnome +{ + stdenv, + lib, + fetchurl, + gi-docgen, + gobject-introspection, + meson, + ninja, + pkg-config, + vala, + glib, + liburing, + gnome, }: stdenv.mkDerivation (finalAttrs: { pname = "libdex"; version = "0.8.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/libdex/${lib.versions.majorMinor finalAttrs.version}/libdex-${finalAttrs.version}.tar.xz"; diff --git a/pkgs/by-name/li/libdicom/package.nix b/pkgs/by-name/li/libdicom/package.nix index 94dfaf81298df..b23fc37c56f8f 100644 --- a/pkgs/by-name/li/libdicom/package.nix +++ b/pkgs/by-name/li/libdicom/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, uthash -, meson -, ninja -, pkg-config -, check +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + uthash, + meson, + ninja, + pkg-config, + check, }: stdenv.mkDerivation (finalAttrs: { @@ -31,8 +32,11 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ uthash ]; - nativeBuildInputs = [ meson ninja pkg-config ] - ++ lib.optionals (finalAttrs.finalPackage.doCheck) [ check ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ] ++ lib.optionals (finalAttrs.finalPackage.doCheck) [ check ]; mesonBuildType = "release"; diff --git a/pkgs/by-name/li/libdigidocpp/package.nix b/pkgs/by-name/li/libdigidocpp/package.nix index 81a129587dd70..3fc8389bc35d9 100644 --- a/pkgs/by-name/li/libdigidocpp/package.nix +++ b/pkgs/by-name/li/libdigidocpp/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, cmake -, libtool -, libxml2 -, minizip -, pcsclite -, opensc -, openssl -, xercesc -, pkg-config -, xsd -, zlib -, xmlsec -, xxd +{ + lib, + stdenv, + fetchurl, + cmake, + libtool, + libxml2, + minizip, + pcsclite, + opensc, + openssl, + xercesc, + pkg-config, + xsd, + zlib, + xmlsec, + xxd, }: stdenv.mkDerivation rec { @@ -25,7 +26,11 @@ stdenv.mkDerivation rec { hash = "sha256-0G7cjJEgLJ24SwHRznKJ18cRY0m50lr6HXstfbYq9f8="; }; - nativeBuildInputs = [ cmake pkg-config xxd ]; + nativeBuildInputs = [ + cmake + pkg-config + xxd + ]; buildInputs = [ libxml2 @@ -39,7 +44,12 @@ stdenv.mkDerivation rec { xmlsec ]; - outputs = [ "out" "lib" "dev" "bin" ]; + outputs = [ + "out" + "lib" + "dev" + "bin" + ]; # This wants to link to ${CMAKE_DL_LIBS} (ltdl), and there doesn't seem to be # a way to tell CMake where this should be pulled from. diff --git a/pkgs/by-name/li/libdiscid/package.nix b/pkgs/by-name/li/libdiscid/package.nix index 2c4e7de008b6b..e863863fe6f11 100644 --- a/pkgs/by-name/li/libdiscid/package.nix +++ b/pkgs/by-name/li/libdiscid/package.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, darwin }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + darwin, +}: stdenv.mkDerivation rec { pname = "libdiscid"; version = "0.6.4"; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.IOKit ]; diff --git a/pkgs/by-name/li/libdisplay-info/package.nix b/pkgs/by-name/li/libdisplay-info/package.nix index 68cca4ea13558..a54ee542097ae 100644 --- a/pkgs/by-name/li/libdisplay-info/package.nix +++ b/pkgs/by-name/li/libdisplay-info/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, pkg-config -, ninja -, python3 -, hwdata -, edid-decode +{ + lib, + stdenv, + fetchFromGitLab, + meson, + pkg-config, + ninja, + python3, + hwdata, + edid-decode, }: stdenv.mkDerivation rec { @@ -22,7 +23,14 @@ stdenv.mkDerivation rec { }; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson pkg-config ninja edid-decode hwdata python3 ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + edid-decode + hwdata + python3 + ]; postPatch = '' patchShebangs tool/gen-search-table.py diff --git a/pkgs/by-name/li/libdivecomputer/package.nix b/pkgs/by-name/li/libdivecomputer/package.nix index 8824061dee86b..e2ac2746af6a9 100644 --- a/pkgs/by-name/li/libdivecomputer/package.nix +++ b/pkgs/by-name/li/libdivecomputer/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libdivecomputer"; diff --git a/pkgs/by-name/li/libdivsufsort/package.nix b/pkgs/by-name/li/libdivsufsort/package.nix index 9cce02bc08eed..c180b8698c5c2 100644 --- a/pkgs/by-name/li/libdivsufsort/package.nix +++ b/pkgs/by-name/li/libdivsufsort/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, cmake}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libdivsufsort"; diff --git a/pkgs/by-name/li/libdjinterop/package.nix b/pkgs/by-name/li/libdjinterop/package.nix index 36c971f33a27d..0b514a34a2097 100644 --- a/pkgs/by-name/li/libdjinterop/package.nix +++ b/pkgs/by-name/li/libdjinterop/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cmake -, ninja -, pkg-config -, sqlite -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + ninja, + pkg-config, + sqlite, + zlib, }: stdenv.mkDerivation { @@ -27,7 +28,10 @@ stdenv.mkDerivation { pkg-config ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ boost diff --git a/pkgs/by-name/li/libdmtx/package.nix b/pkgs/by-name/li/libdmtx/package.nix index bd7eb2359ef7f..fca4825a8b5a3 100644 --- a/pkgs/by-name/li/libdmtx/package.nix +++ b/pkgs/by-name/li/libdmtx/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-UQy8iFfl8BNT5cBUMVF1tIScFPfHekSofaebtel9JWk="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = { description = "Open source software for reading and writing Data Matrix barcodes"; diff --git a/pkgs/by-name/li/libdovi/package.nix b/pkgs/by-name/li/libdovi/package.nix index 5f87567e3bc88..055c90f7d9c4d 100644 --- a/pkgs/by-name/li/libdovi/package.nix +++ b/pkgs/by-name/li/libdovi/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchCrate -, cargo-c -, rust -, stdenv +{ + lib, + rustPlatform, + fetchCrate, + cargo-c, + rust, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/li/libdsk/package.nix b/pkgs/by-name/li/libdsk/package.nix index 74d8754838905..a2041ee70b760 100644 --- a/pkgs/by-name/li/libdsk/package.nix +++ b/pkgs/by-name/li/libdsk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libdsk"; diff --git a/pkgs/by-name/li/libdv/package.nix b/pkgs/by-name/li/libdv/package.nix index da69eedb28877..71a7e206860dc 100644 --- a/pkgs/by-name/li/libdv/package.nix +++ b/pkgs/by-name/li/libdv/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, popt }: +{ + lib, + stdenv, + fetchurl, + popt, +}: stdenv.mkDerivation rec { pname = "libdv"; diff --git a/pkgs/by-name/li/libdvbcsa/package.nix b/pkgs/by-name/li/libdvbcsa/package.nix index f9daa860cf479..e85f6095d28f0 100644 --- a/pkgs/by-name/li/libdvbcsa/package.nix +++ b/pkgs/by-name/li/libdvbcsa/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libdvbcsa"; diff --git a/pkgs/by-name/li/libdvbpsi/package.nix b/pkgs/by-name/li/libdvbpsi/package.nix index 6ec8aab8943ce..b8f6c3c15e7b4 100644 --- a/pkgs/by-name/li/libdvbpsi/package.nix +++ b/pkgs/by-name/li/libdvbpsi/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libdvbpsi"; diff --git a/pkgs/by-name/li/libdwarf/common.nix b/pkgs/by-name/li/libdwarf/common.nix index 4cf3102bbbfce..7206140b9db2a 100644 --- a/pkgs/by-name/li/libdwarf/common.nix +++ b/pkgs/by-name/li/libdwarf/common.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, buildInputs, hash, version, url, knownVulnerabilities }: +{ + lib, + stdenv, + fetchurl, + buildInputs, + hash, + version, + url, + knownVulnerabilities, +}: stdenv.mkDerivation rec { pname = "libdwarf"; @@ -8,11 +17,19 @@ stdenv.mkDerivation rec { inherit url hash; }; - configureFlags = [ "--enable-shared" "--disable-nonshared" ]; + configureFlags = [ + "--enable-shared" + "--disable-nonshared" + ]; inherit buildInputs; - outputs = [ "bin" "lib" "dev" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "out" + ]; meta = { homepage = "https://github.com/davea42/libdwarf-code"; diff --git a/pkgs/by-name/li/libdwarf/package.nix b/pkgs/by-name/li/libdwarf/package.nix index b4bccdf30ef33..65820422e3479 100644 --- a/pkgs/by-name/li/libdwarf/package.nix +++ b/pkgs/by-name/li/libdwarf/package.nix @@ -1,12 +1,16 @@ -{ callPackage -, zlib -, zstd +{ + callPackage, + zlib, + zstd, }: callPackage ./common.nix rec { version = "0.9.2"; url = "https://www.prevanders.net/libdwarf-${version}.tar.xz"; hash = "sha512-9QK22kuW1ZYtoRl8SuUiv9soWElsSvGYEJ2ETgAhMYyypevJyM+fwuRDmZfKlUXGUMpPKPDZbLZrBcm4m5jy+A=="; - buildInputs = [ zlib zstd ]; - knownVulnerabilities = []; + buildInputs = [ + zlib + zstd + ]; + knownVulnerabilities = [ ]; } diff --git a/pkgs/by-name/li/libdwg/package.nix b/pkgs/by-name/li/libdwg/package.nix index 741d848c47a85..38b4492a8867a 100644 --- a/pkgs/by-name/li/libdwg/package.nix +++ b/pkgs/by-name/li/libdwg/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, indent}: +{ + lib, + stdenv, + fetchurl, + indent, +}: stdenv.mkDerivation rec { pname = "libdwg"; @@ -26,7 +31,7 @@ stdenv.mkDerivation rec { description = "Library reading dwg files"; homepage = "http://libdwg.sourceforge.net/en/"; license = lib.licenses.gpl3; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/li/libdynd/package.nix b/pkgs/by-name/li/libdynd/package.nix index 8746ea42882c6..8bfc3412e3413 100644 --- a/pkgs/by-name/li/libdynd/package.nix +++ b/pkgs/by-name/li/libdynd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libdynd"; @@ -30,7 +35,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputDoc = "dev"; meta = with lib; { diff --git a/pkgs/by-name/li/libe-book/package.nix b/pkgs/by-name/li/libe-book/package.nix index f066e470568bb..a0caf15289786 100644 --- a/pkgs/by-name/li/libe-book/package.nix +++ b/pkgs/by-name/li/libe-book/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, gperf -, pkg-config -, librevenge -, libxml2 -, boost -, icu -, cppunit -, zlib -, liblangtag +{ + lib, + stdenv, + fetchurl, + gperf, + pkg-config, + librevenge, + libxml2, + boost, + icu, + cppunit, + zlib, + liblangtag, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libe57format/package.nix b/pkgs/by-name/li/libe57format/package.nix index 7e70cb9503106..bf391abd82d83 100644 --- a/pkgs/by-name/li/libe57format/package.nix +++ b/pkgs/by-name/li/libe57format/package.nix @@ -1,5 +1,6 @@ { - lib, stdenv, + lib, + stdenv, cmake, fetchFromGitHub, fetchpatch, @@ -51,9 +52,11 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ # See https://github.com/asmaloney/libE57Format/blob/9372bdea8db2cc0c032a08f6d655a53833d484b8/test/README.md - (if finalAttrs.finalPackage.doCheck - then "-DE57_TEST_DATA_PATH=${finalAttrs.libE57Format-test-data_src}" - else "-DE57_BUILD_TEST=OFF" + ( + if finalAttrs.finalPackage.doCheck then + "-DE57_TEST_DATA_PATH=${finalAttrs.libE57Format-test-data_src}" + else + "-DE57_BUILD_TEST=OFF" ) ]; @@ -84,7 +87,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Library for reading & writing the E57 file format"; homepage = "https://github.com/asmaloney/libE57Format"; license = licenses.boost; - maintainers = with maintainers; [ chpatrick nh2 ]; + maintainers = with maintainers; [ + chpatrick + nh2 + ]; platforms = platforms.linux; # because of the .so buiding in `postInstall` above }; }) diff --git a/pkgs/by-name/li/libeatmydata/package.nix b/pkgs/by-name/li/libeatmydata/package.nix index f315e32f02d93..d166a39299eb0 100644 --- a/pkgs/by-name/li/libeatmydata/package.nix +++ b/pkgs/by-name/li/libeatmydata/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, strace -, which +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + strace, + which, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libeb/package.nix b/pkgs/by-name/li/libeb/package.nix index fe0011f9c9973..b21a6d405e592 100644 --- a/pkgs/by-name/li/libeb/package.nix +++ b/pkgs/by-name/li/libeb/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, zlib }: +{ + lib, + stdenv, + fetchurl, + perl, + zlib, +}: stdenv.mkDerivation rec { pname = "libeb"; version = "4.4.3"; diff --git a/pkgs/by-name/li/libebml/package.nix b/pkgs/by-name/li/libebml/package.nix index 34a45e398bcdb..e6bd5d29bca29 100644 --- a/pkgs/by-name/li/libebml/package.nix +++ b/pkgs/by-name/li/libebml/package.nix @@ -1,17 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libebml"; version = "1.4.5"; src = fetchFromGitHub { - owner = "Matroska-Org"; - repo = "libebml"; - rev = "release-${version}"; + owner = "Matroska-Org"; + repo = "libebml"; + rev = "release-${version}"; sha256 = "sha256-PIVBePTWceMgiENdaL9lvXIL/RQIrtg7l0OG2tO0SU8="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=YES" diff --git a/pkgs/by-name/li/libebur128/package.nix b/pkgs/by-name/li/libebur128/package.nix index c91cb23189f70..c992560630379 100644 --- a/pkgs/by-name/li/libebur128/package.nix +++ b/pkgs/by-name/li/libebur128/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, speexdsp, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + speexdsp, + pkg-config, +}: stdenv.mkDerivation rec { version = "1.2.6"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-UKO2k+kKH/dwt2xfaYMrH/GXjEkIrnxh1kGG/3P5d3Y="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ speexdsp ]; # https://github.com/jiixyj/libebur128/issues/121 diff --git a/pkgs/by-name/li/libedit/package.nix b/pkgs/by-name/li/libedit/package.nix index 90d69aa6db209..92248a806d253 100644 --- a/pkgs/by-name/li/libedit/package.nix +++ b/pkgs/by-name/li/libedit/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses +{ + lib, + stdenv, + fetchurl, + ncurses, }: stdenv.mkDerivation (finalAttrs: { @@ -13,7 +14,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-XwVzNJ13xKSJZxkc3WY03Xql9jmMalf+A3zAJpbWCZ8="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; patches = [ ./01-cygwin.patch @@ -30,9 +35,9 @@ stdenv.mkDerivation (finalAttrs: { # fine with GCC and Musl. # There is a DR to fix this issue with Clang which is not merged yet. # https://reviews.llvm.org/D137043 - env.NIX_CFLAGS_COMPILE = - lib.optionalString (stdenv.targetPlatform.isMusl && stdenv.cc.isClang) - "-D__STDC_ISO_10646__=201103L"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.targetPlatform.isMusl && stdenv.cc.isClang + ) "-D__STDC_ISO_10646__=201103L"; postFixup = '' find $out/lib -type f | \ @@ -45,10 +50,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://www.thrysoee.dk/editline/#changelog"; description = "Port of the NetBSD Editline library (libedit)"; longDescription = '' - This is an autotool- and libtoolized port of the NetBSD Editline library - (libedit). This Berkeley-style licensed command line editor library - provides generic line editing, history, and tokenization functions, - similar to those found in GNU Readline. + This is an autotool- and libtoolized port of the NetBSD Editline library + (libedit). This Berkeley-style licensed command line editor library + provides generic line editing, history, and tokenization functions, + similar to those found in GNU Readline. ''; license = with lib.licenses; [ bsd3 ]; maintainers = with lib.maintainers; [ AndersonTorres ]; diff --git a/pkgs/by-name/li/libeduvpn-common/package.nix b/pkgs/by-name/li/libeduvpn-common/package.nix index f9dce02b5d40a..0b052cd5c3d4f 100644 --- a/pkgs/by-name/li/libeduvpn-common/package.nix +++ b/pkgs/by-name/li/libeduvpn-common/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchurl +{ + lib, + buildGoModule, + fetchurl, }: buildGoModule rec { @@ -30,7 +31,10 @@ buildGoModule rec { changelog = "https://raw.githubusercontent.com/eduvpn/eduvpn-common/${version}/CHANGES.md"; description = "Code to be shared between eduVPN clients"; homepage = "https://github.com/eduvpn/eduvpn-common"; - maintainers = with maintainers; [ benneti jwijenbergh ]; + maintainers = with maintainers; [ + benneti + jwijenbergh + ]; license = licenses.mit; platforms = platforms.linux; }; diff --git a/pkgs/by-name/li/libee/package.nix b/pkgs/by-name/li/libee/package.nix index 246fb73090b9e..d3bdd2c69bdb4 100644 --- a/pkgs/by-name/li/libee/package.nix +++ b/pkgs/by-name/li/libee/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libestr }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libestr, +}: stdenv.mkDerivation rec { pname = "libee"; version = "0.4.1"; @@ -9,7 +15,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libestr]; + buildInputs = [ libestr ]; meta = { description = "Event Expression Library inspired by CEE"; diff --git a/pkgs/by-name/li/libei/package.nix b/pkgs/by-name/li/libei/package.nix index c2529e66c0bb4..654f9ba462554 100644 --- a/pkgs/by-name/li/libei/package.nix +++ b/pkgs/by-name/li/libei/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchFromGitLab -, libevdev -, libxkbcommon -, meson -, ninja -, pkg-config -, protobuf -, protobufc -, systemd -, buildPackages +{ + lib, + stdenv, + fetchFromGitHub, + fetchFromGitLab, + libevdev, + libxkbcommon, + meson, + ninja, + pkg-config, + protobuf, + protobufc, + systemd, + buildPackages, }: let munit = fetchFromGitHub { @@ -43,14 +44,16 @@ stdenv.mkDerivation rec { meson ninja pkg-config - (buildPackages.python3.withPackages (ps: with ps; [ - attrs - jinja2 - pytest - python-dbusmock - strenum - structlog - ])) + (buildPackages.python3.withPackages ( + ps: with ps; [ + attrs + jinja2 + pytest + python-dbusmock + strenum + structlog + ] + )) ]; postPatch = '' diff --git a/pkgs/by-name/li/libelf/package.nix b/pkgs/by-name/li/libelf/package.nix index fdfa4fda0def4..d9749b431b8ad 100644 --- a/pkgs/by-name/li/libelf/package.nix +++ b/pkgs/by-name/li/libelf/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv -, fetchurl, autoreconfHook, gettext, freebsd, netbsd +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gettext, + freebsd, + netbsd, }: stdenv.mkDerivation rec { @@ -29,27 +35,37 @@ stdenv.mkDerivation rec { doCheck = true; - preConfigure = if !stdenv.hostPlatform.useAndroidPrebuilt then null else '' - sed -i 's|DISTSUBDIRS = lib po|DISTSUBDIRS = lib|g' Makefile.in - sed -i 's|SUBDIRS = lib @POSUB@|SUBDIRS = lib|g' Makefile.in - ''; + preConfigure = + if !stdenv.hostPlatform.useAndroidPrebuilt then + null + else + '' + sed -i 's|DISTSUBDIRS = lib po|DISTSUBDIRS = lib|g' Makefile.in + sed -i 's|SUBDIRS = lib @POSUB@|SUBDIRS = lib|g' Makefile.in + ''; - configureFlags = [] - # Configure check for dynamic lib support is broken, see - # http://lists.uclibc.org/pipermail/uclibc-cvs/2005-August/019383.html + configureFlags = + [ ] + # Configure check for dynamic lib support is broken, see + # http://lists.uclibc.org/pipermail/uclibc-cvs/2005-August/019383.html ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "mr_cv_target_elf=yes" - # Libelf's custom NLS macros fail to determine the catalog file extension - # on Darwin, so disable NLS for now. + # Libelf's custom NLS macros fail to determine the catalog file extension + # on Darwin, so disable NLS for now. ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-nls"; strictDeps = true; nativeBuildInputs = - (if stdenv.hostPlatform.isFreeBSD then [ freebsd.gencat ] - else if stdenv.hostPlatform.isNetBSD then [ netbsd.gencat ] - else [ gettext ]) - # The provided `configure` script fails on clang 16 because some tests have a `main` - # returning an implicit `int`, which clang 16 treats as an error. Running `autoreconf` fixes - # the test and allows `configure` to detect clang properly. + ( + if stdenv.hostPlatform.isFreeBSD then + [ freebsd.gencat ] + else if stdenv.hostPlatform.isNetBSD then + [ netbsd.gencat ] + else + [ gettext ] + ) + # The provided `configure` script fails on clang 16 because some tests have a `main` + # returning an implicit `int`, which clang 16 treats as an error. Running `autoreconf` fixes + # the test and allows `configure` to detect clang properly. ++ [ autoreconfHook ]; meta = { diff --git a/pkgs/by-name/li/libelfin/package.nix b/pkgs/by-name/li/libelfin/package.nix index 8ff7d8c952373..663b5c3dd7f0f 100644 --- a/pkgs/by-name/li/libelfin/package.nix +++ b/pkgs/by-name/li/libelfin/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, substituteAll }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + substituteAll, +}: stdenv.mkDerivation rec { pname = "libelfin"; diff --git a/pkgs/by-name/li/libemf2svg/package.nix b/pkgs/by-name/li/libemf2svg/package.nix index 351d9345f3f78..b1ede82417442 100644 --- a/pkgs/by-name/li/libemf2svg/package.nix +++ b/pkgs/by-name/li/libemf2svg/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fontconfig -, freetype -, libpng +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fontconfig, + freetype, + libpng, }: stdenv.mkDerivation rec { @@ -19,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ fontconfig freetype libpng ]; + buildInputs = [ + fontconfig + freetype + libpng + ]; meta = with lib; { description = "Microsoft EMF to SVG conversion library"; diff --git a/pkgs/by-name/li/libepc/package.nix b/pkgs/by-name/li/libepc/package.nix index 3387e20ce6997..b9a94a544cab3 100644 --- a/pkgs/by-name/li/libepc/package.nix +++ b/pkgs/by-name/li/libepc/package.nix @@ -1,25 +1,30 @@ -{ stdenv -, lib -, fetchurl -, autoreconfHook -, gnome-common -, pkg-config -, intltool -, gtk-doc -, glib -, avahi -, gnutls -, libuuid -, libsoup_2_4 -, gtk3 -, gnome +{ + stdenv, + lib, + fetchurl, + autoreconfHook, + gnome-common, + pkg-config, + intltool, + gtk-doc, + glib, + avahi, + gnutls, + libuuid, + libsoup_2_4, + gtk3, + gnome, }: stdenv.mkDerivation (finalAttrs: { pname = "libepc"; version = "0.4.6"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/libepc/${lib.versions.majorMinor finalAttrs.version}/libepc-${finalAttrs.version}.tar.xz"; diff --git a/pkgs/by-name/li/libepubgen/package.nix b/pkgs/by-name/li/libepubgen/package.nix index ec0901ec43855..4f02f57598467 100644 --- a/pkgs/by-name/li/libepubgen/package.nix +++ b/pkgs/by-name/li/libepubgen/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchgit -, autoreconfHook -, pkg-config -, boost -, cppunit -, librevenge -, libxml2 +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + boost, + cppunit, + librevenge, + libxml2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/liberal-crime-squad/package.nix b/pkgs/by-name/li/liberal-crime-squad/package.nix index 47968c8c2ba47..4bcbc3083f756 100644 --- a/pkgs/by-name/li/liberal-crime-squad/package.nix +++ b/pkgs/by-name/li/liberal-crime-squad/package.nix @@ -1,4 +1,13 @@ -{ fetchFromGitHub, lib, stdenv, autoreconfHook, libiconv, ncurses, SDL2, SDL2_mixer }: +{ + fetchFromGitHub, + lib, + stdenv, + autoreconfHook, + libiconv, + ncurses, + SDL2, + SDL2_mixer, +}: stdenv.mkDerivation { version = "2016-07-06"; @@ -12,7 +21,12 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libiconv ncurses SDL2 SDL2_mixer ]; + buildInputs = [ + libiconv + ncurses + SDL2 + SDL2_mixer + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/liberastika/package.nix b/pkgs/by-name/li/liberastika/package.nix index 7c716c1a354b0..85ccb3c6b9fa8 100644 --- a/pkgs/by-name/li/liberastika/package.nix +++ b/pkgs/by-name/li/liberastika/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "liberastika"; diff --git a/pkgs/by-name/li/liberation-circuit/package.nix b/pkgs/by-name/li/liberation-circuit/package.nix index a9bceda06adb9..55083ad46f4f7 100644 --- a/pkgs/by-name/li/liberation-circuit/package.nix +++ b/pkgs/by-name/li/liberation-circuit/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, allegro5, libGL, wrapGAppsHook3 }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + allegro5, + libGL, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "liberation-circuit"; @@ -11,8 +19,14 @@ stdenv.mkDerivation rec { hash = "sha256-zIwjh4CBSmKz7pF7GM5af+VslWho5jHOLsulbW4C8TY="; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; - buildInputs = [ allegro5 libGL ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + allegro5 + libGL + ]; dontWrapGApps = true; diff --git a/pkgs/by-name/li/liberation-sans-narrow/package.nix b/pkgs/by-name/li/liberation-sans-narrow/package.nix index 281bfa4c42b0f..0fd45c6c500e0 100644 --- a/pkgs/by-name/li/liberation-sans-narrow/package.nix +++ b/pkgs/by-name/li/liberation-sans-narrow/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fontforge, python3Packages, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fontforge, + python3Packages, + python3, +}: stdenv.mkDerivation rec { pname = "liberation-sans-narrow"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "1qw554jbdnqkg6pjjl4cqkgsalq3398kzvww2naw30vykcz752bm"; }; - buildInputs = [ fontforge python3Packages.fonttools python3 ]; + buildInputs = [ + fontforge + python3Packages.fonttools + python3 + ]; installPhase = '' find . -name '*Narrow*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; diff --git a/pkgs/by-name/li/liberfa/package.nix b/pkgs/by-name/li/liberfa/package.nix index 612d5ec34b782..7a31b881b1e2a 100644 --- a/pkgs/by-name/li/liberfa/package.nix +++ b/pkgs/by-name/li/liberfa/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "erfa"; diff --git a/pkgs/by-name/li/liberio/package.nix b/pkgs/by-name/li/liberio/package.nix index f7e4fa6e73299..b6ddf988b36e9 100644 --- a/pkgs/by-name/li/liberio/package.nix +++ b/pkgs/by-name/li/liberio/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, systemd -, pkg-config +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + systemd, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libertine-g/package.nix b/pkgs/by-name/li/libertine-g/package.nix index 2f472e345c0fc..1608db181d9e9 100644 --- a/pkgs/by-name/li/libertine-g/package.nix +++ b/pkgs/by-name/li/libertine-g/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation { pname = "linux-libertine-g"; diff --git a/pkgs/by-name/li/libertine/package.nix b/pkgs/by-name/li/libertine/package.nix index e24096e74f4ef..79455a3f0dbef 100644 --- a/pkgs/by-name/li/libertine/package.nix +++ b/pkgs/by-name/li/libertine/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fontforge }: +{ + lib, + stdenv, + fetchurl, + fontforge, +}: stdenv.mkDerivation { pname = "linux-libertine"; diff --git a/pkgs/by-name/li/libertinus/package.nix b/pkgs/by-name/li/libertinus/package.nix index a9bdb0a2654fe..46f2f27567f86 100644 --- a/pkgs/by-name/li/libertinus/package.nix +++ b/pkgs/by-name/li/libertinus/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, zstd }: +{ + lib, + stdenvNoCC, + fetchurl, + zstd, +}: stdenvNoCC.mkDerivation rec { pname = "libertinus"; diff --git a/pkgs/by-name/li/libesmtp/package.nix b/pkgs/by-name/li/libesmtp/package.nix index 0fb8890cf129d..27c53f54b478c 100644 --- a/pkgs/by-name/li/libesmtp/package.nix +++ b/pkgs/by-name/li/libesmtp/package.nix @@ -1,10 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + openssl, +}: stdenv.mkDerivation rec { pname = "libESMTP"; version = "1.1.0"; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ openssl ]; src = fetchFromGitHub { @@ -26,4 +38,3 @@ stdenv.mkDerivation rec { license = licenses.lgpl21Plus; }; } - diff --git a/pkgs/by-name/li/libestr/package.nix b/pkgs/by-name/li/libestr/package.nix index 5630047eed7f1..4183c0e5e8154 100644 --- a/pkgs/by-name/li/libestr/package.nix +++ b/pkgs/by-name/li/libestr/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libestr"; diff --git a/pkgs/by-name/li/libetebase/package.nix b/pkgs/by-name/li/libetebase/package.nix index c76b5a2320f71..67ec18801a040 100644 --- a/pkgs/by-name/li/libetebase/package.nix +++ b/pkgs/by-name/li/libetebase/package.nix @@ -1,11 +1,12 @@ -{ rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, lib -, stdenv -, testers -, libetebase +{ + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + lib, + stdenv, + testers, + libetebase, }: rustPlatform.buildRustPackage rec { pname = "libetebase"; diff --git a/pkgs/by-name/li/libetpan/package.nix b/pkgs/by-name/li/libetpan/package.nix index 767b53c9d277c..e1612b75b231b 100644 --- a/pkgs/by-name/li/libetpan/package.nix +++ b/pkgs/by-name/li/libetpan/package.nix @@ -1,5 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch -, autoconf, automake, libtool, openssl, pkg-config +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoconf, + automake, + libtool, + openssl, + pkg-config, }: stdenv.mkDerivation rec { @@ -13,7 +21,10 @@ stdenv.mkDerivation rec { hash = "sha256-lukeWURNsRPTuFk2q2XVnwkKz5Y+PRiPba5GPQCw6jw="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = [ # The following patches are security and/or reliability fixes. @@ -84,7 +95,12 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoconf automake libtool pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + ]; buildInputs = [ openssl ]; diff --git a/pkgs/by-name/li/libev/package.nix b/pkgs/by-name/li/libev/package.nix index 32960de8919d7..017d113225595 100644 --- a/pkgs/by-name/li/libev/package.nix +++ b/pkgs/by-name/li/libev/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook -, # Note: -static hasn’t work on darwin - static ? with stdenv.hostPlatform; isStatic && !isDarwin +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + # Note: -static hasn’t work on darwin + static ? with stdenv.hostPlatform; isStatic && !isDarwin, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -10,7 +14,7 @@ stdenv.mkDerivation rec { pname = "libev"; - version="4.33"; + version = "4.33"; src = fetchurl { url = "http://dist.schmorp.de/libev/Attic/${pname}-${version}.tar.gz"; diff --git a/pkgs/by-name/li/libevdev/package.nix b/pkgs/by-name/li/libevdev/package.nix index 5138eeca4dda0..5d56ee62fe64d 100644 --- a/pkgs/by-name/li/libevdev/package.nix +++ b/pkgs/by-name/li/libevdev/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, python3 }: +{ + lib, + stdenv, + fetchurl, + python3, +}: stdenv.mkDerivation rec { pname = "libevdev"; diff --git a/pkgs/by-name/li/libevdevplus/package.nix b/pkgs/by-name/li/libevdevplus/package.nix index 11d644cd90dfd..da881c6d8bfab 100644 --- a/pkgs/by-name/li/libevdevplus/package.nix +++ b/pkgs/by-name/li/libevdevplus/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libevdevplus"; @@ -6,16 +12,19 @@ stdenv.mkDerivation rec { # adds missing cmake install directives # https://github.com/YukiWorkshop/libevdevPlus/pull/10 - patches = [ ./0001-Add-cmake-install-directives.patch]; + patches = [ ./0001-Add-cmake-install-directives.patch ]; - src = fetchFromGitHub { - owner = "YukiWorkshop"; - repo = "libevdevPlus"; - rev = "b4d4b3143056424a3da9f0516ca02a47209ef757"; + src = fetchFromGitHub { + owner = "YukiWorkshop"; + repo = "libevdevPlus"; + rev = "b4d4b3143056424a3da9f0516ca02a47209ef757"; sha256 = "09y65s16gch0w7fy1s9yjk9gz3bjzxix36h5wmwww6lkj2i1z3rj"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/by-name/li/libevent/package.nix b/pkgs/by-name/li/libevent/package.nix index ab443dfac80db..42c2d2fe120eb 100644 --- a/pkgs/by-name/li/libevent/package.nix +++ b/pkgs/by-name/li/libevent/package.nix @@ -1,9 +1,15 @@ -{ lib, stdenv, fetchurl, findutils, fixDarwinDylibNames -, updateAutotoolsGnuConfigScriptsHook -, sslSupport ? true, openssl -, fetchpatch +{ + lib, + stdenv, + fetchurl, + findutils, + fixDarwinDylibNames, + updateAutotoolsGnuConfigScriptsHook, + sslSupport ? true, + openssl, + fetchpatch, -, static ? stdenv.hostPlatform.isStatic + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -25,7 +31,10 @@ stdenv.mkDerivation rec { configureFlags = lib.flatten [ (lib.optional (!sslSupport) "--disable-openssl") - (lib.optionals static ["--disable-shared" "--with-pic"]) + (lib.optionals static [ + "--disable-shared" + "--with-pic" + ]) ]; preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' @@ -34,18 +43,19 @@ stdenv.mkDerivation rec { # libevent_openssl is moved into its own output, so that openssl isn't present # in the default closure. - outputs = [ "out" "dev" ] - ++ lib.optional sslSupport "openssl" - ; + outputs = [ + "out" + "dev" + ] ++ lib.optional sslSupport "openssl"; outputBin = "dev"; - propagatedBuildOutputs = [ "out" ] - ++ lib.optional sslSupport "openssl" - ; + propagatedBuildOutputs = [ "out" ] ++ lib.optional sslSupport "openssl"; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = lib.optional sslSupport openssl + buildInputs = + lib.optional sslSupport openssl ++ lib.optional stdenv.hostPlatform.isCygwin findutils; doCheck = false; # needs the net diff --git a/pkgs/by-name/li/libewf-legacy/package.nix b/pkgs/by-name/li/libewf-legacy/package.nix index fdd202f8c96db..4cb9f3c324bfe 100644 --- a/pkgs/by-name/li/libewf-legacy/package.nix +++ b/pkgs/by-name/li/libewf-legacy/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, stdenv -, zlib -, openssl -, libuuid -, pkg-config -, bzip2 +{ + lib, + fetchurl, + stdenv, + zlib, + openssl, + libuuid, + pkg-config, + bzip2, }: stdenv.mkDerivation (finalAttrs: { @@ -18,8 +19,11 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ zlib openssl libuuid ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ bzip2 ]; + buildInputs = [ + zlib + openssl + libuuid + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ bzip2 ]; meta = { description = "Legacy library for support of the Expert Witness Compression Format"; diff --git a/pkgs/by-name/li/libewf/package.nix b/pkgs/by-name/li/libewf/package.nix index 3bfd958bfd60e..977365863e2fb 100644 --- a/pkgs/by-name/li/libewf/package.nix +++ b/pkgs/by-name/li/libewf/package.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, zlib, openssl, libuuid, pkg-config, bzip2 }: +{ + fetchurl, + lib, + stdenv, + zlib, + openssl, + libuuid, + pkg-config, + bzip2, +}: stdenv.mkDerivation rec { version = "20231119"; @@ -10,8 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ zlib openssl libuuid ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ bzip2 ]; + buildInputs = [ + zlib + openssl + libuuid + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ bzip2 ]; # cannot run test program while cross compiling configureFlags = lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ @@ -22,7 +34,7 @@ stdenv.mkDerivation rec { description = "Library for support of the Expert Witness Compression Format"; homepage = "https://sourceforge.net/projects/libewf/"; license = lib.licenses.lgpl3; - maintainers = [ lib.maintainers.raskin ] ; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/li/libexecinfo/package.nix b/pkgs/by-name/li/libexecinfo/package.nix index 24fc1e6dc74ec..066a29a580bc2 100644 --- a/pkgs/by-name/li/libexecinfo/package.nix +++ b/pkgs/by-name/li/libexecinfo/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch -, enableStatic ? true -, enableShared ? !stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + fetchpatch, + enableStatic ? true, + enableShared ? !stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -26,23 +30,27 @@ stdenv.mkDerivation rec { ./30-linux-makefile.patch ]; - makeFlags = [ "CC:=$(CC)" "AR:=$(AR)" ]; + makeFlags = [ + "CC:=$(CC)" + "AR:=$(AR)" + ]; hardeningEnable = [ "stackprotector" ]; - buildFlags = - lib.optional enableStatic "static" - ++ lib.optional enableShared "dynamic"; + buildFlags = lib.optional enableStatic "static" ++ lib.optional enableShared "dynamic"; patchFlags = [ "-p0" ]; - installPhase = '' - install -Dm644 execinfo.h stacktraverse.h -t $out/include - '' + lib.optionalString enableShared '' - install -Dm755 libexecinfo.so.1 -t $out/lib - ln -s $out/lib/libexecinfo.so{.1,} - '' + lib.optionalString enableStatic '' - install -Dm755 libexecinfo.a -t $out/lib - ''; + installPhase = + '' + install -Dm644 execinfo.h stacktraverse.h -t $out/include + '' + + lib.optionalString enableShared '' + install -Dm755 libexecinfo.so.1 -t $out/lib + ln -s $out/lib/libexecinfo.so{.1,} + '' + + lib.optionalString enableStatic '' + install -Dm755 libexecinfo.a -t $out/lib + ''; meta = with lib; { description = "Quick-n-dirty BSD licensed clone of the GNU libc backtrace facility"; diff --git a/pkgs/by-name/li/libexif/package.nix b/pkgs/by-name/li/libexif/package.nix index 4130c54eba3d1..31fc243ca2dfc 100644 --- a/pkgs/by-name/li/libexif/package.nix +++ b/pkgs/by-name/li/libexif/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gettext }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gettext, +}: stdenv.mkDerivation rec { pname = "libexif"; @@ -7,11 +13,14 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = pname; repo = pname; - rev = "${pname}-${builtins.replaceStrings ["."] ["_"] version}-release"; + rev = "${pname}-${builtins.replaceStrings [ "." ] [ "_" ] version}-release"; sha256 = "sha256-Eqgnm31s8iPJdhTpk5HM89HSZTXTK+e7YZ/CCdbeJX4="; }; - nativeBuildInputs = [ autoreconfHook gettext ]; + nativeBuildInputs = [ + autoreconfHook + gettext + ]; meta = with lib; { homepage = "https://libexif.github.io/"; diff --git a/pkgs/by-name/li/libexosip/package.nix b/pkgs/by-name/li/libexosip/package.nix index 10d390bd678d3..5927101d0bcc4 100644 --- a/pkgs/by-name/li/libexosip/package.nix +++ b/pkgs/by-name/li/libexosip/package.nix @@ -1,16 +1,26 @@ -{ lib, stdenv, fetchurl, libosip, openssl, pkg-config }: +{ + lib, + stdenv, + fetchurl, + libosip, + openssl, + pkg-config, +}: stdenv.mkDerivation rec { - pname = "libexosip2"; - version = "5.3.0"; + pname = "libexosip2"; + version = "5.3.0"; - src = fetchurl { + src = fetchurl { url = "mirror://savannah/exosip/${pname}-${version}.tar.gz"; sha256 = "sha256-W3gjmGQx6lztyfCV1pZKzpZvCTsq59CwhAR4i/zrycI="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libosip openssl ]; + buildInputs = [ + libosip + openssl + ]; meta = with lib; { license = licenses.gpl2Plus; diff --git a/pkgs/by-name/li/libexsid/package.nix b/pkgs/by-name/li/libexsid/package.nix index 38cdfc84d4e48..e6bd0eb7997fc 100644 --- a/pkgs/by-name/li/libexsid/package.nix +++ b/pkgs/by-name/li/libexsid/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, docSupport ? true -, doxygen -, libftdi1 +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + docSupport ? true, + doxygen, + libftdi1, }: stdenv.mkDerivation rec { @@ -19,18 +20,18 @@ stdenv.mkDerivation rec { sha256 = "1qbiri549fma8c72nmj3cpz3sn1vc256kfafnygkmkzg7wdmgi7r"; }; - outputs = [ "out" ] - ++ lib.optional docSupport "doc"; + outputs = [ "out" ] ++ lib.optional docSupport "doc"; - nativeBuildInputs = [ autoreconfHook pkg-config ] - ++ lib.optional docSupport doxygen; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ] ++ lib.optional docSupport doxygen; buildInputs = [ libftdi1 ]; enableParallelBuilding = true; - installTargets = [ "install" ] - ++ lib.optional docSupport "doc"; + installTargets = [ "install" ] ++ lib.optional docSupport "doc"; postInstall = lib.optionalString docSupport '' mkdir -p $doc/share/libexsid/doc diff --git a/pkgs/by-name/li/libexttextcat/package.nix b/pkgs/by-name/li/libexttextcat/package.nix index 6ed3603dd184d..ba7b16d087306 100644 --- a/pkgs/by-name/li/libexttextcat/package.nix +++ b/pkgs/by-name/li/libexttextcat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libexttextcat"; diff --git a/pkgs/by-name/li/libf2c/package.nix b/pkgs/by-name/li/libf2c/package.nix index a2cb4d2bd2460..8ca63143545d8 100644 --- a/pkgs/by-name/li/libf2c/package.nix +++ b/pkgs/by-name/li/libf2c/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "libf2c"; @@ -15,7 +20,10 @@ stdenv.mkDerivation rec { unzip ${src} ''; - makeFlags = [ "-f" "makefile.u" ]; + makeFlags = [ + "-f" + "makefile.u" + ]; installPhase = '' mkdir -p $out/include $out/lib diff --git a/pkgs/by-name/li/libfabric/package.nix b/pkgs/by-name/li/libfabric/package.nix index 6fabadf5f1291..37dcb13d0c52d 100644 --- a/pkgs/by-name/li/libfabric/package.nix +++ b/pkgs/by-name/li/libfabric/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, enablePsm2 ? (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isLinux) -, libpsm2 -, enableOpx ? (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isLinux) -, libuuid -, numactl +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + enablePsm2 ? (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isLinux), + libpsm2, + enableOpx ? (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isLinux), + libuuid, + numactl, }: stdenv.mkDerivation rec { @@ -23,11 +24,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-s6e9UMCYqSuAvVvlF+SuduCA5UC43QEahUA8apubnOk="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - buildInputs = lib.optionals enableOpx [ libuuid numactl ] ++ lib.optionals enablePsm2 [ libpsm2 ]; + buildInputs = + lib.optionals enableOpx [ + libuuid + numactl + ] + ++ lib.optionals enablePsm2 [ libpsm2 ]; configureFlags = [ (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") @@ -37,7 +50,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://ofiwg.github.io/libfabric/"; description = "Open Fabric Interfaces"; - license = with licenses; [ gpl2 bsd2 ]; + license = with licenses; [ + gpl2 + bsd2 + ]; platforms = platforms.all; maintainers = [ maintainers.bzizou ]; }; diff --git a/pkgs/by-name/li/libfaketime/package.nix b/pkgs/by-name/li/libfaketime/package.nix index 2cb94d11fd670..9eba7b189c1f1 100644 --- a/pkgs/by-name/li/libfaketime/package.nix +++ b/pkgs/by-name/li/libfaketime/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + perl, + coreutils, +}: stdenv.mkDerivation rec { pname = "libfaketime"; @@ -11,22 +18,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-DYRuQmIhQu0CNEboBAtHOr/NnWxoXecuPMSR/UQ/VIQ="; }; - patches = [ - ./nix-store-date.patch - (fetchpatch { - name = "0001-libfaketime.c-wrap-timespec_get-in-TIME_UTC-macro.patch"; - url = "https://github.com/wolfcw/libfaketime/commit/e0e6b79568d36a8fd2b3c41f7214769221182128.patch"; - sha256 = "sha256-KwwP76v0DXNW73p/YBvwUOPdKMAcVdbQSKexD/uFOYo="; - }) - (fetchpatch { - name = "LFS64.patch"; - url = "https://github.com/wolfcw/libfaketime/commit/f32986867addc9d22b0fab29c1c927f079d44ac1.patch"; - hash = "sha256-fIXuxxcV9J2IcgwcwSrMo4maObkH9WYv1DC/wdtbq/g="; - }) - ] ++ (lib.optionals stdenv.cc.isClang [ - # https://github.com/wolfcw/libfaketime/issues/277 - ./0001-Remove-unsupported-clang-flags.patch - ]); + patches = + [ + ./nix-store-date.patch + (fetchpatch { + name = "0001-libfaketime.c-wrap-timespec_get-in-TIME_UTC-macro.patch"; + url = "https://github.com/wolfcw/libfaketime/commit/e0e6b79568d36a8fd2b3c41f7214769221182128.patch"; + sha256 = "sha256-KwwP76v0DXNW73p/YBvwUOPdKMAcVdbQSKexD/uFOYo="; + }) + (fetchpatch { + name = "LFS64.patch"; + url = "https://github.com/wolfcw/libfaketime/commit/f32986867addc9d22b0fab29c1c927f079d44ac1.patch"; + hash = "sha256-fIXuxxcV9J2IcgwcwSrMo4maObkH9WYv1DC/wdtbq/g="; + }) + ] + ++ (lib.optionals stdenv.cc.isClang [ + # https://github.com/wolfcw/libfaketime/issues/277 + ./0001-Remove-unsupported-clang-flags.patch + ]); postPatch = '' patchShebangs test src diff --git a/pkgs/by-name/li/libfann/package.nix b/pkgs/by-name/li/libfann/package.nix index 590755c3a0fa1..2cccdac05c1d9 100644 --- a/pkgs/by-name/li/libfann/package.nix +++ b/pkgs/by-name/li/libfann/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libfann"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = { homepage = "http://leenissen.dk/fann/wp/"; diff --git a/pkgs/by-name/li/libff/package.nix b/pkgs/by-name/li/libff/package.nix index 5277337500794..3a48a3145a44e 100644 --- a/pkgs/by-name/li/libff/package.nix +++ b/pkgs/by-name/li/libff/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, gmp, openssl, pkg-config -, enableStatic ? stdenv.hostPlatform.isStatic }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + gmp, + openssl, + pkg-config, + enableStatic ? stdenv.hostPlatform.isStatic, +}: stdenv.mkDerivation rec { pname = "libff"; @@ -13,15 +22,26 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - cmakeFlags = [ "-DWITH_PROCPS=Off" ] - ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-DCURVE=ALT_BN128" "-DUSE_ASM=OFF" ]; + cmakeFlags = + [ "-DWITH_PROCPS=Off" ] + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + "-DCURVE=ALT_BN128" + "-DUSE_ASM=OFF" + ]; postPatch = lib.optionalString (!enableStatic) '' substituteInPlace libff/CMakeLists.txt --replace "STATIC" "SHARED" ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ boost gmp openssl ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + boost + gmp + openssl + ]; meta = with lib; { description = "C++ library for Finite Fields and Elliptic Curves"; diff --git a/pkgs/by-name/li/libfido2/package.nix b/pkgs/by-name/li/libfido2/package.nix index 1a68b5eb6eb12..f8e75b6acb8b1 100644 --- a/pkgs/by-name/li/libfido2/package.nix +++ b/pkgs/by-name/li/libfido2/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, hidapi -, libcbor -, openssl -, udev -, zlib -, withPcsclite ? true -, pcsclite +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + hidapi, + libcbor, + openssl, + udev, + zlib, + withPcsclite ? true, + pcsclite, }: stdenv.mkDerivation rec { @@ -22,28 +23,43 @@ stdenv.mkDerivation rec { hash = "sha256-q6qxMY0h0mLs5Bb7inEy+pN0vaifb6UrhqmKL1cSth4="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ libcbor zlib ] + buildInputs = + [ + libcbor + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ hidapi ] ++ lib.optionals stdenv.hostPlatform.isLinux [ udev ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withPcsclite) [ pcsclite ]; propagatedBuildInputs = [ openssl ]; - outputs = [ "out" "dev" "man" ]; - - cmakeFlags = [ - "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" - "-DCMAKE_INSTALL_LIBDIR=lib" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DUSE_HIDAPI=1" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-DNFC_LINUX=1" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withPcsclite) [ - "-DUSE_PCSC=1" + outputs = [ + "out" + "dev" + "man" ]; + cmakeFlags = + [ + "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" + "-DCMAKE_INSTALL_LIBDIR=lib" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DUSE_HIDAPI=1" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-DNFC_LINUX=1" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && withPcsclite) [ + "-DUSE_PCSC=1" + ]; + # causes possible redefinition of _FORTIFY_SOURCE? hardeningDisable = [ "fortify3" ]; diff --git a/pkgs/by-name/li/libfishsound/package.nix b/pkgs/by-name/li/libfishsound/package.nix index 2105f2cc0f96b..0c5ea9c4c023a 100644 --- a/pkgs/by-name/li/libfishsound/package.nix +++ b/pkgs/by-name/li/libfishsound/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libvorbis, speex, flac, pkg-config }: +{ + lib, + stdenv, + fetchurl, + libvorbis, + speex, + flac, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libfishsound"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "1iz7mn6hw2wg8ljaw74f4g2zdj68ib88x4vjxxg3gjgc5z75f2rf"; }; - propagatedBuildInputs = [ libvorbis speex flac ]; + propagatedBuildInputs = [ + libvorbis + speex + flac + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/li/libfixposix/package.nix b/pkgs/by-name/li/libfixposix/package.nix index 3eb1dceffdef4..db66032af7e80 100644 --- a/pkgs/by-name/li/libfixposix/package.nix +++ b/pkgs/by-name/li/libfixposix/package.nix @@ -1,8 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, getconf }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + getconf, +}: stdenv.mkDerivation rec { pname = "libfixposix"; - version="0.5.1"; + version = "0.5.1"; src = fetchFromGitHub { owner = "sionescu"; @@ -11,13 +18,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-5qA6ytbqE+/05XQGxP9/4vEs9gFcuI3k7eJJYucW7fM="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]; meta = with lib; { homepage = "https://github.com/sionescu/libfixposix"; description = "Thin wrapper over POSIX syscalls and some replacement functionality"; license = licenses.boost; - maintainers = with maintainers; [ orivej raskin ]; + maintainers = with maintainers; [ + orivej + raskin + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/li/libfm/package.nix b/pkgs/by-name/li/libfm/package.nix index ff08294bdb295..8ce1a0b2ccfeb 100644 --- a/pkgs/by-name/li/libfm/package.nix +++ b/pkgs/by-name/li/libfm/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl -, glib -, intltool -, menu-cache -, pango -, pkg-config -, vala -, extraOnly ? false -, withGtk3 ? false, gtk2, gtk3 +{ + lib, + stdenv, + fetchurl, + glib, + intltool, + menu-cache, + pango, + pkg-config, + vala, + extraOnly ? false, + withGtk3 ? false, + gtk2, + gtk3, }: let - gtk = if withGtk3 then gtk3 else gtk2; - inherit (lib) optional optionalString; + gtk = if withGtk3 then gtk3 else gtk2; + inherit (lib) optional optionalString; in stdenv.mkDerivation rec { - pname = if extraOnly - then "libfm-extra" - else "libfm"; + pname = if extraOnly then "libfm-extra" else "libfm"; version = "1.3.2"; src = fetchurl { @@ -26,19 +27,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-pQQmMDBM+OXYz/nVZca9VG8ii0jJYBU+02ajTofK0eU="; }; - nativeBuildInputs = [ vala pkg-config intltool ]; - buildInputs = [ glib gtk pango ] - ++ optional (!extraOnly) menu-cache; - - configureFlags = [ "--sysconfdir=/etc" ] - ++ optional extraOnly "--with-extra-only" - ++ optional withGtk3 "--with-gtk=3"; + nativeBuildInputs = [ + vala + pkg-config + intltool + ]; + buildInputs = [ + glib + gtk + pango + ] ++ optional (!extraOnly) menu-cache; + + configureFlags = + [ "--sysconfdir=/etc" ] + ++ optional extraOnly "--with-extra-only" + ++ optional withGtk3 "--with-gtk=3"; installFlags = [ "sysconfdir=${placeholder "out"}/etc" ]; # libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm postInstall = optionalString (!extraOnly) '' - rm $out/lib/libfm-extra.so $out/lib/libfm-extra.so.* $out/lib/libfm-extra.la $out/lib/pkgconfig/libfm-extra.pc + rm $out/lib/libfm-extra.so $out/lib/libfm-extra.so.* $out/lib/libfm-extra.la $out/lib/pkgconfig/libfm-extra.pc ''; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libfprint-2-tod1-elan/package.nix b/pkgs/by-name/li/libfprint-2-tod1-elan/package.nix index 3e7253a40175a..30ca7275d68fc 100644 --- a/pkgs/by-name/li/libfprint-2-tod1-elan/package.nix +++ b/pkgs/by-name/li/libfprint-2-tod1-elan/package.nix @@ -1,11 +1,12 @@ -{ stdenvNoCC -, lib -, fetchzip -, libfprint-tod -, openssl -, gusb -, glib -, autoPatchelfHook +{ + stdenvNoCC, + lib, + fetchzip, + libfprint-tod, + openssl, + gusb, + glib, + autoPatchelfHook, }: stdenvNoCC.mkDerivation { @@ -23,7 +24,7 @@ stdenvNoCC.mkDerivation { ''; }; - nativeBuildInputs = [ autoPatchelfHook]; + nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ libfprint-tod diff --git a/pkgs/by-name/li/libfprint-2-tod1-goodix-550a/package.nix b/pkgs/by-name/li/libfprint-2-tod1-goodix-550a/package.nix index 16626fe0e227f..f597fd7f89f2c 100644 --- a/pkgs/by-name/li/libfprint-2-tod1-goodix-550a/package.nix +++ b/pkgs/by-name/li/libfprint-2-tod1-goodix-550a/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchzip, unzip, libfprint-tod }: +{ + stdenv, + lib, + fetchzip, + unzip, + libfprint-tod, +}: stdenv.mkDerivation { pname = "libfprint-2-tod1-goodix-550a"; diff --git a/pkgs/by-name/li/libfprint-2-tod1-goodix/package.nix b/pkgs/by-name/li/libfprint-2-tod1-goodix/package.nix index c7710ce1d1991..f0900f7e5e3c5 100644 --- a/pkgs/by-name/li/libfprint-2-tod1-goodix/package.nix +++ b/pkgs/by-name/li/libfprint-2-tod1-goodix/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchgit, libfprint-tod }: +{ + stdenv, + lib, + fetchgit, + libfprint-tod, +}: stdenv.mkDerivation { pname = "libfprint-2-tod1-goodix"; diff --git a/pkgs/by-name/li/libfprint-2-tod1-vfs0090/package.nix b/pkgs/by-name/li/libfprint-2-tod1-vfs0090/package.nix index e40fa4c3df76f..7d0d006dbb4c5 100644 --- a/pkgs/by-name/li/libfprint-2-tod1-vfs0090/package.nix +++ b/pkgs/by-name/li/libfprint-2-tod1-vfs0090/package.nix @@ -1,4 +1,19 @@ -{ stdenv, lib, fetchFromGitLab, pkg-config, libfprint, libfprint-tod, gusb, udev, nss, openssl, meson, pixman, ninja, glib }: +{ + stdenv, + lib, + fetchFromGitLab, + pkg-config, + libfprint, + libfprint-tod, + gusb, + udev, + nss, + openssl, + meson, + pixman, + ninja, + glib, +}: stdenv.mkDerivation { pname = "libfprint-2-tod1-vfs0090"; version = "0.8.5"; @@ -18,8 +33,21 @@ stdenv.mkDerivation { ./0002-vfs0090-add-missing-linux-limits.h-include.patch ]; - nativeBuildInputs = [ pkg-config meson ninja ]; - buildInputs = [ libfprint libfprint-tod glib gusb udev nss openssl pixman ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; + buildInputs = [ + libfprint + libfprint-tod + glib + gusb + udev + nss + openssl + pixman + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/li/libfprint-tod/package.nix b/pkgs/by-name/li/libfprint-tod/package.nix index 538df33ff2814..30f2b91864d7d 100644 --- a/pkgs/by-name/li/libfprint-tod/package.nix +++ b/pkgs/by-name/li/libfprint-tod/package.nix @@ -1,42 +1,49 @@ -{ lib -, libfprint -, fetchFromGitLab +{ + lib, + libfprint, + fetchFromGitLab, }: # for the curious, "tod" means "Touch OEM Drivers" meaning it can load # external .so's. -libfprint.overrideAttrs ({ postPatch ? "", mesonFlags ? [], ... }: let - version = "1.90.7+git20210222+tod1"; -in { - pname = "libfprint-tod"; - inherit version; +libfprint.overrideAttrs ( + { + postPatch ? "", + mesonFlags ? [ ], + ... + }: + let + version = "1.90.7+git20210222+tod1"; + in + { + pname = "libfprint-tod"; + inherit version; - src = fetchFromGitLab { - domain = "gitlab.freedesktop.org"; - owner = "3v1n0"; - repo = "libfprint"; - rev = "v${version}"; - sha256 = "0cj7iy5799pchyzqqncpkhibkq012g3bdpn18pfb19nm43svhn4j"; - }; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "3v1n0"; + repo = "libfprint"; + rev = "v${version}"; + sha256 = "0cj7iy5799pchyzqqncpkhibkq012g3bdpn18pfb19nm43svhn4j"; + }; - mesonFlags = [ - # Include virtual drivers for fprintd tests - "-Ddrivers=all" - "-Dudev_hwdb_dir=${placeholder "out"}/lib/udev/hwdb.d" - ]; + mesonFlags = [ + # Include virtual drivers for fprintd tests + "-Ddrivers=all" + "-Dudev_hwdb_dir=${placeholder "out"}/lib/udev/hwdb.d" + ]; + postPatch = '' + ${postPatch} + patchShebangs ./tests/*.py ./tests/*.sh + ''; - postPatch = '' - ${postPatch} - patchShebangs ./tests/*.py ./tests/*.sh - ''; - - - meta = with lib; { - homepage = "https://gitlab.freedesktop.org/3v1n0/libfprint"; - description = "Library designed to make it easy to add support for consumer fingerprint readers, with support for loaded drivers"; - license = licenses.lgpl21; - platforms = platforms.linux; - maintainers = with maintainers; [ grahamc ]; - }; -}) + meta = with lib; { + homepage = "https://gitlab.freedesktop.org/3v1n0/libfprint"; + description = "Library designed to make it easy to add support for consumer fingerprint readers, with support for loaded drivers"; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = with maintainers; [ grahamc ]; + }; + } +) diff --git a/pkgs/by-name/li/libfpx/package.nix b/pkgs/by-name/li/libfpx/package.nix index 82785a4d0fb8b..08851aa477590 100644 --- a/pkgs/by-name/li/libfpx/package.nix +++ b/pkgs/by-name/li/libfpx/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "libfpx"; diff --git a/pkgs/by-name/li/libfreeaptx/package.nix b/pkgs/by-name/li/libfreeaptx/package.nix index 7a59cde8433e7..3c7291f060e72 100644 --- a/pkgs/by-name/li/libfreeaptx/package.nix +++ b/pkgs/by-name/li/libfreeaptx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libfreeaptx"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-eEUhOrKqb2hHWanY+knpY9FBEnjkkFTB+x6BZgMBpbo="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Makefile \ diff --git a/pkgs/by-name/li/libfsm/package.nix b/pkgs/by-name/li/libfsm/package.nix index 9840b875f331c..940e6ac38ffc7 100644 --- a/pkgs/by-name/li/libfsm/package.nix +++ b/pkgs/by-name/li/libfsm/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, bmake -, docbook_xsl -, libxslt +{ + lib, + stdenv, + fetchFromGitHub, + bmake, + docbook_xsl, + libxslt, }: stdenv.mkDerivation rec { @@ -11,10 +12,10 @@ stdenv.mkDerivation rec { version = "0.1pre2987_${builtins.substring 0 8 src.rev}"; src = fetchFromGitHub { - owner = "katef"; - repo = pname; - rev = "087e3389ad2cd5e5c40caeb40387e632567d7258"; - hash = "sha256-XWrZxnRbMB609l+sYFf8VsXy3NxqBsBPUrHgKLIyu/I="; + owner = "katef"; + repo = pname; + rev = "087e3389ad2cd5e5c40caeb40387e632567d7258"; + hash = "sha256-XWrZxnRbMB609l+sYFf8VsXy3NxqBsBPUrHgKLIyu/I="; fetchSubmodules = true; }; @@ -31,7 +32,10 @@ stdenv.mkDerivation rec { # if we use stdenv vs clangStdenv, we don't know which, and CC=cc in all # cases.) it's unclear exactly what should be done if we want those flags, # but the defaults work fine. - makeFlags = [ "-r" "PREFIX=$(out)" ]; + makeFlags = [ + "-r" + "PREFIX=$(out)" + ]; # fix up multi-output install. we also have to fix the pkg-config libdir # file; it uses prefix=$out; libdir=${prefix}/lib, which is wrong in @@ -50,13 +54,17 @@ stdenv.mkDerivation rec { done ''; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; meta = with lib; { description = "DFA regular expression library & friends"; - homepage = "https://github.com/katef/libfsm"; - license = licenses.bsd2; - platforms = platforms.unix; + homepage = "https://github.com/katef/libfsm"; + license = licenses.bsd2; + platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/li/libfyaml/package.nix b/pkgs/by-name/li/libfyaml/package.nix index 40e7ab53240ed..0e9e5c665a959 100644 --- a/pkgs/by-name/li/libfyaml/package.nix +++ b/pkgs/by-name/li/libfyaml/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "libfyaml"; @@ -11,9 +18,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Id5pdFzjA9q67okfESO3LZH8jIz93mVgIEEuBbPjuGI="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - - outputs = [ "bin" "dev" "out" "man" ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + outputs = [ + "bin" + "dev" + "out" + "man" + ]; configureFlags = [ "--disable-network" ]; diff --git a/pkgs/by-name/li/libgadu/package.nix b/pkgs/by-name/li/libgadu/package.nix index 65f8b26c5a378..32cb229b441b6 100644 --- a/pkgs/by-name/li/libgadu/package.nix +++ b/pkgs/by-name/li/libgadu/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, zlib, protobufc, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + protobufc, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libgadu"; diff --git a/pkgs/by-name/li/libgaminggear/package.nix b/pkgs/by-name/li/libgaminggear/package.nix index c90d47dff5024..46daaf734fb68 100644 --- a/pkgs/by-name/li/libgaminggear/package.nix +++ b/pkgs/by-name/li/libgaminggear/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, gettext -, gtk2, libcanberra, libnotify, pcre, sqlite, xorg -, harfbuzz +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + gettext, + gtk2, + libcanberra, + libnotify, + pcre, + sqlite, + xorg, + harfbuzz, }: stdenv.mkDerivation rec { @@ -12,12 +23,26 @@ stdenv.mkDerivation rec { sha256 = "0jf5i1iv8j842imgiixbhwcr6qcwa93m27lzr6gb01ri5v35kggz"; }; - outputs = [ "dev" "out" "bin" ]; + outputs = [ + "dev" + "out" + "bin" + ]; - nativeBuildInputs = [ cmake pkg-config gettext ]; + nativeBuildInputs = [ + cmake + pkg-config + gettext + ]; propagatedBuildInputs = [ - gtk2 libcanberra libnotify pcre sqlite xorg.libXdmcp xorg.libpthreadstubs + gtk2 + libcanberra + libnotify + pcre + sqlite + xorg.libXdmcp + xorg.libpthreadstubs ]; cmakeFlags = [ diff --git a/pkgs/by-name/li/libgbinder/package.nix b/pkgs/by-name/li/libgbinder/package.nix index 0167dee157ae5..dbad66ae3c285 100644 --- a/pkgs/by-name/li/libgbinder/package.nix +++ b/pkgs/by-name/li/libgbinder/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, glib, libglibutil }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + glib, + libglibutil, +}: stdenv.mkDerivation rec { pname = "libgbinder"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-CnoxWzouOX8OLzJx3nVl0u2L8fObESzj4Q0Z1KH7Tg4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config @@ -35,7 +45,10 @@ stdenv.mkDerivation rec { "INSTALL_PKGCONFIG_DIR=$(dev)/lib/pkgconfig" ]; - installTargets = [ "install" "install-dev" ]; + installTargets = [ + "install" + "install-dev" + ]; postInstall = '' sed -i -e "s@includedir=/usr@includedir=$dev@g" $dev/lib/pkgconfig/$pname.pc diff --git a/pkgs/by-name/li/libgdamm/package.nix b/pkgs/by-name/li/libgdamm/package.nix index 34735e644e436..074a8167e9a07 100644 --- a/pkgs/by-name/li/libgdamm/package.nix +++ b/pkgs/by-name/li/libgdamm/package.nix @@ -1,16 +1,29 @@ -{ lib, stdenv, fetchurl, pkg-config, glibmm, libgda, libxml2, gnome -, mysqlSupport ? false -, postgresSupport ? false }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glibmm, + libgda, + libxml2, + gnome, + mysqlSupport ? false, + postgresSupport ? false, +}: let gda = libgda.override { inherit mysqlSupport postgresSupport; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "libgdamm"; version = "4.99.11"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -18,7 +31,10 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glibmm libxml2 ]; + buildInputs = [ + glibmm + libxml2 + ]; propagatedBuildInputs = [ gda ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libgdata/package.nix b/pkgs/by-name/li/libgdata/package.nix index ed706ee9b78c0..b3ce0ce8aab66 100644 --- a/pkgs/by-name/li/libgdata/package.nix +++ b/pkgs/by-name/li/libgdata/package.nix @@ -1,29 +1,35 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, meson -, ninja -, nixosTests -, vala -, gettext -, libxml2 -, glib -, json-glib -, gcr -, gnome-online-accounts -, gobject-introspection -, gnome -, p11-kit -, openssl -, uhttpmock -, libsoup_2_4 +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + nixosTests, + vala, + gettext, + libxml2, + glib, + json-glib, + gcr, + gnome-online-accounts, + gobject-introspection, + gnome, + p11-kit, + openssl, + uhttpmock, + libsoup_2_4, }: stdenv.mkDerivation rec { pname = "libgdata"; version = "0.18.1"; - outputs = [ "out" "dev" "installedTests" ]; + outputs = [ + "out" + "dev" + "installedTests" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/li/libgedit-amtk/package.nix b/pkgs/by-name/li/libgedit-amtk/package.nix index 00891ba921a59..73d3adee7a315 100644 --- a/pkgs/by-name/li/libgedit-amtk/package.nix +++ b/pkgs/by-name/li/libgedit-amtk/package.nix @@ -1,25 +1,30 @@ -{ stdenv -, lib -, fetchFromGitLab -, glib -, gtk3 -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, gitUpdater -, dbus -, xvfb-run +{ + stdenv, + lib, + fetchFromGitLab, + glib, + gtk3, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, + gitUpdater, + dbus, + xvfb-run, }: stdenv.mkDerivation rec { pname = "libgedit-amtk"; version = "5.9.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -31,16 +36,18 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - gtk-doc - docbook-xsl-nons - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + gtk-doc + docbook-xsl-nons + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; propagatedBuildInputs = [ # Required by libgedit-amtk-5.pc @@ -70,7 +77,10 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.gnome.org/World/gedit/libgedit-amtk"; changelog = "https://gitlab.gnome.org/World/gedit/libgedit-amtk/-/blob/${version}/NEWS?ref_type=tags"; description = "Actions, Menus and Toolbars Kit for GTK applications"; - maintainers = with maintainers; [ manveru bobby285271 ]; + maintainers = with maintainers; [ + manveru + bobby285271 + ]; license = licenses.lgpl21Plus; platforms = platforms.linux; }; diff --git a/pkgs/by-name/li/libgedit-gfls/package.nix b/pkgs/by-name/li/libgedit-gfls/package.nix index ee6ce5df0eaf6..e1572fed66a05 100644 --- a/pkgs/by-name/li/libgedit-gfls/package.nix +++ b/pkgs/by-name/li/libgedit-gfls/package.nix @@ -1,22 +1,27 @@ -{ stdenv -, lib -, fetchFromGitLab -, docbook-xsl-nons -, gobject-introspection -, gtk-doc -, meson -, ninja -, pkg-config -, mesonEmulatorHook -, gtk3 -, glib +{ + stdenv, + lib, + fetchFromGitLab, + docbook-xsl-nons, + gobject-introspection, + gtk-doc, + meson, + ninja, + pkg-config, + mesonEmulatorHook, + gtk3, + glib, }: stdenv.mkDerivation (finalAttrs: { pname = "libgedit-gfls"; version = "0.2.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -27,16 +32,18 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-kMkqEly8RDc5eKqUupQD4tkVIXxL1rt4e/OCAPoutIg="; }; - nativeBuildInputs = [ - docbook-xsl-nons - gobject-introspection - gtk-doc - meson - ninja - pkg-config - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + docbook-xsl-nons + gobject-introspection + gtk-doc + meson + ninja + pkg-config + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ gtk3 diff --git a/pkgs/by-name/li/libgee/package.nix b/pkgs/by-name/li/libgee/package.nix index 60696e3822670..ef7856de5efab 100644 --- a/pkgs/by-name/li/libgee/package.nix +++ b/pkgs/by-name/li/libgee/package.nix @@ -1,19 +1,23 @@ -{ stdenv -, lib -, fetchurl -, autoconf -, vala -, pkg-config -, glib -, gobject-introspection -, gnome +{ + stdenv, + lib, + fetchurl, + autoconf, + vala, + pkg-config, + glib, + gobject-introspection, + gnome, }: stdenv.mkDerivation (finalAttrs: { pname = "libgee"; version = "0.20.6"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/libgee/${lib.versions.majorMinor finalAttrs.version}/libgee-${finalAttrs.version}.tar.xz"; @@ -33,13 +37,15 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; - env = { - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0"; - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; - } // lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; - }; + env = + { + NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0"; + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; + } + // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/li/libgen-cli/package.nix b/pkgs/by-name/li/libgen-cli/package.nix index 45192447bdca7..b296e9e140a22 100644 --- a/pkgs/by-name/li/libgen-cli/package.nix +++ b/pkgs/by-name/li/libgen-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "libgen-cli"; @@ -19,7 +24,10 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installShellCompletion --cmd libgen-cli \ @@ -30,8 +38,7 @@ buildGoModule rec { meta = with lib; { homepage = "https://github.com/ciehanski/libgen-cli"; - description = - "A CLI tool used to access the Library Genesis dataset; written in Go"; + description = "A CLI tool used to access the Library Genesis dataset; written in Go"; longDescription = '' libgen-cli is a command line interface application which allows users to quickly query the Library Genesis dataset and download any of its diff --git a/pkgs/by-name/li/libgeotiff/package.nix b/pkgs/by-name/li/libgeotiff/package.nix index 37e726fa23bb9..14c3204dcdf54 100644 --- a/pkgs/by-name/li/libgeotiff/package.nix +++ b/pkgs/by-name/li/libgeotiff/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libjpeg -, libtiff -, proj -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libjpeg, + libtiff, + proj, + zlib, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { hash = "sha256-FUvWZR5BrGEMnApxCBQBwmmi9NU7Tx6Ziq3mbIxjqfc="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; sourceRoot = "${src.name}/libgeotiff"; @@ -34,7 +38,10 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ libtiff proj ]; + buildInputs = [ + libtiff + proj + ]; #hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/li/libgepub/package.nix b/pkgs/by-name/li/libgepub/package.nix index fbf9d28ce93e9..9d4e8ef50097c 100644 --- a/pkgs/by-name/li/libgepub/package.nix +++ b/pkgs/by-name/li/libgepub/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, glib -, gobject-introspection -, gnome -, webkitgtk_4_1 -, libsoup_3 -, libxml2 -, libarchive +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + glib, + gobject-introspection, + gnome, + webkitgtk_4_1, + libsoup_3, + libxml2, + libarchive, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libgestures/package.nix b/pkgs/by-name/li/libgestures/package.nix index 1454c0c78a502..144a457c1987a 100644 --- a/pkgs/by-name/li/libgestures/package.nix +++ b/pkgs/by-name/li/libgestures/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, jsoncpp }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + jsoncpp, +}: stdenv.mkDerivation rec { pname = "libgestures"; @@ -18,10 +25,15 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib jsoncpp ]; + buildInputs = [ + glib + jsoncpp + ]; - - makeFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ]; + makeFlags = [ + "DESTDIR=$(out)" + "LIBDIR=/lib" + ]; meta = with lib; { description = "ChromiumOS libgestures modified to compile for Linux"; diff --git a/pkgs/by-name/li/libgff/package.nix b/pkgs/by-name/li/libgff/package.nix index fc81cd0927776..0f0e7d808927d 100644 --- a/pkgs/by-name/li/libgff/package.nix +++ b/pkgs/by-name/li/libgff/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -21,8 +22,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Lightweight GTF/GFF parsers exposing a C++ interface"; homepage = "https://github.com/COMBINE-lab/libgff"; downloadPage = "https://github.com/COMBINE-lab/libgff/releases"; - changelog = "https://github.com/COMBINE-lab/libgff/releases/tag/" + - "v${finalAttrs.version}"; + changelog = "https://github.com/COMBINE-lab/libgff/releases/tag/" + "v${finalAttrs.version}"; license = lib.licenses.boost; platforms = lib.platforms.all; maintainers = [ lib.maintainers.kupac ]; diff --git a/pkgs/by-name/li/libgflow/package.nix b/pkgs/by-name/li/libgflow/package.nix index 007afa6ef5bf2..cc0470babd9cd 100644 --- a/pkgs/by-name/li/libgflow/package.nix +++ b/pkgs/by-name/li/libgflow/package.nix @@ -1,10 +1,25 @@ -{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3}: +{ + stdenv, + lib, + vala, + meson, + ninja, + pkg-config, + fetchFromGitea, + gobject-introspection, + glib, + gtk3, +}: stdenv.mkDerivation rec { pname = "libgflow"; version = "1.0.4"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "devdoc"; # demo app src = fetchFromGitea { diff --git a/pkgs/by-name/li/libgig/package.nix b/pkgs/by-name/li/libgig/package.nix index aa710a9161253..b292d314c1954 100644 --- a/pkgs/by-name/li/libgig/package.nix +++ b/pkgs/by-name/li/libgig/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libsndfile, libtool, pkg-config, libuuid }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + libsndfile, + libtool, + pkg-config, + libuuid, +}: stdenv.mkDerivation rec { pname = "libgig"; @@ -9,9 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-/cie+rH5BhKObFRymWdXfo0EYgFwGLwSVRJX313+OqQ="; }; - nativeBuildInputs = [ autoconf automake libtool pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + ]; - buildInputs = [ libsndfile libuuid ]; + buildInputs = [ + libsndfile + libuuid + ]; preConfigure = "make -f Makefile.svn"; diff --git a/pkgs/by-name/li/libgit2-glib/package.nix b/pkgs/by-name/li/libgit2-glib/package.nix index abf15fdec4d87..aad8fec365cde 100644 --- a/pkgs/by-name/li/libgit2-glib/package.nix +++ b/pkgs/by-name/li/libgit2-glib/package.nix @@ -1,26 +1,31 @@ -{ stdenv -, lib -, fetchurl -, gnome -, meson -, ninja -, pkg-config -, vala -, libssh2 -, gtk-doc -, gobject-introspection -, gi-docgen -, libgit2 -, glib -, python3 -, fetchpatch +{ + stdenv, + lib, + fetchurl, + gnome, + meson, + ninja, + pkg-config, + vala, + libssh2, + gtk-doc, + gobject-introspection, + gi-docgen, + libgit2, + glib, + python3, + fetchpatch, }: stdenv.mkDerivation rec { pname = "libgit2-glib"; version = "1.2.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/li/libglibutil/package.nix b/pkgs/by-name/li/libglibutil/package.nix index c70dbc649c041..132106b30250f 100644 --- a/pkgs/by-name/li/libglibutil/package.nix +++ b/pkgs/by-name/li/libglibutil/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, glib }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "libglibutil"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-UJsKjvigZuwDL4DyjUE6fXEecgoHrTE+5pO0hVyCwP4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config @@ -32,7 +41,10 @@ stdenv.mkDerivation rec { "INSTALL_PKGCONFIG_DIR=$(dev)/lib/pkgconfig" ]; - installTargets = [ "install" "install-dev" ]; + installTargets = [ + "install" + "install-dev" + ]; postInstall = '' sed -i -e "s@includedir=/usr@includedir=$dev@g" $dev/lib/pkgconfig/$pname.pc diff --git a/pkgs/by-name/li/libglvnd/package.nix b/pkgs/by-name/li/libglvnd/package.nix index c3667d664707e..25e2f60d4403a 100644 --- a/pkgs/by-name/li/libglvnd/package.nix +++ b/pkgs/by-name/li/libglvnd/package.nix @@ -1,7 +1,15 @@ -{ stdenv, lib, fetchFromGitLab -, fetchpatch -, autoreconfHook, pkg-config, python3, addDriverRunpath -, libX11, libXext, xorgproto +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + autoreconfHook, + pkg-config, + python3, + addDriverRunpath, + libX11, + libXext, + xorgproto, }: stdenv.mkDerivation rec { @@ -26,8 +34,17 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config python3 addDriverRunpath ]; - buildInputs = [ libX11 libXext xorgproto ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + python3 + addDriverRunpath + ]; + buildInputs = [ + libX11 + libXext + xorgproto + ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace src/GLX/Makefile.am \ @@ -38,24 +55,31 @@ stdenv.mkDerivation rec { --replace "-Xlinker --version-script=$(VERSION_SCRIPT)" "-Xlinker" ''; - env.NIX_CFLAGS_COMPILE = toString ([ - "-UDEFAULT_EGL_VENDOR_CONFIG_DIRS" - # FHS paths are added so that non-NixOS applications can find vendor files. - "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${addDriverRunpath.driverLink}/share/glvnd/egl_vendor.d:/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d\"" + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-UDEFAULT_EGL_VENDOR_CONFIG_DIRS" + # FHS paths are added so that non-NixOS applications can find vendor files. + "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${addDriverRunpath.driverLink}/share/glvnd/egl_vendor.d:/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d\"" - "-Wno-error=array-bounds" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error" - "-Wno-int-conversion" - ]); + "-Wno-error=array-bounds" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error" + "-Wno-int-conversion" + ] + ); - configureFlags = [] + configureFlags = + [ ] # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268 ++ lib.optional stdenv.hostPlatform.isMusl "--disable-tls" # Remove when aarch64-darwin asm support is upstream: https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/216 ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "--disable-asm"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; # Set RUNPATH so that libGLX can find driver libraries in /run/opengl-driver(-32)/lib. # Note that libEGL does not need it because it uses driver config files which should @@ -78,7 +102,13 @@ stdenv.mkDerivation rec { inherit (src.meta) homepage; # https://gitlab.freedesktop.org/glvnd/libglvnd#libglvnd: changelog = "https://gitlab.freedesktop.org/glvnd/libglvnd/-/tags/v${version}"; - license = with licenses; [ mit bsd1 bsd3 gpl3Only asl20 ]; + license = with licenses; [ + mit + bsd1 + bsd3 + gpl3Only + asl20 + ]; platforms = platforms.unix; # https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/212 badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ]; diff --git a/pkgs/by-name/li/libgmpris/package.nix b/pkgs/by-name/li/libgmpris/package.nix index a7826fabd134b..c1368abe6ceb8 100644 --- a/pkgs/by-name/li/libgmpris/package.nix +++ b/pkgs/by-name/li/libgmpris/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, glib -, gobject-introspection +{ + stdenv, + lib, + fetchurl, + pkg-config, + glib, + gobject-introspection, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-iyKNmg6sf+mxlY/4vt5lKdrKfJzkoCYU2j1O8uwk8K4="; }; - nativeBuildInputs = [ pkg-config gobject-introspection ]; + nativeBuildInputs = [ + pkg-config + gobject-introspection + ]; buildInputs = [ glib ]; diff --git a/pkgs/by-name/li/libgnome-keyring/package.nix b/pkgs/by-name/li/libgnome-keyring/package.nix index 5e6c6f0c02eac..416d02232eda5 100644 --- a/pkgs/by-name/li/libgnome-keyring/package.nix +++ b/pkgs/by-name/li/libgnome-keyring/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool, gobject-introspection, testers +{ + lib, + stdenv, + fetchurl, + glib, + dbus, + libgcrypt, + pkg-config, + intltool, + gobject-introspection, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -10,11 +20,22 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-xMF4+7BfcqzEhNIt2wVo91MsQJsKE+BlE/9UuR6Ud4M="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; - propagatedBuildInputs = [ glib gobject-introspection dbus libgcrypt ]; - nativeBuildInputs = [ pkg-config intltool ]; + propagatedBuildInputs = [ + glib + gobject-introspection + dbus + libgcrypt + ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; configureFlags = [ # not ideal to use -config scripts but it's not possible switch it to pkg-config @@ -35,7 +56,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Framework for managing passwords and other secrets"; homepage = "https://gitlab.gnome.org/Archive/libgnome-keyring"; changelog = "https://gitlab.gnome.org/Archive/libgnome-keyring/-/blob/${finalAttrs.version}/NEWS?ref_type=tags"; - license = with lib.licenses; [ gpl2Plus lgpl2Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl2Plus + ]; pkgConfigModules = [ "gnome-keyring-1" ]; platforms = lib.platforms.unix; maintainers = [ ]; diff --git a/pkgs/by-name/li/libgnomekbd/package.nix b/pkgs/by-name/li/libgnomekbd/package.nix index a5c278956f2d7..88db2b779ea1e 100644 --- a/pkgs/by-name/li/libgnomekbd/package.nix +++ b/pkgs/by-name/li/libgnomekbd/package.nix @@ -1,22 +1,26 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, glib -, gtk3 -, libxklavier -, wrapGAppsHook3 -, gnome +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + glib, + gtk3, + libxklavier, + wrapGAppsHook3, + gnome, }: stdenv.mkDerivation rec { pname = "libgnomekbd"; version = "3.28.1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/li/libgnurl/package.nix b/pkgs/by-name/li/libgnurl/package.nix index b3db03d0240b7..d1f3ecf8c790a 100644 --- a/pkgs/by-name/li/libgnurl/package.nix +++ b/pkgs/by-name/li/libgnurl/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, libtool, perl, pkg-config, python3, zlib, gnutls -, libidn2, libunistring }: +{ + lib, + stdenv, + fetchurl, + libtool, + perl, + pkg-config, + python3, + zlib, + gnutls, + libidn2, + libunistring, +}: stdenv.mkDerivation rec { pname = "libgnurl"; @@ -10,9 +21,19 @@ stdenv.mkDerivation rec { sha256 = "1y4laraq37kw8hc8jlzgcw7y37bfd0n71q0sy3d3z6yg7zh2prxi"; }; - nativeBuildInputs = [ libtool perl pkg-config python3 ]; + nativeBuildInputs = [ + libtool + perl + pkg-config + python3 + ]; - buildInputs = [ gnutls zlib libidn2 libunistring ]; + buildInputs = [ + gnutls + zlib + libidn2 + libunistring + ]; configureFlags = [ "--disable-ntlm-wb" @@ -38,7 +59,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fork of libcurl used by GNUnet"; - homepage = "https://gnunet.org/en/gnurl.html"; + homepage = "https://gnunet.org/en/gnurl.html"; maintainers = [ ]; platforms = platforms.unix; license = licenses.curl; diff --git a/pkgs/by-name/li/libgourou/package.nix b/pkgs/by-name/li/libgourou/package.nix index ba64735f873dd..cc669b5120305 100644 --- a/pkgs/by-name/li/libgourou/package.nix +++ b/pkgs/by-name/li/libgourou/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchzip -, pugixml -, updfparser -, curl -, openssl -, libzip -, installShellFiles +{ + lib, + stdenv, + fetchzip, + pugixml, + updfparser, + curl, + openssl, + libzip, + installShellFiles, }: stdenv.mkDerivation rec { @@ -29,9 +30,18 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ installShellFiles ]; - buildInputs = [ pugixml updfparser curl openssl libzip ]; + buildInputs = [ + pugixml + updfparser + curl + openssl + libzip + ]; - makeFlags = [ "BUILD_STATIC=1" "BUILD_SHARED=1" ]; + makeFlags = [ + "BUILD_STATIC=1" + "BUILD_SHARED=1" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/li/libgovirt/package.nix b/pkgs/by-name/li/libgovirt/package.nix index 18d88b5468524..98aa1e319b620 100644 --- a/pkgs/by-name/li/libgovirt/package.nix +++ b/pkgs/by-name/li/libgovirt/package.nix @@ -1,20 +1,24 @@ -{ lib -, stdenv -, fetchzip -, gnome -, meson -, pkg-config -, gobject-introspection -, ninja -, glib -, librest_1_0 +{ + lib, + stdenv, + fetchzip, + gnome, + meson, + pkg-config, + gobject-introspection, + ninja, + glib, + librest_1_0, }: stdenv.mkDerivation rec { pname = "libgovirt"; version = "0.3.9"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchzip { url = "mirror://gnome/sources/libgovirt/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -25,11 +29,13 @@ stdenv.mkDerivation rec { # https://gitlab.gnome.org/GNOME/libgovirt/-/issues/9 ./auto-disable-incompatible-compiler-warnings.patch ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang (lib.concatStringsSep " " [ - "-Wno-typedef-redefinition" - "-Wno-missing-field-initializers" - "-Wno-cast-align" - ]); + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang ( + lib.concatStringsSep " " [ + "-Wno-typedef-redefinition" + "-Wno-missing-field-initializers" + "-Wno-cast-align" + ] + ); nativeBuildInputs = [ meson @@ -53,7 +59,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gitlab.gnome.org/GNOME/libgovirt"; description = "GObject wrapper for the oVirt REST API"; - maintainers = with maintainers; [ amarshall atemu ]; + maintainers = with maintainers; [ + amarshall + atemu + ]; platforms = with platforms; linux ++ darwin; license = licenses.lgpl21Plus; }; diff --git a/pkgs/by-name/li/libgpiod_1/package.nix b/pkgs/by-name/li/libgpiod_1/package.nix index 94644afff3fec..444459d660181 100644 --- a/pkgs/by-name/li/libgpiod_1/package.nix +++ b/pkgs/by-name/li/libgpiod_1/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl, autoreconfHook, autoconf-archive, pkg-config, kmod -, enable-tools ? true -, enablePython ? false, python3, ncurses }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + autoconf-archive, + pkg-config, + kmod, + enable-tools ? true, + enablePython ? false, + python3, + ncurses, +}: stdenv.mkDerivation rec { pname = "libgpiod"; @@ -17,7 +27,12 @@ stdenv.mkDerivation rec { ./0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch ]; - buildInputs = [ kmod ] ++ lib.optionals enablePython [ python3 ncurses ]; + buildInputs = + [ kmod ] + ++ lib.optionals enablePython [ + python3 + ncurses + ]; nativeBuildInputs = [ autoconf-archive pkg-config @@ -39,7 +54,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/"; license = licenses.lgpl2; - maintainers = []; + maintainers = [ ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libgrapheme/package.nix b/pkgs/by-name/li/libgrapheme/package.nix index 44883d17d0c6e..bde5ddc937c7b 100644 --- a/pkgs/by-name/li/libgrapheme/package.nix +++ b/pkgs/by-name/li/libgrapheme/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, buildPackages }: +{ + lib, + stdenv, + fetchurl, + buildPackages, +}: stdenv.mkDerivation rec { pname = "libgrapheme"; @@ -16,9 +21,17 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; - makeFlags = [ "AR:=$(AR)" "CC:=$(CC)" "RANLIB:=$(RANLIB)" "BUILD_CC=$(CC_FOR_BUILD)" ]; + makeFlags = [ + "AR:=$(AR)" + "CC:=$(CC)" + "RANLIB:=$(RANLIB)" + "BUILD_CC=$(CC_FOR_BUILD)" + ]; - installFlags = [ "PREFIX=$(out)" "LDCONFIG=" ]; + installFlags = [ + "PREFIX=$(out)" + "LDCONFIG=" + ]; meta = with lib; { description = "Unicode string library"; diff --git a/pkgs/by-name/li/libgringotts/package.nix b/pkgs/by-name/li/libgringotts/package.nix index 268ada87ac6ea..fb941e531bebd 100644 --- a/pkgs/by-name/li/libgringotts/package.nix +++ b/pkgs/by-name/li/libgringotts/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, zlib, bzip2, libmcrypt, libmhash }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + zlib, + bzip2, + libmcrypt, + libmhash, +}: stdenv.mkDerivation rec { pname = "libgringotts"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ zlib bzip2 libmcrypt libmhash ]; + buildInputs = [ + zlib + bzip2 + libmcrypt + libmhash + ]; meta = with lib; { description = "Small library to encapsulate data in an encrypted structure"; diff --git a/pkgs/by-name/li/libgsf/package.nix b/pkgs/by-name/li/libgsf/package.nix index 1f93139eb02d4..ea749cf2c63c1 100644 --- a/pkgs/by-name/li/libgsf/package.nix +++ b/pkgs/by-name/li/libgsf/package.nix @@ -1,33 +1,37 @@ -{ fetchFromGitLab -, lib -, stdenv -, autoreconfHook -, gtk-doc -, pkg-config -, intltool -, gettext -, glib -, libxml2 -, zlib -, bzip2 -, perl -, gdk-pixbuf -, libiconv -, libintl -, gnome +{ + fetchFromGitLab, + lib, + stdenv, + autoreconfHook, + gtk-doc, + pkg-config, + intltool, + gettext, + glib, + libxml2, + zlib, + bzip2, + perl, + gdk-pixbuf, + libiconv, + libintl, + gnome, }: stdenv.mkDerivation rec { pname = "libgsf"; version = "1.14.53"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; repo = "libgsf"; - rev = "LIBGSF_${lib.replaceStrings ["."] ["_"] version}"; + rev = "LIBGSF_${lib.replaceStrings [ "." ] [ "_" ] version}"; hash = "sha256-vC/6QEoV6FvFxQ0YlMkBbTmAtqbkvgZf+9BU8epi8yo="; }; diff --git a/pkgs/by-name/li/libgtkflow3/package.nix b/pkgs/by-name/li/libgtkflow3/package.nix index 7c85bd00b5d62..a32f890d9f5f4 100644 --- a/pkgs/by-name/li/libgtkflow3/package.nix +++ b/pkgs/by-name/li/libgtkflow3/package.nix @@ -1,10 +1,26 @@ -{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3, libgflow}: +{ + stdenv, + lib, + vala, + meson, + ninja, + pkg-config, + fetchFromGitea, + gobject-introspection, + glib, + gtk3, + libgflow, +}: stdenv.mkDerivation rec { pname = "libgtkflow3"; version = "1.0.6"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "devdoc"; # demo app src = fetchFromGitea { diff --git a/pkgs/by-name/li/libgtkflow4/package.nix b/pkgs/by-name/li/libgtkflow4/package.nix index 60439e7636e18..8b8a4cc41e4dd 100644 --- a/pkgs/by-name/li/libgtkflow4/package.nix +++ b/pkgs/by-name/li/libgtkflow4/package.nix @@ -1,10 +1,26 @@ -{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk4, libgflow}: +{ + stdenv, + lib, + vala, + meson, + ninja, + pkg-config, + fetchFromGitea, + gobject-introspection, + glib, + gtk4, + libgflow, +}: stdenv.mkDerivation rec { pname = "libgtkflow4"; version = "0.2.6"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "devdoc"; # demo app src = fetchFromGitea { diff --git a/pkgs/by-name/li/libgtop/package.nix b/pkgs/by-name/li/libgtop/package.nix index a265d366ab768..36264b173dfb1 100644 --- a/pkgs/by-name/li/libgtop/package.nix +++ b/pkgs/by-name/li/libgtop/package.nix @@ -1,20 +1,25 @@ -{ lib, stdenv -, fetchurl -, glib -, pkg-config -, perl -, gettext -, gobject-introspection -, gnome -, gtk-doc -, deterministic-uname +{ + lib, + stdenv, + fetchurl, + glib, + pkg-config, + perl, + gettext, + gobject-introspection, + gnome, + gtk-doc, + deterministic-uname, }: stdenv.mkDerivation (finalAttrs: { pname = "libgtop"; version = "2.41.3"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/libgtop/${lib.versions.majorMinor finalAttrs.version}/libgtop-${finalAttrs.version}.tar.xz"; diff --git a/pkgs/by-name/li/libgudev/package.nix b/pkgs/by-name/li/libgudev/package.nix index dcd2015e1d156..6e9007b90945d 100644 --- a/pkgs/by-name/li/libgudev/package.nix +++ b/pkgs/by-name/li/libgudev/package.nix @@ -1,25 +1,31 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, udev -, glib -, glibcLocales -, umockdev -, gnome -, vala -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + udev, + glib, + glibcLocales, + umockdev, + gnome, + vala, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, }: stdenv.mkDerivation (finalAttrs: { pname = "libgudev"; version = "238"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/libgudev/${lib.versions.majorMinor finalAttrs.version}/libgudev-${finalAttrs.version}.tar.xz"; @@ -40,15 +46,17 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - pkg-config - meson - ninja - glib # for glib-mkenums needed during the build - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala - ]; + nativeBuildInputs = + [ + pkg-config + meson + ninja + glib # for glib-mkenums needed during the build + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + vala + ]; buildInputs = [ udev diff --git a/pkgs/by-name/li/libgumath/package.nix b/pkgs/by-name/li/libgumath/package.nix index f82401f524fad..6160e7276c2d2 100644 --- a/pkgs/by-name/li/libgumath/package.nix +++ b/pkgs/by-name/li/libgumath/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, libndtypes -, libxnd +{ + lib, + stdenv, + fetchFromGitHub, + libndtypes, + libxnd, }: stdenv.mkDerivation { @@ -15,7 +17,10 @@ stdenv.mkDerivation { sha256 = "1wprkxpmjrk369fpw8rbq51r7jvqkcndqs209y7p560cnagmsxc6"; }; - buildInputs = [ libndtypes libxnd ]; + buildInputs = [ + libndtypes + libxnd + ]; # Override linker with cc (symlink to either gcc or clang) # Library expects to use cc for linking diff --git a/pkgs/by-name/li/libgweather/package.nix b/pkgs/by-name/li/libgweather/package.nix index c528a2198ddcc..a27aa76edcf92 100644 --- a/pkgs/by-name/li/libgweather/package.nix +++ b/pkgs/by-name/li/libgweather/package.nix @@ -1,31 +1,37 @@ -{ lib -, stdenv -, buildPackages -, fetchurl -, makeWrapper -, meson -, ninja -, pkg-config -, libxml2 -, json-glib -, glib -, gettext -, libsoup_3 -, gi-docgen -, gobject-introspection -, python3 -, tzdata -, geocode-glib_2 -, vala -, gnome -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages +{ + lib, + stdenv, + buildPackages, + fetchurl, + makeWrapper, + meson, + ninja, + pkg-config, + libxml2, + json-glib, + glib, + gettext, + libsoup_3, + gi-docgen, + gobject-introspection, + python3, + tzdata, + geocode-glib_2, + vala, + gnome, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, }: stdenv.mkDerivation rec { pname = "libgweather"; version = "4.4.4"; - outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -44,18 +50,20 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - glib - (python3.pythonOnBuildForHost.withPackages (ps: [ ps.pygobject3 ])) - ] ++ lib.optionals withIntrospection [ - gi-docgen - gobject-introspection - vala - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gettext + glib + (python3.pythonOnBuildForHost.withPackages (ps: [ ps.pygobject3 ])) + ] + ++ lib.optionals withIntrospection [ + gi-docgen + gobject-introspection + vala + ]; buildInputs = [ glib @@ -65,12 +73,14 @@ stdenv.mkDerivation rec { geocode-glib_2 ]; - mesonFlags = [ - "-Dzoneinfo_dir=${tzdata}/share/zoneinfo" - (lib.mesonBool "introspection" withIntrospection) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-Dc_args=-D_DARWIN_C_SOURCE" - ]; + mesonFlags = + [ + "-Dzoneinfo_dir=${tzdata}/share/zoneinfo" + (lib.mesonBool "introspection" withIntrospection) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-Dc_args=-D_DARWIN_C_SOURCE" + ]; postPatch = '' patchShebangs --build build-aux/meson/gen_locations_variant.py diff --git a/pkgs/by-name/li/libgxps/package.nix b/pkgs/by-name/li/libgxps/package.nix index cff74fbb47416..29f5289b5ea21 100644 --- a/pkgs/by-name/li/libgxps/package.nix +++ b/pkgs/by-name/li/libgxps/package.nix @@ -1,27 +1,58 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, cairo -, libarchive, freetype, libjpeg, libtiff, gnome, lcms2 +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + glib, + gobject-introspection, + cairo, + libarchive, + freetype, + libjpeg, + libtiff, + gnome, + lcms2, }: stdenv.mkDerivation rec { pname = "libgxps"; version = "0.3.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "bSeGclajXM+baSU+sqiKMrrKO5fV9O9/guNmf6Q1JRw="; }; - nativeBuildInputs = [ meson ninja pkg-config gobject-introspection ]; - buildInputs = [ glib cairo freetype libjpeg libtiff lcms2 ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + ]; + buildInputs = [ + glib + cairo + freetype + libjpeg + libtiff + lcms2 + ]; propagatedBuildInputs = [ libarchive ]; - mesonFlags = [ - "-Denable-test=false" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-Ddisable-introspection=true" - ]; + mesonFlags = + [ + "-Denable-test=false" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "-Ddisable-introspection=true" + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/li/libhangul/package.nix b/pkgs/by-name/li/libhangul/package.nix index 2ff18376a4610..af66dc6c49979 100644 --- a/pkgs/by-name/li/libhangul/package.nix +++ b/pkgs/by-name/li/libhangul/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libhangul"; diff --git a/pkgs/by-name/li/libharu/package.nix b/pkgs/by-name/li/libharu/package.nix index dabd74e648c3c..264f5a5213720 100644 --- a/pkgs/by-name/li/libharu/package.nix +++ b/pkgs/by-name/li/libharu/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib, libpng }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + libpng, +}: stdenv.mkDerivation rec { pname = "libharu"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib libpng ]; + buildInputs = [ + zlib + libpng + ]; meta = { description = "Cross platform, open source library for generating PDF files"; diff --git a/pkgs/by-name/li/libhomfly/package.nix b/pkgs/by-name/li/libhomfly/package.nix index d0f09290c3c76..9cae6196d83c0 100644 --- a/pkgs/by-name/li/libhomfly/package.nix +++ b/pkgs/by-name/li/libhomfly/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, boehmgc +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + boehmgc, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libhsts/package.nix b/pkgs/by-name/li/libhsts/package.nix index 124b1fc5496c8..697f71b732ecd 100644 --- a/pkgs/by-name/li/libhsts/package.nix +++ b/pkgs/by-name/li/libhsts/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitLab, fetchurl, autoconf-archive, autoreconfHook, pkg-config, python3 }: +{ + lib, + stdenv, + fetchFromGitLab, + fetchurl, + autoconf-archive, + autoreconfHook, + pkg-config, + python3, +}: let chromium_version = "90.0.4417.1"; @@ -27,15 +36,26 @@ stdenv.mkDerivation rec { patchShebangs src/hsts-make-dafsa ''; - nativeBuildInputs = [ autoconf-archive autoreconfHook pkg-config python3 ]; + nativeBuildInputs = [ + autoconf-archive + autoreconfHook + pkg-config + python3 + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Library to easily check a domain against the Chromium HSTS Preload list"; mainProgram = "hsts"; homepage = "https://gitlab.com/rockdaboot/libhsts"; - license = with licenses; [ mit bsd3 ]; + license = with licenses; [ + mit + bsd3 + ]; maintainers = [ ]; }; } diff --git a/pkgs/by-name/li/libhttpserver/package.nix b/pkgs/by-name/li/libhttpserver/package.nix index a61342b99d07e..64077cab20d32 100644 --- a/pkgs/by-name/li/libhttpserver/package.nix +++ b/pkgs/by-name/li/libhttpserver/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoconf -, automake -, libtool -, gnutls -, libmicrohttpd +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + libtool, + gnutls, + libmicrohttpd, }: stdenv.mkDerivation rec { @@ -19,9 +20,16 @@ stdenv.mkDerivation rec { hash = "sha256-Pc3Fvd8D4Ymp7dG9YgU58mDceOqNfhWE1JtnpVaNx/Y="; }; - nativeBuildInputs = [ autoconf automake libtool ]; + nativeBuildInputs = [ + autoconf + automake + libtool + ]; - buildInputs = [ gnutls libmicrohttpd ]; + buildInputs = [ + gnutls + libmicrohttpd + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libhttpseverywhere/package.nix b/pkgs/by-name/li/libhttpseverywhere/package.nix index 50072b6cbef36..c24eb6ab77808 100644 --- a/pkgs/by-name/li/libhttpseverywhere/package.nix +++ b/pkgs/by-name/li/libhttpseverywhere/package.nix @@ -1,10 +1,27 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, makeFontsConf, vala, fetchpatch -, gnome, libgee, glib, json-glib, libarchive, libsoup_2_4, gobject-introspection }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + makeFontsConf, + vala, + fetchpatch, + gnome, + libgee, + glib, + json-glib, + libarchive, + libsoup_2_4, + gobject-introspection, +}: let pname = "libhttpseverywhere"; version = "0.8.3"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { @@ -12,8 +29,20 @@ in stdenv.mkDerivation rec { sha256 = "1jmn6i4vsm89q1axlq4ajqkzqmlmjaml9xhw3h9jnal46db6y00w"; }; - nativeBuildInputs = [ vala gobject-introspection meson ninja pkg-config ]; - buildInputs = [ glib libgee json-glib libsoup_2_4 libarchive ]; + nativeBuildInputs = [ + vala + gobject-introspection + meson + ninja + pkg-config + ]; + buildInputs = [ + glib + libgee + json-glib + libsoup_2_4 + libarchive + ]; patches = [ # Fixes build with vala >=0.42 @@ -36,7 +65,10 @@ in stdenv.mkDerivation rec { FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; }; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/li/libhugetlbfs/package.nix b/pkgs/by-name/li/libhugetlbfs/package.nix index bcc676b1b0408..581f6abf4689f 100644 --- a/pkgs/by-name/li/libhugetlbfs/package.nix +++ b/pkgs/by-name/li/libhugetlbfs/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, autoreconfHook }: +{ + stdenv, + lib, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libhugetlbfs"; @@ -9,7 +14,14 @@ stdenv.mkDerivation rec { hash = "sha256-1QHfqRyOrREGlno9OCnyunOMP6wKZcs1jtKrOHDdxe8="; }; - outputs = [ "bin" "dev" "man" "doc" "lib" "out" ]; + outputs = [ + "bin" + "dev" + "man" + "doc" + "lib" + "out" + ]; nativeBuildInputs = [ autoreconfHook ]; @@ -18,24 +30,32 @@ stdenv.mkDerivation rec { ''; enableParallelBuilding = true; - makeFlags = [ - "BUILDTYPE=NATIVEONLY" - "PREFIX=$(out)" - "HEADERDIR=$(dev)/include" - "LIBDIR32=$(lib)/$(LIB32)" - "LIBDIR64=$(lib)/$(LIB64)" - "EXEDIR=$(bin)/bin" - "DOCDIR=$(doc)/share/doc/libhugetlbfs" - "MANDIR=$(man)/share/man" - ] ++ lib.optionals (stdenv.buildPlatform.system != stdenv.hostPlatform.system) [ - # The ARCH logic defaults to querying `uname`, which will return build platform arch - "ARCH=${stdenv.hostPlatform.uname.processor}" - ]; + makeFlags = + [ + "BUILDTYPE=NATIVEONLY" + "PREFIX=$(out)" + "HEADERDIR=$(dev)/include" + "LIBDIR32=$(lib)/$(LIB32)" + "LIBDIR64=$(lib)/$(LIB64)" + "EXEDIR=$(bin)/bin" + "DOCDIR=$(doc)/share/doc/libhugetlbfs" + "MANDIR=$(man)/share/man" + ] + ++ lib.optionals (stdenv.buildPlatform.system != stdenv.hostPlatform.system) [ + # The ARCH logic defaults to querying `uname`, which will return build platform arch + "ARCH=${stdenv.hostPlatform.uname.processor}" + ]; # Default target builds tests as well, and the tests want a static # libc. - buildFlags = [ "libs" "tools" ]; - installTargets = [ "install" "install-docs" ]; + buildFlags = [ + "libs" + "tools" + ]; + installTargets = [ + "install" + "install-docs" + ]; meta = with lib; { homepage = "https://github.com/libhugetlbfs/libhugetlbfs"; diff --git a/pkgs/by-name/li/libhwy/package.nix b/pkgs/by-name/li/libhwy/package.nix index 7bf78ec875e21..c282d8420a34e 100644 --- a/pkgs/by-name/li/libhwy/package.nix +++ b/pkgs/by-name/li/libhwy/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, cmake -, ninja -, gtest -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + cmake, + ninja, + gtest, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation rec { @@ -18,14 +19,17 @@ stdenv.mkDerivation rec { hash = "sha256-Z+mAR9nSAbCskUvo6oK79Yd85bu0HtI2aR5THS1EozM="; }; - patches = lib.optional stdenv.hostPlatform.isRiscV - # Adds CMake option HWY_CMAKE_RVV - # https://github.com/google/highway/pull/1743 - (fetchpatch { - name = "libhwy-add-rvv-optout.patch"; - url = "https://github.com/google/highway/commit/5d58d233fbcec0c6a39df8186a877329147324b3.patch"; - hash = "sha256-ileSNYddOt1F5rooRB0fXT20WkVlnG+gP5w7qJdBuww="; - }); + patches = + lib.optional stdenv.hostPlatform.isRiscV + # Adds CMake option HWY_CMAKE_RVV + # https://github.com/google/highway/pull/1743 + ( + fetchpatch { + name = "libhwy-add-rvv-optout.patch"; + url = "https://github.com/google/highway/commit/5d58d233fbcec0c6a39df8186a877329147324b3.patch"; + hash = "sha256-ileSNYddOt1F5rooRB0fXT20WkVlnG+gP5w7qJdBuww="; + } + ); hardeningDisable = lib.optionals stdenv.hostPlatform.isAarch64 [ # aarch64-specific code gets: @@ -33,38 +37,47 @@ stdenv.mkDerivation rec { "trivialautovarinit" ]; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; # Required for case-insensitive filesystems ("BUILD" exists) dontUseCmakeBuildDir = true; - cmakeFlags = let - libExt = stdenv.hostPlatform.extensions.library; - in [ - "-GNinja" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals doCheck [ - "-DHWY_SYSTEM_GTEST:BOOL=ON" - "-DGTEST_INCLUDE_DIR=${lib.getDev gtest}/include" - "-DGTEST_LIBRARY=${lib.getLib gtest}/lib/libgtest${libExt}" - "-DGTEST_MAIN_LIBRARY=${lib.getLib gtest}/lib/libgtest_main${libExt}" - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - "-DHWY_CMAKE_ARM7=ON" - ] ++ lib.optionals stdenv.hostPlatform.isx86_32 [ - # Quoting CMakelists.txt: - # This must be set on 32-bit x86 with GCC < 13.1, otherwise math_test will be - # skipped. For GCC 13.1+, you can also build with -fexcess-precision=standard. - # Fixes tests: - # HwyMathTestGroup/HwyMathTest.TestAllAtanh/EMU128 - # HwyMathTestGroup/HwyMathTest.TestAllLog1p/EMU128 - "-DHWY_CMAKE_SSE2=ON" - ] ++ lib.optionals stdenv.hostPlatform.isRiscV [ - # Runtime dispatch is not implemented https://github.com/google/highway/issues/838 - # so tests (and likely normal operation) fail with SIGILL on processors without V. - # Until the issue is resolved, we disable RVV completely. - "-DHWY_CMAKE_RVV=OFF" - ]; + cmakeFlags = + let + libExt = stdenv.hostPlatform.extensions.library; + in + [ + "-GNinja" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals doCheck [ + "-DHWY_SYSTEM_GTEST:BOOL=ON" + "-DGTEST_INCLUDE_DIR=${lib.getDev gtest}/include" + "-DGTEST_LIBRARY=${lib.getLib gtest}/lib/libgtest${libExt}" + "-DGTEST_MAIN_LIBRARY=${lib.getLib gtest}/lib/libgtest_main${libExt}" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DHWY_CMAKE_ARM7=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isx86_32 [ + # Quoting CMakelists.txt: + # This must be set on 32-bit x86 with GCC < 13.1, otherwise math_test will be + # skipped. For GCC 13.1+, you can also build with -fexcess-precision=standard. + # Fixes tests: + # HwyMathTestGroup/HwyMathTest.TestAllAtanh/EMU128 + # HwyMathTestGroup/HwyMathTest.TestAllLog1p/EMU128 + "-DHWY_CMAKE_SSE2=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isRiscV [ + # Runtime dispatch is not implemented https://github.com/google/highway/issues/838 + # so tests (and likely normal operation) fail with SIGILL on processors without V. + # Until the issue is resolved, we disable RVV completely. + "-DHWY_CMAKE_RVV=OFF" + ]; # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408 doCheck = !stdenv.hostPlatform.isDarwin; @@ -72,7 +85,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Performance-portable, length-agnostic SIMD with runtime dispatch"; homepage = "https://github.com/google/highway"; - license = with licenses; [ asl20 bsd3 ]; + license = with licenses; [ + asl20 + bsd3 + ]; platforms = platforms.unix; maintainers = with maintainers; [ zhaofengli ]; }; diff --git a/pkgs/by-name/li/libibmad/package.nix b/pkgs/by-name/li/libibmad/package.nix index 9088d9022069f..40fea53848351 100644 --- a/pkgs/by-name/li/libibmad/package.nix +++ b/pkgs/by-name/li/libibmad/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libibumad }: +{ + lib, + stdenv, + fetchurl, + libibumad, +}: stdenv.mkDerivation rec { pname = "libibmad"; diff --git a/pkgs/by-name/li/libibumad/package.nix b/pkgs/by-name/li/libibumad/package.nix index b9ebef7d4ccbb..1f280e4142cd3 100644 --- a/pkgs/by-name/li/libibumad/package.nix +++ b/pkgs/by-name/li/libibumad/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libibumad"; diff --git a/pkgs/by-name/li/libical/package.nix b/pkgs/by-name/li/libical/package.nix index f6a0555f34123..ef92eddd10114 100644 --- a/pkgs/by-name/li/libical/package.nix +++ b/pkgs/by-name/li/libical/package.nix @@ -1,29 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkgsBuildBuild -, pkgsBuildHost -, cmake -, glib -, icu -, libxml2 -, ninja -, perl -, pkg-config -, libical -, python3 -, tzdata -, fixDarwinDylibNames -, withIntrospection ? stdenv.hostPlatform.emulatorAvailable pkgsBuildHost -, gobject-introspection -, vala +{ + lib, + stdenv, + fetchFromGitHub, + pkgsBuildBuild, + pkgsBuildHost, + cmake, + glib, + icu, + libxml2, + ninja, + perl, + pkg-config, + libical, + python3, + tzdata, + fixDarwinDylibNames, + withIntrospection ? stdenv.hostPlatform.emulatorAvailable pkgsBuildHost, + gobject-introspection, + vala, }: stdenv.mkDerivation rec { pname = "libical"; version = "3.0.18"; - outputs = [ "out" "dev" ]; # "devdoc" ]; + outputs = [ + "out" + "dev" + ]; # "devdoc" ]; src = fetchFromGitHub { owner = "libical"; @@ -39,27 +43,32 @@ stdenv.mkDerivation rec { libical ]; - nativeBuildInputs = [ - cmake - icu - ninja - perl - pkg-config - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala - # Docs building fails: - # https://github.com/NixOS/nixpkgs/pull/67204 - # previously with https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489 - # gtk-doc docbook_xsl docbook_xml_dtd_43 # for docs - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + cmake + icu + ninja + perl + pkg-config + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + vala + # Docs building fails: + # https://github.com/NixOS/nixpkgs/pull/67204 + # previously with https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489 + # gtk-doc docbook_xsl docbook_xml_dtd_43 # for docs + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; nativeInstallCheckInputs = [ # running libical-glib tests - (python3.pythonOnBuildForHost.withPackages (pkgs: with pkgs; [ - pygobject3 - ])) + (python3.pythonOnBuildForHost.withPackages ( + pkgs: with pkgs; [ + pygobject3 + ] + )) ]; buildInputs = [ @@ -68,13 +77,15 @@ stdenv.mkDerivation rec { icu ]; - cmakeFlags = [ - "-DENABLE_GTK_DOC=False" - "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}" - "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev pkgsBuildBuild.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" - ]; + cmakeFlags = + [ + "-DENABLE_GTK_DOC=False" + "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}" + "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev pkgsBuildBuild.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" + ]; patches = [ # Will appear in 3.1.0 @@ -95,13 +106,17 @@ stdenv.mkDerivation rec { # Musl does not support TZDIR. doInstallCheck = !stdenv.hostPlatform.isMusl; enableParallelChecking = false; - preInstallCheck = if stdenv.hostPlatform.isDarwin then '' - for testexe in $(find ./src/test -maxdepth 1 -type f -executable); do - for lib in $(cd lib && ls *.3.dylib); do - install_name_tool -change $lib $out/lib/$lib $testexe - done - done - '' else null; + preInstallCheck = + if stdenv.hostPlatform.isDarwin then + '' + for testexe in $(find ./src/test -maxdepth 1 -type f -executable); do + for lib in $(cd lib && ls *.3.dylib); do + install_name_tool -change $lib $out/lib/$lib $testexe + done + done + '' + else + null; installCheckPhase = '' runHook preInstallCheck diff --git a/pkgs/by-name/li/libicns/package.nix b/pkgs/by-name/li/libicns/package.nix index fc2fa9b664879..d0853240ec565 100644 --- a/pkgs/by-name/li/libicns/package.nix +++ b/pkgs/by-name/li/libicns/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, libpng, openjpeg, zlib }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + libpng, + openjpeg, + zlib, +}: stdenv.mkDerivation { pname = "libicns"; @@ -11,13 +20,24 @@ stdenv.mkDerivation { hash = "sha256-YeO0rlTujDNmrdJ3DRyl3TORswF2KFKA+wVUxJo8Dno"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libpng openjpeg zlib ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libpng + openjpeg + zlib + ]; meta = with lib; { description = "Library for manipulation of the Mac OS icns resource format"; homepage = "https://icns.sourceforge.io"; - license = with licenses; [ gpl2 lgpl2 lgpl21 ]; + license = with licenses; [ + gpl2 + lgpl2 + lgpl21 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/li/libidn/package.nix b/pkgs/by-name/li/libidn/package.nix index bafb2fff272fb..b591ed684689e 100644 --- a/pkgs/by-name/li/libidn/package.nix +++ b/pkgs/by-name/li/libidn/package.nix @@ -1,5 +1,9 @@ -{ fetchurl, lib, stdenv, libiconv -, testers +{ + fetchurl, + lib, + stdenv, + libiconv, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -11,7 +15,13 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-1sGZ3NgG5P4nk2DLSwg0mg05Vg7VSP/RzK3ajN7LRyM="; }; - outputs = [ "bin" "dev" "out" "info" "devdoc" ]; + outputs = [ + "bin" + "dev" + "out" + "info" + "devdoc" + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/li/libiec61883/package.nix b/pkgs/by-name/li/libiec61883/package.nix index 911210202fe06..42d7254f09090 100644 --- a/pkgs/by-name/li/libiec61883/package.nix +++ b/pkgs/by-name/li/libiec61883/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libraw1394 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libraw1394, +}: stdenv.mkDerivation rec { version = "1.2.0"; diff --git a/pkgs/by-name/li/libieee1284/package.nix b/pkgs/by-name/li/libieee1284/package.nix index 377d56957123c..abf3b7d16979e 100644 --- a/pkgs/by-name/li/libieee1284/package.nix +++ b/pkgs/by-name/li/libieee1284/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl -, autoconf, automake, libtool, xmlto, docbook_xml_dtd_412, docbook_xsl +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + autoconf, + automake, + libtool, + xmlto, + docbook_xml_dtd_412, + docbook_xsl, }: stdenv.mkDerivation rec { @@ -30,14 +39,16 @@ stdenv.mkDerivation rec { docbook_xsl ]; - configureFlags = [ - "--without-python" - ] ++ lib.optionals (stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86) [ - # musl always provides , even though the functionality - # is x86-specific. - # https://www.openwall.com/lists/musl/2024/10/25/2 - "ac_cv_header_sys_io_h=no" - ]; + configureFlags = + [ + "--without-python" + ] + ++ lib.optionals (stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isx86) [ + # musl always provides , even though the functionality + # is x86-specific. + # https://www.openwall.com/lists/musl/2024/10/25/2 + "ac_cv_header_sys_io_h=no" + ]; prePatch = '' ./bootstrap diff --git a/pkgs/by-name/li/libime/package.nix b/pkgs/by-name/li/libime/package.nix index c7bd59d016cfc..db80dc81742f7 100644 --- a/pkgs/by-name/li/libime/package.nix +++ b/pkgs/by-name/li/libime/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, cmake -, extra-cmake-modules -, boost -, python3 -, fcitx5 -, zstd +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + cmake, + extra-cmake-modules, + boost, + python3, + fcitx5, + zstd, }: let diff --git a/pkgs/by-name/li/libimobiledevice-glue/package.nix b/pkgs/by-name/li/libimobiledevice-glue/package.nix index 99eb6c3cede04..01a0ea4f8494d 100644 --- a/pkgs/by-name/li/libimobiledevice-glue/package.nix +++ b/pkgs/by-name/li/libimobiledevice-glue/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libplist -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libplist, + nix-update-script, }: stdenv.mkDerivation rec { @@ -31,7 +32,10 @@ stdenv.mkDerivation rec { libplist ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/li/libindicator/package.nix b/pkgs/by-name/li/libindicator/package.nix index 767b7a1d8cf24..72bd23985a381 100644 --- a/pkgs/by-name/li/libindicator/package.nix +++ b/pkgs/by-name/li/libindicator/package.nix @@ -1,6 +1,14 @@ -{ stdenv, fetchurl, lib, file -, pkg-config, glib -, gtkVersion ? "3", gtk2, gtk3 }: +{ + stdenv, + fetchurl, + lib, + file, + pkg-config, + glib, + gtkVersion ? "3", + gtk2, + gtk3, +}: stdenv.mkDerivation rec { pname = "libindicator-gtk${gtkVersion}"; @@ -13,7 +21,10 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ pkg-config glib ]; + nativeBuildInputs = [ + pkg-config + glib + ]; buildInputs = [ (if gtkVersion == "2" then gtk2 else gtk3) ]; diff --git a/pkgs/by-name/li/libinfinity/package.nix b/pkgs/by-name/li/libinfinity/package.nix index e720ee8b07262..dd76a585a7094 100644 --- a/pkgs/by-name/li/libinfinity/package.nix +++ b/pkgs/by-name/li/libinfinity/package.nix @@ -1,9 +1,25 @@ -{ gtkWidgets ? false # build GTK widgets for libinfinity -, avahiSupport ? false # build support for Avahi in libinfinity -, lib, stdenv, fetchurl, pkg-config, glib, libxml2, gnutls, gsasl -, gobject-introspection -, gtk3 ? null, gtk-doc, docbook_xsl, docbook_xml_dtd_412, avahi ? null, libdaemon, libidn, gss -, libintl }: +{ + gtkWidgets ? false, # build GTK widgets for libinfinity + avahiSupport ? false, # build support for Avahi in libinfinity + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libxml2, + gnutls, + gsasl, + gobject-introspection, + gtk3 ? null, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + avahi ? null, + libdaemon, + libidn, + gss, + libintl, +}: assert avahiSupport -> avahi != null; assert gtkWidgets -> gtk3 != null; @@ -17,10 +33,31 @@ let sha256 = "17i3g61hxz9pzl3ryd1yr15142r25m06jfzjrpdy7ic1b8vjjw3f"; }; - outputs = [ "bin" "out" "dev" "man" "devdoc" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + "devdoc" + ]; - nativeBuildInputs = [ pkg-config gtk-doc docbook_xsl docbook_xml_dtd_412 gobject-introspection ]; - buildInputs = [ glib libxml2 gsasl libidn gss libintl libdaemon ] + nativeBuildInputs = [ + pkg-config + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + gobject-introspection + ]; + buildInputs = + [ + glib + libxml2 + gsasl + libidn + gss + libintl + libdaemon + ] ++ lib.optional gtkWidgets gtk3 ++ lib.optional avahiSupport avahi; @@ -49,4 +86,5 @@ let platforms = with lib.platforms; linux ++ darwin; }; }; -in self +in +self diff --git a/pkgs/by-name/li/libinjection/package.nix b/pkgs/by-name/li/libinjection/package.nix index d4193f32ccc08..ebecb25ece7ca 100644 --- a/pkgs/by-name/li/libinjection/package.nix +++ b/pkgs/by-name/li/libinjection/package.nix @@ -1,15 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + python3, }: stdenv.mkDerivation rec { - pname = "libinjection"; + pname = "libinjection"; version = "3.10.0"; src = fetchFromGitHub { - owner = "client9"; - repo = pname; - rev = "refs/tags/v${version}"; + owner = "client9"; + repo = pname; + rev = "refs/tags/v${version}"; sha256 = "0chsgam5dqr9vjfhdcp8cgk7la6nf3lq44zs6z6si98cq743550g"; }; @@ -35,13 +39,16 @@ stdenv.mkDerivation rec { buildPhase = "make all"; # no binaries, so out = library, dev = headers - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "SQL / SQLI tokenizer parser analyzer"; - homepage = "https://github.com/client9/libinjection"; - license = licenses.bsd3; - platforms = platforms.all; + homepage = "https://github.com/client9/libinjection"; + license = licenses.bsd3; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/li/libinklevel/package.nix b/pkgs/by-name/li/libinklevel/package.nix index 945fa0df5962d..602ef0687123d 100644 --- a/pkgs/by-name/li/libinklevel/package.nix +++ b/pkgs/by-name/li/libinklevel/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libusb1 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libusb1, +}: stdenv.mkDerivation rec { pname = "libinklevel"; @@ -14,7 +20,11 @@ stdenv.mkDerivation rec { libusb1 ]; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; meta = with lib; { description = "Library for checking the ink level of your printer"; diff --git a/pkgs/by-name/li/libinotify-kqueue/package.nix b/pkgs/by-name/li/libinotify-kqueue/package.nix index 3d73ace3c925a..f797660b0b79a 100644 --- a/pkgs/by-name/li/libinotify-kqueue/package.nix +++ b/pkgs/by-name/li/libinotify-kqueue/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libinotify-kqueue"; diff --git a/pkgs/by-name/li/libinsane/package.nix b/pkgs/by-name/li/libinsane/package.nix index a83268ca31ad5..c91d4b2711320 100644 --- a/pkgs/by-name/li/libinsane/package.nix +++ b/pkgs/by-name/li/libinsane/package.nix @@ -1,25 +1,30 @@ -{ stdenv -, lib -, meson -, ninja -, fetchFromGitLab -, pkg-config -, glib -, docbook_xsl -, sane-backends -, gobject-introspection -, vala -, gtk-doc -, valgrind -, doxygen -, cunit +{ + stdenv, + lib, + meson, + ninja, + fetchFromGitLab, + pkg-config, + glib, + docbook_xsl, + sane-backends, + gobject-introspection, + vala, + gtk-doc, + valgrind, + doxygen, + cunit, }: stdenv.mkDerivation rec { pname = "libinsane"; version = "1.0.10"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -30,11 +35,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-2BLg8zB0InPJqK9JypQIMVXIJndo9ZuNB4OeOAo/Hsc="; }; - nativeBuildInputs = [ meson pkg-config ninja doxygen gtk-doc docbook_xsl gobject-introspection vala ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + doxygen + gtk-doc + docbook_xsl + gobject-introspection + vala + ]; - buildInputs = [ sane-backends glib ]; + buildInputs = [ + sane-backends + glib + ]; - nativeCheckInputs = [ cunit valgrind ]; + nativeCheckInputs = [ + cunit + valgrind + ]; doCheck = true; diff --git a/pkgs/by-name/li/libinstpatch/package.nix b/pkgs/by-name/li/libinstpatch/package.nix index 670dee26b2bf7..bc7f391ff1e65 100644 --- a/pkgs/by-name/li/libinstpatch/package.nix +++ b/pkgs/by-name/li/libinstpatch/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, glib, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + glib, + libsndfile, +}: stdenv.mkDerivation rec { pname = "libinstpatch"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-OU6/slrPDgzn9tvXZJKSWbcFbpS/EAsOi52FtjeYdvA="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - propagatedBuildInputs = [ glib libsndfile ]; # Both are needed for includes. + propagatedBuildInputs = [ + glib + libsndfile + ]; # Both are needed for includes. cmakeFlags = [ "-DLIB_SUFFIX=" # Install in $out/lib. diff --git a/pkgs/by-name/li/libipfix/package.nix b/pkgs/by-name/li/libipfix/package.nix index e6ddb9b471c7c..70f480e0570b2 100644 --- a/pkgs/by-name/li/libipfix/package.nix +++ b/pkgs/by-name/li/libipfix/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "libipfix"; diff --git a/pkgs/by-name/li/libipt/package.nix b/pkgs/by-name/li/libipt/package.nix index 060f6a803566a..73f14cec3603a 100644 --- a/pkgs/by-name/li/libipt/package.nix +++ b/pkgs/by-name/li/libipt/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, freebsd }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + freebsd, +}: stdenv.mkDerivation rec { pname = "libipt"; diff --git a/pkgs/by-name/li/libiptcdata/package.nix b/pkgs/by-name/li/libiptcdata/package.nix index 741c8d8a74a5a..3e25f36bd6e51 100644 --- a/pkgs/by-name/li/libiptcdata/package.nix +++ b/pkgs/by-name/li/libiptcdata/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libiconv -, libintl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libiconv, + libintl, }: stdenv.mkDerivation rec { @@ -13,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "ianw"; repo = pname; - rev = "release_${builtins.replaceStrings ["."] ["_"] version}"; + rev = "release_${builtins.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-ZjokepDAHiSEwXrkvM9qUAPcpIiRQoOsv7REle7roPU="; }; diff --git a/pkgs/by-name/li/libipuz/package.nix b/pkgs/by-name/li/libipuz/package.nix index 5ea6b5527bb69..38761b128834f 100644 --- a/pkgs/by-name/li/libipuz/package.nix +++ b/pkgs/by-name/li/libipuz/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, glib -, json-glib +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + glib, + json-glib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libircclient/package.nix b/pkgs/by-name/li/libircclient/package.nix index 9d64b53c13f4b..903dafce1b585 100644 --- a/pkgs/by-name/li/libircclient/package.nix +++ b/pkgs/by-name/li/libircclient/package.nix @@ -1,15 +1,22 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.10"; - pname = "libircclient"; + pname = "libircclient"; src = fetchurl { - url = "mirror://sourceforge/${pname}/${pname}/${version}/${pname}-${version}.tar.gz"; + url = "mirror://sourceforge/${pname}/${pname}/${version}/${pname}-${version}.tar.gz"; sha256 = "0b9wa0h3xc31wpqlvgxgnvqp5wgx3kwsf5s9432m5cj8ycx6zcmv"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = [ "--enable-shared" ]; @@ -22,9 +29,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Small but extremely powerful library which implements the client IRC protocol"; - homepage = "http://www.ulduzsoft.com/libircclient/"; - license = licenses.lgpl3; + homepage = "http://www.ulduzsoft.com/libircclient/"; + license = licenses.lgpl3; maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libirecovery/package.nix b/pkgs/by-name/li/libirecovery/package.nix index c58287aedad16..f9be0ab0146bc 100644 --- a/pkgs/by-name/li/libirecovery/package.nix +++ b/pkgs/by-name/li/libirecovery/package.nix @@ -1,18 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libusb1 -, readline -, libimobiledevice-glue +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libusb1, + readline, + libimobiledevice-glue, }: stdenv.mkDerivation rec { pname = "libirecovery"; version = "1.2.1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "libimobiledevice"; diff --git a/pkgs/by-name/li/libiscsi/package.nix b/pkgs/by-name/li/libiscsi/package.nix index 2a0d722c3d0fd..6067083ef57ab 100644 --- a/pkgs/by-name/li/libiscsi/package.nix +++ b/pkgs/by-name/li/libiscsi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libiscsi"; diff --git a/pkgs/by-name/li/libisds/package.nix b/pkgs/by-name/li/libisds/package.nix index 4c61e3c48868d..5ca83d7f6edd6 100644 --- a/pkgs/by-name/li/libisds/package.nix +++ b/pkgs/by-name/li/libisds/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchurl -, expat -, gpgme -, libgcrypt -, libxml2 -, libxslt -, curl -, docbook_xsl +{ + lib, + stdenv, + fetchurl, + expat, + gpgme, + libgcrypt, + libxml2, + libxslt, + curl, + docbook_xsl, }: stdenv.mkDerivation rec { @@ -22,7 +24,15 @@ stdenv.mkDerivation rec { "--with-docbook-xsl-stylesheets=${docbook_xsl}/xml/xsl/docbook" ]; - buildInputs = [ expat gpgme libgcrypt libxml2 libxslt curl docbook_xsl ]; + buildInputs = [ + expat + gpgme + libgcrypt + libxml2 + libxslt + curl + docbook_xsl + ]; NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ]; diff --git a/pkgs/by-name/li/libisoburn/package.nix b/pkgs/by-name/li/libisoburn/package.nix index 498c3394d3e1d..fec34a4345709 100644 --- a/pkgs/by-name/li/libisoburn/package.nix +++ b/pkgs/by-name/li/libisoburn/package.nix @@ -1,17 +1,18 @@ -{ lib -, acl -, attr -, autoreconfHook -, bzip2 -, fetchFromGitea -, libburn -, libcdio -, libiconv -, libisofs -, pkg-config -, readline -, stdenv -, zlib +{ + lib, + acl, + attr, + autoreconfHook, + bzip2, + fetchFromGitea, + libburn, + libcdio, + libiconv, + libisofs, + pkg-config, + readline, + stdenv, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -31,24 +32,32 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - bzip2 - libcdio - libiconv - readline - zlib - libburn - libisofs - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - acl - attr - ]; + buildInputs = + [ + bzip2 + libcdio + libiconv + readline + zlib + libburn + libisofs + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + acl + attr + ]; propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ acl ]; - outputs = [ "out" "lib" "dev" "info" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "info" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/li/libisofs/package.nix b/pkgs/by-name/li/libisofs/package.nix index 52b807c6c8d23..1d8b772eabf93 100644 --- a/pkgs/by-name/li/libisofs/package.nix +++ b/pkgs/by-name/li/libisofs/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitea -, acl -, attr -, autoreconfHook -, libiconv -, zlib +{ + lib, + stdenv, + fetchFromGitea, + acl, + attr, + autoreconfHook, + libiconv, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -24,16 +25,22 @@ stdenv.mkDerivation (finalAttrs: { autoreconfHook ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - acl - attr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ] ++ [ - zlib - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + acl + attr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ] + ++ [ + zlib + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; enableParallelBuilding = true; @@ -42,7 +49,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet"; changelog = "https://dev.lovelyhq.com/libburnia/libisofs/src/tag/${finalAttrs.src.rev}/ChangeLog"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ abbradar AndersonTorres ]; + maintainers = with lib.maintainers; [ + abbradar + AndersonTorres + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/li/libite/package.nix b/pkgs/by-name/li/libite/package.nix index 8b70a3b715f6c..74dffc4d64504 100644 --- a/pkgs/by-name/li/libite/package.nix +++ b/pkgs/by-name/li/libite/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libconfuse }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libconfuse, +}: stdenv.mkDerivation rec { pname = "libite"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-q1NoHSiPmFPwkTJqg3L5fEBXF/JjRWvA9e4d532ILE8="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libconfuse ]; meta = with lib; { @@ -31,7 +41,11 @@ stdenv.mkDerivation rec { homepage = "https://github.com/troglobit/libite"; platforms = with platforms; linux ++ netbsd; maintainers = with maintainers; [ fpletz ]; - license = with licenses; [ mit isc bsd2 bsd3 ]; + license = with licenses; [ + mit + isc + bsd2 + bsd3 + ]; }; } - diff --git a/pkgs/by-name/li/libitl/package.nix b/pkgs/by-name/li/libitl/package.nix index 8bec704064c56..ce6c87b115ee3 100644 --- a/pkgs/by-name/li/libitl/package.nix +++ b/pkgs/by-name/li/libitl/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libivykis/package.nix b/pkgs/by-name/li/libivykis/package.nix index aebc93f7e2240..5cb6cc0fbd0b4 100644 --- a/pkgs/by-name/li/libivykis/package.nix +++ b/pkgs/by-name/li/libivykis/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, file, protobufc }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + file, + protobufc, +}: stdenv.mkDerivation rec { pname = "libivykis"; @@ -10,8 +18,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-k+PpsjdpVDfNY9SqSKjZ39izm8KKGSpXcNETxP6Qme8="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ file protobufc ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + file + protobufc + ]; meta = with lib; { homepage = "https://libivykis.sourceforge.net/"; diff --git a/pkgs/by-name/li/libixion/package.nix b/pkgs/by-name/li/libixion/package.nix index c501442ff8be2..79283f35fa15d 100644 --- a/pkgs/by-name/li/libixion/package.nix +++ b/pkgs/by-name/li/libixion/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, pkg-config -, boost -, mdds -, python3 +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + boost, + mdds, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libixp/package.nix b/pkgs/by-name/li/libixp/package.nix index 7d235d7a7649d..be0cee4aff59a 100644 --- a/pkgs/by-name/li/libixp/package.nix +++ b/pkgs/by-name/li/libixp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, unzip, txt2tags }: +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + txt2tags, +}: stdenv.mkDerivation rec { pname = "libixp"; @@ -17,7 +23,7 @@ stdenv.mkDerivation rec { ''; postConfigure = '' - sed -i -e "s|^PREFIX.*=.*$|PREFIX = $out|" config.mk + sed -i -e "s|^PREFIX.*=.*$|PREFIX = $out|" config.mk ''; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/by-name/li/libjcat/package.nix b/pkgs/by-name/li/libjcat/package.nix index fac097e0d6b0e..8393016e39da6 100644 --- a/pkgs/by-name/li/libjcat/package.nix +++ b/pkgs/by-name/li/libjcat/package.nix @@ -1,27 +1,35 @@ -{ stdenv -, lib -, fetchFromGitHub -, docbook_xml_dtd_43 -, docbook-xsl-nons -, glib -, json-glib -, gnutls -, gpgme -, gobject-introspection -, vala -, gtk-doc -, meson -, ninja -, pkg-config -, python3 -, nixosTests +{ + stdenv, + lib, + fetchFromGitHub, + docbook_xml_dtd_43, + docbook-xsl-nons, + glib, + json-glib, + gnutls, + gpgme, + gobject-introspection, + vala, + gtk-doc, + meson, + ninja, + pkg-config, + python3, + nixosTests, }: stdenv.mkDerivation rec { pname = "libjcat"; version = "0.2.2"; - outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ]; + outputs = [ + "bin" + "out" + "dev" + "devdoc" + "man" + "installedTests" + ]; src = fetchFromGitHub { owner = "hughsie"; diff --git a/pkgs/by-name/li/libjpeg_turbo/package.nix b/pkgs/by-name/li/libjpeg_turbo/package.nix index eb638d8c6e74e..b991a63951fe7 100644 --- a/pkgs/by-name/li/libjpeg_turbo/package.nix +++ b/pkgs/by-name/li/libjpeg_turbo/package.nix @@ -1,33 +1,34 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, nasm -, openjdk -, enableJava ? false # whether to build the java wrapper -, enableJpeg7 ? false # whether to build libjpeg with v7 compatibility -, enableJpeg8 ? false # whether to build libjpeg with v8 compatibility -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nasm, + openjdk, + enableJava ? false, # whether to build the java wrapper + enableJpeg7 ? false, # whether to build libjpeg with v7 compatibility + enableJpeg8 ? false, # whether to build libjpeg with v8 compatibility + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, -# for passthru.tests -, dvgrab -, epeg -, freeimage -, gd -, graphicsmagick -, imagemagick -, imlib2 -, jhead -, libjxl -, mjpegtools -, opencv -, python3 -, vips -, testers + # for passthru.tests + dvgrab, + epeg, + freeimage, + gd, + graphicsmagick, + imagemagick, + imlib2, + jhead, + libjxl, + mjpegtools, + opencv, + python3, + vips, + testers, }: -assert !(enableJpeg7 && enableJpeg8); # pick only one or none, not both +assert !(enableJpeg7 && enableJpeg8); # pick only one or none, not both stdenv.mkDerivation (finalAttrs: { @@ -41,42 +42,59 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ZNqhOfZtWcMv10VWIUxn7MSy4KhW/jBrgC1tUFKczqs="; }; - patches = [ - # This is needed by freeimage - ./0001-Compile-transupp.c-as-part-of-the-library.patch - ] ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ - ./0002-Make-exported-symbols-in-transupp.c-weak.patch - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - ./mingw-boolean.patch - ]; + patches = + [ + # This is needed by freeimage + ./0001-Compile-transupp.c-as-part-of-the-library.patch + ] + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ + ./0002-Make-exported-symbols-in-transupp.c-weak.patch + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + ./mingw-boolean.patch + ]; - outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "dev_private" + "out" + "man" + "doc" + ]; postFixup = '' moveToOutput include/transupp.h $dev_private ''; - nativeBuildInputs = [ - cmake - nasm - ] ++ lib.optionals enableJava [ - openjdk - ]; + nativeBuildInputs = + [ + cmake + nasm + ] + ++ lib.optionals enableJava [ + openjdk + ]; - cmakeFlags = [ - "-DENABLE_STATIC=${if enableStatic then "1" else "0"}" - "-DENABLE_SHARED=${if enableShared then "1" else "0"}" - ] ++ lib.optionals enableJava [ - "-DWITH_JAVA=1" - ] ++ lib.optionals enableJpeg7 [ - "-DWITH_JPEG7=1" - ] ++ lib.optionals enableJpeg8 [ - "-DWITH_JPEG8=1" - ] ++ lib.optionals stdenv.hostPlatform.isRiscV [ - # https://github.com/libjpeg-turbo/libjpeg-turbo/issues/428 - # https://github.com/libjpeg-turbo/libjpeg-turbo/commit/88bf1d16786c74f76f2e4f6ec2873d092f577c75 - "-DFLOATTEST=fp-contract" - ]; + cmakeFlags = + [ + "-DENABLE_STATIC=${if enableStatic then "1" else "0"}" + "-DENABLE_SHARED=${if enableShared then "1" else "0"}" + ] + ++ lib.optionals enableJava [ + "-DWITH_JAVA=1" + ] + ++ lib.optionals enableJpeg7 [ + "-DWITH_JPEG7=1" + ] + ++ lib.optionals enableJpeg8 [ + "-DWITH_JPEG8=1" + ] + ++ lib.optionals stdenv.hostPlatform.isRiscV [ + # https://github.com/libjpeg-turbo/libjpeg-turbo/issues/428 + # https://github.com/libjpeg-turbo/libjpeg-turbo/commit/88bf1d16786c74f76f2e4f6ec2873d092f577c75 + "-DFLOATTEST=fp-contract" + ]; doInstallCheck = true; installCheckTarget = "test"; @@ -93,7 +111,8 @@ stdenv.mkDerivation (finalAttrs: { libjxl mjpegtools opencv - vips; + vips + ; inherit (python3.pkgs) pillow imread pyturbojpeg; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; @@ -102,8 +121,15 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://libjpeg-turbo.org/"; description = "Faster (using SIMD) libjpeg implementation"; license = licenses.ijg; # and some parts under other BSD-style licenses - pkgConfigModules = [ "libjpeg" "libturbojpeg" ]; - maintainers = with maintainers; [ vcunat colemickens kamadorueda ]; + pkgConfigModules = [ + "libjpeg" + "libturbojpeg" + ]; + maintainers = with maintainers; [ + vcunat + colemickens + kamadorueda + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/li/libjson-rpc-cpp/package.nix b/pkgs/by-name/li/libjson-rpc-cpp/package.nix index f132a66560be4..b2e3417c09208 100644 --- a/pkgs/by-name/li/libjson-rpc-cpp/package.nix +++ b/pkgs/by-name/li/libjson-rpc-cpp/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, argtable, catch2 -, curl, doxygen, hiredis, jsoncpp, libmicrohttpd }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + argtable, + catch2, + curl, + doxygen, + hiredis, + jsoncpp, + libmicrohttpd, +}: stdenv.mkDerivation rec { pname = "libjson-rpc-cpp"; @@ -14,9 +26,20 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-I${catch2}/include/catch2"; - nativeBuildInputs = [ pkg-config cmake doxygen ]; + nativeBuildInputs = [ + pkg-config + cmake + doxygen + ]; - buildInputs = [ argtable catch2 curl hiredis jsoncpp libmicrohttpd ]; + buildInputs = [ + argtable + catch2 + curl + hiredis + jsoncpp + libmicrohttpd + ]; postPatch = '' for f in cmake/FindArgtable.cmake \ @@ -47,7 +70,12 @@ stdenv.mkDerivation rec { function fixRunPath { p=$(patchelf --print-rpath $1) q="$p:${ - lib.makeLibraryPath [ jsoncpp argtable libmicrohttpd curl ] + lib.makeLibraryPath [ + jsoncpp + argtable + libmicrohttpd + curl + ] }:$out/lib" patchelf --set-rpath $q $1 } diff --git a/pkgs/by-name/li/libjson/package.nix b/pkgs/by-name/li/libjson/package.nix index dd68957616b6f..9f27a1a319ada 100644 --- a/pkgs/by-name/li/libjson/package.nix +++ b/pkgs/by-name/li/libjson/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "libjson"; diff --git a/pkgs/by-name/li/libjwt/package.nix b/pkgs/by-name/li/libjwt/package.nix index abb6f7a220d98..d4ebba5f18423 100644 --- a/pkgs/by-name/li/libjwt/package.nix +++ b/pkgs/by-name/li/libjwt/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config, jansson, openssl }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + jansson, + openssl, +}: stdenv.mkDerivation rec { pname = "libjwt"; @@ -11,8 +19,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-0gFMeSW4gfbI6MUctcN8UuKhMDswaT8BzHTV2VuwZzc="; }; - buildInputs = [ jansson openssl ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + jansson + openssl + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = with lib; { homepage = "https://github.com/benmcollins/libjwt"; diff --git a/pkgs/by-name/li/libjxl/package.nix b/pkgs/by-name/li/libjxl/package.nix index 2bd30ddda8e26..1931916121c4a 100644 --- a/pkgs/by-name/li/libjxl/package.nix +++ b/pkgs/by-name/li/libjxl/package.nix @@ -1,24 +1,27 @@ -{ stdenv, lib, fetchFromGitHub -, brotli -, cmake -, giflib -, gperftools -, gtest -, libhwy -, libjpeg -, libpng -, libwebp -, gdk-pixbuf -, openexr_3 -, pkg-config -, makeWrapper -, zlib -, asciidoc -, graphviz -, doxygen -, python3 -, lcms2 -, enablePlugins ? true +{ + stdenv, + lib, + fetchFromGitHub, + brotli, + cmake, + giflib, + gperftools, + gtest, + libhwy, + libjpeg, + libpng, + libwebp, + gdk-pixbuf, + openexr_3, + pkg-config, + makeWrapper, + zlib, + asciidoc, + graphviz, + doxygen, + python3, + lcms2, + enablePlugins ? true, }: let @@ -29,7 +32,10 @@ stdenv.mkDerivation rec { pname = "libjxl"; version = "0.11.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "libjxl"; @@ -90,33 +96,37 @@ stdenv.mkDerivation rec { libhwy ]; - cmakeFlags = [ - # For C dependencies like brotli, which are dynamically linked, - # we want to use the system libraries, so that we don't have to care about - # installing their .so files generated by this build. - # The other C++ dependencies are statically linked in, so there - # using the vendorered ones is easier. - "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON" - - # Use our version of highway, though it is still statically linked in - "-DJPEGXL_FORCE_SYSTEM_HWY=ON" - - # Use our version of gtest - "-DJPEGXL_FORCE_SYSTEM_GTEST=ON" - - # TODO: Update this package to enable this (overridably via an option): - # Viewer tools for evaluation. - # "-DJPEGXL_ENABLE_VIEWERS=ON" - ] ++ lib.optionals enablePlugins [ - # Enable plugins, such as: - # * the `gdk-pixbuf` one, which allows applications like `eog` to load jpeg-xl files - # * the `gimp` one, which allows GIMP to load jpeg-xl files - "-DJPEGXL_ENABLE_PLUGINS=ON" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "-DJPEGXL_STATIC=ON" - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - "-DJPEGXL_FORCE_NEON=ON" - ]; + cmakeFlags = + [ + # For C dependencies like brotli, which are dynamically linked, + # we want to use the system libraries, so that we don't have to care about + # installing their .so files generated by this build. + # The other C++ dependencies are statically linked in, so there + # using the vendorered ones is easier. + "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON" + + # Use our version of highway, though it is still statically linked in + "-DJPEGXL_FORCE_SYSTEM_HWY=ON" + + # Use our version of gtest + "-DJPEGXL_FORCE_SYSTEM_GTEST=ON" + + # TODO: Update this package to enable this (overridably via an option): + # Viewer tools for evaluation. + # "-DJPEGXL_ENABLE_VIEWERS=ON" + ] + ++ lib.optionals enablePlugins [ + # Enable plugins, such as: + # * the `gdk-pixbuf` one, which allows applications like `eog` to load jpeg-xl files + # * the `gimp` one, which allows GIMP to load jpeg-xl files + "-DJPEGXL_ENABLE_PLUGINS=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "-DJPEGXL_STATIC=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DJPEGXL_FORCE_NEON=ON" + ]; # the second substitution fix regex for a2x script # https://github.com/libjxl/libjxl/pull/3842 @@ -127,17 +137,18 @@ stdenv.mkDerivation rec { --replace 'sh$' 'sh( -e$|$)' ''; - postInstall = lib.optionalString enablePlugins '' - GDK_PIXBUF_MODULEDIR="$out/${gdk-pixbuf.moduleDir}" \ - GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}" \ - gdk-pixbuf-query-loaders --update-cache - '' - # Cross-compiled gdk-pixbuf doesn't support thumbnailers - + lib.optionalString (enablePlugins && stdenv.hostPlatform == stdenv.buildPlatform) '' - mkdir -p "$out/bin" - makeWrapper ${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer "$out/libexec/gdk-pixbuf-thumbnailer-jxl" \ - --set GDK_PIXBUF_MODULE_FILE "$out/${loadersPath}" - ''; + postInstall = + lib.optionalString enablePlugins '' + GDK_PIXBUF_MODULEDIR="$out/${gdk-pixbuf.moduleDir}" \ + GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}" \ + gdk-pixbuf-query-loaders --update-cache + '' + # Cross-compiled gdk-pixbuf doesn't support thumbnailers + + lib.optionalString (enablePlugins && stdenv.hostPlatform == stdenv.buildPlatform) '' + mkdir -p "$out/bin" + makeWrapper ${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer "$out/libexec/gdk-pixbuf-thumbnailer-jxl" \ + --set GDK_PIXBUF_MODULE_FILE "$out/${loadersPath}" + ''; CXXFLAGS = lib.optionalString stdenv.hostPlatform.isAarch32 "-mfp16-format=ieee"; diff --git a/pkgs/by-name/li/libkate/package.nix b/pkgs/by-name/li/libkate/package.nix index d1a9711ddd891..418e91d7ebb07 100644 --- a/pkgs/by-name/li/libkate/package.nix +++ b/pkgs/by-name/li/libkate/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libogg, libpng }: +{ + lib, + stdenv, + fetchurl, + libogg, + libpng, +}: stdenv.mkDerivation rec { pname = "libkate"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"; }; - buildInputs = [ libogg libpng ]; + buildInputs = [ + libogg + libpng + ]; meta = with lib; { description = "Library for encoding and decoding Kate streams"; diff --git a/pkgs/by-name/li/libkcapi/package.nix b/pkgs/by-name/li/libkcapi/package.nix index 93405b1f9e3b0..97009bbe40f9e 100644 --- a/pkgs/by-name/li/libkcapi/package.nix +++ b/pkgs/by-name/li/libkcapi/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, buildPackages +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + buildPackages, # libkcapi offers multiple tools. They can be disabled for minimization. -, kcapi-test ? true -, kcapi-speed ? true -, kcapi-hasher ? true -, kcapi-rngapp ? true -, kcapi-encapp ? true -, kcapi-dgstapp ? true + kcapi-test ? true, + kcapi-speed ? true, + kcapi-hasher ? true, + kcapi-rngapp ? true, + kcapi-encapp ? true, + kcapi-dgstapp ? true, }: stdenv.mkDerivation rec { @@ -35,19 +36,24 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; configureFlags = - lib.optional kcapi-test "--enable-kcapi-test" ++ - lib.optional kcapi-speed "--enable-kcapi-speed" ++ - lib.optional kcapi-hasher "--enable-kcapi-hasher" ++ - lib.optional kcapi-rngapp "--enable-kcapi-rngapp" ++ - lib.optional kcapi-encapp "--enable-kcapi-encapp" ++ - lib.optional kcapi-dgstapp "--enable-kcapi-dgstapp" - ; + lib.optional kcapi-test "--enable-kcapi-test" + ++ lib.optional kcapi-speed "--enable-kcapi-speed" + ++ lib.optional kcapi-hasher "--enable-kcapi-hasher" + ++ lib.optional kcapi-rngapp "--enable-kcapi-rngapp" + ++ lib.optional kcapi-encapp "--enable-kcapi-encapp" + ++ lib.optional kcapi-dgstapp "--enable-kcapi-dgstapp"; meta = { homepage = "http://www.chronox.de/libkcapi.html"; description = "Linux Kernel Crypto API User Space Interface Library"; - license = with lib.licenses; [ bsd3 gpl2Only ]; + license = with lib.licenses; [ + bsd3 + gpl2Only + ]; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ orichter thillux ]; + maintainers = with lib.maintainers; [ + orichter + thillux + ]; }; } diff --git a/pkgs/by-name/li/libkeyfinder/package.nix b/pkgs/by-name/li/libkeyfinder/package.nix index d6f16f65df5d8..350f44dea2902 100644 --- a/pkgs/by-name/li/libkeyfinder/package.nix +++ b/pkgs/by-name/li/libkeyfinder/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, fftw, catch2_3 }: +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + cmake, + fftw, + catch2_3, +}: stdenv.mkDerivation rec { pname = "libkeyfinder"; diff --git a/pkgs/by-name/li/libkkc-data/package.nix b/pkgs/by-name/li/libkkc-data/package.nix index 516dd61c60f36..dfd6d86a28998 100644 --- a/pkgs/by-name/li/libkkc-data/package.nix +++ b/pkgs/by-name/li/libkkc-data/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, python3, libkkc }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + python3, + libkkc, +}: stdenv.mkDerivation rec { pname = "libkkc-data"; @@ -24,9 +31,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Language model data package for libkkc"; - homepage = "https://github.com/ueno/libkkc"; - license = licenses.gpl3Plus; + homepage = "https://github.com/ueno/libkkc"; + license = licenses.gpl3Plus; maintainers = with maintainers; [ vanzef ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libkkc/package.nix b/pkgs/by-name/li/libkkc/package.nix index 06bc775689f2d..a329b39739de8 100644 --- a/pkgs/by-name/li/libkkc/package.nix +++ b/pkgs/by-name/li/libkkc/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl, fetchpatch -, vala, gobject-introspection, intltool, python3, glib -, pkg-config -, libgee, json-glib, marisa, libkkc-data +{ + lib, + stdenv, + fetchurl, + fetchpatch, + vala, + gobject-introspection, + intltool, + python3, + glib, + pkg-config, + libgee, + json-glib, + marisa, + libkkc-data, }: stdenv.mkDerivation rec { @@ -22,15 +33,25 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - vala gobject-introspection - python3 python3.pkgs.marisa - intltool glib pkg-config + vala + gobject-introspection + python3 + python3.pkgs.marisa + intltool + glib + pkg-config ]; - buildInputs = [ marisa libkkc-data ]; + buildInputs = [ + marisa + libkkc-data + ]; enableParallelBuilding = true; - propagatedBuildInputs = [ libgee json-glib ]; + propagatedBuildInputs = [ + libgee + json-glib + ]; postInstall = '' ln -s ${libkkc-data}/lib/libkkc/models $out/share/libkkc/models @@ -38,9 +59,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Japanese Kana Kanji conversion input method library"; - homepage = "https://github.com/ueno/libkkc"; - license = licenses.gpl3Plus; + homepage = "https://github.com/ueno/libkkc"; + license = licenses.gpl3Plus; maintainers = with maintainers; [ vanzef ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libkqueue/package.nix b/pkgs/by-name/li/libkqueue/package.nix index 54b6b2beecac8..cfb21e6906b70 100644 --- a/pkgs/by-name/li/libkqueue/package.nix +++ b/pkgs/by-name/li/libkqueue/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libkqueue"; diff --git a/pkgs/by-name/li/libkrun/package.nix b/pkgs/by-name/li/libkrun/package.nix index 92a03018ca425..dbe52975d7fa2 100644 --- a/pkgs/by-name/li/libkrun/package.nix +++ b/pkgs/by-name/li/libkrun/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cargo -, pkg-config -, glibc -, openssl -, libepoxy -, libdrm -, pipewire -, virglrenderer -, libkrunfw -, rustc -, withGpu ? false -, withSound ? false -, withNet ? false -, sevVariant ? false +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cargo, + pkg-config, + glibc, + openssl, + libepoxy, + libdrm, + pipewire, + virglrenderer, + libkrunfw, + rustc, + withGpu ? false, + withSound ? false, + withNet ? false, + sevVariant ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -29,7 +30,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-a5ot5ad8boANK3achn6PJ52k/xmxawbTM0/hEEC/fss="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cargoDeps = rustPlatform.fetchCargoTarball { inherit (finalAttrs) src; @@ -43,17 +47,25 @@ stdenv.mkDerivation (finalAttrs: { rustc ] ++ lib.optional (sevVariant || withGpu) pkg-config; - buildInputs = [ - (libkrunfw.override { inherit sevVariant; }) - glibc - glibc.static - ] ++ lib.optionals withGpu [ libepoxy libdrm virglrenderer ] + buildInputs = + [ + (libkrunfw.override { inherit sevVariant; }) + glibc + glibc.static + ] + ++ lib.optionals withGpu [ + libepoxy + libdrm + virglrenderer + ] ++ lib.optional withSound pipewire ++ lib.optional sevVariant openssl; - makeFlags = [ - "PREFIX=${placeholder "out"}" - ] ++ lib.optional withGpu "GPU=1" + makeFlags = + [ + "PREFIX=${placeholder "out"}" + ] + ++ lib.optional withGpu "GPU=1" ++ lib.optional withSound "SND=1" ++ lib.optional withNet "NET=1" ++ lib.optional sevVariant "SEV=1"; @@ -68,7 +80,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Dynamic library providing Virtualization-based process isolation capabilities"; homepage = "https://github.com/containers/libkrun"; license = licenses.asl20; - maintainers = with maintainers; [ nickcao RossComputerGuy ]; + maintainers = with maintainers; [ + nickcao + RossComputerGuy + ]; platforms = libkrunfw.meta.platforms; }; }) diff --git a/pkgs/by-name/li/libkrunfw/package.nix b/pkgs/by-name/li/libkrunfw/package.nix index 10245ed920c5f..82f84b0b7a7dd 100644 --- a/pkgs/by-name/li/libkrunfw/package.nix +++ b/pkgs/by-name/li/libkrunfw/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, flex -, bison -, bc -, cpio -, perl -, elfutils -, python3 -, sevVariant ? false +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + flex, + bison, + bc, + cpio, + perl, + elfutils, + python3, + sevVariant ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -47,11 +48,13 @@ stdenv.mkDerivation (finalAttrs: { elfutils ]; - makeFlags = [ - "PREFIX=${placeholder "out"}" - ] ++ lib.optionals sevVariant [ - "SEV=1" - ]; + makeFlags = + [ + "PREFIX=${placeholder "out"}" + ] + ++ lib.optionals sevVariant [ + "SEV=1" + ]; # Fixes https://github.com/containers/libkrunfw/issues/55 NIX_CFLAGS_COMPILE = lib.optionalString stdenv.targetPlatform.isAarch64 "-march=armv8-a+crypto"; @@ -61,8 +64,14 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Dynamic library bundling the guest payload consumed by libkrun"; homepage = "https://github.com/containers/libkrunfw"; - license = with licenses; [ lgpl2Only lgpl21Only ]; - maintainers = with maintainers; [ nickcao RossComputerGuy ]; + license = with licenses; [ + lgpl2Only + lgpl21Only + ]; + maintainers = with maintainers; [ + nickcao + RossComputerGuy + ]; platforms = [ "x86_64-linux" ] ++ lib.optionals (!sevVariant) [ "aarch64-linux" ]; }; }) diff --git a/pkgs/by-name/li/libks/package.nix b/pkgs/by-name/li/libks/package.nix index cc6311f024ace..80d0ce24474a8 100644 --- a/pkgs/by-name/li/libks/package.nix +++ b/pkgs/by-name/li/libks/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, libuuid -, openssl -, libossp_uuid -, freeswitch -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + libuuid, + openssl, + libossp_uuid, + freeswitch, + nix-update-script, }: stdenv.mkDerivation rec { @@ -36,7 +37,8 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optional stdenv.hostPlatform.isLinux libuuid ++ lib.optional stdenv.hostPlatform.isDarwin libossp_uuid; diff --git a/pkgs/by-name/li/libksba/package.nix b/pkgs/by-name/li/libksba/package.nix index 5eb07184c651f..e45be78cae0a4 100644 --- a/pkgs/by-name/li/libksba/package.nix +++ b/pkgs/by-name/li/libksba/package.nix @@ -1,4 +1,11 @@ -{ buildPackages, lib, stdenv, fetchurl, gettext, libgpg-error }: +{ + buildPackages, + lib, + stdenv, + fetchurl, + gettext, + libgpg-error, +}: stdenv.mkDerivation rec { pname = "libksba"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { hash = "sha256-z3JRC467TrZpPu92V0nYNnegPHkpGjEQQKW/15uqt2M="; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; buildInputs = [ gettext ]; propagatedBuildInputs = [ libgpg-error ]; diff --git a/pkgs/by-name/li/libksi/package.nix b/pkgs/by-name/li/libksi/package.nix index 3698be42d5f62..162167e820f73 100644 --- a/pkgs/by-name/li/libksi/package.nix +++ b/pkgs/by-name/li/libksi/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, openssl, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, + curl, +}: stdenv.mkDerivation rec { pname = "libksi"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl curl ]; + buildInputs = [ + openssl + curl + ]; configureFlags = [ "--with-openssl=${openssl.dev}" diff --git a/pkgs/by-name/li/liblangtag/package.nix b/pkgs/by-name/li/liblangtag/package.nix index 38f1cc03cac48..cebc9e20f5218 100644 --- a/pkgs/by-name/li/liblangtag/package.nix +++ b/pkgs/by-name/li/liblangtag/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, gtk-doc, gettext -, pkg-config, glib, libxml2, gobject-introspection, gnome-common, unzip +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + gtk-doc, + gettext, + pkg-config, + glib, + libxml2, + gobject-introspection, + gnome-common, + unzip, }: stdenv.mkDerivation rec { @@ -44,13 +56,24 @@ stdenv.mkDerivation rec { cp "${language_subtag_registry}" data/language-subtag-registry ''; - configureFlags = - lib.optional - (stdenv.hostPlatform.libc == "glibc") - "--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias"; + configureFlags = lib.optional ( + stdenv.hostPlatform.libc == "glibc" + ) "--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias"; - buildInputs = [ gettext glib libxml2 gnome-common ]; - nativeBuildInputs = [ autoreconfHook gtk-doc gettext pkg-config unzip gobject-introspection ]; + buildInputs = [ + gettext + glib + libxml2 + gnome-common + ]; + nativeBuildInputs = [ + autoreconfHook + gtk-doc + gettext + pkg-config + unzip + gobject-introspection + ]; meta = with lib; { description = "Interface library to access tags for identifying languages"; diff --git a/pkgs/by-name/li/liblapin/package.nix b/pkgs/by-name/li/liblapin/package.nix index f736bb2d42687..5f232058a0492 100644 --- a/pkgs/by-name/li/liblapin/package.nix +++ b/pkgs/by-name/li/liblapin/package.nix @@ -47,7 +47,10 @@ stdenv.mkDerivation { libudev-zero ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = { description = "Multimedia library for rookies and prototyping"; diff --git a/pkgs/by-name/li/liblastfmSF/package.nix b/pkgs/by-name/li/liblastfmSF/package.nix index f25ee3afae4a4..8c7af49f4be05 100644 --- a/pkgs/by-name/li/liblastfmSF/package.nix +++ b/pkgs/by-name/li/liblastfmSF/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, curl, openssl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + curl, + openssl, +}: stdenv.mkDerivation rec { pname = "liblastfm-SF"; @@ -6,7 +13,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ curl openssl ]; + propagatedBuildInputs = [ + curl + openssl + ]; src = fetchurl { url = "mirror://sourceforge/liblastfm/libclastfm-${version}.tar.gz"; diff --git a/pkgs/by-name/li/liblaxjson/package.nix b/pkgs/by-name/li/liblaxjson/package.nix index 9464714d5cc90..905cc1cb9a165 100644 --- a/pkgs/by-name/li/liblaxjson/package.nix +++ b/pkgs/by-name/li/liblaxjson/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { version = "1.0.5"; diff --git a/pkgs/by-name/li/liblbfgs/package.nix b/pkgs/by-name/li/liblbfgs/package.nix index d429c4c1f703c..2b85c561f88a6 100644 --- a/pkgs/by-name/li/liblbfgs/package.nix +++ b/pkgs/by-name/li/liblbfgs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "liblbfgs"; version = "1.10"; diff --git a/pkgs/by-name/li/liblc3/package.nix b/pkgs/by-name/li/liblc3/package.nix index ff04d23cb0c63..0da8995a793ff 100644 --- a/pkgs/by-name/li/liblc3/package.nix +++ b/pkgs/by-name/li/liblc3/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, }: let @@ -20,7 +21,10 @@ stdenv.mkDerivation { sha256 = "sha256-h9qy04FqlHXp0bOUoP4+WqI0yrM78e56S+DEn3HztYo="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson @@ -35,4 +39,3 @@ stdenv.mkDerivation { maintainers = with maintainers; [ jansol ]; }; } - diff --git a/pkgs/by-name/li/liblcf/package.nix b/pkgs/by-name/li/liblcf/package.nix index 07f24f4d5a06a..4721bd659ce57 100644 --- a/pkgs/by-name/li/liblcf/package.nix +++ b/pkgs/by-name/li/liblcf/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, expat -, icu +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + expat, + icu, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libleidenalg/package.nix b/pkgs/by-name/li/libleidenalg/package.nix index 75cdd34efa0f6..13dac32268ed8 100644 --- a/pkgs/by-name/li/libleidenalg/package.nix +++ b/pkgs/by-name/li/libleidenalg/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, igraph +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + igraph, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/liblinear/package.nix b/pkgs/by-name/li/liblinear/package.nix index 31da8305be7ae..75ff37996e75e 100644 --- a/pkgs/by-name/li/liblinear/package.nix +++ b/pkgs/by-name/li/liblinear/package.nix @@ -1,32 +1,53 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: let soVersion = "5"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "liblinear"; version = "2.47"; src = fetchFromGitHub { owner = "cjlin1"; repo = "liblinear"; - rev = "v${builtins.replaceStrings ["."] [""] version}"; + rev = "v${builtins.replaceStrings [ "." ] [ "" ] version}"; sha256 = "sha256-so7uCc/52NdN0V2Ska8EUdw/wSegaudX5AF+c0xe5jk="; }; - makeFlags = [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ]; + makeFlags = [ + "AR=${stdenv.cc.targetPrefix}ar" + "RANLIB=${stdenv.cc.targetPrefix}ranlib" + ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; - buildFlags = [ "lib" "predict" "train" ]; + buildFlags = [ + "lib" + "predict" + "train" + ]; installPhase = '' - ${if stdenv.hostPlatform.isDarwin then '' - install -D liblinear.so.${soVersion} $out/lib/liblinear.${soVersion}.dylib - ln -s $out/lib/liblinear.${soVersion}.dylib $out/lib/liblinear.dylib - '' else '' - install -Dt $out/lib liblinear.so.${soVersion} - ln -s $out/lib/liblinear.so.${soVersion} $out/lib/liblinear.so - ''} + ${ + if stdenv.hostPlatform.isDarwin then + '' + install -D liblinear.so.${soVersion} $out/lib/liblinear.${soVersion}.dylib + ln -s $out/lib/liblinear.${soVersion}.dylib $out/lib/liblinear.dylib + '' + else + '' + install -Dt $out/lib liblinear.so.${soVersion} + ln -s $out/lib/liblinear.so.${soVersion} $out/lib/liblinear.so + '' + } install -D train $bin/bin/liblinear-train install -D predict $bin/bin/liblinear-predict install -Dm444 -t $dev/include linear.h diff --git a/pkgs/by-name/li/liblinphone/package.nix b/pkgs/by-name/li/liblinphone/package.nix index a4a1e03e93ef0..f22403a79cb35 100644 --- a/pkgs/by-name/li/liblinphone/package.nix +++ b/pkgs/by-name/li/liblinphone/package.nix @@ -1,19 +1,20 @@ -{ lib -, bc-soci -, belcard -, belle-sip -, cmake -, doxygen -, fetchFromGitLab -, jsoncpp -, libxml2 -, lime -, mediastreamer -, python3 -, sqlite -, stdenv -, xercesc -, zxing-cpp +{ + lib, + bc-soci, + belcard, + belle-sip, + cmake, + doxygen, + fetchFromGitLab, + jsoncpp, + libxml2, + lime, + mediastreamer, + python3, + sqlite, + stdenv, + xercesc, + zxing-cpp, }: stdenv.mkDerivation rec { @@ -67,7 +68,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake doxygen - (python3.withPackages (ps: [ ps.pystache ps.six ])) + (python3.withPackages (ps: [ + ps.pystache + ps.six + ])) ]; strictDeps = true; diff --git a/pkgs/by-name/li/liblo/package.nix b/pkgs/by-name/li/liblo/package.nix index 1a9ce7c331a03..71483dc24d42c 100644 --- a/pkgs/by-name/li/liblo/package.nix +++ b/pkgs/by-name/li/liblo/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "liblo"; @@ -15,7 +19,7 @@ stdenv.mkDerivation rec { description = "Lightweight library to handle the sending and receiving of messages according to the Open Sound Control (OSC) protocol"; homepage = "https://sourceforge.net/projects/liblo"; license = lib.licenses.gpl2; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = with lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/li/liblockfile/package.nix b/pkgs/by-name/li/liblockfile/package.nix index 17fc086704ec1..7d1d1b5769334 100644 --- a/pkgs/by-name/li/liblockfile/package.nix +++ b/pkgs/by-name/li/liblockfile/package.nix @@ -1,9 +1,13 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { - _name = "liblockfile"; + _name = "liblockfile"; version = "1.17"; - name = "${_name}-${version}"; + name = "${_name}-${version}"; src = fetchurl { url = "mirror://debian/pool/main/libl/${_name}/${_name}_${version}.orig.tar.gz"; diff --git a/pkgs/by-name/li/liblogging/package.nix b/pkgs/by-name/li/liblogging/package.nix index 50b850b886a5e..40f9d0a76d7fe 100644 --- a/pkgs/by-name/li/liblogging/package.nix +++ b/pkgs/by-name/li/liblogging/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd +{ + lib, + stdenv, + fetchurl, + pkg-config, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/liblognorm/package.nix b/pkgs/by-name/li/liblognorm/package.nix index 184d9932eb281..68c757de75e8f 100644 --- a/pkgs/by-name/li/liblognorm/package.nix +++ b/pkgs/by-name/li/liblognorm/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, libestr, json_c, pcre, fastJson }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libestr, + json_c, + pcre, + fastJson, +}: stdenv.mkDerivation rec { pname = "liblognorm"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libestr json_c pcre fastJson ]; + buildInputs = [ + libestr + json_c + pcre + fastJson + ]; configureFlags = [ "--enable-regexp" ]; diff --git a/pkgs/by-name/li/libltc/package.nix b/pkgs/by-name/li/libltc/package.nix index a290b9bce9e05..9c07075526a88 100644 --- a/pkgs/by-name/li/libltc/package.nix +++ b/pkgs/by-name/li/libltc/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libltc"; diff --git a/pkgs/by-name/li/libmad/package.nix b/pkgs/by-name/li/libmad/package.nix index a8c212ea84639..f6772748edb72 100644 --- a/pkgs/by-name/li/libmad/package.nix +++ b/pkgs/by-name/li/libmad/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoconf +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoconf, -# for passthru.tests -, audacity -, mpd -, normalize -, ocamlPackages -, streamripper -, vlc + # for passthru.tests + audacity, + mpd, + normalize, + ocamlPackages, + streamripper, + vlc, }: stdenv.mkDerivation rec { @@ -22,42 +23,46 @@ stdenv.mkDerivation rec { sha256 = "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"; }; - outputs = [ "out" "dev" ]; - - patches = [ - (fetchpatch { - url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/001-mips_removal_h_constraint.patch"; - sha256 = "0layswr6qg6axf4vyz6xrv73jwga34mkma3ifk9w9vrk41454hr5"; - }) - (fetchpatch { - url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/libmad.patch"; - sha256 = "0rysq0sn3dfdz6pa6bfqkmk4ymc4rzk5ym7p16dyk37sldg1pbzs"; - }) - (fetchpatch { - url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/amd64-64bit.diff"; - sha256 = "0mx56dmkbvw3zxnqd2hjng48q0d7q7473pns4n0ksdam29b0c5ar"; - }) - (fetchpatch { - name = "CVE-2017-8372-CVE-2017-8373.patch"; - url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/102-CVE-2017-8373-CVE-2017-8372-md-size.patch"; - sha256 = "0p6mkpn66h1ds8jvww28q4vlr58jwm58m9vb7pkvvyvy764agqnk"; - }) - (fetchpatch { - name = "CVE-2017-8374.patch"; - url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/101-CVE-2017-8374-length-check.patch"; - sha256 = "1j1ssxwmx9nfahzl62frbzck93xrjc2v3w30c12vmk29iflf1890"; - }) - ] - # optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad - # It is included here in order to fix a build failure in Clang - # But it may be useful to fix other, currently unknown problems as well - ++ lib.optionals stdenv.cc.isClang [ - (fetchpatch { - url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/optimize.diff"; - sha256 = "0hcxzz9ql1fizyqbsgdchdwi7bvchfr72172j43hpyj53p0yabc6"; - }) + outputs = [ + "out" + "dev" ]; + patches = + [ + (fetchpatch { + url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/001-mips_removal_h_constraint.patch"; + sha256 = "0layswr6qg6axf4vyz6xrv73jwga34mkma3ifk9w9vrk41454hr5"; + }) + (fetchpatch { + url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/libmad.patch"; + sha256 = "0rysq0sn3dfdz6pa6bfqkmk4ymc4rzk5ym7p16dyk37sldg1pbzs"; + }) + (fetchpatch { + url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/amd64-64bit.diff"; + sha256 = "0mx56dmkbvw3zxnqd2hjng48q0d7q7473pns4n0ksdam29b0c5ar"; + }) + (fetchpatch { + name = "CVE-2017-8372-CVE-2017-8373.patch"; + url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/102-CVE-2017-8373-CVE-2017-8372-md-size.patch"; + sha256 = "0p6mkpn66h1ds8jvww28q4vlr58jwm58m9vb7pkvvyvy764agqnk"; + }) + (fetchpatch { + name = "CVE-2017-8374.patch"; + url = "https://github.com/openwrt/packages/raw/openwrt-19.07/libs/libmad/patches/101-CVE-2017-8374-length-check.patch"; + sha256 = "1j1ssxwmx9nfahzl62frbzck93xrjc2v3w30c12vmk29iflf1890"; + }) + ] + # optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad + # It is included here in order to fix a build failure in Clang + # But it may be useful to fix other, currently unknown problems as well + ++ lib.optionals stdenv.cc.isClang [ + (fetchpatch { + url = "https://github.com/KaOSx/main/raw/1270b8080f37fb6cca562829a521991800b0a497/libmad/optimize.diff"; + sha256 = "0hcxzz9ql1fizyqbsgdchdwi7bvchfr72172j43hpyj53p0yabc6"; + }) + ]; + # The -fforce-mem flag has been removed in GCC 4.3. postPatch = '' substituteInPlace configure.ac --replace "-fforce-mem" "" @@ -69,15 +74,21 @@ stdenv.mkDerivation rec { preConfigure = "autoconf"; passthru.tests = { - inherit audacity mpd normalize streamripper vlc; + inherit + audacity + mpd + normalize + streamripper + vlc + ; ocaml-mad = ocamlPackages.mad; }; meta = with lib; { - homepage = "https://sourceforge.net/projects/mad/"; + homepage = "https://sourceforge.net/projects/mad/"; description = "High-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2"; - license = licenses.gpl2; + license = licenses.gpl2; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/li/libmanette/package.nix b/pkgs/by-name/li/libmanette/package.nix index 594ba202a6e1c..4a0bb9f0a97df 100644 --- a/pkgs/by-name/li/libmanette/package.nix +++ b/pkgs/by-name/li/libmanette/package.nix @@ -1,54 +1,66 @@ -{ lib, stdenv -, fetchurl -, ninja -, meson -, mesonEmulatorHook -, pkg-config -, vala -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, glib -, libgudev -, libevdev -, gnome +{ + lib, + stdenv, + fetchurl, + ninja, + meson, + mesonEmulatorHook, + pkg-config, + vala, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + glib, + libgudev, + libevdev, + gnome, }: stdenv.mkDerivation rec { pname = "libmanette"; version = "0.2.9"; - outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; hash = "sha256-KTZr5UUvYKdMZfxk/+LXTt3U5uaCTCzvpWekO9kraI8="; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - glib - ] ++ lib.optionals withIntrospection [ - vala - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - ] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + glib + ] + ++ lib.optionals withIntrospection [ + vala + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ] + ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - glib - libevdev - ] ++ lib.optionals withIntrospection [ - libgudev - ]; + buildInputs = + [ + glib + libevdev + ] + ++ lib.optionals withIntrospection [ + libgudev + ]; mesonFlags = [ (lib.mesonBool "doc" withIntrospection) diff --git a/pkgs/by-name/li/libmatchbox/package.nix b/pkgs/by-name/li/libmatchbox/package.nix index 50b66eccfb3d6..c8f757899b314 100644 --- a/pkgs/by-name/li/libmatchbox/package.nix +++ b/pkgs/by-name/li/libmatchbox/package.nix @@ -1,11 +1,31 @@ -{ lib, stdenv, fetchurl, libX11, libXext, libpng, libXft, libICE, pango, libjpeg}: +{ + lib, + stdenv, + fetchurl, + libX11, + libXext, + libpng, + libXft, + libICE, + pango, + libjpeg, +}: stdenv.mkDerivation rec { pname = "libmatchbox"; version = "1.11"; - buildInputs = [ libXft libICE pango libjpeg ]; - propagatedBuildInputs = [ libX11 libXext libpng ]; + buildInputs = [ + libXft + libICE + pango + libjpeg + ]; + propagatedBuildInputs = [ + libX11 + libXext + libpng + ]; NIX_LDFLAGS = "-lX11"; src = fetchurl { diff --git a/pkgs/by-name/li/libmatheval/package.nix b/pkgs/by-name/li/libmatheval/package.nix index 7ee8b86566472..41f55701d1ffa 100644 --- a/pkgs/by-name/li/libmatheval/package.nix +++ b/pkgs/by-name/li/libmatheval/package.nix @@ -1,10 +1,21 @@ -{ lib, stdenv, fetchurl, pkg-config, guile, flex, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + guile, + flex, + fetchpatch, +}: stdenv.mkDerivation rec { version = "1.1.11"; pname = "libmatheval"; - nativeBuildInputs = [ pkg-config flex ]; + nativeBuildInputs = [ + pkg-config + flex + ]; buildInputs = [ guile ]; src = fetchurl { @@ -47,4 +58,3 @@ stdenv.mkDerivation rec { platforms = lib.platforms.unix; }; } - diff --git a/pkgs/by-name/li/libmaxminddb/package.nix b/pkgs/by-name/li/libmaxminddb/package.nix index f86e7d256040f..539fa33d2c545 100644 --- a/pkgs/by-name/li/libmaxminddb/package.nix +++ b/pkgs/by-name/li/libmaxminddb/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libmaxminddb"; diff --git a/pkgs/by-name/li/libmbd/package.nix b/pkgs/by-name/li/libmbd/package.nix index 5322bdfa942e1..a4b9b92e98ccf 100644 --- a/pkgs/by-name/li/libmbd/package.nix +++ b/pkgs/by-name/li/libmbd/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, fetchFromGitHub -, lib -, cmake -, mpi -, blas -, lapack -, scalapack -, gfortran -} : +{ + stdenv, + fetchFromGitHub, + lib, + cmake, + mpi, + blas, + lapack, + scalapack, + gfortran, +}: assert !blas.isILP64; assert !lapack.isILP64; @@ -29,9 +30,16 @@ stdenv.mkDerivation rec { EOF ''; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ + cmake + gfortran + ]; - buildInputs = [ blas lapack scalapack ]; + buildInputs = [ + blas + lapack + scalapack + ]; propagatedBuildInputs = [ mpi ]; diff --git a/pkgs/by-name/li/libmbim/package.nix b/pkgs/by-name/li/libmbim/package.nix index ee4acc094e668..0171aea5490ef 100644 --- a/pkgs/by-name/li/libmbim/package.nix +++ b/pkgs/by-name/li/libmbim/package.nix @@ -1,26 +1,31 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, glib -, python3 -, help2man -, bash-completion -, bash -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, withDocs ? stdenv.hostPlatform == stdenv.buildPlatform -, gobject-introspection +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + glib, + python3, + help2man, + bash-completion, + bash, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + withDocs ? stdenv.hostPlatform == stdenv.buildPlatform, + gobject-introspection, }: stdenv.mkDerivation rec { pname = "libmbim"; version = "1.30.0"; - outputs = [ "out" "dev" ] - ++ lib.optionals withDocs [ "man" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals withDocs [ "man" ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -38,16 +43,19 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - ] ++ lib.optionals withDocs [ - help2man - ] ++ lib.optionals withIntrospection [ - gobject-introspection - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + python3 + ] + ++ lib.optionals withDocs [ + help2man + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + ]; buildInputs = [ glib diff --git a/pkgs/by-name/li/libmcfp/package.nix b/pkgs/by-name/li/libmcfp/package.nix index 37d667ffee9a4..1c99378280095 100644 --- a/pkgs/by-name/li/libmcfp/package.nix +++ b/pkgs/by-name/li/libmcfp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub +{ + lib, + stdenv, + cmake, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libmcrypt/package.nix b/pkgs/by-name/li/libmcrypt/package.nix index 3ed85fad550d8..372c1cc87d38a 100644 --- a/pkgs/by-name/li/libmcrypt/package.nix +++ b/pkgs/by-name/li/libmcrypt/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cctools, disablePosixThreads ? false }: +{ + lib, + stdenv, + fetchurl, + cctools, + disablePosixThreads ? false, +}: stdenv.mkDerivation rec { pname = "libmcrypt"; @@ -11,7 +17,8 @@ stdenv.mkDerivation rec { buildInputs = lib.optional stdenv.hostPlatform.isDarwin cctools; - configureFlags = lib.optionals disablePosixThreads [ "--disable-posix-threads" ] + configureFlags = + lib.optionals disablePosixThreads [ "--disable-posix-threads" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # AC_FUNC_MALLOC is broken on cross builds. "ac_cv_func_malloc_0_nonnull=yes" diff --git a/pkgs/by-name/li/libmd/package.nix b/pkgs/by-name/li/libmd/package.nix index 867bd5dc9ba3e..72c8ffda720ba 100644 --- a/pkgs/by-name/li/libmd/package.nix +++ b/pkgs/by-name/li/libmd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "libmd"; @@ -23,7 +28,13 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://archive.hadrons.org/software/libmd/libmd-${finalAttrs.version}.announce"; # Git: https://git.hadrons.org/cgit/libmd.git description = "Message Digest functions from BSD systems"; - license = with licenses; [ bsd3 bsd2 isc beerware publicDomain ]; + license = with licenses; [ + bsd3 + bsd2 + isc + beerware + publicDomain + ]; maintainers = with maintainers; [ primeos ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/li/libmediaart/package.nix b/pkgs/by-name/li/libmediaart/package.nix index a68db1389ab5f..1e84e68401f7a 100644 --- a/pkgs/by-name/li/libmediaart/package.nix +++ b/pkgs/by-name/li/libmediaart/package.nix @@ -1,22 +1,55 @@ -{ lib, stdenv, fetchurl, meson, mesonEmulatorHook, ninja, pkg-config, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gdk-pixbuf, gobject-introspection, gnome }: +{ + lib, + stdenv, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + vala, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + glib, + gdk-pixbuf, + gobject-introspection, + gnome, +}: stdenv.mkDerivation rec { pname = "libmediaart"; version = "1.9.6"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "w7xQJdfbOAWH+cjrgAxhH2taFta0t4/P+T9ih2pnfxc="; }; - nativeBuildInputs = [ meson ninja pkg-config vala gtk-doc docbook_xsl docbook_xml_dtd_412 gobject-introspection ] + nativeBuildInputs = + [ + meson + ninja + pkg-config + vala + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + gobject-introspection + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + mesonEmulatorHook + ]; - buildInputs = [ glib gdk-pixbuf ]; + buildInputs = [ + glib + gdk-pixbuf + ]; mesonFlags = [ "-Dgtk_doc=true" diff --git a/pkgs/by-name/li/libmemcached/package.nix b/pkgs/by-name/li/libmemcached/package.nix index 053cd91be2d98..43f0e9880eb98 100644 --- a/pkgs/by-name/li/libmemcached/package.nix +++ b/pkgs/by-name/li/libmemcached/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, cyrus_sasl, libevent }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cyrus_sasl, + libevent, +}: stdenv.mkDerivation rec { pname = "libmemcached"; @@ -14,7 +21,8 @@ stdenv.mkDerivation rec { # https://bugs.launchpad.net/libmemcached/+bug/1281907 # Fix building on macOS (patch from Homebrew) # https://bugs.launchpad.net/libmemcached/+bug/1245562 - patches = lib.optional stdenv.hostPlatform.isLinux ./libmemcached-fix-linking-with-libpthread.patch + patches = + lib.optional stdenv.hostPlatform.isLinux ./libmemcached-fix-linking-with-libpthread.patch ++ lib.optional stdenv.hostPlatform.isDarwin (fetchpatch { url = "https://raw.githubusercontent.com/Homebrew/homebrew/bfd4a0a4626b61c2511fdf573bcbbc6bbe86340e/Library/Formula/libmemcached.rb"; sha256 = "1gjf3vd7hiyzxjvlg2zfc3y2j0lyr6nhbws4xb5dmin3csyp8qb8"; diff --git a/pkgs/by-name/li/libmesode/package.nix b/pkgs/by-name/li/libmesode/package.nix index 6ac53d3d5d3d6..3633b47d15932 100644 --- a/pkgs/by-name/li/libmesode/package.nix +++ b/pkgs/by-name/li/libmesode/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, libtool -, openssl -, expat -, pkg-config -, check +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + openssl, + expat, + pkg-config, + check, }: stdenv.mkDerivation rec { @@ -19,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "1bxnkhrypgv41qyy1n545kcggmlw1hvxnhwihijhhcf2pxd2s654"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ openssl expat libtool check ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + openssl + expat + libtool + check + ]; dontDisableStatic = true; @@ -40,7 +50,10 @@ stdenv.mkDerivation rec { TLS functionality such as manual SSL certificate verification. ''; homepage = "https://github.com/profanity-im/libmesode/"; - license = with licenses; [ gpl3Only mit]; + license = with licenses; [ + gpl3Only + mit + ]; platforms = platforms.unix; broken = stdenv.hostPlatform.isDarwin; maintainers = with maintainers; [ devhell ]; diff --git a/pkgs/by-name/li/libmhash/package.nix b/pkgs/by-name/li/libmhash/package.nix index 0cccefb999803..c13761b2c69c5 100644 --- a/pkgs/by-name/li/libmhash/package.nix +++ b/pkgs/by-name/li/libmhash/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mhash"; diff --git a/pkgs/by-name/li/libmicrodns/package.nix b/pkgs/by-name/li/libmicrodns/package.nix index c9dd899a2b00c..fbf36f3b181ca 100644 --- a/pkgs/by-name/li/libmicrodns/package.nix +++ b/pkgs/by-name/li/libmicrodns/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libmilter/package.nix b/pkgs/by-name/li/libmilter/package.nix index 10a0986936797..c8fe5eed03623 100644 --- a/pkgs/by-name/li/libmilter/package.nix +++ b/pkgs/by-name/li/libmilter/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, m4, fixDarwinDylibNames }: +{ + lib, + stdenv, + fetchurl, + m4, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "libmilter"; @@ -32,7 +38,11 @@ stdenv.mkDerivation rec { sh Build -f ./a.m4 ''; - patches = [ ./install.patch ./sharedlib.patch ./darwin.patch ]; + patches = [ + ./install.patch + ./sharedlib.patch + ./darwin.patch + ]; nativeBuildInputs = [ m4 ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; diff --git a/pkgs/by-name/li/libminc/package.nix b/pkgs/by-name/li/libminc/package.nix index b270b8eb56689..b747fea45483d 100644 --- a/pkgs/by-name/li/libminc/package.nix +++ b/pkgs/by-name/li/libminc/package.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + netcdf, + nifticlib, + hdf5, +}: stdenv.mkDerivation (finalAttrs: { - pname = "libminc"; + pname = "libminc"; version = "2.4.06"; src = fetchFromGitHub { @@ -33,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { ]; doCheck = !stdenv.hostPlatform.isDarwin; - # -j1: see https://github.com/BIC-MNI/libminc/issues/110 + # -j1: see https://github.com/BIC-MNI/libminc/issues/110 checkPhase = '' ctest -j1 --output-on-failure ''; diff --git a/pkgs/by-name/li/libmkv/package.nix b/pkgs/by-name/li/libmkv/package.nix index 584d76e1cf2b3..31c17b884ccb2 100644 --- a/pkgs/by-name/li/libmkv/package.nix +++ b/pkgs/by-name/li/libmkv/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libtool, autoconf, automake }: +{ + lib, + stdenv, + fetchFromGitHub, + libtool, + autoconf, + automake, +}: stdenv.mkDerivation rec { pname = "libmkv"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "0pr9q7yprndl8d15ir7i7cznvmf1yqpvnsyivv763n6wryssq6dl"; }; - nativeBuildInputs = [ libtool autoconf automake ]; + nativeBuildInputs = [ + libtool + autoconf + automake + ]; preConfigure = "sh bootstrap.sh"; diff --git a/pkgs/by-name/li/libmms/package.nix b/pkgs/by-name/li/libmms/package.nix index 0d099e77b6e3c..2d4630e698235 100644 --- a/pkgs/by-name/li/libmms/package.nix +++ b/pkgs/by-name/li/libmms/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, glib, pkg-config }: +{ + lib, + stdenv, + fetchurl, + glib, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libmms"; diff --git a/pkgs/by-name/li/libmng/package.nix b/pkgs/by-name/li/libmng/package.nix index 19896b13998d3..da928a584ce67 100644 --- a/pkgs/by-name/li/libmng/package.nix +++ b/pkgs/by-name/li/libmng/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, zlib, libpng, libjpeg, lcms2 }: +{ + lib, + stdenv, + fetchurl, + zlib, + libpng, + libjpeg, + lcms2, +}: stdenv.mkDerivation rec { pname = "libmng"; @@ -9,10 +17,19 @@ stdenv.mkDerivation rec { sha256 = "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"; }; - outputs = [ "out" "dev" "devdoc" ]; - outputMan= "devdoc"; + outputs = [ + "out" + "dev" + "devdoc" + ]; + outputMan = "devdoc"; - propagatedBuildInputs = [ zlib libpng libjpeg lcms2 ]; + propagatedBuildInputs = [ + zlib + libpng + libjpeg + lcms2 + ]; meta = with lib; { description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics"; diff --git a/pkgs/by-name/li/libmnl/package.nix b/pkgs/by-name/li/libmnl/package.nix index 9a6f6a1d14dc9..4c6502e617c0e 100644 --- a/pkgs/by-name/li/libmnl/package.nix +++ b/pkgs/by-name/li/libmnl/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libmnl"; diff --git a/pkgs/by-name/li/libmodbus/package.nix b/pkgs/by-name/li/libmodbus/package.nix index e27e8e1c387cf..96e7b0d2b46b5 100644 --- a/pkgs/by-name/li/libmodbus/package.nix +++ b/pkgs/by-name/li/libmodbus/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libmodbus"; diff --git a/pkgs/by-name/li/libmodplug/package.nix b/pkgs/by-name/li/libmodplug/package.nix index 334dfa9d80151..dd5ee10ca5b30 100644 --- a/pkgs/by-name/li/libmodplug/package.nix +++ b/pkgs/by-name/li/libmodplug/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, file }: +{ + lib, + stdenv, + fetchurl, + file, +}: stdenv.mkDerivation rec { pname = "libmodplug"; @@ -14,19 +19,22 @@ stdenv.mkDerivation rec { # not allowed in C++17 and is an error in clang 16. prePatch = "substituteInPlace src/fastmix.cpp --replace 'register ' ''"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; preConfigure = '' - substituteInPlace configure \ - --replace ' -mmacosx-version-min=10.5' "" \ - --replace /usr/bin/file ${file}/bin/file + substituteInPlace configure \ + --replace ' -mmacosx-version-min=10.5' "" \ + --replace /usr/bin/file ${file}/bin/file ''; meta = with lib; { description = "MOD playing library"; - homepage = "https://modplug-xmms.sourceforge.net/"; - license = licenses.publicDomain; - platforms = platforms.unix; + homepage = "https://modplug-xmms.sourceforge.net/"; + license = licenses.publicDomain; + platforms = platforms.unix; maintainers = with maintainers; [ raskin ]; }; } diff --git a/pkgs/by-name/li/libmodule/package.nix b/pkgs/by-name/li/libmodule/package.nix index dd98908f3111a..dbb2505e5c184 100644 --- a/pkgs/by-name/li/libmodule/package.nix +++ b/pkgs/by-name/li/libmodule/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libmodule"; diff --git a/pkgs/by-name/li/libmodulemd/package.nix b/pkgs/by-name/li/libmodulemd/package.nix index 0769cf4b1c2ba..8c55e61b33101 100644 --- a/pkgs/by-name/li/libmodulemd/package.nix +++ b/pkgs/by-name/li/libmodulemd/package.nix @@ -1,26 +1,34 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch2 -, pkg-config -, meson -, ninja -, gobject-introspection -, python3 -, libyaml -, rpm -, file -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_412 -, glib +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch2, + pkg-config, + meson, + ninja, + gobject-introspection, + python3, + libyaml, + rpm, + file, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_412, + glib, }: stdenv.mkDerivation rec { pname = "libmodulemd"; version = "2.15.0"; - outputs = [ "bin" "out" "dev" "devdoc" "man" "py" ]; + outputs = [ + "bin" + "out" + "dev" + "devdoc" + "man" + "py" + ]; src = fetchFromGitHub { owner = "fedora-modularity"; diff --git a/pkgs/by-name/li/libmowgli/package.nix b/pkgs/by-name/li/libmowgli/package.nix index 5c999c4c1d484..2f2575a3a1833 100644 --- a/pkgs/by-name/li/libmowgli/package.nix +++ b/pkgs/by-name/li/libmowgli/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libmowgli"; diff --git a/pkgs/by-name/li/libmp3splt/package.nix b/pkgs/by-name/li/libmp3splt/package.nix index 0e813375b9a25..92d9ee1248305 100644 --- a/pkgs/by-name/li/libmp3splt/package.nix +++ b/pkgs/by-name/li/libmp3splt/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libtool, libmad, libid3tag }: +{ + lib, + stdenv, + fetchurl, + libtool, + libmad, + libid3tag, +}: stdenv.mkDerivation rec { pname = "libmp3splt"; @@ -9,17 +16,23 @@ stdenv.mkDerivation rec { sha256 = "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ libtool ]; - buildInputs = [ libmad libid3tag ]; + buildInputs = [ + libmad + libid3tag + ]; configureFlags = [ "--disable-pcre" ]; meta = with lib; { - homepage = "https://sourceforge.net/projects/mp3splt/"; + homepage = "https://sourceforge.net/projects/mp3splt/"; description = "Utility to split mp3, ogg vorbis and FLAC files without decoding"; maintainers = with maintainers; [ bosu ]; - platforms = platforms.unix; + platforms = platforms.unix; license = licenses.gpl2; }; } diff --git a/pkgs/by-name/li/libmpack/package.nix b/pkgs/by-name/li/libmpack/package.nix index edb692d512d75..00b8d72d28b62 100644 --- a/pkgs/by-name/li/libmpack/package.nix +++ b/pkgs/by-name/li/libmpack/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + libtool, +}: stdenv.mkDerivation rec { pname = "libmpack"; diff --git a/pkgs/by-name/li/libmpcdec/package.nix b/pkgs/by-name/li/libmpcdec/package.nix index 7536872212455..b7613dc2ab941 100644 --- a/pkgs/by-name/li/libmpcdec/package.nix +++ b/pkgs/by-name/li/libmpcdec/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libmpcdec"; diff --git a/pkgs/by-name/li/libmpd/package.nix b/pkgs/by-name/li/libmpd/package.nix index bb6c9ed45f8cc..a509134318d45 100644 --- a/pkgs/by-name/li/libmpd/package.nix +++ b/pkgs/by-name/li/libmpd/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, doxygen -, glib +{ + lib, + stdenv, + fetchurl, + pkg-config, + doxygen, + glib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libmpdclient/package.nix b/pkgs/by-name/li/libmpdclient/package.nix index 297ca698b0c94..eeed2140bf8db 100644 --- a/pkgs/by-name/li/libmpdclient/package.nix +++ b/pkgs/by-name/li/libmpdclient/package.nix @@ -1,9 +1,10 @@ -{ fetchFromGitHub -, fixDarwinDylibNames -, lib -, meson -, ninja -, stdenv +{ + fetchFromGitHub, + fixDarwinDylibNames, + lib, + meson, + ninja, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -17,12 +18,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-KF8IR9YV6b9ro+L9m6nHs1IggakEZddfcBKm/oKCVZY="; }; - nativeBuildInputs = [ - meson - ninja - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + meson + ninja + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; meta = { description = "Client library for MPD (music player daemon)"; diff --git a/pkgs/by-name/li/libmpeg2/package.nix b/pkgs/by-name/li/libmpeg2/package.nix index 13fce963738fb..7860056707cad 100644 --- a/pkgs/by-name/li/libmpeg2/package.nix +++ b/pkgs/by-name/li/libmpeg2/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "0.5.1"; diff --git a/pkgs/by-name/li/libmsgraph/package.nix b/pkgs/by-name/li/libmsgraph/package.nix index 21845a6b7f7e1..186bd3b735eed 100644 --- a/pkgs/by-name/li/libmsgraph/package.nix +++ b/pkgs/by-name/li/libmsgraph/package.nix @@ -1,25 +1,30 @@ -{ stdenv -, lib -, fetchurl -, gi-docgen -, gobject-introspection -, meson -, ninja -, pkg-config -, uhttpmock_1_0 -, libxml2 -, glib -, gnome-online-accounts -, json-glib -, libsoup_3 -, gnome +{ + stdenv, + lib, + fetchurl, + gi-docgen, + gobject-introspection, + meson, + ninja, + pkg-config, + uhttpmock_1_0, + libxml2, + glib, + gnome-online-accounts, + json-glib, + libsoup_3, + gnome, }: stdenv.mkDerivation (finalAttrs: { pname = "libmsgraph"; version = "0.2.3"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/msgraph/${lib.versions.majorMinor finalAttrs.version}/msgraph-${finalAttrs.version}.tar.xz"; diff --git a/pkgs/by-name/li/libmspack/package.nix b/pkgs/by-name/li/libmspack/package.nix index 136a303109162..2e4f7d9d38beb 100644 --- a/pkgs/by-name/li/libmspack/package.nix +++ b/pkgs/by-name/li/libmspack/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libmspack"; diff --git a/pkgs/by-name/li/libmsym/package.nix b/pkgs/by-name/li/libmsym/package.nix index fdcf7d00e3ba7..998cee1f48be8 100644 --- a/pkgs/by-name/li/libmsym/package.nix +++ b/pkgs/by-name/li/libmsym/package.nix @@ -1,14 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, cmake } : +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "libmsym"; version = "0.2.3"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "mcodev31"; repo = pname; rev = "v${version}"; - sha256= "k+OEwrA/saupP/wX6Ii5My0vffiJ0X9xMCTrliMSMik="; + sha256 = "k+OEwrA/saupP/wX6Ii5My0vffiJ0X9xMCTrliMSMik="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/li/libmtp/package.nix b/pkgs/by-name/li/libmtp/package.nix index 320873c9792ce..d61f1936fb527 100644 --- a/pkgs/by-name/li/libmtp/package.nix +++ b/pkgs/by-name/li/libmtp/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, autoconf -, automake -, fetchFromGitHub -, fetchpatch -, gettext -, lib -, libiconv -, libtool -, libusb1 -, pkg-config -, buildPackages +{ + stdenv, + autoconf, + automake, + fetchFromGitHub, + fetchpatch, + gettext, + lib, + libiconv, + libtool, + libusb1, + pkg-config, + buildPackages, }: stdenv.mkDerivation rec { @@ -31,7 +32,11 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; nativeBuildInputs = [ autoconf @@ -49,12 +54,17 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-udev=${placeholder "out"}/lib/udev" ]; - configurePlatforms = [ "build" "host" ]; - - makeFlags = lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "MTP_HOTPLUG=${buildPackages.libmtp}/bin/mtp-hotplug" + configurePlatforms = [ + "build" + "host" ]; + makeFlags = + lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) + [ + "MTP_HOTPLUG=${buildPackages.libmtp}/bin/mtp-hotplug" + ]; + enableParallelBuilding = true; meta = with lib; { diff --git a/pkgs/by-name/li/libmwaw/package.nix b/pkgs/by-name/li/libmwaw/package.nix index cc2a292a04932..732db1b4c9b26 100644 --- a/pkgs/by-name/li/libmwaw/package.nix +++ b/pkgs/by-name/li/libmwaw/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, boost, pkg-config, cppunit, zlib, libwpg, libwpd, librevenge }: +{ + lib, + stdenv, + fetchurl, + boost, + pkg-config, + cppunit, + zlib, + libwpg, + libwpd, + librevenge, +}: stdenv.mkDerivation rec { pname = "libmwaw"; diff --git a/pkgs/by-name/li/libmypaint/package.nix b/pkgs/by-name/li/libmypaint/package.nix index 2e9f4bc2b8667..3031b38d34933 100644 --- a/pkgs/by-name/li/libmypaint/package.nix +++ b/pkgs/by-name/li/libmypaint/package.nix @@ -1,20 +1,25 @@ -{ lib, stdenv -, autoconf -, automake -, fetchFromGitHub -, glib -, intltool -, json_c -, libtool -, pkg-config -, python3 +{ + lib, + stdenv, + autoconf, + automake, + fetchFromGitHub, + glib, + intltool, + json_c, + libtool, + pkg-config, + python3, }: stdenv.mkDerivation rec { pname = "libmypaint"; version = "1.6.1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "mypaint"; diff --git a/pkgs/by-name/li/libmysofa/package.nix b/pkgs/by-name/li/libmysofa/package.nix index 5125d4c76ebac..8b65025909421 100644 --- a/pkgs/by-name/li/libmysofa/package.nix +++ b/pkgs/by-name/li/libmysofa/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, +}: stdenv.mkDerivation rec { pname = "libmysofa"; @@ -11,12 +17,18 @@ stdenv.mkDerivation rec { hash = "sha256-eXMGwa6lOtKoUCcHR9BM2S3NWAZkGyZzF3FAjYaWTvg="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; buildInputs = [ zlib ]; - cmakeFlags = [ "-DBUILD_TESTS=OFF" "-DCODE_COVERAGE=OFF" ]; + cmakeFlags = [ + "-DBUILD_TESTS=OFF" + "-DCODE_COVERAGE=OFF" + ]; meta = with lib; { description = "Reader for AES SOFA files to get better HRTFs"; diff --git a/pkgs/by-name/li/libnabo/package.nix b/pkgs/by-name/li/libnabo/package.nix index 8be83148b5140..58bec38657e4e 100644 --- a/pkgs/by-name/li/libnabo/package.nix +++ b/pkgs/by-name/li/libnabo/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchFromGitHub, cmake, eigen, boost}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, + boost, +}: stdenv.mkDerivation rec { version = "1.1.2"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen boost ]; + buildInputs = [ + eigen + boost + ]; cmakeFlags = [ "-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3" @@ -25,7 +35,7 @@ stdenv.mkDerivation rec { inherit (src.meta) homepage; description = "Fast K Nearest Neighbor library for low-dimensional spaces"; license = licenses.bsd3; - platforms = platforms.linux; + platforms = platforms.linux; maintainers = with maintainers; [ cryptix ]; }; } diff --git a/pkgs/by-name/li/libnatpmp/package.nix b/pkgs/by-name/li/libnatpmp/package.nix index 13128e81231ef..95ec99a736301 100644 --- a/pkgs/by-name/li/libnatpmp/package.nix +++ b/pkgs/by-name/li/libnatpmp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchurl, + fetchpatch, + fixDarwinDylibNames, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libnats-c/package.nix b/pkgs/by-name/li/libnats-c/package.nix index 5d641a386344e..82428ee03f822 100644 --- a/pkgs/by-name/li/libnats-c/package.nix +++ b/pkgs/by-name/li/libnats-c/package.nix @@ -1,24 +1,38 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, protobuf, protobufc -, libsodium, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + protobuf, + protobufc, + libsodium, + openssl, }: stdenv.mkDerivation rec { - pname = "libnats"; + pname = "libnats"; version = "3.8.2"; src = fetchFromGitHub { - owner = "nats-io"; - repo = "nats.c"; - rev = "v${version}"; + owner = "nats-io"; + repo = "nats.c"; + rev = "v${version}"; sha256 = "sha256-Tn88RRigL6C36AcFhUlLbLyqcqbBR8z6PKAQH4w/mYY="; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libsodium openssl protobuf protobufc ]; + buildInputs = [ + libsodium + openssl + protobuf + protobufc + ]; separateDebugInfo = true; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; # https://github.com/nats-io/nats.c/issues/542 postPatch = '' @@ -28,9 +42,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C API for the NATS messaging system"; - homepage = "https://github.com/nats-io/nats.c"; - license = licenses.asl20; - platforms = platforms.unix; + homepage = "https://github.com/nats-io/nats.c"; + license = licenses.asl20; + platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/li/libnatspec/package.nix b/pkgs/by-name/li/libnatspec/package.nix index 65ea9086dce16..0bc5de4e4f05a 100644 --- a/pkgs/by-name/li/libnatspec/package.nix +++ b/pkgs/by-name/li/libnatspec/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoreconfHook, popt, libiconv }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + popt, + libiconv, +}: stdenv.mkDerivation rec { pname = "libnatspec"; diff --git a/pkgs/by-name/li/libnbd/package.nix b/pkgs/by-name/li/libnbd/package.nix index 02b3cf734daa4..59ba1c48e4f05 100644 --- a/pkgs/by-name/li/libnbd/package.nix +++ b/pkgs/by-name/li/libnbd/package.nix @@ -19,80 +19,81 @@ lib.throwIf (buildOcamlBindings && !lib.versionAtLeast ocamlPackages.ocaml.version "4.05") "OCaml binding are not available for OCaml < 4.05" -stdenv.mkDerivation rec { - pname = "libnbd"; - version = "1.20.2"; + stdenv.mkDerivation + rec { + pname = "libnbd"; + version = "1.20.2"; - src = fetchurl { - url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz"; - hash = "sha256-7DgviwGPPLccTPvomyH+0CMknXmR2wENsxpXD97OP84="; - }; + src = fetchurl { + url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz"; + hash = "sha256-7DgviwGPPLccTPvomyH+0CMknXmR2wENsxpXD97OP84="; + }; - nativeBuildInputs = - [ - bash-completion - pkg-config - perl - autoreconfHook - ] - ++ lib.optionals buildPythonBindings [ python3 ] - ++ lib.optionals buildOcamlBindings ( - with ocamlPackages; + nativeBuildInputs = [ - findlib - ocaml + bash-completion + pkg-config + perl + autoreconfHook ] - ); + ++ lib.optionals buildPythonBindings [ python3 ] + ++ lib.optionals buildOcamlBindings ( + with ocamlPackages; + [ + findlib + ocaml + ] + ); - buildInputs = [ - fuse - fuse3 - gnutls - libxml2 - ]; + buildInputs = [ + fuse + fuse3 + gnutls + libxml2 + ]; - postPatch = lib.optionalString buildOcamlBindings '' - substituteInPlace ocaml/Makefile.am \ - --replace-fail '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib' - ''; + postPatch = lib.optionalString buildOcamlBindings '' + substituteInPlace ocaml/Makefile.am \ + --replace-fail '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib' + ''; - configureFlags = lib.optionals buildPythonBindings [ - "--with-python-installdir=${placeholder "out"}/${python3.sitePackages}" - ]; + configureFlags = lib.optionals buildPythonBindings [ + "--with-python-installdir=${placeholder "out"}/${python3.sitePackages}" + ]; - installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ]; + installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ]; - postInstall = lib.optionalString buildPythonBindings '' - LIBNBD_PYTHON_METADATA='${placeholder "out"}/${python3.sitePackages}/nbd-${version}.dist-info/METADATA' - install -Dm644 -T ${./libnbd-metadata} $LIBNBD_PYTHON_METADATA - substituteAllInPlace $LIBNBD_PYTHON_METADATA - ''; + postInstall = lib.optionalString buildPythonBindings '' + LIBNBD_PYTHON_METADATA='${placeholder "out"}/${python3.sitePackages}/nbd-${version}.dist-info/METADATA' + install -Dm644 -T ${./libnbd-metadata} $LIBNBD_PYTHON_METADATA + substituteAllInPlace $LIBNBD_PYTHON_METADATA + ''; - meta = with lib; { - homepage = "https://gitlab.com/nbdkit/libnbd"; - description = "Network Block Device client library in userspace"; - longDescription = '' - NBD — Network Block Device — is a protocol for accessing Block Devices - (hard disks and disk-like things) over a Network. This is the NBD client - library in userspace, a simple library for writing NBD clients. + meta = with lib; { + homepage = "https://gitlab.com/nbdkit/libnbd"; + description = "Network Block Device client library in userspace"; + longDescription = '' + NBD — Network Block Device — is a protocol for accessing Block Devices + (hard disks and disk-like things) over a Network. This is the NBD client + library in userspace, a simple library for writing NBD clients. - The key features are: - - Synchronous API for ease of use. - - Asynchronous API for writing non-blocking, multithreaded clients. You - can mix both APIs freely. - - High performance. - - Minimal dependencies for the basic library. - - Well-documented, stable API. - - Bindings in several programming languages. - - Shell (nbdsh) for command line and scripting. - ''; - license = with licenses; lgpl21Plus; - maintainers = with maintainers; [ - humancalico - ]; - platforms = with platforms; linux; - }; -} + The key features are: + - Synchronous API for ease of use. + - Asynchronous API for writing non-blocking, multithreaded clients. You + can mix both APIs freely. + - High performance. + - Minimal dependencies for the basic library. + - Well-documented, stable API. + - Bindings in several programming languages. + - Shell (nbdsh) for command line and scripting. + ''; + license = with licenses; lgpl21Plus; + maintainers = with maintainers; [ + humancalico + ]; + platforms = with platforms; linux; + }; + } # TODO: package the 1.6-stable version too # TODO: git version needs ocaml # TODO: bindings for go diff --git a/pkgs/by-name/li/libndp/package.nix b/pkgs/by-name/li/libndp/package.nix index a8df26fbb9b8a..933c0aaa54dd9 100644 --- a/pkgs/by-name/li/libndp/package.nix +++ b/pkgs/by-name/li/libndp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, gitUpdater }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "libndp"; diff --git a/pkgs/by-name/li/libndtypes/package.nix b/pkgs/by-name/li/libndtypes/package.nix index 175b48f109348..ec7fd35932df8 100644 --- a/pkgs/by-name/li/libndtypes/package.nix +++ b/pkgs/by-name/li/libndtypes/package.nix @@ -1,13 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation { pname = "libndtypes"; version = "unstable-2019-08-01"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "xnd-project"; diff --git a/pkgs/by-name/li/libnest2d/package.nix b/pkgs/by-name/li/libnest2d/package.nix index b3aba528f9243..88906caac71eb 100644 --- a/pkgs/by-name/li/libnest2d/package.nix +++ b/pkgs/by-name/li/libnest2d/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, clipper, nlopt, boost }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + clipper, + nlopt, + boost, +}: stdenv.mkDerivation { version = "4.12.0"; @@ -19,15 +27,18 @@ stdenv.mkDerivation { --replace "set(CMAKE_CXX_STANDARD 11)" "set(CMAKE_CXX_STANDARD 14)" ''; - propagatedBuildInputs = [ clipper nlopt boost ]; + propagatedBuildInputs = [ + clipper + nlopt + boost + ]; nativeBuildInputs = [ cmake ]; CLIPPER_PATH = "${clipper.out}"; cmakeFlags = [ "-DLIBNEST2D_HEADER_ONLY=OFF" ]; meta = with lib; { - description = - "2D irregular bin packaging and nesting library written in modern C++"; + description = "2D irregular bin packaging and nesting library written in modern C++"; homepage = "https://github.com/Ultimaker/libnest2d"; license = licenses.lgpl3; platforms = platforms.all; diff --git a/pkgs/by-name/li/libnet/package.nix b/pkgs/by-name/li/libnet/package.nix index c8f38387111f8..c8a6c712c1d6b 100644 --- a/pkgs/by-name/li/libnet/package.nix +++ b/pkgs/by-name/li/libnet/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "libnet"; diff --git a/pkgs/by-name/li/libnetfilter_acct/package.nix b/pkgs/by-name/li/libnetfilter_acct/package.nix index 6c52d7f7b560f..c12e39e9bcb5c 100644 --- a/pkgs/by-name/li/libnetfilter_acct/package.nix +++ b/pkgs/by-name/li/libnetfilter_acct/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libmnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmnl, +}: stdenv.mkDerivation rec { version = "1.0.3"; diff --git a/pkgs/by-name/li/libnetfilter_conntrack/package.nix b/pkgs/by-name/li/libnetfilter_conntrack/package.nix index e056eddcb1ab0..ff200671af0f3 100644 --- a/pkgs/by-name/li/libnetfilter_conntrack/package.nix +++ b/pkgs/by-name/li/libnetfilter_conntrack/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libnfnetlink, libmnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libnfnetlink, + libmnl, +}: stdenv.mkDerivation rec { pname = "libnetfilter_conntrack"; diff --git a/pkgs/by-name/li/libnetfilter_cthelper/package.nix b/pkgs/by-name/li/libnetfilter_cthelper/package.nix index 5d221bed34a02..4a0afa76b736b 100644 --- a/pkgs/by-name/li/libnetfilter_cthelper/package.nix +++ b/pkgs/by-name/li/libnetfilter_cthelper/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libmnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmnl, +}: stdenv.mkDerivation rec { pname = "libnetfilter_cthelper"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-FAc9VIcjOJc1XT/wTdwcjQPMW6jSNWI2qogWGp8tyRI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libmnl ]; diff --git a/pkgs/by-name/li/libnetfilter_cttimeout/package.nix b/pkgs/by-name/li/libnetfilter_cttimeout/package.nix index d4b53a1818717..7c2c870bf3627 100644 --- a/pkgs/by-name/li/libnetfilter_cttimeout/package.nix +++ b/pkgs/by-name/li/libnetfilter_cttimeout/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libmnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmnl, +}: stdenv.mkDerivation rec { pname = "libnetfilter_cttimeout"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-C1naLzIE4cgMuF0fbXIoX8B7AaL1Z4q/Xcz7vv1lAyU="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libmnl ]; diff --git a/pkgs/by-name/li/libnetfilter_log/package.nix b/pkgs/by-name/li/libnetfilter_log/package.nix index aadc3d92b597f..93d6d4b861f11 100644 --- a/pkgs/by-name/li/libnetfilter_log/package.nix +++ b/pkgs/by-name/li/libnetfilter_log/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libnfnetlink, libmnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libnfnetlink, + libmnl, +}: stdenv.mkDerivation rec { pname = "libnetfilter_log"; diff --git a/pkgs/by-name/li/libnetfilter_queue/package.nix b/pkgs/by-name/li/libnetfilter_queue/package.nix index d1783289965ee..86a5ab16235df 100644 --- a/pkgs/by-name/li/libnetfilter_queue/package.nix +++ b/pkgs/by-name/li/libnetfilter_queue/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libmnl, libnfnetlink }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmnl, + libnfnetlink, +}: stdenv.mkDerivation rec { version = "1.0.5"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libmnl libnfnetlink ]; + buildInputs = [ + libmnl + libnfnetlink + ]; meta = with lib; { homepage = "https://www.netfilter.org/projects/libnetfilter_queue/"; diff --git a/pkgs/by-name/li/libnfc/package.nix b/pkgs/by-name/li/libnfc/package.nix index 8fb983333c1cb..1d7560d9e1c51 100644 --- a/pkgs/by-name/li/libnfc/package.nix +++ b/pkgs/by-name/li/libnfc/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, libusb-compat-0_1 -, readline -, cmake -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + libusb-compat-0_1, + readline, + cmake, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libnfnetlink/package.nix b/pkgs/by-name/li/libnfnetlink/package.nix index 3b6b804a8dc62..897b257ab3ef6 100644 --- a/pkgs/by-name/li/libnfnetlink/package.nix +++ b/pkgs/by-name/li/libnfnetlink/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libnfnetlink"; diff --git a/pkgs/by-name/li/libnfs/package.nix b/pkgs/by-name/li/libnfs/package.nix index d9beee7933fa9..e1a896d031ece 100644 --- a/pkgs/by-name/li/libnfs/package.nix +++ b/pkgs/by-name/li/libnfs/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libnfs"; @@ -34,9 +40,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "NFS client library"; - homepage = "https://github.com/sahlberg/libnfs"; - license = with licenses; [ lgpl2 bsd2 gpl3 ]; + homepage = "https://github.com/sahlberg/libnfs"; + license = with licenses; [ + lgpl2 + bsd2 + gpl3 + ]; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/li/libnftnl/package.nix b/pkgs/by-name/li/libnftnl/package.nix index bac21d63b2b69..a2536ad82ac70 100644 --- a/pkgs/by-name/li/libnftnl/package.nix +++ b/pkgs/by-name/li/libnftnl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libmnl, gitUpdater }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmnl, + gitUpdater, +}: stdenv.mkDerivation rec { version = "1.2.8"; @@ -9,7 +16,9 @@ stdenv.mkDerivation rec { hash = "sha256-N/6l1rXJsI3nkg0pjePNyULnrmSxo+i4gLLTkK5nrZU="; }; - configureFlags = lib.optional (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "LDFLAGS=-Wl,--undefined-version"; + configureFlags = lib.optional ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) "LDFLAGS=-Wl,--undefined-version"; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libmnl ]; diff --git a/pkgs/by-name/li/libnghttp2_asio/package.nix b/pkgs/by-name/li/libnghttp2_asio/package.nix index 7853e89d27de8..a303b43b8438b 100644 --- a/pkgs/by-name/li/libnghttp2_asio/package.nix +++ b/pkgs/by-name/li/libnghttp2_asio/package.nix @@ -1,17 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, nghttp2 -, openssl -, boost +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nghttp2, + openssl, + boost, }: stdenv.mkDerivation rec { pname = "libnghttp2_asio"; version = "unstable-2022-08-11"; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; src = fetchFromGitHub { owner = "nghttp2"; diff --git a/pkgs/by-name/li/libngspice/package.nix b/pkgs/by-name/li/libngspice/package.nix index 044d1b25fafe1..18720937e01bb 100644 --- a/pkgs/by-name/li/libngspice/package.nix +++ b/pkgs/by-name/li/libngspice/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, flex -, bison -, fftw -, withNgshared ? true -, libXaw -, libXext -, llvmPackages -, readline +{ + lib, + stdenv, + fetchurl, + flex, + bison, + fftw, + withNgshared ? true, + libXaw, + libXext, + llvmPackages, + readline, }: stdenv.mkDerivation rec { @@ -25,23 +26,28 @@ stdenv.mkDerivation rec { bison ]; - buildInputs = [ - fftw - readline - ] ++ lib.optionals (!withNgshared) [ - libXaw - libXext - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.openmp - ]; + buildInputs = + [ + fftw + readline + ] + ++ lib.optionals (!withNgshared) [ + libXaw + libXext + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.openmp + ]; - configureFlags = lib.optionals withNgshared [ - "--with-ngshared" - ] ++ [ - "--enable-xspice" - "--enable-cider" - "--enable-osdi" - ]; + configureFlags = + lib.optionals withNgshared [ + "--with-ngshared" + ] + ++ [ + "--enable-xspice" + "--enable-cider" + "--enable-osdi" + ]; enableParallelBuilding = true; @@ -49,7 +55,11 @@ stdenv.mkDerivation rec { description = "Next Generation Spice (Electronic Circuit Simulator)"; mainProgram = "ngspice"; homepage = "http://ngspice.sourceforge.net"; - license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ]; # See https://sourceforge.net/p/ngspice/ngspice/ci/master/tree/COPYING + license = with licenses; [ + bsd3 + gpl2Plus + lgpl2Plus + ]; # See https://sourceforge.net/p/ngspice/ngspice/ci/master/tree/COPYING maintainers = with maintainers; [ bgamari ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/li/libnice/package.nix b/pkgs/by-name/li/libnice/package.nix index 72419deaccb5a..7cc8166bf6d79 100644 --- a/pkgs/by-name/li/libnice/package.nix +++ b/pkgs/by-name/li/libnice/package.nix @@ -1,27 +1,32 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, meson -, ninja -, pkg-config -, python3 -, gobject-introspection -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 -, glib -, gupnp-igd -, gst_all_1 -, gnutls -, graphviz +{ + lib, + stdenv, + fetchurl, + fetchpatch, + meson, + ninja, + pkg-config, + python3, + gobject-introspection, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + glib, + gupnp-igd, + gst_all_1, + gnutls, + graphviz, }: stdenv.mkDerivation rec { pname = "libnice"; version = "0.1.22"; - outputs = [ "bin" "out" "dev" ] - ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; + outputs = [ + "bin" + "out" + "dev" + ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "https://libnice.freedesktop.org/releases/${pname}-${version}.tar.gz"; @@ -84,6 +89,9 @@ stdenv.mkDerivation rec { libstun as well as GStreamer elements.''; homepage = "https://libnice.freedesktop.org/"; platforms = platforms.unix; - license = with licenses; [ lgpl21 mpl11 ]; + license = with licenses; [ + lgpl21 + mpl11 + ]; }; } diff --git a/pkgs/by-name/li/libnids/package.nix b/pkgs/by-name/li/libnids/package.nix index 739c8c57879ac..93e31d8804ff7 100644 --- a/pkgs/by-name/li/libnids/package.nix +++ b/pkgs/by-name/li/libnids/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, libpcap, glib, pkg-config, libnet }: +{ + lib, + stdenv, + fetchzip, + libpcap, + glib, + pkg-config, + libnet, +}: stdenv.mkDerivation { pname = "libnids"; version = "1.24"; @@ -7,16 +15,20 @@ stdenv.mkDerivation { sha256 = "1cblklfdfxcmy0an6xyyzx4l877xdawhjd28daqfsvrh81mb07k1"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpcap glib libnet ]; + buildInputs = [ + libpcap + glib + libnet + ]; /* - Quoting the documentation of glib: g_thread_init has been deprecated since - version 2.32 and should not be used in newly-written code. This function is - no longer necessary. The GLib threading system is automatically initialized - at the start of your program. + Quoting the documentation of glib: g_thread_init has been deprecated since + version 2.32 and should not be used in newly-written code. This function is + no longer necessary. The GLib threading system is automatically initialized + at the start of your program. - this is necessary for dsniff to compile; otherwise g_thread_init is a missing - symbol when linking (?!?) + this is necessary for dsniff to compile; otherwise g_thread_init is a missing + symbol when linking (?!?) */ env.NIX_CFLAGS_COMPILE = "-Dg_thread_init= "; diff --git a/pkgs/by-name/li/libnitrokey/package.nix b/pkgs/by-name/li/libnitrokey/package.nix index 6b847a8e742d6..5b73a5963bb74 100644 --- a/pkgs/by-name/li/libnitrokey/package.nix +++ b/pkgs/by-name/li/libnitrokey/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, hidapi -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + hidapi, + libusb1, }: stdenv.mkDerivation (finalAttrs: { @@ -40,6 +41,9 @@ stdenv.mkDerivation (finalAttrs: { description = "Communicate with Nitrokey devices in a clean and easy manner"; homepage = "https://github.com/Nitrokey/libnitrokey"; license = licenses.lgpl3; - maintainers = with maintainers; [ panicgh raitobezarius ]; + maintainers = with maintainers; [ + panicgh + raitobezarius + ]; }; }) diff --git a/pkgs/by-name/li/libnixxml/package.nix b/pkgs/by-name/li/libnixxml/package.nix index fb2bfdde5c06a..ec6baa77fcde9 100644 --- a/pkgs/by-name/li/libnixxml/package.nix +++ b/pkgs/by-name/li/libnixxml/package.nix @@ -1,4 +1,17 @@ -{ fetchFromGitHub, lib, stdenv, autoreconfHook, pkg-config, libxml2, gd, glib, getopt, libxslt, nix, bash}: +{ + fetchFromGitHub, + lib, + stdenv, + autoreconfHook, + pkg-config, + libxml2, + gd, + glib, + getopt, + libxslt, + nix, + bash, +}: stdenv.mkDerivation { pname = "libnixxml"; @@ -28,7 +41,10 @@ stdenv.mkDerivation { mkdir -p config ''; - configureFlags = [ "--with-gd" "--with-glib" ]; + configureFlags = [ + "--with-gd" + "--with-glib" + ]; CFLAGS = [ "-Wall" "-std=c90" diff --git a/pkgs/by-name/li/libnl-tiny/package.nix b/pkgs/by-name/li/libnl-tiny/package.nix index 8a8c84513f624..84d9210328e63 100644 --- a/pkgs/by-name/li/libnl-tiny/package.nix +++ b/pkgs/by-name/li/libnl-tiny/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchgit, cmake, pkg-config }: +{ + stdenv, + lib, + fetchgit, + cmake, + pkg-config, +}: stdenv.mkDerivation { pname = "libnl-tiny"; @@ -10,7 +16,10 @@ stdenv.mkDerivation { hash = "sha256-kegTV7FXMERW7vjRZo/Xp4cbSBZmynBgge2lK71Fx94="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; preConfigure = '' sed -e 's|''${prefix}/@CMAKE_INSTALL_LIBDIR@|@CMAKE_INSTALL_FULL_LIBDIR@|g' \ diff --git a/pkgs/by-name/li/libnotify/package.nix b/pkgs/by-name/li/libnotify/package.nix index cb8506dca6ca5..655211524f7ee 100644 --- a/pkgs/by-name/li/libnotify/package.nix +++ b/pkgs/by-name/li/libnotify/package.nix @@ -1,23 +1,31 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, libxslt -, docbook-xsl-ns -, glib -, gdk-pixbuf -, gnome -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, gobject-introspection +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + libxslt, + docbook-xsl-ns, + glib, + gdk-pixbuf, + gnome, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + gobject-introspection, }: stdenv.mkDerivation rec { pname = "libnotify"; version = "0.8.3"; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -34,16 +42,18 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - libxslt - docbook-xsl-ns - glib # for glib-mkenums needed during the build - ] ++ lib.optionals withIntrospection [ - gobject-introspection - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + libxslt + docbook-xsl-ns + glib # for glib-mkenums needed during the build + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + ]; propagatedBuildInputs = [ gdk-pixbuf diff --git a/pkgs/by-name/li/libnova/package.nix b/pkgs/by-name/li/libnova/package.nix index 2f5f6851fd8d3..3d240a6059655 100644 --- a/pkgs/by-name/li/libnova/package.nix +++ b/pkgs/by-name/li/libnova/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, autoreconfHook }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libnova"; diff --git a/pkgs/by-name/li/libnsl/package.nix b/pkgs/by-name/li/libnsl/package.nix index b199406918abd..d03bc44888deb 100644 --- a/pkgs/by-name/li/libnsl/package.nix +++ b/pkgs/by-name/li/libnsl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libtirpc, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtirpc, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libnsl"; @@ -11,9 +18,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-bCToqXVE4RZcoZ2eTNZcVHyzKlWyIpSAssQCOZcfmEA="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libtirpc ]; meta = with lib; { diff --git a/pkgs/by-name/li/libnss-mysql/package.nix b/pkgs/by-name/li/libnss-mysql/package.nix index 1333128011191..432f75bdd0a65 100644 --- a/pkgs/by-name/li/libnss-mysql/package.nix +++ b/pkgs/by-name/li/libnss-mysql/package.nix @@ -1,10 +1,11 @@ -{ lib -, nixosTests -, stdenv -, fetchFromGitHub -, autoreconfHook -, which -, libmysqlclient +{ + lib, + nixosTests, + stdenv, + fetchFromGitHub, + autoreconfHook, + which, + libmysqlclient, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "1fhsswa3h2nkhjkyjxxqnj07rlx6bmfvd8j521snimx2jba8h0d6"; }; - nativeBuildInputs = [ autoreconfHook which ]; + nativeBuildInputs = [ + autoreconfHook + which + ]; buildInputs = [ libmysqlclient ]; configureFlags = [ "--sysconfdir=/etc" ]; diff --git a/pkgs/by-name/li/libnut/package.nix b/pkgs/by-name/li/libnut/package.nix index c89206209963c..c1d197cccedd0 100644 --- a/pkgs/by-name/li/libnut/package.nix +++ b/pkgs/by-name/li/libnut/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchgit +{ + stdenv, + lib, + fetchgit, }: stdenv.mkDerivation rec { pname = "libnut"; @@ -13,7 +14,7 @@ stdenv.mkDerivation rec { }; sourceRoot = "${src.name}/src/trunk"; - makeFlags = ["prefix=$(out)"]; + makeFlags = [ "prefix=$(out)" ]; installTargets = [ "install-libnut" "install-nututils" @@ -23,7 +24,7 @@ stdenv.mkDerivation rec { description = "Library to read/write the NUT video container format"; homepage = "https://git.ffmpeg.org/gitweb/nut.git"; license = licenses.mit; - maintainers = with maintainers; [quag]; + maintainers = with maintainers; [ quag ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libnvme/package.nix b/pkgs/by-name/li/libnvme/package.nix index b175a325d34a3..8fa316908454d 100644 --- a/pkgs/by-name/li/libnvme/package.nix +++ b/pkgs/by-name/li/libnvme/package.nix @@ -1,19 +1,20 @@ -{ fetchFromGitHub -, bash -, json_c -, keyutils -, lib -, meson -, ninja -, openssl -, perl -, pkg-config -, python3 -, stdenv -, swig -, systemd -# ImportError: cannot import name 'mlog' from 'mesonbuild' -, withDocs ? stdenv.hostPlatform.canExecute stdenv.buildPlatform +{ + fetchFromGitHub, + bash, + json_c, + keyutils, + lib, + meson, + ninja, + openssl, + perl, + pkg-config, + python3, + stdenv, + swig, + systemd, + # ImportError: cannot import name 'mlog' from 'mesonbuild' + withDocs ? stdenv.hostPlatform.canExecute stdenv.buildPlatform, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/liboauth/package.nix b/pkgs/by-name/li/liboauth/package.nix index 3f2f02987fbb6..12552d6e4c033 100644 --- a/pkgs/by-name/li/liboauth/package.nix +++ b/pkgs/by-name/li/liboauth/package.nix @@ -1,5 +1,11 @@ -{ fetchurl, lib, stdenv, nss, nspr, pkg-config }: - +{ + fetchurl, + lib, + stdenv, + nss, + nspr, + pkg-config, +}: stdenv.mkDerivation rec { pname = "liboauth"; @@ -10,11 +16,17 @@ stdenv.mkDerivation rec { sha256 = "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ nss nspr ]; + propagatedBuildInputs = [ + nss + nspr + ]; configureFlags = [ "--enable-nss" ]; diff --git a/pkgs/by-name/li/libodb-sqlite/package.nix b/pkgs/by-name/li/libodb-sqlite/package.nix index 547ff807d441a..851ff3cb66298 100644 --- a/pkgs/by-name/li/libodb-sqlite/package.nix +++ b/pkgs/by-name/li/libodb-sqlite/package.nix @@ -1,16 +1,22 @@ -{ lib, stdenv -, build2 -, fetchurl -, libodb -, sqlite -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared +{ + lib, + stdenv, + build2, + fetchurl, + libodb, + sqlite, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, }: stdenv.mkDerivation rec { pname = "libodb-sqlite"; version = "2.5.0-b.27"; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; src = fetchurl { url = "https://pkg.cppget.org/1/beta/odb/libodb-sqlite-${version}.tar.gz"; diff --git a/pkgs/by-name/li/libodb/package.nix b/pkgs/by-name/li/libodb/package.nix index b83e4d5c68162..3ec508b9d11ec 100644 --- a/pkgs/by-name/li/libodb/package.nix +++ b/pkgs/by-name/li/libodb/package.nix @@ -1,14 +1,20 @@ -{ lib, stdenv -, build2 -, fetchurl -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared +{ + lib, + stdenv, + build2, + fetchurl, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, }: stdenv.mkDerivation rec { pname = "libodb"; version = "2.5.0-b.27"; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; src = fetchurl { url = "https://pkg.cppget.org/1/beta/odb/libodb-${version}.tar.gz"; diff --git a/pkgs/by-name/li/libodfgen/package.nix b/pkgs/by-name/li/libodfgen/package.nix index 4f9574e079081..d48a97088281c 100644 --- a/pkgs/by-name/li/libodfgen/package.nix +++ b/pkgs/by-name/li/libodfgen/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, boost, pkg-config, cppunit, zlib, libwpg, libwpd, librevenge }: +{ + lib, + stdenv, + fetchurl, + boost, + pkg-config, + cppunit, + zlib, + libwpg, + libwpd, + librevenge, +}: stdenv.mkDerivation rec { pname = "libodfgen"; diff --git a/pkgs/by-name/li/libofa/package.nix b/pkgs/by-name/li/libofa/package.nix index a64afbb930aef..e1176a1ff2c68 100644 --- a/pkgs/by-name/li/libofa/package.nix +++ b/pkgs/by-name/li/libofa/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, expat, curl, fftw }: +{ + lib, + stdenv, + fetchurl, + expat, + curl, + fftw, +}: stdenv.mkDerivation rec { pname = "libofa"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "1rfkyz13cm8izm90c1xflp4rvsa24aqs6qpbbbqqcbmvzsj6j9yn"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; setOutputFlags = false; @@ -23,7 +33,11 @@ stdenv.mkDerivation rec { configureFlagsArray=(--includedir=$dev/include --libdir=$out/lib) ''; - propagatedBuildInputs = [ expat curl fftw ]; + propagatedBuildInputs = [ + expat + curl + fftw + ]; meta = with lib; { homepage = "https://code.google.com/archive/p/musicip-libofa/"; diff --git a/pkgs/by-name/li/libofx/package.nix b/pkgs/by-name/li/libofx/package.nix index ec5f6d8924d71..0c5389afcfc2e 100644 --- a/pkgs/by-name/li/libofx/package.nix +++ b/pkgs/by-name/li/libofx/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, opensp, pkg-config, libxml2, curl -, autoconf, automake, libtool, gengetopt, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + opensp, + pkg-config, + libxml2, + curl, + autoconf, + automake, + libtool, + gengetopt, + libiconv, +}: stdenv.mkDerivation rec { pname = "libofx"; @@ -14,8 +26,18 @@ stdenv.mkDerivation rec { preConfigure = "./autogen.sh"; configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ]; - nativeBuildInputs = [ pkg-config libtool autoconf automake gengetopt ]; - buildInputs = [ opensp libxml2 curl ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; + nativeBuildInputs = [ + pkg-config + libtool + autoconf + automake + gengetopt + ]; + buildInputs = [ + opensp + libxml2 + curl + ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; meta = { description = "Opensource implementation of the Open Financial eXchange specification"; diff --git a/pkgs/by-name/li/liboggz/package.nix b/pkgs/by-name/li/liboggz/package.nix index d458590179dd2..47778a5181ff0 100644 --- a/pkgs/by-name/li/liboggz/package.nix +++ b/pkgs/by-name/li/liboggz/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libogg, pkg-config }: +{ + lib, + stdenv, + fetchurl, + libogg, + pkg-config, +}: stdenv.mkDerivation rec { pname = "liboggz"; diff --git a/pkgs/by-name/li/liboil/package.nix b/pkgs/by-name/li/liboil/package.nix index 2abbaa66f3478..f9f9cdc5ea93b 100644 --- a/pkgs/by-name/li/liboil/package.nix +++ b/pkgs/by-name/li/liboil/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, pkg-config }: +{ + lib, + stdenv, + fetchurl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "liboil"; @@ -11,14 +16,20 @@ stdenv.mkDerivation rec { patches = [ ./x86_64-cpuid.patch ]; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; # oil-bugreport nativeBuildInputs = [ pkg-config ]; # fix "argb_paint_i386.c:53:Incorrect register `%rax' used with `l' suffix" # errors - configureFlags = lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) "--build=x86_64"; + configureFlags = lib.optional ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 + ) "--build=x86_64"; # fixes a cast in inline asm: easier than patching buildFlags = lib.optional stdenv.hostPlatform.isDarwin "CFLAGS=-fheinous-gnu-extensions"; @@ -26,9 +37,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library of simple functions that are optimized for various CPUs"; mainProgram = "oil-bugreport"; - homepage = "https://liboil.freedesktop.org"; - license = licenses.bsd2; + homepage = "https://liboil.freedesktop.org"; + license = licenses.bsd2; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/li/libomemo-c/package.nix b/pkgs/by-name/li/libomemo-c/package.nix index 4b7524c59d0ca..e1f87d39b180f 100644 --- a/pkgs/by-name/li/libomemo-c/package.nix +++ b/pkgs/by-name/li/libomemo-c/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libomxil-bellagio/package.nix b/pkgs/by-name/li/libomxil-bellagio/package.nix index 78f37bbbb67dd..936d70f32787d 100644 --- a/pkgs/by-name/li/libomxil-bellagio/package.nix +++ b/pkgs/by-name/li/libomxil-bellagio/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { @@ -12,8 +13,9 @@ stdenv.mkDerivation rec { sha256 = "0k6p6h4npn8p1qlgq6z3jbfld6n1bqswzvxzndki937gr0lhfg2r"; }; - configureFlags = - lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_malloc_0_nonnull=yes" ]; + configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "ac_cv_func_malloc_0_nonnull=yes" + ]; patches = [ ./fedora-fixes.patch @@ -34,10 +36,13 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = # stringop-truncation: see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028978 - if stdenv.cc.isGNU then "-Wno-error=array-bounds -Wno-error=stringop-overflow=8 -Wno-error=stringop-truncation" - else let - isLLVM17 = stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"; - in "-Wno-error=absolute-value -Wno-error=enum-conversion -Wno-error=logical-not-parentheses -Wno-error=non-literal-null-conversion${lib.optionalString (isLLVM17) " -Wno-error=unused-but-set-variable"}"; + if stdenv.cc.isGNU then + "-Wno-error=array-bounds -Wno-error=stringop-overflow=8 -Wno-error=stringop-truncation" + else + let + isLLVM17 = stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"; + in + "-Wno-error=absolute-value -Wno-error=enum-conversion -Wno-error=logical-not-parentheses -Wno-error=non-literal-null-conversion${lib.optionalString (isLLVM17) " -Wno-error=unused-but-set-variable"}"; meta = with lib; { homepage = "https://omxil.sourceforge.net/"; diff --git a/pkgs/by-name/li/libopenaptx/package.nix b/pkgs/by-name/li/libopenaptx/package.nix index 33a5cadb71ddd..a4abae5338177 100644 --- a/pkgs/by-name/li/libopenaptx/package.nix +++ b/pkgs/by-name/li/libopenaptx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libopenaptx"; diff --git a/pkgs/by-name/li/libopenglrecorder/package.nix b/pkgs/by-name/li/libopenglrecorder/package.nix index 05616dd7c9842..8074cc066d741 100644 --- a/pkgs/by-name/li/libopenglrecorder/package.nix +++ b/pkgs/by-name/li/libopenglrecorder/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, libjpeg -, libvpx -, openh264 -, withPulse ? stdenv.hostPlatform.isLinux -, libpulseaudio -, libvorbis +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libjpeg, + libvpx, + openh264, + withPulse ? stdenv.hostPlatform.isLinux, + libpulseaudio, + libvorbis, }: stdenv.mkDerivation rec { @@ -27,14 +28,16 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - libjpeg - libvpx - openh264 - ] ++ lib.optionals withPulse [ - libpulseaudio - libvorbis - ]; + buildInputs = + [ + libjpeg + libvpx + openh264 + ] + ++ lib.optionals withPulse [ + libpulseaudio + libvorbis + ]; meta = with lib; { description = "Library allowing Optional async readback OpenGL frame buffer with optional audio recording"; diff --git a/pkgs/by-name/li/libopenmpt-modplug/package.nix b/pkgs/by-name/li/libopenmpt-modplug/package.nix index 50495d1633592..4c7a9bf49e219 100644 --- a/pkgs/by-name/li/libopenmpt-modplug/package.nix +++ b/pkgs/by-name/li/libopenmpt-modplug/package.nix @@ -1,16 +1,20 @@ -{ stdenv -, lib -, fetchurl -, autoreconfHook -, pkg-config -, libopenmpt +{ + stdenv, + lib, + fetchurl, + autoreconfHook, + pkg-config, + libopenmpt, }: stdenv.mkDerivation rec { pname = "libopenmpt-modplug"; version = "0.8.9.0-openmpt1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://lib.openmpt.org/files/libopenmpt-modplug/libopenmpt-modplug-${version}.tar.gz"; diff --git a/pkgs/by-name/li/libopenraw/package.nix b/pkgs/by-name/li/libopenraw/package.nix index 80038929a3f1e..bbf1bf94ef5a9 100644 --- a/pkgs/by-name/li/libopenraw/package.nix +++ b/pkgs/by-name/li/libopenraw/package.nix @@ -1,5 +1,16 @@ -{ stdenv, fetchurl, boost, gdk-pixbuf, glib, libjpeg, libxml2, lib, pkg-config -, cargo, rustc }: +{ + stdenv, + fetchurl, + boost, + gdk-pixbuf, + glib, + libjpeg, + libxml2, + lib, + pkg-config, + cargo, + rustc, +}: stdenv.mkDerivation rec { pname = "libopenraw"; @@ -10,9 +21,19 @@ stdenv.mkDerivation rec { hash = "sha256-VRWyYQNh7zRYC2uXZjURn23ttPCnnVRmL6X+YYakXtU="; }; - nativeBuildInputs = [ pkg-config cargo rustc ]; + nativeBuildInputs = [ + pkg-config + cargo + rustc + ]; - buildInputs = [ boost gdk-pixbuf glib libjpeg libxml2 ]; + buildInputs = [ + boost + gdk-pixbuf + glib + libjpeg + libxml2 + ]; postPatch = '' sed -i configure{,.ac} \ @@ -23,7 +44,10 @@ stdenv.mkDerivation rec { description = "RAW camerafile decoding library"; homepage = "https://libopenraw.freedesktop.org"; license = licenses.lgpl3Plus; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; maintainers = [ maintainers.struan ]; }; } diff --git a/pkgs/by-name/li/libopensmtpd/package.nix b/pkgs/by-name/li/libopensmtpd/package.nix index e9abdf0864f2d..b4229e69ba91e 100644 --- a/pkgs/by-name/li/libopensmtpd/package.nix +++ b/pkgs/by-name/li/libopensmtpd/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, libevent -, mandoc +{ + lib, + stdenv, + fetchurl, + libevent, + mandoc, }: stdenv.mkDerivation rec { pname = "libopensmtpd"; diff --git a/pkgs/by-name/li/liboping/package.nix b/pkgs/by-name/li/liboping/package.nix index 118f283a0f9f4..fefd39aee363f 100644 --- a/pkgs/by-name/li/liboping/package.nix +++ b/pkgs/by-name/li/liboping/package.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchurl, fetchpatch, ncurses ? null, perl ? null, lib }: +{ + stdenv, + fetchurl, + fetchpatch, + ncurses ? null, + perl ? null, + lib, +}: stdenv.mkDerivation rec { pname = "liboping"; @@ -23,10 +30,12 @@ stdenv.mkDerivation rec { }) ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString - stdenv.cc.isGNU "-Wno-error=format-truncation"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"; - buildInputs = [ ncurses perl ]; + buildInputs = [ + ncurses + perl + ]; configureFlags = lib.optional (perl == null) "--with-perl-bindings=no"; diff --git a/pkgs/by-name/li/libopus/package.nix b/pkgs/by-name/li/libopus/package.nix index f809c40000e95..ec138dc62b810 100644 --- a/pkgs/by-name/li/libopus/package.nix +++ b/pkgs/by-name/li/libopus/package.nix @@ -78,6 +78,9 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://gitlab.xiph.org/xiph/opus/-/releases/v${finalAttrs.version}"; license = lib.licenses.bsd3; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ getchoo jopejoe1 ]; + maintainers = with lib.maintainers; [ + getchoo + jopejoe1 + ]; }; }) diff --git a/pkgs/by-name/li/libopusenc/package.nix b/pkgs/by-name/li/libopusenc/package.nix index bd749616cc477..0c5ee795ad626 100644 --- a/pkgs/by-name/li/libopusenc/package.nix +++ b/pkgs/by-name/li/libopusenc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libopus }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libopus, +}: stdenv.mkDerivation rec { pname = "libopusenc"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1ffb0vhlymlsq70pxsjj0ksz77yfm2x0a1x8q50kxmnkm1hxp642"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; doCheck = true; diff --git a/pkgs/by-name/li/liboqs/package.nix b/pkgs/by-name/li/liboqs/package.nix index 5da88f18169a6..ac45816ce2e9d 100644 --- a/pkgs/by-name/li/liboqs/package.nix +++ b/pkgs/by-name/li/liboqs/package.nix @@ -41,7 +41,10 @@ stdenv.mkDerivation (finalAttrs: { dontFixCmake = true; # fix CMake file will give an error - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "C library for prototyping and experimenting with quantum-resistant cryptography"; diff --git a/pkgs/by-name/li/liborcus/package.nix b/pkgs/by-name/li/liborcus/package.nix index 14f2023fc1eea..4e3a48d10b8b6 100644 --- a/pkgs/by-name/li/liborcus/package.nix +++ b/pkgs/by-name/li/liborcus/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, pkg-config -, boost -, libixion -, mdds -, python3 -, zlib +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + boost, + libixion, + mdds, + python3, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libosinfo/package.nix b/pkgs/by-name/li/libosinfo/package.nix index 498f26a7caf09..93cb538b59093 100644 --- a/pkgs/by-name/li/libosinfo/package.nix +++ b/pkgs/by-name/li/libosinfo/package.nix @@ -1,24 +1,26 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, meson -, ninja -, gettext -, gobject-introspection -, gtk-doc -, docbook_xsl -, glib -, libsoup_3 -, libxml2 -, libxslt -, check -, curl -, perl -, hwdata -, osinfo-db -, substituteAll -, vala ? null +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + meson, + ninja, + gettext, + gobject-introspection, + gtk-doc, + docbook_xsl, + glib, + libsoup_3, + libxml2, + libxslt, + check, + curl, + perl, + hwdata, + osinfo-db, + substituteAll, + vala ? null, }: stdenv.mkDerivation rec { @@ -30,8 +32,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-G/lu7J4UYPPRpxMWPMof8NSAo0kLUImSkvFFSLOpa2A="; }; - outputs = [ "out" "dev" ] - ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc"; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/li/libosip/package.nix b/pkgs/by-name/li/libosip/package.nix index d552bedaa4f91..a7bf8e5e0a310 100644 --- a/pkgs/by-name/li/libosip/package.nix +++ b/pkgs/by-name/li/libosip/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "5.3.1"; src = fetchurl { diff --git a/pkgs/by-name/li/libosmium/package.nix b/pkgs/by-name/li/libosmium/package.nix index 211ca0559b9a8..77a269650c599 100644 --- a/pkgs/by-name/li/libosmium/package.nix +++ b/pkgs/by-name/li/libosmium/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, cmake, protozero, expat, zlib, bzip2, boost, lz4 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + protozero, + expat, + zlib, + bzip2, + boost, + lz4, +}: stdenv.mkDerivation rec { pname = "libosmium"; @@ -13,7 +24,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ protozero zlib bzip2 expat boost lz4 ]; + buildInputs = [ + protozero + zlib + bzip2 + expat + boost + lz4 + ]; cmakeFlags = [ "-DINSTALL_GDALCPP:BOOL=ON" ]; diff --git a/pkgs/by-name/li/libosmo-netif/package.nix b/pkgs/by-name/li/libosmo-netif/package.nix index 5d8b0e2310f02..89505c6fec64d 100644 --- a/pkgs/by-name/li/libosmo-netif/package.nix +++ b/pkgs/by-name/li/libosmo-netif/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, lksctp-tools -, pkg-config -, libosmocore +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + lksctp-tools, + pkg-config, + libosmocore, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libosmo-sccp/package.nix b/pkgs/by-name/li/libosmo-sccp/package.nix index 6226de5297cab..1d11203f66520 100644 --- a/pkgs/by-name/li/libosmo-sccp/package.nix +++ b/pkgs/by-name/li/libosmo-sccp/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, lksctp-tools -, pkg-config -, libosmocore -, libosmo-netif +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + lksctp-tools, + pkg-config, + libosmocore, + libosmo-netif, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libosmoabis/package.nix b/pkgs/by-name/li/libosmoabis/package.nix index 480eaa0cece5e..53b4a63408ed5 100644 --- a/pkgs/by-name/li/libosmoabis/package.nix +++ b/pkgs/by-name/li/libosmoabis/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, pkg-config -, libosmocore -, ortp -, bctoolbox +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + pkg-config, + libosmocore, + ortp, + bctoolbox, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libosmocore/package.nix b/pkgs/by-name/li/libosmocore/package.nix index b3fdd20cb7706..5085f9308f249 100644 --- a/pkgs/by-name/li/libosmocore/package.nix +++ b/pkgs/by-name/li/libosmocore/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, gnutls -, libmnl -, liburing -, libusb1 -, lksctp-tools -, pcsclite -, pkg-config -, python3 -, talloc +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + gnutls, + libmnl, + liburing, + libusb1, + lksctp-tools, + pcsclite, + pkg-config, + python3, + talloc, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libossp_uuid/package.nix b/pkgs/by-name/li/libossp_uuid/package.nix index 267829d2aee42..a04339778f058 100644 --- a/pkgs/by-name/li/libossp_uuid/package.nix +++ b/pkgs/by-name/li/libossp_uuid/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libossp-uuid"; @@ -6,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "ftp://ftp.ossp.org/pkg/lib/uuid/uuid-${version}.tar.gz"; - sha256= "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"; + sha256 = "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"; }; configureFlags = [ @@ -18,28 +22,27 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://www.ossp.org/pkg/lib/uuid/"; description = "OSSP uuid ISO-C and C++ shared library"; - longDescription = - '' - OSSP uuid is a ISO-C:1999 application programming interface - (API) and corresponding command line interface (CLI) for the - generation of DCE 1.1, ISO/IEC 11578:1996 and RFC 4122 - compliant Universally Unique Identifier (UUID). It supports - DCE 1.1 variant UUIDs of version 1 (time and node based), - version 3 (name based, MD5), version 4 (random number based) - and version 5 (name based, SHA-1). Additional API bindings are - provided for the languages ISO-C++:1998, Perl:5 and - PHP:4/5. Optional backward compatibility exists for the ISO-C - DCE-1.1 and Perl Data::UUID APIs. + longDescription = '' + OSSP uuid is a ISO-C:1999 application programming interface + (API) and corresponding command line interface (CLI) for the + generation of DCE 1.1, ISO/IEC 11578:1996 and RFC 4122 + compliant Universally Unique Identifier (UUID). It supports + DCE 1.1 variant UUIDs of version 1 (time and node based), + version 3 (name based, MD5), version 4 (random number based) + and version 5 (name based, SHA-1). Additional API bindings are + provided for the languages ISO-C++:1998, Perl:5 and + PHP:4/5. Optional backward compatibility exists for the ISO-C + DCE-1.1 and Perl Data::UUID APIs. - UUIDs are 128 bit numbers which are intended to have a high - likelihood of uniqueness over space and time and are - computationally difficult to guess. They are globally unique - identifiers which can be locally generated without contacting - a global registration authority. UUIDs are intended as unique - identifiers for both mass tagging objects with an extremely - short lifetime and to reliably identifying very persistent - objects across a network. - ''; + UUIDs are 128 bit numbers which are intended to have a high + likelihood of uniqueness over space and time and are + computationally difficult to guess. They are globally unique + identifiers which can be locally generated without contacting + a global registration authority. UUIDs are intended as unique + identifiers for both mass tagging objects with an extremely + short lifetime and to reliably identifying very persistent + objects across a network. + ''; license = licenses.bsd2; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libotr/package.nix b/pkgs/by-name/li/libotr/package.nix index 672d298f14468..8a668e0495960 100644 --- a/pkgs/by-name/li/libotr/package.nix +++ b/pkgs/by-name/li/libotr/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkgsHostTarget, libgcrypt, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + pkgsHostTarget, + libgcrypt, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libotr"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { patches = [ ./fix-regtest-client.patch ]; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/by-name/li/libow/package.nix b/pkgs/by-name/li/libow/package.nix index 5340caeff0a8e..b8b86b0321b38 100644 --- a/pkgs/by-name/li/libow/package.nix +++ b/pkgs/by-name/li/libow/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + libtool, +}: stdenv.mkDerivation rec { version = "3.2p4"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "0dln1ar7bxwhpi36sccmpwapy7iz4j097rbf02mgn42lw5vrcg3s"; }; - nativeBuildInputs = [ autoconf automake libtool pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + ]; preConfigure = '' # Tries to use glibtoolize on Darwin, but it shouldn't for Nix. diff --git a/pkgs/by-name/li/libowlevelzs/package.nix b/pkgs/by-name/li/libowlevelzs/package.nix index 6199dcca1bb84..6bc0c5fa5371e 100644 --- a/pkgs/by-name/li/libowlevelzs/package.nix +++ b/pkgs/by-name/li/libowlevelzs/package.nix @@ -1,7 +1,8 @@ -{ cmake -, fetchFromGitHub -, lib -, stdenv +{ + cmake, + fetchFromGitHub, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libp11/package.nix b/pkgs/by-name/li/libp11/package.nix index 69eb2fb63394d..5bfaffacfb10d 100644 --- a/pkgs/by-name/li/libp11/package.nix +++ b/pkgs/by-name/li/libp11/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libtool, pkg-config -, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + pkg-config, + openssl, +}: stdenv.mkDerivation rec { pname = "libp11"; @@ -16,7 +23,11 @@ stdenv.mkDerivation rec { "--with-enginesdir=${placeholder "out"}/lib/engines" ]; - nativeBuildInputs = [ autoreconfHook pkg-config libtool ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + libtool + ]; buildInputs = [ openssl ]; diff --git a/pkgs/by-name/li/libpaper/package.nix b/pkgs/by-name/li/libpaper/package.nix index 9e36812e7e897..452d787318ce1 100644 --- a/pkgs/by-name/li/libpaper/package.nix +++ b/pkgs/by-name/li/libpaper/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "1.1.29"; diff --git a/pkgs/by-name/li/libpar2/package.nix b/pkgs/by-name/li/libpar2/package.nix index 7def28b924603..1745aae945d75 100644 --- a/pkgs/by-name/li/libpar2/package.nix +++ b/pkgs/by-name/li/libpar2/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libsigcxx }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libsigcxx, +}: stdenv.mkDerivation rec { pname = "libpar2"; diff --git a/pkgs/by-name/li/libpcap/package.nix b/pkgs/by-name/li/libpcap/package.nix index 0825ea3681e5e..72996ff96cef1 100644 --- a/pkgs/by-name/li/libpcap/package.nix +++ b/pkgs/by-name/li/libpcap/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl -, flex -, bison -, bluez -, libnl -, libxcrypt -, pkg-config -, withBluez ? false -, withRemote ? false +{ + lib, + stdenv, + fetchurl, + flex, + bison, + bluez, + libnl, + libxcrypt, + pkg-config, + withBluez ? false, + withRemote ? false, -# for passthru.tests -, ettercap -, nmap -, ostinato -, tcpreplay -, vde2 -, wireshark -, python3 -, haskellPackages + # for passthru.tests + ettercap, + nmap, + ostinato, + tcpreplay, + vde2, + wireshark, + python3, + haskellPackages, }: stdenv.mkDerivation rec { @@ -30,23 +31,31 @@ stdenv.mkDerivation rec { hash = "sha256-N87ZChmjAqfzLkWCJKAMNlwReQXCzTWsVEtogKgUiPA="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libnl ] + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ libnl ] ++ lib.optionals withRemote [ libxcrypt ]; - nativeBuildInputs = [ flex bison ] + nativeBuildInputs = + [ + flex + bison + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ] ++ lib.optionals withBluez [ bluez.dev ]; # We need to force the autodetection because detection doesn't # work in pure build environments. - configureFlags = [ - "--with-pcap=${if stdenv.hostPlatform.isLinux then "linux" else "bpf"}" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--disable-universal" - ] ++ lib.optionals withRemote [ - "--enable-remote" - ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) - [ "ac_cv_linux_vers=2" ]; + configureFlags = + [ + "--with-pcap=${if stdenv.hostPlatform.isLinux then "linux" else "bpf"}" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-universal" + ] + ++ lib.optionals withRemote [ + "--enable-remote" + ] + ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ "ac_cv_linux_vers=2" ]; postInstall = '' if [ "$dontDisableStatic" -ne "1" ]; then @@ -57,7 +66,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru.tests = { - inherit ettercap nmap ostinato tcpreplay vde2 wireshark; + inherit + ettercap + nmap + ostinato + tcpreplay + vde2 + wireshark + ; inherit (python3.pkgs) pcapy-ng scapy; haskell-pcap = haskellPackages.pcap; }; diff --git a/pkgs/by-name/li/libpff/package.nix b/pkgs/by-name/li/libpff/package.nix index 62ee7c8f447c8..31071f5ac9fb7 100644 --- a/pkgs/by-name/li/libpff/package.nix +++ b/pkgs/by-name/li/libpff/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchzip -, pkg-config -, autoreconfHook +{ + stdenv, + lib, + fetchzip, + pkg-config, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -14,8 +15,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-UmGRBgi78nDSuuOXi/WmODojWU5AbQGKNQwLseoh714="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - outputs = [ "bin" "dev" "out" ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + outputs = [ + "bin" + "dev" + "out" + ]; meta = { description = "Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format"; diff --git a/pkgs/by-name/li/libpfm/package.nix b/pkgs/by-name/li/libpfm/package.nix index 0598fd6451ef5..8e6b5bc50cfeb 100644 --- a/pkgs/by-name/li/libpfm/package.nix +++ b/pkgs/by-name/li/libpfm/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, enableShared ? !stdenv.hostPlatform.isStatic -, windows +{ + lib, + stdenv, + fetchurl, + enableShared ? !stdenv.hostPlatform.isStatic, + windows, }: stdenv.mkDerivation (finalAttrs: { @@ -46,7 +47,10 @@ stdenv.mkDerivation (finalAttrs: { (PMU) of modern processors. ''; license = licenses.gpl2; - maintainers = with maintainers; [ pierron t4ccer ]; + maintainers = with maintainers; [ + pierron + t4ccer + ]; platforms = platforms.linux ++ platforms.windows; }; }) diff --git a/pkgs/by-name/li/libpgf/package.nix b/pkgs/by-name/li/libpgf/package.nix index c0d24cb3cdf59..0a7dafddd2425 100644 --- a/pkgs/by-name/li/libpgf/package.nix +++ b/pkgs/by-name/li/libpgf/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchzip -, autoreconfHook -, dos2unix +{ + lib, + stdenv, + fetchzip, + autoreconfHook, + dos2unix, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libpinyin/package.nix b/pkgs/by-name/li/libpinyin/package.nix index 2ae333d61ad88..9df54306930b8 100644 --- a/pkgs/by-name/li/libpinyin/package.nix +++ b/pkgs/by-name/li/libpinyin/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, autoreconfHook -, glib -, db -, pkg-config +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + autoreconfHook, + glib, + db, + pkg-config, }: let @@ -45,7 +46,10 @@ stdenv.mkDerivation rec { description = "Library for intelligent sentence-based Chinese pinyin input method"; homepage = "https://github.com/libpinyin/libpinyin"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ linsui ericsagnes ]; + maintainers = with maintainers; [ + linsui + ericsagnes + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libpipeline/package.nix b/pkgs/by-name/li/libpipeline/package.nix index 36ce1ceea9f5f..3ae4568451f83 100644 --- a/pkgs/by-name/li/libpipeline/package.nix +++ b/pkgs/by-name/li/libpipeline/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook }: +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, +}: stdenv.mkDerivation rec { pname = "libpipeline"; diff --git a/pkgs/by-name/li/libpkgconf/package.nix b/pkgs/by-name/li/libpkgconf/package.nix index 34d718762cd1f..fb9e541fb242b 100644 --- a/pkgs/by-name/li/libpkgconf/package.nix +++ b/pkgs/by-name/li/libpkgconf/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, removeReferencesTo -, gitUpdater +{ + lib, + stdenv, + fetchurl, + removeReferencesTo, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -14,7 +15,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OpCArFHQNhXnwZEKCiqN8IQkiStfE7BiiiBNP8zg6os="; }; - outputs = [ "out" "lib" "dev" "man" "doc" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + "doc" + ]; nativeBuildInputs = [ removeReferencesTo ]; @@ -23,23 +30,24 @@ stdenv.mkDerivation (finalAttrs: { # Debian has outputs like these too # (https://packages.debian.org/source/bullseye/pkgconf), so it is safe to # remove those references - postFixup = '' - remove-references-to \ - -t "${placeholder "out"}" \ - "${placeholder "lib"}"/lib/* - remove-references-to \ - -t "${placeholder "dev"}" \ - "${placeholder "lib"}"/lib/* \ - "${placeholder "out"}"/bin/* - '' - # Move back share/aclocal. Yes, this normally goes in the dev output for good - # reason, but in this case the dev output is for the `libpkgconf` library, - # while the aclocal stuff is for the tool. The tool is already for use during - # development, so there is no reason to have separate "dev-bin" and "dev-lib" - # outputs or something. - + '' - mv ${placeholder "dev"}/share ${placeholder "out"} - ''; + postFixup = + '' + remove-references-to \ + -t "${placeholder "out"}" \ + "${placeholder "lib"}"/lib/* + remove-references-to \ + -t "${placeholder "dev"}" \ + "${placeholder "lib"}"/lib/* \ + "${placeholder "out"}"/bin/* + '' + # Move back share/aclocal. Yes, this normally goes in the dev output for good + # reason, but in this case the dev output is for the `libpkgconf` library, + # while the aclocal stuff is for the tool. The tool is already for use during + # development, so there is no reason to have separate "dev-bin" and "dev-lib" + # outputs or something. + + '' + mv ${placeholder "dev"}/share ${placeholder "out"} + ''; passthru.updateScript = gitUpdater { url = "https://gitea.treehouse.systems/ariadne/pkgconf"; @@ -61,7 +69,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://gitea.treehouse.systems/ariadne/pkgconf/src/tag/pkgconf-${finalAttrs.version}/NEWS"; license = lib.licenses.isc; mainProgram = "pkgconf"; - maintainers = with lib.maintainers; [ zaninime AndersonTorres ]; + maintainers = with lib.maintainers; [ + zaninime + AndersonTorres + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/li/libplacebo/package.nix b/pkgs/by-name/li/libplacebo/package.nix index 159037bec832c..d4fd402b56585 100644 --- a/pkgs/by-name/li/libplacebo/package.nix +++ b/pkgs/by-name/li/libplacebo/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, python3Packages -, vulkan-headers -, vulkan-loader -, shaderc -, lcms2 -, libGL -, libX11 -, libunwind -, libdovi -, xxHash -, fast-float -, vulkanSupport ? true +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + python3Packages, + vulkan-headers, + vulkan-loader, + shaderc, + lcms2, + libGL, + libX11, + libunwind, + libdovi, + xxHash, + fast-float, + vulkanSupport ? true, }: stdenv.mkDerivation rec { @@ -38,30 +39,35 @@ stdenv.mkDerivation rec { python3Packages.glad2 ]; - buildInputs = [ - shaderc - lcms2 - libGL - libX11 - libunwind - libdovi - xxHash - vulkan-headers - ] ++ lib.optionals vulkanSupport [ - vulkan-loader - ] ++ lib.optionals (!stdenv.cc.isGNU) [ - fast-float - ]; + buildInputs = + [ + shaderc + lcms2 + libGL + libX11 + libunwind + libdovi + xxHash + vulkan-headers + ] + ++ lib.optionals vulkanSupport [ + vulkan-loader + ] + ++ lib.optionals (!stdenv.cc.isGNU) [ + fast-float + ]; - mesonFlags = [ - (lib.mesonBool "demos" false) # Don't build and install the demo programs - (lib.mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer - (lib.mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead - (lib.mesonEnable "vk-proc-addr" vulkanSupport) - (lib.mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml") - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.mesonEnable "unwind" false) # libplacebo doesn’t build with `darwin.libunwind` - ]; + mesonFlags = + [ + (lib.mesonBool "demos" false) # Don't build and install the demo programs + (lib.mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer + (lib.mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead + (lib.mesonEnable "vk-proc-addr" vulkanSupport) + (lib.mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.mesonEnable "unwind" false) # libplacebo doesn’t build with `darwin.libunwind` + ]; postPatch = '' substituteInPlace meson.build \ diff --git a/pkgs/by-name/li/libplacebo_5/package.nix b/pkgs/by-name/li/libplacebo_5/package.nix index e75d44dcdf265..f4f9286b9fbc9 100644 --- a/pkgs/by-name/li/libplacebo_5/package.nix +++ b/pkgs/by-name/li/libplacebo_5/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, python3Packages -, vulkan-headers -, vulkan-loader -, shaderc -, lcms2 -, libGL -, libX11 -, libunwind -, libdovi +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + python3Packages, + vulkan-headers, + vulkan-loader, + shaderc, + lcms2, + libGL, + libX11, + libunwind, + libdovi, }: stdenv.mkDerivation rec { @@ -46,14 +47,16 @@ stdenv.mkDerivation rec { libdovi ]; - mesonFlags = [ - (lib.mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml") - (lib.mesonBool "demos" false) # Don't build and install the demo programs - (lib.mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer - (lib.mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.mesonEnable "unwind" false) # libplacebo doesn’t build with `darwin.libunwind` - ]; + mesonFlags = + [ + (lib.mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml") + (lib.mesonBool "demos" false) # Don't build and install the demo programs + (lib.mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer + (lib.mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.mesonEnable "unwind" false) # libplacebo doesn’t build with `darwin.libunwind` + ]; postPatch = '' substituteInPlace meson.build \ diff --git a/pkgs/by-name/li/libplctag/package.nix b/pkgs/by-name/li/libplctag/package.nix index 994cf0fef05ce..3c6548073e047 100644 --- a/pkgs/by-name/li/libplctag/package.nix +++ b/pkgs/by-name/li/libplctag/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub +{ + lib, + stdenv, + cmake, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/libplctag/libplctag"; description = "Library that uses EtherNet/IP or Modbus TCP to read and write tags in PLCs"; - license = with licenses; [ lgpl2Plus mpl20 ]; + license = with licenses; [ + lgpl2Plus + mpl20 + ]; maintainers = with maintainers; [ petterstorvik ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libplist/package.nix b/pkgs/by-name/li/libplist/package.nix index eeabf62e1c814..1405fc7d7f802 100644 --- a/pkgs/by-name/li/libplist/package.nix +++ b/pkgs/by-name/li/libplist/package.nix @@ -1,18 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config - -, enablePython ? false -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + + enablePython ? false, + python3, }: stdenv.mkDerivation rec { pname = "libplist"; version = "2.6.0"; - outputs = [ "bin" "dev" "out" ] ++ lib.optional enablePython "py"; + outputs = [ + "bin" + "dev" + "out" + ] ++ lib.optional enablePython "py"; src = fetchFromGitHub { owner = "libimobiledevice"; @@ -35,11 +40,13 @@ stdenv.mkDerivation rec { export RELEASE_VERSION=${version} ''; - configureFlags = [ - "--enable-debug" - ] ++ lib.optionals (!enablePython) [ - "--without-cython" - ]; + configureFlags = + [ + "--enable-debug" + ] + ++ lib.optionals (!enablePython) [ + "--without-cython" + ]; doCheck = true; diff --git a/pkgs/by-name/li/libpointmatcher/package.nix b/pkgs/by-name/li/libpointmatcher/package.nix index 57c629783aa6f..19ce98dec5cfd 100644 --- a/pkgs/by-name/li/libpointmatcher/package.nix +++ b/pkgs/by-name/li/libpointmatcher/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, eigen, boost, libnabo, yaml-cpp }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, + boost, + libnabo, + yaml-cpp, +}: stdenv.mkDerivation rec { pname = "libpointmatcher"; @@ -12,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen boost libnabo yaml-cpp ]; + buildInputs = [ + eigen + boost + libnabo + yaml-cpp + ]; cmakeFlags = [ (lib.cmakeFeature "EIGEN_INCLUDE_DIR" "${eigen}/include/eigen3") diff --git a/pkgs/by-name/li/libpoly/package.nix b/pkgs/by-name/li/libpoly/package.nix index e54f822921ca0..f11ce14ce59d7 100644 --- a/pkgs/by-name/li/libpoly/package.nix +++ b/pkgs/by-name/li/libpoly/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchFromGitHub, gmp, cmake, python3}: +{ + lib, + stdenv, + fetchFromGitHub, + gmp, + cmake, + python3, +}: stdenv.mkDerivation rec { pname = "libpoly"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ gmp python3 ]; + buildInputs = [ + gmp + python3 + ]; strictDeps = true; diff --git a/pkgs/by-name/li/libpseudo/package.nix b/pkgs/by-name/li/libpseudo/package.nix index 58931a8161886..23dd33253eda8 100644 --- a/pkgs/by-name/li/libpseudo/package.nix +++ b/pkgs/by-name/li/libpseudo/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, pkg-config, glib, ncurses}: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + ncurses, +}: stdenv.mkDerivation rec { pname = "libpseudo"; version = "1.2.0"; @@ -18,7 +25,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib ncurses ]; + buildInputs = [ + glib + ncurses + ]; meta = with lib; { homepage = "http://libpseudo.sourceforge.net/"; diff --git a/pkgs/by-name/li/libpsm2/package.nix b/pkgs/by-name/li/libpsm2/package.nix index ee47968352ae4..e7591afaf2b93 100644 --- a/pkgs/by-name/li/libpsm2/package.nix +++ b/pkgs/by-name/li/libpsm2/package.nix @@ -1,10 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, numactl, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + numactl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libpsm2"; version = "12.0.1"; - preConfigure= '' + preConfigure = '' export UDEVDIR=$out/etc/udev substituteInPlace ./Makefile --replace "udevrulesdir}" "prefix}/etc/udev"; ''; @@ -41,7 +47,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/intel/opa-psm2"; description = "PSM2 library supports a number of fabric media and stacks"; - license = with licenses; [ gpl2Only bsd3 ]; + license = with licenses; [ + gpl2Only + bsd3 + ]; platforms = [ "x86_64-linux" ]; maintainers = [ maintainers.bzizou ]; }; diff --git a/pkgs/by-name/li/libpst/package.nix b/pkgs/by-name/li/libpst/package.nix index a608b6741b0c0..aa52e2daa378e 100644 --- a/pkgs/by-name/li/libpst/package.nix +++ b/pkgs/by-name/li/libpst/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, bzip2 -, doxygen -, gettext -, imagemagick -, libgsf -, pkg-config -, xmlto +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + bzip2, + doxygen, + gettext, + imagemagick, + libgsf, + pkg-config, + xmlto, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libptytty/package.nix b/pkgs/by-name/li/libptytty/package.nix index 3ed0cf6a39d0c..e9da99ff565d5 100644 --- a/pkgs/by-name/li/libptytty/package.nix +++ b/pkgs/by-name/li/libptytty/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchurl -, cmake +{ + stdenv, + lib, + fetchurl, + cmake, }: let @@ -21,7 +22,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = lib.optional isStatic "-DBUILD_SHARED_LIBS=OFF" + cmakeFlags = + lib.optional isStatic "-DBUILD_SHARED_LIBS=OFF" ++ lib.optional (isCross || isStatic) "-DTTY_GID_SUPPORT=OFF" # Musl lacks UTMP/WTMP built-in support ++ lib.optionals isMusl [ diff --git a/pkgs/by-name/li/libqalculate/package.nix b/pkgs/by-name/li/libqalculate/package.nix index 6a7072f850fc8..c3b24c9ef91a3 100644 --- a/pkgs/by-name/li/libqalculate/package.nix +++ b/pkgs/by-name/li/libqalculate/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, intltool -, pkg-config -, doxygen -, autoreconfHook -, buildPackages -, curl -, gettext -, libiconv -, readline -, libxml2 -, mpfr -, icu -, gnuplot +{ + lib, + stdenv, + fetchFromGitHub, + intltool, + pkg-config, + doxygen, + autoreconfHook, + buildPackages, + curl, + gettext, + libiconv, + readline, + libxml2, + mpfr, + icu, + gnuplot, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-IatxsbSKoLwG6yXCFtejUTl48gIis76rLeULc2+aktk="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ intltool @@ -56,14 +61,16 @@ stdenv.mkDerivation (finalAttrs: { intltoolize -f ''; - patchPhase = '' - substituteInPlace libqalculate/Calculator-plot.cc \ - --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \ - --replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - ' - '' + lib.optionalString stdenv.cc.isClang '' - substituteInPlace src/qalc.cc \ - --replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))' - ''; + patchPhase = + '' + substituteInPlace libqalculate/Calculator-plot.cc \ + --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \ + --replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - ' + '' + + lib.optionalString stdenv.cc.isClang '' + substituteInPlace src/qalc.cc \ + --replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))' + ''; preBuild = '' pushd docs/reference @@ -75,7 +82,11 @@ stdenv.mkDerivation (finalAttrs: { description = "Advanced calculator library"; homepage = "http://qalculate.github.io"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ gebner doronbehar alyaeanyx ]; + maintainers = with maintainers; [ + gebner + doronbehar + alyaeanyx + ]; mainProgram = "qalc"; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libqb/package.nix b/pkgs/by-name/li/libqb/package.nix index 080078d2b7fac..094a1c53790f8 100644 --- a/pkgs/by-name/li/libqb/package.nix +++ b/pkgs/by-name/li/libqb/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libxml2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libxml2, +}: stdenv.mkDerivation rec { pname = "libqb"; @@ -19,7 +27,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libxml2 ]; diff --git a/pkgs/by-name/li/libqmi/package.nix b/pkgs/by-name/li/libqmi/package.nix index 58fadd30ee8d5..1bd3a50715efe 100644 --- a/pkgs/by-name/li/libqmi/package.nix +++ b/pkgs/by-name/li/libqmi/package.nix @@ -1,32 +1,37 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, help2man -, glib -, python3 -, mesonEmulatorHook -, libgudev -, bash-completion -, libmbim -, libqrtr-glib -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, withMan ? stdenv.buildPlatform.canExecute stdenv.hostPlatform +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + help2man, + glib, + python3, + mesonEmulatorHook, + libgudev, + bash-completion, + libmbim, + libqrtr-glib, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + withMan ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: stdenv.mkDerivation rec { pname = "libqmi"; version = "1.34.0"; - outputs = [ "out" "dev" ] - ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -36,34 +41,42 @@ stdenv.mkDerivation rec { hash = "sha256-l9ev9ZOWicVNZ/Wj//KNd3NHcefIrLVriqJhEpwWvtQ="; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - ] ++ lib.optionals withMan [ - help2man - ] ++ lib.optionals withIntrospection [ - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - ] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + python3 + ] + ++ lib.optionals withMan [ + help2man + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ] + ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - bash-completion - libmbim - ] ++ lib.optionals withIntrospection [ - libgudev - ]; + buildInputs = + [ + bash-completion + libmbim + ] + ++ lib.optionals withIntrospection [ + libgudev + ]; - propagatedBuildInputs = [ - glib - ] ++ lib.optionals withIntrospection [ - libqrtr-glib - ]; + propagatedBuildInputs = + [ + glib + ] + ++ lib.optionals withIntrospection [ + libqrtr-glib + ]; mesonFlags = [ "-Dudevdir=${placeholder "out"}/lib/udev" diff --git a/pkgs/by-name/li/libqrtr-glib/package.nix b/pkgs/by-name/li/libqrtr-glib/package.nix index 9309c48a8c6a7..852d76906a66d 100644 --- a/pkgs/by-name/li/libqrtr-glib/package.nix +++ b/pkgs/by-name/li/libqrtr-glib/package.nix @@ -1,22 +1,27 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, glib +{ + lib, + stdenv, + fetchFromGitLab, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + glib, }: stdenv.mkDerivation rec { pname = "libqrtr-glib"; version = "1.2.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -32,17 +37,19 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/li/libr3/package.nix b/pkgs/by-name/li/libr3/package.nix index 78934bbdcfb89..046547fdd053b 100644 --- a/pkgs/by-name/li/libr3/package.nix +++ b/pkgs/by-name/li/libr3/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, pcre -, pkg-config -, check -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + pcre, + pkg-config, + check, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -17,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "09cixbms817p6nb77wz3rxp0znnac8ybycvsrrzgwlbfn58a3zwl"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ check ]; propagatedBuildInputs = [ pcre ]; diff --git a/pkgs/by-name/li/libraqm/package.nix b/pkgs/by-name/li/libraqm/package.nix index 9899c70b8089e..9df38707bcb34 100644 --- a/pkgs/by-name/li/libraqm/package.nix +++ b/pkgs/by-name/li/libraqm/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, meson -, ninja -, freetype -, harfbuzz -, fribidi +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + freetype, + harfbuzz, + fribidi, }: stdenv.mkDerivation rec { @@ -20,9 +21,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-KhGE66GS5rIieVXJUFA3jSsXEpbdnzN0VIAF/zOelU4="; }; - buildInputs = [ freetype harfbuzz fribidi ]; + buildInputs = [ + freetype + harfbuzz + fribidi + ]; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; doCheck = true; diff --git a/pkgs/by-name/li/libraspberrypi/package.nix b/pkgs/by-name/li/libraspberrypi/package.nix index bb7508b1cec5f..3d66848f17731 100644 --- a/pkgs/by-name/li/libraspberrypi/package.nix +++ b/pkgs/by-name/li/libraspberrypi/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, }: stdenv.mkDerivation rec { @@ -15,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha512-f7tBgIykcIdkwcFjBKk5ooD/5Bsyrd/0OFr7LNCwWFYeE4DH3XA7UR7YjArkwqUVCVBByr82EOaacw0g1blOkw=="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ # -DARM64=ON disables all targets that only build on 32-bit ARM; this allows # the package to build on aarch64 and other architectures @@ -27,7 +32,15 @@ stdenv.mkDerivation rec { description = "Userland tools & libraries for interfacing with Raspberry Pi hardware"; homepage = "https://github.com/raspberrypi/userland"; license = licenses.bsd3; - platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" "x86_64-linux" ]; - maintainers = with maintainers; [ dezgeg tkerber ]; + platforms = [ + "armv6l-linux" + "armv7l-linux" + "aarch64-linux" + "x86_64-linux" + ]; + maintainers = with maintainers; [ + dezgeg + tkerber + ]; }; } diff --git a/pkgs/by-name/li/libraw/package.nix b/pkgs/by-name/li/libraw/package.nix index 5c40666a21155..7b63fb45435e7 100644 --- a/pkgs/by-name/li/libraw/package.nix +++ b/pkgs/by-name/li/libraw/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, lcms2 -, pkg-config - -# for passthru.tests -, deepin -, freeimage -, hdrmerge -, imagemagick -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + lcms2, + pkg-config, + + # for passthru.tests + deepin, + freeimage, + hdrmerge, + imagemagick, + python3, }: stdenv.mkDerivation rec { @@ -24,11 +25,19 @@ stdenv.mkDerivation rec { hash = "sha256-QFyRQ0V7din/rnkRvEWf521kSzN7HwJ3kZiQ43PAmVI="; }; - outputs = [ "out" "lib" "dev" "doc" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + ]; propagatedBuildInputs = [ lcms2 ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; enableParallelBuilding = true; @@ -41,8 +50,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)"; homepage = "https://www.libraw.org/"; - license = with licenses; [ cddl lgpl2Plus ]; + license = with licenses; [ + cddl + lgpl2Plus + ]; platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/li/libraw1394/package.nix b/pkgs/by-name/li/libraw1394/package.nix index 184cb2e7de4ad..628d10710e0f2 100644 --- a/pkgs/by-name/li/libraw1394/package.nix +++ b/pkgs/by-name/li/libraw1394/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libraw1394"; diff --git a/pkgs/by-name/li/librclone/package.nix b/pkgs/by-name/li/librclone/package.nix index bb3053e19d53b..3a526a83cae1b 100644 --- a/pkgs/by-name/li/librclone/package.nix +++ b/pkgs/by-name/li/librclone/package.nix @@ -1,12 +1,14 @@ -{ lib -, stdenv -, buildGoModule -, rclone +{ + lib, + stdenv, + buildGoModule, + rclone, }: let ext = stdenv.hostPlatform.extensions.sharedLibrary; -in buildGoModule rec { +in +buildGoModule rec { pname = "librclone"; inherit (rclone) version src vendorHash; diff --git a/pkgs/by-name/li/librda/package.nix b/pkgs/by-name/li/librda/package.nix index 793783a2bae9e..bcd94265fb162 100644 --- a/pkgs/by-name/li/librda/package.nix +++ b/pkgs/by-name/li/librda/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, testers -, autoreconfHook -, glib -, gobject-introspection -, gtk3 -, intltool -, pkg-config +{ + stdenv, + lib, + fetchFromGitHub, + testers, + autoreconfHook, + glib, + gobject-introspection, + gtk3, + intltool, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libre-baskerville/package.nix b/pkgs/by-name/li/libre-baskerville/package.nix index 0be599e281e95..848c2c009f050 100644 --- a/pkgs/by-name/li/libre-baskerville/package.nix +++ b/pkgs/by-name/li/libre-baskerville/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "libre-baskerville"; diff --git a/pkgs/by-name/li/libre-bodoni/package.nix b/pkgs/by-name/li/libre-bodoni/package.nix index cd55c10d2e642..46d8510ff56dc 100644 --- a/pkgs/by-name/li/libre-bodoni/package.nix +++ b/pkgs/by-name/li/libre-bodoni/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "libre-bodoni"; diff --git a/pkgs/by-name/li/libre-caslon/package.nix b/pkgs/by-name/li/libre-caslon/package.nix index d89d4c41c0f3b..6f766f2df98ad 100644 --- a/pkgs/by-name/li/libre-caslon/package.nix +++ b/pkgs/by-name/li/libre-caslon/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libre-caslon"; diff --git a/pkgs/by-name/li/libre-franklin/package.nix b/pkgs/by-name/li/libre-franklin/package.nix index c9b0088816002..2af58d8c92f15 100644 --- a/pkgs/by-name/li/libre-franklin/package.nix +++ b/pkgs/by-name/li/libre-franklin/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "libre-franklin"; diff --git a/pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix b/pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix index 5fc90574d40f7..6619689d46b0f 100644 --- a/pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix +++ b/pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qt6 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt6, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/librearp-lv2/package.nix b/pkgs/by-name/li/librearp-lv2/package.nix index 82c78aa76d7ec..c5a0cd73daf04 100644 --- a/pkgs/by-name/li/librearp-lv2/package.nix +++ b/pkgs/by-name/li/librearp-lv2/package.nix @@ -1,6 +1,23 @@ -{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, cairo, libxkbcommon -, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor -, alsa-lib, libjack2, lv2, gcc-unwrapped, curl}: +{ + stdenv, + lib, + fetchFromGitLab, + cmake, + pkg-config, + cairo, + libxkbcommon, + xcbutilcursor, + xcbutilkeysyms, + xcbutil, + libXrandr, + libXinerama, + libXcursor, + alsa-lib, + libjack2, + lv2, + gcc-unwrapped, + curl, +}: stdenv.mkDerivation (finalAttrs: { pname = "librearp-lv2"; @@ -14,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ cairo libxkbcommon @@ -43,8 +63,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = - "A pattern-based arpeggio generator plugin."; + description = "A pattern-based arpeggio generator plugin."; homepage = "https://librearp.gitlab.io/"; license = licenses.gpl3Plus; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/by-name/li/librearp/package.nix b/pkgs/by-name/li/librearp/package.nix index 9bd1beac345d4..eb6f10ea8a746 100644 --- a/pkgs/by-name/li/librearp/package.nix +++ b/pkgs/by-name/li/librearp/package.nix @@ -1,6 +1,23 @@ -{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, cairo, libxkbcommon -, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor -, alsa-lib, libjack2, lv2, gcc-unwrapped, curl}: +{ + stdenv, + lib, + fetchFromGitLab, + cmake, + pkg-config, + cairo, + libxkbcommon, + xcbutilcursor, + xcbutilkeysyms, + xcbutil, + libXrandr, + libXinerama, + libXcursor, + alsa-lib, + libjack2, + lv2, + gcc-unwrapped, + curl, +}: stdenv.mkDerivation (finalAttrs: { pname = "librearp"; @@ -14,7 +31,10 @@ stdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ cairo libxkbcommon @@ -43,8 +63,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = - "A pattern-based arpeggio generator plugin"; + description = "A pattern-based arpeggio generator plugin"; homepage = "https://librearp.gitlab.io/"; license = licenses.gpl3Plus; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/by-name/li/librecast/package.nix b/pkgs/by-name/li/librecast/package.nix index a706b6ff14617..950893d5d6719 100644 --- a/pkgs/by-name/li/librecast/package.nix +++ b/pkgs/by-name/li/librecast/package.nix @@ -16,15 +16,27 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; hash = "sha256-pW18yYKzuWNt1+fzb/Y00cBr/gTENxeh7qLFSzFsmN0="; }; - buildInputs = [ lcrq libsodium ]; + buildInputs = [ + lcrq + libsodium + ]; installFlags = [ "PREFIX=$(out)" ]; meta = { changelog = "https://codeberg.org/librecast/librecast/src/tag/v${finalAttrs.version}/CHANGELOG.md"; description = "IPv6 multicast library"; homepage = "https://librecast.net/librecast.html"; - license = [ lib.licenses.gpl2 lib.licenses.gpl3 ]; - maintainers = with lib.maintainers; [ albertchae aynish DMills27 jasonodoom jleightcap ]; + license = [ + lib.licenses.gpl2 + lib.licenses.gpl3 + ]; + maintainers = with lib.maintainers; [ + albertchae + aynish + DMills27 + jasonodoom + jleightcap + ]; platforms = lib.platforms.gnu; }; }) diff --git a/pkgs/by-name/li/libredirect/package.nix b/pkgs/by-name/li/libredirect/package.nix index 24754041a1b66..ebc52708dded3 100644 --- a/pkgs/by-name/li/libredirect/package.nix +++ b/pkgs/by-name/li/libredirect/package.nix @@ -1,115 +1,140 @@ -{ lib, stdenv, bintools-unwrapped, llvmPackages, coreutils }: +{ + lib, + stdenv, + bintools-unwrapped, + llvmPackages, + coreutils, +}: -if stdenv.hostPlatform.isStatic -then throw '' - libredirect is not available on static builds. +if stdenv.hostPlatform.isStatic then + throw '' + libredirect is not available on static builds. - Please fix your derivation to not depend on libredirect on static - builds, using something like following: + Please fix your derivation to not depend on libredirect on static + builds, using something like following: - nativeBuildInputs = - lib.optional (!stdenv.buildPlatform.isStatic) libredirect; + nativeBuildInputs = + lib.optional (!stdenv.buildPlatform.isStatic) libredirect; - and disable tests as necessary, although fixing tests to work without - libredirect is even better. + and disable tests as necessary, although fixing tests to work without + libredirect is even better. - libredirect uses LD_PRELOAD feature of dynamic loader and does not - work on static builds where dynamic loader is not used. + libredirect uses LD_PRELOAD feature of dynamic loader and does not + work on static builds where dynamic loader is not used. '' -else stdenv.mkDerivation rec { - pname = "libredirect"; - version = "0"; - - unpackPhase = '' - cp ${./libredirect.c} libredirect.c - cp ${./test.c} test.c - ''; - - outputs = ["out" "hook"]; - - libName = "libredirect" + stdenv.hostPlatform.extensions.sharedLibrary; - - buildPhase = '' - runHook preBuild - - ${if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then '' - # We need the unwrapped binutils and clang: - # We also want to build a fat library with x86_64, arm64, arm64e in there. - # Because we use the unwrapped tools, we need to provide -isystem for headers - # and the library search directory for libdl. - # We can't build this on x86_64, because the libSystem we point to doesn't - # like arm64(e). - PATH=${bintools-unwrapped}/bin:${llvmPackages.clang-unwrapped}/bin:$PATH \ - clang -arch x86_64 -arch arm64 -arch arm64e \ - -isystem "$SDKROOT/usr/include" \ - -isystem ${lib.getLib llvmPackages.libclang}/lib/clang/*/include \ - "-L$SDKROOT/usr/lib" \ - -Wl,-install_name,$out/lib/$libName \ - -Wall -std=c99 -O3 -fPIC libredirect.c \ - -shared -o "$libName" - '' else if stdenv.hostPlatform.isDarwin then '' - $CC -Wall -std=c99 -O3 -fPIC libredirect.c \ - -Wl,-install_name,$out/lib/$libName \ - -shared -o "$libName" - '' else '' - $CC -Wall -std=c99 -O3 -fPIC libredirect.c \ - -shared -o "$libName" - ''} - - if [ -n "$doInstallCheck" ]; then - $CC -Wall -std=c99 \ - ${lib.optionalString (!stdenv.hostPlatform.isDarwin) "-D_GNU_SOURCE"} \ - -O3 test.c -o test - fi - - runHook postBuild - ''; - - # We want to retain debugging info to be able to use GDB on libredirect.so - # to more easily investigate which function overrides are missing or why - # existing ones do not have the intended effect. - dontStrip = true; - - installPhase = '' - runHook preInstall - - install -vD "$libName" "$out/lib/$libName" - - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' - # dylib will be rejected unless dylib rpath gets explictly set - install_name_tool \ - -change $libName $out/lib/$libName \ - $out/lib/$libName - '' + '' - # Provide a setup hook that injects our library into every process. - mkdir -p "$hook/nix-support" - cat < "$hook/nix-support/setup-hook" - ${if stdenv.hostPlatform.isDarwin then '' - export DYLD_INSERT_LIBRARIES="$out/lib/$libName" - '' else '' - export LD_PRELOAD="$out/lib/$libName" - ''} - SETUP_HOOK - - runHook postInstall - ''; - - doInstallCheck = true; - - installCheckPhase = '' - ( - source "$hook/nix-support/setup-hook" - NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true:/bar/baz=$(mktemp -d)" ./test - ) - ''; - - meta = with lib; { - platforms = platforms.unix; - description = "LD_PRELOAD library to intercept and rewrite the paths in glibc calls"; - longDescription = '' - libredirect is an LD_PRELOAD library to intercept and rewrite the paths in - glibc calls based on the value of $NIX_REDIRECTS, a colon-separated list - of path prefixes to be rewritten, e.g. "/src=/dst:/usr/=/nix/store/". +else + stdenv.mkDerivation rec { + pname = "libredirect"; + version = "0"; + + unpackPhase = '' + cp ${./libredirect.c} libredirect.c + cp ${./test.c} test.c ''; - }; -} + + outputs = [ + "out" + "hook" + ]; + + libName = "libredirect" + stdenv.hostPlatform.extensions.sharedLibrary; + + buildPhase = '' + runHook preBuild + + ${ + if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then + '' + # We need the unwrapped binutils and clang: + # We also want to build a fat library with x86_64, arm64, arm64e in there. + # Because we use the unwrapped tools, we need to provide -isystem for headers + # and the library search directory for libdl. + # We can't build this on x86_64, because the libSystem we point to doesn't + # like arm64(e). + PATH=${bintools-unwrapped}/bin:${llvmPackages.clang-unwrapped}/bin:$PATH \ + clang -arch x86_64 -arch arm64 -arch arm64e \ + -isystem "$SDKROOT/usr/include" \ + -isystem ${lib.getLib llvmPackages.libclang}/lib/clang/*/include \ + "-L$SDKROOT/usr/lib" \ + -Wl,-install_name,$out/lib/$libName \ + -Wall -std=c99 -O3 -fPIC libredirect.c \ + -shared -o "$libName" + '' + else if stdenv.hostPlatform.isDarwin then + '' + $CC -Wall -std=c99 -O3 -fPIC libredirect.c \ + -Wl,-install_name,$out/lib/$libName \ + -shared -o "$libName" + '' + else + '' + $CC -Wall -std=c99 -O3 -fPIC libredirect.c \ + -shared -o "$libName" + '' + } + + if [ -n "$doInstallCheck" ]; then + $CC -Wall -std=c99 \ + ${lib.optionalString (!stdenv.hostPlatform.isDarwin) "-D_GNU_SOURCE"} \ + -O3 test.c -o test + fi + + runHook postBuild + ''; + + # We want to retain debugging info to be able to use GDB on libredirect.so + # to more easily investigate which function overrides are missing or why + # existing ones do not have the intended effect. + dontStrip = true; + + installPhase = + '' + runHook preInstall + + install -vD "$libName" "$out/lib/$libName" + + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' + # dylib will be rejected unless dylib rpath gets explictly set + install_name_tool \ + -change $libName $out/lib/$libName \ + $out/lib/$libName + '' + + '' + # Provide a setup hook that injects our library into every process. + mkdir -p "$hook/nix-support" + cat < "$hook/nix-support/setup-hook" + ${ + if stdenv.hostPlatform.isDarwin then + '' + export DYLD_INSERT_LIBRARIES="$out/lib/$libName" + '' + else + '' + export LD_PRELOAD="$out/lib/$libName" + '' + } + SETUP_HOOK + + runHook postInstall + ''; + + doInstallCheck = true; + + installCheckPhase = '' + ( + source "$hook/nix-support/setup-hook" + NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true:/bar/baz=$(mktemp -d)" ./test + ) + ''; + + meta = with lib; { + platforms = platforms.unix; + description = "LD_PRELOAD library to intercept and rewrite the paths in glibc calls"; + longDescription = '' + libredirect is an LD_PRELOAD library to intercept and rewrite the paths in + glibc calls based on the value of $NIX_REDIRECTS, a colon-separated list + of path prefixes to be rewritten, e.g. "/src=/dst:/usr/=/nix/store/". + ''; + }; + } diff --git a/pkgs/by-name/li/libredwg/package.nix b/pkgs/by-name/li/libredwg/package.nix index aff1fc1a1d686..557ae44b2071a 100644 --- a/pkgs/by-name/li/libredwg/package.nix +++ b/pkgs/by-name/li/libredwg/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, writeShellScript -, pkg-config -, texinfo -, pcre2 -, swig -, libxml2 -, ncurses -, enablePython ? false -, python ? null +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + writeShellScript, + pkg-config, + texinfo, + pcre2, + swig, + libxml2, + ncurses, + enablePython ? false, + python ? null, }: let isPython3 = enablePython && python.pythonAtLeast "3"; @@ -27,28 +28,33 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - postPatch = let - printVersion = writeShellScript "print-version" '' - echo -n ${lib.escapeShellArg version} + postPatch = + let + printVersion = writeShellScript "print-version" '' + echo -n ${lib.escapeShellArg version} + ''; + in + '' + # avoid git dependency + cp ${printVersion} build-aux/git-version-gen ''; - in '' - # avoid git dependency - cp ${printVersion} build-aux/git-version-gen - ''; preConfigure = lib.optionalString (stdenv.hostPlatform.isDarwin && enablePython) '' # prevent configure picking up stack_size from distutils.sysconfig export PYTHON_EXTRA_LDFLAGS=" " ''; - nativeBuildInputs = [ autoreconfHook pkg-config texinfo ] - ++ lib.optional enablePython swig; + nativeBuildInputs = [ + autoreconfHook + pkg-config + texinfo + ] ++ lib.optional enablePython swig; - buildInputs = [ pcre2 ] + buildInputs = + [ pcre2 ] ++ lib.optionals enablePython [ python ] # configurePhase fails with python 3 when ncurses is missing - ++ lib.optional isPython3 ncurses - ; + ++ lib.optional isPython3 ncurses; # prevent python tests from running when not building with python configureFlags = lib.optional (!enablePython) "--disable-python"; @@ -57,7 +63,10 @@ stdenv.mkDerivation rec { doCheck = !stdenv.hostPlatform.isLinux; # the "xmlsuite" test requires the libxml2 c library as well as the python module - nativeCheckInputs = lib.optionals enablePython [ libxml2 libxml2.dev ]; + nativeCheckInputs = lib.optionals enablePython [ + libxml2 + libxml2.dev + ]; meta = with lib; { description = "Free implementation of the DWG file format"; diff --git a/pkgs/by-name/li/libreelec-dvb-firmware/package.nix b/pkgs/by-name/li/libreelec-dvb-firmware/package.nix index d2e3696ea4c96..6841383511f28 100644 --- a/pkgs/by-name/li/libreelec-dvb-firmware/package.nix +++ b/pkgs/by-name/li/libreelec-dvb-firmware/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, fetchFromGitHub, lib}: +{ + stdenvNoCC, + fetchFromGitHub, + lib, +}: stdenvNoCC.mkDerivation rec { pname = "libreelec-dvb-firmware"; diff --git a/pkgs/by-name/li/librelp/package.nix b/pkgs/by-name/li/librelp/package.nix index 258067c083002..00e8ef09be0a9 100644 --- a/pkgs/by-name/li/librelp/package.nix +++ b/pkgs/by-name/li/librelp/package.nix @@ -1,9 +1,12 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook -, gnutls -, openssl -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gnutls, + openssl, + pkg-config, + zlib, }: stdenv.mkDerivation rec { @@ -17,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-VJlvFiOsIyiu0kBU8NkObtt9j2ElrSzJtvE8wtSlOus="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ gnutls zlib openssl ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + gnutls + zlib + openssl + ]; meta = with lib; { description = "Reliable logging library"; diff --git a/pkgs/by-name/li/librem/package.nix b/pkgs/by-name/li/librem/package.nix index 10dba7e7a59dd..8d75bb1116610 100644 --- a/pkgs/by-name/li/librem/package.nix +++ b/pkgs/by-name/li/librem/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, zlib, openssl, libre -, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + openssl, + libre, + cmake, +}: stdenv.mkDerivation rec { version = "2.12.0"; @@ -11,18 +18,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-MsXSUxFH89EqxMe4285xFV1Tsqmv2l5RnEeli48O3XQ="; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib openssl libre ]; + buildInputs = [ + zlib + openssl + libre + ]; cmakeFlags = [ "-DRE_INCLUDE_DIR=${libre}/include/re" ]; - makeFlags = [ - "LIBRE_MK=${libre}/share/re/re.mk" - "PREFIX=$(out)" - "AR=${stdenv.cc.targetPrefix}ar" - ] - ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${lib.getDev stdenv.cc.cc}" - ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}" - ; + makeFlags = + [ + "LIBRE_MK=${libre}/share/re/re.mk" + "PREFIX=$(out)" + "AR=${stdenv.cc.targetPrefix}ar" + ] + ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${lib.getDev stdenv.cc.cc}" + ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"; enableParallelBuilding = true; meta = { description = "Library for real-time audio and video processing"; diff --git a/pkgs/by-name/li/librenms/package.nix b/pkgs/by-name/li/librenms/package.nix index 0fc97f14bbb4e..2b0efaf6cf438 100644 --- a/pkgs/by-name/li/librenms/package.nix +++ b/pkgs/by-name/li/librenms/package.nix @@ -1,28 +1,31 @@ -{ lib -, fetchFromGitHub -, unixtools -, php82 -, python3 -, makeWrapper -, nixosTests -# run-time dependencies -, graphviz -, ipmitool -, libvirt -, monitoring-plugins -, mtr -, net-snmp -, nfdump -, nmap -, rrdtool -, system-sendmail -, whois -, dataDir ? "/var/lib/librenms", logDir ? "/var/log/librenms" }: - +{ + lib, + fetchFromGitHub, + unixtools, + php82, + python3, + makeWrapper, + nixosTests, + # run-time dependencies + graphviz, + ipmitool, + libvirt, + monitoring-plugins, + mtr, + net-snmp, + nfdump, + nmap, + rrdtool, + system-sendmail, + whois, + dataDir ? "/var/lib/librenms", + logDir ? "/var/log/librenms", +}: let phpPackage = php82.withExtensions ({ enabled, all }: enabled ++ [ all.memcached ]); -in phpPackage.buildComposerProject rec { +in +phpPackage.buildComposerProject rec { pname = "librenms"; version = "24.11.0"; @@ -50,15 +53,17 @@ in phpPackage.buildComposerProject rec { system-sendmail unixtools.whereis whois - (python3.withPackages (ps: with ps; [ - pymysql - python-dotenv - python-memcached - redis - setuptools - psutil - command-runner - ])) + (python3.withPackages ( + ps: with ps; [ + pymysql + python-dotenv + python-memcached + redis + setuptools + psutil + command-runner + ] + )) ]; nativeBuildInputs = [ makeWrapper ]; @@ -121,9 +126,9 @@ in phpPackage.buildComposerProject rec { meta = with lib; { description = "Auto-discovering PHP/MySQL/SNMP based network monitoring"; - homepage = "https://www.librenms.org/"; - license = licenses.gpl3Only; + homepage = "https://www.librenms.org/"; + license = licenses.gpl3Only; maintainers = with maintainers; [ netali ] ++ teams.wdz.members; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/librep/package.nix b/pkgs/by-name/li/librep/package.nix index 373f8232a8575..6258682938a5b 100644 --- a/pkgs/by-name/li/librep/package.nix +++ b/pkgs/by-name/li/librep/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, gdbm -, gmp -, libffi -, pkg-config -, readline -, texinfo +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gdbm, + gmp, + libffi, + pkg-config, + readline, + texinfo, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/librespeed-cli/package.nix b/pkgs/by-name/li/librespeed-cli/package.nix index 8751d9ab43d4d..627686d58d1b6 100644 --- a/pkgs/by-name/li/librespeed-cli/package.nix +++ b/pkgs/by-name/li/librespeed-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/li/libreswan/package.nix b/pkgs/by-name/li/libreswan/package.nix index 8484185404519..8635ee0a208b9 100644 --- a/pkgs/by-name/li/libreswan/package.nix +++ b/pkgs/by-name/li/libreswan/package.nix @@ -1,45 +1,51 @@ -{ lib -, stdenv -, fetchurl -, nixosTests -, pkg-config -, systemd -, gmp -, unbound -, bison -, flex -, pam -, libevent -, libcap_ng -, libxcrypt -, curl -, nspr -, bash -, runtimeShell -, iproute2 -, iptables -, procps -, coreutils -, gnused -, gawk -, nss -, which -, python3 -, libselinux -, ldns -, xmlto -, docbook_xml_dtd_45 -, docbook_xsl -, findXMLCatalogs -, dns-root-data +{ + lib, + stdenv, + fetchurl, + nixosTests, + pkg-config, + systemd, + gmp, + unbound, + bison, + flex, + pam, + libevent, + libcap_ng, + libxcrypt, + curl, + nspr, + bash, + runtimeShell, + iproute2, + iptables, + procps, + coreutils, + gnused, + gawk, + nss, + which, + python3, + libselinux, + ldns, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, + findXMLCatalogs, + dns-root-data, }: let # Tools needed by ipsec scripts binPath = lib.makeBinPath [ - iproute2 iptables procps - coreutils gnused gawk - nss.tools which + iproute2 + iptables + procps + coreutils + gnused + gawk + nss.tools + which ]; in @@ -65,11 +71,23 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - systemd coreutils - gnused gawk gmp unbound pam libevent - libcap_ng libxcrypt curl nspr nss ldns + systemd + coreutils + gnused + gawk + gmp + unbound + pam + libevent + libcap_ng + libxcrypt + curl + nspr + nss + ldns # needed to patch shebangs - python3 bash + python3 + bash ] ++ lib.optional stdenv.hostPlatform.isLinux libselinux; prePatch = '' @@ -110,8 +128,14 @@ stdenv.mkDerivation rec { homepage = "https://libreswan.org"; description = "Free software implementation of the VPN protocol based on IPSec and the Internet Key Exchange"; platforms = platforms.linux ++ platforms.freebsd; - license = with licenses; [ gpl2Plus mpl20 ] ; - maintainers = with maintainers; [ afranchuk rnhmjoj ]; + license = with licenses; [ + gpl2Plus + mpl20 + ]; + maintainers = with maintainers; [ + afranchuk + rnhmjoj + ]; mainProgram = "ipsec"; }; } diff --git a/pkgs/by-name/li/librevenge/package.nix b/pkgs/by-name/li/librevenge/package.nix index e8733a324cabc..db56de87c8443 100644 --- a/pkgs/by-name/li/librevenge/package.nix +++ b/pkgs/by-name/li/librevenge/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, boost, pkg-config, cppunit, zlib }: +{ + lib, + stdenv, + fetchurl, + boost, + pkg-config, + cppunit, + zlib, +}: stdenv.mkDerivation rec { pname = "librevenge"; diff --git a/pkgs/by-name/li/librime-lua/package.nix b/pkgs/by-name/li/librime-lua/package.nix index 3c60a41b6264c..bca9fc2f36e5a 100644 --- a/pkgs/by-name/li/librime-lua/package.nix +++ b/pkgs/by-name/li/librime-lua/package.nix @@ -35,6 +35,9 @@ stdenvNoCC.mkDerivation { description = "Extending RIME with Lua scripts"; homepage = "https://github.com/hchunhui/librime-lua"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ linj xddxdd ]; + maintainers = with lib.maintainers; [ + linj + xddxdd + ]; }; } diff --git a/pkgs/by-name/li/librime/package.nix b/pkgs/by-name/li/librime/package.nix index 6cd7788caf978..e998a9fd75306 100644 --- a/pkgs/by-name/li/librime/package.nix +++ b/pkgs/by-name/li/librime/package.nix @@ -1,6 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, glog, leveldb, marisa, opencc, - yaml-cpp, gtest, capnproto, pkg-config, librime-lua, librime-octagram, - plugins ? [ librime-lua librime-octagram ] }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + glog, + leveldb, + marisa, + opencc, + yaml-cpp, + gtest, + capnproto, + pkg-config, + librime-lua, + librime-octagram, + plugins ? [ + librime-lua + librime-octagram + ], +}: let copySinglePlugin = plug: "cp -r ${plug} plugins/${plug.name}"; @@ -21,18 +39,29 @@ stdenv.mkDerivation rec { sha256 = "sha256-NwtWpH1FxIZP/+oOJbsaEmySLxXlxkCCIG+SEGo242Q="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ boost glog leveldb marisa opencc yaml-cpp gtest capnproto ] - ++ plugins; # for propagated build inputs + buildInputs = [ + boost + glog + leveldb + marisa + opencc + yaml-cpp + gtest + capnproto + ] ++ plugins; # for propagated build inputs preConfigure = copyPlugins; meta = with lib; { - homepage = "https://rime.im/"; + homepage = "https://rime.im/"; description = "Rime Input Method Engine, the core library"; - license = licenses.bsd3; + license = licenses.bsd3; maintainers = with maintainers; [ vonfry ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/li/librist/package.nix b/pkgs/by-name/li/librist/package.nix index a98400a89d356..9de790f636b4a 100644 --- a/pkgs/by-name/li/librist/package.nix +++ b/pkgs/by-name/li/librist/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, cjson -, cmocka -, mbedtls +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + cjson, + cmocka, + mbedtls, }: stdenv.mkDerivation rec { @@ -43,7 +44,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library that can be used to easily add the RIST protocol to your application"; homepage = "https://code.videolan.org/rist/librist"; - license = with licenses; [ bsd2 mit isc ]; + license = with licenses; [ + bsd2 + mit + isc + ]; maintainers = with maintainers; [ raphaelr ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libroxml/package.nix b/pkgs/by-name/li/libroxml/package.nix index 647e4c188a050..68ba8f05c7671 100644 --- a/pkgs/by-name/li/libroxml/package.nix +++ b/pkgs/by-name/li/libroxml/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libroxml"; @@ -6,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.libroxml.net/pool/v2.x/libroxml-${version}.tar.gz"; - sha256 = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x"; + sha256 = "0y0vc9n4rfbimjp28nx4kdfzz08j5xymh5xjy84l9fhfac5z5a0x"; }; meta = with lib; { diff --git a/pkgs/by-name/li/librseq/package.nix b/pkgs/by-name/li/librseq/package.nix index 890c0dd25ff2e..b0c6670986a15 100644 --- a/pkgs/by-name/li/librseq/package.nix +++ b/pkgs/by-name/li/librseq/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, linuxHeaders +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + linuxHeaders, }: stdenv.mkDerivation rec { @@ -7,17 +11,24 @@ stdenv.mkDerivation rec { version = "0.1.0pre71_${builtins.substring 0 7 src.rev}"; src = fetchFromGitHub { - owner = "compudj"; - repo = "librseq"; - rev = "170f840b498e1aff068b90188727a656111bfc2f"; + owner = "compudj"; + repo = "librseq"; + rev = "170f840b498e1aff068b90188727a656111bfc2f"; sha256 = "0rdx59y8y9x8cfmmx5gl66gibkzpk3kw5lrrqhrxan8zr37a055y"; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ linuxHeaders ]; - installTargets = [ "install" "install-man" ]; + installTargets = [ + "install" + "install-man" + ]; doCheck = true; separateDebugInfo = true; @@ -36,9 +47,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Userspace library for the Linux Restartable Sequence API"; - homepage = "https://github.com/compudj/librseq"; - license = licenses.lgpl21Only; - platforms = platforms.linux; + homepage = "https://github.com/compudj/librseq"; + license = licenses.lgpl21Only; + platforms = platforms.linux; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/li/librsync/package.nix b/pkgs/by-name/li/librsync/package.nix index 5139c397de3a3..02efdd531fa1d 100644 --- a/pkgs/by-name/li/librsync/package.nix +++ b/pkgs/by-name/li/librsync/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, perl, zlib, bzip2, popt }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + perl, + zlib, + bzip2, + popt, +}: stdenv.mkDerivation rec { pname = "librsync"; @@ -12,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ perl zlib bzip2 popt ]; + buildInputs = [ + perl + zlib + bzip2 + popt + ]; dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; diff --git a/pkgs/by-name/li/librtprocess/package.nix b/pkgs/by-name/li/librtprocess/package.nix index a8366f8a92df1..8796373c6776d 100644 --- a/pkgs/by-name/li/librtprocess/package.nix +++ b/pkgs/by-name/li/librtprocess/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + llvmPackages, +}: stdenv.mkDerivation rec { pname = "librtprocess"; diff --git a/pkgs/by-name/li/librttopo/package.nix b/pkgs/by-name/li/librttopo/package.nix index 5d768db366df0..9eec8ba69bc3b 100644 --- a/pkgs/by-name/li/librttopo/package.nix +++ b/pkgs/by-name/li/librttopo/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchFromGitea -, autoreconfHook -, validatePkgConfig -, geos +{ + lib, + stdenv, + fetchFromGitea, + autoreconfHook, + validatePkgConfig, + geos, }: stdenv.mkDerivation rec { pname = "librttopo"; version = "1.1.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitea { domain = "git.osgeo.org/gitea"; diff --git a/pkgs/by-name/li/librum/package.nix b/pkgs/by-name/li/librum/package.nix index 40158f72a1209..5e2844ed73cb0 100644 --- a/pkgs/by-name/li/librum/package.nix +++ b/pkgs/by-name/li/librum/package.nix @@ -1,11 +1,12 @@ -{ lib -, mupdf -, stdenv -, fetchFromGitHub -, substituteAll -, cmake -, qt6 -, desktopToDarwinBundle +{ + lib, + mupdf, + stdenv, + fetchFromGitHub, + substituteAll, + cmake, + qt6, + desktopToDarwinBundle, }: let @@ -31,20 +32,24 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - cmake - qt6.qttools - qt6.wrapQtAppsHook - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - desktopToDarwinBundle - ]; + nativeBuildInputs = + [ + cmake + qt6.qttools + qt6.wrapQtAppsHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + desktopToDarwinBundle + ]; - buildInputs = [ - qt6.qtbase - qt6.qtsvg - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qt6.qtwayland - ]; + buildInputs = + [ + qt6.qtbase + qt6.qtsvg + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qt6.qtwayland + ]; meta = with lib; { description = "Application designed to make reading enjoyable and straightforward"; @@ -63,7 +68,10 @@ stdenv.mkDerivation rec { changelog = "https://github.com/Librum-Reader/Librum/releases/tag/${src.rev}"; license = licenses.gpl3Plus; mainProgram = "librum"; - maintainers = with maintainers; [ aleksana oluceps ]; + maintainers = with maintainers; [ + aleksana + oluceps + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/li/libsass/package.nix b/pkgs/by-name/li/libsass/package.nix index c63dd35097cc8..0dd16c7535ed9 100644 --- a/pkgs/by-name/li/libsass/package.nix +++ b/pkgs/by-name/li/libsass/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, testers - -# for passthru.tests -, gtk3 -, gtk4 -, sassc +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + testers, + + # for passthru.tests + gtk3, + gtk4, + sassc, }: stdenv.mkDerivation (finalAttrs: { @@ -43,7 +44,10 @@ stdenv.mkDerivation (finalAttrs: { description = "C/C++ implementation of a Sass compiler"; homepage = "https://github.com/sass/libsass"; license = licenses.mit; - maintainers = with maintainers; [ codyopel offline ]; + maintainers = with maintainers; [ + codyopel + offline + ]; pkgConfigModules = [ "libsass" ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/li/libschrift/package.nix b/pkgs/by-name/li/libschrift/package.nix index 376c0abbcdf94..d3a9c6b98b352 100644 --- a/pkgs/by-name/li/libschrift/package.nix +++ b/pkgs/by-name/li/libschrift/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libschrift"; diff --git a/pkgs/by-name/li/libsciter/package.nix b/pkgs/by-name/li/libsciter/package.nix index 9e9c0aece0ba0..c920db6c1a457 100644 --- a/pkgs/by-name/li/libsciter/package.nix +++ b/pkgs/by-name/li/libsciter/package.nix @@ -1,12 +1,13 @@ -{ lib -, glib -, cairo -, libuuid -, pango -, gtk3 -, stdenv -, fetchurl -, autoPatchelfHook +{ + lib, + glib, + cairo, + libuuid, + pango, + gtk3, + stdenv, + fetchurl, + autoPatchelfHook, }: stdenv.mkDerivation { @@ -22,7 +23,13 @@ stdenv.mkDerivation { autoPatchelfHook ]; - buildInputs = [ glib cairo libuuid pango gtk3 ]; + buildInputs = [ + glib + cairo + libuuid + pango + gtk3 + ]; dontUnpack = true; diff --git a/pkgs/by-name/li/libscrypt/package.nix b/pkgs/by-name/li/libscrypt/package.nix index 4f8f0deba9021..33ed0870466cb 100644 --- a/pkgs/by-name/li/libscrypt/package.nix +++ b/pkgs/by-name/li/libscrypt/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libscrypt"; diff --git a/pkgs/by-name/li/libsearpc/package.nix b/pkgs/by-name/li/libsearpc/package.nix index 94034d6167cbf..a16fdb584de45 100644 --- a/pkgs/by-name/li/libsearpc/package.nix +++ b/pkgs/by-name/li/libsearpc/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, python3 -, glib -, jansson +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + python3, + glib, + jansson, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libseccomp/package.nix b/pkgs/by-name/li/libseccomp/package.nix index a8b2a98850dd9..9ff313c84a65e 100644 --- a/pkgs/by-name/li/libseccomp/package.nix +++ b/pkgs/by-name/li/libseccomp/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, getopt, util-linuxMinimal, which, gperf, nix-update-script }: +{ + lib, + stdenv, + fetchurl, + getopt, + util-linuxMinimal, + which, + gperf, + nix-update-script, +}: stdenv.mkDerivation rec { pname = "libseccomp"; @@ -9,7 +18,13 @@ stdenv.mkDerivation rec { hash = "sha256-JIosik2bmFiqa69ScSw0r+/PnJ6Ut23OAsHJqiX7M3U="; }; - outputs = [ "out" "lib" "dev" "man" "pythonsrc" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + "pythonsrc" + ]; nativeBuildInputs = [ gperf ]; buildInputs = [ getopt ]; @@ -18,7 +33,10 @@ stdenv.mkDerivation rec { patchShebangs . ''; - nativeCheckInputs = [ util-linuxMinimal which ]; + nativeCheckInputs = [ + util-linuxMinimal + which + ]; doCheck = !(stdenv.targetPlatform.useLLVM or false); # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference. diff --git a/pkgs/by-name/li/libsecret/package.nix b/pkgs/by-name/li/libsecret/package.nix index 69eb32a8c95c2..95552812f5087 100644 --- a/pkgs/by-name/li/libsecret/package.nix +++ b/pkgs/by-name/li/libsecret/package.nix @@ -1,34 +1,40 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch2 -, glib -, meson -, ninja -, pkg-config -, gettext -, libxslt -, python3 -, python3Packages -, docbook-xsl-nons -, docbook_xml_dtd_42 -, libgcrypt -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, vala -, gi-docgen -, gnome -, gjs -, libintl -, dbus +{ + stdenv, + lib, + fetchurl, + fetchpatch2, + glib, + meson, + ninja, + pkg-config, + gettext, + libxslt, + python3, + python3Packages, + docbook-xsl-nons, + docbook_xml_dtd_42, + libgcrypt, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + vala, + gi-docgen, + gnome, + gjs, + libintl, + dbus, }: stdenv.mkDerivation rec { pname = "libsecret"; version = "0.21.4"; - outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -47,21 +53,23 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - libxslt # for xsltproc for building man pages - docbook-xsl-nons - docbook_xml_dtd_42 - libintl - vala - glib - ] ++ lib.optionals withIntrospection [ - gi-docgen - gobject-introspection - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gettext + libxslt # for xsltproc for building man pages + docbook-xsl-nons + docbook_xml_dtd_42 + libintl + vala + glib + ] + ++ lib.optionals withIntrospection [ + gi-docgen + gobject-introspection + ]; buildInputs = [ libgcrypt diff --git a/pkgs/by-name/li/libsegfault/package.nix b/pkgs/by-name/li/libsegfault/package.nix index e9f014381c5ba..89c493c5a1a37 100644 --- a/pkgs/by-name/li/libsegfault/package.nix +++ b/pkgs/by-name/li/libsegfault/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, boost -, libbacktrace -, unstableGitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + boost, + libbacktrace, + unstableGitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libselinux/package.nix b/pkgs/by-name/li/libselinux/package.nix index e77c15e7c7ecd..57f875fcd8558 100644 --- a/pkgs/by-name/li/libselinux/package.nix +++ b/pkgs/by-name/li/libselinux/package.nix @@ -1,94 +1,126 @@ -{ lib, stdenv, fetchurl, buildPackages, pcre2, pkg-config, libsepol -, enablePython ? !stdenv.hostPlatform.isStatic -, swig ? null, python3 ? null, python3Packages -, fts +{ + lib, + stdenv, + fetchurl, + buildPackages, + pcre2, + pkg-config, + libsepol, + enablePython ? !stdenv.hostPlatform.isStatic, + swig ? null, + python3 ? null, + python3Packages, + fts, }: assert enablePython -> swig != null && python3 != null; -stdenv.mkDerivation (rec { - pname = "libselinux"; - version = "3.7"; - inherit (libsepol) se_url; +stdenv.mkDerivation ( + rec { + pname = "libselinux"; + version = "3.7"; + inherit (libsepol) se_url; - outputs = [ "bin" "out" "dev" "man" ] ++ lib.optional enablePython "py"; + outputs = [ + "bin" + "out" + "dev" + "man" + ] ++ lib.optional enablePython "py"; - src = fetchurl { - url = "${se_url}/${version}/libselinux-${version}.tar.gz"; - hash = "sha256-6gP0LROk+VdXmX26jPCyYyH6xdLxZEGLTMhWqS0rF70="; - }; + src = fetchurl { + url = "${se_url}/${version}/libselinux-${version}.tar.gz"; + hash = "sha256-6gP0LROk+VdXmX26jPCyYyH6xdLxZEGLTMhWqS0rF70="; + }; - patches = [ - # Make it possible to disable shared builds (for pkgsStatic). - # - # We can't use fetchpatch because it processes includes/excludes - # /after/ stripping the prefix, which wouldn't work here because - # there would be no way to distinguish between - # e.g. libselinux/src/Makefile and libsepol/src/Makefile. - # - # This is a static email, so we shouldn't have to worry about - # normalizing the patch. - (fetchurl { - url = "https://lore.kernel.org/selinux/20211113141616.361640-1-hi@alyssa.is/raw"; - sha256 = "16a2s2ji9049892i15yyqgp4r20hi1hij4c1s4s8law9jsx65b3n"; - postFetch = '' - mv "$out" $TMPDIR/patch - ${buildPackages.patchutils_0_3_3}/bin/filterdiff \ - -i 'a/libselinux/*' --strip 1 <$TMPDIR/patch >"$out" - ''; - }) + patches = [ + # Make it possible to disable shared builds (for pkgsStatic). + # + # We can't use fetchpatch because it processes includes/excludes + # /after/ stripping the prefix, which wouldn't work here because + # there would be no way to distinguish between + # e.g. libselinux/src/Makefile and libsepol/src/Makefile. + # + # This is a static email, so we shouldn't have to worry about + # normalizing the patch. + (fetchurl { + url = "https://lore.kernel.org/selinux/20211113141616.361640-1-hi@alyssa.is/raw"; + sha256 = "16a2s2ji9049892i15yyqgp4r20hi1hij4c1s4s8law9jsx65b3n"; + postFetch = '' + mv "$out" $TMPDIR/patch + ${buildPackages.patchutils_0_3_3}/bin/filterdiff \ + -i 'a/libselinux/*' --strip 1 <$TMPDIR/patch >"$out" + ''; + }) - (fetchurl { - url = "https://git.yoctoproject.org/meta-selinux/plain/recipes-security/selinux/libselinux/0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch?id=62b9c816a5000dc01b28e78213bde26b58cbca9d"; - sha256 = "sha256-RiEUibLVzfiRU6N/J187Cs1iPAih87gCZrlyRVI2abU="; - }) - ]; + (fetchurl { + url = "https://git.yoctoproject.org/meta-selinux/plain/recipes-security/selinux/libselinux/0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch?id=62b9c816a5000dc01b28e78213bde26b58cbca9d"; + sha256 = "sha256-RiEUibLVzfiRU6N/J187Cs1iPAih87gCZrlyRVI2abU="; + }) + ]; - nativeBuildInputs = [ pkg-config python3 ] ++ lib.optionals enablePython [ - python3Packages.pip - python3Packages.setuptools - python3Packages.wheel - swig - ]; - buildInputs = [ libsepol pcre2 fts ] ++ lib.optionals enablePython [ python3 ]; + nativeBuildInputs = + [ + pkg-config + python3 + ] + ++ lib.optionals enablePython [ + python3Packages.pip + python3Packages.setuptools + python3Packages.wheel + swig + ]; + buildInputs = [ + libsepol + pcre2 + fts + ] ++ lib.optionals enablePython [ python3 ]; - # drop fortify here since package uses it by default, leading to compile error: - # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] - hardeningDisable = [ "fortify" ]; + # drop fortify here since package uses it by default, leading to compile error: + # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] + hardeningDisable = [ "fortify" ]; - env.NIX_CFLAGS_COMPILE = "-Wno-error -D_FILE_OFFSET_BITS=64"; + env.NIX_CFLAGS_COMPILE = "-Wno-error -D_FILE_OFFSET_BITS=64"; - makeFlags = [ - "PREFIX=$(out)" - "INCDIR=$(dev)/include/selinux" - "INCLUDEDIR=$(dev)/include" - "MAN3DIR=$(man)/share/man/man3" - "MAN5DIR=$(man)/share/man/man5" - "MAN8DIR=$(man)/share/man/man8" - "SBINDIR=$(bin)/sbin" - "SHLIBDIR=$(out)/lib" + makeFlags = + [ + "PREFIX=$(out)" + "INCDIR=$(dev)/include/selinux" + "INCLUDEDIR=$(dev)/include" + "MAN3DIR=$(man)/share/man/man3" + "MAN5DIR=$(man)/share/man/man5" + "MAN8DIR=$(man)/share/man/man8" + "SBINDIR=$(bin)/sbin" + "SHLIBDIR=$(out)/lib" - "LIBSEPOLA=${lib.getLib libsepol}/lib/libsepol.a" - "ARCH=${stdenv.hostPlatform.linuxArch}" - ] ++ lib.optionals (fts != null) [ - "FTS_LDLIBS=-lfts" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "DISABLE_SHARED=y" - ] ++ lib.optionals enablePython [ - "PYTHON=${python3.pythonOnBuildForHost.interpreter}" - "PYTHONLIBDIR=$(py)/${python3.sitePackages}" - "PYTHON_SETUP_ARGS=--no-build-isolation" - ]; + "LIBSEPOLA=${lib.getLib libsepol}/lib/libsepol.a" + "ARCH=${stdenv.hostPlatform.linuxArch}" + ] + ++ lib.optionals (fts != null) [ + "FTS_LDLIBS=-lfts" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "DISABLE_SHARED=y" + ] + ++ lib.optionals enablePython [ + "PYTHON=${python3.pythonOnBuildForHost.interpreter}" + "PYTHONLIBDIR=$(py)/${python3.sitePackages}" + "PYTHON_SETUP_ARGS=--no-build-isolation" + ]; - preInstall = lib.optionalString enablePython '' - mkdir -p $py/${python3.sitePackages}/selinux - ''; + preInstall = lib.optionalString enablePython '' + mkdir -p $py/${python3.sitePackages}/selinux + ''; - installTargets = [ "install" ] ++ lib.optional enablePython "install-pywrap"; + installTargets = [ "install" ] ++ lib.optional enablePython "install-pywrap"; - meta = removeAttrs libsepol.meta ["outputsToInstall"] // { - description = "SELinux core library"; - }; -} // lib.optionalAttrs (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") { - NIX_LDFLAGS = "--undefined-version"; -}) + meta = removeAttrs libsepol.meta [ "outputsToInstall" ] // { + description = "SELinux core library"; + }; + } + // + lib.optionalAttrs (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") + { + NIX_LDFLAGS = "--undefined-version"; + } +) diff --git a/pkgs/by-name/li/libsepol/package.nix b/pkgs/by-name/li/libsepol/package.nix index c1224a9dd57c5..01e038d4ec0c3 100644 --- a/pkgs/by-name/li/libsepol/package.nix +++ b/pkgs/by-name/li/libsepol/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchurl, flex }: +{ + lib, + stdenv, + fetchurl, + flex, +}: stdenv.mkDerivation rec { pname = "libsepol"; version = "3.7"; se_url = "https://github.com/SELinuxProject/selinux/releases/download"; - outputs = [ "bin" "out" "dev" "man" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + ]; src = fetchurl { url = "${se_url}/${version}/libsepol-${version}.tar.gz"; diff --git a/pkgs/by-name/li/libserdes/package.nix b/pkgs/by-name/li/libserdes/package.nix index 9c61d6a4079e4..27eb6c1f43ec7 100644 --- a/pkgs/by-name/li/libserdes/package.nix +++ b/pkgs/by-name/li/libserdes/package.nix @@ -1,15 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, perl -, which -, boost -, rdkafka -, jansson -, curl -, avro-c -, avro-cpp -, nix-update-script }: +{ + stdenv, + lib, + fetchFromGitHub, + perl, + which, + boost, + rdkafka, + jansson, + curl, + avro-c, + avro-cpp, + nix-update-script, +}: stdenv.mkDerivation rec { pname = "libserdes"; @@ -22,11 +24,24 @@ stdenv.mkDerivation rec { hash = "sha256-rg4SWa9nIDT6JrnnCDwdiFE1cvpUn0HWHn+bPkXMHQ4="; }; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; - nativeBuildInputs = [ perl which ]; + nativeBuildInputs = [ + perl + which + ]; - buildInputs = [ boost rdkafka jansson curl avro-c avro-cpp ]; + buildInputs = [ + boost + rdkafka + jansson + curl + avro-c + avro-cpp + ]; makeFlags = [ "GEN_PKG_CONFIG=y" ]; diff --git a/pkgs/by-name/li/libserialport/package.nix b/pkgs/by-name/li/libserialport/package.nix index 4f36267400673..11415d4fe68e2 100644 --- a/pkgs/by-name/li/libserialport/package.nix +++ b/pkgs/by-name/li/libserialport/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, udev, darwin }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + udev, + darwin, +}: stdenv.mkDerivation rec { pname = "libserialport"; @@ -10,7 +17,8 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optional stdenv.hostPlatform.isLinux udev + buildInputs = + lib.optional stdenv.hostPlatform.isLinux udev ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit; meta = with lib; { diff --git a/pkgs/by-name/li/libshout/package.nix b/pkgs/by-name/li/libshout/package.nix index 8f97b09a3138d..3ba32d1f8e048 100644 --- a/pkgs/by-name/li/libshout/package.nix +++ b/pkgs/by-name/li/libshout/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config -, openssl, libvorbis, libtheora, speex }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + openssl, + libvorbis, + libtheora, + speex, +}: # need pkg-config so that libshout installs ${out}/lib/pkgconfig/shout.pc @@ -25,11 +34,20 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ openssl libvorbis libtheora speex ]; + propagatedBuildInputs = [ + openssl + libvorbis + libtheora + speex + ]; meta = { description = "icecast 'c' language bindings"; diff --git a/pkgs/by-name/li/libshumate/package.nix b/pkgs/by-name/li/libshumate/package.nix index 98a3ea533bef4..b0e25af9cffd0 100644 --- a/pkgs/by-name/li/libshumate/package.nix +++ b/pkgs/by-name/li/libshumate/package.nix @@ -1,30 +1,35 @@ -{ lib -, stdenv -, fetchurl -, gi-docgen -, meson -, ninja -, pkg-config -, vala -, gobject-introspection -, gperf -, glib -, cairo -, sqlite -, libsoup_3 -, gtk4 -, libsysprof-capture -, json-glib -, protobufc -, xvfb-run -, gnome +{ + lib, + stdenv, + fetchurl, + gi-docgen, + meson, + ninja, + pkg-config, + vala, + gobject-introspection, + gperf, + glib, + cairo, + sqlite, + libsoup_3, + gtk4, + libsysprof-capture, + json-glib, + protobufc, + xvfb-run, + gnome, }: stdenv.mkDerivation (finalAttrs: { pname = "libshumate"; version = "1.3.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "devdoc"; # demo app src = fetchurl { diff --git a/pkgs/by-name/li/libsieve/package.nix b/pkgs/by-name/li/libsieve/package.nix index 12838b6269f7f..d922f0ce29a4c 100644 --- a/pkgs/by-name/li/libsieve/package.nix +++ b/pkgs/by-name/li/libsieve/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "2.3.1"; pname = "libsieve"; diff --git a/pkgs/by-name/li/libsignal-protocol-c/package.nix b/pkgs/by-name/li/libsignal-protocol-c/package.nix index 203d3613af85a..7cfa79b425aa9 100644 --- a/pkgs/by-name/li/libsignal-protocol-c/package.nix +++ b/pkgs/by-name/li/libsignal-protocol-c/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, +}: stdenv.mkDerivation rec { pname = "libsignal-protocol-c"; @@ -17,7 +23,10 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Signal Protocol C Library"; diff --git a/pkgs/by-name/li/libsignon-glib/package.nix b/pkgs/by-name/li/libsignon-glib/package.nix index 95541c97eb89f..c668b6b1a070b 100644 --- a/pkgs/by-name/li/libsignon-glib/package.nix +++ b/pkgs/by-name/li/libsignon-glib/package.nix @@ -1,10 +1,32 @@ -{ lib, stdenv, fetchgit, nix-update-script, pkg-config, meson, ninja, vala, python3, gtk-doc, docbook_xsl, docbook_xml_dtd_43, docbook_xml_dtd_412, glib, check, gobject-introspection }: +{ + lib, + stdenv, + fetchgit, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + python3, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_43, + docbook_xml_dtd_412, + glib, + check, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "libsignon-glib"; version = "2.1"; - outputs = [ "out" "dev" "devdoc" "py" ]; + outputs = [ + "out" + "dev" + "devdoc" + "py" + ]; src = fetchgit { url = "https://gitlab.com/accounts-sso/${pname}"; @@ -54,4 +76,3 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/li/libsigrokdecode/package.nix b/pkgs/by-name/li/libsigrokdecode/package.nix index 972c413ccddd9..36eed358095b8 100644 --- a/pkgs/by-name/li/libsigrokdecode/package.nix +++ b/pkgs/by-name/li/libsigrokdecode/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchgit, pkg-config, autoreconfHook, glib, python3, check, libxcrypt }: +{ + lib, + stdenv, + fetchgit, + pkg-config, + autoreconfHook, + glib, + python3, + check, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "libsigrokdecode"; @@ -10,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-1kQB7uk2c+6Uriw+1o6brThDcBLoCdPV0MVWAha7ohk="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ glib python3 libxcrypt ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + glib + python3 + libxcrypt + ]; nativeCheckInputs = [ check ]; doCheck = true; @@ -20,6 +37,9 @@ stdenv.mkDerivation rec { homepage = "https://sigrok.org/"; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor vifino ]; + maintainers = with maintainers; [ + bjornfor + vifino + ]; }; } diff --git a/pkgs/by-name/li/libsigsegv/package.nix b/pkgs/by-name/li/libsigsegv/package.nix index 84c2f19e5e296..7f64f4ba0ee22 100644 --- a/pkgs/by-name/li/libsigsegv/package.nix +++ b/pkgs/by-name/li/libsigsegv/package.nix @@ -1,5 +1,8 @@ -{ lib, stdenv, fetchurl -, enableSigbusFix ? false # required by kernels < 3.18.6 +{ + lib, + stdenv, + fetchurl, + enableSigbusFix ? false, # required by kernels < 3.18.6 }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libsixel/package.nix b/pkgs/by-name/li/libsixel/package.nix index 81f13acb340a6..3add0a77716da 100644 --- a/pkgs/by-name/li/libsixel/package.nix +++ b/pkgs/by-name/li/libsixel/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, gdk-pixbuf -, gd -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + gdk-pixbuf, + gd, + pkg-config, }: stdenv.mkDerivation rec { pname = "libsixel"; @@ -19,11 +20,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gdk-pixbuf gd + gdk-pixbuf + gd ]; nativeBuildInputs = [ - meson ninja pkg-config + meson + ninja + pkg-config ]; doCheck = true; diff --git a/pkgs/by-name/li/libskk/package.nix b/pkgs/by-name/li/libskk/package.nix index 219a71447e080..6bb44ce70d639 100644 --- a/pkgs/by-name/li/libskk/package.nix +++ b/pkgs/by-name/li/libskk/package.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, - libtool, gettext, pkg-config, - vala, gnome-common, gobject-introspection, - libgee, json-glib, skkDictionaries, libxkbcommon }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libtool, + gettext, + pkg-config, + vala, + gnome-common, + gobject-introspection, + libgee, + json-glib, + skkDictionaries, + libxkbcommon, +}: stdenv.mkDerivation rec { pname = "libskk"; @@ -24,8 +36,18 @@ stdenv.mkDerivation rec { ]; buildInputs = [ libxkbcommon ]; - nativeBuildInputs = [ vala gnome-common gobject-introspection libtool gettext pkg-config ]; - propagatedBuildInputs = [ libgee json-glib ]; + nativeBuildInputs = [ + vala + gnome-common + gobject-introspection + libtool + gettext + pkg-config + ]; + propagatedBuildInputs = [ + libgee + json-glib + ]; preConfigure = '' ./autogen.sh diff --git a/pkgs/by-name/li/libslirp/package.nix b/pkgs/by-name/li/libslirp/package.nix index a8a8c3e77e08b..e590aa2a9ad2b 100644 --- a/pkgs/by-name/li/libslirp/package.nix +++ b/pkgs/by-name/li/libslirp/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, glib +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + glib, }: stdenv.mkDerivation rec { @@ -21,7 +22,11 @@ stdenv.mkDerivation rec { separateDebugInfo = true; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ glib ]; diff --git a/pkgs/by-name/li/libsmartcols/package.nix b/pkgs/by-name/li/libsmartcols/package.nix index 5b4fcf875f6fb..ad6378cb1a3f8 100644 --- a/pkgs/by-name/li/libsmartcols/package.nix +++ b/pkgs/by-name/li/libsmartcols/package.nix @@ -1,10 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, python3, gtk-doc}: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + python3, + gtk-doc, +}: stdenv.mkDerivation rec { pname = "libsmartcols"; version = "2.39.3"; - nativeBuildInputs = [ autoreconfHook pkg-config python3 gtk-doc ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + python3 + gtk-doc + ]; src = fetchFromGitHub { owner = "karelzak"; @@ -13,13 +26,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-X39os2iHqSrrYP6HVHPOkuTfc6vNB3pmsOP3VjW50fI="; }; - configureFlags = [ "--disable-all-programs" "--enable-libsmartcols" ]; + configureFlags = [ + "--disable-all-programs" + "--enable-libsmartcols" + ]; buildPhase = '' make libsmartcols.la ''; - installTargets = [ "install-am" "install-pkgconfigDATA" ]; + installTargets = [ + "install-am" + "install-pkgconfigDATA" + ]; meta = { description = "smart column output alignment library"; @@ -29,4 +48,3 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ rb2k ]; }; } - diff --git a/pkgs/by-name/li/libsmbios/package.nix b/pkgs/by-name/li/libsmbios/package.nix index cf01f43ca7fc9..a878b9d154d66 100644 --- a/pkgs/by-name/li/libsmbios/package.nix +++ b/pkgs/by-name/li/libsmbios/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl -, pkg-config, autoreconfHook, help2man, gettext, libxml2, perl, python3, doxygen +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + pkg-config, + autoreconfHook, + help2man, + gettext, + libxml2, + perl, + python3, + doxygen, }: stdenv.mkDerivation rec { @@ -21,7 +32,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook doxygen gettext libxml2 help2man perl pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + doxygen + gettext + libxml2 + help2man + perl + pkg-config + ]; buildInputs = [ python3 ]; @@ -43,8 +62,14 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/dell/libsmbios"; description = "Library to obtain BIOS information"; - license = with licenses; [ osl21 gpl2Plus ]; + license = with licenses; [ + osl21 + gpl2Plus + ]; maintainers = [ ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/li/libsmf/package.nix b/pkgs/by-name/li/libsmf/package.nix index c8d33508672e9..8c766a1a3eb31 100644 --- a/pkgs/by-name/li/libsmf/package.nix +++ b/pkgs/by-name/li/libsmf/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, glib, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + glib, + pkg-config, +}: stdenv.mkDerivation rec { version = "1.3"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-OJXJkXvbM2GQNInZXU2ldObquKHhqkdu1zqUDnVZN0Y="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ glib ]; meta = with lib; { diff --git a/pkgs/by-name/li/libsmi/package.nix b/pkgs/by-name/li/libsmi/package.nix index 5750e6677b347..1e578eed35a0e 100644 --- a/pkgs/by-name/li/libsmi/package.nix +++ b/pkgs/by-name/li/libsmi/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv , fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libsmi"; diff --git a/pkgs/by-name/li/libsodium/package.nix b/pkgs/by-name/li/libsodium/package.nix index a9de633d46d7e..3a594b8609ab8 100644 --- a/pkgs/by-name/li/libsodium/package.nix +++ b/pkgs/by-name/li/libsodium/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook -, testers +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -11,18 +15,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-67Ze9spDkzPCu0GgwZkFhyiNoH9sf9B8s6GMwY0wzhk="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ autoreconfHook ]; separateDebugInfo = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "musl"; enableParallelBuilding = true; - hardeningDisable = lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) "stackprotector"; + hardeningDisable = lib.optional ( + stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32 + ) "stackprotector"; # FIXME: the hardeingDisable attr above does not seems effective, so # the need to disable stackprotector via configureFlags - configureFlags = lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) "--disable-ssp"; + configureFlags = lib.optional ( + stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32 + ) "--disable-ssp"; doCheck = true; diff --git a/pkgs/by-name/li/libspatialaudio/package.nix b/pkgs/by-name/li/libspatialaudio/package.nix index a97a46f357a64..ef7275e2076e0 100644 --- a/pkgs/by-name/li/libspatialaudio/package.nix +++ b/pkgs/by-name/li/libspatialaudio/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, cmake, fetchFromGitHub, libmysofa, zlib }: +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + libmysofa, + zlib, +}: stdenv.mkDerivation rec { pname = "libspatialaudio"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libmysofa zlib ]; + buildInputs = [ + libmysofa + zlib + ]; postFixup = '' substituteInPlace "''${!outputDev}/lib/pkgconfig/spatialaudio.pc" \ @@ -20,8 +30,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "Ambisonic encoding / decoding and binauralization library in C++"; + description = "Ambisonic encoding / decoding and binauralization library in C++"; homepage = "https://github.com/videolabs/libspatialaudio"; license = licenses.lgpl21Plus; platforms = platforms.linux; diff --git a/pkgs/by-name/li/libspatialite/package.nix b/pkgs/by-name/li/libspatialite/package.nix index 8330b34f4c87b..421d67096cf2d 100644 --- a/pkgs/by-name/li/libspatialite/package.nix +++ b/pkgs/by-name/li/libspatialite/package.nix @@ -1,24 +1,28 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, validatePkgConfig -, freexl -, geos -, librttopo -, libxml2 -, minizip -, proj -, sqlite -, libiconv -, zlib +{ + lib, + stdenv, + fetchurl, + pkg-config, + validatePkgConfig, + freexl, + geos, + librttopo, + libxml2, + minizip, + proj, + sqlite, + libiconv, + zlib, }: stdenv.mkDerivation rec { pname = "libspatialite"; version = "5.1.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${version}.tar.gz"; @@ -38,18 +42,20 @@ stdenv.mkDerivation rec { geos # for geos-config ]; - buildInputs = [ - freexl - geos - librttopo - libxml2 - minizip - proj - sqlite - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + buildInputs = + [ + freexl + geos + librttopo + libxml2 + minizip + proj + sqlite + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; enableParallelBuilding = true; @@ -71,7 +77,11 @@ stdenv.mkDerivation rec { description = "Extensible spatial index library in C++"; homepage = "https://www.gaia-gis.it/fossil/libspatialite"; # They allow any of these - license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + mpl11 + ]; platforms = platforms.unix; maintainers = with maintainers; teams.geospatial.members ++ [ dotlambda ]; }; diff --git a/pkgs/by-name/li/libspecbleach/package.nix b/pkgs/by-name/li/libspecbleach/package.nix index b1065561e1c63..fa3823a897d78 100644 --- a/pkgs/by-name/li/libspecbleach/package.nix +++ b/pkgs/by-name/li/libspecbleach/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, fftwFloat}: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + fftwFloat, +}: stdenv.mkDerivation rec { pname = "libspecbleach"; @@ -11,15 +19,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-Tw5nrGVAeoiMH00efJwcU+QLmKDZZTXHQPSV9x789TM="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ fftwFloat ]; meta = with lib; { description = "C library for audio noise reduction"; - homepage = "https://github.com/lucianodato/libspecbleach"; - license = licenses.lgpl2; + homepage = "https://github.com/lucianodato/libspecbleach"; + license = licenses.lgpl2; maintainers = [ maintainers.magnetophon ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/li/libspectre/package.nix b/pkgs/by-name/li/libspectre/package.nix index 9299e4dbfb137..08f3088282ae5 100644 --- a/pkgs/by-name/li/libspectre/package.nix +++ b/pkgs/by-name/li/libspectre/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, lib, stdenv, pkg-config, ghostscript, cairo }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + ghostscript, + cairo, +}: stdenv.mkDerivation rec { pname = "libspectre"; diff --git a/pkgs/by-name/li/libspectrum/package.nix b/pkgs/by-name/li/libspectrum/package.nix index 3dda20ab61284..389334300593c 100644 --- a/pkgs/by-name/li/libspectrum/package.nix +++ b/pkgs/by-name/li/libspectrum/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, perl, pkg-config, audiofile, bzip2, glib, libgcrypt, zlib }: +{ + lib, + stdenv, + fetchurl, + perl, + pkg-config, + audiofile, + bzip2, + glib, + libgcrypt, + zlib, +}: stdenv.mkDerivation rec { pname = "libspectrum"; @@ -9,9 +20,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-o1PLRumxooEGHYFjU+oBDQpv545qF6oLe3QnHKXkrPw="; }; - nativeBuildInputs = [ perl pkg-config ]; + nativeBuildInputs = [ + perl + pkg-config + ]; - buildInputs = [ audiofile bzip2 glib libgcrypt zlib ]; + buildInputs = [ + audiofile + bzip2 + glib + libgcrypt + zlib + ]; enableParallelBuilding = true; doCheck = true; diff --git a/pkgs/by-name/li/libspelling/package.nix b/pkgs/by-name/li/libspelling/package.nix index 9d0eac13bcd37..15d226079e316 100644 --- a/pkgs/by-name/li/libspelling/package.nix +++ b/pkgs/by-name/li/libspelling/package.nix @@ -1,26 +1,31 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gi-docgen -, glib -, gtk4 -, gtksourceview5 -, enchant -, icu -, libsysprof-capture -, gnome +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gi-docgen, + glib, + gtk4, + gtksourceview5, + enchant, + icu, + libsysprof-capture, + gnome, }: stdenv.mkDerivation rec { pname = "libspelling"; version = "0.4.5"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/by-name/li/libspf2/package.nix b/pkgs/by-name/li/libspf2/package.nix index 9e64441af5580..17663a5e10de1 100644 --- a/pkgs/by-name/li/libspf2/package.nix +++ b/pkgs/by-name/li/libspf2/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libspf2"; @@ -28,10 +33,13 @@ stdenv.mkDerivation rec { doCheck = true; meta = with lib; { - description = "Implementation of the Sender Policy Framework for SMTP " + - "authorization (Helsinki Systems fork)"; + description = + "Implementation of the Sender Policy Framework for SMTP " + "authorization (Helsinki Systems fork)"; homepage = "https://github.com/helsinki-systems/libspf2"; - license = with licenses; [ lgpl21Plus bsd2 ]; + license = with licenses; [ + lgpl21Plus + bsd2 + ]; maintainers = with maintainers; [ pacien ] ++ teams.helsinki-systems.members; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libspiro/package.nix b/pkgs/by-name/li/libspiro/package.nix index c14117305f04b..9f3bf740d066b 100644 --- a/pkgs/by-name/li/libspiro/package.nix +++ b/pkgs/by-name/li/libspiro/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, pkg-config, autoreconfHook, fetchFromGitHub }: +{ + lib, + stdenv, + pkg-config, + autoreconfHook, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libspiro"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-psEF1SWkire6ngEUcMU0xnGYaT8ktqDCBlBckToGUMg="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; meta = with lib; { description = "Library that simplifies the drawing of beautiful curves"; diff --git a/pkgs/by-name/li/libspng/package.nix b/pkgs/by-name/li/libspng/package.nix index 98e4aa0641ce9..2ba14980ad54c 100644 --- a/pkgs/by-name/li/libspng/package.nix +++ b/pkgs/by-name/li/libspng/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, stdenv -, zlib -, ninja -, meson -, pkg-config -, cmake -, libpng +{ + lib, + fetchFromGitHub, + stdenv, + zlib, + ninja, + meson, + pkg-config, + cmake, + libpng, }: stdenv.mkDerivation rec { @@ -30,7 +31,10 @@ stdenv.mkDerivation rec { "-Ddev_build=true" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; diff --git a/pkgs/by-name/li/libsrs2/package.nix b/pkgs/by-name/li/libsrs2/package.nix index e6fd748362e90..e1de774e48e8c 100644 --- a/pkgs/by-name/li/libsrs2/package.nix +++ b/pkgs/by-name/li/libsrs2/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libsrs2"; @@ -12,7 +16,10 @@ stdenv.mkDerivation rec { meta = { description = "Next generation SRS library from the original designer of SRS"; mainProgram = "srs"; - license = with lib.licenses; [ gpl2 bsd3 ]; + license = with lib.licenses; [ + gpl2 + bsd3 + ]; homepage = "https://www.libsrs2.org/"; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/li/libssh/package.nix b/pkgs/by-name/li/libssh/package.nix index ad6a4322bc1a4..b0f5cbc51ce31 100644 --- a/pkgs/by-name/li/libssh/package.nix +++ b/pkgs/by-name/li/libssh/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, cmake -, zlib -, openssl -, libsodium - -# for passthru.tests -, ffmpeg -, sshping -, wireshark +{ + lib, + stdenv, + fetchurl, + pkg-config, + cmake, + zlib, + openssl, + libsodium, + + # for passthru.tests + ffmpeg, + sshping, + wireshark, }: stdenv.mkDerivation rec { @@ -22,7 +23,10 @@ stdenv.mkDerivation rec { hash = "sha256-FLfcxy6R4IFRxYuYGntXCrJmP2MOfSg3ZF1anGEsG3k="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' # Fix headers to use libsodium instead of NaCl @@ -33,9 +37,16 @@ stdenv.mkDerivation rec { # included in `buildInputs` such as libX11. cmakeFlags = [ "-DWITH_EXAMPLES=OFF" ]; - buildInputs = [ zlib openssl libsodium ]; + buildInputs = [ + zlib + openssl + libsodium + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; postFixup = '' substituteInPlace $dev/lib/cmake/libssh/libssh-config.cmake \ diff --git a/pkgs/by-name/li/libssh2/package.nix b/pkgs/by-name/li/libssh2/package.nix index 42f8acbc8f3f3..0239ca729c6a7 100644 --- a/pkgs/by-name/li/libssh2/package.nix +++ b/pkgs/by-name/li/libssh2/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, openssl -, zlib -, windows - -# for passthru.tests -, aria2 -, curl -, libgit2 -, mc -, vlc +{ + lib, + stdenv, + fetchurl, + openssl, + zlib, + windows, + + # for passthru.tests + aria2, + curl, + libgit2, + mc, + vlc, }: stdenv.mkDerivation rec { @@ -28,14 +29,22 @@ stdenv.mkDerivation rec { substituteInPlace ./config.guess --replace-fail /usr/bin/uname uname ''; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; propagatedBuildInputs = [ openssl ]; # see Libs: in libssh2.pc - buildInputs = [ zlib ] - ++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64; + buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64; passthru.tests = { - inherit aria2 libgit2 mc vlc; + inherit + aria2 + libgit2 + mc + vlc + ; curl = (curl.override { scpSupport = true; }).tests.withCheck; }; diff --git a/pkgs/by-name/li/libstaden-read/package.nix b/pkgs/by-name/li/libstaden-read/package.nix index dd2d93ae30a3c..877c5042ff840 100644 --- a/pkgs/by-name/li/libstaden-read/package.nix +++ b/pkgs/by-name/li/libstaden-read/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, bzip2 -, xz -, zlib +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + bzip2, + xz, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "jkbonfield"; repo = "io_lib"; - rev = "io_lib-" + builtins.replaceStrings ["."] ["-"] finalAttrs.version; + rev = "io_lib-" + builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version; fetchSubmodules = true; hash = "sha256-2Dlx+MXmqar81/Xmf0oE+6lWX461EDYijiZsZf/VD28="; }; @@ -25,7 +26,11 @@ stdenv.mkDerivation (finalAttrs: { ./libstaden-install-config-header.patch ]; - buildInputs = [ bzip2 xz zlib ]; + buildInputs = [ + bzip2 + xz + zlib + ]; nativeBuildInputs = [ autoreconfHook ]; # autoreconfHook does not descend into htscodecs folder @@ -40,7 +45,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://staden.sourceforge.net"; downloadPage = "https://github.com/jkbonfield/io_lib/releases"; changelog = "https://github.com/jkbonfield/io_lib/blob/${finalAttrs.src.rev}/CHANGES"; - license = with lib.licenses; [ bsd3 free ]; + license = with lib.licenses; [ + bsd3 + free + ]; platforms = lib.platforms.all; maintainers = [ lib.maintainers.kupac ]; }; diff --git a/pkgs/by-name/li/libstartup_notification/package.nix b/pkgs/by-name/li/libstartup_notification/package.nix index bf84345be2d11..374c92e963b35 100644 --- a/pkgs/by-name/li/libstartup_notification/package.nix +++ b/pkgs/by-name/li/libstartup_notification/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, libX11, libxcb, pkg-config, xcbutil}: +{ + lib, + stdenv, + fetchurl, + libX11, + libxcb, + pkg-config, + xcbutil, +}: stdenv.mkDerivation rec { pname = "libstartup-notification"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libxcb xcbutil ]; + buildInputs = [ + libX11 + libxcb + xcbutil + ]; meta = { homepage = "https://www.freedesktop.org/software/startup-notification"; diff --git a/pkgs/by-name/li/libstemmer/package.nix b/pkgs/by-name/li/libstemmer/package.nix index 3f66ee92a72e5..2df64013e2b6f 100644 --- a/pkgs/by-name/li/libstemmer/package.nix +++ b/pkgs/by-name/li/libstemmer/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, perl, buildPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + buildPackages, +}: stdenv.mkDerivation rec { pname = "libstemmer"; @@ -13,12 +19,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; - prePatch = '' - patchShebangs . - '' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - substituteInPlace GNUmakefile \ - --replace './snowball' '${lib.getBin buildPackages.libstemmer}/bin/snowball' - ''; + prePatch = + '' + patchShebangs . + '' + + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + substituteInPlace GNUmakefile \ + --replace './snowball' '${lib.getBin buildPackages.libstemmer}/bin/snowball' + ''; makeTarget = "libstemmer.a"; diff --git a/pkgs/by-name/li/libstroke/package.nix b/pkgs/by-name/li/libstroke/package.nix index d3f44a0381058..826dbeaa3c297 100644 --- a/pkgs/by-name/li/libstroke/package.nix +++ b/pkgs/by-name/li/libstroke/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, automake -, autoconf -, libX11 +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + libX11, }: stdenv.mkDerivation rec { @@ -19,16 +20,19 @@ stdenv.mkDerivation rec { sed -i 1i'#include ' libstroke/stroke.c ''; - nativeBuildInputs = [ automake autoconf ]; + nativeBuildInputs = [ + automake + autoconf + ]; buildInputs = [ libX11 ]; # libstroke ships with an ancient config.sub that doesn't know about x86_64, so regenerate it. # Also, modern automake doesn't like things and returns error code 63. But it generates the file. preConfigure = '' - rm config.sub - autoconf - automake -a || true - ''; + rm config.sub + autoconf + automake -a || true + ''; meta = { description = "Library for simple gesture recognition"; diff --git a/pkgs/by-name/li/libstrophe/package.nix b/pkgs/by-name/li/libstrophe/package.nix index c78411b5c4f20..ecb3a87c77dce 100644 --- a/pkgs/by-name/li/libstrophe/package.nix +++ b/pkgs/by-name/li/libstrophe/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, libtool -, openssl -, expat -, pkg-config -, check -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + openssl, + expat, + pkg-config, + check, + zlib, }: stdenv.mkDerivation rec { @@ -20,8 +22,17 @@ stdenv.mkDerivation rec { hash = "sha256-JMuvWspgXs+1dVWoo6kJVaf6cVvYj8lhyyu4ZILKeOg="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ openssl expat libtool check zlib ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + openssl + expat + libtool + check + zlib + ]; dontDisableStatic = true; @@ -38,9 +49,14 @@ stdenv.mkDerivation rec { ''; homepage = "https://strophe.im/libstrophe/"; changelog = "https://github.com/strophe/libstrophe/blob/${src.rev}/ChangeLog"; - license = with licenses; [ gpl3Only mit ]; + license = with licenses; [ + gpl3Only + mit + ]; platforms = platforms.unix; - maintainers = with maintainers; [ devhell flosse ]; + maintainers = with maintainers; [ + devhell + flosse + ]; }; } - diff --git a/pkgs/by-name/li/libsurvive/package.nix b/pkgs/by-name/li/libsurvive/package.nix index 4e5418de689aa..35f649b3d86d6 100644 --- a/pkgs/by-name/li/libsurvive/package.nix +++ b/pkgs/by-name/li/libsurvive/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libglut -, lapack -, libusb1 -, blas -, zlib -, eigen +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libglut, + lapack, + libusb1, + blas, + zlib, + eigen, }: stdenv.mkDerivation rec { @@ -23,7 +25,10 @@ stdenv.mkDerivation rec { hash = "sha256-NcxdTKra+YkLt/iu9+1QCeQZLV3/qlhma2Ns/+ZYVsk="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libglut diff --git a/pkgs/by-name/li/libsvm/package.nix b/pkgs/by-name/li/libsvm/package.nix index 1fd5141c9084f..4653352086fe3 100644 --- a/pkgs/by-name/li/libsvm/package.nix +++ b/pkgs/by-name/li/libsvm/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fixDarwinDylibNames -, llvmPackages -, withOpenMP ? true +{ + lib, + stdenv, + fetchurl, + fixDarwinDylibNames, + llvmPackages, + withOpenMP ? true, }: stdenv.mkDerivation rec { @@ -19,9 +20,16 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals (stdenv.cc.isClang && withOpenMP) [ llvmPackages.openmp ]; - buildFlags = [ "lib" "all" ]; + buildFlags = [ + "lib" + "all" + ]; - outputs = [ "out" "bin" "dev" ]; + outputs = [ + "out" + "bin" + "dev" + ]; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; @@ -29,7 +37,11 @@ stdenv.mkDerivation rec { let libSuff = stdenv.hostPlatform.extensions.sharedLibrary; soVersion = "3"; - libName = if stdenv.hostPlatform.isDarwin then "libsvm.${soVersion}${libSuff}" else "libsvm${libSuff}.${soVersion}"; + libName = + if stdenv.hostPlatform.isDarwin then + "libsvm.${soVersion}${libSuff}" + else + "libsvm${libSuff}.${soVersion}"; in '' runHook preInstall diff --git a/pkgs/by-name/li/libsystemtap/package.nix b/pkgs/by-name/li/libsystemtap/package.nix index c227f689074b9..9c798b956f7a7 100644 --- a/pkgs/by-name/li/libsystemtap/package.nix +++ b/pkgs/by-name/li/libsystemtap/package.nix @@ -1,7 +1,10 @@ -{ lib, stdenv, fetchgit -, gettext -, python3 -, elfutils +{ + lib, + stdenv, + fetchgit, + gettext, + python3, + elfutils, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/li/libtap/package.nix b/pkgs/by-name/li/libtap/package.nix index 46b2e492cb353..cda5e0d3bf577 100644 --- a/pkgs/by-name/li/libtap/package.nix +++ b/pkgs/by-name/li/libtap/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake, perl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + cmake, + perl, +}: stdenv.mkDerivation rec { @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ cmake perl ]; + propagatedBuildInputs = [ + cmake + perl + ]; meta = with lib; { description = "Library to implement a test protocol"; diff --git a/pkgs/by-name/li/libtar/package.nix b/pkgs/by-name/li/libtar/package.nix index 6a9f3d4a50a78..9c5d3dbedf0ac 100644 --- a/pkgs/by-name/li/libtar/package.nix +++ b/pkgs/by-name/li/libtar/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, fetchpatch, autoreconfHook }: +{ + lib, + stdenv, + fetchgit, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "1.2.20"; @@ -11,21 +17,24 @@ stdenv.mkDerivation rec { sha256 = "1pjsqnqjaqgkzf1j8m6y5h76bwprffsjjj6gk8rh2fjsha14rqn9"; }; - patches = let - fp = name: sha256: - fetchpatch { - url = "https://sources.debian.net/data/main/libt/libtar/1.2.20-4/debian/patches/${name}.patch"; - inherit sha256; - }; - in [ + patches = + let + fp = + name: sha256: + fetchpatch { + url = "https://sources.debian.net/data/main/libt/libtar/1.2.20-4/debian/patches/${name}.patch"; + inherit sha256; + }; + in + [ (fetchpatch { name = "no_static_buffers.patch"; url = "https://src.fedoraproject.org/rpms/libtar/raw/e25b692fc7ceaa387dafb865b472510754f51bd2/f/libtar-1.2.20-no-static-buffer.patch"; sha256 = "sha256-QcWOgdkNlALb+YDVneT1zCNAMf4d8IUm2kUUUy2VvJs="; }) - (fp "no_maxpathlen" "11riv231wpbdb1cm4nbdwdsik97wny5sxcwdgknqbp61ibk572b7") - (fp "CVE-2013-4420" "0d010190bqgr2ggy02qwxvjaymy9a22jmyfwdfh4086v876cbxpq") - (fp "th_get_size-unsigned-int" "1ravbs5yrfac98mnkrzciw9hd2fxq4dc07xl3wx8y2pv1bzkwm41") + (fp "no_maxpathlen" "11riv231wpbdb1cm4nbdwdsik97wny5sxcwdgknqbp61ibk572b7") + (fp "CVE-2013-4420" "0d010190bqgr2ggy02qwxvjaymy9a22jmyfwdfh4086v876cbxpq") + (fp "th_get_size-unsigned-int" "1ravbs5yrfac98mnkrzciw9hd2fxq4dc07xl3wx8y2pv1bzkwm41") (fetchpatch { name = "CVE-2021-33643_CVE-2021-33644.patch"; url = "https://src.fedoraproject.org/rpms/libtar/raw/e25b692fc7ceaa387dafb865b472510754f51bd2/f/libtar-1.2.20-CVE-2021-33643-CVE-2021-33644.patch"; diff --git a/pkgs/by-name/li/libtasn1/package.nix b/pkgs/by-name/li/libtasn1/package.nix index 9d3e181701bde..21986252b919f 100644 --- a/pkgs/by-name/li/libtasn1/package.nix +++ b/pkgs/by-name/li/libtasn1/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, perl -, texinfo - -# for passthru.tests -, gnutls -, samba -, qemu +{ + lib, + stdenv, + fetchurl, + perl, + texinfo, + + # for passthru.tests + gnutls, + samba, + qemu, }: stdenv.mkDerivation rec { @@ -19,16 +20,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-FhPwrBz0hNbsDOO4wG1WJjzHJC8cI7MNgtI940WmP3o="; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; - nativeBuildInputs = [ texinfo perl ]; + nativeBuildInputs = [ + texinfo + perl + ]; doCheck = true; - preCheck = if stdenv.hostPlatform.isDarwin then - "export DYLD_LIBRARY_PATH=`pwd`/lib/.libs" - else - null; + preCheck = + if stdenv.hostPlatform.isDarwin then "export DYLD_LIBRARY_PATH=`pwd`/lib/.libs" else null; passthru.tests = { inherit gnutls samba qemu; diff --git a/pkgs/by-name/li/libtcod/package.nix b/pkgs/by-name/li/libtcod/package.nix index 3674f25b46590..678ce9c46f5ae 100644 --- a/pkgs/by-name/li/libtcod/package.nix +++ b/pkgs/by-name/li/libtcod/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromBitbucket, cmake, SDL, libGLU, libGL, upx, zlib }: +{ + lib, + stdenv, + fetchFromBitbucket, + cmake, + SDL, + libGLU, + libGL, + upx, + zlib, +}: stdenv.mkDerivation { @@ -22,7 +32,13 @@ stdenv.mkDerivation { cmakeFlags = [ "-DLIBTCOD_SAMPLES=OFF" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ SDL libGLU libGL upx zlib ]; + buildInputs = [ + SDL + libGLU + libGL + upx + zlib + ]; meta = { description = "API for roguelike games"; diff --git a/pkgs/by-name/li/libtelnet/package.nix b/pkgs/by-name/li/libtelnet/package.nix index eebaee394ee0f..b2243d30113a0 100644 --- a/pkgs/by-name/li/libtelnet/package.nix +++ b/pkgs/by-name/li/libtelnet/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + zlib, +}: stdenv.mkDerivation { pname = "libtelnet"; @@ -11,7 +18,10 @@ stdenv.mkDerivation { sha256 = "1lp6gdbndsp2w8mhy88c2jknxj2klvnggvq04ln7qjg8407ifpda"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ zlib ]; meta = { diff --git a/pkgs/by-name/li/libtermkey/package.nix b/pkgs/by-name/li/libtermkey/package.nix index a96baf0d9f3e0..4fe2408d80d66 100644 --- a/pkgs/by-name/li/libtermkey/package.nix +++ b/pkgs/by-name/li/libtermkey/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchzip, libtool, pkg-config, ncurses, unibilium }: +{ + stdenv, + lib, + fetchzip, + libtool, + pkg-config, + ncurses, + unibilium, +}: stdenv.mkDerivation rec { pname = "libtermkey"; @@ -9,10 +17,19 @@ stdenv.mkDerivation rec { sha256 = "02dks6bj7n23lj005yq41azf95wh3hapmgc2lzyh12vigkjh67rg"; }; - makeFlags = [ "PREFIX=$(out)" "LIBTOOL=${libtool}/bin/libtool" ]; + makeFlags = [ + "PREFIX=$(out)" + "LIBTOOL=${libtool}/bin/libtool" + ]; - nativeBuildInputs = [ libtool pkg-config ]; - buildInputs = [ ncurses unibilium ]; + nativeBuildInputs = [ + libtool + pkg-config + ]; + buildInputs = [ + ncurses + unibilium + ]; strictDeps = true; diff --git a/pkgs/by-name/li/libthai/package.nix b/pkgs/by-name/li/libthai/package.nix index a72bfc6f25d59..bde18a0519855 100644 --- a/pkgs/by-name/li/libthai/package.nix +++ b/pkgs/by-name/li/libthai/package.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchurl, installShellFiles, pkg-config, libdatrie }: +{ + lib, + stdenv, + fetchurl, + installShellFiles, + pkg-config, + libdatrie, +}: stdenv.mkDerivation rec { pname = "libthai"; version = "0.1.29"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz"; @@ -13,7 +23,11 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ installShellFiles (lib.getBin libdatrie) pkg-config ]; + nativeBuildInputs = [ + installShellFiles + (lib.getBin libdatrie) + pkg-config + ]; buildInputs = [ libdatrie ]; diff --git a/pkgs/by-name/li/libthreadar/package.nix b/pkgs/by-name/li/libthreadar/package.nix index bd6a7b1a49b5f..549142ad0d527 100644 --- a/pkgs/by-name/li/libthreadar/package.nix +++ b/pkgs/by-name/li/libthreadar/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gcc-unwrapped }: +{ + lib, + stdenv, + fetchurl, + gcc-unwrapped, +}: stdenv.mkDerivation rec { version = "1.5.0"; @@ -9,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-wJAkIUGK7Ud6n2p1275vNkSx/W7LlgKWXQaDevetPko="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ gcc-unwrapped ]; diff --git a/pkgs/by-name/li/libticables2/package.nix b/pkgs/by-name/li/libticables2/package.nix index 5beab9b14c1e1..162b8332c7f5f 100644 --- a/pkgs/by-name/li/libticables2/package.nix +++ b/pkgs/by-name/li/libticables2/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, pkg-config -, autoreconfHook -, glib -, libusb1 +{ + stdenv, + lib, + fetchurl, + fetchpatch, + pkg-config, + autoreconfHook, + glib, + libusb1, }: stdenv.mkDerivation rec { @@ -68,7 +69,10 @@ stdenv.mkDerivation rec { description = "This library is part of the TiLP framework"; homepage = "http://lpg.ticalc.org/prj_tilp/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ siraben clevor ]; + maintainers = with maintainers; [ + siraben + clevor + ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/li/libtickit/package.nix b/pkgs/by-name/li/libtickit/package.nix index eaecc2d6d8bdd..c67745e3e771d 100644 --- a/pkgs/by-name/li/libtickit/package.nix +++ b/pkgs/by-name/li/libtickit/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libtool -, perl -, libtermkey -, unibilium +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libtool, + perl, + libtermkey, + unibilium, }: let version = "0.4.3"; diff --git a/pkgs/by-name/li/libticonv/package.nix b/pkgs/by-name/li/libticonv/package.nix index 1fb708823a3fe..5ef5348b79474 100644 --- a/pkgs/by-name/li/libticonv/package.nix +++ b/pkgs/by-name/li/libticonv/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, autoreconfHook -, glib +{ + stdenv, + lib, + fetchurl, + pkg-config, + autoreconfHook, + glib, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { description = "This library is part of the TiLP framework"; homepage = "http://lpg.ticalc.org/prj_tilp/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ siraben clevor ]; + maintainers = with maintainers; [ + siraben + clevor + ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/li/libtiff/package.nix b/pkgs/by-name/li/libtiff/package.nix index 7ad8f84fc2a12..674369df1cd07 100644 --- a/pkgs/by-name/li/libtiff/package.nix +++ b/pkgs/by-name/li/libtiff/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, nix-update-script - -, autoreconfHook -, pkg-config -, sphinx - -, lerc -, libdeflate -, libjpeg -, libwebp -, xz -, zlib -, zstd +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + nix-update-script, + + autoreconfHook, + pkg-config, + sphinx, + + lerc, + libdeflate, + libjpeg, + libwebp, + xz, + zlib, + zstd, # for passthru.tests -, libgeotiff -, python3Packages -, imagemagick -, graphicsmagick -, gdal -, openimageio -, freeimage -, testers + libgeotiff, + python3Packages, + imagemagick, + graphicsmagick, + gdal, + openimageio, + freeimage, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -50,7 +51,14 @@ stdenv.mkDerivation (finalAttrs: { mv VERSION VERSION.txt ''; - outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "dev_private" + "out" + "man" + "doc" + ]; postFixup = '' moveToOutput include/tif_config.h $dev_private @@ -61,7 +69,11 @@ stdenv.mkDerivation (finalAttrs: { # If you want to change to a different build system, please make # sure cross-compilation works first! - nativeBuildInputs = [ autoreconfHook pkg-config sphinx ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + sphinx + ]; buildInputs = [ lerc @@ -88,7 +100,14 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - inherit libgeotiff imagemagick graphicsmagick gdal openimageio freeimage; + inherit + libgeotiff + imagemagick + graphicsmagick + gdal + openimageio + freeimage + ; inherit (python3Packages) pillow imread; pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; diff --git a/pkgs/by-name/li/libtifiles2/package.nix b/pkgs/by-name/li/libtifiles2/package.nix index 3ff14e69a0c14..6e25366044070 100644 --- a/pkgs/by-name/li/libtifiles2/package.nix +++ b/pkgs/by-name/li/libtifiles2/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, autoreconfHook -, glib -, libarchive -, libticonv +{ + stdenv, + lib, + fetchurl, + pkg-config, + autoreconfHook, + glib, + libarchive, + libticonv, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { description = "This library is part of the TiLP framework"; homepage = "http://lpg.ticalc.org/prj_tilp/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ siraben clevor ]; + maintainers = with maintainers; [ + siraben + clevor + ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/li/libtiger/package.nix b/pkgs/by-name/li/libtiger/package.nix index 149f5e65fc418..09211b89c89b3 100644 --- a/pkgs/by-name/li/libtiger/package.nix +++ b/pkgs/by-name/li/libtiger/package.nix @@ -1,5 +1,13 @@ -{ stdenv, lib, fetchurl, autoreconfHook, pkg-config -, libkate, pango, cairo, darwin +{ + stdenv, + lib, + fetchurl, + autoreconfHook, + pkg-config, + libkate, + pango, + cairo, + darwin, }: stdenv.mkDerivation rec { @@ -19,9 +27,15 @@ stdenv.mkDerivation rec { substituteInPlace configure.ac --replace "-Werror" "-Wno-error" ''; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libkate pango cairo ] - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.ApplicationServices; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libkate + pango + cairo + ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.ApplicationServices; meta = { homepage = "https://code.google.com/archive/p/libtiger/"; diff --git a/pkgs/by-name/li/libtins/package.nix b/pkgs/by-name/li/libtins/package.nix index 6f195615551fb..c433d5dbb37a7 100644 --- a/pkgs/by-name/li/libtins/package.nix +++ b/pkgs/by-name/li/libtins/package.nix @@ -1,4 +1,13 @@ -{ boost, cmake, fetchFromGitHub, gtest, libpcap, openssl, lib, stdenv }: +{ + boost, + cmake, + fetchFromGitHub, + gtest, + libpcap, + openssl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "libtins"; @@ -23,7 +32,10 @@ stdenv.mkDerivation rec { chmod -R a+w googletest ''; - nativeBuildInputs = [ cmake gtest ]; + nativeBuildInputs = [ + cmake + gtest + ]; buildInputs = [ openssl libpcap diff --git a/pkgs/by-name/li/libtirpc/package.nix b/pkgs/by-name/li/libtirpc/package.nix index 1a1cf14c9ea88..caf70fbe09671 100644 --- a/pkgs/by-name/li/libtirpc/package.nix +++ b/pkgs/by-name/li/libtirpc/package.nix @@ -1,16 +1,27 @@ -{ fetchurl, lib, stdenv, autoreconfHook, libkrb5 }: +{ + fetchurl, + lib, + stdenv, + autoreconfHook, + libkrb5, +}: stdenv.mkDerivation rec { pname = "libtirpc"; version = "1.3.5"; src = fetchurl { - url = "http://git.linux-nfs.org/?p=steved/libtirpc.git;a=snapshot;h=refs/tags/libtirpc-${lib.replaceStrings ["."] ["-"] version};sf=tgz"; + url = "http://git.linux-nfs.org/?p=steved/libtirpc.git;a=snapshot;h=refs/tags/libtirpc-${ + lib.replaceStrings [ "." ] [ "-" ] version + };sf=tgz"; hash = "sha256-bq2zfqfMJsJ6gezLCUTlNiRXJhFxFslY4iW+4kpOPVE="; name = "${pname}-${version}.tar.gz"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; KRB5_CONFIG = "${libkrb5.dev}/bin/krb5-config"; nativeBuildInputs = [ autoreconfHook ]; @@ -36,17 +47,17 @@ stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; longDescription = '' - Currently, NFS commands use the SunRPC routines provided by the - glibc. These routines do not support IPv6 addresses. Ulrich - Drepper, who is the maintainer of the glibc, refuses any change in - the glibc concerning the RPC. He wants the RPC to become a separate - library. Other OS (NetBSD, FreeBSD, Solarix, HP-UX, AIX) have - migrated their SunRPC library to a TI-RPC (Transport Independent - RPC) implementation. This implementation allows the support of - other transports than UDP and TCP over IPv4. FreeBSD provides a - TI-RPC library ported from NetBSD with improvements. This library - already supports IPv6. So, the FreeBSD release 5.2.1 TI-RPC has - been ported to replace the SunRPC of the glibc. + Currently, NFS commands use the SunRPC routines provided by the + glibc. These routines do not support IPv6 addresses. Ulrich + Drepper, who is the maintainer of the glibc, refuses any change in + the glibc concerning the RPC. He wants the RPC to become a separate + library. Other OS (NetBSD, FreeBSD, Solarix, HP-UX, AIX) have + migrated their SunRPC library to a TI-RPC (Transport Independent + RPC) implementation. This implementation allows the support of + other transports than UDP and TCP over IPv4. FreeBSD provides a + TI-RPC library ported from NetBSD with improvements. This library + already supports IPv6. So, the FreeBSD release 5.2.1 TI-RPC has + been ported to replace the SunRPC of the glibc. ''; }; } diff --git a/pkgs/by-name/li/libtomcrypt/package.nix b/pkgs/by-name/li/libtomcrypt/package.nix index 568d1a22c6a80..b44b19cc53cf8 100644 --- a/pkgs/by-name/li/libtomcrypt/package.nix +++ b/pkgs/by-name/li/libtomcrypt/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, libtool, libtommath }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libtool, + libtommath, +}: stdenv.mkDerivation rec { pname = "libtomcrypt"; @@ -21,7 +28,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ libtool libtommath ]; + nativeBuildInputs = [ + libtool + libtommath + ]; postPatch = '' substituteInPlace makefile.shared --replace "LIBTOOL:=glibtool" "LIBTOOL:=libtool" @@ -43,7 +53,10 @@ stdenv.mkDerivation rec { description = "Fairly comprehensive, modular and portable cryptographic toolkit"; homepage = "https://www.libtom.net/LibTomCrypt/"; changelog = "https://github.com/libtom/libtomcrypt/raw/v${version}/changes"; - license = with licenses; [ publicDomain wtfpl ]; + license = with licenses; [ + publicDomain + wtfpl + ]; maintainers = [ ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/li/libtommath/package.nix b/pkgs/by-name/li/libtommath/package.nix index 56225f96de8c4..cfc07912e46d8 100644 --- a/pkgs/by-name/li/libtommath/package.nix +++ b/pkgs/by-name/li/libtommath/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libtool }: +{ + lib, + stdenv, + fetchurl, + libtool, +}: stdenv.mkDerivation rec { pname = "libtommath"; @@ -24,14 +29,19 @@ stdenv.mkDerivation rec { makefile = "makefile.shared"; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-DTARGET_OS_IPHONE=0"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-DTARGET_OS_IPHONE=0"; enableParallelBuilding = true; meta = with lib; { homepage = "https://www.libtom.net/LibTomMath/"; description = "Library for integer-based number-theoretic applications"; - license = with licenses; [ publicDomain wtfpl ]; + license = with licenses; [ + publicDomain + wtfpl + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/li/libtorrent-rasterbar-2_0_x/package.nix b/pkgs/by-name/li/libtorrent-rasterbar-2_0_x/package.nix index 3f85048e4eb71..236b930a994db 100644 --- a/pkgs/by-name/li/libtorrent-rasterbar-2_0_x/package.nix +++ b/pkgs/by-name/li/libtorrent-rasterbar-2_0_x/package.nix @@ -1,14 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, zlib, boost, openssl, python3, ncurses, darwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + boost, + openssl, + python3, + ncurses, + darwin, }: let version = "2.0.10"; # Make sure we override python, so the correct version is chosen - boostPython = boost.override { enablePython = true; python = python3; }; + boostPython = boost.override { + enablePython = true; + python = python3; + }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "libtorrent-rasterbar"; inherit version; @@ -22,8 +35,13 @@ in stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - buildInputs = [ boostPython openssl zlib python3 ncurses ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = [ + boostPython + openssl + zlib + python3 + ncurses + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; patches = [ # provide distutils alternative for python 3.12 @@ -50,7 +68,11 @@ in stdenv.mkDerivation { --replace "\''${_IMPORT_PREFIX}/lib" "$out/lib" ''; - outputs = [ "out" "dev" "python" ]; + outputs = [ + "out" + "dev" + "python" + ]; cmakeFlags = [ "-Dpython-bindings=on" diff --git a/pkgs/by-name/li/libtoxcore/package.nix b/pkgs/by-name/li/libtoxcore/package.nix index 7e7619b1a2fbf..41d60e68363f6 100644 --- a/pkgs/by-name/li/libtoxcore/package.nix +++ b/pkgs/by-name/li/libtoxcore/package.nix @@ -1,26 +1,28 @@ -{ lib -, stdenv -, fetchurl -, cmake -, libsodium -, ncurses -, libopus -, libvpx -, check -, libconfig -, pkg-config +{ + lib, + stdenv, + fetchurl, + cmake, + libsodium, + ncurses, + libopus, + libvpx, + check, + libconfig, + pkg-config, }: -let buildToxAV = !stdenv.hostPlatform.isAarch32; -in stdenv.mkDerivation rec { +let + buildToxAV = !stdenv.hostPlatform.isAarch32; +in +stdenv.mkDerivation rec { pname = "libtoxcore"; version = "0.2.20"; src = # We need the prepared sources tarball. fetchurl { - url = - "https://github.com/TokTok/c-toxcore/releases/download/v${version}/c-toxcore-${version}.tar.gz"; + url = "https://github.com/TokTok/c-toxcore/releases/download/v${version}/c-toxcore-${version}.tar.gz"; hash = "sha256-qciaja6nRdU+XXjnqsuZx7R5LEQApaaccSOPRdYWT0w="; }; @@ -29,16 +31,21 @@ in stdenv.mkDerivation rec { "-DBOOTSTRAP_DAEMON=ON" ] ++ lib.optional buildToxAV "-DMUST_BUILD_TOXAV=ON"; - buildInputs = [ - libsodium - ncurses - libconfig - ] ++ lib.optionals buildToxAV [ - libopus - libvpx - ]; + buildInputs = + [ + libsodium + ncurses + libconfig + ] + ++ lib.optionals buildToxAV [ + libopus + libvpx + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; doCheck = true; nativeCheckInputs = [ check ]; @@ -55,7 +62,10 @@ in stdenv.mkDerivation rec { description = "P2P FOSS instant messaging application aimed to replace Skype"; homepage = "https://tox.chat"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ peterhoeg ehmry ]; + maintainers = with lib.maintainers; [ + peterhoeg + ehmry + ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/li/libtpms/package.nix b/pkgs/by-name/li/libtpms/package.nix index 5ac368eea9f06..7f8d15a798429 100644 --- a/pkgs/by-name/li/libtpms/package.nix +++ b/pkgs/by-name/li/libtpms/package.nix @@ -1,8 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config, autoreconfHook -, openssl, perl +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + openssl, + perl, }: stdenv.mkDerivation rec { @@ -23,7 +26,11 @@ stdenv.mkDerivation rec { ]; buildInputs = [ openssl ]; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libtraceevent/package.nix b/pkgs/by-name/li/libtraceevent/package.nix index 0b9843cc4a537..ec5cc5fcb3c12 100644 --- a/pkgs/by-name/li/libtraceevent/package.nix +++ b/pkgs/by-name/li/libtraceevent/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchgit, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, meson, ninja, cunit, gitUpdater }: +{ + lib, + stdenv, + fetchgit, + pkg-config, + asciidoc, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, + meson, + ninja, + cunit, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "libtraceevent"; @@ -15,10 +28,26 @@ stdenv.mkDerivation rec { patchShebangs --build check-manpages.sh Documentation/install-docs.sh.in ''; - outputs = [ "out" "dev" "devman" "doc" ]; - nativeBuildInputs = [ meson ninja pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ]; + outputs = [ + "out" + "dev" + "devman" + "doc" + ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + asciidoc + xmlto + docbook_xml_dtd_45 + docbook_xsl + ]; - ninjaFlags = [ "all" "docs" ]; + ninjaFlags = [ + "all" + "docs" + ]; doCheck = true; checkInputs = [ cunit ]; @@ -31,9 +60,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Linux kernel trace event library"; - homepage = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"; - license = licenses.lgpl21Only; - platforms = platforms.linux; + homepage = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"; + license = licenses.lgpl21Only; + platforms = platforms.linux; maintainers = with maintainers; [ wentasah ]; }; } diff --git a/pkgs/by-name/li/libtracefs/package.nix b/pkgs/by-name/li/libtracefs/package.nix index d35b9e709626f..d60221e81afdb 100644 --- a/pkgs/by-name/li/libtracefs/package.nix +++ b/pkgs/by-name/li/libtracefs/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchzip -, pkg-config -, libtraceevent -, asciidoc -, xmlto -, docbook_xml_dtd_45 -, docbook_xsl -, valgrind -, sourceHighlight -, meson -, flex -, bison -, ninja -, cunit -, gitUpdater -, fetchpatch +{ + lib, + stdenv, + fetchzip, + pkg-config, + libtraceevent, + asciidoc, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, + valgrind, + sourceHighlight, + meson, + flex, + bison, + ninja, + cunit, + gitUpdater, + fetchpatch, }: stdenv.mkDerivation rec { @@ -40,7 +41,12 @@ stdenv.mkDerivation rec { patchShebangs --build check-manpages.sh samples/extract-example.sh Documentation/install-docs.sh.in ''; - outputs = [ "out" "dev" "devman" "doc" ]; + outputs = [ + "out" + "dev" + "devman" + "doc" + ]; nativeBuildInputs = [ meson ninja @@ -56,7 +62,10 @@ stdenv.mkDerivation rec { ]; buildInputs = [ libtraceevent ]; - ninjaFlags = [ "all" "docs" ]; + ninjaFlags = [ + "all" + "docs" + ]; doCheck = true; checkInputs = [ cunit ]; @@ -70,9 +79,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Linux kernel trace file system library"; mainProgram = "sqlhist"; - homepage = "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"; - license = licenses.lgpl21Only; - platforms = platforms.linux; + homepage = "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"; + license = licenses.lgpl21Only; + platforms = platforms.linux; maintainers = with maintainers; [ wentasah ]; }; } diff --git a/pkgs/by-name/li/libtree/package.nix b/pkgs/by-name/li/libtree/package.nix index 621ab218669ec..423280978086e 100644 --- a/pkgs/by-name/li/libtree/package.nix +++ b/pkgs/by-name/li/libtree/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, libtree -, runCommand -, coreutils -, dieHook +{ + lib, + stdenv, + fetchFromGitHub, + testers, + libtree, + runCommand, + coreutils, + dieHook, }: stdenv.mkDerivation (finalAttrs: { @@ -30,12 +31,18 @@ stdenv.mkDerivation (finalAttrs: { command = "libtree --version"; version = finalAttrs.version; }; - checkCoreUtils = runCommand "${finalAttrs.pname}-ls-test" { - nativeBuildInputs = [ finalAttrs.finalPackage dieHook ]; - } '' - libtree ${coreutils}/bin/ls > $out || die "libtree failed to show dependencies." - [ -s $out ] - ''; + checkCoreUtils = + runCommand "${finalAttrs.pname}-ls-test" + { + nativeBuildInputs = [ + finalAttrs.finalPackage + dieHook + ]; + } + '' + libtree ${coreutils}/bin/ls > $out || die "libtree failed to show dependencies." + [ -s $out ] + ''; }; meta = with lib; { @@ -44,6 +51,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/haampie/libtree"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ prusnak rardiol ]; + maintainers = with maintainers; [ + prusnak + rardiol + ]; }; }) diff --git a/pkgs/by-name/li/libtsm/package.nix b/pkgs/by-name/li/libtsm/package.nix index bcf9270a7158e..9de5e44acad6e 100644 --- a/pkgs/by-name/li/libtsm/package.nix +++ b/pkgs/by-name/li/libtsm/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libxkbcommon, pkg-config, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + libxkbcommon, + pkg-config, + cmake, +}: stdenv.mkDerivation rec { pname = "libtsm"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { buildInputs = [ libxkbcommon ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; # https://github.com/Aetf/libtsm/issues/20 postPatch = '' diff --git a/pkgs/by-name/li/libu2f-host/package.nix b/pkgs/by-name/li/libu2f-host/package.nix index 724a3b6b3118b..dcf975eeb9351 100644 --- a/pkgs/by-name/li/libu2f-host/package.nix +++ b/pkgs/by-name/li/libu2f-host/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, json_c, hidapi }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + json_c, + hidapi, +}: stdenv.mkDerivation rec { pname = "libu2f-host"; @@ -19,14 +27,20 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ json_c hidapi ]; + buildInputs = [ + json_c + hidapi + ]; doCheck = true; meta = with lib; { description = "C library and command-line tool that implements the host-side of the U2F protocol"; homepage = "https://developers.yubico.com/libu2f-host"; - license = with licenses; [ gpl3Plus lgpl21Plus ]; + license = with licenses; [ + gpl3Plus + lgpl21Plus + ]; mainProgram = "u2f-host"; platforms = platforms.unix; }; diff --git a/pkgs/by-name/li/libu2f-server/package.nix b/pkgs/by-name/li/libu2f-server/package.nix index 86f0245b2ed74..ae8a05ea00b60 100644 --- a/pkgs/by-name/li/libu2f-server/package.nix +++ b/pkgs/by-name/li/libu2f-server/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, json_c, openssl, check, file, help2man, which, gengetopt }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + json_c, + openssl, + check, + file, + help2man, + which, + gengetopt, +}: stdenv.mkDerivation rec { pname = "libu2f-server"; @@ -18,7 +31,15 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ json_c openssl check file help2man which gengetopt ]; + buildInputs = [ + json_c + openssl + check + file + help2man + which + gengetopt + ]; meta = with lib; { homepage = "https://developers.yubico.com/libu2f-server/"; diff --git a/pkgs/by-name/li/libuchardet/package.nix b/pkgs/by-name/li/libuchardet/package.nix index 12f210593107e..321a1d0425763 100644 --- a/pkgs/by-name/li/libuchardet/package.nix +++ b/pkgs/by-name/li/libuchardet/package.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "uchardet"; version = "0.0.8"; - outputs = [ "bin" "out" "man" "dev" ]; + outputs = [ + "bin" + "out" + "man" + "dev" + ]; src = fetchurl { url = "https://www.freedesktop.org/software/${pname}/releases/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/li/libucl/package.nix b/pkgs/by-name/li/libucl/package.nix index 0adb3a66465ef..8919d545fa5c9 100644 --- a/pkgs/by-name/li/libucl/package.nix +++ b/pkgs/by-name/li/libucl/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, curl -, lua -, openssl -, features ? { +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + curl, + lua, + openssl, + features ? { urls = false; # Upstream enables regex by default regex = true; @@ -13,7 +15,7 @@ signatures = false; lua = false; utils = false; - } + }, }: let @@ -34,17 +36,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-esNEVBa660rl3Oo2SLaLrFThFkjbqtZ1r0tjMq3h6cM="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = lib.concatLists ( - lib.mapAttrsToList (feat: enabled: - lib.optionals enabled (featureDeps."${feat}" or []) - ) features - ); + lib.mapAttrsToList (feat: enabled: lib.optionals enabled (featureDeps."${feat}" or [ ])) features + ); enableParallelBuilding = true; - configureFlags = lib.mapAttrsToList (feat: enabled: lib.strings.enableFeature enabled feat) features; + configureFlags = lib.mapAttrsToList ( + feat: enabled: lib.strings.enableFeature enabled feat + ) features; meta = with lib; { description = "Universal configuration library parser"; diff --git a/pkgs/by-name/li/libucontext/package.nix b/pkgs/by-name/li/libucontext/package.nix index 23301648bdf94..375fc20164ac9 100644 --- a/pkgs/by-name/li/libucontext/package.nix +++ b/pkgs/by-name/li/libucontext/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libucontext"; diff --git a/pkgs/by-name/li/libudev-zero/package.nix b/pkgs/by-name/li/libudev-zero/package.nix index 82bc25cca57a9..104c80c498f95 100644 --- a/pkgs/by-name/li/libudev-zero/package.nix +++ b/pkgs/by-name/li/libudev-zero/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "libudev-zero"; @@ -11,7 +16,10 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-NXDof1tfr66ywYhCBDlPa+8DUfFj6YH0dvSaxHFqsXI="; }; - makeFlags = [ "PREFIX=$(out)" "AR=${stdenv.cc.targetPrefix}ar" ]; + makeFlags = [ + "PREFIX=$(out)" + "AR=${stdenv.cc.targetPrefix}ar" + ]; # Just let the installPhase build stuff, because there's no # non-install target that builds everything anyway. @@ -27,7 +35,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/illiliti/libudev-zero"; description = "Daemonless replacement for libudev"; changelog = "https://github.com/illiliti/libudev-zero/releases/tag/${version}"; - maintainers = with maintainers; [ qyliss shamilton ]; + maintainers = with maintainers; [ + qyliss + shamilton + ]; license = licenses.isc; pkgConfigModules = [ "libudev" ]; platforms = platforms.linux; diff --git a/pkgs/by-name/li/libudev0-shim/package.nix b/pkgs/by-name/li/libudev0-shim/package.nix index 642dd534232ba..55f51b8b412df 100644 --- a/pkgs/by-name/li/libudev0-shim/package.nix +++ b/pkgs/by-name/li/libudev0-shim/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, udev }: +{ + lib, + stdenv, + fetchFromGitHub, + udev, +}: stdenv.mkDerivation rec { pname = "libudev0-shim"; diff --git a/pkgs/by-name/li/libudfread/package.nix b/pkgs/by-name/li/libudfread/package.nix index d4f9a0d06b462..cb42d73721088 100644 --- a/pkgs/by-name/li/libudfread/package.nix +++ b/pkgs/by-name/li/libudfread/package.nix @@ -1,12 +1,16 @@ -{ lib, stdenv, fetchurl, autoreconfHook, }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libudfread"; version = "1.1.2"; src = fetchurl { - url = - "https://code.videolan.org/videolan/${pname}/-/archive/${version}/${pname}-${version}.tar.gz"; + url = "https://code.videolan.org/videolan/${pname}/-/archive/${version}/${pname}-${version}.tar.gz"; sha256 = "1idsfxff1x264n8jd7077qrd61rycsd09fwmc4ar7l4qmhk6gw9b"; }; diff --git a/pkgs/by-name/li/libuecc/package.nix b/pkgs/by-name/li/libuecc/package.nix index 1cc3ac8ebea1a..da7cb93ab8423 100644 --- a/pkgs/by-name/li/libuecc/package.nix +++ b/pkgs/by-name/li/libuecc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, cmake }: +{ + lib, + stdenv, + fetchgit, + cmake, +}: stdenv.mkDerivation rec { version = "7"; diff --git a/pkgs/by-name/li/libuev/package.nix b/pkgs/by-name/li/libuev/package.nix index a124c25a20404..430eb6a0fc21c 100644 --- a/pkgs/by-name/li/libuev/package.nix +++ b/pkgs/by-name/li/libuev/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libuev"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-x1Sk7IuhlBQPFL7Rq4tmEanBxI/WaQ2L5fpUyEWOoi8="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; meta = with lib; { description = "Lightweight event loop library for Linux epoll() family APIs"; diff --git a/pkgs/by-name/li/libui-ng/package.nix b/pkgs/by-name/li/libui-ng/package.nix index cc308d86c842f..8bed051db0bf3 100644 --- a/pkgs/by-name/li/libui-ng/package.nix +++ b/pkgs/by-name/li/libui-ng/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, cmocka -, darwin -, fetchFromGitHub -, gtk3 -, meson -, ninja -, pkg-config -, unstableGitUpdater +{ + lib, + stdenv, + cmocka, + darwin, + fetchFromGitHub, + gtk3, + meson, + ninja, + pkg-config, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -33,15 +34,18 @@ stdenv.mkDerivation rec { ]; buildInputs = - if stdenv.hostPlatform.isDarwin then [ - darwin.libobjc - darwin.apple_sdk_11_0.Libsystem - darwin.apple_sdk_11_0.frameworks.Cocoa - darwin.apple_sdk_11_0.frameworks.AppKit - darwin.apple_sdk_11_0.frameworks.CoreFoundation - ] else [ - gtk3 - ]; + if stdenv.hostPlatform.isDarwin then + [ + darwin.libobjc + darwin.apple_sdk_11_0.Libsystem + darwin.apple_sdk_11_0.frameworks.Cocoa + darwin.apple_sdk_11_0.frameworks.AppKit + darwin.apple_sdk_11_0.frameworks.CoreFoundation + ] + else + [ + gtk3 + ]; mesonFlags = [ (lib.mesonBool "examples" (!stdenv.hostPlatform.isDarwin)) diff --git a/pkgs/by-name/li/libuinputplus/package.nix b/pkgs/by-name/li/libuinputplus/package.nix index 28110b577047d..8d1ed42b6ca6a 100644 --- a/pkgs/by-name/li/libuinputplus/package.nix +++ b/pkgs/by-name/li/libuinputplus/package.nix @@ -1,20 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libuinputplus"; version = "2021-04-02"; # adds missing cmake install directives # https://github.com/YukiWorkshop/libuInputPlus/pull/7 - patches = [ ./0001-Add-cmake-install-directives.patch]; + patches = [ ./0001-Add-cmake-install-directives.patch ]; - src = fetchFromGitHub { - owner = "YukiWorkshop"; - repo = "libuInputPlus"; - rev = "f7f18eb339bba61a43f2cad481a9b1a453a66957"; + src = fetchFromGitHub { + owner = "YukiWorkshop"; + repo = "libuInputPlus"; + rev = "f7f18eb339bba61a43f2cad481a9b1a453a66957"; sha256 = "0sind2ghhy4h9kfkr5hsmhcq0di4ifwqyv4gac96rgj5mwvs33lp"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/by-name/li/libuldaq/package.nix b/pkgs/by-name/li/libuldaq/package.nix index fb234ef60d14c..cb5adc4c45603 100644 --- a/pkgs/by-name/li/libuldaq/package.nix +++ b/pkgs/by-name/li/libuldaq/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libusb1, ...}: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libusb1, + ... +}: stdenv.mkDerivation rec { pname = "libuldaq"; diff --git a/pkgs/by-name/li/libunarr/package.nix b/pkgs/by-name/li/libunarr/package.nix index c53196afe4201..2ea5d3025a24b 100644 --- a/pkgs/by-name/li/libunarr/package.nix +++ b/pkgs/by-name/li/libunarr/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, cmake +{ + lib, + stdenv, + fetchurl, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libunibreak/package.nix b/pkgs/by-name/li/libunibreak/package.nix index 557ad37f23d27..66601e4725743 100644 --- a/pkgs/by-name/li/libunibreak/package.nix +++ b/pkgs/by-name/li/libunibreak/package.nix @@ -1,17 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libunibreak"; version = "6.1"; - src = let - rev_version = lib.replaceStrings ["."] ["_"] version; - in fetchFromGitHub { - owner = "adah1972"; - repo = pname; - rev = "libunibreak_${rev_version}"; - sha256 = "sha256-8yheb+XSvc1AqITjSutF+/4OWb4+7hweedKzhKJcE1Y="; - }; + src = + let + rev_version = lib.replaceStrings [ "." ] [ "_" ] version; + in + fetchFromGitHub { + owner = "adah1972"; + repo = pname; + rev = "libunibreak_${rev_version}"; + sha256 = "sha256-8yheb+XSvc1AqITjSutF+/4OWb4+7hweedKzhKJcE1Y="; + }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/li/libuninameslist/package.nix b/pkgs/by-name/li/libuninameslist/package.nix index ff438f749fd8a..a1df422c7183c 100644 --- a/pkgs/by-name/li/libuninameslist/package.nix +++ b/pkgs/by-name/li/libuninameslist/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libunity/package.nix b/pkgs/by-name/li/libunity/package.nix index 5905798ee8808..f705ca9f56c01 100644 --- a/pkgs/by-name/li/libunity/package.nix +++ b/pkgs/by-name/li/libunity/package.nix @@ -1,23 +1,28 @@ -{ lib -, stdenv -, fetchgit -, pkg-config -, glib -, vala -, dee -, gobject-introspection -, libdbusmenu -, gtk3 -, intltool -, python3 -, autoreconfHook +{ + lib, + stdenv, + fetchgit, + pkg-config, + glib, + vala, + dee, + gobject-introspection, + libdbusmenu, + gtk3, + intltool, + python3, + autoreconfHook, }: stdenv.mkDerivation { pname = "libunity"; version = "unstable-2021-02-01"; - outputs = [ "out" "dev" "py" ]; + outputs = [ + "out" + "dev" + "py" + ]; # Obtained from https://git.launchpad.net/ubuntu/+source/libunity/log/ src = fetchgit { diff --git a/pkgs/by-name/li/liburcu/package.nix b/pkgs/by-name/li/liburcu/package.nix index 1759fab7d319d..425c2969da215 100644 --- a/pkgs/by-name/li/liburcu/package.nix +++ b/pkgs/by-name/li/liburcu/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { version = "0.14.1"; @@ -9,7 +14,11 @@ stdenv.mkDerivation rec { hash = "sha256-IxrLE9xuwCPoNqDwZm9qq0fcYh7LHSzZ2cIvkiZ4q8A="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeCheckInputs = [ perl ]; @@ -22,7 +31,16 @@ stdenv.mkDerivation rec { changelog = "https://github.com/urcu/userspace-rcu/raw/v${version}/ChangeLog"; license = licenses.lgpl21Plus; # https://git.liburcu.org/?p=userspace-rcu.git;a=blob;f=include/urcu/arch.h - platforms = intersectLists platforms.unix (platforms.x86 ++ platforms.power ++ platforms.s390 ++ platforms.arm ++ platforms.aarch64 ++ platforms.mips ++ platforms.m68k ++ platforms.riscv); + platforms = intersectLists platforms.unix ( + platforms.x86 + ++ platforms.power + ++ platforms.s390 + ++ platforms.arm + ++ platforms.aarch64 + ++ platforms.mips + ++ platforms.m68k + ++ platforms.riscv + ); maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/by-name/li/liburing/package.nix b/pkgs/by-name/li/liburing/package.nix index 931cbd77b041d..ebe4d4562b232 100644 --- a/pkgs/by-name/li/liburing/package.nix +++ b/pkgs/by-name/li/liburing/package.nix @@ -42,9 +42,7 @@ stdenv.mkDerivation rec { postInstall = '' # Always builds both static and dynamic libraries, so we need to remove the # libraries that don't match stdenv type. - rm $out/lib/liburing*${ - if stdenv.hostPlatform.isStatic then ".so*" else ".a" - } + rm $out/lib/liburing*${if stdenv.hostPlatform.isStatic then ".so*" else ".a"} # Copy the examples into $bin. Most reverse dependency of # this package should reference only the $out output diff --git a/pkgs/by-name/li/libusbgx/package.nix b/pkgs/by-name/li/libusbgx/package.nix index dacaf6d42da9e..fa119c9477446 100644 --- a/pkgs/by-name/li/libusbgx/package.nix +++ b/pkgs/by-name/li/libusbgx/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, libconfig, autoreconfHook }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + libconfig, + autoreconfHook, +}: stdenv.mkDerivation { pname = "libusbgx"; version = "unstable-2021-10-31"; @@ -8,7 +15,10 @@ stdenv.mkDerivation { rev = "060784424609d5a4e3bce8355f788c93f09802a5"; sha256 = "172qh8gva17jr18ldhf9zi960w2bqzmp030w6apxq57c9nv6d8k7"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libconfig ]; meta = { description = "C library encapsulating the kernel USB gadget-configfs userspace API functionality"; diff --git a/pkgs/by-name/li/libusbp/package.nix b/pkgs/by-name/li/libusbp/package.nix index d1f1a2cc3b230..7e6a921d3aea1 100644 --- a/pkgs/by-name/li/libusbp/package.nix +++ b/pkgs/by-name/li/libusbp/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, udev -, cmake -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + udev, + cmake, + pkg-config, }: -stdenv.mkDerivation(finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "libusbp"; version = "1.3.1"; @@ -17,7 +18,10 @@ stdenv.mkDerivation(finalAttrs: { hash = "sha256-hFvQceUapzlD021KIOJbSXX7qv1IQMuEudRHYeCkbS8="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/li/libusbsio/package.nix b/pkgs/by-name/li/libusbsio/package.nix index 21c7e3f1396ec..24a41781d447e 100644 --- a/pkgs/by-name/li/libusbsio/package.nix +++ b/pkgs/by-name/li/libusbsio/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchzip -, pkg-config -, fixDarwinDylibNames -, libusb1 -, systemdMinimal -, darwin +{ + lib, + stdenv, + fetchzip, + pkg-config, + fixDarwinDylibNames, + libusb1, + systemdMinimal, + darwin, }: stdenv.mkDerivation rec { @@ -26,21 +27,29 @@ stdenv.mkDerivation rec { "BINDIR=" ]; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; - buildInputs = [ - libusb1 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - AppKit - CoreFoundation - IOKit - ]) ++ lib.optionals stdenv.hostPlatform.isLinux [ - systemdMinimal # libudev - ]; + buildInputs = + [ + libusb1 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + AppKit + CoreFoundation + IOKit + ] + ) + ++ lib.optionals stdenv.hostPlatform.isLinux [ + systemdMinimal # libudev + ]; installPhase = '' runHook preInstall @@ -53,6 +62,9 @@ stdenv.mkDerivation rec { description = "Library for communicating with devices connected via the USB bridge on LPC-Link2 and MCU-Link debug probes on supported NXP microcontroller evaluation boards"; platforms = platforms.all; license = licenses.bsd3; - maintainers = with maintainers; [ frogamic sbruder ]; + maintainers = with maintainers; [ + frogamic + sbruder + ]; }; } diff --git a/pkgs/by-name/li/libutempter/package.nix b/pkgs/by-name/li/libutempter/package.nix index 717418e686b4f..6506d10076423 100644 --- a/pkgs/by-name/li/libutempter/package.nix +++ b/pkgs/by-name/li/libutempter/package.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchurl, lib, glib }: +{ + stdenv, + fetchurl, + lib, + glib, +}: stdenv.mkDerivation rec { pname = "libutempter"; diff --git a/pkgs/by-name/li/libuvc/package.nix b/pkgs/by-name/li/libuvc/package.nix index e7ff4bb7f288d..de1062a5594f2 100644 --- a/pkgs/by-name/li/libuvc/package.nix +++ b/pkgs/by-name/li/libuvc/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { @@ -16,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0kranb0x1k5qad8rwxnn1w9963sbfj2cfzdgpfmlivb04544m2j7"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/by-name/li/libv3270/package.nix b/pkgs/by-name/li/libv3270/package.nix index 3e87f868ec166..25f3ab61bcbcf 100644 --- a/pkgs/by-name/li/libv3270/package.nix +++ b/pkgs/by-name/li/libv3270/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, which -, pkg-config -, gtk3 -, lib3270 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + which, + pkg-config, + gtk3, + lib3270, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libva-vdpau-driver/package.nix b/pkgs/by-name/li/libva-vdpau-driver/package.nix index 2e3976e3a4d23..49f3f92148c8a 100644 --- a/pkgs/by-name/li/libva-vdpau-driver/package.nix +++ b/pkgs/by-name/li/libva-vdpau-driver/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, libvdpau, libGLU, libGL, libva, pkg-config }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libvdpau, + libGLU, + libGL, + libva, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libva-vdpau-driver"; @@ -10,22 +20,39 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch { url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/libva-vdpau-driver-0.7.4-glext-85.patch"; - sha256 = "0f0v7cl7kna3jcfnxw48b9mfl0hpacw72df9vym96sa2206vqlb0"; }) - (fetchpatch { url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/libva-vdpau-driver-0.7.4-drop-h264-api.patch"; - sha256 = "0q5w83jbf4qqmhwf54h906pzxgvhqv7g2vrkw7jzgnrxhhj9sj60"; }) - (fetchpatch { url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/libva-vdpau-driver-0.7.4-fix_type.patch"; - sha256 = "0s5dk6aa4sm0iyicnf2fwfsrqbvr58nbp77mhjg5bvwlar7znqv7"; }) - (fetchpatch { url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/sigfpe-crash.patch"; - sha256 = "15snqf60ib0xb3cnav5b2r55qv8lv2fa4p6jwxajh8wbvqpw0ibz"; }) - (fetchpatch { url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/implement-vaquerysurfaceattributes.patch"; - sha256 = "1dapx3bqqblw6l2iqqw1yff6qifam8q4m2rq343kwb3dqhy2ymy5"; }) - (fetchpatch { url = "https://github.com/gentoo/gentoo/raw/34d5cc6fcf1d76c1c2833cb534717246c221214c/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch"; - sha256 = "1m4is6lk580mppsx2mvdv1xifj6gvx724si4qynsm9qrdfdc9fby"; }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/libva-vdpau-driver-0.7.4-glext-85.patch"; + sha256 = "0f0v7cl7kna3jcfnxw48b9mfl0hpacw72df9vym96sa2206vqlb0"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/libva-vdpau-driver-0.7.4-drop-h264-api.patch"; + sha256 = "0q5w83jbf4qqmhwf54h906pzxgvhqv7g2vrkw7jzgnrxhhj9sj60"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/libva-vdpau-driver-0.7.4-fix_type.patch"; + sha256 = "0s5dk6aa4sm0iyicnf2fwfsrqbvr58nbp77mhjg5bvwlar7znqv7"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/sigfpe-crash.patch"; + sha256 = "15snqf60ib0xb3cnav5b2r55qv8lv2fa4p6jwxajh8wbvqpw0ibz"; + }) + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/libva-vdpau-driver/raw/0ad71107e28a60ea453ac70e895cf64342bd58d0/f/implement-vaquerysurfaceattributes.patch"; + sha256 = "1dapx3bqqblw6l2iqqw1yff6qifam8q4m2rq343kwb3dqhy2ymy5"; + }) + (fetchpatch { + url = "https://github.com/gentoo/gentoo/raw/34d5cc6fcf1d76c1c2833cb534717246c221214c/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-include-linux-videodev2.h.patch"; + sha256 = "1m4is6lk580mppsx2mvdv1xifj6gvx724si4qynsm9qrdfdc9fby"; + }) ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libvdpau libGLU libGL libva ]; + buildInputs = [ + libvdpau + libGLU + libGL + libva + ]; postPatch = '' sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure diff --git a/pkgs/by-name/li/libvdpau-va-gl/package.nix b/pkgs/by-name/li/libvdpau-va-gl/package.nix index 7a042a172c821..0f035821e4767 100644 --- a/pkgs/by-name/li/libvdpau-va-gl/package.nix +++ b/pkgs/by-name/li/libvdpau-va-gl/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11, libpthreadstubs, libXau, libXdmcp -, libXext, libvdpau, glib, libva, libGLU }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libX11, + libpthreadstubs, + libXau, + libXdmcp, + libXext, + libvdpau, + glib, + libva, + libGLU, +}: stdenv.mkDerivation rec { pname = "libvdpau-va-gl"; @@ -12,8 +26,21 @@ stdenv.mkDerivation rec { sha256 = "0asndybfv8xb0fx73sjjw5kydqrahqkm6n04lh589pbf18s5qlld"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libX11 libpthreadstubs libXau libXdmcp libXext libvdpau glib libva libGLU ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libX11 + libpthreadstubs + libXau + libXdmcp + libXext + libvdpau + glib + libva + libGLU + ]; doCheck = false; # fails. needs DRI access diff --git a/pkgs/by-name/li/libvdwxc/package.nix b/pkgs/by-name/li/libvdwxc/package.nix index c843d443e81e2..20162f7e11d0b 100644 --- a/pkgs/by-name/li/libvdwxc/package.nix +++ b/pkgs/by-name/li/libvdwxc/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitLab -, gfortran -, autoreconfHook -, fftwMpi -, mpi +{ + stdenv, + lib, + fetchFromGitLab, + gfortran, + autoreconfHook, + fftwMpi, + mpi, }: stdenv.mkDerivation rec { @@ -19,9 +20,15 @@ stdenv.mkDerivation rec { sha256 = "1c7pjrvifncbdyngs2bv185imxbcbq64nka8gshhp8n2ns6fids6"; }; - nativeBuildInputs = [ autoreconfHook gfortran ]; + nativeBuildInputs = [ + autoreconfHook + gfortran + ]; - buildInputs = [ mpi fftwMpi ]; + buildInputs = [ + mpi + fftwMpi + ]; preConfigure = '' mkdir build && cd build @@ -44,7 +51,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Portable C library of density functionals with van der Waals interactions for density functional theory"; - license = with licenses; [ lgpl3Plus bsd3 ]; + license = with licenses; [ + lgpl3Plus + bsd3 + ]; homepage = "https://libvdwxc.org/"; platforms = platforms.unix; maintainers = [ maintainers.sheepforce ]; diff --git a/pkgs/by-name/li/libversion/package.nix b/pkgs/by-name/li/libversion/package.nix index 4efe91096576c..c1f1af764b0d9 100644 --- a/pkgs/by-name/li/libversion/package.nix +++ b/pkgs/by-name/li/libversion/package.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchFromGitHub, cmake, lib }: +{ + stdenv, + fetchFromGitHub, + cmake, + lib, +}: stdenv.mkDerivation rec { pname = "libversion"; diff --git a/pkgs/by-name/li/libverto/package.nix b/pkgs/by-name/li/libverto/package.nix index d161f2b92b2b5..2e8bb24fb2cef 100644 --- a/pkgs/by-name/li/libverto/package.nix +++ b/pkgs/by-name/li/libverto/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, glib -, libev -, libevent -, pkg-config -, glibSupport ? true -, libevSupport ? true -, libeventSupport ? true +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + glib, + libev, + libevent, + pkg-config, + glibSupport ? true, + libevSupport ? true, + libeventSupport ? true, }: let @@ -31,9 +32,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = - optional glibSupport glib - ++ optional libevSupport libev - ++ optional libeventSupport libevent; + optional glibSupport glib ++ optional libevSupport libev ++ optional libeventSupport libevent; meta = with lib; { homepage = "https://github.com/latchset/libverto"; diff --git a/pkgs/by-name/li/libviper/package.nix b/pkgs/by-name/li/libviper/package.nix index 4caa26aadc6a9..3966eaf40ac54 100644 --- a/pkgs/by-name/li/libviper/package.nix +++ b/pkgs/by-name/li/libviper/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, pkg-config, glib, ncurses, gpm}: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + ncurses, + gpm, +}: stdenv.mkDerivation rec { pname = "libviper"; version = "1.4.6"; @@ -28,7 +36,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib ncurses gpm]; + buildInputs = [ + glib + ncurses + gpm + ]; meta = with lib; { homepage = "http://libviper.sourceforge.net/"; diff --git a/pkgs/by-name/li/libviperfx/package.nix b/pkgs/by-name/li/libviperfx/package.nix index 2778726a4bf7c..a6d3b877054ec 100644 --- a/pkgs/by-name/li/libviperfx/package.nix +++ b/pkgs/by-name/li/libviperfx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libviperfx"; diff --git a/pkgs/by-name/li/libvirt-glib/package.nix b/pkgs/by-name/li/libvirt-glib/package.nix index 472812e27d9ef..6d37c6df19c32 100644 --- a/pkgs/by-name/li/libvirt-glib/package.nix +++ b/pkgs/by-name/li/libvirt-glib/package.nix @@ -1,28 +1,34 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, meson -, ninja -, pkg-config -, gettext -, vala -, libcap_ng -, libvirt -, libxml2 -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, gobject-introspection -, withDocs ? stdenv.hostPlatform == stdenv.buildPlatform -, gtk-doc -, docbook-xsl-nons +{ + lib, + stdenv, + fetchurl, + fetchpatch, + meson, + ninja, + pkg-config, + gettext, + vala, + libcap_ng, + libvirt, + libxml2, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + gobject-introspection, + withDocs ? stdenv.hostPlatform == stdenv.buildPlatform, + gtk-doc, + docbook-xsl-nons, }: stdenv.mkDerivation rec { pname = "libvirt-glib"; version = "5.0.0"; - outputs = [ "out" "dev" ] ++ lib.optional withDocs "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withDocs "devdoc"; src = fetchurl { url = "https://libvirt.org/sources/glib/${pname}-${version}.tar.xz"; @@ -37,26 +43,31 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - vala - gobject-introspection - ] ++ lib.optionals withIntrospection [ - gobject-introspection - ] ++ lib.optionals withDocs [ - gtk-doc - docbook-xsl-nons - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gettext + vala + gobject-introspection + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + ] + ++ lib.optionals withDocs [ + gtk-doc + docbook-xsl-nons + ]; - buildInputs = [ - libvirt - libxml2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libcap_ng - ]; + buildInputs = + [ + libvirt + libxml2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap_ng + ]; strictDeps = true; diff --git a/pkgs/by-name/li/libvisio2svg/package.nix b/pkgs/by-name/li/libvisio2svg/package.nix index b2a68ed586808..35452cc983145 100644 --- a/pkgs/by-name/li/libvisio2svg/package.nix +++ b/pkgs/by-name/li/libvisio2svg/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, freetype -, libemf2svg -, librevenge -, libvisio -, libwmf -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + freetype, + libemf2svg, + librevenge, + libvisio, + libwmf, + libxml2, }: stdenv.mkDerivation rec { @@ -22,7 +23,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libxml2 freetype librevenge libvisio libwmf libemf2svg ]; + buildInputs = [ + libxml2 + freetype + librevenge + libvisio + libwmf + libemf2svg + ]; cmakeFlags = [ # file RPATH_CHANGE could not write new RPATH diff --git a/pkgs/by-name/li/libvisual/package.nix b/pkgs/by-name/li/libvisual/package.nix index 12fae974312be..c38a649c8b8a7 100644 --- a/pkgs/by-name/li/libvisual/package.nix +++ b/pkgs/by-name/li/libvisual/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, SDL -, autoreconfHook -, glib -, pkg-config +{ + lib, + stdenv, + fetchurl, + fetchpatch, + SDL, + autoreconfHook, + glib, + pkg-config, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-qhKHdBf3bTZC2fTHIzAjgNgzF1Y51jpVZB0Bkopd230="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = [ # pull upstream fix for SDL1 cross-compilation. @@ -41,16 +45,24 @@ stdenv.mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ SDL glib ]; - - configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # Remove once "sdl-cross-prereq.patch" patch above is removed. - "--disable-lv-tool" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "ac_cv_func_malloc_0_nonnull=yes" - "ac_cv_func_realloc_0_nonnull=yes" + nativeBuildInputs = [ + autoreconfHook + pkg-config ]; + buildInputs = [ + SDL + glib + ]; + + configureFlags = + lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # Remove once "sdl-cross-prereq.patch" patch above is removed. + "--disable-lv-tool" + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; meta = { description = "Abstraction library for audio visualisations"; diff --git a/pkgs/by-name/li/libvmaf/package.nix b/pkgs/by-name/li/libvmaf/package.nix index 9e692fc5805eb..00ee04515b5ce 100644 --- a/pkgs/by-name/li/libvmaf/package.nix +++ b/pkgs/by-name/li/libvmaf/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, ffmpeg-full -, libaom -, meson -, nasm -, ninja -, testers -, xxd +{ + lib, + stdenv, + fetchFromGitHub, + ffmpeg-full, + libaom, + meson, + nasm, + ninja, + testers, + xxd, }: stdenv.mkDerivation (finalAttrs: { @@ -23,11 +24,19 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/libvmaf"; - nativeBuildInputs = [ meson ninja nasm xxd ]; + nativeBuildInputs = [ + meson + ninja + nasm + xxd + ]; mesonFlags = [ "-Denable_avx512=true" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; doCheck = false; passthru.tests = { diff --git a/pkgs/by-name/li/libvoikko/package.nix b/pkgs/by-name/li/libvoikko/package.nix index 3f5f4ef5c858c..6cdfd61353eb3 100644 --- a/pkgs/by-name/li/libvoikko/package.nix +++ b/pkgs/by-name/li/libvoikko/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, autoreconfHook -, hfst-ospell -, fetchFromGitHub -, pkg-config -, python3 +{ + stdenv, + lib, + autoreconfHook, + hfst-ospell, + fetchFromGitHub, + pkg-config, + python3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libvolume_id/package.nix b/pkgs/by-name/li/libvolume_id/package.nix index 718bd9cec89ca..dbdd75e275603 100644 --- a/pkgs/by-name/li/libvolume_id/package.nix +++ b/pkgs/by-name/li/libvolume_id/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libvolume_id"; diff --git a/pkgs/by-name/li/libvorbis/package.nix b/pkgs/by-name/li/libvorbis/package.nix index 42e7328a8ec12..c5104cafc4335 100644 --- a/pkgs/by-name/li/libvorbis/package.nix +++ b/pkgs/by-name/li/libvorbis/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libogg, pkg-config }: +{ + lib, + stdenv, + fetchurl, + libogg, + pkg-config, +}: stdenv.mkDerivation rec { pname = "libvorbis"; @@ -9,7 +15,11 @@ stdenv.mkDerivation rec { sha256 = "0jwmf87x5sdis64rbv0l87mdpah1rbilkkxszipbzg128f9w8g5k"; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ pkg-config ]; propagatedBuildInputs = [ libogg ]; diff --git a/pkgs/by-name/li/libvori/package.nix b/pkgs/by-name/li/libvori/package.nix index 9483c2a0bb7a8..1d431610a006e 100644 --- a/pkgs/by-name/li/libvori/package.nix +++ b/pkgs/by-name/li/libvori/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, cmake }: +{ + stdenv, + lib, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "libvori"; diff --git a/pkgs/by-name/li/libvpl/package.nix b/pkgs/by-name/li/libvpl/package.nix index c0ae60f2bb960..61b4d79b8cfc6 100644 --- a/pkgs/by-name/li/libvpl/package.nix +++ b/pkgs/by-name/li/libvpl/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, substituteAll -, addDriverRunpath +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + substituteAll, + addDriverRunpath, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libvpx/package.nix b/pkgs/by-name/li/libvpx/package.nix index 4e6e6316d9ada..41cc90a179546 100644 --- a/pkgs/by-name/li/libvpx/package.nix +++ b/pkgs/by-name/li/libvpx/package.nix @@ -1,91 +1,120 @@ -{ lib, stdenv, fetchFromGitHub, perl, yasm -, vp8DecoderSupport ? true # VP8 decoder -, vp8EncoderSupport ? true # VP8 encoder -, vp9DecoderSupport ? true # VP9 decoder -, vp9EncoderSupport ? true # VP9 encoder -, extraWarningsSupport ? false # emit non-fatal warnings -, werrorSupport ? false # treat warnings as errors (not available with all compilers) -, debugSupport ? false # debug mode -, gprofSupport ? false # gprof profiling instrumentation -, gcovSupport ? false # gcov coverage instrumentation -, sizeLimitSupport ? true # limit max size to allow in the decoder -, optimizationsSupport ? true # compiler optimization flags -, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime -, thumbSupport ? false # build arm assembly in thumb mode -, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples) -, debugLibsSupport ? false # include debug version of each library -, postprocSupport ? true # postprocessing -, multithreadSupport ? true # multithreaded decoding & encoding -, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders) -, spatialResamplingSupport ? true # spatial sampling (scaling) -, realtimeOnlySupport ? false # build for real-time encoding -, ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding -, errorConcealmentSupport ? false # decoder conceals losses -, smallSupport ? false # favor smaller binary over speed -, postprocVisualizerSupport ? false # macro block/block level visualizers -, unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests -, webmIOSupport ? true # input from and output to webm container -, libyuvSupport ? true # libyuv -, decodePerfTestsSupport ? false # build decoder perf tests with unit tests -, encodePerfTestsSupport ? false # build encoder perf tests with unit tests -, multiResEncodingSupport ? false # multiple-resolution encoding -, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising -, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range -, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9 -# Experimental features -, experimentalSpatialSvcSupport ? false # Spatial scalable video coding -, experimentalFpMbStatsSupport ? false -, experimentalEmulateHardwareSupport ? false - -# for passthru.tests -, ffmpeg -, gst_all_1 +{ + lib, + stdenv, + fetchFromGitHub, + perl, + yasm, + vp8DecoderSupport ? true, # VP8 decoder + vp8EncoderSupport ? true, # VP8 encoder + vp9DecoderSupport ? true, # VP9 decoder + vp9EncoderSupport ? true, # VP9 encoder + extraWarningsSupport ? false, # emit non-fatal warnings + werrorSupport ? false, # treat warnings as errors (not available with all compilers) + debugSupport ? false, # debug mode + gprofSupport ? false, # gprof profiling instrumentation + gcovSupport ? false, # gcov coverage instrumentation + sizeLimitSupport ? true, # limit max size to allow in the decoder + optimizationsSupport ? true, # compiler optimization flags + runtimeCpuDetectSupport ? true, # detect cpu capabilities at runtime + thumbSupport ? false, # build arm assembly in thumb mode + examplesSupport ? true, # build examples (vpxdec & vpxenc are part of examples) + debugLibsSupport ? false, # include debug version of each library + postprocSupport ? true, # postprocessing + multithreadSupport ? true, # multithreaded decoding & encoding + internalStatsSupport ? false, # output of encoder internal stats for debug, if supported (encoders) + spatialResamplingSupport ? true, # spatial sampling (scaling) + realtimeOnlySupport ? false, # build for real-time encoding + ontheflyBitpackingSupport ? false, # on-the-fly bitpacking in real-time encoding + errorConcealmentSupport ? false, # decoder conceals losses + smallSupport ? false, # favor smaller binary over speed + postprocVisualizerSupport ? false, # macro block/block level visualizers + unitTestsSupport ? false, + curl ? null, + coreutils ? null, # unit tests + webmIOSupport ? true, # input from and output to webm container + libyuvSupport ? true, # libyuv + decodePerfTestsSupport ? false, # build decoder perf tests with unit tests + encodePerfTestsSupport ? false, # build encoder perf tests with unit tests + multiResEncodingSupport ? false, # multiple-resolution encoding + temporalDenoisingSupport ? true, # use temporal denoising instead of spatial denoising + coefficientRangeCheckingSupport ? false, # decoder checks if intermediate transform coefficients are in valid range + vp9HighbitdepthSupport ? true, # 10/12 bit color support in VP9 + # Experimental features + experimentalSpatialSvcSupport ? false, # Spatial scalable video coding + experimentalFpMbStatsSupport ? false, + experimentalEmulateHardwareSupport ? false, + + # for passthru.tests + ffmpeg, + gst_all_1, }: let - inherit (stdenv.hostPlatform) is64bit isMips isDarwin isCygwin; + inherit (stdenv.hostPlatform) + is64bit + isMips + isDarwin + isCygwin + ; inherit (lib) enableFeature optional optionals; # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version) # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14 darwinVersion = - /**/ if stdenv.hostPlatform.osxMinVersion == "10.10" then "14" - else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13" - else if stdenv.hostPlatform.osxMinVersion == "10.8" then "12" - else if stdenv.hostPlatform.osxMinVersion == "10.7" then "11" - else if stdenv.hostPlatform.osxMinVersion == "10.6" then "10" - else if stdenv.hostPlatform.osxMinVersion == "10.5" then "9" - else "8"; + if stdenv.hostPlatform.osxMinVersion == "10.10" then + "14" + else if stdenv.hostPlatform.osxMinVersion == "10.9" then + "13" + else if stdenv.hostPlatform.osxMinVersion == "10.8" then + "12" + else if stdenv.hostPlatform.osxMinVersion == "10.7" then + "11" + else if stdenv.hostPlatform.osxMinVersion == "10.6" then + "10" + else if stdenv.hostPlatform.osxMinVersion == "10.5" then + "9" + else + "8"; cpu = - /**/ if stdenv.hostPlatform.isArmv7 then "armv7" - else if stdenv.hostPlatform.isAarch64 then "arm64" - else if stdenv.hostPlatform.isx86_32 then "x86" - else stdenv.hostPlatform.parsed.cpu.name; + if stdenv.hostPlatform.isArmv7 then + "armv7" + else if stdenv.hostPlatform.isAarch64 then + "arm64" + else if stdenv.hostPlatform.isx86_32 then + "x86" + else + stdenv.hostPlatform.parsed.cpu.name; kernel = # Build system doesn't understand BSD, so pretend to be Linux. - /**/ if stdenv.hostPlatform.isBSD then "linux" - else if stdenv.hostPlatform.isDarwin then "darwin${darwinVersion}" - else stdenv.hostPlatform.parsed.kernel.name; + if stdenv.hostPlatform.isBSD then + "linux" + else if stdenv.hostPlatform.isDarwin then + "darwin${darwinVersion}" + else + stdenv.hostPlatform.parsed.kernel.name; isGeneric = - /**/ (stdenv.hostPlatform.isPower && stdenv.hostPlatform.isLittleEndian) + (stdenv.hostPlatform.isPower && stdenv.hostPlatform.isLittleEndian) || stdenv.hostPlatform.parsed.cpu.name == "armv6l" || stdenv.hostPlatform.isRiscV; target = - /**/ if (stdenv.hostPlatform.isBSD || stdenv.hostPlatform != stdenv.buildPlatform) then + if (stdenv.hostPlatform.isBSD || stdenv.hostPlatform != stdenv.buildPlatform) then (if isGeneric then "generic-gnu" else "${cpu}-${kernel}-gcc") - else null; + else + null; in assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport; assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport; -/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors. - Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl, - but is only executed if spatialResamplingSupport is enabled */ +/* + If spatialResamplingSupport not enabled, build will fail with undeclared variable errors. + Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl, + but is only executed if spatialResamplingSupport is enabled +*/ assert spatialResamplingSupport; assert postprocVisualizerSupport -> postprocSupport; assert unitTestsSupport -> curl != null && coreutils != null; @@ -119,81 +148,94 @@ stdenv.mkDerivation rec { --replace "check_cflags -Wshorten-64-to-32 && add_cflags_only -Wshorten-64-to-32" "" ''; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; setOutputFlags = false; - configurePlatforms = []; - configureFlags = [ - (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8") - (enableFeature vp8EncoderSupport "vp8-encoder") - (enableFeature vp8DecoderSupport "vp8-decoder") - (enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9") - (enableFeature vp9EncoderSupport "vp9-encoder") - (enableFeature vp9DecoderSupport "vp9-decoder") - (enableFeature extraWarningsSupport "extra-warnings") - (enableFeature werrorSupport "werror") - "--disable-install-docs" - (enableFeature examplesSupport "install-bins") - "--enable-install-libs" - "--disable-install-srcs" - (enableFeature debugSupport "debug") - (enableFeature gprofSupport "gprof") - (enableFeature gcovSupport "gcov") - # Required to build shared libraries - (enableFeature (!isCygwin) "pic") - (enableFeature optimizationsSupport "optimizations") - (enableFeature runtimeCpuDetectSupport "runtime-cpu-detect") - (enableFeature thumbSupport "thumb") - "--enable-libs" - (enableFeature examplesSupport "examples") - "--disable-docs" - "--as=yasm" - # Limit default decoder max to WHXGA - (if sizeLimitSupport then "--size-limit=5120x3200" else null) - "--disable-codec-srcs" - (enableFeature debugLibsSupport "debug-libs") - (enableFeature isMips "dequant-tokens") - (enableFeature isMips "dc-recon") - (enableFeature postprocSupport "postproc") - (enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc") - (enableFeature multithreadSupport "multithread") - (enableFeature internalStatsSupport "internal-stats") - (enableFeature spatialResamplingSupport "spatial-resampling") - (enableFeature realtimeOnlySupport "realtime-only") - (enableFeature ontheflyBitpackingSupport "onthefly-bitpacking") - (enableFeature errorConcealmentSupport "error-concealment") - # Shared libraries are only supported on ELF platforms - (if isDarwin || isCygwin then - "--enable-static --disable-shared" - else - "--enable-shared") - (enableFeature smallSupport "small") - (enableFeature postprocVisualizerSupport "postproc-visualizer") - (enableFeature unitTestsSupport "unit-tests") - (enableFeature webmIOSupport "webm-io") - (enableFeature libyuvSupport "libyuv") - (enableFeature decodePerfTestsSupport "decode-perf-tests") - (enableFeature encodePerfTestsSupport "encode-perf-tests") - (enableFeature multiResEncodingSupport "multi-res-encoding") - (enableFeature temporalDenoisingSupport "temporal-denoising") - (enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising") - (enableFeature coefficientRangeCheckingSupport "coefficient-range-checking") - (enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth") - (enableFeature (experimentalSpatialSvcSupport || - experimentalFpMbStatsSupport || - experimentalEmulateHardwareSupport) "experimental") - ] ++ optionals (target != null) [ - "--target=${target}" - (lib.optionalString stdenv.hostPlatform.isCygwin "--enable-static-msvcrt") - ] # Experimental features + configurePlatforms = [ ]; + configureFlags = + [ + (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8") + (enableFeature vp8EncoderSupport "vp8-encoder") + (enableFeature vp8DecoderSupport "vp8-decoder") + (enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9") + (enableFeature vp9EncoderSupport "vp9-encoder") + (enableFeature vp9DecoderSupport "vp9-decoder") + (enableFeature extraWarningsSupport "extra-warnings") + (enableFeature werrorSupport "werror") + "--disable-install-docs" + (enableFeature examplesSupport "install-bins") + "--enable-install-libs" + "--disable-install-srcs" + (enableFeature debugSupport "debug") + (enableFeature gprofSupport "gprof") + (enableFeature gcovSupport "gcov") + # Required to build shared libraries + (enableFeature (!isCygwin) "pic") + (enableFeature optimizationsSupport "optimizations") + (enableFeature runtimeCpuDetectSupport "runtime-cpu-detect") + (enableFeature thumbSupport "thumb") + "--enable-libs" + (enableFeature examplesSupport "examples") + "--disable-docs" + "--as=yasm" + # Limit default decoder max to WHXGA + (if sizeLimitSupport then "--size-limit=5120x3200" else null) + "--disable-codec-srcs" + (enableFeature debugLibsSupport "debug-libs") + (enableFeature isMips "dequant-tokens") + (enableFeature isMips "dc-recon") + (enableFeature postprocSupport "postproc") + (enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc") + (enableFeature multithreadSupport "multithread") + (enableFeature internalStatsSupport "internal-stats") + (enableFeature spatialResamplingSupport "spatial-resampling") + (enableFeature realtimeOnlySupport "realtime-only") + (enableFeature ontheflyBitpackingSupport "onthefly-bitpacking") + (enableFeature errorConcealmentSupport "error-concealment") + # Shared libraries are only supported on ELF platforms + (if isDarwin || isCygwin then "--enable-static --disable-shared" else "--enable-shared") + (enableFeature smallSupport "small") + (enableFeature postprocVisualizerSupport "postproc-visualizer") + (enableFeature unitTestsSupport "unit-tests") + (enableFeature webmIOSupport "webm-io") + (enableFeature libyuvSupport "libyuv") + (enableFeature decodePerfTestsSupport "decode-perf-tests") + (enableFeature encodePerfTestsSupport "encode-perf-tests") + (enableFeature multiResEncodingSupport "multi-res-encoding") + (enableFeature temporalDenoisingSupport "temporal-denoising") + (enableFeature ( + temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport) + ) "vp9-temporal-denoising") + (enableFeature coefficientRangeCheckingSupport "coefficient-range-checking") + (enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth") + (enableFeature ( + experimentalSpatialSvcSupport || experimentalFpMbStatsSupport || experimentalEmulateHardwareSupport + ) "experimental") + ] + ++ optionals (target != null) [ + "--target=${target}" + (lib.optionalString stdenv.hostPlatform.isCygwin "--enable-static-msvcrt") + ] + # Experimental features ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc" ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats" ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware"; - nativeBuildInputs = [ perl yasm ]; + nativeBuildInputs = [ + perl + yasm + ]; - buildInputs = [ ] - ++ optionals unitTestsSupport [ coreutils curl ]; + buildInputs = + [ ] + ++ optionals unitTestsSupport [ + coreutils + curl + ]; NIX_LDFLAGS = [ "-lpthread" # fixes linker errors @@ -210,10 +252,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "WebM VP8/VP9 codec SDK"; - homepage = "https://www.webmproject.org/"; - changelog = "https://github.com/webmproject/libvpx/raw/v${version}/CHANGELOG"; - license = licenses.bsd3; + homepage = "https://www.webmproject.org/"; + changelog = "https://github.com/webmproject/libvpx/raw/v${version}/CHANGELOG"; + license = licenses.bsd3; maintainers = with maintainers; [ codyopel ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/li/libvterm-neovim/package.nix b/pkgs/by-name/li/libvterm-neovim/package.nix index 0e92d28046aa3..5f183515da980 100644 --- a/pkgs/by-name/li/libvterm-neovim/package.nix +++ b/pkgs/by-name/li/libvterm-neovim/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, perl -, libtool +{ + lib, + stdenv, + fetchurl, + perl, + libtool, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-CRVvQ90hKL00fL7r5Q2aVx0yxk4M8Y0hEZeUav9yJuA="; }; - nativeBuildInputs = [ perl libtool ]; + nativeBuildInputs = [ + perl + libtool + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/li/libvterm/package.nix b/pkgs/by-name/li/libvterm/package.nix index f1e217f2b3e52..30980297efcdf 100644 --- a/pkgs/by-name/li/libvterm/package.nix +++ b/pkgs/by-name/li/libvterm/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, ncurses }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + ncurses, +}: stdenv.mkDerivation rec { pname = "libvterm"; diff --git a/pkgs/by-name/li/libwbxml/package.nix b/pkgs/by-name/li/libwbxml/package.nix index 1ddc1c3534cca..294ef4ea3472d 100644 --- a/pkgs/by-name/li/libwbxml/package.nix +++ b/pkgs/by-name/li/libwbxml/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, lib, cmake, expat }: +{ + stdenv, + fetchFromGitHub, + lib, + cmake, + expat, +}: stdenv.mkDerivation rec { pname = "libwbxml"; diff --git a/pkgs/by-name/li/libwebcam/package.nix b/pkgs/by-name/li/libwebcam/package.nix index 093b3dac21f20..d2759838ac5ea 100644 --- a/pkgs/by-name/li/libwebcam/package.nix +++ b/pkgs/by-name/li/libwebcam/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, libxml2 +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + libxml2, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { ./uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libxml2 ]; postPatch = '' @@ -34,7 +38,6 @@ stdenv.mkDerivation rec { --replace "/lib/udev" "$out/lib/udev" ''; - preConfigure = '' cmakeFlagsArray=( $cmakeFlagsArray diff --git a/pkgs/by-name/li/libwebsockets/package.nix b/pkgs/by-name/li/libwebsockets/package.nix index 8cdcd9d19560d..39b4335552f95 100644 --- a/pkgs/by-name/li/libwebsockets/package.nix +++ b/pkgs/by-name/li/libwebsockets/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, openssl -, zlib -, libuv -, removeReferencesTo +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + zlib, + libuv, + removeReferencesTo, # External poll is required for e.g. mosquitto, but discouraged by the maintainer. -, withExternalPoll ? false + withExternalPoll ? false, }: stdenv.mkDerivation rec { @@ -21,26 +22,41 @@ stdenv.mkDerivation rec { hash = "sha256-IXA9NUh55GtZmn4BhCXntVdHcKZ34iZIJ/0wlySj0/M="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - buildInputs = [ openssl zlib libuv ]; + buildInputs = [ + openssl + zlib + libuv + ]; - nativeBuildInputs = [ cmake removeReferencesTo ]; + nativeBuildInputs = [ + cmake + removeReferencesTo + ]; - cmakeFlags = [ - "-DLWS_WITH_PLUGINS=ON" - "-DLWS_WITH_IPV6=ON" - "-DLWS_WITH_SOCKS5=ON" - "-DDISABLE_WERROR=ON" - "-DLWS_BUILD_HASH=no_hash" - ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DLWS_WITHOUT_TESTAPPS=ON" - ++ lib.optional withExternalPoll "-DLWS_WITH_EXTERNAL_POLL=ON" - ++ ( - if stdenv.hostPlatform.isStatic then - [ "-DLWS_WITH_SHARED=OFF" ] - else - [ "-DLWS_WITH_STATIC=OFF" "-DLWS_LINK_TESTAPPS_DYNAMIC=ON" ] - ); + cmakeFlags = + [ + "-DLWS_WITH_PLUGINS=ON" + "-DLWS_WITH_IPV6=ON" + "-DLWS_WITH_SOCKS5=ON" + "-DDISABLE_WERROR=ON" + "-DLWS_BUILD_HASH=no_hash" + ] + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DLWS_WITHOUT_TESTAPPS=ON" + ++ lib.optional withExternalPoll "-DLWS_WITH_EXTERNAL_POLL=ON" + ++ ( + if stdenv.hostPlatform.isStatic then + [ "-DLWS_WITH_SHARED=OFF" ] + else + [ + "-DLWS_WITH_STATIC=OFF" + "-DLWS_LINK_TESTAPPS_DYNAMIC=ON" + ] + ); postInstall = '' find "$out" -type f -exec remove-references-to -t ${stdenv.cc.cc} '{}' + @@ -67,9 +83,13 @@ stdenv.mkDerivation rec { homepage = "https://libwebsockets.org/"; # Relicensed from LGPLv2.1+ to MIT with 4.0. Licensing situation # is tricky, see https://github.com/warmcat/libwebsockets/blob/main/LICENSE - license = with licenses; [ mit publicDomain bsd3 asl20 ]; + license = with licenses; [ + mit + publicDomain + bsd3 + asl20 + ]; maintainers = with maintainers; [ mindavi ]; platforms = platforms.all; }; } - diff --git a/pkgs/by-name/li/libwhereami/package.nix b/pkgs/by-name/li/libwhereami/package.nix index 455e59d89718c..f21551ca02420 100644 --- a/pkgs/by-name/li/libwhereami/package.nix +++ b/pkgs/by-name/li/libwhereami/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, curl, leatherman }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + curl, + leatherman, +}: stdenv.mkDerivation rec { pname = "libwhereami"; @@ -15,14 +23,22 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost curl leatherman ]; + buildInputs = [ + boost + curl + leatherman + ]; meta = with lib; { inherit (src.meta) homepage; description = "Library to report hypervisor information from inside a VM"; license = licenses.asl20; maintainers = [ maintainers.womfoo ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; # fails on aarch64 + platforms = [ + "i686-linux" + "x86_64-linux" + "x86_64-darwin" + ]; # fails on aarch64 }; } diff --git a/pkgs/by-name/li/libwhich/package.nix b/pkgs/by-name/li/libwhich/package.nix index e8d919cfabe02..d4b26174623a1 100644 --- a/pkgs/by-name/li/libwhich/package.nix +++ b/pkgs/by-name/li/libwhich/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "libwhich"; diff --git a/pkgs/by-name/li/libwmf/package.nix b/pkgs/by-name/li/libwmf/package.nix index b42e09894db8f..2511289349db0 100644 --- a/pkgs/by-name/li/libwmf/package.nix +++ b/pkgs/by-name/li/libwmf/package.nix @@ -1,12 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config -, freetype, glib, imagemagick, libjpeg, libpng, libxml2, zlib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + freetype, + glib, + imagemagick, + libjpeg, + libpng, + libxml2, + zlib, }: stdenv.mkDerivation rec { pname = "libwmf"; version = "0.2.13"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "caolanm"; @@ -16,7 +29,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ zlib imagemagick libpng glib freetype libjpeg libxml2 ]; + buildInputs = [ + zlib + imagemagick + libpng + glib + freetype + libjpeg + libxml2 + ]; enableParallelBuilding = true; meta = with lib; { diff --git a/pkgs/by-name/li/libwpg/package.nix b/pkgs/by-name/li/libwpg/package.nix index ada7f984a4a2d..f0cee5d5c87a0 100644 --- a/pkgs/by-name/li/libwpg/package.nix +++ b/pkgs/by-name/li/libwpg/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, libwpd, zlib, librevenge, boost }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libwpd, + zlib, + librevenge, + boost, +}: stdenv.mkDerivation rec { pname = "libwpg"; @@ -9,13 +18,21 @@ stdenv.mkDerivation rec { hash = "sha256-tV/alEDR4HBjDrJIfYuGl89BLCFKJ8runfac7HwATeM="; }; - buildInputs = [ libwpd zlib librevenge boost ]; + buildInputs = [ + libwpd + zlib + librevenge + boost + ]; nativeBuildInputs = [ pkg-config ]; meta = with lib; { homepage = "https://libwpg.sourceforge.net"; description = "C++ library to parse WPG"; - license = with licenses; [ lgpl21 mpl20 ]; + license = with licenses; [ + lgpl21 + mpl20 + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/li/libwps/package.nix b/pkgs/by-name/li/libwps/package.nix index f5af2e8284c86..9b2f54b9b883f 100644 --- a/pkgs/by-name/li/libwps/package.nix +++ b/pkgs/by-name/li/libwps/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, boost, pkg-config, librevenge, zlib }: +{ + lib, + stdenv, + fetchurl, + boost, + pkg-config, + librevenge, + zlib, +}: stdenv.mkDerivation rec { pname = "libwps"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ boost librevenge zlib ]; + buildInputs = [ + boost + librevenge + zlib + ]; env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-fallthrough"; diff --git a/pkgs/by-name/li/libwtk-sdl2/package.nix b/pkgs/by-name/li/libwtk-sdl2/package.nix index 4da8873ca775c..6415480e135fa 100644 --- a/pkgs/by-name/li/libwtk-sdl2/package.nix +++ b/pkgs/by-name/li/libwtk-sdl2/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, boost -, SDL2 -, SDL2_ttf -, SDL2_image +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + boost, + SDL2, + SDL2_ttf, + SDL2_image, }: stdenv.mkDerivation (finalAttrs: { @@ -33,7 +34,11 @@ stdenv.mkDerivation (finalAttrs: { # From some reason, this is needed as otherwise SDL.h is not found NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2"; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; meta = with lib; { description = "Simplistic SDL2 GUI framework in early developement"; @@ -42,10 +47,11 @@ stdenv.mkDerivation (finalAttrs: { # See: https://github.com/muesli4/mpd-touch-screen-gui/tree/master/LICENSES license = licenses.lgpl3Plus; maintainers = with maintainers; [ doronbehar ]; - /* Partial darwin build failure log (from ofborg): - geometry.cpp:95:34: error: no member named 'abs' in namespace 'std' - > return { std::abs(v.w), std::abs(v.h) }; - > ~~~~~^ + /* + Partial darwin build failure log (from ofborg): + geometry.cpp:95:34: error: no member named 'abs' in namespace 'std' + > return { std::abs(v.w), std::abs(v.h) }; + > ~~~~~^ */ platforms = platforms.linux; }; diff --git a/pkgs/by-name/li/libx86/package.nix b/pkgs/by-name/li/libx86/package.nix index 0c7c981f82214..487c24e18cd65 100644 --- a/pkgs/by-name/li/libx86/package.nix +++ b/pkgs/by-name/li/libx86/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libx86"; @@ -7,7 +11,10 @@ stdenv.mkDerivation rec { url = "https://www.codon.org.uk/~mjg59/libx86/downloads/${pname}-${version}.tar.gz"; sha256 = "0j6h6bc02c6qi0q7c1ncraz4d1hkm5936r35rfsp4x1jrc233wav"; }; - patches = [./constants.patch ./non-x86.patch ]; + patches = [ + ./constants.patch + ./non-x86.patch + ]; # using BACKEND=x86emu on 64bit systems fixes: # http://www.mail-archive.com/suspend-devel@lists.sourceforge.net/msg02355.html @@ -27,7 +34,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Real-mode x86 code emulator"; maintainers = with maintainers; [ raskin ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; license = licenses.mit; }; } diff --git a/pkgs/by-name/li/libx86/src-for-default.nix b/pkgs/by-name/li/libx86/src-for-default.nix index b7e432d8109cc..6e0b75967e82f 100644 --- a/pkgs/by-name/li/libx86/src-for-default.nix +++ b/pkgs/by-name/li/libx86/src-for-default.nix @@ -1,7 +1,7 @@ rec { - pname="libx86"; - version="1.1"; - hash="0j6h6bc02c6qi0q7c1ncraz4d1hkm5936r35rfsp4x1jrc233wav"; - url="http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-${version}.tar.gz"; - advertisedUrl="http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-${version}.tar.gz"; + pname = "libx86"; + version = "1.1"; + hash = "0j6h6bc02c6qi0q7c1ncraz4d1hkm5936r35rfsp4x1jrc233wav"; + url = "http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-${version}.tar.gz"; + advertisedUrl = "http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-${version}.tar.gz"; } diff --git a/pkgs/by-name/li/libx86emu/package.nix b/pkgs/by-name/li/libx86emu/package.nix index 4ace07d2cf0e4..caea4869f04d8 100644 --- a/pkgs/by-name/li/libx86emu/package.nix +++ b/pkgs/by-name/li/libx86emu/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "libx86emu"; @@ -20,10 +25,16 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "/usr" "/" ''; - buildFlags = [ "shared" "CC=${stdenv.cc.targetPrefix}cc" ]; + buildFlags = [ + "shared" + "CC=${stdenv.cc.targetPrefix}cc" + ]; enableParallelBuilding = true; - installFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ]; + installFlags = [ + "DESTDIR=$(out)" + "LIBDIR=/lib" + ]; meta = with lib; { description = "x86 emulation library"; diff --git a/pkgs/by-name/li/libxc/package.nix b/pkgs/by-name/li/libxc/package.nix index d5e543a1b5f31..29af5687a1714 100644 --- a/pkgs/by-name/li/libxc/package.nix +++ b/pkgs/by-name/li/libxc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + gfortran, + perl, +}: stdenv.mkDerivation rec { pname = "libxc"; @@ -18,9 +25,16 @@ stdenv.mkDerivation rec { --replace "PROPERTIES TIMEOUT 1" "PROPERTIES TIMEOUT 30" ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ perl cmake gfortran ]; + nativeBuildInputs = [ + perl + cmake + gfortran + ]; preConfigure = '' patchShebangs ./ diff --git a/pkgs/by-name/li/libxcomp/package.nix b/pkgs/by-name/li/libxcomp/package.nix index b66fe5c5a21a3..ba935930a2075 100644 --- a/pkgs/by-name/li/libxcomp/package.nix +++ b/pkgs/by-name/li/libxcomp/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libjpeg, libpng, libX11, zlib }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libjpeg, + libpng, + libX11, + zlib, +}: stdenv.mkDerivation rec { pname = "libxcomp"; @@ -9,8 +19,16 @@ stdenv.mkDerivation rec { url = "https://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz"; }; - buildInputs = [ libjpeg libpng libX11 zlib ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + libjpeg + libpng + libX11 + zlib + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; preAutoreconf = '' cd nxcomp/ diff --git a/pkgs/by-name/li/libxdg_basedir/package.nix b/pkgs/by-name/li/libxdg_basedir/package.nix index 7786ec7908ff3..ba1cb5fa60679 100644 --- a/pkgs/by-name/li/libxdg_basedir/package.nix +++ b/pkgs/by-name/li/libxdg_basedir/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libxisf/package.nix b/pkgs/by-name/li/libxisf/package.nix index d19dd27887455..5087b9529840c 100644 --- a/pkgs/by-name/li/libxisf/package.nix +++ b/pkgs/by-name/li/libxisf/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitea -, cmake -, pkg-config -, lz4 -, pugixml -, zlib -, zstd +{ + lib, + stdenv, + fetchFromGitea, + cmake, + pkg-config, + lz4, + pugixml, + zlib, + zstd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/libxkbcommon_8/package.nix b/pkgs/by-name/li/libxkbcommon_8/package.nix index 9a0ebd6d59da1..88e3830d150cf 100644 --- a/pkgs/by-name/li/libxkbcommon_8/package.nix +++ b/pkgs/by-name/li/libxkbcommon_8/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, bison -, doxygen -, xkeyboard_config -, libxcb -, libxml2 -, python3 -, libX11 +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + bison, + doxygen, + xkeyboard_config, + libxcb, + libxml2, + python3, + libX11, # To enable the "interactive-wayland" subcommand of xkbcli. This is the # wayland equivalent of `xev` on X11. -, xorg -, withWaylandTools ? stdenv.hostPlatform.isLinux -, wayland -, wayland-protocols -, wayland-scanner -, testers + xorg, + withWaylandTools ? stdenv.hostPlatform.isLinux, + wayland, + wayland-protocols, + wayland-scanner, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -35,13 +36,31 @@ stdenv.mkDerivation (finalAttrs: { ./disable-x11com.patch ]; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config bison doxygen xorg.xvfb ] - ++ lib.optional withWaylandTools wayland-scanner; - buildInputs = [ xkeyboard_config libxcb libxml2 ] - ++ lib.optionals withWaylandTools [ wayland wayland-protocols ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + bison + doxygen + xorg.xvfb + ] ++ lib.optional withWaylandTools wayland-scanner; + buildInputs = + [ + xkeyboard_config + libxcb + libxml2 + ] + ++ lib.optionals withWaylandTools [ + wayland + wayland-protocols + ]; nativeCheckInputs = [ python3 ]; mesonFlags = [ @@ -74,7 +93,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://xkbcommon.org"; changelog = "https://github.com/xkbcommon/libxkbcommon/blob/xkbcommon-${finalAttrs.version}/NEWS"; license = licenses.mit; - maintainers = with maintainers; [ primeos ttuegel ]; + maintainers = with maintainers; [ + primeos + ttuegel + ]; mainProgram = "xkbcli"; platforms = with platforms; unix; pkgConfigModules = [ diff --git a/pkgs/by-name/li/libxklavier/package.nix b/pkgs/by-name/li/libxklavier/package.nix index b6a217d9fbf8e..aacab4527abbb 100644 --- a/pkgs/by-name/li/libxklavier/package.nix +++ b/pkgs/by-name/li/libxklavier/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchgit, fetchpatch, autoreconfHook, pkg-config, gtk-doc, xkeyboard_config, libxml2, xorg, docbook_xsl -, glib, isocodes, gobject-introspection -, withDoc ? (stdenv.buildPlatform == stdenv.hostPlatform) +{ + lib, + stdenv, + fetchgit, + fetchpatch, + autoreconfHook, + pkg-config, + gtk-doc, + xkeyboard_config, + libxml2, + xorg, + docbook_xsl, + glib, + isocodes, + gobject-introspection, + withDoc ? (stdenv.buildPlatform == stdenv.hostPlatform), }: stdenv.mkDerivation rec { @@ -13,21 +26,41 @@ stdenv.mkDerivation rec { sha256 = "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"; }; - patches = [ - ./honor-XKB_CONFIG_ROOT.patch - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (fetchpatch { - url = "https://gitlab.freedesktop.org/archived-projects/libxklavier/-/commit/1387c21a788ec1ea203c8392ea1460fc29d83f70.patch"; - sha256 = "sha256-fyWu7sVfDv/ozjhLSLCVsv+iNFawWgJqHUsQHHSkQn4="; - }) - ]; + patches = + [ + ./honor-XKB_CONFIG_ROOT.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (fetchpatch { + url = "https://gitlab.freedesktop.org/archived-projects/libxklavier/-/commit/1387c21a788ec1ea203c8392ea1460fc29d83f70.patch"; + sha256 = "sha256-fyWu7sVfDv/ozjhLSLCVsv+iNFawWgJqHUsQHHSkQn4="; + }) + ]; - outputs = [ "out" "dev" ] ++ lib.optionals withDoc [ "devdoc" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals withDoc [ "devdoc" ]; # TODO: enable xmodmap support, needs xmodmap DB - propagatedBuildInputs = with xorg; [ libX11 libXi xkeyboard_config libxml2 libICE glib libxkbfile isocodes ]; + propagatedBuildInputs = with xorg; [ + libX11 + libXi + xkeyboard_config + libxml2 + libICE + glib + libxkbfile + isocodes + ]; - nativeBuildInputs = [ autoreconfHook pkg-config gtk-doc docbook_xsl gobject-introspection ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + gtk-doc + docbook_xsl + gobject-introspection + ]; preAutoreconf = '' export NOCONFIGURE=1 diff --git a/pkgs/by-name/li/libxl/package.nix b/pkgs/by-name/li/libxl/package.nix index 3a6c0ca18edd4..a8700bc8391dc 100644 --- a/pkgs/by-name/li/libxl/package.nix +++ b/pkgs/by-name/li/libxl/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libxl"; @@ -20,9 +24,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library for parsing Excel files"; - homepage = "https://www.libxl.com/"; - license = licenses.unfree; - platforms = platforms.linux; + homepage = "https://www.libxl.com/"; + license = licenses.unfree; + platforms = platforms.linux; maintainers = [ ]; }; } diff --git a/pkgs/by-name/li/libxls/package.nix b/pkgs/by-name/li/libxls/package.nix index 4c9b77d7c387b..5a5dee9255d36 100644 --- a/pkgs/by-name/li/libxls/package.nix +++ b/pkgs/by-name/li/libxls/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, autoconf-archive }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + autoconf-archive, +}: stdenv.mkDerivation rec { pname = "libxls"; @@ -19,7 +26,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook autoconf-archive ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/libxlsxwriter/package.nix b/pkgs/by-name/li/libxlsxwriter/package.nix index 6f1a43d28a11d..124e157c2c3e4 100644 --- a/pkgs/by-name/li/libxlsxwriter/package.nix +++ b/pkgs/by-name/li/libxlsxwriter/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, minizip -, python3 -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + minizip, + python3, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libxmi/package.nix b/pkgs/by-name/li/libxmi/package.nix index 2446df52a2bc9..aa0ec1d89c7ab 100644 --- a/pkgs/by-name/li/libxmi/package.nix +++ b/pkgs/by-name/li/libxmi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libtool }: +{ + lib, + stdenv, + fetchurl, + libtool, +}: stdenv.mkDerivation rec { pname = "libxmi"; diff --git a/pkgs/by-name/li/libxmlb/package.nix b/pkgs/by-name/li/libxmlb/package.nix index 28c314c12e70a..79937718941cc 100644 --- a/pkgs/by-name/li/libxmlb/package.nix +++ b/pkgs/by-name/li/libxmlb/package.nix @@ -1,26 +1,33 @@ -{ stdenv -, lib -, fetchFromGitHub -, docbook_xml_dtd_43 -, docbook-xsl-nons -, glib -, gobject-introspection -, gtk-doc -, meson -, ninja -, pkg-config -, python3 -, shared-mime-info -, nixosTests -, xz -, zstd +{ + stdenv, + lib, + fetchFromGitHub, + docbook_xml_dtd_43, + docbook-xsl-nons, + glib, + gobject-introspection, + gtk-doc, + meson, + ninja, + pkg-config, + python3, + shared-mime-info, + nixosTests, + xz, + zstd, }: stdenv.mkDerivation rec { pname = "libxmlb"; version = "0.3.21"; - outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ]; + outputs = [ + "out" + "lib" + "dev" + "devdoc" + "installedTests" + ]; src = fetchFromGitHub { owner = "hughsie"; diff --git a/pkgs/by-name/li/libxmp/package.nix b/pkgs/by-name/li/libxmp/package.nix index 1cd4e5aa03a98..7d8fcb94a4a3d 100644 --- a/pkgs/by-name/li/libxmp/package.nix +++ b/pkgs/by-name/li/libxmp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libxmp"; @@ -6,14 +10,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Extended module player library"; - homepage = "https://xmp.sourceforge.net/"; + homepage = "https://xmp.sourceforge.net/"; longDescription = '' Libxmp is a library that renders module files to PCM data. It supports over 90 mainstream and obscure module formats including Protracker (MOD), Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT). ''; - license = licenses.lgpl21Plus; - platforms = platforms.all; + license = licenses.lgpl21Plus; + platforms = platforms.all; }; src = fetchurl { diff --git a/pkgs/by-name/li/libxplayer-plparser/package.nix b/pkgs/by-name/li/libxplayer-plparser/package.nix index 51358b45bbda0..e6c64a78d06d5 100644 --- a/pkgs/by-name/li/libxplayer-plparser/package.nix +++ b/pkgs/by-name/li/libxplayer-plparser/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, gobject-introspection -, gmime3 -, libxml2 -, libsoup_2_4 -, pkg-config +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + gobject-introspection, + gmime3, + libxml2, + libsoup_2_4, + pkg-config, }: stdenv.mkDerivation rec { @@ -37,7 +38,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Playlist parsing library for xplayer"; homepage = "https://github.com/linuxmint/xplayer-plparser"; - maintainers = with maintainers; [ tu-maurice bobby285271 ]; + maintainers = with maintainers; [ + tu-maurice + bobby285271 + ]; license = licenses.lgpl2Plus; platforms = platforms.linux; }; diff --git a/pkgs/by-name/li/libxsmm/package.nix b/pkgs/by-name/li/libxsmm/package.nix index 3276354240f4a..fcb99e8c346cf 100644 --- a/pkgs/by-name/li/libxsmm/package.nix +++ b/pkgs/by-name/li/libxsmm/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, gfortran -, python3, util-linux, which +{ + lib, + stdenv, + fetchFromGitHub, + gfortran, + python3, + util-linux, + which, -, enableStatic ? stdenv.hostPlatform.isStatic + enableStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -18,7 +24,11 @@ stdenv.mkDerivation rec { # Fixes /build references in the rpath patches = [ ./rpath.patch ]; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ gfortran @@ -31,13 +41,15 @@ stdenv.mkDerivation rec { dontConfigure = true; - makeFlags = let - static = if enableStatic then "1" else "0"; - in [ - "OMP=1" - "PREFIX=$(out)" - "STATIC=${static}" - ]; + makeFlags = + let + static = if enableStatic then "1" else "0"; + in + [ + "OMP=1" + "PREFIX=$(out)" + "STATIC=${static}" + ]; postInstall = '' mkdir -p $dev/lib/pkgconfig diff --git a/pkgs/by-name/li/libyafaray/package.nix b/pkgs/by-name/li/libyafaray/package.nix index b5c8b45fc76e2..fbd13a7cada71 100644 --- a/pkgs/by-name/li/libyafaray/package.nix +++ b/pkgs/by-name/li/libyafaray/package.nix @@ -1,18 +1,20 @@ -{ cmake -, fetchFromGitHub -, freetype -, ilmbase -, lib -, libjpeg -, libtiff -, libxml2 -, opencv -, openexr -, pkg-config -, stdenv -, swig -, zlib -, withPython ? true, python3 +{ + cmake, + fetchFromGitHub, + freetype, + ilmbase, + lib, + libjpeg, + libtiff, + libxml2, + opencv, + openexr, + pkg-config, + stdenv, + swig, + zlib, + withPython ? true, + python3, }: stdenv.mkDerivation rec { @@ -20,9 +22,9 @@ stdenv.mkDerivation rec { version = "unstable-2022-09-17"; src = fetchFromGitHub { - owner = "YafaRay"; - repo = "libYafaRay"; - rev = "6e8c45fb150185b3356220e5f99478f20408ee49"; + owner = "YafaRay"; + repo = "libYafaRay"; + rev = "6e8c45fb150185b3356220e5f99478f20408ee49"; sha256 = "sha256-UVBA1vXOuLg4RT+BdF4rhbZ6I9ySeZX0N81gh3MH84I="; }; @@ -58,7 +60,10 @@ stdenv.mkDerivation rec { homepage = "http://www.yafaray.org"; maintainers = with maintainers; [ hodapp ]; license = licenses.lgpl21; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/li/libyaml/package.nix b/pkgs/by-name/li/libyaml/package.nix index dc58226edea4b..9ab641e5543d1 100644 --- a/pkgs/by-name/li/libyaml/package.nix +++ b/pkgs/by-name/li/libyaml/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -14,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "18zsnsxc53pans4a01cs4401a2cjk3qi098hi440pj4zijifgcsb"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/li/libyang/package.nix b/pkgs/by-name/li/libyang/package.nix index 6e3e3d841e64f..30b40d0a013e1 100644 --- a/pkgs/by-name/li/libyang/package.nix +++ b/pkgs/by-name/li/libyang/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, -# build time -, cmake -, pkg-config + # build time + cmake, + pkg-config, -# run time -, pcre2 + # run time + pcre2, -# update script -, gitUpdater + # update script + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/libykclient/package.nix b/pkgs/by-name/li/libykclient/package.nix index 0f99c86f93921..a35a5a92a490d 100644 --- a/pkgs/by-name/li/libykclient/package.nix +++ b/pkgs/by-name/li/libykclient/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, help2man, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + help2man, + curl, +}: stdenv.mkDerivation { pname = "libykclient"; @@ -10,7 +18,11 @@ stdenv.mkDerivation { sha256 = "01b19jgv2lypih6lhw9yjjsfl8q1ahl955vhr2ai8ccshh0050yj"; }; - nativeBuildInputs = [ autoreconfHook pkg-config help2man ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + help2man + ]; buildInputs = [ curl ]; meta = with lib; { diff --git a/pkgs/by-name/li/libykneomgr/package.nix b/pkgs/by-name/li/libykneomgr/package.nix index 8278b3d8a8418..06d8a8e87e13b 100644 --- a/pkgs/by-name/li/libykneomgr/package.nix +++ b/pkgs/by-name/li/libykneomgr/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, pcsclite, libzip, help2man }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + pcsclite, + libzip, + help2man, +}: stdenv.mkDerivation rec { pname = "libykneomgr"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ pcsclite libzip help2man ]; + buildInputs = [ + pcsclite + libzip + help2man + ]; configureFlags = [ "--with-backend=pcsc" diff --git a/pkgs/by-name/li/libytnef/package.nix b/pkgs/by-name/li/libytnef/package.nix index 43734b19b890d..9b3bf8c5e3fe6 100644 --- a/pkgs/by-name/li/libytnef/package.nix +++ b/pkgs/by-name/li/libytnef/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "libytnef"; diff --git a/pkgs/by-name/li/libyubikey/package.nix b/pkgs/by-name/li/libyubikey/package.nix index 3b05be00d905d..edfb08994133d 100644 --- a/pkgs/by-name/li/libyubikey/package.nix +++ b/pkgs/by-name/li/libyubikey/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libyubikey"; diff --git a/pkgs/by-name/li/libyuv/package.nix b/pkgs/by-name/li/libyuv/package.nix index 1062d527fa2a1..67d4bd43720f8 100644 --- a/pkgs/by-name/li/libyuv/package.nix +++ b/pkgs/by-name/li/libyuv/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchgit -, cmake -, libjpeg +{ + lib, + stdenv, + fetchgit, + cmake, + libjpeg, }: stdenv.mkDerivation rec { @@ -20,7 +21,9 @@ stdenv.mkDerivation rec { ]; # NEON does not work on aarch64, we disable it - cmakeFlags = lib.optionals stdenv.hostPlatform.isAarch64 ["-DCMAKE_CXX_FLAGS=-DLIBYUV_DISABLE_NEON"]; + cmakeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ + "-DCMAKE_CXX_FLAGS=-DLIBYUV_DISABLE_NEON" + ]; buildInputs = [ libjpeg ]; diff --git a/pkgs/by-name/li/libz/package.nix b/pkgs/by-name/li/libz/package.nix index ac859e1a0bb8b..62c579d2f20b4 100644 --- a/pkgs/by-name/li/libz/package.nix +++ b/pkgs/by-name/li/libz/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitLab -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitLab, + unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-AQuZ0BOl1iP5Nub+tVwctlE2tfJe4Sq/KDGkjwBbsV4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputDoc = "dev"; # single tiny man3 page passthru.updateScript = unstableGitUpdater { diff --git a/pkgs/by-name/li/libzapojit/package.nix b/pkgs/by-name/li/libzapojit/package.nix index 5de315b794570..ace4b1bbf65f4 100644 --- a/pkgs/by-name/li/libzapojit/package.nix +++ b/pkgs/by-name/li/libzapojit/package.nix @@ -1,18 +1,44 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, intltool, json-glib, librest, libsoup_2_4, gnome, gnome-online-accounts, gobject-introspection }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + intltool, + json-glib, + librest, + libsoup_2_4, + gnome, + gnome-online-accounts, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "libzapojit"; version = "0.0.3"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"; }; - nativeBuildInputs = [ pkg-config intltool gobject-introspection ]; - propagatedBuildInputs = [ glib json-glib librest libsoup_2_4 gnome-online-accounts ]; # zapojit-0.0.pc + nativeBuildInputs = [ + pkg-config + intltool + gobject-introspection + ]; + propagatedBuildInputs = [ + glib + json-glib + librest + libsoup_2_4 + gnome-online-accounts + ]; # zapojit-0.0.pc passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/by-name/li/libzbc/package.nix b/pkgs/by-name/li/libzbc/package.nix index ebc453847a7ab..d7c00b7b296e3 100644 --- a/pkgs/by-name/li/libzbc/package.nix +++ b/pkgs/by-name/li/libzbc/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, gtk3 -, libtool -, pkg-config -, guiSupport ? false +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + gtk3, + libtool, + pkg-config, + guiSupport ? false, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { description = "ZBC device manipulation library"; homepage = "https://github.com/westerndigitalcorporation/libzbc"; maintainers = [ ]; - license = with licenses; [ bsd2 lgpl3Plus ]; + license = with licenses; [ + bsd2 + lgpl3Plus + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libzbd/package.nix b/pkgs/by-name/li/libzbd/package.nix index 3bc48d0657b27..2276e1dfc4d5a 100644 --- a/pkgs/by-name/li/libzbd/package.nix +++ b/pkgs/by-name/li/libzbd/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, autoconf-archive -, autoreconfHook -, fetchFromGitHub -, gtk3 -, libtool -, pkg-config -, guiSupport ? false +{ + lib, + stdenv, + autoconf-archive, + autoreconfHook, + fetchFromGitHub, + gtk3, + libtool, + pkg-config, + guiSupport ? false, }: stdenv.mkDerivation rec { @@ -35,7 +36,10 @@ stdenv.mkDerivation rec { mainProgram = "zbd"; homepage = "https://github.com/westerndigitalcorporation/libzbd"; maintainers = [ ]; - license = with licenses; [ lgpl3Plus gpl3Plus ]; + license = with licenses; [ + lgpl3Plus + gpl3Plus + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/libzdb/package.nix b/pkgs/by-name/li/libzdb/package.nix index bb40e05b9e6fb..212515cc49c6f 100644 --- a/pkgs/by-name/li/libzdb/package.nix +++ b/pkgs/by-name/li/libzdb/package.nix @@ -1,20 +1,22 @@ -{lib, stdenv, fetchurl, sqlite}: - -stdenv.mkDerivation rec { + lib, + stdenv, + fetchurl, + sqlite, +}: + +stdenv.mkDerivation rec { version = "3.4.0"; pname = "libzdb"; - src = fetchurl - { + src = fetchurl { url = "https://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz"; sha256 = "sha256-q9Z1cZvL3eQwqk7hOXW5gNVdKry1zCKAgqMDIKa7nw8="; }; buildInputs = [ sqlite ]; - meta = - { + meta = { homepage = "http://www.tildeslash.com/libzdb/"; description = "Small, easy to use Open Source Database Connection Pool Library"; license = lib.licenses.gpl3; diff --git a/pkgs/by-name/li/libzen/package.nix b/pkgs/by-name/li/libzen/package.nix index ecc3736d1fbbb..ee01bb7a0f224 100644 --- a/pkgs/by-name/li/libzen/package.nix +++ b/pkgs/by-name/li/libzen/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "0.4.41"; diff --git a/pkgs/by-name/li/libzim-glib/package.nix b/pkgs/by-name/li/libzim-glib/package.nix index 39894323c227f..183e4d030fabc 100644 --- a/pkgs/by-name/li/libzim-glib/package.nix +++ b/pkgs/by-name/li/libzim-glib/package.nix @@ -22,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-C1f/ULTJIHvt/LCSRw3dsGAWUkb1i4xaCmW1+QBZd2c="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson diff --git a/pkgs/by-name/li/libzip/package.nix b/pkgs/by-name/li/libzip/package.nix index 759edc288e473..d3a6598aa4c34 100644 --- a/pkgs/by-name/li/libzip/package.nix +++ b/pkgs/by-name/li/libzip/package.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, cmake -, fetchurl -, perl -, zlib -, groff -, withBzip2 ? false -, bzip2 -, withLZMA ? false -, xz -, withOpenssl ? false -, openssl -, withZstd ? false -, zstd -, testers +{ + lib, + stdenv, + cmake, + fetchurl, + perl, + zlib, + groff, + withBzip2 ? false, + bzip2, + withLZMA ? false, + xz, + withOpenssl ? false, + openssl, + withZstd ? false, + zstd, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -24,11 +26,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wOb6UqYroR79MCYikNxpcJR67zLgzClO5Q6QBc6sCSo="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; - nativeBuildInputs = [ cmake perl groff ]; + nativeBuildInputs = [ + cmake + perl + groff + ]; propagatedBuildInputs = [ zlib ]; - buildInputs = lib.optionals withLZMA [ xz ] + buildInputs = + lib.optionals withLZMA [ xz ] ++ lib.optionals withBzip2 [ bzip2 ] ++ lib.optionals withOpenssl [ openssl ] ++ lib.optionals withZstd [ zstd ]; diff --git a/pkgs/by-name/li/libzmf/package.nix b/pkgs/by-name/li/libzmf/package.nix index 0e139ad529261..0d7071ec80590 100644 --- a/pkgs/by-name/li/libzmf/package.nix +++ b/pkgs/by-name/li/libzmf/package.nix @@ -1,4 +1,16 @@ -{lib, stdenv, fetchurl, boost, icu, libpng, librevenge, zlib, doxygen, pkg-config, cppunit}: +{ + lib, + stdenv, + fetchurl, + boost, + icu, + libpng, + librevenge, + zlib, + doxygen, + pkg-config, + cppunit, +}: stdenv.mkDerivation rec { pname = "libzmf"; @@ -9,14 +21,24 @@ stdenv.mkDerivation rec { sha256 = "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"; }; - buildInputs = [ boost icu libpng librevenge zlib cppunit ]; - nativeBuildInputs = [ doxygen pkg-config ]; + buildInputs = [ + boost + icu + libpng + librevenge + zlib + cppunit + ]; + nativeBuildInputs = [ + doxygen + pkg-config + ]; configureFlags = [ "--disable-werror" ]; meta = { description = "Library that parses the file format of Zoner Callisto/Draw documents"; license = lib.licenses.mpl20; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "https://wiki.documentfoundation.org/DLP/Libraries/libzmf"; downloadPage = "http://dev-www.libreoffice.org/src/libzmf/"; diff --git a/pkgs/by-name/li/libzra/package.nix b/pkgs/by-name/li/libzra/package.nix index 163389fb11ac4..eff23c6b539f3 100644 --- a/pkgs/by-name/li/libzra/package.nix +++ b/pkgs/by-name/li/libzra/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/license-cli/package.nix b/pkgs/by-name/li/license-cli/package.nix index bf3de443e3020..c91618db40cc3 100644 --- a/pkgs/by-name/li/license-cli/package.nix +++ b/pkgs/by-name/li/license-cli/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromSourcehut -, rustPlatform -, installShellFiles -, scdoc -, makeWrapper - -# Script dependencies. -, fzf -, wl-clipboard -, xclip +{ + lib, + fetchFromSourcehut, + rustPlatform, + installShellFiles, + scdoc, + makeWrapper, + + # Script dependencies. + fzf, + wl-clipboard, + xclip, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Zj9t/e6QhiOxU8mlVRBKEbviSTKXM4WQ3lqtoCcMbMI="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; preInstall = '' ${scdoc}/bin/scdoc < doc/license.scd > license.1 @@ -43,7 +47,12 @@ rustPlatform.buildRustPackage rec { install -Dm0755 ./scripts/copy-header -t $out/bin wrapProgram $out/bin/copy-header \ --prefix PATH : "$out/bin" \ - --prefix PATH : ${lib.makeBinPath [ wl-clipboard xclip ]} + --prefix PATH : ${ + lib.makeBinPath [ + wl-clipboard + xclip + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/li/license-generator/package.nix b/pkgs/by-name/li/license-generator/package.nix index 47dcfc9488e67..f2f4af2b5f27c 100644 --- a/pkgs/by-name/li/license-generator/package.nix +++ b/pkgs/by-name/li/license-generator/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchCrate, rustPlatform }: +{ + lib, + fetchCrate, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "license-generator"; diff --git a/pkgs/by-name/li/license-scanner/package.nix b/pkgs/by-name/li/license-scanner/package.nix index 6fcb17e4f4b24..9700627303a98 100644 --- a/pkgs/by-name/li/license-scanner/package.nix +++ b/pkgs/by-name/li/license-scanner/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/li/licenseclassifier/package.nix b/pkgs/by-name/li/licenseclassifier/package.nix index 369adafa10b4f..ad12323a4ecc5 100644 --- a/pkgs/by-name/li/licenseclassifier/package.nix +++ b/pkgs/by-name/li/licenseclassifier/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -19,7 +20,10 @@ buildGoModule rec { vendorHash = "sha256-u0VR8DCmbZS0MF26Y4HfqtLaGyX2n2INdAidVNbnXPE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "License Classifier"; diff --git a/pkgs/by-name/li/licensor/package.nix b/pkgs/by-name/li/licensor/package.nix index c1716911537a6..0e69041844e11 100644 --- a/pkgs/by-name/li/licensor/package.nix +++ b/pkgs/by-name/li/licensor/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/li/licensure/package.nix b/pkgs/by-name/li/licensure/package.nix index 97db16e1fcba6..47dfc418acacf 100644 --- a/pkgs/by-name/li/licensure/package.nix +++ b/pkgs/by-name/li/licensure/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, git -, gitls -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + git, + gitls, + darwin, }: rustPlatform.buildRustPackage rec { pname = "licensure"; @@ -21,10 +22,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Ywfn+6qdKD9CG2/xdHR2XDsj5LF5XPJ2+XR5H1o2iXk="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl git gitls ] + buildInputs = + [ + openssl + git + gitls + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + darwin.apple_sdk.frameworks.SystemConfiguration + ]; checkFlags = [ # Checking for files in the git repo (git ls-files), diff --git a/pkgs/by-name/li/lie/package.nix b/pkgs/by-name/li/lie/package.nix index dbc66fe2a05fe..e8b15560dd07e 100644 --- a/pkgs/by-name/li/lie/package.nix +++ b/pkgs/by-name/li/lie/package.nix @@ -1,10 +1,15 @@ -{ lib, stdenv, fetchurl -, bison, readline }: +{ + lib, + stdenv, + fetchurl, + bison, + readline, +}: stdenv.mkDerivation { version = "2.2.2"; - # The current version of LiE is 2.2.2, which is more or less unchanged - # since about the year 2000. Minor bugfixes do get applied now and then. + # The current version of LiE is 2.2.2, which is more or less unchanged + # since about the year 2000. Minor bugfixes do get applied now and then. pname = "lie"; meta = { @@ -29,7 +34,10 @@ stdenv.mkDerivation { sha256 = "07lbj75qqr4pq1j1qz8fyfnmrz1gnk92lnsshxycfavxl5zzdmn4"; }; - buildInputs = [ bison readline ]; + buildInputs = [ + bison + readline + ]; patchPhase = '' substituteInPlace make_lie \ diff --git a/pkgs/by-name/li/lieer/package.nix b/pkgs/by-name/li/lieer/package.nix index 32f8d66639294..b0a564984e4bc 100644 --- a/pkgs/by-name/li/lieer/package.nix +++ b/pkgs/by-name/li/lieer/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, nix-update-script +{ + lib, + fetchFromGitHub, + python3Packages, + nix-update-script, }: python3Packages.buildPythonApplication rec { @@ -44,7 +45,10 @@ python3Packages.buildPythonApplication rec { ''; homepage = "https://lieer.gaute.vetsj.com/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ archer-65 flokli ]; + maintainers = with maintainers; [ + archer-65 + flokli + ]; mainProgram = "gmi"; }; } diff --git a/pkgs/by-name/li/lifecycled/package.nix b/pkgs/by-name/li/lifecycled/package.nix index f4148b6316c28..8605f701fe1bc 100644 --- a/pkgs/by-name/li/lifecycled/package.nix +++ b/pkgs/by-name/li/lifecycled/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "lifecycled"; @@ -25,7 +26,9 @@ buildGoModule rec { description = "Daemon for responding to AWS AutoScaling Lifecycle Hooks"; homepage = "https://github.com/buildkite/lifecycled/"; license = licenses.mit; - maintainers = with maintainers; [ cole-h grahamc ]; + maintainers = with maintainers; [ + cole-h + grahamc + ]; }; } - diff --git a/pkgs/by-name/li/lifelines/package.nix b/pkgs/by-name/li/lifelines/package.nix index f7f6c5fa2a38e..32aecb3ca405e 100644 --- a/pkgs/by-name/li/lifelines/package.nix +++ b/pkgs/by-name/li/lifelines/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, gettext, libiconv, bison, ncurses, perl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + gettext, + libiconv, + bison, + ncurses, + perl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "lifelines"; @@ -27,7 +38,10 @@ stdenv.mkDerivation rec { ncurses perl ]; - nativeBuildInputs = [ autoreconfHook bison ]; + nativeBuildInputs = [ + autoreconfHook + bison + ]; meta = with lib; { description = "Genealogy tool with ncurses interface"; diff --git a/pkgs/by-name/li/lifeograph/package.nix b/pkgs/by-name/li/lifeograph/package.nix index 0501d25c51c92..c44d85c964527 100644 --- a/pkgs/by-name/li/lifeograph/package.nix +++ b/pkgs/by-name/li/lifeograph/package.nix @@ -1,5 +1,17 @@ -{ stdenv, lib, fetchgit, pkg-config, meson, ninja, wrapGAppsHook3 -, enchant, gtkmm3, libchamplain, libgcrypt, shared-mime-info }: +{ + stdenv, + lib, + fetchgit, + pkg-config, + meson, + ninja, + wrapGAppsHook3, + enchant, + gtkmm3, + libchamplain, + libgcrypt, + shared-mime-info, +}: stdenv.mkDerivation rec { pname = "lifeograph"; diff --git a/pkgs/by-name/li/liferea/package.nix b/pkgs/by-name/li/liferea/package.nix index e117549d57563..9490f4b5f5020 100644 --- a/pkgs/by-name/li/liferea/package.nix +++ b/pkgs/by-name/li/liferea/package.nix @@ -1,25 +1,27 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, intltool -, python3Packages -, wrapGAppsHook3 -, glib -, libxml2 -, libxslt -, sqlite -, libsoup_3 -, webkitgtk_4_1 -, json-glib -, gst_all_1 -, libnotify -, gtk3 -, gsettings-desktop-schemas -, libpeas -, libsecret -, gobject-introspection -, glib-networking -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + python3Packages, + wrapGAppsHook3, + glib, + libxml2, + libxslt, + sqlite, + libsoup_3, + webkitgtk_4_1, + json-glib, + gst_all_1, + libnotify, + gtk3, + gsettings-desktop-schemas, + libpeas, + libsecret, + gobject-introspection, + glib-networking, + gitUpdater, }: stdenv.mkDerivation rec { @@ -39,26 +41,28 @@ stdenv.mkDerivation rec { gobject-introspection ]; - buildInputs = [ - glib - gtk3 - webkitgtk_4_1 - libxml2 - libxslt - sqlite - libsoup_3 - libpeas - gsettings-desktop-schemas - json-glib - libsecret - glib-networking - libnotify - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - ]); + buildInputs = + [ + glib + gtk3 + webkitgtk_4_1 + libxml2 + libxslt + sqlite + libsoup_3 + libpeas + gsettings-desktop-schemas + json-glib + libsecret + glib-networking + libnotify + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + ]); enableParallelBuilding = true; @@ -76,7 +80,10 @@ stdenv.mkDerivation rec { description = "GTK-based news feed aggregator"; homepage = "http://lzone.de/liferea/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ romildo yayayayaka ]; + maintainers = with maintainers; [ + romildo + yayayayaka + ]; platforms = platforms.linux; longDescription = '' diff --git a/pkgs/by-name/li/lightdm-enso-os-greeter/package.nix b/pkgs/by-name/li/lightdm-enso-os-greeter/package.nix index b8082c4510d6e..056ab12c8515e 100644 --- a/pkgs/by-name/li/lightdm-enso-os-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-enso-os-greeter/package.nix @@ -1,6 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, linkFarm, lightdm-enso-os-greeter -, dbus, pcre, libepoxy, xorg, at-spi2-core, libxklavier, libxkbcommon -, gtk3, vala, cmake, libgee, lightdm, gdk-pixbuf, clutter-gtk, wrapGAppsHook3, librsvg }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + linkFarm, + lightdm-enso-os-greeter, + dbus, + pcre, + libepoxy, + xorg, + at-spi2-core, + libxklavier, + libxkbcommon, + gtk3, + vala, + cmake, + libgee, + lightdm, + gdk-pixbuf, + clutter-gtk, + wrapGAppsHook3, + librsvg, +}: stdenv.mkDerivation { pname = "lightdm-enso-os-greeter"; @@ -46,10 +67,12 @@ stdenv.mkDerivation { cd greeter ''; - passthru.xgreeters = linkFarm "enso-os-greeter-xgreeters" [{ - path = "${lightdm-enso-os-greeter}/share/xgreeters/pantheon-greeter.desktop"; - name = "pantheon-greeter.desktop"; - }]; + passthru.xgreeters = linkFarm "enso-os-greeter-xgreeters" [ + { + path = "${lightdm-enso-os-greeter}/share/xgreeters/pantheon-greeter.desktop"; + name = "pantheon-greeter.desktop"; + } + ]; postFixup = '' substituteInPlace $out/share/xgreeters/pantheon-greeter.desktop \ diff --git a/pkgs/by-name/li/lightdm-mini-greeter/package.nix b/pkgs/by-name/li/lightdm-mini-greeter/package.nix index b72b837eaf344..632e471c92035 100644 --- a/pkgs/by-name/li/lightdm-mini-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-mini-greeter/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, linkFarm, lightdm-mini-greeter, fetchFromGitHub, autoreconfHook, pkg-config, lightdm, gtk3, glib, gdk-pixbuf, wrapGAppsHook3, librsvg }: +{ + lib, + stdenv, + linkFarm, + lightdm-mini-greeter, + fetchFromGitHub, + autoreconfHook, + pkg-config, + lightdm, + gtk3, + glib, + gdk-pixbuf, + wrapGAppsHook3, + librsvg, +}: stdenv.mkDerivation rec { pname = "lightdm-mini-greeter"; @@ -11,8 +25,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-Pm7ExfusFIPktX2C4UE07qgOVhcWhVxnaD3QARpmu7Y="; }; - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook3 ]; - buildInputs = [ lightdm gtk3 glib gdk-pixbuf librsvg ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + lightdm + gtk3 + glib + gdk-pixbuf + librsvg + ]; configureFlags = [ "--sysconfdir=/etc" ]; makeFlags = [ "configdir=${placeholder "out"}/etc" ]; @@ -22,17 +46,22 @@ stdenv.mkDerivation rec { --replace "Exec=lightdm-mini-greeter" "Exec=$out/bin/lightdm-mini-greeter" ''; - passthru.xgreeters = linkFarm "lightdm-mini-greeter-xgreeters" [{ - path = "${lightdm-mini-greeter}/share/xgreeters/lightdm-mini-greeter.desktop"; - name = "lightdm-mini-greeter.desktop"; - }]; + passthru.xgreeters = linkFarm "lightdm-mini-greeter-xgreeters" [ + { + path = "${lightdm-mini-greeter}/share/xgreeters/lightdm-mini-greeter.desktop"; + name = "lightdm-mini-greeter.desktop"; + } + ]; meta = with lib; { description = "Minimal, configurable, single-user GTK3 LightDM greeter"; mainProgram = "lightdm-mini-greeter"; homepage = "https://github.com/prikhi/lightdm-mini-greeter"; license = licenses.gpl3; - maintainers = with maintainers; [ mnacamura prikhi ]; + maintainers = with maintainers; [ + mnacamura + prikhi + ]; platforms = platforms.linux; changelog = "https://github.com/prikhi/lightdm-mini-greeter/blob/master/CHANGELOG.md"; }; diff --git a/pkgs/by-name/li/lightdm-mobile-greeter/package.nix b/pkgs/by-name/li/lightdm-mobile-greeter/package.nix index a18397262fde0..fbac4f88c2694 100644 --- a/pkgs/by-name/li/lightdm-mobile-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-mobile-greeter/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitea -, gtk3 -, libhandy_0 -, lightdm -, lightdm-mobile-greeter -, linkFarm -, pkg-config -, rustPlatform +{ + lib, + fetchFromGitea, + gtk3, + libhandy_0, + lightdm, + lightdm-mobile-greeter, + linkFarm, + pkg-config, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -43,10 +44,12 @@ rustPlatform.buildRustPackage rec { --replace lightdm-mobile-greeter $out/bin/lightdm-mobile-greeter ''; - passthru.xgreeters = linkFarm "lightdm-mobile-greeter-xgreeters" [{ - path = "${lightdm-mobile-greeter}/share/xgreeters/lightdm-mobile-greeter.desktop"; - name = "lightdm-mobile-greeter.desktop"; - }]; + passthru.xgreeters = linkFarm "lightdm-mobile-greeter-xgreeters" [ + { + path = "${lightdm-mobile-greeter}/share/xgreeters/lightdm-mobile-greeter.desktop"; + name = "lightdm-mobile-greeter.desktop"; + } + ]; meta = with lib; { description = "Simple log in screen for use on touch screens"; diff --git a/pkgs/by-name/li/lightdm-slick-greeter/package.nix b/pkgs/by-name/li/lightdm-slick-greeter/package.nix index 0b5b307625d5a..b273fb0f0c27a 100644 --- a/pkgs/by-name/li/lightdm-slick-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-slick-greeter/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, python3 -, vala -, wrapGAppsHook3 -, xapp -, lightdm -, gtk3 -, pixman -, libcanberra -, libgnomekbd -, libX11 -, libXext -, linkFarm -, lightdm-slick-greeter -, numlockx +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + vala, + wrapGAppsHook3, + xapp, + lightdm, + gtk3, + pixman, + libcanberra, + libgnomekbd, + libX11, + libXext, + linkFarm, + lightdm-slick-greeter, + numlockx, }: stdenv.mkDerivation rec { @@ -89,16 +90,21 @@ stdenv.mkDerivation rec { ) ''; - passthru.xgreeters = linkFarm "lightdm-slick-greeter-xgreeters" [{ - path = "${lightdm-slick-greeter}/share/xgreeters/slick-greeter.desktop"; - name = "lightdm-slick-greeter.desktop"; - }]; + passthru.xgreeters = linkFarm "lightdm-slick-greeter-xgreeters" [ + { + path = "${lightdm-slick-greeter}/share/xgreeters/slick-greeter.desktop"; + name = "lightdm-slick-greeter.desktop"; + } + ]; meta = with lib; { description = "Slick-looking LightDM greeter"; homepage = "https://github.com/linuxmint/slick-greeter"; license = licenses.gpl3Only; - maintainers = with maintainers; [ water-sucks bobby285271 ]; + maintainers = with maintainers; [ + water-sucks + bobby285271 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/li/lightdm-tiny-greeter/package.nix b/pkgs/by-name/li/lightdm-tiny-greeter/package.nix index 42e5e004a62a7..46a5ff29365ce 100644 --- a/pkgs/by-name/li/lightdm-tiny-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-tiny-greeter/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, linkFarm, lightdm-tiny-greeter, fetchFromGitHub -, pkg-config, lightdm, gtk3, glib, wrapGAppsHook3, config, conf ? config.lightdm-tiny-greeter.conf or "" }: +{ + lib, + stdenv, + linkFarm, + lightdm-tiny-greeter, + fetchFromGitHub, + pkg-config, + lightdm, + gtk3, + glib, + wrapGAppsHook3, + config, + conf ? config.lightdm-tiny-greeter.conf or "", +}: stdenv.mkDerivation rec { pname = "lightdm-tiny-greeter"; @@ -12,8 +24,15 @@ stdenv.mkDerivation rec { sha256 = "08azpj7b5qgac9bgi1xvd6qy6x2nb7iapa0v40ggr3d1fabyhrg6"; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; - buildInputs = [ lightdm gtk3 glib ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + lightdm + gtk3 + glib + ]; postUnpack = lib.optionalString (conf != "") '' cp ${builtins.toFile "config.h" conf} source/config.h @@ -31,10 +50,12 @@ stdenv.mkDerivation rec { --replace "Exec=lightdm-tiny-greeter" "Exec=$out/bin/lightdm-tiny-greeter" ''; - passthru.xgreeters = linkFarm "lightdm-tiny-greeter-xgreeters" [{ - path = "${lightdm-tiny-greeter}/share/xgreeters/lightdm-tiny-greeter.desktop"; - name = "lightdm-tiny-greeter.desktop"; - }]; + passthru.xgreeters = linkFarm "lightdm-tiny-greeter-xgreeters" [ + { + path = "${lightdm-tiny-greeter}/share/xgreeters/lightdm-tiny-greeter.desktop"; + name = "lightdm-tiny-greeter.desktop"; + } + ]; meta = with lib; { description = "Tiny multi user lightdm greeter"; diff --git a/pkgs/by-name/li/lightgbm/package.nix b/pkgs/by-name/li/lightgbm/package.nix index 934b0cab5a3e6..c5d0238724d52 100644 --- a/pkgs/by-name/li/lightgbm/package.nix +++ b/pkgs/by-name/li/lightgbm/package.nix @@ -1,8 +1,31 @@ -{ config, stdenv, lib, fetchFromGitHub, cmake, gtest, doCheck ? true -, cudaSupport ? config.cudaSupport or false, openclSupport ? false -, mpiSupport ? false, javaWrapper ? false, hdfsSupport ? false, pythonLibrary ? false -, rLibrary ? false, cudaPackages, opencl-headers, ocl-icd, boost -, llvmPackages, openmpi, openjdk, swig, hadoop, R, rPackages, pandoc }: +{ + config, + stdenv, + lib, + fetchFromGitHub, + cmake, + gtest, + doCheck ? true, + cudaSupport ? config.cudaSupport or false, + openclSupport ? false, + mpiSupport ? false, + javaWrapper ? false, + hdfsSupport ? false, + pythonLibrary ? false, + rLibrary ? false, + cudaPackages, + opencl-headers, + ocl-icd, + boost, + llvmPackages, + openmpi, + openjdk, + swig, + hadoop, + R, + rPackages, + pandoc, +}: assert doCheck -> !mpiSupport; assert openclSupport -> !cudaSupport; @@ -33,17 +56,24 @@ stdenv.mkDerivation rec { hash = "sha256-nST6+/c3Y4/hqwgEUhx03gWtjxhlmUu1XKDCy2pSsvU="; }; - nativeBuildInputs = [ cmake ] + nativeBuildInputs = + [ cmake ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ] - ++ lib.optionals openclSupport [ opencl-headers ocl-icd boost ] + ++ lib.optionals openclSupport [ + opencl-headers + ocl-icd + boost + ] ++ lib.optionals mpiSupport [ openmpi ] ++ lib.optionals hdfsSupport [ hadoop ] ++ lib.optionals (hdfsSupport || javaWrapper) [ openjdk ] ++ lib.optionals javaWrapper [ swig ] - ++ lib.optionals rLibrary [ R pandoc ]; + ++ lib.optionals rLibrary [ + R + pandoc + ]; - buildInputs = [ gtest ] - ++ lib.optional cudaSupport cudaPackages.cudatoolkit; + buildInputs = [ gtest ] ++ lib.optional cudaSupport cudaPackages.cudatoolkit; propagatedBuildInputs = lib.optionals rLibrary [ rPackages.data_table @@ -76,18 +106,24 @@ stdenv.mkDerivation rec { rm tests/cpp_tests/test_arrow.cpp ''; - cmakeFlags = lib.optionals doCheck [ "-DBUILD_CPP_TEST=ON" ] - ++ lib.optionals cudaSupport [ "-DUSE_CUDA=1" "-DCMAKE_CXX_COMPILER=${cudaPackages.backendStdenv.cc}/bin/cc" ] + cmakeFlags = + lib.optionals doCheck [ "-DBUILD_CPP_TEST=ON" ] + ++ lib.optionals cudaSupport [ + "-DUSE_CUDA=1" + "-DCMAKE_CXX_COMPILER=${cudaPackages.backendStdenv.cc}/bin/cc" + ] ++ lib.optionals openclSupport [ "-DUSE_GPU=ON" ] ++ lib.optionals mpiSupport [ "-DUSE_MPI=ON" ] ++ lib.optionals hdfsSupport [ "-DUSE_HDFS=ON" "-DHDFS_LIB=${hadoop}/lib/hadoop-${hadoop.version}/lib/native/libhdfs.so" - "-DHDFS_INCLUDE_DIR=${hadoop}/lib/hadoop-${hadoop.version}/include" ] + "-DHDFS_INCLUDE_DIR=${hadoop}/lib/hadoop-${hadoop.version}/include" + ] ++ lib.optionals javaWrapper [ "-DUSE_SWIG=ON" # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ - "-DCMAKE_SKIP_BUILD_RPATH=ON" ] + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ] ++ lib.optionals rLibrary [ "-D__BUILD_FOR_R=ON" ] ++ lib.optionals pythonLibrary [ "-D__BUILD_FOR_PYTHON=ON" ]; @@ -97,43 +133,50 @@ stdenv.mkDerivation rec { # set the R package buildPhase to null because lightgbm has a # custom builder script that builds and installs in one step - buildPhase = lib.optionals rLibrary '' - ''; + buildPhase = lib.optionals rLibrary ''''; inherit doCheck; - installPhase = '' + installPhase = + '' runHook preInstall - '' + lib.optionalString (!rLibrary) '' + '' + + lib.optionalString (!rLibrary) '' mkdir -p $out mkdir -p $out/lib mkdir -p $out/bin cp -r ../include $out install -Dm755 ../lib_lightgbm${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/lib_lightgbm${stdenv.hostPlatform.extensions.sharedLibrary} - '' + lib.optionalString (!rLibrary && !pythonLibrary) '' + '' + + lib.optionalString (!rLibrary && !pythonLibrary) '' install -Dm755 ../lightgbm $out/bin/lightgbm - '' + lib.optionalString javaWrapper '' + '' + + lib.optionalString javaWrapper '' cp -r java $out cp -r com $out cp -r lightgbmlib.jar $out - '' + '' - '' + lib.optionalString rLibrary '' + '' + + '''' + + lib.optionalString rLibrary '' mkdir $out mkdir $out/tmp mkdir $out/library mkdir $out/library/lightgbm - '' + lib.optionalString (rLibrary && (!openclSupport)) '' + '' + + lib.optionalString (rLibrary && (!openclSupport)) '' Rscript build_r.R \ -j$NIX_BUILD_CORES rm -rf $out/tmp - '' + lib.optionalString (rLibrary && openclSupport) '' + '' + + lib.optionalString (rLibrary && openclSupport) '' Rscript build_r.R --use-gpu \ --opencl-library=${ocl-icd}/lib/libOpenCL.so \ --opencl-include-dir=${opencl-headers}/include \ --boost-librarydir=${boost} \ -j$NIX_BUILD_CORES rm -rf $out/tmp - '' + '' + '' + + '' runHook postInstall ''; @@ -144,8 +187,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "LightGBM is a gradient boosting framework that uses tree based learning algorithms."; + description = "LightGBM is a gradient boosting framework that uses tree based learning algorithms."; mainProgram = "lightgbm"; homepage = "https://github.com/microsoft/LightGBM"; license = licenses.mit; diff --git a/pkgs/by-name/li/lightlocker/package.nix b/pkgs/by-name/li/lightlocker/package.nix index ef141c784d8d3..f805157c66f9b 100644 --- a/pkgs/by-name/li/lightlocker/package.nix +++ b/pkgs/by-name/li/lightlocker/package.nix @@ -1,27 +1,32 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, gtk3 -, glib -, intltool -, dbus-glib -, libX11 -, libXScrnSaver -, libXxf86vm -, libXext -, systemd -, pantheon -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + gtk3, + glib, + intltool, + dbus-glib, + libX11, + libXScrnSaver, + libXxf86vm, + libXext, + systemd, + pantheon, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "light-locker"; version = "1.9.0"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "the-cavalry"; diff --git a/pkgs/by-name/li/lightning-loop/package.nix b/pkgs/by-name/li/lightning-loop/package.nix index e257c581fd516..c68648a0ee3d5 100644 --- a/pkgs/by-name/li/lightning-loop/package.nix +++ b/pkgs/by-name/li/lightning-loop/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -16,14 +17,23 @@ buildGoModule rec { vendorHash = "sha256-v7zSvCp63z+xZIuXbqHueamEBN/jZBr2Kysvq03e8L0="; - subPackages = [ "cmd/loop" "cmd/loopd" ]; + subPackages = [ + "cmd/loop" + "cmd/loopd" + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Lightning Loop Client"; homepage = "https://github.com/lightninglabs/loop"; license = licenses.mit; - maintainers = with maintainers; [ proofofkeags prusnak ]; + maintainers = with maintainers; [ + proofofkeags + prusnak + ]; }; } diff --git a/pkgs/by-name/li/lightning-pool/package.nix b/pkgs/by-name/li/lightning-pool/package.nix index 0846db643db80..af93ba7c1e83c 100644 --- a/pkgs/by-name/li/lightning-pool/package.nix +++ b/pkgs/by-name/li/lightning-pool/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -16,14 +17,23 @@ buildGoModule rec { vendorHash = "sha256-DD27zUW524qe9yLaVPEzw/c4sSzlH89HMw0PdtNYEhg="; - subPackages = [ "cmd/pool" "cmd/poold" ]; + subPackages = [ + "cmd/pool" + "cmd/poold" + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Lightning Pool Client"; homepage = "https://github.com/lightninglabs/pool"; license = licenses.mit; - maintainers = with maintainers; [ proofofkeags prusnak ]; + maintainers = with maintainers; [ + proofofkeags + prusnak + ]; }; } diff --git a/pkgs/by-name/li/lightning/package.nix b/pkgs/by-name/li/lightning/package.nix index ea99a5873dc82..1256ee1cf3b75 100644 --- a/pkgs/by-name/li/lightning/package.nix +++ b/pkgs/by-name/li/lightning/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, libopcodes -, libiberty -, stdenv -, libbfd -, zlib +{ + lib, + fetchurl, + libopcodes, + libiberty, + stdenv, + libbfd, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wEXHozoAr/v+sRBm+lAsA5kuR0piupWXeq0G28FMaCk="; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; buildInputs = [ libopcodes diff --git a/pkgs/by-name/li/lightningcss/package.nix b/pkgs/by-name/li/lightningcss/package.nix index b1b6cf3afa167..544cb9e7fa31a 100644 --- a/pkgs/by-name/li/lightningcss/package.nix +++ b/pkgs/by-name/li/lightningcss/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, nix-update-script +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -38,14 +39,17 @@ rustPlatform.buildRustPackage rec { "--lib" ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = { description = "Extremely fast CSS parser, transformer, and minifier written in Rust"; homepage = "https://lightningcss.dev/"; changelog = "https://github.com/parcel-bundler/lightningcss/releases/tag/v${version}"; license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [ johnrtitor toastal ]; + maintainers = with lib.maintainers; [ + johnrtitor + toastal + ]; mainProgram = "lightningcss"; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/li/lightspark/package.nix b/pkgs/by-name/li/lightspark/package.nix index 904028feddaaa..4f73bf561ef21 100644 --- a/pkgs/by-name/li/lightspark/package.nix +++ b/pkgs/by-name/li/lightspark/package.nix @@ -1,5 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, curl, zlib, ffmpeg, glew, pcre -, rtmpdump, cairo, boost, SDL2, libjpeg, pango, xz, nasm, llvm, glibmm +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + curl, + zlib, + ffmpeg, + glew, + pcre, + rtmpdump, + cairo, + boost, + SDL2, + libjpeg, + pango, + xz, + nasm, + llvm, + glibmm, }: stdenv.mkDerivation rec { @@ -17,11 +36,27 @@ stdenv.mkDerivation rec { sed -i 's/SET(ETCDIR "\/etc")/SET(ETCDIR "etc")/g' CMakeLists.txt ''; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ - curl zlib ffmpeg glew pcre rtmpdump cairo boost SDL2 libjpeg pango xz nasm - llvm glibmm + curl + zlib + ffmpeg + glew + pcre + rtmpdump + cairo + boost + SDL2 + libjpeg + pango + xz + nasm + llvm + glibmm ]; meta = with lib; { diff --git a/pkgs/by-name/li/lighttpd/package.nix b/pkgs/by-name/li/lighttpd/package.nix index b169e5a83dab2..3d7bea50a1aff 100644 --- a/pkgs/by-name/li/lighttpd/package.nix +++ b/pkgs/by-name/li/lighttpd/package.nix @@ -1,16 +1,35 @@ -{ lib, stdenv, buildPackages, fetchurl, pkg-config, pcre2, libxml2, zlib, bzip2, which, file -, autoreconfHook -, openssl -, enableDbi ? false, libdbi -, enableMagnet ? false, lua5_1 -, enableMysql ? false, libmysqlclient -, enableLdap ? false, openldap -, enablePam ? false, linux-pam -, enableSasl ? false, cyrus_sasl -, enableWebDAV ? false, sqlite, libuuid -, enableExtendedAttrs ? false -, perl -, nixosTests +{ + lib, + stdenv, + buildPackages, + fetchurl, + pkg-config, + pcre2, + libxml2, + zlib, + bzip2, + which, + file, + autoreconfHook, + openssl, + enableDbi ? false, + libdbi, + enableMagnet ? false, + lua5_1, + enableMysql ? false, + libmysqlclient, + enableLdap ? false, + openldap, + enablePam ? false, + linux-pam, + enableSasl ? false, + cyrus_sasl, + enableWebDAV ? false, + sqlite, + libuuid, + enableExtendedAttrs ? false, + perl, + nixosTests, }: stdenv.mkDerivation rec { @@ -30,27 +49,41 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ pcre2 pcre2.dev libxml2 zlib bzip2 which file openssl ] - ++ lib.optional enableDbi libdbi - ++ lib.optional enableMagnet lua5_1 - ++ lib.optional enableMysql libmysqlclient - ++ lib.optional enableLdap openldap - ++ lib.optional enablePam linux-pam - ++ lib.optional enableSasl cyrus_sasl - ++ lib.optional enableWebDAV sqlite - ++ lib.optional enableWebDAV libuuid; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = + [ + pcre2 + pcre2.dev + libxml2 + zlib + bzip2 + which + file + openssl + ] + ++ lib.optional enableDbi libdbi + ++ lib.optional enableMagnet lua5_1 + ++ lib.optional enableMysql libmysqlclient + ++ lib.optional enableLdap openldap + ++ lib.optional enablePam linux-pam + ++ lib.optional enableSasl cyrus_sasl + ++ lib.optional enableWebDAV sqlite + ++ lib.optional enableWebDAV libuuid; - configureFlags = [ "--with-openssl" ] - ++ lib.optional enableDbi "--with-dbi" - ++ lib.optional enableMagnet "--with-lua" - ++ lib.optional enableMysql "--with-mysql" - ++ lib.optional enableLdap "--with-ldap" - ++ lib.optional enablePam "--with-pam" - ++ lib.optional enableSasl "--with-sasl" - ++ lib.optional enableWebDAV "--with-webdav-props" - ++ lib.optional enableWebDAV "--with-webdav-locks" - ++ lib.optional enableExtendedAttrs "--with-attr"; + configureFlags = + [ "--with-openssl" ] + ++ lib.optional enableDbi "--with-dbi" + ++ lib.optional enableMagnet "--with-lua" + ++ lib.optional enableMysql "--with-mysql" + ++ lib.optional enableLdap "--with-ldap" + ++ lib.optional enablePam "--with-pam" + ++ lib.optional enableSasl "--with-sasl" + ++ lib.optional enableWebDAV "--with-webdav-props" + ++ lib.optional enableWebDAV "--with-webdav-locks" + ++ lib.optional enableExtendedAttrs "--with-attr"; preConfigure = '' export PATH=$PATH:${pcre2.dev}/bin @@ -78,7 +111,10 @@ stdenv.mkDerivation rec { homepage = "http://www.lighttpd.net/"; license = lib.licenses.bsd3; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor brecht ]; + maintainers = with maintainers; [ + bjornfor + brecht + ]; mainProgram = "lighttpd"; }; } diff --git a/pkgs/by-name/li/lightum/package.nix b/pkgs/by-name/li/lightum/package.nix index f1f95d5563b01..59fe1ec552a12 100644 --- a/pkgs/by-name/li/lightum/package.nix +++ b/pkgs/by-name/li/lightum/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXScrnSaver, libXext, glib, dbus, pkg-config, systemd }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXScrnSaver, + libXext, + glib, + dbus, + pkg-config, + systemd, +}: stdenv.mkDerivation { pname = "lightum"; diff --git a/pkgs/by-name/li/lightwalletd/package.nix b/pkgs/by-name/li/lightwalletd/package.nix index f66cd78adba16..2f3779f337b9d 100644 --- a/pkgs/by-name/li/lightwalletd/package.nix +++ b/pkgs/by-name/li/lightwalletd/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, lib, lightwalletd, testers }: +{ + buildGoModule, + fetchFromGitHub, + lib, + lightwalletd, + testers, +}: buildGoModule rec { pname = "lightwalletd"; @@ -6,7 +12,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "zcash"; - repo = "lightwalletd"; + repo = "lightwalletd"; rev = "v${version}"; hash = "sha256-M9xfV2T8L+nssrJj29QmPiErNMpfpT8BY/30Vj8wPjY="; }; @@ -14,7 +20,8 @@ buildGoModule rec { vendorHash = "sha256-z5Hs+CkPswWhz+Ya5MyHKA3MZzQkvS7WOxNckElkg6U="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/zcash/lightwalletd/common.Version=v${version}" "-X github.com/zcash/lightwalletd/common.GitCommit=${src.rev}" "-X github.com/zcash/lightwalletd/common.BuildDate=1970-01-01" diff --git a/pkgs/by-name/li/lil-pwny/package.nix b/pkgs/by-name/li/lil-pwny/package.nix index 42ee72d2c204d..81b28b6c5533d 100644 --- a/pkgs/by-name/li/lil-pwny/package.nix +++ b/pkgs/by-name/li/lil-pwny/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/li/lilo/package.nix b/pkgs/by-name/li/lilo/package.nix index 0eb8d563373ae..7a104119faa39 100644 --- a/pkgs/by-name/li/lilo/package.nix +++ b/pkgs/by-name/li/lilo/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, dev86, sharutils }: +{ + stdenv, + lib, + fetchurl, + dev86, + sharutils, +}: stdenv.mkDerivation rec { pname = "lilo"; @@ -7,7 +13,10 @@ stdenv.mkDerivation rec { url = "https://www.joonet.de/lilo/ftp/sources/lilo-${version}.tar.gz"; hash = "sha256-4VjxneRWDJNevgUHwht5v/F2GLkjDYB2/oxf/5/b1bE="; }; - nativeBuildInputs = [ dev86 sharutils ]; + nativeBuildInputs = [ + dev86 + sharutils + ]; # Workaround build failure on -fno-common toolchains: # ld: identify.o:(.bss+0x0): multiple definition of `identify'; diff --git a/pkgs/by-name/li/lilv/package.nix b/pkgs/by-name/li/lilv/package.nix index 63c222d368c48..32b0bb70bf366 100644 --- a/pkgs/by-name/li/lilv/package.nix +++ b/pkgs/by-name/li/lilv/package.nix @@ -1,50 +1,69 @@ -{ lib -, stdenv -, fetchurl -, lv2 -, meson -, ninja -, pkg-config -, python3 -, libsndfile -, serd -, sord -, sratom -, gitUpdater +{ + lib, + stdenv, + fetchurl, + lv2, + meson, + ninja, + pkg-config, + python3, + libsndfile, + serd, + sord, + sratom, + gitUpdater, -# test derivations -, pipewire + # test derivations + pipewire, }: stdenv.mkDerivation rec { pname = "lilv"; version = "0.24.24"; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; src = fetchurl { url = "https://download.drobilla.net/${pname}-${version}.tar.xz"; hash = "sha256-a7a+n4hQQXbQZC8S3oCbK54txVYhporbjH7bma76u08="; }; - nativeBuildInputs = [ meson ninja pkg-config python3 ]; - buildInputs = [ libsndfile serd sord sratom ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + ]; + buildInputs = [ + libsndfile + serd + sord + sratom + ]; propagatedBuildInputs = [ lv2 ]; - mesonFlags = [ - (lib.mesonOption "docs" "disabled") - # Tests require building a shared library. - (lib.mesonEnable "tests" (!stdenv.hostPlatform.isStatic)) - ] # Add nix and NixOS specific lv2 paths + mesonFlags = + [ + (lib.mesonOption "docs" "disabled") + # Tests require building a shared library. + (lib.mesonEnable "tests" (!stdenv.hostPlatform.isStatic)) + ] + # Add nix and NixOS specific lv2 paths # The default values are from: https://github.com/lv2/lilv/blob/master/src/lilv_config.h - ++ lib.optional stdenv.hostPlatform.isDarwin (lib.mesonOption "default_lv2_path" - "~/.lv2:~/Library/Audio/Plug-Ins/LV2:" + ++ lib.optional stdenv.hostPlatform.isDarwin ( + lib.mesonOption "default_lv2_path" "~/.lv2:~/Library/Audio/Plug-Ins/LV2:" + "/usr/local/lib/lv2:/usr/lib/lv2:" + "/Library/Audio/Plug-Ins/LV2:" - + "~/.nix-profile/lib/lv2") - ++ lib.optional stdenv.hostPlatform.isLinux (lib.mesonOption "default_lv2_path" - "~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:" - + "~/.nix-profile/lib/lv2:/run/current-system/sw/lib/lv2"); + + "~/.nix-profile/lib/lv2" + ) + ++ lib.optional stdenv.hostPlatform.isLinux ( + lib.mesonOption "default_lv2_path" "~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:" + + "~/.nix-profile/lib/lv2:/run/current-system/sw/lib/lv2" + ); passthru = { tests = { diff --git a/pkgs/by-name/li/lime/package.nix b/pkgs/by-name/li/lime/package.nix index d40ac0a05c540..69d1b391987ba 100644 --- a/pkgs/by-name/li/lime/package.nix +++ b/pkgs/by-name/li/lime/package.nix @@ -1,11 +1,12 @@ -{ bctoolbox -, belle-sip -, cmake -, fetchFromGitLab -, lib -, bc-soci -, sqlite -, stdenv +{ + bctoolbox, + belle-sip, + cmake, + fetchFromGitLab, + lib, + bc-soci, + sqlite, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/limesurvey/package.nix b/pkgs/by-name/li/limesurvey/package.nix index ecffaa1fe27d6..d9b1d6b029c9f 100644 --- a/pkgs/by-name/li/limesurvey/package.nix +++ b/pkgs/by-name/li/limesurvey/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, writeText, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + nixosTests, +}: stdenv.mkDerivation rec { pname = "limesurvey"; @@ -12,9 +18,9 @@ stdenv.mkDerivation rec { }; phpConfig = writeText "config.php" '' - + ''; installPhase = '' @@ -35,7 +41,7 @@ stdenv.mkDerivation rec { description = "Open source survey application"; license = licenses.gpl2Plus; homepage = "https://www.limesurvey.org"; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [ offline ]; platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/li/limitcpu/package.nix b/pkgs/by-name/li/limitcpu/package.nix index 4d8b14229ac23..c3488092f72fc 100644 --- a/pkgs/by-name/li/limitcpu/package.nix +++ b/pkgs/by-name/li/limitcpu/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "limitcpu"; @@ -9,11 +13,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-lGmU7GDznwMJW4m9dOZguJwUyCq6dUVmk5jjArx7I0w="; }; - buildFlags = with stdenv; [ ( - if isDarwin then "osx" - else if isFreeBSD then "freebsd" - else "cpulimit" - ) ]; + buildFlags = with stdenv; [ + ( + if isDarwin then + "osx" + else if isFreeBSD then + "freebsd" + else + "cpulimit" + ) + ]; installFlags = [ "PREFIX=$(out)" ]; @@ -22,7 +31,7 @@ stdenv.mkDerivation rec { description = "Tool to throttle the CPU usage of programs"; platforms = with platforms; linux ++ freebsd; license = licenses.gpl2Only; - maintainers = [maintainers.rycee]; + maintainers = [ maintainers.rycee ]; mainProgram = "cpulimit"; }; } diff --git a/pkgs/by-name/li/linbox/package.nix b/pkgs/by-name/li/linbox/package.nix index f9258f9913614..be78cb31a3158 100644 --- a/pkgs/by-name/li/linbox/package.nix +++ b/pkgs/by-name/li/linbox/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, givaro -, pkg-config -, blas -, lapack -, fflas-ffpack -, gmpxx +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + givaro, + pkg-config, + blas, + lapack, + fflas-ffpack, + gmpxx, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -42,20 +44,22 @@ stdenv.mkDerivation rec { fflas-ffpack ]; - configureFlags = [ - "--with-blas-libs=-lblas" - "--without-archnative" - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - # disable SIMD instructions (which are enabled *when available* by default) - "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" - "--${if stdenv.hostPlatform.ssse3Support then "enable" else "disable"}-ssse3" - "--${if stdenv.hostPlatform.sse4_1Support then "enable" else "disable"}-sse41" - "--${if stdenv.hostPlatform.sse4_2Support then "enable" else "disable"}-sse42" - "--${if stdenv.hostPlatform.avxSupport then "enable" else "disable"}-avx" - "--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2" - "--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma" - "--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4" - ]; + configureFlags = + [ + "--with-blas-libs=-lblas" + "--without-archnative" + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + # disable SIMD instructions (which are enabled *when available* by default) + "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" + "--${if stdenv.hostPlatform.ssse3Support then "enable" else "disable"}-ssse3" + "--${if stdenv.hostPlatform.sse4_1Support then "enable" else "disable"}-sse41" + "--${if stdenv.hostPlatform.sse4_2Support then "enable" else "disable"}-sse42" + "--${if stdenv.hostPlatform.avxSupport then "enable" else "disable"}-avx" + "--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2" + "--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma" + "--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4" + ]; # https://github.com/linbox-team/linbox/issues/304 hardeningDisable = [ "fortify3" ]; diff --git a/pkgs/by-name/li/linden-hill/package.nix b/pkgs/by-name/li/linden-hill/package.nix index cd543f473e205..07d41919b2c25 100644 --- a/pkgs/by-name/li/linden-hill/package.nix +++ b/pkgs/by-name/li/linden-hill/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "linden-hill"; diff --git a/pkgs/by-name/li/line-awesome/package.nix b/pkgs/by-name/li/line-awesome/package.nix index d9f7818dd2f79..12bd35d1f31cd 100644 --- a/pkgs/by-name/li/line-awesome/package.nix +++ b/pkgs/by-name/li/line-awesome/package.nix @@ -1,12 +1,16 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "line-awesome"; version = "1.3.0"; src = fetchurl { - url = - "https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/${version}/line-awesome-${version}.zip"; + url = "https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/${version}/line-awesome-${version}.zip"; sha256 = "07qkz8s1wjh5xwqlq1b4lpihr1zah3kh6bnqvfwvncld8l9wjqfk"; }; diff --git a/pkgs/by-name/li/linearicons-free/package.nix b/pkgs/by-name/li/linearicons-free/package.nix index 9b310a38d5ac6..4df1923e3b634 100644 --- a/pkgs/by-name/li/linearicons-free/package.nix +++ b/pkgs/by-name/li/linearicons-free/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "linearicons-free"; diff --git a/pkgs/by-name/li/linenoise-ng/package.nix b/pkgs/by-name/li/linenoise-ng/package.nix index c52b7085796cc..1b9ad3f243c4b 100644 --- a/pkgs/by-name/li/linenoise-ng/package.nix +++ b/pkgs/by-name/li/linenoise-ng/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "linenoise-ng"; diff --git a/pkgs/by-name/li/linenoise/package.nix b/pkgs/by-name/li/linenoise/package.nix index 13891d08f1133..acf8cf3e258c5 100644 --- a/pkgs/by-name/li/linenoise/package.nix +++ b/pkgs/by-name/li/linenoise/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, validatePkgConfig -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchFromGitHub, + validatePkgConfig, + fixDarwinDylibNames, }: stdenv.mkDerivation { @@ -16,8 +17,9 @@ stdenv.mkDerivation { hash = "sha256-GsrYg16gpjHkkmpCU3yGzqNS/buZl+JoWALLvwzmT4A="; }; - nativeBuildInputs = [ validatePkgConfig ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; + nativeBuildInputs = [ + validatePkgConfig + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; buildPhase = '' runHook preBuild @@ -44,7 +46,10 @@ stdenv.mkDerivation { meta = { homepage = "https://github.com/antirez/linenoise"; description = "Minimal, zero-config, BSD licensed, readline replacement"; - maintainers = with lib.maintainers; [ fstamour remexre ]; + maintainers = with lib.maintainers; [ + fstamour + remexre + ]; platforms = lib.platforms.unix; license = lib.licenses.bsd2; }; diff --git a/pkgs/by-name/li/lineselect/package.nix b/pkgs/by-name/li/lineselect/package.nix index a99908b2e70ef..5386172232ea3 100644 --- a/pkgs/by-name/li/lineselect/package.nix +++ b/pkgs/by-name/li/lineselect/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeBinaryWrapper -, nodejs +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeBinaryWrapper, + nodejs, }: buildNpmPackage rec { diff --git a/pkgs/by-name/li/lingeling/package.nix b/pkgs/by-name/li/lingeling/package.nix index 1abf38b49cf82..80cc5da336a05 100644 --- a/pkgs/by-name/li/lingeling/package.nix +++ b/pkgs/by-name/li/lingeling/package.nix @@ -1,5 +1,8 @@ -{ lib, stdenv, fetchFromGitHub -, aiger +{ + lib, + stdenv, + fetchFromGitHub, + aiger, }: stdenv.mkDerivation { @@ -8,9 +11,9 @@ stdenv.mkDerivation { version = "pre1_708beb26"; src = fetchFromGitHub { - owner = "arminbiere"; - repo = "lingeling"; - rev = "708beb26a7d5b5d5e7abd88d6f552fb1946b07c1"; + owner = "arminbiere"; + repo = "lingeling"; + rev = "708beb26a7d5b5d5e7abd88d6f552fb1946b07c1"; sha256 = "1lb2g37nd8qq5hw5g6l691nx5095336yb2zlbaw43mg56hkj8357"; }; @@ -36,13 +39,17 @@ stdenv.mkDerivation { cp lingeling plingeling treengeling ilingeling blimc $out/bin ''; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; meta = with lib; { description = "Fast SAT solver"; - homepage = "http://fmv.jku.at/lingeling/"; - license = licenses.mit; - platforms = platforms.unix; + homepage = "http://fmv.jku.at/lingeling/"; + license = licenses.mit; + platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/li/lingot/package.nix b/pkgs/by-name/li/lingot/package.nix index b024b42a6f1af..88df150b004ee 100644 --- a/pkgs/by-name/li/lingot/package.nix +++ b/pkgs/by-name/li/lingot/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, wrapGAppsHook3 -, gtk3 -, alsa-lib -, libpulseaudio -, fftw -, fftwFloat -, json_c -, libjack2 -, jackSupport ? true +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + wrapGAppsHook3, + gtk3, + alsa-lib, + libpulseaudio, + fftw, + fftwFloat, + json_c, + libjack2, + jackSupport ? true, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/lingua-franca/package.nix b/pkgs/by-name/li/lingua-franca/package.nix index f989a5e9d6be1..769c9e13d4c91 100644 --- a/pkgs/by-name/li/lingua-franca/package.nix +++ b/pkgs/by-name/li/lingua-franca/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, jdk17_headless }: +{ + lib, + stdenv, + fetchzip, + jdk17_headless, +}: stdenv.mkDerivation rec { pname = "lfc"; diff --git a/pkgs/by-name/li/linien-gui/package.nix b/pkgs/by-name/li/linien-gui/package.nix index 374bb6951dc36..a62f5b269f109 100644 --- a/pkgs/by-name/li/linien-gui/package.nix +++ b/pkgs/by-name/li/linien-gui/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, qt5 +{ + lib, + python3, + qt5, }: python3.pkgs.buildPythonApplication rec { @@ -11,11 +12,14 @@ python3.pkgs.buildPythonApplication rec { sourceRoot = "${src.name}/linien-gui"; - nativeBuildInputs = with python3.pkgs; [ - setuptools - ] ++ [ - qt5.wrapQtAppsHook - ]; + nativeBuildInputs = + with python3.pkgs; + [ + setuptools + ] + ++ [ + qt5.wrapQtAppsHook + ]; # Makes qt-wayland appear in the qt paths injected by the wrapper - helps users # with `QT_QPA_PLATFORM=wayland` in their environment. @@ -45,6 +49,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/linien-org/linien/tree/develop/linien-gui"; changelog = "https://github.com/linien-org/linien/blob/v${version}/CHANGELOG.md"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ fsagbuya doronbehar ]; + maintainers = with maintainers; [ + fsagbuya + doronbehar + ]; }; } diff --git a/pkgs/by-name/li/linja-pi-pu-lukin/package.nix b/pkgs/by-name/li/linja-pi-pu-lukin/package.nix index 3f320a6123354..de46fa570e527 100644 --- a/pkgs/by-name/li/linja-pi-pu-lukin/package.nix +++ b/pkgs/by-name/li/linja-pi-pu-lukin/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation { pname = "linja-pi-pu-lukin"; diff --git a/pkgs/by-name/li/link-grammar/package.nix b/pkgs/by-name/li/link-grammar/package.nix index 68d38d7505d48..25a97d0a6df51 100644 --- a/pkgs/by-name/li/link-grammar/package.nix +++ b/pkgs/by-name/li/link-grammar/package.nix @@ -1,67 +1,76 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, python3 -, flex -, sqlite -, libedit -, runCommand -, dieHook +{ + lib, + stdenv, + fetchurl, + pkg-config, + python3, + flex, + sqlite, + libedit, + runCommand, + dieHook, }: let -link-grammar = stdenv.mkDerivation rec { - pname = "link-grammar"; - version = "5.10.5"; + link-grammar = stdenv.mkDerivation rec { + pname = "link-grammar"; + version = "5.10.5"; - outputs = [ "bin" "out" "dev" "man" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + ]; - src = fetchurl { - url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-MkcQzYEyl1/5zLU1CXMvdVhHOxwZ8XiSAAo97bhhiu0="; - }; + src = fetchurl { + url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz"; + sha256 = "sha256-MkcQzYEyl1/5zLU1CXMvdVhHOxwZ8XiSAAo97bhhiu0="; + }; - nativeBuildInputs = [ - pkg-config - python3 - flex - ]; + nativeBuildInputs = [ + pkg-config + python3 + flex + ]; - buildInputs = [ - sqlite - libedit - ]; + buildInputs = [ + sqlite + libedit + ]; - configureFlags = [ - "--disable-java-bindings" - ]; + configureFlags = [ + "--disable-java-bindings" + ]; - doCheck = true; + doCheck = true; - passthru.tests = { - quick = runCommand "link-grammar-quick-test" { - buildInputs = [ - link-grammar - dieHook - ]; - } '' - echo "Furiously sleep ideas green colorless." | link-parser en | grep "No complete linkages found." || die "Grammaticaly invalid sentence was parsed." - echo "Colorless green ideas sleep furiously." | link-parser en | grep "Found .* linkages." || die "Grammaticaly valid sentence was not parsed." - touch $out - ''; - }; + passthru.tests = { + quick = + runCommand "link-grammar-quick-test" + { + buildInputs = [ + link-grammar + dieHook + ]; + } + '' + echo "Furiously sleep ideas green colorless." | link-parser en | grep "No complete linkages found." || die "Grammaticaly invalid sentence was parsed." + echo "Colorless green ideas sleep furiously." | link-parser en | grep "Found .* linkages." || die "Grammaticaly valid sentence was not parsed." + touch $out + ''; + }; - meta = with lib; { - description = "Grammar Checking library"; - homepage = "https://www.abisource.com/projects/link-grammar/"; - changelog = "https://github.com/opencog/link-grammar/blob/link-grammar-${version}/ChangeLog"; - license = licenses.lgpl21Only; - maintainers = with maintainers; [ jtojnar ]; - platforms = platforms.unix; + meta = with lib; { + description = "Grammar Checking library"; + homepage = "https://www.abisource.com/projects/link-grammar/"; + changelog = "https://github.com/opencog/link-grammar/blob/link-grammar-${version}/ChangeLog"; + license = licenses.lgpl21Only; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.unix; + }; }; -}; in - link-grammar +link-grammar diff --git a/pkgs/by-name/li/links2/package.nix b/pkgs/by-name/li/links2/package.nix index 6680033e68315..fbeed583d4859 100644 --- a/pkgs/by-name/li/links2/package.nix +++ b/pkgs/by-name/li/links2/package.nix @@ -1,10 +1,26 @@ -{ lib, stdenv, fetchurl -, gpm, openssl, pkg-config, libev # Misc. -, libpng, libjpeg, libtiff, librsvg, libavif # graphic formats -, bzip2, zlib, xz # Transfer encodings -, enableFB ? (!stdenv.hostPlatform.isDarwin) -, enableDirectFB ? false, directfb -, enableX11 ? (!stdenv.hostPlatform.isDarwin), libX11, libXt, libXau # GUI support +{ + lib, + stdenv, + fetchurl, + gpm, + openssl, + pkg-config, + libev, # Misc. + libpng, + libjpeg, + libtiff, + librsvg, + libavif, # graphic formats + bzip2, + zlib, + xz, # Transfer encodings + enableFB ? (!stdenv.hostPlatform.isDarwin), + enableDirectFB ? false, + directfb, + enableX11 ? (!stdenv.hostPlatform.isDarwin), + libX11, + libXt, + libXau, # GUI support }: stdenv.mkDerivation (finalAttrs: { @@ -17,14 +33,33 @@ stdenv.mkDerivation (finalAttrs: { }; buildInputs = - [ libev librsvg libpng libjpeg libtiff libavif openssl xz bzip2 zlib ] + [ + libev + librsvg + libpng + libjpeg + libtiff + libavif + openssl + xz + bzip2 + zlib + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ gpm ] - ++ lib.optionals enableX11 [ libX11 libXau libXt ] + ++ lib.optionals enableX11 [ + libX11 + libXau + libXt + ] ++ lib.optionals enableDirectFB [ directfb ]; - nativeBuildInputs = [ pkg-config bzip2 ]; + nativeBuildInputs = [ + pkg-config + bzip2 + ]; - configureFlags = [ "--with-ssl" ] + configureFlags = + [ "--with-ssl" ] ++ lib.optional (enableX11 || enableFB || enableDirectFB) "--enable-graphics" ++ lib.optional enableX11 "--with-x" ++ lib.optional enableFB "--with-fb" diff --git a/pkgs/by-name/li/lint-staged/package.nix b/pkgs/by-name/li/lint-staged/package.nix index d802df0f3c609..8987008c06f5e 100644 --- a/pkgs/by-name/li/lint-staged/package.nix +++ b/pkgs/by-name/li/lint-staged/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNpmPackage, fetchFromGitHub, testers, lint-staged }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + testers, + lint-staged, +}: buildNpmPackage rec { pname = "lint-staged"; diff --git a/pkgs/by-name/li/linux-exploit-suggester/package.nix b/pkgs/by-name/li/linux-exploit-suggester/package.nix index ed68e8e7c7a33..e9af8bcaea366 100644 --- a/pkgs/by-name/li/linux-exploit-suggester/package.nix +++ b/pkgs/by-name/li/linux-exploit-suggester/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "linux-exploit-suggester"; diff --git a/pkgs/by-name/li/linux-manual/package.nix b/pkgs/by-name/li/linux-manual/package.nix index e9cfe258a7fa2..4240654d6b343 100644 --- a/pkgs/by-name/li/linux-manual/package.nix +++ b/pkgs/by-name/li/linux-manual/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, perl, linuxPackages_latest }: +{ + lib, + stdenv, + perl, + linuxPackages_latest, +}: stdenv.mkDerivation rec { pname = "linux-manual"; diff --git a/pkgs/by-name/li/linux-pam/package.nix b/pkgs/by-name/li/linux-pam/package.nix index 9e97071bbc7c9..a1a515097307c 100644 --- a/pkgs/by-name/li/linux-pam/package.nix +++ b/pkgs/by-name/li/linux-pam/package.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, buildPackages, fetchurl -, flex, cracklib, db4, gettext, audit, libxcrypt -, nixosTests -, autoreconfHook269, pkg-config-unwrapped +{ + lib, + stdenv, + buildPackages, + fetchurl, + flex, + cracklib, + db4, + gettext, + audit, + libxcrypt, + nixosTests, + autoreconfHook269, + pkg-config-unwrapped, }: stdenv.mkDerivation rec { @@ -18,21 +28,33 @@ stdenv.mkDerivation rec { ]; # Case-insensitivity workaround for https://github.com/linux-pam/linux-pam/issues/569 - postPatch = lib.optionalString (stdenv.buildPlatform.isDarwin && stdenv.buildPlatform != stdenv.hostPlatform) '' - rm CHANGELOG - touch ChangeLog - ''; + postPatch = + lib.optionalString (stdenv.buildPlatform.isDarwin && stdenv.buildPlatform != stdenv.hostPlatform) + '' + rm CHANGELOG + touch ChangeLog + ''; - outputs = [ "out" "doc" "man" /* "modules" */ ]; + outputs = [ + "out" + "doc" + "man" # "modules" + ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; # autoreconfHook269 is needed for `suid-wrapper-path.patch` above. # pkg-config-unwrapped is needed for `AC_CHECK_LIB` and `AC_SEARCH_LIBS` - nativeBuildInputs = [ flex autoreconfHook269 pkg-config-unwrapped ] - ++ lib.optional stdenv.buildPlatform.isDarwin gettext; + nativeBuildInputs = [ + flex + autoreconfHook269 + pkg-config-unwrapped + ] ++ lib.optional stdenv.buildPlatform.isDarwin gettext; - buildInputs = [ cracklib db4 libxcrypt ] - ++ lib.optional stdenv.buildPlatform.isLinux audit; + buildInputs = [ + cracklib + db4 + libxcrypt + ] ++ lib.optional stdenv.buildPlatform.isLinux audit; enableParallelBuilding = true; @@ -51,7 +73,12 @@ stdenv.mkDerivation rec { doCheck = false; # fails passthru.tests = { - inherit (nixosTests) pam-oath-login pam-u2f shadow sssd-ldap; + inherit (nixosTests) + pam-oath-login + pam-u2f + shadow + sssd-ldap + ; }; meta = with lib; { diff --git a/pkgs/by-name/li/linux-router/package.nix b/pkgs/by-name/li/linux-router/package.nix index e2620b90b22be..4e84f419a190c 100644 --- a/pkgs/by-name/li/linux-router/package.nix +++ b/pkgs/by-name/li/linux-router/package.nix @@ -1,41 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, -# --- Runtime Dependencies --- -, bash -, procps -, iproute2 -, dnsmasq -, iptables -, coreutils -, flock -, gawk -, getopt -, gnugrep -, gnused -, which -# `nmcli` is not required for create_ap. -# Use NetworkManager by default because it is very likely already present -, useNetworkManager ? true -, networkmanager + # --- Runtime Dependencies --- + bash, + procps, + iproute2, + dnsmasq, + iptables, + coreutils, + flock, + gawk, + getopt, + gnugrep, + gnused, + which, + # `nmcli` is not required for create_ap. + # Use NetworkManager by default because it is very likely already present + useNetworkManager ? true, + networkmanager, -# --- WiFi Hotspot Dependencies --- -, useWifiDependencies ? true -, hostapd -, iw -# You only need this if 'iw' can not recognize your adapter. -, useWirelessTools ? true -, wirelesstools # for iwconfig -# To fall back to haveged if entropy is low. -# Defaulting to false because not having it does not break things. -# If it is really needed, warnings will be logged to journal. -, useHaveged ? false -, haveged -# You only need this if you wish to show WiFi QR codes in terminal -, useQrencode ? true -, qrencode + # --- WiFi Hotspot Dependencies --- + useWifiDependencies ? true, + hostapd, + iw, + # You only need this if 'iw' can not recognize your adapter. + useWirelessTools ? true, + wirelesstools, # for iwconfig + # To fall back to haveged if entropy is low. + # Defaulting to false because not having it does not break things. + # If it is really needed, warnings will be logged to journal. + useHaveged ? false, + haveged, + # You only need this if you wish to show WiFi QR codes in terminal + useQrencode ? true, + qrencode, }: stdenv.mkDerivation rec { @@ -55,15 +56,30 @@ stdenv.mkDerivation rec { dontBuild = true; - installPhase = let - binPath = lib.makeBinPath ([ procps iproute2 getopt bash dnsmasq - iptables coreutils which flock gnugrep gnused gawk ] - ++ lib.optional useNetworkManager networkmanager - ++ lib.optional useWifiDependencies hostapd - ++ lib.optional useWifiDependencies iw - ++ lib.optional (useWifiDependencies && useWirelessTools) wirelesstools - ++ lib.optional (useWifiDependencies && useHaveged) haveged - ++ lib.optional (useWifiDependencies && useQrencode) qrencode); + installPhase = + let + binPath = lib.makeBinPath ( + [ + procps + iproute2 + getopt + bash + dnsmasq + iptables + coreutils + which + flock + gnugrep + gnused + gawk + ] + ++ lib.optional useNetworkManager networkmanager + ++ lib.optional useWifiDependencies hostapd + ++ lib.optional useWifiDependencies iw + ++ lib.optional (useWifiDependencies && useWirelessTools) wirelesstools + ++ lib.optional (useWifiDependencies && useHaveged) haveged + ++ lib.optional (useWifiDependencies && useQrencode) qrencode + ); in '' mkdir -p $out/bin/ $out/.bin-wrapped diff --git a/pkgs/by-name/li/linux-scripts/package.nix b/pkgs/by-name/li/linux-scripts/package.nix index f317538be7e70..479fcafecfd3c 100644 --- a/pkgs/by-name/li/linux-scripts/package.nix +++ b/pkgs/by-name/li/linux-scripts/package.nix @@ -1,19 +1,20 @@ -{ lib -, linuxHeaders # Linux source tree -, makeWrapper -, stdenvNoCC +{ + lib, + linuxHeaders, # Linux source tree + makeWrapper, + stdenvNoCC, -, binutils -, coreutils -, gnugrep + binutils, + coreutils, + gnugrep, # decompressors for possible kernel image formats -, bzip2 -, gzip -, lz4 -, lzop -, xz -, zstd + bzip2, + gzip, + lz4, + lzop, + xz, + zstd, }: let @@ -34,8 +35,7 @@ let wrapProgram $out/bin/${scriptName} --prefix PATH : ${lib.makeBinPath commonDeps} ''; in -stdenvNoCC.mkDerivation -{ +stdenvNoCC.mkDerivation { inherit (linuxHeaders) version; pname = "linux-scripts"; diff --git a/pkgs/by-name/li/linuxConsoleTools/package.nix b/pkgs/by-name/li/linuxConsoleTools/package.nix index c5138e12fe469..323c83b9d26b4 100644 --- a/pkgs/by-name/li/linuxConsoleTools/package.nix +++ b/pkgs/by-name/li/linuxConsoleTools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, SDL, SDL2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + SDL, + SDL2, +}: stdenv.mkDerivation rec { pname = "linuxconsoletools"; @@ -10,9 +17,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL SDL2 ]; + buildInputs = [ + SDL + SDL2 + ]; - makeFlags = [ "DESTDIR=$(out)"]; + makeFlags = [ "DESTDIR=$(out)" ]; installFlags = [ "PREFIX=\"\"" ]; @@ -21,7 +31,10 @@ stdenv.mkDerivation rec { description = "Set of tools for joysticks and serial peripherals"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ pSub ebzzry ]; + maintainers = with maintainers; [ + pSub + ebzzry + ]; longDescription = '' The included tools are: diff --git a/pkgs/by-name/li/linux_logo/package.nix b/pkgs/by-name/li/linux_logo/package.nix index 5b12f75b72973..07d3bfe9e5df3 100644 --- a/pkgs/by-name/li/linux_logo/package.nix +++ b/pkgs/by-name/li/linux_logo/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, gettext -, which +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + which, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-yBAxPwgKyFFIX0wuG7oG+FbEDpA5cPwyyJgWrFErJ7I="; }; - nativeBuildInputs = [ gettext which ]; + nativeBuildInputs = [ + gettext + which + ]; meta = with lib; { description = "Prints an ASCII logo and some system info"; diff --git a/pkgs/by-name/li/linuxdoc-tools/package.nix b/pkgs/by-name/li/linuxdoc-tools/package.nix index 18356356cdca3..34bb2d8475751 100644 --- a/pkgs/by-name/li/linuxdoc-tools/package.nix +++ b/pkgs/by-name/li/linuxdoc-tools/package.nix @@ -1,5 +1,18 @@ -{ stdenv, lib, makeWrapper, fetchFromGitLab, perl, flex -, gnused, coreutils, which, opensp, groff, texliveMedium, texinfo, withLatex ? false +{ + stdenv, + lib, + makeWrapper, + fetchFromGitLab, + perl, + flex, + gnused, + coreutils, + which, + opensp, + groff, + texliveMedium, + texinfo, + withLatex ? false, }: stdenv.mkDerivation rec { @@ -13,18 +26,26 @@ stdenv.mkDerivation rec { hash = "sha256-8nsCfcxqVt16br6Vhk8tW3cxJMJFSZYX2g3MjO7JoT4="; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; configureFlags = [ - ("--enable-docs=txt info lyx html rtf" - + lib.optionalString withLatex " pdf") + ("--enable-docs=txt info lyx html rtf" + lib.optionalString withLatex " pdf") ]; LEX = "flex"; postInstall = '' wrapProgram $out/bin/linuxdoc \ - --prefix PATH : "${lib.makeBinPath [ groff opensp ]}:$out/bin" \ + --prefix PATH : "${ + lib.makeBinPath [ + groff + opensp + ] + }:$out/bin" \ --prefix PERL5LIB : "$out/share/linuxdoc-tools/" ''; @@ -39,10 +60,20 @@ stdenv.mkDerivation rec { popd ''; - nativeBuildInputs = [ flex which makeWrapper ]; + nativeBuildInputs = [ + flex + which + makeWrapper + ]; - buildInputs = [ opensp groff texinfo perl gnused coreutils ] - ++ lib.optionals withLatex [ texliveMedium ]; + buildInputs = [ + opensp + groff + texinfo + perl + gnused + coreutils + ] ++ lib.optionals withLatex [ texliveMedium ]; meta = with lib; { description = "Toolset for processing LinuxDoc DTD SGML files"; @@ -55,7 +86,11 @@ stdenv.mkDerivation rec { documents written in LinuxDoc DTD sgml source. ''; homepage = "https://gitlab.com/agmartin/linuxdoc-tools"; - license = with licenses; [ gpl3Plus mit sgmlug ]; + license = with licenses; [ + gpl3Plus + mit + sgmlug + ]; platforms = platforms.linux; maintainers = with maintainers; [ p-h ]; }; diff --git a/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix b/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix index 18c91f1b18cdc..dcf6c0908e71b 100644 --- a/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix +++ b/pkgs/by-name/li/linuxhw-edid-fetcher/package.nix @@ -1,14 +1,15 @@ -{ lib -, coreutils -, curl -, fetchFromGitHub -, gawk -, gnutar -, stdenv -, unixtools -, writeShellApplication -, nix-update-script -, displays ? { } +{ + lib, + coreutils, + curl, + fetchFromGitHub, + gawk, + gnutar, + stdenv, + unixtools, + writeShellApplication, + nix-update-script, + displays ? { }, }: # Usage: @@ -31,7 +32,13 @@ stdenv.mkDerivation rec { fetch = lib.getExe (writeShellApplication { name = "linuxhw-edid-fetch"; - runtimeInputs = [ gawk coreutils unixtools.xxd curl gnutar ]; + runtimeInputs = [ + gawk + coreutils + unixtools.xxd + curl + gnutar + ]; text = '' repo="''${repo:-"${src}"}" ${builtins.readFile ./linuxhw-edid-fetch.sh} @@ -39,9 +46,11 @@ stdenv.mkDerivation rec { }); configurePhase = lib.pipe displays [ - (lib.mapAttrsToList (name: patterns: '' - "$fetch" ${lib.escapeShellArgs patterns} > "${name}.bin" - '')) + (lib.mapAttrsToList ( + name: patterns: '' + "$fetch" ${lib.escapeShellArgs patterns} > "${name}.bin" + '' + )) (builtins.concatStringsSep "\n") ]; diff --git a/pkgs/by-name/li/linuxptp/package.nix b/pkgs/by-name/li/linuxptp/package.nix index 66a03a4ffa327..3b02c68f1221b 100644 --- a/pkgs/by-name/li/linuxptp/package.nix +++ b/pkgs/by-name/li/linuxptp/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, linuxHeaders } : - +{ + lib, + stdenv, + fetchFromGitHub, + linuxHeaders, +}: stdenv.mkDerivation rec { pname = "linuxptp"; @@ -12,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-w1buo+D8Mnd6ytMhQYhvCDqt+RejlNSN/iVjrDR+Khk="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postPatch = '' substituteInPlace incdefs.sh --replace-fail \ diff --git a/pkgs/by-name/li/linuxquota/package.nix b/pkgs/by-name/li/linuxquota/package.nix index d9aa6492b5811..8543256ec87e6 100644 --- a/pkgs/by-name/li/linuxquota/package.nix +++ b/pkgs/by-name/li/linuxquota/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, e2fsprogs, openldap, pkg-config, binlore, linuxquota }: +{ + lib, + stdenv, + fetchurl, + e2fsprogs, + openldap, + pkg-config, + binlore, + linuxquota, +}: stdenv.mkDerivation rec { version = "4.09"; @@ -9,10 +18,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-nNrKFUvJKvwxF/Dl9bMgjdX4RYOvHPBhw5uqCiuxQvk="; }; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ e2fsprogs openldap ]; + buildInputs = [ + e2fsprogs + openldap + ]; passthru.binlore.out = binlore.synthesize linuxquota '' execer cannot bin/quota diff --git a/pkgs/by-name/li/linuxsampler/package.nix b/pkgs/by-name/li/linuxsampler/package.nix index 53e5b6e6e7333..6a7fbf180120b 100644 --- a/pkgs/by-name/li/linuxsampler/package.nix +++ b/pkgs/by-name/li/linuxsampler/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchurl, autoconf, automake, bison, libtool, pkg-config, which -, alsa-lib, asio, libjack2, libgig, libsndfile, lv2 }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + bison, + libtool, + pkg-config, + which, + alsa-lib, + asio, + libjack2, + libgig, + libsndfile, + lv2, +}: stdenv.mkDerivation rec { pname = "linuxsampler"; @@ -14,9 +29,23 @@ stdenv.mkDerivation rec { make -f Makefile.svn ''; - nativeBuildInputs = [ autoconf automake bison libtool pkg-config which ]; + nativeBuildInputs = [ + autoconf + automake + bison + libtool + pkg-config + which + ]; - buildInputs = [ alsa-lib asio libjack2 libgig libsndfile lv2 ]; + buildInputs = [ + alsa-lib + asio + libjack2 + libgig + libsndfile + lv2 + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/li/linuxwave/package.nix b/pkgs/by-name/li/linuxwave/package.nix index 4d86b31c854ef..0ac17761b0fa6 100644 --- a/pkgs/by-name/li/linuxwave/package.nix +++ b/pkgs/by-name/li/linuxwave/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, zig_0_10 +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + zig_0_10, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/linx-server/package.nix b/pkgs/by-name/li/linx-server/package.nix index dbd8c3f3d122f..27bd8cbf2d539 100644 --- a/pkgs/by-name/li/linx-server/package.nix +++ b/pkgs/by-name/li/linx-server/package.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, go-rice -, lib +{ + buildGoModule, + fetchFromGitHub, + go-rice, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/li/lipl/package.nix b/pkgs/by-name/li/lipl/package.nix index 8d9d294f3edd7..c039056cf4986 100644 --- a/pkgs/by-name/li/lipl/package.nix +++ b/pkgs/by-name/li/lipl/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/li/liquibase/package.nix b/pkgs/by-name/li/liquibase/package.nix index 275ea34294321..266efd45a870a 100644 --- a/pkgs/by-name/li/liquibase/package.nix +++ b/pkgs/by-name/li/liquibase/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, gitUpdater -, jre -, makeWrapper -, mysqlSupport ? true -, mysql_jdbc -, postgresqlSupport ? true -, postgresql_jdbc -, redshiftSupport ? true -, redshift_jdbc -, liquibase_redshift_extension +{ + lib, + stdenv, + fetchurl, + gitUpdater, + jre, + makeWrapper, + mysqlSupport ? true, + mysql_jdbc, + postgresqlSupport ? true, + postgresql_jdbc, + redshiftSupport ? true, + redshift_jdbc, + liquibase_redshift_extension, }: let @@ -38,11 +39,12 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "."; installPhase = - let addJars = dir: '' - for jar in ${dir}/*.jar; do - CP="\$CP":"\$jar" - done - ''; + let + addJars = dir: '' + for jar in ${dir}/*.jar; do + CP="\$CP":"\$jar" + done + ''; in '' mkdir -p $out diff --git a/pkgs/by-name/li/liquibase_redshift_extension/package.nix b/pkgs/by-name/li/liquibase_redshift_extension/package.nix index ba15086ae0ab5..705dbf2b283d6 100644 --- a/pkgs/by-name/li/liquibase_redshift_extension/package.nix +++ b/pkgs/by-name/li/liquibase_redshift_extension/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchMavenArtifact }: +{ + lib, + stdenv, + fetchMavenArtifact, +}: stdenv.mkDerivation rec { pname = "liquibase-redshift-extension"; diff --git a/pkgs/by-name/li/liquidfun/package.nix b/pkgs/by-name/li/liquidfun/package.nix index 2e12f5903444c..84974f233890d 100644 --- a/pkgs/by-name/li/liquidfun/package.nix +++ b/pkgs/by-name/li/liquidfun/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }: +{ + lib, + stdenv, + requireFile, + cmake, + libGLU, + libGL, + libX11, + libXi, +}: stdenv.mkDerivation rec { pname = "liquidfun"; @@ -11,7 +20,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libGLU libGL libX11 libXi ]; + buildInputs = [ + libGLU + libGL + libX11 + libXi + ]; sourceRoot = "liquidfun/Box2D"; diff --git a/pkgs/by-name/li/liquidprompt/package.nix b/pkgs/by-name/li/liquidprompt/package.nix index 6c2cb409658dc..aec6d5f3fd01a 100644 --- a/pkgs/by-name/li/liquidprompt/package.nix +++ b/pkgs/by-name/li/liquidprompt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, gitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "liquidprompt"; diff --git a/pkgs/by-name/li/lirc/package.nix b/pkgs/by-name/li/lirc/package.nix index 80c9d1f1d8102..69cc919a8d006 100644 --- a/pkgs/by-name/li/lirc/package.nix +++ b/pkgs/by-name/li/lirc/package.nix @@ -1,25 +1,31 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, pkg-config -, help2man -, python3 -, linuxHeaders - -, alsa-lib -, libxslt -, systemd -, libusb-compat-0_1 -, libftdi1 -, libICE -, libSM -, libX11 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + pkg-config, + help2man, + python3, + linuxHeaders, + + alsa-lib, + libxslt, + systemd, + libusb-compat-0_1, + libftdi1, + libICE, + libSM, + libX11, }: let - pythonEnv = python3.pythonOnBuildForHost.withPackages (p: with p; [ pyyaml setuptools ]); + pythonEnv = python3.pythonOnBuildForHost.withPackages ( + p: with p; [ + pyyaml + setuptools + ] + ); in stdenv.mkDerivation rec { pname = "lirc"; @@ -66,9 +72,23 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ autoreconfHook help2man libxslt pythonEnv pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + help2man + libxslt + pythonEnv + pkg-config + ]; - buildInputs = [ alsa-lib systemd libusb-compat-0_1 libftdi1 libICE libSM libX11 ]; + buildInputs = [ + alsa-lib + systemd + libusb-compat-0_1 + libftdi1 + libICE + libSM + libX11 + ]; DEVINPUT_HEADER = "${linuxHeaders}/include/linux/input-event-codes.h"; diff --git a/pkgs/by-name/li/lisgd/package.nix b/pkgs/by-name/li/lisgd/package.nix index 23e677144945a..7ccc9e7f9cd3d 100644 --- a/pkgs/by-name/li/lisgd/package.nix +++ b/pkgs/by-name/li/lisgd/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromSourcehut -, writeText -, libinput -, libX11 -, wayland -, conf ? null -, patches ? [ ] +{ + lib, + stdenv, + fetchFromSourcehut, + writeText, + libinput, + libX11, + wayland, + conf ? null, + patches ? [ ], }: stdenv.mkDerivation rec { @@ -22,14 +23,14 @@ stdenv.mkDerivation rec { inherit patches; - postPatch = let - configFile = if lib.isDerivation conf || lib.isPath conf then - conf - else - writeText "config.def.h" conf; - in lib.optionalString (conf != null) '' - cp ${configFile} config.def.h - ''; + postPatch = + let + configFile = + if lib.isDerivation conf || lib.isPath conf then conf else writeText "config.def.h" conf; + in + lib.optionalString (conf != null) '' + cp ${configFile} config.def.h + ''; buildInputs = [ libinput diff --git a/pkgs/by-name/li/listadmin/package.nix b/pkgs/by-name/li/listadmin/package.nix index 6a4a2927d3ef3..f99c749ef75d9 100644 --- a/pkgs/by-name/li/listadmin/package.nix +++ b/pkgs/by-name/li/listadmin/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchurl, makeWrapper, perl, installShellFiles }: +{ + lib, + stdenvNoCC, + fetchurl, + makeWrapper, + perl, + installShellFiles, +}: stdenvNoCC.mkDerivation rec { pname = "listadmin"; @@ -10,7 +17,10 @@ stdenvNoCC.mkDerivation rec { }; buildInputs = [ perl ]; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; # There is a Makefile, but we don’t need it, and it prints errors dontBuild = true; @@ -21,9 +31,14 @@ stdenvNoCC.mkDerivation rec { installManPage listadmin.1 wrapProgram $out/bin/listadmin \ - --prefix PERL5LIB : "${with perl.pkgs; makeFullPerlPath [ - TextReform NetINET6Glue LWPProtocolHttps - ]}" + --prefix PERL5LIB : "${ + with perl.pkgs; + makeFullPerlPath [ + TextReform + NetINET6Glue + LWPProtocolHttps + ] + }" ''; doInstallCheck = true; @@ -34,11 +49,11 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Command line mailman moderator queue manipulation"; longDescription = '' - listadmin is a command line tool to manipulate the queues of messages - held for moderator approval by mailman. It is designed to keep user - interaction to a minimum, in theory you could run it from cron to prune - the queue. It can use the score from a header added by SpamAssassin to - filter, or it can match specific senders, subjects, or reasons. + listadmin is a command line tool to manipulate the queues of messages + held for moderator approval by mailman. It is designed to keep user + interaction to a minimum, in theory you could run it from cron to prune + the queue. It can use the score from a header added by SpamAssassin to + filter, or it can match specific senders, subjects, or reasons. ''; homepage = "https://sourceforge.net/projects/listadmin/"; license = licenses.publicDomain; diff --git a/pkgs/by-name/li/listen1/package.nix b/pkgs/by-name/li/listen1/package.nix index 97470e33c77f2..f159d5d425140 100644 --- a/pkgs/by-name/li/listen1/package.nix +++ b/pkgs/by-name/li/listen1/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "listen1"; diff --git a/pkgs/by-name/li/lite/package.nix b/pkgs/by-name/li/lite/package.nix index a58fb9756661d..fd19d3bd1f83e 100644 --- a/pkgs/by-name/li/lite/package.nix +++ b/pkgs/by-name/li/lite/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, SDL2 -, lua52Packages -, pkg-config -, makeWrapper -, openlibm -} : +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + lua52Packages, + pkg-config, + makeWrapper, + openlibm, +}: stdenv.mkDerivation rec { pname = "lite"; @@ -18,9 +20,16 @@ stdenv.mkDerivation rec { sha256 = "0wxqfb4ly8g7w5qph76xys95b55ackkags8jgd1nasmiyi8gcd5a"; }; - nativeBuildInputs = [ makeWrapper pkg-config ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; - buildInputs = [ SDL2 lua52Packages.lua openlibm ]; + buildInputs = [ + SDL2 + lua52Packages.lua + openlibm + ]; postPatch = '' # use system Lua 5.2 diff --git a/pkgs/by-name/li/litebrowser/package.nix b/pkgs/by-name/li/litebrowser/package.nix index b46bde36cb961..1dcaf8b4c436e 100644 --- a/pkgs/by-name/li/litebrowser/package.nix +++ b/pkgs/by-name/li/litebrowser/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, gtk3 -, gtkmm3 -, curl -, poco -, gumbo # litehtml dependency +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + gtk3, + gtkmm3, + curl, + poco, + gumbo, # litehtml dependency }: stdenv.mkDerivation { @@ -46,7 +47,7 @@ stdenv.mkDerivation { ''; meta = with lib; { - broken = stdenv.cc.isClang; # https://github.com/litehtml/litebrowser-linux/issues/19 + broken = stdenv.cc.isClang; # https://github.com/litehtml/litebrowser-linux/issues/19 description = "Simple browser based on the litehtml engine"; mainProgram = "litebrowser"; homepage = "https://github.com/litehtml/litebrowser-linux"; diff --git a/pkgs/by-name/li/litefs/package.nix b/pkgs/by-name/li/litefs/package.nix index e3dbdd780cd87..5277cda5c178f 100644 --- a/pkgs/by-name/li/litefs/package.nix +++ b/pkgs/by-name/li/litefs/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/li/litehtml/package.nix b/pkgs/by-name/li/litehtml/package.nix index b7626733210de..f5029dc9b27f5 100644 --- a/pkgs/by-name/li/litehtml/package.nix +++ b/pkgs/by-name/li/litehtml/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gumbo +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gumbo, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/li/litemdview/package.nix b/pkgs/by-name/li/litemdview/package.nix index e07c22165277d..a5dfff322b109 100644 --- a/pkgs/by-name/li/litemdview/package.nix +++ b/pkgs/by-name/li/litemdview/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitea -, gtkmm3 -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + fetchFromGitea, + gtkmm3, + autoreconfHook, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/litestream/package.nix b/pkgs/by-name/li/litestream/package.nix index b09b0168b0aa3..fdb205a271ed8 100644 --- a/pkgs/by-name/li/litestream/package.nix +++ b/pkgs/by-name/li/litestream/package.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, nixosTests +{ + buildGoModule, + fetchFromGitHub, + lib, + nixosTests, }: buildGoModule rec { pname = "litestream"; diff --git a/pkgs/by-name/li/litmus/package.nix b/pkgs/by-name/li/litmus/package.nix index 11068ea39fb7c..2741576e5a0cf 100644 --- a/pkgs/by-name/li/litmus/package.nix +++ b/pkgs/by-name/li/litmus/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, expat -, libproxy -, neon -, zlib +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + expat, + libproxy, + neon, + zlib, }: stdenv.mkDerivation rec { @@ -41,7 +42,10 @@ stdenv.mkDerivation rec { zlib ]; - autoreconfFlags = [ "-I" "neon/macros" ]; + autoreconfFlags = [ + "-I" + "neon/macros" + ]; meta = with lib; { description = "WebDAV server protocol compliance test suite"; @@ -52,4 +56,3 @@ stdenv.mkDerivation rec { mainProgram = "litmus"; }; } - diff --git a/pkgs/by-name/li/litmusctl/package.nix b/pkgs/by-name/li/litmusctl/package.nix index f7922663206a8..63c4151c12df5 100644 --- a/pkgs/by-name/li/litmusctl/package.nix +++ b/pkgs/by-name/li/litmusctl/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, kubectl -, lib +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + kubectl, + lib, }: buildGoModule rec { @@ -38,6 +39,9 @@ buildGoModule rec { homepage = "https://github.com/litmuschaos/litmusctl"; license = lib.licenses.asl20; mainProgram = "litmusctl"; - maintainers = with lib.maintainers; [ vinetos sailord ]; + maintainers = with lib.maintainers; [ + vinetos + sailord + ]; }; } diff --git a/pkgs/by-name/li/litterbox/package.nix b/pkgs/by-name/li/litterbox/package.nix index dcf6a3d0d1253..f5210ef13d300 100644 --- a/pkgs/by-name/li/litterbox/package.nix +++ b/pkgs/by-name/li/litterbox/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, libressl, fetchzip, pkg-config, sqlite }: +{ + lib, + stdenv, + libressl, + fetchzip, + pkg-config, + sqlite, +}: stdenv.mkDerivation rec { pname = "litterbox"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-w4qW7J5CKm+hXHsNNbl9roBslHD14JOe0Nj5WntETqM="; }; - buildInputs = [ libressl sqlite ]; + buildInputs = [ + libressl + sqlite + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/li/little_boxes/package.nix b/pkgs/by-name/li/little_boxes/package.nix index ebc2da2e404ec..7d9178af1469e 100644 --- a/pkgs/by-name/li/little_boxes/package.nix +++ b/pkgs/by-name/li/little_boxes/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, testers -, little_boxes +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + testers, + little_boxes, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/li/littlefs-fuse/package.nix b/pkgs/by-name/li/littlefs-fuse/package.nix index f9a7693084917..c54c103052bb4 100644 --- a/pkgs/by-name/li/littlefs-fuse/package.nix +++ b/pkgs/by-name/li/littlefs-fuse/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fuse }: +{ + lib, + stdenv, + fetchFromGitHub, + fuse, +}: stdenv.mkDerivation rec { pname = "littlefs-fuse"; diff --git a/pkgs/by-name/li/live555/package.nix b/pkgs/by-name/li/live555/package.nix index c558e806db9d3..2b24804cb33a2 100644 --- a/pkgs/by-name/li/live555/package.nix +++ b/pkgs/by-name/li/live555/package.nix @@ -57,36 +57,45 @@ stdenv.mkDerivation (finalAttrs: { # required for whitespaces in makeFlags __structuredAttrs = true; - postPatch = '' - substituteInPlace config.macosx-catalina \ - --replace '/usr/lib/libssl.46.dylib' "${lib.getLib openssl}/lib/libssl.dylib" \ - --replace '/usr/lib/libcrypto.44.dylib' "${lib.getLib openssl}/lib/libcrypto.dylib" - sed -i -e 's|/bin/rm|rm|g' genMakefiles - sed -i \ - -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \ - config.linux - '' - # condition from icu/base.nix - + lib.optionalString (lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" ]) '' - substituteInPlace liveMedia/include/Locale.hh \ - --replace '' '' - ''; - - configurePhase = let - platform = - if stdenv.hostPlatform.isLinux then - "linux" - else if stdenv.hostPlatform.isDarwin then - "macosx-catalina" - else - throw "Unsupported platform: ${stdenv.hostPlatform.system}"; - in '' - runHook preConfigure - - ./genMakefiles ${platform} - - runHook postConfigure - ''; + postPatch = + '' + substituteInPlace config.macosx-catalina \ + --replace '/usr/lib/libssl.46.dylib' "${lib.getLib openssl}/lib/libssl.dylib" \ + --replace '/usr/lib/libcrypto.44.dylib' "${lib.getLib openssl}/lib/libcrypto.dylib" + sed -i -e 's|/bin/rm|rm|g' genMakefiles + sed -i \ + -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \ + config.linux + '' + # condition from icu/base.nix + + + lib.optionalString + (lib.elem stdenv.hostPlatform.libc [ + "glibc" + "musl" + ]) + '' + substituteInPlace liveMedia/include/Locale.hh \ + --replace '' '' + ''; + + configurePhase = + let + platform = + if stdenv.hostPlatform.isLinux then + "linux" + else if stdenv.hostPlatform.isDarwin then + "macosx-catalina" + else + throw "Unsupported platform: ${stdenv.hostPlatform.system}"; + in + '' + runHook preConfigure + + ./genMakefiles ${platform} + + runHook postConfigure + ''; passthru.tests = { # Downstream dependency diff --git a/pkgs/by-name/li/livecaptions/package.nix b/pkgs/by-name/li/livecaptions/package.nix index 1dc03b3e5d85f..f78390a8489d7 100644 --- a/pkgs/by-name/li/livecaptions/package.nix +++ b/pkgs/by-name/li/livecaptions/package.nix @@ -14,7 +14,8 @@ libadwaita, libpulseaudio, xorg, -}: let +}: +let aprilAsr = fetchFromGitHub { name = "april-asr"; owner = "abb128"; @@ -23,57 +24,57 @@ hash = "sha256-/cOZ2EcZu/Br9v0ComxnOegcEtlC9e8FYt3XHfah7mE="; }; in - stdenv.mkDerivation (finalAttrs: { - pname = "livecaptions"; - version = "0.4.2"; +stdenv.mkDerivation (finalAttrs: { + pname = "livecaptions"; + version = "0.4.2"; - src = fetchFromGitHub { - owner = "abb128"; - repo = "LiveCaptions"; - rev = "v${finalAttrs.version}"; - hash = "sha256-bLWJQgZopuQ0t2pexazUTj1+C2weRMrL3PUhIHZ0W5M="; - }; + src = fetchFromGitHub { + owner = "abb128"; + repo = "LiveCaptions"; + rev = "v${finalAttrs.version}"; + hash = "sha256-bLWJQgZopuQ0t2pexazUTj1+C2weRMrL3PUhIHZ0W5M="; + }; - model = fetchurl { - name = "april-english-dev-01110_en.april"; - url = "https://april.sapples.net/april-english-dev-01110_en.april"; - hash = "sha256-d+uV0PpPdwijfoaMImUwHubELcsl5jymPuo9nLrbwfM="; - }; + model = fetchurl { + name = "april-english-dev-01110_en.april"; + url = "https://april.sapples.net/april-english-dev-01110_en.april"; + hash = "sha256-d+uV0PpPdwijfoaMImUwHubELcsl5jymPuo9nLrbwfM="; + }; - nativeBuildInputs = [ - meson - ninja - pkg-config - cmake - appstream-glib # appstreamcli - desktop-file-utils # update-desktop-database - wrapGAppsHook4 - ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + cmake + appstream-glib # appstreamcli + desktop-file-utils # update-desktop-database + wrapGAppsHook4 + ]; - buildInputs = [ - onnxruntime - libadwaita - libpulseaudio - xorg.libX11 - ]; + buildInputs = [ + onnxruntime + libadwaita + libpulseaudio + xorg.libX11 + ]; - postUnpack = '' - rm -r source/subprojects/april-asr - ln -s ${aprilAsr} source/subprojects/april-asr - ''; + postUnpack = '' + rm -r source/subprojects/april-asr + ln -s ${aprilAsr} source/subprojects/april-asr + ''; - preFixup = '' - gappsWrapperArgs+=( - --set APRIL_MODEL_PATH ${finalAttrs.model} - ) - ''; + preFixup = '' + gappsWrapperArgs+=( + --set APRIL_MODEL_PATH ${finalAttrs.model} + ) + ''; - meta = with lib; { - description = "Linux Desktop application that provides live captioning"; - homepage = "https://github.com/abb128/LiveCaptions"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [Scrumplex]; - mainProgram = "livecaptions"; - }; - }) + meta = with lib; { + description = "Linux Desktop application that provides live captioning"; + homepage = "https://github.com/abb128/LiveCaptions"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ Scrumplex ]; + mainProgram = "livecaptions"; + }; +}) diff --git a/pkgs/by-name/li/livedl/package.nix b/pkgs/by-name/li/livedl/package.nix index 9a3b4c3fd1f68..1034cad36ede2 100644 --- a/pkgs/by-name/li/livedl/package.nix +++ b/pkgs/by-name/li/livedl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, +}: buildGoModule rec { pname = "livedl"; diff --git a/pkgs/by-name/li/livekit-cli/package.nix b/pkgs/by-name/li/livekit-cli/package.nix index 777d71a987d20..ea9716c6fd705 100644 --- a/pkgs/by-name/li/livekit-cli/package.nix +++ b/pkgs/by-name/li/livekit-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/li/livekit/package.nix b/pkgs/by-name/li/livekit/package.nix index a477069c6e340..3bfc888390a5e 100644 --- a/pkgs/by-name/li/livekit/package.nix +++ b/pkgs/by-name/li/livekit/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/li/livi/package.nix b/pkgs/by-name/li/livi/package.nix index daa6084989a44..8abe03548baa6 100644 --- a/pkgs/by-name/li/livi/package.nix +++ b/pkgs/by-name/li/livi/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gst_all_1 -, wrapGAppsHook4 -, appstream-glib -, gtk4 -, libadwaita -, desktop-file-utils -, libGL +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gst_all_1, + wrapGAppsHook4, + appstream-glib, + gtk4, + libadwaita, + desktop-file-utils, + libGL, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/li/lizardfs/package.nix b/pkgs/by-name/li/lizardfs/package.nix index 2765da37189fb..533ad1d0eb503 100644 --- a/pkgs/by-name/li/lizardfs/package.nix +++ b/pkgs/by-name/li/lizardfs/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, makeWrapper -, python3 -, db -, fuse -, asciidoc -, libxml2 -, libxslt -, docbook_xml_dtd_412 -, docbook_xsl -, boost -, pkg-config -, judy -, pam -, spdlog -, systemdMinimal -, zlib # optional +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + python3, + db, + fuse, + asciidoc, + libxml2, + libxslt, + docbook_xml_dtd_412, + docbook_xsl, + boost, + pkg-config, + judy, + pam, + spdlog, + systemdMinimal, + zlib, # optional }: stdenv.mkDerivation rec { @@ -31,11 +32,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-rgaFhJvmA1RVDL4+vQLMC0GrdlgUlvJeZ5/JJ67C20Q="; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; buildInputs = [ - db fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl - zlib boost judy pam spdlog python3 systemdMinimal + db + fuse + asciidoc + libxml2 + libxslt + docbook_xml_dtd_412 + docbook_xsl + zlib + boost + judy + pam + spdlog + python3 + systemdMinimal ]; meta = with lib; { @@ -43,7 +60,10 @@ stdenv.mkDerivation rec { description = "Highly reliable, scalable and efficient distributed file system"; platforms = platforms.linux; license = licenses.gpl3; - maintainers = with maintainers; [ rushmorem shamilton ]; + maintainers = with maintainers; [ + rushmorem + shamilton + ]; # 'fprintf' was not declared in this scope broken = true; }; diff --git a/pkgs/by-name/lk/lk-jwt-service/package.nix b/pkgs/by-name/lk/lk-jwt-service/package.nix index 42e4441c6a117..78ea0a5d9af43 100644 --- a/pkgs/by-name/lk/lk-jwt-service/package.nix +++ b/pkgs/by-name/lk/lk-jwt-service/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/lk/lklug-sinhala/package.nix b/pkgs/by-name/lk/lklug-sinhala/package.nix index 817dbbb25312a..de313a2ca7564 100644 --- a/pkgs/by-name/lk/lklug-sinhala/package.nix +++ b/pkgs/by-name/lk/lklug-sinhala/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "lklug-sinhala"; diff --git a/pkgs/by-name/lk/lkproof/package.nix b/pkgs/by-name/lk/lkproof/package.nix index 6b866b43d1b96..88b70bb29d6b5 100644 --- a/pkgs/by-name/lk/lkproof/package.nix +++ b/pkgs/by-name/lk/lkproof/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { pname = "lkproof"; diff --git a/pkgs/by-name/lk/lksctp-tools/package.nix b/pkgs/by-name/lk/lksctp-tools/package.nix index de370c5b5c85e..8958dff70378e 100644 --- a/pkgs/by-name/lk/lksctp-tools/package.nix +++ b/pkgs/by-name/lk/lksctp-tools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "lksctp-tools"; @@ -18,7 +23,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Linux Kernel Stream Control Transmission Protocol Tools"; homepage = "https://github.com/sctp/lksctp-tools/wiki"; - license = with licenses; [ gpl2Plus lgpl21 ]; # library is lgpl21 + license = with licenses; [ + gpl2Plus + lgpl21 + ]; # library is lgpl21 platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index 77c10a84637f4..4b775e8a0f2ac 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -1,33 +1,40 @@ -{ lib -, autoAddDriverRunpath -, cmake -, darwin -, fetchFromGitHub -, nix-update-script -, stdenv - -, config -, cudaSupport ? config.cudaSupport -, cudaPackages ? { } - -, rocmSupport ? config.rocmSupport -, rocmPackages ? { } - -, openclSupport ? false -, clblast - -, blasSupport ? builtins.all (x: !x) [ cudaSupport metalSupport openclSupport rocmSupport vulkanSupport ] -, blas - -, pkg-config -, metalSupport ? stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && !openclSupport -, vulkanSupport ? false -, rpcSupport ? false -, shaderc -, vulkan-headers -, vulkan-loader -, ninja -, git +{ + lib, + autoAddDriverRunpath, + cmake, + darwin, + fetchFromGitHub, + nix-update-script, + stdenv, + + config, + cudaSupport ? config.cudaSupport, + cudaPackages ? { }, + + rocmSupport ? config.rocmSupport, + rocmPackages ? { }, + + openclSupport ? false, + clblast, + + blasSupport ? builtins.all (x: !x) [ + cudaSupport + metalSupport + openclSupport + rocmSupport + vulkanSupport + ], + blas, + + pkg-config, + metalSupport ? stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && !openclSupport, + vulkanSupport ? false, + rpcSupport ? false, + shaderc, + vulkan-headers, + vulkan-loader, + ninja, + git, }: let @@ -35,7 +42,12 @@ let # otherwise we get libstdc++ errors downstream. # cuda imposes an upper bound on the gcc version, e.g. the latest gcc compatible with cudaPackages_11 is gcc11 effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; - inherit (lib) cmakeBool cmakeFeature optionals optionalString; + inherit (lib) + cmakeBool + cmakeFeature + optionals + optionalString + ; darwinBuildInputs = with darwin.apple_sdk.frameworks; @@ -46,7 +58,7 @@ let ] ++ optionals metalSupport [ MetalKit ]; - cudaBuildInputs = with cudaPackages; [ + cudaBuildInputs = with cudaPackages; [ cuda_cccl # # A temporary hack for reducing the closure size, remove once cudaPackages @@ -100,67 +112,81 @@ effectiveStdenv.mkDerivation (finalAttrs: { --replace-fail 'build_commit="unknown"' "build_commit=\"$(cat COMMIT)\"" ''; - nativeBuildInputs = [ cmake ninja pkg-config git ] + nativeBuildInputs = + [ + cmake + ninja + pkg-config + git + ] ++ optionals cudaSupport [ - cudaPackages.cuda_nvcc - autoAddDriverRunpath - ]; + cudaPackages.cuda_nvcc + autoAddDriverRunpath + ]; - buildInputs = optionals effectiveStdenv.hostPlatform.isDarwin darwinBuildInputs + buildInputs = + optionals effectiveStdenv.hostPlatform.isDarwin darwinBuildInputs ++ optionals cudaSupport cudaBuildInputs ++ optionals openclSupport [ clblast ] ++ optionals rocmSupport rocmBuildInputs ++ optionals blasSupport [ blas ] ++ optionals vulkanSupport vulkanBuildInputs; - cmakeFlags = [ - # -march=native is non-deterministic; override with platform-specific flags if needed - (cmakeBool "GGML_NATIVE" false) - (cmakeBool "LLAMA_BUILD_SERVER" true) - (cmakeBool "BUILD_SHARED_LIBS" true) - (cmakeBool "GGML_BLAS" blasSupport) - (cmakeBool "GGML_CLBLAST" openclSupport) - (cmakeBool "GGML_CUDA" cudaSupport) - (cmakeBool "GGML_HIPBLAS" rocmSupport) - (cmakeBool "GGML_METAL" metalSupport) - (cmakeBool "GGML_RPC" rpcSupport) - (cmakeBool "GGML_VULKAN" vulkanSupport) - ] - ++ optionals cudaSupport [ - (cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) - ] - ++ optionals rocmSupport [ - (cmakeFeature "CMAKE_C_COMPILER" "hipcc") - (cmakeFeature "CMAKE_CXX_COMPILER" "hipcc") - - # Build all targets supported by rocBLAS. When updating search for TARGET_LIST_ROCM - # in https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CMakeLists.txt - # and select the line that matches the current nixpkgs version of rocBLAS. - # Should likely use `rocmPackages.clr.gpuTargets`. - "-DAMDGPU_TARGETS=gfx803;gfx900;gfx906:xnack-;gfx908:xnack-;gfx90a:xnack+;gfx90a:xnack-;gfx940;gfx941;gfx942;gfx1010;gfx1012;gfx1030;gfx1100;gfx1101;gfx1102" - ] - ++ optionals metalSupport [ - (cmakeFeature "CMAKE_C_FLAGS" "-D__ARM_FEATURE_DOTPROD=1") - (cmakeBool "LLAMA_METAL_EMBED_LIBRARY" true) - ] ++ optionals rpcSupport [ - # This is done so we can move rpc-server out of bin because llama.cpp doesn't - # install rpc-server in their install target. - "-DCMAKE_SKIP_BUILD_RPATH=ON" - ]; + cmakeFlags = + [ + # -march=native is non-deterministic; override with platform-specific flags if needed + (cmakeBool "GGML_NATIVE" false) + (cmakeBool "LLAMA_BUILD_SERVER" true) + (cmakeBool "BUILD_SHARED_LIBS" true) + (cmakeBool "GGML_BLAS" blasSupport) + (cmakeBool "GGML_CLBLAST" openclSupport) + (cmakeBool "GGML_CUDA" cudaSupport) + (cmakeBool "GGML_HIPBLAS" rocmSupport) + (cmakeBool "GGML_METAL" metalSupport) + (cmakeBool "GGML_RPC" rpcSupport) + (cmakeBool "GGML_VULKAN" vulkanSupport) + ] + ++ optionals cudaSupport [ + (cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) + ] + ++ optionals rocmSupport [ + (cmakeFeature "CMAKE_C_COMPILER" "hipcc") + (cmakeFeature "CMAKE_CXX_COMPILER" "hipcc") + + # Build all targets supported by rocBLAS. When updating search for TARGET_LIST_ROCM + # in https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CMakeLists.txt + # and select the line that matches the current nixpkgs version of rocBLAS. + # Should likely use `rocmPackages.clr.gpuTargets`. + "-DAMDGPU_TARGETS=gfx803;gfx900;gfx906:xnack-;gfx908:xnack-;gfx90a:xnack+;gfx90a:xnack-;gfx940;gfx941;gfx942;gfx1010;gfx1012;gfx1030;gfx1100;gfx1101;gfx1102" + ] + ++ optionals metalSupport [ + (cmakeFeature "CMAKE_C_FLAGS" "-D__ARM_FEATURE_DOTPROD=1") + (cmakeBool "LLAMA_METAL_EMBED_LIBRARY" true) + ] + ++ optionals rpcSupport [ + # This is done so we can move rpc-server out of bin because llama.cpp doesn't + # install rpc-server in their install target. + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ]; # upstream plans on adding targets at the cmakelevel, remove those # additional steps after that - postInstall = '' - # Match previous binary name for this package - ln -sf $out/bin/llama-cli $out/bin/llama + postInstall = + '' + # Match previous binary name for this package + ln -sf $out/bin/llama-cli $out/bin/llama - mkdir -p $out/include - cp $src/include/llama.h $out/include/ - '' + optionalString rpcSupport "cp bin/rpc-server $out/bin/llama-rpc-server"; + mkdir -p $out/include + cp $src/include/llama.h $out/include/ + '' + + optionalString rpcSupport "cp bin/rpc-server $out/bin/llama-rpc-server"; passthru.updateScript = nix-update-script { attrPath = "llama-cpp"; - extraArgs = [ "--version-regex" "b(.*)" ]; + extraArgs = [ + "--version-regex" + "b(.*)" + ]; }; meta = with lib; { @@ -168,7 +194,12 @@ effectiveStdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/ggerganov/llama.cpp/"; license = licenses.mit; mainProgram = "llama"; - maintainers = with maintainers; [ dit7ya elohmeier philiptaron xddxdd ]; + maintainers = with maintainers; [ + dit7ya + elohmeier + philiptaron + xddxdd + ]; platforms = platforms.unix; badPlatforms = optionals (cudaSupport || openclSupport) lib.platforms.darwin; broken = (metalSupport && !effectiveStdenv.hostPlatform.isDarwin); diff --git a/pkgs/by-name/ll/lldap-cli/package.nix b/pkgs/by-name/ll/lldap-cli/package.nix index 6bec2c2426627..737ecded6f8c6 100644 --- a/pkgs/by-name/ll/lldap-cli/package.nix +++ b/pkgs/by-name/ll/lldap-cli/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, bash -, coreutils -, gnugrep -, gnused -, jq -, curl -, makeWrapper +{ + stdenv, + lib, + fetchFromGitHub, + bash, + coreutils, + gnugrep, + gnused, + jq, + curl, + makeWrapper, }: stdenv.mkDerivation { pname = "lldap-cli"; @@ -38,7 +39,16 @@ stdenv.mkDerivation { installPhase = '' install -Dm555 lldap-cli -t $out/bin wrapProgram $out/bin/lldap-cli \ - --prefix PATH : ${lib.makeBinPath [ bash coreutils gnugrep gnused jq curl ]} + --prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + gnugrep + gnused + jq + curl + ] + } ''; meta = { diff --git a/pkgs/by-name/ll/llhttp/package.nix b/pkgs/by-name/ll/llhttp/package.nix index dfdd8200b5565..2b2e55df913bb 100644 --- a/pkgs/by-name/ll/llhttp/package.nix +++ b/pkgs/by-name/ll/llhttp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, testers, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + testers, + python3, +}: stdenv.mkDerivation (finalAttrs: { pname = "llhttp"; @@ -11,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cnEp7Ds32bqu3jeUU/rqJOr/VW3KNmJU4pmNNaTpXRs="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/ll/llm-ls/package.nix b/pkgs/by-name/ll/llm-ls/package.nix index c7a0aec58a228..327b3ab49ada0 100644 --- a/pkgs/by-name/ll/llm-ls/package.nix +++ b/pkgs/by-name/ll/llm-ls/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, fetchpatch -, pkg-config -, libiconv -, darwin -, testers -, llm-ls +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + fetchpatch, + pkg-config, + libiconv, + darwin, + testers, + llm-ls, }: let @@ -40,11 +41,13 @@ rustPlatform.buildRustPackage { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libiconv - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libiconv + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; passthru.tests.version = testers.testVersion { package = llm-ls; diff --git a/pkgs/by-name/ll/llpp/package.nix b/pkgs/by-name/ll/llpp/package.nix index ff5d34e8224a1..a377f68551e87 100644 --- a/pkgs/by-name/ll/llpp/package.nix +++ b/pkgs/by-name/ll/llpp/package.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, makeWrapper -, fetchFromGitHub -, ocaml -, pkg-config -, mupdf -, libX11 -, jbig2dec -, openjpeg -, libjpeg -, lcms2 -, harfbuzz -, libGLU -, libGL -, gumbo -, freetype -, zlib -, xclip -, inotify-tools -, procps -, darwin +{ + stdenv, + lib, + makeWrapper, + fetchFromGitHub, + ocaml, + pkg-config, + mupdf, + libX11, + jbig2dec, + openjpeg, + libjpeg, + lcms2, + harfbuzz, + libGLU, + libGL, + gumbo, + freetype, + zlib, + xclip, + inotify-tools, + procps, + darwin, }: assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; @@ -41,10 +42,32 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ makeWrapper ocaml pkg-config ]; - buildInputs = [ mupdf libX11 freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libGLU libGL ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.OpenGL darwin.apple_sdk.frameworks.Cocoa ]; + nativeBuildInputs = [ + makeWrapper + ocaml + pkg-config + ]; + buildInputs = + [ + mupdf + libX11 + freetype + zlib + gumbo + jbig2dec + openjpeg + libjpeg + lcms2 + harfbuzz + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libGL + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.OpenGL + darwin.apple_sdk.frameworks.Cocoa + ]; dontStrip = true; @@ -52,26 +75,31 @@ stdenv.mkDerivation rec { bash ./build.bash build ''; - installPhase = '' - install -d $out/bin - install build/llpp $out/bin - install misc/llpp.inotify $out/bin/llpp.inotify - install -Dm444 misc/llpp.desktop -t $out/share/applications - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/llpp \ - --prefix PATH ":" "${xclip}/bin" + installPhase = + '' + install -d $out/bin + install build/llpp $out/bin + install misc/llpp.inotify $out/bin/llpp.inotify + install -Dm444 misc/llpp.desktop -t $out/share/applications + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/llpp \ + --prefix PATH ":" "${xclip}/bin" - wrapProgram $out/bin/llpp.inotify \ - --prefix PATH ":" "$out/bin" \ - --prefix PATH ":" "${inotify-tools}/bin" \ - --prefix PATH ":" "${procps}/bin" - ''; + wrapProgram $out/bin/llpp.inotify \ + --prefix PATH ":" "$out/bin" \ + --prefix PATH ":" "${inotify-tools}/bin" \ + --prefix PATH ":" "${procps}/bin" + ''; meta = with lib; { homepage = "https://github.com/criticic/llpp"; description = "MuPDF based PDF pager written in OCaml"; platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ pSub ]; - license = [ licenses.publicDomain licenses.bsd3 ]; + license = [ + licenses.publicDomain + licenses.bsd3 + ]; }; } diff --git a/pkgs/by-name/lm/lm_sensors/package.nix b/pkgs/by-name/lm/lm_sensors/package.nix index 9b37b7c7e63e9..59cb314775465 100644 --- a/pkgs/by-name/lm/lm_sensors/package.nix +++ b/pkgs/by-name/lm/lm_sensors/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, bash -, bison -, flex -, which -, perl -, sensord ? false -, rrdtool ? null +{ + lib, + stdenv, + fetchFromGitHub, + bash, + bison, + flex, + which, + perl, + sensord ? false, + rrdtool ? null, }: assert sensord -> rrdtool != null; @@ -31,10 +32,16 @@ stdenv.mkDerivation rec { substituteInPlace prog/sensors/Module.mk --replace 'lib/$(LIBSHBASENAME)' "" ''; - nativeBuildInputs = [ bison flex which ]; + nativeBuildInputs = [ + bison + flex + which + ]; # bash is required for correctly replacing the shebangs in all tools for cross-compilation. - buildInputs = [ bash perl ] - ++ lib.optional sensord rrdtool; + buildInputs = [ + bash + perl + ] ++ lib.optional sensord rrdtool; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -48,18 +55,23 @@ stdenv.mkDerivation rec { # Making regexp to patch-out installing of .so symlinks from Makefile is # complicated, it is easier to remove them post-install. - postInstall = '' - mkdir -p $out/share/doc/${pname} - cp -r configs doc/* $out/share/doc/${pname} - '' + lib.optionalString stdenv.hostPlatform.isStatic '' - rm $out/lib/*.so* - ''; + postInstall = + '' + mkdir -p $out/share/doc/${pname} + cp -r configs doc/* $out/share/doc/${pname} + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + rm $out/lib/*.so* + ''; meta = with lib; { homepage = "https://hwmon.wiki.kernel.org/lm_sensors"; changelog = "https://raw.githubusercontent.com/lm-sensors/lm-sensors/V${dashedVersion}/CHANGES"; description = "Tools for reading hardware sensors"; - license = with licenses; [ lgpl21Plus gpl2Plus ]; + license = with licenses; [ + lgpl21Plus + gpl2Plus + ]; maintainers = with maintainers; [ pmy ]; platforms = platforms.linux; mainProgram = "sensors"; diff --git a/pkgs/by-name/lm/lmdb/package.nix b/pkgs/by-name/lm/lmdb/package.nix index 69100b9dffd62..e7ec894cf95be 100644 --- a/pkgs/by-name/lm/lmdb/package.nix +++ b/pkgs/by-name/lm/lmdb/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, windows }: +{ + lib, + stdenv, + fetchFromGitLab, + windows, +}: stdenv.mkDerivation rec { pname = "lmdb"; @@ -14,7 +19,10 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; - patches = [ ./hardcoded-compiler.patch ./bin-ext.patch ]; + patches = [ + ./hardcoded-compiler.patch + ./bin-ext.patch + ]; patchFlags = [ "-p3" ]; # Don't attempt the .so if static, as it would fail. @@ -22,39 +30,48 @@ stdenv.mkDerivation rec { sed 's/^ILIBS\>.*/ILIBS = liblmdb.a/' -i Makefile ''; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads; - makeFlags = [ - "prefix=$(out)" - "CC=${stdenv.cc.targetPrefix}cc" - "AR=${stdenv.cc.targetPrefix}ar" - ] + makeFlags = + [ + "prefix=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + "AR=${stdenv.cc.targetPrefix}ar" + ] ++ lib.optional stdenv.hostPlatform.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so" - ++ lib.optionals stdenv.hostPlatform.isWindows [ "SOEXT=.dll" "BINEXT=.exe" ]; + ++ lib.optionals stdenv.hostPlatform.isWindows [ + "SOEXT=.dll" + "BINEXT=.exe" + ]; doCheck = true; checkTarget = "test"; - postInstall = '' - moveToOutput bin "$bin" - '' + postInstall = + '' + moveToOutput bin "$bin" + '' # add lmdb.pc (dynamic only) + '' - mkdir -p "$dev/lib/pkgconfig" - cat > "$dev/lib/pkgconfig/lmdb.pc" < "$dev/lib/pkgconfig/lmdb.pc" <> src/man_db.conf.in ''; - configureFlags = [ - "--disable-setuid" - "--disable-cache-owner" - "--localstatedir=/var" - "--with-config-file=${placeholder "out"}/etc/man_db.conf" - "--with-systemdtmpfilesdir=${placeholder "out"}/lib/tmpfiles.d" - "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" - "--with-pager=less" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "ac_cv_func__set_invalid_parameter_handler=no" - "ac_cv_func_posix_fadvise=no" - "ac_cv_func_mempcpy=no" - ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - "--enable-mandirs=" - ]; + configureFlags = + [ + "--disable-setuid" + "--disable-cache-owner" + "--localstatedir=/var" + "--with-config-file=${placeholder "out"}/etc/man_db.conf" + "--with-systemdtmpfilesdir=${placeholder "out"}/lib/tmpfiles.d" + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + "--with-pager=less" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "ac_cv_func__set_invalid_parameter_handler=no" + "ac_cv_func_posix_fadvise=no" + "ac_cv_func_mempcpy=no" + ] + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + "--enable-mandirs=" + ]; preConfigure = '' configureFlagsArray+=("--with-sections=1 n l 8 3 0 2 5 4 9 6 7") @@ -76,7 +94,13 @@ stdenv.mkDerivation rec { # make sure that we don't wrap symlinks (since that changes argv[0] to the -wrapped name) find "$out/bin" -type f | while read file; do wrapProgram "$file" \ - --prefix PATH : "${lib.makeBinPath [ groff gzip zstd ]}" + --prefix PATH : "${ + lib.makeBinPath [ + groff + gzip + zstd + ] + }" done ''; @@ -86,7 +110,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = !stdenv.hostPlatform.isMusl /* iconv binary */; + doCheck = + !stdenv.hostPlatform.isMusl # iconv binary + ; passthru.tests = { nixos = nixosTests.man; diff --git a/pkgs/by-name/ma/man-pages-posix/package.nix b/pkgs/by-name/ma/man-pages-posix/package.nix index 1d9ddda377b9a..e2ed0b4be923b 100644 --- a/pkgs/by-name/ma/man-pages-posix/package.nix +++ b/pkgs/by-name/ma/man-pages-posix/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: let year = "2017"; diff --git a/pkgs/by-name/ma/man-pages/package.nix b/pkgs/by-name/ma/man-pages/package.nix index b6b891ac462ae..9154a47594200 100644 --- a/pkgs/by-name/ma/man-pages/package.nix +++ b/pkgs/by-name/ma/man-pages/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "man-pages"; diff --git a/pkgs/by-name/ma/mandoc/package.nix b/pkgs/by-name/ma/mandoc/package.nix index b61ea7f3e9f57..d084f5084eafd 100644 --- a/pkgs/by-name/ma/mandoc/package.nix +++ b/pkgs/by-name/ma/mandoc/package.nix @@ -1,13 +1,17 @@ -{ lib, stdenv, fetchurl, zlib, perl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + zlib, + perl, + nixosTests, +}: let # Name of an UTF-8 locale _always_ present at runtime, used for UTF-8 support # (locale set by the user may differ). This would usually be C.UTF-8, but # darwin has no such locale. - utf8Locale = - if stdenv.hostPlatform.isDarwin - then "en_US.UTF-8" - else "C.UTF-8"; + utf8Locale = if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8"; in stdenv.mkDerivation rec { @@ -76,7 +80,10 @@ stdenv.mkDerivation rec { downloadPage = "http://mandoc.bsd.lv/snapshots/"; license = licenses.bsd3; platforms = platforms.all; - maintainers = with maintainers; [ ramkromberg sternenseemann ]; + maintainers = with maintainers; [ + ramkromberg + sternenseemann + ]; mainProgram = "man"; }; } diff --git a/pkgs/by-name/ma/mandown/package.nix b/pkgs/by-name/ma/mandown/package.nix index 65a7cdb196598..a007ef0dd74d4 100644 --- a/pkgs/by-name/ma/mandown/package.nix +++ b/pkgs/by-name/ma/mandown/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "mandown"; @@ -14,7 +18,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Markdown to groff (man page) converter"; homepage = "https://gitlab.com/kornelski/mandown"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = [ ]; mainProgram = "mandown"; }; diff --git a/pkgs/by-name/ma/manga-cli/package.nix b/pkgs/by-name/ma/manga-cli/package.nix index 65d45cf60e3c0..9319628ae253f 100644 --- a/pkgs/by-name/ma/manga-cli/package.nix +++ b/pkgs/by-name/ma/manga-cli/package.nix @@ -1,9 +1,10 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, makeWrapper -, img2pdf -, zathura +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeWrapper, + img2pdf, + zathura, }: stdenvNoCC.mkDerivation { @@ -25,7 +26,12 @@ stdenvNoCC.mkDerivation { install -Dm755 manga-cli $out/bin/manga-cli wrapProgram $out/bin/manga-cli \ - --prefix PATH : ${lib.makeBinPath [ img2pdf zathura ]} + --prefix PATH : ${ + lib.makeBinPath [ + img2pdf + zathura + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ma/mani/package.nix b/pkgs/by-name/ma/mani/package.nix index add490154d66c..44be4bc8c34f6 100644 --- a/pkgs/by-name/ma/mani/package.nix +++ b/pkgs/by-name/ma/mani/package.nix @@ -1,4 +1,11 @@ -{ buildGoModule, fetchFromGitHub, lib, installShellFiles, git, makeWrapper}: +{ + buildGoModule, + fetchFromGitHub, + lib, + installShellFiles, + git, + makeWrapper, +}: buildGoModule rec { pname = "mani"; @@ -13,9 +20,16 @@ buildGoModule rec { vendorHash = "sha256-mFan09oJ+BPVJHAxoROj282WJ+4e7TD0ZqeQH1kDabQ="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; - ldflags = [ "-s" "-w" "-X github.com/alajmo/mani/cmd.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/alajmo/mani/cmd.version=${version}" + ]; postInstall = '' installShellCompletion --cmd mani \ diff --git a/pkgs/by-name/ma/manifest-tool/package.nix b/pkgs/by-name/ma/manifest-tool/package.nix index 134caea5ba464..103f80aacbd5d 100644 --- a/pkgs/by-name/ma/manifest-tool/package.nix +++ b/pkgs/by-name/ma/manifest-tool/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, git -, stdenv -, testers -, manifest-tool +{ + lib, + buildGoModule, + fetchFromGitHub, + git, + stdenv, + testers, + manifest-tool, }: buildGoModule rec { @@ -28,15 +29,17 @@ buildGoModule rec { nativeBuildInputs = [ git ]; - ldflags = [ - "-s" - "-w" - "-X main.version=${version}" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "-linkmode=external" - "-extldflags" - "-static" - ]; + ldflags = + [ + "-s" + "-w" + "-X main.version=${version}" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "-linkmode=external" + "-extldflags" + "-static" + ]; preConfigure = '' export ldflags+=" -X main.gitCommit=$(cat .git-revision)" diff --git a/pkgs/by-name/ma/manix/package.nix b/pkgs/by-name/ma/manix/package.nix index bdf05833c73df..c3ea02a3e5b29 100644 --- a/pkgs/by-name/ma/manix/package.nix +++ b/pkgs/by-name/ma/manix/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Fast CLI documentation searcher for Nix"; homepage = "https://github.com/nix-community/manix"; license = licenses.mpl20; - maintainers = with maintainers; [ iogamaster lecoqjacob ]; + maintainers = with maintainers; [ + iogamaster + lecoqjacob + ]; mainProgram = "manix"; }; } diff --git a/pkgs/by-name/ma/manrope/package.nix b/pkgs/by-name/ma/manrope/package.nix index 1bde4e869214a..5835078e16143 100644 --- a/pkgs/by-name/ma/manrope/package.nix +++ b/pkgs/by-name/ma/manrope/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "manrope"; diff --git a/pkgs/by-name/ma/manticore/package.nix b/pkgs/by-name/ma/manticore/package.nix index d344ff4b726ee..883acec4526a5 100644 --- a/pkgs/by-name/ma/manticore/package.nix +++ b/pkgs/by-name/ma/manticore/package.nix @@ -1,8 +1,15 @@ -{ stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }: +{ + stdenv, + fetchFromGitHub, + coreutils, + autoreconfHook, + smlnj, +}: let rev = "7376cb20ba5285a6b076a73c821e4743809c1d9d"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "manticore"; version = "2019.12.03"; @@ -17,9 +24,15 @@ in stdenv.mkDerivation { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ coreutils smlnj ]; + buildInputs = [ + coreutils + smlnj + ]; - autoreconfFlags = [ "-Iconfig" "-vfi" ]; + autoreconfFlags = [ + "-Iconfig" + "-vfi" + ]; unpackPhase = '' mkdir -p $out diff --git a/pkgs/by-name/ma/mantra/package.nix b/pkgs/by-name/ma/mantra/package.nix index 5a6b0074b46b1..b48a36bd1b074 100644 --- a/pkgs/by-name/ma/mantra/package.nix +++ b/pkgs/by-name/ma/mantra/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ma/map-cmd/package.nix b/pkgs/by-name/ma/map-cmd/package.nix index bd70971e0b1ec..e11af51aa70f7 100644 --- a/pkgs/by-name/ma/map-cmd/package.nix +++ b/pkgs/by-name/ma/map-cmd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "map"; diff --git a/pkgs/by-name/ma/mapcidr/package.nix b/pkgs/by-name/ma/mapcidr/package.nix index 3c955c2d336b2..18378cf233d3b 100644 --- a/pkgs/by-name/ma/mapcidr/package.nix +++ b/pkgs/by-name/ma/mapcidr/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ma/mapscii/package.nix b/pkgs/by-name/ma/mapscii/package.nix index 088e5bd4b5671..1fb76d1b3f1c8 100644 --- a/pkgs/by-name/ma/mapscii/package.nix +++ b/pkgs/by-name/ma/mapscii/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage +{ + lib, + fetchFromGitHub, + buildNpmPackage, }: buildNpmPackage rec { pname = "mapscii"; diff --git a/pkgs/by-name/ma/mar1d/package.nix b/pkgs/by-name/ma/mar1d/package.nix index 60e4d5ad35527..5494432ac91a8 100644 --- a/pkgs/by-name/ma/mar1d/package.nix +++ b/pkgs/by-name/ma/mar1d/package.nix @@ -12,7 +12,7 @@ fetchpatch, }: -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "MAR1D"; version = "unstable-2023-02-02"; diff --git a/pkgs/by-name/ma/marathi-cursive/package.nix b/pkgs/by-name/ma/marathi-cursive/package.nix index 4da56b2251c5a..8ab61de1f1d4f 100644 --- a/pkgs/by-name/ma/marathi-cursive/package.nix +++ b/pkgs/by-name/ma/marathi-cursive/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "marathi-cursive"; diff --git a/pkgs/by-name/ma/marathonctl/package.nix b/pkgs/by-name/ma/marathonctl/package.nix index 85576b4f66402..3a1f344e53af8 100644 --- a/pkgs/by-name/ma/marathonctl/package.nix +++ b/pkgs/by-name/ma/marathonctl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "marathonctl"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-Oiol4KuPOyJq2Bfc5div+enX4kQqYn20itmwWBecuIg="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/shoenig/marathonctl"; diff --git a/pkgs/by-name/ma/marble-marcher-ce/package.nix b/pkgs/by-name/ma/marble-marcher-ce/package.nix index ee1422abc5b8e..b1f0ffa98fd42 100644 --- a/pkgs/by-name/ma/marble-marcher-ce/package.nix +++ b/pkgs/by-name/ma/marble-marcher-ce/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, fetchFromGitHub -, sfml -, anttweakbar -, glm -, eigen -, glew -, cmake +{ + lib, + stdenv, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + fetchFromGitHub, + sfml, + anttweakbar, + glm, + eigen, + glew, + cmake, }: stdenv.mkDerivation rec { pname = "marble-marcher-ce"; @@ -22,8 +23,18 @@ stdenv.mkDerivation rec { hash = "sha256-m5i/Q4k5S4wcojHqMYS7e1W/Ph7q/95j3oOK2xbrHSk="; }; - buildInputs = [ sfml anttweakbar glm eigen glew ]; - nativeBuildInputs = [ cmake makeWrapper copyDesktopItems ]; + buildInputs = [ + sfml + anttweakbar + glm + eigen + glew + ]; + nativeBuildInputs = [ + cmake + makeWrapper + copyDesktopItems + ]; installFlags = [ "DESTDIR=$(out)" ]; prePatch = '' diff --git a/pkgs/by-name/ma/marcel/package.nix b/pkgs/by-name/ma/marcel/package.nix index 790d38d466b1d..1e3e1391f488c 100644 --- a/pkgs/by-name/ma/marcel/package.nix +++ b/pkgs/by-name/ma/marcel/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, bash +{ + lib, + fetchFromGitHub, + python3Packages, + bash, }: python3Packages.buildPythonApplication rec { @@ -36,7 +37,7 @@ python3Packages.buildPythonApplication rec { wrapProgram $out/bin/marcel \ --prefix PATH : "$program_PATH:${lib.getBin bash}/bin" \ --prefix PYTHONPATH : "$program_PYTHONPATH" - ''; + ''; meta = with lib; { description = "Modern shell"; diff --git a/pkgs/by-name/ma/marge-bot/package.nix b/pkgs/by-name/ma/marge-bot/package.nix index cdfc71bb46e4d..e958ea990bd64 100644 --- a/pkgs/by-name/ma/marge-bot/package.nix +++ b/pkgs/by-name/ma/marge-bot/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitLab +{ + lib, + python3, + fetchFromGitLab, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ma/mari0/package.nix b/pkgs/by-name/ma/mari0/package.nix index f75fbedebd7da..deb7d959bc147 100644 --- a/pkgs/by-name/ma/mari0/package.nix +++ b/pkgs/by-name/ma/mari0/package.nix @@ -1,12 +1,13 @@ -{ lib -, copyDesktopItems -, fetchFromGitHub -, love -, makeDesktopItem -, makeWrapper -, stdenv -, strip-nondeterminism -, zip +{ + lib, + copyDesktopItems, + fetchFromGitHub, + love, + makeDesktopItem, + makeWrapper, + stdenv, + strip-nondeterminism, + zip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ma/mariadb-connector-java/package.nix b/pkgs/by-name/ma/mariadb-connector-java/package.nix index 897d86d9708ec..6c9ab74630946 100644 --- a/pkgs/by-name/ma/mariadb-connector-java/package.nix +++ b/pkgs/by-name/ma/mariadb-connector-java/package.nix @@ -1,7 +1,8 @@ -{ lib -, maven -, fetchFromGitHub -, nix-update-script +{ + lib, + maven, + fetchFromGitHub, + nix-update-script, }: maven.buildMavenPackage rec { diff --git a/pkgs/by-name/ma/marisa/package.nix b/pkgs/by-name/ma/marisa/package.nix index 4a3f8be041724..2ff016940d305 100644 --- a/pkgs/by-name/ma/marisa/package.nix +++ b/pkgs/by-name/ma/marisa/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "marisa"; @@ -16,10 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; meta = with lib; { - homepage = "https://github.com/s-yata/marisa-trie"; + homepage = "https://github.com/s-yata/marisa-trie"; description = "Static and space-efficient trie data structure library"; - license = licenses.bsd3; + license = licenses.bsd3; maintainers = with maintainers; [ sifmelcara ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/ma/mark/package.nix b/pkgs/by-name/ma/mark/package.nix index d274746c65320..bff02f982b629 100644 --- a/pkgs/by-name/ma/mark/package.nix +++ b/pkgs/by-name/ma/mark/package.nix @@ -1,19 +1,27 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mark"; version = "11.3.0"; src = fetchFromGitHub { - owner = "kovetskiy"; - repo = "mark"; - rev = version; + owner = "kovetskiy"; + repo = "mark"; + rev = version; sha256 = "sha256-IppvQPcwix4TGxGW1iOVV60NfK4D53fZuFt5OvLrn/g="; }; vendorHash = "sha256-boXimID1tmZwa29rbTW5bqPz2KTnQAEAIG6d/6BPuWc="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; checkFlags = let @@ -21,7 +29,8 @@ buildGoModule rec { # Expects to be able to launch google-chrome "TestExtractMermaidImage" ]; - in [ + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; diff --git a/pkgs/by-name/ma/markdown-anki-decks/package.nix b/pkgs/by-name/ma/markdown-anki-decks/package.nix index b8fbc37ae81e0..69d53183abcec 100644 --- a/pkgs/by-name/ma/markdown-anki-decks/package.nix +++ b/pkgs/by-name/ma/markdown-anki-decks/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ma/markdownlint-cli/package.nix b/pkgs/by-name/ma/markdownlint-cli/package.nix index 43650e583a020..32eba5e1aa76b 100644 --- a/pkgs/by-name/ma/markdownlint-cli/package.nix +++ b/pkgs/by-name/ma/markdownlint-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ma/marked-man/package.nix b/pkgs/by-name/ma/marked-man/package.nix index 6de1f49c4374a..ffbe51602c5a5 100644 --- a/pkgs/by-name/ma/marked-man/package.nix +++ b/pkgs/by-name/ma/marked-man/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ma/marker/package.nix b/pkgs/by-name/ma/marker/package.nix index aea005d7d9065..2a5165da2b3ba 100644 --- a/pkgs/by-name/ma/marker/package.nix +++ b/pkgs/by-name/ma/marker/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, itstool -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, gtk3 -, gtksourceview -, gtkspell3 -, webkitgtk_4_1 -, pandoc +{ + stdenv, + lib, + fetchFromGitHub, + itstool, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + gtk3, + gtksourceview, + gtkspell3, + webkitgtk_4_1, + pandoc, }: stdenv.mkDerivation rec { @@ -48,7 +49,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://fabiocolacio.github.io/Marker/"; description = "Markdown editor for the Linux desktop made with GTK3"; - maintainers = with maintainers; [ trepetti aleksana ]; + maintainers = with maintainers; [ + trepetti + aleksana + ]; license = licenses.gpl3Plus; platforms = platforms.linux; changelog = "https://github.com/fabiocolacio/Marker/releases/tag/${version}"; diff --git a/pkgs/by-name/ma/markets/package.nix b/pkgs/by-name/ma/markets/package.nix index 5365dea34609b..b06f5fa4fd322 100644 --- a/pkgs/by-name/ma/markets/package.nix +++ b/pkgs/by-name/ma/markets/package.nix @@ -1,7 +1,22 @@ -{ lib, stdenv, fetchFromGitHub -, desktop-file-utils, glib, gtk3, meson, ninja, pkg-config, python3, vala -, wrapGAppsHook3 -, glib-networking, gobject-introspection, json-glib, libgee, libhandy, libsoup_2_4 +{ + lib, + stdenv, + fetchFromGitHub, + desktop-file-utils, + glib, + gtk3, + meson, + ninja, + pkg-config, + python3, + vala, + wrapGAppsHook3, + glib-networking, + gobject-introspection, + json-glib, + libgee, + libhandy, + libsoup_2_4, }: stdenv.mkDerivation rec { @@ -16,11 +31,24 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - desktop-file-utils glib gtk3 meson ninja pkg-config python3 vala - wrapGAppsHook3 gobject-introspection + desktop-file-utils + glib + gtk3 + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook3 + gobject-introspection ]; buildInputs = [ - glib glib-networking gtk3 json-glib libgee libhandy + glib + glib-networking + gtk3 + json-glib + libgee + libhandy libsoup_2_4 ]; diff --git a/pkgs/by-name/ma/markscribe/package.nix b/pkgs/by-name/ma/markscribe/package.nix index c2ee3a596e979..9dac443919f3f 100644 --- a/pkgs/by-name/ma/markscribe/package.nix +++ b/pkgs/by-name/ma/markscribe/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-leeP2+W+bnYASls3k0l4jpz1rc1mAkMWUfrY2uBUUdQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Your personal markdown scribe with template-engine and Git(Hub) & RSS powers"; diff --git a/pkgs/by-name/ma/marl/package.nix b/pkgs/by-name/ma/marl/package.nix index 7ff28a9d5221f..d4e796bc5fe68 100644 --- a/pkgs/by-name/ma/marl/package.nix +++ b/pkgs/by-name/ma/marl/package.nix @@ -1,8 +1,13 @@ -{ lib, stdenv, cmake, fetchFromGitHub }: +{ + lib, + stdenv, + cmake, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "marl"; - version = "1.0.0"; # Based on marl's CHANGES.md + version = "1.0.0"; # Based on marl's CHANGES.md src = fetchFromGitHub { owner = "google"; @@ -14,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; # Turn on the flag to install after building the library. - cmakeFlags = ["-DMARL_INSTALL=ON"]; + cmakeFlags = [ "-DMARL_INSTALL=ON" ]; meta = with lib; { homepage = "https://github.com/google/marl"; diff --git a/pkgs/by-name/ma/marlin-calc/package.nix b/pkgs/by-name/ma/marlin-calc/package.nix index ec8e90631b54b..7ad05f082d0c4 100644 --- a/pkgs/by-name/ma/marlin-calc/package.nix +++ b/pkgs/by-name/ma/marlin-calc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "marlin-calc"; diff --git a/pkgs/by-name/ma/mars-mips/package.nix b/pkgs/by-name/ma/mars-mips/package.nix index d5489e7e2537a..3de083a98317a 100644 --- a/pkgs/by-name/ma/mars-mips/package.nix +++ b/pkgs/by-name/ma/mars-mips/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, makeBinaryWrapper -, copyDesktopItems -, makeDesktopItem -, desktopToDarwinBundle -, unzip -, imagemagick -, jre +{ + lib, + stdenv, + fetchurl, + makeBinaryWrapper, + copyDesktopItems, + makeDesktopItem, + desktopToDarwinBundle, + unzip, + imagemagick, + jre, }: stdenv.mkDerivation (finalAttrs: { @@ -15,20 +16,24 @@ stdenv.mkDerivation (finalAttrs: { version = "4.5"; src = fetchurl { - url = "https://courses.missouristate.edu/KenVollmar/MARS/MARS_${lib.replaceStrings ["."] ["_"] finalAttrs.version}_Aug2014/Mars${lib.replaceStrings ["."] ["_"] finalAttrs.version}.jar"; + url = "https://courses.missouristate.edu/KenVollmar/MARS/MARS_${ + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }_Aug2014/Mars${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}.jar"; hash = "sha256-rDQLZ2uitiJGud935i+BrURHvP0ymrU5cWvNCZULcJY="; }; dontUnpack = true; - nativeBuildInputs = [ - makeBinaryWrapper - copyDesktopItems - unzip - imagemagick - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - desktopToDarwinBundle - ]; + nativeBuildInputs = + [ + makeBinaryWrapper + copyDesktopItems + unzip + imagemagick + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + desktopToDarwinBundle + ]; desktopItems = [ (makeDesktopItem { @@ -37,7 +42,10 @@ stdenv.mkDerivation (finalAttrs: { exec = "Mars"; icon = "mars"; comment = finalAttrs.meta.description; - categories = [ "Development" "IDE" ]; + categories = [ + "Development" + "IDE" + ]; }) ]; diff --git a/pkgs/by-name/ma/mars/package.nix b/pkgs/by-name/ma/mars/package.nix index c63152fb5445d..5742a01851cb7 100644 --- a/pkgs/by-name/ma/mars/package.nix +++ b/pkgs/by-name/ma/mars/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, sfml, fribidi, taglib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libGLU, + libGL, + sfml, + fribidi, + taglib, +}: stdenv.mkDerivation rec { pname = "mars"; version = "unstable-17.10.2021"; @@ -10,7 +20,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-SWLP926SyVTjn+UT1DCaJSo4Ue0RbyzImVnlNJQksS0="; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libGLU libGL sfml fribidi taglib ]; + buildInputs = [ + libGLU + libGL + sfml + fribidi + taglib + ]; installPhase = '' cd .. mkdir -p "$out/share/mars/" diff --git a/pkgs/by-name/ma/marst/package.nix b/pkgs/by-name/ma/marst/package.nix index f62181405b9ed..b1f4fff0dd2aa 100644 --- a/pkgs/by-name/ma/marst/package.nix +++ b/pkgs/by-name/ma/marst/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, texinfo +{ + lib, + stdenv, + fetchurl, + texinfo, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ma/martian-mono/package.nix b/pkgs/by-name/ma/martian-mono/package.nix index 4cfeb61cdac53..c6cf4cfb16984 100644 --- a/pkgs/by-name/ma/martian-mono/package.nix +++ b/pkgs/by-name/ma/martian-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "martian-mono"; diff --git a/pkgs/by-name/ma/marwaita-icons/package.nix b/pkgs/by-name/ma/marwaita-icons/package.nix index 73c40ae4b257f..b8cd39c7150f6 100644 --- a/pkgs/by-name/ma/marwaita-icons/package.nix +++ b/pkgs/by-name/ma/marwaita-icons/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, breeze-icons -, hicolor-icon-theme -, pantheon +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + breeze-icons, + hicolor-icon-theme, + pantheon, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/ma/marwaita-mint/package.nix b/pkgs/by-name/ma/marwaita-mint/package.nix index 91b4f45d82e20..6ef068e211860 100644 --- a/pkgs/by-name/ma/marwaita-mint/package.nix +++ b/pkgs/by-name/ma/marwaita-mint/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ma/marwaita-orange/package.nix b/pkgs/by-name/ma/marwaita-orange/package.nix index e12c9f501076c..80bc17f448c7d 100644 --- a/pkgs/by-name/ma/marwaita-orange/package.nix +++ b/pkgs/by-name/ma/marwaita-orange/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ma/marwaita-red/package.nix b/pkgs/by-name/ma/marwaita-red/package.nix index bb807a534704f..b9a805fd7d1c4 100644 --- a/pkgs/by-name/ma/marwaita-red/package.nix +++ b/pkgs/by-name/ma/marwaita-red/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ma/marwaita-teal/package.nix b/pkgs/by-name/ma/marwaita-teal/package.nix index b9d2b3f15a6b5..d587947db9a8c 100644 --- a/pkgs/by-name/ma/marwaita-teal/package.nix +++ b/pkgs/by-name/ma/marwaita-teal/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ma/marwaita-x/package.nix b/pkgs/by-name/ma/marwaita-x/package.nix index 9c05736e84f66..c150cfba92b36 100644 --- a/pkgs/by-name/ma/marwaita-x/package.nix +++ b/pkgs/by-name/ma/marwaita-x/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nix-update-script -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nix-update-script, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ma/marwaita-yellow/package.nix b/pkgs/by-name/ma/marwaita-yellow/package.nix index b363436c4b4a6..2b13462147537 100644 --- a/pkgs/by-name/ma/marwaita-yellow/package.nix +++ b/pkgs/by-name/ma/marwaita-yellow/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ma/marwaita/package.nix b/pkgs/by-name/ma/marwaita/package.nix index 48abc1573e159..6698fe3a93626 100644 --- a/pkgs/by-name/ma/marwaita/package.nix +++ b/pkgs/by-name/ma/marwaita/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, + gitUpdater, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/ma/mas/package.nix b/pkgs/by-name/ma/mas/package.nix index 968cb10cd5a3b..1926bf2547428 100644 --- a/pkgs/by-name/ma/mas/package.nix +++ b/pkgs/by-name/ma/mas/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchurl -, installShellFiles -, testers -, mas +{ + lib, + stdenvNoCC, + fetchurl, + installShellFiles, + testers, + mas, }: stdenvNoCC.mkDerivation rec { @@ -35,7 +36,13 @@ stdenvNoCC.mkDerivation rec { description = "Mac App Store command line interface"; homepage = "https://github.com/mas-cli/mas"; license = licenses.mit; - maintainers = with maintainers; [ steinybot zachcoyle ]; - platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with maintainers; [ + steinybot + zachcoyle + ]; + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/by-name/ma/mask/package.nix b/pkgs/by-name/ma/mask/package.nix index 78172cb932a9d..11a7008927f87 100644 --- a/pkgs/by-name/ma/mask/package.nix +++ b/pkgs/by-name/ma/mask/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "mask"; diff --git a/pkgs/by-name/ma/masscan/package.nix b/pkgs/by-name/ma/masscan/package.nix index 9606fe0f1156e..c067e1ac54dca 100644 --- a/pkgs/by-name/ma/masscan/package.nix +++ b/pkgs/by-name/ma/masscan/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, installShellFiles -, makeWrapper -, libpcap +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + installShellFiles, + makeWrapper, + libpcap, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "-pm755" "-pDm755" ''; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/by-name/ma/massdns/package.nix b/pkgs/by-name/ma/massdns/package.nix index b47e162861ce5..1f6d19fcaeb20 100644 --- a/pkgs/by-name/ma/massdns/package.nix +++ b/pkgs/by-name/ma/massdns/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, }: stdenv.mkDerivation rec { pname = "massdns"; diff --git a/pkgs/by-name/ma/massren/package.nix b/pkgs/by-name/ma/massren/package.nix index 0c33de89eecd1..0ae0c0c332051 100644 --- a/pkgs/by-name/ma/massren/package.nix +++ b/pkgs/by-name/ma/massren/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "massren"; @@ -21,7 +26,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = let diff --git a/pkgs/by-name/ma/mastodon-archive/package.nix b/pkgs/by-name/ma/mastodon-archive/package.nix index 92498c529ca19..09bfc3c5eebdd 100644 --- a/pkgs/by-name/ma/mastodon-archive/package.nix +++ b/pkgs/by-name/ma/mastodon-archive/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ma/mastotool/package.nix b/pkgs/by-name/ma/mastotool/package.nix index eb5e64573225e..c14432ab819f9 100644 --- a/pkgs/by-name/ma/mastotool/package.nix +++ b/pkgs/by-name/ma/mastotool/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-uQgLwH8Z8rBfyKHMm2JHO+H1gsHK25+c34bOnMcmquA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Collection of command-line tools to work with your Mastodon account"; diff --git a/pkgs/by-name/ma/matcha-gtk-theme/package.nix b/pkgs/by-name/ma/matcha-gtk-theme/package.nix index f7c7960fe86e5..74d5dde06f25c 100644 --- a/pkgs/by-name/ma/matcha-gtk-theme/package.nix +++ b/pkgs/by-name/ma/matcha-gtk-theme/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, jdupes -, librsvg -, gitUpdater -, colorVariants ? [] # default: all -, themeVariants ? [] # default: blue +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + jdupes, + librsvg, + gitUpdater, + colorVariants ? [ ], # default: all + themeVariants ? [ ], # default: blue }: let @@ -15,61 +16,65 @@ let in lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: theme variants" [ "aliz" "azul" "sea" "pueril" "all" ] themeVariants - -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-05-01"; - - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - sha256 = "trQwRZ/JKIS8TcRIg0eL5GmB/yymDwqqNued0ddRuqU="; - }; - - nativeBuildInputs = [ - jdupes - ]; - - buildInputs = [ - gdk-pixbuf - librsvg - ]; - - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; - - postPatch = '' - patchShebangs install.sh - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/themes - - name= ./install.sh \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ - --dest $out/share/themes - - mkdir -p $out/share/doc/${pname} - cp -a src/extra/firefox $out/share/doc/${pname} - - jdupes --quiet --link-soft --recurse $out/share - - runHook postInstall - ''; - - passthru.updateScript = gitUpdater { }; - - meta = with lib; { - description = "Stylish flat Design theme for GTK based desktop environments"; - homepage = "https://vinceliuice.github.io/theme-matcha"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} + lib.checkListOfEnum + "${pname}: theme variants" + [ "aliz" "azul" "sea" "pueril" "all" ] + themeVariants + + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-05-01"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "trQwRZ/JKIS8TcRIg0eL5GmB/yymDwqqNued0ddRuqU="; + }; + + nativeBuildInputs = [ + jdupes + ]; + + buildInputs = [ + gdk-pixbuf + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + + name= ./install.sh \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + --dest $out/share/themes + + mkdir -p $out/share/doc/${pname} + cp -a src/extra/firefox $out/share/doc/${pname} + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + description = "Stylish flat Design theme for GTK based desktop environments"; + homepage = "https://vinceliuice.github.io/theme-matcha"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/ma/matcha-rss-digest/package.nix b/pkgs/by-name/ma/matcha-rss-digest/package.nix index 72e599c3a699a..be5c7f85d6976 100644 --- a/pkgs/by-name/ma/matcha-rss-digest/package.nix +++ b/pkgs/by-name/ma/matcha-rss-digest/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ma/matchbox/package.nix b/pkgs/by-name/ma/matchbox/package.nix index f12ed0ea0a7f5..bfeeeed9a6a7b 100644 --- a/pkgs/by-name/ma/matchbox/package.nix +++ b/pkgs/by-name/ma/matchbox/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libmatchbox, libX11, libXext }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + libmatchbox, + libX11, + libXext, +}: stdenv.mkDerivation rec { pname = "matchbox"; diff --git a/pkgs/by-name/ma/materia-kde-theme/package.nix b/pkgs/by-name/ma/materia-kde-theme/package.nix index 160c0593a07f7..990bc77b0762c 100644 --- a/pkgs/by-name/ma/materia-kde-theme/package.nix +++ b/pkgs/by-name/ma/materia-kde-theme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "materia-kde-theme"; diff --git a/pkgs/by-name/ma/materia-theme/package.nix b/pkgs/by-name/ma/materia-theme/package.nix index a5a574aa7927d..24c0e7a42ebc0 100644 --- a/pkgs/by-name/ma/materia-theme/package.nix +++ b/pkgs/by-name/ma/materia-theme/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, sassc -, gnome-shell -, gnome-themes-extra -, gtk-engine-murrine -, gdk-pixbuf -, librsvg +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + sassc, + gnome-shell, + gnome-themes-extra, + gtk-engine-murrine, + gdk-pixbuf, + librsvg, }: stdenv.mkDerivation rec { @@ -22,9 +23,17 @@ stdenv.mkDerivation rec { sha256 = "1fsicmcni70jkl4jb3fvh7yv0v9jhb8nwjzdq8vfwn256qyk0xvl"; }; - nativeBuildInputs = [ meson ninja sassc ]; + nativeBuildInputs = [ + meson + ninja + sassc + ]; - buildInputs = [ gnome-themes-extra gdk-pixbuf librsvg ]; + buildInputs = [ + gnome-themes-extra + gdk-pixbuf + librsvg + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/ma/material-black-colors/package.nix b/pkgs/by-name/ma/material-black-colors/package.nix index 3fff194ddd996..7f3386f70cd00 100644 --- a/pkgs/by-name/ma/material-black-colors/package.nix +++ b/pkgs/by-name/ma/material-black-colors/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, colorVariants ? [] # default: install all icons +{ + lib, + stdenvNoCC, + fetchFromGitHub, + colorVariants ? [ ], # default: install all icons }: let @@ -36,31 +37,37 @@ let in lib.checkListOfEnum "${pname}: color variants" colorVariantList colorVariants -stdenvNoCC.mkDerivation { - inherit pname; - version = "0-unstable-2020-12-17"; + stdenvNoCC.mkDerivation + { + inherit pname; + version = "0-unstable-2020-12-17"; - src = fetchFromGitHub { - owner = "rtlewis88"; - repo = "rtl88-Themes"; - rev = "3864d851aac7f4e76cf23717aee104de234aef74"; - hash = "sha256-BUJMd6Ltq16/HqqDbB5VDGIRSzLivXxNYZPT9sd6oTI="; - }; + src = fetchFromGitHub { + owner = "rtlewis88"; + repo = "rtl88-Themes"; + rev = "3864d851aac7f4e76cf23717aee104de234aef74"; + hash = "sha256-BUJMd6Ltq16/HqqDbB5VDGIRSzLivXxNYZPT9sd6oTI="; + }; - installPhase = '' - runHook preInstall - mkdir -p $out/share/icons - cp -r ${lib.concatStringsSep " " (if colorVariants != [] then colorVariants else colorVariantList)} $out/share/icons/ - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out/share/icons + cp -r ${ + lib.concatStringsSep " " (if colorVariants != [ ] then colorVariants else colorVariantList) + } $out/share/icons/ + runHook postInstall + ''; - dontFixup = true; + dontFixup = true; - meta = with lib; { - description = "Material Black Colors icons"; - homepage = "https://github.com/rtlewis88/rtl88-Themes/tree/material-black-COLORS"; - maintainers = with maintainers; [ d3vil0p3r ]; - platforms = platforms.all; - license = with licenses; [ gpl3Plus mit ]; - }; -} + meta = with lib; { + description = "Material Black Colors icons"; + homepage = "https://github.com/rtlewis88/rtl88-Themes/tree/material-black-COLORS"; + maintainers = with maintainers; [ d3vil0p3r ]; + platforms = platforms.all; + license = with licenses; [ + gpl3Plus + mit + ]; + }; + } diff --git a/pkgs/by-name/ma/material-cursors/package.nix b/pkgs/by-name/ma/material-cursors/package.nix index d3d7c63672cca..76a4746e2e7fc 100644 --- a/pkgs/by-name/ma/material-cursors/package.nix +++ b/pkgs/by-name/ma/material-cursors/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, inkscape -, xcursorgen +{ + lib, + stdenvNoCC, + fetchFromGitHub, + inkscape, + xcursorgen, }: stdenvNoCC.mkDerivation { - pname = "material-cursors"; + pname = "material-cursors"; version = "unstable-2023-11-30"; src = fetchFromGitHub { diff --git a/pkgs/by-name/ma/material-design-icons/package.nix b/pkgs/by-name/ma/material-design-icons/package.nix index ebd33b88b6509..800a245b36f49 100644 --- a/pkgs/by-name/ma/material-design-icons/package.nix +++ b/pkgs/by-name/ma/material-design-icons/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC -, nix-update-script +{ + lib, + fetchFromGitHub, + stdenvNoCC, + nix-update-script, }: stdenvNoCC.mkDerivation rec { @@ -40,6 +41,9 @@ stdenvNoCC.mkDerivation rec { homepage = "https://materialdesignicons.com"; license = licenses.asl20; platforms = platforms.all; - maintainers = with maintainers; [ vlaci dixslyf ]; + maintainers = with maintainers; [ + vlaci + dixslyf + ]; }; } diff --git a/pkgs/by-name/ma/material-icons/package.nix b/pkgs/by-name/ma/material-icons/package.nix index 993e25ba2cd33..a8dfb57c9cc7e 100644 --- a/pkgs/by-name/ma/material-icons/package.nix +++ b/pkgs/by-name/ma/material-icons/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, nix-update-script }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nix-update-script, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "material-icons"; diff --git a/pkgs/by-name/ma/math-preview/package.nix b/pkgs/by-name/ma/math-preview/package.nix index 6206c67bf1c1c..e1b0214c5c776 100644 --- a/pkgs/by-name/ma/math-preview/package.nix +++ b/pkgs/by-name/ma/math-preview/package.nix @@ -1,8 +1,9 @@ -{ lib -, nix-update-script -, fetchFromGitLab -, buildNpmPackage -, nodejs +{ + lib, + nix-update-script, + fetchFromGitLab, + buildNpmPackage, + nodejs, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ma/mathgl/package.nix b/pkgs/by-name/ma/mathgl/package.nix index c5cddcc46c37c..45095e7f2bf7f 100644 --- a/pkgs/by-name/ma/mathgl/package.nix +++ b/pkgs/by-name/ma/mathgl/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, cmake -, zlib -, libpng -, libGL +{ + lib, + stdenv, + fetchurl, + cmake, + zlib, + libpng, + libGL, }: stdenv.mkDerivation rec { pname = "mathgl"; @@ -28,7 +29,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library for scientific data visualization"; homepage = "https://mathgl.sourceforge.net/"; - license = with licenses; [ gpl3 lgpl3 ]; + license = with licenses; [ + gpl3 + lgpl3 + ]; platforms = platforms.linux; maintainers = [ maintainers.GabrielDougherty ]; }; diff --git a/pkgs/by-name/ma/mathjax-node-cli/package.nix b/pkgs/by-name/ma/mathjax-node-cli/package.nix index d15f6bf67b629..b8c275e8c6903 100644 --- a/pkgs/by-name/ma/mathjax-node-cli/package.nix +++ b/pkgs/by-name/ma/mathjax-node-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, fetchpatch +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchpatch, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ma/mathpix-snipping-tool/package.nix b/pkgs/by-name/ma/mathpix-snipping-tool/package.nix index 0f03913c87a84..ff4205c90d4f5 100644 --- a/pkgs/by-name/ma/mathpix-snipping-tool/package.nix +++ b/pkgs/by-name/ma/mathpix-snipping-tool/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "mathpix-snipping-tool"; version = "03.00.0072"; @@ -9,7 +13,8 @@ let }; appimageContents = appimageTools.extract { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/ma/matlab-language-server/package.nix b/pkgs/by-name/ma/matlab-language-server/package.nix index 732d8ef9acd0f..c657647505734 100644 --- a/pkgs/by-name/ma/matlab-language-server/package.nix +++ b/pkgs/by-name/ma/matlab-language-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, fetchpatch +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchpatch, }: buildNpmPackage { diff --git a/pkgs/by-name/ma/matrix-alertmanager/package.nix b/pkgs/by-name/ma/matrix-alertmanager/package.nix index 9e387d03285be..ff4a27e7a07a4 100644 --- a/pkgs/by-name/ma/matrix-alertmanager/package.nix +++ b/pkgs/by-name/ma/matrix-alertmanager/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, jq +{ + lib, + buildNpmPackage, + fetchFromGitHub, + jq, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ma/matrix-appservice-irc/package.nix b/pkgs/by-name/ma/matrix-appservice-irc/package.nix index 75ef8d6e69d23..ab5b23f813b21 100644 --- a/pkgs/by-name/ma/matrix-appservice-irc/package.nix +++ b/pkgs/by-name/ma/matrix-appservice-irc/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, fixup-yarn-lock -, nodejs -, nodejs-slim -, matrix-sdk-crypto-nodejs -, nixosTests -, nix-update-script -, yarn +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + fixup-yarn-lock, + nodejs, + nodejs-slim, + matrix-sdk-crypto-nodejs, + nixosTests, + nix-update-script, + yarn, }: let @@ -30,7 +31,12 @@ let in stdenv.mkDerivation { - inherit pname version src yarnOfflineCache; + inherit + pname + version + src + yarnOfflineCache + ; strictDeps = true; diff --git a/pkgs/by-name/ma/matrix-brandy/package.nix b/pkgs/by-name/ma/matrix-brandy/package.nix index a51347e908b89..13088cec236f5 100644 --- a/pkgs/by-name/ma/matrix-brandy/package.nix +++ b/pkgs/by-name/ma/matrix-brandy/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL +{ + lib, + stdenv, + fetchFromGitHub, + SDL, }: stdenv.mkDerivation rec { @@ -33,4 +34,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ fiq ]; }; } - diff --git a/pkgs/by-name/ma/matrix-conduit/package.nix b/pkgs/by-name/ma/matrix-conduit/package.nix index 9f0af06125f93..dfb7691434498 100644 --- a/pkgs/by-name/ma/matrix-conduit/package.nix +++ b/pkgs/by-name/ma/matrix-conduit/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, pkg-config -, sqlite -, stdenv -, darwin -, nixosTests -, rocksdb -, rust-jemalloc-sys +{ + lib, + rustPlatform, + fetchFromGitLab, + pkg-config, + sqlite, + stdenv, + darwin, + nixosTests, + rocksdb, + rust-jemalloc-sys, }: rustPlatform.buildRustPackage rec { @@ -41,13 +42,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - sqlite - rust-jemalloc-sys - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + sqlite + rust-jemalloc-sys + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { ROCKSDB_INCLUDE_DIR = "${rocksdb}/include"; @@ -65,7 +68,10 @@ rustPlatform.buildRustPackage rec { description = "Matrix homeserver written in Rust"; homepage = "https://conduit.rs/"; license = licenses.asl20; - maintainers = with maintainers; [ pstn pimeys ]; + maintainers = with maintainers; [ + pstn + pimeys + ]; mainProgram = "conduit"; }; } diff --git a/pkgs/by-name/ma/matrix-corporal/package.nix b/pkgs/by-name/ma/matrix-corporal/package.nix index 8ad2db532e7ee..e15c4657a2fad 100644 --- a/pkgs/by-name/ma/matrix-corporal/package.nix +++ b/pkgs/by-name/ma/matrix-corporal/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "matrix-corporal"; @@ -12,7 +16,13 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" "-X main.GitCommit=${version}" "-X main.GitBranch=${version}" "-X main.GitState=nixpkgs" "-X main.GitSummary=${version}" "-X main.Version=${version}" + "-s" + "-w" + "-X main.GitCommit=${version}" + "-X main.GitBranch=${version}" + "-X main.GitState=nixpkgs" + "-X main.GitSummary=${version}" + "-X main.Version=${version}" ]; vendorHash = "sha256-sC9JA6VRmHGuO3anaZW2Ih5QnRrUom9IIOE7yi3TTG8="; diff --git a/pkgs/by-name/ma/matrix-dl/package.nix b/pkgs/by-name/ma/matrix-dl/package.nix index b16b0bbd7c4ed..83f61c4b92ce5 100644 --- a/pkgs/by-name/ma/matrix-dl/package.nix +++ b/pkgs/by-name/ma/matrix-dl/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ma/matrix-hook/package.nix b/pkgs/by-name/ma/matrix-hook/package.nix index 05e78621ee15d..244ba93eec09e 100644 --- a/pkgs/by-name/ma/matrix-hook/package.nix +++ b/pkgs/by-name/ma/matrix-hook/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "matrix-hook"; @@ -19,6 +23,10 @@ buildGoModule rec { mainProgram = "matrix-hook"; homepage = "https://github.com/pinpox/matrix-hook"; license = licenses.gpl3; - maintainers = with maintainers; [ pinpox mic92 zowoq ]; + maintainers = with maintainers; [ + pinpox + mic92 + zowoq + ]; }; } diff --git a/pkgs/by-name/ma/matrix-hookshot/package.nix b/pkgs/by-name/ma/matrix-hookshot/package.nix index 4b418ff20d1da..0d5e0a9b0a741 100644 --- a/pkgs/by-name/ma/matrix-hookshot/package.nix +++ b/pkgs/by-name/ma/matrix-hookshot/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, matrix-sdk-crypto-nodejs -, mkYarnPackage -, cargo -, rustPlatform -, rustc -, napi-rs-cli -, pkg-config -, nodejs -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + matrix-sdk-crypto-nodejs, + mkYarnPackage, + cargo, + rustPlatform, + rustc, + napi-rs-cli, + pkg-config, + nodejs, + openssl, }: let @@ -42,7 +43,8 @@ mkYarnPackage rec { }; packageResolutions = { - "@matrix-org/matrix-sdk-crypto-nodejs" = "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; + "@matrix-org/matrix-sdk-crypto-nodejs" = + "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; }; extraBuildInputs = [ openssl ]; diff --git a/pkgs/by-name/ma/matrix-media-repo/package.nix b/pkgs/by-name/ma/matrix-media-repo/package.nix index d6302b28967d8..f15eb89e33e85 100644 --- a/pkgs/by-name/ma/matrix-media-repo/package.nix +++ b/pkgs/by-name/ma/matrix-media-repo/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, libde265 -, libheif +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + libde265, + libheif, }: let pname = "matrix-media-repo"; @@ -29,7 +30,12 @@ let in buildGoModule { - inherit pname version src vendorHash; + inherit + pname + version + src + vendorHash + ; nativeBuildInputs = [ pkg-config @@ -48,7 +54,8 @@ buildGoModule { ldflags = [ "-s" "-w" - "-X" "github.com/t2bot/matrix-media-repo/common/version.Version=${version}" + "-X" + "github.com/t2bot/matrix-media-repo/common/version.Version=${version}" ]; doCheck = false; # requires docker diff --git a/pkgs/by-name/ma/matterircd/package.nix b/pkgs/by-name/ma/matterircd/package.nix index 11fc0080a9e0b..6864188869922 100644 --- a/pkgs/by-name/ma/matterircd/package.nix +++ b/pkgs/by-name/ma/matterircd/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "matterircd"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Minimal IRC server bridge to Mattermost"; diff --git a/pkgs/by-name/ma/mattermost-desktop/package.nix b/pkgs/by-name/ma/mattermost-desktop/package.nix index 68ce8cfaebd70..b6f4085a688fb 100644 --- a/pkgs/by-name/ma/mattermost-desktop/package.nix +++ b/pkgs/by-name/ma/mattermost-desktop/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, electron -, makeWrapper +{ + lib, + stdenv, + fetchurl, + electron, + makeWrapper, }: let @@ -66,7 +67,10 @@ stdenv.mkDerivation { homepage = "https://about.mattermost.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.asl20; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; maintainers = [ maintainers.joko ]; }; } diff --git a/pkgs/by-name/ma/mattermost/package.nix b/pkgs/by-name/ma/mattermost/package.nix index 910d26dd9ef65..3d2ac231022fe 100644 --- a/pkgs/by-name/ma/mattermost/package.nix +++ b/pkgs/by-name/ma/mattermost/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, fetchurl -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + fetchurl, + nixosTests, }: buildGoModule rec { @@ -25,12 +26,14 @@ buildGoModule rec { # We use go 1.22's workspace vendor command, which is not yet available # in the default version of go used in nixpkgs, nor is it used by upstream: # https://github.com/mattermost/mattermost/issues/26221#issuecomment-1945351597 - overrideModAttrs = (_: { - buildPhase = '' - make setup-go-work - go work vendor -e - ''; - }); + overrideModAttrs = ( + _: { + buildPhase = '' + make setup-go-work + go work vendor -e + ''; + } + ); webapp = fetchurl { url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz"; @@ -73,7 +76,10 @@ buildGoModule rec { passthru = { updateScript = nix-update-script { - extraArgs = [ "--version-regex" "^v(9\.11\.[0-9]+)$" ]; + extraArgs = [ + "--version-regex" + "^v(9\.11\.[0-9]+)$" + ]; }; tests.mattermost = nixosTests.mattermost; }; @@ -81,8 +87,16 @@ buildGoModule rec { meta = with lib; { description = "Mattermost is an open source platform for secure collaboration across the entire software development lifecycle"; homepage = "https://www.mattermost.org"; - license = with licenses; [ agpl3Only asl20 ]; - maintainers = with maintainers; [ ryantm numinit kranzes mgdelacroix ]; + license = with licenses; [ + agpl3Only + asl20 + ]; + maintainers = with maintainers; [ + ryantm + numinit + kranzes + mgdelacroix + ]; mainProgram = "mattermost"; }; } diff --git a/pkgs/by-name/ma/maude/package.nix b/pkgs/by-name/ma/maude/package.nix index 2050760adaf68..5a08066937ae6 100644 --- a/pkgs/by-name/ma/maude/package.nix +++ b/pkgs/by-name/ma/maude/package.nix @@ -1,7 +1,20 @@ -{ lib, stdenv, fetchurl, unzip, makeWrapper, flex, bison, ncurses, buddy, tecla -, libsigsegv, gmpxx, cln, yices -# passthru.tests -, tamarin-prover +{ + lib, + stdenv, + fetchurl, + unzip, + makeWrapper, + flex, + bison, + ncurses, + buddy, + tecla, + libsigsegv, + gmpxx, + cln, + yices, + # passthru.tests + tamarin-prover, }: let @@ -17,13 +30,28 @@ stdenv.mkDerivation { sha256 = "IXWEWAmh388NpNSt9wnOpLkzhZ09N+AStO2wn5dRT8o="; }; - nativeBuildInputs = [ flex bison unzip makeWrapper ]; + nativeBuildInputs = [ + flex + bison + unzip + makeWrapper + ]; buildInputs = [ - ncurses buddy tecla gmpxx libsigsegv cln yices + ncurses + buddy + tecla + gmpxx + libsigsegv + cln + yices ]; - hardeningDisable = [ "stackprotector" ] ++ - lib.optionals stdenv.hostPlatform.isi686 [ "pic" "fortify" ]; + hardeningDisable = + [ "stackprotector" ] + ++ lib.optionals stdenv.hostPlatform.isi686 [ + "pic" + "fortify" + ]; # Fix for glibc-2.34, see # https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/maude/maude-3.1-r1.ebuild?id=f021cc6cfa1e35eb9c59955830f1fd89bfcb26b4 diff --git a/pkgs/by-name/ma/mautrix-discord/package.nix b/pkgs/by-name/ma/mautrix-discord/package.nix index dc3bbcff8a0cd..d0b469debd1be 100644 --- a/pkgs/by-name/ma/mautrix-discord/package.nix +++ b/pkgs/by-name/ma/mautrix-discord/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, olm -, nix-update-script -, testers -, mautrix-discord +{ + lib, + buildGoModule, + fetchFromGitHub, + olm, + nix-update-script, + testers, + mautrix-discord, }: buildGoModule rec { @@ -20,13 +21,15 @@ buildGoModule rec { vendorHash = "sha256-QdH98NA5Y9YKkvL8Gq8ChgvHFOyOBFXDDulxwql6v5c="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; buildInputs = [ olm ]; doCheck = false; - passthru = { updateScript = nix-update-script { }; tests.version = testers.testVersion { diff --git a/pkgs/by-name/ma/mautrix-facebook/package.nix b/pkgs/by-name/ma/mautrix-facebook/package.nix index 3857e5abd45de..3ae5c76fb19e7 100644 --- a/pkgs/by-name/ma/mautrix-facebook/package.nix +++ b/pkgs/by-name/ma/mautrix-facebook/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform python3.pkgs.systemd +{ + lib, + stdenv, + fetchFromGitHub, + python3, + enableSystemd ? lib.meta.availableOn stdenv.hostPlatform python3.pkgs.systemd, }: python3.pkgs.buildPythonPackage rec { @@ -16,23 +17,26 @@ python3.pkgs.buildPythonPackage rec { hash = "sha256-8uleN7L3fgNqqRjva3kJU7fLPJZpO6b0J4z0RxZ9B64="; }; - propagatedBuildInputs = with python3.pkgs; [ - commonmark - aiohttp - asyncpg - commonmark - (mautrix.override { withOlm = true; }) - paho-mqtt - pillow - prometheus-client - pycryptodome - python-olm - python-magic - ruamel-yaml - unpaddedbase64 - yarl - zstandard - ] ++ lib.optional enableSystemd systemd; + propagatedBuildInputs = + with python3.pkgs; + [ + commonmark + aiohttp + asyncpg + commonmark + (mautrix.override { withOlm = true; }) + paho-mqtt + pillow + prometheus-client + pycryptodome + python-olm + python-magic + ruamel-yaml + unpaddedbase64 + yarl + zstandard + ] + ++ lib.optional enableSystemd systemd; postPatch = '' # Drop version limiting so that every dependency update doesn't break this package. diff --git a/pkgs/by-name/ma/mautrix-googlechat/package.nix b/pkgs/by-name/ma/mautrix-googlechat/package.nix index a352b5ab8e875..d3c8bdd7ee256 100644 --- a/pkgs/by-name/ma/mautrix-googlechat/package.nix +++ b/pkgs/by-name/ma/mautrix-googlechat/package.nix @@ -1,11 +1,13 @@ -{ fetchFromGitHub -, fetchpatch -, lib -, python3 -, enableE2be ? true -, enableMetrics ? true -, enableSqlite ? true -}: python3.pkgs.buildPythonApplication rec { +{ + fetchFromGitHub, + fetchpatch, + lib, + python3, + enableE2be ? true, + enableMetrics ? true, + enableSqlite ? true, +}: +python3.pkgs.buildPythonApplication rec { pname = "mautrix-googlechat"; version = "0.5.2"; @@ -46,19 +48,22 @@ ]; }; - propagatedBuildInputs = with python3.pkgs; [ - aiohttp - commonmark - yarl - asyncpg - ruamel-yaml - commonmark - python-magic - protobuf - (mautrix.override { withOlm = enableE2be; }) - ] ++ lib.optionals enableE2be optional-dependencies.e2be - ++ lib.optionals enableMetrics optional-dependencies.metrics - ++ lib.optionals enableSqlite optional-dependencies.sqlite; + propagatedBuildInputs = + with python3.pkgs; + [ + aiohttp + commonmark + yarl + asyncpg + ruamel-yaml + commonmark + python-magic + protobuf + (mautrix.override { withOlm = enableE2be; }) + ] + ++ lib.optionals enableE2be optional-dependencies.e2be + ++ lib.optionals enableMetrics optional-dependencies.metrics + ++ lib.optionals enableSqlite optional-dependencies.sqlite; doCheck = false; diff --git a/pkgs/by-name/ma/mautrix-meta/package.nix b/pkgs/by-name/ma/mautrix-meta/package.nix index 29ca66cdf80e0..1b5204f6d20bc 100644 --- a/pkgs/by-name/ma/mautrix-meta/package.nix +++ b/pkgs/by-name/ma/mautrix-meta/package.nix @@ -1,15 +1,16 @@ -{ buildGoModule -, fetchFromGitHub -, nix-update-script -, lib -, nixosTests -, olm -# This option enables the use of an experimental pure-Go implementation of the -# Olm protocol instead of libolm for end-to-end encryption. Using goolm is not -# recommended by the mautrix developers, but they are interested in people -# trying it out in non-production-critical environments and reporting any -# issues they run into. -, withGoolm ? false +{ + buildGoModule, + fetchFromGitHub, + nix-update-script, + lib, + nixosTests, + olm, + # This option enables the use of an experimental pure-Go implementation of the + # Olm protocol instead of libolm for end-to-end encryption. Using goolm is not + # recommended by the mautrix developers, but they are interested in people + # trying it out in non-production-critical environments and reporting any + # issues they run into. + withGoolm ? false, }: buildGoModule rec { @@ -41,7 +42,6 @@ buildGoModule rec { updateScript = nix-update-script { }; }; - meta = { homepage = "https://github.com/mautrix/meta"; description = "Matrix <-> Facebook and Matrix <-> Instagram hybrid puppeting/relaybot bridge"; diff --git a/pkgs/by-name/ma/mautrix-whatsapp/package.nix b/pkgs/by-name/ma/mautrix-whatsapp/package.nix index 5f4e1683fa18c..b65664d89dd30 100644 --- a/pkgs/by-name/ma/mautrix-whatsapp/package.nix +++ b/pkgs/by-name/ma/mautrix-whatsapp/package.nix @@ -33,7 +33,11 @@ buildGoModule rec { homepage = "https://github.com/tulir/mautrix-whatsapp"; description = "Matrix <-> Whatsapp hybrid puppeting/relaybot bridge"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ vskilet ma27 chvp ]; + maintainers = with maintainers; [ + vskilet + ma27 + chvp + ]; mainProgram = "mautrix-whatsapp"; }; } diff --git a/pkgs/by-name/ma/maven/build-maven.nix b/pkgs/by-name/ma/maven/build-maven.nix index 7ac8afdde225a..4dbe24c5e8b0b 100644 --- a/pkgs/by-name/ma/maven/build-maven.nix +++ b/pkgs/by-name/ma/maven/build-maven.nix @@ -1,4 +1,13 @@ -{ stdenv, maven, runCommand, writeText, fetchurl, lib, requireFile, linkFarm }: +{ + stdenv, + maven, + runCommand, + writeText, + fetchurl, + lib, + requireFile, + linkFarm, +}: # Takes an info file generated by mvn2nix # (https://github.com/NixOS/mvn2nix-maven-plugin) and builds the maven # project with it. @@ -16,45 +25,61 @@ infoFile: let info = lib.importJSON infoFile; - dependencies = lib.flatten (map (dep: - let - inherit (dep) sha1 groupId artifactId version metadata repository-id; - versionDir = dep.unresolved-version or version; - authenticated = dep.authenticated or false; - url = dep.url or ""; + dependencies = lib.flatten ( + map ( + dep: + let + inherit (dep) + sha1 + groupId + artifactId + version + metadata + repository-id + ; + versionDir = dep.unresolved-version or version; + authenticated = dep.authenticated or false; + url = dep.url or ""; - fetch = if (url != "") then - ((if authenticated then requireFile else fetchurl) { - inherit url sha1; - }) - else - ""; + fetch = + if (url != "") then + ((if authenticated then requireFile else fetchurl) { + inherit url sha1; + }) + else + ""; - fetchMetadata = (if authenticated then requireFile else fetchurl) { - inherit (metadata) url sha1; - }; + fetchMetadata = (if authenticated then requireFile else fetchurl) { + inherit (metadata) url sha1; + }; - layout = "${ - builtins.replaceStrings [ "." ] [ "/" ] groupId - }/${artifactId}/${versionDir}"; - in lib.optional (url != "") { - layout = "${layout}/${fetch.name}"; - drv = fetch; - } ++ lib.optionals (dep ? metadata) ([{ - layout = "${layout}/maven-metadata-${repository-id}.xml"; - drv = fetchMetadata; - }] ++ lib.optional (fetch != "") { - layout = "${layout}/${ - builtins.replaceStrings [ version ] [ dep.unresolved-version ] - fetch.name - }"; - drv = fetch; - })) info.dependencies); + layout = "${builtins.replaceStrings [ "." ] [ "/" ] groupId}/${artifactId}/${versionDir}"; + in + lib.optional (url != "") { + layout = "${layout}/${fetch.name}"; + drv = fetch; + } + ++ lib.optionals (dep ? metadata) ( + [ + { + layout = "${layout}/maven-metadata-${repository-id}.xml"; + drv = fetchMetadata; + } + ] + ++ lib.optional (fetch != "") { + layout = "${layout}/${builtins.replaceStrings [ version ] [ dep.unresolved-version ] fetch.name}"; + drv = fetch; + } + ) + ) info.dependencies + ); - repo = linkFarm "maven-repository" (lib.forEach dependencies (dependency: { - name = dependency.layout; - path = dependency.drv; - })); + repo = linkFarm "maven-repository" ( + lib.forEach dependencies (dependency: { + name = dependency.layout; + path = dependency.drv; + }) + ); settings = writeText "settings.xml" '' tiffSupport; let - inherit (lib) makeBinPath optional optionals optionalString; + inherit (lib) + makeBinPath + optional + optionals + optionalString + ; runtimePath = makeBinPath ( optional tiffSupport libraw - ++ optionals jpgSupport [ graphicsmagick exiftool ] + ++ optionals jpgSupport [ + graphicsmagick + exiftool + ] ); in stdenv.mkDerivation (finalAttrs: { @@ -77,7 +86,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://gitlab.com/megapixels-org/Megapixels"; changelog = "https://gitlab.com/megapixels-org/Megapixels/-/tags/${finalAttrs.version}"; license = licenses.gpl3Only; - maintainers = with maintainers; [ dotlambda Luflosi ]; + maintainers = with maintainers; [ + dotlambda + Luflosi + ]; platforms = platforms.linux; mainProgram = "megapixels"; }; diff --git a/pkgs/by-name/me/megatools/package.nix b/pkgs/by-name/me/megatools/package.nix index 105abe6470898..0f303363ca2f9 100644 --- a/pkgs/by-name/me/megatools/package.nix +++ b/pkgs/by-name/me/megatools/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchgit -, asciidoc -, docbook_xml_dtd_45 -, docbook2x -, libxml2 -, meson -, ninja -, pkg-config -, curl -, glib -, fuse +{ + lib, + stdenv, + fetchgit, + asciidoc, + docbook_xml_dtd_45, + docbook2x, + libxml2, + meson, + ninja, + pkg-config, + curl, + glib, + fuse, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/me/meh/package.nix b/pkgs/by-name/me/meh/package.nix index 49477277d92bd..9c5dd2792fc0c 100644 --- a/pkgs/by-name/me/meh/package.nix +++ b/pkgs/by-name/me/meh/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXext, libjpeg, libpng, giflib }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXext, + libjpeg, + libpng, + giflib, +}: stdenv.mkDerivation { pname = "meh"; @@ -13,9 +22,18 @@ stdenv.mkDerivation { installFlags = [ "PREFIX=${placeholder "out"}" ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - buildInputs = [ libXext libX11 libjpeg libpng giflib ]; + buildInputs = [ + libXext + libX11 + libjpeg + libpng + giflib + ]; meta = { description = "Minimal image viewer using raw XLib"; diff --git a/pkgs/by-name/me/mela/package.nix b/pkgs/by-name/me/mela/package.nix index a478a972c9566..1bdaf081ac3ac 100644 --- a/pkgs/by-name/me/mela/package.nix +++ b/pkgs/by-name/me/mela/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, gfortran }: +{ + lib, + stdenv, + fetchFromGitHub, + gfortran, +}: stdenv.mkDerivation rec { pname = "mela"; @@ -18,9 +23,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Mellin Evolution LibrAry"; mainProgram = "mela-config"; - license = licenses.gpl3; - homepage = "https://github.com/vbertone/MELA"; - platforms = platforms.unix; + license = licenses.gpl3; + homepage = "https://github.com/vbertone/MELA"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/me/meld/package.nix b/pkgs/by-name/me/meld/package.nix index 1fcc3c235816a..9312917f008cd 100644 --- a/pkgs/by-name/me/meld/package.nix +++ b/pkgs/by-name/me/meld/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, gettext -, itstool -, python3 -, meson -, ninja -, wrapGAppsHook3 -, libxml2 -, pkg-config -, desktop-file-utils -, gobject-introspection -, gtk3 -, gtksourceview4 -, gnome -, adwaita-icon-theme -, gsettings-desktop-schemas -, desktopToDarwinBundle +{ + lib, + stdenv, + fetchurl, + gettext, + itstool, + python3, + meson, + ninja, + wrapGAppsHook3, + libxml2, + pkg-config, + desktop-file-utils, + gobject-introspection, + gtk3, + gtksourceview4, + gnome, + adwaita-icon-theme, + gsettings-desktop-schemas, + desktopToDarwinBundle, }: python3.pkgs.buildPythonApplication rec { @@ -71,7 +72,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://meld.app/"; license = licenses.gpl2Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ jtojnar mimame ]; + maintainers = with maintainers; [ + jtojnar + mimame + ]; mainProgram = "meld"; }; } diff --git a/pkgs/by-name/me/melete/package.nix b/pkgs/by-name/me/melete/package.nix index 671f7e0cafe64..02465f9176258 100644 --- a/pkgs/by-name/me/melete/package.nix +++ b/pkgs/by-name/me/melete/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; diff --git a/pkgs/by-name/me/meletrix-udev-rules/package.nix b/pkgs/by-name/me/meletrix-udev-rules/package.nix index 43fd2b94cdd5b..cdbce4957d98a 100644 --- a/pkgs/by-name/me/meletrix-udev-rules/package.nix +++ b/pkgs/by-name/me/meletrix-udev-rules/package.nix @@ -6,7 +6,7 @@ stdenvNoCC.mkDerivation { pname = "meletrix-udev-rules"; version = "0-unstable-2023-10-20"; - src = [./meletrix.rules]; + src = [ ./meletrix.rules ]; dontUnpack = true; dontBuild = true; @@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation { meta = with lib; { description = "udev rules to configure Meletrix keyboards"; license = licenses.cc0; - maintainers = with maintainers; [Scrumplex]; + maintainers = with maintainers; [ Scrumplex ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/me/meli/package.nix b/pkgs/by-name/me/meli/package.nix index cbdbc795f3087..7640e4813d6c3 100644 --- a/pkgs/by-name/me/meli/package.nix +++ b/pkgs/by-name/me/meli/package.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, fetchzip -, fetchpatch -, rustPlatform +{ + stdenv, + lib, + fetchzip, + fetchpatch, + rustPlatform, -# native build inputs -, pkg-config -, installShellFiles -, makeWrapper -, mandoc -, rustfmt -, file + # native build inputs + pkg-config, + installShellFiles, + makeWrapper, + mandoc, + rustfmt, + file, -# build inputs -, openssl -, dbus -, sqlite + # build inputs + openssl, + dbus, + sqlite, -# runtime deps -, gpgme -, gnum4 + # runtime deps + gpgme, + gnum4, }: rustPlatform.buildRustPackage rec { @@ -38,7 +39,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-w0fxh3c54Hcczc9NW8heewrRFx7UZnQqAHiQWZ43wKw="; # Needed to get openssl-sys to use pkg-config - OPENSSL_NO_VENDOR=1; + OPENSSL_NO_VENDOR = 1; nativeBuildInputs = [ pkg-config @@ -81,7 +82,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "meli"; homepage = "https://meli.delivery"; license = licenses.gpl3; - maintainers = with maintainers; [ _0x4A6F matthiasbeyer ]; + maintainers = with maintainers; [ + _0x4A6F + matthiasbeyer + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/me/melody/package.nix b/pkgs/by-name/me/melody/package.nix index f7865646c8914..6d77b73350e84 100644 --- a/pkgs/by-name/me/melody/package.nix +++ b/pkgs/by-name/me/melody/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "melody"; diff --git a/pkgs/by-name/me/melt/package.nix b/pkgs/by-name/me/melt/package.nix index 80bec168c1cc8..39284acc15221 100644 --- a/pkgs/by-name/me/melt/package.nix +++ b/pkgs/by-name/me/melt/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "melt"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-ZCHPbLjf2rTlg+Nj3v+XRW2xDN0qqhnlrF4sXNrGH/E="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { description = "Backup and restore Ed25519 SSH keys with seed words"; diff --git a/pkgs/by-name/me/meme-bingo-web/package.nix b/pkgs/by-name/me/meme-bingo-web/package.nix index 9c98fe5a83a20..7a8c7c945e6ff 100644 --- a/pkgs/by-name/me/meme-bingo-web/package.nix +++ b/pkgs/by-name/me/meme-bingo-web/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitea -, rustPlatform -, makeWrapper -, nix-update-script +{ + lib, + fetchFromGitea, + rustPlatform, + makeWrapper, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/me/meme-image-generator/package.nix b/pkgs/by-name/me/meme-image-generator/package.nix index e60351bf962d6..98a643d4754af 100644 --- a/pkgs/by-name/me/meme-image-generator/package.nix +++ b/pkgs/by-name/me/meme-image-generator/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/me/meme-suite/package.nix b/pkgs/by-name/me/meme-suite/package.nix index c0f67c314161e..82ca6c3400579 100644 --- a/pkgs/by-name/me/meme-suite/package.nix +++ b/pkgs/by-name/me/meme-suite/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, python3, perl, zlib }: +{ + lib, + stdenv, + fetchurl, + python3, + perl, + zlib, +}: stdenv.mkDerivation rec { pname = "meme-suite"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ zlib ]; - nativeBuildInputs = [ perl python3 ]; + nativeBuildInputs = [ + perl + python3 + ]; meta = with lib; { description = "Motif-based sequence analysis tools"; diff --git a/pkgs/by-name/me/memo/package.nix b/pkgs/by-name/me/memo/package.nix index c6d9c58b0ad62..5973477ffa2d8 100644 --- a/pkgs/by-name/me/memo/package.nix +++ b/pkgs/by-name/me/memo/package.nix @@ -1,7 +1,15 @@ -{ fetchFromGitHub, silver-searcher, tree, man, lib, stdenv, +{ + fetchFromGitHub, + silver-searcher, + tree, + man, + lib, + stdenv, git, - pandocSupport ? true, pandoc ? null - , ... }: + pandocSupport ? true, + pandoc ? null, + ... +}: assert pandocSupport -> pandoc != null; @@ -12,30 +20,30 @@ stdenv.mkDerivation rec { version = "0.8"; src = fetchFromGitHub { - owner = "mrVanDalo"; - repo = "memo"; - rev = version; + owner = "mrVanDalo"; + repo = "memo"; + rev = version; sha256 = "0azx2bx6y7j0637fg3m8zigcw09zfm2mw9wjfg218sx88cm1wdkp"; }; - installPhase = let - pandocReplacement = if pandocSupport then - "pandoc_cmd=${pandoc}/bin/pandoc" - else - "#pandoc_cmd=pandoc"; - in '' - mkdir -p $out/{bin,share/man/man1,share/bash-completion/completions,share/zsh/site-functions} - substituteInPlace memo \ - --replace "ack_cmd=ack" "ack_cmd=${silver-searcher}/bin/ag" \ - --replace "tree_cmd=tree" "tree_cmd=${tree}/bin/tree" \ - --replace "man_cmd=man" "man_cmd=${man}/bin/man" \ - --replace "git_cmd=git" "git_cmd=${git}/bin/git" \ - --replace "pandoc_cmd=pandoc" "${pandocReplacement}" - mv memo $out/bin/ - mv doc/memo.1 $out/share/man/man1/memo.1 - mv completion/bash/memo.sh $out/share/bash-completion/completions/memo.sh - mv completion/zsh/_memo $out/share/zsh/site-functions/_memo - ''; + installPhase = + let + pandocReplacement = + if pandocSupport then "pandoc_cmd=${pandoc}/bin/pandoc" else "#pandoc_cmd=pandoc"; + in + '' + mkdir -p $out/{bin,share/man/man1,share/bash-completion/completions,share/zsh/site-functions} + substituteInPlace memo \ + --replace "ack_cmd=ack" "ack_cmd=${silver-searcher}/bin/ag" \ + --replace "tree_cmd=tree" "tree_cmd=${tree}/bin/tree" \ + --replace "man_cmd=man" "man_cmd=${man}/bin/man" \ + --replace "git_cmd=git" "git_cmd=${git}/bin/git" \ + --replace "pandoc_cmd=pandoc" "${pandocReplacement}" + mv memo $out/bin/ + mv doc/memo.1 $out/share/man/man1/memo.1 + mv completion/bash/memo.sh $out/share/bash-completion/completions/memo.sh + mv completion/zsh/_memo $out/share/zsh/site-functions/_memo + ''; meta = { description = "Simple tool written in bash to memorize stuff"; diff --git a/pkgs/by-name/me/memorado/package.nix b/pkgs/by-name/me/memorado/package.nix index 924c906a5ee65..1af6239281ae4 100644 --- a/pkgs/by-name/me/memorado/package.nix +++ b/pkgs/by-name/me/memorado/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, gtk4 -, pkg-config -, libadwaita -, blueprint-compiler -, python3 -, desktop-file-utils -, gobject-introspection -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + gtk4, + pkg-config, + libadwaita, + blueprint-compiler, + python3, + desktop-file-utils, + gobject-introspection, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -37,9 +38,11 @@ stdenv.mkDerivation rec { buildInputs = [ gtk4 libadwaita - (python3.withPackages (ps: with ps; [ - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + ] + )) ]; meta = with lib; { diff --git a/pkgs/by-name/me/memtest86-efi/package.nix b/pkgs/by-name/me/memtest86-efi/package.nix index ead250feee6a5..ff8704515ffae 100644 --- a/pkgs/by-name/me/memtest86-efi/package.nix +++ b/pkgs/by-name/me/memtest86-efi/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchzip -, util-linux -, jq -, mtools +{ + stdenv, + lib, + fetchzip, + util-linux, + jq, + mtools, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/me/memtest86plus/package.nix b/pkgs/by-name/me/memtest86plus/package.nix index 10d691b5c86be..204583493b7a1 100644 --- a/pkgs/by-name/me/memtest86plus/package.nix +++ b/pkgs/by-name/me/memtest86plus/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "memtest86+"; @@ -30,7 +34,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.memtest.org/"; description = "Tool to detect memory errors"; license = lib.licenses.gpl2Only; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ lib.maintainers.LunNova ]; }; }) diff --git a/pkgs/by-name/me/memtest_vulkan/package.nix b/pkgs/by-name/me/memtest_vulkan/package.nix index cdbcc7982b839..e030646ce8b41 100644 --- a/pkgs/by-name/me/memtest_vulkan/package.nix +++ b/pkgs/by-name/me/memtest_vulkan/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, vulkan-loader +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + vulkan-loader, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,9 @@ rustPlatform.buildRustPackage rec { # It doesn't discover this on its own :/ # https://github.com/GpuZelenograd/memtest_vulkan/issues/36 postFixup = lib.optionalString stdenv.targetPlatform.isElf '' - patchelf $out/bin/memtest_vulkan --add-needed libvulkan.so --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]} + patchelf $out/bin/memtest_vulkan --add-needed libvulkan.so --add-rpath ${ + lib.makeLibraryPath [ vulkan-loader ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/me/memtier-benchmark/package.nix b/pkgs/by-name/me/memtier-benchmark/package.nix index 2850d0dfe0310..02f67e23c9c03 100644 --- a/pkgs/by-name/me/memtier-benchmark/package.nix +++ b/pkgs/by-name/me/memtier-benchmark/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, pkg-config, libevent, pcre, zlib, openssl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libevent, + pcre, + zlib, + openssl, }: stdenv.mkDerivation rec { @@ -7,9 +15,9 @@ stdenv.mkDerivation rec { version = "2.1.2"; src = fetchFromGitHub { - owner = "redislabs"; - repo = "memtier_benchmark"; - rev = "refs/tags/${version}"; + owner = "redislabs"; + repo = "memtier_benchmark"; + rev = "refs/tags/${version}"; sha256 = "sha256-a6v+M+r2f3AZImkHmUomViQNlgTdL7JaRayoVvmaMJU="; }; @@ -18,14 +26,22 @@ stdenv.mkDerivation rec { --replace '1.2.8' '${version}' ''; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libevent pcre zlib openssl ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libevent + pcre + zlib + openssl + ]; meta = { description = "Redis and Memcached traffic generation and benchmarking tool"; - homepage = "https://github.com/redislabs/memtier_benchmark"; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; + homepage = "https://github.com/redislabs/memtier_benchmark"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ thoughtpolice ]; mainProgram = "memtier_benchmark"; }; diff --git a/pkgs/by-name/me/memtree/package.nix b/pkgs/by-name/me/memtree/package.nix index 6c40a000d590d..7a6ed7a323af0 100644 --- a/pkgs/by-name/me/memtree/package.nix +++ b/pkgs/by-name/me/memtree/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, nix-update-script -, python3Packages +{ + lib, + fetchFromGitHub, + nix-update-script, + python3Packages, }: python3Packages.buildPythonApplication { diff --git a/pkgs/by-name/me/mencal/package.nix b/pkgs/by-name/me/mencal/package.nix index 011db7455fcf2..dd5ea1063b03c 100644 --- a/pkgs/by-name/me/mencal/package.nix +++ b/pkgs/by-name/me/mencal/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "mencal"; diff --git a/pkgs/by-name/me/menu-cache/package.nix b/pkgs/by-name/me/menu-cache/package.nix index e05d387846a67..0994473826e16 100644 --- a/pkgs/by-name/me/menu-cache/package.nix +++ b/pkgs/by-name/me/menu-cache/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, glib, pkg-config, libfm-extra }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + glib, + pkg-config, + libfm-extra, +}: stdenv.mkDerivation rec { pname = "menu-cache"; @@ -21,7 +29,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libfm-extra ]; + buildInputs = [ + glib + libfm-extra + ]; meta = with lib; { description = "Library to read freedesktop.org menu files"; diff --git a/pkgs/by-name/me/menulibre/package.nix b/pkgs/by-name/me/menulibre/package.nix index b8ad319c89576..530d0f8f7ab6c 100644 --- a/pkgs/by-name/me/menulibre/package.nix +++ b/pkgs/by-name/me/menulibre/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, python3Packages -, gnome-menus -, gtk3 -, intltool -, gobject-introspection -, wrapGAppsHook3 -, nix-update-script -, testers -, menulibre +{ + lib, + fetchFromGitHub, + python3Packages, + gnome-menus, + gtk3, + intltool, + gobject-introspection, + wrapGAppsHook3, + nix-update-script, + testers, + menulibre, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/me/menumaker/package.nix b/pkgs/by-name/me/menumaker/package.nix index 23ec74cd8b8d2..d4b2cef88cbdd 100644 --- a/pkgs/by-name/me/menumaker/package.nix +++ b/pkgs/by-name/me/menumaker/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, python3Packages }: +{ + lib, + fetchurl, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "menumaker"; diff --git a/pkgs/by-name/me/mepo/package.nix b/pkgs/by-name/me/mepo/package.nix index afa5ffe3d7971..06f6b22d4ea41 100644 --- a/pkgs/by-name/me/mepo/package.nix +++ b/pkgs/by-name/me/mepo/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromSourcehut -, SDL2 -, SDL2_gfx -, SDL2_image -, SDL2_ttf -, busybox -, curl -, findutils -, geoclue2-with-demo-agent -, gpsd -, jq -, makeWrapper -, ncurses -, pkg-config -, util-linux -, xwininfo -, zenity -, zig_0_12 +{ + lib, + stdenv, + fetchFromSourcehut, + SDL2, + SDL2_gfx, + SDL2_image, + SDL2_ttf, + busybox, + curl, + findutils, + geoclue2-with-demo-agent, + gpsd, + jq, + makeWrapper, + ncurses, + pkg-config, + util-linux, + xwininfo, + zenity, + zig_0_12, }: stdenv.mkDerivation (finalAttrs: { @@ -62,17 +63,19 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail " ls " " ls -a " #circumvent wrapping for script detection for program in $out/bin/* ; do wrapProgram $program \ - --suffix PATH : $out/bin:${lib.makeBinPath ([ - busybox - curl - findutils - gpsd - jq - ncurses - util-linux - xwininfo - zenity - ])} + --suffix PATH : $out/bin:${ + lib.makeBinPath ([ + busybox + curl + findutils + gpsd + jq + ncurses + util-linux + xwininfo + zenity + ]) + } done ''; @@ -92,7 +95,11 @@ stdenv.mkDerivation (finalAttrs: { more. ''; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ sikmir McSinyx laalsaas ]; + maintainers = with lib.maintainers; [ + sikmir + McSinyx + laalsaas + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/me/mercure/package.nix b/pkgs/by-name/me/mercure/package.nix index 8b96f1400a52d..e1aebcc85a63a 100644 --- a/pkgs/by-name/me/mercure/package.nix +++ b/pkgs/by-name/me/mercure/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, testers -, mercure +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + testers, + mercure, }: buildGoModule rec { diff --git a/pkgs/by-name/me/merecat/package.nix b/pkgs/by-name/me/merecat/package.nix index 344f81da2ff7a..2a50a431bfb87 100644 --- a/pkgs/by-name/me/merecat/package.nix +++ b/pkgs/by-name/me/merecat/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libconfuse -, libxcrypt -, testers -, merecat -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libconfuse, + libxcrypt, + testers, + merecat, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/me/meritous/package.nix b/pkgs/by-name/me/meritous/package.nix index 8b0a176938aac..010e34bc23bb9 100644 --- a/pkgs/by-name/me/meritous/package.nix +++ b/pkgs/by-name/me/meritous/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, SDL, SDL_image, SDL_mixer, zlib }: +{ + lib, + stdenv, + fetchFromGitLab, + SDL, + SDL_image, + SDL_mixer, + zlib, +}: stdenv.mkDerivation (finalAttrs: { pname = "meritous"; @@ -20,7 +28,12 @@ stdenv.mkDerivation (finalAttrs: { --replace "filename[64]" "filename[256]" ''; - buildInputs = [ SDL SDL_image SDL_mixer zlib ]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + zlib + ]; installPhase = '' install -m 555 -D meritous $out/bin/meritous @@ -28,7 +41,10 @@ stdenv.mkDerivation (finalAttrs: { cp -r dat/* $out/share/meritous/ ''; - hardeningDisable = [ "stackprotector" "fortify" ]; + hardeningDisable = [ + "stackprotector" + "fortify" + ]; meta = with lib; { description = "Action-adventure dungeon crawl game"; diff --git a/pkgs/by-name/me/mermaid-cli/package.nix b/pkgs/by-name/me/mermaid-cli/package.nix index a11b5504bca5a..1678bbd58e853 100644 --- a/pkgs/by-name/me/mermaid-cli/package.nix +++ b/pkgs/by-name/me/mermaid-cli/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nodejs -, fixup-yarn-lock -, yarn -, chromium +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + fixup-yarn-lock, + yarn, + chromium, }: stdenv.mkDerivation rec { @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { hash = "sha256-SfRzn5FxO+Ls+ne7ay3tySNLr+awEJ9fo/nwcAY11qA="; }; - nativeBuildInputs = [ + nativeBuildInputs = [ makeWrapper nodejs fixup-yarn-lock @@ -52,22 +53,25 @@ stdenv.mkDerivation rec { runHook postBuild ''; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - yarn --offline --production install + yarn --offline --production install - mkdir -p "$out/lib/node_modules/@mermaid-js/mermaid-cli" - cp -r . "$out/lib/node_modules/@mermaid-js/mermaid-cli" + mkdir -p "$out/lib/node_modules/@mermaid-js/mermaid-cli" + cp -r . "$out/lib/node_modules/@mermaid-js/mermaid-cli" - makeWrapper "${nodejs}/bin/node" "$out/bin/mmdc" \ - '' + lib.optionalString (lib.meta.availableOn stdenv.hostPlatform chromium) '' + makeWrapper "${nodejs}/bin/node" "$out/bin/mmdc" \ + '' + + lib.optionalString (lib.meta.availableOn stdenv.hostPlatform chromium) '' --set PUPPETEER_EXECUTABLE_PATH '${lib.getExe chromium}' \ - '' + '' - --add-flags "$out/lib/node_modules/@mermaid-js/mermaid-cli/src/cli.js" + '' + + '' + --add-flags "$out/lib/node_modules/@mermaid-js/mermaid-cli/src/cli.js" - runHook postInstall - ''; + runHook postInstall + ''; meta = { description = "Generation of diagrams from text in a similar manner as markdown"; diff --git a/pkgs/by-name/me/mermaid-filter/package.nix b/pkgs/by-name/me/mermaid-filter/package.nix index 3ed315784569d..d34f0eb5b0b03 100644 --- a/pkgs/by-name/me/mermaid-filter/package.nix +++ b/pkgs/by-name/me/mermaid-filter/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeWrapper -, chromium +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeWrapper, + chromium, }: buildNpmPackage rec { diff --git a/pkgs/by-name/me/mermerd/package.nix b/pkgs/by-name/me/mermerd/package.nix index 5c85ac43ff9d0..7779d2b926f03 100644 --- a/pkgs/by-name/me/mermerd/package.nix +++ b/pkgs/by-name/me/mermerd/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, mermerd +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + mermerd, }: buildGoModule rec { diff --git a/pkgs/by-name/me/merriweather-sans/package.nix b/pkgs/by-name/me/merriweather-sans/package.nix index 397f42236b52c..8f1499eb2b807 100644 --- a/pkgs/by-name/me/merriweather-sans/package.nix +++ b/pkgs/by-name/me/merriweather-sans/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub +{ + stdenvNoCC, + lib, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/me/merriweather/package.nix b/pkgs/by-name/me/merriweather/package.nix index f658f7943eb29..a3c3066beb937 100644 --- a/pkgs/by-name/me/merriweather/package.nix +++ b/pkgs/by-name/me/merriweather/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub +{ + stdenvNoCC, + lib, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/me/mesa-demos/package.nix b/pkgs/by-name/me/mesa-demos/package.nix index 3ac1ede77eac9..d26fbe799dd5f 100644 --- a/pkgs/by-name/me/mesa-demos/package.nix +++ b/pkgs/by-name/me/mesa-demos/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, libglut -, libGL -, libGLU -, libX11 -, libXext -, mesa -, meson -, ninja -, pkg-config -, wayland -, wayland-scanner -, wayland-protocols -, vulkan-loader -, libxkbcommon -, libdecor -, glslang +{ + lib, + stdenv, + fetchurl, + libglut, + libGL, + libGLU, + libX11, + libXext, + mesa, + meson, + ninja, + pkg-config, + wayland, + wayland-scanner, + wayland-protocols, + vulkan-loader, + libxkbcommon, + libdecor, + glslang, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/me/mesa_glu/package.nix b/pkgs/by-name/me/mesa_glu/package.nix index bbcc0bb99a0e7..8925f15e770f4 100644 --- a/pkgs/by-name/me/mesa_glu/package.nix +++ b/pkgs/by-name/me/mesa_glu/package.nix @@ -1,25 +1,39 @@ -{ lib, stdenv, fetchurl -, meson, ninja -, pkg-config, libGLX -, testers -, gitUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + libGLX, + testers, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { pname = "glu"; version = "9.0.3"; - src = let - inherit (finalAttrs) pname version; - in fetchurl { - url = "https://mesa.freedesktop.org/archive/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-vUP+EvN0sRkusV/iDkX/RWubwmq1fw7ukZ+Wyg+KMw8="; - }; + src = + let + inherit (finalAttrs) pname version; + in + fetchurl { + url = "https://mesa.freedesktop.org/archive/${pname}/${pname}-${version}.tar.xz"; + hash = "sha256-vUP+EvN0sRkusV/iDkX/RWubwmq1fw7ukZ+Wyg+KMw8="; + }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; propagatedBuildInputs = [ libGLX ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; mesonFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-Dgl_provider=gl" # glvnd is default diff --git a/pkgs/by-name/me/mescc-tools-extra/package.nix b/pkgs/by-name/me/mescc-tools-extra/package.nix index 892c185060e16..b611df378103d 100644 --- a/pkgs/by-name/me/mescc-tools-extra/package.nix +++ b/pkgs/by-name/me/mescc-tools-extra/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, m2libc -, perl +{ + lib, + stdenv, + fetchFromGitHub, + m2libc, + perl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/me/mescc-tools/package.nix b/pkgs/by-name/me/mescc-tools/package.nix index 635e375aa80bd..18562c71076b5 100644 --- a/pkgs/by-name/me/mescc-tools/package.nix +++ b/pkgs/by-name/me/mescc-tools/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromSavannah -, m2libc -, which +{ + lib, + stdenv, + fetchFromSavannah, + m2libc, + which, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/me/meshoptimizer/package.nix b/pkgs/by-name/me/meshoptimizer/package.nix index 168ee2c729947..e50aa8eb85438 100644 --- a/pkgs/by-name/me/meshoptimizer/package.nix +++ b/pkgs/by-name/me/meshoptimizer/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, nix-update-script }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nix-update-script, +}: let basis_universal = fetchFromGitHub { @@ -7,7 +13,8 @@ let rev = "8903f6d69849fd782b72a551a4dd04a264434e20"; hash = "sha256-o3dCxAAkpMoNkvkM7qD75cPn/obDc/fJ8u7KLPm1G6g="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "meshoptimizer"; version = "0.22"; src = fetchFromGitHub { @@ -19,13 +26,16 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; cmakeFlags = [ "-DMESHOPT_BUILD_GLTFPACK=ON" "-DMESHOPT_BASISU_PATH=${basis_universal}" - ] ++ lib.optional (!stdenv.hostPlatform.isStatic) - "-DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON"; + ] ++ lib.optional (!stdenv.hostPlatform.isStatic) "-DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON"; passthru.updateScript = nix-update-script { }; @@ -33,7 +43,10 @@ in stdenv.mkDerivation rec { description = "Mesh optimization library that makes meshes smaller and faster to render"; homepage = "https://github.com/zeux/meshoptimizer"; license = licenses.mit; - maintainers = with maintainers; [ bouk lillycham ]; + maintainers = with maintainers; [ + bouk + lillycham + ]; platforms = platforms.all; mainProgram = "gltfpack"; }; diff --git a/pkgs/by-name/me/meslo-lg/package.nix b/pkgs/by-name/me/meslo-lg/package.nix index e0dc649bc7217..24864ed71c862 100644 --- a/pkgs/by-name/me/meslo-lg/package.nix +++ b/pkgs/by-name/me/meslo-lg/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { version = "1.2.1"; @@ -6,15 +11,15 @@ stdenv.mkDerivation rec { pname = "meslo-lg"; meslo-lg = fetchurl { - url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20v${version}.zip?raw=true"; - name="${pname}-${version}"; - sha256="1l08mxlzaz3i5bamnfr49s2k4k23vdm64b8nz2ha33ysimkbgg6h"; + url = "https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20v${version}.zip?raw=true"; + name = "${pname}-${version}"; + sha256 = "1l08mxlzaz3i5bamnfr49s2k4k23vdm64b8nz2ha33ysimkbgg6h"; }; meslo-lg-dz = fetchurl { - url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20DZ%20v${version}.zip?raw=true"; - name="${pname}-${version}-dz"; - sha256="0lnbkrvcpgz9chnvix79j6fiz36wj6n46brb7b1746182rl1l875"; + url = "https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20DZ%20v${version}.zip?raw=true"; + name = "${pname}-${version}-dz"; + sha256 = "0lnbkrvcpgz9chnvix79j6fiz36wj6n46brb7b1746182rl1l875"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/by-name/me/meslo-lgs-nf/package.nix b/pkgs/by-name/me/meslo-lgs-nf/package.nix index 51dacaba366c2..7e6b554455ee0 100644 --- a/pkgs/by-name/me/meslo-lgs-nf/package.nix +++ b/pkgs/by-name/me/meslo-lgs-nf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "meslo-lgs-nf"; diff --git a/pkgs/by-name/me/meson-tools/package.nix b/pkgs/by-name/me/meson-tools/package.nix index 78e8549807917..0cba7cacf63a0 100644 --- a/pkgs/by-name/me/meson-tools/package.nix +++ b/pkgs/by-name/me/meson-tools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation rec { pname = "meson-tools"; diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index 2b68f1e5078ed..052ebf269630c 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -1,22 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, coreutils -, darwin -, libblocksruntime -, llvmPackages -, libxcrypt -, openldap -, ninja -, pkg-config -, python3 -, substituteAll -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + coreutils, + darwin, + libblocksruntime, + llvmPackages, + libxcrypt, + openldap, + ninja, + pkg-config, + python3, + substituteAll, + zlib, }: let - inherit (darwin.apple_sdk.frameworks) AppKit Cocoa Foundation LDAP OpenAL OpenGL; + inherit (darwin.apple_sdk.frameworks) + AppKit + Cocoa + Foundation + LDAP + OpenAL + OpenGL + ; in python3.pkgs.buildPythonApplication rec { pname = "meson"; @@ -86,56 +94,64 @@ python3.pkgs.buildPythonApplication rec { pkg-config ]; - checkInputs = [ - zlib - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Cocoa - Foundation - LDAP - OpenAL - OpenGL - openldap - ] ++ lib.optionals (stdenv.cc.isClang && !stdenv.hostPlatform.isDarwin) [ - # https://github.com/mesonbuild/meson/blob/bd3f1b2e0e70ef16dfa4f441686003212440a09b/test%20cases/common/184%20openmp/meson.build - llvmPackages.openmp - # https://github.com/mesonbuild/meson/blob/1670fca36fcb1a4fe4780e96731e954515501a35/test%20cases/frameworks/29%20blocks/meson.build - libblocksruntime - ]; - - checkPhase = lib.concatStringsSep "\n" ([ - "runHook preCheck" - '' - patchShebangs 'test cases' - substituteInPlace \ - 'test cases/native/8 external program shebang parsing/script.int.in' \ - 'test cases/common/274 customtarget exe for test/generate.py' \ - --replace /usr/bin/env ${coreutils}/bin/env - '' - ] - # Remove problematic tests - ++ (builtins.map (f: ''rm -vr "${f}";'') ([ - # requires git, creating cyclic dependency - ''test cases/common/66 vcstag'' - # requires glib, creating cyclic dependency - ''test cases/linuxlike/6 subdir include order'' - ''test cases/linuxlike/9 compiler checks with dependencies'' - # requires static zlib, see #66461 - ''test cases/linuxlike/14 static dynamic linkage'' - # Nixpkgs cctools does not have bitcode support. - ''test cases/osx/7 bitcode'' - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # requires llvmPackages.openmp, creating cyclic dependency - ''test cases/common/184 openmp'' - ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - # pch doesn't work quite right on FreeBSD, I think - ''test cases/common/13 pch'' - ])) - ++ [ - ''HOME="$TMPDIR" python ./run_project_tests.py'' - "runHook postCheck" - ]); + checkInputs = + [ + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Cocoa + Foundation + LDAP + OpenAL + OpenGL + openldap + ] + ++ lib.optionals (stdenv.cc.isClang && !stdenv.hostPlatform.isDarwin) [ + # https://github.com/mesonbuild/meson/blob/bd3f1b2e0e70ef16dfa4f441686003212440a09b/test%20cases/common/184%20openmp/meson.build + llvmPackages.openmp + # https://github.com/mesonbuild/meson/blob/1670fca36fcb1a4fe4780e96731e954515501a35/test%20cases/frameworks/29%20blocks/meson.build + libblocksruntime + ]; + + checkPhase = lib.concatStringsSep "\n" ( + [ + "runHook preCheck" + '' + patchShebangs 'test cases' + substituteInPlace \ + 'test cases/native/8 external program shebang parsing/script.int.in' \ + 'test cases/common/274 customtarget exe for test/generate.py' \ + --replace /usr/bin/env ${coreutils}/bin/env + '' + ] + # Remove problematic tests + ++ (builtins.map (f: ''rm -vr "${f}";'') ( + [ + # requires git, creating cyclic dependency + ''test cases/common/66 vcstag'' + # requires glib, creating cyclic dependency + ''test cases/linuxlike/6 subdir include order'' + ''test cases/linuxlike/9 compiler checks with dependencies'' + # requires static zlib, see #66461 + ''test cases/linuxlike/14 static dynamic linkage'' + # Nixpkgs cctools does not have bitcode support. + ''test cases/osx/7 bitcode'' + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # requires llvmPackages.openmp, creating cyclic dependency + ''test cases/common/184 openmp'' + ] + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + # pch doesn't work quite right on FreeBSD, I think + ''test cases/common/13 pch'' + ] + )) + ++ [ + ''HOME="$TMPDIR" python ./run_project_tests.py'' + "runHook postCheck" + ] + ); postInstall = '' installShellCompletion --zsh data/shell-completions/zsh/_meson diff --git a/pkgs/by-name/me/mesos-dns/package.nix b/pkgs/by-name/me/mesos-dns/package.nix index 52f6ba74fd895..080a00d41acfc 100644 --- a/pkgs/by-name/me/mesos-dns/package.nix +++ b/pkgs/by-name/me/mesos-dns/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mesos-dns"; @@ -15,7 +19,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://m3scluster.github.io/mesos-dns/"; diff --git a/pkgs/by-name/me/messer-slim/package.nix b/pkgs/by-name/me/messer-slim/package.nix index 24b9a96019da6..6c90806992edf 100644 --- a/pkgs/by-name/me/messer-slim/package.nix +++ b/pkgs/by-name/me/messer-slim/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gcc, gcc-unwrapped }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gcc, + gcc-unwrapped, +}: stdenv.mkDerivation rec { version = "4.3"; @@ -11,16 +18,22 @@ stdenv.mkDerivation rec { hash = "sha256-Hgh1ianEdITRUIDKLiLW32kQlPlXKIfN4PSv3cOXTGI="; }; - nativeBuildInputs = [ cmake gcc gcc-unwrapped ]; + nativeBuildInputs = [ + cmake + gcc + gcc-unwrapped + ]; - cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" - "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ]; + cmakeFlags = [ + "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" + "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" + ]; meta = { - description = "Evolutionary simulation framework"; - homepage = "https://messerlab.org/slim/"; - license = with lib.licenses; [ gpl3 ]; - maintainers = with lib.maintainers; [ bzizou ]; - platforms = lib.platforms.all; + description = "Evolutionary simulation framework"; + homepage = "https://messerlab.org/slim/"; + license = with lib.licenses; [ gpl3 ]; + maintainers = with lib.maintainers; [ bzizou ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/me/metaBuildEnv/package.nix b/pkgs/by-name/me/metaBuildEnv/package.nix index 195f0c0e36f89..4b23dbd32b594 100644 --- a/pkgs/by-name/me/metaBuildEnv/package.nix +++ b/pkgs/by-name/me/metaBuildEnv/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "meta-build-env"; diff --git a/pkgs/by-name/me/metabigor/package.nix b/pkgs/by-name/me/metabigor/package.nix index 2949fb6db5414..5230006d13594 100644 --- a/pkgs/by-name/me/metabigor/package.nix +++ b/pkgs/by-name/me/metabigor/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/me/metadata-cleaner/package.nix b/pkgs/by-name/me/metadata-cleaner/package.nix index 9c596eef9cd48..30226f6bee103 100644 --- a/pkgs/by-name/me/metadata-cleaner/package.nix +++ b/pkgs/by-name/me/metadata-cleaner/package.nix @@ -1,19 +1,20 @@ -{ lib -, python3 -, fetchFromGitLab -, appstream -, desktop-file-utils -, glib -, gobject-introspection -, gtk4 -, itstool -, libadwaita -, librsvg -, meson -, ninja -, pkg-config -, poppler_gi -, wrapGAppsHook4 +{ + lib, + python3, + fetchFromGitLab, + appstream, + desktop-file-utils, + glib, + gobject-introspection, + gtk4, + itstool, + libadwaita, + librsvg, + meson, + ninja, + pkg-config, + poppler_gi, + wrapGAppsHook4, }: python3.pkgs.buildPythonApplication rec { @@ -60,7 +61,10 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "metadata-cleaner"; homepage = "https://gitlab.com/rmnvgr/metadata-cleaner"; changelog = "https://gitlab.com/rmnvgr/metadata-cleaner/-/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ gpl3Plus cc-by-sa-40 ]; + license = with licenses; [ + gpl3Plus + cc-by-sa-40 + ]; maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/by-name/me/metadata/package.nix b/pkgs/by-name/me/metadata/package.nix index d9d71da650879..97130d30758ba 100644 --- a/pkgs/by-name/me/metadata/package.nix +++ b/pkgs/by-name/me/metadata/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, pkg-config -, ffmpeg -, rustPlatform -, glib -, installShellFiles -, asciidoc +{ + lib, + fetchFromGitHub, + fetchpatch, + pkg-config, + ffmpeg, + rustPlatform, + glib, + installShellFiles, + asciidoc, }: rustPlatform.buildRustPackage rec { pname = "metadata"; diff --git a/pkgs/by-name/me/metal-cli/package.nix b/pkgs/by-name/me/metal-cli/package.nix index 62b69b6318ff4..b13d6bb0d162e 100644 --- a/pkgs/by-name/me/metal-cli/package.nix +++ b/pkgs/by-name/me/metal-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -39,7 +40,7 @@ buildGoModule rec { doInstallCheck = true; installCheckPhase = '' - $out/bin/metal --version | grep ${version} + $out/bin/metal --version | grep ${version} ''; meta = with lib; { @@ -47,7 +48,11 @@ buildGoModule rec { homepage = "https://github.com/equinix/metal-cli/"; changelog = "https://github.com/equinix/metal-cli/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne nshalman teutat3s ]; + maintainers = with maintainers; [ + Br1ght0ne + nshalman + teutat3s + ]; mainProgram = "metal"; }; } diff --git a/pkgs/by-name/me/metals/package.nix b/pkgs/by-name/me/metals/package.nix index 7a84f3b8c1d5e..2dab427762640 100644 --- a/pkgs/by-name/me/metals/package.nix +++ b/pkgs/by-name/me/metals/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, coursier, jre, makeWrapper, setJavaClassPath }: +{ + stdenv, + lib, + coursier, + jre, + makeWrapper, + setJavaClassPath, +}: stdenv.mkDerivation rec { pname = "metals"; @@ -19,7 +26,10 @@ stdenv.mkDerivation rec { outputHash = "sha256-CVAPjeTYuv0w57EK/IldJcGz8mTQnyCGAjaUf6La2rU="; }; - nativeBuildInputs = [ makeWrapper setJavaClassPath ]; + nativeBuildInputs = [ + makeWrapper + setJavaClassPath + ]; buildInputs = [ deps ]; dontUnpack = true; @@ -38,6 +48,10 @@ stdenv.mkDerivation rec { license = licenses.asl20; description = "Language server for Scala"; mainProgram = "metals"; - maintainers = with maintainers; [ fabianhjr jpaju tomahna ]; + maintainers = with maintainers; [ + fabianhjr + jpaju + tomahna + ]; }; } diff --git a/pkgs/by-name/me/metamath/package.nix b/pkgs/by-name/me/metamath/package.nix index 3d36b8501f10c..884aa8ab48143 100644 --- a/pkgs/by-name/me/metamath/package.nix +++ b/pkgs/by-name/me/metamath/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "metamath"; diff --git a/pkgs/by-name/me/metamorphose2/package.nix b/pkgs/by-name/me/metamorphose2/package.nix index 344376b985a6c..6d997bc327cf0 100644 --- a/pkgs/by-name/me/metamorphose2/package.nix +++ b/pkgs/by-name/me/metamorphose2/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, gettext -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + gettext, + python3, }: stdenv.mkDerivation { @@ -29,16 +34,21 @@ stdenv.mkDerivation { ''; nativeBuildInputs = [ makeWrapper ]; - propagatedBuildInputs = with python3.pkgs; [ mutagen wxpython pillow six ]; + propagatedBuildInputs = with python3.pkgs; [ + mutagen + wxpython + pillow + six + ]; makeFlags = [ "PREFIX=$(out)" ]; meta = with lib; { description = "Graphical mass renaming program for files and folders"; - homepage = "https://github.com/timinaust/metamorphose2"; - license = with licenses; gpl3Plus; + homepage = "https://github.com/timinaust/metamorphose2"; + license = with licenses; gpl3Plus; maintainers = with maintainers; [ ramkromberg ]; - platforms = with platforms; linux; + platforms = with platforms; linux; mainProgram = "metamorphose2"; }; } diff --git a/pkgs/by-name/me/metapixel/package.nix b/pkgs/by-name/me/metapixel/package.nix index 8c9fef0cd484d..f4599e568112c 100644 --- a/pkgs/by-name/me/metapixel/package.nix +++ b/pkgs/by-name/me/metapixel/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libpng, libjpeg, giflib, perl, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libpng, + libjpeg, + giflib, + perl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "metapixel"; @@ -15,7 +24,12 @@ stdenv.mkDerivation rec { makeFlags = [ "metapixel" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpng libjpeg giflib perl ]; + buildInputs = [ + libpng + libjpeg + giflib + perl + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/me/metar/package.nix b/pkgs/by-name/me/metar/package.nix index d1edfb6a761f1..9f7defda371d2 100644 --- a/pkgs/by-name/me/metar/package.nix +++ b/pkgs/by-name/me/metar/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, +}: stdenv.mkDerivation { pname = "metar"; diff --git a/pkgs/by-name/me/metastore/package.nix b/pkgs/by-name/me/metastore/package.nix index 999c771fcfafb..32d85ff6cc4ea 100644 --- a/pkgs/by-name/me/metastore/package.nix +++ b/pkgs/by-name/me/metastore/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, libbsd, fetchFromGitHub }: +{ + lib, + stdenv, + libbsd, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "1.1.2"; diff --git a/pkgs/by-name/me/meteo/package.nix b/pkgs/by-name/me/meteo/package.nix index 226c8078c64e1..bc24c52e249d3 100644 --- a/pkgs/by-name/me/meteo/package.nix +++ b/pkgs/by-name/me/meteo/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitLab -, nix-update-script -, appstream -, desktop-file-utils -, meson -, ninja -, pkg-config -, python3 -, vala -, wrapGAppsHook3 -, glib -, glib-networking -, gtk3 -, json-glib -, libappindicator -, libsoup_2_4 -, webkitgtk_4_0 +{ + lib, + stdenv, + fetchFromGitLab, + nix-update-script, + appstream, + desktop-file-utils, + meson, + ninja, + pkg-config, + python3, + vala, + wrapGAppsHook3, + glib, + glib-networking, + gtk3, + json-glib, + libappindicator, + libsoup_2_4, + webkitgtk_4_0, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/me/meterbridge/package.nix b/pkgs/by-name/me/meterbridge/package.nix index 93e2bfabd175c..3d285d4d8bc4e 100644 --- a/pkgs/by-name/me/meterbridge/package.nix +++ b/pkgs/by-name/me/meterbridge/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, SDL, SDL_image, libjack2 +{ + lib, + stdenv, + fetchurl, + pkg-config, + SDL, + SDL_image, + libjack2, }: stdenv.mkDerivation rec { @@ -10,12 +17,17 @@ stdenv.mkDerivation rec { sha256 = "0s7n3czfpil94vsd7iblv4xrck9c7zvsz4r3yfbkqcv85pjz1viz"; }; - patches = [ ./buf_rect.patch ./fix_build_with_gcc-5.patch]; + patches = [ + ./buf_rect.patch + ./fix_build_with_gcc-5.patch + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = - [ SDL SDL_image libjack2 - ]; + buildInputs = [ + SDL + SDL_image + libjack2 + ]; meta = with lib; { description = "Various meters (VU, PPM, DPM, JF, SCO) for Jack Audio Connection Kit"; diff --git a/pkgs/by-name/me/metersLv2/package.nix b/pkgs/by-name/me/metersLv2/package.nix index d4dbcf210ec91..beeaeb4f5ebfb 100644 --- a/pkgs/by-name/me/metersLv2/package.nix +++ b/pkgs/by-name/me/metersLv2/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, lv2 -, libGLU -, libGL -, gtk2 -, cairo -, pango -, fftwFloat -, libjack2 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + lv2, + libGLU, + libGL, + gtk2, + cairo, + pango, + fftwFloat, + libjack2, }: stdenv.mkDerivation rec { @@ -18,7 +19,16 @@ stdenv.mkDerivation rec { robtkVersion = "0.7.5"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ]; + buildInputs = [ + lv2 + libGLU + libGL + gtk2 + cairo + pango + fftwFloat + libjack2 + ]; src = fetchFromGitHub { owner = "x42"; diff --git a/pkgs/by-name/me/methane/package.nix b/pkgs/by-name/me/methane/package.nix index e1590859837fb..2840b9b048c17 100644 --- a/pkgs/by-name/me/methane/package.nix +++ b/pkgs/by-name/me/methane/package.nix @@ -22,7 +22,7 @@ libXinerama, }: -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "methane"; version = "2.1.0"; diff --git a/pkgs/by-name/me/metis-prover/package.nix b/pkgs/by-name/me/metis-prover/package.nix index bd6f71860bdb9..a3062131c95fc 100644 --- a/pkgs/by-name/me/metis-prover/package.nix +++ b/pkgs/by-name/me/metis-prover/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, perl, mlton }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + mlton, +}: stdenv.mkDerivation { pname = "metis-prover"; diff --git a/pkgs/by-name/me/metis/package.nix b/pkgs/by-name/me/metis/package.nix index cd221e86b1486..bf8a631b51777 100644 --- a/pkgs/by-name/me/metis/package.nix +++ b/pkgs/by-name/me/metis/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, cmake }: +{ + lib, + stdenv, + fetchurl, + unzip, + cmake, +}: stdenv.mkDerivation rec { pname = "metis"; @@ -14,7 +20,10 @@ stdenv.mkDerivation rec { # remove once updated past https://github.com/KarypisLab/METIS/commit/521a2c360dc21ace5c4feb6dc0b7992433e3cb0f "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; - nativeBuildInputs = [ unzip cmake ]; + nativeBuildInputs = [ + unzip + cmake + ]; meta = { description = "Serial graph partitioning and fill-reducing matrix ordering"; diff --git a/pkgs/by-name/me/metronome/package.nix b/pkgs/by-name/me/metronome/package.nix index 6c75f65dd3d7a..9c78def449318 100644 --- a/pkgs/by-name/me/metronome/package.nix +++ b/pkgs/by-name/me/metronome/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, cargo -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita -, gst_all_1 -, darwin +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + cargo, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + gst_all_1, + darwin, }: stdenv.mkDerivation rec { @@ -43,23 +44,22 @@ stdenv.mkDerivation rec { desktop-file-utils ]; - buildInputs = [ - libadwaita - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-bad - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + libadwaita + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; # Workaround for the gettext-sys issue # https://github.com/Koka/gettext-rs/issues/114 - env.NIX_CFLAGS_COMPILE = lib.optionalString - ( - stdenv.cc.isClang && - lib.versionAtLeast stdenv.cc.version "16" - ) - "-Wno-error=incompatible-function-pointer-types"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" + ) "-Wno-error=incompatible-function-pointer-types"; meta = with lib; { description = "Keep the tempo"; diff --git a/pkgs/by-name/me/mev-boost/package.nix b/pkgs/by-name/me/mev-boost/package.nix index 4e66b0e49f6d4..f99e1b0ce3fb4 100644 --- a/pkgs/by-name/me/mev-boost/package.nix +++ b/pkgs/by-name/me/mev-boost/package.nix @@ -1,16 +1,17 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "mev-boost"; version = "1.8"; src = fetchFromGitHub { - owner = "flashbots"; - repo = "mev-boost"; - rev = "v${version}"; - hash = "sha256-EFPVBSSIef3cTrYp3X1xCEOtYcGpuW/GZXHXX+0wGd8="; + owner = "flashbots"; + repo = "mev-boost"; + rev = "v${version}"; + hash = "sha256-EFPVBSSIef3cTrYp3X1xCEOtYcGpuW/GZXHXX+0wGd8="; }; vendorHash = "sha256-xkncfaqNfgPt5LEQ3JyYXHHq6slOUchomzqwkZCgCOM="; diff --git a/pkgs/by-name/mf/mfc465cncupswrapper/package.nix b/pkgs/by-name/mf/mfc465cncupswrapper/package.nix index c64e48a86ce84..89626b1f3c286 100644 --- a/pkgs/by-name/mf/mfc465cncupswrapper/package.nix +++ b/pkgs/by-name/mf/mfc465cncupswrapper/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, makeWrapper -, coreutils -, gnugrep -, gnused -, mfc465cnlpr -, pkgsi686Linux -, psutils +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + gnugrep, + gnused, + mfc465cnlpr, + pkgsi686Linux, + psutils, }: stdenv.mkDerivation rec { @@ -67,9 +68,15 @@ stdenv.mkDerivation rec { ln $dir/cupswrapper/cupswrappermfc465cn $out/lib/cups/filter ln $dir/cupswrapper/brmfc465.ppd $out/share/cups/model sed -n '/!ENDOFWFILTER!/,/!ENDOFWFILTER!/p' "$dir/cupswrapper/cupswrappermfc465cn" | sed '1 br; b; :r s/.*/printer_model=mfc465cn; cat < $out/lib/cups/filter/brlpdwrappermfc465cn - sed -i "/#! \/bin\/sh/a PATH=${lib.makeBinPath [ coreutils gnused gnugrep ]}:\$PATH" $out/lib/cups/filter/brlpdwrappermfc465cn + sed -i "/#! \/bin\/sh/a PATH=${ + lib.makeBinPath [ + coreutils + gnused + gnugrep + ] + }:\$PATH" $out/lib/cups/filter/brlpdwrappermfc465cn chmod 755 $out/lib/cups/filter/brlpdwrappermfc465cn - ''; + ''; meta = with lib; { description = "Brother MFC-465CN CUPS wrapper driver"; diff --git a/pkgs/by-name/mf/mfc465cnlpr/package.nix b/pkgs/by-name/mf/mfc465cnlpr/package.nix index dc0be00a69328..0a86b518db495 100644 --- a/pkgs/by-name/mf/mfc465cnlpr/package.nix +++ b/pkgs/by-name/mf/mfc465cnlpr/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, dpkg -, makeWrapper -, coreutils -, file -, gawk -, ghostscript -, gnused -, pkgsi686Linux +{ + stdenv, + lib, + fetchurl, + dpkg, + makeWrapper, + coreutils, + file, + gawk, + ghostscript, + gnused, + pkgsi686Linux, }: stdenv.mkDerivation rec { @@ -35,25 +36,31 @@ stdenv.mkDerivation rec { dir=$out/usr/local/Brother/Printer/mfc465cn patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $dir/lpd/brmfc465cnfilter wrapProgram $dir/inf/setupPrintcapij \ - --prefix PATH : ${lib.makeBinPath [ - coreutils - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ] + } substituteInPlace $dir/lpd/filtermfc465cn \ --replace "BR_PRT_PATH=" "BR_PRT_PATH=\"$dir/\" #" wrapProgram $dir/lpd/filtermfc465cn \ - --prefix PATH : ${lib.makeBinPath [ - coreutils - file - ghostscript - gnused - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + file + ghostscript + gnused + ] + } substituteInPlace $dir/lpd/psconvertij2 \ --replace '`which gs`' "${ghostscript}/bin/gs" wrapProgram $dir/lpd/psconvertij2 \ - --prefix PATH : ${lib.makeBinPath [ - gnused - gawk - ]} + --prefix PATH : ${ + lib.makeBinPath [ + gnused + gawk + ] + } chmod -R a+w $dir/inf/ ''; @@ -62,6 +69,9 @@ stdenv.mkDerivation rec { homepage = "http://www.brother.com/"; license = licenses.unfree; maintainers = with maintainers; [ phrogg ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/mf/mfc5890cncupswrapper/package.nix b/pkgs/by-name/mf/mfc5890cncupswrapper/package.nix index 2b265498ac6d0..88607d736cef9 100644 --- a/pkgs/by-name/mf/mfc5890cncupswrapper/package.nix +++ b/pkgs/by-name/mf/mfc5890cncupswrapper/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, makeWrapper -, coreutils -, gnugrep -, gnused -, mfc5890cnlpr -, pkgsi686Linux -, psutils +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + gnugrep, + gnused, + mfc5890cnlpr, + pkgsi686Linux, + psutils, }: stdenv.mkDerivation rec { @@ -54,14 +55,21 @@ stdenv.mkDerivation rec { $dir/cupswrapper/cupswrappermfc5890cn chmod +x $out/usr/lib64/cups/filter/brlpdwrappermfc5890cn - wrapProgram $out/usr/lib64/cups/filter/brlpdwrappermfc5890cn --prefix PATH : ${lib.makeBinPath [coreutils psutils gnugrep gnused]} + wrapProgram $out/usr/lib64/cups/filter/brlpdwrappermfc5890cn --prefix PATH : ${ + lib.makeBinPath [ + coreutils + psutils + gnugrep + gnused + ] + } mkdir -p $out/lib/cups/filter mkdir -p $out/share/cups/model ln $out/usr/lib64/cups/filter/brlpdwrappermfc5890cn $out/lib/cups/filter ln $dir/cupswrapper/cupswrappermfc5890cn $out/lib/cups/filter ln $out/usr/share/ppd/brmfc5890cn.ppd $out/share/cups/model - ''; + ''; meta = with lib; { description = "Brother MFC-5890CN CUPS wrapper driver"; diff --git a/pkgs/by-name/mf/mfc5890cnlpr/package.nix b/pkgs/by-name/mf/mfc5890cnlpr/package.nix index 7878d77afc043..225b04ea6e176 100644 --- a/pkgs/by-name/mf/mfc5890cnlpr/package.nix +++ b/pkgs/by-name/mf/mfc5890cnlpr/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, a2ps -, lib -, fetchurl -, dpkg -, makeWrapper -, coreutils -, file -, gawk -, ghostscript -, gnused -, pkgsi686Linux +{ + stdenv, + a2ps, + lib, + fetchurl, + dpkg, + makeWrapper, + coreutils, + file, + gawk, + ghostscript, + gnused, + pkgsi686Linux, }: stdenv.mkDerivation rec { @@ -38,30 +39,36 @@ stdenv.mkDerivation rec { patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $dir/lpd/brmfc5890cnfilter wrapProgram $dir/inf/setupPrintcapij \ - --prefix PATH : ${lib.makeBinPath [ - coreutils - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ] + } substituteInPlace $dir/lpd/filtermfc5890cn \ --replace "/usr/" "$out/usr/" wrapProgram $dir/lpd/filtermfc5890cn \ - --prefix PATH : ${lib.makeBinPath [ - a2ps - coreutils - file - ghostscript - gnused - ]} + --prefix PATH : ${ + lib.makeBinPath [ + a2ps + coreutils + file + ghostscript + gnused + ] + } substituteInPlace $dir/lpd/psconvertij2 \ --replace '`which gs`' "${ghostscript}/bin/gs" wrapProgram $dir/lpd/psconvertij2 \ - --prefix PATH : ${lib.makeBinPath [ - gnused - gawk - ]} + --prefix PATH : ${ + lib.makeBinPath [ + gnused + gawk + ] + } ''; meta = with lib; { @@ -70,6 +77,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ martinramm ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/mf/mfc9140cdncupswrapper/package.nix b/pkgs/by-name/mf/mfc9140cdncupswrapper/package.nix index c38b526186515..7534a62380245 100644 --- a/pkgs/by-name/mf/mfc9140cdncupswrapper/package.nix +++ b/pkgs/by-name/mf/mfc9140cdncupswrapper/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, makeWrapper -, coreutils -, gnugrep -, gnused -, mfc9140cdnlpr -, pkgsi686Linux -, psutils +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + gnugrep, + gnused, + mfc9140cdnlpr, + pkgsi686Linux, + psutils, }: stdenv.mkDerivation rec { @@ -54,9 +55,15 @@ stdenv.mkDerivation rec { ln $dir/cupswrapper/brother_mfc9140cdn_printer_en.ppd $out/share/cups/model sed -n '/!ENDOFWFILTER!/,/!ENDOFWFILTER!/p' "$dir/cupswrapper/cupswrappermfc9140cdn" | sed '1 br; b; :r s/.*/printer_model=mfc9140cdn; cat < $out/lib/cups/filter/brother_lpdwrapper_mfc9140cdn - sed -i "/#! \/bin\/sh/a PATH=${lib.makeBinPath [ coreutils gnused gnugrep ]}:\$PATH" $out/lib/cups/filter/brother_lpdwrapper_mfc9140cdn + sed -i "/#! \/bin\/sh/a PATH=${ + lib.makeBinPath [ + coreutils + gnused + gnugrep + ] + }:\$PATH" $out/lib/cups/filter/brother_lpdwrapper_mfc9140cdn chmod +x $out/lib/cups/filter/brother_lpdwrapper_mfc9140cdn - ''; + ''; meta = with lib; { description = "Brother MFC-9140CDN CUPS wrapper driver"; diff --git a/pkgs/by-name/mf/mfc9140cdnlpr/package.nix b/pkgs/by-name/mf/mfc9140cdnlpr/package.nix index ab20016c7ff0b..9092d2073807f 100644 --- a/pkgs/by-name/mf/mfc9140cdnlpr/package.nix +++ b/pkgs/by-name/mf/mfc9140cdnlpr/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, dpkg -, makeWrapper -, coreutils -, file -, gawk -, ghostscript -, gnused -, pkgsi686Linux +{ + stdenv, + lib, + fetchurl, + dpkg, + makeWrapper, + coreutils, + file, + gawk, + ghostscript, + gnused, + pkgsi686Linux, }: stdenv.mkDerivation rec { @@ -37,30 +38,36 @@ stdenv.mkDerivation rec { patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $dir/lpd/brmfc9140cdnfilter wrapProgram $dir/inf/setupPrintcapij \ - --prefix PATH : ${lib.makeBinPath [ - coreutils - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ] + } substituteInPlace $dir/lpd/filtermfc9140cdn \ --replace "BR_CFG_PATH=" "BR_CFG_PATH=\"$dir/\" #" \ --replace "BR_LPD_PATH=" "BR_LPD_PATH=\"$dir/\" #" wrapProgram $dir/lpd/filtermfc9140cdn \ - --prefix PATH : ${lib.makeBinPath [ - coreutils - file - ghostscript - gnused - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + file + ghostscript + gnused + ] + } substituteInPlace $dir/lpd/psconvertij2 \ --replace '`which gs`' "${ghostscript}/bin/gs" wrapProgram $dir/lpd/psconvertij2 \ - --prefix PATH : ${lib.makeBinPath [ - gnused - gawk - ]} + --prefix PATH : ${ + lib.makeBinPath [ + gnused + gawk + ] + } ''; meta = with lib; { @@ -69,6 +76,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ hexa ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/mf/mfcj470dw-cupswrapper/package.nix b/pkgs/by-name/mf/mfcj470dw-cupswrapper/package.nix index c629a4918901d..393967c59acdc 100644 --- a/pkgs/by-name/mf/mfcj470dw-cupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcj470dw-cupswrapper/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, mfcj470dwlpr, makeWrapper, bash }: +{ + lib, + stdenv, + fetchurl, + mfcj470dwlpr, + makeWrapper, + bash, +}: stdenv.mkDerivation rec { pname = "mfcj470dw-cupswrapper"; @@ -14,7 +21,11 @@ stdenv.mkDerivation rec { bash # shebang ]; - makeFlags = [ "-C" "brcupsconfpt1" "all" ]; + makeFlags = [ + "-C" + "brcupsconfpt1" + "all" + ]; postPatch = '' WRAPPER=cupswrapper/cupswrappermfcj470dw diff --git a/pkgs/by-name/mf/mfcj6510dw-cupswrapper/package.nix b/pkgs/by-name/mf/mfcj6510dw-cupswrapper/package.nix index aead095635b39..eefc4294c4b76 100644 --- a/pkgs/by-name/mf/mfcj6510dw-cupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcj6510dw-cupswrapper/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, mfcj6510dwlpr, makeWrapper, bash }: +{ + lib, + stdenv, + fetchurl, + mfcj6510dwlpr, + makeWrapper, + bash, +}: stdenv.mkDerivation rec { pname = "mfcj6510dw-cupswrapper"; @@ -14,7 +21,11 @@ stdenv.mkDerivation rec { bash # shebang ]; - makeFlags = [ "-C" "brcupsconfig" "all" ]; + makeFlags = [ + "-C" + "brcupsconfig" + "all" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix b/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix index 5fbc3948f0325..46b484e657875 100644 --- a/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, mfcj880dwlpr, makeWrapper, bash }: +{ + lib, + stdenv, + fetchurl, + mfcj880dwlpr, + makeWrapper, + bash, +}: stdenv.mkDerivation rec { pname = "mfcj880dw-cupswrapper"; @@ -14,7 +21,11 @@ stdenv.mkDerivation rec { bash # shebang ]; - makeFlags = [ "-C" "brcupsconfig" "all" ]; + makeFlags = [ + "-C" + "brcupsconfig" + "all" + ]; installPhase = '' runHook preInstall @@ -33,7 +44,7 @@ stdenv.mkDerivation rec { ln -s ${mfcj880dwlpr}/lib/cups/filter/brother_lpdwrapper_mfcj880dw $out/lib/cups/filter/brother_lpdwrapper_mfcj880dw runHook postInstall - ''; + ''; meta = with lib; { homepage = "http://www.brother.com/"; diff --git a/pkgs/by-name/mf/mfcj880dwlpr/package.nix b/pkgs/by-name/mf/mfcj880dwlpr/package.nix index a1d0a9c44f064..7948c720fcbd3 100644 --- a/pkgs/by-name/mf/mfcj880dwlpr/package.nix +++ b/pkgs/by-name/mf/mfcj880dwlpr/package.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchurl, pkgsi686Linux, dpkg, makeWrapper, coreutils, gnused, gawk, file, cups, util-linux, xxd, runtimeShell -, ghostscript, a2ps }: +{ + lib, + stdenv, + fetchurl, + pkgsi686Linux, + dpkg, + makeWrapper, + coreutils, + gnused, + gawk, + file, + cups, + util-linux, + xxd, + runtimeShell, + ghostscript, + a2ps, +}: # Why: # The executable "brprintconf_mfcj880dw" binary is looking for "/opt/brother/Printers/%s/inf/br%sfunc" and "/opt/brother/Printers/%s/inf/br%src". @@ -29,7 +45,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups ghostscript dpkg a2ps ]; + buildInputs = [ + cups + ghostscript + dpkg + a2ps + ]; dontUnpack = true; @@ -77,18 +98,32 @@ stdenv.mkDerivation rec { ln -s $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw $out/lib/cups/filter/brother_lpdwrapper_mfcj880dw wrapProgram $out/opt/brother/Printers/mfcj880dw/lpd/psconvertij2 \ - --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + gnused + gawk + ] + } wrapProgram $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw \ - --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused file ghostscript a2ps ] } - ''; + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + gnused + file + ghostscript + a2ps + ] + } + ''; meta = with lib; { - description = "Brother MFC-J880DW LPR driver"; + description = "Brother MFC-J880DW LPR driver"; downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj880dw_us_eu_as&os=128"; - homepage = "http://www.brother.com/"; + homepage = "http://www.brother.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; unfree; - maintainers = with maintainers; [ _6543 ]; - platforms = with platforms; linux; + license = with licenses; unfree; + maintainers = with maintainers; [ _6543 ]; + platforms = with platforms; linux; }; } diff --git a/pkgs/by-name/mf/mfcl2700dncupswrapper/package.nix b/pkgs/by-name/mf/mfcl2700dncupswrapper/package.nix index 0b145dfa38535..1de0781cd6d0d 100644 --- a/pkgs/by-name/mf/mfcl2700dncupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcl2700dncupswrapper/package.nix @@ -1,4 +1,15 @@ -{ coreutils, dpkg, fetchurl, gnugrep, gnused, makeWrapper, mfcl2700dnlpr, perl, lib, stdenv }: +{ + coreutils, + dpkg, + fetchurl, + gnugrep, + gnused, + makeWrapper, + mfcl2700dnlpr, + perl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "mfcl2700dncupswrapper"; @@ -9,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "07w48mah0xbv4h8vsh1qd5cd4b463bx8y6gc5x9pfgsxsy6h6da1"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; dontUnpack = true; @@ -25,7 +39,13 @@ stdenv.mkDerivation rec { --replace "PRINTER =~" "PRINTER = \"MFCL2700DN\"; #" wrapProgram $dir/cupswrapper/brother_lpdwrapper_MFCL2700DN \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnugrep + gnused + ] + } mkdir -p $out/lib/cups/filter mkdir -p $out/share/cups/model diff --git a/pkgs/by-name/mf/mfcl2720dwcupswrapper/package.nix b/pkgs/by-name/mf/mfcl2720dwcupswrapper/package.nix index abf25ae69850e..9538e5a4f367e 100644 --- a/pkgs/by-name/mf/mfcl2720dwcupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcl2720dwcupswrapper/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, dpkg, makeWrapper, coreutils, gnugrep, gnused, perl, mfcl2720dwlpr }: +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + gnugrep, + gnused, + perl, + mfcl2720dwlpr, +}: stdenv.mkDerivation rec { pname = "mfcl2720dwcupswrapper"; @@ -9,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "6d131926ce22c51b1854d2b91e426cc7ecbf5d6dabd698ef51a417090e35c598"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; dontUnpack = true; @@ -28,7 +42,13 @@ stdenv.mkDerivation rec { --replace /usr/bin/perl ${perl}/bin/perl wrapProgram $dir/cupswrapper/brother_lpdwrapper_MFCL2720DW \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnugrep + gnused + ] + } mkdir -p $out/lib/cups/filter mkdir -p $out/share/cups/model @@ -41,7 +61,10 @@ stdenv.mkDerivation rec { description = "Brother MFC-L2720DW CUPS wrapper driver"; homepage = "http://www.brother.com/"; license = lib.licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ lib.maintainers.xeji ]; }; } diff --git a/pkgs/by-name/mf/mfcl2720dwlpr/package.nix b/pkgs/by-name/mf/mfcl2720dwlpr/package.nix index 36600a4505aaf..3c69ca44469da 100644 --- a/pkgs/by-name/mf/mfcl2720dwlpr/package.nix +++ b/pkgs/by-name/mf/mfcl2720dwlpr/package.nix @@ -1,4 +1,17 @@ -{ pkgs, lib, stdenv, fetchurl, dpkg, makeWrapper, coreutils, ghostscript, gnugrep, gnused, which, perl }: +{ + pkgs, + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + ghostscript, + gnugrep, + gnused, + which, + perl, +}: stdenv.mkDerivation rec { pname = "mfcl2720dwlpr"; @@ -9,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "088217e9ad118ec1e7f3d3f8f60f3bd839fe2c7d7c1136b249e9ac648dc742af"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; dontUnpack = true; @@ -24,9 +40,15 @@ stdenv.mkDerivation rec { --replace "PRINTER =~" "PRINTER = \"MFCL2720DW\"; #" wrapProgram $dir/lpd/filter_MFCL2720DW \ - --prefix PATH : ${lib.makeBinPath [ - coreutils ghostscript gnugrep gnused which - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + which + ] + } # need to use i686 glibc here, these are 32bit proprietary binaries interpreter=${pkgs.pkgsi686Linux.glibc}/lib/ld-linux.so.2 @@ -40,7 +62,10 @@ stdenv.mkDerivation rec { homepage = "http://www.brother.com/"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ lib.maintainers.xeji ]; }; } diff --git a/pkgs/by-name/mf/mfcl2740dwcupswrapper/package.nix b/pkgs/by-name/mf/mfcl2740dwcupswrapper/package.nix index 9b2fe4ce1736a..b8b9ff1d099c5 100644 --- a/pkgs/by-name/mf/mfcl2740dwcupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcl2740dwcupswrapper/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, dpkg, makeWrapper, coreutils, gnugrep, gnused, perl, mfcl2740dwlpr }: +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + gnugrep, + gnused, + perl, + mfcl2740dwlpr, +}: stdenv.mkDerivation rec { pname = "mfcl2740dwcupswrapper"; @@ -9,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "078453e19f20ab6c7fc4d63c3e09f162f3d1410c04c23a294b6ffbd720b35ffb"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; unpackPhase = "dpkg-deb -x $src $out"; @@ -26,7 +40,13 @@ stdenv.mkDerivation rec { --replace /usr/bin/perl ${perl}/bin/perl wrapProgram $dir/cupswrapper/brother_lpdwrapper_MFCL2740DW \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnugrep + gnused + ] + } mkdir -p $out/lib/cups/filter mkdir -p $out/share/cups/model @@ -39,7 +59,10 @@ stdenv.mkDerivation rec { description = "Brother MFC-L2740DW CUPS wrapper driver"; homepage = "http://www.brother.com/"; license = lib.licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ ]; }; } diff --git a/pkgs/by-name/mf/mfcl2740dwlpr/package.nix b/pkgs/by-name/mf/mfcl2740dwlpr/package.nix index 162b019ac9b13..53ce0da9669f6 100644 --- a/pkgs/by-name/mf/mfcl2740dwlpr/package.nix +++ b/pkgs/by-name/mf/mfcl2740dwlpr/package.nix @@ -1,4 +1,17 @@ -{ pkgsi686Linux, lib, stdenv, fetchurl, dpkg, makeWrapper, coreutils, ghostscript, gnugrep, gnused, which, perl }: +{ + pkgsi686Linux, + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + ghostscript, + gnugrep, + gnused, + which, + perl, +}: stdenv.mkDerivation rec { pname = "mfcl2740dwlpr"; @@ -9,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "10a2bc672bd54e718b478f3afc7e47d451557f7d5513167d3ad349a3d00bffaf"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; unpackPhase = "dpkg-deb -x $src $out"; @@ -22,9 +38,15 @@ stdenv.mkDerivation rec { --replace "PRINTER =~" "PRINTER = \"MFCL2740DW\"; #" wrapProgram $dir/lpd/filter_MFCL2740DW \ - --prefix PATH : ${lib.makeBinPath [ - coreutils ghostscript gnugrep gnused which - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + which + ] + } # need to use i686 glibc here, these are 32bit proprietary binaries interpreter=${pkgsi686Linux.glibc}/lib/ld-linux.so.2 @@ -38,7 +60,10 @@ stdenv.mkDerivation rec { homepage = "http://www.brother.com/"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ ]; }; } diff --git a/pkgs/by-name/mf/mfcl8690cdwcupswrapper/package.nix b/pkgs/by-name/mf/mfcl8690cdwcupswrapper/package.nix index dbc6a8fc8e5ec..f18bec338f8af 100644 --- a/pkgs/by-name/mf/mfcl8690cdwcupswrapper/package.nix +++ b/pkgs/by-name/mf/mfcl8690cdwcupswrapper/package.nix @@ -1,5 +1,15 @@ -{ coreutils, dpkg, fetchurl, gnugrep, gnused, makeWrapper, -mfcl8690cdwlpr, perl, lib, stdenv}: +{ + coreutils, + dpkg, + fetchurl, + gnugrep, + gnused, + makeWrapper, + mfcl8690cdwlpr, + perl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "mfcl8690cdwcupswrapper"; @@ -10,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "1bl9r8mmj4vnanwpfjqgq3c9lf2v46wp5k6r2n9iqprf7ldd1kb2"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; dontUnpack = true; @@ -26,14 +39,20 @@ stdenv.mkDerivation rec { --replace "PRINTER =~" "PRINTER = \"mfcl8690cdw\"; #" wrapProgram $dir/cupswrapper/brother_lpdwrapper_mfcl8690cdw \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnugrep + gnused + ] + } mkdir -p $out/lib/cups/filter mkdir -p $out/share/cups/model ln $dir/cupswrapper/brother_lpdwrapper_mfcl8690cdw $out/lib/cups/filter ln $dir/cupswrapper/brother_mfcl8690cdw_printer_en.ppd $out/share/cups/model - ''; + ''; meta = { description = "Brother MFC-L8690CDW CUPS wrapper driver"; diff --git a/pkgs/by-name/mf/mfcl8690cdwlpr/package.nix b/pkgs/by-name/mf/mfcl8690cdwlpr/package.nix index f290b9563cc75..bcdb8a2ce67bb 100644 --- a/pkgs/by-name/mf/mfcl8690cdwlpr/package.nix +++ b/pkgs/by-name/mf/mfcl8690cdwlpr/package.nix @@ -1,5 +1,18 @@ -{ coreutils, dpkg, fetchurl, file, ghostscript, gnugrep, gnused, -makeWrapper, perl, pkgs, lib, stdenv, which }: +{ + coreutils, + dpkg, + fetchurl, + file, + ghostscript, + gnugrep, + gnused, + makeWrapper, + perl, + pkgs, + lib, + stdenv, + which, +}: stdenv.mkDerivation rec { pname = "mfcl8690cdwlpr"; @@ -10,7 +23,10 @@ stdenv.mkDerivation rec { sha256 = "0x8zd4b1psmw1znp2ibncs37xm5mljcy9yza2rx8jm8lp0a3l85v"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; dontUnpack = true; @@ -26,9 +42,16 @@ stdenv.mkDerivation rec { --replace "PRINTER =~" "PRINTER = \"mfcl8690cdw\"; #" wrapProgram $filter \ - --prefix PATH : ${lib.makeBinPath [ - coreutils file ghostscript gnugrep gnused which - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + file + ghostscript + gnugrep + gnused + which + ] + } # need to use i686 glibc here, these are 32bit proprietary binaries interpreter=${pkgs.pkgsi686Linux.glibc}/lib/ld-linux.so.2 @@ -41,6 +64,9 @@ stdenv.mkDerivation rec { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; maintainers = [ ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/mf/mfcuk/package.nix b/pkgs/by-name/mf/mfcuk/package.nix index 74761dd994e89..8d10b3eb20acd 100644 --- a/pkgs/by-name/mf/mfcuk/package.nix +++ b/pkgs/by-name/mf/mfcuk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libnfc }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libnfc, +}: stdenv.mkDerivation { pname = "mfcuk"; diff --git a/pkgs/by-name/mf/mfoc-hardnested/package.nix b/pkgs/by-name/mf/mfoc-hardnested/package.nix index b8b46e45c7a1d..a753eec1c7abd 100644 --- a/pkgs/by-name/mf/mfoc-hardnested/package.nix +++ b/pkgs/by-name/mf/mfoc-hardnested/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libnfc -, xz +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libnfc, + xz, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/mf/mfoc/package.nix b/pkgs/by-name/mf/mfoc/package.nix index bc85261305d3a..fb94472150312 100644 --- a/pkgs/by-name/mf/mfoc/package.nix +++ b/pkgs/by-name/mf/mfoc/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libnfc }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libnfc, +}: stdenv.mkDerivation rec { pname = "mfoc"; @@ -22,7 +30,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libnfc ]; meta = with lib; { diff --git a/pkgs/by-name/mf/mftrace/package.nix b/pkgs/by-name/mf/mftrace/package.nix index 7acc7c81b28f7..a384846e7ec1c 100644 --- a/pkgs/by-name/mf/mftrace/package.nix +++ b/pkgs/by-name/mf/mftrace/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, fetchFromGitHub -, lib -, makeWrapper -, autoreconfHook -, python3 -, fontforge -, potrace -, texlive +{ + stdenv, + fetchFromGitHub, + lib, + makeWrapper, + autoreconfHook, + python3, + fontforge, + potrace, + texlive, }: /* @@ -33,9 +34,17 @@ stdenv.mkDerivation (finalAttrs: rec { sha256 = "02ik25aczkbi10jrjlnxby3fmixxrwm2k5r4fkfif3bjfym7nqbc"; }; - nativeBuildInputs = [ makeWrapper autoreconfHook python3 potrace ]; + nativeBuildInputs = [ + makeWrapper + autoreconfHook + python3 + potrace + ]; - buildInputs = [ fontforge potrace ]; + buildInputs = [ + fontforge + potrace + ]; postInstall = '' wrapProgram $out/bin/mftrace --prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs} @@ -43,7 +52,11 @@ stdenv.mkDerivation (finalAttrs: rec { # experimental texlive.combine support # (note that only the bin/ folder will be combined into texlive) - passthru.tlDeps = with texlive; [ kpathsea t1utils metafont ]; + passthru.tlDeps = with texlive; [ + kpathsea + t1utils + metafont + ]; meta = with lib; { description = "Scalable PostScript Fonts for MetaFont"; @@ -53,7 +66,10 @@ stdenv.mkDerivation (finalAttrs: rec { TTF (TrueType) font. ''; homepage = "https://lilypond.org/mftrace/"; - license = with licenses; [ gpl2Only mit ]; + license = with licenses; [ + gpl2Only + mit + ]; maintainers = with maintainers; [ xworld21 ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/mg/mg/package.nix b/pkgs/by-name/mg/mg/package.nix index 2b69571a9109b..b88c01f605ae8 100644 --- a/pkgs/by-name/mg/mg/package.nix +++ b/pkgs/by-name/mg/mg/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, ncurses, buildPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + ncurses, + buildPackages, +}: stdenv.mkDerivation { pname = "mg"; @@ -17,7 +24,9 @@ stdenv.mkDerivation { enableParallelBuilding = true; - makeFlags = [ "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" ]; + makeFlags = [ + "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" + ]; installPhase = '' install -m 555 -Dt $out/bin mg diff --git a/pkgs/by-name/mg/mgba/package.nix b/pkgs/by-name/mg/mgba/package.nix index a01507c96361c..6ebe1ca2d6acc 100644 --- a/pkgs/by-name/mg/mgba/package.nix +++ b/pkgs/by-name/mg/mgba/package.nix @@ -19,11 +19,12 @@ }: let - inherit (libsForQt5) - qtbase - qtmultimedia - qttools - wrapQtAppsHook; + inherit (libsForQt5) + qtbase + qtmultimedia + qttools + wrapQtAppsHook + ; in stdenv.mkDerivation (finalAttrs: { pname = "mgba"; @@ -36,7 +37,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-GATjKpY4EYgep4uquBuaxDsS13aIoxVicAYs/KAs1lE="; }; - outputs = [ "out" "dev" "doc" "lib" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "lib" + "man" + ]; nativeBuildInputs = [ SDL2 @@ -58,8 +65,7 @@ stdenv.mkDerivation (finalAttrs: { qtbase qtmultimedia qttools - ] - ++ lib.optionals enableDiscordRpc [ discord-rpc ]; + ] ++ lib.optionals enableDiscordRpc [ discord-rpc ]; cmakeFlags = [ (lib.cmakeBool "USE_DISCORD_RPC" enableDiscordRpc) diff --git a/pkgs/by-name/mg/mgmt/package.nix b/pkgs/by-name/mg/mgmt/package.nix index bfa85ef566fdf..c574e8f2dd618 100644 --- a/pkgs/by-name/mg/mgmt/package.nix +++ b/pkgs/by-name/mg/mgmt/package.nix @@ -1,13 +1,14 @@ -{ augeas -, buildGoModule -, fetchFromGitHub -, gotools -, lib -, libvirt -, libxml2 -, nex -, pkg-config -, ragel +{ + augeas, + buildGoModule, + fetchFromGitHub, + gotools, + lib, + libvirt, + libxml2, + nex, + pkg-config, + ragel, }: buildGoModule rec { pname = "mgmt"; @@ -46,7 +47,6 @@ buildGoModule rec { ragel ]; - ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/mh/mhddfs/package.nix b/pkgs/by-name/mh/mhddfs/package.nix index 58986c25dbf27..b970ef80a714a 100644 --- a/pkgs/by-name/mh/mhddfs/package.nix +++ b/pkgs/by-name/mh/mhddfs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fuse, pkg-config, attr, uthash }: +{ + lib, + stdenv, + fetchurl, + fuse, + pkg-config, + attr, + uthash, +}: stdenv.mkDerivation rec { pname = "mhddfs"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse attr uthash ]; + buildInputs = [ + fuse + attr + uthash + ]; patches = [ ./fix-format-security-error.patch diff --git a/pkgs/by-name/mi/mi2ly/package.nix b/pkgs/by-name/mi/mi2ly/package.nix index 8b03f75b398d9..56fb4f5b3a877 100644 --- a/pkgs/by-name/mi/mi2ly/package.nix +++ b/pkgs/by-name/mi/mi2ly/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mi2ly"; diff --git a/pkgs/by-name/mi/micro-httpd/package.nix b/pkgs/by-name/mi/micro-httpd/package.nix index 2ab1597902666..8a47f8eff38ee 100644 --- a/pkgs/by-name/mi/micro-httpd/package.nix +++ b/pkgs/by-name/mi/micro-httpd/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "micro-httpd"; version = "20140814"; src = fetchurl { - url = "https://acme.com/software/micro_httpd/micro_httpd_14Aug2014.tar.gz"; + url = "https://acme.com/software/micro_httpd/micro_httpd_14Aug2014.tar.gz"; sha256 = "0mlm24bi31s0s8w55i0sysv2nc1n2x4cfp6dm47slz49h2fz24rk"; }; @@ -16,12 +20,11 @@ stdenv.mkDerivation { ''; meta = with lib; { - homepage = "http://acme.com/software/micro_httpd/"; + homepage = "http://acme.com/software/micro_httpd/"; description = "Really small HTTP server"; - license = licenses.bsd2; - platforms = platforms.unix; + license = licenses.bsd2; + platforms = platforms.unix; maintainers = with maintainers; [ copumpkin ]; mainProgram = "micro_httpd"; }; } - diff --git a/pkgs/by-name/mi/microbin/package.nix b/pkgs/by-name/mi/microbin/package.nix index 62cb97ce1b2fb..4a1012f0f0493 100644 --- a/pkgs/by-name/mi/microbin/package.nix +++ b/pkgs/by-name/mi/microbin/package.nix @@ -1,12 +1,13 @@ -{ darwin -, fetchFromGitHub -, fetchpatch -, lib -, oniguruma -, openssl -, pkg-config -, rustPlatform -, stdenv +{ + darwin, + fetchFromGitHub, + fetchpatch, + lib, + oniguruma, + openssl, + pkg-config, + rustPlatform, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -64,12 +65,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - oniguruma - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + oniguruma + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; env = { OPENSSL_NO_VENDOR = true; @@ -81,7 +84,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/szabodanika/microbin"; changelog = "https://github.com/szabodanika/microbin/releases/tag/v${version}"; license = licenses.bsd3; - maintainers = with maintainers; [ dit7ya figsoda ]; + maintainers = with maintainers; [ + dit7ya + figsoda + ]; mainProgram = "microbin"; }; } diff --git a/pkgs/by-name/mi/microcom/package.nix b/pkgs/by-name/mi/microcom/package.nix index 8f9639dcfcd48..8ed6d286b2fad 100644 --- a/pkgs/by-name/mi/microcom/package.nix +++ b/pkgs/by-name/mi/microcom/package.nix @@ -1,8 +1,10 @@ -{ stdenv, +{ + stdenv, lib, fetchFromGitHub, readline, - autoreconfHook }: + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "microcom"; diff --git a/pkgs/by-name/mi/micromamba/package.nix b/pkgs/by-name/mi/micromamba/package.nix index 8707d4099f95c..fa003a4397634 100644 --- a/pkgs/by-name/mi/micromamba/package.nix +++ b/pkgs/by-name/mi/micromamba/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, bzip2 -, cli11 -, cmake -, curl -, ghc_filesystem -, libarchive -, libsolv -, yaml-cpp -, nlohmann_json -, python3 -, reproc -, spdlog -, tl-expected +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + bzip2, + cli11, + cmake, + curl, + ghc_filesystem, + libarchive, + libsolv, + yaml-cpp, + nlohmann_json, + python3, + reproc, + spdlog, + tl-expected, }: let diff --git a/pkgs/by-name/mi/micronaut/package.nix b/pkgs/by-name/mi/micronaut/package.nix index 7fe24e39c0262..90e0334f2df92 100644 --- a/pkgs/by-name/mi/micronaut/package.nix +++ b/pkgs/by-name/mi/micronaut/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles }: +{ + lib, + stdenv, + fetchzip, + jdk, + makeWrapper, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "micronaut"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-h0C3mRV74tpoVoMDdl9TVAWk8/P7ngjPFM2c3qybTCE="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/mi/micronucleus/package.nix b/pkgs/by-name/mi/micronucleus/package.nix index d7141324dc971..51369ef5a7043 100644 --- a/pkgs/by-name/mi/micronucleus/package.nix +++ b/pkgs/by-name/mi/micronucleus/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, libusb-compat-0_1 -, fetchFromGitHub -, lib +{ + stdenv, + libusb-compat-0_1, + fetchFromGitHub, + lib, }: stdenv.mkDerivation rec { pname = "micronucleus"; diff --git a/pkgs/by-name/mi/microplane/package.nix b/pkgs/by-name/mi/microplane/package.nix index 1b16066b488a0..fcae4cf42b71d 100644 --- a/pkgs/by-name/mi/microplane/package.nix +++ b/pkgs/by-name/mi/microplane/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "microplane"; @@ -14,7 +18,9 @@ buildGoModule rec { vendorHash = "sha256-DizwNph3hmSRoozvJgs3Qw/c9iMTRR1gMGC60pBCFSk="; ldflags = [ - "-s" "-w" "-X main.version=${version}" + "-s" + "-w" + "-X main.version=${version}" ]; postInstall = '' diff --git a/pkgs/by-name/mi/micropython/package.nix b/pkgs/by-name/mi/micropython/package.nix index 161d584cc0070..fb75f70d01c8a 100644 --- a/pkgs/by-name/mi/micropython/package.nix +++ b/pkgs/by-name/mi/micropython/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, python3 -, libffi -, readline +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + python3, + libffi, + readline, }: stdenv.mkDerivation rec { @@ -29,12 +30,20 @@ stdenv.mkDerivation rec { ''; }; + nativeBuildInputs = [ + pkg-config + python3 + ]; - nativeBuildInputs = [ pkg-config python3 ]; + buildInputs = [ + libffi + readline + ]; - buildInputs = [ libffi readline ]; - - makeFlags = [ "-C" "ports/unix" ]; # also builds mpy-cross + makeFlags = [ + "-C" + "ports/unix" + ]; # also builds mpy-cross enableParallelBuilding = true; @@ -42,10 +51,14 @@ stdenv.mkDerivation rec { __darwinAllowLocalNetworking = true; # needed for select_poll_eintr test - skippedTests = " -e select_poll_fd" - + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) " -e ffi_callback -e float_parse -e float_parse_doubleproc" - + lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) " -e float_parse" - ; + skippedTests = + " -e select_poll_fd" + + lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) " -e ffi_callback -e float_parse -e float_parse_doubleproc" + + lib.optionalString ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 + ) " -e float_parse"; checkPhase = '' runHook preCheck @@ -68,6 +81,9 @@ stdenv.mkDerivation rec { homepage = "https://micropython.org"; platforms = platforms.unix; license = licenses.mit; - maintainers = with maintainers; [ prusnak sgo ]; + maintainers = with maintainers; [ + prusnak + sgo + ]; }; } diff --git a/pkgs/by-name/mi/microscheme/package.nix b/pkgs/by-name/mi/microscheme/package.nix index d630082c76fb4..8c78419044384 100644 --- a/pkgs/by-name/mi/microscheme/package.nix +++ b/pkgs/by-name/mi/microscheme/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, unixtools }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + unixtools, +}: stdenv.mkDerivation rec { pname = "microscheme"; @@ -15,7 +21,10 @@ stdenv.mkDerivation rec { substituteInPlace makefile --replace gcc ${stdenv.cc.targetPrefix}cc ''; - nativeBuildInputs = [ makeWrapper unixtools.xxd ]; + nativeBuildInputs = [ + makeWrapper + unixtools.xxd + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/by-name/mi/microserver/package.nix b/pkgs/by-name/mi/microserver/package.nix index 810128a5d6eaa..bc2c3d5b17081 100644 --- a/pkgs/by-name/mi/microserver/package.nix +++ b/pkgs/by-name/mi/microserver/package.nix @@ -1,8 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, +}: rustPlatform.buildRustPackage rec { - pname = "microserver"; - version = "0.2.1"; + pname = "microserver"; + version = "0.2.1"; src = fetchFromGitHub { owner = "robertohuertasm"; @@ -13,7 +19,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-JGsMtlWuww1rYE4w6i2VlyD6gGHqnLehLDZmW57R+Fo="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; [ Security ] + ); meta = with lib; { homepage = "https://github.com/robertohuertasm/microserver"; diff --git a/pkgs/by-name/mi/microsocks/package.nix b/pkgs/by-name/mi/microsocks/package.nix index 8c773bc1c3fe3..e53fb2d2bc78e 100644 --- a/pkgs/by-name/mi/microsocks/package.nix +++ b/pkgs/by-name/mi/microsocks/package.nix @@ -1,4 +1,5 @@ -{ stdenv, +{ + stdenv, fetchFromGitHub, lib, }: diff --git a/pkgs/by-name/mi/microsoft-gsl/package.nix b/pkgs/by-name/mi/microsoft-gsl/package.nix index 59df670e9ec51..1805605685117 100644 --- a/pkgs/by-name/mi/microsoft-gsl/package.nix +++ b/pkgs/by-name/mi/microsoft-gsl/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, gtest -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + gtest, + pkg-config, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { hash = "sha256-cXDFqt2KgMFGfdh6NGE+JmP4R0Wm9LNHM0eIblYe6zU="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ gtest ]; # error: unsafe buffer access @@ -45,6 +49,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Microsoft/GSL"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ thoughtpolice yuriaisaka ]; + maintainers = with maintainers; [ + thoughtpolice + yuriaisaka + ]; }; } diff --git a/pkgs/by-name/mi/mictray/package.nix b/pkgs/by-name/mi/mictray/package.nix index f53ae6c48d0e3..b8d1112eee2d7 100644 --- a/pkgs/by-name/mi/mictray/package.nix +++ b/pkgs/by-name/mi/mictray/package.nix @@ -1,15 +1,16 @@ -{ fetchFromGitHub -, gtk3 -, lib -, libgee -, libnotify -, meson -, ninja -, pkg-config -, pulseaudio -, stdenv -, vala -, wrapGAppsHook3 +{ + fetchFromGitHub, + gtk3, + lib, + libgee, + libnotify, + meson, + ninja, + pkg-config, + pulseaudio, + stdenv, + vala, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mi/mid2key/package.nix b/pkgs/by-name/mi/mid2key/package.nix index 95b48779459a2..d1e3fb1c2b722 100644 --- a/pkgs/by-name/mi/mid2key/package.nix +++ b/pkgs/by-name/mi/mid2key/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, alsa-lib, libX11, libXi, libXtst, xorgproto }: +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + libX11, + libXi, + libXtst, + xorgproto, +}: stdenv.mkDerivation rec { pname = "mid2key"; @@ -11,7 +20,13 @@ stdenv.mkDerivation rec { sha256 = "Zo0mqdBJ1JKD9ZCA8te3f5opyYslFncYcx9iuXq2B9g="; }; - buildInputs = [ alsa-lib libX11 libXi libXtst xorgproto ]; + buildInputs = [ + alsa-lib + libX11 + libXi + libXtst + xorgproto + ]; buildPhase = "make"; diff --git a/pkgs/by-name/mi/midi-trigger/package.nix b/pkgs/by-name/mi/midi-trigger/package.nix index 9fcf49e5ae667..c05218a923bd1 100644 --- a/pkgs/by-name/mi/midi-trigger/package.nix +++ b/pkgs/by-name/mi/midi-trigger/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + lv2, +}: stdenv.mkDerivation rec { pname = "midi-trigger"; diff --git a/pkgs/by-name/mi/midicsv/package.nix b/pkgs/by-name/mi/midicsv/package.nix index 673503d51d7b8..5712040004b7a 100644 --- a/pkgs/by-name/mi/midicsv/package.nix +++ b/pkgs/by-name/mi/midicsv/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "midicsv"; diff --git a/pkgs/by-name/mi/midimonster/package.nix b/pkgs/by-name/mi/midimonster/package.nix index 8ff97968b0008..dc92d792535ab 100644 --- a/pkgs/by-name/mi/midimonster/package.nix +++ b/pkgs/by-name/mi/midimonster/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, gnumake -, gcc -, pkg-config -, lua5_4 -, openssl -, jack1 -, python3 -, alsa-lib -, ncurses -, libevdev +{ + lib, + stdenv, + fetchFromGitHub, + gnumake, + gcc, + pkg-config, + lua5_4, + openssl, + jack1, + python3, + alsa-lib, + ncurses, + libevdev, }: stdenv.mkDerivation { @@ -18,7 +19,17 @@ stdenv.mkDerivation { version = "0.6.0"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [gnumake gcc lua5_4 openssl jack1 python3 alsa-lib ncurses libevdev]; + buildInputs = [ + gnumake + gcc + lua5_4 + openssl + jack1 + python3 + alsa-lib + ncurses + libevdev + ]; src = fetchFromGitHub { repo = "midimonster"; @@ -30,7 +41,10 @@ stdenv.mkDerivation { doCheck = true; enableParallelBuilding = true; - outputs = ["out" "man"]; + outputs = [ + "out" + "man" + ]; buildPhase = '' PLUGINS=$out/lib/midimonster make all @@ -51,7 +65,7 @@ stdenv.mkDerivation { description = "Multi-protocol translation tool"; license = licenses.bsd2; platforms = platforms.unix; - maintainers = with maintainers; [keldu]; + maintainers = with maintainers; [ keldu ]; mainProgram = "midimonster"; }; } diff --git a/pkgs/by-name/mi/midisheetmusic/package.nix b/pkgs/by-name/mi/midisheetmusic/package.nix index 645c69a1c86b8..211e012b7e8a2 100644 --- a/pkgs/by-name/mi/midisheetmusic/package.nix +++ b/pkgs/by-name/mi/midisheetmusic/package.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchurl -, mono, dotnetPackages, makeWrapper -, gtk2, cups, timidity }: +{ + lib, + stdenv, + fetchurl, + mono, + dotnetPackages, + makeWrapper, + gtk2, + cups, + timidity, +}: let version = "2.6"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "midisheetmusic"; inherit version; @@ -14,7 +23,10 @@ in stdenv.mkDerivation { }; nativeCheckInputs = (with dotnetPackages; [ NUnitConsole ]); - nativeBuildInputs = [ mono makeWrapper ]; + nativeBuildInputs = [ + mono + makeWrapper + ]; buildPhase = '' for i in Classes/MidiPlayer.cs Classes/MidiSheetMusic.cs @@ -47,7 +59,12 @@ in stdenv.mkDerivation { cp bin/Debug/MidiSheetMusic.exe $out/bin/.MidiSheetMusic.exe makeWrapper ${mono}/bin/mono $out/bin/midisheetmusic.mono.exe \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gtk2 cups ]} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + gtk2 + cups + ] + } \ --prefix PATH : ${lib.makeBinPath [ timidity ]} \ --add-flags $out/bin/.MidiSheetMusic.exe ''; diff --git a/pkgs/by-name/mi/midori-unwrapped/package.nix b/pkgs/by-name/mi/midori-unwrapped/package.nix index 74f25b636df0c..70f3d294493dd 100644 --- a/pkgs/by-name/mi/midori-unwrapped/package.nix +++ b/pkgs/by-name/mi/midori-unwrapped/package.nix @@ -1,21 +1,23 @@ -{ lib, stdenv -, fetchurl -, cmake -, ninja -, pkg-config -, intltool -, vala -, wrapGAppsHook3 -, gcr -, libpeas -, gtk3 -, webkitgtk_4_0 -, sqlite -, gsettings-desktop-schemas -, libsoup_2_4 -, glib-networking -, json-glib -, libarchive +{ + lib, + stdenv, + fetchurl, + cmake, + ninja, + pkg-config, + intltool, + vala, + wrapGAppsHook3, + gcr, + libpeas, + gtk3, + webkitgtk_4_0, + sqlite, + gsettings-desktop-schemas, + libsoup_2_4, + glib-networking, + json-glib, + libarchive, }: stdenv.mkDerivation rec { @@ -59,6 +61,9 @@ stdenv.mkDerivation rec { homepage = "https://www.midori-browser.org/"; license = with licenses; [ lgpl21Plus ]; platforms = with platforms; linux; - maintainers = with maintainers; [ raskin ramkromberg ]; + maintainers = with maintainers; [ + raskin + ramkromberg + ]; }; } diff --git a/pkgs/by-name/mi/migmix/package.nix b/pkgs/by-name/mi/migmix/package.nix index 5c5212189e207..7e7bbbcccedfd 100644 --- a/pkgs/by-name/mi/migmix/package.nix +++ b/pkgs/by-name/mi/migmix/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "migmix"; diff --git a/pkgs/by-name/mi/migra/package.nix b/pkgs/by-name/mi/migra/package.nix index 8fd3ef6332edc..f911232a55d79 100644 --- a/pkgs/by-name/mi/migra/package.nix +++ b/pkgs/by-name/mi/migra/package.nix @@ -1,9 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, postgresql -, postgresqlTestHook -, +{ + lib, + python3, + fetchFromGitHub, + postgresql, + postgresqlTestHook, }: python3.pkgs.buildPythonApplication rec { pname = "migra"; diff --git a/pkgs/by-name/mi/migu/package.nix b/pkgs/by-name/mi/migu/package.nix index 76c4afc706e66..0476bd0729877 100644 --- a/pkgs/by-name/mi/migu/package.nix +++ b/pkgs/by-name/mi/migu/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "migu"; diff --git a/pkgs/by-name/mi/mihomo/package.nix b/pkgs/by-name/mi/mihomo/package.nix index fe55472e1e523..3544d85498196 100644 --- a/pkgs/by-name/mi/mihomo/package.nix +++ b/pkgs/by-name/mi/mihomo/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, nixosTests +{ + lib, + fetchFromGitHub, + buildGoModule, + nixosTests, }: buildGoModule rec { @@ -32,7 +33,6 @@ buildGoModule rec { # network required doCheck = false; - passthru.tests = { mihomo = nixosTests.mihomo; }; diff --git a/pkgs/by-name/mi/mikmod/package.nix b/pkgs/by-name/mi/mikmod/package.nix index 7cc6bb62275a4..02cfba37f0ec6 100644 --- a/pkgs/by-name/mi/mikmod/package.nix +++ b/pkgs/by-name/mi/mikmod/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, libmikmod, ncurses }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libmikmod, + ncurses, +}: stdenv.mkDerivation rec { pname = "mikmod"; @@ -20,7 +27,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ libmikmod ncurses ]; + buildInputs = [ + libmikmod + ncurses + ]; meta = { description = "Tracker music player for the terminal"; diff --git a/pkgs/by-name/mi/mill/package.nix b/pkgs/by-name/mi/mill/package.nix index c54a0fd1f76bb..c39ccf722c9f6 100644 --- a/pkgs/by-name/mi/mill/package.nix +++ b/pkgs/by-name/mi/mill/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation (finalAttrs: { pname = "mill"; @@ -47,7 +53,10 @@ stdenv.mkDerivation (finalAttrs: { SBT, but can also be extended to support any other language or platform via modules (written in Java or Scala) or through an external subprocesses. ''; - maintainers = with maintainers; [ scalavision zenithal ]; + maintainers = with maintainers; [ + scalavision + zenithal + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/mi/miller/package.nix b/pkgs/by-name/mi/miller/package.nix index 7947944f6489b..9c25679064536 100644 --- a/pkgs/by-name/mi/miller/package.nix +++ b/pkgs/by-name/mi/miller/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "miller"; @@ -11,7 +15,10 @@ buildGoModule rec { sha256 = "sha256-eHiYIw/sQMXLow2Vy4zFTGeON28LmG0pK2Uca4ooInU="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; vendorHash = "sha256-oc6Lp4rQ+MLmQDVcuNJ3CqYH277Vuuwu4zSSO2ICXsw="; @@ -24,10 +31,10 @@ buildGoModule rec { meta = with lib; { description = "Like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed"; - homepage = "https://github.com/johnkerl/miller"; - license = licenses.bsd2; + homepage = "https://github.com/johnkerl/miller"; + license = licenses.bsd2; maintainers = with maintainers; [ mstarzyk ]; mainProgram = "mlr"; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/mi/millet/package.nix b/pkgs/by-name/mi/millet/package.nix index 36e78863deb6c..5b6ea76957fd6 100644 --- a/pkgs/by-name/mi/millet/package.nix +++ b/pkgs/by-name/mi/millet/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "millet"; @@ -23,15 +27,24 @@ rustPlatform.buildRustPackage rec { rm .cargo/config.toml ''; - cargoBuildFlags = [ "--package" "millet-ls" ]; + cargoBuildFlags = [ + "--package" + "millet-ls" + ]; - cargoTestFlags = [ "--package" "millet-ls" ]; + cargoTestFlags = [ + "--package" + "millet-ls" + ]; meta = with lib; { description = "Language server for Standard ML"; homepage = "https://github.com/azdavis/millet"; changelog = "https://github.com/azdavis/millet/blob/v${version}/docs/CHANGELOG.md"; - license = [ licenses.mit /* or */ licenses.asl20 ]; + license = [ + licenses.mit # or + licenses.asl20 + ]; maintainers = [ ]; mainProgram = "millet-ls"; }; diff --git a/pkgs/by-name/mi/millipixels/package.nix b/pkgs/by-name/mi/millipixels/package.nix index 27c24c5e935e2..3abe2766458f2 100644 --- a/pkgs/by-name/mi/millipixels/package.nix +++ b/pkgs/by-name/mi/millipixels/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, glib -, meson -, ninja -, pkg-config -, rustc -, libbsd -, libcamera -, gtk3 -, libtiff -, zbar -, libjpeg -, libexif -, libraw -, libpulseaudio -, ffmpeg-headless -, v4l-utils -, makeWrapper -, python3 +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + glib, + meson, + ninja, + pkg-config, + rustc, + libbsd, + libcamera, + gtk3, + libtiff, + zbar, + libjpeg, + libexif, + libraw, + libpulseaudio, + ffmpeg-headless, + v4l-utils, + makeWrapper, + python3, }: stdenv.mkDerivation rec { @@ -65,7 +66,12 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/millipixels \ - --prefix PATH : ${lib.makeBinPath [ v4l-utils ffmpeg-headless ]} + --prefix PATH : ${ + lib.makeBinPath [ + v4l-utils + ffmpeg-headless + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/mi/milu/package.nix b/pkgs/by-name/mi/milu/package.nix index 333d58d500c83..bed794be48bc7 100644 --- a/pkgs/by-name/mi/milu/package.nix +++ b/pkgs/by-name/mi/milu/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, unzip, pkg-config, glib, llvmPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + pkg-config, + glib, + llvmPackages, +}: stdenv.mkDerivation { pname = "milu-nightly"; @@ -22,10 +30,13 @@ stdenv.mkDerivation { cp bin/milu $out/bin ''; - nativeBuildInputs = [ pkg-config unzip ]; + nativeBuildInputs = [ + pkg-config + unzip + ]; buildInputs = [ - glib - llvmPackages.libclang + glib + llvmPackages.libclang ]; meta = { @@ -37,4 +48,3 @@ stdenv.mkDerivation { mainProgram = "milu"; }; } - diff --git a/pkgs/by-name/mi/mimalloc/package.nix b/pkgs/by-name/mi/mimalloc/package.nix index e8259541c27a6..f638d1fa36bb5 100644 --- a/pkgs/by-name/mi/mimalloc/package.nix +++ b/pkgs/by-name/mi/mimalloc/package.nix @@ -1,59 +1,78 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja -, secureBuild ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + secureBuild ? false, }: let soext = stdenv.hostPlatform.extensions.sharedLibrary; in stdenv.mkDerivation rec { - pname = "mimalloc"; + pname = "mimalloc"; version = "2.1.7"; src = fetchFromGitHub { - owner = "microsoft"; - repo = pname; - rev = "v${version}"; + owner = "microsoft"; + repo = pname; + rev = "v${version}"; sha256 = "sha256-slAi8Ht/jwpsFy5zC3CpfTdAkxEMpHJlgmNqMgz+psU="; }; doCheck = !stdenv.hostPlatform.isStatic; - preCheck = let - ldLibraryPathEnv = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; - in '' - export ${ldLibraryPathEnv}="$(pwd)/build:''${${ldLibraryPathEnv}}" - ''; - - nativeBuildInputs = [ cmake ninja ]; - cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] + preCheck = + let + ldLibraryPathEnv = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + in + '' + export ${ldLibraryPathEnv}="$(pwd)/build:''${${ldLibraryPathEnv}}" + ''; + + nativeBuildInputs = [ + cmake + ninja + ]; + cmakeFlags = + [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optionals secureBuild [ "-DMI_SECURE=ON" ] ++ lib.optionals stdenv.hostPlatform.isStatic [ "-DMI_BUILD_SHARED=OFF" ] - ++ lib.optionals (!doCheck) [ "-DMI_BUILD_TESTS=OFF" ] - ; - - postInstall = let - rel = lib.versions.majorMinor version; - suffix = if stdenv.hostPlatform.isLinux then "${soext}.${rel}" else ".${rel}${soext}"; - in '' - # first, move headers and cmake files, that's easy - mkdir -p $dev/lib - mv $out/lib/cmake $dev/lib/ - - find $dev $out -type f - '' + (lib.optionalString secureBuild '' - # pretend we're normal mimalloc - ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix} - ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${soext} - ln -sfv $out/lib/libmimalloc-secure.a $out/lib/libmimalloc.a - ln -sfv $out/lib/mimalloc-secure.o $out/lib/mimalloc.o - ''); - - outputs = [ "out" "dev" ]; + ++ lib.optionals (!doCheck) [ "-DMI_BUILD_TESTS=OFF" ]; + + postInstall = + let + rel = lib.versions.majorMinor version; + suffix = if stdenv.hostPlatform.isLinux then "${soext}.${rel}" else ".${rel}${soext}"; + in + '' + # first, move headers and cmake files, that's easy + mkdir -p $dev/lib + mv $out/lib/cmake $dev/lib/ + + find $dev $out -type f + '' + + (lib.optionalString secureBuild '' + # pretend we're normal mimalloc + ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix} + ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${soext} + ln -sfv $out/lib/libmimalloc-secure.a $out/lib/libmimalloc.a + ln -sfv $out/lib/mimalloc-secure.o $out/lib/mimalloc.o + ''); + + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Compact, fast, general-purpose memory allocator"; - homepage = "https://github.com/microsoft/mimalloc"; - license = licenses.bsd2; - platforms = platforms.unix; - maintainers = with maintainers; [ kamadorueda thoughtpolice ]; + homepage = "https://github.com/microsoft/mimalloc"; + license = licenses.bsd2; + platforms = platforms.unix; + maintainers = with maintainers; [ + kamadorueda + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/mi/mimeo/package.nix b/pkgs/by-name/mi/mimeo/package.nix index 49a86807017f2..444203ba89014 100644 --- a/pkgs/by-name/mi/mimeo/package.nix +++ b/pkgs/by-name/mi/mimeo/package.nix @@ -1,7 +1,15 @@ -{ lib, fetchurl, desktop-file-utils, file, python3Packages }: - -let version = "2023"; -in python3Packages.buildPythonApplication { +{ + lib, + fetchurl, + desktop-file-utils, + file, + python3Packages, +}: + +let + version = "2023"; +in +python3Packages.buildPythonApplication { pname = "mimeo"; inherit version; @@ -10,7 +18,10 @@ in python3Packages.buildPythonApplication { hash = "sha256-CahvSypwR1aHVDHTdtty1ZfaKBWPolxc73uZ5OyeqZA="; }; - buildInputs = [ file desktop-file-utils ]; + buildInputs = [ + file + desktop-file-utils + ]; propagatedBuildInputs = [ python3Packages.pyxdg ]; diff --git a/pkgs/by-name/mi/mimetic/package.nix b/pkgs/by-name/mi/mimetic/package.nix index 33b6e1b8cae8d..38a843b809e51 100644 --- a/pkgs/by-name/mi/mimetic/package.nix +++ b/pkgs/by-name/mi/mimetic/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, cutee }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cutee, +}: stdenv.mkDerivation rec { pname = "mimetic"; version = "0.9.8"; src = fetchurl { - url = "http://www.codesink.org/download/${pname}-${version}.tar.gz"; + url = "http://www.codesink.org/download/${pname}-${version}.tar.gz"; sha256 = "003715lvj4nx23arn1s9ss6hgc2yblkwfy5h94li6pjz2a6xc1rs"; }; @@ -21,9 +27,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MIME handling library"; - homepage = "https://www.codesink.org/mimetic_mime_library.html"; - license = licenses.mit; - maintainers = with maintainers; [ leenaars]; + homepage = "https://www.codesink.org/mimetic_mime_library.html"; + license = licenses.mit; + maintainers = with maintainers; [ leenaars ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/mi/mimic/package.nix b/pkgs/by-name/mi/mimic/package.nix index 6baa1b5c7cb0b..70a9b0e33a83e 100644 --- a/pkgs/by-name/mi/mimic/package.nix +++ b/pkgs/by-name/mi/mimic/package.nix @@ -1,7 +1,20 @@ -{ config, lib, stdenv, autoreconfHook, fetchFromGitHub, fetchpatch -, pkg-config, makeWrapper -, alsa-lib, alsa-plugins, libtool, icu, pcre2 -, pulseaudioSupport ? config.pulseaudio or false, libpulseaudio }: +{ + config, + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + fetchpatch, + pkg-config, + makeWrapper, + alsa-lib, + alsa-plugins, + libtool, + icu, + pcre2, + pulseaudioSupport ? config.pulseaudio or false, + libpulseaudio, +}: stdenv.mkDerivation rec { pname = "mimic"; diff --git a/pkgs/by-name/mi/mimikatz/package.nix b/pkgs/by-name/mi/mimikatz/package.nix index becc83dc6142f..83dcbb5520702 100644 --- a/pkgs/by-name/mi/mimikatz/package.nix +++ b/pkgs/by-name/mi/mimikatz/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchzip -, stdenvNoCC +{ + lib, + fetchzip, + stdenvNoCC, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mi/mimir/package.nix b/pkgs/by-name/mi/mimir/package.nix index 4eba5a71c0f8e..5e1e4deb449c0 100644 --- a/pkgs/by-name/mi/mimir/package.nix +++ b/pkgs/by-name/mi/mimir/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests, nix-update-script }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, + nix-update-script, +}: buildGoModule rec { pname = "mimir"; version = "2.14.2"; @@ -12,23 +18,28 @@ buildGoModule rec { vendorHash = null; - subPackages = [ - "cmd/mimir" - "cmd/mimirtool" - ] ++ (map (pathName: "tools/${pathName}") [ - "compaction-planner" - "copyblocks" - "copyprefix" - "delete-objects" - "list-deduplicated-blocks" - "listblocks" - "markblocks" - "undelete-blocks" - ]); + subPackages = + [ + "cmd/mimir" + "cmd/mimirtool" + ] + ++ (map (pathName: "tools/${pathName}") [ + "compaction-planner" + "copyblocks" + "copyprefix" + "delete-objects" + "list-deduplicated-blocks" + "listblocks" + "markblocks" + "undelete-blocks" + ]); passthru = { updateScript = nix-update-script { - extraArgs = [ "--version-regex" "mimir-([0-9.]+)" ]; + extraArgs = [ + "--version-regex" + "mimir-([0-9.]+)" + ]; }; tests = { inherit (nixosTests) mimir; @@ -36,8 +47,10 @@ buildGoModule rec { }; ldflags = - let t = "github.com/grafana/mimir/pkg/util/version"; - in [ + let + t = "github.com/grafana/mimir/pkg/util/version"; + in + [ ''-extldflags "-static"'' "-s" "-w" @@ -47,10 +60,13 @@ buildGoModule rec { ]; meta = with lib; { - description = - "Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. "; + description = "Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. "; homepage = "https://github.com/grafana/mimir"; license = licenses.agpl3Only; - maintainers = with maintainers; [ happysalada bryanhonof adamcstephens ]; + maintainers = with maintainers; [ + happysalada + bryanhonof + adamcstephens + ]; }; } diff --git a/pkgs/by-name/mi/min/package.nix b/pkgs/by-name/mi/min/package.nix index 9b2bfd34a749e..60d1b11404d13 100644 --- a/pkgs/by-name/mi/min/package.nix +++ b/pkgs/by-name/mi/min/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitHub, openssl, pcre }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + openssl, + pcre, +}: buildNimPackage (finalAttrs: { pname = "min"; @@ -13,7 +19,10 @@ buildNimPackage (finalAttrs: { lockFile = ./lock.json; - buildInputs = [ openssl pcre ]; + buildInputs = [ + openssl + pcre + ]; prePatch = '' # remove vendorabilities @@ -25,8 +34,7 @@ buildNimPackage (finalAttrs: { NIX_LDFLAGS = [ "-lpcre" ]; meta = { - description = - "A functional, concatenative programming language with a minimalist syntax"; + description = "A functional, concatenative programming language with a minimalist syntax"; homepage = "https://min-lang.org/"; changelog = "https://github.com/h3rald/min/releases/tag/${finalAttrs.src.rev}"; license = lib.licenses.mit; diff --git a/pkgs/by-name/mi/minc_widgets/package.nix b/pkgs/by-name/mi/minc_widgets/package.nix index 42178722b5517..054af1323a82c 100644 --- a/pkgs/by-name/mi/minc_widgets/package.nix +++ b/pkgs/by-name/mi/minc_widgets/package.nix @@ -1,25 +1,52 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, perlPackages, - libminc, octave, coreutils, minc_tools }: + libminc, + octave, + coreutils, + minc_tools, +}: stdenv.mkDerivation rec { pname = "minc-widgets"; version = "unstable-2016-04-20"; src = fetchFromGitHub { - owner = "BIC-MNI"; - repo = pname; - rev = "f08b643894c81a1a2e0fbfe595a17a42ba8906db"; + owner = "BIC-MNI"; + repo = pname; + rev = "f08b643894c81a1a2e0fbfe595a17a42ba8906db"; sha256 = "1b9g6lf37wpp211ikaji4rf74rl9xcmrlyqcw1zq3z12ji9y33bm"; }; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; buildInputs = [ libminc ]; - propagatedBuildInputs = (with perlPackages; [ perl GetoptTabular MNI-Perllib ]) ++ [ octave coreutils minc_tools ]; + propagatedBuildInputs = + (with perlPackages; [ + perl + GetoptTabular + MNI-Perllib + ]) + ++ [ + octave + coreutils + minc_tools + ]; postFixup = '' for p in $out/bin/*; do - wrapProgram $p --prefix PERL5LIB : $PERL5LIB --set PATH "${lib.makeBinPath [ coreutils minc_tools ]}"; + wrapProgram $p --prefix PERL5LIB : $PERL5LIB --set PATH "${ + lib.makeBinPath [ + coreutils + minc_tools + ] + }"; done ''; diff --git a/pkgs/by-name/mi/minder/package.nix b/pkgs/by-name/mi/minder/package.nix index cb7fc6403d979..0101fa8480072 100644 --- a/pkgs/by-name/mi/minder/package.nix +++ b/pkgs/by-name/mi/minder/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, desktop-file-utils -, meson -, ninja -, pkg-config -, python3 -, shared-mime-info -, vala -, wrapGAppsHook3 -, cairo -, discount -, glib -, gtk3 -, gtksourceview4 -, hicolor-icon-theme # for setup-hook -, json-glib -, libarchive -, libgee -, libhandy -, libxml2 -, pantheon +{ + lib, + stdenv, + fetchFromGitHub, + desktop-file-utils, + meson, + ninja, + pkg-config, + python3, + shared-mime-info, + vala, + wrapGAppsHook3, + cairo, + discount, + glib, + gtk3, + gtksourceview4, + hicolor-icon-theme, # for setup-hook + json-glib, + libarchive, + libgee, + libhandy, + libxml2, + pantheon, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mi/minecraft-server-hibernation/package.nix b/pkgs/by-name/mi/minecraft-server-hibernation/package.nix index 3837b890632bd..e5279d2e3bf2b 100644 --- a/pkgs/by-name/mi/minecraft-server-hibernation/package.nix +++ b/pkgs/by-name/mi/minecraft-server-hibernation/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "minecraft-server-hibernation"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = let @@ -25,7 +32,10 @@ buildGoModule rec { "Test_QueryFull" ]; in - [ "-skip" "${builtins.concatStringsSep "|" skippedTests}" ]; + [ + "-skip" + "${builtins.concatStringsSep "|" skippedTests}" + ]; meta = with lib; { description = "Autostart and stop minecraft-server when players join/leave"; diff --git a/pkgs/by-name/mi/minecraftia/package.nix b/pkgs/by-name/mi/minecraftia/package.nix index 584730ea8df3b..811b99c51045c 100644 --- a/pkgs/by-name/mi/minecraftia/package.nix +++ b/pkgs/by-name/mi/minecraftia/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "minecraftia"; diff --git a/pkgs/by-name/mi/minesweep-rs/package.nix b/pkgs/by-name/mi/minesweep-rs/package.nix index 454be1129634d..f4c2974862c91 100644 --- a/pkgs/by-name/mi/minesweep-rs/package.nix +++ b/pkgs/by-name/mi/minesweep-rs/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/mi/minetest-mapserver/package.nix b/pkgs/by-name/mi/minetest-mapserver/package.nix index 525918caab202..9255d825a8beb 100644 --- a/pkgs/by-name/mi/minetest-mapserver/package.nix +++ b/pkgs/by-name/mi/minetest-mapserver/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { mainProgram = "mapserver"; homepage = "https://github.com/minetest-mapserver/mapserver/blob/master/readme.md"; changelog = "https://github.com/minetest-mapserver/mapserver/releases/tag/v${version}"; - license = with licenses; [ mit cc-by-sa-30 ]; + license = with licenses; [ + mit + cc-by-sa-30 + ]; platforms = platforms.all; maintainers = with maintainers; [ gm6k ]; }; diff --git a/pkgs/by-name/mi/mingetty/package.nix b/pkgs/by-name/mi/mingetty/package.nix index bbae8f73e316a..261fcf6cbffff 100644 --- a/pkgs/by-name/mi/mingetty/package.nix +++ b/pkgs/by-name/mi/mingetty/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mingetty"; diff --git a/pkgs/by-name/mi/miniHttpd/package.nix b/pkgs/by-name/mi/miniHttpd/package.nix index fdf5012514f6b..2c161583cf7de 100644 --- a/pkgs/by-name/mi/miniHttpd/package.nix +++ b/pkgs/by-name/mi/miniHttpd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, boost }: +{ + lib, + stdenv, + fetchurl, + boost, +}: stdenv.mkDerivation rec { pname = "mini-httpd"; diff --git a/pkgs/by-name/mi/minia/package.nix b/pkgs/by-name/mi/minia/package.nix index 3665639a2cd93..1e76f8a621275 100644 --- a/pkgs/by-name/mi/minia/package.nix +++ b/pkgs/by-name/mi/minia/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, hdf5, boost }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + hdf5, + boost, +}: stdenv.mkDerivation rec { pname = "minia"; @@ -17,7 +24,10 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = toString [ "-Wformat" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ hdf5 boost ]; + buildInputs = [ + hdf5 + boost + ]; prePatch = '' rm -rf thirdparty/gatb-core/gatb-core/thirdparty/{hdf5,boost} diff --git a/pkgs/by-name/mi/miniaudio/package.nix b/pkgs/by-name/mi/miniaudio/package.nix index d8567177be61e..410f470fb01f7 100644 --- a/pkgs/by-name/mi/miniaudio/package.nix +++ b/pkgs/by-name/mi/miniaudio/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { pname = "miniaudio"; @@ -22,7 +23,10 @@ stdenv.mkDerivation rec { description = "Single header audio playback and capture library written in C"; homepage = "https://github.com/mackron/miniaudio"; changelog = "https://github.com/mackron/miniaudio/blob/${src.rev}/CHANGES.md"; - license = with licenses; [ unlicense /* or */ mit0 ]; + license = with licenses; [ + unlicense # or + mit0 + ]; maintainers = [ maintainers.jansol ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/mi/miniball/package.nix b/pkgs/by-name/mi/miniball/package.nix index 13a814684a424..b6e35fa17afba 100644 --- a/pkgs/by-name/mi/miniball/package.nix +++ b/pkgs/by-name/mi/miniball/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "miniball"; diff --git a/pkgs/by-name/mi/minica/package.nix b/pkgs/by-name/mi/minica/package.nix index 8c351e1803618..594725a773cd6 100644 --- a/pkgs/by-name/mi/minica/package.nix +++ b/pkgs/by-name/mi/minica/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Simple tool for generating self signed certificates"; diff --git a/pkgs/by-name/mi/minidjvu/package.nix b/pkgs/by-name/mi/minidjvu/package.nix index c656eb84f75c7..fb1c5995d5db5 100644 --- a/pkgs/by-name/mi/minidjvu/package.nix +++ b/pkgs/by-name/mi/minidjvu/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libtiff, gettext }: +{ + lib, + stdenv, + fetchurl, + libtiff, + gettext, +}: stdenv.mkDerivation rec { pname = "minidjvu"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { sed -i s,/usr/bin/gzip,gzip, Makefile.in ''; - buildInputs = [ libtiff gettext ]; + buildInputs = [ + libtiff + gettext + ]; preInstall = '' mkdir -p $out/lib diff --git a/pkgs/by-name/mi/minidlna/package.nix b/pkgs/by-name/mi/minidlna/package.nix index 78b2140b25c3c..7f481d20e4afe 100644 --- a/pkgs/by-name/mi/minidlna/package.nix +++ b/pkgs/by-name/mi/minidlna/package.nix @@ -1,4 +1,21 @@ -{ lib, stdenv, fetchgit, fetchpatch2, autoreconfHook, ffmpeg, flac, libvorbis, libogg, libid3tag, libexif, libjpeg, sqlite, gettext, nixosTests, zlib }: +{ + lib, + stdenv, + fetchgit, + fetchpatch2, + autoreconfHook, + ffmpeg, + flac, + libvorbis, + libogg, + libid3tag, + libexif, + libjpeg, + sqlite, + gettext, + nixosTests, + zlib, +}: let pname = "minidlna"; @@ -26,7 +43,18 @@ stdenv.mkDerivation { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite gettext zlib ]; + buildInputs = [ + ffmpeg + flac + libvorbis + libogg + libid3tag + libexif + libjpeg + sqlite + gettext + zlib + ]; postInstall = '' mkdir -p $out/share/man/man{5,8} diff --git a/pkgs/by-name/mi/miniflux/package.nix b/pkgs/by-name/mi/miniflux/package.nix index 09e7c4f6927d6..b27ec71b520ac 100644 --- a/pkgs/by-name/mi/miniflux/package.nix +++ b/pkgs/by-name/mi/miniflux/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, nixosTests, nix-update-script }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nixosTests, + nix-update-script, +}: buildGoModule rec { pname = "miniflux"; @@ -18,7 +25,9 @@ buildGoModule rec { checkFlags = [ "-skip=TestClient" ]; # skip client tests as they require network access ldflags = [ - "-s" "-w" "-X miniflux.app/v2/internal/version.Version=${version}" + "-s" + "-w" + "-X miniflux.app/v2/internal/version.Version=${version}" ]; postInstall = '' @@ -35,7 +44,12 @@ buildGoModule rec { description = "Minimalist and opinionated feed reader"; homepage = "https://miniflux.app/"; license = licenses.asl20; - maintainers = with maintainers; [ rvolosatovs benpye emilylange adamcstephens ]; + maintainers = with maintainers; [ + rvolosatovs + benpye + emilylange + adamcstephens + ]; mainProgram = "miniflux"; }; } diff --git a/pkgs/by-name/mi/minify/package.nix b/pkgs/by-name/mi/minify/package.nix index a1bc044caeae2..ccbb8c0f90a8a 100644 --- a/pkgs/by-name/mi/minify/package.nix +++ b/pkgs/by-name/mi/minify/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, nix-update-script -, testers -, minify +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nix-update-script, + testers, + minify, }: buildGoModule rec { @@ -22,7 +23,11 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; subPackages = [ "cmd/minify" ]; diff --git a/pkgs/by-name/mi/minigalaxy/package.nix b/pkgs/by-name/mi/minigalaxy/package.nix index 247055d1ec1ca..05ff14a6b82d5 100644 --- a/pkgs/by-name/mi/minigalaxy/package.nix +++ b/pkgs/by-name/mi/minigalaxy/package.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, glibcLocales -, glib-networking -, gobject-introspection -, gtk3 -, libnotify -, python3Packages -, steam-run -, substituteAll -, unzip -, webkitgtk_4_0 -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + glibcLocales, + glib-networking, + gobject-introspection, + gtk3, + libnotify, + python3Packages, + steam-run, + substituteAll, + unzip, + webkitgtk_4_0, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { @@ -28,7 +29,7 @@ python3Packages.buildPythonApplication rec { (substituteAll { src = ./inject-launcher-steam-run.diff; steamrun = lib.getExe steam-run; - }) + }) ]; postPatch = '' diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix index ca9ed7870579b..b85ddf73e3812 100644 --- a/pkgs/by-name/mi/minijinja/package.nix +++ b/pkgs/by-name/mi/minijinja/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "minijinja"; diff --git a/pkgs/by-name/mi/minilibx/package.nix b/pkgs/by-name/mi/minilibx/package.nix index b088aed10921d..01d50ffe3b59b 100644 --- a/pkgs/by-name/mi/minilibx/package.nix +++ b/pkgs/by-name/mi/minilibx/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, libX11 -, libXext -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + libX11, + libXext, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -18,7 +19,11 @@ stdenv.mkDerivation { hash = "sha256-aRYMpaPC7dC6EHmmXugvwcQnaizRCQZKFcQX0K2MLM4="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/mi/minimacy/package.nix b/pkgs/by-name/mi/minimacy/package.nix index 6f4d14b279015..2238c0b129b11 100644 --- a/pkgs/by-name/mi/minimacy/package.nix +++ b/pkgs/by-name/mi/minimacy/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, alsa-lib -, fetchFromGitHub -, libGL -, libGLU -, libX11 -, libXext -, makeBinaryWrapper +{ + lib, + stdenv, + alsa-lib, + fetchFromGitHub, + libGL, + libGLU, + libX11, + libXext, + makeBinaryWrapper, }: stdenv.mkDerivation rec { @@ -16,13 +17,22 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "ambermind"; repo = pname; - rev = version; + rev = version; hash = "sha256-uA+4dnhOnv7qRE7nqew8a14DGaQblsMY2uBZ+iyLtFU="; }; nativeBuildInputs = [ makeBinaryWrapper ]; - buildInputs = [ libGL libGLU ] ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libX11 libXext ]; + buildInputs = + [ + libGL + libGLU + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libX11 + libXext + ]; enableParallelBuilding = true; @@ -33,7 +43,9 @@ stdenv.mkDerivation rec { ''; # TODO: build graphic version for darwin - buildFlags = (if stdenv.hostPlatform.isDarwin then [ "nox" ] else [ "all" ]) ++ [ "CC=${stdenv.cc.targetPrefix}cc" ]; + buildFlags = (if stdenv.hostPlatform.isDarwin then [ "nox" ] else [ "all" ]) ++ [ + "CC=${stdenv.cc.targetPrefix}cc" + ]; postBuild = '' popd @@ -44,7 +56,9 @@ stdenv.mkDerivation rec { checkPhase = '' runHook preCheck - bin/${if stdenv.hostPlatform.isDarwin then "minimacyMac" else "minimacy"} system/demo/demo.fun.mandelbrot.mcy + bin/${ + if stdenv.hostPlatform.isDarwin then "minimacyMac" else "minimacy" + } system/demo/demo.fun.mandelbrot.mcy runHook postCheck ''; @@ -73,8 +87,8 @@ stdenv.mkDerivation rec { It is designed and programmed by Sylvain Huet. ''; maintainers = with lib.maintainers; [ jboy ]; - homepage = "https://minimacy.net"; - license = lib.licenses.gpl2; - platforms = lib.platforms.linux ++ lib.platforms.darwin; + homepage = "https://minimacy.net"; + license = lib.licenses.gpl2; + platforms = lib.platforms.linux ++ lib.platforms.darwin; }; } diff --git a/pkgs/by-name/mi/minimap2/package.nix b/pkgs/by-name/mi/minimap2/package.nix index 1c523a909241a..630fb70febf32 100644 --- a/pkgs/by-name/mi/minimap2/package.nix +++ b/pkgs/by-name/mi/minimap2/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, +}: stdenv.mkDerivation rec { pname = "minimap2"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ zlib ]; - makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "arm_neon=1" "aarch64=1" ]; + makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ + "arm_neon=1" + "aarch64=1" + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/mi/minimodem/package.nix b/pkgs/by-name/mi/minimodem/package.nix index a09e62dfd191d..ae4961f1fa6a5 100644 --- a/pkgs/by-name/mi/minimodem/package.nix +++ b/pkgs/by-name/mi/minimodem/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoconf, automake, libtool -, fftw, fftwSinglePrec, alsa-lib, libsndfile, libpulseaudio +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoconf, + automake, + libtool, + fftw, + fftwSinglePrec, + alsa-lib, + libsndfile, + libpulseaudio, }: stdenv.mkDerivation rec { @@ -13,8 +24,19 @@ stdenv.mkDerivation rec { sha256 = "1b5xy36fjcp7vkp115dpx4mlmqg2fc7xvxdy648fb8im953bw7ql"; }; - nativeBuildInputs = [ pkg-config autoconf automake libtool ]; - buildInputs = [ fftw fftwSinglePrec alsa-lib libsndfile libpulseaudio ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + libtool + ]; + buildInputs = [ + fftw + fftwSinglePrec + alsa-lib + libsndfile + libpulseaudio + ]; preConfigure = '' aclocal \ @@ -26,11 +48,11 @@ stdenv.mkDerivation rec { meta = { description = "General-purpose software audio FSK modem"; longDescription = '' - Minimodem is a command-line program which decodes (or generates) audio - modem tones at any specified baud rate, using various framing protocols. It - acts a general-purpose software FSK modem, and includes support for various - standard FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME, and - Caller-ID. + Minimodem is a command-line program which decodes (or generates) audio + modem tones at any specified baud rate, using various framing protocols. It + acts a general-purpose software FSK modem, and includes support for various + standard FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME, and + Caller-ID. ''; homepage = "http://www.whence.com/minimodem/"; license = lib.licenses.gpl3Plus; @@ -39,4 +61,3 @@ stdenv.mkDerivation rec { mainProgram = "minimodem"; }; } - diff --git a/pkgs/by-name/mi/mininet/package.nix b/pkgs/by-name/mi/mininet/package.nix index a04859cc10894..8980443d16b07 100644 --- a/pkgs/by-name/mi/mininet/package.nix +++ b/pkgs/by-name/mi/mininet/package.nix @@ -1,30 +1,31 @@ -{ stdenv, lib, fetchFromGitHub -, runCommand -, which -, python3 -, help2man -, makeWrapper -, ethtool -, inetutils -, iperf -, iproute2 -, nettools -, socat +{ + stdenv, + lib, + fetchFromGitHub, + runCommand, + which, + python3, + help2man, + makeWrapper, + ethtool, + inetutils, + iperf, + iproute2, + nettools, + socat, }: let - pyEnv = python3.withPackages(ps: [ + pyEnv = python3.withPackages (ps: [ ps.setuptools ps.packaging ps.distutils ]); - telnet = runCommand "inetutils-telnet" - { } - '' - mkdir -p "$out/bin" - ln -s "${inetutils}"/bin/telnet "$out/bin" - ''; + telnet = runCommand "inetutils-telnet" { } '' + mkdir -p "$out/bin" + ln -s "${inetutils}"/bin/telnet "$out/bin" + ''; generatedPath = lib.makeSearchPath "bin" [ iperf @@ -42,7 +43,10 @@ stdenv.mkDerivation rec { pname = "mininet"; version = "2.3.1b4"; - outputs = [ "out" "py" ]; + outputs = [ + "out" + "py" + ]; src = fetchFromGitHub { owner = "mininet"; @@ -55,11 +59,21 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; pythonPath = [ python3.pkgs.setuptools ]; - nativeBuildInputs = [ help2man makeWrapper python3.pkgs.wrapPython ]; + nativeBuildInputs = [ + help2man + makeWrapper + python3.pkgs.wrapPython + ]; - propagatedBuildInputs = [ pyEnv which ]; + propagatedBuildInputs = [ + pyEnv + which + ]; - installTargets = [ "install-mnexec" "install-manpages" ]; + installTargets = [ + "install-mnexec" + "install-manpages" + ]; preInstall = '' mkdir -p $out $py @@ -80,7 +94,6 @@ stdenv.mkDerivation rec { doCheck = false; - meta = with lib; { description = "Emulator for rapid prototyping of Software Defined Networks"; license = licenses.bsd3; diff --git a/pkgs/by-name/mi/minio-certgen/package.nix b/pkgs/by-name/mi/minio-certgen/package.nix index 2379de92f430c..3ab53dbac9adf 100644 --- a/pkgs/by-name/mi/minio-certgen/package.nix +++ b/pkgs/by-name/mi/minio-certgen/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "minio-certgen"; diff --git a/pkgs/by-name/mi/minio-client/package.nix b/pkgs/by-name/mi/minio-client/package.nix index 286f81f7cfc44..a2b23eb2479a5 100644 --- a/pkgs/by-name/mi/minio-client/package.nix +++ b/pkgs/by-name/mi/minio-client/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "minio-client"; diff --git a/pkgs/by-name/mi/miniplayer/package.nix b/pkgs/by-name/mi/miniplayer/package.nix index 2d87078b786dc..abb54413638ad 100644 --- a/pkgs/by-name/mi/miniplayer/package.nix +++ b/pkgs/by-name/mi/miniplayer/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: with python3Packages; diff --git a/pkgs/by-name/mi/minipro/package.nix b/pkgs/by-name/mi/minipro/package.nix index d2f47e09705cd..b48a4033690fb 100644 --- a/pkgs/by-name/mi/minipro/package.nix +++ b/pkgs/by-name/mi/minipro/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitLab -, pkg-config -, libusb1 +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mi/minisat/package.nix b/pkgs/by-name/mi/minisat/package.nix index 10d3808827441..67f66159c19a1 100644 --- a/pkgs/by-name/mi/minisat/package.nix +++ b/pkgs/by-name/mi/minisat/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, +}: stdenv.mkDerivation rec { pname = "minisat"; @@ -16,7 +22,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Compact and readable SAT solver"; - maintainers = with maintainers; [ gebner raskin ]; + maintainers = with maintainers; [ + gebner + raskin + ]; platforms = platforms.unix; license = licenses.mit; homepage = "http://minisat.se/"; diff --git a/pkgs/by-name/mi/miniscript/package.nix b/pkgs/by-name/mi/miniscript/package.nix index 0c3ad55ab4405..5ca244c128b37 100644 --- a/pkgs/by-name/mi/miniscript/package.nix +++ b/pkgs/by-name/mi/miniscript/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-qkYDzsl2Y4WEDDXs9cE/jIXm01jclkYUQbDGe1S0wYs="; }; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' # Replace hardcoded g++ with c++ so clang can be used # on darwin substituteInPlace Makefile \ diff --git a/pkgs/by-name/mi/miniserve/package.nix b/pkgs/by-name/mi/miniserve/package.nix index 7822fd6d8d206..02ec7705fe66c 100644 --- a/pkgs/by-name/mi/miniserve/package.nix +++ b/pkgs/by-name/mi/miniserve/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin -, curl +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, + curl, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/mi/minisign/package.nix b/pkgs/by-name/mi/minisign/package.nix index 45886a3803be7..8a5eeca9974e0 100644 --- a/pkgs/by-name/mi/minisign/package.nix +++ b/pkgs/by-name/mi/minisign/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libsodium }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libsodium, +}: stdenv.mkDerivation rec { pname = "minisign"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-sczGs6du797WUkfr3JiTI/bUHp7vKEeZtJdCryFcYu8="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libsodium ]; meta = with lib; { diff --git a/pkgs/by-name/mi/minissdpd/package.nix b/pkgs/by-name/mi/minissdpd/package.nix index b2a95972613b5..9b11452bdc810 100644 --- a/pkgs/by-name/mi/minissdpd/package.nix +++ b/pkgs/by-name/mi/minissdpd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libnfnetlink }: +{ + lib, + stdenv, + fetchurl, + libnfnetlink, +}: stdenv.mkDerivation rec { pname = "minissdpd"; @@ -16,7 +21,10 @@ stdenv.mkDerivation rec { buildInputs = [ libnfnetlink ]; - installFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ]; + installFlags = [ + "PREFIX=$(out)" + "INSTALLPREFIX=$(out)" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/mi/ministat/package.nix b/pkgs/by-name/mi/ministat/package.nix index d0f88e5d1b1cb..eadf3342aa7a9 100644 --- a/pkgs/by-name/mi/ministat/package.nix +++ b/pkgs/by-name/mi/ministat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchgit }: +{ + lib, + stdenv, + fetchgit, +}: stdenv.mkDerivation rec { pname = "ministat"; diff --git a/pkgs/by-name/mi/minixml/package.nix b/pkgs/by-name/mi/minixml/package.nix index 3438cb9290b68..d978973e7e93a 100644 --- a/pkgs/by-name/mi/minixml/package.nix +++ b/pkgs/by-name/mi/minixml/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "mxml"; diff --git a/pkgs/by-name/mi/miniz/package.nix b/pkgs/by-name/mi/miniz/package.nix index 0cb5087c4f7a0..c47b49755916f 100644 --- a/pkgs/by-name/mi/miniz/package.nix +++ b/pkgs/by-name/mi/miniz/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, nix-update-script -, stdenv -, testers -, validatePkgConfig -, cmake +{ + lib, + fetchFromGitHub, + nix-update-script, + stdenv, + testers, + validatePkgConfig, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -17,10 +18,13 @@ stdenv.mkDerivation (finalAttrs: { rev = finalAttrs.version; hash = "sha256-3J0bkr2Yk+MJXilUqOCHsWzuykySv5B1nepmucvA4hg="; }; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; strictDeps = true; - nativeBuildInputs = [ cmake validatePkgConfig ]; + nativeBuildInputs = [ + cmake + validatePkgConfig + ]; postFixup = '' substituteInPlace "$out"/lib/pkgconfig/miniz.pc \ diff --git a/pkgs/by-name/mi/minizip-ng/package.nix b/pkgs/by-name/mi/minizip-ng/package.nix index 23de85f33a760..79a2ce7aaf039 100644 --- a/pkgs/by-name/mi/minizip-ng/package.nix +++ b/pkgs/by-name/mi/minizip-ng/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest -, pkg-config -, zlib -, bzip2 -, xz -, zstd -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, + pkg-config, + zlib, + bzip2, + xz, + zstd, + openssl, }: stdenv.mkDerivation (finalAttrs: { @@ -22,20 +23,31 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-scoEqymRMBTZZVr1fxtKOyBj4VLCgI8jQpanUKrJhiQ="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ zlib bzip2 xz zstd openssl ]; - - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - "-DMZ_OPENSSL=ON" - "-DMZ_BUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" - "-DMZ_BUILD_UNIT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" - "-DMZ_LIB_SUFFIX='-ng'" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # missing header file - "-DMZ_LIBCOMP=OFF" + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + zlib + bzip2 + xz + zstd + openssl ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" + "-DMZ_OPENSSL=ON" + "-DMZ_BUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" + "-DMZ_BUILD_UNIT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" + "-DMZ_LIB_SUFFIX='-ng'" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # missing header file + "-DMZ_LIBCOMP=OFF" + ]; + postInstall = '' # make lib findable as libminizip-ng even if compat is enabled for ext in so dylib a ; do @@ -56,7 +68,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Fork of the popular zip manipulation library found in the zlib distribution"; homepage = "https://github.com/zlib-ng/minizip-ng"; license = licenses.zlib; - maintainers = with maintainers; [ gebner ris ]; + maintainers = with maintainers; [ + gebner + ris + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/mi/minizip/package.nix b/pkgs/by-name/mi/minizip/package.nix index 44cba9767b36e..3a09845916197 100644 --- a/pkgs/by-name/mi/minizip/package.nix +++ b/pkgs/by-name/mi/minizip/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, zlib, autoreconfHook }: +{ + lib, + stdenv, + zlib, + autoreconfHook, +}: stdenv.mkDerivation { pname = "minizip"; diff --git a/pkgs/by-name/mi/mint-artwork/package.nix b/pkgs/by-name/mi/mint-artwork/package.nix index e74c9e7dc542a..f3d2a690f5d6d 100644 --- a/pkgs/by-name/mi/mint-artwork/package.nix +++ b/pkgs/by-name/mi/mint-artwork/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, glib -, nixos-artwork +{ + stdenv, + lib, + fetchurl, + glib, + nixos-artwork, }: stdenv.mkDerivation rec { @@ -41,7 +42,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/linuxmint/mint-artwork"; description = "Artwork for the cinnamon desktop"; - license = with licenses; [ gpl3Plus cc-by-40 ]; # from debian/copyright + license = with licenses; [ + gpl3Plus + cc-by-40 + ]; # from debian/copyright platforms = platforms.linux; maintainers = teams.cinnamon.members; }; diff --git a/pkgs/by-name/mi/mint-cursor-themes/package.nix b/pkgs/by-name/mi/mint-cursor-themes/package.nix index e0402b2f721b7..13a908db5170a 100644 --- a/pkgs/by-name/mi/mint-cursor-themes/package.nix +++ b/pkgs/by-name/mi/mint-cursor-themes/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib +{ + stdenvNoCC, + fetchFromGitHub, + lib, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/mi/mint-l-icons/package.nix b/pkgs/by-name/mi/mint-l-icons/package.nix index f58266a6d668d..3a53d89ade142 100644 --- a/pkgs/by-name/mi/mint-l-icons/package.nix +++ b/pkgs/by-name/mi/mint-l-icons/package.nix @@ -1,10 +1,11 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, adwaita-icon-theme -, gnome-icon-theme -, hicolor-icon-theme -, gtk3 +{ + stdenvNoCC, + lib, + fetchFromGitHub, + adwaita-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, + gtk3, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/mi/mint-l-theme/package.nix b/pkgs/by-name/mi/mint-l-theme/package.nix index b0836d514e2ef..206d24d91c4c0 100644 --- a/pkgs/by-name/mi/mint-l-theme/package.nix +++ b/pkgs/by-name/mi/mint-l-theme/package.nix @@ -1,9 +1,10 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, python3 -, sassc -, sass +{ + stdenvNoCC, + lib, + fetchFromGitHub, + python3, + sassc, + sass, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/mi/mint-themes/package.nix b/pkgs/by-name/mi/mint-themes/package.nix index 3336476db5956..3a8b8aac0a05b 100644 --- a/pkgs/by-name/mi/mint-themes/package.nix +++ b/pkgs/by-name/mi/mint-themes/package.nix @@ -1,8 +1,9 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC -, python3 -, python3Packages +{ + fetchFromGitHub, + lib, + stdenvNoCC, + python3, + python3Packages, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/mi/mint-x-icons/package.nix b/pkgs/by-name/mi/mint-x-icons/package.nix index 4b9b420e35f5b..b6a63d8387fd6 100644 --- a/pkgs/by-name/mi/mint-x-icons/package.nix +++ b/pkgs/by-name/mi/mint-x-icons/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC -, adwaita-icon-theme -, gnome-icon-theme -, hicolor-icon-theme -, gtk3 -, humanity-icon-theme -, ubuntu-themes +{ + fetchFromGitHub, + lib, + stdenvNoCC, + adwaita-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, + gtk3, + humanity-icon-theme, + ubuntu-themes, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/mi/mint-y-icons/package.nix b/pkgs/by-name/mi/mint-y-icons/package.nix index 0f2934646a2e1..f67358b53b564 100644 --- a/pkgs/by-name/mi/mint-y-icons/package.nix +++ b/pkgs/by-name/mi/mint-y-icons/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC -, adwaita-icon-theme -, gnome-icon-theme -, hicolor-icon-theme -, gtk3 +{ + fetchFromGitHub, + lib, + stdenvNoCC, + adwaita-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, + gtk3, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/mi/miraclecast/package.nix b/pkgs/by-name/mi/miraclecast/package.nix index f781366e1945e..74a3aff23ecbe 100644 --- a/pkgs/by-name/mi/miraclecast/package.nix +++ b/pkgs/by-name/mi/miraclecast/package.nix @@ -1,20 +1,43 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config -, glib, readline, pcre, systemd, udev, iproute2 }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + glib, + readline, + pcre, + systemd, + udev, + iproute2, +}: stdenv.mkDerivation { pname = "miraclecast"; version = "1.0-20231112"; src = fetchFromGitHub { - owner = "albfan"; - repo = "miraclecast"; - rev = "af6ab257eae83bb0270a776a8fe00c0148bc53c4"; - hash = "sha256-3ZIAvA3w/ZhoJtVmUD444nch0PGD58PdBRke7zd9IuQ="; + owner = "albfan"; + repo = "miraclecast"; + rev = "af6ab257eae83bb0270a776a8fe00c0148bc53c4"; + hash = "sha256-3ZIAvA3w/ZhoJtVmUD444nch0PGD58PdBRke7zd9IuQ="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; - buildInputs = [ glib pcre readline systemd udev iproute2 ]; + buildInputs = [ + glib + pcre + readline + systemd + udev + iproute2 + ]; mesonFlags = [ "-Drely-udev=true" @@ -24,9 +47,9 @@ stdenv.mkDerivation { meta = with lib; { description = "Connect external monitors via Wi-Fi"; - homepage = "https://github.com/albfan/miraclecast"; - license = licenses.lgpl21Plus; + homepage = "https://github.com/albfan/miraclecast"; + license = licenses.lgpl21Plus; maintainers = [ ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/mi/miracode/package.nix b/pkgs/by-name/mi/miracode/package.nix index 0ffcc3cdbfc60..0bc5cb3bd05d7 100644 --- a/pkgs/by-name/mi/miracode/package.nix +++ b/pkgs/by-name/mi/miracode/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchurl }: +{ + stdenvNoCC, + lib, + fetchurl, +}: let version = "1.0"; diff --git a/pkgs/by-name/mi/mirakurun/package.nix b/pkgs/by-name/mi/mirakurun/package.nix index a1d9d58403d07..c01ea18ba8c6f 100644 --- a/pkgs/by-name/mi/mirakurun/package.nix +++ b/pkgs/by-name/mi/mirakurun/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, bash -, buildNpmPackage -, fetchFromGitHub -, installShellFiles -, makeWrapper -, nodejs -, substituteAll -, v4l-utils -, which +{ + lib, + stdenv, + bash, + buildNpmPackage, + fetchFromGitHub, + installShellFiles, + makeWrapper, + nodejs, + substituteAll, + v4l-utils, + which, }: buildNpmPackage rec { @@ -30,7 +31,10 @@ buildNpmPackage rec { npmDepsHash = "sha256-e7m7xb7p1SBzLAyQ82TTR/qLXv4lRm37x0JJPWYYGvI="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; # workaround for https://github.com/webpack/webpack/issues/14532 NODE_OPTIONS = "--openssl-legacy-provider"; diff --git a/pkgs/by-name/mi/miranda/package.nix b/pkgs/by-name/mi/miranda/package.nix index 8385f5063db9e..be51e320f2264 100644 --- a/pkgs/by-name/mi/miranda/package.nix +++ b/pkgs/by-name/mi/miranda/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchzip, fetchpatch }: +{ + stdenv, + lib, + fetchzip, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "miranda"; @@ -14,7 +19,9 @@ stdenv.mkDerivation rec { # Using `fetchzip` will make all the source files have `mtime=1` # from the start so this mismatch cannot occur. src = fetchzip { - url = "https://www.cs.kent.ac.uk/people/staff/dat/miranda/src/mira-${builtins.replaceStrings [ "." ] [ "" ] version}-src.tgz"; + url = "https://www.cs.kent.ac.uk/people/staff/dat/miranda/src/mira-${ + builtins.replaceStrings [ "." ] [ "" ] version + }-src.tgz"; sha256 = "KE/FTL9YW9l7VBAgkFZlqgSM1Bt/BXT6GkkONtyKJjQ="; }; @@ -55,11 +62,14 @@ stdenv.mkDerivation rec { # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: # ld: types.o:(.bss+0x11b0): multiple definition of `current_file'; y.tab.o:(.bss+0x70): first defined here - env.NIX_CFLAGS_COMPILE = toString ([ - "-fcommon" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=int-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-fcommon" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=int-conversion" + ] + ); makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/mi/miredo/package.nix b/pkgs/by-name/mi/miredo/package.nix index bac427228b52f..2ac01fede0eca 100644 --- a/pkgs/by-name/mi/miredo/package.nix +++ b/pkgs/by-name/mi/miredo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, nettools, iproute2, judy }: +{ + lib, + stdenv, + fetchurl, + nettools, + iproute2, + judy, +}: stdenv.mkDerivation rec { version = "1.2.6"; diff --git a/pkgs/by-name/mi/mirrorbits/package.nix b/pkgs/by-name/mi/mirrorbits/package.nix index 3bd72b0e7dad8..a5d8bc041b7f8 100644 --- a/pkgs/by-name/mi/mirrorbits/package.nix +++ b/pkgs/by-name/mi/mirrorbits/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -, pkg-config -, zlib -, geoip +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + pkg-config, + zlib, + geoip, }: buildGoModule rec { @@ -29,11 +30,17 @@ buildGoModule rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ zlib geoip ]; + buildInputs = [ + zlib + geoip + ]; subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "geographical download redirector for distributing files efficiently across a set of mirrors"; diff --git a/pkgs/by-name/mi/miscfiles/package.nix b/pkgs/by-name/mi/miscfiles/package.nix index ad58e5bd7b79b..21d538cb0b79f 100644 --- a/pkgs/by-name/mi/miscfiles/package.nix +++ b/pkgs/by-name/mi/miscfiles/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "miscfiles"; diff --git a/pkgs/by-name/mi/missidentify/package.nix b/pkgs/by-name/mi/missidentify/package.nix index 2fbce5bf96f2a..a99950d39541c 100644 --- a/pkgs/by-name/mi/missidentify/package.nix +++ b/pkgs/by-name/mi/missidentify/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook +{ + lib, + stdenv, + fetchurl, + autoreconfHook, }: stdenv.mkDerivation (finalAttrs: { @@ -32,7 +33,9 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoreconfHook ]; - configureFlags = lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "--build=arm" ]; + configureFlags = lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ + "--build=arm" + ]; meta = with lib; { description = "Find Win32 applications"; diff --git a/pkgs/by-name/mi/mission-planner/package.nix b/pkgs/by-name/mi/mission-planner/package.nix index bd8ac9ed4b973..626f499f9e156 100644 --- a/pkgs/by-name/mi/mission-planner/package.nix +++ b/pkgs/by-name/mi/mission-planner/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip, mono, gitUpdater +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + makeWrapper, + unzip, + mono, + gitUpdater, }: let @@ -11,20 +19,27 @@ let desktopName = "MissionPlanner"; genericName = "Ground Control Station"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit pname; version = "1.3.82"; src = fetchurl { - url = - "https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-${version}.zip"; + url = "https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-${version}.zip"; sha256 = "sha256-554fFDxHMo4jV3yrPdGgDYQ6XeW+TWdVIIkGQIBdrCQ="; }; - nativeBuildInputs = [ makeWrapper mono unzip ]; + nativeBuildInputs = [ + makeWrapper + mono + unzip + ]; sourceRoot = "."; - AOT_FILES = [ "MissionPlanner.exe" "MissionPlanner.*.dll" ]; + AOT_FILES = [ + "MissionPlanner.exe" + "MissionPlanner.*.dll" + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/mi/mitama-cpp-result/package.nix b/pkgs/by-name/mi/mitama-cpp-result/package.nix index 69d910e3bd991..cda102a736ce2 100644 --- a/pkgs/by-name/mi/mitama-cpp-result/package.nix +++ b/pkgs/by-name/mi/mitama-cpp-result/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mi/mix2nix/package.nix b/pkgs/by-name/mi/mix2nix/package.nix index a2420980d1815..a1e25f4e0a20c 100644 --- a/pkgs/by-name/mi/mix2nix/package.nix +++ b/pkgs/by-name/mi/mix2nix/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, elixir, erlang }: +{ + stdenv, + lib, + fetchFromGitHub, + elixir, + erlang, +}: stdenv.mkDerivation rec { pname = "mix2nix"; diff --git a/pkgs/by-name/mj/mjolnir/package.nix b/pkgs/by-name/mj/mjolnir/package.nix index dd1404b4b5b4d..098ed9bf9b3aa 100644 --- a/pkgs/by-name/mj/mjolnir/package.nix +++ b/pkgs/by-name/mj/mjolnir/package.nix @@ -1,11 +1,12 @@ -{ lib -, mkYarnPackage -, fetchFromGitHub -, fetchYarnDeps -, matrix-sdk-crypto-nodejs -, makeWrapper -, nodejs -, nixosTests +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, + matrix-sdk-crypto-nodejs, + makeWrapper, + nodejs, + nixosTests, }: mkYarnPackage rec { @@ -32,7 +33,8 @@ mkYarnPackage rec { }; packageResolutions = { - "@matrix-org/matrix-sdk-crypto-nodejs" = "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; + "@matrix-org/matrix-sdk-crypto-nodejs" = + "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/mj/mjpegtools/package.nix b/pkgs/by-name/mj/mjpegtools/package.nix index 147c30fed4c52..f29e3691ff3ef 100644 --- a/pkgs/by-name/mj/mjpegtools/package.nix +++ b/pkgs/by-name/mj/mjpegtools/package.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchurl, gtk2, libdv, libjpeg, libpng, libX11, pkg-config, SDL, SDL_gfx -, withMinimal ? true +{ + stdenv, + lib, + fetchurl, + gtk2, + libdv, + libjpeg, + libpng, + libX11, + pkg-config, + SDL, + SDL_gfx, + withMinimal ? true, }: # TODO: @@ -23,8 +34,18 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libdv libjpeg libpng ] - ++ lib.optionals (!withMinimal) [ gtk2 libX11 SDL SDL_gfx ]; + buildInputs = + [ + libdv + libjpeg + libpng + ] + ++ lib.optionals (!withMinimal) [ + gtk2 + libX11 + SDL + SDL_gfx + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString (!withMinimal) "-I${lib.getDev SDL}/include/SDL"; @@ -34,7 +55,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - outputs = [ "out" "lib" ]; + outputs = [ + "out" + "lib" + ]; meta = with lib; { description = "Suite of programs for processing MPEG or MJPEG video"; diff --git a/pkgs/by-name/mj/mjpg-streamer/package.nix b/pkgs/by-name/mj/mjpg-streamer/package.nix index f04025b37ddc4..58af533b24501 100644 --- a/pkgs/by-name/mj/mjpg-streamer/package.nix +++ b/pkgs/by-name/mj/mjpg-streamer/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libjpeg }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libjpeg, +}: stdenv.mkDerivation { pname = "mjpg-streamer"; diff --git a/pkgs/by-name/mk/mkalias/package.nix b/pkgs/by-name/mk/mkalias/package.nix index 1989452df36eb..38f326992f670 100644 --- a/pkgs/by-name/mk/mkalias/package.nix +++ b/pkgs/by-name/mk/mkalias/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + darwin, }: stdenv.mkDerivation (finalAttrs: { @@ -41,7 +42,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/vs49688/mkalias"; license = lib.licenses.gpl2Only; mainProgram = "mkalias"; - maintainers = with lib.maintainers; [ zane emilytrau ]; + maintainers = with lib.maintainers; [ + zane + emilytrau + ]; platforms = lib.platforms.darwin; }; }) diff --git a/pkgs/by-name/mk/mkbootimage/package.nix b/pkgs/by-name/mk/mkbootimage/package.nix index 278162bafcd6f..91a70173ae050 100644 --- a/pkgs/by-name/mk/mkbootimage/package.nix +++ b/pkgs/by-name/mk/mkbootimage/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, elfutils -, pcre +{ + lib, + stdenv, + fetchFromGitHub, + elfutils, + pcre, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { # Using elfutils because libelf is being discontinued # See https://github.com/NixOS/nixpkgs/pull/271568 - buildInputs = [ elfutils pcre ]; + buildInputs = [ + elfutils + pcre + ]; postPatch = '' substituteInPlace Makefile --replace "git rev-parse --short HEAD" "echo ${finalAttrs.src.rev}" diff --git a/pkgs/by-name/mk/mkcert/package.nix b/pkgs/by-name/mk/mkcert/package.nix index 1b3355b7cc451..b918cb4da0fd0 100644 --- a/pkgs/by-name/mk/mkcert/package.nix +++ b/pkgs/by-name/mk/mkcert/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mkcert"; @@ -16,7 +20,9 @@ buildGoModule rec { doCheck = false; ldflags = [ - "-s" "-w" "-X main.Version=v${version}" + "-s" + "-w" + "-X main.Version=v${version}" ]; meta = with lib; { diff --git a/pkgs/by-name/mk/mkclean/package.nix b/pkgs/by-name/mk/mkclean/package.nix index 49c270c410693..14eee4aa21e6d 100644 --- a/pkgs/by-name/mk/mkclean/package.nix +++ b/pkgs/by-name/mk/mkclean/package.nix @@ -1,4 +1,9 @@ -{ dos2unix, fetchurl, lib, stdenv }: +{ + dos2unix, + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "mkclean"; @@ -32,6 +37,9 @@ stdenv.mkDerivation rec { homepage = "https://www.matroska.org"; license = licenses.bsdOriginal; maintainers = with maintainers; [ cawilliamson ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/mk/mkcue/package.nix b/pkgs/by-name/mk/mkcue/package.nix index 34893b9f68a54..d0e2baacf519a 100644 --- a/pkgs/by-name/mk/mkcue/package.nix +++ b/pkgs/by-name/mk/mkcue/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mkcue"; diff --git a/pkgs/by-name/mk/mkinitcpio-nfs-utils/package.nix b/pkgs/by-name/mk/mkinitcpio-nfs-utils/package.nix index 0e7bb127dbb9a..f073053536ebf 100644 --- a/pkgs/by-name/mk/mkinitcpio-nfs-utils/package.nix +++ b/pkgs/by-name/mk/mkinitcpio-nfs-utils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mkinitcpio-nfs-utils"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { name = "mkinitcpio-nfs-utils-${version}.tar.gz"; }; - makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ]; + makeFlags = [ + "DESTDIR=$(out)" + "bindir=/bin" + ]; postInstall = '' rm -rf $out/usr @@ -21,7 +28,7 @@ stdenv.mkDerivation rec { homepage = "https://archlinux.org/"; description = "ipconfig and nfsmount tools for root on NFS, ported from klibc"; license = licenses.gpl2Only; - platforms = platforms.linux; + platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; }; } diff --git a/pkgs/by-name/mk/mkjson/generated.nix b/pkgs/by-name/mk/mkjson/generated.nix index e20313a25d413..1fd4090b1d0f4 100644 --- a/pkgs/by-name/mk/mkjson/generated.nix +++ b/pkgs/by-name/mk/mkjson/generated.nix @@ -1,8 +1,26 @@ -{ mkDerivation, lib, fetchFromGitHub -, aeson, base, bytestring, containers, criterion -, doctest, Glob, mersenne-random-pure64, mtl -, optparse-applicative, parsec, random, regex-tdfa, scientific -, text, time, unordered-containers, uuid, vector +{ + mkDerivation, + lib, + fetchFromGitHub, + aeson, + base, + bytestring, + containers, + criterion, + doctest, + Glob, + mersenne-random-pure64, + mtl, + optparse-applicative, + parsec, + random, + regex-tdfa, + scientific, + text, + time, + unordered-containers, + uuid, + vector, }: mkDerivation rec { @@ -18,24 +36,79 @@ mkDerivation rec { isLibrary = false; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring containers mersenne-random-pure64 mtl - optparse-applicative parsec random regex-tdfa scientific text time - unordered-containers uuid vector + aeson + base + bytestring + containers + mersenne-random-pure64 + mtl + optparse-applicative + parsec + random + regex-tdfa + scientific + text + time + unordered-containers + uuid + vector ]; executableHaskellDepends = [ - aeson base bytestring containers mersenne-random-pure64 mtl - optparse-applicative parsec random regex-tdfa scientific text time - unordered-containers uuid vector + aeson + base + bytestring + containers + mersenne-random-pure64 + mtl + optparse-applicative + parsec + random + regex-tdfa + scientific + text + time + unordered-containers + uuid + vector ]; testHaskellDepends = [ - aeson base bytestring containers doctest Glob - mersenne-random-pure64 mtl optparse-applicative parsec random - regex-tdfa scientific text time unordered-containers uuid vector + aeson + base + bytestring + containers + doctest + Glob + mersenne-random-pure64 + mtl + optparse-applicative + parsec + random + regex-tdfa + scientific + text + time + unordered-containers + uuid + vector ]; benchmarkHaskellDepends = [ - aeson base bytestring containers criterion mersenne-random-pure64 - mtl optparse-applicative parsec random regex-tdfa scientific text - time unordered-containers uuid vector + aeson + base + bytestring + containers + criterion + mersenne-random-pure64 + mtl + optparse-applicative + parsec + random + regex-tdfa + scientific + text + time + unordered-containers + uuid + vector ]; description = "Commandline tool to generate static or random JSON records"; diff --git a/pkgs/by-name/mk/mkjson/package.nix b/pkgs/by-name/mk/mkjson/package.nix index dfa170a5303d2..09e4b73886a2a 100644 --- a/pkgs/by-name/mk/mkjson/package.nix +++ b/pkgs/by-name/mk/mkjson/package.nix @@ -1 +1,2 @@ -{ haskell, haskellPackages }: haskell.lib.justStaticExecutables (haskellPackages.callPackage ./generated.nix { }) +{ haskell, haskellPackages }: +haskell.lib.justStaticExecutables (haskellPackages.callPackage ./generated.nix { }) diff --git a/pkgs/by-name/mk/mkl/package.nix b/pkgs/by-name/mk/mkl/package.nix index dc8b674f5c265..9f223473c0971 100644 --- a/pkgs/by-name/mk/mkl/package.nix +++ b/pkgs/by-name/mk/mkl/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, callPackage -, stdenvNoCC -, fetchurl -, rpmextract -, _7zz -, cctools -, validatePkgConfig -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + callPackage, + stdenvNoCC, + fetchurl, + rpmextract, + _7zz, + cctools, + validatePkgConfig, + enableStatic ? stdenv.hostPlatform.isStatic, }: /* @@ -62,123 +63,162 @@ let hash = "sha256-pzJpQdiYVpcKDShePak2I0uEh7u08vJgX7OBF5p5yAM="; }; -in stdenvNoCC.mkDerivation ({ - pname = "mkl"; - inherit version; - - dontUnpack = stdenvNoCC.hostPlatform.isLinux; - - sourceRoot = if stdenvNoCC.hostPlatform.isDarwin then "." else null; - - nativeBuildInputs = [ validatePkgConfig ] ++ (if stdenvNoCC.hostPlatform.isDarwin - then - [ _7zz cctools ] - else - [ rpmextract ]); - - buildPhase = if stdenvNoCC.hostPlatform.isDarwin then '' - for f in bootstrapper.app/Contents/Resources/packages/*/cupPayload.cup; do - tar -xf $f - done - mkdir -p opt/intel - mv _installdir opt/intel/oneapi - '' else '' - rpmextract ${oneapi-mkl} - rpmextract ${oneapi-mkl-common} - rpmextract ${oneapi-mkl-common-devel} - rpmextract ${oneapi-mkl-devel} - rpmextract ${oneapi-openmp} - rpmextract ${oneapi-tbb} - ''; - - installPhase = '' - for f in $(find . -name 'mkl*.pc') ; do - bn=$(basename $f) - substituteInPlace $f \ - --replace $\{MKLROOT} "$out" \ - --replace "lib/intel64" "lib" - - sed -r -i "s|^prefix=.*|prefix=$out|g" $f - done - - for f in $(find opt/intel -name 'mkl*iomp.pc') ; do - substituteInPlace $f --replace "../compiler/lib" "lib" - done - - # License - install -Dm0655 -t $out/share/doc/mkl opt/intel/oneapi/mkl/${mklVersion}/licensing/license.txt - - # Dynamic libraries - mkdir -p $out/lib - cp -a opt/intel/oneapi/mkl/${mklVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64"}/*${shlibExt}* $out/lib - cp -a opt/intel/oneapi/compiler/${mklVersion}/${if stdenvNoCC.hostPlatform.isDarwin then "mac" else "linux"}/compiler/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64_lin"}/*${shlibExt}* $out/lib - cp -a opt/intel/oneapi/tbb/${tbbVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64/gcc4.8"}/*${shlibExt}* $out/lib - - # Headers - cp -r opt/intel/oneapi/mkl/${mklVersion}/include $out/ - - # CMake config - cp -r opt/intel/oneapi/mkl/${mklVersion}/lib/cmake $out/lib - '' + - (if enableStatic then '' - install -Dm0644 -t $out/lib opt/intel/oneapi/mkl/${mklVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64"}/*.a - install -Dm0644 -t $out/lib/pkgconfig opt/intel/oneapi/mkl/${mklVersion}/lib/pkgconfig/*.pc - '' else '' - cp opt/intel/oneapi/mkl/${mklVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64"}/*${shlibExt}* $out/lib - install -Dm0644 -t $out/lib/pkgconfig opt/intel/oneapi/mkl/${mklVersion}/lib/pkgconfig/*dynamic*.pc - '') + '' - # Setup symlinks for blas / lapack - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt} - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt} - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapack${shlibExt} - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapacke${shlibExt} - '' + lib.optionalString stdenvNoCC.hostPlatform.isLinux '' - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt}".3" - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt}".3" - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapack${shlibExt}".3" - ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapacke${shlibExt}".3" - ''; - - # fixDarwinDylibName fails for libmkl_cdft_core.dylib because the - # larger updated load commands do not fit. Use install_name_tool - # explicitly and ignore the error. - postFixup = lib.optionalString stdenvNoCC.hostPlatform.isDarwin '' - for f in $out/lib/*.dylib; do - install_name_tool -id $out/lib/$(basename $f) $f || true - done - install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libmkl_intel_thread.dylib - install_name_tool -change @rpath/libtbb.12.dylib $out/lib/libtbb.12.dylib $out/lib/libmkl_tbb_thread.dylib - install_name_tool -change @rpath/libtbbmalloc.2.dylib $out/lib/libtbbmalloc.2.dylib $out/lib/libtbbmalloc_proxy.dylib - ''; - - # Per license agreement, do not modify the binary - dontStrip = true; - dontPatchELF = true; - - passthru.tests = { - pkg-config-dynamic-iomp = callPackage ./test { enableStatic = false; execution = "iomp"; }; - pkg-config-static-iomp = callPackage ./test { enableStatic = true; execution = "iomp"; }; - pkg-config-dynamic-seq = callPackage ./test { enableStatic = false; execution = "seq"; }; - pkg-config-static-seq = callPackage ./test { enableStatic = true; execution = "seq"; }; - }; - - meta = with lib; { - description = "Intel OneAPI Math Kernel Library"; - longDescription = '' - Intel OneAPI Math Kernel Library (Intel oneMKL) optimizes code with minimal - effort for future generations of Intel processors. It is compatible with your - choice of compilers, languages, operating systems, and linking and - threading models. +in +stdenvNoCC.mkDerivation ( + { + pname = "mkl"; + inherit version; + + dontUnpack = stdenvNoCC.hostPlatform.isLinux; + + sourceRoot = if stdenvNoCC.hostPlatform.isDarwin then "." else null; + + nativeBuildInputs = + [ validatePkgConfig ] + ++ ( + if stdenvNoCC.hostPlatform.isDarwin then + [ + _7zz + cctools + ] + else + [ rpmextract ] + ); + + buildPhase = + if stdenvNoCC.hostPlatform.isDarwin then + '' + for f in bootstrapper.app/Contents/Resources/packages/*/cupPayload.cup; do + tar -xf $f + done + mkdir -p opt/intel + mv _installdir opt/intel/oneapi + '' + else + '' + rpmextract ${oneapi-mkl} + rpmextract ${oneapi-mkl-common} + rpmextract ${oneapi-mkl-common-devel} + rpmextract ${oneapi-mkl-devel} + rpmextract ${oneapi-openmp} + rpmextract ${oneapi-tbb} + ''; + + installPhase = + '' + for f in $(find . -name 'mkl*.pc') ; do + bn=$(basename $f) + substituteInPlace $f \ + --replace $\{MKLROOT} "$out" \ + --replace "lib/intel64" "lib" + + sed -r -i "s|^prefix=.*|prefix=$out|g" $f + done + + for f in $(find opt/intel -name 'mkl*iomp.pc') ; do + substituteInPlace $f --replace "../compiler/lib" "lib" + done + + # License + install -Dm0655 -t $out/share/doc/mkl opt/intel/oneapi/mkl/${mklVersion}/licensing/license.txt + + # Dynamic libraries + mkdir -p $out/lib + cp -a opt/intel/oneapi/mkl/${mklVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64"}/*${shlibExt}* $out/lib + cp -a opt/intel/oneapi/compiler/${mklVersion}/${ + if stdenvNoCC.hostPlatform.isDarwin then "mac" else "linux" + }/compiler/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64_lin"}/*${shlibExt}* $out/lib + cp -a opt/intel/oneapi/tbb/${tbbVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64/gcc4.8"}/*${shlibExt}* $out/lib + + # Headers + cp -r opt/intel/oneapi/mkl/${mklVersion}/include $out/ + + # CMake config + cp -r opt/intel/oneapi/mkl/${mklVersion}/lib/cmake $out/lib + '' + + ( + if enableStatic then + '' + install -Dm0644 -t $out/lib opt/intel/oneapi/mkl/${mklVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64"}/*.a + install -Dm0644 -t $out/lib/pkgconfig opt/intel/oneapi/mkl/${mklVersion}/lib/pkgconfig/*.pc + '' + else + '' + cp opt/intel/oneapi/mkl/${mklVersion}/lib/${lib.optionalString stdenvNoCC.hostPlatform.isLinux "intel64"}/*${shlibExt}* $out/lib + install -Dm0644 -t $out/lib/pkgconfig opt/intel/oneapi/mkl/${mklVersion}/lib/pkgconfig/*dynamic*.pc + '' + ) + + '' + # Setup symlinks for blas / lapack + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt} + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt} + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapack${shlibExt} + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapacke${shlibExt} + '' + + lib.optionalString stdenvNoCC.hostPlatform.isLinux '' + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt}".3" + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt}".3" + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapack${shlibExt}".3" + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapacke${shlibExt}".3" + ''; + + # fixDarwinDylibName fails for libmkl_cdft_core.dylib because the + # larger updated load commands do not fit. Use install_name_tool + # explicitly and ignore the error. + postFixup = lib.optionalString stdenvNoCC.hostPlatform.isDarwin '' + for f in $out/lib/*.dylib; do + install_name_tool -id $out/lib/$(basename $f) $f || true + done + install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libmkl_intel_thread.dylib + install_name_tool -change @rpath/libtbb.12.dylib $out/lib/libtbb.12.dylib $out/lib/libmkl_tbb_thread.dylib + install_name_tool -change @rpath/libtbbmalloc.2.dylib $out/lib/libtbbmalloc.2.dylib $out/lib/libtbbmalloc_proxy.dylib ''; - homepage = "https://software.intel.com/en-us/mkl"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.issl; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; - maintainers = with maintainers; [ bhipple ]; - }; -} // lib.optionalAttrs stdenvNoCC.hostPlatform.isDarwin { - src = fetchurl { - url = "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/087a9190-9d96-4b8c-bd2f-79159572ed89/m_onemkl_p_${mklVersion}.${rel}_offline.dmg"; - hash = "sha256-bUaaJPSaLr60fw0DzDCjPvY/UucHlLbCSLyQxyiAi04="; - }; -}) + + # Per license agreement, do not modify the binary + dontStrip = true; + dontPatchELF = true; + + passthru.tests = { + pkg-config-dynamic-iomp = callPackage ./test { + enableStatic = false; + execution = "iomp"; + }; + pkg-config-static-iomp = callPackage ./test { + enableStatic = true; + execution = "iomp"; + }; + pkg-config-dynamic-seq = callPackage ./test { + enableStatic = false; + execution = "seq"; + }; + pkg-config-static-seq = callPackage ./test { + enableStatic = true; + execution = "seq"; + }; + }; + + meta = with lib; { + description = "Intel OneAPI Math Kernel Library"; + longDescription = '' + Intel OneAPI Math Kernel Library (Intel oneMKL) optimizes code with minimal + effort for future generations of Intel processors. It is compatible with your + choice of compilers, languages, operating systems, and linking and + threading models. + ''; + homepage = "https://software.intel.com/en-us/mkl"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.issl; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; + maintainers = with maintainers; [ bhipple ]; + }; + } + // lib.optionalAttrs stdenvNoCC.hostPlatform.isDarwin { + src = fetchurl { + url = "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/087a9190-9d96-4b8c-bd2f-79159572ed89/m_onemkl_p_${mklVersion}.${rel}_offline.dmg"; + hash = "sha256-bUaaJPSaLr60fw0DzDCjPvY/UucHlLbCSLyQxyiAi04="; + }; + } +) diff --git a/pkgs/by-name/mk/mkl/test/default.nix b/pkgs/by-name/mk/mkl/test/default.nix index 1717e11e43d86..848b7092abae4 100644 --- a/pkgs/by-name/mk/mkl/test/default.nix +++ b/pkgs/by-name/mk/mkl/test/default.nix @@ -1,14 +1,16 @@ -{ stdenv -, pkg-config -, mkl +{ + stdenv, + pkg-config, + mkl, -, enableStatic ? false -, execution ? "seq" + enableStatic ? false, + execution ? "seq", }: let linkType = if enableStatic then "static" else "dynamic"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "mkl-test"; version = mkl.version; diff --git a/pkgs/by-name/mk/mkp224o/package.nix b/pkgs/by-name/mk/mkp224o/package.nix index 318284a4318fd..b6d12752d9ad2 100644 --- a/pkgs/by-name/mk/mkp224o/package.nix +++ b/pkgs/by-name/mk/mkp224o/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, libsodium }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + libsodium, +}: stdenv.mkDerivation rec { pname = "mkp224o"; @@ -15,17 +21,37 @@ stdenv.mkDerivation rec { let # compile few variants with different implementation of crypto # the fastest depends on a particular cpu - variants = [ - { suffix = "ref10"; configureFlags = ["--enable-ref10"]; } - { suffix = "donna"; configureFlags = ["--enable-donna"]; } - ] ++ lib.optionals stdenv.hostPlatform.isx86 [ - { suffix = "donna-sse2"; configureFlags = ["--enable-donna-sse2"]; } - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - { suffix = "amd64-51-30k"; configureFlags = ["--enable-amd64-51-30k"]; } - { suffix = "amd64-64-24k"; configureFlags = ["--enable-amd64-64-24k"]; } - ]; + variants = + [ + { + suffix = "ref10"; + configureFlags = [ "--enable-ref10" ]; + } + { + suffix = "donna"; + configureFlags = [ "--enable-donna" ]; + } + ] + ++ lib.optionals stdenv.hostPlatform.isx86 [ + { + suffix = "donna-sse2"; + configureFlags = [ "--enable-donna-sse2" ]; + } + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + { + suffix = "amd64-51-30k"; + configureFlags = [ "--enable-amd64-51-30k" ]; + } + { + suffix = "amd64-64-24k"; + configureFlags = [ "--enable-amd64-64-24k" ]; + } + ]; in - lib.concatMapStrings ({suffix, configureFlags}: '' + lib.concatMapStrings ( + { suffix, configureFlags }: + '' install -D ${ stdenv.mkDerivation { name = "mkp224o-${suffix}-${version}"; @@ -35,7 +61,8 @@ stdenv.mkDerivation rec { installPhase = "install -D mkp224o $out"; } } $out/bin/mkp224o-${suffix} - '') variants; + '' + ) variants; meta = with lib; { description = "Vanity address generator for tor onion v3 (ed25519) hidden services"; diff --git a/pkgs/by-name/mk/mkrand/package.nix b/pkgs/by-name/mk/mkrand/package.nix index 38ef22117fa33..c919e16eb58e6 100644 --- a/pkgs/by-name/mk/mkrand/package.nix +++ b/pkgs/by-name/mk/mkrand/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mkrand"; @@ -19,4 +23,4 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; platforms = lib.platforms.all; }; - } +} diff --git a/pkgs/by-name/mk/mksh/package.nix b/pkgs/by-name/mk/mksh/package.nix index f22fc93578a38..39b4e0d686eec 100644 --- a/pkgs/by-name/mk/mksh/package.nix +++ b/pkgs/by-name/mk/mksh/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { @@ -54,8 +55,15 @@ stdenv.mkDerivation (finalAttrs: { also to be readily available under other UNIX(R)-like operating systems. ''; - license = with lib.licenses; [ miros isc unicode-dfs-2016 ]; - maintainers = with lib.maintainers; [ AndersonTorres joachifm ]; + license = with lib.licenses; [ + miros + isc + unicode-dfs-2016 + ]; + maintainers = with lib.maintainers; [ + AndersonTorres + joachifm + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/mk/mktemp/package.nix b/pkgs/by-name/mk/mktemp/package.nix index ca16611332f76..4b644672dd8e2 100644 --- a/pkgs/by-name/mk/mktemp/package.nix +++ b/pkgs/by-name/mk/mktemp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, groff +{ + lib, + stdenv, + fetchurl, + fetchpatch, + groff, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mk/mktorrent/package.nix b/pkgs/by-name/mk/mktorrent/package.nix index 3fb3f7390fe6c..4edbb1acab46f 100644 --- a/pkgs/by-name/mk/mktorrent/package.nix +++ b/pkgs/by-name/mk/mktorrent/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, +}: stdenv.mkDerivation rec { pname = "mktorrent"; @@ -11,7 +16,12 @@ stdenv.mkDerivation rec { sha256 = "17pdc5mandl739f8q26n5is8ga56s83aqcrwhlnnplbxwx2inidr"; }; - makeFlags = [ "USE_PTHREADS=1" "USE_OPENSSL=1" "USE_LONG_OPTIONS=1" ] + makeFlags = + [ + "USE_PTHREADS=1" + "USE_OPENSSL=1" + "USE_LONG_OPTIONS=1" + ] ++ lib.optional stdenv.hostPlatform.isi686 "USE_LARGE_FILES=1" ++ lib.optional stdenv.hostPlatform.isLinux "CFLAGS=-lgcc_s"; @@ -23,7 +33,10 @@ stdenv.mkDerivation rec { description = "Command line utility to create BitTorrent metainfo files"; homepage = "https://github.com/pobrn/mktorrent/wiki"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ Profpatsch winter ]; + maintainers = with maintainers; [ + Profpatsch + winter + ]; platforms = platforms.all; mainProgram = "mktorrent"; }; diff --git a/pkgs/by-name/ml/mlarchive2maildir/package.nix b/pkgs/by-name/ml/mlarchive2maildir/package.nix index d381dd0b0f271..e80d7a5d35af7 100644 --- a/pkgs/by-name/ml/mlarchive2maildir/package.nix +++ b/pkgs/by-name/ml/mlarchive2maildir/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: python3.pkgs.buildPythonApplication rec { pname = "mlarchive2maildir"; diff --git a/pkgs/by-name/ml/mlc/package.nix b/pkgs/by-name/ml/mlc/package.nix index 524db47d8e3d1..ee0bf347bac64 100644 --- a/pkgs/by-name/ml/mlc/package.nix +++ b/pkgs/by-name/ml/mlc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, patchelf }: +{ + lib, + stdenv, + fetchurl, + patchelf, +}: stdenv.mkDerivation rec { pname = "mlc"; version = "3.9a"; diff --git a/pkgs/by-name/ml/mle/package.nix b/pkgs/by-name/ml/mle/package.nix index 079c24c2e732b..c11fc690e55b4 100644 --- a/pkgs/by-name/ml/mle/package.nix +++ b/pkgs/by-name/ml/mle/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pcre2 -, uthash -, lua5_4 -, makeWrapper -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + pcre2, + uthash, + lua5_4, + makeWrapper, + installShellFiles, }: stdenv.mkDerivation rec { @@ -26,9 +27,16 @@ stdenv.mkDerivation rec { patchShebangs tests/* ''; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; - buildInputs = [ pcre2 uthash lua5_4 ]; + buildInputs = [ + pcre2 + uthash + lua5_4 + ]; doCheck = true; diff --git a/pkgs/by-name/ml/mlib/package.nix b/pkgs/by-name/ml/mlib/package.nix index 91e1271278333..d91702689d07e 100644 --- a/pkgs/by-name/ml/mlib/package.nix +++ b/pkgs/by-name/ml/mlib/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -14,7 +15,10 @@ stdenv.mkDerivation rec { hash = "sha256-r8ol923tNkZ13QXWjWpMrN6rBjjjg5XoBCho4OKdyvY="; }; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "PREFIX=$(out)" + ]; doCheck = true; diff --git a/pkgs/by-name/ml/mlmmj/package.nix b/pkgs/by-name/ml/mlmmj/package.nix index 76ce2d0115998..f49a58338cbca 100644 --- a/pkgs/by-name/ml/mlmmj/package.nix +++ b/pkgs/by-name/ml/mlmmj/package.nix @@ -15,11 +15,16 @@ stdenv.mkDerivation rec { domain = "codeberg.org"; owner = pname; repo = pname; - rev = "refs/tags/RELEASE_" + lib.replaceStrings ["."] ["_"] version; + rev = "refs/tags/RELEASE_" + lib.replaceStrings [ "." ] [ "_" ] version; hash = "sha256-QetxCxny9elPetKuAsgKF0xTov1bNIRxi7gWhv6dYyU="; }; - nativeBuildInputs = [autoreconfHook atf pkg-config kyua]; + nativeBuildInputs = [ + autoreconfHook + atf + pkg-config + kyua + ]; configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # AC_FUNC_MALLOC is broken on cross builds. @@ -36,7 +41,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://mlmmj.org"; description = "Mailing List Management Made Joyful"; - maintainers = [maintainers.edwtjo]; + maintainers = [ maintainers.edwtjo ]; platforms = platforms.linux; license = licenses.mit; }; diff --git a/pkgs/by-name/ml/mloader/package.nix b/pkgs/by-name/ml/mloader/package.nix index c4fa482032165..6691d11440fa6 100644 --- a/pkgs/by-name/ml/mloader/package.nix +++ b/pkgs/by-name/ml/mloader/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "mloader"; diff --git a/pkgs/by-name/ml/mlocate/package.nix b/pkgs/by-name/ml/mlocate/package.nix index 4ae61095fff56..3a3bd207764f9 100644 --- a/pkgs/by-name/ml/mlocate/package.nix +++ b/pkgs/by-name/ml/mlocate/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mlocate"; diff --git a/pkgs/by-name/ml/mlvwm/package.nix b/pkgs/by-name/ml/mlvwm/package.nix index e2986159b20a7..37224e21ccf3f 100644 --- a/pkgs/by-name/ml/mlvwm/package.nix +++ b/pkgs/by-name/ml/mlvwm/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, gccmakedep, libX11, libXext, libXpm, imake, installShellFiles, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + gccmakedep, + libX11, + libXext, + libXpm, + imake, + installShellFiles, + ... +}: stdenv.mkDerivation rec { pname = "mlvwm"; @@ -13,7 +24,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ installShellFiles ]; - buildInputs = [ gccmakedep libX11 libXext libXpm imake ]; + buildInputs = [ + gccmakedep + libX11 + libXext + libXpm + imake + ]; buildPhase = '' (cd man && xmkmf) diff --git a/pkgs/by-name/ml/mlxbf-bootctl/package.nix b/pkgs/by-name/ml/mlxbf-bootctl/package.nix index 531956dd4b1ca..1356457380a58 100644 --- a/pkgs/by-name/ml/mlxbf-bootctl/package.nix +++ b/pkgs/by-name/ml/mlxbf-bootctl/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchFromGitHub -, lib +{ + stdenv, + fetchFromGitHub, + lib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ml/mlxbf-bootimages/package.nix b/pkgs/by-name/ml/mlxbf-bootimages/package.nix index 7c4291fe778e8..46e87a88d32b5 100644 --- a/pkgs/by-name/ml/mlxbf-bootimages/package.nix +++ b/pkgs/by-name/ml/mlxbf-bootimages/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchurl -, dpkg +{ + stdenv, + lib, + fetchurl, + dpkg, }: stdenv.mkDerivation rec { @@ -34,7 +35,9 @@ stdenv.mkDerivation rec { # they are unfree. See https://github.com/Mellanox/bootimages/issues/3 license = licenses.unfree; platforms = [ "aarch64-linux" ]; - maintainers = with maintainers; [ nikstur thillux ]; + maintainers = with maintainers; [ + nikstur + thillux + ]; }; } - diff --git a/pkgs/by-name/mm/MMA/package.nix b/pkgs/by-name/mm/MMA/package.nix index 8f54e6e297100..b5e52bd423320 100644 --- a/pkgs/by-name/mm/MMA/package.nix +++ b/pkgs/by-name/mm/MMA/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, python3, alsa-utils, timidity }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + python3, + alsa-utils, + timidity, +}: stdenv.mkDerivation rec { version = "21.09"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ python3 alsa-utils timidity ]; + buildInputs = [ + python3 + alsa-utils + timidity + ]; patchPhase = '' sed -i 's@/usr/bin/aplaymidi@/${alsa-utils}/bin/aplaymidi@g' mma-splitrec @@ -60,8 +72,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = - "Creates MIDI tracks for a soloist to perform over from a user supplied file containing chords"; + description = "Creates MIDI tracks for a soloist to perform over from a user supplied file containing chords"; homepage = "https://www.mellowood.ca/mma/index.html"; license = lib.licenses.gpl2; maintainers = [ lib.maintainers.magnetophon ]; diff --git a/pkgs/by-name/mm/mm-common/package.nix b/pkgs/by-name/mm/mm-common/package.nix index cbc0f86e31b12..e4d2b8b254397 100644 --- a/pkgs/by-name/mm/mm-common/package.nix +++ b/pkgs/by-name/mm/mm-common/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, bash -, gnome -, meson -, python3 -, ninja +{ + lib, + stdenv, + fetchurl, + bash, + gnome, + meson, + python3, + ninja, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mm/mm/package.nix b/pkgs/by-name/mm/mm/package.nix index 2fa65fddfd1d0..95e4d00a2e56e 100644 --- a/pkgs/by-name/mm/mm/package.nix +++ b/pkgs/by-name/mm/mm/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchgit }: +{ + lib, + buildGoModule, + fetchgit, +}: buildGoModule { pname = "mm"; diff --git a/pkgs/by-name/mm/mmake/package.nix b/pkgs/by-name/mm/mmake/package.nix index b0aff161ecea8..c882a4d027dd2 100644 --- a/pkgs/by-name/mm/mmake/package.nix +++ b/pkgs/by-name/mm/mmake/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mmake"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-0z+sujzzBl/rtzXbhL4Os+jYfLUuO9PlXshUDxAH9DU="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # Almost all tests require non-local networking, trying to resolve githubusercontent.com. doCheck = false; diff --git a/pkgs/by-name/mm/mmark/package.nix b/pkgs/by-name/mm/mmark/package.nix index ab371104dc868..93a86bf61f144 100644 --- a/pkgs/by-name/mm/mmark/package.nix +++ b/pkgs/by-name/mm/mmark/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, mmark }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + mmark, +}: buildGoModule rec { pname = "mmark"; @@ -16,7 +22,10 @@ buildGoModule rec { vendorHash = "sha256-GjR9cOGLB6URHQi+qcyNbP7rm0+y4wypvgUxgJzIgGQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = mmark; diff --git a/pkgs/by-name/mm/mmc-utils/package.nix b/pkgs/by-name/mm/mmc-utils/package.nix index 76b7d3ae1af19..7e197e6bbda55 100644 --- a/pkgs/by-name/mm/mmc-utils/package.nix +++ b/pkgs/by-name/mm/mmc-utils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, unstableGitUpdater }: +{ + lib, + stdenv, + fetchzip, + unstableGitUpdater, +}: stdenv.mkDerivation { pname = "mmc-utils"; @@ -10,7 +15,10 @@ stdenv.mkDerivation { sha256 = "/lkcZ/ArdBAStV9usavrbfjULXenqb+h2rbDJzxZjJk="; }; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "prefix=$(out)" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "prefix=$(out)" + ]; # causes redefinition of _FORTIFY_SOURCE hardeningDisable = [ "fortify3" ]; diff --git a/pkgs/by-name/mm/mmctl/package.nix b/pkgs/by-name/mm/mmctl/package.nix index 956a12f598bdb..f5e6c29916f64 100644 --- a/pkgs/by-name/mm/mmctl/package.nix +++ b/pkgs/by-name/mm/mmctl/package.nix @@ -1,4 +1,5 @@ -{ mattermost +{ + mattermost, }: mattermost.overrideAttrs (o: { diff --git a/pkgs/by-name/mm/mmdoc/package.nix b/pkgs/by-name/mm/mmdoc/package.nix index e7bf45dbb4c80..ca10843f3095c 100644 --- a/pkgs/by-name/mm/mmdoc/package.nix +++ b/pkgs/by-name/mm/mmdoc/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmark-gfm -, xxd -, fastJson -, libzip -, ninja -, meson -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmark-gfm, + xxd, + fastJson, + libzip, + ninja, + meson, + pkg-config, }: stdenv.mkDerivation rec { @@ -21,9 +22,18 @@ stdenv.mkDerivation rec { hash = "sha256-NS8i5xvCwq0pSdfxnaxnpuwmDAkfH6Tkc4N2F6aGvWY="; }; - nativeBuildInputs = [ ninja meson pkg-config xxd ]; + nativeBuildInputs = [ + ninja + meson + pkg-config + xxd + ]; - buildInputs = [ cmark-gfm fastJson libzip ]; + buildInputs = [ + cmark-gfm + fastJson + libzip + ]; meta = with lib; { description = "Minimal Markdown Documentation"; diff --git a/pkgs/by-name/mm/mmh/package.nix b/pkgs/by-name/mm/mmh/package.nix index edcc48386a110..81a34a381ef03 100644 --- a/pkgs/by-name/mm/mmh/package.nix +++ b/pkgs/by-name/mm/mmh/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchurl, ncurses, autoreconfHook, flex }: -let rev = "b17ea39dc17e5514f33b3f5c34ede92bd16e208c"; -in stdenv.mkDerivation rec { +{ + lib, + stdenv, + fetchurl, + ncurses, + autoreconfHook, + flex, +}: +let + rev = "b17ea39dc17e5514f33b3f5c34ede92bd16e208c"; +in +stdenv.mkDerivation rec { pname = "mmh"; version = "unstable-2020-08-21"; @@ -13,10 +22,13 @@ in stdenv.mkDerivation rec { postPatch = '' substituteInPlace sbr/Makefile.in \ --replace "ar " "${stdenv.cc.targetPrefix}ar " - ''; + ''; buildInputs = [ ncurses ]; - nativeBuildInputs = [ autoreconfHook flex ]; + nativeBuildInputs = [ + autoreconfHook + flex + ]; meta = with lib; { description = "Set of electronic mail handling programs"; diff --git a/pkgs/by-name/mm/mmixware/package.nix b/pkgs/by-name/mm/mmixware/package.nix index 024028fd5b69d..3349f3fbc02a6 100644 --- a/pkgs/by-name/mm/mmixware/package.nix +++ b/pkgs/by-name/mm/mmixware/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, tetex }: +{ + lib, + stdenv, + fetchFromGitLab, + tetex, +}: stdenv.mkDerivation { pname = "mmixware"; @@ -25,7 +30,11 @@ stdenv.mkDerivation { nativeBuildInputs = [ tetex ]; enableParallelBuilding = true; - makeFlags = [ "all" "doc" "CFLAGS=-O2" ]; + makeFlags = [ + "all" + "doc" + "CFLAGS=-O2" + ]; installPhase = '' runHook preInstall @@ -39,10 +48,10 @@ stdenv.mkDerivation { ''; meta = with lib; { - description = "MMIX simulator and assembler"; - homepage = "https://www-cs-faculty.stanford.edu/~knuth/mmix-news.html"; - maintainers = with maintainers; [ siraben ]; - platforms = platforms.unix; - license = licenses.publicDomain; + description = "MMIX simulator and assembler"; + homepage = "https://www-cs-faculty.stanford.edu/~knuth/mmix-news.html"; + maintainers = with maintainers; [ siraben ]; + platforms = platforms.unix; + license = licenses.publicDomain; }; } diff --git a/pkgs/by-name/mm/mmsd/package.nix b/pkgs/by-name/mm/mmsd/package.nix index b156b4f125f32..fe594fa662038 100644 --- a/pkgs/by-name/mm/mmsd/package.nix +++ b/pkgs/by-name/mm/mmsd/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchzip -, autoreconfHook -, pkg-config -, glib -, dbus +{ + lib, + stdenv, + fetchzip, + autoreconfHook, + pkg-config, + glib, + dbus, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mm/mmtc/package.nix b/pkgs/by-name/mm/mmtc/package.nix index 384bd44929746..8485728b8b79f 100644 --- a/pkgs/by-name/mm/mmtc/package.nix +++ b/pkgs/by-name/mm/mmtc/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "mmtc"; diff --git a/pkgs/by-name/mm/mmtf-cpp/package.nix b/pkgs/by-name/mm/mmtf-cpp/package.nix index ef77380396730..99f2287a20f26 100644 --- a/pkgs/by-name/mm/mmtf-cpp/package.nix +++ b/pkgs/by-name/mm/mmtf-cpp/package.nix @@ -1,10 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, cmake, msgpack } : +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + msgpack, +}: stdenv.mkDerivation (finalAttrs: { pname = "mmtf-cpp"; version = "1.1.0"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "rcsb"; repo = "mmtf-cpp"; rev = "v${finalAttrs.version}"; diff --git a/pkgs/by-name/mm/mmutils/package.nix b/pkgs/by-name/mm/mmutils/package.nix index 4e744e9d9571c..7b410dc72e179 100644 --- a/pkgs/by-name/mm/mmutils/package.nix +++ b/pkgs/by-name/mm/mmutils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libxcb }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, +}: stdenv.mkDerivation rec { pname = "wmutils"; diff --git a/pkgs/by-name/mm/mmv-go/package.nix b/pkgs/by-name/mm/mmv-go/package.nix index 2a4c74ddea01e..fdc05fdbd68c8 100644 --- a/pkgs/by-name/mm/mmv-go/package.nix +++ b/pkgs/by-name/mm/mmv-go/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mmv-go"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-HHGiMSBu3nrIChSYaEu9i22nwhLKgVQkPvbTMHBWwAE="; - ldflags = [ "-s" "-w" "-X main.revision=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.revision=${src.rev}" + ]; meta = with lib; { homepage = "https://github.com/itchyny/mmv"; diff --git a/pkgs/by-name/mm/mmv/package.nix b/pkgs/by-name/mm/mmv/package.nix index 6fd4c59e423e9..7016a79fd0d30 100644 --- a/pkgs/by-name/mm/mmv/package.nix +++ b/pkgs/by-name/mm/mmv/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gengetopt, m4, gnupg -, git, perl, autoconf, automake, help2man }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gengetopt, + m4, + gnupg, + git, + perl, + autoconf, + automake, + help2man, +}: stdenv.mkDerivation rec { pname = "mmv"; @@ -17,7 +29,17 @@ stdenv.mkDerivation rec { ./bootstrap ''; - nativeBuildInputs = [ gengetopt m4 git gnupg perl autoconf automake help2man pkg-config ]; + nativeBuildInputs = [ + gengetopt + m4 + git + gnupg + perl + autoconf + automake + help2man + pkg-config + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/mn/mnc/package.nix b/pkgs/by-name/mn/mnc/package.nix index 229600132aa9a..8186682ad96a5 100644 --- a/pkgs/by-name/mn/mnc/package.nix +++ b/pkgs/by-name/mn/mnc/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromSourcehut +{ + lib, + buildGoModule, + fetchFromSourcehut, }: buildGoModule rec { diff --git a/pkgs/by-name/mn/mnemonicode/package.nix b/pkgs/by-name/mn/mnemonicode/package.nix index 1cd78fdce093e..bf8859933505e 100644 --- a/pkgs/by-name/mn/mnemonicode/package.nix +++ b/pkgs/by-name/mn/mnemonicode/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "mnemonicode"; diff --git a/pkgs/by-name/mn/mni_autoreg/package.nix b/pkgs/by-name/mn/mni_autoreg/package.nix index 29ab02ee3139d..10bb56265f57e 100644 --- a/pkgs/by-name/mn/mni_autoreg/package.nix +++ b/pkgs/by-name/mn/mni_autoreg/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, perlPackages, libminc }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + perlPackages, + libminc, +}: stdenv.mkDerivation rec { pname = "mni_autoreg"; @@ -11,9 +19,16 @@ stdenv.mkDerivation rec { sha256 = "sGMZbCrdV6yAOgGiqvBFOUr6pGlTCqwy8yNrPxMoKco="; }; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; buildInputs = [ libminc ]; - propagatedBuildInputs = with perlPackages; [ perl GetoptTabular MNI-Perllib ]; + propagatedBuildInputs = with perlPackages; [ + perl + GetoptTabular + MNI-Perllib + ]; cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/cmake" ]; # testing broken: './minc_wrapper: Permission denied' from Testing/ellipse0.mnc diff --git a/pkgs/by-name/mn/mnist/package.nix b/pkgs/by-name/mn/mnist/package.nix index 3df5001e70ef1..5a54f6403c6a6 100644 --- a/pkgs/by-name/mn/mnist/package.nix +++ b/pkgs/by-name/mn/mnist/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: let srcs = { train-images = fetchurl { @@ -19,27 +23,27 @@ let }; }; in - stdenvNoCC.mkDerivation rec { - pname = "mnist"; - version = "2018-11-16"; - installPhase = '' - mkdir -p $out - ln -s "${srcs.train-images}" "$out/${srcs.train-images.name}" - ln -s "${srcs.train-labels}" "$out/${srcs.train-labels.name}" - ln -s "${srcs.test-images}" "$out/${srcs.test-images.name}" - ln -s "${srcs.test-labels}" "$out/${srcs.test-labels.name}" +stdenvNoCC.mkDerivation rec { + pname = "mnist"; + version = "2018-11-16"; + installPhase = '' + mkdir -p $out + ln -s "${srcs.train-images}" "$out/${srcs.train-images.name}" + ln -s "${srcs.train-labels}" "$out/${srcs.train-labels.name}" + ln -s "${srcs.test-images}" "$out/${srcs.test-images.name}" + ln -s "${srcs.test-labels}" "$out/${srcs.test-labels.name}" + ''; + dontUnpack = true; + meta = with lib; { + description = "Large database of handwritten digits"; + longDescription = '' + The MNIST database (Modified National Institute of Standards and + Technology database) is a large database of handwritten digits that is + commonly used for training various image processing systems. ''; - dontUnpack = true; - meta = with lib; { - description = "Large database of handwritten digits"; - longDescription = '' - The MNIST database (Modified National Institute of Standards and - Technology database) is a large database of handwritten digits that is - commonly used for training various image processing systems. - ''; - homepage = "http://yann.lecun.com/exdb/mnist/index.html"; - license = licenses.cc-by-sa-30; - platforms = platforms.all; - maintainers = with maintainers; [ cmcdragonkai ]; - }; - } + homepage = "http://yann.lecun.com/exdb/mnist/index.html"; + license = licenses.cc-by-sa-30; + platforms = platforms.all; + maintainers = with maintainers; [ cmcdragonkai ]; + }; +} diff --git a/pkgs/by-name/mn/mno16/package.nix b/pkgs/by-name/mn/mno16/package.nix index 59597120c1003..8d4b6d036eea3 100644 --- a/pkgs/by-name/mn/mno16/package.nix +++ b/pkgs/by-name/mn/mno16/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "mno16"; diff --git a/pkgs/by-name/mo/mo/package.nix b/pkgs/by-name/mo/mo/package.nix index 4ce066920b993..8794800e5662e 100644 --- a/pkgs/by-name/mo/mo/package.nix +++ b/pkgs/by-name/mo/mo/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mo/mob/package.nix b/pkgs/by-name/mo/mob/package.nix index 115162094a1c8..789baeb400d1e 100644 --- a/pkgs/by-name/mo/mob/package.nix +++ b/pkgs/by-name/mo/mob/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv -, withSpeech ? !stdenv.hostPlatform.isDarwin -, makeWrapper -, espeak-ng +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + withSpeech ? !stdenv.hostPlatform.isDarwin, + makeWrapper, + espeak-ng, }: buildGoModule rec { @@ -24,7 +25,10 @@ buildGoModule rec { makeWrapper ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doCheck = false; diff --git a/pkgs/by-name/mo/mobilecoin-wallet/package.nix b/pkgs/by-name/mo/mobilecoin-wallet/package.nix index 91c59315ba6a9..1fba3f5a3f172 100644 --- a/pkgs/by-name/mo/mobilecoin-wallet/package.nix +++ b/pkgs/by-name/mo/mobilecoin-wallet/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "mobilecoin-wallet"; @@ -9,7 +13,8 @@ let }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraPkgs = pkgs: [ pkgs.libsecret ]; diff --git a/pkgs/by-name/mo/mockobjects/package.nix b/pkgs/by-name/mo/mockobjects/package.nix index 113c377240b43..cf94033856796 100644 --- a/pkgs/by-name/mo/mockobjects/package.nix +++ b/pkgs/by-name/mo/mockobjects/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mockobjects"; diff --git a/pkgs/by-name/mo/mockoon/package.nix b/pkgs/by-name/mo/mockoon/package.nix index 76d32bd24666f..f0e276c0cc5fb 100644 --- a/pkgs/by-name/mo/mockoon/package.nix +++ b/pkgs/by-name/mo/mockoon/package.nix @@ -1,6 +1,7 @@ -{ lib -, appimageTools -, fetchurl +{ + lib, + appimageTools, + fetchurl, }: let diff --git a/pkgs/by-name/mo/mod-arpeggiator-lv2/package.nix b/pkgs/by-name/mo/mod-arpeggiator-lv2/package.nix index 0f8ef18d569a5..934175349420a 100644 --- a/pkgs/by-name/mo/mod-arpeggiator-lv2/package.nix +++ b/pkgs/by-name/mo/mod-arpeggiator-lv2/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mo/mod-distortion/package.nix b/pkgs/by-name/mo/mod-distortion/package.nix index 7e2b2bf6cfbda..804dfe60befb8 100644 --- a/pkgs/by-name/mo/mod-distortion/package.nix +++ b/pkgs/by-name/mo/mod-distortion/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, +}: stdenv.mkDerivation { pname = "mod-distortion"; diff --git a/pkgs/by-name/mo/mod/package.nix b/pkgs/by-name/mo/mod/package.nix index 8e71eb969b6b8..2a866dbd54d5d 100644 --- a/pkgs/by-name/mo/mod/package.nix +++ b/pkgs/by-name/mo/mod/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "mod"; @@ -23,7 +27,7 @@ buildGoModule rec { longDescription = '' Command line tool to upgrade/downgrade Semantic Import Versioning in Go Modules. - ''; + ''; homepage = "https://github.com/marwan-at-work/mod"; license = licenses.mit; maintainers = with maintainers; [ kalbasit ]; diff --git a/pkgs/by-name/mo/modd/package.nix b/pkgs/by-name/mo/modd/package.nix index 23116255c0de7..28c631528d7b6 100644 --- a/pkgs/by-name/mo/modd/package.nix +++ b/pkgs/by-name/mo/modd/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "modd"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-O+hJRMSwV/9NHxbaLjloCWnfPugfRYaXNve098wjbqQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Flexible developer tool that runs processes and responds to filesystem changes"; diff --git a/pkgs/by-name/mo/modem-manager-gui/package.nix b/pkgs/by-name/mo/modem-manager-gui/package.nix index a96031342f8ed..9e34201035632 100644 --- a/pkgs/by-name/mo/modem-manager-gui/package.nix +++ b/pkgs/by-name/mo/modem-manager-gui/package.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, pkg-config -, python3 -, fetchFromGitLab -, fetchpatch -, gtk3 -, glib -, gdbm -, gtkspell3 -, ofono -, itstool -, libayatana-appindicator -, perlPackages -, meson -, ninja +{ + lib, + stdenv, + pkg-config, + python3, + fetchFromGitLab, + fetchpatch, + gtk3, + glib, + gdbm, + gtkspell3, + ofono, + itstool, + libayatana-appindicator, + perlPackages, + meson, + ninja, }: stdenv.mkDerivation (finalAttrs: { @@ -79,7 +81,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://linuxonly.ru/page/modem-manager-gui"; license = licenses.gpl3; - maintainers = with maintainers; [ ahuzik galagora ]; + maintainers = with maintainers; [ + ahuzik + galagora + ]; platforms = platforms.linux; mainProgram = "modem-manager-gui"; }; diff --git a/pkgs/by-name/mo/modemmanager/package.nix b/pkgs/by-name/mo/modemmanager/package.nix index a91854865b1b2..0840191e498f5 100644 --- a/pkgs/by-name/mo/modemmanager/package.nix +++ b/pkgs/by-name/mo/modemmanager/package.nix @@ -1,29 +1,32 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, glib -, libgudev -, ppp -, gettext -, pkg-config -, libxslt -, python3 -, libmbim -, libqmi -, bash-completion -, meson -, ninja -, vala -, dbus -, bash -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, polkit -, withPolkit ? lib.meta.availableOn stdenv.hostPlatform polkit -, systemd -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + glib, + libgudev, + ppp, + gettext, + pkg-config, + libxslt, + python3, + libmbim, + libqmi, + bash-completion, + meson, + ninja, + vala, + dbus, + bash, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + polkit, + withPolkit ? lib.meta.availableOn stdenv.hostPlatform polkit, + systemd, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: stdenv.mkDerivation rec { @@ -52,33 +55,38 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ - meson - ninja - gettext - glib - pkg-config - libxslt - python3 - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala - ]; + nativeBuildInputs = + [ + meson + ninja + gettext + glib + pkg-config + libxslt + python3 + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + vala + ]; - buildInputs = [ - glib - libgudev - ppp - libmbim - libqmi - bash-completion - dbus - bash # shebangs in share/ModemManager/fcc-unlock.available.d/ - ] ++ lib.optionals withPolkit [ - polkit - ] ++ lib.optionals withSystemd [ - systemd - ]; + buildInputs = + [ + glib + libgudev + ppp + libmbim + libqmi + bash-completion + dbus + bash # shebangs in share/ModemManager/fcc-unlock.available.d/ + ] + ++ lib.optionals withPolkit [ + polkit + ] + ++ lib.optionals withSystemd [ + systemd + ]; nativeInstallCheckInputs = [ python3 diff --git a/pkgs/by-name/mo/modern-cpp-kafka/package.nix b/pkgs/by-name/mo/modern-cpp-kafka/package.nix index f8db36d613bf8..3a73192a3ad44 100644 --- a/pkgs/by-name/mo/modern-cpp-kafka/package.nix +++ b/pkgs/by-name/mo/modern-cpp-kafka/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, boost -, rdkafka -, gtest -, rapidjson +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + rdkafka, + gtest, + rapidjson, }: stdenv.mkDerivation rec { @@ -21,12 +22,14 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch { # https://github.com/morganstanley/modern-cpp-kafka/pull/221 + (fetchpatch { + # https://github.com/morganstanley/modern-cpp-kafka/pull/221 name = "fix-avoid-overwriting-library-paths.patch"; url = "https://github.com/morganstanley/modern-cpp-kafka/compare/a146d10bcf166f55299c7a55728abaaea52cb0e5...a0b5ec08315759097ce656813be57b2c38d79091.patch"; hash = "sha256-UsQcMvJoRTn5kgXhmXOyqfW3n59kGKO596U2WjtdqAY="; }) - (fetchpatch { # https://github.com/morganstanley/modern-cpp-kafka/pull/222 + (fetchpatch { + # https://github.com/morganstanley/modern-cpp-kafka/pull/222 name = "add-pkg-config-cmake-config.patch"; url = "https://github.com/morganstanley/modern-cpp-kafka/commit/edc576ab83710412f6201e2bb8de5cb41682ee4a.patch"; hash = "sha256-OjoSttnpgEwSZjCVKc888xJb5f1Dulu/rQqoGmqXNM4="; @@ -58,7 +61,10 @@ stdenv.mkDerivation rec { "-DCMAKE_CXX_FLAGS=-Wno-uninitialized" ]; - checkInputs = [ gtest rapidjson ]; + checkInputs = [ + gtest + rapidjson + ]; meta = with lib; { description = "C++ API for Kafka clients (i.e. KafkaProducer, KafkaConsumer, AdminClient)"; diff --git a/pkgs/by-name/mo/modprobed-db/package.nix b/pkgs/by-name/mo/modprobed-db/package.nix index c321aa6199f79..12a799ff276be 100644 --- a/pkgs/by-name/mo/modprobed-db/package.nix +++ b/pkgs/by-name/mo/modprobed-db/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libevdev -, kmod -, bash -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libevdev, + kmod, + bash, + installShellFiles, }: let pname = "modprobed-db"; @@ -22,8 +23,15 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ pkg-config installShellFiles ]; - buildInputs = [ kmod libevdev bash ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = [ + kmod + libevdev + bash + ]; installFlags = [ "PREFIX=$(out)" diff --git a/pkgs/by-name/mo/mods/package.nix b/pkgs/by-name/mo/mods/package.nix index 5a5bb912cb2fe..b00f4f552865b 100644 --- a/pkgs/by-name/mo/mods/package.nix +++ b/pkgs/by-name/mo/mods/package.nix @@ -61,7 +61,10 @@ buildGoModule rec { description = "AI on the command line"; homepage = "https://github.com/charmbracelet/mods"; license = licenses.mit; - maintainers = with maintainers; [ dit7ya caarlos0 ]; + maintainers = with maintainers; [ + dit7ya + caarlos0 + ]; mainProgram = "mods"; }; } diff --git a/pkgs/by-name/mo/modsecurity-crs/package.nix b/pkgs/by-name/mo/modsecurity-crs/package.nix index 16e21577f78ea..f95bb592e4599 100644 --- a/pkgs/by-name/mo/modsecurity-crs/package.nix +++ b/pkgs/by-name/mo/modsecurity-crs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "3.3.4"; diff --git a/pkgs/by-name/mo/modsecurity_standalone/package.nix b/pkgs/by-name/mo/modsecurity_standalone/package.nix index 23433ee05d93f..599d7e1195b02 100644 --- a/pkgs/by-name/mo/modsecurity_standalone/package.nix +++ b/pkgs/by-name/mo/modsecurity_standalone/package.nix @@ -1,10 +1,23 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, autoreconfHook -, curl, apacheHttpd, pcre, apr, aprutil, libxml2 -, luaSupport ? false, lua5, perl +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + autoreconfHook, + curl, + apacheHttpd, + pcre, + apr, + aprutil, + libxml2, + luaSupport ? false, + lua5, + perl, }: -let luaValue = if luaSupport then lua5 else "no"; - optional = lib.optional; +let + luaValue = if luaSupport then lua5 else "no"; + optional = lib.optional; in stdenv.mkDerivation rec { @@ -18,9 +31,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-hJ8wYeC83dl85bkUXGZKHpHzw9QRgtusj1/+Coxsx0k="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ curl apacheHttpd pcre apr aprutil libxml2 ] ++ - optional luaSupport lua5; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + curl + apacheHttpd + pcre + apr + aprutil + libxml2 + ] ++ optional luaSupport lua5; configureFlags = [ "--enable-standalone-module" @@ -34,7 +56,10 @@ stdenv.mkDerivation rec { "--with-lua=${luaValue}" ]; - outputs = ["out" "nginx"]; + outputs = [ + "out" + "nginx" + ]; # by default modsecurity's install script copies compiled output to httpd's modules folder # this patch removes those lines patches = [ ./Makefile.am.patch ]; @@ -51,7 +76,7 @@ stdenv.mkDerivation rec { description = "Open source, cross-platform web application firewall (WAF)"; license = licenses.asl20; homepage = "https://github.com/owasp-modsecurity/ModSecurity"; - maintainers = with maintainers; [offline]; - platforms = lib.platforms.linux ++ lib.platforms.darwin; + maintainers = with maintainers; [ offline ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin; }; } diff --git a/pkgs/by-name/mo/moe/package.nix b/pkgs/by-name/mo/moe/package.nix index e60ce728a6fe6..7d1f9a875cd59 100644 --- a/pkgs/by-name/mo/moe/package.nix +++ b/pkgs/by-name/mo/moe/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, lzip -, ncurses +{ + lib, + stdenv, + fetchurl, + lzip, + ncurses, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mo/mojave-gtk-theme/package.nix b/pkgs/by-name/mo/mojave-gtk-theme/package.nix index dabb6e928dde7..2f8c76af7f87a 100644 --- a/pkgs/by-name/mo/mojave-gtk-theme/package.nix +++ b/pkgs/by-name/mo/mojave-gtk-theme/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, glib -, gnome-shell -, gtk-engine-murrine -, gtk_engines -, inkscape -, jdupes -, optipng -, sassc -, which -, buttonSizeVariants ? [] # default to standard -, buttonVariants ? [] # default to all -, colorVariants ? [] # default to all -, opacityVariants ? [] # default to all -, themeVariants ? [] # default to MacOS blue -, wallpapers ? false -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + glib, + gnome-shell, + gtk-engine-murrine, + gtk_engines, + inkscape, + jdupes, + optipng, + sassc, + which, + buttonSizeVariants ? [ ], # default to standard + buttonVariants ? [ ], # default to all + colorVariants ? [ ], # default to all + opacityVariants ? [ ], # default to all + themeVariants ? [ ], # default to MacOS blue + wallpapers ? false, + gitUpdater, }: let @@ -42,108 +43,134 @@ let in lib.checkListOfEnum "${pname}: button size variants" [ "standard" "small" ] buttonSizeVariants -lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants -lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants -lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants - -stdenvNoCC.mkDerivation rec { - inherit pname version; - - srcs = [ main_src ] ++ lib.optional wallpapers wallpapers_src; - - sourceRoot = main_src.name; - - nativeBuildInputs = [ - glib - gnome-shell - inkscape - jdupes - optipng - sassc - which - ]; - - buildInputs = [ - gtk_engines - ]; - - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; - - # These fixup steps are slow and unnecessary. - dontPatchELF = true; - dontRewriteSymlinks = true; - - postPatch = '' - patchShebangs \ - install.sh \ - src/main/gtk-3.0/make_gresource_xml.sh \ - src/main/gtk-4.0/make_gresource_xml.sh - - for f in \ - render-assets.sh \ - src/assets/cinnamon/thumbnails/render-thumbnails.sh \ - src/assets/gtk-2.0/render-assets.sh \ - src/assets/gtk/common-assets/render-assets.sh \ - src/assets/gtk/thumbnails/render-thumbnails.sh \ - src/assets/gtk/windows-assets/render-alt-assets.sh \ - src/assets/gtk/windows-assets/render-alt-small-assets.sh \ - src/assets/gtk/windows-assets/render-assets.sh \ - src/assets/gtk/windows-assets/render-small-assets.sh \ - src/assets/metacity-1/render-assets.sh \ - src/assets/xfwm4/render-assets.sh - do - patchShebangs $f - substituteInPlace $f \ - --replace-fail /usr/bin/inkscape ${inkscape}/bin/inkscape \ - --replace-fail /usr/bin/optipng ${optipng}/bin/optipng - done - - ${lib.optionalString wallpapers '' - for f in ../${wallpapers_src.name}/Mojave{,-timed}.xml; do - substituteInPlace $f --replace-fail /usr $out + lib.checkListOfEnum + "${pname}: button variants" + [ "standard" "alt" ] + buttonVariants + lib.checkListOfEnum + "${pname}: color variants" + [ "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: opacity variants" + [ "standard" "solid" ] + opacityVariants + lib.checkListOfEnum + "${pname}: theme variants" + [ + "default" + "blue" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "grey" + "all" + ] + themeVariants + + stdenvNoCC.mkDerivation + rec { + inherit pname version; + + srcs = [ main_src ] ++ lib.optional wallpapers wallpapers_src; + + sourceRoot = main_src.name; + + nativeBuildInputs = [ + glib + gnome-shell + inkscape + jdupes + optipng + sassc + which + ]; + + buildInputs = [ + gtk_engines + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + # These fixup steps are slow and unnecessary. + dontPatchELF = true; + dontRewriteSymlinks = true; + + postPatch = '' + patchShebangs \ + install.sh \ + src/main/gtk-3.0/make_gresource_xml.sh \ + src/main/gtk-4.0/make_gresource_xml.sh + + for f in \ + render-assets.sh \ + src/assets/cinnamon/thumbnails/render-thumbnails.sh \ + src/assets/gtk-2.0/render-assets.sh \ + src/assets/gtk/common-assets/render-assets.sh \ + src/assets/gtk/thumbnails/render-thumbnails.sh \ + src/assets/gtk/windows-assets/render-alt-assets.sh \ + src/assets/gtk/windows-assets/render-alt-small-assets.sh \ + src/assets/gtk/windows-assets/render-assets.sh \ + src/assets/gtk/windows-assets/render-small-assets.sh \ + src/assets/metacity-1/render-assets.sh \ + src/assets/xfwm4/render-assets.sh + do + patchShebangs $f + substituteInPlace $f \ + --replace-fail /usr/bin/inkscape ${inkscape}/bin/inkscape \ + --replace-fail /usr/bin/optipng ${optipng}/bin/optipng done - ''} - ''; - - installPhase = '' - runHook preInstall - - name= ./install.sh \ - ${lib.optionalString (buttonSizeVariants != []) "--small " + builtins.toString buttonSizeVariants} \ - ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \ - ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ - --icon nixos \ - --dest $out/share/themes - - rm $out/share/themes/*/COPYING - - ${lib.optionalString wallpapers '' - mkdir -p $out/share/backgrounds/Mojave - mkdir -p $out/share/gnome-background-properties - cp -a ../${wallpapers_src.name}/Mojave*.jpeg $out/share/backgrounds/Mojave/ - cp -a ../${wallpapers_src.name}/Mojave-timed.xml $out/share/backgrounds/Mojave/ - cp -a ../${wallpapers_src.name}/Mojave.xml $out/share/gnome-background-properties/ - ''} - - # Replace duplicate files with soft links to the first file in each - # set of duplicates, reducing the installed size in about 53% - jdupes --quiet --link-soft --recurse $out/share - - runHook postInstall - ''; - - passthru.updateScript = gitUpdater { }; - - meta = { - description = "Mac OSX Mojave like theme for GTK based desktop environments"; - homepage = "https://github.com/vinceliuice/Mojave-gtk-theme"; - license = lib.licenses.gpl3Only; - platforms = lib.platforms.unix; - maintainers = [ lib.maintainers.romildo ]; - }; -} + + ${lib.optionalString wallpapers '' + for f in ../${wallpapers_src.name}/Mojave{,-timed}.xml; do + substituteInPlace $f --replace-fail /usr $out + done + ''} + ''; + + installPhase = '' + runHook preInstall + + name= ./install.sh \ + ${ + lib.optionalString (buttonSizeVariants != [ ]) "--small " + builtins.toString buttonSizeVariants + } \ + ${lib.optionalString (buttonVariants != [ ]) "--alt " + builtins.toString buttonVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (opacityVariants != [ ]) "--opacity " + builtins.toString opacityVariants} \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + --icon nixos \ + --dest $out/share/themes + + rm $out/share/themes/*/COPYING + + ${lib.optionalString wallpapers '' + mkdir -p $out/share/backgrounds/Mojave + mkdir -p $out/share/gnome-background-properties + cp -a ../${wallpapers_src.name}/Mojave*.jpeg $out/share/backgrounds/Mojave/ + cp -a ../${wallpapers_src.name}/Mojave-timed.xml $out/share/backgrounds/Mojave/ + cp -a ../${wallpapers_src.name}/Mojave.xml $out/share/gnome-background-properties/ + ''} + + # Replace duplicate files with soft links to the first file in each + # set of duplicates, reducing the installed size in about 53% + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = { + description = "Mac OSX Mojave like theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Mojave-gtk-theme"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/mo/moka-icon-theme/package.nix b/pkgs/by-name/mo/moka-icon-theme/package.nix index d9fef47da0bb1..9b03e14793387 100644 --- a/pkgs/by-name/mo/moka-icon-theme/package.nix +++ b/pkgs/by-name/mo/moka-icon-theme/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenvNoCC, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme, hicolor-icon-theme, jdupes }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + meson, + ninja, + gtk3, + python3, + faba-icon-theme, + hicolor-icon-theme, + jdupes, +}: stdenvNoCC.mkDerivation rec { pname = "moka-icon-theme"; @@ -42,7 +53,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Icon theme designed with a minimal flat style using simple geometry and bright colours"; homepage = "https://snwh.org/moka"; - license = with licenses; [ cc-by-sa-40 gpl3Only ]; + license = with licenses; [ + cc-by-sa-40 + gpl3Only + ]; # darwin cannot deal with file names differing only in case platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; diff --git a/pkgs/by-name/mo/mokutil/package.nix b/pkgs/by-name/mo/mokutil/package.nix index cd36b8eaa1e9f..c5dee7a093271 100644 --- a/pkgs/by-name/mo/mokutil/package.nix +++ b/pkgs/by-name/mo/mokutil/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, openssl -, efivar -, keyutils -, libxcrypt +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + openssl, + efivar, + keyutils, + libxcrypt, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mo/molden/package.nix b/pkgs/by-name/mo/molden/package.nix index 7a15ef9363b59..58349a76b753f 100644 --- a/pkgs/by-name/mo/molden/package.nix +++ b/pkgs/by-name/mo/molden/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, which, gfortran, libGLU, xorg } : +{ + lib, + stdenv, + fetchurl, + which, + gfortran, + libGLU, + xorg, +}: stdenv.mkDerivation rec { version = "6.3"; @@ -10,38 +18,43 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ which ]; - buildInputs = [ gfortran libGLU xorg.libX11 xorg.libXmu ]; + buildInputs = [ + gfortran + libGLU + xorg.libX11 + xorg.libXmu + ]; patches = [ ./dont_register_file_types.patch ]; postPatch = '' - substituteInPlace ./makefile --replace '-L/usr/X11R6/lib' "" \ - --replace '-I/usr/X11R6/include' "" \ - --replace '/usr/local/' $out/ \ - --replace 'sudo' "" \ - --replace '-C surf depend' '-C surf' \ - --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch' + substituteInPlace ./makefile --replace '-L/usr/X11R6/lib' "" \ + --replace '-I/usr/X11R6/include' "" \ + --replace '/usr/local/' $out/ \ + --replace 'sudo' "" \ + --replace '-C surf depend' '-C surf' \ + --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch' - substituteInPlace ambfor/makefile --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch' + substituteInPlace ambfor/makefile --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch' - sed -in '/^# DO NOT DELETE THIS LINE/q;' surf/Makefile + sed -in '/^# DO NOT DELETE THIS LINE/q;' surf/Makefile ''; preInstall = '' - mkdir -p $out/bin + mkdir -p $out/bin ''; enableParallelBuilding = false; meta = with lib; { - description = "Display and manipulate molecular structures"; - homepage = "http://www3.cmbi.umcn.nl/molden/"; - license = { - fullName = "Free for academic/non-profit use"; - url = "http://www3.cmbi.umcn.nl/molden/CopyRight.html"; - free = false; - }; - platforms = platforms.linux; - maintainers = with maintainers; [ markuskowa ]; + description = "Display and manipulate molecular structures"; + homepage = "http://www3.cmbi.umcn.nl/molden/"; + license = { + fullName = "Free for academic/non-profit use"; + url = "http://www3.cmbi.umcn.nl/molden/CopyRight.html"; + free = false; + }; + platforms = platforms.linux; + maintainers = with maintainers; [ markuskowa ]; }; } diff --git a/pkgs/by-name/mo/mole/package.nix b/pkgs/by-name/mo/mole/package.nix index dca72a66b1f80..0665e0951c1b8 100644 --- a/pkgs/by-name/mo/mole/package.nix +++ b/pkgs/by-name/mo/mole/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, }: buildGoModule rec { diff --git a/pkgs/by-name/mo/molly-brown/package.nix b/pkgs/by-name/mo/molly-brown/package.nix index f5529f0389967..642d873f9c15a 100644 --- a/pkgs/by-name/mo/molly-brown/package.nix +++ b/pkgs/by-name/mo/molly-brown/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchgit, nixosTests }: +{ + lib, + buildGoModule, + fetchgit, + nixosTests, +}: buildGoModule rec { pname = "molly-brown"; @@ -12,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-czfHnXS9tf5vQQNXhWH7DStmhsorSc4Di/yZuv4LHRk="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.basic = nixosTests.molly-brown; diff --git a/pkgs/by-name/mo/molly-guard/package.nix b/pkgs/by-name/mo/molly-guard/package.nix index a444f5231788c..e7feab9566e65 100644 --- a/pkgs/by-name/mo/molly-guard/package.nix +++ b/pkgs/by-name/mo/molly-guard/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, dpkg, busybox, systemd }: +{ + lib, + stdenv, + fetchurl, + dpkg, + busybox, + systemd, +}: stdenv.mkDerivation rec { pname = "molly-guard"; @@ -26,10 +33,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Attempts to prevent you from accidentally shutting down or rebooting machines"; - homepage = "https://salsa.debian.org/debian/molly-guard"; - license = licenses.artistic2; - platforms = platforms.linux; + homepage = "https://salsa.debian.org/debian/molly-guard"; + license = licenses.artistic2; + platforms = platforms.linux; maintainers = with maintainers; [ DerTim1 ]; - priority = -10; + priority = -10; }; } diff --git a/pkgs/by-name/mo/mollysocket/package.nix b/pkgs/by-name/mo/mollysocket/package.nix index 992d3bdfd93d6..212999ae9abd0 100644 --- a/pkgs/by-name/mo/mollysocket/package.nix +++ b/pkgs/by-name/mo/mollysocket/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, sqlite -, stdenv -, darwin -, nixosTests +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + sqlite, + stdenv, + darwin, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -26,12 +27,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; checkFlags = [ # tests interact with Signal servers diff --git a/pkgs/by-name/mo/molot-lite/package.nix b/pkgs/by-name/mo/molot-lite/package.nix index da1e3702bacc8..20688d604de89 100644 --- a/pkgs/by-name/mo/molot-lite/package.nix +++ b/pkgs/by-name/mo/molot-lite/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, lv2, cairo, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, + cairo, + pkg-config, +}: stdenv.mkDerivation rec { @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lv2 cairo ]; + buildInputs = [ + lv2 + cairo + ]; makeFlags = [ "INSTALL_DIR=$out/lib/lv2" ]; diff --git a/pkgs/by-name/mo/molotov/package.nix b/pkgs/by-name/mo/molotov/package.nix index 58e66c8f77ae8..2ab6c0769b8e9 100644 --- a/pkgs/by-name/mo/molotov/package.nix +++ b/pkgs/by-name/mo/molotov/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "molotov"; @@ -23,7 +27,10 @@ appimageTools.wrapType2 { description = "French TV service"; homepage = "https://www.molotov.tv/"; license = with licenses; [ unfree ]; - maintainers = with maintainers; [ apeyroux freezeboy ]; + maintainers = with maintainers; [ + apeyroux + freezeboy + ]; platforms = [ "x86_64-linux" ]; mainProgram = "molotov"; }; diff --git a/pkgs/by-name/mo/moltengamepad/package.nix b/pkgs/by-name/mo/moltengamepad/package.nix index 65259d73f2c73..e71f746085b31 100644 --- a/pkgs/by-name/mo/moltengamepad/package.nix +++ b/pkgs/by-name/mo/moltengamepad/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, udev }: +{ + lib, + stdenv, + fetchFromGitHub, + udev, +}: stdenv.mkDerivation { pname = "moltengamepad"; diff --git a/pkgs/by-name/mo/mommy/package.nix b/pkgs/by-name/mo/mommy/package.nix index 94eef31397547..c38de622df239 100644 --- a/pkgs/by-name/mo/mommy/package.nix +++ b/pkgs/by-name/mo/mommy/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, writeText -, shellspec +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + writeText, + shellspec, # usage: # pkgs.mommy.override { # mommySettings.sweetie = "catgirl"; @@ -11,13 +12,13 @@ # # $ mommy # who's my good catgirl~ -, mommySettings ? null + mommySettings ? null, }: let - variables = lib.mapAttrs' - (name: value: lib.nameValuePair "MOMMY_${lib.toUpper name}" value) - mommySettings; + variables = lib.mapAttrs' ( + name: value: lib.nameValuePair "MOMMY_${lib.toUpper name}" value + ) mommySettings; configFile = writeText "mommy-config" (lib.toShellVars variables); in stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mo/mona-sans/package.nix b/pkgs/by-name/mo/mona-sans/package.nix index c8be0b40a041f..bc41d2d58f284 100644 --- a/pkgs/by-name/mo/mona-sans/package.nix +++ b/pkgs/by-name/mo/mona-sans/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mo/monaspace/package.nix b/pkgs/by-name/mo/monaspace/package.nix index bf360c0086bae..6a5e4757defe4 100644 --- a/pkgs/by-name/mo/monaspace/package.nix +++ b/pkgs/by-name/mo/monaspace/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -13,7 +14,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-o5s4XBuwqA4sJ5KhEn5oYttBj4ojekr/LO6Ww9oQRGw="; }; - outputs = [ "out" "woff" ]; + outputs = [ + "out" + "woff" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/mo/mongoaudit/package.nix b/pkgs/by-name/mo/mongoaudit/package.nix index 2f980be5163b0..931e6f5d1ea74 100644 --- a/pkgs/by-name/mo/mongoaudit/package.nix +++ b/pkgs/by-name/mo/mongoaudit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/mo/mongodb-tools/package.nix b/pkgs/by-name/mo/mongodb-tools/package.nix index 2a56d72480f52..f45fbaf556951 100644 --- a/pkgs/by-name/mo/mongodb-tools/package.nix +++ b/pkgs/by-name/mo/mongodb-tools/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, openssl, pkg-config, libpcap }: +{ + lib, + buildGoModule, + fetchFromGitHub, + openssl, + pkg-config, + libpcap, +}: buildGoModule rec { pname = "mongo-tools"; @@ -14,7 +21,10 @@ buildGoModule rec { vendorHash = null; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl libpcap ]; + buildInputs = [ + openssl + libpcap + ]; # Mongodb incorrectly names all of their binaries main # Let's work around this with our own installer @@ -29,7 +39,8 @@ buildGoModule rec { "mongorestore" "mongostat" "mongotop" - ]; in + ]; + in '' # move vendored codes so nixpkgs go builder could find it runHook preBuild diff --git a/pkgs/by-name/mo/mongoose/package.nix b/pkgs/by-name/mo/mongoose/package.nix index f1e851ef444d0..7e1068164b56c 100644 --- a/pkgs/by-name/mo/mongoose/package.nix +++ b/pkgs/by-name/mo/mongoose/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, blas -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + blas, + llvmPackages, }: let @@ -13,7 +14,11 @@ stdenv.mkDerivation { pname = "mongoose"; version = "3.3.3"; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; src = fetchFromGitHub { owner = "DrTimothyAldenDavis"; @@ -26,11 +31,13 @@ stdenv.mkDerivation { cmake ]; - buildInputs = [ - blas - ] ++ lib.optionals stdenv.cc.isClang [ - llvmPackages.openmp - ]; + buildInputs = + [ + blas + ] + ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.openmp + ]; dontUseCmakeConfigure = true; diff --git a/pkgs/by-name/mo/mongosh/package.nix b/pkgs/by-name/mo/mongosh/package.nix index 8221c89c71974..52248dc8e86e1 100644 --- a/pkgs/by-name/mo/mongosh/package.nix +++ b/pkgs/by-name/mo/mongosh/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchurl -, testers -, mongosh +{ + lib, + buildNpmPackage, + fetchurl, + testers, + mongosh, }: let diff --git a/pkgs/by-name/mo/monit/package.nix b/pkgs/by-name/mo/monit/package.nix index 9838eb7c8b2d5..a2a41ef70548b 100644 --- a/pkgs/by-name/mo/monit/package.nix +++ b/pkgs/by-name/mo/monit/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, darwin -, bison -, flex -, zlib -, libxcrypt -, usePAM ? stdenv.hostPlatform.isLinux -, pam -, useSSL ? true -, openssl +{ + lib, + stdenv, + fetchurl, + darwin, + bison, + flex, + zlib, + libxcrypt, + usePAM ? stdenv.hostPlatform.isLinux, + pam, + useSSL ? true, + openssl, }: stdenv.mkDerivation rec { @@ -21,34 +22,54 @@ stdenv.mkDerivation rec { sha256 = "sha256-KRyj2JjptCW20MF2hyj+zWwc9MJox52xX9omKFrVuDI="; }; - nativeBuildInputs = [ bison flex ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ + nativeBuildInputs = + [ + bison + flex + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.DiskArbitration darwin.apple_sdk.frameworks.System ]; - buildInputs = [ zlib.dev libxcrypt ] ++ - lib.optionals useSSL [ openssl ] ++ - lib.optionals usePAM [ pam ]; + buildInputs = + [ + zlib.dev + libxcrypt + ] + ++ lib.optionals useSSL [ openssl ] + ++ lib.optionals usePAM [ pam ]; - configureFlags = [ - (lib.withFeature usePAM "pam") - ] ++ (if useSSL then [ - "--with-ssl-incl-dir=${openssl.dev}/include" - "--with-ssl-lib-dir=${lib.getLib openssl}/lib" - ] else [ - "--without-ssl" - ]) ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # will need to check both these are true for musl - "libmonit_cv_setjmp_available=yes" - "libmonit_cv_vsnprintf_c99_conformant=yes" - ]; + configureFlags = + [ + (lib.withFeature usePAM "pam") + ] + ++ ( + if useSSL then + [ + "--with-ssl-incl-dir=${openssl.dev}/include" + "--with-ssl-lib-dir=${lib.getLib openssl}/lib" + ] + else + [ + "--without-ssl" + ] + ) + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # will need to check both these are true for musl + "libmonit_cv_setjmp_available=yes" + "libmonit_cv_vsnprintf_c99_conformant=yes" + ]; meta = { homepage = "https://mmonit.com/monit/"; description = "Monitoring system"; license = lib.licenses.agpl3Plus; - maintainers = with lib.maintainers; [ raskin wmertens ryantm ]; + maintainers = with lib.maintainers; [ + raskin + wmertens + ryantm + ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; mainProgram = "monit"; }; diff --git a/pkgs/by-name/mo/monitorcontrol/package.nix b/pkgs/by-name/mo/monitorcontrol/package.nix index db112415fda85..92932d8e059ac 100644 --- a/pkgs/by-name/mo/monitorcontrol/package.nix +++ b/pkgs/by-name/mo/monitorcontrol/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, stdenv, _7zz }: +{ + lib, + fetchurl, + stdenv, + _7zz, +}: # This cannot be built from source due to the problematic nature of XCode - so # this is what it's like when doves cry? @@ -8,8 +13,7 @@ stdenv.mkDerivation rec { version = "4.2.0"; src = fetchurl { - url = - "https://github.com/MonitorControl/${pname}/releases/download/v${version}/MonitorControl.${version}.dmg"; + url = "https://github.com/MonitorControl/${pname}/releases/download/v${version}/MonitorControl.${version}.dmg"; sha256 = "Q96uK6wVe1D2uLvWL+pFR6LcmrU7cgmr2Y5tPvvTDgI="; }; @@ -28,7 +32,10 @@ stdenv.mkDerivation rec { longDescription = "Controls your external display brightness and volume and shows native OSD. Use menulet sliders or the keyboard, including native Apple keys!"; homepage = "https://github.com/MonitorControl/MonitorControl#readme"; license = licenses.mit; - maintainers = with maintainers; [ cbleslie cottand ]; + maintainers = with maintainers; [ + cbleslie + cottand + ]; platforms = platforms.darwin; }; } diff --git a/pkgs/by-name/mo/monitoring-plugins/package.nix b/pkgs/by-name/mo/monitoring-plugins/package.nix index 0993dceb93521..95abd51614f7a 100644 --- a/pkgs/by-name/mo/monitoring-plugins/package.nix +++ b/pkgs/by-name/mo/monitoring-plugins/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, runCommand -, coreutils -, gnugrep -, gnused -, lm_sensors -, net-snmp -, openssh -, openssl -, perl -, dnsutils -, libdbi -, libmysqlclient -, uriparser -, zlib -, openldap -, procps -, runtimeShell -, unixtools +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + runCommand, + coreutils, + gnugrep, + gnused, + lm_sensors, + net-snmp, + openssh, + openssl, + perl, + dnsutils, + libdbi, + libmysqlclient, + uriparser, + zlib, + openldap, + procps, + runtimeShell, + unixtools, }: let @@ -90,7 +91,10 @@ stdenv.mkDerivation rec { zlib ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; enableParallelBuilding = true; @@ -98,7 +102,10 @@ stdenv.mkDerivation rec { description = "Official monitoring plugins for Nagios/Icinga/Sensu and others"; homepage = "https://www.monitoring-plugins.org"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ thoughtpolice relrod ]; + maintainers = with maintainers; [ + thoughtpolice + relrod + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/mo/monkeysAudio/package.nix b/pkgs/by-name/mo/monkeysAudio/package.nix index 0bda723ba18c9..642a20075f3e8 100644 --- a/pkgs/by-name/mo/monkeysAudio/package.nix +++ b/pkgs/by-name/mo/monkeysAudio/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, cmake +{ + lib, + stdenv, + fetchzip, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -9,8 +10,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "monkeys-audio"; src = fetchzip { - url = "https://monkeysaudio.com/files/MAC_${ - builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip"; + url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip"; hash = "sha256-QPd3YlQ2IYAqIIau3RVb2FcdE4obQjg5bZi6CUsDyHU="; stripRoot = false; }; diff --git a/pkgs/by-name/mo/monkeysphere/package.nix b/pkgs/by-name/mo/monkeysphere/package.nix index bc267a9a7703d..249c4b9e26a78 100644 --- a/pkgs/by-name/mo/monkeysphere/package.nix +++ b/pkgs/by-name/mo/monkeysphere/package.nix @@ -1,8 +1,23 @@ -{ lib, stdenv, fetchurl, makeWrapper -, perl, libassuan, libgcrypt -, perlPackages, lockfileProgs, gnupg, coreutils -# For the tests: -, openssh, which, socat, cpio, hexdump, procps, openssl +{ + lib, + stdenv, + fetchurl, + makeWrapper, + perl, + libassuan, + libgcrypt, + perlPackages, + lockfileProgs, + gnupg, + coreutils, + # For the tests: + openssh, + which, + socat, + cpio, + hexdump, + procps, + openssl, }: let @@ -12,7 +27,8 @@ let opensshUnsafe = openssh.overrideAttrs (oldAttrs: { patches = oldAttrs.patches ++ [ ./openssh-nixos-sandbox.patch ]; }); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "monkeysphere"; version = "0.44"; @@ -31,10 +47,28 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl libassuan libgcrypt ] - ++ lib.optional doCheck - ([ gnupg opensshUnsafe which socat cpio hexdump procps lockfileProgs ] ++ - (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ])); + buildInputs = + [ + perl + libassuan + libgcrypt + ] + ++ lib.optional doCheck ( + [ + gnupg + opensshUnsafe + which + socat + cpio + hexdump + procps + lockfileProgs + ] + ++ (with perlPackages; [ + CryptOpenSSLRSA + CryptOpenSSLBignum + ]) + ); makeFlags = [ "PREFIX=/" @@ -58,31 +92,36 @@ in stdenv.mkDerivation rec { ''; postFixup = - let wrapperArgs = runtimeDeps: - "--prefix PERL5LIB : " - + (with perlPackages; makePerlPath [ # Optional (only required for keytrans) - CryptOpenSSLRSA - CryptOpenSSLBignum - ]) - + lib.optionalString - (builtins.length runtimeDeps > 0) - " --prefix PATH : ${lib.makeBinPath runtimeDeps}"; - wrapMonkeysphere = runtimeDeps: program: - "wrapProgram $out/bin/${program} ${wrapperArgs runtimeDeps}\n"; - wrapPrograms = runtimeDeps: programs: lib.concatMapStrings - (wrapMonkeysphere runtimeDeps) - programs; - in wrapPrograms [ gnupg ] [ "monkeysphere-authentication" "monkeysphere-host" ] - + wrapPrograms [ gnupg lockfileProgs ] [ "monkeysphere" ] - + '' - # These 4 programs depend on the program name ($0): - for program in openpgp2pem openpgp2spki openpgp2ssh pem2openpgp; do - rm $out/bin/$program - ln -sf keytrans $out/share/monkeysphere/$program - makeWrapper $out/share/monkeysphere/$program $out/bin/$program \ - ${wrapperArgs [ ]} - done - ''; + let + wrapperArgs = + runtimeDeps: + "--prefix PERL5LIB : " + + ( + with perlPackages; + makePerlPath [ + # Optional (only required for keytrans) + CryptOpenSSLRSA + CryptOpenSSLBignum + ] + ) + + lib.optionalString ( + builtins.length runtimeDeps > 0 + ) " --prefix PATH : ${lib.makeBinPath runtimeDeps}"; + wrapMonkeysphere = + runtimeDeps: program: "wrapProgram $out/bin/${program} ${wrapperArgs runtimeDeps}\n"; + wrapPrograms = runtimeDeps: programs: lib.concatMapStrings (wrapMonkeysphere runtimeDeps) programs; + in + wrapPrograms [ gnupg ] [ "monkeysphere-authentication" "monkeysphere-host" ] + + wrapPrograms [ gnupg lockfileProgs ] [ "monkeysphere" ] + + '' + # These 4 programs depend on the program name ($0): + for program in openpgp2pem openpgp2spki openpgp2ssh pem2openpgp; do + rm $out/bin/$program + ln -sf keytrans $out/share/monkeysphere/$program + makeWrapper $out/share/monkeysphere/$program $out/bin/$program \ + ${wrapperArgs [ ]} + done + ''; meta = with lib; { homepage = "http://web.monkeysphere.info/"; diff --git a/pkgs/by-name/mo/mono-addins/package.nix b/pkgs/by-name/mo/mono-addins/package.nix index 23e613be08878..e20614c683ecc 100644 --- a/pkgs/by-name/mo/mono-addins/package.nix +++ b/pkgs/by-name/mo/mono-addins/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, mono4, gtk-sharp-2_0 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + mono4, + gtk-sharp-2_0, +}: stdenv.mkDerivation rec { pname = "mono-addins"; @@ -12,10 +20,16 @@ stdenv.mkDerivation rec { sha256 = "018g3bd8afjc39h22h2j5r6ldsdn08ynx7wg889gdvnxg3hrxgl2"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; # Use msbuild when https://github.com/NixOS/nixpkgs/pull/43680 is merged - buildInputs = [ mono4 gtk-sharp-2_0 ]; + buildInputs = [ + mono4 + gtk-sharp-2_0 + ]; dontStrip = true; diff --git a/pkgs/by-name/mo/monoDLLFixer/package.nix b/pkgs/by-name/mo/monoDLLFixer/package.nix index 09a986015eeda..61df37e1fda87 100644 --- a/pkgs/by-name/mo/monoDLLFixer/package.nix +++ b/pkgs/by-name/mo/monoDLLFixer/package.nix @@ -1,4 +1,4 @@ -{stdenv, perl}: +{ stdenv, perl }: stdenv.mkDerivation { name = "mono-dll-fixer"; dllFixer = ./dll-fixer.pl; diff --git a/pkgs/by-name/mo/monocraft/package.nix b/pkgs/by-name/mo/monocraft/package.nix index fe3778e6b0531..85ff3d02f53b5 100644 --- a/pkgs/by-name/mo/monocraft/package.nix +++ b/pkgs/by-name/mo/monocraft/package.nix @@ -1,11 +1,17 @@ -{ stdenvNoCC, lib, fetchurl }: +{ + stdenvNoCC, + lib, + fetchurl, +}: let version = "4.0"; - relArtifact = name: hash: fetchurl { - inherit name hash; - url = "https://github.com/IdreesInc/Monocraft/releases/download/v${version}/${name}"; - }; + relArtifact = + name: hash: + fetchurl { + inherit name hash; + url = "https://github.com/IdreesInc/Monocraft/releases/download/v${version}/${name}"; + }; in stdenvNoCC.mkDerivation { pname = "monocraft"; diff --git a/pkgs/by-name/mo/monocypher/package.nix b/pkgs/by-name/mo/monocypher/package.nix index f5853385ba913..f7e4eb9ff568c 100644 --- a/pkgs/by-name/mo/monocypher/package.nix +++ b/pkgs/by-name/mo/monocypher/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "monocypher"; @@ -16,7 +20,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Boring crypto that simply works"; homepage = "https://monocypher.org"; - license = with licenses; [ bsd2 cc0 ]; + license = with licenses; [ + bsd2 + cc0 + ]; platforms = platforms.linux; maintainers = with maintainers; [ sikmir ]; }; diff --git a/pkgs/by-name/mo/monoid/package.nix b/pkgs/by-name/mo/monoid/package.nix index f6875a482d08b..7882007dae03c 100644 --- a/pkgs/by-name/mo/monoid/package.nix +++ b/pkgs/by-name/mo/monoid/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + python3, +}: stdenv.mkDerivation { pname = "monoid"; @@ -12,9 +18,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ - (python3.withPackages (pp: with pp; [ - fontforge - ])) + (python3.withPackages ( + pp: with pp; [ + fontforge + ] + )) ]; patches = [ @@ -43,9 +51,11 @@ stdenv.mkDerivation { meta = with lib; { homepage = "http://larsenwork.com/monoid"; description = "Customisable coding font with alternates, ligatures and contextual positioning"; - license = [ licenses.ofl licenses.mit ]; + license = [ + licenses.ofl + licenses.mit + ]; platforms = platforms.all; maintainers = [ maintainers.romildo ]; }; } - diff --git a/pkgs/by-name/mo/mononoki/package.nix b/pkgs/by-name/mo/mononoki/package.nix index 5c4d3c79adcbc..5b8b33144e2f3 100644 --- a/pkgs/by-name/mo/mononoki/package.nix +++ b/pkgs/by-name/mo/mononoki/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "mononoki"; diff --git a/pkgs/by-name/mo/monophony/package.nix b/pkgs/by-name/mo/monophony/package.nix index 76f81c3b2846c..2b13dd852402a 100644 --- a/pkgs/by-name/mo/monophony/package.nix +++ b/pkgs/by-name/mo/monophony/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitLab -, python3Packages -, wrapGAppsHook4 -, gst_all_1 -, gobject-introspection -, yt-dlp -, libadwaita -, glib-networking -, nix-update-script +{ + lib, + fetchFromGitLab, + python3Packages, + wrapGAppsHook4, + gst_all_1, + gobject-introspection, + yt-dlp, + libadwaita, + glib-networking, + nix-update-script, }: python3Packages.buildPythonApplication rec { pname = "monophony"; @@ -39,15 +40,17 @@ python3Packages.buildPythonApplication rec { wrapGAppsHook4 ]; - buildInputs = [ - libadwaita - # needed for gstreamer https - glib-networking - ] ++ (with gst_all_1; [ - gst-plugins-base - gst-plugins-good - gstreamer - ]); + buildInputs = + [ + libadwaita + # needed for gstreamer https + glib-networking + ] + ++ (with gst_all_1; [ + gst-plugins-base + gst-plugins-good + gstreamer + ]); # Makefile only contains `install` dontBuild = true; @@ -58,7 +61,7 @@ python3Packages.buildPythonApplication rec { preFixup = '' makeWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [yt-dlp]}" + --prefix PATH : "${lib.makeBinPath [ yt-dlp ]}" "''${gappsWrapperArgs[@]}" ) ''; diff --git a/pkgs/by-name/mo/monosat/package.nix b/pkgs/by-name/mo/monosat/package.nix index 1bd2d29d45059..9fa647f2c2bd5 100644 --- a/pkgs/by-name/mo/monosat/package.nix +++ b/pkgs/by-name/mo/monosat/package.nix @@ -1,20 +1,30 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, zlib, gmp, jdk8, +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + cmake, + zlib, + gmp, + jdk8, # The JDK we use on Darwin currently makes extensive use of rpaths which are # annoying and break the python library, so let's not bother for now - includeJava ? !stdenv.hostPlatform.isDarwin, includeGplCode ? true }: + includeJava ? !stdenv.hostPlatform.isDarwin, + includeGplCode ? true, +}: let boolToCmake = x: if x then "ON" else "OFF"; - rev = "1.8.0"; + rev = "1.8.0"; sha256 = "0q3a8x3iih25xkp2bm842sm2hxlb8hxlls4qmvj7vzwrh4lvsl7b"; - pname = "monosat"; + pname = "monosat"; version = rev; src = fetchFromGitHub { owner = "sambayless"; - repo = pname; + repo = pname; inherit rev sha256; }; @@ -39,7 +49,11 @@ let inherit src patches; postPatch = commonPostPatch; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib gmp jdk8 ]; + buildInputs = [ + zlib + gmp + jdk8 + ]; cmakeFlags = [ "-DBUILD_STATIC=OFF" @@ -60,39 +74,57 @@ let meta = with lib; { description = "SMT solver for Monotonic Theories"; mainProgram = "monosat"; - platforms = platforms.unix; - license = if includeGplCode then licenses.gpl2 else licenses.mit; - homepage = "https://github.com/sambayless/monosat"; + platforms = platforms.unix; + license = if includeGplCode then licenses.gpl2 else licenses.mit; + homepage = "https://github.com/sambayless/monosat"; maintainers = [ maintainers.acairncross ]; }; }; - python = { buildPythonPackage, cython, pytestCheckHook }: buildPythonPackage { - inherit pname version src patches; - - propagatedBuildInputs = [ core cython ]; - - # This tells setup.py to use cython, which should produce faster bindings - MONOSAT_CYTHON = true; - - # After patching src, move to where the actually relevant source is. This could just be made - # the sourceRoot if it weren't for the patch. - postPatch = commonPostPatch + '' - cd src/monosat/api/python - '' + - # The relative paths here don't make sense for our Nix build - # TODO: do we want to just reference the core monosat library rather than copying the - # shared lib? The current setup.py copies the .dylib/.so... - '' - substituteInPlace setup.py \ - --replace 'library_dir = "../../../../"' 'library_dir = "${core}/lib/"' - ''; - - nativeCheckInputs = [ pytestCheckHook ]; - - disabledTests = [ - "test_assertAtMostOne" - "test_assertEqual" - ]; - }; -in core + python = + { + buildPythonPackage, + cython, + pytestCheckHook, + }: + buildPythonPackage { + inherit + pname + version + src + patches + ; + + propagatedBuildInputs = [ + core + cython + ]; + + # This tells setup.py to use cython, which should produce faster bindings + MONOSAT_CYTHON = true; + + # After patching src, move to where the actually relevant source is. This could just be made + # the sourceRoot if it weren't for the patch. + postPatch = + commonPostPatch + + '' + cd src/monosat/api/python + '' + + + # The relative paths here don't make sense for our Nix build + # TODO: do we want to just reference the core monosat library rather than copying the + # shared lib? The current setup.py copies the .dylib/.so... + '' + substituteInPlace setup.py \ + --replace 'library_dir = "../../../../"' 'library_dir = "${core}/lib/"' + ''; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTests = [ + "test_assertAtMostOne" + "test_assertEqual" + ]; + }; +in +core diff --git a/pkgs/by-name/mo/mons/package.nix b/pkgs/by-name/mo/mons/package.nix index d386c901e7c07..8be9b38aa2d2a 100644 --- a/pkgs/by-name/mo/mons/package.nix +++ b/pkgs/by-name/mo/mons/package.nix @@ -1,13 +1,14 @@ -{ lib -, bash -, coreutils -, fetchFromGitHub -, gawk -, gnugrep -, gnused -, help2man -, resholve -, xrandr +{ + lib, + bash, + coreutils, + fetchFromGitHub, + gawk, + gnugrep, + gnused, + help2man, + resholve, + xrandr, }: resholve.mkDerivation rec { @@ -42,7 +43,10 @@ resholve.mkDerivation rec { solutions = { mons = { - scripts = [ "bin/mons" "lib/libshlist/liblist.sh" ]; + scripts = [ + "bin/mons" + "lib/libshlist/liblist.sh" + ]; interpreter = "${bash}/bin/sh"; inputs = [ bash @@ -58,8 +62,8 @@ resholve.mkDerivation rec { }; keep = { /* - has a whole slate of *flag variables that it sets to either - the true or false builtin and then executes... + has a whole slate of *flag variables that it sets to either + the true or false builtin and then executes... */ "$aFlag" = true; "$dFlag" = true; diff --git a/pkgs/by-name/mo/monsoon/package.nix b/pkgs/by-name/mo/monsoon/package.nix index 78bf95ac6c8bb..a28a490236153 100644 --- a/pkgs/by-name/mo/monsoon/package.nix +++ b/pkgs/by-name/mo/monsoon/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mo/montserrat/package.nix b/pkgs/by-name/mo/montserrat/package.nix index 60ee2ee97f675..5251367f51932 100644 --- a/pkgs/by-name/mo/montserrat/package.nix +++ b/pkgs/by-name/mo/montserrat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "montserrat"; @@ -29,6 +33,9 @@ stdenvNoCC.mkDerivation rec { homepage = "https://www.fontspace.com/julieta-ulanovsky/montserrat"; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ scolobb jk ]; + maintainers = with maintainers; [ + scolobb + jk + ]; }; } diff --git a/pkgs/by-name/mo/mooSpace/package.nix b/pkgs/by-name/mo/mooSpace/package.nix index 6d67d83f9875c..079c034d92529 100644 --- a/pkgs/by-name/mo/mooSpace/package.nix +++ b/pkgs/by-name/mo/mooSpace/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "mooSpace"; version = "unstable-2020-06-10"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "10vsbddf6d7i06040850v8xkmqh3bqawczs29kfgakair809wqxl"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; patchPhase = "mv ${pname}_faust.dsp ${pname}.dsp"; diff --git a/pkgs/by-name/mo/moon-buggy/package.nix b/pkgs/by-name/mo/moon-buggy/package.nix index 0da9248b22376..96642b26bc127 100644 --- a/pkgs/by-name/mo/moon-buggy/package.nix +++ b/pkgs/by-name/mo/moon-buggy/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses +{ + lib, + stdenv, + fetchurl, + ncurses, }: stdenv.mkDerivation rec { pname = "moon-buggy"; diff --git a/pkgs/by-name/mo/moon-phases/package.nix b/pkgs/by-name/mo/moon-phases/package.nix index e1c41556827c4..77cd0a73af7c3 100644 --- a/pkgs/by-name/mo/moon-phases/package.nix +++ b/pkgs/by-name/mo/moon-phases/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchCrate, rustPlatform }: +{ + lib, + fetchCrate, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "moon-phases"; diff --git a/pkgs/by-name/mo/moonlight-embedded/package.nix b/pkgs/by-name/mo/moonlight-embedded/package.nix index e00be02e6f067..2083386440968 100644 --- a/pkgs/by-name/mo/moonlight-embedded/package.nix +++ b/pkgs/by-name/mo/moonlight-embedded/package.nix @@ -1,7 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, cmake, perl -, alsa-lib, libevdev, libopus, udev, SDL2 -, ffmpeg, pkg-config, xorg, libvdpau, libpulseaudio, libcec -, curl, expat, avahi, libuuid, libva +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + perl, + alsa-lib, + libevdev, + libopus, + udev, + SDL2, + ffmpeg, + pkg-config, + xorg, + libvdpau, + libpulseaudio, + libcec, + curl, + expat, + avahi, + libuuid, + libva, }: stdenv.mkDerivation rec { @@ -16,13 +34,33 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ cmake perl pkg-config ]; + nativeBuildInputs = [ + cmake + perl + pkg-config + ]; buildInputs = [ - alsa-lib libevdev libopus udev SDL2 - ffmpeg xorg.libxcb libvdpau libpulseaudio libcec - xorg.libpthreadstubs curl expat avahi libuuid libva + alsa-lib + libevdev + libopus + udev + SDL2 + ffmpeg + xorg.libxcb + libvdpau + libpulseaudio + libcec + xorg.libpthreadstubs + curl + expat + avahi + libuuid + libva ]; meta = with lib; { diff --git a/pkgs/by-name/mo/moonraker/package.nix b/pkgs/by-name/mo/moonraker/package.nix index 054ba5eb452e6..7e4f3bd45acb7 100644 --- a/pkgs/by-name/mo/moonraker/package.nix +++ b/pkgs/by-name/mo/moonraker/package.nix @@ -1,8 +1,17 @@ -{ lib, stdenvNoCC, fetchFromGitHub, python3, makeWrapper, unstableGitUpdater, nixosTests, useGpiod ? false }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3, + makeWrapper, + unstableGitUpdater, + nixosTests, + useGpiod ? false, +}: let - pythonEnv = python3.withPackages (packages: - with packages; [ + pythonEnv = python3.withPackages ( + packages: with packages; [ tornado pyserial-asyncio pillow @@ -23,7 +32,8 @@ let importlib-metadata ] ); -in stdenvNoCC.mkDerivation rec { +in +stdenvNoCC.mkDerivation rec { pname = "moonraker"; version = "0.9.3-unstable-2024-11-17"; diff --git a/pkgs/by-name/mo/mop/package.nix b/pkgs/by-name/mo/mop/package.nix index 301b5302b022a..245abeac0f5db 100644 --- a/pkgs/by-name/mo/mop/package.nix +++ b/pkgs/by-name/mo/mop/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mop"; diff --git a/pkgs/by-name/mo/mopac/package.nix b/pkgs/by-name/mo/mopac/package.nix index d0cb1e43ff457..903b178869d6e 100644 --- a/pkgs/by-name/mo/mopac/package.nix +++ b/pkgs/by-name/mo/mopac/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, gfortran -, fetchFromGitHub -, cmake -, blas -, lapack -, python3Packages +{ + stdenv, + lib, + gfortran, + fetchFromGitHub, + cmake, + blas, + lapack, + python3Packages, }: assert blas.isILP64 == lapack.isILP64; @@ -21,11 +22,20 @@ stdenv.mkDerivation rec { hash = "sha256-y9/b+ro9CgDo0ld9q+3xaCFE9J5ssZp6W9ct6WQgD/o="; }; - nativeBuildInputs = [ gfortran cmake ]; + nativeBuildInputs = [ + gfortran + cmake + ]; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; - checkInputs = with python3Packages; [ python numpy ]; + checkInputs = with python3Packages; [ + python + numpy + ]; doCheck = true; @@ -38,6 +48,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/openmopac/mopac"; license = licenses.lgpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ sheepforce markuskowa ]; + maintainers = with maintainers; [ + sheepforce + markuskowa + ]; }; } diff --git a/pkgs/by-name/mo/moproxy/package.nix b/pkgs/by-name/mo/moproxy/package.nix index 7c320cad4889d..354f230ba6b2b 100644 --- a/pkgs/by-name/mo/moproxy/package.nix +++ b/pkgs/by-name/mo/moproxy/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, rustPlatform -, fetchurl -, lib +{ + fetchFromGitHub, + rustPlatform, + fetchurl, + lib, }: -rustPlatform.buildRustPackage rec{ +rustPlatform.buildRustPackage rec { pname = "moproxy"; version = "0.5.1"; @@ -26,7 +27,9 @@ rustPlatform.buildRustPackage rec{ in '' # build script try to download from network - sed -i '15s/.*/let zip_path = PathBuf::from("${lib.escape ["/"] (toString webBundle)}");/' build.rs + sed -i '15s/.*/let zip_path = PathBuf::from("${ + lib.escape [ "/" ] (toString webBundle) + }");/' build.rs ''; meta = with lib; { diff --git a/pkgs/by-name/mo/morph/package.nix b/pkgs/by-name/mo/morph/package.nix index 7dc6d9f8dfa2c..4e3d9b410c73a 100644 --- a/pkgs/by-name/mo/morph/package.nix +++ b/pkgs/by-name/mo/morph/package.nix @@ -1,4 +1,10 @@ -{ buildGoModule, fetchFromGitHub, lib, makeWrapper, openssh }: +{ + buildGoModule, + fetchFromGitHub, + lib, + makeWrapper, + openssh, +}: buildGoModule rec { pname = "morph"; @@ -26,13 +32,19 @@ buildGoModule rec { wrapProgram $out/bin/morph --prefix PATH : ${lib.makeBinPath [ openssh ]}; ''; - outputs = [ "out" "lib" ]; + outputs = [ + "out" + "lib" + ]; meta = with lib; { description = "NixOS host manager written in Golang"; license = licenses.mit; homepage = "https://github.com/dbcdk/morph"; - maintainers = with maintainers; [adamt johanot]; + maintainers = with maintainers; [ + adamt + johanot + ]; mainProgram = "morph"; }; } diff --git a/pkgs/by-name/mo/morsel/package.nix b/pkgs/by-name/mo/morsel/package.nix index 416f2e65782f1..b4b02d686d5ba 100644 --- a/pkgs/by-name/mo/morsel/package.nix +++ b/pkgs/by-name/mo/morsel/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "morsel"; diff --git a/pkgs/by-name/mo/morty/package.nix b/pkgs/by-name/mo/morty/package.nix index 6ee57abc028a9..9e210f3a78c3f 100644 --- a/pkgs/by-name/mo/morty/package.nix +++ b/pkgs/by-name/mo/morty/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule { pname = "morty"; @@ -25,7 +30,10 @@ buildGoModule { The main goal of morty is to provide a result proxy for searx, but it can be used as a standalone sanitizer service too. ''; homepage = "https://github.com/asciimoo/morty"; - maintainers = with maintainers; [ leenaars SuperSandro2000 ]; + maintainers = with maintainers; [ + leenaars + SuperSandro2000 + ]; license = licenses.agpl3Only; }; } diff --git a/pkgs/by-name/mo/mos/package.nix b/pkgs/by-name/mo/mos/package.nix index 803148c91be33..2ed2f51c5eae6 100644 --- a/pkgs/by-name/mo/mos/package.nix +++ b/pkgs/by-name/mo/mos/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, undmg +{ + lib, + stdenvNoCC, + fetchurl, + undmg, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "mos"; diff --git a/pkgs/by-name/mo/mosdepth/package.nix b/pkgs/by-name/mo/mosdepth/package.nix index b629f492af33e..5c226a570d59c 100644 --- a/pkgs/by-name/mo/mosdepth/package.nix +++ b/pkgs/by-name/mo/mosdepth/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitHub, pcre, testers }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + pcre, + testers, +}: buildNimPackage (finalAttrs: { pname = "mosdepth"; diff --git a/pkgs/by-name/mo/moserial/package.nix b/pkgs/by-name/mo/moserial/package.nix index 0a708681b4095..7fa80d3ce9f4c 100644 --- a/pkgs/by-name/mo/moserial/package.nix +++ b/pkgs/by-name/mo/moserial/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, intltool -, itstool -, pkg-config -, vala -, glib -, graphviz -, yelp-tools -, gtk3 -, lrzsz +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + intltool, + itstool, + pkg-config, + vala, + glib, + graphviz, + yelp-tools, + gtk3, + lrzsz, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mo/mosh/package.nix b/pkgs/by-name/mo/mosh/package.nix index 230122a2574bc..4777920be44d6 100644 --- a/pkgs/by-name/mo/mosh/package.nix +++ b/pkgs/by-name/mo/mosh/package.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, zlib, protobuf, ncurses, pkg-config -, makeWrapper, perl, openssl, autoreconfHook, openssh, bash-completion, fetchpatch -, withUtempter ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl, libutempter }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + protobuf, + ncurses, + pkg-config, + makeWrapper, + perl, + openssl, + autoreconfHook, + openssh, + bash-completion, + fetchpatch, + withUtempter ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl, + libutempter, +}: stdenv.mkDerivation rec { pname = "mosh"; @@ -13,9 +28,21 @@ stdenv.mkDerivation rec { hash = "sha256-tlSsHu7JnXO+sorVuWWubNUNdb9X0/pCaiGG5Y0X/g8="; }; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper protobuf perl ]; - buildInputs = [ protobuf ncurses zlib openssl bash-completion perl ] - ++ lib.optional withUtempter libutempter; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + protobuf + perl + ]; + buildInputs = [ + protobuf + ncurses + zlib + openssl + bash-completion + perl + ] ++ lib.optional withUtempter libutempter; strictDeps = true; @@ -40,11 +67,10 @@ stdenv.mkDerivation rec { --subst-var-by mosh-client "$out/bin/mosh-client" ''; - configureFlags = [ "--enable-completion" ] - ++ lib.optional withUtempter "--with-utempter"; + configureFlags = [ "--enable-completion" ] ++ lib.optional withUtempter "--with-utempter"; postInstall = '' - wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB ''; meta = with lib; { diff --git a/pkgs/by-name/mo/mosml/package.nix b/pkgs/by-name/mo/mosml/package.nix index 26ce0365a6cd4..755a002ebff50 100644 --- a/pkgs/by-name/mo/mosml/package.nix +++ b/pkgs/by-name/mo/mosml/package.nix @@ -1,12 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, gmp, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + gmp, + perl, +}: stdenv.mkDerivation rec { pname = "mosml"; version = "2.10.1"; - buildInputs = [ gmp perl ]; + buildInputs = [ + gmp + perl + ]; - makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "PREFIX=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + ]; src = fetchFromGitHub { owner = "kfl"; diff --git a/pkgs/by-name/mo/mosquitto/package.nix b/pkgs/by-name/mo/mosquitto/package.nix index 99bc3be76f17a..4792b23d15718 100644 --- a/pkgs/by-name/mo/mosquitto/package.nix +++ b/pkgs/by-name/mo/mosquitto/package.nix @@ -1,30 +1,33 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, docbook_xsl -, libxslt -, c-ares -, cjson -, libuuid -, libuv -, libwebsockets -, openssl -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd -, uthash -, nixosTests +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + docbook_xsl, + libxslt, + c-ares, + cjson, + libuuid, + libuv, + libwebsockets, + openssl, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + uthash, + nixosTests, }: let # Mosquitto needs external poll enabled in libwebsockets. - libwebsockets' = (libwebsockets.override { - withExternalPoll = true; - }).overrideAttrs (old: { - # Avoid bug in firefox preventing websockets being created over http/2 connections - # https://github.com/eclipse/mosquitto/issues/1211#issuecomment-958137569 - cmakeFlags = old.cmakeFlags ++ [ "-DLWS_WITH_HTTP2=OFF" ]; - }); + libwebsockets' = + (libwebsockets.override { + withExternalPoll = true; + }).overrideAttrs + (old: { + # Avoid bug in firefox preventing websockets being created over http/2 connections + # https://github.com/eclipse/mosquitto/issues/1211#issuecomment-958137569 + cmakeFlags = old.cmakeFlags ++ [ "-DLWS_WITH_HTTP2=OFF" ]; + }); in stdenv.mkDerivation rec { @@ -45,9 +48,17 @@ stdenv.mkDerivation rec { done ''; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; - nativeBuildInputs = [ cmake docbook_xsl libxslt ]; + nativeBuildInputs = [ + cmake + docbook_xsl + libxslt + ]; buildInputs = [ c-ares diff --git a/pkgs/by-name/mo/most/package.nix b/pkgs/by-name/mo/most/package.nix index 91af6a2d02a5f..f7d31d4a24c6d 100644 --- a/pkgs/by-name/mo/most/package.nix +++ b/pkgs/by-name/mo/most/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, slang, ncurses }: +{ + lib, + stdenv, + fetchurl, + slang, + ncurses, +}: stdenv.mkDerivation rec { pname = "most"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { hash = "sha256-lFWuuPgm+oOFyFDcIr8PIs+QabPDQj+6S/LG9iJtmQM="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; makeFlags = [ "DOC_DIR=${placeholder "doc"}/share/doc/most" @@ -24,7 +33,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-slang=${slang.dev}" ]; - buildInputs = [ slang ncurses ]; + buildInputs = [ + slang + ncurses + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/mo/motif/package.nix b/pkgs/by-name/mo/motif/package.nix index d59c5894836d2..969cd4ad5a810 100644 --- a/pkgs/by-name/mo/motif/package.nix +++ b/pkgs/by-name/mo/motif/package.nix @@ -1,9 +1,24 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libtool -, xbitmaps, libXext, libXft, libXrender, libXmu, libXt -, expat, libjpeg, libpng, libiconv -, flex -, libXp, libXau -, demoSupport ? false +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + libtool, + xbitmaps, + libXext, + libXft, + libXrender, + libXmu, + libXt, + expat, + libjpeg, + libpng, + libiconv, + flex, + libXp, + libXau, + demoSupport ? false, }: # refer to the gentoo package @@ -18,13 +33,27 @@ stdenv.mkDerivation rec { buildInputs = [ libtool - xbitmaps libXext libXft libXrender libXmu libXt - expat libjpeg libpng libiconv + xbitmaps + libXext + libXft + libXrender + libXmu + libXt + expat + libjpeg + libpng + libiconv ]; - nativeBuildInputs = [ pkg-config flex ]; + nativeBuildInputs = [ + pkg-config + flex + ]; - propagatedBuildInputs = [ libXp libXau ]; + propagatedBuildInputs = [ + libXp + libXau + ]; postPatch = lib.optionalString (!demoSupport) '' sed 's/\//' -i Makefile.{am,in} diff --git a/pkgs/by-name/mo/motion/package.nix b/pkgs/by-name/mo/motion/package.nix index 5e02d58977ceb..627596911c9b1 100644 --- a/pkgs/by-name/mo/motion/package.nix +++ b/pkgs/by-name/mo/motion/package.nix @@ -1,26 +1,44 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, ffmpeg, libjpeg, libmicrohttpd }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + ffmpeg, + libjpeg, + libmicrohttpd, +}: stdenv.mkDerivation rec { pname = "motion"; version = "4.7.0"; src = fetchFromGitHub { - owner = "Motion-Project"; - repo = "motion"; - rev = "release-${version}"; + owner = "Motion-Project"; + repo = "motion"; + rev = "release-${version}"; sha256 = "sha256-bGjiO14a7xKRgoeo5JlexXlKggE+agRMmQViBXagmt8="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ ffmpeg libjpeg libmicrohttpd ]; + buildInputs = [ + ffmpeg + libjpeg + libmicrohttpd + ]; meta = with lib; { description = "Monitors the video signal from cameras"; homepage = "https://motion-project.github.io/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ puffnfresh veprbl ]; + maintainers = with maintainers; [ + puffnfresh + veprbl + ]; platforms = platforms.unix; # never built on aarch64-darwin since first introduction in nixpkgs broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; diff --git a/pkgs/by-name/mo/motrix/package.nix b/pkgs/by-name/mo/motrix/package.nix index 8c26a67352aaa..cbbfd061b08a6 100644 --- a/pkgs/by-name/mo/motrix/package.nix +++ b/pkgs/by-name/mo/motrix/package.nix @@ -1,6 +1,7 @@ -{ lib -, appimageTools -, fetchurl +{ + lib, + appimageTools, + fetchurl, }: let pname = "motrix"; diff --git a/pkgs/by-name/mo/mountain-duck/package.nix b/pkgs/by-name/mo/mountain-duck/package.nix index 8eef2328b0df1..c2ab2ae707ff2 100644 --- a/pkgs/by-name/mo/mountain-duck/package.nix +++ b/pkgs/by-name/mo/mountain-duck/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + unzip, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "mountain-duck"; diff --git a/pkgs/by-name/mo/mountpoint-s3/package.nix b/pkgs/by-name/mo/mountpoint-s3/package.nix index 83144bbee5608..c442f08664bc3 100644 --- a/pkgs/by-name/mo/mountpoint-s3/package.nix +++ b/pkgs/by-name/mo/mountpoint-s3/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, cmake -, fuse3 -, pkg-config +{ + lib, + fetchFromGitHub, + rustPlatform, + cmake, + fuse3, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,11 @@ rustPlatform.buildRustPackage rec { # cargo metadata failure: error: none of the selected packages contains these features: libfuse3 auditable = false; - nativeBuildInputs = [ cmake pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + cmake + pkg-config + rustPlatform.bindgenHook + ]; buildInputs = [ fuse3 ]; checkFlags = [ diff --git a/pkgs/by-name/mo/mousai/package.nix b/pkgs/by-name/mo/mousai/package.nix index 53d084c308fa5..33fb9ca23b623 100644 --- a/pkgs/by-name/mo/mousai/package.nix +++ b/pkgs/by-name/mo/mousai/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream-glib -, cargo -, dbus -, desktop-file-utils -, glib -, glib-networking -, gst_all_1 -, gtk4 -, libadwaita -, libpulseaudio -, libsoup_3 -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + cargo, + dbus, + desktop-file-utils, + glib, + glib-networking, + gst_all_1, + gtk4, + libadwaita, + libpulseaudio, + libsoup_3, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mo/mousam/package.nix b/pkgs/by-name/mo/mousam/package.nix index 4cf91beffe49c..7afaf9615765b 100644 --- a/pkgs/by-name/mo/mousam/package.nix +++ b/pkgs/by-name/mo/mousam/package.nix @@ -1,13 +1,14 @@ -{ lib -, python3Packages -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gobject-introspection -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita +{ + lib, + python3Packages, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/mo/mouse-actions/package.nix b/pkgs/by-name/mo/mouse-actions/package.nix index 293fb16f4383d..fb95726bd6578 100644 --- a/pkgs/by-name/mo/mouse-actions/package.nix +++ b/pkgs/by-name/mo/mouse-actions/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, libX11 -, libXi -, libXtst -, libevdev +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + libX11, + libXi, + libXtst, + libevdev, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/mo/mouse_m908/package.nix b/pkgs/by-name/mo/mouse_m908/package.nix index f9491674659b4..56e320c0ba04b 100644 --- a/pkgs/by-name/mo/mouse_m908/package.nix +++ b/pkgs/by-name/mo/mouse_m908/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, libusb1 -, installShellFiles -, fetchFromGitHub -, pkg-config +{ + stdenv, + lib, + libusb1, + installShellFiles, + fetchFromGitHub, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-sCAvjNpJYkp4G0KkDJtHOBR1vc80DZJtWR2W9gakkzQ="; }; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/by-name/mo/mousecape/package.nix b/pkgs/by-name/mo/mousecape/package.nix index 7d45953a4e402..d7644cc6b58cf 100644 --- a/pkgs/by-name/mo/mousecape/package.nix +++ b/pkgs/by-name/mo/mousecape/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -30,4 +31,3 @@ stdenvNoCC.mkDerivation (finalAttrs: { sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; }) - diff --git a/pkgs/by-name/mo/mousetweaks/package.nix b/pkgs/by-name/mo/mousetweaks/package.nix index c05c1dd8bf1d8..162f70d0b3096 100644 --- a/pkgs/by-name/mo/mousetweaks/package.nix +++ b/pkgs/by-name/mo/mousetweaks/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config -, glib, gtk3, gnome, gsettings-desktop-schemas, wrapGAppsHook3 -, xorg +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gtk3, + gnome, + gsettings-desktop-schemas, + wrapGAppsHook3, + xorg, }: stdenv.mkDerivation rec { @@ -8,15 +16,23 @@ stdenv.mkDerivation rec { version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f"; + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f"; }; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ - glib gtk3 gsettings-desktop-schemas - xorg.libX11 xorg.libXtst xorg.libXfixes xorg.libXcursor + glib + gtk3 + gsettings-desktop-schemas + xorg.libX11 + xorg.libXtst + xorg.libXfixes + xorg.libXcursor ]; passthru = { diff --git a/pkgs/by-name/mo/mov-cli/package.nix b/pkgs/by-name/mo/mov-cli/package.nix index 21a27905a702b..ae08bd5dd535e 100644 --- a/pkgs/by-name/mo/mov-cli/package.nix +++ b/pkgs/by-name/mo/mov-cli/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, ffmpeg -, fzf -, mpv -, python3 +{ + lib, + fetchFromGitHub, + ffmpeg, + fzf, + mpv, + python3, }: let @@ -40,7 +41,7 @@ python3.pkgs.buildPythonPackage { toml typer unidecode - (callPackage ./mov-cli-test.nix {}) + (callPackage ./mov-cli-test.nix { }) ]; pythonRelaxDeps = [ @@ -48,15 +49,17 @@ python3.pkgs.buildPythonPackage { "tldextract" ]; - makeWrapperArgs = let - binPath = lib.makeBinPath [ - ffmpeg - fzf - mpv + makeWrapperArgs = + let + binPath = lib.makeBinPath [ + ffmpeg + fzf + mpv + ]; + in + [ + "--prefix PATH : ${binPath}" ]; - in [ - "--prefix PATH : ${binPath}" - ]; meta = with lib; { homepage = "https://github.com/mov-cli/mov-cli"; diff --git a/pkgs/by-name/mo/move-mount-beneath/package.nix b/pkgs/by-name/mo/move-mount-beneath/package.nix index 2bbde4f7d57af..b60e7ec901106 100644 --- a/pkgs/by-name/mo/move-mount-beneath/package.nix +++ b/pkgs/by-name/mo/move-mount-beneath/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/mo/movim/package.nix b/pkgs/by-name/mo/movim/package.nix index ef5dac3d58fed..5aa5f4ed70ffe 100644 --- a/pkgs/by-name/mo/movim/package.nix +++ b/pkgs/by-name/mo/movim/package.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, writeShellScript -, dash -, php -, phpCfg ? null -, withPgsql ? true # “strongly recommended” according to docs -, withMysql ? false -, minifyStaticFiles ? false # default files are often not minified -, esbuild -, lightningcss -, scour -, nixosTests +{ + lib, + fetchFromGitHub, + writeShellScript, + dash, + php, + phpCfg ? null, + withPgsql ? true, # “strongly recommended” according to docs + withMysql ? false, + minifyStaticFiles ? false, # default files are often not minified + esbuild, + lightningcss, + scour, + nixosTests, }: let @@ -28,13 +29,18 @@ let }; }; - minify = lib.recursiveUpdate defaultMinifyOpts - (if lib.isBool minifyStaticFiles && minifyStaticFiles then - { script.enable = true; style.enable = true; svg.enable = true; } + minify = lib.recursiveUpdate defaultMinifyOpts ( + if lib.isBool minifyStaticFiles && minifyStaticFiles then + { + script.enable = true; + style.enable = true; + svg.enable = true; + } else if lib.isAttrs minifyStaticFiles then lib.filterAttrsRecursive (_: v: v != null) minifyStaticFiles else - { }); + { } + ); in php.buildComposerProject (finalAttrs: { pname = "movim"; @@ -47,16 +53,41 @@ php.buildComposerProject (finalAttrs: { hash = "sha256-mjBeBu1seH5XMls+e4ON13ayVeugKogbNTzbjp1pUjE="; }; - php = php.buildEnv ({ - extensions = ({ all, enabled }: - enabled - ++ (with all; [ curl dom gd imagick mbstring pdo simplexml ]) - ++ lib.optionals withPgsql (with all; [ pdo_pgsql pgsql ]) - ++ lib.optionals withMysql (with all; [ mysqli mysqlnd pdo_mysql ]) - ); - } // lib.optionalAttrs (phpCfg != null) { - extraConfig = phpCfg; - }); + php = php.buildEnv ( + { + extensions = ( + { all, enabled }: + enabled + ++ (with all; [ + curl + dom + gd + imagick + mbstring + pdo + simplexml + ]) + ++ lib.optionals withPgsql ( + with all; + [ + pdo_pgsql + pgsql + ] + ) + ++ lib.optionals withMysql ( + with all; + [ + mysqli + mysqlnd + pdo_mysql + ] + ) + ); + } + // lib.optionalAttrs (phpCfg != null) { + extraConfig = phpCfg; + } + ); nativeBuildInputs = lib.optional minify.script.enable esbuild @@ -91,32 +122,35 @@ php.buildComposerProject (finalAttrs: { --replace-fail "Imagick::ALPHACHANNEL_ACTIVATE" "Imagick::ALPHACHANNEL_ON" ''; - preBuild = lib.optionalString minify.script.enable '' - find ./public -type f -iname "*.js" -print0 \ - | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_script_minify" '' + preBuild = + lib.optionalString minify.script.enable '' + find ./public -type f -iname "*.js" -print0 \ + | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_script_minify" '' file="$1" tmp="$(mktemp)" esbuild $file --minify --target=${lib.escapeShellArg minify.script.target} --outfile=$tmp [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file ''} - '' + lib.optionalString minify.style.enable '' - find ./public -type f -iname "*.css" -print0 \ - | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_style_minify" '' + '' + + lib.optionalString minify.style.enable '' + find ./public -type f -iname "*.css" -print0 \ + | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_style_minify" '' export BROWSERLIST="${lib.escapeShellArg minify.style.browserslist}" file="$1" tmp="$(mktemp)" lightningcss $file --minify --browserslist --output-file=$tmp [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file ''} - '' + lib.optionalString minify.svg.enable '' - find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" -print0 \ - | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_svg_minify" '' + '' + + lib.optionalString minify.svg.enable '' + find ./public -type f -iname "*.svg" -a -not -path "*/emojis/*" -print0 \ + | xargs -0 -n 1 -P $NIX_BUILD_CORES ${writeShellScript "movim_svg_minify" '' file="$1" tmp="$(mktemp)" scour -i $file -o $tmp --disable-style-to-xml --enable-comment-stripping --enable-viewboxing --indent=tab [[ "$(stat -c %s $tmp)" -lt "$(stat -c %s $file)" ]] && mv $tmp $file ''} - ''; + ''; postInstall = '' mkdir -p $out/bin diff --git a/pkgs/by-name/mo/movine/package.nix b/pkgs/by-name/mo/movine/package.nix index 41ea6a42a05d3..60e9df62baefd 100644 --- a/pkgs/by-name/mo/movine/package.nix +++ b/pkgs/by-name/mo/movine/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,11 +23,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Migration manager written in Rust, that attempts to be smart yet minimal"; diff --git a/pkgs/by-name/mo/movit/package.nix b/pkgs/by-name/mo/movit/package.nix index 55a4ec26025a4..e285137e459fc 100644 --- a/pkgs/by-name/mo/movit/package.nix +++ b/pkgs/by-name/mo/movit/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, SDL2 -, fftw -, gtest -, darwin -, eigen -, libepoxy +{ + lib, + stdenv, + fetchurl, + pkg-config, + SDL2, + fftw, + gtest, + darwin, + eigen, + libepoxy, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-szBztwXwzLasSULPURUVFUB7QLtOmi3QIowcLLH7wRo="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; GTEST_DIR = "${gtest.src}/googletest"; @@ -27,14 +31,16 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - SDL2 - fftw - gtest - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.OpenGL - darwin.libobjc - ]; + buildInputs = + [ + SDL2 + fftw + gtest + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.OpenGL + darwin.libobjc + ]; propagatedBuildInputs = [ eigen diff --git a/pkgs/by-name/mo/mox/package.nix b/pkgs/by-name/mo/mox/package.nix index cb266f89bc4dd..749e4d2e4515e 100644 --- a/pkgs/by-name/mo/mox/package.nix +++ b/pkgs/by-name/mo/mox/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mo/mozjpeg/package.nix b/pkgs/by-name/mo/mozjpeg/package.nix index b693626fae644..8a73827a29532 100644 --- a/pkgs/by-name/mo/mozjpeg/package.nix +++ b/pkgs/by-name/mo/mozjpeg/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libpng, zlib, nasm }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libpng, + zlib, + nasm, +}: stdenv.mkDerivation rec { version = "4.1.5"; @@ -11,10 +20,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-k8qWtU4j3ipIHvY60ae7kdNnPvWnUa0qgacqlSIJijo="; }; - cmakeFlags = [ "-DENABLE_STATIC=NO" "-DPNG_SUPPORTED=TRUE" ]; # See https://github.com/mozilla/mozjpeg/issues/351 + cmakeFlags = [ + "-DENABLE_STATIC=NO" + "-DPNG_SUPPORTED=TRUE" + ]; # See https://github.com/mozilla/mozjpeg/issues/351 - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libpng zlib nasm ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libpng + zlib + nasm + ]; meta = { description = "Mozilla JPEG Encoder Project"; diff --git a/pkgs/by-name/mo/mozlz4a/package.nix b/pkgs/by-name/mo/mozlz4a/package.nix index a9ab74bc7a592..8ef0d3ea0c08e 100644 --- a/pkgs/by-name/mo/mozlz4a/package.nix +++ b/pkgs/by-name/mo/mozlz4a/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, python3 -, runtimeShell +{ + lib, + stdenv, + fetchurl, + python3, + runtimeShell, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { dontUnpack = true; - buildInputs = [ python3 python3.pkgs.lz4 ]; + buildInputs = [ + python3 + python3.pkgs.lz4 + ]; installPhase = '' mkdir -p "$out/bin" "$out/${python3.sitePackages}/" @@ -31,7 +35,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MozLz4a compression/decompression utility"; license = licenses.bsd2; - maintainers = with maintainers; [ kira-bruneau pshirshov raskin ]; + maintainers = with maintainers; [ + kira-bruneau + pshirshov + raskin + ]; platforms = python3.meta.platforms; homepage = "https://gist.github.com/Tblue/62ff47bef7f894e92ed5"; mainProgram = "mozlz4a"; diff --git a/pkgs/by-name/mo/mozphab/package.nix b/pkgs/by-name/mo/mozphab/package.nix index 6a08104129821..a9618e9d51903 100644 --- a/pkgs/by-name/mo/mozphab/package.nix +++ b/pkgs/by-name/mo/mozphab/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, -# tests -, git -, mercurial -, patch + # tests + git, + mercurial, + patch, }: python3.pkgs.buildPythonApplication rec { @@ -40,18 +41,19 @@ python3.pkgs.buildPythonApplication rec { setuptools ]; - nativeCheckInputs = [ - git - mercurial - patch - ] - ++ (with python3.pkgs; [ - callee - immutabledict - hg-evolve - mock - pytestCheckHook - ]); + nativeCheckInputs = + [ + git + mercurial + patch + ] + ++ (with python3.pkgs; [ + callee + immutabledict + hg-evolve + mock + pytestCheckHook + ]); preCheck = '' export HOME=$(mktemp -d) diff --git a/pkgs/by-name/mp/mp3blaster/package.nix b/pkgs/by-name/mp/mp3blaster/package.nix index 02711ab4e1314..3127c53fe73ce 100644 --- a/pkgs/by-name/mp/mp3blaster/package.nix +++ b/pkgs/by-name/mp/mp3blaster/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, libvorbis, SDL }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, + libvorbis, + SDL, +}: stdenv.mkDerivation rec { pname = "mp3blaster"; @@ -26,11 +34,14 @@ stdenv.mkDerivation rec { libvorbis ] ++ lib.optional stdenv.hostPlatform.isDarwin SDL; - env.NIX_CFLAGS_COMPILE = toString ([ - "-Wno-narrowing" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-reserved-user-defined-literal" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-Wno-narrowing" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-reserved-user-defined-literal" + ] + ); meta = with lib; { description = "Audio player for the text console"; diff --git a/pkgs/by-name/mp/mp3cat/package.nix b/pkgs/by-name/mp/mp3cat/package.nix index d6e76582d1674..a945e50be8d47 100644 --- a/pkgs/by-name/mp/mp3cat/package.nix +++ b/pkgs/by-name/mp/mp3cat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "mp3cat"; diff --git a/pkgs/by-name/mp/mp3fs/package.nix b/pkgs/by-name/mp/mp3fs/package.nix index 0412a99beee0e..6a98b78348b86 100644 --- a/pkgs/by-name/mp/mp3fs/package.nix +++ b/pkgs/by-name/mp/mp3fs/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, flac -, fuse -, lame -, libid3tag -, libvorbis -, autoreconfHook -, pkg-config -, pandoc +{ + lib, + stdenv, + fetchFromGitHub, + flac, + fuse, + lame, + libid3tag, + libvorbis, + autoreconfHook, + pkg-config, + pandoc, }: stdenv.mkDerivation rec { @@ -28,8 +29,18 @@ stdenv.mkDerivation rec { --replace "osxfuse_version()" "fuse_version()" ''; - buildInputs = [ flac fuse lame libid3tag libvorbis ]; - nativeBuildInputs = [ autoreconfHook pkg-config pandoc ]; + buildInputs = [ + flac + fuse + lame + libid3tag + libvorbis + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + pandoc + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/mp/mp3gain/package.nix b/pkgs/by-name/mp/mp3gain/package.nix index a59f2e376db03..d672d58a35632 100644 --- a/pkgs/by-name/mp/mp3gain/package.nix +++ b/pkgs/by-name/mp/mp3gain/package.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchurl, fetchpatch, unzip, mpg123 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + unzip, + mpg123, +}: stdenv.mkDerivation rec { pname = "mp3gain"; version = "1.6.2"; src = fetchurl { - url = "mirror://sourceforge/${pname}/${pname}-${lib.replaceStrings ["."] ["_"] version}-src.zip"; + url = "mirror://sourceforge/${pname}/${pname}-${ + lib.replaceStrings [ "." ] [ "_" ] version + }-src.zip"; sha256 = "0varr6y7k8zarr56b42r0ad9g3brhn5vv3xjg1c0v19jxwr4gh2w"; }; diff --git a/pkgs/by-name/mp/mp3splt/package.nix b/pkgs/by-name/mp/mp3splt/package.nix index 1407c153aed2d..5721630bef237 100644 --- a/pkgs/by-name/mp/mp3splt/package.nix +++ b/pkgs/by-name/mp/mp3splt/package.nix @@ -1,20 +1,31 @@ -{ lib, stdenv, fetchurl, pkg-config, libmp3splt }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libmp3splt, +}: stdenv.mkDerivation rec { pname = "mp3splt"; version = "2.6.2"; - src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; sha256 = "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry"; }; - configureFlags = [ "--enable-oggsplt-symlink" "--enable-flacsplt-symlink" ]; + configureFlags = [ + "--enable-oggsplt-symlink" + "--enable-flacsplt-symlink" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libmp3splt ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = with lib; { description = "Utility to split mp3, ogg vorbis and FLAC files without decoding"; diff --git a/pkgs/by-name/mp/mp3val/package.nix b/pkgs/by-name/mp/mp3val/package.nix index 506829ac3a000..a29ebb5dcdab7 100644 --- a/pkgs/by-name/mp/mp3val/package.nix +++ b/pkgs/by-name/mp/mp3val/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mp3val"; diff --git a/pkgs/by-name/mp/mp4v2/package.nix b/pkgs/by-name/mp/mp4v2/package.nix index 1fdb48dab4c42..40a8da44fa5a4 100644 --- a/pkgs/by-name/mp/mp4v2/package.nix +++ b/pkgs/by-name/mp/mp4v2/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "mp4v2"; diff --git a/pkgs/by-name/mp/mpage/package.nix b/pkgs/by-name/mp/mpage/package.nix index e7a114ec65771..ef6cfa8e381d1 100644 --- a/pkgs/by-name/mp/mpage/package.nix +++ b/pkgs/by-name/mp/mpage/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "mpage"; @@ -26,7 +30,7 @@ stdenv.mkDerivation rec { ISO 8859.1 to print 8-bit characters. ''; - license = "liberal"; # a non-copyleft license, see `Copyright' file + license = "liberal"; # a non-copyleft license, see `Copyright' file homepage = "http://www.mesa.nl/pub/mpage/"; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/mp/mpc123/package.nix b/pkgs/by-name/mp/mpc123/package.nix index 1061705115ea5..a08d91e84b3db 100644 --- a/pkgs/by-name/mp/mpc123/package.nix +++ b/pkgs/by-name/mp/mpc123/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, gettext -, libao -, libmpcdec +{ + lib, + stdenv, + fetchFromGitLab, + gettext, + libao, + libmpcdec, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mp/mpd-discord-rpc/package.nix b/pkgs/by-name/mp/mpd-discord-rpc/package.nix index 1dada2fcfc3f5..8235b426864e9 100644 --- a/pkgs/by-name/mp/mpd-discord-rpc/package.nix +++ b/pkgs/by-name/mp/mpd-discord-rpc/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,12 +25,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; meta = with lib; { description = "Rust application which displays your currently playing song / album / artist from MPD in Discord using Rich Presence"; diff --git a/pkgs/by-name/mp/mpd-mpris/package.nix b/pkgs/by-name/mp/mpd-mpris/package.nix index 9c6412de12e12..8d7096eed5038 100644 --- a/pkgs/by-name/mp/mpd-mpris/package.nix +++ b/pkgs/by-name/mp/mpd-mpris/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, }: buildGoModule rec { diff --git a/pkgs/by-name/mp/mpd-notification/package.nix b/pkgs/by-name/mp/mpd-notification/package.nix index 277a9fcf65a20..f488d46f4e5bc 100644 --- a/pkgs/by-name/mp/mpd-notification/package.nix +++ b/pkgs/by-name/mp/mpd-notification/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, pkg-config -, fetchFromGitHub -, file -, iniparser -, ffmpeg -, libnotify -, libmpdclient -, discount -, systemd +{ + lib, + stdenv, + pkg-config, + fetchFromGitHub, + file, + iniparser, + ffmpeg, + libnotify, + libmpdclient, + discount, + systemd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mp/mpd-touch-screen-gui/package.nix b/pkgs/by-name/mp/mpd-touch-screen-gui/package.nix index 87f2dea11f065..31a47126dfc46 100644 --- a/pkgs/by-name/mp/mpd-touch-screen-gui/package.nix +++ b/pkgs/by-name/mp/mpd-touch-screen-gui/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, SDL2 -, SDL2_ttf -, SDL2_image -, boost -, libmpdclient -, libwtk-sdl2 -, icu -, libconfig -, dejavu_fonts +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + SDL2, + SDL2_ttf, + SDL2_image, + boost, + libmpdclient, + libwtk-sdl2, + icu, + libconfig, + dejavu_fonts, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mp/mpdas/package.nix b/pkgs/by-name/mp/mpdas/package.nix index 04251854d48d2..c1e9c88bdb5d5 100644 --- a/pkgs/by-name/mp/mpdas/package.nix +++ b/pkgs/by-name/mp/mpdas/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libmpdclient -, curl +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libmpdclient, + curl, }: stdenv.mkDerivation rec { @@ -19,9 +20,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libmpdclient curl ]; + buildInputs = [ + libmpdclient + curl + ]; - makeFlags = [ "CONFIG=/etc" "DESTDIR=" "PREFIX=$(out)" ]; + makeFlags = [ + "CONFIG=/etc" + "DESTDIR=" + "PREFIX=$(out)" + ]; meta = with lib; { description = "Music Player Daemon AudioScrobbler"; diff --git a/pkgs/by-name/mp/mpdcron/gemset.nix b/pkgs/by-name/mp/mpdcron/gemset.nix index ee254bb6354b7..4a42bdef22c04 100644 --- a/pkgs/by-name/mp/mpdcron/gemset.nix +++ b/pkgs/by-name/mp/mpdcron/gemset.nix @@ -1,20 +1,20 @@ { mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; version = "2.4.0"; }; nokogiri = { - dependencies = ["mini_portile2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_portile2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; diff --git a/pkgs/by-name/mp/mpdcron/package.nix b/pkgs/by-name/mp/mpdcron/package.nix index 3ced3d5d1382e..b3c22a7b80ee7 100644 --- a/pkgs/by-name/mp/mpdcron/package.nix +++ b/pkgs/by-name/mp/mpdcron/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, pkg-config -, glib -, libdaemon -, libmpdclient -, curl -, sqlite -, bundlerEnv -, libnotify -, pandoc +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + glib, + libdaemon, + libmpdclient, + curl, + sqlite, + bundlerEnv, + libnotify, + pandoc, }: let @@ -20,7 +21,8 @@ let name = "mpdcron-bundle"; gemdir = ./.; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "mpdcron"; version = "20161228"; @@ -31,7 +33,11 @@ in stdenv.mkDerivation { sha256 = "0vdksf6lcgmizqr5mqp0bbci259k0dj7gpmhx32md41jlmw5skaw"; }; - nativeBuildInputs = [ autoconf automake pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; buildInputs = [ libtool glib @@ -48,15 +54,21 @@ in stdenv.mkDerivation { ./autogen.sh ''; - configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ]; + configureFlags = [ + "--enable-gmodule" + "--with-standard-modules=all" + ]; meta = with lib; { description = "Cron like daemon for mpd"; - homepage = "http://alip.github.io/mpdcron/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ lovek323 manveru ]; - broken = stdenv.hostPlatform.isDarwin; # fails due to old nokogiri https://github.com/sparklemotion/nokogiri/discussions/3152#discussioncomment-8806607 + homepage = "http://alip.github.io/mpdcron/"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ + lovek323 + manveru + ]; + broken = stdenv.hostPlatform.isDarwin; # fails due to old nokogiri https://github.com/sparklemotion/nokogiri/discussions/3152#discussioncomment-8806607 }; } # TODO: autoreconfHook this diff --git a/pkgs/by-name/mp/mpdecimal/package.nix b/pkgs/by-name/mp/mpdecimal/package.nix index 82643b1971098..72a3ece43fbba 100644 --- a/pkgs/by-name/mp/mpdecimal/package.nix +++ b/pkgs/by-name/mp/mpdecimal/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "mpdecimal"; version = "4.0.0"; - outputs = [ "out" "cxx" "doc" "dev" ]; + outputs = [ + "out" + "cxx" + "doc" + "dev" + ]; src = fetchurl { url = "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-${version}.tar.gz"; @@ -31,7 +41,7 @@ stdenv.mkDerivation rec { meta = { description = "Library for arbitrary precision decimal floating point arithmetic"; - longDescription = '' + longDescription = '' libmpdec is a fast C/C++ library for correctly-rounded arbitrary precision decimal floating point arithmetic. It is a complete implementation of Mike Cowlishaw/IBM's General Decimal Arithmetic diff --git a/pkgs/by-name/mp/mpdris2/package.nix b/pkgs/by-name/mp/mpdris2/package.nix index 3fb6b46a42a81..c9f6578efbca9 100644 --- a/pkgs/by-name/mp/mpdris2/package.nix +++ b/pkgs/by-name/mp/mpdris2/package.nix @@ -1,12 +1,13 @@ -{ lib -, autoreconfHook -, fetchFromGitHub -, glib -, gobject-introspection -, intltool -, libnotify -, python3 -, wrapGAppsHook3 +{ + lib, + autoreconfHook, + fetchFromGitHub, + glib, + gobject-introspection, + intltool, + libnotify, + python3, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/mp/mpdscribble/package.nix b/pkgs/by-name/mp/mpdscribble/package.nix index c4e7ad591eb69..a6d74dabc7ebd 100644 --- a/pkgs/by-name/mp/mpdscribble/package.nix +++ b/pkgs/by-name/mp/mpdscribble/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, meson -, ninja -, boost -, curl -, libgcrypt -, libmpdclient -, systemd +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + meson, + ninja, + boost, + curl, + libgcrypt, + libmpdclient, + systemd, }: stdenv.mkDerivation rec { @@ -22,17 +23,23 @@ stdenv.mkDerivation rec { }; # Fix build issue on darwin; to be removed after the next release - patches = [(fetchpatch { - name = "remove-empty-static-lib.patch"; - url = "https://github.com/MusicPlayerDaemon/mpdscribble/commit/0dbcea25c81f3fdc608f71ef71a9784679fee17f.patch"; - sha256 = "sha256-3wLfQvbwx+OFrCl5vMV7Zps4e4iEYFhqPiVCo5hDqgw="; - })]; + patches = [ + (fetchpatch { + name = "remove-empty-static-lib.patch"; + url = "https://github.com/MusicPlayerDaemon/mpdscribble/commit/0dbcea25c81f3fdc608f71ef71a9784679fee17f.patch"; + sha256 = "sha256-3wLfQvbwx+OFrCl5vMV7Zps4e4iEYFhqPiVCo5hDqgw="; + }) + ]; postPatch = '' sed '1i#include ' -i src/Log.cxx # gcc12 ''; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; buildInputs = [ libmpdclient curl diff --git a/pkgs/by-name/mp/mpfi/package.nix b/pkgs/by-name/mp/mpfi/package.nix index 802a89c4c5e4e..a5ba01b2af848 100644 --- a/pkgs/by-name/mp/mpfi/package.nix +++ b/pkgs/by-name/mp/mpfi/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchFromGitLab, autoreconfHook, texinfo, mpfr}: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + texinfo, + mpfr, +}: stdenv.mkDerivation rec { pname = "mpfi"; version = "1.5.4"; @@ -12,23 +19,24 @@ stdenv.mkDerivation rec { # Conditional to allow auto-updaters to try new releases # TODO: remove the conditional after an upstream update # rev = version; - rev = if version == "1.5.4" then - "feab26bc54529417af983950ddbffb3a4c334d4f" - else version; + rev = if version == "1.5.4" then "feab26bc54529417af983950ddbffb3a4c334d4f" else version; sha256 = "sha256-aj/QmJ38ifsW36JFQcbp55aIQRvOpiqLHwEh/aFXsgo="; }; sourceRoot = "${src.name}/mpfi"; - nativeBuildInputs = [ autoreconfHook texinfo ]; + nativeBuildInputs = [ + autoreconfHook + texinfo + ]; buildInputs = [ mpfr ]; meta = { description = "Multiple precision interval arithmetic library based on MPFR"; homepage = "http://perso.ens-lyon.fr/nathalie.revol/software.html"; license = lib.licenses.lgpl21Plus; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/mp/mpfr/package.nix b/pkgs/by-name/mp/mpfr/package.nix index 2ba09fc226fda..79de1ab9de901 100644 --- a/pkgs/by-name/mp/mpfr/package.nix +++ b/pkgs/by-name/mp/mpfr/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, gmp -, writeScript -, updateAutotoolsGnuConfigScriptsHook +{ + lib, + stdenv, + fetchurl, + gmp, + writeScript, + updateAutotoolsGnuConfigScriptsHook, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -23,7 +24,12 @@ stdenv.mkDerivation rec { hash = "sha256-J3gHNTpnJpeJlpRa8T5Sgp46vXqaW3+yeTiU4Y8fy7I="; }; - outputs = [ "out" "dev" "doc" "info" ]; + outputs = [ + "out" + "dev" + "doc" + "info" + ]; strictDeps = true; # necessary to build on FreeBSD native pending inclusion of @@ -32,7 +38,8 @@ stdenv.mkDerivation rec { # mpfr.h requires gmp.h propagatedBuildInputs = [ gmp ]; - configureFlags = lib.optional stdenv.hostPlatform.isSunOS "--disable-thread-safe" + configureFlags = + lib.optional stdenv.hostPlatform.isSunOS "--disable-thread-safe" ++ lib.optional stdenv.hostPlatform.is64bit "--with-pic" ++ lib.optionals stdenv.hostPlatform.isPower64 [ # Without this, the `tget_set_d128` test experiences a link diff --git a/pkgs/by-name/mp/mpfshell/package.nix b/pkgs/by-name/mp/mpfshell/package.nix index 63223a54eb8e4..7e4bbdf740ab0 100644 --- a/pkgs/by-name/mp/mpfshell/package.nix +++ b/pkgs/by-name/mp/mpfshell/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonPackage rec { pname = "mpfshell-unstable"; @@ -12,7 +16,9 @@ python3Packages.buildPythonPackage rec { }; propagatedBuildInputs = with python3Packages; [ - pyserial colorama websocket-client + pyserial + colorama + websocket-client ]; doCheck = false; diff --git a/pkgs/by-name/mp/mpifileutils/package.nix b/pkgs/by-name/mp/mpifileutils/package.nix index 92300592c2fa8..e72da7d2aff44 100644 --- a/pkgs/by-name/mp/mpifileutils/package.nix +++ b/pkgs/by-name/mp/mpifileutils/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, mpi -, attr -, dtcmp -, libarchive -, libcircle -, bzip2 -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + mpi, + attr, + dtcmp, + libarchive, + libcircle, + bzip2, + openssl, }: stdenv.mkDerivation rec { @@ -23,9 +24,16 @@ stdenv.mkDerivation rec { hash = "sha256-3nls82awMMCwlfafsOy3AY8OvT9sE+BvvsDOY14YvQc="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ attr dtcmp diff --git a/pkgs/by-name/mp/mpir/package.nix b/pkgs/by-name/mp/mpir/package.nix index 9857317ea1889..21f9ebd36a238 100644 --- a/pkgs/by-name/mp/mpir/package.nix +++ b/pkgs/by-name/mp/mpir/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, m4, which, yasm, autoreconfHook, fetchpatch, buildPackages }: +{ + lib, + stdenv, + fetchurl, + m4, + which, + yasm, + autoreconfHook, + fetchpatch, + buildPackages, +}: stdenv.mkDerivation rec { pname = "mpir"; @@ -6,7 +16,12 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ m4 which yasm autoreconfHook ]; + nativeBuildInputs = [ + m4 + which + yasm + autoreconfHook + ]; src = fetchurl { url = "https://mpir.org/mpir-${version}.tar.bz2"; @@ -22,13 +37,12 @@ stdenv.mkDerivation rec { }) ]; - configureFlags = [ "--enable-cxx" ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ "--enable-fat" ]; + configureFlags = [ "--enable-cxx" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "--enable-fat" ]; meta = { description = "Highly optimised library for bignum arithmetic forked from GMP"; license = lib.licenses.lgpl3Plus; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; downloadPage = "https://mpir.org/downloads.html"; homepage = "https://mpir.org/"; diff --git a/pkgs/by-name/mp/mprime/package.nix b/pkgs/by-name/mp/mprime/package.nix index e55f8ca50fe0b..8cdf5f1b1479f 100644 --- a/pkgs/by-name/mp/mprime/package.nix +++ b/pkgs/by-name/mp/mprime/package.nix @@ -1,19 +1,32 @@ -{ stdenv, lib, fetchurl, unzip, boost, curl, hwloc, gmp }: +{ + stdenv, + lib, + fetchurl, + unzip, + boost, + curl, + hwloc, + gmp, +}: let throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; - srcDir = { - x86_64-linux = "linux64"; - i686-linux = "linux"; - x86_64-darwin = "macosx64"; - }."${stdenv.hostPlatform.system}" or throwSystem; + srcDir = + { + x86_64-linux = "linux64"; + i686-linux = "linux"; + x86_64-darwin = "macosx64"; + } + ."${stdenv.hostPlatform.system}" or throwSystem; - gwnum = { - x86_64-linux = "make64"; - i686-linux = "makefile"; - x86_64-darwin = "makemac"; - }."${stdenv.hostPlatform.system}" or throwSystem; + gwnum = + { + x86_64-linux = "make64"; + i686-linux = "makefile"; + x86_64-darwin = "makemac"; + } + ."${stdenv.hostPlatform.system}" or throwSystem; in stdenv.mkDerivation rec { @@ -21,7 +34,9 @@ stdenv.mkDerivation rec { version = "30.8b15"; src = fetchurl { - url = "https://www.mersenne.org/ftp_root/gimps/p95v${lib.replaceStrings ["."] [""] version}.source.zip"; + url = "https://www.mersenne.org/ftp_root/gimps/p95v${ + lib.replaceStrings [ "." ] [ "" ] version + }.source.zip"; hash = "sha256-CNYorZStHV0aESGX9LfLZ4oD5PFR2UOFLN1MiLaKw58="; }; @@ -37,7 +52,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; - buildInputs = [ boost curl hwloc gmp ]; + buildInputs = [ + boost + curl + hwloc + gmp + ]; enableParallelBuilding = true; @@ -63,7 +83,11 @@ stdenv.mkDerivation rec { # a suitable prime. http://www.mersenne.org/legal/#EULA license = licenses.unfree; # Untested on linux-32 and osx. Works in theory. - platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"]; + platforms = [ + "i686-linux" + "x86_64-linux" + "x86_64-darwin" + ]; mainProgram = "mprime"; }; } diff --git a/pkgs/by-name/mp/mpris-notifier/package.nix b/pkgs/by-name/mp/mpris-notifier/package.nix index 3b3016a1d2481..feaca1f895b3c 100644 --- a/pkgs/by-name/mp/mpris-notifier/package.nix +++ b/pkgs/by-name/mp/mpris-notifier/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/mp/mpris-scrobbler/package.nix b/pkgs/by-name/mp/mpris-scrobbler/package.nix index 749a90336ae45..224108fa418a0 100644 --- a/pkgs/by-name/mp/mpris-scrobbler/package.nix +++ b/pkgs/by-name/mp/mpris-scrobbler/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, curl -, dbus -, libevent -, m4 -, meson -, ninja -, pkg-config -, scdoc -, json_c -, xdg-utils +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + curl, + dbus, + libevent, + m4, + meson, + ninja, + pkg-config, + scdoc, + json_c, + xdg-utils, }: stdenv.mkDerivation rec { @@ -25,14 +26,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-eeOhFkLyx+smZmKPTbVB1OiYkHdWk5v2rnOb9yCIuYE="; }; - postPatch = '' - substituteInPlace src/signon.c \ - --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace meson.build \ - --replace "-Werror=format-truncation=0" "" \ - --replace "-Wno-stringop-overflow" "" - ''; + postPatch = + '' + substituteInPlace src/signon.c \ + --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace meson.build \ + --replace "-Werror=format-truncation=0" "" \ + --replace "-Wno-stringop-overflow" "" + ''; nativeBuildInputs = [ m4 @@ -53,17 +56,21 @@ stdenv.mkDerivation rec { "-Dversion=${version}" ]; - env.NIX_CFLAGS_COMPILE = toString ([ - # Needed with GCC 12 - "-Wno-error=address" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-sometimes-uninitialized" - "-Wno-tautological-pointer-compare" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-Wno-array-bounds" - "-Wno-free-nonheap-object" - "-Wno-stringop-truncation" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + # Needed with GCC 12 + "-Wno-error=address" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-sometimes-uninitialized" + "-Wno-tautological-pointer-compare" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-Wno-array-bounds" + "-Wno-free-nonheap-object" + "-Wno-stringop-truncation" + ] + ); passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/mp/mprocs/package.nix b/pkgs/by-name/mp/mprocs/package.nix index d7b9a44290fa9..2dedffb92ff26 100644 --- a/pkgs/by-name/mp/mprocs/package.nix +++ b/pkgs/by-name/mp/mprocs/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, rustPlatform, nix-update-script, testers, mprocs }: +{ + lib, + fetchFromGitHub, + rustPlatform, + nix-update-script, + testers, + mprocs, +}: rustPlatform.buildRustPackage rec { pname = "mprocs"; @@ -23,7 +30,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/pvolok/mprocs"; changelog = "https://github.com/pvolok/mprocs/releases/tag/v${version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ GaetanLepage pyrox0 ]; + maintainers = with lib.maintainers; [ + GaetanLepage + pyrox0 + ]; platforms = lib.platforms.unix; mainProgram = "mprocs"; }; diff --git a/pkgs/by-name/mp/mps/package.nix b/pkgs/by-name/mp/mps/package.nix index 049868c9381b6..48d8bede782e0 100644 --- a/pkgs/by-name/mp/mps/package.nix +++ b/pkgs/by-name/mp/mps/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + sqlite, }: stdenv.mkDerivation rec { @@ -29,9 +30,9 @@ stdenv.mkDerivation rec { meta = { description = "Flexible memory management and garbage collection library"; - homepage = "https://www.ravenbrook.com/project/mps"; - license = lib.licenses.sleepycat; - platforms = lib.platforms.linux; + homepage = "https://www.ravenbrook.com/project/mps"; + license = lib.licenses.sleepycat; + platforms = lib.platforms.linux; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/mp/mpv-shim-default-shaders/package.nix b/pkgs/by-name/mp/mpv-shim-default-shaders/package.nix index 7e1dfbae4a4d3..1c46eae6d6e04 100644 --- a/pkgs/by-name/mp/mpv-shim-default-shaders/package.nix +++ b/pkgs/by-name/mp/mpv-shim-default-shaders/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "mpv-shim-default-shaders"; diff --git a/pkgs/by-name/mp/mpv-subs-popout/package.nix b/pkgs/by-name/mp/mpv-subs-popout/package.nix index 8da60cb88a281..a3420eb2e3c9d 100644 --- a/pkgs/by-name/mp/mpv-subs-popout/package.nix +++ b/pkgs/by-name/mp/mpv-subs-popout/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, wrapGAppsHook3 -, pkg-config -, openssl +{ + lib, + fetchFromGitHub, + rustPlatform, + wrapGAppsHook3, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { pname = "mpv-subs-popout"; @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-vWDrbT1qZVU/N+V24Egq4cAoqysfX1hjQc+D9M5ViEE="; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ openssl ]; meta = { diff --git a/pkgs/by-name/mp/mpvc/package.nix b/pkgs/by-name/mp/mpvc/package.nix index 90b5c1d4b5eb8..d6fb6a45aa3ce 100644 --- a/pkgs/by-name/mp/mpvc/package.nix +++ b/pkgs/by-name/mp/mpvc/package.nix @@ -22,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ socat ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/mp/mpvpaper/package.nix b/pkgs/by-name/mp/mpvpaper/package.nix index 3ae57ffdaafd6..91d6d33634bd0 100644 --- a/pkgs/by-name/mp/mpvpaper/package.nix +++ b/pkgs/by-name/mp/mpvpaper/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, meson -, ninja -, wayland -, wayland-protocols -, wayland-scanner -, egl-wayland -, glew -, mpv -, pkg-config -, fetchFromGitHub -, makeWrapper -, installShellFiles +{ + stdenv, + lib, + meson, + ninja, + wayland, + wayland-protocols, + wayland-scanner, + egl-wayland, + glew, + mpv, + pkg-config, + fetchFromGitHub, + makeWrapper, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mp/mpw/package.nix b/pkgs/by-name/mp/mpw/package.nix index 5900c72bcff32..495b1384b8734 100644 --- a/pkgs/by-name/mp/mpw/package.nix +++ b/pkgs/by-name/mp/mpw/package.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, cmake, fetchFromGitLab -, json_c, libsodium, libxml2, ncurses }: +{ + lib, + stdenv, + cmake, + fetchFromGitLab, + json_c, + libsodium, + libxml2, + ncurses, +}: let rev = "22796663dcad81684ab24308d9db570f6781ba2c"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { name = "mpw-${version}-${builtins.substring 0 8 rev}"; version = "2.6"; src = fetchFromGitLab { - owner = "MasterPassword"; - repo = "MasterPassword"; + owner = "MasterPassword"; + repo = "MasterPassword"; sha256 = "1f2vqacgbyam1mazawrfim8zwp38gnwf5v3xkkficsfnv789g6fw"; inherit rev; }; @@ -31,7 +40,12 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ json_c libxml2 libsodium ncurses ]; + buildInputs = [ + json_c + libxml2 + libsodium + ncurses + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/mq/mq-cli/package.nix b/pkgs/by-name/mq/mq-cli/package.nix index 6da2fbefab4b7..1e38676165057 100644 --- a/pkgs/by-name/mq/mq-cli/package.nix +++ b/pkgs/by-name/mq/mq-cli/package.nix @@ -1,24 +1,28 @@ -{ fetchFromGitHub, lib, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "mq-cli"; version = "1.0.0"; src = fetchFromGitHub { - owner = "aprilabank"; - repo = "mq-cli"; - rev = "v${version}"; + owner = "aprilabank"; + repo = "mq-cli"; + rev = "v${version}"; sha256 = "02z85waj5jc312biv2qhbgplsggxgjmfmyv9v8b1ky0iq1mpxjw7"; }; cargoHash = "sha256-kZox1QhMPFC5l8mJNxh6C3tiNYMgfmLyWLhkdigEs6Y="; meta = with lib; { - description = "CLI tool to manage POSIX message queues"; - homepage = "https://github.com/aprilabank/mq-cli"; - license = licenses.mit; - maintainers = with maintainers; [ tazjin ]; - platforms = platforms.linux; - mainProgram = "mq"; + description = "CLI tool to manage POSIX message queues"; + homepage = "https://github.com/aprilabank/mq-cli"; + license = licenses.mit; + maintainers = with maintainers; [ tazjin ]; + platforms = platforms.linux; + mainProgram = "mq"; }; } diff --git a/pkgs/by-name/mq/mqtt-benchmark/package.nix b/pkgs/by-name/mq/mqtt-benchmark/package.nix index bc755247c40c0..72ae68f33b566 100644 --- a/pkgs/by-name/mq/mqtt-benchmark/package.nix +++ b/pkgs/by-name/mq/mqtt-benchmark/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mq/mqtt_cpp/package.nix b/pkgs/by-name/mq/mqtt_cpp/package.nix index fca89f8d0f68a..29e0febea0fdb 100644 --- a/pkgs/by-name/mq/mqtt_cpp/package.nix +++ b/pkgs/by-name/mq/mqtt_cpp/package.nix @@ -16,15 +16,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-E5dMZ0uJ1AOwiGTxD4qhbO72blplmXHh1gTYGE34H+0="; }; - nativeBuildInputs = [cmake]; + nativeBuildInputs = [ cmake ]; - buildInputs = [boost]; + buildInputs = [ boost ]; meta = with lib; { description = "MQTT client/server for C++14 based on Boost.Asio"; homepage = "https://github.com/redboltz/mqtt_cpp"; license = licenses.boost; - maintainers = with maintainers; [spalf]; + maintainers = with maintainers; [ spalf ]; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/mq/mqttmultimeter/deps.nix b/pkgs/by-name/mq/mqttmultimeter/deps.nix index c43ceb31c3c01..1c9b5d7b5abb9 100644 --- a/pkgs/by-name/mq/mqttmultimeter/deps.nix +++ b/pkgs/by-name/mq/mqttmultimeter/deps.nix @@ -1,121 +1,586 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Avalonia"; version = "11.0.9"; sha256 = "1km9642p9qbx8i14q94h65m96ywr9d54ilv5h0rdsdfidbpbmfhf"; }) - (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; }) - (fetchNuGet { pname = "Avalonia.AvaloniaEdit"; version = "11.0.6"; sha256 = "1vma45sa5falrzmw23jzr3chhi7gllvxgkks379sd48a6p6acv6q"; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.9"; sha256 = "1ycc7jzlhyvy3ssw8pqb9da8qrv9wxwnffk060w7wbb00m90zjh3"; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.9"; sha256 = "1q58z54wl9sk4j17innm885fn776j9f381mhsmd0mzw0ybya3dys"; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.9"; sha256 = "06mcb24grrikjqbgmvrry47hjyz9qcqz6az9lpmjlf9nrsf6h1yc"; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.9"; sha256 = "19j6z5zq5k4sfgkak6y0nsq3i98jzyz9y87bw5nf1jbpa4ahv2dn"; }) - (fetchNuGet { pname = "Avalonia.Fonts.Inter"; version = "11.0.9"; sha256 = "1w56gyn5pbvv1j9mm5n9ga8zlfq515nzc6hdqfnsrgaxh6xxkxyb"; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.9"; sha256 = "0ws8gk8rc1h9axn55zm222axal3pbyjmsqvpgihzwfdjafk3qy2w"; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.9"; sha256 = "0hn6b2b16kiyzjmas9gx874bhn4x3ab114k2ixw32wcl3m61w749"; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.9"; sha256 = "1j6q7djp1jl2j2k6qvfik7gjqjljbkwj1y65zgh93v002xirfmja"; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.9"; sha256 = "0vxjbrsn2r1jgm12avln2xnlqs0ya593yh341g7qrq9awmaik93h"; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.9"; sha256 = "07sjawy0zpmsx0d26kfz7zw2a23z254sdd6psscypidl92cxhy3d"; }) - (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.9"; sha256 = "1ddsyh3bf99swsmb6m7cz1ilvlfqzqs8c1cfscpd9v8cabpgip8g"; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.9"; sha256 = "0q6kxvnrkzpcmby235h372axcy0wv3j9zlq64k1bhg92sh3za9w6"; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.9"; sha256 = "143rvsz6hw7fq5fvxflg0w8545gc20kcijd0qc3qilf0hcirn26q"; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.9"; sha256 = "0yrhmjrxdjymw70dqxpaivq9vvj4lvd16bxc8wm8w3nkw82my8f7"; }) - (fetchNuGet { pname = "AvaloniaEdit.TextMate"; version = "11.0.6"; sha256 = "075qh14h3v89f6vzgjq63p8zvnazfd12p5pzv0zs1l9dm0zmc2pd"; }) - (fetchNuGet { pname = "DynamicData"; version = "7.9.5"; sha256 = "1m9qx8g6na5ka6kd9vhg8gjmxrnkzb6v5cl5yqp1kdjsw4rcwy6x"; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0"; sha256 = "1rqcmdyzxz9kc0k8594hbpksjc23mkakmjybi4b8702qycxx0lrf"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0"; sha256 = "0i9gaiyjgmcpnfn1fixbxq8shqlh4ahng7j4dxlf38zlln1f6h80"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0"; sha256 = "1b5ng37bwk75cifw7p1hzn8z6sswi8h7h510qgwlbvgmlrs5r0ga"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0"; sha256 = "0dcmclnyryb82wzsky1dn0gbjsvx84mfx46v984f5fmg4v238lpm"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0"; sha256 = "1hyvmz7rfbrxbcpnwyvb64gdk1hifcpz3rln58yyb7g1pnbpnw2s"; }) - (fetchNuGet { pname = "MessagePack"; version = "2.5.129"; sha256 = "08bpg5v467zyx5ni8pj9x2nkqx3r2vbfdh7v72laii0707163fb2"; }) - (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.129"; sha256 = "1q0pprliqr8wrn09k8sa2p9l28q30rk6sl47vlazgwc678f96vg7"; }) - (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.6.3"; sha256 = "0g5jdg0jp844a2ygwlm04igsxkrihqcq2rpmfx722nrv3vrk0r0z"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "MQTTnet"; version = "4.3.3.952"; sha256 = "0a6g389vxia2k6lgnhk1x7vgns7da7hlqvj1z0f5av5qfk2377g3"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; }) - (fetchNuGet { pname = "ReactiveUI"; version = "18.3.1"; sha256 = "1lxkc8yk9glj0w9n5vry2dnwwvh8152ad2c5bivk8aciq64zidyn"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.7"; sha256 = "0f6wbk9dnjiffb9ycjachy1m9zw3pai2m503nym07qgb0izxm792"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.7"; sha256 = "0p0z6nxkkmabv46wmxhs3yr0xy24i6jzn54gk0hsm3h1a8vi3m21"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.7"; sha256 = "05xwa1izzvqz4gznvx2x31qnpvl1lc65hm5p9sscjg5afisya0ss"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.7"; sha256 = "1k2hfasgbv01navc55zzwdwzfxcw4186jni35c00zykgwhbwb250"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.7"; sha256 = "119mlbh5hmlis7vb111s95dwg5p1anm2hmv7cm6fz7gy18473d7v"; }) - (fetchNuGet { pname = "Splat"; version = "14.4.1"; sha256 = "03ycyjn2ii44npi015p4rk344xnjgdzz02cf63cmhx2ab8hv6p4b"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; sha256 = "08211lvckdsdbd67xz4f6cyk76cli565j0dby1grlc4k9bhwby65"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "7.0.0"; sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) - (fetchNuGet { pname = "TextMateSharp"; version = "1.0.56"; sha256 = "1nb0rlcgrdp05h952gwbbqp2kwgdvni7jmswdh263n4xnnvhmzdr"; }) - (fetchNuGet { pname = "TextMateSharp.Grammars"; version = "1.0.56"; sha256 = "1jzvhwx13dyg7iirk2c1m8h0dca8b0pki4yh0r8r89y4c1ighx98"; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; sha256 = "0d99kcs7r9cp6gpyc7z230czkkyx4164x86dhy0mca73f2ykc2g2"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Avalonia"; + version = "11.0.9"; + sha256 = "1km9642p9qbx8i14q94h65m96ywr9d54ilv5h0rdsdfidbpbmfhf"; + }) + (fetchNuGet { + pname = "Avalonia.Angle.Windows.Natives"; + version = "2.1.0.2023020321"; + sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; + }) + (fetchNuGet { + pname = "Avalonia.AvaloniaEdit"; + version = "11.0.6"; + sha256 = "1vma45sa5falrzmw23jzr3chhi7gllvxgkks379sd48a6p6acv6q"; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.29"; + sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.0.9"; + sha256 = "1ycc7jzlhyvy3ssw8pqb9da8qrv9wxwnffk060w7wbb00m90zjh3"; + }) + (fetchNuGet { + pname = "Avalonia.Controls.DataGrid"; + version = "11.0.9"; + sha256 = "1q58z54wl9sk4j17innm885fn776j9f381mhsmd0mzw0ybya3dys"; + }) + (fetchNuGet { + pname = "Avalonia.Desktop"; + version = "11.0.9"; + sha256 = "06mcb24grrikjqbgmvrry47hjyz9qcqz6az9lpmjlf9nrsf6h1yc"; + }) + (fetchNuGet { + pname = "Avalonia.Diagnostics"; + version = "11.0.9"; + sha256 = "19j6z5zq5k4sfgkak6y0nsq3i98jzyz9y87bw5nf1jbpa4ahv2dn"; + }) + (fetchNuGet { + pname = "Avalonia.Fonts.Inter"; + version = "11.0.9"; + sha256 = "1w56gyn5pbvv1j9mm5n9ga8zlfq515nzc6hdqfnsrgaxh6xxkxyb"; + }) + (fetchNuGet { + pname = "Avalonia.FreeDesktop"; + version = "11.0.9"; + sha256 = "0ws8gk8rc1h9axn55zm222axal3pbyjmsqvpgihzwfdjafk3qy2w"; + }) + (fetchNuGet { + pname = "Avalonia.Native"; + version = "11.0.9"; + sha256 = "0hn6b2b16kiyzjmas9gx874bhn4x3ab114k2ixw32wcl3m61w749"; + }) + (fetchNuGet { + pname = "Avalonia.ReactiveUI"; + version = "11.0.9"; + sha256 = "1j6q7djp1jl2j2k6qvfik7gjqjljbkwj1y65zgh93v002xirfmja"; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.0.9"; + sha256 = "0vxjbrsn2r1jgm12avln2xnlqs0ya593yh341g7qrq9awmaik93h"; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.9"; + sha256 = "07sjawy0zpmsx0d26kfz7zw2a23z254sdd6psscypidl92cxhy3d"; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Fluent"; + version = "11.0.9"; + sha256 = "1ddsyh3bf99swsmb6m7cz1ilvlfqzqs8c1cfscpd9v8cabpgip8g"; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Simple"; + version = "11.0.9"; + sha256 = "0q6kxvnrkzpcmby235h372axcy0wv3j9zlq64k1bhg92sh3za9w6"; + }) + (fetchNuGet { + pname = "Avalonia.Win32"; + version = "11.0.9"; + sha256 = "143rvsz6hw7fq5fvxflg0w8545gc20kcijd0qc3qilf0hcirn26q"; + }) + (fetchNuGet { + pname = "Avalonia.X11"; + version = "11.0.9"; + sha256 = "0yrhmjrxdjymw70dqxpaivq9vvj4lvd16bxc8wm8w3nkw82my8f7"; + }) + (fetchNuGet { + pname = "AvaloniaEdit.TextMate"; + version = "11.0.6"; + sha256 = "075qh14h3v89f6vzgjq63p8zvnazfd12p5pzv0zs1l9dm0zmc2pd"; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "7.9.5"; + sha256 = "1m9qx8g6na5ka6kd9vhg8gjmxrnkzb6v5cl5yqp1kdjsw4rcwy6x"; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "7.3.0"; + sha256 = "1rqcmdyzxz9kc0k8594hbpksjc23mkakmjybi4b8702qycxx0lrf"; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "7.3.0"; + sha256 = "0i9gaiyjgmcpnfn1fixbxq8shqlh4ahng7j4dxlf38zlln1f6h80"; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "7.3.0"; + sha256 = "1b5ng37bwk75cifw7p1hzn8z6sswi8h7h510qgwlbvgmlrs5r0ga"; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "7.3.0"; + sha256 = "0dcmclnyryb82wzsky1dn0gbjsvx84mfx46v984f5fmg4v238lpm"; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "7.3.0"; + sha256 = "1hyvmz7rfbrxbcpnwyvb64gdk1hifcpz3rln58yyb7g1pnbpnw2s"; + }) + (fetchNuGet { + pname = "MessagePack"; + version = "2.5.129"; + sha256 = "08bpg5v467zyx5ni8pj9x2nkqx3r2vbfdh7v72laii0707163fb2"; + }) + (fetchNuGet { + pname = "MessagePack.Annotations"; + version = "2.5.129"; + sha256 = "1q0pprliqr8wrn09k8sa2p9l28q30rk6sl47vlazgwc678f96vg7"; + }) + (fetchNuGet { + pname = "MicroCom.Runtime"; + version = "0.11.0"; + sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.0.0"; + sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "3.8.0"; + sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "3.8.0"; + sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; + version = "3.8.0"; + sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Scripting.Common"; + version = "3.8.0"; + sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.3.0"; + sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "7.0.0"; + sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "7.0.0"; + sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.6.3"; + sha256 = "0g5jdg0jp844a2ygwlm04igsxkrihqcq2rpmfx722nrv3vrk0r0z"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.2"; + sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "MQTTnet"; + version = "4.3.3.952"; + sha256 = "0a6g389vxia2k6lgnhk1x7vgns7da7hlqvj1z0f5av5qfk2377g3"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "18.3.1"; + sha256 = "1lxkc8yk9glj0w9n5vry2dnwwvh8152ad2c5bivk8aciq64zidyn"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.7"; + sha256 = "0f6wbk9dnjiffb9ycjachy1m9zw3pai2m503nym07qgb0izxm792"; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.7"; + sha256 = "0p0z6nxkkmabv46wmxhs3yr0xy24i6jzn54gk0hsm3h1a8vi3m21"; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.7"; + sha256 = "05xwa1izzvqz4gznvx2x31qnpvl1lc65hm5p9sscjg5afisya0ss"; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.7"; + sha256 = "1k2hfasgbv01navc55zzwdwzfxcw4186jni35c00zykgwhbwb250"; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.7"; + sha256 = "119mlbh5hmlis7vb111s95dwg5p1anm2hmv7cm6fz7gy18473d7v"; + }) + (fetchNuGet { + pname = "Splat"; + version = "14.4.1"; + sha256 = "03ycyjn2ii44npi015p4rk344xnjgdzz02cf63cmhx2ab8hv6p4b"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.5.0"; + sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.0"; + sha256 = "08211lvckdsdbd67xz4f6cyk76cli565j0dby1grlc4k9bhwby65"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "5.0.0"; + sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.1"; + sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "7.0.0"; + sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "7.0.0"; + sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; + }) + (fetchNuGet { + pname = "TextMateSharp"; + version = "1.0.56"; + sha256 = "1nb0rlcgrdp05h952gwbbqp2kwgdvni7jmswdh263n4xnnvhmzdr"; + }) + (fetchNuGet { + pname = "TextMateSharp.Grammars"; + version = "1.0.56"; + sha256 = "1jzvhwx13dyg7iirk2c1m8h0dca8b0pki4yh0r8r89y4c1ighx98"; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.15.0"; + sha256 = "0d99kcs7r9cp6gpyc7z230czkkyx4164x86dhy0mca73f2ykc2g2"; + }) ] diff --git a/pkgs/by-name/mq/mqttmultimeter/package.nix b/pkgs/by-name/mq/mqttmultimeter/package.nix index 191bc642d7c71..411057bfe8c0a 100644 --- a/pkgs/by-name/mq/mqttmultimeter/package.nix +++ b/pkgs/by-name/mq/mqttmultimeter/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, dotnetCorePackages -, dotnet-runtime_8 -, buildDotnetModule -, fetchFromGitHub -, libglvnd -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + dotnetCorePackages, + dotnet-runtime_8, + buildDotnetModule, + fetchFromGitHub, + libglvnd, + makeDesktopItem, + copyDesktopItems, }: buildDotnetModule rec { diff --git a/pkgs/by-name/mq/mqttx/package.nix b/pkgs/by-name/mq/mqttx/package.nix index 1e36ad57ab41e..838d8aedf3748 100644 --- a/pkgs/by-name/mq/mqttx/package.nix +++ b/pkgs/by-name/mq/mqttx/package.nix @@ -1,15 +1,18 @@ -{ lib -, stdenv -, fetchurl -, appimageTools -, imagemagick +{ + lib, + stdenv, + fetchurl, + appimageTools, + imagemagick, }: let pname = "mqttx"; version = "1.10.1"; - suffixedUrl = suffix: "https://github.com/emqx/MQTTX/releases/download/v${version}/MQTTX-${version}${suffix}.AppImage"; + suffixedUrl = + suffix: + "https://github.com/emqx/MQTTX/releases/download/v${version}/MQTTX-${version}${suffix}.AppImage"; sources = { "aarch64-linux" = fetchurl { url = suffixedUrl "-arm64"; @@ -21,8 +24,9 @@ let }; }; - src = sources.${stdenv.hostPlatform.system} - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + sources.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); appimageContents = appimageTools.extractType2 { inherit pname version src; diff --git a/pkgs/by-name/mr/mr/package.nix b/pkgs/by-name/mr/mr/package.nix index 4ff6c6733e6f2..1f053b243e828 100644 --- a/pkgs/by-name/mr/mr/package.nix +++ b/pkgs/by-name/mr/mr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, perl }: +{ + lib, + stdenv, + fetchgit, + perl, +}: stdenv.mkDerivation { pname = "mr"; diff --git a/pkgs/by-name/mr/mrbayes/package.nix b/pkgs/by-name/mr/mrbayes/package.nix index 88b402712016b..b8c899d0bd3ef 100644 --- a/pkgs/by-name/mr/mrbayes/package.nix +++ b/pkgs/by-name/mr/mrbayes/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "mrbayes"; diff --git a/pkgs/by-name/mr/mrkd/package.nix b/pkgs/by-name/mr/mrkd/package.nix index 1c223861b4869..8193766f02f11 100644 --- a/pkgs/by-name/mr/mrkd/package.nix +++ b/pkgs/by-name/mr/mrkd/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let @@ -23,7 +24,8 @@ let }); }; }; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "mrkd"; version = "0.2.0"; diff --git a/pkgs/by-name/mr/mro-unicode/package.nix b/pkgs/by-name/mr/mro-unicode/package.nix index 9a522c1c2a362..8c613e11e84c6 100644 --- a/pkgs/by-name/mr/mro-unicode/package.nix +++ b/pkgs/by-name/mr/mro-unicode/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation { pname = "mro-unicode"; diff --git a/pkgs/by-name/mr/mrpeach/package.nix b/pkgs/by-name/mr/mrpeach/package.nix index e11c5cd00a186..2fa63b5da8ad6 100644 --- a/pkgs/by-name/mr/mrpeach/package.nix +++ b/pkgs/by-name/mr/mrpeach/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, puredata }: +{ + lib, + stdenv, + fetchurl, + puredata, +}: stdenv.mkDerivation { pname = "mrpeach"; diff --git a/pkgs/by-name/mr/mrsh/package.nix b/pkgs/by-name/mr/mrsh/package.nix index bff6956e97bd1..b8363b117b142 100644 --- a/pkgs/by-name/mr/mrsh/package.nix +++ b/pkgs/by-name/mr/mrsh/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + readline, +}: stdenv.mkDerivation rec { pname = "mrsh-unstable"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ readline ]; doCheck = true; diff --git a/pkgs/by-name/mr/mrtg/package.nix b/pkgs/by-name/mr/mrtg/package.nix index 69219010ac20d..9c5e89f7bd74b 100644 --- a/pkgs/by-name/mr/mrtg/package.nix +++ b/pkgs/by-name/mr/mrtg/package.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchurl, perl, gd, rrdtool }: +{ + lib, + stdenv, + fetchurl, + perl, + gd, + rrdtool, +}: let - perlWithPkgs = perl.withPackages (pp: with pp;[ - Socket6 - IOSocketINET6 - ]); + perlWithPkgs = perl.withPackages ( + pp: with pp; [ + Socket6 + IOSocketINET6 + ] + ); in stdenv.mkDerivation rec { pname = "mrtg"; diff --git a/pkgs/by-name/mr/mruby/package.nix b/pkgs/by-name/mr/mruby/package.nix index 0fc1af2d6676d..c0d78848697a1 100644 --- a/pkgs/by-name/mr/mruby/package.nix +++ b/pkgs/by-name/mr/mruby/package.nix @@ -1,14 +1,21 @@ -{ lib, stdenv, ruby, rake, fetchFromGitHub, testers }: +{ + lib, + stdenv, + ruby, + rake, + fetchFromGitHub, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "mruby"; version = "3.3.0"; src = fetchFromGitHub { - owner = "mruby"; - repo = "mruby"; - rev = finalAttrs.version; - sha256 = "sha256-rCoEC1ioX6bOocPoPi+Lsn4PM8gY0DjKja1/MJvJ1n8="; + owner = "mruby"; + repo = "mruby"; + rev = finalAttrs.version; + sha256 = "sha256-rCoEC1ioX6bOocPoPi+Lsn4PM8gY0DjKja1/MJvJ1n8="; }; nativeBuildInputs = [ rake ]; diff --git a/pkgs/by-name/mr/mrxvt/package.nix b/pkgs/by-name/mr/mrxvt/package.nix index 83bac2343b97f..39ee43c80f9c9 100644 --- a/pkgs/by-name/mr/mrxvt/package.nix +++ b/pkgs/by-name/mr/mrxvt/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, libX11 -, libXft -, libXi -, xorgproto -, libSM -, libICE -, freetype -, pkg-config -, which -, nixosTests +{ + lib, + stdenv, + fetchurl, + libX11, + libXft, + libXi, + xorgproto, + libSM, + libICE, + freetype, + pkg-config, + which, + nixosTests, }: stdenv.mkDerivation rec { @@ -23,7 +24,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXft libXi xorgproto libSM libICE freetype which ]; + buildInputs = [ + libX11 + libXft + libXi + xorgproto + libSM + libICE + freetype + which + ]; configureFlags = [ "--with-x" diff --git a/pkgs/by-name/ms/ms-sys/package.nix b/pkgs/by-name/ms/ms-sys/package.nix index 203654f3e6b76..482f7602a40d3 100644 --- a/pkgs/by-name/ms/ms-sys/package.nix +++ b/pkgs/by-name/ms/ms-sys/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gettext }: +{ + lib, + stdenv, + fetchurl, + gettext, +}: stdenv.mkDerivation rec { pname = "ms-sys"; diff --git a/pkgs/by-name/ms/msalsdk-dbusclient/package.nix b/pkgs/by-name/ms/msalsdk-dbusclient/package.nix index 5fd09f0035f8d..c38bbf685b418 100644 --- a/pkgs/by-name/ms/msalsdk-dbusclient/package.nix +++ b/pkgs/by-name/ms/msalsdk-dbusclient/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, dpkg -, sdbus-cpp +{ + stdenv, + lib, + fetchurl, + dpkg, + sdbus-cpp, }: stdenv.mkDerivation rec { pname = "msalsdk-dbusclient"; @@ -20,7 +21,12 @@ stdenv.mkDerivation rec { mkdir -p $out/lib install -m 755 usr/lib/libmsal_dbus_client.so $out/lib/ - patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc sdbus-cpp ]} $out/lib/libmsal_dbus_client.so + patchelf --set-rpath ${ + lib.makeLibraryPath [ + stdenv.cc.cc + sdbus-cpp + ] + } $out/lib/libmsal_dbus_client.so runHook postInstall ''; diff --git a/pkgs/by-name/ms/msat/package.nix b/pkgs/by-name/ms/msat/package.nix index 3c27493baff87..dad2277800576 100644 --- a/pkgs/by-name/ms/msat/package.nix +++ b/pkgs/by-name/ms/msat/package.nix @@ -1,11 +1,16 @@ { ocamlPackages }: -with ocamlPackages; buildDunePackage { +with ocamlPackages; +buildDunePackage { pname = "msat-bin"; inherit (msat) version src; - buildInputs = [ camlzip containers msat ]; + buildInputs = [ + camlzip + containers + msat + ]; meta = msat.meta // { description = "SAT solver binary based on the msat library"; diff --git a/pkgs/by-name/ms/msbuild/deps.nix b/pkgs/by-name/ms/msbuild/deps.nix index e7d1d362a1c55..d5838fbeb4b55 100644 --- a/pkgs/by-name/ms/msbuild/deps.nix +++ b/pkgs/by-name/ms/msbuild/deps.nix @@ -1,235 +1,1386 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "BenchmarkDotNet"; version = "0.12.1"; hash = "sha256-vISVlxTg4nhyRd1Jw+EwzGK7jabO+dQYnBScDVRAE3I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet/0.12.1/benchmarkdotnet.0.12.1.nupkg"; }) - (fetchNuGet { pname = "BenchmarkDotNet.Annotations"; version = "0.12.1"; hash = "sha256-g1M3JNIgAsL1g7oEISRf5mMsYkO2uJfWBkglc9tHOxg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet.annotations/0.12.1/benchmarkdotnet.annotations.0.12.1.nupkg"; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.4.3"; hash = "sha256-pTyYP26uXXLe6ejCb/yVYpb23ad/Dkl2Ka8NWwQeiqk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/commandlineparser/2.4.3/commandlineparser.2.4.3.nupkg"; }) - (fetchNuGet { pname = "FSharp.NET.Sdk"; version = "1.0.4-bundled-0100"; hash = "sha256-6FC2zLqwF0bydu8d2uiH1McIy0af/NrZ//hf4xdvHho="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/fsharp.net.sdk/1.0.4-bundled-0100/fsharp.net.sdk.1.0.4-bundled-0100.nupkg"; }) - (fetchNuGet { pname = "Iced"; version = "1.4.0"; hash = "sha256-yQ7xTIeuZCo5WotGbkWuw7/hyAf/6sukdtuURRkQFNE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/iced/1.4.0/iced.1.4.0.nupkg"; }) - (fetchNuGet { pname = "ILLink.Tasks"; version = "0.1.6-prerelease.20175.2"; hash = "sha256-/yDCjUVz3RstltoUDOcYEwNyGeLWAviiG7YUURGZjmg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/7d9f5c21-0d79-403f-bfe3-9a4506529760/nuget/v3/flat2/illink.tasks/0.1.6-prerelease.20175.2/illink.tasks.0.1.6-prerelease.20175.2.nupkg"; }) - (fetchNuGet { pname = "jnm2.ReferenceAssemblies.net35"; version = "1.0.1"; hash = "sha256-7Kgh/lQW1wxa76vecVxmG/8JNBvMz766lxazyL+mt4E="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/jnm2.referenceassemblies.net35/1.0.1/jnm2.referenceassemblies.net35.1.0.1.nupkg"; }) - (fetchNuGet { pname = "LargeAddressAware"; version = "1.0.5"; hash = "sha256-IQnTkOHBsic3HDa7TwfQtwwbowHG/iWQd6tkPuqAUkM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/largeaddressaware/1.0.5/largeaddressaware.1.0.5.nupkg"; }) - (fetchNuGet { pname = "MicroBuild.Core"; version = "0.2.0"; hash = "sha256-JIVBO1hWtK955RmtghoXqn6S9rb2G69Id92vqWUhmmA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microbuild.core/0.2.0/microbuild.core.0.2.0.nupkg"; }) - (fetchNuGet { pname = "MicroBuild.Core.Sentinel"; version = "1.0.0"; hash = "sha256-Efk2JFokIgDHw8G3sSsBs2990adCCItAoPiq6UrHsww="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; hash = "sha256-QYVojfqSZKbF8P6D/aacfxfumMaRUD9SEEQbzw73Bbc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build"; version = "14.3.0"; hash = "sha256-P4NszYl1VU6+2hWB64Y7Jy1mw/HA0kul5iD2ju6wVf0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/14.3.0/microsoft.build.14.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.CentralPackageVersions"; version = "2.0.1"; hash = "sha256-sxSrG4+xzZVP2YtJYYCpHGa0pCAPmZCQRhilJaSKkp0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.centralpackageversions/2.0.1/microsoft.build.centralpackageversions.2.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "14.3.0"; hash = "sha256-zSmVu5u/oec5XVHsbwviR5joITIC5uZGWXfk1U4M/mQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/14.3.0/microsoft.build.framework.14.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "15.5.180"; hash = "sha256-XyTJ3tn+vOc5rH4Pux1MjswRia6ei5bqTX3GEI4anhg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/15.5.180/microsoft.build.framework.15.5.180.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.NuGetSdkResolver"; version = "5.9.1-rc.8"; hash = "sha256-DaH2rPBY32UWK1M2odPiRVF/NnmrrnvBtxTnI6ia/bU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.nugetsdkresolver/5.9.1-rc.8/microsoft.build.nugetsdkresolver.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.1.0-beta-20206-02"; hash = "sha256-nbFnPIifuevbeOCkPuCirofjqDLi+CnxYUXvSfGGlL8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "14.3.0"; hash = "sha256-awZNRydsILpI8xtA/zI8WbHTDuQcq220nt+K0K22oQw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/14.3.0/microsoft.build.utilities.core.14.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "15.5.180"; hash = "sha256-YJiW2bLfrkOFvQ8toWDGyPodrmjlIkshWyixhxWUizA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/15.5.180/microsoft.build.utilities.core.15.5.180.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.6.1"; hash = "sha256-1+FV3KvwerZsknecHZhdDACsPKaWrbQQeN27BAcZk94="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/2.6.1/microsoft.codeanalysis.analyzers.2.6.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Build.Tasks"; version = "3.9.0-5.21112.8"; hash = "sha256-h1UrpcVKxFQkmX4bHrsZGlJ2wB5X+dwREtiHu++sm6M="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.build.tasks/3.9.0-5.21112.8/microsoft.codeanalysis.build.tasks.3.9.0-5.21112.8.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "2.10.0"; hash = "sha256-UikMFW/dcSiKfsUqnn2hvguLJN7gw1e01WpWmHEHydA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/2.10.0/microsoft.codeanalysis.common.2.10.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "2.10.0"; hash = "sha256-szdSweIavn5BBPZgM8uE4j1WrvTfMqF/4yqzgLJeSmk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.csharp/2.10.0/microsoft.codeanalysis.csharp.2.10.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.6.1"; hash = "sha256-NI+9eizIs3mrCNAw058DZvRzxpCAdoL3SKth6iypzgU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codecoverage/16.6.1/microsoft.codecoverage.16.6.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.61701"; hash = "sha256-ITNO2LJYyWhYs3A/iqfoaW6ddvkuuBVXQ5YSKQ8wgcU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.netcore.client/0.2.61701/microsoft.diagnostics.netcore.client.0.2.61701.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.Runtime"; version = "1.1.57604"; hash = "sha256-Ubu6a+qKwstY6v7Oywg1izAwgLZOnvv5ZjcmOJ5+qb4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.runtime/1.1.57604/microsoft.diagnostics.runtime.1.1.57604.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; version = "2.0.49"; hash = "sha256-SUkXJTeA+Ctk+MlxY5QAThL6d+mBIz+gKJ0RlShKnCM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.tracing.traceevent/2.0.49/microsoft.diagnostics.tracing.traceevent.2.0.49.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.Arcade.Sdk"; version = "5.0.0-beta.21226.1"; hash = "sha256-g0R3wc9SZryUvgu5fB5WwyLEcQsPYbrqa4qylNpn97Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/5.0.0-beta.21226.1/microsoft.dotnet.arcade.sdk.5.0.0-beta.21226.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.MSBuildSdkResolver"; version = "5.0.300-servicing.21267.11"; hash = "sha256-5S7nvtosI97MPWxHaxBManc70Dp1e9Ycbta9C6cS78k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2/microsoft.dotnet.msbuildsdkresolver/5.0.300-servicing.21267.11/microsoft.dotnet.msbuildsdkresolver.5.0.300-servicing.21267.11.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "2.1.0"; hash = "sha256-vrZhYp94SjycUMGaVYCFWJ4p7KBKfqVyLWtIG73fzeM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.dotnet.platformabstractions/2.1.0/microsoft.dotnet.platformabstractions.2.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.SignTool"; version = "5.0.0-beta.21226.1"; hash = "sha256-cr0QbHmpSj7zhg3y0bMudugkInppcdSlDTHFYRExo8k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.signtool/5.0.0-beta.21226.1/microsoft.dotnet.signtool.5.0.0-beta.21226.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Build.Extensions"; version = "3.1.400-preview.20365.20"; hash = "sha256-pUGvWPLzNQEIDhdCbkv+qnU1e9QS477moiFree6RrO4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.build.extensions/3.1.400-preview.20365.20/microsoft.net.build.extensions.3.1.400-preview.20365.20.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Net.Compilers.Toolset"; version = "3.9.0-5.21112.8"; hash = "sha256-MDxQi3QVFfvA5bcOblCm/ypHSe6WqpGb0ZD65NXrLLc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.compilers.toolset/3.9.0-5.21112.8/microsoft.net.compilers.toolset.3.9.0-5.21112.8.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Sdk"; version = "3.1.400-preview.20365.20"; hash = "sha256-XiBnkAuLbDXE3qNKswDW5bJ+2/lOTM0Jotwwq7OxVgk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk/3.1.400-preview.20365.20/microsoft.net.sdk.3.1.400-preview.20365.20.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Sdk.Publish"; version = "3.1.300-servicing.20216.7"; hash = "sha256-gVym+TG4pekotsouOrEup8dkYYLPFeNIqzN/cWHEO/Y="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.publish/3.1.300-servicing.20216.7/microsoft.net.sdk.publish.3.1.300-servicing.20216.7.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Sdk.Razor"; version = "3.1.6"; hash = "sha256-KqYNpuT8B01liMwZLBLZoLucTt3uVYR3zE4UTEH8gO8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.sdk.razor/3.1.6/microsoft.net.sdk.razor.3.1.6.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Sdk.Web"; version = "3.1.300-servicing.20216.7"; hash = "sha256-oWSmOGSjhfiRXcJYRKQK0GuBfgkpxlZ6WRtwzqNoMgA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web/3.1.300-servicing.20216.7/microsoft.net.sdk.web.3.1.300-servicing.20216.7.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Sdk.Web.ProjectSystem"; version = "3.1.300-servicing.20216.7"; hash = "sha256-VE0CiduLOC3KT0D4pqaWGrSSzF6rvd6dQhAFanqsARg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web.projectsystem/3.1.300-servicing.20216.7/microsoft.net.sdk.web.projectsystem.3.1.300-servicing.20216.7.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.6.1"; hash = "sha256-G9Z/50Ycr4GxkyxV+a04JzOaAuvDEXO+2NcwiQx5TUo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.test.sdk/16.6.1/microsoft.net.test.sdk.16.6.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.0"; hash = "sha256-6faPQ4jaFY3OGGVk3lZKW+DEZaIOBZ/wHqbiDTsRR1k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net45"; version = "1.0.0"; hash = "sha256-m5521kl7/G0DKFKOtQ9fzIhqPrpPR82r099m+UF06sY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net45/1.0.0/microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.0"; hash = "sha256-LI/XnqGb0Dzs5A7ZK3uv3gJPh8c6vOvj7/jabgW2Ea8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.AzureRepos.Git"; version = "1.1.0-beta-20206-02"; hash = "sha256-xbwMpGdH9cr6ssddH10lg64jCR465IdDubb80RCUDgI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.1.0-beta-20206-02"; hash = "sha256-KdM3dDkuDQNUQyaBVyEyCCwnp/pZxMnYDXLsfhWYYOM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.1.0-beta-20206-02"; hash = "sha256-akWBI51ohB5mUp8ADBgukUsgwfMR3yR2sX93PqV8NWA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SymbolUploader.Build.Task"; version = "1.1.145102"; hash = "sha256-ou58zD57BfjtpalXM8Pced3l2MF7/4VmsOLOIR8Drdo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.symboluploader.build.task/1.1.145102/microsoft.symboluploader.build.task.1.1.145102.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.SDK.EmbedInteropTypes"; version = "15.0.15"; hash = "sha256-7VYeONedZMDjHQiO9gl09WPI4iNdx9Q841ax/6keGTI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15/microsoft.visualstudio.sdk.embedinteroptypes.15.0.15.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "1.16.30"; hash = "sha256-5IGlN0Nmp6887dxLgV0O3eFbXtertrU2xaztAToVApA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Web.Xdt"; version = "3.0.0"; hash = "sha256-FhFSzVbgttYCtrqUcIVFN2VKGEz1J5DI8IzRB4FzcaE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.web.xdt/3.0.0/microsoft.web.xdt.3.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; hash = "sha256-B4t5El/ViBdxALMcpZulewc4j/3SIXf71HhJWhm4Ctk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.5.0/microsoft.win32.registry.4.5.0.nupkg"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.1"; hash = "sha256-lbR7rpS/EXgJ8TqQspuIIqAsiorrZb1oOK4HFw+QyPw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/11.0.1/newtonsoft.json.11.0.1.nupkg"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; hash = "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg"; }) - (fetchNuGet { pname = "NuGet.Build.Tasks"; version = "5.9.1-rc.8"; hash = "sha256-5awutMHe2p6BwEFHqzA4mwK6l0y2dgkOXb/iNwpsIBg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks/5.9.1-rc.8/nuget.build.tasks.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Build.Tasks.Pack"; version = "5.9.1-rc.8"; hash = "sha256-kgrhybexqM5jKBY9/kKZeGWl3gsmjBzRD+fvYsJuE4M="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks.pack/5.9.1-rc.8/nuget.build.tasks.pack.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.CommandLine"; version = "4.1.0"; hash = "sha256-QZPkNpa3+jClzVUikLkuZH2PEn2sdJdU520f2lgGMw4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.commandline/4.1.0/nuget.commandline.4.1.0.nupkg"; }) - (fetchNuGet { pname = "NuGet.Commands"; version = "5.9.1-rc.8"; hash = "sha256-mXIMDyviqUklhu+Kn3YybAJDWBKcaCy5oRzn2T6Lv2U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.commands/5.9.1-rc.8/nuget.commands.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Common"; version = "5.9.1-rc.8"; hash = "sha256-jCjfnYCpwZOXI8EpUNiNiymiwf/YaMGw+GbG7QgMyxQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/5.9.1-rc.8/nuget.common.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Configuration"; version = "5.9.1-rc.8"; hash = "sha256-c0/Bwx37fVCbVBWa0E0qkW2CJsmsoxSDm+Y6DdyLG3U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/5.9.1-rc.8/nuget.configuration.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Credentials"; version = "5.9.1-rc.8"; hash = "sha256-27DsdfUd3o0FqlzXkeLc1Ubj0Uls7aP9CTe7TP7TG4k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.credentials/5.9.1-rc.8/nuget.credentials.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "5.9.1-rc.8"; hash = "sha256-7I1/82CJt8n2ohyvfEtCo9BvMRVPCXTJckaNH/RJKuE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/5.9.1-rc.8/nuget.dependencyresolver.core.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.9.1-rc.8"; hash = "sha256-O8JyP+V5HnLPR5JiwPX7tSCyxlYCHvl4I9ino226ddg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/5.9.1-rc.8/nuget.frameworks.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.LibraryModel"; version = "5.9.1-rc.8"; hash = "sha256-m+yi3s1QU0K8qWlulQ7t8VYjMFeWFqQmeoyTxIQgyGs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/5.9.1-rc.8/nuget.librarymodel.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.PackageManagement"; version = "5.9.1-rc.8"; hash = "sha256-75IKTQQyaeBTW8wE8w2vOaPGRC+r3JuS9R06ODBunVU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packagemanagement/5.9.1-rc.8/nuget.packagemanagement.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Packaging"; version = "5.9.1-rc.8"; hash = "sha256-G2aab7v/ko3hOFIrs+FWRXaiHELKtvi6qMbaQM4eLHU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/5.9.1-rc.8/nuget.packaging.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.ProjectModel"; version = "5.9.1-rc.8"; hash = "sha256-+444VKy9NvmzFCV8Y7RlIu5kOOVDutkOm/YYwnU8UPY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/5.9.1-rc.8/nuget.projectmodel.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Protocol"; version = "5.9.1-rc.8"; hash = "sha256-+DeBsU6oiK84o3vWvYMJMNTs9oQN+EUafxDiyNTv2eY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/5.9.1-rc.8/nuget.protocol.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Resolver"; version = "5.9.1-rc.8"; hash = "sha256-m5hBLEceBDELGo2Bur8iySpvKP/zV8ytPz650sDDzWA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.resolver/5.9.1-rc.8/nuget.resolver.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "NuGet.Versioning"; version = "5.9.1-rc.8"; hash = "sha256-e5u1mlhopshnwPbVoDh6hSwXLxzSVLl1FlPTKET4Z+8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/5.9.1-rc.8/nuget.versioning.5.9.1-rc.8.nupkg"; }) - (fetchNuGet { pname = "Perfolizer"; version = "0.2.1"; hash = "sha256-nllshKuHU+1jSBfcTz8BTJTGr1TeCFvxjM4OPyLGSgQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/perfolizer/0.2.1/perfolizer.0.2.1.nupkg"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; hash = "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "Shouldly"; version = "3.0.0"; hash = "sha256-g9MPlQooO7NsDy92Tjss25yVvliU6VN6JohOlBBH4sE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/shouldly/3.0.0/shouldly.3.0.0.nupkg"; }) - (fetchNuGet { pname = "sn"; version = "1.0.0"; hash = "sha256-GoeLcHlpQEKLuGdd1e7D1oprNBkEGrRLGQJvwxpzIoA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/sn/1.0.0/sn.1.0.0.nupkg"; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; hash = "sha256-v6YfyfrKmhww+EYHUq6cwYUMj00MQ6SOfJtcGVRlYzs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.3.0/system.buffers.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; hash = "sha256-KTxAhYawFG2V5VX1jw3pzx3IrQXRgn1TsvgjPgxAbqA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.4.0/system.buffers.4.4.0.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; hash = "sha256-THw2znu+KibfJRfD7cE3nRYHsm7Fyn5pjOOZVonFjvs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.0/system.buffers.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.2.0"; hash = "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; hash = "sha256-BliqYlL9ntbMXo5d7NUrKXwYN+PqdyqDIS5bp4qVr7Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.0.1"; hash = "sha256-jdCVXmGOsJ+2F0xAagCkiMZ91SGAm9iOhO2u4ksmKaU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.7.0"; hash = "sha256-rYjp/UmagI4ZULU1ocia/AiXxLNL8uhMV8LBF4QFW10="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/4.7.0/system.configuration.configurationmanager.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Console"; version = "4.0.0"; hash = "sha256-jtZfT/TpJtLisV/y5Mk3IfCpE79zwhBYXtyGP9jC3Xo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.0.0/system.console.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.3.0/system.console.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; hash = "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.FileVersionInfo"; version = "4.3.0"; hash = "sha256-JyqOf5/lsUNLMpIqK8XffcFTxB6vHWzGWHssmojokCQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.fileversioninfo/4.3.0/system.diagnostics.fileversioninfo.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.1.0"; hash = "sha256-OgW6ogQ+oYADYS0PHmwXdhrOKQJpqXlwzSvmfjTLNBg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.StackTrace"; version = "4.3.0"; hash = "sha256-Tfq7F61N0VfujVyI5A9MZvyWewQ5HepB1f1UMBMkUCs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.stacktrace/4.3.0/system.diagnostics.stacktrace.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.0.0"; hash = "sha256-cCjdPU7ow91HGf1hBIOLJMQGO6pNmF+N+5/Z38XJh9U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Management"; version = "4.5.0"; hash = "sha256-mcsEl3a95O3oPO260hL3lpiaYaJhFPoWSbEHYYfo5ac="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/4.5.0/system.management.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.3/system.memory.4.5.3.nupkg"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.http/4.3.0/system.net.http.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg"; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.1.1"; hash = "sha256-OaE+ZcEfkpIkbdMOMAMiJa9vgiVP25FGuFrf+N/mafY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.Extensions"; version = "4.6.0"; hash = "sha256-ErAPQRTkjRsica+h1mAFxMZbE4RrR9nH0/VB9mSCzEY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.Reader"; version = "4.0.0"; hash = "sha256-NOax26EYc/L4bfedL2a33fg4sFXVkBwzVTQ41saJTsk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; hash = "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.1.1"; hash = "sha256-Mx/8hiqvp1E4I6ysJC3U8D2B9qhRQcVvEOivV6w65IQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.7.0"; hash = "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.7.0/system.security.accesscontrol.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "4.7.0"; hash = "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/4.7.0/system.security.permissions.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; hash = "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; hash = "sha256-wxtwWQSTv5tuFP79KhUAhaL6bL4d8lSzSWkCn9aolwM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.3.0"; hash = "sha256-ezYVwe9atRkREc8O/HT/VfGDE2vuCpIckOfdY194/VE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.3.0/system.text.encoding.codepages.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.7.0"; hash = "sha256-w3KhanXU1v+0uWZuLECd1oChvYeUrGhN5blk5WBco2k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "4.7.0"; hash = "sha256-ubmcBH9pNdILnROdpGfnfo90WijLE6bUbKUypn3u4zo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/4.7.0/system.text.json.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.9.0"; hash = "sha256-ZTZBJTrP5kzO38ec9lPxuNUYgEoeGNdQ8hF98uRN2rw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.2"; hash = "sha256-EqJF9TppMHTKvpR6emrdA61zalMW3HwrZ7j6Bn4bBuo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Parallel"; version = "4.0.1"; hash = "sha256-5VyRZ97Fug4reK/cQ6wsCrJ5jH53aGu1a4ZkKMZrnIQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.0.1/system.threading.tasks.parallel.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Parallel"; version = "4.3.0"; hash = "sha256-8H2vRmsn29MNfMmCeIL5vHfbM19jWaLDKNLzDonCI+c="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.3.0/system.threading.tasks.parallel.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; hash = "sha256-7EtSJuKqcW107FYA5Ko9NFXEWUPIzNDtlfKaQV2pvb8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; hash = "sha256-5lU6zt1O9JDSPr2KAHw4BYgysHnt0yyZrMNa5IIjxZY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.0.1"; hash = "sha256-gdoFrPo54v1LjkBF79f8EvtltVVjHz9ZI9kc5ve0GkY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.3.0/system.xml.xmldocument.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.0.11"; hash = "sha256-v6x4d6W18dijG5cDqQmVHdtWRf6Y4OkdBolT3d5g3wY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Xml.XPath"; version = "4.3.0"; hash = "sha256-kd1JMqj6obhxzEPRJeYvcUyJqkOs/9A0UOQccC6oYrM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Xml.XPath.XDocument"; version = "4.3.0"; hash = "sha256-dqk4CWuwocj5qsUAYlS+XAe6GGcY/N/HIPEGe5afrPM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath.xdocument/4.3.0/system.xml.xpath.xdocument.4.3.0.nupkg"; }) - (fetchNuGet { pname = "vswhere"; version = "2.6.7"; hash = "sha256-kzMH9TNexExGSutkXHIWpydXgjlbd+L+H8Oca1Isk0A="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/vswhere/2.6.7/vswhere.2.6.7.nupkg"; }) - (fetchNuGet { pname = "XliffTasks"; version = "1.0.0-beta.20502.2"; hash = "sha256-ICnkCRBS+hsuFtwNPS7ux2ZQAttaAgCX/HTBzp5qY54="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/xlifftasks/1.0.0-beta.20502.2/xlifftasks.1.0.0-beta.20502.2.nupkg"; }) - (fetchNuGet { pname = "xunit"; version = "2.4.1"; hash = "sha256-QGDuE0ZnsxyEJONP8GcJ80PmPeb+OawwdSW8y72aw3U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit/2.4.1/xunit.2.4.1.nupkg"; }) - (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; hash = "sha256-0D1y/C34iARI96gb3bAOG8tcGPMjx+fMabTPpydGlAM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg"; }) - (fetchNuGet { pname = "xunit.analyzers"; version = "0.10.0"; hash = "sha256-8lRZhogXHYksa9ChnkFXpBnTMlLlYIvu3Av7qQYWwJY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.analyzers/0.10.0/xunit.analyzers.0.10.0.nupkg"; }) - (fetchNuGet { pname = "xunit.assert"; version = "2.4.1"; hash = "sha256-hl1cMSakAlwkpFEchxCNMdvQie6PMJ1uFrhzgOC3vsY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.assert/2.4.1/xunit.assert.2.4.1.nupkg"; }) - (fetchNuGet { pname = "xunit.core"; version = "2.4.1"; hash = "sha256-KgUgAIJIPHQ5VQ4FiB+i5u2JXSYxmvMCV8zXP4kcy9o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.core/2.4.1/xunit.core.2.4.1.nupkg"; }) - (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.1"; hash = "sha256-oACVOrvF4XmKFr+8ZqPVpjbopZgeRwaXveJGW2XUeIA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.core/2.4.1/xunit.extensibility.core.2.4.1.nupkg"; }) - (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.1"; hash = "sha256-KmKEdgsUq4zuQJ2saJA0YT1CIZ2AuhZL5V7cF2Cncd0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.execution/2.4.1/xunit.extensibility.execution.2.4.1.nupkg"; }) - (fetchNuGet { pname = "xunit.runner.console"; version = "2.4.1"; hash = "sha256-I/C0ntv+W+j4VU5/QxejkJSbuWvbL4MJ6+J8aFX6048="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.console/2.4.1/xunit.runner.console.2.4.1.nupkg"; }) - (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.4.3"; hash = "sha256-42axn0yDDiJWKV8UEYzYWgiKbpc6mHh9M/eeylYGLUg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.visualstudio/2.4.3/xunit.runner.visualstudio.2.4.3.nupkg"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "BenchmarkDotNet"; + version = "0.12.1"; + hash = "sha256-vISVlxTg4nhyRd1Jw+EwzGK7jabO+dQYnBScDVRAE3I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet/0.12.1/benchmarkdotnet.0.12.1.nupkg"; + }) + (fetchNuGet { + pname = "BenchmarkDotNet.Annotations"; + version = "0.12.1"; + hash = "sha256-g1M3JNIgAsL1g7oEISRf5mMsYkO2uJfWBkglc9tHOxg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/benchmarkdotnet.annotations/0.12.1/benchmarkdotnet.annotations.0.12.1.nupkg"; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.4.3"; + hash = "sha256-pTyYP26uXXLe6ejCb/yVYpb23ad/Dkl2Ka8NWwQeiqk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/commandlineparser/2.4.3/commandlineparser.2.4.3.nupkg"; + }) + (fetchNuGet { + pname = "FSharp.NET.Sdk"; + version = "1.0.4-bundled-0100"; + hash = "sha256-6FC2zLqwF0bydu8d2uiH1McIy0af/NrZ//hf4xdvHho="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/fsharp.net.sdk/1.0.4-bundled-0100/fsharp.net.sdk.1.0.4-bundled-0100.nupkg"; + }) + (fetchNuGet { + pname = "Iced"; + version = "1.4.0"; + hash = "sha256-yQ7xTIeuZCo5WotGbkWuw7/hyAf/6sukdtuURRkQFNE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/iced/1.4.0/iced.1.4.0.nupkg"; + }) + (fetchNuGet { + pname = "ILLink.Tasks"; + version = "0.1.6-prerelease.20175.2"; + hash = "sha256-/yDCjUVz3RstltoUDOcYEwNyGeLWAviiG7YUURGZjmg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/7d9f5c21-0d79-403f-bfe3-9a4506529760/nuget/v3/flat2/illink.tasks/0.1.6-prerelease.20175.2/illink.tasks.0.1.6-prerelease.20175.2.nupkg"; + }) + (fetchNuGet { + pname = "jnm2.ReferenceAssemblies.net35"; + version = "1.0.1"; + hash = "sha256-7Kgh/lQW1wxa76vecVxmG/8JNBvMz766lxazyL+mt4E="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/jnm2.referenceassemblies.net35/1.0.1/jnm2.referenceassemblies.net35.1.0.1.nupkg"; + }) + (fetchNuGet { + pname = "LargeAddressAware"; + version = "1.0.5"; + hash = "sha256-IQnTkOHBsic3HDa7TwfQtwwbowHG/iWQd6tkPuqAUkM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/largeaddressaware/1.0.5/largeaddressaware.1.0.5.nupkg"; + }) + (fetchNuGet { + pname = "MicroBuild.Core"; + version = "0.2.0"; + hash = "sha256-JIVBO1hWtK955RmtghoXqn6S9rb2G69Id92vqWUhmmA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microbuild.core/0.2.0/microbuild.core.0.2.0.nupkg"; + }) + (fetchNuGet { + pname = "MicroBuild.Core.Sentinel"; + version = "1.0.0"; + hash = "sha256-Efk2JFokIgDHw8G3sSsBs2990adCCItAoPiq6UrHsww="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.0"; + hash = "sha256-QYVojfqSZKbF8P6D/aacfxfumMaRUD9SEEQbzw73Bbc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build"; + version = "14.3.0"; + hash = "sha256-P4NszYl1VU6+2hWB64Y7Jy1mw/HA0kul5iD2ju6wVf0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/14.3.0/microsoft.build.14.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.CentralPackageVersions"; + version = "2.0.1"; + hash = "sha256-sxSrG4+xzZVP2YtJYYCpHGa0pCAPmZCQRhilJaSKkp0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.centralpackageversions/2.0.1/microsoft.build.centralpackageversions.2.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "14.3.0"; + hash = "sha256-zSmVu5u/oec5XVHsbwviR5joITIC5uZGWXfk1U4M/mQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/14.3.0/microsoft.build.framework.14.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "15.5.180"; + hash = "sha256-XyTJ3tn+vOc5rH4Pux1MjswRia6ei5bqTX3GEI4anhg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/15.5.180/microsoft.build.framework.15.5.180.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.NuGetSdkResolver"; + version = "5.9.1-rc.8"; + hash = "sha256-DaH2rPBY32UWK1M2odPiRVF/NnmrrnvBtxTnI6ia/bU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.nugetsdkresolver/5.9.1-rc.8/microsoft.build.nugetsdkresolver.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Git"; + version = "1.1.0-beta-20206-02"; + hash = "sha256-nbFnPIifuevbeOCkPuCirofjqDLi+CnxYUXvSfGGlL8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "14.3.0"; + hash = "sha256-awZNRydsILpI8xtA/zI8WbHTDuQcq220nt+K0K22oQw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/14.3.0/microsoft.build.utilities.core.14.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "15.5.180"; + hash = "sha256-YJiW2bLfrkOFvQ8toWDGyPodrmjlIkshWyixhxWUizA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/15.5.180/microsoft.build.utilities.core.15.5.180.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "2.6.1"; + hash = "sha256-1+FV3KvwerZsknecHZhdDACsPKaWrbQQeN27BAcZk94="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/2.6.1/microsoft.codeanalysis.analyzers.2.6.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Build.Tasks"; + version = "3.9.0-5.21112.8"; + hash = "sha256-h1UrpcVKxFQkmX4bHrsZGlJ2wB5X+dwREtiHu++sm6M="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.build.tasks/3.9.0-5.21112.8/microsoft.codeanalysis.build.tasks.3.9.0-5.21112.8.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "2.10.0"; + hash = "sha256-UikMFW/dcSiKfsUqnn2hvguLJN7gw1e01WpWmHEHydA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/2.10.0/microsoft.codeanalysis.common.2.10.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "2.10.0"; + hash = "sha256-szdSweIavn5BBPZgM8uE4j1WrvTfMqF/4yqzgLJeSmk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.csharp/2.10.0/microsoft.codeanalysis.csharp.2.10.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeCoverage"; + version = "16.6.1"; + hash = "sha256-NI+9eizIs3mrCNAw058DZvRzxpCAdoL3SKth6iypzgU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codecoverage/16.6.1/microsoft.codecoverage.16.6.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.NETCore.Client"; + version = "0.2.61701"; + hash = "sha256-ITNO2LJYyWhYs3A/iqfoaW6ddvkuuBVXQ5YSKQ8wgcU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.netcore.client/0.2.61701/microsoft.diagnostics.netcore.client.0.2.61701.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.Runtime"; + version = "1.1.57604"; + hash = "sha256-Ubu6a+qKwstY6v7Oywg1izAwgLZOnvv5ZjcmOJ5+qb4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.runtime/1.1.57604/microsoft.diagnostics.runtime.1.1.57604.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; + version = "2.0.49"; + hash = "sha256-SUkXJTeA+Ctk+MlxY5QAThL6d+mBIz+gKJ0RlShKnCM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diagnostics.tracing.traceevent/2.0.49/microsoft.diagnostics.tracing.traceevent.2.0.49.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.Arcade.Sdk"; + version = "5.0.0-beta.21226.1"; + hash = "sha256-g0R3wc9SZryUvgu5fB5WwyLEcQsPYbrqa4qylNpn97Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/5.0.0-beta.21226.1/microsoft.dotnet.arcade.sdk.5.0.0-beta.21226.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.MSBuildSdkResolver"; + version = "5.0.300-servicing.21267.11"; + hash = "sha256-5S7nvtosI97MPWxHaxBManc70Dp1e9Ycbta9C6cS78k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2/microsoft.dotnet.msbuildsdkresolver/5.0.300-servicing.21267.11/microsoft.dotnet.msbuildsdkresolver.5.0.300-servicing.21267.11.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.PlatformAbstractions"; + version = "2.1.0"; + hash = "sha256-vrZhYp94SjycUMGaVYCFWJ4p7KBKfqVyLWtIG73fzeM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.dotnet.platformabstractions/2.1.0/microsoft.dotnet.platformabstractions.2.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.SignTool"; + version = "5.0.0-beta.21226.1"; + hash = "sha256-cr0QbHmpSj7zhg3y0bMudugkInppcdSlDTHFYRExo8k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.signtool/5.0.0-beta.21226.1/microsoft.dotnet.signtool.5.0.0-beta.21226.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Build.Extensions"; + version = "3.1.400-preview.20365.20"; + hash = "sha256-pUGvWPLzNQEIDhdCbkv+qnU1e9QS477moiFree6RrO4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.build.extensions/3.1.400-preview.20365.20/microsoft.net.build.extensions.3.1.400-preview.20365.20.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Net.Compilers.Toolset"; + version = "3.9.0-5.21112.8"; + hash = "sha256-MDxQi3QVFfvA5bcOblCm/ypHSe6WqpGb0ZD65NXrLLc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.compilers.toolset/3.9.0-5.21112.8/microsoft.net.compilers.toolset.3.9.0-5.21112.8.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Sdk"; + version = "3.1.400-preview.20365.20"; + hash = "sha256-XiBnkAuLbDXE3qNKswDW5bJ+2/lOTM0Jotwwq7OxVgk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk/3.1.400-preview.20365.20/microsoft.net.sdk.3.1.400-preview.20365.20.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Sdk.Publish"; + version = "3.1.300-servicing.20216.7"; + hash = "sha256-gVym+TG4pekotsouOrEup8dkYYLPFeNIqzN/cWHEO/Y="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.publish/3.1.300-servicing.20216.7/microsoft.net.sdk.publish.3.1.300-servicing.20216.7.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Sdk.Razor"; + version = "3.1.6"; + hash = "sha256-KqYNpuT8B01liMwZLBLZoLucTt3uVYR3zE4UTEH8gO8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.sdk.razor/3.1.6/microsoft.net.sdk.razor.3.1.6.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Sdk.Web"; + version = "3.1.300-servicing.20216.7"; + hash = "sha256-oWSmOGSjhfiRXcJYRKQK0GuBfgkpxlZ6WRtwzqNoMgA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web/3.1.300-servicing.20216.7/microsoft.net.sdk.web.3.1.300-servicing.20216.7.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Sdk.Web.ProjectSystem"; + version = "3.1.300-servicing.20216.7"; + hash = "sha256-VE0CiduLOC3KT0D4pqaWGrSSzF6rvd6dQhAFanqsARg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d5f6139d-6136-4228-8b2d-9676e9e4eb3d/nuget/v3/flat2/microsoft.net.sdk.web.projectsystem/3.1.300-servicing.20216.7/microsoft.net.sdk.web.projectsystem.3.1.300-servicing.20216.7.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Test.Sdk"; + version = "16.6.1"; + hash = "sha256-G9Z/50Ycr4GxkyxV+a04JzOaAuvDEXO+2NcwiQx5TUo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.test.sdk/16.6.1/microsoft.net.test.sdk.16.6.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.0"; + hash = "sha256-6faPQ4jaFY3OGGVk3lZKW+DEZaIOBZ/wHqbiDTsRR1k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net45"; + version = "1.0.0"; + hash = "sha256-m5521kl7/G0DKFKOtQ9fzIhqPrpPR82r099m+UF06sY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net45/1.0.0/microsoft.netframework.referenceassemblies.net45.1.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; + version = "1.0.0"; + hash = "sha256-LI/XnqGb0Dzs5A7ZK3uv3gJPh8c6vOvj7/jabgW2Ea8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.AzureRepos.Git"; + version = "1.1.0-beta-20206-02"; + hash = "sha256-xbwMpGdH9cr6ssddH10lg64jCR465IdDubb80RCUDgI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.Common"; + version = "1.1.0-beta-20206-02"; + hash = "sha256-KdM3dDkuDQNUQyaBVyEyCCwnp/pZxMnYDXLsfhWYYOM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.GitHub"; + version = "1.1.0-beta-20206-02"; + hash = "sha256-akWBI51ohB5mUp8ADBgukUsgwfMR3yR2sX93PqV8NWA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SymbolUploader.Build.Task"; + version = "1.1.145102"; + hash = "sha256-ou58zD57BfjtpalXM8Pced3l2MF7/4VmsOLOIR8Drdo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.symboluploader.build.task/1.1.145102/microsoft.symboluploader.build.task.1.1.145102.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.SDK.EmbedInteropTypes"; + version = "15.0.15"; + hash = "sha256-7VYeONedZMDjHQiO9gl09WPI4iNdx9Q841ax/6keGTI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15/microsoft.visualstudio.sdk.embedinteroptypes.15.0.15.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; + version = "1.16.30"; + hash = "sha256-5IGlN0Nmp6887dxLgV0O3eFbXtertrU2xaztAToVApA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Web.Xdt"; + version = "3.0.0"; + hash = "sha256-FhFSzVbgttYCtrqUcIVFN2VKGEz1J5DI8IzRB4FzcaE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.web.xdt/3.0.0/microsoft.web.xdt.3.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + hash = "sha256-B4t5El/ViBdxALMcpZulewc4j/3SIXf71HhJWhm4Ctk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.5.0"; + hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.5.0/microsoft.win32.registry.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.1"; + hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "11.0.1"; + hash = "sha256-lbR7rpS/EXgJ8TqQspuIIqAsiorrZb1oOK4HFw+QyPw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/11.0.1/newtonsoft.json.11.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "9.0.1"; + hash = "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Build.Tasks"; + version = "5.9.1-rc.8"; + hash = "sha256-5awutMHe2p6BwEFHqzA4mwK6l0y2dgkOXb/iNwpsIBg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks/5.9.1-rc.8/nuget.build.tasks.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Build.Tasks.Pack"; + version = "5.9.1-rc.8"; + hash = "sha256-kgrhybexqM5jKBY9/kKZeGWl3gsmjBzRD+fvYsJuE4M="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks.pack/5.9.1-rc.8/nuget.build.tasks.pack.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.CommandLine"; + version = "4.1.0"; + hash = "sha256-QZPkNpa3+jClzVUikLkuZH2PEn2sdJdU520f2lgGMw4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.commandline/4.1.0/nuget.commandline.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Commands"; + version = "5.9.1-rc.8"; + hash = "sha256-mXIMDyviqUklhu+Kn3YybAJDWBKcaCy5oRzn2T6Lv2U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.commands/5.9.1-rc.8/nuget.commands.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Common"; + version = "5.9.1-rc.8"; + hash = "sha256-jCjfnYCpwZOXI8EpUNiNiymiwf/YaMGw+GbG7QgMyxQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/5.9.1-rc.8/nuget.common.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Configuration"; + version = "5.9.1-rc.8"; + hash = "sha256-c0/Bwx37fVCbVBWa0E0qkW2CJsmsoxSDm+Y6DdyLG3U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/5.9.1-rc.8/nuget.configuration.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Credentials"; + version = "5.9.1-rc.8"; + hash = "sha256-27DsdfUd3o0FqlzXkeLc1Ubj0Uls7aP9CTe7TP7TG4k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.credentials/5.9.1-rc.8/nuget.credentials.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.DependencyResolver.Core"; + version = "5.9.1-rc.8"; + hash = "sha256-7I1/82CJt8n2ohyvfEtCo9BvMRVPCXTJckaNH/RJKuE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/5.9.1-rc.8/nuget.dependencyresolver.core.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Frameworks"; + version = "5.9.1-rc.8"; + hash = "sha256-O8JyP+V5HnLPR5JiwPX7tSCyxlYCHvl4I9ino226ddg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/5.9.1-rc.8/nuget.frameworks.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.LibraryModel"; + version = "5.9.1-rc.8"; + hash = "sha256-m+yi3s1QU0K8qWlulQ7t8VYjMFeWFqQmeoyTxIQgyGs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/5.9.1-rc.8/nuget.librarymodel.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.PackageManagement"; + version = "5.9.1-rc.8"; + hash = "sha256-75IKTQQyaeBTW8wE8w2vOaPGRC+r3JuS9R06ODBunVU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packagemanagement/5.9.1-rc.8/nuget.packagemanagement.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Packaging"; + version = "5.9.1-rc.8"; + hash = "sha256-G2aab7v/ko3hOFIrs+FWRXaiHELKtvi6qMbaQM4eLHU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/5.9.1-rc.8/nuget.packaging.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.ProjectModel"; + version = "5.9.1-rc.8"; + hash = "sha256-+444VKy9NvmzFCV8Y7RlIu5kOOVDutkOm/YYwnU8UPY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/5.9.1-rc.8/nuget.projectmodel.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Protocol"; + version = "5.9.1-rc.8"; + hash = "sha256-+DeBsU6oiK84o3vWvYMJMNTs9oQN+EUafxDiyNTv2eY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/5.9.1-rc.8/nuget.protocol.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Resolver"; + version = "5.9.1-rc.8"; + hash = "sha256-m5hBLEceBDELGo2Bur8iySpvKP/zV8ytPz650sDDzWA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.resolver/5.9.1-rc.8/nuget.resolver.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Versioning"; + version = "5.9.1-rc.8"; + hash = "sha256-e5u1mlhopshnwPbVoDh6hSwXLxzSVLl1FlPTKET4Z+8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/5.9.1-rc.8/nuget.versioning.5.9.1-rc.8.nupkg"; + }) + (fetchNuGet { + pname = "Perfolizer"; + version = "0.2.1"; + hash = "sha256-nllshKuHU+1jSBfcTz8BTJTGr1TeCFvxjM4OPyLGSgQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/perfolizer/0.2.1/perfolizer.0.2.1.nupkg"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.0.0"; + hash = "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Shouldly"; + version = "3.0.0"; + hash = "sha256-g9MPlQooO7NsDy92Tjss25yVvliU6VN6JohOlBBH4sE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/shouldly/3.0.0/shouldly.3.0.0.nupkg"; + }) + (fetchNuGet { + pname = "sn"; + version = "1.0.0"; + hash = "sha256-GoeLcHlpQEKLuGdd1e7D1oprNBkEGrRLGQJvwxpzIoA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/sn/1.0.0/sn.1.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.1.0"; + hash = "sha256-v6YfyfrKmhww+EYHUq6cwYUMj00MQ6SOfJtcGVRlYzs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.3.0/system.buffers.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.4.0"; + hash = "sha256-KTxAhYawFG2V5VX1jw3pzx3IrQXRgn1TsvgjPgxAbqA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.4.0/system.buffers.4.4.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.0"; + hash = "sha256-THw2znu+KibfJRfD7cE3nRYHsm7Fyn5pjOOZVonFjvs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.0/system.buffers.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.0.12"; + hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.2.0"; + hash = "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.5.0"; + hash = "sha256-BliqYlL9ntbMXo5d7NUrKXwYN+PqdyqDIS5bp4qVr7Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.NonGeneric"; + version = "4.0.1"; + hash = "sha256-jdCVXmGOsJ+2F0xAagCkiMZ91SGAm9iOhO2u4ksmKaU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "4.7.0"; + hash = "sha256-rYjp/UmagI4ZULU1ocia/AiXxLNL8uhMV8LBF4QFW10="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/4.7.0/system.configuration.configurationmanager.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.0.0"; + hash = "sha256-jtZfT/TpJtLisV/y5Mk3IfCpE79zwhBYXtyGP9jC3Xo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.0.0/system.console.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.3.0/system.console.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + hash = "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.FileVersionInfo"; + version = "4.3.0"; + hash = "sha256-JyqOf5/lsUNLMpIqK8XffcFTxB6vHWzGWHssmojokCQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.fileversioninfo/4.3.0/system.diagnostics.fileversioninfo.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Process"; + version = "4.1.0"; + hash = "sha256-OgW6ogQ+oYADYS0PHmwXdhrOKQJpqXlwzSvmfjTLNBg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.StackTrace"; + version = "4.3.0"; + hash = "sha256-Tfq7F61N0VfujVyI5A9MZvyWewQ5HepB1f1UMBMkUCs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.stacktrace/4.3.0/system.diagnostics.stacktrace.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.TraceSource"; + version = "4.0.0"; + hash = "sha256-cCjdPU7ow91HGf1hBIOLJMQGO6pNmF+N+5/Z38XJh9U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.1.0"; + hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.0.1"; + hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Management"; + version = "4.5.0"; + hash = "sha256-mcsEl3a95O3oPO260hL3lpiaYaJhFPoWSbEHYYfo5ac="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/4.5.0/system.management.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.3/system.memory.4.5.3.nupkg"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.0"; + hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.http/4.3.0/system.net.http.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.0.12"; + hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg"; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Private.DataContractSerialization"; + version = "4.1.1"; + hash = "sha256-OaE+ZcEfkpIkbdMOMAMiJa9vgiVP25FGuFrf+N/mafY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.Extensions"; + version = "4.6.0"; + hash = "sha256-ErAPQRTkjRsica+h1mAFxMZbE4RrR9nH0/VB9mSCzEY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.Reader"; + version = "4.0.0"; + hash = "sha256-NOax26EYc/L4bfedL2a33fg4sFXVkBwzVTQ41saJTsk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0"; + hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + hash = "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Xml"; + version = "4.1.1"; + hash = "sha256-Mx/8hiqvp1E4I6ysJC3U8D2B9qhRQcVvEOivV6w65IQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "4.5.0"; + hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "4.7.0"; + hash = "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.7.0/system.security.accesscontrol.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "4.7.0"; + hash = "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/4.7.0/system.security.permissions.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.5.0"; + hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.7.0"; + hash = "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.0.1"; + hash = "sha256-wxtwWQSTv5tuFP79KhUAhaL6bL4d8lSzSWkCn9aolwM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.3.0"; + hash = "sha256-ezYVwe9atRkREc8O/HT/VfGDE2vuCpIckOfdY194/VE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.3.0/system.text.encoding.codepages.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "4.7.0"; + hash = "sha256-w3KhanXU1v+0uWZuLECd1oChvYeUrGhN5blk5WBco2k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "4.7.0"; + hash = "sha256-ubmcBH9pNdILnROdpGfnfo90WijLE6bUbKUypn3u4zo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/4.7.0/system.text.json.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.1.0"; + hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.3.0"; + hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "4.9.0"; + hash = "sha256-ZTZBJTrP5kzO38ec9lPxuNUYgEoeGNdQ8hF98uRN2rw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.2"; + hash = "sha256-EqJF9TppMHTKvpR6emrdA61zalMW3HwrZ7j6Bn4bBuo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Parallel"; + version = "4.0.1"; + hash = "sha256-5VyRZ97Fug4reK/cQ6wsCrJ5jH53aGu1a4ZkKMZrnIQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.0.1/system.threading.tasks.parallel.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Parallel"; + version = "4.3.0"; + hash = "sha256-8H2vRmsn29MNfMmCeIL5vHfbM19jWaLDKNLzDonCI+c="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.parallel/4.3.0/system.threading.tasks.parallel.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.0.0"; + hash = "sha256-7EtSJuKqcW107FYA5Ko9NFXEWUPIzNDtlfKaQV2pvb8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.3.0"; + hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.0.1"; + hash = "sha256-5lU6zt1O9JDSPr2KAHw4BYgysHnt0yyZrMNa5IIjxZY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.0.11"; + hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.0.1"; + hash = "sha256-gdoFrPo54v1LjkBF79f8EvtltVVjHz9ZI9kc5ve0GkY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.3.0"; + hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.3.0/system.xml.xmldocument.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.XmlSerializer"; + version = "4.0.11"; + hash = "sha256-v6x4d6W18dijG5cDqQmVHdtWRf6Y4OkdBolT3d5g3wY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.XPath"; + version = "4.3.0"; + hash = "sha256-kd1JMqj6obhxzEPRJeYvcUyJqkOs/9A0UOQccC6oYrM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Xml.XPath.XDocument"; + version = "4.3.0"; + hash = "sha256-dqk4CWuwocj5qsUAYlS+XAe6GGcY/N/HIPEGe5afrPM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath.xdocument/4.3.0/system.xml.xpath.xdocument.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "vswhere"; + version = "2.6.7"; + hash = "sha256-kzMH9TNexExGSutkXHIWpydXgjlbd+L+H8Oca1Isk0A="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/vswhere/2.6.7/vswhere.2.6.7.nupkg"; + }) + (fetchNuGet { + pname = "XliffTasks"; + version = "1.0.0-beta.20502.2"; + hash = "sha256-ICnkCRBS+hsuFtwNPS7ux2ZQAttaAgCX/HTBzp5qY54="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/xlifftasks/1.0.0-beta.20502.2/xlifftasks.1.0.0-beta.20502.2.nupkg"; + }) + (fetchNuGet { + pname = "xunit"; + version = "2.4.1"; + hash = "sha256-QGDuE0ZnsxyEJONP8GcJ80PmPeb+OawwdSW8y72aw3U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit/2.4.1/xunit.2.4.1.nupkg"; + }) + (fetchNuGet { + pname = "xunit.abstractions"; + version = "2.0.3"; + hash = "sha256-0D1y/C34iARI96gb3bAOG8tcGPMjx+fMabTPpydGlAM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg"; + }) + (fetchNuGet { + pname = "xunit.analyzers"; + version = "0.10.0"; + hash = "sha256-8lRZhogXHYksa9ChnkFXpBnTMlLlYIvu3Av7qQYWwJY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.analyzers/0.10.0/xunit.analyzers.0.10.0.nupkg"; + }) + (fetchNuGet { + pname = "xunit.assert"; + version = "2.4.1"; + hash = "sha256-hl1cMSakAlwkpFEchxCNMdvQie6PMJ1uFrhzgOC3vsY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.assert/2.4.1/xunit.assert.2.4.1.nupkg"; + }) + (fetchNuGet { + pname = "xunit.core"; + version = "2.4.1"; + hash = "sha256-KgUgAIJIPHQ5VQ4FiB+i5u2JXSYxmvMCV8zXP4kcy9o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.core/2.4.1/xunit.core.2.4.1.nupkg"; + }) + (fetchNuGet { + pname = "xunit.extensibility.core"; + version = "2.4.1"; + hash = "sha256-oACVOrvF4XmKFr+8ZqPVpjbopZgeRwaXveJGW2XUeIA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.core/2.4.1/xunit.extensibility.core.2.4.1.nupkg"; + }) + (fetchNuGet { + pname = "xunit.extensibility.execution"; + version = "2.4.1"; + hash = "sha256-KmKEdgsUq4zuQJ2saJA0YT1CIZ2AuhZL5V7cF2Cncd0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.extensibility.execution/2.4.1/xunit.extensibility.execution.2.4.1.nupkg"; + }) + (fetchNuGet { + pname = "xunit.runner.console"; + version = "2.4.1"; + hash = "sha256-I/C0ntv+W+j4VU5/QxejkJSbuWvbL4MJ6+J8aFX6048="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.console/2.4.1/xunit.runner.console.2.4.1.nupkg"; + }) + (fetchNuGet { + pname = "xunit.runner.visualstudio"; + version = "2.4.3"; + hash = "sha256-42axn0yDDiJWKV8UEYzYWgiKbpc6mHh9M/eeylYGLUg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/xunit.runner.visualstudio/2.4.3/xunit.runner.visualstudio.2.4.3.nupkg"; + }) ] diff --git a/pkgs/by-name/ms/mscgen/package.nix b/pkgs/by-name/ms/mscgen/package.nix index 4af5c9b648e92..4bf3c3ddd1c89 100644 --- a/pkgs/by-name/ms/mscgen/package.nix +++ b/pkgs/by-name/ms/mscgen/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, bison -, fetchurl -, flex -, gd -, libjpeg -, libpng -, libwebp -, pkg-config -, runtimeShell -, zlib +{ + lib, + stdenv, + bison, + fetchurl, + flex, + gd, + libjpeg, + libpng, + libwebp, + pkg-config, + runtimeShell, + zlib, }: stdenv.mkDerivation rec { @@ -20,15 +22,28 @@ stdenv.mkDerivation rec { sha256 = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23"; }; - nativeBuildInputs = [ bison flex pkg-config ]; - buildInputs = [ gd libjpeg libpng libwebp zlib ]; + nativeBuildInputs = [ + bison + flex + pkg-config + ]; + buildInputs = [ + gd + libjpeg + libpng + libwebp + zlib + ]; doCheck = true; preCheck = '' sed -i -e "s|#!/bin/bash|#!${runtimeShell}|" test/renderercheck.sh ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = { homepage = "http://www.mcternan.me.uk/mscgen/"; diff --git a/pkgs/by-name/ms/mscompress/package.nix b/pkgs/by-name/ms/mscompress/package.nix index e6bc49feb1871..c6974027cafbb 100644 --- a/pkgs/by-name/ms/mscompress/package.nix +++ b/pkgs/by-name/ms/mscompress/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ms/msfpc/package.nix b/pkgs/by-name/ms/msfpc/package.nix index afc67cc4dde37..74d04f76e0eb4 100644 --- a/pkgs/by-name/ms/msfpc/package.nix +++ b/pkgs/by-name/ms/msfpc/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, metasploit, curl, inetutils, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + metasploit, + curl, + inetutils, + openssl, +}: stdenv.mkDerivation rec { pname = "msfpc"; @@ -25,7 +34,14 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/msfpc \ - --prefix PATH : "${lib.makeBinPath [ metasploit curl inetutils openssl ]}" + --prefix PATH : "${ + lib.makeBinPath [ + metasploit + curl + inetutils + openssl + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/ms/msgpack-c/package.nix b/pkgs/by-name/ms/msgpack-c/package.nix index 103831e7c06b5..f4b74a9abf992 100644 --- a/pkgs/by-name/ms/msgpack-c/package.nix +++ b/pkgs/by-name/ms/msgpack-c/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ms/msgpack-tools/package.nix b/pkgs/by-name/ms/msgpack-tools/package.nix index 382dd8fd306b9..e62af58ae1c10 100644 --- a/pkgs/by-name/ms/msgpack-tools/package.nix +++ b/pkgs/by-name/ms/msgpack-tools/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "msgpack-tools"; diff --git a/pkgs/by-name/ms/msgpack/generic.nix b/pkgs/by-name/ms/msgpack/generic.nix index a784bc0263613..0e966b6c63ffb 100644 --- a/pkgs/by-name/ms/msgpack/generic.nix +++ b/pkgs/by-name/ms/msgpack/generic.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, cmake -, version, src, patches ? [ ] -, ... +{ + lib, + stdenv, + cmake, + version, + src, + patches ? [ ], + ... }: stdenv.mkDerivation { @@ -11,13 +16,15 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - cmakeFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DMSGPACK_BUILD_EXAMPLES=OFF"; + cmakeFlags = lib.optional ( + stdenv.hostPlatform != stdenv.buildPlatform + ) "-DMSGPACK_BUILD_EXAMPLES=OFF"; meta = with lib; { description = "MessagePack implementation for C and C++"; - homepage = "https://msgpack.org"; - license = licenses.asl20; + homepage = "https://msgpack.org"; + license = licenses.asl20; maintainers = with maintainers; [ redbaron ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/ms/msgpack/package.nix b/pkgs/by-name/ms/msgpack/package.nix index d040eff11a322..24ab0a74a5113 100644 --- a/pkgs/by-name/ms/msgpack/package.nix +++ b/pkgs/by-name/ms/msgpack/package.nix @@ -1,12 +1,15 @@ -{ callPackage, fetchFromGitHub, ... } @ args: +{ callPackage, fetchFromGitHub, ... }@args: -callPackage ./generic.nix (args // rec { - version = "3.3.0"; +callPackage ./generic.nix ( + args + // rec { + version = "3.3.0"; - src = fetchFromGitHub { - owner = "msgpack"; - repo = "msgpack-c"; - rev = "cpp-${version}"; - sha256 = "02dxgzxlwn8g9ca2j4m0rjvdq1k2iciy6ickj615daz5w8pcjajd"; - }; -}) + src = fetchFromGitHub { + owner = "msgpack"; + repo = "msgpack-c"; + rev = "cpp-${version}"; + sha256 = "02dxgzxlwn8g9ca2j4m0rjvdq1k2iciy6ickj615daz5w8pcjajd"; + }; + } +) diff --git a/pkgs/by-name/ms/msgpuck/package.nix b/pkgs/by-name/ms/msgpuck/package.nix index a21dd799e0fc8..41fdca7052def 100644 --- a/pkgs/by-name/ms/msgpuck/package.nix +++ b/pkgs/by-name/ms/msgpuck/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "msgpuck"; @@ -11,15 +17,21 @@ stdenv.mkDerivation rec { sha256 = "0cjq86kncn3lv65vig9cqkqqv2p296ymcjjbviw0j1s85cfflps0"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { - description = "Simple and efficient MsgPack binary serialization library in a self-contained header file"; - homepage = "https://github.com/rtsisyk/msgpuck"; - license = licenses.bsd2; - platforms = platforms.all; - maintainers = with maintainers; [ izorkin ]; - }; + description = "Simple and efficient MsgPack binary serialization library in a self-contained header file"; + homepage = "https://github.com/rtsisyk/msgpuck"; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = with maintainers; [ izorkin ]; + }; } diff --git a/pkgs/by-name/ms/msgraph-cli/deps.nix b/pkgs/by-name/ms/msgraph-cli/deps.nix index e2ad995943b43..d446a33445778 100644 --- a/pkgs/by-name/ms/msgraph-cli/deps.nix +++ b/pkgs/by-name/ms/msgraph-cli/deps.nix @@ -1,220 +1,1081 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Azure.Core"; version = "1.36.0"; hash = "sha256-lokfjW2wvgFu6bALLzNmDhXIz3HXoPuGX0WfGb9hmpI="; }) - (fetchNuGet { pname = "Azure.Core"; version = "1.37.0"; hash = "sha256-ETDRf0+cNgVa1udMkhjYkOLP5Hd0NtiSQqAZHCjevds="; }) - (fetchNuGet { pname = "Azure.Identity"; version = "1.10.4"; hash = "sha256-wjopxd/bq0IjdZd5C69XLITrKz8+TFxc0YsPcj8sZHA="; }) - (fetchNuGet { pname = "JmesPath.Net"; version = "1.0.330"; hash = "sha256-FfSgpXmgaFg1uNzJjyJKjU1GZQAo64Og449EByhmKsc="; }) - (fetchNuGet { pname = "JmesPath.Net.Parser"; version = "1.0.330"; hash = "sha256-xJxWkfve/tpeFmX4YRW9SK8z1cT8dMCwwqEhOudi9og="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; hash = "sha256-fAcX4sxE0veWM1CZBtXR/Unky+6sE33yrV7ohrWGKig="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; hash = "sha256-Evg+Ynj2QUa6Gz+zqF+bUyfGD0HI5A2fHmxZEXbn3HA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "6.0.0"; hash = "sha256-7NZcKkiXWSuhhVcA/fXHPY/62aGUyMsRdiHm91cWC5Y="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "6.0.0"; hash = "sha256-jFACPqLvGo14eg4G3hV/UYY/d9i3hNKvgL+3nnDGZME="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; hash = "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "6.0.0"; hash = "sha256-tG3DEWURVkQHm4MlmxjE/YouTp9wQKbWs6qHH2nfgqc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; hash = "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "6.0.0"; hash = "sha256-PLnSa0JMfDC62OTv8sL0QFJbANE7QSnJ997ySFBS1go="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "6.0.0"; hash = "sha256-b+y3HRjUm+CfZhChVdMoN0HTXmWxrs4yiC7yM6psGmc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "8.0.0"; hash = "sha256-/yj5QaEzeRStvOFoBpPRPXlEehGtr2E6/rJb+OEPIK8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0"; hash = "sha256-gZuMaunMJVyvvepuzNodGPRc6eqKH//bks3957dYkPI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; hash = "sha256-SZke0jNKIqJvvukdta+MgIlGsrP2EdPkkS8lfLg7Ju4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; hash = "sha256-fBLlb9xAfTgZb1cpBxFs/9eA+BlBvF8Xg0DMkBqdHD4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; hash = "sha256-USD5uZOaahMqi6u7owNWx/LR4EDrOwqPrAAim7iRpJY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; hash = "sha256-uBjWjHKEXjZ9fDfFxMjOou3lhfTNhs1yO+e3fpWreLk="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "6.0.0"; hash = "sha256-5BAQOqnaEXM2YjdrmrCinXBeZ5FKxCWtebEXMdwcbMY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "6.0.0"; hash = "sha256-RAWHjkkfvGpjc49Q0kJbZyXgU6UEq/EJ0j557sj2/iU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "6.0.0"; hash = "sha256-ux2aROPMS7aCyfDgRn7DmIrg5M2UlK00vPjfUWGC/kA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "8.0.0"; hash = "sha256-sKHa+w4/pMeQb5RRFqLtMTUJy5H6hSIGWchbH2pxSrg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "6.0.0"; hash = "sha256-ksIPO6RhfbYx/i3su4J3sDhoL+TDnITKsgIpEqnpktc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; hash = "sha256-0JBx+wwt5p1SPfO4m49KxNOXPAzAU0A+8tEc/itvpQE="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "8.0.0"; hash = "sha256-UgljypOLld1lL7k7h1noazNzvyEHIJw+r+6uGzucFSY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "6.0.0"; hash = "sha256-8WsZKRGfXW5MsXkMmNVf6slrkw+cR005czkOP2KUqTk="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; hash = "sha256-QNqcQ3x+MOK7lXbWkCzSOWa/2QyYNbdM/OEEbWN15Sw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "6.0.0"; hash = "sha256-IeMOza71UDzsEIVIlYuI0RYKk+d+VOC6zCqYCQs6nV4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "6.0.0"; hash = "sha256-kweko71W7/hIAUO3ZYYbNXksVLgj8wrDN028QthMFCs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "8.0.0"; hash = "sha256-AJunzYBZM2wCg86hnPnMrBuWIIyW/4PnIVoDSU969cA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "6.0.0"; hash = "sha256-1BXQjw/ySWmddAZ79bv3OhmC4SPTG8PHyTOlrNEUb0g="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "8.0.0"; hash = "sha256-vXBm4yhWGP4uow0CqstuqOkxO8yeZEM15JTTenjPbhc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "6.0.0"; hash = "sha256-j2Begn1+Xoa+9yPoQC6b6aPmUIpBrjkTGQhRhYfJaDI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "8.0.0"; hash = "sha256-kaR7YOlq5s8W9nZDtH/lKtnfGbrgOuQY4DUPcA2lcj0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; hash = "sha256-DxnEgGiCXpkrxFkxXtOXqwaiAtoIjA8VSSWCcsW0FwE="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "6.0.0"; hash = "sha256-au0Y13cGk/dQFKuvSA5NnP/++bErTk0oOTlgmHdI2Mw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; hash = "sha256-AgvysszpQ11AiTBJFkvSy8JnwIWTj15Pfek7T7ThUc4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; }) - (fetchNuGet { pname = "Microsoft.Graph.Cli.Core"; version = "1.2.1"; hash = "sha256-aS8p5p6v2BLMwYq4MsPqzPNuyvli+cck0If8zew1Tg8="; }) - (fetchNuGet { pname = "Microsoft.Graph.Core"; version = "3.1.7"; hash = "sha256-OVAc7SpKYtY9IP83TGpy7F2lLR7rTJ6XBR+2JAVPWAU="; }) - (fetchNuGet { pname = "Microsoft.Identity.Client"; version = "4.56.0"; hash = "sha256-vXd9uZ1AoThcVIBmOZbMrP2xIjpoInWM9iP1pzCSnmc="; }) - (fetchNuGet { pname = "Microsoft.Identity.Client.Extensions.Msal"; version = "4.56.0"; hash = "sha256-FQF6kIDzNLxtaVnVDBMFryfTuj6T5pCx92GN6aYhmN0="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "6.22.0"; hash = "sha256-P+7razdzKHXujmkfYfw7ZCK/MvhqNqCJ9kuxFEUsiRg="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.3.1"; hash = "sha256-lbZKfnulWcM4Mxbz6Hkrp/lM41hsOfCnsHLEb+u2czc="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.3.1"; hash = "sha256-C7uySnKBB0e5Wf6z8YNtjbtBbhalJMdqx0EWVcYy7Q4="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.3.1"; hash = "sha256-6OHGsItAXicCSlW0ghCy5szNi6HwhlCmbykbN1O5yAw="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "7.3.1"; hash = "sha256-bBEbYXtPGNqsJiSZ7Kx3kcP1ZbosqPrGyu1PIfFPIeA="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "7.3.1"; hash = "sha256-NWw7q26IZAKiQQILU1qLeNVkMxE9rX0NwUubWAcoBiE="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.3.1"; hash = "sha256-qfTNU0g9QA8kV42VTAez1pSTmfFRJBbeTbGn/nfGFUU="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Abstractions"; version = "1.7.5"; hash = "sha256-g2ShFodiwkMofAMAbuYiUTXn21yLWyaYeDzAAikTY60="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Abstractions"; version = "1.7.8"; hash = "sha256-209eh7BsL2Y0SZZbj3ABZXZQeq5bFiGRA2k4Dia9nLs="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Abstractions"; version = "1.7.9"; hash = "sha256-zRAtEMarPRwJY985Morh+enZXrqO+gDpLH2K9HVCIQI="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Authentication.Azure"; version = "1.1.3"; hash = "sha256-eNfXJ4Ab+55c15w5QEHzUy0nkxXK5fhPSw+waiSxJ8k="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Cli.Commons"; version = "1.1.0"; hash = "sha256-+ieR78qQpeCLGo7TSEzSYE52zaBC6oASvPusOf2eHaY="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Http.HttpClientLibrary"; version = "1.3.6"; hash = "sha256-w79hmlcGlkky8HK8Cy24iWXhn1UdmQCpgIJ9n3Z3kHA="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Serialization.Form"; version = "1.1.3"; hash = "sha256-bY9XhBO618WaP8N3WWS7lKNkzsb0UG+0vyo85/ROk2s="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Serialization.Json"; version = "1.1.5"; hash = "sha256-BSWIlNwGkceO4WHFGmD0PSQhlDf0J4EAq+66LXOZkuI="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Serialization.Multipart"; version = "1.1.2"; hash = "sha256-co1iP+5YB9xdsfj73pzRh9PYWP/lVDzMv64klJeVvAs="; }) - (fetchNuGet { pname = "Microsoft.Kiota.Serialization.Text"; version = "1.1.2"; hash = "sha256-TXTNr/15sJnGQ0qJuFGvu2apZHXRWtVcVjpAO2dLaEE="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; }) - (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "Spectre.Console"; version = "0.48.0"; hash = "sha256-hr7BkVJ5v+NOPytlINjo+yoJetRUKmBhZbTMVKOMf2w="; }) - (fetchNuGet { pname = "Springcomp.GPLEX.Runtime"; version = "1.2.4"; hash = "sha256-WrdQVnuoJMWD4q+j7qW5nKL1jjj/YKb2lafHMsKNS/Y="; }) - (fetchNuGet { pname = "Springcomp.GPPG.Runtime"; version = "1.2.4"; hash = "sha256-M6JRE/uW8WwV8UsQi8ROKII+zFW+ROpvE9b1ig+kcic="; }) - (fetchNuGet { pname = "Std.UriTemplate"; version = "0.0.50"; hash = "sha256-Wkxk3YQ3datFXVrPSuzBqtrWEmLkIQUeiBwuQb+E+aM="; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; }) - (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta4.22272.1"; hash = "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="; }) - (fetchNuGet { pname = "System.CommandLine.Hosting"; version = "0.4.0-alpha.22272.1"; hash = "sha256-tmzZU+FBdao8Jp2v+K+HHfc9QXpGBr5EY4X8+dNPceY="; }) - (fetchNuGet { pname = "System.CommandLine.NamingConventionBinder"; version = "2.0.0-beta4.22272.1"; hash = "sha256-Ffzs51XiFraSX1efQRO1IyiNraIgi8aOdkRRzCT6DB4="; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; hash = "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.0"; hash = "sha256-RY9uWSPdK2fgSwlj1OHBGBVo3ZvGQgBJNzAsS5OGMWc="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.1"; hash = "sha256-Xi8wrUjVlioz//TPQjFHqcV/QGhTqnTfUcltsNlcCJ4="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; hash = "sha256-+aODaDEQMqla5RYZeq0Lh66j+xkPYxykrVvSCmJQ+Vs="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "6.0.0"; hash = "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; hash = "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="; }) - (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "7.3.1"; hash = "sha256-Si60aDtJSjvXvY5ZkVQKF3JzxAkmkAKOw5D/q8CwuyQ="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) - (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.Memory.Data"; version = "1.0.2"; hash = "sha256-XiVrVQZQIz4NgjiK/wtH8iZhhOZ9MJ+X2hL2/8BrGN0="; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; }) - (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.7.0"; hash = "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) - (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; hash = "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.7.0"; hash = "sha256-dZfs5q3Ij1W1eJCfYjxI2o+41aSiFpaAugpoECaCOug="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; }) - (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.7.2"; hash = "sha256-CUZOulSeRy1CGBm7mrNrTumA9od9peKiIDR/Nb1B4io="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; hash = "sha256-UemDHGFoQIG7ObQwRluhVf6AgtQikfHEoPLC6gbFyRo="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "4.7.2"; hash = "sha256-xA8PZwxX9iOJvPbfdi7LWjM2RMVJ7hmtEqS9JvgNsoM="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; hash = "sha256-9AE/5ds4DqEfb0l+27fCBTSeYCdRWhxh2Bhg8IKvIuo="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.1"; hash = "sha256-Y0ba+eTXdrJZgET0xaurt1nkKbQRNBhod+KMcg9IdR4="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Azure.Core"; + version = "1.36.0"; + hash = "sha256-lokfjW2wvgFu6bALLzNmDhXIz3HXoPuGX0WfGb9hmpI="; + }) + (fetchNuGet { + pname = "Azure.Core"; + version = "1.37.0"; + hash = "sha256-ETDRf0+cNgVa1udMkhjYkOLP5Hd0NtiSQqAZHCjevds="; + }) + (fetchNuGet { + pname = "Azure.Identity"; + version = "1.10.4"; + hash = "sha256-wjopxd/bq0IjdZd5C69XLITrKz8+TFxc0YsPcj8sZHA="; + }) + (fetchNuGet { + pname = "JmesPath.Net"; + version = "1.0.330"; + hash = "sha256-FfSgpXmgaFg1uNzJjyJKjU1GZQAo64Og449EByhmKsc="; + }) + (fetchNuGet { + pname = "JmesPath.Net.Parser"; + version = "1.0.330"; + hash = "sha256-xJxWkfve/tpeFmX4YRW9SK8z1cT8dMCwwqEhOudi9og="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.1"; + hash = "sha256-fAcX4sxE0veWM1CZBtXR/Unky+6sE33yrV7ohrWGKig="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "6.0.0"; + hash = "sha256-Evg+Ynj2QUa6Gz+zqF+bUyfGD0HI5A2fHmxZEXbn3HA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "6.0.0"; + hash = "sha256-7NZcKkiXWSuhhVcA/fXHPY/62aGUyMsRdiHm91cWC5Y="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "8.0.0"; + hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "6.0.0"; + hash = "sha256-jFACPqLvGo14eg4G3hV/UYY/d9i3hNKvgL+3nnDGZME="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "8.0.0"; + hash = "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "6.0.0"; + hash = "sha256-tG3DEWURVkQHm4MlmxjE/YouTp9wQKbWs6qHH2nfgqc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "8.0.0"; + hash = "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "6.0.0"; + hash = "sha256-PLnSa0JMfDC62OTv8sL0QFJbANE7QSnJ997ySFBS1go="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "8.0.0"; + hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "8.0.0"; + hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.UserSecrets"; + version = "6.0.0"; + hash = "sha256-b+y3HRjUm+CfZhChVdMoN0HTXmWxrs4yiC7yM6psGmc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.UserSecrets"; + version = "8.0.0"; + hash = "sha256-/yj5QaEzeRStvOFoBpPRPXlEehGtr2E6/rJb+OEPIK8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "6.0.0"; + hash = "sha256-gZuMaunMJVyvvepuzNodGPRc6eqKH//bks3957dYkPI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "6.0.0"; + hash = "sha256-SZke0jNKIqJvvukdta+MgIlGsrP2EdPkkS8lfLg7Ju4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics"; + version = "8.0.0"; + hash = "sha256-fBLlb9xAfTgZb1cpBxFs/9eA+BlBvF8Xg0DMkBqdHD4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics.Abstractions"; + version = "8.0.0"; + hash = "sha256-USD5uZOaahMqi6u7owNWx/LR4EDrOwqPrAAim7iRpJY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "6.0.0"; + hash = "sha256-uBjWjHKEXjZ9fDfFxMjOou3lhfTNhs1yO+e3fpWreLk="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "8.0.0"; + hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "6.0.0"; + hash = "sha256-5BAQOqnaEXM2YjdrmrCinXBeZ5FKxCWtebEXMdwcbMY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "8.0.0"; + hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "6.0.0"; + hash = "sha256-RAWHjkkfvGpjc49Q0kJbZyXgU6UEq/EJ0j557sj2/iU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "8.0.0"; + hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting"; + version = "6.0.0"; + hash = "sha256-ux2aROPMS7aCyfDgRn7DmIrg5M2UlK00vPjfUWGC/kA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting"; + version = "8.0.0"; + hash = "sha256-sKHa+w4/pMeQb5RRFqLtMTUJy5H6hSIGWchbH2pxSrg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "6.0.0"; + hash = "sha256-ksIPO6RhfbYx/i3su4J3sDhoL+TDnITKsgIpEqnpktc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "8.0.0"; + hash = "sha256-0JBx+wwt5p1SPfO4m49KxNOXPAzAU0A+8tEc/itvpQE="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Http"; + version = "8.0.0"; + hash = "sha256-UgljypOLld1lL7k7h1noazNzvyEHIJw+r+6uGzucFSY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "6.0.0"; + hash = "sha256-8WsZKRGfXW5MsXkMmNVf6slrkw+cR005czkOP2KUqTk="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "6.0.0"; + hash = "sha256-QNqcQ3x+MOK7lXbWkCzSOWa/2QyYNbdM/OEEbWN15Sw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "6.0.0"; + hash = "sha256-IeMOza71UDzsEIVIlYuI0RYKk+d+VOC6zCqYCQs6nV4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "8.0.0"; + hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "8.0.0"; + hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Debug"; + version = "6.0.0"; + hash = "sha256-kweko71W7/hIAUO3ZYYbNXksVLgj8wrDN028QthMFCs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Debug"; + version = "8.0.0"; + hash = "sha256-AJunzYBZM2wCg86hnPnMrBuWIIyW/4PnIVoDSU969cA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventLog"; + version = "6.0.0"; + hash = "sha256-1BXQjw/ySWmddAZ79bv3OhmC4SPTG8PHyTOlrNEUb0g="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventLog"; + version = "8.0.0"; + hash = "sha256-vXBm4yhWGP4uow0CqstuqOkxO8yeZEM15JTTenjPbhc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventSource"; + version = "6.0.0"; + hash = "sha256-j2Begn1+Xoa+9yPoQC6b6aPmUIpBrjkTGQhRhYfJaDI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventSource"; + version = "8.0.0"; + hash = "sha256-kaR7YOlq5s8W9nZDtH/lKtnfGbrgOuQY4DUPcA2lcj0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "6.0.0"; + hash = "sha256-DxnEgGiCXpkrxFkxXtOXqwaiAtoIjA8VSSWCcsW0FwE="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "6.0.0"; + hash = "sha256-au0Y13cGk/dQFKuvSA5NnP/++bErTk0oOTlgmHdI2Mw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "8.0.0"; + hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "6.0.0"; + hash = "sha256-AgvysszpQ11AiTBJFkvSy8JnwIWTj15Pfek7T7ThUc4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; + }) + (fetchNuGet { + pname = "Microsoft.Graph.Cli.Core"; + version = "1.2.1"; + hash = "sha256-aS8p5p6v2BLMwYq4MsPqzPNuyvli+cck0If8zew1Tg8="; + }) + (fetchNuGet { + pname = "Microsoft.Graph.Core"; + version = "3.1.7"; + hash = "sha256-OVAc7SpKYtY9IP83TGpy7F2lLR7rTJ6XBR+2JAVPWAU="; + }) + (fetchNuGet { + pname = "Microsoft.Identity.Client"; + version = "4.56.0"; + hash = "sha256-vXd9uZ1AoThcVIBmOZbMrP2xIjpoInWM9iP1pzCSnmc="; + }) + (fetchNuGet { + pname = "Microsoft.Identity.Client.Extensions.Msal"; + version = "4.56.0"; + hash = "sha256-FQF6kIDzNLxtaVnVDBMFryfTuj6T5pCx92GN6aYhmN0="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Abstractions"; + version = "6.22.0"; + hash = "sha256-P+7razdzKHXujmkfYfw7ZCK/MvhqNqCJ9kuxFEUsiRg="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Abstractions"; + version = "7.3.1"; + hash = "sha256-lbZKfnulWcM4Mxbz6Hkrp/lM41hsOfCnsHLEb+u2czc="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.JsonWebTokens"; + version = "7.3.1"; + hash = "sha256-C7uySnKBB0e5Wf6z8YNtjbtBbhalJMdqx0EWVcYy7Q4="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Logging"; + version = "7.3.1"; + hash = "sha256-6OHGsItAXicCSlW0ghCy5szNi6HwhlCmbykbN1O5yAw="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Protocols"; + version = "7.3.1"; + hash = "sha256-bBEbYXtPGNqsJiSZ7Kx3kcP1ZbosqPrGyu1PIfFPIeA="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; + version = "7.3.1"; + hash = "sha256-NWw7q26IZAKiQQILU1qLeNVkMxE9rX0NwUubWAcoBiE="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Tokens"; + version = "7.3.1"; + hash = "sha256-qfTNU0g9QA8kV42VTAez1pSTmfFRJBbeTbGn/nfGFUU="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Abstractions"; + version = "1.7.5"; + hash = "sha256-g2ShFodiwkMofAMAbuYiUTXn21yLWyaYeDzAAikTY60="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Abstractions"; + version = "1.7.8"; + hash = "sha256-209eh7BsL2Y0SZZbj3ABZXZQeq5bFiGRA2k4Dia9nLs="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Abstractions"; + version = "1.7.9"; + hash = "sha256-zRAtEMarPRwJY985Morh+enZXrqO+gDpLH2K9HVCIQI="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Authentication.Azure"; + version = "1.1.3"; + hash = "sha256-eNfXJ4Ab+55c15w5QEHzUy0nkxXK5fhPSw+waiSxJ8k="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Cli.Commons"; + version = "1.1.0"; + hash = "sha256-+ieR78qQpeCLGo7TSEzSYE52zaBC6oASvPusOf2eHaY="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Http.HttpClientLibrary"; + version = "1.3.6"; + hash = "sha256-w79hmlcGlkky8HK8Cy24iWXhn1UdmQCpgIJ9n3Z3kHA="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Serialization.Form"; + version = "1.1.3"; + hash = "sha256-bY9XhBO618WaP8N3WWS7lKNkzsb0UG+0vyo85/ROk2s="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Serialization.Json"; + version = "1.1.5"; + hash = "sha256-BSWIlNwGkceO4WHFGmD0PSQhlDf0J4EAq+66LXOZkuI="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Serialization.Multipart"; + version = "1.1.2"; + hash = "sha256-co1iP+5YB9xdsfj73pzRh9PYWP/lVDzMv64klJeVvAs="; + }) + (fetchNuGet { + pname = "Microsoft.Kiota.Serialization.Text"; + version = "1.1.2"; + hash = "sha256-TXTNr/15sJnGQ0qJuFGvu2apZHXRWtVcVjpAO2dLaEE="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.1"; + hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Console"; + version = "4.3.0"; + hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "Spectre.Console"; + version = "0.48.0"; + hash = "sha256-hr7BkVJ5v+NOPytlINjo+yoJetRUKmBhZbTMVKOMf2w="; + }) + (fetchNuGet { + pname = "Springcomp.GPLEX.Runtime"; + version = "1.2.4"; + hash = "sha256-WrdQVnuoJMWD4q+j7qW5nKL1jjj/YKb2lafHMsKNS/Y="; + }) + (fetchNuGet { + pname = "Springcomp.GPPG.Runtime"; + version = "1.2.4"; + hash = "sha256-M6JRE/uW8WwV8UsQi8ROKII+zFW+ROpvE9b1ig+kcic="; + }) + (fetchNuGet { + pname = "Std.UriTemplate"; + version = "0.0.50"; + hash = "sha256-Wkxk3YQ3datFXVrPSuzBqtrWEmLkIQUeiBwuQb+E+aM="; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; + }) + (fetchNuGet { + pname = "System.CommandLine"; + version = "2.0.0-beta4.22272.1"; + hash = "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="; + }) + (fetchNuGet { + pname = "System.CommandLine.Hosting"; + version = "0.4.0-alpha.22272.1"; + hash = "sha256-tmzZU+FBdao8Jp2v+K+HHfc9QXpGBr5EY4X8+dNPceY="; + }) + (fetchNuGet { + pname = "System.CommandLine.NamingConventionBinder"; + version = "2.0.0-beta4.22272.1"; + hash = "sha256-Ffzs51XiFraSX1efQRO1IyiNraIgi8aOdkRRzCT6DB4="; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + hash = "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "6.0.0"; + hash = "sha256-RY9uWSPdK2fgSwlj1OHBGBVo3ZvGQgBJNzAsS5OGMWc="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "6.0.1"; + hash = "sha256-Xi8wrUjVlioz//TPQjFHqcV/QGhTqnTfUcltsNlcCJ4="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.0"; + hash = "sha256-+aODaDEQMqla5RYZeq0Lh66j+xkPYxykrVvSCmJQ+Vs="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "6.0.0"; + hash = "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + hash = "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="; + }) + (fetchNuGet { + pname = "System.IdentityModel.Tokens.Jwt"; + version = "7.3.1"; + hash = "sha256-Si60aDtJSjvXvY5ZkVQKF3JzxAkmkAKOw5D/q8CwuyQ="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + }) + (fetchNuGet { + pname = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.AccessControl"; + version = "5.0.0"; + hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.Memory.Data"; + version = "1.0.2"; + hash = "sha256-XiVrVQZQIz4NgjiK/wtH8iZhhOZ9MJ+X2hL2/8BrGN0="; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.0"; + hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; + }) + (fetchNuGet { + pname = "System.Net.NameResolution"; + version = "4.3.0"; + hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.7.0"; + hash = "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + }) + (fetchNuGet { + pname = "System.Security.Claims"; + version = "4.3.0"; + hash = "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "4.7.0"; + hash = "sha256-dZfs5q3Ij1W1eJCfYjxI2o+41aSiFpaAugpoECaCOug="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; + }) + (fetchNuGet { + pname = "System.Security.Principal"; + version = "4.3.0"; + hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.3.0"; + hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "4.7.2"; + hash = "sha256-CUZOulSeRy1CGBm7mrNrTumA9od9peKiIDR/Nb1B4io="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "6.0.0"; + hash = "sha256-UemDHGFoQIG7ObQwRluhVf6AgtQikfHEoPLC6gbFyRo="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "4.7.2"; + hash = "sha256-xA8PZwxX9iOJvPbfdi7LWjM2RMVJ7hmtEqS9JvgNsoM="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "6.0.0"; + hash = "sha256-9AE/5ds4DqEfb0l+27fCBTSeYCdRWhxh2Bhg8IKvIuo="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.0"; + hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.1"; + hash = "sha256-Y0ba+eTXdrJZgET0xaurt1nkKbQRNBhod+KMcg9IdR4="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.3.0"; + hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "System.Threading.ThreadPool"; + version = "4.3.0"; + hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; + }) ] diff --git a/pkgs/by-name/ms/msgviewer/package.nix b/pkgs/by-name/ms/msgviewer/package.nix index 14d2556616c7c..37c1a633d24c4 100644 --- a/pkgs/by-name/ms/msgviewer/package.nix +++ b/pkgs/by-name/ms/msgviewer/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, unzip, jre, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + unzip, + jre, + runtimeShell, +}: stdenv.mkDerivation rec { version = "1.9"; @@ -6,7 +14,7 @@ stdenv.mkDerivation rec { uname = "MSGViewer"; src = fetchurl { - url = "mirror://sourceforge/msgviewer/${uname}-${version}/${uname}-${version}.zip"; + url = "mirror://sourceforge/msgviewer/${uname}-${version}/${uname}-${version}.zip"; sha256 = "0igmr8c0757xsc94xlv2470zv2mz57zaj52dwr9wj8agmj23jbjz"; }; @@ -23,15 +31,18 @@ stdenv.mkDerivation rec { chmod 755 $out/bin/msgviewer ''; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; meta = with lib; { description = "Viewer for .msg files (MS Outlook)"; mainProgram = "msgviewer"; - homepage = "https://www.washington.edu/alpine/"; + homepage = "https://www.washington.edu/alpine/"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.asl20; + license = licenses.asl20; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/ms/msieve/package.nix b/pkgs/by-name/ms/msieve/package.nix index a5af9e844eca4..2562eea0c80ba 100644 --- a/pkgs/by-name/ms/msieve/package.nix +++ b/pkgs/by-name/ms/msieve/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchsvn, zlib, gmp, ecm }: +{ + lib, + stdenv, + fetchsvn, + zlib, + gmp, + ecm, +}: stdenv.mkDerivation rec { pname = "msieve"; @@ -10,12 +17,19 @@ stdenv.mkDerivation rec { hash = "sha256-6ErVn4pYPMG5VFjOQURLsHNpN0pGdp55+rjY8988onU="; }; - buildInputs = [ zlib gmp ecm ]; + buildInputs = [ + zlib + gmp + ecm + ]; ECM = if ecm == null then "0" else "1"; # Doesn't hurt Linux but lets clang-based platforms like Darwin work fine too - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "all" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "all" + ]; installPhase = '' mkdir -p $out/bin/ diff --git a/pkgs/by-name/ms/msilbc/package.nix b/pkgs/by-name/ms/msilbc/package.nix index b5eaee26aa033..8addbb00b0266 100644 --- a/pkgs/by-name/ms/msilbc/package.nix +++ b/pkgs/by-name/ms/msilbc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, ilbc, mediastreamer, pkg-config }: +{ + lib, + stdenv, + fetchurl, + ilbc, + mediastreamer, + pkg-config, +}: stdenv.mkDerivation rec { pname = "msilbc"; @@ -9,12 +16,17 @@ stdenv.mkDerivation rec { sha256 = "07j02y994ybh274fp7ydjvi76h34y2c34ndwjpjfcwwr03b48cfp"; }; - propagatedBuildInputs = [ ilbc mediastreamer ]; + propagatedBuildInputs = [ + ilbc + mediastreamer + ]; nativeBuildInputs = [ pkg-config ]; configureFlags = [ - "ILBC_LIBS=ilbc" "ILBC_CFLAGS=-I${ilbc}/include" - "MEDIASTREAMER_LIBS=mediastreamer" "MEDIASTREAMER_CFLAGS=-I${mediastreamer}/include" + "ILBC_LIBS=ilbc" + "ILBC_CFLAGS=-I${ilbc}/include" + "MEDIASTREAMER_LIBS=mediastreamer" + "MEDIASTREAMER_CFLAGS=-I${mediastreamer}/include" ]; meta = with lib; { diff --git a/pkgs/by-name/ms/msitools/package.nix b/pkgs/by-name/ms/msitools/package.nix index 6b190f9c659ea..232e071fe4dd6 100644 --- a/pkgs/by-name/ms/msitools/package.nix +++ b/pkgs/by-name/ms/msitools/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, vala -, gobject-introspection -, perl -, bison -, gettext -, glib -, pkg-config -, libgsf -, gcab -, bzip2 -, gnome +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + vala, + gobject-introspection, + perl, + bison, + gettext, + glib, + pkg-config, + libgsf, + gcab, + bzip2, + gnome, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ms/msldapdump/package.nix b/pkgs/by-name/ms/msldapdump/package.nix index cf232c3df6970..c038dd027ee79 100644 --- a/pkgs/by-name/ms/msldapdump/package.nix +++ b/pkgs/by-name/ms/msldapdump/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ms/mslink/package.nix b/pkgs/by-name/ms/mslink/package.nix index 82c60ab926f0c..f52167c3162e9 100644 --- a/pkgs/by-name/ms/mslink/package.nix +++ b/pkgs/by-name/ms/mslink/package.nix @@ -1,6 +1,7 @@ -{ gccStdenv -, lib -, fetchurl +{ + gccStdenv, + lib, + fetchurl, }: gccStdenv.mkDerivation rec { diff --git a/pkgs/by-name/ms/msr-tools/package.nix b/pkgs/by-name/ms/msr-tools/package.nix index a96a74c764c4e..e725b36f34928 100644 --- a/pkgs/by-name/ms/msr-tools/package.nix +++ b/pkgs/by-name/ms/msr-tools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "msr-tools"; diff --git a/pkgs/by-name/ms/msr/package.nix b/pkgs/by-name/ms/msr/package.nix index 630fc983690d2..ba2a670356ebf 100644 --- a/pkgs/by-name/ms/msr/package.nix +++ b/pkgs/by-name/ms/msr/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, installShellFiles +{ + lib, + stdenv, + fetchzip, + installShellFiles, }: stdenv.mkDerivation rec { @@ -36,6 +37,9 @@ stdenv.mkDerivation rec { mainProgram = "msr"; license = licenses.bsd0; maintainers = with maintainers; [ AndersonTorres ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/ms/mstore/package.nix b/pkgs/by-name/ms/mstore/package.nix index c77667a8d71ae..642cc75463117 100644 --- a/pkgs/by-name/ms/mstore/package.nix +++ b/pkgs/by-name/ms/mstore/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, gfortran -, meson -, ninja -, pkg-config -, python3 -, mctc-lib +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + meson, + ninja, + pkg-config, + python3, + mctc-lib, }: stdenv.mkDerivation rec { @@ -20,11 +21,20 @@ stdenv.mkDerivation rec { hash = "sha256-zfrxdrZ1Um52qTRNGJoqZNQuHhK3xM/mKfk0aBLrcjw="; }; - nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; + nativeBuildInputs = [ + gfortran + meson + ninja + pkg-config + python3 + ]; buildInputs = [ mctc-lib ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' patchShebangs --build config/install-mod.py diff --git a/pkgs/by-name/ms/mstpd/package.nix b/pkgs/by-name/ms/mstpd/package.nix index 0f82fb8fcbdd4..31d289bb7bcda 100644 --- a/pkgs/by-name/ms/mstpd/package.nix +++ b/pkgs/by-name/ms/mstpd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "mstpd"; diff --git a/pkgs/by-name/ms/mswatch/package.nix b/pkgs/by-name/ms/mswatch/package.nix index cf14a411efe6c..68a1f9bed8ac2 100644 --- a/pkgs/by-name/ms/mswatch/package.nix +++ b/pkgs/by-name/ms/mswatch/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchsvn -, pkg-config -, autoreconfHook -, bison -, flex -, glib +{ + lib, + stdenv, + fetchsvn, + pkg-config, + autoreconfHook, + bison, + flex, + glib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/mt/mt-st/package.nix b/pkgs/by-name/mt/mt-st/package.nix index 25ab2f5b2bb12..532598a2e2844 100644 --- a/pkgs/by-name/mt/mt-st/package.nix +++ b/pkgs/by-name/mt/mt-st/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mt-st"; @@ -9,7 +13,10 @@ stdenv.mkDerivation rec { sha256 = "b552775326a327cdcc076c431c5cbc4f4e235ac7c41aa931ad83f94cccb9f6de"; }; - installFlags = [ "PREFIX=$(out)" "EXEC_PREFIX=$(out)" ]; + installFlags = [ + "PREFIX=$(out)" + "EXEC_PREFIX=$(out)" + ]; meta = { description = "Magnetic Tape control tools for Linux"; diff --git a/pkgs/by-name/mt/mtail/package.nix b/pkgs/by-name/mt/mtail/package.nix index 96d7544da2c82..d767d7a34cd6d 100644 --- a/pkgs/by-name/mt/mtail/package.nix +++ b/pkgs/by-name/mt/mtail/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mt/mtdev/package.nix b/pkgs/by-name/mt/mtdev/package.nix index 334cda54d1bf4..b2f2a25641a1c 100644 --- a/pkgs/by-name/mt/mtdev/package.nix +++ b/pkgs/by-name/mt/mtdev/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, evdev-proto -, gitUpdater +{ + lib, + stdenv, + fetchurl, + evdev-proto, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mt/mtm/package.nix b/pkgs/by-name/mt/mtm/package.nix index 8ecbc087894b1..7f54649fb3938 100644 --- a/pkgs/by-name/mt/mtm/package.nix +++ b/pkgs/by-name/mt/mtm/package.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "mtm"; version = "1.2.1"; - outputs = [ "out" "terminfo" ]; + outputs = [ + "out" + "terminfo" + ]; src = fetchFromGitHub { owner = "deadpixi"; @@ -15,7 +23,10 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - makeFlags = [ "DESTDIR=${placeholder "out"}" "MANDIR=${placeholder "out"}/share/man/man1" ]; + makeFlags = [ + "DESTDIR=${placeholder "out"}" + "MANDIR=${placeholder "out"}/share/man/man1" + ]; preInstall = '' mkdir -p $out/bin/ $out/share/man/man1 diff --git a/pkgs/by-name/mt/mtpaint/package.nix b/pkgs/by-name/mt/mtpaint/package.nix index 991eb8925f379..d783ae50f120f 100644 --- a/pkgs/by-name/mt/mtpaint/package.nix +++ b/pkgs/by-name/mt/mtpaint/package.nix @@ -1,10 +1,21 @@ -{ lib, stdenv, fetchFromGitHub -, pkg-config -, freetype, giflib, gtk3, lcms2, libjpeg, libpng, libtiff, openjpeg, gifsicle +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + freetype, + giflib, + gtk3, + lcms2, + libjpeg, + libpng, + libtiff, + openjpeg, + gifsicle, }: stdenv.mkDerivation rec { - pname = "mtPaint"; + pname = "mtPaint"; version = "3.50.01"; src = fetchFromGitHub { @@ -16,10 +27,22 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - freetype giflib gtk3 lcms2 libjpeg libpng libtiff openjpeg gifsicle + freetype + giflib + gtk3 + lcms2 + libjpeg + libpng + libtiff + openjpeg + gifsicle ]; - configureFlags = [ "gtk3" "intl" "man" ]; + configureFlags = [ + "gtk3" + "intl" + "man" + ]; meta = { description = "Simple GTK painting program"; @@ -39,4 +62,3 @@ stdenv.mkDerivation rec { mainProgram = "mtpaint"; }; } - diff --git a/pkgs/by-name/mt/mtpfs/package.nix b/pkgs/by-name/mt/mtpfs/package.nix index a0ca5e5a82aa0..707ce295796be 100644 --- a/pkgs/by-name/mt/mtpfs/package.nix +++ b/pkgs/by-name/mt/mtpfs/package.nix @@ -1,11 +1,27 @@ -{ lib, stdenv, fetchurl, pkg-config, fuse, libmtp, glib, libmad, libid3tag }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, + libmtp, + glib, + libmad, + libid3tag, +}: stdenv.mkDerivation rec { pname = "mtpfs"; version = "1.1"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse libmtp glib libid3tag libmad ]; + buildInputs = [ + fuse + libmtp + glib + libid3tag + libmad + ]; src = fetchurl { url = "https://www.adebenham.com/files/mtp/mtpfs-${version}.tar.gz"; diff --git a/pkgs/by-name/mt/mtr-exporter/package.nix b/pkgs/by-name/mt/mtr-exporter/package.nix index cc807181d12ae..2425226d513ac 100644 --- a/pkgs/by-name/mt/mtr-exporter/package.nix +++ b/pkgs/by-name/mt/mtr-exporter/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mtr-exporter"; diff --git a/pkgs/by-name/mt/mtx/package.nix b/pkgs/by-name/mt/mtx/package.nix index 11112911e648f..92ca4d643eafa 100644 --- a/pkgs/by-name/mt/mtx/package.nix +++ b/pkgs/by-name/mt/mtx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mtx"; diff --git a/pkgs/by-name/mu/mu/package.nix b/pkgs/by-name/mu/mu/package.nix index b698978b2fd08..df073991bff20 100644 --- a/pkgs/by-name/mu/mu/package.nix +++ b/pkgs/by-name/mu/mu/package.nix @@ -1,25 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, glibcLocales -, meson -, ninja -, pkg-config -, python3 -, cld2 -, coreutils -, emacs -, glib -, gmime3 -, texinfo -, xapian +{ + lib, + stdenv, + fetchFromGitHub, + glibcLocales, + meson, + ninja, + pkg-config, + python3, + cld2, + coreutils, + emacs, + glib, + gmime3, + texinfo, + xapian, }: stdenv.mkDerivation rec { pname = "mu"; version = "1.12.7"; - outputs = [ "out" "mu4e" ]; + outputs = [ + "out" + "mu4e" + ]; src = fetchFromGitHub { owner = "djcb"; @@ -57,7 +61,14 @@ stdenv.mkDerivation rec { fi ''; - buildInputs = [ cld2 emacs glib gmime3 texinfo xapian ]; + buildInputs = [ + cld2 + emacs + glib + gmime3 + texinfo + xapian + ]; mesonFlags = [ "-Dguile=disabled" @@ -65,7 +76,13 @@ stdenv.mkDerivation rec { "-Dlispdir=${placeholder "mu4e"}/share/emacs/site-lisp" ]; - nativeBuildInputs = [ pkg-config meson ninja python3 glibcLocales ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + python3 + glibcLocales + ]; doCheck = true; @@ -77,7 +94,11 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; homepage = "https://www.djcbsoftware.nl/code/mu/"; changelog = "https://github.com/djcb/mu/releases/tag/v${version}"; - maintainers = with maintainers; [ antono chvp peterhoeg ]; + maintainers = with maintainers; [ + antono + chvp + peterhoeg + ]; mainProgram = "mu"; platforms = platforms.unix; }; diff --git a/pkgs/by-name/mu/mubeng/package.nix b/pkgs/by-name/mu/mubeng/package.nix index 66344f42f35ce..6a5dedf8fe97f 100644 --- a/pkgs/by-name/mu/mubeng/package.nix +++ b/pkgs/by-name/mu/mubeng/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mu/mueval/package.nix b/pkgs/by-name/mu/mueval/package.nix index f763c69c3737b..db216d9958a60 100644 --- a/pkgs/by-name/mu/mueval/package.nix +++ b/pkgs/by-name/mu/mueval/package.nix @@ -1,15 +1,22 @@ -{ lib, stdenv, makeWrapper, haskellPackages, packages ? (pkgs: []) +{ + lib, + stdenv, + makeWrapper, + haskellPackages, + packages ? (pkgs: [ ]), }: -let defaultPkgs = pkgs: [ pkgs.show - pkgs.simple-reflect - pkgs.QuickCheck - pkgs.mtl - ]; - env = haskellPackages.ghcWithPackages - (pkgs: defaultPkgs pkgs ++ packages pkgs); - -in stdenv.mkDerivation { +let + defaultPkgs = pkgs: [ + pkgs.show + pkgs.simple-reflect + pkgs.QuickCheck + pkgs.mtl + ]; + env = haskellPackages.ghcWithPackages (pkgs: defaultPkgs pkgs ++ packages pkgs); + +in +stdenv.mkDerivation { name = "mueval-env"; inherit (haskellPackages) mueval; diff --git a/pkgs/by-name/mu/muffet/package.nix b/pkgs/by-name/mu/muffet/package.nix index 8e750cc836e05..6ba43eb795341 100644 --- a/pkgs/by-name/mu/muffet/package.nix +++ b/pkgs/by-name/mu/muffet/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mu/muffin/package.nix b/pkgs/by-name/mu/muffin/package.nix index a95834b04c25b..ae846fba95de4 100644 --- a/pkgs/by-name/mu/muffin/package.nix +++ b/pkgs/by-name/mu/muffin/package.nix @@ -1,49 +1,54 @@ -{ stdenv -, lib -, fetchFromGitHub -, substituteAll -, cairo -, cinnamon-desktop -, dbus -, desktop-file-utils -, egl-wayland -, glib -, gobject-introspection -, graphene -, gtk3 -, json-glib -, libcanberra -, libdrm -, libgnomekbd -, libgudev -, libinput -, libstartup_notification -, libwacom -, libxcvt -, libXdamage -, libxkbcommon -, libXtst -, mesa -, meson -, ninja -, pipewire -, pkg-config -, python3 -, udev -, wayland -, wayland-protocols -, wayland-scanner -, wrapGAppsHook3 -, xorgserver -, xwayland -, zenity +{ + stdenv, + lib, + fetchFromGitHub, + substituteAll, + cairo, + cinnamon-desktop, + dbus, + desktop-file-utils, + egl-wayland, + glib, + gobject-introspection, + graphene, + gtk3, + json-glib, + libcanberra, + libdrm, + libgnomekbd, + libgudev, + libinput, + libstartup_notification, + libwacom, + libxcvt, + libXdamage, + libxkbcommon, + libXtst, + mesa, + meson, + ninja, + pipewire, + pkg-config, + python3, + udev, + wayland, + wayland-protocols, + wayland-scanner, + wrapGAppsHook3, + xorgserver, + xwayland, + zenity, }: stdenv.mkDerivation rec { pname = "muffin"; version = "6.4.1"; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; src = fetchFromGitHub { owner = "linuxmint"; diff --git a/pkgs/by-name/mu/mujs/package.nix b/pkgs/by-name/mu/mujs/package.nix index 9bffafe4bd73d..78252d6844dea 100644 --- a/pkgs/by-name/mu/mujs/package.nix +++ b/pkgs/by-name/mu/mujs/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fixDarwinDylibNames -, readline -, gitUpdater +{ + lib, + stdenv, + fetchurl, + fixDarwinDylibNames, + readline, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/mullvad-browser/package.nix b/pkgs/by-name/mu/mullvad-browser/package.nix index ceb2c869bfa9c..67fbc6d31e263 100644 --- a/pkgs/by-name/mu/mullvad-browser/package.nix +++ b/pkgs/by-name/mu/mullvad-browser/package.nix @@ -1,61 +1,62 @@ -{ lib -, stdenv -, fetchurl -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, writeText -, wrapGAppsHook3 -, autoPatchelfHook -, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections -, callPackage - -, atk -, cairo -, dbus -, dbus-glib -, fontconfig -, freetype -, gdk-pixbuf -, glib -, gtk3 -, libxcb -, libX11 -, libXext -, libXrender -, libXt -, libXtst -, mesa -, pango -, pciutils -, zlib - -, libnotifySupport ? stdenv.hostPlatform.isLinux -, libnotify - -, waylandSupport ? stdenv.hostPlatform.isLinux -, libxkbcommon -, libdrm -, libGL - -, mediaSupport ? true -, ffmpeg - -, audioSupport ? mediaSupport - -, pipewireSupport ? audioSupport -, pipewire - -, pulseaudioSupport ? audioSupport -, libpulseaudio -, apulse -, alsa-lib - -, libvaSupport ? mediaSupport -, libva - -# Extra preferences -, extraPrefs ? "" +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + writeText, + wrapGAppsHook3, + autoPatchelfHook, + patchelfUnstable, # have to use patchelfUnstable to support --no-clobber-old-sections + callPackage, + + atk, + cairo, + dbus, + dbus-glib, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + libxcb, + libX11, + libXext, + libXrender, + libXt, + libXtst, + mesa, + pango, + pciutils, + zlib, + + libnotifySupport ? stdenv.hostPlatform.isLinux, + libnotify, + + waylandSupport ? stdenv.hostPlatform.isLinux, + libxkbcommon, + libdrm, + libGL, + + mediaSupport ? true, + ffmpeg, + + audioSupport ? mediaSupport, + + pipewireSupport ? audioSupport, + pipewire, + + pulseaudioSupport ? audioSupport, + libpulseaudio, + apulse, + alsa-lib, + + libvaSupport ? mediaSupport, + libva, + + # Extra preferences + extraPrefs ? "", }: let @@ -83,12 +84,17 @@ let stdenv.cc.cc stdenv.cc.libc zlib - ] ++ lib.optionals libnotifySupport [ libnotify ] - ++ lib.optionals waylandSupport [ libxkbcommon libdrm libGL ] - ++ lib.optionals pipewireSupport [ pipewire ] - ++ lib.optionals pulseaudioSupport [ libpulseaudio ] - ++ lib.optionals libvaSupport [ libva ] - ++ lib.optionals mediaSupport [ ffmpeg ] + ] + ++ lib.optionals libnotifySupport [ libnotify ] + ++ lib.optionals waylandSupport [ + libxkbcommon + libdrm + libGL + ] + ++ lib.optionals pipewireSupport [ pipewire ] + ++ lib.optionals pulseaudioSupport [ libpulseaudio ] + ++ lib.optionals libvaSupport [ libva ] + ++ lib.optionals mediaSupport [ ffmpeg ] ); version = "14.0.3"; @@ -107,24 +113,30 @@ let }; }; - distributionIni = writeText "distribution.ini" (lib.generators.toINI {} { - # Some light branding indicating this build uses our distro preferences - Global = { - id = "nixos"; - version = "1.0"; - about = "Mullvad Browser for NixOS"; - }; - }); + distributionIni = writeText "distribution.ini" ( + lib.generators.toINI { } { + # Some light branding indicating this build uses our distro preferences + Global = { + id = "nixos"; + version = "1.0"; + about = "Mullvad Browser for NixOS"; + }; + } + ); - policiesJson = writeText "policies.json" (builtins.toJSON { - policies.DisableAppUpdate = true; - }); + policiesJson = writeText "policies.json" ( + builtins.toJSON { + policies.DisableAppUpdate = true; + } + ); in stdenv.mkDerivation rec { pname = "mullvad-browser"; inherit version; - src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); + src = + sources.${stdenv.hostPlatform.system} + or (throw "unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook @@ -146,23 +158,29 @@ stdenv.mkDerivation rec { preferLocalBuild = true; allowSubstitutes = false; - desktopItems = [(makeDesktopItem { - name = "mullvad-browser"; - exec = "mullvad-browser %U"; - icon = "mullvad-browser"; - desktopName = "Mullvad Browser"; - genericName = "Web Browser"; - comment = meta.description; - categories = [ "Network" "WebBrowser" "Security" ]; - mimeTypes = [ - "text/html" - "text/xml" - "application/xhtml+xml" - "application/vnd.mozilla.xul+xml" - "x-scheme-handler/http" - "x-scheme-handler/https" - ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = "mullvad-browser"; + exec = "mullvad-browser %U"; + icon = "mullvad-browser"; + desktopName = "Mullvad Browser"; + genericName = "Web Browser"; + comment = meta.description; + categories = [ + "Network" + "WebBrowser" + "Security" + ]; + mimeTypes = [ + "text/html" + "text/xml" + "application/xhtml+xml" + "application/vnd.mozilla.xul+xml" + "x-scheme-handler/http" + "x-scheme-handler/https" + ]; + }) + ]; buildPhase = '' runHook preBuild @@ -212,11 +230,16 @@ stdenv.mkDerivation rec { lockPref("noscript.firstRunRedirection", false); // Allow sandbox access to sound devices if using ALSA directly - ${if (audioSupport && !pulseaudioSupport) then '' - pref("security.sandbox.content.write_path_whitelist", "/dev/snd/"); - '' else '' - clearPref("security.sandbox.content.write_path_whitelist"); - ''} + ${ + if (audioSupport && !pulseaudioSupport) then + '' + pref("security.sandbox.content.write_path_whitelist", "/dev/snd/"); + '' + else + '' + clearPref("security.sandbox.content.write_path_whitelist"); + '' + } ${lib.optionalString (extraPrefs != "") '' ${extraPrefs} @@ -278,11 +301,20 @@ stdenv.mkDerivation rec { mainProgram = "mullvad-browser"; homepage = "https://mullvad.net/en/browser"; platforms = attrNames sources; - maintainers = with maintainers; [ felschr panicgh sigmasquadron ]; + maintainers = with maintainers; [ + felschr + panicgh + sigmasquadron + ]; # MPL2.0+, GPL+, &c. While it's not entirely clear whether # the compound is "libre" in a strict sense (some components place certain # restrictions on redistribution), it's free enough for our purposes. - license = with licenses; [ mpl20 lgpl21Plus lgpl3Plus free ]; + license = with licenses; [ + mpl20 + lgpl21Plus + lgpl3Plus + free + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/mu/mullvad-browser/update.nix b/pkgs/by-name/mu/mullvad-browser/update.nix index 7faf4c31efbf0..148a8ecc9bcd7 100644 --- a/pkgs/by-name/mu/mullvad-browser/update.nix +++ b/pkgs/by-name/mu/mullvad-browser/update.nix @@ -1,29 +1,39 @@ -{ lib -, writeShellScript -, coreutils -, gnused -, gnugrep -, curl -, gnupg -, nix -, common-updater-scripts +{ + lib, + writeShellScript, + coreutils, + gnused, + gnugrep, + curl, + gnupg, + nix, + common-updater-scripts, -# options -, pname -, version -, meta -, baseUrl ? "https://dist.torproject.org/torbrowser/" -# name used to match published archive -, name ? "tor-browser" -, prerelease ? false + # options + pname, + version, + meta, + baseUrl ? "https://dist.torproject.org/torbrowser/", + # name used to match published archive + name ? "tor-browser", + prerelease ? false, }: let - versionMatch = if prerelease - then ''[0-9]+(\.[0-9]+)*.*'' - else ''[0-9]+(\.[0-9]+)*''; -in writeShellScript "update-${pname}" '' - PATH="${lib.makeBinPath [ coreutils curl gnugrep gnused gnupg nix common-updater-scripts ]}" + versionMatch = if prerelease then ''[0-9]+(\.[0-9]+)*.*'' else ''[0-9]+(\.[0-9]+)*''; +in +writeShellScript "update-${pname}" '' + PATH="${ + lib.makeBinPath [ + coreutils + curl + gnugrep + gnused + gnupg + nix + common-updater-scripts + ] + }" set -euo pipefail trap diff --git a/pkgs/by-name/mu/multicharge/package.nix b/pkgs/by-name/mu/multicharge/package.nix index 3660705242f6d..f731d90273384 100644 --- a/pkgs/by-name/mu/multicharge/package.nix +++ b/pkgs/by-name/mu/multicharge/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch2 -, gfortran -, meson -, ninja -, pkg-config -, python3 -, blas -, lapack -, mctc-lib -, mstore +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch2, + gfortran, + meson, + ninja, + pkg-config, + python3, + blas, + lapack, + mctc-lib, + mstore, }: assert !blas.isILP64 && !lapack.isILP64; @@ -36,11 +37,25 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ gfortran meson ninja pkg-config python3 ]; + nativeBuildInputs = [ + gfortran + meson + ninja + pkg-config + python3 + ]; - buildInputs = [ blas lapack mctc-lib mstore ]; + buildInputs = [ + blas + lapack + mctc-lib + mstore + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; doCheck = true; diff --git a/pkgs/by-name/mu/multilockscreen/package.nix b/pkgs/by-name/mu/multilockscreen/package.nix index ad8045e705284..08fa8c8055d2a 100644 --- a/pkgs/by-name/mu/multilockscreen/package.nix +++ b/pkgs/by-name/mu/multilockscreen/package.nix @@ -1,17 +1,39 @@ { - lib, stdenv, makeWrapper, fetchFromGitHub, writeShellScriptBin, - imagemagick, i3lock-color, xdpyinfo, xrandr, bc, feh, procps, xrdb, xset, - gnused, gnugrep, coreutils + lib, + stdenv, + makeWrapper, + fetchFromGitHub, + writeShellScriptBin, + imagemagick, + i3lock-color, + xdpyinfo, + xrandr, + bc, + feh, + procps, + xrdb, + xset, + gnused, + gnugrep, + coreutils, }: let i3lock = writeShellScriptBin "i3lock" '' ${i3lock-color}/bin/i3lock-color "$@" ''; binPath = lib.makeBinPath [ - imagemagick i3lock - xdpyinfo xrandr xset - bc feh procps xrdb - gnused gnugrep coreutils + imagemagick + i3lock + xdpyinfo + xrandr + xset + bc + feh + procps + xrdb + gnused + gnugrep + coreutils ]; in stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/multimarkdown/package.nix b/pkgs/by-name/mu/multimarkdown/package.nix index 91e1c9cb31096..0daf9781aca19 100644 --- a/pkgs/by-name/mu/multimarkdown/package.nix +++ b/pkgs/by-name/mu/multimarkdown/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, perl -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + perl, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/multimon-ng/package.nix b/pkgs/by-name/mu/multimon-ng/package.nix index f71af7e648625..7ccf951639a28 100644 --- a/pkgs/by-name/mu/multimon-ng/package.nix +++ b/pkgs/by-name/mu/multimon-ng/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libpulseaudio, libX11, makeWrapper, sox }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libpulseaudio, + libX11, + makeWrapper, + sox, +}: stdenv.mkDerivation rec { pname = "multimon-ng"; @@ -11,12 +20,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-irKpVerxzjJIiLofoTdySk/PzojuVLgMq2DYF0qPaAM="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio libX11 ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libpulseaudio + libX11 + ]; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; postInstall = '' - wrapProgram $out/bin/multimon-ng --prefix PATH : "${lib.makeBinPath [sox]}" + wrapProgram $out/bin/multimon-ng --prefix PATH : "${lib.makeBinPath [ sox ]}" ''; meta = with lib; { diff --git a/pkgs/by-name/mu/multipart-parser-c/package.nix b/pkgs/by-name/mu/multipart-parser-c/package.nix index ef4834b8c0058..9900a01e4b855 100644 --- a/pkgs/by-name/mu/multipart-parser-c/package.nix +++ b/pkgs/by-name/mu/multipart-parser-c/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/multipath-tools/package.nix b/pkgs/by-name/mu/multipath-tools/package.nix index 9fe8630e22757..536e0777898da 100644 --- a/pkgs/by-name/mu/multipath-tools/package.nix +++ b/pkgs/by-name/mu/multipath-tools/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, coreutils +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + coreutils, -, perl -, pkg-config + perl, + pkg-config, -, json_c -, libaio -, liburcu -, linuxHeaders -, lvm2 -, readline -, systemd -, util-linuxMinimal + json_c, + libaio, + liburcu, + linuxHeaders, + lvm2, + readline, + systemd, + util-linuxMinimal, -, cmocka -, nixosTests + cmocka, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/multirun/package.nix b/pkgs/by-name/mu/multirun/package.nix index 2886c2ec492b6..1ecc3c8f9e9ed 100644 --- a/pkgs/by-name/mu/multirun/package.nix +++ b/pkgs/by-name/mu/multirun/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/multitail/package.nix b/pkgs/by-name/mu/multitail/package.nix index 5a89b997512e1..9bca4a902a187 100644 --- a/pkgs/by-name/mu/multitail/package.nix +++ b/pkgs/by-name/mu/multitail/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, pkg-config, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + pkg-config, + cmake, +}: stdenv.mkDerivation rec { version = "7.1.5"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-c9NlQLgHngNBbADZ6/legWFaKHJAQR/LZIfh8bJoc4Y="; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ ncurses ]; diff --git a/pkgs/by-name/mu/multitime/package.nix b/pkgs/by-name/mu/multitime/package.nix index 189a49ad348ee..378f8731eed76 100644 --- a/pkgs/by-name/mu/multitime/package.nix +++ b/pkgs/by-name/mu/multitime/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "multitime"; diff --git a/pkgs/by-name/mu/multiviewer-for-f1/package.nix b/pkgs/by-name/mu/multiviewer-for-f1/package.nix index 408dc0530e179..a7e783972f39f 100644 --- a/pkgs/by-name/mu/multiviewer-for-f1/package.nix +++ b/pkgs/by-name/mu/multiviewer-for-f1/package.nix @@ -1,26 +1,27 @@ -{ stdenvNoCC -, fetchurl -, lib -, makeWrapper -, autoPatchelfHook -, dpkg -, alsa-lib -, at-spi2-atk -, cairo -, cups -, dbus -, expat -, ffmpeg -, glib -, gtk3 -, libdrm -, libudev0-shim -, libxkbcommon -, mesa -, nspr -, nss -, pango -, xorg +{ + stdenvNoCC, + fetchurl, + lib, + makeWrapper, + autoPatchelfHook, + dpkg, + alsa-lib, + at-spi2-atk, + cairo, + cups, + dbus, + expat, + ffmpeg, + glib, + gtk3, + libdrm, + libudev0-shim, + libxkbcommon, + mesa, + nspr, + nss, + pango, + xorg, }: let id = "203624820"; @@ -85,7 +86,9 @@ stdenvNoCC.mkDerivation rec { makeWrapper "$out/share/multiviewer-for-f1/MultiViewer for F1" $out/bin/multiviewer-for-f1 \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libudev0-shim ]}:\"$out/share/Multiviewer for F1\"" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ libudev0-shim ] + }:\"$out/share/Multiviewer for F1\"" runHook postInstall ''; diff --git a/pkgs/by-name/mu/multus-cni/package.nix b/pkgs/by-name/mu/multus-cni/package.nix index ceda5e60c4f44..6db149fca3f7e 100644 --- a/pkgs/by-name/mu/multus-cni/package.nix +++ b/pkgs/by-name/mu/multus-cni/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "multus-cni"; @@ -33,7 +37,10 @@ buildGoModule rec { homepage = "https://github.com/k8snetworkplumbingwg/multus-cni"; license = licenses.asl20; platforms = platforms.linux; - maintainers = with maintainers; [ onixie kashw2 ]; + maintainers = with maintainers; [ + onixie + kashw2 + ]; mainProgram = "multus"; }; } diff --git a/pkgs/by-name/mu/munin/package.nix b/pkgs/by-name/mu/munin/package.nix index 785c0fecf43f6..637d95af89f7a 100644 --- a/pkgs/by-name/mu/munin/package.nix +++ b/pkgs/by-name/mu/munin/package.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, which, coreutils, rrdtool, perlPackages -, python3, ruby, jre8, nettools, bc -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + which, + coreutils, + rrdtool, + perlPackages, + python3, + ruby, + jre8, + nettools, + bc, + nixosTests, }: stdenv.mkDerivation rec { @@ -63,8 +75,8 @@ stdenv.mkDerivation rec { doCheck = false; checkPhase = '' - export PERL5LIB="$PERL5LIB:${rrdtool}/${perlPackages.perl.libPrefix}" - LC_ALL=C make -j1 test + export PERL5LIB="$PERL5LIB:${rrdtool}/${perlPackages.perl.libPrefix}" + LC_ALL=C make -j1 test ''; patches = [ @@ -126,11 +138,27 @@ stdenv.mkDerivation rec { *.jar) continue;; esac wrapProgram "$file" \ - --set PERL5LIB "$out/${perlPackages.perl.libPrefix}:${with perlPackages; makePerlPath [ - LogLog4perl IOSocketINET6 Socket6 URI DBFile TimeDate - HTMLTemplate FileCopyRecursive FCGI NetCIDR NetSNMP NetServer - ListMoreUtils DBDPg LWP rrdtool - ]}" + --set PERL5LIB "$out/${perlPackages.perl.libPrefix}:${ + with perlPackages; + makePerlPath [ + LogLog4perl + IOSocketINET6 + Socket6 + URI + DBFile + TimeDate + HTMLTemplate + FileCopyRecursive + FCGI + NetCIDR + NetSNMP + NetServer + ListMoreUtils + DBDPg + LWP + rrdtool + ] + }" done ''; diff --git a/pkgs/by-name/mu/muon/package.nix b/pkgs/by-name/mu/muon/package.nix index 0e38f4f8e9932..dc32c0114cfbe 100644 --- a/pkgs/by-name/mu/muon/package.nix +++ b/pkgs/by-name/mu/muon/package.nix @@ -1,22 +1,22 @@ -{ lib -, stdenv -, fetchFromSourcehut -, fetchurl -, curl -, libarchive -, libpkgconf -, pkgconf -, python3 -, samurai -, scdoc -, zlib -, embedSamurai ? false -, buildDocs ? true +{ + lib, + stdenv, + fetchFromSourcehut, + fetchurl, + curl, + libarchive, + libpkgconf, + pkgconf, + python3, + samurai, + scdoc, + zlib, + embedSamurai ? false, + buildDocs ? true, }: stdenv.mkDerivation (finalAttrs: { - pname = "muon" - + lib.optionalString embedSamurai "-embedded-samurai"; + pname = "muon" + lib.optionalString embedSamurai "-embedded-samurai"; version = "0.2.0"; src = fetchFromSourcehut { @@ -29,14 +29,15 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" ]; - nativeBuildInputs = [ - pkgconf - samurai - ] - ++ lib.optionals buildDocs [ - (python3.withPackages (ps: [ ps.pyyaml ])) - scdoc - ]; + nativeBuildInputs = + [ + pkgconf + samurai + ] + ++ lib.optionals buildDocs [ + (python3.withPackages (ps: [ ps.pyyaml ])) + scdoc + ]; buildInputs = [ curl @@ -48,61 +49,66 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - postUnpack = let - # URLs manually extracted from subprojects directory - meson-docs-wrap = fetchurl { - name = "meson-docs-wrap"; - url = "https://mochiro.moe/wrap/meson-docs-1.0.1-19-gdd8d4ee22.tar.gz"; - hash = "sha256-jHSPdLFR5jUeds4e+hLZ6JOblor5iuCV5cIwoc4K9gI="; - }; - - samurai-wrap = fetchurl { - name = "samurai-wrap"; - url = "https://mochiro.moe/wrap/samurai-1.2-32-g81cef5d.tar.gz"; - hash = "sha256-aPMAtScqweGljvOLaTuR6B0A0GQQQrVbRviXY4dpCoc="; - }; - in '' - pushd $sourceRoot/subprojects - ${lib.optionalString buildDocs "tar xvf ${meson-docs-wrap}"} - ${lib.optionalString embedSamurai "tar xvf ${samurai-wrap}"} - popd - ''; - - postPatch = '' - patchShebangs bootstrap.sh - '' - + lib.optionalString buildDocs '' - patchShebangs subprojects/meson-docs/docs/genrefman.py - ''; + postUnpack = + let + # URLs manually extracted from subprojects directory + meson-docs-wrap = fetchurl { + name = "meson-docs-wrap"; + url = "https://mochiro.moe/wrap/meson-docs-1.0.1-19-gdd8d4ee22.tar.gz"; + hash = "sha256-jHSPdLFR5jUeds4e+hLZ6JOblor5iuCV5cIwoc4K9gI="; + }; + + samurai-wrap = fetchurl { + name = "samurai-wrap"; + url = "https://mochiro.moe/wrap/samurai-1.2-32-g81cef5d.tar.gz"; + hash = "sha256-aPMAtScqweGljvOLaTuR6B0A0GQQQrVbRviXY4dpCoc="; + }; + in + '' + pushd $sourceRoot/subprojects + ${lib.optionalString buildDocs "tar xvf ${meson-docs-wrap}"} + ${lib.optionalString embedSamurai "tar xvf ${samurai-wrap}"} + popd + ''; + + postPatch = + '' + patchShebangs bootstrap.sh + '' + + lib.optionalString buildDocs '' + patchShebangs subprojects/meson-docs/docs/genrefman.py + ''; # tests try to access "~" postConfigure = '' export HOME=$(mktemp -d) ''; - buildPhase = let - muonBool = lib.mesonBool; - muonEnable = lib.mesonEnable; + buildPhase = + let + muonBool = lib.mesonBool; + muonEnable = lib.mesonEnable; - cmdlineForMuon = lib.concatStringsSep " " [ - (muonBool "static" stdenv.targetPlatform.isStatic) - (muonEnable "docs" buildDocs) - (muonEnable "samurai" embedSamurai) - ]; - cmdlineForSamu = "-j$NIX_BUILD_CORES"; - in '' - runHook preBuild + cmdlineForMuon = lib.concatStringsSep " " [ + (muonBool "static" stdenv.targetPlatform.isStatic) + (muonEnable "docs" buildDocs) + (muonEnable "samurai" embedSamurai) + ]; + cmdlineForSamu = "-j$NIX_BUILD_CORES"; + in + '' + runHook preBuild - ./bootstrap.sh stage-1 + ./bootstrap.sh stage-1 - ./stage-1/muon setup ${cmdlineForMuon} stage-2 - samu ${cmdlineForSamu} -C stage-2 + ./stage-1/muon setup ${cmdlineForMuon} stage-2 + samu ${cmdlineForSamu} -C stage-2 - stage-2/muon setup -Dprefix=$out ${cmdlineForMuon} stage-3 - samu ${cmdlineForSamu} -C stage-3 + stage-2/muon setup -Dprefix=$out ${cmdlineForMuon} stage-3 + samu ${cmdlineForSamu} -C stage-3 - runHook postBuild - ''; + runHook postBuild + ''; # tests are failing because they don't find Python doCheck = false; diff --git a/pkgs/by-name/mu/muonlang/package.nix b/pkgs/by-name/mu/muonlang/package.nix index aef02bca970de..5882e2e26f0ec 100644 --- a/pkgs/by-name/mu/muonlang/package.nix +++ b/pkgs/by-name/mu/muonlang/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "muon"; diff --git a/pkgs/by-name/mu/muparser/package.nix b/pkgs/by-name/mu/muparser/package.nix index c73273d522de5..467b36ce95019 100644 --- a/pkgs/by-name/mu/muparser/package.nix +++ b/pkgs/by-name/mu/muparser/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + llvmPackages, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/muparserx/package.nix b/pkgs/by-name/mu/muparserx/package.nix index 957e49c4d6d77..4c1071eb2c682 100644 --- a/pkgs/by-name/mu/muparserx/package.nix +++ b/pkgs/by-name/mu/muparserx/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mu/mupdf/package.nix b/pkgs/by-name/mu/mupdf/package.nix index 25d8686b50d9d..40b03c5a97e08 100644 --- a/pkgs/by-name/mu/mupdf/package.nix +++ b/pkgs/by-name/mu/mupdf/package.nix @@ -1,46 +1,47 @@ -{ stdenv -, lib -, fetchurl -, fetchFromGitHub -, copyDesktopItems -, makeDesktopItem -, desktopToDarwinBundle -, buildPackages -, pkg-config -, fixDarwinDylibNames -, freetype -, harfbuzz -, openjpeg -, jbig2dec -, libjpeg -, darwin -, gumbo -, enableX11 ? (!stdenv.hostPlatform.isDarwin) -, libX11 -, libXext -, libXi -, libXrandr -, enableCurl ? true -, curl -, openssl -, enableGL ? true -, freeglut -, libGLU -, enableOcr ? false -, leptonica -, tesseract -, enableCxx ? false -, python3 -, enablePython ? false -, which -, swig -, xcbuild -, gitUpdater - -# for passthru.tests -, cups-filters -, zathura -, mupdf +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + copyDesktopItems, + makeDesktopItem, + desktopToDarwinBundle, + buildPackages, + pkg-config, + fixDarwinDylibNames, + freetype, + harfbuzz, + openjpeg, + jbig2dec, + libjpeg, + darwin, + gumbo, + enableX11 ? (!stdenv.hostPlatform.isDarwin), + libX11, + libXext, + libXi, + libXrandr, + enableCurl ? true, + curl, + openssl, + enableGL ? true, + freeglut, + libGLU, + enableOcr ? false, + leptonica, + tesseract, + enableCxx ? false, + python3, + enablePython ? false, + which, + swig, + xcbuild, + gitUpdater, + + # for passthru.tests + cups-filters, + zathura, + mupdf, }: assert enablePython -> enableCxx; @@ -92,35 +93,80 @@ stdenv.mkDerivation rec { done ''; - makeFlags = [ - "prefix=$(out)" - "shared=yes" - "USE_SYSTEM_LIBS=yes" - "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" - ] ++ lib.optionals (!enableX11) [ "HAVE_X11=no" ] + makeFlags = + [ + "prefix=$(out)" + "shared=yes" + "USE_SYSTEM_LIBS=yes" + "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" + ] + ++ lib.optionals (!enableX11) [ "HAVE_X11=no" ] ++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ] ++ lib.optionals (enableOcr) [ "USE_TESSERACT=yes" ]; - nativeBuildInputs = [ pkg-config ] + nativeBuildInputs = + [ pkg-config ] ++ lib.optional (enableGL || enableX11) copyDesktopItems ++ lib.optional (stdenv.hostPlatform.isDarwin && (enableGL || enableX11)) desktopToDarwinBundle - ++ lib.optionals (enableCxx || enablePython) [ (python3.pythonOnBuildForHost.withPackages (ps: [ ps.setuptools ps.libclang ])) ] - ++ lib.optionals (enablePython) [ which swig ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames xcbuild ]; + ++ lib.optionals (enableCxx || enablePython) [ + (python3.pythonOnBuildForHost.withPackages (ps: [ + ps.setuptools + ps.libclang + ])) + ] + ++ lib.optionals (enablePython) [ + which + swig + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + xcbuild + ]; - buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ] - ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ] - ++ lib.optionals enableCurl [ curl openssl ] + buildInputs = + [ + freetype + harfbuzz + openjpeg + jbig2dec + libjpeg + gumbo + ] + ++ lib.optionals enableX11 [ + libX11 + libXext + libXi + libXrandr + ] + ++ lib.optionals enableCurl [ + curl + openssl + ] ++ lib.optionals enableGL ( if stdenv.hostPlatform.isDarwin then - with darwin.apple_sdk.frameworks; [ GLUT OpenGL ] + with darwin.apple_sdk.frameworks; + [ + GLUT + OpenGL + ] else - [ freeglut-mupdf libGLU ] + [ + freeglut-mupdf + libGLU + ] ) - ++ lib.optionals enableOcr [ leptonica tesseract ] - ; + ++ lib.optionals enableOcr [ + leptonica + tesseract + ]; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; preConfigure = '' # Don't remove mujs because upstream version is incompatible @@ -149,50 +195,75 @@ stdenv.mkDerivation rec { "application/x-cbz" "application/x-pdf" ]; - categories = [ "Graphics" "Viewer" ]; + categories = [ + "Graphics" + "Viewer" + ]; keywords = [ - "mupdf" "comic" "document" "ebook" "viewer" - "cbz" "epub" "fb2" "pdf" "xps" + "mupdf" + "comic" + "document" + "ebook" + "viewer" + "cbz" + "epub" + "fb2" + "pdf" + "xps" ]; }) ]; - postInstall = '' - mkdir -p "$out/lib/pkgconfig" - cat >"$out/lib/pkgconfig/mupdf.pc" <"$out/lib/pkgconfig/mupdf.pc" < sslSupport; assert gpgmeSupport -> sslSupport; @@ -24,73 +31,84 @@ assert gpgmeSupport -> sslSupport; stdenv.mkDerivation rec { pname = "mutt"; version = "2.2.13"; - outputs = [ "out" "doc" "info" ]; + outputs = [ + "out" + "doc" + "info" + ]; src = fetchurl { url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz"; hash = "sha256-6yP63cHMl9hnaT86Sp8wlJrZN2WtW2/a4nl6QAHFjvs="; }; - patches = [ - # Avoid build-only references embedding into 'mutt -v' output. - ./no-build-only-refs.patch - ] ++ lib.optional smimeSupport (fetchpatch { - url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.10.1-2/debian/patches/misc/smime.rc.patch"; - sha256 = "0b4i00chvx6zj9pcb06x2jysmrcb2znn831lcy32cgfds6gr3nsi"; - }); + patches = + [ + # Avoid build-only references embedding into 'mutt -v' output. + ./no-build-only-refs.patch + ] + ++ lib.optional smimeSupport (fetchpatch { + url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.10.1-2/debian/patches/misc/smime.rc.patch"; + sha256 = "0b4i00chvx6zj9pcb06x2jysmrcb2znn831lcy32cgfds6gr3nsi"; + }); strictDeps = true; nativeBuildInputs = [ - perl which + perl + which ]; buildInputs = [ ncurses ] - ++ lib.optional headerCache gdbm - ++ lib.optional sslSupport openssl - ++ lib.optional gssSupport libkrb5 - ++ lib.optional saslSupport cyrus_sasl; - - configureFlags = [ - (lib.enableFeature headerCache "hcache") - (lib.enableFeature gpgmeSupport "gpgme") - (lib.enableFeature imapSupport "imap") - (lib.enableFeature smtpSupport "smtp") - (lib.enableFeature pop3Support "pop") - (lib.enableFeature withSidebar "sidebar") - "--with-mailpath=" - - # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail - "ac_cv_path_SENDMAIL=sendmail" - - # This allows calls with "-d N", that output debug info into ~/.muttdebug* - "--enable-debug" - - # The next allows building mutt without having anything setgid - # set by the installer, and removing the need for the group 'mail' - # I set the value 'mailbox' because it is a default in the configure script - "--with-homespool=mailbox" - ] ++ lib.optional sslSupport "--with-ssl" - ++ lib.optional gssSupport "--with-gss" - ++ lib.optional saslSupport "--with-sasl" + ++ lib.optional headerCache gdbm + ++ lib.optional sslSupport openssl + ++ lib.optional gssSupport libkrb5 + ++ lib.optional saslSupport cyrus_sasl; + + configureFlags = + [ + (lib.enableFeature headerCache "hcache") + (lib.enableFeature gpgmeSupport "gpgme") + (lib.enableFeature imapSupport "imap") + (lib.enableFeature smtpSupport "smtp") + (lib.enableFeature pop3Support "pop") + (lib.enableFeature withSidebar "sidebar") + "--with-mailpath=" + + # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail + "ac_cv_path_SENDMAIL=sendmail" + + # This allows calls with "-d N", that output debug info into ~/.muttdebug* + "--enable-debug" + + # The next allows building mutt without having anything setgid + # set by the installer, and removing the need for the group 'mail' + # I set the value 'mailbox' because it is a default in the configure script + "--with-homespool=mailbox" + ] + ++ lib.optional sslSupport "--with-ssl" + ++ lib.optional gssSupport "--with-gss" + ++ lib.optional saslSupport "--with-sasl" ++ lib.optional gpgmeSupport "--with-gpgme-prefix=${lib.getDev gpgme}"; postPatch = lib.optionalString (smimeSupport || gpgmeSupport) '' sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl ''; - postInstall = lib.optionalString smimeSupport '' - # S/MIME setup - cp contrib/smime.rc $out/etc/smime.rc - sed -i 's#openssl#${openssl}/bin/openssl#' $out/etc/smime.rc - echo "source $out/etc/smime.rc" >> $out/etc/Muttrc - '' + lib.optionalString gpgSupport '' - # GnuPG setup - cp contrib/gpg.rc $out/etc/gpg.rc - sed -i 's#\(command="\)gpg #\1${gnupg}/bin/gpg #' $out/etc/gpg.rc - echo "source $out/etc/gpg.rc" >> $out/etc/Muttrc - ''; + postInstall = + lib.optionalString smimeSupport '' + # S/MIME setup + cp contrib/smime.rc $out/etc/smime.rc + sed -i 's#openssl#${openssl}/bin/openssl#' $out/etc/smime.rc + echo "source $out/etc/smime.rc" >> $out/etc/Muttrc + '' + + lib.optionalString gpgSupport '' + # GnuPG setup + cp contrib/gpg.rc $out/etc/gpg.rc + sed -i 's#\(command="\)gpg #\1${gnupg}/bin/gpg #' $out/etc/gpg.rc + echo "source $out/etc/gpg.rc" >> $out/etc/Muttrc + ''; passthru = { updateScript = writeScript "update-mutt" '' diff --git a/pkgs/by-name/mu/muzika/package.nix b/pkgs/by-name/mu/muzika/package.nix index d3b4e3d274522..fd537eb1675d3 100644 --- a/pkgs/by-name/mu/muzika/package.nix +++ b/pkgs/by-name/mu/muzika/package.nix @@ -1,24 +1,25 @@ -{ lib -, desktop-file-utils -, fetchFromGitHub -, fetchYarnDeps -, fixup-yarn-lock -, gjs -, glib-networking -, gobject-introspection -, gst_all_1 -, gtk4 -, libadwaita -, libsoup_3 -, meson -, ninja -, pkg-config -, stdenv -, wrapGAppsHook4 -, yarn -, nodejs -, blueprint-compiler -, libsecret +{ + lib, + desktop-file-utils, + fetchFromGitHub, + fetchYarnDeps, + fixup-yarn-lock, + gjs, + glib-networking, + gobject-introspection, + gst_all_1, + gtk4, + libadwaita, + libsoup_3, + meson, + ninja, + pkg-config, + stdenv, + wrapGAppsHook4, + yarn, + nodejs, + blueprint-compiler, + libsecret, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mv/mvapich/package.nix b/pkgs/by-name/mv/mvapich/package.nix index 1299d06d46877..c70fa731d003d 100644 --- a/pkgs/by-name/mv/mvapich/package.nix +++ b/pkgs/by-name/mv/mvapich/package.nix @@ -1,16 +1,35 @@ -{ lib, stdenv, fetchurl, pkg-config, bison, numactl, libxml2 -, perl, gfortran, slurm, openssh, hwloc, zlib, makeWrapper -# InfiniBand dependencies -, opensm, rdma-core -# OmniPath dependencies -, libpsm2, libfabric -# Compile with slurm as a process manager -, useSlurm ? false -# Network type for MVAPICH2 -, network ? "ethernet" -} : +{ + lib, + stdenv, + fetchurl, + pkg-config, + bison, + numactl, + libxml2, + perl, + gfortran, + slurm, + openssh, + hwloc, + zlib, + makeWrapper, + # InfiniBand dependencies + opensm, + rdma-core, + # OmniPath dependencies + libpsm2, + libfabric, + # Compile with slurm as a process manager + useSlurm ? false, + # Network type for MVAPICH2 + network ? "ethernet", +}: -assert builtins.elem network [ "ethernet" "infiniband" "omnipath" ]; +assert builtins.elem network [ + "ethernet" + "infiniband" + "omnipath" +]; stdenv.mkDerivation rec { pname = "mvapich"; @@ -21,32 +40,63 @@ stdenv.mkDerivation rec { sha256 = "sha256-w5pEkvS+UN9hAHhXSLoolOI85FCpQSgYHVFtpXV3Ua4="; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; - nativeBuildInputs = [ pkg-config bison makeWrapper gfortran ]; - propagatedBuildInputs = [ numactl rdma-core zlib opensm ]; - buildInputs = [ + nativeBuildInputs = [ + pkg-config + bison + makeWrapper + gfortran + ]; + propagatedBuildInputs = [ numactl - libxml2 - perl - openssh - hwloc - ] ++ lib.optionals (network == "infiniband") [ rdma-core opensm ] - ++ lib.optionals (network == "omnipath") [ libpsm2 libfabric ] + rdma-core + zlib + opensm + ]; + buildInputs = + [ + numactl + libxml2 + perl + openssh + hwloc + ] + ++ lib.optionals (network == "infiniband") [ + rdma-core + opensm + ] + ++ lib.optionals (network == "omnipath") [ + libpsm2 + libfabric + ] ++ lib.optional useSlurm slurm; - configureFlags = [ - "--with-pm=hydra" - "--enable-fortran=all" - "--enable-cxx" - "--enable-threads=multiple" - "--enable-hybrid" - "--enable-shared" - "FFLAGS=-fallow-argument-mismatch" # fix build with gfortran 10 - ] ++ lib.optional useSlurm "--with-pm=slurm" + configureFlags = + [ + "--with-pm=hydra" + "--enable-fortran=all" + "--enable-cxx" + "--enable-threads=multiple" + "--enable-hybrid" + "--enable-shared" + "FFLAGS=-fallow-argument-mismatch" # fix build with gfortran 10 + ] + ++ lib.optional useSlurm "--with-pm=slurm" ++ lib.optional (network == "ethernet") "--with-device=ch3:sock" - ++ lib.optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" "--disable-ibv-dlopen" ] - ++ lib.optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"]; + ++ lib.optionals (network == "infiniband") [ + "--with-device=ch3:mrail" + "--with-rdma=gen2" + "--disable-ibv-dlopen" + ] + ++ lib.optionals (network == "omnipath") [ + "--with-device=ch3:psm" + "--with-psm2=${libpsm2}" + ]; doCheck = true; diff --git a/pkgs/by-name/mv/mvebu64boot/package.nix b/pkgs/by-name/mv/mvebu64boot/package.nix index 0c682cebd5e66..61fcad72b47d6 100644 --- a/pkgs/by-name/mv/mvebu64boot/package.nix +++ b/pkgs/by-name/mv/mvebu64boot/package.nix @@ -1,7 +1,8 @@ -{ fetchFromGitHub -, stdenv -, lib -, ncurses +{ + fetchFromGitHub, + stdenv, + lib, + ncurses, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/mw/mw/package.nix b/pkgs/by-name/mw/mw/package.nix index f1b8b9dcf3216..4503f09ec5429 100644 --- a/pkgs/by-name/mw/mw/package.nix +++ b/pkgs/by-name/mw/mw/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage +{ + lib, + fetchFromGitHub, + buildNpmPackage, }: buildNpmPackage rec { diff --git a/pkgs/by-name/mx/mx-takeover/package.nix b/pkgs/by-name/mx/mx-takeover/package.nix index 13804b4e88722..d3799694f37c2 100644 --- a/pkgs/by-name/mx/mx-takeover/package.nix +++ b/pkgs/by-name/mx/mx-takeover/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/mx/mxt-app/package.nix b/pkgs/by-name/mx/mxt-app/package.nix index 02bd829c9431e..7e2635278b652 100644 --- a/pkgs/by-name/mx/mxt-app/package.nix +++ b/pkgs/by-name/mx/mxt-app/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, +}: stdenv.mkDerivation rec { - version="1.41"; + version = "1.41"; pname = "mxt-app"; src = fetchFromGitHub { diff --git a/pkgs/by-name/my/mya/package.nix b/pkgs/by-name/my/mya/package.nix index d33e6aecdf291..073a003498d69 100644 --- a/pkgs/by-name/my/mya/package.nix +++ b/pkgs/by-name/my/mya/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, curl -, json_c -, libbsd -, argp-standalone +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + curl, + json_c, + libbsd, + argp-standalone, }: stdenv.mkDerivation (finalAttrs: { @@ -25,13 +26,15 @@ stdenv.mkDerivation (finalAttrs: { ninja ]; - buildInputs = [ - curl - json_c - libbsd - ] ++ lib.optionals (!stdenv.hostPlatform.isGnu) [ - argp-standalone - ]; + buildInputs = + [ + curl + json_c + libbsd + ] + ++ lib.optionals (!stdenv.hostPlatform.isGnu) [ + argp-standalone + ]; patches = [ ./argp.patch diff --git a/pkgs/by-name/my/myanon/package.nix b/pkgs/by-name/my/myanon/package.nix index 3ac096267e6d9..0123698f6e2a1 100644 --- a/pkgs/by-name/my/myanon/package.nix +++ b/pkgs/by-name/my/myanon/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, flex -, bison +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + flex, + bison, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-sB6ykRywaoG2gfHOEQ9UoVn62nMciBWgCM9DhovBoe0="; }; - nativeBuildInputs = [ autoreconfHook flex bison ]; + nativeBuildInputs = [ + autoreconfHook + flex + bison + ]; meta = { description = "Myanon is a mysqldump anonymizer, reading a dump from stdin, and producing on the fly an anonymized version to stdout"; @@ -27,4 +32,3 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; }; }) - diff --git a/pkgs/by-name/my/mycorrhiza/package.nix b/pkgs/by-name/my/mycorrhiza/package.nix index 02f19ed08b75c..9ffd22c450e62 100644 --- a/pkgs/by-name/my/mycorrhiza/package.nix +++ b/pkgs/by-name/my/mycorrhiza/package.nix @@ -1,5 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, buildGoModule -, makeWrapper, git +{ + stdenv, + lib, + fetchFromGitHub, + buildGoModule, + makeWrapper, + git, }: buildGoModule rec { diff --git a/pkgs/by-name/my/mycrypto/package.nix b/pkgs/by-name/my/mycrypto/package.nix index 0798b888d022e..04f713d2a30fc 100644 --- a/pkgs/by-name/my/mycrypto/package.nix +++ b/pkgs/by-name/my/mycrypto/package.nix @@ -1,4 +1,9 @@ -{ lib, appimageTools, fetchurl, makeDesktopItem }: +{ + lib, + appimageTools, + fetchurl, + makeDesktopItem, +}: let pname = "MyCrypto"; @@ -23,7 +28,8 @@ let categories = [ "Finance" ]; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/my/mydumper/package.nix b/pkgs/by-name/my/mydumper/package.nix index a6a1370646ca1..865f5f7b8c0fb 100644 --- a/pkgs/by-name/my/mydumper/package.nix +++ b/pkgs/by-name/my/mydumper/package.nix @@ -1,10 +1,26 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, pkg-config, sphinx, python3Packages -, glib, pcre, pcre2, util-linux -, libsysprof-capture, libmysqlclient, libressl -, zlib, zstd -, libselinux, libsepol -, nix-update-script, testers, versionCheckHook, mydumper +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + sphinx, + python3Packages, + glib, + pcre, + pcre2, + util-linux, + libsysprof-capture, + libmysqlclient, + libressl, + zlib, + zstd, + libselinux, + libsepol, + nix-update-script, + testers, + versionCheckHook, + mydumper, }: stdenv.mkDerivation rec { @@ -20,18 +36,38 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; - nativeBuildInputs = [ cmake pkg-config sphinx python3Packages.furo ]; + nativeBuildInputs = [ + cmake + pkg-config + sphinx + python3Packages.furo + ]; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; - buildInputs = [ - glib pcre pcre2 util-linux - libmysqlclient libressl libsysprof-capture - zlib zstd - ] ++ lib.optionals stdenv.isLinux [ libselinux libsepol ]; + buildInputs = + [ + glib + pcre + pcre2 + util-linux + libmysqlclient + libressl + libsysprof-capture + zlib + zstd + ] + ++ lib.optionals stdenv.isLinux [ + libselinux + libsepol + ]; cmakeFlags = [ "-DBUILD_DOCS=ON" @@ -78,6 +114,9 @@ stdenv.mkDerivation rec { changelog = "https://github.com/mydumper/mydumper/releases/tag/v${version}"; license = licenses.gpl3Plus; platforms = lib.platforms.unix; - maintainers = with maintainers; [ izorkin michaelglass ]; + maintainers = with maintainers; [ + izorkin + michaelglass + ]; }; } diff --git a/pkgs/by-name/my/mylvmbackup/package.nix b/pkgs/by-name/my/mylvmbackup/package.nix index 590a4655eb402..b45d653fe0453 100644 --- a/pkgs/by-name/my/mylvmbackup/package.nix +++ b/pkgs/by-name/my/mylvmbackup/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, perlPackages -, makeWrapper +{ + lib, + stdenv, + fetchurl, + perlPackages, + makeWrapper, }: stdenv.mkDerivation rec { @@ -29,15 +30,18 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram "$out/bin/mylvmbackup" \ - --prefix PERL5LIB : "${perlPackages.makePerlPath ( - with perlPackages; [ - ConfigIniFiles - DBDmysql - DBI - TimeDate - FileCopyRecursive - ] - )}" + --prefix PERL5LIB : "${ + perlPackages.makePerlPath ( + with perlPackages; + [ + ConfigIniFiles + DBDmysql + DBI + TimeDate + FileCopyRecursive + ] + ) + }" ''; meta = { diff --git a/pkgs/by-name/my/mympd/package.nix b/pkgs/by-name/my/mympd/package.nix index dd38997971d68..c0362e214b295 100644 --- a/pkgs/by-name/my/mympd/package.nix +++ b/pkgs/by-name/my/mympd/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libmpdclient -, openssl -, lua5_3 -, libid3tag -, flac -, pcre2 -, gzip -, perl -, jq -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libmpdclient, + openssl, + lua5_3, + libid3tag, + flac, + pcre2, + gzip, + perl, + jq, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/my/mynewt-newtmgr/package.nix b/pkgs/by-name/my/mynewt-newtmgr/package.nix index d78c6304a1e36..bf9e547b10407 100644 --- a/pkgs/by-name/my/mynewt-newtmgr/package.nix +++ b/pkgs/by-name/my/mynewt-newtmgr/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv -, testers -, mynewt-newtmgr +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + testers, + mynewt-newtmgr, }: buildGoModule rec { @@ -13,7 +14,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "apache"; repo = "mynewt-newtmgr"; - rev = "mynewt_${builtins.replaceStrings ["."] ["_"] version}_tag"; + rev = "mynewt_${builtins.replaceStrings [ "." ] [ "_" ] version}_tag"; sha256 = "sha256-fobaMkYLLK5qclogtClGdOjgTbmuse/72T3APNssYa4="; }; diff --git a/pkgs/by-name/my/mypaint/package.nix b/pkgs/by-name/my/mypaint/package.nix index 10a19431dbfca..2977a381c9f98 100644 --- a/pkgs/by-name/my/mypaint/package.nix +++ b/pkgs/by-name/my/mypaint/package.nix @@ -1,26 +1,33 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, gtk3 -, gettext -, json_c -, lcms2 -, libpng -, librsvg -, gobject-introspection -, libmypaint -, hicolor-icon-theme -, mypaint-brushes -, gdk-pixbuf -, pkg-config -, python3 -, swig -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + fetchpatch, + gtk3, + gettext, + json_c, + lcms2, + libpng, + librsvg, + gobject-introspection, + libmypaint, + hicolor-icon-theme, + mypaint-brushes, + gdk-pixbuf, + pkg-config, + python3, + swig, + wrapGAppsHook3, }: let - inherit (python3.pkgs) pycairo pygobject3 numpy buildPythonApplication; -in buildPythonApplication rec { + inherit (python3.pkgs) + pycairo + pygobject3 + numpy + buildPythonApplication + ; +in +buildPythonApplication rec { pname = "mypaint"; version = "2.0.1"; format = "other"; diff --git a/pkgs/by-name/my/myrddin/package.nix b/pkgs/by-name/my/myrddin/package.nix index 9ce5185f41dcb..d941dfc6dcaa5 100644 --- a/pkgs/by-name/my/myrddin/package.nix +++ b/pkgs/by-name/my/myrddin/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, bison -, binutils -, makeWrapper +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + bison, + binutils, + makeWrapper, }: stdenv.mkDerivation rec { @@ -53,6 +54,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ]; platforms = platforms.all; # darwin: never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/myrddin.x86_64-darwin - broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; + broken = + (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/by-name/my/myrescue/package.nix b/pkgs/by-name/my/myrescue/package.nix index 975599c219f8a..9a53d03970915 100644 --- a/pkgs/by-name/my/myrescue/package.nix +++ b/pkgs/by-name/my/myrescue/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/my/myrica/package.nix b/pkgs/by-name/my/myrica/package.nix index 5d8aa43a5b21c..bba8fde3e8671 100644 --- a/pkgs/by-name/my/myrica/package.nix +++ b/pkgs/by-name/my/myrica/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "myrica"; diff --git a/pkgs/by-name/my/mysides/package.nix b/pkgs/by-name/my/mysides/package.nix index cdbfee5046a2a..acdd4cb5c6aaa 100644 --- a/pkgs/by-name/my/mysides/package.nix +++ b/pkgs/by-name/my/mysides/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libarchive, p7zip }: +{ + lib, + stdenv, + fetchurl, + libarchive, + p7zip, +}: stdenv.mkDerivation rec { pname = "mysides"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { }; dontBuild = true; - nativeBuildInputs = [ libarchive p7zip ]; + nativeBuildInputs = [ + libarchive + p7zip + ]; unpackPhase = '' 7z x $src diff --git a/pkgs/by-name/my/mysql2pgsql/package.nix b/pkgs/by-name/my/mysql2pgsql/package.nix index d3e24c5598493..47c834240afd9 100644 --- a/pkgs/by-name/my/mysql2pgsql/package.nix +++ b/pkgs/by-name/my/mysql2pgsql/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: # The homepage says this script is mature.. stdenv.mkDerivation rec { diff --git a/pkgs/by-name/my/mysql84/package.nix b/pkgs/by-name/my/mysql84/package.nix index 4e2128a3ef1b3..075c39763ae7e 100644 --- a/pkgs/by-name/my/mysql84/package.nix +++ b/pkgs/by-name/my/mysql84/package.nix @@ -1,6 +1,28 @@ -{ lib, stdenv, fetchurl, bison, cmake, pkg-config -, icu, libedit, libevent, lz4, ncurses, openssl, protobuf_21, re2, readline, zlib, zstd, libfido2 -, cctools, darwin, numactl, libtirpc, rpcsvc-proto, curl +{ + lib, + stdenv, + fetchurl, + bison, + cmake, + pkg-config, + icu, + libedit, + libevent, + lz4, + ncurses, + openssl, + protobuf_21, + re2, + readline, + zlib, + zstd, + libfido2, + cctools, + darwin, + numactl, + libtirpc, + rpcsvc-proto, + curl, }: stdenv.mkDerivation (finalAttrs: { @@ -12,8 +34,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-eslWTEeAIvcwBf+Ju7QPZ7OB/AbVUYQWvf/sdeYluBg="; }; - nativeBuildInputs = [ bison cmake pkg-config ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ]; + nativeBuildInputs = [ + bison + cmake + pkg-config + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ]; patches = [ ./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch @@ -25,16 +50,37 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool ''; - buildInputs = [ - (curl.override { inherit openssl; }) icu libedit libevent lz4 ncurses openssl protobuf_21 re2 readline zlib - zstd libfido2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - numactl libtirpc - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - cctools darwin.apple_sdk.frameworks.CoreServices darwin.developer_cmds darwin.DarwinTools - ]; + buildInputs = + [ + (curl.override { inherit openssl; }) + icu + libedit + libevent + lz4 + ncurses + openssl + protobuf_21 + re2 + readline + zlib + zstd + libfido2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + numactl + libtirpc + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + darwin.apple_sdk.frameworks.CoreServices + darwin.developer_cmds + darwin.DarwinTools + ]; - outputs = [ "out" "static" ]; + outputs = [ + "out" + "static" + ]; cmakeFlags = [ "-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin. @@ -72,7 +118,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.mysql.com/"; description = "World's most popular open source database"; license = licenses.gpl2; - maintainers = with maintainers; [ orivej shyim ]; + maintainers = with maintainers; [ + orivej + shyim + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/my/mysql_jdbc/package.nix b/pkgs/by-name/my/mysql_jdbc/package.nix index 15c9f519be711..bcafbc7b52f52 100644 --- a/pkgs/by-name/my/mysql_jdbc/package.nix +++ b/pkgs/by-name/my/mysql_jdbc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, ant, unzip, gitUpdater }: +{ + lib, + stdenv, + fetchurl, + ant, + unzip, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "mysql-connector-java"; diff --git a/pkgs/by-name/my/mysqltuner/package.nix b/pkgs/by-name/my/mysqltuner/package.nix index f13b455e523bf..ebda96763c015 100644 --- a/pkgs/by-name/my/mysqltuner/package.nix +++ b/pkgs/by-name/my/mysqltuner/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "mysqltuner"; @@ -31,7 +36,10 @@ stdenv.mkDerivation rec { description = "Make recommendations for increased performance and stability of MariaDB/MySQL"; homepage = "https://github.com/major/MySQLTuner-perl"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ peterhoeg shamilton ]; + maintainers = with maintainers; [ + peterhoeg + shamilton + ]; mainProgram = "mysqltuner"; }; } diff --git a/pkgs/by-name/my/mystem/package.nix b/pkgs/by-name/my/mystem/package.nix index 50c2c35749e0c..cd7e9bd1ad2b7 100644 --- a/pkgs/by-name/my/mystem/package.nix +++ b/pkgs/by-name/my/mystem/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mystem"; diff --git a/pkgs/by-name/my/mystmd/package.nix b/pkgs/by-name/my/mystmd/package.nix index 542ead8029916..1c3d41a8c8254 100644 --- a/pkgs/by-name/my/mystmd/package.nix +++ b/pkgs/by-name/my/mystmd/package.nix @@ -1,4 +1,11 @@ -{ lib, buildNpmPackage, fetchFromGitHub, mystmd, testers, nix-update-script }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + mystmd, + testers, + nix-update-script, +}: buildNpmPackage rec { pname = "mystmd"; diff --git a/pkgs/by-name/my/mythes/package.nix b/pkgs/by-name/my/mythes/package.nix index 960fefc74ac14..9fe998421a9bc 100644 --- a/pkgs/by-name/my/mythes/package.nix +++ b/pkgs/by-name/my/mythes/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, hunspell, ncurses, pkg-config, perl }: +{ + lib, + stdenv, + fetchurl, + hunspell, + ncurses, + pkg-config, + perl, +}: stdenv.mkDerivation rec { pname = "mythes"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; buildInputs = [ hunspell ]; - nativeBuildInputs = [ ncurses pkg-config perl ]; + nativeBuildInputs = [ + ncurses + pkg-config + perl + ]; meta = { homepage = "https://hunspell.sourceforge.net/"; diff --git a/pkgs/by-name/my/myxer/package.nix b/pkgs/by-name/my/myxer/package.nix index 8b865ba475f11..73dbad4c79306 100644 --- a/pkgs/by-name/my/myxer/package.nix +++ b/pkgs/by-name/my/myxer/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook3 -, libpulseaudio -, glib -, pango -, gtk3 +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook3, + libpulseaudio, + glib, + pango, + gtk3, }: rustPlatform.buildRustPackage rec { @@ -22,9 +23,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-IH+SLIHO/wu+przH+mgOEnH9m+iAE5s/BJhh0UUHR/0="; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; - buildInputs = [ libpulseaudio glib pango gtk3 ]; + buildInputs = [ + libpulseaudio + glib + pango + gtk3 + ]; postInstall = '' install -Dm644 Myxer.desktop $out/share/applications/Myxer.desktop @@ -37,7 +46,10 @@ rustPlatform.buildRustPackage rec { description = "Modern Volume Mixer for PulseAudio"; homepage = "https://github.com/Aurailus/Myxer"; license = licenses.gpl3Only; - maintainers = with maintainers; [ erin rster2002 ]; + maintainers = with maintainers; [ + erin + rster2002 + ]; mainProgram = "myxer"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/n2/n2/package.nix b/pkgs/by-name/n2/n2/package.nix index 6700cc58a777c..c9293a57aa47f 100644 --- a/pkgs/by-name/n2/n2/package.nix +++ b/pkgs/by-name/n2/n2/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/n2/n2048/package.nix b/pkgs/by-name/n2/n2048/package.nix index 2ae937ee6be27..7b4c570a6fb54 100644 --- a/pkgs/by-name/n2/n2048/package.nix +++ b/pkgs/by-name/n2/n2048/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "n2048"; diff --git a/pkgs/by-name/n2/n2n/package.nix b/pkgs/by-name/n2/n2n/package.nix index cde49d1c392d9..55a7bda111b75 100644 --- a/pkgs/by-name/n2/n2n/package.nix +++ b/pkgs/by-name/n2/n2n/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libcap }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libcap, +}: stdenv.mkDerivation rec { pname = "n2n"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-OXmcc6r+fTHs/tDNF3akSsynB/bVRKB6Fl5oYxmu+E0="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libcap diff --git a/pkgs/by-name/n3/n3/package.nix b/pkgs/by-name/n3/n3/package.nix index e7ae8fb3cea3d..81f6e74ace881 100644 --- a/pkgs/by-name/n3/n3/package.nix +++ b/pkgs/by-name/n3/n3/package.nix @@ -1,15 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, perlPackages, - libminc, ebtks }: + libminc, + ebtks, +}: stdenv.mkDerivation rec { pname = "N3"; version = "unstable-2018-08-09"; src = fetchFromGitHub { - owner = "BIC-MNI"; - repo = pname; - rev = "010fc2ac58ce1d67b8e6a863fac0809d3203cb9b"; + owner = "BIC-MNI"; + repo = pname; + rev = "010fc2ac58ce1d67b8e6a863fac0809d3203cb9b"; sha256 = "06hci7gzhy8p34ggvx7gah2k9yxpwhgmq1cgw8pcd1r82g4rg6kd"; }; @@ -18,11 +25,24 @@ stdenv.mkDerivation rec { --replace "register " "" ''; - nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ libminc ebtks ]; - propagatedBuildInputs = with perlPackages; [ perl MNI-Perllib GetoptTabular ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = [ + libminc + ebtks + ]; + propagatedBuildInputs = with perlPackages; [ + perl + MNI-Perllib + GetoptTabular + ]; - cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/cmake" "-DEBTKS_DIR=${ebtks}/lib/" ]; + cmakeFlags = [ + "-DLIBMINC_DIR=${libminc}/lib/cmake" + "-DEBTKS_DIR=${ebtks}/lib/" + ]; postFixup = '' for p in $out/bin/*; do @@ -35,6 +55,6 @@ stdenv.mkDerivation rec { description = "MRI non-uniformity correction for MINC files"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; - license = licenses.free; + license = licenses.free; }; } diff --git a/pkgs/by-name/n9/n98-magerun/package.nix b/pkgs/by-name/n9/n98-magerun/package.nix index c52fd68473b16..2aadbf8a837b3 100644 --- a/pkgs/by-name/n9/n98-magerun/package.nix +++ b/pkgs/by-name/n9/n98-magerun/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, php81 +{ + lib, + fetchFromGitHub, + php81, }: php81.buildComposerProject (finalAttrs: { diff --git a/pkgs/by-name/na/nabi/package.nix b/pkgs/by-name/na/nabi/package.nix index aba2d2f66c672..dbeedd39f7a09 100644 --- a/pkgs/by-name/na/nabi/package.nix +++ b/pkgs/by-name/na/nabi/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, libhangul }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + libhangul, +}: stdenv.mkDerivation rec { pname = "nabi"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 libhangul ]; + buildInputs = [ + gtk2 + libhangul + ]; meta = with lib; { description = "Easy Hangul XIM"; diff --git a/pkgs/by-name/na/nacelle/package.nix b/pkgs/by-name/na/nacelle/package.nix index e43d0b4402ac6..2ab17a4c87be7 100644 --- a/pkgs/by-name/na/nacelle/package.nix +++ b/pkgs/by-name/na/nacelle/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "1"; diff --git a/pkgs/by-name/na/naev/package.nix b/pkgs/by-name/na/naev/package.nix index 24f21f4df5d81..9f52a1b623cbc 100644 --- a/pkgs/by-name/na/naev/package.nix +++ b/pkgs/by-name/na/naev/package.nix @@ -1,27 +1,28 @@ -{ lib -, SDL2 -, SDL2_image -, enet -, fetchFromGitHub -, freetype -, glpk -, intltool -, libpng -, libunibreak -, libvorbis -, libwebp -, libxml2 -, luajit -, meson -, ninja -, openal -, openblas -, pcre2 -, physfs -, pkg-config -, python3 -, stdenv -, suitesparse +{ + lib, + SDL2, + SDL2_image, + enet, + fetchFromGitHub, + freetype, + glpk, + intltool, + libpng, + libunibreak, + libvorbis, + libwebp, + libxml2, + luajit, + meson, + ninja, + openal, + openblas, + pcre2, + physfs, + pkg-config, + python3, + stdenv, + suitesparse, }: stdenv.mkDerivation rec { @@ -56,7 +57,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - (python3.withPackages (ps: with ps; [ pyyaml mutagen ])) + (python3.withPackages ( + ps: with ps; [ + pyyaml + mutagen + ] + )) meson ninja pkg-config diff --git a/pkgs/by-name/na/nafees/package.nix b/pkgs/by-name/na/nafees/package.nix index e23528aefe805..3e5af2873cff0 100644 --- a/pkgs/by-name/na/nafees/package.nix +++ b/pkgs/by-name/na/nafees/package.nix @@ -1,34 +1,40 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { name = "nafees"; - srcs = [(fetchurl { - url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNastaleeq/Nafees_Nastaleeq_v1.02.zip"; - sha256 = "1h1k5d74pg2gs782910v7i9rz2633wdacy34ds7ybxbpjiz6pqix"; - }) - - (fetchurl { - url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesRiqa/Nafees_Riqa_v1.0.zip"; - sha256 = "1liismsyaj69y40vs9a9db4l95n25n8vnjnx7sbk70nxppwngd8i"; - }) - - (fetchurl { - url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNaskh/Nafees_Naskh_v2.01.zip"; - sha256 = "1qbbj6w6bvrlymv7z6ld609yhp0l2f27z14180w5n8kzzl720vly"; - }) - - (fetchurl { - url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesTahreerNaskh/Nafees_Tahreer_Naskh_v1.0.zip"; - sha256 = "006l87drbi4zh52kpvn8wl9wbwm9srfn406rzsnf4gv0spzhqrxl"; - }) - (fetchurl { - url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesPakistaniNaskh/Nafees_Pakistani_Naskh_v2.01.zip"; - sha256 = "1i5ip60gq1cgc9fc96kvlahdpia8dxdgcisglvbm2d212bz0s5nb"; - }) -]; - - nativeBuildInputs = [unzip]; + srcs = [ + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNastaleeq/Nafees_Nastaleeq_v1.02.zip"; + sha256 = "1h1k5d74pg2gs782910v7i9rz2633wdacy34ds7ybxbpjiz6pqix"; + }) + + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesRiqa/Nafees_Riqa_v1.0.zip"; + sha256 = "1liismsyaj69y40vs9a9db4l95n25n8vnjnx7sbk70nxppwngd8i"; + }) + + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNaskh/Nafees_Naskh_v2.01.zip"; + sha256 = "1qbbj6w6bvrlymv7z6ld609yhp0l2f27z14180w5n8kzzl720vly"; + }) + + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesTahreerNaskh/Nafees_Tahreer_Naskh_v1.0.zip"; + sha256 = "006l87drbi4zh52kpvn8wl9wbwm9srfn406rzsnf4gv0spzhqrxl"; + }) + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesPakistaniNaskh/Nafees_Pakistani_Naskh_v2.01.zip"; + sha256 = "1i5ip60gq1cgc9fc96kvlahdpia8dxdgcisglvbm2d212bz0s5nb"; + }) + ]; + + nativeBuildInputs = [ unzip ]; sourceRoot = "."; diff --git a/pkgs/by-name/na/nagelfar/package.nix b/pkgs/by-name/na/nagelfar/package.nix index 3e379875c4c51..d0e02c9ee3e18 100644 --- a/pkgs/by-name/na/nagelfar/package.nix +++ b/pkgs/by-name/na/nagelfar/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchzip, tcl, tclPackages, tk, }: +{ + lib, + fetchzip, + tcl, + tclPackages, + tk, +}: tcl.mkTclDerivation { pname = "nagelfar"; diff --git a/pkgs/by-name/na/nahid-fonts/package.nix b/pkgs/by-name/na/nahid-fonts/package.nix index 069bf877bf742..b36b78d752e1b 100644 --- a/pkgs/by-name/na/nahid-fonts/package.nix +++ b/pkgs/by-name/na/nahid-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "nahid-fonts"; diff --git a/pkgs/by-name/na/nailgun/package.nix b/pkgs/by-name/na/nailgun/package.nix index 6f4e5505299ee..94541e952287c 100644 --- a/pkgs/by-name/na/nailgun/package.nix +++ b/pkgs/by-name/na/nailgun/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, stdenvNoCC, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper, symlinkJoin }: +{ + lib, + stdenv, + stdenvNoCC, + fetchMavenArtifact, + fetchFromGitHub, + jre, + makeWrapper, + symlinkJoin, +}: let version = "1.0.0"; @@ -61,7 +70,10 @@ symlinkJoin rec { inherit client server version; name = "${pname}-${version}"; - paths = [ client server ]; + paths = [ + client + server + ]; meta = commonMeta // { description = "Client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead"; diff --git a/pkgs/by-name/na/namaka/package.nix b/pkgs/by-name/na/namaka/package.nix index 70e8abc186c68..2763791448128 100644 --- a/pkgs/by-name/na/namaka/package.nix +++ b/pkgs/by-name/na/namaka/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, oniguruma +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + oniguruma, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/na/namazu/package.nix b/pkgs/by-name/na/namazu/package.nix index e748515b05132..9616c9332ba1c 100644 --- a/pkgs/by-name/na/namazu/package.nix +++ b/pkgs/by-name/na/namazu/package.nix @@ -1,4 +1,11 @@ -{ fetchurl, lib, stdenv, perl, perlPackages, makeWrapper }: +{ + fetchurl, + lib, + stdenv, + perl, + perlPackages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "namazu"; @@ -9,11 +16,16 @@ stdenv.mkDerivation rec { sha256 = "1xvi7hrprdchdpzhg3fvk4yifaakzgydza5c0m50h1yvg6vay62w"; }; - buildInputs = [ perl perlPackages.FileMMagic ]; + buildInputs = [ + perl + perlPackages.FileMMagic + ]; nativeBuildInputs = [ makeWrapper ]; postInstall = '' - wrapProgram $out/bin/mknmz --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.FileMMagic ]} + wrapProgram $out/bin/mknmz --set PERL5LIB ${ + perlPackages.makeFullPerlPath [ perlPackages.FileMMagic ] + } ''; meta = { @@ -28,7 +40,7 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; homepage = "http://namazu.org/"; - platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice + platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice maintainers = [ ]; }; } diff --git a/pkgs/by-name/na/namecoind/package.nix b/pkgs/by-name/na/namecoind/package.nix index 42f4be7a227bd..ce27b8fadde6d 100644 --- a/pkgs/by-name/na/namecoind/package.nix +++ b/pkgs/by-name/na/namecoind/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch2, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, hexdump }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + openssl, + boost, + libevent, + autoreconfHook, + db4, + miniupnpc, + eject, + pkg-config, + hexdump, +}: stdenv.mkDerivation rec { pname = "namecoind"; diff --git a/pkgs/by-name/na/namespace-cli/package.nix b/pkgs/by-name/na/namespace-cli/package.nix index 4881a247d59e7..60fa3f562138a 100644 --- a/pkgs/by-name/na/namespace-cli/package.nix +++ b/pkgs/by-name/na/namespace-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -16,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-E9RhELIGOjFa+gDinl4xDR3ckTtdFLqVoAT0HQoI38I="; - subPackages = ["cmd/nsc" "cmd/ns" "cmd/docker-credential-nsc"]; + subPackages = [ + "cmd/nsc" + "cmd/ns" + "cmd/docker-credential-nsc" + ]; ldflags = [ "-s" diff --git a/pkgs/by-name/na/nanoblogger/package.nix b/pkgs/by-name/na/nanoblogger/package.nix index 587bf4ac4d7c4..db9b13872a015 100644 --- a/pkgs/by-name/na/nanoblogger/package.nix +++ b/pkgs/by-name/na/nanoblogger/package.nix @@ -1,4 +1,9 @@ -{ fetchurl, lib, stdenv, bash }: +{ + fetchurl, + lib, + stdenv, + bash, +}: stdenv.mkDerivation rec { version = "3.5-rc1"; diff --git a/pkgs/by-name/na/nanodbc/package.nix b/pkgs/by-name/na/nanodbc/package.nix index 7fca00c1d4596..18691cb6fe359 100644 --- a/pkgs/by-name/na/nanodbc/package.nix +++ b/pkgs/by-name/na/nanodbc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, catch2, cmake, unixODBC }: +{ + lib, + stdenv, + fetchFromGitHub, + catch2, + cmake, + unixODBC, +}: stdenv.mkDerivation rec { pname = "nanodbc"; @@ -19,10 +26,11 @@ stdenv.mkDerivation rec { buildInputs = [ unixODBC ]; - cmakeFlags = if (stdenv.hostPlatform.isStatic) then - [ "-DBUILD_STATIC_LIBS=ON" ] - else - [ "-DBUILD_SHARED_LIBS=ON" ]; + cmakeFlags = + if (stdenv.hostPlatform.isStatic) then + [ "-DBUILD_STATIC_LIBS=ON" ] + else + [ "-DBUILD_SHARED_LIBS=ON" ]; meta = with lib; { homepage = "https://github.com/nanodbc/nanodbc"; diff --git a/pkgs/by-name/na/nanoflann/package.nix b/pkgs/by-name/na/nanoflann/package.nix index f2f883d650dc9..656ff91be8ec9 100644 --- a/pkgs/by-name/na/nanoflann/package.nix +++ b/pkgs/by-name/na/nanoflann/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, buildExamples ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + buildExamples ? false, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/na/nanomq/package.nix b/pkgs/by-name/na/nanomq/package.nix index f5ad6c1bed01a..a67679dffd47b 100644 --- a/pkgs/by-name/na/nanomq/package.nix +++ b/pkgs/by-name/na/nanomq/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, pkg-config -, cyclonedds -, libmysqlclient -, mariadb -, mbedtls -, sqlite -, zeromq -, flex -, bison - -# for tests -, python3 -, mosquitto -, netcat-gnu +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + pkg-config, + cyclonedds, + libmysqlclient, + mariadb, + mbedtls, + sqlite, + zeromq, + flex, + bison, + + # for tests + python3, + mosquitto, + netcat-gnu, }: let @@ -34,13 +35,19 @@ let hash = "sha256-HM5TSMfEr4uv5BuNCQjyZganSQ/ZqT3xZQp0KLmjIEc="; }; - nativeBuildInputs = [ cmake ninja flex bison ]; + nativeBuildInputs = [ + cmake + ninja + flex + bison + ]; # https://github.com/nanomq/idl-serial/issues/36 hardeningDisable = [ "fortify3" ]; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "nanomq"; version = "0.22.1"; @@ -57,9 +64,21 @@ in stdenv.mkDerivation (finalAttrs: { --replace "DESTINATION /etc" "DESTINATION $out/etc" ''; - nativeBuildInputs = [ cmake ninja pkg-config idl-serial ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + idl-serial + ]; - buildInputs = [ cyclonedds libmysqlclient mariadb mbedtls sqlite zeromq ]; + buildInputs = [ + cyclonedds + libmysqlclient + mariadb + mbedtls + sqlite + zeromq + ]; cmakeFlags = [ (lib.cmakeBool "BUILD_BENCH" true) @@ -79,7 +98,13 @@ in stdenv.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ mosquitto netcat-gnu - (python3.withPackages (ps: with ps; [ jinja2 requests paho-mqtt ])) + (python3.withPackages ( + ps: with ps; [ + jinja2 + requests + paho-mqtt + ] + )) ]; installCheckPhase = '' runHook preInstallCheck @@ -103,7 +128,9 @@ in stdenv.mkDerivation (finalAttrs: { ''; passthru.tests = { - withInstallChecks = finalAttrs.finalPackage.overrideAttrs (_: { doInstallCheck = true; }); + withInstallChecks = finalAttrs.finalPackage.overrideAttrs (_: { + doInstallCheck = true; + }); }; meta = with lib; { diff --git a/pkgs/by-name/na/nanomsg/package.nix b/pkgs/by-name/na/nanomsg/package.nix index d7b7409dad14e..f1487c0c09550 100644 --- a/pkgs/by-name/na/nanomsg/package.nix +++ b/pkgs/by-name/na/nanomsg/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, cmake, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { version = "1.1.5"; @@ -28,7 +34,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description= "Socket library that provides several common communication patterns"; + description = "Socket library that provides several common communication patterns"; homepage = "https://nanomsg.org/"; license = licenses.mit; mainProgram = "nanocat"; diff --git a/pkgs/by-name/na/nanopb/generator.nix b/pkgs/by-name/na/nanopb/generator.nix index 15d4e0605b80e..a79fd6fc26548 100644 --- a/pkgs/by-name/na/nanopb/generator.nix +++ b/pkgs/by-name/na/nanopb/generator.nix @@ -1,8 +1,9 @@ -{ python3 -, stdenvNoCC -, protobuf -, version -, generator-out +{ + python3, + stdenvNoCC, + protobuf, + version, + generator-out, }: stdenvNoCC.mkDerivation { pname = "nanopb-generator"; diff --git a/pkgs/by-name/na/nanopb/package.nix b/pkgs/by-name/na/nanopb/package.nix index a2f341594f9ef..f2e308d1b6b94 100644 --- a/pkgs/by-name/na/nanopb/package.nix +++ b/pkgs/by-name/na/nanopb/package.nix @@ -1,122 +1,134 @@ -{ stdenvNoCC -, callPackage -, fetchFromGitHub -, buildPackages -, lib -, enableMalloc ? false -, noPackedStructs ? false -, maxRequiredFields ? null -, field32bit ? false -, noErrmsg ? false -, bufferOnly ? false -, systemHeader ? null -, without64bit ? false -, encodeArraysUnpacked ? false -, convertDoubleFloat ? false -, validateUtf8 ? false -, littleEndian8bit ? false -, c99StaticAssert ? false -, noStaticAssert ? false +{ + stdenvNoCC, + callPackage, + fetchFromGitHub, + buildPackages, + lib, + enableMalloc ? false, + noPackedStructs ? false, + maxRequiredFields ? null, + field32bit ? false, + noErrmsg ? false, + bufferOnly ? false, + systemHeader ? null, + without64bit ? false, + encodeArraysUnpacked ? false, + convertDoubleFloat ? false, + validateUtf8 ? false, + littleEndian8bit ? false, + c99StaticAssert ? false, + noStaticAssert ? false, }: -stdenvNoCC.mkDerivation (self: -let - generator-out = buildPackages.callPackage ./generator-out.nix { inherit (self) src version; }; - python-module = buildPackages.callPackage ./python-module.nix { - inherit (self) version; - inherit (self.passthru) generator-out; - }; - python3 = buildPackages.python3.override { - self = python3; - packageOverrides = _: _: { - nanopb-proto = self.passthru.python-module; +stdenvNoCC.mkDerivation ( + self: + let + generator-out = buildPackages.callPackage ./generator-out.nix { inherit (self) src version; }; + python-module = buildPackages.callPackage ./python-module.nix { + inherit (self) version; + inherit (self.passthru) generator-out; }; - }; - generator = buildPackages.callPackage ./generator.nix { - inherit python3; - inherit (self) version; - inherit (self.passthru) generator-out; - }; - runtime = callPackage ./runtime.nix { - inherit python3; - inherit (self) src version; - inherit - enableMalloc - noPackedStructs - maxRequiredFields - field32bit - noErrmsg - bufferOnly - systemHeader - without64bit - encodeArraysUnpacked - convertDoubleFloat - validateUtf8 - littleEndian8bit - c99StaticAssert - noStaticAssert; - }; -in -{ - pname = "nanopb"; - version = "0.4.9.1"; + python3 = buildPackages.python3.override { + self = python3; + packageOverrides = _: _: { + nanopb-proto = self.passthru.python-module; + }; + }; + generator = buildPackages.callPackage ./generator.nix { + inherit python3; + inherit (self) version; + inherit (self.passthru) generator-out; + }; + runtime = callPackage ./runtime.nix { + inherit python3; + inherit (self) src version; + inherit + enableMalloc + noPackedStructs + maxRequiredFields + field32bit + noErrmsg + bufferOnly + systemHeader + without64bit + encodeArraysUnpacked + convertDoubleFloat + validateUtf8 + littleEndian8bit + c99StaticAssert + noStaticAssert + ; + }; + in + { + pname = "nanopb"; + version = "0.4.9.1"; - src = fetchFromGitHub { - owner = "nanopb"; - repo = "nanopb"; - rev = self.version; - hash = "sha256-bMSZZaF8egAegi3enCM+DRyxOrPoWKAKybvWsrKZEDc="; - }; + src = fetchFromGitHub { + owner = "nanopb"; + repo = "nanopb"; + rev = self.version; + hash = "sha256-bMSZZaF8egAegi3enCM+DRyxOrPoWKAKybvWsrKZEDc="; + }; - dontPatch = true; - dontUnpack = true; + dontPatch = true; + dontUnpack = true; - propagatedNativeBuildInputs = [ generator ]; + propagatedNativeBuildInputs = [ generator ]; - propagatedBuildInputs = [ runtime ]; + propagatedBuildInputs = [ runtime ]; - postInstall = '' - mkdir $out - ln -s ${generator}/bin $out/bin - ln -s ${runtime}/include $out/include - ln -s ${runtime}/lib $out/lib - mkdir -p $out/share/nanopb/generator/proto - ln -s ${self.src}/generator/proto/nanopb.proto $out/share/nanopb/generator/proto/nanopb.proto - ''; + postInstall = '' + mkdir $out + ln -s ${generator}/bin $out/bin + ln -s ${runtime}/include $out/include + ln -s ${runtime}/lib $out/lib + mkdir -p $out/share/nanopb/generator/proto + ln -s ${self.src}/generator/proto/nanopb.proto $out/share/nanopb/generator/proto/nanopb.proto + ''; - passthru = { - inherit runtime generator-out python-module generator; - tests = { - simple-proto2 = callPackage ./test-simple-proto2 { }; - simple-proto3 = callPackage ./test-simple-proto3 { }; - message-with-annotations = callPackage ./test-message-with-annotations { }; - message-with-options = callPackage ./test-message-with-options { }; + passthru = { + inherit + runtime + generator-out + python-module + generator + ; + tests = { + simple-proto2 = callPackage ./test-simple-proto2 { }; + simple-proto3 = callPackage ./test-simple-proto3 { }; + message-with-annotations = callPackage ./test-message-with-annotations { }; + message-with-options = callPackage ./test-message-with-options { }; + }; }; - }; - meta = with lib; { - platforms = platforms.all; + meta = with lib; { + platforms = platforms.all; - description = "Protocol Buffers with small code size"; - homepage = "https://jpa.kapsi.fi/nanopb/"; - license = licenses.zlib; - maintainers = with maintainers; [ kalbasit liarokapisv ]; + description = "Protocol Buffers with small code size"; + homepage = "https://jpa.kapsi.fi/nanopb/"; + license = licenses.zlib; + maintainers = with maintainers; [ + kalbasit + liarokapisv + ]; - longDescription = '' - Nanopb is a small code-size Protocol Buffers implementation in ansi C. It - is especially suitable for use in microcontrollers, but fits any memory - restricted system. + longDescription = '' + Nanopb is a small code-size Protocol Buffers implementation in ansi C. It + is especially suitable for use in microcontrollers, but fits any memory + restricted system. - - Homepage: jpa.kapsi.fi/nanopb - - Documentation: jpa.kapsi.fi/nanopb/docs - - Downloads: jpa.kapsi.fi/nanopb/download - - Forum: groups.google.com/forum/#!forum/nanopb + - Homepage: jpa.kapsi.fi/nanopb + - Documentation: jpa.kapsi.fi/nanopb/docs + - Downloads: jpa.kapsi.fi/nanopb/download + - Forum: groups.google.com/forum/#!forum/nanopb - In order to use the nanopb options in your proto files, you'll need to - tell protoc where to find the nanopb.proto file. - You can do so with the --proto_path (-I) option to add the directory - ''${nanopb}/share/nanopb/generator/proto like so: + In order to use the nanopb options in your proto files, you'll need to + tell protoc where to find the nanopb.proto file. + You can do so with the --proto_path (-I) option to add the directory + ''${nanopb}/share/nanopb/generator/proto like so: - protoc --proto_path=. --proto_path=''${nanopb}/share/nanopb/generator/proto --plugin=protoc-gen-nanopb=''${nanopb}/bin/protoc-gen-nanopb --nanopb_out=out file.proto - ''; - }; -}) + protoc --proto_path=. --proto_path=''${nanopb}/share/nanopb/generator/proto --plugin=protoc-gen-nanopb=''${nanopb}/bin/protoc-gen-nanopb --nanopb_out=out file.proto + ''; + }; + } +) diff --git a/pkgs/by-name/na/nanopb/python-module.nix b/pkgs/by-name/na/nanopb/python-module.nix index f58c955307d84..2240aaca624db 100644 --- a/pkgs/by-name/na/nanopb/python-module.nix +++ b/pkgs/by-name/na/nanopb/python-module.nix @@ -1,6 +1,7 @@ -{ python3 -, version -, generator-out +{ + python3, + version, + generator-out, }: python3.pkgs.buildPythonPackage { pname = "nanopb-python-module"; diff --git a/pkgs/by-name/na/nanopb/runtime.nix b/pkgs/by-name/na/nanopb/runtime.nix index 2af7d2cedd5d7..fba88ee37e2cb 100644 --- a/pkgs/by-name/na/nanopb/runtime.nix +++ b/pkgs/by-name/na/nanopb/runtime.nix @@ -1,69 +1,118 @@ -{ cmake -, lib -, stdenv -, protobuf -, python3 -, src -, version -, enableMalloc -, noPackedStructs -, maxRequiredFields -, field32bit -, noErrmsg -, bufferOnly -, systemHeader -, without64bit -, encodeArraysUnpacked -, convertDoubleFloat -, validateUtf8 -, littleEndian8bit -, c99StaticAssert -, noStaticAssert +{ + cmake, + lib, + stdenv, + protobuf, + python3, + src, + version, + enableMalloc, + noPackedStructs, + maxRequiredFields, + field32bit, + noErrmsg, + bufferOnly, + systemHeader, + without64bit, + encodeArraysUnpacked, + convertDoubleFloat, + validateUtf8, + littleEndian8bit, + c99StaticAssert, + noStaticAssert, }: -stdenv.mkDerivation - ({ - pname = "nanopb-runtime"; - inherit src version; +stdenv.mkDerivation ({ + pname = "nanopb-runtime"; + inherit src version; - nativeBuildInputs = [ cmake protobuf python3 ]; + nativeBuildInputs = [ + cmake + protobuf + python3 + ]; - patchPhase = - let - compile_definitions = target: '' - target_compile_definitions(${target} - PUBLIC - ${lib.concatStringsSep "\n\t" (map (x: "PB_${x.flag}") - (builtins.filter (x: x.cond) [ - { cond = enableMalloc; flag = "ENABLE_MALLOC=1"; } - { cond = noPackedStructs; flag = "NO_PACKED_STRUCTS=1"; } - { cond = maxRequiredFields != null; flag = "MAX_REQUIRED_FIELDS=${maxRequiredFields}"; } - { cond = field32bit; flag = "FIELD_32BIT=1"; } - { cond = noErrmsg; flag = "NO_ERRMSG=1"; } - { cond = bufferOnly; flag = "BUFFER_ONLY=1"; } - { cond = systemHeader != null; flag = "SYSTEM_HEADER=${systemHeader}"; } - { cond = without64bit; flag = "WITHOUT_64BIT=1"; } - { cond = encodeArraysUnpacked; flag = "ENCODE_ARRAYS_UNPACKED=1"; } - { cond = convertDoubleFloat; flag = "CONVERT_DOUBLE_FLOAT=1"; } - { cond = validateUtf8; flag = "VALIDATE_UTF8=1"; } - { cond = littleEndian8bit; flag = "LITTLE_ENDIAN_8BIT=1"; } - { cond = c99StaticAssert; flag = "C99_STATIC_ASSERT=1"; } - { cond = noStaticAssert; flag = "NO_STATIC_ASSERT=1"; } - ]))} - ) - ''; - in - '' - cat << EOF >> CMakeLists.txt - ${compile_definitions "protobuf-nanopb"} - ${compile_definitions "protobuf-nanopb-static"} - EOF + patchPhase = + let + compile_definitions = target: '' + target_compile_definitions(${target} + PUBLIC + ${lib.concatStringsSep "\n\t" ( + map (x: "PB_${x.flag}") ( + builtins.filter (x: x.cond) [ + { + cond = enableMalloc; + flag = "ENABLE_MALLOC=1"; + } + { + cond = noPackedStructs; + flag = "NO_PACKED_STRUCTS=1"; + } + { + cond = maxRequiredFields != null; + flag = "MAX_REQUIRED_FIELDS=${maxRequiredFields}"; + } + { + cond = field32bit; + flag = "FIELD_32BIT=1"; + } + { + cond = noErrmsg; + flag = "NO_ERRMSG=1"; + } + { + cond = bufferOnly; + flag = "BUFFER_ONLY=1"; + } + { + cond = systemHeader != null; + flag = "SYSTEM_HEADER=${systemHeader}"; + } + { + cond = without64bit; + flag = "WITHOUT_64BIT=1"; + } + { + cond = encodeArraysUnpacked; + flag = "ENCODE_ARRAYS_UNPACKED=1"; + } + { + cond = convertDoubleFloat; + flag = "CONVERT_DOUBLE_FLOAT=1"; + } + { + cond = validateUtf8; + flag = "VALIDATE_UTF8=1"; + } + { + cond = littleEndian8bit; + flag = "LITTLE_ENDIAN_8BIT=1"; + } + { + cond = c99StaticAssert; + flag = "C99_STATIC_ASSERT=1"; + } + { + cond = noStaticAssert; + flag = "NO_STATIC_ASSERT=1"; + } + ] + ) + )} + ) ''; + in + '' + cat << EOF >> CMakeLists.txt + ${compile_definitions "protobuf-nanopb"} + ${compile_definitions "protobuf-nanopb-static"} + EOF + ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DBUILD_STATIC_LIBS=ON" - "-Dnanopb_BUILD_GENERATOR=OFF" - "-Dnanopb_BUILD_RUNTIME=ON" - ]; - }) + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_STATIC_LIBS=ON" + "-Dnanopb_BUILD_GENERATOR=OFF" + "-Dnanopb_BUILD_RUNTIME=ON" + ]; +}) diff --git a/pkgs/by-name/na/nanopb/test-message-with-annotations/default.nix b/pkgs/by-name/na/nanopb/test-message-with-annotations/default.nix index 5e53e72c62e63..b8f4e84af17e3 100644 --- a/pkgs/by-name/na/nanopb/test-message-with-annotations/default.nix +++ b/pkgs/by-name/na/nanopb/test-message-with-annotations/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, nanopb }: +{ + lib, + stdenv, + nanopb, +}: stdenv.mkDerivation { name = "nanopb-test-message-with-annotations"; diff --git a/pkgs/by-name/na/nanopb/test-message-with-options/default.nix b/pkgs/by-name/na/nanopb/test-message-with-options/default.nix index 78be532d569d7..c44041a5ac555 100644 --- a/pkgs/by-name/na/nanopb/test-message-with-options/default.nix +++ b/pkgs/by-name/na/nanopb/test-message-with-options/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, nanopb }: +{ + lib, + stdenv, + nanopb, +}: stdenv.mkDerivation { name = "nanopb-test-message-with-options"; diff --git a/pkgs/by-name/na/nanopb/test-simple-proto2/default.nix b/pkgs/by-name/na/nanopb/test-simple-proto2/default.nix index 5896679567486..a89a04a107402 100644 --- a/pkgs/by-name/na/nanopb/test-simple-proto2/default.nix +++ b/pkgs/by-name/na/nanopb/test-simple-proto2/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, nanopb }: +{ + lib, + stdenv, + nanopb, +}: stdenv.mkDerivation { name = "nanopb-test-simple-proto2"; diff --git a/pkgs/by-name/na/nanopb/test-simple-proto3/default.nix b/pkgs/by-name/na/nanopb/test-simple-proto3/default.nix index 6276126131c86..eb9aba5fdf1f3 100644 --- a/pkgs/by-name/na/nanopb/test-simple-proto3/default.nix +++ b/pkgs/by-name/na/nanopb/test-simple-proto3/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, nanopb }: +{ + lib, + stdenv, + nanopb, +}: stdenv.mkDerivation { name = "nanopb-test-simple-proto3"; diff --git a/pkgs/by-name/na/nanorc/package.nix b/pkgs/by-name/na/nanorc/package.nix index 5587c2c0243c3..ed3d734f58656 100644 --- a/pkgs/by-name/na/nanorc/package.nix +++ b/pkgs/by-name/na/nanorc/package.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, writeScript, common-updater-scripts -, coreutils, git, gnused, nix }: +{ + lib, + stdenv, + fetchFromGitHub, + writeScript, + common-updater-scripts, + coreutils, + git, + gnused, + nix, +}: let owner = "scopatz"; repo = "nanorc"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "nanorc"; version = "2020-10-10"; diff --git a/pkgs/by-name/na/nanosaur/package.nix b/pkgs/by-name/na/nanosaur/package.nix index 99f609ffd509e..9bac2d99105fa 100644 --- a/pkgs/by-name/na/nanosaur/package.nix +++ b/pkgs/by-name/na/nanosaur/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, SDL2, cmake, makeWrapper, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + cmake, + makeWrapper, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "nanosaur"; diff --git a/pkgs/by-name/na/nanosaur2/package.nix b/pkgs/by-name/na/nanosaur2/package.nix index 3e370d7809a97..6d53df9b414ba 100644 --- a/pkgs/by-name/na/nanosaur2/package.nix +++ b/pkgs/by-name/na/nanosaur2/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, SDL2, cmake, makeWrapper, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + cmake, + makeWrapper, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "nanosaur2"; diff --git a/pkgs/by-name/na/nanosvg/package.nix b/pkgs/by-name/na/nanosvg/package.nix index 29861777889bc..2c0f4bbc0a66b 100644 --- a/pkgs/by-name/na/nanosvg/package.nix +++ b/pkgs/by-name/na/nanosvg/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + unstableGitUpdater, +}: stdenv.mkDerivation { pname = "nanosvg"; diff --git a/pkgs/by-name/na/nanotts/package.nix b/pkgs/by-name/na/nanotts/package.nix index 41214ffe9206a..c1a246a67262e 100644 --- a/pkgs/by-name/na/nanotts/package.nix +++ b/pkgs/by-name/na/nanotts/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, popt, alsa-lib, alsa-plugins, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + popt, + alsa-lib, + alsa-plugins, + makeWrapper, +}: stdenv.mkDerivation { pname = "nano-tts"; @@ -12,8 +23,16 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ autoconf automake libtool makeWrapper ]; - buildInputs = [ popt alsa-lib ]; + nativeBuildInputs = [ + autoconf + automake + libtool + makeWrapper + ]; + buildInputs = [ + popt + alsa-lib + ]; patchPhase = '' substituteInPlace "src/main.cpp" --replace "/usr/share/pico/lang" "$out/share/lang" diff --git a/pkgs/by-name/na/nanum-gothic-coding/package.nix b/pkgs/by-name/na/nanum-gothic-coding/package.nix index f27f487bd6abd..ef6c0ea107d95 100644 --- a/pkgs/by-name/na/nanum-gothic-coding/package.nix +++ b/pkgs/by-name/na/nanum-gothic-coding/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "nanum-gothic-coding"; diff --git a/pkgs/by-name/na/nanum/package.nix b/pkgs/by-name/na/nanum/package.nix index 64575a1310290..b8342a24c22f3 100644 --- a/pkgs/by-name/na/nanum/package.nix +++ b/pkgs/by-name/na/nanum/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "nanum"; diff --git a/pkgs/by-name/na/nap/package.nix b/pkgs/by-name/na/nap/package.nix index 784877af792f2..68d344d3a33f2 100644 --- a/pkgs/by-name/na/nap/package.nix +++ b/pkgs/by-name/na/nap/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nap"; @@ -20,6 +24,9 @@ buildGoModule rec { mainProgram = "nap"; homepage = "https://github.com/maaslalani/nap"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ phdcybersec maaslalani ]; + maintainers = with lib.maintainers; [ + phdcybersec + maaslalani + ]; }; } diff --git a/pkgs/by-name/na/napi-rs-cli/package.nix b/pkgs/by-name/na/napi-rs-cli/package.nix index 86b714dbb0c4e..0b482e0ea97ed 100644 --- a/pkgs/by-name/na/napi-rs-cli/package.nix +++ b/pkgs/by-name/na/napi-rs-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, nodejs }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + nodejs, +}: stdenv.mkDerivation rec { pname = "napi-rs-cli"; diff --git a/pkgs/by-name/na/naproche/package.nix b/pkgs/by-name/na/naproche/package.nix index 1843ebf1c7899..7e76fa3217ba1 100644 --- a/pkgs/by-name/na/naproche/package.nix +++ b/pkgs/by-name/na/naproche/package.nix @@ -1,6 +1,13 @@ -{ lib, fetchFromGitHub, haskellPackages, makeWrapper, eprover }: +{ + lib, + fetchFromGitHub, + haskellPackages, + makeWrapper, + eprover, +}: -with haskellPackages; mkDerivation { +with haskellPackages; +mkDerivation { pname = "Naproche-SAD"; version = "unstable-2024-05-19"; @@ -13,10 +20,27 @@ with haskellPackages; mkDerivation { isExecutable = true; - buildTools = [ hpack makeWrapper ]; + buildTools = [ + hpack + makeWrapper + ]; executableHaskellDepends = [ - base array bytestring containers ghc-prim megaparsec mtl network process - split temporary text threads time transformers uuid + base + array + bytestring + containers + ghc-prim + megaparsec + mtl + network + process + split + temporary + text + threads + time + transformers + uuid ]; prePatch = "hpack"; diff --git a/pkgs/by-name/na/naps2/deps.nix b/pkgs/by-name/na/naps2/deps.nix index 4a9c92fe83659..ae3d9d4fdcdb9 100644 --- a/pkgs/by-name/na/naps2/deps.nix +++ b/pkgs/by-name/na/naps2/deps.nix @@ -1,180 +1,881 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "AtkSharp"; version = "3.24.24.95"; sha256 = "0x4nr8rx50h87n6ijv5a4vkavs2x61bsrkxvam27h178finmc1rn"; }) - (fetchNuGet { pname = "Autofac"; version = "8.0.0"; sha256 = "0w3y76vik6rfr9am649v4w6dyyp5s25244q3il2x8si11xgl6y7d"; }) - (fetchNuGet { pname = "Ben.Demystifier"; version = "0.4.1"; sha256 = "1szlrhvwpwkjhpgvjlrpjg714bz1yhyljs72pxni3li4mgnklk1f"; }) - (fetchNuGet { pname = "CairoSharp"; version = "3.24.24.95"; sha256 = "05fq8jdlxzrrw7gh0i3w272q34wzmb3bizcghjnf9mlh1jcn1iy9"; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; }) - (fetchNuGet { pname = "EmbedIO"; version = "3.5.2"; sha256 = "13saxicm07nkppzfxb60cpm1501n4ixaqhkvvqqfaqgifma9z8bv"; }) - (fetchNuGet { pname = "Eto.Forms"; version = "2.8.3"; sha256 = "00v2ffi9sl8cjllrz8rw3a5s5cgm9bfh45852znwz18zp06rh5bg"; }) - (fetchNuGet { pname = "Eto.Platform.Gtk"; version = "2.8.3"; sha256 = "0av22hyx6xf6cnm89a4jvpnm80h1p6a6301r4n2906ihai9k3gsk"; }) - (fetchNuGet { pname = "GdkSharp"; version = "3.24.24.95"; sha256 = "1wp2kgng0pwg8q5bl1zz4lzzj603qcjljql61h83bxa60q7c121m"; }) - (fetchNuGet { pname = "GioSharp"; version = "3.24.24.95"; sha256 = "121xb98hg955vwxfv1r5idr5a2zv09xpcmqckm7hhgprlzhz2cg5"; }) - (fetchNuGet { pname = "GLibSharp"; version = "3.24.24.95"; sha256 = "1l5nbg0qwjp55wfj06vnk5q5r5cnq5h064qp4k5xf8qlma8d346n"; }) - (fetchNuGet { pname = "Google.Protobuf"; version = "3.25.1"; sha256 = "0zcw9vmv2bdai3zaip86s37lj3r5z4zvcs9mf5a9nih0hy4gzwsi"; }) - (fetchNuGet { pname = "Grpc.Core.Api"; version = "2.59.0"; sha256 = "0pajrxg0dsfnyxwrd2li5nrabz0r3b3bql776l44hn5rg1s1287k"; }) - (fetchNuGet { pname = "Grpc.Tools"; version = "2.62.0"; sha256 = "1x6ydsvjckxdpnrl07h307wql5gghlb4fasf591ppr16kv5igdfp"; }) - (fetchNuGet { pname = "GrpcDotNetNamedPipes"; version = "3.0.0"; sha256 = "1sndscz12dldjfvifp04ml56fkbl1vwb9llzq0h58hwri35nnbv7"; }) - (fetchNuGet { pname = "GtkSharp"; version = "3.24.24.95"; sha256 = "0y20zn8wv72dg2bc7f95l8iz8z51ap08q5gnv6f2xnhz8zjf86xh"; }) - (fetchNuGet { pname = "IsExternalInit"; version = "1.0.3"; sha256 = "01flcxs8m7m916s5rx5iyvzh6fjdl1dvcyzl9cpzn0d17yp8dz2i"; }) - (fetchNuGet { pname = "Makaretu.Dns"; version = "2.0.1"; sha256 = "1l6ajfdcvqpz078wl6nm44bnhd8h47nssb5qgp5al9zqic50mqnd"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; sha256 = "1waiggh3g1cclc81gmjrqbh128kwfjky3z79ma4bd2ms9pa3gvfm"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "8.0.0"; sha256 = "0z4jq5prnxyb4p3163yxx35znpd2msjd8hw8ysmv4ah90f5sd9gm"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.1.0"; sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.1.0"; sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.1.0"; sha256 = "0x1888w5ypavvszfmpja9krgc64527prs75vm8xbf9fv3rgsplql"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.1.0"; sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.1"; sha256 = "1wyhpamm1nqjfi3r463dhxljdlr6rm2ax4fvbgq2s0j3jhpdhd4p"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.1.0"; sha256 = "0dii8i7s6libfnspz2xb96ayagb4rwqj2kmr162vndivr9rmbm06"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.1.0"; sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.1"; sha256 = "0i9pgmk60b8xlws3q9z890gim1xjq42dhyh6dj4xvbycmgg1x1sd"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.1.0"; sha256 = "0w9644sryd1c6r3n4lq2cgd5pn6jl3k5m38a05m7vjffa4m2spd2"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.1.0"; sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App"; version = "2.1.30"; sha256 = "10brwj7csacwa4ra37pjb2bqwg961lxi576330xlhhwqixkjkrqf"; }) - (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "2.1.30"; sha256 = "0rabvmid1n604pk9rndlq62zqhq77p7cznmq9bzr7hshvr2rszab"; }) - (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "2.1.30"; sha256 = "1zk6ajalssvpm2yv4ri3g6hbxjaj1ns0y4w3g98wss54k7v44vpw"; }) - (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "2.1.30"; sha256 = "0k3k6ldi5lj9ab9bdnhzfiykr6ipwz17d9g952bcanhvmk57l376"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.14"; sha256 = "0mbmcgsky65y0xai4xjfnhm07kn856y9kpn6hnm1b5m3mdsf8dkq"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "2.0.0"; sha256 = "0nsrrhafvxqdx8gmlgsz612bmlll2w3l2qn2ygdzr92rp1nqyka2"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net462"; version = "1.0.3"; sha256 = "08bfss2p262d8zj41xqndv0qgvz9lq636k2xhl80jl23ay22lsgf"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; }) - (fetchNuGet { pname = "MimeKitLite"; version = "4.4.0"; sha256 = "1am381zbh89qa520pllsa92by92lg6wn0zxhqa26z7mlh6jwc8nz"; }) - (fetchNuGet { pname = "NAPS2.Mdns"; version = "1.0.1"; sha256 = "0xi46brppcjm8mrabnffahkmkcakhw94cnq1w2yk8y2hyq9qb4ms"; }) - (fetchNuGet { pname = "NAPS2.NTwain"; version = "1.0.0"; sha256 = "088dw31h7rlgr0s05snm382wz65wi46yaizjnjpd0wzw2mb58yld"; }) - (fetchNuGet { pname = "NAPS2.Pdfium.Binaries"; version = "1.1.0"; sha256 = "0rnqkk6y047p6a6li2dr2cygkhjn3d2a13yn3rck5gf854k3q3ws"; }) - (fetchNuGet { pname = "NAPS2.PdfSharp"; version = "1.0.1"; sha256 = "0x51whjhlqd5r0f1s5hjx41zzwwcwcdl19q6iz6k7fwx81746w0w"; }) - (fetchNuGet { pname = "NAPS2.Tesseract.Binaries"; version = "1.2.0"; sha256 = "0m1aksfjg4vfl2llvhd2in0a5i4wa72nmfw2h78y4wwxmjplbfz2"; }) - (fetchNuGet { pname = "NAPS2.Wia"; version = "2.0.3"; sha256 = "0xszkccb8fy2x60nkblpda78wx2d86fn8y49j94qmvz4rp2nw98i"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; }) - (fetchNuGet { pname = "NLog"; version = "5.2.8"; sha256 = "1z3h20m5rjnizm1jbf5j0vpdc1f373rzzkg6478p1lxv5j385c12"; }) - (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.8"; sha256 = "1qnz91099f51vk7f5g2ig0041maw5hcbyqllxvj5zj7zkp0qw9b8"; }) - (fetchNuGet { pname = "PangoSharp"; version = "3.24.24.95"; sha256 = "0548jrkgzia899va9smhh7if49nk6avbswb68xmc52k37lins6b2"; }) - (fetchNuGet { pname = "Polyfill"; version = "4.2.0"; sha256 = "0h25jszwrkmxlklcr6mjjmz71rn6q36pqb5jx36l94lrccy2k0a8"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.App"; version = "2.1.30"; sha256 = "039r4c42mz8fg8nqn8p3v0dxnjv681xlllhrc4l91rbbwv04li6j"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "2.1.30"; sha256 = "00pm387jvv574jsdd1261mbvxd7lbjbsfx3wq0z0iqjhr31pgmw1"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "2.1.30"; sha256 = "1gjjs4xvg9x48lg00ys6r5vc00s973aknpqp0ffa946s8m8xhlfw"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "2.1.30"; sha256 = "0jyzw9wr9sgllgj08vdf716p27s13ad46nah2q1qmfa05cgdbikb"; }) - (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.App"; version = "2.1.30"; sha256 = "1wy9kagwj6avvhpp4lrlxw5sqgh4zlmii9wvf474fx999szi5bqb"; }) - (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "2.1.30"; sha256 = "0mrlvhm6yb3x40pfm4smi67p6wm3hi71jdnawqkqy73g203rjmgx"; }) - (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "2.1.30"; sha256 = "1zv9i8wqpsdr2vx35i3qzad1yvz00l6i9f00fclw02v2p92jz9c1"; }) - (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "2.1.30"; sha256 = "1s6zx2hpg60pscvz8yfdkxpdg1lhs534x5mz3yryxa91nfzhxv95"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; }) - (fetchNuGet { pname = "SimpleBase"; version = "1.3.1"; sha256 = "0mjvqbn3b6ai7nhzs5mssy2imn9lw10z4sj8nhgiapyqy9qlim0n"; }) - (fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.1"; sha256 = "08ljgagwm8aha9p4plqdnf507gcisajd9frcbvaykikrsrzpm33y"; }) - (fetchNuGet { pname = "StandardSocketsHttpHandler"; version = "2.2.0.8"; sha256 = "18h3rzh9pp3b6mjx1m4jvwwhv5abjqsd1nnbibc0gbkvbcrb16ni"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; sha256 = "0z53a42zjd59zdkszcm7pvij4ri5xbb8jly9hzaad9khlf69bcqp"; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.2"; sha256 = "1h97ikph775gya93qsjjaka87qcygbyh1064rh1hnfcnp5xv0ipi"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Resources.Extensions"; version = "8.0.0"; sha256 = "0chqkw486pb5dg9nlj5352lsz1206xyf953nd98dglia3isxklg5"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; sha256 = "1ysjx3b5ips41s32zacf4vs7ig41906mxrsbmykdzi0hvdmjkgbx"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "8.0.0"; sha256 = "02mmqnbd7ybin1yiffrq3ph71rsbrnf6r6m01j98ynydqfscz9s3"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.2"; sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; }) - (fetchNuGet { pname = "Unosquare.Swan.Lite"; version = "3.1.0"; sha256 = "0yjbchc2rhgssfvb1qxg3kq3lzyx089r3rngpcjgrkw85bf0vgrw"; }) - (fetchNuGet { pname = "ZXing.Net"; version = "0.16.9"; sha256 = "0bpki21p2wjjjviayhza0gam7s9lm7qj6g8hdcp2csd0mv54l980"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "AtkSharp"; + version = "3.24.24.95"; + sha256 = "0x4nr8rx50h87n6ijv5a4vkavs2x61bsrkxvam27h178finmc1rn"; + }) + (fetchNuGet { + pname = "Autofac"; + version = "8.0.0"; + sha256 = "0w3y76vik6rfr9am649v4w6dyyp5s25244q3il2x8si11xgl6y7d"; + }) + (fetchNuGet { + pname = "Ben.Demystifier"; + version = "0.4.1"; + sha256 = "1szlrhvwpwkjhpgvjlrpjg714bz1yhyljs72pxni3li4mgnklk1f"; + }) + (fetchNuGet { + pname = "CairoSharp"; + version = "3.24.24.95"; + sha256 = "05fq8jdlxzrrw7gh0i3w272q34wzmb3bizcghjnf9mlh1jcn1iy9"; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; + }) + (fetchNuGet { + pname = "EmbedIO"; + version = "3.5.2"; + sha256 = "13saxicm07nkppzfxb60cpm1501n4ixaqhkvvqqfaqgifma9z8bv"; + }) + (fetchNuGet { + pname = "Eto.Forms"; + version = "2.8.3"; + sha256 = "00v2ffi9sl8cjllrz8rw3a5s5cgm9bfh45852znwz18zp06rh5bg"; + }) + (fetchNuGet { + pname = "Eto.Platform.Gtk"; + version = "2.8.3"; + sha256 = "0av22hyx6xf6cnm89a4jvpnm80h1p6a6301r4n2906ihai9k3gsk"; + }) + (fetchNuGet { + pname = "GdkSharp"; + version = "3.24.24.95"; + sha256 = "1wp2kgng0pwg8q5bl1zz4lzzj603qcjljql61h83bxa60q7c121m"; + }) + (fetchNuGet { + pname = "GioSharp"; + version = "3.24.24.95"; + sha256 = "121xb98hg955vwxfv1r5idr5a2zv09xpcmqckm7hhgprlzhz2cg5"; + }) + (fetchNuGet { + pname = "GLibSharp"; + version = "3.24.24.95"; + sha256 = "1l5nbg0qwjp55wfj06vnk5q5r5cnq5h064qp4k5xf8qlma8d346n"; + }) + (fetchNuGet { + pname = "Google.Protobuf"; + version = "3.25.1"; + sha256 = "0zcw9vmv2bdai3zaip86s37lj3r5z4zvcs9mf5a9nih0hy4gzwsi"; + }) + (fetchNuGet { + pname = "Grpc.Core.Api"; + version = "2.59.0"; + sha256 = "0pajrxg0dsfnyxwrd2li5nrabz0r3b3bql776l44hn5rg1s1287k"; + }) + (fetchNuGet { + pname = "Grpc.Tools"; + version = "2.62.0"; + sha256 = "1x6ydsvjckxdpnrl07h307wql5gghlb4fasf591ppr16kv5igdfp"; + }) + (fetchNuGet { + pname = "GrpcDotNetNamedPipes"; + version = "3.0.0"; + sha256 = "1sndscz12dldjfvifp04ml56fkbl1vwb9llzq0h58hwri35nnbv7"; + }) + (fetchNuGet { + pname = "GtkSharp"; + version = "3.24.24.95"; + sha256 = "0y20zn8wv72dg2bc7f95l8iz8z51ap08q5gnv6f2xnhz8zjf86xh"; + }) + (fetchNuGet { + pname = "IsExternalInit"; + version = "1.0.3"; + sha256 = "01flcxs8m7m916s5rx5iyvzh6fjdl1dvcyzl9cpzn0d17yp8dz2i"; + }) + (fetchNuGet { + pname = "Makaretu.Dns"; + version = "2.0.1"; + sha256 = "1l6ajfdcvqpz078wl6nm44bnhd8h47nssb5qgp5al9zqic50mqnd"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "7.0.0"; + sha256 = "1waiggh3g1cclc81gmjrqbh128kwfjky3z79ma4bd2ms9pa3gvfm"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "8.0.0"; + sha256 = "0z4jq5prnxyb4p3163yxx35znpd2msjd8hw8ysmv4ah90f5sd9gm"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "2.1.0"; + sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.0"; + sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "2.1.0"; + sha256 = "0x1888w5ypavvszfmpja9krgc64527prs75vm8xbf9fv3rgsplql"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.1.0"; + sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.1"; + sha256 = "1wyhpamm1nqjfi3r463dhxljdlr6rm2ax4fvbgq2s0j3jhpdhd4p"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.1.0"; + sha256 = "0dii8i7s6libfnspz2xb96ayagb4rwqj2kmr162vndivr9rmbm06"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.0"; + sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.1"; + sha256 = "0i9pgmk60b8xlws3q9z890gim1xjq42dhyh6dj4xvbycmgg1x1sd"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.1.0"; + sha256 = "0w9644sryd1c6r3n4lq2cgd5pn6jl3k5m38a05m7vjffa4m2spd2"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.1.0"; + sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App"; + version = "2.1.30"; + sha256 = "10brwj7csacwa4ra37pjb2bqwg961lxi576330xlhhwqixkjkrqf"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "2.1.30"; + sha256 = "0rabvmid1n604pk9rndlq62zqhq77p7cznmq9bzr7hshvr2rszab"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.DotNetHostPolicy"; + version = "2.1.30"; + sha256 = "1zk6ajalssvpm2yv4ri3g6hbxjaj1ns0y4w3g98wss54k7v44vpw"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.DotNetHostResolver"; + version = "2.1.30"; + sha256 = "0k3k6ldi5lj9ab9bdnhzfiykr6ipwz17d9g952bcanhvmk57l376"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.1"; + sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.14"; + sha256 = "0mbmcgsky65y0xai4xjfnhm07kn856y9kpn6hnm1b5m3mdsf8dkq"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "2.0.0"; + sha256 = "0nsrrhafvxqdx8gmlgsz612bmlll2w3l2qn2ygdzr92rp1nqyka2"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.3"; + sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net462"; + version = "1.0.3"; + sha256 = "08bfss2p262d8zj41xqndv0qgvz9lq636k2xhl80jl23ay22lsgf"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; + }) + (fetchNuGet { + pname = "MimeKitLite"; + version = "4.4.0"; + sha256 = "1am381zbh89qa520pllsa92by92lg6wn0zxhqa26z7mlh6jwc8nz"; + }) + (fetchNuGet { + pname = "NAPS2.Mdns"; + version = "1.0.1"; + sha256 = "0xi46brppcjm8mrabnffahkmkcakhw94cnq1w2yk8y2hyq9qb4ms"; + }) + (fetchNuGet { + pname = "NAPS2.NTwain"; + version = "1.0.0"; + sha256 = "088dw31h7rlgr0s05snm382wz65wi46yaizjnjpd0wzw2mb58yld"; + }) + (fetchNuGet { + pname = "NAPS2.Pdfium.Binaries"; + version = "1.1.0"; + sha256 = "0rnqkk6y047p6a6li2dr2cygkhjn3d2a13yn3rck5gf854k3q3ws"; + }) + (fetchNuGet { + pname = "NAPS2.PdfSharp"; + version = "1.0.1"; + sha256 = "0x51whjhlqd5r0f1s5hjx41zzwwcwcdl19q6iz6k7fwx81746w0w"; + }) + (fetchNuGet { + pname = "NAPS2.Tesseract.Binaries"; + version = "1.2.0"; + sha256 = "0m1aksfjg4vfl2llvhd2in0a5i4wa72nmfw2h78y4wwxmjplbfz2"; + }) + (fetchNuGet { + pname = "NAPS2.Wia"; + version = "2.0.3"; + sha256 = "0xszkccb8fy2x60nkblpda78wx2d86fn8y49j94qmvz4rp2nw98i"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; + }) + (fetchNuGet { + pname = "NLog"; + version = "5.2.8"; + sha256 = "1z3h20m5rjnizm1jbf5j0vpdc1f373rzzkg6478p1lxv5j385c12"; + }) + (fetchNuGet { + pname = "NLog.Extensions.Logging"; + version = "5.3.8"; + sha256 = "1qnz91099f51vk7f5g2ig0041maw5hcbyqllxvj5zj7zkp0qw9b8"; + }) + (fetchNuGet { + pname = "PangoSharp"; + version = "3.24.24.95"; + sha256 = "0548jrkgzia899va9smhh7if49nk6avbswb68xmc52k37lins6b2"; + }) + (fetchNuGet { + pname = "Polyfill"; + version = "4.2.0"; + sha256 = "0h25jszwrkmxlklcr6mjjmz71rn6q36pqb5jx36l94lrccy2k0a8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.App"; + version = "2.1.30"; + sha256 = "039r4c42mz8fg8nqn8p3v0dxnjv681xlllhrc4l91rbbwv04li6j"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "2.1.30"; + sha256 = "00pm387jvv574jsdd1261mbvxd7lbjbsfx3wq0z0iqjhr31pgmw1"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "2.1.30"; + sha256 = "1gjjs4xvg9x48lg00ys6r5vc00s973aknpqp0ffa946s8m8xhlfw"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "2.1.30"; + sha256 = "0jyzw9wr9sgllgj08vdf716p27s13ad46nah2q1qmfa05cgdbikb"; + }) + (fetchNuGet { + pname = "runtime.linux-x64.Microsoft.NETCore.App"; + version = "2.1.30"; + sha256 = "1wy9kagwj6avvhpp4lrlxw5sqgh4zlmii9wvf474fx999szi5bqb"; + }) + (fetchNuGet { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "2.1.30"; + sha256 = "0mrlvhm6yb3x40pfm4smi67p6wm3hi71jdnawqkqy73g203rjmgx"; + }) + (fetchNuGet { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "2.1.30"; + sha256 = "1zv9i8wqpsdr2vx35i3qzad1yvz00l6i9f00fclw02v2p92jz9c1"; + }) + (fetchNuGet { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "2.1.30"; + sha256 = "1s6zx2hpg60pscvz8yfdkxpdg1lhs534x5mz3yryxa91nfzhxv95"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.2"; + sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; + }) + (fetchNuGet { + pname = "SimpleBase"; + version = "1.3.1"; + sha256 = "0mjvqbn3b6ai7nhzs5mssy2imn9lw10z4sj8nhgiapyqy9qlim0n"; + }) + (fetchNuGet { + pname = "SixLabors.Fonts"; + version = "1.0.1"; + sha256 = "08ljgagwm8aha9p4plqdnf507gcisajd9frcbvaykikrsrzpm33y"; + }) + (fetchNuGet { + pname = "StandardSocketsHttpHandler"; + version = "2.2.0.8"; + sha256 = "18h3rzh9pp3b6mjx1m4jvwwhv5abjqsd1nnbibc0gbkvbcrb16ni"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.4.0"; + sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "8.0.0"; + sha256 = "0z53a42zjd59zdkszcm7pvij4ri5xbb8jly9hzaad9khlf69bcqp"; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "5.0.0"; + sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "7.0.2"; + sha256 = "1h97ikph775gya93qsjjaka87qcygbyh1064rh1hnfcnp5xv0ipi"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.0"; + sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.1"; + sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.4"; + sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Resources.Extensions"; + version = "8.0.0"; + sha256 = "0chqkw486pb5dg9nlj5352lsz1206xyf953nd98dglia3isxklg5"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.0"; + sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.2"; + sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.3"; + sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.0"; + sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + sha256 = "1ysjx3b5ips41s32zacf4vs7ig41906mxrsbmykdzi0hvdmjkgbx"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "8.0.0"; + sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "8.0.0"; + sha256 = "02mmqnbd7ybin1yiffrq3ph71rsbrnf6r6m01j98ynydqfscz9s3"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.2"; + sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; + }) + (fetchNuGet { + pname = "Unosquare.Swan.Lite"; + version = "3.1.0"; + sha256 = "0yjbchc2rhgssfvb1qxg3kq3lzyx089r3rngpcjgrkw85bf0vgrw"; + }) + (fetchNuGet { + pname = "ZXing.Net"; + version = "0.16.9"; + sha256 = "0bpki21p2wjjjviayhza0gam7s9lm7qj6g8hdcp2csd0mv54l980"; + }) ] diff --git a/pkgs/by-name/na/nar-serve/package.nix b/pkgs/by-name/na/nar-serve/package.nix index 8bd274af659f0..84e91c2ae2bfc 100644 --- a/pkgs/by-name/na/nar-serve/package.nix +++ b/pkgs/by-name/na/nar-serve/package.nix @@ -1,7 +1,8 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, nixosTests +{ + buildGoModule, + fetchFromGitHub, + lib, + nixosTests, }: buildGoModule rec { pname = "nar-serve"; @@ -25,6 +26,9 @@ buildGoModule rec { mainProgram = "nar-serve"; homepage = "https://github.com/numtide/nar-serve"; license = licenses.mit; - maintainers = with maintainers; [ rizary zimbatm ]; + maintainers = with maintainers; [ + rizary + zimbatm + ]; }; } diff --git a/pkgs/by-name/na/narrowlink/package.nix b/pkgs/by-name/na/narrowlink/package.nix index 531b0e7f60c9e..f0e5a58b4c184 100644 --- a/pkgs/by-name/na/narrowlink/package.nix +++ b/pkgs/by-name/na/narrowlink/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -30,7 +31,10 @@ rustPlatform.buildRustPackage rec { meta = { description = "Self-hosted solution to enable secure connectivity between devices across restricted networks like NAT or firewalls"; homepage = "https://github.com/narrowlink/narrowlink"; - license = with lib.licenses; [ agpl3Only mpl20 ]; # the gateway component is AGPLv3, the rest is MPLv2 + license = with lib.licenses; [ + agpl3Only + mpl20 + ]; # the gateway component is AGPLv3, the rest is MPLv2 maintainers = with lib.maintainers; [ dit7ya ]; mainProgram = "narrowlink"; }; diff --git a/pkgs/by-name/na/nas/package.nix b/pkgs/by-name/na/nas/package.nix index 84d8db558546c..30e359960faee 100644 --- a/pkgs/by-name/na/nas/package.nix +++ b/pkgs/by-name/na/nas/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, bison -, flex -, gccmakedep -, imake -, libXau -, libXaw -, libXext -, libXpm -, libXt -, xorgcffiles -, xorgproto +{ + lib, + stdenv, + fetchurl, + bison, + flex, + gccmakedep, + imake, + libXau, + libXaw, + libXext, + libXpm, + libXt, + xorgcffiles, + xorgproto, }: stdenv.mkDerivation (finalAttrs: { @@ -39,9 +40,15 @@ stdenv.mkDerivation (finalAttrs: { xorgproto ]; - buildFlags = [ "WORLDOPTS=" "World" ]; + buildFlags = [ + "WORLDOPTS=" + "World" + ]; - installFlags = [ "LDLIBS=-lfl" "DESTDIR=${placeholder "out"}" ]; + installFlags = [ + "LDLIBS=-lfl" + "DESTDIR=${placeholder "out"}" + ]; postInstall = '' mv $out/${xorgcffiles}/* $out diff --git a/pkgs/by-name/na/nasc/package.nix b/pkgs/by-name/na/nasc/package.nix index cd96b1d669a10..57afe669e12dc 100644 --- a/pkgs/by-name/na/nasc/package.nix +++ b/pkgs/by-name/na/nasc/package.nix @@ -1,21 +1,23 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, python3 -, meson -, ninja -, vala -, gtk3 -, glib -, pantheon -, gtksourceview -, libgee -, nix-update-script -, webkitgtk_4_0 -, libqalculate -, intltool -, gnuplot -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + python3, + meson, + ninja, + vala, + gtk3, + glib, + pantheon, + gtksourceview, + libgee, + nix-update-script, + webkitgtk_4_0, + libqalculate, + intltool, + gnuplot, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -42,15 +44,18 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ - glib - gtk3 - gtksourceview - libgee - pantheon.granite - webkitgtk_4_0 - # We add libqalculate's runtime dependencies because nasc has it as a modified subproject. - ] ++ libqalculate.buildInputs ++ libqalculate.propagatedBuildInputs; + buildInputs = + [ + glib + gtk3 + gtksourceview + libgee + pantheon.granite + webkitgtk_4_0 + # We add libqalculate's runtime dependencies because nasc has it as a modified subproject. + ] + ++ libqalculate.buildInputs + ++ libqalculate.propagatedBuildInputs; postPatch = '' chmod +x meson/post_install.py diff --git a/pkgs/by-name/na/nasin-nanpa/package.nix b/pkgs/by-name/na/nasin-nanpa/package.nix index 339c89dd9b0b4..de98f92b4ad11 100644 --- a/pkgs/by-name/na/nasin-nanpa/package.nix +++ b/pkgs/by-name/na/nasin-nanpa/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "nasin-nanpa"; diff --git a/pkgs/by-name/na/nasty/package.nix b/pkgs/by-name/na/nasty/package.nix index 80b6a2da8e2da..bd548a37bbd84 100644 --- a/pkgs/by-name/na/nasty/package.nix +++ b/pkgs/by-name/na/nasty/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gpgme }: +{ + lib, + stdenv, + fetchurl, + gpgme, +}: stdenv.mkDerivation rec { pname = "nasty"; @@ -24,9 +29,9 @@ stdenv.mkDerivation rec { description = "Recover the passphrase of your PGP or GPG-key"; mainProgram = "nasty"; longDescription = '' - Nasty is a program that helps you to recover the passphrase of your PGP or GPG-key - in case you forget or lost it. It is mostly a proof-of-concept: with a different implementation - this program could be at least 100x faster. + Nasty is a program that helps you to recover the passphrase of your PGP or GPG-key + in case you forget or lost it. It is mostly a proof-of-concept: with a different implementation + this program could be at least 100x faster. ''; homepage = "http://www.vanheusden.com/nasty/"; license = licenses.gpl2Only; @@ -34,4 +39,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/na/nat-traverse/package.nix b/pkgs/by-name/na/nat-traverse/package.nix index 39e74f215159b..e955c672f3886 100644 --- a/pkgs/by-name/na/nat-traverse/package.nix +++ b/pkgs/by-name/na/nat-traverse/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "nat-traverse"; diff --git a/pkgs/by-name/na/national-park-typeface/package.nix b/pkgs/by-name/na/national-park-typeface/package.nix index 36b7e6e2ac339..8f9bfd3ab148f 100644 --- a/pkgs/by-name/na/national-park-typeface/package.nix +++ b/pkgs/by-name/na/national-park-typeface/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "national-park-typeface"; diff --git a/pkgs/by-name/na/natls/package.nix b/pkgs/by-name/na/natls/package.nix index 195ef7994216c..c728826b5bc5c 100644 --- a/pkgs/by-name/na/natls/package.nix +++ b/pkgs/by-name/na/natls/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/na/nats-kafka/package.nix b/pkgs/by-name/na/nats-kafka/package.nix index fa9b770a0a8d6..df63a9af602c3 100644 --- a/pkgs/by-name/na/nats-kafka/package.nix +++ b/pkgs/by-name/na/nats-kafka/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/na/nats-server/package.nix b/pkgs/by-name/na/nats-server/package.nix index f43c3c1ea263e..e99d1a34d3e53 100644 --- a/pkgs/by-name/na/nats-server/package.nix +++ b/pkgs/by-name/na/nats-server/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -27,6 +28,9 @@ buildGoModule rec { homepage = "https://nats.io/"; changelog = "https://github.com/nats-io/nats-server/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ swdunlop derekcollison ]; + maintainers = with maintainers; [ + swdunlop + derekcollison + ]; }; } diff --git a/pkgs/by-name/na/nats-streaming-server/package.nix b/pkgs/by-name/na/nats-streaming-server/package.nix index 30f7b366e579a..7431132ae47a7 100644 --- a/pkgs/by-name/na/nats-streaming-server/package.nix +++ b/pkgs/by-name/na/nats-streaming-server/package.nix @@ -1,13 +1,17 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { - pname = "nats-streaming-server"; + pname = "nats-streaming-server"; version = "0.25.6"; src = fetchFromGitHub { - rev = "v${version}"; - owner = "nats-io"; - repo = pname; + rev = "v${version}"; + owner = "nats-io"; + repo = pname; sha256 = "sha256-i5fNxeJQXiyy+9NOGT1X68u9Pztxvnnba64rxIgjbZc="; }; diff --git a/pkgs/by-name/na/nats-top/package.nix b/pkgs/by-name/na/nats-top/package.nix index ae66e1ba1c50b..cb24d0fe98d7f 100644 --- a/pkgs/by-name/na/nats-top/package.nix +++ b/pkgs/by-name/na/nats-top/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, nats-top +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + nats-top, }: buildGoModule rec { diff --git a/pkgs/by-name/na/natscli/package.nix b/pkgs/by-name/na/natscli/package.nix index 68787caff7b28..555c09689037b 100644 --- a/pkgs/by-name/na/natscli/package.nix +++ b/pkgs/by-name/na/natscli/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, versionCheckHook +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, }: buildGoModule rec { diff --git a/pkgs/by-name/na/natural-docs/package.nix b/pkgs/by-name/na/natural-docs/package.nix index 7b614fe359dd5..fcffb10de7df6 100644 --- a/pkgs/by-name/na/natural-docs/package.nix +++ b/pkgs/by-name/na/natural-docs/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchzip, makeWrapper, mono, lib }: +{ + stdenv, + fetchzip, + makeWrapper, + mono, + lib, +}: stdenv.mkDerivation rec { pname = "natural-docs"; diff --git a/pkgs/by-name/na/nautilus-open-any-terminal/package.nix b/pkgs/by-name/na/nautilus-open-any-terminal/package.nix index 67f45c2eb6f26..058e3bec6e698 100644 --- a/pkgs/by-name/na/nautilus-open-any-terminal/package.nix +++ b/pkgs/by-name/na/nautilus-open-any-terminal/package.nix @@ -1,16 +1,17 @@ -{ lib -, pkg-config -, dbus -, dconf -, fetchFromGitHub -, glib -, nautilus -, nautilus-python -, gobject-introspection -, gsettings-desktop-schemas -, gtk3 -, python3 -, wrapGAppsHook3 +{ + lib, + pkg-config, + dbus, + dconf, + fetchFromGitHub, + glib, + nautilus, + nautilus-python, + gobject-introspection, + gsettings-desktop-schemas, + gtk3, + python3, + wrapGAppsHook3, }: python3.pkgs.buildPythonPackage rec { diff --git a/pkgs/by-name/na/nautilus-open-in-blackbox/package.nix b/pkgs/by-name/na/nautilus-open-in-blackbox/package.nix index cb8c6434e24cb..6a68bbe722560 100644 --- a/pkgs/by-name/na/nautilus-open-in-blackbox/package.nix +++ b/pkgs/by-name/na/nautilus-open-in-blackbox/package.nix @@ -1,13 +1,19 @@ -{ python3, fetchFromGitHub, nautilus-python, stdenv, lib }: +{ + python3, + fetchFromGitHub, + nautilus-python, + stdenv, + lib, +}: stdenv.mkDerivation rec { pname = "nautilus-open-in-blackbox"; version = "0.1.1"; src = fetchFromGitHub { - owner = "ppvan"; - repo = "nautilus-open-in-blackbox"; - rev = "refs/tags/${version}"; - hash = "sha256-5rvh3qNalpjamcBVQrnAW6GxhwPPlRxP5h045YDqvrM="; + owner = "ppvan"; + repo = "nautilus-open-in-blackbox"; + rev = "refs/tags/${version}"; + hash = "sha256-5rvh3qNalpjamcBVQrnAW6GxhwPPlRxP5h045YDqvrM="; }; # The Orignal Source code tries to execute `/usr/bin/blackbox` which is not valid in NixOS diff --git a/pkgs/by-name/na/nautilus-python/package.nix b/pkgs/by-name/na/nautilus-python/package.nix index 993d3e2933aff..f501181da5977 100644 --- a/pkgs/by-name/na/nautilus-python/package.nix +++ b/pkgs/by-name/na/nautilus-python/package.nix @@ -14,7 +14,7 @@ gnome, }: -stdenv.mkDerivation (finalAttrs:{ +stdenv.mkDerivation (finalAttrs: { pname = "nautilus-python"; version = "4.0.1"; diff --git a/pkgs/by-name/na/nauty/package.nix b/pkgs/by-name/na/nauty/package.nix index c1feeffdcb6d9..0963586a049d6 100644 --- a/pkgs/by-name/na/nauty/package.nix +++ b/pkgs/by-name/na/nauty/package.nix @@ -1,17 +1,23 @@ -{ stdenv -, lib -, fetchurl +{ + stdenv, + lib, + fetchurl, }: stdenv.mkDerivation rec { pname = "nauty"; version = "2.8.8"; src = fetchurl { - url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] ["_"] version}.tar.gz"; + url = "https://pallini.di.uniroma1.it/nauty${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.gz"; sha256 = "sha256-FZ0hVoEKa7JAQQzWHrZBrdhQiNnxXIiM2qN7hoH5Kc4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = [ # Prevent nauty from sniffing some cpu features. While those are very diff --git a/pkgs/by-name/na/navi/package.nix b/pkgs/by-name/na/navi/package.nix index 2d634e99dd157..78ad846cf2d64 100644 --- a/pkgs/by-name/na/navi/package.nix +++ b/pkgs/by-name/na/navi/package.nix @@ -1,4 +1,14 @@ -{ stdenv, fetchFromGitHub, lib, makeWrapper, rustPlatform, wget, libiconv, withFzf ? true, fzf }: +{ + stdenv, + fetchFromGitHub, + lib, + makeWrapper, + rustPlatform, + wget, + libiconv, + withFzf ? true, + fzf, +}: rustPlatform.buildRustPackage rec { pname = "navi"; @@ -20,13 +30,13 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/navi \ --prefix PATH : "$out/bin" \ - --prefix PATH : ${lib.makeBinPath([ wget ] ++ lib.optionals withFzf [ fzf ])} + --prefix PATH : ${lib.makeBinPath ([ wget ] ++ lib.optionals withFzf [ fzf ])} ''; checkFlags = [ # error: Found argument '--test-threads' which wasn't expected, or isn't valid in this context "--skip=test_parse_variable_line" - ]; + ]; meta = with lib; { description = "Interactive cheatsheet tool for the command-line and application launchers"; diff --git a/pkgs/by-name/na/navidrome/package.nix b/pkgs/by-name/na/navidrome/package.nix index 89cfd60e3ebfb..8925f7ba68077 100644 --- a/pkgs/by-name/na/navidrome/package.nix +++ b/pkgs/by-name/na/navidrome/package.nix @@ -1,18 +1,19 @@ -{ buildGo123Module -, buildPackages -, fetchFromGitHub -, fetchNpmDeps -, lib -, nodejs -, npmHooks -, pkg-config -, stdenv -, ffmpeg-headless -, taglib -, zlib -, nixosTests -, nix-update-script -, ffmpegSupport ? true +{ + buildGo123Module, + buildPackages, + fetchFromGitHub, + fetchNpmDeps, + lib, + nodejs, + npmHooks, + pkg-config, + stdenv, + ffmpeg-headless, + taglib, + zlib, + nixosTests, + nix-update-script, + ffmpegSupport ? true, }: buildGo123Module rec { @@ -80,7 +81,10 @@ buildGo123Module rec { homepage = "https://www.navidrome.org/"; license = lib.licenses.gpl3Only; sourceProvenance = with lib.sourceTypes; [ fromSource ]; - maintainers = with lib.maintainers; [ aciceri squalus ]; + maintainers = with lib.maintainers; [ + aciceri + squalus + ]; # Broken on Darwin: sandbox-exec: pattern serialization length exceeds maximum (NixOS/nix#4119) broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/na/nawk/package.nix b/pkgs/by-name/na/nawk/package.nix index d2132c25f2772..1e34e7f9d010b 100644 --- a/pkgs/by-name/na/nawk/package.nix +++ b/pkgs/by-name/na/nawk/package.nix @@ -20,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ bison installShellFiles ]; + nativeBuildInputs = [ + bison + installShellFiles + ]; outputs = [ "out" diff --git a/pkgs/by-name/nb/nb/package.nix b/pkgs/by-name/nb/nb/package.nix index c94a44bc7cbde..299df3fb157c0 100644 --- a/pkgs/by-name/nb/nb/package.nix +++ b/pkgs/by-name/nb/nb/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, installShellFiles, testers, nix-update-script, nb }: +{ + stdenv, + lib, + fetchFromGitHub, + installShellFiles, + testers, + nix-update-script, + nb, +}: stdenv.mkDerivation rec { pname = "nb"; diff --git a/pkgs/by-name/nb/nbd/package.nix b/pkgs/by-name/nb/nbd/package.nix index e2924665bd318..9a3c6b02540a4 100644 --- a/pkgs/by-name/nb/nbd/package.nix +++ b/pkgs/by-name/nb/nbd/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, glib -, which -, bison -, nixosTests -, libnl -, linuxHeaders -, gnutls +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + glib, + which, + bison, + nixosTests, + libnl, + linuxHeaders, + gnutls, }: stdenv.mkDerivation rec { @@ -36,13 +37,15 @@ stdenv.mkDerivation rec { bison ]; - buildInputs = [ - glib - gnutls - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libnl - linuxHeaders - ]; + buildInputs = + [ + glib + gnutls + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libnl + linuxHeaders + ]; configureFlags = [ "--sysconfdir=/etc" diff --git a/pkgs/by-name/nb/nbench/package.nix b/pkgs/by-name/nb/nbench/package.nix index b8fa6abfbadaa..abb8c5a3747e9 100644 --- a/pkgs/by-name/nb/nbench/package.nix +++ b/pkgs/by-name/nb/nbench/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "nbench-byte"; @@ -9,12 +13,14 @@ stdenv.mkDerivation rec { sha256 = "1b01j7nmm3wd92ngvsmn2sbw43sl9fpx4xxmkrink68fz1rx0gbj"; }; - prePatch = '' - substituteInPlace nbench1.h --replace '"NNET.DAT"' "\"$out/NNET.DAT\"" - substituteInPlace sysspec.h --replace "malloc.h" "stdlib.h" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Makefile --replace "-static" "" - ''; + prePatch = + '' + substituteInPlace nbench1.h --replace '"NNET.DAT"' "\"$out/NNET.DAT\"" + substituteInPlace sysspec.h --replace "malloc.h" "stdlib.h" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile --replace "-static" "" + ''; buildInputs = lib.optionals stdenv.hostPlatform.isGnu [ stdenv.cc.libc.static diff --git a/pkgs/by-name/nb/nbfc-linux/package.nix b/pkgs/by-name/nb/nbfc-linux/package.nix index 4e41574dcd189..2ae265b615dbb 100644 --- a/pkgs/by-name/nb/nbfc-linux/package.nix +++ b/pkgs/by-name/nb/nbfc-linux/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/nbfc-linux/nbfc-linux"; license = lib.licenses.gpl3; - maintainers = [lib.maintainers.Celibistrial]; + maintainers = [ lib.maintainers.Celibistrial ]; mainProgram = "nbfc"; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/nb/nbtscan/package.nix b/pkgs/by-name/nb/nbtscan/package.nix index 9d9e0b3afbe67..a958994a4f3b3 100644 --- a/pkgs/by-name/nb/nbtscan/package.nix +++ b/pkgs/by-name/nb/nbtscan/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/nb/nbutools/package.nix b/pkgs/by-name/nb/nbutools/package.nix index 15401e3db2588..36ad8bd11e2f1 100644 --- a/pkgs/by-name/nb/nbutools/package.nix +++ b/pkgs/by-name/nb/nbutools/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/nb/nbxplorer/deps.nix b/pkgs/by-name/nb/nbxplorer/deps.nix index 441a54528783f..1b8747df04f97 100644 --- a/pkgs/by-name/nb/nbxplorer/deps.nix +++ b/pkgs/by-name/nb/nbxplorer/deps.nix @@ -1,220 +1,1081 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Dapper"; version = "2.1.35"; hash = "sha256-zeroySx7lO1yLtbhKhFQ87diWXOq9gPnv3qFcmNcs9M="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "8.0.5"; hash = "sha256-i5VzC7peTKTiwjoqzlUFysyu7oUxBtf3bG/BZ6QYs/A="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "8.0.5"; hash = "sha256-8GX1oDCmWiX3t/gwpn2fVl3Pw3DdXgWru5refK8w+aw="; }) - (fetchNuGet { pname = "Microsoft.Azure.Amqp"; version = "2.4.9"; hash = "sha256-qmJGqOHjn1SofqiFuQ7qUuDOaDgX2cjnCOcE6iCde5Y="; }) - (fetchNuGet { pname = "Microsoft.Azure.ServiceBus"; version = "4.2.1"; hash = "sha256-RUfwCX0NMxKMXV7guVRWjmZOYEuxpFeabOeiA3TDfSo="; }) - (fetchNuGet { pname = "Microsoft.Azure.Services.AppAuthentication"; version = "1.0.3"; hash = "sha256-KaGL7asV10S+fGp9dt1i6frelho8ns73epxGzZ4iRis="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "6.0.0"; hash = "sha256-SIO/Q+OD2bG+Q0EoOXRgJYzZMhahGXDG1fXZn0VUvv0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; hash = "sha256-Evg+Ynj2QUa6Gz+zqF+bUyfGD0HI5A2fHmxZEXbn3HA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "6.0.0"; hash = "sha256-tG3DEWURVkQHm4MlmxjE/YouTp9wQKbWs6qHH2nfgqc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "6.0.0"; hash = "sha256-PLnSa0JMfDC62OTv8sL0QFJbANE7QSnJ997ySFBS1go="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Ini"; version = "6.0.0"; hash = "sha256-5tUoqvIsWL5hfmMCpCpBW6V1tw/sMUCwfnm/7Y8LD6M="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; hash = "sha256-uBjWjHKEXjZ9fDfFxMjOou3lhfTNhs1yO+e3fpWreLk="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "6.0.0"; hash = "sha256-5BAQOqnaEXM2YjdrmrCinXBeZ5FKxCWtebEXMdwcbMY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "6.0.0"; hash = "sha256-RAWHjkkfvGpjc49Q0kJbZyXgU6UEq/EJ0j557sj2/iU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "1.0.0"; hash = "sha256-asIXVFsAK7ELd/f+vLwhxYDdazqRTmf+fGJ4WFtcCeo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; hash = "sha256-QNqcQ3x+MOK7lXbWkCzSOWa/2QyYNbdM/OEEbWN15Sw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; hash = "sha256-AgvysszpQ11AiTBJFkvSy8JnwIWTj15Pfek7T7ThUc4="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Clients.ActiveDirectory"; version = "3.14.2"; hash = "sha256-mFlsKSQ6DsKttWuFkv6eMs0uSFHgwocxDad1icMXKj0="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "5.4.0"; hash = "sha256-yKITMgW2JEXhPlQgdmofAyt0eEcCr72P4rM2EC6wrig="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.4.0"; hash = "sha256-YKdSKQDO5+ssC5mqLGtBhuJ4lLbLUadMVV4PPJ6/tMU="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "5.4.0"; hash = "sha256-gCJ+4QwhuBPSkDN+HcMCpTE2LFIQ3htI/SddoHOB7T4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.2"; hash = "sha256-YLJ2+BONtCWb0lY4Rttdqzbcm4z+5N5uNr3byRWQOZ8="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; hash = "sha256-B4t5El/ViBdxALMcpZulewc4j/3SIXf71HhJWhm4Ctk="; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; hash = "sha256-50XwFbyRfZkTD/bBn76WV/NIpOy/mzXD3MMEVFX/vr8="; }) - (fetchNuGet { pname = "NBitcoin"; version = "7.0.37"; hash = "sha256-RclQZgot+Y8PZi9JEX7tgUJinkIBXs1Qgf4vGR2y4rc="; }) - (fetchNuGet { pname = "NBitcoin.Altcoins"; version = "3.0.24"; hash = "sha256-MGxIuYtWPgSYj5JCMmZfP7u04ki/UpeN1+//gU6RsdI="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.3"; hash = "sha256-WEHCjp+OMr5axXQjFsh7TMDE/ttE35nMv5RBPdcxfhs="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; hash = "sha256-ZUj6YFSMZp5CZtXiamw49eZmbp1iYBuNsIKNnjxcRzA="; }) - (fetchNuGet { pname = "NicolasDorier.CommandLine"; version = "2.0.0"; hash = "sha256-LizYyIMx6I17jZd52duYcGWNgcPs88c/zWxo/ADd3D8="; }) - (fetchNuGet { pname = "NicolasDorier.CommandLine.Configuration"; version = "2.0.0"; hash = "sha256-fDpDOVdt7xCDXXqaBnbaFvUOPaE0Sl4cLWjNkU0Cz7I="; }) - (fetchNuGet { pname = "NicolasDorier.StandardConfiguration"; version = "2.0.0"; hash = "sha256-mwPvVaESUnou1qd0b6oSmQfBBz28LmQIb1EoSUZvqAA="; }) - (fetchNuGet { pname = "Npgsql"; version = "8.0.3"; hash = "sha256-weBGo/IXKI5ufixBCuWG7OqDSyIqvGV07oxrG0XnQIQ="; }) - (fetchNuGet { pname = "RabbitMQ.Client"; version = "5.1.2"; hash = "sha256-reYeBKsqfrdZZ4Nq4dsqLo1GNtcT2A0VuOIHtW3ttqQ="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; hash = "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; hash = "sha256-5nWnTQrA1T6t9r8MqIiV4yTNu+IH0of2OX1qteoS+8E="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Security"; version = "4.3.0"; hash = "sha256-I8vYld/7WtU2/rrD4XfSRgpO/DY3qXghG14VQjiU2DY="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; hash = "sha256-6Q8eYzC32BbGIiTHoQaE6B3cD81vYQcH5SCswYRSp0w="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; }) - (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; }) - (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; hash = "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="; }) - (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; hash = "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk="; }) - (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; hash = "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="; }) - (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; hash = "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus="; }) - (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; hash = "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54="; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.5.1"; hash = "sha256-gZEDRv0v0AAauQ36BWXkJk3GLW0sYH6QPxa0p2l8Dck="; }) - (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.3.0"; hash = "sha256-Rzo24qXhuJDDgrGNHr2eQRHhwLmsYmWDqAg/P5fOlzw="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; hash = "sha256-EJN3LbN+b0O9Dr2eg7kfThCYpne0iJ/H/GIyUTNVYC8="; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; hash = "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="; }) - (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "5.4.0"; hash = "sha256-zLtoejPBG8yeFEPIcXZAkdAb0WDnrVXh5YsUYKULyRU="; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; }) - (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; hash = "sha256-2YSijNhCdw/ZU2yfH7vE+ReA8pgxRCXPnWr+ab36v4M="; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; }) - (fetchNuGet { pname = "System.Net.Security"; version = "4.3.0"; hash = "sha256-B7laE1z1+ldbo6JkjlDjZynG5JiMZ/3uNHPHMP6LRak="; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; }) - (fetchNuGet { pname = "System.Net.WebHeaderCollection"; version = "4.0.1"; hash = "sha256-uJSV6kmL+V/9/ot1LhHXGCd8Ndcu6zk+AJ8wgGS/fYE="; }) - (fetchNuGet { pname = "System.Net.WebHeaderCollection"; version = "4.3.0"; hash = "sha256-wpRP3D/2YjpFmqU7Q42L/+/hChEVMlwU1sjysGVrQ1c="; }) - (fetchNuGet { pname = "System.Net.WebSockets"; version = "4.0.0"; hash = "sha256-YhLVuTPyEiHAjdBMHyIobGpysDbAtgZNDX2Q2xKGTRI="; }) - (fetchNuGet { pname = "System.Net.WebSockets"; version = "4.3.0"; hash = "sha256-l3h3cF1cCC9zMhWLKSDnZBZvFADUd0Afe2+iAwBA0r0="; }) - (fetchNuGet { pname = "System.Net.WebSockets.Client"; version = "4.0.2"; hash = "sha256-miyjFY0E49/rtWDOF7QR26jJlYn3WRiQQOonSBJMFV0="; }) - (fetchNuGet { pname = "System.Net.WebSockets.Client"; version = "4.3.2"; hash = "sha256-MwNKwIIpBJhC4Na6EYWMmVyPCa064Yp1aL0opx1FfoA="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.1.1"; hash = "sha256-OaE+ZcEfkpIkbdMOMAMiJa9vgiVP25FGuFrf+N/mafY="; }) - (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.3.0"; hash = "sha256-vNlHUKkaFvhiVnTY0JNsNT5E6TW9CFRzTqVcufGN0hk="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; hash = "sha256-1pJt5ZGxLPTX1mjOi8qZPXyyOMkYV0NstoUCv91HYPg="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Formatters"; version = "4.3.0"; hash = "sha256-Feic7MGKVG4imh7kpLkPHmApQzYjq7SxHnazh2wZkoQ="; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Json"; version = "4.0.2"; hash = "sha256-thmzgYbyxoPYtkDdDwoG7wnVuVhFNwLUE2AsDfRf1yM="; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; hash = "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; hash = "sha256-zu5m1M9usend+i9sbuD6Xbizdo8Z6N5PEF9DAtEVewc="; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.3.0"; hash = "sha256-0bp8xtv2cP/IuxaBF8xkyYYD8N6w1wVX8wzpAwXtTKw="; }) - (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; hash = "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; hash = "sha256-BelNIpEyToEp/VYKnje/q1P7KNEpQNtOzGPU18pLGpE="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; hash = "sha256-7F+m3HnmBsgE4xWF8FeCGlaEgQM3drqA6HEaQr6MEoU="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; hash = "sha256-WHyR6vVK3zaT4De7jgQFUar1P5fiX9ECwiVkJDFFm7M="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; hash = "sha256-ZO7ha39J5uHkIF2RoEKv/bW/bLbVvYMO4+rWyYsKHik="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; hash = "sha256-mLijAozynzjiOMyh2P5BHcfVq3Ovd0T/phG08SIbXZs="; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; hash = "sha256-sEdPftfTxQd/8DpdpqUZC2XWC0SjVCPqAkEleLl17EQ="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; hash = "sha256-sBUUhJP+yYDXvcjNMKqNpn8yzGUpVABwK9vVUvYKjzI="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; }) - (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; }) - (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.0.1"; hash = "sha256-gdoFrPo54v1LjkBF79f8EvtltVVjHz9ZI9kc5ve0GkY="; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; }) - (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.0.11"; hash = "sha256-v6x4d6W18dijG5cDqQmVHdtWRf6Y4OkdBolT3d5g3wY="; }) - (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.3.0"; hash = "sha256-IqTGPENWYoI06x2NHFPVtHlLEq9tazbom32bFLom6h4="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Dapper"; + version = "2.1.35"; + hash = "sha256-zeroySx7lO1yLtbhKhFQ87diWXOq9gPnv3qFcmNcs9M="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.JsonPatch"; + version = "8.0.5"; + hash = "sha256-i5VzC7peTKTiwjoqzlUFysyu7oUxBtf3bG/BZ6QYs/A="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; + version = "8.0.5"; + hash = "sha256-8GX1oDCmWiX3t/gwpn2fVl3Pw3DdXgWru5refK8w+aw="; + }) + (fetchNuGet { + pname = "Microsoft.Azure.Amqp"; + version = "2.4.9"; + hash = "sha256-qmJGqOHjn1SofqiFuQ7qUuDOaDgX2cjnCOcE6iCde5Y="; + }) + (fetchNuGet { + pname = "Microsoft.Azure.ServiceBus"; + version = "4.2.1"; + hash = "sha256-RUfwCX0NMxKMXV7guVRWjmZOYEuxpFeabOeiA3TDfSo="; + }) + (fetchNuGet { + pname = "Microsoft.Azure.Services.AppAuthentication"; + version = "1.0.3"; + hash = "sha256-KaGL7asV10S+fGp9dt1i6frelho8ns73epxGzZ4iRis="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.3.0"; + hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "6.0.0"; + hash = "sha256-SIO/Q+OD2bG+Q0EoOXRgJYzZMhahGXDG1fXZn0VUvv0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "6.0.0"; + hash = "sha256-Evg+Ynj2QUa6Gz+zqF+bUyfGD0HI5A2fHmxZEXbn3HA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "6.0.0"; + hash = "sha256-tG3DEWURVkQHm4MlmxjE/YouTp9wQKbWs6qHH2nfgqc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "6.0.0"; + hash = "sha256-PLnSa0JMfDC62OTv8sL0QFJbANE7QSnJ997ySFBS1go="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Ini"; + version = "6.0.0"; + hash = "sha256-5tUoqvIsWL5hfmMCpCpBW6V1tw/sMUCwfnm/7Y8LD6M="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "6.0.0"; + hash = "sha256-uBjWjHKEXjZ9fDfFxMjOou3lhfTNhs1yO+e3fpWreLk="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "6.0.0"; + hash = "sha256-5BAQOqnaEXM2YjdrmrCinXBeZ5FKxCWtebEXMdwcbMY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "6.0.0"; + hash = "sha256-RAWHjkkfvGpjc49Q0kJbZyXgU6UEq/EJ0j557sj2/iU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "1.0.0"; + hash = "sha256-asIXVFsAK7ELd/f+vLwhxYDdazqRTmf+fGJ4WFtcCeo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "6.0.0"; + hash = "sha256-QNqcQ3x+MOK7lXbWkCzSOWa/2QyYNbdM/OEEbWN15Sw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "6.0.0"; + hash = "sha256-AgvysszpQ11AiTBJFkvSy8JnwIWTj15Pfek7T7ThUc4="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Clients.ActiveDirectory"; + version = "3.14.2"; + hash = "sha256-mFlsKSQ6DsKttWuFkv6eMs0uSFHgwocxDad1icMXKj0="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.JsonWebTokens"; + version = "5.4.0"; + hash = "sha256-yKITMgW2JEXhPlQgdmofAyt0eEcCr72P4rM2EC6wrig="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Logging"; + version = "5.4.0"; + hash = "sha256-YKdSKQDO5+ssC5mqLGtBhuJ4lLbLUadMVV4PPJ6/tMU="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Tokens"; + version = "5.4.0"; + hash = "sha256-gCJ+4QwhuBPSkDN+HcMCpTE2LFIQ3htI/SddoHOB7T4="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.2"; + hash = "sha256-YLJ2+BONtCWb0lY4Rttdqzbcm4z+5N5uNr3byRWQOZ8="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + hash = "sha256-B4t5El/ViBdxALMcpZulewc4j/3SIXf71HhJWhm4Ctk="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.3.0"; + hash = "sha256-50XwFbyRfZkTD/bBn76WV/NIpOy/mzXD3MMEVFX/vr8="; + }) + (fetchNuGet { + pname = "NBitcoin"; + version = "7.0.37"; + hash = "sha256-RclQZgot+Y8PZi9JEX7tgUJinkIBXs1Qgf4vGR2y4rc="; + }) + (fetchNuGet { + pname = "NBitcoin.Altcoins"; + version = "3.0.24"; + hash = "sha256-MGxIuYtWPgSYj5JCMmZfP7u04ki/UpeN1+//gU6RsdI="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.1"; + hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "10.0.3"; + hash = "sha256-WEHCjp+OMr5axXQjFsh7TMDE/ttE35nMv5RBPdcxfhs="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json.Bson"; + version = "1.0.2"; + hash = "sha256-ZUj6YFSMZp5CZtXiamw49eZmbp1iYBuNsIKNnjxcRzA="; + }) + (fetchNuGet { + pname = "NicolasDorier.CommandLine"; + version = "2.0.0"; + hash = "sha256-LizYyIMx6I17jZd52duYcGWNgcPs88c/zWxo/ADd3D8="; + }) + (fetchNuGet { + pname = "NicolasDorier.CommandLine.Configuration"; + version = "2.0.0"; + hash = "sha256-fDpDOVdt7xCDXXqaBnbaFvUOPaE0Sl4cLWjNkU0Cz7I="; + }) + (fetchNuGet { + pname = "NicolasDorier.StandardConfiguration"; + version = "2.0.0"; + hash = "sha256-mwPvVaESUnou1qd0b6oSmQfBBz28LmQIb1EoSUZvqAA="; + }) + (fetchNuGet { + pname = "Npgsql"; + version = "8.0.3"; + hash = "sha256-weBGo/IXKI5ufixBCuWG7OqDSyIqvGV07oxrG0XnQIQ="; + }) + (fetchNuGet { + pname = "RabbitMQ.Client"; + version = "5.1.2"; + hash = "sha256-reYeBKsqfrdZZ4Nq4dsqLo1GNtcT2A0VuOIHtW3ttqQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.0.0"; + hash = "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.0.1"; + hash = "sha256-5nWnTQrA1T6t9r8MqIiV4yTNu+IH0of2OX1qteoS+8E="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Security"; + version = "4.3.0"; + hash = "sha256-I8vYld/7WtU2/rrD4XfSRgpO/DY3qXghG14VQjiU2DY="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography"; + version = "4.0.0"; + hash = "sha256-6Q8eYzC32BbGIiTHoQaE6B3cD81vYQcH5SCswYRSp0w="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Console"; + version = "4.3.0"; + hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.0.12"; + hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; + }) + (fetchNuGet { + pname = "System.Collections.NonGeneric"; + version = "4.3.0"; + hash = "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="; + }) + (fetchNuGet { + pname = "System.Collections.Specialized"; + version = "4.3.0"; + hash = "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk="; + }) + (fetchNuGet { + pname = "System.ComponentModel"; + version = "4.3.0"; + hash = "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Primitives"; + version = "4.3.0"; + hash = "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus="; + }) + (fetchNuGet { + pname = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + hash = "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54="; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.5.1"; + hash = "sha256-gZEDRv0v0AAauQ36BWXkJk3GLW0sYH6QPxa0p2l8Dck="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Process"; + version = "4.3.0"; + hash = "sha256-Rzo24qXhuJDDgrGNHr2eQRHhwLmsYmWDqAg/P5fOlzw="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.1.0"; + hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.0.1"; + hash = "sha256-EJN3LbN+b0O9Dr2eg7kfThCYpne0iJ/H/GIyUTNVYC8="; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + hash = "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="; + }) + (fetchNuGet { + pname = "System.IdentityModel.Tokens.Jwt"; + version = "5.4.0"; + hash = "sha256-zLtoejPBG8yeFEPIcXZAkdAb0WDnrVXh5YsUYKULyRU="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + }) + (fetchNuGet { + pname = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.0.1"; + hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.0"; + hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; + }) + (fetchNuGet { + pname = "System.Net.NameResolution"; + version = "4.3.0"; + hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.0.11"; + hash = "sha256-2YSijNhCdw/ZU2yfH7vE+ReA8pgxRCXPnWr+ab36v4M="; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; + }) + (fetchNuGet { + pname = "System.Net.Security"; + version = "4.3.0"; + hash = "sha256-B7laE1z1+ldbo6JkjlDjZynG5JiMZ/3uNHPHMP6LRak="; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; + }) + (fetchNuGet { + pname = "System.Net.WebHeaderCollection"; + version = "4.0.1"; + hash = "sha256-uJSV6kmL+V/9/ot1LhHXGCd8Ndcu6zk+AJ8wgGS/fYE="; + }) + (fetchNuGet { + pname = "System.Net.WebHeaderCollection"; + version = "4.3.0"; + hash = "sha256-wpRP3D/2YjpFmqU7Q42L/+/hChEVMlwU1sjysGVrQ1c="; + }) + (fetchNuGet { + pname = "System.Net.WebSockets"; + version = "4.0.0"; + hash = "sha256-YhLVuTPyEiHAjdBMHyIobGpysDbAtgZNDX2Q2xKGTRI="; + }) + (fetchNuGet { + pname = "System.Net.WebSockets"; + version = "4.3.0"; + hash = "sha256-l3h3cF1cCC9zMhWLKSDnZBZvFADUd0Afe2+iAwBA0r0="; + }) + (fetchNuGet { + pname = "System.Net.WebSockets.Client"; + version = "4.0.2"; + hash = "sha256-miyjFY0E49/rtWDOF7QR26jJlYn3WRiQQOonSBJMFV0="; + }) + (fetchNuGet { + pname = "System.Net.WebSockets.Client"; + version = "4.3.2"; + hash = "sha256-MwNKwIIpBJhC4Na6EYWMmVyPCa064Yp1aL0opx1FfoA="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.DataContractSerialization"; + version = "4.1.1"; + hash = "sha256-OaE+ZcEfkpIkbdMOMAMiJa9vgiVP25FGuFrf+N/mafY="; + }) + (fetchNuGet { + pname = "System.Private.DataContractSerialization"; + version = "4.3.0"; + hash = "sha256-vNlHUKkaFvhiVnTY0JNsNT5E6TW9CFRzTqVcufGN0hk="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.0.1"; + hash = "sha256-1pJt5ZGxLPTX1mjOi8qZPXyyOMkYV0NstoUCv91HYPg="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Formatters"; + version = "4.3.0"; + hash = "sha256-Feic7MGKVG4imh7kpLkPHmApQzYjq7SxHnazh2wZkoQ="; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Json"; + version = "4.0.2"; + hash = "sha256-thmzgYbyxoPYtkDdDwoG7wnVuVhFNwLUE2AsDfRf1yM="; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + hash = "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.3.0"; + hash = "sha256-zu5m1M9usend+i9sbuD6Xbizdo8Z6N5PEF9DAtEVewc="; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Xml"; + version = "4.3.0"; + hash = "sha256-0bp8xtv2cP/IuxaBF8xkyYYD8N6w1wVX8wzpAwXtTKw="; + }) + (fetchNuGet { + pname = "System.Security.Claims"; + version = "4.3.0"; + hash = "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + hash = "sha256-BelNIpEyToEp/VYKnje/q1P7KNEpQNtOzGPU18pLGpE="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.2.0"; + hash = "sha256-7F+m3HnmBsgE4xWF8FeCGlaEgQM3drqA6HEaQr6MEoU="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.0.0"; + hash = "sha256-WHyR6vVK3zaT4De7jgQFUar1P5fiX9ECwiVkJDFFm7M="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.0.0"; + hash = "sha256-ZO7ha39J5uHkIF2RoEKv/bW/bLbVvYMO4+rWyYsKHik="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.0.0"; + hash = "sha256-mLijAozynzjiOMyh2P5BHcfVq3Ovd0T/phG08SIbXZs="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.0.0"; + hash = "sha256-sEdPftfTxQd/8DpdpqUZC2XWC0SjVCPqAkEleLl17EQ="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.1.0"; + hash = "sha256-sBUUhJP+yYDXvcjNMKqNpn8yzGUpVABwK9vVUvYKjzI="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; + }) + (fetchNuGet { + pname = "System.Security.Principal"; + version = "4.3.0"; + hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.3.0"; + hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.1.0"; + hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.3.0"; + hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.3.0"; + hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; + }) + (fetchNuGet { + pname = "System.Threading.ThreadPool"; + version = "4.3.0"; + hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.0.11"; + hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.0.1"; + hash = "sha256-gdoFrPo54v1LjkBF79f8EvtltVVjHz9ZI9kc5ve0GkY="; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.3.0"; + hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; + }) + (fetchNuGet { + pname = "System.Xml.XmlSerializer"; + version = "4.0.11"; + hash = "sha256-v6x4d6W18dijG5cDqQmVHdtWRf6Y4OkdBolT3d5g3wY="; + }) + (fetchNuGet { + pname = "System.Xml.XmlSerializer"; + version = "4.3.0"; + hash = "sha256-IqTGPENWYoI06x2NHFPVtHlLEq9tazbom32bFLom6h4="; + }) ] diff --git a/pkgs/by-name/nb/nbxplorer/package.nix b/pkgs/by-name/nb/nbxplorer/package.nix index b7e75efea2e5b..bda82fc536378 100644 --- a/pkgs/by-name/nb/nbxplorer/package.nix +++ b/pkgs/by-name/nb/nbxplorer/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, }: buildDotnetModule rec { @@ -28,7 +29,10 @@ buildDotnetModule rec { meta = with lib; { description = "Minimalist UTXO tracker for HD Cryptocurrency Wallets"; - maintainers = with maintainers; [ kcalvinalvin erikarvstedt ]; + maintainers = with maintainers; [ + kcalvinalvin + erikarvstedt + ]; license = licenses.mit; platforms = platforms.linux ++ platforms.darwin; mainProgram = "nbxplorer"; diff --git a/pkgs/by-name/nc/ncdc/package.nix b/pkgs/by-name/nc/ncdc/package.nix index 912bd60b3b656..b1d313868100b 100644 --- a/pkgs/by-name/nc/ncdc/package.nix +++ b/pkgs/by-name/nc/ncdc/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, zlib -, bzip2 -, sqlite -, pkg-config -, glib -, gnutls -, perl -, libmaxminddb +{ + lib, + stdenv, + fetchurl, + ncurses, + zlib, + bzip2, + sqlite, + pkg-config, + glib, + gnutls, + perl, + libmaxminddb, }: stdenv.mkDerivation (finalAttrs: { @@ -21,8 +22,19 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Koq5rX1D8Bj8c7qLq9aJ36RKuozsU7iOR3AYXLl3ePc="; }; - nativeBuildInputs = [ perl pkg-config ]; - buildInputs = [ ncurses zlib bzip2 sqlite glib gnutls libmaxminddb ]; + nativeBuildInputs = [ + perl + pkg-config + ]; + buildInputs = [ + ncurses + zlib + bzip2 + sqlite + glib + gnutls + libmaxminddb + ]; configureFlags = [ "--with-geoip" ]; diff --git a/pkgs/by-name/nc/ncdns/package.nix b/pkgs/by-name/nc/ncdns/package.nix index 1f896ec21a5c0..a603b9674f029 100644 --- a/pkgs/by-name/nc/ncdns/package.nix +++ b/pkgs/by-name/nc/ncdns/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchpatch -, buildGoModule -, fetchFromGitHub -, nixosTests -, libcap -, go +{ + lib, + stdenv, + fetchpatch, + buildGoModule, + fetchFromGitHub, + nixosTests, + libcap, + go, }: let @@ -83,7 +84,7 @@ buildGoModule { buildInputs = [ libcap ]; - patches = [./fix-tpl-path.patch ]; + patches = [ ./fix-tpl-path.patch ]; # Put in our own lockfiles postPatch = '' diff --git a/pkgs/by-name/nc/ncftp/package.nix b/pkgs/by-name/nc/ncftp/package.nix index 883d2e48afe39..01eef692a2daf 100644 --- a/pkgs/by-name/nc/ncftp/package.nix +++ b/pkgs/by-name/nc/ncftp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, ncurses, coreutils }: +{ + lib, + stdenv, + fetchurl, + ncurses, + coreutils, +}: stdenv.mkDerivation rec { pname = "ncftp"; @@ -17,12 +23,14 @@ stdenv.mkDerivation rec { # gcc-10. Otherwise build fails as: # ld: bookmark.o: (.bss+0x20): multiple definition of `gBm'; # gpshare.o:(.bss+0x0): first defined here - env.NIX_CFLAGS_COMPILE = toString ([ "-fcommon" ] + env.NIX_CFLAGS_COMPILE = toString ( + [ "-fcommon" ] # these are required for the configure script to work with clang ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-Wno-implicit-int" "-Wno-implicit-function-declaration" - ]); + ] + ); preConfigure = '' find -name Makefile.in | xargs sed -i '/^TMPDIR=/d' diff --git a/pkgs/by-name/nc/ncgopher/package.nix b/pkgs/by-name/nc/ncgopher/package.nix index 4d2f72c35439d..95f12be4bb1ce 100644 --- a/pkgs/by-name/nc/ncgopher/package.nix +++ b/pkgs/by-name/nc/ncgopher/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, ncurses6 -, openssl -, sqlite +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + ncurses6, + openssl, + sqlite, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/nc/ncmpcpp/package.nix b/pkgs/by-name/nc/ncmpcpp/package.nix index 3f5baff5963eb..3d15f22943c9d 100644 --- a/pkgs/by-name/nc/ncmpcpp/package.nix +++ b/pkgs/by-name/nc/ncmpcpp/package.nix @@ -52,15 +52,17 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - boost - libmpdclient - ncurses - readline - libiconv - icu - curl - ] ++ lib.optional visualizerSupport fftw + buildInputs = + [ + boost + libmpdclient + ncurses + readline + libiconv + icu + curl + ] + ++ lib.optional visualizerSupport fftw ++ lib.optional taglibSupport taglib; preConfigure = @@ -73,7 +75,7 @@ stdenv.mkDerivation rec { --replace-fail "std=c++20" "std=c++17" ''; - meta = { + meta = { description = "Featureful ncurses based MPD client inspired by ncmpc"; homepage = "https://rybczak.net/ncmpcpp/"; changelog = "https://github.com/ncmpcpp/ncmpcpp/blob/${version}/CHANGELOG.md"; diff --git a/pkgs/by-name/nc/ncnn/package.nix b/pkgs/by-name/nc/ncnn/package.nix index f431133c25057..b1f819cdee193 100644 --- a/pkgs/by-name/nc/ncnn/package.nix +++ b/pkgs/by-name/nc/ncnn/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, vulkan-headers -, vulkan-loader -, glslang -, opencv -, protobuf +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + vulkan-headers, + vulkan-loader, + glslang, + opencv, + protobuf, }: stdenv.mkDerivation rec { @@ -24,21 +25,28 @@ stdenv.mkDerivation rec { ./cmakelists.patch ]; - cmakeFlags = [ - "-DNCNN_CMAKE_VERBOSE=1" # Only for debugging the build - "-DNCNN_SHARED_LIB=1" - "-DNCNN_ENABLE_LTO=1" - "-DNCNN_VULKAN=1" - "-DNCNN_BUILD_EXAMPLES=0" - "-DNCNN_BUILD_TOOLS=0" - "-DNCNN_SYSTEM_GLSLANG=1" - "-DNCNN_PYTHON=0" # Should be an attribute - ] - # Requires setting `Vulkan_LIBRARY` on Darwin. Otherwise the build fails due to missing symbols. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DVulkan_LIBRARY=-lvulkan" ]; + cmakeFlags = + [ + "-DNCNN_CMAKE_VERBOSE=1" # Only for debugging the build + "-DNCNN_SHARED_LIB=1" + "-DNCNN_ENABLE_LTO=1" + "-DNCNN_VULKAN=1" + "-DNCNN_BUILD_EXAMPLES=0" + "-DNCNN_BUILD_TOOLS=0" + "-DNCNN_SYSTEM_GLSLANG=1" + "-DNCNN_PYTHON=0" # Should be an attribute + ] + # Requires setting `Vulkan_LIBRARY` on Darwin. Otherwise the build fails due to missing symbols. + ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DVulkan_LIBRARY=-lvulkan" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ vulkan-headers vulkan-loader glslang opencv protobuf ]; + buildInputs = [ + vulkan-headers + vulkan-loader + glslang + opencv + protobuf + ]; meta = with lib; { description = "ncnn is a high-performance neural network inference framework optimized for the mobile platform"; diff --git a/pkgs/by-name/nc/nco/package.nix b/pkgs/by-name/nc/nco/package.nix index 22cc45f0447f8..ab8a316c4e14b 100644 --- a/pkgs/by-name/nc/nco/package.nix +++ b/pkgs/by-name/nc/nco/package.nix @@ -1,16 +1,17 @@ -{ antlr2 -, coreutils -, curl -, fetchFromGitHub -, flex -, gsl -, lib -, libtool -, netcdf -, netcdfcxx4 -, stdenv -, udunits -, which +{ + antlr2, + coreutils, + curl, + fetchFromGitHub, + flex, + gsl, + lib, + libtool, + netcdf, + netcdfcxx4, + stdenv, + udunits, + which, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nc/ncompress/package.nix b/pkgs/by-name/nc/ncompress/package.nix index bb8084ac013a6..4baac00754eeb 100644 --- a/pkgs/by-name/nc/ncompress/package.nix +++ b/pkgs/by-name/nc/ncompress/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ncompress"; diff --git a/pkgs/by-name/nc/ncpamixer/package.nix b/pkgs/by-name/nc/ncpamixer/package.nix index 77519fde31c59..b519d5585e959 100644 --- a/pkgs/by-name/nc/ncpamixer/package.nix +++ b/pkgs/by-name/nc/ncpamixer/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, cmake, ncurses, libpulseaudio, pandoc, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + cmake, + ncurses, + libpulseaudio, + pandoc, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ncpamixer"; @@ -15,19 +25,28 @@ stdenv.mkDerivation rec { ./remove_dynamic_download.patch ]; - postPatch = let - PandocMan = fetchurl { - url = "https://github.com/rnpgp/cmake-modules/raw/387084811ee01a69911fe86bcc644b7ed8ad6304/PandocMan.cmake"; - hash = "sha256-KI55Yc2IuQtmbptqkk6Hzr75gIE/uQdUbQsm/fDpaWg="; - }; - in '' - substituteInPlace src/CMakeLists.txt \ - --replace "include(PandocMan)" "include(${PandocMan})" - ''; - - nativeBuildInputs = [ cmake pandoc pkg-config ]; + postPatch = + let + PandocMan = fetchurl { + url = "https://github.com/rnpgp/cmake-modules/raw/387084811ee01a69911fe86bcc644b7ed8ad6304/PandocMan.cmake"; + hash = "sha256-KI55Yc2IuQtmbptqkk6Hzr75gIE/uQdUbQsm/fDpaWg="; + }; + in + '' + substituteInPlace src/CMakeLists.txt \ + --replace "include(PandocMan)" "include(${PandocMan})" + ''; + + nativeBuildInputs = [ + cmake + pandoc + pkg-config + ]; - buildInputs = [ ncurses libpulseaudio ]; + buildInputs = [ + ncurses + libpulseaudio + ]; configurePhase = '' make PREFIX=$out USE_WIDE=1 RELEASE=1 build/Makefile diff --git a/pkgs/by-name/nc/ncrack/package.nix b/pkgs/by-name/nc/ncrack/package.nix index bfce4dd371231..2df00ec4c8942 100644 --- a/pkgs/by-name/nc/ncrack/package.nix +++ b/pkgs/by-name/nc/ncrack/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "ncrack"; @@ -24,7 +31,10 @@ stdenv.mkDerivation rec { # Our version is good; the check is bad. configureFlags = [ "--without-zlib-version-check" ]; - buildInputs = [ openssl zlib ]; + buildInputs = [ + openssl + zlib + ]; meta = with lib; { description = "Network authentication tool"; diff --git a/pkgs/by-name/nc/ncview/package.nix b/pkgs/by-name/nc/ncview/package.nix index fcfb6661f3101..7dc9288bbda65 100644 --- a/pkgs/by-name/nc/ncview/package.nix +++ b/pkgs/by-name/nc/ncview/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, expat -, libpng -, udunits -, netcdf -, xorg +{ + lib, + stdenv, + fetchurl, + expat, + libpng, + udunits, + netcdf, + xorg, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nd/ndisc6/package.nix b/pkgs/by-name/nd/ndisc6/package.nix index e4df6551184bb..f89a89164b8aa 100644 --- a/pkgs/by-name/nd/ndisc6/package.nix +++ b/pkgs/by-name/nd/ndisc6/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "ndisc6"; diff --git a/pkgs/by-name/nd/ndjbdns/package.nix b/pkgs/by-name/nd/ndjbdns/package.nix index 5619c5b5c37bf..5d330ed1ab0e3 100644 --- a/pkgs/by-name/nd/ndjbdns/package.nix +++ b/pkgs/by-name/nd/ndjbdns/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, systemd, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + systemd, + pkg-config, +}: stdenv.mkDerivation { version = "1.06"; @@ -11,9 +18,11 @@ stdenv.mkDerivation { sha256 = "0gjyvn8r66kp49gasd6sqfvg2pj0c6v67hnq7cqwl04kj69rfy86"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ ] - ++ lib.optional stdenv.hostPlatform.isLinux systemd; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux systemd; meta = with lib; { description = "Brand new release of the Djbdns"; diff --git a/pkgs/by-name/nd/ndpi/package.nix b/pkgs/by-name/nd/ndpi/package.nix index 7ede8a409c3b1..6bc064fafbfe3 100644 --- a/pkgs/by-name/nd/ndpi/package.nix +++ b/pkgs/by-name/nd/ndpi/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, json_c -, libpcap -, libtool -, pkg-config -, which +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + json_c, + libpcap, + libtool, + pkg-config, + which, }: stdenv.mkDerivation (finalAttrs: { @@ -39,7 +40,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://www.ntop.org/products/deep-packet-inspection/ndpi/"; changelog = "https://github.com/ntop/nDPI/blob/${finalAttrs.version}/CHANGELOG.md"; - license = with licenses; [ lgpl3Plus bsd3 ]; + license = with licenses; [ + lgpl3Plus + bsd3 + ]; maintainers = with maintainers; [ takikawa ]; mainProgram = "ndpiReader"; platforms = with platforms; unix; diff --git a/pkgs/by-name/nd/ndstool/package.nix b/pkgs/by-name/nd/ndstool/package.nix index 6a61ff825ff2e..5c3fcf4eaeb3d 100644 --- a/pkgs/by-name/nd/ndstool/package.nix +++ b/pkgs/by-name/nd/ndstool/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, +}: stdenv.mkDerivation rec { pname = "ndstool"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-121xEmbt1WBR1wi4RLw9/iLHqkpyXImXKiCNnLCYnJs="; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/by-name/nd/ndstrim/package.nix b/pkgs/by-name/nd/ndstrim/package.nix index edf35039388a9..92926263622ef 100644 --- a/pkgs/by-name/nd/ndstrim/package.nix +++ b/pkgs/by-name/nd/ndstrim/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, rustPlatform +{ + lib, + fetchFromGitHub, + fetchpatch, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ne/ne/package.nix b/pkgs/by-name/ne/ne/package.nix index 7a3244dba84ec..83a755ad2735f 100644 --- a/pkgs/by-name/ne/ne/package.nix +++ b/pkgs/by-name/ne/ne/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, texinfo6, texliveMedium, perl, ghostscript }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + texinfo6, + texliveMedium, + perl, + ghostscript, +}: stdenv.mkDerivation rec { pname = "ne"; @@ -16,7 +25,12 @@ stdenv.mkDerivation rec { substituteInPlace src/makefile --replace "-lcurses" "-lncurses" ''; - nativeBuildInputs = [ texliveMedium texinfo6 perl ghostscript ]; + nativeBuildInputs = [ + texliveMedium + texinfo6 + perl + ghostscript + ]; buildInputs = [ ncurses ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/by-name/ne/near-cli/package.nix b/pkgs/by-name/ne/near-cli/package.nix index 8741f694782cd..dfce986e94ed9 100644 --- a/pkgs/by-name/ne/near-cli/package.nix +++ b/pkgs/by-name/ne/near-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, mkYarnPackage -, fetchFromGitHub -, fetchYarnDeps +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, }: mkYarnPackage rec { @@ -42,7 +43,10 @@ mkYarnPackage rec { changelog = "https://github.com/near/near-cli/blob/${src.rev}/CHANGELOG.md"; description = "General purpose command line tools for interacting with NEAR Protocol"; homepage = "https://github.com/near/near-cli"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; mainProgram = "near"; maintainers = with lib.maintainers; [ ekleog ]; }; diff --git a/pkgs/by-name/ne/nearcore/package.nix b/pkgs/by-name/ne/nearcore/package.nix index 46fbc289bde35..3d3952a4d8c3d 100644 --- a/pkgs/by-name/ne/nearcore/package.nix +++ b/pkgs/by-name/ne/nearcore/package.nix @@ -1,6 +1,11 @@ -{ rustPlatform, lib, fetchFromGitHub -, zlib, openssl -, pkg-config, protobuf +{ + rustPlatform, + lib, + fetchFromGitHub, + zlib, + openssl, + pkg-config, + protobuf, }: rustPlatform.buildRustPackage rec { pname = "nearcore"; diff --git a/pkgs/by-name/ne/neard/package.nix b/pkgs/by-name/ne/neard/package.nix index d82043f2f5e0f..71853a3f37696 100644 --- a/pkgs/by-name/ne/neard/package.nix +++ b/pkgs/by-name/ne/neard/package.nix @@ -1,22 +1,26 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, autoconf-archive -, gobject-introspection -, pkg-config -, wrapGAppsHook3 -, glib -, dbus -, libnl -, python3Packages +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + gobject-introspection, + pkg-config, + wrapGAppsHook3, + glib, + dbus, + libnl, + python3Packages, }: stdenv.mkDerivation { pname = "neard"; version = "0.19-unstable-2024-07-02"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "linux-nfc"; diff --git a/pkgs/by-name/ne/neardal/package.nix b/pkgs/by-name/ne/neardal/package.nix index 243c9b81bbe11..b1aa85d1f173e 100644 --- a/pkgs/by-name/ne/neardal/package.nix +++ b/pkgs/by-name/ne/neardal/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, glib, readline, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + glib, + readline, + makeWrapper, +}: stdenv.mkDerivation { pname = "neardal"; @@ -11,8 +21,16 @@ stdenv.mkDerivation { sha256 = "12qwg7qiw2wfpaxfg2fjkmj5lls0g33xp6w433g8bnkvwlq4s29g"; }; - nativeBuildInputs = [ pkg-config makeWrapper autoconf automake ]; - buildInputs = [ glib readline ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + autoconf + automake + ]; + buildInputs = [ + glib + readline + ]; preConfigure = '' substituteInPlace "ncl/Makefile.am" --replace "noinst_PROGRAMS" "bin_PROGRAMS" @@ -20,7 +38,10 @@ stdenv.mkDerivation { sh autogen.sh ''; - configureFlags = [ "--disable-dependency-tracking" "--disable-traces" ]; + configureFlags = [ + "--disable-dependency-tracking" + "--disable-traces" + ]; meta = with lib; { broken = true; # 2022-11-13 diff --git a/pkgs/by-name/ne/nebula/package.nix b/pkgs/by-name/ne/nebula/package.nix index b1db2b02b8e06..4050345ea6ae3 100644 --- a/pkgs/by-name/ne/nebula/package.nix +++ b/pkgs/by-name/ne/nebula/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-oXhq+s5gDKPVClZpOzYi7BaYwcDqbCLBEO5BNGy9LJA="; - subPackages = [ "cmd/nebula" "cmd/nebula-cert" ]; + subPackages = [ + "cmd/nebula" + "cmd/nebula-cert" + ]; ldflags = [ "-X main.Build=${version}" ]; @@ -45,6 +49,9 @@ buildGoModule rec { homepage = "https://github.com/slackhq/nebula"; changelog = "https://github.com/slackhq/nebula/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne numinit ]; + maintainers = with maintainers; [ + Br1ght0ne + numinit + ]; }; } diff --git a/pkgs/by-name/ne/nedit/package.nix b/pkgs/by-name/ne/nedit/package.nix index d329220409c3e..f3809053300fb 100644 --- a/pkgs/by-name/ne/nedit/package.nix +++ b/pkgs/by-name/ne/nedit/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, motif, libXpm, libXt }: +{ + lib, + stdenv, + fetchurl, + motif, + libXpm, + libXt, +}: stdenv.mkDerivation rec { pname = "nedit"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - buildInputs = [ motif libXpm libXt ]; + buildInputs = [ + motif + libXpm + libXt + ]; # the linux config works fine on darwin too! buildFlags = lib.optional (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) "linux"; diff --git a/pkgs/by-name/ne/neil/package.nix b/pkgs/by-name/ne/neil/package.nix index 4be548a8fec59..8aa5c7b85fea4 100644 --- a/pkgs/by-name/ne/neil/package.nix +++ b/pkgs/by-name/ne/neil/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, babashka +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + babashka, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ne/neko/package.nix b/pkgs/by-name/ne/neko/package.nix index 7219d2b38097f..22dc97f7d1d62 100644 --- a/pkgs/by-name/ne/neko/package.nix +++ b/pkgs/by-name/ne/neko/package.nix @@ -1,5 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, boehmgc, zlib, sqlite, pcre, cmake, pkg-config -, git, apacheHttpd, apr, aprutil, libmysqlclient, mbedtls_2, openssl, pkgs, gtk2, libpthreadstubs +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + boehmgc, + zlib, + sqlite, + pcre, + cmake, + pkg-config, + git, + apacheHttpd, + apr, + aprutil, + libmysqlclient, + mbedtls_2, + openssl, + pkgs, + gtk2, + libpthreadstubs, }: stdenv.mkDerivation rec { @@ -21,13 +40,30 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config git ]; + nativeBuildInputs = [ + cmake + pkg-config + git + ]; buildInputs = - [ boehmgc zlib sqlite pcre apacheHttpd apr aprutil - libmysqlclient mbedtls_2 openssl libpthreadstubs ] - ++ lib.optional stdenv.hostPlatform.isLinux gtk2 - ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security - pkgs.darwin.apple_sdk.frameworks.Carbon]; + [ + boehmgc + zlib + sqlite + pcre + apacheHttpd + apr + aprutil + libmysqlclient + mbedtls_2 + openssl + libpthreadstubs + ] + ++ lib.optional stdenv.hostPlatform.isLinux gtk2 + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.Security + pkgs.darwin.apple_sdk.frameworks.Carbon + ]; cmakeFlags = [ "-DRUN_LDCONFIG=OFF" ]; env = lib.optionalAttrs stdenv.cc.isClang { NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; @@ -48,15 +84,18 @@ stdenv.mkDerivation rec { homepage = "https://nekovm.org"; license = [ # list based on https://github.com/HaxeFoundation/neko/blob/v2-3-0/LICENSE - licenses.gpl2Plus # nekoc, nekoml - licenses.lgpl21Plus # mysql.ndll - licenses.bsd3 # regexp.ndll - licenses.zlib # zlib.ndll - licenses.asl20 # mod_neko, mod_tora, mbedTLS - licenses.mit # overall, other libs + licenses.gpl2Plus # nekoc, nekoml + licenses.lgpl21Plus # mysql.ndll + licenses.bsd3 # regexp.ndll + licenses.zlib # zlib.ndll + licenses.asl20 # mod_neko, mod_tora, mbedTLS + licenses.mit # overall, other libs "https://github.com/HaxeFoundation/neko/blob/v2-3-0/LICENSE#L24-L40" # boehm gc ]; - maintainers = [ maintainers.marcweber maintainers.locallycompact ]; + maintainers = [ + maintainers.marcweber + maintainers.locallycompact + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/ne/nemiver/package.nix b/pkgs/by-name/ne/nemiver/package.nix index c63761f23a0b9..198c5ef3fe4b7 100644 --- a/pkgs/by-name/ne/nemiver/package.nix +++ b/pkgs/by-name/ne/nemiver/package.nix @@ -1,23 +1,25 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, gnome -, gtk3 -, libxml2 -, intltool -, itstool -, gdb -, boost -, sqlite -, libgtop -, glibmm -, gtkmm3 -, vte -, gtksourceview -, gsettings-desktop-schemas -, gtksourceviewmm -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + gnome, + gtk3, + libxml2, + intltool, + itstool, + gdb, + boost, + sqlite, + libgtop, + glibmm, + gtkmm3, + vte, + gtksourceview, + gsettings-desktop-schemas, + gtksourceviewmm, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ne/nemo-emblems/package.nix b/pkgs/by-name/ne/nemo-emblems/package.nix index 467211a3830a1..faa0215419b19 100644 --- a/pkgs/by-name/ne/nemo-emblems/package.nix +++ b/pkgs/by-name/ne/nemo-emblems/package.nix @@ -1,7 +1,8 @@ -{ python3 -, lib -, fetchFromGitHub -, cinnamon-translations +{ + python3, + lib, + fetchFromGitHub, + cinnamon-translations, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ne/nemo-fileroller/package.nix b/pkgs/by-name/ne/nemo-fileroller/package.nix index 9800fd9bb3d2c..ae668730829e9 100644 --- a/pkgs/by-name/ne/nemo-fileroller/package.nix +++ b/pkgs/by-name/ne/nemo-fileroller/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, pkg-config -, ninja -, glib -, gtk3 -, nemo -, file-roller -, cinnamon-translations +{ + stdenv, + lib, + fetchFromGitHub, + meson, + pkg-config, + ninja, + glib, + gtk3, + nemo, + file-roller, + cinnamon-translations, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ne/nemo-python/package.nix b/pkgs/by-name/ne/nemo-python/package.nix index 9c1651d34c198..a80cf5e60294b 100644 --- a/pkgs/by-name/ne/nemo-python/package.nix +++ b/pkgs/by-name/ne/nemo-python/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, pkg-config -, ninja -, glib -, gtk3 -, nemo -, python3 +{ + stdenv, + lib, + fetchFromGitHub, + meson, + pkg-config, + ninja, + glib, + gtk3, + nemo, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ne/nemo-with-extensions/package.nix b/pkgs/by-name/ne/nemo-with-extensions/package.nix index 2c97367695eea..52c081c774c87 100644 --- a/pkgs/by-name/ne/nemo-with-extensions/package.nix +++ b/pkgs/by-name/ne/nemo-with-extensions/package.nix @@ -1,26 +1,29 @@ -{ symlinkJoin -, lib -, makeWrapper -, folder-color-switcher -, nemo -, nemo-emblems -, nemo-fileroller -, nemo-python -, python3 -, extensions ? [ ] -, useDefaultExtensions ? true +{ + symlinkJoin, + lib, + makeWrapper, + folder-color-switcher, + nemo, + nemo-emblems, + nemo-fileroller, + nemo-python, + python3, + extensions ? [ ], + useDefaultExtensions ? true, }: let - selectedExtensions = extensions ++ lib.optionals useDefaultExtensions [ - # We keep this in sync with a default Mint installation - # Right now (only) nemo-share is missing - folder-color-switcher - nemo-emblems - nemo-fileroller - nemo-python - ]; - nemoPythonExtensionsDeps = lib.concatMap (x: x.nemoPythonExtensionDeps or []) selectedExtensions; + selectedExtensions = + extensions + ++ lib.optionals useDefaultExtensions [ + # We keep this in sync with a default Mint installation + # Right now (only) nemo-share is missing + folder-color-switcher + nemo-emblems + nemo-fileroller + nemo-python + ]; + nemoPythonExtensionsDeps = lib.concatMap (x: x.nemoPythonExtensionDeps or [ ]) selectedExtensions; in symlinkJoin { name = "nemo-with-extensions-${nemo.version}"; @@ -51,5 +54,9 @@ symlinkJoin { done ''; - meta = builtins.removeAttrs nemo.meta [ "name" "outputsToInstall" "position" ]; + meta = builtins.removeAttrs nemo.meta [ + "name" + "outputsToInstall" + "position" + ]; } diff --git a/pkgs/by-name/ne/nemo/package.nix b/pkgs/by-name/ne/nemo/package.nix index 52da8ee3e867c..a17f28145e6c0 100644 --- a/pkgs/by-name/ne/nemo/package.nix +++ b/pkgs/by-name/ne/nemo/package.nix @@ -1,34 +1,37 @@ -{ fetchFromGitHub -, glib -, gobject-introspection -, meson -, ninja -, pkg-config -, lib -, stdenv -, wrapGAppsHook3 -, libxmlb -, gtk3 -, gvfs -, cinnamon-desktop -, xapp -, libexif -, json-glib -, exempi -, intltool -, shared-mime-info -, cinnamon-translations -, libgsf -, python3 +{ + fetchFromGitHub, + glib, + gobject-introspection, + meson, + ninja, + pkg-config, + lib, + stdenv, + wrapGAppsHook3, + libxmlb, + gtk3, + gvfs, + cinnamon-desktop, + xapp, + libexif, + json-glib, + exempi, + intltool, + shared-mime-info, + cinnamon-translations, + libgsf, + python3, }: let # For action-layout-editor. - pythonEnv = python3.withPackages (pp: with pp; [ - pycairo - pygobject3 - python-xapp - ]); + pythonEnv = python3.withPackages ( + pp: with pp; [ + pycairo + pygobject3 + python-xapp + ] + ); in stdenv.mkDerivation rec { pname = "nemo"; @@ -47,7 +50,10 @@ stdenv.mkDerivation rec { ./load-extensions-from-env.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = [ glib @@ -98,10 +104,12 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/linuxmint/nemo"; description = "File browser for Cinnamon"; - license = [ licenses.gpl2 licenses.lgpl2 ]; + license = [ + licenses.gpl2 + licenses.lgpl2 + ]; platforms = platforms.linux; maintainers = teams.cinnamon.members; mainProgram = "nemo"; }; } - diff --git a/pkgs/by-name/ne/nemu/package.nix b/pkgs/by-name/ne/nemu/package.nix index 5f543e13cffbe..0ec873b2faac1 100644 --- a/pkgs/by-name/ne/nemu/package.nix +++ b/pkgs/by-name/ne/nemu/package.nix @@ -1,27 +1,28 @@ -{ busybox -, cmake -, coreutils -, dbus -, fetchFromGitHub -, gettext -, graphviz -, json_c -, lib -, libarchive -, libusb1 -, libxml2 -, makeWrapper -, ncurses -, ninja -, openssl -, picocom -, pkg-config -, qemu -, socat -, sqlite -, stdenv -, systemd -, tigervnc +{ + busybox, + cmake, + coreutils, + dbus, + fetchFromGitHub, + gettext, + graphviz, + json_c, + lib, + libarchive, + libusb1, + libxml2, + makeWrapper, + ncurses, + ninja, + openssl, + picocom, + pkg-config, + qemu, + socat, + sqlite, + stdenv, + systemd, + tigervnc, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ne/nengo-gui/package.nix b/pkgs/by-name/ne/nengo-gui/package.nix index 9a100c03293ea..44e79a5855200 100644 --- a/pkgs/by-name/ne/nengo-gui/package.nix +++ b/pkgs/by-name/ne/nengo-gui/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonPackage rec { pname = "nengo-gui"; @@ -19,8 +23,8 @@ python3Packages.buildPythonPackage rec { meta = with lib; { description = "Nengo interactive visualizer"; - homepage = "https://nengo.ai/"; - license = licenses.unfreeRedistributable; + homepage = "https://nengo.ai/"; + license = licenses.unfreeRedistributable; maintainers = with maintainers; [ arjix ]; }; } diff --git a/pkgs/by-name/ne/neo-cowsay/package.nix b/pkgs/by-name/ne/neo-cowsay/package.nix index 2682658ab38d6..8f3f556c877c2 100644 --- a/pkgs/by-name/ne/neo-cowsay/package.nix +++ b/pkgs/by-name/ne/neo-cowsay/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "neo-cowsay"; @@ -17,12 +21,18 @@ buildGoModule rec { doCheck = false; - subPackages = [ "cowsay" "cowthink" ]; + subPackages = [ + "cowsay" + "cowthink" + ]; meta = with lib; { description = "Cowsay reborn, written in Go"; homepage = "https://github.com/Code-Hex/Neo-cowsay"; - license = with licenses; [ artistic1 /* or */ gpl3 ]; + license = with licenses; [ + artistic1 # or + gpl3 + ]; maintainers = with maintainers; [ Br1ght0ne ]; mainProgram = "cowsay"; }; diff --git a/pkgs/by-name/ne/neo/package.nix b/pkgs/by-name/ne/neo/package.nix index 27216c381db64..1a34e52cac4c5 100644 --- a/pkgs/by-name/ne/neo/package.nix +++ b/pkgs/by-name/ne/neo/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "neo"; diff --git a/pkgs/by-name/ne/neocities/gemset.nix b/pkgs/by-name/ne/neocities/gemset.nix index 573cee83eed2f..206f77cb78eb0 100644 --- a/pkgs/by-name/ne/neocities/gemset.nix +++ b/pkgs/by-name/ne/neocities/gemset.nix @@ -30,8 +30,13 @@ version = "0.4.0"; }; neocities = { - dependencies = - [ "httpclient-fixcerts" "pastel" "rake" "tty-prompt" "tty-table" ]; + dependencies = [ + "httpclient-fixcerts" + "pastel" + "rake" + "tty-prompt" + "tty-table" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -42,7 +47,10 @@ version = "0.0.18"; }; pastel = { - dependencies = [ "equatable" "tty-color" ]; + dependencies = [ + "equatable" + "tty-color" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -63,7 +71,11 @@ version = "12.3.3"; }; strings = { - dependencies = [ "strings-ansi" "unicode-display_width" "unicode_utils" ]; + dependencies = [ + "strings-ansi" + "unicode-display_width" + "unicode_utils" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -104,7 +116,12 @@ version = "0.4.0"; }; tty-prompt = { - dependencies = [ "necromancer" "pastel" "tty-cursor" "wisper" ]; + dependencies = [ + "necromancer" + "pastel" + "tty-cursor" + "wisper" + ]; groups = [ "default" ]; platforms = [ ]; source = { @@ -125,8 +142,13 @@ version = "0.6.5"; }; tty-table = { - dependencies = - [ "equatable" "necromancer" "pastel" "strings" "tty-screen" ]; + dependencies = [ + "equatable" + "necromancer" + "pastel" + "strings" + "tty-screen" + ]; groups = [ "default" ]; platforms = [ ]; source = { diff --git a/pkgs/by-name/ne/neocities/package.nix b/pkgs/by-name/ne/neocities/package.nix index 0907d14a2144c..3f324fd19d9a4 100644 --- a/pkgs/by-name/ne/neocities/package.nix +++ b/pkgs/by-name/ne/neocities/package.nix @@ -1,6 +1,7 @@ -{ lib -, bundlerApp -, bundlerUpdateScript +{ + lib, + bundlerApp, + bundlerUpdateScript, }: bundlerApp { @@ -19,4 +20,3 @@ bundlerApp { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/ne/neocmakelsp/package.nix b/pkgs/by-name/ne/neocmakelsp/package.nix index bdc780817da3f..a253a22f24368 100644 --- a/pkgs/by-name/ne/neocmakelsp/package.nix +++ b/pkgs/by-name/ne/neocmakelsp/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Decodetalkers/neocmakelsp"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ rewine multivac61 ]; + maintainers = with maintainers; [ + rewine + multivac61 + ]; mainProgram = "neocmakelsp"; }; } diff --git a/pkgs/by-name/ne/neocomp/package.nix b/pkgs/by-name/ne/neocomp/package.nix index 8a112b0d8855f..31e7d7de8ec94 100644 --- a/pkgs/by-name/ne/neocomp/package.nix +++ b/pkgs/by-name/ne/neocomp/package.nix @@ -1,24 +1,26 @@ -{ lib, stdenv -, fetchFromGitHub -, asciidoc -, docbook_xml_dtd_45 -, docbook_xsl -, freetype -, judy -, libGL -, libconfig -, libdrm -, libxml2 -, libxslt -, libXcomposite -, libXdamage -, libXext -, libXinerama -, libXrandr -, libXrender -, libXres -, pcre -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + asciidoc, + docbook_xml_dtd_45, + docbook_xsl, + freetype, + judy, + libGL, + libconfig, + libdrm, + libxml2, + libxslt, + libXcomposite, + libXdamage, + libXext, + libXinerama, + libXrandr, + libXrender, + libXres, + pcre, + pkg-config, }: stdenv.mkDerivation rec { @@ -74,11 +76,14 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://github.com/DelusionalLogic/NeoComp"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ twey moni ]; - platforms = platforms.linux; - description = "Fork of Compton, a compositor for X11"; + homepage = "https://github.com/DelusionalLogic/NeoComp"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ + twey + moni + ]; + platforms = platforms.linux; + description = "Fork of Compton, a compositor for X11"; longDescription = '' NeoComp is a (hopefully) fast and (hopefully) simple compositor for X11, focused on delivering frames from the window to the diff --git a/pkgs/by-name/ne/neofetch/package.nix b/pkgs/by-name/ne/neofetch/package.nix index fc8a641bfad94..8d241b7a5531b 100644 --- a/pkgs/by-name/ne/neofetch/package.nix +++ b/pkgs/by-name/ne/neofetch/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenvNoCC, fetchFromGitHub, bash, makeWrapper, pciutils -, x11Support ? true, ueberzug, fetchpatch +{ + lib, + stdenvNoCC, + fetchFromGitHub, + bash, + makeWrapper, + pciutils, + x11Support ? true, + ueberzug, + fetchpatch, }: stdenvNoCC.mkDerivation rec { @@ -33,7 +41,10 @@ stdenvNoCC.mkDerivation rec { }) ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; buildInputs = [ bash ]; @@ -44,7 +55,7 @@ stdenvNoCC.mkDerivation rec { postInstall = '' wrapProgram $out/bin/neofetch \ - --prefix PATH : ${lib.makeBinPath ([ pciutils ] ++ lib.optional x11Support ueberzug) } + --prefix PATH : ${lib.makeBinPath ([ pciutils ] ++ lib.optional x11Support ueberzug)} ''; makeFlags = [ diff --git a/pkgs/by-name/ne/neosay/package.nix b/pkgs/by-name/ne/neosay/package.nix index b931cdb05a9d9..293de7c9b0dc3 100644 --- a/pkgs/by-name/ne/neosay/package.nix +++ b/pkgs/by-name/ne/neosay/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-w0aZnel5Obq73UXcG9wmO9t/7qQTE8ru656u349cvzQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Pipe stdin to matrix"; diff --git a/pkgs/by-name/ne/neothesia/package.nix b/pkgs/by-name/ne/neothesia/package.nix index 2b918d74cac12..4d2ab395bf044 100644 --- a/pkgs/by-name/ne/neothesia/package.nix +++ b/pkgs/by-name/ne/neothesia/package.nix @@ -1,14 +1,15 @@ -{ rustPlatform -, fetchFromGitHub -, lib -, ffmpeg -, pkg-config -, alsa-lib -, wayland -, makeWrapper -, libxkbcommon -, vulkan-loader -, xorg +{ + rustPlatform, + fetchFromGitHub, + lib, + ffmpeg, + pkg-config, + alsa-lib, + wayland, + makeWrapper, + libxkbcommon, + vulkan-loader, + xorg, }: let version = "0.2.1"; @@ -48,7 +49,17 @@ rustPlatform.buildRustPackage { ]; postInstall = '' - wrapProgram $out/bin/neothesia --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland libxkbcommon vulkan-loader xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrender ]}" + wrapProgram $out/bin/neothesia --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + wayland + libxkbcommon + vulkan-loader + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrender + ] + }" install -Dm 644 flatpak/com.github.polymeilex.neothesia.desktop $out/share/applications/com.github.polymeilex.neothesia.desktop install -Dm 644 flatpak/com.github.polymeilex.neothesia.png $out/share/icons/hicolor/256x256/apps/com.github.polymeilex.neothesia.png ''; diff --git a/pkgs/by-name/ne/neovim-gtk/package.nix b/pkgs/by-name/ne/neovim-gtk/package.nix index 7b8504ebe09a0..66257fd5949b4 100644 --- a/pkgs/by-name/ne/neovim-gtk/package.nix +++ b/pkgs/by-name/ne/neovim-gtk/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, wrapGAppsHook4 -, pkg-config -, gdk-pixbuf -, gtk4 -, pango -, vte-gtk4 +{ + lib, + rustPlatform, + fetchFromGitHub, + wrapGAppsHook4, + pkg-config, + gdk-pixbuf, + gtk4, + pango, + vte-gtk4, }: rustPlatform.buildRustPackage rec { @@ -22,9 +23,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-9eZwCOP4xQtFOieqVRBAdXZrXmzdnae6PexGJ/eCyYc="; - nativeBuildInputs = [ wrapGAppsHook4 pkg-config ]; - - buildInputs = [ gdk-pixbuf gtk4 pango vte-gtk4 ]; + nativeBuildInputs = [ + wrapGAppsHook4 + pkg-config + ]; + + buildInputs = [ + gdk-pixbuf + gtk4 + pango + vte-gtk4 + ]; patches = [ ./collect-box.patch ]; diff --git a/pkgs/by-name/ne/neovim-qt-unwrapped/package.nix b/pkgs/by-name/ne/neovim-qt-unwrapped/package.nix index 1e8c13ede81bc..aa43c0fa7bd3d 100644 --- a/pkgs/by-name/ne/neovim-qt-unwrapped/package.nix +++ b/pkgs/by-name/ne/neovim-qt-unwrapped/package.nix @@ -1,30 +1,48 @@ -{ stdenv, lib, libsForQt5, fetchFromGitHub, cmake, doxygen, msgpack, neovim, python3Packages }: +{ + stdenv, + lib, + libsForQt5, + fetchFromGitHub, + cmake, + doxygen, + msgpack, + neovim, + python3Packages, +}: stdenv.mkDerivation rec { pname = "neovim-qt-unwrapped"; version = "0.2.18"; src = fetchFromGitHub { - owner = "equalsraf"; - repo = "neovim-qt"; - rev = "v${version}"; + owner = "equalsraf"; + repo = "neovim-qt"; + rev = "v${version}"; hash = "sha256-BitFHHwL2aqBUpY/8eHaZIFvnDCeABC6w33Vmbx0z2g="; }; cmakeFlags = [ "-DUSE_SYSTEM_MSGPACK=1" - "-DENABLE_TESTS=0" # tests fail because xcb platform plugin is not found + "-DENABLE_TESTS=0" # tests fail because xcb platform plugin is not found ]; - nativeBuildInputs = [ cmake doxygen libsForQt5.wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + doxygen + libsForQt5.wrapQtAppsHook + ]; - buildInputs = [ - neovim.unwrapped # only used to generate help tags at build time - libsForQt5.qtbase - libsForQt5.qtsvg - ] ++ (with python3Packages; [ - jinja2 python msgpack - ]); + buildInputs = + [ + neovim.unwrapped # only used to generate help tags at build time + libsForQt5.qtbase + libsForQt5.qtsvg + ] + ++ (with python3Packages; [ + jinja2 + python + msgpack + ]); preCheck = '' # The GUI tests require a running X server, disable them @@ -36,7 +54,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Neovim client library and GUI, in Qt5"; homepage = "https://github.com/equalsraf/neovim-qt"; - license = licenses.isc; + license = licenses.isc; mainProgram = "nvim-qt"; maintainers = with maintainers; [ peterhoeg ]; inherit (neovim.meta) platforms; diff --git a/pkgs/by-name/ne/neovim-qt/package.nix b/pkgs/by-name/ne/neovim-qt/package.nix index c94c47720106d..1af3a94b724fb 100644 --- a/pkgs/by-name/ne/neovim-qt/package.nix +++ b/pkgs/by-name/ne/neovim-qt/package.nix @@ -1,4 +1,9 @@ -{ stdenvNoCC, makeWrapper, neovim, neovim-qt-unwrapped }: +{ + stdenvNoCC, + makeWrapper, + neovim, + neovim-qt-unwrapped, +}: let unwrapped = neovim-qt-unwrapped; @@ -6,22 +11,26 @@ in stdenvNoCC.mkDerivation { pname = "neovim-qt"; version = unwrapped.version; - buildCommand = if stdenvNoCC.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications + buildCommand = + if stdenvNoCC.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications - chmod -R a+w $out/Applications/nvim-qt.app/Contents/MacOS - wrapProgram $out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt \ - --prefix PATH : ${neovim}/bin - '' else '' - makeWrapper ${unwrapped}/bin/nvim-qt $out/bin/nvim-qt \ - --prefix PATH : ${neovim}/bin + chmod -R a+w $out/Applications/nvim-qt.app/Contents/MacOS + wrapProgram $out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt \ + --prefix PATH : ${neovim}/bin + '' + else + '' + makeWrapper ${unwrapped}/bin/nvim-qt $out/bin/nvim-qt \ + --prefix PATH : ${neovim}/bin - # link .desktop file - mkdir -p $out/share/pixmaps - ln -s ${unwrapped}/share/applications $out/share/applications - ln -s ${unwrapped}/share/icons $out/share/icons - ''; + # link .desktop file + mkdir -p $out/share/pixmaps + ln -s ${unwrapped}/share/applications $out/share/applications + ln -s ${unwrapped}/share/icons $out/share/icons + ''; preferLocalBuild = true; diff --git a/pkgs/by-name/ne/neovim-remote/package.nix b/pkgs/by-name/ne/neovim-remote/package.nix index e0f88180542f8..566f323ce2c61 100644 --- a/pkgs/by-name/ne/neovim-remote/package.nix +++ b/pkgs/by-name/ne/neovim-remote/package.nix @@ -1,11 +1,13 @@ -{ lib -, fetchFromGitHub -, python3 -, neovim -, fetchpatch +{ + lib, + fetchFromGitHub, + python3, + neovim, + fetchpatch, }: -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { pname = "neovim-remote"; version = "2.5.1"; diff --git a/pkgs/by-name/ne/nerd-font-patcher/package.nix b/pkgs/by-name/ne/nerd-font-patcher/package.nix index be4321cb37e08..83ada71e8e352 100644 --- a/pkgs/by-name/ne/nerd-font-patcher/package.nix +++ b/pkgs/by-name/ne/nerd-font-patcher/package.nix @@ -1,4 +1,8 @@ -{ python3Packages, lib, fetchzip }: +{ + python3Packages, + lib, + fetchzip, +}: python3Packages.buildPythonApplication rec { pname = "nerd-font-patcher"; diff --git a/pkgs/by-name/ne/nerdctl/package.nix b/pkgs/by-name/ne/nerdctl/package.nix index 7d27205855c4a..9e69d6761fb12 100644 --- a/pkgs/by-name/ne/nerdctl/package.nix +++ b/pkgs/by-name/ne/nerdctl/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, installShellFiles -, buildkit -, cni-plugins -, extraPackages ? [ ] +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + installShellFiles, + buildkit, + cni-plugins, + extraPackages ? [ ], }: buildGoModule rec { @@ -21,10 +22,21 @@ buildGoModule rec { vendorHash = "sha256-5LRsT04T/CKv+YHaiM2g6giimWWXyzPju3iZuj2DfAY="; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; - ldflags = let t = "github.com/containerd/nerdctl/pkg/version"; in - [ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.Revision=" ]; + ldflags = + let + t = "github.com/containerd/nerdctl/pkg/version"; + in + [ + "-s" + "-w" + "-X ${t}.Version=v${version}" + "-X ${t}.Revision=" + ]; # Many checks require a containerd socket and running nerdctl after it's built doCheck = false; @@ -54,7 +66,10 @@ buildGoModule rec { description = "Docker-compatible CLI for containerd"; mainProgram = "nerdctl"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ developer-guy jk ]; + maintainers = with lib.maintainers; [ + developer-guy + jk + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ne/nerdfetch/package.nix b/pkgs/by-name/ne/nerdfetch/package.nix index f8480813a7ded..276a1d9eacd5a 100644 --- a/pkgs/by-name/ne/nerdfetch/package.nix +++ b/pkgs/by-name/ne/nerdfetch/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "nerdfetch"; @@ -26,7 +27,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { rev-prefix = "v"; }; - meta = with lib;{ + meta = with lib; { description = "POSIX *nix (Linux, macOS, Android, *BSD, etc) fetch script using Nerdfonts"; homepage = "https://github.com/ThatOneCalculator/NerdFetch"; maintainers = with maintainers; [ ByteSudoer ]; diff --git a/pkgs/by-name/ne/nerdfix/package.nix b/pkgs/by-name/ne/nerdfix/package.nix index 1a57f2f7709db..852b392c75812 100644 --- a/pkgs/by-name/ne/nerdfix/package.nix +++ b/pkgs/by-name/ne/nerdfix/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "nerdfix"; homepage = "https://github.com/loichyan/nerdfix"; changelog = "https://github.com/loichyan/nerdfix/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ne/nestopia-ue/package.nix b/pkgs/by-name/ne/nestopia-ue/package.nix index 34ba7112e43f0..b87aedd3d64b9 100644 --- a/pkgs/by-name/ne/nestopia-ue/package.nix +++ b/pkgs/by-name/ne/nestopia-ue/package.nix @@ -1,21 +1,22 @@ -{ lib -, SDL2 -, alsa-lib -, autoconf-archive -, autoreconfHook -, fetchFromGitHub -, fltk -, libGL -, libGLU -, libao -, libarchive -, libepoxy -, makeWrapper -, pkg-config -, stdenv -, unzip -, wrapGAppsHook3 -, xdg-utils +{ + lib, + SDL2, + alsa-lib, + autoconf-archive, + autoreconfHook, + fetchFromGitHub, + fltk, + libGL, + libGLU, + libao, + libarchive, + libepoxy, + makeWrapper, + pkg-config, + stdenv, + unzip, + wrapGAppsHook3, + xdg-utils, }: stdenv.mkDerivation (finalAttrs: { @@ -60,10 +61,10 @@ stdenv.mkDerivation (finalAttrs: { ''; preFixup = '' - for f in $out/bin/*; do - wrapProgram $f \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" - done + for f in $out/bin/*; do + wrapProgram $f \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" + done ''; meta = { diff --git a/pkgs/by-name/ne/net-cpp/package.nix b/pkgs/by-name/ne/net-cpp/package.nix index 00815ff66ca80..16fe04ccd5c28 100644 --- a/pkgs/by-name/ne/net-cpp/package.nix +++ b/pkgs/by-name/ne/net-cpp/package.nix @@ -1,28 +1,31 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, boost -, cmake -, curl -, doxygen -, graphviz -, gtest -, jsoncpp -, lomiri -, pkg-config -, process-cpp -, properties-cpp -, python3 -, validatePkgConfig +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + boost, + cmake, + curl, + doxygen, + graphviz, + gtest, + jsoncpp, + lomiri, + pkg-config, + process-cpp, + properties-cpp, + python3, + validatePkgConfig, }: let - pythonEnv = python3.withPackages (ps: with ps; [ - httpbin - ]); + pythonEnv = python3.withPackages ( + ps: with ps; [ + httpbin + ] + ); in stdenv.mkDerivation (finalAttrs: { pname = "net-cpp"; diff --git a/pkgs/by-name/ne/net-snmp/package.nix b/pkgs/by-name/ne/net-snmp/package.nix index 5aa0e8697c58b..a8c268e2abb99 100644 --- a/pkgs/by-name/ne/net-snmp/package.nix +++ b/pkgs/by-name/ne/net-snmp/package.nix @@ -1,16 +1,28 @@ -{ lib, stdenv, fetchurl, fetchpatch -, file, openssl, perl, nettools -, autoreconfHook -, withPerlTools ? false -, darwin }: let +{ + lib, + stdenv, + fetchurl, + fetchpatch, + file, + openssl, + perl, + nettools, + autoreconfHook, + withPerlTools ? false, + darwin, +}: +let - perlWithPkgs = perl.withPackages (ps: with ps; [ - JSON - TermReadKey - Tk - ]); + perlWithPkgs = perl.withPackages ( + ps: with ps; [ + JSON + TermReadKey + Tk + ] + ); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "net-snmp"; version = "5.9.4"; @@ -20,32 +32,41 @@ in stdenv.mkDerivation rec { }; patches = - let fetchAlpinePatch = name: sha256: fetchurl { - url = "https://git.alpinelinux.org/aports/plain/main/net-snmp/${name}?id=ebb21045c31f4d5993238bcdb654f21d8faf8123"; - inherit name sha256; - }; - in [ - (fetchAlpinePatch "fix-includes.patch" "0zpkbb6k366qpq4dax5wknwprhwnhighcp402mlm7950d39zfa3m") - (fetchAlpinePatch "netsnmp-swinst-crash.patch" "0gh164wy6zfiwiszh58fsvr25k0ns14r3099664qykgpmickkqid") - (fetchpatch { - name = "configure-musl.patch"; - url = "https://github.com/net-snmp/net-snmp/commit/a62169f1fa358be8f330ea8519ade0610fac525b.patch"; - hash = "sha256-+vWH095fFL3wE6XLsTaPXgMDya0LRWdlL6urD5AIBUs="; - }) - ]; + let + fetchAlpinePatch = + name: sha256: + fetchurl { + url = "https://git.alpinelinux.org/aports/plain/main/net-snmp/${name}?id=ebb21045c31f4d5993238bcdb654f21d8faf8123"; + inherit name sha256; + }; + in + [ + (fetchAlpinePatch "fix-includes.patch" "0zpkbb6k366qpq4dax5wknwprhwnhighcp402mlm7950d39zfa3m") + (fetchAlpinePatch "netsnmp-swinst-crash.patch" "0gh164wy6zfiwiszh58fsvr25k0ns14r3099664qykgpmickkqid") + (fetchpatch { + name = "configure-musl.patch"; + url = "https://github.com/net-snmp/net-snmp/commit/a62169f1fa358be8f330ea8519ade0610fac525b.patch"; + hash = "sha256-+vWH095fFL3wE6XLsTaPXgMDya0LRWdlL6urD5AIBUs="; + }) + ]; - outputs = [ "bin" "out" "dev" "lib" ]; + outputs = [ + "bin" + "out" + "dev" + "lib" + ]; - configureFlags = - [ "--with-default-snmp-version=3" - "--with-sys-location=Unknown" - "--with-sys-contact=root@unknown" - "--with-logfile=/var/log/net-snmpd.log" - "--with-persistent-directory=/var/lib/net-snmp" - "--with-openssl=${openssl.dev}" - "--disable-embedded-perl" - "--without-perl-modules" - ] ++ lib.optional stdenv.hostPlatform.isLinux "--with-mnttab=/proc/mounts"; + configureFlags = [ + "--with-default-snmp-version=3" + "--with-sys-location=Unknown" + "--with-sys-contact=root@unknown" + "--with-logfile=/var/log/net-snmpd.log" + "--with-persistent-directory=/var/lib/net-snmp" + "--with-openssl=${openssl.dev}" + "--disable-embedded-perl" + "--without-perl-modules" + ] ++ lib.optional stdenv.hostPlatform.isLinux "--with-mnttab=/proc/mounts"; postPatch = '' substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat" @@ -58,8 +79,13 @@ in stdenv.mkDerivation rec { -e "/NETSNMP_CONFIGURE_OPTIONS/ s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" ''; - nativeBuildInputs = [ nettools file autoreconfHook ]; - buildInputs = [ openssl ] + nativeBuildInputs = [ + nettools + file + autoreconfHook + ]; + buildInputs = + [ openssl ] ++ lib.optional withPerlTools perlWithPkgs ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices @@ -72,7 +98,7 @@ in stdenv.mkDerivation rec { # Missing dependencies during relinking: # ./.libs/libnetsnmpagent.so: file not recognized: file format not recognized enableParallelInstalling = false; - doCheck = false; # tries to use networking + doCheck = false; # tries to use networking postInstall = '' for f in "$lib/lib/"*.la $bin/bin/net-snmp-config $bin/bin/net-snmp-create-v3-user; do diff --git a/pkgs/by-name/ne/netassert/package.nix b/pkgs/by-name/ne/netassert/package.nix index caf473ea46c26..a03870c42450e 100644 --- a/pkgs/by-name/ne/netassert/package.nix +++ b/pkgs/by-name/ne/netassert/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ne/netatalk/package.nix b/pkgs/by-name/ne/netatalk/package.nix index 6262de5f94e8b..b181486b9e493 100644 --- a/pkgs/by-name/ne/netatalk/package.nix +++ b/pkgs/by-name/ne/netatalk/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, acl -, autoreconfHook -, avahi -, db -, libevent -, libgcrypt -, libiconv -, openssl -, pam -, perl -, pkg-config -, python3 +{ + lib, + stdenv, + fetchurl, + acl, + autoreconfHook, + avahi, + db, + libevent, + libgcrypt, + libiconv, + openssl, + pam, + perl, + pkg-config, + python3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ne/netboot/package.nix b/pkgs/by-name/ne/netboot/package.nix index 30dc544fe23bd..2041f5507472c 100644 --- a/pkgs/by-name/ne/netboot/package.nix +++ b/pkgs/by-name/ne/netboot/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, bison, lzo, db4 }: +{ + lib, + stdenv, + fetchurl, + bison, + lzo, + db4, +}: stdenv.mkDerivation rec { pname = "netboot"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0"; }; - buildInputs = [ bison lzo db4 ]; + buildInputs = [ + bison + lzo + db4 + ]; hardeningDisable = [ "format" ]; @@ -20,7 +31,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Mini PXE server"; maintainers = [ maintainers.raskin ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; license = lib.licenses.free; }; } diff --git a/pkgs/by-name/ne/netbootxyz-efi/package.nix b/pkgs/by-name/ne/netbootxyz-efi/package.nix index 7137f22e89987..bd2fc9fa09d15 100644 --- a/pkgs/by-name/ne/netbootxyz-efi/package.nix +++ b/pkgs/by-name/ne/netbootxyz-efi/package.nix @@ -1,11 +1,13 @@ -{ lib -, fetchurl +{ + lib, + fetchurl, }: let pname = "netboot.xyz-efi"; version = "2.0.82"; -in fetchurl { +in +fetchurl { name = "${pname}-${version}"; url = "https://github.com/netbootxyz/netboot.xyz/releases/download/${version}/netboot.xyz.efi"; diff --git a/pkgs/by-name/ne/netbox2netshot/package.nix b/pkgs/by-name/ne/netbox2netshot/package.nix index ada70c8f37ef7..24095209c7942 100644 --- a/pkgs/by-name/ne/netbox2netshot/package.nix +++ b/pkgs/by-name/ne/netbox2netshot/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,12 +25,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Inventory synchronization tool between Netbox and Netshot"; diff --git a/pkgs/by-name/ne/netcat-gnu/package.nix b/pkgs/by-name/ne/netcat-gnu/package.nix index 8271fe9d27a52..f072cf5d21335 100644 --- a/pkgs/by-name/ne/netcat-gnu/package.nix +++ b/pkgs/by-name/ne/netcat-gnu/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "netcat-gnu"; diff --git a/pkgs/by-name/ne/netcat-openbsd/package.nix b/pkgs/by-name/ne/netcat-openbsd/package.nix index ec82ec16915ff..ebb407027bd20 100644 --- a/pkgs/by-name/ne/netcat-openbsd/package.nix +++ b/pkgs/by-name/ne/netcat-openbsd/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, libbsd, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + libbsd, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "netcat-openbsd"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; buildInputs = [ libbsd ]; postPatch = '' diff --git a/pkgs/by-name/ne/netcdf/package.nix b/pkgs/by-name/ne/netcdf/package.nix index 4769a09630984..1bdaf7068552c 100644 --- a/pkgs/by-name/ne/netcdf/package.nix +++ b/pkgs/by-name/ne/netcdf/package.nix @@ -1,20 +1,24 @@ -{ lib, stdenv -, fetchurl, unzip -, hdf5 -, bzip2 -, libzip -, zstd -, szipSupport ? false -, szip -, libxml2 -, m4 -, curl # for DAP -, removeReferencesTo +{ + lib, + stdenv, + fetchurl, + unzip, + hdf5, + bzip2, + libzip, + zstd, + szipSupport ? false, + szip, + libxml2, + m4, + curl, # for DAP + removeReferencesTo, }: let inherit (hdf5) mpiSupport mpi; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "netcdf" + lib.optionalString mpiSupport "-mpi"; version = "4.9.2"; @@ -63,14 +67,18 @@ in stdenv.mkDerivation rec { # tracked upstream here: https://github.com/Unidata/netcdf-c/issues/2715 lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; - configureFlags = [ + configureFlags = + [ "--enable-netcdf-4" "--enable-dap" "--enable-shared" "--disable-dap-remote-tests" "--with-plugin-dir=${placeholder "out"}/lib/hdf5-plugins" - ] - ++ (lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${lib.getDev mpi}/bin/mpicc" ]); + ] + ++ (lib.optionals mpiSupport [ + "--enable-parallel-tests" + "CC=${lib.getDev mpi}/bin/mpicc" + ]); enableParallelBuilding = true; diff --git a/pkgs/by-name/ne/netcdfcxx4/package.nix b/pkgs/by-name/ne/netcdfcxx4/package.nix index 606e8a86b0c34..50769879d2a36 100644 --- a/pkgs/by-name/ne/netcdfcxx4/package.nix +++ b/pkgs/by-name/ne/netcdfcxx4/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, netcdf, hdf5, curl, cmake, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + netcdf, + hdf5, + curl, + cmake, + ninja, +}: stdenv.mkDerivation rec { pname = "netcdf-cxx4"; version = "4.3.1"; @@ -19,8 +28,15 @@ stdenv.mkDerivation rec { cmakeFlags+="-Dabs_top_srcdir=$(readlink -f ./)" ''; - nativeBuildInputs = [ cmake ninja ]; - buildInputs = [ netcdf hdf5 curl ]; + nativeBuildInputs = [ + cmake + ninja + ]; + buildInputs = [ + netcdf + hdf5 + curl + ]; doCheck = true; enableParallelChecking = false; diff --git a/pkgs/by-name/ne/netclient/package.nix b/pkgs/by-name/ne/netclient/package.nix index 5351ede7bfc26..d4a301d1b9263 100644 --- a/pkgs/by-name/ne/netclient/package.nix +++ b/pkgs/by-name/ne/netclient/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, libX11 -, stdenv +{ + buildGoModule, + fetchFromGitHub, + lib, + libX11, + stdenv, }: buildGoModule rec { diff --git a/pkgs/by-name/ne/netcoredbg/deps.nix b/pkgs/by-name/ne/netcoredbg/deps.nix index 12e4c86a157f1..1e7b246511f33 100644 --- a/pkgs/by-name/ne/netcoredbg/deps.nix +++ b/pkgs/by-name/ne/netcoredbg/deps.nix @@ -1,122 +1,591 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "1.1.0"; hash = "sha256-7KrZfK3kUbmeT82eVadvHurZcaFq3FDj4qkIIeExJiM="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "2.3.0"; hash = "sha256-9/DyI5MV2+Biwg+xWNL7CBk2vIg0bHfmgf7ilAjZSdw="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "2.3.0"; hash = "sha256-pR/zH3AGkHNxZFzAUNmJwQg+KncAv9hgKq1CxHAeCb0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "2.3.0"; hash = "sha256-l+DaOdHrMHwXHbhwoHoCbcsyO9LpzAYCqV+WJp2FLYg="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "2.3.0"; hash = "sha256-OH4yRoHHn1xhbhci4pTZ6PAYuiQgkD+9Qfq1/PYMwYU="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.0"; hash = "sha256-EMIApW3Zj0V85leF7DLgFFvfqPdsIdvvJ3BD7zD+Pto="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim"; version = "8.0.532401"; hash = "sha256-rvTxIxaW6WYlbNqV0mVjX3JkjxOB2eoDtm7HD3qgKvg="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-arm"; version = "8.0.532401"; hash = "sha256-LYDAN85Qsnj3TIdH1VzzIbeQRQfo4A9kYp/da0nZMX4="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-arm64"; version = "8.0.532401"; hash = "sha256-/1eElmNjO8ug2i0hzsnX+ksaeTlSrJNxuHBZZ5Mxw7A="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm"; version = "8.0.532401"; hash = "sha256-3FsyQbXHgUErMg4islyZ68ZOi22Dtc7bHuzV4cHTetQ="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm64"; version = "8.0.532401"; hash = "sha256-UCGQZZ9ZQKgdvVpgJfKAUL1hDxopEOpkb71x11mZ5go="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-musl-x64"; version = "8.0.532401"; hash = "sha256-zpKJdEGHfrk/ty0s2TuPiNi/yanEk6iAVZDOgBlv20s="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.linux-x64"; version = "8.0.532401"; hash = "sha256-maN37KzN1GxFW37E2t8suG1XHNfTIdDLTHxiaiwGfdc="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.osx-arm64"; version = "8.0.532401"; hash = "sha256-4+hYe0f09F/seep1K1O9uF1S+g0ygyNJIcqA3b4Fhh4="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.osx-x64"; version = "8.0.532401"; hash = "sha256-K/0i5SGl3rG8ciXbhSu2dWURlzfB2uVorv2yc7KKP4I="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-arm"; version = "8.0.532401"; hash = "sha256-m/XEdwtXKGGIB1ORetiEaJ5qnQa+wz1Ou+aspxHAhe0="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-arm64"; version = "8.0.532401"; hash = "sha256-QPo/eFVr7HCAeOcLlsOrukL78BWfs+nZHVr5ClZzCiQ="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-x64"; version = "8.0.532401"; hash = "sha256-gxTB3KBr/ROgbBpLGQogtg2dz7a8F26UWyzsMJYMzv4="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.DbgShim.win-x86"; version = "8.0.532401"; hash = "sha256-CP1WHi8a3Xr0ml2Dnhmhc14xSGqHPnrfnrfeuhZmm6o="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.3.1"; hash = "sha256-areGRq/dO08KhxiWuAK+cWAjOWYtuB1R9zGXLvIqwZw="; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.FileVersionInfo"; version = "4.3.0"; hash = "sha256-JyqOf5/lsUNLMpIqK8XffcFTxB6vHWzGWHssmojokCQ="; }) - (fetchNuGet { pname = "System.Diagnostics.StackTrace"; version = "4.3.0"; hash = "sha256-Tfq7F61N0VfujVyI5A9MZvyWewQ5HepB1f1UMBMkUCs="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.4.2"; hash = "sha256-cYd2SWmnacNq14fTpyW9vGcnbZSD4DPRjpR+tgdZZyE="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.3.0"; hash = "sha256-ezYVwe9atRkREc8O/HT/VfGDE2vuCpIckOfdY194/VE="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Parallel"; version = "4.3.0"; hash = "sha256-8H2vRmsn29MNfMmCeIL5vHfbM19jWaLDKNLzDonCI+c="; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.3.0"; hash = "sha256-tkMwiobmGQn/t8LDqpkM+Q7XJOebEl3bwVf11d2ZR4g="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; }) - (fetchNuGet { pname = "System.Xml.XPath"; version = "4.3.0"; hash = "sha256-kd1JMqj6obhxzEPRJeYvcUyJqkOs/9A0UOQccC6oYrM="; }) - (fetchNuGet { pname = "System.Xml.XPath.XDocument"; version = "4.3.0"; hash = "sha256-dqk4CWuwocj5qsUAYlS+XAe6GGcY/N/HIPEGe5afrPM="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "1.1.0"; + hash = "sha256-7KrZfK3kUbmeT82eVadvHurZcaFq3FDj4qkIIeExJiM="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "2.3.0"; + hash = "sha256-9/DyI5MV2+Biwg+xWNL7CBk2vIg0bHfmgf7ilAjZSdw="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "2.3.0"; + hash = "sha256-pR/zH3AGkHNxZFzAUNmJwQg+KncAv9hgKq1CxHAeCb0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; + version = "2.3.0"; + hash = "sha256-l+DaOdHrMHwXHbhwoHoCbcsyO9LpzAYCqV+WJp2FLYg="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Scripting.Common"; + version = "2.3.0"; + hash = "sha256-OH4yRoHHn1xhbhci4pTZ6PAYuiQgkD+9Qfq1/PYMwYU="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.4.0"; + hash = "sha256-EMIApW3Zj0V85leF7DLgFFvfqPdsIdvvJ3BD7zD+Pto="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim"; + version = "8.0.532401"; + hash = "sha256-rvTxIxaW6WYlbNqV0mVjX3JkjxOB2eoDtm7HD3qgKvg="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.linux-arm"; + version = "8.0.532401"; + hash = "sha256-LYDAN85Qsnj3TIdH1VzzIbeQRQfo4A9kYp/da0nZMX4="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.linux-arm64"; + version = "8.0.532401"; + hash = "sha256-/1eElmNjO8ug2i0hzsnX+ksaeTlSrJNxuHBZZ5Mxw7A="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm"; + version = "8.0.532401"; + hash = "sha256-3FsyQbXHgUErMg4islyZ68ZOi22Dtc7bHuzV4cHTetQ="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.linux-musl-arm64"; + version = "8.0.532401"; + hash = "sha256-UCGQZZ9ZQKgdvVpgJfKAUL1hDxopEOpkb71x11mZ5go="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.linux-musl-x64"; + version = "8.0.532401"; + hash = "sha256-zpKJdEGHfrk/ty0s2TuPiNi/yanEk6iAVZDOgBlv20s="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.linux-x64"; + version = "8.0.532401"; + hash = "sha256-maN37KzN1GxFW37E2t8suG1XHNfTIdDLTHxiaiwGfdc="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.osx-arm64"; + version = "8.0.532401"; + hash = "sha256-4+hYe0f09F/seep1K1O9uF1S+g0ygyNJIcqA3b4Fhh4="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.osx-x64"; + version = "8.0.532401"; + hash = "sha256-K/0i5SGl3rG8ciXbhSu2dWURlzfB2uVorv2yc7KKP4I="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.win-arm"; + version = "8.0.532401"; + hash = "sha256-m/XEdwtXKGGIB1ORetiEaJ5qnQa+wz1Ou+aspxHAhe0="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.win-arm64"; + version = "8.0.532401"; + hash = "sha256-QPo/eFVr7HCAeOcLlsOrukL78BWfs+nZHVr5ClZzCiQ="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.win-x64"; + version = "8.0.532401"; + hash = "sha256-gxTB3KBr/ROgbBpLGQogtg2dz7a8F26UWyzsMJYMzv4="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.DbgShim.win-x86"; + version = "8.0.532401"; + hash = "sha256-CP1WHi8a3Xr0ml2Dnhmhc14xSGqHPnrfnrfeuhZmm6o="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Console"; + version = "4.3.0"; + hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.3.1"; + hash = "sha256-areGRq/dO08KhxiWuAK+cWAjOWYtuB1R9zGXLvIqwZw="; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.FileVersionInfo"; + version = "4.3.0"; + hash = "sha256-JyqOf5/lsUNLMpIqK8XffcFTxB6vHWzGWHssmojokCQ="; + }) + (fetchNuGet { + pname = "System.Diagnostics.StackTrace"; + version = "4.3.0"; + hash = "sha256-Tfq7F61N0VfujVyI5A9MZvyWewQ5HepB1f1UMBMkUCs="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.4.2"; + hash = "sha256-cYd2SWmnacNq14fTpyW9vGcnbZSD4DPRjpR+tgdZZyE="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.3.0"; + hash = "sha256-ezYVwe9atRkREc8O/HT/VfGDE2vuCpIckOfdY194/VE="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.3.0"; + hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Parallel"; + version = "4.3.0"; + hash = "sha256-8H2vRmsn29MNfMmCeIL5vHfbM19jWaLDKNLzDonCI+c="; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.3.0"; + hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.3.0"; + hash = "sha256-tkMwiobmGQn/t8LDqpkM+Q7XJOebEl3bwVf11d2ZR4g="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.3.0"; + hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; + }) + (fetchNuGet { + pname = "System.Xml.XPath"; + version = "4.3.0"; + hash = "sha256-kd1JMqj6obhxzEPRJeYvcUyJqkOs/9A0UOQccC6oYrM="; + }) + (fetchNuGet { + pname = "System.Xml.XPath.XDocument"; + version = "4.3.0"; + hash = "sha256-dqk4CWuwocj5qsUAYlS+XAe6GGcY/N/HIPEGe5afrPM="; + }) ] diff --git a/pkgs/by-name/ne/netcoredbg/package.nix b/pkgs/by-name/ne/netcoredbg/package.nix index 6b9773cb60dbd..24194c8806260 100644 --- a/pkgs/by-name/ne/netcoredbg/package.nix +++ b/pkgs/by-name/ne/netcoredbg/package.nix @@ -1,4 +1,15 @@ -{ lib, clangStdenv, stdenv, cmake, autoPatchelfHook, fetchFromGitHub, dotnetCorePackages, buildDotnetModule, netcoredbg, testers }: +{ + lib, + clangStdenv, + stdenv, + cmake, + autoPatchelfHook, + fetchFromGitHub, + dotnetCorePackages, + buildDotnetModule, + netcoredbg, + testers, +}: let pname = "netcoredbg"; build = "1031"; @@ -26,7 +37,10 @@ let unmanaged = clangStdenv.mkDerivation { inherit src pname version; - nativeBuildInputs = [ cmake dotnet-sdk ]; + nativeBuildInputs = [ + cmake + dotnet-sdk + ]; hardeningDisable = [ "strictoverflow" ]; @@ -42,7 +56,12 @@ let }; managed = buildDotnetModule { - inherit pname version src dotnet-sdk; + inherit + pname + version + src + dotnet-sdk + ; dotnet-runtime = null; projectFile = "src/managed/ManagedPart.csproj"; @@ -88,6 +107,9 @@ stdenv.mkDerivation { license = licenses.mit; platforms = platforms.unix; mainProgram = "netcoredbg"; - maintainers = with maintainers; [ leo60228 konradmalik ]; + maintainers = with maintainers; [ + leo60228 + konradmalik + ]; }; } diff --git a/pkgs/by-name/ne/netdiscover/package.nix b/pkgs/by-name/ne/netdiscover/package.nix index f58a6903943bc..2f7608c36ab7b 100644 --- a/pkgs/by-name/ne/netdiscover/package.nix +++ b/pkgs/by-name/ne/netdiscover/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libpcap, libnet, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + libnet, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "netdiscover"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libpcap libnet ]; + buildInputs = [ + libpcap + libnet + ]; # Running update-oui-database.sh would probably make the build irreproducible diff --git a/pkgs/by-name/ne/netevent/package.nix b/pkgs/by-name/ne/netevent/package.nix index 9d09d9ed2bf29..19e87147f28d2 100644 --- a/pkgs/by-name/ne/netevent/package.nix +++ b/pkgs/by-name/ne/netevent/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, docutils, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + docutils, + installShellFiles, +}: stdenv.mkDerivation { pname = "netevent"; @@ -14,7 +20,11 @@ stdenv.mkDerivation { buildInputs = [ docutils ]; nativeBuildInputs = [ installShellFiles ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; configurePhase = '' export RST2MAN=rst2man diff --git a/pkgs/by-name/ne/netflix/package.nix b/pkgs/by-name/ne/netflix/package.nix index 8c50e027c0e20..14e3a3f1a827d 100644 --- a/pkgs/by-name/ne/netflix/package.nix +++ b/pkgs/by-name/ne/netflix/package.nix @@ -1,13 +1,14 @@ -{ fetchurl -, google-chrome -, lib -, makeDesktopItem -, runtimeShell -, symlinkJoin -, writeScriptBin +{ + fetchurl, + google-chrome, + lib, + makeDesktopItem, + runtimeShell, + symlinkJoin, + writeScriptBin, # command line arguments which are always set e.g "--disable-gpu" -, commandLineArgs ? [ ] + commandLineArgs ? [ ], }: let @@ -40,7 +41,11 @@ let }; desktopName = "Netflix via Google Chrome"; genericName = "A video streaming service providing films and exclusive TV series"; - categories = [ "TV" "AudioVideo" "Network" ]; + categories = [ + "TV" + "AudioVideo" + "Network" + ]; startupNotify = true; }; @@ -58,5 +63,8 @@ in symlinkJoin { inherit name meta; - paths = [ script desktopItem ]; + paths = [ + script + desktopItem + ]; } diff --git a/pkgs/by-name/ne/nethogs/package.nix b/pkgs/by-name/ne/nethogs/package.nix index f4d7700b9000c..5ad1bfd5c999b 100644 --- a/pkgs/by-name/ne/nethogs/package.nix +++ b/pkgs/by-name/ne/nethogs/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, libpcap }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + libpcap, +}: stdenv.mkDerivation rec { pname = "nethogs"; @@ -11,11 +17,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-+yVMyGSBIBWYjA9jaGWvrcsNPbJ6S4ax9H1BhWHYUUU="; }; - buildInputs = [ ncurses libpcap ]; + buildInputs = [ + ncurses + libpcap + ]; - makeFlags = [ "VERSION=${version}" "nethogs" ]; + makeFlags = [ + "VERSION=${version}" + "nethogs" + ]; - installFlags = [ "PREFIX=$(out)" "sbin=$(out)/bin" ]; + installFlags = [ + "PREFIX=$(out)" + "sbin=$(out)/bin" + ]; meta = with lib; { description = "Small 'net top' tool, grouping bandwidth by process"; diff --git a/pkgs/by-name/ne/nethoscope/package.nix b/pkgs/by-name/ne/nethoscope/package.nix index 2b450cf7b8aa5..18d284443d7c8 100644 --- a/pkgs/by-name/ne/nethoscope/package.nix +++ b/pkgs/by-name/ne/nethoscope/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, alsa-lib -, libpcap -, expect +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + alsa-lib, + libpcap, + expect, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ne/netifd/package.nix b/pkgs/by-name/ne/netifd/package.nix index 6fd90f6082c97..afb13762dc225 100644 --- a/pkgs/by-name/ne/netifd/package.nix +++ b/pkgs/by-name/ne/netifd/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, cmake -, fetchgit -, libnl -, libubox -, uci -, ubus -, json_c -, pkg-config -, udebug +{ + lib, + stdenv, + cmake, + fetchgit, + libnl, + libubox, + uci, + ubus, + json_c, + pkg-config, + udebug, }: stdenv.mkDerivation { @@ -44,9 +45,11 @@ stdenv.mkDerivation { sed "s|./ethtool-modes.h|$PWD/ethtool-modes.h|g" -i CMakeLists.txt ''; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - "-Wno-error=maybe-uninitialized" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + "-Wno-error=maybe-uninitialized" + ] + ); meta = with lib; { description = "OpenWrt Network interface configuration daemon"; diff --git a/pkgs/by-name/ne/netkittftp/package.nix b/pkgs/by-name/ne/netkittftp/package.nix index 807aa62601fe8..077438c0e4e7e 100644 --- a/pkgs/by-name/ne/netkittftp/package.nix +++ b/pkgs/by-name/ne/netkittftp/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "netkit-tftp"; diff --git a/pkgs/by-name/ne/netlistsvg/package.nix b/pkgs/by-name/ne/netlistsvg/package.nix index 8458d63f03bb0..6d9ee1f4a16e6 100644 --- a/pkgs/by-name/ne/netlistsvg/package.nix +++ b/pkgs/by-name/ne/netlistsvg/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, runCommandLocal -, netlistsvg -, yosys +{ + lib, + buildNpmPackage, + fetchFromGitHub, + runCommandLocal, + netlistsvg, + yosys, }: buildNpmPackage rec { @@ -36,14 +37,20 @@ buildNpmPackage rec { ''; # An integration test: Synthesize a circuit from hdl and generate a diagram - passthru.tests.netlistsvg-yosys-integration-test = runCommandLocal "netlistsvg-yosys-integration-test" { - nativeBuildInputs = [ netlistsvg yosys ]; - } '' - yosys -p "prep -top helloworld -flatten; aigmap; write_json circuit.json" ${./test.v} - netlistsvg circuit.json -o circuit.svg - test -s circuit.svg - touch $out - ''; + passthru.tests.netlistsvg-yosys-integration-test = + runCommandLocal "netlistsvg-yosys-integration-test" + { + nativeBuildInputs = [ + netlistsvg + yosys + ]; + } + '' + yosys -p "prep -top helloworld -flatten; aigmap; write_json circuit.json" ${./test.v} + netlistsvg circuit.json -o circuit.svg + test -s circuit.svg + touch $out + ''; meta = { description = "Draw SVG digital circuits schematics from yosys JSON netlists"; diff --git a/pkgs/by-name/ne/netlogo/package.nix b/pkgs/by-name/ne/netlogo/package.nix index 20d001d8dba23..f7375bc7c78d4 100644 --- a/pkgs/by-name/ne/netlogo/package.nix +++ b/pkgs/by-name/ne/netlogo/package.nix @@ -1,4 +1,11 @@ -{ jre, lib, stdenv, fetchurl, makeWrapper, makeDesktopItem }: +{ + jre, + lib, + stdenv, + fetchurl, + makeWrapper, + makeDesktopItem, +}: let diff --git a/pkgs/by-name/ne/netmask/package.nix b/pkgs/by-name/ne/netmask/package.nix index c9b359cb3a2e4..9397e44d9fd79 100644 --- a/pkgs/by-name/ne/netmask/package.nix +++ b/pkgs/by-name/ne/netmask/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, texinfo }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + texinfo, +}: stdenv.mkDerivation rec { pname = "netmask"; diff --git a/pkgs/by-name/ne/netop/package.nix b/pkgs/by-name/ne/netop/package.nix index ac85b1e4936bd..db2d00f6a654e 100644 --- a/pkgs/by-name/ne/netop/package.nix +++ b/pkgs/by-name/ne/netop/package.nix @@ -1,4 +1,9 @@ -{ lib, libpcap, rustPlatform, fetchFromGitHub }: +{ + lib, + libpcap, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "netop"; diff --git a/pkgs/by-name/ne/netperf/package.nix b/pkgs/by-name/ne/netperf/package.nix index 7722ab479c569..a1bd6255e738a 100644 --- a/pkgs/by-name/ne/netperf/package.nix +++ b/pkgs/by-name/ne/netperf/package.nix @@ -1,4 +1,11 @@ -{ libsmbios, lib, stdenv, autoreconfHook, fetchFromGitHub, fetchpatch }: +{ + libsmbios, + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation { pname = "netperf"; diff --git a/pkgs/by-name/ne/netplan/package.nix b/pkgs/by-name/ne/netplan/package.nix index 8b6443bfd1375..6668eeff00f51 100644 --- a/pkgs/by-name/ne/netplan/package.nix +++ b/pkgs/by-name/ne/netplan/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, fetchFromGitHub -, pkg-config -, glib -, pandoc -, systemd -, libyaml -, python3 -, libuuid -, bash-completion -, lib +{ + stdenv, + fetchFromGitHub, + pkg-config, + glib, + pandoc, + systemd, + libyaml, + python3, + libuuid, + bash-completion, + lib, }: stdenv.mkDerivation rec { @@ -32,7 +33,14 @@ stdenv.mkDerivation rec { systemd glib libyaml - (python3.withPackages (p: with p; [ pyyaml netifaces dbus-python rich ])) + (python3.withPackages ( + p: with p; [ + pyyaml + netifaces + dbus-python + rich + ] + )) libuuid bash-completion ]; diff --git a/pkgs/by-name/ne/netproc/package.nix b/pkgs/by-name/ne/netproc/package.nix index 16f8cabe5fbef..eb49dcb019f55 100644 --- a/pkgs/by-name/ne/netproc/package.nix +++ b/pkgs/by-name/ne/netproc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation (finalAttrs: { pname = "netproc"; diff --git a/pkgs/by-name/ne/netproxrc/package.nix b/pkgs/by-name/ne/netproxrc/package.nix index 341c74d2c6646..96eb98afd65dc 100644 --- a/pkgs/by-name/ne/netproxrc/package.nix +++ b/pkgs/by-name/ne/netproxrc/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "netproxrc"; diff --git a/pkgs/by-name/ne/netris/package.nix b/pkgs/by-name/ne/netris/package.nix index 583d6efa58fe0..ab299e8dbedba 100644 --- a/pkgs/by-name/ne/netris/package.nix +++ b/pkgs/by-name/ne/netris/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation { pname = "netris"; diff --git a/pkgs/by-name/ne/netrw/package.nix b/pkgs/by-name/ne/netrw/package.nix index bfab84bf0221f..4d89650f29eff 100644 --- a/pkgs/by-name/ne/netrw/package.nix +++ b/pkgs/by-name/ne/netrw/package.nix @@ -1,7 +1,10 @@ -{ lib, stdenv, fetchurl -, checksumType ? "built-in" -, libmhash ? null -, openssl ? null +{ + lib, + stdenv, + fetchurl, + checksumType ? "built-in", + libmhash ? null, + openssl ? null, }: assert checksumType == "mhash" -> libmhash != null; @@ -15,8 +18,9 @@ stdenv.mkDerivation rec { "--with-checksum=${checksumType}" ]; - buildInputs = lib.optional (checksumType == "mhash") libmhash - ++ lib.optional (checksumType == "openssl") openssl; + buildInputs = + lib.optional (checksumType == "mhash") libmhash + ++ lib.optional (checksumType == "openssl") openssl; src = fetchurl { urls = [ diff --git a/pkgs/by-name/ne/netscanner/package.nix b/pkgs/by-name/ne/netscanner/package.nix index 32da25af82535..7df1c4c192bc9 100644 --- a/pkgs/by-name/ne/netscanner/package.nix +++ b/pkgs/by-name/ne/netscanner/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeWrapper -, iw +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + iw, }: let pname = "netscanner"; @@ -24,7 +25,7 @@ rustPlatform.buildRustPackage { postFixup = '' wrapProgram $out/bin/netscanner \ - --prefix PATH : "${lib.makeBinPath [iw]}" + --prefix PATH : "${lib.makeBinPath [ iw ]}" ''; meta = { diff --git a/pkgs/by-name/ne/netselect/package.nix b/pkgs/by-name/ne/netselect/package.nix index aa8d81dc7d681..1eaae2cf75aeb 100644 --- a/pkgs/by-name/ne/netselect/package.nix +++ b/pkgs/by-name/ne/netselect/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "netselect"; diff --git a/pkgs/by-name/ne/netsniff-ng/package.nix b/pkgs/by-name/ne/netsniff-ng/package.nix index a6bf4383b3178..98fbc042a64c4 100644 --- a/pkgs/by-name/ne/netsniff-ng/package.nix +++ b/pkgs/by-name/ne/netsniff-ng/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, bison -, flex -, geoip -, geolite-legacy -, libcli -, libnet -, libnetfilter_conntrack -, libnl -, libpcap -, libsodium -, liburcu -, ncurses -, pkg-config -, gnumake42 -, zlib +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + bison, + flex, + geoip, + geolite-legacy, + libcli, + libnet, + libnetfilter_conntrack, + libnl, + libpcap, + libsodium, + liburcu, + ncurses, + pkg-config, + gnumake42, + zlib, }: stdenv.mkDerivation rec { @@ -62,7 +63,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # All files installed to /etc are just static data that can go in the store - makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc" ]; + makeFlags = [ + "PREFIX=$(out)" + "ETCDIR=$(out)/etc" + ]; postInstall = '' # trafgen and bpfc can call out to cpp to process config files. diff --git a/pkgs/by-name/ne/networkaudiod/package.nix b/pkgs/by-name/ne/networkaudiod/package.nix index c2566f4451eaf..37b99d4a3546e 100644 --- a/pkgs/by-name/ne/networkaudiod/package.nix +++ b/pkgs/by-name/ne/networkaudiod/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, autoPatchelfHook -, dpkg -, fetchurl -, lib -, alsa-lib +{ + stdenv, + autoPatchelfHook, + dpkg, + fetchurl, + lib, + alsa-lib, }: let inherit (stdenv.hostPlatform) system; @@ -13,22 +14,27 @@ stdenv.mkDerivation rec { pname = "networkaudiod"; version = "4.1.1-46"; - src = { - x86_64-linux = fetchurl { - url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_amd64.deb"; - sha256 = "sha256-un5VcCnvCCS/KWtW991Rt9vz3flYilERmRNooEsKCkA="; - }; - aarch64-linux = fetchurl { - url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_arm64.deb"; - sha256 = "sha256-fjSCWX9VYhVJ43N2kSqd5gfTtDJ1UiH4j5PJ9I5Skag="; - }; - }.${system} or throwSystem; + src = + { + x86_64-linux = fetchurl { + url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_amd64.deb"; + sha256 = "sha256-un5VcCnvCCS/KWtW991Rt9vz3flYilERmRNooEsKCkA="; + }; + aarch64-linux = fetchurl { + url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_arm64.deb"; + sha256 = "sha256-fjSCWX9VYhVJ43N2kSqd5gfTtDJ1UiH4j5PJ9I5Skag="; + }; + } + .${system} or throwSystem; unpackPhase = '' dpkg -x $src . ''; - nativeBuildInputs = [ autoPatchelfHook dpkg ]; + nativeBuildInputs = [ + autoPatchelfHook + dpkg + ]; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/ne/networkd-dispatcher/package.nix b/pkgs/by-name/ne/networkd-dispatcher/package.nix index 11b0e3171916d..d2b9732f87d9a 100644 --- a/pkgs/by-name/ne/networkd-dispatcher/package.nix +++ b/pkgs/by-name/ne/networkd-dispatcher/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, python3Packages -, asciidoc -, wrapGAppsNoGuiHook -, iw +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + python3Packages, + asciidoc, + wrapGAppsNoGuiHook, + iw, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ne/networking-ts-cxx/package.nix b/pkgs/by-name/ne/networking-ts-cxx/package.nix index 7dc6d4b11fee2..86b2b4f3e222c 100644 --- a/pkgs/by-name/ne/networking-ts-cxx/package.nix +++ b/pkgs/by-name/ne/networking-ts-cxx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "networking-ts-cxx"; diff --git a/pkgs/by-name/ne/networkmanager-l2tp/package.nix b/pkgs/by-name/ne/networkmanager-l2tp/package.nix index 4389b2b620991..d44ae6a320905 100644 --- a/pkgs/by-name/ne/networkmanager-l2tp/package.nix +++ b/pkgs/by-name/ne/networkmanager-l2tp/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, substituteAll -, fetchFromGitHub -, autoreconfHook -, pkg-config -, gtk3 -, gtk4 -, networkmanager -, ppp -, xl2tpd -, strongswan -, libsecret -, withGnome ? true -, libnma -, libnma-gtk4 -, glib -, openssl -, nss +{ + stdenv, + lib, + substituteAll, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gtk3, + gtk4, + networkmanager, + ppp, + xl2tpd, + strongswan, + libsecret, + withGnome ? true, + libnma, + libnma-gtk4, + glib, + openssl, + nss, }: stdenv.mkDerivation rec { @@ -43,19 +44,21 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - networkmanager - ppp - glib - openssl - nss - ] ++ lib.optionals withGnome [ - gtk3 - gtk4 - libsecret - libnma - libnma-gtk4 - ]; + buildInputs = + [ + networkmanager + ppp + glib + openssl + nss + ] + ++ lib.optionals withGnome [ + gtk3 + gtk4 + libsecret + libnma + libnma-gtk4 + ]; configureFlags = [ "--with-gnome=${if withGnome then "yes" else "no"}" @@ -75,6 +78,9 @@ stdenv.mkDerivation rec { inherit (networkmanager.meta) platforms; homepage = "https://github.com/nm-l2tp/network-manager-l2tp"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ abbradar obadz ]; + maintainers = with maintainers; [ + abbradar + obadz + ]; }; } diff --git a/pkgs/by-name/ne/networkmanager-openconnect/package.nix b/pkgs/by-name/ne/networkmanager-openconnect/package.nix index 426039b19f607..0e2a199d5c3a1 100644 --- a/pkgs/by-name/ne/networkmanager-openconnect/package.nix +++ b/pkgs/by-name/ne/networkmanager-openconnect/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchurl -, substituteAll -, glib -, libxml2 -, openconnect -, intltool -, pkg-config -, networkmanager -, gcr -, libsecret -, file -, gtk3 -, webkitgtk_4_1 -, libnma -, libnma-gtk4 -, gtk4 -, withGnome ? true -, gnome -, kmod +{ + stdenv, + lib, + fetchurl, + substituteAll, + glib, + libxml2, + openconnect, + intltool, + pkg-config, + networkmanager, + gcr, + libsecret, + file, + gtk3, + webkitgtk_4_1, + libnma, + libnma-gtk4, + gtk4, + withGnome ? true, + gnome, + kmod, }: stdenv.mkDerivation rec { @@ -37,20 +38,22 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ - glib - libxml2 - openconnect - networkmanager - webkitgtk_4_1 # required, for SSO - ] ++ lib.optionals withGnome [ - gtk3 - libnma - libnma-gtk4 - gtk4 - gcr - libsecret - ]; + buildInputs = + [ + glib + libxml2 + openconnect + networkmanager + webkitgtk_4_1 # required, for SSO + ] + ++ lib.optionals withGnome [ + gtk3 + libnma + libnma-gtk4 + gtk4 + gcr + libsecret + ]; nativeBuildInputs = [ intltool diff --git a/pkgs/by-name/ne/networkmanager-sstp/package.nix b/pkgs/by-name/ne/networkmanager-sstp/package.nix index 026f038ef20db..4a8a13ac39368 100644 --- a/pkgs/by-name/ne/networkmanager-sstp/package.nix +++ b/pkgs/by-name/ne/networkmanager-sstp/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, autoreconfHook -, fetchurl -, file -, glib -, gnome -, gtk3 -, gtk4 -, gettext -, libnma -, libnma-gtk4 -, libsecret -, networkmanager -, pkg-config -, ppp -, sstp -, withGnome ? true +{ + stdenv, + lib, + autoreconfHook, + fetchurl, + file, + glib, + gnome, + gtk3, + gtk4, + gettext, + libnma, + libnma-gtk4, + libsecret, + networkmanager, + pkg-config, + ppp, + sstp, + withGnome ? true, }: stdenv.mkDerivation rec { @@ -35,18 +36,20 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - sstp - networkmanager - glib - ppp - ] ++ lib.optionals withGnome [ - gtk3 - gtk4 - libsecret - libnma - libnma-gtk4 - ]; + buildInputs = + [ + sstp + networkmanager + glib + ppp + ] + ++ lib.optionals withGnome [ + gtk3 + gtk4 + libsecret + libnma + libnma-gtk4 + ]; postPatch = '' sed -i 's#/sbin/pppd#${ppp}/bin/pppd#' src/nm-sstp-service.c diff --git a/pkgs/by-name/ne/networkmanager_dmenu/package.nix b/pkgs/by-name/ne/networkmanager_dmenu/package.nix index a2724ed73c270..97acb7b35c1a5 100644 --- a/pkgs/by-name/ne/networkmanager_dmenu/package.nix +++ b/pkgs/by-name/ne/networkmanager_dmenu/package.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, glib, fetchFromGitHub, networkmanager, python3Packages -, gobject-introspection, procps }: - -let inherit (python3Packages) python pygobject3; -in stdenv.mkDerivation rec { +{ + lib, + stdenv, + glib, + fetchFromGitHub, + networkmanager, + python3Packages, + gobject-introspection, + procps, +}: + +let + inherit (python3Packages) python pygobject3; +in +stdenv.mkDerivation rec { pname = "networkmanager_dmenu"; version = "2.5.0"; @@ -14,7 +24,14 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ gobject-introspection ]; - buildInputs = [ glib python pygobject3 networkmanager python3Packages.wrapPython procps ]; + buildInputs = [ + glib + python + pygobject3 + networkmanager + python3Packages.wrapPython + procps + ]; dontBuild = true; @@ -33,13 +50,12 @@ in stdenv.mkDerivation rec { wrapPythonPrograms ''; - meta = with lib; { - description = "Small script to manage NetworkManager connections with dmenu instead of nm-applet"; + description = "Small script to manage NetworkManager connections with dmenu instead of nm-applet"; mainProgram = "networkmanager_dmenu"; - homepage = "https://github.com/firecat53/networkmanager-dmenu"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jensbin ]; - platforms = lib.platforms.all; + homepage = "https://github.com/firecat53/networkmanager-dmenu"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jensbin ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ne/networkmanager_strongswan/package.nix b/pkgs/by-name/ne/networkmanager_strongswan/package.nix index f46fb12720879..799c492354105 100644 --- a/pkgs/by-name/ne/networkmanager_strongswan/package.nix +++ b/pkgs/by-name/ne/networkmanager_strongswan/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchurl -, intltool -, pkg-config -, networkmanager -, strongswanNM -, gtk3 -, gtk4 -, libsecret -, libnma -, libnma-gtk4 +{ + stdenv, + lib, + fetchurl, + intltool, + pkg-config, + networkmanager, + strongswanNM, + gtk3, + gtk4, + libsecret, + libnma, + libnma-gtk4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ne/networkmanagerapplet/package.nix b/pkgs/by-name/ne/networkmanagerapplet/package.nix index e7234cc172fff..252a54c71b3e5 100644 --- a/pkgs/by-name/ne/networkmanagerapplet/package.nix +++ b/pkgs/by-name/ne/networkmanagerapplet/package.nix @@ -1,26 +1,28 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, gettext -, pkg-config -, networkmanager -, gnome -, adwaita-icon-theme -, libsecret -, polkit -, modemmanager -, libnma -, glib-networking -, gsettings-desktop-schemas -, libgudev -, jansson -, wrapGAppsHook3 -, gobject-introspection -, python3 -, gtk3 -, libayatana-appindicator -, glib +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + gettext, + pkg-config, + networkmanager, + gnome, + adwaita-icon-theme, + libsecret, + polkit, + modemmanager, + libnma, + glib-networking, + gsettings-desktop-schemas, + libgudev, + jansson, + wrapGAppsHook3, + gobject-introspection, + python3, + gtk3, + libayatana-appindicator, + glib, }: stdenv.mkDerivation rec { @@ -37,7 +39,10 @@ stdenv.mkDerivation rec { "-Dappindicator=yes" ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; buildInputs = [ libnma diff --git a/pkgs/by-name/ne/networkminer/deps.nix b/pkgs/by-name/ne/networkminer/deps.nix index 196ca32bf1ead..db2372c61a38f 100644 --- a/pkgs/by-name/ne/networkminer/deps.nix +++ b/pkgs/by-name/ne/networkminer/deps.nix @@ -1,8 +1,21 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.2"; sha256 = "0i42rn8xmvhn08799manpym06kpw89qy9080myyy2ngy565pqh0a"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net461"; version = "1.0.2"; sha256 = "0js3dp26nszx82q0phv7hmsm5z23dva7javbmk6a91lbkm07y8p2"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.2"; sha256 = "1dny43jksy6dm9zrkdm8j80gb25w6wdvjlxnphj7ngf0fbg3dd2c"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.2"; + sha256 = "0i42rn8xmvhn08799manpym06kpw89qy9080myyy2ngy565pqh0a"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net461"; + version = "1.0.2"; + sha256 = "0js3dp26nszx82q0phv7hmsm5z23dva7javbmk6a91lbkm07y8p2"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; + version = "1.0.2"; + sha256 = "1dny43jksy6dm9zrkdm8j80gb25w6wdvjlxnphj7ngf0fbg3dd2c"; + }) ] diff --git a/pkgs/by-name/ne/networkminer/package.nix b/pkgs/by-name/ne/networkminer/package.nix index c3be596118ff0..07e5d371547d5 100644 --- a/pkgs/by-name/ne/networkminer/package.nix +++ b/pkgs/by-name/ne/networkminer/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildDotnetModule -, fetchurl -, unzip -, dos2unix -, msbuild -, mono -, dotnetCorePackages +{ + lib, + buildDotnetModule, + fetchurl, + unzip, + dos2unix, + msbuild, + mono, + dotnetCorePackages, }: buildDotnetModule rec { pname = "networkminer"; @@ -14,13 +15,19 @@ buildDotnetModule rec { src = fetchurl { # Upstream does not provide versioned releases, a mirror has been uploaded # to archive.org - url = "https://archive.org/download/networkminer-${lib.replaceStrings ["."] ["-"] version}/NetworkMiner_${lib.replaceStrings ["."] ["-"] version}_source.zip"; + url = "https://archive.org/download/networkminer-${ + lib.replaceStrings [ "." ] [ "-" ] version + }/NetworkMiner_${lib.replaceStrings [ "." ] [ "-" ] version}_source.zip"; sha256 = "1n2312acq5rq0jizlcfk0crslx3wgcsd836p47nk3pnapzw0cqvv"; }; dotnet-sdk = dotnetCorePackages.sdk_6_0; - nativeBuildInputs = [ unzip dos2unix msbuild ]; + nativeBuildInputs = [ + unzip + dos2unix + msbuild + ]; patches = [ # Store application data in XDG_DATA_DIRS instead of trying to write to nix store diff --git a/pkgs/by-name/ne/neural-amp-modeler-lv2/package.nix b/pkgs/by-name/ne/neural-amp-modeler-lv2/package.nix index dbf7a91789189..4cc5b31461866 100644 --- a/pkgs/by-name/ne/neural-amp-modeler-lv2/package.nix +++ b/pkgs/by-name/ne/neural-amp-modeler-lv2/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ne/neuron/package.nix b/pkgs/by-name/ne/neuron/package.nix index fe5de3c68fab5..d6b7098654bc3 100644 --- a/pkgs/by-name/ne/neuron/package.nix +++ b/pkgs/by-name/ne/neuron/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, readline -, xorg -, mpi -, cmake -, bison -, flex -, git -, perl -, gsl -, xcbuild -, python3 -, useMpi ? false -, useIv ? true -, useCore ? false -, useRx3d ? false +{ + lib, + stdenv, + fetchFromGitHub, + readline, + xorg, + mpi, + cmake, + bison, + flex, + git, + perl, + gsl, + xcbuild, + python3, + useMpi ? false, + useIv ? true, + useCore ? false, + useRx3d ? false, }: let inherit (lib.lists) optionals; @@ -28,13 +29,18 @@ stdenv.mkDerivation (finalAttrs: { # format is for pythonModule conversion format = "other"; - nativeBuildInputs = [ - cmake - bison - flex - git - ] ++ optionals useCore [ perl gsl ] - ++ optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; + nativeBuildInputs = + [ + cmake + bison + flex + git + ] + ++ optionals useCore [ + perl + gsl + ] + ++ optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; buildInputs = optionals useIv [ xorg.libX11.dev @@ -42,21 +48,25 @@ stdenv.mkDerivation (finalAttrs: { xorg.libXext.dev ]; - propagatedBuildInputs = [ - readline - python3 - python3.pkgs.wheel - python3.pkgs.setuptools - python3.pkgs.scikit-build - python3.pkgs.matplotlib - ] ++ optionals useMpi [ - mpi - ] ++ optionals useMpi [ - python3.pkgs.mpi4py - ] ++ optionals useRx3d [ - python3.pkgs.cython_0 # NOTE: cython<3 is required as of 8.2.6 - python3.pkgs.numpy - ]; + propagatedBuildInputs = + [ + readline + python3 + python3.pkgs.wheel + python3.pkgs.setuptools + python3.pkgs.scikit-build + python3.pkgs.matplotlib + ] + ++ optionals useMpi [ + mpi + ] + ++ optionals useMpi [ + python3.pkgs.mpi4py + ] + ++ optionals useRx3d [ + python3.pkgs.cython_0 # NOTE: cython<3 is required as of 8.2.6 + python3.pkgs.numpy + ]; # Patch build shells for cmake (bin, src, cmake) and submodules (external) postPatch = '' @@ -104,7 +114,10 @@ stdenv.mkDerivation (finalAttrs: { sourceProvenance = with sourceTypes; [ fromSource ]; license = licenses.bsd3; homepage = "http://www.neuron.yale.edu/neuron"; - maintainers = with maintainers; [ adev davidcromp ]; + maintainers = with maintainers; [ + adev + davidcromp + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/ne/neverball/package.nix b/pkgs/by-name/ne/neverball/package.nix index e0555ded7bee0..167023a22f6a9 100644 --- a/pkgs/by-name/ne/neverball/package.nix +++ b/pkgs/by-name/ne/neverball/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, SDL2, libGL, libpng, libjpeg, SDL2_ttf, libvorbis, gettext -, physfs }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + SDL2, + libGL, + libpng, + libjpeg, + SDL2_ttf, + libvorbis, + gettext, + physfs, +}: stdenv.mkDerivation rec { pname = "neverball"; @@ -18,7 +30,16 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ libpng SDL2 libGL libjpeg SDL2_ttf libvorbis gettext physfs ]; + buildInputs = [ + libpng + SDL2 + libGL + libjpeg + SDL2_ttf + libvorbis + gettext + physfs + ]; dontPatchELF = true; diff --git a/pkgs/by-name/ne/neverest/package.nix b/pkgs/by-name/ne/neverest/package.nix index 5c4bd81fa83c4..10d472e8e9680 100644 --- a/pkgs/by-name/ne/neverest/package.nix +++ b/pkgs/by-name/ne/neverest/package.nix @@ -1,15 +1,16 @@ -{ lib -, rustPlatform -, fetchFromSourcehut -, stdenv -, pkg-config -, darwin -, installShellFiles -, installShellCompletions ? stdenv.buildPlatform.canExecute stdenv.hostPlatform -, installManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform -, notmuch -, buildNoDefaultFeatures ? false -, buildFeatures ? [] +{ + lib, + rustPlatform, + fetchFromSourcehut, + stdenv, + pkg-config, + darwin, + installShellFiles, + installShellCompletions ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + installManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + notmuch, + buildNoDefaultFeatures ? false, + buildFeatures ? [ ], }: rustPlatform.buildRustPackage rec { @@ -30,27 +31,38 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-i5or8oBtjGqOfTfwB7dYXn/OPgr5WEWNEvC0WdCCG+c="; - nativeBuildInputs = [ pkg-config ] - ++ lib.optional (installManPages || installShellCompletions) installShellFiles; + nativeBuildInputs = [ + pkg-config + ] ++ lib.optional (installManPages || installShellCompletions) installShellFiles; - buildInputs = [ ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa Security ]) + buildInputs = + [ ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + AppKit + Cocoa + Security + ] + ) ++ lib.optional (builtins.elem "notmuch" buildFeatures) notmuch; # TODO: unit tests temporarily broken, remove this line for the next # beta.2 release doCheck = false; - postInstall = lib.optionalString installManPages '' - mkdir -p $out/man - $out/bin/neverest man $out/man - installManPage $out/man/* - '' + lib.optionalString installShellCompletions '' - installShellCompletion --cmd neverest \ - --bash <($out/bin/neverest completion bash) \ - --fish <($out/bin/neverest completion fish) \ - --zsh <($out/bin/neverest completion zsh) - ''; + postInstall = + lib.optionalString installManPages '' + mkdir -p $out/man + $out/bin/neverest man $out/man + installManPage $out/man/* + '' + + lib.optionalString installShellCompletions '' + installShellCompletion --cmd neverest \ + --bash <($out/bin/neverest completion bash) \ + --fish <($out/bin/neverest completion fish) \ + --zsh <($out/bin/neverest completion zsh) + ''; meta = with lib; { description = "CLI to synchronize, backup and restore emails"; diff --git a/pkgs/by-name/ne/new-session-manager/package.nix b/pkgs/by-name/ne/new-session-manager/package.nix index 6e24f0c90d292..343c84db10d08 100644 --- a/pkgs/by-name/ne/new-session-manager/package.nix +++ b/pkgs/by-name/ne/new-session-manager/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, liblo, libjack2, fltk }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, + liblo, + libjack2, + fltk, +}: stdenv.mkDerivation rec { pname = "new-session-manager"; @@ -11,9 +21,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-5G2GlBuKjC/r1SMm78JKia7bMA97YcvUR5l6zBucemw="; }; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; - buildInputs = [ liblo libjack2 fltk ]; + buildInputs = [ + liblo + libjack2 + fltk + ]; hardeningDisable = [ "format" ]; @@ -22,6 +40,6 @@ stdenv.mkDerivation rec { description = "Session manager designed for audio applications"; maintainers = [ maintainers._6AA4FD ]; license = licenses.gpl3Plus; - platforms = ["x86_64-linux"]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/ne/newcomputermodern/package.nix b/pkgs/by-name/ne/newcomputermodern/package.nix index 660230e40332e..c35f9989e50e2 100644 --- a/pkgs/by-name/ne/newcomputermodern/package.nix +++ b/pkgs/by-name/ne/newcomputermodern/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchgit -, fontforge +{ + lib, + stdenvNoCC, + fetchgit, + fontforge, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ne/newman/package.nix b/pkgs/by-name/ne/newman/package.nix index 31805a4b33101..002dd0ad82f50 100644 --- a/pkgs/by-name/ne/newman/package.nix +++ b/pkgs/by-name/ne/newman/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/ne/newrelic-sysmond/package.nix b/pkgs/by-name/ne/newrelic-sysmond/package.nix index 35a6a5e828e5c..73218723f222b 100644 --- a/pkgs/by-name/ne/newrelic-sysmond/package.nix +++ b/pkgs/by-name/ne/newrelic-sysmond/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "newrelic-sysmond"; diff --git a/pkgs/by-name/ne/newsraft/package.nix b/pkgs/by-name/ne/newsraft/package.nix index 0f2a251df3ba1..26a1e1f041143 100644 --- a/pkgs/by-name/ne/newsraft/package.nix +++ b/pkgs/by-name/ne/newsraft/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitea -, pkg-config -, curl -, expat -, gumbo -, ncurses -, sqlite -, yajl -, nix-update-script +{ + lib, + stdenv, + fetchFromGitea, + pkg-config, + curl, + expat, + gumbo, + ncurses, + sqlite, + yajl, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -24,11 +25,18 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ curl expat gumbo ncurses sqlite yajl ]; + buildInputs = [ + curl + expat + gumbo + ncurses + sqlite + yajl + ]; makeFlags = [ "PREFIX=$(out)" ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Feed reader for terminal"; diff --git a/pkgs/by-name/ne/newtonwars/package.nix b/pkgs/by-name/ne/newtonwars/package.nix index 62d553f402f61..5d0f0ece621e0 100644 --- a/pkgs/by-name/ne/newtonwars/package.nix +++ b/pkgs/by-name/ne/newtonwars/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, libglut -, libGLU -, libGL +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + libglut, + libGLU, + libGL, }: stdenv.mkDerivation { @@ -19,7 +20,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ libglut libGL libGLU ]; + buildInputs = [ + libglut + libGL + libGLU + ]; patchPhase = '' sed -i "s;font24.raw;$out/share/font24.raw;g" display.c diff --git a/pkgs/by-name/ne/nex/package.nix b/pkgs/by-name/ne/nex/package.nix index 6a34156608784..e7487144b5c3a 100644 --- a/pkgs/by-name/ne/nex/package.nix +++ b/pkgs/by-name/ne/nex/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: # upstream is pretty stale, but it still works, so until they merge module # support we have to use gopath: see blynn/nex#57 diff --git a/pkgs/by-name/ne/nextdns/package.nix b/pkgs/by-name/ne/nextdns/package.nix index 560a134a9dd46..0b901e2b41708 100644 --- a/pkgs/by-name/ne/nextdns/package.nix +++ b/pkgs/by-name/ne/nextdns/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "nextdns"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-U5LJF1RX0ZS0PhjQTZKXrJo89WPfSZaVbgskWcYNlJY="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { description = "NextDNS DNS/53 to DoH Proxy"; diff --git a/pkgs/by-name/ne/nextflow/package.nix b/pkgs/by-name/ne/nextflow/package.nix index 9fe2c20fae550..612c1c2913c12 100644 --- a/pkgs/by-name/ne/nextflow/package.nix +++ b/pkgs/by-name/ne/nextflow/package.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { # See https://github.com/NixOS/nixpkgs/pull/339197#discussion_r1747749061 gradleUpdateTask = "pack"; # The installer attempts to copy a final JAR to $HOME/.nextflow/... - gradleFlags = ["-Duser.home=\$TMPDIR"]; + gradleFlags = [ "-Duser.home=\$TMPDIR" ]; preBuild = '' # See Makefile (`make pack`) export BUILD_PACK=1 diff --git a/pkgs/by-name/ne/nextpnr/package.nix b/pkgs/by-name/ne/nextpnr/package.nix index b3dee524f7a74..7f49f10a54270 100644 --- a/pkgs/by-name/ne/nextpnr/package.nix +++ b/pkgs/by-name/ne/nextpnr/package.nix @@ -1,58 +1,80 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, boost, python3, eigen, python3Packages -, icestorm, trellis -, llvmPackages - -, enableGui ? false -, wrapQtAppsHook ? null -, qtbase ? null -, OpenGL ? null +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + python3, + eigen, + python3Packages, + icestorm, + trellis, + llvmPackages, + + enableGui ? false, + wrapQtAppsHook ? null, + qtbase ? null, + OpenGL ? null, }: let - boostPython = boost.override { python = python3; enablePython = true; }; + boostPython = boost.override { + python = python3; + enablePython = true; + }; pname = "nextpnr"; version = "0.7"; main_src = fetchFromGitHub { owner = "YosysHQ"; - repo = "nextpnr"; - rev = "${pname}-${version}"; - hash = "sha256-YIAQcCg9RjvCys1bQ3x+sTgTmnmEeXVbt9Lr6wtg1pA="; - name = "nextpnr"; + repo = "nextpnr"; + rev = "${pname}-${version}"; + hash = "sha256-YIAQcCg9RjvCys1bQ3x+sTgTmnmEeXVbt9Lr6wtg1pA="; + name = "nextpnr"; }; test_src = fetchFromGitHub { - owner = "YosysHQ"; - repo = "nextpnr-tests"; - rev = "00c55a9eb9ea2e062b51fe0d64741412b185d95d"; + owner = "YosysHQ"; + repo = "nextpnr-tests"; + rev = "00c55a9eb9ea2e062b51fe0d64741412b185d95d"; hash = "sha256-83suMftMtnaRFq3T2/I7Uahb11WZlXhwYt6Q/rqi2Yo="; - name = "nextpnr-tests"; + name = "nextpnr-tests"; }; in stdenv.mkDerivation rec { inherit pname version; - srcs = [ main_src test_src ]; + srcs = [ + main_src + test_src + ]; sourceRoot = main_src.name; - nativeBuildInputs - = [ cmake python3 ] - ++ (lib.optional enableGui wrapQtAppsHook); - buildInputs - = [ boostPython eigen python3Packages.apycula ] + nativeBuildInputs = [ + cmake + python3 + ] ++ (lib.optional enableGui wrapQtAppsHook); + buildInputs = + [ + boostPython + eigen + python3Packages.apycula + ] ++ (lib.optional enableGui qtbase) ++ (lib.optional stdenv.cc.isClang llvmPackages.openmp); - cmakeFlags = let - # the specified version must always start with "nextpnr-", so add it if - # missing (e.g. if the user overrides with a git hash) - rev = main_src.rev; - version = if (lib.hasPrefix "nextpnr-" rev) then rev else "nextpnr-${rev}"; - in ["-DCURRENT_GIT_VERSION=${version}" + cmakeFlags = + let + # the specified version must always start with "nextpnr-", so add it if + # missing (e.g. if the user overrides with a git hash) + rev = main_src.rev; + version = if (lib.hasPrefix "nextpnr-" rev) then rev else "nextpnr-${rev}"; + in + [ + "-DCURRENT_GIT_VERSION=${version}" "-DARCH=generic;ice40;ecp5;gowin;himbaechel" "-DBUILD_TESTS=ON" "-DICESTORM_INSTALL_PREFIX=${icestorm}" @@ -65,8 +87,9 @@ stdenv.mkDerivation rec { "-DHIMBAECHEL_GOWIN_DEVICES=all" ] ++ (lib.optional enableGui "-DBUILD_GUI=ON") - ++ (lib.optional (enableGui && stdenv.hostPlatform.isDarwin) - "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"); + ++ (lib.optional ( + enableGui && stdenv.hostPlatform.isDarwin + ) "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"); patchPhase = with builtins; '' # use PyPy for icestorm if enabled @@ -92,9 +115,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Place and route tool for FPGAs"; - homepage = "https://github.com/yosyshq/nextpnr"; - license = licenses.isc; - platforms = platforms.all; + homepage = "https://github.com/yosyshq/nextpnr"; + license = licenses.isc; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/ne/nexttrace/package.nix b/pkgs/by-name/ne/nexttrace/package.nix index f82444e68feb4..42535a4edb192 100644 --- a/pkgs/by-name/ne/nexttrace/package.nix +++ b/pkgs/by-name/ne/nexttrace/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGo122Module, fetchFromGitHub }: +{ + lib, + buildGo122Module, + fetchFromGitHub, +}: buildGo122Module rec { pname = "nexttrace"; @@ -32,4 +36,3 @@ buildGo122Module rec { mainProgram = "nexttrace"; }; } - diff --git a/pkgs/by-name/ne/nexuiz/package.nix b/pkgs/by-name/ne/nexuiz/package.nix index 8a178d475ee52..7a608b453b8d2 100644 --- a/pkgs/by-name/ne/nexuiz/package.nix +++ b/pkgs/by-name/ne/nexuiz/package.nix @@ -1,20 +1,39 @@ -{ lib, stdenv, fetchurl -, # required for both - unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora -, libogg, libmodplug -, # glx - libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, libXxf86dga, alsa-lib -, # sdl - SDL -, # icon - copyDesktopItems, makeDesktopItem +{ + lib, + stdenv, + fetchurl, + # required for both + unzip, + zlib, + curl, + libjpeg, + libpng, + libvorbis, + libtheora, + libogg, + libmodplug, + # glx + libX11, + libGLU, + libGL, + libXpm, + libXext, + libXxf86vm, + libXxf86dga, + alsa-lib, + # sdl + SDL, + # icon + copyDesktopItems, + makeDesktopItem, }: let version = "2.5.2"; version_short = lib.replaceStrings [ "." ] [ "" ] version; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "nexuiz"; inherit version; @@ -23,10 +42,20 @@ in stdenv.mkDerivation { sha256 = "0010jrxc68qqinkvdh1qn2b8z3sa5v1kcd8d1m4llp3pr6y7xqm5"; }; - nativeBuildInputs = [ unzip copyDesktopItems ]; + nativeBuildInputs = [ + unzip + copyDesktopItems + ]; buildInputs = [ # glx - libX11 libGLU libGL libXpm libXext libXxf86vm libXxf86dga alsa-lib + libX11 + libGLU + libGL + libXpm + libXext + libXxf86vm + libXxf86dga + alsa-lib # sdl SDL ]; @@ -80,7 +109,10 @@ in stdenv.mkDerivation { icon = "nexuiz"; desktopName = "Nexuiz"; comment = "A free first-person shooter video game developed and published by Alientrap"; - categories = [ "Game" "ActionGame" ]; + categories = [ + "Game" + "ActionGame" + ]; }) ]; diff --git a/pkgs/by-name/ne/nexusmods-app/deps.nix b/pkgs/by-name/ne/nexusmods-app/deps.nix index 2cc3c42480e85..4d97882c5b4ca 100644 --- a/pkgs/by-name/ne/nexusmods-app/deps.nix +++ b/pkgs/by-name/ne/nexusmods-app/deps.nix @@ -1,639 +1,3176 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Argon"; version = "0.24.2"; hash = "sha256-QUwH6v4XKPU9T/mO/TNvMhoUv8yZHMr/Yg39NO+YV+0="; }) - (fetchNuGet { pname = "AutoFixture"; version = "4.18.1"; hash = "sha256-reP+aoYiPcIj4GbCIhjd5/OhuWVLCtD4hKuLPHe2EXI="; }) - (fetchNuGet { pname = "AutoFixture.Xunit2"; version = "4.18.1"; hash = "sha256-5hZm1Rx4n0e2JNsJ6lketE3c8z6AFdquTgKCQORqRfc="; }) - (fetchNuGet { pname = "Avalonia"; version = "11.0.0"; hash = "sha256-7QE0MtD1QDiG3gRx5xW33E33BXyEtASQSw+Wi3Lmy3E="; }) - (fetchNuGet { pname = "Avalonia"; version = "11.1.3"; hash = "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0="; }) - (fetchNuGet { pname = "Avalonia"; version = "11.2.0"; hash = "sha256-kG3tnsLdodlvIjYd5feBZ0quGd2FsvV8FIy7uD5UZ5Q="; }) - (fetchNuGet { pname = "Avalonia"; version = "11.2.1"; hash = "sha256-KdjhwDKlii12v7HNI3NsYAM1qYoXKRsVN2scQJbYMTc="; }) - (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.22045.20230930"; hash = "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="; }) - (fetchNuGet { pname = "Avalonia.AvaloniaEdit"; version = "11.1.0"; hash = "sha256-K9+hK+4aK93dyuGytYvVU25daz605+KN54hmwQYXFF8="; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.28"; hash = "sha256-7NQWQl3xrBDOXhGihCkt5DIrws48KyDGon/7+gPzMDU="; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.2.1"; hash = "sha256-yhjVW5pH8Y0JF1vbfcdL5MQfx24wb+Lkp8OBo51he8U="; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.2.1"; hash = "sha256-IFzA7ztuhgddckQV9DlwkUTSk3RQqkJddCHAtu9yhbY="; }) - (fetchNuGet { pname = "Avalonia.Controls.TreeDataGrid"; version = "11.0.10"; hash = "sha256-1R2AFOKQQPemN7qXsdxCGXcfMSRztRiC86DLqiV6CpY="; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.2.1"; hash = "sha256-Bu4ZEu81g6oWnxd+ew9BZ8zwYETjY8InQsaYvYnGqX4="; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.2.1"; hash = "sha256-gJhi2clOc+a4NDRZfEoT5BwLTq8DLAWtaxo5FI/OJaY="; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.2.1"; hash = "sha256-2j9VfG8uD2BVF+p9REPQ4dp8E41vUh+R3Lh6v5AVmHA="; }) - (fetchNuGet { pname = "Avalonia.Headless"; version = "11.2.1"; hash = "sha256-3nPxjkPgeH1gJie7b39ezGMe12ZHc5lhuQbYDkoYxME="; }) - (fetchNuGet { pname = "Avalonia.Labs.Panels"; version = "11.2.0"; hash = "sha256-DhzjF4nhq8XXrCVHh9Eu1NTjVF2oPDNoto4BDQU7EJk="; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.2.1"; hash = "sha256-bBJsvp6gHfBcAWPNKpAAFCk1Wi0gP3tw4qimI93px0U="; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.2.1"; hash = "sha256-zEO6YkOuWdSj22KgvKO54UCHnw4rn9F3cd8xXsKRe7s="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0"; hash = "sha256-gkVpdbk/0RDM7Hhq0jwZwltDpTsGRmbX+ZFTjWYYoKw="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.2.1"; hash = "sha256-RlO65QbExBdjEUY66CTlHefRdTZWzZbN4ksibVXxKv4="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0"; hash = "sha256-A01nrs3Ij1eTo6tPmu7++T1K+Wo/H/9LvpeuOUGbQeU="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.2.0"; hash = "sha256-rNR+l+vLtlzTU+F51FpOi4Ujy7nR5+lbTc3NQte8s/o="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.2.1"; hash = "sha256-F8Q4q5MaeyCkAm4rc6dPG1DhH5mZMvGzzyr2Z3AUe8s="; }) - (fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "11.2.0"; hash = "sha256-bbmOWYlVZyQ65BVTYW7BPr++VoM3VwqQLeMzZ6ZnI/o="; }) - (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.2.1"; hash = "sha256-yDCJJ9OkL5EIEXr05pdnOK1p+Yp7YIRJn4MVjLX84kE="; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.2.1"; hash = "sha256-cdMQ03nOT8jL9cnZrntpzfwgMF/dctE9610eXPV60tA="; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.2.1"; hash = "sha256-QsQXXKz8vqKwaijR/fZINXHH7Hripwdm+92i9f1k3Xg="; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.2.1"; hash = "sha256-Y2Zem7GhWFHHUwwDT1qUldUCRt8vWZZXi3Fxq+p/Pdg="; }) - (fetchNuGet { pname = "AvaloniaEdit.TextMate"; version = "11.1.0"; hash = "sha256-Nv52bUxA02VcsKCbMqEAkNBl46gznSivRZ3llLHrhkM="; }) - (fetchNuGet { pname = "Bannerlord.LauncherManager"; version = "1.0.138"; hash = "sha256-U954PUK8oq1mFBqNjONMXi1DYSudT7gjpueWYBIXDdo="; }) - (fetchNuGet { pname = "Bannerlord.LauncherManager.Localization"; version = "1.0.138"; hash = "sha256-i7OhCR6pceJU7xyaY1pi67PLSnyDX5YDCIrbHw1Jcuc="; }) - (fetchNuGet { pname = "Bannerlord.LauncherManager.Models"; version = "1.0.138"; hash = "sha256-mo7Xmj7Ntxgy2/aMzywuyCJ9w/Y1FzbhKOf7fR6ebjw="; }) - (fetchNuGet { pname = "Bannerlord.ModuleManager"; version = "5.0.225"; hash = "sha256-Kpc2iwgylMJ0w8aL5QkmwHnRsfRXzhV5lFxpbEv0OcU="; }) - (fetchNuGet { pname = "Bannerlord.ModuleManager"; version = "6.0.242"; hash = "sha256-nHBchr6mLQNOWEyfPGi4nzspaIviQY4j+fGJkUTN0Bs="; }) - (fetchNuGet { pname = "Bannerlord.ModuleManager.Models"; version = "5.0.221"; hash = "sha256-CWlslG730Ife/Q5ILmNE38IcFikWqlfIqRm6/UwZkzM="; }) - (fetchNuGet { pname = "Bannerlord.ModuleManager.Models"; version = "6.0.242"; hash = "sha256-iRTxQ7VhrYziaAy3jzD7qEXzq6bOM8eIrB6kyZMurkY="; }) - (fetchNuGet { pname = "BenchmarkDotNet"; version = "0.14.0"; hash = "sha256-Ynfhr0OsW0dKp81caryZXcrBJsA2YScuKQOCiLVg1rI="; }) - (fetchNuGet { pname = "BenchmarkDotNet.Annotations"; version = "0.14.0"; hash = "sha256-BKtno0khZ2jZtXF05l9/vsYjbQIqxAimoaSkxyx6L9A="; }) - (fetchNuGet { pname = "BitFaster.Caching"; version = "2.5.2"; hash = "sha256-rZz3zNPt7DB+H5VDpI3nOrh5Nl4XYvU50CJXGfl3+5A="; }) - (fetchNuGet { pname = "BsDiff"; version = "1.1.0"; hash = "sha256-JWmzAE+5k8BeGicl4rQNK3Q5F9+VnBpTtUwlKs72pmI="; }) - (fetchNuGet { pname = "Castle.Core"; version = "5.1.1"; hash = "sha256-oVkQB+ON7S6Q27OhXrTLaxTL0kWB58HZaFFuiw4iTrE="; }) - (fetchNuGet { pname = "CliWrap"; version = "3.6.7"; hash = "sha256-9j3GILP25inLJoQe0E8sF8egVt8ISqEQBGdIShev4Mk="; }) - (fetchNuGet { pname = "ColorDocument.Avalonia"; version = "11.0.3-a1"; hash = "sha256-Pkh5FX+4pBzep5oCCyhIiR559QyFCEb1vrfEgG0wREw="; }) - (fetchNuGet { pname = "ColorTextBlock.Avalonia"; version = "11.0.3-a1"; hash = "sha256-fWJuApxnJLISayQJIKEBVOt/t1Qyj+0s+RezZkMnPio="; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; }) - (fetchNuGet { pname = "coverlet.collector"; version = "6.0.2"; hash = "sha256-LdSQUrOmjFug47LjtqgtN2MM6BcfG0HR5iL+prVHlDo="; }) - (fetchNuGet { pname = "DiffEngine"; version = "15.5.3"; hash = "sha256-oZG++i9oWBJhSPHERAQwVODA0GWtp//r2oHpnjgmCeA="; }) - (fetchNuGet { pname = "DiffPlex"; version = "1.7.2"; hash = "sha256-Vsn81duAmPIPkR40h5bEz7hgtF5Kt5nAAGhQZrQbqxE="; }) - (fetchNuGet { pname = "DynamicData"; version = "8.3.27"; hash = "sha256-iPZfL1x36PLf5Lq96zRFvR5OLcoRn7OdJIao98X8wac="; }) - (fetchNuGet { pname = "DynamicData"; version = "8.4.1"; hash = "sha256-r+haH5VlmZFJTEJ3UedsYybw+oddn/CSvfm6x7PrrQ4="; }) - (fetchNuGet { pname = "DynamicData"; version = "9.0.1"; hash = "sha256-dvo4eSHg8S9oS5QhvfCrbV+y7BVtlYRwH7PN7N1GubM="; }) - (fetchNuGet { pname = "DynamicData"; version = "9.0.4"; hash = "sha256-3pyiJeWRwfaT7p1ArsoR13aI78Jo13aHOEw3BelTS9g="; }) - (fetchNuGet { pname = "EmptyFiles"; version = "8.5.0"; hash = "sha256-mLraPiJa1JiXOWQ17GUp8MWuBNrIjcYYjItQRfMjP8s="; }) - (fetchNuGet { pname = "ExCSS"; version = "4.2.3"; hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I="; }) - (fetchNuGet { pname = "Fare"; version = "2.1.1"; hash = "sha256-n9X3GE2qsT2wpmDymD1AyCYcOoY/c0+t+aIWLiaST70="; }) - (fetchNuGet { pname = "FetchBannerlordVersion"; version = "1.0.6.46"; hash = "sha256-NS3B8XD4Y398dOXUdjstJ8xrZ+WLGHtGBl+Ewj8agh0="; }) - (fetchNuGet { pname = "FetchBannerlordVersion.Models"; version = "1.0.6.46"; hash = "sha256-VgTNwXUHGgtoBoLCcXVGgph5Mf36oYYqhISmEgUQMk8="; }) - (fetchNuGet { pname = "FluentAssertions"; version = "5.0.0"; hash = "sha256-jmGbSHbZhonYWIxqqux8ZOBVY2GNEG9eppNsIn6wEBc="; }) - (fetchNuGet { pname = "FluentAssertions"; version = "6.12.2"; hash = "sha256-yvbnZapTF610zG8YhMOESn0iXudX4xVCdoSKVo6eu+w="; }) - (fetchNuGet { pname = "FluentAssertions.Analyzers"; version = "0.34.1"; hash = "sha256-4n26IoSLJRLxyPDyJwF7T+za5xbHO27qM7CarniTADk="; }) - (fetchNuGet { pname = "FluentAssertions.OneOf"; version = "0.0.5"; hash = "sha256-T/yzpRPwEKh0r6JUPgH2GYkSt36PqOZYr9Qi0grGczo="; }) - (fetchNuGet { pname = "FluentResults"; version = "3.15.2"; hash = "sha256-NhS7sLhgXDAI4Qwb285HWRtPfUDN6K0tTkKx2QRsI9w="; }) - (fetchNuGet { pname = "Fody"; version = "6.8.0"; hash = "sha256-2laYscz0i0LalGTAup7dsh6XlYRZSojYpp8XOwZJJfg="; }) - (fetchNuGet { pname = "FomodInstaller.Interface"; version = "1.0.0"; hash = "sha256-ChhqiNGmj+deuIIYXJWsz7Xmolv9YaeLUlwfothQyjA="; }) - (fetchNuGet { pname = "FomodInstaller.Interface"; version = "1.2.0"; hash = "sha256-sxylVEA7uiaBtxbQHAeRElsVbZPIj2nm27Ozlik8wmg="; }) - (fetchNuGet { pname = "FomodInstaller.Scripting"; version = "1.0.0"; hash = "sha256-GNqbLS+lU6aNThUUCfJpmZgP+rd4lF0fKyfMn2Y7Ckg="; }) - (fetchNuGet { pname = "FomodInstaller.Scripting.XmlScript"; version = "1.0.0"; hash = "sha256-fbekooynf0jQD0k0zbYueDvOTxPa3FIZUKjCcVMPeeY="; }) - (fetchNuGet { pname = "FomodInstaller.Utils"; version = "1.0.0"; hash = "sha256-H0Fc79msO6GhYstzqtZk9ttRcqxtXuDT9v0zQBwDRHI="; }) - (fetchNuGet { pname = "GameFinder"; version = "4.3.3"; hash = "sha256-uJzGa5CAa+6oHuG5gU0TN68biDb7ZQYGgqeW1nGLHQc="; }) - (fetchNuGet { pname = "GameFinder.Common"; version = "4.3.3"; hash = "sha256-0mITSz+9TyknYO8zzvLNB70jWPe5v2Q3sKHPupvGGBk="; }) - (fetchNuGet { pname = "GameFinder.Launcher.Heroic"; version = "4.3.3"; hash = "sha256-3DuhHRGbWeh4Smj0TXitzUsTPbCwHmtZsk3e+CVZHHA="; }) - (fetchNuGet { pname = "GameFinder.RegistryUtils"; version = "4.3.3"; hash = "sha256-bd6qpOthn4ljNpwQi7pdVe5P1EN8DnXbyKyR4PnSxJk="; }) - (fetchNuGet { pname = "GameFinder.StoreHandlers.EADesktop"; version = "4.3.3"; hash = "sha256-jvh672wPSH0T4W6dJHdvMGJi93LWDJBefcVFrkxT6hI="; }) - (fetchNuGet { pname = "GameFinder.StoreHandlers.EGS"; version = "4.3.3"; hash = "sha256-IKDDTnCor3G7HdsVjo0wYNJQjBoQjQ+a+MgjnGVOaek="; }) - (fetchNuGet { pname = "GameFinder.StoreHandlers.GOG"; version = "4.3.3"; hash = "sha256-76+W+wi33ms0Xm5OCXQBmHCAilWRaA/OMd343vkkhc0="; }) - (fetchNuGet { pname = "GameFinder.StoreHandlers.Origin"; version = "4.3.3"; hash = "sha256-Ss48fc+19RqhjkEP0tld5Eui65XwECFeAMu+126JCo4="; }) - (fetchNuGet { pname = "GameFinder.StoreHandlers.Steam"; version = "4.3.3"; hash = "sha256-EQxtM7k459MfHL0Z2Li45jWji6CgGvpJbJbJv8zXVc4="; }) - (fetchNuGet { pname = "GameFinder.StoreHandlers.Xbox"; version = "4.3.3"; hash = "sha256-uzIPKS3O/uxqXZMysZfgRlQaDUSUhj1y9hCKAwwhK0g="; }) - (fetchNuGet { pname = "GameFinder.Wine"; version = "4.3.3"; hash = "sha256-aEFkI7UVHsipCxdvHq3P+mrThgYdrFhpK6EbyFYqU6Y="; }) - (fetchNuGet { pname = "Gee.External.Capstone"; version = "2.3.0"; hash = "sha256-wdYT/F8SLL72OIVv/Q/hfLMfhlWMnhDNCTWx+wWlPoU="; }) - (fetchNuGet { pname = "GitHubActionsTestLogger"; version = "2.4.1"; hash = "sha256-bY8RXB3fIsgYIrlLeEuq8dsOfIn8zcbZ0dj2Ra1sFZg="; }) - (fetchNuGet { pname = "Google.Protobuf"; version = "3.22.5"; hash = "sha256-KuPCqobX6vE9RYElAN9vw+FPonFipms7kE/cRDCLmSQ="; }) - (fetchNuGet { pname = "Grpc.Core.Api"; version = "2.52.0"; hash = "sha256-ISgN3zWwvV8qD7JFkaYveLbke09+UtUBy3Tux+ZHLNc="; }) - (fetchNuGet { pname = "Grpc.Net.Client"; version = "2.52.0"; hash = "sha256-4Rhb8PIoV2BiohfRwzx1GYDPbcfqxGAmL2uB0atFFTk="; }) - (fetchNuGet { pname = "Grpc.Net.Common"; version = "2.52.0"; hash = "sha256-XoY+jt+JIt6SzvCjUSXKKa9Q8Bu5UrNJv2z1hCBKDrY="; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0.2"; hash = "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0.2"; hash = "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0.2"; hash = "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0.3-preview.2.2"; hash = "sha256-1NlcTnXrWUYZ2r2/N3SPxNIjNcyIpiiv3g7h8XxpNkM="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0.2"; hash = "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="; }) - (fetchNuGet { pname = "HotChocolate.Language.SyntaxTree"; version = "14.1.0"; hash = "sha256-4cRFDfLW+A0378BZ0wzPrc7FOiuTdCtlA4gyitSrhiI="; }) - (fetchNuGet { pname = "HotChocolate.Transport.Abstractions"; version = "14.1.0"; hash = "sha256-i8i4ovnxHcFRrnU/a3U01izWEa+OsOjxgLDRq7wo1vs="; }) - (fetchNuGet { pname = "HotChocolate.Transport.Http"; version = "14.1.0"; hash = "sha256-e5VoAtmieIhNvhtGMnmPXqYAZE9SrXlfyJmDKF7LBJo="; }) - (fetchNuGet { pname = "HotChocolate.Utilities"; version = "14.1.0"; hash = "sha256-KIYlc1jDG1BT6gZGZoei6ypHXZo9I3dN4zM/NpDWJuI="; }) - (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.70"; hash = "sha256-V/SI2N1+jNkwjSQRd2Y/XVVhdOKvSNz3/NeIFE9V3wY="; }) - (fetchNuGet { pname = "Humanizer"; version = "2.14.1"; hash = "sha256-1wGwf5KAmDeiH0Dz8KcTdZw+UMkiNsjKOIOt/VJnnqE="; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.2.0"; hash = "sha256-5Q6oRaV8wHPONHreKvB74VjV2FW36mwC3n+05It5vyI="; }) - (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.14.1"; hash = "sha256-8CCgI7OweSa53cZWZBXQ8a7VVt/NPP16zHVBZvzU9KQ="; }) - (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.14.1"; hash = "sha256-JRoP+brQgYBZI8OccH/jaM1Z482ZWBiqU2XL3KsIPw8="; }) - (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.14.1"; hash = "sha256-ubwkbes9zrrisuXTcT4ZgOAiFsUieC6OLd4pgzxsE40="; }) - (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.14.1"; hash = "sha256-Xv6DP1xxxGVUfP44TZasWpxgQ/DkriljvmIMtHf+nGk="; }) - (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.14.1"; hash = "sha256-6JpReIc3fkExvJIXzk6fUw56wJ78aTEg1dWQ6o+dQow="; }) - (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.14.1"; hash = "sha256-MGL86KxSbz0PkDo9+NRj6h1fDjPZXlxAtYNf0Zreg/4="; }) - (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.14.1"; hash = "sha256-Gpw8kJbgz0KQS2mGY5tmrHqpgUO4abD7dSKIy//ONYM="; }) - (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.14.1"; hash = "sha256-Eswv8aEQoxI9MZr2CvWtBUn5X9JRZTWQjRzHJkGj80g="; }) - (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.14.1"; hash = "sha256-wCK2Uy/AV6FxPUSUM0NMbV14pAP+ss25AaVAHMQIeJA="; }) - (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.14.1"; hash = "sha256-iEHiQXKwg0ABDxh//HSrzwaVOlilQBFI96+GYzzTMwQ="; }) - (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.14.1"; hash = "sha256-2Js7k3nvwJvxAjq3yoLn7PUY2S8+vXfgESwU4SbvjaA="; }) - (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.14.1"; hash = "sha256-jOWo43r3dhiBsV9cCoDfqK/YqWj5LejZsnfkG6mlkpA="; }) - (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.14.1"; hash = "sha256-WCbA+f4B3g/ml7KrkHkzpU2Fj38HtWc/ujoVY5F3lk4="; }) - (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.14.1"; hash = "sha256-GydVmoEy+lwEQ1nM39QXSRhYNchqM47p7qhUEimN4Cw="; }) - (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.14.1"; hash = "sha256-MMf3qjJ+yzxjMxOR7wMWf+eErxWLqpsdWKFhjNCOsyM="; }) - (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.14.1"; hash = "sha256-kBv2I9ns6L6D4XfXfyZS1VM6+YwF4yUkCmCA5zqvsok="; }) - (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.14.1"; hash = "sha256-vRje+kxqOsl1JCXAE0yDKvauUumzuEhNcnhNsdIdgVM="; }) - (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.14.1"; hash = "sha256-UL7PsK4msT5c96lk70/bVAxN63B71l8VOFtvuJQH9a0="; }) - (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.14.1"; hash = "sha256-nIl64gCuZh4D527qI2hfQRvzt1mTJUCDGMIZwpS3C/A="; }) - (fetchNuGet { pname = "Humanizer.Core.is"; version = "2.14.1"; hash = "sha256-38vUQ1aVtlhK15kP9ZlDO0Nl0DcOA5iHx6F2SPN1gYM="; }) - (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.14.1"; hash = "sha256-4ne0VRNi9OAj3bGCQgCy1BNYKMizoHykJ/lchmCsWdc="; }) - (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.14.1"; hash = "sha256-oAilMM8J6LumV6qv3gSIBNTm7u2L4vV38cQXtME3PhM="; }) - (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.14.1"; hash = "sha256-b70HQl2IWVPATtaYGDyJ+Z6ioPtrM53vXzfTCHYgxpQ="; }) - (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.14.1"; hash = "sha256-8LiEH7MaapMtkHFMj7Y3pG+g0QYuIa5gD3VR9nYQn+k="; }) - (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.14.1"; hash = "sha256-zyCsE5cD++u5shNIqCQUd+66FkUWOl+NfFrs2JduCaQ="; }) - (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.14.1"; hash = "sha256-pSdZLUi9oWo78nBh2DJunPhDR7THdZSZP0msCVbPsrY="; }) - (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.14.1"; hash = "sha256-mkX2reEvNpx9w6gtZw+6bkrnj3Di1qgVDMr9q0IeKCw="; }) - (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.14.1"; hash = "sha256-QvYJHqjO/SrelWYgtm8Sc7axs7J8wbJE+GbTgVw5LYs="; }) - (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.14.1"; hash = "sha256-YW8y2XkmHjwqf2fztNB3rsn3+CgslF1TclITwp0fA9g="; }) - (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.14.1"; hash = "sha256-bQM7aXNQMBY+65NfMVQz/xYz9Ad2JC+ryXoB4lcYgmA="; }) - (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.14.1"; hash = "sha256-IrPxHI4uQvBeMM9/8PaNueKwVkbN+1zFQlNWRjNfXEA="; }) - (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.14.1"; hash = "sha256-XrlC15HNJFmDwLpHIUHb3Bec9A79msQCRB9Dvz8w4l0="; }) - (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.14.1"; hash = "sha256-llXtfq4Tr5V2Q4dVD7J0IKITtpiWrFs50DAtJhcSuRI="; }) - (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.14.1"; hash = "sha256-lD0dB3mkbFfGExwVWZk6fv24MyQQ8Cdv5OrleuZeChg="; }) - (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.14.1"; hash = "sha256-EmyE+wssZwY6tAuEiFXGn5/yzVMZe7QEuTjOcByOXaA="; }) - (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.14.1"; hash = "sha256-sWWxh7KZ8Y3Ps6GbBOHbU2GMsNZfkM+BOnUChf3fz4s="; }) - (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.14.1"; hash = "sha256-/bA3LULRFn5WYmCscr5R5vaFRjeHC0xjNiF7PXEJ8r0="; }) - (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.14.1"; hash = "sha256-43+o6oj0UNRJKiFoh57MGPSzlsWAq0eRtzlCrewDmVM="; }) - (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.14.1"; hash = "sha256-9lXrHveKDs1y/W3Qxd+MVcohhKEU7zNPx21GBVPp/rA="; }) - (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.14.1"; hash = "sha256-ldCsXINSvL2xom0SCtVQy+qX1IN5//EUoyIOwXiJ3k8="; }) - (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.14.1"; hash = "sha256-VZnO1vMXiR7egKEKJ6lBsj7eNgxhFzakFWsYYRW4u2U="; }) - (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.14.1"; hash = "sha256-rdvleUrKbj3c06A0O2MkgAZLtXLro9SPB1YqAGE1Vyg="; }) - (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.14.1"; hash = "sha256-Qso1Iz9MTLs63x4F00kK31TZAN4AoFaFsuVzM+1z38k="; }) - (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.14.1"; hash = "sha256-sVnkZTuEaHfMJIAZmSCqsspnKkYxK9eVBQZnAAqHNW4="; }) - (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.14.1"; hash = "sha256-5wDt72+HdNN3mt/iJkxV9LaH13Jc1qr1vB4Lz8ahIPs="; }) - (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.14.1"; hash = "sha256-Z3qfFWyovcVT4Hqy51lgW2xGwyfI//Yfv90E0Liy1sw="; }) - (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.14.1"; hash = "sha256-BTGkMEkQYJKRp858EU7hwNOdsHRT+w6vAMa6H8JIyX4="; }) - (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.14.1"; hash = "sha256-N3D1z5aoGwAZ6+ZxrWMtXgacvQcgDG+aLrQQI9uysmM="; }) - (fetchNuGet { pname = "Iced"; version = "1.17.0"; hash = "sha256-6/5E5v5mqSG7yiE2zHUChZZeC47NRgLzQFD4+7bqKaU="; }) - (fetchNuGet { pname = "ini-parser-netstandard"; version = "2.5.2"; hash = "sha256-idb2hvuDlxl83x0yttGHnTgEQmwLLdUT7QfMeGDXVJE="; }) - (fetchNuGet { pname = "JetBrains.Annotations"; version = "2024.3.0"; hash = "sha256-BQYhE7JDJ9Bw588KyWzOvQFvQTiRa0K9maVkI9lZgBc="; }) - (fetchNuGet { pname = "K4os.Compression.LZ4"; version = "1.3.7-beta"; hash = "sha256-mMNIMLSXnKFF3oAgX+k/n0wipxyRDGE1z2BrI2+7ALc="; }) - (fetchNuGet { pname = "K4os.Compression.LZ4"; version = "1.3.8"; hash = "sha256-OmT3JwO4qpkZDL7XqiFqZCyxySj64s9t+mXcN1T+IyA="; }) - (fetchNuGet { pname = "LinqGen"; version = "0.3.1"; hash = "sha256-Yyt1uShHigHVCIjPT8jL2Kth9L9yq1MGrCM5w2+tj9o="; }) - (fetchNuGet { pname = "LiveChartsCore"; version = "2.0.0-rc2"; hash = "sha256-JSw2bwHOvUDx+axSufcvKSD9RPmqi366tbiIcsym3As="; }) - (fetchNuGet { pname = "LiveChartsCore.SkiaSharpView"; version = "2.0.0-rc2"; hash = "sha256-tKBTT75B77po0jDqWJL0mOzXkCKmHAGPlQV3biKtZdw="; }) - (fetchNuGet { pname = "LiveChartsCore.SkiaSharpView.Avalonia"; version = "2.0.0-rc2"; hash = "sha256-pHMtCkoz4sz2MLlVGFbFwwONLC3vzy+9Cg0OmEJ+f/s="; }) - (fetchNuGet { pname = "Magick.NET-Q16-AnyCPU"; version = "14.0.0"; hash = "sha256-hsFqy7F1s9pO3SWnOuKc4AWEoG7fR8CKSkjfo7pKvzY="; }) - (fetchNuGet { pname = "Magick.NET.Core"; version = "14.0.0"; hash = "sha256-mwh8d7qmM7m6IbnLSPNq8ZMcD24/1ypM3Gdf6GZm0ao="; }) - (fetchNuGet { pname = "Markdown.Avalonia.Tight"; version = "11.0.3-a1"; hash = "sha256-KkRzr8BXmUCGCVv/64gg1aiXHUY0yGj5t12OsYAidcw="; }) - (fetchNuGet { pname = "MartinCostello.Logging.XUnit"; version = "0.3.0"; hash = "sha256-RhcRcww2ZYaB1ZZ/qRN95fMffcsfqP4EKLVeR4+5S9A="; }) - (fetchNuGet { pname = "MemoryPack"; version = "1.21.3"; hash = "sha256-x0riT7EvbuyX91wq9PIEwDQe1aiBrYD9R9Io16JvprM="; }) - (fetchNuGet { pname = "MemoryPack.Core"; version = "1.21.3"; hash = "sha256-99ys+oZfBxcmal9PE14bxmR+svGk+J3FqAzxG7qVOHg="; }) - (fetchNuGet { pname = "MemoryPack.Generator"; version = "1.21.3"; hash = "sha256-TdbsUp0jB/1T4nU1dHS25iizpXLXJ0KWzqo3skMV6KE="; }) - (fetchNuGet { pname = "MemoryPack.Streaming"; version = "1.21.3"; hash = "sha256-WWJx+aMHnjKVPrOSt0QE0iFh/rNhZCCbUrnww3HdqfI="; }) - (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) - (fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "6.0.0"; hash = "sha256-lNL5C4W7/p8homWooO/3ZKDZQ2M0FUTDixJwqWBPVbo="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.WebUtilities"; version = "8.0.0"; hash = "sha256-e4wqTJUgPfq6CfRwuXTw32K9vB+hOpSLxSZDpzv23Yg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.WebUtilities"; version = "9.0.0"; hash = "sha256-LFyhPIJNZLBqOEF4uZ1SpqN/NhjpCHqhzO4R2ApXuj0="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; hash = "sha256-QYVojfqSZKbF8P6D/aacfxfumMaRUD9SEEQbzw73Bbc="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; hash = "sha256-fAcX4sxE0veWM1CZBtXR/Unky+6sE33yrV7ohrWGKig="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "8.0.0"; hash = "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzer.Testing"; version = "1.1.2"; hash = "sha256-NeOzfN/9WiX/GsZicQ+oDUuPrZgrxTcP8w7kszAKaaY="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; hash = "sha256-pkZiggwLw8k+CVSXKTzsVGsT+K49LxXUS3VH5PNlpCY="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; hash = "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "1.0.1"; hash = "sha256-jjWtdrHSISgBF1m94P0DsVbQa4YxKnf2CWRWYHQLTG8="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.1.0"; hash = "sha256-g3RLyeHfdOOF6H89VLJi06/k8/eJ6j2dgNYZ/MBdfNU="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.11.0"; hash = "sha256-cX/xgM0VmS+Bsu63KZk2ofjFOOy1mzI+CCVEY6kI+Qk="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.8.0"; hash = "sha256-3IEinVTZq6/aajMVA8XTRO3LTIEt0PuhGyITGJLtqz4="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.1.0"; hash = "sha256-pM9WXvxZI3SS89CGVjxqtAyZyfyiZQzW0UnNCDiQrQA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.11.0"; hash = "sha256-E9jEOjp9g/CFecsc5/QfRKOPXMRpSw0Tf79XsRgL+Mk="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.8.0"; hash = "sha256-MmOnXJvd/ezs5UPcqyGLnbZz5m+VedpRfB+kFZeeqkU="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing"; version = "1.1.2"; hash = "sha256-WkdcHsqrFQnXEkcuyWPIPybY25QDzpMEem9KflPwFn0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing.XUnit"; version = "1.1.2"; hash = "sha256-wYCDZopLucktDQpzACb/BTj+t4arpFuqUEAKxfjLk7U="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "3.8.0"; hash = "sha256-i6PTXkHepgTXseFFg57iRh5thKtKYc9CH11y/qzDy8k="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.8.0"; hash = "sha256-WNzc+6mKqzPviOI0WMdhKyrWs8u32bfGj2XwmfL7bwE="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.SourceGenerators.Testing"; version = "1.1.2"; hash = "sha256-5npL4J8jxcBTmNBT9k3CNeGT0lIWfmWBVXwzEiqRypg="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Testing.Verifiers.XUnit"; version = "1.1.2"; hash = "sha256-lwRXcej7nA6sa/Ss4HwDBgiMG3NTBx9peiLxn4l0Wrk="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "1.0.1"; hash = "sha256-/SYPkq5LhOoEWi+rcBZDyQL2U0cQk2YrykNJODrRLVs="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "3.8.0"; hash = "sha256-3D7xV3V1WsUU9OMMEOj+z9GouCDKXSBC4Z/Szs/OcWE="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.8.0"; hash = "sha256-X8R4SpWVO/gpip5erVZf5jCCx8EX3VzIRtNrQiLDIoM="; }) - (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.11.1"; hash = "sha256-1dLlK3NGh88PuFYZiYpT+izA96etxhU3BSgixDgdtGA="; }) - (fetchNuGet { pname = "Microsoft.Composition"; version = "1.0.27"; hash = "sha256-G/3p3zxOWC8HqLt7Ll5cqN7507F6N/G6G/HzKazQRdE="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.251802"; hash = "sha256-9ZH4rrfACzJP5oiarDW4cD2nczv1SNgZr4GW1J9hlUA="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.Runtime"; version = "2.2.332302"; hash = "sha256-5R9xK0owZEhXsucqPKnPaTiwhXBnLo92L2AY7IjyxNg="; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; version = "3.1.8"; hash = "sha256-JFrNrQrXjOJI7v4MpQEDMfmfndM4ThtDZkATAGin9lE="; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; hash = "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.AmbientMetadata.Application"; version = "9.0.0"; hash = "sha256-1cEpOtFLK7J9Hnq28Av+pdKaYjRldWVNRD2zhBsbWps="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Compliance.Abstractions"; version = "9.0.0"; hash = "sha256-Se92b6d4EEpL9HCD0OwFRlRSGM64+U4PVEid9ncuAqk="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "9.0.0"; hash = "sha256-uBLeb4z60y8z7NelHs9uT3cLD6wODkdwyfJm6/YZLDM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "9.0.0"; hash = "sha256-xtG2USC9Qm0f2Nn6jkcklpyEDT3hcEZOxOwTc0ep7uc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "9.0.0"; hash = "sha256-6ajYWcNOQX2WqftgnoUmVtyvC1kkPOtTCif4AiKEffU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; hash = "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "9.0.0"; hash = "sha256-RE6DotU1FM1sy5p3hukT+WOFsDYJRsKX6jx5vhlPceM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; hash = "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "9.0.0"; hash = "sha256-tDJx2prYZpr0RKSwmJfsK9FlUGwaDmyuSz2kqQxsWoI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "9.0.0"; hash = "sha256-PsLo6mrLGYfbi96rfCG8YS1APXkUXBG4hLstpT60I4s="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "9.0.0"; hash = "sha256-qQn7Ol0CvPYuyecYWYBkPpTMdocO7I6n+jXQI2udzLI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "8.0.0"; hash = "sha256-/yj5QaEzeRStvOFoBpPRPXlEehGtr2E6/rJb+OEPIK8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "9.0.0"; hash = "sha256-GoEk+Qq7lbiwWurHYx1LkDaUzIpOzaoTiVGDPfViGak="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "9.0.0"; hash = "sha256-dAH52PPlTLn7X+1aI/7npdrDzMEFPMXRv4isV1a+14k="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; hash = "sha256-H1rEnq/veRWvmp8qmUsrQkQIcVlKilUNzmmKsxJ0md8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.1"; hash = "sha256-lzTYLpRDAi3wW9uRrkTNJtMmaYdtGJJHdBLbUKu60PM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.2"; hash = "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "9.0.0"; hash = "sha256-CncVwkKZ5CsIG2O0+OM9qXuYXh3p6UGyueTHSLDVL+c="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.AutoActivation"; version = "9.0.0"; hash = "sha256-45NiMtCHV4BDkwnSZmsTRJ8dHMDm5WAGhJh4x+z7TiM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; hash = "sha256-fBLlb9xAfTgZb1cpBxFs/9eA+BlBvF8Xg0DMkBqdHD4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "9.0.0"; hash = "sha256-JMbhtjdcWRlrcrbgPlowfj26+pM+MYhnPIaYKnv9byU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; hash = "sha256-USD5uZOaahMqi6u7owNWx/LR4EDrOwqPrAAim7iRpJY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "9.0.0"; hash = "sha256-wG1LcET+MPRjUdz3HIOTHVEnbG/INFJUqzPErCM79eY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.ExceptionSummarization"; version = "9.0.0"; hash = "sha256-Nj8l1ba5iZ5Tubu+vY3a5dgTRkYmGNP2wtXC8Re8aCg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "9.0.0"; hash = "sha256-mVfLjZ8VrnOQR/uQjv74P2uEG+rgW72jfiGdSZhIfDc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "9.0.0"; hash = "sha256-IzFpjKHmF1L3eVbFLUZa2N5aH3oJkJ7KE1duGIS7DP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "9.0.0"; hash = "sha256-eBLa8pW/y/hRj+JbEr340zbHRABIeFlcdqE0jf5/Uhc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "8.0.0"; hash = "sha256-sKHa+w4/pMeQb5RRFqLtMTUJy5H6hSIGWchbH2pxSrg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "9.0.0"; hash = "sha256-apIN4Cz86ujsMp/ibxcvguA9uCFaFqOsZ4kAUPX5ASI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; hash = "sha256-0JBx+wwt5p1SPfO4m49KxNOXPAzAU0A+8tEc/itvpQE="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "9.0.0"; hash = "sha256-NhEDqZGnwCDFyK/NKn1dwLQExYE82j1YVFcrhXVczqY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "8.0.0"; hash = "sha256-UgljypOLld1lL7k7h1noazNzvyEHIJw+r+6uGzucFSY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "9.0.0"; hash = "sha256-MsStH3oUfyBbcSEoxm+rfxFBKI/rtB5PZrSGvtDjVe0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Http.Diagnostics"; version = "9.0.0"; hash = "sha256-4XtkhRMXTFR1I85rJ73BFa01XDRW/fz4+Jig0S/Wm3M="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Http.Resilience"; version = "9.0.0"; hash = "sha256-GFGvnupmgvTgbmknxpF7H3DmxqvX9JOdxKuK2lR6bVM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.0.0"; hash = "sha256-Bg3bFJPjQRJnPvlEc5v7lzwRaUTzKwXDtz81GjCTfMo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.1.1"; hash = "sha256-HnEBmAhweBalCAeX+KZ4kEL3GXEVDBg6Uq4H4LJ56oo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "9.0.0"; hash = "sha256-kR16c+N8nQrWeYLajqnXPg7RiXjZMSFLnKLEs4VfjcM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.0.0"; hash = "sha256-cBBNcoREIdCDnwZtnTG+BoAFmVb71P1nhFOAH07UsfQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.0.3"; hash = "sha256-UFawgCAhbN5HCtJy39XO4sz5N/P/Zyrs0uqrQHc4SPI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.1"; hash = "sha256-v3FWpuKXlBIW5NwqQx0Ffb6y58RlevIyO/byqeLphJ8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "9.0.0"; hash = "sha256-iBTs9twjWXFeERt4CErkIIcoJZU1jrd1RWCI8V5j7KU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "9.0.0"; hash = "sha256-ysPjBq64p6JM4EmeVndryXnhLWHYYszzlVpPxRWkUkw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "9.0.0"; hash = "sha256-N2t9EUdlS6ippD4Z04qUUyBuQ4tKSR/8TpmKScb5zRw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "8.0.0"; hash = "sha256-AJunzYBZM2wCg86hnPnMrBuWIIyW/4PnIVoDSU969cA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "9.0.0"; hash = "sha256-5W6fP9Eb98U3MTWKeLzSNl2cRFpE694OOPjpWp/qTAk="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "8.0.0"; hash = "sha256-vXBm4yhWGP4uow0CqstuqOkxO8yeZEM15JTTenjPbhc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "9.0.0"; hash = "sha256-mIL1I85Ef5+/mXl24odoUpcXet+jCZTRtKCd5z6YUwI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "8.0.0"; hash = "sha256-kaR7YOlq5s8W9nZDtH/lKtnfGbrgOuQY4DUPcA2lcj0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "9.0.0"; hash = "sha256-pplZskMsR3gGbs3I0wycGsvIMPIpfWFJpOsR9GkiYRw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "8.0.0"; hash = "sha256-FxFr5GC0y6vnp5YD2A2vISXYizAz3k/QyrH7sBXP5kg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "9.0.0"; hash = "sha256-mX2Y2bHwScjXh1xQOweawmwo7jYLw+MhePibk/96dMY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; hash = "sha256-EMvaXxGzueI8lT97bYJQr0kAj1IK0pjnAcWN82hTnzw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "9.0.0"; hash = "sha256-DT5euAQY/ItB5LPI8WIp6Dnd0lSvBRP35vFkOXC68ck="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "9.0.0"; hash = "sha256-r1Z3sEVSIjeH2UKj+KMj86har68g/zybSqoSjESBcoA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "9.0.0"; hash = "sha256-ZNLusK1CRuq5BZYZMDqaz04PIKScE2Z7sS2tehU7EJs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Resilience"; version = "9.0.0"; hash = "sha256-3zd2zOR8C3+VaPpUnJ+wcCaBbvzU8DjGGuaZ/dxsqQQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Telemetry"; version = "9.0.0"; hash = "sha256-MKltsZC6s7sE8mO1XpOOzgFbp3CJS7sHGMH92DjXSso="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Telemetry.Abstractions"; version = "9.0.0"; hash = "sha256-rGeoVSc3RJlhL8Sv8CgDh2+BOiFHllKl2K9vtXxl+Ec="; }) - (fetchNuGet { pname = "Microsoft.IO.RecyclableMemoryStream"; version = "3.0.0"; hash = "sha256-WBXkqxC5g4tJ481sa1uft39LqA/5hx5yOfiTfMRMg/4="; }) - (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "9.0.0"; hash = "sha256-fJ42UoMaftaGZbMA5LlGhZNns1hQY2eLkw6EEeCYcAQ="; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.11.1"; hash = "sha256-0JUEucQ2lzaPgkrjm/NFLBTbqU1dfhvhN3Tl3moE6mI="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "8.0.0"; hash = "sha256-AfUqleVEqWuHE7z2hNiwOLnquBJ3tuYtbkdGMppHOXc="; }) - (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "8.0.0"; hash = "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.10.0"; hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.11.1"; hash = "sha256-5vX+vCzFY3S7xfMVIv8OlMMFtdedW9UIJzc0WEc+vm4="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.11.1"; hash = "sha256-wSkY0H1fQAq0H3LcKT4u7Y5RzhAAPa6yueVN84g8HxU="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Composition"; version = "16.1.8"; hash = "sha256-yFT4t3Uk31R5EPdAxxsTAmRuiv58MlYoYL4JT1ywlHQ="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Composition.NetFxAttributes"; version = "16.1.8"; hash = "sha256-FFemIG+m8RWUPo5W+kCHPh5Yn4fGS+tpjGiQTcT0sAE="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.10.48"; hash = "sha256-WL8c7TjDBHGjsVLMMPf9cin8rirzOdxusEBQlkUfiVU="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.10.48"; hash = "sha256-EvZGbyxtrJDvHZwsQbZDXtVfWiy0f58oCdTdSzD34wI="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "15.0.82"; hash = "sha256-7JFaA/HZHVjsEtTh/iHDRLi5RcuA39KKvvCkuI4JQFc="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.8.8"; hash = "sha256-sB8GLRiJHX3Py7qeBUnUANiDWhyPtISon6HQs+8wKms="; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.4.0"; hash = "sha256-ZumsykAAIYKmVtP4QI5kZ0J10n2zcOZZ69PmAK0SEiE="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; }) - (fetchNuGet { pname = "Nerdbank.FullDuplexStream"; version = "1.1.12"; hash = "sha256-PZwy+qQ8nOdH5gRRQ24go2yh+YmZQhziwbyWC+1qoJc="; }) - (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.11.79"; hash = "sha256-1bzibVcSH8LJMR8Nb6Q0q/7fieTgxRnVY4C1RvRbrrI="; }) - (fetchNuGet { pname = "NetEscapades.EnumGenerators"; version = "1.0.0-beta07"; hash = "sha256-SYIuk1B2birutYx6d0vbCshEd8ZEH0pDVrNm9daBxwY="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; hash = "sha256-ExWI1EKDCRishcfAeHVS/RoJphqSqohmJIC/wz3ZtVo="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.1"; hash = "sha256-4Xf3RZrJomAh3jaZrEAJX3oPmOowGV8yDB9Y3h0Dw4U="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; hash = "sha256-ZUj6YFSMZp5CZtXiamw49eZmbp1iYBuNsIKNnjxcRzA="; }) - (fetchNuGet { pname = "NexusMods.Archives.Nx"; version = "0.6.1"; hash = "sha256-NDUxypEccSlGBG9nYTJJiTqYrZWjSjV1xt/uUbtfeS8="; }) - (fetchNuGet { pname = "NexusMods.Hashing.xxHash3"; version = "3.0.3"; hash = "sha256-lhuuHZvH1klH6HE00h1On6icd6CLdFqvLLkfb3x1VVY="; }) - (fetchNuGet { pname = "NexusMods.Hashing.xxHash3.Paths"; version = "3.0.3"; hash = "sha256-UeOX3Y8MGmAgWHWH3GolsA/MyNM9iam75pxxRXhd50M="; }) - (fetchNuGet { pname = "NexusMods.MnemonicDB"; version = "0.9.97"; hash = "sha256-b0k/hM6UYvMTZN2QMk53QN9Fw/pomXJ88k9QqfrAF+s="; }) - (fetchNuGet { pname = "NexusMods.MnemonicDB.Abstractions"; version = "0.9.97"; hash = "sha256-EnWQMeXMKwziMoBXKf7t+Ru6EHZBml4Pt3h1eSP1Ud0="; }) - (fetchNuGet { pname = "NexusMods.MnemonicDB.SourceGenerator"; version = "0.9.97"; hash = "sha256-KOZVhS3H/qY6bRW9HmSF1Ud4fXv5oEWORDdYET9Ochw="; }) - (fetchNuGet { pname = "NexusMods.Paths"; version = "0.10.0"; hash = "sha256-tzUKPBrGNyZvVgScDAP0qvVF5nV6635v3NlBvzpnz1M="; }) - (fetchNuGet { pname = "NexusMods.Paths"; version = "0.15.0"; hash = "sha256-No2kbrDVmJ5ySLm7jH+gNAfNLVnsv4AtLT1phcuOFLc="; }) - (fetchNuGet { pname = "NexusMods.Paths.Extensions.Nx"; version = "0.15.0"; hash = "sha256-8QT+Iu32u4m5wqMG2bAqramnUQPLDmUB8/c+ew4fRqM="; }) - (fetchNuGet { pname = "NexusMods.Paths.TestingHelpers"; version = "0.15.0"; hash = "sha256-xUZIAND1Ob0SRuoTTuJqw7N2j/4ncIlck3lgfeWxd5M="; }) - (fetchNuGet { pname = "NLog"; version = "5.3.4"; hash = "sha256-Cwr1Wu9VbOcRz3GdVKkt7lIpNwC1E4Hdb0g+qEkEr3k="; }) - (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.14"; hash = "sha256-Ckb3z1Ou5dAncADgylCu7yOGfQ7Vh47Oc48PInAi1lA="; }) - (fetchNuGet { pname = "Noggog.CSharpExt"; version = "2.67.3"; hash = "sha256-UjONR5k+miASf4OxLPF9fccYLkfRJsVnktmvvEQDzUc="; }) - (fetchNuGet { pname = "NSubstitute"; version = "5.3.0"; hash = "sha256-fa6Hn9Qmpia2labWOs1Xp2LnJBOHfrWIwxvqKRRccs0="; }) - (fetchNuGet { pname = "NSubstitute.Analyzers.CSharp"; version = "1.0.17"; hash = "sha256-HyMhNJMze3ALJbl71pprjuLCqS+KLA/bOeX4Sng/eb4="; }) - (fetchNuGet { pname = "NuGet.Common"; version = "6.3.4"; hash = "sha256-GDzEyx9/wdVOUAri94uoDjChmfDnBhI90nBfzoHarts="; }) - (fetchNuGet { pname = "NuGet.Configuration"; version = "6.3.4"; hash = "sha256-qXIONIKcCIXJUmNJQs7MINQ18qIEUByTtW5xsORoZoc="; }) - (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.3.4"; hash = "sha256-zqogus3HXQYSiqfnhVH2jd2VZXa+uTsmaw/uwD8dlgY="; }) - (fetchNuGet { pname = "NuGet.Packaging"; version = "6.3.4"; hash = "sha256-1LKM5vgfNKn8v2LcqialwmcynACISR57q13n7I2lQbU="; }) - (fetchNuGet { pname = "NuGet.Protocol"; version = "6.3.4"; hash = "sha256-j3L4bDzM+0/U4dm9q914DNpOzPpOPWhaolfOFKosdAQ="; }) - (fetchNuGet { pname = "NuGet.Resolver"; version = "6.3.4"; hash = "sha256-rXYXgdJMtwne3skk4jMgqyZlwh3QCTX9hIHvvXafxUM="; }) - (fetchNuGet { pname = "NuGet.Versioning"; version = "6.3.4"; hash = "sha256-6CMYVQeGfXu+xner3T3mgl/iQfXiYixoHizmrNA6bvQ="; }) - (fetchNuGet { pname = "ObservableCollections"; version = "3.3.2"; hash = "sha256-pM/2bPf2QvgOhkqA/cSpd/0jAqhOXrtLn01WWZiuoGc="; }) - (fetchNuGet { pname = "ObservableCollections.R3"; version = "3.3.2"; hash = "sha256-q/Ch2JW4H/CvE0oFxmqQDKbgQVo1HfHmtuhMrnFQSEU="; }) - (fetchNuGet { pname = "OneOf"; version = "2.1.125"; hash = "sha256-3XkBNSEMwlNyNpY/H2gtJ47Mc7905p/CJH9d/VJyO3s="; }) - (fetchNuGet { pname = "OneOf"; version = "3.0.271"; hash = "sha256-tFWy8Jg/XVJfVOddjXeCAizq/AUljJrq6J8PF6ArYSU="; }) - (fetchNuGet { pname = "OneOf.Extended"; version = "2.1.125"; hash = "sha256-wJaz49zNFzZwSpMTeabEoJR65Kvk7NCrAqyTKxjfFkg="; }) - (fetchNuGet { pname = "Onigwrap"; version = "1.0.6"; hash = "sha256-p+dhMfIH4C6xLKRUREnUpC0DZwFazjvI+30KRT8TWnU="; }) - (fetchNuGet { pname = "OpenTelemetry"; version = "1.10.0"; hash = "sha256-ucUy3vIabYb0TGDhraqMEzT+LLPmXrO1NgAjEeyVCO8="; }) - (fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.10.0"; hash = "sha256-ZSpQFnNgkk3dO8Q7yokJ/VSl4wp5PuIv9nduxgC6UxU="; }) - (fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.10.0"; hash = "sha256-hLw3Sf1fviAlVJYhaMudVJEdG5pjX5JvVrqv9DgYAk8="; }) - (fetchNuGet { pname = "OpenTelemetry.Exporter.OpenTelemetryProtocol"; version = "1.10.0"; hash = "sha256-1sKqD/DsEo1nfD4BuuIde/In7W0wAbIEWD3jvvbO8JA="; }) - (fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.10.0"; hash = "sha256-+O9oaAUYaKUItLAaT7yQUs2nrHVDNkj8YcFuUxiTy6M="; }) - (fetchNuGet { pname = "Pathoschild.Http.FluentClient"; version = "4.4.1"; hash = "sha256-UmMMhtOkhC3l8XHVPsI2aLg9lYgHOePSnkPcUaJumTo="; }) - (fetchNuGet { pname = "Perfolizer"; version = "0.3.17"; hash = "sha256-EfT9EabewLMOAKrxEwpj7QRzqnHODU0tZ08o1w7aV6Q="; }) - (fetchNuGet { pname = "Polly"; version = "8.5.0"; hash = "sha256-oXIqYMkFXoF/9y704LJSX5Non9mry19OSKA7JFviu5Q="; }) - (fetchNuGet { pname = "Polly.Core"; version = "8.4.2"; hash = "sha256-4fn5n6Bu29uqWg8ciii3MDsi9bO2/moPa9B3cJ9Ihe8="; }) - (fetchNuGet { pname = "Polly.Core"; version = "8.5.0"; hash = "sha256-vN/OoQi5F8+oKNO46FwjPcKrgfhGMGjAQ2yCQUlHtOc="; }) - (fetchNuGet { pname = "Polly.Extensions"; version = "8.4.2"; hash = "sha256-oyf9CNi8NXLyeMLwBBCifFvV6erIEaurs8i9BZdr0ik="; }) - (fetchNuGet { pname = "Polly.RateLimiting"; version = "8.4.2"; hash = "sha256-432TfbcJ8UUhDWKLcAFksMjbcU0PlLrK+BrrDxFw4/8="; }) - (fetchNuGet { pname = "Projektanker.Icons.Avalonia"; version = "9.4.1"; hash = "sha256-RK62Wls48/j7QZTLlzHOLCXV0jK/0WBra5367zyit7s="; }) - (fetchNuGet { pname = "Projektanker.Icons.Avalonia.MaterialDesign"; version = "9.4.1"; hash = "sha256-YfGVVfl/Yon9WgJCZscXZMbZoCNg+OvGFvdPSxe+Q1I="; }) - (fetchNuGet { pname = "QoiSharp"; version = "1.0.0"; hash = "sha256-iN/yCXVN0M5+T/Ye9KJ+EGoLsaBxFU/uCIXvX17EhkM="; }) - (fetchNuGet { pname = "R3"; version = "1.0.0"; hash = "sha256-CikGDRUi/EDN2j32cBRl0g+QtdCVYPUizBt41oSVlUA="; }) - (fetchNuGet { pname = "R3"; version = "1.2.9"; hash = "sha256-Wb3ELPbVhxEMqkrQq5vIjGC36VAzIuMdiYqSAEnVXpY="; }) - (fetchNuGet { pname = "R3Extensions.Avalonia"; version = "1.2.9"; hash = "sha256-ZNah6u4+a13E93rYGtZIyYPIb3mkopIjjCzYUgmjCxQ="; }) - (fetchNuGet { pname = "ReactiveUI"; version = "19.5.41"; hash = "sha256-FsdD1lBZyegqOVzJhZHAz1owCLh7GbVUYXiORbo5euk="; }) - (fetchNuGet { pname = "ReactiveUI"; version = "20.1.1"; hash = "sha256-p9l2GMzBRchKb4gW9pQ3DIKhs2O9fX3t/V7jDDztBqE="; }) - (fetchNuGet { pname = "ReactiveUI"; version = "20.1.63"; hash = "sha256-fcLBYRz5WFlPYtIiLA1k/6xxxWhlclVMj7li8z04g68="; }) - (fetchNuGet { pname = "ReactiveUI.Fody"; version = "19.5.41"; hash = "sha256-LfKELxAfApQLL0fDd7UJCsZML5C4MFN+Gc5ECaBXmUM="; }) - (fetchNuGet { pname = "Reloaded.Memory"; version = "9.4.1"; hash = "sha256-bXaTAUx+/SiiMLmxuPumV9z5w1HcHpzEoNuR+xNhafs="; }) - (fetchNuGet { pname = "Reloaded.Memory"; version = "9.4.2"; hash = "sha256-GGS949WoLUPwCYyfbdTOAgXgbV/N0seqL3RegwyPkls="; }) - (fetchNuGet { pname = "RocksDB"; version = "9.4.0.50294"; hash = "sha256-SHt+2Kaj2eCqoeeH28EGlyRUi+g9Y3e9OzVvp946F7I="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; }) - (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "SHA3.Net"; version = "2.0.0"; hash = "sha256-rNwk9ry52bN95FeNqNC29FokNRRzKw3XnojO/UzHlYc="; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; hash = "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="; }) - (fetchNuGet { pname = "SharpZstd.Interop"; version = "1.5.6"; hash = "sha256-Y1sCo7RTRtXjkTG2ZAPFx/qXzX4yW8BEaot7Ngfbg8g="; }) - (fetchNuGet { pname = "ShimSkiaSharp"; version = "2.0.0.2"; hash = "sha256-Q1ok5/R8FWDCQubbhPsbRWigGqfiADFYUoiLlCvk/20="; }) - (fetchNuGet { pname = "SimpleInfoName"; version = "3.0.1"; hash = "sha256-9p/BiEqlQczjjUfpUxcFKn71cLAJC7GGvYqRs8fSuuQ="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.8"; hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="; }) - (fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.6"; hash = "sha256-gpHiTuHfiXgbkBkzipXb8EXIatefsod75nyrFdPcwcA="; }) - (fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.8"; hash = "sha256-W9jNuEo/8q+k2aHNC19FfKcBUIEWx2zDcGwM+jDZ1o8="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.8"; hash = "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.8"; hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.8"; hash = "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.8"; hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="; }) - (fetchNuGet { pname = "Spectre.Console"; version = "0.49.1"; hash = "sha256-tqSVojyuQjuB34lXo759NOcyLgNIw815mKXJPq5JFDo="; }) - (fetchNuGet { pname = "Spectre.Console.Cli"; version = "0.49.1"; hash = "sha256-sar9rhft1ivDMj1kU683+4KxUPUZL+Fb++ewMA6RD4Q="; }) - (fetchNuGet { pname = "Spectre.Console.Testing"; version = "0.49.1"; hash = "sha256-NFZE0ubRmjeOOnkf8EXCp8lya0XK1tclMmtodxJPt1I="; }) - (fetchNuGet { pname = "Splat"; version = "14.8.12"; hash = "sha256-9KTsYPHVN/wiL8/Yy1KQafrFRy7x8VCEHdzgB+9+8SU="; }) - (fetchNuGet { pname = "Splat"; version = "15.1.1"; hash = "sha256-WipAVaUx2HrYNQ9LcYm496LndmSpVbuzJxzP9FA6Ohg="; }) - (fetchNuGet { pname = "Splat"; version = "15.2.22"; hash = "sha256-GSD6XrFYlYj6jkmI7Z4bYCcRIQCRAyzcuVWHmAll5K4="; }) - (fetchNuGet { pname = "Splat.Microsoft.Extensions.Logging"; version = "15.2.22"; hash = "sha256-4QO7NAcOqTDxwsheB2wyXRdH626JylEbahQaKWKZpIc="; }) - (fetchNuGet { pname = "StrawberryShake.Core"; version = "14.1.0"; hash = "sha256-h1Ozv0vdR2UvHIw3JqoBNKPVuD1S31aui7IQ8i8hcnE="; }) - (fetchNuGet { pname = "StrawberryShake.Resources"; version = "14.1.0"; hash = "sha256-6uOb5V7UeHM9OKUTJ4p8/YwvI16LcrC12tPhSAw3U0Q="; }) - (fetchNuGet { pname = "StrawberryShake.Server"; version = "14.1.0"; hash = "sha256-6K6TnX8YL0Dbt8wTv9FmBlbSo+UfaucHi9a5CqWCjoY="; }) - (fetchNuGet { pname = "StrawberryShake.Transport.Http"; version = "14.1.0"; hash = "sha256-Pa2vACAYMgLrAxiZUR7PxBvPY9wrclQRYGZod/VMG5Q="; }) - (fetchNuGet { pname = "StrawberryShake.Transport.WebSockets"; version = "14.1.0"; hash = "sha256-Hqp6GSxMcYorg5v8ns24DNfUDwYGY3urg0FKPleD86I="; }) - (fetchNuGet { pname = "Svg.Custom"; version = "2.0.0.2"; hash = "sha256-6sWw1V2oPdLgLDybH/FT/hUo+CKZiaIfOYv0KUaiTxk="; }) - (fetchNuGet { pname = "Svg.Model"; version = "2.0.0.2"; hash = "sha256-TGkz0qMKvvjMdliqHEsJE1rqKIbezUZrkjofKRduAk8="; }) - (fetchNuGet { pname = "Svg.Skia"; version = "2.0.0.2"; hash = "sha256-8F9LAgj3pdfv5VmnsuS/iHAmI1tajvuSZeTeenS13Lc="; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "5.0.0"; hash = "sha256-UNqyPrK9eshU5kgJukvPamkaxLAp9BmR/J22OjEX+pM="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "8.0.0"; hash = "sha256-uwVhi3xcvX7eiOGQi7dRETk3Qx1EfHsUfchZsEto338="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "9.0.0"; hash = "sha256-578lcBgswW0eM16r0EnJzfGodPx86RxxFoZHc2PSzsw="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.2.0"; hash = "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; }) - (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta4.22272.1"; hash = "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="; }) - (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; hash = "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.3.0"; hash = "sha256-zQVRu6SnLS7aKetDaxvo7zAHWLOB7K/mtgs/uaQtYqk="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; hash = "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg="; }) - (fetchNuGet { pname = "System.ComponentModel.Composition"; version = "4.5.0"; hash = "sha256-xxeZs1zIkhl2ZXU8CaOtCkMX1N290IK7bbHYeEKD0aQ="; }) - (fetchNuGet { pname = "System.Composition"; version = "1.0.31"; hash = "sha256-wcQEG6MCRa1S03s3Yb3E3tfsIBZid99M7WDhcb48Qik="; }) - (fetchNuGet { pname = "System.Composition"; version = "7.0.0"; hash = "sha256-YjhxuzuVdAzRBHNQy9y/1ES+ll3QtLcd2o+o8wIyMao="; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "1.0.31"; hash = "sha256-u+XnXfj6LQ3OXwrb9KqHRW4a/a9yHzLrJOXwDQ1a/sY="; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "7.0.0"; hash = "sha256-3s52Dyk2J66v/B4LLYFBMyXl0I8DFDshjE+sMjW4ubM="; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "1.0.31"; hash = "sha256-GQWo1YDyQ3r2OMcKW+GbR3BbZNIAdwK79XAfinNj+AE="; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "7.0.0"; hash = "sha256-N4MkkBXSQkcFKsEdcSe6zmyFyMmFOHmI2BNo3wWxftk="; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "1.0.31"; hash = "sha256-fg9BIY+zWtiEBIJefYP2lKHDYa4r/vtPTr3ZI8e0K7g="; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "7.0.0"; hash = "sha256-7liQGMaVKNZU1iWTIXvqf0SG8zPobRoLsW7q916XC3M="; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "1.0.31"; hash = "sha256-mqfxjAnVyE1YCgXMOcV34IWhYFnvXVKjMo9Y/d3yDuo="; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "7.0.0"; hash = "sha256-Oo1BxSGLETmdNcYvnkGdgm7JYAnQmv1jY0gL0j++Pd0="; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "1.0.31"; hash = "sha256-w9ApcUJr7jYP4Vf5+efIIqoWmr5v9R56W4uC0n8KktQ="; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "7.0.0"; hash = "sha256-6ZzNdk35qQG3ttiAi4OXrihla7LVP+y2fL3bx40/32s="; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.4.0"; hash = "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; hash = "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; hash = "sha256-+aODaDEQMqla5RYZeq0Lh66j+xkPYxykrVvSCmJQ+Vs="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "9.0.0"; hash = "sha256-1VzO9i8Uq2KlTw1wnCCrEdABPZuB2JBD5gBsMTFTSvE="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "6.0.0"; hash = "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "9.0.0"; hash = "sha256-tPvt6yoAp56sK/fe+/ei8M65eavY2UUhRnbrREj/Ems="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; hash = "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="; }) - (fetchNuGet { pname = "System.Formats.Asn1"; version = "5.0.0"; hash = "sha256-9nL3dN4w/dZ49W1pCkTjRqZm6Dh0mMVExNungcBHrKs="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; hash = "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Abstractions"; version = "21.0.29"; hash = "sha256-91e2/Bd4ZgANw19mKkTdxAy2tv7NutyG0lQTKhMiEpo="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; }) - (fetchNuGet { pname = "System.IO.Hashing"; version = "9.0.0"; hash = "sha256-k6Pdndm5fTD6CB1QsQfP7G+2h4B30CWIsuvjHuBg3fc="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; hash = "sha256-v+FOmjRRKlDtDW6+TfmyMiiki010YGVTa0EwXu9X7ck="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "8.0.0"; hash = "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Async"; version = "6.0.1"; hash = "sha256-uH5fZhcyQVtnsFc6GTUaRRrAQm05v5euJyWCXSFSOYI="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; hash = "sha256-7zqB+FXgkvhtlBzpcZyd81xczWP0D3uWssyAGw3t7b4="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Management"; version = "5.0.0"; hash = "sha256-upx2lBRhITuOz9rKth+pBNGvxaLNU3ZOSaS0D+7YHiY="; }) - (fetchNuGet { pname = "System.Management"; version = "8.0.0"; hash = "sha256-HwpfDb++q7/vxR6q57mGFgl5U0vxy+oRJ6orFKORfP0="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; }) - (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="; }) - (fetchNuGet { pname = "System.Reactive"; version = "6.0.1"; hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.3.0"; hash = "sha256-a/RQr++mSsziWaOTknicfIQX/zJrwPFExfhK6PM0tfg="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "7.0.0"; hash = "sha256-GwAKQhkhPBYTqmRdG9c9taqrKSKDwyUgOEhWLKxWNPI="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "8.0.0"; hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; hash = "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.4.0"; hash = "sha256-J3T2ECVdL0JiBA999CUz77az545CVOYB11/NPA/huEc="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) - (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; hash = "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; hash = "sha256-nOJP3vdmQaYA07TI373OvZX6uWshETipvi5KpL7oExo="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; hash = "sha256-kq/tvYQSa24mKSvikFK2fKUAnexSL4PO4LkPppqtYkE="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "4.5.0"; hash = "sha256-Fa6dX6Gyse1A/RBoin8cVaHQePbfBvp6jjWxUXPhXKQ="; }) - (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.4.0"; hash = "sha256-lwNBM33EW45j6o8bM4hKWirEUZCvep0VYFchc50JOYc="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "7.0.0"; hash = "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.4"; hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.5"; hash = "sha256-yKxo54w5odWT6nPruUVsaX53oPRe+gKzGvLnnxtwP68="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "7.0.0"; hash = "sha256-Cu0gjQsLIR8Yvh0B4cOPJSYVq10a+3F9pVz/C43CNeM="; }) - (fetchNuGet { pname = "System.Threading.RateLimiting"; version = "8.0.0"; hash = "sha256-KOEWEt6ZthvZHJ2Wp70d9nBhBrPqobGQDi2twlKYh/w="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.6.0"; hash = "sha256-YYrT3GRzVBdendxt8FUDCnOBJi0nw/CJ9VrzcPJWLSg="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; }) - (fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "21.0.29"; hash = "sha256-OFpu9RcDRPLYntQyesBevoG1XxyH96ukHOH0uXqO5ls="; }) - (fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "21.0.29"; hash = "sha256-2q1HzbyRPIm6VKYzZzZnkXBJzV8S+HBtT6Lej1pv84Y="; }) - (fetchNuGet { pname = "TextMateSharp"; version = "1.0.59"; hash = "sha256-qfAGSgVpTrWMZSk0TFDVP1IgWWi6O1jEEvWc0Pvw9i0="; }) - (fetchNuGet { pname = "TextMateSharp"; version = "1.0.64"; hash = "sha256-49Fdf6ndcb4BKMlWYjkjpJ3pLp17Z10FcGJpfdXvvzc="; }) - (fetchNuGet { pname = "TextMateSharp.Grammars"; version = "1.0.59"; hash = "sha256-ru5VxQK4PFRJhHu+MvCzDt3EwbC/94n1whtDovUAUDA="; }) - (fetchNuGet { pname = "TextMateSharp.Grammars"; version = "1.0.64"; hash = "sha256-ykBZOyvaX1/iFmZjue754qJG4jfPx38ZdHevEZvh7w8="; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.20.0"; hash = "sha256-CRW/tkgsuBiBJfRwou12ozRQsWhHDooeP88E5wWpWJw="; }) - (fetchNuGet { pname = "TransparentValueObjects"; version = "1.0.2"; hash = "sha256-5d9pIf8hbbcBtj6/oc87f98xEuhBiT6Yq5FR2b/mvUQ="; }) - (fetchNuGet { pname = "Validation"; version = "2.3.7"; hash = "sha256-VTSUT1Ij87fN8zlz7w2HTIUMMx3NBRdbfXmMtFvV5es="; }) - (fetchNuGet { pname = "Validation"; version = "2.4.18"; hash = "sha256-ByITVSjsqVglWPIRaZ3i1P3bHh8+OB6BWgDA8f8qTFI="; }) - (fetchNuGet { pname = "ValveKeyValue"; version = "0.10.0.360"; hash = "sha256-LPQ6isUsA3cQKiO6ADijrCQ2ucx4TD01+kGzei3jIGY="; }) - (fetchNuGet { pname = "Verify"; version = "26.5.0"; hash = "sha256-74kcD01cOebR2lFFnLEJseY6wLpoBzA5FPa73rWIoMM="; }) - (fetchNuGet { pname = "Verify"; version = "27.0.0"; hash = "sha256-eBvZNh7NAUJgyHD/LOdxhd0GnZOADdshhb0HA8Gz8j8="; }) - (fetchNuGet { pname = "Verify"; version = "28.2.1"; hash = "sha256-SF2IgbAseEANZDnFXGd//oQ9uLusWrk0TY/GynyBqTI="; }) - (fetchNuGet { pname = "Verify.ImageMagick"; version = "3.6.0"; hash = "sha256-U6i0pR1ceSDy7+iiRN8RQen3okp6X3De0DK8R5IxxfA="; }) - (fetchNuGet { pname = "Verify.SourceGenerators"; version = "2.5.0"; hash = "sha256-i9TpQJ2+JhSQ7RXkdmC6pkND32V4cLyEaPLGrD/EpYk="; }) - (fetchNuGet { pname = "Verify.Xunit"; version = "28.2.1"; hash = "sha256-2PeJmxMrO8Q3muNtPdscxLsb9q04cTPZ8jQZIG1mDbM="; }) - (fetchNuGet { pname = "Weave"; version = "2.1.0"; hash = "sha256-jyo3pdqJOz3y1GO//jIGxJ9WwRlqMFK+BZET4NfSHVw="; }) - (fetchNuGet { pname = "xunit"; version = "2.9.2"; hash = "sha256-h5+yTTfCmokCPy4lqdEw8RGzQlrlsQAW3Am0Jh0q7oo="; }) - (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.1"; hash = "sha256-v5iPVeoUFsZp9zQMt3rg6xgw6UwF4VMIgzVYFIeb/zA="; }) - (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.2"; hash = "sha256-w5APCW7suBdoDOmQqm/8Gq6+Sk88JcTR09zjmj9s17E="; }) - (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; hash = "sha256-0D1y/C34iARI96gb3bAOG8tcGPMjx+fMabTPpydGlAM="; }) - (fetchNuGet { pname = "xunit.analyzers"; version = "1.16.0"; hash = "sha256-P5Bvl9hvHvF8KY1YWLg4tKiYxlfRnmHyL14jfSACDaU="; }) - (fetchNuGet { pname = "xunit.assert"; version = "2.3.0"; hash = "sha256-lN+NiUEQoHWmoamUjvsNt2PVhHXYeHJHjHRk1BTs6R8="; }) - (fetchNuGet { pname = "xunit.assert"; version = "2.9.2"; hash = "sha256-EE6r526Q4cHn0Ourf1ENpXZ37Lj/P2uNvonHgpdcnq4="; }) - (fetchNuGet { pname = "xunit.core"; version = "2.9.2"; hash = "sha256-zhjV1I5xh0RFckgTEK72tIkLxVl4CPmter2UB++oye8="; }) - (fetchNuGet { pname = "Xunit.DependencyInjection"; version = "9.0.0"; hash = "sha256-nH51bonRwshBIaRYHQr9DUZrQo8q5dggJ03+ngC5bXg="; }) - (fetchNuGet { pname = "Xunit.DependencyInjection"; version = "9.6.0"; hash = "sha256-lZVjKJH961mNw7aX32aG7wSZyCgHoT9okuX92HNqF9c="; }) - (fetchNuGet { pname = "Xunit.DependencyInjection.Logging"; version = "9.0.0"; hash = "sha256-9MerQYIgsByxcZmczyp/fW6ZWgzo4ql6j9Iv/Y47E4A="; }) - (fetchNuGet { pname = "Xunit.DependencyInjection.SkippableFact"; version = "9.0.0"; hash = "sha256-Ub6eSd9/bIhgbqQO+yWtiGfuLIkxSgl6TWfUL4ABkFI="; }) - (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.2.0"; hash = "sha256-et3Se7paKJlg8Ha4Xr9+He40M6vblxyOwS2BQxOgLlE="; }) - (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.0"; hash = "sha256-LbuXEcEJjGn3L6FCbC119+MY/QLvfLlGkCeAsCsZqGE="; }) - (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.2"; hash = "sha256-wlTMUOQg5NaAPEsWkNSr8QSPbbCNSicpFajp1rowCsA="; }) - (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.9.2"; hash = "sha256-MQAC/4d67Nssu3R+pHPh6vHitBXQYxEEZkVVMGW720c="; }) - (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.0"; hash = "sha256-chRJEazwq93yhVONlbtTI1znqYy0gdAoQajPRnhM/i4="; }) - (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.2"; hash = "sha256-l5Q60IBYWE5tYJCdFEEQnO5rIlXcNEM5S4Ut8vFnL2U="; }) - (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.9.2"; hash = "sha256-f+9UfoPyK3JIDhQSW0Yu9c4PGqUqZC96DMINCYi2i80="; }) - (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.8.2"; hash = "sha256-UlfK348r8kJuraywfdCtpJJxHkv04wPNzpUaz4UM/60="; }) - (fetchNuGet { pname = "Xunit.SkippableFact"; version = "1.4.13"; hash = "sha256-pLtx0/2oTKYO1Y1Vg3k/Eli2OWHT5uorGdBp2uXvFfw="; }) - (fetchNuGet { pname = "ZstdSharp.Port"; version = "0.8.2"; hash = "sha256-mwU4YWaBrbbqQeQ+7ohm/0ewWPD6S8Y2pg6Rqxbi4Ts="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Argon"; + version = "0.24.2"; + hash = "sha256-QUwH6v4XKPU9T/mO/TNvMhoUv8yZHMr/Yg39NO+YV+0="; + }) + (fetchNuGet { + pname = "AutoFixture"; + version = "4.18.1"; + hash = "sha256-reP+aoYiPcIj4GbCIhjd5/OhuWVLCtD4hKuLPHe2EXI="; + }) + (fetchNuGet { + pname = "AutoFixture.Xunit2"; + version = "4.18.1"; + hash = "sha256-5hZm1Rx4n0e2JNsJ6lketE3c8z6AFdquTgKCQORqRfc="; + }) + (fetchNuGet { + pname = "Avalonia"; + version = "11.0.0"; + hash = "sha256-7QE0MtD1QDiG3gRx5xW33E33BXyEtASQSw+Wi3Lmy3E="; + }) + (fetchNuGet { + pname = "Avalonia"; + version = "11.1.3"; + hash = "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0="; + }) + (fetchNuGet { + pname = "Avalonia"; + version = "11.2.0"; + hash = "sha256-kG3tnsLdodlvIjYd5feBZ0quGd2FsvV8FIy7uD5UZ5Q="; + }) + (fetchNuGet { + pname = "Avalonia"; + version = "11.2.1"; + hash = "sha256-KdjhwDKlii12v7HNI3NsYAM1qYoXKRsVN2scQJbYMTc="; + }) + (fetchNuGet { + pname = "Avalonia.Angle.Windows.Natives"; + version = "2.1.22045.20230930"; + hash = "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="; + }) + (fetchNuGet { + pname = "Avalonia.AvaloniaEdit"; + version = "11.1.0"; + hash = "sha256-K9+hK+4aK93dyuGytYvVU25daz605+KN54hmwQYXFF8="; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.28"; + hash = "sha256-7NQWQl3xrBDOXhGihCkt5DIrws48KyDGon/7+gPzMDU="; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.29"; + hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.2.1"; + hash = "sha256-yhjVW5pH8Y0JF1vbfcdL5MQfx24wb+Lkp8OBo51he8U="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.DataGrid"; + version = "11.2.1"; + hash = "sha256-IFzA7ztuhgddckQV9DlwkUTSk3RQqkJddCHAtu9yhbY="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.TreeDataGrid"; + version = "11.0.10"; + hash = "sha256-1R2AFOKQQPemN7qXsdxCGXcfMSRztRiC86DLqiV6CpY="; + }) + (fetchNuGet { + pname = "Avalonia.Desktop"; + version = "11.2.1"; + hash = "sha256-Bu4ZEu81g6oWnxd+ew9BZ8zwYETjY8InQsaYvYnGqX4="; + }) + (fetchNuGet { + pname = "Avalonia.Diagnostics"; + version = "11.2.1"; + hash = "sha256-gJhi2clOc+a4NDRZfEoT5BwLTq8DLAWtaxo5FI/OJaY="; + }) + (fetchNuGet { + pname = "Avalonia.FreeDesktop"; + version = "11.2.1"; + hash = "sha256-2j9VfG8uD2BVF+p9REPQ4dp8E41vUh+R3Lh6v5AVmHA="; + }) + (fetchNuGet { + pname = "Avalonia.Headless"; + version = "11.2.1"; + hash = "sha256-3nPxjkPgeH1gJie7b39ezGMe12ZHc5lhuQbYDkoYxME="; + }) + (fetchNuGet { + pname = "Avalonia.Labs.Panels"; + version = "11.2.0"; + hash = "sha256-DhzjF4nhq8XXrCVHh9Eu1NTjVF2oPDNoto4BDQU7EJk="; + }) + (fetchNuGet { + pname = "Avalonia.Native"; + version = "11.2.1"; + hash = "sha256-bBJsvp6gHfBcAWPNKpAAFCk1Wi0gP3tw4qimI93px0U="; + }) + (fetchNuGet { + pname = "Avalonia.ReactiveUI"; + version = "11.2.1"; + hash = "sha256-zEO6YkOuWdSj22KgvKO54UCHnw4rn9F3cd8xXsKRe7s="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.0.0"; + hash = "sha256-gkVpdbk/0RDM7Hhq0jwZwltDpTsGRmbX+ZFTjWYYoKw="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.2.1"; + hash = "sha256-RlO65QbExBdjEUY66CTlHefRdTZWzZbN4ksibVXxKv4="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.0"; + hash = "sha256-A01nrs3Ij1eTo6tPmu7++T1K+Wo/H/9LvpeuOUGbQeU="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.2.0"; + hash = "sha256-rNR+l+vLtlzTU+F51FpOi4Ujy7nR5+lbTc3NQte8s/o="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.2.1"; + hash = "sha256-F8Q4q5MaeyCkAm4rc6dPG1DhH5mZMvGzzyr2Z3AUe8s="; + }) + (fetchNuGet { + pname = "Avalonia.Svg.Skia"; + version = "11.2.0"; + hash = "sha256-bbmOWYlVZyQ65BVTYW7BPr++VoM3VwqQLeMzZ6ZnI/o="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Fluent"; + version = "11.2.1"; + hash = "sha256-yDCJJ9OkL5EIEXr05pdnOK1p+Yp7YIRJn4MVjLX84kE="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Simple"; + version = "11.2.1"; + hash = "sha256-cdMQ03nOT8jL9cnZrntpzfwgMF/dctE9610eXPV60tA="; + }) + (fetchNuGet { + pname = "Avalonia.Win32"; + version = "11.2.1"; + hash = "sha256-QsQXXKz8vqKwaijR/fZINXHH7Hripwdm+92i9f1k3Xg="; + }) + (fetchNuGet { + pname = "Avalonia.X11"; + version = "11.2.1"; + hash = "sha256-Y2Zem7GhWFHHUwwDT1qUldUCRt8vWZZXi3Fxq+p/Pdg="; + }) + (fetchNuGet { + pname = "AvaloniaEdit.TextMate"; + version = "11.1.0"; + hash = "sha256-Nv52bUxA02VcsKCbMqEAkNBl46gznSivRZ3llLHrhkM="; + }) + (fetchNuGet { + pname = "Bannerlord.LauncherManager"; + version = "1.0.138"; + hash = "sha256-U954PUK8oq1mFBqNjONMXi1DYSudT7gjpueWYBIXDdo="; + }) + (fetchNuGet { + pname = "Bannerlord.LauncherManager.Localization"; + version = "1.0.138"; + hash = "sha256-i7OhCR6pceJU7xyaY1pi67PLSnyDX5YDCIrbHw1Jcuc="; + }) + (fetchNuGet { + pname = "Bannerlord.LauncherManager.Models"; + version = "1.0.138"; + hash = "sha256-mo7Xmj7Ntxgy2/aMzywuyCJ9w/Y1FzbhKOf7fR6ebjw="; + }) + (fetchNuGet { + pname = "Bannerlord.ModuleManager"; + version = "5.0.225"; + hash = "sha256-Kpc2iwgylMJ0w8aL5QkmwHnRsfRXzhV5lFxpbEv0OcU="; + }) + (fetchNuGet { + pname = "Bannerlord.ModuleManager"; + version = "6.0.242"; + hash = "sha256-nHBchr6mLQNOWEyfPGi4nzspaIviQY4j+fGJkUTN0Bs="; + }) + (fetchNuGet { + pname = "Bannerlord.ModuleManager.Models"; + version = "5.0.221"; + hash = "sha256-CWlslG730Ife/Q5ILmNE38IcFikWqlfIqRm6/UwZkzM="; + }) + (fetchNuGet { + pname = "Bannerlord.ModuleManager.Models"; + version = "6.0.242"; + hash = "sha256-iRTxQ7VhrYziaAy3jzD7qEXzq6bOM8eIrB6kyZMurkY="; + }) + (fetchNuGet { + pname = "BenchmarkDotNet"; + version = "0.14.0"; + hash = "sha256-Ynfhr0OsW0dKp81caryZXcrBJsA2YScuKQOCiLVg1rI="; + }) + (fetchNuGet { + pname = "BenchmarkDotNet.Annotations"; + version = "0.14.0"; + hash = "sha256-BKtno0khZ2jZtXF05l9/vsYjbQIqxAimoaSkxyx6L9A="; + }) + (fetchNuGet { + pname = "BitFaster.Caching"; + version = "2.5.2"; + hash = "sha256-rZz3zNPt7DB+H5VDpI3nOrh5Nl4XYvU50CJXGfl3+5A="; + }) + (fetchNuGet { + pname = "BsDiff"; + version = "1.1.0"; + hash = "sha256-JWmzAE+5k8BeGicl4rQNK3Q5F9+VnBpTtUwlKs72pmI="; + }) + (fetchNuGet { + pname = "Castle.Core"; + version = "5.1.1"; + hash = "sha256-oVkQB+ON7S6Q27OhXrTLaxTL0kWB58HZaFFuiw4iTrE="; + }) + (fetchNuGet { + pname = "CliWrap"; + version = "3.6.7"; + hash = "sha256-9j3GILP25inLJoQe0E8sF8egVt8ISqEQBGdIShev4Mk="; + }) + (fetchNuGet { + pname = "ColorDocument.Avalonia"; + version = "11.0.3-a1"; + hash = "sha256-Pkh5FX+4pBzep5oCCyhIiR559QyFCEb1vrfEgG0wREw="; + }) + (fetchNuGet { + pname = "ColorTextBlock.Avalonia"; + version = "11.0.3-a1"; + hash = "sha256-fWJuApxnJLISayQJIKEBVOt/t1Qyj+0s+RezZkMnPio="; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; + }) + (fetchNuGet { + pname = "coverlet.collector"; + version = "6.0.2"; + hash = "sha256-LdSQUrOmjFug47LjtqgtN2MM6BcfG0HR5iL+prVHlDo="; + }) + (fetchNuGet { + pname = "DiffEngine"; + version = "15.5.3"; + hash = "sha256-oZG++i9oWBJhSPHERAQwVODA0GWtp//r2oHpnjgmCeA="; + }) + (fetchNuGet { + pname = "DiffPlex"; + version = "1.7.2"; + hash = "sha256-Vsn81duAmPIPkR40h5bEz7hgtF5Kt5nAAGhQZrQbqxE="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "8.3.27"; + hash = "sha256-iPZfL1x36PLf5Lq96zRFvR5OLcoRn7OdJIao98X8wac="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "8.4.1"; + hash = "sha256-r+haH5VlmZFJTEJ3UedsYybw+oddn/CSvfm6x7PrrQ4="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "9.0.1"; + hash = "sha256-dvo4eSHg8S9oS5QhvfCrbV+y7BVtlYRwH7PN7N1GubM="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "9.0.4"; + hash = "sha256-3pyiJeWRwfaT7p1ArsoR13aI78Jo13aHOEw3BelTS9g="; + }) + (fetchNuGet { + pname = "EmptyFiles"; + version = "8.5.0"; + hash = "sha256-mLraPiJa1JiXOWQ17GUp8MWuBNrIjcYYjItQRfMjP8s="; + }) + (fetchNuGet { + pname = "ExCSS"; + version = "4.2.3"; + hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I="; + }) + (fetchNuGet { + pname = "Fare"; + version = "2.1.1"; + hash = "sha256-n9X3GE2qsT2wpmDymD1AyCYcOoY/c0+t+aIWLiaST70="; + }) + (fetchNuGet { + pname = "FetchBannerlordVersion"; + version = "1.0.6.46"; + hash = "sha256-NS3B8XD4Y398dOXUdjstJ8xrZ+WLGHtGBl+Ewj8agh0="; + }) + (fetchNuGet { + pname = "FetchBannerlordVersion.Models"; + version = "1.0.6.46"; + hash = "sha256-VgTNwXUHGgtoBoLCcXVGgph5Mf36oYYqhISmEgUQMk8="; + }) + (fetchNuGet { + pname = "FluentAssertions"; + version = "5.0.0"; + hash = "sha256-jmGbSHbZhonYWIxqqux8ZOBVY2GNEG9eppNsIn6wEBc="; + }) + (fetchNuGet { + pname = "FluentAssertions"; + version = "6.12.2"; + hash = "sha256-yvbnZapTF610zG8YhMOESn0iXudX4xVCdoSKVo6eu+w="; + }) + (fetchNuGet { + pname = "FluentAssertions.Analyzers"; + version = "0.34.1"; + hash = "sha256-4n26IoSLJRLxyPDyJwF7T+za5xbHO27qM7CarniTADk="; + }) + (fetchNuGet { + pname = "FluentAssertions.OneOf"; + version = "0.0.5"; + hash = "sha256-T/yzpRPwEKh0r6JUPgH2GYkSt36PqOZYr9Qi0grGczo="; + }) + (fetchNuGet { + pname = "FluentResults"; + version = "3.15.2"; + hash = "sha256-NhS7sLhgXDAI4Qwb285HWRtPfUDN6K0tTkKx2QRsI9w="; + }) + (fetchNuGet { + pname = "Fody"; + version = "6.8.0"; + hash = "sha256-2laYscz0i0LalGTAup7dsh6XlYRZSojYpp8XOwZJJfg="; + }) + (fetchNuGet { + pname = "FomodInstaller.Interface"; + version = "1.0.0"; + hash = "sha256-ChhqiNGmj+deuIIYXJWsz7Xmolv9YaeLUlwfothQyjA="; + }) + (fetchNuGet { + pname = "FomodInstaller.Interface"; + version = "1.2.0"; + hash = "sha256-sxylVEA7uiaBtxbQHAeRElsVbZPIj2nm27Ozlik8wmg="; + }) + (fetchNuGet { + pname = "FomodInstaller.Scripting"; + version = "1.0.0"; + hash = "sha256-GNqbLS+lU6aNThUUCfJpmZgP+rd4lF0fKyfMn2Y7Ckg="; + }) + (fetchNuGet { + pname = "FomodInstaller.Scripting.XmlScript"; + version = "1.0.0"; + hash = "sha256-fbekooynf0jQD0k0zbYueDvOTxPa3FIZUKjCcVMPeeY="; + }) + (fetchNuGet { + pname = "FomodInstaller.Utils"; + version = "1.0.0"; + hash = "sha256-H0Fc79msO6GhYstzqtZk9ttRcqxtXuDT9v0zQBwDRHI="; + }) + (fetchNuGet { + pname = "GameFinder"; + version = "4.3.3"; + hash = "sha256-uJzGa5CAa+6oHuG5gU0TN68biDb7ZQYGgqeW1nGLHQc="; + }) + (fetchNuGet { + pname = "GameFinder.Common"; + version = "4.3.3"; + hash = "sha256-0mITSz+9TyknYO8zzvLNB70jWPe5v2Q3sKHPupvGGBk="; + }) + (fetchNuGet { + pname = "GameFinder.Launcher.Heroic"; + version = "4.3.3"; + hash = "sha256-3DuhHRGbWeh4Smj0TXitzUsTPbCwHmtZsk3e+CVZHHA="; + }) + (fetchNuGet { + pname = "GameFinder.RegistryUtils"; + version = "4.3.3"; + hash = "sha256-bd6qpOthn4ljNpwQi7pdVe5P1EN8DnXbyKyR4PnSxJk="; + }) + (fetchNuGet { + pname = "GameFinder.StoreHandlers.EADesktop"; + version = "4.3.3"; + hash = "sha256-jvh672wPSH0T4W6dJHdvMGJi93LWDJBefcVFrkxT6hI="; + }) + (fetchNuGet { + pname = "GameFinder.StoreHandlers.EGS"; + version = "4.3.3"; + hash = "sha256-IKDDTnCor3G7HdsVjo0wYNJQjBoQjQ+a+MgjnGVOaek="; + }) + (fetchNuGet { + pname = "GameFinder.StoreHandlers.GOG"; + version = "4.3.3"; + hash = "sha256-76+W+wi33ms0Xm5OCXQBmHCAilWRaA/OMd343vkkhc0="; + }) + (fetchNuGet { + pname = "GameFinder.StoreHandlers.Origin"; + version = "4.3.3"; + hash = "sha256-Ss48fc+19RqhjkEP0tld5Eui65XwECFeAMu+126JCo4="; + }) + (fetchNuGet { + pname = "GameFinder.StoreHandlers.Steam"; + version = "4.3.3"; + hash = "sha256-EQxtM7k459MfHL0Z2Li45jWji6CgGvpJbJbJv8zXVc4="; + }) + (fetchNuGet { + pname = "GameFinder.StoreHandlers.Xbox"; + version = "4.3.3"; + hash = "sha256-uzIPKS3O/uxqXZMysZfgRlQaDUSUhj1y9hCKAwwhK0g="; + }) + (fetchNuGet { + pname = "GameFinder.Wine"; + version = "4.3.3"; + hash = "sha256-aEFkI7UVHsipCxdvHq3P+mrThgYdrFhpK6EbyFYqU6Y="; + }) + (fetchNuGet { + pname = "Gee.External.Capstone"; + version = "2.3.0"; + hash = "sha256-wdYT/F8SLL72OIVv/Q/hfLMfhlWMnhDNCTWx+wWlPoU="; + }) + (fetchNuGet { + pname = "GitHubActionsTestLogger"; + version = "2.4.1"; + hash = "sha256-bY8RXB3fIsgYIrlLeEuq8dsOfIn8zcbZ0dj2Ra1sFZg="; + }) + (fetchNuGet { + pname = "Google.Protobuf"; + version = "3.22.5"; + hash = "sha256-KuPCqobX6vE9RYElAN9vw+FPonFipms7kE/cRDCLmSQ="; + }) + (fetchNuGet { + pname = "Grpc.Core.Api"; + version = "2.52.0"; + hash = "sha256-ISgN3zWwvV8qD7JFkaYveLbke09+UtUBy3Tux+ZHLNc="; + }) + (fetchNuGet { + pname = "Grpc.Net.Client"; + version = "2.52.0"; + hash = "sha256-4Rhb8PIoV2BiohfRwzx1GYDPbcfqxGAmL2uB0atFFTk="; + }) + (fetchNuGet { + pname = "Grpc.Net.Common"; + version = "2.52.0"; + hash = "sha256-XoY+jt+JIt6SzvCjUSXKKa9Q8Bu5UrNJv2z1hCBKDrY="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "7.3.0.2"; + hash = "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "7.3.0.2"; + hash = "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "7.3.0.2"; + hash = "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "7.3.0.3-preview.2.2"; + hash = "sha256-1NlcTnXrWUYZ2r2/N3SPxNIjNcyIpiiv3g7h8XxpNkM="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "7.3.0.2"; + hash = "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="; + }) + (fetchNuGet { + pname = "HotChocolate.Language.SyntaxTree"; + version = "14.1.0"; + hash = "sha256-4cRFDfLW+A0378BZ0wzPrc7FOiuTdCtlA4gyitSrhiI="; + }) + (fetchNuGet { + pname = "HotChocolate.Transport.Abstractions"; + version = "14.1.0"; + hash = "sha256-i8i4ovnxHcFRrnU/a3U01izWEa+OsOjxgLDRq7wo1vs="; + }) + (fetchNuGet { + pname = "HotChocolate.Transport.Http"; + version = "14.1.0"; + hash = "sha256-e5VoAtmieIhNvhtGMnmPXqYAZE9SrXlfyJmDKF7LBJo="; + }) + (fetchNuGet { + pname = "HotChocolate.Utilities"; + version = "14.1.0"; + hash = "sha256-KIYlc1jDG1BT6gZGZoei6ypHXZo9I3dN4zM/NpDWJuI="; + }) + (fetchNuGet { + pname = "HtmlAgilityPack"; + version = "1.11.70"; + hash = "sha256-V/SI2N1+jNkwjSQRd2Y/XVVhdOKvSNz3/NeIFE9V3wY="; + }) + (fetchNuGet { + pname = "Humanizer"; + version = "2.14.1"; + hash = "sha256-1wGwf5KAmDeiH0Dz8KcTdZw+UMkiNsjKOIOt/VJnnqE="; + }) + (fetchNuGet { + pname = "Humanizer.Core"; + version = "2.14.1"; + hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; + }) + (fetchNuGet { + pname = "Humanizer.Core"; + version = "2.2.0"; + hash = "sha256-5Q6oRaV8wHPONHreKvB74VjV2FW36mwC3n+05It5vyI="; + }) + (fetchNuGet { + pname = "Humanizer.Core.af"; + version = "2.14.1"; + hash = "sha256-8CCgI7OweSa53cZWZBXQ8a7VVt/NPP16zHVBZvzU9KQ="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ar"; + version = "2.14.1"; + hash = "sha256-JRoP+brQgYBZI8OccH/jaM1Z482ZWBiqU2XL3KsIPw8="; + }) + (fetchNuGet { + pname = "Humanizer.Core.az"; + version = "2.14.1"; + hash = "sha256-ubwkbes9zrrisuXTcT4ZgOAiFsUieC6OLd4pgzxsE40="; + }) + (fetchNuGet { + pname = "Humanizer.Core.bg"; + version = "2.14.1"; + hash = "sha256-Xv6DP1xxxGVUfP44TZasWpxgQ/DkriljvmIMtHf+nGk="; + }) + (fetchNuGet { + pname = "Humanizer.Core.bn-BD"; + version = "2.14.1"; + hash = "sha256-6JpReIc3fkExvJIXzk6fUw56wJ78aTEg1dWQ6o+dQow="; + }) + (fetchNuGet { + pname = "Humanizer.Core.cs"; + version = "2.14.1"; + hash = "sha256-MGL86KxSbz0PkDo9+NRj6h1fDjPZXlxAtYNf0Zreg/4="; + }) + (fetchNuGet { + pname = "Humanizer.Core.da"; + version = "2.14.1"; + hash = "sha256-Gpw8kJbgz0KQS2mGY5tmrHqpgUO4abD7dSKIy//ONYM="; + }) + (fetchNuGet { + pname = "Humanizer.Core.de"; + version = "2.14.1"; + hash = "sha256-Eswv8aEQoxI9MZr2CvWtBUn5X9JRZTWQjRzHJkGj80g="; + }) + (fetchNuGet { + pname = "Humanizer.Core.el"; + version = "2.14.1"; + hash = "sha256-wCK2Uy/AV6FxPUSUM0NMbV14pAP+ss25AaVAHMQIeJA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.es"; + version = "2.14.1"; + hash = "sha256-iEHiQXKwg0ABDxh//HSrzwaVOlilQBFI96+GYzzTMwQ="; + }) + (fetchNuGet { + pname = "Humanizer.Core.fa"; + version = "2.14.1"; + hash = "sha256-2Js7k3nvwJvxAjq3yoLn7PUY2S8+vXfgESwU4SbvjaA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.fi-FI"; + version = "2.14.1"; + hash = "sha256-jOWo43r3dhiBsV9cCoDfqK/YqWj5LejZsnfkG6mlkpA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.fr"; + version = "2.14.1"; + hash = "sha256-WCbA+f4B3g/ml7KrkHkzpU2Fj38HtWc/ujoVY5F3lk4="; + }) + (fetchNuGet { + pname = "Humanizer.Core.fr-BE"; + version = "2.14.1"; + hash = "sha256-GydVmoEy+lwEQ1nM39QXSRhYNchqM47p7qhUEimN4Cw="; + }) + (fetchNuGet { + pname = "Humanizer.Core.he"; + version = "2.14.1"; + hash = "sha256-MMf3qjJ+yzxjMxOR7wMWf+eErxWLqpsdWKFhjNCOsyM="; + }) + (fetchNuGet { + pname = "Humanizer.Core.hr"; + version = "2.14.1"; + hash = "sha256-kBv2I9ns6L6D4XfXfyZS1VM6+YwF4yUkCmCA5zqvsok="; + }) + (fetchNuGet { + pname = "Humanizer.Core.hu"; + version = "2.14.1"; + hash = "sha256-vRje+kxqOsl1JCXAE0yDKvauUumzuEhNcnhNsdIdgVM="; + }) + (fetchNuGet { + pname = "Humanizer.Core.hy"; + version = "2.14.1"; + hash = "sha256-UL7PsK4msT5c96lk70/bVAxN63B71l8VOFtvuJQH9a0="; + }) + (fetchNuGet { + pname = "Humanizer.Core.id"; + version = "2.14.1"; + hash = "sha256-nIl64gCuZh4D527qI2hfQRvzt1mTJUCDGMIZwpS3C/A="; + }) + (fetchNuGet { + pname = "Humanizer.Core.is"; + version = "2.14.1"; + hash = "sha256-38vUQ1aVtlhK15kP9ZlDO0Nl0DcOA5iHx6F2SPN1gYM="; + }) + (fetchNuGet { + pname = "Humanizer.Core.it"; + version = "2.14.1"; + hash = "sha256-4ne0VRNi9OAj3bGCQgCy1BNYKMizoHykJ/lchmCsWdc="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ja"; + version = "2.14.1"; + hash = "sha256-oAilMM8J6LumV6qv3gSIBNTm7u2L4vV38cQXtME3PhM="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ko-KR"; + version = "2.14.1"; + hash = "sha256-b70HQl2IWVPATtaYGDyJ+Z6ioPtrM53vXzfTCHYgxpQ="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ku"; + version = "2.14.1"; + hash = "sha256-8LiEH7MaapMtkHFMj7Y3pG+g0QYuIa5gD3VR9nYQn+k="; + }) + (fetchNuGet { + pname = "Humanizer.Core.lv"; + version = "2.14.1"; + hash = "sha256-zyCsE5cD++u5shNIqCQUd+66FkUWOl+NfFrs2JduCaQ="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ms-MY"; + version = "2.14.1"; + hash = "sha256-pSdZLUi9oWo78nBh2DJunPhDR7THdZSZP0msCVbPsrY="; + }) + (fetchNuGet { + pname = "Humanizer.Core.mt"; + version = "2.14.1"; + hash = "sha256-mkX2reEvNpx9w6gtZw+6bkrnj3Di1qgVDMr9q0IeKCw="; + }) + (fetchNuGet { + pname = "Humanizer.Core.nb"; + version = "2.14.1"; + hash = "sha256-QvYJHqjO/SrelWYgtm8Sc7axs7J8wbJE+GbTgVw5LYs="; + }) + (fetchNuGet { + pname = "Humanizer.Core.nb-NO"; + version = "2.14.1"; + hash = "sha256-YW8y2XkmHjwqf2fztNB3rsn3+CgslF1TclITwp0fA9g="; + }) + (fetchNuGet { + pname = "Humanizer.Core.nl"; + version = "2.14.1"; + hash = "sha256-bQM7aXNQMBY+65NfMVQz/xYz9Ad2JC+ryXoB4lcYgmA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.pl"; + version = "2.14.1"; + hash = "sha256-IrPxHI4uQvBeMM9/8PaNueKwVkbN+1zFQlNWRjNfXEA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.pt"; + version = "2.14.1"; + hash = "sha256-XrlC15HNJFmDwLpHIUHb3Bec9A79msQCRB9Dvz8w4l0="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ro"; + version = "2.14.1"; + hash = "sha256-llXtfq4Tr5V2Q4dVD7J0IKITtpiWrFs50DAtJhcSuRI="; + }) + (fetchNuGet { + pname = "Humanizer.Core.ru"; + version = "2.14.1"; + hash = "sha256-lD0dB3mkbFfGExwVWZk6fv24MyQQ8Cdv5OrleuZeChg="; + }) + (fetchNuGet { + pname = "Humanizer.Core.sk"; + version = "2.14.1"; + hash = "sha256-EmyE+wssZwY6tAuEiFXGn5/yzVMZe7QEuTjOcByOXaA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.sl"; + version = "2.14.1"; + hash = "sha256-sWWxh7KZ8Y3Ps6GbBOHbU2GMsNZfkM+BOnUChf3fz4s="; + }) + (fetchNuGet { + pname = "Humanizer.Core.sr"; + version = "2.14.1"; + hash = "sha256-/bA3LULRFn5WYmCscr5R5vaFRjeHC0xjNiF7PXEJ8r0="; + }) + (fetchNuGet { + pname = "Humanizer.Core.sr-Latn"; + version = "2.14.1"; + hash = "sha256-43+o6oj0UNRJKiFoh57MGPSzlsWAq0eRtzlCrewDmVM="; + }) + (fetchNuGet { + pname = "Humanizer.Core.sv"; + version = "2.14.1"; + hash = "sha256-9lXrHveKDs1y/W3Qxd+MVcohhKEU7zNPx21GBVPp/rA="; + }) + (fetchNuGet { + pname = "Humanizer.Core.th-TH"; + version = "2.14.1"; + hash = "sha256-ldCsXINSvL2xom0SCtVQy+qX1IN5//EUoyIOwXiJ3k8="; + }) + (fetchNuGet { + pname = "Humanizer.Core.tr"; + version = "2.14.1"; + hash = "sha256-VZnO1vMXiR7egKEKJ6lBsj7eNgxhFzakFWsYYRW4u2U="; + }) + (fetchNuGet { + pname = "Humanizer.Core.uk"; + version = "2.14.1"; + hash = "sha256-rdvleUrKbj3c06A0O2MkgAZLtXLro9SPB1YqAGE1Vyg="; + }) + (fetchNuGet { + pname = "Humanizer.Core.uz-Cyrl-UZ"; + version = "2.14.1"; + hash = "sha256-Qso1Iz9MTLs63x4F00kK31TZAN4AoFaFsuVzM+1z38k="; + }) + (fetchNuGet { + pname = "Humanizer.Core.uz-Latn-UZ"; + version = "2.14.1"; + hash = "sha256-sVnkZTuEaHfMJIAZmSCqsspnKkYxK9eVBQZnAAqHNW4="; + }) + (fetchNuGet { + pname = "Humanizer.Core.vi"; + version = "2.14.1"; + hash = "sha256-5wDt72+HdNN3mt/iJkxV9LaH13Jc1qr1vB4Lz8ahIPs="; + }) + (fetchNuGet { + pname = "Humanizer.Core.zh-CN"; + version = "2.14.1"; + hash = "sha256-Z3qfFWyovcVT4Hqy51lgW2xGwyfI//Yfv90E0Liy1sw="; + }) + (fetchNuGet { + pname = "Humanizer.Core.zh-Hans"; + version = "2.14.1"; + hash = "sha256-BTGkMEkQYJKRp858EU7hwNOdsHRT+w6vAMa6H8JIyX4="; + }) + (fetchNuGet { + pname = "Humanizer.Core.zh-Hant"; + version = "2.14.1"; + hash = "sha256-N3D1z5aoGwAZ6+ZxrWMtXgacvQcgDG+aLrQQI9uysmM="; + }) + (fetchNuGet { + pname = "Iced"; + version = "1.17.0"; + hash = "sha256-6/5E5v5mqSG7yiE2zHUChZZeC47NRgLzQFD4+7bqKaU="; + }) + (fetchNuGet { + pname = "ini-parser-netstandard"; + version = "2.5.2"; + hash = "sha256-idb2hvuDlxl83x0yttGHnTgEQmwLLdUT7QfMeGDXVJE="; + }) + (fetchNuGet { + pname = "JetBrains.Annotations"; + version = "2024.3.0"; + hash = "sha256-BQYhE7JDJ9Bw588KyWzOvQFvQTiRa0K9maVkI9lZgBc="; + }) + (fetchNuGet { + pname = "K4os.Compression.LZ4"; + version = "1.3.7-beta"; + hash = "sha256-mMNIMLSXnKFF3oAgX+k/n0wipxyRDGE1z2BrI2+7ALc="; + }) + (fetchNuGet { + pname = "K4os.Compression.LZ4"; + version = "1.3.8"; + hash = "sha256-OmT3JwO4qpkZDL7XqiFqZCyxySj64s9t+mXcN1T+IyA="; + }) + (fetchNuGet { + pname = "LinqGen"; + version = "0.3.1"; + hash = "sha256-Yyt1uShHigHVCIjPT8jL2Kth9L9yq1MGrCM5w2+tj9o="; + }) + (fetchNuGet { + pname = "LiveChartsCore"; + version = "2.0.0-rc2"; + hash = "sha256-JSw2bwHOvUDx+axSufcvKSD9RPmqi366tbiIcsym3As="; + }) + (fetchNuGet { + pname = "LiveChartsCore.SkiaSharpView"; + version = "2.0.0-rc2"; + hash = "sha256-tKBTT75B77po0jDqWJL0mOzXkCKmHAGPlQV3biKtZdw="; + }) + (fetchNuGet { + pname = "LiveChartsCore.SkiaSharpView.Avalonia"; + version = "2.0.0-rc2"; + hash = "sha256-pHMtCkoz4sz2MLlVGFbFwwONLC3vzy+9Cg0OmEJ+f/s="; + }) + (fetchNuGet { + pname = "Magick.NET-Q16-AnyCPU"; + version = "14.0.0"; + hash = "sha256-hsFqy7F1s9pO3SWnOuKc4AWEoG7fR8CKSkjfo7pKvzY="; + }) + (fetchNuGet { + pname = "Magick.NET.Core"; + version = "14.0.0"; + hash = "sha256-mwh8d7qmM7m6IbnLSPNq8ZMcD24/1ypM3Gdf6GZm0ao="; + }) + (fetchNuGet { + pname = "Markdown.Avalonia.Tight"; + version = "11.0.3-a1"; + hash = "sha256-KkRzr8BXmUCGCVv/64gg1aiXHUY0yGj5t12OsYAidcw="; + }) + (fetchNuGet { + pname = "MartinCostello.Logging.XUnit"; + version = "0.3.0"; + hash = "sha256-RhcRcww2ZYaB1ZZ/qRN95fMffcsfqP4EKLVeR4+5S9A="; + }) + (fetchNuGet { + pname = "MemoryPack"; + version = "1.21.3"; + hash = "sha256-x0riT7EvbuyX91wq9PIEwDQe1aiBrYD9R9Io16JvprM="; + }) + (fetchNuGet { + pname = "MemoryPack.Core"; + version = "1.21.3"; + hash = "sha256-99ys+oZfBxcmal9PE14bxmR+svGk+J3FqAzxG7qVOHg="; + }) + (fetchNuGet { + pname = "MemoryPack.Generator"; + version = "1.21.3"; + hash = "sha256-TdbsUp0jB/1T4nU1dHS25iizpXLXJ0KWzqo3skMV6KE="; + }) + (fetchNuGet { + pname = "MemoryPack.Streaming"; + version = "1.21.3"; + hash = "sha256-WWJx+aMHnjKVPrOSt0QE0iFh/rNhZCCbUrnww3HdqfI="; + }) + (fetchNuGet { + pname = "MicroCom.Runtime"; + version = "0.11.0"; + hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; + }) + (fetchNuGet { + pname = "Microsoft.AspNet.WebApi.Client"; + version = "6.0.0"; + hash = "sha256-lNL5C4W7/p8homWooO/3ZKDZQ2M0FUTDixJwqWBPVbo="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.WebUtilities"; + version = "8.0.0"; + hash = "sha256-e4wqTJUgPfq6CfRwuXTw32K9vB+hOpSLxSZDpzv23Yg="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.WebUtilities"; + version = "9.0.0"; + hash = "sha256-LFyhPIJNZLBqOEF4uZ1SpqN/NhjpCHqhzO4R2ApXuj0="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.0"; + hash = "sha256-QYVojfqSZKbF8P6D/aacfxfumMaRUD9SEEQbzw73Bbc="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.1"; + hash = "sha256-fAcX4sxE0veWM1CZBtXR/Unky+6sE33yrV7ohrWGKig="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "6.0.0"; + hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "7.0.0"; + hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Git"; + version = "8.0.0"; + hash = "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzer.Testing"; + version = "1.1.2"; + hash = "sha256-NeOzfN/9WiX/GsZicQ+oDUuPrZgrxTcP8w7kszAKaaY="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.3"; + hash = "sha256-pkZiggwLw8k+CVSXKTzsVGsT+K49LxXUS3VH5PNlpCY="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.4"; + hash = "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "1.0.1"; + hash = "sha256-jjWtdrHSISgBF1m94P0DsVbQa4YxKnf2CWRWYHQLTG8="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "3.8.0"; + hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.1.0"; + hash = "sha256-g3RLyeHfdOOF6H89VLJi06/k8/eJ6j2dgNYZ/MBdfNU="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.11.0"; + hash = "sha256-cX/xgM0VmS+Bsu63KZk2ofjFOOy1mzI+CCVEY6kI+Qk="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.8.0"; + hash = "sha256-3IEinVTZq6/aajMVA8XTRO3LTIEt0PuhGyITGJLtqz4="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "3.8.0"; + hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.1.0"; + hash = "sha256-pM9WXvxZI3SS89CGVjxqtAyZyfyiZQzW0UnNCDiQrQA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.11.0"; + hash = "sha256-E9jEOjp9g/CFecsc5/QfRKOPXMRpSw0Tf79XsRgL+Mk="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.8.0"; + hash = "sha256-MmOnXJvd/ezs5UPcqyGLnbZz5m+VedpRfB+kFZeeqkU="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing"; + version = "1.1.2"; + hash = "sha256-WkdcHsqrFQnXEkcuyWPIPybY25QDzpMEem9KflPwFn0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing.XUnit"; + version = "1.1.2"; + hash = "sha256-wYCDZopLucktDQpzACb/BTj+t4arpFuqUEAKxfjLk7U="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; + version = "3.8.0"; + hash = "sha256-i6PTXkHepgTXseFFg57iRh5thKtKYc9CH11y/qzDy8k="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; + version = "4.8.0"; + hash = "sha256-WNzc+6mKqzPviOI0WMdhKyrWs8u32bfGj2XwmfL7bwE="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.SourceGenerators.Testing"; + version = "1.1.2"; + hash = "sha256-5npL4J8jxcBTmNBT9k3CNeGT0lIWfmWBVXwzEiqRypg="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Testing.Verifiers.XUnit"; + version = "1.1.2"; + hash = "sha256-lwRXcej7nA6sa/Ss4HwDBgiMG3NTBx9peiLxn4l0Wrk="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Workspaces.Common"; + version = "1.0.1"; + hash = "sha256-/SYPkq5LhOoEWi+rcBZDyQL2U0cQk2YrykNJODrRLVs="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Workspaces.Common"; + version = "3.8.0"; + hash = "sha256-3D7xV3V1WsUU9OMMEOj+z9GouCDKXSBC4Z/Szs/OcWE="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Workspaces.Common"; + version = "4.8.0"; + hash = "sha256-X8R4SpWVO/gpip5erVZf5jCCx8EX3VzIRtNrQiLDIoM="; + }) + (fetchNuGet { + pname = "Microsoft.CodeCoverage"; + version = "17.11.1"; + hash = "sha256-1dLlK3NGh88PuFYZiYpT+izA96etxhU3BSgixDgdtGA="; + }) + (fetchNuGet { + pname = "Microsoft.Composition"; + version = "1.0.27"; + hash = "sha256-G/3p3zxOWC8HqLt7Ll5cqN7507F6N/G6G/HzKazQRdE="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.NETCore.Client"; + version = "0.2.251802"; + hash = "sha256-9ZH4rrfACzJP5oiarDW4cD2nczv1SNgZr4GW1J9hlUA="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.Runtime"; + version = "2.2.332302"; + hash = "sha256-5R9xK0owZEhXsucqPKnPaTiwhXBnLo92L2AY7IjyxNg="; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; + version = "3.1.8"; + hash = "sha256-JFrNrQrXjOJI7v4MpQEDMfmfndM4ThtDZkATAGin9lE="; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.PlatformAbstractions"; + version = "3.1.6"; + hash = "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.AmbientMetadata.Application"; + version = "9.0.0"; + hash = "sha256-1cEpOtFLK7J9Hnq28Av+pdKaYjRldWVNRD2zhBsbWps="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Compliance.Abstractions"; + version = "9.0.0"; + hash = "sha256-Se92b6d4EEpL9HCD0OwFRlRSGM64+U4PVEid9ncuAqk="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "9.0.0"; + hash = "sha256-uBLeb4z60y8z7NelHs9uT3cLD6wODkdwyfJm6/YZLDM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "9.0.0"; + hash = "sha256-xtG2USC9Qm0f2Nn6jkcklpyEDT3hcEZOxOwTc0ep7uc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "8.0.0"; + hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "9.0.0"; + hash = "sha256-6ajYWcNOQX2WqftgnoUmVtyvC1kkPOtTCif4AiKEffU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "8.0.0"; + hash = "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "9.0.0"; + hash = "sha256-RE6DotU1FM1sy5p3hukT+WOFsDYJRsKX6jx5vhlPceM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "8.0.0"; + hash = "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "9.0.0"; + hash = "sha256-tDJx2prYZpr0RKSwmJfsK9FlUGwaDmyuSz2kqQxsWoI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "8.0.0"; + hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "9.0.0"; + hash = "sha256-PsLo6mrLGYfbi96rfCG8YS1APXkUXBG4hLstpT60I4s="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "8.0.0"; + hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "9.0.0"; + hash = "sha256-qQn7Ol0CvPYuyecYWYBkPpTMdocO7I6n+jXQI2udzLI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.UserSecrets"; + version = "8.0.0"; + hash = "sha256-/yj5QaEzeRStvOFoBpPRPXlEehGtr2E6/rJb+OEPIK8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.UserSecrets"; + version = "9.0.0"; + hash = "sha256-GoEk+Qq7lbiwWurHYx1LkDaUzIpOzaoTiVGDPfViGak="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "9.0.0"; + hash = "sha256-dAH52PPlTLn7X+1aI/7npdrDzMEFPMXRv4isV1a+14k="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.0.0"; + hash = "sha256-H1rEnq/veRWvmp8qmUsrQkQIcVlKilUNzmmKsxJ0md8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.1"; + hash = "sha256-lzTYLpRDAi3wW9uRrkTNJtMmaYdtGJJHdBLbUKu60PM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.2"; + hash = "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "9.0.0"; + hash = "sha256-CncVwkKZ5CsIG2O0+OM9qXuYXh3p6UGyueTHSLDVL+c="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.AutoActivation"; + version = "9.0.0"; + hash = "sha256-45NiMtCHV4BDkwnSZmsTRJ8dHMDm5WAGhJh4x+z7TiM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics"; + version = "8.0.0"; + hash = "sha256-fBLlb9xAfTgZb1cpBxFs/9eA+BlBvF8Xg0DMkBqdHD4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics"; + version = "9.0.0"; + hash = "sha256-JMbhtjdcWRlrcrbgPlowfj26+pM+MYhnPIaYKnv9byU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics.Abstractions"; + version = "8.0.0"; + hash = "sha256-USD5uZOaahMqi6u7owNWx/LR4EDrOwqPrAAim7iRpJY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics.Abstractions"; + version = "9.0.0"; + hash = "sha256-wG1LcET+MPRjUdz3HIOTHVEnbG/INFJUqzPErCM79eY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics.ExceptionSummarization"; + version = "9.0.0"; + hash = "sha256-Nj8l1ba5iZ5Tubu+vY3a5dgTRkYmGNP2wtXC8Re8aCg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "8.0.0"; + hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "9.0.0"; + hash = "sha256-mVfLjZ8VrnOQR/uQjv74P2uEG+rgW72jfiGdSZhIfDc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "8.0.0"; + hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "9.0.0"; + hash = "sha256-IzFpjKHmF1L3eVbFLUZa2N5aH3oJkJ7KE1duGIS7DP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "8.0.0"; + hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "9.0.0"; + hash = "sha256-eBLa8pW/y/hRj+JbEr340zbHRABIeFlcdqE0jf5/Uhc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting"; + version = "8.0.0"; + hash = "sha256-sKHa+w4/pMeQb5RRFqLtMTUJy5H6hSIGWchbH2pxSrg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting"; + version = "9.0.0"; + hash = "sha256-apIN4Cz86ujsMp/ibxcvguA9uCFaFqOsZ4kAUPX5ASI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "8.0.0"; + hash = "sha256-0JBx+wwt5p1SPfO4m49KxNOXPAzAU0A+8tEc/itvpQE="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "9.0.0"; + hash = "sha256-NhEDqZGnwCDFyK/NKn1dwLQExYE82j1YVFcrhXVczqY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Http"; + version = "8.0.0"; + hash = "sha256-UgljypOLld1lL7k7h1noazNzvyEHIJw+r+6uGzucFSY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Http"; + version = "9.0.0"; + hash = "sha256-MsStH3oUfyBbcSEoxm+rfxFBKI/rtB5PZrSGvtDjVe0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Http.Diagnostics"; + version = "9.0.0"; + hash = "sha256-4XtkhRMXTFR1I85rJ73BFa01XDRW/fz4+Jig0S/Wm3M="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Http.Resilience"; + version = "9.0.0"; + hash = "sha256-GFGvnupmgvTgbmknxpF7H3DmxqvX9JOdxKuK2lR6bVM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.0.0"; + hash = "sha256-Bg3bFJPjQRJnPvlEc5v7lzwRaUTzKwXDtz81GjCTfMo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.1.1"; + hash = "sha256-HnEBmAhweBalCAeX+KZ4kEL3GXEVDBg6Uq4H4LJ56oo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "9.0.0"; + hash = "sha256-kR16c+N8nQrWeYLajqnXPg7RiXjZMSFLnKLEs4VfjcM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.0.0"; + hash = "sha256-cBBNcoREIdCDnwZtnTG+BoAFmVb71P1nhFOAH07UsfQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "3.0.3"; + hash = "sha256-UFawgCAhbN5HCtJy39XO4sz5N/P/Zyrs0uqrQHc4SPI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "6.0.1"; + hash = "sha256-v3FWpuKXlBIW5NwqQx0Ffb6y58RlevIyO/byqeLphJ8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "9.0.0"; + hash = "sha256-iBTs9twjWXFeERt4CErkIIcoJZU1jrd1RWCI8V5j7KU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "8.0.0"; + hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "9.0.0"; + hash = "sha256-ysPjBq64p6JM4EmeVndryXnhLWHYYszzlVpPxRWkUkw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "8.0.0"; + hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "9.0.0"; + hash = "sha256-N2t9EUdlS6ippD4Z04qUUyBuQ4tKSR/8TpmKScb5zRw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Debug"; + version = "8.0.0"; + hash = "sha256-AJunzYBZM2wCg86hnPnMrBuWIIyW/4PnIVoDSU969cA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Debug"; + version = "9.0.0"; + hash = "sha256-5W6fP9Eb98U3MTWKeLzSNl2cRFpE694OOPjpWp/qTAk="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventLog"; + version = "8.0.0"; + hash = "sha256-vXBm4yhWGP4uow0CqstuqOkxO8yeZEM15JTTenjPbhc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventLog"; + version = "9.0.0"; + hash = "sha256-mIL1I85Ef5+/mXl24odoUpcXet+jCZTRtKCd5z6YUwI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventSource"; + version = "8.0.0"; + hash = "sha256-kaR7YOlq5s8W9nZDtH/lKtnfGbrgOuQY4DUPcA2lcj0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventSource"; + version = "9.0.0"; + hash = "sha256-pplZskMsR3gGbs3I0wycGsvIMPIpfWFJpOsR9GkiYRw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.ObjectPool"; + version = "8.0.0"; + hash = "sha256-FxFr5GC0y6vnp5YD2A2vISXYizAz3k/QyrH7sBXP5kg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.ObjectPool"; + version = "9.0.0"; + hash = "sha256-mX2Y2bHwScjXh1xQOweawmwo7jYLw+MhePibk/96dMY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.0.0"; + hash = "sha256-EMvaXxGzueI8lT97bYJQr0kAj1IK0pjnAcWN82hTnzw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "9.0.0"; + hash = "sha256-DT5euAQY/ItB5LPI8WIp6Dnd0lSvBRP35vFkOXC68ck="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "8.0.0"; + hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "9.0.0"; + hash = "sha256-r1Z3sEVSIjeH2UKj+KMj86har68g/zybSqoSjESBcoA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "9.0.0"; + hash = "sha256-ZNLusK1CRuq5BZYZMDqaz04PIKScE2Z7sS2tehU7EJs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Resilience"; + version = "9.0.0"; + hash = "sha256-3zd2zOR8C3+VaPpUnJ+wcCaBbvzU8DjGGuaZ/dxsqQQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Telemetry"; + version = "9.0.0"; + hash = "sha256-MKltsZC6s7sE8mO1XpOOzgFbp3CJS7sHGMH92DjXSso="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Telemetry.Abstractions"; + version = "9.0.0"; + hash = "sha256-rGeoVSc3RJlhL8Sv8CgDh2+BOiFHllKl2K9vtXxl+Ec="; + }) + (fetchNuGet { + pname = "Microsoft.IO.RecyclableMemoryStream"; + version = "3.0.0"; + hash = "sha256-WBXkqxC5g4tJ481sa1uft39LqA/5hx5yOfiTfMRMg/4="; + }) + (fetchNuGet { + pname = "Microsoft.Net.Http.Headers"; + version = "9.0.0"; + hash = "sha256-fJ42UoMaftaGZbMA5LlGhZNns1hQY2eLkw6EEeCYcAQ="; + }) + (fetchNuGet { + pname = "Microsoft.NET.Test.Sdk"; + version = "17.11.1"; + hash = "sha256-0JUEucQ2lzaPgkrjm/NFLBTbqU1dfhvhN3Tl3moE6mI="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.0.0"; + hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.2"; + hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.Common"; + version = "8.0.0"; + hash = "sha256-AfUqleVEqWuHE7z2hNiwOLnquBJ3tuYtbkdGMppHOXc="; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.GitHub"; + version = "8.0.0"; + hash = "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.10.0"; + hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.11.1"; + hash = "sha256-5vX+vCzFY3S7xfMVIv8OlMMFtdedW9UIJzc0WEc+vm4="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TestHost"; + version = "17.11.1"; + hash = "sha256-wSkY0H1fQAq0H3LcKT4u7Y5RzhAAPa6yueVN84g8HxU="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Composition"; + version = "16.1.8"; + hash = "sha256-yFT4t3Uk31R5EPdAxxsTAmRuiv58MlYoYL4JT1ywlHQ="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Composition.NetFxAttributes"; + version = "16.1.8"; + hash = "sha256-FFemIG+m8RWUPo5W+kCHPh5Yn4fGS+tpjGiQTcT0sAE="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading"; + version = "17.10.48"; + hash = "sha256-WL8c7TjDBHGjsVLMMPf9cin8rirzOdxusEBQlkUfiVU="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading.Analyzers"; + version = "17.10.48"; + hash = "sha256-EvZGbyxtrJDvHZwsQbZDXtVfWiy0f58oCdTdSzD34wI="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Validation"; + version = "15.0.82"; + hash = "sha256-7JFaA/HZHVjsEtTh/iHDRLi5RcuA39KKvvCkuI4JQFc="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Validation"; + version = "17.8.8"; + hash = "sha256-sB8GLRiJHX3Py7qeBUnUANiDWhyPtISon6HQs+8wKms="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.4.0"; + hash = "sha256-ZumsykAAIYKmVtP4QI5kZ0J10n2zcOZZ69PmAK0SEiE="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; + }) + (fetchNuGet { + pname = "Nerdbank.FullDuplexStream"; + version = "1.1.12"; + hash = "sha256-PZwy+qQ8nOdH5gRRQ24go2yh+YmZQhziwbyWC+1qoJc="; + }) + (fetchNuGet { + pname = "Nerdbank.Streams"; + version = "2.11.79"; + hash = "sha256-1bzibVcSH8LJMR8Nb6Q0q/7fieTgxRnVY4C1RvRbrrI="; + }) + (fetchNuGet { + pname = "NetEscapades.EnumGenerators"; + version = "1.0.0-beta07"; + hash = "sha256-SYIuk1B2birutYx6d0vbCshEd8ZEH0pDVrNm9daBxwY="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.0"; + hash = "sha256-ExWI1EKDCRishcfAeHVS/RoJphqSqohmJIC/wz3ZtVo="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.1"; + hash = "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "12.0.1"; + hash = "sha256-4Xf3RZrJomAh3jaZrEAJX3oPmOowGV8yDB9Y3h0Dw4U="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json.Bson"; + version = "1.0.2"; + hash = "sha256-ZUj6YFSMZp5CZtXiamw49eZmbp1iYBuNsIKNnjxcRzA="; + }) + (fetchNuGet { + pname = "NexusMods.Archives.Nx"; + version = "0.6.1"; + hash = "sha256-NDUxypEccSlGBG9nYTJJiTqYrZWjSjV1xt/uUbtfeS8="; + }) + (fetchNuGet { + pname = "NexusMods.Hashing.xxHash3"; + version = "3.0.3"; + hash = "sha256-lhuuHZvH1klH6HE00h1On6icd6CLdFqvLLkfb3x1VVY="; + }) + (fetchNuGet { + pname = "NexusMods.Hashing.xxHash3.Paths"; + version = "3.0.3"; + hash = "sha256-UeOX3Y8MGmAgWHWH3GolsA/MyNM9iam75pxxRXhd50M="; + }) + (fetchNuGet { + pname = "NexusMods.MnemonicDB"; + version = "0.9.97"; + hash = "sha256-b0k/hM6UYvMTZN2QMk53QN9Fw/pomXJ88k9QqfrAF+s="; + }) + (fetchNuGet { + pname = "NexusMods.MnemonicDB.Abstractions"; + version = "0.9.97"; + hash = "sha256-EnWQMeXMKwziMoBXKf7t+Ru6EHZBml4Pt3h1eSP1Ud0="; + }) + (fetchNuGet { + pname = "NexusMods.MnemonicDB.SourceGenerator"; + version = "0.9.97"; + hash = "sha256-KOZVhS3H/qY6bRW9HmSF1Ud4fXv5oEWORDdYET9Ochw="; + }) + (fetchNuGet { + pname = "NexusMods.Paths"; + version = "0.10.0"; + hash = "sha256-tzUKPBrGNyZvVgScDAP0qvVF5nV6635v3NlBvzpnz1M="; + }) + (fetchNuGet { + pname = "NexusMods.Paths"; + version = "0.15.0"; + hash = "sha256-No2kbrDVmJ5ySLm7jH+gNAfNLVnsv4AtLT1phcuOFLc="; + }) + (fetchNuGet { + pname = "NexusMods.Paths.Extensions.Nx"; + version = "0.15.0"; + hash = "sha256-8QT+Iu32u4m5wqMG2bAqramnUQPLDmUB8/c+ew4fRqM="; + }) + (fetchNuGet { + pname = "NexusMods.Paths.TestingHelpers"; + version = "0.15.0"; + hash = "sha256-xUZIAND1Ob0SRuoTTuJqw7N2j/4ncIlck3lgfeWxd5M="; + }) + (fetchNuGet { + pname = "NLog"; + version = "5.3.4"; + hash = "sha256-Cwr1Wu9VbOcRz3GdVKkt7lIpNwC1E4Hdb0g+qEkEr3k="; + }) + (fetchNuGet { + pname = "NLog.Extensions.Logging"; + version = "5.3.14"; + hash = "sha256-Ckb3z1Ou5dAncADgylCu7yOGfQ7Vh47Oc48PInAi1lA="; + }) + (fetchNuGet { + pname = "Noggog.CSharpExt"; + version = "2.67.3"; + hash = "sha256-UjONR5k+miASf4OxLPF9fccYLkfRJsVnktmvvEQDzUc="; + }) + (fetchNuGet { + pname = "NSubstitute"; + version = "5.3.0"; + hash = "sha256-fa6Hn9Qmpia2labWOs1Xp2LnJBOHfrWIwxvqKRRccs0="; + }) + (fetchNuGet { + pname = "NSubstitute.Analyzers.CSharp"; + version = "1.0.17"; + hash = "sha256-HyMhNJMze3ALJbl71pprjuLCqS+KLA/bOeX4Sng/eb4="; + }) + (fetchNuGet { + pname = "NuGet.Common"; + version = "6.3.4"; + hash = "sha256-GDzEyx9/wdVOUAri94uoDjChmfDnBhI90nBfzoHarts="; + }) + (fetchNuGet { + pname = "NuGet.Configuration"; + version = "6.3.4"; + hash = "sha256-qXIONIKcCIXJUmNJQs7MINQ18qIEUByTtW5xsORoZoc="; + }) + (fetchNuGet { + pname = "NuGet.Frameworks"; + version = "6.3.4"; + hash = "sha256-zqogus3HXQYSiqfnhVH2jd2VZXa+uTsmaw/uwD8dlgY="; + }) + (fetchNuGet { + pname = "NuGet.Packaging"; + version = "6.3.4"; + hash = "sha256-1LKM5vgfNKn8v2LcqialwmcynACISR57q13n7I2lQbU="; + }) + (fetchNuGet { + pname = "NuGet.Protocol"; + version = "6.3.4"; + hash = "sha256-j3L4bDzM+0/U4dm9q914DNpOzPpOPWhaolfOFKosdAQ="; + }) + (fetchNuGet { + pname = "NuGet.Resolver"; + version = "6.3.4"; + hash = "sha256-rXYXgdJMtwne3skk4jMgqyZlwh3QCTX9hIHvvXafxUM="; + }) + (fetchNuGet { + pname = "NuGet.Versioning"; + version = "6.3.4"; + hash = "sha256-6CMYVQeGfXu+xner3T3mgl/iQfXiYixoHizmrNA6bvQ="; + }) + (fetchNuGet { + pname = "ObservableCollections"; + version = "3.3.2"; + hash = "sha256-pM/2bPf2QvgOhkqA/cSpd/0jAqhOXrtLn01WWZiuoGc="; + }) + (fetchNuGet { + pname = "ObservableCollections.R3"; + version = "3.3.2"; + hash = "sha256-q/Ch2JW4H/CvE0oFxmqQDKbgQVo1HfHmtuhMrnFQSEU="; + }) + (fetchNuGet { + pname = "OneOf"; + version = "2.1.125"; + hash = "sha256-3XkBNSEMwlNyNpY/H2gtJ47Mc7905p/CJH9d/VJyO3s="; + }) + (fetchNuGet { + pname = "OneOf"; + version = "3.0.271"; + hash = "sha256-tFWy8Jg/XVJfVOddjXeCAizq/AUljJrq6J8PF6ArYSU="; + }) + (fetchNuGet { + pname = "OneOf.Extended"; + version = "2.1.125"; + hash = "sha256-wJaz49zNFzZwSpMTeabEoJR65Kvk7NCrAqyTKxjfFkg="; + }) + (fetchNuGet { + pname = "Onigwrap"; + version = "1.0.6"; + hash = "sha256-p+dhMfIH4C6xLKRUREnUpC0DZwFazjvI+30KRT8TWnU="; + }) + (fetchNuGet { + pname = "OpenTelemetry"; + version = "1.10.0"; + hash = "sha256-ucUy3vIabYb0TGDhraqMEzT+LLPmXrO1NgAjEeyVCO8="; + }) + (fetchNuGet { + pname = "OpenTelemetry.Api"; + version = "1.10.0"; + hash = "sha256-ZSpQFnNgkk3dO8Q7yokJ/VSl4wp5PuIv9nduxgC6UxU="; + }) + (fetchNuGet { + pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; + version = "1.10.0"; + hash = "sha256-hLw3Sf1fviAlVJYhaMudVJEdG5pjX5JvVrqv9DgYAk8="; + }) + (fetchNuGet { + pname = "OpenTelemetry.Exporter.OpenTelemetryProtocol"; + version = "1.10.0"; + hash = "sha256-1sKqD/DsEo1nfD4BuuIde/In7W0wAbIEWD3jvvbO8JA="; + }) + (fetchNuGet { + pname = "OpenTelemetry.Extensions.Hosting"; + version = "1.10.0"; + hash = "sha256-+O9oaAUYaKUItLAaT7yQUs2nrHVDNkj8YcFuUxiTy6M="; + }) + (fetchNuGet { + pname = "Pathoschild.Http.FluentClient"; + version = "4.4.1"; + hash = "sha256-UmMMhtOkhC3l8XHVPsI2aLg9lYgHOePSnkPcUaJumTo="; + }) + (fetchNuGet { + pname = "Perfolizer"; + version = "0.3.17"; + hash = "sha256-EfT9EabewLMOAKrxEwpj7QRzqnHODU0tZ08o1w7aV6Q="; + }) + (fetchNuGet { + pname = "Polly"; + version = "8.5.0"; + hash = "sha256-oXIqYMkFXoF/9y704LJSX5Non9mry19OSKA7JFviu5Q="; + }) + (fetchNuGet { + pname = "Polly.Core"; + version = "8.4.2"; + hash = "sha256-4fn5n6Bu29uqWg8ciii3MDsi9bO2/moPa9B3cJ9Ihe8="; + }) + (fetchNuGet { + pname = "Polly.Core"; + version = "8.5.0"; + hash = "sha256-vN/OoQi5F8+oKNO46FwjPcKrgfhGMGjAQ2yCQUlHtOc="; + }) + (fetchNuGet { + pname = "Polly.Extensions"; + version = "8.4.2"; + hash = "sha256-oyf9CNi8NXLyeMLwBBCifFvV6erIEaurs8i9BZdr0ik="; + }) + (fetchNuGet { + pname = "Polly.RateLimiting"; + version = "8.4.2"; + hash = "sha256-432TfbcJ8UUhDWKLcAFksMjbcU0PlLrK+BrrDxFw4/8="; + }) + (fetchNuGet { + pname = "Projektanker.Icons.Avalonia"; + version = "9.4.1"; + hash = "sha256-RK62Wls48/j7QZTLlzHOLCXV0jK/0WBra5367zyit7s="; + }) + (fetchNuGet { + pname = "Projektanker.Icons.Avalonia.MaterialDesign"; + version = "9.4.1"; + hash = "sha256-YfGVVfl/Yon9WgJCZscXZMbZoCNg+OvGFvdPSxe+Q1I="; + }) + (fetchNuGet { + pname = "QoiSharp"; + version = "1.0.0"; + hash = "sha256-iN/yCXVN0M5+T/Ye9KJ+EGoLsaBxFU/uCIXvX17EhkM="; + }) + (fetchNuGet { + pname = "R3"; + version = "1.0.0"; + hash = "sha256-CikGDRUi/EDN2j32cBRl0g+QtdCVYPUizBt41oSVlUA="; + }) + (fetchNuGet { + pname = "R3"; + version = "1.2.9"; + hash = "sha256-Wb3ELPbVhxEMqkrQq5vIjGC36VAzIuMdiYqSAEnVXpY="; + }) + (fetchNuGet { + pname = "R3Extensions.Avalonia"; + version = "1.2.9"; + hash = "sha256-ZNah6u4+a13E93rYGtZIyYPIb3mkopIjjCzYUgmjCxQ="; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "19.5.41"; + hash = "sha256-FsdD1lBZyegqOVzJhZHAz1owCLh7GbVUYXiORbo5euk="; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "20.1.1"; + hash = "sha256-p9l2GMzBRchKb4gW9pQ3DIKhs2O9fX3t/V7jDDztBqE="; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "20.1.63"; + hash = "sha256-fcLBYRz5WFlPYtIiLA1k/6xxxWhlclVMj7li8z04g68="; + }) + (fetchNuGet { + pname = "ReactiveUI.Fody"; + version = "19.5.41"; + hash = "sha256-LfKELxAfApQLL0fDd7UJCsZML5C4MFN+Gc5ECaBXmUM="; + }) + (fetchNuGet { + pname = "Reloaded.Memory"; + version = "9.4.1"; + hash = "sha256-bXaTAUx+/SiiMLmxuPumV9z5w1HcHpzEoNuR+xNhafs="; + }) + (fetchNuGet { + pname = "Reloaded.Memory"; + version = "9.4.2"; + hash = "sha256-GGS949WoLUPwCYyfbdTOAgXgbV/N0seqL3RegwyPkls="; + }) + (fetchNuGet { + pname = "RocksDB"; + version = "9.4.0.50294"; + hash = "sha256-SHt+2Kaj2eCqoeeH28EGlyRUi+g9Y3e9OzVvp946F7I="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + hash = "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + hash = "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Console"; + version = "4.3.0"; + hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "SHA3.Net"; + version = "2.0.0"; + hash = "sha256-rNwk9ry52bN95FeNqNC29FokNRRzKw3XnojO/UzHlYc="; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.2"; + hash = "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="; + }) + (fetchNuGet { + pname = "SharpZstd.Interop"; + version = "1.5.6"; + hash = "sha256-Y1sCo7RTRtXjkTG2ZAPFx/qXzX4yW8BEaot7Ngfbg8g="; + }) + (fetchNuGet { + pname = "ShimSkiaSharp"; + version = "2.0.0.2"; + hash = "sha256-Q1ok5/R8FWDCQubbhPsbRWigGqfiADFYUoiLlCvk/20="; + }) + (fetchNuGet { + pname = "SimpleInfoName"; + version = "3.0.1"; + hash = "sha256-9p/BiEqlQczjjUfpUxcFKn71cLAJC7GGvYqRs8fSuuQ="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.6"; + hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.8"; + hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="; + }) + (fetchNuGet { + pname = "SkiaSharp.HarfBuzz"; + version = "2.88.6"; + hash = "sha256-gpHiTuHfiXgbkBkzipXb8EXIatefsod75nyrFdPcwcA="; + }) + (fetchNuGet { + pname = "SkiaSharp.HarfBuzz"; + version = "2.88.8"; + hash = "sha256-W9jNuEo/8q+k2aHNC19FfKcBUIEWx2zDcGwM+jDZ1o8="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.8"; + hash = "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.8"; + hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.8"; + hash = "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.8"; + hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="; + }) + (fetchNuGet { + pname = "Spectre.Console"; + version = "0.49.1"; + hash = "sha256-tqSVojyuQjuB34lXo759NOcyLgNIw815mKXJPq5JFDo="; + }) + (fetchNuGet { + pname = "Spectre.Console.Cli"; + version = "0.49.1"; + hash = "sha256-sar9rhft1ivDMj1kU683+4KxUPUZL+Fb++ewMA6RD4Q="; + }) + (fetchNuGet { + pname = "Spectre.Console.Testing"; + version = "0.49.1"; + hash = "sha256-NFZE0ubRmjeOOnkf8EXCp8lya0XK1tclMmtodxJPt1I="; + }) + (fetchNuGet { + pname = "Splat"; + version = "14.8.12"; + hash = "sha256-9KTsYPHVN/wiL8/Yy1KQafrFRy7x8VCEHdzgB+9+8SU="; + }) + (fetchNuGet { + pname = "Splat"; + version = "15.1.1"; + hash = "sha256-WipAVaUx2HrYNQ9LcYm496LndmSpVbuzJxzP9FA6Ohg="; + }) + (fetchNuGet { + pname = "Splat"; + version = "15.2.22"; + hash = "sha256-GSD6XrFYlYj6jkmI7Z4bYCcRIQCRAyzcuVWHmAll5K4="; + }) + (fetchNuGet { + pname = "Splat.Microsoft.Extensions.Logging"; + version = "15.2.22"; + hash = "sha256-4QO7NAcOqTDxwsheB2wyXRdH626JylEbahQaKWKZpIc="; + }) + (fetchNuGet { + pname = "StrawberryShake.Core"; + version = "14.1.0"; + hash = "sha256-h1Ozv0vdR2UvHIw3JqoBNKPVuD1S31aui7IQ8i8hcnE="; + }) + (fetchNuGet { + pname = "StrawberryShake.Resources"; + version = "14.1.0"; + hash = "sha256-6uOb5V7UeHM9OKUTJ4p8/YwvI16LcrC12tPhSAw3U0Q="; + }) + (fetchNuGet { + pname = "StrawberryShake.Server"; + version = "14.1.0"; + hash = "sha256-6K6TnX8YL0Dbt8wTv9FmBlbSo+UfaucHi9a5CqWCjoY="; + }) + (fetchNuGet { + pname = "StrawberryShake.Transport.Http"; + version = "14.1.0"; + hash = "sha256-Pa2vACAYMgLrAxiZUR7PxBvPY9wrclQRYGZod/VMG5Q="; + }) + (fetchNuGet { + pname = "StrawberryShake.Transport.WebSockets"; + version = "14.1.0"; + hash = "sha256-Hqp6GSxMcYorg5v8ns24DNfUDwYGY3urg0FKPleD86I="; + }) + (fetchNuGet { + pname = "Svg.Custom"; + version = "2.0.0.2"; + hash = "sha256-6sWw1V2oPdLgLDybH/FT/hUo+CKZiaIfOYv0KUaiTxk="; + }) + (fetchNuGet { + pname = "Svg.Model"; + version = "2.0.0.2"; + hash = "sha256-TGkz0qMKvvjMdliqHEsJE1rqKIbezUZrkjofKRduAk8="; + }) + (fetchNuGet { + pname = "Svg.Skia"; + version = "2.0.0.2"; + hash = "sha256-8F9LAgj3pdfv5VmnsuS/iHAmI1tajvuSZeTeenS13Lc="; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "5.0.0"; + hash = "sha256-UNqyPrK9eshU5kgJukvPamkaxLAp9BmR/J22OjEX+pM="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "8.0.0"; + hash = "sha256-uwVhi3xcvX7eiOGQi7dRETk3Qx1EfHsUfchZsEto338="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "9.0.0"; + hash = "sha256-578lcBgswW0eM16r0EnJzfGodPx86RxxFoZHc2PSzsw="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.0.12"; + hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.2.0"; + hash = "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "7.0.0"; + hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "8.0.0"; + hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; + }) + (fetchNuGet { + pname = "System.CommandLine"; + version = "2.0.0-beta4.22272.1"; + hash = "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="; + }) + (fetchNuGet { + pname = "System.ComponentModel"; + version = "4.3.0"; + hash = "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.3.0"; + hash = "sha256-zQVRu6SnLS7aKetDaxvo7zAHWLOB7K/mtgs/uaQtYqk="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.5.0"; + hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "5.0.0"; + hash = "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Composition"; + version = "4.5.0"; + hash = "sha256-xxeZs1zIkhl2ZXU8CaOtCkMX1N290IK7bbHYeEKD0aQ="; + }) + (fetchNuGet { + pname = "System.Composition"; + version = "1.0.31"; + hash = "sha256-wcQEG6MCRa1S03s3Yb3E3tfsIBZid99M7WDhcb48Qik="; + }) + (fetchNuGet { + pname = "System.Composition"; + version = "7.0.0"; + hash = "sha256-YjhxuzuVdAzRBHNQy9y/1ES+ll3QtLcd2o+o8wIyMao="; + }) + (fetchNuGet { + pname = "System.Composition.AttributedModel"; + version = "1.0.31"; + hash = "sha256-u+XnXfj6LQ3OXwrb9KqHRW4a/a9yHzLrJOXwDQ1a/sY="; + }) + (fetchNuGet { + pname = "System.Composition.AttributedModel"; + version = "7.0.0"; + hash = "sha256-3s52Dyk2J66v/B4LLYFBMyXl0I8DFDshjE+sMjW4ubM="; + }) + (fetchNuGet { + pname = "System.Composition.Convention"; + version = "1.0.31"; + hash = "sha256-GQWo1YDyQ3r2OMcKW+GbR3BbZNIAdwK79XAfinNj+AE="; + }) + (fetchNuGet { + pname = "System.Composition.Convention"; + version = "7.0.0"; + hash = "sha256-N4MkkBXSQkcFKsEdcSe6zmyFyMmFOHmI2BNo3wWxftk="; + }) + (fetchNuGet { + pname = "System.Composition.Hosting"; + version = "1.0.31"; + hash = "sha256-fg9BIY+zWtiEBIJefYP2lKHDYa4r/vtPTr3ZI8e0K7g="; + }) + (fetchNuGet { + pname = "System.Composition.Hosting"; + version = "7.0.0"; + hash = "sha256-7liQGMaVKNZU1iWTIXvqf0SG8zPobRoLsW7q916XC3M="; + }) + (fetchNuGet { + pname = "System.Composition.Runtime"; + version = "1.0.31"; + hash = "sha256-mqfxjAnVyE1YCgXMOcV34IWhYFnvXVKjMo9Y/d3yDuo="; + }) + (fetchNuGet { + pname = "System.Composition.Runtime"; + version = "7.0.0"; + hash = "sha256-Oo1BxSGLETmdNcYvnkGdgm7JYAnQmv1jY0gL0j++Pd0="; + }) + (fetchNuGet { + pname = "System.Composition.TypedParts"; + version = "1.0.31"; + hash = "sha256-w9ApcUJr7jYP4Vf5+efIIqoWmr5v9R56W4uC0n8KktQ="; + }) + (fetchNuGet { + pname = "System.Composition.TypedParts"; + version = "7.0.0"; + hash = "sha256-6ZzNdk35qQG3ttiAi4OXrihla7LVP+y2fL3bx40/32s="; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "4.4.0"; + hash = "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + hash = "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.0"; + hash = "sha256-+aODaDEQMqla5RYZeq0Lh66j+xkPYxykrVvSCmJQ+Vs="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "9.0.0"; + hash = "sha256-1VzO9i8Uq2KlTw1wnCCrEdABPZuB2JBD5gBsMTFTSvE="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "6.0.0"; + hash = "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "9.0.0"; + hash = "sha256-tPvt6yoAp56sK/fe+/ei8M65eavY2UUhRnbrREj/Ems="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.1.0"; + hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.0.11"; + hash = "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="; + }) + (fetchNuGet { + pname = "System.Formats.Asn1"; + version = "5.0.0"; + hash = "sha256-9nL3dN4w/dZ49W1pCkTjRqZm6Dh0mMVExNungcBHrKs="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + hash = "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Abstractions"; + version = "21.0.29"; + hash = "sha256-91e2/Bd4ZgANw19mKkTdxAy2tv7NutyG0lQTKhMiEpo="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + }) + (fetchNuGet { + pname = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + }) + (fetchNuGet { + pname = "System.IO.Hashing"; + version = "8.0.0"; + hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; + }) + (fetchNuGet { + pname = "System.IO.Hashing"; + version = "9.0.0"; + hash = "sha256-k6Pdndm5fTD6CB1QsQfP7G+2h4B30CWIsuvjHuBg3fc="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.3"; + hash = "sha256-v+FOmjRRKlDtDW6+TfmyMiiki010YGVTa0EwXu9X7ck="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "7.0.0"; + hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "8.0.0"; + hash = "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Async"; + version = "6.0.1"; + hash = "sha256-uH5fZhcyQVtnsFc6GTUaRRrAQm05v5euJyWCXSFSOYI="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.1.0"; + hash = "sha256-7zqB+FXgkvhtlBzpcZyd81xczWP0D3uWssyAGw3t7b4="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Management"; + version = "5.0.0"; + hash = "sha256-upx2lBRhITuOz9rKth+pBNGvxaLNU3ZOSaS0D+7YHiY="; + }) + (fetchNuGet { + pname = "System.Management"; + version = "8.0.0"; + hash = "sha256-HwpfDb++q7/vxR6q57mGFgl5U0vxy+oRJ6orFKORfP0="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.0"; + hash = "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q="; + }) + (fetchNuGet { + pname = "System.Net.NameResolution"; + version = "4.3.0"; + hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.0.12"; + hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "5.0.0"; + hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "6.0.1"; + hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.7.0"; + hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.3.0"; + hash = "sha256-a/RQr++mSsziWaOTknicfIQX/zJrwPFExfhK6PM0tfg="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "7.0.0"; + hash = "sha256-GwAKQhkhPBYTqmRdG9c9taqrKSKDwyUgOEhWLKxWNPI="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "8.0.0"; + hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.2"; + hash = "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.3"; + hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0"; + hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "4.4.0"; + hash = "sha256-J3T2ECVdL0JiBA999CUz77az545CVOYB11/NPA/huEc="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "4.5.0"; + hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + }) + (fetchNuGet { + pname = "System.Security.Claims"; + version = "4.3.0"; + hash = "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + hash = "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "5.0.0"; + hash = "sha256-nOJP3vdmQaYA07TI373OvZX6uWshETipvi5KpL7oExo="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + hash = "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "5.0.0"; + hash = "sha256-kq/tvYQSa24mKSvikFK2fKUAnexSL4PO4LkPppqtYkE="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "4.4.0"; + hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "4.5.0"; + hash = "sha256-Fa6dX6Gyse1A/RBoin8cVaHQePbfBvp6jjWxUXPhXKQ="; + }) + (fetchNuGet { + pname = "System.Security.Principal"; + version = "4.3.0"; + hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.3.0"; + hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.4.0"; + hash = "sha256-lwNBM33EW45j6o8bM4hKWirEUZCvep0VYFchc50JOYc="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.5.0"; + hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "7.0.0"; + hash = "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.0"; + hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.4"; + hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.5"; + hash = "sha256-yKxo54w5odWT6nPruUVsaX53oPRe+gKzGvLnnxtwP68="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.3.0"; + hash = "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "7.0.0"; + hash = "sha256-Cu0gjQsLIR8Yvh0B4cOPJSYVq10a+3F9pVz/C43CNeM="; + }) + (fetchNuGet { + pname = "System.Threading.RateLimiting"; + version = "8.0.0"; + hash = "sha256-KOEWEt6ZthvZHJ2Wp70d9nBhBrPqobGQDi2twlKYh/w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "4.6.0"; + hash = "sha256-YYrT3GRzVBdendxt8FUDCnOBJi0nw/CJ9VrzcPJWLSg="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + hash = "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "System.Threading.ThreadPool"; + version = "4.3.0"; + hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; + }) + (fetchNuGet { + pname = "TestableIO.System.IO.Abstractions"; + version = "21.0.29"; + hash = "sha256-OFpu9RcDRPLYntQyesBevoG1XxyH96ukHOH0uXqO5ls="; + }) + (fetchNuGet { + pname = "TestableIO.System.IO.Abstractions.Wrappers"; + version = "21.0.29"; + hash = "sha256-2q1HzbyRPIm6VKYzZzZnkXBJzV8S+HBtT6Lej1pv84Y="; + }) + (fetchNuGet { + pname = "TextMateSharp"; + version = "1.0.59"; + hash = "sha256-qfAGSgVpTrWMZSk0TFDVP1IgWWi6O1jEEvWc0Pvw9i0="; + }) + (fetchNuGet { + pname = "TextMateSharp"; + version = "1.0.64"; + hash = "sha256-49Fdf6ndcb4BKMlWYjkjpJ3pLp17Z10FcGJpfdXvvzc="; + }) + (fetchNuGet { + pname = "TextMateSharp.Grammars"; + version = "1.0.59"; + hash = "sha256-ru5VxQK4PFRJhHu+MvCzDt3EwbC/94n1whtDovUAUDA="; + }) + (fetchNuGet { + pname = "TextMateSharp.Grammars"; + version = "1.0.64"; + hash = "sha256-ykBZOyvaX1/iFmZjue754qJG4jfPx38ZdHevEZvh7w8="; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.20.0"; + hash = "sha256-CRW/tkgsuBiBJfRwou12ozRQsWhHDooeP88E5wWpWJw="; + }) + (fetchNuGet { + pname = "TransparentValueObjects"; + version = "1.0.2"; + hash = "sha256-5d9pIf8hbbcBtj6/oc87f98xEuhBiT6Yq5FR2b/mvUQ="; + }) + (fetchNuGet { + pname = "Validation"; + version = "2.3.7"; + hash = "sha256-VTSUT1Ij87fN8zlz7w2HTIUMMx3NBRdbfXmMtFvV5es="; + }) + (fetchNuGet { + pname = "Validation"; + version = "2.4.18"; + hash = "sha256-ByITVSjsqVglWPIRaZ3i1P3bHh8+OB6BWgDA8f8qTFI="; + }) + (fetchNuGet { + pname = "ValveKeyValue"; + version = "0.10.0.360"; + hash = "sha256-LPQ6isUsA3cQKiO6ADijrCQ2ucx4TD01+kGzei3jIGY="; + }) + (fetchNuGet { + pname = "Verify"; + version = "26.5.0"; + hash = "sha256-74kcD01cOebR2lFFnLEJseY6wLpoBzA5FPa73rWIoMM="; + }) + (fetchNuGet { + pname = "Verify"; + version = "27.0.0"; + hash = "sha256-eBvZNh7NAUJgyHD/LOdxhd0GnZOADdshhb0HA8Gz8j8="; + }) + (fetchNuGet { + pname = "Verify"; + version = "28.2.1"; + hash = "sha256-SF2IgbAseEANZDnFXGd//oQ9uLusWrk0TY/GynyBqTI="; + }) + (fetchNuGet { + pname = "Verify.ImageMagick"; + version = "3.6.0"; + hash = "sha256-U6i0pR1ceSDy7+iiRN8RQen3okp6X3De0DK8R5IxxfA="; + }) + (fetchNuGet { + pname = "Verify.SourceGenerators"; + version = "2.5.0"; + hash = "sha256-i9TpQJ2+JhSQ7RXkdmC6pkND32V4cLyEaPLGrD/EpYk="; + }) + (fetchNuGet { + pname = "Verify.Xunit"; + version = "28.2.1"; + hash = "sha256-2PeJmxMrO8Q3muNtPdscxLsb9q04cTPZ8jQZIG1mDbM="; + }) + (fetchNuGet { + pname = "Weave"; + version = "2.1.0"; + hash = "sha256-jyo3pdqJOz3y1GO//jIGxJ9WwRlqMFK+BZET4NfSHVw="; + }) + (fetchNuGet { + pname = "xunit"; + version = "2.9.2"; + hash = "sha256-h5+yTTfCmokCPy4lqdEw8RGzQlrlsQAW3Am0Jh0q7oo="; + }) + (fetchNuGet { + pname = "xunit.abstractions"; + version = "2.0.1"; + hash = "sha256-v5iPVeoUFsZp9zQMt3rg6xgw6UwF4VMIgzVYFIeb/zA="; + }) + (fetchNuGet { + pname = "xunit.abstractions"; + version = "2.0.2"; + hash = "sha256-w5APCW7suBdoDOmQqm/8Gq6+Sk88JcTR09zjmj9s17E="; + }) + (fetchNuGet { + pname = "xunit.abstractions"; + version = "2.0.3"; + hash = "sha256-0D1y/C34iARI96gb3bAOG8tcGPMjx+fMabTPpydGlAM="; + }) + (fetchNuGet { + pname = "xunit.analyzers"; + version = "1.16.0"; + hash = "sha256-P5Bvl9hvHvF8KY1YWLg4tKiYxlfRnmHyL14jfSACDaU="; + }) + (fetchNuGet { + pname = "xunit.assert"; + version = "2.3.0"; + hash = "sha256-lN+NiUEQoHWmoamUjvsNt2PVhHXYeHJHjHRk1BTs6R8="; + }) + (fetchNuGet { + pname = "xunit.assert"; + version = "2.9.2"; + hash = "sha256-EE6r526Q4cHn0Ourf1ENpXZ37Lj/P2uNvonHgpdcnq4="; + }) + (fetchNuGet { + pname = "xunit.core"; + version = "2.9.2"; + hash = "sha256-zhjV1I5xh0RFckgTEK72tIkLxVl4CPmter2UB++oye8="; + }) + (fetchNuGet { + pname = "Xunit.DependencyInjection"; + version = "9.0.0"; + hash = "sha256-nH51bonRwshBIaRYHQr9DUZrQo8q5dggJ03+ngC5bXg="; + }) + (fetchNuGet { + pname = "Xunit.DependencyInjection"; + version = "9.6.0"; + hash = "sha256-lZVjKJH961mNw7aX32aG7wSZyCgHoT9okuX92HNqF9c="; + }) + (fetchNuGet { + pname = "Xunit.DependencyInjection.Logging"; + version = "9.0.0"; + hash = "sha256-9MerQYIgsByxcZmczyp/fW6ZWgzo4ql6j9Iv/Y47E4A="; + }) + (fetchNuGet { + pname = "Xunit.DependencyInjection.SkippableFact"; + version = "9.0.0"; + hash = "sha256-Ub6eSd9/bIhgbqQO+yWtiGfuLIkxSgl6TWfUL4ABkFI="; + }) + (fetchNuGet { + pname = "xunit.extensibility.core"; + version = "2.2.0"; + hash = "sha256-et3Se7paKJlg8Ha4Xr9+He40M6vblxyOwS2BQxOgLlE="; + }) + (fetchNuGet { + pname = "xunit.extensibility.core"; + version = "2.4.0"; + hash = "sha256-LbuXEcEJjGn3L6FCbC119+MY/QLvfLlGkCeAsCsZqGE="; + }) + (fetchNuGet { + pname = "xunit.extensibility.core"; + version = "2.4.2"; + hash = "sha256-wlTMUOQg5NaAPEsWkNSr8QSPbbCNSicpFajp1rowCsA="; + }) + (fetchNuGet { + pname = "xunit.extensibility.core"; + version = "2.9.2"; + hash = "sha256-MQAC/4d67Nssu3R+pHPh6vHitBXQYxEEZkVVMGW720c="; + }) + (fetchNuGet { + pname = "xunit.extensibility.execution"; + version = "2.4.0"; + hash = "sha256-chRJEazwq93yhVONlbtTI1znqYy0gdAoQajPRnhM/i4="; + }) + (fetchNuGet { + pname = "xunit.extensibility.execution"; + version = "2.4.2"; + hash = "sha256-l5Q60IBYWE5tYJCdFEEQnO5rIlXcNEM5S4Ut8vFnL2U="; + }) + (fetchNuGet { + pname = "xunit.extensibility.execution"; + version = "2.9.2"; + hash = "sha256-f+9UfoPyK3JIDhQSW0Yu9c4PGqUqZC96DMINCYi2i80="; + }) + (fetchNuGet { + pname = "xunit.runner.visualstudio"; + version = "2.8.2"; + hash = "sha256-UlfK348r8kJuraywfdCtpJJxHkv04wPNzpUaz4UM/60="; + }) + (fetchNuGet { + pname = "Xunit.SkippableFact"; + version = "1.4.13"; + hash = "sha256-pLtx0/2oTKYO1Y1Vg3k/Eli2OWHT5uorGdBp2uXvFfw="; + }) + (fetchNuGet { + pname = "ZstdSharp.Port"; + version = "0.8.2"; + hash = "sha256-mwU4YWaBrbbqQeQ+7ohm/0ewWPD6S8Y2pg6Rqxbi4Ts="; + }) ] diff --git a/pkgs/by-name/nf/nf-test/package.nix b/pkgs/by-name/nf/nf-test/package.nix index 2dd38bae1a458..d49cbfc2613e4 100644 --- a/pkgs/by-name/nf/nf-test/package.nix +++ b/pkgs/by-name/nf/nf-test/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, makeWrapper -, nextflow -, nf-test -, openjdk11 -, stdenv -, testers +{ + lib, + fetchurl, + makeWrapper, + nextflow, + nf-test, + openjdk11, + stdenv, + testers, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nf/nfd/package.nix b/pkgs/by-name/nf/nfd/package.nix index 49730f44848de..2039698526173 100644 --- a/pkgs/by-name/nf/nfd/package.nix +++ b/pkgs/by-name/nf/nfd/package.nix @@ -35,11 +35,14 @@ stdenv.mkDerivation rec { sphinx wafHook ]; - buildInputs = [ - libpcap - ndn-cxx - openssl - ] ++ lib.optional withWebSocket websocketpp ++ lib.optional withSystemd systemd; + buildInputs = + [ + libpcap + ndn-cxx + openssl + ] + ++ lib.optional withWebSocket websocketpp + ++ lib.optional withSystemd systemd; wafConfigureFlags = [ "--boost-includes=${boost.dev}/include" "--boost-libs=${boost.out}/lib" diff --git a/pkgs/by-name/nf/nfdump/package.nix b/pkgs/by-name/nf/nfdump/package.nix index b7335326cc7ee..6e1afe8aae2ad 100644 --- a/pkgs/by-name/nf/nfdump/package.nix +++ b/pkgs/by-name/nf/nfdump/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, pkg-config -, bzip2 -, libpcap -, flex -, bison +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + bzip2, + libpcap, + flex, + bison, }: stdenv.mkDerivation rec { @@ -18,7 +19,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "phaag"; repo = "nfdump"; - rev = "refs/tags/v${version}"; + rev = "refs/tags/v${version}"; hash = "sha256-1S55WVVHczYBDGwTxGZr+ND+e4a892jkTINlvIR2xgI="; }; diff --git a/pkgs/by-name/nf/nfft/package.nix b/pkgs/by-name/nf/nfft/package.nix index 86acd30d5da8e..3d3bdb47eec61 100644 --- a/pkgs/by-name/nf/nfft/package.nix +++ b/pkgs/by-name/nf/nfft/package.nix @@ -1,12 +1,13 @@ -{ autoconf -, automake -, cunit -, fetchFromGitHub -, fftw -, lib -, libtool -, llvmPackages -, stdenv +{ + autoconf, + automake, + cunit, + fetchFromGitHub, + fftw, + lib, + libtool, + llvmPackages, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nf/nflz/package.nix b/pkgs/by-name/nf/nflz/package.nix index 3d455d908073e..47811ee95c841 100644 --- a/pkgs/by-name/nf/nflz/package.nix +++ b/pkgs/by-name/nf/nflz/package.nix @@ -1,6 +1,7 @@ -{ fetchCrate -, lib -, rustPlatform +{ + fetchCrate, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/nf/nfpm/package.nix b/pkgs/by-name/nf/nfpm/package.nix index 1092326024649..ce41891fdafcf 100644 --- a/pkgs/by-name/nf/nfpm/package.nix +++ b/pkgs/by-name/nf/nfpm/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, buildPackages +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + buildPackages, }: buildGoModule rec { @@ -19,13 +20,19 @@ buildGoModule rec { vendorHash = "sha256-dGVfWKnlZxVdqgZSIRrEWmqSf360J/LKkyiMkKJ88ro="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; nativeBuildInputs = [ installShellFiles ]; postInstall = - let emulator = stdenv.hostPlatform.emulator buildPackages; - in '' + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' ${emulator} $out/bin/nfpm man > nfpm.1 installManPage ./nfpm.1 installShellCompletion --cmd nfpm \ @@ -38,7 +45,10 @@ buildGoModule rec { description = "Simple deb and rpm packager written in Go"; homepage = "https://github.com/goreleaser/nfpm"; changelog = "https://github.com/goreleaser/nfpm/releases/tag/v${version}"; - maintainers = with maintainers; [ techknowlogick caarlos0 ]; + maintainers = with maintainers; [ + techknowlogick + caarlos0 + ]; license = with licenses; [ mit ]; mainProgram = "nfpm"; }; diff --git a/pkgs/by-name/nf/nfstrace/package.nix b/pkgs/by-name/nf/nfstrace/package.nix index c54a5deec46fc..11edace296ef4 100644 --- a/pkgs/by-name/nf/nfstrace/package.nix +++ b/pkgs/by-name/nf/nfstrace/package.nix @@ -1,4 +1,14 @@ -{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, lib, stdenv, libtirpc }: +{ + cmake, + fetchFromGitHub, + fetchpatch, + json_c, + libpcap, + ncurses, + lib, + stdenv, + libtirpc, +}: stdenv.mkDerivation rec { pname = "nfstrace"; @@ -33,19 +43,28 @@ stdenv.mkDerivation rec { ]; postPatch = '' - # -Wall -Wextra -Werror fails on clang and newer gcc - substituteInPlace CMakeLists.txt \ - --replace "-Wno-braced-scalar-init" "" \ - --replace "-Werror" "" + # -Wall -Wextra -Werror fails on clang and newer gcc + substituteInPlace CMakeLists.txt \ + --replace "-Wno-braced-scalar-init" "" \ + --replace "-Werror" "" ''; - buildInputs = [ json_c libpcap ncurses libtirpc ]; + buildInputs = [ + json_c + libpcap + ncurses + libtirpc + ]; nativeBuildInputs = [ cmake ]; # To build with GCC 8+ it needs: CXXFLAGS = "-Wno-class-memaccess -Wno-ignored-qualifiers"; # CMake can't find json_c without: - env.NIX_CFLAGS_COMPILE = toString [ "-I${json_c.dev}/include/json-c" "-Wno-error=address-of-packed-member" "-I${libtirpc.dev}/include/tirpc" ]; + env.NIX_CFLAGS_COMPILE = toString [ + "-I${json_c.dev}/include/json-c" + "-Wno-error=address-of-packed-member" + "-I${libtirpc.dev}/include/tirpc" + ]; NIX_LDFLAGS = [ "-ltirpc" ]; doCheck = false; # requires network access diff --git a/pkgs/by-name/ng/ngadmin/package.nix b/pkgs/by-name/ng/ngadmin/package.nix index fb36a0367c594..751b2f2b96584 100644 --- a/pkgs/by-name/ng/ngadmin/package.nix +++ b/pkgs/by-name/ng/ngadmin/package.nix @@ -1,7 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, readline -, withReadline ? true -, enableEmu ? true -, enableSpy ? true +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + readline, + withReadline ? true, + enableEmu ? true, + enableSpy ? true, }: stdenv.mkDerivation { @@ -15,9 +20,7 @@ stdenv.mkDerivation { sha256 = "15vixhwqcpbjdxlaznans9w63kwl29mdkds6spvbv2i7l33qnhq4"; }; - nativeBuildInputs = - [ autoreconfHook ] - ++ lib.optional withReadline readline; + nativeBuildInputs = [ autoreconfHook ] ++ lib.optional withReadline readline; enableParallelBuilding = true; configureFlags = lib.optional (!withReadline) "--without-readline" diff --git a/pkgs/by-name/ng/nghttp2/package.nix b/pkgs/by-name/ng/nghttp2/package.nix index f17bd6487dddc..ff4d4bfa88c68 100644 --- a/pkgs/by-name/ng/nghttp2/package.nix +++ b/pkgs/by-name/ng/nghttp2/package.nix @@ -1,24 +1,38 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles -, pkg-config - -# Optional dependencies -, enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic -, c-aresMinimal, libev, openssl, zlib -, enableGetAssets ? false, libxml2 -, enableHpack ? false, jansson -, enableHttp3 ? false, ngtcp2, nghttp3, quictls -, enableJemalloc ? false, jemalloc -, enablePython ? false, python3, ncurses - -# Unit tests ; we have to set TZDIR, which is a GNUism. -, enableTests ? stdenv.hostPlatform.isGnu, cunit, tzdata - -# downstream dependencies, for testing -, curl -, libsoup_3 +{ + lib, + stdenv, + fetchurl, + installShellFiles, + pkg-config, + + # Optional dependencies + enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic, + c-aresMinimal, + libev, + openssl, + zlib, + enableGetAssets ? false, + libxml2, + enableHpack ? false, + jansson, + enableHttp3 ? false, + ngtcp2, + nghttp3, + quictls, + enableJemalloc ? false, + jemalloc, + enablePython ? false, + python3, + ncurses, + + # Unit tests ; we have to set TZDIR, which is a GNUism. + enableTests ? stdenv.hostPlatform.isGnu, + cunit, + tzdata, + + # downstream dependencies, for testing + curl, + libsoup_3, }: # Note: this package is used for bootstrapping fetchurl, and thus cannot use fetchpatch! @@ -39,17 +53,31 @@ stdenv.mkDerivation rec { sha256 = "sha256-OmcN83joUrhaIpXyXk9RzCj1bg/MSWQIuMN2QpBTevU="; }; - outputs = [ "out" "dev" "lib" "doc" "man" ]; + outputs = [ + "out" + "dev" + "lib" + "doc" + "man" + ]; - nativeBuildInputs = [ pkg-config ] - ++ lib.optionals (enableApp) [ installShellFiles ]; + nativeBuildInputs = [ pkg-config ] ++ lib.optionals (enableApp) [ installShellFiles ]; - buildInputs = lib.optionals enableApp [ c-aresMinimal libev zlib ] + buildInputs = + lib.optionals enableApp [ + c-aresMinimal + libev + zlib + ] ++ lib.optionals (enableApp && !enableHttp3) [ openssl ] ++ lib.optionals (enableGetAssets) [ libxml2 ] ++ lib.optionals (enableHpack) [ jansson ] ++ lib.optionals (enableJemalloc) [ jemalloc ] - ++ lib.optionals (enableHttp3) [ ngtcp2 nghttp3 quictls ] + ++ lib.optionals (enableHttp3) [ + ngtcp2 + nghttp3 + quictls + ] ++ lib.optionals (enablePython) [ python3 ]; enableParallelBuilding = true; @@ -60,13 +88,20 @@ stdenv.mkDerivation rec { (lib.enableFeature enableHttp3 "http3") ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [ - "-faligned-allocation" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals + (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") + [ + "-faligned-allocation" + ] + ); # Unit tests require CUnit and setting TZDIR environment variable doCheck = enableTests; - nativeCheckInputs = lib.optionals (enableTests) [ cunit tzdata ]; + nativeCheckInputs = lib.optionals (enableTests) [ + cunit + tzdata + ]; preCheck = lib.optionalString (enableTests) '' export TZDIR=${tzdata}/share/zoneinfo ''; @@ -77,15 +112,19 @@ stdenv.mkDerivation rec { substituteInPlace ./config.guess --replace-fail /usr/bin/uname uname ''; - postInstall = lib.optionalString (enableApp) '' - installShellCompletion --bash doc/bash_completion/{h2load,nghttp,nghttpd,nghttpx} - '' + lib.optionalString (!enableApp) '' - rm -r $out/bin - '' + lib.optionalString (enablePython) '' - patchShebangs $out/share/nghttp2 - '' + lib.optionalString (!enablePython) '' - rm -r $out/share - ''; + postInstall = + lib.optionalString (enableApp) '' + installShellCompletion --bash doc/bash_completion/{h2load,nghttp,nghttpd,nghttpx} + '' + + lib.optionalString (!enableApp) '' + rm -r $out/bin + '' + + lib.optionalString (enablePython) '' + patchShebangs $out/share/nghttp2 + '' + + lib.optionalString (!enablePython) '' + rm -r $out/share + ''; passthru.tests = { inherit curl libsoup_3; diff --git a/pkgs/by-name/ng/nginx-config-formatter/package.nix b/pkgs/by-name/ng/nginx-config-formatter/package.nix index edfe912f39835..637145b3b58f8 100644 --- a/pkgs/by-name/ng/nginx-config-formatter/package.nix +++ b/pkgs/by-name/ng/nginx-config-formatter/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { version = "1.2.2"; diff --git a/pkgs/by-name/ng/nginx-doc/package.nix b/pkgs/by-name/ng/nginx-doc/package.nix index 4c0409e2e19c9..01ab35ff1f9c9 100644 --- a/pkgs/by-name/ng/nginx-doc/package.nix +++ b/pkgs/by-name/ng/nginx-doc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, libxml2, libxslt, fetchhg }: +{ + lib, + stdenv, + libxml2, + libxslt, + fetchhg, +}: # Upstream maintains documentation (sources of https://nginx.org) in separate # mercurial repository, which do not correspond to particular git commit, but at @@ -15,7 +21,10 @@ stdenv.mkDerivation { sha256 = "029n4mnmjw94h01qalmjgf1c2h3h7wm798xv5knk3padxiy4m28b"; }; patches = [ ./exclude-google-analytics.patch ]; - nativeBuildInputs = [ libxslt libxml2 ]; + nativeBuildInputs = [ + libxslt + libxml2 + ]; # Generated documentation is not local-friendly, since it assumes that link to directory # is the same as link to index.html in that directory, which is not how browsers behave @@ -31,10 +40,10 @@ stdenv.mkDerivation { meta = with lib; { description = "Reverse proxy and lightweight webserver (documentation)"; - homepage = "https://nginx.org/"; - license = licenses.bsd2; - platforms = platforms.all; - priority = 6; + homepage = "https://nginx.org/"; + license = licenses.bsd2; + platforms = platforms.all; + priority = 6; maintainers = with maintainers; [ kaction ]; }; } diff --git a/pkgs/by-name/ng/nginx-language-server/package.nix b/pkgs/by-name/ng/nginx-language-server/package.nix index 39a5a55f5abd9..03ebbd30807c1 100644 --- a/pkgs/by-name/ng/nginx-language-server/package.nix +++ b/pkgs/by-name/ng/nginx-language-server/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ng/nginx-sso/package.nix b/pkgs/by-name/ng/nginx-sso/package.nix index 578d55b4477e4..358c70efdd2bb 100644 --- a/pkgs/by-name/ng/nginx-sso/package.nix +++ b/pkgs/by-name/ng/nginx-sso/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/ng/ngircd/package.nix b/pkgs/by-name/ng/ngircd/package.nix index 53afea069fea5..76bb5a9225a47 100644 --- a/pkgs/by-name/ng/ngircd/package.nix +++ b/pkgs/by-name/ng/ngircd/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, zlib, openssl, pam, libiconv }: +{ + lib, + stdenv, + fetchurl, + zlib, + openssl, + pam, + libiconv, +}: stdenv.mkDerivation rec { pname = "ngircd"; @@ -18,13 +26,18 @@ stdenv.mkDerivation rec { "--with-iconv" ]; - buildInputs = [ zlib pam openssl libiconv ]; + buildInputs = [ + zlib + pam + openssl + libiconv + ]; meta = { description = "Next Generation IRC Daemon"; mainProgram = "ngircd"; - homepage = "https://ngircd.barton.de"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.all; + homepage = "https://ngircd.barton.de"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ng/ngrep/package.nix b/pkgs/by-name/ng/ngrep/package.nix index 31707ce00d5a8..5c0772047f0fa 100644 --- a/pkgs/by-name/ng/ngrep/package.nix +++ b/pkgs/by-name/ng/ngrep/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libpcap, pcre }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + libpcap, + pcre, +}: stdenv.mkDerivation rec { pname = "ngrep"; @@ -7,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "jpr5"; repo = "ngrep"; - rev = "V${lib.replaceStrings ["."] ["_"] version}"; + rev = "V${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "1x2fyd7wdqlj1r76ilal06cl2wmbz0ws6i3ys204sbjh1cj6dcl7"; }; @@ -19,7 +27,10 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libpcap pcre ]; + buildInputs = [ + libpcap + pcre + ]; configureFlags = [ "--enable-ipv6" @@ -45,7 +56,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/jpr5/ngrep/"; license = { - shortName = "ngrep"; # BSD-style, see README.md and LICENSE + shortName = "ngrep"; # BSD-style, see README.md and LICENSE url = "https://github.com/jpr5/ngrep/blob/master/LICENSE"; free = true; redistributable = true; diff --git a/pkgs/by-name/ng/ngrid/package.nix b/pkgs/by-name/ng/ngrid/package.nix index b609689663ec2..193080ad3914b 100644 --- a/pkgs/by-name/ng/ngrid/package.nix +++ b/pkgs/by-name/ng/ngrid/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, expect +{ + lib, + fetchFromGitHub, + python3, + expect, }: python3.pkgs.buildPythonApplication rec { @@ -30,7 +31,10 @@ python3.pkgs.buildPythonApplication rec { pythonImportsCheck = [ "ngrid.main" ]; - nativeCheckInputs = [ python3.pkgs.pytest expect ]; + nativeCheckInputs = [ + python3.pkgs.pytest + expect + ]; checkPhase = '' runHook preCheck diff --git a/pkgs/by-name/ng/ngt/package.nix b/pkgs/by-name/ng/ngt/package.nix index e42ee750cc09c..e8ecb466e141e 100644 --- a/pkgs/by-name/ng/ngt/package.nix +++ b/pkgs/by-name/ng/ngt/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, llvmPackages -, enableAVX ? stdenv.hostPlatform.avxSupport +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + llvmPackages, + enableAVX ? stdenv.hostPlatform.avxSupport, }: stdenv.mkDerivation rec { @@ -19,7 +21,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ llvmPackages.openmp ]; - NIX_ENFORCE_NO_NATIVE = ! enableAVX; + NIX_ENFORCE_NO_NATIVE = !enableAVX; __AVX2__ = if enableAVX then 1 else 0; meta = with lib; { diff --git a/pkgs/by-name/nh/nh/package.nix b/pkgs/by-name/nh/nh/package.nix index 4c8ac99432081..0482c555e4bc9 100644 --- a/pkgs/by-name/nh/nh/package.nix +++ b/pkgs/by-name/nh/nh/package.nix @@ -1,17 +1,21 @@ -{ stdenv -, lib -, rustPlatform -, installShellFiles -, makeBinaryWrapper -, darwin -, fetchFromGitHub -, nix-update-script -, nvd -, nix-output-monitor +{ + stdenv, + lib, + rustPlatform, + installShellFiles, + makeBinaryWrapper, + darwin, + fetchFromGitHub, + nix-update-script, + nvd, + nix-output-monitor, }: let version = "3.6.0"; - runtimeDeps = [ nvd nix-output-monitor ]; + runtimeDeps = [ + nvd + nix-output-monitor + ]; in rustPlatform.buildRustPackage { inherit version; @@ -31,7 +35,9 @@ rustPlatform.buildRustPackage { makeBinaryWrapper ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; preFixup = '' mkdir completions @@ -56,6 +62,9 @@ rustPlatform.buildRustPackage { homepage = "https://github.com/viperML/nh"; license = lib.licenses.eupl12; mainProgram = "nh"; - maintainers = with lib.maintainers; [ drupol viperML ]; + maintainers = with lib.maintainers; [ + drupol + viperML + ]; }; } diff --git a/pkgs/by-name/nh/nhentai/package.nix b/pkgs/by-name/nh/nhentai/package.nix index f6afd8d608829..29a9498b2548f 100644 --- a/pkgs/by-name/nh/nhentai/package.nix +++ b/pkgs/by-name/nh/nhentai/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ni/nibtools/package.nix b/pkgs/by-name/ni/nibtools/package.nix index ea8dad3b2c629..84b80b412a797 100644 --- a/pkgs/by-name/ni/nibtools/package.nix +++ b/pkgs/by-name/ni/nibtools/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, opencbm -, cc65 +{ + lib, + stdenv, + fetchFromGitHub, + opencbm, + cc65, }: stdenv.mkDerivation { @@ -27,7 +28,11 @@ stdenv.mkDerivation { ]; preBuild = "mkdir build"; - makeFlags = [ "-f" "GNU/Makefile" "linux" ]; + makeFlags = [ + "-f" + "GNU/Makefile" + "linux" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ni/nice-dcv-client/package.nix b/pkgs/by-name/ni/nice-dcv-client/package.nix index 6898d0f66d47c..5d2fcbb4e01a2 100644 --- a/pkgs/by-name/ni/nice-dcv-client/package.nix +++ b/pkgs/by-name/ni/nice-dcv-client/package.nix @@ -1,38 +1,42 @@ -{ lib -, stdenv -, fetchurl -, glib -, libX11 -, gst_all_1 -, libepoxy -, pango -, cairo -, gdk-pixbuf -, e2fsprogs -, libkrb5 -, libva -, openssl -, pcsclite -, gtk3 -, libselinux -, libxml2 -, libffi -, python3Packages -, cpio -, autoPatchelfHook -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + glib, + libX11, + gst_all_1, + libepoxy, + pango, + cairo, + gdk-pixbuf, + e2fsprogs, + libkrb5, + libva, + openssl, + pcsclite, + gtk3, + libselinux, + libxml2, + libffi, + python3Packages, + cpio, + autoPatchelfHook, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "nice-dcv-client"; version = "2021.2.3797-1"; - src = - fetchurl { - url = "https://d1uj6qtbmh3dt5.cloudfront.net/2021.2/Clients/nice-dcv-viewer-${version}.el8.x86_64.rpm"; - sha256 = "sha256-iLz25SB5v7ghkAZOMGPmpNaPihd8ikzCQS//r1xBNRU="; - }; + src = fetchurl { + url = "https://d1uj6qtbmh3dt5.cloudfront.net/2021.2/Clients/nice-dcv-viewer-${version}.el8.x86_64.rpm"; + sha256 = "sha256-iLz25SB5v7ghkAZOMGPmpNaPihd8ikzCQS//r1xBNRU="; + }; - nativeBuildInputs = [ autoPatchelfHook wrapGAppsHook3 python3Packages.rpm ]; + nativeBuildInputs = [ + autoPatchelfHook + wrapGAppsHook3 + python3Packages.rpm + ]; unpackPhase = '' rpm2cpio $src | ${cpio}/bin/cpio -idm ''; diff --git a/pkgs/by-name/ni/nickel/package.nix b/pkgs/by-name/ni/nickel/package.nix index 8c488d1ec9fe9..38553c86b9c84 100644 --- a/pkgs/by-name/ni/nickel/package.nix +++ b/pkgs/by-name/ni/nickel/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, python3 -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + python3, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -18,13 +19,19 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-MaMzwvvWP+vmdBVCefXI6dehuTyPcPW2b6KdarxjBjA="; - cargoBuildFlags = [ "-p nickel-lang-cli" "-p nickel-lang-lsp" ]; + cargoBuildFlags = [ + "-p nickel-lang-cli" + "-p nickel-lang-lsp" + ]; nativeBuildInputs = [ python3 ]; - outputs = [ "out" "nls" ]; + outputs = [ + "out" + "nls" + ]; # This fixes the way comrak is defined as a dependency, without the sed the build fails: # @@ -56,7 +63,10 @@ rustPlatform.buildRustPackage rec { ''; changelog = "https://github.com/tweag/nickel/blob/${version}/RELEASES.md"; license = licenses.mit; - maintainers = with maintainers; [ felschr matthiasbeyer ]; + maintainers = with maintainers; [ + felschr + matthiasbeyer + ]; mainProgram = "nickel"; }; } diff --git a/pkgs/by-name/ni/nicstat/package.nix b/pkgs/by-name/ni/nicstat/package.nix index 1e1e346b822b1..a60e8a3060500 100644 --- a/pkgs/by-name/ni/nicstat/package.nix +++ b/pkgs/by-name/ni/nicstat/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ni/niff/package.nix b/pkgs/by-name/ni/niff/package.nix index 909aaaa9413c3..768d8b4047b72 100644 --- a/pkgs/by-name/ni/niff/package.nix +++ b/pkgs/by-name/ni/niff/package.nix @@ -1,12 +1,15 @@ -{ lib, stdenv -, python3 -, fetchFromGitHub +{ + lib, + stdenv, + python3, + fetchFromGitHub, }: let pname = "niff"; version = "0.1"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "${pname}-${version}"; src = fetchFromGitHub { diff --git a/pkgs/by-name/ni/nifticlib/package.nix b/pkgs/by-name/ni/nifticlib/package.nix index fee2ea8772b41..9ace77562c626 100644 --- a/pkgs/by-name/ni/nifticlib/package.nix +++ b/pkgs/by-name/ni/nifticlib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, +}: stdenv.mkDerivation rec { pname = "nifticlib"; diff --git a/pkgs/by-name/ni/niftyreg/package.nix b/pkgs/by-name/ni/niftyreg/package.nix index 0be59bcd726a0..f71fa01325861 100644 --- a/pkgs/by-name/ni/niftyreg/package.nix +++ b/pkgs/by-name/ni/niftyreg/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchurl, cmake, zlib }: +{ + lib, + stdenv, + fetchurl, + cmake, + zlib, +}: stdenv.mkDerivation rec { - pname = "niftyreg"; + pname = "niftyreg"; version = "1.3.9"; src = fetchurl { @@ -19,6 +25,6 @@ stdenv.mkDerivation rec { description = "Medical image registration software"; maintainers = with maintainers; [ bcdarwin ]; platforms = [ "x86_64-linux" ]; - license = licenses.bsd3; + license = licenses.bsd3; }; } diff --git a/pkgs/by-name/ni/niftyseg/package.nix b/pkgs/by-name/ni/niftyseg/package.nix index 0fd658b0addcb..1c7d59328a45b 100644 --- a/pkgs/by-name/ni/niftyseg/package.nix +++ b/pkgs/by-name/ni/niftyseg/package.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, eigen, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, + zlib, +}: stdenv.mkDerivation rec { - pname = "niftyseg"; + pname = "niftyseg"; version = "1.0"; src = fetchFromGitHub { @@ -12,14 +19,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen zlib ]; + buildInputs = [ + eigen + zlib + ]; meta = with lib; { homepage = "http://cmictig.cs.ucl.ac.uk/research/software/software-nifty/niftyseg"; description = "Software for medical image segmentation, bias field correction, and cortical thickness calculation"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; - license = licenses.bsd3; + license = licenses.bsd3; }; } diff --git a/pkgs/by-name/ni/nika-fonts/package.nix b/pkgs/by-name/ni/nika-fonts/package.nix index f5076f3c93cb6..165145ff295ab 100644 --- a/pkgs/by-name/ni/nika-fonts/package.nix +++ b/pkgs/by-name/ni/nika-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "nika-fonts"; diff --git a/pkgs/by-name/ni/nikto/package.nix b/pkgs/by-name/ni/nikto/package.nix index 098171de09df1..f82cf130f2b10 100644 --- a/pkgs/by-name/ni/nikto/package.nix +++ b/pkgs/by-name/ni/nikto/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, perlPackages -, makeWrapper -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, + makeWrapper, + installShellFiles, }: let @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { --replace "LW_SSL_ENGINE=auto" "LW_SSL_ENGINE=SSLeay" ''; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; buildInputs = [ perlPackages.perl diff --git a/pkgs/by-name/ni/nil/package.nix b/pkgs/by-name/ni/nil/package.nix index 71ee69ac6199c..553b48eb8b2a5 100644 --- a/pkgs/by-name/ni/nil/package.nix +++ b/pkgs/by-name/ni/nil/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, nixVersions, nix-update-script }: +{ + lib, + rustPlatform, + fetchFromGitHub, + nixVersions, + nix-update-script, +}: rustPlatform.buildRustPackage rec { pname = "nil"; @@ -30,8 +36,14 @@ rustPlatform.buildRustPackage rec { description = "Yet another language server for Nix"; homepage = "https://github.com/oxalica/nil"; changelog = "https://github.com/oxalica/nil/releases/tag/${version}"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ figsoda oxalica ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + figsoda + oxalica + ]; mainProgram = "nil"; }; } diff --git a/pkgs/by-name/ni/nilfs-utils/package.nix b/pkgs/by-name/ni/nilfs-utils/package.nix index 79a0fe5336734..3ce0af6d1fd9f 100644 --- a/pkgs/by-name/ni/nilfs-utils/package.nix +++ b/pkgs/by-name/ni/nilfs-utils/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libuuid, libselinux -, e2fsprogs }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libuuid, + libselinux, + e2fsprogs, +}: stdenv.mkDerivation rec { pname = "nilfs-utils"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libuuid libselinux ]; + buildInputs = [ + libuuid + libselinux + ]; postPatch = '' # Fix up hardcoded paths. @@ -45,7 +55,10 @@ stdenv.mkDerivation rec { description = "NILFS utilities"; maintainers = [ maintainers.raskin ]; platforms = platforms.linux; - license = with licenses; [ gpl2Plus lgpl21 ]; + license = with licenses; [ + gpl2Plus + lgpl21 + ]; downloadPage = "http://nilfs.sourceforge.net/en/download.html"; }; } diff --git a/pkgs/by-name/ni/nim-atlas/package.nix b/pkgs/by-name/ni/nim-atlas/package.nix index 7f01fab5876d9..4c8d92b3e0952 100644 --- a/pkgs/by-name/ni/nim-atlas/package.nix +++ b/pkgs/by-name/ni/nim-atlas/package.nix @@ -1,22 +1,29 @@ -{ lib, buildNimPackage, fetchFromGitHub, openssl }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + openssl, +}: -buildNimPackage (final: prev: { - pname = "atlas"; - version = "unstable-2023-09-22"; - src = fetchFromGitHub { - owner = "nim-lang"; - repo = "atlas"; - rev = "ab22f997c22a644924c1a9b920f8ce207da9b77f"; - hash = "sha256-TsZ8TriVuKEY9/mV6KR89eFOgYrgTqXmyv/vKu362GU="; - }; - buildInputs = [ openssl ]; - prePatch = '' - rm config.nims - ''; # never trust a .nims file - doCheck = false; # tests will clone repos - meta = final.src.meta // { - description = "Nim package cloner"; - mainProgram = "atlas"; - license = [ lib.licenses.mit ]; - }; -}) +buildNimPackage ( + final: prev: { + pname = "atlas"; + version = "unstable-2023-09-22"; + src = fetchFromGitHub { + owner = "nim-lang"; + repo = "atlas"; + rev = "ab22f997c22a644924c1a9b920f8ce207da9b77f"; + hash = "sha256-TsZ8TriVuKEY9/mV6KR89eFOgYrgTqXmyv/vKu362GU="; + }; + buildInputs = [ openssl ]; + prePatch = '' + rm config.nims + ''; # never trust a .nims file + doCheck = false; # tests will clone repos + meta = final.src.meta // { + description = "Nim package cloner"; + mainProgram = "atlas"; + license = [ lib.licenses.mit ]; + }; + } +) diff --git a/pkgs/by-name/ni/nim_builder/package.nix b/pkgs/by-name/ni/nim_builder/package.nix index 8466ab8535c93..017fe548aa58e 100644 --- a/pkgs/by-name/ni/nim_builder/package.nix +++ b/pkgs/by-name/ni/nim_builder/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, nim }: +{ + lib, + stdenv, + nim, +}: stdenv.mkDerivation { pname = "nim_builder"; diff --git a/pkgs/by-name/ni/nimdow/package.nix b/pkgs/by-name/ni/nimdow/package.nix index ad5935a9c34b6..4eb4c7fa536c4 100644 --- a/pkgs/by-name/ni/nimdow/package.nix +++ b/pkgs/by-name/ni/nimdow/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitHub, nixosTests, testers }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + nixosTests, + testers, +}: buildNimPackage (finalAttrs: { pname = "nimdow"; @@ -35,8 +41,10 @@ buildNimPackage (finalAttrs: { }; }; - meta = with lib; - finalAttrs.src.meta // { + meta = + with lib; + finalAttrs.src.meta + // { description = "Nim based tiling window manager"; platforms = platforms.linux; license = [ licenses.gpl2 ]; diff --git a/pkgs/by-name/ni/nimlsp/package.nix b/pkgs/by-name/ni/nimlsp/package.nix index d9eaa838f7f01..27ea08a571618 100644 --- a/pkgs/by-name/ni/nimlsp/package.nix +++ b/pkgs/by-name/ni/nimlsp/package.nix @@ -1,4 +1,11 @@ -{ lib, buildNimPackage, fetchFromGitHub, srcOnly, nim-2_0, nim-unwrapped-2_0 }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + srcOnly, + nim-2_0, + nim-unwrapped-2_0, +}: let buildNimPackage' = buildNimPackage.override { @@ -37,7 +44,12 @@ buildNimPackage' (finalAttrs: { "-d:tempDir=/tmp" ]; - nimDefines = [ "nimcore" "nimsuggest" "debugCommunication" "debugLogging" ]; + nimDefines = [ + "nimcore" + "nimsuggest" + "debugCommunication" + "debugLogging" + ]; doCheck = false; diff --git a/pkgs/by-name/ni/nimmm/package.nix b/pkgs/by-name/ni/nimmm/package.nix index 7b72f4a07749d..3a5dcb628108a 100644 --- a/pkgs/by-name/ni/nimmm/package.nix +++ b/pkgs/by-name/ni/nimmm/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitHub, termbox, pcre }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + termbox, + pcre, +}: buildNimPackage (finalAttrs: { pname = "nimmm"; @@ -13,7 +19,10 @@ buildNimPackage (finalAttrs: { lockFile = ./lock.json; - buildInputs = [ termbox pcre ]; + buildInputs = [ + termbox + pcre + ]; meta = { description = "Terminal file manager for Linux"; diff --git a/pkgs/by-name/ni/ninjas2/package.nix b/pkgs/by-name/ni/ninjas2/package.nix index 8a2cc317c1375..e8eed77e4faa4 100644 --- a/pkgs/by-name/ni/ninjas2/package.nix +++ b/pkgs/by-name/ni/ninjas2/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, libjack2, libGL, pkg-config, xorg, mesa, libsndfile, libsamplerate }: +{ + lib, + stdenv, + fetchFromGitHub, + libjack2, + libGL, + pkg-config, + xorg, + mesa, + libsndfile, + libsamplerate, +}: stdenv.mkDerivation rec { pname = "ninjas2"; @@ -18,7 +29,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libjack2 xorg.libX11 libGL mesa libsndfile libsamplerate + libjack2 + xorg.libX11 + libGL + mesa + libsndfile + libsamplerate ]; installPhase = '' diff --git a/pkgs/by-name/ni/ninka/package.nix b/pkgs/by-name/ni/ninka/package.nix index 76729d71e4019..61e23a95ec5ec 100644 --- a/pkgs/by-name/ni/ninka/package.nix +++ b/pkgs/by-name/ni/ninka/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, perl, perlPackages }: +{ + lib, + fetchFromGitHub, + perl, + perlPackages, +}: perlPackages.buildPerlPackage { pname = "ninka"; @@ -11,9 +16,17 @@ perlPackages.buildPerlPackage { sha256 = "1grlis1kycbcjvjgqvn7aw81q1qx49ahvxg2k7cgyr79mvgpgi9m"; }; - buildInputs = with perlPackages; [ perl TestOutput DBDSQLite DBI TestPod TestPodCoverage SpreadsheetParseExcel ]; + buildInputs = with perlPackages; [ + perl + TestOutput + DBDSQLite + DBI + TestPod + TestPodCoverage + SpreadsheetParseExcel + ]; - doCheck = false; # hangs + doCheck = false; # hangs preConfigure = '' sed -i.bak -e 's;#!/usr/bin/perl;#!${perl}/bin/perl;g' \ diff --git a/pkgs/by-name/ni/ninvaders/package.nix b/pkgs/by-name/ni/ninvaders/package.nix index 089fa5478a0d6..00e42aa5a9160 100644 --- a/pkgs/by-name/ni/ninvaders/package.nix +++ b/pkgs/by-name/ni/ninvaders/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ncurses, +}: stdenv.mkDerivation rec { pname = "ninvaders"; diff --git a/pkgs/by-name/ni/nip2/package.nix b/pkgs/by-name/ni/nip2/package.nix index 651baf547a9e7..207efe86b27e4 100644 --- a/pkgs/by-name/ni/nip2/package.nix +++ b/pkgs/by-name/ni/nip2/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, glib -, libxml2 -, flex -, bison -, vips -, gtk2 -, fftw -, gsl -, goffice -, libgsf -, makeWrapper +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libxml2, + flex, + bison, + vips, + gtk2, + fftw, + gsl, + goffice, + libgsf, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ni/nitch/package.nix b/pkgs/by-name/ni/nitch/package.nix index e241bcd7e61e7..9440d02953351 100644 --- a/pkgs/by-name/ni/nitch/package.nix +++ b/pkgs/by-name/ni/nitch/package.nix @@ -1,4 +1,9 @@ -{ lib, buildNimPackage, fetchFromGitHub, fetchpatch }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + fetchpatch, +}: buildNimPackage { pname = "nitch"; diff --git a/pkgs/by-name/ni/nitrogen/package.nix b/pkgs/by-name/ni/nitrogen/package.nix index 6f4c0be19dcdd..ec57d6c089241 100644 --- a/pkgs/by-name/ni/nitrogen/package.nix +++ b/pkgs/by-name/ni/nitrogen/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, gtkmm2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gtkmm2, +}: stdenv.mkDerivation rec { pname = "nitrogen"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib gtkmm2 ]; + buildInputs = [ + glib + gtkmm2 + ]; patchPhase = '' patchShebangs data/icon-theme-installer diff --git a/pkgs/by-name/ni/nitter/package.nix b/pkgs/by-name/ni/nitter/package.nix index 28884a7debf09..0ff628f39416e 100644 --- a/pkgs/by-name/ni/nitter/package.nix +++ b/pkgs/by-name/ni/nitter/package.nix @@ -1,53 +1,59 @@ -{ lib -, buildNimPackage -, fetchFromGitHub -, nixosTests -, substituteAll -, unstableGitUpdater +{ + lib, + buildNimPackage, + fetchFromGitHub, + nixosTests, + substituteAll, + unstableGitUpdater, }: -buildNimPackage (finalAttrs: prevAttrs: { - pname = "nitter"; - version = "0-unstable-2024-02-26"; - - src = fetchFromGitHub { - owner = "zedeus"; - repo = "nitter"; - rev = "c6edec04901d0a37799499ed4c6921db640fb5a4"; - hash = "sha256-N3d63nyVzUTa2+UemA1REFfVsw6iOVU8xUlYraR55m4="; - }; - - lockFile = ./lock.json; - - patches = [ - (substituteAll { - src = ./nitter-version.patch; - inherit (finalAttrs) version; - inherit (finalAttrs.src) rev; - url = builtins.replaceStrings [ "archive" ".tar.gz" ] [ "commit" "" ] finalAttrs.src.url; - }) - ]; - - postBuild = '' - nim compile ${toString finalAttrs.nimFlags} -r tools/gencss - nim compile ${toString finalAttrs.nimFlags} -r tools/rendermd - ''; - - postInstall = '' - mkdir -p $out/share/nitter - cp -r public $out/share/nitter/public - ''; - - passthru = { - tests = { inherit (nixosTests) nitter; }; - updateScript = unstableGitUpdater { branch = "guest_accounts"; }; - }; - - meta = with lib; { - homepage = "https://github.com/zedeus/nitter"; - description = "Alternative Twitter front-end"; - license = licenses.agpl3Only; - maintainers = with maintainers; [ erdnaxe infinidoge ]; - mainProgram = "nitter"; - }; -}) +buildNimPackage ( + finalAttrs: prevAttrs: { + pname = "nitter"; + version = "0-unstable-2024-02-26"; + + src = fetchFromGitHub { + owner = "zedeus"; + repo = "nitter"; + rev = "c6edec04901d0a37799499ed4c6921db640fb5a4"; + hash = "sha256-N3d63nyVzUTa2+UemA1REFfVsw6iOVU8xUlYraR55m4="; + }; + + lockFile = ./lock.json; + + patches = [ + (substituteAll { + src = ./nitter-version.patch; + inherit (finalAttrs) version; + inherit (finalAttrs.src) rev; + url = builtins.replaceStrings [ "archive" ".tar.gz" ] [ "commit" "" ] finalAttrs.src.url; + }) + ]; + + postBuild = '' + nim compile ${toString finalAttrs.nimFlags} -r tools/gencss + nim compile ${toString finalAttrs.nimFlags} -r tools/rendermd + ''; + + postInstall = '' + mkdir -p $out/share/nitter + cp -r public $out/share/nitter/public + ''; + + passthru = { + tests = { inherit (nixosTests) nitter; }; + updateScript = unstableGitUpdater { branch = "guest_accounts"; }; + }; + + meta = with lib; { + homepage = "https://github.com/zedeus/nitter"; + description = "Alternative Twitter front-end"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ + erdnaxe + infinidoge + ]; + mainProgram = "nitter"; + }; + } +) diff --git a/pkgs/by-name/ni/nix-bash-completions/package.nix b/pkgs/by-name/ni/nix-bash-completions/package.nix index 10fb097fd2c8e..71ea4e111dfc1 100644 --- a/pkgs/by-name/ni/nix-bash-completions/package.nix +++ b/pkgs/by-name/ni/nix-bash-completions/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { version = "0.6.8"; @@ -52,7 +57,10 @@ stdenv.mkDerivation rec { description = "Bash completions for Nix, NixOS, and NixOps"; license = licenses.bsd3; platforms = platforms.all; - maintainers = with maintainers; [ hedning ncfavier ]; + maintainers = with maintainers; [ + hedning + ncfavier + ]; # Set a lower priority such that Nix wins in case of conflicts. priority = 10; }; diff --git a/pkgs/by-name/ni/nix-binary-cache/package.nix b/pkgs/by-name/ni/nix-binary-cache/package.nix index 393415ae61e25..68c7f15333d24 100644 --- a/pkgs/by-name/ni/nix-binary-cache/package.nix +++ b/pkgs/by-name/ni/nix-binary-cache/package.nix @@ -1,6 +1,17 @@ -{lib, stdenv -, coreutils, findutils, nix, xz, bzip2, gnused, gnugrep, openssl -, lighttpd, iproute2 }: +{ + lib, + stdenv, + coreutils, + findutils, + nix, + xz, + bzip2, + gnused, + gnugrep, + openssl, + lighttpd, + iproute2, +}: stdenv.mkDerivation rec { version = "2014-06-29-1"; pname = "nix-binary-cache"; @@ -52,9 +63,9 @@ stdenv.mkDerivation rec { nix-binary-cache-start that can be run without any setup to launch a binary cache and get the example arguments for its usage. ''; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; license = lib.licenses.gpl2Plus; platforms = lib.platforms.all; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/ni/nix-bisect/package.nix b/pkgs/by-name/ni/nix-bisect/package.nix index 9927be16d36a0..10232985c27d7 100644 --- a/pkgs/by-name/ni/nix-bisect/package.nix +++ b/pkgs/by-name/ni/nix-bisect/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: let diff --git a/pkgs/by-name/ni/nix-btm/package.nix b/pkgs/by-name/ni/nix-btm/package.nix index a7d94b4863b58..657e768d9db7c 100644 --- a/pkgs/by-name/ni/nix-btm/package.nix +++ b/pkgs/by-name/ni/nix-btm/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchCrate, darwin }: +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "nix-btm"; @@ -12,8 +18,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-qUZ3zJjQrteFQerBKFH/+Ys0uOzvI7DH9rCaVtseJMM="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin - (with darwin.apple_sdk.frameworks; [ CoreServices SystemConfiguration ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreServices + SystemConfiguration + ] + ); meta = with lib; { description = "Rust tool to monitor Nix processes"; diff --git a/pkgs/by-name/ni/nix-build-uncached/package.nix b/pkgs/by-name/ni/nix-build-uncached/package.nix index 0aa894b3effe8..5bf09afad6e37 100644 --- a/pkgs/by-name/ni/nix-build-uncached/package.nix +++ b/pkgs/by-name/ni/nix-build-uncached/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, +}: buildGoModule rec { pname = "nix-build-uncached"; diff --git a/pkgs/by-name/ni/nix-bundle/package.nix b/pkgs/by-name/ni/nix-bundle/package.nix index a32f788bf4dca..d656e972853aa 100644 --- a/pkgs/by-name/ni/nix-bundle/package.nix +++ b/pkgs/by-name/ni/nix-bundle/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, bzip2 -, coreutils -, gnutar -, gzip -, makeWrapper -, nix +{ + lib, + stdenv, + fetchFromGitHub, + bzip2, + coreutils, + gnutar, + gzip, + makeWrapper, + nix, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ni/nix-doc/package.nix b/pkgs/by-name/ni/nix-doc/package.nix index f594b0648bfae..d938688022a87 100644 --- a/pkgs/by-name/ni/nix-doc/package.nix +++ b/pkgs/by-name/ni/nix-doc/package.nix @@ -1,16 +1,25 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, boost -, nix -, pkg-config -# Whether to build the nix-doc plugin for Nix -, withPlugin ? false # no longer needed for nix 2.24 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + boost, + nix, + pkg-config, + # Whether to build the nix-doc plugin for Nix + withPlugin ? false, # no longer needed for nix 2.24 }: let - packageFlags = [ "-p" "nix-doc" ] ++ lib.optionals withPlugin [ "-p" "nix-doc-plugin" ]; + packageFlags = + [ + "-p" + "nix-doc" + ] + ++ lib.optionals withPlugin [ + "-p" + "nix-doc-plugin" + ]; in rustPlatform.buildRustPackage rec { pname = "nix-doc"; @@ -24,9 +33,15 @@ rustPlatform.buildRustPackage rec { }; doCheck = true; - buildInputs = lib.optionals withPlugin [ boost nix ]; + buildInputs = lib.optionals withPlugin [ + boost + nix + ]; - nativeBuildInputs = lib.optionals withPlugin [ pkg-config nix ]; + nativeBuildInputs = lib.optionals withPlugin [ + pkg-config + nix + ]; cargoBuildFlags = packageFlags; cargoTestFlags = packageFlags; diff --git a/pkgs/by-name/ni/nix-health/package.nix b/pkgs/by-name/ni/nix-health/package.nix index 2081714d50a99..8d366d221f9fd 100644 --- a/pkgs/by-name/ni/nix-health/package.nix +++ b/pkgs/by-name/ni/nix-health/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, rustPlatform -, fetchCrate -, libiconv -, openssl -, pkg-config -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + libiconv, + openssl, + pkg-config, + darwin, }: rustPlatform.buildRustPackage rec { @@ -20,19 +22,29 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-mqJA5Fv/sYj6ZkE73emtaHvg9hdT/5lN0kM3sl+GRCo="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libiconv openssl ] + buildInputs = + [ + libiconv + openssl + ] # Use a newer SDK for CoreFoundation, because the sysinfo crate requires # it, https://github.com/GuillaumeGomez/sysinfo/issues/915 - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk_11_0.frameworks; - [ IOKit + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk_11_0.frameworks; + [ + IOKit CoreFoundation - ]); + ] + ); meta = with lib; { description = "Check the health of your Nix setup"; homepage = "https://github.com/juspay/nix-health"; license = licenses.asl20; - maintainers = with maintainers; [ srid shivaraj-bh ]; + maintainers = with maintainers; [ + srid + shivaraj-bh + ]; mainProgram = "nix-health"; }; } diff --git a/pkgs/by-name/ni/nix-init/get_nix_license.nix b/pkgs/by-name/ni/nix-init/get_nix_license.nix index 0e67fb5e044ca..dc4fcf5c72275 100644 --- a/pkgs/by-name/ni/nix-init/get_nix_license.nix +++ b/pkgs/by-name/ni/nix-init/get_nix_license.nix @@ -18,8 +18,9 @@ let warn ; - licenseMap = flip concatMapAttrs licenses - (k: v: optionalAttrs (v ? spdxId && !v.deprecated) { ${v.spdxId} = k; }); + licenseMap = flip concatMapAttrs licenses ( + k: v: optionalAttrs (v ? spdxId && !v.deprecated) { ${v.spdxId} = k; } + ); deprecatedAliases = { "AGPL-3.0" = "agpl3Only"; @@ -43,26 +44,22 @@ let }; lints = { - "deprecated licenses" = intersectLists - (attrNames licenseMap) - (attrNames deprecatedAliases); + "deprecated licenses" = intersectLists (attrNames licenseMap) (attrNames deprecatedAliases); - "invalid aliases" = attrNames (filterAttrs - (_: v: licenses.${v}.deprecated or true) - deprecatedAliases); + "invalid aliases" = attrNames ( + filterAttrs (_: v: licenses.${v}.deprecated or true) deprecatedAliases + ); }; - lint = flip pipe - (flip mapAttrsToList lints (k: v: - if v == [ ] then - id - else - warn "${k}: ${concatStringsSep ", " v}")); + lint = flip pipe ( + flip mapAttrsToList lints (k: v: if v == [ ] then id else warn "${k}: ${concatStringsSep ", " v}") + ); - arms = lint (concatStringsSep "\n " - (mapAttrsToList - (k: v: ''"${k}" => Some("${v}"),'') - (deprecatedAliases // licenseMap))); + arms = lint ( + concatStringsSep "\n " ( + mapAttrsToList (k: v: ''"${k}" => Some("${v}"),'') (deprecatedAliases // licenseMap) + ) + ); in writeText "get-nix-license.rs" '' diff --git a/pkgs/by-name/ni/nix-inspect/package.nix b/pkgs/by-name/ni/nix-inspect/package.nix index 84253e3a4d089..808da85fb582c 100644 --- a/pkgs/by-name/ni/nix-inspect/package.nix +++ b/pkgs/by-name/ni/nix-inspect/package.nix @@ -10,7 +10,8 @@ ninja, stdenv, fetchpatch, -}: let +}: +let src = fetchFromGitHub { owner = "bluskript"; repo = "nix-inspect"; @@ -27,7 +28,11 @@ cd worker ''; - nativeBuildInputs = [meson ninja pkg-config]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; # TODO: Remove this patch when this pull request is merged and released: https://github.com/bluskript/nix-inspect/pull/18 patches = [ @@ -46,26 +51,26 @@ mesonBuildType = "release"; }; in - rustPlatform.buildRustPackage { - inherit src; - pname = "nix-inspect"; - version = "0.1.2"; +rustPlatform.buildRustPackage { + inherit src; + pname = "nix-inspect"; + version = "0.1.2"; - cargoHash = "sha256-/0CrHqOL4B0Rx0ZbUpW54FiisfpW6UU4uk6wctfCX5c="; + cargoHash = "sha256-/0CrHqOL4B0Rx0ZbUpW54FiisfpW6UU4uk6wctfCX5c="; - buildInputs = [workerPackage]; + buildInputs = [ workerPackage ]; - postPatch = '' - substituteInPlace src/workers.rs \ - --replace-fail 'env!("WORKER_BINARY_PATH")' '"${workerPackage}/bin/nix-inspect"' - ''; + postPatch = '' + substituteInPlace src/workers.rs \ + --replace-fail 'env!("WORKER_BINARY_PATH")' '"${workerPackage}/bin/nix-inspect"' + ''; - meta = with lib; { - description = "Interactive TUI for inspecting nix configs and other expressions"; - homepage = "https://github.com/bluskript/nix-inspect"; - license = licenses.mit; - maintainers = with maintainers; [blusk]; - platforms = platforms.unix; - mainProgram = "nix-inspect"; - }; - } + meta = with lib; { + description = "Interactive TUI for inspecting nix configs and other expressions"; + homepage = "https://github.com/bluskript/nix-inspect"; + license = licenses.mit; + maintainers = with maintainers; [ blusk ]; + platforms = platforms.unix; + mainProgram = "nix-inspect"; + }; +} diff --git a/pkgs/by-name/ni/nix-lib-nmd/package.nix b/pkgs/by-name/ni/nix-lib-nmd/package.nix index 2fbfa758056cd..4d0ad668ed671 100644 --- a/pkgs/by-name/ni/nix-lib-nmd/package.nix +++ b/pkgs/by-name/ni/nix-lib-nmd/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchFromSourcehut }: +{ + lib, + stdenv, + fetchFromSourcehut, +}: -let version = "0.5.0"; -in stdenv.mkDerivation { +let + version = "0.5.0"; +in +stdenv.mkDerivation { pname = "nix-lib-nmd"; inherit version; diff --git a/pkgs/by-name/ni/nix-lib-nmt/package.nix b/pkgs/by-name/ni/nix-lib-nmt/package.nix index ed792ae2883d9..5c3888d91d991 100644 --- a/pkgs/by-name/ni/nix-lib-nmt/package.nix +++ b/pkgs/by-name/ni/nix-lib-nmt/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchFromSourcehut }: +{ + lib, + stdenv, + fetchFromSourcehut, +}: -let version = "0.5.1"; -in stdenv.mkDerivation { +let + version = "0.5.1"; +in +stdenv.mkDerivation { pname = "nix-lib-nmt"; inherit version; diff --git a/pkgs/by-name/ni/nix-melt/package.nix b/pkgs/by-name/ni/nix-melt/package.nix index e39ae415d0385..31e1a0f0e72c0 100644 --- a/pkgs/by-name/ni/nix-melt/package.nix +++ b/pkgs/by-name/ni/nix-melt/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ni/nix-plugin-pijul/package.nix b/pkgs/by-name/ni/nix-plugin-pijul/package.nix index b1695931b95b6..c39ef22811182 100644 --- a/pkgs/by-name/ni/nix-plugin-pijul/package.nix +++ b/pkgs/by-name/ni/nix-plugin-pijul/package.nix @@ -15,8 +15,10 @@ nixOverride ? null, nix-plugin-pijul, }: -let nix = if nixOverride != null then nixOverride else nixVersions.nix_2_24; -in stdenv.mkDerivation (finalAttrs: { +let + nix = if nixOverride != null then nixOverride else nixVersions.nix_2_24; +in +stdenv.mkDerivation (finalAttrs: { pname = "nix-plugin-pijul"; version = "0.1.6"; @@ -37,52 +39,57 @@ in stdenv.mkDerivation (finalAttrs: { nix ]; - passthru.tests = let - localRepoCheck = nixOverride: - runCommand "localRepoCheck-${nixOverride.name}" - { - nativeBuildInputs = [ - pijul - nix - ]; - } - '' - export HOME=$(mktemp -d) - export EDITOR=true - pijul identity new --no-link --no-prompt --display-name 'Test User' --email 'test@example.com' + passthru.tests = + let + localRepoCheck = + nixOverride: + runCommand "localRepoCheck-${nixOverride.name}" + { + nativeBuildInputs = [ + pijul + nix + ]; + } + '' + export HOME=$(mktemp -d) + export EDITOR=true + pijul identity new --no-link --no-prompt --display-name 'Test User' --email 'test@example.com' - pijul init repo - cd repo + pijul init repo + cd repo - echo "it works" > foo - pijul add foo - pijul record --message 'Add foo' + echo "it works" > foo + pijul add foo + pijul record --message 'Add foo' - output=$( - nix \ - --option plugin-files ${nix-plugin-pijul.override {inherit nixOverride;}}/lib/nix/plugins/pijul.so \ - --extra-experimental-features 'nix-command flakes' \ - eval --impure --raw --expr "builtins.readFile ((builtins.fetchTree \"pijul+file://$PWD\") + \"/foo\")" - ) + output=$( + nix \ + --option plugin-files ${ + nix-plugin-pijul.override { inherit nixOverride; } + }/lib/nix/plugins/pijul.so \ + --extra-experimental-features 'nix-command flakes' \ + eval --impure --raw --expr "builtins.readFile ((builtins.fetchTree \"pijul+file://$PWD\") + \"/foo\")" + ) - echo $output + echo $output - [[ "$output" = "it works" ]] + [[ "$output" = "it works" ]] - mkdir $out - ''; - in { - stable = localRepoCheck nixVersions.stable; - latest = localRepoCheck nixVersions.latest; - git = localRepoCheck nixVersions.git; - nix_2_24 = localRepoCheck nixVersions.nix_2_24; - }; + mkdir $out + ''; + in + { + stable = localRepoCheck nixVersions.stable; + latest = localRepoCheck nixVersions.latest; + git = localRepoCheck nixVersions.git; + nix_2_24 = localRepoCheck nixVersions.nix_2_24; + }; meta = { description = "Plugin to add Pijul support to the Nix package manager"; homepage = "https://nest.pijul.com/dblsaiko/nix-plugin-pijul"; license = lib.licenses.lgpl3Plus; - maintainers = [lib.maintainers.dblsaiko]; + maintainers = [ lib.maintainers.dblsaiko ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/ni/nix-plugins/package.nix b/pkgs/by-name/ni/nix-plugins/package.nix index 0da1d1d917f28..bb0c86e7cba68 100644 --- a/pkgs/by-name/ni/nix-plugins/package.nix +++ b/pkgs/by-name/ni/nix-plugins/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, nix, cmake, pkg-config, boost }: +{ + lib, + stdenv, + fetchFromGitHub, + nix, + cmake, + pkg-config, + boost, +}: stdenv.mkDerivation rec { pname = "nix-plugins"; @@ -11,7 +19,10 @@ stdenv.mkDerivation rec { hash = "sha256-C4VqKHi6nVAHuXVhqvTRRyn0Bb619ez4LzgUWPH1cbM="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ nix diff --git a/pkgs/by-name/ni/nix-prefetch/package.nix b/pkgs/by-name/ni/nix-prefetch/package.nix index 8ed71d078b78c..25c2bab4565e5 100644 --- a/pkgs/by-name/ni/nix-prefetch/package.nix +++ b/pkgs/by-name/ni/nix-prefetch/package.nix @@ -1,6 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, installShellFiles, makeWrapper, asciidoc -, docbook_xml_dtd_45, git, docbook_xsl, libxml2, libxslt, coreutils, gawk -, gnugrep, gnused, jq, nix }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + installShellFiles, + makeWrapper, + asciidoc, + docbook_xml_dtd_45, + git, + docbook_xsl, + libxml2, + libxslt, + coreutils, + gawk, + gnugrep, + gnused, + jq, + nix, +}: stdenv.mkDerivation rec { pname = "nix-prefetch"; @@ -60,7 +77,17 @@ stdenv.mkDerivation rec { install -Dm555 -t $lib src/*.sh install -Dm444 -t $lib lib/* makeWrapper $lib/main.sh $out/bin/${pname} \ - --prefix PATH : ${lib.makeBinPath [ coreutils gawk git gnugrep gnused jq nix ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gawk + git + gnugrep + gnused + jq + nix + ] + } installManPage doc/nix-prefetch.? diff --git a/pkgs/by-name/ni/nix-query-tree-viewer/package.nix b/pkgs/by-name/ni/nix-query-tree-viewer/package.nix index 8cd6c141cc20c..391735a278362 100644 --- a/pkgs/by-name/ni/nix-query-tree-viewer/package.nix +++ b/pkgs/by-name/ni/nix-query-tree-viewer/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, rustPlatform, glib, gtk3, wrapGAppsHook3 }: +{ + lib, + fetchFromGitHub, + rustPlatform, + glib, + gtk3, + wrapGAppsHook3, +}: rustPlatform.buildRustPackage rec { pname = "nix-query-tree-viewer"; @@ -6,7 +13,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "cdepillabout"; - repo = pname; + repo = pname; rev = "v${version}"; sha256 = "sha256-Lc9hfjybnRrkd7PZMa2ojxOM04bP4GJyagkZUX2nVwY="; }; @@ -25,9 +32,9 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "GTK viewer for the output of `nix store --query --tree`"; mainProgram = "nix-query-tree-viewer"; - homepage = "https://github.com/cdepillabout/nix-query-tree-viewer"; - license = with licenses; [ mit ]; + homepage = "https://github.com/cdepillabout/nix-query-tree-viewer"; + license = with licenses; [ mit ]; maintainers = with maintainers; [ cdepillabout ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ni/nix-script/package.nix b/pkgs/by-name/ni/nix-script/package.nix index 2fb9d88b6fc85..fb811373056f5 100644 --- a/pkgs/by-name/ni/nix-script/package.nix +++ b/pkgs/by-name/ni/nix-script/package.nix @@ -1,18 +1,23 @@ -{ lib, stdenv, haskellPackages, fetchFromGitHub }: +{ + lib, + stdenv, + haskellPackages, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "nix-script"; version = "2020-03-23"; - src = fetchFromGitHub { - owner = "bennofs"; - repo = "nix-script"; - rev = "7706b45429ff22c35bab575734feb2926bf8840b"; + src = fetchFromGitHub { + owner = "bennofs"; + repo = "nix-script"; + rev = "7706b45429ff22c35bab575734feb2926bf8840b"; sha256 = "0yiqljamcj9x8z801bwj7r30sskrwv4rm6sdf39j83jqql1fyq7y"; }; strictDeps = true; - nativeBuildInputs = [ + nativeBuildInputs = [ (haskellPackages.ghcWithPackages (hs: with hs; [ posix-escape ])) ]; @@ -34,9 +39,12 @@ stdenv.mkDerivation { meta = with lib; { description = "Shebang for running inside nix-shell"; - homepage = "https://github.com/bennofs/nix-script"; - license = licenses.bsd3; - maintainers = with maintainers; [ bennofs rnhmjoj ]; - platforms = haskellPackages.ghc.meta.platforms; + homepage = "https://github.com/bennofs/nix-script"; + license = licenses.bsd3; + maintainers = with maintainers; [ + bennofs + rnhmjoj + ]; + platforms = haskellPackages.ghc.meta.platforms; }; } diff --git a/pkgs/by-name/ni/nix-serve/package.nix b/pkgs/by-name/ni/nix-serve/package.nix index e8a0a09300301..294258cc5b270 100644 --- a/pkgs/by-name/ni/nix-serve/package.nix +++ b/pkgs/by-name/ni/nix-serve/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, bzip2 -, nixVersions -, makeWrapper -, nixosTests -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + bzip2, + nixVersions, + makeWrapper, + nixosTests, + fetchpatch, }: let @@ -40,12 +41,26 @@ stdenv.mkDerivation { installPhase = '' install -Dm0755 nix-serve.psgi $out/libexec/nix-serve/nix-serve.psgi - makeWrapper ${perl.withPackages(p: [ p.DBDSQLite p.Plack p.Starman nix.perl-bindings ])}/bin/starman $out/bin/nix-serve \ - --prefix PATH : "${lib.makeBinPath [ bzip2 nix ]}" \ + makeWrapper ${ + perl.withPackages (p: [ + p.DBDSQLite + p.Plack + p.Starman + nix.perl-bindings + ]) + }/bin/starman $out/bin/nix-serve \ + --prefix PATH : "${ + lib.makeBinPath [ + bzip2 + nix + ] + }" \ --add-flags $out/libexec/nix-serve/nix-serve.psgi ''; - /** The nix package that nix-serve got its nix perl bindings from. */ + /** + The nix package that nix-serve got its nix perl bindings from. + */ passthru.nix = nix; passthru.tests = { diff --git a/pkgs/by-name/ni/nix-store-gcs-proxy/package.nix b/pkgs/by-name/ni/nix-store-gcs-proxy/package.nix index 6d2633af06517..b44227c1600c6 100644 --- a/pkgs/by-name/ni/nix-store-gcs-proxy/package.nix +++ b/pkgs/by-name/ni/nix-store-gcs-proxy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nix-store-gcs-proxy"; version = "0.1.0"; @@ -12,7 +16,10 @@ buildGoModule rec { vendorHash = "sha256-Bm3yFzm2LXOPYWQDk/UBusV0lPfc/BCKIb3pPlWgDFo="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = { description = "HTTP nix store that proxies requests to Google Storage"; @@ -22,4 +29,3 @@ buildGoModule rec { maintainers = with lib.maintainers; [ zimbatm ]; }; } - diff --git a/pkgs/by-name/ni/nix-tour/package.nix b/pkgs/by-name/ni/nix-tour/package.nix index bde9e099a7276..53d9124ff4355 100644 --- a/pkgs/by-name/ni/nix-tour/package.nix +++ b/pkgs/by-name/ni/nix-tour/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, electron -, makeWrapper -, copyDesktopItems -, makeDesktopItem +{ + lib, + stdenv, + fetchFromGitHub, + electron, + makeWrapper, + copyDesktopItems, + makeDesktopItem, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-BhQz59wkwwY0ShXzqUD6MQl4NE/jUik5RbLzseEc5Bc="; }; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; buildInputs = [ electron ]; installPhase = '' @@ -33,9 +37,11 @@ stdenv.mkDerivation rec { name = pname; desktopName = "Tour of Nix"; genericName = "Tour of Nix"; - comment = - "Interactive programming guide dedicated to the nix programming language"; - categories = [ "Development" "Documentation" ]; + comment = "Interactive programming guide dedicated to the nix programming language"; + categories = [ + "Development" + "Documentation" + ]; exec = "nix-tour"; }) ]; @@ -44,7 +50,10 @@ stdenv.mkDerivation rec { description = "'the tour of nix' from nixcloud.io/tour as offline version"; homepage = "https://nixcloud.io/tour"; license = licenses.gpl2; - maintainers = with maintainers; [ qknight yuu ]; + maintainers = with maintainers; [ + qknight + yuu + ]; mainProgram = "nix-tour"; }; } diff --git a/pkgs/by-name/ni/nix-unit/package.nix b/pkgs/by-name/ni/nix-unit/package.nix index aefeb2d63ec9b..04c10a01c9ccd 100644 --- a/pkgs/by-name/ni/nix-unit/package.nix +++ b/pkgs/by-name/ni/nix-unit/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, boost -, clang-tools -, cmake -, difftastic -, makeWrapper -, meson -, ninja -, nixVersions -, nlohmann_json -, pkg-config -, fetchFromGitHub +{ + stdenv, + lib, + boost, + clang-tools, + cmake, + difftastic, + makeWrapper, + meson, + ninja, + nixVersions, + nlohmann_json, + pkg-config, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { @@ -50,7 +51,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Nix unit test runner"; homepage = "https://github.com/nix-community/nix-unit"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ mic92 adisbladis ]; + maintainers = with lib.maintainers; [ + mic92 + adisbladis + ]; platforms = lib.platforms.unix; mainProgram = "nix-unit"; }; diff --git a/pkgs/by-name/ni/nix-web/package.nix b/pkgs/by-name/ni/nix-web/package.nix index d6bff84c75a65..443ab1f3d5ae0 100644 --- a/pkgs/by-name/ni/nix-web/package.nix +++ b/pkgs/by-name/ni/nix-web/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitea -, pkg-config -, openssl -, nixVersions -, nixPackage ? nixVersions.stable -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitea, + pkg-config, + openssl, + nixVersions, + nixPackage ? nixVersions.stable, + darwin, }: let - cargoFlags = [ "-p" "nix-web" ]; + cargoFlags = [ + "-p" + "nix-web" + ]; in rustPlatform.buildRustPackage rec { pname = "nix-web"; @@ -26,8 +30,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-romL/RALr/pmwUA8/SN4AOwc+Vndspd1Yrqs0AHPYRY="; nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optional (!stdenv.hostPlatform.isDarwin) openssl - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); + buildInputs = + lib.optional (!stdenv.hostPlatform.isDarwin) openssl + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); postPatch = '' substituteInPlace nix-web/nix-web.service \ diff --git a/pkgs/by-name/ni/nix-zsh-completions/package.nix b/pkgs/by-name/ni/nix-zsh-completions/package.nix index 2d4edf3d34ba1..e8a5f05538f81 100644 --- a/pkgs/by-name/ni/nix-zsh-completions/package.nix +++ b/pkgs/by-name/ni/nix-zsh-completions/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "nix-zsh-completions"; @@ -23,6 +27,11 @@ stdenv.mkDerivation rec { description = "ZSH completions for Nix, NixOS, and NixOps"; license = licenses.bsd3; platforms = platforms.all; - maintainers = with maintainers; [ olejorgenb hedning ma27 sebtm ]; + maintainers = with maintainers; [ + olejorgenb + hedning + ma27 + sebtm + ]; }; } diff --git a/pkgs/by-name/ni/nixdoc/package.nix b/pkgs/by-name/ni/nixdoc/package.nix index 70b49237f1613..685848d2b63f1 100644 --- a/pkgs/by-name/ni/nixdoc/package.nix +++ b/pkgs/by-name/ni/nixdoc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "nixdoc"; @@ -18,12 +24,12 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Generate documentation for Nix functions"; mainProgram = "nixdoc"; - homepage = "https://github.com/nix-community/nixdoc"; - license = [ licenses.gpl3 ]; + homepage = "https://github.com/nix-community/nixdoc"; + license = [ licenses.gpl3 ]; maintainers = with maintainers; [ infinisil hsjobeki ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ni/nixel/package.nix b/pkgs/by-name/ni/nixel/package.nix index 7f9fb9e7234a5..fcbfbb5b98d01 100644 --- a/pkgs/by-name/ni/nixel/package.nix +++ b/pkgs/by-name/ni/nixel/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, testers -, nixel +{ + lib, + rustPlatform, + fetchFromGitHub, + testers, + nixel, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix b/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix index 80ed05f6a11e8..fef426625f0cb 100644 --- a/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix +++ b/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix @@ -1,9 +1,24 @@ # This file has been autogenerate with cabal2nix. # Update via ./update.sh -{ mkDerivation, base, bytestring, cmdargs, directory, fetchzip -, file-embed, filepath, lib, megaparsec, mtl, parser-combinators -, pretty-simple, safe-exceptions, scientific, text, transformers -, unix +{ + mkDerivation, + base, + bytestring, + cmdargs, + directory, + fetchzip, + file-embed, + filepath, + lib, + megaparsec, + mtl, + parser-combinators, + pretty-simple, + safe-exceptions, + scientific, + text, + transformers, + unix, }: mkDerivation { pname = "nixfmt"; @@ -15,12 +30,26 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base megaparsec mtl parser-combinators pretty-simple scientific - text transformers + base + megaparsec + mtl + parser-combinators + pretty-simple + scientific + text + transformers ]; executableHaskellDepends = [ - base bytestring cmdargs directory file-embed filepath - safe-exceptions text transformers unix + base + bytestring + cmdargs + directory + file-embed + filepath + safe-exceptions + text + transformers + unix ]; jailbreak = true; homepage = "https://github.com/NixOS/nixfmt"; diff --git a/pkgs/by-name/ni/nixops-dns/package.nix b/pkgs/by-name/ni/nixops-dns/package.nix index f1a6cacfe1218..1a3cb7797c4b5 100644 --- a/pkgs/by-name/ni/nixops-dns/package.nix +++ b/pkgs/by-name/ni/nixops-dns/package.nix @@ -1,6 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nixops-dns"; @@ -15,13 +17,19 @@ buildGoModule rec { vendorHash = "sha256-3DVNjvW0AAdogpTi3GMnn92FqqOUWNdQvRBityyKwcI="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/museoa/nixops-dns"; description = "DNS server for resolving NixOps machines"; mainProgram = "nixops-dns"; license = licenses.mit; - maintainers = with maintainers; [ kamilchm sorki ]; + maintainers = with maintainers; [ + kamilchm + sorki + ]; }; } diff --git a/pkgs/by-name/ni/nixos-anywhere/package.nix b/pkgs/by-name/ni/nixos-anywhere/package.nix index a4247f5ccb00b..051992de6746b 100644 --- a/pkgs/by-name/ni/nixos-anywhere/package.nix +++ b/pkgs/by-name/ni/nixos-anywhere/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, fetchFromGitHub -, openssh -, gitMinimal -, nix -, coreutils -, curl -, gnugrep -, gawk -, findutils -, gnused -, lib -, makeWrapper -, sshpass -, gnutar +{ + stdenv, + fetchFromGitHub, + openssh, + gitMinimal, + nix, + coreutils, + curl, + gnugrep, + gawk, + findutils, + gnused, + lib, + makeWrapper, + sshpass, + gnutar, }: let runtimeDeps = [ @@ -54,6 +55,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "nixos-anywhere"; license = licenses.mit; platforms = platforms.all; - maintainers = [ maintainers.mic92 maintainers.lassulus maintainers.phaer ]; + maintainers = [ + maintainers.mic92 + maintainers.lassulus + maintainers.phaer + ]; }; }) diff --git a/pkgs/by-name/ni/nixos-bgrt-plymouth/package.nix b/pkgs/by-name/ni/nixos-bgrt-plymouth/package.nix index 009773b7fa257..1529df96ebeaf 100644 --- a/pkgs/by-name/ni/nixos-bgrt-plymouth/package.nix +++ b/pkgs/by-name/ni/nixos-bgrt-plymouth/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ni/nixos-build-vms/build-vms.nix b/pkgs/by-name/ni/nixos-build-vms/build-vms.nix index 12b3c44746a40..710e712bd2420 100644 --- a/pkgs/by-name/ni/nixos-build-vms/build-vms.nix +++ b/pkgs/by-name/ni/nixos-build-vms/build-vms.nix @@ -1,7 +1,8 @@ -{ system ? builtins.currentSystem -, config ? {} -, nixpkgs -, networkExpr +{ + system ? builtins.currentSystem, + config ? { }, + nixpkgs, + networkExpr, }: let @@ -16,10 +17,14 @@ let inherit system pkgs; }; - interactiveDriver = (testing.makeTest { inherit nodes; name = "network"; testScript = "start_all(); join_all();"; }).test.driverInteractive; + interactiveDriver = + (testing.makeTest { + inherit nodes; + name = "network"; + testScript = "start_all(); join_all();"; + }).test.driverInteractive; in - pkgs.runCommand "nixos-build-vms" { nativeBuildInputs = [ pkgs.makeWrapper ]; } '' mkdir -p $out/bin ln -s ${interactiveDriver}/bin/nixos-test-driver $out/bin/nixos-test-driver diff --git a/pkgs/by-name/ni/nixos-firewall-tool/package.nix b/pkgs/by-name/ni/nixos-firewall-tool/package.nix index b5db510822665..eb05154124e75 100644 --- a/pkgs/by-name/ni/nixos-firewall-tool/package.nix +++ b/pkgs/by-name/ni/nixos-firewall-tool/package.nix @@ -8,6 +8,10 @@ writeShellApplication { meta = with lib; { description = "Temporarily manipulate the NixOS firewall"; license = licenses.mit; - maintainers = with maintainers; [ clerie rvfg garyguo ]; + maintainers = with maintainers; [ + clerie + rvfg + garyguo + ]; }; } diff --git a/pkgs/by-name/ni/nixos-generators/package.nix b/pkgs/by-name/ni/nixos-generators/package.nix index b4d3581a0ebc0..eef7650ffb92c 100644 --- a/pkgs/by-name/ni/nixos-generators/package.nix +++ b/pkgs/by-name/ni/nixos-generators/package.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils, jq, findutils, nix, bash }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + coreutils, + jq, + findutils, + nix, + bash, +}: stdenv.mkDerivation rec { pname = "nixos-generators"; @@ -15,15 +25,22 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" ]; postFixup = '' wrapProgram $out/bin/nixos-generate \ - --prefix PATH : ${lib.makeBinPath [ jq coreutils findutils nix ] } + --prefix PATH : ${ + lib.makeBinPath [ + jq + coreutils + findutils + nix + ] + } ''; meta = with lib; { description = "Collection of image builders"; - homepage = "https://github.com/nix-community/nixos-generators"; - license = licenses.mit; + homepage = "https://github.com/nix-community/nixos-generators"; + license = licenses.mit; maintainers = with maintainers; [ lassulus ]; mainProgram = "nixos-generate"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ni/nixos-install-tools/package.nix b/pkgs/by-name/ni/nixos-install-tools/package.nix index cef57884ab6f4..853c4d718e380 100644 --- a/pkgs/by-name/ni/nixos-install-tools/package.nix +++ b/pkgs/by-name/ni/nixos-install-tools/package.nix @@ -13,7 +13,7 @@ binlore, }: let - inherit (nixos {}) config; + inherit (nixos { }) config; version = config.system.nixos.version; in (buildEnv { @@ -25,7 +25,7 @@ in inherit (config.system.build.manual) nixos-configuration-reference-manpage; }; - extraOutputsToInstall = ["man"]; + extraOutputsToInstall = [ "man" ]; meta = { description = "The essential commands from the NixOS installer as a package"; @@ -43,26 +43,29 @@ in passthru.tests = { nixos-tests = lib.recurseIntoAttrs nixosTests.installer; - nixos-install-help = runCommand "test-nixos-install-help" { - nativeBuildInputs = [ - man - nixos-install-tools - ]; - meta.description = '' - Make sure that --help works. It's somewhat non-trivial because it - requires man. - ''; - } '' - nixos-install --help | grep -F 'NixOS Reference Pages' - nixos-install --help | grep -F 'configuration.nix' - nixos-generate-config --help | grep -F 'NixOS Reference Pages' - nixos-generate-config --help | grep -F 'hardware-configuration.nix' + nixos-install-help = + runCommand "test-nixos-install-help" + { + nativeBuildInputs = [ + man + nixos-install-tools + ]; + meta.description = '' + Make sure that --help works. It's somewhat non-trivial because it + requires man. + ''; + } + '' + nixos-install --help | grep -F 'NixOS Reference Pages' + nixos-install --help | grep -F 'configuration.nix' + nixos-generate-config --help | grep -F 'NixOS Reference Pages' + nixos-generate-config --help | grep -F 'hardware-configuration.nix' - # FIXME: Tries to call unshare, which it must not do for --help - # nixos-enter --help | grep -F 'NixOS Reference Pages' + # FIXME: Tries to call unshare, which it must not do for --help + # nixos-enter --help | grep -F 'NixOS Reference Pages' - touch $out - ''; + touch $out + ''; }; # no documented flags show signs of exec; skim of source suggests @@ -70,7 +73,8 @@ in passthru.binlore.out = binlore.synthesize nixos-install-tools '' execer cannot bin/nixos-generate-config ''; -}).overrideAttrs { - inherit version; - pname = "nixos-install-tools"; -} +}).overrideAttrs + { + inherit version; + pname = "nixos-install-tools"; + } diff --git a/pkgs/by-name/ni/nixos-render-docs/package.nix b/pkgs/by-name/ni/nixos-render-docs/package.nix index 956e0fcfc6e09..9e58c3561c16a 100644 --- a/pkgs/by-name/ni/nixos-render-docs/package.nix +++ b/pkgs/by-name/ni/nixos-render-docs/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, runCommand +{ + lib, + python3, + runCommand, }: let @@ -23,16 +24,17 @@ python.pkgs.buildPythonApplication rec { format = "pyproject"; src = lib.cleanSourceWith { - filter = name: type: + filter = + name: type: lib.cleanSourceFilter name type - && ! (type == "directory" - && builtins.elem - (baseNameOf name) - [ - ".pytest_cache" - ".mypy_cache" - "__pycache__" - ]); + && !( + type == "directory" + && builtins.elem (baseNameOf name) [ + ".pytest_cache" + ".mypy_cache" + "__pycache__" + ] + ); src = ./src; }; @@ -46,18 +48,31 @@ python.pkgs.buildPythonApplication rec { mdit-py-plugins ]; - pytestFlagsArray = [ "-vvrP" "tests/" ]; + pytestFlagsArray = [ + "-vvrP" + "tests/" + ]; # NOTE this is a CI test rather than a build-time test because we want to keep the # build closures small. mypy has an unreasonably large build closure for docs builds. - passthru.tests.typing = runCommand "${pname}-mypy" { - nativeBuildInputs = [ - (python3.withPackages (ps: with ps; [ mypy pytest markdown-it-py mdit-py-plugins ])) - ]; - } '' - mypy --strict ${src} - touch $out - ''; + passthru.tests.typing = + runCommand "${pname}-mypy" + { + nativeBuildInputs = [ + (python3.withPackages ( + ps: with ps; [ + mypy + pytest + markdown-it-py + mdit-py-plugins + ] + )) + ]; + } + '' + mypy --strict ${src} + touch $out + ''; meta = with lib; { description = "Renderer for NixOS manual and option docs"; diff --git a/pkgs/by-name/ni/nixos-shell/package.nix b/pkgs/by-name/ni/nixos-shell/package.nix index 18c49fe79ede9..b41ee3f470556 100644 --- a/pkgs/by-name/ni/nixos-shell/package.nix +++ b/pkgs/by-name/ni/nixos-shell/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, nix, jq, fetchFromGitHub, makeWrapper }: +{ + lib, + stdenv, + nix, + jq, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "nixos-shell"; @@ -15,7 +22,12 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/nixos-shell \ - --prefix PATH : ${lib.makeBinPath [ nix jq ]} + --prefix PATH : ${ + lib.makeBinPath [ + nix + jq + ] + } ''; installFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/by-name/ni/nixpacks/package.nix b/pkgs/by-name/ni/nixpacks/package.nix index 9a210cf2eeb57..48d3141cfe307 100644 --- a/pkgs/by-name/ni/nixpacks/package.nix +++ b/pkgs/by-name/ni/nixpacks/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "nixpacks"; diff --git a/pkgs/by-name/ni/nixpkgs-fmt/package.nix b/pkgs/by-name/ni/nixpkgs-fmt/package.nix index e1d329acc699e..16f62c1253545 100644 --- a/pkgs/by-name/ni/nixpkgs-fmt/package.nix +++ b/pkgs/by-name/ni/nixpkgs-fmt/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "nixpkgs-fmt"; version = "1.3.0"; diff --git a/pkgs/by-name/ni/nixpkgs-hammering/package.nix b/pkgs/by-name/ni/nixpkgs-hammering/package.nix index 1ce398f917803..088ae8425db7a 100644 --- a/pkgs/by-name/ni/nixpkgs-hammering/package.nix +++ b/pkgs/by-name/ni/nixpkgs-hammering/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, stdenv -, makeWrapper -, python3 -, nix -, unstableGitUpdater +{ + lib, + fetchFromGitHub, + rustPlatform, + stdenv, + makeWrapper, + python3, + nix, + unstableGitUpdater, }: let @@ -49,7 +50,12 @@ stdenv.mkDerivation { install -Dt $out/bin tools/nixpkgs-hammer wrapProgram $out/bin/nixpkgs-hammer \ - --prefix PATH : ${lib.makeBinPath [ nix rust-checks ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + nix + rust-checks + ] + } \ --set AST_CHECK_NAMES ''${AST_CHECK_NAMES%:} cp -r lib overlays $out diff --git a/pkgs/by-name/ni/nixpkgs-lint-community/package.nix b/pkgs/by-name/ni/nixpkgs-lint-community/package.nix index 1bfad00a3fe9e..10fdb18ec7c74 100644 --- a/pkgs/by-name/ni/nixpkgs-lint-community/package.nix +++ b/pkgs/by-name/ni/nixpkgs-lint-community/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -22,6 +23,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/nix-community/nixpkgs-lint"; changelog = "https://github.com/nix-community/nixpkgs-lint/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ artturin figsoda ]; + maintainers = with maintainers; [ + artturin + figsoda + ]; }; } diff --git a/pkgs/by-name/ni/nixpkgs-review/package.nix b/pkgs/by-name/ni/nixpkgs-review/package.nix index e7aebeff6093d..4d7743f0aece2 100644 --- a/pkgs/by-name/ni/nixpkgs-review/package.nix +++ b/pkgs/by-name/ni/nixpkgs-review/package.nix @@ -46,10 +46,13 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs = let - binPath = [ - nix - git - ] ++ lib.optional withSandboxSupport bubblewrap ++ lib.optional withNom nix-output-monitor; + binPath = + [ + nix + git + ] + ++ lib.optional withSandboxSupport bubblewrap + ++ lib.optional withNom nix-output-monitor; in [ "--prefix PATH : ${lib.makeBinPath binPath}" diff --git a/pkgs/by-name/ni/nixseparatedebuginfod/package.nix b/pkgs/by-name/ni/nixseparatedebuginfod/package.nix index ffd82b832032d..6015405f3ec62 100644 --- a/pkgs/by-name/ni/nixseparatedebuginfod/package.nix +++ b/pkgs/by-name/ni/nixseparatedebuginfod/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, libarchive -, openssl -, rust-jemalloc-sys -, sqlite -, pkg-config -, nixosTests +{ + lib, + fetchFromGitHub, + rustPlatform, + libarchive, + openssl, + rust-jemalloc-sys, + sqlite, + pkg-config, + nixosTests, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/nj/njam/package.nix b/pkgs/by-name/nj/njam/package.nix index 8fce2a1ca8cda..ab96bc160e7c8 100644 --- a/pkgs/by-name/nj/njam/package.nix +++ b/pkgs/by-name/nj/njam/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer, SDL_net }: +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_image, + SDL_mixer, + SDL_net, +}: stdenv.mkDerivation rec { pname = "njam"; @@ -13,7 +21,12 @@ stdenv.mkDerivation rec { rm src/*.o ''; - buildInputs = [ SDL SDL_image SDL_mixer SDL_net ]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + SDL_net + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/nk/nkeys/package.nix b/pkgs/by-name/nk/nkeys/package.nix index 7dc25358a83a2..835d5f039a75e 100644 --- a/pkgs/by-name/nk/nkeys/package.nix +++ b/pkgs/by-name/nk/nkeys/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/nk/nkf/package.nix b/pkgs/by-name/nk/nkf/package.nix index ae51ad37243b0..dfe70aff968ef 100644 --- a/pkgs/by-name/nk/nkf/package.nix +++ b/pkgs/by-name/nk/nkf/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "nkf"; diff --git a/pkgs/by-name/nl/nload/package.nix b/pkgs/by-name/nl/nload/package.nix index 3f97981528f5f..e7b22ce59db23 100644 --- a/pkgs/by-name/nl/nload/package.nix +++ b/pkgs/by-name/nl/nload/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, ncurses, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + ncurses, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "0.7.4"; diff --git a/pkgs/by-name/nl/nlohmann_json/package.nix b/pkgs/by-name/nl/nlohmann_json/package.nix index d690cc45b2f92..a9bac354d3e1d 100644 --- a/pkgs/by-name/nl/nlohmann_json/package.nix +++ b/pkgs/by-name/nl/nlohmann_json/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake +{ + stdenv, + lib, + fetchFromGitHub, + cmake, }: let testData = fetchFromGitHub { @@ -10,7 +11,8 @@ let rev = "v3.1.0"; hash = "sha256-bG34W63ew7haLnC82A3lS7bviPDnApLipaBjJAjLcVk="; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "nlohmann_json"; version = "3.11.3"; diff --git a/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix b/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix index a6317b1f7b288..23498cb57ad80 100644 --- a/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix +++ b/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix @@ -1,14 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, nlohmann_json -, cmake +{ + stdenv, + lib, + fetchFromGitHub, + nlohmann_json, + cmake, }: stdenv.mkDerivation (finalAttrs: { pname = "nlohmann_json_schema_validator"; version = "2.3.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "pboettch"; diff --git a/pkgs/by-name/nl/nlojet/package.nix b/pkgs/by-name/nl/nlojet/package.nix index 6085906758b07..501e80f2ddd8c 100644 --- a/pkgs/by-name/nl/nlojet/package.nix +++ b/pkgs/by-name/nl/nlojet/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "nlojet++"; @@ -13,16 +17,18 @@ stdenv.mkDerivation rec { ./nlojet_clang_fix.patch ]; - env.CXXFLAGS="-std=c++11"; + env.CXXFLAGS = "-std=c++11"; # error: no member named 'finite' in the global namespace; did you mean simply 'finite'? - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-Dfinite=isfinite"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-Dfinite=isfinite"; meta = { - homepage = "http://www.desy.de/~znagy/Site/NLOJet++.html"; - license = lib.licenses.gpl2; + homepage = "http://www.desy.de/~znagy/Site/NLOJet++.html"; + license = lib.licenses.gpl2; description = "Implementation of calculation of the hadron jet cross sections"; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/nl/nls/package.nix b/pkgs/by-name/nl/nls/package.nix index 0132b35be6884..961acbd300e5b 100644 --- a/pkgs/by-name/nl/nls/package.nix +++ b/pkgs/by-name/nl/nls/package.nix @@ -1,5 +1,6 @@ -{ symlinkJoin -, nickel +{ + symlinkJoin, + nickel, }: symlinkJoin { @@ -10,7 +11,12 @@ symlinkJoin { paths = [ nickel.nls ]; meta = { - inherit (nickel.meta) homepage changelog license maintainers; + inherit (nickel.meta) + homepage + changelog + license + maintainers + ; description = "Language server for the Nickel programming language"; mainProgram = "nls"; longDescription = '' diff --git a/pkgs/by-name/nm/nmap-formatter/package.nix b/pkgs/by-name/nm/nmap-formatter/package.nix index 173514c7fd0be..b9ae0d0ae4d71 100644 --- a/pkgs/by-name/nm/nmap-formatter/package.nix +++ b/pkgs/by-name/nm/nmap-formatter/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/nm/nmap-parse/package.nix b/pkgs/by-name/nm/nmap-parse/package.nix index 7a8ab044377f7..5ff2677d3d773 100644 --- a/pkgs/by-name/nm/nmap-parse/package.nix +++ b/pkgs/by-name/nm/nmap-parse/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/nm/nmh/package.nix b/pkgs/by-name/nm/nmh/package.nix index e32da2708a5b4..0eebc1cb85e02 100644 --- a/pkgs/by-name/nm/nmh/package.nix +++ b/pkgs/by-name/nm/nmh/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, autoreconfHook -, bison -, coreutils -, cyrus_sasl -, db -, fetchFromSavannah -, flex -, gdbm -, liblockfile -, ncurses -, openssl -, readline -, runtimeShell +{ + lib, + stdenv, + autoreconfHook, + bison, + coreutils, + cyrus_sasl, + db, + fetchFromSavannah, + flex, + gdbm, + liblockfile, + ncurses, + openssl, + readline, + runtimeShell, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nm/nmon/package.nix b/pkgs/by-name/nm/nmon/package.nix index 3de22bfae6d76..c142a8ec3281a 100644 --- a/pkgs/by-name/nm/nmon/package.nix +++ b/pkgs/by-name/nm/nmon/package.nix @@ -1,4 +1,9 @@ -{ fetchurl, lib, stdenv, ncurses }: +{ + fetchurl, + lib, + stdenv, + ncurses, +}: stdenv.mkDerivation rec { pname = "nmon"; @@ -13,10 +18,14 @@ stdenv.mkDerivation rec { dontUnpack = true; buildPhase = "${stdenv.cc.targetPrefix}cc -o nmon ${src} -g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -lm -g -D ${ with stdenv.hostPlatform; - if isx86 then "X86" - else if isAarch then "ARM" - else if isPower then "POWER" - else "UNKNOWN" + if isx86 then + "X86" + else if isAarch then + "ARM" + else if isPower then + "POWER" + else + "UNKNOWN" }"; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/nm/nmrpflash/package.nix b/pkgs/by-name/nm/nmrpflash/package.nix index 90a8b1e6feb79..323bcd43fe580 100644 --- a/pkgs/by-name/nm/nmrpflash/package.nix +++ b/pkgs/by-name/nm/nmrpflash/package.nix @@ -1,9 +1,10 @@ -{ fetchFromGitHub -, lib -, libnl -, libpcap -, pkg-config -, stdenv +{ + fetchFromGitHub, + lib, + libnl, + libpcap, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { pname = "nmrpflash"; @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libnl libpcap ]; + buildInputs = [ + libnl + libpcap + ]; PREFIX = "${placeholder "out"}"; STANDALONE_VERSION = version; diff --git a/pkgs/by-name/nm/nms/package.nix b/pkgs/by-name/nm/nms/package.nix index cf890dc449562..f7ddc9cfb86c5 100644 --- a/pkgs/by-name/nm/nms/package.nix +++ b/pkgs/by-name/nm/nms/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "nms"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-QVCEpplsZCSQ+Fq1LBtCuPBvnzgLsmLcSrxR+e4nA5I="; }; - buildFlags = [ "nms" "sneakers" ]; + buildFlags = [ + "nms" + "sneakers" + ]; installFlags = [ "prefix=$(out)" ]; meta = with lib; { diff --git a/pkgs/by-name/nn/nncp/package.nix b/pkgs/by-name/nn/nncp/package.nix index bbacef76fbb02..e02a4421dcd0f 100644 --- a/pkgs/by-name/nn/nncp/package.nix +++ b/pkgs/by-name/nn/nncp/package.nix @@ -1,18 +1,23 @@ -{ cfgPath ? "/etc/nncp.hjson" -, curl -, fetchurl -, lib -, genericUpdater -, go -, perl -, stdenv -, writeShellScript +{ + cfgPath ? "/etc/nncp.hjson", + curl, + fetchurl, + lib, + genericUpdater, + go, + perl, + stdenv, + writeShellScript, }: stdenv.mkDerivation (finalAttrs: { pname = "nncp"; version = "8.11.0"; - outputs = [ "out" "doc" "info" ]; + outputs = [ + "out" + "doc" + "info" + ]; src = fetchurl { url = "http://www.nncpgo.org/download/nncp-${finalAttrs.version}.tar.xz"; @@ -71,7 +76,10 @@ stdenv.mkDerivation (finalAttrs: { support. But online TCP daemon with full-duplex resumable data transmission exists. ''; - maintainers = with lib.maintainers; [ ehmry woffs ]; + maintainers = with lib.maintainers; [ + ehmry + woffs + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/nn/nng/package.nix b/pkgs/by-name/nn/nng/package.nix index 9016424d4b303..a10611f3a89a9 100644 --- a/pkgs/by-name/nn/nng/package.nix +++ b/pkgs/by-name/nn/nng/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, mbedtlsSupport ? true, mbedtls }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + mbedtlsSupport ? true, + mbedtls, +}: stdenv.mkDerivation rec { pname = "nng"; @@ -11,13 +19,19 @@ stdenv.mkDerivation rec { hash = "sha256-N1ZMILrFhdkwU4PK/zlSCgGjOm0748fgvZRrk7I9YVg="; }; - nativeBuildInputs = [ cmake ninja ] - ++ lib.optionals mbedtlsSupport [ mbedtls ]; + nativeBuildInputs = [ + cmake + ninja + ] ++ lib.optionals mbedtlsSupport [ mbedtls ]; buildInputs = lib.optionals mbedtlsSupport [ mbedtls ]; - cmakeFlags = [ "-G Ninja" ] - ++ lib.optionals mbedtlsSupport [ "-DMBEDTLS_ROOT_DIR=${mbedtls}" "-DNNG_ENABLE_TLS=ON" ]; + cmakeFlags = + [ "-G Ninja" ] + ++ lib.optionals mbedtlsSupport [ + "-DMBEDTLS_ROOT_DIR=${mbedtls}" + "-DNNG_ENABLE_TLS=ON" + ]; meta = with lib; { homepage = "https://nng.nanomsg.org/"; diff --git a/pkgs/by-name/nn/nnn/package.nix b/pkgs/by-name/nn/nnn/package.nix index 39f69c62b2b84..9e8a0467b3d8d 100644 --- a/pkgs/by-name/nn/nnn/package.nix +++ b/pkgs/by-name/nn/nnn/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, makeWrapper -, pkg-config -, file -, ncurses -, readline -, which -, musl-fts -, pcre -, gnused +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + makeWrapper, + pkg-config, + file, + ncurses, + readline, + which, + musl-fts, + pcre, + gnused, # options -, conf ? null -, withIcons ? false -, withNerdIcons ? false -, withEmojis ? false -, withPcre ? false -, extraMakeFlags ? [ ] + conf ? null, + withIcons ? false, + withNerdIcons ? false, + withEmojis ? false, + withPcre ? false, + extraMakeFlags ? [ ], }: # Mutually exclusive options @@ -46,24 +47,40 @@ stdenv.mkDerivation (finalAttrs: { configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf); preBuild = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} src/nnn.h"; - nativeBuildInputs = [ installShellFiles makeWrapper pkg-config ]; - buildInputs = [ readline ncurses ] + nativeBuildInputs = [ + installShellFiles + makeWrapper + pkg-config + ]; + buildInputs = + [ + readline + ncurses + ] ++ lib.optional stdenv.hostPlatform.isMusl musl-fts ++ lib.optional withPcre pcre; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isMusl "-I${musl-fts}/include"; NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-lfts"; - makeFlags = [ "PREFIX=$(out)" ] + makeFlags = + [ "PREFIX=$(out)" ] ++ lib.optionals withIcons [ "O_ICONS=1" ] ++ lib.optionals withNerdIcons [ "O_NERD=1" ] ++ lib.optionals withEmojis [ "O_EMOJI=1" ] ++ lib.optionals withPcre [ "O_PCRE=1" ] ++ extraMakeFlags; - binPath = lib.makeBinPath [ file which gnused ]; + binPath = lib.makeBinPath [ + file + which + gnused + ]; - installTargets = [ "install" "install-desktop" ]; + installTargets = [ + "install" + "install-desktop" + ]; postInstall = '' installShellCompletion --bash --name nnn.bash misc/auto-completion/bash/nnn-completion.bash diff --git a/pkgs/by-name/nn/nnpdf/package.nix b/pkgs/by-name/nn/nnpdf/package.nix index c1de306e6bf05..83ec6b718466a 100644 --- a/pkgs/by-name/nn/nnpdf/package.nix +++ b/pkgs/by-name/nn/nnpdf/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, apfel -, gsl -, lhapdf -, libarchive -, yaml-cpp -, python3 -, sqlite -, swig +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + apfel, + gsl, + lhapdf, + libarchive, + yaml-cpp, + python3, + sqlite, + swig, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nn/nntp-proxy/package.nix b/pkgs/by-name/nn/nntp-proxy/package.nix index 05c8263f436bb..48c5bc78edf1e 100644 --- a/pkgs/by-name/nn/nntp-proxy/package.nix +++ b/pkgs/by-name/nn/nntp-proxy/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libconfig, pkg-config, libevent, openssl, libxcrypt }: +{ + lib, + stdenv, + fetchFromGitHub, + libconfig, + pkg-config, + libevent, + openssl, + libxcrypt, +}: stdenv.mkDerivation { pname = "nntp-proxy"; @@ -12,7 +21,12 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libconfig libevent openssl libxcrypt ]; + buildInputs = [ + libconfig + libevent + openssl + libxcrypt + ]; installFlags = [ "INSTALL_DIR=$(out)/bin/" ]; diff --git a/pkgs/by-name/no/noaa-apt/package.nix b/pkgs/by-name/no/noaa-apt/package.nix index 65024c24b00eb..be1690fbce7ae 100644 --- a/pkgs/by-name/no/noaa-apt/package.nix +++ b/pkgs/by-name/no/noaa-apt/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, atk -, cairo -, gdk-pixbuf -, glib -, gtk3 -, openssl -, pango +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + atk, + cairo, + gdk-pixbuf, + glib, + gtk3, + openssl, + pango, }: rustPlatform.buildRustPackage rec { @@ -63,7 +64,10 @@ rustPlatform.buildRustPackage rec { description = "NOAA APT image decoder"; homepage = "https://noaa-apt.mbernardi.com.ar/"; license = licenses.gpl3Only; - maintainers = with maintainers; [ trepetti tmarkus ]; + maintainers = with maintainers; [ + trepetti + tmarkus + ]; platforms = platforms.all; changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}"; mainProgram = "noaa-apt"; diff --git a/pkgs/by-name/no/node-glob/package.nix b/pkgs/by-name/no/node-glob/package.nix index 74013b27b3059..fb26994e1aff3 100644 --- a/pkgs/by-name/no/node-glob/package.nix +++ b/pkgs/by-name/no/node-glob/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/no/node-hp-scan-to/package.nix b/pkgs/by-name/no/node-hp-scan-to/package.nix index 86498d2b7fd52..f348b5011935b 100644 --- a/pkgs/by-name/no/node-hp-scan-to/package.nix +++ b/pkgs/by-name/no/node-hp-scan-to/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nodejs -, fixup-yarn-lock -, yarn +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + fixup-yarn-lock, + yarn, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/no/node-manta/package.nix b/pkgs/by-name/no/node-manta/package.nix index ef0d92150360b..a096217d73de4 100644 --- a/pkgs/by-name/no/node-manta/package.nix +++ b/pkgs/by-name/no/node-manta/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, installShellFiles -, testers -, node-manta +{ + lib, + buildNpmPackage, + fetchFromGitHub, + installShellFiles, + testers, + node-manta, }: buildNpmPackage rec { diff --git a/pkgs/by-name/no/node-problem-detector/package.nix b/pkgs/by-name/no/node-problem-detector/package.nix index 21a7d60638eef..16e23d8310d6c 100644 --- a/pkgs/by-name/no/node-problem-detector/package.nix +++ b/pkgs/by-name/no/node-problem-detector/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, systemd }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + systemd, +}: buildGoModule rec { pname = "node-problem-detector"; @@ -19,8 +25,9 @@ buildGoModule rec { # The binary is dynamically linked against systemd libraries, making it a # Linux-only feature. See 'ENABLE_JOURNALD' upstream: # https://github.com/kubernetes/node-problem-detector/blob/master/Makefile - subPackages = [ "cmd/nodeproblemdetector" ] ++ - lib.optionals stdenv.hostPlatform.isLinux [ "cmd/logcounter" ]; + subPackages = [ + "cmd/nodeproblemdetector" + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "cmd/logcounter" ]; preBuild = '' export CGO_ENABLED=${if stdenv.hostPlatform.isLinux then "1" else "0"} diff --git a/pkgs/by-name/no/nodehun/package.nix b/pkgs/by-name/no/nodehun/package.nix index 5bc067085ed8f..36426f03ea832 100644 --- a/pkgs/by-name/no/nodehun/package.nix +++ b/pkgs/by-name/no/nodehun/package.nix @@ -1,12 +1,13 @@ -{ buildNpmPackage -, cctools -, darwin -, fetchFromGitHub -, lib -, node-gyp -, nodejs -, python3 -, stdenv +{ + buildNpmPackage, + cctools, + darwin, + fetchFromGitHub, + lib, + node-gyp, + nodejs, + python3, + stdenv, }: buildNpmPackage { @@ -30,9 +31,13 @@ buildNpmPackage { npmDepsHash = "sha256-mV6rWNf2p2w4H0ESUT0/Ybtx9YEdvO5l2gCvlWFXK+U="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.CoreServices ]; - nativeBuildInputs = [ node-gyp python3 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; + nativeBuildInputs = [ + node-gyp + python3 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; postInstall = '' # Only keep the necessary parts of build/Release to reduce closure size diff --git a/pkgs/by-name/no/nodenv/package.nix b/pkgs/by-name/no/nodenv/package.nix index 3eb045c5e9a92..89c6a6a89aa2e 100644 --- a/pkgs/by-name/no/nodenv/package.nix +++ b/pkgs/by-name/no/nodenv/package.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/no/nofi/package.nix b/pkgs/by-name/no/nofi/package.nix index 688c8c397d42b..4c1cba5dfeaca 100644 --- a/pkgs/by-name/no/nofi/package.nix +++ b/pkgs/by-name/no/nofi/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, dbus, pkg-config}: +{ + lib, + rustPlatform, + fetchFromGitHub, + dbus, + pkg-config, +}: rustPlatform.buildRustPackage rec { pname = "nofi"; @@ -20,7 +26,10 @@ rustPlatform.buildRustPackage rec { description = "Interruption-free notification system for Linux"; homepage = "https://github.com/ellsclytn/nofi/"; changelog = "https://github.com/ellsclytn/nofi/raw/v${version}/CHANGELOG.md"; - license = [ licenses.asl20 /* or */ licenses.mit ]; + license = [ + licenses.asl20 # or + licenses.mit + ]; mainProgram = "nofi"; maintainers = [ maintainers.magnetophon ]; }; diff --git a/pkgs/by-name/no/noice/package.nix b/pkgs/by-name/no/noice/package.nix index 7421a3816d292..90ace4c43e471 100644 --- a/pkgs/by-name/no/noice/package.nix +++ b/pkgs/by-name/no/noice/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, ncurses, conf ? null }: +{ + lib, + stdenv, + fetchgit, + ncurses, + conf ? null, +}: stdenv.mkDerivation rec { pname = "noice"; @@ -16,14 +22,17 @@ stdenv.mkDerivation rec { substituteInPlace noice.c --replace 'printw(str);' 'printw("%s", str);' ''; - configFile = lib.optionalString (conf!=null) (builtins.toFile "config.def.h" conf); - preBuild = lib.optionalString (conf!=null) "cp ${configFile} config.def.h"; + configFile = lib.optionalString (conf != null) (builtins.toFile "config.def.h" conf); + preBuild = lib.optionalString (conf != null) "cp ${configFile} config.def.h"; buildInputs = [ ncurses ]; buildFlags = [ "LDLIBS=-lncurses" ]; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = with lib; { description = "Small ncurses-based file browser"; diff --git a/pkgs/by-name/no/noip/package.nix b/pkgs/by-name/no/noip/package.nix index d71cbcec507af..a2eb079990ff2 100644 --- a/pkgs/by-name/no/noip/package.nix +++ b/pkgs/by-name/no/noip/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "noip"; @@ -10,11 +14,10 @@ stdenv.mkDerivation { }; makeFlags = [ "PREFIX=\${out}" ]; - installPhase = - '' - mkdir -p $out/bin - cp noip2 $out/bin - ''; + installPhase = '' + mkdir -p $out/bin + cp noip2 $out/bin + ''; enableParallelBuilding = true; diff --git a/pkgs/by-name/no/noise-repellent/package.nix b/pkgs/by-name/no/noise-repellent/package.nix index d1860141ebb31..c02b2a565d9d0 100644 --- a/pkgs/by-name/no/noise-repellent/package.nix +++ b/pkgs/by-name/no/noise-repellent/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, cmake, libspecbleach, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + cmake, + libspecbleach, + lv2, +}: stdenv.mkDerivation rec { pname = "noise-repellent"; @@ -16,15 +26,21 @@ stdenv.mkDerivation rec { "--buildtype=release" ]; - nativeBuildInputs = [ meson ninja pkg-config cmake ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + cmake + ]; buildInputs = [ - libspecbleach lv2 + libspecbleach + lv2 ]; meta = with lib; { description = "LV2 plugin for broadband noise reduction"; - homepage = "https://github.com/lucianodato/noise-repellent"; - license = licenses.gpl3; + homepage = "https://github.com/lucianodato/noise-repellent"; + license = licenses.gpl3; maintainers = [ maintainers.magnetophon ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/no/noisetorch/package.nix b/pkgs/by-name/no/noisetorch/package.nix index 5f3dfc7bf8fd9..6399aa99ddb4a 100644 --- a/pkgs/by-name/no/noisetorch/package.nix +++ b/pkgs/by-name/no/noisetorch/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "NoiseTorch"; @@ -16,7 +20,12 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.distribution=nixpkgs" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.distribution=nixpkgs" + ]; subPackages = [ "." ]; @@ -36,7 +45,10 @@ buildGoModule rec { homepage = "https://github.com/noisetorch/NoiseTorch"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ panaeon lom ]; + maintainers = with maintainers; [ + panaeon + lom + ]; mainProgram = "noisetorch"; }; } diff --git a/pkgs/by-name/no/nomachine-client/package.nix b/pkgs/by-name/no/nomachine-client/package.nix index 79e77cc86badb..a99a102f61701 100644 --- a/pkgs/by-name/no/nomachine-client/package.nix +++ b/pkgs/by-name/no/nomachine-client/package.nix @@ -1,94 +1,112 @@ -{ lib, stdenv, file, fetchurl, makeWrapper, - autoPatchelfHook, jsoncpp, libpulseaudio }: +{ + lib, + stdenv, + file, + fetchurl, + makeWrapper, + autoPatchelfHook, + jsoncpp, + libpulseaudio, +}: let versionMajor = "8.13"; versionMinor = "1"; versionBuild_x86_64 = "1"; versionBuild_i686 = "1"; in - stdenv.mkDerivation rec { - pname = "nomachine-client"; - version = "${versionMajor}.${versionMinor}"; +stdenv.mkDerivation rec { + pname = "nomachine-client"; + version = "${versionMajor}.${versionMinor}"; - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"; - sha256 = "sha256-8rxlxdtGU8avpvYJr+bpnsy5v91sqtlij/MCGWrcanY="; - } - else if stdenv.hostPlatform.system == "i686-linux" then - fetchurl { - url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"; - sha256 = "sha256-Ekyxc4wODjqWhp0aINhaPGLy9lh6Rt9AmxIt1ulE8Go="; - } - else - throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}"; + src = + if stdenv.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"; + sha256 = "sha256-8rxlxdtGU8avpvYJr+bpnsy5v91sqtlij/MCGWrcanY="; + } + else if stdenv.hostPlatform.system == "i686-linux" then + fetchurl { + url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"; + sha256 = "sha256-Ekyxc4wODjqWhp0aINhaPGLy9lh6Rt9AmxIt1ulE8Go="; + } + else + throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}"; - # nxusb-legacy is only needed for kernel versions < 3 - postUnpack = '' - mv $(find . -type f -name nxrunner.tar.gz) . - mv $(find . -type f -name nxplayer.tar.gz) . - rm -r NX/ - tar xf nxrunner.tar.gz - tar xf nxplayer.tar.gz - rm $(find . -maxdepth 1 -type f) - rm -r NX/share/src/nxusb-legacy - rm NX/bin/nxusbd-legacy NX/lib/libnxusb-legacy.so - ''; + # nxusb-legacy is only needed for kernel versions < 3 + postUnpack = '' + mv $(find . -type f -name nxrunner.tar.gz) . + mv $(find . -type f -name nxplayer.tar.gz) . + rm -r NX/ + tar xf nxrunner.tar.gz + tar xf nxplayer.tar.gz + rm $(find . -maxdepth 1 -type f) + rm -r NX/share/src/nxusb-legacy + rm NX/bin/nxusbd-legacy NX/lib/libnxusb-legacy.so + ''; - nativeBuildInputs = [ file makeWrapper autoPatchelfHook ]; - buildInputs = [ jsoncpp libpulseaudio ]; + nativeBuildInputs = [ + file + makeWrapper + autoPatchelfHook + ]; + buildInputs = [ + jsoncpp + libpulseaudio + ]; - installPhase = '' - rm bin/nxplayer bin/nxrunner + installPhase = '' + rm bin/nxplayer bin/nxrunner - mkdir -p $out/NX - cp -r bin lib share $out/NX/ + mkdir -p $out/NX + cp -r bin lib share $out/NX/ - ln -s $out/NX/bin $out/bin + ln -s $out/NX/bin $out/bin - for i in share/icons/*; do - if [[ -d "$i" ]]; then - mkdir -p "$out/share/icons/hicolor/$(basename $i)/apps" - cp "$i"/* "$out/share/icons/hicolor/$(basename $i)/apps/" - fi - done + for i in share/icons/*; do + if [[ -d "$i" ]]; then + mkdir -p "$out/share/icons/hicolor/$(basename $i)/apps" + cp "$i"/* "$out/share/icons/hicolor/$(basename $i)/apps/" + fi + done - mkdir $out/share/applications - cp share/applnk/player/xdg/*.desktop $out/share/applications/ - cp share/applnk/runner/xdg-mime/*.desktop $out/share/applications/ + mkdir $out/share/applications + cp share/applnk/player/xdg/*.desktop $out/share/applications/ + cp share/applnk/runner/xdg-mime/*.desktop $out/share/applications/ - mkdir -p $out/share/mime/packages - cp share/applnk/runner/xdg-mime/*.xml $out/share/mime/packages/ + mkdir -p $out/share/mime/packages + cp share/applnk/runner/xdg-mime/*.xml $out/share/mime/packages/ - for i in $out/share/applications/*.desktop; do - substituteInPlace "$i" --replace /usr/NX/bin $out/bin - done - ''; + for i in $out/share/applications/*.desktop; do + substituteInPlace "$i" --replace /usr/NX/bin $out/bin + done + ''; - postFixup = '' - makeWrapper $out/bin/nxplayer.bin $out/bin/nxplayer --set NX_SYSTEM $out/NX - makeWrapper $out/bin/nxrunner.bin $out/bin/nxrunner --set NX_SYSTEM $out/NX + postFixup = '' + makeWrapper $out/bin/nxplayer.bin $out/bin/nxplayer --set NX_SYSTEM $out/NX + makeWrapper $out/bin/nxrunner.bin $out/bin/nxrunner --set NX_SYSTEM $out/NX - # libnxcau.so needs libpulse.so.0 for audio to work, but doesn't - # have a DT_NEEDED entry for it. - patchelf --add-needed libpulse.so.0 $out/NX/lib/libnxcau.so - ''; + # libnxcau.so needs libpulse.so.0 for audio to work, but doesn't + # have a DT_NEEDED entry for it. + patchelf --add-needed libpulse.so.0 $out/NX/lib/libnxcau.so + ''; - dontBuild = true; - dontStrip = true; + dontBuild = true; + dontStrip = true; - meta = with lib; { - description = "NoMachine remote desktop client (nxplayer)"; - homepage = "https://www.nomachine.com/"; - mainProgram = "nxplayer"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = { - fullName = "NoMachine 7 End-User License Agreement"; - url = "https://www.nomachine.com/licensing-7"; - free = false; - }; - maintainers = with maintainers; [ talyz ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + meta = with lib; { + description = "NoMachine remote desktop client (nxplayer)"; + homepage = "https://www.nomachine.com/"; + mainProgram = "nxplayer"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = { + fullName = "NoMachine 7 End-User License Agreement"; + url = "https://www.nomachine.com/licensing-7"; + free = false; }; - } + maintainers = with maintainers; [ talyz ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; + }; +} diff --git a/pkgs/by-name/no/nomad-autoscaler/package.nix b/pkgs/by-name/no/nomad-autoscaler/package.nix index 6a232472f6cd5..e83fef2c859c2 100644 --- a/pkgs/by-name/no/nomad-autoscaler/package.nix +++ b/pkgs/by-name/no/nomad-autoscaler/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, buildEnv }: +{ + lib, + fetchFromGitHub, + buildGoModule, + buildEnv, +}: let package = buildGoModule rec { @@ -98,14 +103,24 @@ let }; }; - plugins = let - plugins = builtins.filter (n: !(lib.elem n [ "out" "bin" ])) package.outputs; - in lib.genAttrs plugins (output: package.${output}); + plugins = + let + plugins = builtins.filter ( + n: + !(lib.elem n [ + "out" + "bin" + ]) + ) package.outputs; + in + lib.genAttrs plugins (output: package.${output}); # Intended to be used as: (nomad-autoscaler.withPlugins (ps: [ ps.aws_asg ps.nomad_target ]) - withPlugins = f: buildEnv { - name = "nomad-autoscaler-env"; - paths = [ package.bin ] ++ f plugins; - }; + withPlugins = + f: + buildEnv { + name = "nomad-autoscaler-env"; + paths = [ package.bin ] ++ f plugins; + }; in - package +package diff --git a/pkgs/by-name/no/nomad-driver-podman/package.nix b/pkgs/by-name/no/nomad-driver-podman/package.nix index 4b3f6a2b8e82b..79edefc7ec694 100644 --- a/pkgs/by-name/no/nomad-driver-podman/package.nix +++ b/pkgs/by-name/no/nomad-driver-podman/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nomad-driver-podman"; diff --git a/pkgs/by-name/no/nomino/package.nix b/pkgs/by-name/no/nomino/package.nix index 8dd25227323db..119b6557d542e 100644 --- a/pkgs/by-name/no/nomino/package.nix +++ b/pkgs/by-name/no/nomino/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "nomino"; @@ -17,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Batch rename utility for developers"; homepage = "https://github.com/yaa110/nomino"; changelog = "https://github.com/yaa110/nomino/releases/tag/${src.rev}"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "nomino"; }; diff --git a/pkgs/by-name/no/nomnatong/package.nix b/pkgs/by-name/no/nomnatong/package.nix index 0236e1cde6702..c4e2fe59218d2 100644 --- a/pkgs/by-name/no/nomnatong/package.nix +++ b/pkgs/by-name/no/nomnatong/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, python3Packages -, nix-update-script +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3Packages, + nix-update-script, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/no/nordzy-icon-theme/package.nix b/pkgs/by-name/no/nordzy-icon-theme/package.nix index 3aedf3b2c93ff..8014d85dfcb7a 100644 --- a/pkgs/by-name/no/nordzy-icon-theme/package.nix +++ b/pkgs/by-name/no/nordzy-icon-theme/package.nix @@ -1,9 +1,10 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib -, gtk3 -, jdupes -, nordzy-themes ? [ "all" ] # Override this to only install selected themes +{ + stdenvNoCC, + fetchFromGitHub, + lib, + gtk3, + jdupes, + nordzy-themes ? [ "all" ], # Override this to only install selected themes }: stdenvNoCC.mkDerivation rec { @@ -33,7 +34,9 @@ stdenvNoCC.mkDerivation rec { runHook preInstall name= ./install.sh --dest $out/share/icons \ - ${lib.optionalString (nordzy-themes != []) (lib.strings.concatMapStrings (theme: "-t ${theme} ") nordzy-themes)} + ${lib.optionalString (nordzy-themes != [ ]) ( + lib.strings.concatMapStrings (theme: "-t ${theme} ") nordzy-themes + )} # Replace duplicate files with hardlinks to the first file in each # set of duplicates, reducing the installed size in about 87% diff --git a/pkgs/by-name/no/normaliz/package.nix b/pkgs/by-name/no/normaliz/package.nix index e7cca5184cbf2..5c660e5de41c1 100644 --- a/pkgs/by-name/no/normaliz/package.nix +++ b/pkgs/by-name/no/normaliz/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gmpxx -, flint -, arb -, nauty +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gmpxx, + flint, + arb, + nauty, }: stdenv.mkDerivation (finalAttrs: { @@ -26,7 +27,11 @@ stdenv.mkDerivation (finalAttrs: { nauty ]; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/by-name/no/normalize/package.nix b/pkgs/by-name/no/normalize/package.nix index 78951c67e8d86..e65c50c699265 100644 --- a/pkgs/by-name/no/normalize/package.nix +++ b/pkgs/by-name/no/normalize/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libmad }: +{ + lib, + stdenv, + fetchurl, + libmad, +}: stdenv.mkDerivation rec { pname = "normalize"; diff --git a/pkgs/by-name/no/norminette/package.nix b/pkgs/by-name/no/norminette/package.nix index 90a978e09948d..f1b7ecf41dc0a 100644 --- a/pkgs/by-name/no/norminette/package.nix +++ b/pkgs/by-name/no/norminette/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/no/norouter/package.nix b/pkgs/by-name/no/norouter/package.nix index efc50fbad2ad0..73b9273e5d64f 100644 --- a/pkgs/by-name/no/norouter/package.nix +++ b/pkgs/by-name/no/norouter/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/no/norwester-font/package.nix b/pkgs/by-name/no/norwester-font/package.nix index 2efbf45fd3d13..acac0b78e1250 100644 --- a/pkgs/by-name/no/norwester-font/package.nix +++ b/pkgs/by-name/no/norwester-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "norwester"; diff --git a/pkgs/by-name/no/noseyparker/package.nix b/pkgs/by-name/no/noseyparker/package.nix index 21d2138023706..be2c5971598f2 100644 --- a/pkgs/by-name/no/noseyparker/package.nix +++ b/pkgs/by-name/no/noseyparker/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, boost -, cmake -, git -, hyperscan -, openssl -, pkg-config +{ + lib, + rustPlatform, + fetchFromGitHub, + boost, + cmake, + git, + hyperscan, + openssl, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/no/nosqli/package.nix b/pkgs/by-name/no/nosqli/package.nix index 3a1721831a0ab..7930a9626b5cd 100644 --- a/pkgs/by-name/no/nosqli/package.nix +++ b/pkgs/by-name/no/nosqli/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/no/notable/package.nix b/pkgs/by-name/no/notable/package.nix index 9d1c4a246627c..80995ce15d941 100644 --- a/pkgs/by-name/no/notable/package.nix +++ b/pkgs/by-name/no/notable/package.nix @@ -1,4 +1,9 @@ -{ appimageTools, makeWrapper, fetchurl, lib }: +{ + appimageTools, + makeWrapper, + fetchurl, + lib, +}: let pname = "notable"; @@ -24,7 +29,10 @@ appimageTools.wrapType2 rec { nativeBuildInputs = [ makeWrapper ]; - extraPkgs = pkgs: [ pkgs.at-spi2-atk pkgs.at-spi2-core ]; + extraPkgs = pkgs: [ + pkgs.at-spi2-atk + pkgs.at-spi2-core + ]; extraInstallCommands = '' install -m 444 -D ${appimageContents}/notable.desktop $out/share/applications/notable.desktop diff --git a/pkgs/by-name/no/notary/package.nix b/pkgs/by-name/no/notary/package.nix index 0feb21091df69..d25575ca85673 100644 --- a/pkgs/by-name/no/notary/package.nix +++ b/pkgs/by-name/no/notary/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { pname = "notary"; diff --git a/pkgs/by-name/no/notation/package.nix b/pkgs/by-name/no/notation/package.nix index 213b91cfa854f..70f50ef4eb0ed 100644 --- a/pkgs/by-name/no/notation/package.nix +++ b/pkgs/by-name/no/notation/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, notation }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + notation, +}: buildGoModule rec { pname = "notation"; diff --git a/pkgs/by-name/no/notcurses/package.nix b/pkgs/by-name/no/notcurses/package.nix index 4fca583a6264f..adeadd172a509 100644 --- a/pkgs/by-name/no/notcurses/package.nix +++ b/pkgs/by-name/no/notcurses/package.nix @@ -1,15 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libdeflate -, libunistring -, ncurses -, pandoc -, pkg-config -, zlib -, multimediaSupport ? true, ffmpeg -, qrcodegenSupport ? true, qrcodegen +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libdeflate, + libunistring, + ncurses, + pandoc, + pkg-config, + zlib, + multimediaSupport ? true, + ffmpeg, + qrcodegenSupport ? true, + qrcodegen, }: stdenv.mkDerivation rec { @@ -23,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-3ddiHzPZ74GN2Hu+6Oe1DaNFn6S9gegGwXSX8fbtPp8="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake @@ -31,14 +37,15 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - libdeflate - libunistring - ncurses - zlib - ] - ++ lib.optional qrcodegenSupport qrcodegen - ++ lib.optional multimediaSupport ffmpeg; + buildInputs = + [ + libdeflate + libunistring + ncurses + zlib + ] + ++ lib.optional qrcodegenSupport qrcodegen + ++ lib.optional multimediaSupport ffmpeg; cmakeFlags = lib.optional (qrcodegenSupport) "-DUSE_QRCODEGEN=ON" diff --git a/pkgs/by-name/no/notejot/package.nix b/pkgs/by-name/no/notejot/package.nix index a2882e16f93ef..d9d3c1a93c6dd 100644 --- a/pkgs/by-name/no/notejot/package.nix +++ b/pkgs/by-name/no/notejot/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, gtk4 -, json-glib -, libadwaita -, libgee -, desktop-file-utils -, meson -, ninja -, nix-update-script -, pkg-config -, vala -, wrapGAppsHook4 -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + gtk4, + json-glib, + libadwaita, + libgee, + desktop-file-utils, + meson, + ninja, + nix-update-script, + pkg-config, + vala, + wrapGAppsHook4, + fetchpatch, }: stdenv.mkDerivation rec { @@ -42,7 +43,6 @@ stdenv.mkDerivation rec { libgee ]; - patches = [ # Fixes the compilation error with new Vala compiler. Remove in the next version. (fetchpatch { diff --git a/pkgs/by-name/no/notemap/package.nix b/pkgs/by-name/no/notemap/package.nix index 0611665d6618a..ebecc896295b9 100644 --- a/pkgs/by-name/no/notemap/package.nix +++ b/pkgs/by-name/no/notemap/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchzip -, pkg-config -, libressl -, memstreamHook +{ + lib, + stdenv, + fetchzip, + pkg-config, + libressl, + memstreamHook, }: stdenv.mkDerivation rec { @@ -19,11 +20,13 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - libressl - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - memstreamHook - ]; + buildInputs = + [ + libressl + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + memstreamHook + ]; meta = { description = "Mirror notes to IMAP"; diff --git a/pkgs/by-name/no/notes-up/package.nix b/pkgs/by-name/no/notes-up/package.nix index 4541f77dc3d5a..7e9fe5f5bf88e 100644 --- a/pkgs/by-name/no/notes-up/package.nix +++ b/pkgs/by-name/no/notes-up/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, desktop-file-utils -, meson -, ninja -, pkg-config -, python3 -, vala -, wrapGAppsHook3 -, discount -, glib -, gtk3 -, gtksourceview4 -, gtkspell3 -, libgee -, pantheon -, sqlite -, webkitgtk_4_0 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + desktop-file-utils, + meson, + ninja, + pkg-config, + python3, + vala, + wrapGAppsHook3, + discount, + glib, + gtk3, + gtksourceview4, + gtkspell3, + libgee, + pantheon, + sqlite, + webkitgtk_4_0, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/no/noteshrink/package.nix b/pkgs/by-name/no/noteshrink/package.nix index 4c76c332645fa..7bb3a83df0996 100644 --- a/pkgs/by-name/no/noteshrink/package.nix +++ b/pkgs/by-name/no/noteshrink/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3, imagemagick }: +{ + lib, + fetchFromGitHub, + python3, + imagemagick, +}: with python3.pkgs; @@ -7,18 +12,23 @@ buildPythonApplication rec { version = "0.1.1"; src = fetchFromGitHub { - owner = "mzucker"; - repo = "noteshrink"; - rev = version; + owner = "mzucker"; + repo = "noteshrink"; + rev = version; sha256 = "0xhrvg3d8ffnbbizsrfppcd2y98znvkgxjdmvbvin458m2rwccka"; }; - propagatedBuildInputs = [ numpy scipy imagemagick pillow ]; + propagatedBuildInputs = [ + numpy + scipy + imagemagick + pillow + ]; meta = with lib; { description = "Convert scans of handwritten notes to beautiful, compact PDFs"; - homepage = "https://mzucker.github.io/2016/09/20/noteshrink.html"; - license = licenses.mit; + homepage = "https://mzucker.github.io/2016/09/20/noteshrink.html"; + license = licenses.mit; maintainers = with maintainers; [ rnhmjoj ]; mainProgram = "noteshrink"; }; diff --git a/pkgs/by-name/no/notify-client/package.nix b/pkgs/by-name/no/notify-client/package.nix index b909564685c3f..2b034f8f13c99 100644 --- a/pkgs/by-name/no/notify-client/package.nix +++ b/pkgs/by-name/no/notify-client/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, cargo -, capnproto -, blueprint-compiler -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita -, gtksourceview5 -, openssl -, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + cargo, + capnproto, + blueprint-compiler, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + gtksourceview5, + openssl, + sqlite, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/no/notify-desktop/package.nix b/pkgs/by-name/no/notify-desktop/package.nix index e1118022edff4..33405ed0f08fc 100644 --- a/pkgs/by-name/no/notify-desktop/package.nix +++ b/pkgs/by-name/no/notify-desktop/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, dbus, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + dbus, + pkg-config, +}: stdenv.mkDerivation { pname = "notify-desktop"; diff --git a/pkgs/by-name/no/notify-osd-customizable/package.nix b/pkgs/by-name/no/notify-osd-customizable/package.nix index 20fe2ad6d82b1..e235f4f038062 100644 --- a/pkgs/by-name/no/notify-osd-customizable/package.nix +++ b/pkgs/by-name/no/notify-osd-customizable/package.nix @@ -1,18 +1,22 @@ -{ lib, stdenv -, dbus-glib -, fetchurl -, glib -, gnome-common -, libnotify -, libtool -, libwnck -, makeWrapper -, pkg-config -, gsettings-desktop-schemas +{ + lib, + stdenv, + dbus-glib, + fetchurl, + glib, + gnome-common, + libnotify, + libtool, + libwnck, + makeWrapper, + pkg-config, + gsettings-desktop-schemas, }: -let baseURI = "https://launchpad.net/~leolik/+archive/leolik"; -in stdenv.mkDerivation rec { +let + baseURI = "https://launchpad.net/~leolik/+archive/leolik"; +in +stdenv.mkDerivation rec { pname = "notify-osd"; version = "0.9.35+16.04.20160415"; @@ -24,10 +28,18 @@ in stdenv.mkDerivation rec { preConfigure = "./autogen.sh --libexecdir=$(out)/bin"; - nativeBuildInputs = [ pkg-config makeWrapper libtool ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + libtool + ]; buildInputs = [ - glib libwnck libnotify dbus-glib - gsettings-desktop-schemas gnome-common + glib + libwnck + libnotify + dbus-glib + gsettings-desktop-schemas + gnome-common ]; configureFlags = [ "--libexecdir=$(out)/bin" ]; diff --git a/pkgs/by-name/no/notify-osd/package.nix b/pkgs/by-name/no/notify-osd/package.nix index 77b5d52c22cf4..b67cbd0f60093 100644 --- a/pkgs/by-name/no/notify-osd/package.nix +++ b/pkgs/by-name/no/notify-osd/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, libwnck, libnotify, dbus-glib, makeWrapper, gsettings-desktop-schemas }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libwnck, + libnotify, + dbus-glib, + makeWrapper, + gsettings-desktop-schemas, +}: stdenv.mkDerivation rec { pname = "notify-osd"; @@ -9,9 +20,15 @@ stdenv.mkDerivation rec { sha256 = "0g5a7a680b05x27apz0y1ldl5csxpp152wqi42s107jymbp0s20j"; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; buildInputs = [ - glib libwnck libnotify dbus-glib + glib + libwnck + libnotify + dbus-glib gsettings-desktop-schemas ]; diff --git a/pkgs/by-name/no/notify-sharp/package.nix b/pkgs/by-name/no/notify-sharp/package.nix index 1cd69074911b0..0871187848c69 100644 --- a/pkgs/by-name/no/notify-sharp/package.nix +++ b/pkgs/by-name/no/notify-sharp/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, autoreconfHook -, mono, gtk-sharp-3_0, dbus-sharp-1_0, dbus-sharp-glib-1_0 }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + autoreconfHook, + mono, + gtk-sharp-3_0, + dbus-sharp-1_0, + dbus-sharp-glib-1_0, +}: stdenv.mkDerivation rec { pname = "notify-sharp"; @@ -15,12 +24,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config autoreconfHook + pkg-config + autoreconfHook ]; buildInputs = [ - mono gtk-sharp-3_0 - dbus-sharp-1_0 dbus-sharp-glib-1_0 + mono + gtk-sharp-3_0 + dbus-sharp-1_0 + dbus-sharp-glib-1_0 ]; dontStrip = true; diff --git a/pkgs/by-name/no/notify/package.nix b/pkgs/by-name/no/notify/package.nix index 4a22bfaadb4d1..d2a5ae5280ed9 100644 --- a/pkgs/by-name/no/notify/package.nix +++ b/pkgs/by-name/no/notify/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/no/notifymuch/package.nix b/pkgs/by-name/no/notifymuch/package.nix index 72a0485b0a7ee..261dd74f0cb47 100644 --- a/pkgs/by-name/no/notifymuch/package.nix +++ b/pkgs/by-name/no/notifymuch/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, gobject-introspection -, libnotify -, wrapGAppsHook3 -, gtk3 -, python3 +{ + lib, + fetchFromGitHub, + gobject-introspection, + libnotify, + wrapGAppsHook3, + gtk3, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -20,13 +21,15 @@ python3.pkgs.buildPythonApplication rec { sha256 = "1lssr7iv43mp5v6nzrfbqlfzx8jcc7m636wlfyhhnd8ydd39n6k4"; }; - propagatedBuildInputs = [ - libnotify - gtk3 - ] ++ (with python3.pkgs; [ - notmuch - pygobject3 - ]); + propagatedBuildInputs = + [ + libnotify + gtk3 + ] + ++ (with python3.pkgs; [ + notmuch + pygobject3 + ]); nativeBuildInputs = [ gobject-introspection diff --git a/pkgs/by-name/no/notion-app-enhanced/package.nix b/pkgs/by-name/no/notion-app-enhanced/package.nix index 59c36ab17a876..78057b67b3d69 100644 --- a/pkgs/by-name/no/notion-app-enhanced/package.nix +++ b/pkgs/by-name/no/notion-app-enhanced/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "notion-app-enhanced"; version = "2.0.18-1"; @@ -9,7 +13,8 @@ let }; appimageContents = appimageTools.extract { inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' diff --git a/pkgs/by-name/no/notion/package.nix b/pkgs/by-name/no/notion/package.nix index f430d72c2737b..ed09967977b03 100644 --- a/pkgs/by-name/no/notion/package.nix +++ b/pkgs/by-name/no/notion/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, fontconfig -, gettext -, groff -, libSM -, libX11 -, libXext -, libXft -, libXinerama -, libXrandr -, lua -, makeWrapper -, pkg-config -, readline -, which -, xmessage -, xterm +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + gettext, + groff, + libSM, + libX11, + libXext, + libXft, + libXinerama, + libXrandr, + lua, + makeWrapper, + pkg-config, + readline, + which, + xmessage, + xterm, }: stdenv.mkDerivation (finalAttrs: { @@ -56,7 +57,10 @@ stdenv.mkDerivation (finalAttrs: { readline ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; @@ -72,7 +76,12 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' wrapProgram $out/bin/notion \ - --prefix PATH ":" "${lib.makeBinPath [ xmessage xterm ]}" \ + --prefix PATH ":" "${ + lib.makeBinPath [ + xmessage + xterm + ] + }" \ ''; meta = { @@ -80,7 +89,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://notionwm.net"; license = lib.licenses.lgpl21; mainProgram = "notion"; - maintainers = with lib.maintainers; [ jfb raboof ]; + maintainers = with lib.maintainers; [ + jfb + raboof + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/no/notmuch-addrlookup/package.nix b/pkgs/by-name/no/notmuch-addrlookup/package.nix index 8fc12d5fd1707..d2f60b6ae64ae 100644 --- a/pkgs/by-name/no/notmuch-addrlookup/package.nix +++ b/pkgs/by-name/no/notmuch-addrlookup/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, notmuch }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + notmuch, +}: let version = "10"; @@ -10,12 +17,15 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "aperezdc"; repo = "notmuch-addrlookup-c"; - rev ="v${version}"; + rev = "v${version}"; sha256 = "sha256-Z59MAptJw95azdK0auOuUyxBrX4PtXwnRNPkhjgI6Ro="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib notmuch ]; + buildInputs = [ + glib + notmuch + ]; installPhase = "install -D notmuch-addrlookup $out/bin/notmuch-addrlookup"; diff --git a/pkgs/by-name/no/notmuch-bower/package.nix b/pkgs/by-name/no/notmuch-bower/package.nix index 7073c7b911138..1bb1c050171d2 100644 --- a/pkgs/by-name/no/notmuch-bower/package.nix +++ b/pkgs/by-name/no/notmuch-bower/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, mercury, pandoc, ncurses, gpgme, coreutils, file }: +{ + lib, + stdenv, + fetchFromGitHub, + mercury, + pandoc, + ncurses, + gpgme, + coreutils, + file, +}: stdenv.mkDerivation rec { pname = "notmuch-bower"; @@ -11,15 +21,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-CqA9JU/ujqIn/NvtbPtSWxKDYCv4oDdLCgbf2jj9Av4="; }; - nativeBuildInputs = [ mercury pandoc ]; + nativeBuildInputs = [ + mercury + pandoc + ]; postPatch = '' substituteInPlace src/compose.m --replace 'shell_quoted("base64' 'shell_quoted("${coreutils}/bin/base64' substituteInPlace src/detect_mime_type.m --replace 'shell_quoted("file' 'shell_quoted("${file}/bin/file' ''; - buildInputs = [ ncurses gpgme ]; + buildInputs = [ + ncurses + gpgme + ]; - makeFlags = [ "PARALLEL=-j$(NIX_BUILD_CORES)" "bower" "man" ]; + makeFlags = [ + "PARALLEL=-j$(NIX_BUILD_CORES)" + "bower" + "man" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/no/noto-fonts-cjk-serif/package.nix b/pkgs/by-name/no/noto-fonts-cjk-serif/package.nix index 8fbc05ff269ce..967a761e1d40c 100644 --- a/pkgs/by-name/no/noto-fonts-cjk-serif/package.nix +++ b/pkgs/by-name/no/noto-fonts-cjk-serif/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nixosTests -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nixosTests, + gitUpdater, }: stdenvNoCC.mkDerivation rec { @@ -44,6 +45,9 @@ stdenvNoCC.mkDerivation rec { ''; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ mathnerd314 emily ]; + maintainers = with maintainers; [ + mathnerd314 + emily + ]; }; } diff --git a/pkgs/by-name/no/noto-fonts-color-emoji/package.nix b/pkgs/by-name/no/noto-fonts-color-emoji/package.nix index 925b0ff68e8da..39862609e894d 100644 --- a/pkgs/by-name/no/noto-fonts-color-emoji/package.nix +++ b/pkgs/by-name/no/noto-fonts-color-emoji/package.nix @@ -1,18 +1,23 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, buildPackages -, pkg-config -, cairo -, imagemagick -, zopfli -, pngquant -, which +{ + lib, + stdenvNoCC, + fetchFromGitHub, + buildPackages, + pkg-config, + cairo, + imagemagick, + zopfli, + pngquant, + which, }: let - emojiPythonEnv = - buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]); + emojiPythonEnv = buildPackages.python3.withPackages ( + p: with p; [ + fonttools + nototools + ] + ); in stdenvNoCC.mkDerivation rec { pname = "noto-fonts-color-emoji"; @@ -64,8 +69,14 @@ stdenvNoCC.mkDerivation rec { meta = { description = "Color emoji font"; homepage = "https://github.com/googlefonts/noto-emoji"; - license = with lib.licenses; [ ofl asl20 ]; + license = with lib.licenses; [ + ofl + asl20 + ]; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ mathnerd314 sternenseemann ]; + maintainers = with lib.maintainers; [ + mathnerd314 + sternenseemann + ]; }; } diff --git a/pkgs/by-name/no/noto-fonts-emoji-blob-bin/package.nix b/pkgs/by-name/no/noto-fonts-emoji-blob-bin/package.nix index 311505c3ae48b..ffd2bd18c00e9 100644 --- a/pkgs/by-name/no/noto-fonts-emoji-blob-bin/package.nix +++ b/pkgs/by-name/no/noto-fonts-emoji-blob-bin/package.nix @@ -1,6 +1,7 @@ - { lib -, stdenvNoCC -, fetchurl +{ + lib, + stdenvNoCC, + fetchurl, }: stdenvNoCC.mkDerivation rec { @@ -23,8 +24,14 @@ stdenvNoCC.mkDerivation rec { meta = { description = "Noto Emoji with extended Blob support"; homepage = "https://github.com/C1710/blobmoji"; - license = with lib.licenses; [ ofl asl20 ]; + license = with lib.licenses; [ + ofl + asl20 + ]; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ rileyinman jk ]; + maintainers = with lib.maintainers; [ + rileyinman + jk + ]; }; } diff --git a/pkgs/by-name/no/noto-fonts/package.nix b/pkgs/by-name/no/noto-fonts/package.nix index 480028f02106f..a93266fa3e7f3 100644 --- a/pkgs/by-name/no/noto-fonts/package.nix +++ b/pkgs/by-name/no/noto-fonts/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, nixosTests -, variants ? [ ] -, suffix ? "" -, longDescription ? '' +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + nixosTests, + variants ? [ ], + suffix ? "", + longDescription ? '' When text is rendered by a computer, sometimes characters are displayed as “tofu”. They are little boxes to indicate your device doesn’t have a font to display the text. @@ -14,7 +15,7 @@ Google’s answer to tofu. The name noto is to convey the idea that Google’s goal is to see “no more tofu”. Noto has multiple styles and weights, and freely available to all. - '' + '', }: stdenvNoCC.mkDerivation rec { @@ -30,34 +31,41 @@ stdenvNoCC.mkDerivation rec { _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants; - installPhase = '' - # We check availability in order of variable -> otf -> ttf - # unhinted -- the hinted versions use autohint - # maintaining maximum coverage. - # - # We have a mix of otf and ttf fonts - local out_font=$out/share/fonts/noto - '' + (if _variants == [ ] then '' - for folder in $(ls -d fonts/*/); do - if [[ -d "$folder"unhinted/variable-ttf ]]; then - install -m444 -Dt $out_font "$folder"unhinted/variable-ttf/*.ttf - elif [[ -d "$folder"unhinted/otf ]]; then - install -m444 -Dt $out_font "$folder"unhinted/otf/*.otf + installPhase = + '' + # We check availability in order of variable -> otf -> ttf + # unhinted -- the hinted versions use autohint + # maintaining maximum coverage. + # + # We have a mix of otf and ttf fonts + local out_font=$out/share/fonts/noto + '' + + ( + if _variants == [ ] then + '' + for folder in $(ls -d fonts/*/); do + if [[ -d "$folder"unhinted/variable-ttf ]]; then + install -m444 -Dt $out_font "$folder"unhinted/variable-ttf/*.ttf + elif [[ -d "$folder"unhinted/otf ]]; then + install -m444 -Dt $out_font "$folder"unhinted/otf/*.otf + else + install -m444 -Dt $out_font "$folder"unhinted/ttf/*.ttf + fi + done + '' else - install -m444 -Dt $out_font "$folder"unhinted/ttf/*.ttf - fi - done - '' else '' - for variant in $_variants; do - if [[ -d fonts/"$variant"/unhinted/variable-ttf ]]; then - install -m444 -Dt $out_font fonts/"$variant"/unhinted/variable-ttf/*.ttf - elif [[ -d fonts/"$variant"/unhinted/otf ]]; then - install -m444 -Dt $out_font fonts/"$variant"/unhinted/otf/*.otf - else - install -m444 -Dt $out_font fonts/"$variant"/unhinted/ttf/*.ttf - fi - done - ''); + '' + for variant in $_variants; do + if [[ -d fonts/"$variant"/unhinted/variable-ttf ]]; then + install -m444 -Dt $out_font fonts/"$variant"/unhinted/variable-ttf/*.ttf + elif [[ -d fonts/"$variant"/unhinted/otf ]]; then + install -m444 -Dt $out_font fonts/"$variant"/unhinted/otf/*.otf + else + install -m444 -Dt $out_font fonts/"$variant"/unhinted/ttf/*.ttf + fi + done + '' + ); passthru.updateScript = gitUpdater { rev-prefix = "noto-monthly-release-"; @@ -71,6 +79,10 @@ stdenvNoCC.mkDerivation rec { inherit longDescription; license = lib.licenses.ofl; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ mathnerd314 emily jopejoe1 ]; + maintainers = with lib.maintainers; [ + mathnerd314 + emily + jopejoe1 + ]; }; } diff --git a/pkgs/by-name/no/nova-filters/package.nix b/pkgs/by-name/no/nova-filters/package.nix index 17d90c6d310b2..09dec37941ec8 100644 --- a/pkgs/by-name/no/nova-filters/package.nix +++ b/pkgs/by-name/no/nova-filters/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, scons -, boost -, ladspaH +{ + lib, + stdenv, + fetchurl, + scons, + boost, + ladspaH, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/no/nova-password/package.nix b/pkgs/by-name/no/nova-password/package.nix index 225366dfacfb7..89c94b2389fa4 100644 --- a/pkgs/by-name/no/nova-password/package.nix +++ b/pkgs/by-name/no/nova-password/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/no/nova/package.nix b/pkgs/by-name/no/nova/package.nix index b8a5f1d9e3c74..c7226f29e2d60 100644 --- a/pkgs/by-name/no/nova/package.nix +++ b/pkgs/by-name/no/nova/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nova"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-v3ld3bHpVWNJgQ6K5iS7q8QV4ft4RE42wKi+f4++yqY="; - ldflags = [ "-X main.version=${version}" "-s" "-w" ]; + ldflags = [ + "-X main.version=${version}" + "-s" + "-w" + ]; meta = with lib; { description = "Find outdated or deprecated Helm charts running in your cluster"; diff --git a/pkgs/by-name/no/novnc/package.nix b/pkgs/by-name/no/novnc/package.nix index 5a8866e26be4e..cf5bf023ad908 100644 --- a/pkgs/by-name/no/novnc/package.nix +++ b/pkgs/by-name/no/novnc/package.nix @@ -1,4 +1,10 @@ -{ lib, python3, stdenv, substituteAll, fetchFromGitHub }: +{ + lib, + python3, + stdenv, + substituteAll, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "novnc"; @@ -11,12 +17,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-3Q87bYsC824/8A85Kxdqlm+InuuR/D/HjVrYTJZfE9Y="; }; - patches = with python3.pkgs; [ - (substituteAll { - src = ./websockify.patch; - inherit websockify; - }) - ] ++ [ ./fix-paths.patch ]; + patches = + with python3.pkgs; + [ + (substituteAll { + src = ./websockify.patch; + inherit websockify; + }) + ] + ++ [ ./fix-paths.patch ]; postPatch = '' substituteAllInPlace utils/novnc_proxy @@ -35,7 +44,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "VNC client web application"; homepage = "https://novnc.com"; - license = with licenses; [ mpl20 ofl bsd3 bsd2 mit ]; + license = with licenses; [ + mpl20 + ofl + bsd3 + bsd2 + mit + ]; maintainers = with maintainers; [ neverbehave ]; mainProgram = "novnc"; }; diff --git a/pkgs/by-name/no/novops/package.nix b/pkgs/by-name/no/novops/package.nix index 4e5133841fd60..be577ab245c8a 100644 --- a/pkgs/by-name/no/novops/package.nix +++ b/pkgs/by-name/no/novops/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, stdenv -, installShellFiles -, libiconv -, darwin +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + stdenv, + installShellFiles, + libiconv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,12 +23,14 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-3QB7iuzWlWDgFRrKiwq7Yh9PIW88m1N+nPQ8fdEQ7Ps="; - buildInputs = [ - openssl # required for openssl-sys - ] ++ lib.optional stdenv.hostPlatform.isDarwin [ - libiconv - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl # required for openssl-sys + ] + ++ lib.optional stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.SystemConfiguration + ]; nativeBuildInputs = [ installShellFiles @@ -35,9 +38,9 @@ rustPlatform.buildRustPackage rec { ]; cargoTestFlags = [ - # Only run lib tests (unit tests) - # All other tests are integration tests which should not be run with Nix build - "--lib" + # Only run lib tests (unit tests) + # All other tests are integration tests which should not be run with Nix build + "--lib" ]; postInstall = '' diff --git a/pkgs/by-name/no/noweb/package.nix b/pkgs/by-name/no/noweb/package.nix index d0657e935697c..987731c26c5a1 100644 --- a/pkgs/by-name/no/noweb/package.nix +++ b/pkgs/by-name/no/noweb/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, nawk, groff, icon-lang, useIcon ? true }: +{ + lib, + stdenv, + fetchFromGitHub, + nawk, + groff, + icon-lang, + useIcon ? true, +}: stdenv.mkDerivation (finalAttrs: { pname = "noweb"; @@ -7,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "nrnrnr"; repo = "noweb"; - rev = "v${builtins.replaceStrings ["."] ["_"] finalAttrs.version}"; + rev = "v${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; sha256 = "sha256-COcWyrYkheRaSr2gqreRRsz9SYRTX2PSl7km+g98ljs="; }; @@ -30,10 +38,12 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p "$out/lib/noweb" ''; - makeFlags = lib.optionals useIcon [ - "LIBSRC=icon" - "ICONC=icont" - ] ++ [ "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = + lib.optionals useIcon [ + "LIBSRC=icon" + "ICONC=icont" + ] + ++ [ "CC=${stdenv.cc.targetPrefix}cc" ]; preInstall = '' mkdir -p "$tex/tex/latex/noweb" @@ -46,7 +56,11 @@ stdenv.mkDerivation (finalAttrs: { ) ''; - installTargets = [ "install-code" "install-tex" "install-elisp" ]; + installTargets = [ + "install-code" + "install-tex" + "install-elisp" + ]; postInstall = '' substituteInPlace "$out/bin/cpif" --replace "PATH=/bin:/usr/bin" "" @@ -69,7 +83,10 @@ stdenv.mkDerivation (finalAttrs: { ln -s "$tex" "$out/share/texmf" ''; - outputs = [ "out" "tex" ]; + outputs = [ + "out" + "tex" + ]; passthru = { tlType = "run"; diff --git a/pkgs/by-name/no/nowplaying-cli/package.nix b/pkgs/by-name/no/nowplaying-cli/package.nix index fc47967113c13..f959cfd02c6fd 100644 --- a/pkgs/by-name/no/nowplaying-cli/package.nix +++ b/pkgs/by-name/no/nowplaying-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + darwin, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/no/nox/package.nix b/pkgs/by-name/no/nox/package.nix index b215a8e1d2853..296ddefcd9169 100644 --- a/pkgs/by-name/no/nox/package.nix +++ b/pkgs/by-name/no/nox/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchurl, git }: +{ + lib, + python3Packages, + fetchurl, + git, +}: python3Packages.buildPythonApplication rec { pname = "nox"; @@ -12,15 +17,18 @@ python3Packages.buildPythonApplication rec { patches = [ ./nox-review-wip.patch ]; - buildInputs = [ python3Packages.pbr git ]; + buildInputs = [ + python3Packages.pbr + git + ]; propagatedBuildInputs = with python3Packages; [ - dogpile-cache - click - requests - characteristic - setuptools - ]; + dogpile-cache + click + requests + characteristic + setuptools + ]; meta = { homepage = "https://github.com/madjar/nox"; diff --git a/pkgs/by-name/np/np/package.nix b/pkgs/by-name/np/np/package.nix index 5d3d18857e519..dad49281b034d 100644 --- a/pkgs/by-name/np/np/package.nix +++ b/pkgs/by-name/np/np/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/np/np2kai/package.nix b/pkgs/by-name/np/np2kai/package.nix index 0fc56e2844173..1be4dee6a086c 100644 --- a/pkgs/by-name/np/np2kai/package.nix +++ b/pkgs/by-name/np/np2kai/package.nix @@ -1,46 +1,49 @@ -{ stdenv -, lib -, fetchFromGitHub -, enable16Bit ? true -, enable32Bit ? true +{ + stdenv, + lib, + fetchFromGitHub, + enable16Bit ? true, + enable32Bit ? true, -, enableSDL ? true -, withSDLVersion ? "2" -, SDL -, SDL_ttf -, SDL_mixer -, SDL2 -, SDL2_ttf -, SDL2_mixer + enableSDL ? true, + withSDLVersion ? "2", + SDL, + SDL_ttf, + SDL_mixer, + SDL2, + SDL2_ttf, + SDL2_mixer, -, enableX11 ? stdenv.hostPlatform.isLinux -, automake -, autoconf -, autoconf-archive -, libtool -, pkg-config -, unzip -, gtk2 -, libusb1 -, libXxf86vm -, nasm -, libICE -, libSM + enableX11 ? stdenv.hostPlatform.isLinux, + automake, + autoconf, + autoconf-archive, + libtool, + pkg-config, + unzip, + gtk2, + libusb1, + libXxf86vm, + nasm, + libICE, + libSM, # HAXM build succeeds but the binary segfaults, seemingly due to the missing HAXM kernel module # Enable once there is a HAXM kernel module option in NixOS? Or somehow bind it to the system kernel having HAXM? # Or leave it disabled by default? # https://github.com/intel/haxm/blob/master/docs/manual-linux.md -, enableHAXM ? false + enableHAXM ? false, }: -assert lib.assertMsg (enable16Bit || enable32Bit) - "Must enable 16-Bit and/or 32-Bit system variant."; -assert lib.assertMsg (enableSDL || enableX11) - "Must enable SDL and/or X11 graphics interfaces."; -assert lib.assertOneOf "withSDLVersion" withSDLVersion [ "1" "2" ]; -assert enableHAXM -> (lib.assertMsg enableX11 - "Must enable X11 graphics interface for HAXM build."); +assert lib.assertMsg ( + enable16Bit || enable32Bit +) "Must enable 16-Bit and/or 32-Bit system variant."; +assert lib.assertMsg (enableSDL || enableX11) "Must enable SDL and/or X11 graphics interfaces."; +assert lib.assertOneOf "withSDLVersion" withSDLVersion [ + "1" + "2" +]; +assert enableHAXM -> (lib.assertMsg enableX11 "Must enable X11 graphics interface for HAXM build."); let inherit (lib) optional optionals optionalString; inherit (lib.strings) concatStringsSep concatMapStringsSep; @@ -59,35 +62,51 @@ let sdlDepsBuildonly = if isSDL2 then sdlDeps1 else sdlDeps2; sdlDepsTarget = if isSDL2 then sdlDeps2 else sdlDeps1; sdlMakefileSuffix = - if stdenv.hostPlatform.isWindows then "win" - else if stdenv.hostPlatform.isDarwin then "mac" - else "unix"; - sdlMakefiles = concatMapStringsSep " " (x: x + "." + sdlMakefileSuffix) - (optionals enable16Bit [ + if stdenv.hostPlatform.isWindows then + "win" + else if stdenv.hostPlatform.isDarwin then + "mac" + else + "unix"; + sdlMakefiles = concatMapStringsSep " " (x: x + "." + sdlMakefileSuffix) ( + optionals enable16Bit [ "Makefile" - ] ++ optionals enable32Bit [ + ] + ++ optionals enable32Bit [ "Makefile21" - ]); - sdlBuildFlags = concatStringsSep " " - (optionals enableSDL [ + ] + ); + sdlBuildFlags = concatStringsSep " " ( + optionals enableSDL [ "SDL_VERSION=${withSDLVersion}" - ]); - sdlBins = concatStringsSep " " - (optionals enable16Bit [ + ] + ); + sdlBins = concatStringsSep " " ( + optionals enable16Bit [ "np2kai" - ] ++ optionals enable32Bit [ + ] + ++ optionals enable32Bit [ "np21kai" - ]); - x11ConfigureFlags = concatStringsSep " " - (( - if ((enableHAXM && (enable16Bit || enable32Bit)) || (enable16Bit && enable32Bit)) then [ - "--enable-build-all" - ] else if enableHAXM then [ - "--enable-haxm" - ] else if enable32Bit then [ - "--enable-ia32" - ] else [ ] - ) ++ optionals (!isSDL2) [ + ] + ); + x11ConfigureFlags = concatStringsSep " " ( + ( + if ((enableHAXM && (enable16Bit || enable32Bit)) || (enable16Bit && enable32Bit)) then + [ + "--enable-build-all" + ] + else if enableHAXM then + [ + "--enable-haxm" + ] + else if enable32Bit then + [ + "--enable-ia32" + ] + else + [ ] + ) + ++ optionals (!isSDL2) [ "--enable-sdl" "--enable-sdlmixer" "--enable-sdlttf" @@ -95,25 +114,29 @@ let "--enable-sdl2=no" "--enable-sdl2mixer=no" "--enable-sdl2ttf=no" - ]); + ] + ); x11BuildFlags = concatStringsSep " " [ "SDL2_CONFIG=sdl2-config" "SDL_CONFIG=sdl-config" "SDL_CFLAGS=\"$(sdl${sdlInfix}-config --cflags)\"" "SDL_LIBS=\"$(sdl${sdlInfix}-config --libs) -lSDL${sdlInfix}_mixer -lSDL${sdlInfix}_ttf\"" ]; - x11Bins = concatStringsSep " " - (optionals enable16Bit [ + x11Bins = concatStringsSep " " ( + optionals enable16Bit [ "xnp2kai" - ] ++ optionals enable32Bit [ + ] + ++ optionals enable32Bit [ "xnp21kai" - ] ++ optionals enableHAXM [ + ] + ++ optionals enableHAXM [ "xnp21kai_haxm" - ]); + ] + ); in stdenv.mkDerivation rec { pname = "np2kai"; - version = "0.86rev22"; #update src.rev to commit rev accordingly + version = "0.86rev22"; # update src.rev to commit rev accordingly src = fetchFromGitHub rec { owner = "AZO234"; @@ -122,72 +145,80 @@ stdenv.mkDerivation rec { sha256 = "0kxysxhx6jyk82mx30ni0ydzmwdcbnlxlnarrlq018rsnwb4md72"; }; - configurePhase = '' - export GIT_VERSION=${builtins.substring 0 7 src.rev} - buildFlags="$buildFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}" - '' + optionalString enableX11 '' - cd x11 - substituteInPlace Makefile.am \ - --replace 'GIT_VERSION :=' 'GIT_VERSION ?=' - ./autogen.sh ${x11ConfigureFlags} - ./configure ${x11ConfigureFlags} - cd .. - ''; + configurePhase = + '' + export GIT_VERSION=${builtins.substring 0 7 src.rev} + buildFlags="$buildFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}" + '' + + optionalString enableX11 '' + cd x11 + substituteInPlace Makefile.am \ + --replace 'GIT_VERSION :=' 'GIT_VERSION ?=' + ./autogen.sh ${x11ConfigureFlags} + ./configure ${x11ConfigureFlags} + cd .. + ''; - nativeBuildInputs = sdlDepsBuildonly + nativeBuildInputs = + sdlDepsBuildonly ++ optionals enableX11 [ - automake - autoconf - autoconf-archive - libtool - pkg-config - unzip - nasm - ]; + automake + autoconf + autoconf-archive + libtool + pkg-config + unzip + nasm + ]; - buildInputs = sdlDepsTarget + buildInputs = + sdlDepsTarget ++ optionals enableX11 [ - gtk2 - libICE - libSM - libusb1 - libXxf86vm - ]; + gtk2 + libICE + libSM + libusb1 + libXxf86vm + ]; enableParallelBuilding = true; # TODO Remove when bumping past rev22 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-D_DARWIN_C_SOURCE"; - buildPhase = optionalString enableSDL '' - cd sdl2 - for mkfile in ${sdlMakefiles}; do - substituteInPlace $mkfile \ - --replace 'GIT_VERSION :=' 'GIT_VERSION ?=' - echo make -f $mkfile $buildFlags ${sdlBuildFlags} clean - make -f $mkfile $buildFlags ${sdlBuildFlags} clean - make -f $mkfile $buildFlags ${sdlBuildFlags} - done - cd .. - '' + optionalString enableX11 '' - cd x11 - make $buildFlags ${x11BuildFlags} - cd .. - ''; + buildPhase = + optionalString enableSDL '' + cd sdl2 + for mkfile in ${sdlMakefiles}; do + substituteInPlace $mkfile \ + --replace 'GIT_VERSION :=' 'GIT_VERSION ?=' + echo make -f $mkfile $buildFlags ${sdlBuildFlags} clean + make -f $mkfile $buildFlags ${sdlBuildFlags} clean + make -f $mkfile $buildFlags ${sdlBuildFlags} + done + cd .. + '' + + optionalString enableX11 '' + cd x11 + make $buildFlags ${x11BuildFlags} + cd .. + ''; - installPhase = optionalString enableSDL '' - cd sdl2 - for emu in ${sdlBins}; do - install -D -m 755 $emu $out/bin/$emu - done - cd .. - '' + optionalString enableX11 '' - cd x11 - for emu in ${x11Bins}; do - install -D -m 755 $emu $out/bin/$emu - done - cd .. - ''; + installPhase = + optionalString enableSDL '' + cd sdl2 + for emu in ${sdlBins}; do + install -D -m 755 $emu $out/bin/$emu + done + cd .. + '' + + optionalString enableX11 '' + cd x11 + for emu in ${x11Bins}; do + install -D -m 755 $emu $out/bin/$emu + done + cd .. + ''; meta = with lib; { description = "PC-9801 series emulator"; diff --git a/pkgs/by-name/np/npapi_sdk/package.nix b/pkgs/by-name/np/npapi_sdk/package.nix index a61bd0088052a..0663afc7be34b 100644 --- a/pkgs/by-name/np/npapi_sdk/package.nix +++ b/pkgs/by-name/np/npapi_sdk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "npapi-sdk"; diff --git a/pkgs/by-name/np/npins/package.nix b/pkgs/by-name/np/npins/package.nix index 37f48f5470624..9d0ab7526f7cc 100644 --- a/pkgs/by-name/np/npins/package.nix +++ b/pkgs/by-name/np/npins/package.nix @@ -1,27 +1,39 @@ -{ lib -, rustPlatform -, makeWrapper -, stdenv -, darwin -, callPackage +{ + lib, + rustPlatform, + makeWrapper, + stdenv, + darwin, + callPackage, # runtime dependencies -, nix # for nix-prefetch-url -, nix-prefetch-git -, git # for git ls-remote + nix, # for nix-prefetch-url + nix-prefetch-git, + git, # for git ls-remote }: let - runtimePath = lib.makeBinPath [ nix nix-prefetch-git git ]; + runtimePath = lib.makeBinPath [ + nix + nix-prefetch-git + git + ]; sources = (lib.importJSON ./sources.json).pins; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "npins"; version = src.version; src = passthru.mkSource sources.npins; cargoHash = "sha256-YwMypBl+P1ygf4zUbkZlq4zPrOzf+lPOz2FLg2/xI3k="; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); + buildInputs = lib.optional stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); nativeBuildInputs = [ makeWrapper ]; # (Almost) all tests require internet @@ -39,5 +51,5 @@ in rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ piegames ]; }; - passthru.mkSource = callPackage ./source.nix {}; + passthru.mkSource = callPackage ./source.nix { }; } diff --git a/pkgs/by-name/np/npins/source.nix b/pkgs/by-name/np/npins/source.nix index 49046d8dd3c67..d7f08ede9c8fc 100644 --- a/pkgs/by-name/np/npins/source.nix +++ b/pkgs/by-name/np/npins/source.nix @@ -10,23 +10,38 @@ # } # ``` -{ fetchgit -, fetchzip -, fetchurl +{ + fetchgit, + fetchzip, + fetchurl, }: let - mkSource = spec: - assert spec ? type; let + mkSource = + spec: + assert spec ? type; + let path = - if spec.type == "Git" then mkGitSource spec - else if spec.type == "GitRelease" then mkGitSource spec - else if spec.type == "PyPi" then mkPyPiSource spec - else if spec.type == "Channel" then mkChannelSource spec - else throw "Unknown source type ${spec.type}"; + if spec.type == "Git" then + mkGitSource spec + else if spec.type == "GitRelease" then + mkGitSource spec + else if spec.type == "PyPi" then + mkPyPiSource spec + else if spec.type == "Channel" then + mkChannelSource spec + else + throw "Unknown source type ${spec.type}"; in spec // { outPath = path; }; - mkGitSource = { repository, revision, url ? null, hash, ... }: + mkGitSource = + { + repository, + revision, + url ? null, + hash, + ... + }: assert repository ? type; # At the moment, either it is a plain git repository (which has an url), or it is a GitHub/GitLab repository # In the latter case, there we will always be an url to the tarball @@ -36,22 +51,26 @@ let sha256 = hash; extension = "tar"; }) - else assert repository.type == "Git"; fetchgit { - url = repository.url; - rev = revision; - }; + else + assert repository.type == "Git"; + fetchgit { + url = repository.url; + rev = revision; + }; - mkPyPiSource = { url, hash, ... }: + mkPyPiSource = + { url, hash, ... }: fetchurl { inherit url; sha256 = hash; }; - mkChannelSource = { url, hash, ... }: + mkChannelSource = + { url, hash, ... }: fetchzip { inherit url; sha256 = hash; extension = "tar"; }; in - mkSource +mkSource diff --git a/pkgs/by-name/np/npkill/package.nix b/pkgs/by-name/np/npkill/package.nix index e62657a8931ae..517da4bc26c80 100644 --- a/pkgs/by-name/np/npkill/package.nix +++ b/pkgs/by-name/np/npkill/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nix-update-script +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nix-update-script, }: buildNpmPackage rec { diff --git a/pkgs/by-name/np/npm-check/package.nix b/pkgs/by-name/np/npm-check/package.nix index 131048f10cbe0..2c4387a9dcd15 100644 --- a/pkgs/by-name/np/npm-check/package.nix +++ b/pkgs/by-name/np/npm-check/package.nix @@ -1,6 +1,7 @@ -{ buildNpmPackage -, fetchFromGitHub -, lib +{ + buildNpmPackage, + fetchFromGitHub, + lib, }: buildNpmPackage rec { diff --git a/pkgs/by-name/np/npm-lockfile-fix/package.nix b/pkgs/by-name/np/npm-lockfile-fix/package.nix index db886f6821e33..e9aae5f92a84b 100644 --- a/pkgs/by-name/np/npm-lockfile-fix/package.nix +++ b/pkgs/by-name/np/npm-lockfile-fix/package.nix @@ -1,10 +1,10 @@ -{ lib -, python3 -, fetchFromGitHub -, nix-update-script +{ + lib, + python3, + fetchFromGitHub, + nix-update-script, }: - python3.pkgs.buildPythonApplication rec { pname = "npm-lockfile-fix"; version = "0.1.1"; @@ -22,13 +22,16 @@ python3.pkgs.buildPythonApplication rec { doCheck = false; # no tests - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Add missing integrity and resolved fields to a package-lock.json file"; homepage = "https://github.com/jeslie0/npm-lockfile-fix"; mainProgram = "npm-lockfile-fix"; license = lib.licenses.mit; - maintainers = with maintainers; [ lucasew felschr ]; + maintainers = with maintainers; [ + lucasew + felschr + ]; }; } diff --git a/pkgs/by-name/np/npth/package.nix b/pkgs/by-name/np/npth/package.nix index 815c3dff031ec..16e386e721439 100644 --- a/pkgs/by-name/np/npth/package.nix +++ b/pkgs/by-name/np/npth/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkgsCross }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + pkgsCross, +}: stdenv.mkDerivation rec { pname = "npth"; diff --git a/pkgs/by-name/nq/nq/package.nix b/pkgs/by-name/nq/nq/package.nix index 967547e2d85d4..03a7039259cd0 100644 --- a/pkgs/by-name/nq/nq/package.nix +++ b/pkgs/by-name/nq/nq/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "nq"; diff --git a/pkgs/by-name/nq/nqc/package.nix b/pkgs/by-name/nq/nqc/package.nix index a7d6cb5f2cdd0..1ff73d14f4042 100644 --- a/pkgs/by-name/nq/nqc/package.nix +++ b/pkgs/by-name/nq/nqc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "nqc"; diff --git a/pkgs/by-name/nq/nqptp/package.nix b/pkgs/by-name/nq/nqptp/package.nix index e045c3fe42379..3fc3bea073a5c 100644 --- a/pkgs/by-name/nq/nqptp/package.nix +++ b/pkgs/by-name/nq/nqptp/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gitUpdater, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { ./systemd-service-capability.patch ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; passthru.updateScript = gitUpdater { ignoredVersions = ".*(-dev|d0)"; @@ -39,7 +43,10 @@ stdenv.mkDerivation rec { description = "Daemon and companion application to Shairport Sync that monitors timing data from any PTP clocks"; license = lib.licenses.gpl2Only; mainProgram = "nqptp"; - maintainers = with lib.maintainers; [ jordanisaacs adamcstephens ]; + maintainers = with lib.maintainers; [ + jordanisaacs + adamcstephens + ]; platforms = lib.platforms.linux ++ lib.platforms.freebsd; }; } diff --git a/pkgs/by-name/nr/nrf-command-line-tools/package.nix b/pkgs/by-name/nr/nrf-command-line-tools/package.nix index 09644c1513781..f4b1bec1f78e5 100644 --- a/pkgs/by-name/nr/nrf-command-line-tools/package.nix +++ b/pkgs/by-name/nr/nrf-command-line-tools/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, udev -, libusb1 -, segger-jlink +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + udev, + libusb1, + segger-jlink, }: let @@ -27,11 +28,14 @@ let version = "10.23.2"; - url = let - versionWithDashes = builtins.replaceStrings ["."] ["-"] version; - in "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-${lib.versions.major version}-x-x/${versionWithDashes}/nrf-command-line-tools-${version}_${platform.name}.tar.gz"; + url = + let + versionWithDashes = builtins.replaceStrings [ "." ] [ "-" ] version; + in + "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-${lib.versions.major version}-x-x/${versionWithDashes}/nrf-command-line-tools-${version}_${platform.name}.tar.gz"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "nrf-command-line-tools"; inherit version; diff --git a/pkgs/by-name/nr/nrf-udev/package.nix b/pkgs/by-name/nr/nrf-udev/package.nix index 848199811c086..01048df4ec61b 100644 --- a/pkgs/by-name/nr/nrf-udev/package.nix +++ b/pkgs/by-name/nr/nrf-udev/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nr/nrf5-sdk/package.nix b/pkgs/by-name/nr/nrf5-sdk/package.nix index c8667287a0020..4f45b9a47564b 100644 --- a/pkgs/by-name/nr/nrf5-sdk/package.nix +++ b/pkgs/by-name/nr/nrf5-sdk/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchzip +{ + lib, + stdenv, + fetchzip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nr/nrfconnect/package.nix b/pkgs/by-name/nr/nrfconnect/package.nix index a60ddd533441d..c7f7c529f74d6 100644 --- a/pkgs/by-name/nr/nrfconnect/package.nix +++ b/pkgs/by-name/nr/nrfconnect/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, appimageTools +{ + lib, + fetchurl, + appimageTools, }: let @@ -17,7 +18,8 @@ let inherit pname version src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraPkgs = pkgs: [ pkgs.segger-jlink ]; diff --git a/pkgs/by-name/nr/nrg2iso/package.nix b/pkgs/by-name/nr/nrg2iso/package.nix index a196f23544bb9..8bd8a00d495b8 100644 --- a/pkgs/by-name/nr/nrg2iso/package.nix +++ b/pkgs/by-name/nr/nrg2iso/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "nrg2iso"; diff --git a/pkgs/by-name/nr/nrpl/package.nix b/pkgs/by-name/nr/nrpl/package.nix index c842d16ba9a98..29ffdc552a521 100644 --- a/pkgs/by-name/nr/nrpl/package.nix +++ b/pkgs/by-name/nr/nrpl/package.nix @@ -1,13 +1,22 @@ -{ lib, buildNimPackage, fetchFromGitHub, fetchpatch, makeWrapper, nim, pcre, tinycc }: +{ + lib, + buildNimPackage, + fetchFromGitHub, + fetchpatch, + makeWrapper, + nim, + pcre, + tinycc, +}: buildNimPackage { pname = "nrpl"; version = "20150522"; src = fetchFromGitHub { - owner = "wheineman"; - repo = "nrpl"; - rev = "6d6c189ab7d1c905cc29dc678d66e9e132026f69"; + owner = "wheineman"; + repo = "nrpl"; + rev = "6d6c189ab7d1c905cc29dc678d66e9e132026f69"; hash = "sha256-YpP1LJKX3cTPficoBUBGnUETwQX5rDCyIMxylSFNnrI="; }; @@ -16,8 +25,8 @@ buildNimPackage { patches = [ (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/wheineman/nrpl/pull/12.patch"; - name = "update_for_new_nim.patch"; + url = "https://patch-diff.githubusercontent.com/raw/wheineman/nrpl/pull/12.patch"; + name = "update_for_new_nim.patch"; hash = "sha256-4fFj1RAxvQC9ysRBFlbEfMRPCzi+Rcu6lYEOC208zv0="; }) ]; @@ -26,7 +35,12 @@ buildNimPackage { postFixup = '' wrapProgram $out/bin/nrpl \ - --prefix PATH : ${lib.makeBinPath [ nim tinycc ]} + --prefix PATH : ${ + lib.makeBinPath [ + nim + tinycc + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/nr/nrsc5/package.nix b/pkgs/by-name/nr/nrsc5/package.nix index 2b1a2ff22188a..ddb35c80c66ea 100644 --- a/pkgs/by-name/nr/nrsc5/package.nix +++ b/pkgs/by-name/nr/nrsc5/package.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, - autoconf, automake, libtool, cmake, - rtl-sdr, libao, fftwFloat -} : +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + cmake, + rtl-sdr, + libao, + fftwFloat, +}: let src_faad2 = fetchFromGitHub { owner = "dsvensson"; @@ -12,7 +20,8 @@ let version = "1.0"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "nrsc5"; inherit version; @@ -37,10 +46,22 @@ in stdenv.mkDerivation { sed -i "s:set (FAAD2_PREFIX .*):set (FAAD2_PREFIX \"$srcRoot/faad2-prefix\"):" CMakeLists.txt ''; - nativeBuildInputs = [ cmake autoconf automake libtool ]; - buildInputs = [ rtl-sdr libao fftwFloat ]; + nativeBuildInputs = [ + cmake + autoconf + automake + libtool + ]; + buildInputs = [ + rtl-sdr + libao + fftwFloat + ]; - cmakeFlags = [ "-DUSE_COLOR=ON" "-DUSE_FAAD2=ON" ]; + cmakeFlags = [ + "-DUSE_COLOR=ON" + "-DUSE_FAAD2=ON" + ]; meta = with lib; { homepage = "https://github.com/theori-io/nrsc5"; @@ -51,4 +72,3 @@ in stdenv.mkDerivation { mainProgram = "nrsc5"; }; } - diff --git a/pkgs/by-name/ns/nsc/package.nix b/pkgs/by-name/ns/nsc/package.nix index fb9783a998067..e0e3962e38b71 100644 --- a/pkgs/by-name/ns/nsc/package.nix +++ b/pkgs/by-name/ns/nsc/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ns/nsf-ordlista/package.nix b/pkgs/by-name/ns/nsf-ordlista/package.nix index d3ec535c44e80..8972d1317821a 100644 --- a/pkgs/by-name/ns/nsf-ordlista/package.nix +++ b/pkgs/by-name/ns/nsf-ordlista/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation { pname = "nsf-ordlista"; diff --git a/pkgs/by-name/ns/nsh/package.nix b/pkgs/by-name/ns/nsh/package.nix index fc7e5667a4f3d..17560c92118ee 100644 --- a/pkgs/by-name/ns/nsh/package.nix +++ b/pkgs/by-name/ns/nsh/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "nsh"; @@ -20,7 +24,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "nsh"; homepage = "https://github.com/nuta/nsh"; changelog = "https://github.com/nuta/nsh/raw/v${version}/docs/changelog.md"; - license = [ licenses.cc0 /* or */ licenses.mit ]; + license = [ + licenses.cc0 # or + licenses.mit + ]; maintainers = with maintainers; [ cafkafk ]; }; diff --git a/pkgs/by-name/ns/nsis/package.nix b/pkgs/by-name/ns/nsis/package.nix index 1651a3c43d9ff..c16c9cea6bad1 100644 --- a/pkgs/by-name/ns/nsis/package.nix +++ b/pkgs/by-name/ns/nsis/package.nix @@ -1,27 +1,26 @@ -{ lib -, stdenv -, symlinkJoin -, fetchurl -, fetchzip -, scons -, zlib -, libiconv +{ + lib, + stdenv, + symlinkJoin, + fetchurl, + fetchzip, + scons, + zlib, + libiconv, }: stdenv.mkDerivation rec { pname = "nsis"; version = "3.06.1"; - src = - fetchurl { - url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}-src.tar.bz2"; - sha256 = "1w1z2m982l6j8lw8hy91c3979wbnqglcf4148f9v79vl32znhpcv"; - }; - srcWinDistributable = - fetchzip { - url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}.zip"; - sha256 = "04qm9jqbcybpwcrjlksggffdyafzwxxcaz9xhjw8w5rb95x7lw5q"; - }; + src = fetchurl { + url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}-src.tar.bz2"; + sha256 = "1w1z2m982l6j8lw8hy91c3979wbnqglcf4148f9v79vl32znhpcv"; + }; + srcWinDistributable = fetchzip { + url = "mirror://sourceforge/project/nsis/NSIS%203/${version}/nsis-${version}.zip"; + sha256 = "04qm9jqbcybpwcrjlksggffdyafzwxxcaz9xhjw8w5rb95x7lw5q"; + }; postUnpack = '' mkdir -p $out/share/nsis @@ -34,8 +33,8 @@ stdenv.mkDerivation rec { buildInputs = [ zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; CPPPATH = symlinkJoin { - name = "nsis-includes"; - paths = [ zlib.dev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + name = "nsis-includes"; + paths = [ zlib.dev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; }; LIBPATH = symlinkJoin { diff --git a/pkgs/by-name/ns/nsnake/package.nix b/pkgs/by-name/ns/nsnake/package.nix index a4ac391690ecd..78ff27090da4b 100644 --- a/pkgs/by-name/ns/nsnake/package.nix +++ b/pkgs/by-name/ns/nsnake/package.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchFromGitHub, lib, ncurses }: +{ + stdenv, + fetchFromGitHub, + lib, + ncurses, +}: stdenv.mkDerivation rec { pname = "nsnake"; diff --git a/pkgs/by-name/ns/nsplist/package.nix b/pkgs/by-name/ns/nsplist/package.nix index 92495409f65a7..64cba193ce319 100644 --- a/pkgs/by-name/ns/nsplist/package.nix +++ b/pkgs/by-name/ns/nsplist/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, flex +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + flex, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ns/nsq/package.nix b/pkgs/by-name/ns/nsq/package.nix index 94b77602c5503..fd7bc11e06494 100644 --- a/pkgs/by-name/ns/nsq/package.nix +++ b/pkgs/by-name/ns/nsq/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nsq"; @@ -15,7 +19,10 @@ buildGoModule rec { excludedPackages = [ "bench" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://nsq.io/"; diff --git a/pkgs/by-name/ns/nss_ldap/package.nix b/pkgs/by-name/ns/nss_ldap/package.nix index 784ecf2b39cce..ae4c02f4394fc 100644 --- a/pkgs/by-name/ns/nss_ldap/package.nix +++ b/pkgs/by-name/ns/nss_ldap/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, openldap, perl}: +{ + lib, + stdenv, + fetchurl, + openldap, + perl, +}: stdenv.mkDerivation rec { pname = "nss_ldap"; diff --git a/pkgs/by-name/ns/nss_pam_ldapd/package.nix b/pkgs/by-name/ns/nss_pam_ldapd/package.nix index 0cdbd52f6f6a0..48ecfec520e98 100644 --- a/pkgs/by-name/ns/nss_pam_ldapd/package.nix +++ b/pkgs/by-name/ns/nss_pam_ldapd/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl -, pkg-config, makeWrapper, autoreconfHook -, openldap, python3, pam +{ + lib, + stdenv, + fetchurl, + pkg-config, + makeWrapper, + autoreconfHook, + openldap, + python3, + pam, }: stdenv.mkDerivation rec { @@ -12,8 +19,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-xtZh50aTy/Uxp5BjHKk7c/KR+yPMOUZbCd642iv7DhQ="; }; - nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ]; - buildInputs = [ openldap pam python3 ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + autoreconfHook + ]; + buildInputs = [ + openldap + pam + python3 + ]; preConfigure = '' substituteInPlace Makefile.in --replace "install-data-local: " "# install-data-local: " diff --git a/pkgs/by-name/ns/nss_wrapper/package.nix b/pkgs/by-name/ns/nss_wrapper/package.nix index 378ebf54c1f7f..210fe4a311a7b 100644 --- a/pkgs/by-name/ns/nss_wrapper/package.nix +++ b/pkgs/by-name/ns/nss_wrapper/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "nss_wrapper"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-3HmrByd5vkQDtFtgzQRN0TeA1LuWddJ6vxkyrafIqI0="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "Wrapper for the user, group and hosts NSS API"; diff --git a/pkgs/by-name/ns/nssmdns/package.nix b/pkgs/by-name/ns/nssmdns/package.nix index 727c6007c71df..f58f47b00b61e 100644 --- a/pkgs/by-name/ns/nssmdns/package.nix +++ b/pkgs/by-name/ns/nssmdns/package.nix @@ -1,4 +1,10 @@ -{ lib, autoreconfHook, pkg-config, stdenv, fetchFromGitHub }: +{ + lib, + autoreconfHook, + pkg-config, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "nss-mdns"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-iRaf9/gu9VkGi1VbGpxvC5q+0M8ivezCz/oAKEg5V1M="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; # Note: Although `nss-mdns' works by talking to `avahi-daemon', it # doesn't depend on the Avahi libraries. Instead, it contains diff --git a/pkgs/by-name/ns/nsxiv/package.nix b/pkgs/by-name/ns/nsxiv/package.nix index b4059bbb2fa96..692f9f625ef2d 100644 --- a/pkgs/by-name/ns/nsxiv/package.nix +++ b/pkgs/by-name/ns/nsxiv/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitea -, giflib -, imlib2 -, libXft -, libexif -, libwebp -, libinotify-kqueue -, conf ? null +{ + lib, + stdenv, + fetchFromGitea, + giflib, + imlib2, + libXft, + libexif, + libwebp, + libinotify-kqueue, + conf ? null, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-UWaet7hVtgfuWTiNY4VcsMWTfS6L9r5w1fb/0dWz8SI="; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; buildInputs = [ giflib diff --git a/pkgs/by-name/ns/nsync/package.nix b/pkgs/by-name/ns/nsync/package.nix index 8df7bd6059928..ccca46fbef079 100644 --- a/pkgs/by-name/ns/nsync/package.nix +++ b/pkgs/by-name/ns/nsync/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake +{ + stdenv, + lib, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -25,7 +26,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/google/nsync"; description = "C library that exports various synchronization primitives"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ puffnfresh Luflosi ]; + maintainers = with lib.maintainers; [ + puffnfresh + Luflosi + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/nt/ntbtls/package.nix b/pkgs/by-name/nt/ntbtls/package.nix index e1726a874fcd1..96e00f37d0b68 100644 --- a/pkgs/by-name/nt/ntbtls/package.nix +++ b/pkgs/by-name/nt/ntbtls/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, gettext, libgpg-error, libgcrypt, libksba, zlib }: +{ + lib, + stdenv, + fetchurl, + gettext, + libgpg-error, + libgcrypt, + libksba, + zlib, +}: stdenv.mkDerivation rec { pname = "ntbtls"; @@ -9,10 +18,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-vfy5kCSs7JxsS5mK1juzkh30z+5KdyrWwMoyTbvysHw="; }; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; - buildInputs = [ libgcrypt libgpg-error libksba zlib ] - ++ lib.optional stdenv.hostPlatform.isDarwin gettext; + buildInputs = [ + libgcrypt + libgpg-error + libksba + zlib + ] ++ lib.optional stdenv.hostPlatform.isDarwin gettext; postInstall = '' moveToOutput "bin/ntbtls-config" $dev diff --git a/pkgs/by-name/nt/ntfs2btrfs/package.nix b/pkgs/by-name/nt/ntfs2btrfs/package.nix index f3f5e00f9f06c..651a9b73209e7 100644 --- a/pkgs/by-name/nt/ntfs2btrfs/package.nix +++ b/pkgs/by-name/nt/ntfs2btrfs/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, fmt, lzo, pkg-config, zlib, zstd }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fmt, + lzo, + pkg-config, + zlib, + zstd, +}: stdenv.mkDerivation rec { pname = "ntfs2btrfs"; @@ -11,9 +21,17 @@ stdenv.mkDerivation rec { hash = "sha256-sZ8AWREe2jasy3hqLTjaLcOMCNsrDjz2eIuknA2TsEs="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ fmt lzo zlib zstd ]; + buildInputs = [ + fmt + lzo + zlib + zstd + ]; meta = { description = "CLI tool which does in-place conversion of Microsoft's NTFS filesystem to the open-source filesystem Btrfs"; diff --git a/pkgs/by-name/nt/ntirpc/package.nix b/pkgs/by-name/nt/ntirpc/package.nix index c584e1d0b685c..f88180473f2ff 100644 --- a/pkgs/by-name/nt/ntirpc/package.nix +++ b/pkgs/by-name/nt/ntirpc/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, krb5, liburcu , libtirpc, libnsl -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + krb5, + liburcu, + libtirpc, + libnsl, +}: stdenv.mkDerivation rec { pname = "ntirpc"; @@ -13,14 +20,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-e4eF09xwX2Qf/y9YfOGy7p6yhDFnKGI5cnrQy3o8c98="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' substituteInPlace ntirpc/netconfig.h --replace "/etc/netconfig" "$out/etc/netconfig" sed '1i#include ' -i src/work_pool.c ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ krb5 liburcu libnsl ]; + buildInputs = [ + krb5 + liburcu + libnsl + ]; postInstall = '' mkdir -p $out/etc diff --git a/pkgs/by-name/nt/ntk/package.nix b/pkgs/by-name/nt/ntk/package.nix index 4ad3ba33cb5c9..da570f2672ad2 100644 --- a/pkgs/by-name/nt/ntk/package.nix +++ b/pkgs/by-name/nt/ntk/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cairo, libjpeg, libXft, pkg-config, python3, wafHook }: +{ + lib, + stdenv, + fetchFromGitHub, + cairo, + libjpeg, + libXft, + pkg-config, + python3, + wafHook, +}: stdenv.mkDerivation rec { pname = "ntk"; @@ -10,9 +20,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-NyEdg6e+9CI9V+TIgdpPyH1ei+Vq8pUxD3wPzWY5fEU="; }; - nativeBuildInputs = [ pkg-config wafHook ]; + nativeBuildInputs = [ + pkg-config + wafHook + ]; buildInputs = [ - cairo libjpeg libXft python3 + cairo + libjpeg + libXft + python3 ]; # NOTE: ntk provides its own waf script that is incompatible with new @@ -27,7 +43,10 @@ stdenv.mkDerivation rec { version = version; homepage = "http://non.tuxfamily.org/"; license = lib.licenses.lgpl21; - maintainers = with lib.maintainers; [ magnetophon nico202 ]; + maintainers = with lib.maintainers; [ + magnetophon + nico202 + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/nt/ntl/package.nix b/pkgs/by-name/nt/ntl/package.nix index 776608c4ad961..028f0eae34239 100644 --- a/pkgs/by-name/nt/ntl/package.nix +++ b/pkgs/by-name/nt/ntl/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchurl -, perl -, gmp -, gf2x ? null -# I asked the ntl maintainer weather or not to include gf2x by default: -# > If I remember correctly, gf2x is now thread safe, so there's no reason not to use it. -, withGf2x ? true -, tune ? false # tune for current system; non reproducible and time consuming +{ + stdenv, + lib, + fetchurl, + perl, + gmp, + gf2x ? null, + # I asked the ntl maintainer weather or not to include gf2x by default: + # > If I remember correctly, gf2x is now thread safe, so there's no reason not to use it. + withGf2x ? true, + tune ? false, # tune for current system; non reproducible and time consuming }: assert withGf2x -> gf2x != null; @@ -41,23 +42,25 @@ stdenv.mkDerivation rec { configurePlatforms = [ ]; # reference: http://shoup.net/ntl/doc/tour-unix.html - configureFlags = [ - "DEF_PREFIX=$(out)" - "SHARED=on" # genereate a shared library (as well as static) - "NATIVE=off" # don't target code to current hardware (reproducibility, portability) - "TUNE=${ - if tune then - "auto" - else if stdenv.hostPlatform.isx86 then - "x86" # "chooses options that should be well suited for most x86 platforms" - else - "generic" # "chooses options that should be OK for most platforms" - }" - "CXX=${stdenv.cc.targetPrefix}c++" - ] ++ lib.optionals withGf2x [ - "NTL_GF2X_LIB=on" - "GF2X_PREFIX=${gf2x}" - ]; + configureFlags = + [ + "DEF_PREFIX=$(out)" + "SHARED=on" # genereate a shared library (as well as static) + "NATIVE=off" # don't target code to current hardware (reproducibility, portability) + "TUNE=${ + if tune then + "auto" + else if stdenv.hostPlatform.isx86 then + "x86" # "chooses options that should be well suited for most x86 platforms" + else + "generic" # "chooses options that should be OK for most platforms" + }" + "CXX=${stdenv.cc.targetPrefix}c++" + ] + ++ lib.optionals withGf2x [ + "NTL_GF2X_LIB=on" + "GF2X_PREFIX=${gf2x}" + ]; doCheck = true; # takes some time diff --git a/pkgs/by-name/nt/ntlm-challenger/package.nix b/pkgs/by-name/nt/ntlm-challenger/package.nix index 1e96bda9e4702..6de3791b61450 100644 --- a/pkgs/by-name/nt/ntlm-challenger/package.nix +++ b/pkgs/by-name/nt/ntlm-challenger/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication { diff --git a/pkgs/by-name/nt/ntlmrecon/package.nix b/pkgs/by-name/nt/ntlmrecon/package.nix index 10a564706c9a5..68db2197c5046 100644 --- a/pkgs/by-name/nt/ntlmrecon/package.nix +++ b/pkgs/by-name/nt/ntlmrecon/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/nt/ntp/package.nix b/pkgs/by-name/nt/ntp/package.nix index 2321455b8bbb2..a7123dff7a11c 100644 --- a/pkgs/by-name/nt/ntp/package.nix +++ b/pkgs/by-name/nt/ntp/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchurl, openssl, perl, pps-tools, libcap }: +{ + stdenv, + lib, + fetchurl, + openssl, + perl, + pps-tools, + libcap, +}: stdenv.mkDerivation rec { pname = "ntp"; @@ -18,8 +26,15 @@ stdenv.mkDerivation rec { "--with-yielding-select=yes" ] ++ lib.optional stdenv.hostPlatform.isLinux "--enable-linuxcaps"; - buildInputs = [ openssl perl ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pps-tools libcap ]; + buildInputs = + [ + openssl + perl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pps-tools + libcap + ]; hardeningEnable = [ "pie" ]; diff --git a/pkgs/by-name/nt/nttcp/package.nix b/pkgs/by-name/nt/nttcp/package.nix index 7c7302cf19c6f..d7b73bcee57e6 100644 --- a/pkgs/by-name/nt/nttcp/package.nix +++ b/pkgs/by-name/nt/nttcp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "nttcp"; diff --git a/pkgs/by-name/nt/ntttcp/package.nix b/pkgs/by-name/nt/ntttcp/package.nix index abf0acf8a8938..4ff7ddcb2825a 100644 --- a/pkgs/by-name/nt/ntttcp/package.nix +++ b/pkgs/by-name/nt/ntttcp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ntttcp"; diff --git a/pkgs/by-name/nu/nuXmv/package.nix b/pkgs/by-name/nu/nuXmv/package.nix index 5726796bfa189..d9580d1f1318a 100644 --- a/pkgs/by-name/nu/nuXmv/package.nix +++ b/pkgs/by-name/nu/nuXmv/package.nix @@ -1,19 +1,29 @@ -{ lib, stdenv, fetchurl, gmp, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + gmp, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "nuXmv"; version = "2.0.0"; src = fetchurl { - url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-${if stdenv.hostPlatform.isDarwin then "macosx64" else "linux64"}.tar.gz"; - sha256 = if stdenv.hostPlatform.isDarwin - then "sha256-48I+FhJUUam1nMCMMM47CwGO82BYsNz0eHDHXBfqO2E=" - else "sha256-Gf+QgAjTrysZj7qTtt1wcQPganDtO0YtRY4ykhLPzVo="; + url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-${ + if stdenv.hostPlatform.isDarwin then "macosx64" else "linux64" + }.tar.gz"; + sha256 = + if stdenv.hostPlatform.isDarwin then + "sha256-48I+FhJUUam1nMCMMM47CwGO82BYsNz0eHDHXBfqO2E=" + else + "sha256-Gf+QgAjTrysZj7qTtt1wcQPganDtO0YtRY4ykhLPzVo="; }; nativeBuildInputs = [ makeWrapper ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ gmp ]; - installPhase= '' + installPhase = '' runHook preInstall install -Dm755 -t $out/bin ./bin/nuXmv runHook postInstall @@ -29,6 +39,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ siraben ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/by-name/nu/nucleiparser/package.nix b/pkgs/by-name/nu/nucleiparser/package.nix index d0b5fa1ccf34f..d1af4451d9cf1 100644 --- a/pkgs/by-name/nu/nucleiparser/package.nix +++ b/pkgs/by-name/nu/nucleiparser/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/nu/nudoku/package.nix b/pkgs/by-name/nu/nudoku/package.nix index aa1100b3395c6..76d639d07c1aa 100644 --- a/pkgs/by-name/nu/nudoku/package.nix +++ b/pkgs/by-name/nu/nudoku/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gettext, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + gettext, + ncurses, +}: stdenv.mkDerivation rec { pname = "nudoku"; @@ -25,7 +34,11 @@ stdenv.mkDerivation rec { substituteInPlace configure.ac --replace 0.19 0.20 ''; - nativeBuildInputs = [ autoreconfHook pkg-config gettext ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + gettext + ]; buildInputs = [ ncurses ]; configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-nls"; @@ -39,4 +52,3 @@ stdenv.mkDerivation rec { maintainers = [ ]; }; } - diff --git a/pkgs/by-name/nu/nuget-to-nix/package.nix b/pkgs/by-name/nu/nuget-to-nix/package.nix index 6a746d30a8ff3..8aa73eb3a814a 100644 --- a/pkgs/by-name/nu/nuget-to-nix/package.nix +++ b/pkgs/by-name/nu/nuget-to-nix/package.nix @@ -1,37 +1,40 @@ -{ lib -, runCommandLocal -, runtimeShell -, substituteAll -, nix -, coreutils -, jq -, xmlstarlet -, curl -, gnugrep -, gawk -, cacert +{ + lib, + runCommandLocal, + runtimeShell, + substituteAll, + nix, + coreutils, + jq, + xmlstarlet, + curl, + gnugrep, + gawk, + cacert, }: -runCommandLocal "nuget-to-nix" { - script = substituteAll { - src = ./nuget-to-nix.sh; - inherit runtimeShell cacert; +runCommandLocal "nuget-to-nix" + { + script = substituteAll { + src = ./nuget-to-nix.sh; + inherit runtimeShell cacert; - binPath = lib.makeBinPath [ - nix - coreutils - jq - xmlstarlet - curl - gnugrep - gawk - ]; - }; + binPath = lib.makeBinPath [ + nix + coreutils + jq + xmlstarlet + curl + gnugrep + gawk + ]; + }; - meta = { - description = "Convert a nuget packages directory to a lockfile for buildDotnetModule"; - mainProgram = "nuget-to-nix"; - }; -} '' - install -Dm755 $script $out/bin/nuget-to-nix -'' + meta = { + description = "Convert a nuget packages directory to a lockfile for buildDotnetModule"; + mainProgram = "nuget-to-nix"; + }; + } + '' + install -Dm755 $script $out/bin/nuget-to-nix + '' diff --git a/pkgs/by-name/nu/nuget/package.nix b/pkgs/by-name/nu/nuget/package.nix index 9473a95f43e4c..c80812e295d93 100644 --- a/pkgs/by-name/nu/nuget/package.nix +++ b/pkgs/by-name/nu/nuget/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, makeWrapper, mono, lib }: +{ + stdenv, + fetchFromGitHub, + makeWrapper, + mono, + lib, +}: stdenv.mkDerivation (attrs: { pname = "Nuget"; diff --git a/pkgs/by-name/nu/nuked-md/package.nix b/pkgs/by-name/nu/nuked-md/package.nix index 3f42ce6d2d077..41db685d2755f 100644 --- a/pkgs/by-name/nu/nuked-md/package.nix +++ b/pkgs/by-name/nu/nuked-md/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, gitUpdater -, cmake -, SDL2 +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + gitUpdater, + cmake, + SDL2, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nu/nullidentdmod/package.nix b/pkgs/by-name/nu/nullidentdmod/package.nix index 7df6eac5fb0d6..347319f6016c3 100644 --- a/pkgs/by-name/nu/nullidentdmod/package.nix +++ b/pkgs/by-name/nu/nullidentdmod/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + ... +}: stdenv.mkDerivation rec { pname = "nullidentdmod"; diff --git a/pkgs/by-name/nu/nulloy/package.nix b/pkgs/by-name/nu/nulloy/package.nix index 203ddf84c4099..9355fcc1d24d9 100644 --- a/pkgs/by-name/nu/nulloy/package.nix +++ b/pkgs/by-name/nu/nulloy/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, which -, pkg-config -, zip -, imagemagick -, qt5 -, taglib -, gst_all_1 +{ + lib, + stdenv, + fetchFromGitHub, + which, + pkg-config, + zip, + imagemagick, + qt5, + taglib, + gst_all_1, }: stdenv.mkDerivation rec { @@ -30,17 +31,19 @@ stdenv.mkDerivation rec { qt5.wrapQtAppsHook ]; - buildInputs = [ - qt5.qtscript - qt5.qtsvg - taglib - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]); + buildInputs = + [ + qt5.qtscript + qt5.qtsvg + taglib + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); prefixKey = "--prefix "; diff --git a/pkgs/by-name/nu/num-utils/package.nix b/pkgs/by-name/nu/num-utils/package.nix index 14784a4e8cfcd..fc032d90699ac 100644 --- a/pkgs/by-name/nu/num-utils/package.nix +++ b/pkgs/by-name/nu/num-utils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "num-utils"; diff --git a/pkgs/by-name/nu/numactl/package.nix b/pkgs/by-name/nu/numactl/package.nix index 4eceef0b2bf11..9621374c45794 100644 --- a/pkgs/by-name/nu/numactl/package.nix +++ b/pkgs/by-name/nu/numactl/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "numactl"; @@ -19,7 +25,11 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ autoreconfHook ]; @@ -35,7 +45,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library and tools for non-uniform memory access (NUMA) machines"; homepage = "https://github.com/numactl/numactl"; - license = with licenses; [ gpl2Only lgpl21 ]; # libnuma is lgpl21 + license = with licenses; [ + gpl2Only + lgpl21 + ]; # libnuma is lgpl21 platforms = platforms.linux; }; } diff --git a/pkgs/by-name/nu/numad/package.nix b/pkgs/by-name/nu/numad/package.nix index 99c34a7f2f984..f3128b68709d0 100644 --- a/pkgs/by-name/nu/numad/package.nix +++ b/pkgs/by-name/nu/numad/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, unstableGitUpdater, writeShellScript }: +{ + lib, + stdenv, + fetchgit, + unstableGitUpdater, + writeShellScript, +}: stdenv.mkDerivation { pname = "numad"; diff --git a/pkgs/by-name/nu/numatop/package.nix b/pkgs/by-name/nu/numatop/package.nix index 159afa467dc3d..16f5401f88383 100644 --- a/pkgs/by-name/nu/numatop/package.nix +++ b/pkgs/by-name/nu/numatop/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, numactl, ncurses, check }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + numactl, + ncurses, + check, +}: stdenv.mkDerivation rec { pname = "numatop"; @@ -10,8 +20,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-GJvTwqgx34ZW10eIJj/xiKe3ZkAfs7GlJImz8jrnjfI="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ numactl ncurses ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + numactl + ncurses + ]; nativeCheckInputs = [ check ]; patches = [ @@ -29,7 +45,7 @@ stdenv.mkDerivation rec { }) ]; - doCheck = true; + doCheck = true; meta = with lib; { description = "Tool for runtime memory locality characterization and analysis of processes and threads on a NUMA system"; @@ -38,8 +54,10 @@ stdenv.mkDerivation rec { license = licenses.bsd3; maintainers = with maintainers; [ dtzWill ]; platforms = [ - "i686-linux" "x86_64-linux" - "powerpc64-linux" "powerpc64le-linux" + "i686-linux" + "x86_64-linux" + "powerpc64-linux" + "powerpc64le-linux" ]; }; } diff --git a/pkgs/by-name/nu/numberstation/package.nix b/pkgs/by-name/nu/numberstation/package.nix index 651e4420280df..2b2db29ab3966 100644 --- a/pkgs/by-name/nu/numberstation/package.nix +++ b/pkgs/by-name/nu/numberstation/package.nix @@ -1,16 +1,17 @@ -{ lib -, python3 -, fetchFromSourcehut -, desktop-file-utils -, glib -, gobject-introspection -, gtk3 -, libhandy -, librsvg -, meson -, ninja -, pkg-config -, wrapGAppsHook3 +{ + lib, + python3, + fetchFromSourcehut, + desktop-file-utils, + glib, + gobject-introspection, + gtk3, + libhandy, + librsvg, + meson, + ninja, + pkg-config, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/nu/numcpp/package.nix b/pkgs/by-name/nu/numcpp/package.nix index 34dd82c15076b..e1f49e44dbd51 100644 --- a/pkgs/by-name/nu/numcpp/package.nix +++ b/pkgs/by-name/nu/numcpp/package.nix @@ -18,11 +18,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-1LGyDvT+PiGRXn7NorcYUjSPzNuRv/YXhQWIaOa7xdo="; }; - nativeCheckInputs = [gtest python3]; + nativeCheckInputs = [ + gtest + python3 + ]; - nativeBuildInputs = [cmake]; + nativeBuildInputs = [ cmake ]; - buildInputs = [boost]; + buildInputs = [ boost ]; cmakeFlags = lib.optionals finalAttrs.finalPackage.doCheck [ "-DBUILD_TESTS=ON" @@ -36,13 +39,13 @@ stdenv.mkDerivation (finalAttrs: { --replace "\''${PACKAGE_PREFIX_DIR}/" "" ''; - NIX_CFLAGS_COMPILE="-Wno-error"; + NIX_CFLAGS_COMPILE = "-Wno-error"; meta = with lib; { description = "Templatized Header Only C++ Implementation of the Python NumPy Library"; homepage = "https://github.com/dpilger26/NumCpp"; license = licenses.mit; - maintainers = with maintainers; [spalf]; + maintainers = with maintainers; [ spalf ]; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/nu/numdiff/package.nix b/pkgs/by-name/nu/numdiff/package.nix index f12c0fdea5e80..dc9c37da0e5d0 100644 --- a/pkgs/by-name/nu/numdiff/package.nix +++ b/pkgs/by-name/nu/numdiff/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl, libintl }: - +{ + lib, + stdenv, + fetchurl, + libintl, +}: stdenv.mkDerivation rec { pname = "numdiff"; diff --git a/pkgs/by-name/nu/numix-cursor-theme/package.nix b/pkgs/by-name/nu/numix-cursor-theme/package.nix index 83961f19caf83..e2063ad8d797c 100644 --- a/pkgs/by-name/nu/numix-cursor-theme/package.nix +++ b/pkgs/by-name/nu/numix-cursor-theme/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub, inkscape, xcursorgen }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + inkscape, + xcursorgen, +}: stdenvNoCC.mkDerivation rec { pname = "numix-cursor-theme"; @@ -11,7 +17,10 @@ stdenvNoCC.mkDerivation rec { sha256 = "1q3w5i0h3ly6i7s9pqjdrb14kp89i78s0havri7lhiqyxizjvcvh"; }; - nativeBuildInputs = [ inkscape xcursorgen ]; + nativeBuildInputs = [ + inkscape + xcursorgen + ]; buildPhase = '' patchShebangs . diff --git a/pkgs/by-name/nu/numix-gtk-theme/package.nix b/pkgs/by-name/nu/numix-gtk-theme/package.nix index a55970d5dccf6..9cd859e9906d8 100644 --- a/pkgs/by-name/nu/numix-gtk-theme/package.nix +++ b/pkgs/by-name/nu/numix-gtk-theme/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, sassc -, glib -, libxml2 -, gdk-pixbuf -, gtk-engine-murrine -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + sassc, + glib, + libxml2, + gdk-pixbuf, + gtk-engine-murrine, + gitUpdater, }: stdenv.mkDerivation rec { @@ -20,7 +21,12 @@ stdenv.mkDerivation rec { hash = "sha256-7KX5xC6Gr6azqL2qyc8rYb3q9UhcGco2uEfltsQ+mgo="; }; - nativeBuildInputs = [ sassc glib libxml2 gdk-pixbuf ]; + nativeBuildInputs = [ + sassc + glib + libxml2 + gdk-pixbuf + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/nu/numix-icon-theme-circle/package.nix b/pkgs/by-name/nu/numix-icon-theme-circle/package.nix index a8eba52dac6bc..e7ddbccebb59f 100644 --- a/pkgs/by-name/nu/numix-icon-theme-circle/package.nix +++ b/pkgs/by-name/nu/numix-icon-theme-circle/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme, gitUpdater }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + numix-icon-theme, + hicolor-icon-theme, + gitUpdater, +}: stdenvNoCC.mkDerivation rec { pname = "numix-icon-theme-circle"; @@ -13,7 +21,10 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ numix-icon-theme hicolor-icon-theme ]; + propagatedBuildInputs = [ + numix-icon-theme + hicolor-icon-theme + ]; dontDropIconThemeCache = true; diff --git a/pkgs/by-name/nu/numix-icon-theme-square/package.nix b/pkgs/by-name/nu/numix-icon-theme-square/package.nix index 9511e75ebf902..fd9c22d052ce2 100644 --- a/pkgs/by-name/nu/numix-icon-theme-square/package.nix +++ b/pkgs/by-name/nu/numix-icon-theme-square/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme, gitUpdater }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + numix-icon-theme, + hicolor-icon-theme, + gitUpdater, +}: stdenvNoCC.mkDerivation rec { pname = "numix-icon-theme-square"; @@ -13,7 +21,10 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ numix-icon-theme hicolor-icon-theme ]; + propagatedBuildInputs = [ + numix-icon-theme + hicolor-icon-theme + ]; dontDropIconThemeCache = true; diff --git a/pkgs/by-name/nu/numix-solarized-gtk-theme/package.nix b/pkgs/by-name/nu/numix-solarized-gtk-theme/package.nix index 55e606e6a0a94..f7e49daef61f1 100644 --- a/pkgs/by-name/nu/numix-solarized-gtk-theme/package.nix +++ b/pkgs/by-name/nu/numix-solarized-gtk-theme/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, python3, sassc, glib, gdk-pixbuf, inkscape, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + sassc, + glib, + gdk-pixbuf, + inkscape, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "numix-solarized-gtk-theme"; @@ -11,7 +21,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-r5xCe8Ew+/SuCUaZ0yjlumORTy/y1VwbQQjQ6uEyGsY="; }; - nativeBuildInputs = [ python3 sassc glib gdk-pixbuf inkscape ]; + nativeBuildInputs = [ + python3 + sassc + glib + gdk-pixbuf + inkscape + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/nu/numix-sx-gtk-theme/package.nix b/pkgs/by-name/nu/numix-sx-gtk-theme/package.nix index ee887cbadee16..c90b81d4e42a2 100644 --- a/pkgs/by-name/nu/numix-sx-gtk-theme/package.nix +++ b/pkgs/by-name/nu/numix-sx-gtk-theme/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchurl, + gtk-engine-murrine, +}: stdenv.mkDerivation { version = "2017-04-24"; diff --git a/pkgs/by-name/nu/numlockx/package.nix b/pkgs/by-name/nu/numlockx/package.nix index 32eb652d8b721..9c50ce5d7c82d 100644 --- a/pkgs/by-name/nu/numlockx/package.nix +++ b/pkgs/by-name/nu/numlockx/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, libX11, libXext }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + libX11, + libXext, +}: stdenv.mkDerivation { version = "1.2"; @@ -11,7 +18,11 @@ stdenv.mkDerivation { hash = "sha256-wrHBelxEADUKugmtR8loWaJ/6s5U4PBBz8V+Dr1yifA="; }; - buildInputs = [ libX11 libXext autoconf ]; + buildInputs = [ + libX11 + libXext + autoconf + ]; meta = { description = "Allows to start X with NumLock turned on"; diff --git a/pkgs/by-name/nu/numworks-epsilon/package.nix b/pkgs/by-name/nu/numworks-epsilon/package.nix index 71da675614da9..337322bfb039d 100644 --- a/pkgs/by-name/nu/numworks-epsilon/package.nix +++ b/pkgs/by-name/nu/numworks-epsilon/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, libpng -, libjpeg -, freetype -, xorg -, python3 -, imagemagick -, gcc-arm-embedded -, pkg-config -, python3Packages +{ + stdenv, + lib, + fetchFromGitHub, + libpng, + libjpeg, + freetype, + xorg, + python3, + imagemagick, + gcc-arm-embedded, + pkg-config, + python3Packages, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nu/nuraft/package.nix b/pkgs/by-name/nu/nuraft/package.nix index e26d9f467e7fb..1176313a2805e 100644 --- a/pkgs/by-name/nu/nuraft/package.nix +++ b/pkgs/by-name/nu/nuraft/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, asio, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + asio, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "nuraft"; @@ -22,7 +32,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost asio openssl zlib ]; + buildInputs = [ + boost + asio + openssl + zlib + ]; meta = with lib; { homepage = "https://github.com/eBay/NuRaft"; diff --git a/pkgs/by-name/nu/nurl/package.nix b/pkgs/by-name/nu/nurl/package.nix index 752427cdb0e94..0e7a927dbabfb 100644 --- a/pkgs/by-name/nu/nurl/package.nix +++ b/pkgs/by-name/nu/nurl/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, makeBinaryWrapper -, stdenv -, darwin -, gitMinimal -, mercurial -, nix +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + makeBinaryWrapper, + stdenv, + darwin, + gitMinimal, + mercurial, + nix, }: rustPlatform.buildRustPackage rec { @@ -42,7 +43,13 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/nurl \ - --prefix PATH : ${lib.makeBinPath [ gitMinimal mercurial nix ]} + --prefix PATH : ${ + lib.makeBinPath [ + gitMinimal + mercurial + nix + ] + } installManPage artifacts/nurl.1 installShellCompletion artifacts/nurl.{bash,fish} --zsh artifacts/_nurl ''; diff --git a/pkgs/by-name/nu/nusmv/package.nix b/pkgs/by-name/nu/nusmv/package.nix index 058949083caf0..456970b7ee0aa 100644 --- a/pkgs/by-name/nu/nusmv/package.nix +++ b/pkgs/by-name/nu/nusmv/package.nix @@ -1,22 +1,30 @@ -{ stdenv -, lib -, fetchurl -, autoPatchelfHook +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, }: stdenv.mkDerivation rec { pname = "NuSMV"; version = "2.6.0"; - src = with stdenv; fetchurl ( - if isx86_64 && isLinux then { - url = "https://nusmv.fbk.eu/distrib/NuSMV-${version}-linux64.tar.gz"; - sha256 = "1370x2vwjndv9ham5q399nn84hvhm1gj1k7pq576qmh4pi12xc8i"; - } else if isx86_32 && isLinux then { - url = "https://nusmv.fbk.eu/distrib/NuSMV-${version}-linux32.tar.gz"; - sha256 = "1qf41czwbqxlrmv0rv2daxgz2hljza5xks85sx3dhwpjy2iav9jb"; - } else throw "only linux x86_64 and x86_32 are currently supported") ; - + src = + with stdenv; + fetchurl ( + if isx86_64 && isLinux then + { + url = "https://nusmv.fbk.eu/distrib/NuSMV-${version}-linux64.tar.gz"; + sha256 = "1370x2vwjndv9ham5q399nn84hvhm1gj1k7pq576qmh4pi12xc8i"; + } + else if isx86_32 && isLinux then + { + url = "https://nusmv.fbk.eu/distrib/NuSMV-${version}-linux32.tar.gz"; + sha256 = "1qf41czwbqxlrmv0rv2daxgz2hljza5xks85sx3dhwpjy2iav9jb"; + } + else + throw "only linux x86_64 and x86_32 are currently supported" + ); nativeBuildInputs = [ autoPatchelfHook ]; diff --git a/pkgs/by-name/nu/nut/package.nix b/pkgs/by-name/nu/nut/package.nix index cded819dbb5be..998549a84e96b 100644 --- a/pkgs/by-name/nu/nut/package.nix +++ b/pkgs/by-name/nu/nut/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, autoreconfHook -, avahi -, coreutils -, fetchurl -, freeipmi -, gd -, i2c-tools -, libgpiod_1 -, libmodbus -, libtool -, libusb1 -, makeWrapper -, neon -, net-snmp -, openssl -, pkg-config -, substituteAll -, systemd -, udev -, gnused +{ + lib, + stdenv, + autoreconfHook, + avahi, + coreutils, + fetchurl, + freeipmi, + gd, + i2c-tools, + libgpiod_1, + libmodbus, + libtool, + libusb1, + makeWrapper, + neon, + net-snmp, + openssl, + pkg-config, + substituteAll, + systemd, + udev, + gnused, }: stdenv.mkDerivation rec { @@ -51,25 +52,50 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ neon libusb1 openssl udev avahi freeipmi libgpiod_1 libmodbus libtool i2c-tools net-snmp gd ]; + buildInputs = [ + neon + libusb1 + openssl + udev + avahi + freeipmi + libgpiod_1 + libmodbus + libtool + i2c-tools + net-snmp + gd + ]; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + ]; - configureFlags = - [ "--with-all" - "--with-ssl" - "--without-powerman" # Until we have it ... - "--with-systemdsystemunitdir=$(out)/lib/systemd/system" - "--with-systemdshutdowndir=$(out)/lib/systemd/system-shutdown" - "--with-systemdtmpfilesdir=$(out)/lib/tmpfiles.d" - "--with-udev-dir=$(out)/etc/udev" - ]; + configureFlags = [ + "--with-all" + "--with-ssl" + "--without-powerman" # Until we have it ... + "--with-systemdsystemunitdir=$(out)/lib/systemd/system" + "--with-systemdshutdowndir=$(out)/lib/systemd/system-shutdown" + "--with-systemdtmpfilesdir=$(out)/lib/tmpfiles.d" + "--with-udev-dir=$(out)/etc/udev" + ]; enableParallelBuilding = true; # Add `cgi-bin` to the default list to avoid pulling in whole # of `gcc` into build closure. - stripDebugList = [ "cgi-bin" "lib" "lib32" "lib64" "libexec" "bin" "sbin" ]; + stripDebugList = [ + "cgi-bin" + "lib" + "lib32" + "lib64" + "libexec" + "bin" + "sbin" + ]; postInstall = '' substituteInPlace $out/lib/systemd/system-shutdown/nutshutdown \ @@ -99,7 +125,11 @@ stdenv.mkDerivation rec { homepage = "https://networkupstools.org/"; platforms = platforms.linux; maintainers = [ maintainers.pierron ]; - license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ]; + license = with licenses; [ + gpl1Plus + gpl2Plus + gpl3Plus + ]; priority = 10; }; } diff --git a/pkgs/by-name/nu/nuttcp/package.nix b/pkgs/by-name/nu/nuttcp/package.nix index 7bee729c4ed96..c5e700a39a588 100644 --- a/pkgs/by-name/nu/nuttcp/package.nix +++ b/pkgs/by-name/nu/nuttcp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nu/nuv/package.nix b/pkgs/by-name/nu/nuv/package.nix index f4ae78469d9fd..0cd295b98b9c1 100644 --- a/pkgs/by-name/nu/nuv/package.nix +++ b/pkgs/by-name/nu/nuv/package.nix @@ -1,16 +1,17 @@ -{ lib -, symlinkJoin -, callPackage -, fetchFromGitHub -, buildGoModule -, makeWrapper -, jq -, curl -, kubectl -, eksctl -, kind -, k3sup -, coreutils +{ + lib, + symlinkJoin, + callPackage, + fetchFromGitHub, + buildGoModule, + makeWrapper, + jq, + curl, + kubectl, + eksctl, + kind, + k3sup, + coreutils, }: let @@ -31,7 +32,11 @@ buildGoModule { subPackages = [ "." ]; vendorHash = "sha256-JkQbQ2NEaumXbAfsv0fNiQf/EwMs3SDLHvu7c/bU7fU="; - nativeBuildInputs = [ makeWrapper jq curl ]; + nativeBuildInputs = [ + makeWrapper + jq + curl + ]; ldflags = [ "-s" @@ -43,20 +48,22 @@ buildGoModule { # false because tests require some modifications inside nix-env doCheck = false; - postInstall = let - nuv-bin = symlinkJoin { - name = "nuv-bin"; - paths = [ - coreutils - kubectl - eksctl - kind - k3sup - ]; - }; - in '' - wrapProgram $out/bin/nuv --set NUV_BIN "${nuv-bin}/bin" - ''; + postInstall = + let + nuv-bin = symlinkJoin { + name = "nuv-bin"; + paths = [ + coreutils + kubectl + eksctl + kind + k3sup + ]; + }; + in + '' + wrapProgram $out/bin/nuv --set NUV_BIN "${nuv-bin}/bin" + ''; passthru.tests = { simple = callPackage ./tests.nix { inherit version; }; @@ -67,6 +74,9 @@ buildGoModule { description = "A CLI tool for running tasks using the Nuvolaris serverless engine"; license = lib.licenses.asl20; mainProgram = "nuv"; - maintainers = with lib.maintainers; [ msciabarra d4rkstar ]; + maintainers = with lib.maintainers; [ + msciabarra + d4rkstar + ]; }; } diff --git a/pkgs/by-name/nu/nuv/tests.nix b/pkgs/by-name/nu/nuv/tests.nix index 4e531728e8ff4..e49c2d872b120 100644 --- a/pkgs/by-name/nu/nuv/tests.nix +++ b/pkgs/by-name/nu/nuv/tests.nix @@ -1,17 +1,22 @@ -{ runCommand, nuv, version }: +{ + runCommand, + nuv, + version, +}: runCommand "nuv-test-run" -{ - nativeBuildInputs = [ nuv ]; -} '' - export TMP_BASE=$(mktemp -d /tmp/.nuv-XXXXX) - export HOME=$TMP_BASE - export NUV_REPO="" - export NUV_ROOT=$TMP_BASE/.nuv/3.0.0/olaris - rm -rf $TMP_BASE/.nuv && \ - mkdir -p $TMP_BASE/.nuv/3.0.0/olaris && \ - mkdir $TMP_BASE/.nuv/tmp - V=$(nuv -version 2>/dev/null) - diff -U3 --color=auto <(echo "$V") <(echo "${version}") - touch $out -'' + { + nativeBuildInputs = [ nuv ]; + } + '' + export TMP_BASE=$(mktemp -d /tmp/.nuv-XXXXX) + export HOME=$TMP_BASE + export NUV_REPO="" + export NUV_ROOT=$TMP_BASE/.nuv/3.0.0/olaris + rm -rf $TMP_BASE/.nuv && \ + mkdir -p $TMP_BASE/.nuv/3.0.0/olaris && \ + mkdir $TMP_BASE/.nuv/tmp + V=$(nuv -version 2>/dev/null) + diff -U3 --color=auto <(echo "$V") <(echo "${version}") + touch $out + '' diff --git a/pkgs/by-name/nu/nuweb/package.nix b/pkgs/by-name/nu/nuweb/package.nix index bc7841843a8d0..b5c926b02b83b 100644 --- a/pkgs/by-name/nu/nuweb/package.nix +++ b/pkgs/by-name/nu/nuweb/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, texliveMedium}: +{ + lib, + stdenv, + fetchurl, + texliveMedium, +}: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nu/nux/package.nix b/pkgs/by-name/nu/nux/package.nix index 45bb183626050..a457bbd7b001e 100644 --- a/pkgs/by-name/nu/nux/package.nix +++ b/pkgs/by-name/nu/nux/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, asciidoctor -, installShellFiles +{ + lib, + fetchFromGitHub, + rustPlatform, + asciidoctor, + installShellFiles, }: let @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-wfUr3dcdALMEgJ6CaXhK4Gqk6xflCnov9tELA63drV4="; - nativeBuildInputs = [ asciidoctor installShellFiles ]; + nativeBuildInputs = [ + asciidoctor + installShellFiles + ]; postInstall = '' installManPage $releaseDir/build/nux-*/out/nux.1 diff --git a/pkgs/by-name/nv/nv-codec-headers/package.nix b/pkgs/by-name/nv/nv-codec-headers/package.nix index 39179db9034fb..fe14a78e3eff3 100644 --- a/pkgs/by-name/nv/nv-codec-headers/package.nix +++ b/pkgs/by-name/nv/nv-codec-headers/package.nix @@ -8,13 +8,15 @@ let sources = callPackage ./sources.nix { }; - pick = { - "8" = sources.nv-codec-headers-8; - "9" = sources.nv-codec-headers-9; - "10" = sources.nv-codec-headers-10; - "11" = sources.nv-codec-headers-11; - "12" = sources.nv-codec-headers-12; - }.${majorVersion}; + pick = + { + "8" = sources.nv-codec-headers-8; + "9" = sources.nv-codec-headers-9; + "10" = sources.nv-codec-headers-10; + "11" = sources.nv-codec-headers-11; + "12" = sources.nv-codec-headers-12; + } + .${majorVersion}; in stdenvNoCC.mkDerivation { inherit (pick) pname version src; diff --git a/pkgs/by-name/nv/nvd/package.nix b/pkgs/by-name/nv/nvd/package.nix index 22fba65b72976..2cc7afa9f97e4 100644 --- a/pkgs/by-name/nv/nvd/package.nix +++ b/pkgs/by-name/nv/nvd/package.nix @@ -1,8 +1,9 @@ -{ fetchFromSourcehut -, installShellFiles -, lib -, python3 -, stdenv +{ + fetchFromSourcehut, + installShellFiles, + lib, + python3, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nv/nvdtools/package.nix b/pkgs/by-name/nv/nvdtools/package.nix index b797c50da4477..23a160c752cbb 100644 --- a/pkgs/by-name/nv/nvdtools/package.nix +++ b/pkgs/by-name/nv/nvdtools/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/nv/nvi/package.nix b/pkgs/by-name/nv/nvi/package.nix index c5ef872bffff1..d8c3fe35c95ff 100644 --- a/pkgs/by-name/nv/nvi/package.nix +++ b/pkgs/by-name/nv/nvi/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, fetchpatch, ncurses, db }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + ncurses, + db, +}: stdenv.mkDerivation rec { pname = "nvi"; @@ -23,7 +30,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ ncurses db ]; + buildInputs = [ + ncurses + db + ]; preConfigure = '' cd build.unix diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix b/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix index 9690be4d7735a..aedeb2b39599c 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/nvidia-docker.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "nvidia-docker"; version = "2.5.0"; diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix index 4fa5177d25427..aa4f28e72e83f 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/package.nix @@ -1,20 +1,26 @@ -{ lib -, glibc -, fetchFromGitLab -, makeWrapper -, buildGoModule -, formats -, configTemplate ? null -, configTemplatePath ? null -, libnvidia-container -, autoAddDriverRunpath +{ + lib, + glibc, + fetchFromGitLab, + makeWrapper, + buildGoModule, + formats, + configTemplate ? null, + configTemplatePath ? null, + libnvidia-container, + autoAddDriverRunpath, }: assert configTemplate != null -> (lib.isAttrs configTemplate && configTemplatePath == null); -assert configTemplatePath != null -> (lib.isStringLike configTemplatePath && configTemplate == null); +assert + configTemplatePath != null -> (lib.isStringLike configTemplatePath && configTemplate == null); let - configToml = if configTemplatePath != null then configTemplatePath else (formats.toml { }).generate "config.toml" configTemplate; + configToml = + if configTemplatePath != null then + configTemplatePath + else + (formats.toml { }).generate "config.toml" configTemplate; # From https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/Makefile#L54 cliVersionPackage = "github.com/NVIDIA/nvidia-container-toolkit/internal/info"; @@ -31,7 +37,10 @@ buildGoModule rec { }; - outputs = [ "out" "tools" ]; + outputs = [ + "out" + "tools" + ]; vendorHash = null; @@ -84,22 +93,27 @@ buildGoModule rec { "TestDuplicateHook" ]; in - [ "-skip" "${builtins.concatStringsSep "|" skippedTests}" ]; - - postInstall = '' - wrapProgram $out/bin/nvidia-container-runtime-hook \ - --prefix PATH : ${libnvidia-container}/bin - - mkdir -p $tools/bin - mv $out/bin/{containerd,crio,docker,nvidia-toolkit,toolkit} $tools/bin - '' + lib.optionalString (configTemplate != null || configTemplatePath != null) '' - mkdir -p $out/etc/nvidia-container-runtime - - cp ${configToml} $out/etc/nvidia-container-runtime/config.toml - - substituteInPlace $out/etc/nvidia-container-runtime/config.toml \ - --subst-var-by glibcbin ${lib.getBin glibc} - ''; + [ + "-skip" + "${builtins.concatStringsSep "|" skippedTests}" + ]; + + postInstall = + '' + wrapProgram $out/bin/nvidia-container-runtime-hook \ + --prefix PATH : ${libnvidia-container}/bin + + mkdir -p $tools/bin + mv $out/bin/{containerd,crio,docker,nvidia-toolkit,toolkit} $tools/bin + '' + + lib.optionalString (configTemplate != null || configTemplatePath != null) '' + mkdir -p $out/etc/nvidia-container-runtime + + cp ${configToml} $out/etc/nvidia-container-runtime/config.toml + + substituteInPlace $out/etc/nvidia-container-runtime/config.toml \ + --subst-var-by glibcbin ${lib.getBin glibc} + ''; meta = with lib; { homepage = "https://gitlab.com/nvidia/container-toolkit/container-toolkit"; diff --git a/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix b/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix index 83b62a68f2419..b8f6e2648ed6f 100644 --- a/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix +++ b/pkgs/by-name/nv/nvidia-container-toolkit/packages.nix @@ -5,40 +5,37 @@ }: # Note this scope isn't recursed into, at the time of writing. -lib.makeScope newScope ( - self: { +lib.makeScope newScope (self: { - # The config is only exposed as an attrset so that the user may reach the - # deafult values, for inspectability purposes. - dockerConfig = { - disable-require = false; - #swarm-resource = "DOCKER_RESOURCE_GPU" + # The config is only exposed as an attrset so that the user may reach the + # deafult values, for inspectability purposes. + dockerConfig = { + disable-require = false; + #swarm-resource = "DOCKER_RESOURCE_GPU" - nvidia-container-cli = { - #root = "/run/nvidia/driver"; - #path = "/usr/bin/nvidia-container-cli"; - environment = [ ]; - #debug = "/var/log/nvidia-container-runtime-hook.log"; - ldcache = "/tmp/ld.so.cache"; - load-kmods = true; - #no-cgroups = false; - #user = "root:video"; - ldconfig = "@@glibcbin@/bin/ldconfig"; - }; - }; - nvidia-container-toolkit-docker = self.callPackage ./package.nix { - configTemplate = self.dockerConfig; + nvidia-container-cli = { + #root = "/run/nvidia/driver"; + #path = "/usr/bin/nvidia-container-cli"; + environment = [ ]; + #debug = "/var/log/nvidia-container-runtime-hook.log"; + ldcache = "/tmp/ld.so.cache"; + load-kmods = true; + #no-cgroups = false; + #user = "root:video"; + ldconfig = "@@glibcbin@/bin/ldconfig"; }; + }; + nvidia-container-toolkit-docker = self.callPackage ./package.nix { + configTemplate = self.dockerConfig; + }; - nvidia-docker = symlinkJoin { - name = "nvidia-docker"; - paths = [ - self.nvidia-docker-unwrapped - self.nvidia-container-toolkit-docker - ]; - inherit (self.nvidia-docker-unwrapped) meta; - }; - nvidia-docker-unwrapped = - self.callPackage ./nvidia-docker.nix { }; - } -) + nvidia-docker = symlinkJoin { + name = "nvidia-docker"; + paths = [ + self.nvidia-docker-unwrapped + self.nvidia-container-toolkit-docker + ]; + inherit (self.nvidia-docker-unwrapped) meta; + }; + nvidia-docker-unwrapped = self.callPackage ./nvidia-docker.nix { }; +}) diff --git a/pkgs/by-name/nv/nvidia-optical-flow-sdk/package.nix b/pkgs/by-name/nv/nvidia-optical-flow-sdk/package.nix index 813821bfb71c2..3dfad2f8eff60 100644 --- a/pkgs/by-name/nv/nvidia-optical-flow-sdk/package.nix +++ b/pkgs/by-name/nv/nvidia-optical-flow-sdk/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cudaPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + cudaPackages, +}: stdenv.mkDerivation { pname = "nvidia-optical-flow-sdk"; diff --git a/pkgs/by-name/nv/nvidia-texture-tools/package.nix b/pkgs/by-name/nv/nvidia-texture-tools/package.nix index 13f285bc66e8d..72cd0054518ce 100644 --- a/pkgs/by-name/nv/nvidia-texture-tools/package.nix +++ b/pkgs/by-name/nv/nvidia-texture-tools/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation { @@ -15,17 +16,23 @@ stdenv.mkDerivation { hash = "sha256-BYNm8CxPQbfmnnzNmOQ2Dc8HSyO8mkqzYsBZ5T80398="; }; - postPatch = '' - # Make a recently added pure virtual function just virtual, - # to keep compatibility. - sed -i 's/virtual void endImage() = 0;/virtual void endImage() {}/' src/nvtt/nvtt.h - '' + lib.optionalString stdenv.hostPlatform.isAarch64 '' - # remove x86_64-only libraries - sed -i '/bc1enc/d' src/nvtt/tests/CMakeLists.txt - sed -i '/libsquish/d;/CMP_Core/d' extern/CMakeLists.txt - ''; - - outputs = [ "out" "dev" "lib" ]; + postPatch = + '' + # Make a recently added pure virtual function just virtual, + # to keep compatibility. + sed -i 's/virtual void endImage() = 0;/virtual void endImage() {}/' src/nvtt/nvtt.h + '' + + lib.optionalString stdenv.hostPlatform.isAarch64 '' + # remove x86_64-only libraries + sed -i '/bc1enc/d' src/nvtt/tests/CMakeLists.txt + sed -i '/libsquish/d;/CMP_Core/d' extern/CMakeLists.txt + ''; + + outputs = [ + "out" + "dev" + "lib" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/nv/nvidia_cg_toolkit/package.nix b/pkgs/by-name/nv/nvidia_cg_toolkit/package.nix index d6d4fdd448107..47c8173982472 100644 --- a/pkgs/by-name/nv/nvidia_cg_toolkit/package.nix +++ b/pkgs/by-name/nv/nvidia_cg_toolkit/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "3.1"; @@ -18,7 +22,8 @@ stdenv.mkDerivation rec { url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86.tgz"; sha256 = "cef3591e436f528852db0e8c145d3842f920e0c89bcfb219c466797cb7b18879"; } - else throw "nvidia-cg-toolkit does not support platform ${stdenv.hostPlatform.system}"; + else + throw "nvidia-cg-toolkit does not support platform ${stdenv.hostPlatform.system}"; installPhase = '' for b in cgc cgfxcat cginfo diff --git a/pkgs/by-name/nv/nvimpager/package.nix b/pkgs/by-name/nv/nvimpager/package.nix index 364b825292f24..18655c60c69f0 100644 --- a/pkgs/by-name/nv/nvimpager/package.nix +++ b/pkgs/by-name/nv/nvimpager/package.nix @@ -1,7 +1,13 @@ -{ fetchFromGitHub -, lib, stdenv -, ncurses, neovim, procps -, scdoc, lua51Packages, util-linux +{ + fetchFromGitHub, + lib, + stdenv, + ncurses, + neovim, + procps, + scdoc, + lua51Packages, + util-linux, }: stdenv.mkDerivation rec { @@ -22,18 +28,27 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ scdoc ]; makeFlags = [ "PREFIX=$(out)" ]; - buildFlags = [ "nvimpager.configured" "nvimpager.1" ]; + buildFlags = [ + "nvimpager.configured" + "nvimpager.1" + ]; preBuild = '' patchShebangs nvimpager substituteInPlace nvimpager --replace-fail ':-nvim' ':-${lib.getExe neovim}' - ''; + ''; doCheck = true; - nativeCheckInputs = [ lua51Packages.busted util-linux neovim ]; + nativeCheckInputs = [ + lua51Packages.busted + util-linux + neovim + ]; # filter out one test that fails in the sandbox of nix or with neovim v0.10 # or on macOS preCheck = '' - checkFlagsArray+=('BUSTED=busted --output TAP --exclude-tags=${"nix,v10" + lib.optionalString stdenv.hostPlatform.isDarwin ",mac"}') + checkFlagsArray+=('BUSTED=busted --output TAP --exclude-tags=${ + "nix,v10" + lib.optionalString stdenv.hostPlatform.isDarwin ",mac" + }') ''; meta = with lib; { diff --git a/pkgs/by-name/nv/nvitop/package.nix b/pkgs/by-name/nv/nvitop/package.nix index a89f5d04d65b3..c52d481caf02f 100644 --- a/pkgs/by-name/nv/nvitop/package.nix +++ b/pkgs/by-name/nv/nvitop/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { @@ -16,7 +17,6 @@ python3Packages.buildPythonApplication rec { pythonRelaxDeps = [ "nvidia-ml-py" ]; - propagatedBuildInputs = with python3Packages; [ cachetools psutil diff --git a/pkgs/by-name/nv/nvme-cli/package.nix b/pkgs/by-name/nv/nvme-cli/package.nix index f17ee46d75079..39f2da237ed5f 100644 --- a/pkgs/by-name/nv/nvme-cli/package.nix +++ b/pkgs/by-name/nv/nvme-cli/package.nix @@ -1,10 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config -, meson -, ninja -, libnvme -, json_c -, zlib -, python3Packages +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + libnvme, + json_c, + zlib, + python3Packages, }: stdenv.mkDerivation rec { @@ -47,7 +51,10 @@ stdenv.mkDerivation rec { ''; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ mic92 vifino ]; + maintainers = with maintainers; [ + mic92 + vifino + ]; mainProgram = "nvme"; }; } diff --git a/pkgs/by-name/nv/nvmet-cli/package.nix b/pkgs/by-name/nv/nvmet-cli/package.nix index eafa8501cdb76..beaeea887c395 100644 --- a/pkgs/by-name/nv/nvmet-cli/package.nix +++ b/pkgs/by-name/nv/nvmet-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchurl }: +{ + lib, + python3Packages, + fetchurl, +}: python3Packages.buildPythonApplication rec { pname = "nvmet-cli"; diff --git a/pkgs/by-name/nv/nvmetcfg/package.nix b/pkgs/by-name/nv/nvmetcfg/package.nix index 5edd436ba6210..0c2e29e8a6e0c 100644 --- a/pkgs/by-name/nv/nvmetcfg/package.nix +++ b/pkgs/by-name/nv/nvmetcfg/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nixosTests +{ + lib, + rustPlatform, + fetchFromGitHub, + nixosTests, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/nv/nvpy/package.nix b/pkgs/by-name/nv/nvpy/package.nix index ddb76bad3686f..c937fd46d6a0d 100644 --- a/pkgs/by-name/nv/nvpy/package.nix +++ b/pkgs/by-name/nv/nvpy/package.nix @@ -1,8 +1,13 @@ -{ pkgs, fetchFromGitHub, python3Packages }: +{ + pkgs, + fetchFromGitHub, + python3Packages, +}: let pythonPackages = python3Packages; -in pythonPackages.buildPythonApplication rec { +in +pythonPackages.buildPythonApplication rec { version = "2.3.1"; pname = "nvpy"; @@ -13,7 +18,6 @@ in pythonPackages.buildPythonApplication rec { sha256 = "sha256-guNdLu/bCk89o5M3gQU7J0W4h7eZdLHM0FG5IAPLE7c="; }; - propagatedBuildInputs = with pythonPackages; [ markdown docutils diff --git a/pkgs/by-name/nw/nwg-bar/package.nix b/pkgs/by-name/nw/nwg-bar/package.nix index d80986db6e030..17ef7dea548be 100644 --- a/pkgs/by-name/nw/nwg-bar/package.nix +++ b/pkgs/by-name/nw/nwg-bar/package.nix @@ -1,11 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, librsvg -, pkg-config -, gtk3 -, gtk-layer-shell -, wrapGAppsHook3 }: +{ + lib, + buildGoModule, + fetchFromGitHub, + librsvg, + pkg-config, + gtk3, + gtk-layer-shell, + wrapGAppsHook3, +}: buildGoModule rec { pname = "nwg-bar"; @@ -26,9 +28,16 @@ buildGoModule rec { vendorHash = "sha256-/kqhZcIuoN/XA0i1ua3lzVGn4ghkekFYScL1o3kgBX4="; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; - buildInputs = [ gtk3 gtk-layer-shell librsvg ]; + buildInputs = [ + gtk3 + gtk-layer-shell + librsvg + ]; preInstall = '' mkdir -p $out/share/nwg-bar @@ -36,8 +45,7 @@ buildGoModule rec { ''; meta = with lib; { - description = - "GTK3-based button bar for sway and other wlroots-based compositors"; + description = "GTK3-based button bar for sway and other wlroots-based compositors"; mainProgram = "nwg-bar"; homepage = "https://github.com/nwg-piotr/nwg-bar"; license = licenses.mit; diff --git a/pkgs/by-name/nw/nwg-displays/package.nix b/pkgs/by-name/nw/nwg-displays/package.nix index 8adc3991c966b..e0cd1d5d57c47 100644 --- a/pkgs/by-name/nw/nwg-displays/package.nix +++ b/pkgs/by-name/nw/nwg-displays/package.nix @@ -1,15 +1,16 @@ -{ lib -, fetchFromGitHub -, atk -, gdk-pixbuf -, gobject-introspection -, gtk-layer-shell -, gtk3 -, pango -, python310Packages -, wrapGAppsHook3 -, hyprlandSupport ? true -, wlr-randr +{ + lib, + fetchFromGitHub, + atk, + gdk-pixbuf, + gobject-introspection, + gtk-layer-shell, + gtk3, + pango, + python310Packages, + wrapGAppsHook3, + hyprlandSupport ? true, + wlr-randr, }: python310Packages.buildPythonApplication rec { @@ -32,17 +33,19 @@ python310Packages.buildPythonApplication rec { gtk3 ]; - propagatedBuildInputs = [ - atk - gdk-pixbuf - gtk-layer-shell - pango - python310Packages.gst-python - python310Packages.i3ipc - python310Packages.pygobject3 - ] ++ lib.optionals hyprlandSupport [ - wlr-randr - ]; + propagatedBuildInputs = + [ + atk + gdk-pixbuf + gtk-layer-shell + pango + python310Packages.gst-python + python310Packages.i3ipc + python310Packages.pygobject3 + ] + ++ lib.optionals hyprlandSupport [ + wlr-randr + ]; dontWrapGApps = true; diff --git a/pkgs/by-name/nw/nwg-dock/package.nix b/pkgs/by-name/nw/nwg-dock/package.nix index 29880d734000f..9aeefd7d0a4f3 100644 --- a/pkgs/by-name/nw/nwg-dock/package.nix +++ b/pkgs/by-name/nw/nwg-dock/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, gtk3 -, gtk-layer-shell +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + gtk3, + gtk-layer-shell, }: buildGoModule rec { @@ -19,10 +20,16 @@ buildGoModule rec { vendorHash = "sha256-paRcBQwg2uGouMRX5XF++OyN8Y0JyucXLN0G5O0j3qA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 gtk-layer-shell ]; + buildInputs = [ + gtk3 + gtk-layer-shell + ]; meta = with lib; { description = "GTK3-based dock for sway"; diff --git a/pkgs/by-name/nw/nwg-drawer/package.nix b/pkgs/by-name/nw/nwg-drawer/package.nix index b38554acbf876..4b843bf3e6a46 100644 --- a/pkgs/by-name/nw/nwg-drawer/package.nix +++ b/pkgs/by-name/nw/nwg-drawer/package.nix @@ -1,13 +1,14 @@ -{ lib -, buildGoModule -, cairo -, fetchFromGitHub -, gobject-introspection -, gtk-layer-shell -, gtk3 -, pkg-config -, wrapGAppsHook3 -, xdg-utils +{ + lib, + buildGoModule, + cairo, + fetchFromGitHub, + gobject-introspection, + gtk-layer-shell, + gtk3, + pkg-config, + wrapGAppsHook3, + xdg-utils, }: let @@ -24,7 +25,12 @@ let vendorHash = "sha256-r4DtY06z0ZcPoHba4pqpCWqxYo7RbwCKi2g4jdoN1kg="; in buildGoModule { - inherit pname version src vendorHash; + inherit + pname + version + src + vendorHash + ; nativeBuildInputs = [ gobject-introspection diff --git a/pkgs/by-name/nw/nwg-launchers/package.nix b/pkgs/by-name/nw/nwg-launchers/package.nix index 4e2447379bdda..81d371b51710b 100644 --- a/pkgs/by-name/nw/nwg-launchers/package.nix +++ b/pkgs/by-name/nw/nwg-launchers/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, gtkmm3 -, meson -, ninja -, nlohmann_json -, pkg-config -, swaylock -, makeWrapper -, gtk-layer-shell +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtkmm3, + meson, + ninja, + nlohmann_json, + pkg-config, + swaylock, + makeWrapper, + gtk-layer-shell, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/nw/nwg-menu/package.nix b/pkgs/by-name/nw/nwg-menu/package.nix index a428c9e3e7221..99d45b46d8c51 100644 --- a/pkgs/by-name/nw/nwg-menu/package.nix +++ b/pkgs/by-name/nw/nwg-menu/package.nix @@ -1,6 +1,15 @@ -{ lib, fetchFromGitHub -, buildGoModule, pkg-config, wrapGAppsHook3, gobject-introspection -, gtk-layer-shell, gtk3, pango, gdk-pixbuf, atk +{ + lib, + fetchFromGitHub, + buildGoModule, + pkg-config, + wrapGAppsHook3, + gobject-introspection, + gtk-layer-shell, + gtk3, + pango, + gdk-pixbuf, + atk, }: buildGoModule rec { @@ -18,8 +27,18 @@ buildGoModule rec { doCheck = false; - buildInputs = [ atk gtk3 gdk-pixbuf gtk-layer-shell pango ]; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 gobject-introspection ]; + buildInputs = [ + atk + gtk3 + gdk-pixbuf + gtk-layer-shell + pango + ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + gobject-introspection + ]; prePatch = '' for file in main.go tools.go; do diff --git a/pkgs/by-name/nw/nwg-wrapper/package.nix b/pkgs/by-name/nw/nwg-wrapper/package.nix index f5b524c890198..b086291928a17 100644 --- a/pkgs/by-name/nw/nwg-wrapper/package.nix +++ b/pkgs/by-name/nw/nwg-wrapper/package.nix @@ -1,4 +1,13 @@ -{ lib, python3Packages, fetchFromGitHub, gtk-layer-shell, gtk3, gobject-introspection, wrapGAppsHook3, wlr-randr }: +{ + lib, + python3Packages, + fetchFromGitHub, + gtk-layer-shell, + gtk3, + gobject-introspection, + wrapGAppsHook3, + wlr-randr, +}: python3Packages.buildPythonPackage rec { pname = "nwg-wrapper"; @@ -11,11 +20,20 @@ python3Packages.buildPythonPackage rec { sha256 = "sha256-GKDAdjO67aedCEFHKDukQ+oPMomTPwFE/CvJu112fus="; }; - nativeBuildInputs = [ gobject-introspection wrapGAppsHook3 ]; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; - buildInputs = [ gtk3 gtk-layer-shell ]; + buildInputs = [ + gtk3 + gtk-layer-shell + ]; - propagatedBuildInputs = with python3Packages; [ i3ipc pygobject3 ]; + propagatedBuildInputs = with python3Packages; [ + i3ipc + pygobject3 + ]; # No tests doCheck = false; diff --git a/pkgs/by-name/nw/nwipe/package.nix b/pkgs/by-name/nw/nwipe/package.nix index 33264c49e7635..383d18e560adf 100644 --- a/pkgs/by-name/nw/nwipe/package.nix +++ b/pkgs/by-name/nw/nwipe/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, autoreconfHook -, makeWrapper -, fetchFromGitHub -, ncurses -, parted -, pkg-config -, libconfig -, hdparm -, smartmontools -, dmidecode +{ + lib, + stdenv, + autoreconfHook, + makeWrapper, + fetchFromGitHub, + ncurses, + parted, + pkg-config, + libconfig, + hdparm, + smartmontools, + dmidecode, }: stdenv.mkDerivation rec { @@ -37,7 +38,13 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/nwipe \ - --prefix PATH : ${lib.makeBinPath [ hdparm smartmontools dmidecode ]} + --prefix PATH : ${ + lib.makeBinPath [ + hdparm + smartmontools + dmidecode + ] + } ''; enableParallelBuilding = true; @@ -47,7 +54,10 @@ stdenv.mkDerivation rec { mainProgram = "nwipe"; homepage = "https://github.com/martijnvanbrummelen/nwipe"; license = licenses.gpl2Only; - maintainers = with maintainers; [ vifino woffs ]; + maintainers = with maintainers; [ + vifino + woffs + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/nx/nx-libs/package.nix b/pkgs/by-name/nx/nx-libs/package.nix index a3afc4fa264a6..616ab0ee164ca 100644 --- a/pkgs/by-name/nx/nx-libs/package.nix +++ b/pkgs/by-name/nx/nx-libs/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, autoconf, automake, fetchFromGitHub, fetchpatch -, libjpeg_turbo -, libpng, libtool, libxml2, pkg-config, which, xorg -, libtirpc +{ + lib, + stdenv, + autoconf, + automake, + fetchFromGitHub, + fetchpatch, + libjpeg_turbo, + libpng, + libtool, + libxml2, + pkg-config, + which, + xorg, + libtirpc, }: stdenv.mkDerivation rec { pname = "nx-libs"; @@ -21,12 +32,33 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoconf automake libtool pkg-config which - xorg.gccmakedep xorg.imake ]; - buildInputs = [ libjpeg_turbo libpng libxml2 xorg.fontutil - xorg.libXcomposite xorg.libXdamage xorg.libXdmcp xorg.libXext xorg.libXfont2 - xorg.libXinerama xorg.libXpm xorg.libXrandr xorg.libXtst xorg.pixman - xorg.xkbcomp xorg.xkeyboardconfig libtirpc + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + which + xorg.gccmakedep + xorg.imake + ]; + buildInputs = [ + libjpeg_turbo + libpng + libxml2 + xorg.fontutil + xorg.libXcomposite + xorg.libXdamage + xorg.libXdmcp + xorg.libXext + xorg.libXfont2 + xorg.libXinerama + xorg.libXpm + xorg.libXrandr + xorg.libXtst + xorg.pixman + xorg.xkbcomp + xorg.xkeyboardconfig + libtirpc ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; @@ -44,7 +76,7 @@ stdenv.mkDerivation rec { substituteInPlace nx-X11/config/cf/Imake.tmpl --replace "clq" "cq" ''; - PREFIX=""; # Don't install to $out/usr/local + PREFIX = ""; # Don't install to $out/usr/local installPhase = '' make DESTDIR="$out" install # See: diff --git a/pkgs/by-name/nx/nx2elf/package.nix b/pkgs/by-name/nx/nx2elf/package.nix index a2597b985c081..b316eb36bf348 100644 --- a/pkgs/by-name/nx/nx2elf/package.nix +++ b/pkgs/by-name/nx/nx2elf/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, lz4 }: +{ + lib, + stdenv, + fetchFromGitHub, + lz4, +}: stdenv.mkDerivation rec { pname = "nx2elf"; diff --git a/pkgs/by-name/nx/nxengine-evo/assets.nix b/pkgs/by-name/nx/nxengine-evo/assets.nix index 96c2e5f1e70b4..9524f42e8dd22 100644 --- a/pkgs/by-name/nx/nxengine-evo/assets.nix +++ b/pkgs/by-name/nx/nxengine-evo/assets.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchzip +{ + lib, + stdenvNoCC, + fetchzip, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/nx/nxengine-evo/package.nix b/pkgs/by-name/nx/nxengine-evo/package.nix index 10acb961d4417..da64333e784c7 100644 --- a/pkgs/by-name/nx/nxengine-evo/package.nix +++ b/pkgs/by-name/nx/nxengine-evo/package.nix @@ -61,18 +61,21 @@ stdenv.mkDerivation (finalAttrs: { sed -i -e "s,/usr/share/,$out/share/," src/ResourceManager.cpp ''; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - cd .. - mkdir -p $out/bin/ $out/share/nxengine/ - install bin/* $out/bin/ - '' + '' - cp -r ${finalAttrs.finalPackage.assets}/share/nxengine/data $out/share/nxengine/data - chmod -R a=r,a+X $out/share/nxengine/data - '' + '' - runHook postInstall - ''; + cd .. + mkdir -p $out/bin/ $out/share/nxengine/ + install bin/* $out/bin/ + '' + + '' + cp -r ${finalAttrs.finalPackage.assets}/share/nxengine/data $out/share/nxengine/data + chmod -R a=r,a+X $out/share/nxengine/data + '' + + '' + runHook postInstall + ''; passthru = { assets = callPackage ./assets.nix { }; diff --git a/pkgs/by-name/nx/nxpmicro-mfgtools/package.nix b/pkgs/by-name/nx/nxpmicro-mfgtools/package.nix index 78a04adde7977..17d14dce081c4 100644 --- a/pkgs/by-name/nx/nxpmicro-mfgtools/package.nix +++ b/pkgs/by-name/nx/nxpmicro-mfgtools/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, bzip2 -, installShellFiles -, libusb1 -, libzip -, openssl -, zstd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + bzip2, + installShellFiles, + libusb1, + libzip, + openssl, + zstd, }: stdenv.mkDerivation rec { @@ -21,9 +23,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-t5usUGbcdLQlqPpZkNDeGncka9VfkpO7U933Kw/Sm7U="; }; - nativeBuildInputs = [ cmake pkg-config installShellFiles ]; + nativeBuildInputs = [ + cmake + pkg-config + installShellFiles + ]; - buildInputs = [ bzip2 libusb1 libzip openssl zstd ]; + buildInputs = [ + bzip2 + libusb1 + libzip + openssl + zstd + ]; preConfigure = "echo ${version} > .tarball-version"; @@ -52,7 +64,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/NXPmicro/mfgtools"; license = licenses.bsd3; - maintainers = with maintainers; [ bmilanov jraygauthier ]; + maintainers = with maintainers; [ + bmilanov + jraygauthier + ]; mainProgram = "uuu"; platforms = platforms.all; }; diff --git a/pkgs/by-name/ny/nyancat/package.nix b/pkgs/by-name/ny/nyancat/package.nix index 89acccd66fc1b..e69cf3e6870ab 100644 --- a/pkgs/by-name/ny/nyancat/package.nix +++ b/pkgs/by-name/ny/nyancat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "nyancat"; diff --git a/pkgs/by-name/ny/nylon/package.nix b/pkgs/by-name/ny/nylon/package.nix index 37c6d14dfa278..3627cb2fdfebb 100644 --- a/pkgs/by-name/ny/nylon/package.nix +++ b/pkgs/by-name/ny/nylon/package.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, fetchurl, libevent, buildEnv }: +{ + lib, + stdenv, + fetchurl, + libevent, + buildEnv, +}: let # failed to find a better way to make it work libevent-comb = buildEnv { inherit (libevent.out) name; - paths = [ libevent.dev libevent.out ]; + paths = [ + libevent.dev + libevent.out + ]; }; in stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ny/nyx/package.nix b/pkgs/by-name/ny/nyx/package.nix index cb697e0f5e669..9ef34e4ddf7af 100644 --- a/pkgs/by-name/ny/nyx/package.nix +++ b/pkgs/by-name/ny/nyx/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: with python3Packages; diff --git a/pkgs/by-name/oa/oak/package.nix b/pkgs/by-name/oa/oak/package.nix index 3e5d952a1d498..3584fccfc3945 100644 --- a/pkgs/by-name/oa/oak/package.nix +++ b/pkgs/by-name/oa/oak/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/oa/oam-tools/package.nix b/pkgs/by-name/oa/oam-tools/package.nix index 7c5d4d9827492..04116a4b23c09 100644 --- a/pkgs/by-name/oa/oam-tools/package.nix +++ b/pkgs/by-name/oa/oam-tools/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/oa/oama/package.nix b/pkgs/by-name/oa/oama/package.nix index 1f87b3bffe434..73a275f431e00 100644 --- a/pkgs/by-name/oa/oama/package.nix +++ b/pkgs/by-name/oa/oama/package.nix @@ -21,5 +21,10 @@ lib.pipe raw-pkg [ (overrideCabal overrides) # FIXME: eliminate all erroneous references on aarch64-darwin manually, # see https://github.com/NixOS/nixpkgs/issues/318013 - (if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then lib.id else justStaticExecutables) + ( + if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then + lib.id + else + justStaticExecutables + ) ] diff --git a/pkgs/by-name/oa/oapi-codegen/package.nix b/pkgs/by-name/oa/oapi-codegen/package.nix index 9cbd1e9f56ffe..42acac59aef8a 100644 --- a/pkgs/by-name/oa/oapi-codegen/package.nix +++ b/pkgs/by-name/oa/oapi-codegen/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -12,7 +13,7 @@ buildGoModule rec { repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-21VhHSyfF+NHkXlr2svjwBNZmfS1O448POBP9XUQxak="; - } ; + }; vendorHash = "sha256-bp5sFZNJFQonwfF1RjCnOMKZQkofHuqG0bXdG5Hf3jU="; @@ -21,7 +22,7 @@ buildGoModule rec { subPackages = [ "cmd/oapi-codegen" ]; - ldflags = [ "-X main.noVCSVersionOverride=${version}" ] ; + ldflags = [ "-X main.noVCSVersionOverride=${version}" ]; meta = with lib; { description = "Go client and server OpenAPI 3 generator"; diff --git a/pkgs/by-name/oa/oath-toolkit/package.nix b/pkgs/by-name/oa/oath-toolkit/package.nix index 15fc4760bc37a..4754902de053d 100644 --- a/pkgs/by-name/oa/oath-toolkit/package.nix +++ b/pkgs/by-name/oa/oath-toolkit/package.nix @@ -1,12 +1,18 @@ -{ lib, stdenv, fetchurl, nix-update-script, pam, xmlsec }: +{ + lib, + stdenv, + fetchurl, + nix-update-script, + pam, + xmlsec, +}: let # TODO: Switch to OpenPAM once https://gitlab.com/oath-toolkit/oath-toolkit/-/issues/26 is addressed upstream - securityDependency = - if stdenv.hostPlatform.isDarwin then xmlsec - else pam; + securityDependency = if stdenv.hostPlatform.isDarwin then xmlsec else pam; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "oath-toolkit"; version = "2.6.12"; diff --git a/pkgs/by-name/oa/oatpp/package.nix b/pkgs/by-name/oa/oatpp/package.nix index 10b44bdac5721..0bd8645ee3898 100644 --- a/pkgs/by-name/oa/oatpp/package.nix +++ b/pkgs/by-name/oa/oatpp/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/oa/oauth2-proxy/package.nix b/pkgs/by-name/oa/oauth2-proxy/package.nix index 64ae693f6b40f..396daa9084f22 100644 --- a/pkgs/by-name/oa/oauth2-proxy/package.nix +++ b/pkgs/by-name/oa/oauth2-proxy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "oauth2-proxy"; diff --git a/pkgs/by-name/oa/oauth2c/package.nix b/pkgs/by-name/oa/oauth2c/package.nix index 5c01d5e105961..8a3052b78a281 100644 --- a/pkgs/by-name/oa/oauth2c/package.nix +++ b/pkgs/by-name/oa/oauth2c/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/oa/oauth2l/package.nix b/pkgs/by-name/oa/oauth2l/package.nix index a47bece266ef1..ae9ac3dd70c4d 100644 --- a/pkgs/by-name/oa/oauth2l/package.nix +++ b/pkgs/by-name/oa/oauth2l/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # Fix tests by preventing them from writing to /homeless-shelter. preCheck = "export HOME=$(mktemp -d)"; diff --git a/pkgs/by-name/oa/oauth2ms/package.nix b/pkgs/by-name/oa/oauth2ms/package.nix index 0a4787bacd7d4..2e3b729cf6ebd 100644 --- a/pkgs/by-name/oa/oauth2ms/package.nix +++ b/pkgs/by-name/oa/oauth2ms/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation { pname = "oauth2ms"; @@ -12,11 +17,13 @@ stdenv.mkDerivation { }; buildInputs = [ - (python3.withPackages (ps: with ps; [ - pyxdg - msal - python-gnupg - ])) + (python3.withPackages ( + ps: with ps; [ + pyxdg + msal + python-gnupg + ] + )) ]; installPhase = '' diff --git a/pkgs/by-name/ob/oberon-risc-emu/package.nix b/pkgs/by-name/ob/oberon-risc-emu/package.nix index 331473f59fedf..92da529579a26 100644 --- a/pkgs/by-name/ob/oberon-risc-emu/package.nix +++ b/pkgs/by-name/ob/oberon-risc-emu/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, SDL2 }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, +}: stdenv.mkDerivation { pname = "oberon-risc-emu"; @@ -19,9 +24,9 @@ stdenv.mkDerivation { ''; meta = with lib; { - homepage = "https://github.com/pdewacht/oberon-risc-emu/"; + homepage = "https://github.com/pdewacht/oberon-risc-emu/"; description = "Emulator for the Oberon RISC machine"; - license = licenses.isc; + license = licenses.isc; maintainers = with maintainers; [ siraben ]; mainProgram = "risc"; }; diff --git a/pkgs/by-name/ob/obex_data_server/package.nix b/pkgs/by-name/ob/obex_data_server/package.nix index fee4a25226904..d38525342c417 100644 --- a/pkgs/by-name/ob/obex_data_server/package.nix +++ b/pkgs/by-name/ob/obex_data_server/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, pkg-config, libusb-compat-0_1, glib, dbus-glib, bluez, openobex, dbus }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libusb-compat-0_1, + glib, + dbus-glib, + bluez, + openobex, + dbus, +}: stdenv.mkDerivation rec { pname = "obex-data-server"; @@ -14,13 +25,20 @@ stdenv.mkDerivation rec { pkg-config dbus-glib # required for dbus-binding-tool ]; - buildInputs = [ libusb-compat-0_1 glib dbus-glib bluez openobex dbus ]; + buildInputs = [ + libusb-compat-0_1 + glib + dbus-glib + bluez + openobex + dbus + ]; patches = [ ./obex-data-server-0.4.6-build-fixes-1.patch ]; preConfigure = '' - addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig - export PKG_CONFIG_PATH="${dbus.dev}/lib/pkgconfig:$PKG_CONFIG_PATH" + addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig + export PKG_CONFIG_PATH="${dbus.dev}/lib/pkgconfig:$PKG_CONFIG_PATH" ''; meta = with lib; { diff --git a/pkgs/by-name/ob/obexd/package.nix b/pkgs/by-name/ob/obexd/package.nix index c18aa3a1c263b..fe06453a0f7de 100644 --- a/pkgs/by-name/ob/obexd/package.nix +++ b/pkgs/by-name/ob/obexd/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, dbus, openobex, bluez, libical }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + dbus, + openobex, + bluez, + libical, +}: stdenv.mkDerivation rec { pname = "obexd"; @@ -9,7 +19,13 @@ stdenv.mkDerivation rec { sha256 = "1i20dnibvnq9lnkkhajr5xx3kxlwf9q5c4jm19kyb0q1klzgzlb8"; }; - buildInputs = [ glib dbus openobex bluez libical ]; + buildInputs = [ + glib + dbus + openobex + bluez + libical + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ob/obexfs/package.nix b/pkgs/by-name/ob/obexfs/package.nix index 0f37a0363212c..2d3364cc2a832 100644 --- a/pkgs/by-name/ob/obexfs/package.nix +++ b/pkgs/by-name/ob/obexfs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, bluez, fuse, obexftp }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + bluez, + fuse, + obexftp, +}: stdenv.mkDerivation rec { pname = "obexfs"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse obexftp bluez ]; + buildInputs = [ + fuse + obexftp + bluez + ]; meta = with lib; { homepage = "http://dev.zuckschwerdt.org/openobex/wiki/ObexFs"; diff --git a/pkgs/by-name/ob/obexftp/package.nix b/pkgs/by-name/ob/obexftp/package.nix index 5819508f2577e..9b1a0186cfc59 100644 --- a/pkgs/by-name/ob/obexftp/package.nix +++ b/pkgs/by-name/ob/obexftp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, openobex, bluez, cmake }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + openobex, + bluez, + cmake, +}: stdenv.mkDerivation rec { pname = "obexftp"; @@ -9,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "18w9r78z78ri5qc8fjym4nk1jfbrkyr789sq7rxrkshf1a7b83yl"; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ bluez ]; diff --git a/pkgs/by-name/ob/obfs4/package.nix b/pkgs/by-name/ob/obfs4/package.nix index a0b69e54c6d06..744c2cac6965b 100644 --- a/pkgs/by-name/ob/obfs4/package.nix +++ b/pkgs/by-name/ob/obfs4/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitLab, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitLab, + installShellFiles, +}: buildGoModule rec { pname = "obfs4"; @@ -17,7 +22,10 @@ buildGoModule rec { vendorHash = "sha256-iR3+ZMEF0SB3EoLTf2gtqTe3CQcjtDRhfwwbwGj3pXo="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; subPackages = [ "cmd/lyrebird" ]; @@ -45,6 +53,10 @@ buildGoModule rec { maintainers = with maintainers; [ thoughtpolice ]; mainProgram = "lyrebird"; changelog = "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/-/raw/${src.rev}/ChangeLog"; - license = with lib.licenses; [ bsd2 bsd3 gpl3 ]; + license = with lib.licenses; [ + bsd2 + bsd3 + gpl3 + ]; }; } diff --git a/pkgs/by-name/ob/obj-magic/package.nix b/pkgs/by-name/ob/obj-magic/package.nix index 4f120323d0a32..f298f45f8ef03 100644 --- a/pkgs/by-name/ob/obj-magic/package.nix +++ b/pkgs/by-name/ob/obj-magic/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation { @@ -35,4 +36,3 @@ stdenv.mkDerivation { mainProgram = "obj-magic"; }; } - diff --git a/pkgs/by-name/ob/obs-cli/package.nix b/pkgs/by-name/ob/obs-cli/package.nix index 03a984f82b462..60b5fe1df44ae 100644 --- a/pkgs/by-name/ob/obs-cli/package.nix +++ b/pkgs/by-name/ob/obs-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, }: buildGoModule rec { diff --git a/pkgs/by-name/ob/obs-cmd/package.nix b/pkgs/by-name/ob/obs-cmd/package.nix index 86a01d3ce2332..4d0b125e3b984 100644 --- a/pkgs/by-name/ob/obs-cmd/package.nix +++ b/pkgs/by-name/ob/obs-cmd/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ob/obs-do/package.nix b/pkgs/by-name/ob/obs-do/package.nix index 29acd2838e8b5..b274a05aebcac 100644 --- a/pkgs/by-name/ob/obs-do/package.nix +++ b/pkgs/by-name/ob/obs-do/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "CLI for common OBS operations while streaming using WebSocket"; homepage = "https://github.com/jonhoo/obs-do"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ GaetanLepage ]; mainProgram = "obs-do"; }; diff --git a/pkgs/by-name/ob/obsidian/package.nix b/pkgs/by-name/ob/obsidian/package.nix index 07f1fa66767a3..3b3d668523b63 100644 --- a/pkgs/by-name/ob/obsidian/package.nix +++ b/pkgs/by-name/ob/obsidian/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, fetchurl -, lib -, makeWrapper -, electron -, makeDesktopItem -, imagemagick -, writeScript -, undmg -, unzip -, commandLineArgs ? "" +{ + stdenv, + fetchurl, + lib, + makeWrapper, + electron, + makeDesktopItem, + imagemagick, + writeScript, + undmg, + unzip, + commandLineArgs ? "", }: let pname = "obsidian"; @@ -20,13 +21,25 @@ let downloadPage = "https://github.com/obsidianmd/obsidian-releases/releases"; mainProgram = "obsidian"; license = licenses.obsidian; - maintainers = with maintainers; [ atila conradmearns zaninime qbit kashw2 w-lfchen ]; + maintainers = with maintainers; [ + atila + conradmearns + zaninime + qbit + kashw2 + w-lfchen + ]; }; - filename = if stdenv.hostPlatform.isDarwin then "Obsidian-${version}.dmg" else "obsidian-${version}.tar.gz"; + filename = + if stdenv.hostPlatform.isDarwin then "Obsidian-${version}.dmg" else "obsidian-${version}.tar.gz"; src = fetchurl { url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}"; - hash = if stdenv.hostPlatform.isDarwin then "sha256-vzYMTH1yaKxw1AwJOXVdzvKyQTkCMmx7NPPP/99xgMQ=" else "sha256-6IHqBvZx2yxQAvADi3Ok5Le3ip2/c6qafQ3FSpPT0po="; + hash = + if stdenv.hostPlatform.isDarwin then + "sha256-vzYMTH1yaKxw1AwJOXVdzvKyQTkCMmx7NPPP/99xgMQ=" + else + "sha256-6IHqBvZx2yxQAvADi3Ok5Le3ip2/c6qafQ3FSpPT0po="; }; icon = fetchurl { @@ -45,9 +58,23 @@ let }; linux = stdenv.mkDerivation { - inherit pname version src desktopItem icon; - meta = meta // { platforms = [ "x86_64-linux" "aarch64-linux" ]; }; - nativeBuildInputs = [ makeWrapper imagemagick ]; + inherit + pname + version + src + desktopItem + icon + ; + meta = meta // { + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + }; + nativeBuildInputs = [ + makeWrapper + imagemagick + ]; installPhase = '' runHook preInstall mkdir -p $out/bin @@ -76,10 +103,24 @@ let }; darwin = stdenv.mkDerivation { - inherit pname version src appname; - meta = meta // { platforms = [ "x86_64-darwin" "aarch64-darwin" ]; }; + inherit + pname + version + src + appname + ; + meta = meta // { + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; + }; sourceRoot = "${appname}.app"; - nativeBuildInputs = [ makeWrapper undmg unzip ]; + nativeBuildInputs = [ + makeWrapper + undmg + unzip + ]; installPhase = '' runHook preInstall mkdir -p $out/{Applications/${appname}.app,bin} diff --git a/pkgs/by-name/ob/obuild/package.nix b/pkgs/by-name/ob/obuild/package.nix index 4575226afdec7..48dda80fb8abe 100644 --- a/pkgs/by-name/ob/obuild/package.nix +++ b/pkgs/by-name/ob/obuild/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ocamlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + ocamlPackages, +}: stdenv.mkDerivation rec { pname = "obuild"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ ocaml findlib ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + findlib + ]; buildPhase = '' patchShebangs ./bootstrap diff --git a/pkgs/by-name/oc/ocaml-top/package.nix b/pkgs/by-name/oc/ocaml-top/package.nix index 538731a15dc8f..dd9bed5dd17ba 100644 --- a/pkgs/by-name/oc/ocaml-top/package.nix +++ b/pkgs/by-name/oc/ocaml-top/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: let inherit (ocamlPackages) buildDunePackage lablgtk3-sourceview3 ocp-index; @@ -15,7 +19,10 @@ buildDunePackage rec { hash = "sha256-xmPGGB/zUpfeAxUIhR1PhfoESAJq7sTpqHuf++EH3Lw="; }; - buildInputs = [ lablgtk3-sourceview3 ocp-index ]; + buildInputs = [ + lablgtk3-sourceview3 + ocp-index + ]; meta = { homepage = "https://www.typerex.org/ocaml-top.html"; diff --git a/pkgs/by-name/oc/ocaml_make/package.nix b/pkgs/by-name/oc/ocaml_make/package.nix index a2071a9dfaad9..0d41e59be0fea 100644 --- a/pkgs/by-name/oc/ocaml_make/package.nix +++ b/pkgs/by-name/oc/ocaml_make/package.nix @@ -1,11 +1,16 @@ -{stdenv, lib, fetchurl}: +{ + stdenv, + lib, + fetchurl, +}: let version = "6.37.0"; sha256 = "99ff58080ed154cc4bd70f915fe4760dffb026a1c0447caa0b3bdb982b24b0a8"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "ocaml-make"; inherit version; diff --git a/pkgs/by-name/oc/ocenaudio/package.nix b/pkgs/by-name/oc/ocenaudio/package.nix index a78ce59e49301..a6f62dd127ed8 100644 --- a/pkgs/by-name/oc/ocenaudio/package.nix +++ b/pkgs/by-name/oc/ocenaudio/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, dpkg -, qt5 -, libjack2 -, alsa-lib -, bzip2 -, libpulseaudio -, xz +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + dpkg, + qt5, + libjack2, + alsa-lib, + bzip2, + libpulseaudio, + xz, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/oc/ocf-resource-agents/package.nix b/pkgs/by-name/oc/ocf-resource-agents/package.nix index 6c0157bb6cbb1..b16cfd631d140 100644 --- a/pkgs/by-name/oc/ocf-resource-agents/package.nix +++ b/pkgs/by-name/oc/ocf-resource-agents/package.nix @@ -1,17 +1,18 @@ # This combines together OCF definitions from other derivations. # https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc -{ stdenv -, lib -, runCommand -, lndir -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, python3 -, glib -, drbd -, pacemaker +{ + stdenv, + lib, + runCommand, + lndir, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + python3, + glib, + drbd, + pacemaker, }: let @@ -53,17 +54,22 @@ let python3 ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but breaks on darwin (with clang) or older gcc - "-Wno-error=maybe-uninitialized" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=maybe-uninitialized" + ] + ); meta = with lib; { homepage = "https://github.com/ClusterLabs/resource-agents"; description = "Combined repository of OCF agents from the RHCS and Linux-HA projects"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ ryantm astro ]; + maintainers = with maintainers; [ + ryantm + astro + ]; }; }; @@ -71,19 +77,21 @@ in # This combines together OCF definitions from other derivations. # https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc -runCommand "ocf-resource-agents" { - # Fix derivation location so things like - # $ nix edit -f. ocf-resource-agents - # just work. - pos = builtins.unsafeGetAttrPos "version" resource-agentsForOCF; +runCommand "ocf-resource-agents" + { + # Fix derivation location so things like + # $ nix edit -f. ocf-resource-agents + # just work. + pos = builtins.unsafeGetAttrPos "version" resource-agentsForOCF; - # Useful to build and undate inputs individually: - passthru.inputs = { - inherit resource-agentsForOCF drbdForOCF pacemakerForOCF; - }; -} '' - mkdir -p $out/usr/lib/ocf - ${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $out/usr/lib/ocf - ${lndir}/bin/lndir -silent "${drbdForOCF}/usr/lib/ocf/" $out/usr/lib/ocf - ${lndir}/bin/lndir -silent "${pacemakerForOCF}/usr/lib/ocf/" $out/usr/lib/ocf -'' + # Useful to build and undate inputs individually: + passthru.inputs = { + inherit resource-agentsForOCF drbdForOCF pacemakerForOCF; + }; + } + '' + mkdir -p $out/usr/lib/ocf + ${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $out/usr/lib/ocf + ${lndir}/bin/lndir -silent "${drbdForOCF}/usr/lib/ocf/" $out/usr/lib/ocf + ${lndir}/bin/lndir -silent "${pacemakerForOCF}/usr/lib/ocf/" $out/usr/lib/ocf + '' diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index b51d4d50b4a8e..fca8f519d0be0 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, fetchPypi -, python3 -, installShellFiles +{ + lib, + fetchFromGitHub, + fetchPypi, + python3, + installShellFiles, }: let @@ -105,7 +106,10 @@ buildPythonApplication rec { meta = with lib; { description = "Command Line Interface for Oracle Cloud Infrastructure"; homepage = "https://docs.cloud.oracle.com/iaas/Content/API/Concepts/cliconcepts.htm"; - license = with licenses; [ asl20 /* or */ upl ]; + license = with licenses; [ + asl20 # or + upl + ]; maintainers = with maintainers; [ ilian ]; }; } diff --git a/pkgs/by-name/oc/oci-seccomp-bpf-hook/package.nix b/pkgs/by-name/oc/oci-seccomp-bpf-hook/package.nix index 4f499197fbfde..3e572473abdee 100644 --- a/pkgs/by-name/oc/oci-seccomp-bpf-hook/package.nix +++ b/pkgs/by-name/oc/oci-seccomp-bpf-hook/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, go-md2man -, installShellFiles -, pkg-config -, bcc -, libseccomp +{ + lib, + buildGoModule, + fetchFromGitHub, + go-md2man, + installShellFiles, + pkg-config, + bcc, + libseccomp, }: buildGoModule rec { @@ -19,7 +20,10 @@ buildGoModule rec { }; vendorHash = null; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ go-md2man installShellFiles diff --git a/pkgs/by-name/oc/ocl-icd/package.nix b/pkgs/by-name/oc/ocl-icd/package.nix index 2c092dd57b13e..ba360ae32f757 100644 --- a/pkgs/by-name/oc/ocl-icd/package.nix +++ b/pkgs/by-name/oc/ocl-icd/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, ruby -, opencl-headers -, autoreconfHook -, windows +{ + lib, + stdenv, + fetchFromGitHub, + ruby, + opencl-headers, + autoreconfHook, + windows, }: stdenv.mkDerivation rec { @@ -23,8 +24,7 @@ stdenv.mkDerivation rec { ruby ]; - buildInputs = [ opencl-headers ] - ++ lib.optionals stdenv.hostPlatform.isWindows [ windows.dlfcn ]; + buildInputs = [ opencl-headers ] ++ lib.optionals stdenv.hostPlatform.isWindows [ windows.dlfcn ]; configureFlags = [ "--enable-custom-vendordir=/run/opengl-driver/etc/OpenCL/vendors" @@ -36,8 +36,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "OpenCL ICD Loader for ${opencl-headers.name}"; mainProgram = "cllayerinfo"; - homepage = "https://github.com/OCL-dev/ocl-icd"; - license = licenses.bsd2; + homepage = "https://github.com/OCL-dev/ocl-icd"; + license = licenses.bsd2; platforms = platforms.unix ++ platforms.windows; maintainers = with maintainers; [ r-burns ]; }; diff --git a/pkgs/by-name/oc/oclgrind/package.nix b/pkgs/by-name/oc/oclgrind/package.nix index a95c227fae768..6a16389664a1d 100644 --- a/pkgs/by-name/oc/oclgrind/package.nix +++ b/pkgs/by-name/oc/oclgrind/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages_12, readline, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + llvmPackages_12, + readline, + python3, +}: stdenv.mkDerivation rec { pname = "oclgrind"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; nativeCheckInputs = [ python3 ]; - buildInputs = [ llvmPackages_12.llvm llvmPackages_12.clang-unwrapped readline ]; + buildInputs = [ + llvmPackages_12.llvm + llvmPackages_12.clang-unwrapped + readline + ]; cmakeFlags = [ "-DCLANG_ROOT=${llvmPackages_12.clang-unwrapped}" diff --git a/pkgs/by-name/oc/ocm/package.nix b/pkgs/by-name/oc/ocm/package.nix index 1f4aedc372eaa..d228be418b99b 100644 --- a/pkgs/by-name/oc/ocm/package.nix +++ b/pkgs/by-name/oc/ocm/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, ocm }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + ocm, +}: buildGoModule rec { pname = "ocm"; @@ -14,7 +21,10 @@ buildGoModule rec { vendorHash = "sha256-uj4xmNZViag+j4YavFjDvc/ClMBb99DhwlcKzvGWQ7c="; # Strip the final binary. - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ installShellFiles ]; @@ -28,7 +38,6 @@ buildGoModule rec { "-skip=^TestCLI$" ]; - postInstall = '' installShellCompletion --cmd ocm \ --bash <($out/bin/ocm completion bash) \ @@ -46,6 +55,9 @@ buildGoModule rec { mainProgram = "ocm"; license = licenses.asl20; homepage = "https://github.com/openshift-online/ocm-cli"; - maintainers = with maintainers; [ stehessel jfchevrette ]; + maintainers = with maintainers; [ + stehessel + jfchevrette + ]; }; } diff --git a/pkgs/by-name/oc/ocproxy/package.nix b/pkgs/by-name/oc/ocproxy/package.nix index bc21884e6ac8d..55f69c7026967 100644 --- a/pkgs/by-name/oc/ocproxy/package.nix +++ b/pkgs/by-name/oc/ocproxy/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libevent }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libevent, +}: stdenv.mkDerivation rec { version = "1.60"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "03323nnhb4y9nzwva04mq7xg03dvdrgp689g89f69jqc261skcqx"; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ libevent ]; preConfigure = '' diff --git a/pkgs/by-name/oc/ocr-a/package.nix b/pkgs/by-name/oc/ocr-a/package.nix index 216b960994d7a..ea47d6282d692 100644 --- a/pkgs/by-name/oc/ocr-a/package.nix +++ b/pkgs/by-name/oc/ocr-a/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "OCR-A"; diff --git a/pkgs/by-name/oc/ocrad/package.nix b/pkgs/by-name/oc/ocrad/package.nix index c1efa72ad1204..8ffd4ecf8a16a 100644 --- a/pkgs/by-name/oc/ocrad/package.nix +++ b/pkgs/by-name/oc/ocrad/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, lzip, texinfo }: +{ + fetchurl, + lib, + stdenv, + lzip, + texinfo, +}: stdenv.mkDerivation rec { pname = "ocrad"; @@ -9,7 +15,9 @@ stdenv.mkDerivation rec { sha256 = "0divffvcaim89g4pvqs8kslbcxi475bcl3b4ynphf284k9zfdgx9"; }; - nativeBuildInputs = [ lzip /* unpack */ ]; + nativeBuildInputs = [ + lzip # unpack + ]; buildInputs = [ texinfo ]; doCheck = true; diff --git a/pkgs/by-name/oc/ocserv/package.nix b/pkgs/by-name/oc/ocserv/package.nix index fd223c12c94ff..f6dbd0116827f 100644 --- a/pkgs/by-name/oc/ocserv/package.nix +++ b/pkgs/by-name/oc/ocserv/package.nix @@ -1,6 +1,23 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, nettle, gnutls -, libev, protobufc, guile, geoip, libseccomp, gperf, readline -, lz4, libgssglue, ronn, pam, libxcrypt +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + nettle, + gnutls, + libev, + protobufc, + guile, + geoip, + libseccomp, + gperf, + readline, + lz4, + libgssglue, + ronn, + pam, + libxcrypt, }: stdenv.mkDerivation rec { @@ -14,8 +31,26 @@ stdenv.mkDerivation rec { hash = "sha256-IYiYC9oAw35YjpptUEnhuZQqoDevku25r7qi6SG8xtk="; }; - nativeBuildInputs = [ autoreconfHook gperf pkg-config ronn ]; - buildInputs = [ nettle gnutls libev protobufc guile geoip libseccomp readline lz4 libgssglue pam libxcrypt ]; + nativeBuildInputs = [ + autoreconfHook + gperf + pkg-config + ronn + ]; + buildInputs = [ + nettle + gnutls + libev + protobufc + guile + geoip + libseccomp + readline + lz4 + libgssglue + pam + libxcrypt + ]; meta = with lib; { homepage = "https://gitlab.com/openconnect/ocserv"; diff --git a/pkgs/by-name/oc/ocsigen-i18n/package.nix b/pkgs/by-name/oc/ocsigen-i18n/package.nix index bad8dc09a1c1c..9ef1f8b35d544 100644 --- a/pkgs/by-name/oc/ocsigen-i18n/package.nix +++ b/pkgs/by-name/oc/ocsigen-i18n/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ + lib, + fetchFromGitHub, + ocamlPackages, +}: ocamlPackages.buildDunePackage rec { pname = "ocsigen-i18n"; diff --git a/pkgs/by-name/oc/ocsinventory-agent/package.nix b/pkgs/by-name/oc/ocsinventory-agent/package.nix index fc6083282a580..cdb7d2d6f5404 100644 --- a/pkgs/by-name/oc/ocsinventory-agent/package.nix +++ b/pkgs/by-name/oc/ocsinventory-agent/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, perlPackages -, fetchFromGitHub -, fetchpatch -, makeWrapper -, shortenPerlShebang -, coreutils -, dmidecode -, findutils -, inetutils -, ipmitool -, iproute2 -, lvm2 -, nmap -, pciutils -, usbutils -, util-linux -, nixosTests -, testers -, ocsinventory-agent -, nix-update-script +{ + lib, + stdenv, + perlPackages, + fetchFromGitHub, + fetchpatch, + makeWrapper, + shortenPerlShebang, + coreutils, + dmidecode, + findutils, + inetutils, + ipmitool, + iproute2, + lvm2, + nmap, + pciutils, + usbutils, + util-linux, + nixosTests, + testers, + ocsinventory-agent, + nix-update-script, }: perlPackages.buildPerlPackage rec { @@ -44,47 +45,62 @@ perlPackages.buildPerlPackage rec { nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; - buildInputs = with perlPackages; [ - perl - DataUUID - GetoptLong - IOCompress - IOSocketSSL - LWP - LWPProtocolHttps - NetIP - NetNetmask - NetSNMP - ParseEDID - ProcDaemon - ProcPIDFile - XMLSimple - ] ++ lib.optionals stdenv.hostPlatform.isLinux (with perlPackages; [ - NetCUPS # cups-filters is broken on darwin - ]) ++ lib.optionals stdenv.hostPlatform.isDarwin (with perlPackages; [ - MacSysProfile - ]); + buildInputs = + with perlPackages; + [ + perl + DataUUID + GetoptLong + IOCompress + IOSocketSSL + LWP + LWPProtocolHttps + NetIP + NetNetmask + NetSNMP + ParseEDID + ProcDaemon + ProcPIDFile + XMLSimple + ] + ++ lib.optionals stdenv.hostPlatform.isLinux ( + with perlPackages; + [ + NetCUPS # cups-filters is broken on darwin + ] + ) + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with perlPackages; + [ + MacSysProfile + ] + ); - postInstall = let - runtimeDependencies = [ - coreutils # uname, cut, df, stat, uptime - findutils # find - inetutils # ifconfig - ipmitool # ipmitool - nmap # nmap - pciutils # lspci - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - dmidecode # dmidecode - iproute2 # ip - lvm2 # pvs - usbutils # lsusb - util-linux # last, lsblk, mount - ]; - in lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang $out/bin/ocsinventory-agent - '' + '' - wrapProgram $out/bin/ocsinventory-agent --prefix PATH : ${lib.makeBinPath runtimeDependencies} - ''; + postInstall = + let + runtimeDependencies = + [ + coreutils # uname, cut, df, stat, uptime + findutils # find + inetutils # ifconfig + ipmitool # ipmitool + nmap # nmap + pciutils # lspci + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + dmidecode # dmidecode + iproute2 # ip + lvm2 # pvs + usbutils # lsusb + util-linux # last, lsblk, mount + ]; + in + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang $out/bin/ocsinventory-agent + '' + + '' + wrapProgram $out/bin/ocsinventory-agent --prefix PATH : ${lib.makeBinPath runtimeDependencies} + ''; passthru = { tests = { @@ -109,7 +125,10 @@ perlPackages.buildPerlPackage rec { downloadPage = "https://github.com/OCSInventory-NG/UnixAgent/releases"; license = licenses.gpl2Only; mainProgram = "ocsinventory-agent"; - maintainers = with maintainers; [ totoroot anthonyroussel ]; + maintainers = with maintainers; [ + totoroot + anthonyroussel + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/oc/octomap/package.nix b/pkgs/by-name/oc/octomap/package.nix index af668d279e27a..cf4e530e425e5 100644 --- a/pkgs/by-name/oc/octomap/package.nix +++ b/pkgs/by-name/oc/octomap/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "octomap"; diff --git a/pkgs/by-name/oc/octopus-caller/package.nix b/pkgs/by-name/oc/octopus-caller/package.nix index c594108c6f47a..87fae180408f2 100644 --- a/pkgs/by-name/oc/octopus-caller/package.nix +++ b/pkgs/by-name/oc/octopus-caller/package.nix @@ -1,4 +1,16 @@ -{lib, stdenv, fetchurl, fetchFromGitHub, cmake, boost179, gmp, htslib, zlib, xz, pkg-config}: +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + cmake, + boost179, + gmp, + htslib, + zlib, + xz, + pkg-config, +}: stdenv.mkDerivation rec { pname = "octopus"; @@ -11,13 +23,24 @@ stdenv.mkDerivation rec { sha256 = "sha256-FAogksVxUlzMlC0BqRu22Vchj6VX+8yNlHRLyb3g1sE="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ boost179 gmp htslib zlib xz ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + boost179 + gmp + htslib + zlib + xz + ]; - patches = [ (fetchurl { - url = "https://github.com/luntergroup/octopus/commit/17a597d192bcd5192689bf38c5836a98b824867a.patch"; - sha256 = "sha256-VaUr63v7mzhh4VBghH7a7qrqOYwl6vucmmKzTi9yAjY="; - }) ]; + patches = [ + (fetchurl { + url = "https://github.com/luntergroup/octopus/commit/17a597d192bcd5192689bf38c5836a98b824867a.patch"; + sha256 = "sha256-VaUr63v7mzhh4VBghH7a7qrqOYwl6vucmmKzTi9yAjY="; + }) + ]; postPatch = '' # Disable -Werror to avoid build failure on fresh toolchains like diff --git a/pkgs/by-name/oc/octopus/package.nix b/pkgs/by-name/oc/octopus/package.nix index a9b881b2cdc01..fbb2c30694e38 100644 --- a/pkgs/by-name/oc/octopus/package.nix +++ b/pkgs/by-name/oc/octopus/package.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, pkg-config -, ninja -, gfortran -, which -, perl -, procps -, libvdwxc -, libyaml -, libxc -, fftw -, blas -, lapack -, gsl -, netcdf -, arpack -, spglib -, metis -, scalapack -, mpi -, enableMpi ? true -, python3 +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + pkg-config, + ninja, + gfortran, + which, + perl, + procps, + libvdwxc, + libyaml, + libxc, + fftw, + blas, + lapack, + gsl, + netcdf, + arpack, + spglib, + metis, + scalapack, + mpi, + enableMpi ? true, + python3, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -93,7 +94,12 @@ stdenv.mkDerivation rec { description = "Real-space time dependent density-functional theory code"; homepage = "https://octopus-code.org"; maintainers = with maintainers; [ markuskowa ]; - license = with licenses; [ gpl2Only asl20 lgpl3Plus bsd3 ]; + license = with licenses; [ + gpl2Only + asl20 + lgpl3Plus + bsd3 + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/oc/octosql/package.nix b/pkgs/by-name/oc/octosql/package.nix index e81ca18179c7c..51be01c38baff 100644 --- a/pkgs/by-name/oc/octosql/package.nix +++ b/pkgs/by-name/oc/octosql/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -8,15 +9,19 @@ buildGoModule rec { version = "0.13.0"; src = fetchFromGitHub { - owner = "cube2222"; - repo = pname; - rev = "v${version}"; + owner = "cube2222"; + repo = pname; + rev = "v${version}"; hash = "sha256-kzbIts5d2KmFfaAnOdpIXI1fiqBYXe5t981g4Uyk/cc="; }; vendorHash = "sha256-p/2UsvxxywQKtk/9wDa5fjS0z6xLLzDONuQ5AtnUonk="; - ldflags = [ "-s" "-w" "-X github.com/cube2222/octosql/cmd.VERSION=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/cube2222/octosql/cmd.VERSION=${version}" + ]; postInstall = '' rm -v $out/bin/tester diff --git a/pkgs/by-name/oc/octosuite/package.nix b/pkgs/by-name/oc/octosuite/package.nix index 46a4d44027f42..95d7b46be826b 100644 --- a/pkgs/by-name/oc/octosuite/package.nix +++ b/pkgs/by-name/oc/octosuite/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/od/odamex/package.nix b/pkgs/by-name/od/odamex/package.nix index b813fc0e1c410..02092d42991a5 100644 --- a/pkgs/by-name/od/odamex/package.nix +++ b/pkgs/by-name/od/odamex/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, makeWrapper -, SDL -, SDL_mixer -, SDL_net -, wxGTK32 +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + makeWrapper, + SDL, + SDL_mixer, + SDL_net, + wxGTK32, }: stdenv.mkDerivation rec { @@ -32,17 +33,25 @@ stdenv.mkDerivation rec { wxGTK32 ]; - installPhase = '' - runHook preInstall - '' + (if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/{Applications,bin} - mv odalaunch/odalaunch.app $out/Applications - makeWrapper $out/{Applications/odalaunch.app/Contents/MacOS,bin}/odalaunch - '' else '' - make install - '') + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/{Applications,bin} + mv odalaunch/odalaunch.app $out/Applications + makeWrapper $out/{Applications/odalaunch.app/Contents/MacOS,bin}/odalaunch + '' + else + '' + make install + '' + ) + + '' + runHook postInstall + ''; meta = { homepage = "http://odamex.net/"; diff --git a/pkgs/by-name/od/ode/package.nix b/pkgs/by-name/od/ode/package.nix index 2906c34283428..75d3441b86702 100644 --- a/pkgs/by-name/od/ode/package.nix +++ b/pkgs/by-name/od/ode/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, darwin +{ + lib, + stdenv, + fetchurl, + darwin, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,12 @@ stdenv.mkDerivation (finalAttrs: { description = "Open Dynamics Engine"; mainProgram = "ode-config"; homepage = "https://www.ode.org"; - license = with licenses; [ bsd3 lgpl21Only lgpl3Only zlib ]; + license = with licenses; [ + bsd3 + lgpl21Only + lgpl3Only + zlib + ]; maintainers = with maintainers; [ wegank ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/od/odin2/package.nix b/pkgs/by-name/od/odin2/package.nix index ae3a464f43b21..40beb4b2a582c 100644 --- a/pkgs/by-name/od/odin2/package.nix +++ b/pkgs/by-name/od/odin2/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, alsa-lib -, freetype -, libjack2 -, lv2 -, libX11 -, libXcursor -, libXext -, libXinerama -, libXrandr -, libGL -, gcc-unwrapped +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + freetype, + libjack2, + lv2, + libX11, + libXcursor, + libXext, + libXinerama, + libXrandr, + libGL, + gcc-unwrapped, }: stdenv.mkDerivation rec { @@ -52,13 +53,15 @@ stdenv.mkDerivation rec { ]; # JUCE dlopen's these at runtime, crashes without them - NIX_LDFLAGS = (toString [ - "-lX11" - "-lXext" - "-lXcursor" - "-lXinerama" - "-lXrandr" - ]); + NIX_LDFLAGS = ( + toString [ + "-lX11" + "-lXext" + "-lXcursor" + "-lXinerama" + "-lXrandr" + ] + ); cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" @@ -73,8 +76,7 @@ stdenv.mkDerivation rec { cp -r VST3/Odin2.vst3 $out/lib/vst3 cp -r LV2/Odin2.lv2 $out/lib/lv2 cp -r CLAP/Odin2.clap $out/lib/clap -''; - + ''; meta = with lib; { description = "Odin 2 Synthesizer Plugin"; diff --git a/pkgs/by-name/od/odo/package.nix b/pkgs/by-name/od/odo/package.nix index f907f68914303..2ebfc08a76699 100644 --- a/pkgs/by-name/od/odo/package.nix +++ b/pkgs/by-name/od/odo/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, odo }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + odo, +}: buildGoModule rec { pname = "odo"; diff --git a/pkgs/by-name/od/odoo/package.nix b/pkgs/by-name/od/odoo/package.nix index 8c7477c074ea5..46ccb1773b44d 100644 --- a/pkgs/by-name/od/odoo/package.nix +++ b/pkgs/by-name/od/odoo/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchgit -, fetchzip -, python312 -, rtlcss -, wkhtmltopdf -, nixosTests +{ + lib, + fetchgit, + fetchzip, + python312, + rtlcss, + wkhtmltopdf, + nixosTests, }: let @@ -13,7 +14,8 @@ let python = python312.override { self = python; }; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "odoo"; version = "${odoo_version}.${odoo_release}"; @@ -27,7 +29,13 @@ in python.pkgs.buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf rtlcss ]}" + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ + wkhtmltopdf + rtlcss + ]}" ]; propagatedBuildInputs = with python.pkgs; [ @@ -94,6 +102,9 @@ in python.pkgs.buildPythonApplication rec { description = "Open Source ERP and CRM"; homepage = "https://www.odoo.com/"; license = licenses.lgpl3Only; - maintainers = with maintainers; [ mkg20001 siriobalmelli ]; + maintainers = with maintainers; [ + mkg20001 + siriobalmelli + ]; }; } diff --git a/pkgs/by-name/od/odoo15/package.nix b/pkgs/by-name/od/odoo15/package.nix index be0f9a690660f..c149bf1ee2bb8 100644 --- a/pkgs/by-name/od/odoo15/package.nix +++ b/pkgs/by-name/od/odoo15/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, fetchzip -, python310 -, rtlcss -, wkhtmltopdf -, nixosTests +{ + lib, + fetchFromGitHub, + fetchzip, + python310, + rtlcss, + wkhtmltopdf, + nixosTests, }: let @@ -26,11 +27,15 @@ let dependencies = [ self.setuptools ]; - nativeCheckInputs = with self; [ pytestCheckHook pillow ]; + nativeCheckInputs = with self; [ + pytestCheckHook + pillow + ]; }); }; }; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "odoo"; version = "${odoo_version}.${odoo_release}"; @@ -47,7 +52,10 @@ in python.pkgs.buildPythonApplication rec { "--prefix" "PATH" ":" - "${lib.makeBinPath [ wkhtmltopdf rtlcss ]}" + "${lib.makeBinPath [ + wkhtmltopdf + rtlcss + ]}" ]; propagatedBuildInputs = with python.pkgs; [ diff --git a/pkgs/by-name/od/odoo16/package.nix b/pkgs/by-name/od/odoo16/package.nix index b2acd426cf605..73791dbcfcf1a 100644 --- a/pkgs/by-name/od/odoo16/package.nix +++ b/pkgs/by-name/od/odoo16/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchzip -, python310 -, rtlcss -, wkhtmltopdf -, nixosTests +{ + lib, + fetchzip, + python310, + rtlcss, + wkhtmltopdf, + nixosTests, }: let @@ -12,7 +13,8 @@ let python = python310.override { self = python; }; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "odoo"; version = "${odoo_version}.${odoo_release}"; @@ -26,7 +28,13 @@ in python.pkgs.buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf rtlcss ]}" + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ + wkhtmltopdf + rtlcss + ]}" ]; propagatedBuildInputs = with python.pkgs; [ diff --git a/pkgs/by-name/od/odp-dpdk/package.nix b/pkgs/by-name/od/odp-dpdk/package.nix index d48a87216d469..163d1959c47c2 100644 --- a/pkgs/by-name/od/odp-dpdk/package.nix +++ b/pkgs/by-name/od/odp-dpdk/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, dpdk -, libbpf -, libconfig -, libpcap -, numactl -, openssl -, zlib -, zstd -, libbsd -, elfutils -, jansson -, libnl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + dpdk, + libbpf, + libconfig, + libpcap, + numactl, + openssl, + zlib, + zstd, + libbsd, + elfutils, + jansson, + libnl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/od/odpic/package.nix b/pkgs/by-name/od/odpic/package.nix index a1737adc69fa6..69509c2babdcc 100644 --- a/pkgs/by-name/od/odpic/package.nix +++ b/pkgs/by-name/od/odpic/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fixDarwinDylibNames, oracle-instantclient, libaio }: +{ + lib, + stdenv, + fetchFromGitHub, + fixDarwinDylibNames, + oracle-instantclient, + libaio, +}: let version = "5.4.0"; @@ -19,11 +26,14 @@ stdenv.mkDerivation { nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ oracle-instantclient ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libaio ]; + buildInputs = [ oracle-instantclient ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libaio ]; dontPatchELF = true; - makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "PREFIX=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + "LD=${stdenv.cc.targetPrefix}cc" + ]; postFixup = '' ${lib.optionalString (stdenv.hostPlatform.isLinux) '' @@ -39,7 +49,11 @@ stdenv.mkDerivation { homepage = "https://oracle.github.io/odpi/"; maintainers = with maintainers; [ mkazulak ]; license = licenses.asl20; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/od/odroid-xu3-bootloader/package.nix b/pkgs/by-name/od/odroid-xu3-bootloader/package.nix index 2dbffe3384cec..33bcc22fd52db 100644 --- a/pkgs/by-name/od/odroid-xu3-bootloader/package.nix +++ b/pkgs/by-name/od/odroid-xu3-bootloader/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, coreutils, ubootOdroidXU3, runtimeShell }: +{ + stdenv, + lib, + fetchFromGitHub, + coreutils, + ubootOdroidXU3, + runtimeShell, +}: stdenv.mkDerivation { pname = "odroid-xu3-bootloader"; diff --git a/pkgs/by-name/od/odt2txt/package.nix b/pkgs/by-name/od/odt2txt/package.nix index 480c07f9cdccb..cab3613f3c5f8 100644 --- a/pkgs/by-name/od/odt2txt/package.nix +++ b/pkgs/by-name/od/odt2txt/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, zlib, libiconv }: +{ + lib, + stdenv, + fetchurl, + zlib, + libiconv, +}: stdenv.mkDerivation rec { pname = "odt2txt"; @@ -9,9 +15,12 @@ stdenv.mkDerivation rec { sha256 = "23a889109ca9087a719c638758f14cc3b867a5dcf30a6c90bf6a0985073556dd"; }; - configurePhase="export makeFlags=\"DESTDIR=$out\""; + configurePhase = "export makeFlags=\"DESTDIR=$out\""; - buildInputs = [ zlib libiconv ]; + buildInputs = [ + zlib + libiconv + ]; meta = { description = "Simple .odt to .txt converter"; diff --git a/pkgs/by-name/od/odyssey/package.nix b/pkgs/by-name/od/odyssey/package.nix index 726b12182ebb9..c57bd1c37e56b 100644 --- a/pkgs/by-name/od/odyssey/package.nix +++ b/pkgs/by-name/od/odyssey/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl, postgresql, zstd, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + postgresql, + zstd, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "odyssey"; @@ -20,8 +29,15 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ openssl postgresql zstd ]; - cmakeFlags = [ "-DPQ_LIBRARY=${postgresql.lib}/lib" "-DBUILD_COMPRESSION=ON" ]; + buildInputs = [ + openssl + postgresql + zstd + ]; + cmakeFlags = [ + "-DPQ_LIBRARY=${postgresql.lib}/lib" + "-DBUILD_COMPRESSION=ON" + ]; installPhase = '' install -Dm755 -t $out/bin sources/odyssey diff --git a/pkgs/by-name/oe/oed/package.nix b/pkgs/by-name/oe/oed/package.nix index 189dfe345c0dd..61540a7b6cf9e 100644 --- a/pkgs/by-name/oe/oed/package.nix +++ b/pkgs/by-name/oe/oed/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/of/offensive-azure/package.nix b/pkgs/by-name/of/offensive-azure/package.nix index fb5dce6798dcd..0243bab6a4583 100644 --- a/pkgs/by-name/of/offensive-azure/package.nix +++ b/pkgs/by-name/of/offensive-azure/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/of/office-code-pro/package.nix b/pkgs/by-name/of/office-code-pro/package.nix index 5a7d744045440..4662170b36c0c 100644 --- a/pkgs/by-name/of/office-code-pro/package.nix +++ b/pkgs/by-name/of/office-code-pro/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "office-code-pro"; diff --git a/pkgs/by-name/of/offlineimap/package.nix b/pkgs/by-name/of/offlineimap/package.nix index b3743e74fe40a..97cc447cedb4c 100644 --- a/pkgs/by-name/of/offlineimap/package.nix +++ b/pkgs/by-name/of/offlineimap/package.nix @@ -1,15 +1,16 @@ -{ lib -, fetchFromGitHub -, python3 -, asciidoc -, cacert -, docbook_xsl -, installShellFiles -, libxml2 -, libxslt -, testers -, offlineimap -, fetchpatch +{ + lib, + fetchFromGitHub, + python3, + asciidoc, + cacert, + docbook_xsl, + installShellFiles, + libxml2, + libxslt, + testers, + offlineimap, + fetchpatch, }: python3.pkgs.buildPythonApplication rec { @@ -35,13 +36,13 @@ python3.pkgs.buildPythonApplication rec { name = "python312-comaptibility.patch"; url = "https://github.com/OfflineIMAP/offlineimap3/commit/a1951559299b297492b8454850fcfe6eb9822a38.patch"; hash = "sha256-CBGMHi+ZzOBJt3TxBf6elrTRMIQ+8wr3JgptL2etkoA="; - }) + }) (fetchpatch { # https://github.com/OfflineIMAP/offlineimap3/pull/161 name = "python312-compatibility.patch"; url = "https://github.com/OfflineIMAP/offlineimap3/commit/3dd8ebc931e3f3716a90072bd34e50ac1df629fa.patch"; hash = "sha256-2IJ0yzESt+zk+r+Z+9js3oKhFF0+xok0xK8Jd3G/gYY="; - }) + }) ]; postPatch = '' diff --git a/pkgs/by-name/of/offpunk/package.nix b/pkgs/by-name/of/offpunk/package.nix index d621dd75e3591..4de3155091992 100644 --- a/pkgs/by-name/of/offpunk/package.nix +++ b/pkgs/by-name/of/offpunk/package.nix @@ -1,14 +1,15 @@ -{ fetchFromSourcehut -, file -, installShellFiles -, less -, lib -, offpunk -, python3Packages -, testers -, timg -, xdg-utils -, xsel +{ + fetchFromSourcehut, + file, + installShellFiles, + less, + lib, + offpunk, + python3Packages, + testers, + timg, + xdg-utils, + xsel, }: let @@ -44,7 +45,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-ttR8S7FQQs8DkgAEvTIhuQ5zZrHtovy2W8TOw0xhSGk="; }; - nativeBuildInputs = [ python3Packages.hatchling installShellFiles ]; + nativeBuildInputs = [ + python3Packages.hatchling + installShellFiles + ]; propagatedBuildInputs = otherDependencies ++ pythonDependencies; postInstall = '' diff --git a/pkgs/by-name/of/offrss/package.nix b/pkgs/by-name/of/offrss/package.nix index 89853c8a088d6..4bc3eb3a8094a 100644 --- a/pkgs/by-name/of/offrss/package.nix +++ b/pkgs/by-name/of/offrss/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, curl, libmrss, podofo, libiconv }: +{ + lib, + stdenv, + fetchurl, + curl, + libmrss, + podofo, + libiconv, +}: stdenv.mkDerivation rec { pname = "offrss"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { cp offrss $out/bin ''; - buildInputs = [ curl libmrss ] + buildInputs = + [ + curl + libmrss + ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) podofo ++ lib.optional (!stdenv.hostPlatform.isLinux) libiconv; @@ -18,14 +30,17 @@ stdenv.mkDerivation rec { # offrss.o:offrss.h:75: first defined here env.NIX_CFLAGS_COMPILE = "-fcommon"; - configurePhase = '' - substituteInPlace Makefile \ - --replace '$(CC) $(CFLAGS) $(LDFLAGS)' '$(CXX) $(CFLAGS) $(LDFLAGS)' - '' + lib.optionalString (!stdenv.hostPlatform.isLinux) '' - sed 's/#EXTRA/EXTRA/' -i Makefile - '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - sed 's/^PDF/#PDF/' -i Makefile - ''; + configurePhase = + '' + substituteInPlace Makefile \ + --replace '$(CC) $(CFLAGS) $(LDFLAGS)' '$(CXX) $(CFLAGS) $(LDFLAGS)' + '' + + lib.optionalString (!stdenv.hostPlatform.isLinux) '' + sed 's/#EXTRA/EXTRA/' -i Makefile + '' + + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed 's/^PDF/#PDF/' -i Makefile + ''; src = fetchurl { url = "http://vicerveza.homeunix.net/~viric/soft/offrss/offrss-${version}.tar.gz"; diff --git a/pkgs/by-name/of/offzip/package.nix b/pkgs/by-name/of/offzip/package.nix index 3ec2165c703b4..6b422ff435e8a 100644 --- a/pkgs/by-name/of/offzip/package.nix +++ b/pkgs/by-name/of/offzip/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, zlib +{ + lib, + stdenv, + fetchzip, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/of/ofono/package.nix b/pkgs/by-name/of/ofono/package.nix index c7aa844b7baa3..52dc76dafc4fb 100644 --- a/pkgs/by-name/of/ofono/package.nix +++ b/pkgs/by-name/of/ofono/package.nix @@ -1,20 +1,25 @@ -{ lib, stdenv -, fetchzip -, autoreconfHook -, pkg-config -, glib -, dbus -, ell -, systemd -, bluez -, mobile-broadband-provider-info +{ + lib, + stdenv, + fetchzip, + autoreconfHook, + pkg-config, + glib, + dbus, + ell, + systemd, + bluez, + mobile-broadband-provider-info, }: stdenv.mkDerivation rec { pname = "ofono"; version = "2.3"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchzip { url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/snapshot/ofono-${version}.tar.gz"; diff --git a/pkgs/by-name/og/ogdf/package.nix b/pkgs/by-name/og/ogdf/package.nix index e88fc796ba773..c8f2c94de984b 100644 --- a/pkgs/by-name/og/ogdf/package.nix +++ b/pkgs/by-name/og/ogdf/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, doxygen }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, +}: stdenv.mkDerivation rec { pname = "ogdf"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-zkQ6sS0EUmiigv3T7To+tG3XbFbR3XEbFo15oQ0bWf0="; }; - nativeBuildInputs = [ cmake doxygen ]; + nativeBuildInputs = [ + cmake + doxygen + ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-fPIC" @@ -37,5 +46,5 @@ stdenv.mkDerivation rec { OGDF is developed and supported by Osnabrück University, TU Dortmund, University of Cologne, University of Konstanz, and TU Ilmenau. ''; - }; + }; } diff --git a/pkgs/by-name/og/oggvideotools/package.nix b/pkgs/by-name/og/oggvideotools/package.nix index 004fb3579253e..11916fc4a790d 100644 --- a/pkgs/by-name/og/oggvideotools/package.nix +++ b/pkgs/by-name/og/oggvideotools/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, boost, gd, libogg, libtheora, libvorbis }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + pkg-config, + boost, + gd, + libogg, + libtheora, + libvorbis, +}: stdenv.mkDerivation rec { pname = "oggvideotools"; @@ -34,9 +46,18 @@ stdenv.mkDerivation rec { substituteInPlace CMakeLists.txt --replace " -O0 " "" ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ boost gd libogg libtheora libvorbis ]; + buildInputs = [ + boost + gd + libogg + libtheora + libvorbis + ]; meta = with lib; { description = "Toolbox for manipulating and creating Ogg video files"; diff --git a/pkgs/by-name/og/ogmtools/package.nix b/pkgs/by-name/og/ogmtools/package.nix index d910383bf956d..555ddb9834f28 100644 --- a/pkgs/by-name/og/ogmtools/package.nix +++ b/pkgs/by-name/og/ogmtools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libogg, libvorbis, libdvdread }: +{ + lib, + stdenv, + fetchurl, + libogg, + libvorbis, + libdvdread, +}: stdenv.mkDerivation rec { pname = "ogmtools"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "1spx81p5wf59ksl3r3gvf78d77sh7gj8a6lw773iv67bphfivmn8"; }; - buildInputs = [ libogg libvorbis libdvdread ]; + buildInputs = [ + libogg + libvorbis + libdvdread + ]; env.NIX_CFLAGS_COMPILE = toString [ "-std=c++14" ]; diff --git a/pkgs/by-name/og/ograc/package.nix b/pkgs/by-name/og/ograc/package.nix index 538a22ab688c3..aed6c9a232bb7 100644 --- a/pkgs/by-name/og/ograc/package.nix +++ b/pkgs/by-name/og/ograc/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitLab, lib, rustPlatform, }: +{ + fetchFromGitLab, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage { pname = "ograc"; @@ -19,4 +23,3 @@ rustPlatform.buildRustPackage { maintainers = with maintainers; [ sciencentistguy ]; }; } - diff --git a/pkgs/by-name/og/oguri/package.nix b/pkgs/by-name/og/oguri/package.nix index b7cc17014ed3e..ef9985bc51e36 100644 --- a/pkgs/by-name/og/oguri/package.nix +++ b/pkgs/by-name/og/oguri/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, meson -, ninja -, cairo -, gdk-pixbuf -, wayland -, wayland-protocols -, wayland-scanner +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + cairo, + gdk-pixbuf, + wayland, + wayland-protocols, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -23,7 +24,12 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + wayland-scanner + ]; buildInputs = [ cairo gdk-pixbuf diff --git a/pkgs/by-name/oh/oh-my-fish/package.nix b/pkgs/by-name/oh/oh-my-fish/package.nix index 019979bf9f395..b91a89c0beb18 100644 --- a/pkgs/by-name/oh/oh-my-fish/package.nix +++ b/pkgs/by-name/oh/oh-my-fish/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fish -, runtimeShell -, substituteAll +{ + lib, + stdenv, + fetchFromGitHub, + fish, + runtimeShell, + substituteAll, }: stdenv.mkDerivation (finalAttrs: { @@ -36,12 +37,14 @@ stdenv.mkDerivation (finalAttrs: { mkdir -pv $out/bin $out/share/oh-my-fish cp -vr * $out/share/oh-my-fish - cp -v ${substituteAll { - name = "omf-install"; - src = ./omf-install; - omf = placeholder "out"; - inherit fish runtimeShell; - }} $out/bin/omf-install + cp -v ${ + substituteAll { + name = "omf-install"; + src = ./omf-install; + omf = placeholder "out"; + inherit fish runtimeShell; + } + } $out/bin/omf-install chmod +x $out/bin/omf-install cat $out/bin/omf-install diff --git a/pkgs/by-name/oh/oh-my-git/package.nix b/pkgs/by-name/oh/oh-my-git/package.nix index 5674e2a0a94d8..b7f08cffd8852 100644 --- a/pkgs/by-name/oh/oh-my-git/package.nix +++ b/pkgs/by-name/oh/oh-my-git/package.nix @@ -1,28 +1,29 @@ -{ lib -, autoPatchelfHook -, copyDesktopItems -, fetchFromGitHub -, makeDesktopItem -, stdenv -, alsa-lib -, gcc-unwrapped -, git -, godot3-export-templates -, godot3-headless -, libGLU -, libX11 -, libXcursor -, libXext -, libXfixes -, libXi -, libXinerama -, libXrandr -, libXrender -, libglvnd -, libpulseaudio -, perl -, zlib -, udev # for libudev +{ + lib, + autoPatchelfHook, + copyDesktopItems, + fetchFromGitHub, + makeDesktopItem, + stdenv, + alsa-lib, + gcc-unwrapped, + git, + godot3-export-templates, + godot3-headless, + libGLU, + libX11, + libXcursor, + libXext, + libXfixes, + libXi, + libXinerama, + libXrandr, + libXrender, + libglvnd, + libpulseaudio, + perl, + zlib, + udev, # for libudev }: stdenv.mkDerivation rec { @@ -129,7 +130,7 @@ stdenv.mkDerivation rec { description = "Interactive Git learning game"; mainProgram = "oh-my-git"; license = with licenses; [ blueOak100 ]; - platforms = [ "x86_64-linux" ]; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ jojosch ]; }; } diff --git a/pkgs/by-name/oh/oh-my-posh/package.nix b/pkgs/by-name/oh/oh-my-posh/package.nix index d397ebf3cc24b..1060858c04d6e 100644 --- a/pkgs/by-name/oh/oh-my-posh/package.nix +++ b/pkgs/by-name/oh/oh-my-posh/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -57,6 +58,9 @@ buildGoModule rec { homepage = "https://ohmyposh.dev"; changelog = "https://github.com/JanDeDobbeleer/oh-my-posh/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ lucperkins urandom ]; + maintainers = with maintainers; [ + lucperkins + urandom + ]; }; } diff --git a/pkgs/by-name/oh/oh-my-zsh/package.nix b/pkgs/by-name/oh/oh-my-zsh/package.nix index de025a584af34..63138cca8f455 100644 --- a/pkgs/by-name/oh/oh-my-zsh/package.nix +++ b/pkgs/by-name/oh/oh-my-zsh/package.nix @@ -1,8 +1,23 @@ # This script was inspired by the ArchLinux User Repository package: # # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=oh-my-zsh-git -{ lib, stdenv, fetchFromGitHub, nixosTests, writeScript, common-updater-scripts -, git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }: +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, + writeScript, + common-updater-scripts, + git, + nix, + nixfmt-classic, + jq, + coreutils, + gnused, + curl, + cacert, + bash, +}: stdenv.mkDerivation rec { version = "2024-10-01"; diff --git a/pkgs/by-name/oh/oh/package.nix b/pkgs/by-name/oh/oh/package.nix index 9a0308a70e75d..0277d0194405c 100644 --- a/pkgs/by-name/oh/oh/package.nix +++ b/pkgs/by-name/oh/oh/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "oh"; diff --git a/pkgs/by-name/oi/oidentd/package.nix b/pkgs/by-name/oi/oidentd/package.nix index 4d3c03d90564e..4be824f00e4c2 100644 --- a/pkgs/by-name/oi/oidentd/package.nix +++ b/pkgs/by-name/oi/oidentd/package.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, fetchurl, bison, flex }: +{ + lib, + stdenv, + fetchurl, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "oidentd"; version = "3.1.0"; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; src = fetchurl { url = "https://files.janikrabe.com/pub/oidentd/releases/${version}/${pname}-${version}.tar.gz"; diff --git a/pkgs/by-name/oi/oil-buku/package.nix b/pkgs/by-name/oi/oil-buku/package.nix index 5f895179f1f47..58ad6883843af 100644 --- a/pkgs/by-name/oi/oil-buku/package.nix +++ b/pkgs/by-name/oi/oil-buku/package.nix @@ -1,4 +1,12 @@ -{ stdenvNoCC, lib, fetchFromGitHub, jq, gawk, peco, makeWrapper }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + jq, + gawk, + peco, + makeWrapper, +}: stdenvNoCC.mkDerivation rec { pname = "oil-buku"; diff --git a/pkgs/by-name/oi/oils-for-unix/package.nix b/pkgs/by-name/oi/oils-for-unix/package.nix index d6c2067146a97..b90ddd8eeb337 100644 --- a/pkgs/by-name/oi/oils-for-unix/package.nix +++ b/pkgs/by-name/oi/oils-for-unix/package.nix @@ -1,9 +1,19 @@ -{ stdenv, lib, fetchurl, symlinkJoin, withReadline ? true, readline }: +{ + stdenv, + lib, + fetchurl, + symlinkJoin, + withReadline ? true, + readline, +}: let readline-all = symlinkJoin { name = "readline-all"; - paths = [ readline readline.dev ]; + paths = [ + readline + readline.dev + ]; }; in stdenv.mkDerivation rec { @@ -45,12 +55,14 @@ stdenv.mkDerivation rec { # whereas running it outside of Nix with clang version 15.0.0 generates just a warning. The shell seems to # work just fine though, so we disable the error here. env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; - configureFlags = [ - "--datarootdir=${placeholder "out"}" - ] ++ lib.optionals withReadline [ - "--with-readline" - "--readline=${readline-all}" - ]; + configureFlags = + [ + "--datarootdir=${placeholder "out"}" + ] + ++ lib.optionals withReadline [ + "--with-readline" + "--readline=${readline-all}" + ]; meta = { description = "Unix shell with JSON-compatible structured data. It's our upgrade path from bash to a better language and runtime"; @@ -59,7 +71,10 @@ stdenv.mkDerivation rec { license = lib.licenses.asl20; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ mkg20001 melkor333 ]; + maintainers = with lib.maintainers; [ + mkg20001 + melkor333 + ]; changelog = "https://www.oilshell.org/release/${version}/changelog.html"; }; diff --git a/pkgs/by-name/oi/oink/package.nix b/pkgs/by-name/oi/oink/package.nix index fb39bf80247cc..aac1061ba60e0 100644 --- a/pkgs/by-name/oi/oink/package.nix +++ b/pkgs/by-name/oi/oink/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -25,6 +26,9 @@ buildGoModule rec { homepage = "https://github.com/rlado/oink"; license = lib.licenses.mit; mainProgram = "oink"; - maintainers = with lib.maintainers; [ jtbx pmw ]; + maintainers = with lib.maintainers; [ + jtbx + pmw + ]; }; } diff --git a/pkgs/by-name/ok/okolors/package.nix b/pkgs/by-name/ok/okolors/package.nix index 8d20c7432e8e2..91f972e8cb251 100644 --- a/pkgs/by-name/ok/okolors/package.nix +++ b/pkgs/by-name/ok/okolors/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ok/oksh/package.nix b/pkgs/by-name/ok/oksh/package.nix index 391ccab4ea5f0..8d73437a0cbe3 100644 --- a/pkgs/by-name/ok/oksh/package.nix +++ b/pkgs/by-name/ok/oksh/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, buildPackages -, ncurses +{ + stdenv, + lib, + fetchFromGitHub, + buildPackages, + ncurses, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ok/okta-aws-cli/package.nix b/pkgs/by-name/ok/okta-aws-cli/package.nix index 35ddc879dbe37..991c08deb5246 100644 --- a/pkgs/by-name/ok/okta-aws-cli/package.nix +++ b/pkgs/by-name/ok/okta-aws-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "okta-aws-cli"; @@ -7,15 +11,18 @@ buildGoModule rec { subPackages = [ "cmd/okta-aws-cli" ]; src = fetchFromGitHub { - owner = "okta"; - repo = "okta-aws-cli"; - rev = "v${version}"; + owner = "okta"; + repo = "okta-aws-cli"; + rev = "v${version}"; sha256 = "sha256-dts2aTd90bsuTkXB6AxFN6IziOQXTG1XLT0XSAC1Avc="; }; vendorHash = "sha256-2VTq8lzGYBKH410/mflloAphWTwFie3mdmz2kLkfuQ0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "CLI for having Okta as the IdP for AWS CLI operations"; diff --git a/pkgs/by-name/ok/okteto/package.nix b/pkgs/by-name/ok/okteto/package.nix index 03c513df074b8..da499d0484e47 100644 --- a/pkgs/by-name/ok/okteto/package.nix +++ b/pkgs/by-name/ok/okteto/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, okteto }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + okteto, +}: buildGoModule rec { pname = "okteto"; @@ -21,7 +28,10 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - excludedPackages = [ "integration" "samples" ]; + excludedPackages = [ + "integration" + "samples" + ]; ldflags = [ "-s" @@ -29,7 +39,11 @@ buildGoModule rec { "-X github.com/okteto/okteto/pkg/config.VersionString=${version}" ]; - tags = [ "osusergo" "netgo" "static_build" ]; + tags = [ + "osusergo" + "netgo" + "static_build" + ]; preCheck = '' export HOME="$(mktemp -d)" diff --git a/pkgs/by-name/ol/olaris-server/package.nix b/pkgs/by-name/ol/olaris-server/package.nix index 1b50695ffd5b1..fb4de53b716e2 100644 --- a/pkgs/by-name/ol/olaris-server/package.nix +++ b/pkgs/by-name/ol/olaris-server/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, fetchFromGitLab -, fetchzip -, ffmpeg -, installShellFiles -, lib -, makeWrapper +{ + buildGoModule, + fetchFromGitLab, + fetchzip, + ffmpeg, + installShellFiles, + lib, + makeWrapper, }: buildGoModule rec { @@ -18,17 +19,19 @@ buildGoModule rec { hash = "sha256-Uhnh6GC85ORKnfHeYNtbSA40osuscxXDF5/kXJrF2Cs="; }; - preBuild = let - olaris-react = fetchzip { - url = "https://gitlab.com/api/v4/projects/olaris%2Folaris-react/jobs/artifacts/v${version}/download?job=build"; - extension = "zip"; - hash = "sha256-MkxBf/mGvtiOu0e79bMpd9Z/D0eOxhzPE+bKic//viM="; - }; - in '' - # cannot build olaris-react https://github.com/NixOS/nixpkgs/issues/203708 - cp -r ${olaris-react} react/build - make generate - ''; + preBuild = + let + olaris-react = fetchzip { + url = "https://gitlab.com/api/v4/projects/olaris%2Folaris-react/jobs/artifacts/v${version}/download?job=build"; + extension = "zip"; + hash = "sha256-MkxBf/mGvtiOu0e79bMpd9Z/D0eOxhzPE+bKic//viM="; + }; + in + '' + # cannot build olaris-react https://github.com/NixOS/nixpkgs/issues/203708 + cp -r ${olaris-react} react/build + make generate + ''; ldflags = [ "-s" @@ -38,7 +41,10 @@ buildGoModule rec { vendorHash = "sha256-bw8zvDGFBci9bELsxAD0otpNocBnO8aAcgyohLZ3Mv0="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; # integration tests require network access doCheck = false; @@ -48,7 +54,7 @@ buildGoModule rec { --bash <($out/bin/olaris-server completion bash) \ --fish <($out/bin/olaris-server completion fish) \ --zsh <($out/bin/olaris-server completion zsh) - wrapProgram $out/bin/olaris-server --prefix PATH : ${lib.makeBinPath [ffmpeg]} + wrapProgram $out/bin/olaris-server --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} ''; meta = with lib; { diff --git a/pkgs/by-name/ol/oldsindhi/package.nix b/pkgs/by-name/ol/oldsindhi/package.nix index 88692d9145649..a52d3630c6356 100644 --- a/pkgs/by-name/ol/oldsindhi/package.nix +++ b/pkgs/by-name/ol/oldsindhi/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "oldsindhi"; @@ -22,7 +26,10 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/MihailJP/oldsindhi"; description = "Free Sindhi Khudabadi font"; maintainers = with maintainers; [ mathnerd314 ]; - license = with licenses; [ mit ofl ]; + license = with licenses; [ + mit + ofl + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ol/oldstandard/package.nix b/pkgs/by-name/ol/oldstandard/package.nix index b85d9694613fe..05402cecb1a03 100644 --- a/pkgs/by-name/ol/oldstandard/package.nix +++ b/pkgs/by-name/ol/oldstandard/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "oldstandard"; diff --git a/pkgs/by-name/ol/olm/package.nix b/pkgs/by-name/ol/olm/package.nix index c83b84fe71e1d..ea63963a71951 100644 --- a/pkgs/by-name/ol/olm/package.nix +++ b/pkgs/by-name/ol/olm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, cmake }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, +}: stdenv.mkDerivation rec { pname = "olm"; @@ -26,52 +31,57 @@ stdenv.mkDerivation rec { description = "Implements double cryptographic ratchet and Megolm ratchet"; homepage = "https://gitlab.matrix.org/matrix-org/olm"; license = licenses.asl20; - maintainers = with maintainers; [ tilpner oxzi ]; - knownVulnerabilities = [ '' - The libolm end‐to‐end encryption library used in many Matrix - clients and Jitsi Meet has been deprecated upstream, and relies - on a cryptography library that has known side‐channel issues and - disclaims that its implementations are not cryptographically secure - and should not be used when cryptographic security is required. - - It is not known if the issues can be exploited over the network in - practical conditions. Upstream does not believe such an attack is - feasible, but has stated that the library should not be used going - forward, and there are no plans to move to another cryptography - implementation or otherwise further maintain the library at all. - - You should make an informed decision about whether to override this - security warning, especially if you critically rely on end‐to‐end - encryption. If you don’t care about that, or don’t use the Matrix - functionality of a multi‐protocol client depending on libolm, - then there should be no additional risk. - - Some clients are investigating migrating away from libolm to maintained - libraries without known vulnerabilities. - - For further information, see: - - * The CVE records for the known vulnerabilities: - - * CVE-2024-45191 - * CVE-2024-45192 - * CVE-2024-45193 - - * The libolm deprecation notice: - - - * The warning from the cryptography code used by libolm: - - - * The blog post disclosing the details of the known vulnerabilities: - - - * The statement about the deprecation and vulnerabilities from the - Matrix.org Foundation: - - - * A (likely incomplete) aggregation of client tracking issue links: - - '' ]; + maintainers = with maintainers; [ + tilpner + oxzi + ]; + knownVulnerabilities = [ + '' + The libolm end‐to‐end encryption library used in many Matrix + clients and Jitsi Meet has been deprecated upstream, and relies + on a cryptography library that has known side‐channel issues and + disclaims that its implementations are not cryptographically secure + and should not be used when cryptographic security is required. + + It is not known if the issues can be exploited over the network in + practical conditions. Upstream does not believe such an attack is + feasible, but has stated that the library should not be used going + forward, and there are no plans to move to another cryptography + implementation or otherwise further maintain the library at all. + + You should make an informed decision about whether to override this + security warning, especially if you critically rely on end‐to‐end + encryption. If you don’t care about that, or don’t use the Matrix + functionality of a multi‐protocol client depending on libolm, + then there should be no additional risk. + + Some clients are investigating migrating away from libolm to maintained + libraries without known vulnerabilities. + + For further information, see: + + * The CVE records for the known vulnerabilities: + + * CVE-2024-45191 + * CVE-2024-45192 + * CVE-2024-45193 + + * The libolm deprecation notice: + + + * The warning from the cryptography code used by libolm: + + + * The blog post disclosing the details of the known vulnerabilities: + + + * The statement about the deprecation and vulnerabilities from the + Matrix.org Foundation: + + + * A (likely incomplete) aggregation of client tracking issue links: + + '' + ]; }; } diff --git a/pkgs/by-name/ol/olsrd/package.nix b/pkgs/by-name/ol/olsrd/package.nix index 5f8985b66cba7..e0b709dbf8167 100644 --- a/pkgs/by-name/ol/olsrd/package.nix +++ b/pkgs/by-name/ol/olsrd/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, bison, flex }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "olsrd"; @@ -20,7 +27,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ bison flex ]; + buildInputs = [ + bison + flex + ]; preConfigure = '' makeFlags="prefix=$out ETCDIR=$out/etc" diff --git a/pkgs/by-name/ol/olvid/package.nix b/pkgs/by-name/ol/olvid/package.nix index 34b73e2a863e4..85798297b37ce 100644 --- a/pkgs/by-name/ol/olvid/package.nix +++ b/pkgs/by-name/ol/olvid/package.nix @@ -1,36 +1,45 @@ -{ stdenv -, lib -, fetchurl -, zlib -, libXext -, libX11 -, libXrender -, libXtst -, libXi -, freetype -, alsa-lib -, jdk21 -, openjfx21 -, autoPatchelfHook -, makeBinaryWrapper -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchurl, + zlib, + libXext, + libX11, + libXrender, + libXtst, + libXi, + freetype, + alsa-lib, + jdk21, + openjfx21, + autoPatchelfHook, + makeBinaryWrapper, + wrapGAppsHook3, }: let repo = "olvid"; - javafxModules = [ "swing" "controls" "media" "fxml" "graphics" "base" ]; + javafxModules = [ + "swing" + "controls" + "media" + "fxml" + "graphics" + "base" + ]; classpath = lib.concatMap (mod: [ "${openjfx21}/modules_src/javafx.${mod}/module-info.java" "${openjfx21}/modules/javafx.${mod}" "${openjfx21}/modules_libs/javafx.${mod}" - ]) javafxModules ++ - [ "$out/share/${repo}/*" ]; + ]) javafxModules + ++ [ "$out/share/${repo}/*" ]; jvmArgs = [ - "-cp" (lib.concatStringsSep ":" classpath) + "-cp" + (lib.concatStringsSep ":" classpath) "-Djpackage.app-version=$version" "-Dolvid.sqlcipher=true" "-Dolvid.dev=false" diff --git a/pkgs/by-name/om/om4/package.nix b/pkgs/by-name/om/om4/package.nix index 4425ae52fb5fc..078bc8510a4ae 100644 --- a/pkgs/by-name/om/om4/package.nix +++ b/pkgs/by-name/om/om4/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, bison, flex, lib }: +{ + stdenv, + fetchFromGitHub, + bison, + flex, + lib, +}: stdenv.mkDerivation rec { pname = "om4"; @@ -12,14 +18,22 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; configureFlags = [ "--enable-m4" ]; meta = with lib; { description = "Portable OpenBSD m4 macro processor"; homepage = "https://github.com/ibara/m4"; - license = with licenses; [ bsd2 bsd3 isc publicDomain ]; + license = with licenses; [ + bsd2 + bsd3 + isc + publicDomain + ]; mainProgram = "m4"; platforms = platforms.unix; maintainers = [ ]; diff --git a/pkgs/by-name/om/omake/package.nix b/pkgs/by-name/om/omake/package.nix index 956a4d4a5d018..2cb994682e724 100644 --- a/pkgs/by-name/om/omake/package.nix +++ b/pkgs/by-name/om/omake/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ocaml }: +{ + lib, + stdenv, + fetchurl, + ocaml, +}: stdenv.mkDerivation rec { @@ -18,8 +23,8 @@ stdenv.mkDerivation rec { description = "Build system designed for scalability and portability"; homepage = "http://projects.camlcity.org/projects/omake.html"; license = with lib.licenses; [ - mit /* scripts */ - gpl2 /* program */ + mit # scripts + gpl2 # program ]; inherit (ocaml.meta) platforms; }; diff --git a/pkgs/by-name/om/omni-gtk-theme/package.nix b/pkgs/by-name/om/omni-gtk-theme/package.nix index b216eff6193aa..971a2c4eada7b 100644 --- a/pkgs/by-name/om/omni-gtk-theme/package.nix +++ b/pkgs/by-name/om/omni-gtk-theme/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk-engine-murrine, +}: stdenv.mkDerivation { pname = "omni-gtk-theme"; diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix index cd2629e2a700d..c7669b06b4189 100644 --- a/pkgs/by-name/om/omnictl/package.nix +++ b/pkgs/by-name/om/omnictl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "omnictl"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-BF/F/siVIYJT4abOlwQjpnQpmNFdOo566VGPIo08PO0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; GOWORK = "off"; diff --git a/pkgs/by-name/om/omniorb/package.nix b/pkgs/by-name/om/omniorb/package.nix index bbe663911ff49..47a546781e342 100644 --- a/pkgs/by-name/om/omniorb/package.nix +++ b/pkgs/by-name/om/omniorb/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, python3 +{ + lib, + stdenv, + fetchurl, + pkg-config, + python3, }: stdenv.mkDerivation rec { @@ -44,9 +45,12 @@ stdenv.mkDerivation rec { (for the libraries),and GNU General Public License (for the tools). omniORB is largely CORBA 2.6 compliant. ''; - homepage = "http://omniorb.sourceforge.net/"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + homepage = "http://omniorb.sourceforge.net/"; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ smironov ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/om/omnisharp-roslyn/deps.nix b/pkgs/by-name/om/omnisharp-roslyn/deps.nix index 2d8a19ef1be6a..2cdd8a5934feb 100644 --- a/pkgs/by-name/om/omnisharp-roslyn/deps.nix +++ b/pkgs/by-name/om/omnisharp-roslyn/deps.nix @@ -1,148 +1,741 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Cake.Scripting.Abstractions"; version = "0.15.0"; hash = "sha256-g/94sPb+uLZWEK83pFq/w924q1iBuJftoJkZ/UlJAVo="; }) - (fetchNuGet { pname = "Cake.Scripting.Transport"; version = "0.15.0"; hash = "sha256-VY1Lw6cy6k8KOP7A2GLm2V+KuVJ43QrbilEzrZqy9Hc="; }) - (fetchNuGet { pname = "Cake.Tool"; version = "3.0.0"; hash = "sha256-Z5hkinAqOaWCfMUIaaDfY0uTN1ot71Q1IC1A+xpmSj4="; }) - (fetchNuGet { pname = "Dotnet.Script.DependencyModel"; version = "1.5.0"; hash = "sha256-5E7SF0msST+bFm2IhMjTEBpHHBb6GetUA8N7sKnIiQM="; }) - (fetchNuGet { pname = "Dotnet.Script.DependencyModel.NuGet"; version = "1.5.0"; hash = "sha256-FBiPUfO0S9IujCLr8ZzwUh/OqqKTKPoh3Z4yHzhnwzs="; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; }) - (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "8.2.0.7535"; hash = "sha256-4BWs04Va9pc/SLeMA/vKoBydhw+Bu6s9MDtoo/Ucft8="; }) - (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "4.1.0"; hash = "sha256-lPAL8r1/y6WmWpgKqYHzIa3iEz1+Soqkud4XnbpN/N4="; }) - (fetchNuGet { pname = "MediatR"; version = "8.1.0"; hash = "sha256-dyqhDG1NJjY1b+dj37sMmklGkxAm3zKdhh2lBJ0/HTM="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.36"; hash = "sha256-9jDkWbjw/nd8yqdzVTagCuqr6owJ/DUMi4BlUZT4hWU="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "8.0.0"; hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; }) - (fetchNuGet { pname = "Microsoft.Build"; version = "17.3.2"; hash = "sha256-r+jLFj4SFlkcRofhbt4/8IzA4mYnDlfv2IkiwYCa5J0="; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.3.2"; hash = "sha256-x/Cv21DrCXB5pA0mBNass/hGzMqLEI4MDEswHBKbEd0="; }) - (fetchNuGet { pname = "Microsoft.Build.Locator"; version = "1.6.10"; hash = "sha256-hOFFiQiCNkkDqt0Ad/4Y/sggj4t0zWXmfGjE+I/cqqM="; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.3.2"; hash = "sha256-VIrJ206gph6J25mnSMV2l8kN5KHkyylAeZRGgnM3tdc="; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.3.2"; hash = "sha256-RLKc+wdx0CKzWy1kCMMF/lwwZJPIM3vouLJfLGWGAmU="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; hash = "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; version = "3.3.0"; hash = "sha256-nzFs+H0FFEgZzjl/bcmWyQQVKS2PncS6kMYHOqrxXSw="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.12.0-1.24358.3"; hash = "sha256-UQ0tDpF+OxAgRXIPiJuT7z01Weqn2bLo+kIwkdcMaXs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.12.0-1.24358.3/microsoft.codeanalysis.common.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.12.0-1.24358.3"; hash = "sha256-OuB9qEQLc64Ido++o3mAZUZ6IvuB8rTzOf663k/0Kcc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Features"; version = "4.12.0-1.24358.3"; hash = "sha256-PNPdyFwwsReDd1QC1KmnGrXVMYNPghIShI7il3UEcrA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.features.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "4.12.0-1.24358.3"; hash = "sha256-titifcvaYU0rc9ZoEoitT2Wbw/CDRYr7bRm1ecSLDU0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.scripting.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.12.0-1.24358.3"; hash = "sha256-9CROWJt789h964idgJ/qqu+rAQkygcwtE2ngyeL/bhE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.workspaces.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Elfie"; version = "1.0.0"; hash = "sha256-E/+PlegvWZ59e5Ti3TvKJBLa3qCnDKmi7+DcnOo1ufg="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.AspNetCore"; version = "4.12.0-1.24358.3"; hash = "sha256-0kv2XunbYQsbusmRl2WchiskolxwZWThx80ZUzcw3c8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.aspnetcore/4.12.0-1.24358.3/microsoft.codeanalysis.externalaccess.aspnetcore.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp"; version = "4.12.0-1.24358.3"; hash = "sha256-gLIJA1zaq4RbRCDhALlIwUBasRbekjFiuLCNyQckegA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.12.0-1.24358.3/microsoft.codeanalysis.externalaccess.omnisharp.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp"; version = "4.12.0-1.24358.3"; hash = "sha256-aXwLNsh6Gmd98rLZ1fWjpNaCCg7TYv70Qc7dRccNk/U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.12.0-1.24358.3/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Features"; version = "4.12.0-1.24358.3"; hash = "sha256-TCl/MzgHNUBUU56MVSGeOlCUMSTeS8cG5iZkZ/E9ElY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.12.0-1.24358.3/microsoft.codeanalysis.features.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "4.12.0-1.24358.3"; hash = "sha256-qvmZdcshzsXJLdWev3QyQscNeliEqzOGE3q7L/hR67w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.12.0-1.24358.3/microsoft.codeanalysis.scripting.common.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.12.0-1.24358.3"; hash = "sha256-9SQ1nAfJsDswOfASVSZ2iV7GoXcsRmNhVcr+Dv266zk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.12.0-1.24358.3/microsoft.codeanalysis.workspaces.common.4.12.0-1.24358.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; }) - (fetchNuGet { pname = "Microsoft.DiaSymReader"; version = "2.0.0"; hash = "sha256-8hotZmh8Rb6Q6oD9Meb74SvAdbDo39Y/1m8h43HHjjw="; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; hash = "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "8.0.0"; hash = "sha256-xGpKrywQvU1Wm/WolYIxgHYEFfgkNGeJ+GGc5DT3phI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "8.0.0"; hash = "sha256-RUQe2VgOATM9JkZ/wGm9mreKoCmOS4pPyvyJWBqMaC8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; hash = "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; hash = "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "8.0.0"; hash = "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.1"; hash = "sha256-05mravm6SK0wNV3BKDTmN+8/1RxcPOM9kaUvGhjWY3c="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; }) - (fetchNuGet { pname = "Microsoft.IO.Redist"; version = "6.0.0"; hash = "sha256-pa3MT+QWrWeehQwUWtTS/Rwto8IIDgAt+zLqaUAQoJ0="; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.3.2"; hash = "sha256-Q8owHXaXkJPy13yGlj+VYGS9XMqYWUZYB6yoT0/m4ek="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.36"; hash = "sha256-9LZgVoIFF8qNyUu8kdJrYGLutMF/cL2K82HN2ywwlx8="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.3"; hash = "sha256-/6ClVwo5+RE5kWTQWB/93vmbXj37ql8iDlziKWm89Xw="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.8.0"; hash = "sha256-9TwGrjVvbtyetw67Udp3EMK5MX8j0RFRjduxPCs9ESw="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TranslationLayer"; version = "17.8.0"; hash = "sha256-YZG3jGI9zbYx1GZSptBBfvC/qHp5iC2O+TSvCP10JQ0="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.6.40"; hash = "sha256-5HtsgSPV5RdaPREGDvJ7qMOFubb1wMyHwkfTnZs9Zsc="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.6.40"; hash = "sha256-WghLNITEsKTV5pCjogmhfsVD3iO7ghTk0KNrOXzKSS0="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.6.11"; hash = "sha256-Lkjp9Ove4+CFP06x/toYpJEiAinuTfn/o+oh0fW3pGM="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; }) - (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.10.69"; hash = "sha256-a0hXKhR7dv6Vm4rlUOD2ffBKG49CC3wzXLCHeTz1ms4="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "NuGet.Common"; version = "6.11.0-rc.110"; hash = "sha256-S0K+RiSHJFzx+qbTJ7KY1Mh/L9hDJfL/F1YjzlhP3ao="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.11.0-rc.110/nuget.common.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.Configuration"; version = "6.11.0-rc.110"; hash = "sha256-NJzuKWDMUAn8aLt/aB4xht65a9CCnwY0IfnHfFHd/p4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.11.0-rc.110/nuget.configuration.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.11.0-rc.110"; hash = "sha256-12oRGUo4L7TslA6iV3OoMayG/t3ToOJ4fdGFh2U8Rxo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.11.0-rc.110/nuget.dependencyresolver.core.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.11.0-rc.110"; hash = "sha256-FmvFhdCJ/xH92tr+7uMNdimcpFxyW7Y/roPcS0TJX3g="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.11.0-rc.110/nuget.frameworks.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.11.0-rc.110"; hash = "sha256-PYiEmV44XWUCK7Wahs8ZQ8GHcL4yO+fT+Y1OQHna68E="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.11.0-rc.110/nuget.librarymodel.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.Packaging"; version = "6.11.0-rc.110"; hash = "sha256-pnGx4JWJ02X18Qko5TX1DTbbbQj1msdKb0Lrphzyjps="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.11.0-rc.110/nuget.packaging.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.11.0-rc.110"; hash = "sha256-xE1Us1qn3qAbLS/1rdZMWfl5tEO5pCQGp+P+VUrLBOQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.11.0-rc.110/nuget.projectmodel.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.Protocol"; version = "6.11.0-rc.110"; hash = "sha256-XS8HsEDPoEjBNbfdo1c+PHB6BUOs8IpdfXvkmDsSZD4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.11.0-rc.110/nuget.protocol.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "NuGet.Versioning"; version = "6.11.0-rc.110"; hash = "sha256-eyhOSwBFquzExUis+zGgP5gCO/nVSY5IzXcWeeVz/Ww="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.11.0-rc.110/nuget.versioning.6.11.0-rc.110.nupkg"; }) - (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc"; version = "0.19.9"; hash = "sha256-n/DjyqXDVxWIPZZ/kdNak7gTFD6638bJtvW3hrEZFWU="; }) - (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc.Generators"; version = "0.19.9"; hash = "sha256-38+lTizxqeBkWp6ZvMOe2dVsCG1PbQXjXgerXAsK+zw="; }) - (fetchNuGet { pname = "OmniSharp.Extensions.LanguageProtocol"; version = "0.19.9"; hash = "sha256-L1O76h4n+qYDCvnKS3j3rwHDW60S4b7s8Cgg8sBbogw="; }) - (fetchNuGet { pname = "OmniSharp.Extensions.LanguageServer"; version = "0.19.9"; hash = "sha256-cGIRuIqUl3pKfYpeT2mY4RigbZOa2yGf1itbSFydZW0="; }) - (fetchNuGet { pname = "OmniSharp.Extensions.LanguageServer.Shared"; version = "0.19.9"; hash = "sha256-S27e9BjRaaVcbUle+MF0nRxjHS/fIhNqDyr3aBZyiog="; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "2.1.8"; hash = "sha256-2heeK2naqrjk/ggcEPO1GhcumiXU8sC4VNFh/Xr+wd4="; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.8"; hash = "sha256-j7004Tk/GyQigot9Sx5cgAU9dzhFfOGs02zaj412x8g="; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.8"; hash = "sha256-Omio9F3a0w52x3CLpk/MOCmB5yeaFxVV9ZOMU18eKew="; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.1.8"; hash = "sha256-eo+peRW0MEkrczXtlMPNPOKew9k/jH0e4jUzOXI8Y44="; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.8"; hash = "sha256-eE2gvpsXhtAmYqdxLhrne+/u4V/o7tbicuGUEWL4p4s="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "6.0.0"; hash = "sha256-uPetUFZyHfxjScu5x4agjk9pIhbCkt5rG4Axj25npcQ="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; hash = "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg="; }) - (fetchNuGet { pname = "System.ComponentModel.Composition"; version = "8.0.0"; hash = "sha256-MnKdjE/qIvAmEeRc3gOn5uJhT0TI3UnUJPjj3TLHFQo="; }) - (fetchNuGet { pname = "System.Composition"; version = "8.0.0"; hash = "sha256-rA118MFj6soKN++BvD3y9gXAJf0lZJAtGARuznG5+Xg="; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "8.0.0"; hash = "sha256-n3aXiBAFIlQicSRLiNtLh++URSUxRBLggsjJ8OMNRpo="; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "8.0.0"; hash = "sha256-Z9HOAnH1lt1qc38P3Y0qCf5gwBwiLXQD994okcy53IE="; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "8.0.0"; hash = "sha256-axKJC71oKiNWKy66TVF/c3yoC81k03XHAWab3mGNbr0="; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "8.0.0"; hash = "sha256-AxwZ29+GY0E35Pa255q8AcMnJU52Txr5pBy86t6V1Go="; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "8.0.0"; hash = "sha256-+ZJawThmiYEUNJ+cB9uJK+u/sCAVZarGd5ShZoSifGo="; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "8.0.0"; hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; }) - (fetchNuGet { pname = "System.Data.DataSetExtensions"; version = "4.5.0"; hash = "sha256-qppO0L8BpI7cgaStqBhn6YJYFjFdSwpXlRih0XFsaT4="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; hash = "sha256-+aODaDEQMqla5RYZeq0Lh66j+xkPYxykrVvSCmJQ+Vs="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; }) - (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; hash = "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "8.0.0"; hash = "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.Reactive"; version = "6.0.0"; hash = "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "8.0.0"; hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; }) - (fetchNuGet { pname = "System.Reflection.MetadataLoadContext"; version = "6.0.0"; hash = "sha256-82aeU8c4rnYPLL3ba1ho1fxfpYQt5qrSK5e6ES+OTsY="; }) - (fetchNuGet { pname = "System.Resources.Extensions"; version = "6.0.0"; hash = "sha256-/EEdeNvp9FrLeVnmowzHk6nn0KmPf6L9Poc7l/R948A="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; hash = "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.1"; hash = "sha256-OJ4NJ8E/8l86aR+Hsw+k/7II63Y/zPS+MgC+UfeCXHM="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.4"; hash = "sha256-2e0aRybote+OR66bHaNiYpF//4fCiaO3zbR2e9GABUI="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "6.0.0"; hash = "sha256-jXst4NyUKOTOmLacSwgQB71W12nKZtveJA25dCtpyys="; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; hash = "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; hash = "sha256-nGc2A6XYnwqGcq8rfgTRjGr+voISxNe/76k2K36coj4="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "7.0.0"; hash = "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.4"; hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; hash = "sha256-klGYnsyrjvXaGeqgfnMf/dTAMNtcHY+zM4Xh6v2JfuE="; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "7.0.0"; hash = "sha256-Cu0gjQsLIR8Yvh0B4cOPJSYVq10a+3F9pVz/C43CNeM="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "8.0.0"; hash = "sha256-Q6fPtMPNW4+SDKCabJzNS+dw4B04Oxd9sHH505bFtQo="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; }) - (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; hash = "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Cake.Scripting.Abstractions"; + version = "0.15.0"; + hash = "sha256-g/94sPb+uLZWEK83pFq/w924q1iBuJftoJkZ/UlJAVo="; + }) + (fetchNuGet { + pname = "Cake.Scripting.Transport"; + version = "0.15.0"; + hash = "sha256-VY1Lw6cy6k8KOP7A2GLm2V+KuVJ43QrbilEzrZqy9Hc="; + }) + (fetchNuGet { + pname = "Cake.Tool"; + version = "3.0.0"; + hash = "sha256-Z5hkinAqOaWCfMUIaaDfY0uTN1ot71Q1IC1A+xpmSj4="; + }) + (fetchNuGet { + pname = "Dotnet.Script.DependencyModel"; + version = "1.5.0"; + hash = "sha256-5E7SF0msST+bFm2IhMjTEBpHHBb6GetUA8N7sKnIiQM="; + }) + (fetchNuGet { + pname = "Dotnet.Script.DependencyModel.NuGet"; + version = "1.5.0"; + hash = "sha256-FBiPUfO0S9IujCLr8ZzwUh/OqqKTKPoh3Z4yHzhnwzs="; + }) + (fetchNuGet { + pname = "Humanizer.Core"; + version = "2.14.1"; + hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; + }) + (fetchNuGet { + pname = "ICSharpCode.Decompiler"; + version = "8.2.0.7535"; + hash = "sha256-4BWs04Va9pc/SLeMA/vKoBydhw+Bu6s9MDtoo/Ucft8="; + }) + (fetchNuGet { + pname = "McMaster.Extensions.CommandLineUtils"; + version = "4.1.0"; + hash = "sha256-lPAL8r1/y6WmWpgKqYHzIa3iEz1+Soqkud4XnbpN/N4="; + }) + (fetchNuGet { + pname = "MediatR"; + version = "8.1.0"; + hash = "sha256-dyqhDG1NJjY1b+dj37sMmklGkxAm3zKdhh2lBJ0/HTM="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "6.0.36"; + hash = "sha256-9jDkWbjw/nd8yqdzVTagCuqr6owJ/DUMi4BlUZT4hWU="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "7.0.0"; + hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "8.0.0"; + hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; + }) + (fetchNuGet { + pname = "Microsoft.Build"; + version = "17.3.2"; + hash = "sha256-r+jLFj4SFlkcRofhbt4/8IzA4mYnDlfv2IkiwYCa5J0="; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "17.3.2"; + hash = "sha256-x/Cv21DrCXB5pA0mBNass/hGzMqLEI4MDEswHBKbEd0="; + }) + (fetchNuGet { + pname = "Microsoft.Build.Locator"; + version = "1.6.10"; + hash = "sha256-hOFFiQiCNkkDqt0Ad/4Y/sggj4t0zWXmfGjE+I/cqqM="; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Core"; + version = "17.3.2"; + hash = "sha256-VIrJ206gph6J25mnSMV2l8kN5KHkyylAeZRGgnM3tdc="; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "17.3.2"; + hash = "sha256-RLKc+wdx0CKzWy1kCMMF/lwwZJPIM3vouLJfLGWGAmU="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.4"; + hash = "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; + version = "3.3.0"; + hash = "sha256-nzFs+H0FFEgZzjl/bcmWyQQVKS2PncS6kMYHOqrxXSw="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.12.0-1.24358.3"; + hash = "sha256-UQ0tDpF+OxAgRXIPiJuT7z01Weqn2bLo+kIwkdcMaXs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.12.0-1.24358.3/microsoft.codeanalysis.common.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.12.0-1.24358.3"; + hash = "sha256-OuB9qEQLc64Ido++o3mAZUZ6IvuB8rTzOf663k/0Kcc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Features"; + version = "4.12.0-1.24358.3"; + hash = "sha256-PNPdyFwwsReDd1QC1KmnGrXVMYNPghIShI7il3UEcrA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.features.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; + version = "4.12.0-1.24358.3"; + hash = "sha256-titifcvaYU0rc9ZoEoitT2Wbw/CDRYr7bRm1ecSLDU0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.scripting.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; + version = "4.12.0-1.24358.3"; + hash = "sha256-9CROWJt789h964idgJ/qqu+rAQkygcwtE2ngyeL/bhE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.12.0-1.24358.3/microsoft.codeanalysis.csharp.workspaces.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Elfie"; + version = "1.0.0"; + hash = "sha256-E/+PlegvWZ59e5Ti3TvKJBLa3qCnDKmi7+DcnOo1ufg="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.ExternalAccess.AspNetCore"; + version = "4.12.0-1.24358.3"; + hash = "sha256-0kv2XunbYQsbusmRl2WchiskolxwZWThx80ZUzcw3c8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.aspnetcore/4.12.0-1.24358.3/microsoft.codeanalysis.externalaccess.aspnetcore.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp"; + version = "4.12.0-1.24358.3"; + hash = "sha256-gLIJA1zaq4RbRCDhALlIwUBasRbekjFiuLCNyQckegA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.12.0-1.24358.3/microsoft.codeanalysis.externalaccess.omnisharp.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp"; + version = "4.12.0-1.24358.3"; + hash = "sha256-aXwLNsh6Gmd98rLZ1fWjpNaCCg7TYv70Qc7dRccNk/U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.12.0-1.24358.3/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Features"; + version = "4.12.0-1.24358.3"; + hash = "sha256-TCl/MzgHNUBUU56MVSGeOlCUMSTeS8cG5iZkZ/E9ElY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.12.0-1.24358.3/microsoft.codeanalysis.features.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Scripting.Common"; + version = "4.12.0-1.24358.3"; + hash = "sha256-qvmZdcshzsXJLdWev3QyQscNeliEqzOGE3q7L/hR67w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.12.0-1.24358.3/microsoft.codeanalysis.scripting.common.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Workspaces.Common"; + version = "4.12.0-1.24358.3"; + hash = "sha256-9SQ1nAfJsDswOfASVSZ2iV7GoXcsRmNhVcr+Dv266zk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.12.0-1.24358.3/microsoft.codeanalysis.workspaces.common.4.12.0-1.24358.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; + }) + (fetchNuGet { + pname = "Microsoft.DiaSymReader"; + version = "2.0.0"; + hash = "sha256-8hotZmh8Rb6Q6oD9Meb74SvAdbDo39Y/1m8h43HHjjw="; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.PlatformAbstractions"; + version = "3.1.6"; + hash = "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Caching.Abstractions"; + version = "8.0.0"; + hash = "sha256-xGpKrywQvU1Wm/WolYIxgHYEFfgkNGeJ+GGc5DT3phI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Caching.Memory"; + version = "8.0.0"; + hash = "sha256-RUQe2VgOATM9JkZ/wGm9mreKoCmOS4pPyvyJWBqMaC8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "8.0.0"; + hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "8.0.0"; + hash = "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "8.0.0"; + hash = "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "8.0.0"; + hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "8.0.0"; + hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "8.0.0"; + hash = "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "8.0.0"; + hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "8.0.0"; + hash = "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "8.0.0"; + hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "7.0.1"; + hash = "sha256-05mravm6SK0wNV3BKDTmN+8/1RxcPOM9kaUvGhjWY3c="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "8.0.0"; + hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "8.0.0"; + hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "8.0.0"; + hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; + }) + (fetchNuGet { + pname = "Microsoft.IO.Redist"; + version = "6.0.0"; + hash = "sha256-pa3MT+QWrWeehQwUWtTS/Rwto8IIDgAt+zLqaUAQoJ0="; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.3.2"; + hash = "sha256-Q8owHXaXkJPy13yGlj+VYGS9XMqYWUZYB6yoT0/m4ek="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Ref"; + version = "6.0.36"; + hash = "sha256-9LZgVoIFF8qNyUu8kdJrYGLutMF/cL2K82HN2ywwlx8="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.3"; + hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; + version = "1.0.3"; + hash = "sha256-/6ClVwo5+RE5kWTQWB/93vmbXj37ql8iDlziKWm89Xw="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.8.0"; + hash = "sha256-9TwGrjVvbtyetw67Udp3EMK5MX8j0RFRjduxPCs9ESw="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TranslationLayer"; + version = "17.8.0"; + hash = "sha256-YZG3jGI9zbYx1GZSptBBfvC/qHp5iC2O+TSvCP10JQ0="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading"; + version = "17.6.40"; + hash = "sha256-5HtsgSPV5RdaPREGDvJ7qMOFubb1wMyHwkfTnZs9Zsc="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading.Analyzers"; + version = "17.6.40"; + hash = "sha256-WghLNITEsKTV5pCjogmhfsVD3iO7ghTk0KNrOXzKSS0="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Validation"; + version = "17.6.11"; + hash = "sha256-Lkjp9Ove4+CFP06x/toYpJEiAinuTfn/o+oh0fW3pGM="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "6.0.0"; + hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; + }) + (fetchNuGet { + pname = "Nerdbank.Streams"; + version = "2.10.69"; + hash = "sha256-a0hXKhR7dv6Vm4rlUOD2ffBKG49CC3wzXLCHeTz1ms4="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.0"; + hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "NuGet.Common"; + version = "6.11.0-rc.110"; + hash = "sha256-S0K+RiSHJFzx+qbTJ7KY1Mh/L9hDJfL/F1YjzlhP3ao="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.11.0-rc.110/nuget.common.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Configuration"; + version = "6.11.0-rc.110"; + hash = "sha256-NJzuKWDMUAn8aLt/aB4xht65a9CCnwY0IfnHfFHd/p4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.11.0-rc.110/nuget.configuration.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.DependencyResolver.Core"; + version = "6.11.0-rc.110"; + hash = "sha256-12oRGUo4L7TslA6iV3OoMayG/t3ToOJ4fdGFh2U8Rxo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.11.0-rc.110/nuget.dependencyresolver.core.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Frameworks"; + version = "6.11.0-rc.110"; + hash = "sha256-FmvFhdCJ/xH92tr+7uMNdimcpFxyW7Y/roPcS0TJX3g="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.11.0-rc.110/nuget.frameworks.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.LibraryModel"; + version = "6.11.0-rc.110"; + hash = "sha256-PYiEmV44XWUCK7Wahs8ZQ8GHcL4yO+fT+Y1OQHna68E="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.11.0-rc.110/nuget.librarymodel.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Packaging"; + version = "6.11.0-rc.110"; + hash = "sha256-pnGx4JWJ02X18Qko5TX1DTbbbQj1msdKb0Lrphzyjps="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.11.0-rc.110/nuget.packaging.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.ProjectModel"; + version = "6.11.0-rc.110"; + hash = "sha256-xE1Us1qn3qAbLS/1rdZMWfl5tEO5pCQGp+P+VUrLBOQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.11.0-rc.110/nuget.projectmodel.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Protocol"; + version = "6.11.0-rc.110"; + hash = "sha256-XS8HsEDPoEjBNbfdo1c+PHB6BUOs8IpdfXvkmDsSZD4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.11.0-rc.110/nuget.protocol.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Versioning"; + version = "6.11.0-rc.110"; + hash = "sha256-eyhOSwBFquzExUis+zGgP5gCO/nVSY5IzXcWeeVz/Ww="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.11.0-rc.110/nuget.versioning.6.11.0-rc.110.nupkg"; + }) + (fetchNuGet { + pname = "OmniSharp.Extensions.JsonRpc"; + version = "0.19.9"; + hash = "sha256-n/DjyqXDVxWIPZZ/kdNak7gTFD6638bJtvW3hrEZFWU="; + }) + (fetchNuGet { + pname = "OmniSharp.Extensions.JsonRpc.Generators"; + version = "0.19.9"; + hash = "sha256-38+lTizxqeBkWp6ZvMOe2dVsCG1PbQXjXgerXAsK+zw="; + }) + (fetchNuGet { + pname = "OmniSharp.Extensions.LanguageProtocol"; + version = "0.19.9"; + hash = "sha256-L1O76h4n+qYDCvnKS3j3rwHDW60S4b7s8Cgg8sBbogw="; + }) + (fetchNuGet { + pname = "OmniSharp.Extensions.LanguageServer"; + version = "0.19.9"; + hash = "sha256-cGIRuIqUl3pKfYpeT2mY4RigbZOa2yGf1itbSFydZW0="; + }) + (fetchNuGet { + pname = "OmniSharp.Extensions.LanguageServer.Shared"; + version = "0.19.9"; + hash = "sha256-S27e9BjRaaVcbUle+MF0nRxjHS/fIhNqDyr3aBZyiog="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.bundle_green"; + version = "2.1.8"; + hash = "sha256-2heeK2naqrjk/ggcEPO1GhcumiXU8sC4VNFh/Xr+wd4="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.core"; + version = "2.1.8"; + hash = "sha256-j7004Tk/GyQigot9Sx5cgAU9dzhFfOGs02zaj412x8g="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.lib.e_sqlite3"; + version = "2.1.8"; + hash = "sha256-Omio9F3a0w52x3CLpk/MOCmB5yeaFxVV9ZOMU18eKew="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.dynamic_cdecl"; + version = "2.1.8"; + hash = "sha256-eo+peRW0MEkrczXtlMPNPOKew9k/jH0e4jUzOXI8Y44="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.e_sqlite3"; + version = "2.1.8"; + hash = "sha256-eE2gvpsXhtAmYqdxLhrne+/u4V/o7tbicuGUEWL4p4s="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "6.0.0"; + hash = "sha256-uPetUFZyHfxjScu5x4agjk9pIhbCkt5rG4Axj25npcQ="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "8.0.0"; + hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "5.0.0"; + hash = "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Composition"; + version = "8.0.0"; + hash = "sha256-MnKdjE/qIvAmEeRc3gOn5uJhT0TI3UnUJPjj3TLHFQo="; + }) + (fetchNuGet { + pname = "System.Composition"; + version = "8.0.0"; + hash = "sha256-rA118MFj6soKN++BvD3y9gXAJf0lZJAtGARuznG5+Xg="; + }) + (fetchNuGet { + pname = "System.Composition.AttributedModel"; + version = "8.0.0"; + hash = "sha256-n3aXiBAFIlQicSRLiNtLh++URSUxRBLggsjJ8OMNRpo="; + }) + (fetchNuGet { + pname = "System.Composition.Convention"; + version = "8.0.0"; + hash = "sha256-Z9HOAnH1lt1qc38P3Y0qCf5gwBwiLXQD994okcy53IE="; + }) + (fetchNuGet { + pname = "System.Composition.Hosting"; + version = "8.0.0"; + hash = "sha256-axKJC71oKiNWKy66TVF/c3yoC81k03XHAWab3mGNbr0="; + }) + (fetchNuGet { + pname = "System.Composition.Runtime"; + version = "8.0.0"; + hash = "sha256-AxwZ29+GY0E35Pa255q8AcMnJU52Txr5pBy86t6V1Go="; + }) + (fetchNuGet { + pname = "System.Composition.TypedParts"; + version = "8.0.0"; + hash = "sha256-+ZJawThmiYEUNJ+cB9uJK+u/sCAVZarGd5ShZoSifGo="; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "8.0.0"; + hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; + }) + (fetchNuGet { + pname = "System.Data.DataSetExtensions"; + version = "4.5.0"; + hash = "sha256-qppO0L8BpI7cgaStqBhn6YJYFjFdSwpXlRih0XFsaT4="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.0"; + hash = "sha256-+aODaDEQMqla5RYZeq0Lh66j+xkPYxykrVvSCmJQ+Vs="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "6.0.0"; + hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; + }) + (fetchNuGet { + pname = "System.Formats.Asn1"; + version = "6.0.0"; + hash = "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "7.0.0"; + hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "8.0.0"; + hash = "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "6.0.0"; + hash = "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "8.0.0"; + hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; + }) + (fetchNuGet { + pname = "System.Reflection.MetadataLoadContext"; + version = "6.0.0"; + hash = "sha256-82aeU8c4rnYPLL3ba1ho1fxfpYQt5qrSK5e6ES+OTsY="; + }) + (fetchNuGet { + pname = "System.Resources.Extensions"; + version = "6.0.0"; + hash = "sha256-/EEdeNvp9FrLeVnmowzHk6nn0KmPf6L9Poc7l/R948A="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.3"; + hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "6.0.0"; + hash = "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "6.0.1"; + hash = "sha256-OJ4NJ8E/8l86aR+Hsw+k/7II63Y/zPS+MgC+UfeCXHM="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "6.0.4"; + hash = "sha256-2e0aRybote+OR66bHaNiYpF//4fCiaO3zbR2e9GABUI="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "4.4.0"; + hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Xml"; + version = "6.0.0"; + hash = "sha256-jXst4NyUKOTOmLacSwgQB71W12nKZtveJA25dCtpyys="; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "6.0.0"; + hash = "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "6.0.0"; + hash = "sha256-nGc2A6XYnwqGcq8rfgTRjGr+voISxNe/76k2K36coj4="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "7.0.0"; + hash = "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.4"; + hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "6.0.0"; + hash = "sha256-klGYnsyrjvXaGeqgfnMf/dTAMNtcHY+zM4Xh6v2JfuE="; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "7.0.0"; + hash = "sha256-Cu0gjQsLIR8Yvh0B4cOPJSYVq10a+3F9pVz/C43CNeM="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "8.0.0"; + hash = "sha256-Q6fPtMPNW4+SDKCabJzNS+dw4B04Oxd9sHH505bFtQo="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; + }) + (fetchNuGet { + pname = "System.Windows.Extensions"; + version = "6.0.0"; + hash = "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="; + }) ] diff --git a/pkgs/by-name/om/omorfi/package.nix b/pkgs/by-name/om/omorfi/package.nix index 9360b0fdd104b..824751a368d8b 100644 --- a/pkgs/by-name/om/omorfi/package.nix +++ b/pkgs/by-name/om/omorfi/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, autoreconfHook -, cg3 -, fetchFromGitHub -, fetchpatch -, hfst -, hfst-ospell -, icu -, libvoikko -, makeWrapper -, pkg-config -, python3 -, zip +{ + lib, + stdenv, + autoreconfHook, + cg3, + fetchFromGitHub, + fetchpatch, + hfst, + hfst-ospell, + icu, + libvoikko, + makeWrapper, + pkg-config, + python3, + zip, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/om/omping/package.nix b/pkgs/by-name/om/omping/package.nix index 1efcd98b46f86..4e39e8294d83c 100644 --- a/pkgs/by-name/om/omping/package.nix +++ b/pkgs/by-name/om/omping/package.nix @@ -1,22 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "omping"; version = "0.0.5"; src = fetchFromGitHub { - owner = "troglobit"; - repo = "omping"; - rev = version; + owner = "troglobit"; + repo = "omping"; + rev = version; sha256 = "1f0vsbnhxp7bbgdnfqshryx3nhz2sqdnxdj068s0nmzsh53ckbf7"; }; patches = [ # This can go in 0.0.6+ (fetchpatch { - url = "https://github.com/troglobit/omping/commit/08a31ec1a6eb4e8f88c301ef679c3b6f9893f333.patch"; + url = "https://github.com/troglobit/omping/commit/08a31ec1a6eb4e8f88c301ef679c3b6f9893f333.patch"; sha256 = "1xafyvd46bq53w2zvjw8bdw7vjqbrcrr21cyh6d0zfcn4gif1k0f"; - name = "fix_manpage_install.patch"; + name = "fix_manpage_install.patch"; }) ]; diff --git a/pkgs/by-name/om/omxplayer/package.nix b/pkgs/by-name/om/omxplayer/package.nix index c9c77c1bbcb95..9e6b000819d16 100644 --- a/pkgs/by-name/om/omxplayer/package.nix +++ b/pkgs/by-name/om/omxplayer/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, raspberrypifw -, pcre -, boost -, freetype -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + raspberrypifw, + pcre, + boost, + freetype, + zlib, }: let @@ -20,45 +21,49 @@ let }; configurePlatforms = [ ]; - configureFlags = [ - "--arch=${stdenv.hostPlatform.parsed.cpu.name}" - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - # TODO be better with condition - "--cpu=arm1176jzf-s" - ] ++ [ - "--disable-muxers" - "--enable-muxer=spdif" - "--enable-muxer=adts" - "--disable-encoders" - "--enable-encoder=ac3" - "--enable-encoder=aac" - "--disable-decoder=mpeg_xvmc" - "--disable-devices" - "--disable-ffprobe" - "--disable-ffplay" - "--disable-ffserver" - "--disable-ffmpeg" - "--enable-shared" - "--disable-doc" - "--enable-postproc" - "--enable-gpl" - "--enable-protocol=http" - "--enable-pthreads" - "--disable-runtime-cpudetect" - "--enable-pic" - "--disable-armv5te" - "--disable-neon" - "--enable-armv6t2" - "--enable-armv6" - "--enable-hardcoded-tables" - "--disable-runtime-cpudetect" - "--disable-debug" - "--arch=${stdenv.hostPlatform.parsed.cpu.name}" - "--target_os=${stdenv.hostPlatform.parsed.kernel.name}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--cross-prefix=${stdenv.cc.targetPrefix}" - "--enable-cross-compile" - ]; + configureFlags = + [ + "--arch=${stdenv.hostPlatform.parsed.cpu.name}" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + # TODO be better with condition + "--cpu=arm1176jzf-s" + ] + ++ [ + "--disable-muxers" + "--enable-muxer=spdif" + "--enable-muxer=adts" + "--disable-encoders" + "--enable-encoder=ac3" + "--enable-encoder=aac" + "--disable-decoder=mpeg_xvmc" + "--disable-devices" + "--disable-ffprobe" + "--disable-ffplay" + "--disable-ffserver" + "--disable-ffmpeg" + "--enable-shared" + "--disable-doc" + "--enable-postproc" + "--enable-gpl" + "--enable-protocol=http" + "--enable-pthreads" + "--disable-runtime-cpudetect" + "--enable-pic" + "--disable-armv5te" + "--disable-neon" + "--enable-armv6t2" + "--enable-armv6" + "--enable-hardcoded-tables" + "--disable-runtime-cpudetect" + "--disable-debug" + "--arch=${stdenv.hostPlatform.parsed.cpu.name}" + "--target_os=${stdenv.hostPlatform.parsed.kernel.name}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--cross-prefix=${stdenv.cc.targetPrefix}" + "--enable-cross-compile" + ]; enableParallelBuilding = true; @@ -89,7 +94,14 @@ stdenv.mkDerivation rec { cp omxplayer.bin $out/bin ''; - buildInputs = [ raspberrypifw ffmpeg pcre boost freetype zlib ]; + buildInputs = [ + raspberrypifw + ffmpeg + pcre + boost + freetype + zlib + ]; meta = with lib; { homepage = "https://github.com/huceke/omxplayer"; diff --git a/pkgs/by-name/on/onagre/package.nix b/pkgs/by-name/on/onagre/package.nix index 5afed73417134..45861049059db 100644 --- a/pkgs/by-name/on/onagre/package.nix +++ b/pkgs/by-name/on/onagre/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, rustPlatform -, cmake -, pkgconf -, freetype -, expat -, wayland -, xorg -, libxkbcommon -, pop-launcher -, vulkan-loader -, libGL +{ + lib, + fetchFromGitHub, + makeWrapper, + rustPlatform, + cmake, + pkgconf, + freetype, + expat, + wayland, + xorg, + libxkbcommon, + pop-launcher, + vulkan-loader, + libGL, }: rustPlatform.buildRustPackage rec { @@ -27,7 +28,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-17Hw3jtisOXwARpp0jB0hrNax7nzMWS0kCE3ZAruBj8="; - nativeBuildInputs = [ makeWrapper cmake pkgconf ]; + nativeBuildInputs = [ + makeWrapper + cmake + pkgconf + ]; buildInputs = [ expat freetype @@ -37,21 +42,33 @@ rustPlatform.buildRustPackage rec { xorg.libXrandr ]; - postFixup = let - rpath = lib.makeLibraryPath [ libGL vulkan-loader wayland libxkbcommon ]; - in '' - patchelf --set-rpath ${rpath} $out/bin/onagre - wrapProgram $out/bin/onagre \ - --prefix PATH ':' ${lib.makeBinPath [ - pop-launcher - ]} - ''; + postFixup = + let + rpath = lib.makeLibraryPath [ + libGL + vulkan-loader + wayland + libxkbcommon + ]; + in + '' + patchelf --set-rpath ${rpath} $out/bin/onagre + wrapProgram $out/bin/onagre \ + --prefix PATH ':' ${ + lib.makeBinPath [ + pop-launcher + ] + } + ''; meta = with lib; { description = "General purpose application launcher for X and wayland inspired by rofi/wofi and alfred"; homepage = "https://github.com/onagre-launcher/onagre"; license = licenses.mit; - maintainers = [ maintainers.jfvillablanca maintainers.ilya-epifanov ]; + maintainers = [ + maintainers.jfvillablanca + maintainers.ilya-epifanov + ]; platforms = platforms.linux; mainProgram = "onagre"; }; diff --git a/pkgs/by-name/on/onboard/package.nix b/pkgs/by-name/on/onboard/package.nix index 0ebe02881003b..1db2da7e1d48f 100644 --- a/pkgs/by-name/on/onboard/package.nix +++ b/pkgs/by-name/on/onboard/package.nix @@ -1,32 +1,33 @@ -{ fetchurl -, fetchpatch -, lib -, substituteAll -, aspellWithDicts -, at-spi2-core ? null -, atspiSupport ? true -, bash -, glib -, dconf -, gobject-introspection -, gsettings-desktop-schemas -, gtk3 -, hunspell -, hunspellDicts -, hunspellWithDicts -, intltool -, isocodes -, libappindicator-gtk3 -, libcanberra-gtk3 -, mousetweaks -, udev -, libxkbcommon -, pkg-config -, procps -, python3 -, wrapGAppsHook3 -, xorg -, yelp +{ + fetchurl, + fetchpatch, + lib, + substituteAll, + aspellWithDicts, + at-spi2-core ? null, + atspiSupport ? true, + bash, + glib, + dconf, + gobject-introspection, + gsettings-desktop-schemas, + gtk3, + hunspell, + hunspellDicts, + hunspellWithDicts, + intltool, + isocodes, + libappindicator-gtk3, + libcanberra-gtk3, + mousetweaks, + udev, + libxkbcommon, + pkg-config, + procps, + python3, + wrapGAppsHook3, + xorg, + yelp, }: let diff --git a/pkgs/by-name/on/ondir/package.nix b/pkgs/by-name/on/ondir/package.nix index 0bcffd5ade712..163ebcb13e678 100644 --- a/pkgs/by-name/on/ondir/package.nix +++ b/pkgs/by-name/on/ondir/package.nix @@ -16,26 +16,26 @@ stdenv.mkDerivation { }; installPhase = '' - runHook preInstall + runHook preInstall - make DESTDIR="$out" PREFIX= install - cp scripts.* $out + make DESTDIR="$out" PREFIX= install + cp scripts.* $out - runHook postInstall + runHook postInstall ''; meta = with lib; { description = "Small program to automate tasks specific to certain directories"; longDescription = '' - It works by executing scripts in directories when you enter and leave them. - This is done by overriding the shell builtins cd, pushd, and popd, - which is a manual action. - The user is required to add a snippet to their shell initialisation file like .bashrc or .profile. + It works by executing scripts in directories when you enter and leave them. + This is done by overriding the shell builtins cd, pushd, and popd, + which is a manual action. + The user is required to add a snippet to their shell initialisation file like .bashrc or .profile. - Which commands are executed on directory entry and leave is done - in predefined locations with a .ondirrc file. + Which commands are executed on directory entry and leave is done + in predefined locations with a .ondirrc file. - See man ondir for more information + See man ondir for more information ''; homepage = "https://github.com/alecthomas/ondir/"; license = licenses.gpl2Only; diff --git a/pkgs/by-name/on/one-click-backup/package.nix b/pkgs/by-name/on/one-click-backup/package.nix index c12693559670c..26ae411f0fed8 100644 --- a/pkgs/by-name/on/one-click-backup/package.nix +++ b/pkgs/by-name/on/one-click-backup/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, ninja -, qt6 -, extra-cmake-modules +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + ninja, + qt6, + extra-cmake-modules, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/on/onedriver/package.nix b/pkgs/by-name/on/onedriver/package.nix index 20e8474c27edc..76c5ae58f0c39 100644 --- a/pkgs/by-name/on/onedriver/package.nix +++ b/pkgs/by-name/on/onedriver/package.nix @@ -1,14 +1,15 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, pkg-config -, webkitgtk_4_1 -, glib -, fuse -, installShellFiles -, wrapGAppsHook3 -, glib-networking -, wrapperDir ? "/run/wrappers/bin" +{ + buildGoModule, + fetchFromGitHub, + lib, + pkg-config, + webkitgtk_4_1, + glib, + fuse, + installShellFiles, + wrapGAppsHook3, + glib-networking, + wrapperDir ? "/run/wrappers/bin", }: let pname = "onedriver"; @@ -25,8 +26,17 @@ buildGoModule { inherit pname version src; vendorHash = "sha256-OOiiKtKb+BiFkoSBUQQfqm4dMfDW3Is+30Kwcdg8LNA="; - nativeBuildInputs = [ pkg-config installShellFiles wrapGAppsHook3 ]; - buildInputs = [ webkitgtk_4_1 glib fuse glib-networking ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + wrapGAppsHook3 + ]; + buildInputs = [ + webkitgtk_4_1 + glib + fuse + glib-networking + ]; ldflags = [ "-X github.com/jstaf/onedriver/cmd/common.commit=v${version}" ]; diff --git a/pkgs/by-name/on/oneko/package.nix b/pkgs/by-name/on/oneko/package.nix index a67bedd42912c..74eb7231fc8de 100644 --- a/pkgs/by-name/on/oneko/package.nix +++ b/pkgs/by-name/on/oneko/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, imake -, gccmakedep -, libX11 -, libXext +{ + lib, + stdenv, + fetchFromGitHub, + imake, + gccmakedep, + libX11, + libXext, }: stdenv.mkDerivation rec { @@ -17,23 +18,38 @@ stdenv.mkDerivation rec { rev = version_name; sha256 = "0vx12v5fm8ar3f1g6jbpmd3b1q652d32nc67ahkf28djbqjgcbnc"; }; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libX11 libXext ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libX11 + libXext + ]; - makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ]; - installTargets = [ "install" "install.man" ]; + makeFlags = [ + "BINDIR=$(out)/bin" + "MANPATH=$(out)/share/man" + ]; + installTargets = [ + "install" + "install.man" + ]; meta = with lib; { description = "Creates a cute cat chasing around your mouse cursor"; longDescription = '' - Oneko changes your mouse cursor into a mouse - and creates a little cute cat, which starts - chasing around your mouse cursor. - When the cat is done catching the mouse, it starts sleeping. + Oneko changes your mouse cursor into a mouse + and creates a little cute cat, which starts + chasing around your mouse cursor. + When the cat is done catching the mouse, it starts sleeping. ''; homepage = "https://github.com/IreneKnapp/oneko"; license = with licenses; [ publicDomain ]; - maintainers = with maintainers; [ xaverdh irenes ]; + maintainers = with maintainers; [ + xaverdh + irenes + ]; platforms = platforms.unix; mainProgram = "oneko"; }; diff --git a/pkgs/by-name/on/oneshot/package.nix b/pkgs/by-name/on/oneshot/package.nix index 34c9b0d7f7be1..f7b57d070b721 100644 --- a/pkgs/by-name/on/oneshot/package.nix +++ b/pkgs/by-name/on/oneshot/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildGoModule, testers, oneshot }: +{ + lib, + fetchFromGitHub, + buildGoModule, + testers, + oneshot, +}: buildGoModule rec { pname = "oneshot"; diff --git a/pkgs/by-name/on/onesixtyone/package.nix b/pkgs/by-name/on/onesixtyone/package.nix index 1ff1b0266eaf0..b1392e7b00f7f 100644 --- a/pkgs/by-name/on/onesixtyone/package.nix +++ b/pkgs/by-name/on/onesixtyone/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "onesixtyone"; @@ -28,4 +32,3 @@ stdenv.mkDerivation rec { mainProgram = "onesixtyone"; }; } - diff --git a/pkgs/by-name/on/onestepback/package.nix b/pkgs/by-name/on/onestepback/package.nix index ed0d0235fc06b..37c9a05684aae 100644 --- a/pkgs/by-name/on/onestepback/package.nix +++ b/pkgs/by-name/on/onestepback/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "onestepback"; diff --git a/pkgs/by-name/on/oniguruma/package.nix b/pkgs/by-name/on/oniguruma/package.nix index cf00629e38423..33c79220dd2d0 100644 --- a/pkgs/by-name/on/oniguruma/package.nix +++ b/pkgs/by-name/on/oniguruma/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "oniguruma"; @@ -10,7 +15,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-YBYr07n8b0iG1MegeSX/03QWdzL1Xc6MSRv9nNgYps8="; }; - outputs = [ "dev" "lib" "out" ]; + outputs = [ + "dev" + "lib" + "out" + ]; outputBin = "dev"; # onig-config nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/on/onioncircuits/package.nix b/pkgs/by-name/on/onioncircuits/package.nix index e15509925bcb9..39bc5c47ed4c5 100644 --- a/pkgs/by-name/on/onioncircuits/package.nix +++ b/pkgs/by-name/on/onioncircuits/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitLab -, gobject-introspection -, intltool -, python3 -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchFromGitLab, + gobject-introspection, + intltool, + python3, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { @@ -45,4 +46,3 @@ python3.pkgs.buildPythonApplication rec { maintainers = with maintainers; [ wattmto ]; }; } - diff --git a/pkgs/by-name/on/onlykey-agent/package.nix b/pkgs/by-name/on/onlykey-agent/package.nix index d78c1b89b4f6c..1894f333e21d2 100644 --- a/pkgs/by-name/on/onlykey-agent/package.nix +++ b/pkgs/by-name/on/onlykey-agent/package.nix @@ -1,48 +1,53 @@ -{ lib -, python3Packages -, fetchPypi -, onlykey-cli +{ + lib, + python3Packages, + fetchPypi, + onlykey-cli, }: let - bech32 = with python3Packages; buildPythonPackage rec { - pname = "bech32"; - version = "1.2.0"; + bech32 = + with python3Packages; + buildPythonPackage rec { + pname = "bech32"; + version = "1.2.0"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-fW24IUYDvXhx/PpsCCbvaLhbCr2Q+iHChanF4h0r2Jk="; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-fW24IUYDvXhx/PpsCCbvaLhbCr2Q+iHChanF4h0r2Jk="; + }; }; - }; # onlykey requires a patched version of libagent - lib-agent = with python3Packages; libagent.overridePythonAttrs (oa: rec{ - version = "1.0.6"; - src = fetchPypi { - inherit version; - pname = "lib-agent"; - sha256 = "sha256-IrJizIHDIPHo4tVduUat7u31zHo3Nt8gcMOyUUqkNu0="; - }; - propagatedBuildInputs = oa.propagatedBuildInputs or [ ] ++ [ - bech32 - cryptography - cython - docutils - pycryptodome - pynacl - wheel - ]; + lib-agent = + with python3Packages; + libagent.overridePythonAttrs (oa: rec { + version = "1.0.6"; + src = fetchPypi { + inherit version; + pname = "lib-agent"; + sha256 = "sha256-IrJizIHDIPHo4tVduUat7u31zHo3Nt8gcMOyUUqkNu0="; + }; + propagatedBuildInputs = oa.propagatedBuildInputs or [ ] ++ [ + bech32 + cryptography + cython + docutils + pycryptodome + pynacl + wheel + ]; - # turn off testing because I can't get it to work - doCheck = false; - pythonImportsCheck = [ "libagent" ]; + # turn off testing because I can't get it to work + doCheck = false; + pythonImportsCheck = [ "libagent" ]; - meta = oa.meta // { - description = "Using OnlyKey as hardware SSH and GPG agent"; - homepage = "https://github.com/trustcrypto/onlykey-agent/tree/ledger"; - maintainers = with lib.maintainers; [ kalbasit ]; - }; - }); + meta = oa.meta // { + description = "Using OnlyKey as hardware SSH and GPG agent"; + homepage = "https://github.com/trustcrypto/onlykey-agent/tree/ledger"; + maintainers = with lib.maintainers; [ kalbasit ]; + }; + }); in python3Packages.buildPythonApplication rec { pname = "onlykey-agent"; @@ -53,7 +58,11 @@ python3Packages.buildPythonApplication rec { hash = "sha256-SbGb7CjcD7cFPvASZtip56B4uxRiFKZBvbsf6sb8fds="; }; - propagatedBuildInputs = with python3Packages; [ lib-agent onlykey-cli setuptools ]; + propagatedBuildInputs = with python3Packages; [ + lib-agent + onlykey-cli + setuptools + ]; # move the python library into the sitePackages. postInstall = '' diff --git a/pkgs/by-name/on/onlykey-cli/package.nix b/pkgs/by-name/on/onlykey-cli/package.nix index be95675dd66e6..df499ea1a69c3 100644 --- a/pkgs/by-name/on/onlykey-cli/package.nix +++ b/pkgs/by-name/on/onlykey-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "onlykey-cli"; diff --git a/pkgs/by-name/on/onlyoffice-documentserver/package.nix b/pkgs/by-name/on/onlyoffice-documentserver/package.nix index e494344d72cd5..76fb0d7f50304 100644 --- a/pkgs/by-name/on/onlyoffice-documentserver/package.nix +++ b/pkgs/by-name/on/onlyoffice-documentserver/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, buildFHSEnv -, corefonts -, dejavu_fonts -, dpkg -, fetchurl -, gcc-unwrapped -, liberation_ttf_v1 -, writeScript -, xorg +{ + lib, + stdenv, + buildFHSEnv, + corefonts, + dejavu_fonts, + dpkg, + fetchurl, + gcc-unwrapped, + liberation_ttf_v1, + writeScript, + xorg, }: let @@ -17,16 +18,19 @@ let pname = "onlyoffice-documentserver"; version = "8.1.3"; - src = fetchurl ({ - "aarch64-linux" = { - url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${version}/onlyoffice-documentserver_arm64.deb"; - sha256 = "sha256-+7hHz1UcnlJNhBAVaYQwK0m2tkgsfbjqY3oa8XU0yxo="; - }; - "x86_64-linux" = { - url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${version}/onlyoffice-documentserver_amd64.deb"; - sha256 = "sha256-jCwcXb97Z9/ZofKLYneJxKAnaZE/Hwvm34GLQu/BoUM="; - }; - }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")); + src = fetchurl ( + { + "aarch64-linux" = { + url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${version}/onlyoffice-documentserver_arm64.deb"; + sha256 = "sha256-+7hHz1UcnlJNhBAVaYQwK0m2tkgsfbjqY3oa8XU0yxo="; + }; + "x86_64-linux" = { + url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${version}/onlyoffice-documentserver_amd64.deb"; + sha256 = "sha256-jCwcXb97Z9/ZofKLYneJxKAnaZE/Hwvm34GLQu/BoUM="; + }; + } + .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}") + ); preferLocalBuild = true; @@ -150,7 +154,10 @@ let ''; homepage = "https://github.com/ONLYOFFICE/DocumentServer"; license = licenses.agpl3Plus; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; sourceProvenance = [ sourceTypes.binaryNativeCode ]; maintainers = with maintainers; [ SuperSandro2000 ]; }; diff --git a/pkgs/by-name/on/onmetal-image/package.nix b/pkgs/by-name/on/onmetal-image/package.nix index 3780bc398b07d..1ab6200b53701 100644 --- a/pkgs/by-name/on/onmetal-image/package.nix +++ b/pkgs/by-name/on/onmetal-image/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/on/onscripter-en/package.nix b/pkgs/by-name/on/onscripter-en/package.nix index 87d350dbd8f14..267c48f33a39d 100644 --- a/pkgs/by-name/on/onscripter-en/package.nix +++ b/pkgs/by-name/on/onscripter-en/package.nix @@ -15,7 +15,6 @@ stdenv, }: - stdenv.mkDerivation (finalAttrs: { pname = "onscripter-en"; version = "20110930"; diff --git a/pkgs/by-name/oo/oobicpl/package.nix b/pkgs/by-name/oo/oobicpl/package.nix index 7f1112311d6b5..c8d5a85b860e0 100644 --- a/pkgs/by-name/oo/oobicpl/package.nix +++ b/pkgs/by-name/oo/oobicpl/package.nix @@ -1,26 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libminc -, bicpl -, arguments -, pcre-cpp }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libminc, + bicpl, + arguments, + pcre-cpp, +}: stdenv.mkDerivation rec { pname = "oobicpl"; version = "unstable-2020-08-12"; src = fetchFromGitHub { - owner = "BIC-MNI"; - repo = pname; - rev = "a9409da8a5bb4925438f32aff577b6333faec28b"; + owner = "BIC-MNI"; + repo = pname; + rev = "a9409da8a5bb4925438f32aff577b6333faec28b"; sha256 = "0b4chjhr32wbb1sash8cq1jfnr7rzdq84hif8anlrjqd3l0gw357"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libminc bicpl arguments pcre-cpp ]; + buildInputs = [ + libminc + bicpl + arguments + pcre-cpp + ]; cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/cmake" @@ -34,6 +41,6 @@ stdenv.mkDerivation rec { description = "Brain Imaging Centre object-oriented programming library (and tools)"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; - license = licenses.free; + license = licenses.free; }; } diff --git a/pkgs/by-name/oo/ookla-speedtest/package.nix b/pkgs/by-name/oo/ookla-speedtest/package.nix index e36d5f7f17774..95492effde557 100644 --- a/pkgs/by-name/oo/ookla-speedtest/package.nix +++ b/pkgs/by-name/oo/ookla-speedtest/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: let stdenv = stdenvNoCC; @@ -34,7 +38,8 @@ in stdenv.mkDerivation rec { inherit pname version; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); sourceRoot = "."; diff --git a/pkgs/by-name/oo/ooklaserver/package.nix b/pkgs/by-name/oo/ooklaserver/package.nix index 0f265470b6fdf..00cf271868b15 100644 --- a/pkgs/by-name/oo/ooklaserver/package.nix +++ b/pkgs/by-name/oo/ooklaserver/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: let filenameMapping = { diff --git a/pkgs/by-name/oo/oonf-olsrd2/package.nix b/pkgs/by-name/oo/oonf-olsrd2/package.nix index 8cdee7c465e1f..8f64185dd51b8 100644 --- a/pkgs/by-name/oo/oonf-olsrd2/package.nix +++ b/pkgs/by-name/oo/oonf-olsrd2/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/oo/ooniprobe-cli/package.nix b/pkgs/by-name/oo/ooniprobe-cli/package.nix index d1ed1447c1a80..9c14e54425d81 100644 --- a/pkgs/by-name/oo/ooniprobe-cli/package.nix +++ b/pkgs/by-name/oo/ooniprobe-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { subPackages = [ "cmd/ooniprobe" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { changelog = "https://github.com/ooni/probe-cli/releases/tag/${src.rev}"; diff --git a/pkgs/by-name/op/opae/package.nix b/pkgs/by-name/op/opae/package.nix index 339edf234f537..ccbd9bcb009cb 100644 --- a/pkgs/by-name/op/opae/package.nix +++ b/pkgs/by-name/op/opae/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, libuuid, json_c -, doxygen, perl, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libuuid, + json_c, + doxygen, + perl, + python3, }: stdenv.mkDerivation rec { @@ -9,12 +16,12 @@ stdenv.mkDerivation rec { # the tag has a silly name for some reason. drop this in the future if # possible - tver = "${version}-5"; + tver = "${version}-5"; src = fetchFromGitHub { - owner = "opae"; - repo = "opae-sdk"; - rev = "refs/tags/${tver}"; + owner = "opae"; + repo = "opae-sdk"; + rev = "refs/tags/${tver}"; sha256 = "1dmkpnr9dqxwjhbdzx2r3fdfylvinda421yyg319am5gzlysxwi8"; }; @@ -26,8 +33,17 @@ stdenv.mkDerivation rec { "-Wno-array-bounds" ]; - nativeBuildInputs = [ cmake doxygen perl python3.pkgs.sphinx ]; - buildInputs = [ libuuid json_c python3 ]; + nativeBuildInputs = [ + cmake + doxygen + perl + python3.pkgs.sphinx + ]; + buildInputs = [ + libuuid + json_c + python3 + ]; # Set the Epoch to 1980; otherwise the Python wheel/zip code # gets very angry @@ -41,9 +57,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open Programmable Acceleration Engine SDK"; - homepage = "https://01.org/opae"; - license = licenses.bsd3; - platforms = [ "x86_64-linux" ]; + homepage = "https://01.org/opae"; + license = licenses.bsd3; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ thoughtpolice ]; # Needs a major update, not compatible with gcc-11. broken = true; diff --git a/pkgs/by-name/op/opaline/package.nix b/pkgs/by-name/op/opaline/package.nix index e8fbae0f241b8..f65c5cd3634dd 100644 --- a/pkgs/by-name/op/opaline/package.nix +++ b/pkgs/by-name/op/opaline/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ocamlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + ocamlPackages, +}: stdenv.mkDerivation rec { version = "0.3.3"; @@ -11,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-6htaiFIcRMUYWn0U7zTNfCyDaTgDEvPch2q57qzvND4="; }; - nativeBuildInputs = with ocamlPackages; [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + findlib + ocamlbuild + ]; buildInputs = with ocamlPackages; [ opam-file-format ]; preInstall = "mkdir -p $out/bin"; diff --git a/pkgs/by-name/op/opam2json/package.nix b/pkgs/by-name/op/opam2json/package.nix index 844e6f816134b..68a35dd36aa73 100644 --- a/pkgs/by-name/op/opam2json/package.nix +++ b/pkgs/by-name/op/opam2json/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, opam-installer, ocamlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + opam-installer, + ocamlPackages, +}: stdenv.mkDerivation rec { pname = "opam2json"; version = "0.4"; @@ -10,8 +16,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-5pXfbUfpVABtKbii6aaI2EdAZTjHJ2QntEf0QD2O5AM="; }; - buildInputs = with ocamlPackages; [ yojson opam-file-format cmdliner ]; - nativeBuildInputs = with ocamlPackages; [ ocaml findlib opam-installer ]; + buildInputs = with ocamlPackages; [ + yojson + opam-file-format + cmdliner + ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + findlib + opam-installer + ]; preInstall = ''export PREFIX="$out"''; diff --git a/pkgs/by-name/op/opcr-policy/package.nix b/pkgs/by-name/op/opcr-policy/package.nix index 8eb77449342a7..3fa49604bfeb9 100644 --- a/pkgs/by-name/op/opcr-policy/package.nix +++ b/pkgs/by-name/op/opcr-policy/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -15,7 +16,11 @@ buildGoModule rec { }; vendorHash = "sha256-ASR8Y/L8ub0w36fO+UpJ5ZpijP+YCLVbRtnhzvMNj9U="; - ldflags = [ "-s" "-w" "-X github.com/opcr-io/policy/pkg/version.ver=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/opcr-io/policy/pkg/version.ver=${version}" + ]; subPackages = [ "cmd/policy" ]; # disable go workspaces @@ -43,6 +48,9 @@ buildGoModule rec { It uses OCI standards to manage artifacts, and the Open Policy Agent (OPA) to compile and run. ''; license = licenses.asl20; - maintainers = with maintainers; [ naphta jk ]; + maintainers = with maintainers; [ + naphta + jk + ]; }; } diff --git a/pkgs/by-name/op/opcua-commander/package.nix b/pkgs/by-name/op/opcua-commander/package.nix index be6a5569a9942..31f00279f8756 100644 --- a/pkgs/by-name/op/opcua-commander/package.nix +++ b/pkgs/by-name/op/opcua-commander/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, typescript -, esbuild -, makeWrapper -, nodejs +{ + lib, + buildNpmPackage, + fetchFromGitHub, + typescript, + esbuild, + makeWrapper, + nodejs, }: buildNpmPackage rec { pname = "opcua-commander"; @@ -18,7 +19,11 @@ buildNpmPackage rec { }; npmDepsHash = "sha256-g4WFLh+UnziQR2NZ4eL84Vrk+Mz99kFQiBkdGmBEMHE="; - nativeBuildInputs = [ esbuild typescript makeWrapper ]; + nativeBuildInputs = [ + esbuild + typescript + makeWrapper + ]; postPatch = '' substituteInPlace package.json \ @@ -31,7 +36,7 @@ buildNpmPackage rec { # ./opcua-commander -e opc.tcp://opcuademo.sterfive.com:26543 postFixup = '' wrapProgram $out/bin/opcua-commander \ - --prefix PATH : "${lib.makeBinPath [nodejs]}" + --prefix PATH : "${lib.makeBinPath [ nodejs ]}" ''; meta = with lib; { diff --git a/pkgs/by-name/op/open-dyslexic/package.nix b/pkgs/by-name/op/open-dyslexic/package.nix index bcfc9fda2b2d8..9df85f40a8240 100644 --- a/pkgs/by-name/op/open-dyslexic/package.nix +++ b/pkgs/by-name/op/open-dyslexic/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: -let version = "0.91.12"; in +let + version = "0.91.12"; +in stdenvNoCC.mkDerivation { pname = "open-dyslexic"; inherit version; diff --git a/pkgs/by-name/op/open-ecard/package.nix b/pkgs/by-name/op/open-ecard/package.nix index a3f3f72bc6313..1a4cd79aa5dae 100644 --- a/pkgs/by-name/op/open-ecard/package.nix +++ b/pkgs/by-name/op/open-ecard/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, jre, pcsclite, makeDesktopItem, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + pcsclite, + makeDesktopItem, + makeWrapper, +}: let version = "1.2.4"; @@ -16,7 +24,8 @@ let sha256 = "0rpmyv10vjx2yfpm03mqliygcww8af2wnrnrppmsazdplksaxkhs"; }; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "open-ecard"; inherit version; @@ -33,7 +42,10 @@ in stdenv.mkDerivation rec { comment = "Client side implementation of the eCard-API-Framework"; icon = "oec_logo_bg-transparent.svg"; exec = pname; - categories = [ "Utility" "Security" ]; + categories = [ + "Utility" + "Security" + ]; }; installPhase = '' diff --git a/pkgs/by-name/op/open-english-wordnet/package.nix b/pkgs/by-name/op/open-english-wordnet/package.nix index ccd661753c059..47522d7b7829c 100644 --- a/pkgs/by-name/op/open-english-wordnet/package.nix +++ b/pkgs/by-name/op/open-english-wordnet/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, gzip -, python3 -, stdenvNoCC +{ + lib, + fetchFromGitHub, + fetchpatch, + gzip, + python3, + stdenvNoCC, }: stdenvNoCC.mkDerivation (self: { @@ -17,15 +18,21 @@ stdenvNoCC.mkDerivation (self: { hash = "sha256-a1fWIp39uuJZL1aFX/r+ttLB1+kwh/XPHwphgENTQ5M="; }; - patches = lib.mapAttrsToList (rev: hash: fetchpatch { - url = "https://github.com/globalwordnet/english-wordnet/commit/${rev}.patch"; - inherit hash; - }) { - # Upstream commit bumping the version number, accidentally ommited from the tagged release - "bc07902f8995b62c70f01a282b23f40f30630540" = "sha256-1e4MG/k86g3OFUhiShCCbNXnvDKrYFr1KlGVsGl++KI="; - # PR #982, “merge.py: Make result independent of filesystem order” - "6da46a48dd76a48ad9ff563e6c807b8271fc83cd" = "sha256-QkkJH7NVGy/IbeSWkotU80IGF4esz0b8mIL9soHdQtQ="; - }; + patches = + lib.mapAttrsToList + ( + rev: hash: + fetchpatch { + url = "https://github.com/globalwordnet/english-wordnet/commit/${rev}.patch"; + inherit hash; + } + ) + { + # Upstream commit bumping the version number, accidentally ommited from the tagged release + "bc07902f8995b62c70f01a282b23f40f30630540" = "sha256-1e4MG/k86g3OFUhiShCCbNXnvDKrYFr1KlGVsGl++KI="; + # PR #982, “merge.py: Make result independent of filesystem order” + "6da46a48dd76a48ad9ff563e6c807b8271fc83cd" = "sha256-QkkJH7NVGy/IbeSWkotU80IGF4esz0b8mIL9soHdQtQ="; + }; # TODO(nicoo): make compression optional? nativeBuildInputs = [ diff --git a/pkgs/by-name/op/open-fonts/package.nix b/pkgs/by-name/op/open-fonts/package.nix index a6f2db7542dc6..a0ff9f38ede87 100644 --- a/pkgs/by-name/op/open-fonts/package.nix +++ b/pkgs/by-name/op/open-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "open-fonts"; diff --git a/pkgs/by-name/op/open-fprintd/package.nix b/pkgs/by-name/op/open-fprintd/package.nix index 06f46d217dfb9..1bdb2f2cade42 100644 --- a/pkgs/by-name/op/open-fprintd/package.nix +++ b/pkgs/by-name/op/open-fprintd/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, python3Packages, gobject-introspection, wrapGAppsNoGuiHook }: +{ + lib, + fetchFromGitHub, + python3Packages, + gobject-introspection, + wrapGAppsNoGuiHook, +}: python3Packages.buildPythonPackage rec { pname = "open-fprintd"; @@ -11,9 +17,15 @@ python3Packages.buildPythonPackage rec { hash = "sha256-uVFuwtsmR/9epoqot3lJ/5v5OuJjuRjL7FJF7oXNDzU="; }; - nativeBuildInputs = [ wrapGAppsNoGuiHook gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsNoGuiHook + gobject-introspection + ]; - propagatedBuildInputs = with python3Packages; [ dbus-python pygobject3 ]; + propagatedBuildInputs = with python3Packages; [ + dbus-python + pygobject3 + ]; checkInputs = with python3Packages; [ dbus-python ]; @@ -40,8 +52,7 @@ python3Packages.buildPythonPackage rec { ''; meta = with lib; { - description = - "Fprintd replacement which allows you to have your own backend as a standalone service"; + description = "Fprintd replacement which allows you to have your own backend as a standalone service"; homepage = "https://github.com/uunicorn/open-fprintd"; license = licenses.gpl2Only; platforms = platforms.linux; diff --git a/pkgs/by-name/op/open-in-mpv/package.nix b/pkgs/by-name/op/open-in-mpv/package.nix index 265aa72d72961..c2447d7c0bda3 100644 --- a/pkgs/by-name/op/open-in-mpv/package.nix +++ b/pkgs/by-name/op/open-in-mpv/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' install -Dm444 -t $out/share/applications scripts/open-in-mpv.desktop diff --git a/pkgs/by-name/op/open-pdf-sign/package.nix b/pkgs/by-name/op/open-pdf-sign/package.nix index 1b87ca87728e3..3cbd501e7b15d 100644 --- a/pkgs/by-name/op/open-pdf-sign/package.nix +++ b/pkgs/by-name/op/open-pdf-sign/package.nix @@ -1,9 +1,10 @@ -{ fetchurl -, jre -, lib -, makeBinaryWrapper -, nix-update-script -, stdenv +{ + fetchurl, + jre, + lib, + makeBinaryWrapper, + nix-update-script, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/op/open-policy-agent/package.nix b/pkgs/by-name/op/open-policy-agent/package.nix index 86f509a8eae30..50d9247905572 100644 --- a/pkgs/by-name/op/open-policy-agent/package.nix +++ b/pkgs/by-name/op/open-policy-agent/package.nix @@ -1,13 +1,16 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles - -, enableWasmEval ? false +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + + enableWasmEval ? false, }: -assert enableWasmEval && stdenv.hostPlatform.isDarwin -> builtins.throw "building with wasm on darwin is failing in nixpkgs"; +assert + enableWasmEval && stdenv.hostPlatform.isDarwin + -> builtins.throw "building with wasm on darwin is failing in nixpkgs"; buildGoModule rec { pname = "open-policy-agent"; @@ -26,31 +29,38 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X github.com/open-policy-agent/opa/version.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/open-policy-agent/opa/version.Version=${version}" + ]; tags = lib.optional enableWasmEval ( - builtins.trace - ("Warning: enableWasmEval breaks reproducability, " - + "ensure you need wasm evaluation. " - + "`opa build` does not need this feature.") - "opa_wasm"); + builtins.trace ( + "Warning: enableWasmEval breaks reproducability, " + + "ensure you need wasm evaluation. " + + "`opa build` does not need this feature." + ) "opa_wasm" + ); checkFlags = lib.optionals (!enableWasmEval) [ "-skip=TestRegoTargetWasmAndTargetPluginDisablesIndexingTopdownStages" ]; - preCheck = '' - # Feed in all but the e2e tests for testing - # This is because subPackages above limits what is built to just what we - # want but also limits the tests - # Also avoid wasm tests on darwin due to wasmtime-go build issues - getGoDirs() { - go list ./... | grep -v -e e2e ${lib.optionalString stdenv.hostPlatform.isDarwin "-e wasm"} - } - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # remove tests that have "too many open files"/"no space left on device" issues on darwin in hydra - rm server/server_test.go - ''; + preCheck = + '' + # Feed in all but the e2e tests for testing + # This is because subPackages above limits what is built to just what we + # want but also limits the tests + # Also avoid wasm tests on darwin due to wasmtime-go build issues + getGoDirs() { + go list ./... | grep -v -e e2e ${lib.optionalString stdenv.hostPlatform.isDarwin "-e wasm"} + } + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # remove tests that have "too many open files"/"no space left on device" issues on darwin in hydra + rm server/server_test.go + ''; postInstall = '' installShellCompletion --cmd opa \ @@ -86,6 +96,9 @@ buildGoModule rec { in microservices, Kubernetes, CI/CD pipelines, API gateways, and more. ''; license = licenses.asl20; - maintainers = with maintainers; [ lewo jk ]; + maintainers = with maintainers; [ + lewo + jk + ]; }; } diff --git a/pkgs/by-name/op/open-sans/package.nix b/pkgs/by-name/op/open-sans/package.nix index 4883cd818b1c1..9cec3689e55fd 100644 --- a/pkgs/by-name/op/open-sans/package.nix +++ b/pkgs/by-name/op/open-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitLab }: +{ + lib, + stdenvNoCC, + fetchFromGitLab, +}: stdenvNoCC.mkDerivation { pname = "open-sans"; diff --git a/pkgs/by-name/op/open-scq30/package.nix b/pkgs/by-name/op/open-scq30/package.nix index 1028cfb68250b..9973336ca7ab2 100644 --- a/pkgs/by-name/op/open-scq30/package.nix +++ b/pkgs/by-name/op/open-scq30/package.nix @@ -1,19 +1,20 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, protobuf -, wrapGAppsHook4 -, cairo -, dbus -, gdk-pixbuf -, glib -, gtk4 -, libadwaita -, pango -, stdenv -, darwin -, cargo-make +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + protobuf, + wrapGAppsHook4, + cairo, + dbus, + gdk-pixbuf, + glib, + gtk4, + libadwaita, + pango, + stdenv, + darwin, + cargo-make, }: rustPlatform.buildRustPackage rec { @@ -34,20 +35,22 @@ rustPlatform.buildRustPackage rec { cargo-make ]; - buildInputs = [ - cairo - dbus - gdk-pixbuf - glib - gtk4 - libadwaita - pango - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - darwin.apple_sdk.frameworks.CoreBluetooth - darwin.apple_sdk.frameworks.CoreGraphics - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + cairo + dbus + gdk-pixbuf + glib + gtk4 + libadwaita + pango + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.CoreBluetooth + darwin.apple_sdk.frameworks.CoreGraphics + darwin.apple_sdk.frameworks.Foundation + ]; cargoHash = "sha256-YBJd43xOCumQbrvzfV/+F63McYzHg1bGI3icgGzGZrQ="; diff --git a/pkgs/by-name/op/open-stage-control/package.nix b/pkgs/by-name/op/open-stage-control/package.nix index 504351a1a41fc..7df60380a38fd 100644 --- a/pkgs/by-name/op/open-stage-control/package.nix +++ b/pkgs/by-name/op/open-stage-control/package.nix @@ -1,13 +1,14 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeBinaryWrapper -, makeDesktopItem -, copyDesktopItems -, nodejs_18 -, electron -, python3 -, nix-update-script +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeBinaryWrapper, + makeDesktopItem, + copyDesktopItems, + nodejs_18, + electron, + python3, + nix-update-script, }: buildNpmPackage rec { @@ -77,7 +78,12 @@ buildNpmPackage rec { icon = "open-stage-control"; desktopName = "Open Stage Control"; comment = meta.description; - categories = [ "Network" "Audio" "AudioVideo" "Midi" ]; + categories = [ + "Network" + "Audio" + "AudioVideo" + "Midi" + ]; startupWMClass = "open-stage-control"; }) ]; diff --git a/pkgs/by-name/op/open-wbo/package.nix b/pkgs/by-name/op/open-wbo/package.nix index 798643acc1bba..0776d66a8ae2d 100644 --- a/pkgs/by-name/op/open-wbo/package.nix +++ b/pkgs/by-name/op/open-wbo/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, zlib, gmp }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + gmp, +}: stdenv.mkDerivation { pname = "open-wbo"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { sha256 = "1742i15qfsbf49c4r837wz35c1p7yafvz7ar6vmgcj6cmfwr8jb4"; }; - buildInputs = [ zlib gmp ]; + buildInputs = [ + zlib + gmp + ]; makeFlags = [ "r" ]; installPhase = '' diff --git a/pkgs/by-name/op/openapi-changes/package.nix b/pkgs/by-name/op/openapi-changes/package.nix index 97d58a58bbc74..05bec35664f1e 100644 --- a/pkgs/by-name/op/openapi-changes/package.nix +++ b/pkgs/by-name/op/openapi-changes/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGo123Module -, fetchFromGitHub -, git -, makeWrapper +{ + lib, + buildGo123Module, + fetchFromGitHub, + git, + makeWrapper, }: buildGo123Module rec { diff --git a/pkgs/by-name/op/openapi-tui/package.nix b/pkgs/by-name/op/openapi-tui/package.nix index 6673dd6e9ca14..ec88d90d8a479 100644 --- a/pkgs/by-name/op/openapi-tui/package.nix +++ b/pkgs/by-name/op/openapi-tui/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/op/openarena/package.nix b/pkgs/by-name/op/openarena/package.nix index 211dbcd251067..985c2b5c50aa0 100644 --- a/pkgs/by-name/op/openarena/package.nix +++ b/pkgs/by-name/op/openarena/package.nix @@ -1,24 +1,25 @@ -{ lib -, fetchzip -, fetchFromGitHub -, stdenv -, fetchpatch -, copyDesktopItems -, curl -, makeBinaryWrapper -, pkg-config -, which -, freetype -, libglvnd -, libjpeg -, libogg -, libvorbis -, libxmp -, openal -, SDL2 -, speex -, makeDesktopItem -, nixosTests +{ + lib, + fetchzip, + fetchFromGitHub, + stdenv, + fetchpatch, + copyDesktopItems, + curl, + makeBinaryWrapper, + pkg-config, + which, + freetype, + libglvnd, + libjpeg, + libogg, + libvorbis, + libxmp, + openal, + SDL2, + speex, + makeDesktopItem, + nixosTests, }: let @@ -99,7 +100,10 @@ stdenv.mkDerivation (finalAttrs: { icon = "openarena"; comment = "A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena"; desktopName = "OpenArena"; - categories = [ "Game" "ActionGame" ]; + categories = [ + "Game" + "ActionGame" + ]; }) ]; @@ -110,7 +114,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "http://openarena.ws/"; license = lib.licenses.gpl2Plus; mainProgram = "openarena"; - maintainers = with lib.maintainers; [ drupol wyvie ]; + maintainers = with lib.maintainers; [ + drupol + wyvie + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/op/openbgpd/package.nix b/pkgs/by-name/op/openbgpd/package.nix index f9ccdcf26d15c..a6decdcf8ff6f 100644 --- a/pkgs/by-name/op/openbgpd/package.nix +++ b/pkgs/by-name/op/openbgpd/package.nix @@ -1,8 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, m4, bison }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + m4, + bison, +}: let - openbsd_version = - "OPENBSD_6_8"; # This has to be equal to ${src}/OPENBSD_BRANCH + openbsd_version = "OPENBSD_6_8"; # This has to be equal to ${src}/OPENBSD_BRANCH openbsd = fetchFromGitHub { name = "portable"; owner = "openbgpd-portable"; @@ -10,7 +18,8 @@ let rev = openbsd_version; sha256 = "sha256-vCVK5k4g6aW2z2fg7Kv0uvkX7f34aRc8K2myb3jjl6w="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "opengpd"; version = "6.8p0"; @@ -21,7 +30,13 @@ in stdenv.mkDerivation rec { sha256 = "sha256-TKs6tt/SCWes6kYAGIrSShZgOLf7xKh26xG3Zk7wCCw="; }; - nativeBuildInputs = [ autoconf automake libtool m4 bison ]; + nativeBuildInputs = [ + autoconf + automake + libtool + m4 + bison + ]; preConfigure = '' mkdir ./openbsd @@ -42,8 +57,7 @@ in stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-fcommon"; meta = with lib; { - description = - "A free implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol"; + description = "A free implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol"; license = licenses.isc; homepage = "http://www.openbgpd.org/"; maintainers = with maintainers; [ kloenk ]; diff --git a/pkgs/by-name/op/openboardview/package.nix b/pkgs/by-name/op/openboardview/package.nix index a3a906c25c2b4..c68764ee1f6af 100644 --- a/pkgs/by-name/op/openboardview/package.nix +++ b/pkgs/by-name/op/openboardview/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, gitUpdater -, cmake -, pkg-config -, python3 -, SDL2 -, fontconfig -, gtk3 -, wrapGAppsHook3 -, darwin +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + gitUpdater, + cmake, + pkg-config, + python3, + SDL2, + fontconfig, + gtk3, + wrapGAppsHook3, + darwin, }: let @@ -37,10 +38,21 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config python3 wrapGAppsHook3 ]; - buildInputs = [ SDL2 fontconfig gtk3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa + nativeBuildInputs = [ + cmake + pkg-config + python3 + wrapGAppsHook3 ]; + buildInputs = + [ + SDL2 + fontconfig + gtk3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; postPatch = '' substituteInPlace src/openboardview/CMakeLists.txt \ @@ -53,13 +65,15 @@ stdenv.mkDerivation rec { ]; dontWrapGApps = true; - postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' + postFixup = + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p "$out/Applications" mv "$out/openboardview.app" "$out/Applications/OpenBoardView.app" - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' wrapGApp "$out/bin/${pname}" \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gtk3 ]} - ''; + ''; passthru.updateScript = gitUpdater { ignoredVersions = ''.*\.90\..*''; diff --git a/pkgs/by-name/op/openbox/package.nix b/pkgs/by-name/op/openbox/package.nix index c5f6886c65903..17587abb9bc51 100644 --- a/pkgs/by-name/op/openbox/package.nix +++ b/pkgs/by-name/op/openbox/package.nix @@ -1,6 +1,23 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, python3 -, libxml2, libXinerama, libXcursor, libXau, libXrandr, libICE, libSM -, imlib2, pango, libstartup_notification, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + pkg-config, + python3, + libxml2, + libXinerama, + libXcursor, + libXau, + libXrandr, + libICE, + libSM, + imlib2, + pango, + libstartup_notification, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "openbox"; @@ -15,13 +32,19 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 - libXinerama libXcursor libXau libXrandr libICE libSM + libXinerama + libXcursor + libXau + libXrandr + libICE + libSM libstartup_notification python3 ]; propagatedBuildInputs = [ - pango imlib2 + pango + imlib2 ]; pythonPath = with python3.pkgs; [ diff --git a/pkgs/by-name/op/openbsm/package.nix b/pkgs/by-name/op/openbsm/package.nix index 32d7bf0743843..7fb9dd48fa20a 100644 --- a/pkgs/by-name/op/openbsm/package.nix +++ b/pkgs/by-name/op/openbsm/package.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib }: +{ + stdenv, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation rec { pname = "openbsm"; @@ -7,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = pname; repo = pname; - rev = lib.toUpper (builtins.replaceStrings ["." "-"] ["_" "_"] "${pname}-${version}"); + rev = lib.toUpper (builtins.replaceStrings [ "." "-" ] [ "_" "_" ] "${pname}-${version}"); sha256 = "0b98359hd8mm585sh145ss828pg2y8vgz38lqrb7nypapiyqdnd1"; }; diff --git a/pkgs/by-name/op/opencbm/package.nix b/pkgs/by-name/op/opencbm/package.nix index 434b3d421de22..88fc9aa8a15b8 100644 --- a/pkgs/by-name/op/opencbm/package.nix +++ b/pkgs/by-name/op/opencbm/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cc65 -, ncurses -, pkg-config -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + cc65, + ncurses, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/op/opencl-clang/package.nix b/pkgs/by-name/op/opencl-clang/package.nix index ecd22f70b772c..3a195fc68aa63 100644 --- a/pkgs/by-name/op/opencl-clang/package.nix +++ b/pkgs/by-name/op/opencl-clang/package.nix @@ -1,22 +1,27 @@ -{ lib -, stdenv -, applyPatches -, fetchFromGitHub -, cmake -, git -, llvmPackages_14 -, spirv-llvm-translator -, buildWithPatches ? true +{ + lib, + stdenv, + applyPatches, + fetchFromGitHub, + cmake, + git, + llvmPackages_14, + spirv-llvm-translator, + buildWithPatches ? true, }: let - addPatches = component: pkg: pkg.overrideAttrs (oldAttrs: { - postPatch = oldAttrs.postPatch or "" + '' - for p in ${passthru.patchesOut}/${component}/*; do - patch -p1 -i "$p" - done - ''; - }); + addPatches = + component: pkg: + pkg.overrideAttrs (oldAttrs: { + postPatch = + oldAttrs.postPatch or "" + + '' + for p in ${passthru.patchesOut}/${component}/*; do + patch -p1 -i "$p" + done + ''; + }); llvmPkgs = llvmPackages_14; inherit (llvmPkgs) llvm; @@ -69,16 +74,18 @@ let ./opencl-headers-dir.patch ]; - postPatch = '' - # fix not be able to find clang from PATH - substituteInPlace cl_headers/CMakeLists.txt \ - --replace " NO_DEFAULT_PATH" "" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Uses linker flags that are not supported on Darwin. - sed -i -e '/SET_LINUX_EXPORTS_FILE/d' CMakeLists.txt - substituteInPlace CMakeLists.txt \ - --replace '-Wl,--no-undefined' "" - ''; + postPatch = + '' + # fix not be able to find clang from PATH + substituteInPlace cl_headers/CMakeLists.txt \ + --replace " NO_DEFAULT_PATH" "" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Uses linker flags that are not supported on Darwin. + sed -i -e '/SET_LINUX_EXPORTS_FILE/d' CMakeLists.txt + substituteInPlace CMakeLists.txt \ + --replace '-Wl,--no-undefined' "" + ''; }; in @@ -86,9 +93,17 @@ stdenv.mkDerivation { pname = "opencl-clang"; inherit version src; - nativeBuildInputs = [ cmake git llvm.dev ]; + nativeBuildInputs = [ + cmake + git + llvm.dev + ]; - buildInputs = [ libclang llvm spirv-llvm-translator' ]; + buildInputs = [ + libclang + llvm + spirv-llvm-translator' + ]; cmakeFlags = [ "-DPREFERRED_LLVM_VERSION=${lib.getVersion llvm}" diff --git a/pkgs/by-name/op/openclonk/package.nix b/pkgs/by-name/op/openclonk/package.nix index bbc1c3be11c7f..ba22ae6b9e77d 100644 --- a/pkgs/by-name/op/openclonk/package.nix +++ b/pkgs/by-name/op/openclonk/package.nix @@ -1,8 +1,27 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, fetchDebianPatch, cmake, pkg-config -, SDL2, libvorbis, libogg, libjpeg, libpng, freetype, glew, tinyxml, openal, libepoxy -, curl -, freealut, readline, libb2, gcc-unwrapped -, enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + fetchDebianPatch, + cmake, + pkg-config, + SDL2, + libvorbis, + libogg, + libjpeg, + libpng, + freetype, + glew, + tinyxml, + openal, + libepoxy, + curl, + freealut, + readline, + libb2, + gcc-unwrapped, + enableSoundtrack ? false, # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther }: let @@ -10,7 +29,8 @@ let url = "http://www.openclonk.org/download/Music.ocg"; sha256 = "1ckj0dlpp5zsnkbb5qxxfxpkiq76jj2fgj91fyf3ll7n0gbwcgw5"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "unstable-2023-10-30"; pname = "openclonk"; @@ -33,20 +53,38 @@ in stdenv.mkDerivation rec { enableParallelInstalling = false; - postInstall = '' - '' + lib.optionalString enableSoundtrack '' - ln -sv ${soundtrack_src} $out/share/games/openclonk/Music.ocg - ''; + postInstall = + '''' + + lib.optionalString enableSoundtrack '' + ln -sv ${soundtrack_src} $out/share/games/openclonk/Music.ocg + ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - SDL2 libvorbis libogg libjpeg libpng freetype glew tinyxml openal freealut - libepoxy curl - readline libb2 + SDL2 + libvorbis + libogg + libjpeg + libpng + freetype + glew + tinyxml + openal + freealut + libepoxy + curl + readline + libb2 ]; - cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ]; + cmakeFlags = [ + "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" + "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" + ]; cmakeBuildType = "RelWithDebInfo"; @@ -56,6 +94,9 @@ in stdenv.mkDerivation rec { license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; mainProgram = "openclonk"; maintainers = [ ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/op/opencollada/package.nix b/pkgs/by-name/op/opencollada/package.nix index 67f18a4a2718a..2e12e13f56c40 100644 --- a/pkgs/by-name/op/opencollada/package.nix +++ b/pkgs/by-name/op/opencollada/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, cmake, pkg-config, libxml2, pcre -, darwin}: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + cmake, + pkg-config, + libxml2, + pcre, + darwin, +}: stdenv.mkDerivation rec { pname = "opencollada"; @@ -23,19 +32,29 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ AGL ]); + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; [ AGL ] + ); - propagatedBuildInputs = [ libxml2 pcre ]; + propagatedBuildInputs = [ + libxml2 + pcre + ]; - postPatch = '' - # Drop blanket -Werror as it tends to fail on newer toolchain for - # minor warnings. In this case it was gcc-13 build failure. - substituteInPlace DAEValidator/CMakeLists.txt --replace-fail ' -Werror"' '"' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp \ - --replace math.h cmath - ''; + postPatch = + '' + # Drop blanket -Werror as it tends to fail on newer toolchain for + # minor warnings. In this case it was gcc-13 build failure. + substituteInPlace DAEValidator/CMakeLists.txt --replace-fail ' -Werror"' '"' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp \ + --replace math.h cmath + ''; meta = { description = "Library for handling the COLLADA file format"; diff --git a/pkgs/by-name/op/opencore-amr/package.nix b/pkgs/by-name/op/opencore-amr/package.nix index 38a50b75027bc..6eef6bade0e41 100644 --- a/pkgs/by-name/op/opencore-amr/package.nix +++ b/pkgs/by-name/op/opencore-amr/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "opencore-amr"; diff --git a/pkgs/by-name/op/opencorsairlink/package.nix b/pkgs/by-name/op/opencorsairlink/package.nix index e4e1791c8971f..7df0acba7b86b 100644 --- a/pkgs/by-name/op/opencorsairlink/package.nix +++ b/pkgs/by-name/op/opencorsairlink/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, libusb1, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libusb1, + pkg-config, +}: stdenv.mkDerivation rec { pname = "OpenCorsairLink"; @@ -30,7 +37,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/audiohacked/OpenCorsairLink"; license = licenses.gpl2Plus; platforms = platforms.all; - maintainers = []; + maintainers = [ ]; mainProgram = "OpenCorsairLink.elf"; }; } diff --git a/pkgs/by-name/op/opencryptoki/package.nix b/pkgs/by-name/op/opencryptoki/package.nix index 67acc540348b4..45e90cc1a3464 100644 --- a/pkgs/by-name/op/opencryptoki/package.nix +++ b/pkgs/by-name/op/opencryptoki/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, bison -, flex -, openldap -, openssl -, trousers -, libcap +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + openldap, + openssl, + trousers, + libcap, }: stdenv.mkDerivation rec { @@ -57,11 +58,11 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - changelog = "https://github.com/opencryptoki/opencryptoki/blob/${src.rev}/ChangeLog"; + changelog = "https://github.com/opencryptoki/opencryptoki/blob/${src.rev}/ChangeLog"; description = "PKCS#11 implementation for Linux"; - homepage = "https://github.com/opencryptoki/opencryptoki"; - license = licenses.cpl10; + homepage = "https://github.com/opencryptoki/opencryptoki"; + license = licenses.cpl10; maintainers = [ ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/op/openct/package.nix b/pkgs/by-name/op/openct/package.nix index c8cc99b3f543f..2b25bf2614c55 100644 --- a/pkgs/by-name/op/openct/package.nix +++ b/pkgs/by-name/op/openct/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, pcsclite, libusb-compat-0_1 -, doxygen, libxslt +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + pcsclite, + libusb-compat-0_1, + doxygen, + libxslt, }: stdenv.mkDerivation rec { @@ -25,8 +33,16 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ pcsclite libusb-compat-0_1 doxygen libxslt ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + pcsclite + libusb-compat-0_1 + doxygen + libxslt + ]; preInstall = '' mkdir -p $out/etc diff --git a/pkgs/by-name/op/opendbx/package.nix b/pkgs/by-name/op/opendbx/package.nix index ba66ba5be18a9..51714e8bbd389 100644 --- a/pkgs/by-name/op/opendbx/package.nix +++ b/pkgs/by-name/op/opendbx/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl, readline, libmysqlclient, postgresql, sqlite }: +{ + lib, + stdenv, + fetchurl, + readline, + libmysqlclient, + postgresql, + sqlite, +}: -let inherit (lib) getDev; in +let + inherit (lib) getDev; +in stdenv.mkDerivation rec { pname = "opendbx"; @@ -17,7 +27,12 @@ stdenv.mkDerivation rec { configureFlagsArray=(--with-backends="mysql pgsql sqlite3") ''; - buildInputs = [ readline libmysqlclient postgresql sqlite ]; + buildInputs = [ + readline + libmysqlclient + postgresql + sqlite + ]; env.NIX_CFLAGS_COMPILE = toString [ # Needed with GCC 12 diff --git a/pkgs/by-name/op/opendkim/package.nix b/pkgs/by-name/op/opendkim/package.nix index 8425d5a815bf9..d61d03069f029 100644 --- a/pkgs/by-name/op/opendkim/package.nix +++ b/pkgs/by-name/op/opendkim/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libbsd, openssl, libmilter -, autoreconfHook, perl, makeWrapper, unbound }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libbsd, + openssl, + libmilter, + autoreconfHook, + perl, + makeWrapper, + unbound, +}: stdenv.mkDerivation rec { pname = "opendkim"; @@ -8,19 +19,28 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "trusteddomainproject"; repo = "OpenDKIM"; - rev = "rel-opendkim-${lib.replaceStrings ["."] ["-"] version}"; + rev = "rel-opendkim-${lib.replaceStrings [ "." ] [ "-" ] version}"; sha256 = "0nx3in8sa6xna4vfacj8g60hfzk61jpj2ldag80xzxip9c3rd2pw"; }; - configureFlags= [ + configureFlags = [ "--with-milter=${libmilter}" "ac_cv_func_malloc_0_nonnull=yes" "ac_cv_func_realloc_0_nonnull=yes" ] ++ lib.optional stdenv.hostPlatform.isDarwin "--with-unbound=${unbound}"; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + ]; - buildInputs = [ libbsd openssl libmilter perl ] ++ lib.optional stdenv.hostPlatform.isDarwin unbound; + buildInputs = [ + libbsd + openssl + libmilter + perl + ] ++ lib.optional stdenv.hostPlatform.isDarwin unbound; postInstall = '' wrapProgram $out/sbin/opendkim-genkey \ diff --git a/pkgs/by-name/op/opendmarc/package.nix b/pkgs/by-name/op/opendmarc/package.nix index d8af86b6cdb57..9dba438fa06ea 100644 --- a/pkgs/by-name/op/opendmarc/package.nix +++ b/pkgs/by-name/op/opendmarc/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libmilter, perl, perlPackages, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libmilter, + perl, + perlPackages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "opendmarc"; @@ -11,10 +20,18 @@ stdenv.mkDerivation rec { hash = "sha256-vnWtTvHhzCed7P6rN3wAz6zfRvtV0cLn5GhDxLF8H3c="; }; - outputs = [ "bin" "dev" "out" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "doc" + ]; buildInputs = [ perl ]; - nativeBuildInputs = [ autoreconfHook makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ]; postPatch = '' substituteInPlace configure.ac --replace ' docs/Makefile' "" @@ -27,14 +44,27 @@ stdenv.mkDerivation rec { postFixup = '' for b in $bin/bin/opendmarc-{expire,import,params,reports}; do - wrapProgram $b --set PERL5LIB ${perlPackages.makeFullPerlPath (with perlPackages; [ Switch DBI DBDmysql HTTPMessage ])} + wrapProgram $b --set PERL5LIB ${ + perlPackages.makeFullPerlPath ( + with perlPackages; + [ + Switch + DBI + DBDmysql + HTTPMessage + ] + ) + } done ''; meta = with lib; { description = "Free open source software implementation of the DMARC specification"; homepage = "http://www.trusteddomain.org/opendmarc/"; - license = with licenses; [ bsd3 sendmail ]; + license = with licenses; [ + bsd3 + sendmail + ]; maintainers = teams.helsinki-systems.members; }; } diff --git a/pkgs/by-name/op/opendune/package.nix b/pkgs/by-name/op/opendune/package.nix index c50379d0c4221..38727c388ebbe 100644 --- a/pkgs/by-name/op/opendune/package.nix +++ b/pkgs/by-name/op/opendune/package.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config -, alsa-lib, libpulseaudio, SDL2, SDL2_image, SDL2_mixer }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + alsa-lib, + libpulseaudio, + SDL2, + SDL2_image, + SDL2_mixer, +}: # - set the opendune configuration at ~/.config/opendune/opendune.ini: # [opendune] @@ -24,7 +33,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ alsa-lib libpulseaudio SDL2 SDL2_image SDL2_mixer ]; + buildInputs = [ + alsa-lib + libpulseaudio + SDL2 + SDL2_image + SDL2_mixer + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/op/opendungeons/package.nix b/pkgs/by-name/op/opendungeons/package.nix index a66504fa1d83c..7478934a259ca 100644 --- a/pkgs/by-name/op/opendungeons/package.nix +++ b/pkgs/by-name/op/opendungeons/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, ogre_13 -, cegui -, boost -, sfml -, openal -, ois +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + ogre_13, + cegui, + boost, + sfml, + openal, + ois, }: let @@ -66,7 +67,15 @@ stdenv.mkDerivation { description = "Open source, real time strategy game sharing game elements with the Dungeon Keeper series and Evil Genius"; mainProgram = "opendungeons"; homepage = "https://opendungeons.github.io"; - license = with licenses; [ gpl3Plus zlib mit cc-by-sa-30 cc0 ofl cc-by-30 ]; + license = with licenses; [ + gpl3Plus + zlib + mit + cc-by-sa-30 + cc0 + ofl + cc-by-30 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/op/openexrid-unstable/package.nix b/pkgs/by-name/op/openexrid-unstable/package.nix index a8e125cc43b5f..02e14959dc877 100644 --- a/pkgs/by-name/op/openexrid-unstable/package.nix +++ b/pkgs/by-name/op/openexrid-unstable/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, re2, openfx, zlib, ilmbase, libGLU, libGL, openexr }: +{ + lib, + stdenv, + fetchFromGitHub, + re2, + openfx, + zlib, + ilmbase, + libGLU, + libGL, + openexr, +}: stdenv.mkDerivation { pname = "openexrid-unstable"; @@ -11,7 +22,11 @@ stdenv.mkDerivation { sha256 = "0h4b74lv59p4hhrvrqdmlnchn2i0v5id4kl8xc7j26l9884q0383"; }; - outputs = [ "dev" "out" "lib" ]; + outputs = [ + "dev" + "out" + "lib" + ]; patches = [ ./openexrid.patch ]; @@ -26,23 +41,31 @@ stdenv.mkDerivation { -I${openfx.dev}/include/OpenFX ''; - buildInputs = [ re2 openfx zlib ilmbase libGLU libGL openexr ]; + buildInputs = [ + re2 + openfx + zlib + ilmbase + libGLU + libGL + openexr + ]; enableParallelBuilding = true; buildPhase = '' - mkdir openexrid/release + mkdir openexrid/release - PREFIX=$out make -C openexrid install + PREFIX=$out make -C openexrid install - mkdir $dev; - mkdir $lib; + mkdir $dev; + mkdir $lib; ''; installPhase = '' - find $out - mv $out/include $dev/ - mv $out/lib $lib/ + find $out + mv $out/include $dev/ + mv $out/lib $lib/ ''; meta = with lib; { diff --git a/pkgs/by-name/op/openfec/package.nix b/pkgs/by-name/op/openfec/package.nix index 8cee39c3a3ab8..613cc2fec6715 100644 --- a/pkgs/by-name/op/openfec/package.nix +++ b/pkgs/by-name/op/openfec/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchzip -, cmake -, gitUpdater +{ + stdenv, + lib, + fetchzip, + cmake, + gitUpdater, }: stdenv.mkDerivation rec { @@ -14,7 +15,10 @@ stdenv.mkDerivation rec { hash = "sha256-lBR8vz8whEdPVHAGVq9eRriKtmS5tUAvtoyXwO4AuEs="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake @@ -26,8 +30,10 @@ stdenv.mkDerivation rec { ]; installPhase = - let so = stdenv.hostPlatform.extensions.library; - in '' + let + so = stdenv.hostPlatform.extensions.library; + in + '' # This is pretty horrible but sadly there is not installation procedure # provided. mkdir -p $dev/include @@ -35,9 +41,11 @@ stdenv.mkDerivation rec { find $dev/include -type f -a ! -iname '*.h' -delete install -D -m755 -t $out/lib ../bin/Release/libopenfec${so} - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -id $out/lib/libopenfec${so} $out/lib/libopenfec${so} - '' + '' + '' + + '' ln -s libopenfec${so} $out/lib/libopenfec${so}.1 ''; diff --git a/pkgs/by-name/op/openfpgaloader/package.nix b/pkgs/by-name/op/openfpgaloader/package.nix index 2a84bfdc8c9ac..d43a573ac2685 100644 --- a/pkgs/by-name/op/openfpgaloader/package.nix +++ b/pkgs/by-name/op/openfpgaloader/package.nix @@ -1,14 +1,14 @@ { - cmake -, fetchFromGitHub -, hidapi -, lib -, libftdi1 -, libusb1 -, pkg-config -, stdenv -, udev -, zlib + cmake, + fetchFromGitHub, + hidapi, + lib, + libftdi1, + libusb1, + pkg-config, + stdenv, + udev, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -27,14 +27,16 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - hidapi - libftdi1 - libusb1 - zlib - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform udev) [ - udev - ]; + buildInputs = + [ + hidapi + libftdi1 + libusb1 + zlib + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform udev) [ + udev + ]; meta = { description = "Universal utility for programming FPGAs"; diff --git a/pkgs/by-name/op/openfst/package.nix b/pkgs/by-name/op/openfst/package.nix index 318a4107a813c..783a20ea10fad 100644 --- a/pkgs/by-name/op/openfst/package.nix +++ b/pkgs/by-name/op/openfst/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "openfst"; diff --git a/pkgs/by-name/op/openfx/package.nix b/pkgs/by-name/op/openfx/package.nix index 2bfb087085882..674ee79287630 100644 --- a/pkgs/by-name/op/openfx/package.nix +++ b/pkgs/by-name/op/openfx/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "openfx"; @@ -11,18 +15,21 @@ stdenv.mkDerivation { sha256 = "0k9ggzr6bisn77mipjfvawg3mv4bz50b63v8f7w1jhldi1sfy548"; }; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; enableParallelBuilding = true; buildPhase = '' - mkdir $dev - mkdir $out - ''; + mkdir $dev + mkdir $out + ''; installPhase = '' - mkdir -p $dev/include/OpenFX/ - cp -r include/* $dev/include/OpenFX/ + mkdir -p $dev/include/OpenFX/ + cp -r include/* $dev/include/OpenFX/ ''; meta = with lib; { diff --git a/pkgs/by-name/op/opengrm-ngram/package.nix b/pkgs/by-name/op/opengrm-ngram/package.nix index ec1b297da8342..c2ee06353a339 100644 --- a/pkgs/by-name/op/opengrm-ngram/package.nix +++ b/pkgs/by-name/op/opengrm-ngram/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, autoreconfHook, fetchurl, openfst }: +{ + lib, + stdenv, + autoreconfHook, + fetchurl, + openfst, +}: stdenv.mkDerivation rec { pname = "opengrm-ngram"; diff --git a/pkgs/by-name/op/opengrok/package.nix b/pkgs/by-name/op/opengrok/package.nix index 35116156f969a..3566bb19bb432 100644 --- a/pkgs/by-name/op/opengrok/package.nix +++ b/pkgs/by-name/op/opengrok/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "opengrok"; diff --git a/pkgs/by-name/op/opengv/package.nix b/pkgs/by-name/op/opengv/package.nix index 3b6387306609e..d1737c0d6579d 100644 --- a/pkgs/by-name/op/opengv/package.nix +++ b/pkgs/by-name/op/opengv/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, eigen -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + eigen, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { pname = "opengv"; @@ -28,14 +29,14 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/laurentkneip/opengv"; license = lib.licenses.bsd2; longDescription = '' - OpenGV is a collection of computer vision methods for solving - geometric vision problems. It contains absolute-pose, relative-pose, - triangulation, and point-cloud alignment methods for the calibrated - case. All problems can be solved with central or non-central cameras, - and embedded into a random sample consensus or nonlinear optimization - context. Matlab and Python interfaces are implemented as well. The link - to the above pages also shows links to precompiled Matlab mex-libraries. - Please consult the documentation for more information. + OpenGV is a collection of computer vision methods for solving + geometric vision problems. It contains absolute-pose, relative-pose, + triangulation, and point-cloud alignment methods for the calibrated + case. All problems can be solved with central or non-central cameras, + and embedded into a random sample consensus or nonlinear optimization + context. Matlab and Python interfaces are implemented as well. The link + to the above pages also shows links to precompiled Matlab mex-libraries. + Please consult the documentation for more information. ''; maintainers = [ lib.maintainers.locochoco ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/op/openh264/package.nix b/pkgs/by-name/op/openh264/package.nix index 12048b593dd02..c66ab4bffddda 100644 --- a/pkgs/by-name/op/openh264/package.nix +++ b/pkgs/by-name/op/openh264/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, fetchpatch2 -, gtest -, meson -, nasm -, ninja -, pkg-config -, stdenv -, windows +{ + lib, + fetchFromGitHub, + fetchpatch2, + gtest, + meson, + nasm, + ninja, + pkg-config, + stdenv, + windows, }: stdenv.mkDerivation (finalAttrs: { @@ -31,7 +32,10 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson @@ -40,11 +44,13 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - gtest - ] ++ lib.optionals stdenv.hostPlatform.isWindows [ - windows.pthreads - ]; + buildInputs = + [ + gtest + ] + ++ lib.optionals stdenv.hostPlatform.isWindows [ + windows.pthreads + ]; strictDeps = true; @@ -55,9 +61,14 @@ stdenv.mkDerivation (finalAttrs: { license = with lib.licenses; [ bsd2 ]; maintainers = with lib.maintainers; [ AndersonTorres ]; # See meson.build - platforms = lib.platforms.windows ++ lib.intersectLists - (lib.platforms.x86 ++ lib.platforms.arm ++ lib.platforms.aarch64 ++ - lib.platforms.loongarch64 ++ lib.platforms.riscv64) - (lib.platforms.linux ++ lib.platforms.darwin); + platforms = + lib.platforms.windows + ++ lib.intersectLists ( + lib.platforms.x86 + ++ lib.platforms.arm + ++ lib.platforms.aarch64 + ++ lib.platforms.loongarch64 + ++ lib.platforms.riscv64 + ) (lib.platforms.linux ++ lib.platforms.darwin); }; }) diff --git a/pkgs/by-name/op/openhmd/package.nix b/pkgs/by-name/op/openhmd/package.nix index ce0630bee62fc..f2d8b845d7c28 100644 --- a/pkgs/by-name/op/openhmd/package.nix +++ b/pkgs/by-name/op/openhmd/package.nix @@ -1,15 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, hidapi -, SDL2 -, libGL -, glew -, withExamples ? true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + hidapi, + SDL2, + libGL, + glew, + withExamples ? true, }: -let examplesOnOff = if withExamples then "ON" else "OFF"; in +let + examplesOnOff = if withExamples then "ON" else "OFF"; +in stdenv.mkDerivation rec { pname = "openhmd"; @@ -22,16 +26,21 @@ stdenv.mkDerivation rec { sha256 = "1hkpdl4zgycag5k8njvqpx01apxmm8m8pvhlsxgxpqiqy9a38ccg"; }; - nativeBuildInputs = [ cmake pkg-config ]; - - buildInputs = [ - hidapi - ] ++ lib.optionals withExamples [ - SDL2 - glew - libGL + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + hidapi + ] + ++ lib.optionals withExamples [ + SDL2 + glew + libGL + ]; + cmakeFlags = [ "-DBUILD_BOTH_STATIC_SHARED_LIBS=ON" "-DOPENHMD_EXAMPLE_SIMPLE=${examplesOnOff}" diff --git a/pkgs/by-name/op/openimagedenoise/package.nix b/pkgs/by-name/op/openimagedenoise/package.nix index cfd38708cd9aa..5f4c4336bba6f 100644 --- a/pkgs/by-name/op/openimagedenoise/package.nix +++ b/pkgs/by-name/op/openimagedenoise/package.nix @@ -28,17 +28,18 @@ stdenv'.mkDerivation (finalAttrs: { patches = lib.optional cudaSupport ./cuda.patch; - postPatch = - '' - substituteInPlace devices/metal/CMakeLists.txt \ - --replace-fail "AppleClang" "Clang" - ''; + postPatch = '' + substituteInPlace devices/metal/CMakeLists.txt \ + --replace-fail "AppleClang" "Clang" + ''; - nativeBuildInputs = [ - cmake - python3 - ispc - ] ++ lib.optional cudaSupport cudaPackages.cuda_nvcc + nativeBuildInputs = + [ + cmake + python3 + ispc + ] + ++ lib.optional cudaSupport cudaPackages.cuda_nvcc ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcodebuild ]; buildInputs = diff --git a/pkgs/by-name/op/openipmi/package.nix b/pkgs/by-name/op/openipmi/package.nix index 4db4048fcd707..652ec050a24d8 100644 --- a/pkgs/by-name/op/openipmi/package.nix +++ b/pkgs/by-name/op/openipmi/package.nix @@ -1,4 +1,13 @@ -{ stdenv, fetchurl, popt, ncurses, python3, readline, lib, openssl }: +{ + stdenv, + fetchurl, + popt, + ncurses, + python3, + readline, + lib, + openssl, +}: stdenv.mkDerivation rec { pname = "OpenIPMI"; @@ -9,14 +18,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-oEAxSPpfe+2TDJWKTRxVgEfic3Y6QIs6A2jtwTfMVdk="; }; - buildInputs = [ ncurses popt python3 readline openssl ]; + buildInputs = [ + ncurses + popt + python3 + readline + openssl + ]; - outputs = [ "out" "lib" "dev" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + ]; meta = with lib; { homepage = "https://openipmi.sourceforge.io/"; description = "User-level library that provides a higher-level abstraction of IPMI and generic services"; - license = with licenses; [ gpl2Only lgpl2Only ]; + license = with licenses; [ + gpl2Only + lgpl2Only + ]; platforms = platforms.linux; maintainers = with maintainers; [ arezvov ] ++ teams.c3d2.members; }; diff --git a/pkgs/by-name/op/openiscsi/package.nix b/pkgs/by-name/op/openiscsi/package.nix index d1074588b97f9..a383f5fcb6d48 100644 --- a/pkgs/by-name/op/openiscsi/package.nix +++ b/pkgs/by-name/op/openiscsi/package.nix @@ -1,17 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, pkg-config -, ninja -, perl -, util-linux -, open-isns -, openssl -, kmod -, systemd -, runtimeShell -, nixosTests }: +{ + stdenv, + lib, + fetchFromGitHub, + meson, + pkg-config, + ninja, + perl, + util-linux, + open-isns, + openssl, + kmod, + systemd, + runtimeShell, + nixosTests, +}: stdenv.mkDerivation rec { pname = "open-iscsi"; @@ -62,6 +64,9 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; homepage = "https://www.open-iscsi.com"; platforms = platforms.linux; - maintainers = with maintainers; [ cleverca22 zaninime ]; + maintainers = with maintainers; [ + cleverca22 + zaninime + ]; }; } diff --git a/pkgs/by-name/op/openjade/package.nix b/pkgs/by-name/op/openjade/package.nix index 60fa161d20c50..2991f1606f08a 100644 --- a/pkgs/by-name/op/openjade/package.nix +++ b/pkgs/by-name/op/openjade/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, opensp, perl }: +{ + lib, + stdenv, + fetchurl, + opensp, + perl, +}: stdenv.mkDerivation rec { pname = "openjade"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { patches = [ ./msggen.patch ]; - buildInputs = [ opensp perl ]; + buildInputs = [ + opensp + perl + ]; configureFlags = [ "--enable-spincludedir=${opensp}/include/OpenSP" diff --git a/pkgs/by-name/op/openjk/package.nix b/pkgs/by-name/op/openjk/package.nix index f1eb4b597ab84..15b89654ad4eb 100644 --- a/pkgs/by-name/op/openjk/package.nix +++ b/pkgs/by-name/op/openjk/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, cmake, libjpeg, zlib, libpng, libGL, SDL2 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + makeWrapper, + cmake, + libjpeg, + zlib, + libpng, + libGL, + SDL2, + unstableGitUpdater, }: let @@ -30,7 +41,8 @@ let genericName = "Jedi Outcast"; categories = [ "Game" ]; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "openjk"; version = "0-unstable-2024-04-07"; @@ -43,18 +55,33 @@ in stdenv.mkDerivation { dontAddPrefix = true; - nativeBuildInputs = [ makeWrapper cmake ]; - buildInputs = [ libjpeg zlib libpng libGL SDL2 ]; + nativeBuildInputs = [ + makeWrapper + cmake + ]; + buildInputs = [ + libjpeg + zlib + libpng + libGL + SDL2 + ]; - outputs = [ "out" "openjo" "openja" ]; + outputs = [ + "out" + "openjo" + "openja" + ]; # move from $out/JediAcademy to $out/opt/JediAcademy preConfigure = '' cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$out/opt") ''; - cmakeFlags = ["-DBuildJK2SPEngine:BOOL=ON" - "-DBuildJK2SPGame:BOOL=ON" - "-DBuildJK2SPRdVanilla:BOOL=ON"]; + cmakeFlags = [ + "-DBuildJK2SPEngine:BOOL=ON" + "-DBuildJK2SPGame:BOOL=ON" + "-DBuildJK2SPRdVanilla:BOOL=ON" + ]; postInstall = '' mkdir -p $out/bin $openja/bin $openjo/bin diff --git a/pkgs/by-name/op/openjph/package.nix b/pkgs/by-name/op/openjph/package.nix index d499c898541b8..f3b36b590b28a 100644 --- a/pkgs/by-name/op/openjph/package.nix +++ b/pkgs/by-name/op/openjph/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, validatePkgConfig, testers, nix-update-script }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + validatePkgConfig, + testers, + nix-update-script, +}: stdenv.mkDerivation (finalAttrs: { pname = "openjph"; @@ -11,9 +19,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cgJlgb4SrmVFqvmqGcG3+qMDteyVFlYzoy1IOo8BjA8="; }; - nativeBuildInputs = [ cmake validatePkgConfig ]; + nativeBuildInputs = [ + cmake + validatePkgConfig + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cmakeFlags = [ (lib.cmakeBool "OJPH_ENABLE_TIFF_SUPPORT" false) diff --git a/pkgs/by-name/op/openldap/package.nix b/pkgs/by-name/op/openldap/package.nix index 453cb1dfebde7..e8d0b405c065c 100644 --- a/pkgs/by-name/op/openldap/package.nix +++ b/pkgs/by-name/op/openldap/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl - -# dependencies -, cyrus_sasl -, groff -, libsodium -, libtool -, openssl -, systemdMinimal -, libxcrypt - -# passthru -, nixosTests +{ + lib, + stdenv, + fetchurl, + + # dependencies + cyrus_sasl, + groff, + libsodium, + libtool, + openssl, + systemdMinimal, + libxcrypt, + + # passthru + nixosTests, }: stdenv.mkDerivation rec { @@ -40,37 +41,42 @@ stdenv.mkDerivation rec { groff ]; - buildInputs = [ - (cyrus_sasl.override { - inherit openssl; - }) - libsodium - libtool - openssl - ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ - libxcrypt # causes linking issues on *-darwin - systemdMinimal - ]; + buildInputs = + [ + (cyrus_sasl.override { + inherit openssl; + }) + libsodium + libtool + openssl + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + libxcrypt # causes linking issues on *-darwin + systemdMinimal + ]; preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' MACOSX_DEPLOYMENT_TARGET=10.16 ''; - configureFlags = [ - "--enable-argon2" - "--enable-crypt" - "--enable-modules" - "--enable-overlays" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--with-yielding_select=yes" - "ac_cv_func_memcmp_working=yes" - ] ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; + configureFlags = + [ + "--enable-argon2" + "--enable-crypt" + "--enable-modules" + "--enable-overlays" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--with-yielding_select=yes" + "ac_cv_func_memcmp_working=yes" + ] + ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; env.NIX_CFLAGS_COMPILE = toString [ "-DLDAPI_SOCK=\"/run/openldap/ldapi\"" ]; - makeFlags= [ + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" - "STRIP=" # Disable install stripping as it breaks cross-compiling. We strip binaries anyway in fixupPhase. + "STRIP=" # Disable install stripping as it breaks cross-compiling. We strip binaries anyway in fixupPhase. "STRIP_OPTS=" "prefix=${placeholder "out"}" "sysconfdir=/etc" diff --git a/pkgs/by-name/op/openlibm/package.nix b/pkgs/by-name/op/openlibm/package.nix index a7c5063e54dba..620e50db522e5 100644 --- a/pkgs/by-name/op/openlibm/package.nix +++ b/pkgs/by-name/op/openlibm/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "openlibm"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-JhyF93XU2Yd6Ia+JtYvF7Dr+d90r6xMZj/fWDwCNeWY="; }; - makeFlags = [ "prefix=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "prefix=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + ]; meta = { description = "High quality system independent, portable, open source libm implementation"; diff --git a/pkgs/by-name/op/openmm/package.nix b/pkgs/by-name/op/openmm/package.nix index eb469159df3a9..a570659ec2908 100644 --- a/pkgs/by-name/op/openmm/package.nix +++ b/pkgs/by-name/op/openmm/package.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, gfortran -, fftwSinglePrec -, doxygen -, swig -, enablePython ? false -, python3Packages -, enableOpencl ? true -, opencl-headers -, ocl-icd -, config -, enableCuda ? config.cudaSupport -, cudaPackages -, addDriverRunpath +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gfortran, + fftwSinglePrec, + doxygen, + swig, + enablePython ? false, + python3Packages, + enableOpencl ? true, + opencl-headers, + ocl-icd, + config, + enableCuda ? config.cudaSupport, + cudaPackages, + addDriverRunpath, }: stdenv.mkDerivation rec { @@ -36,61 +37,75 @@ stdenv.mkDerivation rec { serialization/tests/TestSerializeIntegrator.cpp ''; - nativeBuildInputs = [ - cmake - gfortran - swig - doxygen - python3Packages.python - ] ++ lib.optionals enablePython [ - python3Packages.build - python3Packages.installer - python3Packages.wheel - ] ++ lib.optional enableCuda addDriverRunpath; + nativeBuildInputs = + [ + cmake + gfortran + swig + doxygen + python3Packages.python + ] + ++ lib.optionals enablePython [ + python3Packages.build + python3Packages.installer + python3Packages.wheel + ] + ++ lib.optional enableCuda addDriverRunpath; - buildInputs = [ fftwSinglePrec ] - ++ lib.optionals enableOpencl [ ocl-icd opencl-headers ] + buildInputs = + [ fftwSinglePrec ] + ++ lib.optionals enableOpencl [ + ocl-icd + opencl-headers + ] ++ lib.optional enableCuda cudaPackages.cudatoolkit; - propagatedBuildInputs = lib.optionals enablePython (with python3Packages; [ - setuptools - python - numpy - cython - ]); + propagatedBuildInputs = lib.optionals enablePython ( + with python3Packages; + [ + setuptools + python + numpy + cython + ] + ); - cmakeFlags = [ - "-DBUILD_TESTING=ON" - "-DOPENMM_BUILD_AMOEBA_PLUGIN=ON" - "-DOPENMM_BUILD_CPU_LIB=ON" - "-DOPENMM_BUILD_C_AND_FORTRAN_WRAPPERS=ON" - "-DOPENMM_BUILD_DRUDE_PLUGIN=ON" - "-DOPENMM_BUILD_PME_PLUGIN=ON" - "-DOPENMM_BUILD_RPMD_PLUGIN=ON" - "-DOPENMM_BUILD_SHARED_LIB=ON" - ] ++ lib.optionals enablePython [ - "-DOPENMM_BUILD_PYTHON_WRAPPERS=ON" - ] ++ lib.optionals enableOpencl [ - "-DOPENMM_BUILD_OPENCL_LIB=ON" - "-DOPENMM_BUILD_AMOEBA_OPENCL_LIB=ON" - "-DOPENMM_BUILD_DRUDE_OPENCL_LIB=ON" - "-DOPENMM_BUILD_RPMD_OPENCL_LIB=ON" - ] ++ lib.optionals enableCuda [ - "-DCUDA_SDK_ROOT_DIR=${cudaPackages.cudatoolkit}" - "-DOPENMM_BUILD_AMOEBA_CUDA_LIB=ON" - "-DOPENMM_BUILD_CUDA_LIB=ON" - "-DOPENMM_BUILD_DRUDE_CUDA_LIB=ON" - "-DOPENMM_BUILD_RPMD_CUDA_LIB=ON" - "-DCMAKE_LIBRARY_PATH=${cudaPackages.cudatoolkit}/lib64/stubs" - ]; + cmakeFlags = + [ + "-DBUILD_TESTING=ON" + "-DOPENMM_BUILD_AMOEBA_PLUGIN=ON" + "-DOPENMM_BUILD_CPU_LIB=ON" + "-DOPENMM_BUILD_C_AND_FORTRAN_WRAPPERS=ON" + "-DOPENMM_BUILD_DRUDE_PLUGIN=ON" + "-DOPENMM_BUILD_PME_PLUGIN=ON" + "-DOPENMM_BUILD_RPMD_PLUGIN=ON" + "-DOPENMM_BUILD_SHARED_LIB=ON" + ] + ++ lib.optionals enablePython [ + "-DOPENMM_BUILD_PYTHON_WRAPPERS=ON" + ] + ++ lib.optionals enableOpencl [ + "-DOPENMM_BUILD_OPENCL_LIB=ON" + "-DOPENMM_BUILD_AMOEBA_OPENCL_LIB=ON" + "-DOPENMM_BUILD_DRUDE_OPENCL_LIB=ON" + "-DOPENMM_BUILD_RPMD_OPENCL_LIB=ON" + ] + ++ lib.optionals enableCuda [ + "-DCUDA_SDK_ROOT_DIR=${cudaPackages.cudatoolkit}" + "-DOPENMM_BUILD_AMOEBA_CUDA_LIB=ON" + "-DOPENMM_BUILD_CUDA_LIB=ON" + "-DOPENMM_BUILD_DRUDE_CUDA_LIB=ON" + "-DOPENMM_BUILD_RPMD_CUDA_LIB=ON" + "-DCMAKE_LIBRARY_PATH=${cudaPackages.cudatoolkit}/lib64/stubs" + ]; postInstall = lib.strings.optionalString enablePython '' - export OPENMM_LIB_PATH=$out/lib - export OPENMM_INCLUDE_PATH=$out/include - cd python - ${python3Packages.python.pythonOnBuildForHost.interpreter} -m build --no-isolation --outdir dist/ --wheel - ${python3Packages.python.pythonOnBuildForHost.interpreter} -m installer --prefix $out dist/*.whl - ''; + export OPENMM_LIB_PATH=$out/lib + export OPENMM_INCLUDE_PATH=$out/include + cd python + ${python3Packages.python.pythonOnBuildForHost.interpreter} -m build --no-isolation --outdir dist/ --wheel + ${python3Packages.python.pythonOnBuildForHost.interpreter} -m installer --prefix $out dist/*.whl + ''; postFixup = '' for lib in $out/lib/plugins/*CUDA.so $out/lib/plugins/*Cuda*.so; do @@ -105,7 +120,11 @@ stdenv.mkDerivation rec { description = "Toolkit for molecular simulation using high performance GPU code"; mainProgram = "TestReferenceHarmonicBondForce"; homepage = "https://openmm.org/"; - license = with licenses; [ gpl3Plus lgpl3Plus mit ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + mit + ]; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; }; diff --git a/pkgs/by-name/op/openmsx/package.nix b/pkgs/by-name/op/openmsx/package.nix index 0680d48ebecd3..7a7014f310e6c 100644 --- a/pkgs/by-name/op/openmsx/package.nix +++ b/pkgs/by-name/op/openmsx/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, SDL2 -, SDL2_image -, SDL2_ttf -, alsa-lib -, freetype -, glew -, libGL -, libogg -, libpng -, libtheora -, libvorbis -, python3 -, tcl -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + SDL2, + SDL2_image, + SDL2_ttf, + alsa-lib, + freetype, + glew, + libGL, + libogg, + libpng, + libtheora, + libvorbis, + python3, + tcl, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "openMSX"; repo = "openMSX"; - rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}"; + rev = "RELEASE_${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; hash = "sha256-iY+oZ7fHZnnEGunM4kOxOGH2Biqj2PfdLhbT8J4mYrA="; fetchSubmodules = true; }; @@ -59,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { # Many thanks @mthuurne from OpenMSX project for providing support to # Nixpkgs! :) - TCL_CONFIG="${tcl}/lib/"; + TCL_CONFIG = "${tcl}/lib/"; meta = with lib; { homepage = "https://openmsx.org"; @@ -68,7 +69,11 @@ stdenv.mkDerivation (finalAttrs: { OpenMSX is an emulator for the MSX home computer system. Its goal is to emulate all aspects of the MSX with 100% accuracy. ''; - license = with licenses; [ bsd2 boost gpl2Plus ]; + license = with licenses; [ + bsd2 + boost + gpl2Plus + ]; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix; mainProgram = "openmsx"; diff --git a/pkgs/by-name/op/openntpd/package.nix b/pkgs/by-name/op/openntpd/package.nix index e1497ab085279..a92a32c151bba 100644 --- a/pkgs/by-name/op/openntpd/package.nix +++ b/pkgs/by-name/op/openntpd/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchurl, libressl -, privsepPath ? "/var/empty" -, privsepUser ? "ntp" +{ + lib, + stdenv, + fetchurl, + libressl, + privsepPath ? "/var/empty", + privsepUser ? "ntp", }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/op/openobex/package.nix b/pkgs/by-name/op/openobex/package.nix index 521505211219e..6d1b867d4f559 100644 --- a/pkgs/by-name/op/openobex/package.nix +++ b/pkgs/by-name/op/openobex/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, bluez, libusb-compat-0_1, cmake }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + bluez, + libusb-compat-0_1, + cmake, +}: stdenv.mkDerivation rec { pname = "openobex"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { sha256 = "1z6l7pbwgs5pjx3861cyd3r6vq5av984bdp4r3hgrw2jxam6120m"; }; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ bluez libusb-compat-0_1 ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = [ + bluez + libusb-compat-0_1 + ]; configureFlags = [ "--enable-apps" ]; @@ -21,7 +35,7 @@ stdenv.mkDerivation rec { substituteInPlace CMakeLists.txt \ --replace '\$'{prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \ --replace '\$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} - ''; + ''; meta = with lib; { homepage = "http://dev.zuckschwerdt.org/openobex/"; diff --git a/pkgs/by-name/op/openocd/package.nix b/pkgs/by-name/op/openocd/package.nix index 86dfd687ed2f9..618b998eefcb6 100644 --- a/pkgs/by-name/op/openocd/package.nix +++ b/pkgs/by-name/op/openocd/package.nix @@ -1,19 +1,22 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, hidapi -, tcl -, jimtcl -, libjaylink -, libusb1 -, libgpiod_1 +{ + stdenv, + lib, + fetchurl, + pkg-config, + hidapi, + tcl, + jimtcl, + libjaylink, + libusb1, + libgpiod_1, -, enableFtdi ? true, libftdi1 + enableFtdi ? true, + libftdi1, -# Allow selection the hardware targets (SBCs, JTAG Programmers, JTAG Adapters) -, extraHardwareSupport ? [] -}: let + # Allow selection the hardware targets (SBCs, JTAG Programmers, JTAG Adapters) + extraHardwareSupport ? [ ], +}: +let isWindows = stdenv.hostPlatform.isWindows; notWindows = !isWindows; @@ -27,13 +30,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-ryVHiL6Yhh8r2RA/5uYKd07Jaow3R0Tu+Rl/YEMHWvo="; }; - nativeBuildInputs = [ pkg-config tcl ]; + nativeBuildInputs = [ + pkg-config + tcl + ]; - buildInputs = [ libusb1 ] - ++ lib.optionals notWindows [ hidapi jimtcl libftdi1 libjaylink ] + buildInputs = + [ libusb1 ] + ++ lib.optionals notWindows [ + hidapi + jimtcl + libftdi1 + libjaylink + ] ++ - # tracking issue for v2 api changes https://sourceforge.net/p/openocd/tickets/306/ - lib.optional stdenv.hostPlatform.isLinux libgpiod_1; + # tracking issue for v2 api changes https://sourceforge.net/p/openocd/tickets/306/ + lib.optional stdenv.hostPlatform.isLinux libgpiod_1; configureFlags = [ "--disable-werror" @@ -45,16 +57,16 @@ stdenv.mkDerivation rec { (lib.enableFeature stdenv.hostPlatform.isLinux "sysfsgpio") (lib.enableFeature isWindows "internal-jimtcl") (lib.enableFeature isWindows "internal-libjaylink") - ] ++ - map (hardware: "--enable-${hardware}") extraHardwareSupport - ; + ] ++ map (hardware: "--enable-${hardware}") extraHardwareSupport; enableParallelBuilding = true; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [ - "-Wno-error=cpp" - "-Wno-error=strict-prototypes" # fixes build failure with hidapi 0.10.0 - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isGNU [ + "-Wno-error=cpp" + "-Wno-error=strict-prototypes" # fixes build failure with hidapi 0.10.0 + ] + ); postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' mkdir -p "$out/etc/udev/rules.d" @@ -80,7 +92,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://openocd.sourceforge.net/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ bjornfor prusnak ]; + maintainers = with maintainers; [ + bjornfor + prusnak + ]; platforms = platforms.unix ++ platforms.windows; }; } diff --git a/pkgs/by-name/op/openorienteering-mapper/package.nix b/pkgs/by-name/op/openorienteering-mapper/package.nix index 5d9fb8e256cdd..b4a1fe22911d3 100644 --- a/pkgs/by-name/op/openorienteering-mapper/package.nix +++ b/pkgs/by-name/op/openorienteering-mapper/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, clipper -, cmake -, cups -, doxygen -, gdal -, ninja -, proj -, qt5 -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + clipper, + cmake, + cups, + doxygen, + gdal, + ninja, + proj, + qt5, + zlib, }: stdenv.mkDerivation rec { @@ -58,36 +59,43 @@ stdenv.mkDerivation rec { zlib ]; - cmakeFlags = [ - # Building the manual and bundling licenses fails - # See https://github.com/NixOS/nixpkgs/issues/85306 - (lib.cmakeBool "LICENSING_PROVIDER" false) - (lib.cmakeBool "Mapper_MANUAL_QTHELP" false) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # FindGDAL is broken and always finds /Library/Framework unless this is - # specified - (lib.cmakeFeature "GDAL_INCLUDE_DIR" "${gdal}/include") - (lib.cmakeFeature "GDAL_CONFIG" "${gdal}/bin/gdal-config") - (lib.cmakeFeature "GDAL_LIBRARY" "${gdal}/lib/libgdal.dylib") - # Don't bundle libraries - (lib.cmakeBool "Mapper_PACKAGE_PROJ" false) - (lib.cmakeBool "Mapper_PACKAGE_QT" false) - (lib.cmakeBool "Mapper_PACKAGE_ASSISTANT" false) - (lib.cmakeBool "Mapper_PACKAGE_GDAL" false) - ]; + cmakeFlags = + [ + # Building the manual and bundling licenses fails + # See https://github.com/NixOS/nixpkgs/issues/85306 + (lib.cmakeBool "LICENSING_PROVIDER" false) + (lib.cmakeBool "Mapper_MANUAL_QTHELP" false) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # FindGDAL is broken and always finds /Library/Framework unless this is + # specified + (lib.cmakeFeature "GDAL_INCLUDE_DIR" "${gdal}/include") + (lib.cmakeFeature "GDAL_CONFIG" "${gdal}/bin/gdal-config") + (lib.cmakeFeature "GDAL_LIBRARY" "${gdal}/lib/libgdal.dylib") + # Don't bundle libraries + (lib.cmakeBool "Mapper_PACKAGE_PROJ" false) + (lib.cmakeBool "Mapper_PACKAGE_QT" false) + (lib.cmakeBool "Mapper_PACKAGE_ASSISTANT" false) + (lib.cmakeBool "Mapper_PACKAGE_GDAL" false) + ]; - postInstall = with stdenv; lib.optionalString isDarwin '' - mkdir -p $out/{Applications,bin} - mv $out/Mapper.app $out/Applications - ln -s $out/Applications/Mapper.app/Contents/MacOS/Mapper $out/bin/Mapper - ''; + postInstall = + with stdenv; + lib.optionalString isDarwin '' + mkdir -p $out/{Applications,bin} + mv $out/Mapper.app $out/Applications + ln -s $out/Applications/Mapper.app/Contents/MacOS/Mapper $out/bin/Mapper + ''; meta = with lib; { homepage = "https://www.openorienteering.org/apps/mapper/"; description = "Orienteering mapmaking program"; changelog = "https://github.com/OpenOrienteering/mapper/releases/tag/v${version}"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ mpickering sikmir ]; + maintainers = with maintainers; [ + mpickering + sikmir + ]; platforms = with platforms; unix; mainProgram = "Mapper"; }; diff --git a/pkgs/by-name/op/openpa/package.nix b/pkgs/by-name/op/openpa/package.nix index 23f025e2aa63b..bc0c037fb666d 100644 --- a/pkgs/by-name/op/openpa/package.nix +++ b/pkgs/by-name/op/openpa/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, file }: +{ + lib, + stdenv, + fetchurl, + file, +}: stdenv.mkDerivation rec { pname = "openpa"; @@ -29,5 +34,5 @@ stdenv.mkDerivation rec { learning new assembly dialects in order improve or maintain application portability. ''; - }; + }; } diff --git a/pkgs/by-name/op/openpam/package.nix b/pkgs/by-name/op/openpam/package.nix index f0e823780a4a8..fa68439a5630e 100644 --- a/pkgs/by-name/op/openpam/package.nix +++ b/pkgs/by-name/op/openpam/package.nix @@ -17,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; __structuredAttrs = true; diff --git a/pkgs/by-name/op/openpgl/package.nix b/pkgs/by-name/op/openpgl/package.nix index 556d9170df491..2e8fcfe7e882e 100644 --- a/pkgs/by-name/op/openpgl/package.nix +++ b/pkgs/by-name/op/openpgl/package.nix @@ -1,9 +1,10 @@ -{ lib -, cmake -, fetchFromGitHub -, ninja -, stdenv -, tbb +{ + lib, + cmake, + fetchFromGitHub, + ninja, + stdenv, + tbb, }: stdenv.mkDerivation (finalAttrs: { @@ -31,7 +32,9 @@ stdenv.mkDerivation (finalAttrs: { "-DTBB_ROOT=${tbb.out}" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isDarwin) "-flax-vector-conversions"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isDarwin + ) "-flax-vector-conversions"; meta = { description = "Intel Open Path Guiding Library"; diff --git a/pkgs/by-name/op/openpgp-ca/package.nix b/pkgs/by-name/op/openpgp-ca/package.nix index e2397c5413dbd..46c07f2be79b5 100644 --- a/pkgs/by-name/op/openpgp-ca/package.nix +++ b/pkgs/by-name/op/openpgp-ca/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, fetchFromGitLab -, lib -, darwin -, nettle -, nix-update-script -, rustPlatform -, pkg-config -, pcsclite -, openssl -, gnupg -, sqlite +{ + stdenv, + fetchFromGitLab, + lib, + darwin, + nettle, + nix-update-script, + rustPlatform, + pkg-config, + pcsclite, + openssl, + gnupg, + sqlite, }: rustPlatform.buildRustPackage rec { @@ -34,12 +35,21 @@ rustPlatform.buildRustPackage rec { gnupg ]; - buildInputs = [ - openssl - sqlite - pcsclite - nettle - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ PCSC Security SystemConfiguration ]); + buildInputs = + [ + openssl + sqlite + pcsclite + nettle + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + PCSC + Security + SystemConfiguration + ] + ); # Most tests rely on gnupg being able to write to /run/user # gnupg refuses to respect the XDG_RUNTIME_DIR variable, so we skip the tests diff --git a/pkgs/by-name/op/openpgp-card-tools/package.nix b/pkgs/by-name/op/openpgp-card-tools/package.nix index f58d31470029d..331b787bb2fd7 100644 --- a/pkgs/by-name/op/openpgp-card-tools/package.nix +++ b/pkgs/by-name/op/openpgp-card-tools/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitea -, installShellFiles -, pkg-config -, pcsclite -, dbus -, testers -, openpgp-card-tools +{ + lib, + stdenv, + rustPlatform, + fetchFromGitea, + installShellFiles, + pkg-config, + pcsclite, + dbus, + testers, + openpgp-card-tools, }: rustPlatform.buildRustPackage rec { @@ -24,9 +25,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-G5+lVK41hbzy/Ltc0EKoUfqF0M1OYu679jyVjYKJmn0="; - nativeBuildInputs = [ installShellFiles pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + rustPlatform.bindgenHook + ]; - buildInputs = [ pcsclite dbus ]; + buildInputs = [ + pcsclite + dbus + ]; passthru = { tests.version = testers.testVersion { @@ -44,7 +52,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Tool for inspecting and configuring OpenPGP cards"; homepage = "https://codeberg.org/openpgp-card/openpgp-card-tools"; - license = with licenses ;[ asl20 /* OR */ mit ]; + license = with licenses; [ + asl20 # OR + mit + ]; maintainers = with maintainers; [ nickcao ]; mainProgram = "oct"; }; diff --git a/pkgs/by-name/op/openpomodoro-cli/package.nix b/pkgs/by-name/op/openpomodoro-cli/package.nix index e977bbcfba567..1ae51d6ecafb8 100644 --- a/pkgs/by-name/op/openpomodoro-cli/package.nix +++ b/pkgs/by-name/op/openpomodoro-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/op/openrct2/package.nix b/pkgs/by-name/op/openrct2/package.nix index 35699d4927779..025b8018d2305 100644 --- a/pkgs/by-name/op/openrct2/package.nix +++ b/pkgs/by-name/op/openrct2/package.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub - -, SDL2 -, cmake -, curl -, discord-rpc -, duktape -, expat -, flac -, fontconfig -, freetype -, gbenchmark -, icu -, jansson -, libGLU -, libiconv -, libogg -, libpng -, libpthreadstubs -, libvorbis -, libzip -, nlohmann_json -, openssl -, pkg-config -, speexdsp -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + + SDL2, + cmake, + curl, + discord-rpc, + duktape, + expat, + flac, + fontconfig, + freetype, + gbenchmark, + icu, + jansson, + libGLU, + libiconv, + libogg, + libpng, + libpthreadstubs, + libvorbis, + libzip, + nlohmann_json, + openssl, + pkg-config, + speexdsp, + zlib, }: let @@ -132,16 +133,18 @@ stdenv.mkDerivation { preConfigure = # Verify that the correct version of each third party repository is used. - (let - versionCheck = cmakeKey: version: '' - grep -q '^set(${cmakeKey}_VERSION "${version}")$' CMakeLists.txt \ - || (echo "${cmakeKey} differs from expected version!"; exit 1) - ''; - in - (versionCheck "OBJECTS" objects-version) + - (versionCheck "OPENMSX" openmsx-version) + - (versionCheck "OPENSFX" opensfx-version) + - (versionCheck "TITLE_SEQUENCE" title-sequences-version)); + ( + let + versionCheck = cmakeKey: version: '' + grep -q '^set(${cmakeKey}_VERSION "${version}")$' CMakeLists.txt \ + || (echo "${cmakeKey} differs from expected version!"; exit 1) + ''; + in + (versionCheck "OBJECTS" objects-version) + + (versionCheck "OPENMSX" openmsx-version) + + (versionCheck "OPENSFX" opensfx-version) + + (versionCheck "TITLE_SEQUENCE" title-sequences-version) + ); preFixup = "ln -s $out/share/openrct2 $out/bin/data"; diff --git a/pkgs/by-name/op/openresolv/package.nix b/pkgs/by-name/op/openresolv/package.nix index a8fc33df2fccd..62572f5f44f9e 100644 --- a/pkgs/by-name/op/openresolv/package.nix +++ b/pkgs/by-name/op/openresolv/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, +}: stdenv.mkDerivation rec { pname = "openresolv"; @@ -13,18 +19,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - configurePhase = - '' - cat > config.mk < config.mk < unixODBC != null; @@ -18,79 +19,97 @@ let throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; # assemble list of components - components = [ "basic" "sdk" "sqlplus" "tools" ] ++ optional odbcSupport "odbc"; + components = [ + "basic" + "sdk" + "sqlplus" + "tools" + ] ++ optional odbcSupport "odbc"; # determine the version number, there might be different ones per architecture - version = { - x86_64-linux = "21.10.0.0.0"; - aarch64-linux = "19.10.0.0.0"; - x86_64-darwin = "19.8.0.0.0"; - }.${stdenv.hostPlatform.system} or throwSystem; - - directory = { - x86_64-linux = "2110000"; - aarch64-linux = "191000"; - x86_64-darwin = "198000"; - }.${stdenv.hostPlatform.system} or throwSystem; + version = + { + x86_64-linux = "21.10.0.0.0"; + aarch64-linux = "19.10.0.0.0"; + x86_64-darwin = "19.8.0.0.0"; + } + .${stdenv.hostPlatform.system} or throwSystem; + + directory = + { + x86_64-linux = "2110000"; + aarch64-linux = "191000"; + x86_64-darwin = "198000"; + } + .${stdenv.hostPlatform.system} or throwSystem; # hashes per component and architecture - hashes = { - x86_64-linux = { - basic = "sha256-uo0QBOmx7TQyroD+As60IhjEkz//+0Cm1tWvLI3edaE="; - sdk = "sha256-TIBFi1jHLJh+SUNFvuL7aJpxh61hG6gXhFIhvdPgpts="; - sqlplus = "sha256-mF9kLjhZXe/fasYDfmZrYPL2CzAp3xDbi624RJDA4lM="; - tools = "sha256-ay8ynzo1fPHbCg9GoIT5ja//iZPIZA2yXI/auVExiRY="; - odbc = "sha256-3M6/cEtUrIFzQay8eHNiLGE+L0UF+VTmzp4cSBcrzlk="; - }; - aarch64-linux = { - basic = "sha256-DNntH20BAmo5kOz7uEgW2NXaNfwdvJ8l8oMnp50BOsY="; - sdk = "sha256-8VpkNyLyFMUfQwbZpSDV/CB95RoXfaMr8w58cRt/syw="; - sqlplus = "sha256-iHcyijHhAvjsAqN9R+Rxo2R47k940VvPbScc2MWYn0Q="; - tools = "sha256-4QY0EwcnctwPm6ZGDZLudOFM4UycLFmRIluKGXVwR0M="; - odbc = "sha256-T+RIIKzZ9xEg/E72pfs5xqHz2WuIWKx/oRfDrQbw3ms="; - }; - x86_64-darwin = { - basic = "sha256-V+1BmPOhDYPNXdwkcsBY1MOwt4Yka66/a7/HORzBIIc="; - sdk = "sha256-D6iuTEQYqmbOh1z5LnKN16ga6vLmjnkm4QK15S/Iukw="; - sqlplus = "sha256-08uoiwoKPZmTxLZLYRVp0UbN827FXdhOukeDUXvTCVk="; - tools = "sha256-1xFFGZapFq9ogGQ6ePSv4PrXl5qOAgRZWAp4mJ5uxdU="; - odbc = "sha256-S6+5P4daK/+nXwoHmOkj4DIkHtwdzO5GOkCCI612bRY="; - }; - }.${stdenv.hostPlatform.system} or throwSystem; + hashes = + { + x86_64-linux = { + basic = "sha256-uo0QBOmx7TQyroD+As60IhjEkz//+0Cm1tWvLI3edaE="; + sdk = "sha256-TIBFi1jHLJh+SUNFvuL7aJpxh61hG6gXhFIhvdPgpts="; + sqlplus = "sha256-mF9kLjhZXe/fasYDfmZrYPL2CzAp3xDbi624RJDA4lM="; + tools = "sha256-ay8ynzo1fPHbCg9GoIT5ja//iZPIZA2yXI/auVExiRY="; + odbc = "sha256-3M6/cEtUrIFzQay8eHNiLGE+L0UF+VTmzp4cSBcrzlk="; + }; + aarch64-linux = { + basic = "sha256-DNntH20BAmo5kOz7uEgW2NXaNfwdvJ8l8oMnp50BOsY="; + sdk = "sha256-8VpkNyLyFMUfQwbZpSDV/CB95RoXfaMr8w58cRt/syw="; + sqlplus = "sha256-iHcyijHhAvjsAqN9R+Rxo2R47k940VvPbScc2MWYn0Q="; + tools = "sha256-4QY0EwcnctwPm6ZGDZLudOFM4UycLFmRIluKGXVwR0M="; + odbc = "sha256-T+RIIKzZ9xEg/E72pfs5xqHz2WuIWKx/oRfDrQbw3ms="; + }; + x86_64-darwin = { + basic = "sha256-V+1BmPOhDYPNXdwkcsBY1MOwt4Yka66/a7/HORzBIIc="; + sdk = "sha256-D6iuTEQYqmbOh1z5LnKN16ga6vLmjnkm4QK15S/Iukw="; + sqlplus = "sha256-08uoiwoKPZmTxLZLYRVp0UbN827FXdhOukeDUXvTCVk="; + tools = "sha256-1xFFGZapFq9ogGQ6ePSv4PrXl5qOAgRZWAp4mJ5uxdU="; + odbc = "sha256-S6+5P4daK/+nXwoHmOkj4DIkHtwdzO5GOkCCI612bRY="; + }; + } + .${stdenv.hostPlatform.system} or throwSystem; # rels per component and architecture, optional rels = { }.${stdenv.hostPlatform.system} or { }; # convert platform to oracle architecture names - arch = { - x86_64-linux = "linux.x64"; - aarch64-linux = "linux.arm64"; - x86_64-darwin = "macos.x64"; - }.${stdenv.hostPlatform.system} or throwSystem; - - shortArch = { - x86_64-linux = "linux"; - aarch64-linux = "linux"; - x86_64-darwin = "mac"; - }.${stdenv.hostPlatform.system} or throwSystem; + arch = + { + x86_64-linux = "linux.x64"; + aarch64-linux = "linux.arm64"; + x86_64-darwin = "macos.x64"; + } + .${stdenv.hostPlatform.system} or throwSystem; + + shortArch = + { + x86_64-linux = "linux"; + aarch64-linux = "linux"; + x86_64-darwin = "mac"; + } + .${stdenv.hostPlatform.system} or throwSystem; # calculate the filename of a single zip file - srcFilename = component: arch: version: rel: - "instantclient-${component}-${arch}-${version}" + - (optionalString (rel != "") "-${rel}") + - "dbru.zip"; # ¯\_(ツ)_/¯ + srcFilename = + component: arch: version: rel: + "instantclient-${component}-${arch}-${version}" + + (optionalString (rel != "") "-${rel}") + + "dbru.zip"; # ¯\_(ツ)_/¯ # fetcher for the non clickthrough artifacts - fetcher = srcFilename: hash: fetchurl { - url = "https://download.oracle.com/otn_software/${shortArch}/instantclient/${directory}/${srcFilename}"; - sha256 = hash; - }; + fetcher = + srcFilename: hash: + fetchurl { + url = "https://download.oracle.com/otn_software/${shortArch}/instantclient/${directory}/${srcFilename}"; + sha256 = hash; + }; # assemble srcs - srcs = map - (component: - (fetcher (srcFilename component arch version rels.${component} or "") hashes.${component} or "")) - components; + srcs = map ( + component: + (fetcher (srcFilename component arch version rels.${component} or "") hashes.${component} or "") + ) components; pname = "oracle-instantclient"; extLib = stdenv.hostPlatform.extensions.sharedLibrary; @@ -98,15 +117,24 @@ in stdenv.mkDerivation { inherit pname version srcs; - buildInputs = [ (lib.getLib stdenv.cc.cc) ] + buildInputs = + [ (lib.getLib stdenv.cc.cc) ] ++ optional stdenv.hostPlatform.isLinux libaio ++ optional odbcSupport unixODBC; - nativeBuildInputs = [ makeWrapper unzip ] + nativeBuildInputs = + [ + makeWrapper + unzip + ] ++ optional stdenv.hostPlatform.isLinux autoPatchelfHook ++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; unpackCmd = "unzip $curSrc"; @@ -142,7 +170,11 @@ stdenv.mkDerivation { ''; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; maintainers = with maintainers; [ dylanmtaylor ]; hydraPlatforms = [ ]; }; diff --git a/pkgs/by-name/or/oranchelo-icon-theme/package.nix b/pkgs/by-name/or/oranchelo-icon-theme/package.nix index b676b5956c733..1e52cf5543c2b 100644 --- a/pkgs/by-name/or/oranchelo-icon-theme/package.nix +++ b/pkgs/by-name/or/oranchelo-icon-theme/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, plasma5Packages, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + plasma5Packages, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "oranchelo-icon-theme"; diff --git a/pkgs/by-name/or/oranda/package.nix b/pkgs/by-name/or/oranda/package.nix index 0c5e55efe0eff..1e920f19fcce9 100644 --- a/pkgs/by-name/or/oranda/package.nix +++ b/pkgs/by-name/or/oranda/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, tailwindcss -, oniguruma -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + tailwindcss, + oniguruma, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -26,12 +27,14 @@ rustPlatform.buildRustPackage rec { tailwindcss ]; - buildInputs = [ - oniguruma - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + oniguruma + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + darwin.apple_sdk.frameworks.SystemConfiguration + ]; # requires internet access checkFlags = [ @@ -39,19 +42,24 @@ rustPlatform.buildRustPackage rec { "--skip=integration" ]; - env = { - RUSTONIG_SYSTEM_LIBONIG = true; - ORANDA_USE_TAILWIND_BINARY = true; - } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - # without this, tailwindcss fails with OpenSSL configuration error - OPENSSL_CONF = ""; - }; + env = + { + RUSTONIG_SYSTEM_LIBONIG = true; + ORANDA_USE_TAILWIND_BINARY = true; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # without this, tailwindcss fails with OpenSSL configuration error + OPENSSL_CONF = ""; + }; meta = with lib; { description = "Generate beautiful landing pages for your developer tools"; homepage = "https://github.com/axodotdev/oranda"; changelog = "https://github.com/axodotdev/oranda/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "oranda"; }; diff --git a/pkgs/by-name/or/oras/package.nix b/pkgs/by-name/or/oras/package.nix index eb9279d845ea4..28c71f2a0f00a 100644 --- a/pkgs/by-name/or/oras/package.nix +++ b/pkgs/by-name/or/oras/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, oras }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + oras, +}: buildGoModule rec { pname = "oras"; @@ -53,6 +60,9 @@ buildGoModule rec { description = "ORAS project provides a way to push and pull OCI Artifacts to and from OCI Registries"; mainProgram = "oras"; license = licenses.asl20; - maintainers = with maintainers; [ jk developer-guy ]; + maintainers = with maintainers; [ + jk + developer-guy + ]; }; } diff --git a/pkgs/by-name/or/orbiton/package.nix b/pkgs/by-name/or/orbiton/package.nix index 9bf7ec4b1d5e5..31343b74a7659 100644 --- a/pkgs/by-name/or/orbiton/package.nix +++ b/pkgs/by-name/or/orbiton/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper, pkg-config -, withGui ? true, vte +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + pkg-config, + withGui ? true, + vte, }: buildGoModule rec { @@ -15,7 +23,11 @@ buildGoModule rec { vendorHash = null; - nativeBuildInputs = [ installShellFiles makeWrapper pkg-config ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + pkg-config + ]; buildInputs = lib.optional withGui vte; @@ -25,14 +37,16 @@ buildGoModule rec { "-skip=TestPBcopy" # Requires impure pbcopy and pbpaste ]; - postInstall = '' - cd .. - installManPage o.1 - mv $out/bin/{orbiton,o} - '' + lib.optionalString withGui '' - make install-gui PREFIX=$out - wrapProgram $out/bin/og --prefix PATH : $out/bin - ''; + postInstall = + '' + cd .. + installManPage o.1 + mv $out/bin/{orbiton,o} + '' + + lib.optionalString withGui '' + make install-gui PREFIX=$out + wrapProgram $out/bin/og --prefix PATH : $out/bin + ''; meta = with lib; { description = "Config-free text editor and IDE limited to VT100"; diff --git a/pkgs/by-name/or/orbitron/package.nix b/pkgs/by-name/or/orbitron/package.nix index ca9cc750437d5..8adca1d63a333 100644 --- a/pkgs/by-name/or/orbitron/package.nix +++ b/pkgs/by-name/or/orbitron/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "orbitron"; @@ -43,6 +47,9 @@ stdenvNoCC.mkDerivation { ''; license = licenses.ofl; platforms = platforms.all; - maintainers = with lib.maintainers; [ leenaars minijackson ]; + maintainers = with lib.maintainers; [ + leenaars + minijackson + ]; }; } diff --git a/pkgs/by-name/or/orbuculum/package.nix b/pkgs/by-name/or/orbuculum/package.nix index e6a69e22be2d0..8b20e5e78edf2 100644 --- a/pkgs/by-name/or/orbuculum/package.nix +++ b/pkgs/by-name/or/orbuculum/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, czmq -, libusb1 -, ncurses -, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + czmq, + libusb1, + ncurses, + SDL2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/or/orc/package.nix b/pkgs/by-name/or/orc/package.nix index 4d799b04e7025..7cc98b93f7ee8 100644 --- a/pkgs/by-name/or/orc/package.nix +++ b/pkgs/by-name/or/orc/package.nix @@ -1,22 +1,25 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, file -, docbook_xsl -, gtk-doc ? null -, buildDevDoc ? gtk-doc != null +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + file, + docbook_xsl, + gtk-doc ? null, + buildDevDoc ? gtk-doc != null, -# for passthru.tests -, gnuradio -, gst_all_1 -, qt6 -, vips + # for passthru.tests + gnuradio, + gst_all_1, + qt6, + vips, -}: let +}: +let inherit (lib) optional optionals; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "orc"; version = "0.4.40"; @@ -30,21 +33,33 @@ in stdenv.mkDerivation rec { sed -i '/memcpy_speed/d' testsuite/meson.build ''; - outputs = [ "out" "dev" ] - ++ optional buildDevDoc "devdoc" - ; + outputs = [ + "out" + "dev" + ] ++ optional buildDevDoc "devdoc"; outputBin = "dev"; # compilation tools - mesonFlags = - optionals (!buildDevDoc) [ "-Dgtk_doc=disabled" ] - ; + mesonFlags = optionals (!buildDevDoc) [ "-Dgtk_doc=disabled" ]; - nativeBuildInputs = [ meson ninja ] - ++ optionals buildDevDoc [ gtk-doc file docbook_xsl ] - ; + nativeBuildInputs = + [ + meson + ninja + ] + ++ optionals buildDevDoc [ + gtk-doc + file + docbook_xsl + ]; # https://gitlab.freedesktop.org/gstreamer/orc/-/issues/41 - doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 && stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12"); + doCheck = + !( + stdenv.hostPlatform.isLinux + && stdenv.hostPlatform.isAarch64 + && stdenv.cc.isGNU + && lib.versionAtLeast stdenv.cc.version "12" + ); passthru.tests = { inherit (gst_all_1) gst-plugins-good gst-plugins-bad gst-plugins-ugly; @@ -58,7 +73,10 @@ in stdenv.mkDerivation rec { changelog = "https://cgit.freedesktop.org/gstreamer/orc/plain/RELEASE?h=${version}"; # The source code implementing the Marsenne Twister algorithm is licensed # under the 3-clause BSD license. The rest is 2-clause BSD license. - license = with licenses; [ bsd3 bsd2 ]; + license = with licenses; [ + bsd3 + bsd2 + ]; platforms = platforms.unix; maintainers = [ ]; }; diff --git a/pkgs/by-name/or/orca-c/package.nix b/pkgs/by-name/or/orca-c/package.nix index 3dfea97ace2a7..0696a6683fed9 100644 --- a/pkgs/by-name/or/orca-c/package.nix +++ b/pkgs/by-name/or/orca-c/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, ncurses, portmidi }: +{ + lib, + stdenv, + fetchgit, + ncurses, + portmidi, +}: stdenv.mkDerivation { pname = "orca-c"; version = "unstable-2021-02-13"; @@ -9,7 +15,10 @@ stdenv.mkDerivation { sha256 = "sha256-bbIH0kyHRTcMGXV3WdBQIH1br0FyIzKKL88wqpGZ0NY="; }; - buildInputs = [ ncurses portmidi ]; + buildInputs = [ + ncurses + portmidi + ]; postPatch = '' patchShebangs tool diff --git a/pkgs/by-name/or/orca/package.nix b/pkgs/by-name/or/orca/package.nix index 04dbff20fcc63..8d920bca4bba3 100644 --- a/pkgs/by-name/or/orca/package.nix +++ b/pkgs/by-name/or/orca/package.nix @@ -1,29 +1,30 @@ -{ lib -, pkg-config -, fetchurl -, meson -, ninja -, wrapGAppsHook3 -, gobject-introspection -, gettext -, yelp-tools -, itstool -, python3 -, gtk3 -, gnome -, substituteAll -, at-spi2-atk -, at-spi2-core -, dbus -, xkbcomp -, procps -, lsof -, coreutils -, gsettings-desktop-schemas -, speechd-minimal -, brltty -, liblouis -, gst_all_1 +{ + lib, + pkg-config, + fetchurl, + meson, + ninja, + wrapGAppsHook3, + gobject-introspection, + gettext, + yelp-tools, + itstool, + python3, + gtk3, + gnome, + substituteAll, + at-spi2-atk, + at-spi2-core, + dbus, + xkbcomp, + procps, + lsof, + coreutils, + gsettings-desktop-schemas, + speechd-minimal, + brltty, + liblouis, + gst_all_1, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/or/orcania/package.nix b/pkgs/by-name/or/orcania/package.nix index e0e3775531df5..ffd405972c2d2 100644 --- a/pkgs/by-name/or/orcania/package.nix +++ b/pkgs/by-name/or/orcania/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, check, subunit }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + check, + subunit, +}: stdenv.mkDerivation rec { pname = "orcania"; version = "2.3.3"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - nativeCheckInputs = [ check subunit ]; + nativeCheckInputs = [ + check + subunit + ]; cmakeFlags = [ "-DBUILD_ORCANIA_TESTING=on" ]; diff --git a/pkgs/by-name/or/orchard/package.nix b/pkgs/by-name/or/orchard/package.nix index 96299502b6aee..9cd1a2eb37e9d 100644 --- a/pkgs/by-name/or/orchard/package.nix +++ b/pkgs/by-name/or/orchard/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: buildGoModule rec { pname = "orchard"; @@ -46,8 +51,7 @@ buildGoModule rec { meta = with lib; { mainProgram = "orchard"; - description = - "Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices"; + description = "Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices"; homepage = "https://github.com/cirruslabs/orchard"; license = licenses.fairsource09; maintainers = with maintainers; [ techknowlogick ]; diff --git a/pkgs/by-name/or/orchis-theme/package.nix b/pkgs/by-name/or/orchis-theme/package.nix index e8524c981d3b3..fcb63679336b2 100644 --- a/pkgs/by-name/or/orchis-theme/package.nix +++ b/pkgs/by-name/or/orchis-theme/package.nix @@ -1,67 +1,84 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, gnome-themes-extra -, gtk-engine-murrine -, sassc -, border-radius ? null # Suggested: 2 < value < 16 -, tweaks ? [ ] # can be "solid" "compact" "black" "primary" "macos" "submenu" "nord|dracula" -, withWallpapers ? false +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + gnome-themes-extra, + gtk-engine-murrine, + sassc, + border-radius ? null, # Suggested: 2 < value < 16 + tweaks ? [ ], # can be "solid" "compact" "black" "primary" "macos" "submenu" "nord|dracula" + withWallpapers ? false, }: let pname = "orchis-theme"; - validTweaks = [ "solid" "compact" "black" "primary" "macos" "submenu" "nord" "dracula" ]; + validTweaks = [ + "solid" + "compact" + "black" + "primary" + "macos" + "submenu" + "nord" + "dracula" + ]; - nordXorDracula = with builtins; lib.assertMsg (!(elem "nord" tweaks) || !(elem "dracula" tweaks)) '' - ${pname}: dracula and nord cannot be mixed. Tweaks ${toString tweaks} - ''; + nordXorDracula = + with builtins; + lib.assertMsg (!(elem "nord" tweaks) || !(elem "dracula" tweaks)) '' + ${pname}: dracula and nord cannot be mixed. Tweaks ${toString tweaks} + ''; in assert nordXorDracula; lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks -stdenvNoCC.mkDerivation -rec { - inherit pname; - version = "2024-11-03"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-11-03"; - src = fetchFromGitHub { - repo = "Orchis-theme"; - owner = "vinceliuice"; - rev = version; - hash = "sha256-K8FiS1AiFMhVaz2Jbr0pudQJGqpwBkQ/4NZdZACtM9Q="; - }; + src = fetchFromGitHub { + repo = "Orchis-theme"; + owner = "vinceliuice"; + rev = version; + hash = "sha256-K8FiS1AiFMhVaz2Jbr0pudQJGqpwBkQ/4NZdZACtM9Q="; + }; - nativeBuildInputs = [ gtk3 sassc ]; + nativeBuildInputs = [ + gtk3 + sassc + ]; - buildInputs = [ gnome-themes-extra ]; + buildInputs = [ gnome-themes-extra ]; - propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; - preInstall = '' - mkdir -p $out/share/themes - ''; + preInstall = '' + mkdir -p $out/share/themes + ''; - installPhase = '' - runHook preInstall - bash install.sh -d $out/share/themes -t all \ - ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \ - ${lib.optionalString (border-radius != null) ("--round " + builtins.toString border-radius + "px")} - ${lib.optionalString withWallpapers '' - mkdir -p $out/share/backgrounds - cp src/wallpaper/{1080p,2k,4k}.jpg $out/share/backgrounds - ''} - runHook postInstall - ''; + installPhase = '' + runHook preInstall + bash install.sh -d $out/share/themes -t all \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + ${lib.optionalString (border-radius != null) ( + "--round " + builtins.toString border-radius + "px" + )} + ${lib.optionalString withWallpapers '' + mkdir -p $out/share/backgrounds + cp src/wallpaper/{1080p,2k,4k}.jpg $out/share/backgrounds + ''} + runHook postInstall + ''; - meta = with lib; { - description = "Material Design theme for GNOME/GTK based desktop environments"; - homepage = "https://github.com/vinceliuice/Orchis-theme"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = [ maintainers.fufexan ]; - }; -} + meta = with lib; { + description = "Material Design theme for GNOME/GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Orchis-theme"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.fufexan ]; + }; + } diff --git a/pkgs/by-name/or/ord/package.nix b/pkgs/by-name/or/ord/package.nix index 0bb6ac0abe4d2..4beccb98936a5 100644 --- a/pkgs/by-name/or/ord/package.nix +++ b/pkgs/by-name/or/ord/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,12 +25,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; dontUseCargoParallelTests = true; diff --git a/pkgs/by-name/or/oreo-cursors-plus/package.nix b/pkgs/by-name/or/oreo-cursors-plus/package.nix index d998718ad085c..14dc1dd73c046 100644 --- a/pkgs/by-name/or/oreo-cursors-plus/package.nix +++ b/pkgs/by-name/or/oreo-cursors-plus/package.nix @@ -23,7 +23,11 @@ stdenvNoCC.mkDerivation { hash = "sha256-6oTyOQK7mkr+jWYbPNBlJ4BpT815lNJvsJjzdTmj+68="; }; - nativeBuildInputs = lib.optionals (cursorsConf != null) [ ruby inkscape xorg.xcursorgen ]; + nativeBuildInputs = lib.optionals (cursorsConf != null) [ + ruby + inkscape + xorg.xcursorgen + ]; # './cursors.conf' contains definitions of cursor variations to generate. configurePhase = '' @@ -38,33 +42,33 @@ stdenvNoCC.mkDerivation { # The repo already contains the default cursors pre-generated in './dist'. Just copy these if './cursors.conf' is not overwritten. # Otherwise firs remove all default variations and build. - buildPhase ='' - runHook preBuild + buildPhase = '' + runHook preBuild - ${lib.optionalString (cursorsConf != null) '' - rm -r {dist,src/oreo_*} - export HOME=$TMP - ruby generator/convert.rb - make build - ''} + ${lib.optionalString (cursorsConf != null) '' + rm -r {dist,src/oreo_*} + export HOME=$TMP + ruby generator/convert.rb + make build + ''} - runHook postBuild - ''; + runHook postBuild + ''; installPhase = '' - runHook preInstall + runHook preInstall - mkdir -p $out/share - mv ./dist $out/share/icons + mkdir -p $out/share + mv ./dist $out/share/icons - runHook postInstall - ''; + runHook postInstall + ''; meta = { description = "Colored Material cursors with cute animations"; homepage = "https://github.com/Souravgoswami/oreo-cursors"; license = lib.licenses.gpl2Only; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [michaelBrunner]; + maintainers = with lib.maintainers; [ michaelBrunner ]; }; } diff --git a/pkgs/by-name/or/org-stats/package.nix b/pkgs/by-name/or/org-stats/package.nix index 211a1bded75c8..f5699e2728d30 100644 --- a/pkgs/by-name/or/org-stats/package.nix +++ b/pkgs/by-name/or/org-stats/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, substituteAll -, installShellFiles -, testers -, org-stats +{ + lib, + buildGoModule, + fetchFromGitHub, + substituteAll, + installShellFiles, + testers, + org-stats, }: buildGoModule rec { @@ -33,7 +34,10 @@ buildGoModule rec { installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' $out/bin/org-stats man > org-stats.1 diff --git a/pkgs/by-name/or/orion/package.nix b/pkgs/by-name/or/orion/package.nix index 93ea3633fb5aa..851ea346b81cd 100644 --- a/pkgs/by-name/or/orion/package.nix +++ b/pkgs/by-name/or/orion/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "orion"; diff --git a/pkgs/by-name/or/orjail/package.nix b/pkgs/by-name/or/orjail/package.nix index ed2d64588306a..d7c2fa0e563dc 100644 --- a/pkgs/by-name/or/orjail/package.nix +++ b/pkgs/by-name/or/orjail/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, tor -, firejail -, iptables -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + tor, + firejail, + iptables, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/or/orocos-kdl/package.nix b/pkgs/by-name/or/orocos-kdl/package.nix index 05a3cefaecebb..304f1c7de443c 100644 --- a/pkgs/by-name/or/orocos-kdl/package.nix +++ b/pkgs/by-name/or/orocos-kdl/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, eigen }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, +}: stdenv.mkDerivation rec { pname = "orocos-kdl"; diff --git a/pkgs/by-name/or/orogene/package.nix b/pkgs/by-name/or/orogene/package.nix index 0f772eac7dfc9..a5ac15d26a2b2 100644 --- a/pkgs/by-name/or/orogene/package.nix +++ b/pkgs/by-name/or/orogene/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; preCheck = '' export CI=true @@ -40,7 +43,10 @@ rustPlatform.buildRustPackage rec { description = "Package manager for tools that use node_modules"; homepage = "https://github.com/orogene/orogene"; changelog = "https://github.com/orogene/orogene/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 isc ]; + license = with licenses; [ + asl20 + isc + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "oro"; }; diff --git a/pkgs/by-name/or/ortp/package.nix b/pkgs/by-name/or/ortp/package.nix index 9940ec12ab70d..3f5ea02d5e1f0 100644 --- a/pkgs/by-name/or/ortp/package.nix +++ b/pkgs/by-name/or/ortp/package.nix @@ -1,8 +1,9 @@ -{ bctoolbox -, cmake -, fetchFromGitLab -, lib -, stdenv +{ + bctoolbox, + cmake, + fetchFromGitLab, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/or/orz/package.nix b/pkgs/by-name/or/orz/package.nix index 1520a76365dab..6acd6736266dc 100644 --- a/pkgs/by-name/or/orz/package.nix +++ b/pkgs/by-name/or/orz/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, rust-cbindgen +{ + lib, + rustPlatform, + fetchFromGitHub, + rust-cbindgen, }: rustPlatform.buildRustPackage rec { @@ -17,7 +18,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-aUsRbIajBP6esjW7Wj7mqIkbYUCbZ2GgxjRXMPTnHYg="; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; nativeBuildInputs = [ rust-cbindgen diff --git a/pkgs/by-name/os/os-prober/package.nix b/pkgs/by-name/os/os-prober/package.nix index cfe673bd58f6f..64e5171dc0a94 100644 --- a/pkgs/by-name/os/os-prober/package.nix +++ b/pkgs/by-name/os/os-prober/package.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitLab, makeWrapper, nixosTests, -# optional dependencies, the command(s) they provide -coreutils, # mktemp -grub2, # grub-mount and grub-probe -cryptsetup, # cryptsetup -libuuid, # blkid and blockdev -systemd, # udevadm -ntfs3g, # ntfs3g -dmraid, # dmraid -lvm2 # lvs +{ + lib, + stdenv, + fetchFromGitLab, + makeWrapper, + nixosTests, + # optional dependencies, the command(s) they provide + coreutils, # mktemp + grub2, # grub-mount and grub-probe + cryptsetup, # cryptsetup + libuuid, # blkid and blockdev + systemd, # udevadm + ntfs3g, # ntfs3g + dmraid, # dmraid + lvm2, # lvs }: stdenv.mkDerivation rec { @@ -56,7 +61,18 @@ stdenv.mkDerivation rec { done; for file in $out/bin/*; do wrapProgram $file \ - --suffix PATH : ${lib.makeBinPath [ grub2 systemd coreutils cryptsetup libuuid ntfs3g lvm2 dmraid ]} \ + --suffix PATH : ${ + lib.makeBinPath [ + grub2 + systemd + coreutils + cryptsetup + libuuid + ntfs3g + lvm2 + dmraid + ] + } \ --run "[ -d /var/lib/os-prober ] || mkdir /var/lib/os-prober" done; ''; diff --git a/pkgs/by-name/os/osc-cli/package.nix b/pkgs/by-name/os/osc-cli/package.nix index 0af589f1e884e..3a024b86657c1 100644 --- a/pkgs/by-name/os/osc-cli/package.nix +++ b/pkgs/by-name/os/osc-cli/package.nix @@ -1,7 +1,7 @@ { - lib - , python3 - , fetchFromGitHub + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/os/oscclip/package.nix b/pkgs/by-name/os/oscclip/package.nix index 2b4e6aa7d1f7a..349079d353292 100644 --- a/pkgs/by-name/os/oscclip/package.nix +++ b/pkgs/by-name/os/oscclip/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { @@ -27,6 +28,9 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/rumpelsepp/oscclip"; license = licenses.gpl3Only; - maintainers = with maintainers; [ rumpelsepp traxys ]; + maintainers = with maintainers; [ + rumpelsepp + traxys + ]; }; } diff --git a/pkgs/by-name/os/osdlyrics/package.nix b/pkgs/by-name/os/osdlyrics/package.nix index d0f12a59125da..d470003be7510 100644 --- a/pkgs/by-name/os/osdlyrics/package.nix +++ b/pkgs/by-name/os/osdlyrics/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, autoreconfHook -, pkg-config -, intltool + autoreconfHook, + pkg-config, + intltool, -, glib -, gtk2 -, dbus-glib -, libappindicator-gtk2 -, libnotify -, python3 -, runtimeShell + glib, + gtk2, + dbus-glib, + libappindicator-gtk2, + libnotify, + python3, + runtimeShell, }: stdenv.mkDerivation rec { @@ -39,12 +40,14 @@ stdenv.mkDerivation rec { libappindicator-gtk2 libnotify python3.pkgs.wrapPython - (python3.withPackages (pp: with pp; [ - chardet - dbus-python - pycurl - pygobject3 - ])) + (python3.withPackages ( + pp: with pp; [ + chardet + dbus-python + pycurl + pygobject3 + ] + )) ]; postFixup = '' diff --git a/pkgs/by-name/os/oshka/package.nix b/pkgs/by-name/os/oshka/package.nix index 0161382491cf1..4727b3ab1e1e3 100644 --- a/pkgs/by-name/os/oshka/package.nix +++ b/pkgs/by-name/os/oshka/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/os/osi/package.nix b/pkgs/by-name/os/osi/package.nix index cb83b2141819e..98b73755866b6 100644 --- a/pkgs/by-name/os/osi/package.nix +++ b/pkgs/by-name/os/osi/package.nix @@ -1,7 +1,18 @@ -{ stdenv, lib, fetchFromGitHub, gfortran, pkg-config -, blas, zlib, bzip2, coin-utils -, withGurobi ? false, gurobi -, withCplex ? false, cplex }: +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + pkg-config, + blas, + zlib, + bzip2, + coin-utils, + withGurobi ? false, + gurobi, + withCplex ? false, + cplex, +}: stdenv.mkDerivation rec { pname = "osi"; @@ -15,16 +26,29 @@ stdenv.mkDerivation rec { }; buildInputs = - [ blas zlib bzip2 coin-utils ] + [ + blas + zlib + bzip2 + coin-utils + ] ++ lib.optional withGurobi gurobi ++ lib.optional withCplex cplex; - nativeBuildInputs = [ gfortran pkg-config ]; + nativeBuildInputs = [ + gfortran + pkg-config + ]; configureFlags = - lib.optionals withGurobi [ "--with-gurobi-incdir=${gurobi}/include" "--with-gurobi-lib=-lgurobi${gurobi.libSuffix}" ] - ++ lib.optionals withCplex [ "--with-cplex-incdir=${cplex}/cplex/include/ilcplex" "--with-cplex-lib=-lcplex${cplex.libSuffix}" ]; + lib.optionals withGurobi [ + "--with-gurobi-incdir=${gurobi}/include" + "--with-gurobi-lib=-lgurobi${gurobi.libSuffix}" + ] + ++ lib.optionals withCplex [ + "--with-cplex-incdir=${cplex}/cplex/include/ilcplex" + "--with-cplex-lib=-lcplex${cplex.libSuffix}" + ]; - NIX_LDFLAGS = - lib.optionalString withCplex "-L${cplex}/cplex/bin/${cplex.libArch}"; + NIX_LDFLAGS = lib.optionalString withCplex "-L${cplex}/cplex/bin/${cplex.libArch}"; # Compile errors env.NIX_CFLAGS_COMPILE = "-Wno-cast-qual"; diff --git a/pkgs/by-name/os/osinfo-db-tools/package.nix b/pkgs/by-name/os/osinfo-db-tools/package.nix index 55abe8e356576..e89c7416888e8 100644 --- a/pkgs/by-name/os/osinfo-db-tools/package.nix +++ b/pkgs/by-name/os/osinfo-db-tools/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, meson -, ninja -, gettext -, glib -, libxml2 -, perl -, python3 -, libxslt -, libarchive -, bzip2 -, xz -, json-glib -, libsoup_3 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + meson, + ninja, + gettext, + glib, + libxml2, + perl, + python3, + libxslt, + libarchive, + bzip2, + xz, + json-glib, + libsoup_3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/os/osinfo-db/package.nix b/pkgs/by-name/os/osinfo-db/package.nix index bfd8f589f9e3d..7cc5215cd4004 100644 --- a/pkgs/by-name/os/osinfo-db/package.nix +++ b/pkgs/by-name/os/osinfo-db/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, osinfo-db-tools -, gettext -, libxml2 +{ + lib, + stdenv, + fetchurl, + osinfo-db-tools, + gettext, + libxml2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/os/osm-gps-map/package.nix b/pkgs/by-name/os/osm-gps-map/package.nix index 5beaf910e425d..4bae4c46fd45e 100644 --- a/pkgs/by-name/os/osm-gps-map/package.nix +++ b/pkgs/by-name/os/osm-gps-map/package.nix @@ -1,4 +1,15 @@ -{ cairo, fetchzip, glib, libsoup_2_4, gnome-common, gtk3, gobject-introspection, pkg-config, lib, stdenv }: +{ + cairo, + fetchzip, + glib, + libsoup_2_4, + gnome-common, + gtk3, + gobject-introspection, + pkg-config, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "osm-gps-map"; @@ -9,12 +20,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-ciw28YXhR+GC6B2VPC+ZxjyhadOk3zYGuOssSgqjwH0="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - nativeBuildInputs = [ pkg-config gobject-introspection gnome-common ]; + nativeBuildInputs = [ + pkg-config + gobject-introspection + gnome-common + ]; buildInputs = [ - cairo glib + cairo + glib gtk3 libsoup_2_4 ]; diff --git a/pkgs/by-name/os/osm2pgsql/package.nix b/pkgs/by-name/os/osm2pgsql/package.nix index f05da20d36874..b5c927740f346 100644 --- a/pkgs/by-name/os/osm2pgsql/package.nix +++ b/pkgs/by-name/os/osm2pgsql/package.nix @@ -1,24 +1,26 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, expat -, fmt_11 -, proj -, bzip2 -, cli11 -, zlib -, boost -, postgresql -, python3 -, withLuaJIT ? false -, lua -, luajit -, libosmium -, nlohmann_json -, opencv -, potrace -, protozero -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + expat, + fmt_11, + proj, + bzip2, + cli11, + zlib, + boost, + postgresql, + python3, + withLuaJIT ? false, + lua, + luajit, + libosmium, + nlohmann_json, + opencv, + potrace, + protozero, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -39,22 +41,29 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = [ - boost - bzip2 - cli11 - expat - fmt_11 - libosmium - nlohmann_json - opencv - postgresql - potrace - proj - protozero - (python3.withPackages (p: with p; [ psycopg2 pyosmium ])) - zlib - ] ++ lib.optional withLuaJIT luajit + buildInputs = + [ + boost + bzip2 + cli11 + expat + fmt_11 + libosmium + nlohmann_json + opencv + postgresql + potrace + proj + protozero + (python3.withPackages ( + p: with p; [ + psycopg2 + pyosmium + ] + )) + zlib + ] + ++ lib.optional withLuaJIT luajit ++ lib.optional (!withLuaJIT) lua; cmakeFlags = [ @@ -73,6 +82,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://osm2pgsql.org"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.unix; - maintainers = lib.teams.geospatial.members ++ (with lib.maintainers; [ jglukasik das-g ]); + maintainers = + lib.teams.geospatial.members + ++ (with lib.maintainers; [ + jglukasik + das-g + ]); }; }) diff --git a/pkgs/by-name/os/osm2xmap/package.nix b/pkgs/by-name/os/osm2xmap/package.nix index bca60b14a34df..292b4884711a0 100644 --- a/pkgs/by-name/os/osm2xmap/package.nix +++ b/pkgs/by-name/os/osm2xmap/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libroxml, proj_7, yaml-cpp_0_3, boost } : +{ + lib, + stdenv, + fetchFromGitHub, + libroxml, + proj_7, + yaml-cpp_0_3, + boost, +}: stdenv.mkDerivation rec { pname = "osm2xmap"; @@ -21,7 +29,12 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H"; - buildInputs = [ libroxml proj_7 yaml-cpp_0_3 boost ]; + buildInputs = [ + libroxml + proj_7 + yaml-cpp_0_3 + boost + ]; meta = with lib; { homepage = "https://github.com/sembruk/osm2xmap"; diff --git a/pkgs/by-name/os/osmctools/package.nix b/pkgs/by-name/os/osmctools/package.nix index 230bc80d180a1..10026a49e5f24 100644 --- a/pkgs/by-name/os/osmctools/package.nix +++ b/pkgs/by-name/os/osmctools/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, zlib }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + zlib, +}: stdenv.mkDerivation rec { pname = "osmctools"; diff --git a/pkgs/by-name/os/osmid/package.nix b/pkgs/by-name/os/osmid/package.nix index 79b809428ea53..57257882b8101 100644 --- a/pkgs/by-name/os/osmid/package.nix +++ b/pkgs/by-name/os/osmid/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, alsa-lib -, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + alsa-lib, + libX11, }: stdenv.mkDerivation rec { @@ -18,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ alsa-lib libX11 ]; + buildInputs = [ + alsa-lib + libX11 + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/os/osmium-tool/package.nix b/pkgs/by-name/os/osmium-tool/package.nix index 7735e7500f9d0..5e38abe587900 100644 --- a/pkgs/by-name/os/osmium-tool/package.nix +++ b/pkgs/by-name/os/osmium-tool/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, installShellFiles -, pandoc -, boost -, bzip2 -, expat -, libosmium -, lz4 -, protozero -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + installShellFiles, + pandoc, + boost, + bzip2, + expat, + libosmium, + lz4, + protozero, + zlib, }: stdenv.mkDerivation rec { @@ -49,7 +51,11 @@ stdenv.mkDerivation rec { description = "Multipurpose command line tool for working with OpenStreetMap data based on the Osmium library"; homepage = "https://osmcode.org/osmium-tool/"; changelog = "https://github.com/osmcode/osmium-tool/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ gpl3Plus mit bsd3 ]; + license = with licenses; [ + gpl3Plus + mit + bsd3 + ]; maintainers = with maintainers; teams.geospatial.members ++ [ das-g ]; mainProgram = "osmium"; }; diff --git a/pkgs/by-name/os/osmo-bsc/package.nix b/pkgs/by-name/os/osmo-bsc/package.nix index ced3be6b350fb..9caae70947891 100644 --- a/pkgs/by-name/os/osmo-bsc/package.nix +++ b/pkgs/by-name/os/osmo-bsc/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, libosmoabis -, libosmo-netif -, libosmo-sccp -, osmo-mgw +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + libosmoabis, + libosmo-netif, + libosmo-sccp, + osmo-mgw, }: let @@ -29,7 +30,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-bts/package.nix b/pkgs/by-name/os/osmo-bts/package.nix index 4bdddf7845133..4014643900fe6 100644 --- a/pkgs/by-name/os/osmo-bts/package.nix +++ b/pkgs/by-name/os/osmo-bts/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, libosmoabis -, libosmo-netif +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + libosmoabis, + libosmo-netif, }: stdenv.mkDerivation rec { @@ -23,7 +24,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-ggsn/package.nix b/pkgs/by-name/os/osmo-ggsn/package.nix index f2c77d33ddb1f..67322e9751a80 100644 --- a/pkgs/by-name/os/osmo-ggsn/package.nix +++ b/pkgs/by-name/os/osmo-ggsn/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, }: let @@ -25,7 +26,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-hlr/package.nix b/pkgs/by-name/os/osmo-hlr/package.nix index a287619155ed4..2e58ebb6d2d95 100644 --- a/pkgs/by-name/os/osmo-hlr/package.nix +++ b/pkgs/by-name/os/osmo-hlr/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, libosmoabis -, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + libosmoabis, + sqlite, }: let @@ -27,7 +28,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-hnbgw/package.nix b/pkgs/by-name/os/osmo-hnbgw/package.nix index e074e0100d28a..63640d549506c 100644 --- a/pkgs/by-name/os/osmo-hnbgw/package.nix +++ b/pkgs/by-name/os/osmo-hnbgw/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, lksctp-tools -, libosmo-netif -, libasn1c -, libosmo-sccp -, osmo-iuh -, osmo-mgw +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + lksctp-tools, + libosmo-netif, + libasn1c, + libosmo-sccp, + osmo-iuh, + osmo-mgw, }: let @@ -31,7 +32,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-hnodeb/package.nix b/pkgs/by-name/os/osmo-hnodeb/package.nix index 27cf6c04f41ae..035cd37c24829 100644 --- a/pkgs/by-name/os/osmo-hnodeb/package.nix +++ b/pkgs/by-name/os/osmo-hnodeb/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, lksctp-tools -, libasn1c -, libosmoabis -, libosmo-netif -, libosmo-sccp -, osmo-iuh +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + lksctp-tools, + libasn1c, + libosmoabis, + libosmo-netif, + libosmo-sccp, + osmo-iuh, }: let @@ -31,7 +32,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-iuh/package.nix b/pkgs/by-name/os/osmo-iuh/package.nix index d4044ac512fd5..8b23f5c20b215 100644 --- a/pkgs/by-name/os/osmo-iuh/package.nix +++ b/pkgs/by-name/os/osmo-iuh/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, lksctp-tools -, libosmo-netif -, libosmo-sccp -, libasn1c -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + lksctp-tools, + libosmo-netif, + libosmo-sccp, + libasn1c, + python3, }: let @@ -35,7 +36,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-mgw/package.nix b/pkgs/by-name/os/osmo-mgw/package.nix index 47ec9bdaf8fe0..e1c6e296b5eb3 100644 --- a/pkgs/by-name/os/osmo-mgw/package.nix +++ b/pkgs/by-name/os/osmo-mgw/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, libosmo-netif -, libosmoabis +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + libosmo-netif, + libosmoabis, }: let @@ -27,7 +28,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-msc/package.nix b/pkgs/by-name/os/osmo-msc/package.nix index 352489af8b68d..7e8bb0d8442bb 100644 --- a/pkgs/by-name/os/osmo-msc/package.nix +++ b/pkgs/by-name/os/osmo-msc/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, sqlite -, libosmoabis -, libosmo-netif -, libosmo-sccp -, osmo-mgw -, osmo-hlr -, lksctp-tools +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + sqlite, + libosmoabis, + libosmo-netif, + libosmo-sccp, + osmo-mgw, + osmo-hlr, + lksctp-tools, }: let @@ -32,7 +33,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-pcu/package.nix b/pkgs/by-name/os/osmo-pcu/package.nix index a8b2000ec8525..02f0fc4a6f712 100644 --- a/pkgs/by-name/os/osmo-pcu/package.nix +++ b/pkgs/by-name/os/osmo-pcu/package.nix @@ -1,10 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, }: let @@ -26,7 +26,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-sgsn/package.nix b/pkgs/by-name/os/osmo-sgsn/package.nix index 9b71a9e1927d9..f4c245b49934c 100644 --- a/pkgs/by-name/os/osmo-sgsn/package.nix +++ b/pkgs/by-name/os/osmo-sgsn/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, libosmoabis -, libosmo-netif -, osmo-hlr -, osmo-ggsn -, c-ares +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + libosmoabis, + libosmo-netif, + osmo-hlr, + osmo-ggsn, + c-ares, }: let @@ -30,7 +31,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo-sip-connector/package.nix b/pkgs/by-name/os/osmo-sip-connector/package.nix index b1f810d0f5f7e..990967bd564a5 100644 --- a/pkgs/by-name/os/osmo-sip-connector/package.nix +++ b/pkgs/by-name/os/osmo-sip-connector/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libosmocore -, sofia_sip -, glib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libosmocore, + sofia_sip, + glib, }: let @@ -27,7 +28,6 @@ stdenv.mkDerivation rec { echo "${version}" > .tarball-version ''; - nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/os/osmo/package.nix b/pkgs/by-name/os/osmo/package.nix index de1086f1f53d1..c5bcfc5e08ba4 100644 --- a/pkgs/by-name/os/osmo/package.nix +++ b/pkgs/by-name/os/osmo/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk3, libxml2, gettext, libical, libnotify -, libarchive, gspell, webkitgtk_4_0, libgringotts, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk3, + libxml2, + gettext, + libical, + libnotify, + libarchive, + gspell, + webkitgtk_4_0, + libgringotts, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "osmo"; @@ -10,9 +24,21 @@ stdenv.mkDerivation rec { sha256 = "19h3dnjgqbawnvgnycyp4n5b6mjsp5zghn3b69b6f3xa3fyi32qy"; }; - nativeBuildInputs = [ pkg-config gettext wrapGAppsHook3 ]; - buildInputs = [ gtk3 libxml2 libical libnotify libarchive - gspell webkitgtk_4_0 libgringotts ]; + nativeBuildInputs = [ + pkg-config + gettext + wrapGAppsHook3 + ]; + buildInputs = [ + gtk3 + libxml2 + libical + libnotify + libarchive + gspell + webkitgtk_4_0 + libgringotts + ]; meta = with lib; { description = "Handy personal organizer"; diff --git a/pkgs/by-name/os/osmtogeojson/package.nix b/pkgs/by-name/os/osmtogeojson/package.nix index 07d989d2cc83c..33d9e098290ef 100644 --- a/pkgs/by-name/os/osmtogeojson/package.nix +++ b/pkgs/by-name/os/osmtogeojson/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: buildNpmPackage rec { pname = "osmtogeojson"; diff --git a/pkgs/by-name/os/osqp/package.nix b/pkgs/by-name/os/osqp/package.nix index 55f00d01636a2..0425777a85f83 100644 --- a/pkgs/by-name/os/osqp/package.nix +++ b/pkgs/by-name/os/osqp/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/os/ossia-score/package.nix b/pkgs/by-name/os/ossia-score/package.nix index ee8e0a99a9488..cc455d3adffc5 100644 --- a/pkgs/by-name/os/ossia-score/package.nix +++ b/pkgs/by-name/os/ossia-score/package.nix @@ -1,41 +1,42 @@ -{ lib -, fetchFromGitHub -, cmake -, ninja -, clangStdenv -, pkg-config -, alsa-lib -, avahi -, avahi-compat -, bluez -, boost185 -, fmt -, ffmpeg -, fftw -, flac -, git -, gnutls -, lame -, libcoap -, libjack2 -, libopus -, libsamplerate -, libsndfile -, libvorbis -, lilv -, lv2 -, mpg123 -, pipewire -, portaudio -, qt6 -, rapidfuzz-cpp -, re2 -, rubberband -, snappy -, SDL2 -, spdlog -, suil -, udev +{ + lib, + fetchFromGitHub, + cmake, + ninja, + clangStdenv, + pkg-config, + alsa-lib, + avahi, + avahi-compat, + bluez, + boost185, + fmt, + ffmpeg, + fftw, + flac, + git, + gnutls, + lame, + libcoap, + libjack2, + libopus, + libsamplerate, + libsndfile, + libvorbis, + lilv, + lv2, + mpg123, + pipewire, + portaudio, + qt6, + rapidfuzz-cpp, + re2, + rubberband, + snappy, + SDL2, + spdlog, + suil, + udev, }: # TODO: figure out LLVM jit @@ -53,7 +54,14 @@ clangStdenv.mkDerivation (finalAttrs: { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake ninja git pkg-config qt6.qttools qt6.wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + ninja + git + pkg-config + qt6.qttools + qt6.wrapQtAppsHook + ]; buildInputs = [ alsa-lib @@ -153,6 +161,9 @@ clangStdenv.mkDerivation (finalAttrs: { ''; platforms = platforms.linux; license = licenses.gpl3Only; - maintainers = with maintainers; [ jcelerier minijackson ]; + maintainers = with maintainers; [ + jcelerier + minijackson + ]; }; }) diff --git a/pkgs/by-name/os/osslsigncode/package.nix b/pkgs/by-name/os/osslsigncode/package.nix index 2fe91c46bcd3e..27e3db46ddda9 100644 --- a/pkgs/by-name/os/osslsigncode/package.nix +++ b/pkgs/by-name/os/osslsigncode/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, python3 -, curl -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + python3, + curl, + openssl, }: stdenv.mkDerivation rec { @@ -19,16 +20,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-ENMFhIVQhPL4FDW9Ne2YGR3sXjvW55NN1bErfr/kDZg="; }; - nativeBuildInputs = [ cmake pkg-config python3 ]; + nativeBuildInputs = [ + cmake + pkg-config + python3 + ]; - buildInputs = [ curl openssl ]; + buildInputs = [ + curl + openssl + ]; meta = with lib; { homepage = "https://github.com/mtrojnar/osslsigncode"; description = "OpenSSL based Authenticode signing for PE/MSI/Java CAB files"; mainProgram = "osslsigncode"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ mmahut prusnak ]; + maintainers = with maintainers; [ + mmahut + prusnak + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/os/ossutil/package.nix b/pkgs/by-name/os/ossutil/package.nix index c55faa02d4a7f..cd32a65cfec0d 100644 --- a/pkgs/by-name/os/ossutil/package.nix +++ b/pkgs/by-name/os/ossutil/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { version = "1.7.18"; diff --git a/pkgs/by-name/os/ostree-rs-ext/package.nix b/pkgs/by-name/os/ostree-rs-ext/package.nix index 542dfd11cfcfb..59f987917accb 100644 --- a/pkgs/by-name/os/ostree-rs-ext/package.nix +++ b/pkgs/by-name/os/ostree-rs-ext/package.nix @@ -1,17 +1,18 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, makeWrapper -, glib -, openssl -, zlib -, ostree -, stdenv -, util-linux -, skopeo -, gnutar -, ima-evm-utils +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + makeWrapper, + glib, + openssl, + zlib, + ostree, + stdenv, + util-linux, + skopeo, + gnutar, + ima-evm-utils, }: rustPlatform.buildRustPackage rec { @@ -64,13 +65,24 @@ rustPlatform.buildRustPackage rec { ]; postInstall = '' - wrapProgram "$out/bin/${meta.mainProgram}" --prefix PATH : ${lib.makeBinPath [ util-linux skopeo gnutar ostree ima-evm-utils ]} + wrapProgram "$out/bin/${meta.mainProgram}" --prefix PATH : ${ + lib.makeBinPath [ + util-linux + skopeo + gnutar + ostree + ima-evm-utils + ] + } ''; meta = with lib; { description = "Rust library with higher level APIs on top of the core ostree API"; homepage = "https://github.com/ostreedev/ostree-rs-ext"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ nickcao ]; mainProgram = "ostree-ext-cli"; }; diff --git a/pkgs/by-name/os/ostrich-sans/package.nix b/pkgs/by-name/os/ostrich-sans/package.nix index 1acfe687df00f..a31617e6bd4fa 100644 --- a/pkgs/by-name/os/ostrich-sans/package.nix +++ b/pkgs/by-name/os/ostrich-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "ostrich-sans"; diff --git a/pkgs/by-name/os/osv-detector/package.nix b/pkgs/by-name/os/osv-detector/package.nix index 3be67c91d265d..470197738dcbe 100644 --- a/pkgs/by-name/os/osv-detector/package.nix +++ b/pkgs/by-name/os/osv-detector/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, osv-detector -, testers +{ + lib, + buildGoModule, + fetchFromGitHub, + osv-detector, + testers, }: buildGoModule rec { @@ -38,7 +39,10 @@ buildGoModule rec { "TestRun_Configs" ]; in - [ "-skip" "${builtins.concatStringsSep "|" skippedTests}" ]; + [ + "-skip" + "${builtins.concatStringsSep "|" skippedTests}" + ]; passthru.tests.version = testers.testVersion { package = osv-detector; diff --git a/pkgs/by-name/os/osv-scanner/package.nix b/pkgs/by-name/os/osv-scanner/package.nix index 3426e424ea95d..10803f166fda9 100644 --- a/pkgs/by-name/os/osv-scanner/package.nix +++ b/pkgs/by-name/os/osv-scanner/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, osv-scanner +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + osv-scanner, }: buildGoModule rec { @@ -43,6 +44,9 @@ buildGoModule rec { homepage = "https://github.com/google/osv-scanner"; changelog = "https://github.com/google/osv-scanner/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ stehessel urandom ]; + maintainers = with maintainers; [ + stehessel + urandom + ]; }; } diff --git a/pkgs/by-name/os/oswald/package.nix b/pkgs/by-name/os/oswald/package.nix index 13008e7b337bb..c842e8565ea49 100644 --- a/pkgs/by-name/os/oswald/package.nix +++ b/pkgs/by-name/os/oswald/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "oswald"; diff --git a/pkgs/by-name/os/osxsnarf/package.nix b/pkgs/by-name/os/osxsnarf/package.nix index 534c8bd5b3a60..aa4f22baa43e1 100644 --- a/pkgs/by-name/os/osxsnarf/package.nix +++ b/pkgs/by-name/os/osxsnarf/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, plan9port, darwin, ... }: +{ + stdenv, + lib, + fetchFromGitHub, + plan9port, + darwin, + ... +}: stdenv.mkDerivation rec { pname = "osxsnarf"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "1vpg39mpc5avnv1j0yfx0x2ncvv38slmm83zv6nmm7alfwfjr2ss"; }; - buildInputs = [ plan9port darwin.apple_sdk.frameworks.Carbon ]; + buildInputs = [ + plan9port + darwin.apple_sdk.frameworks.Carbon + ]; makeFlags = [ "prefix=${placeholder "out"}" ]; meta = with lib; { diff --git a/pkgs/by-name/ot/otel-cli/package.nix b/pkgs/by-name/ot/otel-cli/package.nix index b0c4e38c4c524..a3550e94225b1 100644 --- a/pkgs/by-name/ot/otel-cli/package.nix +++ b/pkgs/by-name/ot/otel-cli/package.nix @@ -1,4 +1,12 @@ -{ lib, buildGoModule, fetchFromGitHub, getent, coreutils, nix-update-script, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + getent, + coreutils, + nix-update-script, + stdenv, +}: buildGoModule rec { pname = "otel-cli"; @@ -13,23 +21,33 @@ buildGoModule rec { vendorHash = "sha256-fWQz7ZrU8gulhpOHSN8Prn4EMC0KXy942FZD/PMsLxc="; - preCheck = '' - ln -s $GOPATH/bin/otel-cli . - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - substituteInPlace main_test.go \ - --replace-fail 'const minimumPath = `/bin:/usr/bin`' 'const minimumPath = `${lib.makeBinPath [ getent coreutils ]}`' - ''; + preCheck = + '' + ln -s $GOPATH/bin/otel-cli . + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + substituteInPlace main_test.go \ + --replace-fail 'const minimumPath = `/bin:/usr/bin`' 'const minimumPath = `${ + lib.makeBinPath [ + getent + coreutils + ] + }`' + ''; patches = [ ./patches/bin-echo-patch.patch ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { homepage = "https://github.com/equinix-labs/otel-cli"; description = "Command-line tool for sending OpenTelemetry traces"; changelog = "https://github.com/equinix-labs/otel-cli/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with lib.maintainers; [ emattiza urandom ]; + maintainers = with lib.maintainers; [ + emattiza + urandom + ]; mainProgram = "otel-cli"; }; } diff --git a/pkgs/by-name/ot/otf2bdf/package.nix b/pkgs/by-name/ot/otf2bdf/package.nix index 6653225b7f448..110d813838453 100644 --- a/pkgs/by-name/ot/otf2bdf/package.nix +++ b/pkgs/by-name/ot/otf2bdf/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, freetype +{ + lib, + stdenv, + fetchFromGitHub, + freetype, }: stdenv.mkDerivation rec { @@ -12,9 +13,9 @@ stdenv.mkDerivation rec { # This is a mirror. src = fetchFromGitHub { owner = "jirutka"; - repo = "otf2bdf"; - rev = "v${version}"; - hash = "sha256-HK9ZrnwKhhYcBvSl+3RwFD7m/WSaPkGKX6utXnk5k+A="; + repo = "otf2bdf"; + rev = "v${version}"; + hash = "sha256-HK9ZrnwKhhYcBvSl+3RwFD7m/WSaPkGKX6utXnk5k+A="; }; buildInputs = [ freetype ]; diff --git a/pkgs/by-name/ot/otfcc/package.nix b/pkgs/by-name/ot/otfcc/package.nix index d45c800464ab7..820df7dac464b 100644 --- a/pkgs/by-name/ot/otfcc/package.nix +++ b/pkgs/by-name/ot/otfcc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, premake5 }: +{ + lib, + stdenv, + fetchFromGitHub, + premake5, +}: stdenv.mkDerivation rec { pname = "otfcc"; diff --git a/pkgs/by-name/ot/otpauth/package.nix b/pkgs/by-name/ot/otpauth/package.nix index f7f4fa3b81442..b8ab75997f68b 100644 --- a/pkgs/by-name/ot/otpauth/package.nix +++ b/pkgs/by-name/ot/otpauth/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/ot/otpclient/package.nix b/pkgs/by-name/ot/otpclient/package.nix index d850da3b58f8a..9569d7a5927b1 100644 --- a/pkgs/by-name/ot/otpclient/package.nix +++ b/pkgs/by-name/ot/otpclient/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, gtk3 -, wrapGAppsHook3 -, jansson -, libgcrypt -, libzip -, libpng -, libcotp -, protobuf -, protobufc -, qrencode -, libsecret -, libuuid -, zbar +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + gtk3, + wrapGAppsHook3, + jansson, + libgcrypt, + libzip, + libpng, + libcotp, + protobuf, + protobufc, + qrencode, + libsecret, + libuuid, + zbar, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ot/otpw/package.nix b/pkgs/by-name/ot/otpw/package.nix index 337e422eebdd1..3bac1ca3eb4e5 100644 --- a/pkgs/by-name/ot/otpw/package.nix +++ b/pkgs/by-name/ot/otpw/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, coreutils -, fetchurl -, libxcrypt -, pam -, procps -, unixtools -, util-linux +{ + lib, + stdenv, + coreutils, + fetchurl, + libxcrypt, + pam, + procps, + unixtools, + util-linux, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ot/ots/package.nix b/pkgs/by-name/ot/ots/package.nix index 7d55bb84d9760..e5975c7f9e6f3 100644 --- a/pkgs/by-name/ot/ots/package.nix +++ b/pkgs/by-name/ot/ots/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ots"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-qYk8T0sYIO0wJ0R0j+0VetCy11w8usIRRdBm/Z6grJE="; - ldflags = [ "-X main.version=${version}" "-X main.buildSource=nix" ]; + ldflags = [ + "-X main.version=${version}" + "-X main.buildSource=nix" + ]; meta = with lib; { description = "Share end-to-end encrypted secrets with others via a one-time URL"; diff --git a/pkgs/by-name/ot/ott/package.nix b/pkgs/by-name/ot/ott/package.nix index 73de6373e8f05..12890101e612d 100644 --- a/pkgs/by-name/ot/ott/package.nix +++ b/pkgs/by-name/ot/ott/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, ocamlPackages, opaline }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + ocamlPackages, + opaline, +}: stdenv.mkDerivation rec { pname = "ott"; @@ -11,21 +18,29 @@ stdenv.mkDerivation rec { hash = "sha256-GzeEiok5kigcmfqf/K/UxvlKkl55zy0vOyiRZ2HyMiE="; }; - strictDeps = true; - nativeBuildInputs = [ pkg-config opaline ] ++ (with ocamlPackages; [ findlib ocaml ]); + nativeBuildInputs = + [ + pkg-config + opaline + ] + ++ (with ocamlPackages; [ + findlib + ocaml + ]); buildInputs = with ocamlPackages; [ ocamlgraph ]; installTargets = "ott.install"; - postInstall = '' - opaline -prefix $out - '' - # There is `emacsPackages.ott-mode` for this now. - + '' - rm -r $out/share/emacs - ''; + postInstall = + '' + opaline -prefix $out + '' + # There is `emacsPackages.ott-mode` for this now. + + '' + rm -r $out/share/emacs + ''; meta = { description = "Tool for the working semanticist"; diff --git a/pkgs/by-name/ot/otto-matic/package.nix b/pkgs/by-name/ot/otto-matic/package.nix index fbdbb3366b10e..717154698f773 100644 --- a/pkgs/by-name/ot/otto-matic/package.nix +++ b/pkgs/by-name/ot/otto-matic/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, SDL2, cmake, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + cmake, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "OttoMatic"; diff --git a/pkgs/by-name/ot/otus-lisp/package.nix b/pkgs/by-name/ot/otus-lisp/package.nix index a8673652b2edc..1de3f09f8f055 100644 --- a/pkgs/by-name/ot/otus-lisp/package.nix +++ b/pkgs/by-name/ot/otus-lisp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, xxd }: +{ + lib, + stdenv, + fetchFromGitHub, + xxd, +}: stdenv.mkDerivation (finalAttrs: { pname = "otus-lisp"; @@ -18,7 +23,10 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Purely functional dialect of Lisp"; homepage = "https://yuriy-chumak.github.io/ol/"; - license = with lib.licenses; [ mit lgpl3Only ]; # dual licensed + license = with lib.licenses; [ + mit + lgpl3Only + ]; # dual licensed platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ nagy ]; mainProgram = "ol"; diff --git a/pkgs/by-name/ou/ouch/package.nix b/pkgs/by-name/ou/ouch/package.nix index aff44da469e6f..ea27974a5a866 100644 --- a/pkgs/by-name/ou/ouch/package.nix +++ b/pkgs/by-name/ou/ouch/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, bzip2 -, xz -, zlib -, zstd +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + bzip2, + xz, + zlib, + zstd, }: rustPlatform.buildRustPackage rec { @@ -22,9 +23,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-OdAu7fStTJCF1JGJG9TRE1Qosy6yjKsWq01MYpbXZcg="; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; - buildInputs = [ bzip2 xz zlib zstd ]; + buildInputs = [ + bzip2 + xz + zlib + zstd + ]; buildFeatures = [ "zstd/pkg-config" ]; @@ -45,7 +54,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/ouch-org/ouch"; changelog = "https://github.com/ouch-org/ouch/blob/${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda psibi ]; + maintainers = with maintainers; [ + figsoda + psibi + ]; mainProgram = "ouch"; }; } diff --git a/pkgs/by-name/ou/oui/package.nix b/pkgs/by-name/ou/oui/package.nix index 9fd613a295e7f..584de64b926e1 100644 --- a/pkgs/by-name/ou/oui/package.nix +++ b/pkgs/by-name/ou/oui/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "oui"; diff --git a/pkgs/by-name/ou/out-of-tree/package.nix b/pkgs/by-name/ou/out-of-tree/package.nix index 2d6fb694318f9..732a6bb5c6e0b 100644 --- a/pkgs/by-name/ou/out-of-tree/package.nix +++ b/pkgs/by-name/ou/out-of-tree/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchgit, qemu, podman, makeWrapper }: +{ + lib, + buildGoModule, + fetchgit, + qemu, + podman, + makeWrapper, +}: buildGoModule rec { pname = "out-of-tree"; @@ -18,7 +25,12 @@ buildGoModule rec { postFixup = '' wrapProgram $out/bin/out-of-tree \ - --prefix PATH : "${lib.makeBinPath [ qemu podman ]}" + --prefix PATH : "${ + lib.makeBinPath [ + qemu + podman + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/ou/outfox/package.nix b/pkgs/by-name/ou/outfox/package.nix index b3ac739d96639..693d757ff9f2b 100644 --- a/pkgs/by-name/ou/outfox/package.nix +++ b/pkgs/by-name/ou/outfox/package.nix @@ -1,38 +1,41 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, alsa-lib -, freetype -, libjack2 -, libglvnd -, libpulseaudio -, makeDesktopItem -, makeWrapper +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + alsa-lib, + freetype, + libjack2, + libglvnd, + libpulseaudio, + makeDesktopItem, + makeWrapper, }: stdenv.mkDerivation rec { pname = "outfox"; version = "0.5.0-pre042"; - src = { - i686-linux = fetchurl { - url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Linux-14.04-32bit-i386-i386-legacy-date-20231227.tar.gz"; - hash = "sha256-NFjNoqJ7Fq4A7Y0k6oQcWjykV+/b/MiRtJ1p6qlZdjs="; - }; - x86_64-linux = fetchurl { - url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Linux-22.04-amd64-current-date-20231224.tar.gz"; - hash = "sha256-dW+g/JYav3rUuI+nHDi6rXu/O5KYiEdk/HH82jgOUnI="; - }; - aarch64-linux = fetchurl { - url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Raspberry-Pi-Linux-18.04-arm64-arm64v8-modern-date-20231225.tar.gz"; - hash = "sha256-7Qrq6t8KmUSIK4Rskkxw5l4UZ2vsb9/orzPegHySaJ4="; - }; - armv7l-linux = fetchurl { - url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Raspberry-Pi-Linux-14.04-arm32-arm32v7-legacy-date-20231227.tar.gz"; - hash = "sha256-PRp7kuqFBRy7nextTCB+/poc+A9AX2EiQphx6aUfT8E="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + i686-linux = fetchurl { + url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Linux-14.04-32bit-i386-i386-legacy-date-20231227.tar.gz"; + hash = "sha256-NFjNoqJ7Fq4A7Y0k6oQcWjykV+/b/MiRtJ1p6qlZdjs="; + }; + x86_64-linux = fetchurl { + url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Linux-22.04-amd64-current-date-20231224.tar.gz"; + hash = "sha256-dW+g/JYav3rUuI+nHDi6rXu/O5KYiEdk/HH82jgOUnI="; + }; + aarch64-linux = fetchurl { + url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Raspberry-Pi-Linux-18.04-arm64-arm64v8-modern-date-20231225.tar.gz"; + hash = "sha256-7Qrq6t8KmUSIK4Rskkxw5l4UZ2vsb9/orzPegHySaJ4="; + }; + armv7l-linux = fetchurl { + url = "https://github.com/TeamRizu/OutFox/releases/download/OF5.0.0-042/OutFox-alpha-0.5.0-pre042-Raspberry-Pi-Linux-14.04-arm32-arm32v7-legacy-date-20231227.tar.gz"; + hash = "sha256-PRp7kuqFBRy7nextTCB+/poc+A9AX2EiQphx6aUfT8E="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook @@ -73,7 +76,12 @@ stdenv.mkDerivation rec { changelog = "https://projectoutfox.com/releases/${version}"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "armv7l-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "armv7l-linux" + ]; maintainers = with maintainers; [ maxwell-lt ]; mainProgram = "OutFox"; }; diff --git a/pkgs/by-name/ou/outils/package.nix b/pkgs/by-name/ou/outils/package.nix index e29e6440edcb7..a133d68e30c8c 100644 --- a/pkgs/by-name/ou/outils/package.nix +++ b/pkgs/by-name/ou/outils/package.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib }: +{ + stdenv, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation rec { pname = "outils"; diff --git a/pkgs/by-name/ou/outputcheck/package.nix b/pkgs/by-name/ou/outputcheck/package.nix index b7ae0b61f27b8..9025c26c5ec56 100644 --- a/pkgs/by-name/ou/outputcheck/package.nix +++ b/pkgs/by-name/ou/outputcheck/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, lit +{ + lib, + python3, + fetchFromGitHub, + lit, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ov/ov/package.nix b/pkgs/by-name/ov/ov/package.nix index aa0b24a4959b8..b6cc370e4215e 100644 --- a/pkgs/by-name/ov/ov/package.nix +++ b/pkgs/by-name/ov/ov/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, pandoc -, makeWrapper -, testers -, ov +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + pandoc, + makeWrapper, + testers, + ov, }: buildGoModule rec { @@ -37,23 +38,28 @@ buildGoModule rec { makeWrapper ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd ov \ - --bash <($out/bin/ov --completion bash) \ - --fish <($out/bin/ov --completion fish) \ - --zsh <($out/bin/ov --completion zsh) - '' + '' - mkdir -p $out/share/$name - cp $src/ov-less.yaml $out/share/$name/less-config.yaml - makeWrapper $out/bin/ov $out/bin/ov-less --add-flags "--config $out/share/$name/less-config.yaml" + postInstall = + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd ov \ + --bash <($out/bin/ov --completion bash) \ + --fish <($out/bin/ov --completion fish) \ + --zsh <($out/bin/ov --completion zsh) + '' + + '' + mkdir -p $out/share/$name + cp $src/ov-less.yaml $out/share/$name/less-config.yaml + makeWrapper $out/bin/ov $out/bin/ov-less --add-flags "--config $out/share/$name/less-config.yaml" - mkdir -p $doc/share/doc/$name - pandoc -s < $src/README.md > $doc/share/doc/$name/README.html - mkdir -p $doc/share/$name - cp $src/ov.yaml $doc/share/$name/sample-config.yaml - ''; + mkdir -p $doc/share/doc/$name + pandoc -s < $src/README.md > $doc/share/doc/$name/README.html + mkdir -p $doc/share/$name + cp $src/ov.yaml $doc/share/$name/sample-config.yaml + ''; passthru.tests = { version = testers.testVersion { @@ -67,6 +73,9 @@ buildGoModule rec { homepage = "https://noborus.github.io/ov"; changelog = "https://github.com/noborus/ov/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ farcaller figsoda ]; + maintainers = with maintainers; [ + farcaller + figsoda + ]; }; } diff --git a/pkgs/by-name/ov/oven-media-engine/package.nix b/pkgs/by-name/ov/oven-media-engine/package.nix index dd7bbc54ea912..9afc107d91faa 100644 --- a/pkgs/by-name/ov/oven-media-engine/package.nix +++ b/pkgs/by-name/ov/oven-media-engine/package.nix @@ -1,19 +1,21 @@ -{ lib, stdenv -, fetchFromGitHub -, srt -, bc -, pkg-config -, perl -, openssl -, zlib -, ffmpeg -, libvpx -, libopus -, libuuid -, srtp -, jemalloc -, pcre2 -, hiredis +{ + lib, + stdenv, + fetchFromGitHub, + srt, + bc, + pkg-config, + perl, + openssl, + zlib, + ffmpeg, + libvpx, + libopus, + libuuid, + srtp, + jemalloc, + pcre2, + hiredis, }: stdenv.mkDerivation rec { @@ -33,11 +35,35 @@ stdenv.mkDerivation rec { ./support-ffmpeg-7.patch ]; - makeFlags = [ "release" "CONFIG_LIBRARY_PATHS=" "CONFIG_PKG_PATHS=" "GLOBAL_CC=$(CC)" "GLOBAL_CXX=$(CXX)" "GLOBAL_LD=$(CXX)" "SHELL=${stdenv.shell}" ]; + makeFlags = [ + "release" + "CONFIG_LIBRARY_PATHS=" + "CONFIG_PKG_PATHS=" + "GLOBAL_CC=$(CC)" + "GLOBAL_CXX=$(CXX)" + "GLOBAL_LD=$(CXX)" + "SHELL=${stdenv.shell}" + ]; enableParallelBuilding = true; - nativeBuildInputs = [ bc pkg-config perl ]; - buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; + nativeBuildInputs = [ + bc + pkg-config + perl + ]; + buildInputs = [ + openssl + srt + zlib + ffmpeg + libvpx + libopus + srtp + jemalloc + pcre2 + libuuid + hiredis + ]; preBuild = '' cd src @@ -60,9 +86,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open-source streaming video service with sub-second latency"; mainProgram = "OvenMediaEngine"; - homepage = "https://ovenmediaengine.com"; - license = licenses.agpl3Only; + homepage = "https://ovenmediaengine.com"; + license = licenses.agpl3Only; maintainers = with maintainers; [ lukegb ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ov/overcommit/gemset.nix b/pkgs/by-name/ov/overcommit/gemset.nix index ed1b0fd5351e0..2b03bf49ae8f2 100644 --- a/pkgs/by-name/ov/overcommit/gemset.nix +++ b/pkgs/by-name/ov/overcommit/gemset.nix @@ -1,51 +1,55 @@ { childprocess = { - dependencies = ["logger"]; - groups = ["default"]; - platforms = []; + dependencies = [ "logger" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v5nalaarxnfdm6rxb7q6fmc6nx097jd630ax6h9ch7xw95li3cs"; type = "gem"; }; version = "5.1.0"; }; iniparse = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n"; type = "gem"; }; version = "1.5.0"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; overcommit = { - dependencies = ["childprocess" "iniparse" "rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "childprocess" + "iniparse" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lpl1ppjrqwsmywsb4srfjfm31dna30jrjyx2lkmws7s2jchy94v"; type = "gem"; }; version = "0.64.0"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09shc1dvg88c4yx83d4c9wf26z838nlapa3cmlq8iqdci39a98v2"; type = "gem"; }; diff --git a/pkgs/by-name/ov/overmind/package.nix b/pkgs/by-name/ov/overmind/package.nix index ceaec16839f9e..54bbc8153267c 100644 --- a/pkgs/by-name/ov/overmind/package.nix +++ b/pkgs/by-name/ov/overmind/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, tmux, which, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + tmux, + which, + makeWrapper, +}: buildGoModule rec { pname = "overmind"; @@ -7,7 +14,12 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; postInstall = '' - wrapProgram "$out/bin/overmind" --prefix PATH : "${lib.makeBinPath [ tmux which ]}" + wrapProgram "$out/bin/overmind" --prefix PATH : "${ + lib.makeBinPath [ + tmux + which + ] + }" ''; src = fetchFromGitHub { diff --git a/pkgs/by-name/ov/overpass/package.nix b/pkgs/by-name/ov/overpass/package.nix index 521c08c85cea1..b0eabb5f7b14d 100644 --- a/pkgs/by-name/ov/overpass/package.nix +++ b/pkgs/by-name/ov/overpass/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "overpass"; diff --git a/pkgs/by-name/ov/overskride/package.nix b/pkgs/by-name/ov/overskride/package.nix index f99244a8bd08a..80603bb4ef9d4 100644 --- a/pkgs/by-name/ov/overskride/package.nix +++ b/pkgs/by-name/ov/overskride/package.nix @@ -1,12 +1,30 @@ -{ lib, fetchFromGitHub, rustPlatform, cargo, rustc, meson, ninja -, pkg-config, wrapGAppsHook4, desktop-file-utils, appstream-glib -, blueprint-compiler, dbus, gtk4, libadwaita, bluez, libpulseaudio }: let +{ + lib, + fetchFromGitHub, + rustPlatform, + cargo, + rustc, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + desktop-file-utils, + appstream-glib, + blueprint-compiler, + dbus, + gtk4, + libadwaita, + bluez, + libpulseaudio, +}: +let -owner = "kaii-lb"; -name = "overskride"; -version = "0.6.1"; + owner = "kaii-lb"; + name = "overskride"; + version = "0.6.1"; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { pname = name; inherit version; @@ -32,7 +50,13 @@ in rustPlatform.buildRustPackage { rustc ]; - buildInputs = [ dbus gtk4 libadwaita bluez libpulseaudio ]; + buildInputs = [ + dbus + gtk4 + libadwaita + bluez + libpulseaudio + ]; buildPhase = '' runHook preBuild @@ -53,8 +77,7 @@ in rustPlatform.buildRustPackage { ''; meta = with lib; { - description = - "A Bluetooth and Obex client that is straight to the point, DE/WM agnostic, and beautiful"; + description = "A Bluetooth and Obex client that is straight to the point, DE/WM agnostic, and beautiful"; homepage = "https://github.com/${owner}/${name}"; changelog = "https://github.com/${owner}/${name}/blob/v${version}/CHANGELOG.md"; license = licenses.gpl3Only; diff --git a/pkgs/by-name/ov/oversteer/package.nix b/pkgs/by-name/ov/oversteer/package.nix index 3eb17719b35d2..fd1e063529ae2 100644 --- a/pkgs/by-name/ov/oversteer/package.nix +++ b/pkgs/by-name/ov/oversteer/package.nix @@ -1,9 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gettext, python3, python3Packages -, meson, ninja, udev, appstream, appstream-glib, desktop-file-utils, gtk3 -, wrapGAppsHook3, gobject-introspection, bash, }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gettext, + python3, + python3Packages, + meson, + ninja, + udev, + appstream, + appstream-glib, + desktop-file-utils, + gtk3, + wrapGAppsHook3, + gobject-introspection, + bash, +}: let - python = python3.withPackages (p: - with p; [ + python = python3.withPackages ( + p: with p; [ pygobject3 pyudev pyxdg @@ -12,10 +28,12 @@ let scipy gtk3 pygobject3 - ]); + ] + ); version = "0.8.3"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit version; pname = "oversteer"; @@ -27,7 +45,10 @@ in stdenv.mkDerivation { sha256 = "sha256-X58U7lFH53nCaXnE7uXgV7aea6qntNfH5TIt68xSefY="; }; - buildInputs = [ bash gtk3 ]; + buildInputs = [ + bash + gtk3 + ]; nativeBuildInputs = [ pkg-config @@ -45,7 +66,11 @@ in stdenv.mkDerivation { dontUseCmakeConfigure = true; - propagatedBuildInputs = [ python gtk3 python3Packages.pygobject3 ]; + propagatedBuildInputs = [ + python + gtk3 + python3Packages.pygobject3 + ]; mesonFlags = [ "--prefix" diff --git a/pkgs/by-name/ov/ovftool/package.nix b/pkgs/by-name/ov/ovftool/package.nix index 6df3491c085dc..10156450bec7e 100644 --- a/pkgs/by-name/ov/ovftool/package.nix +++ b/pkgs/by-name/ov/ovftool/package.nix @@ -1,20 +1,21 @@ -{ autoPatchelfHook -, c-ares -, darwin -, expat -, fetchurl -, glibc -, icu60 -, lib -, libiconv -, libredirect -, libxcrypt-legacy -, libxml2 -, makeWrapper -, stdenv -, unzip -, xercesc -, zlib +{ + autoPatchelfHook, + c-ares, + darwin, + expat, + fetchurl, + glibc, + icu60, + lib, + libiconv, + libredirect, + libxcrypt-legacy, + libxml2, + makeWrapper, + stdenv, + unzip, + xercesc, + zlib, }: let @@ -57,23 +58,28 @@ stdenv.mkDerivation { inherit (ovftoolSystem) name url hash; }; - buildInputs = [ - c-ares - expat - icu60 - libiconv - libxcrypt-legacy - xercesc - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - glibc - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.Libsystem - libxml2 - ]; - - nativeBuildInputs = [ unzip makeWrapper ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; + buildInputs = + [ + c-ares + expat + icu60 + libiconv + libxcrypt-legacy + xercesc + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + glibc + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.Libsystem + libxml2 + ]; + + nativeBuildInputs = [ + unzip + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; postUnpack = '' # The linux package wraps ovftool.bin with ovftool. Wrapping @@ -84,26 +90,28 @@ stdenv.mkDerivation { fi ''; - installPhase = '' - runHook preInstall - - # Based on https://aur.archlinux.org/packages/vmware-ovftool/ - # with the addition of a libexec directory and a Nix-style binary wrapper. - - # Almost all libs in the package appear to be VMware proprietary except for - # libgoogleurl and libcurl. The rest of the libraries that the installer - # extracts are omitted here, and provided in buildInputs. Since libcurl - # depends on VMware's OpenSSL, both libs are still used. - # FIXME: Replace libgoogleurl? Possibly from Chromium? - # FIXME: Tell VMware to use a modern version of OpenSSL. As of ovftool - # v4.6.2 ovftool uses openssl-1.0.2zh which in seems to be the extended - # support LTS release: https://www.openssl.org/support/contracts.html - - # Install all libs that are not patched in preFixup. - # Darwin dylibs are under `lib` in the zip. - install -m 755 -d "$out/lib" - install -m 644 -t "$out/lib" \ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + installPhase = + '' + runHook preInstall + + # Based on https://aur.archlinux.org/packages/vmware-ovftool/ + # with the addition of a libexec directory and a Nix-style binary wrapper. + + # Almost all libs in the package appear to be VMware proprietary except for + # libgoogleurl and libcurl. The rest of the libraries that the installer + # extracts are omitted here, and provided in buildInputs. Since libcurl + # depends on VMware's OpenSSL, both libs are still used. + # FIXME: Replace libgoogleurl? Possibly from Chromium? + # FIXME: Tell VMware to use a modern version of OpenSSL. As of ovftool + # v4.6.2 ovftool uses openssl-1.0.2zh which in seems to be the extended + # support LTS release: https://www.openssl.org/support/contracts.html + + # Install all libs that are not patched in preFixup. + # Darwin dylibs are under `lib` in the zip. + install -m 755 -d "$out/lib" + install -m 644 -t "$out/lib" \ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' libcrypto.so.1.0.2 \ libcurl.so.4 \ libgoogleurl.so.59 \ @@ -112,7 +120,8 @@ stdenv.mkDerivation { libvim-types.so \ libvmacore.so \ libvmomi.so - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' lib/libcrypto.1.0.2.dylib \ lib/libcurl.4.dylib \ lib/libgoogleurl.59.0.30.45.2.dylib \ @@ -121,91 +130,97 @@ stdenv.mkDerivation { lib/libvim-types.dylib \ lib/libvmacore.dylib \ lib/libvmomi.dylib - '' + '' - # Install libexec binaries - # ovftool expects to be run relative to certain directories, namely `env`. - # Place the binary and those dirs in libexec. - install -m 755 -d "$out/libexec" - install -m 755 -t "$out/libexec" ovftool - [ -f ovftool.bin ] && install -m 755 -t "$out/libexec" ovftool.bin - install -m 644 -t "$out/libexec" icudt44l.dat - - # Install other libexec resources that need to be relative to the `ovftool` - # binary. - for subdir in "certs" "env" "env/en" "schemas/DMTF" "schemas/vmware"; do - install -m 755 -d "$out/libexec/$subdir" - install -m 644 -t "$out/libexec/$subdir" "$subdir"/*.* - done - - # Install EULA/OSS files - install -m 755 -d "$out/share/licenses" - install -m 644 -t "$out/share/licenses" \ - "vmware.eula" \ - "vmware-eula.rtf" \ - "open_source_licenses.txt" - - # Install Docs - install -m 755 -d "$out/share/doc" - install -m 644 -t "$out/share/doc" "README.txt" - - # Install final executable - install -m 755 -d "$out/bin" - makeWrapper "$out/libexec/ovftool" "$out/bin/ovftool" \ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + '' + + '' + # Install libexec binaries + # ovftool expects to be run relative to certain directories, namely `env`. + # Place the binary and those dirs in libexec. + install -m 755 -d "$out/libexec" + install -m 755 -t "$out/libexec" ovftool + [ -f ovftool.bin ] && install -m 755 -t "$out/libexec" ovftool.bin + install -m 644 -t "$out/libexec" icudt44l.dat + + # Install other libexec resources that need to be relative to the `ovftool` + # binary. + for subdir in "certs" "env" "env/en" "schemas/DMTF" "schemas/vmware"; do + install -m 755 -d "$out/libexec/$subdir" + install -m 644 -t "$out/libexec/$subdir" "$subdir"/*.* + done + + # Install EULA/OSS files + install -m 755 -d "$out/share/licenses" + install -m 644 -t "$out/share/licenses" \ + "vmware.eula" \ + "vmware-eula.rtf" \ + "open_source_licenses.txt" + + # Install Docs + install -m 755 -d "$out/share/doc" + install -m 644 -t "$out/share/doc" "README.txt" + + # Install final executable + install -m 755 -d "$out/bin" + makeWrapper "$out/libexec/ovftool" "$out/bin/ovftool" \ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' --prefix LD_LIBRARY_PATH : "$out/lib" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' --prefix DYLD_LIBRARY_PATH : "$out/lib" - '' + '' - runHook postInstall - ''; - - preFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - addAutoPatchelfSearchPath "$out/lib" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - change_args=() - - # Change relative @loader_path dylibs to absolute paths. - for lib in $out/lib/*.dylib; do - libname=$(basename $lib) - change_args+=(-change "@loader_path/lib/$libname" "$out/lib/$libname") - done - - # Patches for ovftool binary - change_args+=(-change /usr/lib/libSystem.B.dylib ${darwin.Libsystem}/lib/libSystem.B.dylib) - change_args+=(-change /usr/lib/libc++.1.dylib ${stdenv.cc.libcxx}/lib/libc++.1.dylib) - change_args+=(-change /usr/lib/libiconv.2.dylib ${libiconv}/lib/libiconv.2.dylib) - change_args+=(-change /usr/lib/libxml2.2.dylib ${libxml2}/lib/libxml2.2.dylib) - change_args+=(-change /usr/lib/libz.1.dylib ${zlib}/lib/libz.1.dylib) - change_args+=(-change @loader_path/lib/libcares.2.dylib ${c-ares}/lib/libcares.2.dylib) - change_args+=(-change @loader_path/lib/libexpat.dylib ${expat}/lib/libexpat.dylib) - change_args+=(-change @loader_path/lib/libicudata.60.2.dylib ${icu60}/lib/libicudata.60.2.dylib) - change_args+=(-change @loader_path/lib/libicuuc.60.2.dylib ${icu60}/lib/libicuuc.60.2.dylib) - change_args+=(-change @loader_path/lib/libxerces-c-3.2.dylib ${xercesc}/lib/libxerces-c-3.2.dylib) - - # Patch binary - install_name_tool "''${change_args[@]}" "$out/libexec/ovftool" - - # Additional patches for ovftool dylibs - change_args+=(-change /usr/lib/libresolv.9.dylib ${darwin.Libsystem}/lib/libresolv.9.dylib) - change_args+=(-change @loader_path/libcares.2.dylib ${c-ares}/lib/libcares.2.dylib) - change_args+=(-change @loader_path/libexpat.dylib ${expat}/lib/libexpat.dylib) - change_args+=(-change @loader_path/libicudata.60.2.dylib ${icu60}/lib/libicudata.60.2.dylib) - change_args+=(-change @loader_path/libicuuc.60.2.dylib ${icu60}/lib/libicuuc.60.2.dylib) - change_args+=(-change @loader_path/libxerces-c-3.2.dylib ${xercesc}/lib/libxerces-c-3.2.dylib) - - # Add new abolute paths for other libs to all libs - for lib in $out/lib/*.dylib; do - libname=$(basename $lib) - change_args+=(-change "@loader_path/$libname" "$out/lib/$libname") - done - - # Patch all libs - for lib in $out/lib/*.dylib; do - libname=$(basename $lib) - install_name_tool -id "$libname" "$lib" - install_name_tool "''${change_args[@]}" "$lib" - done - ''; + '' + + '' + runHook postInstall + ''; + + preFixup = + lib.optionalString stdenv.hostPlatform.isLinux '' + addAutoPatchelfSearchPath "$out/lib" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + change_args=() + + # Change relative @loader_path dylibs to absolute paths. + for lib in $out/lib/*.dylib; do + libname=$(basename $lib) + change_args+=(-change "@loader_path/lib/$libname" "$out/lib/$libname") + done + + # Patches for ovftool binary + change_args+=(-change /usr/lib/libSystem.B.dylib ${darwin.Libsystem}/lib/libSystem.B.dylib) + change_args+=(-change /usr/lib/libc++.1.dylib ${stdenv.cc.libcxx}/lib/libc++.1.dylib) + change_args+=(-change /usr/lib/libiconv.2.dylib ${libiconv}/lib/libiconv.2.dylib) + change_args+=(-change /usr/lib/libxml2.2.dylib ${libxml2}/lib/libxml2.2.dylib) + change_args+=(-change /usr/lib/libz.1.dylib ${zlib}/lib/libz.1.dylib) + change_args+=(-change @loader_path/lib/libcares.2.dylib ${c-ares}/lib/libcares.2.dylib) + change_args+=(-change @loader_path/lib/libexpat.dylib ${expat}/lib/libexpat.dylib) + change_args+=(-change @loader_path/lib/libicudata.60.2.dylib ${icu60}/lib/libicudata.60.2.dylib) + change_args+=(-change @loader_path/lib/libicuuc.60.2.dylib ${icu60}/lib/libicuuc.60.2.dylib) + change_args+=(-change @loader_path/lib/libxerces-c-3.2.dylib ${xercesc}/lib/libxerces-c-3.2.dylib) + + # Patch binary + install_name_tool "''${change_args[@]}" "$out/libexec/ovftool" + + # Additional patches for ovftool dylibs + change_args+=(-change /usr/lib/libresolv.9.dylib ${darwin.Libsystem}/lib/libresolv.9.dylib) + change_args+=(-change @loader_path/libcares.2.dylib ${c-ares}/lib/libcares.2.dylib) + change_args+=(-change @loader_path/libexpat.dylib ${expat}/lib/libexpat.dylib) + change_args+=(-change @loader_path/libicudata.60.2.dylib ${icu60}/lib/libicudata.60.2.dylib) + change_args+=(-change @loader_path/libicuuc.60.2.dylib ${icu60}/lib/libicuuc.60.2.dylib) + change_args+=(-change @loader_path/libxerces-c-3.2.dylib ${xercesc}/lib/libxerces-c-3.2.dylib) + + # Add new abolute paths for other libs to all libs + for lib in $out/lib/*.dylib; do + libname=$(basename $lib) + change_args+=(-change "@loader_path/$libname" "$out/lib/$libname") + done + + # Patch all libs + for lib in $out/lib/*.dylib; do + libname=$(basename $lib) + install_name_tool -id "$libname" "$lib" + install_name_tool "''${change_args[@]}" "$lib" + done + ''; # These paths are need for install check tests propagatedSandboxProfile = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -216,42 +231,47 @@ stdenv.mkDerivation { doInstallCheck = true; - postInstallCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' - export HOME=$TMPDIR - # Construct a dummy /etc/passwd file - ovftool attempts to determine the - # user's "real" home using this - DUMMY_PASSWD="$(realpath $HOME/dummy-passwd)" - cat > $DUMMY_PASSWD < $DUMMY_PASSWD <> scripts/libmakepkg/util/compress.sh.in - substituteInPlace meson.build \ - --replace-fail "install_dir : SYSCONFDIR" "install_dir : '$out/etc'" \ - --replace-fail "join_paths(DATAROOTDIR, 'libalpm/hooks/')" "'${sysHookDir}'" \ - --replace-fail "join_paths(SYSCONFDIR, 'makepkg.conf.d/')" "'$out/etc/makepkg.conf.d/'" - substituteInPlace doc/meson.build \ - --replace-fail "/bin/true" "${coreutils}/bin/true" - substituteInPlace scripts/repo-add.sh.in \ - --replace-fail bsdtar "${libarchive}/bin/bsdtar" + postPatch = + let + compressionTools = [ + gzip + bzip2 + xz + zstd + lrzip + lzop + ncompress + lz4 + lzip + ]; + in + '' + echo 'export PATH=${lib.makeBinPath compressionTools}:$PATH' >> scripts/libmakepkg/util/compress.sh.in + substituteInPlace meson.build \ + --replace-fail "install_dir : SYSCONFDIR" "install_dir : '$out/etc'" \ + --replace-fail "join_paths(DATAROOTDIR, 'libalpm/hooks/')" "'${sysHookDir}'" \ + --replace-fail "join_paths(SYSCONFDIR, 'makepkg.conf.d/')" "'$out/etc/makepkg.conf.d/'" + substituteInPlace doc/meson.build \ + --replace-fail "/bin/true" "${coreutils}/bin/true" + substituteInPlace scripts/repo-add.sh.in \ + --replace-fail bsdtar "${libarchive}/bin/bsdtar" - # Fix https://gitlab.archlinux.org/pacman/pacman/-/issues/171 - substituteInPlace scripts/libmakepkg/source/git.sh.in \ - --replace-warn "---mirror" "--mirror" - ''; + # Fix https://gitlab.archlinux.org/pacman/pacman/-/issues/171 + substituteInPlace scripts/libmakepkg/source/git.sh.in \ + --replace-warn "---mirror" "--mirror" + ''; mesonFlags = [ "--sysconfdir=/etc" @@ -112,14 +117,16 @@ stdenv.mkDerivation (final: { wrapProgram $out/bin/makepkg \ --prefix PATH : ${lib.makeBinPath [ binutils ]} wrapProgram $out/bin/pacman-key \ - --prefix PATH : ${lib.makeBinPath [ - "${placeholder "out"}" - coreutils - gawk - gettext - gnugrep - gnupg - ]} + --prefix PATH : ${ + lib.makeBinPath [ + "${placeholder "out"}" + coreutils + gawk + gettext + gnugrep + gnupg + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/pa/paco/package.nix b/pkgs/by-name/pa/paco/package.nix index 8fa27994ec3d8..1aee35c2e486a 100644 --- a/pkgs/by-name/pa/paco/package.nix +++ b/pkgs/by-name/pa/paco/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "paco"; @@ -23,7 +28,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Simple compiled programming language"; diff --git a/pkgs/by-name/pa/pacparser/package.nix b/pkgs/by-name/pa/pacparser/package.nix index dfef255c15c9a..3140a829d5220 100644 --- a/pkgs/by-name/pa/pacparser/package.nix +++ b/pkgs/by-name/pa/pacparser/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pacparser"; diff --git a/pkgs/by-name/pa/pacproxy/package.nix b/pkgs/by-name/pa/pacproxy/package.nix index b92cf6e10aceb..5bb1937f7aeb9 100644 --- a/pkgs/by-name/pa/pacproxy/package.nix +++ b/pkgs/by-name/pa/pacproxy/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/pacu/package.nix b/pkgs/by-name/pa/pacu/package.nix index 73bf7b1a79476..c837b5fba9484 100644 --- a/pkgs/by-name/pa/pacu/package.nix +++ b/pkgs/by-name/pa/pacu/package.nix @@ -34,7 +34,6 @@ python.pkgs.buildPythonApplication rec { build-system = with python.pkgs; [ poetry-core ]; - dependencies = [ awscli ] ++ (with python.pkgs; [ diff --git a/pkgs/by-name/pa/pacvim/package.nix b/pkgs/by-name/pa/pacvim/package.nix index 8a24cb99ab219..a9b1aa50d5143 100644 --- a/pkgs/by-name/pa/pacvim/package.nix +++ b/pkgs/by-name/pa/pacvim/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, +}: stdenv.mkDerivation { pname = "pacvim"; diff --git a/pkgs/by-name/pa/padbuster/package.nix b/pkgs/by-name/pa/padbuster/package.nix index de71010ccba59..0c7f7dba1c272 100644 --- a/pkgs/by-name/pa/padbuster/package.nix +++ b/pkgs/by-name/pa/padbuster/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "padbuster"; @@ -12,7 +17,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ - (perl.withPackages (ps: with ps; [ LWP LWPProtocolHttps CryptSSLeay ])) + (perl.withPackages ( + ps: with ps; [ + LWP + LWPProtocolHttps + CryptSSLeay + ] + )) ]; installPhase = '' diff --git a/pkgs/by-name/pa/padre/package.nix b/pkgs/by-name/pa/padre/package.nix index aefea32d53863..9b975e67cc64a 100644 --- a/pkgs/by-name/pa/padre/package.nix +++ b/pkgs/by-name/pa/padre/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/page/package.nix b/pkgs/by-name/pa/page/package.nix index 889baff28b259..a469b20a2a4bf 100644 --- a/pkgs/by-name/pa/page/package.nix +++ b/pkgs/by-name/pa/page/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, fetchpatch, installShellFiles }: +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "page"; diff --git a/pkgs/by-name/pa/pagemon/package.nix b/pkgs/by-name/pa/pagemon/package.nix index c05bd6183fc48..edc7c34c10f6f 100644 --- a/pkgs/by-name/pa/pagemon/package.nix +++ b/pkgs/by-name/pa/pagemon/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "pagemon"; diff --git a/pkgs/by-name/pa/paging-calculator/package.nix b/pkgs/by-name/pa/paging-calculator/package.nix index 43ec8ccd74479..4fd53549deacd 100644 --- a/pkgs/by-name/pa/paging-calculator/package.nix +++ b/pkgs/by-name/pa/paging-calculator/package.nix @@ -1,6 +1,7 @@ -{ fetchCrate -, lib -, rustPlatform +{ + fetchCrate, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pa/pagmo2/package.nix b/pkgs/by-name/pa/pagmo2/package.nix index e39f059e31d26..1948ad97b4df8 100644 --- a/pkgs/by-name/pa/pagmo2/package.nix +++ b/pkgs/by-name/pa/pagmo2/package.nix @@ -1,13 +1,15 @@ -{ fetchFromGitHub -, lib, stdenv -, cmake -, eigen -, nlopt -, ipopt -, boost -, tbb - # tests pass but take 30+ minutes -, runTests ? false +{ + fetchFromGitHub, + lib, + stdenv, + cmake, + eigen, + nlopt, + ipopt, + boost, + tbb, + # tests pass but take 30+ minutes + runTests ? false, }: stdenv.mkDerivation rec { @@ -15,28 +17,36 @@ stdenv.mkDerivation rec { version = "2.19.1"; src = fetchFromGitHub { - owner = "esa"; - repo = "pagmo2"; - rev = "v${version}"; - sha256 = "sha256-ido3e0hQLDEPT0AmsfAVTPlGbWe5QBkxgRO6Fg1wp/c="; + owner = "esa"; + repo = "pagmo2"; + rev = "v${version}"; + sha256 = "sha256-ido3e0hQLDEPT0AmsfAVTPlGbWe5QBkxgRO6Fg1wp/c="; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen nlopt boost tbb ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) ipopt; + buildInputs = [ + eigen + nlopt + boost + tbb + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) ipopt; - cmakeFlags = [ - "-DPAGMO_BUILD_TESTS=${if runTests then "ON" else "OFF"}" - "-DPAGMO_WITH_EIGEN3=yes" - "-DPAGMO_WITH_NLOPT=yes" - "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt${stdenv.hostPlatform.extensions.sharedLibrary}" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-DPAGMO_WITH_IPOPT=yes" - "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # FIXME: fails ipopt test with Invalid_Option on darwin, so disable. - "-DPAGMO_WITH_IPOPT=no" - "-DLLVM_USE_LINKER=gold" - ]; + cmakeFlags = + [ + "-DPAGMO_BUILD_TESTS=${if runTests then "ON" else "OFF"}" + "-DPAGMO_WITH_EIGEN3=yes" + "-DPAGMO_WITH_NLOPT=yes" + "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt${stdenv.hostPlatform.extensions.sharedLibrary}" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-DPAGMO_WITH_IPOPT=yes" + "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # FIXME: fails ipopt test with Invalid_Option on darwin, so disable. + "-DPAGMO_WITH_IPOPT=no" + "-DLLVM_USE_LINKER=gold" + ]; doCheck = runTests; diff --git a/pkgs/by-name/pa/paho-mqtt-c/package.nix b/pkgs/by-name/pa/paho-mqtt-c/package.nix index 23f0bc99c88ad..f8cc322dbf289 100644 --- a/pkgs/by-name/pa/paho-mqtt-c/package.nix +++ b/pkgs/by-name/pa/paho-mqtt-c/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl, enableStatic ? stdenv.hostPlatform.isStatic, enableShared ? !stdenv.hostPlatform.isStatic }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, +}: stdenv.mkDerivation rec { pname = "paho.mqtt.c"; diff --git a/pkgs/by-name/pa/pahole/package.nix b/pkgs/by-name/pa/pahole/package.nix index d82c76eb769c9..444b165cb80d0 100644 --- a/pkgs/by-name/pa/pahole/package.nix +++ b/pkgs/by-name/pa/pahole/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchzip -, pkg-config -, libbpf -, cmake -, elfutils -, zlib -, argp-standalone -, musl-obstack -, nixosTests -, fetchpatch +{ + lib, + stdenv, + fetchzip, + pkg-config, + libbpf, + cmake, + elfutils, + zlib, + argp-standalone, + musl-obstack, + nixosTests, + fetchpatch, }: stdenv.mkDerivation rec { @@ -20,12 +21,20 @@ stdenv.mkDerivation rec { hash = "sha256-BwA17lc2yegmOzLfoIu8OmG/PVdc+4sOGzB8Jc4ZjGM="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ elfutils zlib libbpf ] - ++ lib.optionals stdenv.hostPlatform.isMusl [ - argp-standalone - musl-obstack + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + elfutils + zlib + libbpf + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + argp-standalone + musl-obstack + ]; patches = [ # https://github.com/acmel/dwarves/pull/51 / https://lkml.kernel.org/r/20240626032253.3406460-1-asmadeus@codewreck.org @@ -44,7 +53,10 @@ stdenv.mkDerivation rec { ]; # Put libraries in "lib" subdirectory, not top level of $out - cmakeFlags = [ "-D__LIB=lib" "-DLIBBPF_EMBEDDED=OFF" ]; + cmakeFlags = [ + "-D__LIB=lib" + "-DLIBBPF_EMBEDDED=OFF" + ]; passthru.tests = { inherit (nixosTests) bpf; @@ -56,6 +68,9 @@ stdenv.mkDerivation rec { license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ bosu martinetd ]; + maintainers = with maintainers; [ + bosu + martinetd + ]; }; } diff --git a/pkgs/by-name/pa/pairdrop/package.nix b/pkgs/by-name/pa/pairdrop/package.nix index f5ffafdb8015b..9d4fce5c23bac 100644 --- a/pkgs/by-name/pa/pairdrop/package.nix +++ b/pkgs/by-name/pa/pairdrop/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nodejs +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nodejs, }: buildNpmPackage rec { diff --git a/pkgs/by-name/pa/pal/package.nix b/pkgs/by-name/pa/pal/package.nix index 69d8bde9a7d41..f8189b385860e 100644 --- a/pkgs/by-name/pa/pal/package.nix +++ b/pkgs/by-name/pa/pal/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, glib, gettext, readline, pkg-config }: +{ + lib, + stdenv, + fetchurl, + glib, + gettext, + readline, + pkg-config, +}: stdenv.mkDerivation rec { pname = "pal"; @@ -16,7 +24,11 @@ stdenv.mkDerivation rec { makeFlags = [ "prefix=$(out)" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib gettext readline ]; + buildInputs = [ + glib + gettext + readline + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/pa/paleta/package.nix b/pkgs/by-name/pa/paleta/package.nix index 6275b3d10e4c1..e9a26b9274e50 100644 --- a/pkgs/by-name/pa/paleta/package.nix +++ b/pkgs/by-name/pa/paleta/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, cargo -, meson -, ninja -, pkg-config -, rustc -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils -, glib -, gtk4 -, libadwaita +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + cargo, + meson, + ninja, + pkg-config, + rustc, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, + glib, + gtk4, + libadwaita, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pa/palp/package.nix b/pkgs/by-name/pa/palp/package.nix index 0db35ba89ae61..d365d11c01586 100644 --- a/pkgs/by-name/pa/palp/package.nix +++ b/pkgs/by-name/pa/palp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, dimensions ? 6 # works for <= dimensions dimensions, but is only optimized for that exact value -, doSymlink ? true # symlink the executables to the default location (without dimension postfix) +{ + lib, + stdenv, + fetchurl, + dimensions ? 6, # works for <= dimensions dimensions, but is only optimized for that exact value + doSymlink ? true, # symlink the executables to the default location (without dimension postfix) }: let @@ -42,17 +43,19 @@ stdenv.mkDerivation rec { EOF ''; - installPhase = '' - mkdir -p $out/bin - for file in poly class cws nef mori; do - cp -p $file.x "$out/bin/$file-${dim}d.x" - done - '' + lib.optionalString doSymlink '' - cd $out/bin - for file in poly class cws nef mori; do - ln -sf $file-6d.x $file.x - done - ''; + installPhase = + '' + mkdir -p $out/bin + for file in poly class cws nef mori; do + cp -p $file.x "$out/bin/$file-${dim}d.x" + done + '' + + lib.optionalString doSymlink '' + cd $out/bin + for file in poly class cws nef mori; do + ln -sf $file-6d.x $file.x + done + ''; meta = with lib; { description = "Package for Analyzing Lattice Polytopes"; diff --git a/pkgs/by-name/pa/pam-honeycreds/package.nix b/pkgs/by-name/pa/pam-honeycreds/package.nix index 9c96e1c317fdf..ea0e155e3cc09 100644 --- a/pkgs/by-name/pa/pam-honeycreds/package.nix +++ b/pkgs/by-name/pa/pam-honeycreds/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, pam +{ + lib, + stdenv, + fetchFromGitHub, + pam, }: stdenv.mkDerivation (finalAttrs: { pname = "pam-honeycreds"; diff --git a/pkgs/by-name/pa/pam-reattach/package.nix b/pkgs/by-name/pa/pam-reattach/package.nix index b077ac031b62c..6c3ccdf442ddb 100644 --- a/pkgs/by-name/pa/pam-reattach/package.nix +++ b/pkgs/by-name/pa/pam-reattach/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openpam, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openpam, + darwin, +}: let sdkOlderThan11 = lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "11.0"; @@ -19,8 +26,7 @@ stdenv.mkDerivation rec { "-DENABLE_CLI=ON" ] ++ lib.optional sdkOlderThan11 "-DCMAKE_LIBRARY_PATH=${darwin.apple_sdk.sdk}/usr/lib"; - buildInputs = [ openpam ] - ++ lib.optional sdkOlderThan11 darwin.apple_sdk.sdk; + buildInputs = [ openpam ] ++ lib.optional sdkOlderThan11 darwin.apple_sdk.sdk; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/pa/pam_ccreds/package.nix b/pkgs/by-name/pa/pam_ccreds/package.nix index 1921193d70311..2a052547817eb 100644 --- a/pkgs/by-name/pa/pam_ccreds/package.nix +++ b/pkgs/by-name/pa/pam_ccreds/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, pam, openssl, db}: +{ + lib, + stdenv, + fetchurl, + pam, + openssl, + db, +}: stdenv.mkDerivation rec { pname = "pam_ccreds"; @@ -12,7 +19,11 @@ stdenv.mkDerivation rec { sed 's/-o root -g root//' -i Makefile.in ''; - buildInputs = [ pam openssl db ]; + buildInputs = [ + pam + openssl + db + ]; meta = with lib; { homepage = "https://www.padl.com/OSS/pam_ccreds.html"; diff --git a/pkgs/by-name/pa/pam_dp9ik/package.nix b/pkgs/by-name/pa/pam_dp9ik/package.nix index bd097caee497c..c464966b0c417 100644 --- a/pkgs/by-name/pa/pam_dp9ik/package.nix +++ b/pkgs/by-name/pa/pam_dp9ik/package.nix @@ -1,8 +1,9 @@ -{ lib -, tlsclient -, stdenv -, pkg-config -, pam +{ + lib, + tlsclient, + stdenv, + pkg-config, + pam, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/pa/pam_gnupg/package.nix b/pkgs/by-name/pa/pam_gnupg/package.nix index 1c54c42120ab7..ff5546320ec29 100644 --- a/pkgs/by-name/pa/pam_gnupg/package.nix +++ b/pkgs/by-name/pa/pam_gnupg/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pam, gnupg }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pam, + gnupg, +}: stdenv.mkDerivation rec { pname = "pam_gnupg"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { "--with-moduledir=${placeholder "out"}/lib/security" ]; - buildInputs = [ pam gnupg ]; + buildInputs = [ + pam + gnupg + ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/pa/pam_krb5/package.nix b/pkgs/by-name/pa/pam_krb5/package.nix index 157226373db0a..bc82835518e4e 100644 --- a/pkgs/by-name/pa/pam_krb5/package.nix +++ b/pkgs/by-name/pa/pam_krb5/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pam, libkrb5 }: +{ + lib, + stdenv, + fetchurl, + pam, + libkrb5, +}: stdenv.mkDerivation rec { pname = "pam-krb5"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-UDy+LLGv9L39o7z3+T+U+2ulLCbXCJNOcDmyGC/hCyA="; }; - buildInputs = [ pam libkrb5 ]; + buildInputs = [ + pam + libkrb5 + ]; meta = with lib; { homepage = "https://www.eyrie.org/~eagle/software/pam-krb5/"; diff --git a/pkgs/by-name/pa/pam_ldap/package.nix b/pkgs/by-name/pa/pam_ldap/package.nix index 988256808dbb8..98f0c1b493f5f 100644 --- a/pkgs/by-name/pa/pam_ldap/package.nix +++ b/pkgs/by-name/pa/pam_ldap/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchurl, pam, openldap, perl }: +{ + stdenv, + fetchurl, + pam, + openldap, + perl, +}: stdenv.mkDerivation rec { pname = "pam_ldap"; @@ -19,7 +25,10 @@ stdenv.mkDerivation rec { "; nativeBuildInputs = [ perl ]; - buildInputs = [ pam openldap ]; + buildInputs = [ + pam + openldap + ]; meta = { homepage = "https://www.padl.com/OSS/pam_ldap.html"; diff --git a/pkgs/by-name/pa/pam_mktemp/package.nix b/pkgs/by-name/pa/pam_mktemp/package.nix index 04ba58785efab..8103c0023d970 100644 --- a/pkgs/by-name/pa/pam_mktemp/package.nix +++ b/pkgs/by-name/pa/pam_mktemp/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pam -, e2fsprogs +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pam, + e2fsprogs, }: stdenv.mkDerivation rec { @@ -20,7 +21,7 @@ stdenv.mkDerivation rec { name = "inherit_private_prefix_from_home.patch"; url = "https://git.altlinux.org/gears/p/pam_mktemp.git?p=pam_mktemp.git;a=commitdiff_plain;h=3d2e8ad6da6a44c047bf7a8afa1e1bb2a6e36a55"; hash = "sha256-xe44fi2xH9jqlStlIR4QPB0KS7spflRdOsvNPEmxJpU"; - }) + }) (fetchpatch { name = "allow_private_prefix_to_be_stricter.patch"; url = "https://git.altlinux.org/gears/p/pam_mktemp.git?p=pam_mktemp.git;a=commitdiff_plain;h=bb2cee0c695d22310e5364c30d74bccb0dbf3205"; @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { dontConfigure = true; - buildInputs = [ pam e2fsprogs ]; + buildInputs = [ + pam + e2fsprogs + ]; makeFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/pa/pam_mount/package.nix b/pkgs/by-name/pa/pam_mount/package.nix index 81199cb057c69..950ba5ce1fd08 100644 --- a/pkgs/by-name/pa/pam_mount/package.nix +++ b/pkgs/by-name/pa/pam_mount/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libtool, pam, libHX, libxml2, pcre2, perl, openssl, cryptsetup, util-linux }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libtool, + pam, + libHX, + libxml2, + pcre2, + perl, + openssl, + cryptsetup, + util-linux, +}: stdenv.mkDerivation rec { pname = "pam_mount"; @@ -52,7 +67,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "PAM module to mount volumes for a user session"; homepage = "https://pam-mount.sourceforge.net/"; - license = with licenses; [ gpl2Plus gpl3 lgpl21 lgpl3 ]; + license = with licenses; [ + gpl2Plus + gpl3 + lgpl21 + lgpl3 + ]; maintainers = with maintainers; [ netali ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/pa/pam_mysql/package.nix b/pkgs/by-name/pa/pam_mysql/package.nix index 1088d8abe7a63..d562b24c12009 100644 --- a/pkgs/by-name/pa/pam_mysql/package.nix +++ b/pkgs/by-name/pa/pam_mysql/package.nix @@ -1,14 +1,15 @@ -{ lib -, nixosTests -, stdenv -, fetchFromGitHub -, meson -, ninja -, pam -, pkg-config -, libmysqlclient -, mariadb -, libxcrypt +{ + lib, + nixosTests, + stdenv, + fetchFromGitHub, + meson, + ninja, + pam, + pkg-config, + libmysqlclient, + mariadb, + libxcrypt, }: stdenv.mkDerivation rec { @@ -22,8 +23,17 @@ stdenv.mkDerivation rec { sha256 = "07acf0hbhkd0kg49gnj4nb5ilnv3v4xx3dsggvzvjg8gi3cjmsap"; }; - nativeBuildInputs = [ meson pkg-config ninja ]; - buildInputs = [ pam libmysqlclient mariadb libxcrypt ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; + buildInputs = [ + pam + libmysqlclient + mariadb + libxcrypt + ]; passthru.tests = { inherit (nixosTests) auth-mysql; diff --git a/pkgs/by-name/pa/pam_p11/package.nix b/pkgs/by-name/pa/pam_p11/package.nix index a1e1dc109a158..504b31fe7557b 100644 --- a/pkgs/by-name/pa/pam_p11/package.nix +++ b/pkgs/by-name/pa/pam_p11/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libp11, pam, libintl, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libp11, + pam, + libintl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "pam_p11"; @@ -22,9 +32,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ pam libp11.passthru.openssl libp11 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libintl ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + pam + libp11.passthru.openssl + libp11 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libintl ]; meta = with lib; { homepage = "https://github.com/OpenSC/pam_p11"; diff --git a/pkgs/by-name/pa/pam_pgsql/package.nix b/pkgs/by-name/pa/pam_pgsql/package.nix index 2eabcefe584c6..326859b3367a1 100644 --- a/pkgs/by-name/pa/pam_pgsql/package.nix +++ b/pkgs/by-name/pa/pam_pgsql/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, postgresql, libgcrypt, pam, libxcrypt }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + postgresql, + libgcrypt, + pam, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "pam_pgsql"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "1bvddrwyk1479wibyayzc24h62qzfnlbk9qvdhb31yw9yn17gp6k"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libgcrypt pam postgresql libxcrypt ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libgcrypt + pam + postgresql + libxcrypt + ]; meta = with lib; { description = "Support to authenticate against PostgreSQL for PAM-enabled appliations"; diff --git a/pkgs/by-name/pa/pam_ssh_agent_auth/package.nix b/pkgs/by-name/pa/pam_ssh_agent_auth/package.nix index eca49afa63fed..178deb281d4d5 100644 --- a/pkgs/by-name/pa/pam_ssh_agent_auth/package.nix +++ b/pkgs/by-name/pa/pam_ssh_agent_auth/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, nixosTests, fetchFromGitHub, pam, openssl, perl }: +{ + lib, + stdenv, + nixosTests, + fetchFromGitHub, + pam, + openssl, + perl, +}: stdenv.mkDerivation rec { pname = "pam_ssh_agent_auth"; @@ -18,7 +26,11 @@ stdenv.mkDerivation rec { sha256 = "ETFpIaWQnlYG8ZuDG2dNjUJddlvibB4ukHquTFn3NZM="; }; - buildInputs = [ pam openssl perl ]; + buildInputs = [ + pam + openssl + perl + ]; patches = [ # Allow multiple colon-separated authorized keys files to be diff --git a/pkgs/by-name/pa/pam_tmpdir/package.nix b/pkgs/by-name/pa/pam_tmpdir/package.nix index 2eee7c92f5c30..083c4eda73cc4 100644 --- a/pkgs/by-name/pa/pam_tmpdir/package.nix +++ b/pkgs/by-name/pa/pam_tmpdir/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pam }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pam, +}: stdenv.mkDerivation rec { pname = "pam_tmpdir"; diff --git a/pkgs/by-name/pa/pam_u2f/package.nix b/pkgs/by-name/pa/pam_u2f/package.nix index 715f60e193993..455592a99506e 100644 --- a/pkgs/by-name/pa/pam_u2f/package.nix +++ b/pkgs/by-name/pa/pam_u2f/package.nix @@ -1,16 +1,28 @@ -{ lib, stdenv, fetchurl, pkg-config, libfido2, pam, openssl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libfido2, + pam, + openssl, +}: stdenv.mkDerivation rec { pname = "pam_u2f"; version = "1.3.0"; - src = fetchurl { + src = fetchurl { url = "https://developers.yubico.com/pam-u2f/Releases/${pname}-${version}.tar.gz"; sha256 = "sha256-cjYMaHVIXrTfQJ2o+PUrF4k/BeTZmFKcI4gUSA4RUiA="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libfido2 pam openssl ]; + buildInputs = [ + libfido2 + pam + openssl + ]; preConfigure = '' configureFlagsArray+=("--with-pam-dir=$out/lib/security") diff --git a/pkgs/by-name/pa/pam_ussh/package.nix b/pkgs/by-name/pa/pam_ussh/package.nix index 028b33bc9316b..cf97026aba39d 100644 --- a/pkgs/by-name/pa/pam_ussh/package.nix +++ b/pkgs/by-name/pa/pam_ussh/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, pam -, lib -, nixosTests +{ + buildGoModule, + fetchFromGitHub, + pam, + lib, + nixosTests, }: buildGoModule rec { @@ -12,7 +13,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "uber"; repo = "pam-ussh"; - rev = "e9524bda90ba19d3b9eb24f49cb63a6a56a19193"; # HEAD as of 2022-03-13 + rev = "e9524bda90ba19d3b9eb24f49cb63a6a56a19193"; # HEAD as of 2022-03-13 sha256 = "0nb9hpqbghgi3zvq41kabydzyc6ffaaw9b4jkc5jrwn1klpw1xk8"; }; diff --git a/pkgs/by-name/pa/pamix/package.nix b/pkgs/by-name/pa/pamix/package.nix index fb1d0bfb3d412..1c8ebe94ace83 100644 --- a/pkgs/by-name/pa/pamix/package.nix +++ b/pkgs/by-name/pa/pamix/package.nix @@ -1,15 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, pkg-config, cmake -, libpulseaudio, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + cmake, + libpulseaudio, + ncurses, +}: stdenv.mkDerivation rec { pname = "pamix"; version = "1.6"; src = fetchFromGitHub { - owner = "patroclos"; - repo = "pamix"; - rev = version; + owner = "patroclos"; + repo = "pamix"; + rev = version; sha256 = "1d44ggnwkf2gff62959pj45v3a2k091q8v154wc5pmzamam458wp"; }; @@ -31,14 +38,20 @@ stdenv.mkDerivation rec { substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc/xdg" ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libpulseaudio ncurses ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libpulseaudio + ncurses + ]; meta = with lib; { description = "Pulseaudio terminal mixer"; - homepage = "https://github.com/patroclos/PAmix"; - license = licenses.mit; - platforms = platforms.linux; + homepage = "https://github.com/patroclos/PAmix"; + license = licenses.mit; + platforms = platforms.linux; maintainers = with maintainers; [ ericsagnes ]; mainProgram = "pamix"; }; diff --git a/pkgs/by-name/pa/pamixer/package.nix b/pkgs/by-name/pa/pamixer/package.nix index 65d58ffd57749..cab4a6e0d8af0 100644 --- a/pkgs/by-name/pa/pamixer/package.nix +++ b/pkgs/by-name/pa/pamixer/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cxxopts -, libpulseaudio -, meson -, ninja -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cxxopts, + libpulseaudio, + meson, + ninja, + pkg-config, }: stdenv.mkDerivation rec { @@ -20,9 +21,17 @@ stdenv.mkDerivation rec { hash = "sha256-LbRhsW2MiTYWSH6X9Pz9XdJdH9Na0QCO8CFmlzZmDjQ="; }; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; - buildInputs = [ boost cxxopts libpulseaudio ]; + buildInputs = [ + boost + cxxopts + libpulseaudio + ]; meta = with lib; { description = "Pulseaudio command line mixer"; diff --git a/pkgs/by-name/pa/paml/package.nix b/pkgs/by-name/pa/paml/package.nix index 1e21d18242bd2..9fca986e5930e 100644 --- a/pkgs/by-name/pa/paml/package.nix +++ b/pkgs/by-name/pa/paml/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { @@ -38,10 +39,10 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - description = "Phylogenetic Analysis by Maximum Likelihood (PAML)"; + description = "Phylogenetic Analysis by Maximum Likelihood (PAML)"; longDescription = "PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc."; - license = lib.licenses.gpl3Only; - homepage = "http://abacus.gene.ucl.ac.uk/software/paml.html"; + license = lib.licenses.gpl3Only; + homepage = "http://abacus.gene.ucl.ac.uk/software/paml.html"; changelog = "https://github.com/abacus-gene/paml/releases/tag/${lib.removePrefix "refs/tags/" finalAttrs.src.rev}"; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/pa/pamtester/package.nix b/pkgs/by-name/pa/pamtester/package.nix index 7261be60f77f6..aa8eba4c6f5cb 100644 --- a/pkgs/by-name/pa/pamtester/package.nix +++ b/pkgs/by-name/pa/pamtester/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pam }: +{ + lib, + stdenv, + fetchurl, + pam, +}: stdenv.mkDerivation rec { pname = "pamtester"; diff --git a/pkgs/by-name/pa/pan-bindings/package.nix b/pkgs/by-name/pa/pan-bindings/package.nix index 04c240ccc9bc5..904d5e59e548c 100644 --- a/pkgs/by-name/pa/pan-bindings/package.nix +++ b/pkgs/by-name/pa/pan-bindings/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildGoModule -, cmake -, ncurses -, asio +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + cmake, + ncurses, + asio, }: let @@ -15,12 +16,14 @@ let rev = "4361d30f1c5145a70651c259f2d56369725b0d15"; hash = "sha256-0WxrgXTCM+BwGcjjWBBKiZawje2yxB5RRac6Sk5t3qc="; }; - goDeps = (buildGoModule { - name = "pan-bindings-goDeps"; - inherit src version; - modRoot = "go"; - vendorHash = "sha256-7EitdEJTRtiM29qmVnZUM6w68vCBI8mxZhCA7SnAxLA="; - }); + goDeps = ( + buildGoModule { + name = "pan-bindings-goDeps"; + inherit src version; + modRoot = "go"; + vendorHash = "sha256-7EitdEJTRtiM29qmVnZUM6w68vCBI8mxZhCA7SnAxLA="; + } + ); in stdenv.mkDerivation { diff --git a/pkgs/by-name/pa/pan/package.nix b/pkgs/by-name/pa/pan/package.nix index 4e23246a6d428..d9d22c6b43a03 100644 --- a/pkgs/by-name/pa/pan/package.nix +++ b/pkgs/by-name/pa/pan/package.nix @@ -1,23 +1,24 @@ -{ spellChecking ? true -, lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, pkg-config -, gtk3 -, gtkspell3 -, gmime3 -, gettext -, intltool -, itstool -, libxml2 -, libnotify -, gnutls -, makeWrapper -, gnupg -, gnomeSupport ? true -, libsecret -, gcr +{ + spellChecking ? true, + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + gtk3, + gtkspell3, + gmime3, + gettext, + intltool, + itstool, + libxml2, + libnotify, + gnutls, + makeWrapper, + gnupg, + gnomeSupport ? true, + libsecret, + gcr, }: stdenv.mkDerivation rec { @@ -32,19 +33,38 @@ stdenv.mkDerivation rec { hash = "sha256-gcs3TsUzZAW8PhNPMzyOfwu+2SNynjRgfxdGIfAHrpA="; }; - nativeBuildInputs = [ autoreconfHook pkg-config gettext intltool itstool libxml2 makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + gettext + intltool + itstool + libxml2 + makeWrapper + ]; - buildInputs = [ gtk3 gmime3 libnotify gnutls ] + buildInputs = + [ + gtk3 + gmime3 + libnotify + gnutls + ] ++ lib.optional spellChecking gtkspell3 - ++ lib.optionals gnomeSupport [ libsecret gcr ]; + ++ lib.optionals gnomeSupport [ + libsecret + gcr + ]; - configureFlags = [ - "--with-dbus" - "--with-gtk3" - "--with-gnutls" - "--enable-libnotify" - ] ++ lib.optional spellChecking "--with-gtkspell" - ++ lib.optional gnomeSupport "--enable-gkr"; + configureFlags = + [ + "--with-dbus" + "--with-gtk3" + "--with-gnutls" + "--enable-libnotify" + ] + ++ lib.optional spellChecking "--with-gtkspell" + ++ lib.optional gnomeSupport "--enable-gkr"; postInstall = '' wrapProgram $out/bin/pan --suffix PATH : ${gnupg}/bin @@ -58,6 +78,9 @@ stdenv.mkDerivation rec { homepage = "http://pan.rebelbase.com/"; maintainers = with maintainers; [ aleksana ]; platforms = platforms.linux; - license = with licenses; [ gpl2Only fdl11Only ]; + license = with licenses; [ + gpl2Only + fdl11Only + ]; }; } diff --git a/pkgs/by-name/pa/panamax/package.nix b/pkgs/by-name/pa/panamax/package.nix index 3ca774d0d30fd..759a2d83d5ab9 100644 --- a/pkgs/by-name/pa/panamax/package.nix +++ b/pkgs/by-name/pa/panamax/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,20 +23,25 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; meta = with lib; { description = "Mirror rustup and crates.io repositories for offline Rust and cargo usage"; mainProgram = "panamax"; homepage = "https://github.com/panamax-rs/panamax"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/pa/pandoc-katex/package.nix b/pkgs/by-name/pa/pandoc-katex/package.nix index d2b9f03e51a47..12cd5047819b8 100644 --- a/pkgs/by-name/pa/pandoc-katex/package.nix +++ b/pkgs/by-name/pa/pandoc-katex/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "pandoc-katex"; @@ -16,8 +20,14 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Pandoc filter to render math equations using KaTeX"; homepage = "https://github.com/xu-cheng/pandoc-katex"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ minijackson pacien ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + minijackson + pacien + ]; mainProgram = "pandoc-katex"; }; } diff --git a/pkgs/by-name/pa/pandoc-lua-filters/package.nix b/pkgs/by-name/pa/pandoc-lua-filters/package.nix index d779cbb7fa406..d44b5e94bd2e0 100644 --- a/pkgs/by-name/pa/pandoc-lua-filters/package.nix +++ b/pkgs/by-name/pa/pandoc-lua-filters/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pa/panicparse/package.nix b/pkgs/by-name/pa/panicparse/package.nix index 379d4ac8ba607..f0ab5e64e45e8 100644 --- a/pkgs/by-name/pa/panicparse/package.nix +++ b/pkgs/by-name/pa/panicparse/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/panopticon/package.nix b/pkgs/by-name/pa/panopticon/package.nix index 01ba9da439a48..9ed89a80d1264 100644 --- a/pkgs/by-name/pa/panopticon/package.nix +++ b/pkgs/by-name/pa/panopticon/package.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, rustPlatform, qt5, git, cmake -, pkg-config, makeWrapper }: +{ + lib, + fetchFromGitHub, + rustPlatform, + qt5, + git, + cmake, + pkg-config, + makeWrapper, +}: rustPlatform.buildRustPackage rec { pname = "panopticon"; @@ -12,14 +20,18 @@ rustPlatform.buildRustPackage rec { sha256 = "1zv87nqhrzsxx0m891df4vagzssj3kblfv9yp7j96dw0vn9950qa"; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; propagatedBuildInputs = with qt5; [ - qt5.qtbase - qtdeclarative - qtsvg - qtquickcontrols2 - qtgraphicaleffects - git + qt5.qtbase + qtdeclarative + qtsvg + qtquickcontrols2 + qtgraphicaleffects + git ]; dontWrapQtApps = true; @@ -33,7 +45,7 @@ rustPlatform.buildRustPackage rec { mv $out/bin/${pname} $out/share/${pname} chmod +x $out/share/${pname} makeWrapper $out/share/${pname}/${pname} $out/bin/${pname} - ''; + ''; meta = with lib; { description = "Libre cross-platform disassembler"; diff --git a/pkgs/by-name/pa/panotools/package.nix b/pkgs/by-name/pa/panotools/package.nix index 494fd093ac4ad..1616159e31c1a 100644 --- a/pkgs/by-name/pa/panotools/package.nix +++ b/pkgs/by-name/pa/panotools/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, cmake -, libjpeg -, libpng -, libtiff -, perl -, darwin +{ + lib, + stdenv, + fetchurl, + cmake, + libjpeg, + libpng, + libtiff, + perl, + darwin, }: stdenv.mkDerivation (finalAttrs: { @@ -25,13 +26,15 @@ stdenv.mkDerivation (finalAttrs: { perl ]; - buildInputs = [ - libjpeg - libpng - libtiff - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Carbon - ]; + buildInputs = + [ + libjpeg + libpng + libtiff + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Carbon + ]; meta = { description = "Free software suite for authoring and displaying virtual reality panoramas"; diff --git a/pkgs/by-name/pa/pantheon-tweaks/package.nix b/pkgs/by-name/pa/pantheon-tweaks/package.nix index ab266b16c43a2..2d76fdd0b3c4e 100644 --- a/pkgs/by-name/pa/pantheon-tweaks/package.nix +++ b/pkgs/by-name/pa/pantheon-tweaks/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, sassc -, vala -, wrapGAppsHook4 -, gtk4 -, libgee -, pango -, pantheon +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + sassc, + vala, + wrapGAppsHook4, + gtk4, + libgee, + pango, + pantheon, }: stdenv.mkDerivation rec { @@ -34,16 +35,18 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = [ - gtk4 - libgee - pango - ] ++ (with pantheon; [ - elementary-files # settings schemas - elementary-terminal # settings schemas - granite7 - switchboard - ]); + buildInputs = + [ + gtk4 + libgee + pango + ] + ++ (with pantheon; [ + elementary-files # settings schemas + elementary-terminal # settings schemas + granite7 + switchboard + ]); postPatch = '' substituteInPlace src/Settings/ThemeSettings.vala \ diff --git a/pkgs/by-name/pa/pantum-driver/package.nix b/pkgs/by-name/pa/pantum-driver/package.nix index 69e973fd95841..79719279b29d6 100644 --- a/pkgs/by-name/pa/pantum-driver/package.nix +++ b/pkgs/by-name/pa/pantum-driver/package.nix @@ -1,54 +1,71 @@ -{ lib -, stdenv -, fetchzip -, libusb1 -, cups -, dpkg -, libjpeg8 -, makeWrapper -, autoPatchelfHook -, enablePtqpdf ? false # Pantum's version of qpdf +{ + lib, + stdenv, + fetchzip, + libusb1, + cups, + dpkg, + libjpeg8, + makeWrapper, + autoPatchelfHook, + enablePtqpdf ? false, # Pantum's version of qpdf }: let - architecture = { - i686-linux = "i386"; - x86_64-linux = "amd64"; - }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); + architecture = + { + i686-linux = "i386"; + x86_64-linux = "amd64"; + } + .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation rec { pname = "pantum-driver"; version = "1.1.123"; src = fetchzip { - url = "https://github.com/ArticExploit/pantum-driver/releases/download/${version}/Pantum.Ubuntu.Driver.V${builtins.replaceStrings ["."] ["_"] version}.zip"; + url = "https://github.com/ArticExploit/pantum-driver/releases/download/${version}/Pantum.Ubuntu.Driver.V${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.zip"; hash = "sha256-TUk6CTnWlSvyG8MOpDRhg/eblAo6X/MDUFOiWuOuro0="; }; - buildInputs = [ libusb1 libjpeg8 cups ]; - nativeBuildInputs = [ dpkg autoPatchelfHook ]; + buildInputs = [ + libusb1 + libjpeg8 + cups + ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + ]; - installPhase = '' - dpkg-deb -x ./Resources/pantum_${version}-1_${architecture}.deb . + installPhase = + '' + dpkg-deb -x ./Resources/pantum_${version}-1_${architecture}.deb . - mkdir -p $out $out/lib - cp -r etc $out/ - cp -r usr/lib/cups $out/lib/ - cp -r usr/local/lib/* $out/lib/ - cp -r usr/share $out/ - cp Resources/locale/en_US.UTF-8/* $out/share/doc/pantum/ - '' + lib.optionalString enablePtqpdf '' - cp -r opt/pantum/* $out/ - ln -s $out/lib/libqpdf.so* $out/lib/libqpdf.so - ln -s $out/lib/libqpdf.so $out/lib/libqpdf.so.21 - ''; + mkdir -p $out $out/lib + cp -r etc $out/ + cp -r usr/lib/cups $out/lib/ + cp -r usr/local/lib/* $out/lib/ + cp -r usr/share $out/ + cp Resources/locale/en_US.UTF-8/* $out/share/doc/pantum/ + '' + + lib.optionalString enablePtqpdf '' + cp -r opt/pantum/* $out/ + ln -s $out/lib/libqpdf.so* $out/lib/libqpdf.so + ln -s $out/lib/libqpdf.so $out/lib/libqpdf.so.21 + ''; meta = with lib; { description = "Pantum universal driver"; homepage = "https://global.pantum.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = with maintainers; [ deinferno ]; }; } diff --git a/pkgs/by-name/pa/papeer/package.nix b/pkgs/by-name/pa/papeer/package.nix index aba9b64bfab8d..82f11c6cf5a17 100644 --- a/pkgs/by-name/pa/papeer/package.nix +++ b/pkgs/by-name/pa/papeer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "papeer"; diff --git a/pkgs/by-name/pa/paper-age/package.nix b/pkgs/by-name/pa/paper-age/package.nix index d9e9bba2a7aac..4d0332000bd42 100644 --- a/pkgs/by-name/pa/paper-age/package.nix +++ b/pkgs/by-name/pa/paper-age/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pa/paper-clip/package.nix b/pkgs/by-name/pa/paper-clip/package.nix index d7376dde22266..6630fe3c9ece7 100644 --- a/pkgs/by-name/pa/paper-clip/package.nix +++ b/pkgs/by-name/pa/paper-clip/package.nix @@ -1,17 +1,18 @@ -{ lib -, desktop-file-utils -, exempi -, fetchFromGitHub -, glib -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, poppler -, stdenv -, vala -, wrapGAppsHook4 +{ + lib, + desktop-file-utils, + exempi, + fetchFromGitHub, + glib, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + poppler, + stdenv, + vala, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pa/paper-gtk-theme/package.nix b/pkgs/by-name/pa/paper-gtk-theme/package.nix index 8285284303812..70d67366707d0 100644 --- a/pkgs/by-name/pa/paper-gtk-theme/package.nix +++ b/pkgs/by-name/pa/paper-gtk-theme/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk_engines }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gtk_engines, +}: stdenv.mkDerivation { version = "2016-08-16"; @@ -26,6 +32,9 @@ stdenv.mkDerivation { homepage = "https://snwh.org/paper"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = [ maintainers.simonvandel maintainers.romildo ]; + maintainers = [ + maintainers.simonvandel + maintainers.romildo + ]; }; } diff --git a/pkgs/by-name/pa/paper-icon-theme/package.nix b/pkgs/by-name/pa/paper-icon-theme/package.nix index d502fb0d6f954..29264499efac3 100644 --- a/pkgs/by-name/pa/paper-icon-theme/package.nix +++ b/pkgs/by-name/pa/paper-icon-theme/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenvNoCC, fetchFromGitHub, meson, ninja, gtk3, adwaita-icon-theme, gnome-icon-theme, hicolor-icon-theme, jdupes }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + meson, + ninja, + gtk3, + adwaita-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, + jdupes, +}: stdenvNoCC.mkDerivation rec { pname = "paper-icon-theme"; @@ -41,7 +52,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Modern icon theme designed around bold colours and simple geometric shapes"; homepage = "https://snwh.org/paper"; - license = with licenses; [ cc-by-sa-40 lgpl3 ]; + license = with licenses; [ + cc-by-sa-40 + lgpl3 + ]; # darwin cannot deal with file names differing only in case platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; diff --git a/pkgs/by-name/pa/paper-plane/package.nix b/pkgs/by-name/pa/paper-plane/package.nix index 2028e7a848f20..648acee73db11 100644 --- a/pkgs/by-name/pa/paper-plane/package.nix +++ b/pkgs/by-name/pa/paper-plane/package.nix @@ -1,23 +1,24 @@ -{ lib -, fetchFromGitHub -, gtk4 -, libadwaita -, tdlib -, rlottie -, stdenv -, rustPlatform -, meson -, ninja -, pkg-config -, rustc -, cargo -, desktop-file-utils -, blueprint-compiler -, libxml2 -, libshumate -, gst_all_1 -, darwin -, buildPackages +{ + lib, + fetchFromGitHub, + gtk4, + libadwaita, + tdlib, + rlottie, + stdenv, + rustPlatform, + meson, + ninja, + pkg-config, + rustc, + cargo, + desktop-file-utils, + blueprint-compiler, + libxml2, + libshumate, + gst_all_1, + darwin, + buildPackages, }: let @@ -34,7 +35,7 @@ let # Paper Plane requires a patch to the gtk4, but may be removed later # https://github.com/paper-plane-developers/paper-plane/tree/main?tab=readme-ov-file#prerequisites gtk4-paperplane = gtk4.overrideAttrs (prev: { - patches = (prev.patches or []) ++ [ "${src}/build-aux/gtk-reversed-list.patch" ]; + patches = (prev.patches or [ ]) ++ [ "${src}/build-aux/gtk-reversed-list.patch" ]; }); wrapPaperPlaneHook = buildPackages.wrapGAppsHook3.override { gtk3 = gtk4-paperplane; @@ -92,18 +93,20 @@ stdenv.mkDerivation { libxml2.bin ]; - buildInputs = [ - libshumate - libadwaita-paperplane - tdlib-paperplane - rlottie-paperplane - gst_all_1.gstreamer - gst_all_1.gst-libav - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + libshumate + libadwaita-paperplane + tdlib-paperplane + rlottie-paperplane + gst_all_1.gstreamer + gst_all_1.gst-libav + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; mesonFlags = [ # The API ID and hash provided here are for use with Paper Plane only. @@ -115,12 +118,9 @@ stdenv.mkDerivation { # Workaround for the gettext-sys issue # https://github.com/Koka/gettext-rs/issues/114 - env.NIX_CFLAGS_COMPILE = lib.optionalString - ( - stdenv.cc.isClang && - lib.versionAtLeast stdenv.cc.version "16" - ) - "-Wno-error=incompatible-function-pointer-types"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" + ) "-Wno-error=incompatible-function-pointer-types"; meta = with lib; { homepage = "https://github.com/paper-plane-developers/paper-plane"; diff --git a/pkgs/by-name/pa/paperkey/package.nix b/pkgs/by-name/pa/paperkey/package.nix index 3b3a2d81d1068..1aba2f19ad8fc 100644 --- a/pkgs/by-name/pa/paperkey/package.nix +++ b/pkgs/by-name/pa/paperkey/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "paperkey"; @@ -30,6 +34,9 @@ stdenv.mkDerivation rec { homepage = "https://www.jabberwocky.com/software/paperkey/"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ AndersonTorres peterhoeg ]; + maintainers = with maintainers; [ + AndersonTorres + peterhoeg + ]; }; } diff --git a/pkgs/by-name/pa/paperless-asn-qr-codes/package.nix b/pkgs/by-name/pa/paperless-asn-qr-codes/package.nix index 1661d7a5a4859..5fe69a944eab4 100644 --- a/pkgs/by-name/pa/paperless-asn-qr-codes/package.nix +++ b/pkgs/by-name/pa/paperless-asn-qr-codes/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 7dee06aac9a05..3fcf619c79211 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch2 -, buildNpmPackage -, nixosTests -, gettext -, python3 -, giflib -, darwin -, ghostscript_headless -, imagemagickBig -, jbig2enc -, optipng -, pngquant -, qpdf -, tesseract5 -, unpaper -, poppler_utils -, liberation_ttf -, xcbuild -, pango -, pkg-config -, nltk-data -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + buildNpmPackage, + nixosTests, + gettext, + python3, + giflib, + darwin, + ghostscript_headless, + imagemagickBig, + jbig2enc, + optipng, + pngquant, + qpdf, + tesseract5, + unpaper, + poppler_utils, + liberation_ttf, + xcbuild, + pango, + pkg-config, + nltk-data, + xorg, }: let @@ -44,17 +45,21 @@ let django = prev.django_5; # TODO: drop after https://github.com/NixOS/nixpkgs/pull/306556 or similar got merged - django-allauth = prev.django-allauth.overridePythonAttrs ({ src, nativeCheckInputs, ... }: let - version = "65.0.2"; - in { - inherit version; - src = src.override { - rev = "refs/tags/${version}"; - hash = "sha256-GvYdExkNuySrg8ERnWOJxucFe5HVdPAcHfRNeqiVS7M="; - }; - - nativeCheckInputs = nativeCheckInputs ++ [ prev.fido2 ]; - }); + django-allauth = prev.django-allauth.overridePythonAttrs ( + { src, nativeCheckInputs, ... }: + let + version = "65.0.2"; + in + { + inherit version; + src = src.override { + rev = "refs/tags/${version}"; + hash = "sha256-GvYdExkNuySrg8ERnWOJxucFe5HVdPAcHfRNeqiVS7M="; + }; + + nativeCheckInputs = nativeCheckInputs ++ [ prev.fido2 ]; + } + ); django-extensions = prev.django-extensions.overridePythonAttrs (_: { # fails with: TypeError: 'class Meta' got invalid attribute(s): index_together @@ -77,7 +82,6 @@ let }; }; - path = lib.makeBinPath [ ghostscript_headless imagemagickBig @@ -100,25 +104,31 @@ let npmDepsHash = "sha256-pBCWcdCTQh0N4pRLBWLZXybuhpiat030xvPZ5z7CUJ0="; - nativeBuildInputs = [ - pkg-config - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - xcbuild - ]; - - buildInputs = [ - pango - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - giflib - darwin.apple_sdk.frameworks.CoreText - ]; + nativeBuildInputs = + [ + pkg-config + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + xcbuild + ]; + + buildInputs = + [ + pango + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + giflib + darwin.apple_sdk.frameworks.CoreText + ]; CYPRESS_INSTALL_BINARY = "0"; NG_CLI_ANALYTICS = "false"; npmBuildFlags = [ - "--" "--configuration" "production" + "--" + "--configuration" + "production" ]; doCheck = true; @@ -161,61 +171,63 @@ python.pkgs.buildPythonApplication rec { xorg.lndir ]; - dependencies = with python.pkgs; [ - bleach - channels - channels-redis - concurrent-log-handler - dateparser - django_5 - django-allauth - django-auditlog - django-celery-results - django-compression-middleware - django-cors-headers - django-extensions - django-filter - django-guardian - django-multiselectfield - django-soft-delete - djangorestframework - djangorestframework-guardian2 - drf-writable-nested - filelock - flower - gotenberg-client - gunicorn - httpx-oauth - imap-tools - inotifyrecursive - jinja2 - langdetect - mysqlclient - nltk - ocrmypdf - pathvalidate - pdf2image - psycopg - python-dateutil - python-dotenv - python-gnupg - python-ipware - python-magic - pyzbar - rapidfuzz - redis - scikit-learn - setproctitle - tika-client - tqdm - uvicorn - watchdog - whitenoise - whoosh - zxing-cpp - ] - ++ redis.optional-dependencies.hiredis - ++ uvicorn.optional-dependencies.standard; + dependencies = + with python.pkgs; + [ + bleach + channels + channels-redis + concurrent-log-handler + dateparser + django_5 + django-allauth + django-auditlog + django-celery-results + django-compression-middleware + django-cors-headers + django-extensions + django-filter + django-guardian + django-multiselectfield + django-soft-delete + djangorestframework + djangorestframework-guardian2 + drf-writable-nested + filelock + flower + gotenberg-client + gunicorn + httpx-oauth + imap-tools + inotifyrecursive + jinja2 + langdetect + mysqlclient + nltk + ocrmypdf + pathvalidate + pdf2image + psycopg + python-dateutil + python-dotenv + python-gnupg + python-ipware + python-magic + pyzbar + rapidfuzz + redis + scikit-learn + setproctitle + tika-client + tqdm + uvicorn + watchdog + whitenoise + whoosh + zxing-cpp + ] + ++ redis.optional-dependencies.hiredis + ++ uvicorn.optional-dependencies.standard; postBuild = '' # Compile manually because `pythonRecompileBytecodeHook` only works @@ -229,24 +241,26 @@ python.pkgs.buildPythonApplication rec { ${python.pythonOnBuildForHost.interpreter} src/manage.py compilemessages ''; - installPhase = let - pythonPath = python.pkgs.makePythonPath dependencies; - in '' - runHook preInstall - - mkdir -p $out/lib/paperless-ngx/static/frontend - cp -r {src,static,LICENSE,gunicorn.conf.py} $out/lib/paperless-ngx - lndir -silent ${frontend}/lib/paperless-ui/frontend $out/lib/paperless-ngx/static/frontend - chmod +x $out/lib/paperless-ngx/src/manage.py - makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \ - --prefix PYTHONPATH : "${pythonPath}" \ - --prefix PATH : "${path}" - makeWrapper ${lib.getExe python.pkgs.celery} $out/bin/celery \ - --prefix PYTHONPATH : "${pythonPath}:$out/lib/paperless-ngx/src" \ - --prefix PATH : "${path}" - - runHook postInstall - ''; + installPhase = + let + pythonPath = python.pkgs.makePythonPath dependencies; + in + '' + runHook preInstall + + mkdir -p $out/lib/paperless-ngx/static/frontend + cp -r {src,static,LICENSE,gunicorn.conf.py} $out/lib/paperless-ngx + lndir -silent ${frontend}/lib/paperless-ui/frontend $out/lib/paperless-ngx/static/frontend + chmod +x $out/lib/paperless-ngx/src/manage.py + makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \ + --prefix PYTHONPATH : "${pythonPath}" \ + --prefix PATH : "${path}" + makeWrapper ${lib.getExe python.pkgs.celery} $out/bin/celery \ + --prefix PYTHONPATH : "${pythonPath}:$out/lib/paperless-ngx/src" \ + --prefix PATH : "${path}" + + runHook postInstall + ''; postFixup = '' # Remove tests with samples (~14M) @@ -296,8 +310,17 @@ python.pkgs.buildPythonApplication rec { doCheck = !stdenv.hostPlatform.isDarwin; passthru = { - inherit python path frontend tesseract5; - nltkData = with nltk-data; [ punkt_tab snowball_data stopwords ]; + inherit + python + path + frontend + tesseract5 + ; + nltkData = with nltk-data; [ + punkt_tab + snowball_data + stopwords + ]; tests = { inherit (nixosTests) paperless; }; }; @@ -307,6 +330,10 @@ python.pkgs.buildPythonApplication rec { changelog = "https://github.com/paperless-ngx/paperless-ngx/releases/tag/v${version}"; license = licenses.gpl3Only; platforms = platforms.unix; - maintainers = with maintainers; [ leona SuperSandro2000 erikarvstedt ]; + maintainers = with maintainers; [ + leona + SuperSandro2000 + erikarvstedt + ]; }; } diff --git a/pkgs/by-name/pa/paperlike-go/package.nix b/pkgs/by-name/pa/paperlike-go/package.nix index ad2782bfaf00e..025858992328f 100644 --- a/pkgs/by-name/pa/paperlike-go/package.nix +++ b/pkgs/by-name/pa/paperlike-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule { diff --git a/pkgs/by-name/pa/papers/package.nix b/pkgs/by-name/pa/papers/package.nix index a96d2fe17968d..aab00d5121ec8 100644 --- a/pkgs/by-name/pa/papers/package.nix +++ b/pkgs/by-name/pa/papers/package.nix @@ -1,47 +1,52 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, meson -, ninja -, pkg-config -, appstream -, desktop-file-utils -, gtk4 -, glib -, pango -, gdk-pixbuf -, shared-mime-info -, itstool -, poppler -, nautilus -, darwin -, djvulibre -, libspectre -, libarchive -, libsecret -, wrapGAppsHook4 -, librsvg -, gobject-introspection -, yelp-tools -, gsettings-desktop-schemas -, dbus -, gi-docgen -, libgxps -, withLibsecret ? true -, supportNautilus ? (!stdenv.hostPlatform.isDarwin) -, libadwaita -, exempi -, cargo -, rustPlatform -, rustfmt +{ + lib, + stdenv, + fetchurl, + fetchpatch, + meson, + ninja, + pkg-config, + appstream, + desktop-file-utils, + gtk4, + glib, + pango, + gdk-pixbuf, + shared-mime-info, + itstool, + poppler, + nautilus, + darwin, + djvulibre, + libspectre, + libarchive, + libsecret, + wrapGAppsHook4, + librsvg, + gobject-introspection, + yelp-tools, + gsettings-desktop-schemas, + dbus, + gi-docgen, + libgxps, + withLibsecret ? true, + supportNautilus ? (!stdenv.hostPlatform.isDarwin), + libadwaita, + exempi, + cargo, + rustPlatform, + rustfmt, }: stdenv.mkDerivation (finalAttrs: { pname = "papers"; version = "47.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/papers/${lib.versions.major finalAttrs.version}/papers-${finalAttrs.version}.tar.xz"; @@ -60,7 +65,12 @@ stdenv.mkDerivation (finalAttrs: { cargoRoot = "shell-rs"; cargoDeps = rustPlatform.fetchCargoTarball { - inherit (finalAttrs) src pname version cargoRoot; + inherit (finalAttrs) + src + pname + version + cargoRoot + ; hash = "sha256-/5IySNEUkwiQezLx4n4jlPJdqJhlcgt5bXIelUFftZI="; }; @@ -82,36 +92,43 @@ stdenv.mkDerivation (finalAttrs: { rustfmt ]; - buildInputs = [ - dbus # only needed to find the service directory - djvulibre - exempi - gdk-pixbuf - glib - gtk4 - gsettings-desktop-schemas - libadwaita - libarchive - libgxps - librsvg - libspectre - pango - poppler - ] ++ lib.optionals withLibsecret [ - libsecret - ] ++ lib.optionals supportNautilus [ - nautilus - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; - - mesonFlags = [ - "-Dps=enabled" - ] ++ lib.optionals (!withLibsecret) [ - "-Dkeyring=disabled" - ] ++ lib.optionals (!supportNautilus) [ - "-Dnautilus=false" - ]; + buildInputs = + [ + dbus # only needed to find the service directory + djvulibre + exempi + gdk-pixbuf + glib + gtk4 + gsettings-desktop-schemas + libadwaita + libarchive + libgxps + librsvg + libspectre + pango + poppler + ] + ++ lib.optionals withLibsecret [ + libsecret + ] + ++ lib.optionals supportNautilus [ + nautilus + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; + + mesonFlags = + [ + "-Dps=enabled" + ] + ++ lib.optionals (!withLibsecret) [ + "-Dkeyring=disabled" + ] + ++ lib.optionals (!supportNautilus) [ + "-Dnautilus=false" + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString ( stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" @@ -122,13 +139,15 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '=papers-thumbnailer' "=$out/bin/papers-thumbnailer" ''; - preFixup = '' - gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -add_rpath "$out/lib" "$out/bin/papers" - ''; + preFixup = + '' + gappsWrapperArgs+=( + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -add_rpath "$out/lib" "$out/bin/papers" + ''; postFixup = '' # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. diff --git a/pkgs/by-name/pa/papertrail/gemset.nix b/pkgs/by-name/pa/papertrail/gemset.nix index abfbed17a987f..99874d153567b 100644 --- a/pkgs/by-name/pa/papertrail/gemset.nix +++ b/pkgs/by-name/pa/papertrail/gemset.nix @@ -1,30 +1,33 @@ { ansi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14ims9zfal4gs2wpx2m5rd8zsrl2k794d359shkrsgg3fhr2a22l"; type = "gem"; }; version = "1.5.0"; }; chronic = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn"; type = "gem"; }; version = "0.10.2"; }; papertrail = { - dependencies = ["ansi" "chronic"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "ansi" + "chronic" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "170zhgahrgpwj4cb9xj8104yqcf9gva8qk5vqpmw3g8rq29jxshy"; type = "gem"; }; diff --git a/pkgs/by-name/pa/papertrail/package.nix b/pkgs/by-name/pa/papertrail/package.nix index a01bc3fb889cb..e1baafe00c057 100644 --- a/pkgs/by-name/pa/papertrail/package.nix +++ b/pkgs/by-name/pa/papertrail/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, bundlerEnv, ruby, bundlerUpdateScript, testers, papertrail }: +{ + lib, + stdenv, + bundlerEnv, + ruby, + bundlerUpdateScript, + testers, + papertrail, +}: let papertrail-env = bundlerEnv { @@ -8,7 +16,8 @@ let lockfile = ./Gemfile.lock; gemset = ./gemset.nix; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "papertrail"; version = (import ./gemset.nix).papertrail.version; @@ -26,9 +35,9 @@ in stdenv.mkDerivation { meta = with lib; { description = "Command-line client for Papertrail log management service"; mainProgram = "papertrail"; - homepage = "https://github.com/papertrail/papertrail-cli/"; - license = licenses.mit; + homepage = "https://github.com/papertrail/papertrail-cli/"; + license = licenses.mit; maintainers = with maintainers; [ nicknovitski ]; - platforms = ruby.meta.platforms; + platforms = ruby.meta.platforms; }; } diff --git a/pkgs/by-name/pa/paperview/package.nix b/pkgs/by-name/pa/paperview/package.nix index 3c5cf4c4123e8..58673594ae1b9 100644 --- a/pkgs/by-name/pa/paperview/package.nix +++ b/pkgs/by-name/pa/paperview/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 -, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + SDL2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pa/papi/package.nix b/pkgs/by-name/pa/papi/package.nix index 7e022bafbb400..1c4cf77e84279 100644 --- a/pkgs/by-name/pa/papi/package.nix +++ b/pkgs/by-name/pa/papi/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { @@ -7,7 +9,9 @@ stdenv.mkDerivation rec { pname = "papi"; src = fetchurl { - url = "https://bitbucket.org/icl/papi/get/papi-${lib.replaceStrings ["."] ["-"] version}-t.tar.gz"; + url = "https://bitbucket.org/icl/papi/get/papi-${ + lib.replaceStrings [ "." ] [ "-" ] version + }-t.tar.gz"; sha256 = "sha256-VajhmPW8sEJksfhLjBVlpBH7+AZr4fwKZPAtZxRF1Bk="; }; @@ -23,6 +27,9 @@ stdenv.mkDerivation rec { description = "Library providing access to various hardware performance counters"; license = licenses.bsdOriginal; platforms = platforms.linux; - maintainers = with maintainers; [ costrouc zhaofengli ]; + maintainers = with maintainers; [ + costrouc + zhaofengli + ]; }; } diff --git a/pkgs/by-name/pa/papirus-folders/package.nix b/pkgs/by-name/pa/papirus-folders/package.nix index 7abcd038bac0c..11c08f69406ab 100644 --- a/pkgs/by-name/pa/papirus-folders/package.nix +++ b/pkgs/by-name/pa/papirus-folders/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, getent }: +{ + lib, + stdenv, + fetchFromGitHub, + getent, +}: stdenv.mkDerivation rec { pname = "papirus-folders"; diff --git a/pkgs/by-name/pa/papirus-nord/package.nix b/pkgs/by-name/pa/papirus-nord/package.nix index 178b1ba3470a7..326c9eb2ca3ee 100644 --- a/pkgs/by-name/pa/papirus-nord/package.nix +++ b/pkgs/by-name/pa/papirus-nord/package.nix @@ -1,10 +1,11 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, gtk3 -, getent -, papirus-icon-theme -, accent ? "frostblue1" +{ + stdenvNoCC, + lib, + fetchFromGitHub, + gtk3, + getent, + papirus-icon-theme, + accent ? "frostblue1", }: let validAccents = [ @@ -34,42 +35,46 @@ let in lib.checkListOfEnum "${pname}: accent colors" validAccents [ accent ] -stdenvNoCC.mkDerivation { - inherit pname version; + stdenvNoCC.mkDerivation + { + inherit pname version; - src = fetchFromGitHub { - owner = "adapta-projects"; - repo = "papirus-nord"; - rev = version; - sha256 = "sha256-KwwTDGJQ4zN9XH/pKFQDQ+EgyuSCFhN2PQAI35G+3YM="; - }; + src = fetchFromGitHub { + owner = "adapta-projects"; + repo = "papirus-nord"; + rev = version; + sha256 = "sha256-KwwTDGJQ4zN9XH/pKFQDQ+EgyuSCFhN2PQAI35G+3YM="; + }; - nativeBuildInputs = [ gtk3 getent ]; + nativeBuildInputs = [ + gtk3 + getent + ]; - postPatch = '' - patchShebangs ./papirus-folders - ''; + postPatch = '' + patchShebangs ./papirus-folders + ''; - installPhase = '' - runHook preInstall - mkdir -p $out/share/icons - cp -r --no-preserve=mode ${papirus-icon-theme}/share/icons/Papirus* $out/share/icons - for size in 64x64 48x48 32x32 24x24 22x22; do - cp -f Icons/$size/* $out/share/icons/Papirus/$size/places - done - for theme in $out/share/icons/*; do - USER_HOME=$HOME DISABLE_UPDATE_ICON_CACHE=1 \ - ./papirus-folders -t $theme -o -C ${accent} - gtk-update-icon-cache --force $theme - done - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out/share/icons + cp -r --no-preserve=mode ${papirus-icon-theme}/share/icons/Papirus* $out/share/icons + for size in 64x64 48x48 32x32 24x24 22x22; do + cp -f Icons/$size/* $out/share/icons/Papirus/$size/places + done + for theme in $out/share/icons/*; do + USER_HOME=$HOME DISABLE_UPDATE_ICON_CACHE=1 \ + ./papirus-folders -t $theme -o -C ${accent} + gtk-update-icon-cache --force $theme + done + runHook postInstall + ''; - meta = with lib; { - description = "Nord version of Papirus Icon Theme"; - homepage = "https://github.com/Adapta-Projects/Papirus-Nord"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ aacebedo ]; - }; -} + meta = with lib; { + description = "Nord version of Papirus Icon Theme"; + homepage = "https://github.com/Adapta-Projects/Papirus-Nord"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ aacebedo ]; + }; + } diff --git a/pkgs/by-name/pa/paprefs/package.nix b/pkgs/by-name/pa/paprefs/package.nix index fa28433fe9cd3..63ce64a74e2af 100644 --- a/pkgs/by-name/pa/paprefs/package.nix +++ b/pkgs/by-name/pa/paprefs/package.nix @@ -1,14 +1,15 @@ -{ fetchurl -, lib -, stdenv -, meson -, ninja -, gettext -, pkg-config -, pulseaudioFull -, glibmm -, gtkmm3 -, wrapGAppsHook3 +{ + fetchurl, + lib, + stdenv, + meson, + ninja, + gettext, + pkg-config, + pulseaudioFull, + glibmm, + gtkmm3, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pa/paps/package.nix b/pkgs/by-name/pa/paps/package.nix index 964f08ac27759..935ef85ee3cbb 100644 --- a/pkgs/by-name/pa/paps/package.nix +++ b/pkgs/by-name/pa/paps/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub -, autoconf, automake, pkg-config, intltool, pango }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + intltool, + pango, +}: stdenv.mkDerivation rec { pname = "paps"; @@ -12,7 +20,12 @@ stdenv.mkDerivation rec { sha256 = "129wpm2ayxs6qfh2761d4x9c034ivb2bcmmcnl56qs4448qb9495"; }; - nativeBuildInputs = [ autoconf automake pkg-config intltool ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + intltool + ]; buildInputs = [ pango ]; preConfigure = '' diff --git a/pkgs/by-name/pa/par/package.nix b/pkgs/by-name/pa/par/package.nix index c62df86835c0f..a6167b8c5ed78 100644 --- a/pkgs/by-name/pa/par/package.nix +++ b/pkgs/by-name/pa/par/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "par"; @@ -22,7 +26,6 @@ stdenv.mkDerivation rec { cp par.1 $out/share/man/man1 ''; - meta = with lib; { homepage = "http://www.nicemice.net/par/"; description = "Paragraph reflow for email"; diff --git a/pkgs/by-name/pa/par2cmdline/package.nix b/pkgs/by-name/pa/par2cmdline/package.nix index 8ccf5d54ebbfe..6f69f0e48eedc 100644 --- a/pkgs/by-name/pa/par2cmdline/package.nix +++ b/pkgs/by-name/pa/par2cmdline/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "par2cmdline"; diff --git a/pkgs/by-name/pa/parallel-disk-usage/package.nix b/pkgs/by-name/pa/parallel-disk-usage/package.nix index ef425b3ff051c..196efc10c641d 100644 --- a/pkgs/by-name/pa/parallel-disk-usage/package.nix +++ b/pkgs/by-name/pa/parallel-disk-usage/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "parallel-disk-usage"; @@ -19,7 +20,7 @@ rustPlatform.buildRustPackage rec { description = "Highly parallelized, blazing fast directory tree analyzer"; homepage = "https://github.com/KSXGitHub/parallel-disk-usage"; license = licenses.asl20; - maintainers = [maintainers.peret]; + maintainers = [ maintainers.peret ]; mainProgram = "pdu"; }; } diff --git a/pkgs/by-name/pa/parallel-hashmap/package.nix b/pkgs/by-name/pa/parallel-hashmap/package.nix index a84503ee2a14f..ccb161e778ec3 100644 --- a/pkgs/by-name/pa/parallel-hashmap/package.nix +++ b/pkgs/by-name/pa/parallel-hashmap/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pa/paralus-cli/package.nix b/pkgs/by-name/pa/paralus-cli/package.nix index e838acf69cf00..24961d715afa8 100644 --- a/pkgs/by-name/pa/paralus-cli/package.nix +++ b/pkgs/by-name/pa/paralus-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/parastoo-fonts/package.nix b/pkgs/by-name/pa/parastoo-fonts/package.nix index 214a9ca58d773..0d3c24cd1c6c0 100644 --- a/pkgs/by-name/pa/parastoo-fonts/package.nix +++ b/pkgs/by-name/pa/parastoo-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "parastoo-fonts"; diff --git a/pkgs/by-name/pa/paratest/package.nix b/pkgs/by-name/pa/paratest/package.nix index c4eca0346a710..f7e34c1adaf2b 100644 --- a/pkgs/by-name/pa/paratest/package.nix +++ b/pkgs/by-name/pa/paratest/package.nix @@ -1,28 +1,30 @@ -{ php -, fetchFromGitHub -, lib +{ + php, + fetchFromGitHub, + lib, }: -(php.withExtensions ({ enabled, all }: enabled ++ [ all.pcov ])).buildComposerProject2 (finalAttrs: { - pname = "paratest"; - version = "7.6.0"; +(php.withExtensions ({ enabled, all }: enabled ++ [ all.pcov ])).buildComposerProject2 + (finalAttrs: { + pname = "paratest"; + version = "7.6.0"; - src = fetchFromGitHub { - owner = "paratestphp"; - repo = "paratest"; - rev = "v${finalAttrs.version}"; - hash = "sha256-p7m/MDHy+NOh+MnoIWy74Ipm/5hevp4x6Qwn4uPIEAM="; - }; + src = fetchFromGitHub { + owner = "paratestphp"; + repo = "paratest"; + rev = "v${finalAttrs.version}"; + hash = "sha256-p7m/MDHy+NOh+MnoIWy74Ipm/5hevp4x6Qwn4uPIEAM="; + }; - composerLock = ./composer.lock; - vendorHash = "sha256-NQWwfSYgvAmvWnr563vAKh+IdFRDB/CJZReDUzftOvw="; + composerLock = ./composer.lock; + vendorHash = "sha256-NQWwfSYgvAmvWnr563vAKh+IdFRDB/CJZReDUzftOvw="; - meta = { - changelog = "https://github.com/paratestphp/paratest/releases/tag/v${finalAttrs.version}"; - description = "Parallel testing for PHPUnit"; - homepage = "https://github.com/paratestphp/paratest"; - license = lib.licenses.mit; - mainProgram = "paratest"; - maintainers = [ ]; - }; -}) + meta = { + changelog = "https://github.com/paratestphp/paratest/releases/tag/v${finalAttrs.version}"; + description = "Parallel testing for PHPUnit"; + homepage = "https://github.com/paratestphp/paratest"; + license = lib.licenses.mit; + mainProgram = "paratest"; + maintainers = [ ]; + }; + }) diff --git a/pkgs/by-name/pa/pari-galdata/package.nix b/pkgs/by-name/pa/pari-galdata/package.nix index c767346280506..9a2e0acb332a4 100644 --- a/pkgs/by-name/pa/pari-galdata/package.nix +++ b/pkgs/by-name/pa/pari-galdata/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/pa/pari-seadata-small/package.nix b/pkgs/by-name/pa/pari-seadata-small/package.nix index 86516fe1ddba2..5056d6992124d 100644 --- a/pkgs/by-name/pa/pari-seadata-small/package.nix +++ b/pkgs/by-name/pa/pari-seadata-small/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/pa/parinfer-rust/package.nix b/pkgs/by-name/pa/parinfer-rust/package.nix index cc434f14dd6d9..d300092b1907c 100644 --- a/pkgs/by-name/pa/parinfer-rust/package.nix +++ b/pkgs/by-name/pa/parinfer-rust/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, llvmPackages }: +{ + lib, + rustPlatform, + fetchFromGitHub, + llvmPackages, +}: rustPlatform.buildRustPackage rec { pname = "parinfer-rust"; @@ -13,7 +18,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-PW9LIQamQfusaijyJ2R9xe29LhM0GNf9BdxI9vkjVdE="; - nativeBuildInputs = [ llvmPackages.clang rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + llvmPackages.clang + rustPlatform.bindgenHook + ]; postInstall = '' mkdir -p $out/share/kak/autoload/plugins diff --git a/pkgs/by-name/pa/parlatype/package.nix b/pkgs/by-name/pa/parlatype/package.nix index 3d9a3da25c2ea..56080d475222a 100644 --- a/pkgs/by-name/pa/parlatype/package.nix +++ b/pkgs/by-name/pa/parlatype/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, gettext -, glib -, gst_all_1 -, gtk4 -, hicolor-icon-theme -, isocodes -, itstool -, libadwaita -, libxml2 -, meson -, ninja -, pkg-config -, python3 -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + gettext, + glib, + gst_all_1, + gtk4, + hicolor-icon-theme, + isocodes, + itstool, + libadwaita, + libxml2, + meson, + ninja, + pkg-config, + python3, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -75,7 +76,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.parlatype.xyz/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ alexshpilkin melchips ]; + maintainers = with maintainers; [ + alexshpilkin + melchips + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/pa/parquet-tools/package.nix b/pkgs/by-name/pa/parquet-tools/package.nix index 4775be223afac..ccc32744c43ed 100644 --- a/pkgs/by-name/pa/parquet-tools/package.nix +++ b/pkgs/by-name/pa/parquet-tools/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: with python3Packages; diff --git a/pkgs/by-name/pa/parse-cli-bin/package.nix b/pkgs/by-name/pa/parse-cli-bin/package.nix index 0ece2bb4afb0d..a70e398c32086 100644 --- a/pkgs/by-name/pa/parse-cli-bin/package.nix +++ b/pkgs/by-name/pa/parse-cli-bin/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "parse-cli-bin"; @@ -12,9 +16,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Parse Command Line Interface"; mainProgram = "parse"; - homepage = "https://parse.com"; - platforms = platforms.linux; - license = licenses.bsd3; + homepage = "https://parse.com"; + platforms = platforms.linux; + license = licenses.bsd3; }; dontUnpack = true; diff --git a/pkgs/by-name/pa/parsero/package.nix b/pkgs/by-name/pa/parsero/package.nix index 2c3323f25e525..a059e44a17f0c 100644 --- a/pkgs/by-name/pa/parsero/package.nix +++ b/pkgs/by-name/pa/parsero/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "parsero"; @@ -23,7 +27,10 @@ python3Packages.buildPythonApplication rec { description = "Robots.txt audit tool"; homepage = "https://github.com/behindthefirewalls/Parsero"; license = licenses.gpl2Only; - maintainers = with maintainers; [ emilytrau fab ]; + maintainers = with maintainers; [ + emilytrau + fab + ]; mainProgram = "parsero"; }; } diff --git a/pkgs/by-name/pa/parsify/package.nix b/pkgs/by-name/pa/parsify/package.nix index b5c122717289d..957f88e2b1ba1 100644 --- a/pkgs/by-name/pa/parsify/package.nix +++ b/pkgs/by-name/pa/parsify/package.nix @@ -1,6 +1,7 @@ -{ lib -, appimageTools -, fetchurl +{ + lib, + appimageTools, + fetchurl, }: appimageTools.wrapType2 rec { @@ -13,15 +14,17 @@ appimageTools.wrapType2 rec { }; extraInstallCommands = - let contents = appimageTools.extract { inherit pname version src; }; - in '' - install -m 444 -D ${contents}/@parsifydesktop.desktop -t $out/share/applications + let + contents = appimageTools.extract { inherit pname version src; }; + in + '' + install -m 444 -D ${contents}/@parsifydesktop.desktop -t $out/share/applications - substituteInPlace $out/share/applications/@parsifydesktop.desktop \ - --replace "Exec=AppRun" "Exec=${pname}" + substituteInPlace $out/share/applications/@parsifydesktop.desktop \ + --replace "Exec=AppRun" "Exec=${pname}" - cp -r ${contents}/usr/share/* $out/share - ''; + cp -r ${contents}/usr/share/* $out/share + ''; meta = with lib; { description = "Next generation notepad-based calculator, built with extendibility and privacy in mind"; diff --git a/pkgs/by-name/pa/parson/package.nix b/pkgs/by-name/pa/parson/package.nix index 4bdee532eea84..59d1ed43495cd 100644 --- a/pkgs/by-name/pa/parson/package.nix +++ b/pkgs/by-name/pa/parson/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, +}: stdenv.mkDerivation { pname = "parson"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { hash = "sha256-IEmCa0nauUzG+zcLpr++ySD7i21zVJh/35r9RaQkok0="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; meta = { description = "Lightweight JSON library written in C"; diff --git a/pkgs/by-name/pa/partclone/package.nix b/pkgs/by-name/pa/partclone/package.nix index f10e0ac13b787..7d14ac5e84bff 100644 --- a/pkgs/by-name/pa/partclone/package.nix +++ b/pkgs/by-name/pa/partclone/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, pkg-config, libuuid, e2fsprogs, nilfs-utils, ntfs3g, openssl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libuuid, + e2fsprogs, + nilfs-utils, + ntfs3g, + openssl, }: stdenv.mkDerivation rec { @@ -13,9 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-oYxMtVGmD88eLXCwdJJ6z+6X4Blfm3B4iwbGWwSAJ9c="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ - e2fsprogs libuuid stdenv.cc.libc nilfs-utils ntfs3g openssl + e2fsprogs + libuuid + stdenv.cc.libc + nilfs-utils + ntfs3g + openssl (lib.getOutput "static" stdenv.cc.libc) ]; diff --git a/pkgs/by-name/pa/parted/package.nix b/pkgs/by-name/pa/parted/package.nix index f1ed977e9a60c..4fc1615665e3f 100644 --- a/pkgs/by-name/pa/parted/package.nix +++ b/pkgs/by-name/pa/parted/package.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchurl -, lvm2 -, libuuid -, gettext -, readline -, dosfstools -, e2fsprogs -, perl -, python3 -, util-linux -, check -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + lvm2, + libuuid, + gettext, + readline, + dosfstools, + e2fsprogs, + perl, + python3, + util-linux, + check, + enableStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -22,28 +24,39 @@ stdenv.mkDerivation rec { sha256 = "sha256-O0Pb4zzKD5oYYB66tWt4UrEo7Bo986mzDM3l5zNZ5hI="; }; - outputs = [ "out" "dev" "man" "info" ]; + outputs = [ + "out" + "dev" + "man" + "info" + ]; postPatch = '' patchShebangs tests ''; - buildInputs = [ libuuid ] + buildInputs = + [ libuuid ] ++ lib.optional (readline != null) readline ++ lib.optional (gettext != null) gettext ++ lib.optional (lvm2 != null) lvm2; configureFlags = - (if (readline != null) - then [ "--with-readline" ] - else [ "--without-readline" ]) + (if (readline != null) then [ "--with-readline" ] else [ "--without-readline" ]) ++ lib.optional (lvm2 == null) "--disable-device-mapper" ++ lib.optional enableStatic "--enable-static"; # Tests were previously failing due to Hydra running builds as uid 0. # That should hopefully be fixed now. - doCheck = !stdenv.hostPlatform.isMusl; /* translation test */ - nativeCheckInputs = [ check dosfstools e2fsprogs perl python3 util-linux ]; + doCheck = !stdenv.hostPlatform.isMusl; # translation test + nativeCheckInputs = [ + check + dosfstools + e2fsprogs + perl + python3 + util-linux + ]; meta = { description = "Create, destroy, resize, check, and copy partitions"; diff --git a/pkgs/by-name/pa/particl-core/package.nix b/pkgs/by-name/pa/particl-core/package.nix index 12e86358c9544..51204fd926347 100644 --- a/pkgs/by-name/pa/particl-core/package.nix +++ b/pkgs/by-name/pa/particl-core/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, autoreconfHook -, boost -, db48 -, fetchFromGitHub -, fetchpatch2 -, libevent -, miniupnpc -, openssl -, pkg-config -, zeromq -, zlib -, unixtools -, python3 +{ + lib, + stdenv, + autoreconfHook, + boost, + db48, + fetchFromGitHub, + fetchpatch2, + libevent, + miniupnpc, + openssl, + pkg-config, + zeromq, + zlib, + unixtools, + python3, }: stdenv.mkDerivation rec { @@ -34,16 +35,31 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ openssl db48 boost zlib miniupnpc libevent zeromq unixtools.hexdump python3 ]; - - configureFlags = [ - "--disable-bench" - "--with-boost-libdir=${boost.out}/lib" - ] ++ lib.optionals (!doCheck) [ - "--enable-tests=no" + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + openssl + db48 + boost + zlib + miniupnpc + libevent + zeromq + unixtools.hexdump + python3 ]; + configureFlags = + [ + "--disable-bench" + "--with-boost-libdir=${boost.out}/lib" + ] + ++ lib.optionals (!doCheck) [ + "--enable-tests=no" + ]; + # Always check during Hydra builds doCheck = true; preCheck = "patchShebangs test"; diff --git a/pkgs/by-name/pa/partimage/package.nix b/pkgs/by-name/pa/partimage/package.nix index bb35fdd7c32c4..9875ed28dc2ca 100644 --- a/pkgs/by-name/pa/partimage/package.nix +++ b/pkgs/by-name/pa/partimage/package.nix @@ -1,14 +1,16 @@ -{lib, stdenv -, fetchurl -, fetchpatch -, bzip2 -, zlib -, newt -, openssl -, pkg-config -, slang -, libxcrypt -, autoreconfHook +{ + lib, + stdenv, + fetchurl, + fetchpatch, + bzip2, + zlib, + newt, + openssl, + pkg-config, + slang, + libxcrypt, + autoreconfHook, }: stdenv.mkDerivation rec { pname = "partimage"; @@ -23,14 +25,26 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-ssl-headers=${openssl.dev}/include/openssl" ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ bzip2 zlib newt newt openssl slang libxcrypt ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + bzip2 + zlib + newt + newt + openssl + slang + libxcrypt + ]; patches = [ ./gentoos-zlib.patch (fetchpatch { name = "openssl-1.1.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-block/partimage/files/" + url = + "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-block/partimage/files/" + "partimage-0.6.9-openssl-1.1-compatibility.patch?id=3fe8e9910002b6523d995512a646b063565d0447"; sha256 = "1hs0krxrncxq1w36bhad02yk8yx71zcfs35cw87c82sl2sfwasjg"; }) @@ -44,7 +58,7 @@ stdenv.mkDerivation rec { description = "Opensource disk backup software"; homepage = "https://www.partimage.org"; license = lib.licenses.gpl2Plus; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/pa/partio/package.nix b/pkgs/by-name/pa/partio/package.nix index 2c117bdabb900..ceaaf2dc54260 100644 --- a/pkgs/by-name/pa/partio/package.nix +++ b/pkgs/by-name/pa/partio/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, unzip -, cmake -, libglut -, libGLU -, libGL -, zlib -, swig -, doxygen -, xorg -, python3 -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + cmake, + libglut, + libGLU, + libGL, + zlib, + swig, + doxygen, + xorg, + python3, + darwin, }: stdenv.mkDerivation rec { @@ -25,7 +26,11 @@ stdenv.mkDerivation rec { hash = "sha256-wV9byR85qwOkoTyLjG0gOLC3Gc19ykwiLpDy4T/MENQ="; }; - outputs = [ "dev" "out" "lib" ]; + outputs = [ + "dev" + "out" + "lib" + ]; nativeBuildInputs = [ unzip @@ -34,19 +39,22 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ - zlib - swig - xorg.libXi - xorg.libXmu - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - darwin.apple_sdk.frameworks.GLUT - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libglut - libGLU - libGL - ]; + buildInputs = + [ + zlib + swig + xorg.libXi + xorg.libXmu + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + darwin.apple_sdk.frameworks.GLUT + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libglut + libGLU + libGL + ]; # TODO: # Sexpr support diff --git a/pkgs/by-name/pa/pasco/package.nix b/pkgs/by-name/pa/pasco/package.nix index da9343db39304..847af508fafb0 100644 --- a/pkgs/by-name/pa/pasco/package.nix +++ b/pkgs/by-name/pa/pasco/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pa/pass-secret-service/package.nix b/pkgs/by-name/pa/pass-secret-service/package.nix index c377adc398915..6d86978faba4e 100644 --- a/pkgs/by-name/pa/pass-secret-service/package.nix +++ b/pkgs/by-name/pa/pass-secret-service/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3 -, dbus -, gnupg -, coreutils -, nixosTests +{ + lib, + fetchFromGitHub, + python3, + dbus, + gnupg, + coreutils, + nixosTests, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pa/passage/package.nix b/pkgs/by-name/pa/passage/package.nix index 5cd5b481c4132..ac1b68a9d9837 100644 --- a/pkgs/by-name/pa/passage/package.nix +++ b/pkgs/by-name/pa/passage/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeBinaryWrapper -, substituteAll -, age -, getopt -, coreutils -, findutils -, gnugrep -, gnused -, qrencode ? null -, wl-clipboard ? null -, git ? null -, xclip ? null -# Used to pretty-print list of all stored passwords, but is not needed to fetch -# or store password by its name. Most users would want this dependency. -, tree ? null +{ + lib, + stdenv, + fetchFromGitHub, + makeBinaryWrapper, + substituteAll, + age, + getopt, + coreutils, + findutils, + gnugrep, + gnused, + qrencode ? null, + wl-clipboard ? null, + git ? null, + xclip ? null, + # Used to pretty-print list of all stored passwords, but is not needed to fetch + # or store password by its name. Most users would want this dependency. + tree ? null, }: stdenv.mkDerivation (finalAttrs: { @@ -57,14 +58,20 @@ stdenv.mkDerivation (finalAttrs: { wrapProgram $out/bin/passage --prefix PATH : $extraPath --argv0 $pname ''; - installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ]; + installFlags = [ + "PREFIX=$(out)" + "WITH_ALLCOMP=yes" + ]; meta = with lib; { description = "Stores, retrieves, generates, and synchronizes passwords securely"; - homepage = "https://github.com/FiloSottile/passage"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ kaction ma27 ]; - platforms = platforms.unix; + homepage = "https://github.com/FiloSottile/passage"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ + kaction + ma27 + ]; + platforms = platforms.unix; mainProgram = "passage"; longDescription = '' diff --git a/pkgs/by-name/pa/passdetective/package.nix b/pkgs/by-name/pa/passdetective/package.nix index 2e921beb8c7d6..842de021361f9 100644 --- a/pkgs/by-name/pa/passdetective/package.nix +++ b/pkgs/by-name/pa/passdetective/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/passerine/package.nix b/pkgs/by-name/pa/passerine/package.nix index 990d6ff078b2d..44aa5146ae73c 100644 --- a/pkgs/by-name/pa/passerine/package.nix +++ b/pkgs/by-name/pa/passerine/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "passerine"; diff --git a/pkgs/by-name/pa/passes/package.nix b/pkgs/by-name/pa/passes/package.nix index 74d34f682b0d4..102af396ff4bd 100644 --- a/pkgs/by-name/pa/passes/package.nix +++ b/pkgs/by-name/pa/passes/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, appstream-glib -, blueprint-compiler -, desktop-file-utils -, gettext -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, python3 -, wrapGAppsHook4 -, zint +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + blueprint-compiler, + desktop-file-utils, + gettext, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + python3, + wrapGAppsHook4, + zint, }: stdenv.mkDerivation (finalAttrs: { @@ -46,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { meson ninja pkg-config - (python3.withPackages (pp: [pp.pygobject3])) + (python3.withPackages (pp: [ pp.pygobject3 ])) wrapGAppsHook4 ]; diff --git a/pkgs/by-name/pa/passff-host/package.nix b/pkgs/by-name/pa/passff-host/package.nix index d5cf2f8267e2b..61487c4d2ae4f 100644 --- a/pkgs/by-name/pa/passff-host/package.nix +++ b/pkgs/by-name/pa/passff-host/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, pass }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + pass, +}: stdenv.mkDerivation rec { pname = "passff-host"; diff --git a/pkgs/by-name/pa/passh/package.nix b/pkgs/by-name/pa/passh/package.nix index 6fc3efba9bd20..16e203f76155d 100644 --- a/pkgs/by-name/pa/passh/package.nix +++ b/pkgs/by-name/pa/passh/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenv }: +{ + lib, + fetchFromGitHub, + stdenv, +}: stdenv.mkDerivation (finalAttrs: { pname = "passh"; diff --git a/pkgs/by-name/pa/passky-desktop/package.nix b/pkgs/by-name/pa/passky-desktop/package.nix index b1030b5ae8eef..dfeffcb9f85e4 100644 --- a/pkgs/by-name/pa/passky-desktop/package.nix +++ b/pkgs/by-name/pa/passky-desktop/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, electron_29 -, makeWrapper -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + electron_29, + makeWrapper, + makeDesktopItem, + copyDesktopItems, }: let @@ -49,19 +50,17 @@ stdenv.mkDerivation rec { ''; desktopItems = [ - ( - makeDesktopItem { - name = "passky"; - type = "Application"; - desktopName = "Passky"; - comment = "Simple, modern, open source and secure password manager."; - icon = "passky"; - exec = "passky %U"; - terminal = false; - categories = [ "Utility" ]; - startupWMClass = "Passky"; - } - ) + (makeDesktopItem { + name = "passky"; + type = "Application"; + desktopName = "Passky"; + comment = "Simple, modern, open source and secure password manager."; + icon = "passky"; + exec = "passky %U"; + terminal = false; + categories = [ "Utility" ]; + startupWMClass = "Passky"; + }) ]; meta = with lib; { diff --git a/pkgs/by-name/pa/passmark-performancetest/package.nix b/pkgs/by-name/pa/passmark-performancetest/package.nix index 1d021281f1542..61dddca419641 100644 --- a/pkgs/by-name/pa/passmark-performancetest/package.nix +++ b/pkgs/by-name/pa/passmark-performancetest/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, curl -, unzip -, ncurses5 -, dmidecode -, coreutils -, util-linux -, autoPatchelfHook -, makeWrapper +{ + lib, + stdenv, + fetchurl, + curl, + unzip, + ncurses5, + dmidecode, + coreutils, + util-linux, + autoPatchelfHook, + makeWrapper, }: let sources = { @@ -26,12 +27,18 @@ stdenv.mkDerivation rec { version = "11.0.1002"; pname = "passmark-performancetest"; - src = fetchurl (sources.${stdenv.system} or (throw "Unsupported system for PassMark performance test")); + src = fetchurl ( + sources.${stdenv.system} or (throw "Unsupported system for PassMark performance test") + ); dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ unzip autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + unzip + autoPatchelfHook + makeWrapper + ]; buildInputs = [ (lib.getLib stdenv.cc.cc) @@ -48,11 +55,13 @@ stdenv.mkDerivation rec { # Prefix since program will call sudo postFixup = '' wrapProgram $out/bin/performancetest \ - --prefix PATH ":" ${lib.makeBinPath [ - dmidecode - coreutils - util-linux - ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + dmidecode + coreutils + util-linux + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/pa/passphrase2pgp/package.nix b/pkgs/by-name/pa/passphrase2pgp/package.nix index 0470fd8cfee6d..001eae79cbbfc 100644 --- a/pkgs/by-name/pa/passphrase2pgp/package.nix +++ b/pkgs/by-name/pa/passphrase2pgp/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, +}: buildGoModule rec { pname = "passphrase2pgp"; diff --git a/pkgs/by-name/pa/passwdqc/package.nix b/pkgs/by-name/pa/passwdqc/package.nix index f70076243fbbd..413aa15095a64 100644 --- a/pkgs/by-name/pa/passwdqc/package.nix +++ b/pkgs/by-name/pa/passwdqc/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, libxcrypt -, pam -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libxcrypt, + pam, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -26,7 +27,10 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/pa/past-time/package.nix b/pkgs/by-name/pa/past-time/package.nix index 4bdcff8c1935d..1d2b3a15f2dfb 100644 --- a/pkgs/by-name/pa/past-time/package.nix +++ b/pkgs/by-name/pa/past-time/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pa/pastebinit/package.nix b/pkgs/by-name/pa/pastebinit/package.nix index 27735d615573a..d798f11ece567 100644 --- a/pkgs/by-name/pa/pastebinit/package.nix +++ b/pkgs/by-name/pa/pastebinit/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, libxslt -, docbook_xsl -, installShellFiles -, callPackage +{ + lib, + stdenv, + fetchFromGitHub, + python3, + libxslt, + docbook_xsl, + installShellFiles, + callPackage, }: stdenv.mkDerivation rec { version = "1.6.2"; @@ -48,7 +49,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://stgraber.org/category/pastebinit/"; description = "Software that lets you send anything you want directly to a pastebin from the command line"; - maintainers = with maintainers; [ raboof samuel-martineau ]; + maintainers = with maintainers; [ + raboof + samuel-martineau + ]; license = licenses.gpl2Plus; platforms = platforms.linux ++ lib.platforms.darwin; }; diff --git a/pkgs/by-name/pa/pasystray/package.nix b/pkgs/by-name/pa/pasystray/package.nix index c0ceb449707df..b81ace79d9220 100644 --- a/pkgs/by-name/pa/pasystray/package.nix +++ b/pkgs/by-name/pa/pasystray/package.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub, pkg-config, autoreconfHook, wrapGAppsHook3 -, adwaita-icon-theme, avahi, gtk3, libayatana-appindicator, libnotify, libpulseaudio -, gsettings-desktop-schemas +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + pkg-config, + autoreconfHook, + wrapGAppsHook3, + adwaita-icon-theme, + avahi, + gtk3, + libayatana-appindicator, + libnotify, + libpulseaudio, + gsettings-desktop-schemas, }: stdenv.mkDerivation rec { @@ -27,12 +39,20 @@ stdenv.mkDerivation rec { url = "https://sources.debian.org/data/main/p/pasystray/0.8.1-1/debian/patches/0002-Require-X11-backend.patch"; sha256 = "sha256-6njC3vqBPWFS1xAsa1katQ4C0KJdVkHAP1MCPiZ6ELM="; }) - ]; + ]; - nativeBuildInputs = [ pkg-config autoreconfHook wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + wrapGAppsHook3 + ]; buildInputs = [ adwaita-icon-theme - avahi gtk3 libayatana-appindicator libnotify libpulseaudio + avahi + gtk3 + libayatana-appindicator + libnotify + libpulseaudio gsettings-desktop-schemas ]; @@ -40,7 +60,10 @@ stdenv.mkDerivation rec { description = "PulseAudio system tray"; homepage = "https://github.com/christophgysin/pasystray"; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ exlevan kamilchm ]; + maintainers = with maintainers; [ + exlevan + kamilchm + ]; platforms = platforms.linux; mainProgram = "pasystray"; }; diff --git a/pkgs/by-name/pa/patatt/package.nix b/pkgs/by-name/pa/patatt/package.nix index 49477035a1101..b8cef0481b4d4 100644 --- a/pkgs/by-name/pa/patatt/package.nix +++ b/pkgs/by-name/pa/patatt/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "patatt"; @@ -24,6 +28,9 @@ python3Packages.buildPythonApplication rec { DKIM email signature standard to include cryptographic signatures via the X-Developer-Signature email header. ''; - maintainers = with maintainers; [ qyliss yoctocell ]; + maintainers = with maintainers; [ + qyliss + yoctocell + ]; }; } diff --git a/pkgs/by-name/pa/patch2pr/package.nix b/pkgs/by-name/pa/patch2pr/package.nix index b58f84ed10038..3933ec32507c6 100644 --- a/pkgs/by-name/pa/patch2pr/package.nix +++ b/pkgs/by-name/pa/patch2pr/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, patch2pr +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + patch2pr, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/patchPpdFilesHook/package.nix b/pkgs/by-name/pa/patchPpdFilesHook/package.nix index 854f857020aaa..a37aff60ac8c1 100644 --- a/pkgs/by-name/pa/patchPpdFilesHook/package.nix +++ b/pkgs/by-name/pa/patchPpdFilesHook/package.nix @@ -1,7 +1,8 @@ -{ lib -, makeSetupHook -, which -, callPackage +{ + lib, + makeSetupHook, + which, + callPackage, }: makeSetupHook { @@ -10,7 +11,7 @@ makeSetupHook { which = lib.getBin which; awkscript = ./patch-ppd-lines.awk; }; - passthru.tests.test = callPackage ./test.nix {}; + passthru.tests.test = callPackage ./test.nix { }; meta = { description = "setup hook to patch executable paths in ppd files"; maintainers = [ lib.maintainers.yarny ]; diff --git a/pkgs/by-name/pa/patchPpdFilesHook/test.nix b/pkgs/by-name/pa/patchPpdFilesHook/test.nix index 4f2996b235105..edb324ecdd8fa 100644 --- a/pkgs/by-name/pa/patchPpdFilesHook/test.nix +++ b/pkgs/by-name/pa/patchPpdFilesHook/test.nix @@ -1,7 +1,8 @@ -{ substituteAll -, diffutils -, stdenv -, patchPpdFilesHook +{ + substituteAll, + diffutils, + stdenv, + patchPpdFilesHook, }: let @@ -25,7 +26,10 @@ in stdenv.mkDerivation { name = "${patchPpdFilesHook.name}-test"; buildInputs = [ diffutils ]; - nativeBuildInputs = [ diffutils patchPpdFilesHook ]; + nativeBuildInputs = [ + diffutils + patchPpdFilesHook + ]; dontUnpack = true; dontInstall = true; ppdFileCommands = [ "cmp" ]; diff --git a/pkgs/by-name/pa/patchage/package.nix b/pkgs/by-name/pa/patchage/package.nix index c4d1b5ca12c86..fa5f705b8681f 100644 --- a/pkgs/by-name/pa/patchage/package.nix +++ b/pkgs/by-name/pa/patchage/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitLab -, alsa-lib -, boost -, dbus-glib -, ganv -, glibmm -, gtkmm2 -, libjack2 -, pkg-config -, python3 -, wafHook +{ + lib, + stdenv, + fetchFromGitLab, + alsa-lib, + boost, + dbus-glib, + ganv, + glibmm, + gtkmm2, + libjack2, + pkg-config, + python3, + wafHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pa/patcher9x/package.nix b/pkgs/by-name/pa/patcher9x/package.nix index fdf116a40c860..f24d259aa21ce 100644 --- a/pkgs/by-name/pa/patcher9x/package.nix +++ b/pkgs/by-name/pa/patcher9x/package.nix @@ -1,4 +1,9 @@ -{ fasm, lib, stdenv, fetchFromGitHub }: +{ + fasm, + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttr: { pname = "patcher9x"; diff --git a/pkgs/by-name/pa/patray/package.nix b/pkgs/by-name/pa/patray/package.nix index b281da1b144ec..27b286896253c 100644 --- a/pkgs/by-name/pa/patray/package.nix +++ b/pkgs/by-name/pa/patray/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchPypi -, qt5 +{ + lib, + python3, + fetchPypi, + qt5, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pa/patsh/package.nix b/pkgs/by-name/pa/patsh/package.nix index 476fe420a678f..7ab0e0e13e113 100644 --- a/pkgs/by-name/pa/patsh/package.nix +++ b/pkgs/by-name/pa/patsh/package.nix @@ -1,9 +1,10 @@ -{ lib -, runCommand -, rustPlatform -, fetchFromGitHub -, stdenv -, coreutils +{ + lib, + runCommand, + rustPlatform, + fetchFromGitHub, + stdenv, + coreutils, }: let diff --git a/pkgs/by-name/pa/paulstretch/package.nix b/pkgs/by-name/pa/paulstretch/package.nix index c539521f11679..18648c5e5f306 100644 --- a/pkgs/by-name/pa/paulstretch/package.nix +++ b/pkgs/by-name/pa/paulstretch/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, audiofile, libvorbis, fltk, fftw, fftwFloat -, minixml, pkg-config, libmad, libjack2, portaudio, libsamplerate +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + audiofile, + libvorbis, + fltk, + fftw, + fftwFloat, + minixml, + pkg-config, + libmad, + libjack2, + portaudio, + libsamplerate, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/pa/pax-rs/package.nix b/pkgs/by-name/pa/pax-rs/package.nix index 6152e0c8dc38c..8278405f3f399 100644 --- a/pkgs/by-name/pa/pax-rs/package.nix +++ b/pkgs/by-name/pa/pax-rs/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, fetchurl, rustPlatform, runCommand } : +{ + lib, + fetchFromGitHub, + fetchurl, + rustPlatform, + runCommand, +}: rustPlatform.buildRustPackage rec { pname = "pax-rs"; @@ -30,7 +36,7 @@ rustPlatform.buildRustPackage rec { sha256 = "0ff1b64b99cbca1cc2ceabcd2e4f7bc3411e3a2a9fbb9db2204d9240fe38ddeb"; }; in - runCommand "pax-rs-src" {} '' + runCommand "pax-rs-src" { } '' cp -R ${source} $out chmod +w $out cp ${cargo-lock} $out/Cargo.lock diff --git a/pkgs/by-name/pa/pax-utils/package.nix b/pkgs/by-name/pa/pax-utils/package.nix index 015b38455d0d5..14835781a4cee 100644 --- a/pkgs/by-name/pa/pax-utils/package.nix +++ b/pkgs/by-name/pa/pax-utils/package.nix @@ -1,17 +1,19 @@ -{ stdenv -, lib -, fetchgit -, buildPackages -, docbook_xml_dtd_44 -, docbook_xsl -, withLibcap ? stdenv.hostPlatform.isLinux, libcap -, pkg-config -, meson -, ninja -, xmlto -, python3 - -, gitUpdater +{ + stdenv, + lib, + fetchgit, + buildPackages, + docbook_xml_dtd_44, + docbook_xsl, + withLibcap ? stdenv.hostPlatform.isLinux, + libcap, + pkg-config, + meson, + ninja, + xmlto, + python3, + + gitUpdater, }: stdenv.mkDerivation rec { @@ -31,7 +33,14 @@ stdenv.mkDerivation rec { ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ docbook_xml_dtd_44 docbook_xsl meson ninja pkg-config xmlto ]; + nativeBuildInputs = [ + docbook_xml_dtd_44 + docbook_xsl + meson + ninja + pkg-config + xmlto + ]; buildInputs = lib.optionals withLibcap [ libcap ]; # Needed for lddtree propagatedBuildInputs = [ (python3.withPackages (p: with p; [ pyelftools ])) ]; @@ -52,6 +61,9 @@ stdenv.mkDerivation rec { homepage = "https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities"; license = licenses.gpl2Only; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice joachifm ]; + maintainers = with maintainers; [ + thoughtpolice + joachifm + ]; }; } diff --git a/pkgs/by-name/pa/paxctl/package.nix b/pkgs/by-name/pa/paxctl/package.nix index bdddcacf195f2..8f6741d68acbf 100644 --- a/pkgs/by-name/pa/paxctl/package.nix +++ b/pkgs/by-name/pa/paxctl/package.nix @@ -1,4 +1,9 @@ -{ fetchurl, lib, stdenv, elf-header }: +{ + fetchurl, + lib, + stdenv, + elf-header, +}: stdenv.mkDerivation rec { pname = "paxctl"; @@ -25,9 +30,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tool for controlling PaX flags on a per binary basis"; mainProgram = "paxctl"; - homepage = "https://pax.grsecurity.net"; - license = licenses.gpl2Only; - platforms = platforms.all; + homepage = "https://pax.grsecurity.net"; + license = licenses.gpl2Only; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/pa/paxtest/package.nix b/pkgs/by-name/pa/paxtest/package.nix index b415970a743ef..149c334e891b0 100644 --- a/pkgs/by-name/pa/paxtest/package.nix +++ b/pkgs/by-name/pa/paxtest/package.nix @@ -1,25 +1,37 @@ -{ lib, stdenv, fetchurl, paxctl }: +{ + lib, + stdenv, + fetchurl, + paxctl, +}: stdenv.mkDerivation rec { pname = "paxtest"; version = "0.9.15"; src = fetchurl { - url = "https://www.grsecurity.net/~spender/${pname}-${version}.tar.gz"; + url = "https://www.grsecurity.net/~spender/${pname}-${version}.tar.gz"; sha256 = "0zv6vlaszlik98gj9200sv0irvfzrvjn46rnr2v2m37x66288lym"; }; enableParallelBuilding = true; - makefile = "Makefile.psm"; - makeFlags = [ "PAXBIN=${paxctl}/bin/paxctl" "BINDIR=$(out)/bin" "RUNDIR=$(out)/lib/paxtest" ]; + makefile = "Makefile.psm"; + makeFlags = [ + "PAXBIN=${paxctl}/bin/paxctl" + "BINDIR=$(out)/bin" + "RUNDIR=$(out)/lib/paxtest" + ]; installFlags = [ "DESTDIR=\"\"" ]; meta = with lib; { description = "Test various memory protection measures"; mainProgram = "paxtest"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ copumpkin joachifm ]; + license = licenses.gpl2Only; + platforms = platforms.linux; + maintainers = with maintainers; [ + copumpkin + joachifm + ]; }; } diff --git a/pkgs/by-name/pa/payload-dumper-go/package.nix b/pkgs/by-name/pa/payload-dumper-go/package.nix index e09322a0138ca..4aea8dc124d7f 100644 --- a/pkgs/by-name/pa/payload-dumper-go/package.nix +++ b/pkgs/by-name/pa/payload-dumper-go/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, xz +{ + lib, + buildGoModule, + fetchFromGitHub, + xz, }: buildGoModule rec { diff --git a/pkgs/by-name/pa/payload_dumper/package.nix b/pkgs/by-name/pa/payload_dumper/package.nix index ebb717a9e4ceb..6f971ded3d4a7 100644 --- a/pkgs/by-name/pa/payload_dumper/package.nix +++ b/pkgs/by-name/pa/payload_dumper/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, makeWrapper -, python3 -, fetchFromGitHub +{ + lib, + stdenv, + makeWrapper, + python3, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeWrapper ]; - buildInputs = with python3.pkgs; [ bsdiff4 protobuf ]; + buildInputs = with python3.pkgs; [ + bsdiff4 + protobuf + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/pa/payloadsallthethings/package.nix b/pkgs/by-name/pa/payloadsallthethings/package.nix index 9e70611c7d283..2fd0fb3d76029 100644 --- a/pkgs/by-name/pa/payloadsallthethings/package.nix +++ b/pkgs/by-name/pa/payloadsallthethings/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC +{ + lib, + fetchFromGitHub, + stdenvNoCC, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/pa/payme/package.nix b/pkgs/by-name/pa/payme/package.nix index bab0236db12ec..70df0c753a3c8 100644 --- a/pkgs/by-name/pa/payme/package.nix +++ b/pkgs/by-name/pa/payme/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "payme"; diff --git a/pkgs/by-name/pa/pazi/package.nix b/pkgs/by-name/pa/pazi/package.nix index 2ccabe6280983..375527a267df8 100644 --- a/pkgs/by-name/pa/pazi/package.nix +++ b/pkgs/by-name/pa/pazi/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "pazi"; diff --git a/pkgs/by-name/pb/pb/package.nix b/pkgs/by-name/pb/pb/package.nix index 7e427b1b4e339..2290e728b4503 100644 --- a/pkgs/by-name/pb/pb/package.nix +++ b/pkgs/by-name/pb/pb/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, pb }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + pb, +}: buildGoModule rec { pname = "pb"; diff --git a/pkgs/by-name/pb/pb_cli/package.nix b/pkgs/by-name/pb/pb_cli/package.nix index ac9b7b6f22c20..bed3937b1d111 100644 --- a/pkgs/by-name/pb/pb_cli/package.nix +++ b/pkgs/by-name/pb/pb_cli/package.nix @@ -1,5 +1,17 @@ -{ screenshots ? true, video ? false, clipboard ? true -, lib, stdenv, jq, curl, fetchFromGitHub, makeWrapper, maim ? null, xclip ? null, capture ? null }: +{ + screenshots ? true, + video ? false, + clipboard ? true, + lib, + stdenv, + jq, + curl, + fetchFromGitHub, + makeWrapper, + maim ? null, + xclip ? null, + capture ? null, +}: assert screenshots -> maim != null; assert video -> capture != null; @@ -12,15 +24,20 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "ptpb"; repo = "pb_cli"; - rev = "6b9ce1ee45fe651d06d7c479a20026a173dd328b"; + rev = "6b9ce1ee45fe651d06d7c479a20026a173dd328b"; sha256 = "0w6a789zffvz4ixsb92q45n5s4xyx7s2l2f07972i3dajaaai8z7"; }; nativeBuildInputs = [ makeWrapper ]; - liveDeps = [ jq curl ] ++ lib.optional screenshots maim - ++ lib.optional video capture - ++ lib.optional clipboard xclip; + liveDeps = + [ + jq + curl + ] + ++ lib.optional screenshots maim + ++ lib.optional video capture + ++ lib.optional clipboard xclip; installPhase = '' install -Dm755 src/pb.sh $out/bin/pb diff --git a/pkgs/by-name/pb/pbgopy/package.nix b/pkgs/by-name/pb/pbgopy/package.nix index 50d0de133e8e3..a58cce6be1158 100644 --- a/pkgs/by-name/pb/pbgopy/package.nix +++ b/pkgs/by-name/pb/pbgopy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pbgopy"; diff --git a/pkgs/by-name/pb/pbm/package.nix b/pkgs/by-name/pb/pbm/package.nix index 57646c1db1619..b4d6f1325f9aa 100644 --- a/pkgs/by-name/pb/pbm/package.nix +++ b/pkgs/by-name/pb/pbm/package.nix @@ -12,7 +12,10 @@ buildDotnetGlobalTool { changelog = "https://cmd.petabridge.com/articles/RELEASE_NOTES.html"; license = licenses.unfree; platforms = platforms.linux; - maintainers = with maintainers; [ anpin mdarocha ]; + maintainers = with maintainers; [ + anpin + mdarocha + ]; mainProgram = "pbm"; }; } diff --git a/pkgs/by-name/pb/pbpctrl/package.nix b/pkgs/by-name/pb/pbpctrl/package.nix index 782fb1ac926b7..7090d712f7cb6 100644 --- a/pkgs/by-name/pb/pbpctrl/package.nix +++ b/pkgs/by-name/pb/pbpctrl/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, dbus -, protobuf +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + dbus, + protobuf, }: rustPlatform.buildRustPackage rec { @@ -19,14 +20,23 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-W59TRrFSm/IrStH9YitoG6nLs9pesDmL9+/DHnty3nw="; - nativeBuildInputs = [ pkg-config protobuf ]; + nativeBuildInputs = [ + pkg-config + protobuf + ]; buildInputs = [ dbus ]; meta = with lib; { description = "Control Google Pixel Buds Pro from the Linux command line"; homepage = "https://github.com/qzed/pbpctrl"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ vanilla cafkafk ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + vanilla + cafkafk + ]; platforms = platforms.linux; mainProgram = "pbpctrl"; }; diff --git a/pkgs/by-name/pb/pbrt/package.nix b/pkgs/by-name/pb/pbrt/package.nix index 07483df7e4d77..cb9b8d6f05198 100644 --- a/pkgs/by-name/pb/pbrt/package.nix +++ b/pkgs/by-name/pb/pbrt/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, flex, bison, cmake, zlib}: +{ + lib, + stdenv, + fetchFromGitHub, + flex, + bison, + cmake, + zlib, +}: stdenv.mkDerivation { version = "2018-08-15"; @@ -6,8 +14,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { rev = "86b5821308088deea70b207bc8c22219d0103d65"; - owner = "mmp"; - repo = "pbrt-v3"; + owner = "mmp"; + repo = "pbrt-v3"; sha256 = "0f7ivsczba6zfk5f0bba1js6dcwf6w6jrkiby147qp1sx5k35cv8"; fetchSubmodules = true; }; @@ -17,7 +25,11 @@ stdenv.mkDerivation { ./openexr-cmake-3.12.patch ]; - nativeBuildInputs = [ flex bison cmake ]; + nativeBuildInputs = [ + flex + bison + cmake + ]; buildInputs = [ zlib ]; meta = with lib; { diff --git a/pkgs/by-name/pb/pbzip2/package.nix b/pkgs/by-name/pb/pbzip2/package.nix index d9eecda0d6063..3348f0b85ee39 100644 --- a/pkgs/by-name/pb/pbzip2/package.nix +++ b/pkgs/by-name/pb/pbzip2/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchurl, bzip2 }: +{ + lib, + stdenv, + fetchurl, + bzip2, +}: -let major = "1.1"; - version = "${major}.13"; +let + major = "1.1"; + version = "${major}.13"; in stdenv.mkDerivation rec { pname = "pbzip2"; diff --git a/pkgs/by-name/pb/pbzx/package.nix b/pkgs/by-name/pb/pbzx/package.nix index aa5692d14c519..4f96d27de10cf 100644 --- a/pkgs/by-name/pb/pbzx/package.nix +++ b/pkgs/by-name/pb/pbzx/package.nix @@ -1,4 +1,10 @@ -{stdenv, lib, fetchFromGitHub, xz, xar}: +{ + stdenv, + lib, + fetchFromGitHub, + xz, + xar, +}: stdenv.mkDerivation rec { pname = "pbzx"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "0bwd7wmnhpz1n5p39mh6asfyccj4cm06hwigslcwbb3pdwmvxc90"; }; patches = [ ./stdin.patch ]; - buildInputs = [ xz xar ]; + buildInputs = [ + xz + xar + ]; buildPhase = '' ${stdenv.cc.targetPrefix}cc pbzx.c -llzma -lxar -o pbzx ''; diff --git a/pkgs/by-name/pc/pc/package.nix b/pkgs/by-name/pc/pc/package.nix index 6e9c23ee6d8aa..9abcda1d567b2 100644 --- a/pkgs/by-name/pc/pc/package.nix +++ b/pkgs/by-name/pc/pc/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, byacc -, fetchFromSourcehut -, gitUpdater +{ + lib, + stdenv, + byacc, + fetchFromSourcehut, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pc/pcalc/package.nix b/pkgs/by-name/pc/pcalc/package.nix index 64ab5acebed2d..77251404bba42 100644 --- a/pkgs/by-name/pc/pcalc/package.nix +++ b/pkgs/by-name/pc/pcalc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, bison, flex }: +{ + lib, + stdenv, + fetchFromGitHub, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "pcalc"; @@ -12,7 +18,10 @@ stdenv.mkDerivation rec { }; makeFlags = [ "DESTDIR= BINDIR=$(out)/bin" ]; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/pc/pcapc/package.nix b/pkgs/by-name/pc/pcapc/package.nix index 35b338a5f63a8..0e7d8121d9cdd 100644 --- a/pkgs/by-name/pc/pcapc/package.nix +++ b/pkgs/by-name/pc/pcapc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, libpcap }: +{ + lib, + stdenv, + fetchFromGitLab, + libpcap, +}: stdenv.mkDerivation rec { pname = "pcapc"; diff --git a/pkgs/by-name/pc/pcapfix/package.nix b/pkgs/by-name/pc/pcapfix/package.nix index 3f7a5be86ce0f..9818b57125a19 100644 --- a/pkgs/by-name/pc/pcapfix/package.nix +++ b/pkgs/by-name/pc/pcapfix/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "pcapfix"; diff --git a/pkgs/by-name/pc/pcaudiolib/package.nix b/pkgs/by-name/pc/pcaudiolib/package.nix index 1152283b1f2c3..c426e57d09cce 100644 --- a/pkgs/by-name/pc/pcaudiolib/package.nix +++ b/pkgs/by-name/pc/pcaudiolib/package.nix @@ -1,16 +1,17 @@ -{ config -, lib -, stdenv -, fetchFromGitHub -, alsa-lib -, autoconf -, automake -, libpulseaudio -, libtool -, pkg-config -, portaudio -, which -, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux +{ + config, + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + autoconf, + automake, + libpulseaudio, + libtool, + pkg-config, + portaudio, + which, + pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, }: stdenv.mkDerivation (finalAttrs: { @@ -32,19 +33,22 @@ stdenv.mkDerivation (finalAttrs: { which ]; - buildInputs = [ - portaudio - ] - ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib - ++ lib.optional pulseaudioSupport libpulseaudio; + buildInputs = + [ + portaudio + ] + ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib + ++ lib.optional pulseaudioSupport libpulseaudio; # touch ChangeLog to avoid below error on darwin: # Makefile.am: error: required file './ChangeLog.md' not found - preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' - touch ChangeLog - '' + '' - ./autogen.sh - ''; + preConfigure = + lib.optionalString stdenv.hostPlatform.isDarwin '' + touch ChangeLog + '' + + '' + ./autogen.sh + ''; meta = with lib; { homepage = "https://github.com/espeak-ng/pcaudiolib"; diff --git a/pkgs/by-name/pc/pcb/package.nix b/pkgs/by-name/pc/pcb/package.nix index f8623d9a7bf7b..1dd1be7f912a5 100644 --- a/pkgs/by-name/pc/pcb/package.nix +++ b/pkgs/by-name/pc/pcb/package.nix @@ -1,23 +1,25 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, gtk2 -, bison -, intltool -, flex -, netpbm -, imagemagick -, dbus -, freetype -, fontconfig -, libGLU -, libGL -, shared-mime-info -, tcl -, tk -, gnome2 -, gd -, xorg +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + bison, + intltool, + flex, + netpbm, + imagemagick, + dbus, + freetype, + fontconfig, + libGLU, + libGL, + shared-mime-info, + tcl, + tk, + gnome2, + gd, + xorg, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pc/pcb2gcode/package.nix b/pkgs/by-name/pc/pcb2gcode/package.nix index 1ba4a8aea5e4d..3d0cc9ef7069f 100644 --- a/pkgs/by-name/pc/pcb2gcode/package.nix +++ b/pkgs/by-name/pc/pcb2gcode/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, boost -, glibmm -, gtkmm2 -, gerbv -, librsvg +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + boost, + glibmm, + gtkmm2, + gerbv, + librsvg, }: stdenv.mkDerivation rec { @@ -21,9 +22,18 @@ stdenv.mkDerivation rec { hash = "sha256-c5YabBqZn6ilIkF3lifTsYyLZMsZN21jDj1hNu0PRAc="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ boost glibmm gtkmm2 gerbv librsvg ]; + buildInputs = [ + boost + glibmm + gtkmm2 + gerbv + librsvg + ]; postPatch = '' substituteInPlace ./Makefile.am \ diff --git a/pkgs/by-name/pc/pcem/package.nix b/pkgs/by-name/pc/pcem/package.nix index 9ffa24a66e308..d3b49edf76f1b 100644 --- a/pkgs/by-name/pc/pcem/package.nix +++ b/pkgs/by-name/pc/pcem/package.nix @@ -1,5 +1,19 @@ -{ stdenv, lib, fetchzip, wxGTK32, coreutils, SDL2, openal, alsa-lib, pkg-config, gtk3, wrapGAppsHook3 -, autoreconfHook, withNetworking ? true, withALSA ? true }: +{ + stdenv, + lib, + fetchzip, + wxGTK32, + coreutils, + SDL2, + openal, + alsa-lib, + pkg-config, + gtk3, + wrapGAppsHook3, + autoreconfHook, + withNetworking ? true, + withALSA ? true, +}: stdenv.mkDerivation rec { pname = "pcem"; @@ -11,11 +25,21 @@ stdenv.mkDerivation rec { sha256 = "067pbnc15h6a4pnnym82klr1w8qwfm6p0pkx93gx06wvwqsxvbdv"; }; - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook3 ]; - buildInputs = [ wxGTK32 coreutils SDL2 openal gtk3 ] - ++ lib.optional withALSA alsa-lib; + nativeBuildInputs = [ + autoreconfHook + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + wxGTK32 + coreutils + SDL2 + openal + gtk3 + ] ++ lib.optional withALSA alsa-lib; - configureFlags = [ "--enable-release-build" ] + configureFlags = + [ "--enable-release-build" ] ++ lib.optional withNetworking "--enable-networking" ++ lib.optional withALSA "--enable-alsa"; diff --git a/pkgs/by-name/pc/pcg_c/package.nix b/pkgs/by-name/pc/pcg_c/package.nix index 3ad9df8b64bdb..cef3e641b617e 100644 --- a/pkgs/by-name/pc/pcg_c/package.nix +++ b/pkgs/by-name/pc/pcg_c/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { version = "0.94"; @@ -13,7 +17,7 @@ stdenv.mkDerivation rec { patches = [ ./prefix-variable.patch - ]; + ]; preInstall = '' sed -i s,/usr/local,$out, Makefile diff --git a/pkgs/by-name/pc/pcimem/package.nix b/pkgs/by-name/pc/pcimem/package.nix index 2f41e4c7395e6..4d81dd4d36423 100644 --- a/pkgs/by-name/pc/pcimem/package.nix +++ b/pkgs/by-name/pc/pcimem/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pcimem"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0zlbvcl5q4hgna11p3w00px1p8qgn8ga79lh6a2m7d597g86kbq3"; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; makeFlags = [ "CFLAGS=-Wno-maybe-uninitialized" ]; diff --git a/pkgs/by-name/pc/pcloud/package.nix b/pkgs/by-name/pc/pcloud/package.nix index afec1baa79f6e..58309913995b2 100644 --- a/pkgs/by-name/pc/pcloud/package.nix +++ b/pkgs/by-name/pc/pcloud/package.nix @@ -16,24 +16,24 @@ { # Build dependencies - appimageTools -, autoPatchelfHook -, fetchzip -, lib -, stdenv + appimageTools, + autoPatchelfHook, + fetchzip, + lib, + stdenv, # Runtime dependencies; # A few additional ones (e.g. Node) are already shipped together with the # AppImage, so we don't have to duplicate them here. -, alsa-lib -, dbus-glib -, fuse -, gsettings-desktop-schemas -, gtk3 -, libdbusmenu-gtk2 -, libXdamage -, nss -, udev + alsa-lib, + dbus-glib, + fuse, + gsettings-desktop-schemas, + gtk3, + libdbusmenu-gtk2, + libXdamage, + nss, + udev, }: let diff --git a/pkgs/by-name/pc/pcm/package.nix b/pkgs/by-name/pc/pcm/package.nix index 0ce82515d1d0f..1a571fc70e991 100644 --- a/pkgs/by-name/pc/pcm/package.nix +++ b/pkgs/by-name/pc/pcm/package.nix @@ -1,4 +1,9 @@ -{ cmake, fetchFromGitHub, lib, stdenv }: +{ + cmake, + fetchFromGitHub, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "pcm"; diff --git a/pkgs/by-name/pc/pcmanfm/package.nix b/pkgs/by-name/pc/pcmanfm/package.nix index 3e8d22a65b8d0..9761a38678106 100644 --- a/pkgs/by-name/pc/pcmanfm/package.nix +++ b/pkgs/by-name/pc/pcmanfm/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, glib -, intltool -, libfm -, libX11 -, pango -, pkg-config -, wrapGAppsHook3 -, adwaita-icon-theme -, withGtk3 ? true -, gtk2 -, gtk3 +{ + lib, + stdenv, + fetchurl, + glib, + intltool, + libfm, + libX11, + pango, + pkg-config, + wrapGAppsHook3, + adwaita-icon-theme, + withGtk3 ? true, + gtk2, + gtk3, }: let @@ -28,8 +29,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-FMt7JHSTxMzmX7tZAmEeOtAKeocPvB5QrcUEKMUUDPc="; }; - buildInputs = [ glib gtk libfm' libX11 pango adwaita-icon-theme ]; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 intltool ]; + buildInputs = [ + glib + gtk + libfm' + libX11 + pango + adwaita-icon-theme + ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + intltool + ]; configureFlags = optional withGtk3 "--with-gtk=3"; diff --git a/pkgs/by-name/pc/pcmanx-gtk2/package.nix b/pkgs/by-name/pc/pcmanx-gtk2/package.nix index 6179bbe15fbf5..9e2bea957a66a 100644 --- a/pkgs/by-name/pc/pcmanx-gtk2/package.nix +++ b/pkgs/by-name/pc/pcmanx-gtk2/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, gtk2, libXft, intltool, automake, autoconf, libtool, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk2, + libXft, + intltool, + automake, + autoconf, + libtool, + pkg-config, +}: stdenv.mkDerivation rec { pname = "pcmanx-gtk2"; @@ -11,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "0fbwd149wny67rfhczz4cbh713a1qnswjiz7b6c2bxfcwh51f9rc"; }; - nativeBuildInputs = [ pkg-config automake autoconf intltool ]; - buildInputs = [ gtk2 libXft libtool ]; + nativeBuildInputs = [ + pkg-config + automake + autoconf + intltool + ]; + buildInputs = [ + gtk2 + libXft + libtool + ]; preConfigure = '' ./autogen.sh diff --git a/pkgs/by-name/pc/pcmciaUtils/package.nix b/pkgs/by-name/pc/pcmciaUtils/package.nix index bcfb101c6fcb5..5ae0c4d24ab07 100644 --- a/pkgs/by-name/pc/pcmciaUtils/package.nix +++ b/pkgs/by-name/pc/pcmciaUtils/package.nix @@ -1,9 +1,16 @@ -{ config, lib, stdenv, fetchurl -, bison, flex -, sysfsutils, kmod, udev -, firmware ? config.pcmciaUtils.firmware or [] # Special pcmcia cards. -, configOpts ? config.pcmciaUtils.config or null # Special hardware (map memory & port & irq) -}: # used to generate postInstall script. +{ + config, + lib, + stdenv, + fetchurl, + bison, + flex, + sysfsutils, + kmod, + udev, + firmware ? config.pcmciaUtils.firmware or [ ], # Special pcmcia cards. + configOpts ? config.pcmciaUtils.config or null, # Special hardware (map memory & port & irq) +}: # used to generate postInstall script. # FIXME: should add an option to choose between hotplug and udev. stdenv.mkDerivation rec { @@ -15,32 +22,40 @@ stdenv.mkDerivation rec { sha256 = "0sfm3w2n73kl5w7gb1m6q8gy5k4rgwvzz79n6yhs9w3sag3ix8sk"; }; - buildInputs = [udev bison sysfsutils kmod flex]; + buildInputs = [ + udev + bison + sysfsutils + kmod + flex + ]; - patchPhase = '' - sed -i " - s,/sbin/modprobe,${kmod}&,; - s,/lib/udev/,$out/sbin/,; - " udev/* # fix-color */ - sed -i " - s,/lib/firmware,$out&,; - s,/etc/pcmcia,$out&,; - " src/{startup.c,pcmcia-check-broken-cis.c} # fix-color */ - '' - + (lib.optionalString (firmware == []) ''sed -i "s,STARTUP = true,STARTUP = false," Makefile'') - + (lib.optionalString (configOpts != null) "ln -sf ${configOpts} ./config/config.opts") - ; + patchPhase = + '' + sed -i " + s,/sbin/modprobe,${kmod}&,; + s,/lib/udev/,$out/sbin/,; + " udev/* # fix-color */ + sed -i " + s,/lib/firmware,$out&,; + s,/etc/pcmcia,$out&,; + " src/{startup.c,pcmcia-check-broken-cis.c} # fix-color */ + '' + + (lib.optionalString (firmware == [ ]) ''sed -i "s,STARTUP = true,STARTUP = false," Makefile'') + + (lib.optionalString (configOpts != null) "ln -sf ${configOpts} ./config/config.opts"); makeFlags = [ "LEX=flex" ]; - installFlags = [ "INSTALL=install" "DESTDIR=${placeholder "out"}" ]; - postInstall = - lib.concatMapStrings (path: '' - for f in : $(find ${path} -type f); do - test "$f" == ":" && continue; - mkdir -p $(dirname $out/lib/firmware/$\{f#${path}}); - ln -s $f $out/lib/firmware/$\{f#${path}}; - done; - '') firmware; + installFlags = [ + "INSTALL=install" + "DESTDIR=${placeholder "out"}" + ]; + postInstall = lib.concatMapStrings (path: '' + for f in : $(find ${path} -type f); do + test "$f" == ":" && continue; + mkdir -p $(dirname $out/lib/firmware/$\{f#${path}}); + ln -s $f $out/lib/firmware/$\{f#${path}}; + done; + '') firmware; meta = { homepage = "https://www.kernel.org/pub/linux/utils/kernel/pcmcia/"; diff --git a/pkgs/by-name/pc/pcmsolver/package.nix b/pkgs/by-name/pc/pcmsolver/package.nix index c2924426f8bb4..7572e14c3dfd2 100644 --- a/pkgs/by-name/pc/pcmsolver/package.nix +++ b/pkgs/by-name/pc/pcmsolver/package.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, cmake, perl, gfortran, python3 -, boost, eigen, zlib -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + perl, + gfortran, + python3, + boost, + eigen, + zlib, +}: stdenv.mkDerivation rec { pname = "pcmsolver"; version = "1.3.0"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "PCMSolver"; repo = pname; rev = "v${version}"; - sha256= "0jrxr8z21hjy7ik999hna9rdqy221kbkl3qkb06xw7g80rc9x9yr"; + sha256 = "0jrxr8z21hjy7ik999hna9rdqy221kbkl3qkb06xw7g80rc9x9yr"; }; # Glibc 2.34 changed SIGSTKSZ to a dynamic value, which breaks diff --git a/pkgs/by-name/pc/pcp/package.nix b/pkgs/by-name/pc/pcp/package.nix index e9d245c8129d8..a8d6e1c58ba90 100644 --- a/pkgs/by-name/pc/pcp/package.nix +++ b/pkgs/by-name/pc/pcp/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pcp"; diff --git a/pkgs/by-name/pc/pcsc-cyberjack/package.nix b/pkgs/by-name/pc/pcsc-cyberjack/package.nix index fa96753a54f64..2dad6ad25a96f 100644 --- a/pkgs/by-name/pc/pcsc-cyberjack/package.nix +++ b/pkgs/by-name/pc/pcsc-cyberjack/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libusb1, pcsclite }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libusb1, + pcsclite, +}: let version = "3.99.5"; @@ -11,16 +19,24 @@ stdenv.mkDerivation rec { inherit version; src = fetchurl { - url = - "https://support.reiner-sct.de/downloads/LINUX/V${version}_${suffix}/${pname}_${tarBall}.tar.bz2"; + url = "https://support.reiner-sct.de/downloads/LINUX/V${version}_${suffix}/${pname}_${tarBall}.tar.bz2"; sha256 = "sha256-rLfCgyRQcYdWcTdnxLPvUAgy1lLtUbNRELkQsR69Rno="; }; - outputs = [ "out" "tools" ]; + outputs = [ + "out" + "tools" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ libusb1 pcsclite ]; + buildInputs = [ + libusb1 + pcsclite + ]; enableParallelBuilding = true; @@ -38,7 +54,10 @@ stdenv.mkDerivation rec { mainProgram = "cjflash"; homepage = "https://www.reiner-sct.com/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ aszlig flokli ]; + maintainers = with maintainers; [ + aszlig + flokli + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/pc/pcsc-scm-scl011/package.nix b/pkgs/by-name/pc/pcsc-scm-scl011/package.nix index af3a95f0a2aac..3516a415b3b35 100644 --- a/pkgs/by-name/pc/pcsc-scm-scl011/package.nix +++ b/pkgs/by-name/pc/pcsc-scm-scl011/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchurl, unzip, libusb-compat-0_1 }: +{ + lib, + stdenv, + fetchurl, + unzip, + libusb-compat-0_1, +}: let - arch = if stdenv.hostPlatform.system == "i686-linux" then "32" - else if stdenv.hostPlatform.system == "x86_64-linux" then "64" - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + arch = + if stdenv.hostPlatform.system == "i686-linux" then + "32" + else if stdenv.hostPlatform.system == "x86_64-linux" then + "64" + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation rec { pname = "pcsc-scm-scl"; diff --git a/pkgs/by-name/pc/pcstat/package.nix b/pkgs/by-name/pc/pcstat/package.nix index 85e6c791990eb..2b9b2ddb5c2a0 100644 --- a/pkgs/by-name/pc/pcstat/package.nix +++ b/pkgs/by-name/pc/pcstat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pcstat"; diff --git a/pkgs/by-name/pc/pcsx2/package.nix b/pkgs/by-name/pc/pcsx2/package.nix index ce38e20d6802e..17c7245f4b2a8 100644 --- a/pkgs/by-name/pc/pcsx2/package.nix +++ b/pkgs/by-name/pc/pcsx2/package.nix @@ -135,8 +135,6 @@ llvmPackages_17.stdenv.mkDerivation (finalAttrs: { govanify matteopacini ]; - platforms = lib.systems.inspect.patternLogicalAnd - lib.systems.inspect.patterns.isLinux - lib.systems.inspect.patterns.isx86_64; + platforms = lib.systems.inspect.patternLogicalAnd lib.systems.inspect.patterns.isLinux lib.systems.inspect.patterns.isx86_64; }; }) diff --git a/pkgs/by-name/pc/pcsx2/sources.nix b/pkgs/by-name/pc/pcsx2/sources.nix index 87046847e942e..c3a210502c452 100644 --- a/pkgs/by-name/pc/pcsx2/sources.nix +++ b/pkgs/by-name/pc/pcsx2/sources.nix @@ -4,38 +4,40 @@ }: let - pcsx2 = let - self = { - pname = "pcsx2"; - version = "2.3.39"; - src = fetchFromGitHub { - pname = "pcsx2-source"; - inherit (self) version; - owner = "PCSX2"; - repo = "pcsx2"; - rev = "v${self.version}"; - hash = "sha256-Knlkf4GcN8OCgrd1nwdnYVCDA/7lyAfcoV4mLCkrHtg="; + pcsx2 = + let + self = { + pname = "pcsx2"; + version = "2.3.39"; + src = fetchFromGitHub { + pname = "pcsx2-source"; + inherit (self) version; + owner = "PCSX2"; + repo = "pcsx2"; + rev = "v${self.version}"; + hash = "sha256-Knlkf4GcN8OCgrd1nwdnYVCDA/7lyAfcoV4mLCkrHtg="; + }; }; - }; - in + in self; # The pre-zipped files in releases don't have a versioned link, we need to zip # them ourselves - pcsx2_patches = let - self = { - pname = "pcsx2_patches"; - version = "0-unstable-2024-11-23"; - src = fetchFromGitHub { - pname = "pcsx2_patches-source"; - inherit (self) version; - owner = "PCSX2"; - repo = "pcsx2_patches"; - rev = "5cc1d09a72c0afcd04e2ca089a6b279108328fda"; - hash = "sha256-or77ZsWU0YWtxj9LKJ/m8nDvKSyiF1sO140QaH6Jr64="; + pcsx2_patches = + let + self = { + pname = "pcsx2_patches"; + version = "0-unstable-2024-11-23"; + src = fetchFromGitHub { + pname = "pcsx2_patches-source"; + inherit (self) version; + owner = "PCSX2"; + repo = "pcsx2_patches"; + rev = "5cc1d09a72c0afcd04e2ca089a6b279108328fda"; + hash = "sha256-or77ZsWU0YWtxj9LKJ/m8nDvKSyiF1sO140QaH6Jr64="; + }; }; - }; - in + in self; in { diff --git a/pkgs/by-name/pd/pdal/tests.nix b/pkgs/by-name/pd/pdal/tests.nix index 1f71626856b38..d0b9a3bd13ba8 100644 --- a/pkgs/by-name/pd/pdal/tests.nix +++ b/pkgs/by-name/pd/pdal/tests.nix @@ -3,8 +3,7 @@ let inherit (pdal) pname; in -runCommand "${pname}-tests" { meta.timeout = 60; } - '' - ${pdal}/bin/pdal --drivers - touch $out - '' +runCommand "${pname}-tests" { meta.timeout = 60; } '' + ${pdal}/bin/pdal --drivers + touch $out +'' diff --git a/pkgs/by-name/pd/pdepend/package.nix b/pkgs/by-name/pd/pdepend/package.nix index ca92bb0e10d71..d6f300746ca5c 100644 --- a/pkgs/by-name/pd/pdepend/package.nix +++ b/pkgs/by-name/pd/pdepend/package.nix @@ -1,6 +1,7 @@ -{ php -, fetchFromGitHub -, lib +{ + php, + fetchFromGitHub, + lib, }: php.buildComposerProject (finalAttrs: { diff --git a/pkgs/by-name/pd/pdf-quench/package.nix b/pkgs/by-name/pd/pdf-quench/package.nix index 6159bfc7c810f..b3f396c690eba 100644 --- a/pkgs/by-name/pd/pdf-quench/package.nix +++ b/pkgs/by-name/pd/pdf-quench/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, pkgs, python3, wrapGAppsHook3, gobject-introspection }: +{ + lib, + fetchFromGitHub, + pkgs, + python3, + wrapGAppsHook3, + gobject-introspection, +}: python3.pkgs.buildPythonApplication { pname = "pdf-quench"; @@ -11,13 +18,19 @@ python3.pkgs.buildPythonApplication { sha256 = "1rp9rlwr6rarcsxygv5x2c5psgwl6r69k0lsgribgyyla9cf2m7n"; }; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; buildInputs = with pkgs; [ gtk3 goocanvas2 poppler_gi ]; - propagatedBuildInputs = with python3.pkgs; [ pygobject3 pypdf2 ]; + propagatedBuildInputs = with python3.pkgs; [ + pygobject3 + pypdf2 + ]; format = "other"; doCheck = false; diff --git a/pkgs/by-name/pd/pdf2djvu/package.nix b/pkgs/by-name/pd/pdf2djvu/package.nix index da741c76c70b4..e92663ad22397 100644 --- a/pkgs/by-name/pd/pdf2djvu/package.nix +++ b/pkgs/by-name/pd/pdf2djvu/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, gettext -, libtool -, pkg-config -, djvulibre -, exiv2 -, fontconfig -, graphicsmagick -, libjpeg -, libuuid -, poppler +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + gettext, + libtool, + pkg-config, + djvulibre, + exiv2, + fontconfig, + graphicsmagick, + libjpeg, + libuuid, + poppler, }: stdenv.mkDerivation rec { @@ -25,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-j4mYdmLZ56qTA1KbWBjBvyTyLaeuIITKYsALRIO7lj0="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ djvulibre diff --git a/pkgs/by-name/pd/pdf2odt/package.nix b/pkgs/by-name/pd/pdf2odt/package.nix index a5d14a6fc2991..408fe656a35ec 100644 --- a/pkgs/by-name/pd/pdf2odt/package.nix +++ b/pkgs/by-name/pd/pdf2odt/package.nix @@ -1,16 +1,17 @@ -{ lib -, resholve -, fetchFromGitHub -, bc -, coreutils -, file -, gawk -, ghostscript -, gnused -, imagemagick -, zip -, runtimeShell -, findutils +{ + lib, + resholve, + fetchFromGitHub, + bc, + coreutils, + file, + gawk, + ghostscript, + gnused, + imagemagick, + zip, + runtimeShell, + findutils, }: resholve.mkDerivation rec { diff --git a/pkgs/by-name/pd/pdf2svg/package.nix b/pkgs/by-name/pd/pdf2svg/package.nix index b7da6dad29da4..0bf8860ec766b 100644 --- a/pkgs/by-name/pd/pdf2svg/package.nix +++ b/pkgs/by-name/pd/pdf2svg/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, cairo, gtk2, poppler }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + cairo, + gtk2, + poppler, +}: stdenv.mkDerivation rec { pname = "pdf2svg"; @@ -12,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "14ffdm4y26imq99wjhkrhy9lp33165xci1l5ndwfia8hz53bl02k"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ cairo poppler gtk2 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + cairo + poppler + gtk2 + ]; meta = with lib; { description = "PDF converter to SVG format"; diff --git a/pkgs/by-name/pd/pdf4qt/package.nix b/pkgs/by-name/pd/pdf4qt/package.nix index d11d346724d2b..47613a53fa848 100644 --- a/pkgs/by-name/pd/pdf4qt/package.nix +++ b/pkgs/by-name/pd/pdf4qt/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, lcms -, cmake -, pkg-config -, qt6 -, wrapGAppsHook3 -, openjpeg -, tbb_2021_11 -, blend2d +{ + lib, + stdenv, + fetchFromGitHub, + lcms, + cmake, + pkg-config, + qt6, + wrapGAppsHook3, + openjpeg, + tbb_2021_11, + blend2d, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pd/pdfannots/package.nix b/pkgs/by-name/pd/pdfannots/package.nix index 7a7cbeeebab48..4cd56f2217c6b 100644 --- a/pkgs/by-name/pd/pdfannots/package.nix +++ b/pkgs/by-name/pd/pdfannots/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication rec { pname = "pdfannots"; diff --git a/pkgs/by-name/pd/pdfannots2json/package.nix b/pkgs/by-name/pd/pdfannots2json/package.nix index 90db280c8b9af..74b2acdc308a9 100644 --- a/pkgs/by-name/pd/pdfannots2json/package.nix +++ b/pkgs/by-name/pd/pdfannots2json/package.nix @@ -1,26 +1,30 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: let pname = "pdfannots2json"; version = "1.0.16"; in - buildGoModule { - inherit pname version; +buildGoModule { + inherit pname version; - src = fetchFromGitHub { - owner = "mgmeyers"; - repo = "pdfannots2json"; - rev = "refs/tags/${version}"; - hash = "sha256-qk4OSws/6SevN/Q0lsyxw+fZkm2uy1WwOYYL7CB7QUk="; - }; + src = fetchFromGitHub { + owner = "mgmeyers"; + repo = "pdfannots2json"; + rev = "refs/tags/${version}"; + hash = "sha256-qk4OSws/6SevN/Q0lsyxw+fZkm2uy1WwOYYL7CB7QUk="; + }; - vendorHash = null; + vendorHash = null; - meta = with lib; { - homepage = "https://github.com/mgmeyers/pdfannots2json"; - license = licenses.agpl3Only; - description = "Tool to convert PDF annotations to JSON"; - mainProgram = "pdfannots2json"; - maintainers = with maintainers; [ _0nyr ]; - }; - } + meta = with lib; { + homepage = "https://github.com/mgmeyers/pdfannots2json"; + license = licenses.agpl3Only; + description = "Tool to convert PDF annotations to JSON"; + mainProgram = "pdfannots2json"; + maintainers = with maintainers; [ _0nyr ]; + }; +} diff --git a/pkgs/by-name/pd/pdfchain/package.nix b/pkgs/by-name/pd/pdfchain/package.nix index 0b94c54870d1f..ead2d258c08ee 100644 --- a/pkgs/by-name/pd/pdfchain/package.nix +++ b/pkgs/by-name/pd/pdfchain/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, fetchDebianPatch -, autoconf, gtkmm3, glib, pdftk, pkg-config, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + fetchDebianPatch, + autoconf, + gtkmm3, + glib, + pdftk, + pkg-config, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -12,34 +21,44 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config wrapGAppsHook3 autoconf + pkg-config + wrapGAppsHook3 + autoconf ]; buildInputs = [ - gtkmm3 pdftk glib + gtkmm3 + pdftk + glib ]; - patches = let - fetchDebianPatch' = args: fetchDebianPatch ({ - inherit pname; - version = "1:0.4.4.2"; - debianRevision = "2"; - } // args); - in - [ - (fetchDebianPatch' { - patch = "fix_crash_on_startup"; - hash = "sha256-1UyMHHGrmUIFhY53ILdMMsyocSIbcV6CKQ7sLVNhNQw="; - }) - (fetchDebianPatch' { - patch = "fix_desktop_file"; - hash = "sha256-L6lhUs7GqVN1XOQO6bbz6BT29n4upsJtlHCAIGzk1Bw="; - }) - (fetchDebianPatch' { - patch = "fix_spelling"; - hash = "sha256-sOUUslPfcOo2K3zuaLcux+CNdgfWM0phsfe6g4GUFes="; - }) - ]; + patches = + let + fetchDebianPatch' = + args: + fetchDebianPatch ( + { + inherit pname; + version = "1:0.4.4.2"; + debianRevision = "2"; + } + // args + ); + in + [ + (fetchDebianPatch' { + patch = "fix_crash_on_startup"; + hash = "sha256-1UyMHHGrmUIFhY53ILdMMsyocSIbcV6CKQ7sLVNhNQw="; + }) + (fetchDebianPatch' { + patch = "fix_desktop_file"; + hash = "sha256-L6lhUs7GqVN1XOQO6bbz6BT29n4upsJtlHCAIGzk1Bw="; + }) + (fetchDebianPatch' { + patch = "fix_spelling"; + hash = "sha256-sOUUslPfcOo2K3zuaLcux+CNdgfWM0phsfe6g4GUFes="; + }) + ]; postPatch = '' substituteInPlace src/constant.h \ diff --git a/pkgs/by-name/pd/pdfcpu/package.nix b/pkgs/by-name/pd/pdfcpu/package.nix index 55525022162de..438d0a12e976c 100644 --- a/pkgs/by-name/pd/pdfcpu/package.nix +++ b/pkgs/by-name/pd/pdfcpu/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pdfcpu"; @@ -45,7 +49,6 @@ buildGoModule rec { ldflags+=" -X main.date=$(cat SOURCE_DATE)" ''; - # No tests doCheck = false; doInstallCheck = true; diff --git a/pkgs/by-name/pd/pdfcrack/package.nix b/pkgs/by-name/pd/pdfcrack/package.nix index ae863e1ec1f57..659d9f1e5fcb5 100644 --- a/pkgs/by-name/pd/pdfcrack/package.nix +++ b/pkgs/by-name/pd/pdfcrack/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pd/pdfdiff/package.nix b/pkgs/by-name/pd/pdfdiff/package.nix index c80396840e410..a24d180f6493a 100644 --- a/pkgs/by-name/pd/pdfdiff/package.nix +++ b/pkgs/by-name/pd/pdfdiff/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, xpdf +{ + lib, + fetchFromGitHub, + python3Packages, + xpdf, }: python3Packages.buildPythonApplication rec { @@ -25,13 +26,13 @@ python3Packages.buildPythonApplication rec { substituteInPlace pdfdiff.py \ --replace 'pdftotextProgram = "pdftotext"' 'pdftotextProgram = "${xpdf}/bin/pdftotext"' \ --replace 'progName = "pdfdiff.py"' 'progName = "pdfdiff"' - ''; + ''; installPhase = '' mkdir -p $out/bin cp pdfdiff.py $out/bin/pdfdiff chmod +x $out/bin/pdfdiff - ''; + ''; meta = with lib; { homepage = "https://github.com/cascremers/pdfdiff"; diff --git a/pkgs/by-name/pd/pdfgrep/package.nix b/pkgs/by-name/pd/pdfgrep/package.nix index a1e9ed91f990d..924fcd19d307b 100644 --- a/pkgs/by-name/pd/pdfgrep/package.nix +++ b/pkgs/by-name/pd/pdfgrep/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, poppler, libgcrypt, pcre2, asciidoc }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + poppler, + libgcrypt, + pcre2, + asciidoc, +}: stdenv.mkDerivation rec { pname = "pdfgrep"; @@ -19,14 +28,24 @@ stdenv.mkDerivation rec { "--with-libgcrypt-prefix=${lib.getDev libgcrypt}" ]; - nativeBuildInputs = [ pkg-config asciidoc ]; - buildInputs = [ poppler libgcrypt pcre2 ]; + nativeBuildInputs = [ + pkg-config + asciidoc + ]; + buildInputs = [ + poppler + libgcrypt + pcre2 + ]; meta = { description = "Commandline utility to search text in PDF files"; homepage = "https://pdfgrep.org/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ qknight fpletz ]; + maintainers = with lib.maintainers; [ + qknight + fpletz + ]; platforms = with lib.platforms; unix; mainProgram = "pdfgrep"; }; diff --git a/pkgs/by-name/pd/pdfid/package.nix b/pkgs/by-name/pd/pdfid/package.nix index 62e14fa9d2269..321f7ad9f076d 100644 --- a/pkgs/by-name/pd/pdfid/package.nix +++ b/pkgs/by-name/pd/pdfid/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchzip -, python3 -, python3Packages -, makeBinaryWrapper +{ + lib, + fetchzip, + python3, + python3Packages, + makeBinaryWrapper, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/pd/pdfmm/package.nix b/pkgs/by-name/pd/pdfmm/package.nix index 9f4f17f893c9b..718d6bde30658 100644 --- a/pkgs/by-name/pd/pdfmm/package.nix +++ b/pkgs/by-name/pd/pdfmm/package.nix @@ -1,12 +1,13 @@ -{ bash -, coreutils -, fetchFromGitHub -, ghostscript -, locale -, zenity -, gnused -, lib -, resholve +{ + bash, + coreutils, + fetchFromGitHub, + ghostscript, + locale, + zenity, + gnused, + lib, + resholve, }: resholve.mkDerivation rec { diff --git a/pkgs/by-name/pd/pdfposter/package.nix b/pkgs/by-name/pd/pdfposter/package.nix index ff7d97969e43a..f4f36d3291f76 100644 --- a/pkgs/by-name/pd/pdfposter/package.nix +++ b/pkgs/by-name/pd/pdfposter/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: let localPython = python3.override { self = localPython; @@ -17,7 +21,8 @@ let }; }; in -with localPython.pkgs; buildPythonApplication rec { +with localPython.pkgs; +buildPythonApplication rec { pname = "pdfposter"; version = "0.8.1"; format = "setuptools"; diff --git a/pkgs/by-name/pd/pdfrip/package.nix b/pkgs/by-name/pd/pdfrip/package.nix index 04ba06049976a..2a94a5510339f 100644 --- a/pkgs/by-name/pd/pdfrip/package.nix +++ b/pkgs/by-name/pd/pdfrip/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pd/pdfsandwich/package.nix b/pkgs/by-name/pd/pdfsandwich/package.nix index 8343e382c807b..4568767b200d0 100644 --- a/pkgs/by-name/pd/pdfsandwich/package.nix +++ b/pkgs/by-name/pd/pdfsandwich/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, ocaml, makeWrapper, fetchsvn, ghostscript, imagemagick, perl, poppler_utils, tesseract, unpaper }: +{ + lib, + stdenv, + ocaml, + makeWrapper, + fetchsvn, + ghostscript, + imagemagick, + perl, + poppler_utils, + tesseract, + unpaper, +}: stdenv.mkDerivation { version = "0.1.7"; @@ -12,17 +24,29 @@ stdenv.mkDerivation { strictDeps = true; - nativeBuildInputs = [ makeWrapper ocaml perl ]; + nativeBuildInputs = [ + makeWrapper + ocaml + perl + ]; installPhase = '' mkdir -p $out/bin cp -p pdfsandwich $out/bin - wrapProgram $out/bin/pdfsandwich --prefix PATH : ${lib.makeBinPath [ imagemagick ghostscript poppler_utils unpaper tesseract ]} + wrapProgram $out/bin/pdfsandwich --prefix PATH : ${ + lib.makeBinPath [ + imagemagick + ghostscript + poppler_utils + unpaper + tesseract + ] + } mkdir -p $out/man/man1 cp -p pdfsandwich.1.gz $out/man/man1 ''; -meta = with lib; { + meta = with lib; { description = "OCR tool for scanned PDFs"; homepage = "http://www.tobias-elze.de/pdfsandwich/"; license = licenses.gpl2Plus; diff --git a/pkgs/by-name/pd/pdfslicer/package.nix b/pkgs/by-name/pd/pdfslicer/package.nix index 9d91a89df147e..34e7c61d3642c 100644 --- a/pkgs/by-name/pd/pdfslicer/package.nix +++ b/pkgs/by-name/pd/pdfslicer/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gettext -, intltool -, pkg-config -, wrapGAppsHook3 -, gtkmm3 -, libuuid -, poppler -, qpdf +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gettext, + intltool, + pkg-config, + wrapGAppsHook3, + gtkmm3, + libuuid, + poppler, + qpdf, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pd/pdftag/package.nix b/pkgs/by-name/pd/pdftag/package.nix index d5efffd9f11ac..90400135bd689 100644 --- a/pkgs/by-name/pd/pdftag/package.nix +++ b/pkgs/by-name/pd/pdftag/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, meson, vala, ninja -, gtk3, poppler, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + vala, + ninja, + gtk3, + poppler, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "pdftag"; @@ -12,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "1paj8hs27akzsivn01a30fl3zx5gfn1h89wxg2m72fd806hk0hql"; }; - nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook3 vala ]; - buildInputs = [ gtk3 poppler ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + wrapGAppsHook3 + vala + ]; + buildInputs = [ + gtk3 + poppler + ]; meta = with lib; { description = "Edit metadata found in PDFs"; diff --git a/pkgs/by-name/pd/pdftk/package.nix b/pkgs/by-name/pd/pdftk/package.nix index 99f25a51877b7..025652d69b872 100644 --- a/pkgs/by-name/pd/pdftk/package.nix +++ b/pkgs/by-name/pd/pdftk/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, gradle_8, jre, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitLab, + gradle_8, + jre, + runtimeShell, +}: let # "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0." gradle = gradle_8; @@ -45,10 +52,13 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.com/pdftk-java/pdftk"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # deps + binaryBytecode # deps ]; license = licenses.gpl2Plus; - maintainers = with maintainers; [ raskin averelld ]; + maintainers = with maintainers; [ + raskin + averelld + ]; platforms = platforms.unix; mainProgram = "pdftk"; }; diff --git a/pkgs/by-name/pd/pdftoipe/package.nix b/pkgs/by-name/pd/pdftoipe/package.nix index 62734d4e610c5..70e3fc58f3d9f 100644 --- a/pkgs/by-name/pd/pdftoipe/package.nix +++ b/pkgs/by-name/pd/pdftoipe/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, poppler -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + poppler, + fetchpatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pd/pdk/gemset.nix b/pkgs/by-name/pd/pdk/gemset.nix index 77f06054e403c..8d53eaed9c386 100644 --- a/pkgs/by-name/pd/pdk/gemset.nix +++ b/pkgs/by-name/pd/pdk/gemset.nix @@ -1,248 +1,273 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; childprocess = { - dependencies = ["logger"]; - groups = ["default"]; - platforms = []; + dependencies = [ "logger" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v5nalaarxnfdm6rxb7q6fmc6nx097jd630ax6h9ch7xw95li3cs"; type = "gem"; }; version = "5.1.0"; }; cri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa"; type = "gem"; }; version = "2.15.12"; }; deep_merge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3"; type = "gem"; }; version = "1.2.2"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; hitimes = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ix9rp9rsrwin38z2aqiwpxc8p2dzl6m3ra47az47fsija1cb2qf"; type = "gem"; }; version = "2.0.0"; }; json-schema = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09bq393nrxa7hmphc3li8idgxdnb5hwgj15d0q5qsh4l5g1qvrnm"; type = "gem"; }; version = "4.3.1"; }; json_pure = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kn736pb52j8b9xxq6l8wqp2chs74aa14vfnp0rijjn086m8b4f3"; type = "gem"; }; version = "2.6.3"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; minitar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s"; type = "gem"; }; version = "0.12.1"; }; pastel = { - dependencies = ["tty-color"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-color" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8"; type = "gem"; }; version = "0.8.0"; }; pathspec = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08sxih7jrx07rczg3rpw7h9dawr43rxc68afhy498j8r816gzry4"; type = "gem"; }; version = "1.1.3"; }; pdk = { - dependencies = ["childprocess" "cri" "deep_merge" "diff-lcs" "ffi" "hitimes" "json-schema" "json_pure" "minitar" "pathspec" "puppet-modulebuilder" "tty-prompt" "tty-spinner" "tty-which"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "childprocess" + "cri" + "deep_merge" + "diff-lcs" + "ffi" + "hitimes" + "json-schema" + "json_pure" + "minitar" + "pathspec" + "puppet-modulebuilder" + "tty-prompt" + "tty-spinner" + "tty-which" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gildcnii3ayw585as8d8bqhnfb9diqg7n3vmgaz8c5b9wb8c106"; type = "gem"; }; version = "3.3.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puppet-modulebuilder = { - dependencies = ["minitar" "pathspec"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "minitar" + "pathspec" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rh31hq24nkddd83cx7n9ln5bsib3a052hrmn120sq0937337173"; type = "gem"; }; version = "1.1.0"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g"; type = "gem"; }; version = "0.6.0"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-prompt = { - dependencies = ["pastel" "tty-reader"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "pastel" + "tty-reader" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw"; type = "gem"; }; version = "0.23.1"; }; tty-reader = { - dependencies = ["tty-cursor" "tty-screen" "wisper"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "tty-cursor" + "tty-screen" + "wisper" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6"; type = "gem"; }; version = "0.9.0"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; version = "0.8.2"; }; tty-spinner = { - dependencies = ["tty-cursor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-cursor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf"; type = "gem"; }; version = "0.9.3"; }; tty-which = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rpljdwlfm4qgps2xvq6306w86fm057m89j4gizcji371mgha92q"; type = "gem"; }; version = "0.5.0"; }; wisper = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf"; type = "gem"; }; diff --git a/pkgs/by-name/pd/pdk/package.nix b/pkgs/by-name/pd/pdk/package.nix index 91bd27a53a442..e1e5b9c71b155 100644 --- a/pkgs/by-name/pd/pdk/package.nix +++ b/pkgs/by-name/pd/pdk/package.nix @@ -33,6 +33,9 @@ bundlerApp { homepage = "https://github.com/puppetlabs/pdk"; license = lib.licenses.asl20; mainProgram = "pdk"; - maintainers = with lib.maintainers; [ netali anthonyroussel ]; + maintainers = with lib.maintainers; [ + netali + anthonyroussel + ]; }; } diff --git a/pkgs/by-name/pd/pdns-recursor/package.nix b/pkgs/by-name/pd/pdns-recursor/package.nix index 8ac651f38b67c..fc4ed4524681f 100644 --- a/pkgs/by-name/pd/pdns-recursor/package.nix +++ b/pkgs/by-name/pd/pdns-recursor/package.nix @@ -1,9 +1,21 @@ -{ lib, stdenv, fetchurl, pkg-config, boost, nixosTests -, openssl, systemd, lua, luajit, protobuf -, libsodium -, curl -, rustPlatform, cargo, rustc -, enableProtoBuf ? false +{ + lib, + stdenv, + fetchurl, + pkg-config, + boost, + nixosTests, + openssl, + systemd, + lua, + luajit, + protobuf, + libsodium, + curl, + rustPlatform, + cargo, + rustc, + enableProtoBuf ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -31,8 +43,11 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; buildInputs = [ - boost openssl systemd - lua luajit + boost + openssl + systemd + lua + luajit libsodium curl ] ++ lib.optional enableProtoBuf protobuf; @@ -57,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.powerdns.com/"; platforms = platforms.linux; badPlatforms = [ - "i686-linux" # a 64-bit time_t is needed + "i686-linux" # a 64-bit time_t is needed ]; license = licenses.gpl2Only; maintainers = with maintainers; [ rnhmjoj ]; diff --git a/pkgs/by-name/pd/pdnsd/package.nix b/pkgs/by-name/pd/pdnsd/package.nix index 4a09295b79bf5..0a09453b3b386 100644 --- a/pkgs/by-name/pd/pdnsd/package.nix +++ b/pkgs/by-name/pd/pdnsd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "pdnsd"; @@ -11,12 +16,11 @@ stdenv.mkDerivation rec { patches = # fix build with linux headers >= 5.13 - lib.optional stdenv.hostPlatform.isLinux - (fetchpatch { - name = "fix-build-linux-headers-gte-5.13.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-dns/pdnsd/files/pdnsd-1.2.9a-linux-5.13_build_fix.patch?id=7ce35657f269c3b7016e8940ad36e59cf06e12a4"; - hash = "sha256-Sh/0ZyiQpDvFZOWE9OCQ9+ocXurjzJvrE4WNWaGwAwk="; - }); + lib.optional stdenv.hostPlatform.isLinux (fetchpatch { + name = "fix-build-linux-headers-gte-5.13.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-dns/pdnsd/files/pdnsd-1.2.9a-linux-5.13_build_fix.patch?id=7ce35657f269c3b7016e8940ad36e59cf06e12a4"; + hash = "sha256-Sh/0ZyiQpDvFZOWE9OCQ9+ocXurjzJvrE4WNWaGwAwk="; + }); postPatch = '' sed -i 's/.*(cachedir).*/:/' Makefile.in diff --git a/pkgs/by-name/pd/pdpmake/package.nix b/pkgs/by-name/pd/pdpmake/package.nix index dcb9794dedec0..58e391d071c98 100644 --- a/pkgs/by-name/pd/pdpmake/package.nix +++ b/pkgs/by-name/pd/pdpmake/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pdpmake"; version = "2.0.1"; diff --git a/pkgs/by-name/pe/pe-parse/package.nix b/pkgs/by-name/pe/pe-parse/package.nix index 1a3a602d55278..e259b51aa564f 100644 --- a/pkgs/by-name/pe/pe-parse/package.nix +++ b/pkgs/by-name/pe/pe-parse/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "pe-parse"; @@ -13,9 +18,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=deprecated-declarations" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=deprecated-declarations" + ] + ); doInstallCheck = true; installCheckPhase = '' diff --git a/pkgs/by-name/pe/peazip/package.nix b/pkgs/by-name/pe/peazip/package.nix index 57718c2e41104..ed6ecc48e2bb6 100644 --- a/pkgs/by-name/pe/peazip/package.nix +++ b/pkgs/by-name/pe/peazip/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, libsForQt5 -, fpc -, lazarus -, xorg -, libqt5pas -, runCommand -, _7zz -, archiver -, brotli -, upx -, zpaq -, zstd +{ + stdenv, + lib, + fetchFromGitHub, + libsForQt5, + fpc, + lazarus, + xorg, + libqt5pas, + runCommand, + _7zz, + archiver, + brotli, + upx, + zpaq, + zstd, }: stdenv.mkDerivation rec { @@ -56,7 +57,7 @@ stdenv.mkDerivation rec { ''; # peazip looks for the "7z", not "7zz" - _7z = runCommand "7z" {} '' + _7z = runCommand "7z" { } '' mkdir -p $out/bin ln -s ${_7zz}/bin/7zz $out/bin/7z ''; @@ -65,14 +66,16 @@ stdenv.mkDerivation rec { runHook preInstall install -D dev/{pea,peazip} -t $out/lib/peazip - wrapProgram $out/lib/peazip/peazip --prefix PATH : ${lib.makeBinPath [ - _7z - archiver - brotli - upx - zpaq - zstd - ]} + wrapProgram $out/lib/peazip/peazip --prefix PATH : ${ + lib.makeBinPath [ + _7z + archiver + brotli + upx + zpaq + zstd + ] + } mkdir -p $out/bin ln -s $out/lib/peazip/{pea,peazip} $out/bin/ diff --git a/pkgs/by-name/pe/pebble/package.nix b/pkgs/by-name/pe/pebble/package.nix index 6820431808ff9..b634fd0f400c9 100644 --- a/pkgs/by-name/pe/pebble/package.nix +++ b/pkgs/by-name/pe/pebble/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -18,7 +19,8 @@ buildGoModule rec { vendorHash = null; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.version=${version}" ]; diff --git a/pkgs/by-name/pe/pecita/package.nix b/pkgs/by-name/pe/pecita/package.nix index 568363889ff23..1fbfbe3542fbc 100644 --- a/pkgs/by-name/pe/pecita/package.nix +++ b/pkgs/by-name/pe/pecita/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation { pname = "pecita"; diff --git a/pkgs/by-name/pe/peco/package.nix b/pkgs/by-name/pe/peco/package.nix index 774b2f5a0d1e8..0c794fb719ae0 100644 --- a/pkgs/by-name/pe/peco/package.nix +++ b/pkgs/by-name/pe/peco/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "peco"; diff --git a/pkgs/by-name/pe/peek/package.nix b/pkgs/by-name/pe/peek/package.nix index a2817d10edcaa..54921269b88eb 100644 --- a/pkgs/by-name/pe/peek/package.nix +++ b/pkgs/by-name/pe/peek/package.nix @@ -1,28 +1,29 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, nix-update-script -, meson -, ninja -, gettext -, desktop-file-utils -, appstream-glib -, pkg-config -, txt2man -, vala -, wrapGAppsHook3 -, gsettings-desktop-schemas -, gtk3 -, glib -, cairo -, keybinder3 -, ffmpeg-full -, python3 -, libxml2 -, gst_all_1 -, which -, gifski +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + nix-update-script, + meson, + ninja, + gettext, + desktop-file-utils, + appstream-glib, + pkg-config, + txt2man, + vala, + wrapGAppsHook3, + gsettings-desktop-schemas, + gtk3, + glib, + cairo, + keybinder3, + ffmpeg-full, + python3, + libxml2, + gst_all_1, + which, + gifski, }: stdenv.mkDerivation rec { @@ -75,14 +76,19 @@ stdenv.mkDerivation rec { ''; preFixup = '' - gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ which ffmpeg-full gifski ]}) + gappsWrapperArgs+=(--prefix PATH : ${ + lib.makeBinPath [ + which + ffmpeg-full + gifski + ] + }) ''; passthru = { updateScript = nix-update-script { }; }; - meta = with lib; { homepage = "https://github.com/phw/peek"; description = "Simple animated GIF screen recorder with an easy to use interface"; diff --git a/pkgs/by-name/pe/peep/package.nix b/pkgs/by-name/pe/peep/package.nix index 071bab99ae921..4287847d56e37 100644 --- a/pkgs/by-name/pe/peep/package.nix +++ b/pkgs/by-name/pe/peep/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "peep"; diff --git a/pkgs/by-name/pe/peering-manager/package.nix b/pkgs/by-name/pe/peering-manager/package.nix index eb941b85853e6..c5eb8bffc42ab 100644 --- a/pkgs/by-name/pe/peering-manager/package.nix +++ b/pkgs/by-name/pe/peering-manager/package.nix @@ -1,9 +1,10 @@ -{ python3 -, fetchFromGitHub -, nixosTests -, lib +{ + python3, + fetchFromGitHub, + nixosTests, + lib, -, plugins ? ps: [] + plugins ? ps: [ ], }: python3.pkgs.buildPythonApplication rec { @@ -25,30 +26,33 @@ python3.pkgs.buildPythonApplication rec { ./fix-pyixapi-0.2.3-compatibility.patch ]; - propagatedBuildInputs = with python3.pkgs; [ - django - djangorestframework - django-redis - django-debug-toolbar - django-filter - django-postgresql-netfields - django-prometheus - django-rq - django-tables2 - django-taggit - drf-spectacular - drf-spectacular-sidecar - jinja2 - markdown - napalm - packaging - psycopg2 - pyixapi - pynetbox - pyyaml - requests - tzdata - ] ++ plugins python3.pkgs; + propagatedBuildInputs = + with python3.pkgs; + [ + django + djangorestframework + django-redis + django-debug-toolbar + django-filter + django-postgresql-netfields + django-prometheus + django-rq + django-tables2 + django-taggit + drf-spectacular + drf-spectacular-sidecar + jinja2 + markdown + napalm + packaging + psycopg2 + pyixapi + pynetbox + pyyaml + requests + tzdata + ] + ++ plugins python3.pkgs; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/pe/peg/package.nix b/pkgs/by-name/pe/peg/package.nix index 988c3d461f85b..924cb4019280f 100644 --- a/pkgs/by-name/pe/peg/package.nix +++ b/pkgs/by-name/pe/peg/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "peg"; @@ -14,7 +18,7 @@ stdenv.mkDerivation rec { --replace-fail "strip" '$(STRIP)' ''; - preBuild="makeFlagsArray+=( PREFIX=$out )"; + preBuild = "makeFlagsArray+=( PREFIX=$out )"; meta = with lib; { homepage = "http://piumarta.com/software/peg/"; diff --git a/pkgs/by-name/pe/pekwm/package.nix b/pkgs/by-name/pe/pekwm/package.nix index d657141d7a4e5..270c2d41934ab 100644 --- a/pkgs/by-name/pe/pekwm/package.nix +++ b/pkgs/by-name/pe/pekwm/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, awk -, cmake -, grep -, libXext -, libXft -, libXinerama -, libXpm -, libXrandr -, libjpeg -, libpng -, pkg-config -, runtimeShell -, sed +{ + lib, + stdenv, + fetchFromGitHub, + awk, + cmake, + grep, + libXext, + libXft, + libXinerama, + libXpm, + libXrandr, + libjpeg, + libpng, + pkg-config, + runtimeShell, + sed, }: stdenv.mkDerivation (finalAttrs: { @@ -24,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "pekdon"; repo = "pekwm"; rev = "release-${finalAttrs.version}"; - hash= "sha256-l43xxCowSEBQjwg7hjpBwybFB12ESOep6hqdzSsD3YI="; + hash = "sha256-l43xxCowSEBQjwg7hjpBwybFB12ESOep6hqdzSsD3YI="; }; nativeBuildInputs = [ @@ -42,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { libpng ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/pe/pell/package.nix b/pkgs/by-name/pe/pell/package.nix index 55b5dd3d37108..b244dc8d671ae 100644 --- a/pkgs/by-name/pe/pell/package.nix +++ b/pkgs/by-name/pe/pell/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, scsh, sox, libnotify }: +{ + lib, + stdenv, + fetchFromGitHub, + scsh, + sox, + libnotify, +}: stdenv.mkDerivation rec { pname = "pell"; diff --git a/pkgs/by-name/pe/penna/package.nix b/pkgs/by-name/pe/penna/package.nix index 245078de724dd..b6f433534774c 100644 --- a/pkgs/by-name/pe/penna/package.nix +++ b/pkgs/by-name/pe/penna/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -26,12 +30,15 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/penna/"; description = "Geometric sans serif designed by Sora Sagano"; longDescription = '' - Penna is a geometric sans serif designed by Sora Sagano, - with outsized counters in the uppercase and a lowercase - with a small x-height. + Penna is a geometric sans serif designed by Sora Sagano, + with outsized counters in the uppercase and a lowercase + with a small x-height. ''; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.cc0; }; } diff --git a/pkgs/by-name/pe/pentestgpt/package.nix b/pkgs/by-name/pe/pentestgpt/package.nix index 328ba0ca9a8f9..78f00e61c44d9 100644 --- a/pkgs/by-name/pe/pentestgpt/package.nix +++ b/pkgs/by-name/pe/pentestgpt/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pe/perccli/package.nix b/pkgs/by-name/pe/perccli/package.nix index eacc0c26de331..0f9ad28e5dfe3 100644 --- a/pkgs/by-name/pe/perccli/package.nix +++ b/pkgs/by-name/pe/perccli/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchzip -, rpmextract +{ + lib, + stdenvNoCC, + fetchzip, + rpmextract, }: stdenvNoCC.mkDerivation rec { @@ -17,7 +18,10 @@ stdenvNoCC.mkDerivation rec { # Dell seems to block "uncommon" user-agents, such as Nixpkgs's custom one. # 403 otherwise - curlOptsList = [ "--user-agent" "Mozilla/5.0" ]; + curlOptsList = [ + "--user-agent" + "Mozilla/5.0" + ]; }; nativeBuildInputs = [ rpmextract ]; @@ -30,15 +34,17 @@ stdenvNoCC.mkDerivation rec { dontConfigure = true; dontBuild = true; - installPhase = let - inherit (stdenvNoCC.hostPlatform) system; - platforms = { - x86_64-linux = '' - install -D ./opt/MegaRAID/perccli/perccli64 $out/bin/perccli64 - ln -s perccli64 $out/bin/perccli - ''; - }; - in platforms.${system} or (throw "unsupported system: ${system}"); + installPhase = + let + inherit (stdenvNoCC.hostPlatform) system; + platforms = { + x86_64-linux = '' + install -D ./opt/MegaRAID/perccli/perccli64 $out/bin/perccli64 + ln -s perccli64 $out/bin/perccli + ''; + }; + in + platforms.${system} or (throw "unsupported system: ${system}"); # Not needed because the binary is statically linked dontFixup = true; diff --git a/pkgs/by-name/pe/perceptualdiff/package.nix b/pkgs/by-name/pe/perceptualdiff/package.nix index 1c8f99e88e9ab..397451a085d8a 100644 --- a/pkgs/by-name/pe/perceptualdiff/package.nix +++ b/pkgs/by-name/pe/perceptualdiff/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, freeimage }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + freeimage, +}: stdenv.mkDerivation rec { pname = "perceptualdiff"; diff --git a/pkgs/by-name/pe/percollate/package.nix b/pkgs/by-name/pe/percollate/package.nix index 1b9923acc39c8..174e4de6d5ee4 100644 --- a/pkgs/by-name/pe/percollate/package.nix +++ b/pkgs/by-name/pe/percollate/package.nix @@ -1,4 +1,10 @@ -{ lib, buildNpmPackage, fetchFromGitHub, chromium, makeWrapper }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + chromium, + makeWrapper, +}: buildNpmPackage rec { pname = "percollate"; diff --git a/pkgs/by-name/pe/perf-tools/package.nix b/pkgs/by-name/pe/perf-tools/package.nix index c4b8cceb58552..12c62f70e5c95 100644 --- a/pkgs/by-name/pe/perf-tools/package.nix +++ b/pkgs/by-name/pe/perf-tools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation { pname = "perf-tools"; @@ -13,27 +18,25 @@ stdenv.mkDerivation { buildInputs = [ perl ]; - patchPhase = - '' - for i in execsnoop iolatency iosnoop kernel/funcslower killsnoop opensnoop; do - substituteInPlace $i \ - --replace /usr/bin/gawk "$(type -p gawk)" \ - --replace /usr/bin/mawk /no-such-path \ - --replace /usr/bin/getconf "$(type -p getconf)" \ - --replace awk=awk "awk=$(type -p gawk)" - done + patchPhase = '' + for i in execsnoop iolatency iosnoop kernel/funcslower killsnoop opensnoop; do + substituteInPlace $i \ + --replace /usr/bin/gawk "$(type -p gawk)" \ + --replace /usr/bin/mawk /no-such-path \ + --replace /usr/bin/getconf "$(type -p getconf)" \ + --replace awk=awk "awk=$(type -p gawk)" + done - rm -rf examples deprecated - ''; + rm -rf examples deprecated + ''; - installPhase = - '' - d=$out/libexec/perf-tools - mkdir -p $d $out/share - cp -prvd . $d/ - ln -s $d/bin $out/bin - mv $d/man $out/share/ - ''; + installPhase = '' + d=$out/libexec/perf-tools + mkdir -p $d $out/share + cp -prvd . $d/ + ln -s $d/bin $out/bin + mv $d/man $out/share/ + ''; meta = with lib; { platforms = platforms.linux; diff --git a/pkgs/by-name/pe/perfect-hash/package.nix b/pkgs/by-name/pe/perfect-hash/package.nix index 124758e571e9a..b9466c7701040 100644 --- a/pkgs/by-name/pe/perfect-hash/package.nix +++ b/pkgs/by-name/pe/perfect-hash/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication rec { pname = "perfect-hash"; version = "0.4.1"; diff --git a/pkgs/by-name/pe/perl-debug-adapter/package.nix b/pkgs/by-name/pe/perl-debug-adapter/package.nix index 85deced748f6d..7ad7d2a006e62 100644 --- a/pkgs/by-name/pe/perl-debug-adapter/package.nix +++ b/pkgs/by-name/pe/perl-debug-adapter/package.nix @@ -1,16 +1,22 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, perl -# Needed if you want to use it for a perl script with dependencies. -, extraPerlPackages ? [] +{ + lib, + buildNpmPackage, + fetchFromGitHub, + perl, + # Needed if you want to use it for a perl script with dependencies. + extraPerlPackages ? [ ], }: let - perlInterpreter = perl.withPackages(ps: [ - ps.PadWalker - ] ++ extraPerlPackages); -in buildNpmPackage rec { + perlInterpreter = perl.withPackages ( + ps: + [ + ps.PadWalker + ] + ++ extraPerlPackages + ); +in +buildNpmPackage rec { pname = "perl-debug-adapter"; version = "1.0.6"; @@ -26,7 +32,10 @@ in buildNpmPackage rec { npmBuildScript = "compile"; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ perlInterpreter ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ perlInterpreter ]) ]; passthru = { inherit perlInterpreter; diff --git a/pkgs/by-name/pe/perlnavigator/package.nix b/pkgs/by-name/pe/perlnavigator/package.nix index a7d243888587c..34f216ad4daa1 100644 --- a/pkgs/by-name/pe/perlnavigator/package.nix +++ b/pkgs/by-name/pe/perlnavigator/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: let @@ -41,7 +42,8 @@ let cp -r . "$out" ''; }; -in buildNpmPackage rec { +in +buildNpmPackage rec { pname = "perlnavigator"; inherit version src; diff --git a/pkgs/by-name/pe/peroxide/package.nix b/pkgs/by-name/pe/peroxide/package.nix index 1275329bcf656..b3cae30ade3f8 100644 --- a/pkgs/by-name/pe/peroxide/package.nix +++ b/pkgs/by-name/pe/peroxide/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGo122Module -, fetchFromGitHub -, nixosTests +{ + lib, + buildGo122Module, + fetchFromGitHub, + nixosTests, }: buildGo122Module rec { diff --git a/pkgs/by-name/pe/perseus/package.nix b/pkgs/by-name/pe/perseus/package.nix index 63836b7dc76ec..4b39d2e913954 100644 --- a/pkgs/by-name/pe/perseus/package.nix +++ b/pkgs/by-name/pe/perseus/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { pname = "perseus"; diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix index b6acb32dda6c2..e1d7bb70efa42 100644 --- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, boost -, cmake -, doxygen -, gtest -, leveldb -, lomiri -, pkg-config -, python3 -, validatePkgConfig +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + boost, + cmake, + doxygen, + gtest, + leveldb, + lomiri, + pkg-config, + python3, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -51,20 +52,22 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - postPatch = '' - # Wrong concatenation - substituteInPlace data/libpersistent-cache-cpp.pc.in \ - --replace "\''${prefix}/@CMAKE_INSTALL_LIBDIR@" "\''${prefix}/lib" - - # Runs in parallel to other tests, limit to 1 thread - substituteInPlace tests/headers/compile_headers.py \ - --replace 'multiprocessing.cpu_count()' '1' - - sed '1i#include ' \ - -i tests/core/persistent_string_cache/speed_test.cpp - '' + lib.optionalString finalAttrs.finalPackage.doCheck '' - patchShebangs tests/{headers,whitespace}/*.py - ''; + postPatch = + '' + # Wrong concatenation + substituteInPlace data/libpersistent-cache-cpp.pc.in \ + --replace "\''${prefix}/@CMAKE_INSTALL_LIBDIR@" "\''${prefix}/lib" + + # Runs in parallel to other tests, limit to 1 thread + substituteInPlace tests/headers/compile_headers.py \ + --replace 'multiprocessing.cpu_count()' '1' + + sed '1i#include ' \ + -i tests/core/persistent_string_cache/speed_test.cpp + '' + + lib.optionalString finalAttrs.finalPackage.doCheck '' + patchShebangs tests/{headers,whitespace}/*.py + ''; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/pe/peru/package.nix b/pkgs/by-name/pe/peru/package.nix index ff3f96a7fac2b..67e9b0a0688f2 100644 --- a/pkgs/by-name/pe/peru/package.nix +++ b/pkgs/by-name/pe/peru/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "peru"; @@ -13,7 +17,10 @@ python3Packages.buildPythonApplication rec { sha256 = "0p4j51m89glx12cd65lcnbwpvin0v49wkhrx06755skr7v37pm2a"; }; - propagatedBuildInputs = with python3Packages; [ pyyaml docopt ]; + propagatedBuildInputs = with python3Packages; [ + pyyaml + docopt + ]; # No tests in archive doCheck = false; diff --git a/pkgs/by-name/pe/pesign/package.nix b/pkgs/by-name/pe/pesign/package.nix index a4bc4519d118a..a29bee3ba2b6d 100644 --- a/pkgs/by-name/pe/pesign/package.nix +++ b/pkgs/by-name/pe/pesign/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, nss -, efivar -, util-linux -, popt -, nspr -, mandoc +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + nss, + efivar, + util-linux, + popt, + nspr, + mandoc, }: stdenv.mkDerivation rec { @@ -27,7 +28,14 @@ stdenv.mkDerivation rec { # containing things we already have in `nss`. # We can ignore all the errors pertaining to a missing # nss-util.pc I suppose. - buildInputs = [ efivar util-linux nss popt nspr mandoc ]; + buildInputs = [ + efivar + util-linux + nss + popt + nspr + mandoc + ]; nativeBuildInputs = [ pkg-config ]; makeFlags = [ "INSTALLROOT=$(out)" ]; diff --git a/pkgs/by-name/pe/pest-ide-tools/package.nix b/pkgs/by-name/pe/pest-ide-tools/package.nix index 4e0fdaebdb33e..8856bd46bb9d2 100644 --- a/pkgs/by-name/pe/pest-ide-tools/package.nix +++ b/pkgs/by-name/pe/pest-ide-tools/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, nix-update-script -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + nix-update-script, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pe/pest/package.nix b/pkgs/by-name/pe/pest/package.nix index 1951b9d6dfbfb..5267f577d1708 100644 --- a/pkgs/by-name/pe/pest/package.nix +++ b/pkgs/by-name/pe/pest/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, php }: +{ + lib, + fetchFromGitHub, + php, +}: php.buildComposerProject2 (finalAttrs: { pname = "pest"; diff --git a/pkgs/by-name/pe/pet/package.nix b/pkgs/by-name/pe/pet/package.nix index f48604a3b1183..7fcdf452617cc 100644 --- a/pkgs/by-name/pe/pet/package.nix +++ b/pkgs/by-name/pe/pet/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, installShellFiles, lib }: +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, +}: buildGoModule rec { pname = "pet"; @@ -14,7 +19,9 @@ buildGoModule rec { vendorHash = "sha256-VGhkhpqYJZZLCUMOE0eYBOICeFhRjgSXCGGUEYLDoQo="; ldflags = [ - "-s" "-w" "-X=github.com/knqyf263/pet/cmd.version=${version}" + "-s" + "-w" + "-X=github.com/knqyf263/pet/cmd.version=${version}" ]; doCheck = false; diff --git a/pkgs/by-name/pe/petidomo/package.nix b/pkgs/by-name/pe/petidomo/package.nix index d879d3233a3b2..20b70daea8269 100644 --- a/pkgs/by-name/pe/petidomo/package.nix +++ b/pkgs/by-name/pe/petidomo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, flex, bison, sendmailPath ? "/run/wrappers/bin/sendmail" }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + sendmailPath ? "/run/wrappers/bin/sendmail", +}: stdenv.mkDerivation rec { pname = "petidomo"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "0x4dbxc4fcfg1rw5ywpcypvylnzn3y4rh0m6fz4h4cdnzb8p1lvm"; }; - buildInputs = [ flex bison ]; + buildInputs = [ + flex + bison + ]; configureFlags = [ "--with-mta=${sendmailPath}" ]; diff --git a/pkgs/by-name/pe/pev/package.nix b/pkgs/by-name/pe/pev/package.nix index 56b72c24c421e..5e9defe2cc650 100644 --- a/pkgs/by-name/pe/pev/package.nix +++ b/pkgs/by-name/pe/pev/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, openssl, fetchFromGitHub }: +{ + lib, + stdenv, + openssl, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "pev"; diff --git a/pkgs/by-name/pe/pew/package.nix b/pkgs/by-name/pe/pew/package.nix index adcfc0efd4c73..dee493ac1a3c6 100644 --- a/pkgs/by-name/pe/pew/package.nix +++ b/pkgs/by-name/pe/pew/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: with python3.pkgs; @@ -11,7 +15,11 @@ buildPythonApplication rec { sha256 = "04anak82p4v9w0lgfs55s7diywxil6amq8c8bhli143ca8l2fcdq"; }; - propagatedBuildInputs = [ virtualenv virtualenv-clone setuptools ]; + propagatedBuildInputs = [ + virtualenv + virtualenv-clone + setuptools + ]; # no tests are packaged checkPhase = '' diff --git a/pkgs/by-name/pf/pferd/package.nix b/pkgs/by-name/pf/pferd/package.nix index dc06ea3b3a32a..14be2ae7ecc04 100644 --- a/pkgs/by-name/pf/pferd/package.nix +++ b/pkgs/by-name/pf/pferd/package.nix @@ -31,7 +31,7 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/Garmelon/PFERD"; description = "Tool for downloading course-related files from ILIAS"; license = licenses.mit; - maintainers = with maintainers; [_0xbe7a]; + maintainers = with maintainers; [ _0xbe7a ]; mainProgram = "pferd"; }; } diff --git a/pkgs/by-name/pf/pfetch-rs/package.nix b/pkgs/by-name/pf/pfetch-rs/package.nix index f86b71f72c7bd..17f656c910c72 100644 --- a/pkgs/by-name/pf/pfetch-rs/package.nix +++ b/pkgs/by-name/pf/pfetch-rs/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "pfetch-rs"; @@ -18,7 +24,6 @@ rustPlatform.buildRustPackage rec { darwin.apple_sdk.frameworks.DisplayServices ]; - meta = with lib; { description = "Rewrite of the pfetch system information tool in Rust"; homepage = "https://github.com/Gobidev/pfetch-rs"; diff --git a/pkgs/by-name/pf/pfetch/package.nix b/pkgs/by-name/pf/pfetch/package.nix index 732f680028897..3dbb2865ce429 100644 --- a/pkgs/by-name/pf/pfetch/package.nix +++ b/pkgs/by-name/pf/pfetch/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "pfetch"; diff --git a/pkgs/by-name/pf/pffft/package.nix b/pkgs/by-name/pf/pffft/package.nix index b68b6d486823f..07cca51f09a18 100644 --- a/pkgs/by-name/pf/pffft/package.nix +++ b/pkgs/by-name/pf/pffft/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "pffft"; diff --git a/pkgs/by-name/pf/pfft/package.nix b/pkgs/by-name/pf/pfft/package.nix index 7e91b7d288966..356c00ab84c03 100644 --- a/pkgs/by-name/pf/pfft/package.nix +++ b/pkgs/by-name/pf/pfft/package.nix @@ -1,14 +1,19 @@ -{ autoreconfHook -, fetchFromGitHub -, fftwMpi -, lib -, llvmPackages -, mpi -, precision ? "double" -, stdenv +{ + autoreconfHook, + fetchFromGitHub, + fftwMpi, + lib, + llvmPackages, + mpi, + precision ? "double", + stdenv, }: -assert lib.elem precision [ "single" "double" "long-double" ]; +assert lib.elem precision [ + "single" + "double" + "long-double" +]; let fftw' = fftwMpi.override { inherit precision; }; @@ -24,7 +29,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-T5nPlkPKjYYRCuT1tSzXNJTPs/o6zwJMv9lPCWOwabw="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ autoreconfHook ]; @@ -38,7 +46,10 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = lib.optional stdenv.cc.isClang llvmPackages.openmp; - propagatedBuildInputs = [ fftw' mpi ]; + propagatedBuildInputs = [ + fftw' + mpi + ]; doCheck = true; diff --git a/pkgs/by-name/pf/pforth/package.nix b/pkgs/by-name/pf/pforth/package.nix index 91efc25fc1e0b..4c7766cc96432 100644 --- a/pkgs/by-name/pf/pforth/package.nix +++ b/pkgs/by-name/pf/pforth/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -43,7 +44,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "pforth"; changelog = "https://github.com/philburk/pforth/blob/v${finalAttrs.version}/RELEASES.md"; license = lib.licenses.bsd0; - maintainers = with lib.maintainers; [ AndersonTorres yrashk ]; + maintainers = with lib.maintainers; [ + AndersonTorres + yrashk + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/pf/pfsshell/package.nix b/pkgs/by-name/pf/pfsshell/package.nix index 24eb379adf5cd..5ebe0684e3c89 100644 --- a/pkgs/by-name/pf/pfsshell/package.nix +++ b/pkgs/by-name/pf/pfsshell/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, +}: stdenv.mkDerivation rec { version = "1.1.1"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "0cr91al3knsbfim75rzl7rxdsglcc144x0nizn7q4jx5cad3zbn8"; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; # Build errors since 1.1.1 when format hardening is enabled: # cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security] @@ -23,7 +32,7 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = with licenses; [ gpl2Only # the pfsshell software itself - afl20 # APA, PFS, and iomanX libraries which are compiled together with this package + afl20 # APA, PFS, and iomanX libraries which are compiled together with this package ]; maintainers = with maintainers; [ makefu ]; mainProgram = "pfsshell"; diff --git a/pkgs/by-name/pg/pg-dump-anon/package.nix b/pkgs/by-name/pg/pg-dump-anon/package.nix index a097eb8aa9c71..a7771fcf523ec 100644 --- a/pkgs/by-name/pg/pg-dump-anon/package.nix +++ b/pkgs/by-name/pg/pg-dump-anon/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitLab, buildGoModule, nixosTests, postgresql_17, makeWrapper }: +{ + lib, + fetchFromGitLab, + buildGoModule, + nixosTests, + postgresql_17, + makeWrapper, +}: buildGoModule rec { pname = "pg-dump-anon"; diff --git a/pkgs/by-name/pg/pg_activity/package.nix b/pkgs/by-name/pg/pg_activity/package.nix index ccb4444c01c96..39e94712f313b 100644 --- a/pkgs/by-name/pg/pg_activity/package.nix +++ b/pkgs/by-name/pg/pg_activity/package.nix @@ -1,4 +1,8 @@ -{ python3Packages, fetchFromGitHub, lib }: +{ + python3Packages, + fetchFromGitHub, + lib, +}: python3Packages.buildPythonApplication rec { pname = "pg_activity"; diff --git a/pkgs/by-name/pg/pg_checksums/package.nix b/pkgs/by-name/pg/pg_checksums/package.nix index b65299cf1a506..e01a56206c1c7 100644 --- a/pkgs/by-name/pg/pg_checksums/package.nix +++ b/pkgs/by-name/pg/pg_checksums/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libxslt, docbook_xsl, postgresql }: +{ + lib, + stdenv, + fetchFromGitHub, + libxslt, + docbook_xsl, + postgresql, +}: stdenv.mkDerivation rec { pname = "pg_checksums"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { buildInputs = [ postgresql ]; - buildFlags = [ "all" "man" ]; + buildFlags = [ + "all" + "man" + ]; preConfigure = '' substituteInPlace doc/stylesheet-man.xsl \ diff --git a/pkgs/by-name/pg/pg_featureserv/package.nix b/pkgs/by-name/pg/pg_featureserv/package.nix index df7bba48abe63..6774bfda4e21a 100644 --- a/pkgs/by-name/pg/pg_featureserv/package.nix +++ b/pkgs/by-name/pg/pg_featureserv/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "pg_featureserv"; @@ -25,7 +29,11 @@ buildGoModule rec { --replace-fail "AssetsPath = \"./assets\"" "AssetsPath = \"$out/share/assets\"" ''; - ldflags = [ "-s" "-w" "-X github.com/CrunchyData/pg_featureserv/conf.setVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/CrunchyData/pg_featureserv/conf.setVersion=${version}" + ]; postInstall = '' mkdir -p $out/share diff --git a/pkgs/by-name/pg/pg_flame/package.nix b/pkgs/by-name/pg/pg_flame/package.nix index da9cc6c77d591..35f860063d1ab 100644 --- a/pkgs/by-name/pg/pg_flame/package.nix +++ b/pkgs/by-name/pg/pg_flame/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pg_flame"; diff --git a/pkgs/by-name/pg/pg_tileserv/package.nix b/pkgs/by-name/pg/pg_tileserv/package.nix index 94f633fcaf055..96d5f6eb5caa3 100644 --- a/pkgs/by-name/pg/pg_tileserv/package.nix +++ b/pkgs/by-name/pg/pg_tileserv/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "pg_tileserv"; @@ -25,7 +29,11 @@ buildGoModule rec { --replace-fail "# AssetsPath = \"/usr/share/pg_tileserv/assets\"" "AssetsPath = \"$out/share/assets\"" ''; - ldflags = [ "-s" "-w" "-X main.programVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.programVersion=${version}" + ]; postInstall = '' mkdir -p $out/share diff --git a/pkgs/by-name/pg/pgagroal/package.nix b/pkgs/by-name/pg/pgagroal/package.nix index 2b89773af833d..4ec8d31a2e986 100644 --- a/pkgs/by-name/pg/pgagroal/package.nix +++ b/pkgs/by-name/pg/pgagroal/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cjson, cmake, docutils, libev, openssl, systemd }: +{ + lib, + stdenv, + fetchFromGitHub, + cjson, + cmake, + docutils, + libev, + openssl, + systemd, +}: stdenv.mkDerivation (finalAttrs: { pname = "pgagroal"; @@ -13,10 +23,16 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./do-not-search-libatomic.patch ]; - nativeBuildInputs = [ cmake docutils ]; + nativeBuildInputs = [ + cmake + docutils + ]; - buildInputs = [ cjson libev openssl ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ systemd ]; + buildInputs = [ + cjson + libev + openssl + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ systemd ]; meta = with lib; { description = "High-performance connection pool for PostgreSQL"; diff --git a/pkgs/by-name/pg/pgbackrest/package.nix b/pkgs/by-name/pg/pgbackrest/package.nix index 78fa48fde463b..e67e38c598d5a 100644 --- a/pkgs/by-name/pg/pgbackrest/package.nix +++ b/pkgs/by-name/pg/pgbackrest/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, python3 -, pkg-config -, libbacktrace -, bzip2 -, lz4 -, postgresql -, libxml2 -, libyaml -, zlib -, libssh2 -, zstd +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + python3, + pkg-config, + libbacktrace, + bzip2, + lz4, + postgresql, + libxml2, + libyaml, + zlib, + libssh2, + zstd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pg/pgbouncer/package.nix b/pkgs/by-name/pg/pgbouncer/package.nix index dfffa518a5fd6..b3ee07147c84b 100644 --- a/pkgs/by-name/pg/pgbouncer/package.nix +++ b/pkgs/by-name/pg/pgbouncer/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, openssl, libevent, c-ares, pkg-config, systemd, nixosTests }: +{ + lib, + stdenv, + fetchurl, + openssl, + libevent, + c-ares, + pkg-config, + systemd, + nixosTests, +}: stdenv.mkDerivation rec { pname = "pgbouncer"; @@ -10,8 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libevent openssl c-ares ] - ++ lib.optional stdenv.hostPlatform.isLinux systemd; + buildInputs = [ + libevent + openssl + c-ares + ] ++ lib.optional stdenv.hostPlatform.isLinux systemd; enableParallelBuilding = true; configureFlags = lib.optional stdenv.hostPlatform.isLinux "--with-systemd"; @@ -23,7 +36,9 @@ stdenv.mkDerivation rec { homepage = "https://www.pgbouncer.org/"; mainProgram = "pgbouncer"; description = "Lightweight connection pooler for PostgreSQL"; - changelog = "https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_${replaceStrings ["."] ["_"] version}"; + changelog = "https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_${ + replaceStrings [ "." ] [ "_" ] version + }"; license = licenses.isc; maintainers = with maintainers; [ _1000101 ]; platforms = platforms.all; diff --git a/pkgs/by-name/pg/pgcenter/package.nix b/pkgs/by-name/pg/pgcenter/package.nix index 0b3dde03b4c6f..41025c33af031 100644 --- a/pkgs/by-name/pg/pgcenter/package.nix +++ b/pkgs/by-name/pg/pgcenter/package.nix @@ -1,13 +1,17 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pgcenter"; version = "0.9.2"; src = fetchFromGitHub { - owner = "lesovsky"; - repo = "pgcenter"; - rev = "v${version}"; + owner = "lesovsky"; + repo = "pgcenter"; + rev = "v${version}"; sha256 = "sha256-xaY01T12/5Peww9scRgfc5yHj7QA8BEwOK5l6OedziY="; }; @@ -15,7 +19,13 @@ buildGoModule rec { subPackages = [ "cmd" ]; - ldflags = [ "-w" "-s" "-X main.gitTag=${src.rev}" "-X main.gitCommit=${src.rev}" "-X main.gitBranch=master" ]; + ldflags = [ + "-w" + "-s" + "-X main.gitTag=${src.rev}" + "-X main.gitCommit=${src.rev}" + "-X main.gitBranch=master" + ]; postInstall = '' mv $out/bin/cmd $out/bin/pgcenter diff --git a/pkgs/by-name/pg/pgcopydb/package.nix b/pkgs/by-name/pg/pgcopydb/package.nix index 1fda00a750e91..9cf2992b28baf 100644 --- a/pkgs/by-name/pg/pgcopydb/package.nix +++ b/pkgs/by-name/pg/pgcopydb/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, libkrb5 -, openssl -, pam -, pkg-config -, postgresql -, readline -, sqlite -, testers -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + libkrb5, + openssl, + pam, + pkg-config, + postgresql, + readline, + sqlite, + testers, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -27,16 +28,18 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - libkrb5 - openssl - postgresql - readline - sqlite - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - pam - ]; + buildInputs = + [ + libkrb5 + openssl + postgresql + readline + sqlite + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pam + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/pg/pget/package.nix b/pkgs/by-name/pg/pget/package.nix index d4c5a702fe05b..3a7ac72df18d8 100644 --- a/pkgs/by-name/pg/pget/package.nix +++ b/pkgs/by-name/pg/pget/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "pget"; diff --git a/pkgs/by-name/pg/pgf-pie/package.nix b/pkgs/by-name/pg/pgf-pie/package.nix index 4c8bf800e4620..1b5e04b2ad08a 100644 --- a/pkgs/by-name/pg/pgf-pie/package.nix +++ b/pkgs/by-name/pg/pgf-pie/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pg/pgf-umlcd/package.nix b/pkgs/by-name/pg/pgf-umlcd/package.nix index 293fa6b52e377..d255e9049712b 100644 --- a/pkgs/by-name/pg/pgf-umlcd/package.nix +++ b/pkgs/by-name/pg/pgf-umlcd/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pg/pgf-umlsd/package.nix b/pkgs/by-name/pg/pgf-umlsd/package.nix index 4fd32aadf8ce2..ddaced12f87ab 100644 --- a/pkgs/by-name/pg/pgf-umlsd/package.nix +++ b/pkgs/by-name/pg/pgf-umlsd/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/pg/pgf1/package.nix b/pkgs/by-name/pg/pgf1/package.nix index b0681d1ce8d14..3ba5c88b08c44 100644 --- a/pkgs/by-name/pg/pgf1/package.nix +++ b/pkgs/by-name/pg/pgf1/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -10,7 +11,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "pgf-tikz"; repo = "pgf"; - rev = "refs/tags/version-${lib.replaceStrings ["."] ["-"] finalAttrs.version}"; + rev = "refs/tags/version-${lib.replaceStrings [ "." ] [ "-" ] finalAttrs.version}"; hash = "sha256-WZ/191iEDd5VK1bnV9JZx2BZfACUeAUhAqrlyx+ZvA4="; }; diff --git a/pkgs/by-name/pg/pgf2/package.nix b/pkgs/by-name/pg/pgf2/package.nix index 82d2026063829..7612081271ef0 100644 --- a/pkgs/by-name/pg/pgf2/package.nix +++ b/pkgs/by-name/pg/pgf2/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pg/pgf3/package.nix b/pkgs/by-name/pg/pgf3/package.nix index 3395c15adf6c1..3accf107d24c4 100644 --- a/pkgs/by-name/pg/pgf3/package.nix +++ b/pkgs/by-name/pg/pgf3/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pg/pgf_graphics/package.nix b/pkgs/by-name/pg/pgf_graphics/package.nix index e63875c19cd31..f92be10a6307f 100644 --- a/pkgs/by-name/pg/pgf_graphics/package.nix +++ b/pkgs/by-name/pg/pgf_graphics/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchzip -, autoreconfHook -, dos2unix -, doxygen -, freeimage -, libpgf +{ + lib, + stdenv, + fetchzip, + autoreconfHook, + dos2unix, + doxygen, + freeimage, + libpgf, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pg/pgformatter/package.nix b/pkgs/by-name/pg/pgformatter/package.nix index cad3d2af45052..0f3547ed42c7b 100644 --- a/pkgs/by-name/pg/pgformatter/package.nix +++ b/pkgs/by-name/pg/pgformatter/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, perlPackages, fetchFromGitHub, fetchpatch, shortenPerlShebang }: +{ + lib, + stdenv, + perlPackages, + fetchFromGitHub, + fetchpatch, + shortenPerlShebang, +}: perlPackages.buildPerlPackage rec { pname = "pgformatter"; @@ -47,7 +54,10 @@ perlPackages.buildPerlPackage rec { homepage = "https://github.com/darold/pgFormatter"; changelog = "https://github.com/darold/pgFormatter/releases/tag/v${version}"; maintainers = [ ]; - license = [ licenses.postgresql licenses.artistic2 ]; + license = [ + licenses.postgresql + licenses.artistic2 + ]; mainProgram = "pg_format"; }; } diff --git a/pkgs/by-name/pg/pgfplots/package.nix b/pkgs/by-name/pg/pgfplots/package.nix index 559b34f34ad05..47e1f257a4fbd 100644 --- a/pkgs/by-name/pg/pgfplots/package.nix +++ b/pkgs/by-name/pg/pgfplots/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pg/pghero/gemset.nix b/pkgs/by-name/pg/pghero/gemset.nix index 55958edada274..2bd3bf3b81727 100644 --- a/pkgs/by-name/pg/pghero/gemset.nix +++ b/pkgs/by-name/pg/pghero/gemset.nix @@ -1,1020 +1,1188 @@ { actioncable = { - dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "nio4r" + "websocket-driver" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ms0196bp8gzlghfj32q2qdzszb7hsgg96v3isrv5ysd87w0z2zl"; type = "gem"; }; version = "7.0.8.6"; }; actionmailbox = { - dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activestorage" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mw8casnlqgj3vwqv7qk3d4q3bjszlpmbs9ldpc9gz1qdvafx7cg"; type = "gem"; }; version = "7.0.8.6"; }; actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "actionview" + "activejob" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + "rails-dom-testing" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07gpm15k5c0y84q99zipnhcdgq93bwralyjpj252prvqwfjmiw73"; type = "gem"; }; version = "7.0.8.6"; }; actionpack = { - dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionview" + "activesupport" + "rack" + "rack-test" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19ywl4jp77b51c01hsyzwia093fnj73pw1ipgyj4pk3h2b9faj5n"; type = "gem"; }; version = "7.0.8.6"; }; actiontext = { - dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activerecord" + "activestorage" + "activesupport" + "globalid" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j8b29764nbiqz6d7ra42j2i6wf070lbms1fhpq3cl9azbgijb16"; type = "gem"; }; version = "7.0.8.6"; }; actionview = { - dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "builder" + "erubi" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0girx71db1aq5b70ln3qq03z9d7xjdyp297v1a8rdal7k89y859c"; type = "gem"; }; version = "7.0.8.6"; }; activejob = { - dependencies = ["activesupport" "globalid"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "globalid" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gbc0wx9xal5bj0pbz8ygkr75wj4cm5i69hpwknf023psgixaybw"; type = "gem"; }; version = "7.0.8.6"; }; activemodel = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f6szahjsb4pr2xvlvk4kghk9291xh9c14s8cqwy6wwpm1vcglim"; type = "gem"; }; version = "7.0.8.6"; }; activerecord = { - dependencies = ["activemodel" "activesupport"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14qs1jc9hwnsm4dzvnai8b36bcq1d7rcqgjxy0dc6wza670lqapf"; type = "gem"; }; version = "7.0.8.6"; }; activerecord-nulldb-adapter = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1552py7zlamd5gy2dbkzjixanl9k07y6jqqrr4ic6n52apwd0ijy"; type = "gem"; }; version = "1.0.1"; }; activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activesupport" + "marcel" + "mini_mime" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nnvqnmc7mdhw2w55j4vnx4zmmdmmwmaf6ax2mbj9j5a48fw19vf"; type = "gem"; }; version = "7.0.8.6"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gj20cysajda05z3r7pl1g9y84nzsqak5dvk9nrz13jpy6297dj1"; type = "gem"; }; version = "7.0.8.6"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f2y7ycq7i3y7p5klsi3gk3p5r5p1vkq6w7dq4zk9grq2hw9f7cv"; type = "gem"; }; version = "1.999.0"; }; aws-sdk-cloudwatch = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04fw6v3qbbgdv63l7kmc29p30bjdancg0kfrxbqcmidryj00qi2c"; type = "gem"; }; version = "1.104.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16mvscjhxdyhlvk2rpbxdzqmyikcf64xavb35grk4dkh0pg390rk"; type = "gem"; }; version = "3.211.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fq3lbvkgm1vk5wa8l7vdnq3vjnlmsnyf4bbd0jq3qadyd9hf54a"; type = "gem"; }; version = "1.10.1"; }; azure_mgmt_monitor = { - dependencies = ["ms_rest_azure"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ms_rest_azure" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13yqhcdqv4lr6bf3ylh2p1k9x4qg9qlr05y9fv7fi8yj5rqrbjhx"; type = "gem"; }; version = "0.19.0"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; crass = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; version = "3.3.4"; }; declarative = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0"; type = "gem"; }; version = "0.0.20"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "069gmdh5j90v06rbwlqvlhzhq45lxhx74mahz25xd276rm0wb153"; type = "gem"; }; version = "1.10.4"; }; faraday-cookie_jar = { - dependencies = ["faraday" "http-cookie"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "http-cookie" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk"; type = "gem"; }; version = "0.0.7"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3"; type = "gem"; }; version = "1.0.2"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; globalid = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; version = "1.2.1"; }; google-apis-core = { - dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "mutex_m" "representable" "retriable"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "googleauth" + "httpclient" + "mini_mime" + "mutex_m" + "representable" + "retriable" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06m775rzhpdz9kalml04sysy5swgfh97jaglsgrv5x8sg4i42j4i"; type = "gem"; }; version = "0.15.1"; }; google-apis-monitoring_v3 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qzks40qfdxlgy0w72y75rlji9g225v6shf78k6q4p74f7w2ns0s"; type = "gem"; }; version = "0.71.0"; }; google-cloud-env = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ks9yv21d8bl9cw0sz5gy6npll1ig3m2bq9w7yw67j5mw2p64q1w"; type = "gem"; }; version = "2.2.1"; }; google-protobuf = { - dependencies = ["bigdecimal" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1d99vyhmyp2n5zd0qmfymzwbcn71dbnwwvc0m4z14msjb7b8dvf0"; type = "gem"; }; version = "4.28.3"; }; googleauth = { - dependencies = ["faraday" "google-cloud-env" "jwt" "multi_json" "os" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "google-cloud-env" + "jwt" + "multi_json" + "os" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07kk8h5f9q62qf1mk7rycgv6m09rd0k8baffdpb3vsksxnpaqsvy"; type = "gem"; }; version = "1.11.2"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lr2yk5g5vvf9nzlmkn3p7mhh9mn55gpdc7kl2w21xs46fgkjynb"; type = "gem"; }; version = "1.0.7"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; jwt = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rba9mji57sfa1kjhj0bwff1377vj0i8yx2rd39j5ik4vp60gzam"; type = "gem"; }; version = "2.9.3"; }; loofah = { - dependencies = ["crass" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ppp2cgli5avzk0z3dwnah6y65ymyr793yja28p2fs9vrci7986h"; type = "gem"; }; version = "2.23.1"; }; mail = { - dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; version = "2.8.1"; }; marcel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190n2mk8m1l708kr88fh6mip9sdsh339d2s6sgrik3sbnvz4jmhd"; type = "gem"; }; version = "1.0.4"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq"; type = "gem"; }; version = "1.1.0"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; ms_rest = { - dependencies = ["concurrent-ruby" "faraday" "timeliness"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "faraday" + "timeliness" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jiha1bda5knpjqjymwik6i41n69gb0phcrgvmgc5icl4mcisai7"; type = "gem"; }; version = "0.7.6"; }; ms_rest_azure = { - dependencies = ["concurrent-ruby" "faraday" "faraday-cookie_jar" "ms_rest"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "faraday" + "faraday-cookie_jar" + "ms_rest" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06i37b84r2q206kfm5vsi9s1qiiy09091vhvc5pzb7320h0hc1ih"; type = "gem"; }; version = "0.12.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; type = "gem"; }; version = "2.4.1"; }; mutex_m = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "182ap7y5ysmr1xqy23ygssz3as1wcy3r5qcdm1whd1n1yfc1aa5q"; type = "gem"; }; version = "0.5.0"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; version = "0.5.0"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a9www524fl1ykspznz54i0phfqya4x45hqaz67in9dvw1lfwpfr"; type = "gem"; }; version = "2.7.4"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; os = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap"; type = "gem"; }; version = "1.1.4"; }; pg = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p2gqqrm895fzr9vi8d118zhql67bm8ydjvgqbq1crdnfggzn7kn"; type = "gem"; }; version = "1.5.9"; }; pg_query = { - dependencies = ["google-protobuf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-protobuf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p8ljf694qvrf5875ljg6kp7gvmndy8490kasjzcq22ghryg9xxp"; type = "gem"; }; version = "5.1.0"; }; pghero = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1m4wlwx37n1jsrdzxf824pz7j0p72i1al7ndmy6q5m3r77ngdm76"; type = "gem"; }; version = "3.6.1"; }; propshaft = { - dependencies = ["actionpack" "activesupport" "rack" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "rack" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sqg0xf46xd47zdpm8d12kfnwl0y5jb2hj10imzb3bk6mwgkd2fk"; type = "gem"; }; version = "1.1.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puma = { - dependencies = ["nio4r"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gml1rixrfb0naciq3mrnqkpcvm9ahgps1c04hzxh4b801f69914"; type = "gem"; }; version = "6.4.3"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ax778fsfvlhj7c11n0d1wdcb8bxvkb190a9lha5d91biwzyx9g4"; type = "gem"; }; version = "2.2.10"; }; rack-test = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"; type = "gem"; }; version = "2.1.0"; }; rails = { - dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actioncable" + "actionmailbox" + "actionmailer" + "actionpack" + "actiontext" + "actionview" + "activejob" + "activemodel" + "activerecord" + "activestorage" + "activesupport" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1s42lyl19h74xlqkb6ffl67h688q0slp1lhnd05g09a46z7wapri"; type = "gem"; }; version = "7.0.8.6"; }; rails-dom-testing = { - dependencies = ["activesupport" "minitest" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "minitest" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; version = "2.2.0"; }; rails-html-sanitizer = { - dependencies = ["loofah" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "loofah" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"; type = "gem"; }; version = "1.6.0"; }; railties = { - dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "method_source" + "rake" + "thor" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1fcn0ix814074gqicc0k1178f7ahmysiv3pfq8g00phdwj0p3w0g"; type = "gem"; }; version = "7.0.8.6"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; representable = { - dependencies = ["declarative" "trailblazer-option" "uber"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "declarative" + "trailblazer-option" + "uber" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kms3r6w6pnryysnaqqa9fsn0v73zx1ilds9d1c565n3xdzbyafc"; type = "gem"; }; version = "3.2.0"; }; retriable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha"; type = "gem"; }; version = "3.1.2"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; signet = { - dependencies = ["addressable" "faraday" "jwt" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + "jwt" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfxa11wy1nv9slmnzjczkdgld0gqizajsb03rliy53zylwkjzsk"; type = "gem"; }; version = "0.19.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; version = "1.3.2"; }; timeliness = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvp9b7yn4pykn794cibylc9ys1lw7fzv7djx1433icxw4y26my3"; type = "gem"; }; version = "0.3.10"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; version = "0.4.1"; }; trailblazer-option = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18s48fndi2kfvrfzmq6rxvjfwad347548yby0341ixz1lhpg3r10"; type = "gem"; }; version = "0.1.2"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; uber = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; type = "gem"; }; version = "0.1.0"; }; websocket-driver = { - dependencies = ["websocket-extensions"]; - groups = ["default"]; - platforms = []; + dependencies = [ "websocket-extensions" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n"; type = "gem"; }; version = "0.7.6"; }; websocket-extensions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; type = "gem"; }; version = "0.1.5"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mi7b90hvc6nqv37q27df4i2m27yy56yfy2ki5073474a1h9hi89"; type = "gem"; }; diff --git a/pkgs/by-name/pg/pghero/package.nix b/pkgs/by-name/pg/pghero/package.nix index 545e8b36816e1..5699ea4d33c65 100644 --- a/pkgs/by-name/pg/pghero/package.nix +++ b/pkgs/by-name/pg/pghero/package.nix @@ -1,73 +1,81 @@ -{ lib -, stdenv -, bundlerEnv -, buildPackages -, fetchFromGitHub -, makeBinaryWrapper -, nixosTests -, callPackage +{ + lib, + stdenv, + bundlerEnv, + buildPackages, + fetchFromGitHub, + makeBinaryWrapper, + nixosTests, + callPackage, }: -stdenv.mkDerivation (finalAttrs: -let - # Use bundlerEnvArgs from passthru to allow overriding bundlerEnv arguments. - rubyEnv = bundlerEnv finalAttrs.passthru.bundlerEnvArgs; - # We also need a separate nativeRubyEnv to precompile assets on the build - # host. If possible, reuse existing rubyEnv derivation. - nativeRubyEnv = - if stdenv.buildPlatform.canExecute stdenv.hostPlatform then rubyEnv - else buildPackages.bundlerEnv finalAttrs.passthru.bundlerEnvArgs; +stdenv.mkDerivation ( + finalAttrs: + let + # Use bundlerEnvArgs from passthru to allow overriding bundlerEnv arguments. + rubyEnv = bundlerEnv finalAttrs.passthru.bundlerEnvArgs; + # We also need a separate nativeRubyEnv to precompile assets on the build + # host. If possible, reuse existing rubyEnv derivation. + nativeRubyEnv = + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + rubyEnv + else + buildPackages.bundlerEnv finalAttrs.passthru.bundlerEnvArgs; - bundlerEnvArgs = { - name = "${finalAttrs.pname}-${finalAttrs.version}-gems"; - gemdir = ./.; - }; -in -{ - pname = "pghero"; - version = "3.6.1"; + bundlerEnvArgs = { + name = "${finalAttrs.pname}-${finalAttrs.version}-gems"; + gemdir = ./.; + }; + in + { + pname = "pghero"; + version = "3.6.1"; - src = fetchFromGitHub { - owner = "pghero"; - repo = "pghero"; - rev = "v${finalAttrs.version}"; - hash = "sha256-kABdQRwV5Y/jB9P8kYVmwmntOK0CF/JJYmaINNv26fA="; - }; + src = fetchFromGitHub { + owner = "pghero"; + repo = "pghero"; + rev = "v${finalAttrs.version}"; + hash = "sha256-kABdQRwV5Y/jB9P8kYVmwmntOK0CF/JJYmaINNv26fA="; + }; - strictDeps = true; - nativeBuildInputs = [ nativeRubyEnv makeBinaryWrapper ]; + strictDeps = true; + nativeBuildInputs = [ + nativeRubyEnv + makeBinaryWrapper + ]; - inherit rubyEnv; + inherit rubyEnv; - buildPhase = '' - runHook preBuild - DATABASE_URL=nulldb:/// RAILS_ENV=production rake assets:precompile - runHook postBuild - ''; + buildPhase = '' + runHook preBuild + DATABASE_URL=nulldb:/// RAILS_ENV=production rake assets:precompile + runHook postBuild + ''; - installPhase = '' - runHook preInstall - mkdir -p -- "$out"/{share,bin} - cp -a -- . "$out"/share/pghero - makeWrapper "$rubyEnv"/bin/puma "$out"/bin/pghero \ - --add-flags -C \ - --add-flags config/puma.rb \ - --chdir "$out"/share/pghero - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p -- "$out"/{share,bin} + cp -a -- . "$out"/share/pghero + makeWrapper "$rubyEnv"/bin/puma "$out"/bin/pghero \ + --add-flags -C \ + --add-flags config/puma.rb \ + --chdir "$out"/share/pghero + runHook postInstall + ''; - passthru = { - inherit bundlerEnvArgs; - updateScript = callPackage ./update.nix { }; - tests = { - inherit (nixosTests) pghero; + passthru = { + inherit bundlerEnvArgs; + updateScript = callPackage ./update.nix { }; + tests = { + inherit (nixosTests) pghero; + }; }; - }; - meta = { - homepage = "https://github.com/ankane/pghero"; - description = "Performance dashboard for Postgres"; - mainProgram = "pghero"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.tie ]; - }; -}) + meta = { + homepage = "https://github.com/ankane/pghero"; + description = "Performance dashboard for Postgres"; + mainProgram = "pghero"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.tie ]; + }; + } +) diff --git a/pkgs/by-name/pg/pghero/update.nix b/pkgs/by-name/pg/pghero/update.nix index 35edcec7b6af8..4b85dd8f76a32 100644 --- a/pkgs/by-name/pg/pghero/update.nix +++ b/pkgs/by-name/pg/pghero/update.nix @@ -1,22 +1,25 @@ -{ lib -, writeShellScript -, git -, nix -, bundler -, bundix -, coreutils -, common-updater-scripts +{ + lib, + writeShellScript, + git, + nix, + bundler, + bundix, + coreutils, + common-updater-scripts, }: writeShellScript "update-script" '' set -eu - PATH=${lib.makeBinPath [ - git - nix - bundler - bundix - coreutils - common-updater-scripts - ]} + PATH=${ + lib.makeBinPath [ + git + nix + bundler + bundix + coreutils + common-updater-scripts + ] + } nix() { command nix --extra-experimental-features nix-command "$@" } diff --git a/pkgs/by-name/pg/pgloader/package.nix b/pkgs/by-name/pg/pgloader/package.nix index 59f3eeeaeaa93..1eaca6a9504bb 100644 --- a/pkgs/by-name/pg/pgloader/package.nix +++ b/pkgs/by-name/pg/pgloader/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, makeWrapper, sbcl, sqlite, freetds, libzip, curl, git, cacert, openssl }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + sbcl, + sqlite, + freetds, + libzip, + curl, + git, + cacert, + openssl, +}: stdenv.mkDerivation rec { pname = "pgloader"; version = "3.6.9"; @@ -8,10 +21,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-pdCcRmoJnrfVnkhbT0WqLrRbCtOEmRgGRsXK+3uByeA="; }; - nativeBuildInputs = [ git makeWrapper ]; - buildInputs = [ sbcl cacert sqlite freetds libzip curl openssl ]; + nativeBuildInputs = [ + git + makeWrapper + ]; + buildInputs = [ + sbcl + cacert + sqlite + freetds + libzip + curl + openssl + ]; - LD_LIBRARY_PATH = lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ]; + LD_LIBRARY_PATH = lib.makeLibraryPath [ + sqlite + libzip + curl + git + openssl + freetds + ]; buildPhase = '' export PATH=$PATH:$out/bin diff --git a/pkgs/by-name/pg/pgmanage/package.nix b/pkgs/by-name/pg/pgmanage/package.nix index 0c435dc04fa41..351214ee02377 100644 --- a/pkgs/by-name/pg/pgmanage/package.nix +++ b/pkgs/by-name/pg/pgmanage/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, openssl, nixosTests } : +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + openssl, + nixosTests, +}: stdenv.mkDerivation rec { pname = "pgmanage"; # The last release 11.0.1 from 2018 fails the NixOS test @@ -7,9 +14,9 @@ stdenv.mkDerivation rec { version = "unstable-2022-05-11"; src = fetchFromGitHub { - owner = "pgManage"; - repo = "pgManage"; - rev = "a028604416be382d6d310bc68b4e7c3cd16020fb"; + owner = "pgManage"; + repo = "pgManage"; + rev = "a028604416be382d6d310bc68b4e7c3cd16020fb"; sha256 = "sha256-ibCzZrqfbio1wBVFKB6S/wdRxnCc7s3IQdtI9txxhaM="; }; @@ -21,7 +28,10 @@ stdenv.mkDerivation rec { ./configure --prefix $out ''; - buildInputs = [ postgresql openssl ]; + buildInputs = [ + postgresql + openssl + ]; passthru.tests.sign-in = nixosTests.pgmanage; diff --git a/pkgs/by-name/pg/pgmetrics/package.nix b/pkgs/by-name/pg/pgmetrics/package.nix index bc5ac22b4f659..e741b8db6ce70 100644 --- a/pkgs/by-name/pg/pgmetrics/package.nix +++ b/pkgs/by-name/pg/pgmetrics/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pgmetrics"; @@ -15,7 +19,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { homepage = "https://pgmetrics.io/"; diff --git a/pkgs/by-name/pg/pgmoneta/package.nix b/pkgs/by-name/pg/pgmoneta/package.nix index bbfb6df67d5bf..fd5dfbe65a517 100644 --- a/pkgs/by-name/pg/pgmoneta/package.nix +++ b/pkgs/by-name/pg/pgmoneta/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, bzip2 -, cjson -, cmake -, curl -, docutils -, fetchFromGitHub -, libarchive -, libev -, libgccjit -, libssh -, lz4 -, openssl -, systemd -, zlib -, zstd +{ + lib, + stdenv, + bzip2, + cjson, + cmake, + curl, + docutils, + fetchFromGitHub, + libarchive, + libev, + libgccjit, + libssh, + lz4, + openssl, + systemd, + zlib, + zstd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pg/pgo-client/package.nix b/pkgs/by-name/pg/pgo-client/package.nix index c417eb84f879f..cce769dee9660 100644 --- a/pkgs/by-name/pg/pgo-client/package.nix +++ b/pkgs/by-name/pg/pgo-client/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pgo-client"; diff --git a/pkgs/by-name/pg/pgpdump/package.nix b/pkgs/by-name/pg/pgpdump/package.nix index 5a9b0d276e0c6..77eaec1928cc3 100644 --- a/pkgs/by-name/pg/pgpdump/package.nix +++ b/pkgs/by-name/pg/pgpdump/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub -, supportCompressedPackets ? true, zlib, bzip2 +{ + lib, + stdenv, + fetchFromGitHub, + supportCompressedPackets ? true, + zlib, + bzip2, }: stdenv.mkDerivation rec { @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-JKedgHCTDnvLyLR3nGl4XFAaxXDU1TgHrxPMlRFwtBo="; }; - buildInputs = lib.optionals supportCompressedPackets [ zlib bzip2 ]; + buildInputs = lib.optionals supportCompressedPackets [ + zlib + bzip2 + ]; meta = with lib; { description = "PGP packet visualizer"; diff --git a/pkgs/by-name/pg/pgpkeyserver-lite/package.nix b/pkgs/by-name/pg/pgpkeyserver-lite/package.nix index 6568409b11aa3..f15cb0c9b29e6 100644 --- a/pkgs/by-name/pg/pgpkeyserver-lite/package.nix +++ b/pkgs/by-name/pg/pgpkeyserver-lite/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "pgpkeyserver-lite"; diff --git a/pkgs/by-name/pg/pgrok/package.nix b/pkgs/by-name/pg/pgrok/package.nix index 5da13036fe687..360aeea556192 100644 --- a/pkgs/by-name/pg/pgrok/package.nix +++ b/pkgs/by-name/pg/pgrok/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, nodejs -, pnpm +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + nodejs, + pnpm, }: let @@ -20,7 +21,10 @@ in buildGoModule { inherit pname version src; - outputs = [ "out" "server" ]; + outputs = [ + "out" + "server" + ]; nativeBuildInputs = [ nodejs diff --git a/pkgs/by-name/pg/pgroll/package.nix b/pkgs/by-name/pg/pgroll/package.nix index 7c05b3150db56..0adbe0481b986 100644 --- a/pkgs/by-name/pg/pgroll/package.nix +++ b/pkgs/by-name/pg/pgroll/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/pg/pgtop/package.nix b/pkgs/by-name/pg/pgtop/package.nix index 066e07fd484a3..dc7414f1949f2 100644 --- a/pkgs/by-name/pg/pgtop/package.nix +++ b/pkgs/by-name/pg/pgtop/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, perlPackages, fetchFromGitHub, shortenPerlShebang }: +{ + lib, + stdenv, + perlPackages, + fetchFromGitHub, + shortenPerlShebang, +}: perlPackages.buildPerlPackage rec { pname = "pgtop"; @@ -13,7 +19,13 @@ perlPackages.buildPerlPackage rec { outputs = [ "out" ]; - buildInputs = with perlPackages; [ DBI DBDPg TermReadKey JSON LWP ]; + buildInputs = with perlPackages; [ + DBI + DBDPg + TermReadKey + JSON + LWP + ]; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/by-name/pg/pgweb/package.nix b/pkgs/by-name/pg/pgweb/package.nix index ed539899ba3d4..9de3a6cd89edf 100644 --- a/pkgs/by-name/pg/pgweb/package.nix +++ b/pkgs/by-name/pg/pgweb/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, pgweb +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + pgweb, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { vendorHash = "sha256-Jpvf6cST3kBvYzCQLoJ1fijUC/hP1ouptd2bQZ1J/Lo="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = let @@ -32,13 +36,16 @@ buildGoModule rec { "TestParseOptions" ]; in - [ "-skip" "${builtins.concatStringsSep "|" skippedTests}" ]; + [ + "-skip" + "${builtins.concatStringsSep "|" skippedTests}" + ]; - passthru.tests.version = testers.testVersion { - version = "v${version}"; - package = pgweb; - command = "pgweb --version"; - }; + passthru.tests.version = testers.testVersion { + version = "v${version}"; + package = pgweb; + command = "pgweb --version"; + }; meta = with lib; { changelog = "https://github.com/sosedoff/pgweb/releases/tag/v${version}"; @@ -50,6 +57,9 @@ buildGoModule rec { homepage = "https://sosedoff.github.io/pgweb/"; license = licenses.mit; mainProgram = "pgweb"; - maintainers = with maintainers; [ zupo luisnquin ]; + maintainers = with maintainers; [ + zupo + luisnquin + ]; }; } diff --git a/pkgs/by-name/ph/phantomsocks/package.nix b/pkgs/by-name/ph/phantomsocks/package.nix index 1a720efb9381b..9f93d06139be9 100644 --- a/pkgs/by-name/ph/phantomsocks/package.nix +++ b/pkgs/by-name/ph/phantomsocks/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + libpcap, # Cann't be build with both pcap and rawsocket tags -, withPcap ? (!stdenv.hostPlatform.isLinux && !withRawsocket) -, withRawsocket ? (stdenv.hostPlatform.isLinux && !withPcap) + withPcap ? (!stdenv.hostPlatform.isLinux && !withRawsocket), + withRawsocket ? (stdenv.hostPlatform.isLinux && !withPcap), }: buildGoModule rec { @@ -26,10 +27,9 @@ buildGoModule rec { "-w" ]; buildInputs = lib.optional withPcap libpcap; - tags = lib.optional withPcap "pcap" - ++ lib.optional withRawsocket "rawsocket"; + tags = lib.optional withPcap "pcap" ++ lib.optional withRawsocket "rawsocket"; - meta = with lib;{ + meta = with lib; { homepage = "https://github.com/macronut/phantomsocks"; description = "Cross-platform proxy client/server for Linux/Windows/macOS"; longDescription = '' diff --git a/pkgs/by-name/ph/pharo/package.nix b/pkgs/by-name/ph/pharo/package.nix index f05cf27525222..fd0602681c229 100644 --- a/pkgs/by-name/ph/pharo/package.nix +++ b/pkgs/by-name/ph/pharo/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, cairo -, cmake -, fetchzip -, freetype -, libffi -, libgit2 -, libpng -, libuuid -, makeBinaryWrapper -, openssl -, pixman -, SDL2 +{ + lib, + stdenv, + cairo, + cmake, + fetchzip, + freetype, + libffi, + libgit2, + libpng, + libuuid, + makeBinaryWrapper, + openssl, + pixman, + SDL2, }: stdenv.mkDerivation (finalAttrs: { @@ -66,16 +67,21 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - preFixup = let - libPath = lib.makeLibraryPath (finalAttrs.buildInputs ++ [ - stdenv.cc.cc - "$out" - ]); - in '' - patchelf --allowed-rpath-prefixes "$NIX_STORE" --shrink-rpath "$out/bin/pharo" - ln -s "${libgit2}/lib/libgit2.so" $out/lib/libgit2.so.1.1 - wrapProgram "$out/bin/pharo" --argv0 $out/bin/pharo --prefix LD_LIBRARY_PATH ":" "${libPath}" - ''; + preFixup = + let + libPath = lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + stdenv.cc.cc + "$out" + ] + ); + in + '' + patchelf --allowed-rpath-prefixes "$NIX_STORE" --shrink-rpath "$out/bin/pharo" + ln -s "${libgit2}/lib/libgit2.so" $out/lib/libgit2.so.1.1 + wrapProgram "$out/bin/pharo" --argv0 $out/bin/pharo --prefix LD_LIBRARY_PATH ":" "${libPath}" + ''; meta = { description = "Clean and innovative Smalltalk-inspired environment"; diff --git a/pkgs/by-name/ph/phash/package.nix b/pkgs/by-name/ph/phash/package.nix index 8f40cd0d9a71c..8f692c6837ad6 100644 --- a/pkgs/by-name/ph/phash/package.nix +++ b/pkgs/by-name/ph/phash/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, cimg, imagemagick }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + cimg, + imagemagick, +}: stdenv.mkDerivation rec { pname = "pHash"; @@ -12,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - configureFlags = ["--enable-video-hash=no" "--enable-audio-hash=no"]; + configureFlags = [ + "--enable-video-hash=no" + "--enable-audio-hash=no" + ]; postInstall = '' cp ${cimg}/include/CImg.h $out/include/ ''; @@ -34,7 +45,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Compute the perceptual hash of an image"; license = licenses.gpl3; - maintainers = [maintainers.imalsogreg]; + maintainers = [ maintainers.imalsogreg ]; platforms = platforms.all; homepage = "http://www.phash.org"; downloadPage = "https://github.com/clearscene/pHash"; diff --git a/pkgs/by-name/ph/phd2/package.nix b/pkgs/by-name/ph/phd2/package.nix index b463a2845bdcc..96bf387061867 100644 --- a/pkgs/by-name/ph/phd2/package.nix +++ b/pkgs/by-name/ph/phd2/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK32 -, curl, gettext, glib, indi-full, libnova, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + gtk3, + wxGTK32, + curl, + gettext, + glib, + indi-full, + libnova, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "phd2"; diff --git a/pkgs/by-name/ph/phinger-cursors/package.nix b/pkgs/by-name/ph/phinger-cursors/package.nix index 03ec5d53bc927..29a310d064cba 100644 --- a/pkgs/by-name/ph/phinger-cursors/package.nix +++ b/pkgs/by-name/ph/phinger-cursors/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "phinger-cursors"; diff --git a/pkgs/by-name/ph/phockup/package.nix b/pkgs/by-name/ph/phockup/package.nix index 8df388e1f64fd..c749974ced485 100644 --- a/pkgs/by-name/ph/phockup/package.nix +++ b/pkgs/by-name/ph/phockup/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, python3, fetchFromGitHub, exiftool, makeWrapper }: +{ + lib, + stdenv, + python3, + fetchFromGitHub, + exiftool, + makeWrapper, +}: let pythonEnv = python3.withPackages (p: with p; [ tqdm ]); in diff --git a/pkgs/by-name/ph/phodav/package.nix b/pkgs/by-name/ph/phodav/package.nix index ac84016c4abc7..9d3a5d1c47f75 100644 --- a/pkgs/by-name/ph/phodav/package.nix +++ b/pkgs/by-name/ph/phodav/package.nix @@ -1,19 +1,24 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, libsoup_3 -, libxml2 -, meson -, ninja -, gnome +{ + stdenv, + lib, + fetchurl, + pkg-config, + libsoup_3, + libxml2, + meson, + ninja, + gnome, }: stdenv.mkDerivation rec { pname = "phodav"; version = "3.0"; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; src = fetchurl { url = "mirror://gnome/sources/phodav/${version}/phodav-${version}.tar.xz"; diff --git a/pkgs/by-name/ph/phoronix-test-suite/package.nix b/pkgs/by-name/ph/phoronix-test-suite/package.nix index 8c7453a4fcead..f74401c3ed8ed 100644 --- a/pkgs/by-name/ph/phoronix-test-suite/package.nix +++ b/pkgs/by-name/ph/phoronix-test-suite/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, php, which, makeWrapper, gnumake, gcc, callPackage }: +{ + lib, + stdenv, + fetchurl, + php, + which, + makeWrapper, + gnumake, + gcc, + callPackage, +}: stdenv.mkDerivation rec { pname = "phoronix-test-suite"; @@ -10,7 +20,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ php ]; - nativeBuildInputs = [ which makeWrapper ]; + nativeBuildInputs = [ + which + makeWrapper + ]; installPhase = '' runHook preInstall @@ -18,7 +31,12 @@ stdenv.mkDerivation rec { ./install-sh $out wrapProgram $out/bin/phoronix-test-suite \ --set PHP_BIN ${php}/bin/php \ - --prefix PATH : ${lib.makeBinPath [ gnumake gcc ]} + --prefix PATH : ${ + lib.makeBinPath [ + gnumake + gcc + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ph/phoronix-test-suite/tests.nix b/pkgs/by-name/ph/phoronix-test-suite/tests.nix index 85249c1242ff1..0a0970123eced 100644 --- a/pkgs/by-name/ph/phoronix-test-suite/tests.nix +++ b/pkgs/by-name/ph/phoronix-test-suite/tests.nix @@ -4,17 +4,16 @@ let inherit (phoronix-test-suite) pname version; in -runCommand "${pname}-tests" { meta.timeout = 60; } - '' - # automatic initial setup to prevent interactive questions - ${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null - # get version of installed program and compare with package version - if [[ `${phoronix-test-suite}/bin/phoronix-test-suite version` != *"${version}"* ]]; then - echo "Error: program version does not match package version" - exit 1 - fi - # run dummy command - ${phoronix-test-suite}/bin/phoronix-test-suite dummy_module.dummy-command >/dev/null - # needed for Nix to register the command as successful - touch $out - '' +runCommand "${pname}-tests" { meta.timeout = 60; } '' + # automatic initial setup to prevent interactive questions + ${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null + # get version of installed program and compare with package version + if [[ `${phoronix-test-suite}/bin/phoronix-test-suite version` != *"${version}"* ]]; then + echo "Error: program version does not match package version" + exit 1 + fi + # run dummy command + ${phoronix-test-suite}/bin/phoronix-test-suite dummy_module.dummy-command >/dev/null + # needed for Nix to register the command as successful + touch $out +'' diff --git a/pkgs/by-name/ph/photocollage/package.nix b/pkgs/by-name/ph/photocollage/package.nix index 46c6bedd77104..03894fb27b0ad 100644 --- a/pkgs/by-name/ph/photocollage/package.nix +++ b/pkgs/by-name/ph/photocollage/package.nix @@ -1,10 +1,11 @@ -{ lib -, python3Packages -, fetchFromGitHub -, gettext -, gdk-pixbuf -, gobject-introspection -, wrapGAppsHook3 +{ + lib, + python3Packages, + fetchFromGitHub, + gettext, + gdk-pixbuf, + gobject-introspection, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ph/photofield/package.nix b/pkgs/by-name/ph/photofield/package.nix index d26788d07a03c..1674ec28013e7 100644 --- a/pkgs/by-name/ph/photofield/package.nix +++ b/pkgs/by-name/ph/photofield/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, buildGo122Module -, buildNpmPackage -, makeWrapper -, exiftool -, ffmpeg -, testers -, photofield -, nix-update-script +{ + lib, + fetchFromGitHub, + buildGo122Module, + buildNpmPackage, + makeWrapper, + exiftool, + ffmpeg, + testers, + photofield, + nix-update-script, }: let @@ -60,7 +61,12 @@ buildGo122Module { postInstall = '' wrapProgram $out/bin/photofield \ - --prefix PATH : "${lib.makeBinPath [exiftool ffmpeg]}" + --prefix PATH : "${ + lib.makeBinPath [ + exiftool + ffmpeg + ] + }" ''; passthru = { diff --git a/pkgs/by-name/ph/photon-rss/package.nix b/pkgs/by-name/ph/photon-rss/package.nix index 1717327d865c1..cb613b044a813 100644 --- a/pkgs/by-name/ph/photon-rss/package.nix +++ b/pkgs/by-name/ph/photon-rss/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromSourcehut, lib, xorg }: +{ + buildGoModule, + fetchFromSourcehut, + lib, + xorg, +}: buildGoModule rec { pname = "photon"; diff --git a/pkgs/by-name/ph/photon/package.nix b/pkgs/by-name/ph/photon/package.nix index 5a60e145aeda7..8be4fbe6b242b 100644 --- a/pkgs/by-name/ph/photon/package.nix +++ b/pkgs/by-name/ph/photon/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "photon"; @@ -15,7 +19,11 @@ python3Packages.buildPythonApplication rec { dontBuild = true; doCheck = false; - propagatedBuildInputs = with python3Packages; [ requests urllib3 tld ]; + propagatedBuildInputs = with python3Packages; [ + requests + urllib3 + tld + ]; installPhase = '' mkdir -p "$out"/{bin,share/photon} diff --git a/pkgs/by-name/ph/photonvision/package.nix b/pkgs/by-name/ph/photonvision/package.nix index 09330c9c442b5..b5953459d4223 100644 --- a/pkgs/by-name/ph/photonvision/package.nix +++ b/pkgs/by-name/ph/photonvision/package.nix @@ -1,27 +1,30 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, temurin-jre-bin-11 -, bash -, suitesparse -, nixosTests +{ + lib, + stdenv, + fetchurl, + makeWrapper, + temurin-jre-bin-11, + bash, + suitesparse, + nixosTests, }: stdenv.mkDerivation rec { pname = "photonvision"; version = "2024.3.1"; - src = { - "x86_64-linux" = fetchurl { - url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxx64.jar"; - hash = "sha256-t9drkGFA3IurZqWAkzEaONVJkp5JHMEFBBW50r+SD68="; - }; - "aarch64-linux" = fetchurl { - url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxarm64.jar"; - hash = "sha256-ninCVxse0x6lBA2NL3kwMeuHAeNzSa9rdP2dnmMNFgc="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + "x86_64-linux" = fetchurl { + url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxx64.jar"; + hash = "sha256-t9drkGFA3IurZqWAkzEaONVJkp5JHMEFBBW50r+SD68="; + }; + "aarch64-linux" = fetchurl { + url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxarm64.jar"; + hash = "sha256-ninCVxse0x6lBA2NL3kwMeuHAeNzSa9rdP2dnmMNFgc="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); dontUnpack = true; @@ -33,8 +36,18 @@ stdenv.mkDerivation rec { install -D $src $out/lib/photonvision.jar makeWrapper ${temurin-jre-bin-11}/bin/java $out/bin/photonvision \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc suitesparse ]} \ - --prefix PATH : ${lib.makeBinPath [ temurin-jre-bin-11 bash.out ]} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + stdenv.cc.cc + suitesparse + ] + } \ + --prefix PATH : ${ + lib.makeBinPath [ + temurin-jre-bin-11 + bash.out + ] + } \ --add-flags "-jar $out/lib/photonvision.jar" runHook postInstall @@ -50,6 +63,9 @@ stdenv.mkDerivation rec { license = licenses.gpl3; maintainers = with maintainers; [ max-niederman ]; mainProgram = "photonvision"; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/ph/photoprism/backend.nix b/pkgs/by-name/ph/photoprism/backend.nix index a996e966dfc0b..898171820c7dd 100644 --- a/pkgs/by-name/ph/photoprism/backend.nix +++ b/pkgs/by-name/ph/photoprism/backend.nix @@ -1,6 +1,12 @@ -{ lib, buildGoModule, coreutils, libtensorflow, src, version -, pkg-config -, vips +{ + lib, + buildGoModule, + coreutils, + libtensorflow, + src, + version, + pkg-config, + vips, }: buildGoModule rec { diff --git a/pkgs/by-name/ph/photoprism/frontend.nix b/pkgs/by-name/ph/photoprism/frontend.nix index 84449f758d240..c297335d103a1 100644 --- a/pkgs/by-name/ph/photoprism/frontend.nix +++ b/pkgs/by-name/ph/photoprism/frontend.nix @@ -1,4 +1,9 @@ -{ lib, buildNpmPackage, src, version }: +{ + lib, + buildNpmPackage, + src, + version, +}: buildNpmPackage { inherit src version; diff --git a/pkgs/by-name/ph/photoprism/libtensorflow.nix b/pkgs/by-name/ph/photoprism/libtensorflow.nix index db1be8d95e24b..f8dcf84d06177 100644 --- a/pkgs/by-name/ph/photoprism/libtensorflow.nix +++ b/pkgs/by-name/ph/photoprism/libtensorflow.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ... }: +{ + lib, + stdenv, + fetchurl, + ... +}: let inherit (stdenv.hostPlatform) system; in @@ -10,17 +15,21 @@ stdenv.mkDerivation rec { # Photoprism-packaged libtensorflow tarball (with pre-built libs for both arm64 and amd64) # We need this specific version because of https://github.com/photoprism/photoprism/issues/222 (fetchurl { - sha256 = { - x86_64-linux = "sha256-bZAC3PJxqcjuGM4RcNtzYtkg3FD3SrO5beDsPoKenzc="; - aarch64-linux = "sha256-qnj4vhSWgrk8SIjzIH1/4waMxMsxMUvqdYZPaSaUJRk="; - }.${system}; + sha256 = + { + x86_64-linux = "sha256-bZAC3PJxqcjuGM4RcNtzYtkg3FD3SrO5beDsPoKenzc="; + aarch64-linux = "sha256-qnj4vhSWgrk8SIjzIH1/4waMxMsxMUvqdYZPaSaUJRk="; + } + .${system}; url = let - systemName = { - x86_64-linux = "amd64"; - aarch64-linux = "arm64"; - }.${system}; + systemName = + { + x86_64-linux = "amd64"; + aarch64-linux = "arm64"; + } + .${system}; in "https://dl.photoprism.app/tensorflow/${systemName}/libtensorflow-${systemName}-${version}.tar.gz"; }) @@ -53,7 +62,10 @@ stdenv.mkDerivation rec { # Patch library to use our libc, libstdc++ and others patchPhase = let - rpath = lib.makeLibraryPath [ stdenv.cc.libc stdenv.cc.cc ]; + rpath = lib.makeLibraryPath [ + stdenv.cc.libc + stdenv.cc.cc + ]; in '' chmod -R +w lib @@ -82,7 +94,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://dl.photoprism.app/tensorflow/"; description = "Libtensorflow version for usage with photoprism backend"; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; license = licenses.asl20; maintainers = with maintainers; [ benesim ]; }; diff --git a/pkgs/by-name/ph/photoprism/package.nix b/pkgs/by-name/ph/photoprism/package.nix index 61076419ee15d..14c8b832876be 100644 --- a/pkgs/by-name/ph/photoprism/package.nix +++ b/pkgs/by-name/ph/photoprism/package.nix @@ -1,7 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, fetchzip, darktable, rawtherapee, ffmpeg, libheif, exiftool, imagemagick, makeWrapper, testers -, callPackage -, nixosTests -, librsvg }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + darktable, + rawtherapee, + ffmpeg, + libheif, + exiftool, + imagemagick, + makeWrapper, + testers, + callPackage, + nixosTests, + librsvg, +}: let version = "240711-2197af848"; @@ -18,7 +31,8 @@ let backend = callPackage ./backend.nix { inherit libtensorflow src version; }; frontend = callPackage ./frontend.nix { inherit src version; }; - fetchModel = { name, hash }: + fetchModel = + { name, hash }: fetchzip { inherit hash; url = "https://dl.photoprism.org/tensorflow/${name}.zip"; diff --git a/pkgs/by-name/ph/phrase-cli/package.nix b/pkgs/by-name/ph/phrase-cli/package.nix index 0a52c3366d378..d15a43ba38978 100644 --- a/pkgs/by-name/ph/phrase-cli/package.nix +++ b/pkgs/by-name/ph/phrase-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "phrase-cli"; diff --git a/pkgs/by-name/ph/phrasendrescher/package.nix b/pkgs/by-name/ph/phrasendrescher/package.nix index 2f6017fd10ec4..8cb3d0cf91aad 100644 --- a/pkgs/by-name/ph/phrasendrescher/package.nix +++ b/pkgs/by-name/ph/phrasendrescher/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, openssl, libssh2, gpgme }: +{ + lib, + stdenv, + fetchurl, + openssl, + libssh2, + gpgme, +}: stdenv.mkDerivation rec { pname = "phrasendrescher"; @@ -14,7 +21,11 @@ stdenv.mkDerivation rec { --replace 'SSL_LIB="ssl"' 'SSL_LIB="crypto"' ''; - buildInputs = [ openssl libssh2 gpgme ]; + buildInputs = [ + openssl + libssh2 + gpgme + ]; configureFlags = [ "--with-plugins" ]; diff --git a/pkgs/by-name/ph/phylactery/package.nix b/pkgs/by-name/ph/phylactery/package.nix index 43c6032f101fc..4f922cab202bf 100644 --- a/pkgs/by-name/ph/phylactery/package.nix +++ b/pkgs/by-name/ph/phylactery/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchzip, nixosTests }: +{ + lib, + buildGoModule, + fetchzip, + nixosTests, +}: buildGoModule rec { pname = "phylactery"; @@ -11,7 +16,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.phylactery = nixosTests.phylactery; diff --git a/pkgs/by-name/ph/physac/package.nix b/pkgs/by-name/ph/physac/package.nix index 5d6ff694e5abf..bc81fb2698db4 100644 --- a/pkgs/by-name/ph/physac/package.nix +++ b/pkgs/by-name/ph/physac/package.nix @@ -1,7 +1,7 @@ { stdenvNoCC, fetchFromGitHub, - lib + lib, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ph/physlock/package.nix b/pkgs/by-name/ph/physlock/package.nix index 993ec8447c3a4..fbd7d5d908b6b 100644 --- a/pkgs/by-name/ph/physlock/package.nix +++ b/pkgs/by-name/ph/physlock/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pam, systemd }: +{ + lib, + stdenv, + fetchFromGitHub, + pam, + systemd, +}: stdenv.mkDerivation rec { version = "13"; @@ -10,14 +16,20 @@ stdenv.mkDerivation rec { sha256 = "1mz4xxjip5ldiw9jgfq9zvqb6w10bcjfx6939w1appqg8f521a7s"; }; - buildInputs = [ pam systemd ]; + buildInputs = [ + pam + systemd + ]; preConfigure = '' substituteInPlace Makefile \ --replace "-m 4755 -o root -g root" "" ''; - makeFlags = [ "PREFIX=$(out)" "SESSION=systemd" ]; + makeFlags = [ + "PREFIX=$(out)" + "SESSION=systemd" + ]; meta = with lib; { description = "Secure suspend/hibernate-friendly alternative to `vlock -an`"; diff --git a/pkgs/by-name/pi/pianobar/package.nix b/pkgs/by-name/pi/pianobar/package.nix index b1a4825a88c81..58a93296f57da 100644 --- a/pkgs/by-name/pi/pianobar/package.nix +++ b/pkgs/by-name/pi/pianobar/package.nix @@ -1,4 +1,14 @@ -{ fetchFromGitHub, lib, stdenv, pkg-config, libao, json_c, libgcrypt, ffmpeg, curl }: +{ + fetchFromGitHub, + lib, + stdenv, + pkg-config, + libao, + json_c, + libgcrypt, + ffmpeg, + curl, +}: stdenv.mkDerivation rec { pname = "pianobar"; @@ -13,7 +23,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libao json_c libgcrypt ffmpeg curl + libao + json_c + libgcrypt + ffmpeg + curl ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/pi/pianotrans/package.nix b/pkgs/by-name/pi/pianotrans/package.nix index d36fffb0c990e..3d73cbf97e6c9 100644 --- a/pkgs/by-name/pi/pianotrans/package.nix +++ b/pkgs/by-name/pi/pianotrans/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3 -, ffmpeg +{ + lib, + fetchFromGitHub, + python3, + ffmpeg, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pi/picard-tools/package.nix b/pkgs/by-name/pi/picard-tools/package.nix index 5435503e7f140..a73167fe8a941 100644 --- a/pkgs/by-name/pi/picard-tools/package.nix +++ b/pkgs/by-name/pi/picard-tools/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, jre, makeWrapper}: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "picard-tools"; diff --git a/pkgs/by-name/pi/picat/package.nix b/pkgs/by-name/pi/picat/package.nix index 04c80884670dd..7aeeb75be2e7f 100644 --- a/pkgs/by-name/pi/picat/package.nix +++ b/pkgs/by-name/pi/picat/package.nix @@ -1,13 +1,20 @@ -{ lib, stdenv, fetchurl, zlib }: +{ + lib, + stdenv, + fetchurl, + zlib, +}: let - ARCH = { - x86_64-linux = "linux64"; - aarch64-linux = "linux64"; - x86_64-cygwin = "cygwin64"; - x86_64-darwin = "mac64"; - aarch64-darwin = "mac64"; - }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + ARCH = + { + x86_64-linux = "linux64"; + aarch64-linux = "linux64"; + x86_64-cygwin = "cygwin64"; + x86_64-darwin = "mac64"; + aarch64-darwin = "mac64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation { pname = "picat"; @@ -39,15 +46,18 @@ stdenv.mkDerivation { meta = with lib; { description = "Logic-based programming language"; mainProgram = "picat"; - homepage = "http://picat-lang.org/"; - license = licenses.mpl20; - platforms = [ + homepage = "http://picat-lang.org/"; + license = licenses.mpl20; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-cygwin" "x86_64-darwin" "aarch64-darwin" ]; - maintainers = with maintainers; [ earldouglas thoughtpolice ]; + maintainers = with maintainers; [ + earldouglas + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/pi/pick/package.nix b/pkgs/by-name/pi/pick/package.nix index cee77d3a15880..307cf5f58509e 100644 --- a/pkgs/by-name/pi/pick/package.nix +++ b/pkgs/by-name/pi/pick/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "pick"; diff --git a/pkgs/by-name/pi/pico-sdk/package.nix b/pkgs/by-name/pi/pico-sdk/package.nix index 259e47426b766..28a1f2ba6d43a 100644 --- a/pkgs/by-name/pi/pico-sdk/package.nix +++ b/pkgs/by-name/pi/pico-sdk/package.nix @@ -21,10 +21,11 @@ stdenv.mkDerivation (finalAttrs: { repo = "pico-sdk"; rev = finalAttrs.version; fetchSubmodules = withSubmodules; - hash = if (withSubmodules) then - "sha256-fVSpBVmjeP5pwkSPhhSCfBaEr/FEtA82mQOe/cHFh0A=" - else - "sha256-d6mEjuG8S5jvJS4g8e90gFII3sEqUVlT2fgd9M9LUkA="; + hash = + if (withSubmodules) then + "sha256-fVSpBVmjeP5pwkSPhhSCfBaEr/FEtA82mQOe/cHFh0A=" + else + "sha256-d6mEjuG8S5jvJS4g8e90gFII3sEqUVlT2fgd9M9LUkA="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/pi/picoc/package.nix b/pkgs/by-name/pi/picoc/package.nix index eaf08de7b9948..24e6fedc9bba4 100644 --- a/pkgs/by-name/pi/picoc/package.nix +++ b/pkgs/by-name/pi/picoc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, readline }: +{ + lib, + stdenv, + fetchFromGitLab, + readline, +}: stdenv.mkDerivation { pname = "picoc"; @@ -15,9 +20,11 @@ stdenv.mkDerivation { makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-error=implicit-function-declaration" + ] + ); enableParallelBuilding = true; diff --git a/pkgs/by-name/pi/picolisp/package.nix b/pkgs/by-name/pi/picolisp/package.nix index c751746ec645f..d211fd3afcb6d 100644 --- a/pkgs/by-name/pi/picolisp/package.nix +++ b/pkgs/by-name/pi/picolisp/package.nix @@ -8,7 +8,7 @@ openssl, pkg-config, readline, - stdenv + stdenv, }: stdenv.mkDerivation { @@ -20,7 +20,14 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ clang libffi llvm openssl pkg-config readline ]; + buildInputs = [ + clang + libffi + llvm + openssl + pkg-config + readline + ]; sourceRoot = ''pil21''; buildPhase = '' cd src @@ -46,4 +53,3 @@ stdenv.mkDerivation { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/pi/picoloop/package.nix b/pkgs/by-name/pi/picoloop/package.nix index cc9d0646d9879..64165d9d06c40 100644 --- a/pkgs/by-name/pi/picoloop/package.nix +++ b/pkgs/by-name/pi/picoloop/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, libpulseaudio, SDL2, SDL2_image, SDL2_ttf, alsa-lib, libjack2 }: +{ + lib, + stdenv, + fetchFromGitHub, + libpulseaudio, + SDL2, + SDL2_image, + SDL2_ttf, + alsa-lib, + libjack2, +}: stdenv.mkDerivation rec { pname = "picoloop"; diff --git a/pkgs/by-name/pi/picoprobe-udev-rules/package.nix b/pkgs/by-name/pi/picoprobe-udev-rules/package.nix index 4a651bf473e5b..4f4c16a5fd1f2 100644 --- a/pkgs/by-name/pi/picoprobe-udev-rules/package.nix +++ b/pkgs/by-name/pi/picoprobe-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: ## Usage # In NixOS, simply add this package to services.udev.packages: diff --git a/pkgs/by-name/pi/picosat/package.nix b/pkgs/by-name/pi/picosat/package.nix index 23fc2776ba813..812e5abaef75b 100644 --- a/pkgs/by-name/pi/picosat/package.nix +++ b/pkgs/by-name/pi/picosat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "picosat"; @@ -19,26 +23,28 @@ stdenv.mkDerivation rec { configurePhase = "./configure.sh --shared --trace"; - makeFlags = lib.optional stdenv.hostPlatform.isDarwin - "SONAME=-Wl,-install_name,$(out)/lib/libpicosat.so"; + makeFlags = lib.optional stdenv.hostPlatform.isDarwin "SONAME=-Wl,-install_name,$(out)/lib/libpicosat.so"; installPhase = '' - mkdir -p $out/bin $out/lib $out/share $out/include/picosat - cp picomus picomcs picosat picogcnf "$out"/bin + mkdir -p $out/bin $out/lib $out/share $out/include/picosat + cp picomus picomcs picosat picogcnf "$out"/bin - cp VERSION "$out"/share/picosat.version - cp picosat.o "$out"/lib - cp libpicosat.a "$out"/lib - cp libpicosat.so "$out"/lib + cp VERSION "$out"/share/picosat.version + cp picosat.o "$out"/lib + cp libpicosat.a "$out"/lib + cp libpicosat.so "$out"/lib - cp picosat.h "$out"/include/picosat + cp picosat.h "$out"/include/picosat ''; meta = { description = "SAT solver with proof and core support"; - homepage = "https://fmv.jku.at/picosat/"; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ roconnor thoughtpolice ]; + homepage = "https://fmv.jku.at/picosat/"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + roconnor + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/pi/picoscope/package.nix b/pkgs/by-name/pi/picoscope/package.nix index eef60df059f89..65e51ef983cb4 100644 --- a/pkgs/by-name/pi/picoscope/package.nix +++ b/pkgs/by-name/pi/picoscope/package.nix @@ -1,18 +1,31 @@ -{ stdenv, lib, fetchurl, dpkg, makeWrapper , mono, gtk-sharp-3_0 -, glib, libusb1 , zlib, gtk3-x11, callPackage, writeTextDir -, scopes ? [ - "picocv" - "ps2000" - "ps2000a" - "ps3000" - "ps3000a" - "ps4000" - "ps4000a" - "ps5000" - "ps5000a" - "ps6000" - "ps6000a" -] }: +{ + stdenv, + lib, + fetchurl, + dpkg, + makeWrapper, + mono, + gtk-sharp-3_0, + glib, + libusb1, + zlib, + gtk3-x11, + callPackage, + writeTextDir, + scopes ? [ + "picocv" + "ps2000" + "ps2000a" + "ps3000" + "ps3000a" + "ps4000" + "ps4000a" + "ps5000" + "ps5000a" + "ps6000" + "ps6000a" + ], +}: let shared_meta = lib: { @@ -22,12 +35,22 @@ let license = lib.licenses.unfree; }; - libpicoipp = callPackage ({ stdenv, lib, fetchurl, autoPatchelfHook, dpkg }: + libpicoipp = callPackage ( + { + stdenv, + lib, + fetchurl, + autoPatchelfHook, + dpkg, + }: stdenv.mkDerivation rec { pname = "libpicoipp"; inherit (sources.libpicoipp) version; src = fetchurl { inherit (sources.libpicoipp) url sha256; }; - nativeBuildInputs = [ dpkg autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + ]; buildInputs = [ (lib.getLib stdenv.cc.cc) ]; installPhase = '' @@ -41,15 +64,21 @@ let sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; description = "library for picotech oscilloscope software"; }; - }) { }; + } + ) { }; # If we don't have a platform available, put a dummy version here, so at # least evaluation succeeds. sources = (lib.importJSON ./sources.json).${stdenv.system} or (throw "unsupported system ${stdenv.system}"); - scopePkg = name: - { url, version, sha256 }: + scopePkg = + name: + { + url, + version, + sha256, + }: stdenv.mkDerivation rec { pname = "lib${name}"; inherit version; @@ -62,33 +91,49 @@ let cp -d opt/picoscope/lib/* $out/lib runHook postInstall ''; - meta = with lib; - shared_meta lib // { + meta = + with lib; + shared_meta lib + // { description = "library for picotech oscilloscope ${name} series"; }; }; scopePkgs = lib.mapAttrs scopePkg sources; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "picoscope"; inherit (sources.picoscope) version; src = fetchurl { inherit (sources.picoscope) url sha256; }; - nativeBuildInputs = [ dpkg makeWrapper ]; - buildInputs = [ gtk-sharp-3_0 mono glib libusb1 zlib ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; + buildInputs = [ + gtk-sharp-3_0 + mono + glib + libusb1 + zlib + ]; scopeLibs = lib.attrVals (map (x: "lib${x}") scopes) scopePkgs; - MONO_PATH = "${gtk-sharp-3_0}/lib/mono/gtk-sharp-3.0:" + (lib.makeLibraryPath - ([ - glib - gtk3-x11 - gtk-sharp-3_0 - libusb1 - zlib - libpicoipp - ] ++ scopeLibs)); + MONO_PATH = + "${gtk-sharp-3_0}/lib/mono/gtk-sharp-3.0:" + + (lib.makeLibraryPath ( + [ + glib + gtk3-x11 + gtk-sharp-3_0 + libusb1 + zlib + libpicoipp + ] + ++ scopeLibs + )); installPhase = '' runHook preInstall @@ -111,10 +156,11 @@ in stdenv.mkDerivation rec { SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ce9", MODE="664",GROUP="pico" ''; - meta = with lib; - shared_meta lib // { - description = - "Oscilloscope application that works with all PicoScope models"; + meta = + with lib; + shared_meta lib + // { + description = "Oscilloscope application that works with all PicoScope models"; longDescription = '' PicoScope for Linux is a powerful oscilloscope application that works with all PicoScope models. The most important features from PicoScope @@ -129,4 +175,3 @@ in stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryBytecode ]; }; } - diff --git a/pkgs/by-name/pi/picosnitch/package.nix b/pkgs/by-name/pi/picosnitch/package.nix index d0cb9f82c56bb..6d80caf6f6d4e 100644 --- a/pkgs/by-name/pi/picosnitch/package.nix +++ b/pkgs/by-name/pi/picosnitch/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchPypi -, bcc +{ + lib, + python3, + fetchPypi, + bcc, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pi/picotool/package.nix b/pkgs/by-name/pi/picotool/package.nix index b4cbcde826524..54a8b4f8e6d9d 100644 --- a/pkgs/by-name/pi/picotool/package.nix +++ b/pkgs/by-name/pi/picotool/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libusb1, pico-sdk, mbedtls_2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + pico-sdk, + mbedtls_2, +}: stdenv.mkDerivation rec { pname = "picotool"; @@ -19,8 +28,14 @@ stdenv.mkDerivation rec { --replace-fail "''$"'{PICO_SDK_PATH}/lib/mbedtls' '${mbedtls_2.src}' ''; - buildInputs = [ libusb1 pico-sdk ]; - nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ + libusb1 + pico-sdk + ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DPICO_SDK_PATH=${pico-sdk}/lib/pico-sdk" ]; postInstall = '' diff --git a/pkgs/by-name/pi/picotts/package.nix b/pkgs/by-name/pi/picotts/package.nix index 0b470aca5f942..eff8184f8b3e1 100644 --- a/pkgs/by-name/pi/picotts/package.nix +++ b/pkgs/by-name/pi/picotts/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, popt }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + popt, +}: stdenv.mkDerivation (finalAttrs: { pname = "picotts"; @@ -10,8 +18,14 @@ stdenv.mkDerivation (finalAttrs: { rev = "2f86050dc5da9ab68fc61510b594d8e6975c4d2d"; sha256 = "1k2mdv9llkh77jr4qr68yf0zgjqk87np35fgfmnc3rpdp538sccl"; }; - nativeBuildInputs = [ autoconf automake ]; - buildInputs = [ libtool popt ]; + nativeBuildInputs = [ + autoconf + automake + ]; + buildInputs = [ + libtool + popt + ]; sourceRoot = "${finalAttrs.src.name}/pico"; preConfigure = "./autogen.sh"; meta = { diff --git a/pkgs/by-name/pi/pict-rs/0.3.nix b/pkgs/by-name/pi/pict-rs/0.3.nix index 9e7ad6e3d2049..bf869e5360360 100644 --- a/pkgs/by-name/pi/pict-rs/0.3.nix +++ b/pkgs/by-name/pi/pict-rs/0.3.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitea -, rustPlatform -, makeWrapper -, protobuf -, Security -, imagemagick -, ffmpeg -, exiftool -, nixosTests +{ + stdenv, + lib, + fetchFromGitea, + rustPlatform, + makeWrapper, + protobuf, + Security, + imagemagick, + ffmpeg, + exiftool, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -39,7 +40,13 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/pict-rs" \ - --prefix PATH : "${lib.makeBinPath [ imagemagick ffmpeg exiftool ]}" + --prefix PATH : "${ + lib.makeBinPath [ + imagemagick + ffmpeg + exiftool + ] + }" ''; passthru.tests = { inherit (nixosTests) pict-rs; }; diff --git a/pkgs/by-name/pi/pict-rs/package.nix b/pkgs/by-name/pi/pict-rs/package.nix index fddfd6fffebd6..0a2a2e2dda107 100644 --- a/pkgs/by-name/pi/pict-rs/package.nix +++ b/pkgs/by-name/pi/pict-rs/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitea -, rustPlatform -, makeWrapper -, protobuf -, darwin -, imagemagick -, ffmpeg -, exiftool -, nixosTests +{ + stdenv, + lib, + fetchFromGitea, + rustPlatform, + makeWrapper, + protobuf, + darwin, + imagemagick, + ffmpeg, + exiftool, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -34,7 +35,13 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/pict-rs" \ - --prefix PATH : "${lib.makeBinPath [ imagemagick ffmpeg exiftool ]}" + --prefix PATH : "${ + lib.makeBinPath [ + imagemagick + ffmpeg + exiftool + ] + }" ''; passthru.tests = { inherit (nixosTests) pict-rs; }; diff --git a/pkgs/by-name/pi/pid1/package.nix b/pkgs/by-name/pi/pid1/package.nix index d991d01be8487..c8ed12bf13fe3 100644 --- a/pkgs/by-name/pi/pid1/package.nix +++ b/pkgs/by-name/pi/pid1/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "pid1"; diff --git a/pkgs/by-name/pi/pies/package.nix b/pkgs/by-name/pi/pies/package.nix index 4bea37d9c7a24..4d9e858669beb 100644 --- a/pkgs/by-name/pi/pies/package.nix +++ b/pkgs/by-name/pi/pies/package.nix @@ -1,4 +1,9 @@ -{ fetchurl, lib, stdenv, libxcrypt }: +{ + fetchurl, + lib, + stdenv, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "pies"; @@ -11,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxcrypt ]; - configureFlags = ["--sysconfdir=/etc"]; + configureFlags = [ "--sysconfdir=/etc" ]; hardeningDisable = [ "format" ]; @@ -21,25 +26,25 @@ stdenv.mkDerivation rec { description = "Program invocation and execution supervisor"; longDescription = '' - The name Pies (pronounced "p-yes") stands for Program Invocation and - Execution Supervisor. This utility starts and controls execution of - external programs, called components. Each component is a - stand-alone program, which is executed in the foreground. Upon - startup, pies reads the list of components from its configuration - file, starts them, and remains in the background, controlling their - execution. If any of the components terminates, the default action - of Pies is to restart it. However, it can also be programmed to - perform a variety of another actions such as, e.g., sending mail - notifications to the system administrator, invoking another external - program, etc. - - Pies can be used for a wide variety of tasks. Its most obious use - is to put in backgound a program which normally cannot detach itself - from the controlling terminal, such as, e.g., minicom. It can - launch and control components of some complex system, such as - Jabberd or MeTA1 (and it offers much more control over them than the - native utilities). Finally, it can replace the inetd utility! - ''; + The name Pies (pronounced "p-yes") stands for Program Invocation and + Execution Supervisor. This utility starts and controls execution of + external programs, called components. Each component is a + stand-alone program, which is executed in the foreground. Upon + startup, pies reads the list of components from its configuration + file, starts them, and remains in the background, controlling their + execution. If any of the components terminates, the default action + of Pies is to restart it. However, it can also be programmed to + perform a variety of another actions such as, e.g., sending mail + notifications to the system administrator, invoking another external + program, etc. + + Pies can be used for a wide variety of tasks. Its most obious use + is to put in backgound a program which normally cannot detach itself + from the controlling terminal, such as, e.g., minicom. It can + launch and control components of some complex system, such as + Jabberd or MeTA1 (and it offers much more control over them than the + native utilities). Finally, it can replace the inetd utility! + ''; license = lib.licenses.gpl3Plus; diff --git a/pkgs/by-name/pi/pietrasanta-traceroute/package.nix b/pkgs/by-name/pi/pietrasanta-traceroute/package.nix index 78ec9b5372896..4deb0b754009b 100644 --- a/pkgs/by-name/pi/pietrasanta-traceroute/package.nix +++ b/pkgs/by-name/pi/pietrasanta-traceroute/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, stdenv -, openssl +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + stdenv, + openssl, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/catchpoint/Networking.traceroute/"; changelog = "https://github.com/catchpoint/Networking.traceroute/blob/${src.rev}/ChangeLog"; - license = with licenses; [ gpl2Only lgpl21Only ]; + license = with licenses; [ + gpl2Only + lgpl21Only + ]; mainProgram = "traceroute"; maintainers = with maintainers; [ nicoo ]; platforms = platforms.all; diff --git a/pkgs/by-name/pi/pifpaf/package.nix b/pkgs/by-name/pi/pifpaf/package.nix index a06aaf90d22c0..18bdd1d2fa73b 100644 --- a/pkgs/by-name/pi/pifpaf/package.nix +++ b/pkgs/by-name/pi/pifpaf/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pi/pig/package.nix b/pkgs/by-name/pi/pig/package.nix index 42938d1246f9e..9eeae06834572 100644 --- a/pkgs/by-name/pi/pig/package.nix +++ b/pkgs/by-name/pi/pig/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, hadoop, jre, bash }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + hadoop, + jre, + bash, +}: stdenv.mkDerivation rec { pname = "pig"; @@ -21,7 +29,12 @@ stdenv.mkDerivation rec { for n in $out/{bin,sbin}"/"*; do wrapProgram $n \ - --prefix PATH : "${lib.makeBinPath [ jre bash ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + jre + bash + ] + }" \ --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "${hadoop}" done ''; diff --git a/pkgs/by-name/pi/pigeon/package.nix b/pkgs/by-name/pi/pigeon/package.nix index bfd6672530bf2..6492341b8d8b3 100644 --- a/pkgs/by-name/pi/pigeon/package.nix +++ b/pkgs/by-name/pi/pigeon/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pigeon"; diff --git a/pkgs/by-name/pi/piglit/package.nix b/pkgs/by-name/pi/piglit/package.nix index f620e2723bd64..212e692062a0f 100644 --- a/pkgs/by-name/pi/piglit/package.nix +++ b/pkgs/by-name/pi/piglit/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, fetchFromGitLab -, lib -, cmake -, libglut -, libGL -, libGLU -, libglvnd -, makeWrapper -, ninja -, pkg-config -, python3 -, waffle -, wayland -, libX11 -, libXrender -, libxcb -, libxkbcommon -, mesa +{ + stdenv, + fetchFromGitLab, + lib, + cmake, + libglut, + libGL, + libGLU, + libglvnd, + makeWrapper, + ninja, + pkg-config, + python3, + waffle, + wayland, + libX11, + libXrender, + libxcb, + libxkbcommon, + mesa, }: stdenv.mkDerivation rec { @@ -40,10 +41,12 @@ stdenv.mkDerivation rec { libXrender libxcb libxkbcommon - (python3.withPackages (ps: with ps; [ - mako - numpy - ])) + (python3.withPackages ( + ps: with ps; [ + mako + numpy + ] + )) waffle wayland ]; @@ -64,7 +67,12 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/piglit \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libglvnd ]} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libGL + libglvnd + ] + } \ --prefix PATH : "${waffle}/bin" ''; diff --git a/pkgs/by-name/pi/pigz/package.nix b/pkgs/by-name/pi/pigz/package.nix index a6eaab1a6ef23..9e0b55b3a7a5f 100644 --- a/pkgs/by-name/pi/pigz/package.nix +++ b/pkgs/by-name/pi/pigz/package.nix @@ -1,14 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, zlib, util-linux }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + util-linux, +}: stdenv.mkDerivation rec { pname = "pigz"; version = "2.8"; src = fetchFromGitHub { - owner = "madler"; - repo = pname; - rev = "refs/tags/v${version}"; - sha256 = "sha256-PzdxyO4mCg2jE/oBk1MH+NUdWM95wIIIbncBg71BkmQ="; + owner = "madler"; + repo = pname; + rev = "refs/tags/v${version}"; + sha256 = "sha256-PzdxyO4mCg2jE/oBk1MH+NUdWM95wIIIbncBg71BkmQ="; }; enableParallelBuilding = true; diff --git a/pkgs/by-name/pi/pijul/package.nix b/pkgs/by-name/pi/pijul/package.nix index 95d974bfa145b..4abc01cfdf726 100644 --- a/pkgs/by-name/pi/pijul/package.nix +++ b/pkgs/by-name/pi/pijul/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchCrate -, rustPlatform -, installShellFiles -, pkg-config -, libsodium -, openssl -, xxHash -, darwin -, gitImportSupport ? true -, libgit2 ? null +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + installShellFiles, + pkg-config, + libsodium, + openssl, + xxHash, + darwin, + gitImportSupport ? true, + libgit2 ? null, }: rustPlatform.buildRustPackage rec { @@ -23,12 +25,25 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-iXGvb4qmZK7Sjbf/Jkyzj+nhpZFV3ngjtJfz6x/8z2s="; doCheck = false; - nativeBuildInputs = [ installShellFiles pkg-config ]; - buildInputs = [ openssl libsodium xxHash ] + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; + buildInputs = + [ + openssl + libsodium + xxHash + ] ++ (lib.optionals gitImportSupport [ libgit2 ]) - ++ (lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreServices Security SystemConfiguration - ])); + ++ (lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreServices + Security + SystemConfiguration + ] + )); buildFeatures = lib.optional gitImportSupport "git"; @@ -43,7 +58,11 @@ rustPlatform.buildRustPackage rec { description = "Distributed version control system"; homepage = "https://pijul.org"; license = with licenses; [ gpl2Plus ]; - maintainers = with maintainers; [ gal_bolle dywedir fabianhjr ]; + maintainers = with maintainers; [ + gal_bolle + dywedir + fabianhjr + ]; mainProgram = "pijul"; }; } diff --git a/pkgs/by-name/pi/pika-backup/package.nix b/pkgs/by-name/pi/pika-backup/package.nix index f446dc47fffb3..0a2da631d60cf 100644 --- a/pkgs/by-name/pi/pika-backup/package.nix +++ b/pkgs/by-name/pi/pika-backup/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitLab -, rustPlatform -, substituteAll -, cargo -, desktop-file-utils -, git -, itstool -, meson -, ninja -, pkg-config -, python3 -, rustc -, wrapGAppsHook4 -, borgbackup -, gtk4 -, libadwaita -, libsecret +{ + lib, + stdenv, + fetchFromGitLab, + rustPlatform, + substituteAll, + cargo, + desktop-file-utils, + git, + itstool, + meson, + ninja, + pkg-config, + python3, + rustc, + wrapGAppsHook4, + borgbackup, + gtk4, + libadwaita, + libsecret, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pi/pika/package.nix b/pkgs/by-name/pi/pika/package.nix index e1e5726eb54d3..9288b69ef0a7f 100644 --- a/pkgs/by-name/pi/pika/package.nix +++ b/pkgs/by-name/pi/pika/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, stdenv -, undmg +{ + lib, + fetchurl, + stdenv, + undmg, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pi/pikchr/package.nix b/pkgs/by-name/pi/pikchr/package.nix index 2910bfaad4f63..afb2ddf44aaf7 100644 --- a/pkgs/by-name/pi/pikchr/package.nix +++ b/pkgs/by-name/pi/pikchr/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchfossil -, tcl +{ + lib, + stdenv, + fetchfossil, + tcl, -, enableTcl ? true + enableTcl ? true, }: stdenv.mkDerivation { @@ -30,16 +31,19 @@ stdenv.mkDerivation { buildFlags = [ "pikchr" ] ++ lib.optional enableTcl "piktcl"; - installPhase = '' - runHook preInstall - install -Dm755 pikchr $out/bin/pikchr - install -Dm755 pikchr.out $out/lib/pikchr.o - install -Dm644 pikchr.h $out/include/pikchr.h - '' + lib.optionalString enableTcl '' - cp -r piktcl $out/lib/piktcl - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + install -Dm755 pikchr $out/bin/pikchr + install -Dm755 pikchr.out $out/lib/pikchr.o + install -Dm644 pikchr.h $out/include/pikchr.h + '' + + lib.optionalString enableTcl '' + cp -r piktcl $out/lib/piktcl + '' + + '' + runHook postInstall + ''; dontWrapTclBinaries = true; diff --git a/pkgs/by-name/pi/piknik/package.nix b/pkgs/by-name/pi/piknik/package.nix index d3b2a8266b886..d10c7d4df743a 100644 --- a/pkgs/by-name/pi/piknik/package.nix +++ b/pkgs/by-name/pi/piknik/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, piknik +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + piknik, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests = { version = testers.testVersion { diff --git a/pkgs/by-name/pi/pim6sd/package.nix b/pkgs/by-name/pi/pim6sd/package.nix index 81b60d46e28b6..de22a71526d86 100644 --- a/pkgs/by-name/pi/pim6sd/package.nix +++ b/pkgs/by-name/pi/pim6sd/package.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchFromGitHub, lib, autoreconfHook, bison, flex }: +{ + stdenv, + fetchFromGitHub, + lib, + autoreconfHook, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "pim6sd"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "0x7dyark2mp9xqz9cnmmgaf0z143vxn2835clllpji4ylg77zdjw"; }; - nativeBuildInputs = [ autoreconfHook bison flex ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + ]; meta = with lib; { description = "PIM for IPv6 sparse mode daemon"; diff --git a/pkgs/by-name/pi/pinball/package.nix b/pkgs/by-name/pi/pinball/package.nix index f1ce5fb9d78c8..67f35ab0b1e33 100644 --- a/pkgs/by-name/pi/pinball/package.nix +++ b/pkgs/by-name/pi/pinball/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config -, libglvnd, SDL, SDL_image, SDL_mixer, xorg +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libglvnd, + SDL, + SDL_image, + SDL_mixer, + xorg, }: stdenv.mkDerivation rec { @@ -15,8 +24,17 @@ stdenv.mkDerivation rec { sed -i 's/^AUTOMAKE_OPTIONS = gnu$/AUTOMAKE_OPTIONS = foreign/' Makefile.am ''; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libglvnd SDL SDL_image SDL_mixer xorg.libSM ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libglvnd + SDL + SDL_image + SDL_mixer + xorg.libSM + ]; strictDeps = true; configureFlags = [ diff --git a/pkgs/by-name/pi/pinecone/package.nix b/pkgs/by-name/pi/pinecone/package.nix index 4bc503fff312f..ad8933af0b9aa 100644 --- a/pkgs/by-name/pi/pinecone/package.nix +++ b/pkgs/by-name/pi/pinecone/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "pinecone"; diff --git a/pkgs/by-name/pi/pinentry-bemenu/package.nix b/pkgs/by-name/pi/pinentry-bemenu/package.nix index e165fad36737c..aabea86e36b1f 100644 --- a/pkgs/by-name/pi/pinentry-bemenu/package.nix +++ b/pkgs/by-name/pi/pinentry-bemenu/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, libassuan -, libgpg-error, popt, bemenu }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libassuan, + libgpg-error, + popt, + bemenu, +}: stdenv.mkDerivation rec { pname = "pinentry-bemenu"; @@ -12,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-kiGUCcQIS58XjE4r0yiK4hJ85Sg5wrtBqeSYcgUKAmo="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; - buildInputs = [ libassuan libgpg-error popt bemenu ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + buildInputs = [ + libassuan + libgpg-error + popt + bemenu + ]; meta = with lib; { description = "Pinentry implementation based on bemenu"; diff --git a/pkgs/by-name/pi/pinentry-rofi/package.nix b/pkgs/by-name/pi/pinentry-rofi/package.nix index 3dd94b1e0fa14..a67ab511a00cc 100644 --- a/pkgs/by-name/pi/pinentry-rofi/package.nix +++ b/pkgs/by-name/pi/pinentry-rofi/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, autoreconfHook -, autoconf-archive -, guile -, texinfo -, rofi +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + autoreconfHook, + autoconf-archive, + guile, + texinfo, + rofi, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pi/pinfo/package.nix b/pkgs/by-name/pi/pinfo/package.nix index 5ec9e939ce556..d2c5abf2f8329 100644 --- a/pkgs/by-name/pi/pinfo/package.nix +++ b/pkgs/by-name/pi/pinfo/package.nix @@ -1,12 +1,13 @@ -{ lib -, autoreconfHook -, fetchFromGitHub -, fetchpatch -, gettext -, ncurses -, readline -, stdenv -, texinfo +{ + lib, + autoreconfHook, + fetchFromGitHub, + fetchpatch, + gettext, + ncurses, + readline, + stdenv, + texinfo, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pi/pingme/package.nix b/pkgs/by-name/pi/pingme/package.nix index 9914d4c8ee22f..c59f8e973c32f 100644 --- a/pkgs/by-name/pi/pingme/package.nix +++ b/pkgs/by-name/pi/pingme/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -24,7 +25,11 @@ buildGoModule rec { ''; proxyVendor = true; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = { changelog = "https://github.com/kha7iq/pingme/releases/tag/${src.rev}"; diff --git a/pkgs/by-name/pi/pingtcp/package.nix b/pkgs/by-name/pi/pingtcp/package.nix index 88476ab856869..71b6ca9c8aa8d 100644 --- a/pkgs/by-name/pi/pingtcp/package.nix +++ b/pkgs/by-name/pi/pingtcp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "pingtcp"; diff --git a/pkgs/by-name/pi/pingtunnel/package.nix b/pkgs/by-name/pi/pingtunnel/package.nix index e91e12fba747e..4f142c97a7642 100644 --- a/pkgs/by-name/pi/pingtunnel/package.nix +++ b/pkgs/by-name/pi/pingtunnel/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-SkBHFvQn3Q6fl/d1npEspTYhq1YrnusXNWr/Ky4bv64="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mv $out/bin/cmd $out/bin/pingtunnel diff --git a/pkgs/by-name/pi/pingus/package.nix b/pkgs/by-name/pi/pingus/package.nix index efee89fc0716f..7695408eeaf66 100644 --- a/pkgs/by-name/pi/pingus/package.nix +++ b/pkgs/by-name/pi/pingus/package.nix @@ -1,11 +1,38 @@ -{lib, stdenv, fetchgit, cmake, SDL2, SDL2_image, boost, libpng, SDL2_mixer -, pkg-config, libGLU, libGL, git, jsoncpp }: +{ + lib, + stdenv, + fetchgit, + cmake, + SDL2, + SDL2_image, + boost, + libpng, + SDL2_mixer, + pkg-config, + libGLU, + libGL, + git, + jsoncpp, +}: stdenv.mkDerivation rec { pname = "pingus"; version = "unstable-0.7.6.0.20191104"; - nativeBuildInputs = [ cmake pkg-config git ]; - buildInputs = [ SDL2 SDL2_image boost libpng SDL2_mixer libGLU libGL jsoncpp ]; + nativeBuildInputs = [ + cmake + pkg-config + git + ]; + buildInputs = [ + SDL2 + SDL2_image + boost + libpng + SDL2_mixer + libGLU + libGL + jsoncpp + ]; src = fetchgit { url = "https://gitlab.com/pingus/pingus/"; rev = "709546d9b9c4d6d5f45fc9112b45ac10c7f9417d"; @@ -22,7 +49,7 @@ stdenv.mkDerivation rec { description = "Puzzle game with mechanics similar to Lemmings"; mainProgram = "pingus"; platforms = lib.platforms.linux; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; license = lib.licenses.gpl3; }; } diff --git a/pkgs/by-name/pi/pinniped/package.nix b/pkgs/by-name/pi/pinniped/package.nix index 3e442256a6f84..f304fff8c4faf 100644 --- a/pkgs/by-name/pi/pinniped/package.nix +++ b/pkgs/by-name/pi/pinniped/package.nix @@ -1,6 +1,11 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles }: - -buildGoModule rec{ +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: + +buildGoModule rec { pname = "pinniped"; version = "0.35.0"; @@ -15,7 +20,10 @@ buildGoModule rec{ vendorHash = "sha256-I8lO4jUMFh0icwxSBCTgtFBn2nq10FKOx39XBHDdEZg="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/pi/pinokio/package.nix b/pkgs/by-name/pi/pinokio/package.nix index f71f7800c4620..94491c396b061 100644 --- a/pkgs/by-name/pi/pinokio/package.nix +++ b/pkgs/by-name/pi/pinokio/package.nix @@ -1,22 +1,26 @@ -{ lib -, stdenv -, fetchurl -, pkgs -, appimageTools +{ + lib, + stdenv, + fetchurl, + pkgs, + appimageTools, }: let pname = "pinokio"; version = "1.3.4"; - src = fetchurl { - x86_64-darwin = { - url = "https://github.com/pinokiocomputer/pinokio/releases/download/${version}/Pinokio-${version}.dmg"; - hash = "sha256-Il5zaVWu4icSsKmMjU9u1/Mih34fd+xNpF1nkFAFFGo="; - }; - x86_64-linux = { - url = "https://github.com/pinokiocomputer/pinokio/releases/download/${version}/Pinokio-${version}.AppImage"; - hash = "sha256-/E/IAOUgxH9RWpE2/vLlQy92LOgwpHF79K/1XEtSpXI="; - }; - }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + src = + fetchurl + { + x86_64-darwin = { + url = "https://github.com/pinokiocomputer/pinokio/releases/download/${version}/Pinokio-${version}.dmg"; + hash = "sha256-Il5zaVWu4icSsKmMjU9u1/Mih34fd+xNpF1nkFAFFGo="; + }; + x86_64-linux = { + url = "https://github.com/pinokiocomputer/pinokio/releases/download/${version}/Pinokio-${version}.AppImage"; + hash = "sha256-/E/IAOUgxH9RWpE2/vLlQy92LOgwpHF79K/1XEtSpXI="; + }; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); appimageContents = appimageTools.extractType2 { inherit pname version src; }; @@ -25,16 +29,23 @@ let description = "Browser to install, run, and programmatically control ANY application automatically"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ ByteSudoer ]; - platforms = [ "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + ]; mainProgram = "pinokio"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; in if stdenv.hostPlatform.isDarwin then - stdenv.mkDerivation - { - inherit pname version src meta; + stdenv.mkDerivation { + inherit + pname + version + src + meta + ; sourceRoot = "."; @@ -49,7 +60,12 @@ if stdenv.hostPlatform.isDarwin then } else appimageTools.wrapType2 { - inherit pname version src meta; + inherit + pname + version + src + meta + ; extraInstallCommands = '' mkdir -p $out/share/pinokio diff --git a/pkgs/by-name/pi/pinpoint/package.nix b/pkgs/by-name/pi/pinpoint/package.nix index d0b682e9b9663..a0afef7c60447 100644 --- a/pkgs/by-name/pi/pinpoint/package.nix +++ b/pkgs/by-name/pi/pinpoint/package.nix @@ -1,5 +1,16 @@ -{ fetchurl, lib, stdenv, pkg-config, autoconf, automake, clutter, clutter-gst -, gdk-pixbuf, cairo, clutter-gtk }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + autoconf, + automake, + clutter, + clutter-gst, + gdk-pixbuf, + cairo, + clutter-gtk, +}: stdenv.mkDerivation rec { pname = "pinpoint"; @@ -8,9 +19,18 @@ stdenv.mkDerivation rec { url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${pname}-${version}.tar.xz"; sha256 = "1jp8chr9vjlpb5lybwp5cg6g90ak5jdzz9baiqkbg0anlg8ps82s"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ clutter clutter-gst gdk-pixbuf - cairo clutter-gtk ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + clutter + clutter-gst + gdk-pixbuf + cairo + clutter-gtk + ]; meta = with lib; { homepage = "https://gitlab.gnome.org/Archive/pinpoint"; diff --git a/pkgs/by-name/pi/pinsel/package.nix b/pkgs/by-name/pi/pinsel/package.nix index de6cc3700838d..0fc192511c844 100644 --- a/pkgs/by-name/pi/pinsel/package.nix +++ b/pkgs/by-name/pi/pinsel/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gtk3, lua, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gtk3, + lua, + glib, +}: stdenv.mkDerivation rec { pname = "pinsel"; @@ -13,9 +21,15 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ pkg-config glib ]; + nativeBuildInputs = [ + pkg-config + glib + ]; - buildInputs = [ lua gtk3 ]; + buildInputs = [ + lua + gtk3 + ]; makeFlags = [ "INSTALLDIR=${placeholder "out"}/bin" ]; diff --git a/pkgs/by-name/pi/pinta/deps.nix b/pkgs/by-name/pi/pinta/deps.nix index 6d7e63396d768..1f7c4fd9e199e 100644 --- a/pkgs/by-name/pi/pinta/deps.nix +++ b/pkgs/by-name/pi/pinta/deps.nix @@ -1,19 +1,76 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "AtkSharp"; version = "3.24.24.38"; hash = "sha256-J9/+MU+zky18Lk3gfTCox6Jtm1SyjQQAK0vCb5Ecu4k="; }) - (fetchNuGet { pname = "CairoSharp"; version = "3.24.24.38"; hash = "sha256-DeXSAuSiGc7SzHb3HsUkLDLe5HZVpRn7VQFNhAAvflg="; }) - (fetchNuGet { pname = "GdkSharp"; version = "3.24.24.38"; hash = "sha256-JpggYCsUlrGZ1CKjCZMawiCjJDWQQc45YdYuA8L7rzA="; }) - (fetchNuGet { pname = "GioSharp"; version = "3.24.24.38"; hash = "sha256-RLd7hlelMgp9Eqga+0YxZVHN6GtbCe6IcHct2bPKcaw="; }) - (fetchNuGet { pname = "GLibSharp"; version = "3.24.24.38"; hash = "sha256-df/8vV4OeQ2v8k7HPNrKcoEQdfPUWrHmM2S1F3DrEag="; }) - (fetchNuGet { pname = "GtkSharp"; version = "3.24.24.38"; hash = "sha256-Uvx7/ylLL4HROPWifMZnOYD9fe0qxlc8QsCayN5TyDI="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; }) - (fetchNuGet { pname = "NGettext"; version = "0.6.7"; hash = "sha256-fmIODwPZkNJsnoNJG+EL1J5mpbuxYI4BsrgD1B4N2NI="; }) - (fetchNuGet { pname = "PangoSharp"; version = "3.24.24.38"; hash = "sha256-dq1c/G05iCmWmWZxwLV0e8qvQMS0620Bd0MSz4hEqjI="; }) - (fetchNuGet { pname = "ParagonClipper"; version = "6.4.2"; hash = "sha256-jCT6rkghEqMuGwiVeiIAspHW+kuiB2jRl9ireBwhVV0="; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.1"; hash = "sha256-ZsmWYdcr73k6Vd9HK1sKBrit6LLiSr+haH8l9h+UAbY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; hash = "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="; }) - (fetchNuGet { pname = "Tmds.DBus"; version = "0.11.0"; hash = "sha256-xNArjhSaEZcRiRB+mb9ZwUPQUqbLjRYt4JV2WUtM+hg="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "AtkSharp"; + version = "3.24.24.38"; + hash = "sha256-J9/+MU+zky18Lk3gfTCox6Jtm1SyjQQAK0vCb5Ecu4k="; + }) + (fetchNuGet { + pname = "CairoSharp"; + version = "3.24.24.38"; + hash = "sha256-DeXSAuSiGc7SzHb3HsUkLDLe5HZVpRn7VQFNhAAvflg="; + }) + (fetchNuGet { + pname = "GdkSharp"; + version = "3.24.24.38"; + hash = "sha256-JpggYCsUlrGZ1CKjCZMawiCjJDWQQc45YdYuA8L7rzA="; + }) + (fetchNuGet { + pname = "GioSharp"; + version = "3.24.24.38"; + hash = "sha256-RLd7hlelMgp9Eqga+0YxZVHN6GtbCe6IcHct2bPKcaw="; + }) + (fetchNuGet { + pname = "GLibSharp"; + version = "3.24.24.38"; + hash = "sha256-df/8vV4OeQ2v8k7HPNrKcoEQdfPUWrHmM2S1F3DrEag="; + }) + (fetchNuGet { + pname = "GtkSharp"; + version = "3.24.24.38"; + hash = "sha256-Uvx7/ylLL4HROPWifMZnOYD9fe0qxlc8QsCayN5TyDI="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "6.0.0"; + hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; + }) + (fetchNuGet { + pname = "NGettext"; + version = "0.6.7"; + hash = "sha256-fmIODwPZkNJsnoNJG+EL1J5mpbuxYI4BsrgD1B4N2NI="; + }) + (fetchNuGet { + pname = "PangoSharp"; + version = "3.24.24.38"; + hash = "sha256-dq1c/G05iCmWmWZxwLV0e8qvQMS0620Bd0MSz4hEqjI="; + }) + (fetchNuGet { + pname = "ParagonClipper"; + version = "6.4.2"; + hash = "sha256-jCT6rkghEqMuGwiVeiIAspHW+kuiB2jRl9ireBwhVV0="; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.1"; + hash = "sha256-ZsmWYdcr73k6Vd9HK1sKBrit6LLiSr+haH8l9h+UAbY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.7.0"; + hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.7.0"; + hash = "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="; + }) + (fetchNuGet { + pname = "Tmds.DBus"; + version = "0.11.0"; + hash = "sha256-xNArjhSaEZcRiRB+mb9ZwUPQUqbLjRYt4JV2WUtM+hg="; + }) ] diff --git a/pkgs/by-name/pi/pio/package.nix b/pkgs/by-name/pi/pio/package.nix index f79c12256e234..69e9c2ff06f69 100644 --- a/pkgs/by-name/pi/pio/package.nix +++ b/pkgs/by-name/pi/pio/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "pio"; diff --git a/pkgs/by-name/pi/pioasm/package.nix b/pkgs/by-name/pi/pioasm/package.nix index 150a26757036f..5abaf4f712fb9 100644 --- a/pkgs/by-name/pi/pioasm/package.nix +++ b/pkgs/by-name/pi/pioasm/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { }; sourceRoot = "${finalAttrs.src.name}/tools/pioasm"; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/pi/pioneer/package.nix b/pkgs/by-name/pi/pioneer/package.nix index 57518f084bc39..4b178e593516c 100644 --- a/pkgs/by-name/pi/pioneer/package.nix +++ b/pkgs/by-name/pi/pioneer/package.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, assimp -, curl -, freetype -#, glew -, libGL -, libGLU -, libpng -, libsigcxx -, libvorbis -, lua5_2 -, mesa -, SDL2 -, SDL2_image +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + assimp, + curl, + freetype, + #, glew + libGL, + libGLU, + libpng, + libsigcxx, + libvorbis, + lua5_2, + mesa, + SDL2, + SDL2_image, }: stdenv.mkDerivation rec { pname = "pioneer"; version = "20240710"; - src = fetchFromGitHub{ + src = fetchFromGitHub { owner = "pioneerspacesim"; repo = "pioneer"; rev = version; @@ -34,7 +35,10 @@ stdenv.mkDerivation rec { --replace 'string(TIMESTAMP PROJECT_VERSION "%Y%m%d")' 'set(PROJECT_VERSION ${version})' ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ assimp @@ -56,14 +60,21 @@ stdenv.mkDerivation rec { "-DUSE_SYSTEM_LIBLUA:BOOL=YES" ]; - makeFlags = [ "all" "build-data" ]; + makeFlags = [ + "all" + "build-data" + ]; meta = with lib; { description = "Space adventure game set in the Milky Way galaxy at the turn of the 31st century"; homepage = "https://pioneerspacesim.net"; license = with licenses; [ - gpl3Only cc-by-sa-30 + gpl3Only + cc-by-sa-30 + ]; + platforms = [ + "x86_64-linux" + "i686-linux" ]; - platforms = [ "x86_64-linux" "i686-linux" ]; }; } diff --git a/pkgs/by-name/pi/pioneers/package.nix b/pkgs/by-name/pi/pioneers/package.nix index ae1eb8c877664..fe68481031ed5 100644 --- a/pkgs/by-name/pi/pioneers/package.nix +++ b/pkgs/by-name/pi/pioneers/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, intltool -, itstool -, gtk3 -, libxml2 +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + itstool, + gtk3, + libxml2, }: stdenv.mkDerivation rec { @@ -16,13 +18,20 @@ stdenv.mkDerivation rec { sha256 = "07b3xdd81n8ybsb4fzc5lx0813y9crzp1hj69khncf4faj48sdcs"; }; - nativeBuildInputs = [ pkg-config intltool itstool ]; + nativeBuildInputs = [ + pkg-config + intltool + itstool + ]; - buildInputs = [ gtk3 libxml2 ]; + buildInputs = [ + gtk3 + libxml2 + ]; meta = with lib; { description = "Addicting game based on The Settlers of Catan"; - homepage = "https://pio.sourceforge.net/"; # https does not work + homepage = "https://pio.sourceforge.net/"; # https does not work license = licenses.gpl2Plus; maintainers = [ ]; platforms = platforms.linux; diff --git a/pkgs/by-name/pi/pipe-rename/package.nix b/pkgs/by-name/pi/pipe-rename/package.nix index dc8e545a7d8e4..556b3947a60c0 100644 --- a/pkgs/by-name/pi/pipe-rename/package.nix +++ b/pkgs/by-name/pi/pipe-rename/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchCrate, python3 }: +{ + lib, + rustPlatform, + fetchCrate, + python3, +}: rustPlatform.buildRustPackage rec { pname = "pipe-rename"; diff --git a/pkgs/by-name/pi/pipectl/package.nix b/pkgs/by-name/pi/pipectl/package.nix index 1854e414093c8..9c77e631429e3 100644 --- a/pkgs/by-name/pi/pipectl/package.nix +++ b/pkgs/by-name/pi/pipectl/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, scdoc +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + scdoc, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-pNBw1ukNaqu40qPXnORUGApYpJ/0EAO9Tq5zAbDe33I="; }; - nativeBuildInputs = [ cmake scdoc ]; + nativeBuildInputs = [ + cmake + scdoc + ]; cmakeFlags = [ "-DINSTALL_DOCUMENTATION=ON" diff --git a/pkgs/by-name/pi/pipenv/package.nix b/pkgs/by-name/pi/pipenv/package.nix index 0843e6162227b..35a160858278f 100644 --- a/pkgs/by-name/pi/pipenv/package.nix +++ b/pkgs/by-name/pi/pipenv/package.nix @@ -1,30 +1,35 @@ -{ lib -, stdenv -, python3 -, fetchFromGitHub -, installShellFiles -, pipenv -, runCommand +{ + lib, + stdenv, + python3, + fetchFromGitHub, + installShellFiles, + pipenv, + runCommand, }: with python3.pkgs; let - runtimeDeps = ps: with ps; [ - certifi - setuptools - pip - virtualenv - virtualenv-clone - ] - ++ lib.optionals stdenv.hostPlatform.isAndroid [ - pyjnius - ]; + runtimeDeps = + ps: + with ps; + [ + certifi + setuptools + pip + virtualenv + virtualenv-clone + ] + ++ lib.optionals stdenv.hostPlatform.isAndroid [ + pyjnius + ]; pythonEnv = python3.withPackages runtimeDeps; -in buildPythonApplication rec { +in +buildPythonApplication rec { pname = "pipenv"; version = "2024.2.0"; format = "pyproject"; @@ -78,7 +83,7 @@ in buildPythonApplication rec { ]; passthru.tests = { - verify-venv-patch = runCommand "${pname}-test-verify-venv-patch" {} '' + verify-venv-patch = runCommand "${pname}-test-verify-venv-patch" { } '' export PIPENV_VENV_IN_PROJECT=1 # "pipenv install" should be able to create a venv diff --git a/pkgs/by-name/pi/piper-phonemize/package.nix b/pkgs/by-name/pi/piper-phonemize/package.nix index b08495cae74c3..ed0a1396994ae 100644 --- a/pkgs/by-name/pi/piper-phonemize/package.nix +++ b/pkgs/by-name/pi/piper-phonemize/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, -# build -, cmake -, pkg-config + # build + cmake, + pkg-config, -# runtime -, espeak-ng -, onnxruntime + # runtime + espeak-ng, + onnxruntime, }: let diff --git a/pkgs/by-name/pi/pipes-rs/package.nix b/pkgs/by-name/pi/pipes-rs/package.nix index d1ca26da47587..dcdd1af1a8092 100644 --- a/pkgs/by-name/pi/pipes-rs/package.nix +++ b/pkgs/by-name/pi/pipes-rs/package.nix @@ -1,4 +1,8 @@ -{ rustPlatform, fetchFromGitHub, lib }: +{ + rustPlatform, + fetchFromGitHub, + lib, +}: rustPlatform.buildRustPackage rec { pname = "pipes-rs"; diff --git a/pkgs/by-name/pi/pipes/package.nix b/pkgs/by-name/pi/pipes/package.nix index bbabd02f4751d..a2a8b951081d7 100644 --- a/pkgs/by-name/pi/pipes/package.nix +++ b/pkgs/by-name/pi/pipes/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + ncurses, +}: stdenv.mkDerivation rec { pname = "pipes"; @@ -18,7 +25,12 @@ stdenv.mkDerivation rec { make PREFIX=$out/ install wrapProgram $out/bin/pipes.sh \ - --set PATH "${lib.makeBinPath [ coreutils ncurses ]}" + --set PATH "${ + lib.makeBinPath [ + coreutils + ncurses + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/pi/pipework/package.nix b/pkgs/by-name/pi/pipework/package.nix index fa3698b362061..94b272eccdbb5 100644 --- a/pkgs/by-name/pi/pipework/package.nix +++ b/pkgs/by-name/pi/pipework/package.nix @@ -1,5 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper -, bridge-utils, iproute2, lxc, openvswitch, docker, busybox, dhcpcd +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + bridge-utils, + iproute2, + lxc, + openvswitch, + docker, + busybox, + dhcpcd, }: stdenv.mkDerivation { @@ -15,7 +25,17 @@ stdenv.mkDerivation { installPhase = '' install -D pipework $out/bin/pipework wrapProgram $out/bin/pipework --prefix PATH : \ - ${lib.makeBinPath [ bridge-utils iproute2 lxc openvswitch docker busybox dhcpcd ]}; + ${ + lib.makeBinPath [ + bridge-utils + iproute2 + lxc + openvswitch + docker + busybox + dhcpcd + ] + }; ''; meta = with lib; { description = "Software-Defined Networking tools for LXC"; diff --git a/pkgs/by-name/pi/pipeworld/package.nix b/pkgs/by-name/pi/pipeworld/package.nix index 52c411d837774..364367fb68fa4 100644 --- a/pkgs/by-name/pi/pipeworld/package.nix +++ b/pkgs/by-name/pi/pipeworld/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalPackages: { diff --git a/pkgs/by-name/pi/pipr/package.nix b/pkgs/by-name/pi/pipr/package.nix index 466451443e470..4dfa47b0cf27c 100644 --- a/pkgs/by-name/pi/pipr/package.nix +++ b/pkgs/by-name/pi/pipr/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, bubblewrap -, makeWrapper +{ + lib, + fetchFromGitHub, + rustPlatform, + bubblewrap, + makeWrapper, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pi/pipreqs/package.nix b/pkgs/by-name/pi/pipreqs/package.nix index 49062b3a5cb85..afa52bfc15686 100644 --- a/pkgs/by-name/pi/pipreqs/package.nix +++ b/pkgs/by-name/pi/pipreqs/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchPypi }: +{ + lib, + python3, + fetchPypi, +}: with python3.pkgs; @@ -11,7 +15,10 @@ buildPythonApplication rec { hash = "sha256-oX8WeIC2khvjdTPOTIHdxuIrRlwQeq1VfbQ7Gt1WqZs="; }; - propagatedBuildInputs = [ yarg docopt ]; + propagatedBuildInputs = [ + yarg + docopt + ]; # Tests requires network access. Works fine without sandboxing doCheck = false; diff --git a/pkgs/by-name/pi/pirate-get/package.nix b/pkgs/by-name/pi/pirate-get/package.nix index 06d322b838690..3824efe0016fb 100644 --- a/pkgs/by-name/pi/pirate-get/package.nix +++ b/pkgs/by-name/pi/pirate-get/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: with python3Packages; @@ -11,7 +15,11 @@ buildPythonApplication rec { hash = "sha256-VtnVyJqrdGXTqcyzpHCOMUI9G7/BkXzihDrBrsxl7Eg="; }; - propagatedBuildInputs = [ colorama veryprettytable pyperclip ]; + propagatedBuildInputs = [ + colorama + veryprettytable + pyperclip + ]; meta = with lib; { description = "Command line interface for The Pirate Bay"; diff --git a/pkgs/by-name/pi/pistol/package.nix b/pkgs/by-name/pi/pistol/package.nix index c1b01697988d0..b38a4a34e6e86 100644 --- a/pkgs/by-name/pi/pistol/package.nix +++ b/pkgs/by-name/pi/pistol/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, file -, installShellFiles -, asciidoctor +{ + lib, + buildGoModule, + fetchFromGitHub, + file, + installShellFiles, + asciidoctor, }: buildGoModule rec { @@ -35,7 +36,11 @@ buildGoModule rec { installManPage pistol.1 ''; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; meta = with lib; { description = "General purpose file previewer designed for Ranger, Lf to make scope.sh redundant"; diff --git a/pkgs/by-name/pi/piston-cli/package.nix b/pkgs/by-name/pi/piston-cli/package.nix index 0309832787a40..f5ac2cf200b69 100644 --- a/pkgs/by-name/pi/piston-cli/package.nix +++ b/pkgs/by-name/pi/piston-cli/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, python3Packages, fetchPypi }: +{ + stdenv, + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "piston-cli"; @@ -10,7 +15,14 @@ python3Packages.buildPythonApplication rec { sha256 = "qvDGVJcaMXUajdUQWl4W1dost8k0PsS9XX/o8uQrtfY="; }; - propagatedBuildInputs = with python3Packages; [ rich prompt-toolkit requests pygments pyyaml more-itertools ]; + propagatedBuildInputs = with python3Packages; [ + rich + prompt-toolkit + requests + pygments + pyyaml + more-itertools + ]; checkPhase = '' $out/bin/piston --help > /dev/null diff --git a/pkgs/by-name/pi/pitch-black/package.nix b/pkgs/by-name/pi/pitch-black/package.nix index 092208f4f417d..221c577744d48 100644 --- a/pkgs/by-name/pi/pitch-black/package.nix +++ b/pkgs/by-name/pi/pitch-black/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: -stdenvNoCC.mkDerivation rec{ +stdenvNoCC.mkDerivation rec { pname = "pitch-black"; version = "unstable-2019-07-23"; diff --git a/pkgs/by-name/pi/pitivi/package.nix b/pkgs/by-name/pi/pitivi/package.nix index 616cce1a38987..6682826cbc6d7 100644 --- a/pkgs/by-name/pi/pitivi/package.nix +++ b/pkgs/by-name/pi/pitivi/package.nix @@ -1,22 +1,23 @@ -{ lib -, fetchurl -, pkg-config -, gettext -, itstool -, python3 -, wrapGAppsHook3 -, gst_all_1 -, gtk3 -, gobject-introspection -, libpeas -, librsvg -, gnome -, libnotify -, gsound -, meson -, ninja -, gsettings-desktop-schemas -, hicolor-icon-theme +{ + lib, + fetchurl, + pkg-config, + gettext, + itstool, + python3, + wrapGAppsHook3, + gst_all_1, + gtk3, + gobject-introspection, + libpeas, + librsvg, + gnome, + libnotify, + gsound, + meson, + ninja, + gsettings-desktop-schemas, + hicolor-icon-theme, }: python3.pkgs.buildPythonApplication rec { @@ -48,23 +49,25 @@ python3.pkgs.buildPythonApplication rec { gobject-introspection ]; - buildInputs = [ - gtk3 - libpeas - librsvg - gsound - gsettings-desktop-schemas - libnotify - ] ++ (with gst_all_1; [ - gstreamer - gst-editing-services - gst-plugins-base - (gst-plugins-good.override { gtkSupport = true; }) - gst-plugins-bad - gst-plugins-ugly - gst-libav - gst-devtools - ]); + buildInputs = + [ + gtk3 + libpeas + librsvg + gsound + gsettings-desktop-schemas + libnotify + ] + ++ (with gst_all_1; [ + gstreamer + gst-editing-services + gst-plugins-base + (gst-plugins-good.override { gtkSupport = true; }) + gst-plugins-bad + gst-plugins-ugly + gst-libav + gst-devtools + ]); pythonPath = with python3.pkgs; [ pygobject3 diff --git a/pkgs/by-name/pi/pius/package.nix b/pkgs/by-name/pi/pius/package.nix index 39c129b6b423c..946d4590b6fcb 100644 --- a/pkgs/by-name/pi/pius/package.nix +++ b/pkgs/by-name/pi/pius/package.nix @@ -1,6 +1,14 @@ -{ fetchFromGitHub, lib, python3Packages, gnupg, perl }: - -let version = "3.0.0"; in +{ + fetchFromGitHub, + lib, + python3Packages, + gnupg, + perl, +}: + +let + version = "3.0.0"; +in python3Packages.buildPythonApplication { pname = "pius"; namePrefix = ""; diff --git a/pkgs/by-name/pi/piv-agent/package.nix b/pkgs/by-name/pi/piv-agent/package.nix index 84f7db49becb0..227ff18f4b64b 100644 --- a/pkgs/by-name/pi/piv-agent/package.nix +++ b/pkgs/by-name/pi/piv-agent/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, buildGoModule -, darwin -, fetchFromGitHub -, pcsclite -, pkg-config +{ + lib, + stdenv, + buildGoModule, + darwin, + fetchFromGitHub, + pcsclite, + pkg-config, }: buildGoModule rec { @@ -22,14 +23,17 @@ buildGoModule rec { subPackages = [ "cmd/piv-agent" ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.shortCommit=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.shortCommit=${src.rev}" + ]; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; buildInputs = - if stdenv.hostPlatform.isDarwin - then [ darwin.apple_sdk.frameworks.PCSC ] - else [ pcsclite ]; + if stdenv.hostPlatform.isDarwin then [ darwin.apple_sdk.frameworks.PCSC ] else [ pcsclite ]; meta = with lib; { description = "SSH and GPG agent which you can use with your PIV hardware security device (e.g. a Yubikey)"; diff --git a/pkgs/by-name/pi/pix/package.nix b/pkgs/by-name/pi/pix/package.nix index e1fe6e7f2e769..93cee176fb392 100644 --- a/pkgs/by-name/pi/pix/package.nix +++ b/pkgs/by-name/pi/pix/package.nix @@ -1,34 +1,35 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, meson -, ninja -, brasero -, colord -, exiv2 -, libheif -, libjpeg -, libjxl -, libtiff -, gst_all_1 -, libraw -, libsecret -, glib -, gtk3 -, gsettings-desktop-schemas -, librsvg -, libwebp -, libX11 -, lcms2 -, bison -, flex -, wrapGAppsHook3 -, shared-mime-info -, python3 -, desktop-file-utils -, itstool -, xapp +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + meson, + ninja, + brasero, + colord, + exiv2, + libheif, + libjpeg, + libjxl, + libtiff, + gst_all_1, + libraw, + libsecret, + glib, + gtk3, + gsettings-desktop-schemas, + librsvg, + libwebp, + libX11, + lcms2, + bison, + flex, + wrapGAppsHook3, + shared-mime-info, + python3, + desktop-file-utils, + itstool, + xapp, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pi/pixd/package.nix b/pkgs/by-name/pi/pixd/package.nix index 84ad2c92e2074..57487c9f5efe9 100644 --- a/pkgs/by-name/pi/pixd/package.nix +++ b/pkgs/by-name/pi/pixd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pixd"; diff --git a/pkgs/by-name/pi/pixel-code/package.nix b/pkgs/by-name/pi/pixel-code/package.nix index 7c08deca93c24..92b3886685e9e 100644 --- a/pkgs/by-name/pi/pixel-code/package.nix +++ b/pkgs/by-name/pi/pixel-code/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "pixel-code"; @@ -7,7 +11,7 @@ stdenvNoCC.mkDerivation rec { src = fetchzip { url = "https://github.com/qwerasd205/PixelCode/releases/download/v${version}/otf.zip"; hash = "sha256-GNYEnv0bIWz5d8821N46FD2NBNBf3Dd7DNqjSdJKDoE="; - stripRoot=false; + stripRoot = false; }; installPhase = '' diff --git a/pkgs/by-name/pi/pixelnuke/package.nix b/pkgs/by-name/pi/pixelnuke/package.nix index c40a41590b70e..592e6d44b9b84 100644 --- a/pkgs/by-name/pi/pixelnuke/package.nix +++ b/pkgs/by-name/pi/pixelnuke/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libevent, glew, glfw }: +{ + lib, + stdenv, + fetchFromGitHub, + libevent, + glew, + glfw, +}: stdenv.mkDerivation (finalAttrs: { pname = "pixelnuke"; @@ -13,7 +20,11 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/pixelnuke"; - buildInputs = [ libevent glew glfw ]; + buildInputs = [ + libevent + glew + glfw + ]; installPhase = '' install -Dm755 ./pixelnuke $out/bin/pixelnuke diff --git a/pkgs/by-name/pi/pixeluvo/package.nix b/pkgs/by-name/pi/pixeluvo/package.nix index c89c2707116b6..585621045bb66 100644 --- a/pkgs/by-name/pi/pixeluvo/package.nix +++ b/pkgs/by-name/pi/pixeluvo/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper -, gtk3-x11 }: +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, + makeWrapper, + gtk3-x11, +}: stdenv.mkDerivation rec { pname = "pixeluvo"; diff --git a/pkgs/by-name/pi/pixiecore/package.nix b/pkgs/by-name/pi/pixiecore/package.nix index f6cb11d239218..f449bdb8d2765 100644 --- a/pkgs/by-name/pi/pixiecore/package.nix +++ b/pkgs/by-name/pi/pixiecore/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pixiecore"; @@ -21,7 +25,7 @@ buildGoModule rec { meta = { description = "Tool to manage network booting of machines"; homepage = "https://github.com/danderson/netboot/tree/master/pixiecore"; - license = lib.licenses.asl20; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ bbigras ]; mainProgram = "pixiecore"; }; diff --git a/pkgs/by-name/pi/pixiewps/package.nix b/pkgs/by-name/pi/pixiewps/package.nix index 044ccee37977f..d3ea7e8246123 100644 --- a/pkgs/by-name/pi/pixiewps/package.nix +++ b/pkgs/by-name/pi/pixiewps/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pixiewps"; diff --git a/pkgs/by-name/pi/pixman/package.nix b/pkgs/by-name/pi/pixman/package.nix index 0678539b79a3b..0e78b595987ab 100644 --- a/pkgs/by-name/pi/pixman/package.nix +++ b/pkgs/by-name/pi/pixman/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, libpng -, glib /*just passthru*/ +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + libpng, + glib, # just passthru -# for passthru.tests -, cairo -, qemu -, scribus -, tigervnc -, wlroots_0_17 -, wlroots_0_18 -, xwayland + # for passthru.tests + cairo, + qemu, + scribus, + tigervnc, + wlroots_0_17, + wlroots_0_18, + xwayland, -, gitUpdater -, testers + gitUpdater, + testers, -, __flattenIncludeHackHook + __flattenIncludeHackHook, }: stdenv.mkDerivation (finalAttrs: { @@ -42,7 +43,12 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = !stdenv.hostPlatform.isStatic; - nativeBuildInputs = [ meson ninja pkg-config __flattenIncludeHackHook ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + __flattenIncludeHackHook + ]; buildInputs = [ libpng ]; @@ -50,11 +56,12 @@ stdenv.mkDerivation (finalAttrs: { # architectures and requires used to disable them: # https://gitlab.freedesktop.org/pixman/pixman/-/issues/88 mesonAutoFeatures = "auto"; - mesonFlags = [ - "-Diwmmxt=disabled" - ] - # Disable until https://gitlab.freedesktop.org/pixman/pixman/-/issues/46 is resolved - ++ lib.optional (stdenv.hostPlatform.isAarch64 && !stdenv.cc.isGNU) "-Da64-neon=disabled"; + mesonFlags = + [ + "-Diwmmxt=disabled" + ] + # Disable until https://gitlab.freedesktop.org/pixman/pixman/-/issues/46 is resolved + ++ lib.optional (stdenv.hostPlatform.isAarch64 && !stdenv.cc.isGNU) "-Da64-neon=disabled"; preConfigure = '' # https://gitlab.freedesktop.org/pixman/pixman/-/issues/62 @@ -67,7 +74,15 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - inherit cairo qemu scribus tigervnc wlroots_0_17 wlroots_0_18 xwayland; + inherit + cairo + qemu + scribus + tigervnc + wlroots_0_17 + wlroots_0_18 + xwayland + ; pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; diff --git a/pkgs/by-name/pi/pixz/package.nix b/pkgs/by-name/pi/pixz/package.nix index 4e221ae18fc93..33d95b38ffdae 100644 --- a/pkgs/by-name/pi/pixz/package.nix +++ b/pkgs/by-name/pi/pixz/package.nix @@ -1,24 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, pkg-config -, asciidoc -, libxslt -, libxml2 -, docbook_xml_dtd_45 -, docbook_xsl -, libarchive -, xz +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + asciidoc, + libxslt, + libxml2, + docbook_xml_dtd_45, + docbook_xsl, + libarchive, + xz, }: stdenv.mkDerivation rec { pname = "pixz"; version = "1.0.7"; - nativeBuildInputs = [ pkg-config autoconf automake ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; buildInputs = [ libtool asciidoc diff --git a/pkgs/by-name/pi/pizarra/package.nix b/pkgs/by-name/pi/pizarra/package.nix index 2167eb3a9caf4..241208d479678 100644 --- a/pkgs/by-name/pi/pizarra/package.nix +++ b/pkgs/by-name/pi/pizarra/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitLab -, rustPlatform -, pkg-config -, gtk3-x11 -, atk -, glib -, librsvg -, gdk-pixbuf -, wrapGAppsHook3 +{ + lib, + fetchFromGitLab, + rustPlatform, + pkg-config, + gtk3-x11, + atk, + glib, + librsvg, + gdk-pixbuf, + wrapGAppsHook3, }: rustPlatform.buildRustPackage rec { @@ -24,9 +25,18 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-btvMUKADGHlXLmeKF1K9Js44SljZ0MejGId8aDwPhVU="; - nativeBuildInputs = [ wrapGAppsHook3 pkg-config gdk-pixbuf ]; + nativeBuildInputs = [ + wrapGAppsHook3 + pkg-config + gdk-pixbuf + ]; - buildInputs = [ gtk3-x11 atk glib librsvg ]; + buildInputs = [ + gtk3-x11 + atk + glib + librsvg + ]; postInstall = '' install -Dm444 res/icons/tk.categulario.pizarra.svg $out/share/icons/hicolor/scalable/apps/pizarra.svg diff --git a/pkgs/by-name/pk/pk2cmd/package.nix b/pkgs/by-name/pk/pk2cmd/package.nix index 9b04a668dadbe..2f26bbab365bc 100644 --- a/pkgs/by-name/pk/pk2cmd/package.nix +++ b/pkgs/by-name/pk/pk2cmd/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, libusb-compat-0_1, makeWrapper}: +{ + lib, + stdenv, + fetchurl, + libusb-compat-0_1, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "pk2cmd"; @@ -8,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "1yjpi2qshnqfpan4w3ggakkr3znfrx5cxkny92ka7v9na3g2fc4h"; }; - makeFlags = [ "LIBUSB=${libusb-compat-0_1.dev}" "linux" ]; + makeFlags = [ + "LIBUSB=${libusb-compat-0_1.dev}" + "linux" + ]; installPhase = '' mkdir -p $out/bin $out/share/pk2 @@ -22,7 +31,7 @@ stdenv.mkDerivation rec { meta = { homepage = "https://www.microchip.com/pickit2"; - license = lib.licenses.unfree; #MicroChip-PK2 + license = lib.licenses.unfree; # MicroChip-PK2 description = "Microchip PIC programming software for the PICKit2 programmer"; mainProgram = "pk2cmd"; }; diff --git a/pkgs/by-name/pk/pkcrack/package.nix b/pkgs/by-name/pk/pkcrack/package.nix index 5cbe977c38ec1..8422fd49c17ba 100644 --- a/pkgs/by-name/pk/pkcrack/package.nix +++ b/pkgs/by-name/pk/pkcrack/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pk/pkcs11helper/package.nix b/pkgs/by-name/pk/pkcs11helper/package.nix index 3723a6806ad9d..73699df0ead2a 100644 --- a/pkgs/by-name/pk/pkcs11helper/package.nix +++ b/pkgs/by-name/pk/pkcs11helper/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, openssl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + openssl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "pkcs11-helper"; @@ -11,14 +18,20 @@ stdenv.mkDerivation rec { hash = "sha256-FP3y/YHsPPqey4QfxIiC4QjruuK1K2Bg+2QL2gXDT+k="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ openssl ]; enableParallelBuilding = true; meta = with lib; { homepage = "https://github.com/OpenSC/pkcs11-helper"; - license = with licenses; [ bsd3 gpl2Only ]; + license = with licenses; [ + bsd3 + gpl2Only + ]; description = "Library that simplifies the interaction with PKCS#11 providers"; platforms = platforms.unix; }; diff --git a/pkgs/by-name/pk/pkg-config-unwrapped/package.nix b/pkgs/by-name/pk/pkg-config-unwrapped/package.nix index a04b8874e990f..bcd386b134b45 100644 --- a/pkgs/by-name/pk/pkg-config-unwrapped/package.nix +++ b/pkgs/by-name/pk/pkg-config-unwrapped/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libiconv, vanilla ? false }: +{ + lib, + stdenv, + fetchurl, + libiconv, + vanilla ? false, +}: stdenv.mkDerivation rec { pname = "pkg-config"; @@ -9,13 +15,18 @@ stdenv.mkDerivation rec { sha256 = "14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg"; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; strictDeps = true; # Process Requires.private properly, see # http://bugs.freedesktop.org/show_bug.cgi?id=4738, migrated to # https://gitlab.freedesktop.org/pkg-config/pkg-config/issues/28 - patches = lib.optional (!vanilla) ./requires-private.patch + patches = + lib.optional (!vanilla) ./requires-private.patch ++ lib.optional stdenv.hostPlatform.isCygwin ./2.36.3-not-win32.patch; # These three tests fail due to a (desired) behavior change from our ./requires-private.patch @@ -24,27 +35,34 @@ stdenv.mkDerivation rec { # necessary for FreeBSD code path in configure '' substituteInPlace ./config.guess ./glib/config.guess --replace-fail /usr/bin/uname uname - '' + lib.optionalString (!vanilla) '' + '' + + lib.optionalString (!vanilla) '' rm -f check/check-requires-private check/check-gtk check/missing ''; buildInputs = [ libiconv ]; - configureFlags = [ "--with-internal-glib" ] - ++ lib.optionals (stdenv.hostPlatform.isSunOS) [ "--with-libiconv=gnu" "--with-system-library-path" "--with-system-include-path" "CFLAGS=-DENABLE_NLS" ] - # Can't run these tests while cross-compiling - ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) - [ "glib_cv_stack_grows=no" - "glib_cv_uscore=no" - "ac_cv_func_posix_getpwuid_r=yes" - "ac_cv_func_posix_getgrgid_r=yes" - ]; + configureFlags = + [ "--with-internal-glib" ] + ++ lib.optionals (stdenv.hostPlatform.isSunOS) [ + "--with-libiconv=gnu" + "--with-system-library-path" + "--with-system-include-path" + "CFLAGS=-DENABLE_NLS" + ] + # Can't run these tests while cross-compiling + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "glib_cv_stack_grows=no" + "glib_cv_uscore=no" + "ac_cv_func_posix_getpwuid_r=yes" + "ac_cv_func_posix_getgrgid_r=yes" + ]; env.NIX_CFLAGS_COMPILE = toString ( # Silence "incompatible integer to pointer conversion passing 'gsize'" when building with Clang. - lib.optionals stdenv.cc.isClang ["-Wno-int-conversion"] + lib.optionals stdenv.cc.isClang [ "-Wno-int-conversion" ] # Silence fprintf format errors when building for Windows. - ++ lib.optionals stdenv.hostPlatform.isWindows ["-Wno-error=format"] + ++ lib.optionals stdenv.hostPlatform.isWindows [ "-Wno-error=format" ] ); enableParallelBuilding = true; diff --git a/pkgs/by-name/pk/pkg/package.nix b/pkgs/by-name/pk/pkg/package.nix index 76890f4bd515f..f1ee76af415c5 100644 --- a/pkgs/by-name/pk/pkg/package.nix +++ b/pkgs/by-name/pk/pkg/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, m4, pkg-config, tcl -, bzip2, elfutils, libarchive, libbsd, xz, openssl, zlib +{ + lib, + stdenv, + fetchFromGitHub, + m4, + pkg-config, + tcl, + bzip2, + elfutils, + libarchive, + libbsd, + xz, + openssl, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -16,9 +28,19 @@ stdenv.mkDerivation (finalAttrs: { setOutputFlags = false; separateDebugInfo = true; - nativeBuildInputs = [ m4 pkg-config tcl ]; - buildInputs = [ bzip2 elfutils libarchive openssl xz zlib ] - ++ lib.optional stdenv.hostPlatform.isLinux libbsd; + nativeBuildInputs = [ + m4 + pkg-config + tcl + ]; + buildInputs = [ + bzip2 + elfutils + libarchive + openssl + xz + zlib + ] ++ lib.optional stdenv.hostPlatform.isLinux libbsd; enableParallelBuilding = true; diff --git a/pkgs/by-name/pk/pkgdiff/package.nix b/pkgs/by-name/pk/pkgdiff/package.nix index 139c0f8e2d56c..68e5143e6ecc8 100644 --- a/pkgs/by-name/pk/pkgdiff/package.nix +++ b/pkgs/by-name/pk/pkgdiff/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perl, wdiff }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perl, + wdiff, +}: stdenv.mkDerivation rec { version = "1.7.2"; diff --git a/pkgs/by-name/pk/pkger/package.nix b/pkgs/by-name/pk/pkger/package.nix index 37895fbeed65b..5dbad7a889cab 100644 --- a/pkgs/by-name/pk/pkger/package.nix +++ b/pkgs/by-name/pk/pkger/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: diff --git a/pkgs/by-name/pk/pkgtop/package.nix b/pkgs/by-name/pk/pkgtop/package.nix index acb56dd47d4b0..c730478d8410c 100644 --- a/pkgs/by-name/pk/pkgtop/package.nix +++ b/pkgs/by-name/pk/pkgtop/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pk/pktgen/package.nix b/pkgs/by-name/pk/pktgen/package.nix index 7fbc445902e9b..6f7e723450c57 100644 --- a/pkgs/by-name/pk/pktgen/package.nix +++ b/pkgs/by-name/pk/pktgen/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, dpdk -, libbsd -, libpcap -, lua5_3 -, numactl -, util-linux -, gtk2 -, which -, withGtk ? false +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + dpdk, + libbsd, + libpcap, + lua5_3, + numactl, + util-linux, + gtk2, + which, + withGtk ? false, }: stdenv.mkDerivation rec { @@ -26,14 +27,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-eujVEU+XkxF1kIGQJoBW3oXXNSqBEzx6mwR2XYoHinM="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; - - buildInputs = [ - dpdk libbsd libpcap lua5_3 numactl which - ] ++ lib.optionals withGtk [ - gtk2 + nativeBuildInputs = [ + meson + ninja + pkg-config ]; + buildInputs = + [ + dpdk + libbsd + libpcap + lua5_3 + numactl + which + ] + ++ lib.optionals withGtk [ + gtk2 + ]; + RTE_SDK = dpdk; GUI = lib.optionalString withGtk "true"; @@ -58,7 +70,7 @@ stdenv.mkDerivation rec { description = "Traffic generator powered by DPDK"; homepage = "http://dpdk.org/"; license = licenses.bsdOriginal; - platforms = platforms.linux; + platforms = platforms.linux; maintainers = [ maintainers.abuibrahim ]; }; } diff --git a/pkgs/by-name/pl/planarity/package.nix b/pkgs/by-name/pl/planarity/package.nix index 21791267e1aec..c7e11394511b2 100644 --- a/pkgs/by-name/pl/planarity/package.nix +++ b/pkgs/by-name/pl/planarity/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pl/planetary_annihilation/package.nix b/pkgs/by-name/pl/planetary_annihilation/package.nix index fc94f80aa5373..4419612af2ff6 100644 --- a/pkgs/by-name/pl/planetary_annihilation/package.nix +++ b/pkgs/by-name/pl/planetary_annihilation/package.nix @@ -1,5 +1,26 @@ -{ lib, stdenv, patchelf, makeWrapper, gtk2, glib, udev, alsa-lib, atk -, nspr, fontconfig, cairo, pango, nss, freetype, gnome2, gdk-pixbuf, curl, systemd, xorg, requireFile }: +{ + lib, + stdenv, + patchelf, + makeWrapper, + gtk2, + glib, + udev, + alsa-lib, + atk, + nspr, + fontconfig, + cairo, + pango, + nss, + freetype, + gnome2, + gdk-pixbuf, + curl, + systemd, + xorg, + requireFile, +}: stdenv.mkDerivation rec { pname = "planetary-annihalation"; @@ -11,7 +32,10 @@ stdenv.mkDerivation rec { sha256 = "0imi3k5144dsn3ka9khx3dj76klkw46ga7m6rddqjk4yslwabh3k"; }; - nativeBuildInputs = [ patchelf makeWrapper ]; + nativeBuildInputs = [ + patchelf + makeWrapper + ]; installPhase = '' mkdir -p $out/{bin,lib} @@ -23,12 +47,58 @@ stdenv.mkDerivation rec { ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/PA" - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc xorg.libXdamage xorg.libXfixes gtk2 glib stdenv.cc.libc "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsa-lib atk nspr fontconfig cairo pango nss freetype gnome2.GConf gdk-pixbuf xorg.libXrender ]}:${lib.getLib stdenv.cc.cc}/lib64:${stdenv.cc.libc}/lib64" "$out/host/CoherentUI_Host" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${ + lib.makeLibraryPath [ + stdenv.cc.cc + xorg.libXdamage + xorg.libXfixes + gtk2 + glib + stdenv.cc.libc + "$out" + xorg.libXext + pango + udev + xorg.libX11 + xorg.libXcomposite + alsa-lib + atk + nspr + fontconfig + cairo + pango + nss + freetype + gnome2.GConf + gdk-pixbuf + xorg.libXrender + ] + }:${lib.getLib stdenv.cc.cc}/lib64:${stdenv.cc.libc}/lib64" "$out/host/CoherentUI_Host" - wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc xorg.libX11 xorg.libXcursor gtk2 glib curl "$out" ]}:${lib.getLib stdenv.cc.cc}/lib64:${stdenv.cc.libc}/lib64" + wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + xorg.libX11 + xorg.libXcursor + gtk2 + glib + curl + "$out" + ] + }:${lib.getLib stdenv.cc.cc}/lib64:${stdenv.cc.libc}/lib64" for f in $out/lib/*; do - patchelf --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc curl xorg.libX11 stdenv.cc.libc xorg.libXcursor "$out" ]}:${lib.getLib stdenv.cc.cc}/lib64:${stdenv.cc.libc}/lib64" $f + patchelf --set-rpath "${ + lib.makeLibraryPath [ + stdenv.cc.cc + curl + xorg.libX11 + stdenv.cc.libc + xorg.libXcursor + "$out" + ] + }:${lib.getLib stdenv.cc.cc}/lib64:${stdenv.cc.libc}/lib64" $f done ''; diff --git a/pkgs/by-name/pl/planify/package.nix b/pkgs/by-name/pl/planify/package.nix index 06059f87fef86..66933b0b48af7 100644 --- a/pkgs/by-name/pl/planify/package.nix +++ b/pkgs/by-name/pl/planify/package.nix @@ -1,29 +1,30 @@ -{ stdenv -, lib -, fetchFromGitHub -, desktop-file-utils -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 -, evolution-data-server-gtk4 -, glib -, glib-networking -, gst_all_1 -, gtk4 -, gtksourceview5 -, gxml -, json-glib -, libadwaita -, libgee -, libical -, libportal-gtk4 -, libsecret -, libsoup_3 -, pantheon -, sqlite -, webkitgtk_6_0 +{ + stdenv, + lib, + fetchFromGitHub, + desktop-file-utils, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + evolution-data-server-gtk4, + glib, + glib-networking, + gst_all_1, + gtk4, + gtksourceview5, + gxml, + json-glib, + libadwaita, + libgee, + libical, + libportal-gtk4, + libsecret, + libsoup_3, + pantheon, + sqlite, + webkitgtk_6_0, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pl/plank/package.nix b/pkgs/by-name/pl/plank/package.nix index cd03f1521abfa..bcfc33c653fb6 100644 --- a/pkgs/by-name/pl/plank/package.nix +++ b/pkgs/by-name/pl/plank/package.nix @@ -1,28 +1,30 @@ -{ lib, stdenv -, fetchurl -, vala -, atk -, cairo -, dconf -, glib -, gnome-common -, gtk3 -, libwnck -, libX11 -, libXfixes -, libXi -, pango -, gettext -, pkg-config -, libxml2 -, bamf -, gdk-pixbuf -, libdbusmenu-gtk3 -, file -, gnome-menus -, libgee -, wrapGAppsHook3 -, autoreconfHook +{ + lib, + stdenv, + fetchurl, + vala, + atk, + cairo, + dconf, + glib, + gnome-common, + gtk3, + libwnck, + libX11, + libXfixes, + libXi, + pango, + gettext, + pkg-config, + libxml2, + bamf, + gdk-pixbuf, + libdbusmenu-gtk3, + file, + gnome-menus, + libgee, + wrapGAppsHook3, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pl/planner/package.nix b/pkgs/by-name/pl/planner/package.nix index e27fd037df446..24b026d257d1e 100644 --- a/pkgs/by-name/pl/planner/package.nix +++ b/pkgs/by-name/pl/planner/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab -, desktop-file-utils -, gsettings-desktop-schemas -, glib -, gtk3 -, libgda -, libxml2 -, libxslt -, makeWrapper -, meson -, ninja -, pkg-config -, shared-mime-info +{ + lib, + stdenv, + fetchFromGitLab, + desktop-file-utils, + gsettings-desktop-schemas, + glib, + gtk3, + libgda, + libxml2, + libxslt, + makeWrapper, + meson, + ninja, + pkg-config, + shared-mime-info, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pl/plano-theme/package.nix b/pkgs/by-name/pl/plano-theme/package.nix index c321dc235c49a..a19385c8cd997 100644 --- a/pkgs/by-name/pl/plano-theme/package.nix +++ b/pkgs/by-name/pl/plano-theme/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, meson -, ninja -, gdk-pixbuf -, gtk_engines -, gtk-engine-murrine -, librsvg -, sassc +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + gdk-pixbuf, + gtk_engines, + gtk-engine-murrine, + librsvg, + sassc, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pl/planus/package.nix b/pkgs/by-name/pl/planus/package.nix index b92906e182651..b0bde1b7caac6 100644 --- a/pkgs/by-name/pl/planus/package.nix +++ b/pkgs/by-name/pl/planus/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, installShellFiles -, stdenv +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -33,7 +34,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "planus"; homepage = "https://github.com/planus-org/planus"; changelog = "https://github.com/planus-org/planus/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/pl/plasma-hud/package.nix b/pkgs/by-name/pl/plasma-hud/package.nix index e70162b79af74..078bda093c5b8 100644 --- a/pkgs/by-name/pl/plasma-hud/package.nix +++ b/pkgs/by-name/pl/plasma-hud/package.nix @@ -1,9 +1,10 @@ -{ wrapGAppsHook3 -, lib -, python3Packages -, fetchFromGitHub -, rofi -, gobject-introspection +{ + wrapGAppsHook3, + lib, + python3Packages, + fetchFromGitHub, + rofi, + gobject-introspection, }: python3Packages.buildPythonApplication rec { @@ -23,12 +24,14 @@ python3Packages.buildPythonApplication rec { wrapGAppsHook3 ]; - propagatedBuildInputs = (with python3Packages; [ - dbus-python - pygobject3 - setproctitle - xlib - ]) ++ [ rofi ]; + propagatedBuildInputs = + (with python3Packages; [ + dbus-python + pygobject3 + setproctitle + xlib + ]) + ++ [ rofi ]; postPatch = '' sed -i "s:/usr/lib/plasma-hud:$out/bin:" etc/xdg/autostart/plasma-hud.desktop diff --git a/pkgs/by-name/pl/plasma-overdose-kde-theme/package.nix b/pkgs/by-name/pl/plasma-overdose-kde-theme/package.nix index dc80c669804a3..261a1b10e2daf 100644 --- a/pkgs/by-name/pl/plasma-overdose-kde-theme/package.nix +++ b/pkgs/by-name/pl/plasma-overdose-kde-theme/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "plasma-overdose-kde-theme"; diff --git a/pkgs/by-name/pl/platform-folders/package.nix b/pkgs/by-name/pl/platform-folders/package.nix index 27f4446891bd0..5fa41c3915950 100644 --- a/pkgs/by-name/pl/platform-folders/package.nix +++ b/pkgs/by-name/pl/platform-folders/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "platform-folders"; diff --git a/pkgs/by-name/pl/platformsh/package.nix b/pkgs/by-name/pl/platformsh/package.nix index 730990f103ff4..e5960098085d8 100644 --- a/pkgs/by-name/pl/platformsh/package.nix +++ b/pkgs/by-name/pl/platformsh/package.nix @@ -4,18 +4,27 @@ fetchurl, testers, installShellFiles, - platformsh + platformsh, }: -let versions = lib.importJSON ./versions.json; - arch = if stdenvNoCC.hostPlatform.isx86_64 then "amd64" - else if stdenvNoCC.hostPlatform.isAarch64 then "arm64" - else throw "Unsupported architecture"; - os = if stdenvNoCC.hostPlatform.isLinux then "linux" - else if stdenvNoCC.hostPlatform.isDarwin then "darwin" - else throw "Unsupported os"; - versionInfo = versions."${os}-${arch}"; - inherit (versionInfo) hash url; +let + versions = lib.importJSON ./versions.json; + arch = + if stdenvNoCC.hostPlatform.isx86_64 then + "amd64" + else if stdenvNoCC.hostPlatform.isAarch64 then + "arm64" + else + throw "Unsupported architecture"; + os = + if stdenvNoCC.hostPlatform.isLinux then + "linux" + else if stdenvNoCC.hostPlatform.isDarwin then + "darwin" + else + throw "Unsupported os"; + versionInfo = versions."${os}-${arch}"; + inherit (versionInfo) hash url; in stdenvNoCC.mkDerivation (finalAttrs: { @@ -55,8 +64,16 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://github.com/platformsh/cli"; license = lib.licenses.mit; mainProgram = "platform"; - maintainers = with lib.maintainers; [ shyim spk ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with lib.maintainers; [ + shyim + spk + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/by-name/pl/platinum-searcher/package.nix b/pkgs/by-name/pl/platinum-searcher/package.nix index 92386af9cb34e..76568d9482e01 100644 --- a/pkgs/by-name/pl/platinum-searcher/package.nix +++ b/pkgs/by-name/pl/platinum-searcher/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "the_platinum_searcher"; @@ -21,7 +26,10 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/monochromegane/the_platinum_searcher"; diff --git a/pkgs/by-name/pl/platypus/package.nix b/pkgs/by-name/pl/platypus/package.nix index 56e1852213961..893377db79a17 100644 --- a/pkgs/by-name/pl/platypus/package.nix +++ b/pkgs/by-name/pl/platypus/package.nix @@ -1,8 +1,18 @@ -{lib, stdenv, fetchFromGitHub, python27, htslib, zlib, makeWrapper}: - -let python = python27.withPackages (ps: with ps; [ cython ]); - -in stdenv.mkDerivation { +{ + lib, + stdenv, + fetchFromGitHub, + python27, + htslib, + zlib, + makeWrapper, +}: + +let + python = python27.withPackages (ps: with ps; [ cython ]); + +in +stdenv.mkDerivation { pname = "platypus-unstable"; version = "2018-07-22"; @@ -14,7 +24,11 @@ in stdenv.mkDerivation { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ htslib python zlib ]; + buildInputs = [ + htslib + python + zlib + ]; buildPhase = '' patchShebangs . diff --git a/pkgs/by-name/pl/play-with-mpv/package.nix b/pkgs/by-name/pl/play-with-mpv/package.nix index 16e645eb44550..32fba102e6800 100644 --- a/pkgs/by-name/pl/play-with-mpv/package.nix +++ b/pkgs/by-name/pl/play-with-mpv/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchFromGitHub -, fetchurl -, youtube-dl +{ + lib, + python3Packages, + fetchFromGitHub, + fetchurl, + youtube-dl, }: let diff --git a/pkgs/by-name/pl/playerctl/package.nix b/pkgs/by-name/pl/playerctl/package.nix index e65f9a20989b5..e4a4b10d1e6df 100644 --- a/pkgs/by-name/pl/playerctl/package.nix +++ b/pkgs/by-name/pl/playerctl/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, buildPackages -, docbook_xsl -, fetchFromGitHub -, glib -, gobject-introspection -, gtk-doc -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, withDocs ? stdenv.hostPlatform.emulatorAvailable buildPackages +{ + lib, + stdenv, + buildPackages, + docbook_xsl, + fetchFromGitHub, + glib, + gobject-introspection, + gtk-doc, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + withDocs ? stdenv.hostPlatform.emulatorAvailable buildPackages, }: stdenv.mkDerivation rec { @@ -24,16 +25,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-OiGKUnsKX0ihDRceZoNkcZcEAnz17h2j2QUOSVcxQEY="; }; - nativeBuildInputs = [ - docbook_xsl - gobject-introspection - gtk-doc - meson - ninja - pkg-config - ] ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + docbook_xsl + gobject-introspection + gtk-doc + meson + ninja + pkg-config + ] + ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib ]; mesonFlags = [ diff --git a/pkgs/by-name/pl/please-cli/package.nix b/pkgs/by-name/pl/please-cli/package.nix index 35d877d6eebe6..664b11dcfd2b7 100644 --- a/pkgs/by-name/pl/please-cli/package.nix +++ b/pkgs/by-name/pl/please-cli/package.nix @@ -1,11 +1,12 @@ -{ lib -, curl -, fetchFromGitHub -, jq -, makeBinaryWrapper -, please-cli -, stdenv -, testers +{ + lib, + curl, + fetchFromGitHub, + jq, + makeBinaryWrapper, + please-cli, + stdenv, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +26,12 @@ stdenv.mkDerivation (finalAttrs: { runHook preInstall install -Dm555 please.sh "$out/bin/please" wrapProgram $out/bin/please \ - --prefix PATH : ${lib.makeBinPath [ curl jq ]} + --prefix PATH : ${ + lib.makeBinPath [ + curl + jq + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/pl/please/package.nix b/pkgs/by-name/pl/please/package.nix index 4cdaa9b8099f8..f3616493419e0 100644 --- a/pkgs/by-name/pl/please/package.nix +++ b/pkgs/by-name/pl/please/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, installShellFiles -, pam -, nixosTests +{ + lib, + rustPlatform, + fetchFromGitLab, + installShellFiles, + pam, + nixosTests, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pl/plecost/package.nix b/pkgs/by-name/pl/plecost/package.nix index 477ed9e82645b..942b0f232665b 100644 --- a/pkgs/by-name/pl/plecost/package.nix +++ b/pkgs/by-name/pl/plecost/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchFromGitHub, fetchpatch }: +{ + lib, + python3Packages, + fetchFromGitHub, + fetchpatch, +}: python3Packages.buildPythonApplication rec { pname = "plecost"; diff --git a/pkgs/by-name/pl/plemoljp-hs/package.nix b/pkgs/by-name/pl/plemoljp-hs/package.nix index e96b554726374..c459c6a39c048 100644 --- a/pkgs/by-name/pl/plemoljp-hs/package.nix +++ b/pkgs/by-name/pl/plemoljp-hs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "plemoljp-hs"; diff --git a/pkgs/by-name/pl/plemoljp-nf/package.nix b/pkgs/by-name/pl/plemoljp-nf/package.nix index c4675319ec0e6..c010d58baeb5f 100644 --- a/pkgs/by-name/pl/plemoljp-nf/package.nix +++ b/pkgs/by-name/pl/plemoljp-nf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "plemoljp-nf"; diff --git a/pkgs/by-name/pl/plemoljp/package.nix b/pkgs/by-name/pl/plemoljp/package.nix index 8f7f092de310c..877a0295f3fd9 100644 --- a/pkgs/by-name/pl/plemoljp/package.nix +++ b/pkgs/by-name/pl/plemoljp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "plemoljp"; diff --git a/pkgs/by-name/pl/plib/package.nix b/pkgs/by-name/pl/plib/package.nix index de93d6944c939..50c113b5466e1 100644 --- a/pkgs/by-name/pl/plib/package.nix +++ b/pkgs/by-name/pl/plib/package.nix @@ -1,5 +1,18 @@ -{ fetchurl, fetchpatch, lib, stdenv, libGLU, libGL, libglut, SDL -, libXi, libSM, libXmu, libXext, libX11 }: +{ + fetchurl, + fetchpatch, + lib, + stdenv, + libGLU, + libGL, + libglut, + SDL, + libXi, + libSM, + libXmu, + libXext, + libX11, +}: stdenv.mkDerivation rec { pname = "plib"; @@ -27,10 +40,17 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - libGLU libGL libglut SDL + libGLU + libGL + libglut + SDL # The following libs ought to be propagated build inputs of Mesa. - libXi libSM libXmu libXext libX11 + libXi + libSM + libXmu + libXext + libX11 ]; meta = { diff --git a/pkgs/by-name/pl/plink-ng/package.nix b/pkgs/by-name/pl/plink-ng/package.nix index b66bed97a94a5..74b04c56eccea 100644 --- a/pkgs/by-name/pl/plink-ng/package.nix +++ b/pkgs/by-name/pl/plink-ng/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, zlib, blas, lapack, darwin}: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + blas, + lapack, + darwin, +}: stdenv.mkDerivation rec { pname = "plink-ng"; @@ -11,7 +19,17 @@ stdenv.mkDerivation rec { sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq"; }; - buildInputs = [ zlib ] ++ (if stdenv.hostPlatform.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ blas lapack ]) ; + buildInputs = + [ zlib ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ darwin.apple_sdk.frameworks.Accelerate ] + else + [ + blas + lapack + ] + ); preBuild = '' sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h diff --git a/pkgs/by-name/pl/plistcpp/package.nix b/pkgs/by-name/pl/plistcpp/package.nix index c2e765e4f5d05..4b1aea8d12185 100644 --- a/pkgs/by-name/pl/plistcpp/package.nix +++ b/pkgs/by-name/pl/plistcpp/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, nsplist -, pugixml +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + nsplist, + pugixml, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/pl/plistwatch/package.nix b/pkgs/by-name/pl/plistwatch/package.nix index 0c99363510c86..691c164f62348 100644 --- a/pkgs/by-name/pl/plistwatch/package.nix +++ b/pkgs/by-name/pl/plistwatch/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pl/plm/package.nix b/pkgs/by-name/pl/plm/package.nix index a0a16515e228d..df50f2e1554b9 100644 --- a/pkgs/by-name/pl/plm/package.nix +++ b/pkgs/by-name/pl/plm/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre, gcc, valgrind }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, + gcc, + valgrind, +}: # gcc and valgrind are not strict dependencies, they could be made # optional. They are here because plm can only help you learn C if you # have them installed. @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ jre gcc valgrind ]; + buildInputs = [ + jre + gcc + valgrind + ]; dontUnpack = true; diff --git a/pkgs/by-name/pl/plocate/package.nix b/pkgs/by-name/pl/plocate/package.nix index ebd751d1caf92..5a38cd82123f6 100644 --- a/pkgs/by-name/pl/plocate/package.nix +++ b/pkgs/by-name/pl/plocate/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchgit -, pkg-config -, meson -, ninja -, systemd -, liburing -, zstd +{ + stdenv, + lib, + fetchgit, + pkg-config, + meson, + ninja, + systemd, + liburing, + zstd, }: stdenv.mkDerivation rec { pname = "plocate"; @@ -23,9 +24,17 @@ stdenv.mkDerivation rec { -e '/mkdir\.sh/d' ''; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; - buildInputs = [ systemd liburing zstd ]; + buildInputs = [ + systemd + liburing + zstd + ]; mesonFlags = [ "-Dsystemunitdir=${placeholder "out"}/etc/systemd/system" @@ -37,7 +46,10 @@ stdenv.mkDerivation rec { description = "Much faster locate"; homepage = "https://plocate.sesse.net/"; license = licenses.mit; - maintainers = with maintainers; [ peterhoeg SuperSandro2000 ]; + maintainers = with maintainers; [ + peterhoeg + SuperSandro2000 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/pl/plog/package.nix b/pkgs/by-name/pl/plog/package.nix index 45b0fa49a1ab5..87d8e066ec861 100644 --- a/pkgs/by-name/pl/plog/package.nix +++ b/pkgs/by-name/pl/plog/package.nix @@ -1,14 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { pname = "plog"; version = "1.1.10"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "SergiusTheBest"; @@ -31,6 +35,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/SergiusTheBest/plog"; license = licenses.mit; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ raphaelr erdnaxe ]; + maintainers = with maintainers; [ + raphaelr + erdnaxe + ]; }; } diff --git a/pkgs/by-name/pl/ploticus/package.nix b/pkgs/by-name/pl/ploticus/package.nix index b9ffbe78b0bf6..63f2409da4b82 100644 --- a/pkgs/by-name/pl/ploticus/package.nix +++ b/pkgs/by-name/pl/ploticus/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, zlib -, libX11 -, libpng -, libjpeg -, gd -, freetype -, runCommand +{ + lib, + stdenv, + fetchurl, + zlib, + libX11, + libpng, + libjpeg, + gd, + freetype, + runCommand, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,9 @@ stdenv.mkDerivation (finalAttrs: { version = "2.42"; src = fetchurl { - url = "mirror://sourceforge/ploticus/ploticus/${finalAttrs.version}/ploticus${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}_src.tar.gz"; + url = "mirror://sourceforge/ploticus/ploticus/${finalAttrs.version}/ploticus${ + lib.replaceStrings [ "." ] [ "" ] finalAttrs.version + }_src.tar.gz"; sha256 = "PynkufQFIDqT7+yQDlgW2eG0OBghiB4kHAjKt91m4LA="; }; @@ -69,13 +72,16 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru.tests = { - prefab = runCommand "ploticus-prefab-test" { - nativeBuildInputs = [ finalAttrs.finalPackage ]; - } '' - # trivial test to see if the prefab path munging works - mkdir $out/ - pl -prefab scat inlinedata="A 1 2" x=2 y=3 -png -o $out/out.png - ''; + prefab = + runCommand "ploticus-prefab-test" + { + nativeBuildInputs = [ finalAttrs.finalPackage ]; + } + '' + # trivial test to see if the prefab path munging works + mkdir $out/ + pl -prefab scat inlinedata="A 1 2" x=2 y=3 -png -o $out/out.png + ''; }; meta = with lib; { diff --git a/pkgs/by-name/pl/plotinus/package.nix b/pkgs/by-name/pl/plotinus/package.nix index f8b50d55cdf49..4d66711a32202 100644 --- a/pkgs/by-name/pl/plotinus/package.nix +++ b/pkgs/by-name/pl/plotinus/package.nix @@ -1,14 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, gettext -, libxml2 -, pkg-config -, gtk3 -, cmake -, ninja -, vala -, nixosTests -, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + libxml2, + pkg-config, + gtk3, + cmake, + ninja, + vala, + nixosTests, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "plotinus"; diff --git a/pkgs/by-name/pl/plots/package.nix b/pkgs/by-name/pl/plots/package.nix index c53a0a57beb3b..781309d7aa548 100644 --- a/pkgs/by-name/pl/plots/package.nix +++ b/pkgs/by-name/pl/plots/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3Packages -, gobject-introspection -, libadwaita -, wrapGAppsHook4 -, lmmath +{ + lib, + fetchFromGitHub, + python3Packages, + gobject-introspection, + libadwaita, + wrapGAppsHook4, + lmmath, }: python3Packages.buildPythonApplication rec { @@ -18,7 +19,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-GjNpaorxkkhZsqrKq4kO5nqF5+4I4tmSc023AZpY8Sw="; }; - nativeBuildInputs = [ gobject-introspection wrapGAppsHook4 ]; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook4 + ]; buildInputs = [ libadwaita ]; propagatedBuildInputs = with python3Packages; [ diff --git a/pkgs/by-name/pl/plotutils/package.nix b/pkgs/by-name/pl/plotutils/package.nix index da1aeb806ecac..18f3da2c1bcdd 100644 --- a/pkgs/by-name/pl/plotutils/package.nix +++ b/pkgs/by-name/pl/plotutils/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, libpng, autoreconfHook }: +{ + fetchurl, + lib, + stdenv, + libpng, + autoreconfHook, +}: # debian splits this package into plotutils and libplot2c2 @@ -16,7 +22,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ libpng ]; - patches = map fetchurl (import ./debian-patches.nix) + patches = + map fetchurl (import ./debian-patches.nix) # `pic2plot/gram.cc` uses the register storage class specifier, which is not supported in C++17. # This prevents clang 16 from building plotutils because it defaults to C++17. ++ [ ./c++17-register-usage-fix.patch ]; diff --git a/pkgs/by-name/pl/plow/package.nix b/pkgs/by-name/pl/plow/package.nix index 981787d16d94d..25baa628f55fd 100644 --- a/pkgs/by-name/pl/plow/package.nix +++ b/pkgs/by-name/pl/plow/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, plow }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + plow, +}: buildGoModule rec { pname = "plow"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-t2lBPyCn8bu9hLsWmaCGir9egbX0mQR+8kB0RfY7nHE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = plow; diff --git a/pkgs/by-name/pl/plowshare/package.nix b/pkgs/by-name/pl/plowshare/package.nix index 3615164276743..50ccefde02a2c 100644 --- a/pkgs/by-name/pl/plowshare/package.nix +++ b/pkgs/by-name/pl/plowshare/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey_115 }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + curl, + recode, + spidermonkey_115, +}: stdenv.mkDerivation rec { @@ -20,7 +28,13 @@ stdenv.mkDerivation rec { make PREFIX="$out" install for fn in plow{del,down,list,mod,probe,up}; do - wrapProgram "$out/bin/$fn" --prefix PATH : "${lib.makeBinPath [ curl recode spidermonkey_115 ]}" + wrapProgram "$out/bin/$fn" --prefix PATH : "${ + lib.makeBinPath [ + curl + recode + spidermonkey_115 + ] + }" done ''; diff --git a/pkgs/by-name/pl/pls/package.nix b/pkgs/by-name/pl/pls/package.nix index 0b51b8bad0ba8..b4a0b9a5f50f9 100644 --- a/pkgs/by-name/pl/pls/package.nix +++ b/pkgs/by-name/pl/pls/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pl/plugdata/package.nix b/pkgs/by-name/pl/plugdata/package.nix index 6998cb00eaebb..1d6fa9ce4e240 100644 --- a/pkgs/by-name/pl/plugdata/package.nix +++ b/pkgs/by-name/pl/plugdata/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, ensureNewerSourcesForZipFilesHook -, makeDesktopItem -, imagemagick -, cmake -, pkg-config -, alsa-lib -, freetype -, webkitgtk_4_0 -, zenity -, curl -, xorg -, python3 -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + ensureNewerSourcesForZipFilesHook, + makeDesktopItem, + imagemagick, + cmake, + pkg-config, + alsa-lib, + freetype, + webkitgtk_4_0, + zenity, + curl, + xorg, + python3, + makeWrapper, }: let @@ -25,7 +26,10 @@ let icon = "plugdata_logo.png"; comment = "Pure Data as a plugin, with a new GUI"; type = "Application"; - categories = [ "AudioVideo" "Music" ]; + categories = [ + "AudioVideo" + "Music" + ]; }; in stdenv.mkDerivation (finalAttrs: { @@ -61,14 +65,16 @@ stdenv.mkDerivation (finalAttrs: { xorg.libXrandr ]; # Standard fix for JUCE programs: https://github.com/NixOS/nixpkgs/blob/5014727e62ae7b22fb1afc61d789ca6ad9170435/pkgs/applications/audio/bespokesynth/default.nix#L137 - env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-rpath ${lib.makeLibraryPath ([ - xorg.libX11 - xorg.libXrandr - xorg.libXinerama - xorg.libXext - xorg.libXcursor - xorg.libXrender - ])}"; + env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-rpath ${ + lib.makeLibraryPath ([ + xorg.libX11 + xorg.libXrandr + xorg.libXinerama + xorg.libXext + xorg.libXcursor + xorg.libXrender + ]) + }"; dontPatchELF = true; # needed or nix will try to optimize the binary by removing "useless" rpath postPatch = '' @@ -98,18 +104,22 @@ stdenv.mkDerivation (finalAttrs: { ''; postInstall = '' - # Ensure zenity is available, or it won't be able to open new files. - # These X11 libs get dlopen'd, they cause visual bugs when unavailable. - wrapProgram $out/bin/plugdata \ - --prefix PATH : '${lib.makeBinPath [ + # Ensure zenity is available, or it won't be able to open new files. + # These X11 libs get dlopen'd, they cause visual bugs when unavailable. + wrapProgram $out/bin/plugdata \ + --prefix PATH : '${ + lib.makeBinPath [ zenity - ]}' \ - --prefix LD_LIBRARY_PATH : '${lib.makeLibraryPath [ - xorg.libXrandr - xorg.libXinerama - xorg.libXcursor - xorg.libXrender - ]}' + ] + }' \ + --prefix LD_LIBRARY_PATH : '${ + lib.makeLibraryPath [ + xorg.libXrandr + xorg.libXinerama + xorg.libXcursor + xorg.libXrender + ] + }' ''; meta = with lib; { diff --git a/pkgs/by-name/pl/plugin-torture/package.nix b/pkgs/by-name/pl/plugin-torture/package.nix index 4b5f0c4acd2f9..5e116eb6e3ef8 100644 --- a/pkgs/by-name/pl/plugin-torture/package.nix +++ b/pkgs/by-name/pl/plugin-torture/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, boost, ladspaH, lilv, lv2, pkg-config, serd, sord, sratom }: +{ + lib, + stdenv, + fetchFromGitHub, + boost, + ladspaH, + lilv, + lv2, + pkg-config, + serd, + sord, + sratom, +}: stdenv.mkDerivation { pname = "plugin-torture"; @@ -12,7 +24,15 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ boost ladspaH lilv lv2 serd sord sratom ]; + buildInputs = [ + boost + ladspaH + lilv + lv2 + serd + sord + sratom + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/pl/plujain-ramp/package.nix b/pkgs/by-name/pl/plujain-ramp/package.nix index c8af8a1c5a1e7..de8c14bf4032a 100644 --- a/pkgs/by-name/pl/plujain-ramp/package.nix +++ b/pkgs/by-name/pl/plujain-ramp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, +}: stdenv.mkDerivation rec { version = "1.1.3"; diff --git a/pkgs/by-name/pl/plumber/package.nix b/pkgs/by-name/pl/plumber/package.nix index 28265a13c4450..febd8ca76fb41 100644 --- a/pkgs/by-name/pl/plumber/package.nix +++ b/pkgs/by-name/pl/plumber/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "plumber"; diff --git a/pkgs/by-name/pl/plumed/package.nix b/pkgs/by-name/pl/plumed/package.nix index 643ee2bc228c0..3809e5fccc84c 100644 --- a/pkgs/by-name/pl/plumed/package.nix +++ b/pkgs/by-name/pl/plumed/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, blas +{ + stdenv, + lib, + fetchFromGitHub, + blas, }: assert !blas.isILP64; diff --git a/pkgs/by-name/pl/pluto/package.nix b/pkgs/by-name/pl/pluto/package.nix index 66bd0f480bdb5..4ce48aceaf4fd 100644 --- a/pkgs/by-name/pl/pluto/package.nix +++ b/pkgs/by-name/pl/pluto/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pluto"; @@ -14,7 +18,8 @@ buildGoModule rec { vendorHash = "sha256-VkaFANSzKOpmHWUwFp7YjwvsJegcJOrvJOBNNAIxOak="; ldflags = [ - "-w" "-s" + "-w" + "-s" "-X main.version=v${version}" ]; @@ -23,6 +28,9 @@ buildGoModule rec { description = "Find deprecated Kubernetes apiVersions"; mainProgram = "pluto"; license = licenses.asl20; - maintainers = with maintainers; [ peterromfeldhk kashw2 ]; + maintainers = with maintainers; [ + peterromfeldhk + kashw2 + ]; }; } diff --git a/pkgs/by-name/pl/plymouth/package.nix b/pkgs/by-name/pl/plymouth/package.nix index aa4daabb3a9ab..ae5e4ee2339c4 100644 --- a/pkgs/by-name/pl/plymouth/package.nix +++ b/pkgs/by-name/pl/plymouth/package.nix @@ -1,30 +1,34 @@ -{ lib -, stdenv -, fetchFromGitLab -, writeText -, substituteAll -, meson -, pkg-config -, ninja -, docbook-xsl-nons -, gettext -, libxslt -, gtk3 -, libdrm -, libevdev -, libpng -, libxkbcommon -, pango -, systemd -, xorg -, fontconfig +{ + lib, + stdenv, + fetchFromGitLab, + writeText, + substituteAll, + meson, + pkg-config, + ninja, + docbook-xsl-nons, + gettext, + libxslt, + gtk3, + libdrm, + libevdev, + libpng, + libxkbcommon, + pango, + systemd, + xorg, + fontconfig, }: stdenv.mkDerivation (finalAttrs: { pname = "plymouth"; version = "24.004.60"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -68,25 +72,27 @@ stdenv.mkDerivation (finalAttrs: { xorg.xkeyboardconfig ]; - mesonFlags = let - # https://gitlab.freedesktop.org/plymouth/plymouth/-/blob/a5eda165689864cc9a25ec14fd8c6da458598f42/meson.build#L47 - crossFile = writeText "cross-file.conf" '' - [binaries] - systemd-tty-ask-password-agent = '${lib.getBin systemd}/bin/systemd-tty-ask-password-agent' - ''; - in [ - "--sysconfdir=/etc" - "--localstatedir=/var" - "-Dlogo=/etc/plymouth/logo.png" - "-Dbackground-color=0x000000" - "-Dbackground-start-color-stop=0x000000" - "-Dbackground-end-color-stop=0x000000" - "-Drelease-file=/etc/os-release" - "-Dudev=enabled" - "-Drunstatedir=/run" - "-Druntime-plugins=true" - "--cross-file=${crossFile}" - ]; + mesonFlags = + let + # https://gitlab.freedesktop.org/plymouth/plymouth/-/blob/a5eda165689864cc9a25ec14fd8c6da458598f42/meson.build#L47 + crossFile = writeText "cross-file.conf" '' + [binaries] + systemd-tty-ask-password-agent = '${lib.getBin systemd}/bin/systemd-tty-ask-password-agent' + ''; + in + [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "-Dlogo=/etc/plymouth/logo.png" + "-Dbackground-color=0x000000" + "-Dbackground-start-color-stop=0x000000" + "-Dbackground-end-color-stop=0x000000" + "-Drelease-file=/etc/os-release" + "-Dudev=enabled" + "-Drunstatedir=/run" + "-Druntime-plugins=true" + "--cross-file=${crossFile}" + ]; postPatch = '' substituteInPlace meson.build \ diff --git a/pkgs/by-name/pl/plzip/package.nix b/pkgs/by-name/pl/plzip/package.nix index 4e361f6a32116..82a8c0b6f3c3a 100644 --- a/pkgs/by-name/pl/plzip/package.nix +++ b/pkgs/by-name/pl/plzip/package.nix @@ -1,9 +1,20 @@ -{ lib, stdenv, fetchurl, lzip, lzlib, texinfo }: +{ + lib, + stdenv, + fetchurl, + lzip, + lzlib, + texinfo, +}: stdenv.mkDerivation (finalAttrs: { pname = "plzip"; version = "1.11"; - outputs = [ "out" "man" "info" ]; + outputs = [ + "out" + "man" + "info" + ]; src = fetchurl { url = "mirror://savannah/lzip/plzip/plzip-${finalAttrs.version}.tar.lz"; @@ -11,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: { # hash from release email }; - nativeBuildInputs = [ lzip texinfo ]; + nativeBuildInputs = [ + lzip + texinfo + ]; buildInputs = [ lzlib ]; enableParallelBuilding = true; @@ -23,7 +37,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Massively parallel lossless data compressor based on the lzlib compression library"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ _360ied ehmry ]; + maintainers = with lib.maintainers; [ + _360ied + ehmry + ]; mainProgram = "plzip"; }; }) diff --git a/pkgs/by-name/pm/pm2/package.nix b/pkgs/by-name/pm/pm2/package.nix index 271c4eec105c8..6884ea8d91ebf 100644 --- a/pkgs/by-name/pm/pm2/package.nix +++ b/pkgs/by-name/pm/pm2/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/pm/pmacct/package.nix b/pkgs/by-name/pm/pmacct/package.nix index 3cd43ec9a873c..7687e19493e58 100644 --- a/pkgs/by-name/pm/pmacct/package.nix +++ b/pkgs/by-name/pm/pmacct/package.nix @@ -1,19 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, libtool -, libpcap -, libcdada -# Optional Dependencies -, withJansson ? true, jansson -, withNflog ? true, libnetfilter_log -, withSQLite ? true, sqlite -, withPgSQL ? true, postgresql -, withMysql ? true, libmysqlclient, zlib, numactl -, gnutlsSupport ? false, gnutls -, testers +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + libtool, + libpcap, + libcdada, + # Optional Dependencies + withJansson ? true, + jansson, + withNflog ? true, + libnetfilter_log, + withSQLite ? true, + sqlite, + withPgSQL ? true, + postgresql, + withMysql ? true, + libmysqlclient, + zlib, + numactl, + gnutlsSupport ? false, + gnutls, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -32,29 +41,40 @@ stdenv.mkDerivation (finalAttrs: { pkg-config libtool ]; - buildInputs = [ - libcdada - libpcap - ] ++ lib.optional withJansson jansson - ++ lib.optional withNflog libnetfilter_log - ++ lib.optional withSQLite sqlite - ++ lib.optional withPgSQL postgresql - ++ lib.optionals withMysql [ libmysqlclient zlib numactl ] - ++ lib.optional gnutlsSupport gnutls; + buildInputs = + [ + libcdada + libpcap + ] + ++ lib.optional withJansson jansson + ++ lib.optional withNflog libnetfilter_log + ++ lib.optional withSQLite sqlite + ++ lib.optional withPgSQL postgresql + ++ lib.optionals withMysql [ + libmysqlclient + zlib + numactl + ] + ++ lib.optional gnutlsSupport gnutls; MYSQL_CONFIG = lib.optionalString withMysql "${lib.getDev libmysqlclient}/bin/mysql_config"; - configureFlags = [ - "--with-pcap-includes=${libpcap}/include" - ] ++ lib.optional withJansson "--enable-jansson" - ++ lib.optional withNflog "--enable-nflog" - ++ lib.optional withSQLite "--enable-sqlite3" - ++ lib.optional withPgSQL "--enable-pgsql" - ++ lib.optional withMysql "--enable-mysql" - ++ lib.optional gnutlsSupport "--enable-gnutls"; + configureFlags = + [ + "--with-pcap-includes=${libpcap}/include" + ] + ++ lib.optional withJansson "--enable-jansson" + ++ lib.optional withNflog "--enable-nflog" + ++ lib.optional withSQLite "--enable-sqlite3" + ++ lib.optional withPgSQL "--enable-pgsql" + ++ lib.optional withMysql "--enable-mysql" + ++ lib.optional gnutlsSupport "--enable-gnutls"; passthru.tests = { - version = testers.testVersion { package = finalAttrs.finalPackage; command = "pmacct -V"; }; + version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "pmacct -V"; + }; }; meta = with lib; { diff --git a/pkgs/by-name/pm/pmbootstrap/package.nix b/pkgs/by-name/pm/pmbootstrap/package.nix index 1263a69884061..8cff6df159f23 100644 --- a/pkgs/by-name/pm/pmbootstrap/package.nix +++ b/pkgs/by-name/pm/pmbootstrap/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, git -, multipath-tools -, openssl -, ps -, fetchFromGitLab -, sudo -, python3Packages -, gitUpdater +{ + stdenv, + lib, + git, + multipath-tools, + openssl, + ps, + fetchFromGitLab, + sudo, + python3Packages, + gitUpdater, }: python3Packages.buildPythonApplication rec { @@ -113,16 +114,26 @@ python3Packages.buildPythonApplication rec { "test_version" ]; - makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ git openssl multipath-tools ]}" ]; + makeWrapperArgs = [ + "--prefix PATH : ${ + lib.makeBinPath [ + git + openssl + multipath-tools + ] + }" + ]; passthru.updateScript = gitUpdater { }; meta = with lib; { - description = - "Sophisticated chroot/build/flash tool to develop and install postmarketOS"; + description = "Sophisticated chroot/build/flash tool to develop and install postmarketOS"; homepage = "https://gitlab.com/postmarketOS/pmbootstrap"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ onny lucasew ]; + maintainers = with maintainers; [ + onny + lucasew + ]; mainProgram = "pmbootstrap"; }; } diff --git a/pkgs/by-name/pm/pmccabe/package.nix b/pkgs/by-name/pm/pmccabe/package.nix index 1fd58fd14a2fe..9f3982397daec 100644 --- a/pkgs/by-name/pm/pmccabe/package.nix +++ b/pkgs/by-name/pm/pmccabe/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "pmccabe"; @@ -19,7 +23,7 @@ stdenv.mkDerivation rec { -e "s,^DESTDIR =.*$,DESTDIR = $out," \ -e "s,^INSTALL = install.*$,INSTALL = install," \ -e "s,^all:.*$,all: \$(PROGS)," - ''; + ''; checkPhase = "make test"; diff --git a/pkgs/by-name/pm/pmenu/package.nix b/pkgs/by-name/pm/pmenu/package.nix index 5fbcff2b29115..f61fdc5859e2b 100644 --- a/pkgs/by-name/pm/pmenu/package.nix +++ b/pkgs/by-name/pm/pmenu/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, writeText -, fontconfig -, imlib2 -, libX11 -, libXext -, libXft -, libXinerama -, libXrender -, conf ? null +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + fontconfig, + imlib2, + libX11, + libXext, + libXft, + libXinerama, + libXrender, + conf ? null, }: stdenv.mkDerivation (finalAttrs: { @@ -33,10 +34,10 @@ stdenv.mkDerivation (finalAttrs: { libXrender ]; - postPatch = let + postPatch = + let configFile = - if lib.isDerivation conf || builtins.isPath conf - then conf else writeText "config.h" conf; + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.h" conf; in lib.optionalString (conf != null) "mv ${configFile} config.h"; diff --git a/pkgs/by-name/pm/pmidi/package.nix b/pkgs/by-name/pm/pmidi/package.nix index f2e2310bd4c47..e8c6212d99e1b 100644 --- a/pkgs/by-name/pm/pmidi/package.nix +++ b/pkgs/by-name/pm/pmidi/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchurl, alsa-lib -, version ? "1.7.1" -, sourceSha256 ? "051mv6f13c8y13c1iv3279k1hhzpz4fm9sfczhgp9sim2bjdj055" +{ + lib, + stdenv, + fetchurl, + alsa-lib, + version ? "1.7.1", + sourceSha256 ? "051mv6f13c8y13c1iv3279k1hhzpz4fm9sfczhgp9sim2bjdj055", }: stdenv.mkDerivation { pname = "pmidi"; diff --git a/pkgs/by-name/pm/pmount/package.nix b/pkgs/by-name/pm/pmount/package.nix index 94ab7b7e3c2db..7e52083021d4f 100644 --- a/pkgs/by-name/pm/pmount/package.nix +++ b/pkgs/by-name/pm/pmount/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchurl, intltool, ntfs3g, util-linux -, mediaDir ? "/media/" -, lockDir ? "/var/lock/pmount" -, whiteList ? "/etc/pmount.allow" +{ + lib, + stdenv, + fetchurl, + intltool, + ntfs3g, + util-linux, + mediaDir ? "/media/", + lockDir ? "/var/lock/pmount", + whiteList ? "/etc/pmount.allow", }: # constraint mention in the configure.ac @@ -16,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "db38fc290b710e8e9e9d442da2fb627d41e13b3ee80326c15cc2595ba00ea036"; }; - nativeBuildInputs = [ intltool util-linux ]; + nativeBuildInputs = [ + intltool + util-linux + ]; buildInputs = [ util-linux ]; configureFlags = [ diff --git a/pkgs/by-name/pm/pms/package.nix b/pkgs/by-name/pm/pms/package.nix index 77883d27834ff..08205cc9fd508 100644 --- a/pkgs/by-name/pm/pms/package.nix +++ b/pkgs/by-name/pm/pms/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule { pname = "pms"; diff --git a/pkgs/by-name/pm/pmtiles/package.nix b/pkgs/by-name/pm/pmtiles/package.nix index 056a5fa2dbd0a..567c9a4749e6e 100644 --- a/pkgs/by-name/pm/pmtiles/package.nix +++ b/pkgs/by-name/pm/pmtiles/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pmtiles"; version = "1.22.2"; @@ -12,7 +16,12 @@ buildGoModule rec { vendorHash = "sha256-KRjMEH17cvSjtRP/qYeWRFUo6f6v1ZxEd+H3xvZ1udQ="; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=v${version}" + ]; postInstall = '' mv $out/bin/go-pmtiles $out/bin/pmtiles diff --git a/pkgs/by-name/pm/pmutils/package.nix b/pkgs/by-name/pm/pmutils/package.nix index 3eccb6381cd17..f1301f1670b7c 100644 --- a/pkgs/by-name/pm/pmutils/package.nix +++ b/pkgs/by-name/pm/pmutils/package.nix @@ -1,13 +1,29 @@ -{ lib, stdenv, fetchurl, coreutils, gnugrep, util-linux, kmod -, procps, kbd, dbus }: +{ + lib, + stdenv, + fetchurl, + coreutils, + gnugrep, + util-linux, + kmod, + procps, + kbd, + dbus, +}: let - binPath = lib.makeBinPath - [ coreutils gnugrep util-linux kmod procps kbd dbus ]; + binPath = lib.makeBinPath [ + coreutils + gnugrep + util-linux + kmod + procps + kbd + dbus + ]; - sbinPath = lib.makeSearchPathOutput "bin" "sbin" - [ procps ]; + sbinPath = lib.makeSearchPathOutput "bin" "sbin" [ procps ]; in @@ -22,30 +38,28 @@ stdenv.mkDerivation rec { configureFlags = [ "--sysconfdir=/etc" ]; - preConfigure = - '' - # Install the manpages (xmlto isn't really needed). - substituteInPlace man/Makefile.in --replace '@HAVE_XMLTO_TRUE@' "" + preConfigure = '' + # Install the manpages (xmlto isn't really needed). + substituteInPlace man/Makefile.in --replace '@HAVE_XMLTO_TRUE@' "" - # Set the PATH properly. - substituteInPlace pm/pm-functions.in --replace '/sbin:/usr/sbin:/bin:/usr/bin' '$PATH:${binPath}:${sbinPath}' + # Set the PATH properly. + substituteInPlace pm/pm-functions.in --replace '/sbin:/usr/sbin:/bin:/usr/bin' '$PATH:${binPath}:${sbinPath}' - substituteInPlace src/pm-action.in --replace 'tr ' '${coreutils}/bin/tr ' + substituteInPlace src/pm-action.in --replace 'tr ' '${coreutils}/bin/tr ' - substituteInPlace pm/sleep.d/00logging --replace /bin/uname "$(type -P uname)" + substituteInPlace pm/sleep.d/00logging --replace /bin/uname "$(type -P uname)" - substituteInPlace pm/sleep.d/90clock --replace /sbin/hwclock hwclock - ''; + substituteInPlace pm/sleep.d/90clock --replace /sbin/hwclock hwclock + ''; - postInstall = - '' - # Remove some hooks that have doubtful usefulness. See - # http://zinc.canonical.com/~cking/power-benchmarking/pm-utils-results/results.txt. - # In particular, journal-commit breaks things if you have - # read-only bind mounts, since it ends up remounting the - # underlying filesystem read-only. - rm $out/lib/pm-utils/power.d/{journal-commit,readahead} - ''; + postInstall = '' + # Remove some hooks that have doubtful usefulness. See + # http://zinc.canonical.com/~cking/power-benchmarking/pm-utils-results/results.txt. + # In particular, journal-commit breaks things if you have + # read-only bind mounts, since it ends up remounting the + # underlying filesystem read-only. + rm $out/lib/pm-utils/power.d/{journal-commit,readahead} + ''; meta = { homepage = "https://pm-utils.freedesktop.org/wiki/"; diff --git a/pkgs/by-name/pn/pn/package.nix b/pkgs/by-name/pn/pn/package.nix index ddb6e6ea1f888..9eeec4cde9524 100644 --- a/pkgs/by-name/pn/pn/package.nix +++ b/pkgs/by-name/pn/pn/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libphonenumber, icu, protobuf }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libphonenumber, + icu, + protobuf, +}: stdenv.mkDerivation rec { pname = "pn"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libphonenumber icu protobuf ]; + buildInputs = [ + libphonenumber + icu + protobuf + ]; meta = with lib; { description = "Libphonenumber command-line wrapper"; diff --git a/pkgs/by-name/pn/pnfft/package.nix b/pkgs/by-name/pn/pnfft/package.nix index 10d6278aec8bf..8d6b9bfcb6d7d 100644 --- a/pkgs/by-name/pn/pnfft/package.nix +++ b/pkgs/by-name/pn/pnfft/package.nix @@ -1,15 +1,20 @@ -{ autoreconfHook -, fetchurl -, fftwMpi -, gsl -, lib -, llvmPackages -, pfft -, precision ? "double" -, stdenv +{ + autoreconfHook, + fetchurl, + fftwMpi, + gsl, + lib, + llvmPackages, + pfft, + precision ? "double", + stdenv, }: -assert lib.elem precision [ "single" "double" "long-double" ]; +assert lib.elem precision [ + "single" + "double" + "long-double" +]; let fftw' = fftwMpi.override { inherit precision; }; @@ -24,7 +29,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-/aVY/1fuMRl1Q2O7bmc5M4aA0taGD+fcQgCdhVYr1no="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/pn/pngcheck/package.nix b/pkgs/by-name/pn/pngcheck/package.nix index d6ed7a6960fc3..f6bc2a5f3e468 100644 --- a/pkgs/by-name/pn/pngcheck/package.nix +++ b/pkgs/by-name/pn/pngcheck/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, zlib, installShellFiles }: +{ + lib, + stdenv, + fetchurl, + zlib, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "pngcheck"; diff --git a/pkgs/by-name/pn/pngcrush/package.nix b/pkgs/by-name/pn/pngcrush/package.nix index ba9911b264ed5..0fac3e2168d6b 100644 --- a/pkgs/by-name/pn/pngcrush/package.nix +++ b/pkgs/by-name/pn/pngcrush/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch2, libpng }: +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + libpng, +}: stdenv.mkDerivation rec { pname = "pngcrush"; @@ -16,7 +22,10 @@ stdenv.mkDerivation rec { }) ]; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" ]; # gcc and/or clang compat + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "LD=${stdenv.cc.targetPrefix}cc" + ]; # gcc and/or clang compat configurePhase = '' sed -i s,/usr,$out, Makefile diff --git a/pkgs/by-name/pn/pngloss/package.nix b/pkgs/by-name/pn/pngloss/package.nix index 7eca91f42d7dc..6fe7c035c61ab 100644 --- a/pkgs/by-name/pn/pngloss/package.nix +++ b/pkgs/by-name/pn/pngloss/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libpng, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libpng, + zlib, +}: stdenv.mkDerivation rec { pname = "pngloss"; diff --git a/pkgs/by-name/pn/pngnq/package.nix b/pkgs/by-name/pn/pngnq/package.nix index fa7bd56c3e04a..c418ecbb9ecd0 100644 --- a/pkgs/by-name/pn/pngnq/package.nix +++ b/pkgs/by-name/pn/pngnq/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, libpng, zlib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libpng, + zlib, +}: stdenv.mkDerivation rec { pname = "pngnq"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpng zlib ]; + buildInputs = [ + libpng + zlib + ]; patchPhase = '' sed -i '/png.h/a \#include ' src/rwpng.c diff --git a/pkgs/by-name/pn/pngoptimizer/package.nix b/pkgs/by-name/pn/pngoptimizer/package.nix index c75ba0fb1015e..d87379370d6aa 100644 --- a/pkgs/by-name/pn/pngoptimizer/package.nix +++ b/pkgs/by-name/pn/pngoptimizer/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, gtk3, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk3, + pkg-config, +}: stdenv.mkDerivation rec { pname = "pngoptimizer"; @@ -15,7 +21,10 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 ]; - makeFlags = [ "CONFIG=release" "DESTDIR=$(out)" ]; + makeFlags = [ + "CONFIG=release" + "DESTDIR=$(out)" + ]; postInstall = '' mv $out/usr/bin $out/bin @@ -27,7 +36,11 @@ stdenv.mkDerivation rec { homepage = "https://psydk.org/pngoptimizer"; description = "PNG optimizer and converter"; # https://github.com/hadrien-psydk/pngoptimizer#license-information - license = with licenses; [ gpl2Only lgpl21Only zlib ]; + license = with licenses; [ + gpl2Only + lgpl21Only + zlib + ]; maintainers = with maintainers; [ smitop ]; platforms = with platforms; linux; }; diff --git a/pkgs/by-name/pn/pngout/package.nix b/pkgs/by-name/pn/pngout/package.nix index 03d25acd29863..c8a59c29033a1 100644 --- a/pkgs/by-name/pn/pngout/package.nix +++ b/pkgs/by-name/pn/pngout/package.nix @@ -1,22 +1,46 @@ -{ lib -, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: let platforms = { - aarch64-linux = { folder = "aarch64"; ld-linux = "ld-linux-aarch64.so.1"; }; - armv7l-linux = { folder = "armv7"; ld-linux = "ld-linux-armhf.so.3"; }; - i686-linux = { folder = "i686"; ld-linux = "ld-linux.so.2"; }; - x86_64-darwin = { folder = "."; }; - x86_64-linux = { folder = "amd64"; ld-linux = "ld-linux-x86-64.so.2"; }; + aarch64-linux = { + folder = "aarch64"; + ld-linux = "ld-linux-aarch64.so.1"; + }; + armv7l-linux = { + folder = "armv7"; + ld-linux = "ld-linux-armhf.so.3"; + }; + i686-linux = { + folder = "i686"; + ld-linux = "ld-linux.so.2"; + }; + x86_64-darwin = { + folder = "."; + }; + x86_64-linux = { + folder = "amd64"; + ld-linux = "ld-linux-x86-64.so.2"; + }; }; - platform = platforms."${stdenv.hostPlatform.system}" - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - download = if stdenv.hostPlatform.isDarwin - then { extension = "macos.zip"; hash = "sha256-MnL6lH7q/BrACG4fFJNfnvoh0JClVeaJIlX+XIj2aG4="; } - else { extension = "linux.tar.gz"; hash = "sha256-rDi7pvDeKQM96GZTjDr6ZDQTGbaVu+OI77xf2egw6Sg="; }; + platform = + platforms."${stdenv.hostPlatform.system}" + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + download = + if stdenv.hostPlatform.isDarwin then + { + extension = "macos.zip"; + hash = "sha256-MnL6lH7q/BrACG4fFJNfnvoh0JClVeaJIlX+XIj2aG4="; + } + else + { + extension = "linux.tar.gz"; + hash = "sha256-rDi7pvDeKQM96GZTjDr6ZDQTGbaVu+OI77xf2egw6Sg="; + }; in stdenv.mkDerivation rec { pname = "pngout"; @@ -32,12 +56,14 @@ stdenv.mkDerivation rec { # pngout is code-signed on Darwin, so don’t alter the binary to avoid breaking the signature. dontFixup = stdenv.hostPlatform.isDarwin; - installPhase = '' - mkdir -p $out/bin - cp ${platform.folder}/pngout $out/bin - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf --set-interpreter ${stdenv.cc.libc}/lib/${platform.ld-linux} $out/bin/pngout - ''; + installPhase = + '' + mkdir -p $out/bin + cp ${platform.folder}/pngout $out/bin + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + patchelf --set-interpreter ${stdenv.cc.libc}/lib/${platform.ld-linux} $out/bin/pngout + ''; meta = { description = "Tool that aggressively optimizes the sizes of PNG images"; diff --git a/pkgs/by-name/pn/pngpp/package.nix b/pkgs/by-name/pn/pngpp/package.nix index e3aa6af942e2d..e697003b50262 100644 --- a/pkgs/by-name/pn/pngpp/package.nix +++ b/pkgs/by-name/pn/pngpp/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, libpng -, docSupport ? true, doxygen ? null +{ + lib, + stdenv, + fetchurl, + libpng, + docSupport ? true, + doxygen ? null, }: assert docSupport -> doxygen != null; @@ -25,11 +30,13 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libpng ]; - preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace error.hpp --replace "#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE" "#if (__clang__ || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE" - '' + '' - sed "s|\(PNGPP := .\)|PREFIX := ''${out}\n\\1|" -i Makefile - ''; + preConfigure = + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace error.hpp --replace "#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE" "#if (__clang__ || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE" + '' + + '' + sed "s|\(PNGPP := .\)|PREFIX := ''${out}\n\\1|" -i Makefile + ''; makeFlags = lib.optional docSupport "docs"; diff --git a/pkgs/by-name/pn/pngquant/package.nix b/pkgs/by-name/pn/pngquant/package.nix index 5a2dd5b300677..42c8ada5f0877 100644 --- a/pkgs/by-name/pn/pngquant/package.nix +++ b/pkgs/by-name/pn/pngquant/package.nix @@ -1,10 +1,21 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, libpng, zlib, lcms2 }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libpng, + zlib, + lcms2, +}: rustPlatform.buildRustPackage rec { pname = "pngquant"; version = "3.0.3"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "kornelski"; @@ -21,7 +32,11 @@ rustPlatform.buildRustPackage rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpng zlib lcms2 ]; + buildInputs = [ + libpng + zlib + lcms2 + ]; doCheck = false; # Has no Rust-based tests @@ -34,7 +49,11 @@ rustPlatform.buildRustPackage rec { description = "Tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved"; changelog = "https://github.com/kornelski/pngquant/raw/${version}/CHANGELOG"; platforms = platforms.unix; - license = with licenses; [ gpl3Plus hpnd bsd2 ]; + license = with licenses; [ + gpl3Plus + hpnd + bsd2 + ]; mainProgram = "pngquant"; maintainers = [ ]; }; diff --git a/pkgs/by-name/pn/pngtoico/package.nix b/pkgs/by-name/pn/pngtoico/package.nix index a537e16d96aec..7c73121f11fd0 100644 --- a/pkgs/by-name/pn/pngtoico/package.nix +++ b/pkgs/by-name/pn/pngtoico/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libpng, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + libpng, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "pngtoico"; diff --git a/pkgs/by-name/pn/pngtools/package.nix b/pkgs/by-name/pn/pngtools/package.nix index 563c8af50ae8c..16fc925ba135d 100644 --- a/pkgs/by-name/pn/pngtools/package.nix +++ b/pkgs/by-name/pn/pngtools/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, libpng12, fetchFromGitHub }: +{ + lib, + stdenv, + libpng12, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "pngtools"; diff --git a/pkgs/by-name/pn/pnmixer/package.nix b/pkgs/by-name/pn/pnmixer/package.nix index a65cad09b47dc..06204e425d25c 100644 --- a/pkgs/by-name/pn/pnmixer/package.nix +++ b/pkgs/by-name/pn/pnmixer/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gettext, alsa-lib, gtk3, glib, libnotify, libX11, pcre }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + gettext, + alsa-lib, + gtk3, + glib, + libnotify, + libX11, + pcre, +}: stdenv.mkDerivation rec { pname = "pnmixer"; @@ -11,16 +24,30 @@ stdenv.mkDerivation rec { sha256 = "0416pa933ddf4b7ph9zxhk5jppkk7ppcq1aqph6xsrfnka4yb148"; }; - nativeBuildInputs = [ cmake pkg-config gettext ]; + nativeBuildInputs = [ + cmake + pkg-config + gettext + ]; - buildInputs = [ alsa-lib gtk3 glib libnotify libX11 pcre ]; + buildInputs = [ + alsa-lib + gtk3 + glib + libnotify + libX11 + pcre + ]; meta = with lib; { homepage = "https://github.com/nicklan/pnmixer"; description = "ALSA volume mixer for the system tray"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ campadrenalin romildo ]; + maintainers = with maintainers; [ + campadrenalin + romildo + ]; mainProgram = "pnmixer"; }; } diff --git a/pkgs/by-name/po/poco/package.nix b/pkgs/by-name/po/poco/package.nix index 097edd0953c76..86a8eba7aff37 100644 --- a/pkgs/by-name/po/poco/package.nix +++ b/pkgs/by-name/po/poco/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, pcre2, expat, sqlite, openssl, unixODBC, libmysqlclient }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + zlib, + pcre2, + expat, + sqlite, + openssl, + unixODBC, + libmysqlclient, +}: stdenv.mkDerivation rec { pname = "poco"; @@ -12,12 +25,27 @@ stdenv.mkDerivation rec { rev = "poco-${version}-release"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ unixODBC libmysqlclient ]; - propagatedBuildInputs = [ zlib pcre2 expat sqlite openssl ]; + buildInputs = [ + unixODBC + libmysqlclient + ]; + propagatedBuildInputs = [ + zlib + pcre2 + expat + sqlite + openssl + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; MYSQL_DIR = libmysqlclient; MYSQL_INCLUDE_DIR = "${MYSQL_DIR}/include/mysql"; @@ -37,7 +65,10 @@ stdenv.mkDerivation rec { homepage = "https://pocoproject.org/"; description = "Cross-platform C++ libraries with a network/internet focus"; license = licenses.boost; - maintainers = with maintainers; [ orivej tomodachi94 ]; + maintainers = with maintainers; [ + orivej + tomodachi94 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/po/pod2mdoc/package.nix b/pkgs/by-name/po/pod2mdoc/package.nix index 6b3792bf500e2..97dcc55908542 100644 --- a/pkgs/by-name/po/pod2mdoc/package.nix +++ b/pkgs/by-name/po/pod2mdoc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "pod2mdoc"; diff --git a/pkgs/by-name/po/podgrab/package.nix b/pkgs/by-name/po/podgrab/package.nix index 74ed3d56862c5..6092a440923af 100644 --- a/pkgs/by-name/po/podgrab/package.nix +++ b/pkgs/by-name/po/podgrab/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, nixosTests }: +{ + lib, + fetchFromGitHub, + buildGoModule, + nixosTests, +}: buildGoModule rec { pname = "podgrab"; diff --git a/pkgs/by-name/po/podiff/package.nix b/pkgs/by-name/po/podiff/package.nix index 1a2fb97391394..0c858d8e43dee 100644 --- a/pkgs/by-name/po/podiff/package.nix +++ b/pkgs/by-name/po/podiff/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "podiff"; diff --git a/pkgs/by-name/po/podman/package.nix b/pkgs/by-name/po/podman/package.nix index 93ad4f71bb984..f014ae9f0bf27 100644 --- a/pkgs/by-name/po/podman/package.nix +++ b/pkgs/by-name/po/podman/package.nix @@ -1,67 +1,75 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, installShellFiles -, buildGoModule -, gpgme -, lvm2 -, btrfs-progs -, libapparmor -, libseccomp -, libselinux -, systemd -, go-md2man -, nixosTests -, python3 -, makeWrapper -, runtimeShell -, symlinkJoin -, substituteAll -, extraPackages ? [ ] -, crun -, runc -, conmon -, extraRuntimes ? lib.optionals stdenv.hostPlatform.isLinux [ runc ] # e.g.: runc, gvisor, youki -, fuse-overlayfs -, util-linux -, iptables -, iproute2 -, catatonit -, gvproxy -, aardvark-dns -, netavark -, passt -, vfkit -, testers -, podman +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + installShellFiles, + buildGoModule, + gpgme, + lvm2, + btrfs-progs, + libapparmor, + libseccomp, + libselinux, + systemd, + go-md2man, + nixosTests, + python3, + makeWrapper, + runtimeShell, + symlinkJoin, + substituteAll, + extraPackages ? [ ], + crun, + runc, + conmon, + extraRuntimes ? lib.optionals stdenv.hostPlatform.isLinux [ runc ], # e.g.: runc, gvisor, youki + fuse-overlayfs, + util-linux, + iptables, + iproute2, + catatonit, + gvproxy, + aardvark-dns, + netavark, + passt, + vfkit, + testers, + podman, }: let # do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed - binPath = lib.makeBinPath (lib.optionals stdenv.hostPlatform.isLinux [ - fuse-overlayfs - util-linux - iptables - iproute2 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - vfkit - ] ++ extraPackages); + binPath = lib.makeBinPath ( + lib.optionals stdenv.hostPlatform.isLinux [ + fuse-overlayfs + util-linux + iptables + iproute2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + vfkit + ] + ++ extraPackages + ); helpersBin = symlinkJoin { name = "podman-helper-binary-wrapper"; # this only works for some binaries, others may need to be added to `binPath` or in the modules - paths = [ - gvproxy - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - aardvark-dns - catatonit # added here for the pause image and also set in `containersConf` for `init_path` - netavark - passt - conmon - crun - ] ++ extraRuntimes; + paths = + [ + gvproxy + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + aardvark-dns + catatonit # added here for the pause image and also set in `containersConf` for `init_path` + netavark + passt + conmon + crun + ] + ++ extraRuntimes; }; in buildGoModule rec { @@ -89,9 +97,18 @@ buildGoModule rec { doCheck = false; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ pkg-config go-md2man installShellFiles makeWrapper python3 ]; + nativeBuildInputs = [ + pkg-config + go-md2man + installShellFiles + makeWrapper + python3 + ]; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ btrfs-progs @@ -110,22 +127,32 @@ buildGoModule rec { runHook preBuild patchShebangs . substituteInPlace Makefile --replace "/bin/bash" "${runtimeShell}" - ${if stdenv.hostPlatform.isDarwin then '' - make podman-remote # podman-mac-helper uses FHS paths - '' else '' - make bin/podman bin/rootlessport bin/quadlet - ''} + ${ + if stdenv.hostPlatform.isDarwin then + '' + make podman-remote # podman-mac-helper uses FHS paths + '' + else + '' + make bin/podman bin/rootlessport bin/quadlet + '' + } make docs runHook postBuild ''; installPhase = '' runHook preInstall - ${if stdenv.hostPlatform.isDarwin then '' - install bin/darwin/podman -Dt $out/bin - '' else '' - make install.bin install.systemd - ''} + ${ + if stdenv.hostPlatform.isDarwin then + '' + install bin/darwin/podman -Dt $out/bin + '' + else + '' + make install.bin install.systemd + '' + } make install.completions install.man mkdir -p ${HELPER_BINARIES_DIR} ln -s ${helpersBin}/bin/* ${HELPER_BINARIES_DIR} @@ -139,19 +166,21 @@ buildGoModule rec { patchelf --set-rpath "${lib.makeLibraryPath [ systemd ]}":$RPATH $out/bin/.podman-wrapped ''; - passthru.tests = { - version = testers.testVersion { - package = podman; - command = "HOME=$TMPDIR podman --version"; + passthru.tests = + { + version = testers.testVersion { + package = podman; + command = "HOME=$TMPDIR podman --version"; + }; + } + // lib.optionalAttrs stdenv.hostPlatform.isLinux { + inherit (nixosTests) podman; + # related modules + inherit (nixosTests) + podman-tls-ghostunnel + ; + oci-containers-podman = nixosTests.oci-containers.podman; }; - } // lib.optionalAttrs stdenv.hostPlatform.isLinux { - inherit (nixosTests) podman; - # related modules - inherit (nixosTests) - podman-tls-ghostunnel - ; - oci-containers-podman = nixosTests.oci-containers.podman; - }; meta = with lib; { homepage = "https://podman.io/"; diff --git a/pkgs/by-name/po/pods/package.nix b/pkgs/by-name/po/pods/package.nix index 201fcf89988bc..b0e442bb2c35d 100644 --- a/pkgs/by-name/po/pods/package.nix +++ b/pkgs/by-name/po/pods/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, desktop-file-utils -, glib -, gtk4 -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, gtksourceview5 -, libadwaita -, libpanel -, vte-gtk4 +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + desktop-file-utils, + glib, + gtk4, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + gtksourceview5, + libadwaita, + libpanel, + vte-gtk4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/po/poethepoet/package.nix b/pkgs/by-name/po/poethepoet/package.nix index 8179b9c7e7d00..5ec66c2852c86 100644 --- a/pkgs/by-name/po/poethepoet/package.nix +++ b/pkgs/by-name/po/poethepoet/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/po/poetry/package.nix b/pkgs/by-name/po/poetry/package.nix index dda8d0a132a19..b6d61b80e1796 100644 --- a/pkgs/by-name/po/poetry/package.nix +++ b/pkgs/by-name/po/poetry/package.nix @@ -1,8 +1,13 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: let newPackageOverrides = - self: super: { + self: super: + { poetry = self.callPackage ./unwrapped.nix { }; # The versions of Poetry and poetry-core need to match exactly, @@ -21,39 +26,48 @@ let }; patches = [ ]; }); - } // (plugins self); + } + // (plugins self); python = python3.override (old: { self = python; - packageOverrides = lib.composeManyExtensions - ((if old ? packageOverrides then [ old.packageOverrides ] else [ ]) ++ [ newPackageOverrides ]); + packageOverrides = lib.composeManyExtensions ( + (if old ? packageOverrides then [ old.packageOverrides ] else [ ]) ++ [ newPackageOverrides ] + ); }); - plugins = ps: with ps; { - poetry-audit-plugin = callPackage ./plugins/poetry-audit-plugin.nix { }; - poetry-plugin-export = callPackage ./plugins/poetry-plugin-export.nix { }; - poetry-plugin-up = callPackage ./plugins/poetry-plugin-up.nix { }; - poetry-plugin-poeblix = callPackage ./plugins/poetry-plugin-poeblix.nix { }; - }; + plugins = + ps: with ps; { + poetry-audit-plugin = callPackage ./plugins/poetry-audit-plugin.nix { }; + poetry-plugin-export = callPackage ./plugins/poetry-plugin-export.nix { }; + poetry-plugin-up = callPackage ./plugins/poetry-plugin-up.nix { }; + poetry-plugin-poeblix = callPackage ./plugins/poetry-plugin-poeblix.nix { }; + }; # selector is a function mapping pythonPackages to a list of plugins # e.g. poetry.withPlugins (ps: with ps; [ poetry-plugin-up ]) - withPlugins = selector: let - selected = selector (plugins python.pkgs); - in python.pkgs.toPythonApplication (python.pkgs.poetry.overridePythonAttrs (old: { - dependencies = old.dependencies ++ selected; + withPlugins = + selector: + let + selected = selector (plugins python.pkgs); + in + python.pkgs.toPythonApplication ( + python.pkgs.poetry.overridePythonAttrs (old: { + dependencies = old.dependencies ++ selected; - # save some build time when adding plugins by disabling tests - doCheck = selected == [ ]; + # save some build time when adding plugins by disabling tests + doCheck = selected == [ ]; - # Propagating dependencies leaks them through $PYTHONPATH which causes issues - # when used in nix-shell. - postFixup = '' - rm $out/nix-support/propagated-build-inputs - ''; + # Propagating dependencies leaks them through $PYTHONPATH which causes issues + # when used in nix-shell. + postFixup = '' + rm $out/nix-support/propagated-build-inputs + ''; - passthru = { - plugins = plugins python.pkgs; - inherit withPlugins python; - }; - })); -in withPlugins (ps: [ ]) + passthru = { + plugins = plugins python.pkgs; + inherit withPlugins python; + }; + }) + ); +in +withPlugins (ps: [ ]) diff --git a/pkgs/by-name/po/poetry/plugins/poetry-audit-plugin.nix b/pkgs/by-name/po/poetry/plugins/poetry-audit-plugin.nix index 6c3f120171bef..ec9289738349a 100644 --- a/pkgs/by-name/po/poetry/plugins/poetry-audit-plugin.nix +++ b/pkgs/by-name/po/poetry/plugins/poetry-audit-plugin.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, pythonOlder -, fetchFromGitHub -, poetry-core -, poetry -, safety -, pytestCheckHook +{ + lib, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + poetry-core, + poetry, + safety, + pytestCheckHook, }: buildPythonPackage rec { @@ -37,7 +38,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "poetry_audit_plugin" ]; nativeCheckInputs = [ - poetry # for the executable + poetry # for the executable pytestCheckHook ]; diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix index aa365ebb36b34..e9539ccfaf539 100644 --- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix +++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, poetry-core +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, }: buildPythonPackage rec { @@ -26,7 +27,7 @@ buildPythonPackage rec { # infinite recursion with poetry doCheck = false; - pythonImportsCheck = []; + pythonImportsCheck = [ ]; meta = with lib; { changelog = "https://github.com/python-poetry/poetry-plugin-export/blob/${src.rev}/CHANGELOG.md"; diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-poeblix.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-poeblix.nix index df32b8e797b9f..399645532dfa8 100644 --- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-poeblix.nix +++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-poeblix.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, poetry-core +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, }: buildPythonPackage rec { @@ -25,7 +26,7 @@ buildPythonPackage rec { ]; doCheck = false; - pythonImportsCheck = ["poeblix"]; + pythonImportsCheck = [ "poeblix" ]; meta = with lib; { changelog = "https://github.com/spoorn/poeblix/releases/tag/${lib.removePrefix "refs/tags/" src.rev}"; diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix index 69a3804edba21..90feed499dc28 100644 --- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix +++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-up.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, buildPythonPackage -, poetry-core -, pytestCheckHook -, pytest-mock -, poetry +{ + lib, + fetchFromGitHub, + buildPythonPackage, + poetry-core, + pytestCheckHook, + pytest-mock, + poetry, }: buildPythonPackage rec { diff --git a/pkgs/by-name/po/poetry/unwrapped.nix b/pkgs/by-name/po/poetry/unwrapped.nix index 1caa9575bb35b..335d2ba8089d9 100644 --- a/pkgs/by-name/po/poetry/unwrapped.nix +++ b/pkgs/by-name/po/poetry/unwrapped.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, buildPythonPackage -, pythonOlder -, fetchFromGitHub -, installShellFiles -, build -, cachecontrol -, cleo -, crashtest -, dulwich -, fastjsonschema -, installer -, keyring -, packaging -, pexpect -, pkginfo -, platformdirs -, poetry-core -, poetry-plugin-export -, pyproject-hooks -, requests -, requests-toolbelt -, shellingham -, tomlkit -, trove-classifiers -, virtualenv -, xattr -, tomli -, importlib-metadata -, deepdiff -, pytestCheckHook -, httpretty -, pytest-mock -, pytest-xdist -, darwin +{ + lib, + stdenv, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + installShellFiles, + build, + cachecontrol, + cleo, + crashtest, + dulwich, + fastjsonschema, + installer, + keyring, + packaging, + pexpect, + pkginfo, + platformdirs, + poetry-core, + poetry-plugin-export, + pyproject-hooks, + requests, + requests-toolbelt, + shellingham, + tomlkit, + trove-classifiers, + virtualenv, + xattr, + tomli, + importlib-metadata, + deepdiff, + pytestCheckHook, + httpretty, + pytest-mock, + pytest-xdist, + darwin, }: buildPythonPackage rec { @@ -64,35 +65,40 @@ buildPythonPackage rec { "virtualenv" ]; - dependencies = [ - build - cachecontrol - cleo - crashtest - dulwich - fastjsonschema - installer - keyring - packaging - pexpect - pkginfo - platformdirs - poetry-core - poetry-plugin-export - pyproject-hooks - requests - requests-toolbelt - shellingham - tomlkit - trove-classifiers - virtualenv - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - xattr - ] ++ lib.optionals (pythonOlder "3.11") [ - tomli - ] ++ lib.optionals (pythonOlder "3.10") [ - importlib-metadata - ] ++ cachecontrol.optional-dependencies.filecache; + dependencies = + [ + build + cachecontrol + cleo + crashtest + dulwich + fastjsonschema + installer + keyring + packaging + pexpect + pkginfo + platformdirs + poetry-core + poetry-plugin-export + pyproject-hooks + requests + requests-toolbelt + shellingham + tomlkit + trove-classifiers + virtualenv + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + xattr + ] + ++ lib.optionals (pythonOlder "3.11") [ + tomli + ] + ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata + ] + ++ cachecontrol.optional-dependencies.filecache; postInstall = '' installShellCompletion --cmd poetry \ @@ -101,22 +107,27 @@ buildPythonPackage rec { --zsh <($out/bin/poetry completions zsh) \ ''; - nativeCheckInputs = [ - deepdiff - pytestCheckHook - httpretty - pytest-mock - pytest-xdist - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.ps - ]; - - preCheck = ('' - export HOME=$TMPDIR - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' - # https://github.com/python/cpython/issues/74570#issuecomment-1093748531 - export no_proxy='*'; - ''); + nativeCheckInputs = + [ + deepdiff + pytestCheckHook + httpretty + pytest-mock + pytest-xdist + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.ps + ]; + + preCheck = ( + '' + export HOME=$TMPDIR + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' + # https://github.com/python/cpython/issues/74570#issuecomment-1093748531 + export no_proxy='*'; + '' + ); postCheck = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' unset no_proxy @@ -141,14 +152,17 @@ buildPythonPackage rec { # Unset ambient PYTHONPATH in the wrapper, so Poetry only ever runs with its own, # isolated set of dependencies. This works because the correct PYTHONPATH is set # in the Python script, which runs after the wrapper. - makeWrapperArgs = ["--unset PYTHONPATH"]; + makeWrapperArgs = [ "--unset PYTHONPATH" ]; meta = with lib; { changelog = "https://github.com/python-poetry/poetry/blob/${src.rev}/CHANGELOG.md"; homepage = "https://python-poetry.org/"; description = "Python dependency management and packaging made easy"; license = licenses.mit; - maintainers = with maintainers; [ jakewaksbaum dotlambda ]; + maintainers = with maintainers; [ + jakewaksbaum + dotlambda + ]; mainProgram = "poetry"; }; } diff --git a/pkgs/by-name/po/poetry2conda/package.nix b/pkgs/by-name/po/poetry2conda/package.nix index 9b0975bd01cf6..ee2c500ad28d3 100644 --- a/pkgs/by-name/po/poetry2conda/package.nix +++ b/pkgs/by-name/po/poetry2conda/package.nix @@ -1,10 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { pname = "poetry2conda"; version = "0.3.0"; diff --git a/pkgs/by-name/po/poezio/package.nix b/pkgs/by-name/po/poezio/package.nix index d36f1829b7ed3..b222f1c1a54f6 100644 --- a/pkgs/by-name/po/poezio/package.nix +++ b/pkgs/by-name/po/poezio/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitea -, pkg-config -, python3 +{ + lib, + fetchFromGitea, + pkg-config, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/po/poke/package.nix b/pkgs/by-name/po/poke/package.nix index 66fa43394f2bc..51b8b4e947984 100644 --- a/pkgs/by-name/po/poke/package.nix +++ b/pkgs/by-name/po/poke/package.nix @@ -1,17 +1,20 @@ -{ lib -, stdenv -, fetchurl -, help2man -, pkg-config -, texinfo -, boehmgc -, readline -, nbdSupport ? !stdenv.hostPlatform.isDarwin, libnbd -, textStylingSupport ? true, gettext -, dejagnu +{ + lib, + stdenv, + fetchurl, + help2man, + pkg-config, + texinfo, + boehmgc, + readline, + nbdSupport ? !stdenv.hostPlatform.isDarwin, + libnbd, + textStylingSupport ? true, + gettext, + dejagnu, # update script only -, writeScript + writeScript, }: let @@ -26,7 +29,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-iq825h42elMUDqQOJVnp7FEud5xCvuNOesJLNLoRm94="; }; - outputs = [ "out" "dev" "info" "lib" ] + outputs = + [ + "out" + "dev" + "info" + "lib" + ] # help2man can't cross compile because it runs `poke --help` to # generate the man page ++ lib.optional (!isCross) "man"; @@ -37,14 +46,20 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - pkg-config - texinfo - ] ++ lib.optionals (!isCross) [ - help2man - ]; - - buildInputs = [ boehmgc readline ] + nativeBuildInputs = + [ + pkg-config + texinfo + ] + ++ lib.optionals (!isCross) [ + help2man + ]; + + buildInputs = + [ + boehmgc + readline + ] ++ lib.optional nbdSupport libnbd ++ lib.optional textStylingSupport gettext ++ lib.optional finalAttrs.finalPackage.doCheck dejagnu; diff --git a/pkgs/by-name/po/pokeget-rs/package.nix b/pkgs/by-name/po/pokeget-rs/package.nix index 08f84c9a78c9b..3f07917681f71 100644 --- a/pkgs/by-name/po/pokeget-rs/package.nix +++ b/pkgs/by-name/po/pokeget-rs/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/po/pokemon-colorscripts-mac/package.nix b/pkgs/by-name/po/pokemon-colorscripts-mac/package.nix index 5205e8ad6eafa..79023583ac223 100644 --- a/pkgs/by-name/po/pokemon-colorscripts-mac/package.nix +++ b/pkgs/by-name/po/pokemon-colorscripts-mac/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, coreutils -, fetchFromGitHub +{ + lib, + stdenv, + coreutils, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/po/pokemon-cursor/package.nix b/pkgs/by-name/po/pokemon-cursor/package.nix index eeaec0a8b68bf..3a7494e70c434 100644 --- a/pkgs/by-name/po/pokemon-cursor/package.nix +++ b/pkgs/by-name/po/pokemon-cursor/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC - -, # build deps - clickgen -, python3Packages +{ + fetchFromGitHub, + lib, + stdenvNoCC, + + # build deps + clickgen, + python3Packages, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/po/pokemonsay/package.nix b/pkgs/by-name/po/pokemonsay/package.nix index 669fa6a494134..01abfe0bfcc87 100644 --- a/pkgs/by-name/po/pokemonsay/package.nix +++ b/pkgs/by-name/po/pokemonsay/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchpatch -, cowsay -, coreutils -, findutils +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + cowsay, + coreutils, + findutils, }: stdenvNoCC.mkDerivation rec { @@ -19,7 +20,8 @@ stdenvNoCC.mkDerivation rec { }; patches = [ - (fetchpatch { # https://github.com/HRKings/pokemonsay-newgenerations/pull/5 + (fetchpatch { + # https://github.com/HRKings/pokemonsay-newgenerations/pull/5 name = "word-wrap-fix.patch"; url = "https://github.com/pbsds/pokemonsay-newgenerations/commit/7056d7ba689479a8e6c14ec000be1dfcd83afeb0.patch"; hash = "sha256-aqUJkyJDWArLjChxLZ4BbC6XAB53LAqARzTvEAxrFCI="; diff --git a/pkgs/by-name/po/pokete/package.nix b/pkgs/by-name/po/pokete/package.nix index beb262edee704..8419520a6c731 100644 --- a/pkgs/by-name/po/pokete/package.nix +++ b/pkgs/by-name/po/pokete/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchFromGitHub -, testers -, pokete -, faketty +{ + lib, + python3, + fetchFromGitHub, + testers, + pokete, + faketty, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/po/polar-bookshelf/package.nix b/pkgs/by-name/po/polar-bookshelf/package.nix index 955b45784e923..5306343a48cb8 100644 --- a/pkgs/by-name/po/polar-bookshelf/package.nix +++ b/pkgs/by-name/po/polar-bookshelf/package.nix @@ -1,47 +1,47 @@ -{ stdenv -, lib -, makeWrapper -, fetchurl -, dpkg -, wrapGAppsHook3 -, autoPatchelfHook -, gtk3 -, cairo -, pango -, atk -, gdk-pixbuf -, glib -, at-spi2-atk -, dbus -, libX11 -, libxcb -, libXi -, libXcursor -, libXdamage -, libXrandr -, libXcomposite -, libXext -, libXfixes -, libXrender -, libXtst -, libXScrnSaver -, nss -, nspr -, alsa-lib -, cups -, fontconfig -, expat -, libudev0-shim -, glibc -, curl -, openssl -, libnghttp2 -, gsettings-desktop-schemas -, libdrm -, mesa +{ + stdenv, + lib, + makeWrapper, + fetchurl, + dpkg, + wrapGAppsHook3, + autoPatchelfHook, + gtk3, + cairo, + pango, + atk, + gdk-pixbuf, + glib, + at-spi2-atk, + dbus, + libX11, + libxcb, + libXi, + libXcursor, + libXdamage, + libXrandr, + libXcomposite, + libXext, + libXfixes, + libXrender, + libXtst, + libXScrnSaver, + nss, + nspr, + alsa-lib, + cups, + fontconfig, + expat, + libudev0-shim, + glibc, + curl, + openssl, + libnghttp2, + gsettings-desktop-schemas, + libdrm, + mesa, }: - stdenv.mkDerivation rec { pname = "polar-bookshelf"; version = "2.0.103"; @@ -91,7 +91,13 @@ stdenv.mkDerivation rec { dpkg ]; - runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl libnghttp2 ]; + runtimeLibs = lib.makeLibraryPath [ + libudev0-shim + glibc + curl + openssl + libnghttp2 + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/po/polar-bookshelf1/package.nix b/pkgs/by-name/po/polar-bookshelf1/package.nix index cd04ca69d1e4b..5ea080a27dbbb 100644 --- a/pkgs/by-name/po/polar-bookshelf1/package.nix +++ b/pkgs/by-name/po/polar-bookshelf1/package.nix @@ -1,42 +1,43 @@ -{ lib -, stdenv -, fetchurl -, alsa-lib -, at-spi2-atk -, atk -, autoPatchelfHook -, cairo -, cups -, curl -, dbus -, dpkg -, expat -, fontconfig -, gdk-pixbuf -, glib -, glibc -, gsettings-desktop-schemas -, gtk3 -, libX11 -, libXScrnSaver -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXrandr -, libXrender -, libXtst -, libnghttp2 -, libudev0-shim -, libxcb -, makeWrapper -, nspr -, nss -, openssl -, pango -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + alsa-lib, + at-spi2-atk, + atk, + autoPatchelfHook, + cairo, + cups, + curl, + dbus, + dpkg, + expat, + fontconfig, + gdk-pixbuf, + glib, + glibc, + gsettings-desktop-schemas, + gtk3, + libX11, + libXScrnSaver, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXtst, + libnghttp2, + libudev0-shim, + libxcb, + makeWrapper, + nspr, + nss, + openssl, + pango, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -85,7 +86,13 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl libnghttp2 ]; + runtimeLibs = lib.makeLibraryPath [ + libudev0-shim + glibc + curl + openssl + libnghttp2 + ]; installPhase = '' mkdir -p $out/share/polar-bookshelf $out/bin $out/lib diff --git a/pkgs/by-name/po/policycoreutils/package.nix b/pkgs/by-name/po/policycoreutils/package.nix index 6a2296fda4fce..b06be84ccd702 100644 --- a/pkgs/by-name/po/policycoreutils/package.nix +++ b/pkgs/by-name/po/policycoreutils/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, gettext, libsepol, libselinux, libsemanage, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + gettext, + libsepol, + libselinux, + libsemanage, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "policycoreutils"; @@ -18,7 +27,12 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ gettext ]; - buildInputs = [ libsepol libselinux libsemanage libxcrypt ]; + buildInputs = [ + libsepol + libselinux + libsemanage + libxcrypt + ]; makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/by-name/po/polipo/package.nix b/pkgs/by-name/po/polipo/package.nix index 350954d8e4dde..f050199942c0a 100644 --- a/pkgs/by-name/po/polipo/package.nix +++ b/pkgs/by-name/po/polipo/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, texinfo }: +{ + lib, + stdenv, + fetchurl, + texinfo, +}: stdenv.mkDerivation rec { pname = "polipo"; @@ -10,7 +15,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ texinfo ]; - makeFlags = [ "PREFIX=$(out)" "LOCAL_ROOT=$(out)/share/polipo/www" ]; + makeFlags = [ + "PREFIX=$(out)" + "LOCAL_ROOT=$(out)/share/polipo/www" + ]; meta = with lib; { homepage = "http://www.pps.jussieu.fr/~jch/software/polipo/"; diff --git a/pkgs/by-name/po/polkit/package.nix b/pkgs/by-name/po/polkit/package.nix index 80a966f035d27..9ceb10a5bc2d9 100644 --- a/pkgs/by-name/po/polkit/package.nix +++ b/pkgs/by-name/po/polkit/package.nix @@ -1,35 +1,38 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, glib -, expat -, pam -, meson -, mesonEmulatorHook -, ninja -, perl -, python3 -, gettext -, duktape -, gobject-introspection -, libxslt -, docbook-xsl-nons -, dbus -, docbook_xml_dtd_412 -, gtk-doc -, coreutils -, fetchpatch -, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal -, systemdMinimal -, elogind -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -# A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault). -# Not yet investigated; it may be due to the "Make netgroup support optional" -# patch not updating the tests correctly yet, or doing something wrong, -# or being unrelated to that. -, doCheck ? (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl) +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + expat, + pam, + meson, + mesonEmulatorHook, + ninja, + perl, + python3, + gettext, + duktape, + gobject-introspection, + libxslt, + docbook-xsl-nons, + dbus, + docbook_xml_dtd_412, + gtk-doc, + coreutils, + fetchpatch, + useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, + systemdMinimal, + elogind, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault). + # Not yet investigated; it may be due to the "Make netgroup support optional" + # patch not updating the tests correctly yet, or doing something wrong, + # or being unrelated to that. + doCheck ? (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl), }: let @@ -40,7 +43,11 @@ stdenv.mkDerivation rec { pname = "polkit"; version = "124"; - outputs = [ "bin" "dev" "out" ]; # small man pages in $bin + outputs = [ + "bin" + "dev" + "out" + ]; # small man pages in $bin # Tarballs do not contain subprojects. src = fetchFromGitHub { @@ -69,34 +76,39 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - glib - pkg-config - gettext - meson - ninja - perl - - # man pages - libxslt - docbook-xsl-nons - docbook_xml_dtd_412 - ] ++ lib.optionals withIntrospection [ - gobject-introspection - gtk-doc - ] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + glib + pkg-config + gettext + meson + ninja + perl + + # man pages + libxslt + docbook-xsl-nons + docbook_xml_dtd_412 + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + gtk-doc + ] + ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - expat - pam - dbus - duktape - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # On Linux, fall back to elogind when systemd support is off. - (if useSystemd then systemdMinimal else elogind) - ]; + buildInputs = + [ + expat + pam + dbus + duktape + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # On Linux, fall back to elogind when systemd support is off. + (if useSystemd then systemdMinimal else elogind) + ]; propagatedBuildInputs = [ glib # in .pc Requires @@ -104,44 +116,49 @@ stdenv.mkDerivation rec { nativeCheckInputs = [ dbus - (python3.pythonOnBuildForHost.withPackages (pp: with pp; [ - dbus-python - (python-dbusmock.overridePythonAttrs (attrs: { - # Avoid dependency cycle. - doCheck = false; - })) - ])) - ]; - - env = { - PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; - PKG_CONFIG_SYSTEMD_SYSUSERS_DIR = "${placeholder "out"}/lib/sysusers.d"; - - # HACK: We want to install policy files files to $out/share but polkit - # should read them from /run/current-system/sw/share on a NixOS system. - # Similarly for config files in /etc. - # With autotools, it was possible to override Make variables - # at install time but Meson does not support this - # so we need to convince it to install all files to a temporary - # location using DESTDIR and then move it to proper one in postInstall. - DESTDIR = "dest"; - } // lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; - }; - - mesonFlags = [ - "--datadir=${system}/share" - "--sysconfdir=/etc" - "-Dpolkitd_user=polkituser" #TODO? config.ids.uids.polkituser - "-Dos_type=redhat" # only affects PAM includes - "-Dintrospection=${lib.boolToString withIntrospection}" - "-Dtests=${lib.boolToString doCheck}" - "-Dgtk_doc=${lib.boolToString withIntrospection}" - "-Dman=true" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}" + (python3.pythonOnBuildForHost.withPackages ( + pp: with pp; [ + dbus-python + (python-dbusmock.overridePythonAttrs (attrs: { + # Avoid dependency cycle. + doCheck = false; + })) + ] + )) ]; + env = + { + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; + PKG_CONFIG_SYSTEMD_SYSUSERS_DIR = "${placeholder "out"}/lib/sysusers.d"; + + # HACK: We want to install policy files files to $out/share but polkit + # should read them from /run/current-system/sw/share on a NixOS system. + # Similarly for config files in /etc. + # With autotools, it was possible to override Make variables + # at install time but Meson does not support this + # so we need to convince it to install all files to a temporary + # location using DESTDIR and then move it to proper one in postInstall. + DESTDIR = "dest"; + } + // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + + mesonFlags = + [ + "--datadir=${system}/share" + "--sysconfdir=/etc" + "-Dpolkitd_user=polkituser" # TODO? config.ids.uids.polkituser + "-Dos_type=redhat" # only affects PAM includes + "-Dintrospection=${lib.boolToString withIntrospection}" + "-Dtests=${lib.boolToString doCheck}" + "-Dgtk_doc=${lib.boolToString withIntrospection}" + "-Dman=true" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}" + ]; inherit doCheck; diff --git a/pkgs/by-name/po/polkit_gnome/package.nix b/pkgs/by-name/po/polkit_gnome/package.nix index d738e6c6bb3ad..8fca7ae90c7b9 100644 --- a/pkgs/by-name/po/polkit_gnome/package.nix +++ b/pkgs/by-name/po/polkit_gnome/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, polkit, gtk3, pkg-config, intltool }: +{ + lib, + stdenv, + fetchurl, + polkit, + gtk3, + pkg-config, + intltool, +}: stdenv.mkDerivation (finalAttrs: { pname = "polkit-gnome"; version = "0.105"; @@ -8,8 +16,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-F4RJSWO4v5oA7txs06KGj7EjuKXlFuZsXtpI3xerk2k="; }; - buildInputs = [ polkit gtk3 ]; - nativeBuildInputs = [ pkg-config intltool ]; + buildInputs = [ + polkit + gtk3 + ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; configureFlags = [ "--disable-introspection" ]; diff --git a/pkgs/by-name/po/pololu-tic/package.nix b/pkgs/by-name/po/pololu-tic/package.nix index 322ff8fa6455c..51b6af2c01e50 100644 --- a/pkgs/by-name/po/pololu-tic/package.nix +++ b/pkgs/by-name/po/pololu-tic/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, libusbp -, cmake -, pkg-config -, qt5 +{ + lib, + stdenv, + fetchFromGitHub, + libusbp, + cmake, + pkg-config, + qt5, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/po/polonium/package.nix b/pkgs/by-name/po/polonium/package.nix index 412774af533b8..addaf26b93230 100644 --- a/pkgs/by-name/po/polonium/package.nix +++ b/pkgs/by-name/po/polonium/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage -, libsForQt5 +{ + lib, + fetchFromGitHub, + buildNpmPackage, + libsForQt5, }: # how to update: @@ -26,7 +27,10 @@ buildNpmPackage rec { # the installer does a bunch of stuff that fails in our sandbox, so just build here and then we # manually do the install - buildFlags = [ "res" "src" ]; + buildFlags = [ + "res" + "src" + ]; nativeBuildInputs = with libsForQt5; [ plasma-framework ]; diff --git a/pkgs/by-name/po/poly/package.nix b/pkgs/by-name/po/poly/package.nix index 50dfb50203543..bffa196606a24 100644 --- a/pkgs/by-name/po/poly/package.nix +++ b/pkgs/by-name/po/poly/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { name = "poly"; @@ -15,7 +20,7 @@ stdenv.mkDerivation rec { sha256 = "1chzcy3kyi7wpr4iq4aj1v24fq1wwph1v5z96dimlqcrnvm66h2l"; }; - nativeBuildInputs = [unzip]; + nativeBuildInputs = [ unzip ]; sourceRoot = "."; diff --git a/pkgs/by-name/po/poly2tri-c/package.nix b/pkgs/by-name/po/poly2tri-c/package.nix index 0c68c2950eb2a..817c0558fca4a 100644 --- a/pkgs/by-name/po/poly2tri-c/package.nix +++ b/pkgs/by-name/po/poly2tri-c/package.nix @@ -1,15 +1,21 @@ -{ lib, stdenv -, fetchFromGitLab -, autoreconfHook -, pkg-config -, glib +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + glib, }: stdenv.mkDerivation rec { pname = "poly2tri-c"; version = "0.1.0"; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/by-name/po/polybar-pulseaudio-control/package.nix b/pkgs/by-name/po/polybar-pulseaudio-control/package.nix index 44067422bf1f7..1aca3360c8175 100644 --- a/pkgs/by-name/po/polybar-pulseaudio-control/package.nix +++ b/pkgs/by-name/po/polybar-pulseaudio-control/package.nix @@ -1,13 +1,14 @@ -{ lib -, bash -, coreutils -, fetchFromGitHub -, gnused -, gnugrep -, gawk -, makeWrapper -, pulseaudio -, stdenv +{ + lib, + bash, + coreutils, + fetchFromGitHub, + gnused, + gnugrep, + gawk, + makeWrapper, + pulseaudio, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -30,7 +31,16 @@ stdenv.mkDerivation (finalAttrs: { install -Dm755 pulseaudio-control.bash $out/bin/pulseaudio-control wrapProgram "$out/bin/pulseaudio-control" \ - --prefix PATH : "${lib.makeBinPath [ bash coreutils gnused gnugrep gawk pulseaudio ]}" + --prefix PATH : "${ + lib.makeBinPath [ + bash + coreutils + gnused + gnugrep + gawk + pulseaudio + ] + }" runHook postInstall ''; @@ -41,6 +51,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/marioortizmanero/polybar-pulseaudio-control"; platforms = platforms.linux; license = licenses.mit; - maintainers = with maintainers; [ benlemasurier wesleyjrz ]; + maintainers = with maintainers; [ + benlemasurier + wesleyjrz + ]; }; }) diff --git a/pkgs/by-name/po/polybar/package.nix b/pkgs/by-name/po/polybar/package.nix index ab3bf1e8e6918..8e90ffa438971 100644 --- a/pkgs/by-name/po/polybar/package.nix +++ b/pkgs/by-name/po/polybar/package.nix @@ -1,43 +1,44 @@ -{ config -, cairo -, cmake -, fetchFromGitHub -, libuv -, libXdmcp -, libpthreadstubs -, libxcb -, pcre -, pkg-config -, python3 -, python3Packages # sphinx-build -, lib -, stdenv -, xcbproto -, xcbutil -, xcbutilcursor -, xcbutilimage -, xcbutilrenderutil -, xcbutilwm -, xcbutilxrm -, makeWrapper -, removeReferencesTo -, alsa-lib -, curl -, libmpdclient -, libpulseaudio -, wirelesstools -, libnl -, i3 -, jsoncpp +{ + config, + cairo, + cmake, + fetchFromGitHub, + libuv, + libXdmcp, + libpthreadstubs, + libxcb, + pcre, + pkg-config, + python3, + python3Packages, # sphinx-build + lib, + stdenv, + xcbproto, + xcbutil, + xcbutilcursor, + xcbutilimage, + xcbutilrenderutil, + xcbutilwm, + xcbutilxrm, + makeWrapper, + removeReferencesTo, + alsa-lib, + curl, + libmpdclient, + libpulseaudio, + wirelesstools, + libnl, + i3, + jsoncpp, # override the variables ending in 'Support' to enable or disable modules -, alsaSupport ? true -, githubSupport ? false -, mpdSupport ? false -, pulseSupport ? config.pulseaudio or false -, iwSupport ? false -, nlSupport ? true -, i3Support ? false + alsaSupport ? true, + githubSupport ? false, + mpdSupport ? false, + pulseSupport ? config.pulseaudio or false, + iwSupport ? false, + nlSupport ? true, + i3Support ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -59,28 +60,33 @@ stdenv.mkDerivation (finalAttrs: { removeReferencesTo ] ++ lib.optional i3Support makeWrapper; - buildInputs = [ - cairo - libuv - libXdmcp - libpthreadstubs - libxcb - pcre - python3 - xcbproto - xcbutil - xcbutilcursor - xcbutilimage - xcbutilrenderutil - xcbutilwm - xcbutilxrm - ] ++ lib.optional alsaSupport alsa-lib - ++ lib.optional githubSupport curl - ++ lib.optional mpdSupport libmpdclient - ++ lib.optional pulseSupport libpulseaudio - ++ lib.optional iwSupport wirelesstools - ++ lib.optional nlSupport libnl - ++ lib.optionals i3Support [ jsoncpp i3 ]; + buildInputs = + [ + cairo + libuv + libXdmcp + libpthreadstubs + libxcb + pcre + python3 + xcbproto + xcbutil + xcbutilcursor + xcbutilimage + xcbutilrenderutil + xcbutilwm + xcbutilxrm + ] + ++ lib.optional alsaSupport alsa-lib + ++ lib.optional githubSupport curl + ++ lib.optional mpdSupport libmpdclient + ++ lib.optional pulseSupport libpulseaudio + ++ lib.optional iwSupport wirelesstools + ++ lib.optional nlSupport libnl + ++ lib.optionals i3Support [ + jsoncpp + i3 + ]; patches = [ ./remove-hardcoded-etc.diff ]; @@ -90,12 +96,14 @@ stdenv.mkDerivation (finalAttrs: { substituteAllInPlace src/utils/file.cpp ''; - postInstall = '' - remove-references-to -t ${stdenv.cc} $out/bin/polybar - '' + (lib.optionalString i3Support '' - wrapProgram $out/bin/polybar \ - --prefix PATH : "${i3}/bin" - ''); + postInstall = + '' + remove-references-to -t ${stdenv.cc} $out/bin/polybar + '' + + (lib.optionalString i3Support '' + wrapProgram $out/bin/polybar \ + --prefix PATH : "${i3}/bin" + ''); meta = with lib; { homepage = "https://polybar.github.io/"; @@ -107,7 +115,11 @@ stdenv.mkDerivation (finalAttrs: { having a black belt in shell scripting. ''; license = licenses.mit; - maintainers = with maintainers; [ afldcr Br1ght0ne moni ]; + maintainers = with maintainers; [ + afldcr + Br1ght0ne + moni + ]; mainProgram = "polybar"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/po/polygon-cli/package.nix b/pkgs/by-name/po/polygon-cli/package.nix index 07bfa97045571..e69036f993118 100644 --- a/pkgs/by-name/po/polygon-cli/package.nix +++ b/pkgs/by-name/po/polygon-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonPackage rec { diff --git a/pkgs/by-name/po/polygraph/package.nix b/pkgs/by-name/po/polygraph/package.nix index f4742e660d834..9629cf098cc2c 100644 --- a/pkgs/by-name/po/polygraph/package.nix +++ b/pkgs/by-name/po/polygraph/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, openssl, zlib, ncurses }: +{ + lib, + stdenv, + fetchurl, + openssl, + zlib, + ncurses, +}: stdenv.mkDerivation rec { pname = "polygraph"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "1rwzci3n7q33hw3spd79adnclzwgwlxcisc9szzjmcjqhbkcpj1a"; }; - buildInputs = [ openssl zlib ncurses ]; + buildInputs = [ + openssl + zlib + ncurses + ]; meta = with lib; { homepage = "http://www.web-polygraph.org"; diff --git a/pkgs/by-name/po/polylith/package.nix b/pkgs/by-name/po/polylith/package.nix index 54c1954380f2a..8e2a559811933 100644 --- a/pkgs/by-name/po/polylith/package.nix +++ b/pkgs/by-name/po/polylith/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jdk, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + jdk, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "polylith"; @@ -47,7 +53,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/polyfy/polylith"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.epl10; - maintainers = with maintainers; [ ericdallo jlesquembre ]; + maintainers = with maintainers; [ + ericdallo + jlesquembre + ]; platforms = jdk.meta.platforms; }; } diff --git a/pkgs/by-name/po/polylux2pdfpc/package.nix b/pkgs/by-name/po/polylux2pdfpc/package.nix index cfe1290d19391..a080b2b123e68 100644 --- a/pkgs/by-name/po/polylux2pdfpc/package.nix +++ b/pkgs/by-name/po/polylux2pdfpc/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, }: let diff --git a/pkgs/by-name/po/polymake/package.nix b/pkgs/by-name/po/polymake/package.nix index eb4c835353939..a0b90178df274 100644 --- a/pkgs/by-name/po/polymake/package.nix +++ b/pkgs/by-name/po/polymake/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, gmp -, mpfr -, flint -, boost -, bliss -, ppl -, singular -, cddlib -, lrs -, nauty -, ninja -, ant -, openjdk -, perl -, perlPackages -, makeWrapper +{ + lib, + stdenv, + fetchurl, + gmp, + mpfr, + flint, + boost, + bliss, + ppl, + singular, + cddlib, + lrs, + nauty, + ninja, + ant, + openjdk, + perl, + perlPackages, + makeWrapper, }: # polymake compiles its own version of sympol and atint because we @@ -41,27 +42,32 @@ stdenv.mkDerivation rec { perl ]; - buildInputs = [ - perl - gmp - mpfr - flint - boost - bliss - ppl - singular - cddlib - lrs - nauty - openjdk - ] ++ (with perlPackages; [ - JSON - TermReadLineGnu - TermReadKey - XMLSAX - ]); + buildInputs = + [ + perl + gmp + mpfr + flint + boost + bliss + ppl + singular + cddlib + lrs + nauty + openjdk + ] + ++ (with perlPackages; [ + JSON + TermReadLineGnu + TermReadKey + XMLSAX + ]); - ninjaFlags = [ "-C" "build/Opt" ]; + ninjaFlags = [ + "-C" + "build/Opt" + ]; postInstall = '' for i in "$out"/bin/*; do diff --git a/pkgs/by-name/po/polypane/package.nix b/pkgs/by-name/po/polypane/package.nix index 5b6d17985d040..e14675f70057b 100644 --- a/pkgs/by-name/po/polypane/package.nix +++ b/pkgs/by-name/po/polypane/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "polypane"; @@ -13,7 +17,8 @@ let appimageContents = appimageTools.extractType2 { inherit pname src version; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname src version; extraPkgs = pkgs: [ pkgs.bash ]; diff --git a/pkgs/by-name/po/polytopes_db/package.nix b/pkgs/by-name/po/polytopes_db/package.nix index 8e9e7b44a4aac..a46acf47d242d 100644 --- a/pkgs/by-name/po/polytopes_db/package.nix +++ b/pkgs/by-name/po/polytopes_db/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/po/pom/package.nix b/pkgs/by-name/po/pom/package.nix index 4b9fc2615f6c5..843012a86335f 100644 --- a/pkgs/by-name/po/pom/package.nix +++ b/pkgs/by-name/po/pom/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pom"; @@ -13,13 +17,20 @@ buildGoModule rec { vendorHash = "sha256-xJNcFX+sZjZwXFTNrhsDnj3eR/r8+NH6tzpEJOhtkeY="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { description = "Pomodoro timer in your terminal"; homepage = "https://github.com/maaslalani/pom"; license = licenses.mit; - maintainers = with maintainers; [ maaslalani redyf ]; + maintainers = with maintainers; [ + maaslalani + redyf + ]; mainProgram = "pom"; }; } diff --git a/pkgs/by-name/po/pomerium-cli/package.nix b/pkgs/by-name/po/pomerium-cli/package.nix index 328717aca5817..990f1bb348e3d 100644 --- a/pkgs/by-name/po/pomerium-cli/package.nix +++ b/pkgs/by-name/po/pomerium-cli/package.nix @@ -1,10 +1,16 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: let - inherit (lib) concatStringsSep concatMap id mapAttrsToList; + inherit (lib) + concatStringsSep + concatMap + id + mapAttrsToList + ; in buildGoModule rec { pname = "pomerium-cli"; @@ -23,27 +29,29 @@ buildGoModule rec { "cmd/pomerium-cli" ]; - ldflags = let - # Set a variety of useful meta variables for stamping the build with. - setVars = { - "github.com/pomerium/cli/version" = { - Version = "v${version}"; - BuildMeta = "nixpkgs"; - ProjectName = "pomerium-cli"; - ProjectURL = "github.com/pomerium/cli"; + ldflags = + let + # Set a variety of useful meta variables for stamping the build with. + setVars = { + "github.com/pomerium/cli/version" = { + Version = "v${version}"; + BuildMeta = "nixpkgs"; + ProjectName = "pomerium-cli"; + ProjectURL = "github.com/pomerium/cli"; + }; }; - }; - concatStringsSpace = list: concatStringsSep " " list; - mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list); - varFlags = concatStringsSpace ( - mapAttrsToFlatList (package: packageVars: - mapAttrsToList (variable: value: - "-X ${package}.${variable}=${value}" - ) packageVars - ) setVars); - in [ - "${varFlags}" - ]; + concatStringsSpace = list: concatStringsSep " " list; + mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list); + varFlags = concatStringsSpace ( + mapAttrsToFlatList ( + package: packageVars: + mapAttrsToList (variable: value: "-X ${package}.${variable}=${value}") packageVars + ) setVars + ); + in + [ + "${varFlags}" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/po/pomerium/package.nix b/pkgs/by-name/po/pomerium/package.nix index 2dcbf2069c38d..b19b8c130e3db 100644 --- a/pkgs/by-name/po/pomerium/package.nix +++ b/pkgs/by-name/po/pomerium/package.nix @@ -1,15 +1,21 @@ -{ buildGo123Module -, fetchFromGitHub -, lib -, envoy -, mkYarnPackage -, fetchYarnDeps -, nixosTests -, pomerium-cli +{ + buildGo123Module, + fetchFromGitHub, + lib, + envoy, + mkYarnPackage, + fetchYarnDeps, + nixosTests, + pomerium-cli, }: let - inherit (lib) concatStringsSep concatMap id mapAttrsToList; + inherit (lib) + concatStringsSep + concatMap + id + mapAttrsToList + ; in buildGo123Module rec { pname = "pomerium"; @@ -57,30 +63,32 @@ buildGo123Module rec { ./0001-envoy-allow-specification-of-external-binary.patch ]; - ldflags = let - # Set a variety of useful meta variables for stamping the build with. - setVars = { - "github.com/pomerium/pomerium/internal/version" = { - Version = "v${version}"; - BuildMeta = "nixpkgs"; - ProjectName = "pomerium"; - ProjectURL = "github.com/pomerium/pomerium"; + ldflags = + let + # Set a variety of useful meta variables for stamping the build with. + setVars = { + "github.com/pomerium/pomerium/internal/version" = { + Version = "v${version}"; + BuildMeta = "nixpkgs"; + ProjectName = "pomerium"; + ProjectURL = "github.com/pomerium/pomerium"; + }; + "github.com/pomerium/pomerium/pkg/envoy" = { + OverrideEnvoyPath = "${envoy}/bin/envoy"; + }; }; - "github.com/pomerium/pomerium/pkg/envoy" = { - OverrideEnvoyPath = "${envoy}/bin/envoy"; - }; - }; - concatStringsSpace = list: concatStringsSep " " list; - mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list); - varFlags = concatStringsSpace ( - mapAttrsToFlatList (package: packageVars: - mapAttrsToList (variable: value: - "-X ${package}.${variable}=${value}" - ) packageVars - ) setVars); - in [ - "${varFlags}" - ]; + concatStringsSpace = list: concatStringsSep " " list; + mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list); + varFlags = concatStringsSpace ( + mapAttrsToFlatList ( + package: packageVars: + mapAttrsToList (variable: value: "-X ${package}.${variable}=${value}") packageVars + ) setVars + ); + in + [ + "${varFlags}" + ]; preBuild = '' # Replace embedded envoy with nothing. @@ -124,7 +132,13 @@ buildGo123Module rec { description = "Authenticating reverse proxy"; mainProgram = "pomerium"; license = licenses.asl20; - maintainers = with maintainers; [ lukegb devusb ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ + lukegb + devusb + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/po/pommed_light/package.nix b/pkgs/by-name/po/pommed_light/package.nix index 11a5cebc76bfb..0def37b1b7c48 100644 --- a/pkgs/by-name/po/pommed_light/package.nix +++ b/pkgs/by-name/po/pommed_light/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, pciutils -, libconfuse -, alsa-lib -, audiofile -, pkg-config -, zlib -, eject +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pciutils, + libconfuse, + alsa-lib, + audiofile, + pkg-config, + zlib, + eject, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/po/pomodoro-gtk/package.nix b/pkgs/by-name/po/pomodoro-gtk/package.nix index b373535960c9b..e31da5221375c 100644 --- a/pkgs/by-name/po/pomodoro-gtk/package.nix +++ b/pkgs/by-name/po/pomodoro-gtk/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gjs -, gobject-introspection -, blueprint-compiler -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita -, libgda6 -, gsound -, gst_all_1 -, libportal-gtk4 +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gjs, + gobject-introspection, + blueprint-compiler, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + libgda6, + gsound, + gst_all_1, + libportal-gtk4, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/po/pomsky/package.nix b/pkgs/by-name/po/pomsky/package.nix index d86b138861bf2..3b96abba05a46 100644 --- a/pkgs/by-name/po/pomsky/package.nix +++ b/pkgs/by-name/po/pomsky/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, oniguruma }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + oniguruma, +}: rustPlatform.buildRustPackage rec { pname = "pomsky"; @@ -39,7 +45,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "pomsky"; homepage = "https://pomsky-lang.org"; changelog = "https://github.com/pomsky-lang/pomsky/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/po/pong3d/package.nix b/pkgs/by-name/po/pong3d/package.nix index 9e965c95482a6..32614d8db2923 100644 --- a/pkgs/by-name/po/pong3d/package.nix +++ b/pkgs/by-name/po/pong3d/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, libX11}: +{ + lib, + stdenv, + fetchurl, + libX11, +}: stdenv.mkDerivation rec { pname = "3dpong"; diff --git a/pkgs/by-name/po/ponymix/package.nix b/pkgs/by-name/po/ponymix/package.nix index e0cf106e460b7..c3072757a57e6 100644 --- a/pkgs/by-name/po/ponymix/package.nix +++ b/pkgs/by-name/po/ponymix/package.nix @@ -1,17 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, libpulseaudio, libnotify, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libpulseaudio, + libnotify, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ponymix"; version = "5"; src = fetchFromGitHub { - owner = "falconindy"; - repo = "ponymix"; - rev = version; + owner = "falconindy"; + repo = "ponymix"; + rev = version; sha256 = "08yp7fprmzm6px5yx2rvzri0l60bra5h59l26pn0k071a37ks1rb"; }; - buildInputs = [ libpulseaudio libnotify ]; + buildInputs = [ + libpulseaudio + libnotify + ]; nativeBuildInputs = [ pkg-config ]; postPatch = ''substituteInPlace Makefile --replace "\$(DESTDIR)/usr" "$out"''; diff --git a/pkgs/by-name/po/ponysay/package.nix b/pkgs/by-name/po/ponysay/package.nix index f58d78285d7fb..fcbc75e181962 100644 --- a/pkgs/by-name/po/ponysay/package.nix +++ b/pkgs/by-name/po/ponysay/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, python3, texinfo, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + texinfo, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "ponysay"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ python3 texinfo ]; + buildInputs = [ + python3 + texinfo + ]; inherit python3; diff --git a/pkgs/by-name/po/pop-gtk-theme/package.nix b/pkgs/by-name/po/pop-gtk-theme/package.nix index dd4c0281fa866..b8e34f536fab9 100644 --- a/pkgs/by-name/po/pop-gtk-theme/package.nix +++ b/pkgs/by-name/po/pop-gtk-theme/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, sassc -, gtk3 -, inkscape -, optipng -, gtk-engine-murrine -, gdk-pixbuf -, librsvg -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + sassc, + gtk3, + inkscape, + optipng, + gtk-engine-murrine, + gdk-pixbuf, + librsvg, + python3, }: stdenv.mkDerivation rec { @@ -58,7 +59,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "System76 Pop GTK+ Theme"; homepage = "https://github.com/pop-os/gtk-theme"; - license = with licenses; [ gpl3 lgpl21 cc-by-sa-40 ]; + license = with licenses; [ + gpl3 + lgpl21 + cc-by-sa-40 + ]; platforms = platforms.linux; maintainers = [ ]; }; diff --git a/pkgs/by-name/po/pop-icon-theme/package.nix b/pkgs/by-name/po/pop-icon-theme/package.nix index 8d4467e3abad6..fd0a63376b7ba 100644 --- a/pkgs/by-name/po/pop-icon-theme/package.nix +++ b/pkgs/by-name/po/pop-icon-theme/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, meson -, ninja -, gtk3 -, adwaita-icon-theme -, hicolor-icon-theme +{ + lib, + stdenvNoCC, + fetchFromGitHub, + meson, + ninja, + gtk3, + adwaita-icon-theme, + hicolor-icon-theme, }: stdenvNoCC.mkDerivation rec { @@ -35,7 +36,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Icon theme for Pop!_OS with a semi-flat design and raised 3D motifs"; homepage = "https://github.com/pop-os/icon-theme"; - license = with licenses; [ cc-by-sa-40 gpl3 ]; + license = with licenses; [ + cc-by-sa-40 + gpl3 + ]; platforms = platforms.linux; # hash mismatch on darwin due to file names differing only in case maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/by-name/po/pop/package.nix b/pkgs/by-name/po/pop/package.nix index f20ab86c85c90..d320feb46e822 100644 --- a/pkgs/by-name/po/pop/package.nix +++ b/pkgs/by-name/po/pop/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, installShellFiles, fetchFromGitHub }: +{ + lib, + buildGoModule, + installShellFiles, + fetchFromGitHub, +}: buildGoModule rec { pname = "pop"; @@ -19,7 +24,11 @@ buildGoModule rec { installShellFiles ]; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; postInstall = '' $out/bin/pop man > pop.1 @@ -35,7 +44,10 @@ buildGoModule rec { homepage = "https://github.com/charmbracelet/pop"; changelog = "https://github.com/charmbracelet/pop/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ caarlos0 maaslalani ]; + maintainers = with maintainers; [ + caarlos0 + maaslalani + ]; mainProgram = "pop"; }; } diff --git a/pkgs/by-name/po/popa3d/package.nix b/pkgs/by-name/po/popa3d/package.nix index da7ba498f243b..b4ced4eb19e25 100644 --- a/pkgs/by-name/po/popa3d/package.nix +++ b/pkgs/by-name/po/popa3d/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, openssl, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + openssl, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "popa3d"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1g48cd74sqhl496wmljhq44iyfpghaz363a1ip8nyhpjz7d57f03"; }; - buildInputs = [ openssl libxcrypt ]; + buildInputs = [ + openssl + libxcrypt + ]; patches = [ ./fix-mail-spool-path.patch diff --git a/pkgs/by-name/po/popcorntime/package.nix b/pkgs/by-name/po/popcorntime/package.nix index 28fd5b60e6898..93413a04572d1 100644 --- a/pkgs/by-name/po/popcorntime/package.nix +++ b/pkgs/by-name/po/popcorntime/package.nix @@ -1,18 +1,19 @@ -{ autoPatchelfHook -, fetchurl -, gcc-unwrapped -, gsettings-desktop-schemas -, gtk3 -, lib -, libGL -, makeDesktopItem -, makeWrapper -, nwjs -, stdenv -, unzip -, udev -, wrapGAppsHook3 -, copyDesktopItems +{ + autoPatchelfHook, + fetchurl, + gcc-unwrapped, + gsettings-desktop-schemas, + gtk3, + lib, + libGL, + makeDesktopItem, + makeWrapper, + nwjs, + stdenv, + unzip, + udev, + wrapGAppsHook3, + copyDesktopItems, }: stdenv.mkDerivation rec { @@ -46,20 +47,30 @@ stdenv.mkDerivation rec { dontUnpack = true; makeWrapperArgs = [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib gtk3 udev libGL ]}" + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + gcc-unwrapped.lib + gtk3 + udev + libGL + ] + }" "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" ]; desktopItem = makeDesktopItem { - name = pname; - exec = pname; - icon = pname; - comment = meta.description; - genericName = meta.description; - type = "Application"; - desktopName = "Popcorn-Time"; - categories = [ "Video" "AudioVideo" ]; - }; + name = pname; + exec = pname; + icon = pname; + comment = meta.description; + genericName = meta.description; + type = "Application"; + desktopName = "Popcorn-Time"; + categories = [ + "Video" + "AudioVideo" + ]; + }; # Extract and copy executable in $out/bin installPhase = '' diff --git a/pkgs/by-name/po/popeye/package.nix b/pkgs/by-name/po/popeye/package.nix index 7f6f7dae86387..135ed61404738 100644 --- a/pkgs/by-name/po/popeye/package.nix +++ b/pkgs/by-name/po/popeye/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "popeye"; @@ -12,7 +17,8 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/derailed/popeye/cmd.version=${version}" "-X github.com/derailed/popeye/cmd.commit=${version}" ]; diff --git a/pkgs/by-name/po/popfile/package.nix b/pkgs/by-name/po/popfile/package.nix index b902a75bb4767..2189104b8f706 100644 --- a/pkgs/by-name/po/popfile/package.nix +++ b/pkgs/by-name/po/popfile/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchzip, makeWrapper, perlPackages, -... }: +{ + lib, + stdenv, + fetchzip, + makeWrapper, + perlPackages, + ... +}: stdenv.mkDerivation rec { appname = "popfile"; @@ -13,21 +19,24 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = (with perlPackages; [ - ## These are all taken from the popfile documentation as applicable to Linux - ## https://getpopfile.org/docs/howtos:allplatformsrequireperl - perl - DBI - DBDSQLite - HTMLTagset - TimeDate # == DateParse - HTMLTemplate - # IO::Socket::Socks is not in nixpkgs - # IOSocketSocks - IOSocketSSL - NetSSLeay - SOAPLite - ]); + buildInputs = ( + with perlPackages; + [ + ## These are all taken from the popfile documentation as applicable to Linux + ## https://getpopfile.org/docs/howtos:allplatformsrequireperl + perl + DBI + DBDSQLite + HTMLTagset + TimeDate # == DateParse + HTMLTemplate + # IO::Socket::Socks is not in nixpkgs + # IOSocketSocks + IOSocketSSL + NetSSLeay + SOAPLite + ] + ); installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/po/popl/package.nix b/pkgs/by-name/po/popl/package.nix index b72b97172e379..0eb4dd306d007 100644 --- a/pkgs/by-name/po/popl/package.nix +++ b/pkgs/by-name/po/popl/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/po/poppins/package.nix b/pkgs/by-name/po/poppins/package.nix index f72ce9ffcc692..32ee21503798c 100644 --- a/pkgs/by-name/po/poppins/package.nix +++ b/pkgs/by-name/po/poppins/package.nix @@ -15,7 +15,7 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-7+RQHYxNFqOw2EeS2hgrbK/VbUAiPorUtkyRb5MFh5w="; }; - nativeBuildInputs = [unzip]; + nativeBuildInputs = [ unzip ]; installPhase = '' runHook preInstall @@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation rec { description = "Devanagari + Latin family for Google Fonts"; homepage = "https://github.com/itfoundry/Poppins/"; license = lib.licenses.ofl; - maintainers = with lib.maintainers; [nyawox]; + maintainers = with lib.maintainers; [ nyawox ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/po/poppler_data/package.nix b/pkgs/by-name/po/poppler_data/package.nix index 392761a9bd250..6c11f81ea0afa 100644 --- a/pkgs/by-name/po/poppler_data/package.nix +++ b/pkgs/by-name/po/poppler_data/package.nix @@ -1,9 +1,10 @@ -{ fetchurl -, lib -, stdenv -, cmake -, ninja -, poppler +{ + fetchurl, + lib, + stdenv, + cmake, + ninja, + poppler, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/po/popsicle/package.nix b/pkgs/by-name/po/popsicle/package.nix index 315ac11abb6c8..a7d5a90624dbf 100644 --- a/pkgs/by-name/po/popsicle/package.nix +++ b/pkgs/by-name/po/popsicle/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cargo -, glib -, pkg-config -, rustc -, wrapGAppsHook3 -, gdk-pixbuf -, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cargo, + glib, + pkg-config, + rustc, + wrapGAppsHook3, + gdk-pixbuf, + gtk3, }: stdenv.mkDerivation rec { @@ -50,7 +51,10 @@ stdenv.mkDerivation rec { description = "Multiple USB File Flasher"; homepage = "https://github.com/pop-os/popsicle"; changelog = "https://github.com/pop-os/popsicle/releases/tag/${version}"; - maintainers = with maintainers; [ _13r0ck figsoda ]; + maintainers = with maintainers; [ + _13r0ck + figsoda + ]; license = licenses.mit; platforms = platforms.linux; }; diff --git a/pkgs/by-name/po/popt/package.nix b/pkgs/by-name/po/popt/package.nix index 282203a98af7b..eb9e4f3685ed4 100644 --- a/pkgs/by-name/po/popt/package.nix +++ b/pkgs/by-name/po/popt/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch2 -, updateAutotoolsGnuConfigScriptsHook +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + updateAutotoolsGnuConfigScriptsHook, }: stdenv.mkDerivation rec { @@ -16,27 +17,29 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - patches = lib.optionals stdenv.hostPlatform.isCygwin [ - ./1.16-cygwin.patch - ./1.16-vpath.patch - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - # Do not require - (fetchpatch2 { - url = "https://aur.archlinux.org/cgit/aur.git/plain/get-w32-console-maxcols.mingw32.patch?h=mingw-w64-popt&id=63f2cdb0de116362c49681cef20f7a8b4355e85a"; - sha256 = "zv43l1RBqNzT/JG+jQaMVFaFv+ZYPuIiAtKUDzJJBbc="; - stripLen = 1; - extraPrefix = "src/"; - }) + patches = + lib.optionals stdenv.hostPlatform.isCygwin [ + ./1.16-cygwin.patch + ./1.16-vpath.patch + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # Do not require + (fetchpatch2 { + url = "https://aur.archlinux.org/cgit/aur.git/plain/get-w32-console-maxcols.mingw32.patch?h=mingw-w64-popt&id=63f2cdb0de116362c49681cef20f7a8b4355e85a"; + sha256 = "zv43l1RBqNzT/JG+jQaMVFaFv+ZYPuIiAtKUDzJJBbc="; + stripLen = 1; + extraPrefix = "src/"; + }) - # Do not try to detect setuid, it is not a thing. - (fetchpatch2 { - url = "https://github.com/rpm-software-management/popt/commit/905544c5d9767894edaf71a1e3ce5126944c5695.patch"; - sha256 = "3PmcxeiEZ/Hof0zoVFSytEXvQ8gE8Sp5UdagExPVICU="; - stripLen = 1; - extraPrefix = "src/"; - revert = true; - }) - ]; + # Do not try to detect setuid, it is not a thing. + (fetchpatch2 { + url = "https://github.com/rpm-software-management/popt/commit/905544c5d9767894edaf71a1e3ce5126944c5695.patch"; + sha256 = "3PmcxeiEZ/Hof0zoVFSytEXvQ8gE8Sp5UdagExPVICU="; + stripLen = 1; + extraPrefix = "src/"; + revert = true; + }) + ]; doCheck = false; # fails diff --git a/pkgs/by-name/po/popura/package.nix b/pkgs/by-name/po/popura/package.nix index c7e5174452adc..b28cee329d493 100644 --- a/pkgs/by-name/po/popura/package.nix +++ b/pkgs/by-name/po/popura/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,12 +17,16 @@ buildGoModule rec { vendorHash = "sha256-9lQC35yt1S2uch3qgwNfa/1FHy+Qi1D5Jo7DWNMgU9w="; - ldflags = let pkgSrc = "github.com/yggdrasil-network/yggdrasil-go/src/version"; in [ - "-s" - "-w" - "-X=${pkgSrc}.buildName=yggdrasil" - "-X=${pkgSrc}.buildVersion=${version}" - ]; + ldflags = + let + pkgSrc = "github.com/yggdrasil-network/yggdrasil-go/src/version"; + in + [ + "-s" + "-w" + "-X=${pkgSrc}.buildName=yggdrasil" + "-X=${pkgSrc}.buildVersion=${version}" + ]; meta = with lib; { description = "Alternative Yggdrasil network client"; diff --git a/pkgs/by-name/po/porsmo/package.nix b/pkgs/by-name/po/porsmo/package.nix index 6d9ed5ee2c98e..d67b7782867a3 100644 --- a/pkgs/by-name/po/porsmo/package.nix +++ b/pkgs/by-name/po/porsmo/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, alsa-lib -, stdenv -, darwin -, testers -, porsmo +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + alsa-lib, + stdenv, + darwin, + testers, + porsmo, }: rustPlatform.buildRustPackage rec { @@ -27,12 +28,14 @@ rustPlatform.buildRustPackage rec { rustPlatform.bindgenHook ]; - buildInputs = [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreAudio - darwin.apple_sdk.frameworks.CoreFoundation - ]; + buildInputs = + [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreAudio + darwin.apple_sdk.frameworks.CoreFoundation + ]; passthru.tests.version = testers.testVersion { package = porsmo; diff --git a/pkgs/by-name/po/portal/package.nix b/pkgs/by-name/po/portal/package.nix index 221526b7f3423..c64c8050c5315 100644 --- a/pkgs/by-name/po/portal/package.nix +++ b/pkgs/by-name/po/portal/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "portal"; diff --git a/pkgs/by-name/po/portfolio-filemanager/package.nix b/pkgs/by-name/po/portfolio-filemanager/package.nix index 6b19d9564f682..04bb70bd0c71f 100644 --- a/pkgs/by-name/po/portfolio-filemanager/package.nix +++ b/pkgs/by-name/po/portfolio-filemanager/package.nix @@ -1,18 +1,19 @@ -{ lib -, python3 -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, gettext -, gobject-introspection -, gtk3 -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, nix-update-script +{ + lib, + python3, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + gettext, + gobject-introspection, + gtk3, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + nix-update-script, }: python3.pkgs.buildPythonApplication rec { @@ -78,6 +79,9 @@ python3.pkgs.buildPythonApplication rec { license = licenses.gpl3Plus; platforms = platforms.linux; mainProgram = "dev.tchx84.Portfolio"; - maintainers = with maintainers; [ dotlambda chuangzhu ]; + maintainers = with maintainers; [ + dotlambda + chuangzhu + ]; }; } diff --git a/pkgs/by-name/po/portunus/package.nix b/pkgs/by-name/po/portunus/package.nix index 1cbc81afdd979..96408db6f66d9 100644 --- a/pkgs/by-name/po/portunus/package.nix +++ b/pkgs/by-name/po/portunus/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, libxcrypt -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + libxcrypt, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/po/posteid-seed-extractor/package.nix b/pkgs/by-name/po/posteid-seed-extractor/package.nix index b0c1f04d21a47..3a9976508fe11 100644 --- a/pkgs/by-name/po/posteid-seed-extractor/package.nix +++ b/pkgs/by-name/po/posteid-seed-extractor/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication { @@ -17,19 +18,19 @@ python3Packages.buildPythonApplication { format = "other"; pythonPath = with python3Packages; [ - certifi - cffi - charset-normalizer - cryptography - idna - jwcrypto - pycparser - pycryptodome - pyotp - qrcode - requests - urllib3 - wrapt + certifi + cffi + charset-normalizer + cryptography + idna + jwcrypto + pycparser + pycryptodome + pyotp + qrcode + requests + urllib3 + wrapt ]; installPhase = '' diff --git a/pkgs/by-name/po/posterazor/package.nix b/pkgs/by-name/po/posterazor/package.nix index 6ccb0598506ed..300f959bb0f27 100644 --- a/pkgs/by-name/po/posterazor/package.nix +++ b/pkgs/by-name/po/posterazor/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, cmake -, unzip -, pkg-config -, libXpm -, fltk13 -, freeimage +{ + lib, + stdenv, + fetchurl, + cmake, + unzip, + pkg-config, + libXpm, + fltk13, + freeimage, }: stdenv.mkDerivation rec { @@ -20,8 +21,16 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - nativeBuildInputs = [ cmake pkg-config unzip ]; - buildInputs = [ libXpm fltk13 freeimage ]; + nativeBuildInputs = [ + cmake + pkg-config + unzip + ]; + buildInputs = [ + libXpm + fltk13 + freeimage + ]; unpackPhase = '' unzip $src -d posterazor diff --git a/pkgs/by-name/po/postgres-lsp/package.nix b/pkgs/by-name/po/postgres-lsp/package.nix index b267442cae830..b2927a6600cf8 100644 --- a/pkgs/by-name/po/postgres-lsp/package.nix +++ b/pkgs/by-name/po/postgres-lsp/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, protobuf +{ + lib, + rustPlatform, + fetchFromGitHub, + protobuf, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/po/postgresqlTestHook/test.nix b/pkgs/by-name/po/postgresqlTestHook/test.nix index 9881ed1016cc1..44650bc60ecad 100644 --- a/pkgs/by-name/po/postgresqlTestHook/test.nix +++ b/pkgs/by-name/po/postgresqlTestHook/test.nix @@ -1,4 +1,8 @@ -{ postgresql, postgresqlTestHook, stdenv }: +{ + postgresql, + postgresqlTestHook, + stdenv, +}: stdenv.mkDerivation { name = "postgresql-test-hook-test"; @@ -6,7 +10,7 @@ stdenv.mkDerivation { nativeCheckInputs = [ postgresql ]; dontUnpack = true; doCheck = true; - passAsFile = ["sql"]; + passAsFile = [ "sql" ]; sql = '' CREATE TABLE hello ( message text diff --git a/pkgs/by-name/po/postgresql_jdbc/package.nix b/pkgs/by-name/po/postgresql_jdbc/package.nix index f1e93e352eb83..7b3846cb18dfe 100644 --- a/pkgs/by-name/po/postgresql_jdbc/package.nix +++ b/pkgs/by-name/po/postgresql_jdbc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchMavenArtifact }: +{ + lib, + stdenv, + fetchMavenArtifact, +}: stdenv.mkDerivation rec { pname = "postgresql-jdbc"; diff --git a/pkgs/by-name/po/postgrey/package.nix b/pkgs/by-name/po/postgrey/package.nix index dc872f968bd7f..9710debf5b78e 100644 --- a/pkgs/by-name/po/postgrey/package.nix +++ b/pkgs/by-name/po/postgrey/package.nix @@ -1,27 +1,47 @@ -{ fetchurl, perlPackages, lib, runCommand, postfix }: +{ + fetchurl, + perlPackages, + lib, + runCommand, + postfix, +}: let - mk-perl-flags = inputs: lib.concatStringsSep " " (map (dep: "-I ${dep}/${perlPackages.perl.libPrefix}") inputs); - postgrey-flags = mk-perl-flags (with perlPackages; [ - NetServer BerkeleyDB DigestSHA1 NetAddrIP IOMultiplex - ]); - policy-test-flags = mk-perl-flags (with perlPackages; [ + mk-perl-flags = + inputs: lib.concatStringsSep " " (map (dep: "-I ${dep}/${perlPackages.perl.libPrefix}") inputs); + postgrey-flags = mk-perl-flags ( + with perlPackages; + [ + NetServer + BerkeleyDB + DigestSHA1 + NetAddrIP + IOMultiplex + ] + ); + policy-test-flags = mk-perl-flags ( + with perlPackages; + [ ParseSyslog - ]); - version = "1.37"; - name = "postgrey-${version}"; -in runCommand name { - src = fetchurl { - url = "https://postgrey.schweikert.ch/pub/${name}.tar.gz"; - sha256 = "1xx51xih4711vrvc6d57il9ccallbljj5zhgqdb07jzmz11rakgz"; - }; - meta = with lib; { - description = "Postfix policy server to provide greylisting"; - homepage = "https://postgrey.schweikert.ch/"; - platforms = postfix.meta.platforms; - license = licenses.gpl2Plus; - }; -} '' + ] + ); + version = "1.37"; + name = "postgrey-${version}"; +in +runCommand name + { + src = fetchurl { + url = "https://postgrey.schweikert.ch/pub/${name}.tar.gz"; + sha256 = "1xx51xih4711vrvc6d57il9ccallbljj5zhgqdb07jzmz11rakgz"; + }; + meta = with lib; { + description = "Postfix policy server to provide greylisting"; + homepage = "https://postgrey.schweikert.ch/"; + platforms = postfix.meta.platforms; + license = licenses.gpl2Plus; + }; + } + '' mkdir -p $out/bin cd $out tar -xzf $src --strip-components=1 @@ -31,4 +51,4 @@ in runCommand name { bin/postgrey sed -i -e "s,#!/usr/bin/perl,#!${perlPackages.perl}/bin/perl ${policy-test-flags}," \ bin/policy-test -'' + '' diff --git a/pkgs/by-name/po/postiats-utilities/package.nix b/pkgs/by-name/po/postiats-utilities/package.nix index 6ac021e1ba092..8e00897e79cd9 100644 --- a/pkgs/by-name/po/postiats-utilities/package.nix +++ b/pkgs/by-name/po/postiats-utilities/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + python3Packages, +}: stdenv.mkDerivation rec { pname = "postiats-utilities"; @@ -17,7 +23,10 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.ttuegel ]; }; - buildInputs = [ python3 python3Packages.wrapPython ]; + buildInputs = [ + python3 + python3Packages.wrapPython + ]; postPatch = '' for f in pats-* postiats/*.py; do diff --git a/pkgs/by-name/po/postlight-parser/package.nix b/pkgs/by-name/po/postlight-parser/package.nix index bf72c9a19c3ed..2a7f2418fcd1d 100644 --- a/pkgs/by-name/po/postlight-parser/package.nix +++ b/pkgs/by-name/po/postlight-parser/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, yarnConfigHook -, yarnBuildHook -, yarnInstallHook -, nodejs +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + yarnInstallHook, + nodejs, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/po/postman/darwin.nix b/pkgs/by-name/po/postman/darwin.nix index 79458298dcc1d..1e648396eba1c 100644 --- a/pkgs/by-name/po/postman/darwin.nix +++ b/pkgs/by-name/po/postman/darwin.nix @@ -1,24 +1,28 @@ -{ stdenvNoCC -, fetchurl -, unzip -, pname -, version -, meta +{ + stdenvNoCC, + fetchurl, + unzip, + pname, + version, + meta, }: let appName = "Postman.app"; - dist = { - aarch64-darwin = { - arch = "arm64"; - sha256 = "sha256-V+JLXl12DnwZlPF0qNs2lQqRpWbSDiPXDTtl4FGcZcM="; - }; - - x86_64-darwin = { - arch = "64"; - sha256 = "sha256-l7J4Rrq+kUyk+0Chq5qo50K1VXC/7E3FC/hQ1DQ0PGA="; - }; - }.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); + dist = + { + aarch64-darwin = { + arch = "arm64"; + sha256 = "sha256-V+JLXl12DnwZlPF0qNs2lQqRpWbSDiPXDTtl4FGcZcM="; + }; + + x86_64-darwin = { + arch = "64"; + sha256 = "sha256-l7J4Rrq+kUyk+0Chq5qo50K1VXC/7E3FC/hQ1DQ0PGA="; + }; + } + .${stdenvNoCC.hostPlatform.system} + or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); in diff --git a/pkgs/by-name/po/postman/linux.nix b/pkgs/by-name/po/postman/linux.nix index fe15275bfb7d5..c5fdabc1592cb 100644 --- a/pkgs/by-name/po/postman/linux.nix +++ b/pkgs/by-name/po/postman/linux.nix @@ -1,67 +1,70 @@ -{ lib -, stdenv -, fetchurl -, makeDesktopItem -, wrapGAppsHook3 -, atk -, at-spi2-atk -, at-spi2-core -, alsa-lib -, cairo -, cups -, dbus -, expat -, gdk-pixbuf -, glib -, gtk3 -, freetype -, fontconfig -, nss -, nspr -, pango -, udev -, libsecret -, libuuid -, libX11 -, libxcb -, libXi -, libXcursor -, libXdamage -, libXrandr -, libXcomposite -, libXext -, libXfixes -, libXrender -, libXtst -, libXScrnSaver -, libxkbcommon -, libdrm -, mesa -# It's unknown which version of openssl that postman expects but it seems that -# OpenSSL 3+ seems to work fine (cf. -# https://github.com/NixOS/nixpkgs/issues/254325). If postman breaks apparently -# around OpenSSL stuff then try changing this dependency version. -, openssl -, xorg -, pname -, version -, meta -, copyDesktopItems -, makeWrapper +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + wrapGAppsHook3, + atk, + at-spi2-atk, + at-spi2-core, + alsa-lib, + cairo, + cups, + dbus, + expat, + gdk-pixbuf, + glib, + gtk3, + freetype, + fontconfig, + nss, + nspr, + pango, + udev, + libsecret, + libuuid, + libX11, + libxcb, + libXi, + libXcursor, + libXdamage, + libXrandr, + libXcomposite, + libXext, + libXfixes, + libXrender, + libXtst, + libXScrnSaver, + libxkbcommon, + libdrm, + mesa, + # It's unknown which version of openssl that postman expects but it seems that + # OpenSSL 3+ seems to work fine (cf. + # https://github.com/NixOS/nixpkgs/issues/254325). If postman breaks apparently + # around OpenSSL stuff then try changing this dependency version. + openssl, + xorg, + pname, + version, + meta, + copyDesktopItems, + makeWrapper, }: let - dist = { - aarch64-linux = { - arch = "arm64"; - sha256 = "sha256-yq2J5KRv/NJDaQG7e7RKyzbJqKWRolSU9X6khHxlrNo="; - }; + dist = + { + aarch64-linux = { + arch = "arm64"; + sha256 = "sha256-yq2J5KRv/NJDaQG7e7RKyzbJqKWRolSU9X6khHxlrNo="; + }; - x86_64-linux = { - arch = "64"; - sha256 = "sha256-fAaxrLZSXGBYr4Vu0Cz2pZwXivSTkaIF5wL217cB9qM="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + x86_64-linux = { + arch = "64"; + sha256 = "sha256-fAaxrLZSXGBYr4Vu0Cz2pZwXivSTkaIF5wL217cB9qM="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation rec { @@ -76,7 +79,7 @@ stdenv.mkDerivation rec { dontConfigure = true; desktopItems = [ - (makeDesktopItem { + (makeDesktopItem { name = "postman"; exec = "postman %U"; icon = "postman"; @@ -126,7 +129,10 @@ stdenv.mkDerivation rec { xorg.libxshmfence ]; - nativeBuildInputs = [ wrapGAppsHook3 copyDesktopItems ]; + nativeBuildInputs = [ + wrapGAppsHook3 + copyDesktopItems + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/po/postman/package.nix b/pkgs/by-name/po/postman/package.nix index ae2ea6f86230d..ae8c27f750b13 100644 --- a/pkgs/by-name/po/postman/package.nix +++ b/pkgs/by-name/po/postman/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, callPackage, lib }: +{ + stdenvNoCC, + callPackage, + lib, +}: let pname = "postman"; @@ -8,12 +12,23 @@ let description = "API Development Environment"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.postman; - platforms = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; - maintainers = with maintainers; [ johnrichardrinehart evanjs tricktron Crafter ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "aarch64-darwin" + "x86_64-darwin" + ]; + maintainers = with maintainers; [ + johnrichardrinehart + evanjs + tricktron + Crafter + ]; }; in -if stdenvNoCC.hostPlatform.isDarwin -then callPackage ./darwin.nix { inherit pname version meta; } -else callPackage ./linux.nix { inherit pname version meta; } +if stdenvNoCC.hostPlatform.isDarwin then + callPackage ./darwin.nix { inherit pname version meta; } +else + callPackage ./linux.nix { inherit pname version meta; } diff --git a/pkgs/by-name/po/postscript-lexmark/package.nix b/pkgs/by-name/po/postscript-lexmark/package.nix index d9544e4b330d3..5bb559f49d5b9 100644 --- a/pkgs/by-name/po/postscript-lexmark/package.nix +++ b/pkgs/by-name/po/postscript-lexmark/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, rpmextract }: +{ + lib, + stdenv, + fetchurl, + rpmextract, +}: let version = "20160218"; in diff --git a/pkgs/by-name/po/postsrsd/package.nix b/pkgs/by-name/po/postsrsd/package.nix index 65e6b83a693ff..f100d56d94cff 100644 --- a/pkgs/by-name/po/postsrsd/package.nix +++ b/pkgs/by-name/po/postsrsd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, help2man }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + help2man, +}: stdenv.mkDerivation rec { pname = "postsrsd"; @@ -11,13 +17,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-aSI9TR1wSyMA0SKkbavk+IugRfW4ZEgpzrNiXn0F5ak="; }; - cmakeFlags = [ "-DGENERATE_SRS_SECRET=OFF" "-DINIT_FLAVOR=systemd" ]; + cmakeFlags = [ + "-DGENERATE_SRS_SECRET=OFF" + "-DINIT_FLAVOR=systemd" + ]; preConfigure = '' sed -i "s,\"/etc\",\"$out/etc\",g" CMakeLists.txt ''; - nativeBuildInputs = [ cmake help2man ]; + nativeBuildInputs = [ + cmake + help2man + ]; meta = with lib; { homepage = "https://github.com/roehling/postsrsd"; diff --git a/pkgs/by-name/po/posy-cursors/package.nix b/pkgs/by-name/po/posy-cursors/package.nix index 1b607569198a4..18a1e39b485e4 100644 --- a/pkgs/by-name/po/posy-cursors/package.nix +++ b/pkgs/by-name/po/posy-cursors/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "posy-cursors"; diff --git a/pkgs/by-name/po/potrace/package.nix b/pkgs/by-name/po/potrace/package.nix index 5a7093396283a..aeaa1c93d540c 100644 --- a/pkgs/by-name/po/potrace/package.nix +++ b/pkgs/by-name/po/potrace/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, zlib }: +{ + lib, + stdenv, + fetchurl, + zlib, +}: stdenv.mkDerivation rec { pname = "potrace"; diff --git a/pkgs/by-name/po/potreeconverter/package.nix b/pkgs/by-name/po/potreeconverter/package.nix index ae7acec3522f4..ce7a6452380c1 100644 --- a/pkgs/by-name/po/potreeconverter/package.nix +++ b/pkgs/by-name/po/potreeconverter/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, tbb -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + tbb, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/po/pouf/package.nix b/pkgs/by-name/po/pouf/package.nix index 0754ca0c09f1a..3aea1c0749a81 100644 --- a/pkgs/by-name/po/pouf/package.nix +++ b/pkgs/by-name/po/pouf/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/po/pounce/package.nix b/pkgs/by-name/po/pounce/package.nix index 7ad43825b1516..84fac59714c63 100644 --- a/pkgs/by-name/po/pounce/package.nix +++ b/pkgs/by-name/po/pounce/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, libressl, fetchzip, pkg-config, libxcrypt }: +{ + lib, + stdenv, + libressl, + fetchzip, + pkg-config, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "pounce"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-6PGiaU5sOwqO4V2PKJgIi3kI2jXsBOldEH51D7Sx9tg="; }; - buildInputs = [ libressl libxcrypt ]; + buildInputs = [ + libressl + libxcrypt + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/po/power-calibrate/package.nix b/pkgs/by-name/po/power-calibrate/package.nix index d7dfa684211c3..5162b39f3f992 100644 --- a/pkgs/by-name/po/power-calibrate/package.nix +++ b/pkgs/by-name/po/power-calibrate/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "power-calibrate"; diff --git a/pkgs/by-name/po/poweralertd/package.nix b/pkgs/by-name/po/poweralertd/package.nix index c61f5af1b41d1..4225bd7d74f6d 100644 --- a/pkgs/by-name/po/poweralertd/package.nix +++ b/pkgs/by-name/po/poweralertd/package.nix @@ -1,10 +1,22 @@ -{ lib, stdenv, fetchFromSourcehut, meson, ninja, pkg-config, scdoc, systemd }: +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + scdoc, + systemd, +}: stdenv.mkDerivation rec { pname = "poweralertd"; version = "0.3.0"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromSourcehut { owner = "~kennylevinsen"; diff --git a/pkgs/by-name/po/powercap/package.nix b/pkgs/by-name/po/powercap/package.nix index e705b6a348571..e38ea1713f392 100644 --- a/pkgs/by-name/po/powercap/package.nix +++ b/pkgs/by-name/po/powercap/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "powercap"; diff --git a/pkgs/by-name/po/powerdns-admin/package.nix b/pkgs/by-name/po/powerdns-admin/package.nix index 2ee95b13dcbd3..31f7c15777f47 100644 --- a/pkgs/by-name/po/powerdns-admin/package.nix +++ b/pkgs/by-name/po/powerdns-admin/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchYarnDeps, yarnConfigHook, nixosTests, writeText, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + nixosTests, + writeText, + python3, +}: let pname = "powerdns-admin"; @@ -14,11 +23,49 @@ let pythonDeps = with python.pkgs; [ distutils - flask flask-assets flask-login flask-sqlalchemy flask-migrate flask-seasurf flask-mail flask-session flask-session-captcha flask-sslify - mysqlclient psycopg2 sqlalchemy - certifi cffi configobj cryptography bcrypt requests python-ldap pyotp qrcode dnspython - gunicorn itsdangerous python3-saml pytz rcssmin rjsmin authlib bravado-core - lima lxml passlib pyasn1 pytimeparse pyyaml jinja2 itsdangerous webcolors werkzeug zipp zxcvbn + flask + flask-assets + flask-login + flask-sqlalchemy + flask-migrate + flask-seasurf + flask-mail + flask-session + flask-session-captcha + flask-sslify + mysqlclient + psycopg2 + sqlalchemy + certifi + cffi + configobj + cryptography + bcrypt + requests + python-ldap + pyotp + qrcode + dnspython + gunicorn + itsdangerous + python3-saml + pytz + rcssmin + rjsmin + authlib + bravado-core + lima + lxml + passlib + pyasn1 + pytimeparse + pyyaml + jinja2 + itsdangerous + webcolors + werkzeug + zipp + zxcvbn ]; all_patches = [ @@ -62,7 +109,8 @@ let assets.register('js_main', 'generated/main.js') assets.register('css_main', 'generated/main.css') ''; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version src; nativeBuildInputs = [ python.pkgs.wrapPython ]; @@ -121,6 +169,9 @@ in stdenv.mkDerivation { mainProgram = "powerdns-admin"; homepage = "https://github.com/PowerDNS-Admin/PowerDNS-Admin"; license = licenses.mit; - maintainers = with maintainers; [ Flakebi zhaofengli ]; + maintainers = with maintainers; [ + Flakebi + zhaofengli + ]; }; } diff --git a/pkgs/by-name/po/powerhub/package.nix b/pkgs/by-name/po/powerhub/package.nix index 2200985699660..62305f6fa07a4 100644 --- a/pkgs/by-name/po/powerhub/package.nix +++ b/pkgs/by-name/po/powerhub/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/po/powerline-fonts/package.nix b/pkgs/by-name/po/powerline-fonts/package.nix index ea2da0fe2ecff..a9f0dc164ac09 100644 --- a/pkgs/by-name/po/powerline-fonts/package.nix +++ b/pkgs/by-name/po/powerline-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "powerline-fonts"; @@ -29,7 +33,11 @@ stdenvNoCC.mkDerivation { longDescription = '' Pre-patched and adjusted fonts for usage with the Powerline plugin. ''; - license = with licenses; [ asl20 free ofl ]; + license = with licenses; [ + asl20 + free + ofl + ]; platforms = platforms.all; maintainers = with maintainers; [ malyn ]; }; diff --git a/pkgs/by-name/po/powerline-go/package.nix b/pkgs/by-name/po/powerline-go/package.nix index 791eb851fae15..852a49f4981eb 100644 --- a/pkgs/by-name/po/powerline-go/package.nix +++ b/pkgs/by-name/po/powerline-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/po/powerline-symbols/package.nix b/pkgs/by-name/po/powerline-symbols/package.nix index 39bdc4d373454..8c23ea08da831 100644 --- a/pkgs/by-name/po/powerline-symbols/package.nix +++ b/pkgs/by-name/po/powerline-symbols/package.nix @@ -1,18 +1,25 @@ -{ lib, runCommand, powerline }: +{ + lib, + runCommand, + powerline, +}: let inherit (powerline) version; -in runCommand "powerline-symbols-${version}" { - meta = { - inherit (powerline.meta) license; - priority = (powerline.meta.priority or lib.meta.defaultPriority) + 1; - maintainers = with lib.maintainers; [ midchildan ]; - }; -} '' - install -Dm644 \ - ${powerline.src}/font/PowerlineSymbols.otf \ - $out/share/fonts/OTF/PowerlineSymbols.otf - install -Dm644 \ - ${powerline.src}/font/10-powerline-symbols.conf \ - $out/etc/fonts/conf.d/10-powerline-symbols.conf -'' +in +runCommand "powerline-symbols-${version}" + { + meta = { + inherit (powerline.meta) license; + priority = (powerline.meta.priority or lib.meta.defaultPriority) + 1; + maintainers = with lib.maintainers; [ midchildan ]; + }; + } + '' + install -Dm644 \ + ${powerline.src}/font/PowerlineSymbols.otf \ + $out/share/fonts/OTF/PowerlineSymbols.otf + install -Dm644 \ + ${powerline.src}/font/10-powerline-symbols.conf \ + $out/etc/fonts/conf.d/10-powerline-symbols.conf + '' diff --git a/pkgs/by-name/po/powermanga/package.nix b/pkgs/by-name/po/powermanga/package.nix index eaa45460be922..cc050d4a3b2e0 100644 --- a/pkgs/by-name/po/powermanga/package.nix +++ b/pkgs/by-name/po/powermanga/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, automake -, SDL -, SDL_mixer -, libpng +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + SDL, + SDL_mixer, + libpng, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/po/powershell/package.nix b/pkgs/by-name/po/powershell/package.nix index d9b74cf564dc1..a5c63c6a4a86e 100644 --- a/pkgs/by-name/po/powershell/package.nix +++ b/pkgs/by-name/po/powershell/package.nix @@ -1,81 +1,93 @@ -{ lib -, stdenv -, fetchurl -, less -, makeWrapper -, autoPatchelfHook -, curl -, icu -, libuuid -, libunwind -, openssl -, darwin -, lttng-ust -, pam -, testers -, powershell -, writeShellScript -, common-updater-scripts -, gnused -, jq +{ + lib, + stdenv, + fetchurl, + less, + makeWrapper, + autoPatchelfHook, + curl, + icu, + libuuid, + libunwind, + openssl, + darwin, + lttng-ust, + pam, + testers, + powershell, + writeShellScript, + common-updater-scripts, + gnused, + jq, }: let ext = stdenv.hostPlatform.extensions.sharedLibrary; - platformLdLibraryPath = { - darwin = "DYLD_FALLBACK_LIBRARY_PATH"; - linux = "LD_LIBRARY_PATH"; - }.${stdenv.hostPlatform.parsed.kernel.name} or (throw "unsupported platform"); + platformLdLibraryPath = + { + darwin = "DYLD_FALLBACK_LIBRARY_PATH"; + linux = "LD_LIBRARY_PATH"; + } + .${stdenv.hostPlatform.parsed.kernel.name} or (throw "unsupported platform"); in stdenv.mkDerivation rec { pname = "powershell"; version = "7.4.6"; - src = passthru.sources.${stdenv.hostPlatform.system} - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + passthru.sources.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); sourceRoot = "."; strictDeps = true; - nativeBuildInputs = [ - less - makeWrapper - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - autoPatchelfHook - ]; + nativeBuildInputs = + [ + less + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + ]; - buildInputs = [ - curl - icu - libuuid - libunwind - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.Libsystem - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - lttng-ust - pam - ]; + buildInputs = + [ + curl + icu + libuuid + libunwind + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.Libsystem + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + lttng-ust + pam + ]; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out/{bin,share/powershell} - cp -R * $out/share/powershell - chmod +x $out/share/powershell/pwsh - makeWrapper $out/share/powershell/pwsh $out/bin/pwsh \ - --prefix ${platformLdLibraryPath} : "${lib.makeLibraryPath buildInputs}" \ - --set TERM xterm \ - --set POWERSHELL_TELEMETRY_OPTOUT 1 \ - --set DOTNET_CLI_TELEMETRY_OPTOUT 1 + mkdir -p $out/{bin,share/powershell} + cp -R * $out/share/powershell + chmod +x $out/share/powershell/pwsh + makeWrapper $out/share/powershell/pwsh $out/bin/pwsh \ + --prefix ${platformLdLibraryPath} : "${lib.makeLibraryPath buildInputs}" \ + --set TERM xterm \ + --set POWERSHELL_TELEMETRY_OPTOUT 1 \ + --set DOTNET_CLI_TELEMETRY_OPTOUT 1 - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf --replace-needed liblttng-ust${ext}.0 liblttng-ust${ext}.1 $out/share/powershell/libcoreclrtraceptprovider.so + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + patchelf --replace-needed liblttng-ust${ext}.0 liblttng-ust${ext}.1 $out/share/powershell/libcoreclrtraceptprovider.so - '' + '' - runHook postInstall - ''; + '' + + '' + runHook postInstall + ''; dontStrip = true; @@ -105,7 +117,14 @@ stdenv.mkDerivation rec { }; updateScript = writeShellScript "update-powershell" '' set -o errexit - export PATH="${lib.makeBinPath [ common-updater-scripts curl gnused jq ]}" + export PATH="${ + lib.makeBinPath [ + common-updater-scripts + curl + gnused + jq + ] + }" NEW_VERSION=$(curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq .tag_name --raw-output | sed -e 's/v//') if [[ "${version}" = "$NEW_VERSION" ]]; then diff --git a/pkgs/by-name/po/powersploit/package.nix b/pkgs/by-name/po/powersploit/package.nix index 5a63dcf9f003f..1f2600a7493d7 100644 --- a/pkgs/by-name/po/powersploit/package.nix +++ b/pkgs/by-name/po/powersploit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC +{ + lib, + fetchFromGitHub, + stdenvNoCC, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/po/powerstat/package.nix b/pkgs/by-name/po/powerstat/package.nix index b7a88a0d9ec9d..1a4838d5bb487 100644 --- a/pkgs/by-name/po/powerstat/package.nix +++ b/pkgs/by-name/po/powerstat/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "powerstat"; diff --git a/pkgs/by-name/po/powersupply/package.nix b/pkgs/by-name/po/powersupply/package.nix index 31216d84675a3..d20287e3e41b6 100644 --- a/pkgs/by-name/po/powersupply/package.nix +++ b/pkgs/by-name/po/powersupply/package.nix @@ -1,14 +1,15 @@ -{ lib -, python3 -, fetchFromGitLab -, desktop-file-utils -, gobject-introspection -, gtk3 -, libhandy -, meson -, ninja -, pkg-config -, wrapGAppsHook3 +{ + lib, + python3, + fetchFromGitLab, + desktop-file-utils, + gobject-introspection, + gtk3, + libhandy, + meson, + ninja, + pkg-config, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pp/ppl/package.nix b/pkgs/by-name/pp/ppl/package.nix index 37e5f78c60278..b36ae47ecbf1f 100644 --- a/pkgs/by-name/pp/ppl/package.nix +++ b/pkgs/by-name/pp/ppl/package.nix @@ -1,6 +1,16 @@ -{ fetchurl, fetchpatch, lib, stdenv, gmpxx, perl, gnum4 }: +{ + fetchurl, + fetchpatch, + lib, + stdenv, + gmpxx, + perl, + gnum4, +}: -let version = "1.2"; in +let + version = "1.2"; +in stdenv.mkDerivation { pname = "ppl"; @@ -11,11 +21,13 @@ stdenv.mkDerivation { sha256 = "1wgxcbgmijgk11df43aiqfzv31r3bkxmgb4yl68g21194q60nird"; }; - patches = [(fetchpatch { - name = "clang5-support.patch"; - url = "https://raw.githubusercontent.com/sagemath/sage/9.2/build/pkgs/ppl/patches/clang5-support.patch"; - sha256 = "1zj90hm25pkgvk4jlkfzh18ak9b98217gbidl3731fdccbw6hr87"; - })]; + patches = [ + (fetchpatch { + name = "clang5-support.patch"; + url = "https://raw.githubusercontent.com/sagemath/sage/9.2/build/pkgs/ppl/patches/clang5-support.patch"; + sha256 = "1zj90hm25pkgvk4jlkfzh18ak9b98217gbidl3731fdccbw6hr87"; + }) + ]; postPatch = lib.optionalString stdenv.cc.isClang '' substituteInPlace src/PIP_Tree.cc \ @@ -24,13 +36,19 @@ stdenv.mkDerivation { --replace "std::mem_fun_ref" "std::mem_fn" ''; - nativeBuildInputs = [ perl gnum4 ]; + nativeBuildInputs = [ + perl + gnum4 + ]; propagatedBuildInputs = [ gmpxx ]; - configureFlags = [ "--disable-watchdog" ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ + configureFlags = + [ "--disable-watchdog" ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ "CPPFLAGS=-fexceptions" - "--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips" + "--disable-ppl_lcdd" + "--disable-ppl_lpsol" + "--disable-ppl_pips" ]; # Beware! It took ~6 hours to compile PPL and run its tests on a 1.2 GHz diff --git a/pkgs/by-name/pp/pplatex/package.nix b/pkgs/by-name/pp/pplatex/package.nix index 7bd1e4d0eb1ea..f7f0a04f2181f 100644 --- a/pkgs/by-name/pp/pplatex/package.nix +++ b/pkgs/by-name/pp/pplatex/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, pcre +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + pcre, }: stdenv.mkDerivation (finalAttrs: { @@ -33,8 +34,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = - "A tool to reformat the output of latex and friends into readable messages"; + description = "A tool to reformat the output of latex and friends into readable messages"; mainProgram = "pplatex"; homepage = "https://github.com/stefanhepp/pplatex"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/pp/pplite/package.nix b/pkgs/by-name/pp/pplite/package.nix index ba5c4514105d4..520bbbb057eda 100644 --- a/pkgs/by-name/pp/pplite/package.nix +++ b/pkgs/by-name/pp/pplite/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, flint, gmp }: +{ + stdenv, + lib, + fetchurl, + flint, + gmp, +}: stdenv.mkDerivation { pname = "pplite"; @@ -9,7 +15,10 @@ stdenv.mkDerivation { hash = "sha256-9qulVEIZRPHV5GnVmp65nMrGrUwRGkR8i8ORbLdHb1E="; }; - buildInputs = [ flint gmp ]; + buildInputs = [ + flint + gmp + ]; meta = { homepage = "https://github.com/ezaffanella/PPLite"; diff --git a/pkgs/by-name/pp/pprof/package.nix b/pkgs/by-name/pp/pprof/package.nix index 11dbc8595f183..4f279abc9be6a 100644 --- a/pkgs/by-name/pp/pprof/package.nix +++ b/pkgs/by-name/pp/pprof/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pp/pps-tools/package.nix b/pkgs/by-name/pp/pps-tools/package.nix index 66754e5148ec6..069e5fcf008b6 100644 --- a/pkgs/by-name/pp/pps-tools/package.nix +++ b/pkgs/by-name/pp/pps-tools/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pps-tools"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-eLLFHrCgOQzOtVxlAsZ5X91KK+vZiKMGL7zbQFiIZtI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/pp/ppsspp/package.nix b/pkgs/by-name/pp/ppsspp/package.nix index afa9e0edbd498..d5272ce0bdd16 100644 --- a/pkgs/by-name/pp/ppsspp/package.nix +++ b/pkgs/by-name/pp/ppsspp/package.nix @@ -22,8 +22,8 @@ enableQt ? false, enableVulkan ? true, forceWayland ? false, - useSystemFfmpeg? false, - useSystemSnappy? true, + useSystemFfmpeg ? false, + useSystemSnappy ? true, }: let @@ -34,10 +34,11 @@ in # Only SDL frontend needs to specify whether to use Wayland assert forceWayland -> !enableQt; stdenv.mkDerivation (finalAttrs: { - pname = "ppsspp" - + lib.optionalString enableQt "-qt" - + lib.optionalString (!enableQt) "-sdl" - + lib.optionalString forceWayland "-wayland"; + pname = + "ppsspp" + + lib.optionalString enableQt "-qt" + + lib.optionalString (!enableQt) "-sdl" + + lib.optionalString forceWayland "-wayland"; version = "1.18.1"; src = fetchFromGitHub { @@ -63,27 +64,30 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper pkg-config python3 - ] - ++ lib.optionals enableQt [ wrapQtAppsHook ]; + ] ++ lib.optionals enableQt [ wrapQtAppsHook ]; - buildInputs = [ - SDL2 - glew - libzip - zlib - ] - ++ lib.optionals useSystemFfmpeg [ - ffmpeg_6 - ] - ++ lib.optionals useSystemSnappy [ - snappy - ] - ++ lib.optionals enableQt [ - qtbase - qtmultimedia - ] - ++ lib.optionals enableVulkan [ vulkan-loader ] - ++ lib.optionals vulkanWayland [ wayland libffi ]; + buildInputs = + [ + SDL2 + glew + libzip + zlib + ] + ++ lib.optionals useSystemFfmpeg [ + ffmpeg_6 + ] + ++ lib.optionals useSystemSnappy [ + snappy + ] + ++ lib.optionals enableQt [ + qtbase + qtmultimedia + ] + ++ lib.optionals enableVulkan [ vulkan-loader ] + ++ lib.optionals vulkanWayland [ + wayland + libffi + ]; cmakeFlags = [ (lib.cmakeBool "HEADLESS" (!enableQt)) @@ -102,49 +106,61 @@ stdenv.mkDerivation (finalAttrs: { exec = "ppsspp"; icon = "ppsspp"; comment = "Play PSP games on your computer"; - categories = [ "Game" "Emulator" ]; + categories = [ + "Game" + "Emulator" + ]; }) ]; - installPhase = - lib.concatStringsSep "\n" ([ + installPhase = lib.concatStringsSep "\n" ( + [ ''runHook preInstall'' ] ++ [ ''mkdir -p $out/share/{applications,ppsspp/bin,icons}'' ] - ++ (if enableQt then [ - ''install -Dm555 PPSSPPQt $out/share/ppsspp/bin/'' - ] else [ - ''install -Dm555 PPSSPPHeadless $out/share/ppsspp/bin/'' - ''makeWrapper $out/share/ppsspp/bin/PPSSPPHeadless $out/bin/ppsspp-headless'' - ''install -Dm555 PPSSPPSDL $out/share/ppsspp/bin/'' - ]) + ++ ( + if enableQt then + [ + ''install -Dm555 PPSSPPQt $out/share/ppsspp/bin/'' + ] + else + [ + ''install -Dm555 PPSSPPHeadless $out/share/ppsspp/bin/'' + ''makeWrapper $out/share/ppsspp/bin/PPSSPPHeadless $out/bin/ppsspp-headless'' + ''install -Dm555 PPSSPPSDL $out/share/ppsspp/bin/'' + ] + ) ++ [ ''mv assets $out/share/ppsspp'' ''mv ../icons/hicolor $out/share/icons'' ] ++ [ ''runHook postInstall'' - ]); + ] + ); postFixup = let - wrapperArgs = - lib.concatStringsSep " " - (lib.optionals enableVulkan [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}" - ] ++ lib.optionals (!enableQt) [ - "--set SDL_VIDEODRIVER ${if forceWayland then "wayland" else "x11"}" - ]); + wrapperArgs = lib.concatStringsSep " " ( + lib.optionals enableVulkan [ + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}" + ] + ++ lib.optionals (!enableQt) [ + "--set SDL_VIDEODRIVER ${if forceWayland then "wayland" else "x11"}" + ] + ); binToBeWrapped = if enableQt then "PPSSPPQt" else "PPSSPPSDL"; in - ''makeWrapper $out/share/ppsspp/bin/${binToBeWrapped} $out/bin/ppsspp ${wrapperArgs}''; + ''makeWrapper $out/share/ppsspp/bin/${binToBeWrapped} $out/bin/ppsspp ${wrapperArgs}''; meta = { homepage = "https://www.ppsspp.org/"; - description = "HLE Playstation Portable emulator, written in C++ (" - + (if enableQt then "Qt" else "SDL + headless") + ")"; + description = + "HLE Playstation Portable emulator, written in C++ (" + + (if enableQt then "Qt" else "SDL + headless") + + ")"; longDescription = '' PPSSPP is a PSP emulator, which means that it can run games and other software that was originally made for the Sony PSP. diff --git a/pkgs/by-name/pp/pptp/package.nix b/pkgs/by-name/pp/pptp/package.nix index 38734375be0ad..239884dd78d4d 100644 --- a/pkgs/by-name/pp/pptp/package.nix +++ b/pkgs/by-name/pp/pptp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, ppp, iproute2 }: +{ + lib, + stdenv, + fetchurl, + perl, + ppp, + iproute2, +}: stdenv.mkDerivation rec { pname = "pptp"; diff --git a/pkgs/by-name/pp/pptpd/package.nix b/pkgs/by-name/pp/pptpd/package.nix index 37a92475c984a..75afbd812f058 100644 --- a/pkgs/by-name/pp/pptpd/package.nix +++ b/pkgs/by-name/pp/pptpd/package.nix @@ -1,11 +1,16 @@ -{ lib, stdenv, fetchurl, ppp }: +{ + lib, + stdenv, + fetchurl, + ppp, +}: stdenv.mkDerivation rec { - pname = "pptpd"; + pname = "pptpd"; version = "1.4.0"; src = fetchurl { - url = "mirror://sourceforge/poptop/${pname}/${pname}-${version}/${pname}-${version}.tar.gz"; + url = "mirror://sourceforge/poptop/${pname}/${pname}-${version}/${pname}-${version}.tar.gz"; sha256 = "1h06gyxj51ba6kbbnf6hyivwjia0i6gsmjz8kyggaany8a58pkcg"; }; @@ -20,9 +25,9 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://poptop.sourceforge.net/dox/"; + homepage = "https://poptop.sourceforge.net/dox/"; description = "PPTP Server for Linux"; - platforms = platforms.linux; + platforms = platforms.linux; maintainers = with maintainers; [ obadz ]; license = licenses.gpl2Only; }; diff --git a/pkgs/by-name/pq/pql/package.nix b/pkgs/by-name/pq/pql/package.nix index 9697d80ad25f7..590364b3a9cf3 100644 --- a/pkgs/by-name/pq/pql/package.nix +++ b/pkgs/by-name/pq/pql/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-j/R+1PWfX+lmm99cHWSuo+v8RxKg089Bvb4rFHpmpfE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Pipelined Query Language"; diff --git a/pkgs/by-name/pq/pqos-wrapper/package.nix b/pkgs/by-name/pq/pqos-wrapper/package.nix index d0235fedc3a71..d993ad6b1db03 100644 --- a/pkgs/by-name/pq/pqos-wrapper/package.nix +++ b/pkgs/by-name/pq/pqos-wrapper/package.nix @@ -1,7 +1,8 @@ -{ lib -, intel-cmt-cat -, fetchFromGitLab -, python3 +{ + lib, + intel-cmt-cat, + fetchFromGitLab, + python3, }: python3.pkgs.buildPythonApplication rec { pname = "pqos-wrapper"; diff --git a/pkgs/by-name/pq/pqrs/package.nix b/pkgs/by-name/pq/pqrs/package.nix index 1d406394ac122..7f26f0e1c96b9 100644 --- a/pkgs/by-name/pq/pqrs/package.nix +++ b/pkgs/by-name/pq/pqrs/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "pqrs"; @@ -17,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "CLI tool to inspect Parquet files"; mainProgram = "pqrs"; homepage = "https://github.com/manojkarthick/pqrs"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = [ maintainers.manojkarthick ]; }; } diff --git a/pkgs/by-name/pr/pr-tracker/package.nix b/pkgs/by-name/pr/pr-tracker/package.nix index 14c87204013d1..e146ca3ac1990 100644 --- a/pkgs/by-name/pr/pr-tracker/package.nix +++ b/pkgs/by-name/pr/pr-tracker/package.nix @@ -1,9 +1,10 @@ -{ rustPlatform -, lib -, fetchzip -, openssl -, pkg-config -, systemd +{ + rustPlatform, + lib, + fetchzip, + openssl, + pkg-config, + systemd, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-t+jiOr5pjJNMpaOLYKlk194b2njT1XWKKlPQtKsUu3E="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl systemd ]; + buildInputs = [ + openssl + systemd + ]; meta = with lib; { changelog = "https://git.qyliss.net/pr-tracker/plain/NEWS?h=${version}"; @@ -30,7 +34,10 @@ rustPlatform.buildRustPackage rec { platforms = platforms.linux; homepage = "https://git.qyliss.net/pr-tracker"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ qyliss sumnerevans ]; + maintainers = with maintainers; [ + qyliss + sumnerevans + ]; mainProgram = "pr-tracker"; }; } diff --git a/pkgs/by-name/pr/praat/package.nix b/pkgs/by-name/pr/praat/package.nix index 57c8e8f570736..f893cfe8a6e95 100644 --- a/pkgs/by-name/pr/praat/package.nix +++ b/pkgs/by-name/pr/praat/package.nix @@ -1,12 +1,12 @@ { - alsa-lib -, fetchFromGitHub -, gtk3 -, lib -, libpulseaudio -, pkg-config -, stdenv -, wrapGAppsHook3 + alsa-lib, + fetchFromGitHub, + gtk3, + lib, + libpulseaudio, + pkg-config, + stdenv, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pr/prboom-plus/package.nix b/pkgs/by-name/pr/prboom-plus/package.nix index f4723eb82ec8f..9367745fc611d 100644 --- a/pkgs/by-name/pr/prboom-plus/package.nix +++ b/pkgs/by-name/pr/prboom-plus/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, SDL2 -, SDL2_mixer -, SDL2_image -, SDL2_net -, fluidsynth -, soundfont-fluid -, portmidi -, dumb -, libvorbis -, libmad -, pcre +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + SDL2_mixer, + SDL2_image, + SDL2_net, + fluidsynth, + soundfont-fluid, + portmidi, + dumb, + libvorbis, + libmad, + pcre, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pr/pre-commit-hook-ensure-sops/package.nix b/pkgs/by-name/pr/pre-commit-hook-ensure-sops/package.nix index 3b0fcacd4892e..7d8570e74807f 100644 --- a/pkgs/by-name/pr/pre-commit-hook-ensure-sops/package.nix +++ b/pkgs/by-name/pr/pre-commit-hook-ensure-sops/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchFromGitHub -, fetchpatch +{ + lib, + python3Packages, + fetchFromGitHub, + fetchpatch, }: python3Packages.buildPythonApplication rec { @@ -20,8 +21,7 @@ python3Packages.buildPythonApplication rec { # Add the command-line entrypoint to pyproject.toml # Can be removed after v1.2 release that includes changes (fetchpatch { - url = - "https://github.com/yuvipanda/pre-commit-hook-ensure-sops/commit/ed88126afa253df6009af7cbe5aa2369f963be1c.patch"; + url = "https://github.com/yuvipanda/pre-commit-hook-ensure-sops/commit/ed88126afa253df6009af7cbe5aa2369f963be1c.patch"; hash = "sha256-mMxAoC3WEciO799Rq8gZ2PJ6FT/GbeSpxlr1EPj7r4s="; }) ]; diff --git a/pkgs/by-name/pr/pre2k/package.nix b/pkgs/by-name/pr/pre2k/package.nix index 98b763cb011df..1cda899bd70bd 100644 --- a/pkgs/by-name/pr/pre2k/package.nix +++ b/pkgs/by-name/pr/pre2k/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pr/precice-config-visualizer/package.nix b/pkgs/by-name/pr/precice-config-visualizer/package.nix index 743d107ee534a..af1a86b366cdc 100644 --- a/pkgs/by-name/pr/precice-config-visualizer/package.nix +++ b/pkgs/by-name/pr/precice-config-visualizer/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { @@ -14,7 +15,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-2dnpkec9hN4oAqwu+1WmDJrfeu+JbfqZ6guv3bC4H1c="; }; - propagatedBuildInputs = with python3Packages; [ lxml pydot ]; + propagatedBuildInputs = with python3Packages; [ + lxml + pydot + ]; doCheck = false; diff --git a/pkgs/by-name/pr/precice/package.nix b/pkgs/by-name/pr/precice/package.nix index 56dd58781bdf3..2f5572a2eab74 100644 --- a/pkgs/by-name/pr/precice/package.nix +++ b/pkgs/by-name/pr/precice/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, mpi, python3, petsc, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gcc, + boost, + eigen, + libxml2, + mpi, + python3, + petsc, + pkg-config, +}: stdenv.mkDerivation rec { pname = "precice"; @@ -24,8 +37,20 @@ stdenv.mkDerivation rec { ++ [ "-fpermissive" ] ); - nativeBuildInputs = [ cmake gcc pkg-config python3 python3.pkgs.numpy ]; - buildInputs = [ boost eigen libxml2 mpi petsc ]; + nativeBuildInputs = [ + cmake + gcc + pkg-config + python3 + python3.pkgs.numpy + ]; + buildInputs = [ + boost + eigen + libxml2 + mpi + petsc + ]; meta = { description = "preCICE stands for Precise Code Interaction Coupling Environment"; diff --git a/pkgs/by-name/pr/prelink/package.nix b/pkgs/by-name/pr/prelink/package.nix index d5c7428411908..a8f29b1775418 100644 --- a/pkgs/by-name/pr/prelink/package.nix +++ b/pkgs/by-name/pr/prelink/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchgit -, autoreconfHook -, libelf -, libiberty +{ + stdenv, + lib, + fetchgit, + autoreconfHook, + libelf, + libiberty, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { strictDeps = true; - configurePlatforms = [ "build" "host" ]; + configurePlatforms = [ + "build" + "host" + ]; nativeBuildInputs = [ autoreconfHook @@ -36,7 +40,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = with lib;{ + meta = with lib; { description = "ELF prelinking utility to speed up dynamic linking"; homepage = "https://wiki.yoctoproject.org/wiki/Cross-Prelink"; license = licenses.gpl2Plus; diff --git a/pkgs/by-name/pr/preload/package.nix b/pkgs/by-name/pr/preload/package.nix index 2240fa5a2cdb6..252d925cff66c 100644 --- a/pkgs/by-name/pr/preload/package.nix +++ b/pkgs/by-name/pr/preload/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, autoconf, automake, pkg-config, glib }: +{ + lib, + stdenv, + fetchzip, + autoconf, + automake, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "preload"; @@ -14,7 +22,11 @@ stdenv.mkDerivation rec { ./0001-prevent-building-to-var-directories.patch ]; - nativeBuildInputs = [ autoconf automake pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; buildInputs = [ glib ]; configureFlags = [ "--localstatedir=/var" ]; diff --git a/pkgs/by-name/pr/premid/package.nix b/pkgs/by-name/pr/premid/package.nix index 876c4c33de28e..0d94f09defc28 100644 --- a/pkgs/by-name/pr/premid/package.nix +++ b/pkgs/by-name/pr/premid/package.nix @@ -1,9 +1,49 @@ -{ autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook3, fetchurl, copyDesktopItems -, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig -, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid -, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext -, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence -, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu +{ + autoPatchelfHook, + makeDesktopItem, + lib, + stdenv, + wrapGAppsHook3, + fetchurl, + copyDesktopItems, + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + cairo, + cups, + dbus, + expat, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + libcxx, + libdrm, + libnotify, + libpulseaudio, + libuuid, + libX11, + libXScrnSaver, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXtst, + libxcb, + libxshmfence, + mesa, + nspr, + nss, + pango, + systemd, + libappindicator-gtk3, + libdbusmenu, }: stdenv.mkDerivation rec { @@ -41,13 +81,46 @@ stdenv.mkDerivation rec { dontConfigure = true; libPath = lib.makeLibraryPath [ - libcxx systemd libpulseaudio libdrm mesa - stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype - gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid - libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender - libXtst nspr nss libxcb pango systemd libXScrnSaver - libappindicator-gtk3 libdbusmenu - ]; + libcxx + systemd + libpulseaudio + libdrm + mesa + stdenv.cc.cc + alsa-lib + atk + at-spi2-atk + at-spi2-core + cairo + cups + dbus + expat + fontconfig + freetype + gdk-pixbuf + glib + gtk3 + libnotify + libX11 + libXcomposite + libuuid + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + nspr + nss + libxcb + pango + systemd + libXScrnSaver + libappindicator-gtk3 + libdbusmenu + ]; installPhase = '' mkdir -p $out/{bin,opt/PreMiD,share/pixmaps} diff --git a/pkgs/by-name/pr/presage/package.nix b/pkgs/by-name/pr/presage/package.nix index c9e44e5859146..79d2fafac4852 100644 --- a/pkgs/by-name/pr/presage/package.nix +++ b/pkgs/by-name/pr/presage/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, dbus -, doxygen -, fontconfig -, gettext -, graphviz -, help2man -, pkg-config -, sqlite -, tinyxml -, cppunit +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + dbus, + doxygen, + fontconfig, + gettext, + graphviz, + help2man, + pkg-config, + sqlite, + tinyxml, + cppunit, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pr/present-cli/package.nix b/pkgs/by-name/pr/present-cli/package.nix index 0f425accb6992..8df4ea1e21fc9 100644 --- a/pkgs/by-name/pr/present-cli/package.nix +++ b/pkgs/by-name/pr/present-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pr/present/package.nix b/pkgs/by-name/pr/present/package.nix index aa586aded146d..e2294908b45f5 100644 --- a/pkgs/by-name/pr/present/package.nix +++ b/pkgs/by-name/pr/present/package.nix @@ -1,15 +1,19 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: let - # https://github.com/NixOS/nixpkgs/issues/348788 - mistune_2 = python3Packages.mistune.overridePythonAttrs(oldAttrs: rec { - version = "2.0.5"; - src = fetchPypi { - inherit (oldAttrs) pname; - inherit version; - hash = "sha256-AkYRPLJJLbh1xr5Wl0p8iTMzvybNkokchfYxUc7gnTQ="; - }; - }); + # https://github.com/NixOS/nixpkgs/issues/348788 + mistune_2 = python3Packages.mistune.overridePythonAttrs (oldAttrs: rec { + version = "2.0.5"; + src = fetchPypi { + inherit (oldAttrs) pname; + inherit version; + hash = "sha256-AkYRPLJJLbh1xr5Wl0p8iTMzvybNkokchfYxUc7gnTQ="; + }; + }); in python3Packages.buildPythonPackage rec { pname = "present"; diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix index 78fdd3f34b669..dc9b6ece9bf67 100644 --- a/pkgs/by-name/pr/pretalx/package.nix +++ b/pkgs/by-name/pr/pretalx/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildNpmPackage -, gettext -, python3 -, fetchFromGitHub -, plugins ? [ ] -, nixosTests +{ + lib, + buildNpmPackage, + gettext, + python3, + fetchFromGitHub, + plugins ? [ ], + nixosTests, }: let @@ -52,7 +53,7 @@ let homepage = "https://github.com/pretalx/pretalx"; changelog = "https://docs.pretalx.org/changelog/#${version}"; license = licenses.asl20; - maintainers = with maintainers; [ hexa] ++ teams.c3d2.members; + maintainers = with maintainers; [ hexa ] ++ teams.c3d2.members; platforms = platforms.linux; }; @@ -112,46 +113,48 @@ python.pkgs.buildPythonApplication rec { "whitenoise" ]; - dependencies = with python.pkgs; [ - beautifulsoup4 - bleach - celery - css-inline - csscompressor - cssutils - defusedcsv - defusedxml - django - django-bootstrap4 - django-compressor - django-context-decorator - django-countries - django-csp - django-filter - django-formset-js-improved - django-formtools - django-hierarkey - django-i18nfield - django-libsass - django-scopes - djangorestframework - libsass - markdown - pillow - publicsuffixlist - python-dateutil - qrcode - reportlab - requests - rules - urlman - vobject - whitenoise - zxcvbn - ] - ++ beautifulsoup4.optional-dependencies.lxml - ++ django.optional-dependencies.argon2 - ++ plugins; + dependencies = + with python.pkgs; + [ + beautifulsoup4 + bleach + celery + css-inline + csscompressor + cssutils + defusedcsv + defusedxml + django + django-bootstrap4 + django-compressor + django-context-decorator + django-countries + django-csp + django-filter + django-formset-js-improved + django-formtools + django-hierarkey + django-i18nfield + django-libsass + django-scopes + djangorestframework + libsass + markdown + pillow + publicsuffixlist + python-dateutil + qrcode + reportlab + requests + rules + urlman + vobject + whitenoise + zxcvbn + ] + ++ beautifulsoup4.optional-dependencies.lxml + ++ django.optional-dependencies.argon2 + ++ plugins; optional-dependencies = { postgres = with python.pkgs; [ @@ -194,17 +197,20 @@ python.pkgs.buildPythonApplication rec { cd src ''; - nativeCheckInputs = with python.pkgs; [ - faker - freezegun - jsonschema - pytest-cov-stub - pytest-django - pytest-mock - pytest-xdist - pytestCheckHook - responses - ] ++ lib.flatten (lib.attrValues optional-dependencies); + nativeCheckInputs = + with python.pkgs; + [ + faker + freezegun + jsonschema + pytest-cov-stub + pytest-django + pytest-mock + pytest-xdist + pytestCheckHook + responses + ] + ++ lib.flatten (lib.attrValues optional-dependencies); disabledTests = [ # tries to run npm run i18n:extract diff --git a/pkgs/by-name/pr/pretender/package.nix b/pkgs/by-name/pr/pretender/package.nix index 9d7df071224d4..def2259c93ca2 100644 --- a/pkgs/by-name/pr/pretender/package.nix +++ b/pkgs/by-name/pr/pretender/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pr/pretix/package.nix b/pkgs/by-name/pr/pretix/package.nix index fce02ede99c38..f178d109c5591 100644 --- a/pkgs/by-name/pr/pretix/package.nix +++ b/pkgs/by-name/pr/pretix/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, fetchPypi -, nodejs -, python3 -, gettext -, nixosTests -, plugins ? [ ] +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchPypi, + nodejs, + python3, + gettext, + nixosTests, + plugins ? [ ], }: let @@ -132,86 +133,88 @@ python.pkgs.buildPythonApplication rec { tomli ]; - dependencies = with python.pkgs; [ - arabic-reshaper - babel - beautifulsoup4 - bleach - celery - chardet - cryptography - css-inline - defusedcsv - django - django-bootstrap3 - django-compressor - django-countries - django-filter - django-formset-js-improved - django-formtools - django-hierarkey - django-hijack - django-i18nfield - django-libsass - django-localflavor - django-markup - django-oauth-toolkit - django-otp - django-phonenumber-field - django-redis - django-scopes - django-statici18n - djangorestframework - dnspython - drf-ujson2 - geoip2 - importlib-metadata - isoweek - jsonschema - kombu - libsass - lxml - markdown - mt-940 - oauthlib - openpyxl - packaging - paypalrestsdk - paypal-checkout-serversdk - pyjwt - phonenumberslite - pillow - pretix-plugin-build - protobuf - psycopg2-binary - pycountry - pycparser - pycryptodome - pypdf - python-bidi - python-dateutil - pytz - pytz-deprecation-shim - pyuca - qrcode - redis - reportlab - requests - sentry-sdk - sepaxml - slimit - stripe - text-unidecode - tlds - tqdm - ua-parser - vat-moss - vobject - webauthn - zeep - ] - ++ django.optional-dependencies.argon2 - ++ plugins; + dependencies = + with python.pkgs; + [ + arabic-reshaper + babel + beautifulsoup4 + bleach + celery + chardet + cryptography + css-inline + defusedcsv + django + django-bootstrap3 + django-compressor + django-countries + django-filter + django-formset-js-improved + django-formtools + django-hierarkey + django-hijack + django-i18nfield + django-libsass + django-localflavor + django-markup + django-oauth-toolkit + django-otp + django-phonenumber-field + django-redis + django-scopes + django-statici18n + djangorestframework + dnspython + drf-ujson2 + geoip2 + importlib-metadata + isoweek + jsonschema + kombu + libsass + lxml + markdown + mt-940 + oauthlib + openpyxl + packaging + paypalrestsdk + paypal-checkout-serversdk + pyjwt + phonenumberslite + pillow + pretix-plugin-build + protobuf + psycopg2-binary + pycountry + pycparser + pycryptodome + pypdf + python-bidi + python-dateutil + pytz + pytz-deprecation-shim + pyuca + qrcode + redis + reportlab + requests + sentry-sdk + sepaxml + slimit + stripe + text-unidecode + tlds + tqdm + ua-parser + vat-moss + vobject + webauthn + zeep + ] + ++ django.optional-dependencies.argon2 + ++ plugins; optional-dependencies = with python.pkgs; { memcached = [ @@ -229,20 +232,24 @@ python.pkgs.buildPythonApplication rec { dontStrip = true; # no binaries - nativeCheckInputs = with python.pkgs; [ - pytestCheckHook - pytest-xdist - pytest-mock - pytest-django - pytest-asyncio - pytest-rerunfailures - freezegun - fakeredis - responses - ] ++ lib.flatten (lib.attrValues optional-dependencies); + nativeCheckInputs = + with python.pkgs; + [ + pytestCheckHook + pytest-xdist + pytest-mock + pytest-django + pytest-asyncio + pytest-rerunfailures + freezegun + fakeredis + responses + ] + ++ lib.flatten (lib.attrValues optional-dependencies); pytestFlagsArray = [ - "--reruns" "3" + "--reruns" + "3" ]; disabledTests = [ @@ -266,9 +273,9 @@ python.pkgs.buildPythonApplication rec { inherit npmDeps python - ; - plugins = lib.recurseIntoAttrs - (python.pkgs.callPackage ./plugins { + ; + plugins = lib.recurseIntoAttrs ( + python.pkgs.callPackage ./plugins { inherit (python.pkgs) callPackage; } ); diff --git a/pkgs/by-name/pr/pretix/plugins/default.nix b/pkgs/by-name/pr/pretix/plugins/default.nix index a60316e521e48..5e3b8fa201424 100644 --- a/pkgs/by-name/pr/pretix/plugins/default.nix +++ b/pkgs/by-name/pr/pretix/plugins/default.nix @@ -1,5 +1,6 @@ -{ callPackage -, ... +{ + callPackage, + ... }: { diff --git a/pkgs/by-name/pr/pretix/plugins/pages.nix b/pkgs/by-name/pr/pretix/plugins/pages.nix index 97e4096793851..2fc108eb58b74 100644 --- a/pkgs/by-name/pr/pretix/plugins/pages.nix +++ b/pkgs/by-name/pr/pretix/plugins/pages.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pretix-plugin-build -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pretix-plugin-build, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/by-name/pr/pretix/plugins/passbook.nix b/pkgs/by-name/pr/pretix/plugins/passbook.nix index ccb14543b7ab0..d5ca08315f18a 100644 --- a/pkgs/by-name/pr/pretix/plugins/passbook.nix +++ b/pkgs/by-name/pr/pretix/plugins/passbook.nix @@ -1,18 +1,19 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, substituteAll - -# build-system -, pretix-plugin-build -, setuptools - -# runtime -, openssl - -# dependencies -, googlemaps -, wallet-py3k +{ + lib, + buildPythonPackage, + fetchFromGitHub, + substituteAll, + + # build-system + pretix-plugin-build, + setuptools, + + # runtime + openssl, + + # dependencies + googlemaps, + wallet-py3k, }: buildPythonPackage rec { diff --git a/pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix b/pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix index 40ab96a36bca3..e61497499488e 100644 --- a/pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix +++ b/pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pretix-plugin-build -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pretix-plugin-build, + setuptools, }: buildPythonPackage { diff --git a/pkgs/by-name/pr/pretix/plugins/stretchgoals.nix b/pkgs/by-name/pr/pretix/plugins/stretchgoals.nix index 4d1cb8d02e848..afdb4616bcd10 100644 --- a/pkgs/by-name/pr/pretix/plugins/stretchgoals.nix +++ b/pkgs/by-name/pr/pretix/plugins/stretchgoals.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pretix-plugin-build -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pretix-plugin-build, + setuptools, }: buildPythonPackage { diff --git a/pkgs/by-name/pr/prettier-d-slim/package.nix b/pkgs/by-name/pr/prettier-d-slim/package.nix index 1f3938968fb21..6278fee6b5137 100644 --- a/pkgs/by-name/pr/prettier-d-slim/package.nix +++ b/pkgs/by-name/pr/prettier-d-slim/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/pr/pretty-simple/package.nix b/pkgs/by-name/pr/pretty-simple/package.nix index 0a33b6e6b2eaf..fd302d220c354 100644 --- a/pkgs/by-name/pr/pretty-simple/package.nix +++ b/pkgs/by-name/pr/pretty-simple/package.nix @@ -1,12 +1,17 @@ -{ haskell, haskellPackages, lib }: +{ + haskell, + haskellPackages, + lib, +}: -haskell.lib.compose.justStaticExecutables (haskell.lib.compose.overrideCabal (oldAttrs: { - maintainers = (oldAttrs.maintainers or []) ++ [ - lib.maintainers.cdepillabout - ]; +haskell.lib.compose.justStaticExecutables ( + haskell.lib.compose.overrideCabal (oldAttrs: { + maintainers = (oldAttrs.maintainers or [ ]) ++ [ + lib.maintainers.cdepillabout + ]; - configureFlags = (oldAttrs.configureFlags or []) ++ ["-fbuildexe"]; - - buildDepends = (oldAttrs.buildDepends or []) ++ [haskellPackages.optparse-applicative]; -}) haskellPackages.pretty-simple) + configureFlags = (oldAttrs.configureFlags or [ ]) ++ [ "-fbuildexe" ]; + buildDepends = (oldAttrs.buildDepends or [ ]) ++ [ haskellPackages.optparse-applicative ]; + }) haskellPackages.pretty-simple +) diff --git a/pkgs/by-name/pr/prettyping/package.nix b/pkgs/by-name/pr/prettyping/package.nix index 3f42a07261dd2..1d629216b0d67 100644 --- a/pkgs/by-name/pr/prettyping/package.nix +++ b/pkgs/by-name/pr/prettyping/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "prettyping"; diff --git a/pkgs/by-name/pr/prettypst/package.nix b/pkgs/by-name/pr/prettypst/package.nix index 51bc7fd39be27..dc48d89c9295b 100644 --- a/pkgs/by-name/pr/prettypst/package.nix +++ b/pkgs/by-name/pr/prettypst/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pr/prevo-data/package.nix b/pkgs/by-name/pr/prevo-data/package.nix index 15f7eb66187ce..5056d194a8fe2 100644 --- a/pkgs/by-name/pr/prevo-data/package.nix +++ b/pkgs/by-name/pr/prevo-data/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, prevo-tools }: +{ + lib, + stdenv, + fetchFromGitHub, + prevo-tools, +}: stdenv.mkDerivation { pname = "prevo-data"; @@ -25,8 +30,7 @@ stdenv.mkDerivation { ''; meta = { - description = - "data for offline version of the Esperanto dictionary Reta Vortaro"; + description = "data for offline version of the Esperanto dictionary Reta Vortaro"; longDescription = '' PReVo is the "portable" ReVo, i.e., the offline version of the Esperanto dictionary Reta Vortaro. @@ -35,6 +39,9 @@ stdenv.mkDerivation { ''; homepage = "https://github.com/bpeel/revo"; license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ das-g ehmry ]; + maintainers = with lib.maintainers; [ + das-g + ehmry + ]; }; } diff --git a/pkgs/by-name/pr/prevo-tools/package.nix b/pkgs/by-name/pr/prevo-tools/package.nix index a4bb505357b04..5f8b9502d9572 100644 --- a/pkgs/by-name/pr/prevo-tools/package.nix +++ b/pkgs/by-name/pr/prevo-tools/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, glib, expat -, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + glib, + expat, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "prevo-tools"; @@ -21,16 +30,22 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config installShellFiles ]; - buildInputs = [ glib expat ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + installShellFiles + ]; + buildInputs = [ + glib + expat + ]; postInstall = '' installShellCompletion --bash src/prevo-completion ''; meta = { - description = - "CLI tools for the offline version of the Esperanto dictionary Reta Vortaro"; + description = "CLI tools for the offline version of the Esperanto dictionary Reta Vortaro"; longDescription = '' PReVo is the "portable" ReVo, i.e., the offline version of the Esperanto dictionary Reta Vortaro. @@ -42,7 +57,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/bpeel/prevodb"; license = lib.licenses.gpl2Only; mainProgram = "prevo"; - maintainers = with lib.maintainers; [ das-g ehmry ]; + maintainers = with lib.maintainers; [ + das-g + ehmry + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/pr/prevo/package.nix b/pkgs/by-name/pr/prevo/package.nix index 5a0ecff4d8853..b45d0cd1f785c 100644 --- a/pkgs/by-name/pr/prevo/package.nix +++ b/pkgs/by-name/pr/prevo/package.nix @@ -1,4 +1,11 @@ -{ lib, symlinkJoin, man, prevo-tools, prevo-data, makeWrapper }: +{ + lib, + symlinkJoin, + man, + prevo-tools, + prevo-data, + makeWrapper, +}: symlinkJoin rec { name = "prevo-${version}"; @@ -24,6 +31,9 @@ symlinkJoin rec { homepage = "https://github.com/bpeel/prevodb"; license = lib.licenses.gpl2Only; mainProgram = "prevo"; - maintainers = with lib.maintainers; [ das-g ehmry ]; + maintainers = with lib.maintainers; [ + das-g + ehmry + ]; }; } diff --git a/pkgs/by-name/pr/pridecat/package.nix b/pkgs/by-name/pr/pridecat/package.nix index 4d4ed57fc2352..00c3c3e3889df 100644 --- a/pkgs/by-name/pr/pridecat/package.nix +++ b/pkgs/by-name/pr/pridecat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "pridecat"; diff --git a/pkgs/by-name/pr/pridefetch/package.nix b/pkgs/by-name/pr/pridefetch/package.nix index dedd3b336d78a..971c3c482d26a 100644 --- a/pkgs/by-name/pr/pridefetch/package.nix +++ b/pkgs/by-name/pr/pridefetch/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, python3 -, stdenv -, strip-nondeterminism -, zip +{ + lib, + fetchFromGitHub, + python3, + stdenv, + strip-nondeterminism, + zip, }: let @@ -28,9 +29,11 @@ stdenv.mkDerivation { ]; buildInputs = [ - (python3.withPackages (pythonPackages: with pythonPackages; [ - distro - ])) + (python3.withPackages ( + pythonPackages: with pythonPackages; [ + distro + ] + )) ]; buildPhase = '' diff --git a/pkgs/by-name/pr/prime-server/package.nix b/pkgs/by-name/pr/prime-server/package.nix index 946fbb0dff18b..41bd6671019f4 100644 --- a/pkgs/by-name/pr/prime-server/package.nix +++ b/pkgs/by-name/pr/prime-server/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, curl, zeromq, czmq, libsodium }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + curl, + zeromq, + czmq, + libsodium, +}: stdenv.mkDerivation rec { pname = "prime-server"; @@ -13,8 +22,16 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ curl zeromq czmq libsodium ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + curl + zeromq + czmq + libsodium + ]; # https://github.com/kevinkreiser/prime_server/issues/95 env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=unused-variable" ]; diff --git a/pkgs/by-name/pr/principia/package.nix b/pkgs/by-name/pr/principia/package.nix index ee6fcc9d33736..85edd081024d4 100644 --- a/pkgs/by-name/pr/principia/package.nix +++ b/pkgs/by-name/pr/principia/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapGAppsHook3, -, curl -, freetype -, glew -, gtk3 -, libGL -, libjpeg -, libpng -, SDL2 -, SDL2_gfx -, SDL2_image -, SDL2_mixer -, SDL2_ttf + curl, + freetype, + glew, + gtk3, + libGL, + libjpeg, + libpng, + SDL2, + SDL2_gfx, + SDL2_image, + SDL2_mixer, + SDL2_ttf, }: stdenv.mkDerivation (finalAttrs: { @@ -57,7 +58,9 @@ stdenv.mkDerivation (finalAttrs: { ]; meta = with lib; { - changelog = "https://principia-web.se/wiki/Changelog#${lib.replaceStrings ["."] ["-"] finalAttrs.version}"; + changelog = "https://principia-web.se/wiki/Changelog#${ + lib.replaceStrings [ "." ] [ "-" ] finalAttrs.version + }"; description = "Physics-based sandbox game"; mainProgram = "principia"; homepage = "https://principia-web.se/"; diff --git a/pkgs/by-name/pr/printrun/package.nix b/pkgs/by-name/pr/printrun/package.nix index 70dbfe4067720..84d3bc77ebc35 100644 --- a/pkgs/by-name/pr/printrun/package.nix +++ b/pkgs/by-name/pr/printrun/package.nix @@ -1,4 +1,10 @@ -{ lib, python3Packages, fetchFromGitHub, glib, wrapGAppsHook3 }: +{ + lib, + python3Packages, + fetchFromGitHub, + glib, + wrapGAppsHook3, +}: python3Packages.buildPythonApplication rec { pname = "printrun"; @@ -18,16 +24,32 @@ python3Packages.buildPythonApplication rec { sed -i -r "s|/usr(/local)?/share/|$out/share/|g" printrun/utils.py ''; - nativeBuildInputs = [ glib wrapGAppsHook3 ]; + nativeBuildInputs = [ + glib + wrapGAppsHook3 + ]; propagatedBuildInputs = with python3Packages; [ - appdirs cython dbus-python numpy six wxpython psutil pyglet pyopengl pyserial cffi cairosvg lxml puremagic + appdirs + cython + dbus-python + numpy + six + wxpython + psutil + pyglet + pyopengl + pyserial + cffi + cairosvg + lxml + puremagic ]; # pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to "None" doCheck = false; - setupPyBuildFlags = ["-i"]; + setupPyBuildFlags = [ "-i" ]; postInstall = '' for f in $out/share/applications/*.desktop; do diff --git a/pkgs/by-name/pr/prio/package.nix b/pkgs/by-name/pr/prio/package.nix index 620e4f9382cee..bc41616e738f0 100644 --- a/pkgs/by-name/pr/prio/package.nix +++ b/pkgs/by-name/pr/prio/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pr/prism/package.nix b/pkgs/by-name/pr/prism/package.nix index a2f42aa00c4e3..86227fdb840ed 100644 --- a/pkgs/by-name/pr/prism/package.nix +++ b/pkgs/by-name/pr/prism/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "prism"; diff --git a/pkgs/by-name/pr/pritunl-client/package.nix b/pkgs/by-name/pr/pritunl-client/package.nix index cad06f7aa4b6e..fc650790a9fa6 100644 --- a/pkgs/by-name/pr/pritunl-client/package.nix +++ b/pkgs/by-name/pr/pritunl-client/package.nix @@ -1,22 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, runtimeShell -, runCommand -, makeWrapper -, installShellFiles -, buildGoModule -, coreutils -, which -, gnugrep -, gnused -, openresolv -, systemd -, iproute2 -, openvpn -, electron -}: let +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + runtimeShell, + runCommand, + makeWrapper, + installShellFiles, + buildGoModule, + coreutils, + which, + gnugrep, + gnused, + openresolv, + systemd, + iproute2, + openvpn, + electron, +}: +let version = "1.3.4083.88"; src = fetchFromGitHub { owner = "pritunl"; @@ -47,51 +49,63 @@ nativeBuildInputs = [ makeWrapper ]; - postPatch = '' - sed -Ei service/connection/scripts.go \ - -e 's|#!\s*(/usr)?/bin/(env )?bash\b|#! ${runtimeShell}|g' - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - sed -Ei service/connection/scripts.go \ - -e 's|(/usr)?/s?bin/busctl\b|busctl|g' \ - -e 's|(/usr)?/s?bin/resolvectl\b|resolvectl|g' \ - -e 's|(/usr)?/s?bin/ip\b|ip|g' - ''; + postPatch = + '' + sed -Ei service/connection/scripts.go \ + -e 's|#!\s*(/usr)?/bin/(env )?bash\b|#! ${runtimeShell}|g' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + sed -Ei service/connection/scripts.go \ + -e 's|(/usr)?/s?bin/busctl\b|busctl|g' \ + -e 's|(/usr)?/s?bin/resolvectl\b|resolvectl|g' \ + -e 's|(/usr)?/s?bin/ip\b|ip|g' + ''; - postInstall = '' - mv $out/bin/service $out/bin/pritunl-client-service - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - mkdir -p $out/lib/systemd/system/ - cp $src/resources_linux/pritunl-client.service $out/lib/systemd/system/ - substituteInPlace $out/lib/systemd/system/pritunl-client.service \ - --replace-warn "/usr" "$out" - ''; + postInstall = + '' + mv $out/bin/service $out/bin/pritunl-client-service + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + mkdir -p $out/lib/systemd/system/ + cp $src/resources_linux/pritunl-client.service $out/lib/systemd/system/ + substituteInPlace $out/lib/systemd/system/pritunl-client.service \ + --replace-warn "/usr" "$out" + ''; - postFixup = let - hookScriptsDeps = [ - coreutils - which - gnused - gnugrep - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - openresolv - systemd - iproute2 - ]; - openvpn-wrapped = runCommand "openvpn-wrapped" { - nativeBuildInputs = [ makeWrapper ]; - } '' - mkdir -p $out/bin - makeWrapper ${openvpn}/bin/openvpn $out/bin/openvpn \ - --prefix PATH : ${lib.makeBinPath hookScriptsDeps} \ - --add-flags "--setenv PATH \$PATH" + postFixup = + let + hookScriptsDeps = + [ + coreutils + which + gnused + gnugrep + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + openresolv + systemd + iproute2 + ]; + openvpn-wrapped = + runCommand "openvpn-wrapped" + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper ${openvpn}/bin/openvpn $out/bin/openvpn \ + --prefix PATH : ${lib.makeBinPath hookScriptsDeps} \ + --add-flags "--setenv PATH \$PATH" + ''; + in + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/pritunl-client-service \ + --prefix PATH : "${lib.makeBinPath ([ openvpn-wrapped ])}" ''; - in lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/pritunl-client-service \ - --prefix PATH : "${lib.makeBinPath ([ openvpn-wrapped ])}" - ''; passthru.updateScript = nix-update-script { }; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "pritunl-client"; inherit version src; @@ -103,45 +117,51 @@ in stdenv.mkDerivation { installShellFiles ]; - installPhase = '' - runHook preInstall - - mkdir -p $out/bin/ - ln -s ${cli}/bin/pritunl-client $out/bin/ - ln -s ${service}/bin/pritunl-client-service $out/bin/ - - mkdir -p $out/lib/ - cp -r client $out/lib/pritunl_client_electron + installPhase = + '' + runHook preInstall - makeWrapper ${electron}/bin/electron $out/bin/pritunl-client-electron \ - --add-flags $out/lib/pritunl_client_electron + mkdir -p $out/bin/ + ln -s ${cli}/bin/pritunl-client $out/bin/ + ln -s ${service}/bin/pritunl-client-service $out/bin/ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - mkdir -p $out/lib/systemd/system/ - ln -s ${service}/lib/systemd/system/pritunl-client.service $out/lib/systemd/system/ + mkdir -p $out/lib/ + cp -r client $out/lib/pritunl_client_electron - mkdir -p $out/share/icons/ - cp -r resources_linux/icons $out/share/icons/hicolor + makeWrapper ${electron}/bin/electron $out/bin/pritunl-client-electron \ + --add-flags $out/lib/pritunl_client_electron - mkdir -p $out/share/applications/ - cp resources_linux/pritunl-client-electron.desktop $out/share/applications/ - substituteInPlace $out/share/applications/pritunl-client-electron.desktop \ - --replace-fail "/usr/lib/pritunl_client_electron/Pritunl" "$out/bin/pritunl-client-electron" - '' + '' - # install shell completions for pritunl-client - installShellCompletion --cmd pritunl-client \ - --bash <($out/bin/pritunl-client completion bash) \ - --fish <($out/bin/pritunl-client completion fish) \ - --zsh <($out/bin/pritunl-client completion zsh) - - runHook postInstall - ''; + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + mkdir -p $out/lib/systemd/system/ + ln -s ${service}/lib/systemd/system/pritunl-client.service $out/lib/systemd/system/ + + mkdir -p $out/share/icons/ + cp -r resources_linux/icons $out/share/icons/hicolor + + mkdir -p $out/share/applications/ + cp resources_linux/pritunl-client-electron.desktop $out/share/applications/ + substituteInPlace $out/share/applications/pritunl-client-electron.desktop \ + --replace-fail "/usr/lib/pritunl_client_electron/Pritunl" "$out/bin/pritunl-client-electron" + '' + + '' + # install shell completions for pritunl-client + installShellCompletion --cmd pritunl-client \ + --bash <($out/bin/pritunl-client completion bash) \ + --fish <($out/bin/pritunl-client completion fish) \ + --zsh <($out/bin/pritunl-client completion zsh) + + runHook postInstall + ''; passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Pritunl OpenVPN client"; homepage = "https://client.pritunl.com/"; license = licenses.unfree; - maintainers = with maintainers; [ minizilla andrevmatos ]; + maintainers = with maintainers; [ + minizilla + andrevmatos + ]; }; } diff --git a/pkgs/by-name/pr/pritunl-ssh/package.nix b/pkgs/by-name/pr/pritunl-ssh/package.nix index 75440cc5e06cb..31c41e894a0b4 100644 --- a/pkgs/by-name/pr/pritunl-ssh/package.nix +++ b/pkgs/by-name/pr/pritunl-ssh/package.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { - pname = "pritunl-ssh"; + pname = "pritunl-ssh"; version = "1.0.3231.6"; src = fetchFromGitHub { diff --git a/pkgs/by-name/pr/private-gpt/package.nix b/pkgs/by-name/pr/private-gpt/package.nix index 4912c42212c86..419772ec32cf1 100644 --- a/pkgs/by-name/pr/private-gpt/package.nix +++ b/pkgs/by-name/pr/private-gpt/package.nix @@ -1,19 +1,22 @@ -{ python3Packages -, makeBinaryWrapper +{ + python3Packages, + makeBinaryWrapper, }: -python3Packages.toPythonApplication (python3Packages.private-gpt.overrideAttrs (oldAttrs: { - nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ]; +python3Packages.toPythonApplication ( + python3Packages.private-gpt.overrideAttrs (oldAttrs: { + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ]; - passthru = (oldAttrs.passthru or {}) // { - cl100k_base = { - inherit (python3Packages.private-gpt.cl100k_base) tiktoken; + passthru = (oldAttrs.passthru or { }) // { + cl100k_base = { + inherit (python3Packages.private-gpt.cl100k_base) tiktoken; + }; }; - }; - postInstall = '' - makeWrapper ${python3Packages.python.interpreter} $out/bin/private-gpt \ - --prefix PYTHONPATH : "$PYTHONPATH" \ - --add-flags "-m private_gpt" - ''; -})) + postInstall = '' + makeWrapper ${python3Packages.python.interpreter} $out/bin/private-gpt \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --add-flags "-m private_gpt" + ''; + }) +) diff --git a/pkgs/by-name/pr/probe-rs-tools/package.nix b/pkgs/by-name/pr/probe-rs-tools/package.nix index 1dc76b3f32378..20955ed5217ab 100644 --- a/pkgs/by-name/pr/probe-rs-tools/package.nix +++ b/pkgs/by-name/pr/probe-rs-tools/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, cmake -, gitMinimal -, pkg-config -, libusb1 -, openssl +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + gitMinimal, + pkg-config, + libusb1, + openssl, }: rustPlatform.buildRustPackage rec { @@ -33,7 +34,10 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ libusb1 openssl ]; + buildInputs = [ + libusb1 + openssl + ]; checkFlags = [ # require a physical probe @@ -60,7 +64,13 @@ rustPlatform.buildRustPackage rec { description = "CLI tool for on-chip debugging and flashing of ARM chips"; homepage = "https://probe.rs/"; changelog = "https://github.com/probe-rs/probe-rs/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ xgroleau newam ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + xgroleau + newam + ]; }; } diff --git a/pkgs/by-name/pr/procdump/package.nix b/pkgs/by-name/pr/procdump/package.nix index 45e6516c745d7..a547f7f69f35a 100644 --- a/pkgs/by-name/pr/procdump/package.nix +++ b/pkgs/by-name/pr/procdump/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + bash, + coreutils, + gdb, + zlib, +}: stdenv.mkDerivation rec { pname = "procdump"; @@ -22,7 +31,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ zlib ]; - buildInputs = [ bash coreutils gdb ]; + buildInputs = [ + bash + coreutils + gdb + ]; postPatch = '' substituteInPlace src/CoreDumpWriter.c \ diff --git a/pkgs/by-name/pr/process-compose/package.nix b/pkgs/by-name/pr/process-compose/package.nix index 0c8e98ed50fdd..f75ac0b261de7 100644 --- a/pkgs/by-name/pr/process-compose/package.nix +++ b/pkgs/by-name/pr/process-compose/package.nix @@ -1,10 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: -let config-module = "github.com/f1bonacc1/process-compose/src/config"; +let + config-module = "github.com/f1bonacc1/process-compose/src/config"; in buildGoModule rec { pname = "process-compose"; diff --git a/pkgs/by-name/pr/process-viewer/package.nix b/pkgs/by-name/pr/process-viewer/package.nix index 10f55aced9ead..646245950944a 100644 --- a/pkgs/by-name/pr/process-viewer/package.nix +++ b/pkgs/by-name/pr/process-viewer/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, gtk4 -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + gtk4, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -20,9 +21,11 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk4 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Foundation - ]; + buildInputs = + [ gtk4 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Foundation + ]; postInstall = '' install -Dm644 assets/fr.guillaume_gomez.ProcessViewer.desktop -t $out/share/applications diff --git a/pkgs/by-name/pr/prociono/package.nix b/pkgs/by-name/pr/prociono/package.nix index 021036a639240..598d479909cbb 100644 --- a/pkgs/by-name/pr/prociono/package.nix +++ b/pkgs/by-name/pr/prociono/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "prociono"; diff --git a/pkgs/by-name/pr/procmail/package.nix b/pkgs/by-name/pr/procmail/package.nix index 3bd280766b16d..dfb4bdb5a8955 100644 --- a/pkgs/by-name/pr/procmail/package.nix +++ b/pkgs/by-name/pr/procmail/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, buildPackages }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + buildPackages, +}: stdenv.mkDerivation rec { pname = "procmail"; @@ -21,27 +27,31 @@ stdenv.mkDerivation rec { # getline is defined differently in glibc now. So rename it. # Without the .PHONY target "make install" won't install anything on Darwin. - postPatch = '' - sed -i Makefile \ - -e "s%^RM.*$%#%" \ - -e "s%^BASENAME.*%\BASENAME=$out%" \ - -e "s%^LIBS=.*%LIBS=-lm%" - sed -e "s%getline%thisgetline%g" -i src/*.c src/*.h - sed -e "3i\ - .PHONY: install - " -i Makefile - '' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - substituteInPlace src/Makefile.0 \ - --replace-fail '@./_autotst' '@${stdenv.hostPlatform.emulator buildPackages} ./_autotst' - sed -e '3i\ - _autotst() { ${stdenv.hostPlatform.emulator buildPackages} ./_autotst "$@"; } \ - _locktst() { ${stdenv.hostPlatform.emulator buildPackages} ./_locktst "$@"; } \ - ' -i src/autoconf - ''; + postPatch = + '' + sed -i Makefile \ + -e "s%^RM.*$%#%" \ + -e "s%^BASENAME.*%\BASENAME=$out%" \ + -e "s%^LIBS=.*%LIBS=-lm%" + sed -e "s%getline%thisgetline%g" -i src/*.c src/*.h + sed -e "3i\ + .PHONY: install + " -i Makefile + '' + + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + substituteInPlace src/Makefile.0 \ + --replace-fail '@./_autotst' '@${stdenv.hostPlatform.emulator buildPackages} ./_autotst' + sed -e '3i\ + _autotst() { ${stdenv.hostPlatform.emulator buildPackages} ./_autotst "$@"; } \ + _locktst() { ${stdenv.hostPlatform.emulator buildPackages} ./_locktst "$@"; } \ + ' -i src/autoconf + ''; # default target is binaries + manpages; manpages don't cross compile without more work. makeFlags = lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ "bins" ]; - installTargets = lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ "install.bin" ]; + installTargets = lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "install.bin" + ]; meta = with lib; { description = "Mail processing and filtering utility"; diff --git a/pkgs/by-name/pr/procyon/package.nix b/pkgs/by-name/pr/procyon/package.nix index 984459f2a4f60..4fe075bd8886e 100644 --- a/pkgs/by-name/pr/procyon/package.nix +++ b/pkgs/by-name/pr/procyon/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, runtimeShell, jre_headless }: +{ + lib, + stdenv, + fetchurl, + runtimeShell, + jre_headless, +}: stdenv.mkDerivation rec { pname = "procyon"; diff --git a/pkgs/by-name/pr/prodigal/package.nix b/pkgs/by-name/pr/prodigal/package.nix index cd83a723f91e3..616ce2f6c5f88 100644 --- a/pkgs/by-name/pr/prodigal/package.nix +++ b/pkgs/by-name/pr/prodigal/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "prodigal"; diff --git a/pkgs/by-name/pr/professor/package.nix b/pkgs/by-name/pr/professor/package.nix index 60a030f528211..79ae452d1da29 100644 --- a/pkgs/by-name/pr/professor/package.nix +++ b/pkgs/by-name/pr/professor/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, eigen -, makeWrapper -, python3 +{ + lib, + stdenv, + fetchFromGitLab, + eigen, + makeWrapper, + python3, }: stdenv.mkDerivation rec { @@ -21,13 +22,15 @@ stdenv.mkDerivation rec { ''; }; - postPatch = '' - substituteInPlace Makefile \ - --replace-fail 'pip install ' 'pip install --prefix $(out) ' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Makefile \ - --replace-fail '-shared -o' '-shared -install_name "$(out)/$@" -o' - ''; + postPatch = + '' + substituteInPlace Makefile \ + --replace-fail 'pip install ' 'pip install --prefix $(out) ' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile \ + --replace-fail '-shared -o' '-shared -install_name "$(out)/$@" -o' + ''; nativeBuildInputs = [ python3.pkgs.cython diff --git a/pkgs/by-name/pr/profetch/package.nix b/pkgs/by-name/pr/profetch/package.nix index fc5f3cea4a0f6..27b1fbbdf6233 100644 --- a/pkgs/by-name/pr/profetch/package.nix +++ b/pkgs/by-name/pr/profetch/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, gprolog }: +{ + stdenv, + lib, + fetchFromGitHub, + gprolog, +}: stdenv.mkDerivation rec { pname = "profetch"; diff --git a/pkgs/by-name/pr/profile-cleaner/package.nix b/pkgs/by-name/pr/profile-cleaner/package.nix index 8e5d8325d0596..48b0916e9ac28 100644 --- a/pkgs/by-name/pr/profile-cleaner/package.nix +++ b/pkgs/by-name/pr/profile-cleaner/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite, bc, file }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + parallel, + sqlite, + bc, + file, +}: stdenv.mkDerivation rec { version = "2.45"; @@ -16,7 +25,14 @@ stdenv.mkDerivation rec { installPhase = '' PREFIX=\"\" DESTDIR=$out make install wrapProgram $out/bin/profile-cleaner \ - --prefix PATH : "${lib.makeBinPath [ parallel sqlite bc file ]}" + --prefix PATH : "${ + lib.makeBinPath [ + parallel + sqlite + bc + file + ] + }" ''; meta = { diff --git a/pkgs/by-name/pr/profile-sync-daemon/package.nix b/pkgs/by-name/pr/profile-sync-daemon/package.nix index 20b6c1aed3665..100848d523ab6 100644 --- a/pkgs/by-name/pr/profile-sync-daemon/package.nix +++ b/pkgs/by-name/pr/profile-sync-daemon/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, util-linux, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + util-linux, + coreutils, +}: stdenv.mkDerivation rec { pname = "profile-sync-daemon"; diff --git a/pkgs/by-name/pr/proggyfonts/package.nix b/pkgs/by-name/pr/proggyfonts/package.nix index 919cdf2a3dce3..046798a444aac 100644 --- a/pkgs/by-name/pr/proggyfonts/package.nix +++ b/pkgs/by-name/pr/proggyfonts/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, mkfontscale }: +{ + lib, + stdenv, + fetchurl, + mkfontscale, +}: stdenv.mkDerivation rec { pname = "proggyfonts"; diff --git a/pkgs/by-name/pr/programmer-calculator/package.nix b/pkgs/by-name/pr/programmer-calculator/package.nix index cc418feb763dd..75c4b15b7c120 100644 --- a/pkgs/by-name/pr/programmer-calculator/package.nix +++ b/pkgs/by-name/pr/programmer-calculator/package.nix @@ -1,4 +1,9 @@ -{ lib, gccStdenv, fetchFromGitHub, ncurses }: +{ + lib, + gccStdenv, + fetchFromGitHub, + ncurses, +}: gccStdenv.mkDerivation rec { pname = "programmer-calculator"; diff --git a/pkgs/by-name/pr/progress/package.nix b/pkgs/by-name/pr/progress/package.nix index 063d4d122acb4..ec6d2916fdd6b 100644 --- a/pkgs/by-name/pr/progress/package.nix +++ b/pkgs/by-name/pr/progress/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, ncurses, which }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + ncurses, + which, +}: stdenv.mkDerivation rec { pname = "progress"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-riewkageSZIlwDNMjYep9Pb2q1GJ+WMXazokJGbb4bE="; }; - nativeBuildInputs = [ pkg-config which ]; + nativeBuildInputs = [ + pkg-config + which + ]; buildInputs = [ ncurses ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/pr/proj-datumgrid/package.nix b/pkgs/by-name/pr/proj-datumgrid/package.nix index cfc75ce0c51aa..a1c7121f017ca 100644 --- a/pkgs/by-name/pr/proj-datumgrid/package.nix +++ b/pkgs/by-name/pr/proj-datumgrid/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "proj-datumgrid"; diff --git a/pkgs/by-name/pr/projectable/package.nix b/pkgs/by-name/pr/projectable/package.nix index b296e6a7ff1cf..efd4e42b36f31 100644 --- a/pkgs/by-name/pr/projectable/package.nix +++ b/pkgs/by-name/pr/projectable/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -26,13 +27,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + [ + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; env = { LIBGIT2_NO_VENDOR = 1; diff --git a/pkgs/by-name/pr/prometheus-dcgm-exporter/package.nix b/pkgs/by-name/pr/prometheus-dcgm-exporter/package.nix index df9ac3ef4d414..9c522e558941d 100644 --- a/pkgs/by-name/pr/prometheus-dcgm-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-dcgm-exporter/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, autoAddDriverRunpath -, dcgm +{ + lib, + buildGoModule, + fetchFromGitHub, + autoAddDriverRunpath, + dcgm, }: buildGoModule rec { pname = "dcgm-exporter"; diff --git a/pkgs/by-name/pr/prometheus-deluge-exporter/package.nix b/pkgs/by-name/pr/prometheus-deluge-exporter/package.nix index 4adcaf0a747d6..1524f5ee3abf8 100644 --- a/pkgs/by-name/pr/prometheus-deluge-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-deluge-exporter/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pr/prometheus-dnssec-exporter/package.nix b/pkgs/by-name/pr/prometheus-dnssec-exporter/package.nix index 3f366b789924f..88a9a7ee31388 100644 --- a/pkgs/by-name/pr/prometheus-dnssec-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-dnssec-exporter/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub, }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "prometheus-dnssec-exporter"; version = "0-unstable-2023-03-05"; @@ -19,4 +23,3 @@ buildGoModule { maintainers = with maintainers; [ swendel ]; }; } - diff --git a/pkgs/by-name/pr/prometheus-frr-exporter/package.nix b/pkgs/by-name/pr/prometheus-frr-exporter/package.nix index 890107dd07f51..9ed36908c77be 100644 --- a/pkgs/by-name/pr/prometheus-frr-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-frr-exporter/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: let version = "1.3.1"; diff --git a/pkgs/by-name/pr/prometheus-node-exporter/package.nix b/pkgs/by-name/pr/prometheus-node-exporter/package.nix index 5f1e9c50cc6bf..b3be17cd99983 100644 --- a/pkgs/by-name/pr/prometheus-node-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-node-exporter/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests, darwin }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + nixosTests, + darwin, +}: buildGoModule rec { pname = "node_exporter"; @@ -17,7 +24,13 @@ buildGoModule rec { # FIXME: tests fail due to read-only nix store doCheck = false; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation IOKit ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreFoundation + IOKit + ] + ); excludedPackages = [ "docs/node-mixin" ]; @@ -39,6 +52,11 @@ buildGoModule rec { homepage = "https://github.com/prometheus/node_exporter"; changelog = "https://github.com/prometheus/node_exporter/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ benley fpletz globin Frostman ]; + maintainers = with maintainers; [ + benley + fpletz + globin + Frostman + ]; }; } diff --git a/pkgs/by-name/pr/prometheus-pushgateway/package.nix b/pkgs/by-name/pr/prometheus-pushgateway/package.nix index fde0bab369161..08210d806f133 100644 --- a/pkgs/by-name/pr/prometheus-pushgateway/package.nix +++ b/pkgs/by-name/pr/prometheus-pushgateway/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests, testers, prometheus-pushgateway }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, + testers, + prometheus-pushgateway, +}: buildGoModule rec { pname = "pushgateway"; diff --git a/pkgs/by-name/pr/prometheus-restic-exporter/package.nix b/pkgs/by-name/pr/prometheus-restic-exporter/package.nix index d2dc4875282f0..b8cdb0267dcfe 100644 --- a/pkgs/by-name/pr/prometheus-restic-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-restic-exporter/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, python3 -, restic -, nixosTests +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3, + restic, + nixosTests, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/pr/prometheus-smartctl-exporter/package.nix b/pkgs/by-name/pr/prometheus-smartctl-exporter/package.nix index 707c8bbb0c1de..75fdd328cbcfc 100644 --- a/pkgs/by-name/pr/prometheus-smartctl-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-smartctl-exporter/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, nixosTests -, smartmontools +{ + lib, + fetchFromGitHub, + buildGoModule, + nixosTests, + smartmontools, }: buildGoModule rec { @@ -35,6 +36,9 @@ buildGoModule rec { homepage = "https://github.com/prometheus-community/smartctl_exporter"; license = licenses.lgpl3; platforms = platforms.linux; - maintainers = with maintainers; [ hexa Frostman ]; + maintainers = with maintainers; [ + hexa + Frostman + ]; }; } diff --git a/pkgs/by-name/pr/prometheus-squid-exporter/package.nix b/pkgs/by-name/pr/prometheus-squid-exporter/package.nix index 0dc4acd2c0bbb..9073641c66e18 100644 --- a/pkgs/by-name/pr/prometheus-squid-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-squid-exporter/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub, }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "squid-exporter"; diff --git a/pkgs/by-name/pr/prometheus-surfboard-exporter/package.nix b/pkgs/by-name/pr/prometheus-surfboard-exporter/package.nix index 780d090f41cff..bcb3fa0e65e8e 100644 --- a/pkgs/by-name/pr/prometheus-surfboard-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-surfboard-exporter/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "surfboard_exporter"; diff --git a/pkgs/by-name/pr/prometheus/package.nix b/pkgs/by-name/pr/prometheus/package.nix index 35ec025212a25..00dd43637f6dc 100644 --- a/pkgs/by-name/pr/prometheus/package.nix +++ b/pkgs/by-name/pr/prometheus/package.nix @@ -1,33 +1,34 @@ -{ stdenv -, lib -, go -, buildGoModule -, fetchFromGitHub -, fetchurl -, nixosTests -, enableAWS ? true -, enableAzure ? true -, enableConsul ? true -, enableDigitalOcean ? true -, enableDNS ? true -, enableEureka ? true -, enableGCE ? true -, enableHetzner ? true -, enableIONOS ? true -, enableKubernetes ? true -, enableLinode ? true -, enableMarathon ? true -, enableMoby ? true -, enableNomad ? true -, enableOpenstack ? true -, enableOVHCloud ? true -, enablePuppetDB ? true -, enableScaleway ? true -, enableTriton ? true -, enableUyuni ? true -, enableVultr ? true -, enableXDS ? true -, enableZookeeper ? true +{ + stdenv, + lib, + go, + buildGoModule, + fetchFromGitHub, + fetchurl, + nixosTests, + enableAWS ? true, + enableAzure ? true, + enableConsul ? true, + enableDigitalOcean ? true, + enableDNS ? true, + enableEureka ? true, + enableGCE ? true, + enableHetzner ? true, + enableIONOS ? true, + enableKubernetes ? true, + enableLinode ? true, + enableMarathon ? true, + enableMoby ? true, + enableNomad ? true, + enableOpenstack ? true, + enableOVHCloud ? true, + enablePuppetDB ? true, + enableScaleway ? true, + enableTriton ? true, + enableUyuni ? true, + enableVultr ? true, + enableXDS ? true, + enableZookeeper ? true, }: let @@ -41,7 +42,11 @@ buildGoModule rec { pname = "prometheus"; inherit version; - outputs = [ "out" "doc" "cli" ]; + outputs = [ + "out" + "doc" + "cli" + ]; src = fetchFromGitHub { owner = "prometheus"; @@ -52,7 +57,10 @@ buildGoModule rec { vendorHash = "sha256-c96YnWPLH/tbGRb2Zlqrl3PXSZvI+NeYTGlef6REAOw="; - excludedPackages = [ "documentation/prometheus-mixin" "web/ui/mantine-ui/src/promql/tools" ]; + excludedPackages = [ + "documentation/prometheus-mixin" + "web/ui/mantine-ui/src/promql/tools" + ]; postPatch = '' tar -C web/ui -xzf ${webUiStatic} @@ -62,29 +70,29 @@ buildGoModule rec { # Enable only select service discovery to shrink binaries. ( true # prevent bash syntax error when all plugins are disabled - ${lib.optionalString enableAWS "echo - github.com/prometheus/prometheus/discovery/aws"} - ${lib.optionalString enableAzure "echo - github.com/prometheus/prometheus/discovery/azure"} - ${lib.optionalString enableConsul "echo - github.com/prometheus/prometheus/discovery/consul"} + ${lib.optionalString enableAWS "echo - github.com/prometheus/prometheus/discovery/aws"} + ${lib.optionalString enableAzure "echo - github.com/prometheus/prometheus/discovery/azure"} + ${lib.optionalString enableConsul "echo - github.com/prometheus/prometheus/discovery/consul"} ${lib.optionalString enableDigitalOcean "echo - github.com/prometheus/prometheus/discovery/digitalocean"} - ${lib.optionalString enableDNS "echo - github.com/prometheus/prometheus/discovery/dns"} - ${lib.optionalString enableEureka "echo - github.com/prometheus/prometheus/discovery/eureka"} - ${lib.optionalString enableGCE "echo - github.com/prometheus/prometheus/discovery/gce"} - ${lib.optionalString enableHetzner "echo - github.com/prometheus/prometheus/discovery/hetzner"} - ${lib.optionalString enableIONOS "echo - github.com/prometheus/prometheus/discovery/ionos"} - ${lib.optionalString enableKubernetes "echo - github.com/prometheus/prometheus/discovery/kubernetes"} - ${lib.optionalString enableLinode "echo - github.com/prometheus/prometheus/discovery/linode"} - ${lib.optionalString enableMarathon "echo - github.com/prometheus/prometheus/discovery/marathon"} - ${lib.optionalString enableMoby "echo - github.com/prometheus/prometheus/discovery/moby"} - ${lib.optionalString enableNomad "echo - github.com/prometheus/prometheus/discovery/nomad"} - ${lib.optionalString enableOpenstack "echo - github.com/prometheus/prometheus/discovery/openstack"} - ${lib.optionalString enableOVHCloud "echo - github.com/prometheus/prometheus/discovery/ovhcloud"} - ${lib.optionalString enablePuppetDB "echo - github.com/prometheus/prometheus/discovery/puppetdb"} - ${lib.optionalString enableScaleway "echo - github.com/prometheus/prometheus/discovery/scaleway"} - ${lib.optionalString enableTriton "echo - github.com/prometheus/prometheus/discovery/triton"} - ${lib.optionalString enableUyuni "echo - github.com/prometheus/prometheus/discovery/uyuni"} - ${lib.optionalString enableVultr "echo - github.com/prometheus/prometheus/discovery/vultr"} - ${lib.optionalString enableXDS "echo - github.com/prometheus/prometheus/discovery/xds"} - ${lib.optionalString enableZookeeper "echo - github.com/prometheus/prometheus/discovery/zookeeper"} + ${lib.optionalString enableDNS "echo - github.com/prometheus/prometheus/discovery/dns"} + ${lib.optionalString enableEureka "echo - github.com/prometheus/prometheus/discovery/eureka"} + ${lib.optionalString enableGCE "echo - github.com/prometheus/prometheus/discovery/gce"} + ${lib.optionalString enableHetzner "echo - github.com/prometheus/prometheus/discovery/hetzner"} + ${lib.optionalString enableIONOS "echo - github.com/prometheus/prometheus/discovery/ionos"} + ${lib.optionalString enableKubernetes "echo - github.com/prometheus/prometheus/discovery/kubernetes"} + ${lib.optionalString enableLinode "echo - github.com/prometheus/prometheus/discovery/linode"} + ${lib.optionalString enableMarathon "echo - github.com/prometheus/prometheus/discovery/marathon"} + ${lib.optionalString enableMoby "echo - github.com/prometheus/prometheus/discovery/moby"} + ${lib.optionalString enableNomad "echo - github.com/prometheus/prometheus/discovery/nomad"} + ${lib.optionalString enableOpenstack "echo - github.com/prometheus/prometheus/discovery/openstack"} + ${lib.optionalString enableOVHCloud "echo - github.com/prometheus/prometheus/discovery/ovhcloud"} + ${lib.optionalString enablePuppetDB "echo - github.com/prometheus/prometheus/discovery/puppetdb"} + ${lib.optionalString enableScaleway "echo - github.com/prometheus/prometheus/discovery/scaleway"} + ${lib.optionalString enableTriton "echo - github.com/prometheus/prometheus/discovery/triton"} + ${lib.optionalString enableUyuni "echo - github.com/prometheus/prometheus/discovery/uyuni"} + ${lib.optionalString enableVultr "echo - github.com/prometheus/prometheus/discovery/vultr"} + ${lib.optionalString enableXDS "echo - github.com/prometheus/prometheus/discovery/xds"} + ${lib.optionalString enableZookeeper "echo - github.com/prometheus/prometheus/discovery/zookeeper"} ) > plugins.yml ''; @@ -128,6 +136,10 @@ buildGoModule rec { description = "Service monitoring system and time series database"; homepage = "https://prometheus.io"; license = licenses.asl20; - maintainers = with maintainers; [ fpletz willibutz Frostman ]; + maintainers = with maintainers; [ + fpletz + willibutz + Frostman + ]; }; } diff --git a/pkgs/by-name/pr/promexplorer/package.nix b/pkgs/by-name/pr/promexplorer/package.nix index ce4b22bfb3404..7515412585fd6 100644 --- a/pkgs/by-name/pr/promexplorer/package.nix +++ b/pkgs/by-name/pr/promexplorer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNimPackage, fetchFromGitHub }: +{ + lib, + buildNimPackage, + fetchFromGitHub, +}: buildNimPackage (finalAttrs: { pname = "promexplorer"; version = "0.0.5"; diff --git a/pkgs/by-name/pr/promptfoo/package.nix b/pkgs/by-name/pr/promptfoo/package.nix index 1773bb734d538..3dda7203bd4e7 100644 --- a/pkgs/by-name/pr/promptfoo/package.nix +++ b/pkgs/by-name/pr/promptfoo/package.nix @@ -1,6 +1,7 @@ -{ buildNpmPackage -, fetchFromGitHub -, lib +{ + buildNpmPackage, + fetchFromGitHub, + lib, }: buildNpmPackage rec { diff --git a/pkgs/by-name/pr/promql-cli/package.nix b/pkgs/by-name/pr/promql-cli/package.nix index d5188e83f2935..b92927a19f64f 100644 --- a/pkgs/by-name/pr/promql-cli/package.nix +++ b/pkgs/by-name/pr/promql-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-jhNll04xGaxS6NJTh4spSW9zPrff8jk5OEQiRevPQwU="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mv -v $out/bin/promql-cli $out/bin/promql diff --git a/pkgs/by-name/pr/promscale/package.nix b/pkgs/by-name/pr/promscale/package.nix index e814132627d74..9c350a7f88661 100644 --- a/pkgs/by-name/pr/promscale/package.nix +++ b/pkgs/by-name/pr/promscale/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, promscale -, testers +{ + lib, + buildGoModule, + fetchFromGitHub, + promscale, + testers, }: buildGoModule rec { @@ -51,6 +52,9 @@ buildGoModule rec { homepage = "https://github.com/timescale/promscale"; changelog = "https://github.com/timescale/promscale/blob/${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ _0x4A6F anpin ]; + maintainers = with maintainers; [ + _0x4A6F + anpin + ]; }; } diff --git a/pkgs/by-name/pr/proot/package.nix b/pkgs/by-name/pr/proot/package.nix index adcbb1de9d2a9..b3fb0a36629dc 100644 --- a/pkgs/by-name/pr/proot/package.nix +++ b/pkgs/by-name/pr/proot/package.nix @@ -1,8 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, talloc -, pkg-config -, ncurses -, docutils, swig, python3, coreutils, enablePython ? true }: +{ + lib, + stdenv, + fetchFromGitHub, + talloc, + pkg-config, + ncurses, + docutils, + swig, + python3, + coreutils, + enablePython ? true, +}: stdenv.mkDerivation rec { pname = "proot"; @@ -22,8 +30,14 @@ stdenv.mkDerivation rec { sed -i /CROSS_COMPILE/d src/GNUmakefile ''; - buildInputs = [ ncurses talloc ] ++ lib.optional enablePython python3; - nativeBuildInputs = [ pkg-config docutils ] ++ lib.optional enablePython swig; + buildInputs = [ + ncurses + talloc + ] ++ lib.optional enablePython python3; + nativeBuildInputs = [ + pkg-config + docutils + ] ++ lib.optional enablePython swig; enableParallelBuilding = true; @@ -47,7 +61,11 @@ stdenv.mkDerivation rec { description = "User-space implementation of chroot, mount --bind and binfmt_misc"; platforms = platforms.linux; license = licenses.gpl2Plus; - maintainers = with maintainers; [ ianwookim makefu veprbl ]; + maintainers = with maintainers; [ + ianwookim + makefu + veprbl + ]; mainProgram = "proot"; }; } diff --git a/pkgs/by-name/pr/properties-cpp/package.nix b/pkgs/by-name/pr/properties-cpp/package.nix index 2c510afdfa158..887c1e2eeec90 100644 --- a/pkgs/by-name/pr/properties-cpp/package.nix +++ b/pkgs/by-name/pr/properties-cpp/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitLab -, gitUpdater -, testers -, cmake -, pkg-config -, gtest -, doxygen -, graphviz -, lomiri +{ + lib, + stdenv, + fetchFromGitLab, + gitUpdater, + testers, + cmake, + pkg-config, + gtest, + doxygen, + graphviz, + lomiri, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pr/prosody-filer/package.nix b/pkgs/by-name/pr/prosody-filer/package.nix index 0f8530215dbfd..24abc41e7ee3f 100644 --- a/pkgs/by-name/pr/prosody-filer/package.nix +++ b/pkgs/by-name/pr/prosody-filer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "prosody-filer"; diff --git a/pkgs/by-name/pr/protege-distribution/package.nix b/pkgs/by-name/pr/protege-distribution/package.nix index 3aa234b406bde..b01313b4cddc1 100644 --- a/pkgs/by-name/pr/protege-distribution/package.nix +++ b/pkgs/by-name/pr/protege-distribution/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, unzip -, jdk11 -, copyDesktopItems -, iconConvTools -, makeDesktopItem -, makeWrapper +{ + lib, + stdenv, + fetchurl, + unzip, + jdk11, + copyDesktopItems, + iconConvTools, + makeDesktopItem, + makeWrapper, }: stdenv.mkDerivation rec { @@ -76,7 +77,12 @@ stdenv.mkDerivation rec { homepage = "https://protege.stanford.edu/"; downloadPage = "https://protege.stanford.edu/products.php#desktop-protege"; maintainers = with maintainers; [ nessdoor ]; - license = with licenses; [ asl20 bsd2 epl10 lgpl3 ]; + license = with licenses; [ + asl20 + bsd2 + epl10 + lgpl3 + ]; platforms = platforms.linux; mainProgram = "run-protege"; }; diff --git a/pkgs/by-name/pr/protege/package.nix b/pkgs/by-name/pr/protege/package.nix index efb34e4def488..4ef2318e150d5 100644 --- a/pkgs/by-name/pr/protege/package.nix +++ b/pkgs/by-name/pr/protege/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, copyDesktopItems -, iconConvTools -, makeDesktopItem -, makeWrapper -, jdk11 -, maven +{ + lib, + fetchFromGitHub, + copyDesktopItems, + iconConvTools, + makeDesktopItem, + makeWrapper, + jdk11, + maven, }: maven.buildMavenPackage rec { @@ -86,6 +87,9 @@ maven.buildMavenPackage rec { # will leave the task to someone who has the right tools and knowledge. platforms = lib.platforms.unix; mainProgram = "protege"; - sourceProvenance = with lib.sourceTypes; [ fromSource binaryBytecode ]; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryBytecode + ]; }; } diff --git a/pkgs/by-name/pr/proteus/package.nix b/pkgs/by-name/pr/proteus/package.nix index ab2bdae4ef0fc..c3d7745326067 100644 --- a/pkgs/by-name/pr/proteus/package.nix +++ b/pkgs/by-name/pr/proteus/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, autoPatchelfHook, cmake, pkg-config -, alsa-lib, freetype, libjack2 -, libX11, libXext, libXcursor, libXinerama, libXrandr, libXrender +{ + lib, + stdenv, + fetchFromGitHub, + autoPatchelfHook, + cmake, + pkg-config, + alsa-lib, + freetype, + libjack2, + libX11, + libXext, + libXcursor, + libXinerama, + libXrandr, + libXrender, }: stdenv.mkDerivation rec { @@ -15,10 +28,21 @@ stdenv.mkDerivation rec { hash = "sha256-WhJh+Sx64JYxQQ1LXpDUwXeodFU1EZ0TmMhn+6w0hQg="; }; - nativeBuildInputs = [ autoPatchelfHook cmake pkg-config ]; + nativeBuildInputs = [ + autoPatchelfHook + cmake + pkg-config + ]; buildInputs = [ - alsa-lib freetype libjack2 - libX11 libXext libXcursor libXinerama libXrandr libXrender + alsa-lib + freetype + libjack2 + libX11 + libXext + libXcursor + libXinerama + libXrandr + libXrender ]; # JUCE loads most dependencies at runtime: runtimeDependencies = map lib.getLib buildInputs; diff --git a/pkgs/by-name/pr/proto-contrib/package.nix b/pkgs/by-name/pr/proto-contrib/package.nix index 5437fd11345ac..0581335fe17fe 100644 --- a/pkgs/by-name/pr/proto-contrib/package.nix +++ b/pkgs/by-name/pr/proto-contrib/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "proto-contrib"; diff --git a/pkgs/by-name/pr/proto/package.nix b/pkgs/by-name/pr/proto/package.nix index 1b737f49efba3..bfb2b24def177 100644 --- a/pkgs/by-name/pr/proto/package.nix +++ b/pkgs/by-name/pr/proto/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin -, libiconv -, makeBinaryWrapper -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + libiconv, + makeBinaryWrapper, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,17 @@ rustPlatform.buildRustPackage rec { darwin.apple_sdk.frameworks.SystemConfiguration libiconv ]; - nativeBuildInputs = [ makeBinaryWrapper pkg-config ]; + nativeBuildInputs = [ + makeBinaryWrapper + pkg-config + ]; # Tests requires network access doCheck = false; - cargoBuildFlags = [ "--bin proto" "--bin proto-shim" ]; + cargoBuildFlags = [ + "--bin proto" + "--bin proto-shim" + ]; postInstall = '' # proto looks up a proto-shim executable file in $PROTO_LOOKUP_DIR diff --git a/pkgs/by-name/pr/protobufc/package.nix b/pkgs/by-name/pr/protobufc/package.nix index 7681c5b2591c0..62c55c8bd62f9 100644 --- a/pkgs/by-name/pr/protobufc/package.nix +++ b/pkgs/by-name/pr/protobufc/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, protobuf_25 -, zlib -, buildPackages +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + protobuf_25, + zlib, + buildPackages, }: stdenv.mkDerivation rec { @@ -19,11 +20,21 @@ stdenv.mkDerivation rec { hash = "sha256-Dkpcc7ZfvAIVY91trRiHuiRFcUGUbQxbheYKTBcq80I="; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ protobuf_25 zlib ]; + buildInputs = [ + protobuf_25 + zlib + ]; env.PROTOC = lib.getExe buildPackages.protobuf_25; diff --git a/pkgs/by-name/pr/protoc-gen-connect-go/package.nix b/pkgs/by-name/pr/protoc-gen-connect-go/package.nix index 36a5bb15e35c4..0e1ecdc6c1f1b 100644 --- a/pkgs/by-name/pr/protoc-gen-connect-go/package.nix +++ b/pkgs/by-name/pr/protoc-gen-connect-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -31,6 +32,9 @@ buildGoModule rec { homepage = "https://github.com/connectrpc/connect-go"; changelog = "https://github.com/connectrpc/connect-go/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ kilimnik jk ]; + maintainers = with maintainers; [ + kilimnik + jk + ]; }; } diff --git a/pkgs/by-name/pr/protoc-gen-doc/package.nix b/pkgs/by-name/pr/protoc-gen-doc/package.nix index 09eb0a057aeed..0b9d1bc03165a 100644 --- a/pkgs/by-name/pr/protoc-gen-doc/package.nix +++ b/pkgs/by-name/pr/protoc-gen-doc/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "protoc-gen-doc"; diff --git a/pkgs/by-name/pr/protoc-gen-entgrpc/package.nix b/pkgs/by-name/pr/protoc-gen-entgrpc/package.nix index b4751caa883a2..f7eed9ab1c33f 100644 --- a/pkgs/by-name/pr/protoc-gen-entgrpc/package.nix +++ b/pkgs/by-name/pr/protoc-gen-entgrpc/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protoc-gen-entgrpc"; @@ -15,7 +19,10 @@ buildGoModule rec { subPackages = [ "entproto/cmd/protoc-gen-entgrpc" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Generator of an implementation of the service interface for ent protobuff"; @@ -26,4 +33,3 @@ buildGoModule rec { maintainers = [ ]; }; } - diff --git a/pkgs/by-name/pr/protoc-gen-go-grpc/package.nix b/pkgs/by-name/pr/protoc-gen-go-grpc/package.nix index 863b82f3f791a..271a77e832f51 100644 --- a/pkgs/by-name/pr/protoc-gen-go-grpc/package.nix +++ b/pkgs/by-name/pr/protoc-gen-go-grpc/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/pr/protoc-gen-go-vtproto/package.nix b/pkgs/by-name/pr/protoc-gen-go-vtproto/package.nix index 11764e7e8e3c3..0c39bb857a4f6 100644 --- a/pkgs/by-name/pr/protoc-gen-go-vtproto/package.nix +++ b/pkgs/by-name/pr/protoc-gen-go-vtproto/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { pname = "protoc-gen-go-vtproto"; diff --git a/pkgs/by-name/pr/protoc-gen-go/package.nix b/pkgs/by-name/pr/protoc-gen-go/package.nix index 19618f41323e8..d375813c45432 100644 --- a/pkgs/by-name/pr/protoc-gen-go/package.nix +++ b/pkgs/by-name/pr/protoc-gen-go/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protoc-gen-go"; diff --git a/pkgs/by-name/pr/protoc-gen-rust-grpc/package.nix b/pkgs/by-name/pr/protoc-gen-rust-grpc/package.nix index 3aefd22b8c676..53fbba4b13131 100644 --- a/pkgs/by-name/pr/protoc-gen-rust-grpc/package.nix +++ b/pkgs/by-name/pr/protoc-gen-rust-grpc/package.nix @@ -1,4 +1,8 @@ -{ fetchCrate, lib, rustPlatform }: +{ + fetchCrate, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "protoc-gen-rust-grpc"; diff --git a/pkgs/by-name/pr/protoc-gen-rust/package.nix b/pkgs/by-name/pr/protoc-gen-rust/package.nix index 72b8652bf826a..d103460cee90a 100644 --- a/pkgs/by-name/pr/protoc-gen-rust/package.nix +++ b/pkgs/by-name/pr/protoc-gen-rust/package.nix @@ -1,7 +1,8 @@ -{ fetchCrate -, lib -, rustPlatform -, protobuf +{ + fetchCrate, + lib, + rustPlatform, + protobuf, }: rustPlatform.buildRustPackage rec { @@ -16,7 +17,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-RO3kVYkvHw8kwLaRfANtGtz88knjJ8HtmU3i0xgIDMY="; - cargoBuildFlags = ["--bin" pname]; + cargoBuildFlags = [ + "--bin" + pname + ]; nativeBuildInputs = [ protobuf ]; diff --git a/pkgs/by-name/pr/protoc-gen-twirp/package.nix b/pkgs/by-name/pr/protoc-gen-twirp/package.nix index 4f59af22d6e9c..a1072f9578006 100644 --- a/pkgs/by-name/pr/protoc-gen-twirp/package.nix +++ b/pkgs/by-name/pr/protoc-gen-twirp/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protoc-gen-twirp"; diff --git a/pkgs/by-name/pr/protoc-gen-twirp_php/package.nix b/pkgs/by-name/pr/protoc-gen-twirp_php/package.nix index 5d12aa44beace..7fb1401a37aa5 100644 --- a/pkgs/by-name/pr/protoc-gen-twirp_php/package.nix +++ b/pkgs/by-name/pr/protoc-gen-twirp_php/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchgit }: +{ + lib, + buildGoModule, + fetchgit, +}: buildGoModule rec { pname = "protoc-gen-twirp_php"; diff --git a/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix b/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix index 1445f60f676fb..b62de34b0ae40 100644 --- a/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix +++ b/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "protoc-gen-twirp_swagger"; diff --git a/pkgs/by-name/pr/protoc-gen-twirp_typescript/package.nix b/pkgs/by-name/pr/protoc-gen-twirp_typescript/package.nix index 340b21784712b..cf4ed6f0253ed 100644 --- a/pkgs/by-name/pr/protoc-gen-twirp_typescript/package.nix +++ b/pkgs/by-name/pr/protoc-gen-twirp_typescript/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule { pname = "protoc-gen-twirp_typescript"; @@ -21,6 +25,9 @@ buildGoModule { mainProgram = "protoc-gen-twirp_typescript"; homepage = "https://github.com/larrymyers/protoc-gen-twirp_typescript"; license = licenses.mit; - maintainers = with maintainers; [ jojosch dgollings ]; + maintainers = with maintainers; [ + jojosch + dgollings + ]; }; } diff --git a/pkgs/by-name/pr/protoc-gen-validate/package.nix b/pkgs/by-name/pr/protoc-gen-validate/package.nix index b8266c6f223b4..2fedd5b4992fc 100644 --- a/pkgs/by-name/pr/protoc-gen-validate/package.nix +++ b/pkgs/by-name/pr/protoc-gen-validate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protoc-gen-validate"; diff --git a/pkgs/by-name/pr/protoc-go-inject-tag/package.nix b/pkgs/by-name/pr/protoc-go-inject-tag/package.nix index cddd70559d912..5d6d1cc8330d1 100644 --- a/pkgs/by-name/pr/protoc-go-inject-tag/package.nix +++ b/pkgs/by-name/pr/protoc-go-inject-tag/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "protoc-go-inject-tag"; @@ -19,7 +20,7 @@ buildGoModule rec { description = "Inject custom tags to protobuf golang struct"; homepage = "https://github.com/favadi/protoc-go-inject-tag/tree/v1.4.0"; license = licenses.bsd2; - maintainers = with maintainers; [elrohirgt]; + maintainers = with maintainers; [ elrohirgt ]; mainProgram = "protoc-go-inject-tag"; }; } diff --git a/pkgs/by-name/pr/protocol/package.nix b/pkgs/by-name/pr/protocol/package.nix index 15067e2d9ab2e..6d79950358750 100644 --- a/pkgs/by-name/pr/protocol/package.nix +++ b/pkgs/by-name/pr/protocol/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pr/protolint/package.nix b/pkgs/by-name/pr/protolint/package.nix index 1df3383d15305..620964b440e5d 100644 --- a/pkgs/by-name/pr/protolint/package.nix +++ b/pkgs/by-name/pr/protolint/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protolint"; version = "0.51.0"; @@ -20,14 +24,16 @@ buildGoModule rec { # util_test.go:35: open : no such file or directory excludedPackages = [ "internal" ]; - ldflags = let - rev = builtins.substring 0 7 src.rev; - in [ - "-X github.com/yoheimuta/protolint/internal/cmd.version=${version}" - "-X github.com/yoheimuta/protolint/internal/cmd.revision=${rev}" - "-X github.com/yoheimuta/protolint/internal/cmd/protocgenprotolint.version=${version}" - "-X github.com/yoheimuta/protolint/internal/cmd/protocgenprotolint.revision=${rev}" - ]; + ldflags = + let + rev = builtins.substring 0 7 src.rev; + in + [ + "-X github.com/yoheimuta/protolint/internal/cmd.version=${version}" + "-X github.com/yoheimuta/protolint/internal/cmd.revision=${rev}" + "-X github.com/yoheimuta/protolint/internal/cmd/protocgenprotolint.version=${version}" + "-X github.com/yoheimuta/protolint/internal/cmd/protocgenprotolint.revision=${rev}" + ]; meta = with lib; { description = "Pluggable linter and fixer to enforce Protocol Buffer style and conventions"; diff --git a/pkgs/by-name/pr/protolock/package.nix b/pkgs/by-name/pr/protolock/package.nix index f8483eb5d68b3..663219e3e7198 100644 --- a/pkgs/by-name/pr/protolock/package.nix +++ b/pkgs/by-name/pr/protolock/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protolock"; diff --git a/pkgs/by-name/pr/proton-caller/package.nix b/pkgs/by-name/pr/proton-caller/package.nix index e0fd948eb8666..354181609e1a6 100644 --- a/pkgs/by-name/pr/proton-caller/package.nix +++ b/pkgs/by-name/pr/proton-caller/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "proton-caller"; diff --git a/pkgs/by-name/pr/protonmail-bridge-gui/package.nix b/pkgs/by-name/pr/protonmail-bridge-gui/package.nix index 3cb289b614269..3d159ffb6459f 100644 --- a/pkgs/by-name/pr/protonmail-bridge-gui/package.nix +++ b/pkgs/by-name/pr/protonmail-bridge-gui/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, pkg-config -, libsecret -, cmake -, ninja -, qt6 -, grpc -, protobuf -, zlib -, gtest -, sentry-native -, protonmail-bridge +{ + lib, + stdenv, + pkg-config, + libsecret, + cmake, + ninja, + qt6, + grpc, + protobuf, + zlib, + gtest, + sentry-native, + protonmail-bridge, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pr/protonmail-bridge/package.nix b/pkgs/by-name/pr/protonmail-bridge/package.nix index dcc926174838d..295ecf3a608eb 100644 --- a/pkgs/by-name/pr/protonmail-bridge/package.nix +++ b/pkgs/by-name/pr/protonmail-bridge/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, libsecret }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + libsecret, +}: buildGoModule rec { pname = "protonmail-bridge"; @@ -23,7 +29,9 @@ buildGoModule rec { ''; ldflags = - let constants = "github.com/ProtonMail/proton-bridge/v3/internal/constants"; in + let + constants = "github.com/ProtonMail/proton-bridge/v3/internal/constants"; + in [ "-X ${constants}.Version=${version}" "-X ${constants}.Revision=${src.rev}" @@ -52,6 +60,9 @@ buildGoModule rec { To work, use secret-service freedesktop.org API (e.g. Gnome keyring) or pass. ''; mainProgram = "protonmail-bridge"; - maintainers = with lib.maintainers; [ mrfreezeex daniel-fahey ]; + maintainers = with lib.maintainers; [ + mrfreezeex + daniel-fahey + ]; }; } diff --git a/pkgs/by-name/pr/protoscope/package.nix b/pkgs/by-name/pr/protoscope/package.nix index 98ebbc995617a..28e3176a1c785 100644 --- a/pkgs/by-name/pr/protoscope/package.nix +++ b/pkgs/by-name/pr/protoscope/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "protoscope"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-mK8eGo6oembs4nofvROn4g0+oO5E5/zQrmPKMe3xXik="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Simple, human-editable language for representing and emitting the Protobuf wire format"; diff --git a/pkgs/by-name/pr/prototool/package.nix b/pkgs/by-name/pr/prototool/package.nix index c65dad2bb717f..211c86bd7c072 100644 --- a/pkgs/by-name/pr/prototool/package.nix +++ b/pkgs/by-name/pr/prototool/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, protobuf }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + protobuf, +}: buildGoModule rec { pname = "prototool"; diff --git a/pkgs/by-name/pr/prototypejs/package.nix b/pkgs/by-name/pr/prototypejs/package.nix index b3ded7025e99c..7f6257aeb4042 100644 --- a/pkgs/by-name/pr/prototypejs/package.nix +++ b/pkgs/by-name/pr/prototypejs/package.nix @@ -1,7 +1,8 @@ { lib, fetchurl, ... }: let version = "1.7.3.0"; -in fetchurl { +in +fetchurl { name = "prototype-${version}.js"; url = "https://ajax.googleapis.com/ajax/libs/prototype/${version}/prototype.js"; sha256 = "0q43vvrsb22h4jvavs1gk3v4ps61yx9k85b5n6q9mxivhmxprg26"; diff --git a/pkgs/by-name/pr/protox/package.nix b/pkgs/by-name/pr/protox/package.nix index d8375a8786766..5821c574c7479 100644 --- a/pkgs/by-name/pr/protox/package.nix +++ b/pkgs/by-name/pr/protox/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "protox"; homepage = "https://github.com/andrewhickman/protox"; changelog = "https://github.com/andrewhickman/protox/blob/${version}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/pr/protozero/package.nix b/pkgs/by-name/pr/protozero/package.nix index ed3e67fdeed10..708a61d65c501 100644 --- a/pkgs/by-name/pr/protozero/package.nix +++ b/pkgs/by-name/pr/protozero/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "protozero"; @@ -16,7 +21,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Minimalistic protocol buffer decoder and encoder in C++"; homepage = "https://github.com/mapbox/protozero"; - license = with licenses; [ bsd2 asl20 ]; + license = with licenses; [ + bsd2 + asl20 + ]; changelog = [ "https://github.com/mapbox/protozero/releases/tag/v${version}" "https://github.com/mapbox/protozero/blob/v${version}/CHANGELOG.md" diff --git a/pkgs/by-name/pr/prover9/package.nix b/pkgs/by-name/pr/prover9/package.nix index a82e44c8a5109..ddf47d74d4cae 100644 --- a/pkgs/by-name/pr/prover9/package.nix +++ b/pkgs/by-name/pr/prover9/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "prover9"; diff --git a/pkgs/by-name/pr/proverif/package.nix b/pkgs/by-name/pr/proverif/package.nix index 5cd0e5ff9e39f..7addcf4008b59 100644 --- a/pkgs/by-name/pr/proverif/package.nix +++ b/pkgs/by-name/pr/proverif/package.nix @@ -1,17 +1,25 @@ -{ lib, stdenv, fetchurl, ocamlPackages }: +{ + lib, + stdenv, + fetchurl, + ocamlPackages, +}: stdenv.mkDerivation rec { pname = "proverif"; version = "2.05"; src = fetchurl { - url = "https://bblanche.gitlabpages.inria.fr/proverif/proverif${version}.tar.gz"; + url = "https://bblanche.gitlabpages.inria.fr/proverif/proverif${version}.tar.gz"; hash = "sha256-SHH1PDKrSgRmmgYMSIa6XZCASWlj+5gKmmLSxCnOq8Q="; }; strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ ocaml findlib ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + findlib + ]; buildPhase = "./build -nointeract"; installPhase = '' @@ -23,9 +31,12 @@ stdenv.mkDerivation rec { meta = { description = "Cryptographic protocol verifier in the formal model"; - homepage = "https://bblanche.gitlabpages.inria.fr/proverif/"; - license = lib.licenses.gpl2; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ thoughtpolice vbgl ]; + homepage = "https://bblanche.gitlabpages.inria.fr/proverif/"; + license = lib.licenses.gpl2; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + thoughtpolice + vbgl + ]; }; } diff --git a/pkgs/by-name/pr/prox/package.nix b/pkgs/by-name/pr/prox/package.nix index 7f3713364196a..adc0751adb2de 100644 --- a/pkgs/by-name/pr/prox/package.nix +++ b/pkgs/by-name/pr/prox/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/pr/proxify/package.nix b/pkgs/by-name/pr/proxify/package.nix index bf307f366a374..a3cc3927aed35 100644 --- a/pkgs/by-name/pr/proxify/package.nix +++ b/pkgs/by-name/pr/proxify/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/pr/proximity-sort/package.nix b/pkgs/by-name/pr/proximity-sort/package.nix index 3b0f1ca5be3d5..fff76ceda5680 100644 --- a/pkgs/by-name/pr/proximity-sort/package.nix +++ b/pkgs/by-name/pr/proximity-sort/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "proximity-sort"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Simple command-line utility for sorting inputs by proximity to a path argument"; homepage = "https://github.com/jonhoo/proximity-sort"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "proximity-sort"; }; diff --git a/pkgs/by-name/pr/proxmove/package.nix b/pkgs/by-name/pr/proxmove/package.nix index 0d7dbbbbb9b08..8007f2a778743 100644 --- a/pkgs/by-name/pr/proxmove/package.nix +++ b/pkgs/by-name/pr/proxmove/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pr/proxmox-backup-client/package.nix b/pkgs/by-name/pr/proxmox-backup-client/package.nix index fde70e9a8f9ab..c6cde45e98592 100644 --- a/pkgs/by-name/pr/proxmox-backup-client/package.nix +++ b/pkgs/by-name/pr/proxmox-backup-client/package.nix @@ -1,20 +1,21 @@ -{ lib -, fetchgit -, rustPlatform -, pkg-config -, pkgconf -, openssl -, fuse3 -, libuuid -, acl -, libxcrypt -, git -, installShellFiles -, sphinx -, stdenv -, fetchpatch -, testers -, proxmox-backup-client +{ + lib, + fetchgit, + rustPlatform, + pkg-config, + pkgconf, + openssl, + fuse3, + libuuid, + acl, + libxcrypt, + git, + installShellFiles, + sphinx, + stdenv, + fetchpatch, + testers, + proxmox-backup-client, }: let @@ -137,8 +138,21 @@ rustPlatform.buildRustPackage { doCheck = false; - nativeBuildInputs = [ git pkg-config pkgconf rustPlatform.bindgenHook installShellFiles sphinx ]; - buildInputs = [ openssl fuse3 libuuid acl libxcrypt ]; + nativeBuildInputs = [ + git + pkg-config + pkgconf + rustPlatform.bindgenHook + installShellFiles + sphinx + ]; + buildInputs = [ + openssl + fuse3 + libuuid + acl + libxcrypt + ]; passthru.tests.version = testers.testVersion { package = proxmox-backup-client; @@ -150,7 +164,10 @@ rustPlatform.buildRustPackage { homepage = "https://pbs.proxmox.com/docs/backup-client.html"; changelog = "https://git.proxmox.com/?p=proxmox-backup.git;a=blob;f=debian/changelog;hb=refs/tags/v${version}"; license = licenses.agpl3Only; - maintainers = with maintainers; [ cofob christoph-heiss ]; + maintainers = with maintainers; [ + cofob + christoph-heiss + ]; platforms = platforms.linux; mainProgram = "proxmox-backup-client"; }; diff --git a/pkgs/by-name/pr/proxychains-ng/package.nix b/pkgs/by-name/pr/proxychains-ng/package.nix index 64e3bb57c4ac9..96d5269f07f6f 100644 --- a/pkgs/by-name/pr/proxychains-ng/package.nix +++ b/pkgs/by-name/pr/proxychains-ng/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pr/proxychains/package.nix b/pkgs/by-name/pr/proxychains/package.nix index e78b1b0fcd6c6..04b472fc659b9 100644 --- a/pkgs/by-name/pr/proxychains/package.nix +++ b/pkgs/by-name/pr/proxychains/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pr/proxysql/package.nix b/pkgs/by-name/pr/proxysql/package.nix index ed04908180eeb..edf8d11267dd4 100644 --- a/pkgs/by-name/pr/proxysql/package.nix +++ b/pkgs/by-name/pr/proxysql/package.nix @@ -1,33 +1,34 @@ -{ stdenv -, lib -, applyPatches -, fetchFromGitHub -, autoconf -, automake -, bison -, cmake -, libtool -, civetweb -, coreutils -, curl -, flex -, gnutls -, libconfig -, libdaemon -, libev -, libgcrypt -, libinjection -, libmicrohttpd -, libuuid -, lz4 -, nlohmann_json -, openssl -, pcre -, perl -, python3 -, prometheus-cpp -, zlib -, texinfo +{ + stdenv, + lib, + applyPatches, + fetchFromGitHub, + autoconf, + automake, + bison, + cmake, + libtool, + civetweb, + coreutils, + curl, + flex, + gnutls, + libconfig, + libdaemon, + libev, + libgcrypt, + libinjection, + libmicrohttpd, + libuuid, + lz4, + nlohmann_json, + openssl, + pcre, + perl, + python3, + prometheus-cpp, + zlib, + texinfo, }: stdenv.mkDerivation (finalAttrs: { @@ -53,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: { libtool perl python3 - texinfo # for makeinfo + texinfo # for makeinfo ]; buildInputs = [ @@ -73,87 +74,127 @@ stdenv.mkDerivation (finalAttrs: { dontConfigure = true; # replace and fix some vendored dependencies - preBuild = /* sh */ '' - pushd deps - - function replace_dep() { - local folder="$1" - local src="$2" - local symlink="$3" - local name="$4" - - pushd "$folder" - - rm -rf "$symlink" - if [ -d "$src" ]; then - cp -R "$src"/. "$symlink" - chmod -R u+w "$symlink" - else - tar xf "$src" - ln -s "$name" "$symlink" - fi + preBuild = # sh + '' + pushd deps + + function replace_dep() { + local folder="$1" + local src="$2" + local symlink="$3" + local name="$4" + + pushd "$folder" + + rm -rf "$symlink" + if [ -d "$src" ]; then + cp -R "$src"/. "$symlink" + chmod -R u+w "$symlink" + else + tar xf "$src" + ln -s "$name" "$symlink" + fi + + popd + } + + ${lib.concatMapStringsSep "\n" + ( + x: + ''replace_dep "${x.f}" "${x.p.src}" "${ + x.p.pname or (builtins.parseDrvName x.p.name).name + }" "${x.p.name}"'' + ) + ( + map + (x: { + inherit (x) f; + p = x.p // { + src = applyPatches { + inherit (x.p) src patches; + }; + }; + }) + [ + { + f = "curl"; + p = curl; + } + { + f = "libconfig"; + p = libconfig; + } + { + f = "libdaemon"; + p = libdaemon; + } + { + f = "libev"; + p = libev; + } + { + f = "libinjection"; + p = libinjection; + } + { + f = "libmicrohttpd"; + p = libmicrohttpd; + } + { + f = "libssl"; + p = openssl; + } + { + f = "lz4"; + p = lz4; + } + { + f = "pcre"; + p = pcre; + } + { + f = "prometheus-cpp"; + p = prometheus-cpp; + } + ] + ) + } + + pushd libhttpserver + tar xf libhttpserver-*.tar.gz + sed -i s_/bin/pwd_${coreutils}/bin/pwd_g libhttpserver/configure.ac + popd + pushd json + rm json.hpp + ln -s ${nlohmann_json.src}/single_include/nlohmann/json.hpp . popd - } - - ${lib.concatMapStringsSep "\n" - (x: ''replace_dep "${x.f}" "${x.p.src}" "${x.p.pname or (builtins.parseDrvName x.p.name).name}" "${x.p.name}"'') ( - map (x: { - inherit (x) f; - p = x.p // { - src = applyPatches { - inherit (x.p) src patches; - }; - }; - }) [ - { f = "curl"; p = curl; } - { f = "libconfig"; p = libconfig; } - { f = "libdaemon"; p = libdaemon; } - { f = "libev"; p = libev; } - { f = "libinjection"; p = libinjection; } - { f = "libmicrohttpd"; p = libmicrohttpd; } - { f = "libssl"; p = openssl; } - { f = "lz4"; p = lz4; } - { f = "pcre"; p = pcre; } - { f = "prometheus-cpp"; p = prometheus-cpp; } - ] - )} - - pushd libhttpserver - tar xf libhttpserver-*.tar.gz - sed -i s_/bin/pwd_${coreutils}/bin/pwd_g libhttpserver/configure.ac - popd - - pushd json - rm json.hpp - ln -s ${nlohmann_json.src}/single_include/nlohmann/json.hpp . - popd - - pushd prometheus-cpp/prometheus-cpp/3rdparty - replace_dep . "${civetweb.src}" civetweb - popd - - sed -i s_/usr/bin/env_${coreutils}/bin/env_g libssl/openssl/config - - pushd libmicrohttpd/libmicrohttpd - autoreconf - popd - - pushd libconfig/libconfig - autoreconf - popd - - pushd libdaemon/libdaemon - autoreconf - popd - - pushd pcre/pcre - autoreconf - popd - - popd - patchShebangs . - ''; + + pushd prometheus-cpp/prometheus-cpp/3rdparty + replace_dep . "${civetweb.src}" civetweb + popd + + sed -i s_/usr/bin/env_${coreutils}/bin/env_g libssl/openssl/config + + pushd libmicrohttpd/libmicrohttpd + autoreconf + popd + + pushd libconfig/libconfig + autoreconf + popd + + pushd libdaemon/libdaemon + autoreconf + popd + + pushd pcre/pcre + autoreconf + popd + + popd + patchShebangs . + ''; preInstall = '' mkdir -p $out/{etc,bin,lib/systemd/system} diff --git a/pkgs/by-name/pr/proycon-wayout/package.nix b/pkgs/by-name/pr/proycon-wayout/package.nix index d19ea6894546a..94f66bda4ad87 100644 --- a/pkgs/by-name/pr/proycon-wayout/package.nix +++ b/pkgs/by-name/pr/proycon-wayout/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromSourcehut -, meson -, wayland-protocols -, wayland -, cairo -, pango -, scdoc -, ninja -, cmake -, pkg-config -, wayland-scanner +{ + stdenv, + lib, + fetchFromSourcehut, + meson, + wayland-protocols, + wayland, + cairo, + pango, + scdoc, + ninja, + cmake, + pkg-config, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -34,8 +35,20 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ scdoc ninja meson cmake pkg-config wayland-scanner ]; - buildInputs = [ wayland-protocols wayland cairo pango ]; + nativeBuildInputs = [ + scdoc + ninja + meson + cmake + pkg-config + wayland-scanner + ]; + buildInputs = [ + wayland-protocols + wayland + cairo + pango + ]; meta = with lib; { description = "Takes text from standard input and outputs it to a desktop-widget on Wayland desktops"; diff --git a/pkgs/by-name/pr/prqlc/package.nix b/pkgs/by-name/pr/prqlc/package.nix index 06fcb68038c78..c940bf1d4d5ad 100644 --- a/pkgs/by-name/pr/prqlc/package.nix +++ b/pkgs/by-name/pr/prqlc/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, sqlite -, zlib -, stdenv -, darwin -, python3 +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + sqlite, + zlib, + stdenv, + darwin, + python3, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pr/prr/package.nix b/pkgs/by-name/pr/prr/package.nix index ba07cd6fe0c95..dc818bfc5afcb 100644 --- a/pkgs/by-name/pr/prr/package.nix +++ b/pkgs/by-name/pr/prr/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, openssl -, pkg-config -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + openssl, + pkg-config, + darwin, }: rustPlatform.buildRustPackage rec { @@ -20,10 +21,12 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-vCZjgmBYO+I6MZLCOMp50bWEeHwLbZsxSz5gRmBykvI="; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; nativeBuildInputs = [ pkg-config ]; @@ -35,4 +38,3 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ evalexpr ]; }; } - diff --git a/pkgs/by-name/pr/pru/gemset.nix b/pkgs/by-name/pr/pru/gemset.nix index 76d469ef1b72a..5dcd769ea30f0 100644 --- a/pkgs/by-name/pr/pru/gemset.nix +++ b/pkgs/by-name/pr/pru/gemset.nix @@ -1,9 +1,9 @@ { pru = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1imavf7wlbdfxvkrf838pp3cyfib0r7nzv0chnhyxagy1kk969r2"; type = "gem"; }; diff --git a/pkgs/by-name/pr/pru/package.nix b/pkgs/by-name/pr/pru/package.nix index 5126c6dc0e27e..f48fc2c32069e 100644 --- a/pkgs/by-name/pr/pru/package.nix +++ b/pkgs/by-name/pr/pru/package.nix @@ -1,6 +1,7 @@ -{ lib -, bundlerApp -, bundlerUpdateScript +{ + lib, + bundlerApp, + bundlerUpdateScript, }: bundlerApp { diff --git a/pkgs/by-name/ps/ps2client/package.nix b/pkgs/by-name/ps/ps2client/package.nix index 87d4e75c33e3a..e090a3d0e8380 100644 --- a/pkgs/by-name/ps/ps2client/package.nix +++ b/pkgs/by-name/ps/ps2client/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { version = "unstable-2018-10-18"; @@ -6,13 +10,13 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "ps2dev"; - repo = "ps2client"; + repo = "ps2client"; rev = "92fcaf18aabf74daaed40bd50d428cce326a87c0"; sha256 = "1rlmns44pxm6dkh6d3cz9sw8v7pvi53r7r5r3kgwdzkhixjj0cdg"; }; patchPhase = '' - sed -i -e "s|-I/usr/include||g" -e "s|-I/usr/local/include||g" Makefile + sed -i -e "s|-I/usr/include||g" -e "s|-I/usr/local/include||g" Makefile ''; installPhase = '' diff --git a/pkgs/by-name/ps/ps2eps/package.nix b/pkgs/by-name/ps/ps2eps/package.nix index c8f558889c60e..bc325d331fc83 100644 --- a/pkgs/by-name/ps/ps2eps/package.nix +++ b/pkgs/by-name/ps/ps2eps/package.nix @@ -1,12 +1,12 @@ -{ lib -, fetchFromGitHub -, perlPackages -, substituteAll -, ghostscript -, installShellFiles +{ + lib, + fetchFromGitHub, + perlPackages, + substituteAll, + ghostscript, + installShellFiles, }: - perlPackages.buildPerlPackage rec { pname = "ps2eps"; version = "1.70"; @@ -44,7 +44,10 @@ perlPackages.buildPerlPackage rec { ''; # Override buildPerlPackage's outputs setting - outputs = ["out" "man"]; + outputs = [ + "out" + "man" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ps/ps3iso-utils/package.nix b/pkgs/by-name/ps/ps3iso-utils/package.nix index 63093b59b2cc8..ea54787523ad6 100644 --- a/pkgs/by-name/ps/ps3iso-utils/package.nix +++ b/pkgs/by-name/ps/ps3iso-utils/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchFromGitHub -, unstableGitUpdater -, lib +{ + stdenv, + fetchFromGitHub, + unstableGitUpdater, + lib, }: stdenv.mkDerivation { pname = "ps3iso-utils"; @@ -35,4 +36,3 @@ stdenv.mkDerivation { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/ps/ps3netsrv/package.nix b/pkgs/by-name/ps/ps3netsrv/package.nix index 4d9e221a30b9d..4f01cfae445c4 100644 --- a/pkgs/by-name/ps/ps3netsrv/package.nix +++ b/pkgs/by-name/ps/ps3netsrv/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, mbedtls, meson, ninja }: +{ + lib, + stdenv, + fetchzip, + mbedtls, + meson, + ninja, +}: let webManModVersion = "1.47.42"; in diff --git a/pkgs/by-name/ps/psc-package/package.nix b/pkgs/by-name/ps/psc-package/package.nix index 99947491cde03..dcdceee7cd93e 100644 --- a/pkgs/by-name/ps/psc-package/package.nix +++ b/pkgs/by-name/ps/psc-package/package.nix @@ -1,5 +1,14 @@ # Based on https://github.com/justinwoo/easy-purescript-nix/blob/master/psc-package-simple.nix -{ stdenv, lib, fetchurl, gmp, zlib, libiconv, darwin, installShellFiles }: +{ + stdenv, + lib, + fetchurl, + gmp, + zlib, + libiconv, + darwin, + installShellFiles, +}: let dynamic-linker = stdenv.cc.bintools.dynamicLinker; @@ -10,51 +19,63 @@ stdenv.mkDerivation rec { version = "0.6.2"; - src = if stdenv.hostPlatform.isDarwin - then fetchurl { - url = "https://github.com/purescript/psc-package/releases/download/v0.6.2/macos.tar.gz"; - sha256 = "17dh3bc5b6ahfyx0pi6n9qnrhsyi83qdynnca6k1kamxwjimpcq1"; - } - else fetchurl { - url = "https://github.com/purescript/psc-package/releases/download/v0.6.2/linux64.tar.gz"; - sha256 = "1zvay9q3xj6yd76w6qyb9la4jaj9zvpf4dp78xcznfqbnbhm1a54"; - }; + src = + if stdenv.hostPlatform.isDarwin then + fetchurl { + url = "https://github.com/purescript/psc-package/releases/download/v0.6.2/macos.tar.gz"; + sha256 = "17dh3bc5b6ahfyx0pi6n9qnrhsyi83qdynnca6k1kamxwjimpcq1"; + } + else + fetchurl { + url = "https://github.com/purescript/psc-package/releases/download/v0.6.2/linux64.tar.gz"; + sha256 = "1zvay9q3xj6yd76w6qyb9la4jaj9zvpf4dp78xcznfqbnbhm1a54"; + }; - buildInputs = [ gmp zlib ]; + buildInputs = [ + gmp + zlib + ]; nativeBuildInputs = [ installShellFiles ]; libPath = lib.makeLibraryPath buildInputs; dontStrip = true; - installPhase = '' - mkdir -p $out/bin - - PSC_PACKAGE=$out/bin/psc-package - - install -D -m555 -T psc-package $PSC_PACKAGE - chmod u+w $PSC_PACKAGE - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool \ - -change /usr/lib/libSystem.B.dylib ${darwin.Libsystem}/lib/libSystem.B.dylib \ - -change /usr/lib/libiconv.2.dylib ${libiconv}/libiconv.2.dylib \ - $PSC_PACKAGE - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - patchelf --interpreter ${dynamic-linker} --set-rpath ${libPath} $PSC_PACKAGE - '' + '' - chmod u-w $PSC_PACKAGE - - installShellCompletion --cmd psc-package \ - --bash <($PSC_PACKAGE --bash-completion-script $PSC_PACKAGE) \ - --fish <($PSC_PACKAGE --fish-completion-script $PSC_PACKAGE) \ - --zsh <($PSC_PACKAGE --zsh-completion-script $PSC_PACKAGE) - ''; + installPhase = + '' + mkdir -p $out/bin + + PSC_PACKAGE=$out/bin/psc-package + + install -D -m555 -T psc-package $PSC_PACKAGE + chmod u+w $PSC_PACKAGE + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool \ + -change /usr/lib/libSystem.B.dylib ${darwin.Libsystem}/lib/libSystem.B.dylib \ + -change /usr/lib/libiconv.2.dylib ${libiconv}/libiconv.2.dylib \ + $PSC_PACKAGE + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + patchelf --interpreter ${dynamic-linker} --set-rpath ${libPath} $PSC_PACKAGE + '' + + '' + chmod u-w $PSC_PACKAGE + + installShellCompletion --cmd psc-package \ + --bash <($PSC_PACKAGE --bash-completion-script $PSC_PACKAGE) \ + --fish <($PSC_PACKAGE --fish-completion-script $PSC_PACKAGE) \ + --zsh <($PSC_PACKAGE --zsh-completion-script $PSC_PACKAGE) + ''; meta = with lib; { description = "Package manager for PureScript based on package sets"; mainProgram = "psc-package"; license = licenses.bsd3; maintainers = [ ]; - platforms = [ "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/ps/pscale/package.nix b/pkgs/by-name/ps/pscale/package.nix index b7372a94ad3ff..c5ff8377d3fff 100644 --- a/pkgs/by-name/ps/pscale/package.nix +++ b/pkgs/by-name/ps/pscale/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, lib -, pscale -, testers +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + pscale, + testers, }: buildGoModule rec { @@ -20,7 +21,8 @@ buildGoModule rec { vendorHash = "sha256-0SRP995sOLM5FRRWXA/a+7D4v1c53P6VTFk4RSfmOfI="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.version=v${version}" "-X main.commit=v${version}" "-X main.date=unknown" @@ -47,6 +49,9 @@ buildGoModule rec { changelog = "https://github.com/planetscale/cli/releases/tag/v${version}"; homepage = "https://www.planetscale.com/"; license = licenses.asl20; - maintainers = with maintainers; [ pimeys kashw2 ]; + maintainers = with maintainers; [ + pimeys + kashw2 + ]; }; } diff --git a/pkgs/by-name/ps/pscircle/package.nix b/pkgs/by-name/ps/pscircle/package.nix index a1e80ffac0b77..29e7ec26bd393 100644 --- a/pkgs/by-name/ps/pscircle/package.nix +++ b/pkgs/by-name/ps/pscircle/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, meson, pkg-config, ninja, cairo }: +{ + lib, + stdenv, + fetchFromGitLab, + meson, + pkg-config, + ninja, + cairo, +}: stdenv.mkDerivation rec { pname = "pscircle"; diff --git a/pkgs/by-name/ps/psftools/package.nix b/pkgs/by-name/ps/psftools/package.nix index 8ece64950c241..23316365b9a9d 100644 --- a/pkgs/by-name/ps/psftools/package.nix +++ b/pkgs/by-name/ps/psftools/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "psftools"; version = "1.1.2"; @@ -6,7 +10,12 @@ stdenv.mkDerivation rec { url = "https://www.seasip.info/Unix/PSF/${pname}-${version}.tar.gz"; sha256 = "sha256-d/XlKPqYy9x8KNT+8G6zv9ST/uU53Tg4pYrlA17Jh94="; }; - outputs = ["out" "man" "dev" "lib"]; + outputs = [ + "out" + "man" + "dev" + "lib" + ]; meta = with lib; { homepage = "https://www.seasip.info/Unix/PSF"; diff --git a/pkgs/by-name/ps/psi-notify/package.nix b/pkgs/by-name/ps/psi-notify/package.nix index b984cc5cd5c3d..75bbee8ded2a2 100644 --- a/pkgs/by-name/ps/psi-notify/package.nix +++ b/pkgs/by-name/ps/psi-notify/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, systemd, libnotify, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + systemd, + libnotify, + pkg-config, +}: stdenv.mkDerivation rec { pname = "psi-notify"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-GhGiSI5r0Ki6+MYNa5jCDyYZEW5R9LDNZ/S8K+6L0jo="; }; - buildInputs = [ systemd libnotify ]; + buildInputs = [ + systemd + libnotify + ]; nativeBuildInputs = [ pkg-config ]; installPhase = '' diff --git a/pkgs/by-name/ps/psitop/package.nix b/pkgs/by-name/ps/psitop/package.nix index 74edad8b18c0d..573c6e970c9fa 100644 --- a/pkgs/by-name/ps/psitop/package.nix +++ b/pkgs/by-name/ps/psitop/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-oLtKpBvTsM5TbzfWIDfqgb7DL5D3Mldu0oimVeiUeSc="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Top for /proc/pressure"; diff --git a/pkgs/by-name/ps/psitransfer/package.nix b/pkgs/by-name/ps/psitransfer/package.nix index 621ad70184a6c..63f57bd75ac86 100644 --- a/pkgs/by-name/ps/psitransfer/package.nix +++ b/pkgs/by-name/ps/psitransfer/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, pkg-config -, vips +{ + lib, + buildNpmPackage, + fetchFromGitHub, + pkg-config, + vips, }: let @@ -30,14 +31,15 @@ let cp -r ../public/app $out ''; }; -in buildNpmPackage { +in +buildNpmPackage { inherit pname version src; npmDepsHash = "sha256-EW/Fej58LE/nbJomPtWvEjDveAUdo0jIWwC+ziN0gy0="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ - vips # for 'sharp' dependency + vips # for 'sharp' dependency ]; postPatch = '' diff --git a/pkgs/by-name/ps/pslib/package.nix b/pkgs/by-name/ps/pslib/package.nix index 13a2b17a3e01d..e11d87fc2db3e 100644 --- a/pkgs/by-name/ps/pslib/package.nix +++ b/pkgs/by-name/ps/pslib/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, zlib, libpng, libjpeg, giflib, libtiff +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + zlib, + libpng, + libjpeg, + giflib, + libtiff, }: stdenv.mkDerivation rec { @@ -11,8 +21,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-gaWNvBLuUUy0o+HWCOyG6KmzxDrYCY6PV3WbA/jjH64="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ zlib libpng libjpeg giflib libtiff ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + zlib + libpng + libjpeg + giflib + libtiff + ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; @@ -20,7 +39,11 @@ stdenv.mkDerivation rec { doCheck = true; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; installPhase = '' mkdir -p $out/lib @@ -39,8 +62,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C-library for generating multi page PostScript documents"; homepage = "https://pslib.sourceforge.net/"; - changelog = - "https://sourceforge.net/p/pslib/git/ci/master/tree/pslib/ChangeLog"; + changelog = "https://sourceforge.net/p/pslib/git/ci/master/tree/pslib/ChangeLog"; license = licenses.gpl2; maintainers = with maintainers; [ ShamrockLee ]; platforms = platforms.unix; diff --git a/pkgs/by-name/ps/psmisc/package.nix b/pkgs/by-name/ps/psmisc/package.nix index 2e8003ab891ab..d96dfa9456b7e 100644 --- a/pkgs/by-name/ps/psmisc/package.nix +++ b/pkgs/by-name/ps/psmisc/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoconf -, automake -, gettext -, ncurses +{ + lib, + stdenv, + fetchFromGitLab, + autoconf, + automake, + gettext, + ncurses, }: stdenv.mkDerivation rec { @@ -18,17 +19,23 @@ stdenv.mkDerivation rec { hash = "sha256-49YpdIh0DxLHfxos4sw1HUkV0XQBqmm4M9b0T4eN2xI="; }; - nativeBuildInputs = [ autoconf automake gettext ]; + nativeBuildInputs = [ + autoconf + automake + gettext + ]; buildInputs = [ ncurses ]; - preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - # Goes past the rpl_malloc linking failure - export ac_cv_func_malloc_0_nonnull=yes - export ac_cv_func_realloc_0_nonnull=yes - '' + '' - echo $version > .tarball-version - ./autogen.sh - ''; + preConfigure = + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + # Goes past the rpl_malloc linking failure + export ac_cv_func_malloc_0_nonnull=yes + export ac_cv_func_realloc_0_nonnull=yes + '' + + '' + echo $version > .tarball-version + ./autogen.sh + ''; meta = with lib; { homepage = "https://gitlab.com/psmisc/psmisc"; diff --git a/pkgs/by-name/ps/psol/package.nix b/pkgs/by-name/ps/psol/package.nix index b6b9d0bac5134..9b6a6d05ed066 100644 --- a/pkgs/by-name/ps/psol/package.nix +++ b/pkgs/by-name/ps/psol/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "psol"; diff --git a/pkgs/by-name/ps/pspg/package.nix b/pkgs/by-name/ps/pspg/package.nix index 4424b8cc47d9b..7646dac9aef57 100644 --- a/pkgs/by-name/ps/pspg/package.nix +++ b/pkgs/by-name/ps/pspg/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, gnugrep, ncurses, pkg-config, installShellFiles, readline, postgresql }: +{ + lib, + stdenv, + fetchFromGitHub, + gnugrep, + ncurses, + pkg-config, + installShellFiles, + readline, + postgresql, +}: stdenv.mkDerivation rec { pname = "pspg"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-SE+62EODKWcKFpMMbWDw+Dp5b2D/XKbMFiJiD/ObrhU="; }; - nativeBuildInputs = [ pkg-config installShellFiles ]; - buildInputs = [ gnugrep ncurses readline postgresql ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = [ + gnugrep + ncurses + readline + postgresql + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/by-name/ps/pspp/package.nix b/pkgs/by-name/ps/pspp/package.nix index 100cb5b9bc056..738178abc80c5 100644 --- a/pkgs/by-name/ps/pspp/package.nix +++ b/pkgs/by-name/ps/pspp/package.nix @@ -1,7 +1,26 @@ -{ lib, stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl -, pkg-config, gtksourceview4, pango, gettext, dconf -, makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme -, texinfo, ssw, python3, iconv +{ + lib, + stdenv, + fetchurl, + libxml2, + readline, + zlib, + perl, + cairo, + gtk3, + gsl, + pkg-config, + gtksourceview4, + pango, + gettext, + dconf, + makeWrapper, + gsettings-desktop-schemas, + hicolor-icon-theme, + texinfo, + ssw, + python3, + iconv, }: stdenv.mkDerivation rec { @@ -13,15 +32,31 @@ stdenv.mkDerivation rec { sha256 = "sha256-jtuw8J6M+AEMrZ4FWeAjDX/FquRyHHVsNQVU3zMCTAA="; }; - nativeBuildInputs = [ pkg-config texinfo python3 makeWrapper ]; - buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl - gtksourceview4 pango gettext - gsettings-desktop-schemas hicolor-icon-theme ssw iconv - ]; + nativeBuildInputs = [ + pkg-config + texinfo + python3 + makeWrapper + ]; + buildInputs = [ + libxml2 + readline + zlib + perl + cairo + gtk3 + gsl + gtksourceview4 + pango + gettext + gsettings-desktop-schemas + hicolor-icon-theme + ssw + iconv + ]; C_INCLUDE_PATH = - "${libxml2.dev}/include/libxml2/:" + - lib.makeSearchPathOutput "dev" "include" buildInputs; + "${libxml2.dev}/include/libxml2/:" + lib.makeSearchPathOutput "dev" "include" buildInputs; LIBRARY_PATH = lib.makeLibraryPath buildInputs; doCheck = false; diff --git a/pkgs/by-name/ps/psql2csv/package.nix b/pkgs/by-name/ps/psql2csv/package.nix index 729582f2e404a..1e010d10077ce 100644 --- a/pkgs/by-name/ps/psql2csv/package.nix +++ b/pkgs/by-name/ps/psql2csv/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, coreutils -, gnused -, postgresql -, makeWrapper +{ + lib, + stdenvNoCC, + fetchFromGitHub, + coreutils, + gnused, + postgresql, + makeWrapper, }: stdenvNoCC.mkDerivation rec { @@ -28,7 +29,13 @@ stdenvNoCC.mkDerivation rec { install -Dm755 -t $out/bin psql2csv wrapProgram $out/bin/psql2csv \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnused postgresql ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnused + postgresql + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ps/psqlodbc/package.nix b/pkgs/by-name/ps/psqlodbc/package.nix index 1b162d2393ff0..3b3de027f1f9d 100644 --- a/pkgs/by-name/ps/psqlodbc/package.nix +++ b/pkgs/by-name/ps/psqlodbc/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl, postgresql, openssl -, withLibiodbc ? false, libiodbc -, withUnixODBC ? true, unixODBC +{ + lib, + stdenv, + fetchurl, + postgresql, + openssl, + withLibiodbc ? false, + libiodbc, + withUnixODBC ? true, + unixODBC, }: assert lib.xor withLibiodbc withUnixODBC; @@ -14,12 +21,13 @@ stdenv.mkDerivation rec { hash = "sha256-r9iS+J0uzujT87IxTxvVvy0CIBhyxuNDHlwxCW7KTIs="; }; - buildInputs = [ - postgresql - openssl - ] - ++ lib.optional withLibiodbc libiodbc - ++ lib.optional withUnixODBC unixODBC; + buildInputs = + [ + postgresql + openssl + ] + ++ lib.optional withLibiodbc libiodbc + ++ lib.optional withUnixODBC unixODBC; passthru = lib.optionalAttrs withUnixODBC { fancyName = "PostgreSQL"; @@ -28,8 +36,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-libpq=${lib.getDev postgresql}/bin/pg_config" - ] - ++ lib.optional withLibiodbc "--with-iodbc=${libiodbc}"; + ] ++ lib.optional withLibiodbc "--with-iodbc=${libiodbc}"; meta = with lib; { homepage = "https://odbc.postgresql.org/"; diff --git a/pkgs/by-name/ps/pssh/package.nix b/pkgs/by-name/ps/pssh/package.nix index 69236a690968f..7b01d058ed169 100644 --- a/pkgs/by-name/ps/pssh/package.nix +++ b/pkgs/by-name/ps/pssh/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, python3Packages, openssh, rsync }: +{ + lib, + fetchFromGitHub, + python3Packages, + openssh, + rsync, +}: python3Packages.buildPythonApplication rec { pname = "pssh"; diff --git a/pkgs/by-name/ps/psstop/package.nix b/pkgs/by-name/ps/psstop/package.nix index 1adb6c4e5ed5d..67968128d828c 100644 --- a/pkgs/by-name/ps/psstop/package.nix +++ b/pkgs/by-name/ps/psstop/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + glib, +}: stdenv.mkDerivation rec { pname = "psstop"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "03ir3jjpzm7q8n1qc5jr99hqarr9r529w1zb6f7q4wak2vfj7w9h"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ glib ]; diff --git a/pkgs/by-name/ps/pstoedit/package.nix b/pkgs/by-name/ps/pstoedit/package.nix index 69b69d1c4c8bd..b72b2650e9b68 100644 --- a/pkgs/by-name/ps/pstoedit/package.nix +++ b/pkgs/by-name/ps/pstoedit/package.nix @@ -1,6 +1,18 @@ -{ stdenv, fetchurl, pkg-config, darwin, lib -, zlib, ghostscript, imagemagick, plotutils, gd -, libjpeg, libwebp, libiconv, makeWrapper +{ + stdenv, + fetchurl, + pkg-config, + darwin, + lib, + zlib, + ghostscript, + imagemagick, + plotutils, + gd, + libjpeg, + libwebp, + libiconv, + makeWrapper, }: stdenv.mkDerivation rec { @@ -12,12 +24,31 @@ stdenv.mkDerivation rec { hash = "sha256-RZdlq3NssQ+VVKesAsXqfzVcbC6fz9IXYRx9UQKxB2s="; }; - outputs = [ "out" "dev" ]; - nativeBuildInputs = [ makeWrapper pkg-config ]; - buildInputs = [ zlib ghostscript imagemagick plotutils gd libjpeg libwebp ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - libiconv ApplicationServices - ]); + outputs = [ + "out" + "dev" + ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + buildInputs = + [ + zlib + ghostscript + imagemagick + plotutils + gd + libjpeg + libwebp + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + libiconv + ApplicationServices + ] + ); # '@LIBPNG_LDFLAGS@' is no longer substituted by autoconf (the code is commented out) # so we need to remove it from the pkg-config file as well diff --git a/pkgs/by-name/ps/pstreams/package.nix b/pkgs/by-name/ps/pstreams/package.nix index 2baa3b3550239..eace6957c0880 100644 --- a/pkgs/by-name/ps/pstreams/package.nix +++ b/pkgs/by-name/ps/pstreams/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchgit +{ + lib, + stdenv, + fetchgit, }: stdenv.mkDerivation rec { @@ -8,8 +10,11 @@ stdenv.mkDerivation rec { src = fetchgit { url = "https://git.code.sf.net/p/pstreams/code"; - rev = let dot2Underscore = lib.strings.stringAsChars (c: if c == "." then "_" else c); - in "RELEASE_${dot2Underscore version}"; + rev = + let + dot2Underscore = lib.strings.stringAsChars (c: if c == "." then "_" else c); + in + "RELEASE_${dot2Underscore version}"; sha256 = "0r8aj0nh5mkf8cvnzl8bdy4nm7i74vs83axxfimcd74kjfn0irys"; }; @@ -18,8 +23,8 @@ stdenv.mkDerivation rec { doCheck = true; preInstall = "rm INSTALL"; - # `make install` fails on case-insensitive file systems (e.g. APFS by - # default) because this target exists + # `make install` fails on case-insensitive file systems (e.g. APFS by + # default) because this target exists meta = with lib; { description = "POSIX Process Control in C++"; diff --git a/pkgs/by-name/ps/pstree/package.nix b/pkgs/by-name/ps/pstree/package.nix index 7b979d486faa4..ded439f93cc10 100644 --- a/pkgs/by-name/ps/pstree/package.nix +++ b/pkgs/by-name/ps/pstree/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "pstree"; diff --git a/pkgs/by-name/ps/psutils/package.nix b/pkgs/by-name/ps/psutils/package.nix index 93c7b9f2a23a4..0bf3cfe7d3798 100644 --- a/pkgs/by-name/ps/psutils/package.nix +++ b/pkgs/by-name/ps/psutils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "psutils"; diff --git a/pkgs/by-name/ps/psw/package.nix b/pkgs/by-name/ps/psw/package.nix index bcf67bfa5f111..4a6d36aae7ce8 100644 --- a/pkgs/by-name/ps/psw/package.nix +++ b/pkgs/by-name/ps/psw/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Command line tool to write random bytes to stdout"; homepage = "https://github.com/Wulfsta/psw"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ wulfsta ]; }; } diff --git a/pkgs/by-name/pt/pt/gemset.nix b/pkgs/by-name/pt/pt/gemset.nix index 9cd83a90721d9..b1aea68c7b57c 100644 --- a/pkgs/by-name/pt/pt/gemset.nix +++ b/pkgs/by-name/pt/pt/gemset.nix @@ -1,270 +1,302 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; type = "gem"; }; version = "2.6.0"; }; axiom-types = { - dependencies = ["descendants_tracker" "ice_nine" "thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "descendants_tracker" + "ice_nine" + "thread_safe" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1"; type = "gem"; }; version = "0.1.1"; }; coercible = { - dependencies = ["descendants_tracker"]; - groups = ["default"]; - platforms = []; + dependencies = [ "descendants_tracker" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah"; type = "gem"; }; version = "1.0.0"; }; colored = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; type = "gem"; }; version = "1.2"; }; declarative = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j"; type = "gem"; }; version = "0.0.10"; }; declarative-option = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p"; type = "gem"; }; version = "0.1.0"; }; descendants_tracker = { - dependencies = ["thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79"; type = "gem"; }; version = "0.0.4"; }; equalizer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; type = "gem"; }; version = "0.0.11"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vcplvlykirg2vc56jjxavgpkllzq26xgp7ind7wc5ikaqaz64gn"; type = "gem"; }; version = "0.64.0"; }; faraday = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6"; type = "gem"; }; version = "0.9.2"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a93rs58bakqck7bcihasz66a1riy22h2zpwrpmb13gp8mw3wkmr"; type = "gem"; }; version = "0.13.1"; }; highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g0zpalfj8wvca86hcnirir5py2zyqrhkgdgv9f87fxkjaw815wr"; type = "gem"; }; version = "2.0.2"; }; hirb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mzch3c2lvmf8gskgzlx6j53d10j42ir6ik2dkrl27sblhy76cji"; type = "gem"; }; version = "0.7.3"; }; hirb-unicode = { - dependencies = ["hirb" "unicode-display_width"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "hirb" + "unicode-display_width" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b7hka1p4mkjdy2wr2cxsivnsmnz31zz1bswznmmxnvf5a6c00jk"; type = "gem"; }; version = "0.0.5"; }; ice_nine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; }; version = "0.11.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; type = "gem"; }; version = "1.13.1"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; type = "gem"; }; version = "2.0.0"; }; pt = { - dependencies = ["colored" "highline" "hirb" "hirb-unicode" "thor" "tracker_api"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colored" + "highline" + "hirb" + "hirb-unicode" + "thor" + "tracker_api" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ypyya7bk0w7zd9c3224zsizhv5wbs1icjpn0023wh3ii1by16a8"; type = "gem"; }; version = "0.10.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; version = "3.0.3"; }; representable = { - dependencies = ["declarative" "declarative-option" "uber"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "declarative" + "declarative-option" + "uber" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07"; type = "gem"; }; version = "3.0.4"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; type = "gem"; }; version = "0.20.3"; }; thread_safe = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; tracker_api = { - dependencies = ["addressable" "equalizer" "excon" "faraday" "faraday_middleware" "multi_json" "representable" "virtus"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "addressable" + "equalizer" + "excon" + "faraday" + "faraday_middleware" + "multi_json" + "representable" + "virtus" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pxwzbjzxign81wynl44napkvkrrhlyl7rm4ywrcdqahmzxmavsp"; type = "gem"; }; version = "1.6.0"; }; uber = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; type = "gem"; }; version = "0.1.0"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06dpm3yqc974qfy6nyx7b0w0f6b8k08jadd5l9xnmla3fji6c405"; type = "gem"; }; version = "0.1.1"; }; virtus = { - dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "axiom-types" + "coercible" + "descendants_tracker" + "equalizer" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk"; type = "gem"; }; diff --git a/pkgs/by-name/pt/pt/package.nix b/pkgs/by-name/pt/pt/package.nix index 2cbcbdd7faa06..f549ab2e23a5b 100644 --- a/pkgs/by-name/pt/pt/package.nix +++ b/pkgs/by-name/pt/pt/package.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "pt"; @@ -9,10 +13,14 @@ bundlerApp { meta = with lib; { description = "Minimalist command-line Pivotal Tracker client"; - homepage = "http://www.github.com/raul/pt"; - license = licenses.mit; - maintainers = with maintainers; [ ebzzry manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "http://www.github.com/raul/pt"; + license = licenses.mit; + maintainers = with maintainers; [ + ebzzry + manveru + nicknovitski + ]; + platforms = platforms.unix; mainProgram = "pt"; }; } diff --git a/pkgs/by-name/pt/pt2-clone/package.nix b/pkgs/by-name/pt/pt2-clone/package.nix index c04c515543282..e87977736bd63 100644 --- a/pkgs/by-name/pt/pt2-clone/package.nix +++ b/pkgs/by-name/pt/pt2-clone/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, nixosTests -, alsa-lib -, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nixosTests, + alsa-lib, + SDL2, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pt/ptags/package.nix b/pkgs/by-name/pt/ptags/package.nix index b855a648a5378..be54ec6bda0c3 100644 --- a/pkgs/by-name/pt/ptags/package.nix +++ b/pkgs/by-name/pt/ptags/package.nix @@ -1,8 +1,9 @@ -{ fetchFromGitHub -, ctags -, lib -, makeWrapper -, rustPlatform +{ + fetchFromGitHub, + ctags, + lib, + makeWrapper, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pt/ptask/package.nix b/pkgs/by-name/pt/ptask/package.nix index fc2432fcabdf4..88fff269fc71d 100644 --- a/pkgs/by-name/pt/ptask/package.nix +++ b/pkgs/by-name/pt/ptask/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, makeWrapper, gtk3, json_c, taskwarrior2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + makeWrapper, + gtk3, + json_c, + taskwarrior2, +}: stdenv.mkDerivation rec { pname = "ptask"; @@ -9,11 +18,20 @@ stdenv.mkDerivation rec { sha256 = "13nirr7b29bv3w2zc8zxphhmc9ayhs61i11jl4819nabk7vy1kdq"; }; - buildInputs = [ gtk3 json_c ]; + buildInputs = [ + gtk3 + json_c + ]; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; - patches = [ ./tw-version.patch ./json_c_is_error.patch ]; + patches = [ + ./tw-version.patch + ./json_c_is_error.patch + ]; preFixup = '' wrapProgram "$out/bin/ptask" \ diff --git a/pkgs/by-name/pt/ptcollab/package.nix b/pkgs/by-name/pt/ptcollab/package.nix index d2db8def2ab8a..67eeddb616815 100644 --- a/pkgs/by-name/pt/ptcollab/package.nix +++ b/pkgs/by-name/pt/ptcollab/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script -, libsForQt5 -, libvorbis -, pkg-config -, rtmidi +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + libsForQt5, + libvorbis, + pkg-config, + rtmidi, }: stdenv.mkDerivation (finalAttrs: { @@ -19,21 +20,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9u2K79QJRfYKL66e1lsRrQMEqmKTWbK+ucal3/u4rP4="; }; - nativeBuildInputs = [ - pkg-config - ] ++ (with libsForQt5; [ - qmake - qttools - wrapQtAppsHook - ]); - - buildInputs = [ - libvorbis - rtmidi - ] ++ (with libsForQt5; [ - qtbase - qtmultimedia - ]); + nativeBuildInputs = + [ + pkg-config + ] + ++ (with libsForQt5; [ + qmake + qttools + wrapQtAppsHook + ]); + + buildInputs = + [ + libvorbis + rtmidi + ] + ++ (with libsForQt5; [ + qtbase + qtmultimedia + ]); postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' # Move appbundles to Applications before wrapping happens diff --git a/pkgs/by-name/pt/pterm/package.nix b/pkgs/by-name/pt/pterm/package.nix index 463a05ac06978..c6d0d35ae75f6 100644 --- a/pkgs/by-name/pt/pterm/package.nix +++ b/pkgs/by-name/pt/pterm/package.nix @@ -1,16 +1,21 @@ -{ lib -, stdenv -, fetchurl -, libsndfile -, wxGTK32 -, SDL +{ + lib, + stdenv, + fetchurl, + libsndfile, + wxGTK32, + SDL, }: stdenv.mkDerivation rec { pname = "pterm"; version = "6.0.4"; - buildInputs = [ libsndfile SDL wxGTK32 ]; + buildInputs = [ + libsndfile + SDL + wxGTK32 + ]; src = fetchurl { url = "https://www.cyber1.org/download/linux/pterm-${version}.tar.bz2"; diff --git a/pkgs/by-name/pt/ptex/package.nix b/pkgs/by-name/pt/ptex/package.nix index 930217dab39c7..4887e0ab4f67c 100644 --- a/pkgs/by-name/pt/ptex/package.nix +++ b/pkgs/by-name/pt/ptex/package.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, zlib, cmake }: - -stdenv.mkDerivation rec { + lib, + stdenv, + fetchFromGitHub, + zlib, + cmake, +}: + +stdenv.mkDerivation rec { pname = "ptex"; version = "2.4.2"; @@ -12,7 +17,12 @@ stdenv.mkDerivation rec sha256 = "sha256-PR1ld9rXmL6BK4llznAsD5PNvi3anFMz2i9NDsG95DQ="; }; - outputs = [ "bin" "dev" "out" "lib" ]; + outputs = [ + "bin" + "dev" + "out" + "lib" + ]; nativeBuildInputs = [ cmake ]; buildInputs = [ zlib ]; diff --git a/pkgs/by-name/pt/ptouch-driver/package.nix b/pkgs/by-name/pt/ptouch-driver/package.nix index 851fb0862aa39..95c04d04d4626 100644 --- a/pkgs/by-name/pt/ptouch-driver/package.nix +++ b/pkgs/by-name/pt/ptouch-driver/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cups -, cups-filters -, foomatic-db-engine -, fetchpatch -, ghostscript -, libpng -, libxml2 -, autoreconfHook -, perl -, patchPpdFilesHook +{ + lib, + stdenv, + fetchFromGitHub, + cups, + cups-filters, + foomatic-db-engine, + fetchpatch, + ghostscript, + libpng, + libxml2, + autoreconfHook, + perl, + patchPpdFilesHook, }: stdenv.mkDerivation rec { @@ -33,7 +34,13 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ cups cups-filters ghostscript libpng libxml2 ]; + buildInputs = [ + cups + cups-filters + ghostscript + libpng + libxml2 + ]; nativeBuildInputs = [ autoreconfHook foomatic-db-engine diff --git a/pkgs/by-name/pt/ptouch-print/package.nix b/pkgs/by-name/pt/ptouch-print/package.nix index e8c51514e0a99..2a4088e25a1c8 100644 --- a/pkgs/by-name/pt/ptouch-print/package.nix +++ b/pkgs/by-name/pt/ptouch-print/package.nix @@ -1,15 +1,16 @@ -{ cmake -, fetchgit -, gd -, gettext -, git -, lib -, libjpeg -, libpng -, libusb1 -, pkg-config -, stdenv -, zlib +{ + cmake, + fetchgit, + gd, + gettext, + git, + lib, + libjpeg, + libpng, + libusb1, + pkg-config, + stdenv, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pt/ptunnel/package.nix b/pkgs/by-name/pt/ptunnel/package.nix index 1730a0615d769..1a3e180b876b4 100644 --- a/pkgs/by-name/pt/ptunnel/package.nix +++ b/pkgs/by-name/pt/ptunnel/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, libpcap +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libpcap, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pu/public-sans/package.nix b/pkgs/by-name/pu/public-sans/package.nix index 7a8538c027d2b..30b40c3f068fe 100644 --- a/pkgs/by-name/pu/public-sans/package.nix +++ b/pkgs/by-name/pu/public-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "public-sans"; diff --git a/pkgs/by-name/pu/publicsuffix-list/package.nix b/pkgs/by-name/pu/publicsuffix-list/package.nix index ef24d57651333..284cc64a1d561 100644 --- a/pkgs/by-name/pu/publicsuffix-list/package.nix +++ b/pkgs/by-name/pu/publicsuffix-list/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, unstableGitUpdater }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + unstableGitUpdater, +}: stdenvNoCC.mkDerivation { pname = "publicsuffix-list"; diff --git a/pkgs/by-name/pu/publii/package.nix b/pkgs/by-name/pu/publii/package.nix index ff0a7228fa21d..c3dd794635cba 100644 --- a/pkgs/by-name/pu/publii/package.nix +++ b/pkgs/by-name/pu/publii/package.nix @@ -1,28 +1,29 @@ -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, makeShellWrapper -, wrapGAppsHook3 -, alsa-lib -, at-spi2-atk -, at-spi2-core -, atk -, cairo -, cups -, dbus -, expat -, glib -, glibc -, gtk3 -, libsecret -, mesa -, musl -, nss -, pango -, udev -, xdg-utils -, xorg +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + makeShellWrapper, + wrapGAppsHook3, + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + cairo, + cups, + dbus, + expat, + glib, + glibc, + gtk3, + libsecret, + mesa, + musl, + nss, + pango, + udev, + xdg-utils, + xorg, }: stdenv.mkDerivation rec { @@ -101,7 +102,10 @@ stdenv.mkDerivation rec { homepage = "https://getpublii.com"; changelog = "https://github.com/getpublii/publii/releases/tag/v${version}"; license = licenses.gpl3Only; - maintainers = with lib.maintainers; [ urandom sebtm ]; + maintainers = with lib.maintainers; [ + urandom + sebtm + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/pu/pubs/package.nix b/pkgs/by-name/pu/pubs/package.nix index 1dcd011f0aced..fbdb529616f92 100644 --- a/pkgs/by-name/pu/pubs/package.nix +++ b/pkgs/by-name/pu/pubs/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -76,6 +77,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/pubs/pubs"; changelog = "https://github.com/pubs/pubs/blob/v${version}/changelog.md"; license = licenses.lgpl3Only; - maintainers = with maintainers; [ gebner dotlambda ]; + maintainers = with maintainers; [ + gebner + dotlambda + ]; }; } diff --git a/pkgs/by-name/pu/pufferpanel/package.nix b/pkgs/by-name/pu/pufferpanel/package.nix index e70106200b130..590e622c3cc43 100644 --- a/pkgs/by-name/pu/pufferpanel/package.nix +++ b/pkgs/by-name/pu/pufferpanel/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, buildNpmPackage -, makeWrapper -, go-swag -, nixosTests -, testers -, pufferpanel +{ + lib, + fetchFromGitHub, + buildGoModule, + buildNpmPackage, + makeWrapper, + go-swag, + nixosTests, + testers, + pufferpanel, }: buildGoModule rec { @@ -52,11 +53,17 @@ buildGoModule rec { npmDepsHash = "sha256-oWFXtV/dxzHv3sfIi01l1lHE5tcJgpVq87XgS6Iy62g="; NODE_OPTIONS = "--openssl-legacy-provider"; - npmBuildFlags = [ "--" "--dest=${placeholder "out"}" ]; + npmBuildFlags = [ + "--" + "--dest=${placeholder "out"}" + ]; dontNpmInstall = true; }; - nativeBuildInputs = [ makeWrapper go-swag ]; + nativeBuildInputs = [ + makeWrapper + go-swag + ]; vendorHash = "sha256-1U7l7YW1fu5M0/pPHTLamLsTQdEltesRODUn21SuP8w="; proxyVendor = true; diff --git a/pkgs/by-name/pu/pugixml/package.nix b/pkgs/by-name/pu/pugixml/package.nix index fc0eb1dfa2912..6aa070fd41a3c 100644 --- a/pkgs/by-name/pu/pugixml/package.nix +++ b/pkgs/by-name/pu/pugixml/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, cmake, check, validatePkgConfig, shared ? false }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + check, + validatePkgConfig, + shared ? false, +}: stdenv.mkDerivation rec { pname = "pugixml"; @@ -13,7 +21,10 @@ stdenv.mkDerivation rec { outputs = [ "out" ] ++ lib.optionals shared [ "dev" ]; - nativeBuildInputs = [ cmake validatePkgConfig ]; + nativeBuildInputs = [ + cmake + validatePkgConfig + ]; cmakeFlags = [ "-DBUILD_TESTS=ON" diff --git a/pkgs/by-name/pu/pulldown-cmark/package.nix b/pkgs/by-name/pu/pulldown-cmark/package.nix index e919aea61f50c..f6cf4bc23c149 100644 --- a/pkgs/by-name/pu/pulldown-cmark/package.nix +++ b/pkgs/by-name/pu/pulldown-cmark/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pu/pulsar/package.nix b/pkgs/by-name/pu/pulsar/package.nix index cc2112a9a8cca..d1f3c5e4e0e60 100644 --- a/pkgs/by-name/pu/pulsar/package.nix +++ b/pkgs/by-name/pu/pulsar/package.nix @@ -1,48 +1,51 @@ -{ lib -, stdenv -, git -, git-lfs -, fetchurl -, wrapGAppsHook3 -, alsa-lib -, at-spi2-atk -, cairo -, coreutils -, cups -, dbus -, expat -, gdk-pixbuf -, glib -, gtk3 -, mesa -, nss -, nspr -, xorg -, libdrm -, libsecret -, libxkbcommon -, pango -, systemd -, hunspellDicts -, useHunspell ? true -, languages ? [ "en_US" ] -, withNemoAction ? true -, makeDesktopItem -, copyDesktopItems -, asar -, python3 +{ + lib, + stdenv, + git, + git-lfs, + fetchurl, + wrapGAppsHook3, + alsa-lib, + at-spi2-atk, + cairo, + coreutils, + cups, + dbus, + expat, + gdk-pixbuf, + glib, + gtk3, + mesa, + nss, + nspr, + xorg, + libdrm, + libsecret, + libxkbcommon, + pango, + systemd, + hunspellDicts, + useHunspell ? true, + languages ? [ "en_US" ], + withNemoAction ? true, + makeDesktopItem, + copyDesktopItems, + asar, + python3, }: let pname = "pulsar"; version = "1.123.0"; - sourcesPath = { - x86_64-linux.tarname = "Linux.${pname}-${version}.tar.gz"; - x86_64-linux.hash = "sha256-PVNk4auxJB+mLFqYH7uJiK7L/SVqn5Z3BE8wmknBNjs="; - aarch64-linux.tarname = "ARM.Linux.${pname}-${version}-arm64.tar.gz"; - aarch64-linux.hash = "sha256-Y4qaaWvVsd4HDQx50ntq5W40MVy8oWAePOVsPSFE8q0="; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + sourcesPath = + { + x86_64-linux.tarname = "Linux.${pname}-${version}.tar.gz"; + x86_64-linux.hash = "sha256-PVNk4auxJB+mLFqYH7uJiK7L/SVqn5Z3BE8wmknBNjs="; + aarch64-linux.tarname = "ARM.Linux.${pname}-${version}-arm64.tar.gz"; + aarch64-linux.hash = "sha256-Y4qaaWvVsd4HDQx50ntq5W40MVy8oWAePOVsPSFE8q0="; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); newLibpath = lib.makeLibraryPath [ alsa-lib @@ -77,15 +80,19 @@ let # Hunspell hunspellDirs = builtins.map (lang: "${hunspellDicts.${lang}}/share/hunspell") languages; hunspellTargetDirs = "$out/opt/Pulsar/resources/app.asar.unpacked/node_modules/spellchecker/vendor/hunspell_dictionaries"; - hunspellCopyCommands = lib.concatMapStringsSep "\n" (lang: "cp -r ${lang}/* ${hunspellTargetDirs};") hunspellDirs; + hunspellCopyCommands = lib.concatMapStringsSep "\n" ( + lang: "cp -r ${lang}/* ${hunspellTargetDirs};" + ) hunspellDirs; in stdenv.mkDerivation { inherit pname version; - src = with sourcesPath; fetchurl { - url = "https://github.com/pulsar-edit/pulsar/releases/download/v${version}/${tarname}"; - inherit hash; - }; + src = + with sourcesPath; + fetchurl { + url = "https://github.com/pulsar-edit/pulsar/releases/download/v${version}/${tarname}"; + inherit hash; + }; nativeBuildInputs = [ wrapGAppsHook3 @@ -110,97 +117,103 @@ stdenv.mkDerivation { runHook postInstall ''; - preFixup = '' - gappsWrapperArgs+=( - # needed for gio executable to be able to delete files - --prefix "PATH" : "${lib.makeBinPath [ glib ]}" - ) - '' + lib.optionalString useHunspell '' - # On all platforms, we must inject our dictionnaries - ${hunspellCopyCommands} - ''; + preFixup = + '' + gappsWrapperArgs+=( + # needed for gio executable to be able to delete files + --prefix "PATH" : "${lib.makeBinPath [ glib ]}" + ) + '' + + lib.optionalString useHunspell '' + # On all platforms, we must inject our dictionnaries + ${hunspellCopyCommands} + ''; - postFixup = '' - opt=$out/opt/Pulsar - # Patch the prebuilt binaries - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${newLibpath}:$opt" \ - --add-needed libffmpeg.so \ - --add-needed libxshmfence.so.1 \ - --add-needed libxkbcommon.so.0 \ - --add-needed libxkbfile.so.1 \ - --add-needed libsecret-1.so.0 \ - $opt/pulsar - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${newLibpath}" \ - $opt/resources/app/ppm/bin/node - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $opt/resources/app.asar.unpacked/node_modules/symbol-provider-ctags/vendor/ctags-linux - - # Replace the bundled git with the one from nixpkgs - dugite=$opt/resources/app.asar.unpacked/node_modules/dugite - rm -f $dugite/git/bin/git - ln -s ${git}/bin/git $dugite/git/bin/git - - # Not only do we need to replace the git binary itself, we also need to replace - # all the symlinks in dugite/git/libexec/git-core. - for file in "$dugite/git/libexec/git-core"/*; do - if [ -x "$file" ] && file "$file" | grep -q "ELF"; then - # Remove ELF executable - rm "$file" - - # Get the corresponding filename in nixpkgs's git - filename=$(basename "$file") - git_executable="${git}/libexec/git-core/$filename" - - # Create symlink to $git_executable - ln -s "$git_executable" "$file" - - echo "Replaced $file with symlink to $git_executable" - fi - done - - # Was symlinked in previous loop, but actually, nixpkgs has a separate package for git-lfs - # Unlink to avoid a "File exists" error and relink correctly - unlink $dugite/git/libexec/git-core/git-lfs - ln -s ${git-lfs}/bin/git-lfs $dugite/git/libexec/git-core/git-lfs - '' + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' - # We have to patch a prebuilt binary in the asar archive - # But asar complains because the node_gyp unpacked dependency uses a prebuilt Python3 itself - - rm $opt/resources/app.asar.unpacked/node_modules/tree-sitter-bash/build/node_gyp_bins/python3 - ln -s ${python3.interpreter} $opt/resources/app.asar.unpacked/node_modules/tree-sitter-bash/build/node_gyp_bins/python3 - '' + '' - # Patch the bundled node executables - find $opt -name "*.node" -exec patchelf --set-rpath "${newLibpath}:$opt" {} \; - # Also patch the node executable for apm - patchelf --set-rpath "${newLibpath}:$opt" $opt/resources/app/ppm/bin/node - - # The pre-packaged ASAR bundle comes with prebuild binaries, expecting libstdc++.so.6 - asarBundle=$TMPDIR/asarbundle - asar e $opt/resources/app.asar $asarBundle - find $asarBundle -name "*.node" -exec patchelf --set-rpath "${newLibpath}:$opt" --add-needed libstdc++.so.6 {} \; - unlink $asarBundle/node_modules/document-register-element/dre # Self referencing symlink, breaking asar rebundling - asar p $asarBundle $opt/resources/app.asar - rm -rf $asarBundle - - # Pulsar uses `PULSAR_PATH` to know where it is intalled - mkdir -p $out/bin - wrapProgram $opt/resources/pulsar.sh \ - --suffix "PATH" : "${lib.makeBinPath [ coreutils ]}" \ - --set "PULSAR_PATH" "$opt" - ln -s $opt/resources/pulsar.sh $out/bin/pulsar - ln -s $opt/resources/app/ppm/bin/apm $out/bin/ppm - - # Copy the icons - mkdir -p $out/share/icons/hicolor/scalable/apps $out/share/icons/hicolor/1024x1024/apps - cp $opt/resources/pulsar.svg $out/share/icons/hicolor/scalable/apps/pulsar.svg - cp $opt/resources/pulsar.png $out/share/icons/hicolor/1024x1024/apps/pulsar.png - '' + lib.optionalString withNemoAction '' - # Copy the nemo action file - mkdir -p $out/share/nemo/actions - cp ${./pulsar.nemo_action} $out/share/nemo/actions/pulsar.nemo_action - ''; + postFixup = + '' + opt=$out/opt/Pulsar + # Patch the prebuilt binaries + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${newLibpath}:$opt" \ + --add-needed libffmpeg.so \ + --add-needed libxshmfence.so.1 \ + --add-needed libxkbcommon.so.0 \ + --add-needed libxkbfile.so.1 \ + --add-needed libsecret-1.so.0 \ + $opt/pulsar + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${newLibpath}" \ + $opt/resources/app/ppm/bin/node + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $opt/resources/app.asar.unpacked/node_modules/symbol-provider-ctags/vendor/ctags-linux + + # Replace the bundled git with the one from nixpkgs + dugite=$opt/resources/app.asar.unpacked/node_modules/dugite + rm -f $dugite/git/bin/git + ln -s ${git}/bin/git $dugite/git/bin/git + + # Not only do we need to replace the git binary itself, we also need to replace + # all the symlinks in dugite/git/libexec/git-core. + for file in "$dugite/git/libexec/git-core"/*; do + if [ -x "$file" ] && file "$file" | grep -q "ELF"; then + # Remove ELF executable + rm "$file" + + # Get the corresponding filename in nixpkgs's git + filename=$(basename "$file") + git_executable="${git}/libexec/git-core/$filename" + + # Create symlink to $git_executable + ln -s "$git_executable" "$file" + + echo "Replaced $file with symlink to $git_executable" + fi + done + + # Was symlinked in previous loop, but actually, nixpkgs has a separate package for git-lfs + # Unlink to avoid a "File exists" error and relink correctly + unlink $dugite/git/libexec/git-core/git-lfs + ln -s ${git-lfs}/bin/git-lfs $dugite/git/libexec/git-core/git-lfs + '' + + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' + # We have to patch a prebuilt binary in the asar archive + # But asar complains because the node_gyp unpacked dependency uses a prebuilt Python3 itself + + rm $opt/resources/app.asar.unpacked/node_modules/tree-sitter-bash/build/node_gyp_bins/python3 + ln -s ${python3.interpreter} $opt/resources/app.asar.unpacked/node_modules/tree-sitter-bash/build/node_gyp_bins/python3 + '' + + '' + # Patch the bundled node executables + find $opt -name "*.node" -exec patchelf --set-rpath "${newLibpath}:$opt" {} \; + # Also patch the node executable for apm + patchelf --set-rpath "${newLibpath}:$opt" $opt/resources/app/ppm/bin/node + + # The pre-packaged ASAR bundle comes with prebuild binaries, expecting libstdc++.so.6 + asarBundle=$TMPDIR/asarbundle + asar e $opt/resources/app.asar $asarBundle + find $asarBundle -name "*.node" -exec patchelf --set-rpath "${newLibpath}:$opt" --add-needed libstdc++.so.6 {} \; + unlink $asarBundle/node_modules/document-register-element/dre # Self referencing symlink, breaking asar rebundling + asar p $asarBundle $opt/resources/app.asar + rm -rf $asarBundle + + # Pulsar uses `PULSAR_PATH` to know where it is intalled + mkdir -p $out/bin + wrapProgram $opt/resources/pulsar.sh \ + --suffix "PATH" : "${lib.makeBinPath [ coreutils ]}" \ + --set "PULSAR_PATH" "$opt" + ln -s $opt/resources/pulsar.sh $out/bin/pulsar + ln -s $opt/resources/app/ppm/bin/apm $out/bin/ppm + + # Copy the icons + mkdir -p $out/share/icons/hicolor/scalable/apps $out/share/icons/hicolor/1024x1024/apps + cp $opt/resources/pulsar.svg $out/share/icons/hicolor/scalable/apps/pulsar.svg + cp $opt/resources/pulsar.png $out/share/icons/hicolor/1024x1024/apps/pulsar.png + '' + + lib.optionalString withNemoAction '' + # Copy the nemo action file + mkdir -p $out/share/nemo/actions + cp ${./pulsar.nemo_action} $out/share/nemo/actions/pulsar.nemo_action + ''; desktopItems = [ (makeDesktopItem { @@ -210,7 +223,11 @@ stdenv.mkDerivation { icon = "pulsar"; comment = "A Community-led Hyper-Hackable Text Editor"; genericName = "Text Editor"; - categories = [ "Development" "TextEditor" "Utility" ]; + categories = [ + "Development" + "TextEditor" + "Utility" + ]; mimeTypes = [ "text/plain" ]; }) ]; @@ -228,7 +245,10 @@ stdenv.mkDerivation { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.mit; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ bryango pbsds ]; + maintainers = with lib.maintainers; [ + bryango + pbsds + ]; knownVulnerabilities = [ # electron 12.2.3, efforts are in place to bump it "CVE-2023-5217" diff --git a/pkgs/by-name/pu/pulsarctl/package.nix b/pkgs/by-name/pu/pulsarctl/package.nix index 9105ea9b0a1f6..df1f75db3e145 100644 --- a/pkgs/by-name/pu/pulsarctl/package.nix +++ b/pkgs/by-name/pu/pulsarctl/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, nix-update-script -, go -, testers -, pulsarctl +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nix-update-script, + go, + testers, + pulsarctl, }: buildGoModule rec { @@ -33,7 +34,9 @@ buildGoModule rec { GoVersion = "go${go.version}"; }; in - (lib.mapAttrsToList (k: v: "-X github.com/streamnative/pulsarctl/pkg/cmdutils.${k}=${v}") buildVars); + (lib.mapAttrsToList ( + k: v: "-X github.com/streamnative/pulsarctl/pkg/cmdutils.${k}=${v}" + ) buildVars); excludedPackages = [ "./pkg/test" diff --git a/pkgs/by-name/pu/pulseaudio-ctl/package.nix b/pkgs/by-name/pu/pulseaudio-ctl/package.nix index e58d8edba6f9c..da9c2d5757da0 100644 --- a/pkgs/by-name/pu/pulseaudio-ctl/package.nix +++ b/pkgs/by-name/pu/pulseaudio-ctl/package.nix @@ -1,11 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper -, bc, dbus, gawk, gnused, libnotify, pulseaudio }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bc, + dbus, + gawk, + gnused, + libnotify, + pulseaudio, +}: let - path = lib.makeBinPath [ bc dbus gawk gnused libnotify pulseaudio ]; + path = lib.makeBinPath [ + bc + dbus + gawk + gnused + libnotify + pulseaudio + ]; pname = "pulseaudio-ctl"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { name = "${pname}-${version}"; version = "1.70"; diff --git a/pkgs/by-name/pu/pulseaudio-dlna/package.nix b/pkgs/by-name/pu/pulseaudio-dlna/package.nix index 8027ec70aa5cf..46a53c17e616e 100644 --- a/pkgs/by-name/pu/pulseaudio-dlna/package.nix +++ b/pkgs/by-name/pu/pulseaudio-dlna/package.nix @@ -1,19 +1,20 @@ -{ fetchFromGitHub -, lib -, python3Packages -, mp3Support ? true -, lame -, opusSupport ? true -, opusTools -, faacSupport ? false -, faac -, flacSupport ? true -, flac -, soxSupport ? true -, sox -, vorbisSupport ? true -, vorbis-tools -, pulseaudio +{ + fetchFromGitHub, + lib, + python3Packages, + mp3Support ? true, + lame, + opusSupport ? true, + opusTools, + faacSupport ? false, + faac, + flacSupport ? true, + flac, + soxSupport ? true, + sox, + vorbisSupport ? true, + vorbis-tools, + pulseaudio, }: python3Packages.buildPythonApplication { @@ -31,29 +32,31 @@ python3Packages.buildPythonApplication { ./0001-setup.py-remove-dbus-python-from-list.patch ]; - propagatedBuildInputs = with python3Packages; [ - dbus-python - docopt - requests - setproctitle - protobuf - psutil - chardet - netifaces - notify2 - pyroute2 - pygobject3 - pychromecast - lxml - setuptools - zeroconf - ] - ++ lib.optional mp3Support lame - ++ lib.optional opusSupport opusTools - ++ lib.optional faacSupport faac - ++ lib.optional flacSupport flac - ++ lib.optional soxSupport sox - ++ lib.optional vorbisSupport vorbis-tools; + propagatedBuildInputs = + with python3Packages; + [ + dbus-python + docopt + requests + setproctitle + protobuf + psutil + chardet + netifaces + notify2 + pyroute2 + pygobject3 + pychromecast + lxml + setuptools + zeroconf + ] + ++ lib.optional mp3Support lame + ++ lib.optional opusSupport opusTools + ++ lib.optional faacSupport faac + ++ lib.optional flacSupport flac + ++ lib.optional soxSupport sox + ++ lib.optional vorbisSupport vorbis-tools; # pulseaudio-dlna shells out to pactl to configure sinks and sources. # As pactl might not be in $PATH, add --suffix it (so pactl configured by the diff --git a/pkgs/by-name/pu/pulseaudio-dlna/zeroconf.nix b/pkgs/by-name/pu/pulseaudio-dlna/zeroconf.nix index 5448e3b3b2e68..4e2c7dfeebb45 100644 --- a/pkgs/by-name/pu/pulseaudio-dlna/zeroconf.nix +++ b/pkgs/by-name/pu/pulseaudio-dlna/zeroconf.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchPypi -, ifaddr -, typing -, pythonOlder -, netifaces -, six -, enum-compat +{ + lib, + buildPythonPackage, + fetchPypi, + ifaddr, + typing, + pythonOlder, + netifaces, + six, + enum-compat, }: buildPythonPackage rec { @@ -18,8 +19,12 @@ buildPythonPackage rec { sha256 = "0ykzg730n915qbrq9bn5pn06bv6rb5zawal4sqjyfnjjm66snkj3"; }; - propagatedBuildInputs = [ netifaces six enum-compat ifaddr ] - ++ lib.optionals (pythonOlder "3.5") [ typing ]; + propagatedBuildInputs = [ + netifaces + six + enum-compat + ifaddr + ] ++ lib.optionals (pythonOlder "3.5") [ typing ]; meta = with lib; { description = "Pure python implementation of multicast DNS service discovery"; diff --git a/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix b/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix index c83d08fc828f2..26c607b210229 100644 --- a/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix +++ b/pkgs/by-name/pu/pulseaudio-module-xrdp/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, fetchFromGitHub -, lib -, pulseaudio -, autoreconfHook -, pkg-config -, nixosTests -, gitUpdater +{ + stdenv, + fetchFromGitHub, + lib, + pulseaudio, + autoreconfHook, + pkg-config, + nixosTests, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pu/pulseeffects-legacy/package.nix b/pkgs/by-name/pu/pulseeffects-legacy/package.nix index 6daaf094b3341..995b3be2a4779 100644 --- a/pkgs/by-name/pu/pulseeffects-legacy/package.nix +++ b/pkgs/by-name/pu/pulseeffects-legacy/package.nix @@ -1,37 +1,39 @@ -{ lib, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, itstool -, python3 -, libxml2 -, desktop-file-utils -, wrapGAppsHook3 -, gst_all_1 -, pulseaudio -, gtk3 -, glib -, glibmm -, gtkmm3 -, lilv -, lv2 -, serd -, sord -, sratom -, libbs2b -, libsamplerate -, libsndfile -, libebur128 -, rnnoise -, boost -, dbus -, fftwFloat -, calf -, zita-convolver -, zam-plugins -, rubberband -, lsp-plugins +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + itstool, + python3, + libxml2, + desktop-file-utils, + wrapGAppsHook3, + gst_all_1, + pulseaudio, + gtk3, + glib, + glibmm, + gtkmm3, + lilv, + lv2, + serd, + sord, + sratom, + libbs2b, + libsamplerate, + libsndfile, + libebur128, + rnnoise, + boost, + dbus, + fftwFloat, + calf, + zita-convolver, + zam-plugins, + rubberband, + lsp-plugins, }: let @@ -43,7 +45,8 @@ let rubberband # pitch shifting zam-plugins # maximizer ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "pulseeffects"; version = "4.8.7"; @@ -75,7 +78,11 @@ in stdenv.mkDerivation rec { gst_all_1.gst-plugins-base # gst-fft gst_all_1.gst-plugins-good # pulsesrc gst_all_1.gst-plugins-bad - lilv lv2 serd sord sratom + lilv + lv2 + serd + sord + sratom libbs2b libebur128 libsamplerate diff --git a/pkgs/by-name/pu/pulsemixer/package.nix b/pkgs/by-name/pu/pulsemixer/package.nix index f38a741b66822..32beb377fc2c4 100644 --- a/pkgs/by-name/pu/pulsemixer/package.nix +++ b/pkgs/by-name/pu/pulsemixer/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3, libpulseaudio }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + libpulseaudio, +}: stdenv.mkDerivation rec { pname = "pulsemixer"; diff --git a/pkgs/by-name/pu/pulumi/package.nix b/pkgs/by-name/pu/pulumi/package.nix index f46f3c25775e6..6cbb1c81d58cc 100644 --- a/pkgs/by-name/pu/pulumi/package.nix +++ b/pkgs/by-name/pu/pulumi/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, buildGoModule -, coreutils -, fetchFromGitHub -, fetchpatch -, installShellFiles -, git +{ + stdenv, + lib, + buildGoModule, + coreutils, + fetchFromGitHub, + fetchpatch, + installShellFiles, + git, # passthru -, runCommand -, makeWrapper -, pulumi -, pulumiPackages + runCommand, + makeWrapper, + pulumi, + pulumiPackages, }: buildGoModule rec { @@ -57,26 +58,28 @@ buildGoModule rec { git ]; - preCheck = '' - # The tests require `version.Version` to be unset - ldflags=''${ldflags//"$importpathFlags"/} + preCheck = + '' + # The tests require `version.Version` to be unset + ldflags=''${ldflags//"$importpathFlags"/} - # Create some placeholders for plugins used in tests. Otherwise, Pulumi - # tries to donwload them and fails, resulting in really long test runs - dummyPluginPath=$(mktemp -d) - for name in pulumi-{resource-pkg{A,B},-pkgB}; do - ln -s ${coreutils}/bin/true "$dummyPluginPath/$name" - done + # Create some placeholders for plugins used in tests. Otherwise, Pulumi + # tries to donwload them and fails, resulting in really long test runs + dummyPluginPath=$(mktemp -d) + for name in pulumi-{resource-pkg{A,B},-pkgB}; do + ln -s ${coreutils}/bin/true "$dummyPluginPath/$name" + done - export PATH=$dummyPluginPath''${PATH:+:}$PATH + export PATH=$dummyPluginPath''${PATH:+:}$PATH - # Code generation tests also download dependencies from network - rm codegen/{docs,dotnet,go,nodejs,python,schema}/*_test.go - rm -R codegen/{dotnet,go,nodejs,python}/gen_program_test + # Code generation tests also download dependencies from network + rm codegen/{docs,dotnet,go,nodejs,python,schema}/*_test.go + rm -R codegen/{dotnet,go,nodejs,python}/gen_program_test - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - export PULUMI_HOME=$(mktemp -d) - ''; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export PULUMI_HOME=$(mktemp -d) + ''; checkFlags = let @@ -124,16 +127,18 @@ buildGoModule rec { passthru = { pkgs = pulumiPackages; - withPackages = f: runCommand "${pulumi.name}-with-packages" - { - nativeBuildInputs = [ makeWrapper ]; - } - '' - mkdir -p $out/bin - makeWrapper ${pulumi}/bin/pulumi $out/bin/pulumi \ - --suffix PATH : ${lib.makeBinPath (f pulumiPackages)} \ - --set LD_LIBRARY_PATH "${lib.getLib stdenv.cc.cc}/lib" - ''; + withPackages = + f: + runCommand "${pulumi.name}-with-packages" + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper ${pulumi}/bin/pulumi $out/bin/pulumi \ + --suffix PATH : ${lib.makeBinPath (f pulumiPackages)} \ + --set LD_LIBRARY_PATH "${lib.getLib stdenv.cc.cc}/lib" + ''; }; meta = with lib; { diff --git a/pkgs/by-name/pu/pulumictl/package.nix b/pkgs/by-name/pu/pulumictl/package.nix index b96c87bdf32cf..1602cb2e31966 100644 --- a/pkgs/by-name/pu/pulumictl/package.nix +++ b/pkgs/by-name/pu/pulumictl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pulumictl"; @@ -14,7 +18,9 @@ buildGoModule rec { vendorHash = "sha256-Wktr3TXSIIzbkiT3Gk5i4K58gahnxySi6ht30li+Z0o="; ldflags = [ - "-s" "-w" "-X=github.com/pulumi/pulumictl/pkg/version.Version=${src.rev}" + "-s" + "-w" + "-X=github.com/pulumi/pulumictl/pkg/version.Version=${src.rev}" ]; subPackages = [ "cmd/pulumictl" ]; diff --git a/pkgs/by-name/pu/pup/package.nix b/pkgs/by-name/pu/pup/package.nix index 3df3ef3bc42b8..7ea3743527fe4 100644 --- a/pkgs/by-name/pu/pup/package.nix +++ b/pkgs/by-name/pu/pup/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pup"; diff --git a/pkgs/by-name/pu/pupdate/deps.nix b/pkgs/by-name/pu/pupdate/deps.nix index 81e83f507c0a8..b254c6554f172 100644 --- a/pkgs/by-name/pu/pupdate/deps.nix +++ b/pkgs/by-name/pu/pupdate/deps.nix @@ -1,193 +1,946 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; }) - (fetchNuGet { pname = "ConsoleMenu-simple"; version = "2.6.1"; hash = "sha256-1bMCCWLnJ7rCtaLyz+AF8YOZK9qktqy0HZhqyPQ5ce0="; }) - (fetchNuGet { pname = "Crc32.NET"; version = "1.2.0"; hash = "sha256-sMQNIppJXHU2mULn5b//uRbbPMyguH9QlG6HKVIYUmE="; }) - (fetchNuGet { pname = "Libuv"; version = "1.9.1"; hash = "sha256-bQdVn50eId1GzSQa9CFth0meKAQMYCFQ98zLN9pqL0k="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.20"; hash = "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "1.1.0"; hash = "sha256-7KrZfK3kUbmeT82eVadvHurZcaFq3FDj4qkIIeExJiM="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "1.3.0"; hash = "sha256-Jcw54WWyfPKdkeqRAG4xjihiGP/djjAkvpR6KM2I+CQ="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "1.3.0"; hash = "sha256-OqqvMHNj9Xql4YTEPMlzoGXXELoLC7JkRGjS0pil+m4="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.VisualBasic"; version = "1.3.0"; hash = "sha256-lIKN1dG59aY8zeYgkY8Kdnv4UBgSwVbghz5ngPyEzKA="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; hash = "sha256-0huoqR2CJ3Z9Q2peaKD09TV3E6saYSqDGZ290K8CrH8="; }) - (fetchNuGet { pname = "Microsoft.NET.ILLink.Analyzers"; version = "7.0.100-1.23401.1"; hash = "sha256-jGyhmj7DZxTv9Hir6YonkpL+SDsRore8Ph4RNN+2q94="; }) - (fetchNuGet { pname = "Microsoft.NET.ILLink.Tasks"; version = "7.0.100-1.23401.1"; hash = "sha256-n95rHugj0BOtCBvv5209zJ5ttPX0A2+RWLjEwwtxgRA="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App"; version = "1.0.4"; hash = "sha256-NqJEOTW98eO0UlbiZcIVrsZCY4MUa+CkSmtAx3e2g3k="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.20"; hash = "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.20"; hash = "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.20"; hash = "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="; }) - (fetchNuGet { pname = "Microsoft.NETCore.DotNetHost"; version = "1.0.1"; hash = "sha256-yiyZ4KGVRDZRgAuoSl4ZNWnRR3ityniyRPvzS799JOM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "1.0.3"; hash = "sha256-doP+2c5SFVldt/EzgWW3nqKK+NNZKvBnanJbn2SKr2Q="; }) - (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "1.0.1"; hash = "sha256-hGJLA8Q6R+up9zHzk+Up2KF1a+fXZeEWrAZ+iNfQP4E="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Jit"; version = "1.0.6"; hash = "sha256-MuphzrzUdSpgyB3ZU2Ly3DwaGSRuLUvonovIzBasB6o="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.2"; hash = "sha256-YLJ2+BONtCWb0lY4Rttdqzbcm4z+5N5uNr3byRWQOZ8="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Runtime.CoreCLR"; version = "1.0.6"; hash = "sha256-iZnxpUpUJDoEE/NjktTFfOYmi25RwC32NMu/OKXG3gA="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Windows.ApiSets"; version = "1.0.1"; hash = "sha256-6PR4o/wQxBaJ5eRdt/awSO80EP3QqpWIk0XkCR9kaJo="; }) - (fetchNuGet { pname = "Microsoft.VisualBasic"; version = "10.0.1"; hash = "sha256-7HHzZcWLVTTQ1K1rCIyoB+UxLHMvOIz+O5av6XDa22A="; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; hash = "sha256-B4t5El/ViBdxALMcpZulewc4j/3SIXf71HhJWhm4Ctk="; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.0.0"; hash = "sha256-M/06F/Z2wTHCh4pZOgtCjUGLD1FJXEJKCmzOeFMl7uo="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; hash = "sha256-ExWI1EKDCRishcfAeHVS/RoJphqSqohmJIC/wz3ZtVo="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; hash = "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; hash = "sha256-085JrZxNEwIHdBWKKKFsh1JzpF0AblvrUsz5T8kH4jQ="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; hash = "sha256-5nWnTQrA1T6t9r8MqIiV4yTNu+IH0of2OX1qteoS+8E="; }) - (fetchNuGet { pname = "runtime.native.System.Net.Security"; version = "4.0.1"; hash = "sha256-E64W+qCHZGYbhzQOEeToCob/4K8cTg3uOO7ltZG7ZNo="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; hash = "sha256-6Q8eYzC32BbGIiTHoQaE6B3cD81vYQcH5SCswYRSp0w="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; }) - (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; hash = "sha256-v6YfyfrKmhww+EYHUq6cwYUMj00MQ6SOfJtcGVRlYzs="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; hash = "sha256-+YUymoyS0O+xVyF2+LiAdZlMww8nofPN4ja9ylYqRo8="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.2.0"; hash = "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="; }) - (fetchNuGet { pname = "System.ComponentModel"; version = "4.0.1"; hash = "sha256-X5T36S49q1odsn6wAET6EGNlsxOyd66naMr5T3G9mGw="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.1.0"; hash = "sha256-jhvr6zS+iC4OXBkdXr+S8rPy/5nfhZtDVVJiAc0f1VA="; }) - (fetchNuGet { pname = "System.Console"; version = "4.0.0"; hash = "sha256-jtZfT/TpJtLisV/y5Mk3IfCpE79zwhBYXtyGP9jC3Xo="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; hash = "sha256-dYh9UoFesuGcHY+ewsI+z2WnNy+bwHPsHQ3t85cbzNg="; }) - (fetchNuGet { pname = "System.Diagnostics.FileVersionInfo"; version = "4.0.0"; hash = "sha256-Yy94jPhDXF2QHOF7qTmqKkn1048K9xkKryuBeDzsu+g="; }) - (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.1.0"; hash = "sha256-OgW6ogQ+oYADYS0PHmwXdhrOKQJpqXlwzSvmfjTLNBg="; }) - (fetchNuGet { pname = "System.Diagnostics.StackTrace"; version = "4.0.1"; hash = "sha256-gqqCAwpDsca242nli+fejgqwPAuwROv3NoNeOnFXSWA="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; hash = "sha256-vSBqTbmWXylvRa37aWyktym+gOpsvH43mwr6A962k6U="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; hash = "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; hash = "sha256-EJN3LbN+b0O9Dr2eg7kfThCYpne0iJ/H/GIyUTNVYC8="; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; hash = "sha256-zLtkPryJwqTGcJqMC6zoMMvMrT+aAL5GoumjmMtqUEI="; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; hash = "sha256-UT4KEfJNZOk7b4X0AqLFUsqfHu6myVH/BhbRKYc+1Uc="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Watcher"; version = "4.0.0"; hash = "sha256-OcLhbiHvn453sJsZBHe6RmtDlCaaarcqRB439HGU7mU="; }) - (fetchNuGet { pname = "System.IO.MemoryMappedFiles"; version = "4.0.0"; hash = "sha256-1VQa8FoMUNAsja31OvOn7ungif+IPusAe9YcR+kRF6o="; }) - (fetchNuGet { pname = "System.IO.UnmanagedMemoryStream"; version = "4.0.1"; hash = "sha256-Sx60QjHjvXQMAL7O4aN81321gu13LE0XzCRtt7hFTwQ="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.1"; hash = "sha256-nwRmq03bvyYhohaDJtCYj4Z6hHsp0AlhjFJzuw7fsdk="; }) - (fetchNuGet { pname = "System.Linq.Parallel"; version = "4.0.1"; hash = "sha256-TV1F3KYFipPmPnWFjX6hOZQNFsG2m729EdgPSFzqY0Q="; }) - (fetchNuGet { pname = "System.Linq.Queryable"; version = "4.0.1"; hash = "sha256-XOFRO+lyoxsWtIUJfg5JCqv9Gx35ASOc94WIR8ZMVoY="; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.1.1"; hash = "sha256-+JTAbEt2BicpnP3ooKXludoS5nClzBOnUyI9C/XxyyM="; }) - (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.0.0"; hash = "sha256-EAO67qEDqrtxEa+J3xccA5/lgCJ0PiRU9DYZsO++QzY="; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; hash = "sha256-2YSijNhCdw/ZU2yfH7vE+ReA8pgxRCXPnWr+ab36v4M="; }) - (fetchNuGet { pname = "System.Net.Requests"; version = "4.0.11"; hash = "sha256-MLXxaUhHQC3pId/6r4q0EF37CIExt0+4Na8ZpUtRs44="; }) - (fetchNuGet { pname = "System.Net.Security"; version = "4.0.0"; hash = "sha256-65Vqr/B5B336KEW69aM95+f7s5u2Q7/OiJmBarV2fnk="; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; hash = "sha256-muK7oXIX7ykqhXskuUt0KX6Hzg5VogJhUS0JiOB2BY0="; }) - (fetchNuGet { pname = "System.Net.WebHeaderCollection"; version = "4.0.1"; hash = "sha256-uJSV6kmL+V/9/ot1LhHXGCd8Ndcu6zk+AJ8wgGS/fYE="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.1.1"; hash = "sha256-Kv4FrStml5+X7hGDCLhJJaIwJDvdJdYMBfcCcOjNf/Y="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.DispatchProxy"; version = "4.0.1"; hash = "sha256-GdjA81UywW1yeAyNi+MR5agmOXl859GrWwiOui2jT9U="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.3.0"; hash = "sha256-a/RQr++mSsziWaOTknicfIQX/zJrwPFExfhK6PM0tfg="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; }) - (fetchNuGet { pname = "System.Resources.Reader"; version = "4.0.0"; hash = "sha256-NOax26EYc/L4bfedL2a33fg4sFXVkBwzVTQ41saJTsk="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; }) - (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.0.0"; hash = "sha256-gE5/ehU3Qq5phhSxGuPmSv1DFVQeiyl1/+YyrO+I7lI="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; hash = "sha256-1pJt5ZGxLPTX1mjOi8qZPXyyOMkYV0NstoUCv91HYPg="; }) - (fetchNuGet { pname = "System.Security.Claims"; version = "4.0.1"; hash = "sha256-xqI0HHahNAd9g3jqgnLKH4P/pIueef6cy3qvRDQFvA0="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; hash = "sha256-BelNIpEyToEp/VYKnje/q1P7KNEpQNtOzGPU18pLGpE="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; hash = "sha256-7F+m3HnmBsgE4xWF8FeCGlaEgQM3drqA6HEaQr6MEoU="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; hash = "sha256-WHyR6vVK3zaT4De7jgQFUar1P5fiX9ECwiVkJDFFm7M="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; hash = "sha256-ZO7ha39J5uHkIF2RoEKv/bW/bLbVvYMO4+rWyYsKHik="; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; hash = "sha256-mLijAozynzjiOMyh2P5BHcfVq3Ovd0T/phG08SIbXZs="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; hash = "sha256-sEdPftfTxQd/8DpdpqUZC2XWC0SjVCPqAkEleLl17EQ="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; hash = "sha256-sBUUhJP+yYDXvcjNMKqNpn8yzGUpVABwK9vVUvYKjzI="; }) - (fetchNuGet { pname = "System.Security.Principal"; version = "4.0.1"; hash = "sha256-9wBgPnJfFOtrhKZ7wDXZ4q12GklQ49Ka02/9v7Frf9k="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.0.0"; hash = "sha256-38wEUCB889Mpm4WgRFEQBB+4HtE0X0wu+knrDyJie7Q="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; hash = "sha256-wxtwWQSTv5tuFP79KhUAhaL6bL4d8lSzSWkCn9aolwM="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.0.1"; hash = "sha256-CAWZlavcuBQHs+kaSX9CmkpHF7wC8rFrug3XPb5KJzo="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.6.0"; hash = "sha256-YYrT3GRzVBdendxt8FUDCnOBJi0nw/CJ9VrzcPJWLSg="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Parallel"; version = "4.0.1"; hash = "sha256-5VyRZ97Fug4reK/cQ6wsCrJ5jH53aGu1a4ZkKMZrnIQ="; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; hash = "sha256-7EtSJuKqcW107FYA5Ko9NFXEWUPIzNDtlfKaQV2pvb8="; }) - (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.0.10"; hash = "sha256-/fowWjM/0ZZFC1Rwu0i5N71iRxV2JOd3jQV2Jn0wuTk="; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; hash = "sha256-5lU6zt1O9JDSPr2KAHw4BYgysHnt0yyZrMNa5IIjxZY="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; hash = "sha256-KPz1kxe0RUBM+aoktJ/f9p51GudMERU8Pmwm//HdlFg="; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.0.1"; hash = "sha256-gdoFrPo54v1LjkBF79f8EvtltVVjHz9ZI9kc5ve0GkY="; }) - (fetchNuGet { pname = "System.Xml.XPath"; version = "4.0.1"; hash = "sha256-lQCoK2M51SGRuGjfiuIW26Y2goABY2RLE6cZ4816WDo="; }) - (fetchNuGet { pname = "System.Xml.XPath.XDocument"; version = "4.0.1"; hash = "sha256-H/zyMMB1YB8vd+StYJr99KLqWmSHhaP7RHDLRcFhzbo="; }) - (fetchNuGet { pname = "UrlCombine"; version = "2.0.0"; hash = "sha256-yvBqXgZsqre+JIyxY/e8y+oBs2+K7PtJkITR3YEtHlU="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; + }) + (fetchNuGet { + pname = "ConsoleMenu-simple"; + version = "2.6.1"; + hash = "sha256-1bMCCWLnJ7rCtaLyz+AF8YOZK9qktqy0HZhqyPQ5ce0="; + }) + (fetchNuGet { + pname = "Crc32.NET"; + version = "1.2.0"; + hash = "sha256-sMQNIppJXHU2mULn5b//uRbbPMyguH9QlG6HKVIYUmE="; + }) + (fetchNuGet { + pname = "Libuv"; + version = "1.9.1"; + hash = "sha256-bQdVn50eId1GzSQa9CFth0meKAQMYCFQ98zLN9pqL0k="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "7.0.20"; + hash = "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "7.0.20"; + hash = "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "7.0.20"; + hash = "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "1.1.0"; + hash = "sha256-7KrZfK3kUbmeT82eVadvHurZcaFq3FDj4qkIIeExJiM="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "1.3.0"; + hash = "sha256-Jcw54WWyfPKdkeqRAG4xjihiGP/djjAkvpR6KM2I+CQ="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "1.3.0"; + hash = "sha256-OqqvMHNj9Xql4YTEPMlzoGXXELoLC7JkRGjS0pil+m4="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.VisualBasic"; + version = "1.3.0"; + hash = "sha256-lIKN1dG59aY8zeYgkY8Kdnv4UBgSwVbghz5ngPyEzKA="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.0.1"; + hash = "sha256-0huoqR2CJ3Z9Q2peaKD09TV3E6saYSqDGZ290K8CrH8="; + }) + (fetchNuGet { + pname = "Microsoft.NET.ILLink.Analyzers"; + version = "7.0.100-1.23401.1"; + hash = "sha256-jGyhmj7DZxTv9Hir6YonkpL+SDsRore8Ph4RNN+2q94="; + }) + (fetchNuGet { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "7.0.100-1.23401.1"; + hash = "sha256-n95rHugj0BOtCBvv5209zJ5ttPX0A2+RWLjEwwtxgRA="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App"; + version = "1.0.4"; + hash = "sha256-NqJEOTW98eO0UlbiZcIVrsZCY4MUa+CkSmtAx3e2g3k="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "7.0.20"; + hash = "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "7.0.20"; + hash = "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Ref"; + version = "7.0.20"; + hash = "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "7.0.20"; + hash = "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "7.0.20"; + hash = "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.DotNetHost"; + version = "1.0.1"; + hash = "sha256-yiyZ4KGVRDZRgAuoSl4ZNWnRR3ityniyRPvzS799JOM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.DotNetHostPolicy"; + version = "1.0.3"; + hash = "sha256-doP+2c5SFVldt/EzgWW3nqKK+NNZKvBnanJbn2SKr2Q="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.DotNetHostResolver"; + version = "1.0.1"; + hash = "sha256-hGJLA8Q6R+up9zHzk+Up2KF1a+fXZeEWrAZ+iNfQP4E="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Jit"; + version = "1.0.6"; + hash = "sha256-MuphzrzUdSpgyB3ZU2Ly3DwaGSRuLUvonovIzBasB6o="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.2"; + hash = "sha256-YLJ2+BONtCWb0lY4Rttdqzbcm4z+5N5uNr3byRWQOZ8="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Runtime.CoreCLR"; + version = "1.0.6"; + hash = "sha256-iZnxpUpUJDoEE/NjktTFfOYmi25RwC32NMu/OKXG3gA="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Windows.ApiSets"; + version = "1.0.1"; + hash = "sha256-6PR4o/wQxBaJ5eRdt/awSO80EP3QqpWIk0XkCR9kaJo="; + }) + (fetchNuGet { + pname = "Microsoft.VisualBasic"; + version = "10.0.1"; + hash = "sha256-7HHzZcWLVTTQ1K1rCIyoB+UxLHMvOIz+O5av6XDa22A="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + hash = "sha256-B4t5El/ViBdxALMcpZulewc4j/3SIXf71HhJWhm4Ctk="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.0.0"; + hash = "sha256-M/06F/Z2wTHCh4pZOgtCjUGLD1FJXEJKCmzOeFMl7uo="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.0"; + hash = "sha256-ExWI1EKDCRishcfAeHVS/RoJphqSqohmJIC/wz3ZtVo="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.0"; + hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + hash = "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + hash = "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.0.0"; + hash = "sha256-bmaM0ovT4X4aqDJOR255Yda/u3fmHZskU++lMnsy894="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.1.0"; + hash = "sha256-085JrZxNEwIHdBWKKKFsh1JzpF0AblvrUsz5T8kH4jQ="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.0.1"; + hash = "sha256-5nWnTQrA1T6t9r8MqIiV4yTNu+IH0of2OX1qteoS+8E="; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Security"; + version = "4.0.1"; + hash = "sha256-E64W+qCHZGYbhzQOEeToCob/4K8cTg3uOO7ltZG7ZNo="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography"; + version = "4.0.0"; + hash = "sha256-6Q8eYzC32BbGIiTHoQaE6B3cD81vYQcH5SCswYRSp0w="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Console"; + version = "4.3.0"; + hash = "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.1.0"; + hash = "sha256-v6YfyfrKmhww+EYHUq6cwYUMj00MQ6SOfJtcGVRlYzs="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.0.0"; + hash = "sha256-+YUymoyS0O+xVyF2+LiAdZlMww8nofPN4ja9ylYqRo8="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.0.12"; + hash = "sha256-zIEM7AB4SyE9u6G8+o+gCLLwkgi6+3rHQVPdn/dEwB8="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.2.0"; + hash = "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="; + }) + (fetchNuGet { + pname = "System.ComponentModel"; + version = "4.0.1"; + hash = "sha256-X5T36S49q1odsn6wAET6EGNlsxOyd66naMr5T3G9mGw="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.1.0"; + hash = "sha256-jhvr6zS+iC4OXBkdXr+S8rPy/5nfhZtDVVJiAc0f1VA="; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.0.0"; + hash = "sha256-jtZfT/TpJtLisV/y5Mk3IfCpE79zwhBYXtyGP9jC3Xo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.0.0"; + hash = "sha256-dYh9UoFesuGcHY+ewsI+z2WnNy+bwHPsHQ3t85cbzNg="; + }) + (fetchNuGet { + pname = "System.Diagnostics.FileVersionInfo"; + version = "4.0.0"; + hash = "sha256-Yy94jPhDXF2QHOF7qTmqKkn1048K9xkKryuBeDzsu+g="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Process"; + version = "4.1.0"; + hash = "sha256-OgW6ogQ+oYADYS0PHmwXdhrOKQJpqXlwzSvmfjTLNBg="; + }) + (fetchNuGet { + pname = "System.Diagnostics.StackTrace"; + version = "4.0.1"; + hash = "sha256-gqqCAwpDsca242nli+fejgqwPAuwROv3NoNeOnFXSWA="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.0.1"; + hash = "sha256-vSBqTbmWXylvRa37aWyktym+gOpsvH43mwr6A962k6U="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.1.0"; + hash = "sha256-JA0jJcLbU3zh52ub3zweob2EVHvxOqiC6SCYHrY5WbQ="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.0.11"; + hash = "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.0.1"; + hash = "sha256-EJN3LbN+b0O9Dr2eg7kfThCYpne0iJ/H/GIyUTNVYC8="; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.0.1"; + hash = "sha256-zLtkPryJwqTGcJqMC6zoMMvMrT+aAL5GoumjmMtqUEI="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.1.0"; + hash = "sha256-UT4KEfJNZOk7b4X0AqLFUsqfHu6myVH/BhbRKYc+1Uc="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + }) + (fetchNuGet { + pname = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + hash = "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.0.1"; + hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Watcher"; + version = "4.0.0"; + hash = "sha256-OcLhbiHvn453sJsZBHe6RmtDlCaaarcqRB439HGU7mU="; + }) + (fetchNuGet { + pname = "System.IO.MemoryMappedFiles"; + version = "4.0.0"; + hash = "sha256-1VQa8FoMUNAsja31OvOn7ungif+IPusAe9YcR+kRF6o="; + }) + (fetchNuGet { + pname = "System.IO.UnmanagedMemoryStream"; + version = "4.0.1"; + hash = "sha256-Sx60QjHjvXQMAL7O4aN81321gu13LE0XzCRtt7hFTwQ="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.1.1"; + hash = "sha256-nwRmq03bvyYhohaDJtCYj4Z6hHsp0AlhjFJzuw7fsdk="; + }) + (fetchNuGet { + pname = "System.Linq.Parallel"; + version = "4.0.1"; + hash = "sha256-TV1F3KYFipPmPnWFjX6hOZQNFsG2m729EdgPSFzqY0Q="; + }) + (fetchNuGet { + pname = "System.Linq.Queryable"; + version = "4.0.1"; + hash = "sha256-XOFRO+lyoxsWtIUJfg5JCqv9Gx35ASOc94WIR8ZMVoY="; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.1.1"; + hash = "sha256-+JTAbEt2BicpnP3ooKXludoS5nClzBOnUyI9C/XxyyM="; + }) + (fetchNuGet { + pname = "System.Net.NameResolution"; + version = "4.0.0"; + hash = "sha256-EAO67qEDqrtxEa+J3xccA5/lgCJ0PiRU9DYZsO++QzY="; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.0.11"; + hash = "sha256-2YSijNhCdw/ZU2yfH7vE+ReA8pgxRCXPnWr+ab36v4M="; + }) + (fetchNuGet { + pname = "System.Net.Requests"; + version = "4.0.11"; + hash = "sha256-MLXxaUhHQC3pId/6r4q0EF37CIExt0+4Na8ZpUtRs44="; + }) + (fetchNuGet { + pname = "System.Net.Security"; + version = "4.0.0"; + hash = "sha256-65Vqr/B5B336KEW69aM95+f7s5u2Q7/OiJmBarV2fnk="; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.1.0"; + hash = "sha256-muK7oXIX7ykqhXskuUt0KX6Hzg5VogJhUS0JiOB2BY0="; + }) + (fetchNuGet { + pname = "System.Net.WebHeaderCollection"; + version = "4.0.1"; + hash = "sha256-uJSV6kmL+V/9/ot1LhHXGCd8Ndcu6zk+AJ8wgGS/fYE="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.1.1"; + hash = "sha256-Kv4FrStml5+X7hGDCLhJJaIwJDvdJdYMBfcCcOjNf/Y="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.0.12"; + hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.DispatchProxy"; + version = "4.0.1"; + hash = "sha256-GdjA81UywW1yeAyNi+MR5agmOXl859GrWwiOui2jT9U="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.3.0"; + hash = "sha256-a/RQr++mSsziWaOTknicfIQX/zJrwPFExfhK6PM0tfg="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; + }) + (fetchNuGet { + pname = "System.Resources.Reader"; + version = "4.0.0"; + hash = "sha256-NOax26EYc/L4bfedL2a33fg4sFXVkBwzVTQ41saJTsk="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; + }) + (fetchNuGet { + pname = "System.Runtime.Loader"; + version = "4.0.0"; + hash = "sha256-gE5/ehU3Qq5phhSxGuPmSv1DFVQeiyl1/+YyrO+I7lI="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.0.1"; + hash = "sha256-1pJt5ZGxLPTX1mjOi8qZPXyyOMkYV0NstoUCv91HYPg="; + }) + (fetchNuGet { + pname = "System.Security.Claims"; + version = "4.0.1"; + hash = "sha256-xqI0HHahNAd9g3jqgnLKH4P/pIueef6cy3qvRDQFvA0="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + hash = "sha256-BelNIpEyToEp/VYKnje/q1P7KNEpQNtOzGPU18pLGpE="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.2.0"; + hash = "sha256-7F+m3HnmBsgE4xWF8FeCGlaEgQM3drqA6HEaQr6MEoU="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.0.0"; + hash = "sha256-WHyR6vVK3zaT4De7jgQFUar1P5fiX9ECwiVkJDFFm7M="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.0.0"; + hash = "sha256-ZO7ha39J5uHkIF2RoEKv/bW/bLbVvYMO4+rWyYsKHik="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.0.0"; + hash = "sha256-mLijAozynzjiOMyh2P5BHcfVq3Ovd0T/phG08SIbXZs="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.0.0"; + hash = "sha256-sEdPftfTxQd/8DpdpqUZC2XWC0SjVCPqAkEleLl17EQ="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.1.0"; + hash = "sha256-sBUUhJP+yYDXvcjNMKqNpn8yzGUpVABwK9vVUvYKjzI="; + }) + (fetchNuGet { + pname = "System.Security.Principal"; + version = "4.0.1"; + hash = "sha256-9wBgPnJfFOtrhKZ7wDXZ4q12GklQ49Ka02/9v7Frf9k="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.0.0"; + hash = "sha256-38wEUCB889Mpm4WgRFEQBB+4HtE0X0wu+knrDyJie7Q="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.0.1"; + hash = "sha256-wxtwWQSTv5tuFP79KhUAhaL6bL4d8lSzSWkCn9aolwM="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.1.0"; + hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Overlapped"; + version = "4.0.1"; + hash = "sha256-CAWZlavcuBQHs+kaSX9CmkpHF7wC8rFrug3XPb5KJzo="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "4.6.0"; + hash = "sha256-YYrT3GRzVBdendxt8FUDCnOBJi0nw/CJ9VrzcPJWLSg="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Parallel"; + version = "4.0.1"; + hash = "sha256-5VyRZ97Fug4reK/cQ6wsCrJ5jH53aGu1a4ZkKMZrnIQ="; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.0.0"; + hash = "sha256-7EtSJuKqcW107FYA5Ko9NFXEWUPIzNDtlfKaQV2pvb8="; + }) + (fetchNuGet { + pname = "System.Threading.ThreadPool"; + version = "4.0.10"; + hash = "sha256-/fowWjM/0ZZFC1Rwu0i5N71iRxV2JOd3jQV2Jn0wuTk="; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.0.1"; + hash = "sha256-5lU6zt1O9JDSPr2KAHw4BYgysHnt0yyZrMNa5IIjxZY="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.0.11"; + hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.0.11"; + hash = "sha256-KPz1kxe0RUBM+aoktJ/f9p51GudMERU8Pmwm//HdlFg="; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.0.1"; + hash = "sha256-gdoFrPo54v1LjkBF79f8EvtltVVjHz9ZI9kc5ve0GkY="; + }) + (fetchNuGet { + pname = "System.Xml.XPath"; + version = "4.0.1"; + hash = "sha256-lQCoK2M51SGRuGjfiuIW26Y2goABY2RLE6cZ4816WDo="; + }) + (fetchNuGet { + pname = "System.Xml.XPath.XDocument"; + version = "4.0.1"; + hash = "sha256-H/zyMMB1YB8vd+StYJr99KLqWmSHhaP7RHDLRcFhzbo="; + }) + (fetchNuGet { + pname = "UrlCombine"; + version = "2.0.0"; + hash = "sha256-yvBqXgZsqre+JIyxY/e8y+oBs2+K7PtJkITR3YEtHlU="; + }) ] diff --git a/pkgs/by-name/pu/pupdate/package.nix b/pkgs/by-name/pu/pupdate/package.nix index 71ff2d7251ba4..4f62897370647 100644 --- a/pkgs/by-name/pu/pupdate/package.nix +++ b/pkgs/by-name/pu/pupdate/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, buildDotnetModule -, dotnetCorePackages -, openssl -, zlib -, nix-update-script +{ + stdenv, + lib, + fetchFromGitHub, + buildDotnetModule, + dotnetCorePackages, + openssl, + zlib, + nix-update-script, }: buildDotnetModule rec { diff --git a/pkgs/by-name/pu/puppet-bolt/gemset.nix b/pkgs/by-name/pu/puppet-bolt/gemset.nix index 72746d92dc0d7..536eabfe26560 100644 --- a/pkgs/by-name/pu/puppet-bolt/gemset.nix +++ b/pkgs/by-name/pu/puppet-bolt/gemset.nix @@ -1,936 +1,1066 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m74rrlwv741wlp2imw5y93ybrzczx0r2jvcgp1v4zq299z3zy29"; type = "gem"; }; version = "1.968.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0l5c37gvarb3p3zsip1p9mpmir0zdccp0aibgx9cy61im4pwaj0q"; type = "gem"; }; version = "3.201.5"; }; aws-sdk-ec2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0z7zk5z9zyqqljh8fxhq8ngp8pixbm85pa9ygpr0nmgdl2b1i7ff"; type = "gem"; }; version = "1.470.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yf396fxashbqn0drbnvd9srxfg7w06v70q8kqpzi04zqchf6lvp"; type = "gem"; }; version = "1.9.1"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; bindata = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19"; type = "gem"; }; version = "2.5.0"; }; bolt = { - dependencies = ["CFPropertyList" "addressable" "aws-sdk-ec2" "concurrent-ruby" "ffi" "hiera-eyaml" "jwt" "logging" "minitar" "net-scp" "net-ssh" "net-ssh-krb" "orchestrator_client" "puppet" "puppet-resource_api" "puppet-strings" "puppetfile-resolver" "r10k" "ruby_smb" "terminal-table" "winrm" "winrm-fs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "addressable" + "aws-sdk-ec2" + "concurrent-ruby" + "ffi" + "hiera-eyaml" + "jwt" + "logging" + "minitar" + "net-scp" + "net-ssh" + "net-ssh-krb" + "orchestrator_client" + "puppet" + "puppet-resource_api" + "puppet-strings" + "puppetfile-resolver" + "r10k" + "ruby_smb" + "terminal-table" + "winrm" + "winrm-fs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0krs4mmy1db531gyibhzaxmghb606yjmqqyfghvriy7b9sgi6bq8"; type = "gem"; }; version = "3.30.0"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; CFPropertyList = { - dependencies = ["base64" "nkf" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "nkf" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4"; type = "gem"; }; version = "3.0.7"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; cri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa"; type = "gem"; }; version = "2.15.12"; }; deep_merge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3"; type = "gem"; }; version = "1.2.2"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; facter = { - dependencies = ["hocon" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hocon" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pxpldfcf40dr9khra3sa131ij7gzd97bba2vpw89c785pl736a7"; type = "gem"; }; version = "4.6.1"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c760q0ks4vj4wmaa7nh1dgvgqiwaw0mjr7v8cymy7i3ffgjxx90"; type = "gem"; }; version = "1.10.3"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3"; type = "gem"; }; version = "1.0.2"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"; type = "gem"; }; version = "1.2.0"; }; fast_gettext = { - dependencies = ["prime"]; - groups = ["default"]; - platforms = []; + dependencies = [ "prime" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px"; type = "gem"; }; version = "2.4.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; forwardable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b5g1i3xdvmxxpq4qp0z4v78ivqnazz26w110fh4cvzsdayz8zgi"; type = "gem"; }; version = "1.3.3"; }; getoptlong = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx"; type = "gem"; }; version = "0.2.1"; }; gettext = { - dependencies = ["erubi" "locale" "prime" "racc" "text"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "locale" + "prime" + "racc" + "text" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16h0kda5z4s4zqygyk0f52xzs9mlz9r4lnhjwk729hhmdbz68a19"; type = "gem"; }; version = "3.4.9"; }; gettext-setup = { - dependencies = ["fast_gettext" "gettext" "locale"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fast_gettext" + "gettext" + "locale" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v6liz934gmx1wv1z6bvpim6aanbr66xjhb90lc9z1jxayczmm1a"; type = "gem"; }; version = "1.1.0"; }; gssapi = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; type = "gem"; }; version = "1.3.1"; }; gyoku = { - dependencies = ["builder" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q"; type = "gem"; }; version = "1.4.0"; }; hiera-eyaml = { - dependencies = ["highline" "optimist"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "highline" + "optimist" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0m7zr33qfhvwxqx4kh61rabmbkhp3y4ans66kfpgrzjyvj1vdb6d"; type = "gem"; }; version = "3.4.0"; }; highline = { - dependencies = ["reline"]; - groups = ["default"]; - platforms = []; + dependencies = [ "reline" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sxqnaz6wvkwbwzsipwsqcg1zw2kn67x7l362whv87zl5133w60l"; type = "gem"; }; version = "3.1.0"; }; hocon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "106dmzsl1bxkqw5xaif012nwwfr3k9wff32cqc77ibjngknj6477"; type = "gem"; }; version = "1.4.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; io-console = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; version = "0.7.2"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; jwt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87"; type = "gem"; }; version = "2.7.1"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; locale = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "107pm4ccmla23z963kyjldgngfigvchnv85wr6m69viyxxrrjbsj"; type = "gem"; }; version = "2.1.4"; }; log4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv"; type = "gem"; }; version = "1.1.10"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "little-plugger" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s"; type = "gem"; }; version = "2.4.0"; }; minitar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s"; type = "gem"; }; version = "0.12.1"; }; molinillo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg"; type = "gem"; }; version = "0.8.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; type = "gem"; }; version = "2.4.1"; }; net-http-persistent = { - dependencies = ["connection_pool"]; - groups = ["default"]; - platforms = []; + dependencies = [ "connection_pool" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03"; type = "gem"; }; version = "4.0.2"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n"; type = "gem"; }; version = "7.2.3"; }; net-ssh-krb = { - dependencies = ["gssapi" "net-ssh"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "gssapi" + "net-ssh" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "120mns6drrapn8i63cbgxngjql4cyclv6asyrkgc87bv5prlh50c"; type = "gem"; }; version = "0.5.1"; }; nkf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv"; type = "gem"; }; version = "0.2.0"; }; nori = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1"; type = "gem"; }; version = "2.7.1"; }; optimist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q4jqq3v1bxlfr9jgqmahnygkvl81lr6s1rhm8qg66c9xr9nz241"; type = "gem"; }; version = "3.1.0"; }; orchestrator_client = { - dependencies = ["faraday" "net-http-persistent"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "net-http-persistent" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05jb10gjffrj5wy8ps1chki3n0z734bx1nx7a6wahh7cjnrqqmsg"; type = "gem"; }; version = "0.7.0"; }; prime = { - dependencies = ["forwardable" "singleton"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "forwardable" + "singleton" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1973kz8lbck6ga5v42f55jk8b8pnbgwp9p67dl1xw15gvz55dsfl"; type = "gem"; }; version = "0.1.2"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puppet = { - dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "getoptlong" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "deep_merge" + "facter" + "fast_gettext" + "getoptlong" + "locale" + "multi_json" + "puppet-resource_api" + "scanf" + "semantic_puppet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v2jqkan3nidifxdlpm7lk0ih5s8khl9ps0nz62wj3zlywck0wsi"; type = "gem"; }; version = "8.8.1"; }; puppet-resource_api = { - dependencies = ["hocon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "hocon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rxy5s7hl707x4sc1b4v2yqyii6pkym2gmsam3ri0f0xmmzyg0jb"; type = "gem"; }; version = "1.9.0"; }; puppet-strings = { - dependencies = ["rgen" "yard"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rgen" + "yard" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zcs25xxkfymks4knilryfpr8k0v7z3nazdm61v7a1x4rxhs7sxp"; type = "gem"; }; version = "4.1.2"; }; puppet_forge = { - dependencies = ["faraday" "faraday_middleware" "minitar" "semantic_puppet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "faraday_middleware" + "minitar" + "semantic_puppet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03aaznd1gyf3wpqg34y32zfj2yxf67r85m6zfz05pv9ijizrmdnj"; type = "gem"; }; version = "3.2.0"; }; puppetfile-resolver = { - dependencies = ["molinillo" "semantic_puppet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "molinillo" + "semantic_puppet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kil8sbrl9c34ygrgm35893zygr4j6fjvfhbs4rs0b5n3cjrainm"; type = "gem"; }; version = "0.6.3"; }; r10k = { - dependencies = ["colored2" "cri" "fast_gettext" "gettext" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "colored2" + "cri" + "fast_gettext" + "gettext" + "gettext-setup" + "jwt" + "log4r" + "minitar" + "multi_json" + "puppet_forge" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1f9fwfmr44lbnx31fdiabm7sb41nsbf10awm96zl79clp8kafxcp"; type = "gem"; }; version = "3.16.2"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; reline = { - dependencies = ["io-console"]; - groups = ["default"]; - platforms = []; + dependencies = [ "io-console" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y6kyz7kcilwdpfy3saqfgnar38vr5ys9sp40ndffy6h1znxfbax"; type = "gem"; }; version = "0.5.9"; }; rexml = { - dependencies = ["strscan"]; - groups = ["default"]; - platforms = []; + dependencies = [ "strscan" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ik3in0957l9s6iwdm3nsk4za072cj27riiqgpx6zzcd22flbw3s"; type = "gem"; }; version = "3.3.6"; }; rgen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1abg3frzak6inwbr4caq6mfd5spx37xnwlxss8615jr12wh525vp"; type = "gem"; }; version = "0.9.1"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; ruby_smb = { - dependencies = ["bindata" "rubyntlm" "windows_error"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bindata" + "rubyntlm" + "windows_error" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "125pimmaskp13nkk5j138nfk1kd8n91sfdlx4dhj2j9zk342wsf4"; type = "gem"; }; version = "1.1.0"; }; rubyntlm = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7"; type = "gem"; }; version = "0.6.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; scanf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "000vxsci3zq8m1wl7mmppj7sarznrqlm6v2x2hdfmbxcwpvvfgak"; type = "gem"; }; version = "1.0.0"; }; semantic_puppet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ndqm3jnpdlwkk1jwqdyyb7yw7gv6r4kmjs30g09ap8siv80ilaj"; type = "gem"; }; version = "1.1.0"; }; singleton = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qq54imvbksnckzf9hrq9bjzcdb0n8wfv6l5jc0di10n88277jx6"; type = "gem"; }; version = "0.2.0"; }; strscan = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; type = "gem"; }; version = "3.1.0"; }; terminal-table = { - dependencies = ["unicode-display_width"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unicode-display_width" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr"; type = "gem"; }; version = "3.0.2"; }; text = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; type = "gem"; }; version = "1.3.1"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; type = "gem"; }; version = "1.3.1"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; version = "2.5.0"; }; windows_error = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1825v7hvcl0xss6scyfv76i0cs0kvj72wy20kn7xqylw9avjga2r"; type = "gem"; }; version = "0.1.5"; }; winrm = { - dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "erubi" + "gssapi" + "gyoku" + "httpclient" + "logging" + "nori" + "rexml" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01jxpshw5kx5ha21ymaaj14vibv5bvm0dd80ccc6xl3jaxy7cszg"; type = "gem"; }; version = "2.3.9"; }; winrm-fs = { - dependencies = ["erubi" "logging" "rubyzip" "winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "logging" + "rubyzip" + "winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d"; type = "gem"; }; version = "1.3.5"; }; yard = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r0b8w58p7gy06wph1qdjv2p087hfnmhd9jk23vjdj803dn761am"; type = "gem"; }; diff --git a/pkgs/by-name/pu/puppet-bolt/package.nix b/pkgs/by-name/pu/puppet-bolt/package.nix index a937752698559..4129e0654bda7 100644 --- a/pkgs/by-name/pu/puppet-bolt/package.nix +++ b/pkgs/by-name/pu/puppet-bolt/package.nix @@ -42,9 +42,13 @@ changelog = "https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md"; license = lib.licenses.asl20; mainProgram = "bolt"; - maintainers = with lib.maintainers; [ uvnikita anthonyroussel ]; + maintainers = with lib.maintainers; [ + uvnikita + anthonyroussel + ]; platforms = lib.platforms.unix; }; -}).overrideAttrs (old: { - name = "puppet-bolt-${(import ./gemset.nix).bolt.version}"; -}) +}).overrideAttrs + (old: { + name = "puppet-bolt-${(import ./gemset.nix).bolt.version}"; + }) diff --git a/pkgs/by-name/pu/puppet-lint/gemset.nix b/pkgs/by-name/pu/puppet-lint/gemset.nix index f936a39af0a06..9a30ccf7c232b 100644 --- a/pkgs/by-name/pu/puppet-lint/gemset.nix +++ b/pkgs/by-name/pu/puppet-lint/gemset.nix @@ -1,9 +1,9 @@ { puppet-lint = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n2pffwxj1n33hc7aw74g6a4gn5v7rawcs7rglidbdq1g4kzd829"; type = "gem"; }; diff --git a/pkgs/by-name/pu/puppet/gemset.nix b/pkgs/by-name/pu/puppet/gemset.nix index 0542cb050d052..3817f53b33fe2 100644 --- a/pkgs/by-name/pu/puppet/gemset.nix +++ b/pkgs/by-name/pu/puppet/gemset.nix @@ -1,122 +1,135 @@ { concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; version = "1.2.3"; }; deep_merge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3"; type = "gem"; }; version = "1.2.2"; }; facter = { - dependencies = ["hocon" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "hocon" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bigvzjqmfd7s0wwmg22372iffy4jz71x25g1r1ij8h60bk1097h"; type = "gem"; }; version = "4.7.0"; }; fast_gettext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2"; type = "gem"; }; version = "2.3.0"; }; hocon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "106dmzsl1bxkqw5xaif012nwwfr3k9wff32cqc77ibjngknj6477"; type = "gem"; }; version = "1.4.0"; }; locale = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "107pm4ccmla23z963kyjldgngfigvchnv85wr6m69viyxxrrjbsj"; type = "gem"; }; version = "2.1.4"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; puppet = { - dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "concurrent-ruby" + "deep_merge" + "facter" + "fast_gettext" + "locale" + "multi_json" + "puppet-resource_api" + "scanf" + "semantic_puppet" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b9a1spqh5zfmpr0f1rz597wr7s4d7d796768ms04ssd634r4539"; type = "gem"; }; version = "8.6.0"; }; puppet-resource_api = { - dependencies = ["hocon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "hocon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rxy5s7hl707x4sc1b4v2yqyii6pkym2gmsam3ri0f0xmmzyg0jb"; type = "gem"; }; version = "1.9.0"; }; scanf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "000vxsci3zq8m1wl7mmppj7sarznrqlm6v2x2hdfmbxcwpvvfgak"; type = "gem"; }; version = "1.0.0"; }; semantic_puppet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ndqm3jnpdlwkk1jwqdyyb7yw7gv6r4kmjs30g09ap8siv80ilaj"; type = "gem"; }; version = "1.1.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg"; type = "gem"; }; diff --git a/pkgs/by-name/pu/puppeteer-cli/package.nix b/pkgs/by-name/pu/puppeteer-cli/package.nix index 6a2eea146f0ca..03b71b728ab59 100644 --- a/pkgs/by-name/pu/puppeteer-cli/package.nix +++ b/pkgs/by-name/pu/puppeteer-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeWrapper -, chromium +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeWrapper, + chromium, }: buildNpmPackage rec { diff --git a/pkgs/by-name/pu/pur/package.nix b/pkgs/by-name/pu/pur/package.nix index 3b79fbc2ce163..d482cf0bc7a6d 100644 --- a/pkgs/by-name/pu/pur/package.nix +++ b/pkgs/by-name/pu/pur/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/pu/pure-ftpd/package.nix b/pkgs/by-name/pu/pure-ftpd/package.nix index 22a7d65fc1c37..1167bb654bfde 100644 --- a/pkgs/by-name/pu/pure-ftpd/package.nix +++ b/pkgs/by-name/pu/pure-ftpd/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, openssl, pam, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + openssl, + pam, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "pure-ftpd"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-ESbzqVhW0IiJ/4lwPLGqnsmSTZOdFU6WkEySDwXcPHQ="; }; - buildInputs = [ openssl pam libxcrypt ]; + buildInputs = [ + openssl + pam + libxcrypt + ]; configureFlags = [ "--with-tls" ]; diff --git a/pkgs/by-name/pu/pure-prompt/package.nix b/pkgs/by-name/pu/pure-prompt/package.nix index 20da12041805b..4339c54f3b4d8 100644 --- a/pkgs/by-name/pu/pure-prompt/package.nix +++ b/pkgs/by-name/pu/pure-prompt/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pure-prompt"; @@ -24,6 +28,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/sindresorhus/pure"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ pacien pablovsky ]; + maintainers = with maintainers; [ + pacien + pablovsky + ]; }; } diff --git a/pkgs/by-name/pu/puremapping/package.nix b/pkgs/by-name/pu/puremapping/package.nix index 5aef92ab61fb0..e0727483cee59 100644 --- a/pkgs/by-name/pu/puremapping/package.nix +++ b/pkgs/by-name/pu/puremapping/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, puredata }: +{ + lib, + stdenv, + fetchurl, + unzip, + puredata, +}: stdenv.mkDerivation rec { pname = "puremapping"; diff --git a/pkgs/by-name/pu/purescm/package.nix b/pkgs/by-name/pu/purescm/package.nix index 0eebd7f23e179..faee196e3eb92 100644 --- a/pkgs/by-name/pu/purescm/package.nix +++ b/pkgs/by-name/pu/purescm/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildNpmPackage -, fetchNpmDeps -, testers +{ + lib, + buildNpmPackage, + fetchNpmDeps, + testers, }: let diff --git a/pkgs/by-name/pu/purpur/package.nix b/pkgs/by-name/pu/purpur/package.nix index ad8f1b81097d1..74d2d33292434 100644 --- a/pkgs/by-name/pu/purpur/package.nix +++ b/pkgs/by-name/pu/purpur/package.nix @@ -1,11 +1,20 @@ -{ lib, stdenv, fetchurl, nixosTests, jre_headless, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + nixosTests, + jre_headless, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "purpur"; version = "1.19.2r1763"; src = fetchurl { - url = "https://api.purpurmc.org/v2/purpur/${builtins.replaceStrings [ "r" ] [ "/" ] version}/download"; + url = "https://api.purpurmc.org/v2/purpur/${ + builtins.replaceStrings [ "r" ] [ "/" ] version + }/download"; sha256 = "sha256-6wcCwVIGV32YQlgB57qthy6uWtuXGN4G8S7uAAgVyDE="; }; diff --git a/pkgs/by-name/pv/pv-migrate/package.nix b/pkgs/by-name/pv/pv-migrate/package.nix index ebb00206586d7..b1d3f8786d6cc 100644 --- a/pkgs/by-name/pv/pv-migrate/package.nix +++ b/pkgs/by-name/pv/pv-migrate/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "pv-migrate"; @@ -40,6 +45,9 @@ buildGoModule rec { homepage = "https://github.com/utkuozdemir/pv-migrate"; changelog = "https://github.com/utkuozdemir/pv-migrate/releases/tag/${version}"; license = licenses.afl20; - maintainers = with lib.maintainers; [ ivankovnatsky qjoly ]; + maintainers = with lib.maintainers; [ + ivankovnatsky + qjoly + ]; }; } diff --git a/pkgs/by-name/pv/pv/package.nix b/pkgs/by-name/pv/pv/package.nix index 4430a14ce9ab3..58932554733c7 100644 --- a/pkgs/by-name/pv/pv/package.nix +++ b/pkgs/by-name/pv/pv/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/pv/pvsneslib/package.nix b/pkgs/by-name/pv/pvsneslib/package.nix index fe78293e2e079..1289fa2fff63e 100644 --- a/pkgs/by-name/pv/pvsneslib/package.nix +++ b/pkgs/by-name/pv/pvsneslib/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gcc +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gcc, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ gcc cmake ]; + nativeBuildInputs = [ + gcc + cmake + ]; dontConfigure = true; diff --git a/pkgs/by-name/pw/pw-volume/package.nix b/pkgs/by-name/pw/pw-volume/package.nix index 290cd4ffbf2d2..5ebb94322d394 100644 --- a/pkgs/by-name/pw/pw-volume/package.nix +++ b/pkgs/by-name/pw/pw-volume/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/smasher164/pw-volume"; changelog = "https://github.com/smasher164/pw-volume/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ astro figsoda ]; + maintainers = with maintainers; [ + astro + figsoda + ]; platforms = platforms.linux; mainProgram = "pw-volume"; }; diff --git a/pkgs/by-name/pw/pw3270/package.nix b/pkgs/by-name/pw/pw3270/package.nix index d344b4e2dd2a7..2c4f1a3426760 100644 --- a/pkgs/by-name/pw/pw3270/package.nix +++ b/pkgs/by-name/pw/pw3270/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, which -, pkg-config -, automake -, autoconf -, libtool -, gtk3 -, libv3270 -, lib3270 -, openssl -, gettext -, desktop-file-utils -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + which, + pkg-config, + automake, + autoconf, + libtool, + gtk3, + libv3270, + lib3270, + openssl, + gettext, + desktop-file-utils, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pw/pwalarmctl/package.nix b/pkgs/by-name/pw/pwalarmctl/package.nix index ed0522307ebd7..8e30f53f98c6d 100644 --- a/pkgs/by-name/pw/pwalarmctl/package.nix +++ b/pkgs/by-name/pw/pwalarmctl/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, alsa-lib +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + alsa-lib, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pw/pwalarmd/package.nix b/pkgs/by-name/pw/pwalarmd/package.nix index 39a686f992883..77c3043f73d89 100644 --- a/pkgs/by-name/pw/pwalarmd/package.nix +++ b/pkgs/by-name/pw/pwalarmd/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, alsa-lib +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + alsa-lib, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/pw/pwgen-secure/package.nix b/pkgs/by-name/pw/pwgen-secure/package.nix index cc88e43875372..a9827117a9942 100644 --- a/pkgs/by-name/pw/pwgen-secure/package.nix +++ b/pkgs/by-name/pw/pwgen-secure/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: let inherit (python3Packages) buildPythonApplication pythonOlder; diff --git a/pkgs/by-name/pw/pwgen/package.nix b/pkgs/by-name/pw/pwgen/package.nix index 3c0ce6b21d506..05585886da8b1 100644 --- a/pkgs/by-name/pw/pwgen/package.nix +++ b/pkgs/by-name/pw/pwgen/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/pw/pwnat/package.nix b/pkgs/by-name/pw/pwnat/package.nix index d95608d5b648c..29d1b4c6e5bdc 100644 --- a/pkgs/by-name/pw/pwnat/package.nix +++ b/pkgs/by-name/pw/pwnat/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -11,9 +12,9 @@ stdenv.mkDerivation rec { version = "2023-03-31"; src = fetchFromGitHub { - owner = "samyk"; - repo = pname; - rev = "8ec62cdae53a2d573c9f9c906133ca45bbd3360a"; + owner = "samyk"; + repo = pname; + rev = "8ec62cdae53a2d573c9f9c906133ca45bbd3360a"; sha256 = "sha256-QodNw3ab8/TurKamg6AgMfQ08aalp4j6q663B+sWmRM="; }; @@ -31,11 +32,11 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "http://samy.pl/pwnat/"; + homepage = "http://samy.pl/pwnat/"; description = "ICMP NAT to NAT client-server communication"; - license = lib.licenses.gpl3Plus; + license = lib.licenses.gpl3Plus; maintainers = [ ]; - platforms = with platforms; linux; + platforms = with platforms; linux; mainProgram = "pwnat"; }; } diff --git a/pkgs/by-name/pw/pwndbg/package.nix b/pkgs/by-name/pw/pwndbg/package.nix index 5c612e7bfaa96..a87f63d004513 100644 --- a/pkgs/by-name/pw/pwndbg/package.nix +++ b/pkgs/by-name/pw/pwndbg/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, python3 -, makeWrapper -, gdb +{ + lib, + stdenv, + python3, + makeWrapper, + gdb, }: let @@ -10,12 +11,15 @@ let pythonPath = python3.pkgs.makePythonPath [ pwndbg-py ]; - binPath = lib.makeBinPath ([ - python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30 - python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32 - ]); + binPath = lib.makeBinPath ( + [ + python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30 + python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32 + ] + ); in stdenv.mkDerivation { pname = "pwndbg"; @@ -62,7 +66,11 @@ stdenv.mkDerivation { homepage = "https://github.com/pwndbg/pwndbg"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ mic92 patryk4815 msanft ]; + maintainers = with maintainers; [ + mic92 + patryk4815 + msanft + ]; # not supported on aarch64-darwin see: https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/ broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; }; diff --git a/pkgs/by-name/pw/pwru/package.nix b/pkgs/by-name/pw/pwru/package.nix index 33012d43aa268..42b8745f50e8f 100644 --- a/pkgs/by-name/pw/pwru/package.nix +++ b/pkgs/by-name/pw/pwru/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, clang -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + clang, + libpcap, }: buildGoModule rec { diff --git a/pkgs/by-name/pw/pwsafe/package.nix b/pkgs/by-name/pw/pwsafe/package.nix index 87a937da7f1a9..0ef4f94a3df1f 100644 --- a/pkgs/by-name/pw/pwsafe/package.nix +++ b/pkgs/by-name/pw/pwsafe/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, zip -, gettext -, perl -, wxGTK32 -, libXext -, libXi -, libXt -, libXtst -, xercesc -, qrencode -, libuuid -, libyubikey -, yubikey-personalization -, curl -, openssl -, file -, darwin -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + zip, + gettext, + perl, + wxGTK32, + libXext, + libXi, + libXt, + libXtst, + xercesc, + qrencode, + libuuid, + libyubikey, + yubikey-personalization, + curl, + openssl, + file, + darwin, + gitUpdater, }: let @@ -48,52 +49,59 @@ stdenv.mkDerivation rec { zip ]; - buildInputs = [ - wxGTK32 - curl - qrencode - openssl - xercesc - file - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libXext - libXi - libXt - libXtst - libuuid - libyubikey - yubikey-personalization - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ]; + buildInputs = + [ + wxGTK32 + curl + qrencode + openssl + xercesc + file + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libXext + libXi + libXt + libXtst + libuuid + libyubikey + yubikey-personalization + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; - cmakeFlags = [ - "-DNO_GTEST=ON" - "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DNO_YUBI=ON" - ]; + cmakeFlags = + [ + "-DNO_GTEST=ON" + "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DNO_YUBI=ON" + ]; - postPatch = '' - # Fix perl scripts used during the build. - for f in $(find . -type f -name '*.pl') ; do - patchShebangs $f - done + postPatch = + '' + # Fix perl scripts used during the build. + for f in $(find . -type f -name '*.pl') ; do + patchShebangs $f + done - # Fix hard coded paths. - for f in $(grep -Rl /usr/share/ src install/desktop) ; do - substituteInPlace $f --replace /usr/share/ $out/share/ - done + # Fix hard coded paths. + for f in $(grep -Rl /usr/share/ src install/desktop) ; do + substituteInPlace $f --replace /usr/share/ $out/share/ + done - # Fix hard coded zip path. - substituteInPlace help/Makefile.linux --replace /usr/bin/zip ${zip}/bin/zip + # Fix hard coded zip path. + substituteInPlace help/Makefile.linux --replace /usr/bin/zip ${zip}/bin/zip - for f in $(grep -Rl /usr/bin/ .) ; do - substituteInPlace $f --replace /usr/bin/ "" - done - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace src/ui/cli/CMakeLists.txt --replace "uuid" "" - ''; + for f in $(grep -Rl /usr/bin/ .) ; do + substituteInPlace $f --replace /usr/bin/ "" + done + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace src/ui/cli/CMakeLists.txt --replace "uuid" "" + ''; installFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -112,7 +120,10 @@ stdenv.mkDerivation rec { username/password combinations that you use. ''; homepage = "https://pwsafe.org/"; - maintainers = with maintainers; [ c0bw3b pjones ]; + maintainers = with maintainers; [ + c0bw3b + pjones + ]; platforms = platforms.unix; license = licenses.artistic2; }; diff --git a/pkgs/by-name/pw/pwvucontrol/package.nix b/pkgs/by-name/pw/pwvucontrol/package.nix index 2033158861680..30976363b5b03 100644 --- a/pkgs/by-name/pw/pwvucontrol/package.nix +++ b/pkgs/by-name/pw/pwvucontrol/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchFromGitLab -, cargo -, desktop-file-utils -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, wrapGAppsHook4 -, cairo -, gdk-pixbuf -, glib -, gtk4 -, libadwaita -, pango -, pipewire -, wireplumber +{ + lib, + stdenv, + fetchFromGitHub, + fetchFromGitLab, + cargo, + desktop-file-utils, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + cairo, + gdk-pixbuf, + glib, + gtk4, + libadwaita, + pango, + pipewire, + wireplumber, }: let diff --git a/pkgs/by-name/px/pxattr/package.nix b/pkgs/by-name/px/pxattr/package.nix index a5a7ab40115cc..a3d0fd4e732dc 100644 --- a/pkgs/by-name/px/pxattr/package.nix +++ b/pkgs/by-name/px/pxattr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gcc }: +{ + lib, + stdenv, + fetchurl, + gcc, +}: stdenv.mkDerivation rec { pname = "pxattr"; diff --git a/pkgs/by-name/px/pxder/package.nix b/pkgs/by-name/px/pxder/package.nix index 8621621fe8502..e01b261ae7815 100644 --- a/pkgs/by-name/px/pxder/package.nix +++ b/pkgs/by-name/px/pxder/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, fixup-yarn-lock -, yarn -, nodejs +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + fixup-yarn-lock, + yarn, + nodejs, }: stdenv.mkDerivation rec { @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { hash = "sha256-++MqWIUntXQwOYpgAJ3nhAtZ5nxmEreioVHQokYkw7w="; }; - nativeBuildInputs = [ + nativeBuildInputs = [ makeWrapper fixup-yarn-lock yarn diff --git a/pkgs/by-name/px/pxlib/package.nix b/pkgs/by-name/px/pxlib/package.nix index 6b31ef3257ddd..b0ac6d42e7fe1 100644 --- a/pkgs/by-name/px/pxlib/package.nix +++ b/pkgs/by-name/px/pxlib/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, intltool }: +{ + lib, + stdenv, + fetchurl, + intltool, +}: stdenv.mkDerivation rec { pname = "pxlib"; diff --git a/pkgs/by-name/px/pxview/package.nix b/pkgs/by-name/px/pxview/package.nix index 53698261560e9..ea3542adc879a 100644 --- a/pkgs/by-name/px/pxview/package.nix +++ b/pkgs/by-name/px/pxview/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, perl, perlPackages, pxlib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + perl, + perlPackages, + pxlib, +}: stdenv.mkDerivation rec { pname = "pxview"; @@ -8,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1kpdqs6lvnyj02v9fbz1s427yqhgrxp7zw63rzfgiwd4iqp75139"; }; - buildInputs = [ pxlib perl ] ++ (with perlPackages; [ libxml_perl ]); + buildInputs = [ + pxlib + perl + ] ++ (with perlPackages; [ libxml_perl ]); nativeBuildInputs = [ pkg-config ]; configureFlags = [ "--with-pxlib=${pxlib.out}" ]; diff --git a/pkgs/by-name/px/pxz/package.nix b/pkgs/by-name/px/pxz/package.nix index f61e80cbc0651..3e33115975cb5 100644 --- a/pkgs/by-name/px/pxz/package.nix +++ b/pkgs/by-name/px/pxz/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, pxz -, xz +{ + lib, + stdenv, + fetchFromGitHub, + testers, + pxz, + xz, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/py/py3c/package.nix b/pkgs/by-name/py/py3c/package.nix index 32e7d12491187..c8c75cff2ef7a 100644 --- a/pkgs/by-name/py/py3c/package.nix +++ b/pkgs/by-name/py/py3c/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python311 }: +{ + lib, + stdenv, + fetchFromGitHub, + python311, +}: stdenv.mkDerivation rec { pname = "py3c"; diff --git a/pkgs/by-name/py/pyCA/package.nix b/pkgs/by-name/py/pyCA/package.nix index eab7c5a7d2331..3af887e0c0510 100644 --- a/pkgs/by-name/py/pyCA/package.nix +++ b/pkgs/by-name/py/pyCA/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, buildNpmPackage -, fetchFromGitHub -, jq -, stdenv +{ + lib, + python3, + buildNpmPackage, + fetchFromGitHub, + jq, + stdenv, }: let @@ -28,7 +29,10 @@ let npmDepsHash = "sha256-0U+semrNWTkNu3uQQkiJKZT1hB0/IfkL84G7/oP8XYY="; - nativeBuildInputs = [ jq python ]; + nativeBuildInputs = [ + jq + python + ]; postPatch = '' ${jq}/bin/jq '. += {"version": "${version}"}' < package.json > package.json.tmp diff --git a/pkgs/by-name/py/pybibget/package.nix b/pkgs/by-name/py/pybibget/package.nix index c57d74bf5d2d3..83eb642ce5b7a 100644 --- a/pkgs/by-name/py/pybibget/package.nix +++ b/pkgs/by-name/py/pybibget/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let @@ -13,7 +14,7 @@ let }; in -python3.pkgs.buildPythonApplication { +python3.pkgs.buildPythonApplication { inherit pname version src; pyproject = true; diff --git a/pkgs/by-name/py/pydf/package.nix b/pkgs/by-name/py/pydf/package.nix index 61f79edeab16b..d1e2e5291dd66 100644 --- a/pkgs/by-name/py/pydf/package.nix +++ b/pkgs/by-name/py/pydf/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonPackage rec { pname = "pydf"; diff --git a/pkgs/by-name/py/pykms/package.nix b/pkgs/by-name/py/pykms/package.nix index b94922d355964..ba8710caeba36 100644 --- a/pkgs/by-name/py/pykms/package.nix +++ b/pkgs/by-name/py/pykms/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3 -, writeText -, writeShellScript -, sqlite -, nixosTests +{ + lib, + fetchFromGitHub, + python3, + writeText, + writeShellScript, + sqlite, + nixosTests, }: let pypkgs = python3.pkgs; @@ -46,7 +47,12 @@ pypkgs.buildPythonApplication rec { sourceRoot = "${src.name}/py-kms"; - propagatedBuildInputs = with pypkgs; [ systemd pytz tzlocal dnspython ]; + propagatedBuildInputs = with pypkgs; [ + systemd + pytz + tzlocal + dnspython + ]; postPatch = '' siteDir=$out/${python3.sitePackages} @@ -90,6 +96,9 @@ pypkgs.buildPythonApplication rec { description = "Windows KMS (Key Management Service) server written in Python"; homepage = "https://github.com/Py-KMS-Organization/py-kms"; license = licenses.unlicense; - maintainers = with maintainers; [ peterhoeg zopieux ]; + maintainers = with maintainers; [ + peterhoeg + zopieux + ]; }; } diff --git a/pkgs/by-name/py/pylint-exit/package.nix b/pkgs/by-name/py/pylint-exit/package.nix index 6bd5591b57e92..9095d4456e9da 100644 --- a/pkgs/by-name/py/pylint-exit/package.nix +++ b/pkgs/by-name/py/pylint-exit/package.nix @@ -1,6 +1,11 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: -with python3Packages; buildPythonApplication rec { +with python3Packages; +buildPythonApplication rec { pname = "pylint-exit"; version = "1.2.0"; diff --git a/pkgs/by-name/py/pylode/package.nix b/pkgs/by-name/py/pylode/package.nix index 7212da7b867f4..0652522a945d5 100644 --- a/pkgs/by-name/py/pylode/package.nix +++ b/pkgs/by-name/py/pylode/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/py/pympress/package.nix b/pkgs/by-name/py/pympress/package.nix index f370ecec9ddfd..8c8801fe8cd93 100644 --- a/pkgs/by-name/py/pympress/package.nix +++ b/pkgs/by-name/py/pympress/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, python3Packages -, fetchPypi -, wrapGAppsHook3 -, gtk3 -, gobject-introspection -, libcanberra-gtk3 -, poppler_gi -, withGstreamer ? stdenv.hostPlatform.isLinux -, gst_all_1 -, withVLC ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + python3Packages, + fetchPypi, + wrapGAppsHook3, + gtk3, + gobject-introspection, + libcanberra-gtk3, + poppler_gi, + withGstreamer ? stdenv.hostPlatform.isLinux, + gst_all_1, + withVLC ? stdenv.hostPlatform.isLinux, }: python3Packages.buildPythonApplication rec { @@ -27,26 +28,31 @@ python3Packages.buildPythonApplication rec { gobject-introspection ]; - buildInputs = [ - gtk3 - poppler_gi - ] ++ lib.optionals withGstreamer [ - libcanberra-gtk3 - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly - (gst_all_1.gst-plugins-good.override {gtkSupport = true;}) - gst_all_1.gst-libav - gst_all_1.gst-vaapi - ]; + buildInputs = + [ + gtk3 + poppler_gi + ] + ++ lib.optionals withGstreamer [ + libcanberra-gtk3 + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) + gst_all_1.gst-libav + gst_all_1.gst-vaapi + ]; - propagatedBuildInputs = with python3Packages; [ - pycairo - pygobject3 - setuptools - watchdog - ] ++ lib.optional withVLC python-vlc; + propagatedBuildInputs = + with python3Packages; + [ + pycairo + pygobject3 + setuptools + watchdog + ] + ++ lib.optional withVLC python-vlc; doCheck = false; # there are no tests diff --git a/pkgs/by-name/py/pynac/package.nix b/pkgs/by-name/py/pynac/package.nix index 1389a5a77ece9..0b9977c559068 100644 --- a/pkgs/by-name/py/pynac/package.nix +++ b/pkgs/by-name/py/pynac/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchpatch -, fetchFromGitHub -, autoreconfHook -, pkg-config -, flint -, gmp -, python3 -, singular -, ncurses +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + autoreconfHook, + pkg-config, + flint, + gmp, + python3, + singular, + ncurses, }: stdenv.mkDerivation (finalAttrs: { @@ -58,9 +60,9 @@ stdenv.mkDerivation (finalAttrs: { It is a lite version of GiNaC as well, not implementing all the features of the full GiNaC, and it is *only* meant to be used as a Python library. ''; - homepage = "http://pynac.org"; + homepage = "http://pynac.org"; license = licenses.gpl2Plus; maintainers = teams.sage.members; - platforms = platforms.unix; + platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/py/pynitrokey/package.nix b/pkgs/by-name/py/pynitrokey/package.nix index aadc6d4a56e8e..c0fb4438251f1 100644 --- a/pkgs/by-name/py/pynitrokey/package.nix +++ b/pkgs/by-name/py/pynitrokey/package.nix @@ -1,3 +1,4 @@ { python3 }: -with python3.pkgs; toPythonApplication pynitrokey +with python3.pkgs; +toPythonApplication pynitrokey diff --git a/pkgs/by-name/py/pyp/package.nix b/pkgs/by-name/py/pyp/package.nix index 08f3fdc63d491..88b51e0943ea2 100644 --- a/pkgs/by-name/py/pyp/package.nix +++ b/pkgs/by-name/py/pyp/package.nix @@ -1,8 +1,9 @@ -{ lib -, bc -, fetchFromGitHub -, jq -, python3 +{ + lib, + bc, + fetchFromGitHub, + jq, + python3, }: let @@ -24,12 +25,14 @@ let flit-core ]; - nativeCheckInputs = (with pythonPackages; [ - pytestCheckHook - ]) ++ [ - bc - jq - ]; + nativeCheckInputs = + (with pythonPackages; [ + pytestCheckHook + ]) + ++ [ + bc + jq + ]; pythonImportsCheck = [ "pyp" @@ -40,7 +43,7 @@ let preCheck = '' _OLD_PATH_=$PATH PATH=$out/bin:$PATH - ''; + ''; # And a cleanup! postCheck = '' @@ -53,7 +56,10 @@ let changelog = "https://github.com/hauntsaninja/pyp/blob/${finalAttrs.version}/CHANGELOG.md"; license = with lib.licenses; [ mit ]; mainProgram = "pyp"; - maintainers = with lib.maintainers; [ rmcgibbo AndersonTorres ]; + maintainers = with lib.maintainers; [ + rmcgibbo + AndersonTorres + ]; }; }; in diff --git a/pkgs/by-name/py/pypi-mirror/package.nix b/pkgs/by-name/py/pypi-mirror/package.nix index 8d55d7b73cf99..e1c0cea0e8f8a 100644 --- a/pkgs/by-name/py/pypi-mirror/package.nix +++ b/pkgs/by-name/py/pypi-mirror/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitHub -, lib -, python3 +{ + fetchFromGitHub, + lib, + python3, }: python3.pkgs.buildPythonApplication rec { pname = "pypi-mirror"; diff --git a/pkgs/by-name/py/pyprland/package.nix b/pkgs/by-name/py/pyprland/package.nix index 009fae318cff9..04b1737ab5077 100644 --- a/pkgs/by-name/py/pyprland/package.nix +++ b/pkgs/by-name/py/pyprland/package.nix @@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec { "pyprland.plugins.workspaces_follow_focus" ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = { mainProgram = "pypr"; diff --git a/pkgs/by-name/py/pyradio/package.nix b/pkgs/by-name/py/pyradio/package.nix index 85ccaedd97a8b..2031fff68d417 100644 --- a/pkgs/by-name/py/pyradio/package.nix +++ b/pkgs/by-name/py/pyradio/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchFromGitHub -, installShellFiles +{ + lib, + python3Packages, + fetchFromGitHub, + installShellFiles, }: python3Packages.buildPythonApplication rec { @@ -48,6 +49,9 @@ python3Packages.buildPythonApplication rec { mainProgram = "pyradio"; changelog = "https://github.com/coderholic/pyradio/releases/tag/${version}"; license = licenses.mit; - maintainers = with maintainers; [ contrun yayayayaka ]; + maintainers = with maintainers; [ + contrun + yayayayaka + ]; }; } diff --git a/pkgs/by-name/py/pyrosimple/package.nix b/pkgs/by-name/py/pyrosimple/package.nix index cea1cf216a2e0..a47aa447d1c95 100644 --- a/pkgs/by-name/py/pyrosimple/package.nix +++ b/pkgs/by-name/py/pyrosimple/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pyrosimple -, python3 -, testers -, withInotify ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pyrosimple, + python3, + testers, + withInotify ? stdenv.hostPlatform.isLinux, }: python3.pkgs.buildPythonApplication rec { @@ -29,22 +30,26 @@ python3.pkgs.buildPythonApplication rec { poetry-core ]; - propagatedBuildInputs = with python3.pkgs; [ - bencode-py - apscheduler - jinja2 - python-daemon - importlib-resources - parsimonious - prometheus-client - prompt-toolkit - requests - shtab - python-box - tomli-w - ] ++ lib.optionals (pythonOlder "3.11") [ - tomli - ] ++ lib.optional withInotify inotify; + propagatedBuildInputs = + with python3.pkgs; + [ + bencode-py + apscheduler + jinja2 + python-daemon + importlib-resources + parsimonious + prometheus-client + prompt-toolkit + requests + shtab + python-box + tomli-w + ] + ++ lib.optionals (pythonOlder "3.11") [ + tomli + ] + ++ lib.optional withInotify inotify; nativeCheckInputs = with python3.pkgs; [ pytestCheckHook @@ -63,6 +68,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://kannibalox.github.io/pyrosimple/"; changelog = "https://github.com/kannibalox/pyrosimple/blob/v${version}/CHANGELOG.md"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ ne9z vamega ]; + maintainers = with maintainers; [ + ne9z + vamega + ]; }; } diff --git a/pkgs/by-name/py/pyrseas/package.nix b/pkgs/by-name/py/pyrseas/package.nix index 03b0a5cecbbbf..b408f480b572b 100644 --- a/pkgs/by-name/py/pyrseas/package.nix +++ b/pkgs/by-name/py/pyrseas/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: let pgdbconn = python3Packages.buildPythonPackage rec { @@ -15,7 +19,10 @@ let # The tests are impure (they try to access a PostgreSQL server) doCheck = false; - propagatedBuildInputs = with python3Packages; [ psycopg2 pytest ]; + propagatedBuildInputs = with python3Packages; [ + psycopg2 + pytest + ]; }; in diff --git a/pkgs/by-name/py/pysentation/package.nix b/pkgs/by-name/py/pysentation/package.nix index 41568d0295b32..508d0486562df 100644 --- a/pkgs/by-name/py/pysentation/package.nix +++ b/pkgs/by-name/py/pysentation/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/py/pyspread/package.nix b/pkgs/by-name/py/pyspread/package.nix index 3342daef62008..de0b06f85e08d 100644 --- a/pkgs/by-name/py/pyspread/package.nix +++ b/pkgs/by-name/py/pyspread/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchPypi -, copyDesktopItems -, libsForQt5 -, makeDesktopItem +{ + lib, + python3, + fetchPypi, + copyDesktopItems, + libsForQt5, + makeDesktopItem, }: let @@ -16,7 +17,8 @@ let }; inherit (libsForQt5) qtsvg - wrapQtAppsHook; + wrapQtAppsHook + ; in python3.pkgs.buildPythonApplication { inherit pname version src; @@ -54,7 +56,11 @@ python3.pkgs.buildPythonApplication { desktopName = "Pyspread"; genericName = "Spreadsheet"; comment = "A Python-oriented spreadsheet application"; - categories = [ "Office" "Development" "Spreadsheet" ]; + categories = [ + "Office" + "Development" + "Spreadsheet" + ]; }) ]; diff --git a/pkgs/by-name/py/pystring/package.nix b/pkgs/by-name/py/pystring/package.nix index 4ed250439803b..3e885d78d1c60 100644 --- a/pkgs/by-name/py/pystring/package.nix +++ b/pkgs/by-name/py/pystring/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "pystring"; diff --git a/pkgs/by-name/py/python-cosmopolitan/package.nix b/pkgs/by-name/py/python-cosmopolitan/package.nix index a513c097fbcbe..8e24c76668053 100644 --- a/pkgs/by-name/py/python-cosmopolitan/package.nix +++ b/pkgs/by-name/py/python-cosmopolitan/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, cosmopolitan, unzip, bintools-unwrapped }: +{ + lib, + stdenv, + cosmopolitan, + unzip, + bintools-unwrapped, +}: stdenv.mkDerivation rec { pname = "python-cosmopolitan"; @@ -6,7 +12,10 @@ stdenv.mkDerivation rec { src = cosmopolitan.dist; - nativeBuildInputs = [ bintools-unwrapped unzip ]; + nativeBuildInputs = [ + bintools-unwrapped + unzip + ]; # slashes are significant because upstream uses o/$(MODE)/foo.o buildFlags = [ "o//third_party/python" ]; diff --git a/pkgs/by-name/py/python-launcher/package.nix b/pkgs/by-name/py/python-launcher/package.nix index 854f1e39e1a2d..ebdc31a1ebf75 100644 --- a/pkgs/by-name/py/python-launcher/package.nix +++ b/pkgs/by-name/py/python-launcher/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, python3 }: +{ + lib, + rustPlatform, + fetchFromGitHub, + python3, +}: rustPlatform.buildRustPackage rec { pname = "python-launcher"; diff --git a/pkgs/by-name/py/pytrainer/package.nix b/pkgs/by-name/py/pytrainer/package.nix index 80ebfc7c5a110..aa075f4f8604a 100644 --- a/pkgs/by-name/py/pytrainer/package.nix +++ b/pkgs/by-name/py/pytrainer/package.nix @@ -1,31 +1,35 @@ -{ lib -, python3 -, fetchFromGitHub -, gdk-pixbuf -, adwaita-icon-theme -, gpsbabel -, glib-networking -, glibcLocales -, gobject-introspection -, gtk3 -, perl -, sqlite -, tzdata -, webkitgtk_4_0 -, wrapGAppsHook3 -, xvfb-run +{ + lib, + python3, + fetchFromGitHub, + gdk-pixbuf, + adwaita-icon-theme, + gpsbabel, + glib-networking, + glibcLocales, + gobject-introspection, + gtk3, + perl, + sqlite, + tzdata, + webkitgtk_4_0, + wrapGAppsHook3, + xvfb-run, }: let python = python3.override { self = python; - packageOverrides = (self: super: { - matplotlib = super.matplotlib.override { - enableGtk3 = true; - }; - }); + packageOverrides = ( + self: super: { + matplotlib = super.matplotlib.override { + enableGtk3 = true; + }; + } + ); }; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "pytrainer"; version = "2.2.1"; @@ -61,17 +65,25 @@ in python.pkgs.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ perl gpsbabel ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + perl + gpsbabel + ]) ]; - nativeCheckInputs = [ - glibcLocales - perl - xvfb-run - ] ++ (with python.pkgs; [ - mysqlclient - psycopg2 - ]); + nativeCheckInputs = + [ + glibcLocales + perl + xvfb-run + ] + ++ (with python.pkgs; [ + mysqlclient + psycopg2 + ]); postPatch = '' substituteInPlace pytrainer/platform.py \ @@ -92,7 +104,10 @@ in python.pkgs.buildPythonApplication rec { homepage = "https://github.com/pytrainer/pytrainer"; description = "Application for logging and graphing sporting excursions"; mainProgram = "pytrainer"; - maintainers = with maintainers; [ rycee dotlambda ]; + maintainers = with maintainers; [ + rycee + dotlambda + ]; license = licenses.gpl2Plus; platforms = platforms.linux; }; diff --git a/pkgs/by-name/pz/pzip/package.nix b/pkgs/by-name/pz/pzip/package.nix index 625f1f4492bc4..36a95dd991dfb 100644 --- a/pkgs/by-name/pz/pzip/package.nix +++ b/pkgs/by-name/pz/pzip/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, unzip +{ + lib, + buildGoModule, + fetchFromGitHub, + unzip, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { unzip ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Fast concurrent zip archiver and extractor"; diff --git a/pkgs/by-name/q-/q-text-as-data/package.nix b/pkgs/by-name/q-/q-text-as-data/package.nix index 5a63752b82383..aff72741d8740 100644 --- a/pkgs/by-name/q-/q-text-as-data/package.nix +++ b/pkgs/by-name/q-/q-text-as-data/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "q-text-as-data"; diff --git a/pkgs/by-name/qa/qadwaitadecorations/package.nix b/pkgs/by-name/qa/qadwaitadecorations/package.nix index bbfeec06f27db..dfeb8bde12079 100644 --- a/pkgs/by-name/qa/qadwaitadecorations/package.nix +++ b/pkgs/by-name/qa/qadwaitadecorations/package.nix @@ -1,23 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qt5 -, qt6 -, wayland -, nix-update-script -, useQt6 ? false - -# Shadows support on Qt5 requires the feature backported from Qt6: -# https://src.fedoraproject.org/rpms/qt5-qtwayland/blob/rawhide/f/qtwayland-decoration-support-backports-from-qt6.patch -, qt5ShadowsSupport ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt5, + qt6, + wayland, + nix-update-script, + useQt6 ? false, + + # Shadows support on Qt5 requires the feature backported from Qt6: + # https://src.fedoraproject.org/rpms/qt5-qtwayland/blob/rawhide/f/qtwayland-decoration-support-backports-from-qt6.patch + qt5ShadowsSupport ? false, }: let qt = if useQt6 then qt6 else qt5; qtVersion = if useQt6 then "6" else "5"; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "qadwaitadecorations"; version = "0.1.6"; @@ -41,9 +43,11 @@ in stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; - cmakeFlags = [ - "-DQT_PLUGINS_DIR=${placeholder "out"}/${qt.qtbase.qtPluginPrefix}" - ] ++ lib.optional useQt6 "-DUSE_QT6=true" + cmakeFlags = + [ + "-DQT_PLUGINS_DIR=${placeholder "out"}/${qt.qtbase.qtPluginPrefix}" + ] + ++ lib.optional useQt6 "-DUSE_QT6=true" ++ lib.optional qt5ShadowsSupport "-DHAS_QT6_SUPPORT=true"; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/qa/qalculate-gtk/package.nix b/pkgs/by-name/qa/qalculate-gtk/package.nix index a4b148ad8da38..c1ee7e570322e 100644 --- a/pkgs/by-name/qa/qalculate-gtk/package.nix +++ b/pkgs/by-name/qa/qalculate-gtk/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, intltool, autoreconfHook, pkg-config, libqalculate, gtk3, curl, wrapGAppsHook3, desktopToDarwinBundle }: +{ + lib, + stdenv, + fetchFromGitHub, + intltool, + autoreconfHook, + pkg-config, + libqalculate, + gtk3, + curl, + wrapGAppsHook3, + desktopToDarwinBundle, +}: stdenv.mkDerivation (finalAttrs: { pname = "qalculate-gtk"; @@ -13,9 +25,17 @@ stdenv.mkDerivation (finalAttrs: { hardeningDisable = [ "format" ]; - nativeBuildInputs = [ intltool pkg-config autoreconfHook wrapGAppsHook3 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; - buildInputs = [ libqalculate gtk3 curl ]; + nativeBuildInputs = [ + intltool + pkg-config + autoreconfHook + wrapGAppsHook3 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + buildInputs = [ + libqalculate + gtk3 + curl + ]; enableParallelBuilding = true; meta = with lib; { diff --git a/pkgs/by-name/qb/qbe/package.nix b/pkgs/by-name/qb/qbe/package.nix index f37de57b535e5..194b374e4faf8 100644 --- a/pkgs/by-name/qb/qbe/package.nix +++ b/pkgs/by-name/qb/qbe/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, callPackage +{ + lib, + stdenv, + fetchzip, + callPackage, }: stdenv.mkDerivation (finalAttrs: { pname = "qbe"; diff --git a/pkgs/by-name/qb/qbe/test-can-run-hello-world.nix b/pkgs/by-name/qb/qbe/test-can-run-hello-world.nix index 5192bb881f343..8194f08eeccec 100644 --- a/pkgs/by-name/qb/qbe/test-can-run-hello-world.nix +++ b/pkgs/by-name/qb/qbe/test-can-run-hello-world.nix @@ -1,25 +1,28 @@ -{ stdenv -, writeText -, qbe +{ + stdenv, + writeText, + qbe, }: # The hello world program available at https://c9x.me/compile/ -let helloWorld = writeText "hello-world.ssa" '' - function w $add(w %a, w %b) { # Define a function add - @start - %c =w add %a, %b # Adds the 2 arguments - ret %c # Return the result - } - export function w $main() { # Main function - @start - %r =w call $add(w 1, w 1) # Call add(1, 1) - call $printf(l $fmt, w %r, ...) # Show the result - ret 0 - } - data $fmt = { b "One and one make %d!\n", b 0 } -''; +let + helloWorld = writeText "hello-world.ssa" '' + function w $add(w %a, w %b) { # Define a function add + @start + %c =w add %a, %b # Adds the 2 arguments + ret %c # Return the result + } + export function w $main() { # Main function + @start + %r =w call $add(w 1, w 1) # Call add(1, 1) + call $printf(l $fmt, w %r, ...) # Show the result + ret 0 + } + data $fmt = { b "One and one make %d!\n", b 0 } + ''; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "qbe-test-can-run-hello-world"; meta.timeout = 10; buildCommand = '' @@ -29,4 +32,3 @@ in stdenv.mkDerivation { touch $out ''; } - diff --git a/pkgs/by-name/qb/qbec/package.nix b/pkgs/by-name/qb/qbec/package.nix index c6451cebfedd3..3024e29a8feec 100644 --- a/pkgs/by-name/qb/qbec/package.nix +++ b/pkgs/by-name/qb/qbec/package.nix @@ -1,4 +1,9 @@ -{ lib, go, buildGoModule, fetchFromGitHub }: +{ + lib, + go, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "qbec"; @@ -16,7 +21,8 @@ buildGoModule rec { doCheck = false; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/splunk/qbec/internal/commands.version=${version}" "-X github.com/splunk/qbec/internal/commands.commit=${src.rev}" "-X github.com/splunk/qbec/internal/commands.goVersion=${lib.getVersion go}" diff --git a/pkgs/by-name/qc/qc/package.nix b/pkgs/by-name/qc/qc/package.nix index 02e6cefd9ff4b..31121dc707bbe 100644 --- a/pkgs/by-name/qc/qc/package.nix +++ b/pkgs/by-name/qc/qc/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "qc"; @@ -14,7 +19,9 @@ buildGoModule rec { vendorHash = "sha256-Cg1Op/4okIi2UTtqWnR0N3iMWzrYEaYxmXzvWIibftg="; ldflags = [ - "-s" "-w" "-X=github.com/qownnotes/qc/cmd.version=${version}" + "-s" + "-w" + "-X=github.com/qownnotes/qc/cmd.version=${version}" ]; # There are no automated tests @@ -39,6 +46,9 @@ buildGoModule rec { mainProgram = "qc"; homepage = "https://github.com/qownnotes/qc"; license = licenses.mit; - maintainers = with maintainers; [ pbek totoroot ]; + maintainers = with maintainers; [ + pbek + totoroot + ]; }; } diff --git a/pkgs/by-name/qc/qcard/package.nix b/pkgs/by-name/qc/qcard/package.nix index 16ffb5d686fea..2b16fc335a705 100644 --- a/pkgs/by-name/qc/qcard/package.nix +++ b/pkgs/by-name/qc/qcard/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromSourcehut +{ + lib, + buildGoModule, + fetchFromSourcehut, }: buildGoModule rec { diff --git a/pkgs/by-name/qc/qcdnum/package.nix b/pkgs/by-name/qc/qcdnum/package.nix index 565a0c317cd85..2db2f8f837c8e 100644 --- a/pkgs/by-name/qc/qcdnum/package.nix +++ b/pkgs/by-name/qc/qcdnum/package.nix @@ -1,11 +1,19 @@ -{ lib, stdenv, fetchurl, gfortran, zlib }: +{ + lib, + stdenv, + fetchurl, + gfortran, + zlib, +}: stdenv.mkDerivation rec { pname = "QCDNUM"; version = "18-00-00"; src = fetchurl { - url = "http://www.nikhef.nl/user/h24/qcdnum-files/download/qcdnum${builtins.replaceStrings ["-"] [""] version}.tar.gz"; + url = "http://www.nikhef.nl/user/h24/qcdnum-files/download/qcdnum${ + builtins.replaceStrings [ "-" ] [ "" ] version + }.tar.gz"; hash = "sha256-4Qj5JreEA1LkCAunGRTTQD7YEYNk+HcQ4iH97DIO4gA="; }; @@ -21,9 +29,9 @@ stdenv.mkDerivation rec { meta = { description = "Very fast QCD evolution program written in FORTRAN77"; mainProgram = "qcdnum-config"; - license = lib.licenses.gpl3; - homepage = "https://www.nikhef.nl/~h24/qcdnum/index.html"; - platforms = lib.platforms.unix; + license = lib.licenses.gpl3; + homepage = "https://www.nikhef.nl/~h24/qcdnum/index.html"; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/qd/qdl/package.nix b/pkgs/by-name/qd/qdl/package.nix index 24c62722c1411..7edc70d122c79 100644 --- a/pkgs/by-name/qd/qdl/package.nix +++ b/pkgs/by-name/qd/qdl/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, libxml2 -, systemd -, libusb1 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libxml2, + systemd, + libusb1, + unstableGitUpdater, }: stdenv.mkDerivation { - pname = "qdl"; + pname = "qdl"; version = "unstable-2024-06-10"; src = fetchFromGitHub { @@ -20,7 +21,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ systemd libxml2 libusb1 ]; + buildInputs = [ + systemd + libxml2 + libusb1 + ]; installPhase = '' runHook preInstall @@ -32,7 +37,10 @@ stdenv.mkDerivation { homepage = "https://github.com/linux-msm/qdl"; description = "Tool for flashing images to Qualcomm devices"; license = licenses.bsd3; - maintainers = with maintainers; [ muscaln anas ]; + maintainers = with maintainers; [ + muscaln + anas + ]; platforms = platforms.linux; mainProgram = "qdl"; }; diff --git a/pkgs/by-name/qe/qemacs/package.nix b/pkgs/by-name/qe/qemacs/package.nix index 46ecfa0259599..a745ea233978f 100644 --- a/pkgs/by-name/qe/qemacs/package.nix +++ b/pkgs/by-name/qe/qemacs/package.nix @@ -1,11 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages -, which -, texi2html -, enableX11 ? true -, libX11, libXext, libXv, libpng +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, + which, + texi2html, + enableX11 ? true, + libX11, + libXext, + libXv, + libpng, }: stdenv.mkDerivation rec { @@ -25,16 +29,26 @@ stdenv.mkDerivation rec { '$(INSTALL) -m 755 -s --strip-program=${stdenv.cc.targetPrefix}strip' ''; - nativeBuildInputs = [ which texi2html ]; - buildInputs = lib.optionals enableX11 [ libpng libX11 libXext libXv ]; + nativeBuildInputs = [ + which + texi2html + ]; + buildInputs = lib.optionals enableX11 [ + libpng + libX11 + libXext + libXv + ]; enableParallelBuilding = true; - configureFlags = [ - "--cross-prefix=${stdenv.cc.targetPrefix}" - ] ++ lib.optionals (!enableX11) [ - "--disable-x11" - ]; + configureFlags = + [ + "--cross-prefix=${stdenv.cc.targetPrefix}" + ] + ++ lib.optionals (!enableX11) [ + "--disable-x11" + ]; makeFlags = [ # is actually used as BUILD_CC diff --git a/pkgs/by-name/qg/qgrep/package.nix b/pkgs/by-name/qg/qgrep/package.nix index f485aa0d9147e..dbcd06c4ce670 100644 --- a/pkgs/by-name/qg/qgrep/package.nix +++ b/pkgs/by-name/qg/qgrep/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + darwin, }: stdenv.mkDerivation rec { @@ -30,10 +31,12 @@ stdenv.mkDerivation rec { darwin.apple_sdk.frameworks.CoreFoundation ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-error=unused-command-line-argument" - "-Wno-error=unqualified-std-cast-call" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-error=unused-command-line-argument" + "-Wno-error=unqualified-std-cast-call" + ] + ); installPhase = '' runHook preInstall diff --git a/pkgs/by-name/qh/qhull/package.nix b/pkgs/by-name/qh/qhull/package.nix index 998575bb166c1..84777ff28cdcb 100644 --- a/pkgs/by-name/qh/qhull/package.nix +++ b/pkgs/by-name/qh/qhull/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, fixDarwinDylibNames }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "qhull"; @@ -11,8 +17,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-djUO3qzY8ch29AuhY3Bn1ajxWZ4/W70icWVrxWRAxRc="; }; - nativeBuildInputs = [ cmake ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; meta = with lib; { homepage = "http://www.qhull.org/"; diff --git a/pkgs/by-name/qm/qm-dsp/package.nix b/pkgs/by-name/qm/qm-dsp/package.nix index 2201f02c62e87..634029eb900b9 100644 --- a/pkgs/by-name/qm/qm-dsp/package.nix +++ b/pkgs/by-name/qm/qm-dsp/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, kissfft +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + kissfft, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/qm/qmidiarp/package.nix b/pkgs/by-name/qm/qmidiarp/package.nix index 1208697dc3a44..2b3f4ae16f96f 100644 --- a/pkgs/by-name/qm/qmidiarp/package.nix +++ b/pkgs/by-name/qm/qmidiarp/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchgit -, autoreconfHook -, lv2 -, pkg-config -, qt5 -, alsa-lib -, libjack2 +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + lv2, + pkg-config, + qt5, + alsa-lib, + libjack2, }: stdenv.mkDerivation rec { @@ -24,13 +26,15 @@ stdenv.mkDerivation rec { qt5.wrapQtAppsHook ]; - buildInputs = [ - alsa-lib - lv2 - libjack2 - ] ++ (with qt5; [ - qttools - ]); + buildInputs = + [ + alsa-lib + lv2 + libjack2 + ] + ++ (with qt5; [ + qttools + ]); meta = with lib; { description = "Advanced MIDI arpeggiator"; diff --git a/pkgs/by-name/qm/qmk-udev-rules/package.nix b/pkgs/by-name/qm/qmk-udev-rules/package.nix index bd322bfa100e9..8775e8dd37ee7 100644 --- a/pkgs/by-name/qm/qmk-udev-rules/package.nix +++ b/pkgs/by-name/qm/qmk-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: ## Usage # In NixOS, set hardware.keyboard.qmk.enable = true; diff --git a/pkgs/by-name/qm/qmk/package.nix b/pkgs/by-name/qm/qmk/package.nix index b45d480ba16d1..730d45db20614 100644 --- a/pkgs/by-name/qm/qmk/package.nix +++ b/pkgs/by-name/qm/qmk/package.nix @@ -1,14 +1,15 @@ -{ lib -, python3 -, fetchPypi -, pkgsCross -, avrdude -, dfu-programmer -, dfu-util -, wb32-dfu-updater -, gcc-arm-embedded -, gnumake -, teensy-loader-cli +{ + lib, + python3, + fetchPypi, + pkgsCross, + avrdude, + dfu-programmer, + dfu-util, + wb32-dfu-updater, + gcc-arm-embedded, + gnumake, + teensy-loader-cli, }: python3.pkgs.buildPythonApplication rec { @@ -25,29 +26,33 @@ python3.pkgs.buildPythonApplication rec { setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ - dotty-dict - hid - hjson - jsonschema - milc - pygments - pyserial - pyusb - pillow - ] ++ [ # Binaries need to be in the path so this is in propagatedBuildInputs - avrdude - dfu-programmer - dfu-util - wb32-dfu-updater - teensy-loader-cli - gcc-arm-embedded - gnumake - pkgsCross.avr.buildPackages.binutils - pkgsCross.avr.buildPackages.binutils.bintools - pkgsCross.avr.buildPackages.gcc - pkgsCross.avr.libcCross - ]; + propagatedBuildInputs = + with python3.pkgs; + [ + dotty-dict + hid + hjson + jsonschema + milc + pygments + pyserial + pyusb + pillow + ] + ++ [ + # Binaries need to be in the path so this is in propagatedBuildInputs + avrdude + dfu-programmer + dfu-util + wb32-dfu-updater + teensy-loader-cli + gcc-arm-embedded + gnumake + pkgsCross.avr.buildPackages.binutils + pkgsCross.avr.buildPackages.binutils.bintools + pkgsCross.avr.buildPackages.gcc + pkgsCross.avr.libcCross + ]; # no tests implemented doCheck = false; @@ -70,7 +75,10 @@ python3.pkgs.buildPythonApplication rec { - ... and many more! ''; license = licenses.mit; - maintainers = with maintainers; [ bhipple ekleog ]; + maintainers = with maintainers; [ + bhipple + ekleog + ]; mainProgram = "qmk"; }; } diff --git a/pkgs/by-name/qm/qmk_hid/package.nix b/pkgs/by-name/qm/qmk_hid/package.nix index f620dabb19cd7..2487283451537 100644 --- a/pkgs/by-name/qm/qmk_hid/package.nix +++ b/pkgs/by-name/qm/qmk_hid/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, systemd +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + systemd, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/qm/qmqtt/package.nix b/pkgs/by-name/qm/qmqtt/package.nix index 6ccf272f61e26..45789db4a2bff 100644 --- a/pkgs/by-name/qm/qmqtt/package.nix +++ b/pkgs/by-name/qm/qmqtt/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qt5 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt5, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/qn/qnial/package.nix b/pkgs/by-name/qn/qnial/package.nix index 0ba34b8a65723..afba39d315f6c 100644 --- a/pkgs/by-name/qn/qnial/package.nix +++ b/pkgs/by-name/qn/qnial/package.nix @@ -25,8 +25,8 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - ncurses - libxcrypt + ncurses + libxcrypt ]; strictDeps = true; diff --git a/pkgs/by-name/qo/qodem/package.nix b/pkgs/by-name/qo/qodem/package.nix index 3398e9749d088..f0025b9915c53 100644 --- a/pkgs/by-name/qo/qodem/package.nix +++ b/pkgs/by-name/qo/qodem/package.nix @@ -51,13 +51,15 @@ stdenv.mkDerivation (finalAttrs: { autoreconfHook ]; - buildInputs = [ - ncurses - SDL - miniupnpc - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gpm) [ - gpm - ]; + buildInputs = + [ + ncurses + SDL + miniupnpc + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gpm) [ + gpm + ]; configureFlags = lib.optionals (!(lib.meta.availableOn stdenv.hostPlatform gpm)) [ "--disable-gpm" diff --git a/pkgs/by-name/qo/qogir-icon-theme/package.nix b/pkgs/by-name/qo/qogir-icon-theme/package.nix index bfa4e33fc8ca6..97ce4e4359356 100644 --- a/pkgs/by-name/qo/qogir-icon-theme/package.nix +++ b/pkgs/by-name/qo/qogir-icon-theme/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, gtk3 -, hicolor-icon-theme -, jdupes -, colorVariants ? [] # default is all -, themeVariants ? [] # default is all +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + gtk3, + hicolor-icon-theme, + jdupes, + colorVariants ? [ ], # default is all + themeVariants ? [ ], # default is all }: let @@ -14,55 +15,62 @@ let in lib.checkListOfEnum "${pname}: color variants" [ "standard" "dark" "all" ] colorVariants -lib.checkListOfEnum "${pname}: theme variants" [ "default" "manjaro" "ubuntu" "all" ] themeVariants + lib.checkListOfEnum + "${pname}: theme variants" + [ "default" "manjaro" "ubuntu" "all" ] + themeVariants -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2023-06-05"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2023-06-05"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - sha256 = "sha256-qiHmA/K4hdXVSFzergGhgssKR+kXp3X0cqtX1X5ayM4="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "sha256-qiHmA/K4hdXVSFzergGhgssKR+kXp3X0cqtX1X5ayM4="; + }; - nativeBuildInputs = [ gtk3 jdupes ]; + nativeBuildInputs = [ + gtk3 + jdupes + ]; - propagatedBuildInputs = [ hicolor-icon-theme ]; + propagatedBuildInputs = [ hicolor-icon-theme ]; - dontDropIconThemeCache = true; + dontDropIconThemeCache = true; - # These fixup steps are slow and unnecessary. - dontPatchELF = true; - dontRewriteSymlinks = true; + # These fixup steps are slow and unnecessary. + dontPatchELF = true; + dontRewriteSymlinks = true; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/icons + mkdir -p $out/share/icons - name= ./install.sh \ - ${lib.optionalString (themeVariants != []) ("--theme " + builtins.toString themeVariants)} \ - ${lib.optionalString (colorVariants != []) ("--color " + builtins.toString colorVariants)} \ - --dest $out/share/icons + name= ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) ("--theme " + builtins.toString themeVariants)} \ + ${lib.optionalString (colorVariants != [ ]) ("--color " + builtins.toString colorVariants)} \ + --dest $out/share/icons - jdupes --quiet --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { }; - meta = with lib; { - description = "Flat colorful design icon theme"; - homepage = "https://github.com/vinceliuice/Qogir-icon-theme"; - license = with licenses; [ gpl3Only ]; - platforms = platforms.linux; - maintainers = with maintainers; [ romildo ]; - }; -} + meta = with lib; { + description = "Flat colorful design icon theme"; + homepage = "https://github.com/vinceliuice/Qogir-icon-theme"; + license = with licenses; [ gpl3Only ]; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; + } diff --git a/pkgs/by-name/qo/qogir-theme/package.nix b/pkgs/by-name/qo/qogir-theme/package.nix index 223e077bfe476..622c7cdf85ae3 100644 --- a/pkgs/by-name/qo/qogir-theme/package.nix +++ b/pkgs/by-name/qo/qogir-theme/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, gdk-pixbuf -, gnome-themes-extra -, gtk-engine-murrine -, jdupes -, librsvg -, sassc -, which -, themeVariants ? [] # default: blue -, colorVariants ? [] # default: all -, tweaks ? [] +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + gdk-pixbuf, + gnome-themes-extra, + gtk-engine-murrine, + jdupes, + librsvg, + sassc, + which, + themeVariants ? [ ], # default: blue + colorVariants ? [ ], # default: all + tweaks ? [ ], }: let @@ -19,68 +20,75 @@ let in lib.checkListOfEnum "${pname}: theme variants" [ "default" "manjaro" "ubuntu" "all" ] themeVariants -lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: tweaks" [ "image" "square" "round" ] tweaks - -stdenv.mkDerivation rec { - inherit pname; - version = "2024-05-22"; - - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - sha256 = "Q9DWBzaLZjwXsYRa/oDIrccypO3TCbSRXTkbXWRmm70="; - }; - - nativeBuildInputs = [ - jdupes - sassc - which - ]; - - buildInputs = [ - gdk-pixbuf # pixbuf engine for Gtk2 - gnome-themes-extra # adwaita engine for Gtk2 - librsvg # pixbuf loader for svg - ]; - - propagatedUserEnvPkgs = [ - gtk-engine-murrine # murrine engine for Gtk2 - ]; - - postPatch = '' - patchShebangs install.sh clean-old-theme.sh - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/themes - - name= HOME="$TMPDIR" ./install.sh \ - ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \ - --dest $out/share/themes - - mkdir -p $out/share/doc/${pname} - cp -a src/firefox $out/share/doc/${pname} - - rm $out/share/themes/*/{AUTHORS,COPYING} - - jdupes --quiet --link-soft --recurse $out/share - - runHook postInstall - ''; - - passthru.updateScript = gitUpdater { }; - - meta = with lib; { - description = "Flat Design theme for GTK based desktop environments"; - homepage = "https://github.com/vinceliuice/Qogir-theme"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} + lib.checkListOfEnum + "${pname}: color variants" + [ "standard" "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: tweaks" + [ "image" "square" "round" ] + tweaks + + stdenv.mkDerivation + rec { + inherit pname; + version = "2024-05-22"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "Q9DWBzaLZjwXsYRa/oDIrccypO3TCbSRXTkbXWRmm70="; + }; + + nativeBuildInputs = [ + jdupes + sassc + which + ]; + + buildInputs = [ + gdk-pixbuf # pixbuf engine for Gtk2 + gnome-themes-extra # adwaita engine for Gtk2 + librsvg # pixbuf loader for svg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine # murrine engine for Gtk2 + ]; + + postPatch = '' + patchShebangs install.sh clean-old-theme.sh + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + + name= HOME="$TMPDIR" ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes + + mkdir -p $out/share/doc/${pname} + cp -a src/firefox $out/share/doc/${pname} + + rm $out/share/themes/*/{AUTHORS,COPYING} + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + description = "Flat Design theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Qogir-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/qo/qoi/package.nix b/pkgs/by-name/qo/qoi/package.nix index c5d527aa3ec55..eeb6c32988d11 100644 --- a/pkgs/by-name/qo/qoi/package.nix +++ b/pkgs/by-name/qo/qoi/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, lib -, stb -, stdenv +{ + fetchFromGitHub, + lib, + stb, + stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "qoi"; - version = "unstable-2023-08-10"; # no upstream version yet. + version = "unstable-2023-08-10"; # no upstream version yet. src = fetchFromGitHub { owner = "phoboslab"; @@ -15,7 +16,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-E1hMtjMuDS2zma2s5hlHby/sroRGhtyZm9gLQ+VztsM="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ stb ]; diff --git a/pkgs/by-name/qp/qpdf/package.nix b/pkgs/by-name/qp/qpdf/package.nix index 4a9e520f2a979..aa56c57ab7ffb 100644 --- a/pkgs/by-name/qp/qpdf/package.nix +++ b/pkgs/by-name/qp/qpdf/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libjpeg -, perl -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libjpeg, + perl, + zlib, -# for passthru.tests -, cups-filters -, pdfmixtool -, pdfslicer -, python3 -, testers -, versionCheckHook + # for passthru.tests + cups-filters, + pdfmixtool, + pdfslicer, + python3, + testers, + versionCheckHook, }: stdenv.mkDerivation (finalAttrs: { @@ -34,9 +35,15 @@ stdenv.mkDerivation (finalAttrs: { "out" ]; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ + cmake + perl + ]; - buildInputs = [ zlib libjpeg ]; + buildInputs = [ + zlib + libjpeg + ]; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; @@ -57,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { cups-filters pdfmixtool pdfslicer - ; + ; }; meta = { diff --git a/pkgs/by-name/qp/qperf/package.nix b/pkgs/by-name/qp/qperf/package.nix index 896b5f5c1ff48..4ec27077d5328 100644 --- a/pkgs/by-name/qp/qperf/package.nix +++ b/pkgs/by-name/qp/qperf/package.nix @@ -1,6 +1,13 @@ -{ stdenv, lib -, fetchFromGitHub, fetchpatch -, autoconf, automake, perl, rdma-core }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoconf, + automake, + perl, + rdma-core, +}: stdenv.mkDerivation rec { pname = "qperf"; @@ -13,16 +20,23 @@ stdenv.mkDerivation rec { hash = "sha256-x9l8xqwMDHlXRZpWt3XiqN5xyCTV5rk8jp/ClRPPECI="; }; - patches = [ (fetchpatch { - name = "version-bump.patch"; - url = "https://github.com/linux-rdma/qperf/commit/34ec57ddb7e5ae1adfcfc8093065dff90b69a275.patch"; - hash = "sha256-+7ckhUUB+7BG6qRKv0wgyIxkyvll2xjf3Wk1hpRsDo0="; - }) ]; + patches = [ + (fetchpatch { + name = "version-bump.patch"; + url = "https://github.com/linux-rdma/qperf/commit/34ec57ddb7e5ae1adfcfc8093065dff90b69a275.patch"; + hash = "sha256-+7ckhUUB+7BG6qRKv0wgyIxkyvll2xjf3Wk1hpRsDo0="; + }) + ]; - nativeBuildInputs = [ autoconf automake perl rdma-core ]; + nativeBuildInputs = [ + autoconf + automake + perl + rdma-core + ]; buildInputs = [ rdma-core ]; - postUnpack = '' + postUnpack = '' patchShebangs . ''; diff --git a/pkgs/by-name/qp/qpid-cpp/package.nix b/pkgs/by-name/qp/qpid-cpp/package.nix index 1760814771f91..5d69a4c87416f 100644 --- a/pkgs/by-name/qp/qpid-cpp/package.nix +++ b/pkgs/by-name/qp/qpid-cpp/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchpatch -, fetchurl -, boost -, cmake -, libuuid -, python3 -, ruby +{ + lib, + stdenv, + fetchpatch, + fetchurl, + boost, + cmake, + libuuid, + python3, + ruby, }: stdenv.mkDerivation rec { @@ -17,8 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-eYDQ6iHVV1WUFFdyHGnbqGIjE9CrhHzh0jP7amjoDSE="; }; - nativeBuildInputs = [ cmake python3 ]; - buildInputs = [ boost libuuid ruby ]; + nativeBuildInputs = [ + cmake + python3 + ]; + buildInputs = [ + boost + libuuid + ruby + ]; patches = [ (fetchpatch { @@ -36,11 +45,14 @@ stdenv.mkDerivation rec { sed -i '/management/d' CMakeLists.txt ''; - env.NIX_CFLAGS_COMPILE = toString ([ - "-Wno-error=maybe-uninitialized" - ] ++ lib.optionals stdenv.cc.isGNU [ - "-Wno-error=deprecated-copy" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-Wno-error=maybe-uninitialized" + ] + ++ lib.optionals stdenv.cc.isGNU [ + "-Wno-error=deprecated-copy" + ] + ); meta = with lib; { homepage = "https://qpid.apache.org"; diff --git a/pkgs/by-name/qp/qprint/package.nix b/pkgs/by-name/qp/qprint/package.nix index c0953f69a7f97..8dba3ab67ce44 100644 --- a/pkgs/by-name/qp/qprint/package.nix +++ b/pkgs/by-name/qp/qprint/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "qprint"; diff --git a/pkgs/by-name/qr/qrcode/package.nix b/pkgs/by-name/qr/qrcode/package.nix index 0d919daf81377..ccb66cc4c5390 100644 --- a/pkgs/by-name/qr/qrcode/package.nix +++ b/pkgs/by-name/qr/qrcode/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, +}: stdenv.mkDerivation { pname = "qrcode"; @@ -25,7 +30,10 @@ stdenv.mkDerivation { description = "Small QR-code tool"; homepage = "https://github.com/qsantos/qrcode"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ raskin lucasew ]; + maintainers = with maintainers; [ + raskin + lucasew + ]; platforms = with platforms; unix; mainProgram = "qrcode"; }; diff --git a/pkgs/by-name/qr/qrcodegen/package.nix b/pkgs/by-name/qr/qrcodegen/package.nix index 53ed6eeb80ec1..118d1db277aeb 100644 --- a/pkgs/by-name/qr/qrcodegen/package.nix +++ b/pkgs/by-name/qr/qrcodegen/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/qr/qrcodegencpp/package.nix b/pkgs/by-name/qr/qrcodegencpp/package.nix index 655b948e81e10..19525ee38fd05 100644 --- a/pkgs/by-name/qr/qrcodegencpp/package.nix +++ b/pkgs/by-name/qr/qrcodegencpp/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, qrcodegen +{ + lib, + stdenv, + qrcodegen, }: stdenv.mkDerivation (finalAttrs: { @@ -27,6 +28,12 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - inherit (qrcodegen.meta) description homepage license maintainers platforms; + inherit (qrcodegen.meta) + description + homepage + license + maintainers + platforms + ; }; }) diff --git a/pkgs/by-name/qr/qrcp/package.nix b/pkgs/by-name/qr/qrcp/package.nix index 748412e17cba6..1e965ad41bdd7 100644 --- a/pkgs/by-name/qr/qrcp/package.nix +++ b/pkgs/by-name/qr/qrcp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -20,7 +21,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X github.com/claudiodangelis/qrcp/version.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/claudiodangelis/qrcp/version.version=${version}" + ]; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/qr/qrscan/package.nix b/pkgs/by-name/qr/qrscan/package.nix index 479c6102818ab..4bcb3bb0eeaa0 100644 --- a/pkgs/by-name/qr/qrscan/package.nix +++ b/pkgs/by-name/qr/qrscan/package.nix @@ -1,4 +1,10 @@ -{ clang_15, lib, rustPlatform, fetchFromGitHub, stdenv }: +{ + clang_15, + lib, + rustPlatform, + fetchFromGitHub, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "qrscan"; diff --git a/pkgs/by-name/qr/qrupdate/package.nix b/pkgs/by-name/qr/qrupdate/package.nix index 27c569ccad399..d59e9ad1c0c6e 100644 --- a/pkgs/by-name/qr/qrupdate/package.nix +++ b/pkgs/by-name/qr/qrupdate/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, lapack -, which -, gfortran -, blas +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + lapack, + which, + gfortran, + blas, }: stdenv.mkDerivation (finalAttrs: { @@ -19,19 +20,27 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-dHxLPrN00wwozagY2JyfZkD3sKUD2+BcnbjNgZepzFg="; }; - cmakeFlags = assert (blas.isILP64 == lapack.isILP64); [ - "-DCMAKE_Fortran_FLAGS=${toString ([ - "-std=legacy" - ] ++ lib.optionals blas.isILP64 [ - # If another application intends to use qrupdate compiled with blas with - # 64 bit support, it should add this to it's FFLAGS as well. See (e.g): - # https://savannah.gnu.org/bugs/?50339 - "-fdefault-integer-8" - ])}" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # prevent cmake from using Accelerate, which causes all tests to segfault - "-DBLA_VENDOR=Generic" - ]; + cmakeFlags = + assert (blas.isILP64 == lapack.isILP64); + [ + "-DCMAKE_Fortran_FLAGS=${ + toString ( + [ + "-std=legacy" + ] + ++ lib.optionals blas.isILP64 [ + # If another application intends to use qrupdate compiled with blas with + # 64 bit support, it should add this to it's FFLAGS as well. See (e.g): + # https://savannah.gnu.org/bugs/?50339 + "-fdefault-integer-8" + ] + ) + }" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # prevent cmake from using Accelerate, which causes all tests to segfault + "-DBLA_VENDOR=Generic" + ]; # https://github.com/mpimd-csc/qrupdate-ng/issues/4 patches = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ diff --git a/pkgs/by-name/qs/qsreplace/package.nix b/pkgs/by-name/qs/qsreplace/package.nix index 6949374e212f4..bc0e71483ed73 100644 --- a/pkgs/by-name/qs/qsreplace/package.nix +++ b/pkgs/by-name/qs/qsreplace/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/tomnomnom/qsreplace"; diff --git a/pkgs/by-name/qt/qtractor/package.nix b/pkgs/by-name/qt/qtractor/package.nix index 8cd939fa8ed22..c305a89fc8d77 100644 --- a/pkgs/by-name/qt/qtractor/package.nix +++ b/pkgs/by-name/qt/qtractor/package.nix @@ -1,30 +1,31 @@ -{ lib -, alsa-lib -, aubio -, cmake -, dssi -, fetchurl -, flac -, libjack2 -, ladspaH -, ladspaPlugins -, liblo -, libmad -, libsamplerate -, libsndfile -, libtool -, libvorbis -, lilv -, lv2 -, opusfile -, pkg-config -, qt6 -, rubberband -, serd -, stdenv -, sord -, sratom -, suil +{ + lib, + alsa-lib, + aubio, + cmake, + dssi, + fetchurl, + flac, + libjack2, + ladspaH, + ladspaPlugins, + liblo, + libmad, + libsamplerate, + libsndfile, + libtool, + libvorbis, + lilv, + lv2, + opusfile, + pkg-config, + qt6, + rubberband, + serd, + stdenv, + sord, + sratom, + suil, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/qu/QuadProgpp/package.nix b/pkgs/by-name/qu/QuadProgpp/package.nix index dfd33ed603afc..d7306f01ba983 100644 --- a/pkgs/by-name/qu/QuadProgpp/package.nix +++ b/pkgs/by-name/qu/QuadProgpp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/qu/quadrafuzz/package.nix b/pkgs/by-name/qu/quadrafuzz/package.nix index e2156b391007e..6b20364913a6e 100644 --- a/pkgs/by-name/qu/quadrafuzz/package.nix +++ b/pkgs/by-name/qu/quadrafuzz/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, boost, cairo, lv2, pkg-config }: +{ + stdenv, + lib, + fetchFromGitHub, + boost, + cairo, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "quadrafuzz"; @@ -19,7 +27,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - boost cairo lv2 + boost + cairo + lv2 ]; makeFlags = [ diff --git a/pkgs/by-name/qu/quake3e/package.nix b/pkgs/by-name/qu/quake3e/package.nix index 8bf6ed19ab0f0..d4d18a33b833e 100644 --- a/pkgs/by-name/qu/quake3e/package.nix +++ b/pkgs/by-name/qu/quake3e/package.nix @@ -1,24 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, curl -, libGL -, libX11 -, libXxf86dga -, alsa-lib -, libXrandr -, libXxf86vm -, libXext -, SDL2 -, glibc -, copyDesktopItems -, makeDesktopItem +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + curl, + libGL, + libX11, + libXxf86dga, + alsa-lib, + libXrandr, + libXxf86vm, + libXext, + SDL2, + glibc, + copyDesktopItems, + makeDesktopItem, }: let - arch = - /**/ if stdenv.hostPlatform.isx86_64 then "x64" - else stdenv.hostPlatform.parsed.cpu.name; + arch = if stdenv.hostPlatform.isx86_64 then "x64" else stdenv.hostPlatform.parsed.cpu.name; in stdenv.mkDerivation rec { pname = "Quake3e"; @@ -31,8 +30,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-tQgrHiP+QhBzcUnHRwzaDe38Th0uDt450fra8O3Vjqc="; }; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; - buildInputs = [ curl libGL libX11 libXxf86dga alsa-lib libXrandr libXxf86vm libXext SDL2 glibc ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + buildInputs = [ + curl + libGL + libX11 + libXxf86dga + alsa-lib + libXrandr + libXxf86vm + libXext + SDL2 + glibc + ]; env.NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2"; enableParallelBuilding = true; @@ -75,6 +88,9 @@ stdenv.mkDerivation rec { description = "Improved Quake III Arena engine"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ pmiddend alx ]; + maintainers = with maintainers; [ + pmiddend + alx + ]; }; } diff --git a/pkgs/by-name/qu/quantlib/package.nix b/pkgs/by-name/qu/quantlib/package.nix index aad65c6045db1..62f54b6ecbcee 100644 --- a/pkgs/by-name/qu/quantlib/package.nix +++ b/pkgs/by-name/qu/quantlib/package.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost186 # (boost181) breaks on darwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost186, # (boost181) breaks on darwin }: stdenv.mkDerivation (finalAttrs: { pname = "quantlib"; version = "1.36"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "lballabio"; diff --git a/pkgs/by-name/qu/quantomatic/package.nix b/pkgs/by-name/qu/quantomatic/package.nix index 05011313bccea..2f531c5e0e8d1 100644 --- a/pkgs/by-name/qu/quantomatic/package.nix +++ b/pkgs/by-name/qu/quantomatic/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "quantomatic"; diff --git a/pkgs/by-name/qu/quantumminigolf/package.nix b/pkgs/by-name/qu/quantumminigolf/package.nix index b7e8feae24286..1a1674d462069 100644 --- a/pkgs/by-name/qu/quantumminigolf/package.nix +++ b/pkgs/by-name/qu/quantumminigolf/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fftwSinglePrec, freetype, SDL, SDL_ttf }: +{ + lib, + stdenv, + fetchurl, + fftwSinglePrec, + freetype, + SDL, + SDL_ttf, +}: stdenv.mkDerivation rec { pname = "quantumminigolf"; diff --git a/pkgs/by-name/qu/quark-engine/package.nix b/pkgs/by-name/qu/quark-engine/package.nix index a5651b71c1cdb..4227a63032c40 100644 --- a/pkgs/by-name/qu/quark-engine/package.nix +++ b/pkgs/by-name/qu/quark-engine/package.nix @@ -19,7 +19,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ setuptools ]; - dependencies = with python3.pkgs; [ androguard click diff --git a/pkgs/by-name/qu/quark/package.nix b/pkgs/by-name/qu/quark/package.nix index e178fe91a34af..0bed342181817 100644 --- a/pkgs/by-name/qu/quark/package.nix +++ b/pkgs/by-name/qu/quark/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, patches ? null }: +{ + lib, + stdenv, + fetchgit, + patches ? null, +}: stdenv.mkDerivation { pname = "quark"; diff --git a/pkgs/by-name/qu/quarkus/package.nix b/pkgs/by-name/qu/quarkus/package.nix index a8f0bddb4bce7..da50bae84d081 100644 --- a/pkgs/by-name/qu/quarkus/package.nix +++ b/pkgs/by-name/qu/quarkus/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jdk +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jdk, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/qu/quartus-prime-lite/package.nix b/pkgs/by-name/qu/quartus-prime-lite/package.nix index a5d39818639eb..75ddc5450147c 100644 --- a/pkgs/by-name/qu/quartus-prime-lite/package.nix +++ b/pkgs/by-name/qu/quartus-prime-lite/package.nix @@ -1,9 +1,25 @@ -{ lib, buildFHSEnv, callPackage, makeDesktopItem, runtimeShell -, runCommand, unstick, quartus-prime-lite, libfaketime, pkgsi686Linux -, withQuesta ? true -, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ] -, unwrapped ? callPackage ./quartus.nix { inherit unstick supportedDevices withQuesta; } -, extraProfile ? "" +{ + lib, + buildFHSEnv, + callPackage, + makeDesktopItem, + runtimeShell, + runCommand, + unstick, + quartus-prime-lite, + libfaketime, + pkgsi686Linux, + withQuesta ? true, + supportedDevices ? [ + "Arria II" + "Cyclone V" + "Cyclone IV" + "Cyclone 10 LP" + "MAX II/V" + "MAX 10 FPGA" + ], + unwrapped ? callPackage ./quartus.nix { inherit unstick supportedDevices withQuesta; }, + extraProfile ? "", }: let @@ -15,59 +31,68 @@ let genericName = "Quartus Prime"; categories = [ "Development" ]; }; +in # I think questa_fse/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf` -in buildFHSEnv rec { +buildFHSEnv rec { pname = "quartus-prime-lite"; # wrapped inherit (unwrapped) version; - targetPkgs = pkgs: with pkgs; [ - (runCommand "ld-lsb-compat" {} ('' - mkdir -p "$out/lib" - ln -sr "${glibc}/lib/ld-linux-x86-64.so.2" "$out/lib/ld-lsb-x86-64.so.3" - '' + lib.optionalString withQuesta '' - ln -sr "${pkgsi686Linux.glibc}/lib/ld-linux.so.2" "$out/lib/ld-lsb.so.3" - '')) - # quartus requirements - glib - xorg.libICE - xorg.libSM - xorg.libXau - xorg.libXdmcp - libudev0-shim - bzip2 - brotli - expat - dbus - # qsys requirements - xorg.libXtst - xorg.libXi - dejavu_fonts - gnumake - ]; + targetPkgs = + pkgs: with pkgs; [ + (runCommand "ld-lsb-compat" { } ( + '' + mkdir -p "$out/lib" + ln -sr "${glibc}/lib/ld-linux-x86-64.so.2" "$out/lib/ld-lsb-x86-64.so.3" + '' + + lib.optionalString withQuesta '' + ln -sr "${pkgsi686Linux.glibc}/lib/ld-linux.so.2" "$out/lib/ld-lsb.so.3" + '' + )) + # quartus requirements + glib + xorg.libICE + xorg.libSM + xorg.libXau + xorg.libXdmcp + libudev0-shim + bzip2 + brotli + expat + dbus + # qsys requirements + xorg.libXtst + xorg.libXi + dejavu_fonts + gnumake + ]; # Also support 32-bit executables used by simulator. multiArch = withQuesta; # these libs are installed as 64 bit, plus as 32 bit when multiArch is true - multiPkgs = pkgs: with pkgs; let - # This seems ugly - can we override `libpng = libpng12` for all `pkgs`? - freetype = pkgs.freetype.override { libpng = libpng12; }; - fontconfig = pkgs.fontconfig.override { inherit freetype; }; - libXft = pkgs.xorg.libXft.override { inherit freetype fontconfig; }; - in [ - # questa requirements - libxml2 - ncurses5 - unixODBC - libXft - # common requirements - freetype - fontconfig - xorg.libX11 - xorg.libXext - xorg.libXrender - libxcrypt-legacy - ]; + multiPkgs = + pkgs: + with pkgs; + let + # This seems ugly - can we override `libpng = libpng12` for all `pkgs`? + freetype = pkgs.freetype.override { libpng = libpng12; }; + fontconfig = pkgs.fontconfig.override { inherit freetype; }; + libXft = pkgs.xorg.libXft.override { inherit freetype fontconfig; }; + in + [ + # questa requirements + libxml2 + ncurses5 + unixODBC + libXft + # common requirements + freetype + fontconfig + xorg.libX11 + xorg.libXext + xorg.libXrender + libxcrypt-legacy + ]; extraInstallCommands = '' mkdir -p $out/share/applications $out/share/icons/hicolor/64x64/apps @@ -116,31 +141,38 @@ in buildFHSEnv rec { ln --symbolic --relative --target-directory ./bin ''${progs_wrapped[@]} ''; - profile = '' - # LD_PRELOAD fixes issues in the licensing system that cause memory corruption and crashes when - # starting most operations in many containerized environments, including WSL2, Docker, and LXC - # (a similiar fix involving LD_PRELOADing tcmalloc did not solve the issue in my situation) - # https://community.intel.com/t5/Intel-FPGA-Software-Installation/Running-Quartus-Prime-Standard-on-WSL-crashes-in-libudev-so/m-p/1189032 - # - # But, as can be seen in the above resource, LD_PRELOADing libudev breaks - # compiling encrypted device libraries in Questa (with error - # `(vlog-2163) Macro ` is undefined.`), so only use LD_PRELOAD - # for non-Questa wrappers. - if [ "$NIXPKGS_IS_QUESTA_WRAPPER" != 1 ]; then - export LD_PRELOAD=''${LD_PRELOAD:+$LD_PRELOAD:}/usr/lib/libudev.so.0 - fi - - # Implement the SOURCE_DATE_EPOCH specification for reproducible builds - # (https://reproducible-builds.org/specs/source-date-epoch). - # Require opt-in with NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD=1 for now, in case - # the blocklist is incomplete. - if [ -n "$SOURCE_DATE_EPOCH" ] && [ "$NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD" = 1 ] && [ "$NIXPKGS_QUARTUS_THIS_PROG_SUPPORTS_FIXED_CLOCK" = 1 ]; then - export LD_LIBRARY_PATH="${lib.makeLibraryPath [ libfaketime pkgsi686Linux.libfaketime ]}''${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" - export LD_PRELOAD=libfaketime.so.1''${LD_PRELOAD:+:$LD_PRELOAD} - export FAKETIME_FMT="%s" - export FAKETIME="$SOURCE_DATE_EPOCH" - fi - '' + extraProfile; + profile = + '' + # LD_PRELOAD fixes issues in the licensing system that cause memory corruption and crashes when + # starting most operations in many containerized environments, including WSL2, Docker, and LXC + # (a similiar fix involving LD_PRELOADing tcmalloc did not solve the issue in my situation) + # https://community.intel.com/t5/Intel-FPGA-Software-Installation/Running-Quartus-Prime-Standard-on-WSL-crashes-in-libudev-so/m-p/1189032 + # + # But, as can be seen in the above resource, LD_PRELOADing libudev breaks + # compiling encrypted device libraries in Questa (with error + # `(vlog-2163) Macro ` is undefined.`), so only use LD_PRELOAD + # for non-Questa wrappers. + if [ "$NIXPKGS_IS_QUESTA_WRAPPER" != 1 ]; then + export LD_PRELOAD=''${LD_PRELOAD:+$LD_PRELOAD:}/usr/lib/libudev.so.0 + fi + + # Implement the SOURCE_DATE_EPOCH specification for reproducible builds + # (https://reproducible-builds.org/specs/source-date-epoch). + # Require opt-in with NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD=1 for now, in case + # the blocklist is incomplete. + if [ -n "$SOURCE_DATE_EPOCH" ] && [ "$NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD" = 1 ] && [ "$NIXPKGS_QUARTUS_THIS_PROG_SUPPORTS_FIXED_CLOCK" = 1 ]; then + export LD_LIBRARY_PATH="${ + lib.makeLibraryPath [ + libfaketime + pkgsi686Linux.libfaketime + ] + }''${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + export LD_PRELOAD=libfaketime.so.1''${LD_PRELOAD:+:$LD_PRELOAD} + export FAKETIME_FMT="%s" + export FAKETIME="$SOURCE_DATE_EPOCH" + fi + '' + + extraProfile; # Run the wrappers directly, instead of going via bash. runScript = ""; @@ -148,40 +180,44 @@ in buildFHSEnv rec { passthru = { inherit unwrapped; tests = { - buildSof = runCommand "quartus-prime-lite-test-build-sof" - { nativeBuildInputs = [ quartus-prime-lite ]; - env.NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD = "1"; - } - '' - cat >mydesign.vhd <&2 - exit 1 - fi - - sha1sum mydesign.sof > "$out" - ''; - questaEncryptedModel = runCommand "quartus-prime-lite-test-questa-encrypted-model" - { env.NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD = "1"; + buildSof = + runCommand "quartus-prime-lite-test-build-sof" + { + nativeBuildInputs = [ quartus-prime-lite ]; + env.NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD = "1"; + } + '' + cat >mydesign.vhd <&2 + exit 1 + fi + + sha1sum mydesign.sof > "$out" + ''; + questaEncryptedModel = + runCommand "quartus-prime-lite-test-questa-encrypted-model" + { + env.NIXPKGS_QUARTUS_REPRODUCIBLE_BUILD = "1"; } '' "${quartus-prime-lite}/bin/vlog" "${quartus-prime-lite.unwrapped}/questa_fse/intel/verilog/src/arriav_atoms_ncrypt.v" diff --git a/pkgs/by-name/qu/quartus-prime-lite/quartus.nix b/pkgs/by-name/qu/quartus-prime-lite/quartus.nix index e668fe9e43fe6..0b301ad87d542 100644 --- a/pkgs/by-name/qu/quartus-prime-lite/quartus.nix +++ b/pkgs/by-name/qu/quartus-prime-lite/quartus.nix @@ -1,6 +1,17 @@ -{ stdenv, lib, unstick, fetchurl -, withQuesta ? true -, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ] +{ + stdenv, + lib, + unstick, + fetchurl, + withQuesta ? true, + supportedDevices ? [ + "Arria II" + "Cyclone V" + "Cyclone IV" + "Cyclone 10 LP" + "MAX II/V" + "MAX 10 FPGA" + ], }: let @@ -14,15 +25,18 @@ let }; supportedDeviceIds = - assert lib.assertMsg (lib.all (name: lib.hasAttr name deviceIds) supportedDevices) - "Supported devices are: ${lib.concatStringsSep ", " (lib.attrNames deviceIds)}"; - lib.listToAttrs (map (name: { - inherit name; - value = deviceIds.${name}; - }) supportedDevices); + assert lib.assertMsg (lib.all ( + name: lib.hasAttr name deviceIds + ) supportedDevices) "Supported devices are: ${lib.concatStringsSep ", " (lib.attrNames deviceIds)}"; + lib.listToAttrs ( + map (name: { + inherit name; + value = deviceIds.${name}; + }) supportedDevices + ); - unsupportedDeviceIds = lib.filterAttrs (name: value: - !(lib.hasAttr name supportedDeviceIds) + unsupportedDeviceIds = lib.filterAttrs ( + name: value: !(lib.hasAttr name supportedDeviceIds) ) deviceIds; componentHashes = { @@ -36,46 +50,61 @@ let version = "23.1std.0.991"; - download = {name, sha256}: fetchurl { - inherit name sha256; - # e.g. "23.1std.0.991" -> "23.1std/921" - url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std/${lib.elemAt (lib.splitVersion version) 4}/ib_installers/${name}"; - }; + download = + { name, sha256 }: + fetchurl { + inherit name sha256; + # e.g. "23.1std.0.991" -> "23.1std/921" + url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std/${lib.elemAt (lib.splitVersion version) 4}/ib_installers/${name}"; + }; - installers = map download ([{ - name = "QuartusLiteSetup-${version}-linux.run"; - sha256 = "1mg4db56rg407kdsvpzys96z59bls8djyddfzxi6bdikcklxz98h"; - }] ++ lib.optional withQuesta { - name = "QuestaSetup-${version}-linux.run"; - sha256 = "0f9lyphk4vf4ijif3kb4iqf18jl357z9h8g16kwnzaqwfngh2ixk"; - }); - components = map (id: download { - name = "${id}-${version}.qdz"; - sha256 = lib.getAttr id componentHashes; - }) (lib.attrValues supportedDeviceIds); + installers = map download ( + [ + { + name = "QuartusLiteSetup-${version}-linux.run"; + sha256 = "1mg4db56rg407kdsvpzys96z59bls8djyddfzxi6bdikcklxz98h"; + } + ] + ++ lib.optional withQuesta { + name = "QuestaSetup-${version}-linux.run"; + sha256 = "0f9lyphk4vf4ijif3kb4iqf18jl357z9h8g16kwnzaqwfngh2ixk"; + } + ); + components = map ( + id: + download { + name = "${id}-${version}.qdz"; + sha256 = lib.getAttr id componentHashes; + } + ) (lib.attrValues supportedDeviceIds); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit version; pname = "quartus-prime-lite-unwrapped"; nativeBuildInputs = [ unstick ]; - buildCommand = let - copyInstaller = installer: '' + buildCommand = + let + copyInstaller = installer: '' # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf cp ${installer} $TEMP/${installer.name} chmod u+w,+x $TEMP/${installer.name} patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name} ''; - copyComponent = component: "cp ${component} $TEMP/${component.name}"; - # leaves enabled: quartus, devinfo - disabledComponents = [ - "quartus_help" - "quartus_update" - "questa_fe" - ] ++ (lib.optional (!withQuesta) "questa_fse") - ++ (lib.attrValues unsupportedDeviceIds); - in '' + copyComponent = component: "cp ${component} $TEMP/${component.name}"; + # leaves enabled: quartus, devinfo + disabledComponents = + [ + "quartus_help" + "quartus_update" + "questa_fe" + ] + ++ (lib.optional (!withQuesta) "questa_fse") + ++ (lib.attrValues unsupportedDeviceIds); + in + '' echo "setting up installer..." ${lib.concatMapStringsSep "\n" copyInstaller installers} ${lib.concatMapStringsSep "\n" copyComponent components} @@ -102,6 +131,9 @@ in stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ bjornfor kwohlfahrt ]; + maintainers = with maintainers; [ + bjornfor + kwohlfahrt + ]; }; } diff --git a/pkgs/by-name/qu/quast/package.nix b/pkgs/by-name/qu/quast/package.nix index e390b5d3ec671..97ec9186e265f 100644 --- a/pkgs/by-name/qu/quast/package.nix +++ b/pkgs/by-name/qu/quast/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, python3Packages, zlib, bash }: +{ + lib, + stdenv, + fetchurl, + python3Packages, + zlib, + bash, +}: let pythonPackages = python3Packages; @@ -14,7 +21,12 @@ pythonPackages.buildPythonApplication rec { sha256 = "13ml8qywbb4cc7wf2x7z5mz1rjqg51ab8wkizwcg4f6c40zgif6d"; }; - pythonPath = with pythonPackages; [ simplejson joblib setuptools matplotlib ]; + pythonPath = with pythonPackages; [ + simplejson + joblib + setuptools + matplotlib + ]; buildInputs = [ zlib ] ++ pythonPath; @@ -32,13 +44,13 @@ pythonPackages.buildPythonApplication rec { --prefix="$out" ''; - postFixup = '' - for file in $(find $out -type f -type f -perm /0111); do - old_rpath=$(patchelf --print-rpath $file) && \ - patchelf --set-rpath $old_rpath:${lib.getLib stdenv.cc.cc}/lib $file || true - done - # Link to the master program - ln -s $out/bin/quast.py $out/bin/quast + postFixup = '' + for file in $(find $out -type f -type f -perm /0111); do + old_rpath=$(patchelf --print-rpath $file) && \ + patchelf --set-rpath $old_rpath:${lib.getLib stdenv.cc.cc}/lib $file || true + done + # Link to the master program + ln -s $out/bin/quast.py $out/bin/quast ''; dontPatchELF = true; @@ -46,12 +58,12 @@ pythonPackages.buildPythonApplication rec { # Tests need to download data files, so manual run after packaging is needed doCheck = false; - meta = with lib ; { + meta = with lib; { description = "Evaluates genome assemblies by computing various metrics"; homepage = "https://github.com/ablab/quast"; sourceProvenance = with sourceTypes; [ fromSource - binaryNativeCode # source bundles binary dependencies + binaryNativeCode # source bundles binary dependencies ]; license = licenses.gpl2; maintainers = [ maintainers.bzizou ]; diff --git a/pkgs/by-name/qu/quattrocento-sans/package.nix b/pkgs/by-name/qu/quattrocento-sans/package.nix index ce702c1c59930..6493e7511ba87 100644 --- a/pkgs/by-name/qu/quattrocento-sans/package.nix +++ b/pkgs/by-name/qu/quattrocento-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "quattrocento-sans"; diff --git a/pkgs/by-name/qu/quattrocento/package.nix b/pkgs/by-name/qu/quattrocento/package.nix index 14618cb2ef399..7404d720736d1 100644 --- a/pkgs/by-name/qu/quattrocento/package.nix +++ b/pkgs/by-name/qu/quattrocento/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "quattrocento"; diff --git a/pkgs/by-name/qu/qubes-core-vchan-xen/package.nix b/pkgs/by-name/qu/qubes-core-vchan-xen/package.nix index 7def14890300d..6693bd9762b29 100644 --- a/pkgs/by-name/qu/qubes-core-vchan-xen/package.nix +++ b/pkgs/by-name/qu/qubes-core-vchan-xen/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, xen +{ + lib, + stdenv, + fetchFromGitHub, + xen, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/qu/quesoglc/package.nix b/pkgs/by-name/qu/quesoglc/package.nix index d0b4d22b87e34..ff38dc30757a0 100644 --- a/pkgs/by-name/qu/quesoglc/package.nix +++ b/pkgs/by-name/qu/quesoglc/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, glew, freetype, fontconfig, fribidi, libX11 }: +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + glew, + freetype, + fontconfig, + fribidi, + libX11, +}: stdenv.mkDerivation rec { pname = "quesoglc"; version = "0.7.2"; @@ -6,7 +17,15 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; sha256 = "0cf9ljdzii5d4i2m23gdmf3kn521ljcldzq69lsdywjid3pg5zjl"; }; - buildInputs = [ libGLU libGL glew freetype fontconfig fribidi libX11 ]; + buildInputs = [ + libGLU + libGL + glew + freetype + fontconfig + fribidi + libX11 + ]; # FIXME: Configure fails to use system glew. meta = with lib; { description = "Free implementation of the OpenGL Character Renderer"; diff --git a/pkgs/by-name/qu/questdb/package.nix b/pkgs/by-name/qu/questdb/package.nix index d635c67df3822..c152ecca1516a 100644 --- a/pkgs/by-name/qu/questdb/package.nix +++ b/pkgs/by-name/qu/questdb/package.nix @@ -3,7 +3,7 @@ jdk17_headless, lib, makeBinaryWrapper, - stdenv + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/qu/quich/package.nix b/pkgs/by-name/qu/quich/package.nix index cc7131678a552..1af37a17715cd 100644 --- a/pkgs/by-name/qu/quich/package.nix +++ b/pkgs/by-name/qu/quich/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "quich"; @@ -13,7 +17,11 @@ stdenv.mkDerivation rec { doCheck = true; - makeFlags = [ "DESTDIR=" "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "DESTDIR=" + "PREFIX=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + ]; meta = with lib; { description = "Advanced terminal calculator"; diff --git a/pkgs/by-name/qu/quick-lint-js/package.nix b/pkgs/by-name/qu/quick-lint-js/package.nix index 86b76bf99c071..028a40cc96a83 100644 --- a/pkgs/by-name/qu/quick-lint-js/package.nix +++ b/pkgs/by-name/qu/quick-lint-js/package.nix @@ -1,4 +1,13 @@ -{ buildPackages, cmake, fetchFromGitHub, lib, ninja, stdenv, testers, quick-lint-js }: +{ + buildPackages, + cmake, + fetchFromGitHub, + lib, + ninja, + stdenv, + testers, + quick-lint-js, +}: let version = "3.2.0"; @@ -14,7 +23,10 @@ let pname = "quick-lint-js-build-tools"; inherit version src; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; doCheck = false; cmakeFlags = [ @@ -35,7 +47,10 @@ stdenv.mkDerivation rec { pname = "quick-lint-js"; inherit version src; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; doCheck = true; cmakeFlags = [ diff --git a/pkgs/by-name/qu/quickgui/package.nix b/pkgs/by-name/qu/quickgui/package.nix index e60d7949ec3a6..3bd968a1cb12a 100644 --- a/pkgs/by-name/qu/quickgui/package.nix +++ b/pkgs/by-name/qu/quickgui/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, lib -, flutter -, quickemu -, zenity +{ + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + lib, + flutter, + quickemu, + zenity, }: flutter.buildFlutterApplication rec { pname = "quickgui"; @@ -22,7 +23,12 @@ flutter.buildFlutterApplication rec { window_size = "sha256-XelNtp7tpZ91QCEcvewVphNUtgQX7xrp5QP0oFo6DgM="; }; - extraWrapProgramArgs = "--prefix PATH : ${lib.makeBinPath [ quickemu zenity ]}"; + extraWrapProgramArgs = "--prefix PATH : ${ + lib.makeBinPath [ + quickemu + zenity + ] + }"; nativeBuildInputs = [ copyDesktopItems ]; @@ -40,7 +46,10 @@ flutter.buildFlutterApplication rec { icon = "quickgui"; desktopName = "Quickgui"; comment = "An elegant virtual machine manager for the desktop"; - categories = [ "Development" "System" ]; + categories = [ + "Development" + "System" + ]; }) ]; @@ -49,7 +58,10 @@ flutter.buildFlutterApplication rec { homepage = "https://github.com/quickemu-project/quickgui"; changelog = "https://github.com/quickemu-project/quickgui/releases/"; license = licenses.mit; - maintainers = with maintainers; [ flexiondotorg heyimnova ]; + maintainers = with maintainers; [ + flexiondotorg + heyimnova + ]; platforms = [ "x86_64-linux" ]; mainProgram = "quickgui"; }; diff --git a/pkgs/by-name/qu/quickjs/package.nix b/pkgs/by-name/qu/quickjs/package.nix index c22e3e5b6c58d..8eba3c47e0023 100644 --- a/pkgs/by-name/qu/quickjs/package.nix +++ b/pkgs/by-name/qu/quickjs/package.nix @@ -89,34 +89,34 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://bellard.org/quickjs/"; description = "Small and embeddable Javascript engine"; longDescription = '' - QuickJS is a small and embeddable Javascript engine. It supports the - ES2023 specification including modules, asynchronous generators, proxies - and BigInt. - - It optionally supports mathematical extensions such as big decimal - floating point numbers (BigDecimal), big binary floating point numbers - (BigFloat) and operator overloading. - - Main Features: - - - Small and easily embeddable: just a few C files, no external - dependency, 210 KiB of x86 code for a simple hello world program. - - Fast interpreter with very low startup time: runs the 76000 tests of - the ECMAScript Test Suite in less than 2 minutes on a single core of a - desktop PC. The complete life cycle of a runtime instance completes in - less than 300 microseconds. - - Almost complete ES2023 support including modules, asynchronous - generators and full Annex B support (legacy web compatibility). - - Passes nearly 100% of the ECMAScript Test Suite tests when selecting - the ES2023 features. A summary is available at Test262 Report. - - Can compile Javascript sources to executables with no external dependency. - - Garbage collection using reference counting (to reduce memory usage and - have deterministic behavior) with cycle removal. - - Mathematical extensions: BigDecimal, BigFloat, operator overloading, - bigint mode, math mode. - - Command line interpreter with contextual colorization implemented in - Javascript. - - Small built-in standard library with C library wrappers. + QuickJS is a small and embeddable Javascript engine. It supports the + ES2023 specification including modules, asynchronous generators, proxies + and BigInt. + + It optionally supports mathematical extensions such as big decimal + floating point numbers (BigDecimal), big binary floating point numbers + (BigFloat) and operator overloading. + + Main Features: + + - Small and easily embeddable: just a few C files, no external + dependency, 210 KiB of x86 code for a simple hello world program. + - Fast interpreter with very low startup time: runs the 76000 tests of + the ECMAScript Test Suite in less than 2 minutes on a single core of a + desktop PC. The complete life cycle of a runtime instance completes in + less than 300 microseconds. + - Almost complete ES2023 support including modules, asynchronous + generators and full Annex B support (legacy web compatibility). + - Passes nearly 100% of the ECMAScript Test Suite tests when selecting + the ES2023 features. A summary is available at Test262 Report. + - Can compile Javascript sources to executables with no external dependency. + - Garbage collection using reference counting (to reduce memory usage and + have deterministic behavior) with cycle removal. + - Mathematical extensions: BigDecimal, BigFloat, operator overloading, + bigint mode, math mode. + - Command line interpreter with contextual colorization implemented in + Javascript. + - Small built-in standard library with C library wrappers. ''; license = lib.licenses.mit; diff --git a/pkgs/by-name/qu/quickmem/package.nix b/pkgs/by-name/qu/quickmem/package.nix index 91b170030aaf9..54ada1f9aff3b 100644 --- a/pkgs/by-name/qu/quickmem/package.nix +++ b/pkgs/by-name/qu/quickmem/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, doxygen -, graphviz -, arpa2common -, arpa2cm +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + doxygen, + graphviz, + arpa2common, + arpa2cm, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/qu/quicksand/package.nix b/pkgs/by-name/qu/quicksand/package.nix index e4fc1c2d5e016..106f0bf90550f 100644 --- a/pkgs/by-name/qu/quicksand/package.nix +++ b/pkgs/by-name/qu/quicksand/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "quicksand"; @@ -9,7 +13,7 @@ stdenvNoCC.mkDerivation { repo = "QuicksandFamily"; rev = "be4b9d638e1c79fa42d4a0ab0aa7fe29466419c7"; hash = "sha256-zkxm2u35Ll2qyCoUeuA0eumVjNSel+y1kkWoHxeNI/g="; - sparseCheckout = ["fonts"]; + sparseCheckout = [ "fonts" ]; }; installPhase = '' diff --git a/pkgs/by-name/qu/quickserve/package.nix b/pkgs/by-name/qu/quickserve/package.nix index b5a760617974f..8c4535b16c84d 100644 --- a/pkgs/by-name/qu/quickserve/package.nix +++ b/pkgs/by-name/qu/quickserve/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, makeWrapper, fetchzip, python3, python3Packages }: +{ + lib, + stdenv, + makeWrapper, + fetchzip, + python3, + python3Packages, +}: let threaded_servers = python3Packages.buildPythonPackage { name = "threaded_servers"; @@ -11,7 +18,8 @@ let doCheck = false; }; wrappedPython = python3.withPackages (_: [ threaded_servers ]); -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "quickserve"; version = "2018"; diff --git a/pkgs/by-name/qu/quicksynergy/package.nix b/pkgs/by-name/qu/quicksynergy/package.nix index 5a93f647291d2..bb69683e68585 100644 --- a/pkgs/by-name/qu/quicksynergy/package.nix +++ b/pkgs/by-name/qu/quicksynergy/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, pkg-config, gtk2, synergy}: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + synergy, +}: stdenv.mkDerivation rec { pname = "quicksynergy"; diff --git a/pkgs/by-name/qu/quicktemplate/package.nix b/pkgs/by-name/qu/quicktemplate/package.nix index a339c8e289618..37e6b1e92ecf0 100644 --- a/pkgs/by-name/qu/quicktemplate/package.nix +++ b/pkgs/by-name/qu/quicktemplate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "quicktemplate"; diff --git a/pkgs/by-name/qu/quicktun/package.nix b/pkgs/by-name/qu/quicktun/package.nix index 2dcb9b21b623a..ca215dfff275f 100644 --- a/pkgs/by-name/qu/quicktun/package.nix +++ b/pkgs/by-name/qu/quicktun/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libsodium, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + libsodium, + nixosTests, +}: stdenv.mkDerivation { pname = "quicktun"; diff --git a/pkgs/by-name/qu/quicktype/package.nix b/pkgs/by-name/qu/quicktype/package.nix index ecf33e6e92a57..1bbf69aa63b6c 100644 --- a/pkgs/by-name/qu/quicktype/package.nix +++ b/pkgs/by-name/qu/quicktype/package.nix @@ -1,4 +1,11 @@ -{ lib, buildNpmPackage, fetchFromGitHub, jq, quicktype, testers }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + jq, + quicktype, + testers, +}: buildNpmPackage rec { pname = "quicktype"; diff --git a/pkgs/by-name/qu/quill-qr/package.nix b/pkgs/by-name/qu/quill-qr/package.nix index 826f2e51799ca..ec31feb4b0133 100644 --- a/pkgs/by-name/qu/quill-qr/package.nix +++ b/pkgs/by-name/qu/quill-qr/package.nix @@ -1,11 +1,12 @@ -{ coreutils -, fetchFromGitHub -, gzip -, jq -, lib -, makeWrapper -, qrencode -, stdenvNoCC +{ + coreutils, + fetchFromGitHub, + gzip, + jq, + lib, + makeWrapper, + qrencode, + stdenvNoCC, }: stdenvNoCC.mkDerivation rec { @@ -28,12 +29,14 @@ stdenvNoCC.mkDerivation rec { cp -a quill-qr.sh $out/bin/quill-qr.sh patchShebangs $out/bin - wrapProgram $out/bin/quill-qr.sh --prefix PATH : "${lib.makeBinPath [ - qrencode - coreutils - jq - gzip - ]}" + wrapProgram $out/bin/quill-qr.sh --prefix PATH : "${ + lib.makeBinPath [ + qrencode + coreutils + jq + gzip + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/qu/quilt/package.nix b/pkgs/by-name/qu/quilt/package.nix index 477b4d14bb452..5f2e634e927f1 100644 --- a/pkgs/by-name/qu/quilt/package.nix +++ b/pkgs/by-name/qu/quilt/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, bash -, coreutils -, diffstat -, diffutils -, findutils -, gawk -, gnugrep -, gnused -, patch -, perl -, unixtools +{ + lib, + stdenv, + fetchurl, + makeWrapper, + bash, + coreutils, + diffstat, + diffutils, + findutils, + gawk, + gnugrep, + gnused, + patch, + perl, + unixtools, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/qu/quintom-cursor-theme/package.nix b/pkgs/by-name/qu/quintom-cursor-theme/package.nix index 3267d619b7a5e..037cbc7498885 100644 --- a/pkgs/by-name/qu/quintom-cursor-theme/package.nix +++ b/pkgs/by-name/qu/quintom-cursor-theme/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, fetchFromGitLab, lib }: +{ + stdenvNoCC, + fetchFromGitLab, + lib, +}: stdenvNoCC.mkDerivation { pname = "quintom-cursor-theme"; @@ -22,7 +26,10 @@ stdenvNoCC.mkDerivation { description = "Cursor theme designed to look decent"; homepage = "https://gitlab.com/Burning_Cube/quintom-cursor-theme"; platforms = platforms.unix; - license = with licenses; [ cc-by-sa-40 gpl3Only ]; + license = with licenses; [ + cc-by-sa-40 + gpl3Only + ]; maintainers = with maintainers; [ frogamic ]; }; } diff --git a/pkgs/by-name/qu/quinze/package.nix b/pkgs/by-name/qu/quinze/package.nix index dd029db212370..1f6edf2404a72 100644 --- a/pkgs/by-name/qu/quinze/package.nix +++ b/pkgs/by-name/qu/quinze/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { name = "quinze"; diff --git a/pkgs/by-name/qu/quirc/package.nix b/pkgs/by-name/qu/quirc/package.nix index 43144ce037b0e..d85f3d3473d3e 100644 --- a/pkgs/by-name/qu/quirc/package.nix +++ b/pkgs/by-name/qu/quirc/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch2, SDL_gfx, SDL, libjpeg, libpng -, opencv, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + SDL_gfx, + SDL, + libjpeg, + libpng, + opencv, + pkg-config, +}: stdenv.mkDerivation (finalAttrs: { pname = "quirc"; @@ -20,24 +30,32 @@ stdenv.mkDerivation (finalAttrs: { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL SDL_gfx libjpeg libpng opencv ]; + buildInputs = [ + SDL + SDL_gfx + libjpeg + libpng + opencv + ]; makeFlags = [ "PREFIX=$(out)" ]; env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL}/include/SDL -I${SDL_gfx}/include/SDL"; - patches = [ - (fetchpatch2 { - url = "https://github.com/dlbeer/quirc/commit/2c350d8aaf37246e538a2c93b2cce8c78600d2fc.patch?full_index=1"; - hash = "sha256-ZTcy/EoOBoyOjtXjmT+J/JcbX8lxGKmbWer23lymbWo="; - }) - (fetchpatch2 { - url = "https://github.com/dlbeer/quirc/commit/257c6c94d99960819ecabf72199e5822f60a3bc5.patch?full_index=1"; - hash = "sha256-WLQK7vy34VmgJzppTnRjAcZoSGWVaXQSaGq9An8W0rw="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Disable building of linux-only demos on darwin systems - ./0001-Don-t-build-demos.patch - ]; + patches = + [ + (fetchpatch2 { + url = "https://github.com/dlbeer/quirc/commit/2c350d8aaf37246e538a2c93b2cce8c78600d2fc.patch?full_index=1"; + hash = "sha256-ZTcy/EoOBoyOjtXjmT+J/JcbX8lxGKmbWer23lymbWo="; + }) + (fetchpatch2 { + url = "https://github.com/dlbeer/quirc/commit/257c6c94d99960819ecabf72199e5822f60a3bc5.patch?full_index=1"; + hash = "sha256-WLQK7vy34VmgJzppTnRjAcZoSGWVaXQSaGq9An8W0rw="; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Disable building of linux-only demos on darwin systems + ./0001-Don-t-build-demos.patch + ]; preInstall = '' mkdir -p "$out"/{bin,lib,include} @@ -47,19 +65,24 @@ stdenv.mkDerivation (finalAttrs: { | xargs cp -t "$out"/bin ''; - postInstall = '' - # don't install static library - rm $out/lib/libquirc.a - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Set absolute install name to avoid the need for DYLD_LIBRARY_PATH - dylib=$out/lib/libquirc.${finalAttrs.version}.dylib - ${stdenv.cc.targetPrefix}install_name_tool -id "$dylib" "$dylib" - ''; + postInstall = + '' + # don't install static library + rm $out/lib/libquirc.a + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Set absolute install name to avoid the need for DYLD_LIBRARY_PATH + dylib=$out/lib/libquirc.${finalAttrs.version}.dylib + ${stdenv.cc.targetPrefix}install_name_tool -id "$dylib" "$dylib" + ''; meta = { description = "Small QR code decoding library"; license = lib.licenses.isc; maintainers = [ lib.maintainers.raskin ]; - platforms = lib.platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ]; + platforms = lib.platforms.linux ++ [ + "x86_64-darwin" + "aarch64-darwin" + ]; }; }) diff --git a/pkgs/by-name/qu/quivira/package.nix b/pkgs/by-name/qu/quivira/package.nix index db01e2b7d1508..0649c5972fa52 100644 --- a/pkgs/by-name/qu/quivira/package.nix +++ b/pkgs/by-name/qu/quivira/package.nix @@ -2,7 +2,8 @@ let pname = "quivira"; version = "4.1"; -in fetchurl { +in +fetchurl { name = "${pname}-${version}"; url = "http://www.quivira-font.com/files/Quivira.otf"; diff --git a/pkgs/by-name/qu/quorum/package.nix b/pkgs/by-name/qu/quorum/package.nix index ca323bba3a7bb..5d7d48744084b 100644 --- a/pkgs/by-name/qu/quorum/package.nix +++ b/pkgs/by-name/qu/quorum/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, nixosTests }: +{ + lib, + fetchFromGitHub, + buildGoModule, + nixosTests, +}: buildGoModule rec { pname = "quorum"; @@ -18,7 +23,10 @@ buildGoModule rec { "cmd/bootnode" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests = { inherit (nixosTests) quorum; }; diff --git a/pkgs/by-name/r0/r0vm/package.nix b/pkgs/by-name/r0/r0vm/package.nix index e47a41260b60f..0e2b23d719dc3 100644 --- a/pkgs/by-name/r0/r0vm/package.nix +++ b/pkgs/by-name/r0/r0vm/package.nix @@ -1,12 +1,13 @@ -{ rustPlatform -, stdenv -, fetchFromGitHub -, fetchurl -, pkg-config -, perl -, openssl -, lib -, darwin +{ + rustPlatform, + stdenv, + fetchFromGitHub, + fetchurl, + pkg-config, + perl, + openssl, + lib, + darwin, }: rustPlatform.buildRustPackage rec { pname = "r0vm"; @@ -25,11 +26,13 @@ rustPlatform.buildRustPackage rec { perl ]; - buildInputs = [ - openssl.dev - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl.dev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; doCheck = false; diff --git a/pkgs/by-name/r1/r10k/gemset.nix b/pkgs/by-name/r1/r10k/gemset.nix index dc0e87c20aea3..47ddb6a768ba6 100644 --- a/pkgs/by-name/r1/r10k/gemset.nix +++ b/pkgs/by-name/r1/r10k/gemset.nix @@ -1,270 +1,300 @@ { base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; cri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa"; type = "gem"; }; version = "2.15.12"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; faraday = { - dependencies = ["faraday-net_http" "logger"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "faraday-net_http" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "104s7n9505488p923cs0pl3jlgn4naam28clkm2885hrysizpjbb"; type = "gem"; }; version = "2.10.1"; }; faraday-follow_redirects = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y87p3yk15bjbk0z9mf01r50lzxvp7agr56lbm9gxiz26mb9fbfr"; type = "gem"; }; version = "0.3.0"; }; faraday-net_http = { - dependencies = ["net-http"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-http" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys"; type = "gem"; }; version = "3.1.1"; }; fast_gettext = { - dependencies = ["prime"]; - groups = ["default"]; - platforms = []; + dependencies = [ "prime" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px"; type = "gem"; }; version = "2.4.0"; }; forwardable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b5g1i3xdvmxxpq4qp0z4v78ivqnazz26w110fh4cvzsdayz8zgi"; type = "gem"; }; version = "1.3.3"; }; gettext = { - dependencies = ["erubi" "locale" "prime" "racc" "text"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "erubi" + "locale" + "prime" + "racc" + "text" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16h0kda5z4s4zqygyk0f52xzs9mlz9r4lnhjwk729hhmdbz68a19"; type = "gem"; }; version = "3.4.9"; }; gettext-setup = { - dependencies = ["fast_gettext" "gettext" "locale"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "fast_gettext" + "gettext" + "locale" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v6liz934gmx1wv1z6bvpim6aanbr66xjhb90lc9z1jxayczmm1a"; type = "gem"; }; version = "1.1.0"; }; jwt = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s"; type = "gem"; }; version = "2.8.2"; }; locale = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "107pm4ccmla23z963kyjldgngfigvchnv85wr6m69viyxxrrjbsj"; type = "gem"; }; version = "2.1.4"; }; log4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv"; type = "gem"; }; version = "1.1.10"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa"; type = "gem"; }; version = "1.6.0"; }; minitar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s"; type = "gem"; }; version = "0.12.1"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; net-http = { - dependencies = ["uri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; version = "0.4.1"; }; prime = { - dependencies = ["forwardable" "singleton"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "forwardable" + "singleton" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1973kz8lbck6ga5v42f55jk8b8pnbgwp9p67dl1xw15gvz55dsfl"; type = "gem"; }; version = "0.1.2"; }; puppet_forge = { - dependencies = ["faraday" "faraday-follow_redirects" "minitar" "semantic_puppet"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "faraday" + "faraday-follow_redirects" + "minitar" + "semantic_puppet" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d65zri1nmpph8iki5iigdzfqd6rfyc1mlgdfhg69q3566rcff06"; type = "gem"; }; version = "5.0.4"; }; r10k = { - dependencies = ["colored2" "cri" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "colored2" + "cri" + "gettext-setup" + "jwt" + "log4r" + "minitar" + "multi_json" + "puppet_forge" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k3fr2f0pwyrabs12wqig31f37sqrqs8qza7jrn01d6blvhvkrb4"; type = "gem"; }; version = "4.1.0"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; semantic_puppet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ndqm3jnpdlwkk1jwqdyyb7yw7gv6r4kmjs30g09ap8siv80ilaj"; type = "gem"; }; version = "1.1.0"; }; singleton = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qq54imvbksnckzf9hrq9bjzcdb0n8wfv6l5jc0di10n88277jx6"; type = "gem"; }; version = "0.2.0"; }; text = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; type = "gem"; }; version = "1.3.1"; }; uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96"; type = "gem"; }; diff --git a/pkgs/by-name/r1/r10k/package.nix b/pkgs/by-name/r1/r10k/package.nix index ab38363ab5966..864f1ea797334 100644 --- a/pkgs/by-name/r1/r10k/package.nix +++ b/pkgs/by-name/r1/r10k/package.nix @@ -40,7 +40,12 @@ bundlerApp { description = "Puppet environment and module deployment"; homepage = "https://github.com/puppetlabs/r10k"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ zimbatm manveru nicknovitski anthonyroussel ]; + maintainers = with lib.maintainers; [ + zimbatm + manveru + nicknovitski + anthonyroussel + ]; platforms = lib.platforms.unix; mainProgram = "r10k"; }; diff --git a/pkgs/by-name/r1/r128gain/package.nix b/pkgs/by-name/r1/r128gain/package.nix index 7ff5a13b775e5..e63664594568a 100644 --- a/pkgs/by-name/r1/r128gain/package.nix +++ b/pkgs/by-name/r1/r128gain/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, substituteAll -, ffmpeg -, python3Packages -, sox +{ + lib, + fetchFromGitHub, + gitUpdater, + substituteAll, + ffmpeg, + python3Packages, + sox, }: python3Packages.buildPythonApplication rec { @@ -25,8 +26,16 @@ python3Packages.buildPythonApplication rec { }) ]; - propagatedBuildInputs = with python3Packages; [ crcmod ffmpeg-python mutagen tqdm ]; - nativeCheckInputs = with python3Packages; [ requests sox ]; + propagatedBuildInputs = with python3Packages; [ + crcmod + ffmpeg-python + mutagen + tqdm + ]; + nativeCheckInputs = with python3Packages; [ + requests + sox + ]; # Testing downloads media files for testing, which requires the # sandbox to be disabled. diff --git a/pkgs/by-name/r2/r2modman/package.nix b/pkgs/by-name/r2/r2modman/package.nix index 71792c115b5c1..42739aad29136 100644 --- a/pkgs/by-name/r2/r2modman/package.nix +++ b/pkgs/by-name/r2/r2modman/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, yarn -, fetchYarnDeps -, fixup-yarn-lock -, nodejs -, electron -, fetchFromGitHub -, nix-update-script -, makeWrapper -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + yarn, + fetchYarnDeps, + fixup-yarn-lock, + nodejs, + electron, + fetchFromGitHub, + nix-update-script, + makeWrapper, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation (finalAttrs: { @@ -99,7 +100,11 @@ stdenv.mkDerivation (finalAttrs: { desktopName = "r2modman"; comment = finalAttrs.meta.description; categories = [ "Game" ]; - keywords = [ "launcher" "mod manager" "thunderstore" ]; + keywords = [ + "launcher" + "mod manager" + "thunderstore" + ]; }) ]; @@ -111,7 +116,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/ebkr/r2modmanPlus"; license = lib.licenses.mit; mainProgram = "r2modman"; - maintainers = with lib.maintainers; [ aidalgol huantian ]; + maintainers = with lib.maintainers; [ + aidalgol + huantian + ]; inherit (electron.meta) platforms; }; }) diff --git a/pkgs/by-name/r5/r53-ddns/package.nix b/pkgs/by-name/r5/r53-ddns/package.nix index 5e83a3793b72b..548f5c062886a 100644 --- a/pkgs/by-name/r5/r53-ddns/package.nix +++ b/pkgs/by-name/r5/r53-ddns/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "r53-ddns"; diff --git a/pkgs/by-name/ra/ra-multiplex/package.nix b/pkgs/by-name/ra/ra-multiplex/package.nix index 6efa73f23d7bc..0281268ad64a6 100644 --- a/pkgs/by-name/ra/ra-multiplex/package.nix +++ b/pkgs/by-name/ra/ra-multiplex/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, rustPlatform -, rust-analyzer +{ + lib, + fetchFromGitHub, + makeWrapper, + rustPlatform, + rust-analyzer, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ra/rabbit/package.nix b/pkgs/by-name/ra/rabbit/package.nix index 9fb39a7085777..e462a8c8993b5 100644 --- a/pkgs/by-name/ra/rabbit/package.nix +++ b/pkgs/by-name/ra/rabbit/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ra/rabbitmq-c/package.nix b/pkgs/by-name/ra/rabbitmq-c/package.nix index 39f4434999aad..c8db41ed2c1f9 100644 --- a/pkgs/by-name/ra/rabbitmq-c/package.nix +++ b/pkgs/by-name/ra/rabbitmq-c/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl, popt, xmlto }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + popt, + xmlto, +}: stdenv.mkDerivation rec { pname = "rabbitmq-c"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ openssl popt xmlto ]; + buildInputs = [ + openssl + popt + xmlto + ]; meta = with lib; { description = "RabbitMQ C AMQP client library"; diff --git a/pkgs/by-name/ra/rabtap/package.nix b/pkgs/by-name/ra/rabtap/package.nix index 05f552ea16e66..91b312e2bedc2 100644 --- a/pkgs/by-name/ra/rabtap/package.nix +++ b/pkgs/by-name/ra/rabtap/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "rabtap"; diff --git a/pkgs/by-name/ra/racer/package.nix b/pkgs/by-name/ra/racer/package.nix index c6d9f654a480e..828ac2f48a2cd 100644 --- a/pkgs/by-name/ra/racer/package.nix +++ b/pkgs/by-name/ra/racer/package.nix @@ -1,20 +1,35 @@ -{ fetchurl, lib, stdenv, allegro, libjpeg, makeWrapper }: +{ + fetchurl, + lib, + stdenv, + allegro, + libjpeg, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "racer"; version = "1.1"; - src = if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - url = "http://hippo.nipax.cz/src/racer-${version}.tar.gz"; - sha256 = "0fll1qkqfcjq87k0jzsilcw701z92lfxn2y5ga1n038772lymxl9"; - } else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "https://hippo.nipax.cz/src/racer-${version}.64.tar.gz"; - sha256 = "0rjy3gmlhwfkb9zs58j0mc0dar0livwpbc19r6zw5r2k6r7xdan0"; - } else - throw "System not supported"; + src = + if stdenv.hostPlatform.system == "i686-linux" then + fetchurl { + url = "http://hippo.nipax.cz/src/racer-${version}.tar.gz"; + sha256 = "0fll1qkqfcjq87k0jzsilcw701z92lfxn2y5ga1n038772lymxl9"; + } + else if stdenv.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "https://hippo.nipax.cz/src/racer-${version}.64.tar.gz"; + sha256 = "0rjy3gmlhwfkb9zs58j0mc0dar0livwpbc19r6zw5r2k6r7xdan0"; + } + else + throw "System not supported"; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ allegro libjpeg ]; + buildInputs = [ + allegro + libjpeg + ]; prePatch = '' sed -i s,/usr/local,$out, Makefile src/HGFX.cpp src/STDH.cpp diff --git a/pkgs/by-name/ra/radamsa/package.nix b/pkgs/by-name/ra/radamsa/package.nix index e619a248137c5..36d5870b231a7 100644 --- a/pkgs/by-name/ra/radamsa/package.nix +++ b/pkgs/by-name/ra/radamsa/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchFromGitLab, bash }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitLab, + bash, +}: let # Fetch explicitly, otherwise build will try to do so @@ -28,7 +34,10 @@ stdenv.mkDerivation rec { patchShebangs tests ''; - makeFlags = [ "PREFIX=${placeholder "out"}" "BINDIR=" ]; + makeFlags = [ + "PREFIX=${placeholder "out"}" + "BINDIR=" + ]; nativeCheckInputs = [ bash ]; doCheck = true; @@ -37,7 +46,7 @@ stdenv.mkDerivation rec { description = "General purpose fuzzer"; mainProgram = "radamsa"; longDescription = "Radamsa is a general purpose data fuzzer. It reads data from given sample files, or standard input if none are given, and outputs modified data. It is usually used to generate malformed data for testing programs."; - homepage = "https://gitlab.com/akihe/radamsa"; + homepage = "https://gitlab.com/akihe/radamsa"; maintainers = [ ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/ra/radeontools/package.nix b/pkgs/by-name/ra/radeontools/package.nix index 01b83f8791199..5dce7e17cfc59 100644 --- a/pkgs/by-name/ra/radeontools/package.nix +++ b/pkgs/by-name/ra/radeontools/package.nix @@ -1,8 +1,11 @@ -{ lib, stdenv, fetchurl -, autoreconfHook -, pciutils -, pkg-config -, xorg +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pciutils, + pkg-config, + xorg, }: stdenv.mkDerivation rec { @@ -14,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "0mjk9wr9rsb17yy92j6yi16hfpa6v5r1dbyiy60zp4r125wr63za"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ xorg.libpciaccess ]; meta = with lib; { diff --git a/pkgs/by-name/ra/radeontop/package.nix b/pkgs/by-name/ra/radeontop/package.nix index 221a26f623406..2f766860a5203 100644 --- a/pkgs/by-name/ra/radeontop/package.nix +++ b/pkgs/by-name/ra/radeontop/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gettext, makeWrapper -, ncurses, libdrm, libpciaccess, libxcb }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gettext, + makeWrapper, + ncurses, + libdrm, + libpciaccess, + libxcb, +}: stdenv.mkDerivation rec { pname = "radeontop"; @@ -12,8 +22,17 @@ stdenv.mkDerivation rec { owner = "clbr"; }; - buildInputs = [ ncurses libdrm libpciaccess libxcb ]; - nativeBuildInputs = [ pkg-config gettext makeWrapper ]; + buildInputs = [ + ncurses + libdrm + libpciaccess + libxcb + ]; + nativeBuildInputs = [ + pkg-config + gettext + makeWrapper + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ra/radioboat/package.nix b/pkgs/by-name/ra/radioboat/package.nix index ebb19dcf479e1..f874642fe91fc 100644 --- a/pkgs/by-name/ra/radioboat/package.nix +++ b/pkgs/by-name/ra/radioboat/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, mpv -, makeWrapper -, installShellFiles -, nix-update-script -, testers -, radioboat +{ + lib, + fetchFromGitHub, + buildGoModule, + mpv, + makeWrapper, + installShellFiles, + nix-update-script, + testers, + radioboat, }: buildGoModule rec { @@ -28,7 +29,10 @@ buildGoModule rec { "-X github.com/slashformotion/radioboat/internal/buildinfo.Version=${version}" ]; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; preFixup = '' wrapProgram $out/bin/radioboat --prefix PATH ":" "${lib.makeBinPath [ mpv ]}"; diff --git a/pkgs/by-name/ra/radsecproxy/package.nix b/pkgs/by-name/ra/radsecproxy/package.nix index 493dd6c0e835e..a6b0b40cc141b 100644 --- a/pkgs/by-name/ra/radsecproxy/package.nix +++ b/pkgs/by-name/ra/radsecproxy/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, openssl, autoreconfHook, nettle }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + autoreconfHook, + nettle, +}: stdenv.mkDerivation rec { pname = "radsecproxy"; @@ -12,12 +19,15 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl nettle ]; + buildInputs = [ + openssl + nettle + ]; configureFlags = [ - "--with-ssl=${openssl.dev}" - "--sysconfdir=/etc" - "--localstatedir=/var" + "--with-ssl=${openssl.dev}" + "--sysconfdir=/etc" + "--localstatedir=/var" ]; meta = with lib; { diff --git a/pkgs/by-name/ra/raffi/package.nix b/pkgs/by-name/ra/raffi/package.nix index 5a0832b256291..3acc8504ae7e5 100644 --- a/pkgs/by-name/ra/raffi/package.nix +++ b/pkgs/by-name/ra/raffi/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, makeBinaryWrapper -, fuzzel -, additionalPrograms ? [ ] +{ + lib, + fetchFromGitHub, + rustPlatform, + makeBinaryWrapper, + fuzzel, + additionalPrograms ? [ ], }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ra/raft-canonical/package.nix b/pkgs/by-name/ra/raft-canonical/package.nix index 4d60456d8ab21..c109f8de76064 100644 --- a/pkgs/by-name/ra/raft-canonical/package.nix +++ b/pkgs/by-name/ra/raft-canonical/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file, libuv, lz4, lxd-lts }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + file, + libuv, + lz4, + lxd-lts, +}: stdenv.mkDerivation rec { pname = "raft-canonical"; @@ -11,8 +21,15 @@ stdenv.mkDerivation rec { hash = "sha256-ogTw0+ZFhMRaLAxAAXzHSlLRYFuX8W/zjqglXHfvUv4="; }; - nativeBuildInputs = [ autoreconfHook file pkg-config ]; - buildInputs = [ libuv lz4 ]; + nativeBuildInputs = [ + autoreconfHook + file + pkg-config + ]; + buildInputs = [ + libuv + lz4 + ]; enableParallelBuilding = true; @@ -30,7 +47,10 @@ stdenv.mkDerivation rec { doCheck = true; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; passthru.tests = { inherit lxd-lts; diff --git a/pkgs/by-name/ra/raft-cowsql/package.nix b/pkgs/by-name/ra/raft-cowsql/package.nix index 65835a086284e..b916743e7591d 100644 --- a/pkgs/by-name/ra/raft-cowsql/package.nix +++ b/pkgs/by-name/ra/raft-cowsql/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libuv -, lz4 -, pkg-config -, incus -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libuv, + lz4, + pkg-config, + incus, + gitUpdater, }: stdenv.mkDerivation rec { @@ -20,8 +21,14 @@ stdenv.mkDerivation rec { hash = "sha256-aGw/ATu8Xdjfqa0qWg8Sld9PKCmQsMtZhuNBwagER7M="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libuv lz4 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libuv + lz4 + ]; enableParallelBuilding = true; @@ -39,7 +46,10 @@ stdenv.mkDerivation rec { doCheck = true; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; passthru = { inherit (incus) tests; diff --git a/pkgs/by-name/ra/rage/package.nix b/pkgs/by-name/ra/rage/package.nix index f8539df67e5ef..d7853cda2f638 100644 --- a/pkgs/by-name/ra/rage/package.nix +++ b/pkgs/by-name/ra/rage/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + darwin, }: rustPlatform.buildRustPackage rec { @@ -42,7 +43,10 @@ rustPlatform.buildRustPackage rec { description = "Simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability"; homepage = "https://github.com/str4d/rage"; changelog = "https://github.com/str4d/rage/blob/v${version}/rage/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; # either at your option + license = with licenses; [ + asl20 + mit + ]; # either at your option maintainers = with maintainers; [ ryantm ]; mainProgram = "rage"; }; diff --git a/pkgs/by-name/ra/ragnarwm/package.nix b/pkgs/by-name/ra/ragnarwm/package.nix index 6ffdc8a0a39e2..d177c112bdce8 100644 --- a/pkgs/by-name/ra/ragnarwm/package.nix +++ b/pkgs/by-name/ra/ragnarwm/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, writeText -, fontconfig -, libX11 -, libXft -, libXcursor -, libXcomposite -, conf ? null -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + fontconfig, + libX11, + libXft, + libXcursor, + libXcomposite, + conf ? null, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -31,8 +32,7 @@ stdenv.mkDerivation (finalAttrs: { postPatch = let configFile = - if lib.isDerivation conf || builtins.isPath conf - then conf else writeText "config.h" conf; + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.h" conf; in lib.optionalString (conf != null) "cp ${configFile} config.h"; diff --git a/pkgs/by-name/ra/raider/package.nix b/pkgs/by-name/ra/raider/package.nix index b205e1521c5ae..bfb46e90efcf5 100644 --- a/pkgs/by-name/ra/raider/package.nix +++ b/pkgs/by-name/ra/raider/package.nix @@ -1,16 +1,17 @@ -{ appstream -, blueprint-compiler -, desktop-file-utils -, fetchFromGitHub -, gtk4 -, lib -, libadwaita -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, stdenv -, wrapGAppsHook4 +{ + appstream, + blueprint-compiler, + desktop-file-utils, + fetchFromGitHub, + gtk4, + lib, + libadwaita, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -24,17 +25,19 @@ stdenv.mkDerivation rec { hash = "sha256-LkGSEUoruWfEq/ttM3LkA/UjHc3ZrlvGF44HsJLntAo="; }; - nativeBuildInputs = [ - appstream - blueprint-compiler - desktop-file-utils - meson - ninja - pkg-config - wrapGAppsHook4 - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + appstream + blueprint-compiler + desktop-file-utils + meson + ninja + pkg-config + wrapGAppsHook4 + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ gtk4 @@ -57,7 +60,10 @@ stdenv.mkDerivation rec { homepage = "https://apps.gnome.org/Raider"; license = licenses.gpl3Plus; mainProgram = "raider"; - maintainers = with maintainers; [ benediktbroich aleksana ]; + maintainers = with maintainers; [ + benediktbroich + aleksana + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ra/rain/package.nix b/pkgs/by-name/ra/rain/package.nix index c5921f90bff63..5df5e7c559a28 100644 --- a/pkgs/by-name/ra/rain/package.nix +++ b/pkgs/by-name/ra/rain/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, rain +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + rain, }: buildGoModule rec { @@ -20,7 +21,10 @@ buildGoModule rec { subPackages = [ "cmd/rain" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests.version = testers.testVersion { package = rain; diff --git a/pkgs/by-name/ra/raiseorlaunch/package.nix b/pkgs/by-name/ra/raiseorlaunch/package.nix index 22eddd71bd11a..8f2d92f80ebac 100644 --- a/pkgs/by-name/ra/raiseorlaunch/package.nix +++ b/pkgs/by-name/ra/raiseorlaunch/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "raiseorlaunch"; diff --git a/pkgs/by-name/ra/rakkess/package.nix b/pkgs/by-name/ra/rakkess/package.nix index 6b101e0b890ca..a1a349637ab87 100644 --- a/pkgs/by-name/ra/rakkess/package.nix +++ b/pkgs/by-name/ra/rakkess/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "rakkess"; @@ -12,7 +16,11 @@ buildGoModule rec { }; vendorHash = "sha256-lVxJ4wFBhHc8JVpkmqphLYPE9Z8Cr6o+aAHvC1naqyE="; - ldflags = [ "-s" "-w" "-X github.com/corneliusweig/rakkess/internal/version.version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/corneliusweig/rakkess/internal/version.version=v${version}" + ]; meta = with lib; { homepage = "https://github.com/corneliusweig/rakkess"; diff --git a/pkgs/by-name/ra/raleway/package.nix b/pkgs/by-name/ra/raleway/package.nix index c8a91165f30a1..f1b0c6dd3d43c 100644 --- a/pkgs/by-name/ra/raleway/package.nix +++ b/pkgs/by-name/ra/raleway/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "raleway"; diff --git a/pkgs/by-name/ra/rambox/package.nix b/pkgs/by-name/ra/rambox/package.nix index 52ee8d79266a1..fb42c55777207 100644 --- a/pkgs/by-name/ra/rambox/package.nix +++ b/pkgs/by-name/ra/rambox/package.nix @@ -1,4 +1,9 @@ -{ appimageTools, lib, fetchurl, makeDesktopItem }: +{ + appimageTools, + lib, + fetchurl, + makeDesktopItem, +}: let pname = "rambox"; @@ -9,13 +14,15 @@ let hash = "sha256-ndFv5rNTWyqrGGC8t1JNR+bQC0Jsit4I9p4ng7h/gcU="; }; - desktopItem = (makeDesktopItem { - desktopName = "Rambox"; - name = pname; - exec = "rambox"; - icon = pname; - categories = [ "Network" ]; - }); + desktopItem = ( + makeDesktopItem { + desktopName = "Rambox"; + name = pname; + exec = "rambox"; + icon = pname; + categories = [ "Network" ]; + } + ); appimageContents = appimageTools.extract { inherit pname version src; diff --git a/pkgs/by-name/ra/ramfetch/package.nix b/pkgs/by-name/ra/ramfetch/package.nix index c8055f99fe44f..d8d1de5c66783 100644 --- a/pkgs/by-name/ra/ramfetch/package.nix +++ b/pkgs/by-name/ra/ramfetch/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchgit +{ + lib, + stdenv, + fetchgit, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ra/rancher/package.nix b/pkgs/by-name/ra/rancher/package.nix index 820cc94d93133..5288eebe1c317 100644 --- a/pkgs/by-name/ra/rancher/package.nix +++ b/pkgs/by-name/ra/rancher/package.nix @@ -1,14 +1,18 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "rancher"; version = "2.9.0"; src = fetchFromGitHub { - owner = "rancher"; - repo = "cli"; - rev = "v${version}"; - hash = "sha256-YyNzqihoQNMmROLeD7/KOU6mTe/UMKgRwGPxCjIglDM="; + owner = "rancher"; + repo = "cli"; + rev = "v${version}"; + hash = "sha256-YyNzqihoQNMmROLeD7/KOU6mTe/UMKgRwGPxCjIglDM="; }; ldflags = [ diff --git a/pkgs/by-name/ra/rancid/package.nix b/pkgs/by-name/ra/rancid/package.nix index f23cb1f9c7126..a6ed377ebc295 100644 --- a/pkgs/by-name/ra/rancid/package.nix +++ b/pkgs/by-name/ra/rancid/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, writeShellScriptBin -, autoreconfHook -, libtool -, makeBinaryWrapper -, coreutils -, expect -, git -, gnugrep -, inetutils # for telnet -, gnused -, openssh -, perl -, runtimeShell +{ + stdenv, + lib, + fetchFromGitHub, + writeShellScriptBin, + autoreconfHook, + libtool, + makeBinaryWrapper, + coreutils, + expect, + git, + gnugrep, + inetutils, # for telnet + gnused, + openssh, + perl, + runtimeShell, }: # we cannot use resholve.mkDerivation yet - the scripts are too hairy, although it might be possible @@ -21,7 +22,12 @@ let inherit (lib) - concatStringsSep getExe makeBinPath mapAttrsToList replaceStrings; + concatStringsSep + getExe + makeBinPath + mapAttrsToList + replaceStrings + ; # The installer executes ping to figure out how to call it and then sets the full path to the # binary. This script "handles" it by pretending everything is OK and has very much not been @@ -67,7 +73,20 @@ stdenv.mkDerivation (finalAttrs: { --replace 'm4_esyscmd(configure.vers package_version),' ${finalAttrs.version}, substituteInPlace etc/rancid.conf.sample.in \ - --replace @ENV_PATH@ ${makeBinPath [ "/run/wrappers" (placeholder "out") coreutils git gnugrep gnused openssh perl runtimeShell telnet' ]} + --replace @ENV_PATH@ ${ + makeBinPath [ + "/run/wrappers" + (placeholder "out") + coreutils + git + gnugrep + gnused + openssh + perl + runtimeShell + telnet' + ] + } for f in bin/*.in; do \ if grep -q /usr/bin/tail $f ; then @@ -90,18 +109,28 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook libtool makeBinaryWrapper wrappedPing ]; - - buildInputs = [ expect openssh perl telnet' ]; - - postInstall = concatStringsSep "\n" (mapAttrsToList - (n: v: '' + nativeBuildInputs = [ + autoreconfHook + libtool + makeBinaryWrapper + wrappedPing + ]; + + buildInputs = [ + expect + openssh + perl + telnet' + ]; + + postInstall = concatStringsSep "\n" ( + mapAttrsToList (n: v: '' mkdir -p $out/libexec mv $out/bin/${n} $out/libexec/ makeWrapper $out/libexec/${n} $out/bin/${n} \ --prefix PATH : ${makeBinPath v} - '') - needsBin); + '') needsBin + ); meta = with lib; { description = "Really Awesome New Cisco confIg Differ"; diff --git a/pkgs/by-name/ra/randoop/package.nix b/pkgs/by-name/ra/randoop/package.nix index 552f5fef7cae3..f3e78214ef70a 100644 --- a/pkgs/by-name/ra/randoop/package.nix +++ b/pkgs/by-name/ra/randoop/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { version = "4.3.3"; diff --git a/pkgs/by-name/ra/randtype/package.nix b/pkgs/by-name/ra/randtype/package.nix index ba5c40367ec0b..af2b91eb6b1ce 100644 --- a/pkgs/by-name/ra/randtype/package.nix +++ b/pkgs/by-name/ra/randtype/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, zlib }: +{ + lib, + stdenv, + fetchzip, + zlib, +}: stdenv.mkDerivation rec { pname = "randtype"; diff --git a/pkgs/by-name/ra/rang/package.nix b/pkgs/by-name/ra/rang/package.nix index 050beef5ea307..61b6fa19afe07 100644 --- a/pkgs/by-name/ra/rang/package.nix +++ b/pkgs/by-name/ra/rang/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "rang"; version = "3.1.0"; @@ -10,8 +15,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; meta = with lib; { - description = - "A Minimal, Header only Modern c++ library for terminal goodies"; + description = "A Minimal, Header only Modern c++ library for terminal goodies"; homepage = "https://agauniyal.github.io/rang/"; license = licenses.unlicense; maintainers = [ maintainers.HaoZeke ]; diff --git a/pkgs/by-name/ra/range-v3/package.nix b/pkgs/by-name/ra/range-v3/package.nix index b3b4635d476d6..1b5d5caa8e7ae 100644 --- a/pkgs/by-name/ra/range-v3/package.nix +++ b/pkgs/by-name/ra/range-v3/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "range-v3"; @@ -15,8 +20,9 @@ stdenv.mkDerivation rec { # Building the tests currently fails on AArch64 due to internal compiler # errors (with GCC 9.2): - cmakeFlags = [ "-DRANGES_ENABLE_WERROR=OFF" ] - ++ lib.optional stdenv.hostPlatform.isAarch64 "-DRANGE_V3_TESTS=OFF"; + cmakeFlags = [ + "-DRANGES_ENABLE_WERROR=OFF" + ] ++ lib.optional stdenv.hostPlatform.isAarch64 "-DRANGE_V3_TESTS=OFF"; doCheck = !stdenv.hostPlatform.isAarch64; checkTarget = "test"; diff --git a/pkgs/by-name/ra/ranger/package.nix b/pkgs/by-name/ra/ranger/package.nix index 48d161e22d5de..557e6ddfb7013 100644 --- a/pkgs/by-name/ra/ranger/package.nix +++ b/pkgs/by-name/ra/ranger/package.nix @@ -1,9 +1,17 @@ -{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m, imagemagick -, imagePreviewSupport ? true -, sixelPreviewSupport ? true -, neoVimSupport ? true -, improvedEncodingDetection ? true -, rightToLeftTextSupport ? false +{ + lib, + fetchFromGitHub, + python3Packages, + file, + less, + highlight, + w3m, + imagemagick, + imagePreviewSupport ? true, + sixelPreviewSupport ? true, + neoVimSupport ? true, + improvedEncodingDetection ? true, + rightToLeftTextSupport ? false, }: python3Packages.buildPythonApplication rec { @@ -19,44 +27,55 @@ python3Packages.buildPythonApplication rec { LC_ALL = "en_US.UTF-8"; - nativeCheckInputs = with python3Packages; [ pytestCheckHook astroid pylint ]; - propagatedBuildInputs = [ - less - file - ] ++ lib.optionals imagePreviewSupport [ python3Packages.pillow ] + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + astroid + pylint + ]; + propagatedBuildInputs = + [ + less + file + ] + ++ lib.optionals imagePreviewSupport [ python3Packages.pillow ] ++ lib.optionals sixelPreviewSupport [ imagemagick ] ++ lib.optionals neoVimSupport [ python3Packages.pynvim ] ++ lib.optionals improvedEncodingDetection [ python3Packages.chardet ] ++ lib.optionals rightToLeftTextSupport [ python3Packages.python-bidi ]; - preConfigure = '' - ${lib.optionalString (highlight != null) '' - sed -i -e 's|^\s*highlight\b|${highlight}/bin/highlight|' \ - ranger/data/scope.sh - ''} - - substituteInPlace ranger/__init__.py \ - --replace "DEFAULT_PAGER = 'less'" "DEFAULT_PAGER = '${lib.getBin less}/bin/less'" - - # give file previews out of the box - substituteInPlace ranger/config/rc.conf \ - --replace /usr/share $out/share \ - --replace "#set preview_script ~/.config/ranger/scope.sh" "set preview_script $out/share/doc/ranger/config/scope.sh" - '' + lib.optionalString imagePreviewSupport '' - substituteInPlace ranger/ext/img_display.py \ - --replace /usr/lib/w3m ${w3m}/libexec/w3m - - # give image previews out of the box when building with w3m - substituteInPlace ranger/config/rc.conf \ - --replace "set preview_images false" "set preview_images true" - ''; - - meta = with lib; { + preConfigure = + '' + ${lib.optionalString (highlight != null) '' + sed -i -e 's|^\s*highlight\b|${highlight}/bin/highlight|' \ + ranger/data/scope.sh + ''} + + substituteInPlace ranger/__init__.py \ + --replace "DEFAULT_PAGER = 'less'" "DEFAULT_PAGER = '${lib.getBin less}/bin/less'" + + # give file previews out of the box + substituteInPlace ranger/config/rc.conf \ + --replace /usr/share $out/share \ + --replace "#set preview_script ~/.config/ranger/scope.sh" "set preview_script $out/share/doc/ranger/config/scope.sh" + '' + + lib.optionalString imagePreviewSupport '' + substituteInPlace ranger/ext/img_display.py \ + --replace /usr/lib/w3m ${w3m}/libexec/w3m + + # give image previews out of the box when building with w3m + substituteInPlace ranger/config/rc.conf \ + --replace "set preview_images false" "set preview_images true" + ''; + + meta = with lib; { description = "File manager with minimalistic curses interface"; homepage = "https://ranger.github.io/"; license = licenses.gpl3Only; platforms = platforms.unix; - maintainers = with maintainers; [ toonn magnetophon ]; + maintainers = with maintainers; [ + toonn + magnetophon + ]; mainProgram = "ranger"; }; } diff --git a/pkgs/by-name/ra/rankwidth/package.nix b/pkgs/by-name/ra/rankwidth/package.nix index c00d579702ccb..4b3a8c3d21e75 100644 --- a/pkgs/by-name/ra/rankwidth/package.nix +++ b/pkgs/by-name/ra/rankwidth/package.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ra/rapidcheck/package.nix b/pkgs/by-name/ra/rapidcheck/package.nix index ce369eb6ff3fd..aefe46093b0e5 100644 --- a/pkgs/by-name/ra/rapidcheck/package.nix +++ b/pkgs/by-name/ra/rapidcheck/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, unstableGitUpdater -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + unstableGitUpdater, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -12,12 +13,15 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "emil-e"; - repo = "rapidcheck"; - rev = "ff6af6fc683159deb51c543b065eba14dfcf329b"; + repo = "rapidcheck"; + rev = "ff6af6fc683159deb51c543b065eba14dfcf329b"; hash = "sha256-Ixz5RpY0n8Un/Pv4XoTfbs40+70iyMbkQUjDqoLaWOg="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/ra/rapidfuzz-cpp/package.nix b/pkgs/by-name/ra/rapidfuzz-cpp/package.nix index 72978aa7c6ab9..62aa7a1e36272 100644 --- a/pkgs/by-name/ra/rapidfuzz-cpp/package.nix +++ b/pkgs/by-name/ra/rapidfuzz-cpp/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, catch2_3 -, python3Packages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + catch2_3, + python3Packages, }: stdenv.mkDerivation (finalAttrs: { @@ -36,7 +37,9 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - /** `python3Packages.levenshtein` crucially depends on `rapidfuzz-cpp` */ + /** + `python3Packages.levenshtein` crucially depends on `rapidfuzz-cpp` + */ inherit (python3Packages) levenshtein; }; }; diff --git a/pkgs/by-name/ra/rapidsvn/package.nix b/pkgs/by-name/ra/rapidsvn/package.nix index 4ed034c500f99..3d6e5a3c9e1ba 100644 --- a/pkgs/by-name/ra/rapidsvn/package.nix +++ b/pkgs/by-name/ra/rapidsvn/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, wxGTK32 -, subversion -, apr -, aprutil -, python3 -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + wxGTK32, + subversion, + apr, + aprutil, + python3, + darwin, }: stdenv.mkDerivation rec { @@ -30,15 +31,17 @@ stdenv.mkDerivation rec { autoreconfHook ]; - buildInputs = [ - wxGTK32 - subversion - apr - aprutil - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ]; + buildInputs = + [ + wxGTK32 + subversion + apr + aprutil + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ]; configureFlags = [ "--with-svn-include=${subversion.dev}/include" diff --git a/pkgs/by-name/ra/rapidxml/package.nix b/pkgs/by-name/ra/rapidxml/package.nix index c433f32728e1c..7d695b8b60c96 100644 --- a/pkgs/by-name/ra/rapidxml/package.nix +++ b/pkgs/by-name/ra/rapidxml/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "rapidxml"; diff --git a/pkgs/by-name/ra/rapidyaml/package.nix b/pkgs/by-name/ra/rapidyaml/package.nix index bab70f5a6f566..2e57198c43d21 100644 --- a/pkgs/by-name/ra/rapidyaml/package.nix +++ b/pkgs/by-name/ra/rapidyaml/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, git +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + git, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-vAYafhWo9xavM2j+mT3OGcX7ZSS25mieR/3b79BO+jA="; }; - nativeBuildInputs = [ cmake git ]; + nativeBuildInputs = [ + cmake + git + ]; meta = with lib; { description = "Library to parse and emit YAML, and do it fast"; diff --git a/pkgs/by-name/ra/rappel/package.nix b/pkgs/by-name/ra/rappel/package.nix index 6a4ff7133e5c9..e8f00c133b439 100644 --- a/pkgs/by-name/ra/rappel/package.nix +++ b/pkgs/by-name/ra/rappel/package.nix @@ -1,8 +1,10 @@ -{ fetchFromGitHub -, libedit -, makeWrapper -, nasm -, lib, stdenv +{ + fetchFromGitHub, + libedit, + makeWrapper, + nasm, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ra/rar2fs/package.nix b/pkgs/by-name/ra/rar2fs/package.nix index 0181c0d0ef4f8..0671159ab88ef 100644 --- a/pkgs/by-name/ra/rar2fs/package.nix +++ b/pkgs/by-name/ra/rar2fs/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, fuse2 -, unrar +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + fuse2, + unrar, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ fuse2 unrar ]; + buildInputs = [ + fuse2 + unrar + ]; configureFlags = [ "--with-unrar=${unrar.src}/unrar" @@ -34,7 +38,10 @@ stdenv.mkDerivation rec { description = "FUSE file system for reading RAR archives"; homepage = "https://hasse69.github.io/rar2fs/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ kraem wegank ]; + maintainers = with maintainers; [ + kraem + wegank + ]; platforms = with platforms; linux ++ freebsd; }; } diff --git a/pkgs/by-name/ra/rarcrack/package.nix b/pkgs/by-name/ra/rarcrack/package.nix index 40043022f278c..31a10c9531c48 100644 --- a/pkgs/by-name/ra/rarcrack/package.nix +++ b/pkgs/by-name/ra/rarcrack/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchFromGitHub, libxml2, file, p7zip, unrar, unzip}: +{ + lib, + stdenv, + fetchFromGitHub, + libxml2, + file, + p7zip, + unrar, + unzip, +}: stdenv.mkDerivation { pname = "rarcrack"; @@ -12,12 +21,17 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ unzip ]; - buildInputs = [ libxml2 file p7zip unrar ]; + buildInputs = [ + libxml2 + file + p7zip + unrar + ]; buildFlags = lib.optional stdenv.cc.isClang "CC=clang"; installFlags = [ "PREFIX=\${out}" ]; patchPhase = '' - substituteInPlace rarcrack.c --replace "file -i" "${file}/bin/file -i" + substituteInPlace rarcrack.c --replace "file -i" "${file}/bin/file -i" ''; preInstall = '' @@ -27,9 +41,9 @@ stdenv.mkDerivation { meta = with lib; { description = "This program can crack zip,7z and rar file passwords"; longDescription = '' - If you forget your password for compressed archive (rar, 7z, zip), this program is the solution. - This program uses bruteforce algorithm to find correct password. You can specify wich characters will be used in password generations. - Warning: Please don't use this program for any illegal things! + If you forget your password for compressed archive (rar, 7z, zip), this program is the solution. + This program uses bruteforce algorithm to find correct password. You can specify wich characters will be used in password generations. + Warning: Please don't use this program for any illegal things! ''; homepage = "https://github.com/jaredsburrows/Rarcrack"; license = licenses.gpl2Only; @@ -37,4 +51,3 @@ stdenv.mkDerivation { platforms = with platforms; unix; }; } - diff --git a/pkgs/by-name/ra/rare-regex/package.nix b/pkgs/by-name/ra/rare-regex/package.nix index 1c9bece2ffee8..25c74392f88a7 100644 --- a/pkgs/by-name/ra/rare-regex/package.nix +++ b/pkgs/by-name/ra/rare-regex/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, withPcre2 ? stdenv.hostPlatform.isLinux -, pcre2 -, testers -, rare-regex +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + withPcre2 ? stdenv.hostPlatform.isLinux, + pcre2, + testers, + rare-regex, }: buildGoModule rec { diff --git a/pkgs/by-name/ra/rargs/package.nix b/pkgs/by-name/ra/rargs/package.nix index 7d97a9ecacba4..1b465e5071b51 100644 --- a/pkgs/by-name/ra/rargs/package.nix +++ b/pkgs/by-name/ra/rargs/package.nix @@ -1,24 +1,28 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { - pname = "rargs"; + pname = "rargs"; version = "0.3.0"; src = fetchFromGitHub { - owner = "lotabout"; - repo = pname; - rev = "v${version}"; + owner = "lotabout"; + repo = pname; + rev = "v${version}"; sha256 = "188gj05rbivci1z4z29vwdwxlj2w01v5i4avwrxjnj1dd6mmlbxd"; }; cargoHash = "sha256-cPfuABjn62Wuxtk8nQlGcLpiPe7/kqNr4IZ7+W8jzaM="; - doCheck=false; # `rargs`'s test depends on the deprecated `assert_cli` crate, which in turn is not in Nixpkgs + doCheck = false; # `rargs`'s test depends on the deprecated `assert_cli` crate, which in turn is not in Nixpkgs meta = with lib; { description = "xargs + awk with pattern matching support"; - homepage = "https://github.com/lolabout/rargs"; - license = with licenses; [ mit ]; + homepage = "https://github.com/lolabout/rargs"; + license = with licenses; [ mit ]; maintainers = with maintainers; [ pblkt ]; mainProgram = "rargs"; }; diff --git a/pkgs/by-name/ra/rars/package.nix b/pkgs/by-name/ra/rars/package.nix index b1ce9eecde525..e136a31239925 100644 --- a/pkgs/by-name/ra/rars/package.nix +++ b/pkgs/by-name/ra/rars/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, stdenvNoCC, makeWrapper, jre }: +{ + lib, + fetchurl, + stdenvNoCC, + makeWrapper, + jre, +}: stdenvNoCC.mkDerivation rec { pname = "rars"; diff --git a/pkgs/by-name/ra/rascal/package.nix b/pkgs/by-name/ra/rascal/package.nix index 2ddebe96e8a7e..6f4683d30d254 100644 --- a/pkgs/by-name/ra/rascal/package.nix +++ b/pkgs/by-name/ra/rascal/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jdk }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jdk, +}: stdenv.mkDerivation rec { pname = "rascal"; @@ -14,12 +20,11 @@ stdenv.mkDerivation rec { dontUnpack = true; - installPhase = - '' - mkdir -p $out/bin - makeWrapper ${jdk}/bin/java $out/bin/rascal \ - --add-flags "-jar ${src}" \ - ''; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${jdk}/bin/java $out/bin/rascal \ + --add-flags "-jar ${src}" \ + ''; meta = { homepage = "https://www.rascal-mpl.org/"; diff --git a/pkgs/by-name/ra/rasdaemon/package.nix b/pkgs/by-name/ra/rasdaemon/package.nix index 5a1df895b4c03..3bf564a6e499f 100644 --- a/pkgs/by-name/ra/rasdaemon/package.nix +++ b/pkgs/by-name/ra/rasdaemon/package.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, pkg-config -, glibcLocales, kmod, coreutils, perl -, dmidecode, hwdata, sqlite, libtraceevent -, fetchpatch -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + glibcLocales, + kmod, + coreutils, + perl, + dmidecode, + hwdata, + sqlite, + libtraceevent, + fetchpatch, + nixosTests, }: stdenv.mkDerivation rec { @@ -18,14 +28,18 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch { # fix #295002 (segfault on AMD), will be in the release after 0.8.0 + (fetchpatch { + # fix #295002 (segfault on AMD), will be in the release after 0.8.0 name = "fix crash on AMD"; url = "https://github.com/mchehab/rasdaemon/commit/f1ea76375281001cdf4a048c1a4a24d86c6fbe48.patch"; hash = "sha256-1VPDTrAsvZGiGbh52EUdG6tYV/n6wUS0mphOSXzran0="; }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ coreutils @@ -34,9 +48,13 @@ stdenv.mkDerivation rec { kmod sqlite libtraceevent - (perl.withPackages (ps: with ps; [ DBI DBDSQLite ])) - ] - ++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ dmidecode ]; + (perl.withPackages ( + ps: with ps; [ + DBI + DBDSQLite + ] + )) + ] ++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ dmidecode ]; configureFlags = [ "--sysconfdir=/etc" @@ -63,29 +81,35 @@ stdenv.mkDerivation rec { # therefore, stripping these from the generated Makefile # (needed in the config flags because those set where the tools look for these) -# easy way out, ends up installing /nix/store/...rasdaemon/bin in $out + # easy way out, ends up installing /nix/store/...rasdaemon/bin in $out postConfigure = '' substituteInPlace Makefile \ --replace '"$(DESTDIR)/etc/ras/dimm_labels.d"' '"$(prefix)/etc/ras/dimm_labels.d"' ''; - outputs = [ "out" "dev" "man" "inject" ]; + outputs = [ + "out" + "dev" + "man" + "inject" + ]; postInstall = '' install -Dm 0755 contrib/edac-fake-inject $inject/bin/edac-fake-inject install -Dm 0755 contrib/edac-tests $inject/bin/edac-tests ''; - postFixup = '' - # Fix dmidecode and modprobe paths - substituteInPlace $out/bin/ras-mc-ctl \ - --replace 'find_prog ("modprobe") or exit (1)' '"${kmod}/bin/modprobe"' - '' - + lib.optionalString (!stdenv.hostPlatform.isAarch64) '' - substituteInPlace $out/bin/ras-mc-ctl \ - --replace 'find_prog ("dmidecode")' '"${dmidecode}/bin/dmidecode"' - ''; + postFixup = + '' + # Fix dmidecode and modprobe paths + substituteInPlace $out/bin/ras-mc-ctl \ + --replace 'find_prog ("modprobe") or exit (1)' '"${kmod}/bin/modprobe"' + '' + + lib.optionalString (!stdenv.hostPlatform.isAarch64) '' + substituteInPlace $out/bin/ras-mc-ctl \ + --replace 'find_prog ("dmidecode")' '"${dmidecode}/bin/dmidecode"' + ''; passthru.tests = nixosTests.rasdaemon; diff --git a/pkgs/by-name/ra/rasm/package.nix b/pkgs/by-name/ra/rasm/package.nix index e2161bb065065..cf20b5ddb9ed6 100644 --- a/pkgs/by-name/ra/rasm/package.nix +++ b/pkgs/by-name/ra/rasm/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "rasm"; diff --git a/pkgs/by-name/ra/raspberrypi-eeprom/package.nix b/pkgs/by-name/ra/raspberrypi-eeprom/package.nix index 41272ae45533c..958601bd96e42 100644 --- a/pkgs/by-name/ra/raspberrypi-eeprom/package.nix +++ b/pkgs/by-name/ra/raspberrypi-eeprom/package.nix @@ -1,15 +1,16 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, makeWrapper -, python3 -, binutils-unwrapped -, findutils -, flashrom -, gawk -, kmod -, pciutils -, libraspberrypi +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeWrapper, + python3, + binutils-unwrapped, + findutils, + flashrom, + gawk, + kmod, + pciutils, + libraspberrypi, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "raspberrypi-eeprom"; @@ -50,25 +51,36 @@ stdenvNoCC.mkDerivation (finalAttrs: { wrapProgram $out/bin/$i \ --set FIRMWARE_ROOT "$out/lib/firmware/raspberrypi/bootloader" \ ${lib.optionalString stdenvNoCC.hostPlatform.isAarch64 "--set VCMAILBOX ${libraspberrypi}/bin/vcmailbox"} \ - --prefix PATH : "${lib.makeBinPath ([ - binutils-unwrapped - findutils - flashrom - gawk - kmod - pciutils - (placeholder "out") - ] ++ lib.optionals stdenvNoCC.hostPlatform.isAarch64 [ - libraspberrypi - ])}" + --prefix PATH : "${ + lib.makeBinPath ( + [ + binutils-unwrapped + findutils + flashrom + gawk + kmod + pciutils + (placeholder "out") + ] + ++ lib.optionals stdenvNoCC.hostPlatform.isAarch64 [ + libraspberrypi + ] + ) + }" done ''; meta = with lib; { description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 and 5 bootloader EEPROMs"; homepage = "https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom"; - license = with licenses; [ bsd3 unfreeRedistributableFirmware ]; - maintainers = with maintainers; [ das_j Luflosi ]; + license = with licenses; [ + bsd3 + unfreeRedistributableFirmware + ]; + maintainers = with maintainers; [ + das_j + Luflosi + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix b/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix index b2125170db14d..a8d4dc74c6013 100644 --- a/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix +++ b/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "raspberrypi-wireless-firmware"; diff --git a/pkgs/by-name/ra/ratchet/tests.nix b/pkgs/by-name/ra/ratchet/tests.nix index 75ae285d734e3..aefa1fedee053 100644 --- a/pkgs/by-name/ra/ratchet/tests.nix +++ b/pkgs/by-name/ra/ratchet/tests.nix @@ -1,16 +1,16 @@ { runCommand, ratchet, -}: let +}: +let inherit (ratchet) pname version; in - runCommand "${pname}-tests" {meta.timeout = 60;} - '' - set -euo pipefail +runCommand "${pname}-tests" { meta.timeout = 60; } '' + set -euo pipefail - # Ensure ratchet is executable - ${ratchet}/bin/ratchet --version - ${ratchet}/bin/ratchet --help + # Ensure ratchet is executable + ${ratchet}/bin/ratchet --version + ${ratchet}/bin/ratchet --help - touch $out - '' + touch $out +'' diff --git a/pkgs/by-name/ra/ratman/package.nix b/pkgs/by-name/ra/ratman/package.nix index ebadc2a41c933..9541f42714fd2 100644 --- a/pkgs/by-name/ra/ratman/package.nix +++ b/pkgs/by-name/ra/ratman/package.nix @@ -1,15 +1,16 @@ -{ lib -, fetchFromGitLab -, installShellFiles -, libsodium -, pkg-config -, protobuf -, rustPlatform -, fetchYarnDeps -, fixup-yarn-lock -, stdenv -, yarn -, nodejs +{ + lib, + fetchFromGitLab, + installShellFiles, + libsodium, + pkg-config, + protobuf, + rustPlatform, + fetchYarnDeps, + fixup-yarn-lock, + stdenv, + yarn, + nodejs, }: rustPlatform.buildRustPackage rec { @@ -26,9 +27,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Nsux0QblBtzlhLEgfKYvkQrOz8+oVd2pqT3CL8TnQEc="; - nativeBuildInputs = [ protobuf pkg-config installShellFiles ]; - - cargoBuildFlags = [ "--all-features" "-p" "ratman" ]; + nativeBuildInputs = [ + protobuf + pkg-config + installShellFiles + ]; + + cargoBuildFlags = [ + "--all-features" + "-p" + "ratman" + ]; cargoTestFlags = cargoBuildFlags; buildInputs = [ libsodium ]; @@ -49,9 +58,16 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-pWjKL41r/bTvWv+5qCgCFVL9+o64BiV2/ISdLeKEOqE="; }; - nativeBuildInputs = [ yarn nodejs fixup-yarn-lock ]; + nativeBuildInputs = [ + yarn + nodejs + fixup-yarn-lock + ]; - outputs = [ "out" "dist" ]; + outputs = [ + "out" + "dist" + ]; buildPhase = '' # Yarn writes temporary files to $HOME. Copied from mkYarnModules. diff --git a/pkgs/by-name/ra/ratmen/package.nix b/pkgs/by-name/ra/ratmen/package.nix index 9a6ea5af76163..736b0971e4edd 100644 --- a/pkgs/by-name/ra/ratmen/package.nix +++ b/pkgs/by-name/ra/ratmen/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, xorgproto, libX11 }: +{ + lib, + stdenv, + fetchurl, + perl, + xorgproto, + libX11, +}: stdenv.mkDerivation rec { pname = "ratmen"; diff --git a/pkgs/by-name/ra/ratools/package.nix b/pkgs/by-name/ra/ratools/package.nix index 1399fc4c8d599..9bfb9b38bba6a 100644 --- a/pkgs/by-name/ra/ratools/package.nix +++ b/pkgs/by-name/ra/ratools/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ratools"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "07m45bn9lzgbfihmxic23wqp73nxg5ihrvkigr450jq6gzvgwawq"; }; - makeFlags = [ "-C" "src" ]; + makeFlags = [ + "-C" + "src" + ]; installPhase = '' install -vD bin/* -t $out/bin diff --git a/pkgs/by-name/ra/ratox/package.nix b/pkgs/by-name/ra/ratox/package.nix index 4a80071a6cea7..77e6b356a339f 100644 --- a/pkgs/by-name/ra/ratox/package.nix +++ b/pkgs/by-name/ra/ratox/package.nix @@ -1,10 +1,16 @@ -{ lib, stdenv, fetchgit, libtoxcore -, conf ? null }: +{ + lib, + stdenv, + fetchgit, + libtoxcore, + conf ? null, +}: let - configFile = lib.optionalString (conf!=null) (builtins.toFile "config.h" conf); + configFile = lib.optionalString (conf != null) (builtins.toFile "config.h" conf); -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "ratox"; version = "0.4.20180303"; @@ -20,7 +26,7 @@ in stdenv.mkDerivation { substituteInPlace config.mk \ --replace '-lsodium -lopus -lvpx ' "" - ${lib.optionalString (conf!=null) "cp ${configFile} config.def.h"} + ${lib.optionalString (conf != null) "cp ${configFile} config.def.h"} ''; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/ra/ratpoints/package.nix b/pkgs/by-name/ra/ratpoints/package.nix index 4aaed4a1b0edc..8caba2276334f 100644 --- a/pkgs/by-name/ra/ratpoints/package.nix +++ b/pkgs/by-name/ra/ratpoints/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, gmp }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + gmp, +}: stdenv.mkDerivation rec { pname = "ratpoints"; version = "2.1.3.p4"; @@ -20,7 +26,10 @@ stdenv.mkDerivation rec { buildInputs = [ gmp ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; - buildFlags = lib.optionals stdenv.hostPlatform.isDarwin ["CCFLAGS2=-lgmp -lc -lm" "CCFLAGS=-UUSE_SSE"]; + buildFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "CCFLAGS2=-lgmp -lc -lm" + "CCFLAGS=-UUSE_SSE" + ]; installFlags = [ "INSTALL_DIR=$(out)" ]; preInstall = ''mkdir -p "$out"/{bin,share,lib,include}''; @@ -29,7 +38,7 @@ stdenv.mkDerivation rec { description = "Program to find rational points on hyperelliptic curves"; mainProgram = "ratpoints"; license = lib.licenses.gpl2Plus; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "http://www.mathe2.uni-bayreuth.de/stoll/programs/"; }; diff --git a/pkgs/by-name/ra/ratpoison/package.nix b/pkgs/by-name/ra/ratpoison/package.nix index 6a2f63159f652..cb53917d7165f 100644 --- a/pkgs/by-name/ra/ratpoison/package.nix +++ b/pkgs/by-name/ra/ratpoison/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, fontconfig -, freetype -, libX11 -, libXft -, libXi -, libXpm -, libXrandr -, libXt -, libXtst -, perl -, pkg-config -, readline -, texinfo -, xorgproto +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + fontconfig, + freetype, + libX11, + libXft, + libXi, + libXpm, + libXrandr, + libXt, + libXtst, + perl, + pkg-config, + readline, + texinfo, + xorgproto, }: stdenv.mkDerivation (finalAttrs: { @@ -48,7 +49,13 @@ stdenv.mkDerivation (finalAttrs: { xorgproto ]; - outputs = [ "out" "contrib" "man" "doc" "info" ]; + outputs = [ + "out" + "contrib" + "man" + "doc" + "info" + ]; strictDeps = true; @@ -67,18 +74,18 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.nongnu.org/ratpoison/"; description = "Simple mouse-free tiling window manager"; longDescription = '' - Ratpoison is a simple window manager with no fat library - dependencies, no fancy graphics, no window decorations, and no - rodent dependence. It is largely modelled after GNU Screen which - has done wonders in the virtual terminal market. + Ratpoison is a simple window manager with no fat library + dependencies, no fancy graphics, no window decorations, and no + rodent dependence. It is largely modelled after GNU Screen which + has done wonders in the virtual terminal market. - The screen can be split into non-overlapping frames. All windows - are kept maximized inside their frames to take full advantage of - your precious screen real estate. + The screen can be split into non-overlapping frames. All windows + are kept maximized inside their frames to take full advantage of + your precious screen real estate. - All interaction with the window manager is done through keystrokes. - Ratpoison has a prefix map to minimize the key clobbering that - cripples Emacs and other quality pieces of software. + All interaction with the window manager is done through keystrokes. + Ratpoison has a prefix map to minimize the key clobbering that + cripples Emacs and other quality pieces of software. ''; license = lib.licenses.gpl2Plus; mainProgram = "ratpoison"; diff --git a/pkgs/by-name/ra/ratslap/package.nix b/pkgs/by-name/ra/ratslap/package.nix index 59ff8ffb8e1e8..748063896d366 100644 --- a/pkgs/by-name/ra/ratslap/package.nix +++ b/pkgs/by-name/ra/ratslap/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, libusb1 -, pkg-config -, installShellFiles -, git +{ + stdenv, + lib, + fetchFromGitHub, + libusb1, + pkg-config, + installShellFiles, + git, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ra/ratt/package.nix b/pkgs/by-name/ra/ratt/package.nix index 788dde7c5c9ca..525f1b7f95d98 100644 --- a/pkgs/by-name/ra/ratt/package.nix +++ b/pkgs/by-name/ra/ratt/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromSourcehut, lib }: +{ + buildGoModule, + fetchFromSourcehut, + lib, +}: buildGoModule rec { pname = "ratt"; version = "unstable-2023-02-12"; diff --git a/pkgs/by-name/ra/rauc/package.nix b/pkgs/by-name/ra/rauc/package.nix index 03c0fb176d790..369b0683b8be1 100644 --- a/pkgs/by-name/ra/rauc/package.nix +++ b/pkgs/by-name/ra/rauc/package.nix @@ -1,18 +1,19 @@ -{ curl -, dbus -, fetchFromGitHub -, glib -, json-glib -, lib -, nix-update-script -, openssl -, pkg-config -, stdenv -, meson -, ninja -, util-linux -, libnl -, systemd +{ + curl, + dbus, + fetchFromGitHub, + glib, + json-glib, + lib, + nix-update-script, + openssl, + pkg-config, + stdenv, + meson, + ninja, + util-linux, + libnl, + systemd, }: stdenv.mkDerivation rec { @@ -32,9 +33,23 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config meson ninja glib ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + glib + ]; - buildInputs = [ curl dbus glib json-glib openssl util-linux libnl systemd ]; + buildInputs = [ + curl + dbus + glib + json-glib + openssl + util-linux + libnl + systemd + ]; mesonFlags = [ "--buildtype=release" diff --git a/pkgs/by-name/ra/ravedude/package.nix b/pkgs/by-name/ra/ravedude/package.nix index 36777a2075a7b..2ee907a4a4fbd 100644 --- a/pkgs/by-name/ra/ravedude/package.nix +++ b/pkgs/by-name/ra/ravedude/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, udev -, avrdude -, makeBinaryWrapper -, nix-update-script -, testers -, ravedude +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + udev, + avrdude, + makeBinaryWrapper, + nix-update-script, + testers, + ravedude, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-HeFmQsgr6uHrWi6s5sMQ6n63a44Msarb5p0+wUzKFkE="; - nativeBuildInputs = [ pkg-config makeBinaryWrapper ]; + nativeBuildInputs = [ + pkg-config + makeBinaryWrapper + ]; buildInputs = [ udev ]; @@ -40,9 +44,15 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Tool to easily flash code onto an AVR microcontroller with avrdude"; homepage = "https://crates.io/crates/ravedude"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; platforms = platforms.linux; - maintainers = with maintainers; [ rvarago liff ]; + maintainers = with maintainers; [ + rvarago + liff + ]; mainProgram = "ravedude"; }; } diff --git a/pkgs/by-name/ra/raven-reader/package.nix b/pkgs/by-name/ra/raven-reader/package.nix index 275ef729016f4..c011ddb809994 100644 --- a/pkgs/by-name/ra/raven-reader/package.nix +++ b/pkgs/by-name/ra/raven-reader/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "raven-reader"; diff --git a/pkgs/by-name/ra/raxml/package.nix b/pkgs/by-name/ra/raxml/package.nix index 94ccafd36d00c..74090f0d1fad0 100644 --- a/pkgs/by-name/ra/raxml/package.nix +++ b/pkgs/by-name/ra/raxml/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, useMpi ? false -, mpi +{ + lib, + stdenv, + fetchFromGitHub, + useMpi ? false, + mpi, }: stdenv.mkDerivation rec { @@ -18,23 +20,34 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals useMpi [ mpi ]; # TODO darwin, AVX and AVX2 makefile targets - buildPhase = if useMpi then '' - make -f Makefile.MPI.gcc - '' else '' - make -f Makefile.SSE3.PTHREADS.gcc - ''; + buildPhase = + if useMpi then + '' + make -f Makefile.MPI.gcc + '' + else + '' + make -f Makefile.SSE3.PTHREADS.gcc + ''; - installPhase = if useMpi then '' - mkdir -p $out/bin && cp raxmlHPC-MPI $out/bin - '' else '' - mkdir -p $out/bin && cp raxmlHPC-PTHREADS-SSE3 $out/bin - ''; + installPhase = + if useMpi then + '' + mkdir -p $out/bin && cp raxmlHPC-MPI $out/bin + '' + else + '' + mkdir -p $out/bin && cp raxmlHPC-PTHREADS-SSE3 $out/bin + ''; meta = with lib; { description = "Tool for Phylogenetic Analysis and Post-Analysis of Large Phylogenies"; license = licenses.gpl3; homepage = "https://sco.h-its.org/exelixis/web/software/raxml/"; maintainers = [ maintainers.unode ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/ra/raygui/package.nix b/pkgs/by-name/ra/raygui/package.nix index 3c5b427e828fb..e860ac71b8e3d 100644 --- a/pkgs/by-name/ra/raygui/package.nix +++ b/pkgs/by-name/ra/raygui/package.nix @@ -1,7 +1,7 @@ { stdenvNoCC, fetchFromGitHub, - lib + lib, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/rb/rbdoom-3-bfg/package.nix b/pkgs/by-name/rb/rbdoom-3-bfg/package.nix index 07f809662d6bb..137be74c7a0d9 100644 --- a/pkgs/by-name/rb/rbdoom-3-bfg/package.nix +++ b/pkgs/by-name/rb/rbdoom-3-bfg/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, directx-shader-compiler -, libGLU -, libpng -, libjpeg_turbo -, openal -, rapidjson -, SDL2 -, vulkan-headers -, vulkan-loader -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + directx-shader-compiler, + libGLU, + libpng, + libjpeg_turbo, + openal, + rapidjson, + SDL2, + vulkan-headers, + vulkan-loader, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/rc/rc-9front/package.nix b/pkgs/by-name/rc/rc-9front/package.nix index cd6e18064b365..995aa8e35b6ad 100644 --- a/pkgs/by-name/rc/rc-9front/package.nix +++ b/pkgs/by-name/rc/rc-9front/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFrom9Front -, unstableGitUpdater -, byacc -, installShellFiles +{ + lib, + stdenv, + fetchFrom9Front, + unstableGitUpdater, + byacc, + installShellFiles, }: stdenv.mkDerivation { @@ -19,7 +20,10 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ byacc installShellFiles ]; + nativeBuildInputs = [ + byacc + installShellFiles + ]; enableParallelBuilding = true; patches = [ ./path.patch ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/rc/rc/package.nix b/pkgs/by-name/rc/rc/package.nix index 15b35211b3014..c4a964fc36997 100644 --- a/pkgs/by-name/rc/rc/package.nix +++ b/pkgs/by-name/rc/rc/package.nix @@ -1,22 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkgsStatic -, byacc -, ed -, ncurses -, readline -, installShellFiles -, historySupport ? true -, readlineSupport ? true -, lineEditingLibrary ? if (stdenv.hostPlatform.isDarwin - || stdenv.hostPlatform.isStatic) - then "null" - else "readline" +{ + lib, + stdenv, + fetchFromGitHub, + pkgsStatic, + byacc, + ed, + ncurses, + readline, + installShellFiles, + historySupport ? true, + readlineSupport ? true, + lineEditingLibrary ? + if (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isStatic) then "null" else "readline", }: -assert lib.elem lineEditingLibrary [ "null" "edit" "editline" "readline" "vrl" ]; -assert !(lib.elem lineEditingLibrary [ "edit" "editline" "vrl" ]); # broken +assert lib.elem lineEditingLibrary [ + "null" + "edit" + "editline" + "readline" + "vrl" +]; +assert + !(lib.elem lineEditingLibrary [ + "edit" + "editline" + "vrl" + ]); # broken assert (lineEditingLibrary == "readline") -> readlineSupport; stdenv.mkDerivation (finalAttrs: { pname = "rc"; @@ -29,7 +39,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Yql3mt7hTO2W7wTfPje+X2zBGTHiNXGGXYORJewJIM8="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; # TODO: think on a less ugly fixup postPatch = '' @@ -52,16 +65,17 @@ stdenv.mkDerivation (finalAttrs: { installShellFiles ]; - buildInputs = [ - ncurses - ] - ++ lib.optionals readlineSupport [ - readline - ]; + buildInputs = + [ + ncurses + ] + ++ lib.optionals readlineSupport [ + readline + ]; strictDeps = true; - makeFlags = [ + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=${placeholder "out"}" "MANPREFIX=${placeholder "man"}/share/man" @@ -69,11 +83,13 @@ stdenv.mkDerivation (finalAttrs: { "EDIT=${lineEditingLibrary}" ]; - buildFlags = [ - "all" - ] ++ lib.optionals historySupport [ - "history" - ]; + buildFlags = + [ + "all" + ] + ++ lib.optionals historySupport [ + "history" + ]; postInstall = lib.optionalString historySupport '' installManPage history.1 diff --git a/pkgs/by-name/rc/rcm/package.nix b/pkgs/by-name/rc/rcm/package.nix index 3aa8ba412e17c..d8c923fbfcfda 100644 --- a/pkgs/by-name/rc/rcm/package.nix +++ b/pkgs/by-name/rc/rcm/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/thoughtbot/rcm"; description = "Management Suite for Dotfiles"; license = licenses.bsd3; - maintainers = with maintainers; [ malyn AndersonTorres ]; + maintainers = with maintainers; [ + malyn + AndersonTorres + ]; platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/rc/rcodesign/package.nix b/pkgs/by-name/rc/rcodesign/package.nix index c4e2f601a1933..3b6efcc0ce78d 100644 --- a/pkgs/by-name/rc/rcodesign/package.nix +++ b/pkgs/by-name/rc/rcodesign/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, apple-sdk_11 -, uutils-coreutils +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + apple-sdk_11, + uutils-coreutils, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rc/rcon/package.nix b/pkgs/by-name/rc/rcon/package.nix index e51dc3fac3717..48fd4373a3f83 100644 --- a/pkgs/by-name/rc/rcon/package.nix +++ b/pkgs/by-name/rc/rcon/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, glib, libbsd, check, pcre }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + glib, + libbsd, + check, + pcre, +}: stdenv.mkDerivation rec { pname = "rcon"; @@ -11,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-bHm6JeWmpg42VZQXikHl+BMx9zimRLBQWemTqOxyLhw="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ glib diff --git a/pkgs/by-name/rc/rconc/package.nix b/pkgs/by-name/rc/rconc/package.nix index d8af7fb6e9e17..59dfbd99fbc7c 100644 --- a/pkgs/by-name/rc/rconc/package.nix +++ b/pkgs/by-name/rc/rconc/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { version = "0.1.4"; diff --git a/pkgs/by-name/rc/rcp/package.nix b/pkgs/by-name/rc/rcp/package.nix index 2ba6a2ffbf36d..e845f13507283 100644 --- a/pkgs/by-name/rc/rcp/package.nix +++ b/pkgs/by-name/rc/rcp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, }: rustPlatform.buildRustPackage rec { @@ -16,9 +17,12 @@ rustPlatform.buildRustPackage rec { hash = "sha256-gFkrUqG3GXPAg9Zqv7Wr3axQ30axYGXw8bo+P1kmSJM="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - IOKit - ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + IOKit + ] + ); cargoHash = "sha256-loS55mQUVbIm+5VcQnPf6olERNTm3dbnQu5SPXe6a8I="; diff --git a/pkgs/by-name/rc/rcs/package.nix b/pkgs/by-name/rc/rcs/package.nix index 7cfeb20e8de23..bd1cab4a46f5e 100644 --- a/pkgs/by-name/rc/rcs/package.nix +++ b/pkgs/by-name/rc/rcs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, buildPackages, diffutils, ed, lzip }: +{ + lib, + stdenv, + fetchurl, + buildPackages, + diffutils, + ed, + lzip, +}: stdenv.mkDerivation rec { pname = "rcs"; @@ -13,9 +21,10 @@ stdenv.mkDerivation rec { DIFF = "${diffutils}/bin/diff"; DIFF3 = "${diffutils}/bin/diff3"; - disallowedReferences = - lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) - [ buildPackages.diffutils buildPackages.ed ]; + disallowedReferences = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + buildPackages.diffutils + buildPackages.ed + ]; env.NIX_CFLAGS_COMPILE = "-std=c99"; diff --git a/pkgs/by-name/rc/rcshist/package.nix b/pkgs/by-name/rc/rcshist/package.nix index f11c515b5399e..f22aaaf771879 100644 --- a/pkgs/by-name/rc/rcshist/package.nix +++ b/pkgs/by-name/rc/rcshist/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, musl-fts +{ + lib, + stdenv, + fetchurl, + musl-fts, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/rc/rcu/package.nix b/pkgs/by-name/rc/rcu/package.nix index 17d6d1c1e5b0d..25838bba9940e 100644 --- a/pkgs/by-name/rc/rcu/package.nix +++ b/pkgs/by-name/rc/rcu/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, requireFile -, runCommand -, rcu -, testers -, copyDesktopItems -, desktopToDarwinBundle -, libsForQt5 -, makeDesktopItem -, python3Packages -, system-config-printer +{ + stdenv, + lib, + requireFile, + runCommand, + rcu, + testers, + copyDesktopItems, + desktopToDarwinBundle, + libsForQt5, + makeDesktopItem, + python3Packages, + system-config-printer, }: python3Packages.buildPythonApplication rec { @@ -18,17 +19,19 @@ python3Packages.buildPythonApplication rec { format = "other"; - src = let - src-tarball = requireFile { - name = "rcu-d${version}-source.tar.gz"; - hash = "sha256-Ywk28gJBMSSQL6jEcHE8h253KOsXIGwVOag6PBWs8kg="; - url = "http://www.davisr.me/projects/rcu/"; - }; - in runCommand "${src-tarball.name}-unpacked" {} '' - gunzip -ck ${src-tarball} | tar -xvf- - mv rcu $out - ln -s ${src-tarball} $out/src - ''; + src = + let + src-tarball = requireFile { + name = "rcu-d${version}-source.tar.gz"; + hash = "sha256-Ywk28gJBMSSQL6jEcHE8h253KOsXIGwVOag6PBWs8kg="; + url = "http://www.davisr.me/projects/rcu/"; + }; + in + runCommand "${src-tarball.name}-unpacked" { } '' + gunzip -ck ${src-tarball} | tar -xvf- + mv rcu $out + ln -s ${src-tarball} $out/src + ''; patches = [ ./Port-to-paramiko-3.x.patch @@ -42,12 +45,14 @@ python3Packages.buildPythonApplication rec { --replace-fail 'GROUP="yourgroup"' 'GROUP="users"' ''; - nativeBuildInputs = [ - copyDesktopItems - libsForQt5.wrapQtAppsHook - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - desktopToDarwinBundle - ]; + nativeBuildInputs = + [ + copyDesktopItems + libsForQt5.wrapQtAppsHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + desktopToDarwinBundle + ]; buildInputs = [ libsForQt5.qtbase @@ -81,64 +86,75 @@ python3Packages.buildPythonApplication rec { # No tests doCheck = false; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out/{bin,share} - cp -r src $out/share/rcu + mkdir -p $out/{bin,share} + cp -r src $out/share/rcu - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm644 package_support/gnulinux/50-remarkable.rules $out/etc/udev/rules.d/50-remarkable.rules - '' + '' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm644 package_support/gnulinux/50-remarkable.rules $out/etc/udev/rules.d/50-remarkable.rules + '' + + '' - # Keep source from being GC'd by linking into it + # Keep source from being GC'd by linking into it - for icondir in $(find icons -type d -name '[0-9]*x[0-9]*'); do - iconsize=$(basename $icondir) - mkdir -p $out/share/icons/hicolor/$iconsize/apps - ln -s ${src}/icons/$iconsize/rcu-icon-$iconsize.png $out/share/icons/hicolor/$iconsize/apps/rcu.png - done + for icondir in $(find icons -type d -name '[0-9]*x[0-9]*'); do + iconsize=$(basename $icondir) + mkdir -p $out/share/icons/hicolor/$iconsize/apps + ln -s ${src}/icons/$iconsize/rcu-icon-$iconsize.png $out/share/icons/hicolor/$iconsize/apps/rcu.png + done - mkdir -p $out/share/icons/hicolor/scalable/apps - ln -s ${src}/icons/64x64/rcu-icon-64x64.svg $out/share/icons/hicolor/scalable/apps/rcu.svg + mkdir -p $out/share/icons/hicolor/scalable/apps + ln -s ${src}/icons/64x64/rcu-icon-64x64.svg $out/share/icons/hicolor/scalable/apps/rcu.svg - mkdir -p $out/share/doc/rcu - for docfile in {COPYING,manual.pdf}; do - ln -s ${src}/manual/$docfile $out/share/doc/rcu/$docfile - done + mkdir -p $out/share/doc/rcu + for docfile in {COPYING,manual.pdf}; do + ln -s ${src}/manual/$docfile $out/share/doc/rcu/$docfile + done - mkdir -p $out/share/licenses/rcu - ln -s ${src}/COPYING $out/share/licenses/rcu/COPYING + mkdir -p $out/share/licenses/rcu + ln -s ${src}/COPYING $out/share/licenses/rcu/COPYING - runHook postInstall - ''; + runHook postInstall + ''; # Manually creating wrapper, hook struggles with lack of shebang & symlink dontWrapPythonPrograms = true; - preFixup = '' - makeWrapperArgs+=( - "''${qtWrapperArgs[@]}" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + preFixup = + '' + makeWrapperArgs+=( + "''${qtWrapperArgs[@]}" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' --prefix PATH : ${lib.makeBinPath [ system-config-printer ]} - '' + '' - ) - ''; + '' + + '' + ) + ''; postFixup = '' makeWrapper ${lib.getExe python3Packages.python} $out/bin/rcu \ ''${makeWrapperArgs[@]} \ - --prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \ + --prefix PYTHONPATH : ${ + python3Packages.makePythonPath (propagatedBuildInputs ++ [ (placeholder "out") ]) + } \ --add-flags $out/share/rcu/main.py ''; passthru = { tests.version = testers.testVersion { package = rcu; - version = let - versionSuffixPos = (lib.strings.stringLength rcu.version) - 1; - in - "d${lib.strings.substring 0 versionSuffixPos rcu.version}(${lib.strings.substring versionSuffixPos 1 rcu.version})"; + version = + let + versionSuffixPos = (lib.strings.stringLength rcu.version) - 1; + in + "d${lib.strings.substring 0 versionSuffixPos rcu.version}(${ + lib.strings.substring versionSuffixPos 1 rcu.version + })"; }; }; diff --git a/pkgs/by-name/rd/rdap/package.nix b/pkgs/by-name/rd/rdap/package.nix index 3ea80e07dabbf..a5fefe708662a 100644 --- a/pkgs/by-name/rd/rdap/package.nix +++ b/pkgs/by-name/rd/rdap/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "rdap"; @@ -14,7 +18,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X \"github.com/openrdap/rdap.version=OpenRDAP ${version}\"" ]; + ldflags = [ + "-s" + "-w" + "-X \"github.com/openrdap/rdap.version=OpenRDAP ${version}\"" + ]; meta = with lib; { homepage = "https://www.openrdap.org/"; diff --git a/pkgs/by-name/rd/rdesktop/package.nix b/pkgs/by-name/rd/rdesktop/package.nix index b92822b17d3f6..1711a259195d9 100644 --- a/pkgs/by-name/rd/rdesktop/package.nix +++ b/pkgs/by-name/rd/rdesktop/package.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, openssl, libX11, krb5, libXcursor, libtasn1 -, nettle, gnutls, pkg-config, autoreconfHook, libiconv -, enableCredssp ? (!stdenv.hostPlatform.isDarwin) -} : +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + libX11, + krb5, + libXcursor, + libtasn1, + nettle, + gnutls, + pkg-config, + autoreconfHook, + libiconv, + enableCredssp ? (!stdenv.hostPlatform.isDarwin), +}: stdenv.mkDerivation (rec { pname = "rdesktop"; @@ -14,8 +26,19 @@ stdenv.mkDerivation (rec { sha256 = "1s6k1jwd28y38ymk3lfv76ch4arpfwrbdhpkbnwwy3fc4617gb78"; }; - nativeBuildInputs = [pkg-config autoreconfHook]; - buildInputs = [openssl libX11 libXcursor libtasn1 nettle gnutls] + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = + [ + openssl + libX11 + libXcursor + libtasn1 + nettle + gnutls + ] ++ lib.optional enableCredssp krb5 ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; diff --git a/pkgs/by-name/rd/rdfind/package.nix b/pkgs/by-name/rd/rdfind/package.nix index 0e7c8fd42d63d..579dee9a3bd43 100644 --- a/pkgs/by-name/rd/rdfind/package.nix +++ b/pkgs/by-name/rd/rdfind/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, nettle }: +{ + lib, + stdenv, + fetchurl, + nettle, +}: stdenv.mkDerivation rec { pname = "rdfind"; diff --git a/pkgs/by-name/rd/rdiff-backup/package.nix b/pkgs/by-name/rd/rdiff-backup/package.nix index 33050e805f9ab..a28a8f27ad3bc 100644 --- a/pkgs/by-name/rd/rdiff-backup/package.nix +++ b/pkgs/by-name/rd/rdiff-backup/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, librsync }: +{ + lib, + python3Packages, + fetchPypi, + librsync, +}: let pypkgs = python3Packages; diff --git a/pkgs/by-name/rd/rdkafka/package.nix b/pkgs/by-name/rd/rdkafka/package.nix index a3378ef222c30..9028ed6f05c56 100644 --- a/pkgs/by-name/rd/rdkafka/package.nix +++ b/pkgs/by-name/rd/rdkafka/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, zlib, zstd, pkg-config, python3, openssl, which, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + zstd, + pkg-config, + python3, + openssl, + which, + curl, +}: stdenv.mkDerivation (finalAttrs: { pname = "rdkafka"; @@ -11,9 +22,18 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-qgy5VVB7H0FECtQR6HkTJ58vrHIU9TAFurDNuZGGgvw="; }; - nativeBuildInputs = [ pkg-config python3 which ]; - - buildInputs = [ zlib zstd openssl curl ]; + nativeBuildInputs = [ + pkg-config + python3 + which + ]; + + buildInputs = [ + zlib + zstd + openssl + curl + ]; env.NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow"; diff --git a/pkgs/by-name/rd/rdma-core/package.nix b/pkgs/by-name/rd/rdma-core/package.nix index a86cb1de9f5d7..f10c23b60e3fc 100644 --- a/pkgs/by-name/rd/rdma-core/package.nix +++ b/pkgs/by-name/rd/rdma-core/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, docutils -, pandoc -, ethtool -, iproute2 -, libnl -, udev -, python3 -, perl -} : +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + docutils, + pandoc, + ethtool, + iproute2, + libnl, + udev, + python3, + perl, +}: stdenv.mkDerivation (finalAttrs: { pname = "rdma-core"; @@ -26,7 +27,11 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/rd/rdocker/package.nix b/pkgs/by-name/rd/rdocker/package.nix index fa823ec4d4c94..9e5f04133e808 100644 --- a/pkgs/by-name/rd/rdocker/package.nix +++ b/pkgs/by-name/rd/rdocker/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, openssh }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + openssh, +}: stdenv.mkDerivation { pname = "rdocker"; diff --git a/pkgs/by-name/rd/rdrview/package.nix b/pkgs/by-name/rd/rdrview/package.nix index e4d56be3ffb9a..c9327a4944301 100644 --- a/pkgs/by-name/rd/rdrview/package.nix +++ b/pkgs/by-name/rd/rdrview/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libxml2, curl, libseccomp, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + libxml2, + curl, + libseccomp, + installShellFiles, +}: stdenv.mkDerivation { pname = "rdrview"; @@ -11,7 +19,11 @@ stdenv.mkDerivation { sha256 = "02VC8r8PdcAfMYB0/NtbPnhsWatpLQc4mW4TmSE1+zk="; }; - buildInputs = [ libxml2 curl libseccomp ]; + buildInputs = [ + libxml2 + curl + libseccomp + ]; nativeBuildInputs = [ installShellFiles ]; installPhase = '' diff --git a/pkgs/by-name/rd/rdup/package.nix b/pkgs/by-name/rd/rdup/package.nix index 2363ea8f75f16..1649ad98882a3 100644 --- a/pkgs/by-name/rd/rdup/package.nix +++ b/pkgs/by-name/rd/rdup/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, glib, pcre }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + glib, + pcre, +}: stdenv.mkDerivation { pname = "rdup"; @@ -11,14 +19,20 @@ stdenv.mkDerivation { sha256 = "0bzyv6qmnivxnv9nw7lnfn46k0m1dlxcjj53zcva6v8y8084l1iw"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ glib pcre ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + glib + pcre + ]; meta = { description = "Only backup program that doesn't make backups"; - homepage = "https://github.com/miekg/rdup"; - license = lib.licenses.gpl3; - platforms = lib.platforms.linux; + homepage = "https://github.com/miekg/rdup"; + license = lib.licenses.gpl3; + platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ sternenseemann ]; }; } diff --git a/pkgs/by-name/rd/rdwatool/package.nix b/pkgs/by-name/rd/rdwatool/package.nix index 7ae9db0bfae76..5e783454a87f6 100644 --- a/pkgs/by-name/rd/rdwatool/package.nix +++ b/pkgs/by-name/rd/rdwatool/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/re/re-isearch/package.nix b/pkgs/by-name/re/re-isearch/package.nix index 45dbedcd466d3..0789820c33e65 100644 --- a/pkgs/by-name/re/re-isearch/package.nix +++ b/pkgs/by-name/re/re-isearch/package.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchFromGitHub, lib, db, file, libnsl }: +{ + stdenv, + fetchFromGitHub, + lib, + db, + file, + libnsl, +}: stdenv.mkDerivation rec { pname = "re-Isearch"; @@ -23,7 +30,9 @@ stdenv.mkDerivation rec { ]; makeFlags = [ - "CC=g++" "cc=gcc" "LD=g++" + "CC=g++" + "cc=gcc" + "LD=g++" "INSTALL=${placeholder "out"}/bin" ]; diff --git a/pkgs/by-name/re/re2c/package.nix b/pkgs/by-name/re/re2c/package.nix index f06a2b5424ef1..47a54d0060723 100644 --- a/pkgs/by-name/re/re2c/package.nix +++ b/pkgs/by-name/re/re2c/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, nix-update-script -, python3 - -# for passthru.tests -, ninja -, php -, spamassassin +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + nix-update-script, + python3, + + # for passthru.tests + ninja, + php, + spamassassin, }: stdenv.mkDerivation rec { @@ -16,9 +17,9 @@ stdenv.mkDerivation rec { version = "3.1"; src = fetchFromGitHub { - owner = "skvadrik"; - repo = "re2c"; - rev = version; + owner = "skvadrik"; + repo = "re2c"; + rev = version; sha256 = "sha256-7zZdLby7HdNoURgdkg+xnlp6VDCACcyGCTtjM43OLd4="; }; @@ -37,7 +38,10 @@ stdenv.mkDerivation rec { passthru = { updateScript = nix-update-script { # Skip non-release tags like `python-experimental`. - extraArgs = [ "--version-regex" "([0-9.]+)" ]; + extraArgs = [ + "--version-regex" + "([0-9.]+)" + ]; }; tests = { inherit ninja php spamassassin; @@ -46,9 +50,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tool for writing very fast and very flexible scanners"; - homepage = "https://re2c.org"; - license = licenses.publicDomain; - platforms = platforms.all; + homepage = "https://re2c.org"; + license = licenses.publicDomain; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/re/react-native-debugger/package.nix b/pkgs/by-name/re/react-native-debugger/package.nix index 61d808e23c6db..5540cf7cedba8 100644 --- a/pkgs/by-name/re/react-native-debugger/package.nix +++ b/pkgs/by-name/re/react-native-debugger/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchurl -, unzip -, cairo -, xorg -, gdk-pixbuf -, fontconfig -, pango -, atk -, at-spi2-atk -, at-spi2-core -, gtk3 -, glib -, freetype -, dbus -, nss -, nspr -, alsa-lib -, cups -, expat -, udev -, makeDesktopItem -, libdrm -, libxkbcommon -, mesa -, makeWrapper +{ + lib, + stdenv, + fetchurl, + unzip, + cairo, + xorg, + gdk-pixbuf, + fontconfig, + pango, + atk, + at-spi2-atk, + at-spi2-core, + gtk3, + glib, + freetype, + dbus, + nss, + nspr, + alsa-lib, + cups, + expat, + udev, + makeDesktopItem, + libdrm, + libxkbcommon, + mesa, + makeWrapper, }: let @@ -73,7 +74,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-RioBe0MAR47M84aavFaTJikGsJtcZDak8Tkg3WtX2l0="; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; buildCommand = '' shopt -s extglob mkdir -p $out @@ -102,7 +106,10 @@ stdenv.mkDerivation rec { exec = "react-native-debugger"; desktopName = "React Native Debugger"; genericName = "React Native Debugger"; - categories = [ "Development" "Debugger" ]; + categories = [ + "Development" + "Debugger" + ]; }; meta = with lib; { diff --git a/pkgs/by-name/re/react-static/package.nix b/pkgs/by-name/re/react-static/package.nix index 5307f93a4b4c8..bf10eeb9494fe 100644 --- a/pkgs/by-name/re/react-static/package.nix +++ b/pkgs/by-name/re/react-static/package.nix @@ -1,7 +1,8 @@ -{ lib -, mkYarnPackage -, fetchFromGitHub -, fetchYarnDeps +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, }: mkYarnPackage rec { diff --git a/pkgs/by-name/re/reaction/package.nix b/pkgs/by-name/re/reaction/package.nix index 3636131db8326..fb28bbd643eb6 100644 --- a/pkgs/by-name/re/reaction/package.nix +++ b/pkgs/by-name/re/reaction/package.nix @@ -5,7 +5,8 @@ }: let version = "1.4.1"; -in buildGoModule { +in +buildGoModule { inherit version; pname = "reaction"; @@ -39,7 +40,7 @@ in buildGoModule { changelog = "https://framagit.org/ppom/reaction/-/releases/v${version}"; license = licenses.agpl3Plus; mainProgram = "reaction"; - maintainers = with maintainers; [ppom]; + maintainers = with maintainers; [ ppom ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/re/reactphysics3d/package.nix b/pkgs/by-name/re/reactphysics3d/package.nix index 9ed933cf5e52b..b91c49b1f5eec 100644 --- a/pkgs/by-name/re/reactphysics3d/package.nix +++ b/pkgs/by-name/re/reactphysics3d/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation (finalAttrs: { pname = "reactphysics3d"; diff --git a/pkgs/by-name/re/read-edid/package.nix b/pkgs/by-name/re/read-edid/package.nix index 6e040d3cbffb8..09224699b0b87 100644 --- a/pkgs/by-name/re/read-edid/package.nix +++ b/pkgs/by-name/re/read-edid/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, cmake, libx86 }: +{ + stdenv, + lib, + fetchurl, + cmake, + libx86, +}: stdenv.mkDerivation rec { pname = "read-edid"; @@ -20,7 +26,6 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DCLASSICBUILD=${if stdenv.hostPlatform.isx86 then "ON" else "OFF"}" ]; - meta = with lib; { description = "Tool for reading and parsing EDID data from monitors"; homepage = "http://www.polypux.org/projects/read-edid/"; diff --git a/pkgs/by-name/re/read-it-later/package.nix b/pkgs/by-name/re/read-it-later/package.nix index d25117c00b4c5..5c8e417841b14 100644 --- a/pkgs/by-name/re/read-it-later/package.nix +++ b/pkgs/by-name/re/read-it-later/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitLab -, rustPlatform -, meson -, ninja -, pkg-config -, rustc -, cargo -, wrapGAppsHook4 -, desktop-file-utils -, libxml2 -, libadwaita -, openssl -, libsoup_3 -, webkitgtk_6_0 -, sqlite +{ + lib, + stdenv, + fetchFromGitLab, + rustPlatform, + meson, + ninja, + pkg-config, + rustc, + cargo, + wrapGAppsHook4, + desktop-file-utils, + libxml2, + libadwaita, + openssl, + libsoup_3, + webkitgtk_6_0, + sqlite, }: stdenv.mkDerivation rec { @@ -44,7 +45,7 @@ stdenv.mkDerivation rec { cargo wrapGAppsHook4 desktop-file-utils - libxml2.bin #xmllint + libxml2.bin # xmllint ]; buildInputs = [ diff --git a/pkgs/by-name/re/readability-cli/package.nix b/pkgs/by-name/re/readability-cli/package.nix index aea915c73ef4e..8dd2190a180ad 100644 --- a/pkgs/by-name/re/readability-cli/package.nix +++ b/pkgs/by-name/re/readability-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, buildNpmPackage, fetchFromGitLab, installShellFiles }: +{ + lib, + buildNpmPackage, + fetchFromGitLab, + installShellFiles, +}: buildNpmPackage rec { pname = "readability-cli"; diff --git a/pkgs/by-name/re/readability-extractor/package.nix b/pkgs/by-name/re/readability-extractor/package.nix index 56a317c991f95..ee0a81678dd59 100644 --- a/pkgs/by-name/re/readability-extractor/package.nix +++ b/pkgs/by-name/re/readability-extractor/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/re/readarr/package.nix b/pkgs/by-name/re/readarr/package.nix index c95ef654703bd..b7d34a7e36623 100644 --- a/pkgs/by-name/re/readarr/package.nix +++ b/pkgs/by-name/re/readarr/package.nix @@ -1,18 +1,36 @@ -{ lib, stdenv, fetchurl, libmediainfo, sqlite, curl, makeWrapper, icu, dotnet-runtime, openssl, nixosTests, zlib }: +{ + lib, + stdenv, + fetchurl, + libmediainfo, + sqlite, + curl, + makeWrapper, + icu, + dotnet-runtime, + openssl, + nixosTests, + zlib, +}: let os = if stdenv.hostPlatform.isDarwin then "osx" else "linux"; - arch = { - x86_64-linux = "x64"; - aarch64-linux = "arm64"; - x86_64-darwin = "x64"; - }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - hash = { - x64-linux_hash = "sha256-48ZlBTr/lO1AAsYInu48fDB77RXH+b2hXjDPwWdeZW4="; - arm64-linux_hash = "sha256-vyNoI1ffqWyYCfH+3rRNtaECkku3pF3pD+2RBchD+6o="; - x64-osx_hash = "sha256-VeGq+kVuBLGqERcWyvPfcygAG0/262J9/RPr49X4jtE="; - }."${arch}-${os}_hash"; -in stdenv.mkDerivation rec { + arch = + { + x86_64-linux = "x64"; + aarch64-linux = "arm64"; + x86_64-darwin = "x64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = + { + x64-linux_hash = "sha256-48ZlBTr/lO1AAsYInu48fDB77RXH+b2hXjDPwWdeZW4="; + arm64-linux_hash = "sha256-vyNoI1ffqWyYCfH+3rRNtaECkku3pF3pD+2RBchD+6o="; + x64-osx_hash = "sha256-VeGq+kVuBLGqERcWyvPfcygAG0/262J9/RPr49X4jtE="; + } + ."${arch}-${os}_hash"; +in +stdenv.mkDerivation rec { pname = "readarr"; version = "0.4.4.2686"; @@ -30,12 +48,20 @@ in stdenv.mkDerivation rec { cp -r * $out/share/${pname}-${version}/. makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Readarr \ --add-flags "$out/share/${pname}-${version}/Readarr.dll" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ curl sqlite libmediainfo icu openssl zlib ]} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + curl + sqlite + libmediainfo + icu + openssl + zlib + ] + } runHook postInstall ''; - passthru = { updateScript = ./update.sh; tests.smoke-test = nixosTests.readarr; @@ -45,10 +71,16 @@ in stdenv.mkDerivation rec { description = "Usenet/BitTorrent ebook downloader"; homepage = "https://readarr.com"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ jocelynthode devusb ]; + maintainers = with lib.maintainers; [ + jocelynthode + devusb + ]; mainProgram = "Readarr"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; }; } - diff --git a/pkgs/by-name/re/readosm/package.nix b/pkgs/by-name/re/readosm/package.nix index 0f746c36483c6..a97e21d8f4efb 100644 --- a/pkgs/by-name/re/readosm/package.nix +++ b/pkgs/by-name/re/readosm/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, expat, zlib, validatePkgConfig }: +{ + lib, + stdenv, + fetchurl, + expat, + zlib, + validatePkgConfig, +}: stdenv.mkDerivation rec { pname = "readosm"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ validatePkgConfig ]; - buildInputs = [ expat zlib ]; + buildInputs = [ + expat + zlib + ]; enableParallelBuilding = true; @@ -20,7 +30,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open source library to extract valid data from within an Open Street Map input file"; homepage = "https://www.gaia-gis.it/fossil/readosm"; - license = with licenses; [ mpl11 gpl2Plus lgpl21Plus ]; + license = with licenses; [ + mpl11 + gpl2Plus + lgpl21Plus + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/re/readstat/package.nix b/pkgs/by-name/re/readstat/package.nix index 6abae18c5c66a..627788996e82b 100644 --- a/pkgs/by-name/re/readstat/package.nix +++ b/pkgs/by-name/re/readstat/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libiconv, +}: stdenv.mkDerivation rec { pname = "readstat"; @@ -25,7 +33,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ libiconv ]; diff --git a/pkgs/by-name/re/ready-check/package.nix b/pkgs/by-name/re/ready-check/package.nix index 84dcc83454a78..7eca87bf957a9 100644 --- a/pkgs/by-name/re/ready-check/package.nix +++ b/pkgs/by-name/re/ready-check/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/re/real_time_config_quick_scan/package.nix b/pkgs/by-name/re/real_time_config_quick_scan/package.nix index 8bc2553f521b0..250880231b79a 100644 --- a/pkgs/by-name/re/real_time_config_quick_scan/package.nix +++ b/pkgs/by-name/re/real_time_config_quick_scan/package.nix @@ -1,13 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, perlPackages, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "realTimeConfigQuickScan"; version = "unstable-2020-07-23"; src = fetchFromGitHub { - owner = "raboof"; - repo = pname; - rev = "4697ba093d43d512b74a73b89531cb8c5adaa274"; + owner = "raboof"; + repo = pname; + rev = "4697ba093d43d512b74a73b89531cb8c5adaa274"; sha256 = "16kanzp5i353x972zjkwgi3m8z90wc58613mlfzb0n01djdnm6k5"; }; @@ -47,7 +53,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/raboof/realtimeconfigquickscan"; license = licenses.gpl2Plus; maintainers = with maintainers; [ magnetophon ]; - platforms = platforms.linux ; + platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/re/realesrgan-ncnn-vulkan/package.nix b/pkgs/by-name/re/realesrgan-ncnn-vulkan/package.nix index 450e36e6d3ee8..6e0cd13ee84e9 100644 --- a/pkgs/by-name/re/realesrgan-ncnn-vulkan/package.nix +++ b/pkgs/by-name/re/realesrgan-ncnn-vulkan/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchzip -, fetchFromGitHub -, cmake -, vulkan-headers -, vulkan-loader -, glslang -, libwebp -, ncnn +{ + lib, + stdenv, + fetchzip, + fetchFromGitHub, + cmake, + vulkan-headers, + vulkan-loader, + glslang, + libwebp, + ncnn, }: stdenv.mkDerivation rec { @@ -42,7 +43,13 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ vulkan-headers vulkan-loader glslang libwebp ncnn ]; + buildInputs = [ + vulkan-headers + vulkan-loader + glslang + libwebp + ncnn + ]; postPatch = '' substituteInPlace main.cpp --replace REPLACE_MODELS $out/share/models @@ -63,7 +70,10 @@ stdenv.mkDerivation rec { description = "NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration"; homepage = "https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan"; license = licenses.mit; - maintainers = with maintainers; [ tilcreator iynaix ]; + maintainers = with maintainers; [ + tilcreator + iynaix + ]; platforms = platforms.all; mainProgram = "realesrgan-ncnn-vulkan"; }; diff --git a/pkgs/by-name/re/realm/package.nix b/pkgs/by-name/re/realm/package.nix index 34914df2987e3..efe93beb7713a 100644 --- a/pkgs/by-name/re/realm/package.nix +++ b/pkgs/by-name/re/realm/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin -, nix-update-script -, nixosTests +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, + nix-update-script, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -31,7 +32,6 @@ rustPlatform.buildRustPackage rec { tests = { inherit (nixosTests) realm; }; }; - meta = with lib; { description = "A simple, high performance relay server written in rust"; homepage = "https://github.com/zhboner/realm"; diff --git a/pkgs/by-name/re/realvnc-vnc-viewer/darwin.nix b/pkgs/by-name/re/realvnc-vnc-viewer/darwin.nix index bde3c440f4ea2..34dad92842bbe 100644 --- a/pkgs/by-name/re/realvnc-vnc-viewer/darwin.nix +++ b/pkgs/by-name/re/realvnc-vnc-viewer/darwin.nix @@ -1,17 +1,18 @@ -{ stdenvNoCC -, fetchurl -, undmg -, pname -, version -, meta +{ + stdenvNoCC, + fetchurl, + undmg, + pname, + version, + meta, }: stdenvNoCC.mkDerivation (finalAttrs: { inherit pname version meta; src = fetchurl rec { - name = "VNC-Viewer-${finalAttrs.version}-MacOSX-universal.dmg"; - url = "https://downloads.realvnc.com/download/file/viewer.files/${name}"; - hash = "sha256-SiBlw9ihKDLDWBPUxn3cfM0jbUaWDxQ9JDaeDNczQ7c="; + name = "VNC-Viewer-${finalAttrs.version}-MacOSX-universal.dmg"; + url = "https://downloads.realvnc.com/download/file/viewer.files/${name}"; + hash = "sha256-SiBlw9ihKDLDWBPUxn3cfM0jbUaWDxQ9JDaeDNczQ7c="; }; sourceRoot = "."; diff --git a/pkgs/by-name/re/realvnc-vnc-viewer/linux.nix b/pkgs/by-name/re/realvnc-vnc-viewer/linux.nix index 9be2308705c92..87152c4da86c0 100644 --- a/pkgs/by-name/re/realvnc-vnc-viewer/linux.nix +++ b/pkgs/by-name/re/realvnc-vnc-viewer/linux.nix @@ -1,27 +1,37 @@ -{ stdenv -, fetchurl -, autoPatchelfHook -, rpmextract -, libX11 -, libXext -, pname -, version -, meta +{ + stdenv, + fetchurl, + autoPatchelfHook, + rpmextract, + libX11, + libXext, + pname, + version, + meta, }: stdenv.mkDerivation (finalAttrs: { inherit pname version; - src = { - "x86_64-linux" = fetchurl rec { - name = "VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm"; - url = "https://downloads.realvnc.com/download/file/viewer.files/${name}"; - hash = "sha256-fwMfQdOyLnYVfdBj80JHWT+CnKpq/9oM5oNF3aP+jgo="; - }; - }.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - - nativeBuildInputs = [ autoPatchelfHook rpmextract ]; - buildInputs = [ libX11 libXext stdenv.cc.cc.libgcc or null ]; + src = + { + "x86_64-linux" = fetchurl rec { + name = "VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm"; + url = "https://downloads.realvnc.com/download/file/viewer.files/${name}"; + hash = "sha256-fwMfQdOyLnYVfdBj80JHWT+CnKpq/9oM5oNF3aP+jgo="; + }; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + nativeBuildInputs = [ + autoPatchelfHook + rpmextract + ]; + buildInputs = [ + libX11 + libXext + stdenv.cc.cc.libgcc or null + ]; unpackPhase = '' rpmextract $src @@ -42,5 +52,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - meta = meta // { mainProgram = "vncviewer"; }; + meta = meta // { + mainProgram = "vncviewer"; + }; }) diff --git a/pkgs/by-name/re/realvnc-vnc-viewer/package.nix b/pkgs/by-name/re/realvnc-vnc-viewer/package.nix index b25f227eff19a..5c769651e219e 100644 --- a/pkgs/by-name/re/realvnc-vnc-viewer/package.nix +++ b/pkgs/by-name/re/realvnc-vnc-viewer/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, callPackage +{ + lib, + stdenv, + callPackage, }: let pname = "realvnc-vnc-viewer"; @@ -15,10 +16,15 @@ let url = "https://static.realvnc.com/media/documents/LICENSE-4.0a_en.pdf"; free = false; }; - maintainers = with lib.maintainers; [ emilytrau onedragon ]; + maintainers = with lib.maintainers; [ + emilytrau + onedragon + ]; platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; mainProgram = "vncviewer"; }; in -if stdenv.hostPlatform.isDarwin then callPackage ./darwin.nix { inherit pname version meta; } -else callPackage ./linux.nix { inherit pname version meta; } +if stdenv.hostPlatform.isDarwin then + callPackage ./darwin.nix { inherit pname version meta; } +else + callPackage ./linux.nix { inherit pname version meta; } diff --git a/pkgs/by-name/re/reap/package.nix b/pkgs/by-name/re/reap/package.nix index f8ba9fa6b0ec4..4dfe7e175ea15 100644 --- a/pkgs/by-name/re/reap/package.nix +++ b/pkgs/by-name/re/reap/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "reap"; diff --git a/pkgs/by-name/re/reason-shell/package.nix b/pkgs/by-name/re/reason-shell/package.nix index 015b5c97ebf31..a5bedae0d98b9 100644 --- a/pkgs/by-name/re/reason-shell/package.nix +++ b/pkgs/by-name/re/reason-shell/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; meta = with lib; { description = "Shell for research papers"; diff --git a/pkgs/by-name/re/reaverwps-t6x/package.nix b/pkgs/by-name/re/reaverwps-t6x/package.nix index 83479a6d88ed3..880d33b773d41 100644 --- a/pkgs/by-name/re/reaverwps-t6x/package.nix +++ b/pkgs/by-name/re/reaverwps-t6x/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libpcap, pixiewps, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + pixiewps, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "reaver-wps-t6x"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ libpcap pixiewps ]; + buildInputs = [ + libpcap + pixiewps + ]; sourceRoot = "${src.name}/src"; diff --git a/pkgs/by-name/re/reaverwps/package.nix b/pkgs/by-name/re/reaverwps/package.nix index 050cadf3ed641..ee4e491d72198 100644 --- a/pkgs/by-name/re/reaverwps/package.nix +++ b/pkgs/by-name/re/reaverwps/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libpcap, sqlite, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + libpcap, + sqlite, + makeWrapper, +}: stdenv.mkDerivation rec { version = "1.4"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ libpcap sqlite ]; + buildInputs = [ + libpcap + sqlite + ]; # Workaround build failure on -fno-common toolchains: # ld: crypto/dh_groups.o:src/crypto/../globule.h:141: multiple definition of diff --git a/pkgs/by-name/re/recapp/package.nix b/pkgs/by-name/re/recapp/package.nix index b6cb8c6377bba..0852d24fba54c 100644 --- a/pkgs/by-name/re/recapp/package.nix +++ b/pkgs/by-name/re/recapp/package.nix @@ -1,20 +1,21 @@ -{ lib -, python3 -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, gettext -, glib -, gobject-introspection -, gtk3 -, gst_all_1 -, libnotify -, librsvg -, meson -, ninja -, pkg-config -, slop -, wrapGAppsHook3 +{ + lib, + python3, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + gettext, + glib, + gobject-introspection, + gtk3, + gst_all_1, + libnotify, + librsvg, + meson, + ninja, + pkg-config, + slop, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { @@ -68,7 +69,12 @@ python3.pkgs.buildPythonApplication rec { preFixup = '' makeWrapperArgs+=( "''${gappsWrapperArgs[@]}" - "--prefix" "PATH" ":" "${lib.makeBinPath [ gst_all_1.gstreamer.dev slop ]}" + "--prefix" "PATH" ":" "${ + lib.makeBinPath [ + gst_all_1.gstreamer.dev + slop + ] + }" ) ''; diff --git a/pkgs/by-name/re/recastnavigation/package.nix b/pkgs/by-name/re/recastnavigation/package.nix index b4119f1133f5f..ef5f55978adf9 100644 --- a/pkgs/by-name/re/recastnavigation/package.nix +++ b/pkgs/by-name/re/recastnavigation/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU, catch }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libGL, + SDL2, + libGLU, + catch, +}: stdenv.mkDerivation rec { pname = "recastai"; @@ -13,25 +22,31 @@ stdenv.mkDerivation rec { sha256 = "sha256-WVzDI7+UuAl10Tm1Zjkea/FMk0cIe7pWg0iyFLbwAdI="; }; - postPatch = '' - cp ${catch}/include/catch/catch.hpp Tests/catch.hpp - - # https://github.com/recastnavigation/recastnavigation/issues/524 - substituteInPlace CMakeLists.txt \ - --replace '\$'{exec_prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \ - --replace '\$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Expects SDL2.framework in specific location, which we don't have - # Change where SDL2 headers are searched for to match what we do have - substituteInPlace RecastDemo/CMakeLists.txt \ - --replace 'include_directories(''${SDL2_LIBRARY}/Headers)' 'include_directories(${SDL2.dev}/include/SDL2)' - ''; + postPatch = + '' + cp ${catch}/include/catch/catch.hpp Tests/catch.hpp + + # https://github.com/recastnavigation/recastnavigation/issues/524 + substituteInPlace CMakeLists.txt \ + --replace '\$'{exec_prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \ + --replace '\$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Expects SDL2.framework in specific location, which we don't have + # Change where SDL2 headers are searched for to match what we do have + substituteInPlace RecastDemo/CMakeLists.txt \ + --replace 'include_directories(''${SDL2_LIBRARY}/Headers)' 'include_directories(${SDL2.dev}/include/SDL2)' + ''; doCheck = true; nativeBuildInputs = [ cmake ]; - buildInputs = [ libGL SDL2 libGLU ]; + buildInputs = [ + libGL + SDL2 + libGLU + ]; meta = with lib; { homepage = "https://github.com/recastnavigation/recastnavigation"; diff --git a/pkgs/by-name/re/recode/package.nix b/pkgs/by-name/re/recode/package.nix index 0ded5eea09cd2..1e96a4b6e2ced 100644 --- a/pkgs/by-name/re/recode/package.nix +++ b/pkgs/by-name/re/recode/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, python3Packages -, flex -, texinfo -, libiconv -, libintl +{ + lib, + stdenv, + fetchurl, + python3Packages, + flex, + texinfo, + libiconv, + libintl, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-eGqv1USFGisTsKN36sFQD4IM5iYVzMLmMLUB53Q7nzM="; }; - nativeBuildInputs = [ python3Packages.python flex texinfo libiconv ]; + nativeBuildInputs = [ + python3Packages.python + flex + texinfo + libiconv + ]; buildInputs = [ libintl ]; @@ -37,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "recode"; changelog = "https://github.com/rrthomas/recode/raw/v${finalAttrs.version}/NEWS"; platforms = lib.platforms.unix; - license = with lib.licenses; [ lgpl3Plus gpl3Plus ]; + license = with lib.licenses; [ + lgpl3Plus + gpl3Plus + ]; maintainers = with lib.maintainers; [ jcumming ]; }; }) diff --git a/pkgs/by-name/re/recoverdm/package.nix b/pkgs/by-name/re/recoverdm/package.nix index d5e4aeb7fc0d8..9a244bd15ac12 100644 --- a/pkgs/by-name/re/recoverdm/package.nix +++ b/pkgs/by-name/re/recoverdm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitLab -, installShellFiles +{ + lib, + stdenv, + fetchFromGitLab, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { @@ -16,13 +17,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-1iW3Ug85ZLGpvG29N5zJt8oooSQGnLsr+8XIcp4aSSM="; }; - patches = let patch = name: "./debian/patches/${name}"; in [ - (patch "10_fix-makefile.patch") - (patch "20_fix-typo-binary.patch") - (patch "30-fix-BTS-mergebad-crash.patch") - (patch "40_dev-c.patch") - ./0001-darwin-build-fixes.patch - ]; + patches = + let + patch = name: "./debian/patches/${name}"; + in + [ + (patch "10_fix-makefile.patch") + (patch "20_fix-typo-binary.patch") + (patch "30-fix-BTS-mergebad-crash.patch") + (patch "40_dev-c.patch") + ./0001-darwin-build-fixes.patch + ]; postPatch = '' substituteInPlace Makefile \ diff --git a/pkgs/by-name/re/recoverjpeg/package.nix b/pkgs/by-name/re/recoverjpeg/package.nix index b49c6dd7dad1e..a4b28e3bc834e 100644 --- a/pkgs/by-name/re/recoverjpeg/package.nix +++ b/pkgs/by-name/re/recoverjpeg/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, python3, exif, imagemagick }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + python3, + exif, + imagemagick, +}: stdenv.mkDerivation rec { pname = "recoverjpeg"; @@ -15,7 +23,12 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/sort-pictures \ - --prefix PATH : ${lib.makeBinPath [ exif imagemagick ]} + --prefix PATH : ${ + lib.makeBinPath [ + exif + imagemagick + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/re/recursive/package.nix b/pkgs/by-name/re/recursive/package.nix index c01bd294ea374..4327759425c86 100644 --- a/pkgs/by-name/re/recursive/package.nix +++ b/pkgs/by-name/re/recursive/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation rec { pname = "recursive"; @@ -14,7 +18,6 @@ stdenvNoCC.mkDerivation rec { install -D -t $out/share/fonts/truetype/ $(find $src -type f -name '*.ttf') ''; - meta = with lib; { homepage = "https://recursive.design/"; description = "Variable font family for code & UI"; diff --git a/pkgs/by-name/re/recutils/package.nix b/pkgs/by-name/re/recutils/package.nix index 61f6f60def042..de1a79649fc14 100644 --- a/pkgs/by-name/re/recutils/package.nix +++ b/pkgs/by-name/re/recutils/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, bc -, check -, curl +{ + lib, + stdenv, + fetchurl, + bc, + check, + curl, -, withEncryption ? true -, libgcrypt -, libgpg-error + withEncryption ? true, + libgcrypt, + libgpg-error, -, withUuid ? true -, libuuid + withUuid ? true, + libuuid, -, withBashBuiltins ? true -, bash + withBashBuiltins ? true, + bash, }: stdenv.mkDerivation rec { @@ -27,22 +28,25 @@ stdenv.mkDerivation rec { hardeningDisable = lib.optional stdenv.cc.isClang "format"; - configureFlags = - lib.optionals withBashBuiltins [ - "--with-bash-headers=${bash.dev}/include/bash" - ]; - - buildInputs = [ - curl - ] ++ lib.optionals withEncryption [ - libgpg-error.dev - libgcrypt.dev - ] ++ lib.optionals withUuid [ - libuuid - ] ++ lib.optionals withBashBuiltins [ - bash.dev + configureFlags = lib.optionals withBashBuiltins [ + "--with-bash-headers=${bash.dev}/include/bash" ]; + buildInputs = + [ + curl + ] + ++ lib.optionals withEncryption [ + libgpg-error.dev + libgcrypt.dev + ] + ++ lib.optionals withUuid [ + libuuid + ] + ++ lib.optionals withBashBuiltins [ + bash.dev + ]; + nativeCheckInputs = [ bc check diff --git a/pkgs/by-name/re/red/package.nix b/pkgs/by-name/re/red/package.nix index 676ecb721cc41..38b84f4f16995 100644 --- a/pkgs/by-name/re/red/package.nix +++ b/pkgs/by-name/re/red/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, stdenv_32bit, pkgsi686Linux, fetchFromGitHub, fetchurl }: +{ + lib, + stdenv, + stdenv_32bit, + pkgsi686Linux, + fetchFromGitHub, + fetchurl, +}: stdenv.mkDerivation rec { pname = "red"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "1c1v0pyhf3d8z98qc93a5zmx0bbl0qq5lr8mbkdgygqsq2bv2xbz"; }; - buildInputs = [ pkgsi686Linux.curl stdenv_32bit ]; + buildInputs = [ + pkgsi686Linux.curl + stdenv_32bit + ]; r2 = "./rebol/releases/rebol-core/rebol"; @@ -86,7 +96,10 @@ stdenv.mkDerivation rec { ''; mainProgram = "red"; maintainers = with maintainers; [ uralbash ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; license = licenses.bsd3; homepage = "https://www.red-lang.org/"; }; diff --git a/pkgs/by-name/re/redeclipse/package.nix b/pkgs/by-name/re/redeclipse/package.nix index 28c112fba3531..1bb741380b458 100644 --- a/pkgs/by-name/re/redeclipse/package.nix +++ b/pkgs/by-name/re/redeclipse/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl -, curl, ed, pkg-config, freetype, zlib, libX11 -, SDL2, SDL2_image, SDL2_mixer +{ + lib, + stdenv, + fetchurl, + curl, + ed, + pkg-config, + freetype, + zlib, + libX11, + SDL2, + SDL2_image, + SDL2_mixer, }: stdenv.mkDerivation rec { @@ -13,22 +23,32 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libX11 freetype zlib - SDL2 SDL2_image SDL2_mixer + libX11 + freetype + zlib + SDL2 + SDL2_image + SDL2_mixer ]; nativeBuildInputs = [ - curl ed pkg-config + curl + ed + pkg-config ]; - makeFlags = [ "-C" "src/" "prefix=$(out)" ]; + makeFlags = [ + "-C" + "src/" + "prefix=$(out)" + ]; enableParallelBuilding = true; installTargets = [ "system-install" ]; postInstall = '' - cp -R -t $out/share/redeclipse/data/ data/* + cp -R -t $out/share/redeclipse/data/ data/* ''; meta = with lib; { @@ -40,9 +60,12 @@ stdenv.mkDerivation rec { environments. ''; homepage = "https://www.redeclipse.net"; - license = with licenses; [ licenses.zlib cc-by-sa-30 ]; + license = with licenses; [ + licenses.zlib + cc-by-sa-30 + ]; maintainers = with maintainers; [ lambda-11235 ]; platforms = platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/re/redfang/package.nix b/pkgs/by-name/re/redfang/package.nix index 776479d389a12..a55d954d84448 100644 --- a/pkgs/by-name/re/redfang/package.nix +++ b/pkgs/by-name/re/redfang/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, fetchpatch, bluez }: +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + bluez, +}: stdenv.mkDerivation rec { pname = "redfang"; diff --git a/pkgs/by-name/re/redfishtool/package.nix b/pkgs/by-name/re/redfishtool/package.nix index 020adb304479d..c145f7823ea4a 100644 --- a/pkgs/by-name/re/redfishtool/package.nix +++ b/pkgs/by-name/re/redfishtool/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchPypi -, python3 +{ + lib, + fetchPypi, + python3, }: let @@ -16,7 +17,10 @@ python3.pkgs.buildPythonApplication { hash = "sha256-X/G6osOHCBidKZG/Y2nmHadifDacJhjBIc7WYrUCPn8="; }; - propagatedBuildInputs = with python3.pkgs; [ requests python-dateutil ]; + propagatedBuildInputs = with python3.pkgs; [ + requests + python-dateutil + ]; meta = with lib; { description = "Python34 program that implements a command line tool for accessing the Redfish API"; diff --git a/pkgs/by-name/re/redhat-official-fonts/package.nix b/pkgs/by-name/re/redhat-official-fonts/package.nix index dcfe0c789b00c..5460860d712c8 100644 --- a/pkgs/by-name/re/redhat-official-fonts/package.nix +++ b/pkgs/by-name/re/redhat-official-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "redhat-official"; diff --git a/pkgs/by-name/re/redict/package.nix b/pkgs/by-name/re/redict/package.nix index a916cfcd3ba7e..81b11efd31b85 100644 --- a/pkgs/by-name/re/redict/package.nix +++ b/pkgs/by-name/re/redict/package.nix @@ -1,13 +1,26 @@ -{ lib, stdenv, fetchFromGitea, fetchurl, lua, jemalloc, pkg-config, nixosTests -, tcl, which, ps, getconf -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -# dependency ordering is broken at the moment when building with openssl -, tlsSupport ? !stdenv.hostPlatform.isStatic, openssl - -# Using system jemalloc fixes cross-compilation and various setups. -# However the experimental 'active defragmentation' feature of redict requires -# their custom patched version of jemalloc. -, useSystemJemalloc ? true +{ + lib, + stdenv, + fetchFromGitea, + fetchurl, + lua, + jemalloc, + pkg-config, + nixosTests, + tcl, + which, + ps, + getconf, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + # dependency ordering is broken at the moment when building with openssl + tlsSupport ? !stdenv.hostPlatform.isStatic, + openssl, + + # Using system jemalloc fixes cross-compilation and various setups. + # However the experimental 'active defragmentation' feature of redict requires + # their custom patched version of jemalloc. + useSystemJemalloc ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -32,7 +45,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lua ] + buildInputs = + [ lua ] ++ lib.optional useSystemJemalloc jemalloc ++ lib.optional withSystemd systemd ++ lib.optionals tlsSupport [ openssl ]; @@ -42,8 +56,12 @@ stdenv.mkDerivation (finalAttrs: { ''; # More cross-compiling fixes. - makeFlags = [ "PREFIX=${placeholder "out"}" ] - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ] + makeFlags = + [ "PREFIX=${placeholder "out"}" ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "AR=${stdenv.cc.targetPrefix}ar" + "RANLIB=${stdenv.cc.targetPrefix}ranlib" + ] ++ lib.optionals withSystemd [ "USE_SYSTEMD=yes" ] ++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ]; @@ -55,7 +73,11 @@ stdenv.mkDerivation (finalAttrs: { # darwin currently lacks a pure `pgrep` which is extensively used here doCheck = !stdenv.hostPlatform.isDarwin; - nativeCheckInputs = [ which tcl ps ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ]; + nativeCheckInputs = [ + which + tcl + ps + ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ]; checkPhase = '' runHook preCheck diff --git a/pkgs/by-name/re/redir/package.nix b/pkgs/by-name/re/redir/package.nix index e92401c90f6d6..f69650db085e3 100644 --- a/pkgs/by-name/re/redir/package.nix +++ b/pkgs/by-name/re/redir/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "redir"; diff --git a/pkgs/by-name/re/redis-plus-plus/package.nix b/pkgs/by-name/re/redis-plus-plus/package.nix index e2ead01372283..656dd94c9249b 100644 --- a/pkgs/by-name/re/redis-plus-plus/package.nix +++ b/pkgs/by-name/re/redis-plus-plus/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, hiredis -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + hiredis, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? stdenv.hostPlatform.isStatic, }: # You must build at one type of library @@ -24,13 +29,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; propagatedBuildInputs = [ hiredis ]; - cmakeFlags = [ - "-DREDIS_PLUS_PLUS_BUILD_TEST=OFF" - ] ++ lib.optionals (!enableShared) [ - "-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF" - ] ++ lib.optionals (!enableStatic) [ - "-DREDIS_PLUS_PLUS_BUILD_STATIC=OFF" - ]; + cmakeFlags = + [ + "-DREDIS_PLUS_PLUS_BUILD_TEST=OFF" + ] + ++ lib.optionals (!enableShared) [ + "-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF" + ] + ++ lib.optionals (!enableStatic) [ + "-DREDIS_PLUS_PLUS_BUILD_STATIC=OFF" + ]; meta = with lib; { homepage = "https://github.com/sewenew/redis-plus-plus"; diff --git a/pkgs/by-name/re/redis/package.nix b/pkgs/by-name/re/redis/package.nix index b39d9258ae64f..5e008b7d4d900 100644 --- a/pkgs/by-name/re/redis/package.nix +++ b/pkgs/by-name/re/redis/package.nix @@ -1,13 +1,26 @@ -{ lib, stdenv, fetchurl, fetchpatch, lua, jemalloc, pkg-config, nixosTests -, tcl, which, ps, getconf -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -# dependency ordering is broken at the moment when building with openssl -, tlsSupport ? !stdenv.hostPlatform.isStatic, openssl - -# Using system jemalloc fixes cross-compilation and various setups. -# However the experimental 'active defragmentation' feature of redis requires -# their custom patched version of jemalloc. -, useSystemJemalloc ? true +{ + lib, + stdenv, + fetchurl, + fetchpatch, + lua, + jemalloc, + pkg-config, + nixosTests, + tcl, + which, + ps, + getconf, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + # dependency ordering is broken at the moment when building with openssl + tlsSupport ? !stdenv.hostPlatform.isStatic, + openssl, + + # Using system jemalloc fixes cross-compilation and various setups. + # However the experimental 'active defragmentation' feature of redis requires + # their custom patched version of jemalloc. + useSystemJemalloc ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -19,24 +32,27 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+xDWei/itFVvbLhABk3W5uMXXOjKA18HJpkOwtqfPQ4="; }; - patches = [ - # fixes: make test [exception]: Executing test client: permission denied - # https://github.com/redis/redis/issues/12792 - (fetchpatch { - url = "https://github.com/redis/redis/pull/12887.diff"; - hash = "sha256-VZEMShW7Ckn5hLJHffQvE94Uly41WZW1bwvxny+Y3W8="; - }) - ] ++ lib.optionals useSystemJemalloc [ - # use system jemalloc - (fetchurl { - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/redis/-/raw/102cc861713c796756abd541bf341a4512eb06e6/redis-5.0-use-system-jemalloc.patch"; - hash = "sha256-VPRfoSnctkkkzLrXEWQX3Lh5HmZaCXoJafyOG007KzM="; - }) - ]; + patches = + [ + # fixes: make test [exception]: Executing test client: permission denied + # https://github.com/redis/redis/issues/12792 + (fetchpatch { + url = "https://github.com/redis/redis/pull/12887.diff"; + hash = "sha256-VZEMShW7Ckn5hLJHffQvE94Uly41WZW1bwvxny+Y3W8="; + }) + ] + ++ lib.optionals useSystemJemalloc [ + # use system jemalloc + (fetchurl { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/redis/-/raw/102cc861713c796756abd541bf341a4512eb06e6/redis-5.0-use-system-jemalloc.patch"; + hash = "sha256-VPRfoSnctkkkzLrXEWQX3Lh5HmZaCXoJafyOG007KzM="; + }) + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lua ] + buildInputs = + [ lua ] ++ lib.optional useSystemJemalloc jemalloc ++ lib.optional withSystemd systemd ++ lib.optionals tlsSupport [ openssl ]; @@ -46,8 +62,12 @@ stdenv.mkDerivation (finalAttrs: { ''; # More cross-compiling fixes. - makeFlags = [ "PREFIX=${placeholder "out"}" ] - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ] + makeFlags = + [ "PREFIX=${placeholder "out"}" ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "AR=${stdenv.cc.targetPrefix}ar" + "RANLIB=${stdenv.cc.targetPrefix}ranlib" + ] ++ lib.optionals withSystemd [ "USE_SYSTEMD=yes" ] ++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ]; @@ -59,7 +79,11 @@ stdenv.mkDerivation (finalAttrs: { # darwin currently lacks a pure `pgrep` which is extensively used here doCheck = !stdenv.hostPlatform.isDarwin; - nativeCheckInputs = [ which tcl ps ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ]; + nativeCheckInputs = [ + which + tcl + ps + ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ]; checkPhase = '' runHook preCheck @@ -93,7 +117,10 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.bsd3; platforms = platforms.all; changelog = "https://github.com/redis/redis/raw/${finalAttrs.version}/00-RELEASENOTES"; - maintainers = with maintainers; [ berdario globin ]; + maintainers = with maintainers; [ + berdario + globin + ]; mainProgram = "redis-cli"; }; }) diff --git a/pkgs/by-name/re/redka/package.nix b/pkgs/by-name/re/redka/package.nix index debc2180892ab..339353d9470fb 100644 --- a/pkgs/by-name/re/redka/package.nix +++ b/pkgs/by-name/re/redka/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "redka"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-aX0X6TWVEouo884LunCt+UzLyvDHgmvuxdV0wh0r7Ro="; - subPackages = [ "cmd/redka" "cmd/cli" ]; + subPackages = [ + "cmd/redka" + "cmd/cli" + ]; ldflags = [ "-X main.version=v${version}" ]; diff --git a/pkgs/by-name/re/redli/package.nix b/pkgs/by-name/re/redli/package.nix index 07897de0397a2..84f717b610562 100644 --- a/pkgs/by-name/re/redli/package.nix +++ b/pkgs/by-name/re/redli/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "redli"; diff --git a/pkgs/by-name/re/redo-apenwarr/package.nix b/pkgs/by-name/re/redo-apenwarr/package.nix index 22841cb20d174..30a6feafbf131 100644 --- a/pkgs/by-name/re/redo-apenwarr/package.nix +++ b/pkgs/by-name/re/redo-apenwarr/package.nix @@ -1,7 +1,16 @@ -{ stdenv, lib, python3, fetchFromGitHub, which, coreutils -, perl, installShellFiles, gnumake42 -, doCheck ? true -}: stdenv.mkDerivation rec { +{ + stdenv, + lib, + python3, + fetchFromGitHub, + which, + coreutils, + perl, + installShellFiles, + gnumake42, + doCheck ? true, +}: +stdenv.mkDerivation rec { pname = "redo-apenwarr"; version = "0.42d"; @@ -13,35 +22,40 @@ sha256 = "/QIMXpVhVLAIJa3LiOlRKzbUztIWZygkWZUKN4Nrh+M="; }; - postPatch = '' + postPatch = + '' - patchShebangs minimal/do + patchShebangs minimal/do - '' + lib.optionalString doCheck '' - unset CC CXX + '' + + lib.optionalString doCheck '' + unset CC CXX - substituteInPlace minimal/do.test \ - --replace "/bin/pwd" "${coreutils}/bin/pwd" + substituteInPlace minimal/do.test \ + --replace "/bin/pwd" "${coreutils}/bin/pwd" - substituteInPlace t/105-sympath/all.do \ - --replace "/bin/pwd" "${coreutils}/bin/pwd" + substituteInPlace t/105-sympath/all.do \ + --replace "/bin/pwd" "${coreutils}/bin/pwd" - substituteInPlace t/all.do \ - --replace "/bin/ls" "ls" + substituteInPlace t/all.do \ + --replace "/bin/ls" "ls" - substituteInPlace t/110-compile/hello.o.do \ - --replace "/usr/include" "${lib.getDev stdenv.cc.libc}/include" + substituteInPlace t/110-compile/hello.o.do \ + --replace "/usr/include" "${lib.getDev stdenv.cc.libc}/include" - substituteInPlace t/200-shell/nonshelltest.do \ - --replace "/usr/bin/env perl" "${perl}/bin/perl" + substituteInPlace t/200-shell/nonshelltest.do \ + --replace "/usr/bin/env perl" "${perl}/bin/perl" - ''; + ''; inherit doCheck; checkTarget = "test"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; installFlags = [ "PREFIX=$(out)" @@ -50,7 +64,10 @@ nativeBuildInputs = [ python3 - (with python3.pkgs; [ beautifulsoup4 markdown ]) + (with python3.pkgs; [ + beautifulsoup4 + markdown + ]) which installShellFiles gnumake42 # fails with make 4.4 diff --git a/pkgs/by-name/re/redo-c/package.nix b/pkgs/by-name/re/redo-c/package.nix index ffa93b0d7dcb5..f7588b18515f0 100644 --- a/pkgs/by-name/re/redo-c/package.nix +++ b/pkgs/by-name/re/redo-c/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "redo-c"; version = "0.3"; diff --git a/pkgs/by-name/re/redo-sh/package.nix b/pkgs/by-name/re/redo-sh/package.nix index 67dd66d8eeee1..9222bd0e6c722 100644 --- a/pkgs/by-name/re/redo-sh/package.nix +++ b/pkgs/by-name/re/redo-sh/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, coreutils }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + coreutils, +}: stdenv.mkDerivation { version = "4.0.4"; @@ -24,7 +30,7 @@ stdenv.mkDerivation { meta = with lib; { description = "Redo implementation in Bourne Shell"; homepage = "http://news.dieweltistgarnichtso.net/bin/redo-sh.html"; - license = licenses.agpl3Plus; + license = licenses.agpl3Plus; platforms = platforms.unix; maintainers = with maintainers; [ sternenseemann ]; }; diff --git a/pkgs/by-name/re/redoc-cli/package.nix b/pkgs/by-name/re/redoc-cli/package.nix index de30e43d5eaf9..15d3e4f84dad7 100644 --- a/pkgs/by-name/re/redoc-cli/package.nix +++ b/pkgs/by-name/re/redoc-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/re/redocly/package.nix b/pkgs/by-name/re/redocly/package.nix index a0cf3d87c4bbb..04a0d7f32bd1c 100644 --- a/pkgs/by-name/re/redocly/package.nix +++ b/pkgs/by-name/re/redocly/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeWrapper -, redocly -, testers +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeWrapper, + redocly, + testers, }: buildNpmPackage rec { diff --git a/pkgs/by-name/re/redoflacs/package.nix b/pkgs/by-name/re/redoflacs/package.nix index 75425375f6af1..3c9dd24957aa7 100644 --- a/pkgs/by-name/re/redoflacs/package.nix +++ b/pkgs/by-name/re/redoflacs/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, installShellFiles -, flac -, sox +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + installShellFiles, + flac, + sox, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { dontBuild = true; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; installPhase = '' runHook preInstall @@ -34,7 +38,12 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/redoflacs \ - --prefix PATH : ${lib.makeBinPath ([ flac sox ])} + --prefix PATH : ${ + lib.makeBinPath ([ + flac + sox + ]) + } ''; meta = with lib; { diff --git a/pkgs/by-name/re/redpanda-client/package.nix b/pkgs/by-name/re/redpanda-client/package.nix index 3605ac2a0e683..42947f04597d8 100644 --- a/pkgs/by-name/re/redpanda-client/package.nix +++ b/pkgs/by-name/re/redpanda-client/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, doCheck ? !stdenv.hostPlatform.isDarwin # Can't start localhost test server in MacOS sandbox. -, fetchFromGitHub -, installShellFiles -, lib -, stdenv +{ + buildGoModule, + doCheck ? !stdenv.hostPlatform.isDarwin, # Can't start localhost test server in MacOS sandbox. + fetchFromGitHub, + installShellFiles, + lib, + stdenv, }: let version = "24.2.11"; @@ -40,7 +41,10 @@ buildGoModule rec { description = "Redpanda client"; homepage = "https://redpanda.com/"; license = licenses.bsl11; - maintainers = with maintainers; [ avakhrenev happysalada ]; + maintainers = with maintainers; [ + avakhrenev + happysalada + ]; platforms = platforms.all; mainProgram = "rpk"; }; diff --git a/pkgs/by-name/re/redprl/package.nix b/pkgs/by-name/re/redprl/package.nix index a6354a091665e..fbe1b8051078e 100644 --- a/pkgs/by-name/re/redprl/package.nix +++ b/pkgs/by-name/re/redprl/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, mlton }: +{ + lib, + stdenv, + fetchFromGitHub, + mlton, +}: stdenv.mkDerivation { pname = "redprl"; diff --git a/pkgs/by-name/re/redshift_jdbc/package.nix b/pkgs/by-name/re/redshift_jdbc/package.nix index ab15b136e14c9..98a73424f9ca1 100644 --- a/pkgs/by-name/re/redshift_jdbc/package.nix +++ b/pkgs/by-name/re/redshift_jdbc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchMavenArtifact }: +{ + lib, + stdenv, + fetchMavenArtifact, +}: stdenv.mkDerivation rec { pname = "redshift-jdbc"; @@ -19,8 +23,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/aws/amazon-redshift-jdbc-driver/"; - description = - "JDBC 4.2 driver for Amazon Redshift allowing Java programs to connect to a Redshift database"; + description = "JDBC 4.2 driver for Amazon Redshift allowing Java programs to connect to a Redshift database"; license = licenses.asl20; platforms = platforms.unix; maintainers = with maintainers; [ sir4ur0n ]; diff --git a/pkgs/by-name/re/redsocks/package.nix b/pkgs/by-name/re/redsocks/package.nix index f97dd01e074d3..cc63ba8bd3d47 100644 --- a/pkgs/by-name/re/redsocks/package.nix +++ b/pkgs/by-name/re/redsocks/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libevent }: +{ + lib, + stdenv, + fetchFromGitHub, + libevent, +}: stdenv.mkDerivation rec { pname = "redsocks"; @@ -11,12 +16,11 @@ stdenv.mkDerivation rec { sha256 = "170cpvvivb6y2kwsqj9ppx5brgds9gkn8mixrnvj8z9c15xhvplm"; }; - installPhase = - '' - mkdir -p $out/{bin,share} - mv redsocks $out/bin - mv doc $out/share - ''; + installPhase = '' + mkdir -p $out/{bin,share} + mv redsocks $out/bin + mv doc $out/share + ''; buildInputs = [ libevent ]; diff --git a/pkgs/by-name/re/redstore/package.nix b/pkgs/by-name/re/redstore/package.nix index 321f91770c7cc..56f4b21ee8f61 100644 --- a/pkgs/by-name/re/redstore/package.nix +++ b/pkgs/by-name/re/redstore/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, redland, pkg-config, gmp, zlib, librdf_raptor2 - , librdf_rasqal }: +{ + lib, + stdenv, + fetchurl, + redland, + pkg-config, + gmp, + zlib, + librdf_raptor2, + librdf_rasqal, +}: stdenv.mkDerivation rec { pname = "redstore"; @@ -11,7 +20,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gmp redland zlib librdf_raptor2 librdf_rasqal ]; + buildInputs = [ + gmp + redland + zlib + librdf_raptor2 + librdf_rasqal + ]; preConfigure = '' # Define _XOPEN_SOURCE to enable, e.g., getaddrinfo. @@ -25,8 +40,7 @@ stdenv.mkDerivation rec { mainProgram = "redstore"; homepage = "https://www.aelius.com/njh/redstore/"; maintainers = [ lib.maintainers.raskin ]; - platforms = with lib.platforms; - linux ++ freebsd ++ gnu; + platforms = with lib.platforms; linux ++ freebsd ++ gnu; license = lib.licenses.gpl3Plus; }; } diff --git a/pkgs/by-name/re/redux/package.nix b/pkgs/by-name/re/redux/package.nix index 1ddf62dd2ca2d..5c282338ec1d4 100644 --- a/pkgs/by-name/re/redux/package.nix +++ b/pkgs/by-name/re/redux/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, writeScript -, libX11 -, libXext -, alsa-lib -, autoPatchelfHook -, releasePath ? null +{ + lib, + stdenv, + fetchurl, + writeScript, + libX11, + libXext, + alsa-lib, + autoPatchelfHook, + releasePath ? null, }: # To use the full release version (same as renoise): @@ -19,14 +20,21 @@ stdenv.mkDerivation rec { pname = "redux"; version = "1.3.5"; - src = if releasePath != null then releasePath - else fetchurl { - urls = [ - "https://files.renoise.com/demo/Renoise_Redux_${lib.replaceStrings ["."] ["_"] version}_Demo_Linux_x86_64.tar.gz" - "https://files.renoise.com/demo/archive/Renoise_Redux_${lib.replaceStrings ["."] ["_"] version}_Demo_Linux_x86_64.tar.gz" - ]; - sha256 = "sha256-eznsdLzgdJ7MyWe5WAEg1MHId5VlfyanoZ6+I9nI/0I="; - }; + src = + if releasePath != null then + releasePath + else + fetchurl { + urls = [ + "https://files.renoise.com/demo/Renoise_Redux_${ + lib.replaceStrings [ "." ] [ "_" ] version + }_Demo_Linux_x86_64.tar.gz" + "https://files.renoise.com/demo/archive/Renoise_Redux_${ + lib.replaceStrings [ "." ] [ "_" ] version + }_Demo_Linux_x86_64.tar.gz" + ]; + sha256 = "sha256-eznsdLzgdJ7MyWe5WAEg1MHId5VlfyanoZ6+I9nI/0I="; + }; nativeBuildInputs = [ autoPatchelfHook @@ -49,7 +57,6 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.updateScript = writeScript "update-redux" '' #!/usr/bin/env nix-shell #!nix-shell -I nixpkgs=./. -i bash -p curl htmlq common-updater-scripts diff --git a/pkgs/by-name/re/refind/package.nix b/pkgs/by-name/re/refind/package.nix index 0b011096fdf19..c9d351eaaae65 100644 --- a/pkgs/by-name/re/refind/package.nix +++ b/pkgs/by-name/re/refind/package.nix @@ -1,25 +1,39 @@ -{ lib -, stdenv -, fetchurl -, gnu-efi -, nixosTests -, efibootmgr -, openssl -, withSbsigntool ? false # currently, cross compiling sbsigntool is broken, so default to false -, sbsigntool -, makeWrapper +{ + lib, + stdenv, + fetchurl, + gnu-efi, + nixosTests, + efibootmgr, + openssl, + withSbsigntool ? false, # currently, cross compiling sbsigntool is broken, so default to false + sbsigntool, + makeWrapper, }: let archids = { - x86_64-linux = { hostarch = "x86_64"; efiPlatform = "x64"; }; - i686-linux = rec { hostarch = "ia32"; efiPlatform = hostarch; }; - aarch64-linux = { hostarch = "aarch64"; efiPlatform = "aa64"; }; + x86_64-linux = { + hostarch = "x86_64"; + efiPlatform = "x64"; + }; + i686-linux = rec { + hostarch = "ia32"; + efiPlatform = hostarch; + }; + aarch64-linux = { + hostarch = "aarch64"; + efiPlatform = "aa64"; + }; }; inherit - (archids.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}")) - hostarch efiPlatform; + (archids.${stdenv.hostPlatform.system} + or (throw "unsupported system: ${stdenv.hostPlatform.system}") + ) + hostarch + efiPlatform + ; in stdenv.mkDerivation rec { @@ -45,19 +59,24 @@ stdenv.mkDerivation rec { hardeningDisable = [ "stackprotector" ]; makeFlags = - [ "prefix=" + [ + "prefix=" "EFIINC=${gnu-efi}/include/efi" "EFILIB=${gnu-efi}/lib" "GNUEFILIB=${gnu-efi}/lib" "EFICRT0=${gnu-efi}/lib" "HOSTARCH=${hostarch}" "ARCH=${hostarch}" - ] ++ lib.optional stdenv.hostPlatform.isAarch64 [ + ] + ++ lib.optional stdenv.hostPlatform.isAarch64 [ # aarch64 is special for GNU-EFI, see BUILDING.txt "GNUEFI_ARM64_TARGET_SUPPORT=y" ]; - buildFlags = [ "gnuefi" "fs_gnuefi" ]; + buildFlags = [ + "gnuefi" + "fs_gnuefi" + ]; installPhase = '' runHook preInstall @@ -119,7 +138,15 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/refind-install \ - --prefix PATH : ${lib.makeBinPath ( [ efibootmgr openssl ] ++ lib.optional withSbsigntool sbsigntool )} + --prefix PATH : ${ + lib.makeBinPath ( + [ + efibootmgr + openssl + ] + ++ lib.optional withSbsigntool sbsigntool + ) + } wrapProgram $out/bin/refind-mvrefind \ --prefix PATH : ${lib.makeBinPath [ efibootmgr ]} ''; @@ -147,7 +174,11 @@ stdenv.mkDerivation rec { ''; homepage = "http://refind.sourceforge.net/"; maintainers = with maintainers; [ chewblacka ]; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; license = licenses.gpl3Plus; }; diff --git a/pkgs/by-name/re/refinery-cli/package.nix b/pkgs/by-name/re/refinery-cli/package.nix index 59a5dd255ba69..5c366be4ab1e9 100644 --- a/pkgs/by-name/re/refinery-cli/package.nix +++ b/pkgs/by-name/re/refinery-cli/package.nix @@ -1,4 +1,12 @@ -{ fetchCrate, lib, stdenv, openssl, pkg-config, rustPlatform, darwin }: +{ + fetchCrate, + lib, + stdenv, + openssl, + pkg-config, + rustPlatform, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "refinery-cli"; @@ -14,8 +22,9 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; meta = with lib; { description = "Run migrations for the Refinery ORM for Rust via the CLI"; diff --git a/pkgs/by-name/re/reflex/package.nix b/pkgs/by-name/re/reflex/package.nix index 0c536d2114217..36c9487c65161 100644 --- a/pkgs/by-name/re/reflex/package.nix +++ b/pkgs/by-name/re/reflex/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "reflex"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-JCtVYDHbhH2i7tGNK1jvgHCjU6gMMkNhQ2ZnlTeqtmA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Small tool to watch a directory and rerun a command when certain files change"; diff --git a/pkgs/by-name/re/refmt/package.nix b/pkgs/by-name/re/refmt/package.nix index 5946e75f3f20f..74ae4397f4f55 100644 --- a/pkgs/by-name/re/refmt/package.nix +++ b/pkgs/by-name/re/refmt/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "refmt"; diff --git a/pkgs/by-name/re/reftools/package.nix b/pkgs/by-name/re/reftools/package.nix index 151f1accccf20..bb41cfea37a7a 100644 --- a/pkgs/by-name/re/reftools/package.nix +++ b/pkgs/by-name/re/reftools/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/re/refurb/package.nix b/pkgs/by-name/re/refurb/package.nix index 275039b601a30..f9ca563951b59 100644 --- a/pkgs/by-name/re/refurb/package.nix +++ b/pkgs/by-name/re/refurb/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/re/reg/package.nix b/pkgs/by-name/re/reg/package.nix index 545b208035b3c..9669e621aab08 100644 --- a/pkgs/by-name/re/reg/package.nix +++ b/pkgs/by-name/re/reg/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchpatch -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchpatch, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/re/regal/package.nix b/pkgs/by-name/re/regal/package.nix index 90a037f87397f..bb6aa6b32c768 100644 --- a/pkgs/by-name/re/regal/package.nix +++ b/pkgs/by-name/re/regal/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { name = "regal"; @@ -14,7 +18,8 @@ buildGoModule rec { vendorHash = "sha256-BvGzoATrMmtquO7fipNQkaQv8HpZs0sNK0EF/RzFTPU="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/styrainc/regal/pkg/version.Version=${version}" "-X github.com/styrainc/regal/pkg/version.Commit=${version}" ]; diff --git a/pkgs/by-name/re/regclient/package.nix b/pkgs/by-name/re/regclient/package.nix index 7d1aad0fd7526..c9c5985c45549 100644 --- a/pkgs/by-name/re/regclient/package.nix +++ b/pkgs/by-name/re/regclient/package.nix @@ -1,13 +1,20 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, lndir -, testers -, regclient +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + lndir, + testers, + regclient, }: -let bins = [ "regbot" "regctl" "regsync" ]; in +let + bins = [ + "regbot" + "regctl" + "regsync" + ]; +in buildGoModule rec { pname = "regclient"; @@ -30,26 +37,27 @@ buildGoModule rec { "-X github.com/regclient/regclient/internal/version.vcsTag=${tag}" ]; - nativeBuildInputs = [ installShellFiles lndir ]; + nativeBuildInputs = [ + installShellFiles + lndir + ]; - postInstall = lib.concatMapStringsSep "\n" - (bin: '' - export bin=''$${bin} - export outputBin=bin + postInstall = lib.concatMapStringsSep "\n" (bin: '' + export bin=''$${bin} + export outputBin=bin - mkdir -p $bin/bin - mv $out/bin/${bin} $bin/bin + mkdir -p $bin/bin + mv $out/bin/${bin} $bin/bin - installShellCompletion --cmd ${bin} \ - --bash <($bin/bin/${bin} completion bash) \ - --fish <($bin/bin/${bin} completion fish) \ - --zsh <($bin/bin/${bin} completion zsh) + installShellCompletion --cmd ${bin} \ + --bash <($bin/bin/${bin} completion bash) \ + --fish <($bin/bin/${bin} completion fish) \ + --zsh <($bin/bin/${bin} completion zsh) - lndir -silent $bin $out + lndir -silent $bin $out - unset bin outputBin - '') - bins; + unset bin outputBin + '') bins; checkFlags = [ # touches network @@ -57,15 +65,13 @@ buildGoModule rec { ]; passthru.tests = lib.mergeAttrsList ( - map - (bin: { - "${bin}Version" = testers.testVersion { - package = regclient; - command = "${bin} version"; - version = tag; - }; - }) - bins + map (bin: { + "${bin}Version" = testers.testVersion { + package = regclient; + command = "${bin} version"; + version = tag; + }; + }) bins ); __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/re/regenkfs/package.nix b/pkgs/by-name/re/regenkfs/package.nix index b8d4ed3b15545..4279b9cb58856 100644 --- a/pkgs/by-name/re/regenkfs/package.nix +++ b/pkgs/by-name/re/regenkfs/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage { pname = "regenkfs"; diff --git a/pkgs/by-name/re/regex-cli/package.nix b/pkgs/by-name/re/regex-cli/package.nix index 0f197e66181d4..f9b15784b2091 100644 --- a/pkgs/by-name/re/regex-cli/package.nix +++ b/pkgs/by-name/re/regex-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { description = "Command line tool for debugging, ad hoc benchmarking and generating regular expressions"; mainProgram = "regex-cli"; homepage = "https://github.com/rust-lang/regex/tree/master/regex-cli"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/re/regex2json/package.nix b/pkgs/by-name/re/regex2json/package.nix index e728adab04263..c9f56908963e9 100644 --- a/pkgs/by-name/re/regex2json/package.nix +++ b/pkgs/by-name/re/regex2json/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitLab }: +{ + lib, + buildGoModule, + fetchFromGitLab, +}: buildGoModule rec { pname = "regex2json"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-myMUs9urHjYaOQ/UaPYlLZstvClOuvF5xJao4lTP5bY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = { description = "Convert text to JSON using only regular expressions"; diff --git a/pkgs/by-name/re/regexploit/package.nix b/pkgs/by-name/re/regexploit/package.nix index b921cbcc3b3c0..0ed524edd4fa7 100644 --- a/pkgs/by-name/re/regexploit/package.nix +++ b/pkgs/by-name/re/regexploit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/re/regextester/package.nix b/pkgs/by-name/re/regextester/package.nix index 8508f65727e05..8ca42ead79a66 100644 --- a/pkgs/by-name/re/regextester/package.nix +++ b/pkgs/by-name/re/regextester/package.nix @@ -1,19 +1,22 @@ -{ lib, stdenv -, fetchFromGitHub -, vala -, gettext -, libxml2 -, pkg-config -, glib -, gtk3 -, libgee -, meson -, ninja -, gobject-introspection -, gsettings-desktop-schemas -, desktop-file-utils -, pantheon -, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + vala, + gettext, + libxml2, + pkg-config, + glib, + gtk3, + libgee, + meson, + ninja, + gobject-introspection, + gsettings-desktop-schemas, + desktop-file-utils, + pantheon, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "regextester"; diff --git a/pkgs/by-name/re/regina/package.nix b/pkgs/by-name/re/regina/package.nix index f805ffe2465f1..09254c6734a9a 100644 --- a/pkgs/by-name/re/regina/package.nix +++ b/pkgs/by-name/re/regina/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses +{ + lib, + stdenv, + fetchurl, + ncurses, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/re/regionset/package.nix b/pkgs/by-name/re/regionset/package.nix index 07154a1fc9a1b..547a307ea1fbf 100644 --- a/pkgs/by-name/re/regionset/package.nix +++ b/pkgs/by-name/re/regionset/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: -let version = "0.2"; in +let + version = "0.2"; +in stdenv.mkDerivation { pname = "regionset"; inherit version; diff --git a/pkgs/by-name/re/regols/package.nix b/pkgs/by-name/re/regols/package.nix index af8f81ff776d9..847162030ed32 100644 --- a/pkgs/by-name/re/regols/package.nix +++ b/pkgs/by-name/re/regols/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "regols"; diff --git a/pkgs/by-name/re/regpg/package.nix b/pkgs/by-name/re/regpg/package.nix index e14fdbbbb7593..690ae917b2f22 100644 --- a/pkgs/by-name/re/regpg/package.nix +++ b/pkgs/by-name/re/regpg/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, gnupg -, perl +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + gnupg, + perl, }: let @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "2ea99950804078190e1cc2a76d4740e3fdd5395a9043db3f3fe86bf2477d3a7d"; }; - nativeBuildInputs = [ makeWrapper perlEnv ]; + nativeBuildInputs = [ + makeWrapper + perlEnv + ]; postPatch = '' patchShebangs ./util/insert-here.pl ./util/markdown.pl diff --git a/pkgs/by-name/re/rehex/package.nix b/pkgs/by-name/re/rehex/package.nix index e971360b64e36..d0355c64e8ee2 100644 --- a/pkgs/by-name/re/rehex/package.nix +++ b/pkgs/by-name/re/rehex/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, which -, zip -, libicns -, botan3 -, capstone -, jansson -, libunistring -, wxGTK32 -, lua53Packages -, perlPackages -, gtk3 -, apple-sdk_11 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + which, + zip, + libicns, + botan3, + capstone, + jansson, + libunistring, + wxGTK32, + lua53Packages, + perlPackages, + gtk3, + apple-sdk_11, }: stdenv.mkDerivation rec { @@ -27,12 +28,28 @@ stdenv.mkDerivation rec { hash = "sha256-RlYpg3aon1d25n8K/bbHGVLn5/iOOUSlvjT8U0fp9hA="; }; - nativeBuildInputs = [ pkg-config which zip ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libicns ]; + nativeBuildInputs = [ + pkg-config + which + zip + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libicns ]; - buildInputs = [ botan3 capstone jansson libunistring wxGTK32 ] - ++ (with lua53Packages; [ lua busted ]) - ++ (with perlPackages; [ perl TemplateToolkit ]) + buildInputs = + [ + botan3 + capstone + jansson + libunistring + wxGTK32 + ] + ++ (with lua53Packages; [ + lua + busted + ]) + ++ (with perlPackages; [ + perl + TemplateToolkit + ]) ++ lib.optionals stdenv.hostPlatform.isLinux [ gtk3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ]; @@ -57,7 +74,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/solemnwarning/rehex"; changelog = "https://github.com/solemnwarning/rehex/raw/${version}/CHANGES.txt"; license = licenses.gpl2Only; - maintainers = with maintainers; [ markus1189 wegank ]; + maintainers = with maintainers; [ + markus1189 + wegank + ]; platforms = platforms.all; mainProgram = "rehex"; }; diff --git a/pkgs/by-name/re/reindeer/package.nix b/pkgs/by-name/re/reindeer/package.nix index 2ada097d0bf59..afdb1213436f4 100644 --- a/pkgs/by-name/re/reindeer/package.nix +++ b/pkgs/by-name/re/reindeer/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -33,4 +34,3 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ nickgerace ]; }; } - diff --git a/pkgs/by-name/re/reiser4progs/package.nix b/pkgs/by-name/re/reiser4progs/package.nix index 63247da847d46..51bef2c7db74b 100644 --- a/pkgs/by-name/re/reiser4progs/package.nix +++ b/pkgs/by-name/re/reiser4progs/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, libaal}: +{ + lib, + stdenv, + fetchurl, + libaal, +}: stdenv.mkDerivation rec { pname = "reiser4progs"; @@ -9,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-DBR2C5h6ue4aqHmDG50jCLXe13DSWAYwfibrzTM+7Sw="; }; - buildInputs = [libaal]; + buildInputs = [ libaal ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/re/reiserfsprogs/package.nix b/pkgs/by-name/re/reiserfsprogs/package.nix index 1118c9ac27429..68aaafcf0318b 100644 --- a/pkgs/by-name/re/reiserfsprogs/package.nix +++ b/pkgs/by-name/re/reiserfsprogs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libuuid, autoreconfHook, e2fsprogs, acl }: +{ + lib, + stdenv, + fetchurl, + libuuid, + autoreconfHook, + e2fsprogs, + acl, +}: stdenv.mkDerivation rec { pname = "reiserfsprogs"; @@ -10,9 +18,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libuuid e2fsprogs acl ]; + buildInputs = [ + libuuid + e2fsprogs + acl + ]; - env.NIX_CFLAGS_COMPILE = toString [ "-std=gnu90" "-D_GNU_SOURCE" ]; + env.NIX_CFLAGS_COMPILE = toString [ + "-std=gnu90" + "-D_GNU_SOURCE" + ]; meta = { inherit version; diff --git a/pkgs/by-name/re/release-plz/package.nix b/pkgs/by-name/re/release-plz/package.nix index adf9b4ac077a3..e04340e8fe8d4 100644 --- a/pkgs/by-name/re/release-plz/package.nix +++ b/pkgs/by-name/re/release-plz/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, installShellFiles -, pkg-config -, perl -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + pkg-config, + perl, + openssl, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-GptaDa8NjCcWg5OsyujIgxGH4egWGBVVTLaYp4fqP3Q="; - nativeBuildInputs = [ installShellFiles pkg-config perl ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + perl + ]; buildInputs = [ openssl ]; @@ -41,7 +46,10 @@ rustPlatform.buildRustPackage rec { description = "Publish Rust crates from CI with a Release PR"; homepage = "https://release-plz.ieni.dev"; changelog = "https://github.com/MarcoIeni/release-plz/blob/release-plz-v${version}/CHANGELOG.md"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; maintainers = with lib.maintainers; [ dannixon ]; mainProgram = "release-plz"; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/re/remake/package.nix b/pkgs/by-name/re/remake/package.nix index 886034e4a270c..baca92f494ffe 100644 --- a/pkgs/by-name/re/remake/package.nix +++ b/pkgs/by-name/re/remake/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, readline -, guileSupport ? false -, guile +{ + lib, + stdenv, + fetchurl, + pkg-config, + readline, + guileSupport ? false, + guile, }: stdenv.mkDerivation rec { @@ -25,8 +26,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ readline ] - ++ lib.optionals guileSupport [ guile ]; + buildInputs = [ readline ] ++ lib.optionals guileSupport [ guile ]; # make check fails, see https://github.com/rocky/remake/issues/117 @@ -36,6 +36,9 @@ stdenv.mkDerivation rec { description = "GNU Make with comprehensible tracing and a debugger"; mainProgram = "remake"; platforms = with lib.platforms; linux ++ darwin; - maintainers = with lib.maintainers; [ bjornfor shamilton ]; + maintainers = with lib.maintainers; [ + bjornfor + shamilton + ]; }; } diff --git a/pkgs/by-name/re/remarkable-toolchain/package.nix b/pkgs/by-name/re/remarkable-toolchain/package.nix index 1ff4e5c62459b..98c995585e598 100644 --- a/pkgs/by-name/re/remarkable-toolchain/package.nix +++ b/pkgs/by-name/re/remarkable-toolchain/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libarchive, python3, file, which }: +{ + lib, + stdenv, + fetchurl, + libarchive, + python3, + file, + which, +}: stdenv.mkDerivation rec { pname = "remarkable-toolchain"; @@ -30,7 +38,10 @@ stdenv.mkDerivation rec { homepage = "https://remarkable.engineering/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.gpl2Plus; - maintainers = with maintainers; [ nickhu siraben ]; + maintainers = with maintainers; [ + nickhu + siraben + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/re/remarkable2-toolchain/package.nix b/pkgs/by-name/re/remarkable2-toolchain/package.nix index 6e6b79e8f2e92..9c8ea70e815b0 100644 --- a/pkgs/by-name/re/remarkable2-toolchain/package.nix +++ b/pkgs/by-name/re/remarkable2-toolchain/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libarchive, python3, file, which }: +{ + lib, + stdenv, + fetchurl, + libarchive, + python3, + file, + which, +}: stdenv.mkDerivation rec { pname = "remarkable2-toolchain"; diff --git a/pkgs/by-name/re/remkrom/package.nix b/pkgs/by-name/re/remkrom/package.nix index c7a8fb21241e6..a89fa590c20de 100644 --- a/pkgs/by-name/re/remkrom/package.nix +++ b/pkgs/by-name/re/remkrom/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage { pname = "remkrom"; diff --git a/pkgs/by-name/re/remontoire/package.nix b/pkgs/by-name/re/remontoire/package.nix index 95e3fecef272c..d04d0e23ec11a 100644 --- a/pkgs/by-name/re/remontoire/package.nix +++ b/pkgs/by-name/re/remontoire/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapGAppsHook3 -, desktop-file-utils -, glib -, gtk3 -, json-glib -, libgee -, meson -, ninja -, pkg-config -, python3 -, vala +{ + lib, + stdenv, + fetchFromGitHub, + wrapGAppsHook3, + desktop-file-utils, + glib, + gtk3, + json-glib, + libgee, + meson, + ninja, + pkg-config, + python3, + vala, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/re/remote-touchpad/package.nix b/pkgs/by-name/re/remote-touchpad/package.nix index 59e448c46170c..8f7db02232068 100644 --- a/pkgs/by-name/re/remote-touchpad/package.nix +++ b/pkgs/by-name/re/remote-touchpad/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, libXi -, libXrandr -, libXt -, libXtst +{ + buildGoModule, + fetchFromGitHub, + lib, + libXi, + libXrandr, + libXt, + libXtst, }: buildGoModule rec { @@ -18,7 +19,12 @@ buildGoModule rec { sha256 = "sha256-C/qaLEYvIbl0XINsumAFLnsQgy+EDjoX446BJnuE6eQ="; }; - buildInputs = [ libXi libXrandr libXt libXtst ]; + buildInputs = [ + libXi + libXrandr + libXt + libXtst + ]; tags = [ "portal,x11" ]; vendorHash = "sha256-bt5KUgNDgWX7CVHvX5c0uYqoxGRDbGbae52+mpnBEZU="; diff --git a/pkgs/by-name/re/remotebox/package.nix b/pkgs/by-name/re/remotebox/package.nix index 7aede37fe70c5..8919dd4624630 100644 --- a/pkgs/by-name/re/remotebox/package.nix +++ b/pkgs/by-name/re/remotebox/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, makeWrapper, perl, perlPackages }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + perl, + perlPackages, +}: stdenv.mkDerivation rec { pname = "remotebox"; @@ -9,7 +16,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-oIWSli/pc+kqMkYqkeHr3fZshWUHx6ecqAZXf6fl2ik="; }; - buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ]; + buildInputs = with perlPackages; [ + perl + Glib + Gtk2 + Pango + SOAPLite + ]; nativeBuildInputs = [ makeWrapper ]; installPhase = '' diff --git a/pkgs/by-name/re/ren-find/package.nix b/pkgs/by-name/re/ren-find/package.nix index 0008b398093e1..7f1fef94380b3 100644 --- a/pkgs/by-name/re/ren-find/package.nix +++ b/pkgs/by-name/re/ren-find/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/re/rename/package.nix b/pkgs/by-name/re/rename/package.nix index d7eed90d06397..a14365c764e75 100644 --- a/pkgs/by-name/re/rename/package.nix +++ b/pkgs/by-name/re/rename/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, perlPackages }: +{ + lib, + fetchFromGitHub, + perlPackages, +}: perlPackages.buildPerlPackage rec { pname = "rename"; @@ -13,7 +17,10 @@ perlPackages.buildPerlPackage rec { meta = with lib; { description = "Rename files according to a Perl rewrite expression"; homepage = "https://github.com/pstray/rename"; - maintainers = with maintainers; [ mkg cyplo ]; + maintainers = with maintainers; [ + mkg + cyplo + ]; license = with licenses; [ gpl1Plus ]; mainProgram = "rename"; }; diff --git a/pkgs/by-name/re/renameutils/package.nix b/pkgs/by-name/re/renameutils/package.nix index e09b7c60f9718..77180071f1682 100644 --- a/pkgs/by-name/re/renameutils/package.nix +++ b/pkgs/by-name/re/renameutils/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, readline, coreutils }: +{ + lib, + stdenv, + fetchurl, + readline, + coreutils, +}: stdenv.mkDerivation rec { pname = "renameutils"; diff --git a/pkgs/by-name/re/renderizer/package.nix b/pkgs/by-name/re/renderizer/package.nix index 18aea30413325..1b3f49fa5d685 100644 --- a/pkgs/by-name/re/renderizer/package.nix +++ b/pkgs/by-name/re/renderizer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "renderizer"; @@ -12,7 +16,11 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" "-X main.version=${version}" "-X main.commitHash=${src.rev}" "-X main.date=19700101T000000" + "-s" + "-w" + "-X main.version=${version}" + "-X main.commitHash=${src.rev}" + "-X main.date=19700101T000000" ]; vendorHash = null; diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix index 871b14be10786..97e2b3baefce4 100644 --- a/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/pkgs/by-name/re/renode-dts2repl/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + python3, + fetchFromGitHub, + unstableGitUpdater, }: python3.pkgs.buildPythonApplication { diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix index 95a18ec25f26d..7164233f75598 100644 --- a/pkgs/by-name/re/renode-unstable/package.nix +++ b/pkgs/by-name/re/renode-unstable/package.nix @@ -1,35 +1,38 @@ -{ renode -, fetchurl -, writeScript +{ + renode, + fetchurl, + writeScript, }: -renode.overrideAttrs (finalAttrs: _: { - pname = "renode-unstable"; - version = "1.15.3+20241112git6e850cb52"; +renode.overrideAttrs ( + finalAttrs: _: { + pname = "renode-unstable"; + version = "1.15.3+20241112git6e850cb52"; - src = fetchurl { - url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-dotnet.tar.gz"; - hash = "sha256-GkmzPc0pPRglkuGzPU+rLUcwlhw8v4VgQnxnkzT/+cI="; - }; + src = fetchurl { + url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-dotnet.tar.gz"; + hash = "sha256-GkmzPc0pPRglkuGzPU+rLUcwlhw8v4VgQnxnkzT/+cI="; + }; - passthru.updateScript = - let - versionRegex = "[0-9\.\+]+[^\+]*."; - in - writeScript "${finalAttrs.pname}-updater" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p common-updater-scripts curl gnugrep gnused pup + passthru.updateScript = + let + versionRegex = "[0-9\.\+]+[^\+]*."; + in + writeScript "${finalAttrs.pname}-updater" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts curl gnugrep gnused pup - latestVersion=$( - curl -sS https://builds.renode.io \ - | pup 'a text{}' \ - | egrep 'renode-${versionRegex}\.linux-dotnet\.tar\.gz' \ - | head -n1 \ - | sed -e 's,renode-\(.*\)\.linux-dotnet\.tar\.gz,\1,g' - ) + latestVersion=$( + curl -sS https://builds.renode.io \ + | pup 'a text{}' \ + | egrep 'renode-${versionRegex}\.linux-dotnet\.tar\.gz' \ + | head -n1 \ + | sed -e 's,renode-\(.*\)\.linux-dotnet\.tar\.gz,\1,g' + ) - update-source-version ${finalAttrs.pname} "$latestVersion" \ - --file=pkgs/by-name/re/${finalAttrs.pname}/package.nix \ - --system=x86_64-linux - ''; -}) + update-source-version ${finalAttrs.pname} "$latestVersion" \ + --file=pkgs/by-name/re/${finalAttrs.pname}/package.nix \ + --system=x86_64-linux + ''; + } +) diff --git a/pkgs/by-name/re/renode/package.nix b/pkgs/by-name/re/renode/package.nix index 98c88f8d111ce..888f29cfb5ac7 100644 --- a/pkgs/by-name/re/renode/package.nix +++ b/pkgs/by-name/re/renode/package.nix @@ -1,41 +1,44 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchurl -, autoPatchelfHook -, makeWrapper -, nix-update-script -, glibcLocales -, python3Packages -, dotnetCorePackages -, gtk-sharp-3_0 -, gtk3-x11 -, dconf +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + autoPatchelfHook, + makeWrapper, + nix-update-script, + glibcLocales, + python3Packages, + dotnetCorePackages, + gtk-sharp-3_0, + gtk3-x11, + dconf, }: let - pythonLibs = with python3Packages; makePythonPath [ - construct - psutil - pyyaml - requests - tkinter - - # from tools/csv2resd/requirements.txt - construct - - # from tools/execution_tracer/requirements.txt - pyelftools - - (robotframework.overrideDerivation (oldAttrs: { - src = fetchFromGitHub { - owner = "robotframework"; - repo = "robotframework"; - rev = "v6.1"; - hash = "sha256-l1VupBKi52UWqJMisT2CVnXph3fGxB63mBVvYdM1NWE="; - }; - })) - ]; + pythonLibs = + with python3Packages; + makePythonPath [ + construct + psutil + pyyaml + requests + tkinter + + # from tools/csv2resd/requirements.txt + construct + + # from tools/execution_tracer/requirements.txt + pyelftools + + (robotframework.overrideDerivation (oldAttrs: { + src = fetchFromGitHub { + owner = "robotframework"; + repo = "robotframework"; + rev = "v6.1"; + hash = "sha256-l1VupBKi52UWqJMisT2CVnXph3fGxB63mBVvYdM1NWE="; + }; + })) + ]; in stdenv.mkDerivation (finalAttrs: { pname = "renode"; diff --git a/pkgs/by-name/re/renoise/package.nix b/pkgs/by-name/re/renoise/package.nix index dd350e02249af..5e61472f11903 100644 --- a/pkgs/by-name/re/renoise/package.nix +++ b/pkgs/by-name/re/renoise/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, writeScript -, alsa-lib -, fetchurl -, libjack2 -, libX11 -, libXcursor -, libXext -, libXinerama -, libXrandr -, libXtst -, mpg123 -, pipewire -, releasePath ? null +{ + lib, + stdenv, + writeScript, + alsa-lib, + fetchurl, + libjack2, + libX11, + libXcursor, + libXext, + libXinerama, + libXrandr, + libXtst, + mpg123, + pipewire, + releasePath ? null, }: # To use the full release version: @@ -32,23 +33,26 @@ let }; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "renoise"; version = "3.4.4"; - src = if releasePath != null then - releasePath - else - let - platform = platforms.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); - urlVersion = lib.replaceStrings [ "." ] [ "_" ] version; - in fetchurl { - urls = [ - "https://files.renoise.com/demo/Renoise_${urlVersion}_Demo_Linux_${platform.archSuffix}.tar.gz" - "https://files.renoise.com/demo/archive/Renoise_${urlVersion}_Demo_Linux_${platform.archSuffix}.tar.gz" - ]; - hash = platform.hash; - }; + src = + if releasePath != null then + releasePath + else + let + platform = platforms.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); + urlVersion = lib.replaceStrings [ "." ] [ "_" ] version; + in + fetchurl { + urls = [ + "https://files.renoise.com/demo/Renoise_${urlVersion}_Demo_Linux_${platform.archSuffix}.tar.gz" + "https://files.renoise.com/demo/archive/Renoise_${urlVersion}_Demo_Linux_${platform.archSuffix}.tar.gz" + ]; + hash = platform.hash; + }; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/re/rep-grep/package.nix b/pkgs/by-name/re/rep-grep/package.nix index de67de3f7be1a..332a3ec505289 100644 --- a/pkgs/by-name/re/rep-grep/package.nix +++ b/pkgs/by-name/re/rep-grep/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/re/rep-gtk/package.nix b/pkgs/by-name/re/rep-gtk/package.nix index 872eacb5011ea..a4aac2e74b8f7 100644 --- a/pkgs/by-name/re/rep-gtk/package.nix +++ b/pkgs/by-name/re/rep-gtk/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, gtk2-x11 -, librep -, pkg-config +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gtk2-x11, + librep, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/re/rep/package.nix b/pkgs/by-name/re/rep/package.nix index 78b9c2612e422..3a8782691f0c9 100644 --- a/pkgs/by-name/re/rep/package.nix +++ b/pkgs/by-name/re/rep/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, asciidoc-full }: +{ + lib, + stdenv, + fetchFromGitHub, + asciidoc-full, +}: stdenv.mkDerivation rec { pname = "rep"; diff --git a/pkgs/by-name/re/repgrep/package.nix b/pkgs/by-name/re/repgrep/package.nix index 1fb6156dfc4ec..fb8d6012b24bf 100644 --- a/pkgs/by-name/re/repgrep/package.nix +++ b/pkgs/by-name/re/repgrep/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, asciidoctor -, installShellFiles -, makeWrapper -, ripgrep +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + asciidoctor, + installShellFiles, + makeWrapper, + ripgrep, }: rustPlatform.buildRustPackage rec { @@ -27,26 +28,32 @@ rustPlatform.buildRustPackage rec { makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/rgr \ - --prefix PATH : ${lib.makeBinPath [ ripgrep ]} + postInstall = + '' + wrapProgram $out/bin/rgr \ + --prefix PATH : ${lib.makeBinPath [ ripgrep ]} - pushd "$(dirname "$(find -path '**/repgrep-stamp' | head -n 1)")" - installManPage rgr.1 - popd - '' + lib.optionalString (stdenv.hostPlatform.canExecute stdenv.buildPlatform) '' - # As it can be seen here: https://github.com/acheronfail/repgrep/blob/0.15.0/.github/workflows/release.yml#L206, the completions are just the same as ripgrep - installShellCompletion --cmd rgr \ - --bash <(${lib.getExe ripgrep} --generate complete-bash | sed 's/-c rg/-c rgr/') \ - --zsh <(${lib.getExe ripgrep} --generate complete-zsh | sed 's/-c rg/-c rgr/') \ - --fish <(${lib.getExe ripgrep} --generate complete-fish | sed 's/-c rg/-c rgr/') - ''; + pushd "$(dirname "$(find -path '**/repgrep-stamp' | head -n 1)")" + installManPage rgr.1 + popd + '' + + lib.optionalString (stdenv.hostPlatform.canExecute stdenv.buildPlatform) '' + # As it can be seen here: https://github.com/acheronfail/repgrep/blob/0.15.0/.github/workflows/release.yml#L206, the completions are just the same as ripgrep + installShellCompletion --cmd rgr \ + --bash <(${lib.getExe ripgrep} --generate complete-bash | sed 's/-c rg/-c rgr/') \ + --zsh <(${lib.getExe ripgrep} --generate complete-zsh | sed 's/-c rg/-c rgr/') \ + --fish <(${lib.getExe ripgrep} --generate complete-fish | sed 's/-c rg/-c rgr/') + ''; meta = with lib; { description = "Interactive replacer for ripgrep that makes it easy to find and replace across files on the command line"; homepage = "https://github.com/acheronfail/repgrep"; changelog = "https://github.com/acheronfail/repgrep/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ mit asl20 unlicense ]; + license = with licenses; [ + mit + asl20 + unlicense + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "rgr"; }; diff --git a/pkgs/by-name/re/replace/package.nix b/pkgs/by-name/re/replace/package.nix index 61c6a65322d14..a23e442796227 100644 --- a/pkgs/by-name/re/replace/package.nix +++ b/pkgs/by-name/re/replace/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "replace"; @@ -9,7 +13,10 @@ stdenv.mkDerivation rec { sha256 = "18hkwhaz25s6209n5mpx9hmkyznlzygqj488p2l7nvp9zrlxb9sf"; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; makeFlags = [ "TREE=\$(out)" @@ -24,7 +31,7 @@ stdenv.mkDerivation rec { preInstall = "mkdir -p \$out/share/man"; postInstall = "mv \$out/bin/replace \$out/bin/replace-literal"; - patches = [./malloc.patch]; + patches = [ ./malloc.patch ]; meta = { description = "Tool to replace verbatim strings"; diff --git a/pkgs/by-name/re/replacement/package.nix b/pkgs/by-name/re/replacement/package.nix index fd0533852aef3..0c72e617ff643 100644 --- a/pkgs/by-name/re/replacement/package.nix +++ b/pkgs/by-name/re/replacement/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonApplication rec { @@ -30,16 +31,16 @@ python3Packages.buildPythonApplication rec { description = "Tool to execute yaml templates and output text"; mainProgram = "replacement"; longDescription = '' - Replacement is a python utility - that parses a yaml template and outputs text. + Replacement is a python utility + that parses a yaml template and outputs text. - A 'template' is a YAML file containing a 'replacement' object. + A 'template' is a YAML file containing a 'replacement' object. - A 'replacement' object contains a list of blocks, - each of which is executed in sequence. + A 'replacement' object contains a list of blocks, + each of which is executed in sequence. - This tool is useful in generating configuration files, - static websites and the like. + This tool is useful in generating configuration files, + static websites and the like. ''; license = licenses.asl20; maintainers = with maintainers; [ siriobalmelli ]; diff --git a/pkgs/by-name/re/replxx/package.nix b/pkgs/by-name/re/replxx/package.nix index 705b12deda356..b94936bb3c9df 100644 --- a/pkgs/by-name/re/replxx/package.nix +++ b/pkgs/by-name/re/replxx/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, enableStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + enableStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/re/reposilite/package.nix b/pkgs/by-name/re/reposilite/package.nix index d5a3b2645e707..0340e1cfac1c1 100644 --- a/pkgs/by-name/re/reposilite/package.nix +++ b/pkgs/by-name/re/reposilite/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, makeWrapper, jre_headless }: +{ + stdenv, + lib, + fetchurl, + makeWrapper, + jre_headless, +}: stdenv.mkDerivation (finalAttrs: { pname = "Reposilite"; diff --git a/pkgs/by-name/re/reposurgeon/package.nix b/pkgs/by-name/re/reposurgeon/package.nix index 40ce515938e5f..aec51ab75d221 100644 --- a/pkgs/by-name/re/reposurgeon/package.nix +++ b/pkgs/by-name/re/reposurgeon/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildGoModule, asciidoctor, ruby +{ + lib, + fetchurl, + buildGoModule, + asciidoctor, + ruby, }: buildGoModule rec { @@ -14,7 +19,10 @@ buildGoModule rec { subPackages = [ "." ]; - nativeBuildInputs = [ asciidoctor ruby ]; + nativeBuildInputs = [ + asciidoctor + ruby + ]; postBuild = '' patchShebangs . diff --git a/pkgs/by-name/re/repro-get/package.nix b/pkgs/by-name/re/repro-get/package.nix index 95d5902be0065..e3f94b5374eea 100644 --- a/pkgs/by-name/re/repro-get/package.nix +++ b/pkgs/by-name/re/repro-get/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, repro-get -, cacert +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + repro-get, + cacert, }: buildGoModule rec { @@ -44,7 +45,9 @@ buildGoModule rec { passthru.tests = { "pkg-version" = repro-get.overrideAttrs (old: { # see invalidateFetcherByDrvHash - name = "${repro-get.pname}-${builtins.unsafeDiscardStringContext (lib.substring 0 12 (baseNameOf repro-get.drvPath))}"; + name = "${repro-get.pname}-${ + builtins.unsafeDiscardStringContext (lib.substring 0 12 (baseNameOf repro-get.drvPath)) + }"; subPackages = [ "pkg/version" ]; installPhase = '' rm -rf $out diff --git a/pkgs/by-name/re/reproc/package.nix b/pkgs/by-name/re/reproc/package.nix index 5092cc2ab7bdf..d00a691ff6366 100644 --- a/pkgs/by-name/re/reproc/package.nix +++ b/pkgs/by-name/re/reproc/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake, fetchpatch +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + fetchpatch, }: stdenv.mkDerivation rec { @@ -13,12 +18,12 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch{ + (fetchpatch { name = "reproc-gcc-13-2.patch"; url = "https://github.com/DaanDeMeyer/reproc/commit/0b23d88894ccedde04537fa23ea55cb2f8365342.patch"; sha256 = "sha256-QyC0UcKAWCKSvSvyZTLI2eF/TuuqbGGH6cOQrS2DiCE="; }) - (fetchpatch{ + (fetchpatch { name = "reproc-gcc-13-1.patch"; url = "https://github.com/DaanDeMeyer/reproc/commit/9f399675b821e175f85ac3ee6e3fd2e6056573eb.patch"; sha256 = "sha256-h/gnDFPWPpUFkys10YXjjEPibgRT1atHSVwbO0kId+U="; diff --git a/pkgs/by-name/re/reproxy/package.nix b/pkgs/by-name/re/reproxy/package.nix index 18485d9910991..cae8a22373e81 100644 --- a/pkgs/by-name/re/reproxy/package.nix +++ b/pkgs/by-name/re/reproxy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "reproxy"; @@ -14,7 +18,9 @@ buildGoModule rec { vendorHash = null; ldflags = [ - "-s" "-w" "-X main.revision=${version}" + "-s" + "-w" + "-X main.revision=${version}" ]; checkFlags = [ diff --git a/pkgs/by-name/re/repseek/package.nix b/pkgs/by-name/re/repseek/package.nix index 9b38171b34ef2..90c306f66a889 100644 --- a/pkgs/by-name/re/repseek/package.nix +++ b/pkgs/by-name/re/repseek/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "repseek"; @@ -8,14 +12,16 @@ stdenv.mkDerivation rec { sha256 = "1jiknji3ivrv7zmrfbf2mccfpdwhin3lfxfsciaqwf69b3sda8nf"; }; - preConfigure = '' - mkdir -p $out/bin - substituteInPlace Makefile \ - --replace "INSTALLDIR = \$\$HOME/bin" "INSTALLDIR = $out/bin/" \ - --replace "CC= gcc" "CC = $CC" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace Makefile --replace "MACHINE = MACOSX" "MACHINE = LINUX" - ''; + preConfigure = + '' + mkdir -p $out/bin + substituteInPlace Makefile \ + --replace "INSTALLDIR = \$\$HOME/bin" "INSTALLDIR = $out/bin/" \ + --replace "CC= gcc" "CC = $CC" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace Makefile --replace "MACHINE = MACOSX" "MACHINE = LINUX" + ''; meta = { description = "Tool to retrieve approximate repeats from large DNA sequences"; diff --git a/pkgs/by-name/re/reptyr/package.nix b/pkgs/by-name/re/reptyr/package.nix index 5a9e58c3f6f97..88b1b6f2e2833 100644 --- a/pkgs/by-name/re/reptyr/package.nix +++ b/pkgs/by-name/re/reptyr/package.nix @@ -1,8 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, python3 }: +{ + stdenv, + lib, + fetchFromGitHub, + python3, +}: let python = python3.withPackages (p: [ p.pexpect ]); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "0.10.0"; pname = "reptyr"; @@ -13,7 +19,10 @@ in stdenv.mkDerivation rec { sha256 = "sha256-jlO/ykrwGJkgKiPxfRQEX4TSksrbPQhkQs+QddwqaQ4="; }; - makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ]; + makeFlags = [ + "PREFIX=" + "DESTDIR=$(out)" + ]; nativeCheckInputs = [ python ]; @@ -37,7 +46,7 @@ in stdenv.mkDerivation rec { "aarch64-linux" "riscv64-linux" ]; - maintainers = with lib.maintainers; [raskin]; + maintainers = with lib.maintainers; [ raskin ]; license = lib.licenses.mit; description = "Reparent a running program to a new terminal"; mainProgram = "reptyr"; diff --git a/pkgs/by-name/re/requestly/package.nix b/pkgs/by-name/re/requestly/package.nix index 6f5dec9975594..8f033c4f4ed36 100644 --- a/pkgs/by-name/re/requestly/package.nix +++ b/pkgs/by-name/re/requestly/package.nix @@ -1,6 +1,7 @@ -{ lib -, appimageTools -, fetchurl +{ + lib, + appimageTools, + fetchurl, }: let diff --git a/pkgs/by-name/re/reredirect/package.nix b/pkgs/by-name/re/reredirect/package.nix index 479c8ac28e543..afe82bddc0a2f 100644 --- a/pkgs/by-name/re/reredirect/package.nix +++ b/pkgs/by-name/re/reredirect/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "reredirect"; @@ -23,7 +27,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/jerome-pouiller/reredirect"; license = licenses.mit; maintainers = [ maintainers.tobim ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } - diff --git a/pkgs/by-name/re/resgate/package.nix b/pkgs/by-name/re/resgate/package.nix index 7f74898234258..160c7b42d8c62 100644 --- a/pkgs/by-name/re/resgate/package.nix +++ b/pkgs/by-name/re/resgate/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/re/reshape/package.nix b/pkgs/by-name/re/reshape/package.nix index 256f6515efd6c..1bc023ed1a513 100644 --- a/pkgs/by-name/re/reshape/package.nix +++ b/pkgs/by-name/re/reshape/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, darwin -, postgresqlTestHook -, postgresql -, stdenv +{ + lib, + rustPlatform, + fetchCrate, + darwin, + postgresqlTestHook, + postgresql, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -18,8 +19,9 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-VTJ3FNhVLgxo/VVBhk1yF9UUktLXcbrEkYwoyoWFhXA="; - buildInputs = - lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; nativeCheckInputs = [ postgresqlTestHook diff --git a/pkgs/by-name/re/resilio-sync/package.nix b/pkgs/by-name/re/resilio-sync/package.nix index f9f74a4af5b5f..fc179d5ff27a3 100644 --- a/pkgs/by-name/re/resilio-sync/package.nix +++ b/pkgs/by-name/re/resilio-sync/package.nix @@ -1,25 +1,33 @@ -{ lib, stdenv, fetchurl, autoPatchelfHook, libxcrypt-legacy }: +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + libxcrypt-legacy, +}: stdenv.mkDerivation rec { pname = "resilio-sync"; version = "2.8.1.1390"; - src = { - x86_64-linux = fetchurl { - url = "https://download-cdn.resilio.com/${version}/linux/x64/0/resilio-sync_x64.tar.gz"; - sha256 = "sha256-XrfE2frDxOS32MzO7gpJEsMd0WY+b7TS0h/H94M7Py4="; - }; - - i686-linux = fetchurl { - url = "https://download-cdn.resilio.com/${version}/linux/i386/0/resilio-sync_i386.tar.gz"; - sha256 = "sha256-tWwb9DHLlXeyimzyo/yxVKqlkP3jlAxT2Yzs6h2bIgs="; - }; - - aarch64-linux = fetchurl { - url = "https://download-cdn.resilio.com/${version}/linux/arm64/0/resilio-sync_arm64.tar.gz"; - sha256 = "sha256-b859DqxTfnBMMeiwXlGKTQ+Mpmr2Rpg24l/GNkxSWbA="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + x86_64-linux = fetchurl { + url = "https://download-cdn.resilio.com/${version}/linux/x64/0/resilio-sync_x64.tar.gz"; + sha256 = "sha256-XrfE2frDxOS32MzO7gpJEsMd0WY+b7TS0h/H94M7Py4="; + }; + + i686-linux = fetchurl { + url = "https://download-cdn.resilio.com/${version}/linux/i386/0/resilio-sync_i386.tar.gz"; + sha256 = "sha256-tWwb9DHLlXeyimzyo/yxVKqlkP3jlAxT2Yzs6h2bIgs="; + }; + + aarch64-linux = fetchurl { + url = "https://download-cdn.resilio.com/${version}/linux/arm64/0/resilio-sync_arm64.tar.gz"; + sha256 = "sha256-b859DqxTfnBMMeiwXlGKTQ+Mpmr2Rpg24l/GNkxSWbA="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); dontStrip = true; # Don't strip, otherwise patching the rpaths breaks sourceRoot = "."; @@ -39,11 +47,15 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Automatically sync files via secure, distributed technology"; - homepage = "https://www.resilio.com/"; + homepage = "https://www.resilio.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfreeRedistributable; - platforms = platforms.linux; - maintainers = with maintainers; [ domenkozar thoughtpolice cwoac ]; + license = licenses.unfreeRedistributable; + platforms = platforms.linux; + maintainers = with maintainers; [ + domenkozar + thoughtpolice + cwoac + ]; mainProgram = "rslsync"; }; } diff --git a/pkgs/by-name/re/resolv_wrapper/package.nix b/pkgs/by-name/re/resolv_wrapper/package.nix index bb58fbaad3702..197978a47b7c8 100644 --- a/pkgs/by-name/re/resolv_wrapper/package.nix +++ b/pkgs/by-name/re/resolv_wrapper/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "resolv_wrapper"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-+8MPd9o+EuzU72bM9at34LdEkwzNiQYkBAgvkoqOwuA="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "Wrapper for the user, group and hosts NSS API"; diff --git a/pkgs/by-name/re/resolve-march-native/package.nix b/pkgs/by-name/re/resolve-march-native/package.nix index 312d0d11c50cb..d8fe8f4128833 100644 --- a/pkgs/by-name/re/resolve-march-native/package.nix +++ b/pkgs/by-name/re/resolve-march-native/package.nix @@ -1,7 +1,8 @@ -{ python3Packages -, fetchFromGitHub -, gcc -, lib +{ + python3Packages, + fetchFromGitHub, + gcc, + lib, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/re/resonance/package.nix b/pkgs/by-name/re/resonance/package.nix index fe7be58060a31..4e642c2d736c1 100644 --- a/pkgs/by-name/re/resonance/package.nix +++ b/pkgs/by-name/re/resonance/package.nix @@ -1,25 +1,26 @@ -{ lib -, cargo -, dbus -, desktop-file-utils -, fetchFromGitHub -, glib -, gst_all_1 -, gtk4 -, libadwaita -, libxml2 -, meson -, ninja -, nix-update-script -, openssl -, pkg-config -, python3 -, python3Packages -, rustPlatform -, rustc -, sqlite -, stdenv -, wrapGAppsHook4 +{ + lib, + cargo, + dbus, + desktop-file-utils, + fetchFromGitHub, + glib, + gst_all_1, + gtk4, + libadwaita, + libxml2, + meson, + ninja, + nix-update-script, + openssl, + pkg-config, + python3, + python3Packages, + rustPlatform, + rustc, + sqlite, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { pname = "resonance"; @@ -49,25 +50,36 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook4 ]; - buildInputs = [ - dbus - glib - gtk4 - libadwaita - libxml2 - openssl - sqlite - ] ++ (with gst_all_1; [ - gst-libav - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gstreamer - ]); + buildInputs = + [ + dbus + glib + gtk4 + libadwaita + libxml2 + openssl + sqlite + ] + ++ (with gst_all_1; [ + gst-libav + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + ]); preFixup = '' - gappsWrapperArgs+=(--prefix PYTHONPATH : ${python3.pkgs.makePythonPath (with python3Packages; [ tqdm mutagen loguru ])}) + gappsWrapperArgs+=(--prefix PYTHONPATH : ${ + python3.pkgs.makePythonPath ( + with python3Packages; + [ + tqdm + mutagen + loguru + ] + ) + }) ''; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/re/responder/package.nix b/pkgs/by-name/re/responder/package.nix index 9c6b343eb5c1a..de309f97c40ff 100644 --- a/pkgs/by-name/re/responder/package.nix +++ b/pkgs/by-name/re/responder/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, python3 +{ + lib, + fetchFromGitHub, + makeWrapper, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/re/restic-integrity/package.nix b/pkgs/by-name/re/restic-integrity/package.nix index 41bb1c318ff54..a46510bb4dece 100644 --- a/pkgs/by-name/re/restic-integrity/package.nix +++ b/pkgs/by-name/re/restic-integrity/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitea +{ + lib, + rustPlatform, + fetchFromGitea, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/re/restinio/package.nix b/pkgs/by-name/re/restinio/package.nix index d9fc3d97d61d3..3f4a00491f134 100644 --- a/pkgs/by-name/re/restinio/package.nix +++ b/pkgs/by-name/re/restinio/package.nix @@ -34,18 +34,25 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ - expected-lite - fmt - llhttp - openssl - pcre2 - zlib - ] ++ (if with_boost_asio then [ - boost - ] else [ - asio - ]); + propagatedBuildInputs = + [ + expected-lite + fmt + llhttp + openssl + pcre2 + zlib + ] + ++ ( + if with_boost_asio then + [ + boost + ] + else + [ + asio + ] + ); checkInputs = [ catch2_3 diff --git a/pkgs/by-name/re/restish/package.nix b/pkgs/by-name/re/restish/package.nix index a1fd639b72c1c..6fbc233c9c0f8 100644 --- a/pkgs/by-name/re/restish/package.nix +++ b/pkgs/by-name/re/restish/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildGoModule -, darwin -, fetchFromGitHub -, restish -, testers -, xorg +{ + lib, + stdenv, + buildGoModule, + darwin, + fetchFromGitHub, + restish, + testers, + xorg, }: buildGoModule rec { @@ -21,16 +22,18 @@ buildGoModule rec { vendorHash = "sha256-qeArar0WnMACUnKBlC+PcFeJPzofwbK440A4M/rQ04U="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - darwin.apple_sdk.frameworks.Kernel - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXinerama - xorg.libXrandr - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + darwin.apple_sdk.frameworks.Kernel + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXrandr + ]; ldflags = [ "-s" diff --git a/pkgs/by-name/re/restls/package.nix b/pkgs/by-name/re/restls/package.nix index c0164322322c0..80a430d7cada5 100644 --- a/pkgs/by-name/re/restls/package.nix +++ b/pkgs/by-name/re/restls/package.nix @@ -1,9 +1,10 @@ -{ fetchFromGitHub -, rustPlatform -, lib +{ + fetchFromGitHub, + rustPlatform, + lib, }: -rustPlatform.buildRustPackage rec{ +rustPlatform.buildRustPackage rec { pname = "restls"; version = "0.1.1"; diff --git a/pkgs/by-name/re/restool/package.nix b/pkgs/by-name/re/restool/package.nix index 98e4a9c325296..09a18b327a577 100644 --- a/pkgs/by-name/re/restool/package.nix +++ b/pkgs/by-name/re/restool/package.nix @@ -1,4 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, bash, coreutils, dtc, file, gawk, gnugrep, gnused, pandoc, which }: +{ + stdenv, + lib, + fetchFromGitHub, + bash, + coreutils, + dtc, + file, + gawk, + gnugrep, + gnused, + pandoc, + which, +}: stdenv.mkDerivation rec { pname = "restool"; @@ -11,8 +24,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-ryTDyqSy39e8Omf7l8lK4mLWr8jccDhMVPldkVGSQVo="; }; - nativeBuildInputs = [ file pandoc ]; - buildInputs = [ bash coreutils dtc gawk gnugrep gnused which ]; + nativeBuildInputs = [ + file + pandoc + ]; + buildInputs = [ + bash + coreutils + dtc + gawk + gnugrep + gnused + which + ]; enableParallelBuilding = true; makeFlags = [ diff --git a/pkgs/by-name/re/restream/package.nix b/pkgs/by-name/re/restream/package.nix index b5e808339f99d..80587208efc2f 100644 --- a/pkgs/by-name/re/restream/package.nix +++ b/pkgs/by-name/re/restream/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, lz4 -, ffmpeg-full -, fetchFromGitHub -, openssh -, netcat +{ + lib, + stdenv, + lz4, + ffmpeg-full, + fetchFromGitHub, + openssh, + netcat, }: stdenv.mkDerivation rec { @@ -30,23 +31,25 @@ stdenv.mkDerivation rec { runHook postInstall ''; - postInstall = let - deps = [ - # `ffmpeg-full` is used here to bring in `ffplay`, which is used - # to display the reMarkable framebuffer - ffmpeg-full - lz4 - openssh - # Libressl netcat brings in `nc` which used for --uncompressed mode. - netcat - ]; - in '' - # This `sed` command has the same effect as `wrapProgram`, except - # without .restream-wrapped store paths appearing everywhere. - sed -i \ - '2i export PATH=$PATH''${PATH:+':'}${lib.makeBinPath deps}' \ - "$out/bin/restream" - ''; + postInstall = + let + deps = [ + # `ffmpeg-full` is used here to bring in `ffplay`, which is used + # to display the reMarkable framebuffer + ffmpeg-full + lz4 + openssh + # Libressl netcat brings in `nc` which used for --uncompressed mode. + netcat + ]; + in + '' + # This `sed` command has the same effect as `wrapProgram`, except + # without .restream-wrapped store paths appearing everywhere. + sed -i \ + '2i export PATH=$PATH''${PATH:+':'}${lib.makeBinPath deps}' \ + "$out/bin/restream" + ''; meta = with lib; { description = "reMarkable screen sharing over SSH"; diff --git a/pkgs/by-name/re/resumed/package.nix b/pkgs/by-name/re/resumed/package.nix index 81550925368e2..78d8836a55923 100644 --- a/pkgs/by-name/re/resumed/package.nix +++ b/pkgs/by-name/re/resumed/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: buildNpmPackage rec { pname = "resumed"; diff --git a/pkgs/by-name/re/resvg/package.nix b/pkgs/by-name/re/resvg/package.nix index ab505c4e38630..97b3817ef7c55 100644 --- a/pkgs/by-name/re/resvg/package.nix +++ b/pkgs/by-name/re/resvg/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "resvg"; diff --git a/pkgs/by-name/re/retool/package.nix b/pkgs/by-name/re/retool/package.nix index 15e2c15a5e85c..659784f858393 100644 --- a/pkgs/by-name/re/retool/package.nix +++ b/pkgs/by-name/re/retool/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, python3 -, fetchFromGitHub -, qt6 +{ + lib, + stdenv, + python3, + fetchFromGitHub, + qt6, }: python3.pkgs.buildPythonApplication rec { @@ -26,12 +27,13 @@ python3.pkgs.buildPythonApplication rec { pythonRelaxDeps = true; - buildInputs = [ - qt6.qtbase - ] ++ - lib.optionals (stdenv.hostPlatform.isLinux) [ - qt6.qtwayland - ]; + buildInputs = + [ + qt6.qtbase + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + qt6.qtwayland + ]; propagatedBuildInputs = with python3.pkgs; [ alive-progress diff --git a/pkgs/by-name/re/retro-gtk/package.nix b/pkgs/by-name/re/retro-gtk/package.nix index 0749853082440..29ff180ad15cf 100644 --- a/pkgs/by-name/re/retro-gtk/package.nix +++ b/pkgs/by-name/re/retro-gtk/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, meson -, ninja -, pkg-config -, libepoxy -, glib -, gtk3 -, libpulseaudio -, libsamplerate -, gobject-introspection -, vala -, gtk-doc +{ + lib, + stdenv, + fetchurl, + fetchpatch, + meson, + ninja, + pkg-config, + libepoxy, + glib, + gtk3, + libpulseaudio, + libsamplerate, + gobject-introspection, + vala, + gtk-doc, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/re/retroarch-bare/package.nix b/pkgs/by-name/re/retroarch-bare/package.nix index c34dd7e924690..584724f7490ec 100644 --- a/pkgs/by-name/re/retroarch-bare/package.nix +++ b/pkgs/by-name/re/retroarch-bare/package.nix @@ -67,10 +67,13 @@ stdenv.mkDerivation rec { rev = "v${version}"; }; - nativeBuildInputs = [ - pkg-config - qt5.wrapQtAppsHook - ] ++ lib.optional withWayland wayland ++ lib.optional (runtimeLibs != [ ]) makeBinaryWrapper; + nativeBuildInputs = + [ + pkg-config + qt5.wrapQtAppsHook + ] + ++ lib.optional withWayland wayland + ++ lib.optional (runtimeLibs != [ ]) makeBinaryWrapper; buildInputs = [ diff --git a/pkgs/by-name/re/retrofe/package.nix b/pkgs/by-name/re/retrofe/package.nix index 37e05f744d8bf..adfeed89ed97d 100644 --- a/pkgs/by-name/re/retrofe/package.nix +++ b/pkgs/by-name/re/retrofe/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, cmake, glib, gst_all_1, makeWrapper, pkg-config -, python3, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + glib, + gst_all_1, + makeWrapper, + pkg-config, + python3, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + sqlite, + zlib, + runtimeShell, }: stdenv.mkDerivation { @@ -13,11 +28,29 @@ stdenv.mkDerivation { sha256 = "sha256-uBfECbU2Df/pPpEXXq62S7Ec0YU4lPIsZ8k5UmKD7xQ="; }; - nativeBuildInputs = [ cmake makeWrapper pkg-config python3 ]; + nativeBuildInputs = [ + cmake + makeWrapper + pkg-config + python3 + ]; - buildInputs = [ - glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib - ] ++ (with gst_all_1; [ gst-libav gst-plugins-base gst-plugins-good ]); + buildInputs = + [ + glib + gst_all_1.gstreamer + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + sqlite + zlib + ] + ++ (with gst_all_1; [ + gst-libav + gst-plugins-base + gst-plugins-good + ]); configurePhase = '' cmake RetroFE/Source -BRetroFE/Build -DCMAKE_BUILD_TYPE=Release \ diff --git a/pkgs/by-name/re/retrospy/deps.nix b/pkgs/by-name/re/retrospy/deps.nix index 1c0186bf83e81..f4d0d2becadc5 100644 --- a/pkgs/by-name/re/retrospy/deps.nix +++ b/pkgs/by-name/re/retrospy/deps.nix @@ -1,71 +1,336 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Avalonia"; version = "11.1.3"; hash = "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0="; }) - (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.22045.20230930"; hash = "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.1.3"; hash = "sha256-W17Wvmi8/47cf5gCF3QRcaKLz0ZpXtZYCCkaERkbyXU="; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.1.3"; hash = "sha256-OOKTovi5kckn0x/8dMcq56cvq57UVMLzA9LRXDxm2Vc="; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.1.3"; hash = "sha256-mNFscbtyqLlodzGa3SJ3oVY467JjWwY45LxZiKDAn/w="; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.1.3"; hash = "sha256-PD9ZIeBZJrLaVDjmWBz4GocrdUSNUou11gAERU+xWDo="; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.1.3"; hash = "sha256-nUBhSRE0Bly3dVC14wXwU19vP3g0VbE4bCUohx7DCVI="; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.1.3"; hash = "sha256-byAVGW7XgkyzDj1TnqaCeDU/xTD9z8ACGrSJgwJ+XXs="; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.1.3"; hash = "sha256-1VCFAJPKpLx9KyM5AK/8XbGtxNpGriQEFqidgN9eCtE="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.1.3"; hash = "sha256-CKF+62zCbK1Rd/HiC6MGrags3ylXrVQ1lni3Um0Muqk="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.1.3"; hash = "sha256-EtB86g+nz6i8wL6xytMkYl2Ehgt3GFMMNPzQfhbfopM="; }) - (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.1.3"; hash = "sha256-qfmRK2gLGSgHx4dNIeVesWxLUjcook9ET2xru/Xyiw8="; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.1.3"; hash = "sha256-Q6jL5J/6aBtOY85I641RVp8RpuqJbPy6C6LxnRkFtMM="; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.1.3"; hash = "sha256-zcxTpEnpLf50p8Yaiylk5/CS9MNDe7lK1uX1CPaJBUc="; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.1.3"; hash = "sha256-M2+y661/znDxZRdwNRIQi4mS2m6T4kQkBbYeE7KyQAw="; }) - (fetchNuGet { pname = "ColorTextBlock.Avalonia"; version = "11.0.2"; hash = "sha256-FmaYhszWp/VCIp4BUnWXGMQr62WzVNUo/IKEbN59bX8="; }) - (fetchNuGet { pname = "Desktop.Robot"; version = "1.5.0"; hash = "sha256-ITeVX2oAcST/HMbG4Ygg+inPuciXZaBVJ5Ozk/Zl6Pg="; }) - (fetchNuGet { pname = "DialogHost.Avalonia"; version = "0.7.7"; hash = "sha256-pXRv4P4i/zxZ1Ucq3kaGs9HKNG+4CNB4n33YswbjEio="; }) - (fetchNuGet { pname = "DynamicData"; version = "7.9.5"; hash = "sha256-3XjOMuFathku9oWyss360+Ze5UMP7tSmUbMoax7qONU="; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0.2"; hash = "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0.2"; hash = "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0.2"; hash = "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0.2"; hash = "sha256-aEZr9uKAlCTeeHoYNR1Rs6L3P54765CemyrgJF8x09c="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0.2"; hash = "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="; }) - (fetchNuGet { pname = "LibUsbDotNet"; version = "3.0.102-alpha"; hash = "sha256-oJGtzJvnKM53fcZLnvQZKvBOwjAiH/T7o+b8IhUyHxY="; }) - (fetchNuGet { pname = "Markdown.Avalonia.Tight"; version = "11.0.2"; hash = "sha256-9P3/ZCF1psp8VoZMzJJlnoqz2y2EytmBGDc4QXIS4tc="; }) - (fetchNuGet { pname = "MessageBox.Avalonia"; version = "3.1.6"; hash = "sha256-Jg7Ul2JkLq9eUvd42vD8B7itsZYtxHhm4XRQWHkhLN0="; }) - (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "NodaTime"; version = "3.1.11"; hash = "sha256-ZvJlCEjq61KS3qr4Lw/C+yyagic4rESZ7qa0RGul/sU="; }) - (fetchNuGet { pname = "ReactiveUI"; version = "18.3.1"; hash = "sha256-1rf4icGRKTR3XIWJpkQJCG7ObRM+72ITB5K+ND1is9M="; }) - (fetchNuGet { pname = "runtime.linux-arm.runtime.native.System.IO.Ports"; version = "8.0.0"; hash = "sha256-m5+od7ZhlzImwSE9E7Qq1nH3A3muXwCnsvrVUoJ7+WE="; }) - (fetchNuGet { pname = "runtime.linux-arm64.runtime.native.System.IO.Ports"; version = "8.0.0"; hash = "sha256-IgbG3HT3A0VItWl5asE7Hk0zaQjQneKQS9f65cQAjLI="; }) - (fetchNuGet { pname = "runtime.linux-x64.runtime.native.System.IO.Ports"; version = "8.0.0"; hash = "sha256-44oujSHhc0Nl2WCvLYkScrAyqNAlbGfOnlzPwCofwlA="; }) - (fetchNuGet { pname = "runtime.native.System.IO.Ports"; version = "8.0.0"; hash = "sha256-BqExVU/zHj7o++mzOpY9y+i9yZZVbcGmO/D4mRzigY8="; }) - (fetchNuGet { pname = "runtime.osx-arm64.runtime.native.System.IO.Ports"; version = "8.0.0"; hash = "sha256-oFMF60yyTy3fXwLlXJkNUtzdRz4EyxevAUIcfcVESCE="; }) - (fetchNuGet { pname = "runtime.osx-x64.runtime.native.System.IO.Ports"; version = "8.0.0"; hash = "sha256-b2J9DcunMtChpuyNC0XN39Z01Wr738HI/syJW1n9bfE="; }) - (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.1.2-beta"; hash = "sha256-wM8plHp9m+pnKPK0vu9BRburPMIL2lwxdRkQFEhjbDk="; }) - (fetchNuGet { pname = "SharpGen.Runtime.COM"; version = "2.1.2-beta"; hash = "sha256-VGmWpeLV4v8gfqtJKKU43rUad9CDgdIO+lmUUa65XJE="; }) - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.5"; hash = "sha256-3UehX9T+I81nfgv2dTHlpoPgYzXFk7kHr1mmlQOCBfw="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.8"; hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.8"; hash = "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.8"; hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.8"; hash = "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.8"; hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="; }) - (fetchNuGet { pname = "Splat"; version = "14.4.1"; hash = "sha256-i1yzIVpKdFjZMI4J8H970nZCxszklgDitYTEKKz0zA8="; }) - (fetchNuGet { pname = "SSH.NET"; version = "2024.1.0"; hash = "sha256-R1KYZTq0XGO2gIiCeGzgw36ByQRxb+2Oip/NvDeZqzs="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "8.0.0"; hash = "sha256-uwVhi3xcvX7eiOGQi7dRETk3Qx1EfHsUfchZsEto338="; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "8.0.0"; hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) - (fetchNuGet { pname = "System.IO.Ports"; version = "8.0.0"; hash = "sha256-G8j9c0erBzZfJAVlW08XoE58gPhiNWJE78sFaBV2e4Q="; }) - (fetchNuGet { pname = "System.Management"; version = "8.0.0"; hash = "sha256-HwpfDb++q7/vxR6q57mGFgl5U0vxy+oRJ6orFKORfP0="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.Reactive"; version = "6.0.0"; hash = "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y="; }) - (fetchNuGet { pname = "System.Reactive"; version = "6.0.1"; hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.16.0"; hash = "sha256-vKYEaa1EszR7alHj48R8G3uYArhI+zh2ZgiBv955E98="; }) - (fetchNuGet { pname = "Vortice.DirectInput"; version = "3.5.0"; hash = "sha256-TxUIn0YXlzWHGyMAOVVC0SiNaM2vFqa0ddFpoWH0fwI="; }) - (fetchNuGet { pname = "Vortice.DirectX"; version = "3.5.0"; hash = "sha256-cHoY2+czSdj3w3qcGeCTN0iU2nY9xbMrfK80RGEoDzk="; }) - (fetchNuGet { pname = "Vortice.Mathematics"; version = "1.7.8"; hash = "sha256-8tHkHDvHMT3iDKDkVIms9tZnspBaw0nbvYyXUsUGv8A="; }) - (fetchNuGet { pname = "Vortice.XInput"; version = "3.5.0"; hash = "sha256-w4VJlkGjEmD/QElDZ3ZJS+GbN/4+yyVeJq1Le7Mdas8="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Avalonia"; + version = "11.1.3"; + hash = "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0="; + }) + (fetchNuGet { + pname = "Avalonia.Angle.Windows.Natives"; + version = "2.1.22045.20230930"; + hash = "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.29"; + hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.1.3"; + hash = "sha256-W17Wvmi8/47cf5gCF3QRcaKLz0ZpXtZYCCkaERkbyXU="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.DataGrid"; + version = "11.1.3"; + hash = "sha256-OOKTovi5kckn0x/8dMcq56cvq57UVMLzA9LRXDxm2Vc="; + }) + (fetchNuGet { + pname = "Avalonia.Desktop"; + version = "11.1.3"; + hash = "sha256-mNFscbtyqLlodzGa3SJ3oVY467JjWwY45LxZiKDAn/w="; + }) + (fetchNuGet { + pname = "Avalonia.Diagnostics"; + version = "11.1.3"; + hash = "sha256-PD9ZIeBZJrLaVDjmWBz4GocrdUSNUou11gAERU+xWDo="; + }) + (fetchNuGet { + pname = "Avalonia.FreeDesktop"; + version = "11.1.3"; + hash = "sha256-nUBhSRE0Bly3dVC14wXwU19vP3g0VbE4bCUohx7DCVI="; + }) + (fetchNuGet { + pname = "Avalonia.Native"; + version = "11.1.3"; + hash = "sha256-byAVGW7XgkyzDj1TnqaCeDU/xTD9z8ACGrSJgwJ+XXs="; + }) + (fetchNuGet { + pname = "Avalonia.ReactiveUI"; + version = "11.1.3"; + hash = "sha256-1VCFAJPKpLx9KyM5AK/8XbGtxNpGriQEFqidgN9eCtE="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.1.3"; + hash = "sha256-CKF+62zCbK1Rd/HiC6MGrags3ylXrVQ1lni3Um0Muqk="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.1.3"; + hash = "sha256-EtB86g+nz6i8wL6xytMkYl2Ehgt3GFMMNPzQfhbfopM="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Fluent"; + version = "11.1.3"; + hash = "sha256-qfmRK2gLGSgHx4dNIeVesWxLUjcook9ET2xru/Xyiw8="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Simple"; + version = "11.1.3"; + hash = "sha256-Q6jL5J/6aBtOY85I641RVp8RpuqJbPy6C6LxnRkFtMM="; + }) + (fetchNuGet { + pname = "Avalonia.Win32"; + version = "11.1.3"; + hash = "sha256-zcxTpEnpLf50p8Yaiylk5/CS9MNDe7lK1uX1CPaJBUc="; + }) + (fetchNuGet { + pname = "Avalonia.X11"; + version = "11.1.3"; + hash = "sha256-M2+y661/znDxZRdwNRIQi4mS2m6T4kQkBbYeE7KyQAw="; + }) + (fetchNuGet { + pname = "ColorTextBlock.Avalonia"; + version = "11.0.2"; + hash = "sha256-FmaYhszWp/VCIp4BUnWXGMQr62WzVNUo/IKEbN59bX8="; + }) + (fetchNuGet { + pname = "Desktop.Robot"; + version = "1.5.0"; + hash = "sha256-ITeVX2oAcST/HMbG4Ygg+inPuciXZaBVJ5Ozk/Zl6Pg="; + }) + (fetchNuGet { + pname = "DialogHost.Avalonia"; + version = "0.7.7"; + hash = "sha256-pXRv4P4i/zxZ1Ucq3kaGs9HKNG+4CNB4n33YswbjEio="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "7.9.5"; + hash = "sha256-3XjOMuFathku9oWyss360+Ze5UMP7tSmUbMoax7qONU="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "7.3.0.2"; + hash = "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "7.3.0.2"; + hash = "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "7.3.0.2"; + hash = "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "7.3.0.2"; + hash = "sha256-aEZr9uKAlCTeeHoYNR1Rs6L3P54765CemyrgJF8x09c="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "7.3.0.2"; + hash = "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="; + }) + (fetchNuGet { + pname = "LibUsbDotNet"; + version = "3.0.102-alpha"; + hash = "sha256-oJGtzJvnKM53fcZLnvQZKvBOwjAiH/T7o+b8IhUyHxY="; + }) + (fetchNuGet { + pname = "Markdown.Avalonia.Tight"; + version = "11.0.2"; + hash = "sha256-9P3/ZCF1psp8VoZMzJJlnoqz2y2EytmBGDc4QXIS4tc="; + }) + (fetchNuGet { + pname = "MessageBox.Avalonia"; + version = "3.1.6"; + hash = "sha256-Jg7Ul2JkLq9eUvd42vD8B7itsZYtxHhm4XRQWHkhLN0="; + }) + (fetchNuGet { + pname = "MicroCom.Runtime"; + version = "0.11.0"; + hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "6.0.0"; + hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "NodaTime"; + version = "3.1.11"; + hash = "sha256-ZvJlCEjq61KS3qr4Lw/C+yyagic4rESZ7qa0RGul/sU="; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "18.3.1"; + hash = "sha256-1rf4icGRKTR3XIWJpkQJCG7ObRM+72ITB5K+ND1is9M="; + }) + (fetchNuGet { + pname = "runtime.linux-arm.runtime.native.System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-m5+od7ZhlzImwSE9E7Qq1nH3A3muXwCnsvrVUoJ7+WE="; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.runtime.native.System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-IgbG3HT3A0VItWl5asE7Hk0zaQjQneKQS9f65cQAjLI="; + }) + (fetchNuGet { + pname = "runtime.linux-x64.runtime.native.System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-44oujSHhc0Nl2WCvLYkScrAyqNAlbGfOnlzPwCofwlA="; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-BqExVU/zHj7o++mzOpY9y+i9yZZVbcGmO/D4mRzigY8="; + }) + (fetchNuGet { + pname = "runtime.osx-arm64.runtime.native.System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-oFMF60yyTy3fXwLlXJkNUtzdRz4EyxevAUIcfcVESCE="; + }) + (fetchNuGet { + pname = "runtime.osx-x64.runtime.native.System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-b2J9DcunMtChpuyNC0XN39Z01Wr738HI/syJW1n9bfE="; + }) + (fetchNuGet { + pname = "SharpGen.Runtime"; + version = "2.1.2-beta"; + hash = "sha256-wM8plHp9m+pnKPK0vu9BRburPMIL2lwxdRkQFEhjbDk="; + }) + (fetchNuGet { + pname = "SharpGen.Runtime.COM"; + version = "2.1.2-beta"; + hash = "sha256-VGmWpeLV4v8gfqtJKKU43rUad9CDgdIO+lmUUa65XJE="; + }) + (fetchNuGet { + pname = "SixLabors.ImageSharp"; + version = "3.1.5"; + hash = "sha256-3UehX9T+I81nfgv2dTHlpoPgYzXFk7kHr1mmlQOCBfw="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.8"; + hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.8"; + hash = "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.8"; + hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.8"; + hash = "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.8"; + hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="; + }) + (fetchNuGet { + pname = "Splat"; + version = "14.4.1"; + hash = "sha256-i1yzIVpKdFjZMI4J8H970nZCxszklgDitYTEKKz0zA8="; + }) + (fetchNuGet { + pname = "SSH.NET"; + version = "2024.1.0"; + hash = "sha256-R1KYZTq0XGO2gIiCeGzgw36ByQRxb+2Oip/NvDeZqzs="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "8.0.0"; + hash = "sha256-uwVhi3xcvX7eiOGQi7dRETk3Qx1EfHsUfchZsEto338="; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "8.0.0"; + hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "6.0.0"; + hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.0"; + hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; + }) + (fetchNuGet { + pname = "System.IO.Ports"; + version = "8.0.0"; + hash = "sha256-G8j9c0erBzZfJAVlW08XoE58gPhiNWJE78sFaBV2e4Q="; + }) + (fetchNuGet { + pname = "System.Management"; + version = "8.0.0"; + hash = "sha256-HwpfDb++q7/vxR6q57mGFgl5U0vxy+oRJ6orFKORfP0="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "6.0.0"; + hash = "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "6.0.1"; + hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.1"; + hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.16.0"; + hash = "sha256-vKYEaa1EszR7alHj48R8G3uYArhI+zh2ZgiBv955E98="; + }) + (fetchNuGet { + pname = "Vortice.DirectInput"; + version = "3.5.0"; + hash = "sha256-TxUIn0YXlzWHGyMAOVVC0SiNaM2vFqa0ddFpoWH0fwI="; + }) + (fetchNuGet { + pname = "Vortice.DirectX"; + version = "3.5.0"; + hash = "sha256-cHoY2+czSdj3w3qcGeCTN0iU2nY9xbMrfK80RGEoDzk="; + }) + (fetchNuGet { + pname = "Vortice.Mathematics"; + version = "1.7.8"; + hash = "sha256-8tHkHDvHMT3iDKDkVIms9tZnspBaw0nbvYyXUsUGv8A="; + }) + (fetchNuGet { + pname = "Vortice.XInput"; + version = "3.5.0"; + hash = "sha256-w4VJlkGjEmD/QElDZ3ZJS+GbN/4+yyVeJq1Le7Mdas8="; + }) ] diff --git a/pkgs/by-name/re/retrospy/package.nix b/pkgs/by-name/re/retrospy/package.nix index a207150e1e472..06348fbf92ede 100644 --- a/pkgs/by-name/re/retrospy/package.nix +++ b/pkgs/by-name/re/retrospy/package.nix @@ -1,10 +1,11 @@ -{ buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages -, copyDesktopItems -, makeDesktopItem -, lib -, runCommandLocal +{ + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + copyDesktopItems, + makeDesktopItem, + lib, + runCommandLocal, }: let version = "6.6"; @@ -25,7 +26,9 @@ let retrospy-icons = runCommandLocal "retrospy-icons" { } '' mkdir -p $out/share/retrospy - ${builtins.concatStringsSep "\n" (map (e: "cp ${src}/${e}.ico $out/share/retrospy/${e}.ico") executables)} + ${builtins.concatStringsSep "\n" ( + map (e: "cp ${src}/${e}.ico $out/share/retrospy/${e}.ico") executables + )} ''; in buildDotnetModule { @@ -54,16 +57,17 @@ buildDotnetModule { passthru.updateScript = ./update.sh; - desktopItems = map - (e: (makeDesktopItem { + desktopItems = map ( + e: + (makeDesktopItem { name = e; exec = e; icon = "${retrospy-icons}/share/retrospy/${e}.ico"; desktopName = "${e}"; categories = [ "Utility" ]; startupWMClass = e; - })) - executables; + }) + ) executables; meta = { description = "Live controller viewer for Nintendo consoles as well as many other retro consoles and computers"; @@ -74,4 +78,3 @@ buildDotnetModule { platforms = lib.platforms.linux; }; } - diff --git a/pkgs/by-name/re/retry/package.nix b/pkgs/by-name/re/retry/package.nix index 998ba8cb72868..2adc778d53db4 100644 --- a/pkgs/by-name/re/retry/package.nix +++ b/pkgs/by-name/re/retry/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, txt2man -, which +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + txt2man, + which, }: stdenv.mkDerivation rec { @@ -17,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-5H2MnnThi4rT/o3oTkGDKXStQwob4G9mMsZewItPub4="; }; - nativeBuildInputs = [ autoreconfHook txt2man which ]; + nativeBuildInputs = [ + autoreconfHook + txt2man + which + ]; meta = with lib; { homepage = "https://github.com/minfrin/retry"; @@ -28,4 +33,3 @@ stdenv.mkDerivation rec { mainProgram = "retry"; }; } - diff --git a/pkgs/by-name/re/revanced-cli/package.nix b/pkgs/by-name/re/revanced-cli/package.nix index dd85f8e83cc2b..00e725434f6da 100644 --- a/pkgs/by-name/re/revanced-cli/package.nix +++ b/pkgs/by-name/re/revanced-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "revanced-cli"; diff --git a/pkgs/by-name/re/reveal-md/package.nix b/pkgs/by-name/re/reveal-md/package.nix index 5f38af559d9f9..1489e1fe9b707 100644 --- a/pkgs/by-name/re/reveal-md/package.nix +++ b/pkgs/by-name/re/reveal-md/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/re/reversal-icon-theme/package.nix b/pkgs/by-name/re/reversal-icon-theme/package.nix index a9e4dcba89b90..c56104e4c2889 100644 --- a/pkgs/by-name/re/reversal-icon-theme/package.nix +++ b/pkgs/by-name/re/reversal-icon-theme/package.nix @@ -1,77 +1,92 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, jdupes -, adwaita-icon-theme -, hicolor-icon-theme -, numix-icon-theme-circle -, gitUpdater -, allColorVariants ? false -, colorVariants ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + jdupes, + adwaita-icon-theme, + hicolor-icon-theme, + numix-icon-theme-circle, + gitUpdater, + allColorVariants ? false, + colorVariants ? [ ], }: let pname = "reversal-icon-theme"; in -lib.checkListOfEnum "${pname}: color variants" [ "-blue" "-red" "-pink" "-purple" "-green" "-orange" "-brown" "-grey" "-black" "-cyan" ] colorVariants - -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "unstable-2023-05-13"; - - src = fetchFromGitHub { - owner = "yeyushengfan258"; - repo = pname; - rev = "bdae2ea365731b25a869fc2c8c6a1fb849eaf5b2"; - hash = "sha256-Cd+1ggyS+Y2Sk8w5zifc4IFOwbFrbjL6S6awES/W0EE="; - }; - - nativeBuildInputs = [ - gtk3 - jdupes - ]; - - propagatedBuildInputs = [ - adwaita-icon-theme - hicolor-icon-theme - numix-icon-theme-circle - ]; - - dontDropIconThemeCache = true; - - # These fixup steps are slow and unnecessary for this package. - # Package may install many small files. - dontPatchELF = true; - dontRewriteSymlinks = true; - - postPatch = '' - patchShebangs install.sh - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/icons - - name= ./install.sh \ - ${if allColorVariants then "-a" else builtins.toString colorVariants} \ - -d $out/share/icons - - rm $out/share/icons/*/{AUTHORS,COPYING} - - jdupes --quiet --link-soft --recurse $out/share - - runHook postInstall - ''; - - passthru.updateScript = gitUpdater { }; - - meta = with lib; { - description = "Colorful Design Rectangle icon theme"; - homepage = "https://github.com/yeyushengfan258/Reversal-icon-theme"; - license = licenses.gpl3Plus; - platforms = platforms.all; - maintainers = with maintainers; [ romildo ]; - }; -} +lib.checkListOfEnum "${pname}: color variants" + [ + "-blue" + "-red" + "-pink" + "-purple" + "-green" + "-orange" + "-brown" + "-grey" + "-black" + "-cyan" + ] + colorVariants + + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "unstable-2023-05-13"; + + src = fetchFromGitHub { + owner = "yeyushengfan258"; + repo = pname; + rev = "bdae2ea365731b25a869fc2c8c6a1fb849eaf5b2"; + hash = "sha256-Cd+1ggyS+Y2Sk8w5zifc4IFOwbFrbjL6S6awES/W0EE="; + }; + + nativeBuildInputs = [ + gtk3 + jdupes + ]; + + propagatedBuildInputs = [ + adwaita-icon-theme + hicolor-icon-theme + numix-icon-theme-circle + ]; + + dontDropIconThemeCache = true; + + # These fixup steps are slow and unnecessary for this package. + # Package may install many small files. + dontPatchELF = true; + dontRewriteSymlinks = true; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/icons + + name= ./install.sh \ + ${if allColorVariants then "-a" else builtins.toString colorVariants} \ + -d $out/share/icons + + rm $out/share/icons/*/{AUTHORS,COPYING} + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + description = "Colorful Design Rectangle icon theme"; + homepage = "https://github.com/yeyushengfan258/Reversal-icon-theme"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ romildo ]; + }; + } diff --git a/pkgs/by-name/re/reviewdog/package.nix b/pkgs/by-name/re/reviewdog/package.nix index 5bd179d231c00..099ee1949cb1c 100644 --- a/pkgs/by-name/re/reviewdog/package.nix +++ b/pkgs/by-name/re/reviewdog/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "reviewdog"; @@ -17,7 +21,11 @@ buildGoModule rec { subPackages = [ "cmd/reviewdog" ]; - ldflags = [ "-s" "-w" "-X github.com/reviewdog/reviewdog/commands.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/reviewdog/reviewdog/commands.Version=${version}" + ]; meta = with lib; { description = "Automated code review tool integrated with any code analysis tools regardless of programming language"; diff --git a/pkgs/by-name/re/revolt-desktop/package.nix b/pkgs/by-name/re/revolt-desktop/package.nix index c996610308bf4..ecac7b49bba5b 100644 --- a/pkgs/by-name/re/revolt-desktop/package.nix +++ b/pkgs/by-name/re/revolt-desktop/package.nix @@ -1,10 +1,11 @@ -{ stdenvNoCC -, lib -, fetchurl -, fetchzip -, appimageTools -, makeWrapper -, electron +{ + stdenvNoCC, + lib, + fetchurl, + fetchzip, + appimageTools, + makeWrapper, + electron, }: (stdenvNoCC.mkDerivation { pname = "revolt-desktop"; diff --git a/pkgs/by-name/re/rewritefs/package.nix b/pkgs/by-name/re/rewritefs/package.nix index fc3915c66a609..03638fb5cf57c 100644 --- a/pkgs/by-name/re/rewritefs/package.nix +++ b/pkgs/by-name/re/rewritefs/package.nix @@ -1,18 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, fuse3, pcre }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + fuse3, + pcre, +}: stdenv.mkDerivation { pname = "rewritefs"; version = "unstable-2021-10-03"; src = fetchFromGitHub { - owner = "sloonz"; - repo = "rewritefs"; - rev = "3a56de8b5a2d44968b8bc3885c7d661d46367306"; + owner = "sloonz"; + repo = "rewritefs"; + rev = "3a56de8b5a2d44968b8bc3885c7d661d46367306"; sha256 = "1w2rik0lhqm3wr68x51zs45gqfx79l7fi4p0sqznlfq7sz5s8xxn"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse3 pcre ]; + buildInputs = [ + fuse3 + pcre + ]; prePatch = '' # do not set sticky bit in nix store @@ -23,9 +33,9 @@ stdenv.mkDerivation { meta = with lib; { description = "A FUSE filesystem intended to be used like Apache mod_rewrite"; - homepage = "https://github.com/sloonz/rewritefs"; - license = licenses.gpl2Only; + homepage = "https://github.com/sloonz/rewritefs"; + license = licenses.gpl2Only; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/re/rewrk/package.nix b/pkgs/by-name/re/rewrk/package.nix index c4f4755f4b5be..5e87c9104bea8 100644 --- a/pkgs/by-name/re/rewrk/package.nix +++ b/pkgs/by-name/re/rewrk/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/re/rex/package.nix b/pkgs/by-name/re/rex/package.nix index 0af9628f41a9a..881a30c23f1b4 100644 --- a/pkgs/by-name/re/rex/package.nix +++ b/pkgs/by-name/re/rex/package.nix @@ -1,4 +1,14 @@ -{ pkgs, lib, fetchurl, fetchpatch, perlPackages, rsync, which, installShellFiles, ... }: +{ + pkgs, + lib, + fetchurl, + fetchpatch, + perlPackages, + rsync, + which, + installShellFiles, + ... +}: perlPackages.buildPerlPackage rec { pname = "Rex"; version = "1.14.3"; @@ -47,7 +57,10 @@ perlPackages.buildPerlPackage rec { }) ]; - nativeBuildInputs = with perlPackages; [ installShellFiles ParallelForkManager ]; + nativeBuildInputs = with perlPackages; [ + installShellFiles + ParallelForkManager + ]; propagatedBuildInputs = with perlPackages; [ AWSSignature4 diff --git a/pkgs/by-name/rf/rfc-bibtex/package.nix b/pkgs/by-name/rf/rfc-bibtex/package.nix index d9bed69466972..8555ae20d8c2d 100644 --- a/pkgs/by-name/rf/rfc-bibtex/package.nix +++ b/pkgs/by-name/rf/rfc-bibtex/package.nix @@ -1,9 +1,11 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { pname = "rfc-bibtex"; version = "0.3.2"; format = "setuptools"; diff --git a/pkgs/by-name/rf/rfc/package.nix b/pkgs/by-name/rf/rfc/package.nix index 136e4567c18d7..815dbc08d4d37 100644 --- a/pkgs/by-name/rf/rfc/package.nix +++ b/pkgs/by-name/rf/rfc/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, curl -, installShellFiles -, makeWrapper +{ + lib, + stdenvNoCC, + fetchFromGitHub, + curl, + installShellFiles, + makeWrapper, }: stdenvNoCC.mkDerivation rec { @@ -17,7 +18,10 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-bCqgLkbZGQFcxhLwekVw+rUGinXTc7QJHlVRGtNf6Jc="; }; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/by-name/rg/rgbds/package.nix b/pkgs/by-name/rg/rgbds/package.nix index 3b37e19fa2fb1..6b0aec7123ef6 100644 --- a/pkgs/by-name/rg/rgbds/package.nix +++ b/pkgs/by-name/rg/rgbds/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, bison, flex, pkg-config, libpng}: +{ + lib, + stdenv, + fetchFromGitHub, + bison, + flex, + pkg-config, + libpng, +}: stdenv.mkDerivation rec { pname = "rgbds"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { rev = "v${version}"; hash = "sha256-rSPYnbZjCoAKJBNCJCKsLBenolOzS78Zm850BJ8mKhA="; }; - nativeBuildInputs = [ bison flex pkg-config ]; + nativeBuildInputs = [ + bison + flex + pkg-config + ]; buildInputs = [ libpng ]; postPatch = '' patchShebangs --host src/bison.sh @@ -30,7 +42,10 @@ stdenv.mkDerivation rec { This is a fork of the original RGBDS which aims to make the programs more like other UNIX tools. ''; - maintainers = with maintainers; [ matthewbauer NieDzejkob ]; + maintainers = with maintainers; [ + matthewbauer + NieDzejkob + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/rg/rgxg/package.nix b/pkgs/by-name/rg/rgxg/package.nix index 4cc1722392ecf..eac1b2d99c529 100644 --- a/pkgs/by-name/rg/rgxg/package.nix +++ b/pkgs/by-name/rg/rgxg/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "rgxg"; diff --git a/pkgs/by-name/rh/rhack/package.nix b/pkgs/by-name/rh/rhack/package.nix index 5be698ca6eb81..ce2b518dc9046 100644 --- a/pkgs/by-name/rh/rhack/package.nix +++ b/pkgs/by-name/rh/rhack/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "rhack"; diff --git a/pkgs/by-name/rh/rhai-doc/package.nix b/pkgs/by-name/rh/rhai-doc/package.nix index dd07b8df9926c..50d2580a21cef 100644 --- a/pkgs/by-name/rh/rhai-doc/package.nix +++ b/pkgs/by-name/rh/rhai-doc/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Tool to auto-generate documentation for Rhai source code"; homepage = "https://github.com/rhaiscript/rhai-doc"; changelog = "https://github.com/rhaiscript/rhai-doc/releases/tag/${src.rev}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "rhai-doc"; }; diff --git a/pkgs/by-name/rh/rhash/package.nix b/pkgs/by-name/rh/rhash/package.nix index cdad16bb4b43c..9daddbfce993e 100644 --- a/pkgs/by-name/rh/rhash/package.nix +++ b/pkgs/by-name/rh/rhash/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, which -, enableStatic ? stdenv.hostPlatform.isStatic -, gettext +{ + lib, + stdenv, + fetchFromGitHub, + which, + enableStatic ? stdenv.hostPlatform.isStatic, + gettext, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-3CW41ULdXoID4cOgrcG2j85tgIJ/sz5hU7A83qpuxf4="; }; - patches = [ ./dont-fail-ln.patch ./do-link-so.patch ]; + patches = [ + ./dont-fail-ln.patch + ./do-link-so.patch + ]; nativeBuildInputs = [ which ]; buildInputs = lib.optionals stdenv.hostPlatform.isFreeBSD [ gettext ]; @@ -38,12 +42,14 @@ stdenv.mkDerivation rec { checkTarget = "test-full"; - installTargets = [ - "install" - "install-lib-headers" - ] ++ lib.optionals (!enableStatic) [ - "install-lib-so-link" - ]; + installTargets = + [ + "install" + "install-lib-headers" + ] + ++ lib.optionals (!enableStatic) [ + "install-lib-so-link" + ]; meta = with lib; { homepage = "https://rhash.sourceforge.net/"; diff --git a/pkgs/by-name/rh/rhoas/package.nix b/pkgs/by-name/rh/rhoas/package.nix index aedfd490a661b..304f15e412f14 100644 --- a/pkgs/by-name/rh/rhoas/package.nix +++ b/pkgs/by-name/rh/rhoas/package.nix @@ -1,4 +1,12 @@ -{ lib, buildGoModule, fetchFromGitHub, stdenv, installShellFiles, testers, rhoas }: +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + installShellFiles, + testers, + rhoas, +}: buildGoModule rec { pname = "rhoas"; @@ -19,7 +27,7 @@ buildGoModule rec { "-X github.com/redhat-developer/app-services-cli/internal/build.Version=${version}" ]; - nativeBuildInputs = [installShellFiles]; + nativeBuildInputs = [ installShellFiles ]; # Networking tests fail. doCheck = false; @@ -41,7 +49,7 @@ buildGoModule rec { license = licenses.asl20; homepage = "https://github.com/redhat-developer/app-services-cli"; changelog = "https://github.com/redhat-developer/app-services-cli/releases/v${version}"; - maintainers = with maintainers; [stehessel]; + maintainers = with maintainers; [ stehessel ]; mainProgram = "rhoas"; }; } diff --git a/pkgs/by-name/rh/rhodium-libre/package.nix b/pkgs/by-name/rh/rhodium-libre/package.nix index 114061db1b239..d39f806ee24de 100644 --- a/pkgs/by-name/rh/rhodium-libre/package.nix +++ b/pkgs/by-name/rh/rhodium-libre/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "RhodiumLibre"; diff --git a/pkgs/by-name/rh/rhvoice/package.nix b/pkgs/by-name/rh/rhvoice/package.nix index d7676ca22df0c..cb0d6d020b6ac 100644 --- a/pkgs/by-name/rh/rhvoice/package.nix +++ b/pkgs/by-name/rh/rhvoice/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, ensureNewerSourcesForZipFilesHook -, pkg-config -, scons -, glibmm -, libpulseaudio -, libao -, speechd-minimal +{ + lib, + stdenv, + fetchFromGitHub, + ensureNewerSourcesForZipFilesHook, + pkg-config, + scons, + glibmm, + libpulseaudio, + libao, + speechd-minimal, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/rh/rhythmbox/package.nix b/pkgs/by-name/rh/rhythmbox/package.nix index 0095ffd154447..2490bc1599ee2 100644 --- a/pkgs/by-name/rh/rhythmbox/package.nix +++ b/pkgs/by-name/rh/rhythmbox/package.nix @@ -1,36 +1,40 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, python3 -, vala -, glib -, gtk3 -, libpeas -, libsoup_3 -, libxml2 -, libsecret -, libnotify -, libdmapsharing -, gnome -, gobject-introspection -, totem-pl-parser -, libgudev -, libgpod -, libmtp -, lirc -, brasero-unwrapped # libdvdcss is not needed for rhythmbox -, grilo -, tdb -, json-glib -, itstool -, wrapGAppsHook3 -, desktop-file-utils -, gst_all_1 -, gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ] -, check +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + python3, + vala, + glib, + gtk3, + libpeas, + libsoup_3, + libxml2, + libsecret, + libnotify, + libdmapsharing, + gnome, + gobject-introspection, + totem-pl-parser, + libgudev, + libgpod, + libmtp, + lirc, + brasero-unwrapped, # libdvdcss is not needed for rhythmbox + grilo, + tdb, + json-glib, + itstool, + wrapGAppsHook3, + desktop-file-utils, + gst_all_1, + gst_plugins ? with gst_all_1; [ + gst-plugins-good + gst-plugins-ugly + ], + check, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ri/rich-cli/package.nix b/pkgs/by-name/ri/rich-cli/package.nix index 8399cbb8d32b2..6b5d19757189b 100644 --- a/pkgs/by-name/ri/rich-cli/package.nix +++ b/pkgs/by-name/ri/rich-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ri/richgo/package.nix b/pkgs/by-name/ri/richgo/package.nix index 3435572580acd..04e4a6b689b7d 100644 --- a/pkgs/by-name/ri/richgo/package.nix +++ b/pkgs/by-name/ri/richgo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "richgo"; diff --git a/pkgs/by-name/ri/ricochet-refresh/package.nix b/pkgs/by-name/ri/ricochet-refresh/package.nix index 99ebaff5a1cd9..2817ca6a427a2 100644 --- a/pkgs/by-name/ri/ricochet-refresh/package.nix +++ b/pkgs/by-name/ri/ricochet-refresh/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, qt5 -, openssl -, protobuf -, pkg-config -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + qt5, + openssl, + protobuf, + pkg-config, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -24,16 +25,18 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - buildInputs = (with qt5; [ - qtbase - qttools - qtmultimedia - qtquickcontrols2 - qtwayland - ]) ++ [ - openssl - protobuf - ]; + buildInputs = + (with qt5; [ + qtbase + qttools + qtmultimedia + qtquickcontrols2 + qtwayland + ]) + ++ [ + openssl + protobuf + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ri/ricty/package.nix b/pkgs/by-name/ri/ricty/package.nix index 7c1c6d3587360..edd07a226950e 100644 --- a/pkgs/by-name/ri/ricty/package.nix +++ b/pkgs/by-name/ri/ricty/package.nix @@ -1,12 +1,20 @@ -{ lib, stdenv, fetchurl, google-fonts, migu, fontforge, which }: +{ + lib, + stdenv, + fetchurl, + google-fonts, + migu, + fontforge, + which, +}: stdenv.mkDerivation rec { pname = "ricty"; version = "4.1.1"; src = fetchurl { - url = "https://rictyfonts.github.io/files/ricty_generator-${version}.sh"; - sha256 = "03fngb8f5hl7ifigdm5yljhs4z2x80cq8y8kna86d07ghknhzgw6"; + url = "https://rictyfonts.github.io/files/ricty_generator-${version}.sh"; + sha256 = "03fngb8f5hl7ifigdm5yljhs4z2x80cq8y8kna86d07ghknhzgw6"; }; unpackPhase = '' @@ -17,7 +25,12 @@ stdenv.mkDerivation rec { sed -i 's/fonts_directories=".*"/fonts_directories="$inconsolata $migu"/' ricty_generator.sh ''; - buildInputs = [ google-fonts migu fontforge which ]; + buildInputs = [ + google-fonts + migu + fontforge + which + ]; buildPhase = '' inconsolata=${google-fonts} migu=${migu} ./ricty_generator.sh auto @@ -34,4 +47,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.mikoim ]; }; } - diff --git a/pkgs/by-name/ri/rictydiminished-with-firacode/package.nix b/pkgs/by-name/ri/rictydiminished-with-firacode/package.nix index d5ff8b1513b11..73b0558334bc4 100644 --- a/pkgs/by-name/ri/rictydiminished-with-firacode/package.nix +++ b/pkgs/by-name/ri/rictydiminished-with-firacode/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fontforge, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fontforge, + python3, +}: stdenv.mkDerivation rec { pname = "rictydiminished-with-firacode"; @@ -46,4 +52,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ mt-caret ]; }; } - diff --git a/pkgs/by-name/ri/riemann/package.nix b/pkgs/by-name/ri/riemann/package.nix index 0b678a0a0fd70..915f8319dd0f0 100644 --- a/pkgs/by-name/ri/riemann/package.nix +++ b/pkgs/by-name/ri/riemann/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "riemann"; diff --git a/pkgs/by-name/ri/riemann_c_client/package.nix b/pkgs/by-name/ri/riemann_c_client/package.nix index 788e0821fc01f..e4b2898d77edd 100644 --- a/pkgs/by-name/ri/riemann_c_client/package.nix +++ b/pkgs/by-name/ri/riemann_c_client/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchFromGitea, autoreconfHook, check, pkg-config, file, protobufc -,withWolfSSL ? false, wolfssl -,withGnuTLS ? false, gnutls -,withJSON ? true, json_c +{ + lib, + stdenv, + fetchFromGitea, + autoreconfHook, + check, + pkg-config, + file, + protobufc, + withWolfSSL ? false, + wolfssl, + withGnuTLS ? false, + gnutls, + withJSON ? true, + json_c, }: stdenv.mkDerivation rec { @@ -16,19 +27,28 @@ stdenv.mkDerivation rec { hash = "sha256-l9iUDhagODi58FDT9vEb90tsiIcrcMmGYCmH3ML3RCM="; }; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; - nativeBuildInputs = [ autoreconfHook check pkg-config ]; - buildInputs = [ file protobufc ] + nativeBuildInputs = [ + autoreconfHook + check + pkg-config + ]; + buildInputs = + [ + file + protobufc + ] ++ lib.optional withWolfSSL wolfssl ++ lib.optional withGnuTLS gnutls - ++ lib.optional withJSON json_c - ; + ++ lib.optional withJSON json_c; - configureFlags = [] - ++ lib.optional withWolfSSL "--with-tls=wolfssl" - ++ lib.optional withGnuTLS "--with-tls=gnutls" - ; + configureFlags = + [ ] ++ lib.optional withWolfSSL "--with-tls=wolfssl" ++ lib.optional withGnuTLS "--with-tls=gnutls"; doCheck = true; enableParallelBuilding = true; diff --git a/pkgs/by-name/ri/ries/package.nix b/pkgs/by-name/ri/ries/package.nix index 5c0626913e3c9..fe6a93b028260 100644 --- a/pkgs/by-name/ri/ries/package.nix +++ b/pkgs/by-name/ri/ries/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "ries"; version = "2018.04.11-1"; @@ -20,4 +24,3 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; }; } - diff --git a/pkgs/by-name/ri/riff/package.nix b/pkgs/by-name/ri/riff/package.nix index aa85616720ddb..9bec268b41e63 100644 --- a/pkgs/by-name/ri/riff/package.nix +++ b/pkgs/by-name/ri/riff/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeWrapper -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -26,11 +27,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; postInstall = '' wrapProgram $out/bin/riff --set-default RIFF_DISABLE_TELEMETRY true diff --git a/pkgs/by-name/ri/rifiuti/package.nix b/pkgs/by-name/ri/rifiuti/package.nix index d1134e2288212..459ea2da6b081 100644 --- a/pkgs/by-name/ri/rifiuti/package.nix +++ b/pkgs/by-name/ri/rifiuti/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchzip -, fetchurl +{ + lib, + stdenv, + fetchzip, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ri/rig/package.nix b/pkgs/by-name/ri/rig/package.nix index 45304f3e56f4d..f2b5cddca3739 100644 --- a/pkgs/by-name/ri/rig/package.nix +++ b/pkgs/by-name/ri/rig/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl } : +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "1.11"; diff --git a/pkgs/by-name/ri/rigsofrods-bin/package.nix b/pkgs/by-name/ri/rigsofrods-bin/package.nix index 5fc1795056141..45ce5373184c4 100644 --- a/pkgs/by-name/ri/rigsofrods-bin/package.nix +++ b/pkgs/by-name/ri/rigsofrods-bin/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, makeWrapper -, unzip -, libGL -, libICE -, libSM -, libX11 -, libXrandr -, zlib -, alsa-lib +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + makeWrapper, + unzip, + libGL, + libICE, + libSM, + libX11, + libXrandr, + zlib, + alsa-lib, }: stdenv.mkDerivation rec { @@ -63,7 +64,10 @@ stdenv.mkDerivation rec { description = "Free/libre soft-body physics simulator mainly targeted at simulating vehicle physics"; homepage = "https://www.rigsofrods.org"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ raskin wegank ]; + maintainers = with maintainers; [ + raskin + wegank + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/ri/riko4/package.nix b/pkgs/by-name/ri/riko4/package.nix index b3721f7f78f43..047c28aef0ad2 100644 --- a/pkgs/by-name/ri/riko4/package.nix +++ b/pkgs/by-name/ri/riko4/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, SDL2, libGLU, luajit, curl, curlpp }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + libGLU, + luajit, + curl, + curlpp, +}: let # Newer versions of sdl-gpu don't work with Riko4 (corrupted graphics), @@ -13,7 +23,10 @@ let rev = "a4ff1ab02410f154b004c29ec46e07b22890fa1f"; sha256 = "1wdwg331s7r4dhq1l8w4dvlqf4iywskpdrscgbwrz9j0c6nqqi3v"; }; - buildInputs = [ SDL2 libGLU ]; + buildInputs = [ + SDL2 + libGLU + ]; nativeBuildInputs = [ cmake ]; meta = with lib; { @@ -35,7 +48,13 @@ stdenv.mkDerivation rec { sha256 = "008i9991sn616dji96jfwq6gszrspbx4x7cynxb1cjw66phyy5zp"; }; - buildInputs = [ SDL2 luajit sdl-gpu curl curlpp ]; + buildInputs = [ + SDL2 + luajit + sdl-gpu + curl + curlpp + ]; nativeBuildInputs = [ cmake ]; hardeningDisable = [ "fortify" ]; diff --git a/pkgs/by-name/ri/rili/package.nix b/pkgs/by-name/ri/rili/package.nix index 4737be3ffc4c3..73fdac61ca7e2 100644 --- a/pkgs/by-name/ri/rili/package.nix +++ b/pkgs/by-name/ri/rili/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, SDL_mixer, SDL, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + SDL_mixer, + SDL, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "ri_li"; @@ -24,16 +32,19 @@ stdenv.mkDerivation rec { CPPFLAGS = "-I${lib.getDev SDL}/include -I${lib.getDev SDL}/include/SDL -I${SDL_mixer}/include"; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ SDL SDL_mixer ]; + buildInputs = [ + SDL + SDL_mixer + ]; meta = { homepage = "https://ri-li.sourceforge.net"; license = lib.licenses.gpl2Plus; description = "Children's train game"; longDescription = '' - Ri-li is an arcade game licensed under the GPL (General Public License). -You drive a toy wood engine in many levels and you must collect all the coaches -to win. + Ri-li is an arcade game licensed under the GPL (General Public License). + You drive a toy wood engine in many levels and you must collect all the coaches + to win. ''; maintainers = with lib.maintainers; [ jcumming ]; platforms = with lib.platforms; linux; diff --git a/pkgs/by-name/ri/rime-cli/package.nix b/pkgs/by-name/ri/rime-cli/package.nix index 9c89db2125958..40c08fa5e66fb 100644 --- a/pkgs/by-name/ri/rime-cli/package.nix +++ b/pkgs/by-name/ri/rime-cli/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "rime-cli"; diff --git a/pkgs/by-name/ri/rime-data/fetchSchema.nix b/pkgs/by-name/ri/rime-data/fetchSchema.nix index 6ceb44fefe5ca..2ea9d31cac424 100644 --- a/pkgs/by-name/ri/rime-data/fetchSchema.nix +++ b/pkgs/by-name/ri/rime-data/fetchSchema.nix @@ -1,137 +1,180 @@ # Generated using generateFetchSchema.sh -fetchFromGitHub: -'' -mkdir -p package/rime -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-array"; - rev = "b37aad383ff6e71e457aa6d1d47d2040af8649b9"; - sha256 = "0krvxnjr35r49wwi6bcjdnld6zbk791l7vm294wmdy36qfp2924y"; -}} package/rime/array -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-bopomofo"; - rev = "c7618f4f5728e1634417e9d02ea50d82b71956ab"; - sha256 = "0g77nv0jrwqnbqqna0ib0kqcy6l5zl62kh49ny67d6bjwnwz9186"; -}} package/rime/bopomofo -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-cangjie"; - rev = "8dfad9e537f18821b71ba28773315d9c670ae245"; - sha256 = "029kw9nx6x0acg4f0m8wj1ziqffffhy9yyj51nlx17cnia0qcrby"; -}} package/rime/cangjie -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-cantonese"; - rev = "e3c6b17e638ac8a9aeab4d5852e5909b049c5ab3"; - sha256 = "171a64l17yb6isgiih2z0cp2vgzvdcn0vby3rk8556b0ir4j545q"; -}} package/rime/cantonese -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-combo-pinyin"; - rev = "17b66079a23a00d3214639fee2b8ae97d3e620dc"; - sha256 = "1izx29hawfryapfzadysjbb2zfw0yq6vwsw56khkf6gsaz1faamn"; -}} package/rime/combo-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-double-pinyin"; - rev = "69bf85d4dfe8bac139c36abbd68d530b8b6622ea"; - sha256 = "093wif5avvvw45fqbwj5wkbxrychy4pagl4mwsmbrayc8jkp69ak"; -}} package/rime/double-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-emoji"; - rev = "a18b09997e7c457066e4c92adf249a4b3e235f9c"; - sha256 = "0gaa9r3yx1s135jlqxp85iyygcwqgz2k4n1bpvjr2n8xkn9297b6"; -}} package/rime/emoji -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-essay"; - rev = "e0519d0579722a0871efb68189272cba61a7350b"; - sha256 = "1g7188vgklxindvm6p65b5jlm6z47fdmhmp0hqrrd6smg9pz4qpw"; -}} package/rime/essay -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-ipa"; - rev = "22b71710e029bcb412e9197192a638ab11bc2abf"; - sha256 = "0zdk4f9qkfj3q5hmjnairj1lv6f6y27mic12k886n6sxywwbwr2k"; -}} package/rime/ipa -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-jyutping"; - rev = "50100769f645bf92afef5170e3bf42be5147b41b"; - sha256 = "1dmw2ssbqxbs93iab0whjzncsvv66vyw3hwb30kly2v18bwkagq0"; -}} package/rime/jyutping -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-luna-pinyin"; - rev = "79aeae200a7370720be98232844c0715f277e1c0"; - sha256 = "06vff5hq85dkbmqch9d3w2rww2n8sk41c7say0pdlkfphyjs76ps"; -}} package/rime/luna-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-middle-chinese"; - rev = "582e144e525525ac2b6c2498097d7c7919e84174"; - sha256 = "0ixj2f3syc0hv9n5r0cavcq0jrdf1www2frjl11855gwydp4lsx5"; -}} package/rime/middle-chinese -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-pinyin-simp"; - rev = "52b9c75f085479799553f2499c4f4c611d618cdf"; - sha256 = "1zi9yqgijb4r3q5ah89hdwbli5xhlmg19xj8sq1grnpfbw2hbdbj"; -}} package/rime/pinyin-simp -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-prelude"; - rev = "dd84abecc33f0b05469f1d744e32d2b60b3529e3"; - sha256 = "14wn86xqvb6r73pgksi51wgfc70pj95iqrl85m2i0fwl43zg2y5g"; -}} package/rime/prelude -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-quick"; - rev = "3fe5911ba608cb2df1b6301b76ad1573bd482a76"; - sha256 = "08bh87ym5qvw55lyw20l3m7jd4c2z5rvil8h5q8790r7z6j6ijy9"; -}} package/rime/quick -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-scj"; - rev = "cab5a0858765eff0553dd685a2d61d5536e9149c"; - sha256 = "0ard2bjp4896a8dimmcwyjwgmp9kl4rz92yc92jnd3y4rgwl6fvk"; -}} package/rime/scj -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-soutzoe"; - rev = "beeaeca72d8e17dfd1e9af58680439e9012987dc"; - sha256 = "0jyqx0q9s0qxn168l5n8zav8jcl2g5ppr7pa8jm1vwrllf20slcc"; -}} package/rime/soutzoe -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-stenotype"; - rev = "f3e9189d5ce33c55d3936cc58e39d0c88b3f0c88"; - sha256 = "0dl6px7lrh3xa87knjzwzdcwjj1k1dg4l72q7lb48an4s9f1cy5d"; -}} package/rime/stenotype -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-stroke"; - rev = "e6c7608925009636577ff7469eecc870f1de18f3"; - sha256 = "1rzclksf09s9js6z9mjm4ibgybr6kg2c4xq4j6sg9b3pnjbjwv8g"; -}} package/rime/stroke -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-terra-pinyin"; - rev = "9427853de91d645d9aca9ceace8fe9e9d8bc5b50"; - sha256 = "0f1wiqasy41hp3kw3qc5zk6z0rgfrswdw91kc66v1w1a3skb6wpp"; -}} package/rime/terra-pinyin -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-wubi"; - rev = "152a0d3f3efe40cae216d1e3b338242446848d07"; - sha256 = "1p2ikcw40q84fx0ixarm1jfp8ax276pabansybchrj34cqs53sr1"; -}} package/rime/wubi -ln -sv ${fetchFromGitHub { - owner = "rime"; - repo = "rime-wugniu"; - rev = "abd1ee98efbf170258fcf43875c21a4259e00b61"; - sha256 = "0qn54d3cclny106ixdw08r5n6wn52ffs1hgrma3k0j4pv0kr9nlq"; -}} package/rime/wugniu +fetchFromGitHub: '' + mkdir -p package/rime + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-array"; + rev = "b37aad383ff6e71e457aa6d1d47d2040af8649b9"; + sha256 = "0krvxnjr35r49wwi6bcjdnld6zbk791l7vm294wmdy36qfp2924y"; + } + } package/rime/array + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-bopomofo"; + rev = "c7618f4f5728e1634417e9d02ea50d82b71956ab"; + sha256 = "0g77nv0jrwqnbqqna0ib0kqcy6l5zl62kh49ny67d6bjwnwz9186"; + } + } package/rime/bopomofo + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-cangjie"; + rev = "8dfad9e537f18821b71ba28773315d9c670ae245"; + sha256 = "029kw9nx6x0acg4f0m8wj1ziqffffhy9yyj51nlx17cnia0qcrby"; + } + } package/rime/cangjie + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-cantonese"; + rev = "e3c6b17e638ac8a9aeab4d5852e5909b049c5ab3"; + sha256 = "171a64l17yb6isgiih2z0cp2vgzvdcn0vby3rk8556b0ir4j545q"; + } + } package/rime/cantonese + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-combo-pinyin"; + rev = "17b66079a23a00d3214639fee2b8ae97d3e620dc"; + sha256 = "1izx29hawfryapfzadysjbb2zfw0yq6vwsw56khkf6gsaz1faamn"; + } + } package/rime/combo-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-double-pinyin"; + rev = "69bf85d4dfe8bac139c36abbd68d530b8b6622ea"; + sha256 = "093wif5avvvw45fqbwj5wkbxrychy4pagl4mwsmbrayc8jkp69ak"; + } + } package/rime/double-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-emoji"; + rev = "a18b09997e7c457066e4c92adf249a4b3e235f9c"; + sha256 = "0gaa9r3yx1s135jlqxp85iyygcwqgz2k4n1bpvjr2n8xkn9297b6"; + } + } package/rime/emoji + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-essay"; + rev = "e0519d0579722a0871efb68189272cba61a7350b"; + sha256 = "1g7188vgklxindvm6p65b5jlm6z47fdmhmp0hqrrd6smg9pz4qpw"; + } + } package/rime/essay + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-ipa"; + rev = "22b71710e029bcb412e9197192a638ab11bc2abf"; + sha256 = "0zdk4f9qkfj3q5hmjnairj1lv6f6y27mic12k886n6sxywwbwr2k"; + } + } package/rime/ipa + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-jyutping"; + rev = "50100769f645bf92afef5170e3bf42be5147b41b"; + sha256 = "1dmw2ssbqxbs93iab0whjzncsvv66vyw3hwb30kly2v18bwkagq0"; + } + } package/rime/jyutping + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-luna-pinyin"; + rev = "79aeae200a7370720be98232844c0715f277e1c0"; + sha256 = "06vff5hq85dkbmqch9d3w2rww2n8sk41c7say0pdlkfphyjs76ps"; + } + } package/rime/luna-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-middle-chinese"; + rev = "582e144e525525ac2b6c2498097d7c7919e84174"; + sha256 = "0ixj2f3syc0hv9n5r0cavcq0jrdf1www2frjl11855gwydp4lsx5"; + } + } package/rime/middle-chinese + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-pinyin-simp"; + rev = "52b9c75f085479799553f2499c4f4c611d618cdf"; + sha256 = "1zi9yqgijb4r3q5ah89hdwbli5xhlmg19xj8sq1grnpfbw2hbdbj"; + } + } package/rime/pinyin-simp + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-prelude"; + rev = "dd84abecc33f0b05469f1d744e32d2b60b3529e3"; + sha256 = "14wn86xqvb6r73pgksi51wgfc70pj95iqrl85m2i0fwl43zg2y5g"; + } + } package/rime/prelude + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-quick"; + rev = "3fe5911ba608cb2df1b6301b76ad1573bd482a76"; + sha256 = "08bh87ym5qvw55lyw20l3m7jd4c2z5rvil8h5q8790r7z6j6ijy9"; + } + } package/rime/quick + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-scj"; + rev = "cab5a0858765eff0553dd685a2d61d5536e9149c"; + sha256 = "0ard2bjp4896a8dimmcwyjwgmp9kl4rz92yc92jnd3y4rgwl6fvk"; + } + } package/rime/scj + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-soutzoe"; + rev = "beeaeca72d8e17dfd1e9af58680439e9012987dc"; + sha256 = "0jyqx0q9s0qxn168l5n8zav8jcl2g5ppr7pa8jm1vwrllf20slcc"; + } + } package/rime/soutzoe + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-stenotype"; + rev = "f3e9189d5ce33c55d3936cc58e39d0c88b3f0c88"; + sha256 = "0dl6px7lrh3xa87knjzwzdcwjj1k1dg4l72q7lb48an4s9f1cy5d"; + } + } package/rime/stenotype + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-stroke"; + rev = "e6c7608925009636577ff7469eecc870f1de18f3"; + sha256 = "1rzclksf09s9js6z9mjm4ibgybr6kg2c4xq4j6sg9b3pnjbjwv8g"; + } + } package/rime/stroke + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-terra-pinyin"; + rev = "9427853de91d645d9aca9ceace8fe9e9d8bc5b50"; + sha256 = "0f1wiqasy41hp3kw3qc5zk6z0rgfrswdw91kc66v1w1a3skb6wpp"; + } + } package/rime/terra-pinyin + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-wubi"; + rev = "152a0d3f3efe40cae216d1e3b338242446848d07"; + sha256 = "1p2ikcw40q84fx0ixarm1jfp8ax276pabansybchrj34cqs53sr1"; + } + } package/rime/wubi + ln -sv ${ + fetchFromGitHub { + owner = "rime"; + repo = "rime-wugniu"; + rev = "abd1ee98efbf170258fcf43875c21a4259e00b61"; + sha256 = "0qn54d3cclny106ixdw08r5n6wn52ffs1hgrma3k0j4pv0kr9nlq"; + } + } package/rime/wugniu '' diff --git a/pkgs/by-name/ri/rime-data/package.nix b/pkgs/by-name/ri/rime-data/package.nix index 15c33238e8da3..fc19f47b490a2 100644 --- a/pkgs/by-name/ri/rime-data/package.nix +++ b/pkgs/by-name/ri/rime-data/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, librime }: +{ + lib, + stdenv, + fetchFromGitHub, + librime, +}: stdenv.mkDerivation { pname = "rime-data"; diff --git a/pkgs/by-name/ri/rinetd/package.nix b/pkgs/by-name/ri/rinetd/package.nix index e9abb0ceab49e..8e90ce6628b86 100644 --- a/pkgs/by-name/ri/rinetd/package.nix +++ b/pkgs/by-name/ri/rinetd/package.nix @@ -1,9 +1,10 @@ -{ lib -, autoreconfHook -, fetchFromGitHub -, rinetd -, stdenv -, testers +{ + lib, + autoreconfHook, + fetchFromGitHub, + rinetd, + stdenv, + testers, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ri/ringfairy/package.nix b/pkgs/by-name/ri/ringfairy/package.nix index 67563b58315c7..3610062207dcf 100644 --- a/pkgs/by-name/ri/ringfairy/package.nix +++ b/pkgs/by-name/ri/ringfairy/package.nix @@ -20,12 +20,13 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-cmW+y57AAK1NNBJ6xE2EvHsSoKddLWgdtnAmSjzAN0k="; - nativeBuildInputs = [pkg-config]; + nativeBuildInputs = [ pkg-config ]; buildInputs = - [openssl] + [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; [ + with darwin.apple_sdk.frameworks; + [ Security SystemConfiguration ] @@ -35,7 +36,7 @@ rustPlatform.buildRustPackage { description = "Static webring generator in Rust"; homepage = "https://github.com/k3rs3d/ringfairy"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [uncenter]; + maintainers = with lib.maintainers; [ uncenter ]; mainProgram = "ringfairy"; }; } diff --git a/pkgs/by-name/ri/ringracers/package.nix b/pkgs/by-name/ri/ringracers/package.nix index 2f8368b848c06..8cb144d870cc5 100644 --- a/pkgs/by-name/ri/ringracers/package.nix +++ b/pkgs/by-name/ri/ringracers/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchzip -, fetchFromGitHub -, cmake -, curl -, nasm -, game-music-emu -, libpng -, SDL2 -, SDL2_mixer -, libvpx -, libyuv -, zlib -, makeWrapper -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchzip, + fetchFromGitHub, + cmake, + curl, + nasm, + game-music-emu, + libpng, + SDL2, + SDL2_mixer, + libvpx, + libyuv, + zlib, + makeWrapper, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation (finalAttrs: { @@ -89,7 +90,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://kartkrew.org"; platforms = platforms.linux; license = licenses.gpl2Plus; - maintainers = with maintainers; [ donovanglover thehans255 ]; + maintainers = with maintainers; [ + donovanglover + thehans255 + ]; mainProgram = "ringracers"; }; }) diff --git a/pkgs/by-name/ri/rinutils/package.nix b/pkgs/by-name/ri/rinutils/package.nix index 45b9f299aa2d5..ca5717a34fddd 100644 --- a/pkgs/by-name/ri/rinutils/package.nix +++ b/pkgs/by-name/ri/rinutils/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchurl -, cmake -, perl +{ + stdenv, + lib, + fetchurl, + cmake, + perl, }: stdenv.mkDerivation rec { @@ -14,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-+eUn03psyMe4hwraY8qiTzKrDSn9ERbfPrtoZYMDCVU="; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ + cmake + perl + ]; # https://github.com/shlomif/rinutils/issues/5 # (variable was unused at time of writing) diff --git a/pkgs/by-name/ri/riot-redis/package.nix b/pkgs/by-name/ri/riot-redis/package.nix index 755228361b1fa..5832e916c5813 100644 --- a/pkgs/by-name/ri/riot-redis/package.nix +++ b/pkgs/by-name/ri/riot-redis/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchzip -, jre_headless -, makeWrapper +{ + lib, + stdenv, + fetchzip, + jre_headless, + makeWrapper, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ri/ripdrag/package.nix b/pkgs/by-name/ri/ripdrag/package.nix index 9521ac120bcfd..ff254fbbc758c 100644 --- a/pkgs/by-name/ri/ripdrag/package.nix +++ b/pkgs/by-name/ri/ripdrag/package.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, wrapGAppsHook4, gtk4 }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + gtk4, +}: rustPlatform.buildRustPackage rec { pname = "ripdrag"; @@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-9POXKvbt1Xr1wKYHhfLb14puKorLIlT1ckzEVd6eWa0="; - nativeBuildInputs = [ pkg-config wrapGAppsHook4 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + ]; buildInputs = [ gtk4 ]; diff --git a/pkgs/by-name/ri/ripe-atlas-tools/package.nix b/pkgs/by-name/ri/ripe-atlas-tools/package.nix index 0fc3897b87807..60e32ead5b611 100644 --- a/pkgs/by-name/ri/ripe-atlas-tools/package.nix +++ b/pkgs/by-name/ri/ripe-atlas-tools/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, installShellFiles +{ + lib, + python3, + fetchFromGitHub, + installShellFiles, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ri/ripgrep/package.nix b/pkgs/by-name/ri/ripgrep/package.nix index c6d3884921bee..d90ad5d81bdd8 100644 --- a/pkgs/by-name/ri/ripgrep/package.nix +++ b/pkgs/by-name/ri/ripgrep/package.nix @@ -1,18 +1,21 @@ -{ lib, stdenv -, buildPackages -, fetchFromGitHub -, rustPlatform -, installShellFiles -, pkg-config -, apple-sdk_11 -, withPCRE2 ? true -, pcre2 +{ + lib, + stdenv, + buildPackages, + fetchFromGitHub, + rustPlatform, + installShellFiles, + pkg-config, + apple-sdk_11, + withPCRE2 ? true, + pcre2, }: let canRunRg = stdenv.hostPlatform.emulatorAvailable buildPackages; rg = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/rg"; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "ripgrep"; version = "14.1.1"; @@ -25,9 +28,9 @@ in rustPlatform.buildRustPackage rec { cargoHash = "sha256-b+iA8iTYWlczBpNq9eyHrWG8LMU4WPBzaU6pQRht+yE="; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optional withPCRE2 pkg-config; - buildInputs = lib.optional withPCRE2 pcre2 + nativeBuildInputs = [ installShellFiles ] ++ lib.optional withPCRE2 pkg-config; + buildInputs = + lib.optional withPCRE2 pcre2 ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; buildFeatures = lib.optional withPCRE2 "pcre2"; @@ -43,21 +46,30 @@ in rustPlatform.buildRustPackage rec { ''; doInstallCheck = true; - installCheckPhase = '' - file="$(mktemp)" - echo "abc\nbcd\ncde" > "$file" - ${rg} -N 'bcd' "$file" - ${rg} -N 'cd' "$file" - '' + lib.optionalString withPCRE2 '' - echo '(a(aa)aa)' | ${rg} -P '\((a*|(?R))*\)' - ''; + installCheckPhase = + '' + file="$(mktemp)" + echo "abc\nbcd\ncde" > "$file" + ${rg} -N 'bcd' "$file" + ${rg} -N 'cd' "$file" + '' + + lib.optionalString withPCRE2 '' + echo '(a(aa)aa)' | ${rg} -P '\((a*|(?R))*\)' + ''; meta = with lib; { description = "Utility that combines the usability of The Silver Searcher with the raw speed of grep"; homepage = "https://github.com/BurntSushi/ripgrep"; changelog = "https://github.com/BurntSushi/ripgrep/releases/tag/${version}"; - license = with licenses; [ unlicense /* or */ mit ]; - maintainers = with maintainers; [ globin ma27 zowoq ]; + license = with licenses; [ + unlicense # or + mit + ]; + maintainers = with maintainers; [ + globin + ma27 + zowoq + ]; mainProgram = "rg"; }; } diff --git a/pkgs/by-name/ri/ripmime/package.nix b/pkgs/by-name/ri/ripmime/package.nix index f1bcc58f4dcd5..b4e302618ee99 100644 --- a/pkgs/by-name/ri/ripmime/package.nix +++ b/pkgs/by-name/ri/ripmime/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ripmime"; @@ -13,11 +17,13 @@ stdenv.mkDerivation rec { mkdir -p "$out/bin" "$out/share/man/man1" ''; - env = { - NIX_CFLAGS_COMPILE = " -Wno-error "; - } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_LDFLAGS = "-liconv"; - }; + env = + { + NIX_CFLAGS_COMPILE = " -Wno-error "; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + NIX_LDFLAGS = "-liconv"; + }; meta = with lib; { description = "Attachment extractor for MIME messages"; diff --git a/pkgs/by-name/ri/rippkgs/package.nix b/pkgs/by-name/ri/rippkgs/package.nix index ae64a4d93bee6..9ca01128450b4 100644 --- a/pkgs/by-name/ri/rippkgs/package.nix +++ b/pkgs/by-name/ri/rippkgs/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, sqlite +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + sqlite, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ri/ripsecrets/package.nix b/pkgs/by-name/ri/ripsecrets/package.nix index 3783e5ef0983b..c5450449ed2be 100644 --- a/pkgs/by-name/ri/ripsecrets/package.nix +++ b/pkgs/by-name/ri/ripsecrets/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ri/ripser/package.nix b/pkgs/by-name/ri/ripser/package.nix index 38a00d504406b..204f8a0f02443 100644 --- a/pkgs/by-name/ri/ripser/package.nix +++ b/pkgs/by-name/ri/ripser/package.nix @@ -1,12 +1,19 @@ -{ lib, stdenv, fetchFromGitHub -, useCoefficients ? false -, indicateProgress ? false -, useGoogleHashmap ? false, sparsehash ? null -, fileFormat ? "lowerTriangularCsv" +{ + lib, + stdenv, + fetchFromGitHub, + useCoefficients ? false, + indicateProgress ? false, + useGoogleHashmap ? false, + sparsehash ? null, + fileFormat ? "lowerTriangularCsv", }: -assert lib.assertOneOf "fileFormat" fileFormat - ["lowerTriangularCsv" "upperTriangularCsv" "dipha"]; +assert lib.assertOneOf "fileFormat" fileFormat [ + "lowerTriangularCsv" + "upperTriangularCsv" + "dipha" +]; assert useGoogleHashmap -> sparsehash != null; let @@ -25,18 +32,18 @@ stdenv.mkDerivation { buildInputs = lib.optional useGoogleHashmap sparsehash; - buildFlags = [ - "-std=c++11" - "-O3" - "-D NDEBUG" - ] - ++ lib.optional useCoefficients "-D USE_COEFFICIENTS" - ++ lib.optional indicateProgress "-D INDICATE_PROGRESS" - ++ lib.optional useGoogleHashmap "-D USE_GOOGLE_HASHMAP" - ++ lib.optional (fileFormat == "lowerTriangularCsv") "-D FILE_FORMAT_LOWER_TRIANGULAR_CSV" - ++ lib.optional (fileFormat == "upperTriangularCsv") "-D FILE_FORMAT_UPPER_TRIANGULAR_CSV" - ++ lib.optional (fileFormat == "dipha") "-D FILE_FORMAT_DIPHA" - ; + buildFlags = + [ + "-std=c++11" + "-O3" + "-D NDEBUG" + ] + ++ lib.optional useCoefficients "-D USE_COEFFICIENTS" + ++ lib.optional indicateProgress "-D INDICATE_PROGRESS" + ++ lib.optional useGoogleHashmap "-D USE_GOOGLE_HASHMAP" + ++ lib.optional (fileFormat == "lowerTriangularCsv") "-D FILE_FORMAT_LOWER_TRIANGULAR_CSV" + ++ lib.optional (fileFormat == "upperTriangularCsv") "-D FILE_FORMAT_UPPER_TRIANGULAR_CSV" + ++ lib.optional (fileFormat == "dipha") "-D FILE_FORMAT_DIPHA"; buildPhase = "c++ ripser.cpp -o ripser $buildFlags"; @@ -50,7 +57,7 @@ stdenv.mkDerivation { mainProgram = "ripser"; homepage = "https://github.com/Ripser/ripser"; license = lib.licenses.lgpl3; - maintainers = with lib.maintainers; [erikryb]; + maintainers = with lib.maintainers; [ erikryb ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ri/ripunzip/package.nix b/pkgs/by-name/ri/ripunzip/package.nix index d60bedc482cdd..5071f03953dd0 100644 --- a/pkgs/by-name/ri/ripunzip/package.nix +++ b/pkgs/by-name/ri/ripunzip/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, openssl -, darwin -, pkg-config -, testers -, fetchzip -, ripunzip +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + darwin, + pkg-config, + testers, + fetchzip, + ripunzip, }: rustPlatform.buildRustPackage rec { @@ -23,17 +24,26 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-1ZHAbJIWRQh876rshMYeuCz7UMlwdqrScO0eIkGjZao="; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); nativeBuildInputs = [ pkg-config ]; setupHook = ./setup-hook.sh; passthru.tests = { - fetchzipWithRipunzip = testers.invalidateFetcherByDrvHash (fetchzip.override { unzip = ripunzip; }) { - url = "https://github.com/google/ripunzip/archive/cb9caa3ba4b0e27a85e165be64c40f1f6dfcc085.zip"; - hash = "sha256-BoErC5VL3Vpvkx6xJq6J+eUJrBnjVEdTuSo7zh98Jy4="; - }; + fetchzipWithRipunzip = + testers.invalidateFetcherByDrvHash (fetchzip.override { unzip = ripunzip; }) + { + url = "https://github.com/google/ripunzip/archive/cb9caa3ba4b0e27a85e165be64c40f1f6dfcc085.zip"; + hash = "sha256-BoErC5VL3Vpvkx6xJq6J+eUJrBnjVEdTuSo7zh98Jy4="; + }; version = testers.testVersion { package = ripunzip; }; @@ -43,7 +53,10 @@ rustPlatform.buildRustPackage rec { description = "Tool to unzip files in parallel"; mainProgram = "ripunzip"; homepage = "https://github.com/google/ripunzip"; - license = with lib.licenses; [ mit asl20 ]; + license = with lib.licenses; [ + mit + asl20 + ]; maintainers = [ maintainers.lesuisse ]; }; } diff --git a/pkgs/by-name/ri/riscv-pk/package.nix b/pkgs/by-name/ri/riscv-pk/package.nix index 83ce454935f27..95d8d77dbe36b 100644 --- a/pkgs/by-name/ri/riscv-pk/package.nix +++ b/pkgs/by-name/ri/riscv-pk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, payload ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + payload ? null, +}: stdenv.mkDerivation { pname = "riscv-pk"; @@ -20,8 +26,7 @@ stdenv.mkDerivation { configureScript = "../configure"; - configureFlags = lib.optional (payload != null) - "--with-payload=${payload}"; + configureFlags = lib.optional (payload != null) "--with-payload=${payload}"; hardeningDisable = [ "all" ]; diff --git a/pkgs/by-name/ri/risor/package.nix b/pkgs/by-name/ri/risor/package.nix index cbac6e69e03b8..050d806218600 100644 --- a/pkgs/by-name/ri/risor/package.nix +++ b/pkgs/by-name/ri/risor/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, risor +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + risor, }: buildGoModule rec { @@ -45,4 +46,3 @@ buildGoModule rec { maintainers = with maintainers; [ figsoda ]; }; } - diff --git a/pkgs/by-name/ri/ristate/package.nix b/pkgs/by-name/ri/ristate/package.nix index 9a0541d03f8ad..cce06401a2ae0 100644 --- a/pkgs/by-name/ri/ristate/package.nix +++ b/pkgs/by-name/ri/ristate/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitLab }: +{ + lib, + rustPlatform, + fetchFromGitLab, +}: rustPlatform.buildRustPackage rec { pname = "ristate"; diff --git a/pkgs/by-name/ri/rita/package.nix b/pkgs/by-name/ri/rita/package.nix index 4ebe27f8fbe4e..2f17660f68981 100644 --- a/pkgs/by-name/ri/rita/package.nix +++ b/pkgs/by-name/ri/rita/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ri/rivalcfg/package.nix b/pkgs/by-name/ri/rivalcfg/package.nix index 5a56aa478cadd..8ece23daf957f 100644 --- a/pkgs/by-name/ri/rivalcfg/package.nix +++ b/pkgs/by-name/ri/rivalcfg/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonPackage rec { pname = "rivalcfg"; @@ -11,7 +15,10 @@ python3Packages.buildPythonPackage rec { sha256 = "sha256-LQpEHcKXkepfsgG7tGYsmM43FkUSBgm1Cn5C1RmTggI="; }; - propagatedBuildInputs = with python3Packages; [ hidapi setuptools ]; + propagatedBuildInputs = with python3Packages; [ + hidapi + setuptools + ]; checkInputs = [ python3Packages.pytest ]; checkPhase = "pytest"; diff --git a/pkgs/by-name/ri/river-bnf/package.nix b/pkgs/by-name/ri/river-bnf/package.nix index bae48c268483c..fa8f0b58c8f38 100644 --- a/pkgs/by-name/ri/river-bnf/package.nix +++ b/pkgs/by-name/ri/river-bnf/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromSourcehut -, wayland -, wayland-scanner -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromSourcehut, + wayland, + wayland-scanner, + unstableGitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ri/river-filtile/package.nix b/pkgs/by-name/ri/river-filtile/package.nix index 5b0b9962f0bce..06f4b4007ca5e 100644 --- a/pkgs/by-name/ri/river-filtile/package.nix +++ b/pkgs/by-name/ri/river-filtile/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ri/river-luatile/package.nix b/pkgs/by-name/ri/river-luatile/package.nix index 8999ea2445e57..1168f7d744333 100644 --- a/pkgs/by-name/ri/river-luatile/package.nix +++ b/pkgs/by-name/ri/river-luatile/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, luajit +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + luajit, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ri/river-tag-overlay/package.nix b/pkgs/by-name/ri/river-tag-overlay/package.nix index af78bab02eac2..eb30df877c5f8 100644 --- a/pkgs/by-name/ri/river-tag-overlay/package.nix +++ b/pkgs/by-name/ri/river-tag-overlay/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromSourcehut -, fetchpatch -, wayland -, pixman -, pkg-config -, wayland-scanner +{ + lib, + stdenv, + fetchFromSourcehut, + fetchpatch, + wayland, + pixman, + pkg-config, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -27,8 +28,14 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ pixman wayland ]; - nativeBuildInputs = [ pkg-config wayland-scanner ]; + buildInputs = [ + pixman + wayland + ]; + nativeBuildInputs = [ + pkg-config + wayland-scanner + ]; makeFlags = [ "DESTDIR=${placeholder "out"}" diff --git a/pkgs/by-name/ri/rivercarro/package.nix b/pkgs/by-name/ri/rivercarro/package.nix index 747bf3ec16f6b..ac5ddf72f841d 100644 --- a/pkgs/by-name/ri/rivercarro/package.nix +++ b/pkgs/by-name/ri/rivercarro/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, callPackage -, fetchFromSourcehut -, pkg-config -, river -, wayland -, wayland-protocols -, wayland-scanner -, zig_0_12 +{ + lib, + stdenv, + callPackage, + fetchFromSourcehut, + pkg-config, + river, + wayland, + wayland-protocols, + wayland-scanner, + zig_0_12, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/rk/rkbin/package.nix b/pkgs/by-name/rk/rkbin/package.nix index 0813255c4ceb3..4ac8be8e88f8f 100644 --- a/pkgs/by-name/rk/rkbin/package.nix +++ b/pkgs/by-name/rk/rkbin/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, rkbin +{ + stdenv, + lib, + fetchFromGitHub, + rkbin, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/rk/rkboot/package.nix b/pkgs/by-name/rk/rkboot/package.nix index f352446e7a1b1..2d30a55f54981 100644 --- a/pkgs/by-name/rk/rkboot/package.nix +++ b/pkgs/by-name/rk/rkboot/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, rkbin -, qemu +{ + stdenv, + lib, + rkbin, + qemu, }: stdenv.mkDerivation { @@ -38,6 +39,9 @@ stdenv.mkDerivation { homepage = "https://github.com/rockchip-linux/rkbin"; license = licenses.unfreeRedistributable; maintainers = with maintainers; [ matthewcroughan ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/rk/rkdeveloptool-pine64/package.nix b/pkgs/by-name/rk/rkdeveloptool-pine64/package.nix index 1c53f6d664f26..fd46328ebe0e8 100644 --- a/pkgs/by-name/rk/rkdeveloptool-pine64/package.nix +++ b/pkgs/by-name/rk/rkdeveloptool-pine64/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, meson -, pkg-config -, libusb1 -, scdoc -, ninja -, cmake +{ + lib, + stdenv, + fetchurl, + meson, + pkg-config, + libusb1, + scdoc, + ninja, + cmake, }: let @@ -27,7 +28,13 @@ stdenv.mkDerivation { "udev_rules_dir = '$out/lib/udev'" ''; - nativeBuildInputs = [ meson ninja cmake pkg-config scdoc ]; + nativeBuildInputs = [ + meson + ninja + cmake + pkg-config + scdoc + ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/by-name/rk/rkdeveloptool/package.nix b/pkgs/by-name/rk/rkdeveloptool/package.nix index dcbcfcf432c87..6c06584d79683 100644 --- a/pkgs/by-name/rk/rkdeveloptool/package.nix +++ b/pkgs/by-name/rk/rkdeveloptool/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libusb1 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libusb1, +}: stdenv.mkDerivation { pname = "rkdeveloptool"; @@ -11,7 +18,10 @@ stdenv.mkDerivation { sha256 = "eIFzyoY6l3pdfCN0uS16hbVp0qzdG3MtcS1jnDX1Yk0="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/by-name/rk/rke/package.nix b/pkgs/by-name/rk/rke/package.nix index 1cd9c415cfe01..3fe4279725b26 100644 --- a/pkgs/by-name/rk/rke/package.nix +++ b/pkgs/by-name/rk/rke/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "rke"; @@ -15,7 +19,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X=main.VERSION=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.VERSION=v${version}" + ]; meta = with lib; { homepage = "https://github.com/rancher/rke"; diff --git a/pkgs/by-name/rk/rkflashtool/package.nix b/pkgs/by-name/rk/rkflashtool/package.nix index 95c5351b7a02b..edece60a45b3e 100644 --- a/pkgs/by-name/rk/rkflashtool/package.nix +++ b/pkgs/by-name/rk/rkflashtool/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libusb1 }: +{ + lib, + stdenv, + fetchurl, + libusb1, +}: stdenv.mkDerivation rec { pname = "rkflashtool"; diff --git a/pkgs/by-name/rk/rkrlv2/package.nix b/pkgs/by-name/rk/rkrlv2/package.nix index fa62fcfa47ac6..f4f297884ea96 100644 --- a/pkgs/by-name/rk/rkrlv2/package.nix +++ b/pkgs/by-name/rk/rkrlv2/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, lv2, fftw, cmake, libXpm -, libXft, libjack2, libsamplerate, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + lv2, + fftw, + cmake, + libXpm, + libXft, + libjack2, + libsamplerate, + libsndfile, +}: stdenv.mkDerivation rec { pname = "rkrlv2"; @@ -12,8 +24,19 @@ stdenv.mkDerivation rec { sha256 = "WjpPNUEYw4aGrh57J+7kkxKFXgCJWNaWAmueFbNUJJo="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libXft libXpm lv2 fftw libjack2 libsamplerate libsndfile ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libXft + libXpm + lv2 + fftw + libjack2 + libsamplerate + libsndfile + ]; meta = with lib; { description = "Rakarrak effects ported to LV2"; diff --git a/pkgs/by-name/rk/rkvm/package.nix b/pkgs/by-name/rk/rkvm/package.nix index 4dee8423437bf..08c516c28af02 100644 --- a/pkgs/by-name/rk/rkvm/package.nix +++ b/pkgs/by-name/rk/rkvm/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, libevdev -, openssl -, makeWrapper -, nixosTests +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + libevdev, + openssl, + makeWrapper, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-aq8Ky29jXY0cW5s0E4NDs29DY8RIA0Fvy2R72WPAYsk="; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook makeWrapper ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + makeWrapper + ]; buildInputs = [ libevdev ]; postInstall = '' diff --git a/pkgs/by-name/rl/rl_json/package.nix b/pkgs/by-name/rl/rl_json/package.nix index ac6e7950f4114..c9c000718135a 100644 --- a/pkgs/by-name/rl/rl_json/package.nix +++ b/pkgs/by-name/rl/rl_json/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, tcl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + tcl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/rl/rlaunch/package.nix b/pkgs/by-name/rl/rlaunch/package.nix index 52499df258e06..0d454daa41ed3 100644 --- a/pkgs/by-name/rl/rlaunch/package.nix +++ b/pkgs/by-name/rl/rlaunch/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, xorg +{ + lib, + fetchFromGitHub, + rustPlatform, + xorg, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,16 @@ rustPlatform.buildRustPackage rec { # The x11_dl crate dlopen()s these libraries, so we have to inject them into rpath. postFixup = '' - patchelf --set-rpath ${lib.makeLibraryPath (with xorg; [ libX11 libXft libXinerama ])} $out/bin/rlaunch + patchelf --set-rpath ${ + lib.makeLibraryPath ( + with xorg; + [ + libX11 + libXft + libXinerama + ] + ) + } $out/bin/rlaunch ''; meta = with lib; { diff --git a/pkgs/by-name/rl/rlci/package.nix b/pkgs/by-name/rl/rlci/package.nix index 01c9e491b11f0..97d49889cb1b8 100644 --- a/pkgs/by-name/rl/rlci/package.nix +++ b/pkgs/by-name/rl/rlci/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rl/rlog/package.nix b/pkgs/by-name/rl/rlog/package.nix index 75760fed577f0..22e2d659e244e 100644 --- a/pkgs/by-name/rl/rlog/package.nix +++ b/pkgs/by-name/rl/rlog/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "rlog"; diff --git a/pkgs/by-name/rl/rlottie/package.nix b/pkgs/by-name/rl/rlottie/package.nix index 2243e482a5694..5c23b1bf9f9b0 100644 --- a/pkgs/by-name/rl/rlottie/package.nix +++ b/pkgs/by-name/rl/rlottie/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, ninja -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + ninja, + pkg-config, }: stdenv.mkDerivation rec { @@ -21,23 +22,34 @@ stdenv.mkDerivation rec { patches = [ # Fixed build with GCC 11 (fetchpatch { - url = "https://github.com/Samsung/rlottie/commit/2d7b1fa2b005bba3d4b45e8ebfa632060e8a157a.patch"; - hash = "sha256-2JPsj0WiBMMu0N3NUYDrHumvPN2YS8nPq5Zwagx6UWE="; + url = "https://github.com/Samsung/rlottie/commit/2d7b1fa2b005bba3d4b45e8ebfa632060e8a157a.patch"; + hash = "sha256-2JPsj0WiBMMu0N3NUYDrHumvPN2YS8nPq5Zwagx6UWE="; }) ]; - nativeBuildInputs = [ cmake ninja pkg-config ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; cmakeFlags = [ (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib") ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-U__ARM_NEON__"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-U__ARM_NEON__"; meta = with lib; { homepage = "https://github.com/Samsung/rlottie"; description = "Platform independent standalone c++ library for rendering vector based animations and art in realtime"; - license = with licenses; [ mit bsd3 mpl11 ftl ]; + license = with licenses; [ + mit + bsd3 + mpl11 + ftl + ]; platforms = platforms.all; maintainers = with maintainers; [ CRTified ]; }; diff --git a/pkgs/by-name/rl/rlwrap/package.nix b/pkgs/by-name/rl/rlwrap/package.nix index 68baa3318871e..5d465fac34726 100644 --- a/pkgs/by-name/rl/rlwrap/package.nix +++ b/pkgs/by-name/rl/rlwrap/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, perl, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + perl, + readline, +}: stdenv.mkDerivation rec { pname = "rlwrap"; @@ -16,7 +23,10 @@ stdenv.mkDerivation rec { --replace "if(*p >= 0 && *p < ' ')" "if(*p >= 0 && (*p >= 0) && (*p < ' '))" ''; - nativeBuildInputs = [ autoreconfHook perl ]; + nativeBuildInputs = [ + autoreconfHook + perl + ]; buildInputs = [ readline ]; diff --git a/pkgs/by-name/rm/rm-improved/package.nix b/pkgs/by-name/rm/rm-improved/package.nix index 38fcfd3a339bd..b9f7f30138a28 100644 --- a/pkgs/by-name/rm/rm-improved/package.nix +++ b/pkgs/by-name/rm/rm-improved/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, rustPlatform, lib }: +{ + fetchFromGitHub, + rustPlatform, + lib, +}: rustPlatform.buildRustPackage rec { pname = "rm-improved"; diff --git a/pkgs/by-name/rm/rmapi/package.nix b/pkgs/by-name/rm/rmapi/package.nix index 1c2765976a84b..182a98e8058f6 100644 --- a/pkgs/by-name/rm/rmapi/package.nix +++ b/pkgs/by-name/rm/rmapi/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "rmapi"; diff --git a/pkgs/by-name/rm/rmate-sh/package.nix b/pkgs/by-name/rm/rmate-sh/package.nix index b362807f19d23..d0e1d344601d7 100644 --- a/pkgs/by-name/rm/rmate-sh/package.nix +++ b/pkgs/by-name/rm/rmate-sh/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, patsh -, hostname +{ + lib, + stdenv, + fetchFromGitHub, + patsh, + hostname, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/rm/rmenu/package.nix b/pkgs/by-name/rm/rmenu/package.nix index f5abbc9dd65ab..d5b2bd3a9085a 100644 --- a/pkgs/by-name/rm/rmenu/package.nix +++ b/pkgs/by-name/rm/rmenu/package.nix @@ -1,13 +1,14 @@ -{ fetchFromGitHub -, glib -, gtk3 -, lib -, libsoup_3 -, networkmanager -, pkg-config -, rustPlatform -, webkitgtk_4_1 -, wrapGAppsHook3 +{ + fetchFromGitHub, + glib, + gtk3, + lib, + libsoup_3, + networkmanager, + pkg-config, + rustPlatform, + webkitgtk_4_1, + wrapGAppsHook3, }: rustPlatform.buildRustPackage rec { pname = "rmenu"; diff --git a/pkgs/by-name/rm/rmfuse/package.nix b/pkgs/by-name/rm/rmfuse/package.nix index 72e7162d987ea..6ae5c1c1d0425 100644 --- a/pkgs/by-name/rm/rmfuse/package.nix +++ b/pkgs/by-name/rm/rmfuse/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/rm/rmg/package.nix b/pkgs/by-name/rm/rmg/package.nix index 8dcd685da4dd4..4c2525b01b92e 100644 --- a/pkgs/by-name/rm/rmg/package.nix +++ b/pkgs/by-name/rm/rmg/package.nix @@ -1,32 +1,38 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, boost -, cmake -, discord-rpc -, freetype -, hidapi -, libpng -, libsamplerate -, minizip -, nasm -, pkg-config -, qt6Packages -, SDL2 -, speexdsp -, vulkan-headers -, vulkan-loader -, which -, xdg-user-dirs -, zlib -, withWayland ? false -# Affects final license -, withAngrylionRdpPlus ? false +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + boost, + cmake, + discord-rpc, + freetype, + hidapi, + libpng, + libsamplerate, + minizip, + nasm, + pkg-config, + qt6Packages, + SDL2, + speexdsp, + vulkan-headers, + vulkan-loader, + which, + xdg-user-dirs, + zlib, + withWayland ? false, + # Affects final license + withAngrylionRdpPlus ? false, }: let - inherit (qt6Packages) qtbase qtsvg qtwayland wrapQtAppsHook; + inherit (qt6Packages) + qtbase + qtsvg + qtwayland + wrapQtAppsHook + ; in stdenv.mkDerivation rec { pname = "rmg"; @@ -73,9 +79,11 @@ stdenv.mkDerivation rec { "-DUSE_ANGRYLION=${lib.boolToString withAngrylionRdpPlus}" ]; - qtWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}" - ] ++ lib.optional withWayland "--set RMG_WAYLAND 1"; + qtWrapperArgs = + lib.optionals stdenv.hostPlatform.isLinux [ + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}" + ] + ++ lib.optional withWayland "--set RMG_WAYLAND 1"; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; diff --git a/pkgs/by-name/rm/rmount/package.nix b/pkgs/by-name/rm/rmount/package.nix index 257db9af80f68..30d2d86942e13 100644 --- a/pkgs/by-name/rm/rmount/package.nix +++ b/pkgs/by-name/rm/rmount/package.nix @@ -1,8 +1,17 @@ -{ lib, stdenv, nmap, jq, cifs-utils, sshfs, fetchFromGitHub, makeWrapper }: +{ + lib, + stdenv, + nmap, + jq, + cifs-utils, + sshfs, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { - pname = "rmount"; + pname = "rmount"; version = "1.1.0"; src = fetchFromGitHub { @@ -19,7 +28,14 @@ stdenv.mkDerivation rec { install -D ${src}/rmount.bash $out/bin/rmount install -D ${src}/config.json $out/share/config.json - wrapProgram $out/bin/rmount --prefix PATH : ${lib.makeBinPath [ nmap jq cifs-utils sshfs ]} + wrapProgram $out/bin/rmount --prefix PATH : ${ + lib.makeBinPath [ + nmap + jq + cifs-utils + sshfs + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/rm/rmtrash/package.nix b/pkgs/by-name/rm/rmtrash/package.nix index 793cd49d41885..68f889ed20f6a 100644 --- a/pkgs/by-name/rm/rmtrash/package.nix +++ b/pkgs/by-name/rm/rmtrash/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper -, trash-cli, coreutils, which, getopt }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + trash-cli, + coreutils, + which, + getopt, +}: stdenvNoCC.mkDerivation rec { pname = "rmtrash"; @@ -18,7 +26,14 @@ stdenvNoCC.mkDerivation rec { for f in rm{,dir}trash; do install -D ./$f $out/bin/$f wrapProgram $out/bin/$f \ - --prefix PATH : ${lib.makeBinPath [ trash-cli coreutils which getopt ]} + --prefix PATH : ${ + lib.makeBinPath [ + trash-cli + coreutils + which + getopt + ] + } done ''; diff --git a/pkgs/by-name/rm/rmw/package.nix b/pkgs/by-name/rm/rmw/package.nix index a6bbb40840297..f405ef621d921 100644 --- a/pkgs/by-name/rm/rmw/package.nix +++ b/pkgs/by-name/rm/rmw/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, ncurses +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + ncurses, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/rn/rnd-name/package.nix b/pkgs/by-name/rn/rnd-name/package.nix index 6a60add9b9b37..9b10a3ca766e5 100644 --- a/pkgs/by-name/rn/rnd-name/package.nix +++ b/pkgs/by-name/rn/rnd-name/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, }: let version = "1.0.0"; diff --git a/pkgs/by-name/rn/rng-tools/package.nix b/pkgs/by-name/rn/rng-tools/package.nix index f17615eaa1dd5..4ada86ef692de 100644 --- a/pkgs/by-name/rn/rng-tools/package.nix +++ b/pkgs/by-name/rn/rng-tools/package.nix @@ -1,20 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libtool -, pkg-config -, psmisc -, argp-standalone -, openssl -, libcap -, jitterentropy, withJitterEntropy ? true +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + pkg-config, + psmisc, + argp-standalone, + openssl, + libcap, + jitterentropy, + withJitterEntropy ? true, # WARNING: DO NOT USE BEACON GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS # https://www.nist.gov/programs-projects/nist-randomness-beacon -, curl, jansson, libxml2, withNistBeacon ? false -, libp11, opensc, withPkcs11 ? true -, rtl-sdr, withRtlsdr ? true -, withQrypt ? false + curl, + jansson, + libxml2, + withNistBeacon ? false, + libp11, + opensc, + withPkcs11 ? true, + rtl-sdr, + withRtlsdr ? true, + withQrypt ? false, }: stdenv.mkDerivation rec { @@ -28,31 +36,51 @@ stdenv.mkDerivation rec { hash = "sha256-wqJvLvxmNG2nb5P525w25Y8byUUJi24QIHNJomCKeG8="; }; - nativeBuildInputs = [ autoreconfHook libtool pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + libtool + pkg-config + ]; configureFlags = [ (lib.enableFeature (withJitterEntropy) "jitterentropy") - (lib.withFeature (withNistBeacon) "nistbeacon") - (lib.withFeature (withPkcs11) "pkcs11") - (lib.withFeature (withRtlsdr) "rtlsdr") - (lib.withFeature (withQrypt) "qrypt") + (lib.withFeature (withNistBeacon) "nistbeacon") + (lib.withFeature (withPkcs11) "pkcs11") + (lib.withFeature (withRtlsdr) "rtlsdr") + (lib.withFeature (withQrypt) "qrypt") ]; - buildInputs = [ openssl libcap ] + buildInputs = + [ + openssl + libcap + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ argp-standalone ] ++ lib.optionals withJitterEntropy [ jitterentropy ] - ++ lib.optionals withNistBeacon [ curl jansson libxml2 ] - ++ lib.optionals withPkcs11 [ libp11 libp11.passthru.openssl ] - ++ lib.optionals withRtlsdr [ rtl-sdr ] - ++ lib.optionals withQrypt [ curl jansson ]; + ++ lib.optionals withNistBeacon [ + curl + jansson + libxml2 + ] + ++ lib.optionals withPkcs11 [ + libp11 + libp11.passthru.openssl + ] + ++ lib.optionals withRtlsdr [ rtl-sdr ] + ++ lib.optionals withQrypt [ + curl + jansson + ]; enableParallelBuilding = true; - makeFlags = [ - "AR:=$(AR)" # For cross-compilation - ] ++ lib.optionals withPkcs11 [ - "PKCS11_ENGINE=${opensc}/lib/opensc-pkcs11.so" # Overrides configure script paths - ]; + makeFlags = + [ + "AR:=$(AR)" # For cross-compilation + ] + ++ lib.optionals withPkcs11 [ + "PKCS11_ENGINE=${opensc}/lib/opensc-pkcs11.so" # Overrides configure script paths + ]; doCheck = true; preCheck = '' @@ -82,6 +110,9 @@ stdenv.mkDerivation rec { changelog = "https://github.com/nhorman/rng-tools/releases/tag/v${version}"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ johnazoidberg c0bw3b ]; + maintainers = with maintainers; [ + johnazoidberg + c0bw3b + ]; }; } diff --git a/pkgs/by-name/rn/rnix-hashes/package.nix b/pkgs/by-name/rn/rnix-hashes/package.nix index d69c7e6ef96f2..12144247e290a 100644 --- a/pkgs/by-name/rn/rnix-hashes/package.nix +++ b/pkgs/by-name/rn/rnix-hashes/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, fetchpatch }: +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch, +}: rustPlatform.buildRustPackage rec { pname = "rnix-hashes"; @@ -26,6 +31,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "rnix-hashes"; homepage = "https://github.com/numtide/rnix-hashes"; license = licenses.asl20; - maintainers = with maintainers; [ rizary SuperSandro2000 ]; + maintainers = with maintainers; [ + rizary + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/rn/rnm/package.nix b/pkgs/by-name/rn/rnm/package.nix index 479feabb8ebc5..98fa3fbb2fe3e 100644 --- a/pkgs/by-name/rn/rnm/package.nix +++ b/pkgs/by-name/rn/rnm/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, gmp -, jpcre2 -, pcre2 +{ + lib, + stdenv, + fetchFromGitHub, + gmp, + jpcre2, + pcre2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/rn/rnnoise/package.nix b/pkgs/by-name/rn/rnnoise/package.nix index eb77106fd29fa..96127916b5cca 100644 --- a/pkgs/by-name/rn/rnnoise/package.nix +++ b/pkgs/by-name/rn/rnnoise/package.nix @@ -1,5 +1,13 @@ -{ stdenv, lib, fetchurl, fetchzip, autoreconfHook, writeScript, fetchpatch -, modelUrl ? "", modelHash ? "" # Allow overriding the model URL and hash +{ + stdenv, + lib, + fetchurl, + fetchzip, + autoreconfHook, + writeScript, + fetchpatch, + modelUrl ? "", + modelHash ? "", # Allow overriding the model URL and hash }: let @@ -9,10 +17,15 @@ let default_model_version = modelVersionJSON.version; # Either use the default model or the one provided by package override - model_url = if (modelUrl == "") then "https://media.xiph.org/rnnoise/models/rnnoise_data-${default_model_version}.tar.gz" else modelUrl; + model_url = + if (modelUrl == "") then + "https://media.xiph.org/rnnoise/models/rnnoise_data-${default_model_version}.tar.gz" + else + modelUrl; model_hash = if (modelHash == "") then modelVersionJSON.hash else modelHash; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "rnnoise"; version = "0.2"; diff --git a/pkgs/by-name/rn/rnp/package.nix b/pkgs/by-name/rn/rnp/package.nix index 686fe3e53431c..f8cd8b45da9d0 100644 --- a/pkgs/by-name/rn/rnp/package.nix +++ b/pkgs/by-name/rn/rnp/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, asciidoctor -, botan3 -, bzip2 -, cmake -, fetchFromGitHub -, gnupg -, gtest -, json_c -, pkg-config -, python3 -, sexpp -, zlib +{ + lib, + stdenv, + asciidoctor, + botan3, + bzip2, + cmake, + fetchFromGitHub, + gnupg, + gtest, + json_c, + pkg-config, + python3, + sexpp, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +26,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jUh7BxRnB6KePCk1jIvKzXgxSmWdKlQYmxshZZY4SBQ"; }; - buildInputs = [ zlib bzip2 json_c botan3 sexpp ]; + buildInputs = [ + zlib + bzip2 + json_c + botan3 + sexpp + ]; patches = [ ]; @@ -39,13 +46,24 @@ stdenv.mkDerivation (finalAttrs: { "-DSYSTEM_LIBSEXPP=on" ]; - nativeBuildInputs = [ asciidoctor cmake gnupg gtest pkg-config python3 ]; + nativeBuildInputs = [ + asciidoctor + cmake + gnupg + gtest + pkg-config + python3 + ]; # NOTE: check-only inputs should ideally be moved to nativeCheckInputs, but it # would fail during buildPhase. # nativeCheckInputs = [ gtest python3 ]; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; preConfigure = '' echo "v${finalAttrs.version}" > version.txt diff --git a/pkgs/by-name/rn/rnr/package.nix b/pkgs/by-name/rn/rnr/package.nix index 31f627d4bae6b..cc9d7683f96bc 100644 --- a/pkgs/by-name/rn/rnr/package.nix +++ b/pkgs/by-name/rn/rnr/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "rnr"; diff --git a/pkgs/by-name/rn/rnv/package.nix b/pkgs/by-name/rn/rnv/package.nix index 1ee3355d10529..80e53c99370f2 100644 --- a/pkgs/by-name/rn/rnv/package.nix +++ b/pkgs/by-name/rn/rnv/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, expat }: +{ + lib, + stdenv, + fetchurl, + expat, +}: stdenv.mkDerivation rec { pname = "rnv"; diff --git a/pkgs/by-name/ro/roadrunner/package.nix b/pkgs/by-name/ro/roadrunner/package.nix index 164d481201248..59d63405c2a90 100644 --- a/pkgs/by-name/ro/roadrunner/package.nix +++ b/pkgs/by-name/ro/roadrunner/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ro/roam-research/darwin.nix b/pkgs/by-name/ro/roam-research/darwin.nix index 721e9e8fc7e9d..b7b2f5663f6f8 100644 --- a/pkgs/by-name/ro/roam-research/darwin.nix +++ b/pkgs/by-name/ro/roam-research/darwin.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, _7zz, fetchurl }: +{ + lib, + stdenv, + _7zz, + fetchurl, +}: let common = import ./common.nix { inherit fetchurl; }; inherit (stdenv.hostPlatform) system; @@ -29,7 +34,10 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ dbalan ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "roam-research"; }; } diff --git a/pkgs/by-name/ro/roam-research/linux.nix b/pkgs/by-name/ro/roam-research/linux.nix index 04a05d95ffc2f..c37ae5f13984e 100644 --- a/pkgs/by-name/ro/roam-research/linux.nix +++ b/pkgs/by-name/ro/roam-research/linux.nix @@ -1,8 +1,39 @@ -{ stdenv, lib, fetchurl, alsa-lib, atk, cairo, cups, dbus, dpkg, expat -, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor -, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libdrm -, libpulseaudio, libxcb, libxkbcommon, libxshmfence, mesa, nspr, nss, pango -, udev, }: +{ + stdenv, + lib, + fetchurl, + alsa-lib, + atk, + cairo, + cups, + dbus, + dpkg, + expat, + gdk-pixbuf, + glib, + gtk3, + libX11, + libXScrnSaver, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXtst, + libdrm, + libpulseaudio, + libxcb, + libxkbcommon, + libxshmfence, + mesa, + nspr, + nss, + pango, + udev, +}: let common = import ./common.nix { inherit fetchurl; }; @@ -40,7 +71,8 @@ let libpulseaudio udev ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit (common) pname version; src = common.sources.${system} or (throw "Source for ${pname} is not available for ${system}"); diff --git a/pkgs/by-name/ro/robin-map/package.nix b/pkgs/by-name/ro/robin-map/package.nix index d15bada3e813c..2605faabea856 100644 --- a/pkgs/by-name/ro/robin-map/package.nix +++ b/pkgs/by-name/ro/robin-map/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ro/robo3t/package.nix b/pkgs/by-name/ro/robo3t/package.nix index c2ea6a2a25520..784ecf6cb244b 100644 --- a/pkgs/by-name/ro/robo3t/package.nix +++ b/pkgs/by-name/ro/robo3t/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, curlWithGnuTls -, zlib -, glib -, xorg -, dbus -, fontconfig -, libGL -, freetype -, xkeyboard_config -, makeDesktopItem -, makeWrapper +{ + lib, + stdenv, + fetchurl, + curlWithGnuTls, + zlib, + glib, + xorg, + dbus, + fontconfig, + libGL, + freetype, + xkeyboard_config, + makeDesktopItem, + makeWrapper, }: stdenv.mkDerivation rec { @@ -36,7 +37,10 @@ stdenv.mkDerivation rec { comment = "Query GUI for mongodb"; desktopName = "Robo3T"; genericName = "MongoDB management tool"; - categories = [ "Development" "IDE" ]; + categories = [ + "Development" + "IDE" + ]; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/ro/robodoc/package.nix b/pkgs/by-name/ro/robodoc/package.nix index 8ebd078b9696a..a380bb6111cf9 100644 --- a/pkgs/by-name/ro/robodoc/package.nix +++ b/pkgs/by-name/ro/robodoc/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ro/robotfindskitten/package.nix b/pkgs/by-name/ro/robotfindskitten/package.nix index a955d337753ef..327b0aca626b3 100644 --- a/pkgs/by-name/ro/robotfindskitten/package.nix +++ b/pkgs/by-name/ro/robotfindskitten/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, ncurses -, pkg-config -, texinfo +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + ncurses, + pkg-config, + texinfo, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-z6//Yfp3BtJAtUdY05m1eKVrTdH19MvK7LZOwX5S1CM="; }; - outputs = [ "out" "man" "info" ]; + outputs = [ + "out" + "man" + "info" + ]; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/by-name/ro/roboto-mono/package.nix b/pkgs/by-name/ro/roboto-mono/package.nix index 5d7cc57a4b435..3c71e0f217141 100644 --- a/pkgs/by-name/ro/roboto-mono/package.nix +++ b/pkgs/by-name/ro/roboto-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let # Latest commit touching the robotomono tree diff --git a/pkgs/by-name/ro/roboto-serif/package.nix b/pkgs/by-name/ro/roboto-serif/package.nix index ba8aa7a831e09..7a4bc9a186e91 100644 --- a/pkgs/by-name/ro/roboto-serif/package.nix +++ b/pkgs/by-name/ro/roboto-serif/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + unzip, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/ro/roboto-slab/package.nix b/pkgs/by-name/ro/roboto-slab/package.nix index dc37c8258564c..cd5c62bd4a7bd 100644 --- a/pkgs/by-name/ro/roboto-slab/package.nix +++ b/pkgs/by-name/ro/roboto-slab/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "roboto-slab"; diff --git a/pkgs/by-name/ro/roboto/package.nix b/pkgs/by-name/ro/roboto/package.nix index b9e287945a4c2..b22a68fde9459 100644 --- a/pkgs/by-name/ro/roboto/package.nix +++ b/pkgs/by-name/ro/roboto/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "roboto"; diff --git a/pkgs/by-name/ro/robustirc-bridge/package.nix b/pkgs/by-name/ro/robustirc-bridge/package.nix index 2d5c6ef1231b8..32907b1894af8 100644 --- a/pkgs/by-name/ro/robustirc-bridge/package.nix +++ b/pkgs/by-name/ro/robustirc-bridge/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "robustirc-bridge"; diff --git a/pkgs/by-name/ro/roc-toolkit/package.nix b/pkgs/by-name/ro/roc-toolkit/package.nix index 6c579774e4bfc..410563c4150ef 100644 --- a/pkgs/by-name/ro/roc-toolkit/package.nix +++ b/pkgs/by-name/ro/roc-toolkit/package.nix @@ -1,4 +1,5 @@ -{ stdenv, +{ + stdenv, lib, fetchFromGitHub, scons, @@ -18,14 +19,17 @@ soxSupport ? true, sox, libsndfileSupport ? true, - libsndfile + libsndfile, }: stdenv.mkDerivation rec { pname = "roc-toolkit"; version = "0.4.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "roc-streaming"; @@ -41,29 +45,38 @@ stdenv.mkDerivation rec { pkg-config ]; - propagatedBuildInputs = [ - libuv - speexdsp - ] ++ lib.optional openfecSupport openfec + propagatedBuildInputs = + [ + libuv + speexdsp + ] + ++ lib.optional openfecSupport openfec ++ lib.optional libunwindSupport libunwind ++ lib.optional pulseaudioSupport libpulseaudio ++ lib.optional opensslSupport openssl ++ lib.optional soxSupport sox ++ lib.optional libsndfileSupport libsndfile; - sconsFlags = lib.optionals (!stdenv.hostPlatform.isDarwin) - [ "--build=${stdenv.buildPlatform.config}" - "--host=${stdenv.hostPlatform.config}" ] ++ - [ "--prefix=${placeholder "out"}" ] ++ - lib.optional (!opensslSupport) "--disable-openssl" ++ - lib.optional (!soxSupport) "--disable-sox" ++ - lib.optional (!libunwindSupport) "--disable-libunwind" ++ - lib.optional (!pulseaudioSupport) "--disable-pulseaudio" ++ - lib.optional (!libsndfileSupport) "--disable-sndfile" ++ - (if (!openfecSupport) - then ["--disable-openfec"] - else [ "--with-libraries=${openfec}/lib" - "--with-openfec-includes=${openfec.dev}/include" ]); + sconsFlags = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "--build=${stdenv.buildPlatform.config}" + "--host=${stdenv.hostPlatform.config}" + ] + ++ [ "--prefix=${placeholder "out"}" ] + ++ lib.optional (!opensslSupport) "--disable-openssl" + ++ lib.optional (!soxSupport) "--disable-sox" + ++ lib.optional (!libunwindSupport) "--disable-libunwind" + ++ lib.optional (!pulseaudioSupport) "--disable-pulseaudio" + ++ lib.optional (!libsndfileSupport) "--disable-sndfile" + ++ ( + if (!openfecSupport) then + [ "--disable-openfec" ] + else + [ + "--with-libraries=${openfec}/lib" + "--with-openfec-includes=${openfec.dev}/include" + ] + ); meta = with lib; { description = "Roc is a toolkit for real-time audio streaming over the network"; diff --git a/pkgs/by-name/ro/roccat-tools/package.nix b/pkgs/by-name/ro/roccat-tools/package.nix index 389d5036b754c..6bf02cbf351bd 100644 --- a/pkgs/by-name/ro/roccat-tools/package.nix +++ b/pkgs/by-name/ro/roccat-tools/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, gettext -, dbus, dbus-glib, libgaminggear, libgudev, lua -, harfbuzz, runtimeShell, coreutils, kmod +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + gettext, + dbus, + dbus-glib, + libgaminggear, + libgudev, + lua, + harfbuzz, + runtimeShell, + coreutils, + kmod, }: stdenv.mkDerivation rec { @@ -26,8 +39,18 @@ stdenv.mkDerivation rec { --replace "/bin/echo" "${coreutils}/bin/echo" ''; - nativeBuildInputs = [ cmake pkg-config gettext ]; - buildInputs = [ dbus dbus-glib libgaminggear libgudev lua ]; + nativeBuildInputs = [ + cmake + pkg-config + gettext + ]; + buildInputs = [ + dbus + dbus-glib + libgaminggear + libgudev + lua + ]; cmakeFlags = [ "-DUDEVDIR=\${out}/lib/udev/rules.d" diff --git a/pkgs/by-name/ro/rocketchat-desktop/package.nix b/pkgs/by-name/ro/rocketchat-desktop/package.nix index ab9ef85903f9d..401b1c9f512fa 100644 --- a/pkgs/by-name/ro/rocketchat-desktop/package.nix +++ b/pkgs/by-name/ro/rocketchat-desktop/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, pkgs, fetchurl, wrapGAppsHook3 }: +{ + lib, + stdenv, + pkgs, + fetchurl, + wrapGAppsHook3, +}: let libPathNative = { packages }: lib.makeLibraryPath packages; in @@ -12,7 +18,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - wrapGAppsHook3 #to fully work with gnome also needs programs.dconf.enable = true in your configuration.nix + wrapGAppsHook3 # to fully work with gnome also needs programs.dconf.enable = true in your configuration.nix ]; buildInputs = with pkgs; [ diff --git a/pkgs/by-name/ro/rocksdb/package.nix b/pkgs/by-name/ro/rocksdb/package.nix index 7fd53144e6c62..8327560a56c4f 100644 --- a/pkgs/by-name/ro/rocksdb/package.nix +++ b/pkgs/by-name/ro/rocksdb/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, bzip2 -, lz4 -, snappy -, zlib -, zstd -, windows -, enableJemalloc ? false -, jemalloc -, enableLiburing ? stdenv.hostPlatform.isLinux -, liburing -, enableShared ? !stdenv.hostPlatform.isStatic -, sse42Support ? stdenv.hostPlatform.sse4_2Support +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + bzip2, + lz4, + snappy, + zlib, + zstd, + windows, + enableJemalloc ? false, + jemalloc, + enableLiburing ? stdenv.hostPlatform.isLinux, + liburing, + enableShared ? !stdenv.hostPlatform.isStatic, + sse42Support ? stdenv.hostPlatform.sse4_2Support, }: stdenv.mkDerivation (finalAttrs: { @@ -28,13 +29,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-u5uuShM2SxHc9/zL4UU56IhCcR/ZQbzde0LgOYS44bM="; }; - patches = lib.optional (lib.versionAtLeast finalAttrs.version "6.29.3" && enableLiburing) ./fix-findliburing.patch; + patches = lib.optional ( + lib.versionAtLeast finalAttrs.version "6.29.3" && enableLiburing + ) ./fix-findliburing.patch; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; - propagatedBuildInputs = [ bzip2 lz4 snappy zlib zstd ]; + propagatedBuildInputs = [ + bzip2 + lz4 + snappy + zlib + zstd + ]; - buildInputs = lib.optional enableJemalloc jemalloc + buildInputs = + lib.optional enableJemalloc jemalloc ++ lib.optional enableLiburing liburing ++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64_pthreads; @@ -43,9 +56,11 @@ stdenv.mkDerivation (finalAttrs: { "tools" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-faligned-allocation" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-faligned-allocation" + ] + ); cmakeFlags = [ "-DPORTABLE=1" @@ -71,27 +86,32 @@ stdenv.mkDerivation (finalAttrs: { # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]" hardeningDisable = lib.optional stdenv.hostPlatform.isWindows "format"; - postPatch = lib.optionalString (lib.versionOlder finalAttrs.version "8") '' - # Fix gcc-13 build failures due to missing and - # includes, fixed upstyream sice 8.x - sed -e '1i #include ' -i db/compaction/compaction_iteration_stats.h - sed -e '1i #include ' -i table/block_based/data_block_hash_index.h - sed -e '1i #include ' -i util/string_util.h - sed -e '1i #include ' -i include/rocksdb/utilities/checkpoint.h - '' + lib.optionalString (lib.versionOlder finalAttrs.version "7") '' - # Fix gcc-13 build failures due to missing and - # includes, fixed upstyream sice 7.x - sed -e '1i #include ' -i third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h - ''; + postPatch = + lib.optionalString (lib.versionOlder finalAttrs.version "8") '' + # Fix gcc-13 build failures due to missing and + # includes, fixed upstyream sice 8.x + sed -e '1i #include ' -i db/compaction/compaction_iteration_stats.h + sed -e '1i #include ' -i table/block_based/data_block_hash_index.h + sed -e '1i #include ' -i util/string_util.h + sed -e '1i #include ' -i include/rocksdb/utilities/checkpoint.h + '' + + lib.optionalString (lib.versionOlder finalAttrs.version "7") '' + # Fix gcc-13 build failures due to missing and + # includes, fixed upstyream sice 7.x + sed -e '1i #include ' -i third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h + ''; - preInstall = '' - mkdir -p $tools/bin - cp tools/{ldb,sst_dump}${stdenv.hostPlatform.extensions.executable} $tools/bin/ - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - ls -1 $tools/bin/* | xargs -I{} install_name_tool -change "@rpath/librocksdb.${lib.versions.major finalAttrs.version}.dylib" $out/lib/librocksdb.dylib {} - '' + lib.optionalString (stdenv.hostPlatform.isLinux && enableShared) '' - ls -1 $tools/bin/* | xargs -I{} patchelf --set-rpath $out/lib:${lib.getLib stdenv.cc.cc}/lib {} - ''; + preInstall = + '' + mkdir -p $tools/bin + cp tools/{ldb,sst_dump}${stdenv.hostPlatform.extensions.executable} $tools/bin/ + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + ls -1 $tools/bin/* | xargs -I{} install_name_tool -change "@rpath/librocksdb.${lib.versions.major finalAttrs.version}.dylib" $out/lib/librocksdb.dylib {} + '' + + lib.optionalString (stdenv.hostPlatform.isLinux && enableShared) '' + ls -1 $tools/bin/* | xargs -I{} patchelf --set-rpath $out/lib:${lib.getLib stdenv.cc.cc}/lib {} + ''; # Old version doesn't ship the .pc file, new version puts wrong paths in there. postFixup = '' @@ -107,6 +127,9 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/facebook/rocksdb/raw/v${finalAttrs.version}/HISTORY.md"; license = licenses.asl20; platforms = platforms.all; - maintainers = with maintainers; [ adev magenbluten ]; + maintainers = with maintainers; [ + adev + magenbluten + ]; }; }) diff --git a/pkgs/by-name/ro/rocksndiamonds/package.nix b/pkgs/by-name/ro/rocksndiamonds/package.nix index 4aa70ffa5334f..e33bf73ce212a 100644 --- a/pkgs/by-name/ro/rocksndiamonds/package.nix +++ b/pkgs/by-name/ro/rocksndiamonds/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, makeDesktopItem -, SDL2 -, SDL2_image -, SDL2_mixer -, SDL2_net -, zlib +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_net, + zlib, }: stdenv.mkDerivation rec { @@ -25,10 +26,19 @@ stdenv.mkDerivation rec { comment = meta.description; desktopName = "Rocks'n'Diamonds"; genericName = "Tile-based puzzle"; - categories = [ "Game" "LogicGame" ]; + categories = [ + "Game" + "LogicGame" + ]; }; - buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net zlib ]; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_net + zlib + ]; preBuild = '' dataDir="$out/share/rocksndiamonds" diff --git a/pkgs/by-name/ro/rockyou/package.nix b/pkgs/by-name/ro/rockyou/package.nix index 6c941fd28724d..222c1a24d3f1c 100644 --- a/pkgs/by-name/ro/rockyou/package.nix +++ b/pkgs/by-name/ro/rockyou/package.nix @@ -1,5 +1,6 @@ -{ seclists -, stdenvNoCC +{ + seclists, + stdenvNoCC, }: stdenvNoCC.mkDerivation { pname = "rockyou"; diff --git a/pkgs/by-name/ro/rofi-blezz/package.nix b/pkgs/by-name/ro/rofi-blezz/package.nix index bc552f1e9344b..65908a2fe9c15 100644 --- a/pkgs/by-name/ro/rofi-blezz/package.nix +++ b/pkgs/by-name/ro/rofi-blezz/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cairo -, pkg-config -, rofi-unwrapped +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cairo, + pkg-config, + rofi-unwrapped, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ro/rofi-bluetooth/package.nix b/pkgs/by-name/ro/rofi-bluetooth/package.nix index 4eb757422ae72..5e1fe1b8e0610 100644 --- a/pkgs/by-name/ro/rofi-bluetooth/package.nix +++ b/pkgs/by-name/ro/rofi-bluetooth/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, bc -, bluez +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bc, + bluez, }: stdenv.mkDerivation { @@ -26,7 +27,12 @@ stdenv.mkDerivation { install -D --target-directory=$out/bin/ ./rofi-bluetooth wrapProgram $out/bin/rofi-bluetooth \ - --prefix PATH ":" ${lib.makeBinPath [ bc bluez ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + bc + bluez + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ro/rofi-calc/package.nix b/pkgs/by-name/ro/rofi-calc/package.nix index c8ee440ccd05e..f94234f7b5dfc 100644 --- a/pkgs/by-name/ro/rofi-calc/package.nix +++ b/pkgs/by-name/ro/rofi-calc/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, rofi-unwrapped -, libqalculate -, glib -, cairo -, gobject-introspection -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + rofi-unwrapped, + libqalculate, + glib, + cairo, + gobject-introspection, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -51,4 +53,3 @@ stdenv.mkDerivation rec { platforms = with platforms; linux; }; } - diff --git a/pkgs/by-name/ro/rofi-file-browser/package.nix b/pkgs/by-name/ro/rofi-file-browser/package.nix index 95eb5c77ca3a7..76bd8da4488ae 100644 --- a/pkgs/by-name/ro/rofi-file-browser/package.nix +++ b/pkgs/by-name/ro/rofi-file-browser/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, rofi, gtk3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + rofi, + gtk3, +}: stdenv.mkDerivation rec { pname = "rofi-file-browser-extended"; @@ -18,8 +26,14 @@ stdenv.mkDerivation rec { --replace "/usr/share/" "$out/share/" ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ rofi gtk3 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + rofi + gtk3 + ]; ROFI_PLUGINS_DIR = "$out/lib/rofi"; diff --git a/pkgs/by-name/ro/rofi-menugen/package.nix b/pkgs/by-name/ro/rofi-menugen/package.nix index 7d5cb9f3eb89e..925fc9ce19773 100644 --- a/pkgs/by-name/ro/rofi-menugen/package.nix +++ b/pkgs/by-name/ro/rofi-menugen/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rofi, gnused }: +{ + lib, + stdenv, + fetchFromGitHub, + rofi, + gnused, +}: stdenv.mkDerivation rec { pname = "rofi-menugen"; diff --git a/pkgs/by-name/ro/rofi-mpd/package.nix b/pkgs/by-name/ro/rofi-mpd/package.nix index ec76fbdf801bb..2756758e349d7 100644 --- a/pkgs/by-name/ro/rofi-mpd/package.nix +++ b/pkgs/by-name/ro/rofi-mpd/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "rofi-mpd"; @@ -11,7 +15,12 @@ python3Packages.buildPythonApplication rec { sha256 = "0jabyn6gqh8ychn2a06xws3avz0lqdnx3qvqkavfd2xr6sp2q7lg"; }; - propagatedBuildInputs = with python3Packages; [ mutagen mpd2 toml appdirs ]; + propagatedBuildInputs = with python3Packages; [ + mutagen + mpd2 + toml + appdirs + ]; # upstream doesn't contain a test suite doCheck = false; diff --git a/pkgs/by-name/ro/rofi-power-menu/package.nix b/pkgs/by-name/ro/rofi-power-menu/package.nix index c16311e67db23..6746cfdbf4ca5 100644 --- a/pkgs/by-name/ro/rofi-power-menu/package.nix +++ b/pkgs/by-name/ro/rofi-power-menu/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "rofi-power-menu"; diff --git a/pkgs/by-name/ro/rofi-pulse-select/package.nix b/pkgs/by-name/ro/rofi-pulse-select/package.nix index 857cdddeb638e..e7d1bceb3129d 100644 --- a/pkgs/by-name/ro/rofi-pulse-select/package.nix +++ b/pkgs/by-name/ro/rofi-pulse-select/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, fetchFromGitLab -, lib -, makeWrapper -, ponymix -, rofi-unwrapped +{ + stdenv, + fetchFromGitLab, + lib, + makeWrapper, + ponymix, + rofi-unwrapped, }: stdenv.mkDerivation rec { @@ -23,7 +24,12 @@ stdenv.mkDerivation rec { install -D --target-directory=$out/bin/ ./rofi-pulse-select wrapProgram $out/bin/rofi-pulse-select \ - --prefix PATH ":" ${lib.makeBinPath [ rofi-unwrapped ponymix ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + rofi-unwrapped + ponymix + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ro/rofi-screenshot/package.nix b/pkgs/by-name/ro/rofi-screenshot/package.nix index 6b1861dc8fc59..be23fefbc12ea 100644 --- a/pkgs/by-name/ro/rofi-screenshot/package.nix +++ b/pkgs/by-name/ro/rofi-screenshot/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, libnotify -, slop -, ffcast -, ffmpeg -, xclip -, rofi -, coreutils -, gnused -, procps +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + libnotify, + slop, + ffcast, + ffmpeg, + xclip, + rofi, + coreutils, + gnused, + procps, }: stdenv.mkDerivation rec { @@ -48,8 +49,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = - "Use rofi to perform various types of screenshots and screen captures"; + description = "Use rofi to perform various types of screenshots and screen captures"; mainProgram = "rofi-screenshot"; homepage = "https://github.com/ceuk/rofi-screenshot"; maintainers = with lib.maintainers; [ zopieux ]; diff --git a/pkgs/by-name/ro/rofi-systemd/package.nix b/pkgs/by-name/ro/rofi-systemd/package.nix index 9241a066e7139..aa3bb741fabfe 100644 --- a/pkgs/by-name/ro/rofi-systemd/package.nix +++ b/pkgs/by-name/ro/rofi-systemd/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, rofi, systemd, coreutils, util-linux, gawk, makeWrapper, jq +{ + lib, + stdenv, + fetchFromGitHub, + rofi, + systemd, + coreutils, + util-linux, + gawk, + makeWrapper, + jq, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ro/rofi-top/package.nix b/pkgs/by-name/ro/rofi-top/package.nix index e7ca95c81e393..267a9b63759a0 100644 --- a/pkgs/by-name/ro/rofi-top/package.nix +++ b/pkgs/by-name/ro/rofi-top/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cairo -, glib -, gobject-introspection -, libgtop -, pkg-config -, rofi-unwrapped -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cairo, + glib, + gobject-introspection, + libgtop, + pkg-config, + rofi-unwrapped, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ro/rofi-vpn/package.nix b/pkgs/by-name/ro/rofi-vpn/package.nix index d900df082076d..120aa98614919 100644 --- a/pkgs/by-name/ro/rofi-vpn/package.nix +++ b/pkgs/by-name/ro/rofi-vpn/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitLab -, makeWrapper -, networkmanager -, rofi-unwrapped +{ + stdenv, + lib, + fetchFromGitLab, + makeWrapper, + networkmanager, + rofi-unwrapped, }: stdenv.mkDerivation rec { @@ -23,7 +24,12 @@ stdenv.mkDerivation rec { install -D --target-directory=$out/bin/ ./rofi-vpn wrapProgram $out/bin/rofi-vpn \ - --prefix PATH ":" ${lib.makeBinPath [ rofi-unwrapped networkmanager ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + rofi-unwrapped + networkmanager + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ro/rofimoji/package.nix b/pkgs/by-name/ro/rofimoji/package.nix index 8cc67c634e465..7123297512452 100644 --- a/pkgs/by-name/ro/rofimoji/package.nix +++ b/pkgs/by-name/ro/rofimoji/package.nix @@ -1,16 +1,17 @@ -{ lib -, python3Packages -, fetchFromGitHub -, installShellFiles - -, waylandSupport ? true -, x11Support ? true - -, rofi -, wl-clipboard -, wtype -, xdotool -, xsel +{ + lib, + python3Packages, + fetchFromGitHub, + installShellFiles, + + waylandSupport ? true, + x11Support ? true, + + rofi, + wl-clipboard, + wtype, + xdotool, + xsel, }: python3Packages.buildPythonApplication rec { @@ -32,9 +33,19 @@ python3Packages.buildPythonApplication rec { # `rofi` and the `waylandSupport` and `x11Support` dependencies # contain binaries needed at runtime. - propagatedBuildInputs = [ python3Packages.configargparse rofi ] - ++ lib.optionals waylandSupport [ wl-clipboard wtype ] - ++ lib.optionals x11Support [ xdotool xsel ]; + propagatedBuildInputs = + [ + python3Packages.configargparse + rofi + ] + ++ lib.optionals waylandSupport [ + wl-clipboard + wtype + ] + ++ lib.optionals x11Support [ + xdotool + xsel + ]; # The 'extractors' sub-module is used for development # and has additional dependencies. diff --git a/pkgs/by-name/ro/rojo/package.nix b/pkgs/by-name/ro/rojo/package.nix index ada53d437f4a0..9f2cc09443f50 100644 --- a/pkgs/by-name/ro/rojo/package.nix +++ b/pkgs/by-name/ro/rojo/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + darwin, }: let @@ -28,12 +29,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + SystemConfiguration + ]; # reqwest's native-tls-vendored feature flag uses vendored openssl. this disables that OPENSSL_NO_VENDOR = "1"; diff --git a/pkgs/by-name/ro/rolespec/package.nix b/pkgs/by-name/ro/rolespec/package.nix index e5870d582e982..f6b12a6f788bf 100644 --- a/pkgs/by-name/ro/rolespec/package.nix +++ b/pkgs/by-name/ro/rolespec/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "rolespec"; diff --git a/pkgs/by-name/ro/ronn/gemset.nix b/pkgs/by-name/ro/ronn/gemset.nix index 0a65000304be4..eb829046e9bc0 100644 --- a/pkgs/by-name/ro/ronn/gemset.nix +++ b/pkgs/by-name/ro/ronn/gemset.nix @@ -1,83 +1,91 @@ { kramdown = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn"; type = "gem"; }; version = "2.4.0"; }; kramdown-parser-gfm = { - dependencies = ["kramdown"]; - groups = ["default"]; - platforms = []; + dependencies = [ "kramdown" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; type = "gem"; }; version = "1.1.0"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; type = "gem"; }; version = "2.8.5"; }; mustache = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch"; type = "gem"; }; version = "1.1.1"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; version = "1.16.0"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; version = "1.7.3"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; version = "3.2.6"; }; ronn-ng = { - dependencies = ["kramdown" "kramdown-parser-gfm" "mustache" "nokogiri"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "kramdown" + "kramdown-parser-gfm" + "mustache" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2y2v3wkl5c710wfanqwxlxi74l1ssva8yrzsg8iypvq22h3ssf"; type = "gem"; }; diff --git a/pkgs/by-name/ro/ronn/package.nix b/pkgs/by-name/ro/ronn/package.nix index 3e0d49271177a..5c68b9ada796d 100644 --- a/pkgs/by-name/ro/ronn/package.nix +++ b/pkgs/by-name/ro/ronn/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff, callPackage }: +{ + stdenv, + lib, + bundlerEnv, + bundlerUpdateScript, + makeWrapper, + groff, + callPackage, +}: stdenv.mkDerivation rec { pname = "ronn"; @@ -34,7 +42,10 @@ stdenv.mkDerivation rec { mainProgram = "ronn"; homepage = "https://github.com/apjanke/ronn-ng"; license = licenses.mit; - maintainers = with maintainers; [ zimbatm nicknovitski ]; + maintainers = with maintainers; [ + zimbatm + nicknovitski + ]; platforms = env.ruby.meta.platforms; }; } diff --git a/pkgs/by-name/ro/ronn/test-reproducible-html.nix b/pkgs/by-name/ro/ronn/test-reproducible-html.nix index 6bc9d6cdbf9fb..5606a045b6b15 100644 --- a/pkgs/by-name/ro/ronn/test-reproducible-html.nix +++ b/pkgs/by-name/ro/ronn/test-reproducible-html.nix @@ -1,6 +1,7 @@ -{ runCommand -, diffutils -, ronn +{ + runCommand, + diffutils, + ronn, }: runCommand "ronn-test-reproducible-html" { } '' set -euo pipefail diff --git a/pkgs/by-name/ro/roogle/package.nix b/pkgs/by-name/ro/roogle/package.nix index 2964f07f06b68..26cb21501157a 100644 --- a/pkgs/by-name/ro/roogle/package.nix +++ b/pkgs/by-name/ro/roogle/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "roogle"; @@ -22,7 +26,10 @@ rustPlatform.buildRustPackage rec { description = "Rust API search engine which allows you to search functions by names and type signatures"; mainProgram = "roogle"; homepage = "https://github.com/hkmatsumoto/roogle"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ro/roomeqwizard/package.nix b/pkgs/by-name/ro/roomeqwizard/package.nix index cd67e3ad14406..f5aa37186d5be 100644 --- a/pkgs/by-name/ro/roomeqwizard/package.nix +++ b/pkgs/by-name/ro/roomeqwizard/package.nix @@ -1,15 +1,16 @@ -{ coreutils -, fetchurl -, gawk -, gnused -, jdk8 -, lib -, makeDesktopItem -, makeWrapper -, stdenv -, writeScript -, writeTextFile -, recommendedUdevRules ? true +{ + coreutils, + fetchurl, + gawk, + gnused, + jdk8, + lib, + makeDesktopItem, + makeWrapper, + stdenv, + writeScript, + writeTextFile, + recommendedUdevRules ? true, }: stdenv.mkDerivation rec { @@ -17,7 +18,9 @@ stdenv.mkDerivation rec { version = "5.31.3"; src = fetchurl { - url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh"; + url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${ + lib.replaceStrings [ "." ] [ "_" ] version + }.sh"; sha256 = "sha256-qaGkKVoiBJ2UWVKAMqbuqNFi6FGcblMxAbYwhf/71CY="; }; @@ -75,7 +78,13 @@ stdenv.mkDerivation rec { mkdir -p $out/bin $out/lib/udev/rules.d $out/share/icons/hicolor/256x256/apps makeWrapper $out/share/roomeqwizard/roomeqwizard $out/bin/roomeqwizard \ --set INSTALL4J_JAVA_HOME_OVERRIDE ${jdk8} \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnused gawk ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnused + gawk + ] + } cp -r "$desktopItem/share/applications" $out/share/ cp $out/share/roomeqwizard/.install4j/roomeqwizard.png "$out/share/icons/hicolor/256x256/apps/${pname}.png" @@ -108,7 +117,10 @@ stdenv.mkDerivation rec { homepage = "https://www.roomeqwizard.com/"; license = licenses.unfree; platforms = platforms.all; - maintainers = with maintainers; [ orivej zaninime ]; + maintainers = with maintainers; [ + orivej + zaninime + ]; description = "Room Acoustics Software"; longDescription = '' REW is free software for room acoustic measurement, loudspeaker diff --git a/pkgs/by-name/ro/roon-bridge/package.nix b/pkgs/by-name/ro/roon-bridge/package.nix index 876702f6beb7a..3e34874f0399c 100644 --- a/pkgs/by-name/ro/roon-bridge/package.nix +++ b/pkgs/by-name/ro/roon-bridge/package.nix @@ -1,26 +1,35 @@ -{ alsa-lib -, alsa-utils -, autoPatchelfHook -, fetchurl -, ffmpeg -, lib -, makeWrapper -, openssl -, stdenv -, zlib +{ + alsa-lib, + alsa-utils, + autoPatchelfHook, + fetchurl, + ffmpeg, + lib, + makeWrapper, + openssl, + stdenv, + zlib, }: let version = "1.8-1125"; urlVersion = builtins.replaceStrings [ "." "-" ] [ "00" "0" ] version; host = stdenv.hostPlatform.system; - system = if host == "x86_64-linux" then "linuxx64" - else if host == "aarch64-linux" then "linuxarmv8" - else throw "Unsupported platform ${host}"; + system = + if host == "x86_64-linux" then + "linuxx64" + else if host == "aarch64-linux" then + "linuxarmv8" + else + throw "Unsupported platform ${host}"; src = fetchurl { url = "https://download.roonlabs.com/updates/stable/RoonBridge_${system}_${urlVersion}.tar.bz2"; - hash = if system == "linuxx64" then "sha256-DbtKPFEz2WIoKTxP+zoehzz+BjfsLZ2ZQk/FMh+zFBM=" - else if system == "linuxarmv8" then "sha256-+przEj96R+f1z4ewETFarF4oY6tT2VW/ukSTgUBLiYk=" - else throw "Unsupported platform ${host}"; + hash = + if system == "linuxx64" then + "sha256-DbtKPFEz2WIoKTxP+zoehzz+BjfsLZ2ZQk/FMh+zFBM=" + else if system == "linuxarmv8" then + "sha256-+przEj96R+f1z4ewETFarF4oY6tT2VW/ukSTgUBLiYk=" + else + throw "Unsupported platform ${host}"; }; in stdenv.mkDerivation { @@ -36,7 +45,10 @@ stdenv.mkDerivation { (lib.getLib stdenv.cc.cc) ]; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; installPhase = let @@ -46,8 +58,19 @@ stdenv.mkDerivation { sed -i 's@^SCRIPT=.*@SCRIPT="$(basename "${binPath}")"@' ${binPath} wrapProgram ${binPath} \ --argv0 "$(basename ${binPath})" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ alsa-lib ffmpeg openssl ]}" \ - --prefix PATH : "${lib.makeBinPath [ alsa-utils ffmpeg ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + alsa-lib + ffmpeg + openssl + ] + }" \ + --prefix PATH : "${ + lib.makeBinPath [ + alsa-utils + ffmpeg + ] + }" ) ''; in @@ -77,7 +100,10 @@ stdenv.mkDerivation { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ lovesegfault ]; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; mainProgram = "RoonBridge"; }; } diff --git a/pkgs/by-name/ro/roon-server/package.nix b/pkgs/by-name/ro/roon-server/package.nix index dd79f2b66da5a..793f23baf000a 100644 --- a/pkgs/by-name/ro/roon-server/package.nix +++ b/pkgs/by-name/ro/roon-server/package.nix @@ -1,18 +1,19 @@ -{ alsa-lib -, alsa-utils -, autoPatchelfHook -, cifs-utils -, fetchurl -, ffmpeg -, freetype -, icu66 -, krb5 -, lib -, libtasn1 -, lttng-ust_2_12 -, makeWrapper -, openssl -, stdenv +{ + alsa-lib, + alsa-utils, + autoPatchelfHook, + cifs-utils, + fetchurl, + ffmpeg, + freetype, + icu66, + krb5, + lib, + libtasn1, + lttng-ust_2_12, + makeWrapper, + openssl, + stdenv, }: let version = "2.0-1483"; @@ -39,7 +40,10 @@ stdenv.mkDerivation { (lib.getLib stdenv.cc.cc) ]; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; installPhase = let @@ -60,9 +64,22 @@ stdenv.mkDerivation { makeWrapper "$dotnetDir/$binName" "${binPath}" \ --add-flags "$binDir/$binName.dll" \ --argv0 "$binName" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ alsa-lib icu66 ffmpeg openssl ]}" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + alsa-lib + icu66 + ffmpeg + openssl + ] + }" \ --prefix PATH : "$dotnetDir" \ - --prefix PATH : "${lib.makeBinPath [ alsa-utils cifs-utils ffmpeg ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + alsa-utils + cifs-utils + ffmpeg + ] + }" \ --chdir "$binDir" \ --set DOTNET_ROOT "$dotnetDir" ) @@ -93,7 +110,10 @@ stdenv.mkDerivation { homepage = "https://roonlabs.com"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ lovesegfault steell ]; + maintainers = with maintainers; [ + lovesegfault + steell + ]; platforms = [ "x86_64-linux" ]; mainProgram = "RoonServer"; }; diff --git a/pkgs/by-name/ro/roon-tui/package.nix b/pkgs/by-name/ro/roon-tui/package.nix index 5f3157cd70bde..a319ccad98234 100644 --- a/pkgs/by-name/ro/roon-tui/package.nix +++ b/pkgs/by-name/ro/roon-tui/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ro/root/tests/test-thisroot.nix b/pkgs/by-name/ro/root/tests/test-thisroot.nix index 3610e23acbffb..9927d312d90d2 100644 --- a/pkgs/by-name/ro/root/tests/test-thisroot.nix +++ b/pkgs/by-name/ro/root/tests/test-thisroot.nix @@ -1,17 +1,19 @@ -{ lib -, runCommand -, root -, bash -, fish -, tcsh -, zsh -}: runCommand "test-thisroot" { - meta = with lib; { - description = "Test for root thisroot.* sourcing"; - maintainers = unique ((with maintainers; [ ShamrockLee ]) ++ root.meta.maintainers); - }; -} + lib, + runCommand, + root, + bash, + fish, + tcsh, + zsh, +}: +runCommand "test-thisroot" + { + meta = with lib; { + description = "Test for root thisroot.* sourcing"; + maintainers = unique ((with maintainers; [ ShamrockLee ]) ++ root.meta.maintainers); + }; + } '' set -eu -o pipefail declare -a shellNameArray shellOutpathArray sourcefileNameArray sourceCommandArray diff --git a/pkgs/by-name/ro/root5/package.nix b/pkgs/by-name/ro/root5/package.nix index 01fb35ee76d81..375fff26a01c8 100644 --- a/pkgs/by-name/ro/root5/package.nix +++ b/pkgs/by-name/ro/root5/package.nix @@ -137,42 +137,45 @@ stdenv.mkDerivation rec { substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true" ''; - cmakeFlags = [ - "-Drpath=ON" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_CXX_FLAGS=-std=c++11" - "-Dalien=OFF" - "-Dbonjour=OFF" - "-Dcastor=OFF" - "-Dchirp=OFF" - "-Ddavix=OFF" - "-Ddcache=OFF" - "-Dfftw3=OFF" - "-Dfitsio=OFF" - "-Dfortran=OFF" - "-Dgfal=OFF" - "-Dgsl_shared=ON" - "-Dgviz=OFF" - "-Dhdfs=OFF" - "-Dkrb5=OFF" - "-Dldap=OFF" - "-Dmathmore=ON" - "-Dmonalisa=OFF" - "-Dmysql=OFF" - "-Dodbc=OFF" - "-Dopengl=ON" - "-Doracle=OFF" - "-Dpgsql=OFF" - "-Dpythia6=OFF" - "-Dpythia8=OFF" - "-Drfio=OFF" - "-Dsqlite=OFF" - "-Dssl=OFF" - "-Dxml=ON" - "-Dxrootd=OFF" - ] - ++ lib.optional ((!stdenv.hostPlatform.isDarwin) && (stdenv.cc.libc != null)) "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"; + cmakeFlags = + [ + "-Drpath=ON" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-Dalien=OFF" + "-Dbonjour=OFF" + "-Dcastor=OFF" + "-Dchirp=OFF" + "-Ddavix=OFF" + "-Ddcache=OFF" + "-Dfftw3=OFF" + "-Dfitsio=OFF" + "-Dfortran=OFF" + "-Dgfal=OFF" + "-Dgsl_shared=ON" + "-Dgviz=OFF" + "-Dhdfs=OFF" + "-Dkrb5=OFF" + "-Dldap=OFF" + "-Dmathmore=ON" + "-Dmonalisa=OFF" + "-Dmysql=OFF" + "-Dodbc=OFF" + "-Dopengl=ON" + "-Doracle=OFF" + "-Dpgsql=OFF" + "-Dpythia6=OFF" + "-Dpythia8=OFF" + "-Drfio=OFF" + "-Dsqlite=OFF" + "-Dssl=OFF" + "-Dxml=ON" + "-Dxrootd=OFF" + ] + ++ lib.optional ( + (!stdenv.hostPlatform.isDarwin) && (stdenv.cc.libc != null) + ) "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"; env.NIX_CFLAGS_COMPILE = "-fpermissive"; diff --git a/pkgs/by-name/ro/rootbar/package.nix b/pkgs/by-name/ro/rootbar/package.nix index 1901a33f11ff8..b4f5446672cc6 100644 --- a/pkgs/by-name/ro/rootbar/package.nix +++ b/pkgs/by-name/ro/rootbar/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchhg -, pkg-config -, meson -, ninja -, gtk3 -, json_c -, libpulseaudio -, wayland -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchhg, + pkg-config, + meson, + ninja, + gtk3, + json_c, + libpulseaudio, + wayland, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -21,7 +23,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja pkg-config wrapGAppsHook3 + meson + ninja + pkg-config + wrapGAppsHook3 ]; buildInputs = [ diff --git a/pkgs/by-name/ro/rootlesskit/package.nix b/pkgs/by-name/ro/rootlesskit/package.nix index d3f7dd2af9221..63ad234b0f17f 100644 --- a/pkgs/by-name/ro/rootlesskit/package.nix +++ b/pkgs/by-name/ro/rootlesskit/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + nixosTests, +}: buildGoModule rec { pname = "rootlesskit"; diff --git a/pkgs/by-name/ro/rosa/package.nix b/pkgs/by-name/ro/rosa/package.nix index 95b1d9f68476f..8c24388bb71a9 100644 --- a/pkgs/by-name/ro/rosa/package.nix +++ b/pkgs/by-name/ro/rosa/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, rosa, nix-update-script }: +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + rosa, + nix-update-script, +}: buildGoModule rec { pname = "rosa"; @@ -12,7 +21,10 @@ buildGoModule rec { }; vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; __darwinAllowLocalNetworking = true; @@ -25,8 +37,7 @@ buildGoModule rec { skippedTests = [ "TestCluster" "TestRhRegionCommand" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "TestCache" ]; + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "TestCache" ]; in [ "-skip=^${lib.concatStringsSep "$|^" skippedTests}$" ]; diff --git a/pkgs/by-name/ro/rose-pine-cursor/package.nix b/pkgs/by-name/ro/rose-pine-cursor/package.nix index 812a52854afcd..d29bbc9888d63 100644 --- a/pkgs/by-name/ro/rose-pine-cursor/package.nix +++ b/pkgs/by-name/ro/rose-pine-cursor/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchurl +{ + lib, + stdenvNoCC, + fetchurl, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ro/rose-pine-gtk-theme/package.nix b/pkgs/by-name/ro/rose-pine-gtk-theme/package.nix index d211a99ef0800..9a92d5f769ec5 100644 --- a/pkgs/by-name/ro/rose-pine-gtk-theme/package.nix +++ b/pkgs/by-name/ro/rose-pine-gtk-theme/package.nix @@ -1,9 +1,10 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, gnome-themes-extra -, gtk-engine-murrine -, gtk_engines +{ + stdenvNoCC, + lib, + fetchFromGitHub, + gnome-themes-extra, + gtk-engine-murrine, + gtk_engines, }: stdenvNoCC.mkDerivation rec { @@ -48,6 +49,9 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/rose-pine/gtk"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [romildo the-argus]; + maintainers = with maintainers; [ + romildo + the-argus + ]; }; } diff --git a/pkgs/by-name/ro/rose-pine-icon-theme/package.nix b/pkgs/by-name/ro/rose-pine-icon-theme/package.nix index 051294c5d3a89..b2aef432e2a9d 100644 --- a/pkgs/by-name/ro/rose-pine-icon-theme/package.nix +++ b/pkgs/by-name/ro/rose-pine-icon-theme/package.nix @@ -1,7 +1,8 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, gtk3 +{ + stdenvNoCC, + lib, + fetchFromGitHub, + gtk3, }: stdenvNoCC.mkDerivation rec { @@ -42,6 +43,9 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/rose-pine/gtk"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [romildo the-argus]; + maintainers = with maintainers; [ + romildo + the-argus + ]; }; } diff --git a/pkgs/by-name/ro/rosie/package.nix b/pkgs/by-name/ro/rosie/package.nix index 5cad6650d2ce1..0d719c3a5763b 100644 --- a/pkgs/by-name/ro/rosie/package.nix +++ b/pkgs/by-name/ro/rosie/package.nix @@ -1,9 +1,9 @@ -{ lib -, stdenv -, fetchgit -, libbsd -, readline -, +{ + lib, + stdenv, + fetchgit, + libbsd, + readline, }: stdenv.mkDerivation rec { pname = "rosie"; @@ -50,7 +50,10 @@ stdenv.mkDerivation rec { makeFlags = [ "DESTDIR=${placeholder "out"}" ]; - buildInputs = [ libbsd readline ]; + buildInputs = [ + libbsd + readline + ]; meta = with lib; { homepage = "https://rosie-lang.org"; diff --git a/pkgs/by-name/ro/roslyn-ls/deps.nix b/pkgs/by-name/ro/roslyn-ls/deps.nix index 68dc8ec760578..1f9fcc73e3489 100644 --- a/pkgs/by-name/ro/roslyn-ls/deps.nix +++ b/pkgs/by-name/ro/roslyn-ls/deps.nix @@ -1,209 +1,1230 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "dotnet-format"; version = "7.0.360304"; hash = "sha256-TuhZIhearocl702hLzGJCcRd8+RWoI4tDY02Bf6Lus8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/dotnet-format/7.0.360304/dotnet-format.7.0.360304.nupkg"; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg"; }) - (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "8.1.1.7464"; hash = "sha256-71/e9zuQIfqRXOiWxZkUFW/tMAj63nE8tg/sR7bGzuM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/icsharpcode.decompiler/8.1.1.7464/icsharpcode.decompiler.8.1.1.7464.nupkg"; }) - (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; hash = "sha256-+vMXyEbfutY5WOFuFnNF24uLcKJTTdntVrVlSJH4yjI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.108/messagepack.2.5.108.nupkg"; }) - (fetchNuGet { pname = "MessagePack"; version = "2.5.124"; hash = "sha256-3ZUXCiDKpD82W+prJ5yLFm/gmztNsm8W0NPRs74bgrw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.124/messagepack.2.5.124.nupkg"; }) - (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.108"; hash = "sha256-u3Qu8UftNIz3oIzQUMa7Z0G6VzmDLcAnAeNQ3lB3YVk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack.annotations/2.5.108/messagepack.annotations.2.5.108.nupkg"; }) - (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.124"; hash = "sha256-4zgAUW6py8CA2hMGUUrHr7Q6vKeRBqOCmcKgAR9fRGg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack.annotations/2.5.124/messagepack.annotations.2.5.124.nupkg"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.ExternalAccess.RoslynWorkspace"; version = "9.0.0-preview.24555.12"; hash = "sha256-SMOU22F2xZkFM6KRRETeRR79BuVccALMGH+zcgyqq4M="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.aspnetcore.razor.externalaccess.roslynworkspace/9.0.0-preview.24555.12/microsoft.aspnetcore.razor.externalaccess.roslynworkspace.9.0.0-preview.24555.12.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "8.0.0"; hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/8.0.0/microsoft.bcl.asyncinterfaces.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build"; version = "17.12.0-preview-24426-07"; hash = "sha256-OHQd2npzibOaNSR2sq3NrKKtAALOmnIARmFoBaXiJ0k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build/17.12.0-preview-24426-07/microsoft.build.17.12.0-preview-24426-07.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build"; version = "17.3.4"; hash = "sha256-LHtjk4vxeVSLzAKAcG8BN+S20d2sUR2DAOsSXLNIy5U="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build/17.3.4/microsoft.build.17.3.4.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build"; version = "17.7.2"; hash = "sha256-k35nFdPxC8t0zAltVSmAJtsepp/ubNIjPOsJ6k8jSqM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/17.7.2/microsoft.build.17.7.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.12.0-preview-24426-07"; hash = "sha256-p5JNAp442gjiu14gfM4eF477iT9Ttac8ALHXISbsecs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.framework/17.12.0-preview-24426-07/microsoft.build.framework.17.12.0-preview-24426-07.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.3.4"; hash = "sha256-p2JG7pMBGfDVP6sOzBOqOkImZmwotlGvfS+8BjjVYf8="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.framework/17.3.4/microsoft.build.framework.17.3.4.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.7.2"; hash = "sha256-fNWmVQYFTJDveAGmxEdNqJRAczV6+Ep8RA8clKBJFqw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/17.7.2/microsoft.build.framework.17.7.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Locator"; version = "1.6.10"; hash = "sha256-hOFFiQiCNkkDqt0Ad/4Y/sggj4t0zWXmfGjE+I/cqqM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.locator/1.6.10/microsoft.build.locator.1.6.10.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.12.0-preview-24426-07"; hash = "sha256-2igOkxetlTeRv2Xq5wVcQXU7hxdP43yMJq3aK6vndoI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.tasks.core/17.12.0-preview-24426-07/microsoft.build.tasks.core.17.12.0-preview-24426-07.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.3.4"; hash = "sha256-0RA95pD6zHBf1lgYyrrAuEuNeGwuCgGxNdhEJ0cJUCs="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.tasks.core/17.3.4/microsoft.build.tasks.core.17.3.4.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.7.2"; hash = "sha256-OrV/qWgZHzGlNUmaSfX5wDBcmg1aQeF3/OUHpSH+uZU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/17.7.2/microsoft.build.tasks.core.17.7.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.12.0-preview-24426-07"; hash = "sha256-np372GONmrZJ8ppPxjZrvtofA5gTnUf2n/Pn9f02ilo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.utilities.core/17.12.0-preview-24426-07/microsoft.build.utilities.core.17.12.0-preview-24426-07.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.3.4"; hash = "sha256-SfZxr5xDANnDnC1HCUgho2H9MnF6n51cM47Rrf07fWw="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.utilities.core/17.3.4/microsoft.build.utilities.core.17.3.4.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.7.2"; hash = "sha256-oatF0KfuP1nb4+OLNKg2/R/ZLO4EiACaO5leaxMEY4A="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/17.7.2/microsoft.build.utilities.core.17.7.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.11.0"; hash = "sha256-hQ2l6E6PO4m7i+ZsfFlEx+93UsLPo4IY3wDkNG11/Sw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/3.11.0/microsoft.codeanalysis.analyzers.3.11.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; version = "3.3.0"; hash = "sha256-nzFs+H0FFEgZzjl/bcmWyQQVKS2PncS6kMYHOqrxXSw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzerutilities/3.3.0/microsoft.codeanalysis.analyzerutilities.3.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.11.0-beta1.24081.1"; hash = "sha256-5UN//A8oc2w+UoxAwWmXWRXykQD+2mpa1hbJrAfh2Lg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.11.0-beta1.24081.1/microsoft.codeanalysis.bannedapianalyzers.3.11.0-beta1.24081.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.1.0"; hash = "sha256-g3RLyeHfdOOF6H89VLJi06/k8/eJ6j2dgNYZ/MBdfNU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/4.1.0/microsoft.codeanalysis.common.4.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Elfie"; version = "1.0.0"; hash = "sha256-E/+PlegvWZ59e5Ti3TvKJBLa3qCnDKmi7+DcnOo1ufg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.elfie/1.0.0/microsoft.codeanalysis.elfie.1.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "8.0.0-preview.23468.1"; hash = "sha256-2wF9nG7tL92RKT46l5A0EQB3uow93516Dh8hSw7kUvg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49a1bb2b-12b0-475f-adbd-1560fc76be38/nuget/v3/flat2/microsoft.codeanalysis.netanalyzers/8.0.0-preview.23468.1/microsoft.codeanalysis.netanalyzers.8.0.0-preview.23468.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers"; version = "3.3.4-beta1.22504.1"; hash = "sha256-HYGDtRhUgaIG5t4VpOt3ZFQ8nqLSJ6mTR5964FMmK50="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/e31c6eea-0277-49f3-8194-142be67a9f72/nuget/v3/flat2/microsoft.codeanalysis.performancesensitiveanalyzers/3.3.4-beta1.22504.1/microsoft.codeanalysis.performancesensitiveanalyzers.3.3.4-beta1.22504.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.PublicApiAnalyzers"; version = "3.11.0-beta1.24081.1"; hash = "sha256-nXx0MSYXVzdr0jcNo9aZLocZU1ywN+n/vdD2kYBh5TI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.11.0-beta1.24081.1/microsoft.codeanalysis.publicapianalyzers.3.11.0-beta1.24081.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DiaSymReader"; version = "2.0.0"; hash = "sha256-8hotZmh8Rb6Q6oD9Meb74SvAdbDo39Y/1m8h43HHjjw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader/2.0.0/microsoft.diasymreader.2.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.Arcade.Sdk"; version = "9.0.0-beta.24572.2"; hash = "sha256-dTYFN1KH3grxcf/On6GLW5WdFliq91Y37DeWDCwiryM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/9.0.0-beta.24572.2/microsoft.dotnet.arcade.sdk.9.0.0-beta.24572.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.XliffTasks"; version = "9.0.0-beta.24076.5"; hash = "sha256-5cREL85PwcDwo4yyc2Eh908HQ/Cm36w9uZSIvVELZH0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/9.0.0-beta.24076.5/microsoft.dotnet.xlifftasks.9.0.0-beta.24076.5.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration/8.0.0/microsoft.extensions.configuration.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration.binder/8.0.0/microsoft.extensions.configuration.binder.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.dependencyinjection/8.0.0/microsoft.extensions.dependencyinjection.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.dependencyinjection.abstractions/8.0.0/microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.filesystemglobbing/8.0.0/microsoft.extensions.filesystemglobbing.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging/8.0.0/microsoft.extensions.logging.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.abstractions/8.0.0/microsoft.extensions.logging.abstractions.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.configuration/8.0.0/microsoft.extensions.logging.configuration.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.console/8.0.0/microsoft.extensions.logging.console.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "8.0.0"; hash = "sha256-FxFr5GC0y6vnp5YD2A2vISXYizAz3k/QyrH7sBXP5kg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.objectpool/8.0.0/microsoft.extensions.objectpool.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.options.configurationextensions/8.0.0/microsoft.extensions.options.configurationextensions.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.primitives/8.0.0/microsoft.extensions.primitives.8.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.IO.Redist"; version = "6.0.1"; hash = "sha256-IaATAy1M/MEBTid0mQiTrHj4aTwo2POCtckxSbLc3lU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.io.redist/6.0.1/microsoft.io.redist.6.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.12.0-preview-24426-07"; hash = "sha256-yoReTrCOhI6ud3v6fLGi5ivS0RuBDhDWw/giD9+bYOk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.stringtools/17.12.0-preview-24426-07/microsoft.net.stringtools.17.12.0-preview-24426-07.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; hash = "sha256-+9uBaUDZ3roUJwyYJUL30Mz+3C6LE16FzfQKgS0Yveo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.4.0/microsoft.net.stringtools.17.4.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.6.3"; hash = "sha256-H2Qw8x47WyFOd/VmgRmGMc+uXySgUv68UISgK8Frsjw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.6.3/microsoft.net.stringtools.17.6.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.7.2"; hash = "sha256-hQE07TCgcQuyu9ZHVq2gPDb0+xe8ECJUdrgh17bJP4o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.7.2/microsoft.net.stringtools.17.7.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.3"; hash = "sha256-WLsf1NuUfRWyr7C7Rl9jiua9jximnVvzy6nk2D2bVRc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.3/microsoft.netcore.targets.1.1.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.3/microsoft.netframework.referenceassemblies.1.0.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.3"; hash = "sha256-/6ClVwo5+RE5kWTQWB/93vmbXj37ql8iDlziKWm89Xw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.3/microsoft.netframework.referenceassemblies.net472.1.0.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.ServiceHub.Analyzers"; version = "4.7.32-beta"; hash = "sha256-vYKNtk5BauoAwUt2g+0GodmRZ9JWHWfFIBrcOPFHuyQ="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.servicehub.analyzers/4.7.32-beta/microsoft.servicehub.analyzers.4.7.32-beta.nupkg"; }) - (fetchNuGet { pname = "Microsoft.ServiceHub.Client"; version = "4.2.1017"; hash = "sha256-Achfy4EpZfcIOf02P8onWJH1cte+rP9ZAy94Gf4MVCA="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/2a239fd0-3e21-40b0-b9d6-bc122fec7eb2/nuget/v3/flat2/microsoft.servicehub.client/4.2.1017/microsoft.servicehub.client.4.2.1017.nupkg"; }) - (fetchNuGet { pname = "Microsoft.ServiceHub.Framework"; version = "4.7.32-beta"; hash = "sha256-QGtg9LL8FRRjDiMn5sJYPn1gliSzzxokyMVsa1uvDfs="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.servicehub.framework/4.7.32-beta/microsoft.servicehub.framework.4.7.32-beta.nupkg"; }) - (fetchNuGet { pname = "Microsoft.ServiceHub.Resources"; version = "4.2.1017"; hash = "sha256-6nq1jsXLThMritNI1CZj5Batfo/0W0Pt2iLY72yZGNw="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/2a239fd0-3e21-40b0-b9d6-bc122fec7eb2/nuget/v3/flat2/microsoft.servicehub.resources/4.2.1017/microsoft.servicehub.resources.4.2.1017.nupkg"; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.5.0"; hash = "sha256-M8Ct2u3RaTxWip0XBLPtL2xeGsYz1rjKgfsV++nZDPg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.testplatform.objectmodel/17.5.0/microsoft.testplatform.objectmodel.17.5.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TranslationLayer"; version = "17.5.0"; hash = "sha256-rVgeXl/F8jqXJhQcrm2tV6jvsYHA6UF+5crLVr4GZBA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.testplatform.translationlayer/17.5.0/microsoft.testplatform.translationlayer.17.5.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Composition"; version = "17.12.17-preview"; hash = "sha256-RxakGlbjWXC28F50Z5Ayez5gVsmCeyPqOKw3aBCKrDc="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.composition/17.12.17-preview/microsoft.visualstudio.composition.17.12.17-preview.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Composition.Analyzers"; version = "17.12.17-preview"; hash = "sha256-tZ7SmS9wq1f7FJMLo+c5YRdeAoJ7ZHemhgtXiTTzqIU="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.composition.analyzers/17.12.17-preview/microsoft.visualstudio.composition.analyzers.17.12.17-preview.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.RemoteControl"; version = "16.3.52"; hash = "sha256-J/egIc9ovDi1MUrnyKnpadECQqAB1WUUyrbxINv4zRE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.remotecontrol/16.3.52/microsoft.visualstudio.remotecontrol.16.3.52.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "3.2.2146"; hash = "sha256-ic5h0cmHIaowJfItTLXLnmFhIg4NhaoMoWVAFMHKdzQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/3.2.2146/microsoft.visualstudio.setup.configuration.interop.3.2.2146.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Telemetry"; version = "17.12.32"; hash = "sha256-HkAQyMovZEABmgcaaSo/DOyRbx+pyVOZGxEm7GEKd2E="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.telemetry/17.12.32/microsoft.visualstudio.telemetry.17.12.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.12.13-preview"; hash = "sha256-StuzZma2nOXFJ5Al9AZZPo0kM4FrTgHYz2ji+zKgtlM="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.threading/17.12.13-preview/microsoft.visualstudio.threading.17.12.13-preview.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.12.13-preview"; hash = "sha256-wrCnLYNSujq8fcpmjm/yTTY7uVOPAjpJA+1X8ujuVbA="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.threading.analyzers/17.12.13-preview/microsoft.visualstudio.threading.analyzers.17.12.13-preview.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Utilities.Internal"; version = "16.3.73"; hash = "sha256-zwk4jWuCw2ANhG00TnwT9JE7n/h2EQkYKeq6o966ilo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.utilities.internal/16.3.73/microsoft.visualstudio.utilities.internal.16.3.73.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.8.8"; hash = "sha256-sB8GLRiJHX3Py7qeBUnUANiDWhyPtISon6HQs+8wKms="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.validation/17.8.8/microsoft.visualstudio.validation.17.8.8.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/5.0.0/microsoft.win32.registry.5.0.0.nupkg"; }) - (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.11.79"; hash = "sha256-1bzibVcSH8LJMR8Nb6Q0q/7fieTgxRnVY4C1RvRbrrI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nerdbank.streams/2.11.79/nerdbank.streams.2.11.79.nupkg"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.0/netstandard.library.2.0.0.nupkg"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/13.0.3/newtonsoft.json.13.0.3.nupkg"; }) - (fetchNuGet { pname = "NuGet.Common"; version = "6.8.0-rc.112"; hash = "sha256-LfIF8idaAeEfEeaXlhUhw4KcY0QXzMNwHqvAInSgF5c="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.8.0-rc.112/nuget.common.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.Configuration"; version = "6.8.0-rc.112"; hash = "sha256-tWhwgxiaXcWPXdZVnDS2wsdblN6FoPR/uGmW57y3Fnw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.8.0-rc.112/nuget.configuration.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.8.0-rc.112"; hash = "sha256-nS0Km+T6sRdIQLzwqjluHoV3MQe2dxwYhCrnKuURoSs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.8.0-rc.112/nuget.dependencyresolver.core.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; hash = "sha256-n+hxcrf+sXM80Tv9YH9x4+hwTslVidFq4tjBNPAzYnM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.frameworks/5.11.0/nuget.frameworks.5.11.0.nupkg"; }) - (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.8.0-rc.112"; hash = "sha256-0dmY/5/Pa+FW3ck0q8zdeHjt59PAeNNCh0tu+wY2260="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.8.0-rc.112/nuget.frameworks.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.8.0-rc.112"; hash = "sha256-8D1DetEC3pkDDRGdmjlfrKRQ9xqEwqnga3ZixZYMsIg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.8.0-rc.112/nuget.librarymodel.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.Packaging"; version = "6.8.0-rc.112"; hash = "sha256-Z9E9TIQSd+8gkOyc2k4LompDwdLQJMGNbHEt3DG1I4g="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.8.0-rc.112/nuget.packaging.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.8.0-rc.112"; hash = "sha256-geQh1fSRTp2FTzeilFL8gxFFq7q8u7YaakShPKiTwns="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.8.0-rc.112/nuget.projectmodel.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.Protocol"; version = "6.8.0-rc.112"; hash = "sha256-6r/MJCo2ngibSAfNdH+xmeNUl38EPjQkaewKsTJpfvU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.8.0-rc.112/nuget.protocol.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "NuGet.Versioning"; version = "6.8.0-rc.112"; hash = "sha256-BzAWS5wpGnNj0gU33sfWao7BELGjrQBT4xj3EC7qRRE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.8.0-rc.112/nuget.versioning.6.8.0-rc.112.nupkg"; }) - (fetchNuGet { pname = "PowerShell"; version = "7.0.0"; hash = "sha256-ioasr71UIhDmeZ2Etw52lQ7QsioEd1pnbpVlEeCyUI4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/powershell/7.0.0/powershell.7.0.0.nupkg"; }) - (fetchNuGet { pname = "RichCodeNav.EnvVarDump"; version = "0.1.1643-alpha"; hash = "sha256-bwND+Na9iEnkEdeL1elY34+m4/F4BYATBHv/2BEw4d4="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; }) - (fetchNuGet { pname = "Roslyn.Diagnostics.Analyzers"; version = "3.11.0-beta1.24081.1"; hash = "sha256-wIOhKwvYetwytnuNX0uNC5oyBDU7xAhLqzTvyuGDVMM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.11.0-beta1.24081.1/roslyn.diagnostics.analyzers.3.11.0-beta1.24081.1.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.microsoft.win32.primitives/4.3.0/runtime.unix.microsoft.win32.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.diagnostics.debug/4.3.0/runtime.unix.system.diagnostics.debug.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.io.filesystem/4.3.0/runtime.unix.system.io.filesystem.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.primitives/4.3.0/runtime.unix.system.net.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.sockets/4.3.0/runtime.unix.system.net.sockets.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.private.uri/4.3.0/runtime.unix.system.private.uri.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.runtime.extensions/4.3.0/runtime.unix.system.runtime.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "2.1.0"; hash = "sha256-W14WMqNZndRmnySqLdFqmvfbH14kJxMV6+/4dIS0CwE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.bundle_green/2.1.0/sqlitepclraw.bundle_green.2.1.0.nupkg"; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.0"; hash = "sha256-l1lfw114VmMprNFNn1fM/wzKEbDywXDlgdTQWWbqBU8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.core/2.1.0/sqlitepclraw.core.2.1.0.nupkg"; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.0"; hash = "sha256-XsObwf7Fza9G1JCZvQ+SqMqQUdZNU3WcJYYp3cqfc8U="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.lib.e_sqlite3/2.1.0/sqlitepclraw.lib.e_sqlite3.2.1.0.nupkg"; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.1.0"; hash = "sha256-2JLlOroGdfziGi+VpgBjtm9IHofG976T+9lZb+fQRok="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.provider.dynamic_cdecl/2.1.0/sqlitepclraw.provider.dynamic_cdecl.2.1.0.nupkg"; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.0"; hash = "sha256-VkGdCCECj+0oaha/QsyfF9CQoaurC/KO2RHR2GaI77w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.provider.e_sqlite3/2.1.0/sqlitepclraw.provider.e_sqlite3.2.1.0.nupkg"; }) - (fetchNuGet { pname = "StreamJsonRpc"; version = "2.20.8-beta"; hash = "sha256-cELu//Ad7sAITbq/i5ISi4g1Mvf9mUIYT6vDTukUjQY="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/streamjsonrpc/2.20.8-beta/streamjsonrpc.2.20.8-beta.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; }) - (fetchNuGet { pname = "System.CodeDom"; version = "7.0.0"; hash = "sha256-7IPt39cY+0j0ZcRr/J45xPtEjnSXdUJ/5ai3ebaYQiE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.codedom/7.0.0/system.codedom.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/8.0.0/system.collections.immutable.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta4.24528.1"; hash = "sha256-C1CMTF8ejnnk9h6Yih8ajWeNiQK6czWZTgBSEhGZNGQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/flat2/system.commandline/2.0.0-beta4.24528.1/system.commandline.2.0.0-beta4.24528.1.nupkg"; }) - (fetchNuGet { pname = "System.ComponentModel.Composition"; version = "8.0.0"; hash = "sha256-MnKdjE/qIvAmEeRc3gOn5uJhT0TI3UnUJPjj3TLHFQo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.componentmodel.composition/8.0.0/system.componentmodel.composition.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Composition"; version = "8.0.0"; hash = "sha256-rA118MFj6soKN++BvD3y9gXAJf0lZJAtGARuznG5+Xg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition/8.0.0/system.composition.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "8.0.0"; hash = "sha256-n3aXiBAFIlQicSRLiNtLh++URSUxRBLggsjJ8OMNRpo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.attributedmodel/8.0.0/system.composition.attributedmodel.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "8.0.0"; hash = "sha256-Z9HOAnH1lt1qc38P3Y0qCf5gwBwiLXQD994okcy53IE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.convention/8.0.0/system.composition.convention.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "8.0.0"; hash = "sha256-axKJC71oKiNWKy66TVF/c3yoC81k03XHAWab3mGNbr0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.hosting/8.0.0/system.composition.hosting.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "8.0.0"; hash = "sha256-AxwZ29+GY0E35Pa255q8AcMnJU52Txr5pBy86t6V1Go="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.runtime/8.0.0/system.composition.runtime.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "8.0.0"; hash = "sha256-+ZJawThmiYEUNJ+cB9uJK+u/sCAVZarGd5ShZoSifGo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.typedparts/8.0.0/system.composition.typedparts.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "8.0.0"; hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/8.0.0/system.configuration.configurationmanager.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Data.DataSetExtensions"; version = "4.5.0"; hash = "sha256-qppO0L8BpI7cgaStqBhn6YJYFjFdSwpXlRih0XFsaT4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.data.datasetextensions/4.5.0/system.data.datasetextensions.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.1"; hash = "sha256-zmwHjcJgKcbkkwepH038QhcnsWMJcHys+PEbFGC0Jgo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/8.0.1/system.diagnostics.diagnosticsource.8.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.eventlog/8.0.0/system.diagnostics.eventlog.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.PerformanceCounter"; version = "7.0.0"; hash = "sha256-t+l5WgfxivrZhWKjr0rpqtCcNXyRgytsGgWf/BIv5PU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.performancecounter/7.0.0/system.diagnostics.performancecounter.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.3.0"; hash = "sha256-Rzo24qXhuJDDgrGNHr2eQRHhwLmsYmWDqAg/P5fOlzw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.3.0/system.diagnostics.process.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; hash = "sha256-xpxwaXsRcgso8Gj0cqY4+Hvvz6vZkmEMh5/J204j3M8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.3.0/system.diagnostics.tracesource.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Formats.Asn1"; version = "7.0.0"; hash = "sha256-eMF+SD/yeslf/wOIlOTlpfpj3LtP6HUilGeSj++bJKg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.formats.asn1/7.0.0/system.formats.asn1.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.accesscontrol/5.0.0/system.io.filesystem.accesscontrol.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "8.0.0"; hash = "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipelines/8.0.0/system.io.pipelines.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.Pipes"; version = "4.3.0"; hash = "sha256-2QA4FIwDB7mT4Hs8bj0oDJcCzr4ycsw+tSzF+58J+/k="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipes/4.3.0/system.io.pipes.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Management"; version = "7.0.0"; hash = "sha256-QEdYBz8f80t9mvhSzOHsSIc7J0VeOEOzkZnROr/kffQ="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/7.0.0/system.management.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.5/system.memory.4.5.5.nupkg"; }) - (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.nameresolution/4.3.0/system.net.nameresolution.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.2"; hash = "sha256-jB2+W3tTQ6D9XHy5sEFMAazIe1fu2jrENUO0cb48OgU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.uri/4.3.2/system.private.uri.4.3.2.nupkg"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.7.0/system.reflection.emit.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.7.0"; hash = "sha256-GUnQeGo/DtvZVQpFnESGq7lJcjB30/KnDY7Kd2G/ElE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.7.0/system.reflection.emit.ilgeneration.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; hash = "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.7.0/system.reflection.emit.lightweight.4.7.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "8.0.0"; hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/8.0.0/system.reflection.metadata.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.MetadataLoadContext"; version = "7.0.0"; hash = "sha256-VYl6SFD130K9Aw4eJH16ApJ9Sau4Xu0dcxEip2veuTI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/7.0.0/system.reflection.metadataloadcontext.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.MetadataLoadContext"; version = "8.0.0"; hash = "sha256-jS5XPZiHjY2CJFnLSxL6U7lMrU3ZknvB4EOgMbG0LEo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/8.0.0/system.reflection.metadataloadcontext.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.Extensions"; version = "8.0.0"; hash = "sha256-5dHZdRwq0tdQanaU5Hw3QISvqSijSGrTa2VdgwifGDI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/8.0.0/system.resources.extensions.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/5.0.0/system.security.accesscontrol.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "7.0.2"; hash = "sha256-qS5Z/Yo8J+f3ExVX5Qkcpj1Z57oUZqz5rWa1h5bVpl8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.pkcs/7.0.2/system.security.cryptography.pkcs.7.0.2.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.protecteddata/8.0.0/system.security.cryptography.protecteddata.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "7.0.1"; hash = "sha256-CH8+JVC8LyCSW75/6ZQ7ecMbSOAE1c16z4dG8JTp01w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.xml/7.0.1/system.security.cryptography.xml.7.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "8.0.0"; hash = "sha256-+YUPY+3HnTmfPLZzr+5qEk0RqalCbFZBgLXee1yCH1M="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/8.0.0/system.security.permissions.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal/4.3.0/system.security.principal.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.3.0/system.security.principal.windows.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "7.0.0"; hash = "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/7.0.0/system.text.encoding.codepages.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/8.0.0/system.text.encodings.web.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.4"; hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/8.0.4/system.text.json.8.0.4.nupkg"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "7.0.0"; hash = "sha256-Cu0gjQsLIR8Yvh0B4cOPJSYVq10a+3F9pVz/C43CNeM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.channels/7.0.0/system.threading.channels.7.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.3.0"; hash = "sha256-tUX099CChkqWiHyP/1e4jGYzZAjgIthMOdMmiOGMUNk="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.overlapped/4.3.0/system.threading.overlapped.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "8.0.0"; hash = "sha256-Q6fPtMPNW4+SDKCabJzNS+dw4B04Oxd9sHH505bFtQo="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/8.0.0/system.threading.tasks.dataflow.8.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Windows.Extensions"; version = "8.0.0"; hash = "sha256-aHkz7LtmUDDRS7swQM0i6dDVUytRCMYeA2CfaeVA2Y0="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.windows.extensions/8.0.0/system.windows.extensions.8.0.0.nupkg"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "dotnet-format"; + version = "7.0.360304"; + hash = "sha256-TuhZIhearocl702hLzGJCcRd8+RWoI4tDY02Bf6Lus8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/dotnet-format/7.0.360304/dotnet-format.7.0.360304.nupkg"; + }) + (fetchNuGet { + pname = "Humanizer.Core"; + version = "2.14.1"; + hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg"; + }) + (fetchNuGet { + pname = "ICSharpCode.Decompiler"; + version = "8.1.1.7464"; + hash = "sha256-71/e9zuQIfqRXOiWxZkUFW/tMAj63nE8tg/sR7bGzuM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/icsharpcode.decompiler/8.1.1.7464/icsharpcode.decompiler.8.1.1.7464.nupkg"; + }) + (fetchNuGet { + pname = "MessagePack"; + version = "2.5.108"; + hash = "sha256-+vMXyEbfutY5WOFuFnNF24uLcKJTTdntVrVlSJH4yjI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.108/messagepack.2.5.108.nupkg"; + }) + (fetchNuGet { + pname = "MessagePack"; + version = "2.5.124"; + hash = "sha256-3ZUXCiDKpD82W+prJ5yLFm/gmztNsm8W0NPRs74bgrw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.124/messagepack.2.5.124.nupkg"; + }) + (fetchNuGet { + pname = "MessagePack.Annotations"; + version = "2.5.108"; + hash = "sha256-u3Qu8UftNIz3oIzQUMa7Z0G6VzmDLcAnAeNQ3lB3YVk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack.annotations/2.5.108/messagepack.annotations.2.5.108.nupkg"; + }) + (fetchNuGet { + pname = "MessagePack.Annotations"; + version = "2.5.124"; + hash = "sha256-4zgAUW6py8CA2hMGUUrHr7Q6vKeRBqOCmcKgAR9fRGg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack.annotations/2.5.124/messagepack.annotations.2.5.124.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Razor.ExternalAccess.RoslynWorkspace"; + version = "9.0.0-preview.24555.12"; + hash = "sha256-SMOU22F2xZkFM6KRRETeRR79BuVccALMGH+zcgyqq4M="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.aspnetcore.razor.externalaccess.roslynworkspace/9.0.0-preview.24555.12/microsoft.aspnetcore.razor.externalaccess.roslynworkspace.9.0.0-preview.24555.12.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "8.0.0"; + hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/8.0.0/microsoft.bcl.asyncinterfaces.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build"; + version = "17.12.0-preview-24426-07"; + hash = "sha256-OHQd2npzibOaNSR2sq3NrKKtAALOmnIARmFoBaXiJ0k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build/17.12.0-preview-24426-07/microsoft.build.17.12.0-preview-24426-07.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build"; + version = "17.3.4"; + hash = "sha256-LHtjk4vxeVSLzAKAcG8BN+S20d2sUR2DAOsSXLNIy5U="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build/17.3.4/microsoft.build.17.3.4.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build"; + version = "17.7.2"; + hash = "sha256-k35nFdPxC8t0zAltVSmAJtsepp/ubNIjPOsJ6k8jSqM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/17.7.2/microsoft.build.17.7.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "17.12.0-preview-24426-07"; + hash = "sha256-p5JNAp442gjiu14gfM4eF477iT9Ttac8ALHXISbsecs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.framework/17.12.0-preview-24426-07/microsoft.build.framework.17.12.0-preview-24426-07.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "17.3.4"; + hash = "sha256-p2JG7pMBGfDVP6sOzBOqOkImZmwotlGvfS+8BjjVYf8="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.framework/17.3.4/microsoft.build.framework.17.3.4.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "17.7.2"; + hash = "sha256-fNWmVQYFTJDveAGmxEdNqJRAczV6+Ep8RA8clKBJFqw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/17.7.2/microsoft.build.framework.17.7.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Locator"; + version = "1.6.10"; + hash = "sha256-hOFFiQiCNkkDqt0Ad/4Y/sggj4t0zWXmfGjE+I/cqqM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.locator/1.6.10/microsoft.build.locator.1.6.10.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Core"; + version = "17.12.0-preview-24426-07"; + hash = "sha256-2igOkxetlTeRv2Xq5wVcQXU7hxdP43yMJq3aK6vndoI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.tasks.core/17.12.0-preview-24426-07/microsoft.build.tasks.core.17.12.0-preview-24426-07.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Core"; + version = "17.3.4"; + hash = "sha256-0RA95pD6zHBf1lgYyrrAuEuNeGwuCgGxNdhEJ0cJUCs="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.tasks.core/17.3.4/microsoft.build.tasks.core.17.3.4.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Core"; + version = "17.7.2"; + hash = "sha256-OrV/qWgZHzGlNUmaSfX5wDBcmg1aQeF3/OUHpSH+uZU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/17.7.2/microsoft.build.tasks.core.17.7.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "17.12.0-preview-24426-07"; + hash = "sha256-np372GONmrZJ8ppPxjZrvtofA5gTnUf2n/Pn9f02ilo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.utilities.core/17.12.0-preview-24426-07/microsoft.build.utilities.core.17.12.0-preview-24426-07.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "17.3.4"; + hash = "sha256-SfZxr5xDANnDnC1HCUgho2H9MnF6n51cM47Rrf07fWw="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.build.utilities.core/17.3.4/microsoft.build.utilities.core.17.3.4.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "17.7.2"; + hash = "sha256-oatF0KfuP1nb4+OLNKg2/R/ZLO4EiACaO5leaxMEY4A="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/17.7.2/microsoft.build.utilities.core.17.7.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.11.0"; + hash = "sha256-hQ2l6E6PO4m7i+ZsfFlEx+93UsLPo4IY3wDkNG11/Sw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/3.11.0/microsoft.codeanalysis.analyzers.3.11.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; + version = "3.3.0"; + hash = "sha256-nzFs+H0FFEgZzjl/bcmWyQQVKS2PncS6kMYHOqrxXSw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzerutilities/3.3.0/microsoft.codeanalysis.analyzerutilities.3.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; + version = "3.11.0-beta1.24081.1"; + hash = "sha256-5UN//A8oc2w+UoxAwWmXWRXykQD+2mpa1hbJrAfh2Lg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.11.0-beta1.24081.1/microsoft.codeanalysis.bannedapianalyzers.3.11.0-beta1.24081.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.1.0"; + hash = "sha256-g3RLyeHfdOOF6H89VLJi06/k8/eJ6j2dgNYZ/MBdfNU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/4.1.0/microsoft.codeanalysis.common.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Elfie"; + version = "1.0.0"; + hash = "sha256-E/+PlegvWZ59e5Ti3TvKJBLa3qCnDKmi7+DcnOo1ufg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.elfie/1.0.0/microsoft.codeanalysis.elfie.1.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.NetAnalyzers"; + version = "8.0.0-preview.23468.1"; + hash = "sha256-2wF9nG7tL92RKT46l5A0EQB3uow93516Dh8hSw7kUvg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49a1bb2b-12b0-475f-adbd-1560fc76be38/nuget/v3/flat2/microsoft.codeanalysis.netanalyzers/8.0.0-preview.23468.1/microsoft.codeanalysis.netanalyzers.8.0.0-preview.23468.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers"; + version = "3.3.4-beta1.22504.1"; + hash = "sha256-HYGDtRhUgaIG5t4VpOt3ZFQ8nqLSJ6mTR5964FMmK50="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/e31c6eea-0277-49f3-8194-142be67a9f72/nuget/v3/flat2/microsoft.codeanalysis.performancesensitiveanalyzers/3.3.4-beta1.22504.1/microsoft.codeanalysis.performancesensitiveanalyzers.3.3.4-beta1.22504.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.PublicApiAnalyzers"; + version = "3.11.0-beta1.24081.1"; + hash = "sha256-nXx0MSYXVzdr0jcNo9aZLocZU1ywN+n/vdD2kYBh5TI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.11.0-beta1.24081.1/microsoft.codeanalysis.publicapianalyzers.3.11.0-beta1.24081.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DiaSymReader"; + version = "2.0.0"; + hash = "sha256-8hotZmh8Rb6Q6oD9Meb74SvAdbDo39Y/1m8h43HHjjw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader/2.0.0/microsoft.diasymreader.2.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.Arcade.Sdk"; + version = "9.0.0-beta.24572.2"; + hash = "sha256-dTYFN1KH3grxcf/On6GLW5WdFliq91Y37DeWDCwiryM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/9.0.0-beta.24572.2/microsoft.dotnet.arcade.sdk.9.0.0-beta.24572.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.XliffTasks"; + version = "9.0.0-beta.24076.5"; + hash = "sha256-5cREL85PwcDwo4yyc2Eh908HQ/Cm36w9uZSIvVELZH0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/9.0.0-beta.24076.5/microsoft.dotnet.xlifftasks.9.0.0-beta.24076.5.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration/8.0.0/microsoft.extensions.configuration.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "8.0.0"; + hash = "sha256-GanfInGzzoN2bKeNwON8/Hnamr6l7RTpYLA49CNXD9Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration.binder/8.0.0/microsoft.extensions.configuration.binder.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.dependencyinjection/8.0.0/microsoft.extensions.dependencyinjection.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.dependencyinjection.abstractions/8.0.0/microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "8.0.0"; + hash = "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.filesystemglobbing/8.0.0/microsoft.extensions.filesystemglobbing.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging/8.0.0/microsoft.extensions.logging.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.abstractions/8.0.0/microsoft.extensions.logging.abstractions.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "8.0.0"; + hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.configuration/8.0.0/microsoft.extensions.logging.configuration.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "8.0.0"; + hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.console/8.0.0/microsoft.extensions.logging.console.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.ObjectPool"; + version = "8.0.0"; + hash = "sha256-FxFr5GC0y6vnp5YD2A2vISXYizAz3k/QyrH7sBXP5kg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.objectpool/8.0.0/microsoft.extensions.objectpool.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "8.0.0"; + hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.options.configurationextensions/8.0.0/microsoft.extensions.options.configurationextensions.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.primitives/8.0.0/microsoft.extensions.primitives.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.IO.Redist"; + version = "6.0.1"; + hash = "sha256-IaATAy1M/MEBTid0mQiTrHj4aTwo2POCtckxSbLc3lU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.io.redist/6.0.1/microsoft.io.redist.6.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.12.0-preview-24426-07"; + hash = "sha256-yoReTrCOhI6ud3v6fLGi5ivS0RuBDhDWw/giD9+bYOk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.stringtools/17.12.0-preview-24426-07/microsoft.net.stringtools.17.12.0-preview-24426-07.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.4.0"; + hash = "sha256-+9uBaUDZ3roUJwyYJUL30Mz+3C6LE16FzfQKgS0Yveo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.4.0/microsoft.net.stringtools.17.4.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.6.3"; + hash = "sha256-H2Qw8x47WyFOd/VmgRmGMc+uXySgUv68UISgK8Frsjw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.6.3/microsoft.net.stringtools.17.6.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.7.2"; + hash = "sha256-hQE07TCgcQuyu9ZHVq2gPDb0+xe8ECJUdrgh17bJP4o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.7.2/microsoft.net.stringtools.17.7.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.3"; + hash = "sha256-WLsf1NuUfRWyr7C7Rl9jiua9jximnVvzy6nk2D2bVRc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.3/microsoft.netcore.targets.1.1.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.3"; + hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.3/microsoft.netframework.referenceassemblies.1.0.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; + version = "1.0.3"; + hash = "sha256-/6ClVwo5+RE5kWTQWB/93vmbXj37ql8iDlziKWm89Xw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.3/microsoft.netframework.referenceassemblies.net472.1.0.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.ServiceHub.Analyzers"; + version = "4.7.32-beta"; + hash = "sha256-vYKNtk5BauoAwUt2g+0GodmRZ9JWHWfFIBrcOPFHuyQ="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.servicehub.analyzers/4.7.32-beta/microsoft.servicehub.analyzers.4.7.32-beta.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.ServiceHub.Client"; + version = "4.2.1017"; + hash = "sha256-Achfy4EpZfcIOf02P8onWJH1cte+rP9ZAy94Gf4MVCA="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/2a239fd0-3e21-40b0-b9d6-bc122fec7eb2/nuget/v3/flat2/microsoft.servicehub.client/4.2.1017/microsoft.servicehub.client.4.2.1017.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.ServiceHub.Framework"; + version = "4.7.32-beta"; + hash = "sha256-QGtg9LL8FRRjDiMn5sJYPn1gliSzzxokyMVsa1uvDfs="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.servicehub.framework/4.7.32-beta/microsoft.servicehub.framework.4.7.32-beta.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.ServiceHub.Resources"; + version = "4.2.1017"; + hash = "sha256-6nq1jsXLThMritNI1CZj5Batfo/0W0Pt2iLY72yZGNw="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/2a239fd0-3e21-40b0-b9d6-bc122fec7eb2/nuget/v3/flat2/microsoft.servicehub.resources/4.2.1017/microsoft.servicehub.resources.4.2.1017.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.5.0"; + hash = "sha256-M8Ct2u3RaTxWip0XBLPtL2xeGsYz1rjKgfsV++nZDPg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.testplatform.objectmodel/17.5.0/microsoft.testplatform.objectmodel.17.5.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TranslationLayer"; + version = "17.5.0"; + hash = "sha256-rVgeXl/F8jqXJhQcrm2tV6jvsYHA6UF+5crLVr4GZBA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.testplatform.translationlayer/17.5.0/microsoft.testplatform.translationlayer.17.5.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Composition"; + version = "17.12.17-preview"; + hash = "sha256-RxakGlbjWXC28F50Z5Ayez5gVsmCeyPqOKw3aBCKrDc="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.composition/17.12.17-preview/microsoft.visualstudio.composition.17.12.17-preview.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Composition.Analyzers"; + version = "17.12.17-preview"; + hash = "sha256-tZ7SmS9wq1f7FJMLo+c5YRdeAoJ7ZHemhgtXiTTzqIU="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.composition.analyzers/17.12.17-preview/microsoft.visualstudio.composition.analyzers.17.12.17-preview.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.RemoteControl"; + version = "16.3.52"; + hash = "sha256-J/egIc9ovDi1MUrnyKnpadECQqAB1WUUyrbxINv4zRE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.remotecontrol/16.3.52/microsoft.visualstudio.remotecontrol.16.3.52.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; + version = "3.2.2146"; + hash = "sha256-ic5h0cmHIaowJfItTLXLnmFhIg4NhaoMoWVAFMHKdzQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/3.2.2146/microsoft.visualstudio.setup.configuration.interop.3.2.2146.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Telemetry"; + version = "17.12.32"; + hash = "sha256-HkAQyMovZEABmgcaaSo/DOyRbx+pyVOZGxEm7GEKd2E="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.telemetry/17.12.32/microsoft.visualstudio.telemetry.17.12.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading"; + version = "17.12.13-preview"; + hash = "sha256-StuzZma2nOXFJ5Al9AZZPo0kM4FrTgHYz2ji+zKgtlM="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.threading/17.12.13-preview/microsoft.visualstudio.threading.17.12.13-preview.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading.Analyzers"; + version = "17.12.13-preview"; + hash = "sha256-wrCnLYNSujq8fcpmjm/yTTY7uVOPAjpJA+1X8ujuVbA="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.threading.analyzers/17.12.13-preview/microsoft.visualstudio.threading.analyzers.17.12.13-preview.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Utilities.Internal"; + version = "16.3.73"; + hash = "sha256-zwk4jWuCw2ANhG00TnwT9JE7n/h2EQkYKeq6o966ilo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.utilities.internal/16.3.73/microsoft.visualstudio.utilities.internal.16.3.73.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Validation"; + version = "17.8.8"; + hash = "sha256-sB8GLRiJHX3Py7qeBUnUANiDWhyPtISon6HQs+8wKms="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.validation/17.8.8/microsoft.visualstudio.validation.17.8.8.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/5.0.0/microsoft.win32.registry.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Nerdbank.Streams"; + version = "2.11.79"; + hash = "sha256-1bzibVcSH8LJMR8Nb6Q0q/7fieTgxRnVY4C1RvRbrrI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nerdbank.streams/2.11.79/nerdbank.streams.2.11.79.nupkg"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.0"; + hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.0/netstandard.library.2.0.0.nupkg"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/13.0.3/newtonsoft.json.13.0.3.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Common"; + version = "6.8.0-rc.112"; + hash = "sha256-LfIF8idaAeEfEeaXlhUhw4KcY0QXzMNwHqvAInSgF5c="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.8.0-rc.112/nuget.common.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Configuration"; + version = "6.8.0-rc.112"; + hash = "sha256-tWhwgxiaXcWPXdZVnDS2wsdblN6FoPR/uGmW57y3Fnw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.8.0-rc.112/nuget.configuration.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.DependencyResolver.Core"; + version = "6.8.0-rc.112"; + hash = "sha256-nS0Km+T6sRdIQLzwqjluHoV3MQe2dxwYhCrnKuURoSs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.8.0-rc.112/nuget.dependencyresolver.core.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Frameworks"; + version = "5.11.0"; + hash = "sha256-n+hxcrf+sXM80Tv9YH9x4+hwTslVidFq4tjBNPAzYnM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.frameworks/5.11.0/nuget.frameworks.5.11.0.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Frameworks"; + version = "6.8.0-rc.112"; + hash = "sha256-0dmY/5/Pa+FW3ck0q8zdeHjt59PAeNNCh0tu+wY2260="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.8.0-rc.112/nuget.frameworks.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.LibraryModel"; + version = "6.8.0-rc.112"; + hash = "sha256-8D1DetEC3pkDDRGdmjlfrKRQ9xqEwqnga3ZixZYMsIg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.8.0-rc.112/nuget.librarymodel.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Packaging"; + version = "6.8.0-rc.112"; + hash = "sha256-Z9E9TIQSd+8gkOyc2k4LompDwdLQJMGNbHEt3DG1I4g="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.8.0-rc.112/nuget.packaging.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.ProjectModel"; + version = "6.8.0-rc.112"; + hash = "sha256-geQh1fSRTp2FTzeilFL8gxFFq7q8u7YaakShPKiTwns="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.8.0-rc.112/nuget.projectmodel.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Protocol"; + version = "6.8.0-rc.112"; + hash = "sha256-6r/MJCo2ngibSAfNdH+xmeNUl38EPjQkaewKsTJpfvU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.8.0-rc.112/nuget.protocol.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "NuGet.Versioning"; + version = "6.8.0-rc.112"; + hash = "sha256-BzAWS5wpGnNj0gU33sfWao7BELGjrQBT4xj3EC7qRRE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.8.0-rc.112/nuget.versioning.6.8.0-rc.112.nupkg"; + }) + (fetchNuGet { + pname = "PowerShell"; + version = "7.0.0"; + hash = "sha256-ioasr71UIhDmeZ2Etw52lQ7QsioEd1pnbpVlEeCyUI4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/powershell/7.0.0/powershell.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "RichCodeNav.EnvVarDump"; + version = "0.1.1643-alpha"; + hash = "sha256-bwND+Na9iEnkEdeL1elY34+m4/F4BYATBHv/2BEw4d4="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; + }) + (fetchNuGet { + pname = "Roslyn.Diagnostics.Analyzers"; + version = "3.11.0-beta1.24081.1"; + hash = "sha256-wIOhKwvYetwytnuNX0uNC5oyBDU7xAhLqzTvyuGDVMM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.11.0-beta1.24081.1/roslyn.diagnostics.analyzers.3.11.0-beta1.24081.1.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + hash = "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.microsoft.win32.primitives/4.3.0/runtime.unix.microsoft.win32.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.diagnostics.debug/4.3.0/runtime.unix.system.diagnostics.debug.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.io.filesystem/4.3.0/runtime.unix.system.io.filesystem.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.primitives/4.3.0/runtime.unix.system.net.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.sockets/4.3.0/runtime.unix.system.net.sockets.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.private.uri/4.3.0/runtime.unix.system.private.uri.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.runtime.extensions/4.3.0/runtime.unix.system.runtime.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.bundle_green"; + version = "2.1.0"; + hash = "sha256-W14WMqNZndRmnySqLdFqmvfbH14kJxMV6+/4dIS0CwE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.bundle_green/2.1.0/sqlitepclraw.bundle_green.2.1.0.nupkg"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.core"; + version = "2.1.0"; + hash = "sha256-l1lfw114VmMprNFNn1fM/wzKEbDywXDlgdTQWWbqBU8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.core/2.1.0/sqlitepclraw.core.2.1.0.nupkg"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.lib.e_sqlite3"; + version = "2.1.0"; + hash = "sha256-XsObwf7Fza9G1JCZvQ+SqMqQUdZNU3WcJYYp3cqfc8U="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.lib.e_sqlite3/2.1.0/sqlitepclraw.lib.e_sqlite3.2.1.0.nupkg"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.dynamic_cdecl"; + version = "2.1.0"; + hash = "sha256-2JLlOroGdfziGi+VpgBjtm9IHofG976T+9lZb+fQRok="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.provider.dynamic_cdecl/2.1.0/sqlitepclraw.provider.dynamic_cdecl.2.1.0.nupkg"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.e_sqlite3"; + version = "2.1.0"; + hash = "sha256-VkGdCCECj+0oaha/QsyfF9CQoaurC/KO2RHR2GaI77w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.provider.e_sqlite3/2.1.0/sqlitepclraw.provider.e_sqlite3.2.1.0.nupkg"; + }) + (fetchNuGet { + pname = "StreamJsonRpc"; + version = "2.20.8-beta"; + hash = "sha256-cELu//Ad7sAITbq/i5ISi4g1Mvf9mUIYT6vDTukUjQY="; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/streamjsonrpc/2.20.8-beta/streamjsonrpc.2.20.8-beta.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "7.0.0"; + hash = "sha256-7IPt39cY+0j0ZcRr/J45xPtEjnSXdUJ/5ai3ebaYQiE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.codedom/7.0.0/system.codedom.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "8.0.0"; + hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/8.0.0/system.collections.immutable.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.CommandLine"; + version = "2.0.0-beta4.24528.1"; + hash = "sha256-C1CMTF8ejnnk9h6Yih8ajWeNiQK6czWZTgBSEhGZNGQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/flat2/system.commandline/2.0.0-beta4.24528.1/system.commandline.2.0.0-beta4.24528.1.nupkg"; + }) + (fetchNuGet { + pname = "System.ComponentModel.Composition"; + version = "8.0.0"; + hash = "sha256-MnKdjE/qIvAmEeRc3gOn5uJhT0TI3UnUJPjj3TLHFQo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.componentmodel.composition/8.0.0/system.componentmodel.composition.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Composition"; + version = "8.0.0"; + hash = "sha256-rA118MFj6soKN++BvD3y9gXAJf0lZJAtGARuznG5+Xg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition/8.0.0/system.composition.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Composition.AttributedModel"; + version = "8.0.0"; + hash = "sha256-n3aXiBAFIlQicSRLiNtLh++URSUxRBLggsjJ8OMNRpo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.attributedmodel/8.0.0/system.composition.attributedmodel.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Composition.Convention"; + version = "8.0.0"; + hash = "sha256-Z9HOAnH1lt1qc38P3Y0qCf5gwBwiLXQD994okcy53IE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.convention/8.0.0/system.composition.convention.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Composition.Hosting"; + version = "8.0.0"; + hash = "sha256-axKJC71oKiNWKy66TVF/c3yoC81k03XHAWab3mGNbr0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.hosting/8.0.0/system.composition.hosting.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Composition.Runtime"; + version = "8.0.0"; + hash = "sha256-AxwZ29+GY0E35Pa255q8AcMnJU52Txr5pBy86t6V1Go="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.runtime/8.0.0/system.composition.runtime.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Composition.TypedParts"; + version = "8.0.0"; + hash = "sha256-+ZJawThmiYEUNJ+cB9uJK+u/sCAVZarGd5ShZoSifGo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.typedparts/8.0.0/system.composition.typedparts.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "8.0.0"; + hash = "sha256-xhljqSkNQk8DMkEOBSYnn9lzCSEDDq4yO910itptqiE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/8.0.0/system.configuration.configurationmanager.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Data.DataSetExtensions"; + version = "4.5.0"; + hash = "sha256-qppO0L8BpI7cgaStqBhn6YJYFjFdSwpXlRih0XFsaT4="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.data.datasetextensions/4.5.0/system.data.datasetextensions.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.1"; + hash = "sha256-zmwHjcJgKcbkkwepH038QhcnsWMJcHys+PEbFGC0Jgo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/8.0.1/system.diagnostics.diagnosticsource.8.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.eventlog/8.0.0/system.diagnostics.eventlog.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.PerformanceCounter"; + version = "7.0.0"; + hash = "sha256-t+l5WgfxivrZhWKjr0rpqtCcNXyRgytsGgWf/BIv5PU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.performancecounter/7.0.0/system.diagnostics.performancecounter.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Process"; + version = "4.3.0"; + hash = "sha256-Rzo24qXhuJDDgrGNHr2eQRHhwLmsYmWDqAg/P5fOlzw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.3.0/system.diagnostics.process.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.TraceSource"; + version = "4.3.0"; + hash = "sha256-xpxwaXsRcgso8Gj0cqY4+Hvvz6vZkmEMh5/J204j3M8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.3.0/system.diagnostics.tracesource.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Formats.Asn1"; + version = "7.0.0"; + hash = "sha256-eMF+SD/yeslf/wOIlOTlpfpj3LtP6HUilGeSj++bJKg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.formats.asn1/7.0.0/system.formats.asn1.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.AccessControl"; + version = "5.0.0"; + hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.accesscontrol/5.0.0/system.io.filesystem.accesscontrol.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "8.0.0"; + hash = "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipelines/8.0.0/system.io.pipelines.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.Pipes"; + version = "4.3.0"; + hash = "sha256-2QA4FIwDB7mT4Hs8bj0oDJcCzr4ycsw+tSzF+58J+/k="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipes/4.3.0/system.io.pipes.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Management"; + version = "7.0.0"; + hash = "sha256-QEdYBz8f80t9mvhSzOHsSIc7J0VeOEOzkZnROr/kffQ="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/7.0.0/system.management.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.5/system.memory.4.5.5.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.NameResolution"; + version = "4.3.0"; + hash = "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.nameresolution/4.3.0/system.net.nameresolution.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + hash = "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.3.0"; + hash = "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.2"; + hash = "sha256-jB2+W3tTQ6D9XHy5sEFMAazIe1fu2jrENUO0cb48OgU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.uri/4.3.2/system.private.uri.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.7.0"; + hash = "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.7.0/system.reflection.emit.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.7.0"; + hash = "sha256-GUnQeGo/DtvZVQpFnESGq7lJcjB30/KnDY7Kd2G/ElE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.7.0/system.reflection.emit.ilgeneration.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.7.0"; + hash = "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.7.0/system.reflection.emit.lightweight.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "8.0.0"; + hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/8.0.0/system.reflection.metadata.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.MetadataLoadContext"; + version = "7.0.0"; + hash = "sha256-VYl6SFD130K9Aw4eJH16ApJ9Sau4Xu0dcxEip2veuTI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/7.0.0/system.reflection.metadataloadcontext.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.MetadataLoadContext"; + version = "8.0.0"; + hash = "sha256-jS5XPZiHjY2CJFnLSxL6U7lMrU3ZknvB4EOgMbG0LEo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/8.0.0/system.reflection.metadataloadcontext.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.Extensions"; + version = "8.0.0"; + hash = "sha256-5dHZdRwq0tdQanaU5Hw3QISvqSijSGrTa2VdgwifGDI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/8.0.0/system.resources.extensions.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/5.0.0/system.security.accesscontrol.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "7.0.2"; + hash = "sha256-qS5Z/Yo8J+f3ExVX5Qkcpj1Z57oUZqz5rWa1h5bVpl8="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.pkcs/7.0.2/system.security.cryptography.pkcs.7.0.2.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.protecteddata/8.0.0/system.security.cryptography.protecteddata.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Xml"; + version = "7.0.1"; + hash = "sha256-CH8+JVC8LyCSW75/6ZQ7ecMbSOAE1c16z4dG8JTp01w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.xml/7.0.1/system.security.cryptography.xml.7.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "8.0.0"; + hash = "sha256-+YUPY+3HnTmfPLZzr+5qEk0RqalCbFZBgLXee1yCH1M="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/8.0.0/system.security.permissions.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Principal"; + version = "4.3.0"; + hash = "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal/4.3.0/system.security.principal.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.3.0"; + hash = "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.3.0/system.security.principal.windows.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "7.0.0"; + hash = "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/7.0.0/system.text.encoding.codepages.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/8.0.0/system.text.encodings.web.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.4"; + hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/8.0.4/system.text.json.8.0.4.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "7.0.0"; + hash = "sha256-Cu0gjQsLIR8Yvh0B4cOPJSYVq10a+3F9pVz/C43CNeM="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.channels/7.0.0/system.threading.channels.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Overlapped"; + version = "4.3.0"; + hash = "sha256-tUX099CChkqWiHyP/1e4jGYzZAjgIthMOdMmiOGMUNk="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.overlapped/4.3.0/system.threading.overlapped.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "8.0.0"; + hash = "sha256-Q6fPtMPNW4+SDKCabJzNS+dw4B04Oxd9sHH505bFtQo="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/8.0.0/system.threading.tasks.dataflow.8.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.3.0"; + hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.ThreadPool"; + version = "4.3.0"; + hash = "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Windows.Extensions"; + version = "8.0.0"; + hash = "sha256-aHkz7LtmUDDRS7swQM0i6dDVUytRCMYeA2CfaeVA2Y0="; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.windows.extensions/8.0.0/system.windows.extensions.8.0.0.nupkg"; + }) ] diff --git a/pkgs/by-name/ro/roslyn/deps.nix b/pkgs/by-name/ro/roslyn/deps.nix index 9362f8aab133d..ca2adee219d3a 100644 --- a/pkgs/by-name/ro/roslyn/deps.nix +++ b/pkgs/by-name/ro/roslyn/deps.nix @@ -1,175 +1,1026 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "dotnet-format"; version = "6.2.315104"; sha256 = "0b802r9xbxibds3dj57ywzl377kyi2h4cmy1iajp82kqbd4707cl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/dotnet-format/6.2.315104/dotnet-format.6.2.315104.nupkg"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.ref/3.1.10/microsoft.aspnetcore.app.ref.3.1.10.nupkg"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "3.1.32"; sha256 = "00ha2sl4gvqv68mbrsizd6ngqy0vv6vamngzjxr338k1w7a276dx"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.linux-arm64/3.1.32/microsoft.aspnetcore.app.runtime.linux-arm64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.32"; sha256 = "0ywz63q8vrdp25ix2j9b7h2jp5grc68hqfl64c6lqk26q9xwhp9r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.linux-x64/3.1.32/microsoft.aspnetcore.app.runtime.linux-x64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.32"; sha256 = "1crk54a1wvj76s9gnh46pi7wk8ryympm9xh2jq4s4rpp329fqgic"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.osx-x64/3.1.32/microsoft.aspnetcore.app.runtime.osx-x64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "16.5.0"; sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/16.5.0/microsoft.build.framework.16.5.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "16.5.0"; sha256 = "08mpdcnjbjpsggfzb3plpmjg1jhx2j4zslm8m2p3icnrpw8swxz4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/16.5.0/microsoft.build.tasks.core.16.5.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.2.0-beta-22167-02"; sha256 = "1zb5vhlc9kzqbw22hg84hakhqms0aa7ghy585229hsf278rfh2sy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.tasks.git/1.2.0-beta-22167-02/microsoft.build.tasks.git.1.2.0-beta-22167-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "16.5.0"; sha256 = "127l700qqky1nfrljncrpk7y4f0qi0811kpk2j87659nnv81bxs7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/16.5.0/microsoft.build.utilities.core.16.5.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.4-beta1.22160.2"; sha256 = "1g95w9jbwg74f04dif3wbdbcigrx5rwv1ng4g102970l1lbx898b"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.bannedapianalyzers.3.3.4-beta1.22160.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/3.8.0/microsoft.codeanalysis.common.3.8.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "6.0.0-rc1.21366.2"; sha256 = "18svr40y7c0gv68hv9g9fzd9f8hm7bqwygrwvax3i8cajbfwmzp4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/microsoft.codeanalysis.netanalyzers/6.0.0-rc1.21366.2/microsoft.codeanalysis.netanalyzers.6.0.0-rc1.21366.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers"; version = "3.3.4-beta1.22160.2"; sha256 = "01jaajr4qmc70dwixzrxyh638wkf5s33hm0km4lwrw4n5j1xivp1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/e31c6eea-0277-49f3-8194-142be67a9f72/nuget/v3/flat2/microsoft.codeanalysis.performancesensitiveanalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.performancesensitiveanalyzers.3.3.4-beta1.22160.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.PublicApiAnalyzers"; version = "3.3.4-beta1.22160.2"; sha256 = "0ih091ls51x5k9q998g14pfy4r3g1ygvzihj1gkrl79wydn7b0n3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.publicapianalyzers.3.3.4-beta1.22160.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DiaSymReader.Native"; version = "17.0.0-beta1.21524.1"; sha256 = "0gash3xgzvcb78w2xqv003l0cld199zpfilnjbagwbr5ikdh6f3s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader.native/17.0.0-beta1.21524.1/microsoft.diasymreader.native.17.0.0-beta1.21524.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.Arcade.Sdk"; version = "7.0.0-beta.22171.2"; sha256 = "15y26skavivkwhnpfa984if3cnpnllbbwbdsjiyfdcalp32fhmjq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/7.0.0-beta.22171.2/microsoft.dotnet.arcade.sdk.7.0.0-beta.22171.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.DotNet.XliffTasks"; version = "1.0.0-beta.22169.1"; sha256 = "12fcin3d4m0lawla9fflz9f2qispzgvzf1mwkpscmlk5lnvb0riw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/1.0.0-beta.22169.1/microsoft.dotnet.xlifftasks.1.0.0-beta.22169.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Net.Compilers.Toolset"; version = "4.2.0-1.final"; sha256 = "02zas22hj29gv2w7h74q786i0cvxffgwqai21ri0zj41nb2hwhyq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.compilers.toolset/4.2.0-1.final/microsoft.net.compilers.toolset.4.2.0-1.final.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; sha256 = "1zygp70xrk5zggs3q4a6yc6jfdwzcsjjsapqpwn6qyx35m69b72p"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-arm64/3.1.32/microsoft.netcore.app.host.linux-arm64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.32"; sha256 = "08sar3s7j6z1q5prjmz2jrbsq5ms81mrsi1c1zbfrkplkfjpld3a"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-x64/3.1.32/microsoft.netcore.app.host.linux-x64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.32"; sha256 = "186gjn8sbhp4z6pq8fw4g8nqk9dwyaplwvdz2y3fbbvg36lggsh0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.osx-x64/3.1.32/microsoft.netcore.app.host.osx-x64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.ref/3.1.0/microsoft.netcore.app.ref.3.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "3.1.32"; sha256 = "13pcn74z1swz73s72zjl07f118j35wacnzgk7kbjqn83nwgqdgvq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.linux-arm64/3.1.32/microsoft.netcore.app.runtime.linux-arm64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.32"; sha256 = "0mmc57dl8plrspdxwb7209wz29vhiwqds4nfbdfws7zg35yy70c7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.linux-x64/3.1.32/microsoft.netcore.app.runtime.linux-x64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.32"; sha256 = "06bk39zcv27cwshjsxfg5d6wzkkzdhfk08sipdc7mr1s8pk7ihi1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.osx-x64/3.1.32/microsoft.netcore.app.runtime.osx-x64.3.1.32.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.1/microsoft.netcore.platforms.1.1.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.2"; sha256 = "0i42rn8xmvhn08799manpym06kpw89qy9080myyy2ngy565pqh0a"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.2/microsoft.netframework.referenceassemblies.1.0.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.2"; sha256 = "1dny43jksy6dm9zrkdm8j80gb25w6wdvjlxnphj7ngf0fbg3dd2c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.2/microsoft.netframework.referenceassemblies.net472.1.0.2.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.AzureRepos.Git"; version = "1.2.0-beta-22167-02"; sha256 = "1mqzajvp0xa8smhilrakp9nr18r2lbqgn0jb79443srvjf93f6sl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.2.0-beta-22167-02/microsoft.sourcelink.azurerepos.git.1.2.0-beta-22167-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.2.0-beta-22167-02"; sha256 = "1s4x6syw1vfs0wrlyjvf5n7xiqgqnyv9cmmnaxzmx41f7zydirj6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.sourcelink.common/1.2.0-beta-22167-02/microsoft.sourcelink.common.1.2.0-beta-22167-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.2.0-beta-22167-02"; sha256 = "0zwc5sxvcz26rcyirrbd55cnz1v7s0njlj91jk3rdjxw6aw2bgnr"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.sourcelink.github/1.2.0-beta-22167-02/microsoft.sourcelink.github.1.2.0-beta-22167-02.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "1.16.30"; sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.2.20-alpha"; sha256 = "199690hc75yb01npwjwb7mdch0syrczcxyx6mphm1hn2cm108qax"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.threading.analyzers/17.2.20-alpha/microsoft.visualstudio.threading.analyzers.17.2.20-alpha.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.3.0/microsoft.win32.registry.4.3.0.nupkg"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg"; }) - (fetchNuGet { pname = "PowerShell"; version = "7.0.0"; sha256 = "13jhnbh12rcmdrkmlxq45ard03lmfq7bg14xg7k108jlpnpsr1la"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/powershell/7.0.0/powershell.7.0.0.nupkg"; }) - (fetchNuGet { pname = "RichCodeNav.EnvVarDump"; version = "0.1.1643-alpha"; sha256 = "1pp1608xizvv0h9q01bqy7isd3yzb3lxb2yp27j4k25xsvw460vg"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; }) - (fetchNuGet { pname = "Roslyn.Diagnostics.Analyzers"; version = "3.3.4-beta1.22160.2"; sha256 = "0rr7q46vc5lbywm3mf4ld1kjkg9w7fbmkkyka0bi8idrfib7kn0i"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.3.4-beta1.22160.2/roslyn.diagnostics.analyzers.3.3.4-beta1.22160.2.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization.calendars/4.3.0/runtime.any.system.globalization.calendars.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.2/runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.microsoft.win32.primitives/4.3.0/runtime.unix.microsoft.win32.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.diagnostics.debug/4.3.0/runtime.unix.system.diagnostics.debug.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.io.filesystem/4.3.0/runtime.unix.system.io.filesystem.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.primitives/4.3.0/runtime.unix.system.net.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.private.uri/4.3.0/runtime.unix.system.private.uri.4.3.0.nupkg"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.runtime.extensions/4.3.0/runtime.unix.system.runtime.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.3.0/system.buffers.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; }) - (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.codedom/4.4.0/system.codedom.4.4.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.IO.Pipes.AccessControl"; version = "5.0.0"; sha256 = "0jl5b95cy8biivi1kdn2wi0gy2m1a0gyj8fy88djybrg2705c8fz"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipes.accesscontrol/5.0.0/system.io.pipes.accesscontrol.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Linq.Parallel"; version = "4.0.1"; sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.parallel/4.0.1/system.linq.parallel.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.http/4.3.4/system.net.http.4.3.4.nupkg"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.uri/4.3.0/system.private.uri.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.Extensions"; version = "4.6.0"; sha256 = "0inch9jgchgmsg3xjivbhh9mpin40mhdd8dgf4i1p3g42i0hzc0j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Resources.Writer"; version = "4.0.0"; sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.writer/4.0.0/system.resources.writer.4.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/4.7.1/system.runtime.compilerservices.unsafe.4.7.1.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.loader/4.3.0/system.runtime.loader.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/5.0.0/system.security.accesscontrol.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.cng/4.3.0/system.security.cryptography.cng.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.5.1/system.text.encoding.codepages.4.5.1.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/6.0.0/system.text.encoding.codepages.6.0.0.nupkg"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.9.0"; sha256 = "1g6s9pjg4z8iy98df60y9a01imdqy59zd767vz74rrng78jl2dk5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg"; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "dotnet-format"; + version = "6.2.315104"; + sha256 = "0b802r9xbxibds3dj57ywzl377kyi2h4cmy1iajp82kqbd4707cl"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/dotnet-format/6.2.315104/dotnet-format.6.2.315104.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "3.1.10"; + sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.ref/3.1.10/microsoft.aspnetcore.app.ref.3.1.10.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "3.1.32"; + sha256 = "00ha2sl4gvqv68mbrsizd6ngqy0vv6vamngzjxr338k1w7a276dx"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.linux-arm64/3.1.32/microsoft.aspnetcore.app.runtime.linux-arm64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "3.1.32"; + sha256 = "0ywz63q8vrdp25ix2j9b7h2jp5grc68hqfl64c6lqk26q9xwhp9r"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.linux-x64/3.1.32/microsoft.aspnetcore.app.runtime.linux-x64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "3.1.32"; + sha256 = "1crk54a1wvj76s9gnh46pi7wk8ryympm9xh2jq4s4rpp329fqgic"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.osx-x64/3.1.32/microsoft.aspnetcore.app.runtime.osx-x64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "16.5.0"; + sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/16.5.0/microsoft.build.framework.16.5.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Core"; + version = "16.5.0"; + sha256 = "08mpdcnjbjpsggfzb3plpmjg1jhx2j4zslm8m2p3icnrpw8swxz4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/16.5.0/microsoft.build.tasks.core.16.5.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Git"; + version = "1.2.0-beta-22167-02"; + sha256 = "1zb5vhlc9kzqbw22hg84hakhqms0aa7ghy585229hsf278rfh2sy"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.tasks.git/1.2.0-beta-22167-02/microsoft.build.tasks.git.1.2.0-beta-22167-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Utilities.Core"; + version = "16.5.0"; + sha256 = "127l700qqky1nfrljncrpk7y4f0qi0811kpk2j87659nnv81bxs7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/16.5.0/microsoft.build.utilities.core.16.5.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.3"; + sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/3.3.3/microsoft.codeanalysis.analyzers.3.3.3.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; + version = "3.3.4-beta1.22160.2"; + sha256 = "1g95w9jbwg74f04dif3wbdbcigrx5rwv1ng4g102970l1lbx898b"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.bannedapianalyzers.3.3.4-beta1.22160.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "3.8.0"; + sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/3.8.0/microsoft.codeanalysis.common.3.8.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.NetAnalyzers"; + version = "6.0.0-rc1.21366.2"; + sha256 = "18svr40y7c0gv68hv9g9fzd9f8hm7bqwygrwvax3i8cajbfwmzp4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/microsoft.codeanalysis.netanalyzers/6.0.0-rc1.21366.2/microsoft.codeanalysis.netanalyzers.6.0.0-rc1.21366.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers"; + version = "3.3.4-beta1.22160.2"; + sha256 = "01jaajr4qmc70dwixzrxyh638wkf5s33hm0km4lwrw4n5j1xivp1"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/e31c6eea-0277-49f3-8194-142be67a9f72/nuget/v3/flat2/microsoft.codeanalysis.performancesensitiveanalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.performancesensitiveanalyzers.3.3.4-beta1.22160.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.PublicApiAnalyzers"; + version = "3.3.4-beta1.22160.2"; + sha256 = "0ih091ls51x5k9q998g14pfy4r3g1ygvzihj1gkrl79wydn7b0n3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.publicapianalyzers.3.3.4-beta1.22160.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DiaSymReader.Native"; + version = "17.0.0-beta1.21524.1"; + sha256 = "0gash3xgzvcb78w2xqv003l0cld199zpfilnjbagwbr5ikdh6f3s"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader.native/17.0.0-beta1.21524.1/microsoft.diasymreader.native.17.0.0-beta1.21524.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.Arcade.Sdk"; + version = "7.0.0-beta.22171.2"; + sha256 = "15y26skavivkwhnpfa984if3cnpnllbbwbdsjiyfdcalp32fhmjq"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/7.0.0-beta.22171.2/microsoft.dotnet.arcade.sdk.7.0.0-beta.22171.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.XliffTasks"; + version = "1.0.0-beta.22169.1"; + sha256 = "12fcin3d4m0lawla9fflz9f2qispzgvzf1mwkpscmlk5lnvb0riw"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/1.0.0-beta.22169.1/microsoft.dotnet.xlifftasks.1.0.0-beta.22169.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Net.Compilers.Toolset"; + version = "4.2.0-1.final"; + sha256 = "02zas22hj29gv2w7h74q786i0cvxffgwqai21ri0zj41nb2hwhyq"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.compilers.toolset/4.2.0-1.final/microsoft.net.compilers.toolset.4.2.0-1.final.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "3.1.32"; + sha256 = "1zygp70xrk5zggs3q4a6yc6jfdwzcsjjsapqpwn6qyx35m69b72p"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-arm64/3.1.32/microsoft.netcore.app.host.linux-arm64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "3.1.32"; + sha256 = "08sar3s7j6z1q5prjmz2jrbsq5ms81mrsi1c1zbfrkplkfjpld3a"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-x64/3.1.32/microsoft.netcore.app.host.linux-x64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "3.1.32"; + sha256 = "186gjn8sbhp4z6pq8fw4g8nqk9dwyaplwvdz2y3fbbvg36lggsh0"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.osx-x64/3.1.32/microsoft.netcore.app.host.osx-x64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Ref"; + version = "3.1.0"; + sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.ref/3.1.0/microsoft.netcore.app.ref.3.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "3.1.32"; + sha256 = "13pcn74z1swz73s72zjl07f118j35wacnzgk7kbjqn83nwgqdgvq"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.linux-arm64/3.1.32/microsoft.netcore.app.runtime.linux-arm64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "3.1.32"; + sha256 = "0mmc57dl8plrspdxwb7209wz29vhiwqds4nfbdfws7zg35yy70c7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.linux-x64/3.1.32/microsoft.netcore.app.runtime.linux-x64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "3.1.32"; + sha256 = "06bk39zcv27cwshjsxfg5d6wzkkzdhfk08sipdc7mr1s8pk7ihi1"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.osx-x64/3.1.32/microsoft.netcore.app.runtime.osx-x64.3.1.32.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.1"; + sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.1/microsoft.netcore.platforms.1.1.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.2"; + sha256 = "0i42rn8xmvhn08799manpym06kpw89qy9080myyy2ngy565pqh0a"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.2/microsoft.netframework.referenceassemblies.1.0.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; + version = "1.0.2"; + sha256 = "1dny43jksy6dm9zrkdm8j80gb25w6wdvjlxnphj7ngf0fbg3dd2c"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.2/microsoft.netframework.referenceassemblies.net472.1.0.2.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.AzureRepos.Git"; + version = "1.2.0-beta-22167-02"; + sha256 = "1mqzajvp0xa8smhilrakp9nr18r2lbqgn0jb79443srvjf93f6sl"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.2.0-beta-22167-02/microsoft.sourcelink.azurerepos.git.1.2.0-beta-22167-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.Common"; + version = "1.2.0-beta-22167-02"; + sha256 = "1s4x6syw1vfs0wrlyjvf5n7xiqgqnyv9cmmnaxzmx41f7zydirj6"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.sourcelink.common/1.2.0-beta-22167-02/microsoft.sourcelink.common.1.2.0-beta-22167-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.GitHub"; + version = "1.2.0-beta-22167-02"; + sha256 = "0zwc5sxvcz26rcyirrbd55cnz1v7s0njlj91jk3rdjxw6aw2bgnr"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.sourcelink.github/1.2.0-beta-22167-02/microsoft.sourcelink.github.1.2.0-beta-22167-02.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; + version = "1.16.30"; + sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading.Analyzers"; + version = "17.2.20-alpha"; + sha256 = "199690hc75yb01npwjwb7mdch0syrczcxyx6mphm1hn2cm108qax"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.threading.analyzers/17.2.20-alpha/microsoft.visualstudio.threading.analyzers.17.2.20-alpha.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.3.0"; + sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.3.0/microsoft.win32.registry.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg"; + }) + (fetchNuGet { + pname = "PowerShell"; + version = "7.0.0"; + sha256 = "13jhnbh12rcmdrkmlxq45ard03lmfq7bg14xg7k108jlpnpsr1la"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/powershell/7.0.0/powershell.7.0.0.nupkg"; + }) + (fetchNuGet { + pname = "RichCodeNav.EnvVarDump"; + version = "0.1.1643-alpha"; + sha256 = "1pp1608xizvv0h9q01bqy7isd3yzb3lxb2yp27j4k25xsvw460vg"; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; + }) + (fetchNuGet { + pname = "Roslyn.Diagnostics.Analyzers"; + version = "3.3.4-beta1.22160.2"; + sha256 = "0rr7q46vc5lbywm3mf4ld1kjkg9w7fbmkkyka0bi8idrfib7kn0i"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.3.4-beta1.22160.2/roslyn.diagnostics.analyzers.3.3.4-beta1.22160.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization.calendars/4.3.0/runtime.any.system.globalization.calendars.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.2/runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.microsoft.win32.primitives/4.3.0/runtime.unix.microsoft.win32.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.diagnostics.debug/4.3.0/runtime.unix.system.diagnostics.debug.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.io.filesystem/4.3.0/runtime.unix.system.io.filesystem.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.primitives/4.3.0/runtime.unix.system.net.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.private.uri/4.3.0/runtime.unix.system.private.uri.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.runtime.extensions/4.3.0/runtime.unix.system.runtime.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.3.0/system.buffers.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "4.4.0"; + sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.codedom/4.4.0/system.codedom.4.4.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.0.12"; + sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.5.0"; + sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.IO.Pipes.AccessControl"; + version = "5.0.0"; + sha256 = "0jl5b95cy8biivi1kdn2wi0gy2m1a0gyj8fy88djybrg2705c8fz"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipes.accesscontrol/5.0.0/system.io.pipes.accesscontrol.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Linq.Parallel"; + version = "4.0.1"; + sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.parallel/4.0.1/system.linq.parallel.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.4"; + sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.http/4.3.4/system.net.http.4.3.4.nupkg"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.uri/4.3.0/system.private.uri.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.Extensions"; + version = "4.6.0"; + sha256 = "0inch9jgchgmsg3xjivbhh9mpin40mhdd8dgf4i1p3g42i0hzc0j"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Resources.Writer"; + version = "4.0.0"; + sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.writer/4.0.0/system.resources.writer.4.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.1"; + sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/4.7.1/system.runtime.compilerservices.unsafe.4.7.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Loader"; + version = "4.3.0"; + sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.loader/4.3.0/system.runtime.loader.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/5.0.0/system.security.accesscontrol.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.cng/4.3.0/system.security.cryptography.cng.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.0.1"; + sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.5.1/system.text.encoding.codepages.4.5.1.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "6.0.0"; + sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/6.0.0/system.text.encoding.codepages.6.0.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "4.9.0"; + sha256 = "1g6s9pjg4z8iy98df60y9a01imdqy59zd767vz74rrng78jl2dk5"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg"; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.0.0"; + sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg"; + }) ] diff --git a/pkgs/by-name/ro/roswell/package.nix b/pkgs/by-name/ro/roswell/package.nix index f60bd61e80c28..342da78bae4b8 100644 --- a/pkgs/by-name/ro/roswell/package.nix +++ b/pkgs/by-name/ro/roswell/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, curl -, autoconf -, automake -, makeWrapper -, sbcl +{ + lib, + stdenv, + fetchFromGitHub, + curl, + autoconf, + automake, + makeWrapper, + sbcl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ro/rot8/package.nix b/pkgs/by-name/ro/rot8/package.nix index 6a62d05b5a5d5..c6bac9263d073 100644 --- a/pkgs/by-name/ro/rot8/package.nix +++ b/pkgs/by-name/ro/rot8/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "rot8"; diff --git a/pkgs/by-name/ro/rotate-backups/package.nix b/pkgs/by-name/ro/rotate-backups/package.nix index 08f1c3ff3bc8f..70708d1238807 100644 --- a/pkgs/by-name/ro/rotate-backups/package.nix +++ b/pkgs/by-name/ro/rotate-backups/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ro/rote/package.nix b/pkgs/by-name/ro/rote/package.nix index 65e2ecd091501..b139fae6c0989 100644 --- a/pkgs/by-name/ro/rote/package.nix +++ b/pkgs/by-name/ro/rote/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "rote"; diff --git a/pkgs/by-name/ro/rotonda/package.nix b/pkgs/by-name/ro/rotonda/package.nix index f049049279d5c..9c3bc5805c983 100644 --- a/pkgs/by-name/ro/rotonda/package.nix +++ b/pkgs/by-name/ro/rotonda/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ro/rotp/package.nix b/pkgs/by-name/ro/rotp/package.nix index a5ff60c25a40d..8240ec58fd119 100644 --- a/pkgs/by-name/ro/rotp/package.nix +++ b/pkgs/by-name/ro/rotp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, jdk, jre }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + jdk, + jre, +}: stdenv.mkDerivation { pname = "remnants-of-the-precursors"; @@ -11,7 +18,10 @@ stdenv.mkDerivation { sha256 = "sha256-oMA8LRpBoBX7t4G+HuRz0a8g+UEwYO7Ya0Qq4j8AWec="; }; - nativeBuildInputs = [ jdk makeWrapper ]; + nativeBuildInputs = [ + jdk + makeWrapper + ]; # By default, the game tries to write to the java class path. If that fails # (and it always does, since they are in the read-only nix store), it won't diff --git a/pkgs/by-name/ro/round/package.nix b/pkgs/by-name/ro/round/package.nix index b65567dcab400..dc55727a2b093 100644 --- a/pkgs/by-name/ro/round/package.nix +++ b/pkgs/by-name/ro/round/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -20,9 +21,9 @@ buildGoModule rec { meta = with lib; { description = "Round image corners from CLI"; - homepage = "https://github.com/mingrammer/round"; - license = licenses.mit; - maintainers = with maintainers; [ addict3d ]; + homepage = "https://github.com/mingrammer/round"; + license = licenses.mit; + maintainers = with maintainers; [ addict3d ]; mainProgram = "round"; }; } diff --git a/pkgs/by-name/ro/rounded-mgenplus/package.nix b/pkgs/by-name/ro/rounded-mgenplus/package.nix index b314fd45eef89..4fa521cf79874 100644 --- a/pkgs/by-name/ro/rounded-mgenplus/package.nix +++ b/pkgs/by-name/ro/rounded-mgenplus/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, p7zip }: +{ + lib, + stdenvNoCC, + fetchurl, + p7zip, +}: stdenvNoCC.mkDerivation rec { pname = "rounded-mgenplus"; diff --git a/pkgs/by-name/ro/roundup/package.nix b/pkgs/by-name/ro/roundup/package.nix index 2993b5f829464..743b224c07fa9 100644 --- a/pkgs/by-name/ro/roundup/package.nix +++ b/pkgs/by-name/ro/roundup/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ronn, shocco }: +{ + lib, + stdenv, + fetchFromGitHub, + ronn, + shocco, +}: stdenv.mkDerivation rec { pname = "roundup"; @@ -18,9 +24,15 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "{1..9}" "1 5" ''; - nativeBuildInputs = [ ronn shocco ]; + nativeBuildInputs = [ + ronn + shocco + ]; - installTargets = [ "install" "install-man" ]; + installTargets = [ + "install" + "install-man" + ]; preInstall = '' for i in 1 5; do diff --git a/pkgs/by-name/ro/route-graph/package.nix b/pkgs/by-name/ro/route-graph/package.nix index 8e1a4e183ce06..72e4113ce522a 100644 --- a/pkgs/by-name/ro/route-graph/package.nix +++ b/pkgs/by-name/ro/route-graph/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, graphviz -, python3 +{ + lib, + fetchFromGitHub, + graphviz, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -25,13 +26,15 @@ python3.pkgs.buildPythonApplication rec { poetry-core ]; - propagatedBuildInputs = [ - graphviz - ] ++ (with python3.pkgs; [ - scapy - typer - typing-extensions - ]); + propagatedBuildInputs = + [ + graphviz + ] + ++ (with python3.pkgs; [ + scapy + typer + typing-extensions + ]); # Project has no tests doCheck = false; diff --git a/pkgs/by-name/ro/route159/package.nix b/pkgs/by-name/ro/route159/package.nix index 96ae4e4ebb269..28ca44711b1e9 100644 --- a/pkgs/by-name/ro/route159/package.nix +++ b/pkgs/by-name/ro/route159/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "1"; @@ -26,7 +30,10 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/route159/"; description = "Weighted sans serif font"; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.ofl; }; } diff --git a/pkgs/by-name/ro/routedns/package.nix b/pkgs/by-name/ro/routedns/package.nix index 0b6f6822bb8d0..434491ae88be7 100644 --- a/pkgs/by-name/ro/routedns/package.nix +++ b/pkgs/by-name/ro/routedns/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { subPackages = [ "./cmd/routedns" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/folbricht/routedns"; diff --git a/pkgs/by-name/ro/router/librusty_v8.nix b/pkgs/by-name/ro/router/librusty_v8.nix index 82cdb5e1575ee..46c17dfd01c61 100644 --- a/pkgs/by-name/ro/router/librusty_v8.nix +++ b/pkgs/by-name/ro/router/librusty_v8.nix @@ -1,15 +1,21 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let - fetch_librusty_v8 = args: fetchurl { - name = "librusty_v8-${args.version}"; - url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a"; - sha256 = args.shas.${stdenv.hostPlatform.system}; - meta = { - inherit (args) version; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + fetch_librusty_v8 = + args: + fetchurl { + name = "librusty_v8-${args.version}"; + url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a"; + sha256 = args.shas.${stdenv.hostPlatform.system}; + meta = { + inherit (args) version; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; }; - }; in fetch_librusty_v8 { version = "0.74.3"; diff --git a/pkgs/by-name/ro/routersploit/package.nix b/pkgs/by-name/ro/routersploit/package.nix index 14de115541afa..0ff779a6de1dd 100644 --- a/pkgs/by-name/ro/routersploit/package.nix +++ b/pkgs/by-name/ro/routersploit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ro/routinator/package.nix b/pkgs/by-name/ro/routinator/package.nix index 14adef52117ad..63b88774c7906 100644 --- a/pkgs/by-name/ro/routinator/package.nix +++ b/pkgs/by-name/ro/routinator/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-1JxAbQPCQqDVry3wGIdY4q18rzCXlJ7Dnc8LIvhkW1g="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); meta = with lib; { description = "RPKI Validator written in Rust"; diff --git a/pkgs/by-name/ro/routino/package.nix b/pkgs/by-name/ro/routino/package.nix index e430a3063e2c5..adffbdb9fd5e8 100644 --- a/pkgs/by-name/ro/routino/package.nix +++ b/pkgs/by-name/ro/routino/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, perl, zlib, bzip2 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + perl, + zlib, + bzip2, +}: stdenv.mkDerivation rec { pname = "routino"; @@ -28,9 +36,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; - buildInputs = [ zlib bzip2 ]; + buildInputs = [ + zlib + bzip2 + ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; CLANG = lib.optionalString stdenv.cc.isClang "1"; diff --git a/pkgs/by-name/ro/rowhammer-test/package.nix b/pkgs/by-name/ro/rowhammer-test/package.nix index 0287a3d3a5fb7..6d888b3149bd1 100644 --- a/pkgs/by-name/ro/rowhammer-test/package.nix +++ b/pkgs/by-name/ro/rowhammer-test/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "rowhammer-test"; @@ -25,6 +29,9 @@ stdenv.mkDerivation { homepage = "https://github.com/google/rowhammer-test"; license = licenses.asl20; maintainers = [ ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/ro/roxterm/package.nix b/pkgs/by-name/ro/roxterm/package.nix index 6ede89e9340a0..355d98b1f3fb9 100644 --- a/pkgs/by-name/ro/roxterm/package.nix +++ b/pkgs/by-name/ro/roxterm/package.nix @@ -1,32 +1,32 @@ { - at-spi2-core -, cmake -, dbus -, dbus-glib -, docbook_xsl -, fetchFromGitHub -, glib -, gtk3 -, harfbuzz -, lib -, libXdmcp -, libXtst -, libepoxy -, libpthreadstubs -, libselinux -, libsepol -, libtasn1 -, libxkbcommon -, libxslt -, nixosTests -, p11-kit -, pcre2 -, pkg-config -, stdenv -, util-linuxMinimal -, vte -, wrapGAppsHook3 -, xmlto + at-spi2-core, + cmake, + dbus, + dbus-glib, + docbook_xsl, + fetchFromGitHub, + glib, + gtk3, + harfbuzz, + lib, + libXdmcp, + libXtst, + libepoxy, + libpthreadstubs, + libselinux, + libsepol, + libtasn1, + libxkbcommon, + libxslt, + nixosTests, + p11-kit, + pcre2, + pkg-config, + stdenv, + util-linuxMinimal, + vte, + wrapGAppsHook3, + xmlto, }: stdenv.mkDerivation (finalAttrs: { @@ -90,7 +90,11 @@ stdenv.mkDerivation (finalAttrs: { desktop environments. ''; changelog = "https://github.com/realh/roxterm/blob/${finalAttrs.src.rev}/debian/changelog"; - license = with lib.licenses; [ gpl2Plus gpl3Plus lgpl3Plus ]; + license = with lib.licenses; [ + gpl2Plus + gpl3Plus + lgpl3Plus + ]; mainProgram = "roxterm"; maintainers = with lib.maintainers; [ AndersonTorres ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/rp/rpPPPoE/package.nix b/pkgs/by-name/rp/rpPPPoE/package.nix index 6fd6c40ce3082..940ada94fac89 100644 --- a/pkgs/by-name/rp/rpPPPoE/package.nix +++ b/pkgs/by-name/rp/rpPPPoE/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ppp } : +{ + lib, + stdenv, + fetchFromGitHub, + ppp, +}: let in stdenv.mkDerivation rec { @@ -19,7 +24,9 @@ stdenv.mkDerivation rec { export PPPD=${ppp}/sbin/pppd ''; - configureFlags = [ "--enable-plugin=${ppp}/include" ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "rpppoe_cv_pack_bitfields=rev" ]; + configureFlags = [ + "--enable-plugin=${ppp}/include" + ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "rpppoe_cv_pack_bitfields=rev" ]; postConfigure = '' sed -i Makefile -e 's@DESTDIR)/etc/ppp@out)/etc/ppp@' diff --git a/pkgs/by-name/rp/rpcbind/package.nix b/pkgs/by-name/rp/rpcbind/package.nix index 00763ceee550c..f1dadd3a78579 100644 --- a/pkgs/by-name/rp/rpcbind/package.nix +++ b/pkgs/by-name/rp/rpcbind/package.nix @@ -1,5 +1,14 @@ -{ fetchgit, lib, stdenv, pkg-config, libnsl, libtirpc, autoreconfHook -, useSystemd ? true, systemd }: +{ + fetchgit, + lib, + stdenv, + pkg-config, + libnsl, + libtirpc, + autoreconfHook, + useSystemd ? true, + systemd, +}: stdenv.mkDerivation { pname = "rpcbind"; @@ -15,16 +24,23 @@ stdenv.mkDerivation { ./sunrpc.patch ]; - buildInputs = [ libnsl libtirpc ] - ++ lib.optional useSystemd systemd; + buildInputs = [ + libnsl + libtirpc + ] ++ lib.optional useSystemd systemd; configureFlags = [ - "--with-systemdsystemunitdir=${if useSystemd then "${placeholder "out"}/etc/systemd/system" else "no"}" + "--with-systemdsystemunitdir=${ + if useSystemd then "${placeholder "out"}/etc/systemd/system" else "no" + }" "--enable-warmstarts" "--with-rpcuser=rpc" ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = with lib; { description = "ONC RPC portmapper"; diff --git a/pkgs/by-name/rp/rpcemu/package.nix b/pkgs/by-name/rp/rpcemu/package.nix index 25930470412af..648da19c8cefd 100644 --- a/pkgs/by-name/rp/rpcemu/package.nix +++ b/pkgs/by-name/rp/rpcemu/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchhg -, qt5 +{ + lib, + stdenv, + fetchhg, + qt5, }: let @@ -58,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: { using them with RPCEmu. ''; license = lib.licenses.gpl2Plus; - maintainers = builtins.attrValues { + maintainers = builtins.attrValues { inherit (lib.maintainers) AndersonTorres; }; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix index deaeac82bda81..9158bc16bbef6 100644 --- a/pkgs/by-name/rp/rpcs3/package.nix +++ b/pkgs/by-name/rp/rpcs3/package.nix @@ -1,34 +1,35 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, git -, qt6Packages -, openal -, glew -, vulkan-headers -, vulkan-loader -, libpng -, libSM -, ffmpeg -, libevdev -, libusb1 -, zlib -, curl -, wolfssl -, python3 -, pugixml -, flatbuffers -, llvm_16 -, cubeb -, enableDiscordRpc ? false -, faudioSupport ? true -, faudio -, SDL2 -, waylandSupport ? true -, wayland -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + git, + qt6Packages, + openal, + glew, + vulkan-headers, + vulkan-loader, + libpng, + libSM, + ffmpeg, + libevdev, + libusb1, + zlib, + curl, + wolfssl, + python3, + pugixml, + flatbuffers, + llvm_16, + cubeb, + enableDiscordRpc ? false, + faudioSupport ? true, + faudio, + SDL2, + waylandSupport ? true, + wayland, + wrapGAppsHook3, }: let @@ -38,7 +39,12 @@ let rpcs3Revision = "8b8396b9455394486656660c960d420c5b6c446c"; rpcs3Hash = "sha256-LUgKUzoBNY4ZemRBsLOjtXxLXHyRkPivtdSSgUGw5h4="; - inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland; + inherit (qt6Packages) + qtbase + qtmultimedia + wrapQtAppsHook + qtwayland + ; in stdenv.mkDerivation { pname = "rpcs3"; @@ -84,14 +90,42 @@ stdenv.mkDerivation { dontWrapGApps = true; - nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook wrapGAppsHook3 ]; + nativeBuildInputs = [ + cmake + pkg-config + git + wrapQtAppsHook + wrapGAppsHook3 + ]; - buildInputs = [ - qtbase qtmultimedia openal glew vulkan-headers vulkan-loader libpng ffmpeg - libevdev zlib libusb1 curl wolfssl python3 pugixml SDL2 flatbuffers llvm_16 libSM - ] ++ cubeb.passthru.backendLibs + buildInputs = + [ + qtbase + qtmultimedia + openal + glew + vulkan-headers + vulkan-loader + libpng + ffmpeg + libevdev + zlib + libusb1 + curl + wolfssl + python3 + pugixml + SDL2 + flatbuffers + llvm_16 + libSM + ] + ++ cubeb.passthru.backendLibs ++ lib.optional faudioSupport faudio - ++ lib.optionals waylandSupport [ wayland qtwayland ]; + ++ lib.optionals waylandSupport [ + wayland + qtwayland + ]; preFixup = '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") @@ -107,9 +141,17 @@ stdenv.mkDerivation { meta = with lib; { description = "PS3 emulator/debugger"; homepage = "https://rpcs3.net/"; - maintainers = with maintainers; [ abbradar neonfuz ilian zane ]; + maintainers = with maintainers; [ + abbradar + neonfuz + ilian + zane + ]; license = licenses.gpl2Only; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; mainProgram = "rpcs3"; }; } diff --git a/pkgs/by-name/rp/rpcsvc-proto/package.nix b/pkgs/by-name/rp/rpcsvc-proto/package.nix index 2de8bdefc880d..89331a7dff9d7 100644 --- a/pkgs/by-name/rp/rpcsvc-proto/package.nix +++ b/pkgs/by-name/rp/rpcsvc-proto/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, buildPackages, fetchpatch, targetPackages }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + buildPackages, + fetchpatch, + targetPackages, +}: stdenv.mkDerivation rec { pname = "rpcsvc-proto"; @@ -20,21 +28,27 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; nativeBuildInputs = [ autoreconfHook ]; RPCGEN_CPP = "${stdenv.cc.targetPrefix}cpp"; - postPatch = '' - # replace fallback cpp with the target prefixed cpp - substituteInPlace rpcgen/rpc_main.c \ - --replace 'CPP = "cpp"' \ - 'CPP = "${targetPackages.stdenv.cc.targetPrefix}cpp"' - '' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - substituteInPlace rpcsvc/Makefile.am \ - --replace '$(top_builddir)/rpcgen/rpcgen' '${buildPackages.rpcsvc-proto}/bin/rpcgen' - ''; + postPatch = + '' + # replace fallback cpp with the target prefixed cpp + substituteInPlace rpcgen/rpc_main.c \ + --replace 'CPP = "cpp"' \ + 'CPP = "${targetPackages.stdenv.cc.targetPrefix}cpp"' + '' + + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + substituteInPlace rpcsvc/Makefile.am \ + --replace '$(top_builddir)/rpcgen/rpcgen' '${buildPackages.rpcsvc-proto}/bin/rpcgen' + ''; meta = with lib; { homepage = "https://github.com/thkukuk/rpcsvc-proto"; diff --git a/pkgs/by-name/rp/rpg-cli/package.nix b/pkgs/by-name/rp/rpg-cli/package.nix index f6c3249c72594..7484ba694e2cb 100644 --- a/pkgs/by-name/rp/rpg-cli/package.nix +++ b/pkgs/by-name/rp/rpg-cli/package.nix @@ -1,4 +1,8 @@ -{ rustPlatform, fetchFromGitHub, lib }: +{ + rustPlatform, + fetchFromGitHub, + lib, +}: rustPlatform.buildRustPackage rec { pname = "rpg-cli"; diff --git a/pkgs/by-name/rp/rpiplay/package.nix b/pkgs/by-name/rp/rpiplay/package.nix index 8ca4cb5341971..dc43891fed886 100644 --- a/pkgs/by-name/rp/rpiplay/package.nix +++ b/pkgs/by-name/rp/rpiplay/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, pkg-config, fetchFromGitHub, fetchpatch, cmake, wrapGAppsHook3, avahi, avahi-compat, openssl, gst_all_1, libplist }: +{ + lib, + stdenv, + pkg-config, + fetchFromGitHub, + fetchpatch, + cmake, + wrapGAppsHook3, + avahi, + avahi-compat, + openssl, + gst_all_1, + libplist, +}: stdenv.mkDerivation rec { pname = "rpiplay"; diff --git a/pkgs/by-name/rp/rpl/package.nix b/pkgs/by-name/rp/rpl/package.nix index 9feb4fd04fbb5..74b890a6ee20a 100644 --- a/pkgs/by-name/rp/rpl/package.nix +++ b/pkgs/by-name/rp/rpl/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchPypi, python3Packages }: +{ + lib, + fetchPypi, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "rpl"; diff --git a/pkgs/by-name/rp/rpm-ostree/package.nix b/pkgs/by-name/rp/rpm-ostree/package.nix index 87bd920db1c71..63b14942e5de8 100644 --- a/pkgs/by-name/rp/rpm-ostree/package.nix +++ b/pkgs/by-name/rp/rpm-ostree/package.nix @@ -1,48 +1,55 @@ -{ lib, stdenv -, fetchurl -, ostree -, rpm -, which -, autoconf -, automake -, libtool -, pkg-config -, cargo -, rustc -, gobject-introspection -, gtk-doc -, libxml2 -, libxslt -, docbook_xsl -, docbook_xml_dtd_42 -, docbook_xml_dtd_43 -, gperf -, cmake -, libcap -, glib -, systemd -, json-glib -, libarchive -, libsolv -, librepo -, polkit -, bubblewrap -, pcre -, check -, python3 -, json_c -, zchunk -, libmodulemd -, util-linux -, sqlite -, cppunit +{ + lib, + stdenv, + fetchurl, + ostree, + rpm, + which, + autoconf, + automake, + libtool, + pkg-config, + cargo, + rustc, + gobject-introspection, + gtk-doc, + libxml2, + libxslt, + docbook_xsl, + docbook_xml_dtd_42, + docbook_xml_dtd_43, + gperf, + cmake, + libcap, + glib, + systemd, + json-glib, + libarchive, + libsolv, + librepo, + polkit, + bubblewrap, + pcre, + check, + python3, + json_c, + zchunk, + libmodulemd, + util-linux, + sqlite, + cppunit, }: stdenv.mkDerivation rec { pname = "rpm-ostree"; version = "2024.8"; - outputs = [ "out" "dev" "man" "devdoc" ]; + outputs = [ + "out" + "dev" + "man" + "devdoc" + ]; src = fetchurl { url = "https://github.com/coreos/rpm-ostree/releases/download/v${version}/rpm-ostree-${version}.tar.xz"; diff --git a/pkgs/by-name/rp/rpm2targz/package.nix b/pkgs/by-name/rp/rpm2targz/package.nix index c9fa1a0e63978..9914bc433dbed 100644 --- a/pkgs/by-name/rp/rpm2targz/package.nix +++ b/pkgs/by-name/rp/rpm2targz/package.nix @@ -1,13 +1,14 @@ -{ bzip2 -, coreutils -, cpio -, fetchurl -, gnutar -, gzip -, lib -, stdenv -, xz -, zstd +{ + bzip2, + coreutils, + cpio, + fetchurl, + gnutar, + gzip, + lib, + stdenv, + xz, + zstd, }: stdenv.mkDerivation rec { @@ -20,23 +21,25 @@ stdenv.mkDerivation rec { hash = "sha256-rcV+o9V2wWKznqSW2rA8xgnpQ02kpK4te6mYvLRC5vQ="; }; - postPatch = let - shdeps = [ - bzip2 - coreutils - cpio - gnutar - gzip - xz - zstd - ]; - in '' - substituteInPlace rpm2targz --replace "=\"rpmoffset\"" "=\"$out/bin/rpmoffset\"" - # rpm2targz relies on the executable name - # to guess what compressor it should use - # this is more reliable than wrapProgram - sed -i -e '2iexport PATH="${lib.makeBinPath shdeps}"' rpm2targz - ''; + postPatch = + let + shdeps = [ + bzip2 + coreutils + cpio + gnutar + gzip + xz + zstd + ]; + in + '' + substituteInPlace rpm2targz --replace "=\"rpmoffset\"" "=\"$out/bin/rpmoffset\"" + # rpm2targz relies on the executable name + # to guess what compressor it should use + # this is more reliable than wrapProgram + sed -i -e '2iexport PATH="${lib.makeBinPath shdeps}"' rpm2targz + ''; installFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/by-name/rp/rpmextract/package.nix b/pkgs/by-name/rp/rpmextract/package.nix index ccb37cc5b5674..5decce67d5aaf 100644 --- a/pkgs/by-name/rp/rpmextract/package.nix +++ b/pkgs/by-name/rp/rpmextract/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rpm, cpio, substituteAll }: +{ + lib, + stdenv, + rpm, + cpio, + substituteAll, +}: stdenv.mkDerivation { name = "rpmextract"; diff --git a/pkgs/by-name/rq/rq/package.nix b/pkgs/by-name/rq/rq/package.nix index b5624092c852a..b128d2c7e30ae 100644 --- a/pkgs/by-name/rq/rq/package.nix +++ b/pkgs/by-name/rq/rq/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "rq"; @@ -31,6 +35,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "rq"; homepage = "https://github.com/dflemstr/rq"; license = with licenses; [ asl20 ]; - maintainers = with maintainers; [ aristid Br1ght0ne figsoda ]; + maintainers = with maintainers; [ + aristid + Br1ght0ne + figsoda + ]; }; } diff --git a/pkgs/by-name/rq/rqlite/package.nix b/pkgs/by-name/rq/rqlite/package.nix index ec025beef2b0b..ed805591a1f1d 100644 --- a/pkgs/by-name/rq/rqlite/package.nix +++ b/pkgs/by-name/rq/rqlite/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,12 +17,17 @@ buildGoModule rec { vendorHash = "sha256-yoowUrS7UDk6sCfTYmDEVWzGBtzT7DR1vuqPWlcqRzU="; - subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ]; + subPackages = [ + "cmd/rqlite" + "cmd/rqlited" + "cmd/rqbench" + ]; # Leaving other flags from https://github.com/rqlite/rqlite/blob/master/package.sh # since automatically retriving those is nontrivial and inessential ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/rqlite/rqlite/cmd.Version=${src.rev}" ]; diff --git a/pkgs/by-name/rr/rrootage/package.nix b/pkgs/by-name/rr/rrootage/package.nix index f1ad7b7e978d3..819a560d2b871 100644 --- a/pkgs/by-name/rr/rrootage/package.nix +++ b/pkgs/by-name/rr/rrootage/package.nix @@ -1,15 +1,26 @@ -{ lib, stdenv, fetchpatch, fetchurl, SDL, SDL_mixer, bulletml }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + SDL, + SDL_mixer, + bulletml, +}: let version = "0.23a"; debianRevision = "12"; - debianPatch = patchname: hash: fetchpatch { - name = "${patchname}.patch"; - url = "https://sources.debian.org/data/main/r/rrootage/${version}-${debianRevision}/debian/patches/${patchname}.patch"; - sha256 = hash; - }; + debianPatch = + patchname: hash: + fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/r/rrootage/${version}-${debianRevision}/debian/patches/${patchname}.patch"; + sha256 = hash; + }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "rrootage"; inherit version; src = fetchurl { @@ -18,36 +29,16 @@ in stdenv.mkDerivation { }; patches = [ - (debianPatch - "01_makefile" - "0wgplznx9kgb82skwqplpydbpallgrby3w662h52wky5zl0pyijj") - (debianPatch - "02_data_dir" - "12vw60s94by3f6k8pk45k555h4y7gzlqfds0a96nrrryammpgnq3") - (debianPatch - "03_texture_filename" - "1qxkxy6821xvanacf25mi43wj8nf40c1qiyavhc8av798xprpkjh") - (debianPatch - "04_home" - "0s15b0liv40jzjd9l4zsq688ky1yp9b1gmb1xhi3bih4y7q9awdz") - (debianPatch - "05_gcc" - "06ihgbfrklabs7cb6216w1jjb9sglv86iagzhhmyydwyph4fb782") - (debianPatch - "06_rrootage_highres" - "0ifjmh236yiv3g896nfwwydgcnq3njdb8ldah7s3jxp3xkpvwcga") - (debianPatch - "07_use_system_bulletml" - "1sxsl1yzx3msvz8mf0jk1vnahqb1ahq9drm391idgh0afy77l6j7") - (debianPatch - "08_windowed_mode" - "0knx4g445ngilsz4dvdkq69f5f8i2xv2fnmdmq037xd5rhfg0b23") - (debianPatch - "09_rootage_make_highres_default" - "1zqz8s54rl8jmqmvdi9c3ayfcma6qkbfkx5vw0fzyn268wcs022p") - (debianPatch - "10_deg_out_of_range" - "1wr76az4rlv1gaj9xdknzqcjazw6h8myqw6y3753q259hxbq4cah") + (debianPatch "01_makefile" "0wgplznx9kgb82skwqplpydbpallgrby3w662h52wky5zl0pyijj") + (debianPatch "02_data_dir" "12vw60s94by3f6k8pk45k555h4y7gzlqfds0a96nrrryammpgnq3") + (debianPatch "03_texture_filename" "1qxkxy6821xvanacf25mi43wj8nf40c1qiyavhc8av798xprpkjh") + (debianPatch "04_home" "0s15b0liv40jzjd9l4zsq688ky1yp9b1gmb1xhi3bih4y7q9awdz") + (debianPatch "05_gcc" "06ihgbfrklabs7cb6216w1jjb9sglv86iagzhhmyydwyph4fb782") + (debianPatch "06_rrootage_highres" "0ifjmh236yiv3g896nfwwydgcnq3njdb8ldah7s3jxp3xkpvwcga") + (debianPatch "07_use_system_bulletml" "1sxsl1yzx3msvz8mf0jk1vnahqb1ahq9drm391idgh0afy77l6j7") + (debianPatch "08_windowed_mode" "0knx4g445ngilsz4dvdkq69f5f8i2xv2fnmdmq037xd5rhfg0b23") + (debianPatch "09_rootage_make_highres_default" "1zqz8s54rl8jmqmvdi9c3ayfcma6qkbfkx5vw0fzyn268wcs022p") + (debianPatch "10_deg_out_of_range" "1wr76az4rlv1gaj9xdknzqcjazw6h8myqw6y3753q259hxbq4cah") ]; postPatch = '' substituteInPlace "src/screen.c" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage" @@ -55,9 +46,19 @@ in stdenv.mkDerivation { substituteInPlace "src/barragemanager.cc" --replace "/usr/share/games/rrootage" "$out/share/games/rrootage" ''; - buildInputs = [ SDL SDL_mixer bulletml ]; - makeFlags = [ "-C src" "-f makefile.lin" ]; - hardeningDisable = [ "stackprotector" "fortify" ]; # buffer overflow without this + buildInputs = [ + SDL + SDL_mixer + bulletml + ]; + makeFlags = [ + "-C src" + "-f makefile.lin" + ]; + hardeningDisable = [ + "stackprotector" + "fortify" + ]; # buffer overflow without this installPhase = '' install -d "$out"/share/games diff --git a/pkgs/by-name/rs/rs-git-fsmonitor/package.nix b/pkgs/by-name/rs/rs-git-fsmonitor/package.nix index ffde4f16f157c..77ebac70578ab 100644 --- a/pkgs/by-name/rs/rs-git-fsmonitor/package.nix +++ b/pkgs/by-name/rs/rs-git-fsmonitor/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, makeWrapper -, watchman +{ + lib, + fetchFromGitHub, + rustPlatform, + makeWrapper, + watchman, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rs/rs-tftpd/package.nix b/pkgs/by-name/rs/rs-tftpd/package.nix index 79b5180c065a8..6dfc92961a40d 100644 --- a/pkgs/by-name/rs/rs-tftpd/package.nix +++ b/pkgs/by-name/rs/rs-tftpd/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,7 @@ rustPlatform.buildRustPackage rec { buildFeatures = [ "client" ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "TFTP Server Daemon implemented in Rust"; diff --git a/pkgs/by-name/rs/rs/package.nix b/pkgs/by-name/rs/rs/package.nix index ab5e4fcb4ddd2..35596386ecab3 100644 --- a/pkgs/by-name/rs/rs/package.nix +++ b/pkgs/by-name/rs/rs/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles -, libbsd +{ + lib, + stdenv, + fetchurl, + installShellFiles, + libbsd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/rs/rsass/package.nix b/pkgs/by-name/rs/rsass/package.nix index b71dca0b3953e..2198ac273cf42 100644 --- a/pkgs/by-name/rs/rsass/package.nix +++ b/pkgs/by-name/rs/rsass/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "rsass"; @@ -17,7 +21,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "rsass"; homepage = "https://github.com/kaj/rsass"; changelog = "https://github.com/kaj/rsass/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/rs/rsbep/package.nix b/pkgs/by-name/rs/rsbep/package.nix index b30ddddb2b07f..0327871f807e5 100644 --- a/pkgs/by-name/rs/rsbep/package.nix +++ b/pkgs/by-name/rs/rsbep/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, coreutils, gawk, fetchFromGitHub }: +{ + lib, + stdenv, + coreutils, + gawk, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "rsbep"; @@ -20,7 +26,12 @@ stdenv.mkDerivation rec { mv rsbep_chopper $libexecDir # Fix store dependencies in scripts - path="export PATH=$out/bin:$libexecDir:${lib.makeBinPath [ coreutils gawk ]}" + path="export PATH=$out/bin:$libexecDir:${ + lib.makeBinPath [ + coreutils + gawk + ] + }" sed -i "2i$path" freeze.sh sed -i "2i$path" melt.sh diff --git a/pkgs/by-name/rs/rsbkb/package.nix b/pkgs/by-name/rs/rsbkb/package.nix index 5da4d8dd2a345..1e05dbd157219 100644 --- a/pkgs/by-name/rs/rsbkb/package.nix +++ b/pkgs/by-name/rs/rsbkb/package.nix @@ -1,12 +1,14 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, enableAppletSymlinks ? true +{ + lib, + fetchFromGitHub, + rustPlatform, + enableAppletSymlinks ? true, }: let version = "1.4"; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { pname = "rsbkb"; inherit version; diff --git a/pkgs/by-name/rs/rsclock/package.nix b/pkgs/by-name/rs/rsclock/package.nix index a8d0a89d4800f..ecc2f2f6ae58f 100644 --- a/pkgs/by-name/rs/rsclock/package.nix +++ b/pkgs/by-name/rs/rsclock/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "rsClock"; @@ -17,7 +21,7 @@ rustPlatform.buildRustPackage rec { description = "Simple terminal clock written in Rust"; homepage = "https://github.com/valebes/rsClock"; license = licenses.mit; - maintainers = with maintainers; [valebes]; + maintainers = with maintainers; [ valebes ]; mainProgram = "rsclock"; }; } diff --git a/pkgs/by-name/rs/rscw/package.nix b/pkgs/by-name/rs/rscw/package.nix index 7fe638df61d0c..1945db62b9175 100644 --- a/pkgs/by-name/rs/rscw/package.nix +++ b/pkgs/by-name/rs/rscw/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fftw -, gtk2 -, pkg-config +{ + lib, + stdenv, + fetchurl, + fftw, + gtk2, + pkg-config, }: stdenv.mkDerivation rec { @@ -18,7 +19,10 @@ stdenv.mkDerivation rec { sourceRoot = "."; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 fftw ]; + buildInputs = [ + gtk2 + fftw + ]; installPhase = '' install -D -m 0755 noisycw $out/bin/noisycw diff --git a/pkgs/by-name/rs/rset/package.nix b/pkgs/by-name/rs/rset/package.nix index 2d6a8da445c1f..3b820b49e9de0 100644 --- a/pkgs/by-name/rs/rset/package.nix +++ b/pkgs/by-name/rs/rset/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, coreutils, openssh, gnutar }: +{ + lib, + stdenv, + fetchurl, + coreutils, + openssh, + gnutar, +}: stdenv.mkDerivation rec { pname = "rset"; diff --git a/pkgs/by-name/rs/rsgain/package.nix b/pkgs/by-name/rs/rsgain/package.nix index 0d58a47e8b6bb..caa5271fbe780 100644 --- a/pkgs/by-name/rs/rsgain/package.nix +++ b/pkgs/by-name/rs/rsgain/package.nix @@ -1,37 +1,48 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, libebur128 -, taglib -, ffmpeg -, inih -, fmt -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + libebur128, + taglib, + ffmpeg, + inih, + fmt, + zlib, }: stdenv.mkDerivation rec { - pname = "rsgain"; - version = "3.5.3"; + pname = "rsgain"; + version = "3.5.3"; - src = fetchFromGitHub { - owner = "complexlogic"; - repo = "rsgain"; - rev = "v${version}"; - hash = "sha256-4LEvcuP2Eyco3iQvT6rZhbfY02Y70rW2n5PaS+rGDkQ="; - }; + src = fetchFromGitHub { + owner = "complexlogic"; + repo = "rsgain"; + rev = "v${version}"; + hash = "sha256-4LEvcuP2Eyco3iQvT6rZhbfY02Y70rW2n5PaS+rGDkQ="; + }; - nativeBuildInputs = [pkg-config cmake]; - buildInputs = [libebur128 taglib ffmpeg inih fmt zlib]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = [ + libebur128 + taglib + ffmpeg + inih + fmt + zlib + ]; - meta = with lib; { - description = "Simple, but powerful ReplayGain 2.0 tagging utility"; - mainProgram = "rsgain"; - homepage = "https://github.com/complexlogic/rsgain"; - changelog = "https://github.com/complexlogic/rsgain/blob/v${version}/CHANGELOG"; - license = licenses.bsd2; - platforms = platforms.all; - maintainers = [maintainers.felipeqq2]; - }; + meta = with lib; { + description = "Simple, but powerful ReplayGain 2.0 tagging utility"; + mainProgram = "rsgain"; + homepage = "https://github.com/complexlogic/rsgain"; + changelog = "https://github.com/complexlogic/rsgain/blob/v${version}/CHANGELOG"; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = [ maintainers.felipeqq2 ]; + }; } diff --git a/pkgs/by-name/rs/rshijack/package.nix b/pkgs/by-name/rs/rshijack/package.nix index 6984d538c5d40..ebb47ead1c54a 100644 --- a/pkgs/by-name/rs/rshijack/package.nix +++ b/pkgs/by-name/rs/rshijack/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "rshijack"; diff --git a/pkgs/by-name/rs/rshim-user-space/package.nix b/pkgs/by-name/rs/rshim-user-space/package.nix index 75ff19f1bc36f..82a6e55aaea47 100644 --- a/pkgs/by-name/rs/rshim-user-space/package.nix +++ b/pkgs/by-name/rs/rshim-user-space/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoconf -, automake -, makeBinaryWrapper -, pkg-config -, pciutils -, libusb1 -, fuse -, busybox -, pv -, withBfbInstall ? true +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + makeBinaryWrapper, + pkg-config, + pciutils, + libusb1, + fuse, + busybox, + pv, + withBfbInstall ? true, }: stdenv.mkDerivation rec { @@ -44,16 +45,23 @@ stdenv.mkDerivation rec { preConfigure = "./bootstrap.sh"; - installPhase = '' - mkdir -p "$out"/bin - cp -a src/rshim "$out"/bin/ - '' + lib.optionalString withBfbInstall '' - cp -a scripts/bfb-install "$out"/bin/ - ''; + installPhase = + '' + mkdir -p "$out"/bin + cp -a src/rshim "$out"/bin/ + '' + + lib.optionalString withBfbInstall '' + cp -a scripts/bfb-install "$out"/bin/ + ''; postFixup = lib.optionalString withBfbInstall '' wrapProgram $out/bin/bfb-install \ - --set PATH ${lib.makeBinPath [ busybox pv ]} + --set PATH ${ + lib.makeBinPath [ + busybox + pv + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/rs/rsign2/package.nix b/pkgs/by-name/rs/rsign2/package.nix index 10a526a7b2cb5..b548c092495a4 100644 --- a/pkgs/by-name/rs/rsign2/package.nix +++ b/pkgs/by-name/rs/rsign2/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rs/rslint/package.nix b/pkgs/by-name/rs/rslint/package.nix index 28dfadd4cd752..667f3e491daa6 100644 --- a/pkgs/by-name/rs/rslint/package.nix +++ b/pkgs/by-name/rs/rslint/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "rslint"; @@ -14,8 +18,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-bqF5v52uxbvmVmphXAmcWlCI6nbQzZemCxlTcqhRDTY="; cargoBuildFlags = [ - "-p" "rslint_cli" - "-p" "rslint_lsp" + "-p" + "rslint_cli" + "-p" + "rslint_lsp" ]; meta = with lib; { diff --git a/pkgs/by-name/rs/rsmangler/package.nix b/pkgs/by-name/rs/rsmangler/package.nix index 7621eb14a752a..32b0e65677ed0 100644 --- a/pkgs/by-name/rs/rsmangler/package.nix +++ b/pkgs/by-name/rs/rsmangler/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, testers -, ruby +{ + lib, + stdenvNoCC, + fetchFromGitHub, + testers, + ruby, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/rs/rsnapshot/package.nix b/pkgs/by-name/rs/rsnapshot/package.nix index ff65d94fc11f9..012ad55a41344 100644 --- a/pkgs/by-name/rs/rsnapshot/package.nix +++ b/pkgs/by-name/rs/rsnapshot/package.nix @@ -1,4 +1,12 @@ -{ fetchurl, lib, stdenv, perl, openssh, rsync, logger }: +{ + fetchurl, + lib, + stdenv, + perl, + openssh, + rsync, + logger, +}: stdenv.mkDerivation rec { pname = "rsnapshot"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-ELdeAcolUR6CZqrNSVUxl1rRqK1VYha2pXx20CizgkI="; }; - propagatedBuildInputs = [perl openssh rsync logger]; + propagatedBuildInputs = [ + perl + openssh + rsync + logger + ]; configureFlags = [ "--sysconfdir=/etc --prefix=/" ]; makeFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/rs/rsonpath/package.nix b/pkgs/by-name/rs/rsonpath/package.nix index 02a867788a4b7..c3f8e8bb5e04e 100644 --- a/pkgs/by-name/rs/rsonpath/package.nix +++ b/pkgs/by-name/rs/rsonpath/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rs/rspamd-trainer/package.nix b/pkgs/by-name/rs/rspamd-trainer/package.nix index e00bddcbfbcea..11c8155a57c5b 100644 --- a/pkgs/by-name/rs/rspamd-trainer/package.nix +++ b/pkgs/by-name/rs/rspamd-trainer/package.nix @@ -1,10 +1,11 @@ -{ lib -, python3 -, python3Packages -, fetchFromGitLab -, fetchpatch -, rspamd -, nixosTests +{ + lib, + python3, + python3Packages, + fetchFromGitLab, + fetchpatch, + rspamd, + nixosTests, }: python3Packages.buildPythonApplication { diff --git a/pkgs/by-name/rs/rss-bridge-cli/package.nix b/pkgs/by-name/rs/rss-bridge-cli/package.nix index e7714a21b1293..fff9a2e9665a8 100644 --- a/pkgs/by-name/rs/rss-bridge-cli/package.nix +++ b/pkgs/by-name/rs/rss-bridge-cli/package.nix @@ -1,28 +1,39 @@ -{ lib, writeShellScriptBin, rss-bridge, php }: +{ + lib, + writeShellScriptBin, + rss-bridge, + php, +}: let - phpWithExts = (php.withExtensions - ({ all, ... }: with all; [ - curl - filter - iconv - mbstring - openssl - simplexml - sqlite3 - ]) + phpWithExts = ( + php.withExtensions ( + { all, ... }: + with all; + [ + curl + filter + iconv + mbstring + openssl + simplexml + sqlite3 + ] + ) ); phpBin = "${phpWithExts}/bin/php"; -in (writeShellScriptBin "rss-bridge-cli" '' +in +(writeShellScriptBin "rss-bridge-cli" '' ${phpBin} ${rss-bridge}/index.php "$@" -'').overrideAttrs (oldAttrs: rec { - version = rss-bridge.version; +'').overrideAttrs + (oldAttrs: rec { + version = rss-bridge.version; - meta = with lib; { - description = "Command-line interface for RSS-Bridge"; - homepage = "https://github.com/RSS-Bridge/rss-bridge"; - license = licenses.unlicense; - maintainers = with maintainers; [ ymeister ]; - mainProgram = "rss-bridge-cli"; - }; -}) + meta = with lib; { + description = "Command-line interface for RSS-Bridge"; + homepage = "https://github.com/RSS-Bridge/rss-bridge"; + license = licenses.unlicense; + maintainers = with maintainers; [ ymeister ]; + mainProgram = "rss-bridge-cli"; + }; + }) diff --git a/pkgs/by-name/rs/rss-bridge/package.nix b/pkgs/by-name/rs/rss-bridge/package.nix index 6d5be6e40233b..0db4808b502e4 100644 --- a/pkgs/by-name/rs/rss-bridge/package.nix +++ b/pkgs/by-name/rs/rss-bridge/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, nixosTests, nix-update-script }: +{ + stdenv, + lib, + fetchFromGitHub, + nixosTests, + nix-update-script, +}: stdenv.mkDerivation rec { pname = "rss-bridge"; @@ -27,7 +33,10 @@ stdenv.mkDerivation rec { description = "RSS feed for websites missing it"; homepage = "https://github.com/RSS-Bridge/rss-bridge"; license = licenses.unlicense; - maintainers = with maintainers; [ dawidsowa mynacol ]; + maintainers = with maintainers; [ + dawidsowa + mynacol + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/rs/rss-glx/package.nix b/pkgs/by-name/rs/rss-glx/package.nix index f8e0479b36c2a..d59b6f3b2c616 100644 --- a/pkgs/by-name/rs/rss-glx/package.nix +++ b/pkgs/by-name/rs/rss-glx/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, pkg-config -, libX11 -, libXext -, libGLU -, libGL -, imagemagick6 -, libtiff -, bzip2 +{ + lib, + stdenv, + fetchurl, + autoconf, + pkg-config, + libX11, + libXext, + libGLU, + libGL, + imagemagick6, + libtiff, + bzip2, }: stdenv.mkDerivation rec { @@ -21,8 +22,19 @@ stdenv.mkDerivation rec { sha256 = "1aikafjqrfmv23jnrrm5d56dg6injh4l67zjdxzdapv9chw7g3cg"; }; - nativeBuildInputs = [ autoconf pkg-config ]; - buildInputs = [ libGLU libGL libX11 libXext imagemagick6 libtiff bzip2 ]; + nativeBuildInputs = [ + autoconf + pkg-config + ]; + buildInputs = [ + libGLU + libGL + libX11 + libXext + imagemagick6 + libtiff + bzip2 + ]; patches = [ ./cstddef.patch diff --git a/pkgs/by-name/rs/rsstail/package.nix b/pkgs/by-name/rs/rsstail/package.nix index c654bd4e8a1d9..a2c7d2d2e7047 100644 --- a/pkgs/by-name/rs/rsstail/package.nix +++ b/pkgs/by-name/rs/rsstail/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libmrss }: +{ + lib, + stdenv, + fetchFromGitHub, + libmrss, +}: stdenv.mkDerivation (final: { pname = "rsstail"; diff --git a/pkgs/by-name/rs/rstfmt/package.nix b/pkgs/by-name/rs/rstfmt/package.nix index f69c8c69bd5fe..868dbc5a558b3 100644 --- a/pkgs/by-name/rs/rstfmt/package.nix +++ b/pkgs/by-name/rs/rstfmt/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/rt/rt-tests/package.nix b/pkgs/by-name/rt/rt-tests/package.nix index 16970a15b1d81..8bc5d3b47f398 100644 --- a/pkgs/by-name/rt/rt-tests/package.nix +++ b/pkgs/by-name/rt/rt-tests/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, makeWrapper -, fetchurl -, numactl -, python3 +{ + stdenv, + lib, + makeWrapper, + fetchurl, + numactl, + python3, }: stdenv.mkDerivation rec { @@ -16,9 +17,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ numactl python3 ]; + buildInputs = [ + numactl + python3 + ]; - makeFlags = [ "prefix=$(out)" "DESTDIR=" "PYLIB=$(out)/${python3.sitePackages}" ]; + makeFlags = [ + "prefix=$(out)" + "DESTDIR=" + "PYLIB=$(out)/${python3.sitePackages}" + ]; postInstall = '' wrapProgram "$out/bin/determine_maximum_mpps.sh" --prefix PATH : $out/bin diff --git a/pkgs/by-name/rt/rt/package.nix b/pkgs/by-name/rt/rt/package.nix index 59933570d7b15..d2b0752f9b223 100644 --- a/pkgs/by-name/rt/rt/package.nix +++ b/pkgs/by-name/rt/rt/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, autoreconfHook, buildEnv, fetchFromGitHub, perl, perlPackages, makeWrapper, gnupg, openssl }: +{ + lib, + stdenv, + autoreconfHook, + buildEnv, + fetchFromGitHub, + perl, + perlPackages, + makeWrapper, + gnupg, + openssl, +}: stdenv.mkDerivation rec { pname = "rt"; @@ -12,7 +23,7 @@ stdenv.mkDerivation rec { }; patches = [ - ./dont-check-users_groups.patch # needed for "make testdeps" to work in the build + ./dont-check-users_groups.patch # needed for "make testdeps" to work in the build ./override-generated.patch ]; @@ -25,97 +36,99 @@ stdenv.mkDerivation rec { perl (buildEnv { name = "rt-perl-deps"; - paths = with perlPackages; (requiredPerlModules [ - ApacheSession - BusinessHours - CGIEmulatePSGI - CGIPSGI - CSSMinifierXS - CSSSquish - ConvertColor - CryptEksblowfish - CryptSSLeay - CryptX509 - DBDPg - DBIxSearchBuilder - DataGUID - DataICal - DataPage - DataPagePageset - DateExtract - DateManip - DateTimeFormatNatural - DevelGlobalDestruction - EmailAddress - EmailAddressList - EncodeDetect - EncodeHanExtra - FCGI - FCGIProcManager - FileShareDir - FileWhich - GD - GDGraph - GnuPGInterface - GraphViz2 - HTMLFormatExternal - HTMLFormatTextWithLinks - HTMLFormatTextWithLinksAndTables - HTMLGumbo - HTMLMason - HTMLMasonPSGIHandler - HTMLQuoted - HTMLRewriteAttributes - HTMLScrubber - IPCRun - IPCRun3 - JSON - JavaScriptMinifierXS - LWP - LWPProtocolHttps - LocaleMaketextFuzzy - LocaleMaketextLexicon - LogDispatch - MIMETools - MIMETypes - MailTools - ModulePath - ModuleRefresh - ModuleVersionsReport - Moose - MooseXNonMoose - MooseXRoleParameterized - MozillaCA - NetCIDR - NetIP - ParallelForkManager - PathDispatcher - PerlIOeol - Plack - PodParser - RegexpCommon - RegexpCommonnetCIDR - RegexpIPv6 - RoleBasic - ScopeUpper - Starlet - Starman - StringShellQuote - SymbolGlobalName - TermReadKey - TextPasswordPronounceable - TextQuoted - TextTemplate - TextWikiFormat - TextWordDiff - TextWrapper - TimeParseDate - TreeSimple - UNIVERSALrequire - WebMachine - XMLRSS - perlldap - ]); + paths = + with perlPackages; + (requiredPerlModules [ + ApacheSession + BusinessHours + CGIEmulatePSGI + CGIPSGI + CSSMinifierXS + CSSSquish + ConvertColor + CryptEksblowfish + CryptSSLeay + CryptX509 + DBDPg + DBIxSearchBuilder + DataGUID + DataICal + DataPage + DataPagePageset + DateExtract + DateManip + DateTimeFormatNatural + DevelGlobalDestruction + EmailAddress + EmailAddressList + EncodeDetect + EncodeHanExtra + FCGI + FCGIProcManager + FileShareDir + FileWhich + GD + GDGraph + GnuPGInterface + GraphViz2 + HTMLFormatExternal + HTMLFormatTextWithLinks + HTMLFormatTextWithLinksAndTables + HTMLGumbo + HTMLMason + HTMLMasonPSGIHandler + HTMLQuoted + HTMLRewriteAttributes + HTMLScrubber + IPCRun + IPCRun3 + JSON + JavaScriptMinifierXS + LWP + LWPProtocolHttps + LocaleMaketextFuzzy + LocaleMaketextLexicon + LogDispatch + MIMETools + MIMETypes + MailTools + ModulePath + ModuleRefresh + ModuleVersionsReport + Moose + MooseXNonMoose + MooseXRoleParameterized + MozillaCA + NetCIDR + NetIP + ParallelForkManager + PathDispatcher + PerlIOeol + Plack + PodParser + RegexpCommon + RegexpCommonnetCIDR + RegexpIPv6 + RoleBasic + ScopeUpper + Starlet + Starman + StringShellQuote + SymbolGlobalName + TermReadKey + TextPasswordPronounceable + TextQuoted + TextTemplate + TextWikiFormat + TextWordDiff + TextWrapper + TimeParseDate + TreeSimple + UNIVERSALrequire + WebMachine + XMLRSS + perlldap + ]); }) ]; @@ -145,7 +158,12 @@ stdenv.mkDerivation rec { postFixup = '' for i in $(find $out/bin -type f); do wrapProgram $i --prefix PERL5LIB ':' $PERL5LIB \ - --prefix PATH ":" "${lib.makeBinPath [ openssl gnupg ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + openssl + gnupg + ] + }" done rm -r $out/var diff --git a/pkgs/by-name/rt/rt5677-firmware/package.nix b/pkgs/by-name/rt/rt5677-firmware/package.nix index 47e0068cc3483..675e42660adaf 100644 --- a/pkgs/by-name/rt/rt5677-firmware/package.nix +++ b/pkgs/by-name/rt/rt5677-firmware/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { name = "rt5677-firmware"; diff --git a/pkgs/by-name/rt/rtaudio_6/package.nix b/pkgs/by-name/rt/rtaudio_6/package.nix index a8b5f61cc7660..e1fffde9adc01 100644 --- a/pkgs/by-name/rt/rtaudio_6/package.nix +++ b/pkgs/by-name/rt/rtaudio_6/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, config -, fetchFromGitHub -, testers -, cmake -, pkg-config -, alsaSupport ? stdenv.hostPlatform.isLinux -, alsa-lib -, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux -, libpulseaudio -, jackSupport ? true -, libjack2 -, coreaudioSupport ? stdenv.hostPlatform.isDarwin -, darwin -, validatePkgConfig +{ + stdenv, + lib, + config, + fetchFromGitHub, + testers, + cmake, + pkg-config, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, + libpulseaudio, + jackSupport ? true, + libjack2, + coreaudioSupport ? stdenv.hostPlatform.isDarwin, + darwin, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -35,15 +36,19 @@ stdenv.mkDerivation (finalAttrs: { validatePkgConfig ]; - buildInputs = lib.optionals alsaSupport [ - alsa-lib - ] ++ lib.optionals pulseaudioSupport [ - libpulseaudio - ] ++ lib.optionals jackSupport [ - libjack2 - ] ++ lib.optionals coreaudioSupport [ - darwin.apple_sdk.frameworks.CoreAudio - ]; + buildInputs = + lib.optionals alsaSupport [ + alsa-lib + ] + ++ lib.optionals pulseaudioSupport [ + libpulseaudio + ] + ++ lib.optionals jackSupport [ + libjack2 + ] + ++ lib.optionals coreaudioSupport [ + darwin.apple_sdk.frameworks.CoreAudio + ]; cmakeFlags = [ (lib.cmakeBool "RTAUDIO_API_ALSA" alsaSupport) diff --git a/pkgs/by-name/rt/rtfm/package.nix b/pkgs/by-name/rt/rtfm/package.nix index 655dd90fdb342..d097bf8f24994 100644 --- a/pkgs/by-name/rt/rtfm/package.nix +++ b/pkgs/by-name/rt/rtfm/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, crystal -, wrapGAppsHook4 -, gobject-introspection -, desktopToDarwinBundle -, webkitgtk_6_0 -, sqlite -, libadwaita -, gtk4 -, pango -, substituteAll +{ + stdenv, + lib, + fetchFromGitHub, + crystal, + wrapGAppsHook4, + gobject-introspection, + desktopToDarwinBundle, + webkitgtk_6_0, + sqlite, + libadwaita, + gtk4, + pango, + substituteAll, }: let gtk4' = gtk4.override { x11Support = true; }; @@ -62,7 +63,11 @@ crystal.buildCrystalPackage rec { pango' ]; - buildTargets = [ "configure" "rtfm" "docsets" ]; + buildTargets = [ + "configure" + "rtfm" + "docsets" + ]; preBuild = '' mkdir gtk-doc/ diff --git a/pkgs/by-name/rt/rtkit/package.nix b/pkgs/by-name/rt/rtkit/package.nix index 12dc6bbe392f1..53c5fe6f8235b 100644 --- a/pkgs/by-name/rt/rtkit/package.nix +++ b/pkgs/by-name/rt/rtkit/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, meson, ninja, pkg-config, unixtools -, dbus, libcap, polkit, systemd +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + pkg-config, + unixtools, + dbus, + libcap, + polkit, + systemd, }: stdenv.mkDerivation rec { @@ -20,8 +30,18 @@ stdenv.mkDerivation rec { ./rtkit-daemon-dont-log-debug-messages-by-default.patch ]; - nativeBuildInputs = [ meson ninja pkg-config unixtools.xxd ]; - buildInputs = [ dbus libcap polkit systemd ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + unixtools.xxd + ]; + buildInputs = [ + dbus + libcap + polkit + systemd + ]; mesonFlags = [ "-Dinstalled_tests=false" @@ -37,7 +57,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/heftig/rtkit"; description = "Daemon that hands out real-time priority to processes"; mainProgram = "rtkitctl"; - license = with licenses; [ gpl3 bsd0 ]; # lib is bsd license + license = with licenses; [ + gpl3 + bsd0 + ]; # lib is bsd license platforms = platforms.linux; }; } diff --git a/pkgs/by-name/rt/rtl-ais/package.nix b/pkgs/by-name/rt/rtl-ais/package.nix index 57cd7420d7542..87a6ccfc9e7c8 100644 --- a/pkgs/by-name/rt/rtl-ais/package.nix +++ b/pkgs/by-name/rt/rtl-ais/package.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libusb1, rtl-sdr }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libusb1, + rtl-sdr, +}: stdenv.mkDerivation { pname = "rtl-ais"; version = "0.8.1"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ rtl-sdr libusb1 ]; + buildInputs = [ + rtl-sdr + libusb1 + ]; src = fetchFromGitHub { owner = "dgiardini"; diff --git a/pkgs/by-name/rt/rtl8192su-firmware/package.nix b/pkgs/by-name/rt/rtl8192su-firmware/package.nix index 49a3b9c13ac4f..1d6642deabb5d 100644 --- a/pkgs/by-name/rt/rtl8192su-firmware/package.nix +++ b/pkgs/by-name/rt/rtl8192su-firmware/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "rtl8192su"; version = "unstable-2016-10-05"; diff --git a/pkgs/by-name/rt/rtl8761b-firmware/package.nix b/pkgs/by-name/rt/rtl8761b-firmware/package.nix index c3fbe79537c46..56ffafe1e9a2b 100644 --- a/pkgs/by-name/rt/rtl8761b-firmware/package.nix +++ b/pkgs/by-name/rt/rtl8761b-firmware/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { name = "rtl8761b-firmware"; diff --git a/pkgs/by-name/rt/rtl_433/package.nix b/pkgs/by-name/rt/rtl_433/package.nix index c1a5f1cea877a..cb77ea75658d9 100644 --- a/pkgs/by-name/rt/rtl_433/package.nix +++ b/pkgs/by-name/rt/rtl_433/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, libusb1, rtl-sdr, soapysdr-with-plugins +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + rtl-sdr, + soapysdr-with-plugins, }: stdenv.mkDerivation rec { @@ -13,9 +20,16 @@ stdenv.mkDerivation rec { hash = "sha256-o4eAG6iYK4JXbh9JRv5NLmSxg396ErH++H0J8tTXiUA="; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; - buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ]; + buildInputs = [ + libusb1 + rtl-sdr + soapysdr-with-plugins + ]; doCheck = true; @@ -23,7 +37,10 @@ stdenv.mkDerivation rec { description = "Decode traffic from devices that broadcast on 433.9 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz"; homepage = "https://github.com/merbanan/rtl_433"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ earldouglas markuskowa ]; + maintainers = with maintainers; [ + earldouglas + markuskowa + ]; platforms = platforms.all; mainProgram = "rtl_433"; }; diff --git a/pkgs/by-name/rt/rtl_fm_streamer/package.nix b/pkgs/by-name/rt/rtl_fm_streamer/package.nix index beb45686508a0..d2505587201a5 100644 --- a/pkgs/by-name/rt/rtl_fm_streamer/package.nix +++ b/pkgs/by-name/rt/rtl_fm_streamer/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libusb1 -, libev +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + libev, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/rt/rtlcss/package.nix b/pkgs/by-name/rt/rtlcss/package.nix index 4143e649ea5c7..8e39dc0c959d7 100644 --- a/pkgs/by-name/rt/rtlcss/package.nix +++ b/pkgs/by-name/rt/rtlcss/package.nix @@ -1,4 +1,9 @@ -{ buildNpmPackage, fetchFromGitHub, lib, ... }: +{ + buildNpmPackage, + fetchFromGitHub, + lib, + ... +}: buildNpmPackage rec { pname = "rtlcss"; diff --git a/pkgs/by-name/rt/rtptools/package.nix b/pkgs/by-name/rt/rtptools/package.nix index c7d0a991a9e14..2eb78c0a80bc8 100644 --- a/pkgs/by-name/rt/rtptools/package.nix +++ b/pkgs/by-name/rt/rtptools/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: stdenv.mkDerivation rec { pname = "rtptools"; version = "1.22"; diff --git a/pkgs/by-name/rt/rtrlib/package.nix b/pkgs/by-name/rt/rtrlib/package.nix index 2f0ae61b9a9c3..03cb328651b83 100644 --- a/pkgs/by-name/rt/rtrlib/package.nix +++ b/pkgs/by-name/rt/rtrlib/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, stdenv, cmake, libssh, openssl }: +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + libssh, + openssl, +}: stdenv.mkDerivation rec { pname = "rtrlib"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libssh openssl ]; + buildInputs = [ + libssh + openssl + ]; postFixup = '' substituteInPlace "$out"/lib/pkgconfig/rtrlib.pc \ diff --git a/pkgs/by-name/rt/rtss/package.nix b/pkgs/by-name/rt/rtss/package.nix index 5545d90281cdf..3e30aa0dd5926 100644 --- a/pkgs/by-name/rt/rtss/package.nix +++ b/pkgs/by-name/rt/rtss/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "rtss"; diff --git a/pkgs/by-name/rt/rttr/package.nix b/pkgs/by-name/rt/rttr/package.nix index de4d81918cd08..cc8d057d86511 100644 --- a/pkgs/by-name/rt/rttr/package.nix +++ b/pkgs/by-name/rt/rttr/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, +}: stdenv.mkDerivation rec { pname = "rttr"; diff --git a/pkgs/by-name/rt/rtz/package.nix b/pkgs/by-name/rt/rtz/package.nix index a5f55342a13a2..d48fa2dadd62f 100644 --- a/pkgs/by-name/rt/rtz/package.nix +++ b/pkgs/by-name/rt/rtz/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, fetchurl -, pkg-config -, bzip2 -, openssl -, zstd -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchurl, + pkg-config, + bzip2, + openssl, + zstd, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -32,14 +33,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - bzip2 - openssl - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + openssl + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; buildFeatures = [ "web" ]; diff --git a/pkgs/by-name/ru/ruapu/package.nix b/pkgs/by-name/ru/ruapu/package.nix index cae2203d72454..4b688ce9fd639 100644 --- a/pkgs/by-name/ru/ruapu/package.nix +++ b/pkgs/by-name/ru/ruapu/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ru/rubber/package.nix b/pkgs/by-name/ru/rubber/package.nix index 641dade6457f7..e2febe3d0b939 100644 --- a/pkgs/by-name/ru/rubber/package.nix +++ b/pkgs/by-name/ru/rubber/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, python3Packages, texinfo }: +{ + lib, + stdenv, + fetchFromGitLab, + python3Packages, + texinfo, +}: let pypkgs = python3Packages; @@ -23,7 +29,10 @@ pypkgs.buildPythonApplication rec { --replace-fail /var/tmp /tmp ''; - nativeBuildInputs = [ pypkgs.hatchling texinfo ]; + nativeBuildInputs = [ + pypkgs.hatchling + texinfo + ]; checkPhase = '' runHook preCheck @@ -48,7 +57,10 @@ pypkgs.buildPythonApplication rec { ''; license = licenses.gpl2Plus; homepage = "https://gitlab.com/latex-rubber/rubber"; - maintainers = with maintainers; [ ttuegel peterhoeg ]; + maintainers = with maintainers; [ + ttuegel + peterhoeg + ]; platforms = platforms.unix; mainProgram = "rubber"; }; diff --git a/pkgs/by-name/ru/rubik/package.nix b/pkgs/by-name/ru/rubik/package.nix index d77753f515de1..5528829d28adf 100644 --- a/pkgs/by-name/ru/rubik/package.nix +++ b/pkgs/by-name/ru/rubik/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: let # Latest commit touching the rubik tree commit = "054aa9d546cd6308f8ff7139b332490e0967aebe"; diff --git a/pkgs/by-name/ru/rubiks/package.nix b/pkgs/by-name/ru/rubiks/package.nix index a3fba32d05c3e..7d158c95aead7 100644 --- a/pkgs/by-name/ru/rubiks/package.nix +++ b/pkgs/by-name/ru/rubiks/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, coreutils -, dos2unix +{ + lib, + stdenv, + fetchurl, + fetchpatch, + coreutils, + dos2unix, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ru/rubyripper/package.nix b/pkgs/by-name/ru/rubyripper/package.nix index a30eca6a7686c..453f171ae9010 100644 --- a/pkgs/by-name/ru/rubyripper/package.nix +++ b/pkgs/by-name/ru/rubyripper/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper -, cdparanoia, cddiscid, ruby }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + cdparanoia, + cddiscid, + ruby, +}: stdenv.mkDerivation rec { version = "0.8.0rc3"; @@ -30,7 +37,13 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/rrip_cli \ - --prefix PATH : ${lib.makeBinPath [ cddiscid cdparanoia ruby ]} + --prefix PATH : ${ + lib.makeBinPath [ + cddiscid + cdparanoia + ruby + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/ru/rucksack/package.nix b/pkgs/by-name/ru/rucksack/package.nix index 1aad7a5c8da1b..c6d84a6f29619 100644 --- a/pkgs/by-name/ru/rucksack/package.nix +++ b/pkgs/by-name/ru/rucksack/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, liblaxjson, cmake, freeimage }: +{ + lib, + stdenv, + fetchFromGitHub, + liblaxjson, + cmake, + freeimage, +}: stdenv.mkDerivation rec { version = "3.1.0"; @@ -12,11 +19,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ liblaxjson freeimage ]; + buildInputs = [ + liblaxjson + freeimage + ]; meta = with lib; { description = "Texture packer and resource bundler"; - platforms = [ "i686-linux" "x86_64-linux" ]; # fails on Darwin and AArch64 + platforms = [ + "i686-linux" + "x86_64-linux" + ]; # fails on Darwin and AArch64 homepage = "https://github.com/andrewrk/rucksack"; license = licenses.mit; maintainers = [ maintainers.andrewrk ]; diff --git a/pkgs/by-name/ru/run-scaled/package.nix b/pkgs/by-name/ru/run-scaled/package.nix index b9cdc20f78aa5..fb86a8514c781 100644 --- a/pkgs/by-name/ru/run-scaled/package.nix +++ b/pkgs/by-name/ru/run-scaled/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, bc, xorgserver, xpra, xrandr }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bc, + xorgserver, + xpra, + xrandr, +}: stdenv.mkDerivation { version = "unstable-2018-06-03"; @@ -17,7 +26,12 @@ stdenv.mkDerivation { mkdir -p $out/bin cp run_scaled $out/bin wrapProgram $out/bin/run_scaled --prefix PATH ":" \ - ${lib.makeBinPath [ bc xorgserver xpra xrandr ]} + ${lib.makeBinPath [ + bc + xorgserver + xpra + xrandr + ]} ''; meta = with lib; { diff --git a/pkgs/by-name/ru/run/package.nix b/pkgs/by-name/ru/run/package.nix index 794fb32c5cfeb..759f97102aca8 100644 --- a/pkgs/by-name/ru/run/package.nix +++ b/pkgs/by-name/ru/run/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "run"; version = "0.11.2"; @@ -17,8 +21,11 @@ buildGoModule rec { meta = with lib; { description = "Easily manage and invoke small scripts and wrappers"; mainProgram = "run"; - homepage = "https://github.com/TekWizely/run"; - license = licenses.mit; - maintainers = with maintainers; [ rawkode Br1ght0ne ]; + homepage = "https://github.com/TekWizely/run"; + license = licenses.mit; + maintainers = with maintainers; [ + rawkode + Br1ght0ne + ]; }; } diff --git a/pkgs/by-name/ru/rund/package.nix b/pkgs/by-name/ru/rund/package.nix index ef0701d9343ed..93ebb751e7d34 100644 --- a/pkgs/by-name/ru/rund/package.nix +++ b/pkgs/by-name/ru/rund/package.nix @@ -1,4 +1,10 @@ -{stdenv, lib, fetchFromGitHub, ldc ? null, dcompiler ? ldc }: +{ + stdenv, + lib, + fetchFromGitHub, + ldc ? null, + dcompiler ? ldc, +}: assert dcompiler != null; diff --git a/pkgs/by-name/ru/rune-languageserver/package.nix b/pkgs/by-name/ru/rune-languageserver/package.nix index 41977f89e9096..12582104d922a 100644 --- a/pkgs/by-name/ru/rune-languageserver/package.nix +++ b/pkgs/by-name/ru/rune-languageserver/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,7 +29,10 @@ rustPlatform.buildRustPackage rec { description = "Language server for the Rune Language, an embeddable dynamic programming language for Rust"; homepage = "https://crates.io/crates/rune-languageserver"; changelog = "https://github.com/rune-rs/rune/releases/tag/${version}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "rune-languageserver"; }; diff --git a/pkgs/by-name/ru/rune/package.nix b/pkgs/by-name/ru/rune/package.nix index 41d61aa9cc8b0..dc0ca743448b7 100644 --- a/pkgs/by-name/ru/rune/package.nix +++ b/pkgs/by-name/ru/rune/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -30,7 +31,10 @@ rustPlatform.buildRustPackage rec { description = "Interpreter for the Rune Language, an embeddable dynamic programming language for Rust"; homepage = "https://rune-rs.github.io/"; changelog = "https://github.com/rune-rs/rune/releases/tag/${version}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "rune"; }; diff --git a/pkgs/by-name/ru/runelite/package.nix b/pkgs/by-name/ru/runelite/package.nix index 101bfbe3b01ab..158cc94fb9ce2 100644 --- a/pkgs/by-name/ru/runelite/package.nix +++ b/pkgs/by-name/ru/runelite/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, makeDesktopItem -, makeWrapper -, maven -, jdk17 -, jre -, xorg -, gitUpdater -, libGL +{ + lib, + fetchFromGitHub, + makeDesktopItem, + makeWrapper, + maven, + jdk17, + jre, + xorg, + gitUpdater, + libGL, }: maven.buildMavenPackage rec { @@ -49,7 +50,12 @@ maven.buildMavenPackage rec { ln -s ${desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop makeWrapper ${jre}/bin/java $out/bin/runelite \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xorg.libXxf86vm libGL ]}" \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + xorg.libXxf86vm + libGL + ] + }" \ --add-flags "-jar $out/share/RuneLite.jar" ''; @@ -63,7 +69,10 @@ maven.buildMavenPackage rec { binaryNativeCode ]; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ kmeakin moody ]; + maintainers = with lib.maintainers; [ + kmeakin + moody + ]; platforms = [ "x86_64-linux" ]; mainProgram = "runelite"; }; diff --git a/pkgs/by-name/ru/runescape/package.nix b/pkgs/by-name/ru/runescape/package.nix index 00296f7f9faca..990466cb82323 100644 --- a/pkgs/by-name/ru/runescape/package.nix +++ b/pkgs/by-name/ru/runescape/package.nix @@ -1,27 +1,28 @@ -{ stdenv -, lib -, autoPatchelfHook -, buildFHSEnv -, cairo -, dpkg -, fetchurl -, gcc-unwrapped -, glib -, glibc -, gtk2-x11 -, libGL -, libpulseaudio -, libSM -, libXxf86vm -, libX11 -, openssl_1_1 -, pango -, SDL2 -, wrapGAppsHook3 -, xdg-utils -, xorg -, xorg_sys_opengl -, zlib +{ + stdenv, + lib, + autoPatchelfHook, + buildFHSEnv, + cairo, + dpkg, + fetchurl, + gcc-unwrapped, + glib, + glibc, + gtk2-x11, + libGL, + libpulseaudio, + libSM, + libXxf86vm, + libX11, + openssl_1_1, + pango, + SDL2, + wrapGAppsHook3, + xdg-utils, + xorg, + xorg_sys_opengl, + zlib, }: let @@ -93,7 +94,6 @@ let rm -r $out/usr ''; - meta = with lib; { description = "Launcher for RuneScape 3, the current main RuneScape"; homepage = "https://www.runescape.com/"; @@ -106,50 +106,50 @@ let in - /* +/* * We can patch the runescape launcher, but it downloads a client at runtime and checks it for changes. * For that we need use a buildFHSEnv. * FHS simulates a classic linux shell - */ - buildFHSEnv { - pname = "RuneScape"; - inherit (runescape) version; - targetPkgs = pkgs: [ - runescape - cairo - dpkg - gcc-unwrapped - glib - glibc - gtk2-x11 - libGL - libpulseaudio - libSM - libXxf86vm - libX11 - openssl_1_1 - pango - SDL2 - xdg-utils - xorg.libX11 - xorg_sys_opengl - zlib - ]; - multiPkgs = pkgs: [ libGL ]; - runScript = "runescape-launcher"; - extraInstallCommands = '' - mkdir -p "$out/share/applications" - cp ${runescape}/share/applications/runescape-launcher.desktop "$out/share/applications" - cp -r ${runescape}/share/icons "$out/share/icons" - substituteInPlace "$out/share/applications/runescape-launcher.desktop" \ - --replace "/usr/bin/runescape-launcher" "RuneScape" - ''; - - meta = with lib; { - description = "RuneScape Game Client (NXT) - Launcher for RuneScape 3"; - homepage = "https://www.runescape.com/"; - license = licenses.unfree; - maintainers = with maintainers; [ grburst ]; - platforms = [ "x86_64-linux" ]; - }; - } +*/ +buildFHSEnv { + pname = "RuneScape"; + inherit (runescape) version; + targetPkgs = pkgs: [ + runescape + cairo + dpkg + gcc-unwrapped + glib + glibc + gtk2-x11 + libGL + libpulseaudio + libSM + libXxf86vm + libX11 + openssl_1_1 + pango + SDL2 + xdg-utils + xorg.libX11 + xorg_sys_opengl + zlib + ]; + multiPkgs = pkgs: [ libGL ]; + runScript = "runescape-launcher"; + extraInstallCommands = '' + mkdir -p "$out/share/applications" + cp ${runescape}/share/applications/runescape-launcher.desktop "$out/share/applications" + cp -r ${runescape}/share/icons "$out/share/icons" + substituteInPlace "$out/share/applications/runescape-launcher.desktop" \ + --replace "/usr/bin/runescape-launcher" "RuneScape" + ''; + + meta = with lib; { + description = "RuneScape Game Client (NXT) - Launcher for RuneScape 3"; + homepage = "https://www.runescape.com/"; + license = licenses.unfree; + maintainers = with maintainers; [ grburst ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/by-name/ru/runiq/package.nix b/pkgs/by-name/ru/runiq/package.nix index bcc7952d74b03..ba807d84b2ef3 100644 --- a/pkgs/by-name/ru/runiq/package.nix +++ b/pkgs/by-name/ru/runiq/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "runiq"; diff --git a/pkgs/by-name/ru/runit/package.nix b/pkgs/by-name/ru/runit/package.nix index f300ab2a33ac0..9e8a971f81a1d 100644 --- a/pkgs/by-name/ru/runit/package.nix +++ b/pkgs/by-name/ru/runit/package.nix @@ -1,7 +1,11 @@ -{ lib, stdenv, fetchurl, darwin +{ + lib, + stdenv, + fetchurl, + darwin, -# Build runit-init as a static binary -, static ? false + # Build runit-init as a static binary + static ? false, }: stdenv.mkDerivation rec { @@ -17,23 +21,32 @@ stdenv.mkDerivation rec { ./fix-ar-ranlib.patch ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; sourceRoot = "admin/${pname}-${version}"; doCheck = true; - buildInputs = lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ] ++ - lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.utmp; + buildInputs = + lib.optionals static [ + stdenv.cc.libc + stdenv.cc.libc.static + ] + ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.utmp; - postPatch = '' - sed -i "s,\(#define RUNIT\) .*,\1 \"$out/bin/runit\"," src/runit.h - # usernamespace sandbox of nix seems to conflict with runit's assumptions - # about unix users. Therefor skip the check - sed -i '/.\/chkshsgr/d' src/Makefile - '' + lib.optionalString (!static) '' - sed -i 's,-static,,g' src/Makefile - ''; + postPatch = + '' + sed -i "s,\(#define RUNIT\) .*,\1 \"$out/bin/runit\"," src/runit.h + # usernamespace sandbox of nix seems to conflict with runit's assumptions + # about unix users. Therefor skip the check + sed -i '/.\/chkshsgr/d' src/Makefile + '' + + lib.optionalString (!static) '' + sed -i 's,-static,,g' src/Makefile + ''; preBuild = '' cd src diff --git a/pkgs/by-name/ru/runitor/package.nix b/pkgs/by-name/ru/runitor/package.nix index d78417e6ee05f..b5e157aca9702 100644 --- a/pkgs/by-name/ru/runitor/package.nix +++ b/pkgs/by-name/ru/runitor/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, runitor }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + runitor, +}: buildGoModule rec { pname = "runitor"; @@ -13,7 +19,9 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" "-X main.Version=v${version}" + "-s" + "-w" + "-X main.Version=v${version}" ]; passthru.tests.version = testers.testVersion { diff --git a/pkgs/by-name/ru/runningx/package.nix b/pkgs/by-name/ru/runningx/package.nix index 01c3bb5e0233d..38fbc0c551cd9 100644 --- a/pkgs/by-name/ru/runningx/package.nix +++ b/pkgs/by-name/ru/runningx/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libX11 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libX11, +}: stdenv.mkDerivation { pname = "runningx"; diff --git a/pkgs/by-name/ru/runzip/package.nix b/pkgs/by-name/ru/runzip/package.nix index 90eb6d1013876..7f196224b6763 100644 --- a/pkgs/by-name/ru/runzip/package.nix +++ b/pkgs/by-name/ru/runzip/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, libzip, libiconv, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + libzip, + libiconv, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "1.4"; pname = "runzip"; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libiconv libzip ]; + buildInputs = [ + libiconv + libzip + ]; src = fetchFromGitHub { owner = "vlm"; diff --git a/pkgs/by-name/ru/rust-audit-info/package.nix b/pkgs/by-name/ru/rust-audit-info/package.nix index 381e6d5bc71d6..fb0d0b8bb8f38 100644 --- a/pkgs/by-name/ru/rust-audit-info/package.nix +++ b/pkgs/by-name/ru/rust-audit-info/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "rust-audit-info"; @@ -15,7 +19,10 @@ rustPlatform.buildRustPackage rec { description = "Command-line tool to extract the dependency trees embedded in binaries by cargo-auditable"; mainProgram = "rust-audit-info"; homepage = "https://github.com/rust-secure-code/cargo-auditable/tree/master/rust-audit-info"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ru/rust-code-analysis/package.nix b/pkgs/by-name/ru/rust-code-analysis/package.nix index 7427a8bd76d64..ecb56299faa92 100644 --- a/pkgs/by-name/ru/rust-code-analysis/package.nix +++ b/pkgs/by-name/ru/rust-code-analysis/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "rust-code-analysis"; diff --git a/pkgs/by-name/ru/rust-petname/package.nix b/pkgs/by-name/ru/rust-petname/package.nix index 8879dd282cfaf..8f9a1a4463d8d 100644 --- a/pkgs/by-name/ru/rust-petname/package.nix +++ b/pkgs/by-name/ru/rust-petname/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "rust-petname"; diff --git a/pkgs/by-name/ru/rust-script/package.nix b/pkgs/by-name/ru/rust-script/package.nix index d9df9404fbca3..8e85fe0590451 100644 --- a/pkgs/by-name/ru/rust-script/package.nix +++ b/pkgs/by-name/ru/rust-script/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "rust-script"; @@ -21,7 +25,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "rust-script"; homepage = "https://rust-script.org"; changelog = "https://github.com/fornwall/rust-script/releases/tag/${version}"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ru/rust-traverse/package.nix b/pkgs/by-name/ru/rust-traverse/package.nix index ffe1018471059..643324a8feb3b 100644 --- a/pkgs/by-name/ru/rust-traverse/package.nix +++ b/pkgs/by-name/ru/rust-traverse/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, bzip2 -, zstd -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + bzip2, + zstd, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,12 +26,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - bzip2 - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Foundation - ]; + buildInputs = + [ + bzip2 + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Foundation + ]; env = { ZSTD_SYS_USE_PKG_CONFIG = true; diff --git a/pkgs/by-name/ru/rustc-demangle/package.nix b/pkgs/by-name/ru/rustc-demangle/package.nix index 4e142c5845293..edb6be2d7321e 100644 --- a/pkgs/by-name/ru/rustc-demangle/package.nix +++ b/pkgs/by-name/ru/rustc-demangle/package.nix @@ -1,4 +1,9 @@ -{ rustPlatform, fetchFromGitHub, lib, stdenv }: +{ + rustPlatform, + fetchFromGitHub, + lib, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "rustc-demangle"; @@ -16,7 +21,10 @@ rustPlatform.buildRustPackage rec { lockFile = ./Cargo.lock; }; - cargoBuildFlags = [ "-p" "rustc-demangle-capi" ]; + cargoBuildFlags = [ + "-p" + "rustc-demangle-capi" + ]; postPatch = '' ln -s ${./Cargo.lock} Cargo.lock @@ -31,7 +39,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Rust symbol demangling"; homepage = "https://github.com/alexcrichton/rustc-demangle"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; # upstream supports other platforms, but maintainer can only test on linux platforms = platforms.linux; maintainers = with maintainers; [ _1000teslas ]; diff --git a/pkgs/by-name/ru/rustfilt/package.nix b/pkgs/by-name/ru/rustfilt/package.nix index 45312ccd7e49d..351cfa9af57d8 100644 --- a/pkgs/by-name/ru/rustfilt/package.nix +++ b/pkgs/by-name/ru/rustfilt/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ru/rusti-cal/package.nix b/pkgs/by-name/ru/rusti-cal/package.nix index f03783cbc5e2c..2d31a44fedf95 100644 --- a/pkgs/by-name/ru/rusti-cal/package.nix +++ b/pkgs/by-name/ru/rusti-cal/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ru/rustls-ffi/package.nix b/pkgs/by-name/ru/rustls-ffi/package.nix index 7dd4fe038f0e1..8b83c212e4f15 100644 --- a/pkgs/by-name/ru/rustls-ffi/package.nix +++ b/pkgs/by-name/ru/rustls-ffi/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cargo -, rustPlatform -, cargo-c -, validatePkgConfig -, rust -, libiconv -, darwin -, curl -, apacheHttpd -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + rustPlatform, + cargo-c, + validatePkgConfig, + rust, + libiconv, + darwin, + curl, + apacheHttpd, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -30,9 +31,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-IaOhQfDEgLhGmes0xzhLVym29aP691TY0EXdOIgXEMA="; }; - propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.Security + ]; - nativeBuildInputs = [ cargo rustPlatform.cargoSetupHook cargo-c validatePkgConfig ]; + nativeBuildInputs = [ + cargo + rustPlatform.cargoSetupHook + cargo-c + validatePkgConfig + ]; buildPhase = '' runHook preBuild @@ -53,7 +62,11 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru.tests = { - curl = curl.override { opensslSupport = false; rustlsSupport = true; rustls-ffi = finalAttrs.finalPackage; }; + curl = curl.override { + opensslSupport = false; + rustlsSupport = true; + rustls-ffi = finalAttrs.finalPackage; + }; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; @@ -61,7 +74,11 @@ stdenv.mkDerivation (finalAttrs: { description = "C-to-rustls bindings"; homepage = "https://github.com/rustls/rustls-ffi/"; pkgConfigModules = [ "rustls" ]; - license = with lib.licenses; [ mit asl20 isc ]; + license = with lib.licenses; [ + mit + asl20 + isc + ]; maintainers = [ maintainers.lesuisse ]; }; }) diff --git a/pkgs/by-name/ru/rustmission/package.nix b/pkgs/by-name/ru/rustmission/package.nix index 241a0b71dc63f..6a883d1292812 100644 --- a/pkgs/by-name/ru/rustmission/package.nix +++ b/pkgs/by-name/ru/rustmission/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,12 +23,13 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; # There is no tests doCheck = false; diff --git a/pkgs/by-name/ru/rustplayer/package.nix b/pkgs/by-name/ru/rustplayer/package.nix index 8c4757c279918..e07f2b5802595 100644 --- a/pkgs/by-name/ru/rustplayer/package.nix +++ b/pkgs/by-name/ru/rustplayer/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, alsa-lib -, ffmpeg_6 +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + alsa-lib, + ffmpeg_6, }: rustPlatform.buildRustPackage { @@ -29,8 +30,15 @@ rustPlatform.buildRustPackage { "ffmpeg-sys-next-6.0.1" = "sha256-/CcyWDPeVLVSV8NfWFJhj1tGmuqLPnnyvVosIXM27NI="; }; }; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; - buildInputs = [ alsa-lib openssl ffmpeg_6 ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; + buildInputs = [ + alsa-lib + openssl + ffmpeg_6 + ]; checkFlags = [ # network required diff --git a/pkgs/by-name/ru/rusty-diceware/package.nix b/pkgs/by-name/ru/rusty-diceware/package.nix index acc271e0f7a1f..996f5fbc7bef3 100644 --- a/pkgs/by-name/ru/rusty-diceware/package.nix +++ b/pkgs/by-name/ru/rusty-diceware/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitLab -, lib -, rustPlatform +{ + fetchFromGitLab, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ru/rusty-man/package.nix b/pkgs/by-name/ru/rusty-man/package.nix index 164977facbe9e..023febdd38fb2 100644 --- a/pkgs/by-name/ru/rusty-man/package.nix +++ b/pkgs/by-name/ru/rusty-man/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromSourcehut }: +{ + lib, + rustPlatform, + fetchFromSourcehut, +}: rustPlatform.buildRustPackage rec { pname = "rusty-man"; diff --git a/pkgs/by-name/ru/rusty-psn/package.nix b/pkgs/by-name/ru/rusty-psn/package.nix index ecd5948b4d9ca..5945caf102bf3 100644 --- a/pkgs/by-name/ru/rusty-psn/package.nix +++ b/pkgs/by-name/ru/rusty-psn/package.nix @@ -1,18 +1,19 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, pkg-config -, cmake -, fontconfig -, glib -, gtk3 -, freetype -, openssl -, xorg -, libGL -, withGui ? false # build GUI version +{ + lib, + rustPlatform, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + pkg-config, + cmake, + fontconfig, + glib, + gtk3, + freetype, + openssl, + xorg, + libGL, + withGui ? false, # build GUI version }: rustPlatform.buildRustPackage rec { @@ -33,38 +34,44 @@ rustPlatform.buildRustPackage rec { # Tests require network access doCheck = false; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals withGui [ - copyDesktopItems - cmake - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals withGui [ + copyDesktopItems + cmake + ]; - buildInputs = [ - openssl - ] ++ lib.optionals withGui [ - fontconfig - glib - gtk3 - freetype - openssl - xorg.libxcb - xorg.libX11 - xorg.libXcursor - xorg.libXrandr - xorg.libXi - xorg.libxcb - libGL - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals withGui [ + fontconfig + glib + gtk3 + freetype + openssl + xorg.libxcb + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libxcb + libGL + ]; buildNoDefaultFeatures = true; buildFeatures = [ (if withGui then "egui" else "cli") ]; - postFixup = '' - patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $out/bin/rusty-psn - '' + lib.optionalString withGui '' - mv $out/bin/rusty-psn $out/bin/rusty-psn-gui - ''; + postFixup = + '' + patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $out/bin/rusty-psn + '' + + lib.optionalString withGui '' + mv $out/bin/rusty-psn $out/bin/rusty-psn-gui + ''; desktopItem = lib.optionalString withGui (makeDesktopItem { name = "rusty-psn"; diff --git a/pkgs/by-name/ru/rustycli/package.nix b/pkgs/by-name/ru/rustycli/package.nix index ce16743a07158..a275889580fb5 100644 --- a/pkgs/by-name/ru/rustycli/package.nix +++ b/pkgs/by-name/ru/rustycli/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ru/rustypaste-cli/package.nix b/pkgs/by-name/ru/rustypaste-cli/package.nix index a596683537390..28723865954b5 100644 --- a/pkgs/by-name/ru/rustypaste-cli/package.nix +++ b/pkgs/by-name/ru/rustypaste-cli/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ru/rustypaste/package.nix b/pkgs/by-name/ru/rustypaste/package.nix index f0a1fc8c3b9c1..eef90e5c0858d 100644 --- a/pkgs/by-name/ru/rustypaste/package.nix +++ b/pkgs/by-name/ru/rustypaste/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "rustypaste"; @@ -32,7 +38,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/orhun/rustypaste"; changelog = "https://github.com/orhun/rustypaste/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda seqizz ]; + maintainers = with maintainers; [ + figsoda + seqizz + ]; mainProgram = "rustypaste"; }; } diff --git a/pkgs/by-name/ru/rustywind/package.nix b/pkgs/by-name/ru/rustywind/package.nix index 98ae24be7fb3b..b113c86fa2e83 100644 --- a/pkgs/by-name/ru/rustywind/package.nix +++ b/pkgs/by-name/ru/rustywind/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ru/rutabaga_gfx/package.nix b/pkgs/by-name/ru/rutabaga_gfx/package.nix index 9b8f5bec42f37..36592007c9425 100644 --- a/pkgs/by-name/ru/rutabaga_gfx/package.nix +++ b/pkgs/by-name/ru/rutabaga_gfx/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchgit -, fetchpatch -, cargo -, pkg-config -, rustPlatform -, aemu -, gfxstream -, libdrm -, libiconv +{ + lib, + stdenv, + fetchgit, + fetchpatch, + cargo, + pkg-config, + rustPlatform, + aemu, + gfxstream, + libdrm, + libiconv, }: stdenv.mkDerivation (finalAttrs: { @@ -41,13 +42,22 @@ stdenv.mkDerivation (finalAttrs: { ./darwin-install.patch ]; - nativeBuildInputs = [ cargo pkg-config rustPlatform.cargoSetupHook ]; - buildInputs = [ libiconv ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ([ - aemu - gfxstream - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ - libdrm - ]); + nativeBuildInputs = [ + cargo + pkg-config + rustPlatform.cargoSetupHook + ]; + buildInputs = + [ libiconv ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ( + [ + aemu + gfxstream + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ + libdrm + ] + ); cargoDeps = rustPlatform.fetchCargoTarball { inherit (finalAttrs) src; @@ -55,8 +65,7 @@ stdenv.mkDerivation (finalAttrs: { }; CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec; - "CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_LINKER" = - "${stdenv.cc.targetPrefix}cc"; + "CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_LINKER" = "${stdenv.cc.targetPrefix}cc"; postConfigure = '' cd rutabaga_gfx/ffi diff --git a/pkgs/by-name/ru/rutorrent/package.nix b/pkgs/by-name/ru/rutorrent/package.nix index 43267de48b82d..7d76c9000f6bd 100644 --- a/pkgs/by-name/ru/rutorrent/package.nix +++ b/pkgs/by-name/ru/rutorrent/package.nix @@ -1,4 +1,8 @@ -{stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "rutorrent"; diff --git a/pkgs/by-name/ru/ruwudu/package.nix b/pkgs/by-name/ru/ruwudu/package.nix index 025c0a2ece435..e4decd04df993 100644 --- a/pkgs/by-name/ru/ruwudu/package.nix +++ b/pkgs/by-name/ru/ruwudu/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ruwudu"; diff --git a/pkgs/by-name/rv/rvvm/package.nix b/pkgs/by-name/rv/rvvm/package.nix index 4693999e8f111..2625cd3f5e5ac 100644 --- a/pkgs/by-name/rv/rvvm/package.nix +++ b/pkgs/by-name/rv/rvvm/package.nix @@ -1,21 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, SDL2 + SDL2, -, libX11 -, libXext + libX11, + libXext, -, guiBackend ? "sdl" + guiBackend ? "sdl", -, enableSDL ? guiBackend == "sdl" -, enableX11 ? guiBackend == "x11" + enableSDL ? guiBackend == "sdl", + enableX11 ? guiBackend == "x11", }: -assert lib.assertMsg (builtins.elem guiBackend ["sdl" "x11" "none"]) "Unsupported GUI backend"; +assert lib.assertMsg (builtins.elem guiBackend [ + "sdl" + "x11" + "none" +]) "Unsupported GUI backend"; assert lib.assertMsg (!(enableSDL && enableX11)) "RVVM can have only one GUI backend at a time"; -assert lib.assertMsg (stdenv.hostPlatform.isDarwin -> !enableX11) "macOS supports only SDL GUI backend"; +assert lib.assertMsg ( + stdenv.hostPlatform.isDarwin -> !enableX11 +) "macOS supports only SDL GUI backend"; stdenv.mkDerivation rec { pname = "rvvm"; @@ -28,22 +35,33 @@ stdenv.mkDerivation rec { sha256 = "sha256-5nSlKyWDAx0EeKFzzwP5+99XuJz9BHXEF1WNkRMLa9U="; }; - buildInputs = [] + buildInputs = + [ ] ++ lib.optionals enableSDL [ SDL2 ] - ++ lib.optionals enableX11 [ libX11 libXext ]; + ++ lib.optionals enableX11 [ + libX11 + libXext + ]; enableParallelBuilding = true; - buildFlags = [ "all" "lib" ]; + buildFlags = [ + "all" + "lib" + ]; - makeFlags = [ "PREFIX=$(out)" ] + makeFlags = + [ "PREFIX=$(out)" ] ++ lib.optional enableSDL "USE_SDL=2" # Use SDL2 instead of SDL1 ++ lib.optional (!enableSDL && !enableX11) "USE_FB=0"; meta = with lib; { homepage = "https://github.com/LekKit/RVVM"; description = "RISC-V Virtual Machine"; - license = with licenses; [ gpl3 /* or */ mpl20 ]; + license = with licenses; [ + gpl3 # or + mpl20 + ]; platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ kamillaova ]; mainProgram = "rvvm"; diff --git a/pkgs/by-name/rw/rw/package.nix b/pkgs/by-name/rw/rw/package.nix index e77009f7969f0..70372c31894e1 100644 --- a/pkgs/by-name/rw/rw/package.nix +++ b/pkgs/by-name/rw/rw/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "rw"; diff --git a/pkgs/by-name/rw/rwc/package.nix b/pkgs/by-name/rw/rwc/package.nix index e283fb4005b07..7369a086f79ca 100644 --- a/pkgs/by-name/rw/rwc/package.nix +++ b/pkgs/by-name/rw/rwc/package.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib }: +{ + stdenv, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation rec { pname = "rwc"; diff --git a/pkgs/by-name/rw/rwedid/package.nix b/pkgs/by-name/rw/rwedid/package.nix index 3b7870fdc9b35..f62b18cb9c9c3 100644 --- a/pkgs/by-name/rw/rwedid/package.nix +++ b/pkgs/by-name/rw/rwedid/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitea -, pkg-config -, xz +{ + lib, + rustPlatform, + fetchFromGitea, + pkg-config, + xz, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rw/rwpspread/package.nix b/pkgs/by-name/rw/rwpspread/package.nix index 9efdc473860ca..84bd7da27912a 100644 --- a/pkgs/by-name/rw/rwpspread/package.nix +++ b/pkgs/by-name/rw/rwpspread/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libxkbcommon -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libxkbcommon, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/rx/rx/package.nix b/pkgs/by-name/rx/rx/package.nix index 943f46fab649c..3f564a6476e03 100644 --- a/pkgs/by-name/rx/rx/package.nix +++ b/pkgs/by-name/rx/rx/package.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, makeWrapper -, cmake, pkg-config -, xorg ? null -, libGL ? null }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + makeWrapper, + cmake, + pkg-config, + xorg ? null, + libGL ? null, +}: rustPlatform.buildRustPackage rec { pname = "rx"; @@ -16,13 +23,24 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-4hi1U4jl6QA7H8AKHlU+Hqz5iKGYHRXHDsrcqY7imkU="; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux - (with xorg; [ - # glfw-sys dependencies: - libX11 libXrandr libXinerama libXcursor libXi libXext - ]); + buildInputs = lib.optionals stdenv.hostPlatform.isLinux ( + with xorg; + [ + # glfw-sys dependencies: + libX11 + libXrandr + libXinerama + libXcursor + libXi + libXext + ] + ); # FIXME: GLFW (X11) requires DISPLAY env variable for all tests doCheck = false; @@ -38,7 +56,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "rx"; homepage = "https://rx.cloudhead.io/"; license = licenses.gpl3; - maintainers = with maintainers; [ minijackson Br1ght0ne ]; + maintainers = with maintainers; [ + minijackson + Br1ght0ne + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/rx/rxp/package.nix b/pkgs/by-name/rx/rxp/package.nix index fe93607d27f2d..e36b34ae67d34 100644 --- a/pkgs/by-name/rx/rxp/package.nix +++ b/pkgs/by-name/rx/rxp/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl} : +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "rxp"; diff --git a/pkgs/by-name/rx/rxvt/package.nix b/pkgs/by-name/rx/rxvt/package.nix index 9894a8cdb05a5..9c0dd2d69c23e 100644 --- a/pkgs/by-name/rx/rxvt/package.nix +++ b/pkgs/by-name/rx/rxvt/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl -, pkg-config, libtool -, libX11, libXt, libXpm }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libtool, + libX11, + libXt, + libXpm, +}: stdenv.mkDerivation rec { pname = "rxvt"; @@ -12,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libtool libX11 libXt libXpm ]; + buildInputs = [ + libtool + libX11 + libXt + libXpm + ]; configurePhase = '' LIBTOOL=${libtool}/bin/libtool ./configure --prefix=$out --enable-everything --enable-smart-resize --enable-256-color diff --git a/pkgs/by-name/ry/rymcast/package.nix b/pkgs/by-name/ry/rymcast/package.nix index ddd9c751083f0..4f6fd4b060ae8 100644 --- a/pkgs/by-name/ry/rymcast/package.nix +++ b/pkgs/by-name/ry/rymcast/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchzip, autoPatchelfHook, makeWrapper -, alsa-lib, curl, gtk3, webkitgtk_4_0, zenity }: +{ + lib, + stdenv, + fetchzip, + autoPatchelfHook, + makeWrapper, + alsa-lib, + curl, + gtk3, + webkitgtk_4_0, + zenity, +}: stdenv.mkDerivation rec { pname = "rymcast"; @@ -11,9 +21,19 @@ stdenv.mkDerivation rec { stripRoot = false; }; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; - buildInputs = [ alsa-lib curl gtk3 (lib.getLib stdenv.cc.cc) webkitgtk_4_0 zenity ]; + buildInputs = [ + alsa-lib + curl + gtk3 + (lib.getLib stdenv.cc.cc) + webkitgtk_4_0 + zenity + ]; installPhase = '' mkdir -p "$out/bin" diff --git a/pkgs/by-name/ry/ryujinx/deps.nix b/pkgs/by-name/ry/ryujinx/deps.nix index 6a1c37ce1a876..3af2f7275daab 100644 --- a/pkgs/by-name/ry/ryujinx/deps.nix +++ b/pkgs/by-name/ry/ryujinx/deps.nix @@ -1,206 +1,1011 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Avalonia"; version = "11.0.10"; hash = "sha256-FuGl5admJ9AeRNrg/faGfqx8pwxGxdkmbnth9Jxhelc="; }) - (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; hash = "sha256-TWop9cvak6cMv2vrA/GlpuYBxS8Fuj5UmupGIV7Q5Ks="; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.10"; hash = "sha256-G0ooIjNRW5YHKvQ6qPxe5gaE3HPwGfiCQUo34PSxXGg="; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.4"; hash = "sha256-Jp0j/58RF9Qooc7ATtq80FtX3TVLhi54JfgrbKdiDes="; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.10"; hash = "sha256-0v4evkV0jbLffwfQG/QO/RQbHXlCBmFv8A2pBZjS5Y0="; }) - (fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.4"; hash = "sha256-P8MfWKkDQrsk6x/vraNxxdYSMHytS8U3fMY2o8b49dw="; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.10"; hash = "sha256-fIty7TfiTC+OX9gCH4tA8Fs9dF4+G7Mhs9XnZadUR2g="; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.10"; hash = "sha256-itnN+LIZ2S+1CjD0ZS/woKtpgWbC/srMYzbYfX3a8LA="; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.10"; hash = "sha256-uVNOOVTQIqQ2pDgSsz5saI7+fMvps40vJlMp1/XdyaE="; }) - (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.10"; hash = "sha256-Xv6L8U34QEiH6r3SQWLwuVFk9N9REmCUHa9hEbv2m24="; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.10"; hash = "sha256-P9j01FDXDpixo8wBVH3XK0Am6UBhG52HDrzt1ZqD8Ro="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.10"; hash = "sha256-qtvlczTg2yUZWyyqXkkboB8lK9aYv+STbfDvSKb55Vw="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.4"; hash = "sha256-13qXDjlWElmwQ0sb00+ny9gOgKuDOHKvALuQB6EZxCQ="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0"; hash = "sha256-A01nrs3Ij1eTo6tPmu7++T1K+Wo/H/9LvpeuOUGbQeU="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.10"; hash = "sha256-1SU17j43Fiw4LbEEgqx10zE/iIVPfb8G1JVbfD2RhXA="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.4"; hash = "sha256-1XfPTcAaNj1926uYkvo7P62++ds5M2gHvkv1hRzBVfs="; }) - (fetchNuGet { pname = "Avalonia.Svg"; version = "11.0.0.18"; hash = "sha256-U4bafxxxFE0tKmKVxguxH+doFrTHlM6DjFP8wz6Xm9U="; }) - (fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "11.0.0.18"; hash = "sha256-M4AQkL42efqOSck4Lf7C1naIRjEPMlnxi3OVC8zLJaQ="; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.10"; hash = "sha256-54fc2g1yvM7pPRaF062lSjXaQDe2i61xQRM8m81vWm8="; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.10"; hash = "sha256-+o228ElrBJBxBkZKGbo3x8/52wKpnAk/x6Yon5pyA74="; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.10"; hash = "sha256-/CRivMxpcbW1FnIuwZbF2ucdcbn4TCyjKzLXgdGtCfQ="; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; }) - (fetchNuGet { pname = "Concentus"; version = "2.2.0"; hash = "sha256-7wbB76WoTd2CISIODGhmEiPIrydI0dqDMZGf4gdkogM="; }) - (fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; hash = "sha256-oRNrlF1/yK0QvrW2+48RsmSg9h9/pDIfA56/bpoHXFU="; }) - (fetchNuGet { pname = "DynamicData"; version = "9.0.4"; hash = "sha256-3pyiJeWRwfaT7p1ArsoR13aI78Jo13aHOEw3BelTS9g="; }) - (fetchNuGet { pname = "ExCSS"; version = "4.2.3"; hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I="; }) - (fetchNuGet { pname = "FluentAvaloniaUI"; version = "2.0.5"; hash = "sha256-EaJ6qR2yn+7p8lf62yx2vL3sGhnPOfbP5jBjR+pGY7o="; }) - (fetchNuGet { pname = "FSharp.Core"; version = "7.0.200"; hash = "sha256-680VgvYbZbztPQosO17r5y8vxg/Y/4Vmr5K3iLIJKMo="; }) - (fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; hash = "sha256-/IpSj5JnUTREfQsdA3XW+eqNhqApTds65DQoNpjl3jk="; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0"; hash = "sha256-LlPQO/NYgIMWicvLOtWsQzCp512QpIImYDP9/n2rDOc="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0"; hash = "sha256-AEHjgqX0o+Fob0SeZ6EikGKoEe6rRxess5fVJ31UL0U="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0"; hash = "sha256-6oFcdKb17UX5wyAUeCCKXGvzkf0w3MNdZOVMvs54tqw="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0"; hash = "sha256-9VI0xCavuuIIStuQ7ipBfWu5HrAt+Kk/F2j57C1llTU="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0"; hash = "sha256-WnB7l73hneU9Kpbm8S9zEYbZHjFre24vWz0vl8+v28M="; }) - (fetchNuGet { pname = "LibHac"; version = "0.19.0"; hash = "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk="; }) - (fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.11.0"; hash = "sha256-TsxziX9V8T3qRrEA3o9wY84ocDcUUUBzvARi5QZW23o="; }) - (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; hash = "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.9.2"; hash = "sha256-QU/nyiJWpdPQGHBdaOEVc+AghnGHcKBFBX0oyhRZ9CQ="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.9.2"; hash = "sha256-j06Q4A9E65075SBXdXVCMRgeLxA63Rv1vxarydmmVAA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; }) - (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.9.0"; hash = "sha256-OaGa4+jRPHs+T+p/oekm2Miluqfd2IX8Rt+BmUx8kr4="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; hash = "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "8.0.0"; hash = "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "8.0.1"; hash = "sha256-zPWUKTCfGm4MWcYPU037NzezsFE1g8tEijjQkw5iooI="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "8.0.1"; hash = "sha256-Xv9MUnjb66U3xeR9drOcSX5n2DjOCIJZPMNSKjWHo9Y="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "8.0.1"; hash = "sha256-FfwrH/2eLT521Kqw+RBIoVfzlTNyYMqlWP3z+T6Wy2Y="; }) - (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "8.0.1"; hash = "sha256-beVbbVQy874HlXkTKarPTT5/r7XR1NGHA/50ywWp7YA="; }) - (fetchNuGet { pname = "Microsoft.IO.RecyclableMemoryStream"; version = "3.0.1"; hash = "sha256-unFg/5EcU/XKJbob4GtQC43Ydgi5VjeBGs7hfhj4EYo="; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.9.0"; hash = "sha256-q/1AJ7eNlk02wvN76qvjl2xBx5iJ+h5ssiE/4akLmtI="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.9.0"; hash = "sha256-iiXUFzpvT8OWdzMj9FGJDqanwHx40s1TXVY9l3ii+s0="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.9.0"; hash = "sha256-1BZIY1z+C9TROgdTV/tq4zsPy7Q71GQksr/LoMKAzqU="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0="; }) - (fetchNuGet { pname = "MsgPack.Cli"; version = "1.0.1"; hash = "sha256-Gf0Ed9XHH4oFpJIkzhg/xhDVpenunSol65qa8IZeYrY="; }) - (fetchNuGet { pname = "NetCoreServer"; version = "8.0.7"; hash = "sha256-RUYic8uAgJGdhUCrMJQULKlHB6xvw9H1lnNGU1axNZw="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; }) - (fetchNuGet { pname = "NUnit"; version = "3.13.3"; hash = "sha256-Zn+sJIF7ieNqu/t2RwJx6WPFb1jl9UuNHidb/Px0v3E="; }) - (fetchNuGet { pname = "NUnit3TestAdapter"; version = "4.1.0"; hash = "sha256-nDPiYdTFulqozEJrujr8/cqjG7m15Vkd/Frqem0Jr/w="; }) - (fetchNuGet { pname = "OpenTK.Audio.OpenAL"; version = "4.8.2"; hash = "sha256-i5KRiTYTNMB4Y5Qd5xewaYrb9sBbnXMDu2QXbM3RCeU="; }) - (fetchNuGet { pname = "OpenTK.Core"; version = "4.8.2"; hash = "sha256-59S4Vj13y8HtZT6RZTwO6ZZbk1GUNDcYx1rMdv5jr4I="; }) - (fetchNuGet { pname = "OpenTK.Graphics"; version = "4.8.2"; hash = "sha256-DNpXqtM9Oj6wDGYSF2FD4A4ueWG892Wk6uGWffNspo0="; }) - (fetchNuGet { pname = "OpenTK.Mathematics"; version = "4.8.2"; hash = "sha256-TPsts443n6iEajfH2EuYTKtubrWuTLiCrTB1F4FndIo="; }) - (fetchNuGet { pname = "OpenTK.redist.glfw"; version = "3.3.8.39"; hash = "sha256-bg8bGfoDDqmZ/efLFVm8l5etQajIVvOcQ/Nv+yKD4Bc="; }) - (fetchNuGet { pname = "OpenTK.Windowing.GraphicsLibraryFramework"; version = "4.8.2"; hash = "sha256-a1MGtU+27pBNns55g8mOsxXpZxfEr6M62zLkIkkJTIY="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "Ryujinx.AtkSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-mK1zXkd6bdo7YqOm/rcI8MTniugvs5Kjw+esGmHYJxE="; }) - (fetchNuGet { pname = "Ryujinx.Audio.OpenAL.Dependencies"; version = "1.21.0.1"; hash = "sha256-NHGzMcYduuYJjduIlf8M8zSQQuJcXAEaMNmKIqAgs3w="; }) - (fetchNuGet { pname = "Ryujinx.CairoSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-+gV4Vlkd0jMZ6yGCz1/KoiE32/O26gHOZiHXmZ292rE="; }) - (fetchNuGet { pname = "Ryujinx.GdkSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-r1UK7YzhMOJ3Z8eWuUyTf0nGQ0Bdlic8Qri170ilEbs="; }) - (fetchNuGet { pname = "Ryujinx.GioSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-sbfdn16UoQtcU9gAgvP2kjBUbYi9nKy09bmhvn9IGtU="; }) - (fetchNuGet { pname = "Ryujinx.GLibSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-zZv0B4BvKuRdse8oqSbb4P6FFq79w4M+MCk8EqqLVWk="; }) - (fetchNuGet { pname = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "5.0.3-build14"; hash = "sha256-+ff+tlWggY+qZTBJroOOphRpOjBDg5cQgwGtVOTiqRQ="; }) - (fetchNuGet { pname = "Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK"; version = "1.2.0"; hash = "sha256-vdDw6YGoyQzv6ustyXP6v7YWUIKEXaZOyUKAaVbRauI="; }) - (fetchNuGet { pname = "Ryujinx.GtkSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-2duc6+KLuctobfwqeuewxRLZnXn83QomF4rN0hEoMTc="; }) - (fetchNuGet { pname = "Ryujinx.PangoSharp"; version = "3.24.24.59-ryujinx"; hash = "sha256-gGAK/aEfTUAxEihjlBOtHlhPZZFAwCasgUB/Umapva0="; }) - (fetchNuGet { pname = "Ryujinx.SDL2-CS"; version = "2.30.0-build32"; hash = "sha256-KrrlDq0pXcunnOhJL12dt1CAdNbaupbDlnza5gXuVKE="; }) - (fetchNuGet { pname = "securifybv.PropertyStore"; version = "0.1.0"; hash = "sha256-jTPT9E2LyElgJq4HMavkdwT8tA9uklnJv00mlIx66+g="; }) - (fetchNuGet { pname = "securifybv.ShellLink"; version = "0.1.0"; hash = "sha256-Am+ZednCVJUDgB7TePyY3CTxKDQ6Lr8M8KiCVAJoouw="; }) - (fetchNuGet { pname = "shaderc.net"; version = "0.1.0"; hash = "sha256-+K7ObC9ucilwWY+Tlf9KcrAVoTFS65V6Di7JDWDSZTg="; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; hash = "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="; }) - (fetchNuGet { pname = "ShimSkiaSharp"; version = "1.0.0.18"; hash = "sha256-72NV+OuW8bCfI/EOXwgS6dleLZnomLJTYeQPPmfhuu8="; }) - (fetchNuGet { pname = "Silk.NET.Core"; version = "2.21.0"; hash = "sha256-D4ZUCm1Gf/EiRWrSwSLrdXT6U54icY2E/vrvCD/bRHw="; }) - (fetchNuGet { pname = "Silk.NET.Vulkan"; version = "2.21.0"; hash = "sha256-Xnxl13+ziJ1+jNxMFSrEuh6NvL1FBrYmJ/d3HQXpgzY="; }) - (fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.EXT"; version = "2.21.0"; hash = "sha256-udELG0ppCOP9eT2yl/sI9MgKOVOuK0py9znmoaBGDpk="; }) - (fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.KHR"; version = "2.21.0"; hash = "sha256-KyiGHW6CNkXE3EdHk3ufwTVG7oLvSyHwx+MmIJhsiBk="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; hash = "sha256-WyMAjnQt8ZsuWpGLI89l/f4bHvv+cg7FdTAL7CtJBvs="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.7"; hash = "sha256-Ip3afwTr4QOqtwOUKqK6g/9Ug4dMSebTci5K29Jc3Dg="; }) - (fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.6"; hash = "sha256-gpHiTuHfiXgbkBkzipXb8EXIatefsod75nyrFdPcwcA="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; hash = "sha256-eExWAAURgnwwm2fRwsK/rf+TeOAPs2n02XZzC0zeUjU="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.7"; hash = "sha256-QdQRN1IBjqohmI8U+6WJRPgOsh8a9soN2UvVObs1H1w="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; hash = "sha256-8G4swiLMr6XS3kjfO/YC1PyoVdfSq7nxZthZZ+KTKqQ="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; hash = "sha256-7hOMjlYTOiNPLNwfLFUjTcdgiGEtmYUI1EubiRiC6bo="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.7"; hash = "sha256-WgPldXSqPMm0TrdUWAyjge5rcRhd9G3/Ix/v/2NQvBc="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.3"; hash = "sha256-/SkV2pIZnt0ziSKB7gt7U2Rltk2Id+zOzbmqgfWUtvA="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.7"; hash = "sha256-oIjFF+Rv+g8AKyNaaVAgnHX3eeP/l8K2sgHs9bRyUMw="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; hash = "sha256-2PhMTwRHitT13KCKiZltKIFieAvNY4jBmVZ2ndVynA8="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; hash = "sha256-ljD4QmAO2/vwA6I8GIUNkONpOzmGsOVJJy9vPDnjVfA="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.7"; hash = "sha256-+7RxCAr+ne9MZWdXKKpV4ZbHW0k6hLD20ZFWWOCiNYU="; }) - (fetchNuGet { pname = "SPB"; version = "0.0.4-build32"; hash = "sha256-GUzbV5rLWtXTpiddYrKnWWLujG38vBDCO4xRStwAaDo="; }) - (fetchNuGet { pname = "Svg.Custom"; version = "1.0.0.18"; hash = "sha256-RguRPwBM/KCogaiOgjELlvuqN1Tr+b3HA4Odz1rXBgU="; }) - (fetchNuGet { pname = "Svg.Model"; version = "1.0.0.18"; hash = "sha256-CXZC45txfcd8MuRmDENw2ujlGk74YaUPNs7dXq+Zcg8="; }) - (fetchNuGet { pname = "Svg.Skia"; version = "1.0.0.18"; hash = "sha256-o5VnCaAGX4LuwNyl7QM0KOg2gNfkD5uNMNthxB7w0m4="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; hash = "sha256-L1xyspJ8pDJNVPYKl+FMGf4Zwm0tlqtAyQCNW6pT6/0="; }) - (fetchNuGet { pname = "System.CodeDom"; version = "8.0.0"; hash = "sha256-uwVhi3xcvX7eiOGQi7dRETk3Qx1EfHsUfchZsEto338="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Management"; version = "8.0.0"; hash = "sha256-HwpfDb++q7/vxR6q57mGFgl5U0vxy+oRJ6orFKORfP0="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.3.0"; hash = "sha256-eog2Sp8CAntRlyp2Aar1tpAwDrojGFZ5LIdqsmuIchY="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reactive"; version = "6.0.1"; hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "8.0.0"; hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; }) - (fetchNuGet { pname = "UnicornEngine.Unicorn"; version = "2.0.2-rc1-fb78016"; hash = "sha256-NrJ4/o4FmCt2zoB1fWAzqdonvpYhTFsWwh3h0lxZg+Q="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Avalonia"; + version = "11.0.10"; + hash = "sha256-FuGl5admJ9AeRNrg/faGfqx8pwxGxdkmbnth9Jxhelc="; + }) + (fetchNuGet { + pname = "Avalonia.Angle.Windows.Natives"; + version = "2.1.0.2023020321"; + hash = "sha256-TWop9cvak6cMv2vrA/GlpuYBxS8Fuj5UmupGIV7Q5Ks="; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.29"; + hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.0.10"; + hash = "sha256-G0ooIjNRW5YHKvQ6qPxe5gaE3HPwGfiCQUo34PSxXGg="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.0.4"; + hash = "sha256-Jp0j/58RF9Qooc7ATtq80FtX3TVLhi54JfgrbKdiDes="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.DataGrid"; + version = "11.0.10"; + hash = "sha256-0v4evkV0jbLffwfQG/QO/RQbHXlCBmFv8A2pBZjS5Y0="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ItemsRepeater"; + version = "11.0.4"; + hash = "sha256-P8MfWKkDQrsk6x/vraNxxdYSMHytS8U3fMY2o8b49dw="; + }) + (fetchNuGet { + pname = "Avalonia.Desktop"; + version = "11.0.10"; + hash = "sha256-fIty7TfiTC+OX9gCH4tA8Fs9dF4+G7Mhs9XnZadUR2g="; + }) + (fetchNuGet { + pname = "Avalonia.Diagnostics"; + version = "11.0.10"; + hash = "sha256-itnN+LIZ2S+1CjD0ZS/woKtpgWbC/srMYzbYfX3a8LA="; + }) + (fetchNuGet { + pname = "Avalonia.FreeDesktop"; + version = "11.0.10"; + hash = "sha256-uVNOOVTQIqQ2pDgSsz5saI7+fMvps40vJlMp1/XdyaE="; + }) + (fetchNuGet { + pname = "Avalonia.Markup.Xaml.Loader"; + version = "11.0.10"; + hash = "sha256-Xv6L8U34QEiH6r3SQWLwuVFk9N9REmCUHa9hEbv2m24="; + }) + (fetchNuGet { + pname = "Avalonia.Native"; + version = "11.0.10"; + hash = "sha256-P9j01FDXDpixo8wBVH3XK0Am6UBhG52HDrzt1ZqD8Ro="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.0.10"; + hash = "sha256-qtvlczTg2yUZWyyqXkkboB8lK9aYv+STbfDvSKb55Vw="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.0.4"; + hash = "sha256-13qXDjlWElmwQ0sb00+ny9gOgKuDOHKvALuQB6EZxCQ="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.0"; + hash = "sha256-A01nrs3Ij1eTo6tPmu7++T1K+Wo/H/9LvpeuOUGbQeU="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.10"; + hash = "sha256-1SU17j43Fiw4LbEEgqx10zE/iIVPfb8G1JVbfD2RhXA="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.4"; + hash = "sha256-1XfPTcAaNj1926uYkvo7P62++ds5M2gHvkv1hRzBVfs="; + }) + (fetchNuGet { + pname = "Avalonia.Svg"; + version = "11.0.0.18"; + hash = "sha256-U4bafxxxFE0tKmKVxguxH+doFrTHlM6DjFP8wz6Xm9U="; + }) + (fetchNuGet { + pname = "Avalonia.Svg.Skia"; + version = "11.0.0.18"; + hash = "sha256-M4AQkL42efqOSck4Lf7C1naIRjEPMlnxi3OVC8zLJaQ="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Simple"; + version = "11.0.10"; + hash = "sha256-54fc2g1yvM7pPRaF062lSjXaQDe2i61xQRM8m81vWm8="; + }) + (fetchNuGet { + pname = "Avalonia.Win32"; + version = "11.0.10"; + hash = "sha256-+o228ElrBJBxBkZKGbo3x8/52wKpnAk/x6Yon5pyA74="; + }) + (fetchNuGet { + pname = "Avalonia.X11"; + version = "11.0.10"; + hash = "sha256-/CRivMxpcbW1FnIuwZbF2ucdcbn4TCyjKzLXgdGtCfQ="; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; + }) + (fetchNuGet { + pname = "Concentus"; + version = "2.2.0"; + hash = "sha256-7wbB76WoTd2CISIODGhmEiPIrydI0dqDMZGf4gdkogM="; + }) + (fetchNuGet { + pname = "DiscordRichPresence"; + version = "1.2.1.24"; + hash = "sha256-oRNrlF1/yK0QvrW2+48RsmSg9h9/pDIfA56/bpoHXFU="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "9.0.4"; + hash = "sha256-3pyiJeWRwfaT7p1ArsoR13aI78Jo13aHOEw3BelTS9g="; + }) + (fetchNuGet { + pname = "ExCSS"; + version = "4.2.3"; + hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I="; + }) + (fetchNuGet { + pname = "FluentAvaloniaUI"; + version = "2.0.5"; + hash = "sha256-EaJ6qR2yn+7p8lf62yx2vL3sGhnPOfbP5jBjR+pGY7o="; + }) + (fetchNuGet { + pname = "FSharp.Core"; + version = "7.0.200"; + hash = "sha256-680VgvYbZbztPQosO17r5y8vxg/Y/4Vmr5K3iLIJKMo="; + }) + (fetchNuGet { + pname = "GtkSharp.Dependencies"; + version = "1.1.1"; + hash = "sha256-/IpSj5JnUTREfQsdA3XW+eqNhqApTds65DQoNpjl3jk="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "2.8.2.3"; + hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "7.3.0"; + hash = "sha256-LlPQO/NYgIMWicvLOtWsQzCp512QpIImYDP9/n2rDOc="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "2.8.2.3"; + hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "7.3.0"; + hash = "sha256-AEHjgqX0o+Fob0SeZ6EikGKoEe6rRxess5fVJ31UL0U="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "2.8.2.3"; + hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "7.3.0"; + hash = "sha256-6oFcdKb17UX5wyAUeCCKXGvzkf0w3MNdZOVMvs54tqw="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "2.8.2.3"; + hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "7.3.0"; + hash = "sha256-9VI0xCavuuIIStuQ7ipBfWu5HrAt+Kk/F2j57C1llTU="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "2.8.2.3"; + hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "7.3.0"; + hash = "sha256-WnB7l73hneU9Kpbm8S9zEYbZHjFre24vWz0vl8+v28M="; + }) + (fetchNuGet { + pname = "LibHac"; + version = "0.19.0"; + hash = "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk="; + }) + (fetchNuGet { + pname = "MicroCom.CodeGenerator.MSBuild"; + version = "0.11.0"; + hash = "sha256-TsxziX9V8T3qRrEA3o9wY84ocDcUUUBzvARi5QZW23o="; + }) + (fetchNuGet { + pname = "MicroCom.Runtime"; + version = "0.11.0"; + hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.0.0"; + hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.4"; + hash = "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "3.8.0"; + hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.9.2"; + hash = "sha256-QU/nyiJWpdPQGHBdaOEVc+AghnGHcKBFBX0oyhRZ9CQ="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "3.8.0"; + hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.9.2"; + hash = "sha256-j06Q4A9E65075SBXdXVCMRgeLxA63Rv1vxarydmmVAA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; + version = "3.8.0"; + hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Scripting.Common"; + version = "3.8.0"; + hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; + }) + (fetchNuGet { + pname = "Microsoft.CodeCoverage"; + version = "17.9.0"; + hash = "sha256-OaGa4+jRPHs+T+p/oekm2Miluqfd2IX8Rt+BmUx8kr4="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.3.0"; + hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.PlatformAbstractions"; + version = "3.1.6"; + hash = "sha256-RfM2qXiqdiamPkXr4IDkNc0IZSF9iTZv4uou/E7zNS0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "8.0.0"; + hash = "sha256-qkCdwemqdZY/yIW5Xmh7Exv74XuE39T8aHGHCofoVgo="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Abstractions"; + version = "8.0.1"; + hash = "sha256-zPWUKTCfGm4MWcYPU037NzezsFE1g8tEijjQkw5iooI="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.JsonWebTokens"; + version = "8.0.1"; + hash = "sha256-Xv9MUnjb66U3xeR9drOcSX5n2DjOCIJZPMNSKjWHo9Y="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Logging"; + version = "8.0.1"; + hash = "sha256-FfwrH/2eLT521Kqw+RBIoVfzlTNyYMqlWP3z+T6Wy2Y="; + }) + (fetchNuGet { + pname = "Microsoft.IdentityModel.Tokens"; + version = "8.0.1"; + hash = "sha256-beVbbVQy874HlXkTKarPTT5/r7XR1NGHA/50ywWp7YA="; + }) + (fetchNuGet { + pname = "Microsoft.IO.RecyclableMemoryStream"; + version = "3.0.1"; + hash = "sha256-unFg/5EcU/XKJbob4GtQC43Ydgi5VjeBGs7hfhj4EYo="; + }) + (fetchNuGet { + pname = "Microsoft.NET.Test.Sdk"; + version = "17.9.0"; + hash = "sha256-q/1AJ7eNlk02wvN76qvjl2xBx5iJ+h5ssiE/4akLmtI="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.0.0"; + hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.2"; + hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.9.0"; + hash = "sha256-iiXUFzpvT8OWdzMj9FGJDqanwHx40s1TXVY9l3ii+s0="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TestHost"; + version = "17.9.0"; + hash = "sha256-1BZIY1z+C9TROgdTV/tq4zsPy7Q71GQksr/LoMKAzqU="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.5.0"; + hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0="; + }) + (fetchNuGet { + pname = "MsgPack.Cli"; + version = "1.0.1"; + hash = "sha256-Gf0Ed9XHH4oFpJIkzhg/xhDVpenunSol65qa8IZeYrY="; + }) + (fetchNuGet { + pname = "NetCoreServer"; + version = "8.0.7"; + hash = "sha256-RUYic8uAgJGdhUCrMJQULKlHB6xvw9H1lnNGU1axNZw="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.0"; + hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "NUnit"; + version = "3.13.3"; + hash = "sha256-Zn+sJIF7ieNqu/t2RwJx6WPFb1jl9UuNHidb/Px0v3E="; + }) + (fetchNuGet { + pname = "NUnit3TestAdapter"; + version = "4.1.0"; + hash = "sha256-nDPiYdTFulqozEJrujr8/cqjG7m15Vkd/Frqem0Jr/w="; + }) + (fetchNuGet { + pname = "OpenTK.Audio.OpenAL"; + version = "4.8.2"; + hash = "sha256-i5KRiTYTNMB4Y5Qd5xewaYrb9sBbnXMDu2QXbM3RCeU="; + }) + (fetchNuGet { + pname = "OpenTK.Core"; + version = "4.8.2"; + hash = "sha256-59S4Vj13y8HtZT6RZTwO6ZZbk1GUNDcYx1rMdv5jr4I="; + }) + (fetchNuGet { + pname = "OpenTK.Graphics"; + version = "4.8.2"; + hash = "sha256-DNpXqtM9Oj6wDGYSF2FD4A4ueWG892Wk6uGWffNspo0="; + }) + (fetchNuGet { + pname = "OpenTK.Mathematics"; + version = "4.8.2"; + hash = "sha256-TPsts443n6iEajfH2EuYTKtubrWuTLiCrTB1F4FndIo="; + }) + (fetchNuGet { + pname = "OpenTK.redist.glfw"; + version = "3.3.8.39"; + hash = "sha256-bg8bGfoDDqmZ/efLFVm8l5etQajIVvOcQ/Nv+yKD4Bc="; + }) + (fetchNuGet { + pname = "OpenTK.Windowing.GraphicsLibraryFramework"; + version = "4.8.2"; + hash = "sha256-a1MGtU+27pBNns55g8mOsxXpZxfEr6M62zLkIkkJTIY="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "Ryujinx.AtkSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-mK1zXkd6bdo7YqOm/rcI8MTniugvs5Kjw+esGmHYJxE="; + }) + (fetchNuGet { + pname = "Ryujinx.Audio.OpenAL.Dependencies"; + version = "1.21.0.1"; + hash = "sha256-NHGzMcYduuYJjduIlf8M8zSQQuJcXAEaMNmKIqAgs3w="; + }) + (fetchNuGet { + pname = "Ryujinx.CairoSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-+gV4Vlkd0jMZ6yGCz1/KoiE32/O26gHOZiHXmZ292rE="; + }) + (fetchNuGet { + pname = "Ryujinx.GdkSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-r1UK7YzhMOJ3Z8eWuUyTf0nGQ0Bdlic8Qri170ilEbs="; + }) + (fetchNuGet { + pname = "Ryujinx.GioSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-sbfdn16UoQtcU9gAgvP2kjBUbYi9nKy09bmhvn9IGtU="; + }) + (fetchNuGet { + pname = "Ryujinx.GLibSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-zZv0B4BvKuRdse8oqSbb4P6FFq79w4M+MCk8EqqLVWk="; + }) + (fetchNuGet { + pname = "Ryujinx.Graphics.Nvdec.Dependencies"; + version = "5.0.3-build14"; + hash = "sha256-+ff+tlWggY+qZTBJroOOphRpOjBDg5cQgwGtVOTiqRQ="; + }) + (fetchNuGet { + pname = "Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK"; + version = "1.2.0"; + hash = "sha256-vdDw6YGoyQzv6ustyXP6v7YWUIKEXaZOyUKAaVbRauI="; + }) + (fetchNuGet { + pname = "Ryujinx.GtkSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-2duc6+KLuctobfwqeuewxRLZnXn83QomF4rN0hEoMTc="; + }) + (fetchNuGet { + pname = "Ryujinx.PangoSharp"; + version = "3.24.24.59-ryujinx"; + hash = "sha256-gGAK/aEfTUAxEihjlBOtHlhPZZFAwCasgUB/Umapva0="; + }) + (fetchNuGet { + pname = "Ryujinx.SDL2-CS"; + version = "2.30.0-build32"; + hash = "sha256-KrrlDq0pXcunnOhJL12dt1CAdNbaupbDlnza5gXuVKE="; + }) + (fetchNuGet { + pname = "securifybv.PropertyStore"; + version = "0.1.0"; + hash = "sha256-jTPT9E2LyElgJq4HMavkdwT8tA9uklnJv00mlIx66+g="; + }) + (fetchNuGet { + pname = "securifybv.ShellLink"; + version = "0.1.0"; + hash = "sha256-Am+ZednCVJUDgB7TePyY3CTxKDQ6Lr8M8KiCVAJoouw="; + }) + (fetchNuGet { + pname = "shaderc.net"; + version = "0.1.0"; + hash = "sha256-+K7ObC9ucilwWY+Tlf9KcrAVoTFS65V6Di7JDWDSZTg="; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.2"; + hash = "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="; + }) + (fetchNuGet { + pname = "ShimSkiaSharp"; + version = "1.0.0.18"; + hash = "sha256-72NV+OuW8bCfI/EOXwgS6dleLZnomLJTYeQPPmfhuu8="; + }) + (fetchNuGet { + pname = "Silk.NET.Core"; + version = "2.21.0"; + hash = "sha256-D4ZUCm1Gf/EiRWrSwSLrdXT6U54icY2E/vrvCD/bRHw="; + }) + (fetchNuGet { + pname = "Silk.NET.Vulkan"; + version = "2.21.0"; + hash = "sha256-Xnxl13+ziJ1+jNxMFSrEuh6NvL1FBrYmJ/d3HQXpgzY="; + }) + (fetchNuGet { + pname = "Silk.NET.Vulkan.Extensions.EXT"; + version = "2.21.0"; + hash = "sha256-udELG0ppCOP9eT2yl/sI9MgKOVOuK0py9znmoaBGDpk="; + }) + (fetchNuGet { + pname = "Silk.NET.Vulkan.Extensions.KHR"; + version = "2.21.0"; + hash = "sha256-KyiGHW6CNkXE3EdHk3ufwTVG7oLvSyHwx+MmIJhsiBk="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.3"; + hash = "sha256-WyMAjnQt8ZsuWpGLI89l/f4bHvv+cg7FdTAL7CtJBvs="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.6"; + hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.7"; + hash = "sha256-Ip3afwTr4QOqtwOUKqK6g/9Ug4dMSebTci5K29Jc3Dg="; + }) + (fetchNuGet { + pname = "SkiaSharp.HarfBuzz"; + version = "2.88.6"; + hash = "sha256-gpHiTuHfiXgbkBkzipXb8EXIatefsod75nyrFdPcwcA="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.3"; + hash = "sha256-eExWAAURgnwwm2fRwsK/rf+TeOAPs2n02XZzC0zeUjU="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.7"; + hash = "sha256-QdQRN1IBjqohmI8U+6WJRPgOsh8a9soN2UvVObs1H1w="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.3"; + hash = "sha256-8G4swiLMr6XS3kjfO/YC1PyoVdfSq7nxZthZZ+KTKqQ="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.6"; + hash = "sha256-7hOMjlYTOiNPLNwfLFUjTcdgiGEtmYUI1EubiRiC6bo="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.7"; + hash = "sha256-WgPldXSqPMm0TrdUWAyjge5rcRhd9G3/Ix/v/2NQvBc="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.3"; + hash = "sha256-/SkV2pIZnt0ziSKB7gt7U2Rltk2Id+zOzbmqgfWUtvA="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.7"; + hash = "sha256-oIjFF+Rv+g8AKyNaaVAgnHX3eeP/l8K2sgHs9bRyUMw="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.3"; + hash = "sha256-2PhMTwRHitT13KCKiZltKIFieAvNY4jBmVZ2ndVynA8="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.6"; + hash = "sha256-ljD4QmAO2/vwA6I8GIUNkONpOzmGsOVJJy9vPDnjVfA="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.7"; + hash = "sha256-+7RxCAr+ne9MZWdXKKpV4ZbHW0k6hLD20ZFWWOCiNYU="; + }) + (fetchNuGet { + pname = "SPB"; + version = "0.0.4-build32"; + hash = "sha256-GUzbV5rLWtXTpiddYrKnWWLujG38vBDCO4xRStwAaDo="; + }) + (fetchNuGet { + pname = "Svg.Custom"; + version = "1.0.0.18"; + hash = "sha256-RguRPwBM/KCogaiOgjELlvuqN1Tr+b3HA4Odz1rXBgU="; + }) + (fetchNuGet { + pname = "Svg.Model"; + version = "1.0.0.18"; + hash = "sha256-CXZC45txfcd8MuRmDENw2ujlGk74YaUPNs7dXq+Zcg8="; + }) + (fetchNuGet { + pname = "Svg.Skia"; + version = "1.0.0.18"; + hash = "sha256-o5VnCaAGX4LuwNyl7QM0KOg2gNfkD5uNMNthxB7w0m4="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "4.4.0"; + hash = "sha256-L1xyspJ8pDJNVPYKl+FMGf4Zwm0tlqtAyQCNW6pT6/0="; + }) + (fetchNuGet { + pname = "System.CodeDom"; + version = "8.0.0"; + hash = "sha256-uwVhi3xcvX7eiOGQi7dRETk3Qx1EfHsUfchZsEto338="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "8.0.0"; + hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.5.0"; + hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Hashing"; + version = "8.0.0"; + hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.0"; + hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Management"; + version = "8.0.0"; + hash = "sha256-HwpfDb++q7/vxR6q57mGFgl5U0vxy+oRJ6orFKORfP0="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.3.0"; + hash = "sha256-eog2Sp8CAntRlyp2Aar1tpAwDrojGFZ5LIdqsmuIchY="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "6.0.1"; + hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "8.0.0"; + hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.1"; + hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0"; + hash = "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "4.5.0"; + hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.5.0"; + hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "8.0.0"; + hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.0"; + hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.15.0"; + hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; + }) + (fetchNuGet { + pname = "UnicornEngine.Unicorn"; + version = "2.0.2-rc1-fb78016"; + hash = "sha256-NrJ4/o4FmCt2zoB1fWAzqdonvpYhTFsWwh3h0lxZg+Q="; + }) ] diff --git a/pkgs/by-name/ry/ryzenadj/package.nix b/pkgs/by-name/ry/ryzenadj/package.nix index 79b761be98908..91e790b7c9cd8 100644 --- a/pkgs/by-name/ry/ryzenadj/package.nix +++ b/pkgs/by-name/ry/ryzenadj/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pciutils, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + pciutils, + cmake, +}: stdenv.mkDerivation rec { pname = "ryzenadj"; version = "0.16.0"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-VuIrA5UrRqwUta/mrYd+6F4gh/Z65+zzoTXUlRA8wzA="; }; - nativeBuildInputs = [ pciutils cmake ]; + nativeBuildInputs = [ + pciutils + cmake + ]; installPhase = '' install -D libryzenadj.so $out/lib/libryzenadj.so diff --git a/pkgs/by-name/rz/rzip/package.nix b/pkgs/by-name/rz/rzip/package.nix index 333f29e53a218..cd2c4b42ba7a3 100644 --- a/pkgs/by-name/rz/rzip/package.nix +++ b/pkgs/by-name/rz/rzip/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, bzip2 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + bzip2, +}: stdenv.mkDerivation rec { pname = "rzip"; diff --git a/pkgs/by-name/s-/s-tar/package.nix b/pkgs/by-name/s-/s-tar/package.nix index f16c9eaf49821..b6782f7f14ceb 100644 --- a/pkgs/by-name/s-/s-tar/package.nix +++ b/pkgs/by-name/s-/s-tar/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "s-tar"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { preConfigure = "rm configure"; preBuild = "sed 's_/bin/__g' -i RULES/*"; makeFlags = [ "GMAKE_NOWARN=true" ]; - installFlags = [ "DESTDIR=$(out)" "INS_BASE=/" ]; + installFlags = [ + "DESTDIR=$(out)" + "INS_BASE=/" + ]; postInstall = '' find $out/bin -type l -delete rm -r $out/etc $out/include $out/sbin diff --git a/pkgs/by-name/s-/s-tui/package.nix b/pkgs/by-name/s-/s-tui/package.nix index c153b3033f86d..070b44544dd4b 100644 --- a/pkgs/by-name/s-/s-tui/package.nix +++ b/pkgs/by-name/s-/s-tui/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, python3Packages -, fetchPypi -, nix-update-script -, s-tui -, testers +{ + lib, + stdenv, + python3Packages, + fetchPypi, + nix-update-script, + s-tui, + testers, }: python3Packages.buildPythonPackage rec { diff --git a/pkgs/by-name/s2/s2png/package.nix b/pkgs/by-name/s2/s2png/package.nix index 71f8661dfa2c7..e3b5c6cad0ef4 100644 --- a/pkgs/by-name/s2/s2png/package.nix +++ b/pkgs/by-name/s2/s2png/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, diffutils, gd, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + diffutils, + gd, + pkg-config, +}: stdenv.mkDerivation rec { pname = "s2png"; @@ -12,8 +19,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ diffutils gd ]; - installFlags = [ "prefix=" "DESTDIR=$(out)" ]; + buildInputs = [ + diffutils + gd + ]; + installFlags = [ + "prefix=" + "DESTDIR=$(out)" + ]; meta = { homepage = "https://github.com/dbohdan/s2png/"; diff --git a/pkgs/by-name/s3/s3backer/package.nix b/pkgs/by-name/s3/s3backer/package.nix index bb5877f0acb17..51945c40b1089 100644 --- a/pkgs/by-name/s3/s3backer/package.nix +++ b/pkgs/by-name/s3/s3backer/package.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, pkg-config -, fuse, curl, expat }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + fuse, + curl, + expat, +}: stdenv.mkDerivation rec { pname = "s3backer"; @@ -19,8 +26,15 @@ stdenv.mkDerivation rec { ./fix-darwin-builds.patch ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ fuse curl expat ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + fuse + curl + expat + ]; # AC_CHECK_DECLS doesn't work with clang postPatch = lib.optionalString stdenv.cc.isClang '' diff --git a/pkgs/by-name/s3/s3bro/package.nix b/pkgs/by-name/s3/s3bro/package.nix index ee35c619fb745..fb5b8e8237e66 100644 --- a/pkgs/by-name/s3/s3bro/package.nix +++ b/pkgs/by-name/s3/s3bro/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/s3/s3proxy/package.nix b/pkgs/by-name/s3/s3proxy/package.nix index d24f3728da118..b2281b7f2ad95 100644 --- a/pkgs/by-name/s3/s3proxy/package.nix +++ b/pkgs/by-name/s3/s3proxy/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, jre -, makeWrapper -, maven +{ + lib, + stdenv, + fetchFromGitHub, + jre, + makeWrapper, + maven, }: let @@ -41,4 +42,3 @@ maven.buildMavenPackage { maintainers = with maintainers; [ camelpunch ]; }; } - diff --git a/pkgs/by-name/s3/s3scanner/package.nix b/pkgs/by-name/s3/s3scanner/package.nix index dde1360b2bfcf..96ab22cdfd80a 100644 --- a/pkgs/by-name/s3/s3scanner/package.nix +++ b/pkgs/by-name/s3/s3scanner/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "s3scanner"; diff --git a/pkgs/by-name/s4/s4cmd/package.nix b/pkgs/by-name/s4/s4cmd/package.nix index 1f4dc14d27f77..0d6686908390a 100644 --- a/pkgs/by-name/s4/s4cmd/package.nix +++ b/pkgs/by-name/s4/s4cmd/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "s4cmd"; @@ -9,7 +13,10 @@ python3Packages.buildPythonApplication rec { sha256 = "0d4mx98i3qhvlmr9x898mjvf827smzx6x5ji6daiwgjdlxc60mj2"; }; - propagatedBuildInputs = with python3Packages; [ boto3 pytz ]; + propagatedBuildInputs = with python3Packages; [ + boto3 + pytz + ]; # The upstream package tries to install some bash shell completion scripts in /etc. # Setuptools is bugged and doesn't handle --prefix properly: https://github.com/pypa/setuptools/issues/130 diff --git a/pkgs/by-name/s5/s5/package.nix b/pkgs/by-name/s5/s5/package.nix index 85aca4e60dc6f..0a5debe0e0879 100644 --- a/pkgs/by-name/s5/s5/package.nix +++ b/pkgs/by-name/s5/s5/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "s5"; diff --git a/pkgs/by-name/s5/s5cmd/package.nix b/pkgs/by-name/s5/s5cmd/package.nix index 292169d77f772..f399d4f695bad 100644 --- a/pkgs/by-name/s5/s5cmd/package.nix +++ b/pkgs/by-name/s5/s5cmd/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "s5cmd"; diff --git a/pkgs/by-name/s9/s9fes/package.nix b/pkgs/by-name/s9/s9fes/package.nix index 4107b28e1cf9f..464bb51eb7a12 100644 --- a/pkgs/by-name/s9/s9fes/package.nix +++ b/pkgs/by-name/s9/s9fes/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, ncurses, buildPackages }: +{ + stdenv, + lib, + fetchurl, + ncurses, + buildPackages, +}: let isCrossCompiling = stdenv.hostPlatform != stdenv.buildPlatform; @@ -25,7 +31,10 @@ stdenv.mkDerivation rec { preBuild = '' makeFlagsArray+=(CFLAGS="-O2 -std=c89") ''; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "PREFIX=$(out)" + ]; enableParallelBuilding = true; # ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory diff --git a/pkgs/by-name/sa/sacad/package.nix b/pkgs/by-name/sa/sacad/package.nix index 5868962781b7e..314aee13dec78 100644 --- a/pkgs/by-name/sa/sacad/package.nix +++ b/pkgs/by-name/sa/sacad/package.nix @@ -1,4 +1,10 @@ -{ lib, python3Packages, fetchPypi, jpegoptim, optipng }: +{ + lib, + python3Packages, + fetchPypi, + jpegoptim, + optipng, +}: python3Packages.buildPythonApplication rec { pname = "sacad"; diff --git a/pkgs/by-name/sa/sacc/package.nix b/pkgs/by-name/sa/sacc/package.nix index 50599651c985d..edea63ac742c1 100644 --- a/pkgs/by-name/sa/sacc/package.nix +++ b/pkgs/by-name/sa/sacc/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, ncurses, libressl -, patches ? [] # allow users to easily override config.def.h +{ + lib, + stdenv, + fetchurl, + ncurses, + libressl, + patches ? [ ], # allow users to easily override config.def.h }: stdenv.mkDerivation rec { @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { inherit patches; - buildInputs = [ ncurses libressl ]; + buildInputs = [ + ncurses + libressl + ]; makeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "OSCFLAGS=-D_DARWIN_C_SOURCE" @@ -23,7 +31,7 @@ stdenv.mkDerivation rec { substituteInPlace config.mk \ --replace curses ncurses \ --replace "/usr/local" "$out" - ''; + ''; meta = with lib; { description = "Terminal gopher client"; diff --git a/pkgs/by-name/sa/sacd/package.nix b/pkgs/by-name/sa/sacd/package.nix index ddd2c2dcd8c8b..65d04693b08ec 100644 --- a/pkgs/by-name/sa/sacd/package.nix +++ b/pkgs/by-name/sa/sacd/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sa/sacrifice/package.nix b/pkgs/by-name/sa/sacrifice/package.nix index b6b53446473fc..cfbc68f40747c 100644 --- a/pkgs/by-name/sa/sacrifice/package.nix +++ b/pkgs/by-name/sa/sacrifice/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, boost, hepmc2, lhapdf, pythia, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + boost, + hepmc2, + lhapdf, + pythia, + makeWrapper, +}: stdenv.mkDerivation { pname = "sacrifice"; @@ -9,7 +18,12 @@ stdenv.mkDerivation { sha256 = "10bvpq63kmszy1habydwncm0j1dgvam0fkrmvkgbkvf804dcjp6g"; }; - buildInputs = [ boost hepmc2 lhapdf pythia ]; + buildInputs = [ + boost + hepmc2 + lhapdf + pythia + ]; nativeBuildInputs = [ makeWrapper ]; patches = [ @@ -17,33 +31,38 @@ stdenv.mkDerivation { ./pythia83xx.patch ]; - preConfigure = '' - substituteInPlace configure --replace HAVE_LCG=yes HAVE_LCG=no - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace configure --replace LIB_SUFFIX=\"so\" LIB_SUFFIX=\"dylib\" - ''; + preConfigure = + '' + substituteInPlace configure --replace HAVE_LCG=yes HAVE_LCG=no + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace configure --replace LIB_SUFFIX=\"so\" LIB_SUFFIX=\"dylib\" + ''; configureFlags = [ "--with-HepMC=${hepmc2}" "--with-pythia=${pythia}" ]; - postInstall = if stdenv.hostPlatform.isDarwin then '' - install_name_tool -add_rpath ${pythia}/lib "$out"/bin/run-pythia - '' else '' - wrapProgram $out/bin/run-pythia \ - --prefix LD_LIBRARY_PATH : "${pythia}/lib" - ''; + postInstall = + if stdenv.hostPlatform.isDarwin then + '' + install_name_tool -add_rpath ${pythia}/lib "$out"/bin/run-pythia + '' + else + '' + wrapProgram $out/bin/run-pythia \ + --prefix LD_LIBRARY_PATH : "${pythia}/lib" + ''; enableParallelBuilding = true; meta = { description = "Standalone contribution to AGILe for steering Pythia 8"; mainProgram = "run-pythia"; - license = lib.licenses.gpl2; - homepage = "https://agile.hepforge.org/trac/wiki/Sacrifice"; - platforms = lib.platforms.unix; + license = lib.licenses.gpl2; + homepage = "https://agile.hepforge.org/trac/wiki/Sacrifice"; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ veprbl ]; # never built on aarch64-darwin since first introduction in nixpkgs broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; diff --git a/pkgs/by-name/sa/safe-rm/package.nix b/pkgs/by-name/sa/safe-rm/package.nix index d3802098de34b..e9158630269cd 100644 --- a/pkgs/by-name/sa/safe-rm/package.nix +++ b/pkgs/by-name/sa/safe-rm/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchgit, coreutils, installShellFiles }: +{ + lib, + rustPlatform, + fetchgit, + coreutils, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "safe-rm"; diff --git a/pkgs/by-name/sa/safe/package.nix b/pkgs/by-name/sa/safe/package.nix index 83562ac8f1310..70bade379cd77 100644 --- a/pkgs/by-name/sa/safe/package.nix +++ b/pkgs/by-name/sa/safe/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sa/safecloset/package.nix b/pkgs/by-name/sa/safecloset/package.nix index d173777bc3bcf..0f9ca43291a93 100644 --- a/pkgs/by-name/sa/safecloset/package.nix +++ b/pkgs/by-name/sa/safecloset/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin -, xorg +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, + xorg, }: rustPlatform.buildRustPackage rec { @@ -19,11 +20,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-rxNp9dOvy/UTx6Q9pzZGccEKmIiWxzWVYyMxb+h5bqw="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libxcb - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libxcb + ]; checkFlags = [ # skip flaky test diff --git a/pkgs/by-name/sa/safecopy/package.nix b/pkgs/by-name/sa/safecopy/package.nix index c38b76aeb2eab..14cc7418a8efe 100644 --- a/pkgs/by-name/sa/safecopy/package.nix +++ b/pkgs/by-name/sa/safecopy/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "safecopy"; diff --git a/pkgs/by-name/sa/safeeyes/package.nix b/pkgs/by-name/sa/safeeyes/package.nix index 8d83b3c3bb02f..0873611cedc06 100644 --- a/pkgs/by-name/sa/safeeyes/package.nix +++ b/pkgs/by-name/sa/safeeyes/package.nix @@ -1,16 +1,17 @@ -{ lib -, python3 -, fetchPypi -, alsa-utils -, gobject-introspection -, libnotify -, wlrctl -, gtk3 -, safeeyes -, testers -, xprintidle -, xprop -, wrapGAppsHook3 +{ + lib, + python3, + fetchPypi, + alsa-utils, + gobject-introspection, + libnotify, + wlrctl, + gtk3, + safeeyes, + testers, + xprintidle, + xprop, + wrapGAppsHook3, }: with python3.pkgs; @@ -59,7 +60,14 @@ buildPythonApplication rec { preFixup = '' makeWrapperArgs+=( "''${gappsWrapperArgs[@]}" - --prefix PATH : ${lib.makeBinPath [ alsa-utils wlrctl xprintidle xprop ]} + --prefix PATH : ${ + lib.makeBinPath [ + alsa-utils + wlrctl + xprintidle + xprop + ] + } ) ''; diff --git a/pkgs/by-name/sa/safefile/package.nix b/pkgs/by-name/sa/safefile/package.nix index 279ce4356b691..507f1bbcdd450 100644 --- a/pkgs/by-name/sa/safefile/package.nix +++ b/pkgs/by-name/sa/safefile/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "safefile"; version = "1.0.5"; diff --git a/pkgs/by-name/sa/sage/env-locations.nix b/pkgs/by-name/sa/sage/env-locations.nix index 1ca0f471a7ee2..8a9974af763e5 100644 --- a/pkgs/by-name/sa/sage/env-locations.nix +++ b/pkgs/by-name/sa/sage/env-locations.nix @@ -1,17 +1,18 @@ -{ writeTextFile -, pari_data -, pari -, singular -, maxima -, graphs -, elliptic_curves -, polytopes_db -, gap -, combinatorial_designs -, jmol -, mathjax -, three -, cysignals +{ + writeTextFile, + pari_data, + pari, + singular, + maxima, + graphs, + elliptic_curves, + polytopes_db, + gap, + combinatorial_designs, + jmol, + mathjax, + three, + cysignals, }: # A bash script setting various environment variables to tell sage where diff --git a/pkgs/by-name/sa/sage/package.nix b/pkgs/by-name/sa/sage/package.nix index 95ad7ab120134..a3f06f4a9e454 100644 --- a/pkgs/by-name/sa/sage/package.nix +++ b/pkgs/by-name/sa/sage/package.nix @@ -1,7 +1,8 @@ -{ pkgs -, withDoc ? false -, requireSageTests ? true -, extraPythonPackages ? ps: [] +{ + pkgs, + withDoc ? false, + requireSageTests ? true, + extraPythonPackages ? ps: [ ], }: # Here sage and its dependencies are put together. Some dependencies may be pinned @@ -12,24 +13,26 @@ let inherit (pkgs) symlinkJoin callPackage nodePackages; python3 = pkgs.python3 // { - pkgs = pkgs.python3.pkgs.overrideScope (self: super: { - # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies - sagelib = self.callPackage ./sagelib.nix { - inherit flint3; - inherit sage-src env-locations singular; - inherit (maxima) lisp-compiler; - linbox = pkgs.linbox; - pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config - }; - - sage-docbuild = self.callPackage ./python-modules/sage-docbuild.nix { - inherit sage-src; - }; - - sage-setup = self.callPackage ./python-modules/sage-setup.nix { - inherit sage-src; - }; - }); + pkgs = pkgs.python3.pkgs.overrideScope ( + self: super: { + # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies + sagelib = self.callPackage ./sagelib.nix { + inherit flint3; + inherit sage-src env-locations singular; + inherit (maxima) lisp-compiler; + linbox = pkgs.linbox; + pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config + }; + + sage-docbuild = self.callPackage ./python-modules/sage-docbuild.nix { + inherit sage-src; + }; + + sage-setup = self.callPackage ./python-modules/sage-setup.nix { + inherit sage-src; + }; + } + ); }; # matches src/sage/repl/ipython_kernel/install.py:kernel_spec @@ -73,7 +76,14 @@ let sagelib = python3.pkgs.sagelib; sage-docbuild = python3.pkgs.sage-docbuild; inherit env-locations; - inherit python3 singular palp flint3 pythonEnv maxima; + inherit + python3 + singular + palp + flint3 + pythonEnv + maxima + ; pkg-config = pkgs.pkg-config; # not to confuse with pythonPackages.pkg-config }; @@ -100,31 +110,38 @@ let pytest = python3.pkgs.pytest; }; - sage-src = callPackage ./sage-src.nix {}; - - pythonRuntimeDeps = with python3.pkgs; [ - sagelib - sage-docbuild - cvxopt - networkx - service-identity - psutil - sympy - fpylll - matplotlib - tkinter # optional, as a matplotlib backend (use with `%matplotlib tk`) - scipy - ipywidgets - notebook # for "sage -n" - rpy2 - sphinx - pillow - ] ++ extraPythonPackages python3.pkgs; - - pythonEnv = python3.buildEnv.override { - extraLibs = pythonRuntimeDeps; - ignoreCollisions = true; - } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible + sage-src = callPackage ./sage-src.nix { }; + + pythonRuntimeDeps = + with python3.pkgs; + [ + sagelib + sage-docbuild + cvxopt + networkx + service-identity + psutil + sympy + fpylll + matplotlib + tkinter # optional, as a matplotlib backend (use with `%matplotlib tk`) + scipy + ipywidgets + notebook # for "sage -n" + rpy2 + sphinx + pillow + ] + ++ extraPythonPackages python3.pkgs; + + pythonEnv = + python3.buildEnv.override { + extraLibs = pythonRuntimeDeps; + ignoreCollisions = true; + } + // { + extraLibs = pythonRuntimeDeps; + }; # make the libs accessible singular = pkgs.singular.override { inherit flint3; }; @@ -155,10 +172,22 @@ let palp = symlinkJoin { name = "palp-${pkgs.palp.version}"; paths = [ - (pkgs.palp.override { dimensions = 4; doSymlink = false; }) - (pkgs.palp.override { dimensions = 5; doSymlink = false; }) - (pkgs.palp.override { dimensions = 6; doSymlink = true; }) - (pkgs.palp.override { dimensions = 11; doSymlink = false; }) + (pkgs.palp.override { + dimensions = 4; + doSymlink = false; + }) + (pkgs.palp.override { + dimensions = 5; + doSymlink = false; + }) + (pkgs.palp.override { + dimensions = 6; + doSymlink = true; + }) + (pkgs.palp.override { + dimensions = 11; + doSymlink = false; + }) ]; }; @@ -173,6 +202,12 @@ let in # A wrapper around sage that makes sure sage finds its docs (if they were build). callPackage ./sage.nix { - inherit sage-tests sage-with-env sagedoc jupyter-kernel-definition jupyter-kernel-specs; + inherit + sage-tests + sage-with-env + sagedoc + jupyter-kernel-definition + jupyter-kernel-specs + ; inherit withDoc requireSageTests; } diff --git a/pkgs/by-name/sa/sage/python-modules/sage-docbuild.nix b/pkgs/by-name/sa/sage/python-modules/sage-docbuild.nix index 43f67b97a278e..f55a9288b0200 100644 --- a/pkgs/by-name/sa/sage/python-modules/sage-docbuild.nix +++ b/pkgs/by-name/sa/sage/python-modules/sage-docbuild.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, sage-src -, furo -, jupyter-sphinx -, sphinx -, sphinx-copybutton -, sphinx-inline-tabs +{ + lib, + buildPythonPackage, + sage-src, + furo, + jupyter-sphinx, + sphinx, + sphinx-copybutton, + sphinx-inline-tabs, }: buildPythonPackage rec { diff --git a/pkgs/by-name/sa/sage/python-modules/sage-setup.nix b/pkgs/by-name/sa/sage/python-modules/sage-setup.nix index e1c497678d50b..29dea0671ea24 100644 --- a/pkgs/by-name/sa/sage/python-modules/sage-setup.nix +++ b/pkgs/by-name/sa/sage/python-modules/sage-setup.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, sage-src -, cython -, jinja2 -, pkgconfig # the python module, not the pkg-config alias +{ + lib, + buildPythonPackage, + sage-src, + cython, + jinja2, + pkgconfig, # the python module, not the pkg-config alias }: buildPythonPackage rec { diff --git a/pkgs/by-name/sa/sage/sage-env.nix b/pkgs/by-name/sa/sage/sage-env.nix index 2dffa14c6614f..0a1dabb143474 100644 --- a/pkgs/by-name/sa/sage/sage-env.nix +++ b/pkgs/by-name/sa/sage/sage-env.nix @@ -1,56 +1,57 @@ -{ stdenv -, lib -, writeTextFile -, sagelib -, sage-docbuild -, env-locations -, gfortran -, ninja -, bash -, coreutils -, gnused -, gnugrep -, gawk -, binutils -, pythonEnv -, python3 -, pkg-config -, pari -, gap -, maxima -, singular -, fflas-ffpack -, givaro -, gd -, libpng -, linbox -, m4ri -, giac -, palp -, rWrapper -, gfan -, cddlib -, jmol -, tachyon -, glpk -, eclib -, sympow -, nauty -, sqlite -, ppl -, ecm -, lcalc -, rubiks -, blas -, lapack -, flint3 -, gmp -, mpfr -, zlib -, gsl -, ntl -, jre8 -, less +{ + stdenv, + lib, + writeTextFile, + sagelib, + sage-docbuild, + env-locations, + gfortran, + ninja, + bash, + coreutils, + gnused, + gnugrep, + gawk, + binutils, + pythonEnv, + python3, + pkg-config, + pari, + gap, + maxima, + singular, + fflas-ffpack, + givaro, + gd, + libpng, + linbox, + m4ri, + giac, + palp, + rWrapper, + gfan, + cddlib, + jmol, + tachyon, + glpk, + eclib, + sympow, + nauty, + sqlite, + ppl, + ecm, + lcalc, + rubiks, + blas, + lapack, + flint3, + gmp, + mpfr, + zlib, + gsl, + ntl, + jre8, + less, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -60,137 +61,157 @@ assert (!blas.isILP64) && (!lapack.isILP64); # dependencies. let - runtimepath = (lib.makeBinPath ([ - "@sage-local@" - "@sage-local@/build" - pythonEnv - gfortran # for inline fortran - ninja # for inline fortran via numpy.f2py - stdenv.cc # for cython - bash - coreutils - gnused - gnugrep - gawk - binutils.bintools - pkg-config - pari - gap - maxima.lisp-compiler - maxima - singular - giac - palp - # needs to be rWrapper since the default `R` doesn't include R's default libraries - rWrapper - gfan - cddlib - jmol - tachyon - glpk - eclib - sympow - nauty - sqlite - ppl - ecm - lcalc - rubiks - jre8 # only needed for `jmol` (https://sourceforge.net/p/jmol/mailman/message/58818762/), which will be optional in sage 10.5 - less # needed to prevent transient test errors until https://github.com/ipython/ipython/pull/11864 is resolved - ] - )); + runtimepath = ( + lib.makeBinPath ([ + "@sage-local@" + "@sage-local@/build" + pythonEnv + gfortran # for inline fortran + ninja # for inline fortran via numpy.f2py + stdenv.cc # for cython + bash + coreutils + gnused + gnugrep + gawk + binutils.bintools + pkg-config + pari + gap + maxima.lisp-compiler + maxima + singular + giac + palp + # needs to be rWrapper since the default `R` doesn't include R's default libraries + rWrapper + gfan + cddlib + jmol + tachyon + glpk + eclib + sympow + nauty + sqlite + ppl + ecm + lcalc + rubiks + jre8 # only needed for `jmol` (https://sourceforge.net/p/jmol/mailman/message/58818762/), which will be optional in sage 10.5 + less # needed to prevent transient test errors until https://github.com/ipython/ipython/pull/11864 is resolved + ]) + ); in writeTextFile rec { name = "sage-env"; destination = "/${name}"; - text = '' - export PKG_CONFIG_PATH='${lib.makeSearchPathOutput "dev" "lib/pkgconfig" [ - # This should only be needed during build. However, since the doctests - # also test the cython build (for example in src/sage/misc/cython.py), - # it is also needed for the testsuite to pass. We could fix the - # testsuite instead, but since all the packages are also runtime - # dependencies it doesn't really hurt to include them here. - singular - blas lapack - fflas-ffpack givaro - gd - libpng zlib - gsl - linbox - m4ri - ] - }' - export SAGE_ROOT='${sagelib.src}' - '' + - # TODO: is using pythonEnv instead of @sage-local@ here a good - # idea? there is a test in src/sage/env.py that checks if the values - # SAGE_ROOT and SAGE_LOCAL set here match the ones set in env.py. - # we fix up env.py's SAGE_ROOT in sage-src.nix (which does not - # have access to sage-with-env), but env.py autodetects - # SAGE_LOCAL to be pythonEnv. - # setting SAGE_LOCAL to pythonEnv also avoids having to create - # python3, ipython, ipython3 and jupyter symlinks in - # sage-with-env.nix. - '' - export SAGE_LOCAL='${pythonEnv}' + text = + '' + export PKG_CONFIG_PATH='${ + lib.makeSearchPathOutput "dev" "lib/pkgconfig" [ + # This should only be needed during build. However, since the doctests + # also test the cython build (for example in src/sage/misc/cython.py), + # it is also needed for the testsuite to pass. We could fix the + # testsuite instead, but since all the packages are also runtime + # dependencies it doesn't really hurt to include them here. + singular + blas + lapack + fflas-ffpack + givaro + gd + libpng + zlib + gsl + linbox + m4ri + ] + }' + export SAGE_ROOT='${sagelib.src}' + '' + + + # TODO: is using pythonEnv instead of @sage-local@ here a good + # idea? there is a test in src/sage/env.py that checks if the values + # SAGE_ROOT and SAGE_LOCAL set here match the ones set in env.py. + # we fix up env.py's SAGE_ROOT in sage-src.nix (which does not + # have access to sage-with-env), but env.py autodetects + # SAGE_LOCAL to be pythonEnv. + # setting SAGE_LOCAL to pythonEnv also avoids having to create + # python3, ipython, ipython3 and jupyter symlinks in + # sage-with-env.nix. + '' + export SAGE_LOCAL='${pythonEnv}' - export SAGE_SHARE='${sagelib}/share' - export SAGE_ENV_CONFIG_SOURCED=1 # sage-env complains if sage-env-config is not sourced beforehand - orig_path="$PATH" - export PATH='${runtimepath}' + export SAGE_SHARE='${sagelib}/share' + export SAGE_ENV_CONFIG_SOURCED=1 # sage-env complains if sage-env-config is not sourced beforehand + orig_path="$PATH" + export PATH='${runtimepath}' - # set dependent vars, like JUPYTER_CONFIG_DIR - source "${sagelib.src}/src/bin/sage-env" - export PATH="$RUNTIMEPATH_PREFIX:${runtimepath}:$orig_path" # sage-env messes with PATH + # set dependent vars, like JUPYTER_CONFIG_DIR + source "${sagelib.src}/src/bin/sage-env" + export PATH="$RUNTIMEPATH_PREFIX:${runtimepath}:$orig_path" # sage-env messes with PATH - export SAGE_LOGS="$TMPDIR/sage-logs" - export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}" - export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sagelib.src}/src/doc}" + export SAGE_LOGS="$TMPDIR/sage-logs" + export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}" + export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sagelib.src}/src/doc}" - # set locations of dependencies - . ${env-locations}/sage-env-locations + # set locations of dependencies + . ${env-locations}/sage-env-locations - # needed for cython - export CC='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc' - export CXX='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++' - # cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar - export LDFLAGS='${ - lib.concatStringsSep " " (map (pkg: "-L${pkg}/lib") [ - flint3 - gap - glpk - gmp - mpfr - pari - zlib - eclib - gsl - ntl - jmol - sympow - ]) - }' - export CFLAGS='${ - lib.concatStringsSep " " (map (pkg: "-isystem ${pkg}/include") [ - singular - gmp.dev - glpk - flint3 - gap - mpfr.dev - ]) - }' - export CXXFLAGS=$CFLAGS + # needed for cython + export CC='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc' + export CXX='${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++' + # cython needs to find these libraries, otherwise will fail with `ld: cannot find -lflint` or similar + export LDFLAGS='${ + lib.concatStringsSep " " ( + map (pkg: "-L${pkg}/lib") [ + flint3 + gap + glpk + gmp + mpfr + pari + zlib + eclib + gsl + ntl + jmol + sympow + ] + ) + }' + export CFLAGS='${ + lib.concatStringsSep " " ( + map (pkg: "-isystem ${pkg}/include") [ + singular + gmp.dev + glpk + flint3 + gap + mpfr.dev + ] + ) + }' + export CXXFLAGS=$CFLAGS - export SAGE_LIB='${sagelib}/${python3.sitePackages}' + export SAGE_LIB='${sagelib}/${python3.sitePackages}' - export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data' + export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data' - # for find_library - export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular giac gap]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH" - ''; -} // { # equivalent of `passthru`, which `writeTextFile` doesn't support + # for find_library + export DYLD_LIBRARY_PATH="${ + lib.makeLibraryPath [ + stdenv.cc.libc + singular + giac + gap + ] + }''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH" + ''; +} +// { + # equivalent of `passthru`, which `writeTextFile` doesn't support lib = sagelib; docbuild = sage-docbuild; } diff --git a/pkgs/by-name/sa/sage/sage-src.nix b/pkgs/by-name/sa/sage/sage-src.nix index 1ccc6b8eb587c..d191b4a2ef70f 100644 --- a/pkgs/by-name/sa/sage/sage-src.nix +++ b/pkgs/by-name/sa/sage/sage-src.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, fetchurl +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + fetchurl, }: # This file is responsible for fetching the sage source and adding necessary patches. @@ -32,23 +33,25 @@ stdenv.mkDerivation rec { # Patches needed because of particularities of nix or the way this is packaged. # The goal is to upstream all of them and get rid of this list. - nixPatches = [ - # Parallelize docubuild using subprocesses, fixing an isolation issue. See - # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE - ./patches/sphinx-docbuild-subprocesses.patch - - # After updating smypow to (https://github.com/sagemath/sage/issues/3360) - # we can now set the cache dir to be within the .sage directory. This is - # not strictly necessary, but keeps us from littering in the user's HOME. - ./patches/sympow-cache.patch - ] ++ lib.optionals (stdenv.cc.isClang) [ - # https://github.com/NixOS/nixpkgs/pull/264126 - # Dead links in python sysconfig cause LLVM linker warnings, leading to cython doctest failures. - ./patches/silence-linker.patch - - # Stack overflows during doctests; this does not change functionality. - ./patches/disable-singular-doctest.patch - ]; + nixPatches = + [ + # Parallelize docubuild using subprocesses, fixing an isolation issue. See + # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE + ./patches/sphinx-docbuild-subprocesses.patch + + # After updating smypow to (https://github.com/sagemath/sage/issues/3360) + # we can now set the cache dir to be within the .sage directory. This is + # not strictly necessary, but keeps us from littering in the user's HOME. + ./patches/sympow-cache.patch + ] + ++ lib.optionals (stdenv.cc.isClang) [ + # https://github.com/NixOS/nixpkgs/pull/264126 + # Dead links in python sysconfig cause LLVM linker warnings, leading to cython doctest failures. + ./patches/silence-linker.patch + + # Stack overflows during doctests; this does not change functionality. + ./patches/disable-singular-doctest.patch + ]; # Since sage unfortunately does not release bugfix releases, packagers must # fix those bugs themselves. This is for critical bugfixes, where "critical" @@ -78,7 +81,10 @@ stdenv.mkDerivation rec { patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; # do not create .orig backup files if patch applies with fuzz - patchFlags = [ "--no-backup-if-mismatch" "-p1" ]; + patchFlags = [ + "--no-backup-if-mismatch" + "-p1" + ]; postPatch = '' # Make sure sage can at least be imported without setting any environment diff --git a/pkgs/by-name/sa/sage/sage-tests.nix b/pkgs/by-name/sa/sage/sage-tests.nix index e50754986709c..6080d8204fc15 100644 --- a/pkgs/by-name/sa/sage/sage-tests.nix +++ b/pkgs/by-name/sa/sage/sage-tests.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, pytest -, sage-with-env -, makeWrapper -, files ? null # "null" means run all tests -, longTests ? true # run tests marked as "long time" (roughly doubles runtime) -# Run as many tests as possible in approximately n seconds. This will give each -# file to test a "time budget" and stop tests if it is exceeded. 300 is the -# upstream default value. -# https://trac.sagemath.org/ticket/25270 for details. -, timeLimit ? null +{ + stdenv, + lib, + pytest, + sage-with-env, + makeWrapper, + files ? null, # "null" means run all tests + longTests ? true, # run tests marked as "long time" (roughly doubles runtime) + # Run as many tests as possible in approximately n seconds. This will give each + # file to test a "time budget" and stop tests if it is exceeded. 300 is the + # upstream default value. + # https://trac.sagemath.org/ticket/25270 for details. + timeLimit ? null, }: # for a quick test of some source files: diff --git a/pkgs/by-name/sa/sage/sage-with-env.nix b/pkgs/by-name/sa/sage/sage-with-env.nix index 88c753e89c9da..44d2c62c4426e 100644 --- a/pkgs/by-name/sa/sage/sage-with-env.nix +++ b/pkgs/by-name/sa/sage/sage-with-env.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, sage-env -, blas -, lapack -, pkg-config -, three -, singular -, gap -, giac -, maxima -, pari -, gmp -, gfan -, python3 -, eclib -, ntl -, ecm -, pythonEnv +{ + stdenv, + lib, + sage-env, + blas, + lapack, + pkg-config, + three, + singular, + gap, + giac, + maxima, + pari, + gmp, + gfan, + python3, + eclib, + ntl, + ecm, + pythonEnv, }: # lots of segfaults with (64 bit) blas @@ -29,7 +30,8 @@ let nativeBuildInputs = [ pkg-config ]; buildInputs = [ pythonEnv # for patchShebangs - blas lapack + blas + lapack singular three giac @@ -45,41 +47,48 @@ let # remove python prefix, replace "-" in the name by "_", apply patch_names # python3.8-some-pkg-1.0 -> some_pkg-1.0 - pkg_to_spkg_name = pkg: patch_names: let - parts = lib.splitString "-" pkg.name; - # remove python3.8- - stripped_parts = if (builtins.head parts) == python3.libPrefix then builtins.tail parts else parts; - version = lib.last stripped_parts; - orig_pkgname = lib.init stripped_parts; - pkgname = patch_names (lib.concatStringsSep "_" orig_pkgname); - in pkgname + "-" + version; - + pkg_to_spkg_name = + pkg: patch_names: + let + parts = lib.splitString "-" pkg.name; + # remove python3.8- + stripped_parts = if (builtins.head parts) == python3.libPrefix then builtins.tail parts else parts; + version = lib.last stripped_parts; + orig_pkgname = lib.init stripped_parts; + pkgname = patch_names (lib.concatStringsSep "_" orig_pkgname); + in + pkgname + "-" + version; # return the names of all dependencies in the transitive closure - transitiveClosure = dep: - if dep == null then - # propagatedBuildInputs might contain null - # (although that might be considered a programming error in the derivation) - [] - else - [ dep ] ++ ( - if builtins.hasAttr "propagatedBuildInputs" dep then - lib.unique (builtins.concatLists (map transitiveClosure dep.propagatedBuildInputs)) - else - [] - ); + transitiveClosure = + dep: + if dep == null then + # propagatedBuildInputs might contain null + # (although that might be considered a programming error in the derivation) + [ ] + else + [ dep ] + ++ ( + if builtins.hasAttr "propagatedBuildInputs" dep then + lib.unique (builtins.concatLists (map transitiveClosure dep.propagatedBuildInputs)) + else + [ ] + ); allInputs = lib.remove null (nativeBuildInputs ++ buildInputs ++ pythonEnv.extraLibs); - transitiveDeps = lib.unique (builtins.concatLists (map transitiveClosure allInputs )); + transitiveDeps = lib.unique (builtins.concatLists (map transitiveClosure allInputs)); # fix differences between spkg and sage names # (could patch sage instead, but this is more lightweight and also works for packages depending on sage) - patch_names = builtins.replaceStrings [ - "zope.interface" - "node_three" - ] [ - "zope-interface" - "threejs" - ]; + patch_names = + builtins.replaceStrings + [ + "zope.interface" + "node_three" + ] + [ + "zope-interface" + "threejs" + ]; # spkg names (this_is_a_package-version) of all transitive deps input_names = map (dep: pkg_to_spkg_name dep patch_names) transitiveDeps; in diff --git a/pkgs/by-name/sa/sage/sage.nix b/pkgs/by-name/sa/sage/sage.nix index cc39624b7f110..e909d1ef58e01 100644 --- a/pkgs/by-name/sa/sage/sage.nix +++ b/pkgs/by-name/sa/sage/sage.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, makeWrapper -, sage-tests -, sage-with-env -, jupyter-kernel-definition -, jupyter-kernel-specs -, sagedoc -, withDoc -, requireSageTests +{ + lib, + stdenv, + makeWrapper, + sage-tests, + sage-with-env, + jupyter-kernel-definition, + jupyter-kernel-specs, + sagedoc, + withDoc, + requireSageTests, }: # A wrapper that makes sure sage finds its docs (if they were build) and the @@ -31,9 +33,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p "$out/bin" makeWrapper "${sage-with-env}/bin/sage" "$out/bin/sage" \ - --set SAGE_DOC_SRC_OVERRIDE "${src}/src/doc" ${ - lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage" - } \ + --set SAGE_DOC_SRC_OVERRIDE "${src}/src/doc" ${lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage"} \ --prefix JUPYTER_PATH : "${jupyter-kernel-specs}" ''; @@ -44,15 +44,20 @@ stdenv.mkDerivation rec { "$out/bin/sage" -c 'browse_sage_doc._open("reference", testing=True)' ''; - passthru = { - tests = sage-tests; - quicktest = sage-tests.override { longTests = false; timeLimit = 600; }; # as many tests as possible in ~10m - lib = sage-with-env.env.lib; - with-env = sage-with-env; - kernelspec = jupyter-kernel-definition; - } // lib.optionalAttrs withDoc { - doc = sagedoc; - }; + passthru = + { + tests = sage-tests; + quicktest = sage-tests.override { + longTests = false; + timeLimit = 600; + }; # as many tests as possible in ~10m + lib = sage-with-env.env.lib; + with-env = sage-with-env; + kernelspec = jupyter-kernel-definition; + } + // lib.optionalAttrs withDoc { + doc = sagedoc; + }; meta = with lib; { description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"; diff --git a/pkgs/by-name/sa/sage/sagedoc.nix b/pkgs/by-name/sa/sage/sagedoc.nix index cbf593398ac44..7db4d6b4e07e4 100644 --- a/pkgs/by-name/sa/sage/sagedoc.nix +++ b/pkgs/by-name/sa/sage/sagedoc.nix @@ -1,7 +1,8 @@ -{ stdenv -, sage-with-env -, python3 -, jupyter-kernel-specs +{ + stdenv, + sage-with-env, + python3, + jupyter-kernel-specs, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sa/sage/sagelib.nix b/pkgs/by-name/sa/sage/sagelib.nix index 1a138eea81d9e..98096eadb6696 100644 --- a/pkgs/by-name/sa/sage/sagelib.nix +++ b/pkgs/by-name/sa/sage/sagelib.nix @@ -1,85 +1,86 @@ -{ sage-src -, env-locations -, python -, buildPythonPackage -, m4 -, perl -, pkg-config -, sage-setup -, setuptools -, gd -, iml -, libpng -, readline -, blas -, boost -, brial -, cliquer -, eclib -, ecm -, fflas-ffpack -, flint3 -, gap -, giac -, givaro -, glpk -, gsl -, lapack -, lcalc -, libbraiding -, libhomfly -, libmpc -, linbox -, lisp-compiler -, lrcalc -, m4ri -, m4rie -, mpfi -, mpfr -, ntl -, pari -, planarity -, ppl -, rankwidth -, ratpoints -, singular -, sqlite -, symmetrica -, conway-polynomials -, cvxopt -, cypari2 -, cysignals -, cython -, fpylll -, gmpy2 -, importlib-metadata -, importlib-resources -, ipykernel -, ipython -, ipywidgets -, jinja2 -, jupyter-client -, jupyter-core -, lrcalc-python -, matplotlib -, memory-allocator -, meson-python -, mpmath -, networkx -, numpy -, pexpect -, pillow -, pip -, pkgconfig -, pplpy -, primecountpy -, ptyprocess -, requests -, rpy2 -, scipy -, sphinx -, sympy -, typing-extensions +{ + sage-src, + env-locations, + python, + buildPythonPackage, + m4, + perl, + pkg-config, + sage-setup, + setuptools, + gd, + iml, + libpng, + readline, + blas, + boost, + brial, + cliquer, + eclib, + ecm, + fflas-ffpack, + flint3, + gap, + giac, + givaro, + glpk, + gsl, + lapack, + lcalc, + libbraiding, + libhomfly, + libmpc, + linbox, + lisp-compiler, + lrcalc, + m4ri, + m4rie, + mpfi, + mpfr, + ntl, + pari, + planarity, + ppl, + rankwidth, + ratpoints, + singular, + sqlite, + symmetrica, + conway-polynomials, + cvxopt, + cypari2, + cysignals, + cython, + fpylll, + gmpy2, + importlib-metadata, + importlib-resources, + ipykernel, + ipython, + ipywidgets, + jinja2, + jupyter-client, + jupyter-core, + lrcalc-python, + matplotlib, + memory-allocator, + meson-python, + mpmath, + networkx, + numpy, + pexpect, + pillow, + pip, + pkgconfig, + pplpy, + primecountpy, + ptyprocess, + requests, + rpy2, + scipy, + sphinx, + sympy, + typing-extensions, }: assert (!blas.isILP64) && (!lapack.isILP64); diff --git a/pkgs/by-name/sa/sagetex/package.nix b/pkgs/by-name/sa/sagetex/package.nix index 96513b4f9f396..ed31393e365ee 100644 --- a/pkgs/by-name/sa/sagetex/package.nix +++ b/pkgs/by-name/sa/sagetex/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, writeShellScript -, texliveBasic +{ + lib, + stdenv, + fetchFromGitHub, + writeShellScript, + texliveBasic, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sa/sagittarius-scheme/package.nix b/pkgs/by-name/sa/sagittarius-scheme/package.nix index e370c56f02813..c586a0f622e8e 100644 --- a/pkgs/by-name/sa/sagittarius-scheme/package.nix +++ b/pkgs/by-name/sa/sagittarius-scheme/package.nix @@ -1,18 +1,25 @@ -{ lib, stdenv -, fetchurl -, cmake -, pkg-config -, libffi -, boehmgc -, openssl -, zlib -, odbcSupport ? !stdenv.hostPlatform.isDarwin -, libiodbc +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + libffi, + boehmgc, + openssl, + zlib, + odbcSupport ? !stdenv.hostPlatform.isDarwin, + libiodbc, }: -let platformLdLibraryPath = if stdenv.hostPlatform.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" - else if (stdenv.hostPlatform.isLinux or stdenv.hostPlatform.isBSD) then "LD_LIBRARY_PATH" - else throw "unsupported platform"; +let + platformLdLibraryPath = + if stdenv.hostPlatform.isDarwin then + "DYLD_FALLBACK_LIBRARY_PATH" + else if (stdenv.hostPlatform.isLinux or stdenv.hostPlatform.isBSD) then + "LD_LIBRARY_PATH" + else + throw "unsupported platform"; in stdenv.mkDerivation rec { pname = "sagittarius-scheme"; @@ -22,21 +29,32 @@ stdenv.mkDerivation rec { hash = "sha256-w6aQkC7/vKO8exvDpsSsLyLXrm4FSKh8XYGJgseEII0="; }; preBuild = '' - # since we lack rpath during build, need to explicitly add build path - # to LD_LIBRARY_PATH so we can load libsagittarius.so as required to - # build extensions - export ${platformLdLibraryPath}="$(pwd)/build" - ''; - nativeBuildInputs = [ pkg-config cmake ]; + # since we lack rpath during build, need to explicitly add build path + # to LD_LIBRARY_PATH so we can load libsagittarius.so as required to + # build extensions + export ${platformLdLibraryPath}="$(pwd)/build" + ''; + nativeBuildInputs = [ + pkg-config + cmake + ]; - buildInputs = [ libffi boehmgc openssl zlib ] ++ lib.optional odbcSupport libiodbc; + buildInputs = [ + libffi + boehmgc + openssl + zlib + ] ++ lib.optional odbcSupport libiodbc; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-error=int-conversion" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - # error: '__builtin_ia32_aeskeygenassist128' needs target feature aes - "-maes" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-error=int-conversion" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # error: '__builtin_ia32_aeskeygenassist128' needs target feature aes + "-maes" + ] + ); meta = with lib; { description = "R6RS/R7RS Scheme system"; diff --git a/pkgs/by-name/sa/sagoin/package.nix b/pkgs/by-name/sa/sagoin/package.nix index 7764781dc01bd..4d2740f071dff 100644 --- a/pkgs/by-name/sa/sagoin/package.nix +++ b/pkgs/by-name/sa/sagoin/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sa/sahel-fonts/package.nix b/pkgs/by-name/sa/sahel-fonts/package.nix index 7fc48704e798a..30d09d2fa36fc 100644 --- a/pkgs/by-name/sa/sahel-fonts/package.nix +++ b/pkgs/by-name/sa/sahel-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "sahel-fonts"; diff --git a/pkgs/by-name/sa/sailsd/package.nix b/pkgs/by-name/sa/sailsd/package.nix index 50eb8e61ca327..62e2da16fe4c2 100644 --- a/pkgs/by-name/sa/sailsd/package.nix +++ b/pkgs/by-name/sa/sailsd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, jansson }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + jansson, +}: let libsailing = fetchFromGitHub { @@ -19,7 +25,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ jansson libsailing ]; + buildInputs = [ + jansson + libsailing + ]; INSTALL_PATH = "$(out)"; diff --git a/pkgs/by-name/sa/sakura/package.nix b/pkgs/by-name/sa/sakura/package.nix index f9c1b3f31a55e..4b2687dd98a8d 100644 --- a/pkgs/by-name/sa/sakura/package.nix +++ b/pkgs/by-name/sa/sakura/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, glib -, gtk3 -, gettext -, pango -, makeWrapper -, pcre2 -, perl -, pkg-config -, vte -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + glib, + gtk3, + gettext, + pango, + makeWrapper, + pcre2, + perl, + pkg-config, + vte, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -66,8 +67,11 @@ stdenv.mkDerivation (finalAttrs: { options. No more no less. ''; license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ astsmtl codyopel ]; + maintainers = with lib.maintainers; [ + astsmtl + codyopel + ]; platforms = lib.platforms.linux; mainProgram = "sakura"; - }; + }; }) diff --git a/pkgs/by-name/sa/saldl/package.nix b/pkgs/by-name/sa/saldl/package.nix index 7f1551cd85b8d..530cba04b078c 100644 --- a/pkgs/by-name/sa/saldl/package.nix +++ b/pkgs/by-name/sa/saldl/package.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, wafHook -, python3 -, asciidoc -, docbook_xml_dtd_45 -, docbook_xsl -, libxml2 -, libxslt -, curl -, libevent -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + wafHook, + python3, + asciidoc, + docbook_xml_dtd_45, + docbook_xsl, + libxml2, + libxslt, + curl, + libevent, + fetchpatch, }: stdenv.mkDerivation rec { @@ -43,11 +45,20 @@ stdenv.mkDerivation rec { libxslt ]; - buildInputs = [ curl libevent ]; + buildInputs = [ + curl + libevent + ]; - wafConfigureFlags = [ "--saldl-version ${version}" "--no-werror" ]; + wafConfigureFlags = [ + "--saldl-version ${version}" + "--no-werror" + ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = with lib; { description = "CLI downloader optimized for speed and early preview"; diff --git a/pkgs/by-name/sa/saleae-logic-2/package.nix b/pkgs/by-name/sa/saleae-logic-2/package.nix index 69e972afa7b72..6a447c5876608 100644 --- a/pkgs/by-name/sa/saleae-logic-2/package.nix +++ b/pkgs/by-name/sa/saleae-logic-2/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, makeDesktopItem, appimageTools }: +{ + lib, + fetchurl, + makeDesktopItem, + appimageTools, +}: let pname = "saleae-logic-2"; version = "2.4.13"; @@ -23,50 +28,54 @@ appimageTools.wrapType2 { let appimageContents = appimageTools.extractType2 { inherit pname version src; }; in - '' - mkdir -p $out/etc/udev/rules.d - cp ${appimageContents}/resources/linux-x64/99-SaleaeLogic.rules $out/etc/udev/rules.d/ - mkdir -p $out/share/pixmaps - ln -s ${desktopItem}/share/applications $out/share/ - cp ${appimageContents}/usr/share/icons/hicolor/256x256/apps/Logic.png $out/share/pixmaps/Logic.png - ''; + '' + mkdir -p $out/etc/udev/rules.d + cp ${appimageContents}/resources/linux-x64/99-SaleaeLogic.rules $out/etc/udev/rules.d/ + mkdir -p $out/share/pixmaps + ln -s ${desktopItem}/share/applications $out/share/ + cp ${appimageContents}/usr/share/icons/hicolor/256x256/apps/Logic.png $out/share/pixmaps/Logic.png + ''; - extraPkgs = pkgs: with pkgs; [ - wget - unzip - glib - xorg.libX11 - xorg.libxcb - xorg.libXcomposite - xorg.libXcursor - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXi - xorg.libXrender - xorg.libXtst - nss - nspr - dbus - gdk-pixbuf - gtk3 - pango - atk - cairo - expat - xorg.libXrandr - xorg.libXScrnSaver - alsa-lib - at-spi2-core - cups - libxcrypt-legacy - ]; + extraPkgs = + pkgs: with pkgs; [ + wget + unzip + glib + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrender + xorg.libXtst + nss + nspr + dbus + gdk-pixbuf + gtk3 + pango + atk + cairo + expat + xorg.libXrandr + xorg.libXScrnSaver + alsa-lib + at-spi2-core + cups + libxcrypt-legacy + ]; meta = with lib; { homepage = "https://www.saleae.com/"; description = "Software for Saleae logic analyzers"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ j-hui newam ]; + maintainers = with maintainers; [ + j-hui + newam + ]; }; } diff --git a/pkgs/by-name/sa/salmon/package.nix b/pkgs/by-name/sa/salmon/package.nix index bfc12deedd6b9..4e46c4e2dc056 100644 --- a/pkgs/by-name/sa/salmon/package.nix +++ b/pkgs/by-name/sa/salmon/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, boost -, bzip2 -, cereal_1_3_2 -, cmake -, curl -, fetchFromGitHub -, jemalloc -, libgff -, libiconv -, libstaden-read -, pkg-config -, tbb_2021_11 -, xz -, zlib +{ + lib, + stdenv, + boost, + bzip2, + cereal_1_3_2, + cmake, + curl, + fetchFromGitHub, + jemalloc, + libgff, + libiconv, + libstaden-read, + pkg-config, + tbb_2021_11, + xz, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -42,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { postPatch = "patchShebangs ."; buildInputs = [ - (boost.override { enableShared = false; enabledStatic = true; }) + (boost.override { + enableShared = false; + enabledStatic = true; + }) bzip2 cereal_1_3_2 curl @@ -54,13 +58,15 @@ stdenv.mkDerivation (finalAttrs: { zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; strictDeps = true; meta = { - description = - "Tool for quantifying the expression of transcripts using RNA-seq data"; + description = "Tool for quantifying the expression of transcripts using RNA-seq data"; mainProgram = "salmon"; longDescription = '' Salmon is a tool for quantifying the expression of transcripts @@ -74,8 +80,7 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://combine-lab.github.io/salmon"; downloadPage = "https://github.com/COMBINE-lab/salmon/releases"; - changelog = "https://github.com/COMBINE-lab/salmon/releases/tag/" + - "v${finalAttrs.version}"; + changelog = "https://github.com/COMBINE-lab/salmon/releases/tag/" + "v${finalAttrs.version}"; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; maintainers = [ lib.maintainers.kupac ]; diff --git a/pkgs/by-name/sa/salt/package.nix b/pkgs/by-name/sa/salt/package.nix index de836d4e82271..206d43ed22842 100644 --- a/pkgs/by-name/sa/salt/package.nix +++ b/pkgs/by-name/sa/salt/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, python3 -, fetchPypi -, openssl +{ + lib, + stdenv, + python3, + fetchPypi, + openssl, # Many Salt modules require various Python modules to be installed, # passing them in this array enables Salt to find them. -, extraInputs ? [] + extraInputs ? [ ], }: python3.pkgs.buildPythonApplication rec { @@ -37,21 +38,24 @@ python3.pkgs.buildPythonApplication rec { --replace 'pyzmq==25.0.2 ; sys_platform == "win32"' "" ''; - propagatedBuildInputs = with python3.pkgs; [ - distro - jinja2 - jmespath - looseversion - markupsafe - msgpack - packaging - psutil - pycryptodomex - pyyaml - pyzmq - requests - tornado - ] ++ extraInputs; + propagatedBuildInputs = + with python3.pkgs; + [ + distro + jinja2 + jmespath + looseversion + markupsafe + msgpack + packaging + psutil + pycryptodomex + pyyaml + pyzmq + requests + tornado + ] + ++ extraInputs; # Don't use fixed dependencies on Darwin USE_STATIC_REQUIREMENTS = "0"; diff --git a/pkgs/by-name/sa/salut/package.nix b/pkgs/by-name/sa/salut/package.nix index 5e61e524e4fa7..82d5d5960de01 100644 --- a/pkgs/by-name/sa/salut/package.nix +++ b/pkgs/by-name/sa/salut/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, pkg-config -, fontconfig -, libxkbcommon -, wayland +{ + lib, + rustPlatform, + fetchFromGitLab, + pkg-config, + fontconfig, + libxkbcommon, + wayland, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sa/sam-ba/package.nix b/pkgs/by-name/sa/sam-ba/package.nix index 6a383cd4fc4e1..26122689315c0 100644 --- a/pkgs/by-name/sa/sam-ba/package.nix +++ b/pkgs/by-name/sa/sam-ba/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchzip, glib, zlib, libglvnd, python3, autoPatchelfHook }: +{ + lib, + stdenv, + fetchzip, + glib, + zlib, + libglvnd, + python3, + autoPatchelfHook, +}: stdenv.mkDerivation rec { version = "3.5"; @@ -14,7 +23,7 @@ stdenv.mkDerivation rec { libglvnd zlib - (python3.withPackages (ps: [ps.pyserial])) + (python3.withPackages (ps: [ ps.pyserial ])) ]; nativeBuildInputs = [ autoPatchelfHook ]; diff --git a/pkgs/by-name/sa/sambamba/package.nix b/pkgs/by-name/sa/sambamba/package.nix index e62a5bb14aae4..9cf37daf1606e 100644 --- a/pkgs/by-name/sa/sambamba/package.nix +++ b/pkgs/by-name/sa/sambamba/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, which -, ldc -, zlib -, lz4 +{ + lib, + stdenv, + fetchFromGitHub, + python3, + which, + ldc, + zlib, + lz4, }: stdenv.mkDerivation rec { @@ -20,8 +21,15 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ which python3 ldc ]; - buildInputs = [ zlib lz4 ]; + nativeBuildInputs = [ + which + python3 + ldc + ]; + buildInputs = [ + zlib + lz4 + ]; buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/sa/samblaster/package.nix b/pkgs/by-name/sa/samblaster/package.nix index f16d0e42d8ef5..fba9560557c30 100644 --- a/pkgs/by-name/sa/samblaster/package.nix +++ b/pkgs/by-name/sa/samblaster/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "samblaster"; diff --git a/pkgs/by-name/sa/samdump2/package.nix b/pkgs/by-name/sa/samdump2/package.nix index a1a045af7664f..0489423d9fefd 100644 --- a/pkgs/by-name/sa/samdump2/package.nix +++ b/pkgs/by-name/sa/samdump2/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, openssl -, pkg-config -, which +{ + lib, + stdenv, + fetchurl, + fetchpatch, + openssl, + pkg-config, + which, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YCZZrzDFZXUPoBZQ4KIj0mNVtd+Y8vvDDjpsWT7U5SY="; }; - nativeBuildInputs = [ pkg-config which ]; + nativeBuildInputs = [ + pkg-config + which + ]; buildInputs = [ openssl ]; @@ -63,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Dump password hashes from a Windows NT/2k/XP installation"; mainProgram = "samdump2"; homepage = "https://sourceforge.net/projects/ophcrack/files/samdump2"; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; maintainers = with maintainers; [ d3vil0p3r ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/sa/sameboy/package.nix b/pkgs/by-name/sa/sameboy/package.nix index d1e7c13c6694c..a2eb80b3c075c 100644 --- a/pkgs/by-name/sa/sameboy/package.nix +++ b/pkgs/by-name/sa/sameboy/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, gtk3, rgbds, SDL2, wrapGAppsHook3, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk3, + rgbds, + SDL2, + wrapGAppsHook3, + glib, +}: stdenv.mkDerivation rec { pname = "sameboy"; @@ -13,7 +22,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # glib and wrapGAppsHook3 are needed to make the Open ROM menu work. - nativeBuildInputs = [ rgbds glib wrapGAppsHook3 ]; + nativeBuildInputs = [ + rgbds + glib + wrapGAppsHook3 + ]; buildInputs = [ SDL2 ]; makeFlags = [ diff --git a/pkgs/by-name/sa/samim-fonts/package.nix b/pkgs/by-name/sa/samim-fonts/package.nix index 2f36075bad93e..b5df4039595fb 100644 --- a/pkgs/by-name/sa/samim-fonts/package.nix +++ b/pkgs/by-name/sa/samim-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "samim-fonts"; diff --git a/pkgs/by-name/sa/sammler/package.nix b/pkgs/by-name/sa/sammler/package.nix index 7a7990aee1f94..7a1c9247a85a8 100644 --- a/pkgs/by-name/sa/sammler/package.nix +++ b/pkgs/by-name/sa/sammler/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sa/sampler/package.nix b/pkgs/by-name/sa/sampler/package.nix index 7ee3d4573d9aa..ec2e35728b1c3 100644 --- a/pkgs/by-name/sa/sampler/package.nix +++ b/pkgs/by-name/sa/sampler/package.nix @@ -1,4 +1,12 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, darwin, alsa-lib, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + darwin, + alsa-lib, + stdenv, +}: buildGoModule rec { pname = "sampler"; @@ -25,10 +33,11 @@ buildGoModule rec { subPackages = [ "." ]; - buildInputs = lib.optional stdenv.hostPlatform.isLinux alsa-lib + buildInputs = + lib.optional stdenv.hostPlatform.isLinux alsa-lib ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.OpenAL - ]; + darwin.apple_sdk.frameworks.OpenAL + ]; meta = with lib; { description = "Tool for shell commands execution, visualization and alerting"; diff --git a/pkgs/by-name/sa/samplicator/package.nix b/pkgs/by-name/sa/samplicator/package.nix index 80349b1704841..92d0c1cd362aa 100644 --- a/pkgs/by-name/sa/samplicator/package.nix +++ b/pkgs/by-name/sa/samplicator/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "samplicator"; diff --git a/pkgs/by-name/sa/samply/package.nix b/pkgs/by-name/sa/samply/package.nix index 98dfbc3aca1e5..20c15023db3cf 100644 --- a/pkgs/by-name/sa/samply/package.nix +++ b/pkgs/by-name/sa/samply/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, jq -, moreutils -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + jq, + moreutils, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -50,7 +51,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "samply"; homepage = "https://github.com/mstange/samply"; changelog = "https://github.com/mstange/samply/releases/tag/samply-v${version}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/sa/sampradaya/package.nix b/pkgs/by-name/sa/sampradaya/package.nix index 8c0545d2c7fe5..6149f13578a02 100644 --- a/pkgs/by-name/sa/sampradaya/package.nix +++ b/pkgs/by-name/sa/sampradaya/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "sampradaya"; diff --git a/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/module.nix b/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/module.nix index 1b9ea38a3006c..63dfb21a31a77 100644 --- a/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/module.nix +++ b/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/module.nix @@ -14,30 +14,33 @@ # and simple-scan. errors indicate an I/O error. scanning works # again after turning the device off and on. atm i have no idea how # to fix this and no time to do more about it. -{config, pkgs, lib ? pkgs.lib, ...}: +{ + config, + pkgs, + lib ? pkgs.lib, + ... +}: let cfg = config.services.samsung-unified-linux-driver_1_00_36; pkg = pkgs.samsung-unified-linux-driver_1_00_36; -in { +in +{ options = { services.samsung-unified-linux-driver_1_00_36 = { enable = lib.mkEnableOption "samsung-unified-linux-driver_1_00_36"; }; }; config = lib.mkIf cfg.enable { - services.printing.drivers = [pkg]; - hardware.sane.extraBackends = [pkg]; + services.printing.drivers = [ pkg ]; + hardware.sane.extraBackends = [ pkg ]; environment.etc = { - "samsung/scanner/share/oem.conf".source - = "${pkg}/etc/samsung/scanner/share/oem.conf"; - "smfp-common/scanner/share/libsane-smfp.cfg".source - = "${pkg}/etc/smfp-common/scanner/share/libsane-smfp.cfg"; - "smfp-common/scanner/share/pagesize.xml".source - = "${pkg}/etc/smfp-common/scanner/share/pagesize.xml"; - "sane.d/smfp.conf".source - = "${pkg}/etc/sane.d/smfp.conf"; - "sane.d/dll.d/smfp-scanner.conf".source - = "${pkg}/etc/sane.d/dll.d/smfp-scanner.conf"; + "samsung/scanner/share/oem.conf".source = "${pkg}/etc/samsung/scanner/share/oem.conf"; + "smfp-common/scanner/share/libsane-smfp.cfg".source = + "${pkg}/etc/smfp-common/scanner/share/libsane-smfp.cfg"; + "smfp-common/scanner/share/pagesize.xml".source = + "${pkg}/etc/smfp-common/scanner/share/pagesize.xml"; + "sane.d/smfp.conf".source = "${pkg}/etc/sane.d/smfp.conf"; + "sane.d/dll.d/smfp-scanner.conf".source = "${pkg}/etc/sane.d/dll.d/smfp-scanner.conf"; }; }; } diff --git a/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/package.nix b/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/package.nix index 0a09bdb272e65..1e9b34579ba66 100644 --- a/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/package.nix +++ b/pkgs/by-name/sa/samsung-unified-linux-driver_1_00_36/package.nix @@ -1,12 +1,19 @@ -{ lib, stdenv, fetchurl, cups, libusb-compat-0_1, libxml2, perl }: +{ + lib, + stdenv, + fetchurl, + cups, + libusb-compat-0_1, + libxml2, + perl, +}: let - arch = if stdenv.system == "x86_64-linux" - then "x86_64" - else "i386"; + arch = if stdenv.system == "x86_64-linux" then "x86_64" else "i386"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "samsung-unified-linux-driver"; version = "1.00.36"; diff --git a/pkgs/by-name/sa/samurai/package.nix b/pkgs/by-name/sa/samurai/package.nix index 15a20cd343f14..7ecb57adcbb37 100644 --- a/pkgs/by-name/sa/samurai/package.nix +++ b/pkgs/by-name/sa/samurai/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation rec { @@ -15,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-RPY3MFlnSDBZ5LOkdWnMiR/CZIBdqIFo9uLU+SAKPBI="; }; - makeFlags = [ "DESTDIR=" "PREFIX=${placeholder "out"}" ]; + makeFlags = [ + "DESTDIR=" + "PREFIX=${placeholder "out"}" + ]; patches = [ # NULL pointer dereference in writefile() in util.c; remove this at the next @@ -50,10 +54,12 @@ stdenv.mkDerivation rec { respectively. ''; homepage = "https://github.com/michaelforney/samurai"; - license = with licenses; [ mit asl20 ]; # see LICENSE + license = with licenses; [ + mit + asl20 + ]; # see LICENSE maintainers = with maintainers; [ dtzWill ]; mainProgram = "samu"; platforms = platforms.all; }; } - diff --git a/pkgs/by-name/sa/sanctity/package.nix b/pkgs/by-name/sa/sanctity/package.nix index 05e6a5ed46d6a..531181ed266a9 100644 --- a/pkgs/by-name/sa/sanctity/package.nix +++ b/pkgs/by-name/sa/sanctity/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitea }: +{ + lib, + rustPlatform, + fetchFromGitea, +}: rustPlatform.buildRustPackage rec { pname = "sanctity"; diff --git a/pkgs/by-name/sa/sandbar/package.nix b/pkgs/by-name/sa/sandbar/package.nix index 8c754289aa001..b5918209a6e80 100644 --- a/pkgs/by-name/sa/sandbar/package.nix +++ b/pkgs/by-name/sa/sandbar/package.nix @@ -7,7 +7,7 @@ pkg-config, wayland-protocols, wayland-scanner, - wayland + wayland, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sa/sane-airscan/package.nix b/pkgs/by-name/sa/sane-airscan/package.nix index b4ac219a17e4a..c7d0216782036 100644 --- a/pkgs/by-name/sa/sane-airscan/package.nix +++ b/pkgs/by-name/sa/sane-airscan/package.nix @@ -1,11 +1,36 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, avahi, libjpeg, libpng, libtiff -, libxml2, gnutls, sane-backends }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + avahi, + libjpeg, + libpng, + libtiff, + libxml2, + gnutls, + sane-backends, +}: stdenv.mkDerivation rec { pname = "sane-airscan"; version = "0.99.30"; - nativeBuildInputs = [ meson ninja pkg-config ]; - buildInputs = [ avahi gnutls libjpeg libpng libxml2 libtiff sane-backends ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + buildInputs = [ + avahi + gnutls + libjpeg + libpng + libxml2 + libtiff + sane-backends + ]; src = fetchFromGitHub { owner = "alexpevzner"; diff --git a/pkgs/by-name/sa/sanoid/package.nix b/pkgs/by-name/sa/sanoid/package.nix index aa960b7227266..6a01474c0f65d 100644 --- a/pkgs/by-name/sa/sanoid/package.nix +++ b/pkgs/by-name/sa/sanoid/package.nix @@ -1,5 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, nixosTests, makeWrapper, zfs -, perlPackages, procps, which, openssh, mbuffer, pv, lzop, gzip, pigz }: +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, + makeWrapper, + zfs, + perlPackages, + procps, + which, + openssh, + mbuffer, + pv, + lzop, + gzip, + pigz, +}: stdenv.mkDerivation rec { pname = "sanoid"; @@ -13,7 +28,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = with perlPackages; [ perl ConfigIniFiles CaptureTiny ]; + buildInputs = with perlPackages; [ + perl + ConfigIniFiles + CaptureTiny + ]; passthru.tests = nixosTests.sanoid; @@ -31,17 +50,41 @@ stdenv.mkDerivation rec { # incompatibilities with the ZFS kernel module. wrapProgram "$out/bin/sanoid" \ --prefix PERL5LIB : "$PERL5LIB" \ - --prefix PATH : "${lib.makeBinPath [ procps "/run/booted-system/sw" zfs ]}" + --prefix PATH : "${ + lib.makeBinPath [ + procps + "/run/booted-system/sw" + zfs + ] + }" install -m755 syncoid "$out/bin/syncoid" wrapProgram "$out/bin/syncoid" \ --prefix PERL5LIB : "$PERL5LIB" \ - --prefix PATH : "${lib.makeBinPath [ openssh procps which pv mbuffer lzop gzip pigz "/run/booted-system/sw" zfs ]}" + --prefix PATH : "${ + lib.makeBinPath [ + openssh + procps + which + pv + mbuffer + lzop + gzip + pigz + "/run/booted-system/sw" + zfs + ] + }" install -m755 findoid "$out/bin/findoid" wrapProgram "$out/bin/findoid" \ --prefix PERL5LIB : "$PERL5LIB" \ - --prefix PATH : "${lib.makeBinPath [ "/run/booted-system/sw" zfs ]}" + --prefix PATH : "${ + lib.makeBinPath [ + "/run/booted-system/sw" + zfs + ] + }" runHook postInstall ''; @@ -50,7 +93,10 @@ stdenv.mkDerivation rec { description = "Policy-driven snapshot management tool for ZFS filesystems"; homepage = "https://github.com/jimsalterjrs/sanoid"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ lopsided98 Frostman ]; + maintainers = with maintainers; [ + lopsided98 + Frostman + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/sa/sarabun-font/package.nix b/pkgs/by-name/sa/sarabun-font/package.nix index 3e4fa018e7125..ada14957a0195 100644 --- a/pkgs/by-name/sa/sarabun-font/package.nix +++ b/pkgs/by-name/sa/sarabun-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "sarabun"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "jcSQ72WK0GucZPgG7IQKrKzCOEbGgbQVl21RIKSF6A0="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; buildPhase = '' mkdir -p $doc/${pname} $out/share/fonts/truetype diff --git a/pkgs/by-name/sa/sassc/package.nix b/pkgs/by-name/sa/sassc/package.nix index 3501f826895eb..eabf0ef0c347f 100644 --- a/pkgs/by-name/sa/sassc/package.nix +++ b/pkgs/by-name/sa/sassc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libsass }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libsass, +}: stdenv.mkDerivation rec { pname = "sassc"; @@ -26,7 +32,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/sass/sassc/"; license = licenses.mit; mainProgram = "sassc"; - maintainers = with maintainers; [ codyopel pjones ]; + maintainers = with maintainers; [ + codyopel + pjones + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/sa/sasutils/package.nix b/pkgs/by-name/sa/sasutils/package.nix index 3ca570c8e853c..540d573bcb230 100644 --- a/pkgs/by-name/sa/sasutils/package.nix +++ b/pkgs/by-name/sa/sasutils/package.nix @@ -1,4 +1,10 @@ -{ lib, python3Packages, fetchFromGitHub, installShellFiles, sg3_utils }: +{ + lib, + python3Packages, + fetchFromGitHub, + installShellFiles, + sg3_utils, +}: python3Packages.buildPythonApplication rec { pname = "sasutils"; diff --git a/pkgs/by-name/sa/satty/package.nix b/pkgs/by-name/sa/satty/package.nix index 54c434e975c3c..b7dde12f925c2 100644 --- a/pkgs/by-name/sa/satty/package.nix +++ b/pkgs/by-name/sa/satty/package.nix @@ -1,16 +1,17 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, gdk-pixbuf -, glib -, gtk4 -, libadwaita -, libepoxy -, libGL -, copyDesktopItems -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + gdk-pixbuf, + glib, + gtk4, + libadwaita, + libepoxy, + libGL, + copyDesktopItems, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -58,7 +59,10 @@ rustPlatform.buildRustPackage rec { description = "Screenshot annotation tool inspired by Swappy and Flameshot"; homepage = "https://github.com/gabm/Satty"; license = licenses.mpl20; - maintainers = with maintainers; [ pinpox donovanglover ]; + maintainers = with maintainers; [ + pinpox + donovanglover + ]; mainProgram = "satty"; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/sa/savepagenow/package.nix b/pkgs/by-name/sa/savepagenow/package.nix index 9e723d53f54f0..3e1dfc256bc91 100644 --- a/pkgs/by-name/sa/savepagenow/package.nix +++ b/pkgs/by-name/sa/savepagenow/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "savepagenow"; @@ -11,7 +15,10 @@ python3Packages.buildPythonApplication rec { sha256 = "1lz6rc47cds9rb35jdf8n13gr61wdkh5jqzx4skikm1yrqkwjyhm"; }; - propagatedBuildInputs = with python3Packages; [ click requests ]; + propagatedBuildInputs = with python3Packages; [ + click + requests + ]; # requires network access doCheck = false; diff --git a/pkgs/by-name/sa/sawfish/package.nix b/pkgs/by-name/sa/sawfish/package.nix index c5bd29d2589fe..8a0ac60f5541c 100644 --- a/pkgs/by-name/sa/sawfish/package.nix +++ b/pkgs/by-name/sa/sawfish/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, gdk-pixbuf-xlib -, gettext -, gtk2-x11 -, libICE -, libSM -, libxcrypt -, libXinerama -, libXrandr -, libXtst -, librep -, makeWrapper -, pango -, pkg-config -, rep-gtk -, texinfo -, which +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gdk-pixbuf-xlib, + gettext, + gtk2-x11, + libICE, + libSM, + libxcrypt, + libXinerama, + libXrandr, + libXtst, + librep, + makeWrapper, + pango, + pkg-config, + rep-gtk, + texinfo, + which, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sa/sawjap/package.nix b/pkgs/by-name/sa/sawjap/package.nix index bc48b0342ab2b..db15be3110877 100644 --- a/pkgs/by-name/sa/sawjap/package.nix +++ b/pkgs/by-name/sa/sawjap/package.nix @@ -1,6 +1,8 @@ { stdenv, ocamlPackages }: -let inherit (ocamlPackages) ocaml findlib sawja; in +let + inherit (ocamlPackages) ocaml findlib sawja; +in stdenv.mkDerivation { @@ -12,7 +14,10 @@ stdenv.mkDerivation { strictDeps = true; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; buildInputs = [ sawja ]; buildPhase = '' diff --git a/pkgs/by-name/sb/sbagen/package.nix b/pkgs/by-name/sb/sbagen/package.nix index 4ddfa6f9cf286..368ff98ce364e 100644 --- a/pkgs/by-name/sb/sbagen/package.nix +++ b/pkgs/by-name/sb/sbagen/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sbagen"; diff --git a/pkgs/by-name/sb/sbc/package.nix b/pkgs/by-name/sb/sbc/package.nix index 7cdd3072c56c2..f7a45d562599d 100644 --- a/pkgs/by-name/sb/sbc/package.nix +++ b/pkgs/by-name/sb/sbc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libsndfile }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libsndfile, +}: stdenv.mkDerivation rec { pname = "sbc"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-jxI2jh279V4UU2UgRzz7M4yEs5KTnMm2Qpg2D9SgeZI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libsndfile ]; diff --git a/pkgs/by-name/sb/sblim-sfcc/package.nix b/pkgs/by-name/sb/sblim-sfcc/package.nix index 351eb5c154794..fb73c7c0d625c 100644 --- a/pkgs/by-name/sb/sblim-sfcc/package.nix +++ b/pkgs/by-name/sb/sblim-sfcc/package.nix @@ -1,13 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, curl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + curl, +}: stdenv.mkDerivation rec { pname = "sblim-sfcc"; version = "2.2.9"; # this is technically 2.2.9-preview src = fetchFromGitHub { - owner = "kkaempf"; - repo = "sblim-sfcc"; - rev = "514a76af2020fd6dc6fc380df76cbe27786a76a2"; + owner = "kkaempf"; + repo = "sblim-sfcc"; + rev = "514a76af2020fd6dc6fc380df76cbe27786a76a2"; sha256 = "06c1mskl9ixbf26v88w0lvn6v2xd6n5f0jd5mckqrn9j4vmh70hs"; }; @@ -19,9 +25,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Small Footprint CIM Client Library"; - homepage = "https://sourceforge.net/projects/sblim/"; - license = licenses.cpl10; + homepage = "https://sourceforge.net/projects/sblim/"; + license = licenses.cpl10; maintainers = with maintainers; [ deepfire ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/sb/sbom-utility/package.nix b/pkgs/by-name/sb/sbom-utility/package.nix index 7e745b811b900..d50bc6100de92 100644 --- a/pkgs/by-name/sb/sbom-utility/package.nix +++ b/pkgs/by-name/sb/sbom-utility/package.nix @@ -1,7 +1,7 @@ { - lib -, buildGoModule -, fetchFromGitHub + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sb/sbs/package.nix b/pkgs/by-name/sb/sbs/package.nix index cddf508ead021..55baf84c37491 100644 --- a/pkgs/by-name/sb/sbs/package.nix +++ b/pkgs/by-name/sb/sbs/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libX11, imlib2, libXinerama, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + imlib2, + libXinerama, + pkg-config, +}: stdenv.mkDerivation rec { pname = "sbs"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ imlib2 libX11 libXinerama ]; + buildInputs = [ + imlib2 + libX11 + libXinerama + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/sb/sbsigntool/package.nix b/pkgs/by-name/sb/sbsigntool/package.nix index 4422dd16b474d..0064476b70364 100644 --- a/pkgs/by-name/sb/sbsigntool/package.nix +++ b/pkgs/by-name/sb/sbsigntool/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv -, fetchgit, autoconf, automake, pkg-config, help2man -, openssl, libuuid, gnu-efi, libbfd +{ + lib, + stdenv, + fetchgit, + autoconf, + automake, + pkg-config, + help2man, + openssl, + libuuid, + gnu-efi, + libbfd, }: stdenv.mkDerivation rec { @@ -17,8 +26,18 @@ stdenv.mkDerivation rec { prePatch = "patchShebangs ."; - nativeBuildInputs = [ autoconf automake pkg-config help2man ]; - buildInputs = [ openssl libuuid libbfd gnu-efi ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + help2man + ]; + buildInputs = [ + openssl + libuuid + libbfd + gnu-efi + ]; configurePhase = '' substituteInPlace configure.ac --replace "@@NIX_GNUEFI@@" "${gnu-efi}" @@ -39,9 +58,15 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tools for maintaining UEFI signature databases"; - homepage = "http://jk.ozlabs.org/docs/sbkeysync-maintaing-uefi-key-databases"; - maintainers = with maintainers; [ hmenke raitobezarius ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; # Broken on i686 - license = licenses.gpl3; + homepage = "http://jk.ozlabs.org/docs/sbkeysync-maintaing-uefi-key-databases"; + maintainers = with maintainers; [ + hmenke + raitobezarius + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; # Broken on i686 + license = licenses.gpl3; }; } diff --git a/pkgs/by-name/sb/sbt-extras/package.nix b/pkgs/by-name/sb/sbt-extras/package.nix index 385cfc5c087ae..b9b38b50fbeea 100644 --- a/pkgs/by-name/sb/sbt-extras/package.nix +++ b/pkgs/by-name/sb/sbt-extras/package.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk, writeScript -, common-updater-scripts, cacert, git, nixfmt-classic, nix, jq, coreutils -, gnused }: +{ + lib, + stdenv, + fetchFromGitHub, + which, + curl, + makeWrapper, + jdk, + writeScript, + common-updater-scripts, + cacert, + git, + nixfmt-classic, + nix, + jq, + coreutils, + gnused, +}: stdenv.mkDerivation rec { pname = "sbt-extras"; @@ -27,7 +42,12 @@ stdenv.mkDerivation rec { install bin/sbt $out/bin - wrapProgram $out/bin/sbt --prefix PATH : ${lib.makeBinPath [ which curl ]} + wrapProgram $out/bin/sbt --prefix PATH : ${ + lib.makeBinPath [ + which + curl + ] + } runHook postInstall ''; @@ -68,11 +88,13 @@ stdenv.mkDerivation rec { ''; meta = { - description = - "A more featureful runner for sbt, the simple/scala/standard build tool"; + description = "A more featureful runner for sbt, the simple/scala/standard build tool"; homepage = "https://github.com/paulp/sbt-extras"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ nequissimus puffnfresh ]; + maintainers = with lib.maintainers; [ + nequissimus + puffnfresh + ]; mainProgram = "sbt"; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/sc/sc68/package.nix b/pkgs/by-name/sc/sc68/package.nix index a779576d05d9c..7a5f7e781ed14 100644 --- a/pkgs/by-name/sc/sc68/package.nix +++ b/pkgs/by-name/sc/sc68/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchsvn -, pkg-config -, which -, autoconf -, automake -, libtool -, hexdump -, libao -, zlib -, curl +{ + lib, + stdenv, + fetchsvn, + pkg-config, + which, + autoconf, + automake, + libtool, + hexdump, + libao, + zlib, + curl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sc/sca2d/package.nix b/pkgs/by-name/sc/sca2d/package.nix index 314a840ba262a..f2c04ab9f7526 100644 --- a/pkgs/by-name/sc/sca2d/package.nix +++ b/pkgs/by-name/sc/sca2d/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitLab -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitLab, + fetchFromGitHub, }: let python = python3.override { @@ -36,7 +37,10 @@ python.pkgs.buildPythonApplication rec { hash = "sha256-P+7g57AH8H7q0hBE2I9w8A+bN5M6MPbc9gA0b889aoQ="; }; - propagatedBuildInputs = with python.pkgs; [ lark010 colorama ]; + propagatedBuildInputs = with python.pkgs; [ + lark010 + colorama + ]; pythonImportsCheck = [ "sca2d" ]; diff --git a/pkgs/by-name/sc/scala-update/package.nix b/pkgs/by-name/sc/scala-update/package.nix index d15292c4d32ea..451447617cb73 100644 --- a/pkgs/by-name/sc/scala-update/package.nix +++ b/pkgs/by-name/sc/scala-update/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, coursier, buildGraalvmNativeImage }: +{ + lib, + stdenv, + coursier, + buildGraalvmNativeImage, +}: let baseName = "scala-update"; @@ -15,7 +20,8 @@ let outputHashAlgo = "sha256"; outputHash = "kNnFzzHn+rFq4taqRYjBYaDax0MHW+vIoSFVN3wxA8M="; }; -in buildGraalvmNativeImage { +in +buildGraalvmNativeImage { pname = baseName; inherit version; @@ -23,8 +29,11 @@ in buildGraalvmNativeImage { src = "${deps}/share/java/${baseName}_2.13-${version}.jar"; - extraNativeImageBuildArgs = - [ "--no-fallback" "--enable-url-protocols=https" "update.Main" ]; + extraNativeImageBuildArgs = [ + "--no-fallback" + "--enable-url-protocols=https" + "update.Main" + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/sc/scalafmt/package.nix b/pkgs/by-name/sc/scalafmt/package.nix index 588274bcab895..108b93e5cb62d 100644 --- a/pkgs/by-name/sc/scalafmt/package.nix +++ b/pkgs/by-name/sc/scalafmt/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, jre, coursier, makeWrapper, setJavaClassPath }: +{ + lib, + stdenv, + jre, + coursier, + makeWrapper, + setJavaClassPath, +}: let baseName = "scalafmt"; @@ -19,7 +26,10 @@ stdenv.mkDerivation { pname = baseName; inherit version; - nativeBuildInputs = [ makeWrapper setJavaClassPath ]; + nativeBuildInputs = [ + makeWrapper + setJavaClassPath + ]; buildInputs = [ deps ]; dontUnpack = true; diff --git a/pkgs/by-name/sc/scalapack/package.nix b/pkgs/by-name/sc/scalapack/package.nix index 3efd66dff395d..69caf221c5a6f 100644 --- a/pkgs/by-name/sc/scalapack/package.nix +++ b/pkgs/by-name/sc/scalapack/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake -, mpiCheckPhaseHook, mpi, blas, lapack -} : +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + mpiCheckPhaseHook, + mpi, + blas, + lapack, +}: assert blas.isILP64 == lapack.isILP64; @@ -20,11 +28,13 @@ stdenv.mkDerivation rec { __structuredAttrs = true; # upstream patch, remove with next release - patches = [ (fetchpatch { - name = "gcc-10"; - url = "https://github.com/Reference-ScaLAPACK/scalapack/commit/a0f76fc0c1c16646875b454b7d6f8d9d17726b5a.patch"; - sha256 = "0civn149ikghakic30bynqg1bal097hr7i12cm4kq3ssrhq073bp"; - })]; + patches = [ + (fetchpatch { + name = "gcc-10"; + url = "https://github.com/Reference-ScaLAPACK/scalapack/commit/a0f76fc0c1c16646875b454b7d6f8d9d17726b5a.patch"; + sha256 = "0civn149ikghakic30bynqg1bal097hr7i12cm4kq3ssrhq073bp"; + }) + ]; # Required to activate ILP64. # See https://github.com/Reference-ScaLAPACK/scalapack/pull/19 @@ -36,13 +46,21 @@ stdenv.mkDerivation rec { sed -i '/xssep/d;/xsgsep/d;/xssyevr/d' TESTING/CMakeLists.txt ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; nativeCheckInputs = [ mpiCheckPhaseHook ]; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; propagatedBuildInputs = [ mpi ]; - hardeningDisable = lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [ "stackprotector" ]; + hardeningDisable = lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [ + "stackprotector" + ]; # xslu and xsllt tests seem to time out on x86_64-darwin. # this line is left so those who force installation on x86_64-darwin can still build @@ -54,10 +72,12 @@ stdenv.mkDerivation rec { -DLAPACK_LIBRARIES="-llapack" -DBLAS_LIBRARIES="-lblas" -DCMAKE_Fortran_COMPILER=${lib.getDev mpi}/bin/mpif90 - -DCMAKE_C_FLAGS="${lib.concatStringsSep " " [ - "-Wno-implicit-function-declaration" - (lib.optionalString passthru.isILP64 "-DInt=long") - ]}" + -DCMAKE_C_FLAGS="${ + lib.concatStringsSep " " [ + "-Wno-implicit-function-declaration" + (lib.optionalString passthru.isILP64 "-DInt=long") + ] + }" ${lib.optionalString passthru.isILP64 ''-DCMAKE_Fortran_FLAGS="-fdefault-integer-8"''} ) ''; @@ -79,7 +99,11 @@ stdenv.mkDerivation rec { description = "Library of high-performance linear algebra routines for parallel distributed memory machines"; license = licenses.bsd3; platforms = platforms.unix; - maintainers = with maintainers; [ costrouc markuskowa gdinh ]; + maintainers = with maintainers; [ + costrouc + markuskowa + gdinh + ]; # xslu and xsllt tests fail on x86 darwin broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64; }; diff --git a/pkgs/by-name/sc/scaleft/package.nix b/pkgs/by-name/sc/scaleft/package.nix index a184e04886926..3b80b518a6582 100644 --- a/pkgs/by-name/sc/scaleft/package.nix +++ b/pkgs/by-name/sc/scaleft/package.nix @@ -1,20 +1,31 @@ -{ lib, stdenv, fetchurl, rpmextract, patchelf, testers, scaleft }: +{ + lib, + stdenv, + fetchurl, + rpmextract, + patchelf, + testers, + scaleft, +}: stdenv.mkDerivation rec { pname = "scaleft"; version = "1.80.1"; - src = - fetchurl { - url = "https://dist.scaleft.com/repos/rpm/stable/centos/9/x86_64/1.80.1/scaleft-client-tools-${version}-1.x86_64.rpm"; - sha256 = "sha256-QrkqAgkplFF6Tp6FWKb2TJaqeOw8ec4zd9pymDP2IyY="; - }; + src = fetchurl { + url = "https://dist.scaleft.com/repos/rpm/stable/centos/9/x86_64/1.80.1/scaleft-client-tools-${version}-1.x86_64.rpm"; + sha256 = "sha256-QrkqAgkplFF6Tp6FWKb2TJaqeOw8ec4zd9pymDP2IyY="; + }; - nativeBuildInputs = [ patchelf rpmextract ]; + nativeBuildInputs = [ + patchelf + rpmextract + ]; - libPath = - lib.makeLibraryPath - [ stdenv.cc stdenv.cc.cc ]; + libPath = lib.makeLibraryPath [ + stdenv.cc + stdenv.cc.cc + ]; buildCommand = '' mkdir -p $out/bin/ diff --git a/pkgs/by-name/sc/scaleway-cli/package.nix b/pkgs/by-name/sc/scaleway-cli/package.nix index 4b7c7ec5dc995..acf6a9fd26d34 100644 --- a/pkgs/by-name/sc/scaleway-cli/package.nix +++ b/pkgs/by-name/sc/scaleway-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "scaleway-cli"; @@ -56,6 +60,10 @@ buildGoModule rec { description = "Interact with Scaleway API from the command line"; homepage = "https://github.com/scaleway/scaleway-cli"; license = licenses.mit; - maintainers = with maintainers; [ nickhu techknowlogick kashw2 ]; + maintainers = with maintainers; [ + nickhu + techknowlogick + kashw2 + ]; }; } diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix index 6f488735670aa..8300ad167c365 100644 --- a/pkgs/by-name/sc/scalingo/package.nix +++ b/pkgs/by-name/sc/scalingo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "scalingo"; diff --git a/pkgs/by-name/sc/scalpel/package.nix b/pkgs/by-name/sc/scalpel/package.nix index 94246fff86826..e481d9e222432 100644 --- a/pkgs/by-name/sc/scalpel/package.nix +++ b/pkgs/by-name/sc/scalpel/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, stdenv -, autoconf -, automake -, libtool -, tre +{ + lib, + fetchFromGitHub, + stdenv, + autoconf, + automake, + libtool, + tre, }: stdenv.mkDerivation (finalAttrs: { @@ -31,7 +32,8 @@ stdenv.mkDerivation (finalAttrs: { src/scalpel.h ''; - env.CXXFLAGS = "-std=c++14" + lib.optionalString stdenv.cc.isClang " -Wno-error=reserved-user-defined-literal"; + env.CXXFLAGS = + "-std=c++14" + lib.optionalString stdenv.cc.isClang " -Wno-error=reserved-user-defined-literal"; preConfigure = '' ./bootstrap diff --git a/pkgs/by-name/sc/scalr-cli/package.nix b/pkgs/by-name/sc/scalr-cli/package.nix index 364a5f0c981a9..0198f6c72e700 100644 --- a/pkgs/by-name/sc/scalr-cli/package.nix +++ b/pkgs/by-name/sc/scalr-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -17,7 +18,8 @@ buildGoModule rec { vendorHash = "sha256-0p4f+KKD04IFAUQG8F3b+2sx9suYemt3wbgSNNOOIlk="; ldflags = [ - "-s" "-w" + "-s" + "-w" ]; preConfigure = '' diff --git a/pkgs/by-name/sc/scanbd/package.nix b/pkgs/by-name/sc/scanbd/package.nix index 3f2331a0de04d..d04226c6b4a88 100644 --- a/pkgs/by-name/sc/scanbd/package.nix +++ b/pkgs/by-name/sc/scanbd/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config -, dbus, libconfuse, libjpeg, sane-backends, systemd }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + dbus, + libconfuse, + libjpeg, + sane-backends, + systemd, +}: stdenv.mkDerivation rec { pname = "scanbd"; @@ -11,19 +20,27 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus libconfuse libjpeg sane-backends systemd ]; - - configureFlags = [ - "--disable-Werror" - "--enable-udev" - "--with-scanbdconfdir=/etc/scanbd" - "--with-systemdsystemunitdir=$out/lib/systemd/system" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # AC_FUNC_MALLOC is broken on cross builds. - "ac_cv_func_malloc_0_nonnull=yes" - "ac_cv_func_realloc_0_nonnull=yes" + buildInputs = [ + dbus + libconfuse + libjpeg + sane-backends + systemd ]; + configureFlags = + [ + "--disable-Werror" + "--enable-udev" + "--with-scanbdconfdir=/etc/scanbd" + "--with-systemdsystemunitdir=$out/lib/systemd/system" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # AC_FUNC_MALLOC is broken on cross builds. + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; + enableParallelBuilding = true; installFlags = [ diff --git a/pkgs/by-name/sc/scanmem/package.nix b/pkgs/by-name/sc/scanmem/package.nix index 15d8f1c02f1ec..42f665e2093a0 100644 --- a/pkgs/by-name/sc/scanmem/package.nix +++ b/pkgs/by-name/sc/scanmem/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gobject-introspection -, intltool -, wrapGAppsHook3 -, procps -, python3 -, readline +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gobject-introspection, + intltool, + wrapGAppsHook3, + procps, + python3, + readline, }: stdenv.mkDerivation rec { @@ -15,15 +16,23 @@ stdenv.mkDerivation rec { version = "0.17"; src = fetchFromGitHub { - owner = "scanmem"; - repo = "scanmem"; - rev = "v${version}"; + owner = "scanmem"; + repo = "scanmem"; + rev = "v${version}"; sha256 = "17p8sh0rj8yqz36ria5bp48c8523zzw3y9g8sbm2jwq7sc27i7s9"; }; - nativeBuildInputs = [ autoreconfHook gobject-introspection intltool wrapGAppsHook3 ]; - buildInputs = [ readline python3 ]; - configureFlags = ["--enable-gui"]; + nativeBuildInputs = [ + autoreconfHook + gobject-introspection + intltool + wrapGAppsHook3 + ]; + buildInputs = [ + readline + python3 + ]; + configureFlags = [ "--enable-gui" ]; # we don't need to wrap the main executable, just the GUI dontWrapGApps = true; diff --git a/pkgs/by-name/sc/scaphandre/package.nix b/pkgs/by-name/sc/scaphandre/package.nix index 4d7d0c5060753..31146c6697223 100644 --- a/pkgs/by-name/sc/scaphandre/package.nix +++ b/pkgs/by-name/sc/scaphandre/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, nix-update-script -, runCommand -, dieHook -, nixosTests -, testers -, scaphandre +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + nix-update-script, + runCommand, + dieHook, + nixosTests, + testers, + scaphandre, }: rustPlatform.buildRustPackage rec { @@ -42,15 +43,19 @@ rustPlatform.buildRustPackage rec { passthru = { updateScript = nix-update-script { }; tests = { - stdout = self: runCommand "${pname}-test" { - buildInputs = [ - self - dieHook - ]; - } '' - ${self}/bin/scaphandre stdout -t 4 > $out || die "Scaphandre failed to measure consumption" - [ -s $out ] - ''; + stdout = + self: + runCommand "${pname}-test" + { + buildInputs = [ + self + dieHook + ]; + } + '' + ${self}/bin/scaphandre stdout -t 4 > $out || die "Scaphandre failed to measure consumption" + [ -s $out ] + ''; vm = nixosTests.scaphandre; version = testers.testVersion { inherit version; diff --git a/pkgs/by-name/sc/sccache/package.nix b/pkgs/by-name/sc/sccache/package.nix index a539e4d380724..cabc240fdd2b6 100644 --- a/pkgs/by-name/sc/sccache/package.nix +++ b/pkgs/by-name/sc/sccache/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -23,12 +24,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; # Tests fail because of client server setup which is not possible inside the # pure environment, see https://github.com/mozilla/sccache/issues/460 @@ -39,7 +42,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "sccache"; homepage = "https://github.com/mozilla/sccache"; changelog = "https://github.com/mozilla/sccache/releases/tag/v${version}"; - maintainers = with maintainers; [ doronbehar figsoda ]; + maintainers = with maintainers; [ + doronbehar + figsoda + ]; license = licenses.asl20; }; } diff --git a/pkgs/by-name/sc/scd2html/package.nix b/pkgs/by-name/sc/scd2html/package.nix index 8ca7f8824a80d..d562af3fe8fcc 100644 --- a/pkgs/by-name/sc/scd2html/package.nix +++ b/pkgs/by-name/sc/scd2html/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromSourcehut -, scdoc +{ + lib, + stdenv, + fetchFromSourcehut, + scdoc, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sc/scdoc/package.nix b/pkgs/by-name/sc/scdoc/package.nix index 1d1f63963f7e9..c9a7305b3bcd9 100644 --- a/pkgs/by-name/sc/scdoc/package.nix +++ b/pkgs/by-name/sc/scdoc/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromSourcehut -, buildPackages +{ + lib, + stdenv, + fetchFromSourcehut, + buildPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -15,18 +16,24 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-MbLDhLn/JY6OcdOz9/mIPAQRp5TZ6IKuQ/FQ/R3wjGc="; }; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; postPatch = '' substituteInPlace Makefile \ --replace "LDFLAGS+=-static" "LDFLAGS+=" ''; - makeFlags = [ - "PREFIX=${placeholder "out"}" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "HOST_SCDOC=${lib.getExe buildPackages.scdoc}" - ]; + makeFlags = + [ + "PREFIX=${placeholder "out"}" + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "HOST_SCDOC=${lib.getExe buildPackages.scdoc}" + ]; doCheck = true; @@ -36,7 +43,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${finalAttrs.src.rev}"; license = lib.licenses.mit; mainProgram = "scdoc"; - maintainers = with lib.maintainers; [ primeos AndersonTorres ]; + maintainers = with lib.maintainers; [ + primeos + AndersonTorres + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/sc/scenebuilder/package.nix b/pkgs/by-name/sc/scenebuilder/package.nix index 7f650a7085018..3dd1354f8c9fb 100644 --- a/pkgs/by-name/sc/scenebuilder/package.nix +++ b/pkgs/by-name/sc/scenebuilder/package.nix @@ -1,12 +1,13 @@ -{ lib -, jdk21 -, maven -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, glib -, makeWrapper -, wrapGAppsHook3 +{ + lib, + jdk21, + maven, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + glib, + makeWrapper, + wrapGAppsHook3, }: let @@ -80,7 +81,11 @@ maven.buildMavenPackage rec { icon = "scenebuilder"; comment = "A visual, drag'n'drop, layout tool for designing JavaFX application user interfaces."; desktopName = "Scene Builder"; - mimeTypes = [ "application/java" "application/java-vm" "application/java-archive" ]; + mimeTypes = [ + "application/java" + "application/java-vm" + "application/java-archive" + ]; categories = [ "Development" ]; }) ]; @@ -99,4 +104,3 @@ maven.buildMavenPackage rec { ]; }; } - diff --git a/pkgs/by-name/sc/scenic-view/package.nix b/pkgs/by-name/sc/scenic-view/package.nix index e0c79ed08f778..1f0b215fcf93b 100644 --- a/pkgs/by-name/sc/scenic-view/package.nix +++ b/pkgs/by-name/sc/scenic-view/package.nix @@ -1,9 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, openjdk, openjfx, gradle_7, makeDesktopItem, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + openjdk, + openjfx, + gradle_7, + makeDesktopItem, + makeWrapper, +}: let - jdk = openjdk.override (lib.optionalAttrs stdenv.hostPlatform.isLinux { - enableJavaFX = true; - openjfx_jdk = openjfx.override { withWebKit = true; }; - }); + jdk = openjdk.override ( + lib.optionalAttrs stdenv.hostPlatform.isLinux { + enableJavaFX = true; + openjfx_jdk = openjfx.override { withWebKit = true; }; + } + ); pname = "scenic-view"; version = "11.0.2"; @@ -22,13 +33,21 @@ let desktopName = pname; exec = pname; comment = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications."; - mimeTypes = [ "application/java" "application/java-vm" "application/java-archive" ]; + mimeTypes = [ + "application/java" + "application/java-vm" + "application/java-archive" + ]; categories = [ "Development" ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit pname version src; - nativeBuildInputs = [ gradle makeWrapper ]; + nativeBuildInputs = [ + gradle + makeWrapper + ]; mitmCache = gradle.fetchDeps { inherit pname; @@ -63,7 +82,7 @@ in stdenv.mkDerivation rec { homepage = "https://github.com/JonathanGiles/scenic-view/"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # deps + binaryBytecode # deps ]; license = licenses.gpl3Plus; maintainers = with maintainers; [ wirew0rm ]; diff --git a/pkgs/by-name/sc/schedtool/package.nix b/pkgs/by-name/sc/schedtool/package.nix index 0ee35df74449e..fbbbee1c09686 100644 --- a/pkgs/by-name/sc/schedtool/package.nix +++ b/pkgs/by-name/sc/schedtool/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "schedtool"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1wdw6fnf9a01xfjhdah3mn8bp1bvahf2lfq74i6hk5b2cagkppyp"; }; - makeFlags = [ "DESTDIR=$(out)" "DESTPREFIX=" ]; + makeFlags = [ + "DESTDIR=$(out)" + "DESTPREFIX=" + ]; meta = with lib; { description = "Query or alter a process' scheduling policy under Linux"; diff --git a/pkgs/by-name/sc/schema2ldif/package.nix b/pkgs/by-name/sc/schema2ldif/package.nix index fc4a2153d662d..3fe969008dca1 100644 --- a/pkgs/by-name/sc/schema2ldif/package.nix +++ b/pkgs/by-name/sc/schema2ldif/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchurl, makeWrapper, perlPackages }: +{ + lib, + stdenvNoCC, + fetchurl, + makeWrapper, + perlPackages, +}: stdenvNoCC.mkDerivation rec { pname = "schema2ldif"; diff --git a/pkgs/by-name/sc/scheme-bytestructures/package.nix b/pkgs/by-name/sc/scheme-bytestructures/package.nix index 9ff23f2327eb8..3ba94982174f9 100644 --- a/pkgs/by-name/sc/scheme-bytestructures/package.nix +++ b/pkgs/by-name/sc/scheme-bytestructures/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, guile -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + guile, + autoreconfHook, + pkg-config, }: stdenv.mkDerivation rec { @@ -19,7 +20,9 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ - autoreconfHook guile pkg-config + autoreconfHook + guile + pkg-config ]; buildInputs = [ guile diff --git a/pkgs/by-name/sc/scheme-manpages/package.nix b/pkgs/by-name/sc/scheme-manpages/package.nix index 96d8d9ac1194b..c4e9dfffe78c8 100644 --- a/pkgs/by-name/sc/scheme-manpages/package.nix +++ b/pkgs/by-name/sc/scheme-manpages/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, unstableGitUpdater }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + unstableGitUpdater, +}: stdenvNoCC.mkDerivation rec { pname = "scheme-manpages"; diff --git a/pkgs/by-name/sc/scheme48/package.nix b/pkgs/by-name/sc/scheme48/package.nix index 82bd58469bd32..72cdfe8fc9082 100644 --- a/pkgs/by-name/sc/scheme48/package.nix +++ b/pkgs/by-name/sc/scheme48/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "scheme48"; diff --git a/pkgs/by-name/sc/schemes/package.nix b/pkgs/by-name/sc/schemes/package.nix index acf3cd8cf1027..7b1b887a8c3aa 100644 --- a/pkgs/by-name/sc/schemes/package.nix +++ b/pkgs/by-name/sc/schemes/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitLab -, appstream-glib -, desktop-file-utils -, glib -, gtk4 -, gtksourceview5 -, libadwaita -, libpanel -, meson -, ninja -, pkg-config -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitLab, + appstream-glib, + desktop-file-utils, + glib, + gtk4, + gtksourceview5, + libadwaita, + libpanel, + meson, + ninja, + pkg-config, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sc/scid-vs-pc/package.nix b/pkgs/by-name/sc/scid-vs-pc/package.nix index d46f077a25b7c..e1cf8503ae681 100644 --- a/pkgs/by-name/sc/scid-vs-pc/package.nix +++ b/pkgs/by-name/sc/scid-vs-pc/package.nix @@ -1,4 +1,14 @@ -{ lib, fetchurl, tcl, tk, libX11, zlib, makeWrapper, which, makeDesktopItem }: +{ + lib, + fetchurl, + tcl, + tk, + libX11, + zlib, + makeWrapper, + which, + makeDesktopItem, +}: tcl.mkTclDerivation rec { pname = "scid-vs-pc"; @@ -15,8 +25,15 @@ tcl.mkTclDerivation rec { --replace "which fc-cache" "false" ''; - nativeBuildInputs = [ makeWrapper which ]; - buildInputs = [ tk libX11 zlib ]; + nativeBuildInputs = [ + makeWrapper + which + ]; + buildInputs = [ + tk + libX11 + zlib + ]; configureFlags = [ "BINDIR=${placeholder "out"}/bin" @@ -37,7 +54,10 @@ tcl.mkTclDerivation rec { comment = meta.description; icon = "scid"; exec = "scid"; - categories = [ "Game" "BoardGame" ]; + categories = [ + "Game" + "BoardGame" + ]; }; meta = with lib; { diff --git a/pkgs/by-name/sc/scid/package.nix b/pkgs/by-name/sc/scid/package.nix index c4dcef454b8be..ed1d0049b5d3f 100644 --- a/pkgs/by-name/sc/scid/package.nix +++ b/pkgs/by-name/sc/scid/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, tcl -, tk -, libX11 -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + tcl, + tk, + libX11, + zlib, }: tcl.mkTclDerivation rec { diff --git a/pkgs/by-name/sc/scientifica/package.nix b/pkgs/by-name/sc/scientifica/package.nix index 1b57c9f286d3d..fcd996cf36816 100644 --- a/pkgs/by-name/sc/scientifica/package.nix +++ b/pkgs/by-name/sc/scientifica/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "scientifica"; diff --git a/pkgs/by-name/sc/scilab-bin/package.nix b/pkgs/by-name/sc/scilab-bin/package.nix index e3ca7bef52a4b..243f17def1f10 100644 --- a/pkgs/by-name/sc/scilab-bin/package.nix +++ b/pkgs/by-name/sc/scilab-bin/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, undmg -, autoPatchelfHook -, alsa-lib -, ncurses5 -, xorg +{ + lib, + stdenv, + fetchurl, + makeWrapper, + undmg, + autoPatchelfHook, + alsa-lib, + ncurses5, + xorg, }: let @@ -27,19 +28,29 @@ let sha256 = "sha256-PuGnz2YdAhriavwnuf5Qyy0cnCeRHlWC6dQzfr7bLHk="; }; }; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); meta = { homepage = "http://www.scilab.org/"; description = "Scientific software package for numerical computations (Matlab lookalike)"; - platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + "x86_64-linux" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.gpl2Only; mainProgram = "scilab"; }; darwin = stdenv.mkDerivation rec { - inherit pname version src meta; + inherit + pname + version + src + meta + ; nativeBuildInputs = [ makeWrapper @@ -60,27 +71,34 @@ let }; linux = stdenv.mkDerivation rec { - inherit pname version src meta; + inherit + pname + version + src + meta + ; nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ - alsa-lib - ncurses5 - stdenv.cc.cc - ] ++ (with xorg; [ - libX11 - libXcursor - libXext - libXft - libXi - libXrandr - libXrender - libXtst - libXxf86vm - ]); + buildInputs = + [ + alsa-lib + ncurses5 + stdenv.cc.cc + ] + ++ (with xorg; [ + libX11 + libXcursor + libXext + libXft + libXi + libXrandr + libXrender + libXtst + libXxf86vm + ]); installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sc/scimark/package.nix b/pkgs/by-name/sc/scimark/package.nix index c9a88e6d2b59e..ac6e7ab458d85 100644 --- a/pkgs/by-name/sc/scimark/package.nix +++ b/pkgs/by-name/sc/scimark/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sc/scion-apps/package.nix b/pkgs/by-name/sc/scion-apps/package.nix index f4dfd933d24f2..a382474d9ce4d 100644 --- a/pkgs/by-name/sc/scion-apps/package.nix +++ b/pkgs/by-name/sc/scion-apps/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, openpam +{ + lib, + buildGoModule, + fetchFromGitHub, + openpam, }: buildGoModule { @@ -42,12 +43,18 @@ buildGoModule { openpam ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Public repository for SCION applications"; homepage = "https://github.com/netsec-ethz/scion-apps"; license = licenses.asl20; - maintainers = with maintainers; [ matthewcroughan sarcasticadmin ]; + maintainers = with maintainers; [ + matthewcroughan + sarcasticadmin + ]; }; } diff --git a/pkgs/by-name/sc/scion-bootstrapper/package.nix b/pkgs/by-name/sc/scion-bootstrapper/package.nix index 8b6e6f115c198..20e4817ac574e 100644 --- a/pkgs/by-name/sc/scion-bootstrapper/package.nix +++ b/pkgs/by-name/sc/scion-bootstrapper/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mv $out/bin/bootstrapper $out/bin/scion-bootstrapper @@ -28,7 +32,10 @@ buildGoModule rec { description = "bootstrapper for SCION network configuration"; homepage = "https://github.com/netsec-ethz/bootstrapper"; license = licenses.asl20; - maintainers = with maintainers; [ matthewcroughan sarcasticadmin ]; + maintainers = with maintainers; [ + matthewcroughan + sarcasticadmin + ]; mainProgram = "scion-bootstrapper"; }; } diff --git a/pkgs/by-name/sc/scip-go/package.nix b/pkgs/by-name/sc/scip-go/package.nix index 5b7511062663a..7ffaa1ad8fddf 100644 --- a/pkgs/by-name/sc/scip-go/package.nix +++ b/pkgs/by-name/sc/scip-go/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-E/1ubWGIx+sGC+owqw4nOkrwUFJfgTeqDNpH8HCwNhA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doCheck = false; diff --git a/pkgs/by-name/sc/scip/package.nix b/pkgs/by-name/sc/scip/package.nix index 22f26382026cb..1ddfc127de6d1 100644 --- a/pkgs/by-name/sc/scip/package.nix +++ b/pkgs/by-name/sc/scip/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, scip +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + scip, }: buildGoModule rec { diff --git a/pkgs/by-name/sc/scitokens-cpp/package.nix b/pkgs/by-name/sc/scitokens-cpp/package.nix index fee6a28bb4e54..c46f9758890bd 100644 --- a/pkgs/by-name/sc/scitokens-cpp/package.nix +++ b/pkgs/by-name/sc/scitokens-cpp/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libuuid, curl, sqlite, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libuuid, + curl, + sqlite, + openssl, +}: stdenv.mkDerivation rec { pname = "scitokens-cpp"; @@ -12,7 +22,10 @@ stdenv.mkDerivation rec { hash = "sha256-87mV1hyoUI/pWzRXaI051H3+FN5TXcachhgAPTtQYHg="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libuuid openssl @@ -20,11 +33,9 @@ stdenv.mkDerivation rec { sqlite ]; - meta = with lib; { homepage = "https://github.com/scitokens/scitokens-cpp/"; - description = - "A C++ implementation of the SciTokens library with a C library interface"; + description = "A C++ implementation of the SciTokens library with a C library interface"; platforms = platforms.unix; license = licenses.asl20; maintainers = with maintainers; [ evey ]; diff --git a/pkgs/by-name/sc/scli/package.nix b/pkgs/by-name/sc/scli/package.nix index a16770df8611d..a57c52f421d30 100644 --- a/pkgs/by-name/sc/scli/package.nix +++ b/pkgs/by-name/sc/scli/package.nix @@ -1,11 +1,12 @@ -{ lib -, python3 -, fetchFromGitHub -, dbus -, signal-cli -, xclip -, testers -, scli +{ + lib, + python3, + fetchFromGitHub, + dbus, + signal-cli, + xclip, + testers, + scli, }: python3.pkgs.buildPythonApplication rec { @@ -39,7 +40,14 @@ python3.pkgs.buildPythonApplication rec { ''; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ dbus signal-cli xclip ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + dbus + signal-cli + xclip + ]) ]; passthru.tests = { diff --git a/pkgs/by-name/sc/scmccid/package.nix b/pkgs/by-name/sc/scmccid/package.nix index 73fb6a6dcf6e4..684c8116fc72b 100644 --- a/pkgs/by-name/sc/scmccid/package.nix +++ b/pkgs/by-name/sc/scmccid/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, patchelf, libusb-compat-0_1}: +{ + lib, + stdenv, + fetchurl, + patchelf, + libusb-compat-0_1, +}: assert stdenv ? cc && stdenv.cc.libc != null; @@ -6,15 +12,19 @@ stdenv.mkDerivation rec { pname = "scmccid"; version = "5.0.11"; - src = if stdenv.hostPlatform.system == "i686-linux" then (fetchurl { - url = "http://www.scmmicro.com/support/download/scmccid_${version}_linux.tar.gz"; - sha256 = "1r5wkarhzl09ncgj55baizf573czw0nplh1pgddzx9xck66kh5bm"; - }) - else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl { + src = + if stdenv.hostPlatform.system == "i686-linux" then + (fetchurl { + url = "http://www.scmmicro.com/support/download/scmccid_${version}_linux.tar.gz"; + sha256 = "1r5wkarhzl09ncgj55baizf573czw0nplh1pgddzx9xck66kh5bm"; + }) + else if stdenv.hostPlatform.system == "x86_64-linux" then + (fetchurl { url = "http://www.scmmicro.com/support/download/scmccid_${version}_linux_x64.tar.gz"; sha256 = "0k9lzlk01sl4ycfqgrqqy3bildz0mcr1r0kkicgjz96l4s0jgz0i"; - }) - else throw "Architecture not supported"; + }) + else + throw "Architecture not supported"; nativeBuildInputs = [ patchelf ]; diff --git a/pkgs/by-name/sc/scmpuff/package.nix b/pkgs/by-name/sc/scmpuff/package.nix index a94099e30478b..dabc7226af316 100644 --- a/pkgs/by-name/sc/scmpuff/package.nix +++ b/pkgs/by-name/sc/scmpuff/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, scmpuff }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + scmpuff, +}: buildGoModule rec { pname = "scmpuff"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-7WHVSEz3y1nxWfbxkzkfHhINLC8+snmWknHyUUpNy7c="; - ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.VERSION=${version}" + ]; passthru.tests.version = testers.testVersion { package = scmpuff; diff --git a/pkgs/by-name/sc/scons/package.nix b/pkgs/by-name/sc/scons/package.nix index 06d97f81b1854..14d5e993ba354 100644 --- a/pkgs/by-name/sc/scons/package.nix +++ b/pkgs/by-name/sc/scons/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, fetchpatch, python3Packages }: +{ + lib, + fetchFromGitHub, + fetchpatch, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "scons"; version = "4.7.0"; diff --git a/pkgs/by-name/sc/scope-lite/package.nix b/pkgs/by-name/sc/scope-lite/package.nix index 37cf8d12fd00e..130c5704ecabf 100644 --- a/pkgs/by-name/sc/scope-lite/package.nix +++ b/pkgs/by-name/sc/scope-lite/package.nix @@ -1,6 +1,13 @@ -{ stdenv, cmake, fetchFromGitHub, lib }: let +{ + stdenv, + cmake, + fetchFromGitHub, + lib, +}: +let version = "0.2.0"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "scope-lite-${version}"; src = fetchFromGitHub { diff --git a/pkgs/by-name/sc/scorched3d/package.nix b/pkgs/by-name/sc/scorched3d/package.nix index fa8b7bcc8dd44..da9b404812ebb 100644 --- a/pkgs/by-name/sc/scorched3d/package.nix +++ b/pkgs/by-name/sc/scorched3d/package.nix @@ -1,5 +1,24 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, glew, pkg-config, openalSoft, freealut, wxGTK32, libogg -, freetype, libvorbis, fftwSinglePrec, SDL, SDL_net, expat, libjpeg, libpng }: +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + glew, + pkg-config, + openalSoft, + freealut, + wxGTK32, + libogg, + freetype, + libvorbis, + fftwSinglePrec, + SDL, + SDL_net, + expat, + libjpeg, + libpng, +}: stdenv.mkDerivation rec { version = "44"; @@ -9,10 +28,23 @@ stdenv.mkDerivation rec { sha256 = "1fldi9pn7cz6hc9h70pacgb7sbykzcac44yp3pkhn0qh4axj10qw"; }; - buildInputs = - [ libGLU libGL glew openalSoft freealut wxGTK32 libogg freetype libvorbis - SDL SDL_net expat libjpeg libpng fftwSinglePrec - ]; + buildInputs = [ + libGLU + libGL + glew + openalSoft + freealut + wxGTK32 + libogg + freetype + libvorbis + SDL + SDL_net + expat + libjpeg + libpng + fftwSinglePrec + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/sc/scorecard/package.nix b/pkgs/by-name/sc/scorecard/package.nix index de2f9b9b07dc7..7ed3d944d27ee 100644 --- a/pkgs/by-name/sc/scorecard/package.nix +++ b/pkgs/by-name/sc/scorecard/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, scorecard +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + scorecard, }: buildGoModule rec { @@ -89,6 +90,9 @@ buildGoModule rec { description = "Security health metrics for Open Source"; mainProgram = "scorecard"; license = licenses.asl20; - maintainers = with maintainers; [ jk developer-guy ]; + maintainers = with maintainers; [ + jk + developer-guy + ]; }; } diff --git a/pkgs/by-name/sc/scout/package.nix b/pkgs/by-name/sc/scout/package.nix index 4c1a80ff109b2..e0935322b2745 100644 --- a/pkgs/by-name/sc/scout/package.nix +++ b/pkgs/by-name/sc/scout/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sc/scowl/package.nix b/pkgs/by-name/sc/scowl/package.nix index 53988a728de31..cc129a42c8881 100644 --- a/pkgs/by-name/sc/scowl/package.nix +++ b/pkgs/by-name/sc/scowl/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, unzip, zip, libiconv, perl, aspell, dos2unix -, singleWordlist ? null +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + zip, + libiconv, + perl, + aspell, + dos2unix, + singleWordlist ? null, }: stdenv.mkDerivation rec { @@ -18,7 +27,13 @@ stdenv.mkDerivation rec { --replace g++ c++ ''; - nativeBuildInputs = [ unzip zip perl aspell dos2unix ]; + nativeBuildInputs = [ + unzip + zip + perl + aspell + dos2unix + ]; buildInputs = lib.optional (!stdenv.hostPlatform.isLinux) libiconv; env.NIX_CFLAGS_COMPILE = "-Wno-narrowing"; @@ -38,73 +53,77 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; - installPhase = if singleWordlist == null then '' - eval "$preInstall" - - mkdir -p "$out/share/scowl" - mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell" - mkdir -p "$out/share/dict" - - cp -r scowl/speller/aspell "$out/lib/aspell" - cp scowl/speller/*.{aff,dic} "$out/share/hunspell" - ln -s "$out/share/hunspell" "$out/share/myspell/dicts" - - cp scowl/final/* "$out/share/scowl" - - ( - cd scowl - for region in american british british_s british_z canadian australian; do - case $region in - american) - regcode=en-us; - ;; - british) - regcode=en-gb-ise; - ;; - british_s) - regcode=en-gb-ise; - ;; - british_z) - regcode=en-gb-ize; - ;; - canadian) - regcode=en-ca; - ;; - australian) - regcode=en-au; - ;; - esac - regcode_var="$regcode" - if test "$region" = british; then - regcode_var="en-gb" - fi - - echo $region $regcode $regcode_sz - for s in 10 20 30 35 40 50 55 60 70 80 90 95; do - ./mk-list $regcode $s > "$out/share/dict/w$region.$s" - ./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s" - ./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s" - done - ./mk-list $regcode 60 > "$out/share/dict/w$region.txt" - ./mk-list --variants=1 $regcode_var 60 > "$out/share/dict/w$region.variants.txt" - ./mk-list --variants=2 $regcode_var 80 > "$out/share/dict/w$region.scrabble.txt" - done - ./mk-list --variants=1 en-gb 60 > "$out/share/dict/words.variants.txt" - ./mk-list --variants=1 en-gb 80 > "$out/share/dict/words.scrabble.txt" - ./mk-list en-gb-ise 60 > "$out/share/dict/words.txt" - ) - - eval "$postInstall" - '' else '' - mkdir -p "$out/share/dict" - cd scowl - ./mk-list ${singleWordlist} > "$out/share/dict/words.txt" - ''; + installPhase = + if singleWordlist == null then + '' + eval "$preInstall" + + mkdir -p "$out/share/scowl" + mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell" + mkdir -p "$out/share/dict" + + cp -r scowl/speller/aspell "$out/lib/aspell" + cp scowl/speller/*.{aff,dic} "$out/share/hunspell" + ln -s "$out/share/hunspell" "$out/share/myspell/dicts" + + cp scowl/final/* "$out/share/scowl" + + ( + cd scowl + for region in american british british_s british_z canadian australian; do + case $region in + american) + regcode=en-us; + ;; + british) + regcode=en-gb-ise; + ;; + british_s) + regcode=en-gb-ise; + ;; + british_z) + regcode=en-gb-ize; + ;; + canadian) + regcode=en-ca; + ;; + australian) + regcode=en-au; + ;; + esac + regcode_var="$regcode" + if test "$region" = british; then + regcode_var="en-gb" + fi + + echo $region $regcode $regcode_sz + for s in 10 20 30 35 40 50 55 60 70 80 90 95; do + ./mk-list $regcode $s > "$out/share/dict/w$region.$s" + ./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s" + ./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s" + done + ./mk-list $regcode 60 > "$out/share/dict/w$region.txt" + ./mk-list --variants=1 $regcode_var 60 > "$out/share/dict/w$region.variants.txt" + ./mk-list --variants=2 $regcode_var 80 > "$out/share/dict/w$region.scrabble.txt" + done + ./mk-list --variants=1 en-gb 60 > "$out/share/dict/words.variants.txt" + ./mk-list --variants=1 en-gb 80 > "$out/share/dict/words.scrabble.txt" + ./mk-list en-gb-ise 60 > "$out/share/dict/words.txt" + ) + + eval "$postInstall" + '' + else + '' + mkdir -p "$out/share/dict" + cd scowl + ./mk-list ${singleWordlist} > "$out/share/dict/words.txt" + ''; meta = { description = "Spell checker oriented word lists"; license = lib.licenses.mit; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "http://wordlist.aspell.net/"; }; diff --git a/pkgs/by-name/sc/scponly/package.nix b/pkgs/by-name/sc/scponly/package.nix index 11cfee7b2d919..ad8cb9d4a65a2 100644 --- a/pkgs/by-name/sc/scponly/package.nix +++ b/pkgs/by-name/sc/scponly/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, openssh, debugLevel ? 0 }: +{ + stdenv, + lib, + fetchFromGitHub, + openssh, + debugLevel ? 0, +}: stdenv.mkDerivation { pname = "scponly"; @@ -24,9 +30,7 @@ stdenv.mkDerivation { ]; postInstall = lib.optionalString (debugLevel > 0) '' - mkdir -p $out/etc/scponly && echo ${ - toString debugLevel - } > $out/etc/scponly/debuglevel + mkdir -p $out/etc/scponly && echo ${toString debugLevel} > $out/etc/scponly/debuglevel ''; passthru.shellPath = "/bin/scponly"; diff --git a/pkgs/by-name/sc/scream/package.nix b/pkgs/by-name/sc/scream/package.nix index cc09b21875353..2c63f34bec4a4 100644 --- a/pkgs/by-name/sc/scream/package.nix +++ b/pkgs/by-name/sc/scream/package.nix @@ -1,8 +1,19 @@ -{ stdenv, lib, config, fetchFromGitHub, cmake, pkg-config -, alsaSupport ? stdenv.hostPlatform.isLinux, alsa-lib -, pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, libpulseaudio -, jackSupport ? false, libjack2, soxr -, pcapSupport ? false, libpcap +{ + stdenv, + lib, + config, + fetchFromGitHub, + cmake, + pkg-config, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, + libpulseaudio, + jackSupport ? false, + libjack2, + soxr, + pcapSupport ? false, + libpcap, }: stdenv.mkDerivation rec { @@ -16,11 +27,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-lP5mdNhZjkEVjgQUEsisPy+KXUqsE6xj6dFWcgD+VGM="; }; - buildInputs = lib.optional pulseSupport libpulseaudio - ++ lib.optionals jackSupport [ libjack2 soxr ] + buildInputs = + lib.optional pulseSupport libpulseaudio + ++ lib.optionals jackSupport [ + libjack2 + soxr + ] ++ lib.optional alsaSupport alsa-lib ++ lib.optional pcapSupport libpcap; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DPULSEAUDIO_ENABLE=${if pulseSupport then "ON" else "OFF"}" diff --git a/pkgs/by-name/sc/screen-message/package.nix b/pkgs/by-name/sc/screen-message/package.nix index c8ad7e050a969..2d5eb30aecae8 100644 --- a/pkgs/by-name/sc/screen-message/package.nix +++ b/pkgs/by-name/sc/screen-message/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gtk3, +}: stdenv.mkDerivation rec { pname = "screen-message"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-fwKle+aXZuiNo5ksrigj7BGLv2fUILN2GluHHZ6co6s="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ gtk3 ]; # screen-message installs its binary in $(prefix)/games per default diff --git a/pkgs/by-name/sc/screenfetch/package.nix b/pkgs/by-name/sc/screenfetch/package.nix index 0be861492826c..12185ee31bd1e 100644 --- a/pkgs/by-name/sc/screenfetch/package.nix +++ b/pkgs/by-name/sc/screenfetch/package.nix @@ -1,31 +1,59 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils, gawk, procps, gnused -, bc, findutils, xdpyinfo, xprop, gnugrep, ncurses, pciutils -, darwin +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + coreutils, + gawk, + procps, + gnused, + bc, + findutils, + xdpyinfo, + xprop, + gnugrep, + ncurses, + pciutils, + darwin, }: let - path = lib.makeBinPath ([ - coreutils gawk gnused findutils - gnugrep ncurses bc pciutils - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - procps - xdpyinfo - xprop - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin; [ - adv_cmds - DarwinTools - system_cmds - "/usr" # some commands like defaults is not available to us - ])); + path = lib.makeBinPath ( + [ + coreutils + gawk + gnused + findutils + gnugrep + ncurses + bc + pciutils + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + procps + xdpyinfo + xprop + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin; + [ + adv_cmds + DarwinTools + system_cmds + "/usr" # some commands like defaults is not available to us + ] + ) + ); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "screenfetch"; version = "3.9.9"; src = fetchFromGitHub { - owner = "KittyKatt"; - repo = "screenFetch"; - rev = "v${version}"; + owner = "KittyKatt"; + repo = "screenFetch"; + rev = "v${version}"; sha256 = "sha256-UNZMCLXhH4wDV0/fGWsB+KAi6aJVuPs6zpWXIQAqnjo="; }; diff --git a/pkgs/by-name/sc/screenkey/package.nix b/pkgs/by-name/sc/screenkey/package.nix index 59e53f3ccdc85..5a7a5698c1611 100644 --- a/pkgs/by-name/sc/screenkey/package.nix +++ b/pkgs/by-name/sc/screenkey/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitLab -, wrapGAppsHook3 -, xorg -, gobject-introspection -, gtk3 -, libappindicator-gtk3 -, slop -, python3 +{ + lib, + fetchFromGitLab, + wrapGAppsHook3, + xorg, + gobject-introspection, + gtk3, + libappindicator-gtk3, + slop, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sc/script-directory/package.nix b/pkgs/by-name/sc/script-directory/package.nix index 1cd0218c30dcd..5d9bbca76acce 100644 --- a/pkgs/by-name/sc/script-directory/package.nix +++ b/pkgs/by-name/sc/script-directory/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, installShellFiles -, patsh +{ + lib, + stdenvNoCC, + fetchFromGitHub, + installShellFiles, + patsh, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/sc/scriptaculous/package.nix b/pkgs/by-name/sc/scriptaculous/package.nix index 50171324b386e..dc2d4f0c811cb 100644 --- a/pkgs/by-name/sc/scriptaculous/package.nix +++ b/pkgs/by-name/sc/scriptaculous/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, ... }: +{ + lib, + stdenv, + fetchurl, + unzip, + ... +}: stdenv.mkDerivation rec { pname = "scriptaculous"; diff --git a/pkgs/by-name/sc/scriptisto/package.nix b/pkgs/by-name/sc/scriptisto/package.nix index 5efcd30c90183..1065712928d9f 100644 --- a/pkgs/by-name/sc/scriptisto/package.nix +++ b/pkgs/by-name/sc/scriptisto/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sc/scriv/package.nix b/pkgs/by-name/sc/scriv/package.nix index 40038fa796dda..f3c7c8da3fdce 100644 --- a/pkgs/by-name/sc/scriv/package.nix +++ b/pkgs/by-name/sc/scriv/package.nix @@ -1,10 +1,11 @@ -{ lib -, python3 -, fetchPypi -, pandoc -, git -, scriv -, testers +{ + lib, + python3, + fetchPypi, + pandoc, + git, + scriv, + testers, }: python3.pkgs.buildPythonApplication rec { @@ -16,16 +17,19 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-MK6f+NFE+ODPOUxOHTeVQvGzgjdnZClVtU7EDcALMrY="; }; - propagatedBuildInputs = with python3.pkgs; [ - attrs - click - click-log - jinja2 - markdown-it-py - requests - ] ++ lib.optionals (python3.pythonOlder "3.11") [ - tomli - ]; + propagatedBuildInputs = + with python3.pkgs; + [ + attrs + click + click-log + jinja2 + markdown-it-py + requests + ] + ++ lib.optionals (python3.pythonOlder "3.11") [ + tomli + ]; nativeCheckInputs = with python3.pkgs; [ pytestCheckHook diff --git a/pkgs/by-name/sc/scrolls/package.nix b/pkgs/by-name/sc/scrolls/package.nix index 7478df20e9930..743da81e53d9e 100644 --- a/pkgs/by-name/sc/scrolls/package.nix +++ b/pkgs/by-name/sc/scrolls/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl, gcc -, libGLU, libX11, libXext, libXcursor, libpulseaudio +{ + lib, + stdenv, + fetchurl, + gcc, + libGLU, + libX11, + libXext, + libXcursor, + libpulseaudio, }: stdenv.mkDerivation { pname = "scrolls"; diff --git a/pkgs/by-name/sc/scrot/package.nix b/pkgs/by-name/sc/scrot/package.nix index ef8a9e29588ef..8a8bebc041e2d 100644 --- a/pkgs/by-name/sc/scrot/package.nix +++ b/pkgs/by-name/sc/scrot/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, imlib2 -, autoreconfHook -, autoconf-archive -, libX11 -, libXext -, libXfixes -, libXcomposite -, libXinerama -, pkg-config -, libbsd +{ + lib, + stdenv, + fetchFromGitHub, + imlib2, + autoreconfHook, + autoconf-archive, + libX11, + libXext, + libXfixes, + libXcomposite, + libXinerama, + pkg-config, + libbsd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sc/scrounge-ntfs/package.nix b/pkgs/by-name/sc/scrounge-ntfs/package.nix index 51c0b1860750d..25523e6d971da 100644 --- a/pkgs/by-name/sc/scrounge-ntfs/package.nix +++ b/pkgs/by-name/sc/scrounge-ntfs/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sc/scrub/package.nix b/pkgs/by-name/sc/scrub/package.nix index 2fc2b43ea29c2..b65e9bfb65b43 100644 --- a/pkgs/by-name/sc/scrub/package.nix +++ b/pkgs/by-name/sc/scrub/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "scrub"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0ndcri2ddzqlsxvy1b607ajyd4dxpiagzx331yyi7hf3ijph129f"; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ libtool ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/by-name/sc/scryer-prolog/package.nix b/pkgs/by-name/sc/scryer-prolog/package.nix index 58a853e66d886..28ae3a4bdcf30 100644 --- a/pkgs/by-name/sc/scryer-prolog/package.nix +++ b/pkgs/by-name/sc/scryer-prolog/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,10 +23,11 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; CARGO_FEATURE_USE_SYSTEM_LIBS = true; @@ -34,6 +36,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "scryer-prolog"; homepage = "https://github.com/mthom/scryer-prolog"; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ malbarbo wkral ]; + maintainers = with maintainers; [ + malbarbo + wkral + ]; }; } diff --git a/pkgs/by-name/sc/scrypt/package.nix b/pkgs/by-name/sc/scrypt/package.nix index d199ee37725ea..b4d46c2be725e 100644 --- a/pkgs/by-name/sc/scrypt/package.nix +++ b/pkgs/by-name/sc/scrypt/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, openssl -, getconf -, util-linux +{ + lib, + stdenv, + fetchurl, + openssl, + getconf, + util-linux, }: stdenv.mkDerivation rec { @@ -15,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-1jLBGTQgrG+uv5SC5l4z06VmTszWQ7CaUJ0h0cHym+I="; }; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; configureFlags = [ "--enable-libscrypt-kdf" ]; @@ -38,9 +43,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Encryption utility"; mainProgram = "scrypt"; - homepage = "https://www.tarsnap.com/scrypt.html"; - license = licenses.bsd2; - platforms = platforms.all; + homepage = "https://www.tarsnap.com/scrypt.html"; + license = licenses.bsd2; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/by-name/sc/scsh/package.nix b/pkgs/by-name/sc/scsh/package.nix index 35fec3d2a2b50..d6d9d1a2ca22f 100644 --- a/pkgs/by-name/sc/scsh/package.nix +++ b/pkgs/by-name/sc/scsh/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, scheme48, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + scheme48, + unstableGitUpdater, +}: stdenv.mkDerivation { pname = "scsh"; diff --git a/pkgs/by-name/sc/sct/package.nix b/pkgs/by-name/sc/sct/package.nix index 9bf1f6d89a126..38bd267341b8d 100644 --- a/pkgs/by-name/sc/sct/package.nix +++ b/pkgs/by-name/sc/sct/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, libX11, libXrandr, xorgproto }: +{ + lib, + stdenv, + fetchzip, + libX11, + libXrandr, + xorgproto, +}: stdenv.mkDerivation rec { pname = "sct"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-nyYcdnCq8KcSUpc0HPCGzJI6NNrrTJLAHqPawfwPR/Q="; }; - buildInputs = [ libX11 libXrandr xorgproto ]; + buildInputs = [ + libX11 + libXrandr + xorgproto + ]; preInstall = '' mkdir -p $out/bin $out/share/man/man1 @@ -20,7 +31,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.umaxx.net/"; description = "Minimal utility to set display colour temperature"; - maintainers = with maintainers; [ raskin somasis ]; + maintainers = with maintainers; [ + raskin + somasis + ]; license = licenses.publicDomain; platforms = with platforms; linux ++ freebsd ++ openbsd; }; diff --git a/pkgs/by-name/sc/scudcloud/package.nix b/pkgs/by-name/sc/scudcloud/package.nix index 6f85141f22fe7..36764bdb7ab4a 100644 --- a/pkgs/by-name/sc/scudcloud/package.nix +++ b/pkgs/by-name/sc/scudcloud/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonPackage rec { pname = "scudcloud"; @@ -11,7 +15,11 @@ python3Packages.buildPythonPackage rec { sha256 = "1ffdy74igll74fwpmnn3brvcxbk4iianqscdzz18sx1pfqpw16cl"; }; - propagatedBuildInputs = with python3Packages; [ pyqt5-webkit dbus-python jsmin ]; + propagatedBuildInputs = with python3Packages; [ + pyqt5-webkit + dbus-python + jsmin + ]; meta = with lib; { description = "Non-official desktop client for Slack"; diff --git a/pkgs/by-name/sd/SDL2_Pango/package.nix b/pkgs/by-name/sd/SDL2_Pango/package.nix index 755c0a1af463f..2746a5fe5d828 100644 --- a/pkgs/by-name/sd/SDL2_Pango/package.nix +++ b/pkgs/by-name/sd/SDL2_Pango/package.nix @@ -27,15 +27,20 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - SDL2 - freetype - pango - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.libobjc - ]; + buildInputs = + [ + SDL2 + freetype + pango + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.libobjc + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; @@ -43,8 +48,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/markuskimius/SDL2_Pango"; description = "Library for graphically rendering internationalized and tagged text in SDL2 using TrueType fonts"; license = lib.licenses.lgpl21Plus; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ rardiol ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ rardiol ]); inherit (SDL2.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/SDL2_gfx/package.nix b/pkgs/by-name/sd/SDL2_gfx/package.nix index b5a68c23e49b6..4d6f6d77bbd7f 100644 --- a/pkgs/by-name/sd/SDL2_gfx/package.nix +++ b/pkgs/by-name/sd/SDL2_gfx/package.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, SDL2, darwin, fetchurl, @@ -24,14 +25,18 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - SDL2 - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.libobjc - ]; + buildInputs = + [ + SDL2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.libobjc + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = [ (lib.enableFeature enableMmx "mmx") @@ -67,8 +72,7 @@ stdenv.mkDerivation (finalAttrs: { written in plain C and can be used in C++ code. ''; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); pkgConfigModules = [ "SDL2_gfx" ]; inherit (SDL2.meta) platforms; }; diff --git a/pkgs/by-name/sd/SDL2_image/package.nix b/pkgs/by-name/sd/SDL2_image/package.nix index 19028ab115a07..fac3b30056ad3 100644 --- a/pkgs/by-name/sd/SDL2_image/package.nix +++ b/pkgs/by-name/sd/SDL2_image/package.nix @@ -45,19 +45,21 @@ stdenv.mkDerivation (finalAttrs: { zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation ]; - configureFlags = [ - # Disable dynamically loaded dependencies - (lib.enableFeature false "jpg-shared") - (lib.enableFeature false "png-shared") - (lib.enableFeature false "tif-shared") - (lib.enableFeature false "webp-shared") - (lib.enableFeature enableSdltest "sdltest") - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Don't use native macOS frameworks - # Caution: do not set this as (!stdenv.hostPlatform.isDarwin) since it would be true - # outside Darwin - and ImageIO does not exist outisde Darwin - (lib.enableFeature false "imageio") - ]; + configureFlags = + [ + # Disable dynamically loaded dependencies + (lib.enableFeature false "jpg-shared") + (lib.enableFeature false "png-shared") + (lib.enableFeature false "tif-shared") + (lib.enableFeature false "webp-shared") + (lib.enableFeature enableSdltest "sdltest") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Don't use native macOS frameworks + # Caution: do not set this as (!stdenv.hostPlatform.isDarwin) since it would be true + # outside Darwin - and ImageIO does not exist outisde Darwin + (lib.enableFeature false "imageio") + ]; strictDeps = true; diff --git a/pkgs/by-name/sd/SDL2_mixer/package.nix b/pkgs/by-name/sd/SDL2_mixer/package.nix index 27f9bc993371c..766eab7d9b8e4 100644 --- a/pkgs/by-name/sd/SDL2_mixer/package.nix +++ b/pkgs/by-name/sd/SDL2_mixer/package.nix @@ -58,29 +58,31 @@ stdenv.mkDerivation (finalAttrs: { timidity ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; configureFlags = [ - (lib.enableFeature false "music-ogg-shared") - (lib.enableFeature false "music-flac-shared") - (lib.enableFeature false "music-mod-modplug-shared") - (lib.enableFeature false "music-mp3-mpg123-shared") - (lib.enableFeature false "music-opus-shared") - (lib.enableFeature false "music-midi-fluidsynth-shared") - (lib.enableFeature enableSdltest "sdltest") - (lib.enableFeature enableSmpegtest "smpegtest") - # override default path to allow MIDI files to be played - (lib.withFeatureAs true "timidity-cfg" "${timidity}/share/timidity/timidity.cfg") + (lib.enableFeature false "music-ogg-shared") + (lib.enableFeature false "music-flac-shared") + (lib.enableFeature false "music-mod-modplug-shared") + (lib.enableFeature false "music-mp3-mpg123-shared") + (lib.enableFeature false "music-opus-shared") + (lib.enableFeature false "music-midi-fluidsynth-shared") + (lib.enableFeature enableSdltest "sdltest") + (lib.enableFeature enableSmpegtest "smpegtest") + # override default path to allow MIDI files to be played + (lib.withFeatureAs true "timidity-cfg" "${timidity}/share/timidity/timidity.cfg") ]; meta = { homepage = "https://github.com/libsdl-org/SDL_mixer"; description = "SDL multi-channel audio mixer library"; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/sd/SDL2_mixer_2_0/package.nix b/pkgs/by-name/sd/SDL2_mixer_2_0/package.nix index 9413b8dda96e6..a886e85d5a9e1 100644 --- a/pkgs/by-name/sd/SDL2_mixer_2_0/package.nix +++ b/pkgs/by-name/sd/SDL2_mixer_2_0/package.nix @@ -37,4 +37,5 @@ let passthru.tests.lzwolf = lzwolf; }; -in SDL2_mixer.overrideAttrs(_: attrset) +in +SDL2_mixer.overrideAttrs (_: attrset) diff --git a/pkgs/by-name/sd/SDL2_net/package.nix b/pkgs/by-name/sd/SDL2_net/package.nix index 0325e6aa4c120..fb8d1eeedb3b5 100644 --- a/pkgs/by-name/sd/SDL2_net/package.nix +++ b/pkgs/by-name/sd/SDL2_net/package.nix @@ -20,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-sEcKn/apA6FcR7ijb7sfuvP03ZdVfjkNZTXsasK8fAI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ SDL2 @@ -44,8 +47,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/libsdl-org/SDL_net"; description = "SDL multiplatform networking library"; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (SDL2.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/SDL2_sound/package.nix b/pkgs/by-name/sd/SDL2_sound/package.nix index 46517c42cb32b..9ec2ec4e3cff9 100644 --- a/pkgs/by-name/sd/SDL2_sound/package.nix +++ b/pkgs/by-name/sd/SDL2_sound/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, SDL2 -, flac -, libmikmod -, libvorbis -, timidity -, darwin +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + SDL2, + flac, + libmikmod, + libvorbis, + timidity, + darwin, }: let inherit (darwin.apple_sdk.frameworks) AudioToolbox CoreAudio - ; + ; in stdenv.mkDerivation rec { pname = "SDL2_sound"; @@ -41,8 +42,18 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DSDLSOUND_DECODER_MIDI=1" ]; - buildInputs = [ SDL2 flac libmikmod libvorbis timidity ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioToolbox CoreAudio ]; + buildInputs = + [ + SDL2 + flac + libmikmod + libvorbis + timidity + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + CoreAudio + ]; meta = with lib; { description = "SDL2 sound library"; diff --git a/pkgs/by-name/sd/SDL2_ttf/package.nix b/pkgs/by-name/sd/SDL2_ttf/package.nix index dcc5fee21f33d..93daeee6cbe30 100644 --- a/pkgs/by-name/sd/SDL2_ttf/package.nix +++ b/pkgs/by-name/sd/SDL2_ttf/package.nix @@ -27,17 +27,18 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - SDL2 - freetype - harfbuzz - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libGL - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.libobjc - ]; + buildInputs = + [ + SDL2 + freetype + harfbuzz + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libGL + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.libobjc + ]; configureFlags = [ (lib.enableFeature false "harfbuzz-builtin") @@ -57,8 +58,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/libsdl-org/SDL_ttf"; description = "Support for TrueType (.ttf) font files with Simple Directmedia Layer"; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (SDL2.meta) platforms; pkgConfigModules = [ "SDL2_ttf" ]; }; diff --git a/pkgs/by-name/sd/SDL_Pango/package.nix b/pkgs/by-name/sd/SDL_Pango/package.nix index 78e5d40d0a90d..cfe8c5dd852bc 100644 --- a/pkgs/by-name/sd/SDL_Pango/package.nix +++ b/pkgs/by-name/sd/SDL_Pango/package.nix @@ -50,8 +50,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://sdlpango.sourceforge.net/"; description = "Connects the Pango rendering engine to SDL"; license = lib.licenses.lgpl21Plus; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ puckipedia ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ puckipedia ]); inherit (SDL.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/SDL_audiolib/package.nix b/pkgs/by-name/sd/SDL_audiolib/package.nix index af84b5c0d0dc5..5e919d9ce3af7 100644 --- a/pkgs/by-name/sd/SDL_audiolib/package.nix +++ b/pkgs/by-name/sd/SDL_audiolib/package.nix @@ -52,8 +52,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Audio decoding, resampling and mixing library for SDL"; homepage = "https://github.com/realnc/SDL_audiolib"; license = lib.licenses.lgpl3Plus; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (SDL2.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/SDL_compat/package.nix b/pkgs/by-name/sd/SDL_compat/package.nix index ac7d8ff68b81f..561ca909cbf34 100644 --- a/pkgs/by-name/sd/SDL_compat/package.nix +++ b/pkgs/by-name/sd/SDL_compat/package.nix @@ -1,16 +1,17 @@ -{ lib -, SDL2 -, cmake -, darwin -, fetchFromGitHub -, libGLU -, libiconv -, mesa -, pkg-config -, stdenv -# Boolean flags -, libGLSupported ? lib.elem stdenv.hostPlatform.system mesa.meta.platforms -, openglSupport ? libGLSupported +{ + lib, + SDL2, + cmake, + darwin, + fetchFromGitHub, + libGLU, + libiconv, + mesa, + pkg-config, + stdenv, + # Boolean flags + libGLSupported ? lib.elem stdenv.hostPlatform.system mesa.meta.platforms, + openglSupport ? libGLSupported, }: let @@ -28,11 +29,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-f2dl3L7/qoYNl4sjik1npcW/W09zsEumiV9jHuKnUmM="; }; - nativeBuildInputs = [ cmake pkg-config ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ]; - propagatedBuildInputs = [ SDL2 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Cocoa ] + propagatedBuildInputs = + [ SDL2 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Cocoa + ] ++ lib.optionals openglSupport [ libGLU ]; enableParallelBuilding = true; @@ -42,11 +53,20 @@ stdenv.mkDerivation (finalAttrs: { postFixup = '' for lib in $out/lib/*${stdenv.hostPlatform.extensions.sharedLibrary}* ; do if [[ -L "$lib" ]]; then - ${if stdenv.hostPlatform.isDarwin then '' - install_name_tool ${lib.strings.concatMapStrings (x: " -add_rpath ${lib.makeLibraryPath [x]} ") finalAttrs.propagatedBuildInputs} "$lib" - '' else '' - patchelf --set-rpath "$(patchelf --print-rpath $lib):${lib.makeLibraryPath finalAttrs.propagatedBuildInputs}" "$lib" - ''} + ${ + if stdenv.hostPlatform.isDarwin then + '' + install_name_tool ${ + lib.strings.concatMapStrings ( + x: " -add_rpath ${lib.makeLibraryPath [ x ]} " + ) finalAttrs.propagatedBuildInputs + } "$lib" + '' + else + '' + patchelf --set-rpath "$(patchelf --print-rpath $lib):${lib.makeLibraryPath finalAttrs.propagatedBuildInputs}" "$lib" + '' + } fi done ''; diff --git a/pkgs/by-name/sd/SDL_gfx/package.nix b/pkgs/by-name/sd/SDL_gfx/package.nix index 5677d62b7b937..a6044b31790f1 100644 --- a/pkgs/by-name/sd/SDL_gfx/package.nix +++ b/pkgs/by-name/sd/SDL_gfx/package.nix @@ -51,8 +51,7 @@ stdenv.mkDerivation (finalAttrs: { written in plain C and can be used in C++ code. ''; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (SDL.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/SDL_mixer/package.nix b/pkgs/by-name/sd/SDL_mixer/package.nix index 84af162a73846..d1c96b7c0e114 100644 --- a/pkgs/by-name/sd/SDL_mixer/package.nix +++ b/pkgs/by-name/sd/SDL_mixer/package.nix @@ -86,15 +86,17 @@ stdenv.mkDerivation (finalAttrs: { (lib.enableFeature enableSmpegtest "smpegtest") ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; meta = { description = "SDL multi-channel audio mixer library"; homepage = "http://www.libsdl.org/projects/SDL_mixer/"; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); license = lib.licenses.zlib; inherit (SDL.meta) platforms; }; diff --git a/pkgs/by-name/sd/SDL_net/package.nix b/pkgs/by-name/sd/SDL_net/package.nix index 369f956fdf942..125f68558f917 100644 --- a/pkgs/by-name/sd/SDL_net/package.nix +++ b/pkgs/by-name/sd/SDL_net/package.nix @@ -5,7 +5,7 @@ pkg-config, stdenv, # Boolean flags - enableSdltest ? (!stdenv.hostPlatform.isDarwin) + enableSdltest ? (!stdenv.hostPlatform.isDarwin), }: stdenv.mkDerivation (finalAttrs: { @@ -36,8 +36,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/libsdl-org/SDL_net"; description = "SDL networking library"; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (SDL.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/SDL_sixel/package.nix b/pkgs/by-name/sd/SDL_sixel/package.nix index c4e383183bec1..5232b0080cf50 100644 --- a/pkgs/by-name/sd/SDL_sixel/package.nix +++ b/pkgs/by-name/sd/SDL_sixel/package.nix @@ -32,8 +32,7 @@ stdenv.mkDerivation { description = "SDL 1.2 patched with libsixel support"; license = lib.licenses.lgpl21; mainProgram = "sdl-config"; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/sd/SDL_sound/package.nix b/pkgs/by-name/sd/SDL_sound/package.nix index 33a15ff71b687..2c32e32960da6 100644 --- a/pkgs/by-name/sd/SDL_sound/package.nix +++ b/pkgs/by-name/sd/SDL_sound/package.nix @@ -7,7 +7,7 @@ libvorbis, stdenv, # Boolean flags - enableSdltest ? (!stdenv.hostPlatform.isDarwin) + enableSdltest ? (!stdenv.hostPlatform.isDarwin), }: stdenv.mkDerivation (finalAttrs: { @@ -40,8 +40,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.icculus.org/SDL_sound/"; description = "SDL sound library"; license = lib.licenses.lgpl21Plus; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); mainProgram = "playsound"; inherit (SDL.meta) platforms; }; diff --git a/pkgs/by-name/sd/SDL_ttf/package.nix b/pkgs/by-name/sd/SDL_ttf/package.nix index 2617f8e28eff7..d243dc90ab122 100644 --- a/pkgs/by-name/sd/SDL_ttf/package.nix +++ b/pkgs/by-name/sd/SDL_ttf/package.nix @@ -48,8 +48,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/libsdl-org/SDL_ttf"; description = "SDL TrueType library"; license = lib.licenses.zlib; - maintainers = lib.teams.sdl.members - ++ (with lib.maintainers; [ ]); + maintainers = lib.teams.sdl.members ++ (with lib.maintainers; [ ]); inherit (SDL.meta) platforms; }; }) diff --git a/pkgs/by-name/sd/sd-local/package.nix b/pkgs/by-name/sd/sd-local/package.nix index ea9bf5e4d6c26..bf8e34fbb382f 100644 --- a/pkgs/by-name/sd/sd-local/package.nix +++ b/pkgs/by-name/sd/sd-local/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "sd-local"; diff --git a/pkgs/by-name/sd/sd-mux-ctrl/package.nix b/pkgs/by-name/sd/sd-mux-ctrl/package.nix index 28916ed78045b..1458f5635c152 100644 --- a/pkgs/by-name/sd/sd-mux-ctrl/package.nix +++ b/pkgs/by-name/sd/sd-mux-ctrl/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchgit, cmake, pkg-config, installShellFiles, libftdi1, popt}: +{ + lib, + stdenv, + fetchgit, + cmake, + pkg-config, + installShellFiles, + libftdi1, + popt, +}: stdenv.mkDerivation rec { pname = "sd-mux-ctrl-unstable"; @@ -10,9 +19,16 @@ stdenv.mkDerivation rec { hash = "sha256-b0uoxVPfSrqNt0wJoQho9jlpQQUjofgFm93P+UNFtDs="; }; - nativeBuildInputs = [ cmake pkg-config installShellFiles ]; + nativeBuildInputs = [ + cmake + pkg-config + installShellFiles + ]; - buildInputs = [ libftdi1 popt ]; + buildInputs = [ + libftdi1 + popt + ]; postInstall = '' install -D -m 644 ../doc/man/sd-mux-ctrl.1 $out/share/man/man1/sd-mux-ctrl.1 @@ -24,7 +40,10 @@ stdenv.mkDerivation rec { description = "Tool for controlling multiple sd-mux devices"; homepage = "https://git.tizen.org/cgit/tools/testlab/sd-mux"; license = licenses.asl20; - maintainers = with maintainers; [ newam sarcasticadmin ]; + maintainers = with maintainers; [ + newam + sarcasticadmin + ]; platforms = platforms.unix; mainProgram = "sd-mux-ctrl"; }; diff --git a/pkgs/by-name/sd/sd-switch/package.nix b/pkgs/by-name/sd/sd-switch/package.nix index f14595d655be4..b2137c12e3ef8 100644 --- a/pkgs/by-name/sd/sd-switch/package.nix +++ b/pkgs/by-name/sd/sd-switch/package.nix @@ -1,7 +1,14 @@ -{ lib, fetchFromSourcehut, rustPlatform, nix-update-script }: +{ + lib, + fetchFromSourcehut, + rustPlatform, + nix-update-script, +}: -let version = "0.5.1"; -in rustPlatform.buildRustPackage { +let + version = "0.5.1"; +in +rustPlatform.buildRustPackage { pname = "sd-switch"; inherit version; diff --git a/pkgs/by-name/sd/sdat2img/package.nix b/pkgs/by-name/sd/sdat2img/package.nix index 93493356eb512..6ddcf6e85bbd9 100644 --- a/pkgs/by-name/sd/sdat2img/package.nix +++ b/pkgs/by-name/sd/sdat2img/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication { pname = "sdat2img"; diff --git a/pkgs/by-name/sd/sdate/package.nix b/pkgs/by-name/sd/sdate/package.nix index 71ab04c807d8a..dea6aa1ed3ee3 100644 --- a/pkgs/by-name/sd/sdate/package.nix +++ b/pkgs/by-name/sd/sdate/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "sdate"; diff --git a/pkgs/by-name/sd/sdcc/package.nix b/pkgs/by-name/sd/sdcc/package.nix index e8c20ac045c30..e90b3b00ff38e 100644 --- a/pkgs/by-name/sd/sdcc/package.nix +++ b/pkgs/by-name/sd/sdcc/package.nix @@ -1,21 +1,35 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, bison -, boost -, flex -, gputils -, texinfo -, zlib -, withGputils ? false -, excludePorts ? [] +{ + lib, + stdenv, + fetchurl, + autoconf, + bison, + boost, + flex, + gputils, + texinfo, + zlib, + withGputils ? false, + excludePorts ? [ ], }: -assert lib.subtractLists [ - "ds390" "ds400" "gbz80" "hc08" "mcs51" "pic14" "pic16" "r2k" "r3ka" "s08" - "stm8" "tlcs90" "z80" "z180" -] excludePorts == []; +assert + lib.subtractLists [ + "ds390" + "ds400" + "gbz80" + "hc08" + "mcs51" + "pic14" + "pic16" + "r2k" + "r3ka" + "s08" + "stm8" + "tlcs90" + "z80" + "z180" + ] excludePorts == [ ]; stdenv.mkDerivation (finalAttrs: { pname = "sdcc"; version = "4.4.0"; @@ -25,7 +39,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rowSFl6xdoDf9EsyjYh5mWMGtyQe+jqDsuOy0veQanU="; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; enableParallelBuilding = true; @@ -35,18 +53,25 @@ stdenv.mkDerivation (finalAttrs: { flex ]; - buildInputs = [ - boost - texinfo - zlib - ] ++ lib.optionals withGputils [ - gputils - ]; + buildInputs = + [ + boost + texinfo + zlib + ] + ++ lib.optionals withGputils [ + gputils + ]; - configureFlags = let - excludedPorts = excludePorts - ++ (lib.optionals (!withGputils) [ "pic14" "pic16" ]); - in + configureFlags = + let + excludedPorts = + excludePorts + ++ (lib.optionals (!withGputils) [ + "pic14" + "pic16" + ]); + in map (f: "--disable-${f}-port") excludedPorts; preConfigure = '' @@ -66,11 +91,12 @@ stdenv.mkDerivation (finalAttrs: { 2000/3000, Rabbit 3000A). Work is in progress on supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for other microprocessors. ''; - license = if withGputils - then lib.licenses.unfreeRedistributable - else lib.licenses.gpl2Plus; + license = if withGputils then lib.licenses.unfreeRedistributable else lib.licenses.gpl2Plus; mainProgram = "sdcc"; - maintainers = with lib.maintainers; [ bjornfor yorickvp ]; + maintainers = with lib.maintainers; [ + bjornfor + yorickvp + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/sd/sdcv/package.nix b/pkgs/by-name/sd/sdcv/package.nix index a4a890f9c7ba1..e1773891ed8dc 100644 --- a/pkgs/by-name/sd/sdcv/package.nix +++ b/pkgs/by-name/sd/sdcv/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, glib, gettext, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + glib, + gettext, + readline, +}: stdenv.mkDerivation rec { pname = "sdcv"; @@ -12,8 +21,15 @@ stdenv.mkDerivation rec { }; hardeningDisable = [ "format" ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ glib gettext readline ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + glib + gettext + readline + ]; postPatch = '' # https://github.com/Dushistov/sdcv/pull/104 diff --git a/pkgs/by-name/sd/sdl-jstest/package.nix b/pkgs/by-name/sd/sdl-jstest/package.nix index 5b71e441b8782..2d2bd48387a3f 100644 --- a/pkgs/by-name/sd/sdl-jstest/package.nix +++ b/pkgs/by-name/sd/sdl-jstest/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, SDL, SDL2, ncurses, docbook_xsl, git }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + SDL, + SDL2, + ncurses, + docbook_xsl, + git, +}: stdenv.mkDerivation { pname = "sdl-jstest"; @@ -12,8 +23,17 @@ stdenv.mkDerivation { fetchSubmodules = true; }; - buildInputs = [ SDL SDL2 ncurses ]; - nativeBuildInputs = [ cmake pkg-config docbook_xsl git ]; + buildInputs = [ + SDL + SDL2 + ncurses + ]; + nativeBuildInputs = [ + cmake + pkg-config + docbook_xsl + git + ]; meta = with lib; { homepage = "https://github.com/Grumbel/sdl-jstest"; diff --git a/pkgs/by-name/sd/sdlookup/package.nix b/pkgs/by-name/sd/sdlookup/package.nix index d4b4e6b3ad545..9b41119a58126 100644 --- a/pkgs/by-name/sd/sdlookup/package.nix +++ b/pkgs/by-name/sd/sdlookup/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sd/sdlpop/package.nix b/pkgs/by-name/sd/sdlpop/package.nix index 5defb942e7e9a..e79cf801c28d6 100644 --- a/pkgs/by-name/sd/sdlpop/package.nix +++ b/pkgs/by-name/sd/sdlpop/package.nix @@ -1,9 +1,13 @@ -{ lib, stdenv -, makeWrapper -, makeDesktopItem, copyDesktopItems -, fetchFromGitHub -, pkg-config -, SDL2, SDL2_image +{ + lib, + stdenv, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + fetchFromGitHub, + pkg-config, + SDL2, + SDL2_image, }: stdenv.mkDerivation rec { @@ -17,11 +21,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-UI7NfOC/+druRYL5g2AhIjTPEq4ta1qEThcxgyrFjHY="; }; - nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + copyDesktopItems + ]; - buildInputs = [ SDL2 SDL2_image ]; + buildInputs = [ + SDL2 + SDL2_image + ]; - makeFlags = [ "-C" "src" ]; + makeFlags = [ + "-C" + "src" + ]; preBuild = '' substituteInPlace src/Makefile \ @@ -51,14 +65,19 @@ stdenv.mkDerivation rec { runHook postInstall ''; - desktopItems = [ (makeDesktopItem { - name = "sdlpop"; - icon = "sdlpop"; - exec = "prince"; - desktopName = "SDLPoP"; - comment = "An open-source port of Prince of Persia"; - categories = [ "Game" "AdventureGame" ]; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "sdlpop"; + icon = "sdlpop"; + exec = "prince"; + desktopName = "SDLPoP"; + comment = "An open-source port of Prince of Persia"; + categories = [ + "Game" + "AdventureGame" + ]; + }) + ]; meta = with lib; { description = "Open-source port of Prince of Persia"; diff --git a/pkgs/by-name/sd/sdparm/package.nix b/pkgs/by-name/sd/sdparm/package.nix index 2bd1a0946674e..e6908ff96fad3 100644 --- a/pkgs/by-name/sd/sdparm/package.nix +++ b/pkgs/by-name/sd/sdparm/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sdparm"; diff --git a/pkgs/by-name/sd/sdrplay/package.nix b/pkgs/by-name/sd/sdrplay/package.nix index b3259412da244..c3532f5fe4eaf 100644 --- a/pkgs/by-name/sd/sdrplay/package.nix +++ b/pkgs/by-name/sd/sdrplay/package.nix @@ -1,10 +1,21 @@ -{ stdenv, lib, fetchurl, autoPatchelfHook, udev, libusb1 }: +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + udev, + libusb1, +}: let arch = - if stdenv.hostPlatform.isx86_64 then "x86_64" - else if stdenv.hostPlatform.isi686 then "i686" - else if stdenv.hostPlatform.isAarch64 then "aarch64" - else throw "unsupported architecture"; + if stdenv.hostPlatform.isx86_64 then + "x86_64" + else if stdenv.hostPlatform.isi686 then + "i686" + else if stdenv.hostPlatform.isAarch64 then + "aarch64" + else + throw "unsupported architecture"; version = "3.07.1"; @@ -30,7 +41,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ libusb1 udev (lib.getLib stdenv.cc.cc) ]; + buildInputs = [ + libusb1 + udev + (lib.getLib stdenv.cc.cc) + ]; unpackPhase = '' sh "$src" --noexec --target source @@ -62,7 +77,10 @@ stdenv.mkDerivation rec { homepage = "https://www.sdrplay.com/downloads/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ pmenke zaninime ]; + maintainers = with maintainers; [ + pmenke + zaninime + ]; platforms = platforms.linux; mainProgram = "sdrplay_apiService"; }; diff --git a/pkgs/by-name/se/sea-orm-cli/package.nix b/pkgs/by-name/se/sea-orm-cli/package.nix index d191944289d35..4a2b9a31df1a7 100644 --- a/pkgs/by-name/se/sea-orm-cli/package.nix +++ b/pkgs/by-name/se/sea-orm-cli/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchCrate -, pkg-config -, openssl -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { pname = "sea-orm-cli"; @@ -17,15 +18,19 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; cargoHash = "sha256-r5nqzu79z/XdrqvaJ+5ylZI6tC/SKTzmoOSgkbAaPn4="; meta = with lib; { homepage = "https://www.sea-ql.org/SeaORM"; description = " Command line utility for SeaORM"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ traxys ]; }; } diff --git a/pkgs/by-name/se/seabird/package.nix b/pkgs/by-name/se/seabird/package.nix index b364c52b48235..5c9ff436fe6cc 100644 --- a/pkgs/by-name/se/seabird/package.nix +++ b/pkgs/by-name/se/seabird/package.nix @@ -1,15 +1,16 @@ -{ lib -, buildGoModule -, copyDesktopItems -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, gobject-introspection -, gtk4 -, gtksourceview5 -, libadwaita -, libxml2 -, vte-gtk4 +{ + lib, + buildGoModule, + copyDesktopItems, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + gobject-introspection, + gtk4, + gtksourceview5, + libadwaita, + libxml2, + vte-gtk4, }: buildGoModule rec { @@ -40,7 +41,10 @@ buildGoModule rec { vte-gtk4 ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/se/seafile-shared/package.nix b/pkgs/by-name/se/seafile-shared/package.nix index dd4cafbfc8b6b..4e9f5c40d3f32 100644 --- a/pkgs/by-name/se/seafile-shared/package.nix +++ b/pkgs/by-name/se/seafile-shared/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, curl -, libevent -, libsearpc -, libuuid -, pkg-config -, python3 -, sqlite -, vala -, libwebsockets +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + curl, + libevent, + libsearpc, + libuuid, + pkg-config, + python3, + sqlite, + vala, + libwebsockets, }: stdenv.mkDerivation rec { @@ -59,6 +61,9 @@ stdenv.mkDerivation rec { description = "Shared components of Seafile: seafile-daemon, libseafile, libseafile python bindings, manuals, and icons"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ greizgh schmittlauch ]; + maintainers = with maintainers; [ + greizgh + schmittlauch + ]; }; } diff --git a/pkgs/by-name/se/seahorse/package.nix b/pkgs/by-name/se/seahorse/package.nix index 832bca687d072..1abdef69c7345 100644 --- a/pkgs/by-name/se/seahorse/package.nix +++ b/pkgs/by-name/se/seahorse/package.nix @@ -1,30 +1,31 @@ -{ stdenv -, lib -, fetchurl -, vala -, meson -, ninja -, libpwquality -, pkg-config -, gtk3 -, glib -, glib-networking -, wrapGAppsHook3 -, itstool -, gnupg -, desktop-file-utils -, libsoup_3 -, gnome -, gpgme -, python3 -, openldap -, gcr -, libsecret -, avahi -, p11-kit -, openssh -, gsettings-desktop-schemas -, libhandy +{ + stdenv, + lib, + fetchurl, + vala, + meson, + ninja, + libpwquality, + pkg-config, + gtk3, + glib, + glib-networking, + wrapGAppsHook3, + itstool, + gnupg, + desktop-file-utils, + libsoup_3, + gnome, + gpgme, + python3, + openldap, + gcr, + libsecret, + avahi, + p11-kit, + openssh, + gsettings-desktop-schemas, + libhandy, }: stdenv.mkDerivation rec { @@ -72,13 +73,15 @@ stdenv.mkDerivation rec { patchShebangs build-aux/gpg_check_version.py ''; - env = lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) { - NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=implicit-function-declaration" - "-Wno-error=int-conversion" - "-Wno-error=return-mismatch" - ]; - }; + env = + lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) + { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=int-conversion" + "-Wno-error=return-mismatch" + ]; + }; preCheck = '' # Add “org.gnome.crypto.pgp” GSettings schema to path diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix index cd77009da8ea5..2af550d7c23ea 100644 --- a/pkgs/by-name/se/searxng/package.nix +++ b/pkgs/by-name/se/searxng/package.nix @@ -2,7 +2,7 @@ lib, python3, fetchFromGitHub, - nixosTests + nixosTests, }: python3.pkgs.toPythonModule ( diff --git a/pkgs/by-name/se/seashells/package.nix b/pkgs/by-name/se/seashells/package.nix index c928bca8cefbd..c190a458fbce9 100644 --- a/pkgs/by-name/se/seashells/package.nix +++ b/pkgs/by-name/se/seashells/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "seashells"; diff --git a/pkgs/by-name/se/seasocks/package.nix b/pkgs/by-name/se/seasocks/package.nix index 96db323f90a7c..34bb25e5704e6 100644 --- a/pkgs/by-name/se/seasocks/package.nix +++ b/pkgs/by-name/se/seasocks/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib, catch2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + zlib, + catch2, +}: stdenv.mkDerivation rec { pname = "seasocks"; @@ -16,7 +24,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib python3 ]; + buildInputs = [ + zlib + python3 + ]; doCheck = true; diff --git a/pkgs/by-name/se/seatd/package.nix b/pkgs/by-name/se/seatd/package.nix index b47e6bc461993..d9197f5dafdc4 100644 --- a/pkgs/by-name/se/seatd/package.nix +++ b/pkgs/by-name/se/seatd/package.nix @@ -1,12 +1,14 @@ -{ fetchFromSourcehut -, lib -, meson -, ninja -, pkg-config -, scdoc -, stdenv -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -, nixosTests +{ + fetchFromSourcehut, + lib, + meson, + ninja, + pkg-config, + scdoc, + stdenv, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -20,7 +22,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-6F+TPSpcEwX4wW5GPy5Ck2AeHyH/Ba2oBUSUnVyAMeA="; }; - outputs = [ "bin" "out" "dev" "man" ]; + outputs = [ + "bin" + "out" + "dev" + "man" + ]; depsBuildBuild = [ pkg-config diff --git a/pkgs/by-name/se/seaview/package.nix b/pkgs/by-name/se/seaview/package.nix index 06549748018d6..927489cabcdd2 100644 --- a/pkgs/by-name/se/seaview/package.nix +++ b/pkgs/by-name/se/seaview/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, coreutils, fltk, libjpeg }: +{ + lib, + stdenv, + fetchurl, + coreutils, + fltk, + libjpeg, +}: stdenv.mkDerivation rec { version = "5.0.5"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-zo9emLpHiDv6kekbx55NOibxWN2Zg7XngzGkUqSx+PI="; }; - buildInputs = [ fltk libjpeg ]; + buildInputs = [ + fltk + libjpeg + ]; patchPhase = "sed -i 's#PATH=/bin:/usr/bin rm#'${coreutils}/bin/rm'#' seaview.cxx"; installPhase = "mkdir -p $out/bin; cp seaview $out/bin"; diff --git a/pkgs/by-name/se/seaweedfs/package.nix b/pkgs/by-name/se/seaweedfs/package.nix index 934dd431ed893..2c7b531854fbd 100644 --- a/pkgs/by-name/se/seaweedfs/package.nix +++ b/pkgs/by-name/se/seaweedfs/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, testers -, seaweedfs +{ + lib, + fetchFromGitHub, + buildGoModule, + testers, + seaweedfs, }: buildGoModule rec { @@ -54,7 +55,11 @@ buildGoModule rec { meta = with lib; { description = "Simple and highly scalable distributed file system"; homepage = "https://github.com/chrislusf/seaweedfs"; - maintainers = with maintainers; [ azahi cmacrae wozeparrot ]; + maintainers = with maintainers; [ + azahi + cmacrae + wozeparrot + ]; mainProgram = "weed"; license = licenses.asl20; }; diff --git a/pkgs/by-name/se/sec/package.nix b/pkgs/by-name/se/sec/package.nix index 8a1f83ba67933..96c9192eacf60 100644 --- a/pkgs/by-name/se/sec/package.nix +++ b/pkgs/by-name/se/sec/package.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, perl, lib, stdenv }: +{ + fetchFromGitHub, + perl, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "sec"; diff --git a/pkgs/by-name/se/seccure/package.nix b/pkgs/by-name/se/seccure/package.nix index 07c8d0382ca5b..4c51a81fc34fd 100644 --- a/pkgs/by-name/se/seccure/package.nix +++ b/pkgs/by-name/se/seccure/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libgcrypt }: +{ + lib, + stdenv, + fetchurl, + libgcrypt, +}: stdenv.mkDerivation rec { pname = "seccure"; diff --git a/pkgs/by-name/se/seclists/package.nix b/pkgs/by-name/se/seclists/package.nix index f16eb981f1095..b38841e4418e5 100644 --- a/pkgs/by-name/se/seclists/package.nix +++ b/pkgs/by-name/se/seclists/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC +{ + lib, + fetchFromGitHub, + stdenvNoCC, }: stdenvNoCC.mkDerivation { @@ -28,7 +29,9 @@ stdenvNoCC.mkDerivation { description = "Collection of multiple types of lists used during security assessments, collected in one place"; homepage = "https://github.com/danielmiessler/seclists"; license = licenses.mit; - maintainers = with maintainers; [ tochiaha pamplemousse ]; + maintainers = with maintainers; [ + tochiaha + pamplemousse + ]; }; } - diff --git a/pkgs/by-name/se/secp256k1/package.nix b/pkgs/by-name/se/secp256k1/package.nix index 1da8079995fee..aacba81c732c5 100644 --- a/pkgs/by-name/se/secp256k1/package.nix +++ b/pkgs/by-name/se/secp256k1/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/se/secrets-extractor/package.nix b/pkgs/by-name/se/secrets-extractor/package.nix index b8118e6cf95ce..338df990aadb8 100644 --- a/pkgs/by-name/se/secrets-extractor/package.nix +++ b/pkgs/by-name/se/secrets-extractor/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + libpcap, }: buildGoModule rec { diff --git a/pkgs/by-name/se/secretscanner/package.nix b/pkgs/by-name/se/secretscanner/package.nix index db23b87058f41..330afcda9324a 100644 --- a/pkgs/by-name/se/secretscanner/package.nix +++ b/pkgs/by-name/se/secretscanner/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, hyperscan -, pkg-config -, protobuf -, protoc-gen-go -, protoc-gen-go-grpc +{ + lib, + buildGoModule, + fetchFromGitHub, + hyperscan, + pkg-config, + protobuf, + protoc-gen-go, + protoc-gen-go-grpc, }: buildGoModule rec { @@ -56,4 +57,3 @@ buildGoModule rec { maintainers = with maintainers; [ fab ]; }; } - diff --git a/pkgs/by-name/se/sedutil/package.nix b/pkgs/by-name/se/sedutil/package.nix index 0e83472da0e70..5b731b9620692 100644 --- a/pkgs/by-name/se/sedutil/package.nix +++ b/pkgs/by-name/se/sedutil/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/se/see/package.nix b/pkgs/by-name/se/see/package.nix index f2c68cca97c41..256f34461a33e 100644 --- a/pkgs/by-name/se/see/package.nix +++ b/pkgs/by-name/se/see/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication { pname = "see"; diff --git a/pkgs/by-name/se/seehecht/package.nix b/pkgs/by-name/se/seehecht/package.nix index 0b1fb3bcef72d..c40578d7f950e 100644 --- a/pkgs/by-name/se/seehecht/package.nix +++ b/pkgs/by-name/se/seehecht/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitea }: +{ + lib, + rustPlatform, + fetchFromGitea, +}: rustPlatform.buildRustPackage rec { pname = "seehecht"; diff --git a/pkgs/by-name/se/segger-jlink/package.nix b/pkgs/by-name/se/segger-jlink/package.nix index a092097bce3bc..a0db9726edcc9 100644 --- a/pkgs/by-name/se/segger-jlink/package.nix +++ b/pkgs/by-name/se/segger-jlink/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, callPackage -, autoPatchelfHook -, udev -, config -, acceptLicense ? config.segger-jlink.acceptLicense or false -, headless ? false -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchurl, + callPackage, + autoPatchelfHook, + udev, + config, + acceptLicense ? config.segger-jlink.acceptLicense or false, + headless ? false, + makeDesktopItem, + copyDesktopItems, }: let source = import ./source.nix; - supported = removeAttrs source ["version"]; + supported = removeAttrs source [ "version" ]; platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}"); @@ -22,45 +23,50 @@ let url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz"; src = - assert !acceptLicense -> throw '' - Use of the "SEGGER JLink Software and Documentation pack" requires the - acceptance of the following licenses: - - - SEGGER Downloads Terms of Use [1] - - SEGGER Software Licensing [2] - - You can express acceptance by setting acceptLicense to true in your - configuration. Note that this is not a free license so it requires allowing - unfree licenses as well. - - configuration.nix: - nixpkgs.config.allowUnfree = true; - nixpkgs.config.segger-jlink.acceptLicense = true; - - config.nix: - allowUnfree = true; - segger-jlink.acceptLicense = true; - - [1]: ${url} - [2]: https://www.segger.com/purchase/licensing/ - ''; - fetchurl { - inherit url; - inherit (platform) hash; - curlOpts = "--data accept_license_agreement=accepted"; - }; + assert + !acceptLicense + -> throw '' + Use of the "SEGGER JLink Software and Documentation pack" requires the + acceptance of the following licenses: + + - SEGGER Downloads Terms of Use [1] + - SEGGER Software Licensing [2] + + You can express acceptance by setting acceptLicense to true in your + configuration. Note that this is not a free license so it requires allowing + unfree licenses as well. + + configuration.nix: + nixpkgs.config.allowUnfree = true; + nixpkgs.config.segger-jlink.acceptLicense = true; + + config.nix: + allowUnfree = true; + segger-jlink.acceptLicense = true; + + [1]: ${url} + [2]: https://www.segger.com/purchase/licensing/ + ''; + fetchurl { + inherit url; + inherit (platform) hash; + curlOpts = "--data accept_license_agreement=accepted"; + }; qt4-bundled = callPackage ./qt4-bundled.nix { inherit src version; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "segger-jlink"; inherit src version; - nativeBuildInputs = [ - autoPatchelfHook - ] ++ lib.optionals (!headless) [ - copyDesktopItems - ]; + nativeBuildInputs = + [ + autoPatchelfHook + ] + ++ lib.optionals (!headless) [ + copyDesktopItems + ]; buildInputs = lib.optionals (!headless) [ qt4-bundled @@ -75,32 +81,35 @@ in stdenv.mkDerivation { dontBuild = true; desktopItems = lib.optionals (!headless) ( - map (entry: - (makeDesktopItem { - name = entry; - exec = entry; - icon = "applications-utilities"; - desktopName = entry; - genericName = "SEGGER ${entry}"; - categories = [ "Development" ]; - type = "Application"; - terminal = false; - startupNotify = false; - }) - ) [ - "JFlash" - "JFlashLite" - "JFlashSPI" - "JLinkConfig" - "JLinkGDBServer" - "JLinkLicenseManager" - "JLinkRTTViewer" - "JLinkRegistration" - "JLinkRemoteServer" - "JLinkSWOViewer" - "JLinkUSBWebServer" - "JMem" - ] + map + ( + entry: + (makeDesktopItem { + name = entry; + exec = entry; + icon = "applications-utilities"; + desktopName = entry; + genericName = "SEGGER ${entry}"; + categories = [ "Development" ]; + type = "Application"; + terminal = false; + startupNotify = false; + }) + ) + [ + "JFlash" + "JFlashLite" + "JFlashSPI" + "JLinkConfig" + "JLinkGDBServer" + "JLinkLicenseManager" + "JLinkRTTViewer" + "JLinkRegistration" + "JLinkRemoteServer" + "JLinkSWOViewer" + "JLinkUSBWebServer" + "JMem" + ] ); installPhase = '' diff --git a/pkgs/by-name/se/segger-jlink/qt4-bundled.nix b/pkgs/by-name/se/segger-jlink/qt4-bundled.nix index 76fb252afe251..a26145cc5f1ff 100644 --- a/pkgs/by-name/se/segger-jlink/qt4-bundled.nix +++ b/pkgs/by-name/se/segger-jlink/qt4-bundled.nix @@ -1,11 +1,11 @@ { - lib -, stdenv -, src -, version -, autoPatchelfHook -, fontconfig -, xorg + lib, + stdenv, + src, + version, + autoPatchelfHook, + fontconfig, + xorg, }: stdenv.mkDerivation { @@ -71,4 +71,3 @@ stdenv.mkDerivation { ]; }; } - diff --git a/pkgs/by-name/se/segger-ozone/package.nix b/pkgs/by-name/se/segger-ozone/package.nix index ea8ddd53c09f4..b8a177e09e6e8 100644 --- a/pkgs/by-name/se/segger-ozone/package.nix +++ b/pkgs/by-name/se/segger-ozone/package.nix @@ -1,32 +1,39 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, fontconfig -, freetype -, libICE -, libSM -, libX11 -, libXcursor -, libXfixes -, libXrandr -, libXrender +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + fontconfig, + freetype, + libICE, + libSM, + libX11, + libXcursor, + libXfixes, + libXrandr, + libXrender, }: stdenv.mkDerivation rec { pname = "segger-ozone"; version = "3.30b"; - src = { - x86_64-linux = fetchurl { - url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${builtins.replaceStrings ["."] [""] version}_x86_64.tgz"; - hash = "sha256-W8Fo0q58pAn1aB92CjYARcN3vMLEguvsyozsS7VRArQ="; - }; - i686-linux = fetchurl { - url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${builtins.replaceStrings ["."] [""] version}_i386.tgz"; - hash = "sha256-Xq/69lwF2Ll5VdkYMDNRtc0YUUvWc+XR0FHJXxOLNQ4="; - }; - }.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + x86_64-linux = fetchurl { + url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${ + builtins.replaceStrings [ "." ] [ "" ] version + }_x86_64.tgz"; + hash = "sha256-W8Fo0q58pAn1aB92CjYARcN3vMLEguvsyozsS7VRArQ="; + }; + i686-linux = fetchurl { + url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${ + builtins.replaceStrings [ "." ] [ "" ] version + }_i386.tgz"; + hash = "sha256-Xq/69lwF2Ll5VdkYMDNRtc0YUUvWc+XR0FHJXxOLNQ4="; + }; + } + .${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook @@ -82,6 +89,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = [ maintainers.bmilanov ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/se/seilfahrt/package.nix b/pkgs/by-name/se/seilfahrt/package.nix index db7afebe6e002..380498612a8a5 100644 --- a/pkgs/by-name/se/seilfahrt/package.nix +++ b/pkgs/by-name/se/seilfahrt/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pandoc +{ + lib, + buildGoModule, + fetchFromGitHub, + pandoc, }: buildGoModule rec { diff --git a/pkgs/by-name/se/selendroid/package.nix b/pkgs/by-name/se/selendroid/package.nix index 66a9b97d0db90..170ef05845b44 100644 --- a/pkgs/by-name/se/selendroid/package.nix +++ b/pkgs/by-name/se/selendroid/package.nix @@ -1,19 +1,26 @@ -{ lib, stdenv, fetchurl, makeWrapper, jdk, selenium-server-standalone }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jdk, + selenium-server-standalone, +}: let - pname = "selendroid-standalone"; - pluginName = "selendroid-grid-plugin-${version}"; - version = "0.17.0"; - srcs = { - jar = fetchurl { - url = "https://github.com/selendroid/selendroid/releases/download/${version}/selendroid-standalone-${version}-with-dependencies.jar"; - sha256 = "10lxdsgp711pv8r6dk2aagnbvnn1b25zfqjvz7plc73zqhx1dxvw"; - }; - gridPlugin = fetchurl { - url = "https://search.maven.org/remotecontent?filepath=io/selendroid/selendroid-grid-plugin/${version}/${pluginName}.jar"; - sha256 = "1x6cjmp2hpghbgbf8vss0qaj2n4sfl29wp3bc4k1s3hnnpccvz70"; - }; + pname = "selendroid-standalone"; + pluginName = "selendroid-grid-plugin-${version}"; + version = "0.17.0"; + srcs = { + jar = fetchurl { + url = "https://github.com/selendroid/selendroid/releases/download/${version}/selendroid-standalone-${version}-with-dependencies.jar"; + sha256 = "10lxdsgp711pv8r6dk2aagnbvnn1b25zfqjvz7plc73zqhx1dxvw"; }; + gridPlugin = fetchurl { + url = "https://search.maven.org/remotecontent?filepath=io/selendroid/selendroid-grid-plugin/${version}/${pluginName}.jar"; + sha256 = "1x6cjmp2hpghbgbf8vss0qaj2n4sfl29wp3bc4k1s3hnnpccvz70"; + }; + }; in stdenv.mkDerivation { inherit pname version; diff --git a/pkgs/by-name/se/selene/package.nix b/pkgs/by-name/se/selene/package.nix index bcd1409b9985e..543f225050ae6 100644 --- a/pkgs/by-name/se/selene/package.nix +++ b/pkgs/by-name/se/selene/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, robloxSupport ? true -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + robloxSupport ? true, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = lib.optionals robloxSupport [ - openssl - ] ++ lib.optionals (robloxSupport && stdenv.hostPlatform.isDarwin) [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + lib.optionals robloxSupport [ + openssl + ] + ++ lib.optionals (robloxSupport && stdenv.hostPlatform.isDarwin) [ + darwin.apple_sdk.frameworks.Security + ]; buildNoDefaultFeatures = !robloxSupport; diff --git a/pkgs/by-name/se/selenium-server-standalone/package.nix b/pkgs/by-name/se/selenium-server-standalone/package.nix index b1cc26bec519c..9c8ff8ecbc679 100644 --- a/pkgs/by-name/se/selenium-server-standalone/package.nix +++ b/pkgs/by-name/se/selenium-server-standalone/package.nix @@ -1,11 +1,20 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre -, htmlunit-driver, chromedriver, chromeSupport ? true }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, + htmlunit-driver, + chromedriver, + chromeSupport ? true, +}: let minorVersion = "3.141"; patchVersion = "59"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "selenium-server-standalone"; version = "${minorVersion}.${patchVersion}"; @@ -33,7 +42,10 @@ in stdenv.mkDerivation rec { description = "Selenium Server for remote WebDriver"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.asl20; - maintainers = with maintainers; [ coconnor offline ]; + maintainers = with maintainers; [ + coconnor + offline + ]; mainProgram = "selenium-server"; platforms = platforms.all; }; diff --git a/pkgs/by-name/se/selfoss/package.nix b/pkgs/by-name/se/selfoss/package.nix index b0b888012f463..11542c6ddfbc1 100644 --- a/pkgs/by-name/se/selfoss/package.nix +++ b/pkgs/by-name/se/selfoss/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, unzip }: +{ + lib, + stdenvNoCC, + fetchurl, + unzip, +}: stdenvNoCC.mkDerivation rec { pname = "selfoss"; @@ -30,7 +35,10 @@ stdenvNoCC.mkDerivation rec { description = "Web-based news feed (RSS/Atom) aggregator"; homepage = "https://selfoss.aditu.de"; license = licenses.gpl3Only; - maintainers = with maintainers; [ jtojnar regnat ]; + maintainers = with maintainers; [ + jtojnar + regnat + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/se/selinux-python/package.nix b/pkgs/by-name/se/selinux-python/package.nix index 2211db1c38b1e..3d15b6dd502ca 100644 --- a/pkgs/by-name/se/selinux-python/package.nix +++ b/pkgs/by-name/se/selinux-python/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl, python3 -, libselinux, libsemanage, libsepol, setools }: +{ + lib, + stdenv, + fetchurl, + python3, + libselinux, + libsemanage, + libsepol, + setools, +}: # this is python3 only because setools only supports python3 stdenv.mkDerivation rec { @@ -21,7 +29,12 @@ stdenv.mkDerivation rec { python3.pkgs.wrapPython ]; buildInputs = [ libsepol ]; - propagatedBuildInputs = [ libselinux libsemanage setools python3.pkgs.ipy ]; + propagatedBuildInputs = [ + libselinux + libsemanage + setools + python3.pkgs.ipy + ]; postPatch = '' substituteInPlace sepolicy/Makefile --replace "echo --root" "echo --prefix" @@ -38,7 +51,6 @@ stdenv.mkDerivation rec { "LIBSEPOLA=${lib.getLib libsepol}/lib/libsepol.a" ]; - postFixup = '' wrapPythonPrograms ''; diff --git a/pkgs/by-name/se/selinux-sandbox/package.nix b/pkgs/by-name/se/selinux-sandbox/package.nix index cbddfc3ec50a3..62e5f2761fcbb 100644 --- a/pkgs/by-name/se/selinux-sandbox/package.nix +++ b/pkgs/by-name/se/selinux-sandbox/package.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchurl, bash, coreutils, python3 -, libcap_ng, policycoreutils, selinux-python, dbus -, xorgserver, openbox, xmodmap }: +{ + lib, + stdenv, + fetchurl, + bash, + coreutils, + python3, + libcap_ng, + policycoreutils, + selinux-python, + dbus, + xorgserver, + openbox, + xmodmap, +}: # this is python3 only as it depends on selinux-python @@ -17,8 +29,21 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ wrapPython ]; - buildInputs = [ bash coreutils libcap_ng policycoreutils python3 xorgserver openbox xmodmap dbus ]; - propagatedBuildInputs = [ pygobject3 selinux-python ]; + buildInputs = [ + bash + coreutils + libcap_ng + policycoreutils + python3 + xorgserver + openbox + xmodmap + dbus + ]; + propagatedBuildInputs = [ + pygobject3 + selinux-python + ]; postPatch = '' # Fix setuid install diff --git a/pkgs/by-name/se/sem/package.nix b/pkgs/by-name/se/sem/package.nix index 2a3732ca6b333..cab3dbca45398 100644 --- a/pkgs/by-name/se/sem/package.nix +++ b/pkgs/by-name/se/sem/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "sem"; @@ -14,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-p8+M+pRp12P7tYlFpXjU94JcJOugQpD8rFdowhonh74="; subPackages = [ "." ]; - ldflags = [ "-X main.version=${version}" "-X main.buildSource=nix" ]; + ldflags = [ + "-X main.version=${version}" + "-X main.buildSource=nix" + ]; postInstall = '' install -m755 $out/bin/cli $out/bin/sem diff --git a/pkgs/by-name/se/semantic-release/package.nix b/pkgs/by-name/se/semantic-release/package.nix index 8ece8fcfbad34..ecb368efc8524 100644 --- a/pkgs/by-name/se/semantic-release/package.nix +++ b/pkgs/by-name/se/semantic-release/package.nix @@ -1,9 +1,10 @@ -{ cctools -, buildNpmPackage -, fetchFromGitHub -, lib -, python3 -, stdenv +{ + cctools, + buildNpmPackage, + fetchFromGitHub, + lib, + python3, + stdenv, }: buildNpmPackage rec { diff --git a/pkgs/by-name/se/semiphemeral/package.nix b/pkgs/by-name/se/semiphemeral/package.nix index 173431e526f72..6dbacb7d50d69 100644 --- a/pkgs/by-name/se/semiphemeral/package.nix +++ b/pkgs/by-name/se/semiphemeral/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { @@ -16,7 +17,13 @@ python3.pkgs.buildPythonApplication rec { pythonImportsCheck = [ "semiphemeral" ]; - propagatedBuildInputs = with python3.pkgs; [ click sqlalchemy flask tweepy colorama ]; + propagatedBuildInputs = with python3.pkgs; [ + click + sqlalchemy + flask + tweepy + colorama + ]; meta = with lib; { description = "Automatically delete your old tweets, except for the ones you want to keep"; diff --git a/pkgs/by-name/se/semodule-utils/package.nix b/pkgs/by-name/se/semodule-utils/package.nix index ffc5639cf85c3..9c9343ead745a 100644 --- a/pkgs/by-name/se/semodule-utils/package.nix +++ b/pkgs/by-name/se/semodule-utils/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libsepol }: +{ + lib, + stdenv, + fetchurl, + libsepol, +}: stdenv.mkDerivation rec { pname = "semodule-utils"; diff --git a/pkgs/by-name/se/semver-tool/package.nix b/pkgs/by-name/se/semver-tool/package.nix index a26c99171662d..6dc1e3b7097d8 100644 --- a/pkgs/by-name/se/semver-tool/package.nix +++ b/pkgs/by-name/se/semver-tool/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "semver-tool"; diff --git a/pkgs/by-name/se/semver/package.nix b/pkgs/by-name/se/semver/package.nix index 750d86eea1139..a73fea385575e 100644 --- a/pkgs/by-name/se/semver/package.nix +++ b/pkgs/by-name/se/semver/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ + lib, + buildGoModule, + fetchFromGitHub, + git, +}: buildGoModule rec { pname = "semver"; diff --git a/pkgs/by-name/se/sendme/package.nix b/pkgs/by-name/se/sendme/package.nix index 3aafd204c600a..75dc805373243 100644 --- a/pkgs/by-name/se/sendme/package.nix +++ b/pkgs/by-name/se/sendme/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,8 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-W2R00nhoDVz1TuGyQxN6mWKoFIU5TfywtsdduNEp+j8="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; [ + with darwin.apple_sdk.frameworks; + [ SystemConfiguration ] ); @@ -27,7 +29,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Tool to send files and directories, based on iroh"; homepage = "https://iroh.computer/sendme"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ cameronfyfe ]; mainProgram = "sendme"; }; diff --git a/pkgs/by-name/se/senpai/package.nix b/pkgs/by-name/se/senpai/package.nix index f27a31e660887..d11d21315d205 100644 --- a/pkgs/by-name/se/senpai/package.nix +++ b/pkgs/by-name/se/senpai/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromSourcehut, installShellFiles, scdoc }: +{ + lib, + buildGoModule, + fetchFromSourcehut, + installShellFiles, + scdoc, +}: buildGoModule rec { pname = "senpai"; diff --git a/pkgs/by-name/se/sensible-side-buttons/package.nix b/pkgs/by-name/se/sensible-side-buttons/package.nix index 135ca6a60dbd3..8e9f0cb0ad401 100644 --- a/pkgs/by-name/se/sensible-side-buttons/package.nix +++ b/pkgs/by-name/se/sensible-side-buttons/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, undmg -, stdenv +{ + lib, + fetchurl, + undmg, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/se/sensible-utils/package.nix b/pkgs/by-name/se/sensible-utils/package.nix index c60220c0341cd..249c11cf7ad5e 100644 --- a/pkgs/by-name/se/sensible-utils/package.nix +++ b/pkgs/by-name/se/sensible-utils/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitLab, makeWrapper }: +{ + stdenv, + lib, + fetchFromGitLab, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "sensible-utils"; @@ -25,10 +30,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Collection of utilities used by programs to sensibly select and spawn an appropriate browser, editor, or pager"; longDescription = '' - The specific utilities included are: - - sensible-browser - - sensible-editor - - sensible-pager + The specific utilities included are: + - sensible-browser + - sensible-editor + - sensible-pager ''; homepage = "https://salsa.debian.org/debian/sensible-utils"; changelog = "https://salsa.debian.org/debian/sensible-utils/-/tags"; @@ -37,4 +42,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/se/sent/package.nix b/pkgs/by-name/se/sent/package.nix index 9f11cfa53bb20..ab46ecbc6e473 100644 --- a/pkgs/by-name/se/sent/package.nix +++ b/pkgs/by-name/se/sent/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl, farbfeld, libX11, libXft, makeWrapper -, patches ? [] }: +{ + lib, + stdenv, + fetchurl, + farbfeld, + libX11, + libXft, + makeWrapper, + patches ? [ ], +}: stdenv.mkDerivation rec { pname = "sent"; @@ -10,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0cxysz5lp25mgww73jl0mgip68x7iyvialyzdbriyaff269xxwvv"; }; - buildInputs = [ libX11 libXft ]; + buildInputs = [ + libX11 + libXft + ]; nativeBuildInputs = [ makeWrapper ]; # unpacking doesn't create a directory diff --git a/pkgs/by-name/se/sentencepiece/package.nix b/pkgs/by-name/se/sentencepiece/package.nix index 0c40f67c21ee5..335eff7d718e8 100644 --- a/pkgs/by-name/se/sentencepiece/package.nix +++ b/pkgs/by-name/se/sentencepiece/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, stdenv -, cmake -, gperftools - -, withGPerfTools ? true +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + gperftools, + + withGPerfTools ? true, }: stdenv.mkDerivation rec { @@ -22,7 +23,11 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals withGPerfTools [ gperftools ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; # https://github.com/google/sentencepiece/issues/754 postPatch = '' diff --git a/pkgs/by-name/se/senv/package.nix b/pkgs/by-name/se/senv/package.nix index 999b140c5fe2a..d7fd3e766918e 100644 --- a/pkgs/by-name/se/senv/package.nix +++ b/pkgs/by-name/se/senv/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "senv"; diff --git a/pkgs/by-name/se/seq-cli/deps.nix b/pkgs/by-name/se/seq-cli/deps.nix index d99b2edc3be70..ce66ce910aae7 100644 --- a/pkgs/by-name/se/seq-cli/deps.nix +++ b/pkgs/by-name/se/seq-cli/deps.nix @@ -1,23 +1,96 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Autofac"; version = "8.1.1"; hash = "sha256-///N/c/OmCa7DUVz9/hIA/rFsaJ4TMltqdrVk7Ycmq8="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "Seq.Api"; version = "2024.3.0"; hash = "sha256-OUBZ9VV7C5p/CzW0hoN3N9m1RAEGg24wNYFZgfJgk4s="; }) - (fetchNuGet { pname = "Seq.Apps"; version = "2023.4.0"; hash = "sha256-PLN0KYbxH9aQkMCTOSmb16NcGD+XDooJdU4QIej1i+0="; }) - (fetchNuGet { pname = "Seq.Syntax"; version = "1.0.0"; hash = "sha256-FcDdFhRE2EIgQjoTHDjKLq/Pl9mKzezL/B75pGhvk9s="; }) - (fetchNuGet { pname = "Serilog"; version = "4.0.2"; hash = "sha256-vkd4s/PsKnnVzN1+f9haIP5LoxNWxnhdv3mBQYl/2Hc="; }) - (fetchNuGet { pname = "Serilog.Expressions"; version = "5.0.0"; hash = "sha256-xpAT8U0pzTvRGa/qBd2M3YOQDD1xgAHCMVN9NEz0L4E="; }) - (fetchNuGet { pname = "Serilog.Formatting.Compact"; version = "3.0.0"; hash = "sha256-nejEYqJEMG9P2iFZvbsCUPr5LZRtxbdUTLCI9N71jHY="; }) - (fetchNuGet { pname = "Serilog.Formatting.Compact.Reader"; version = "4.0.0"; hash = "sha256-89+SaaXp9Pt8YTkTwVuMV3PzlPMg9mOHiFBKs3oHOUs="; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "6.0.0"; hash = "sha256-QH8ykDkLssJ99Fgl+ZBFBr+RQRl0wRTkeccQuuGLyro="; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; hash = "sha256-GKy9hwOdlu2W0Rw8LiPyEwus+sDtSOTl8a5l9uqz+SQ="; }) - (fetchNuGet { pname = "Serilog.Sinks.Seq"; version = "8.0.0"; hash = "sha256-1AEtDLODwS9WBkJ2yrmjKl2Rq3q2VPs1H9bQCUhC05s="; }) - (fetchNuGet { pname = "SerilogTracing"; version = "2.1.2"; hash = "sha256-fhSiUgk21s7kiz4QYF2fy9YLC1X0YHibi95x2flPqMM="; }) - (fetchNuGet { pname = "Superpower"; version = "3.0.0"; hash = "sha256-5MNmhBDYyOs+sTH364Qdn+Ck328BAQaVC1KMQ7yK2Vw="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.1"; hash = "sha256-zmwHjcJgKcbkkwepH038QhcnsWMJcHys+PEbFGC0Jgo="; }) - (fetchNuGet { pname = "System.Reactive"; version = "6.0.1"; hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; }) - (fetchNuGet { pname = "Tavis.UriTemplates"; version = "2.0.0"; hash = "sha256-Rd3VH55GFiXhMDbUcnKri2jDVIA1M7CQ+6Fjdsn/PSE="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Autofac"; + version = "8.1.1"; + hash = "sha256-///N/c/OmCa7DUVz9/hIA/rFsaJ4TMltqdrVk7Ycmq8="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "Seq.Api"; + version = "2024.3.0"; + hash = "sha256-OUBZ9VV7C5p/CzW0hoN3N9m1RAEGg24wNYFZgfJgk4s="; + }) + (fetchNuGet { + pname = "Seq.Apps"; + version = "2023.4.0"; + hash = "sha256-PLN0KYbxH9aQkMCTOSmb16NcGD+XDooJdU4QIej1i+0="; + }) + (fetchNuGet { + pname = "Seq.Syntax"; + version = "1.0.0"; + hash = "sha256-FcDdFhRE2EIgQjoTHDjKLq/Pl9mKzezL/B75pGhvk9s="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "4.0.2"; + hash = "sha256-vkd4s/PsKnnVzN1+f9haIP5LoxNWxnhdv3mBQYl/2Hc="; + }) + (fetchNuGet { + pname = "Serilog.Expressions"; + version = "5.0.0"; + hash = "sha256-xpAT8U0pzTvRGa/qBd2M3YOQDD1xgAHCMVN9NEz0L4E="; + }) + (fetchNuGet { + pname = "Serilog.Formatting.Compact"; + version = "3.0.0"; + hash = "sha256-nejEYqJEMG9P2iFZvbsCUPr5LZRtxbdUTLCI9N71jHY="; + }) + (fetchNuGet { + pname = "Serilog.Formatting.Compact.Reader"; + version = "4.0.0"; + hash = "sha256-89+SaaXp9Pt8YTkTwVuMV3PzlPMg9mOHiFBKs3oHOUs="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "6.0.0"; + hash = "sha256-QH8ykDkLssJ99Fgl+ZBFBr+RQRl0wRTkeccQuuGLyro="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "5.0.0"; + hash = "sha256-GKy9hwOdlu2W0Rw8LiPyEwus+sDtSOTl8a5l9uqz+SQ="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Seq"; + version = "8.0.0"; + hash = "sha256-1AEtDLODwS9WBkJ2yrmjKl2Rq3q2VPs1H9bQCUhC05s="; + }) + (fetchNuGet { + pname = "SerilogTracing"; + version = "2.1.2"; + hash = "sha256-fhSiUgk21s7kiz4QYF2fy9YLC1X0YHibi95x2flPqMM="; + }) + (fetchNuGet { + pname = "Superpower"; + version = "3.0.0"; + hash = "sha256-5MNmhBDYyOs+sTH364Qdn+Ck328BAQaVC1KMQ7yK2Vw="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.1"; + hash = "sha256-zmwHjcJgKcbkkwepH038QhcnsWMJcHys+PEbFGC0Jgo="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "6.0.1"; + hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; + }) + (fetchNuGet { + pname = "Tavis.UriTemplates"; + version = "2.0.0"; + hash = "sha256-Rd3VH55GFiXhMDbUcnKri2jDVIA1M7CQ+6Fjdsn/PSE="; + }) ] diff --git a/pkgs/by-name/se/seq24/package.nix b/pkgs/by-name/se/seq24/package.nix index 441f858a1055c..53f6c2acd53b2 100644 --- a/pkgs/by-name/se/seq24/package.nix +++ b/pkgs/by-name/se/seq24/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, alsa-lib, gtkmm2, libjack2, pkg-config }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + gtkmm2, + libjack2, + pkg-config, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "seq24"; version = "0.9.3"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { patches = [ ./mutex_no_nameclash.patch ]; - buildInputs = [ alsa-lib gtkmm2 libjack2 ]; + buildInputs = [ + alsa-lib + gtkmm2 + libjack2 + ]; nativeBuildInputs = [ pkg-config ]; meta = with lib; { diff --git a/pkgs/by-name/se/seqkit/package.nix b/pkgs/by-name/se/seqkit/package.nix index c5fb63c66eda1..1b049a4bc7e06 100644 --- a/pkgs/by-name/se/seqkit/package.nix +++ b/pkgs/by-name/se/seqkit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/se/seqtk/package.nix b/pkgs/by-name/se/seqtk/package.nix index 856248de917db..5e223163500b7 100644 --- a/pkgs/by-name/se/seqtk/package.nix +++ b/pkgs/by-name/se/seqtk/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib -, libdeflate -, isa-l +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + libdeflate, + isa-l, }: stdenv.mkDerivation rec { @@ -17,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-W6IUn7R9tlnWrKe/qOHJL+43AL4EZB7zj7M5u9l83WE="; }; - buildInputs = [ zlib libdeflate isa-l ]; + buildInputs = [ + zlib + libdeflate + isa-l + ]; makeFlags = [ "CC:=$(CC)" diff --git a/pkgs/by-name/se/sequeler/package.nix b/pkgs/by-name/se/sequeler/package.nix index aa76a65a17523..798b8503ad6a3 100644 --- a/pkgs/by-name/se/sequeler/package.nix +++ b/pkgs/by-name/se/sequeler/package.nix @@ -1,7 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, nix-update-script -, vala, meson, ninja, pkg-config, pantheon, gettext, wrapGAppsHook3, python3, desktop-file-utils -, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libssh2 }: - +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + vala, + meson, + ninja, + pkg-config, + pantheon, + gettext, + wrapGAppsHook3, + python3, + desktop-file-utils, + gtk3, + glib, + libgee, + libgda, + gtksourceview, + libxml2, + libsecret, + libssh2, +}: let sqlGda = libgda.override { @@ -9,7 +28,8 @@ let postgresSupport = true; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "sequeler"; version = "0.8.2"; @@ -20,9 +40,28 @@ in stdenv.mkDerivation rec { sha256 = "sha256-MsHHTYERe0v+u3KnVtx+jmJTKORJTJ7bNfJMZHV9Ly4="; }; - nativeBuildInputs = [ meson ninja pkg-config vala gettext wrapGAppsHook3 python3 desktop-file-utils ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gettext + wrapGAppsHook3 + python3 + desktop-file-utils + ]; - buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libssh2 ]; + buildInputs = [ + gtk3 + glib + pantheon.granite + libgee + sqlGda + gtksourceview + libxml2 + libsecret + libssh2 + ]; postPatch = '' chmod +x build-aux/meson_post_install.py diff --git a/pkgs/by-name/se/sequelpro/package.nix b/pkgs/by-name/se/sequelpro/package.nix index dd1aca73b7db8..8ded5e56349a4 100644 --- a/pkgs/by-name/se/sequelpro/package.nix +++ b/pkgs/by-name/se/sequelpro/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, undmg }: +{ + lib, + stdenv, + fetchurl, + undmg, +}: stdenv.mkDerivation { pname = "sequel-pro"; diff --git a/pkgs/by-name/se/sequoia-chameleon-gnupg/package.nix b/pkgs/by-name/se/sequoia-chameleon-gnupg/package.nix index 8d93ec1087bdd..5a522c3dfd037 100644 --- a/pkgs/by-name/se/sequoia-chameleon-gnupg/package.nix +++ b/pkgs/by-name/se/sequoia-chameleon-gnupg/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitLab -, pkg-config -, nettle -, openssl -, sqlite +{ + lib, + stdenv, + rustPlatform, + fetchFromGitLab, + pkg-config, + nettle, + openssl, + sqlite, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/se/sequoia-sq/package.nix b/pkgs/by-name/se/sequoia-sq/package.nix index e27d63939973f..3188f030696f0 100644 --- a/pkgs/by-name/se/sequoia-sq/package.nix +++ b/pkgs/by-name/se/sequoia-sq/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, fetchFromGitLab -, lib -, darwin -, nettle -, nix-update-script -, rustPlatform -, pkg-config -, capnproto -, installShellFiles -, openssl -, sqlite +{ + stdenv, + fetchFromGitLab, + lib, + darwin, + nettle, + nix-update-script, + rustPlatform, + pkg-config, + capnproto, + installShellFiles, + openssl, + sqlite, }: rustPlatform.buildRustPackage rec { @@ -32,11 +33,19 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - openssl - sqlite - nettle - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); + buildInputs = + [ + openssl + sqlite + nettle + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); checkFlags = [ # https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues/297 @@ -68,7 +77,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://sequoia-pgp.org/"; changelog = "https://gitlab.com/sequoia-pgp/sequoia-sq/-/blob/v${version}/NEWS"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ minijackson doronbehar dvn0 ]; + maintainers = with lib.maintainers; [ + minijackson + doronbehar + dvn0 + ]; mainProgram = "sq"; }; } diff --git a/pkgs/by-name/se/sequoia-sqop/package.nix b/pkgs/by-name/se/sequoia-sqop/package.nix index ff62b5793f0e5..6b464de530bcd 100644 --- a/pkgs/by-name/se/sequoia-sqop/package.nix +++ b/pkgs/by-name/se/sequoia-sqop/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitLab -, nettle -, nix-update-script -, installShellFiles -, rustPlatform -, pkg-config +{ + lib, + fetchFromGitLab, + nettle, + nix-update-script, + installShellFiles, + rustPlatform, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/se/sequoia-sqv/package.nix b/pkgs/by-name/se/sequoia-sqv/package.nix index 591a547425ba2..c3b7e01b709fd 100644 --- a/pkgs/by-name/se/sequoia-sqv/package.nix +++ b/pkgs/by-name/se/sequoia-sqv/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitLab -, nettle -, nix-update-script -, rustPlatform -, pkg-config -, installShellFiles +{ + lib, + fetchFromGitLab, + nettle, + nix-update-script, + rustPlatform, + pkg-config, + installShellFiles, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/se/sequoia-wot/package.nix b/pkgs/by-name/se/sequoia-wot/package.nix index 09ae4d8bd9f27..cd881884c365b 100644 --- a/pkgs/by-name/se/sequoia-wot/package.nix +++ b/pkgs/by-name/se/sequoia-wot/package.nix @@ -30,15 +30,18 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - openssl - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - # See comment near sequoia-openpgp/crypto- buildFeatures - ] ++ lib.optionals (!stdenv.targetPlatform.isWindows) [ - nettle - ]; + buildInputs = + [ + openssl + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + # See comment near sequoia-openpgp/crypto- buildFeatures + ] + ++ lib.optionals (!stdenv.targetPlatform.isWindows) [ + nettle + ]; buildFeatures = [ # Upstream uses the sequoia-openpgp crate, which doesn't force you to use a @@ -48,10 +51,11 @@ rustPlatform.buildRustPackage rec { # propagate this logic here as well. # # [1]: https://crates.io/crates/sequoia-openpgp#user-content-intermediate-crate - (if stdenv.targetPlatform.isWindows then - "sequoia-openpgp/crypto-cng" - else - "sequoia-openpgp/crypto-nettle" + ( + if stdenv.targetPlatform.isWindows then + "sequoia-openpgp/crypto-cng" + else + "sequoia-openpgp/crypto-nettle" ) ]; @@ -84,7 +88,10 @@ rustPlatform.buildRustPackage rec { description = "Rust CLI tool for authenticating bindings and exploring a web of trust"; homepage = "https://gitlab.com/sequoia-pgp/sequoia-wot"; license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ doronbehar Cryolitia ]; + maintainers = with lib.maintainers; [ + doronbehar + Cryolitia + ]; mainProgram = "sq-wot"; }; } diff --git a/pkgs/by-name/se/ser2net/package.nix b/pkgs/by-name/se/ser2net/package.nix index 2d580ce8ba0cb..287897119cbaf 100644 --- a/pkgs/by-name/se/ser2net/package.nix +++ b/pkgs/by-name/se/ser2net/package.nix @@ -1,11 +1,12 @@ -{ autoreconfHook -, fetchFromGitHub -, gensio -, lib -, libyaml -, nix-update-script -, pkg-config -, stdenv +{ + autoreconfHook, + fetchFromGitHub, + gensio, + lib, + libyaml, + nix-update-script, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { @@ -23,9 +24,15 @@ stdenv.mkDerivation rec { updateScript = nix-update-script { }; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - buildInputs = [ gensio libyaml ]; + buildInputs = [ + gensio + libyaml + ]; meta = with lib; { description = "Serial to network connection server"; diff --git a/pkgs/by-name/se/seren/package.nix b/pkgs/by-name/se/seren/package.nix index 80484114f32fc..23033872d848e 100644 --- a/pkgs/by-name/se/seren/package.nix +++ b/pkgs/by-name/se/seren/package.nix @@ -1,18 +1,25 @@ -{ lib -, stdenv -, fetchurl -, alsa-lib -, libopus -, libogg -, gmp -, ncurses +{ + lib, + stdenv, + fetchurl, + alsa-lib, + libopus, + libogg, + gmp, + ncurses, }: stdenv.mkDerivation rec { pname = "seren"; version = "0.0.21"; - buildInputs = [ alsa-lib libopus libogg gmp ncurses ]; + buildInputs = [ + alsa-lib + libopus + libogg + gmp + ncurses + ]; src = fetchurl { url = "http://holdenc.altervista.org/seren/downloads/${pname}-${version}.tar.gz"; @@ -32,7 +39,10 @@ stdenv.mkDerivation rec { homepage = "http://holdenc.altervista.org/seren/"; changelog = "http://holdenc.altervista.org/seren/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ matthewcroughan nixinator ]; + maintainers = with maintainers; [ + matthewcroughan + nixinator + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/se/serf/package.nix b/pkgs/by-name/se/serf/package.nix index 07138596d05de..2924049e075c6 100644 --- a/pkgs/by-name/se/serf/package.nix +++ b/pkgs/by-name/se/serf/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, apr -, scons -, openssl -, aprutil -, zlib -, libkrb5 -, pkg-config -, libiconv -, fetchpatch +{ + lib, + stdenv, + fetchurl, + apr, + scons, + openssl, + aprutil, + zlib, + libkrb5, + pkg-config, + libiconv, + fetchpatch, }: stdenv.mkDerivation rec { @@ -21,9 +22,17 @@ stdenv.mkDerivation rec { hash = "sha256-voHvCLqiUW7Np2p3rffe97wyJ+61eLmjO0X3tB3AZOY="; }; - nativeBuildInputs = [ pkg-config scons ]; - buildInputs = [ apr openssl aprutil zlib libiconv ] - ++ lib.optional (!stdenv.hostPlatform.isCygwin) libkrb5; + nativeBuildInputs = [ + pkg-config + scons + ]; + buildInputs = [ + apr + openssl + aprutil + zlib + libiconv + ] ++ lib.optional (!stdenv.hostPlatform.isCygwin) libkrb5; patches = [ ./scons.patch @@ -36,15 +45,17 @@ stdenv.mkDerivation rec { prefixKey = "PREFIX="; - preConfigure = '' - sconsFlags+=" APR=$(echo ${apr.dev}/bin/*-config)" - sconsFlags+=" APU=$(echo ${aprutil.dev}/bin/*-config)" - sconsFlags+=" CC=$CC" - sconsFlags+=" OPENSSL=${openssl}" - sconsFlags+=" ZLIB=${zlib}" - '' + lib.optionalString (!stdenv.hostPlatform.isCygwin) '' - sconsFlags+=" GSSAPI=${libkrb5.dev}" - ''; + preConfigure = + '' + sconsFlags+=" APR=$(echo ${apr.dev}/bin/*-config)" + sconsFlags+=" APU=$(echo ${aprutil.dev}/bin/*-config)" + sconsFlags+=" CC=$CC" + sconsFlags+=" OPENSSL=${openssl}" + sconsFlags+=" ZLIB=${zlib}" + '' + + lib.optionalString (!stdenv.hostPlatform.isCygwin) '' + sconsFlags+=" GSSAPI=${libkrb5.dev}" + ''; enableParallelBuilding = true; @@ -52,7 +63,10 @@ stdenv.mkDerivation rec { description = "HTTP client library based on APR"; homepage = "https://serf.apache.org/"; license = licenses.asl20; - maintainers = with maintainers; [ orivej raskin ]; + maintainers = with maintainers; [ + orivej + raskin + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/by-name/se/serfdom/package.nix b/pkgs/by-name/se/serfdom/package.nix index 1b8d4ca271c93..1abb60f71748a 100644 --- a/pkgs/by-name/se/serfdom/package.nix +++ b/pkgs/by-name/se/serfdom/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -21,12 +22,11 @@ buildGoModule rec { # These values are expected by version/version.go # https://github.com/hashicorp/serf/blob/7faa1b06262f70780c3c35ac25a4c96d754f06f3/version/version.go#L8-L22 - ldflags = lib.mapAttrsToList - (n: v: "-X github.com/hashicorp/serf/version.${n}=${v}") { - GitCommit = rev; - Version = version; - VersionPrerelease = ""; - }; + ldflags = lib.mapAttrsToList (n: v: "-X github.com/hashicorp/serf/version.${n}=${v}") { + GitCommit = rev; + Version = version; + VersionPrerelease = ""; + }; # There are no tests for cmd/serf. doCheck = false; diff --git a/pkgs/by-name/se/serial-unit-testing/package.nix b/pkgs/by-name/se/serial-unit-testing/package.nix index dd45dc760cf78..9971033ea0b6e 100644 --- a/pkgs/by-name/se/serial-unit-testing/package.nix +++ b/pkgs/by-name/se/serial-unit-testing/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, udev +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + udev, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/se/serialdv/package.nix b/pkgs/by-name/se/serialdv/package.nix index 549d036933755..655831830da17 100644 --- a/pkgs/by-name/se/serialdv/package.nix +++ b/pkgs/by-name/se/serialdv/package.nix @@ -1,8 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "serialdv"; - version ="1.1.4"; + version = "1.1.4"; src = fetchFromGitHub { owner = "f4exb"; @@ -22,4 +27,3 @@ stdenv.mkDerivation rec { license = licenses.gpl3; }; } - diff --git a/pkgs/by-name/se/serious-sans/package.nix b/pkgs/by-name/se/serious-sans/package.nix index b66af28dd22a5..64159fc2d482a 100644 --- a/pkgs/by-name/se/serious-sans/package.nix +++ b/pkgs/by-name/se/serious-sans/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub +{ + stdenvNoCC, + lib, + fetchFromGitHub, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/se/serpent/package.nix b/pkgs/by-name/se/serpent/package.nix index 670986b3ffc5c..a121a4826d6ea 100644 --- a/pkgs/by-name/se/serpent/package.nix +++ b/pkgs/by-name/se/serpent/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + ... +}: stdenv.mkDerivation { pname = "serpent"; diff --git a/pkgs/by-name/se/serverless/package.nix b/pkgs/by-name/se/serverless/package.nix index c7ab60a5be592..315a027bc7304 100644 --- a/pkgs/by-name/se/serverless/package.nix +++ b/pkgs/by-name/se/serverless/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/se/service-wrapper/package.nix b/pkgs/by-name/se/service-wrapper/package.nix index 08f7d00bc9628..3a6c450449fd3 100644 --- a/pkgs/by-name/se/service-wrapper/package.nix +++ b/pkgs/by-name/se/service-wrapper/package.nix @@ -1,29 +1,36 @@ -{ lib, stdenv, runCommand, substituteAll, coreutils }: +{ + lib, + stdenv, + runCommand, + substituteAll, + coreutils, +}: let name = "service-wrapper-${version}"; version = "19.04"; # Akin to Ubuntu Release in -runCommand name { - script = substituteAll { - src = ./service-wrapper.sh; - isExecutable = true; - inherit (stdenv) shell; - inherit coreutils; - }; +runCommand name + { + script = substituteAll { + src = ./service-wrapper.sh; + isExecutable = true; + inherit (stdenv) shell; + inherit coreutils; + }; - meta = with lib; { - description = "Convenient wrapper for the systemctl commands, borrow from Ubuntu"; - mainProgram = "service"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ DerTim1 ]; - # Shellscript has been modified but upstream source is: https://git.launchpad.net/ubuntu/+source/init-system-helpers - }; -} -'' - mkdir -p $out/bin - ln -s $out/bin $out/sbin - cp $script $out/bin/service - chmod a+x $out/bin/service -'' + meta = with lib; { + description = "Convenient wrapper for the systemctl commands, borrow from Ubuntu"; + mainProgram = "service"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ DerTim1 ]; + # Shellscript has been modified but upstream source is: https://git.launchpad.net/ubuntu/+source/init-system-helpers + }; + } + '' + mkdir -p $out/bin + ln -s $out/bin $out/sbin + cp $script $out/bin/service + chmod a+x $out/bin/service + '' diff --git a/pkgs/by-name/se/serviio/package.nix b/pkgs/by-name/se/serviio/package.nix index f2e652adaae3d..122eb602072b7 100644 --- a/pkgs/by-name/se/serviio/package.nix +++ b/pkgs/by-name/se/serviio/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "serviio"; diff --git a/pkgs/by-name/se/seshat/package.nix b/pkgs/by-name/se/seshat/package.nix index a04bb1feb6f5f..aaaedde2ee006 100644 --- a/pkgs/by-name/se/seshat/package.nix +++ b/pkgs/by-name/se/seshat/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -36,7 +40,10 @@ stdenvNoCC.mkDerivation { It incorporates symbols and ligatures used in the European region. ''; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.cc0; }; } diff --git a/pkgs/by-name/se/setbfree/package.nix b/pkgs/by-name/se/setbfree/package.nix index 2284df444ec5d..64211ac59fcc5 100644 --- a/pkgs/by-name/se/setbfree/package.nix +++ b/pkgs/by-name/se/setbfree/package.nix @@ -1,8 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, alsa-lib, freetype, ftgl, libjack2, libX11, lv2 -, libGLU, libGL, pkg-config, ttf_bitstream_vera +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + alsa-lib, + freetype, + ftgl, + libjack2, + libX11, + lv2, + libGLU, + libGL, + pkg-config, + ttf_bitstream_vera, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "setbfree"; version = "0.8.12"; @@ -30,7 +43,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - alsa-lib freetype ftgl libjack2 libX11 lv2 libGLU libGL + alsa-lib + freetype + ftgl + libjack2 + libX11 + lv2 + libGLU + libGL ttf_bitstream_vera ]; @@ -49,7 +69,10 @@ stdenv.mkDerivation rec { description = "DSP tonewheel organ emulator"; homepage = "https://setbfree.org"; license = licenses.gpl2; - platforms = [ "x86_64-linux" "i686-linux" ]; # fails on ARM and Darwin + platforms = [ + "x86_64-linux" + "i686-linux" + ]; # fails on ARM and Darwin maintainers = [ ]; }; } diff --git a/pkgs/by-name/se/setools/package.nix b/pkgs/by-name/se/setools/package.nix index 7442815f3a7da..fc9a6c31b6f99 100644 --- a/pkgs/by-name/se/setools/package.nix +++ b/pkgs/by-name/se/setools/package.nix @@ -1,6 +1,11 @@ -{ lib, fetchFromGitHub, python3 -, libsepol, libselinux, checkpolicy -, withGraphics ? false +{ + lib, + fetchFromGitHub, + python3, + libsepol, + libselinux, + checkpolicy, + withGraphics ? false, }: python3.pkgs.buildPythonApplication rec { @@ -16,10 +21,20 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = [ python3.pkgs.cython ]; buildInputs = [ libsepol ]; - propagatedBuildInputs = with python3.pkgs; [ enum34 libselinux networkx setuptools ] + propagatedBuildInputs = + with python3.pkgs; + [ + enum34 + libselinux + networkx + setuptools + ] ++ lib.optionals withGraphics [ pyqt5 ]; - nativeCheckInputs = [ python3.pkgs.tox checkpolicy ]; + nativeCheckInputs = [ + python3.pkgs.tox + checkpolicy + ]; preCheck = '' export CHECKPOLICY=${checkpolicy}/bin/checkpolicy ''; diff --git a/pkgs/by-name/se/setroot/package.nix b/pkgs/by-name/se/setroot/package.nix index 2c7729eab3ad3..7bb722ffdb15f 100644 --- a/pkgs/by-name/se/setroot/package.nix +++ b/pkgs/by-name/se/setroot/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libX11, imlib2, pkg-config, fetchpatch -, enableXinerama ? true, libXinerama +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + imlib2, + pkg-config, + fetchpatch, + enableXinerama ? true, + libXinerama, }: stdenv.mkDerivation rec { @@ -22,10 +30,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 imlib2 ] - ++ lib.optionals enableXinerama [ libXinerama ]; + buildInputs = [ + libX11 + imlib2 + ] ++ lib.optionals enableXinerama [ libXinerama ]; - buildFlags = [ (if enableXinerama then "xinerama=1" else "xinerama=0") ] ; + buildFlags = [ (if enableXinerama then "xinerama=1" else "xinerama=0") ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/se/setserial/package.nix b/pkgs/by-name/se/setserial/package.nix index 5a03c69d7e848..05564384699ad 100644 --- a/pkgs/by-name/se/setserial/package.nix +++ b/pkgs/by-name/se/setserial/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, groff }: +{ + lib, + stdenv, + fetchurl, + groff, +}: stdenv.mkDerivation rec { pname = "setserial"; diff --git a/pkgs/by-name/se/setup-envtest/package.nix b/pkgs/by-name/se/setup-envtest/package.nix index a43b97b6a4000..32b38df934b54 100644 --- a/pkgs/by-name/se/setup-envtest/package.nix +++ b/pkgs/by-name/se/setup-envtest/package.nix @@ -1,22 +1,28 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "setup-envtest"; version = "0.19.0"; - src = fetchFromGitHub { - owner = "kubernetes-sigs"; - repo = "controller-runtime"; - rev = "v${version}"; - hash = "sha256-9AqZMiA+OIJD+inmeUc/lq57kV7L85jk1I4ywiSKirg="; - } + "/tools/setup-envtest"; + src = + fetchFromGitHub { + owner = "kubernetes-sigs"; + repo = "controller-runtime"; + rev = "v${version}"; + hash = "sha256-9AqZMiA+OIJD+inmeUc/lq57kV7L85jk1I4ywiSKirg="; + } + + "/tools/setup-envtest"; vendorHash = "sha256-sn3HiKTpQzjrFTOVOGFJwoNpxU+XWgkWD2EOcPilePY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/se/seturgent/package.nix b/pkgs/by-name/se/seturgent/package.nix index b8c02f47d0eeb..1b3dbbc647bc2 100644 --- a/pkgs/by-name/se/seturgent/package.nix +++ b/pkgs/by-name/se/seturgent/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, libX11, xorgproto }: +{ + lib, + stdenv, + fetchgit, + libX11, + xorgproto, +}: stdenv.mkDerivation rec { pname = "seturgent"; diff --git a/pkgs/by-name/se/sewer/package.nix b/pkgs/by-name/se/sewer/package.nix index a2d8eb2cb1b5b..41b134e7d61a9 100644 --- a/pkgs/by-name/se/sewer/package.nix +++ b/pkgs/by-name/se/sewer/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "sewer"; @@ -9,7 +13,11 @@ python3Packages.buildPythonApplication rec { sha256 = "sha256-a4VdbZY8pYxrXIaUHJpnLuTB928tJn4UCdnt+m8UBug="; }; - propagatedBuildInputs = with python3Packages; [ pyopenssl requests tldextract ]; + propagatedBuildInputs = with python3Packages; [ + pyopenssl + requests + tldextract + ]; meta = with lib; { homepage = "https://github.com/komuw/sewer"; diff --git a/pkgs/by-name/se/sexpp/package.nix b/pkgs/by-name/se/sexpp/package.nix index 1da355e2b5958..608f044ceb5fd 100644 --- a/pkgs/by-name/se/sexpp/package.nix +++ b/pkgs/by-name/se/sexpp/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, bzip2 -, cmake -, fetchFromGitHub -, gtest -, pkg-config -, zlib +{ + lib, + stdenv, + bzip2, + cmake, + fetchFromGitHub, + gtest, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-mNt6J8nhzT5sF28ktl3jOkQMKn6x9iE04MMrwwVxyZs="; }; - buildInputs = [ zlib bzip2 ]; + buildInputs = [ + zlib + bzip2 + ]; cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" @@ -30,9 +34,17 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_SANITIZERS=off" ]; - nativeBuildInputs = [ cmake gtest pkg-config ]; + nativeBuildInputs = [ + cmake + gtest + pkg-config + ]; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; preConfigure = '' echo "v${finalAttrs.version}" > version.txt diff --git a/pkgs/by-name/se/seyren/package.nix b/pkgs/by-name/se/seyren/package.nix index 25f83587af7c8..a9a1e114d2256 100644 --- a/pkgs/by-name/se/seyren/package.nix +++ b/pkgs/by-name/se/seyren/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "seyren"; diff --git a/pkgs/by-name/sf/sfeed/package.nix b/pkgs/by-name/sf/sfeed/package.nix index 818f84ed37dff..a3d3349b504fa 100644 --- a/pkgs/by-name/sf/sfeed/package.nix +++ b/pkgs/by-name/sf/sfeed/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchgit, ncurses }: +{ + stdenv, + lib, + fetchgit, + ncurses, +}: stdenv.mkDerivation rec { pname = "sfeed"; @@ -12,7 +17,11 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - makeFlags = [ "RANLIB:=$(RANLIB)" "SFEED_CURSES_LDFLAGS:=-lncurses" ] + makeFlags = + [ + "RANLIB:=$(RANLIB)" + "SFEED_CURSES_LDFLAGS:=-lncurses" + ] # use macOS's strlcat() and strlcpy() instead of vendored ones ++ lib.optional stdenv.hostPlatform.isDarwin "COMPATOBJ:="; diff --git a/pkgs/by-name/sf/sfizz/package.nix b/pkgs/by-name/sf/sfizz/package.nix index a76654fdd9098..39b35f4e664d4 100644 --- a/pkgs/by-name/sf/sfizz/package.nix +++ b/pkgs/by-name/sf/sfizz/package.nix @@ -1,6 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, libjack2, libsndfile, xorg, freetype -, libxkbcommon, cairo, glib, zenity, flac, libogg, libvorbis, libopus, cmake -, pango, pkg-config, catch2 +{ + lib, + stdenv, + fetchFromGitHub, + libjack2, + libsndfile, + xorg, + freetype, + libxkbcommon, + cairo, + glib, + zenity, + flac, + libogg, + libvorbis, + libopus, + cmake, + pango, + pkg-config, + catch2, }: stdenv.mkDerivation rec { @@ -38,10 +55,13 @@ stdenv.mkDerivation rec { freetype pango ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; # Fix missing include - patches = [./gcc13.patch]; + patches = [ ./gcc13.patch ]; postPatch = '' cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp diff --git a/pkgs/by-name/sf/sfm/package.nix b/pkgs/by-name/sf/sfm/package.nix index 8a3aaee4418e9..55ba36cf83aba 100644 --- a/pkgs/by-name/sf/sfm/package.nix +++ b/pkgs/by-name/sf/sfm/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + conf ? null, +}: stdenv.mkDerivation rec { pname = "sfm"; @@ -11,9 +17,9 @@ stdenv.mkDerivation rec { hash = "sha256-VwPux6n+azpR4qDkzZJia95pJJOaFDBBoz6/VwlC0zw="; }; - configFile = lib.optionalString (conf!=null) (writeText "config.def.h" conf); + configFile = lib.optionalString (conf != null) (writeText "config.def.h" conf); - postPatch = lib.optionalString (conf!=null) "cp ${configFile} config.def.h"; + postPatch = lib.optionalString (conf != null) "cp ${configFile} config.def.h"; makeFlags = [ "CC:=$(CC)" ]; diff --git a/pkgs/by-name/sf/sfrotz/package.nix b/pkgs/by-name/sf/sfrotz/package.nix index 49f903b861011..5a798b5f03b70 100644 --- a/pkgs/by-name/sf/sfrotz/package.nix +++ b/pkgs/by-name/sf/sfrotz/package.nix @@ -1,23 +1,26 @@ -{ fetchFromGitLab -, freetype -, libao -, libjpeg -, libmodplug -, libpng -, libsamplerate -, libsndfile -, libvorbis -, pkg-config -, SDL2 -, SDL2_mixer -, lib, stdenv -, zlib }: +{ + fetchFromGitLab, + freetype, + libao, + libjpeg, + libmodplug, + libpng, + libsamplerate, + libsndfile, + libvorbis, + pkg-config, + SDL2, + SDL2_mixer, + lib, + stdenv, + zlib, +}: stdenv.mkDerivation rec { pname = "sfrotz"; version = "2.54"; - src = fetchFromGitLab { + src = fetchFromGitLab { domain = "gitlab.com"; owner = "DavidGriffith"; repo = "frotz"; @@ -44,8 +47,7 @@ stdenv.mkDerivation rec { installTargets = [ "install_sfrotz" ]; meta = with lib; { - description = - "Interpreter for Infocom and other Z-Machine games (SDL interface)"; + description = "Interpreter for Infocom and other Z-Machine games (SDL interface)"; mainProgram = "sfrotz"; longDescription = '' Frotz is a Z-Machine interpreter. The Z-machine is a virtual machine diff --git a/pkgs/by-name/sf/sfsexp/package.nix b/pkgs/by-name/sf/sfsexp/package.nix index 3d047ccd7f50d..c7e9cde3ad1ea 100644 --- a/pkgs/by-name/sf/sfsexp/package.nix +++ b/pkgs/by-name/sf/sfsexp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "sfsexp"; diff --git a/pkgs/by-name/sf/sftpgo/package.nix b/pkgs/by-name/sf/sftpgo/package.nix index bf7c1b8d650d6..a5d0edde103c9 100644 --- a/pkgs/by-name/sf/sftpgo/package.nix +++ b/pkgs/by-name/sf/sftpgo/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nixosTests, }: buildGoModule rec { @@ -58,7 +59,10 @@ buildGoModule rec { local filesystem, encrypted local filesystem, S3 (compatible) Object Storage, Google Cloud Storage, Azure Blob Storage, SFTP. ''; - license = with licenses; [ agpl3Only unfreeRedistributable ]; # Software is AGPLv3, web UI is unfree + license = with licenses; [ + agpl3Only + unfreeRedistributable + ]; # Software is AGPLv3, web UI is unfree maintainers = with maintainers; [ thenonameguy ]; mainProgram = "sftpgo"; }; diff --git a/pkgs/by-name/sf/sftpman/package.nix b/pkgs/by-name/sf/sftpman/package.nix index 579c03992ddef..c0274be1de797 100644 --- a/pkgs/by-name/sf/sftpman/package.nix +++ b/pkgs/by-name/sf/sftpman/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "sftpman"; diff --git a/pkgs/by-name/sf/sfxr/package.nix b/pkgs/by-name/sf/sfxr/package.nix index 03813ff35248d..5f2fe5e75d87e 100644 --- a/pkgs/by-name/sf/sfxr/package.nix +++ b/pkgs/by-name/sf/sfxr/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, desktop-file-utils -, SDL -, gtk3 -, gsettings-desktop-schemas -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + desktop-file-utils, + SDL, + gtk3, + gsettings-desktop-schemas, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sf/sfz/package.nix b/pkgs/by-name/sf/sfz/package.nix index 768afed6679d1..c50f9985dbb2f 100644 --- a/pkgs/by-name/sf/sfz/package.nix +++ b/pkgs/by-name/sf/sfz/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "sfz"; @@ -19,7 +23,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Simple static file serving command-line tool written in Rust"; homepage = "https://github.com/weihanglo/sfz"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ dit7ya ]; mainProgram = "sfz"; }; diff --git a/pkgs/by-name/sg/sg3_utils/package.nix b/pkgs/by-name/sg/sg3_utils/package.nix index 3975a5927f475..a5951ab87eafd 100644 --- a/pkgs/by-name/sg/sg3_utils/package.nix +++ b/pkgs/by-name/sg/sg3_utils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sg3_utils"; @@ -13,6 +17,9 @@ stdenv.mkDerivation rec { homepage = "https://sg.danny.cz/sg/"; description = "Utilities that send SCSI commands to devices"; platforms = platforms.linux; - license = with licenses; [ bsd2 gpl2Plus ]; + license = with licenses; [ + bsd2 + gpl2Plus + ]; }; } diff --git a/pkgs/by-name/sg/sgfutils/package.nix b/pkgs/by-name/sg/sgfutils/package.nix index 586a3ab1e096d..106dfb788e825 100644 --- a/pkgs/by-name/sg/sgfutils/package.nix +++ b/pkgs/by-name/sg/sgfutils/package.nix @@ -1,14 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl -, libiconv -, makeWrapper -, imagemagick -, makeFontsConf -}: -stdenv.mkDerivation { + lib, + stdenv, + fetchFromGitHub, + openssl, + libiconv, + makeWrapper, + imagemagick, + makeFontsConf, +}: +stdenv.mkDerivation { pname = "sgfutils"; version = "0.25-unstable-2017-11-27"; src = fetchFromGitHub { @@ -36,7 +36,7 @@ stdenv.mkDerivation postFixup = '' wrapProgram $out/bin/sgftopng \ --prefix PATH : ${lib.makeBinPath [ imagemagick ]} \ - --set-default FONTCONFIG_FILE ${makeFontsConf { fontDirectories = []; }} + --set-default FONTCONFIG_FILE ${makeFontsConf { fontDirectories = [ ]; }} ''; meta = with lib; { homepage = "https://homepages.cwi.nl/~aeb/go/sgfutils/html/sgfutils.html"; diff --git a/pkgs/by-name/sg/sgp4/package.nix b/pkgs/by-name/sg/sgp4/package.nix index b2095e93aa11b..be069dead65bb 100644 --- a/pkgs/by-name/sg/sgp4/package.nix +++ b/pkgs/by-name/sg/sgp4/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation { pname = "sgp4"; diff --git a/pkgs/by-name/sg/sgrep/package.nix b/pkgs/by-name/sg/sgrep/package.nix index 4b7476e55f6d0..4c93b1b6954e2 100644 --- a/pkgs/by-name/sg/sgrep/package.nix +++ b/pkgs/by-name/sg/sgrep/package.nix @@ -1,4 +1,12 @@ -{ stdenv, sgrep, fetchurl, runCommand, lib, m4, makeWrapper }: +{ + stdenv, + sgrep, + fetchurl, + runCommand, + lib, + m4, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "sgrep"; diff --git a/pkgs/by-name/sg/sgx-azure-dcap-client/package.nix b/pkgs/by-name/sg/sgx-azure-dcap-client/package.nix index 99e5c4b1a09c1..2ccace2d3c27f 100644 --- a/pkgs/by-name/sg/sgx-azure-dcap-client/package.nix +++ b/pkgs/by-name/sg/sgx-azure-dcap-client/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, fetchFromGitHub -, fetchpatch -, lib -, curl -, nlohmann_json -, openssl -, pkg-config -, linkFarmFromDrvs -, callPackage +{ + stdenv, + fetchFromGitHub, + fetchpatch, + lib, + curl, + nlohmann_json, + openssl, + pkg-config, + linkFarmFromDrvs, + callPackage, }: let # Although those headers are also included in the source of `sgx-psw`, the `azure-dcap-client` build needs specific versions @@ -87,7 +88,11 @@ stdenv.mkDerivation rec { meta = { description = "Interfaces between SGX SDKs and the Azure Attestation SGX Certification Cache"; homepage = "https://github.com/microsoft/azure-dcap-client"; - maintainers = with lib.maintainers; [ phlip9 trundle veehaitch ]; + maintainers = with lib.maintainers; [ + phlip9 + trundle + veehaitch + ]; platforms = [ "x86_64-linux" ]; license = [ lib.licenses.mit ]; }; diff --git a/pkgs/by-name/sg/sgx-azure-dcap-client/test-suite.nix b/pkgs/by-name/sg/sgx-azure-dcap-client/test-suite.nix index 40d80ece8abfb..5363efd55835a 100644 --- a/pkgs/by-name/sg/sgx-azure-dcap-client/test-suite.nix +++ b/pkgs/by-name/sg/sgx-azure-dcap-client/test-suite.nix @@ -1,7 +1,8 @@ -{ lib -, sgx-azure-dcap-client -, gtest -, makeWrapper +{ + lib, + sgx-azure-dcap-client, + gtest, + makeWrapper, }: sgx-azure-dcap-client.overrideAttrs (old: { nativeBuildInputs = old.nativeBuildInputs ++ [ @@ -9,7 +10,7 @@ sgx-azure-dcap-client.overrideAttrs (old: { gtest ]; - patches = (old.patches or []) ++ [ + patches = (old.patches or [ ]) ++ [ ./tests-missing-includes.patch ]; diff --git a/pkgs/by-name/sg/sgx-ssl/package.nix b/pkgs/by-name/sg/sgx-ssl/package.nix index 73cde2e030af4..f67a960ace58e 100644 --- a/pkgs/by-name/sg/sgx-ssl/package.nix +++ b/pkgs/by-name/sg/sgx-ssl/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, callPackage -, fetchFromGitHub -, fetchurl -, lib -, perl -, sgx-sdk -, which -, debug ? false +{ + stdenv, + callPackage, + fetchFromGitHub, + fetchurl, + lib, + perl, + sgx-sdk, + which, + debug ? false, }: let sgxVersion = sgx-sdk.versionTag; @@ -49,11 +50,13 @@ stdenv.mkDerivation { which ]; - makeFlags = [ - "-C Linux" - ] ++ lib.optionals debug [ - "DEBUG=1" - ]; + makeFlags = + [ + "-C Linux" + ] + ++ lib.optionals debug [ + "DEBUG=1" + ]; installFlags = [ "DESTDIR=$(out)" @@ -67,15 +70,28 @@ stdenv.mkDerivation { # nix run .#sgx-ssl.tests.SIM # ``` passthru.tests = { - HW = callPackage ./tests.nix { sgxMode = "HW"; inherit opensslVersion; }; - SIM = callPackage ./tests.nix { sgxMode = "SIM"; inherit opensslVersion; }; + HW = callPackage ./tests.nix { + sgxMode = "HW"; + inherit opensslVersion; + }; + SIM = callPackage ./tests.nix { + sgxMode = "SIM"; + inherit opensslVersion; + }; }; meta = { description = "Cryptographic library for Intel SGX enclave applications based on OpenSSL"; homepage = "https://github.com/intel/intel-sgx-ssl"; - maintainers = with lib.maintainers; [ phlip9 trundle veehaitch ]; + maintainers = with lib.maintainers; [ + phlip9 + trundle + veehaitch + ]; platforms = [ "x86_64-linux" ]; - license = with lib.licenses; [ bsd3 openssl ]; + license = with lib.licenses; [ + bsd3 + openssl + ]; }; } diff --git a/pkgs/by-name/sg/sgx-ssl/tests.nix b/pkgs/by-name/sg/sgx-ssl/tests.nix index d9357ba043102..a7cf2b0ea8d3b 100644 --- a/pkgs/by-name/sg/sgx-ssl/tests.nix +++ b/pkgs/by-name/sg/sgx-ssl/tests.nix @@ -13,38 +13,41 @@ # These tests are split out from the parent pkg since recompiling the parent # takes like 30 min : ) -{ lib -, openssl -, sgx-psw -, sgx-sdk -, sgx-ssl -, stdenv -, which -, opensslVersion ? throw "required parameter" -, sgxMode ? throw "required parameter" # "SIM" or "HW" +{ + lib, + openssl, + sgx-psw, + sgx-sdk, + sgx-ssl, + stdenv, + which, + opensslVersion ? throw "required parameter", + sgxMode ? throw "required parameter", # "SIM" or "HW" }: stdenv.mkDerivation { inherit (sgx-ssl) postPatch src version; pname = sgx-ssl.pname + "-tests-${sgxMode}"; - postUnpack = sgx-ssl.postUnpack + '' - sourceRootAbs=$(readlink -e $sourceRoot) - packageDir=$sourceRootAbs/Linux/package + postUnpack = + sgx-ssl.postUnpack + + '' + sourceRootAbs=$(readlink -e $sourceRoot) + packageDir=$sourceRootAbs/Linux/package - # Do the inverse of 'make install' and symlink built artifacts back into - # '$src/Linux/package/' to avoid work. - mkdir $packageDir/lib $packageDir/lib64 - ln -s ${lib.getLib sgx-ssl}/lib/* $packageDir/lib/ - ln -s ${lib.getLib sgx-ssl}/lib64/* $packageDir/lib64/ - ln -sf ${lib.getDev sgx-ssl}/include/* $packageDir/include/ + # Do the inverse of 'make install' and symlink built artifacts back into + # '$src/Linux/package/' to avoid work. + mkdir $packageDir/lib $packageDir/lib64 + ln -s ${lib.getLib sgx-ssl}/lib/* $packageDir/lib/ + ln -s ${lib.getLib sgx-ssl}/lib64/* $packageDir/lib64/ + ln -sf ${lib.getDev sgx-ssl}/include/* $packageDir/include/ - # test_app needs some internal openssl headers. - # See: tail end of 'Linux/build_openssl.sh' - tar -C $sourceRootAbs/openssl_source -xf $sourceRootAbs/openssl_source/openssl-${opensslVersion}.tar.gz - echo '#define OPENSSL_VERSION_STR "${opensslVersion}"' > $sourceRootAbs/Linux/sgx/osslverstr.h - ln -s $sourceRootAbs/openssl_source/openssl-${opensslVersion}/include/crypto $sourceRootAbs/Linux/sgx/test_app/enclave/ - ln -s $sourceRootAbs/openssl_source/openssl-${opensslVersion}/include/internal $sourceRootAbs/Linux/sgx/test_app/enclave/ - ''; + # test_app needs some internal openssl headers. + # See: tail end of 'Linux/build_openssl.sh' + tar -C $sourceRootAbs/openssl_source -xf $sourceRootAbs/openssl_source/openssl-${opensslVersion}.tar.gz + echo '#define OPENSSL_VERSION_STR "${opensslVersion}"' > $sourceRootAbs/Linux/sgx/osslverstr.h + ln -s $sourceRootAbs/openssl_source/openssl-${opensslVersion}/include/crypto $sourceRootAbs/Linux/sgx/test_app/enclave/ + ln -s $sourceRootAbs/openssl_source/openssl-${opensslVersion}/include/internal $sourceRootAbs/Linux/sgx/test_app/enclave/ + ''; nativeBuildInputs = [ openssl.bin diff --git a/pkgs/by-name/sh/sha1collisiondetection/package.nix b/pkgs/by-name/sh/sha1collisiondetection/package.nix index 07c9ed9b24083..4f65e3034f161 100644 --- a/pkgs/by-name/sh/sha1collisiondetection/package.nix +++ b/pkgs/by-name/sh/sha1collisiondetection/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libtool, which }: +{ + lib, + stdenv, + fetchFromGitHub, + libtool, + which, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "sha1collisiondetection"; version = "1.0.3"; @@ -15,7 +21,10 @@ stdenv.mkDerivation rec { doCheck = true; - nativeBuildInputs = [ libtool which ]; + nativeBuildInputs = [ + libtool + which + ]; meta = with lib; { description = "Library and command line tool to detect SHA-1 collision"; @@ -26,7 +35,7 @@ stdenv.mkDerivation rec { detect cryptanalytic collision attacks against SHA-1 present in each file. It is very fast and takes less than twice the amount of time as regular SHA-1. - ''; + ''; platforms = platforms.all; maintainers = with maintainers; [ leenaars ]; license = licenses.mit; diff --git a/pkgs/by-name/sh/sha2wordlist/package.nix b/pkgs/by-name/sh/sha2wordlist/package.nix index c3a6710efb176..e84c045284e6a 100644 --- a/pkgs/by-name/sh/sha2wordlist/package.nix +++ b/pkgs/by-name/sh/sha2wordlist/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libbsd +{ + lib, + stdenv, + fetchFromGitHub, + libbsd, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/sh/shab/package.nix b/pkgs/by-name/sh/shab/package.nix index 25e2baf034e20..ee4fca701e4b4 100644 --- a/pkgs/by-name/sh/shab/package.nix +++ b/pkgs/by-name/sh/shab/package.nix @@ -1,4 +1,11 @@ -{ bash, stdenv, lib, runCommand, writeText, fetchFromGitHub }: +{ + bash, + stdenv, + lib, + runCommand, + writeText, + fetchFromGitHub, +}: let version = "1.0.0"; @@ -53,12 +60,15 @@ let shabScript: a path or filename to use as a template parameters.name: the name to use as part of the store path parameters: variables to expose to the template - */ - render = shabScript: parameters: - let extraParams = { - inherit shabScript; - }; - in runCommand "out" (parameters // extraParams) '' + */ + render = + shabScript: parameters: + let + extraParams = { + inherit shabScript; + }; + in + runCommand "out" (parameters // extraParams) '' ${shab}/bin/shab "$shabScript" >$out ''; @@ -66,9 +76,8 @@ let shabScriptText: a string to use as a template parameters.name: the name to use as part of the store path parameters: variables to expose to the template - */ - renderText = shabScriptText: parameters: - render (writeText "template" shabScriptText) parameters; + */ + renderText = shabScriptText: parameters: render (writeText "template" shabScriptText) parameters; in - shab +shab diff --git a/pkgs/by-name/sh/shabnam-fonts/package.nix b/pkgs/by-name/sh/shabnam-fonts/package.nix index fd8f146eb3558..8676e7310ffa5 100644 --- a/pkgs/by-name/sh/shabnam-fonts/package.nix +++ b/pkgs/by-name/sh/shabnam-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "shabnam-fonts"; diff --git a/pkgs/by-name/sh/shadered/package.nix b/pkgs/by-name/sh/shadered/package.nix index cebb9704d180b..ff9d322b98548 100644 --- a/pkgs/by-name/sh/shadered/package.nix +++ b/pkgs/by-name/sh/shadered/package.nix @@ -1,13 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, sfml -, glm -, python3 -, glew -, pkg-config -, SDL2 }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + sfml, + glm, + python3, + glew, + pkg-config, + SDL2, +}: stdenv.mkDerivation rec { pname = "SHADERed"; diff --git a/pkgs/by-name/sh/shadershark/package.nix b/pkgs/by-name/sh/shadershark/package.nix index 8585dd8c015a8..a9fc8bb1384db 100644 --- a/pkgs/by-name/sh/shadershark/package.nix +++ b/pkgs/by-name/sh/shadershark/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchhg -, libepoxy -, xorg -, libGLU -, glm -, pkg-config -, imagemagick -, makeWrapper -, installShellFiles -, genericUpdater -, writeShellScript +{ + stdenv, + lib, + fetchhg, + libepoxy, + xorg, + libGLU, + glm, + pkg-config, + imagemagick, + makeWrapper, + installShellFiles, + genericUpdater, + writeShellScript, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sh/shades-of-gray-theme/package.nix b/pkgs/by-name/sh/shades-of-gray-theme/package.nix index e4c4cfb3ba51e..6a4f1bad37a11 100644 --- a/pkgs/by-name/sh/shades-of-gray-theme/package.nix +++ b/pkgs/by-name/sh/shades-of-gray-theme/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, gtk_engines, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk_engines, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "shades-of-gray-theme"; diff --git a/pkgs/by-name/sh/shadow-tls/package.nix b/pkgs/by-name/sh/shadow-tls/package.nix index 481729feff67f..b0219c46f26b8 100644 --- a/pkgs/by-name/sh/shadow-tls/package.nix +++ b/pkgs/by-name/sh/shadow-tls/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: -rustPlatform.buildRustPackage rec{ +rustPlatform.buildRustPackage rec { pname = "shadow-tls"; version = "0.2.25"; diff --git a/pkgs/by-name/sh/shadowfox/package.nix b/pkgs/by-name/sh/shadowfox/package.nix index d9fca5d4011e2..3fb2b145bff52 100644 --- a/pkgs/by-name/sh/shadowfox/package.nix +++ b/pkgs/by-name/sh/shadowfox/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, fetchpatch }: +{ + lib, + fetchFromGitHub, + buildGoModule, + fetchpatch, +}: buildGoModule rec { pname = "shadowfox"; diff --git a/pkgs/by-name/sh/shadowsocks-libev/package.nix b/pkgs/by-name/sh/shadowsocks-libev/package.nix index b6544c60edaff..60d41aa39e0f3 100644 --- a/pkgs/by-name/sh/shadowsocks-libev/package.nix +++ b/pkgs/by-name/sh/shadowsocks-libev/package.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, libsodium, mbedtls_2, libev, c-ares, pcre -, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libsodium, + mbedtls_2, + libev, + c-ares, + pcre, + asciidoc, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, + libxslt, }: stdenv.mkDerivation rec { @@ -16,11 +28,25 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ libsodium mbedtls_2 libev c-ares pcre ]; - nativeBuildInputs = [ cmake asciidoc xmlto docbook_xml_dtd_45 - docbook_xsl libxslt ]; + buildInputs = [ + libsodium + mbedtls_2 + libev + c-ares + pcre + ]; + nativeBuildInputs = [ + cmake + asciidoc + xmlto + docbook_xml_dtd_45 + docbook_xsl + libxslt + ]; - cmakeFlags = [ "-DWITH_STATIC=OFF" "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" + cmakeFlags = [ + "-DWITH_STATIC=OFF" + "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; diff --git a/pkgs/by-name/sh/shadowsocks-v2ray-plugin/package.nix b/pkgs/by-name/sh/shadowsocks-v2ray-plugin/package.nix index 12117252abf68..b1192385c714a 100644 --- a/pkgs/by-name/sh/shadowsocks-v2ray-plugin/package.nix +++ b/pkgs/by-name/sh/shadowsocks-v2ray-plugin/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "shadowsocks-v2ray-plugin"; @@ -25,4 +29,3 @@ buildGoModule rec { mainProgram = "v2ray-plugin"; }; } - diff --git a/pkgs/by-name/sh/shairport-sync/package.nix b/pkgs/by-name/sh/shairport-sync/package.nix index a667dbec02576..364e5c4009e89 100644 --- a/pkgs/by-name/sh/shairport-sync/package.nix +++ b/pkgs/by-name/sh/shairport-sync/package.nix @@ -1,49 +1,50 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, openssl -, avahi -, alsa-lib -, libplist -, glib -, libdaemon -, libsodium -, libgcrypt -, ffmpeg -, libuuid -, unixtools -, popt -, libconfig -, libpulseaudio -, libjack2 -, libsndfile -, libao -, libsoundio -, mosquitto -, pipewire -, soxr -, alac -, sndio -, enableAirplay2 ? false -, enableStdout ? true -, enableAlsa ? true -, enableSndio ? true -, enablePulse ? true -, enablePipe ? true -, enablePipewire ? true -, enableAo ? true -, enableJack ? true -, enableSoundio ? true -, enableMetadata ? true -, enableMpris ? stdenv.hostPlatform.isLinux -, enableMqttClient ? true -, enableDbus ? stdenv.hostPlatform.isLinux -, enableSoxr ? true -, enableAlac ? true -, enableConvolution ? true -, enableLibdaemon ? false +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + openssl, + avahi, + alsa-lib, + libplist, + glib, + libdaemon, + libsodium, + libgcrypt, + ffmpeg, + libuuid, + unixtools, + popt, + libconfig, + libpulseaudio, + libjack2, + libsndfile, + libao, + libsoundio, + mosquitto, + pipewire, + soxr, + alac, + sndio, + enableAirplay2 ? false, + enableStdout ? true, + enableAlsa ? true, + enableSndio ? true, + enablePulse ? true, + enablePipe ? true, + enablePipewire ? true, + enableAo ? true, + enableJack ? true, + enableSoundio ? true, + enableMetadata ? true, + enableMpris ? stdenv.hostPlatform.isLinux, + enableMqttClient ? true, + enableDbus ? stdenv.hostPlatform.isLinux, + enableSoxr ? true, + enableAlac ? true, + enableConvolution ? true, + enableLibdaemon ? false, }: let @@ -61,45 +62,48 @@ stdenv.mkDerivation rec { hash = "sha256-GYu/n4JoghqUHnkCiSQJYm9WSLww585WKgXTEiWGq4g="; }; - nativeBuildInputs = [ - autoreconfHook - pkg-config - # For glib we want the `dev` output for the same library we are - # also linking against, since pkgsHostTarget.glib.dev exposes - # some extra tools that are built for build->host execution. - # To achieve this, we coerce the output to a string to prevent - # mkDerivation's splicing logic from kicking in. - "${glib.dev}" - ] ++ optional enableAirplay2 [ - unixtools.xxd - ]; + nativeBuildInputs = + [ + autoreconfHook + pkg-config + # For glib we want the `dev` output for the same library we are + # also linking against, since pkgsHostTarget.glib.dev exposes + # some extra tools that are built for build->host execution. + # To achieve this, we coerce the output to a string to prevent + # mkDerivation's splicing logic from kicking in. + "${glib.dev}" + ] + ++ optional enableAirplay2 [ + unixtools.xxd + ]; - buildInputs = [ - openssl - avahi - popt - libconfig - ] - ++ optional enableLibdaemon libdaemon - ++ optional enableAlsa alsa-lib - ++ optional enableSndio sndio - ++ optional enableMqttClient mosquitto - ++ optional enablePulse libpulseaudio - ++ optional enablePipewire pipewire - ++ optional enableAo libao - ++ optional enableJack libjack2 - ++ optional enableSoundio libsoundio - ++ optional enableSoxr soxr - ++ optional enableAlac alac - ++ optional enableConvolution libsndfile - ++ optionals enableAirplay2 [ - libplist - libsodium - libgcrypt - libuuid - ffmpeg - ] - ++ optional stdenv.hostPlatform.isLinux glib; + buildInputs = + [ + openssl + avahi + popt + libconfig + ] + ++ optional enableLibdaemon libdaemon + ++ optional enableAlsa alsa-lib + ++ optional enableSndio sndio + ++ optional enableMqttClient mosquitto + ++ optional enablePulse libpulseaudio + ++ optional enablePipewire pipewire + ++ optional enableAo libao + ++ optional enableJack libjack2 + ++ optional enableSoundio libsoundio + ++ optional enableSoxr soxr + ++ optional enableAlac alac + ++ optional enableConvolution libsndfile + ++ optionals enableAirplay2 [ + libplist + libsodium + libgcrypt + libuuid + ffmpeg + ] + ++ optional stdenv.hostPlatform.isLinux glib; postPatch = '' sed -i -e 's/G_BUS_TYPE_SYSTEM/G_BUS_TYPE_SESSION/g' dbus-service.c @@ -108,31 +112,32 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = [ - "--without-configfiles" - "--sysconfdir=/etc" - "--with-ssl=openssl" - "--with-stdout" - "--with-avahi" - ] - ++ optional enablePulse "--with-pa" - ++ optional enablePipewire "--with-pw" - ++ optional enableAlsa "--with-alsa" - ++ optional enableSndio "--with-sndio" - ++ optional enableAo "--with-ao" - ++ optional enableJack "--with-jack" - ++ optional enableSoundio "--with-soundio" - ++ optional enableStdout "--with-stdout" - ++ optional enablePipe "--with-pipe" - ++ optional enableSoxr "--with-soxr" - ++ optional enableAlac "--with-apple-alac" - ++ optional enableConvolution "--with-convolution" - ++ optional enableDbus "--with-dbus-interface" - ++ optional enableMetadata "--with-metadata" - ++ optional enableMpris "--with-mpris-interface" - ++ optional enableMqttClient "--with-mqtt-client" - ++ optional enableLibdaemon "--with-libdaemon" - ++ optional enableAirplay2 "--with-airplay-2"; + configureFlags = + [ + "--without-configfiles" + "--sysconfdir=/etc" + "--with-ssl=openssl" + "--with-stdout" + "--with-avahi" + ] + ++ optional enablePulse "--with-pa" + ++ optional enablePipewire "--with-pw" + ++ optional enableAlsa "--with-alsa" + ++ optional enableSndio "--with-sndio" + ++ optional enableAo "--with-ao" + ++ optional enableJack "--with-jack" + ++ optional enableSoundio "--with-soundio" + ++ optional enableStdout "--with-stdout" + ++ optional enablePipe "--with-pipe" + ++ optional enableSoxr "--with-soxr" + ++ optional enableAlac "--with-apple-alac" + ++ optional enableConvolution "--with-convolution" + ++ optional enableDbus "--with-dbus-interface" + ++ optional enableMetadata "--with-metadata" + ++ optional enableMpris "--with-mpris-interface" + ++ optional enableMqttClient "--with-mqtt-client" + ++ optional enableLibdaemon "--with-libdaemon" + ++ optional enableAirplay2 "--with-airplay-2"; strictDeps = true; @@ -141,7 +146,10 @@ stdenv.mkDerivation rec { description = "Airtunes server and emulator with multi-room capabilities"; license = lib.licenses.mit; mainProgram = "shairport-sync"; - maintainers = with lib.maintainers; [ lnl7 jordanisaacs ]; + maintainers = with lib.maintainers; [ + lnl7 + jordanisaacs + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/sh/shallot/package.nix b/pkgs/by-name/sh/shallot/package.nix index 4fbd07f38e329..c03097e20410c 100644 --- a/pkgs/by-name/sh/shallot/package.nix +++ b/pkgs/by-name/sh/shallot/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shanggu-fonts/package.nix b/pkgs/by-name/sh/shanggu-fonts/package.nix index 96d366dedf1fb..8de63b3266e97 100644 --- a/pkgs/by-name/sh/shanggu-fonts/package.nix +++ b/pkgs/by-name/sh/shanggu-fonts/package.nix @@ -34,15 +34,18 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ p7zip ]; - unpackPhase = '' - runHook preUnpack - '' + lib.strings.concatLines ( - lib.attrsets.mapAttrsToList (name: value: '' - 7z x ${value} -o${name} - '') source - ) + '' - runHook postUnpack - ''; + unpackPhase = + '' + runHook preUnpack + '' + + lib.strings.concatLines ( + lib.attrsets.mapAttrsToList (name: value: '' + 7z x ${value} -o${name} + '') source + ) + + '' + runHook postUnpack + ''; installPhase = '' @@ -55,7 +58,8 @@ stdenvNoCC.mkDerivation { install -Dm444 ${name}/*.ttc -t ${placeholder name}/share/fonts/truetype ln -s "${placeholder name}" /share/fonts/truetype/*.ttc $out/share/fonts/truetype '') - ) + '' + ) + + '' runHook postInstall ''; diff --git a/pkgs/by-name/sh/shapelib/package.nix b/pkgs/by-name/sh/shapelib/package.nix index fe93064e3f1f1..f906d31557036 100644 --- a/pkgs/by-name/sh/shapelib/package.nix +++ b/pkgs/by-name/sh/shapelib/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shaq/package.nix b/pkgs/by-name/sh/shaq/package.nix index d615a95219cb5..ff7abe883a6bc 100644 --- a/pkgs/by-name/sh/shaq/package.nix +++ b/pkgs/by-name/sh/shaq/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, ffmpeg +{ + lib, + python3, + fetchFromGitHub, + ffmpeg, }: python3.pkgs.buildPythonApplication rec { @@ -58,7 +59,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/woodruffw/shaq"; changelog = "https://github.com/woodruffw/shaq/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda mig4ng ]; + maintainers = with maintainers; [ + figsoda + mig4ng + ]; mainProgram = "shaq"; }; } diff --git a/pkgs/by-name/sh/share-preview/package.nix b/pkgs/by-name/sh/share-preview/package.nix index 4f3cda10bd763..fd9d73de29c22 100644 --- a/pkgs/by-name/sh/share-preview/package.nix +++ b/pkgs/by-name/sh/share-preview/package.nix @@ -43,13 +43,15 @@ stdenv.mkDerivation (finalAttrs: { desktop-file-utils ]; - buildInputs = [ - libadwaita - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + libadwaita + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env.NIX_CFLAGS_COMPILE = toString ( lib.optionals stdenv.hostPlatform.isDarwin [ "-Wno-error=incompatible-function-pointer-types" ] diff --git a/pkgs/by-name/sh/shared-mime-info/package.nix b/pkgs/by-name/sh/shared-mime-info/package.nix index e5507075bcaed..fe45a0287b987 100644 --- a/pkgs/by-name/sh/shared-mime-info/package.nix +++ b/pkgs/by-name/sh/shared-mime-info/package.nix @@ -1,20 +1,24 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, ninja -, pkg-config -, gettext -, libxml2 -, glib -, shared-mime-info +{ + stdenv, + lib, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gettext, + libxml2, + glib, + shared-mime-info, }: stdenv.mkDerivation rec { pname = "shared-mime-info"; version = "2.4"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; diff --git a/pkgs/by-name/sh/shared_desktop_ontologies/package.nix b/pkgs/by-name/sh/shared_desktop_ontologies/package.nix index fdbd2991cdeed..f5aea74954704 100644 --- a/pkgs/by-name/sh/shared_desktop_ontologies/package.nix +++ b/pkgs/by-name/sh/shared_desktop_ontologies/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "shared-desktop-ontologies"; diff --git a/pkgs/by-name/sh/sharing/package.nix b/pkgs/by-name/sh/sharing/package.nix index dd5df06ad46de..9292ebf5c8942 100644 --- a/pkgs/by-name/sh/sharing/package.nix +++ b/pkgs/by-name/sh/sharing/package.nix @@ -1,6 +1,7 @@ -{ buildNpmPackage -, fetchFromGitHub -, lib +{ + buildNpmPackage, + fetchFromGitHub, + lib, }: buildNpmPackage rec { diff --git a/pkgs/by-name/sh/sharness/package.nix b/pkgs/by-name/sh/sharness/package.nix index 7829b0009b498..df23130742fc2 100644 --- a/pkgs/by-name/sh/sharness/package.nix +++ b/pkgs/by-name/sh/sharness/package.nix @@ -1,9 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, perl -, perlPackages -, sharnessExtensions ? {} }: +{ + stdenv, + lib, + fetchFromGitHub, + perl, + perlPackages, + sharnessExtensions ? { }, +}: stdenv.mkDerivation (finalAttrs: { pname = "sharness"; @@ -17,15 +19,21 @@ stdenv.mkDerivation (finalAttrs: { }; # Used for testing - nativeBuildInputs = [ perl perlPackages.IOTty ]; + nativeBuildInputs = [ + perl + perlPackages.IOTty + ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; makeFlags = [ "prefix=$(out)" ]; extensions = lib.mapAttrsToList (k: v: "${k}.sh ${v}") sharnessExtensions; - postInstall = lib.optionalString (sharnessExtensions != {}) '' + postInstall = lib.optionalString (sharnessExtensions != { }) '' extDir=$out/share/sharness/sharness.d mkdir -p "$extDir" linkExtensions() { diff --git a/pkgs/by-name/sh/sharpsat-td/package.nix b/pkgs/by-name/sh/sharpsat-td/package.nix index 4c5e22ba9b4f2..88515bc32acb6 100644 --- a/pkgs/by-name/sh/sharpsat-td/package.nix +++ b/pkgs/by-name/sh/sharpsat-td/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchzip -, cmake -, gmp -, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + cmake, + gmp, + mpfr, }: let @@ -22,7 +23,8 @@ let sha256 = "sha256-l61SKEx4pBocADrEGPVacQ6F2ep9IuvNZ8W08dKeZKg="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "sharpsat-td"; version = "unstable-2021-09-05"; @@ -49,7 +51,10 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ gmp mpfr ]; + buildInputs = [ + gmp + mpfr + ]; installPhase = '' runHook preInstall @@ -75,9 +80,15 @@ in stdenv.mkDerivation rec { meta = { description = "Fast solver for the #SAT model counting problem"; homepage = "https://github.com/Laakeri/sharpsat-td"; - license = with lib.licenses; [ mit asl20 ]; + license = with lib.licenses; [ + mit + asl20 + ]; maintainers = with lib.maintainers; [ ris ]; # uses clhash, which is non-portable - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/by-name/sh/sharutils/package.nix b/pkgs/by-name/sh/sharutils/package.nix index 6a30ae1ff9469..bc0bd331f4d33 100644 --- a/pkgs/by-name/sh/sharutils/package.nix +++ b/pkgs/by-name/sh/sharutils/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, gettext, coreutils, updateAutotoolsGnuConfigScriptsHook }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + gettext, + coreutils, + updateAutotoolsGnuConfigScriptsHook, +}: stdenv.mkDerivation rec { pname = "sharutils"; @@ -12,7 +20,10 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; # GNU Gettext is needed on non-GNU platforms. - buildInputs = [ coreutils gettext ]; + buildInputs = [ + coreutils + gettext + ]; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; # These tests try to hit /etc/passwd to find out your username if pass in a submitter @@ -46,13 +57,15 @@ stdenv.mkDerivation rec { }) ]; - postPatch = let + postPatch = + let # This evaluates to a string containing: # # substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter' # substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter' shar_sub = "\${SHAR}"; - in '' + in + '' substituteInPlace tests/shar-1 --replace '${shar_sub}' '${shar_sub} -s submitter' substituteInPlace tests/shar-2 --replace '${shar_sub}' '${shar_sub} -s submitter' @@ -67,21 +80,21 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Tools for remote synchronization and `shell archives'"; longDescription = '' - GNU shar makes so-called shell archives out of many files, preparing - them for transmission by electronic mail services. A shell archive - is a collection of files that can be unpacked by /bin/sh. A wide - range of features provide extensive flexibility in manufacturing - shars and in specifying shar smartness. For example, shar may - compress files, uuencode binary files, split long files and - construct multi-part mailings, ensure correct unsharing order, and - provide simplistic checksums. + GNU shar makes so-called shell archives out of many files, preparing + them for transmission by electronic mail services. A shell archive + is a collection of files that can be unpacked by /bin/sh. A wide + range of features provide extensive flexibility in manufacturing + shars and in specifying shar smartness. For example, shar may + compress files, uuencode binary files, split long files and + construct multi-part mailings, ensure correct unsharing order, and + provide simplistic checksums. - GNU unshar scans a set of mail messages looking for the start of - shell archives. It will automatically strip off the mail headers - and other introductory text. The archive bodies are then unpacked - by a copy of the shell. unshar may also process files containing - concatenated shell archives. - ''; + GNU unshar scans a set of mail messages looking for the start of + shell archives. It will automatically strip off the mail headers + and other introductory text. The archive bodies are then unpacked + by a copy of the shell. unshar may also process files containing + concatenated shell archives. + ''; homepage = "https://www.gnu.org/software/sharutils/"; license = licenses.gpl3Plus; maintainers = [ ]; diff --git a/pkgs/by-name/sh/shavee/package.nix b/pkgs/by-name/sh/shavee/package.nix index 6b6864669622a..a34066fb88005 100644 --- a/pkgs/by-name/sh/shavee/package.nix +++ b/pkgs/by-name/sh/shavee/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pam -, pkg-config -, openssl -, zlib +{ + lib, + rustPlatform, + fetchFromGitHub, + pam, + pkg-config, + openssl, + zlib, }: rustPlatform.buildRustPackage rec { @@ -30,7 +31,7 @@ rustPlatform.buildRustPackage rec { zlib ]; - # these tests require network access + # these tests require network access checkFlags = [ "--skip=filehash::tests::remote_file_hash" "--skip=filehash::tests::get_filehash_unit_test" diff --git a/pkgs/by-name/sh/shc/package.nix b/pkgs/by-name/sh/shc/package.nix index f7f3f8a088836..a56a282f716fc 100644 --- a/pkgs/by-name/sh/shc/package.nix +++ b/pkgs/by-name/sh/shc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "shc"; diff --git a/pkgs/by-name/sh/shell-genie/package.nix b/pkgs/by-name/sh/shell-genie/package.nix index 60b3ce9548ce8..bc02cbabbf531 100644 --- a/pkgs/by-name/sh/shell-genie/package.nix +++ b/pkgs/by-name/sh/shell-genie/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: with python3.pkgs; diff --git a/pkgs/by-name/sh/shell-gpt/package.nix b/pkgs/by-name/sh/shell-gpt/package.nix index cafb67f0f0a9a..85f70a6dfe8b6 100644 --- a/pkgs/by-name/sh/shell-gpt/package.nix +++ b/pkgs/by-name/sh/shell-gpt/package.nix @@ -26,7 +26,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ hatchling ]; - propagatedBuildInputs = with python3.pkgs; [ click distro diff --git a/pkgs/by-name/sh/shell-hist/package.nix b/pkgs/by-name/sh/shell-hist/package.nix index ee5d2da6e543d..f906d7a9b8100 100644 --- a/pkgs/by-name/sh/shell-hist/package.nix +++ b/pkgs/by-name/sh/shell-hist/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage { pname = "shell-hist"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage { meta = with lib; { description = "Inspect your shell history"; homepage = "https://github.com/jamesmunns/shell-hist"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = [ maintainers.spacekookie ]; mainProgram = "shell-hist"; }; diff --git a/pkgs/by-name/sh/shell2http/package.nix b/pkgs/by-name/sh/shell2http/package.nix index f4dbaf9e10208..0a60684c2abb0 100644 --- a/pkgs/by-name/sh/shell2http/package.nix +++ b/pkgs/by-name/sh/shell2http/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, shell2http +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + shell2http, }: buildGoModule rec { diff --git a/pkgs/by-name/sh/shellclear/package.nix b/pkgs/by-name/sh/shellclear/package.nix index 3ab52fda2a70d..41ea8f012c8a3 100644 --- a/pkgs/by-name/sh/shellclear/package.nix +++ b/pkgs/by-name/sh/shellclear/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sh/shelldap/package.nix b/pkgs/by-name/sh/shelldap/package.nix index 1b3fd5c5806d5..2ae32cf0ce21f 100644 --- a/pkgs/by-name/sh/shelldap/package.nix +++ b/pkgs/by-name/sh/shelldap/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, perlPackages -, shortenPerlShebang +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, + shortenPerlShebang, }: perlPackages.buildPerlPackage rec { @@ -54,7 +55,10 @@ perlPackages.buildPerlPackage rec { description = "Handy shell-like interface for browsing LDAP servers and editing their content"; changelog = "https://github.com/mahlonsmith/shelldap/blob/v${version}/CHANGELOG"; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ clerie tobiasBora ]; + maintainers = with maintainers; [ + clerie + tobiasBora + ]; platforms = platforms.unix; mainProgram = "shelldap"; }; diff --git a/pkgs/by-name/sh/shellharden/package.nix b/pkgs/by-name/sh/shellharden/package.nix index e1965aa2b006f..7d385ad357b40 100644 --- a/pkgs/by-name/sh/shellharden/package.nix +++ b/pkgs/by-name/sh/shellharden/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "shellharden"; diff --git a/pkgs/by-name/sh/shellhub-agent/package.nix b/pkgs/by-name/sh/shellhub-agent/package.nix index 92ca7ad326f6d..5ac4dac1fc480 100644 --- a/pkgs/by-name/sh/shellhub-agent/package.nix +++ b/pkgs/by-name/sh/shellhub-agent/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, makeWrapper -, openssh -, libxcrypt -, testers -, shellhub-agent +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + makeWrapper, + openssh, + libxcrypt, + testers, + shellhub-agent, }: buildGoModule rec { @@ -24,7 +25,11 @@ buildGoModule rec { vendorHash = "sha256-jQNWuOwaAx//wDUVOrMc+ETWWbTCTp/SLwL2guERJB8="; - ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.AgentVersion=v${version}" + ]; passthru = { updateScript = nix-update-script { }; @@ -44,8 +49,7 @@ buildGoModule rec { ''; meta = with lib; { - description = - "Enables easy access any Linux device behind firewall and NAT"; + description = "Enables easy access any Linux device behind firewall and NAT"; longDescription = '' ShellHub is a modern SSH server for remotely accessing Linux devices via command line (using any SSH client) or web-based user interface, designed diff --git a/pkgs/by-name/sh/shellnoob/package.nix b/pkgs/by-name/sh/shellnoob/package.nix index ef9488239bd06..c50570333c91e 100644 --- a/pkgs/by-name/sh/shellnoob/package.nix +++ b/pkgs/by-name/sh/shellnoob/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, python3 }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + python3, +}: stdenvNoCC.mkDerivation rec { pname = "shellnoob"; diff --git a/pkgs/by-name/sh/shellspec/package.nix b/pkgs/by-name/sh/shellspec/package.nix index b355f0fc02328..367f789456b66 100644 --- a/pkgs/by-name/sh/shellspec/package.nix +++ b/pkgs/by-name/sh/shellspec/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, bash }: +{ + lib, + stdenv, + fetchFromGitHub, + bash, +}: stdenv.mkDerivation rec { pname = "shellspec"; @@ -24,11 +29,9 @@ stdenv.mkDerivation rec { dontBuild = true; meta = with lib; { - description = - "A full-featured BDD unit testing framework for bash, ksh, zsh, dash and all POSIX shells"; + description = "A full-featured BDD unit testing framework for bash, ksh, zsh, dash and all POSIX shells"; homepage = "https://shellspec.info/"; - changelog = - "https://github.com/shellspec/shellspec/releases/tag/${version}"; + changelog = "https://github.com/shellspec/shellspec/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ j0hax ]; platforms = platforms.unix; diff --git a/pkgs/by-name/sh/shellz/package.nix b/pkgs/by-name/sh/shellz/package.nix index e7d44bd21926f..b1a263c3fddc2 100644 --- a/pkgs/by-name/sh/shellz/package.nix +++ b/pkgs/by-name/sh/shellz/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sh/shen-sbcl/package.nix b/pkgs/by-name/sh/shen-sbcl/package.nix index 538f5e7f13565..fac033bcf2e43 100644 --- a/pkgs/by-name/sh/shen-sbcl/package.nix +++ b/pkgs/by-name/sh/shen-sbcl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, shen-sources -, sbcl +{ + lib, + stdenv, + fetchurl, + shen-sources, + sbcl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shen-sources/package.nix b/pkgs/by-name/sh/shen-sources/package.nix index 99e72fbea1128..595467dbe6354 100644 --- a/pkgs/by-name/sh/shen-sources/package.nix +++ b/pkgs/by-name/sh/shen-sources/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shepherd/package.nix b/pkgs/by-name/sh/shepherd/package.nix index 19205b6617c65..6f6313ea00358 100644 --- a/pkgs/by-name/sh/shepherd/package.nix +++ b/pkgs/by-name/sh/shepherd/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nodejs -, fixup-yarn-lock -, yarn +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + fixup-yarn-lock, + yarn, }: stdenv.mkDerivation rec { @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { hash = "sha256-tJXJ8ePr5ArAV+0JcuJsTo/B2PUcgsXfZrSDCpna/9k="; }; - nativeBuildInputs = [ + nativeBuildInputs = [ makeWrapper nodejs fixup-yarn-lock diff --git a/pkgs/by-name/sh/sherpa/package.nix b/pkgs/by-name/sh/sherpa/package.nix index b1fbbab8781fb..16f64236b9418 100644 --- a/pkgs/by-name/sh/sherpa/package.nix +++ b/pkgs/by-name/sh/sherpa/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, autoconf, gfortran, hepmc3, fastjet, lhapdf, rivet, sqlite }: +{ + lib, + stdenv, + fetchurl, + autoconf, + gfortran, + hepmc3, + fastjet, + lhapdf, + rivet, + sqlite, +}: stdenv.mkDerivation rec { pname = "sherpa"; @@ -13,9 +24,16 @@ stdenv.mkDerivation rec { sed -ie '/sys\/sysctl.h/d' ATOOLS/Org/Run_Parameter.C ''; - nativeBuildInputs = [ autoconf gfortran ]; + nativeBuildInputs = [ + autoconf + gfortran + ]; - buildInputs = [ sqlite lhapdf rivet ]; + buildInputs = [ + sqlite + lhapdf + rivet + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/sh/shfm/package.nix b/pkgs/by-name/sh/shfm/package.nix index 47bb6dfdbe8c8..0bd635d4b84a2 100644 --- a/pkgs/by-name/sh/shfm/package.nix +++ b/pkgs/by-name/sh/shfm/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shfmt/package.nix b/pkgs/by-name/sh/shfmt/package.nix index 4cf05bd98a76d..8235c088300be 100644 --- a/pkgs/by-name/sh/shfmt/package.nix +++ b/pkgs/by-name/sh/shfmt/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, scdoc }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + scdoc, +}: buildGoModule rec { pname = "shfmt"; @@ -15,9 +21,16 @@ buildGoModule rec { subPackages = [ "cmd/shfmt" ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; - nativeBuildInputs = [ installShellFiles scdoc ]; + nativeBuildInputs = [ + installShellFiles + scdoc + ]; postBuild = '' scdoc < cmd/shfmt/shfmt.1.scd > shfmt.1 @@ -32,7 +45,10 @@ buildGoModule rec { You can feed it standard input, any number of files or any number of directories to recurse into. ''; license = licenses.bsd3; - maintainers = with maintainers; [ zowoq SuperSandro2000 ]; + maintainers = with maintainers; [ + zowoq + SuperSandro2000 + ]; mainProgram = "shfmt"; }; } diff --git a/pkgs/by-name/sh/shhmsg/package.nix b/pkgs/by-name/sh/shhmsg/package.nix index ad6a40716bcdd..a58723db25f9b 100644 --- a/pkgs/by-name/sh/shhmsg/package.nix +++ b/pkgs/by-name/sh/shhmsg/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "shhmsg"; diff --git a/pkgs/by-name/sh/shhopt/package.nix b/pkgs/by-name/sh/shhopt/package.nix index 324cb8203484b..0b36bfc8cd8cd 100644 --- a/pkgs/by-name/sh/shhopt/package.nix +++ b/pkgs/by-name/sh/shhopt/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "shhopt"; diff --git a/pkgs/by-name/sh/shibboleth-sp/package.nix b/pkgs/by-name/sh/shibboleth-sp/package.nix index f38db198bd307..4a300718c737b 100644 --- a/pkgs/by-name/sh/shibboleth-sp/package.nix +++ b/pkgs/by-name/sh/shibboleth-sp/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchgit, autoreconfHook, boost, fcgi, openssl, opensaml-cpp, log4shib, pkg-config, xercesc, xml-security-c, xml-tooling-c, darwin }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + boost, + fcgi, + openssl, + opensaml-cpp, + log4shib, + pkg-config, + xercesc, + xml-security-c, + xml-tooling-c, + darwin, +}: stdenv.mkDerivation rec { pname = "shibboleth-sp"; @@ -10,12 +25,28 @@ stdenv.mkDerivation rec { sha256 = "1qb4dbz5gk10b9w1rf6f4vv7c2wb3a8bfzif6yiaq96ilqad7gdr"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ boost fcgi openssl opensaml-cpp log4shib xercesc xml-security-c xml-tooling-c ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreServices - SystemConfiguration - ]); + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = + [ + boost + fcgi + openssl + opensaml-cpp + log4shib + xercesc + xml-security-c + xml-tooling-c + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreServices + SystemConfiguration + ] + ); configureFlags = [ "--without-apxs" @@ -28,10 +59,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with lib; { - homepage = "https://shibboleth.net/products/service-provider.html"; + homepage = "https://shibboleth.net/products/service-provider.html"; description = "Enables SSO and Federation web applications written with any programming language or framework"; - platforms = platforms.unix; - license = licenses.asl20; + platforms = platforms.unix; + license = licenses.asl20; maintainers = [ ]; }; } diff --git a/pkgs/by-name/sh/shikane/package.nix b/pkgs/by-name/sh/shikane/package.nix index edf83aea2d065..f638d7c198839 100644 --- a/pkgs/by-name/sh/shikane/package.nix +++ b/pkgs/by-name/sh/shikane/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, installShellFiles -, pandoc +{ + lib, + rustPlatform, + fetchFromGitLab, + installShellFiles, + pandoc, }: rustPlatform.buildRustPackage rec { @@ -39,7 +40,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://gitlab.com/w0lff/shikane"; changelog = "https://gitlab.com/w0lff/shikane/-/tags/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ michaelpachec0 natsukium ]; + maintainers = with maintainers; [ + michaelpachec0 + natsukium + ]; platforms = platforms.linux; mainProgram = "shikane"; }; diff --git a/pkgs/by-name/sh/shim-unsigned/package.nix b/pkgs/by-name/sh/shim-unsigned/package.nix index e4220cf5cc8ec..c9c2116b0999c 100644 --- a/pkgs/by-name/sh/shim-unsigned/package.nix +++ b/pkgs/by-name/sh/shim-unsigned/package.nix @@ -1,16 +1,25 @@ -{ stdenv, fetchFromGitHub, lib, elfutils, vendorCertFile ? null -, defaultLoader ? null }: +{ + stdenv, + fetchFromGitHub, + lib, + elfutils, + vendorCertFile ? null, + defaultLoader ? null, +}: let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; - archSuffix = { - x86_64-linux = "x64"; - aarch64-linux = "aa64"; - }.${system} or throwSystem; -in stdenv.mkDerivation rec { + archSuffix = + { + x86_64-linux = "x64"; + aarch64-linux = "aa64"; + } + .${system} or throwSystem; +in +stdenv.mkDerivation rec { pname = "shim"; version = "15.8"; @@ -30,7 +39,7 @@ in stdenv.mkDerivation rec { lib.optional (vendorCertFile != null) "VENDOR_CERT_FILE=${vendorCertFile}" ++ lib.optional (defaultLoader != null) "DEFAULT_LOADER=${defaultLoader}"; - installTargets = ["install-as-data"]; + installTargets = [ "install-as-data" ]; installFlags = [ "DATATARGETDIR=$(out)/share/shim" ]; @@ -49,7 +58,13 @@ in stdenv.mkDerivation rec { description = "UEFI shim loader"; homepage = "https://github.com/rhboot/shim"; license = licenses.bsd1; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ baloo raitobezarius ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + baloo + raitobezarius + ]; }; } diff --git a/pkgs/by-name/sh/shine/package.nix b/pkgs/by-name/sh/shine/package.nix index 433e4dcc61795..c9107390d5756 100644 --- a/pkgs/by-name/sh/shine/package.nix +++ b/pkgs/by-name/sh/shine/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "shine"; diff --git a/pkgs/by-name/sh/shiori/package.nix b/pkgs/by-name/sh/shiori/package.nix index 7da2ff2a54a3c..b36e99feaac55 100644 --- a/pkgs/by-name/sh/shiori/package.nix +++ b/pkgs/by-name/sh/shiori/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests, installShellFiles, stdenv }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, + installShellFiles, + stdenv, +}: buildGoModule rec { pname = "shiori"; @@ -35,6 +42,9 @@ buildGoModule rec { mainProgram = "shiori"; homepage = "https://github.com/go-shiori/shiori"; license = licenses.mit; - maintainers = with maintainers; [ minijackson CaptainJawZ ]; + maintainers = with maintainers; [ + minijackson + CaptainJawZ + ]; }; } diff --git a/pkgs/by-name/sh/shipments/package.nix b/pkgs/by-name/sh/shipments/package.nix index 1bcb2e4e104f4..f22cbed39da7b 100644 --- a/pkgs/by-name/sh/shipments/package.nix +++ b/pkgs/by-name/sh/shipments/package.nix @@ -1,15 +1,16 @@ -{ desktop-file-utils -, fetchFromSourcehut -, gobject-introspection -, gtk3 -, lib -, libhandy -, meson -, ninja -, pkg-config -, python3 -, stdenv -, wrapGAppsHook3 +{ + desktop-file-utils, + fetchFromSourcehut, + gobject-introspection, + gtk3, + lib, + libhandy, + meson, + ninja, + pkg-config, + python3, + stdenv, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -35,10 +36,12 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 libhandy - (python3.withPackages (ps: with ps; [ - pygobject3 - requests - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + requests + ] + )) ]; meta = with lib; { diff --git a/pkgs/by-name/sh/shipwright/package.nix b/pkgs/by-name/sh/shipwright/package.nix index ee23cbc332bf1..97c32fbe7e3ed 100644 --- a/pkgs/by-name/sh/shipwright/package.nix +++ b/pkgs/by-name/sh/shipwright/package.nix @@ -1,32 +1,33 @@ -{ stdenv -, cmake -, lsb-release -, ninja -, lib -, fetchFromGitHub -, fetchurl -, copyDesktopItems -, makeDesktopItem -, python3 -, libX11 -, libXrandr -, libXinerama -, libXcursor -, libXi -, libXext -, glew -, boost -, SDL2 -, SDL2_net -, pkg-config -, libpulseaudio -, libpng -, imagemagick -, zenity -, makeWrapper -, darwin -, apple-sdk_11 -, libicns +{ + stdenv, + cmake, + lsb-release, + ninja, + lib, + fetchFromGitHub, + fetchurl, + copyDesktopItems, + makeDesktopItem, + python3, + libX11, + libXrandr, + libXinerama, + libXcursor, + libXi, + libXext, + glew, + boost, + SDL2, + SDL2_net, + pkg-config, + libpulseaudio, + libpng, + imagemagick, + zenity, + makeWrapper, + darwin, + apple-sdk_11, + libicns, }: stdenv.mkDerivation (finalAttrs: { pname = "shipwright"; @@ -52,45 +53,50 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-atjc0t921l6JSUAd/Yk7uup2R7mCp5ivAh6Dr7HBY7I="; }; - nativeBuildInputs = [ - cmake - ninja - pkg-config - python3 - imagemagick - makeWrapper - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - lsb-release - copyDesktopItems - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libicns - darwin.sigtool - ]; + nativeBuildInputs = + [ + cmake + ninja + pkg-config + python3 + imagemagick + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + lsb-release + copyDesktopItems + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libicns + darwin.sigtool + ]; - buildInputs = [ - boost - glew - SDL2 - SDL2_net - libpng - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - libXrandr - libXinerama - libXcursor - libXi - libXext - libpulseaudio - zenity - ] ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; + buildInputs = + [ + boost + glew + SDL2 + SDL2_net + libpng + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + libXrandr + libXinerama + libXcursor + libXi + libXext + libpulseaudio + zenity + ] + ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11; cmakeFlags = [ (lib.cmakeBool "NON_PORTABLE" true) (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/lib") ]; - env.NIX_CFLAGS_COMPILE = - lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-int-conversion -Wno-implicit-int"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-int-conversion -Wno-implicit-int"; dontAddPrefix = true; @@ -104,58 +110,62 @@ stdenv.mkDerivation (finalAttrs: { popd ''; - preInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - # Cmake likes it here for its install paths - cp ../OTRExporter/soh.otr .. - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - cp ../OTRExporter/soh.otr soh/soh.otr - ''; - - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - mkdir -p $out/bin - ln -s $out/lib/soh.elf $out/bin/soh - install -Dm644 ../soh/macosx/sohIcon.png $out/share/pixmaps/soh.png - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Recreate the macOS bundle (without using cpack) - # We mirror the structure of the bundle distributed by the project - - mkdir -p $out/Applications/soh.app/Contents - cp $src/soh/macosx/Info.plist.in $out/Applications/soh.app/Contents/Info.plist - substituteInPlace $out/Applications/soh.app/Contents/Info.plist \ - --replace-fail "@CMAKE_PROJECT_VERSION@" "${finalAttrs.version}" - - mv $out/MacOS $out/Applications/soh.app/Contents/MacOS - - # Wrapper - cp $src/soh/macosx/soh-macos.sh.in $out/Applications/soh.app/Contents/MacOS/soh - chmod +x $out/Applications/soh.app/Contents/MacOS/soh - patchShebangs $out/Applications/soh.app/Contents/MacOS/soh - - # "lib" contains all resources that are in "Resources" in the official bundle. - # We move them to the right place and symlink them back to $out/lib, - # as that's where the game expects them. - mv $out/Resources $out/Applications/soh.app/Contents/Resources - mv $out/lib/** $out/Applications/soh.app/Contents/Resources - rm -rf $out/lib - ln -s $out/Applications/soh.app/Contents/Resources $out/lib - - # Copy icons - cp -r ../build/macosx/soh.icns $out/Applications/soh.app/Contents/Resources/soh.icns - - # Fix executable - install_name_tool -change @executable_path/../Frameworks/libSDL2-2.0.0.dylib \ - ${SDL2}/lib/libSDL2-2.0.0.dylib \ - $out/Applications/soh.app/Contents/Resources/soh-macos - install_name_tool -change @executable_path/../Frameworks/libGLEW.2.2.0.dylib \ - ${glew}/lib/libGLEW.2.2.0.dylib \ - $out/Applications/soh.app/Contents/Resources/soh-macos - install_name_tool -change @executable_path/../Frameworks/libpng16.16.dylib \ - ${libpng}/lib/libpng16.16.dylib \ - $out/Applications/soh.app/Contents/Resources/soh-macos - - # Codesign (ad-hoc) - codesign -f -s - $out/Applications/soh.app/Contents/Resources/soh-macos - ''; + preInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + # Cmake likes it here for its install paths + cp ../OTRExporter/soh.otr .. + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp ../OTRExporter/soh.otr soh/soh.otr + ''; + + postInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + mkdir -p $out/bin + ln -s $out/lib/soh.elf $out/bin/soh + install -Dm644 ../soh/macosx/sohIcon.png $out/share/pixmaps/soh.png + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Recreate the macOS bundle (without using cpack) + # We mirror the structure of the bundle distributed by the project + + mkdir -p $out/Applications/soh.app/Contents + cp $src/soh/macosx/Info.plist.in $out/Applications/soh.app/Contents/Info.plist + substituteInPlace $out/Applications/soh.app/Contents/Info.plist \ + --replace-fail "@CMAKE_PROJECT_VERSION@" "${finalAttrs.version}" + + mv $out/MacOS $out/Applications/soh.app/Contents/MacOS + + # Wrapper + cp $src/soh/macosx/soh-macos.sh.in $out/Applications/soh.app/Contents/MacOS/soh + chmod +x $out/Applications/soh.app/Contents/MacOS/soh + patchShebangs $out/Applications/soh.app/Contents/MacOS/soh + + # "lib" contains all resources that are in "Resources" in the official bundle. + # We move them to the right place and symlink them back to $out/lib, + # as that's where the game expects them. + mv $out/Resources $out/Applications/soh.app/Contents/Resources + mv $out/lib/** $out/Applications/soh.app/Contents/Resources + rm -rf $out/lib + ln -s $out/Applications/soh.app/Contents/Resources $out/lib + + # Copy icons + cp -r ../build/macosx/soh.icns $out/Applications/soh.app/Contents/Resources/soh.icns + + # Fix executable + install_name_tool -change @executable_path/../Frameworks/libSDL2-2.0.0.dylib \ + ${SDL2}/lib/libSDL2-2.0.0.dylib \ + $out/Applications/soh.app/Contents/Resources/soh-macos + install_name_tool -change @executable_path/../Frameworks/libGLEW.2.2.0.dylib \ + ${glew}/lib/libGLEW.2.2.0.dylib \ + $out/Applications/soh.app/Contents/Resources/soh-macos + install_name_tool -change @executable_path/../Frameworks/libpng16.16.dylib \ + ${libpng}/lib/libpng16.16.dylib \ + $out/Applications/soh.app/Contents/Resources/soh-macos + + # Codesign (ad-hoc) + codesign -f -s - $out/Applications/soh.app/Contents/Resources/soh-macos + ''; fixupPhase = lib.optionalString stdenv.hostPlatform.isLinux '' wrapProgram $out/lib/soh.elf --prefix PATH ":" ${lib.makeBinPath [ zenity ]} @@ -178,7 +188,10 @@ stdenv.mkDerivation (finalAttrs: { description = "A PC port of Ocarina of Time with modern controls, widescreen, high-resolution, and more"; mainProgram = "soh"; platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; - maintainers = with lib.maintainers; [ j0lol matteopacini ]; + maintainers = with lib.maintainers; [ + j0lol + matteopacini + ]; license = with lib.licenses; [ # OTRExporter, OTRGui, ZAPDTR, libultraship mit diff --git a/pkgs/by-name/sh/shisho/package.nix b/pkgs/by-name/sh/shisho/package.nix index f5a137a84671b..99590098f8283 100644 --- a/pkgs/by-name/sh/shisho/package.nix +++ b/pkgs/by-name/sh/shisho/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, installShellFiles -, rustfmt -, stdenv +{ + lib, + fetchFromGitHub, + rustPlatform, + installShellFiles, + rustfmt, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sh/shittier/package.nix b/pkgs/by-name/sh/shittier/package.nix index 2ba1bd3d0f94d..97cdc57b046a7 100644 --- a/pkgs/by-name/sh/shittier/package.nix +++ b/pkgs/by-name/sh/shittier/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/sh/shmig/package.nix b/pkgs/by-name/sh/shmig/package.nix index 797ee27eeeb2b..3f57bed763cf5 100644 --- a/pkgs/by-name/sh/shmig/package.nix +++ b/pkgs/by-name/sh/shmig/package.nix @@ -1,7 +1,17 @@ -{ stdenv, fetchFromGitHub -, withMySQL ? true, withPSQL ? false, withSQLite ? false -, mariadb, postgresql, sqlite, gawk, gnugrep, findutils, gnused -, lib +{ + stdenv, + fetchFromGitHub, + withMySQL ? true, + withPSQL ? false, + withSQLite ? false, + mariadb, + postgresql, + sqlite, + gawk, + gnugrep, + findutils, + gnused, + lib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shncpd/package.nix b/pkgs/by-name/sh/shncpd/package.nix index ed724c24cf790..787371f121124 100644 --- a/pkgs/by-name/sh/shncpd/package.nix +++ b/pkgs/by-name/sh/shncpd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "shncpd"; diff --git a/pkgs/by-name/sh/shntool/package.nix b/pkgs/by-name/sh/shntool/package.nix index 51d8830736d5b..a176c11ce5e2e 100644 --- a/pkgs/by-name/sh/shntool/package.nix +++ b/pkgs/by-name/sh/shntool/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, flac }: +{ + lib, + stdenv, + fetchFromGitLab, + flac, +}: stdenv.mkDerivation rec { version = "3.0.10+git20130108.4ca41f4-1"; diff --git a/pkgs/by-name/sh/shocco/package.nix b/pkgs/by-name/sh/shocco/package.nix index 6fc11f6ef0bae..63ce139be6008 100644 --- a/pkgs/by-name/sh/shocco/package.nix +++ b/pkgs/by-name/sh/shocco/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, perlPackages, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, + python3, +}: stdenv.mkDerivation rec { pname = "shocco"; @@ -16,7 +22,10 @@ stdenv.mkDerivation rec { substituteInPlace configure --replace PATH= NIRVANA= ''; - buildInputs = [ perlPackages.TextMarkdown python3.pkgs.pygments ]; + buildInputs = [ + perlPackages.TextMarkdown + python3.pkgs.pygments + ]; meta = with lib; { description = "Quick-and-dirty, literate-programming-style documentation generator for / in POSIX shell"; diff --git a/pkgs/by-name/sh/shod/package.nix b/pkgs/by-name/sh/shod/package.nix index a71efe4b52c10..9bdd79ea15552 100644 --- a/pkgs/by-name/sh/shod/package.nix +++ b/pkgs/by-name/sh/shod/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, writeText -, fontconfig -, libX11 -, libXft -, libXpm -, libXrandr -, libXrender -, conf ? null +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + fontconfig, + libX11, + libXft, + libXpm, + libXrandr, + libXrender, + conf ? null, }: stdenv.mkDerivation rec { @@ -34,8 +35,7 @@ stdenv.mkDerivation rec { postPatch = let configFile = - if lib.isDerivation conf || builtins.isPath conf - then conf else writeText "config.h" conf; + if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.h" conf; in lib.optionalString (conf != null) "cp ${configFile} config.h"; diff --git a/pkgs/by-name/sh/shopify-themekit/package.nix b/pkgs/by-name/sh/shopify-themekit/package.nix index d6bb23a8ed21f..cbe076825c217 100644 --- a/pkgs/by-name/sh/shopify-themekit/package.nix +++ b/pkgs/by-name/sh/shopify-themekit/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "shopify-themekit"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-o928qjp7+/U1W03esYTwVEfQ4A3TmPnmgmh4oWpqJoo="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' # Keep `theme` only diff --git a/pkgs/by-name/sh/shopware-cli/package.nix b/pkgs/by-name/sh/shopware-cli/package.nix index 16b8eb29d2a92..ef092fcaf393c 100644 --- a/pkgs/by-name/sh/shopware-cli/package.nix +++ b/pkgs/by-name/sh/shopware-cli/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, makeWrapper -, dart-sass -, git +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + dart-sass, + git, }: buildGoModule rec { @@ -17,8 +18,14 @@ buildGoModule rec { hash = "sha256-F5QFcXFK40Nz4/rwpk9HGuLr7ly8qjYne6521GtB93M="; }; - nativeBuildInputs = [ installShellFiles makeWrapper ]; - nativeCheckInputs = [ git dart-sass ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; + nativeCheckInputs = [ + git + dart-sass + ]; vendorHash = "sha256-RpOL45NtgYFFcQZviZKOihKXw1Ow7tRAkJ7lACyHsyE="; diff --git a/pkgs/by-name/sh/shorewall/package.nix b/pkgs/by-name/sh/shorewall/package.nix index f3edc8d0d01c7..8535a2dc17051 100644 --- a/pkgs/by-name/sh/shorewall/package.nix +++ b/pkgs/by-name/sh/shorewall/package.nix @@ -1,23 +1,25 @@ -{ coreutils -, fetchurl -, gnugrep -, gnused -, iproute2 -, iptables -, perl -, perlPackages -, lib, stdenv -, util-linux +{ + coreutils, + fetchurl, + gnugrep, + gnused, + iproute2, + iptables, + perl, + perlPackages, + lib, + stdenv, + util-linux, }: let - PATH = lib.concatStringsSep ":" - [ "${coreutils}/bin" - "${iproute2}/bin" - "${iptables}/bin" - "${util-linux}/bin" - "${gnugrep}/bin" - "${gnused}/bin" - ]; + PATH = lib.concatStringsSep ":" [ + "${coreutils}/bin" + "${iproute2}/bin" + "${iptables}/bin" + "${util-linux}/bin" + "${gnugrep}/bin" + "${gnused}/bin" + ]; in stdenv.mkDerivation rec { pname = "shorewall"; @@ -39,17 +41,19 @@ stdenv.mkDerivation rec { ]; sourceRoot = "."; - buildInputs = [ - coreutils - iproute2 - iptables - util-linux - gnugrep - gnused - perl - ] ++ (with perlPackages; [ - DigestSHA1 - ]); + buildInputs = + [ + coreutils + iproute2 + iptables + util-linux + gnugrep + gnused + perl + ] + ++ (with perlPackages; [ + DigestSHA1 + ]); prePatch = '' # Patch configure and install.sh files patchShebangs . diff --git a/pkgs/by-name/sh/shortcat/package.nix b/pkgs/by-name/sh/shortcat/package.nix index e67e230a46b94..b8022c3fcc7ac 100644 --- a/pkgs/by-name/sh/shortcat/package.nix +++ b/pkgs/by-name/sh/shortcat/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, ... }: +{ + lib, + stdenv, + fetchurl, + unzip, + ... +}: stdenv.mkDerivation rec { pname = "shortcat"; diff --git a/pkgs/by-name/sh/shot-scraper/package.nix b/pkgs/by-name/sh/shot-scraper/package.nix index f162570c341c5..f5a9a2f7ff5e4 100644 --- a/pkgs/by-name/sh/shot-scraper/package.nix +++ b/pkgs/by-name/sh/shot-scraper/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sh/shotgun/package.nix b/pkgs/by-name/sh/shotgun/package.nix index e71f0d7cc9d22..3d30c48578590 100644 --- a/pkgs/by-name/sh/shotgun/package.nix +++ b/pkgs/by-name/sh/shotgun/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "shotgun"; @@ -17,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Minimal X screenshot utility"; homepage = "https://github.com/neXromancers/shotgun"; license = with licenses; [ mpl20 ]; - maintainers = with maintainers; [ figsoda lumi ]; + maintainers = with maintainers; [ + figsoda + lumi + ]; platforms = platforms.linux; mainProgram = "shotgun"; }; diff --git a/pkgs/by-name/sh/shotman/package.nix b/pkgs/by-name/sh/shotman/package.nix index 078157bb10e2b..6b4a07da910fb 100644 --- a/pkgs/by-name/sh/shotman/package.nix +++ b/pkgs/by-name/sh/shotman/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromSourcehut -, rustPlatform -, pkg-config -, libxkbcommon -, makeWrapper -, slurp +{ + lib, + fetchFromSourcehut, + rustPlatform, + pkg-config, + libxkbcommon, + makeWrapper, + slurp, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-a70zJdhPncagah/gCvkHtSvnYhnYMTINCd5ZyBeDwAE="; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; buildInputs = [ libxkbcommon ]; @@ -34,6 +38,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://git.sr.ht/~whynothugo/shotman"; license = licenses.isc; platforms = platforms.linux; - maintainers = with maintainers; [ zendo fpletz ]; + maintainers = with maintainers; [ + zendo + fpletz + ]; }; } diff --git a/pkgs/by-name/sh/shotwell/package.nix b/pkgs/by-name/sh/shotwell/package.nix index 8305afb563ab6..272e607725a74 100644 --- a/pkgs/by-name/sh/shotwell/package.nix +++ b/pkgs/by-name/sh/shotwell/package.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, adwaita-icon-theme -, gtk3 -, libexif -, libgphoto2 -, libwebp -, libsoup_3 -, libxml2 -, vala -, sqlite -, pkg-config -, gnome -, gst_all_1 -, libgudev -, libraw -, glib -, glib-networking -, json-glib -, gcr -, libgee -, gexiv2 -, librest -, gettext -, desktop-file-utils -, gdk-pixbuf -, librsvg -, wrapGAppsHook3 -, gobject-introspection -, itstool -, libsecret -, libportal-gtk3 -, gsettings-desktop-schemas +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + adwaita-icon-theme, + gtk3, + libexif, + libgphoto2, + libwebp, + libsoup_3, + libxml2, + vala, + sqlite, + pkg-config, + gnome, + gst_all_1, + libgudev, + libraw, + glib, + glib-networking, + json-glib, + gcr, + libgee, + gexiv2, + librest, + gettext, + desktop-file-utils, + gdk-pixbuf, + librsvg, + wrapGAppsHook3, + gobject-introspection, + itstool, + libsecret, + libportal-gtk3, + gsettings-desktop-schemas, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sh/show-midi/package.nix b/pkgs/by-name/sh/show-midi/package.nix index c7c16d1d15b9d..3fc5da619ee81 100644 --- a/pkgs/by-name/sh/show-midi/package.nix +++ b/pkgs/by-name/sh/show-midi/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, alsa-lib -, freetype -, libX11 -, libXrandr -, libXinerama -, libXext -, libXcursor -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + alsa-lib, + freetype, + libX11, + libXrandr, + libXinerama, + libXext, + libXcursor, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation (finalAttrs: { @@ -69,15 +70,17 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - desktopItems = [(makeDesktopItem { - name = "ShowMIDI"; - exec = finalAttrs.meta.mainProgram; - comment = finalAttrs.meta.description; - type = "Application"; - icon = "show-midi"; - desktopName = "ShowMIDI"; - categories = [ "Audio" ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = "ShowMIDI"; + exec = finalAttrs.meta.mainProgram; + comment = finalAttrs.meta.description; + type = "Application"; + icon = "show-midi"; + desktopName = "ShowMIDI"; + categories = [ "Audio" ]; + }) + ]; # JUCE dlopens these, make sure they are in rpath # Otherwise, segfault will happen diff --git a/pkgs/by-name/sh/showmethekey/package.nix b/pkgs/by-name/sh/showmethekey/package.nix index 4521a27c52558..56320b83d94dc 100644 --- a/pkgs/by-name/sh/showmethekey/package.nix +++ b/pkgs/by-name/sh/showmethekey/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, libevdev -, json-glib -, libinput -, gtk4 -, libadwaita -, wrapGAppsHook4 -, libxkbcommon -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + libevdev, + json-glib, + libinput, + gtk4, + libadwaita, + wrapGAppsHook4, + libxkbcommon, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sh/shpool/package.nix b/pkgs/by-name/sh/shpool/package.nix index 3f252a80087e8..744c0c41d3cf4 100644 --- a/pkgs/by-name/sh/shpool/package.nix +++ b/pkgs/by-name/sh/shpool/package.nix @@ -18,7 +18,6 @@ rustPlatform.buildRustPackage rec { hash = "sha256-pSSMC4pUtB38c6UNOj+Ma/Y1jcSfm33QV1B4tA/MyKY="; }; - postPatch = '' substituteInPlace systemd/shpool.service \ --replace-fail '/usr/bin/shpool' "$out/bin/shpool" diff --git a/pkgs/by-name/sh/shrikhand/package.nix b/pkgs/by-name/sh/shrikhand/package.nix index ce3423003dbd5..585f7303bc8ce 100644 --- a/pkgs/by-name/sh/shrikhand/package.nix +++ b/pkgs/by-name/sh/shrikhand/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation { pname = "shrikhand"; diff --git a/pkgs/by-name/sh/shticker-book-unwritten/package.nix b/pkgs/by-name/sh/shticker-book-unwritten/package.nix index cab24d8917c8f..426b4e93cf378 100644 --- a/pkgs/by-name/sh/shticker-book-unwritten/package.nix +++ b/pkgs/by-name/sh/shticker-book-unwritten/package.nix @@ -1,12 +1,18 @@ -{ buildFHSEnv, callPackage, lib }: +{ + buildFHSEnv, + callPackage, + lib, +}: let shticker-book-unwritten-unwrapped = callPackage ./unwrapped.nix { }; -in buildFHSEnv { +in +buildFHSEnv { pname = "shticker_book_unwritten"; inherit (shticker-book-unwritten-unwrapped) version; - targetPkgs = pkgs: with pkgs; [ + targetPkgs = + pkgs: with pkgs; [ alsa-lib libglvnd libpulseaudio @@ -14,7 +20,7 @@ in buildFHSEnv { xorg.libX11 xorg.libXcursor xorg.libXext - ]; + ]; runScript = "shticker_book_unwritten"; meta = with lib; { diff --git a/pkgs/by-name/sh/shticker-book-unwritten/unwrapped.nix b/pkgs/by-name/sh/shticker-book-unwritten/unwrapped.nix index f81cf8b2c7aa1..527564a0d2191 100644 --- a/pkgs/by-name/sh/shticker-book-unwritten/unwrapped.nix +++ b/pkgs/by-name/sh/shticker-book-unwritten/unwrapped.nix @@ -1,4 +1,9 @@ -{ rustPlatform, fetchCrate, pkg-config, openssl }: +{ + rustPlatform, + fetchCrate, + pkg-config, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "shticker-book-unwritten"; diff --git a/pkgs/by-name/sh/shtns/package.nix b/pkgs/by-name/sh/shtns/package.nix index a720213b3913b..1b9e10619e449 100644 --- a/pkgs/by-name/sh/shtns/package.nix +++ b/pkgs/by-name/sh/shtns/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, fftw }: +{ + lib, + stdenv, + fetchgit, + fftw, +}: stdenv.mkDerivation rec { pname = "shtns"; diff --git a/pkgs/by-name/sh/shunit2/package.nix b/pkgs/by-name/sh/shunit2/package.nix index 57f1957a7e0e2..671bcb5f17a34 100644 --- a/pkgs/by-name/sh/shunit2/package.nix +++ b/pkgs/by-name/sh/shunit2/package.nix @@ -1,12 +1,13 @@ -{ lib -, resholve -, fetchFromGitHub -, bash -, coreutils -, gnused -, gnugrep -, findutils -, ncurses +{ + lib, + resholve, + fetchFromGitHub, + bash, + coreutils, + gnused, + gnugrep, + findutils, + ncurses, }: resholve.mkDerivation rec { @@ -36,7 +37,13 @@ resholve.mkDerivation rec { # Caution: see __SHUNIT_CMD_ECHO_ESC before changing interpreter = "${bash}/bin/sh"; scripts = [ "bin/shunit2" ]; - inputs = [ coreutils gnused gnugrep findutils ncurses ]; + inputs = [ + coreutils + gnused + gnugrep + findutils + ncurses + ]; # resholve's Nix API is analogous to the CLI flags # documented in 'man resholve' fake = { @@ -57,18 +64,22 @@ resholve.mkDerivation rec { # stray absolute path; make it resolve from coreutils "/usr/bin/od" = true; /* - Caution: this one is contextually debatable. shunit2 - sets this variable after testing whether `echo -e test` - yields `test` or `-e test`. Since we're setting the - interpreter, we can pre-test this. But if we go fiddle - the interpreter later, I guess we _could_ break it. + Caution: this one is contextually debatable. shunit2 + sets this variable after testing whether `echo -e test` + yields `test` or `-e test`. Since we're setting the + interpreter, we can pre-test this. But if we go fiddle + the interpreter later, I guess we _could_ break it. */ "$__SHUNIT_CMD_ECHO_ESC" = [ "echo -e" ]; "$SHUNIT_CMD_TPUT" = [ "tput" ]; # from ncurses }; keep = { # dynamically defined in shunit2:_shunit_mktempFunc - eval = [ "shunit_condition_" "_shunit_test_" "_shunit_prepForSourcing" ]; + eval = [ + "shunit_condition_" + "_shunit_test_" + "_shunit_prepForSourcing" + ]; # dynamic based on CLI flag "$_SHUNIT_LINENO_" = true; @@ -83,7 +94,10 @@ resholve.mkDerivation rec { meta = with lib; { homepage = "https://github.com/kward/shunit2"; description = "XUnit based unit test framework for Bourne based shell scripts"; - maintainers = with maintainers; [ abathur utdemir ]; + maintainers = with maintainers; [ + abathur + utdemir + ]; license = licenses.asl20; platforms = platforms.unix; mainProgram = "shunit2"; diff --git a/pkgs/by-name/sh/shutter/package.nix b/pkgs/by-name/sh/shutter/package.nix index fe4286aa4b5b1..3ba076eeccea6 100644 --- a/pkgs/by-name/sh/shutter/package.nix +++ b/pkgs/by-name/sh/shutter/package.nix @@ -1,65 +1,66 @@ -{ lib -, stdenv -, fetchFromGitHub -, perlPackages -, wrapGAppsHook3 -, imagemagick -, gdk-pixbuf -, librsvg -, hicolor-icon-theme -, procps -, libwnck -, libappindicator-gtk3 -, xdg-utils +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, + wrapGAppsHook3, + imagemagick, + gdk-pixbuf, + librsvg, + hicolor-icon-theme, + procps, + libwnck, + libappindicator-gtk3, + xdg-utils, }: let perlModules = with perlPackages; [ - ImageMagick - Cairo - FileBaseDir - FileWhich - FileCopyRecursive - XMLSimple - XMLTwig - XMLParser - SortNaturally - LocaleGettext - ProcProcessTable - X11Protocol - ProcSimple - ImageExifTool - JSON - JSONMaybeXS - NetOAuth - PathClass - LWP - LWPProtocolHttps - NetDBus - TryTiny - WWWMechanize - HTTPMessage - HTTPDate - HTMLForm - HTMLParser - HTMLTagset - HTTPCookies - EncodeLocale - URI - CarpAlways - GlibObjectIntrospection - NumberBytesHuman - CairoGObject - Readonly - Gtk3ImageView - Gtk3 - Glib - Pango - GooCanvas2 - GooCanvas2CairoTypes - commonsense - TypesSerialiser - ]; + ImageMagick + Cairo + FileBaseDir + FileWhich + FileCopyRecursive + XMLSimple + XMLTwig + XMLParser + SortNaturally + LocaleGettext + ProcProcessTable + X11Protocol + ProcSimple + ImageExifTool + JSON + JSONMaybeXS + NetOAuth + PathClass + LWP + LWPProtocolHttps + NetDBus + TryTiny + WWWMechanize + HTTPMessage + HTTPDate + HTMLForm + HTMLParser + HTMLTagset + HTTPCookies + EncodeLocale + URI + CarpAlways + GlibObjectIntrospection + NumberBytesHuman + CairoGObject + Readonly + Gtk3ImageView + Gtk3 + Glib + Pango + GooCanvas2 + GooCanvas2CairoTypes + commonsense + TypesSerialiser + ]; in stdenv.mkDerivation rec { pname = "shutter"; @@ -95,8 +96,8 @@ stdenv.mkDerivation rec { # make xdg-open overrideable at runtime gappsWrapperArgs+=( --set PERL5LIB ${perlPackages.makePerlPath perlModules} \ - --prefix PATH : ${lib.makeBinPath [ imagemagick ] } - --suffix PATH : ${lib.makeBinPath [ xdg-utils ] } + --prefix PATH : ${lib.makeBinPath [ imagemagick ]} + --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} ) ''; diff --git a/pkgs/by-name/si/sic-image-cli/package.nix b/pkgs/by-name/si/sic-image-cli/package.nix index 42dae849fc9fc..782a764e99d3f 100644 --- a/pkgs/by-name/si/sic-image-cli/package.nix +++ b/pkgs/by-name/si/sic-image-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles, nasm }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + nasm, +}: rustPlatform.buildRustPackage rec { pname = "sic-image-cli"; @@ -13,7 +19,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Pw5PJ0xQCLfPaVEzsfqeHJ0E3miDwlj+71J98KRrYDs="; - nativeBuildInputs = [ installShellFiles nasm ]; + nativeBuildInputs = [ + installShellFiles + nasm + ]; postBuild = '' cargo run --example gen_completions @@ -28,7 +37,10 @@ rustPlatform.buildRustPackage rec { description = "Accessible image processing and conversion from the terminal"; homepage = "https://github.com/foresterre/sic"; changelog = "https://github.com/foresterre/sic/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "sic"; }; diff --git a/pkgs/by-name/si/sic/package.nix b/pkgs/by-name/si/sic/package.nix index 82c5852128e99..0edf706b0fb6a 100644 --- a/pkgs/by-name/si/sic/package.nix +++ b/pkgs/by-name/si/sic/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sic"; diff --git a/pkgs/by-name/si/sidequest/package.nix b/pkgs/by-name/si/sidequest/package.nix index 2bf49bad8e31d..07250ca00ca3e 100644 --- a/pkgs/by-name/si/sidequest/package.nix +++ b/pkgs/by-name/si/sidequest/package.nix @@ -1,62 +1,67 @@ -{ stdenv -, lib -, fetchurl -, buildFHSEnv -, makeDesktopItem -, makeWrapper -, alsa-lib -, at-spi2-atk -, cairo -, cups -, dbus -, expat -, gdk-pixbuf -, glib -, gtk3 -, mesa -, nss -, nspr -, libdrm -, xorg -, libxkbcommon -, libxshmfence -, pango -, systemd -, icu -, openssl -, zlib +{ + stdenv, + lib, + fetchurl, + buildFHSEnv, + makeDesktopItem, + makeWrapper, + alsa-lib, + at-spi2-atk, + cairo, + cups, + dbus, + expat, + gdk-pixbuf, + glib, + gtk3, + mesa, + nss, + nspr, + libdrm, + xorg, + libxkbcommon, + libxshmfence, + pango, + systemd, + icu, + openssl, + zlib, }: - let - pname = "sidequest"; - version = "0.10.33"; +let + pname = "sidequest"; + version = "0.10.33"; - desktopItem = makeDesktopItem rec { - name = "SideQuest"; - exec = "SideQuest"; - desktopName = name; - genericName = "VR App Store"; - categories = [ "Settings" "PackageManager" ]; - }; + desktopItem = makeDesktopItem rec { + name = "SideQuest"; + exec = "SideQuest"; + desktopName = name; + genericName = "VR App Store"; + categories = [ + "Settings" + "PackageManager" + ]; + }; - sidequest = stdenv.mkDerivation { - inherit pname version; + sidequest = stdenv.mkDerivation { + inherit pname version; - src = fetchurl { - url = "https://github.com/SideQuestVR/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz"; - sha256 = "8ac3d97400a8e3ce86902b5bea7b8d042a092acd888d20e5139490a38507f995"; - }; - dontUnpack = true; + src = fetchurl { + url = "https://github.com/SideQuestVR/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz"; + sha256 = "8ac3d97400a8e3ce86902b5bea7b8d042a092acd888d20e5139490a38507f995"; + }; + dontUnpack = true; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p "$out/lib/SideQuest" "$out/bin" - tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1 + installPhase = '' + mkdir -p "$out/lib/SideQuest" "$out/bin" + tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1 - ln -s "$out/lib/SideQuest/sidequest" "$out/bin" - ''; + ln -s "$out/lib/SideQuest/sidequest" "$out/bin" + ''; - postFixup = let + postFixup = + let libPath = lib.makeLibraryPath [ alsa-lib at-spi2-atk @@ -85,43 +90,51 @@ (lib.getLib stdenv.cc.cc) systemd ]; - in '' + in + '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${libPath}:$out/lib/SideQuest" \ "$out/lib/SideQuest/sidequest" ''; - }; - in buildFHSEnv { - pname = "SideQuest"; - inherit version; + }; +in +buildFHSEnv { + pname = "SideQuest"; + inherit version; - passthru = { - inherit pname version; + passthru = { + inherit pname version; - meta = with lib; { - description = "Open app store and side-loading tool for Android-based VR devices such as the Oculus Go, Oculus Quest or Moverio BT 300"; - homepage = "https://github.com/SideQuestVR/SideQuest"; - downloadPage = "https://github.com/SideQuestVR/SideQuest/releases"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.mit; - maintainers = with maintainers; [ joepie91 rvolosatovs ]; - platforms = [ "x86_64-linux" ]; - mainProgram = "SideQuest"; - }; + meta = with lib; { + description = "Open app store and side-loading tool for Android-based VR devices such as the Oculus Go, Oculus Quest or Moverio BT 300"; + homepage = "https://github.com/SideQuestVR/SideQuest"; + downloadPage = "https://github.com/SideQuestVR/SideQuest/releases"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.mit; + maintainers = with maintainers; [ + joepie91 + rvolosatovs + ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "SideQuest"; }; + }; - targetPkgs = pkgs: [ - sidequest - # Needed in the environment on runtime, to make QuestSaberPatch work - icu openssl zlib - libxkbcommon libxshmfence - ]; + targetPkgs = pkgs: [ + sidequest + # Needed in the environment on runtime, to make QuestSaberPatch work + icu + openssl + zlib + libxkbcommon + libxshmfence + ]; - extraInstallCommands = '' - mkdir -p "$out/share/applications" - ln -s ${desktopItem}/share/applications/* "$out/share/applications" - ''; + extraInstallCommands = '' + mkdir -p "$out/share/applications" + ln -s ${desktopItem}/share/applications/* "$out/share/applications" + ''; - runScript = "sidequest"; - } + runScript = "sidequest"; +} diff --git a/pkgs/by-name/si/sienna/package.nix b/pkgs/by-name/si/sienna/package.nix index bee862ba2a08a..e1a5a39f12ff2 100644 --- a/pkgs/by-name/si/sienna/package.nix +++ b/pkgs/by-name/si/sienna/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, love, makeWrapper, makeDesktopItem, copyDesktopItems }: +{ + lib, + stdenv, + fetchurl, + love, + makeWrapper, + makeDesktopItem, + copyDesktopItems, +}: stdenv.mkDerivation rec { pname = "sienna"; @@ -14,17 +22,22 @@ stdenv.mkDerivation rec { sha256 = "12q2rhk39dmb6ir50zafn8dylaad5gns8z3y21mfjabc5l5g02nn"; }; - desktopItems = [ (makeDesktopItem { - name = "sienna"; - exec = pname; - icon = icon; - comment = "Fast-paced one button platformer"; - desktopName = "Sienna"; - genericName = "sienna"; - categories = [ "Game" ]; - }) ]; - - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + desktopItems = [ + (makeDesktopItem { + name = "sienna"; + exec = pname; + icon = icon; + comment = "Fast-paced one button platformer"; + desktopName = "Sienna"; + genericName = "sienna"; + categories = [ "Game" ]; + }) + ]; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; dontUnpack = true; diff --git a/pkgs/by-name/si/sierra-gtk-theme/package.nix b/pkgs/by-name/si/sierra-gtk-theme/package.nix index 41c27b2482b92..97183f760251a 100644 --- a/pkgs/by-name/si/sierra-gtk-theme/package.nix +++ b/pkgs/by-name/si/sierra-gtk-theme/package.nix @@ -1,74 +1,85 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, jdupes -, librsvg -, libxml2 -, buttonVariants ? [] # default to all -, colorVariants ? [] # default to all -, opacityVariants ? [] # default to all -, sizeVariants ? [] # default to all +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + jdupes, + librsvg, + libxml2, + buttonVariants ? [ ], # default to all + colorVariants ? [ ], # default to all + opacityVariants ? [ ], # default to all + sizeVariants ? [ ], # default to all }: let pname = "sierra-gtk-theme"; in lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants -lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants -lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: opacity variants" + [ "standard" "solid" ] + opacityVariants + lib.checkListOfEnum + "${pname}: size variants" + [ "standard" "compact" ] + sizeVariants -stdenv.mkDerivation { - inherit pname; - version = "unstable-2021-05-24"; + stdenv.mkDerivation + { + inherit pname; + version = "unstable-2021-05-24"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = "05899001c4fc2fec87c4d222cb3997c414e0affd"; - sha256 = "174l5mryc34ma1r42pk6572c6i9hmzr9vj1a6w06nqz5qcfm1hds"; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = "05899001c4fc2fec87c4d222cb3997c414e0affd"; + sha256 = "174l5mryc34ma1r42pk6572c6i9hmzr9vj1a6w06nqz5qcfm1hds"; + }; - nativeBuildInputs = [ - jdupes - libxml2 - ]; + nativeBuildInputs = [ + jdupes + libxml2 + ]; - buildInputs = [ - gdk-pixbuf - librsvg - ]; + buildInputs = [ + gdk-pixbuf + librsvg + ]; - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - patchShebangs install.sh + patchShebangs install.sh - mkdir -p $out/share/themes - name= ./install.sh --dest $out/share/themes \ - ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \ - ${lib.optionalString (sizeVariants != []) "--flat " + builtins.toString sizeVariants} + mkdir -p $out/share/themes + name= ./install.sh --dest $out/share/themes \ + ${lib.optionalString (buttonVariants != [ ]) "--alt " + builtins.toString buttonVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (opacityVariants != [ ]) "--opacity " + builtins.toString opacityVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "--flat " + builtins.toString sizeVariants} - # Replace duplicate files with hardlinks to the first file in each - # set of duplicates, reducing the installed size in about 79% - jdupes -L -r $out/share + # Replace duplicate files with hardlinks to the first file in each + # set of duplicates, reducing the installed size in about 79% + jdupes -L -r $out/share - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - description = "Mac OSX like theme for GTK based desktop environments"; - homepage = "https://github.com/vinceliuice/Sierra-gtk-theme"; - license = licenses.gpl3; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} + meta = with lib; { + description = "Mac OSX like theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Sierra-gtk-theme"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/si/sieve-connect/package.nix b/pkgs/by-name/si/sieve-connect/package.nix index 6bc3e1f7d50ae..8a576bd7be3f5 100644 --- a/pkgs/by-name/si/sieve-connect/package.nix +++ b/pkgs/by-name/si/sieve-connect/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perlPackages, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "sieve-connect"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ perlPackages.perl ]; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; preBuild = '' # Fixes failing build when not building in git repo @@ -22,7 +32,11 @@ stdenv.mkDerivation rec { echo "$(date +%Y-%m-%d)" > datefile ''; - buildFlags = [ "PERL5LIB=${perlPackages.makePerlPath [ perlPackages.FileSlurp ]}" "bin" "man" ]; + buildFlags = [ + "PERL5LIB=${perlPackages.makePerlPath [ perlPackages.FileSlurp ]}" + "bin" + "man" + ]; installPhase = '' mkdir -p $out/bin @@ -30,9 +44,19 @@ stdenv.mkDerivation rec { installManPage sieve-connect.1 wrapProgram $out/bin/sieve-connect \ - --prefix PERL5LIB : "${with perlPackages; makePerlPath [ - AuthenSASL Socket6 IOSocketINET6 IOSocketSSL NetSSLeay NetDNS - TermReadKey TermReadLineGnu ]}" + --prefix PERL5LIB : "${ + with perlPackages; + makePerlPath [ + AuthenSASL + Socket6 + IOSocketINET6 + IOSocketSSL + NetSSLeay + NetDNS + TermReadKey + TermReadLineGnu + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/si/sift/package.nix b/pkgs/by-name/si/sift/package.nix index 04ca7f0c21366..0fe1069b70205 100644 --- a/pkgs/by-name/si/sift/package.nix +++ b/pkgs/by-name/si/sift/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + installShellFiles, +}: buildGoModule rec { pname = "sift"; @@ -23,7 +29,10 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installShellCompletion --cmd sift --bash sift-completion.bash diff --git a/pkgs/by-name/si/sigal/package.nix b/pkgs/by-name/si/sigal/package.nix index d9b4c4cfd53bc..594edec88205a 100644 --- a/pkgs/by-name/si/sigal/package.nix +++ b/pkgs/by-name/si/sigal/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, python3 -, fetchPypi -, ffmpeg +{ + stdenv, + lib, + python3, + fetchPypi, + ffmpeg, }: python3.pkgs.buildPythonApplication rec { @@ -35,11 +36,13 @@ python3.pkgs.buildPythonApplication rec { cryptography ]; - nativeCheckInputs = [ - ffmpeg - ] ++ (with python3.pkgs; [ - pytestCheckHook - ]); + nativeCheckInputs = + [ + ffmpeg + ] + ++ (with python3.pkgs; [ + pytestCheckHook + ]); disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ "test_nonmedia_files" @@ -54,6 +57,9 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "sigal"; homepage = "http://sigal.saimon.org/"; license = licenses.mit; - maintainers = with maintainers; [ domenkozar matthiasbeyer ]; + maintainers = with maintainers; [ + domenkozar + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/si/sigi/package.nix b/pkgs/by-name/si/sigi/package.nix index 9bab8e985375b..ba92c47224c63 100644 --- a/pkgs/by-name/si/sigi/package.nix +++ b/pkgs/by-name/si/sigi/package.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchCrate, installShellFiles, testers, sigi }: +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + testers, + sigi, +}: rustPlatform.buildRustPackage rec { pname = "sigi"; diff --git a/pkgs/by-name/si/siglo/package.nix b/pkgs/by-name/si/siglo/package.nix index 4825b00c89596..147a784d1dcd9 100644 --- a/pkgs/by-name/si/siglo/package.nix +++ b/pkgs/by-name/si/siglo/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, glib -, meson -, ninja -, wrapGAppsHook3 -, desktop-file-utils -, gobject-introspection -, gtk3 -, python3 +{ + stdenv, + lib, + fetchFromGitHub, + glib, + meson, + ninja, + wrapGAppsHook3, + desktop-file-utils, + gobject-introspection, + gtk3, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/si/signal-cli/package.nix b/pkgs/by-name/si/signal-cli/package.nix index 759bbe122642d..015e232c16c36 100644 --- a/pkgs/by-name/si/signal-cli/package.nix +++ b/pkgs/by-name/si/signal-cli/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchurl, makeWrapper, openjdk21_headless, libmatthew_java, dbus, dbus_java }: +{ + stdenv, + lib, + fetchurl, + makeWrapper, + openjdk21_headless, + libmatthew_java, + dbus, + dbus_java, +}: stdenv.mkDerivation rec { pname = "signal-cli"; @@ -10,24 +19,35 @@ stdenv.mkDerivation rec { hash = "sha256-libAHGRdOinL48riMwKtacI5YlRw8JGoqOynVUCGyeA="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libmatthew_java dbus dbus_java ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libmatthew_java + dbus + dbus_java + ]; nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out/bin - cp -r lib $out/lib - cp bin/signal-cli $out/bin/signal-cli - '' + (if stdenv.hostPlatform.isLinux then '' - makeWrapper ${openjdk21_headless}/bin/java $out/bin/signal-cli \ - --set JAVA_HOME "${openjdk21_headless}" \ - --add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \ - --add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \ - --add-flags "org.asamk.signal.Main" - '' else '' - wrapProgram $out/bin/signal-cli \ - --prefix PATH : ${lib.makeBinPath [ openjdk21_headless ]} \ - --set JAVA_HOME ${openjdk21_headless} - ''); + installPhase = + '' + mkdir -p $out/bin + cp -r lib $out/lib + cp bin/signal-cli $out/bin/signal-cli + '' + + ( + if stdenv.hostPlatform.isLinux then + '' + makeWrapper ${openjdk21_headless}/bin/java $out/bin/signal-cli \ + --set JAVA_HOME "${openjdk21_headless}" \ + --add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \ + --add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \ + --add-flags "org.asamk.signal.Main" + '' + else + '' + wrapProgram $out/bin/signal-cli \ + --prefix PATH : ${lib.makeBinPath [ openjdk21_headless ]} \ + --set JAVA_HOME ${openjdk21_headless} + '' + ); # Execution in the macOS (10.13) sandbox fails with # dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa diff --git a/pkgs/by-name/si/signald/package.nix b/pkgs/by-name/si/signald/package.nix index 47d79cd88b6d9..7b5a2e99025d8 100644 --- a/pkgs/by-name/si/signald/package.nix +++ b/pkgs/by-name/si/signald/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitLab, jdk17_headless, coreutils, findutils, gnused, -gradle_8, git, makeWrapper, jre_minimal +{ + lib, + stdenv, + fetchFromGitLab, + jdk17_headless, + coreutils, + findutils, + gnused, + gradle_8, + git, + makeWrapper, + jre_minimal, }: let @@ -35,7 +45,8 @@ let # "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0." gradle = gradle_8; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname src version; mitmCache = gradle.fetchDeps { @@ -55,13 +66,23 @@ in stdenv.mkDerivation { mkdir -p $out tar xvf ./build/distributions/signald.tar --strip-components=1 --directory $out/ wrapProgram $out/bin/signald \ - --prefix PATH : ${lib.makeBinPath [ coreutils findutils gnused ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + findutils + gnused + ] + } \ --set JAVA_HOME "${jre'}" runHook postInstall ''; - nativeBuildInputs = [ git gradle makeWrapper ]; + nativeBuildInputs = [ + git + gradle + makeWrapper + ]; doCheck = true; @@ -84,10 +105,15 @@ in stdenv.mkDerivation { homepage = "https://signald.org"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # deps + binaryBytecode # deps ]; license = licenses.gpl3Plus; - maintainers = []; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = [ ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/by-name/si/signaldctl/package.nix b/pkgs/by-name/si/signaldctl/package.nix index 128ecd0f5b56f..59e1984f4d717 100644 --- a/pkgs/by-name/si/signaldctl/package.nix +++ b/pkgs/by-name/si/signaldctl/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitLab -, gitUpdater +{ + lib, + buildGoModule, + fetchFromGitLab, + gitUpdater, }: buildGoModule rec { diff --git a/pkgs/by-name/si/signaturepdf/package.nix b/pkgs/by-name/si/signaturepdf/package.nix index 3b5d66508efbe..c53077252a81e 100644 --- a/pkgs/by-name/si/signaturepdf/package.nix +++ b/pkgs/by-name/si/signaturepdf/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, php -, makeWrapper -, imagemagick -, librsvg -, potrace -, pdftk -, ghostscript +{ + lib, + stdenv, + fetchFromGitHub, + php, + makeWrapper, + imagemagick, + librsvg, + potrace, + pdftk, + ghostscript, }: stdenv.mkDerivation rec { @@ -36,7 +37,15 @@ stdenv.mkDerivation rec { makeWrapper ${lib.getExe php} $out/bin/signaturepdf \ --inherit-argv0 \ --chdir $out/share/signaturepdf \ - --prefix PATH : ${lib.makeBinPath [ imagemagick librsvg potrace pdftk ghostscript ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + imagemagick + librsvg + potrace + pdftk + ghostscript + ] + } \ --run 'port=$1' \ --run '[ $# -ge 1 ] || ( echo "Usage $0 -d upload_max_filesize=24M -d post_max_size=24M -d max_file_uploads=201" >&2 && exit 1 )' \ --run 'shift' \ @@ -50,8 +59,7 @@ stdenv.mkDerivation rec { description = "Web software for signing PDFs and also organize pages, edit metadata and compress pdf"; mainProgram = "signaturepdf"; homepage = "https://pdf.24eme.fr/"; - changelog = - "https://github.com/24eme/signaturepdf/releases/tag/v${version}"; + changelog = "https://github.com/24eme/signaturepdf/releases/tag/v${version}"; license = licenses.agpl3Only; platforms = platforms.all; maintainers = with maintainers; [ DamienCassou ]; diff --git a/pkgs/by-name/si/signify/package.nix b/pkgs/by-name/si/signify/package.nix index fe1c2bf453452..33b188a92261b 100644 --- a/pkgs/by-name/si/signify/package.nix +++ b/pkgs/by-name/si/signify/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libbsd, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libbsd, + pkg-config, +}: stdenv.mkDerivation rec { pname = "signify"; diff --git a/pkgs/by-name/si/signing-party/package.nix b/pkgs/by-name/si/signing-party/package.nix index 5780fca0250e1..bd64a183cc1ea 100644 --- a/pkgs/by-name/si/signing-party/package.nix +++ b/pkgs/by-name/si/signing-party/package.nix @@ -1,17 +1,45 @@ -{ lib, stdenv, fetchFromGitLab, autoconf, automake, makeWrapper -, python3, perl, perlPackages -, libmd, gnupg, which, getopt, libpaper, nettools, qprint -, sendmailPath ? "/run/wrappers/bin/sendmail" }: +{ + lib, + stdenv, + fetchFromGitLab, + autoconf, + automake, + makeWrapper, + python3, + perl, + perlPackages, + libmd, + gnupg, + which, + getopt, + libpaper, + nettools, + qprint, + sendmailPath ? "/run/wrappers/bin/sendmail", +}: let # All runtime dependencies from the CPAN graph: # https://widgets.stratopan.com/wheel?q=GnuPG-Interface-0.52&runtime=1&fs=1 GnuPGInterfaceRuntimeDependencies = with perlPackages; [ - strictures ClassMethodModifiers DataPerl DevelGlobalDestruction ExporterTiny - GnuPGInterface ListMoreUtils ModuleRuntime Moo MooXHandlesVia MooXlate - RoleTiny SubExporterProgressive SubQuote TypeTiny + strictures + ClassMethodModifiers + DataPerl + DevelGlobalDestruction + ExporterTiny + GnuPGInterface + ListMoreUtils + ModuleRuntime + Moo + MooXHandlesVia + MooXlate + RoleTiny + SubExporterProgressive + SubQuote + TypeTiny ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "signing-party"; version = "2.11"; @@ -43,8 +71,18 @@ in stdenv.mkDerivation rec { # Perl is required for it's pod2man. # Python and Perl are required for patching the script interpreter paths. - nativeBuildInputs = [ autoconf automake makeWrapper ]; - buildInputs = [ python3 perl perlPackages.GnuPGInterface libmd gnupg ]; + nativeBuildInputs = [ + autoconf + automake + makeWrapper + ]; + buildInputs = [ + python3 + perl + perlPackages.GnuPGInterface + libmd + gnupg + ]; postInstall = '' # Install all tools which aren't handled by 'make install'. @@ -119,81 +157,124 @@ in stdenv.mkDerivation rec { ''; postFixup = '' - # Add the runtime dependencies for all programs (but mainly for the Perl - # scripts) - - wrapProgram $out/bin/caff --set PERL5LIB \ - ${with perlPackages; makePerlPath ([ - TextTemplate MIMETools MailTools TimeDate NetIDNEncode SubHandlesVia ] - ++ GnuPGInterfaceRuntimeDependencies)} \ - --prefix PATH ":" \ - "${lib.makeBinPath [ nettools gnupg ]}" - - wrapProgram $out/bin/gpg-key2latex --set PERL5LIB \ - ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ - --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg libpaper ]}" - - wrapProgram $out/bin/gpg-key2ps --prefix PATH ":" \ - "${lib.makeBinPath [ which gnupg libpaper ]}" - - wrapProgram $out/bin/gpg-mailkeys --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg qprint ]}" - - wrapProgram $out/bin/gpgdir --set PERL5LIB \ - ${with perlPackages; makePerlPath ([ - TermReadKey ] - ++ GnuPGInterfaceRuntimeDependencies)} \ - --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/gpglist --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/gpgparticipants --prefix PATH ":" \ - "${lib.makeBinPath [ getopt gnupg ]}" - -# wrapProgram $out/bin/gpgparticipants-prefill - - wrapProgram $out/bin/gpgparticipants-filter --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/gpgsigs --set PERL5LIB \ - ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ - --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/gpgwrap --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - -# wrapProgram $out/bin/keyanalyze --set PERL5LIB \ - - wrapProgram $out/bin/keyart --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/keylookup --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/pgp-clean --set PERL5LIB \ - ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ - --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - - wrapProgram $out/bin/pgp-fixkey --set PERL5LIB \ - ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ - --prefix PATH ":" \ - "${lib.makeBinPath [ gnupg ]}" - -# wrapProgram $out/bin/pgpring - -# wrapProgram $out/bin/process_keys - - # Upstream-Bug: Seems like sig2dot doesn't work with 2.1 (modern) anymore, - # please use 2.0 (stable) instead. -# wrapProgram $out/bin/sig2dot - - wrapProgram $out/bin/springgraph --set PERL5LIB \ - ${with perlPackages; makePerlPath [ GD ]} + # Add the runtime dependencies for all programs (but mainly for the Perl + # scripts) + + wrapProgram $out/bin/caff --set PERL5LIB \ + ${ + with perlPackages; + makePerlPath ( + [ + TextTemplate + MIMETools + MailTools + TimeDate + NetIDNEncode + SubHandlesVia + ] + ++ GnuPGInterfaceRuntimeDependencies + ) + } \ + --prefix PATH ":" \ + "${ + lib.makeBinPath [ + nettools + gnupg + ] + }" + + wrapProgram $out/bin/gpg-key2latex --set PERL5LIB \ + ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ + --prefix PATH ":" \ + "${ + lib.makeBinPath [ + gnupg + libpaper + ] + }" + + wrapProgram $out/bin/gpg-key2ps --prefix PATH ":" \ + "${ + lib.makeBinPath [ + which + gnupg + libpaper + ] + }" + + wrapProgram $out/bin/gpg-mailkeys --prefix PATH ":" \ + "${ + lib.makeBinPath [ + gnupg + qprint + ] + }" + + wrapProgram $out/bin/gpgdir --set PERL5LIB \ + ${ + with perlPackages; + makePerlPath ( + [ + TermReadKey + ] + ++ GnuPGInterfaceRuntimeDependencies + ) + } \ + --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/gpglist --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/gpgparticipants --prefix PATH ":" \ + "${ + lib.makeBinPath [ + getopt + gnupg + ] + }" + + # wrapProgram $out/bin/gpgparticipants-prefill + + wrapProgram $out/bin/gpgparticipants-filter --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/gpgsigs --set PERL5LIB \ + ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ + --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/gpgwrap --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + # wrapProgram $out/bin/keyanalyze --set PERL5LIB \ + + wrapProgram $out/bin/keyart --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/keylookup --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/pgp-clean --set PERL5LIB \ + ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ + --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + wrapProgram $out/bin/pgp-fixkey --set PERL5LIB \ + ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \ + --prefix PATH ":" \ + "${lib.makeBinPath [ gnupg ]}" + + # wrapProgram $out/bin/pgpring + + # wrapProgram $out/bin/process_keys + + # Upstream-Bug: Seems like sig2dot doesn't work with 2.1 (modern) anymore, + # please use 2.0 (stable) instead. + # wrapProgram $out/bin/sig2dot + + wrapProgram $out/bin/springgraph --set PERL5LIB \ + ${with perlPackages; makePerlPath [ GD ]} ''; meta = with lib; { @@ -219,7 +300,13 @@ in stdenv.mkDerivation rec { * keyart: creates a random ASCII art of a PGP key file * gpg-key2latex: generate LaTeX file with fingerprint paper slips ''; - license = with licenses; [ bsd2 bsd3 gpl2Only gpl2Plus gpl3Plus ]; + license = with licenses; [ + bsd2 + bsd3 + gpl2Only + gpl2Plus + gpl3Plus + ]; maintainers = with maintainers; [ primeos ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/si/signwriting/package.nix b/pkgs/by-name/si/signwriting/package.nix index ae5f0bb0fb930..46a92e0454098 100644 --- a/pkgs/by-name/si/signwriting/package.nix +++ b/pkgs/by-name/si/signwriting/package.nix @@ -1,32 +1,37 @@ -{ lib, runCommand, fetchurl }: +{ + lib, + runCommand, + fetchurl, +}: -runCommand "signwriting-1.1.4" { - src1 = fetchurl { - url = "https://github.com/Slevinski/signwriting_2010_fonts/raw/61c8e7123a1168657b5d34d85266a637f67b9d2b/fonts/SignWriting%202010.ttf"; - name = "SignWriting_2010.ttf"; - sha256 = "1abjzykbjx2hal8mrxp51rvblv3q84akyn9qhjfaj20rwphkf5zj"; - }; +runCommand "signwriting-1.1.4" + { + src1 = fetchurl { + url = "https://github.com/Slevinski/signwriting_2010_fonts/raw/61c8e7123a1168657b5d34d85266a637f67b9d2b/fonts/SignWriting%202010.ttf"; + name = "SignWriting_2010.ttf"; + sha256 = "1abjzykbjx2hal8mrxp51rvblv3q84akyn9qhjfaj20rwphkf5zj"; + }; - src2 = fetchurl { - url = "https://github.com/Slevinski/signwriting_2010_fonts/raw/61c8e7123a1168657b5d34d85266a637f67b9d2b/fonts/SignWriting%202010%20Filling.ttf"; - name = "SignWriting_2010_Filling.ttf"; - sha256 = "0am5wbf7jdy9szxkbsc5f3959cxvbj7mr0hy1ziqmkz02c6xjw2m"; - }; + src2 = fetchurl { + url = "https://github.com/Slevinski/signwriting_2010_fonts/raw/61c8e7123a1168657b5d34d85266a637f67b9d2b/fonts/SignWriting%202010%20Filling.ttf"; + name = "SignWriting_2010_Filling.ttf"; + sha256 = "0am5wbf7jdy9szxkbsc5f3959cxvbj7mr0hy1ziqmkz02c6xjw2m"; + }; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0cn37s3lc7gbr8036l7ia2869qmxglkmgllh3r9q5j54g3sfjc7q"; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "0cn37s3lc7gbr8036l7ia2869qmxglkmgllh3r9q5j54g3sfjc7q"; - meta = with lib; { - homepage = "https://github.com/Slevinski/signwriting_2010_fonts"; - description = "Typeface for written sign languages"; - maintainers = with maintainers; [ mathnerd314 ]; - license = licenses.ofl; - platforms = platforms.all; - }; -} -'' - mkdir -p $out/share/fonts/truetype - cp $src1 $out/share/fonts/truetype/SignWriting_2010.ttf - cp $src2 $out/share/fonts/truetype/SignWriting_2010_Filling.ttf -'' + meta = with lib; { + homepage = "https://github.com/Slevinski/signwriting_2010_fonts"; + description = "Typeface for written sign languages"; + maintainers = with maintainers; [ mathnerd314 ]; + license = licenses.ofl; + platforms = platforms.all; + }; + } + '' + mkdir -p $out/share/fonts/truetype + cp $src1 $out/share/fonts/truetype/SignWriting_2010.ttf + cp $src2 $out/share/fonts/truetype/SignWriting_2010_Filling.ttf + '' diff --git a/pkgs/by-name/si/sigrok-cli/package.nix b/pkgs/by-name/si/sigrok-cli/package.nix index f239d03cb6a42..666dfc1446d31 100644 --- a/pkgs/by-name/si/sigrok-cli/package.nix +++ b/pkgs/by-name/si/sigrok-cli/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, glib, libsigrok, libsigrokdecode }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + glib, + libsigrok, + libsigrokdecode, +}: stdenv.mkDerivation rec { pname = "sigrok-cli"; @@ -10,8 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-B2FJxRkfKELrtqxZDv5QTvntpu9zJnTK15CAUYbf+5M="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ glib libsigrok libsigrokdecode ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + glib + libsigrok + libsigrokdecode + ]; meta = with lib; { description = "Command-line frontend for the sigrok signal analysis software suite"; @@ -19,6 +35,9 @@ stdenv.mkDerivation rec { homepage = "https://sigrok.org/"; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor vifino ]; + maintainers = with maintainers; [ + bjornfor + vifino + ]; }; } diff --git a/pkgs/by-name/si/sigrok-firmware-fx2lafw/package.nix b/pkgs/by-name/si/sigrok-firmware-fx2lafw/package.nix index 44a095bf59f9d..5fcc883c4720c 100644 --- a/pkgs/by-name/si/sigrok-firmware-fx2lafw/package.nix +++ b/pkgs/by-name/si/sigrok-firmware-fx2lafw/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchgit -, autoreconfHook -, sdcc +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + sdcc, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook sdcc ]; + nativeBuildInputs = [ + autoreconfHook + sdcc + ]; meta = with lib; { description = "Firmware for FX2 logic analyzers"; @@ -26,12 +30,15 @@ stdenv.mkDerivation rec { # licensing details explained in: # https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=README;hb=HEAD#l122 license = with licenses; [ - gpl2Plus # overall - lgpl21Plus # fx2lib, Hantek 6022BE, Sainsmart DDS120 firmwares + gpl2Plus # overall + lgpl21Plus # fx2lib, Hantek 6022BE, Sainsmart DDS120 firmwares ]; sourceProvenance = with sourceTypes; [ fromSource ]; platforms = platforms.all; - maintainers = with maintainers; [ panicgh vifino ]; + maintainers = with maintainers; [ + panicgh + vifino + ]; }; } diff --git a/pkgs/by-name/si/sigslot/package.nix b/pkgs/by-name/si/sigslot/package.nix index 8a97ab9d32e9a..244d56e91cc0b 100644 --- a/pkgs/by-name/si/sigslot/package.nix +++ b/pkgs/by-name/si/sigslot/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/si/sigtop/package.nix b/pkgs/by-name/si/sigtop/package.nix index 08043c391bc94..0935e9900b364 100644 --- a/pkgs/by-name/si/sigtop/package.nix +++ b/pkgs/by-name/si/sigtop/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { name = "sigtop"; diff --git a/pkgs/by-name/si/sigutils/package.nix b/pkgs/by-name/si/sigutils/package.nix index 8b384af02270d..a0ebb704137ea 100644 --- a/pkgs/by-name/si/sigutils/package.nix +++ b/pkgs/by-name/si/sigutils/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, fftwSinglePrec -, libsndfile -, volk +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + fftwSinglePrec, + libsndfile, + volk, }: stdenv.mkDerivation rec { @@ -35,6 +36,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/BatchDrake/sigutils"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ polygon oxapentane ]; + maintainers = with maintainers; [ + polygon + oxapentane + ]; }; } diff --git a/pkgs/by-name/si/siji/package.nix b/pkgs/by-name/si/siji/package.nix index 0ae5914eb1318..9fea0e378f9cf 100644 --- a/pkgs/by-name/si/siji/package.nix +++ b/pkgs/by-name/si/siji/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libfaketime, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + libfaketime, + xorg, +}: stdenv.mkDerivation rec { pname = "siji"; @@ -11,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "1408g4nxwdd682vjqpmgv0cp0bfnzzzwls62cjs9zrds16xa9dpf"; }; - nativeBuildInputs = [ libfaketime xorg.fonttosfnt xorg.mkfontscale ]; + nativeBuildInputs = [ + libfaketime + xorg.fonttosfnt + xorg.mkfontscale + ]; buildPhase = '' # compress pcf fonts @@ -32,7 +42,10 @@ stdenv.mkDerivation rec { mkfontdir "$bdf/share/fonts/misc" ''; - outputs = [ "out" "bdf" ]; + outputs = [ + "out" + "bdf" + ]; meta = with lib; { homepage = "https://github.com/stark/siji"; diff --git a/pkgs/by-name/si/sil-abyssinica/package.nix b/pkgs/by-name/si/sil-abyssinica/package.nix index d0571fae0bfda..3f8e34c8264e2 100644 --- a/pkgs/by-name/si/sil-abyssinica/package.nix +++ b/pkgs/by-name/si/sil-abyssinica/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "sil-abyssinica"; diff --git a/pkgs/by-name/si/sil-padauk/package.nix b/pkgs/by-name/si/sil-padauk/package.nix index f3df1d1febe28..911d5c9370721 100644 --- a/pkgs/by-name/si/sil-padauk/package.nix +++ b/pkgs/by-name/si/sil-padauk/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "sil-padauk"; diff --git a/pkgs/by-name/si/sil-q/package.nix b/pkgs/by-name/si/sil-q/package.nix index 796ab12e2ea9f..b8ab1befd9256 100644 --- a/pkgs/by-name/si/sil-q/package.nix +++ b/pkgs/by-name/si/sil-q/package.nix @@ -1,4 +1,13 @@ -{ pkgs, lib, stdenv, fetchFromGitHub, writeScript, makeWrapper, ncurses, libX11 }: +{ + pkgs, + lib, + stdenv, + fetchFromGitHub, + writeScript, + makeWrapper, + ncurses, + libX11, +}: let setup = writeScript "setup" '' @@ -8,7 +17,8 @@ let # the copied files need to be writable chmod +w -R "$ANGBAND_PATH" ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "sil-q"; version = "1.5.0"; @@ -20,7 +30,10 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ncurses libX11 ]; + buildInputs = [ + ncurses + libX11 + ]; # Makefile(s) and config are not top-level sourceRoot = "${src.name}/src"; @@ -48,7 +61,7 @@ in stdenv.mkDerivation rec { ''; passthru.tests = { - saveDirCreation = pkgs.runCommand "save-dir-creation" {} '' + saveDirCreation = pkgs.runCommand "save-dir-creation" { } '' HOME=$(pwd) ${lib.getExe pkgs.sil-q} --help test -d .sil-q && touch $out ''; diff --git a/pkgs/by-name/si/sil/package.nix b/pkgs/by-name/si/sil/package.nix index f50fc358efe2f..9e72ff583a828 100644 --- a/pkgs/by-name/si/sil/package.nix +++ b/pkgs/by-name/si/sil/package.nix @@ -1,5 +1,17 @@ -{ pkgs, lib, stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu -, makeWrapper, writeScript }: +{ + pkgs, + lib, + stdenv, + fetchzip, + ncurses, + libX11, + libXaw, + libXt, + libXext, + libXmu, + makeWrapper, + writeScript, +}: let setup = writeScript "setup" '' @@ -21,7 +33,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ncurses libX11 libXaw libXt libXext libXmu ]; + buildInputs = [ + ncurses + libX11 + libXaw + libXt + libXext + libXmu + ]; sourceRoot = "${src.name}/Sil/src"; @@ -60,7 +79,7 @@ stdenv.mkDerivation rec { ''; passthru.tests = { - saveDirCreation = pkgs.runCommand "save-dir-creation" {} '' + saveDirCreation = pkgs.runCommand "save-dir-creation" { } '' HOME=$(pwd) ${lib.getExe pkgs.sil} --help test -d .sil && touch $out ''; @@ -77,7 +96,10 @@ stdenv.mkDerivation rec { ''; homepage = "http://www.amirrorclear.net/flowers/game/sil/index.html"; license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ michaelpj kenran ]; + maintainers = with lib.maintainers; [ + michaelpj + kenran + ]; platforms = lib.platforms.linux; mainProgram = "sil"; }; diff --git a/pkgs/by-name/si/silc_client/package.nix b/pkgs/by-name/si/silc_client/package.nix index 7a64e5cc12332..80c263b51ae0f 100644 --- a/pkgs/by-name/si/silc_client/package.nix +++ b/pkgs/by-name/si/silc_client/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchurl, perl, pkg-config, glib, ncurses -, enablePlugin ? false }: +{ + lib, + stdenv, + fetchurl, + perl, + pkg-config, + glib, + ncurses, + enablePlugin ? false, +}: # Enabling the plugin and using it with a recent irssi, segafults on join: # http://marc.info/?l=silc-devel&m=125610477802211 @@ -26,7 +34,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ perl glib ncurses ]; + buildInputs = [ + perl + glib + ncurses + ]; meta = { homepage = "http://silcnet.org/"; diff --git a/pkgs/by-name/si/silc_server/package.nix b/pkgs/by-name/si/silc_server/package.nix index 6ed1a2dd5e919..22d706ce3fa4f 100644 --- a/pkgs/by-name/si/silc_server/package.nix +++ b/pkgs/by-name/si/silc_server/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "silc-server"; diff --git a/pkgs/by-name/si/silenthound/package.nix b/pkgs/by-name/si/silenthound/package.nix index 22ecb946d4a64..1df9d25c8c37f 100644 --- a/pkgs/by-name/si/silenthound/package.nix +++ b/pkgs/by-name/si/silenthound/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/si/silice/package.nix b/pkgs/by-name/si/silice/package.nix index 4dfc83f9944b3..cdc062c5c0c9c 100644 --- a/pkgs/by-name/si/silice/package.nix +++ b/pkgs/by-name/si/silice/package.nix @@ -1,10 +1,20 @@ -{ stdenv, fetchFromGitHub, lib -, cmake, pkg-config, openjdk -, libuuid, python3 -, glfw -, yosys, nextpnr, verilator -, dfu-util, icestorm, trellis -, unstableGitUpdater +{ + stdenv, + fetchFromGitHub, + lib, + cmake, + pkg-config, + openjdk, + libuuid, + python3, + glfw, + yosys, + nextpnr, + verilator, + dfu-util, + icestorm, + trellis, + unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -54,39 +64,42 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests = let silice = finalAttrs.finalPackage; - testProject = project: stdenv.mkDerivation { - name = "${silice.name}-test-${project}"; - nativeBuildInputs = [ - silice - yosys - nextpnr - verilator - dfu-util - icestorm - trellis - ]; - src = "${silice.src}/projects"; - sourceRoot = "projects/${project}"; - buildPhase = '' - targets=() - for target in $(cat configs | tr -d '\r') ; do - [[ $target != Makefile* ]] || continue - make $target ARGS="--no_program" - targets+=($target) - done - if test "''${#targets[@]}" -eq 0; then - >&2 echo "ERROR: no target found!" - false - fi - ''; - installPhase = '' - mkdir $out - for target in "''${targets[@]}" ; do - [[ $target != Makefile* ]] || continue - done - ''; - }; - in { + testProject = + project: + stdenv.mkDerivation { + name = "${silice.name}-test-${project}"; + nativeBuildInputs = [ + silice + yosys + nextpnr + verilator + dfu-util + icestorm + trellis + ]; + src = "${silice.src}/projects"; + sourceRoot = "projects/${project}"; + buildPhase = '' + targets=() + for target in $(cat configs | tr -d '\r') ; do + [[ $target != Makefile* ]] || continue + make $target ARGS="--no_program" + targets+=($target) + done + if test "''${#targets[@]}" -eq 0; then + >&2 echo "ERROR: no target found!" + false + fi + ''; + installPhase = '' + mkdir $out + for target in "''${targets[@]}" ; do + [[ $target != Makefile* ]] || continue + done + ''; + }; + in + { # a selection of test projects that build with the FPGA tools in # nixpkgs audio_sdcard_streamer = testProject "audio_sdcard_streamer"; diff --git a/pkgs/by-name/si/silicon/package.nix b/pkgs/by-name/si/silicon/package.nix index 2c0bb500e4a6b..31920757f9525 100644 --- a/pkgs/by-name/si/silicon/package.nix +++ b/pkgs/by-name/si/silicon/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, cmake -, expat -, freetype -, libxcb -, python3 -, libiconv -, darwin -, fira-code -, fontconfig -, harfbuzz +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + cmake, + expat, + freetype, + libxcb, + python3, + libiconv, + darwin, + fira-code, + fontconfig, + harfbuzz, }: rustPlatform.buildRustPackage rec { @@ -33,17 +34,30 @@ rustPlatform.buildRustPackage rec { }; }; - buildInputs = [ expat freetype fira-code fontconfig harfbuzz ] + buildInputs = + [ + expat + freetype + fira-code + fontconfig + harfbuzz + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libxcb ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - libiconv - AppKit - CoreText - Security - ]); + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + libiconv + AppKit + CoreText + Security + ] + ); - nativeBuildInputs = [ cmake pkg-config rustPlatform.bindgenHook ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ python3 ]; + nativeBuildInputs = [ + cmake + pkg-config + rustPlatform.bindgenHook + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ python3 ]; preCheck = '' export HOME=$TMPDIR @@ -52,8 +66,14 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Create beautiful image of your source code"; homepage = "https://github.com/Aloxaf/silicon"; - license = with licenses; [ mit /* or */ asl20 ]; - maintainers = with maintainers; [ evanjs _0x4A6F ]; + license = with licenses; [ + mit # or + asl20 + ]; + maintainers = with maintainers; [ + evanjs + _0x4A6F + ]; mainProgram = "silicon"; }; } diff --git a/pkgs/by-name/si/silver-searcher/package.nix b/pkgs/by-name/si/silver-searcher/package.nix index c5e5986d6b98e..2c225bdd585fb 100644 --- a/pkgs/by-name/si/silver-searcher/package.nix +++ b/pkgs/by-name/si/silver-searcher/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, pcre, zlib, xz}: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + pcre, + zlib, + xz, +}: stdenv.mkDerivation rec { pname = "silver-searcher"; @@ -21,8 +30,15 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-fcommon"; NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-lgcc_s"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ pcre zlib xz ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + pcre + zlib + xz + ]; meta = with lib; { homepage = "https://github.com/ggreer/the_silver_searcher/"; diff --git a/pkgs/by-name/si/simde/package.nix b/pkgs/by-name/si/simde/package.nix index e3896021e0de8..894a02de384ee 100644 --- a/pkgs/by-name/si/simde/package.nix +++ b/pkgs/by-name/si/simde/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, meson, ninja }: +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "simde"; @@ -11,21 +17,27 @@ stdenv.mkDerivation rec { hash = "sha256-igjDHCpKXy6EbA9Mf6peL4OTVRPYTV0Y2jbgYQuWMT4="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; meta = with lib; { homepage = "https://simd-everywhere.github.io"; description = "Implementations of SIMD instruction sets for systems which don't natively support them"; - license = with licenses; [mit]; + license = with licenses; [ mit ]; maintainers = with maintainers; [ whiteley ]; - platforms = flatten (with platforms; [ - arm - armv7 - aarch64 - x86 - power - mips - riscv - ]); + platforms = flatten ( + with platforms; + [ + arm + armv7 + aarch64 + x86 + power + mips + riscv + ] + ); }; } diff --git a/pkgs/by-name/si/simdjson/package.nix b/pkgs/by-name/si/simdjson/package.nix index 3fdf54e181b38..9707162cf0c0e 100644 --- a/pkgs/by-name/si/simdjson/package.nix +++ b/pkgs/by-name/si/simdjson/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "simdjson"; @@ -13,15 +18,18 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ - "-DSIMDJSON_DEVELOPER_MODE=OFF" - ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "-DBUILD_SHARED_LIBS=OFF" - ] ++ lib.optionals (with stdenv.hostPlatform; isPower && isBigEndian) [ - # Assume required CPU features are available, since otherwise we - # just get a failed build. - "-DCMAKE_CXX_FLAGS=-mpower8-vector" - ]; + cmakeFlags = + [ + "-DSIMDJSON_DEVELOPER_MODE=OFF" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "-DBUILD_SHARED_LIBS=OFF" + ] + ++ lib.optionals (with stdenv.hostPlatform; isPower && isBigEndian) [ + # Assume required CPU features are available, since otherwise we + # just get a failed build. + "-DCMAKE_CXX_FLAGS=-mpower8-vector" + ]; meta = with lib; { homepage = "https://simdjson.org/"; diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix index 5bec4d0ca1d9d..299780adaf978 100644 --- a/pkgs/by-name/si/simdutf/package.nix +++ b/pkgs/by-name/si/simdutf/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libiconv, }: stdenv.mkDerivation (finalAttrs: { @@ -32,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Unicode routines validation and transcoding at billions of characters per second"; homepage = "https://github.com/simdutf/simdutf"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ rewine ]; mainProgram = "simdutf"; platforms = platforms.all; diff --git a/pkgs/by-name/si/simgear/package.nix b/pkgs/by-name/si/simgear/package.nix index 416274e1c5452..232f5b31eeda4 100644 --- a/pkgs/by-name/si/simgear/package.nix +++ b/pkgs/by-name/si/simgear/package.nix @@ -1,7 +1,30 @@ -{ lib, stdenv, fetchurl, plib, libglut, xorgproto, libX11, libXext, libXi -, libICE, libSM, libXt, libXmu, libGLU, libGL, boost179, zlib, libjpeg, freealut -, openscenegraph, openal, expat, cmake, apr, xz -, curl +{ + lib, + stdenv, + fetchurl, + plib, + libglut, + xorgproto, + libX11, + libXext, + libXi, + libICE, + libSM, + libXt, + libXmu, + libGLU, + libGL, + boost179, + zlib, + libjpeg, + freealut, + openscenegraph, + openal, + expat, + cmake, + apr, + xz, + curl, }: let version = "2020.3.19"; @@ -17,9 +40,30 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ plib libglut xorgproto libX11 libXext libXi - libICE libSM libXt libXmu libGLU libGL boost179 zlib libjpeg freealut - openscenegraph openal expat apr curl xz ]; + buildInputs = [ + plib + libglut + xorgproto + libX11 + libXext + libXi + libICE + libSM + libXt + libXmu + libGLU + libGL + boost179 + zlib + libjpeg + freealut + openscenegraph + openal + expat + apr + curl + xz + ]; meta = with lib; { description = "Simulation construction toolkit"; diff --git a/pkgs/by-name/si/simgrid/package.nix b/pkgs/by-name/si/simgrid/package.nix index 81a474f2d9aa8..7f019e0c2450a 100644 --- a/pkgs/by-name/si/simgrid/package.nix +++ b/pkgs/by-name/si/simgrid/package.nix @@ -1,15 +1,32 @@ -{ stdenv, lib, fetchFromGitLab, cmake, perl, python3, boost -, fortranSupport ? false, gfortran -, buildDocumentation ? false, fig2dev, ghostscript, doxygen -, buildJavaBindings ? false, openjdk -, buildPythonBindings ? true, python3Packages -, modelCheckingSupport ? false, libunwind, libevent, elfutils # Inside elfutils: libelf and libdw -, bmfSupport ? true, eigen -, minimalBindings ? false -, debug ? false -, optimize ? (!debug) -, moreTests ? false -, withoutBin ? false +{ + stdenv, + lib, + fetchFromGitLab, + cmake, + perl, + python3, + boost, + fortranSupport ? false, + gfortran, + buildDocumentation ? false, + fig2dev, + ghostscript, + doxygen, + buildJavaBindings ? false, + openjdk, + buildPythonBindings ? true, + python3Packages, + modelCheckingSupport ? false, + libunwind, + libevent, + elfutils, # Inside elfutils: libelf and libdw + bmfSupport ? true, + eigen, + minimalBindings ? false, + debug ? false, + optimize ? (!debug), + moreTests ? false, + withoutBin ? false, }: stdenv.mkDerivation rec { @@ -25,16 +42,28 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = [ boost ]; - nativeBuildInputs = [ cmake perl python3 ] + nativeBuildInputs = + [ + cmake + perl + python3 + ] ++ lib.optionals fortranSupport [ gfortran ] ++ lib.optionals buildJavaBindings [ openjdk ] ++ lib.optionals buildPythonBindings [ python3Packages.pybind11 ] - ++ lib.optionals buildDocumentation [ fig2dev ghostscript doxygen ] + ++ lib.optionals buildDocumentation [ + fig2dev + ghostscript + doxygen + ] ++ lib.optionals bmfSupport [ eigen ] - ++ lib.optionals modelCheckingSupport [ libunwind libevent elfutils ]; + ++ lib.optionals modelCheckingSupport [ + libunwind + libevent + elfutils + ]; - outputs = [ "out" ] - ++ lib.optionals buildPythonBindings [ "python" ]; + outputs = [ "out" ] ++ lib.optionals buildPythonBindings [ "python" ]; # "Release" does not work. non-debug mode is Debug compiled with optimization cmakeBuildType = "Debug"; @@ -87,15 +116,17 @@ stdenv.mkDerivation rec { make tests -j $NIX_BUILD_CORES ''; - postInstall = lib.optionalString withoutBin '' - # remove bin from output if requested. - # having a specific bin output would be cleaner but it does not work currently (circular references) - rm -rf $out/bin - '' + lib.optionalString buildPythonBindings '' - # manually install the python binding if requested. - mkdir -p $python/lib/python${lib.versions.majorMinor python3.version}/site-packages/ - cp ./lib/simgrid.cpython*.so $python/lib/python${lib.versions.majorMinor python3.version}/site-packages/ - ''; + postInstall = + lib.optionalString withoutBin '' + # remove bin from output if requested. + # having a specific bin output would be cleaner but it does not work currently (circular references) + rm -rf $out/bin + '' + + lib.optionalString buildPythonBindings '' + # manually install the python binding if requested. + mkdir -p $python/lib/python${lib.versions.majorMinor python3.version}/site-packages/ + cp ./lib/simgrid.cpython*.so $python/lib/python${lib.versions.majorMinor python3.version}/site-packages/ + ''; # improve debuggability if requested hardeningDisable = lib.optionals debug [ "fortify" ]; @@ -113,7 +144,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://simgrid.org/"; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ mickours mpoquet ]; + maintainers = with maintainers; [ + mickours + mpoquet + ]; platforms = platforms.all; broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/si/simh/package.nix b/pkgs/by-name/si/simh/package.nix index 74419d500a53e..7b0b349cd254c 100644 --- a/pkgs/by-name/si/simh/package.nix +++ b/pkgs/by-name/si/simh/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, SDL2 -, SDL2_ttf -, libpcap -, vde2 -, pcre +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_ttf, + libpcap, + vde2, + pcre, }: stdenv.mkDerivation rec { @@ -18,7 +20,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-65+YfOWpVXPeT64TZcSaWJY+ODQ0q/pwF9jb8xGdpIs="; }; - buildInputs = [ SDL2 SDL2_ttf libpcap vde2 pcre ]; + buildInputs = [ + SDL2 + SDL2_ttf + libpcap + vde2 + pcre + ]; dontConfigure = true; @@ -27,7 +35,11 @@ stdenv.mkDerivation rec { # https://github.com/simh/simh/issues/794 env.NIX_CFLAGS_COMPILE = toString [ "-fcommon" ]; - makeFlags = [ "GCC=${stdenv.cc.targetPrefix}cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ]; + makeFlags = [ + "GCC=${stdenv.cc.targetPrefix}cc" + "CC_STD=-std=c99" + "LDFLAGS=-lm" + ]; preInstall = '' install -d ${placeholder "out"}/bin diff --git a/pkgs/by-name/si/simp1e-cursors/package.nix b/pkgs/by-name/si/simp1e-cursors/package.nix index fd2cd4fd9daa0..394f362cd5628 100644 --- a/pkgs/by-name/si/simp1e-cursors/package.nix +++ b/pkgs/by-name/si/simp1e-cursors/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitLab, python3, librsvg, xcursorgen }: +{ + lib, + stdenvNoCC, + fetchFromGitLab, + python3, + librsvg, + xcursorgen, +}: stdenvNoCC.mkDerivation rec { pname = "simp1e-cursors"; diff --git a/pkgs/by-name/si/simple-dlna-browser/package.nix b/pkgs/by-name/si/simple-dlna-browser/package.nix index 1ae74f90761ce..0f12883dc6b0c 100644 --- a/pkgs/by-name/si/simple-dlna-browser/package.nix +++ b/pkgs/by-name/si/simple-dlna-browser/package.nix @@ -36,14 +36,16 @@ stdenv.mkDerivation { mkdir -p $out/bin cp sh/tools/simple-dlna-browser $outputWrapped makeWrapper $outputWrapped $outputWrapper \ - --prefix PATH : ${lib.makeBinPath [ - curl - gawk - gnugrep - gnused - socat - wget - ]} + --prefix PATH : ${ + lib.makeBinPath [ + curl + gawk + gnugrep + gnused + socat + wget + ] + } # Set the program name to a fixed value # Normally it is guessed by the filename, but we don't want it to be the name of the wrapper @@ -65,4 +67,3 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ ]; }; } - diff --git a/pkgs/by-name/si/simple-http-server/package.nix b/pkgs/by-name/si/simple-http-server/package.nix index fe84eaf3a2d3c..333a34838aba1 100644 --- a/pkgs/by-name/si/simple-http-server/package.nix +++ b/pkgs/by-name/si/simple-http-server/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,9 +23,11 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; # Currently no tests are implemented, so we avoid building the package twice doCheck = false; @@ -34,7 +37,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/TheWaWaR/simple-http-server"; changelog = "https://github.com/TheWaWaR/simple-http-server/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda mephistophiles ]; + maintainers = with maintainers; [ + figsoda + mephistophiles + ]; mainProgram = "simple-http-server"; }; } diff --git a/pkgs/by-name/si/simple-mtpfs/package.nix b/pkgs/by-name/si/simple-mtpfs/package.nix index 994b785c444e4..77cc2f2611b68 100644 --- a/pkgs/by-name/si/simple-mtpfs/package.nix +++ b/pkgs/by-name/si/simple-mtpfs/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, autoconf-archive -, pkg-config -, fuse -, libmtp +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + pkg-config, + fuse, + libmtp, }: stdenv.mkDerivation rec { pname = "simple-mtpfs"; @@ -18,8 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-vAqi2owa4LJK7y7S7TwkPAqDxzyHrZZBTu0MBwMT0gI="; }; - nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config ]; - buildInputs = [ fuse libmtp ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + pkg-config + ]; + buildInputs = [ + fuse + libmtp + ]; meta = with lib; { description = "Simple MTP fuse filesystem driver"; diff --git a/pkgs/by-name/si/simple-scan/package.nix b/pkgs/by-name/si/simple-scan/package.nix index 5529d594ff15f..6ee79585d4a88 100644 --- a/pkgs/by-name/si/simple-scan/package.nix +++ b/pkgs/by-name/si/simple-scan/package.nix @@ -1,26 +1,28 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, itstool -, python3 -, wrapGAppsHook4 -, cairo -, gdk-pixbuf -, colord -, glib -, libadwaita -, gtk4 -, gusb -, packagekit -, libwebp -, libxml2 -, sane-backends -, vala -, gnome -, gobject-introspection +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gettext, + itstool, + python3, + wrapGAppsHook4, + cairo, + gdk-pixbuf, + colord, + glib, + libadwaita, + gtk4, + gusb, + packagekit, + libwebp, + libxml2, + sane-backends, + vala, + gnome, + gobject-introspection, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/si/simpleTpmPk11/package.nix b/pkgs/by-name/si/simpleTpmPk11/package.nix index 842eb342c25fb..e963955a255f9 100644 --- a/pkgs/by-name/si/simpleTpmPk11/package.nix +++ b/pkgs/by-name/si/simpleTpmPk11/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, trousers, openssl, opencryptoki, autoreconfHook, libtool }: +{ + lib, + stdenv, + fetchFromGitHub, + trousers, + openssl, + opencryptoki, + autoreconfHook, + libtool, +}: stdenv.mkDerivation rec { pname = "simple-tpm-pk11"; @@ -11,8 +20,15 @@ stdenv.mkDerivation rec { sha256 = "0vpbaklr4r1a2am0pqcm6m41ph22mkcrq33y8ab5h8qkhkvhd6a6"; }; - nativeBuildInputs = [ autoreconfHook libtool ]; - buildInputs = [ trousers openssl opencryptoki ]; + nativeBuildInputs = [ + autoreconfHook + libtool + ]; + buildInputs = [ + trousers + openssl + opencryptoki + ]; enableParallelBuilding = true; @@ -21,9 +37,9 @@ stdenv.mkDerivation rec { longDescription = '' A simple library for using the TPM chip to secure SSH keys. ''; - homepage = "https://github.com/ThomasHabets/simple-tpm-pk11"; - license = licenses.asl20; + homepage = "https://github.com/ThomasHabets/simple-tpm-pk11"; + license = licenses.asl20; maintainers = [ ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/si/simplehttp2server/package.nix b/pkgs/by-name/si/simplehttp2server/package.nix index 3ec200a1d2016..190257b16e926 100644 --- a/pkgs/by-name/si/simplehttp2server/package.nix +++ b/pkgs/by-name/si/simplehttp2server/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "simplehttp2server"; diff --git a/pkgs/by-name/si/simplenes/package.nix b/pkgs/by-name/si/simplenes/package.nix index 061717d5c6560..9745808d35211 100644 --- a/pkgs/by-name/si/simplenes/package.nix +++ b/pkgs/by-name/si/simplenes/package.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, sfml +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + sfml, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/si/simpleproxy/package.nix b/pkgs/by-name/si/simpleproxy/package.nix index 3b2b614e282cd..54dbcb2bec673 100644 --- a/pkgs/by-name/si/simpleproxy/package.nix +++ b/pkgs/by-name/si/simpleproxy/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "simpleproxy"; diff --git a/pkgs/by-name/si/simplex-chat-desktop/package.nix b/pkgs/by-name/si/simplex-chat-desktop/package.nix index 5fe138d194206..dc7848d1afdcb 100644 --- a/pkgs/by-name/si/simplex-chat-desktop/package.nix +++ b/pkgs/by-name/si/simplex-chat-desktop/package.nix @@ -1,7 +1,8 @@ -{ lib -, appimageTools -, fetchurl -, gitUpdater +{ + lib, + appimageTools, + fetchurl, + gitUpdater, }: let @@ -16,19 +17,20 @@ let appimageContents = appimageTools.extract { inherit pname version src; }; -in appimageTools.wrapType2 { - inherit pname version src; +in +appimageTools.wrapType2 { + inherit pname version src; - extraBwrapArgs = [ - "--setenv _JAVA_AWT_WM_NONREPARENTING 1" - ]; + extraBwrapArgs = [ + "--setenv _JAVA_AWT_WM_NONREPARENTING 1" + ]; - extraInstallCommands = '' - install --mode=444 -D ${appimageContents}/chat.simplex.app.desktop --target-directory=$out/share/applications - substituteInPlace $out/share/applications/chat.simplex.app.desktop \ - --replace-fail 'Exec=simplex' 'Exec=simplex-chat-desktop' - cp -r ${appimageContents}/usr/share/icons $out/share - ''; + extraInstallCommands = '' + install --mode=444 -D ${appimageContents}/chat.simplex.app.desktop --target-directory=$out/share/applications + substituteInPlace $out/share/applications/chat.simplex.app.desktop \ + --replace-fail 'Exec=simplex' 'Exec=simplex-chat-desktop' + cp -r ${appimageContents}/usr/share/icons $out/share + ''; passthru.updateScript = gitUpdater { url = "https://github.com/simplex-chat/simplex-chat"; diff --git a/pkgs/by-name/si/simplotask/package.nix b/pkgs/by-name/si/simplotask/package.nix index 0ac5b17ac0680..ac0c46cc9361d 100644 --- a/pkgs/by-name/si/simplotask/package.nix +++ b/pkgs/by-name/si/simplotask/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "simplotask"; diff --git a/pkgs/by-name/si/simutrans/package.nix b/pkgs/by-name/si/simutrans/package.nix index b6452819bee51..b4a01db9642f3 100644 --- a/pkgs/by-name/si/simutrans/package.nix +++ b/pkgs/by-name/si/simutrans/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, unzip, zlib, libpng, bzip2, SDL, SDL_mixer -, buildEnv, config, runtimeShell +{ + lib, + stdenv, + fetchurl, + pkg-config, + unzip, + zlib, + libpng, + bzip2, + SDL, + SDL_mixer, + buildEnv, + config, + runtimeShell, }: let @@ -7,14 +19,16 @@ let paksets = config.simutrans.paksets or "pak64 pak64.japan pak128 pak128.britain pak128.german"; result = withPaks ( - if paksets == "*" then lib.attrValues pakSpec # taking all - else map (name: pakSpec.${name}) (lib.splitString " " paksets) + if paksets == "*" then + lib.attrValues pakSpec # taking all + else + map (name: pakSpec.${name}) (lib.splitString " " paksets) ); ver1 = "121"; ver2 = "0"; ver3 = ""; - version = "${ver1}.${ver2}${lib.optionalString (ver3 != "") ".${ver3}"}"; + version = "${ver1}.${ver2}${lib.optionalString (ver3 != "") ".${ver3}"}"; ver_dash = "${ver1}-${ver2}${lib.optionalString (ver3 != "") "-${ver3}"}"; binary_src = fetchurl { @@ -22,11 +36,8 @@ let sha256 = "1f463r6kr5ig0zd3mncc74k93xbjywsq3d06j5r17831jyc9bzb9"; }; - # As of 2021/07, many of these paksets have not been updated for years, so are on old versions. - pakSpec = lib.mapAttrs - (pakName: attrs: mkPak (attrs // {inherit pakName;})) - { + pakSpec = lib.mapAttrs (pakName: attrs: mkPak (attrs // { inherit pakName; })) { pak64 = { srcPath = "${ver_dash}/simupak64-${ver_dash}"; sha256 = "1k335kh8dhm1hdn5iwn3sdgnrlpk0rqxmmgqgqcwsi09cmw45m5c"; @@ -45,67 +56,81 @@ let srcPath = "pak128.Britain%20for%20120-1/pak128.Britain.1.18-120-3"; sha256 = "1kyb0s54kysvdr0zdln9106yx75d71j4lbw3v87k3i440cj3r1d3"; }; - "pak128.cs" = { # note: it needs pak128 to work + "pak128.cs" = { + # note: it needs pak128 to work url = "mirror://sourceforge/simutrans/Pak128.CS/pak128.cz_v.0.2.1.zip"; sha256 = "008d8x1s0vxsq78rkczlnf57pv1n5hi1v5nbd1l5w3yls7lk11sc"; }; "pak128.german" = { - url = "mirror://sourceforge/simutrans/PAK128.german/" + url = + "mirror://sourceforge/simutrans/PAK128.german/" + "pak128.german_1.2_for_ST_121.0/PAK128.german_1.2_for_ST_121-0.zip"; sha256 = "1cv1rzl1a3i5dvk476zq094wawk9hhdh2f0y4xrdny5gn17mb2xi"; }; - /* This release contains accented filenames that prevent unzipping. - "pak192.comic" = { - srcPath = "pak192comic%20for%20${ver2_dash}/pak192comic-0.4-${ver2_dash}up"; - sha256 = throw ""; - }; + /* + This release contains accented filenames that prevent unzipping. + "pak192.comic" = { + srcPath = "pak192comic%20for%20${ver2_dash}/pak192comic-0.4-${ver2_dash}up"; + sha256 = throw ""; + }; */ }; - - mkPak = { - sha256, pakName, srcPath ? null - , url ? "mirror://sourceforge/simutrans/${pakName}/${srcPath}.zip" - }: + mkPak = + { + sha256, + pakName, + srcPath ? null, + url ? "mirror://sourceforge/simutrans/${pakName}/${srcPath}.zip", + }: stdenv.mkDerivation { name = "simutrans-${pakName}"; dontUnpack = true; preferLocalBuild = true; - installPhase = let src = fetchurl { inherit url sha256; }; - in '' - mkdir -p "$out/share/simutrans/${pakName}" - cd "$out/share/simutrans/${pakName}" - "${unzip}/bin/unzip" "${src}" - chmod -R +w . # some zipfiles need that - - set +o pipefail # no idea why it's needed - toStrip=`find . -iname '*.pak' | head -n 1 | sed 's|\./\(.*\)/[^/]*$|\1|'` - echo "Detected path '$toStrip' to strip" - mv ./"$toStrip"/* . - rm -f "$toStrip/.directory" #pak128.german had this - rmdir -p "$toStrip" - ''; + installPhase = + let + src = fetchurl { inherit url sha256; }; + in + '' + mkdir -p "$out/share/simutrans/${pakName}" + cd "$out/share/simutrans/${pakName}" + "${unzip}/bin/unzip" "${src}" + chmod -R +w . # some zipfiles need that + + set +o pipefail # no idea why it's needed + toStrip=`find . -iname '*.pak' | head -n 1 | sed 's|\./\(.*\)/[^/]*$|\1|'` + echo "Detected path '$toStrip' to strip" + mv ./"$toStrip"/* . + rm -f "$toStrip/.directory" #pak128.german had this + rmdir -p "$toStrip" + ''; }; - /* The binaries need all data in one directory; the default is directory - of the executable, and another option is the current directory :-/ */ - withPaks = paks: buildEnv { - inherit (binaries) name; - paths = [binaries] ++ paks; - postBuild = '' - rm "$out/bin" && mkdir "$out/bin" - cat > "$out/bin/simutrans" < "$out/bin/simutrans" < config.default + '' + echo "${config}" > config.default - # Use ~/.simutrans instead of ~/simutrans - substituteInPlace simsys.cc --replace '%s/simutrans' '%s/.simutrans' + # Use ~/.simutrans instead of ~/simutrans + substituteInPlace simsys.cc --replace '%s/simutrans' '%s/.simutrans' - # use -O2 optimization (defaults are -O or -O3) - sed -i -e '/CFLAGS += -O/d' Makefile - export CFLAGS+=-O2 - ''; + # use -O2 optimization (defaults are -O or -O3) + sed -i -e '/CFLAGS += -O/d' Makefile + export CFLAGS+=-O2 + ''; enableParallelBuilding = true; @@ -163,10 +203,14 @@ let ''; homepage = "http://www.simutrans.com/"; - license = with lib.licenses; [ artistic1 gpl1Plus ]; + license = with lib.licenses; [ + artistic1 + gpl1Plus + ]; maintainers = [ ]; platforms = lib.platforms.linux; # TODO: ++ darwin; }; }; -in result +in +result diff --git a/pkgs/by-name/si/sing-box/package.nix b/pkgs/by-name/si/sing-box/package.nix index ea40096a5a215..a8b8247d28aef 100644 --- a/pkgs/by-name/si/sing-box/package.nix +++ b/pkgs/by-name/si/sing-box/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, buildPackages -, coreutils -, nix-update-script -, nixosTests +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + buildPackages, + coreutils, + nix-update-script, + nixosTests, }: buildGoModule rec { @@ -44,24 +45,28 @@ buildGoModule rec { "-X=github.com/sagernet/sing-box/constant.Version=${version}" ]; - postInstall = let emulator = stdenv.hostPlatform.emulator buildPackages; in '' - installShellCompletion --cmd sing-box \ - --bash <(${emulator} $out/bin/sing-box completion bash) \ - --fish <(${emulator} $out/bin/sing-box completion fish) \ - --zsh <(${emulator} $out/bin/sing-box completion zsh ) + postInstall = + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + installShellCompletion --cmd sing-box \ + --bash <(${emulator} $out/bin/sing-box completion bash) \ + --fish <(${emulator} $out/bin/sing-box completion fish) \ + --zsh <(${emulator} $out/bin/sing-box completion zsh ) - substituteInPlace release/config/sing-box{,@}.service \ - --replace-fail "/usr/bin/sing-box" "$out/bin/sing-box" \ - --replace-fail "/bin/kill" "${coreutils}/bin/kill" - install -Dm444 -t "$out/lib/systemd/system/" release/config/sing-box{,@}.service - ''; + substituteInPlace release/config/sing-box{,@}.service \ + --replace-fail "/usr/bin/sing-box" "$out/bin/sing-box" \ + --replace-fail "/bin/kill" "${coreutils}/bin/kill" + install -Dm444 -t "$out/lib/systemd/system/" release/config/sing-box{,@}.service + ''; passthru = { updateScript = nix-update-script { }; tests = { inherit (nixosTests) sing-box; }; }; - meta = with lib;{ + meta = with lib; { homepage = "https://sing-box.sagernet.org"; description = "Universal proxy platform"; license = licenses.gpl3Plus; diff --git a/pkgs/by-name/si/sing-geoip/package.nix b/pkgs/by-name/si/sing-geoip/package.nix index 2e128c6efe362..8695ccf554479 100644 --- a/pkgs/by-name/si/sing-geoip/package.nix +++ b/pkgs/by-name/si/sing-geoip/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, buildGoModule -, fetchFromGitHub -, dbip-country-lite +{ + lib, + stdenvNoCC, + buildGoModule, + fetchFromGitHub, + dbip-country-lite, }: let diff --git a/pkgs/by-name/si/sing-geosite/package.nix b/pkgs/by-name/si/sing-geosite/package.nix index 8540eb5340018..cedbdf3cd4900 100644 --- a/pkgs/by-name/si/sing-geosite/package.nix +++ b/pkgs/by-name/si/sing-geosite/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, substituteAll -, v2ray-domain-list-community +{ + lib, + buildGoModule, + fetchFromGitHub, + substituteAll, + v2ray-domain-list-community, }: let diff --git a/pkgs/by-name/si/single-file-cli/package.nix b/pkgs/by-name/si/single-file-cli/package.nix index 0af72089592a1..541fd9bdd95cd 100644 --- a/pkgs/by-name/si/single-file-cli/package.nix +++ b/pkgs/by-name/si/single-file-cli/package.nix @@ -18,7 +18,7 @@ buildNpmPackage { }; npmDepsHash = "sha256-wiBpWw9nb/pWVGIc4Vl/IxxR5ic0LzLMMr3WxRNvYdM="; - nativeCheckInputs = [chromium]; + nativeCheckInputs = [ chromium ]; doCheck = stdenv.hostPlatform.isLinux; postBuild = '' @@ -48,7 +48,7 @@ buildNpmPackage { description = "CLI tool for saving a faithful copy of a complete web page in a single HTML file"; homepage = "https://github.com/gildas-lormeau/single-file-cli"; license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [n8henrie]; + maintainers = with lib.maintainers; [ n8henrie ]; mainProgram = "single-file"; }; } diff --git a/pkgs/by-name/si/singular/package.nix b/pkgs/by-name/si/singular/package.nix index f26e1e8d1edd1..47e6c2445191a 100644 --- a/pkgs/by-name/si/singular/package.nix +++ b/pkgs/by-name/si/singular/package.nix @@ -1,22 +1,31 @@ -{ stdenv, fetchFromGitHub, gmp, bison, perl, ncurses, readline, coreutils, pkg-config -, lib -, autoreconfHook -, buildPackages -, sharutils -, file -, getconf -, flint3 -, ntl -, mpfr -, cddlib -, gfan -, lrcalc -, doxygen -, graphviz -, latex2html -, texinfo -, texliveSmall -, enableDocs ? true +{ + stdenv, + fetchFromGitHub, + gmp, + bison, + perl, + ncurses, + readline, + coreutils, + pkg-config, + lib, + autoreconfHook, + buildPackages, + sharutils, + file, + getconf, + flint3, + ntl, + mpfr, + cddlib, + gfan, + lrcalc, + doxygen, + graphviz, + latex2html, + texinfo, + texliveSmall, + enableDocs ? true, }: stdenv.mkDerivation rec { @@ -30,7 +39,7 @@ stdenv.mkDerivation rec { # if a release is tagged (which sometimes does not happen), it will # be in the format below. - rev = "Release-${lib.replaceStrings ["."] ["-"] version}"; + rev = "Release-${lib.replaceStrings [ "." ] [ "-" ] version}"; hash = "sha256-QxMMMnXaWe+0ogA6+3eOtdROb0RolSveya6DIx97/YY="; # the repository's .gitattributes file contains the lines "/Tst/ @@ -39,13 +48,15 @@ stdenv.mkDerivation rec { forceFetchGit = true; }; - configureFlags = [ - "--enable-gfanlib" - "--with-ntl=${ntl}" - "--with-flint=${flint3}" - ] ++ lib.optionals enableDocs [ - "--enable-doc-build" - ]; + configureFlags = + [ + "--enable-gfanlib" + "--with-ntl=${ntl}" + "--with-flint=${flint3}" + ] + ++ lib.optionals enableDocs [ + "--enable-doc-build" + ]; prePatch = '' # don't let the tests depend on `hostname` @@ -72,19 +83,22 @@ stdenv.mkDerivation rec { cddlib ]; - nativeBuildInputs = [ - bison - perl - pkg-config - autoreconfHook - sharutils # needed for regress.cmd install checks - ] ++ lib.optionals enableDocs [ - doxygen - graphviz - latex2html - texinfo - texliveSmall - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]; + nativeBuildInputs = + [ + bison + perl + pkg-config + autoreconfHook + sharutils # needed for regress.cmd install checks + ] + ++ lib.optionals enableDocs [ + doxygen + graphviz + latex2html + texinfo + texliveSmall + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; preAutoreconf = '' @@ -99,18 +113,21 @@ stdenv.mkDerivation rec { doCheck = true; # very basic checks, does not test any libraries - installPhase = '' - # clean up any artefacts a previous non-sandboxed docbuild may have left behind - rm /tmp/conic.log /tmp/conic.tex /tmp/tropicalcurve*.tex || true - make install - '' + lib.optionalString enableDocs '' - # Sage uses singular.info, which is not installed by default - mkdir -p $out/share/info - cp doc/singular.info $out/share/info - '' + '' - # Make sure patchelf picks up the right libraries - rm -rf libpolys factory resources omalloc Singular - ''; + installPhase = + '' + # clean up any artefacts a previous non-sandboxed docbuild may have left behind + rm /tmp/conic.log /tmp/conic.tex /tmp/tropicalcurve*.tex || true + make install + '' + + lib.optionalString enableDocs '' + # Sage uses singular.info, which is not installed by default + mkdir -p $out/share/info + cp doc/singular.info $out/share/info + '' + + '' + # Make sure patchelf picks up the right libraries + rm -rf libpolys factory resources omalloc Singular + ''; # singular tests are a bit complicated, see # https://github.com/Singular/Singular/tree/spielwiese/Tst diff --git a/pkgs/by-name/si/sink-rotate/package.nix b/pkgs/by-name/si/sink-rotate/package.nix index 1f684cb796048..058289484f855 100644 --- a/pkgs/by-name/si/sink-rotate/package.nix +++ b/pkgs/by-name/si/sink-rotate/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pipewire -, wireplumber -, makeWrapper +{ + lib, + rustPlatform, + fetchFromGitHub, + pipewire, + wireplumber, + makeWrapper, }: let version = "2.2.0"; @@ -38,4 +39,3 @@ rustPlatform.buildRustPackage { platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/si/sioclient/package.nix b/pkgs/by-name/si/sioclient/package.nix index 55fc1495b2f30..fcf5a02ef7b38 100644 --- a/pkgs/by-name/si/sioclient/package.nix +++ b/pkgs/by-name/si/sioclient/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, asio -, rapidjson -, websocketpp +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + asio, + rapidjson, + websocketpp, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/si/sipcalc/package.nix b/pkgs/by-name/si/sipcalc/package.nix index 1ba4db5bc0d25..3c17aabd32d8e 100644 --- a/pkgs/by-name/si/sipcalc/package.nix +++ b/pkgs/by-name/si/sipcalc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sipcalc"; diff --git a/pkgs/by-name/si/sipexer/package.nix b/pkgs/by-name/si/sipexer/package.nix index 98aaf67d80e69..47933243e0dcf 100644 --- a/pkgs/by-name/si/sipexer/package.nix +++ b/pkgs/by-name/si/sipexer/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/si/sipp/package.nix b/pkgs/by-name/si/sipp/package.nix index ae5441edb2518..7ad501f87bdbe 100644 --- a/pkgs/by-name/si/sipp/package.nix +++ b/pkgs/by-name/si/sipp/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, ncurses, libpcap, cmake, openssl, git, lksctp-tools }: +{ + lib, + stdenv, + fetchurl, + ncurses, + libpcap, + cmake, + openssl, + git, + lksctp-tools, +}: stdenv.mkDerivation rec { version = "3.6.1"; @@ -24,9 +34,15 @@ stdenv.mkDerivation rec { ]; enableParallelBuilding = true; - nativeBuildInputs = [ cmake git ]; - buildInputs = [ ncurses libpcap openssl ] - ++ lib.optional (stdenv.hostPlatform.isLinux) lksctp-tools; + nativeBuildInputs = [ + cmake + git + ]; + buildInputs = [ + ncurses + libpcap + openssl + ] ++ lib.optional (stdenv.hostPlatform.isLinux) lksctp-tools; meta = with lib; { homepage = "http://sipp.sf.net"; diff --git a/pkgs/by-name/si/siproxd/package.nix b/pkgs/by-name/si/siproxd/package.nix index 7c6319e450bda..45e3ce71eee27 100644 --- a/pkgs/by-name/si/siproxd/package.nix +++ b/pkgs/by-name/si/siproxd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libosip, sqlite }: +{ + lib, + stdenv, + fetchurl, + libosip, + sqlite, +}: stdenv.mkDerivation rec { pname = "siproxd"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { patches = [ ./cheaders.patch ]; - buildInputs = [ libosip sqlite ]; + buildInputs = [ + libosip + sqlite + ]; meta = { homepage = "http://siproxd.sourceforge.net/"; diff --git a/pkgs/by-name/si/sipsak/package.nix b/pkgs/by-name/si/sipsak/package.nix index ba6325cd53f0d..9302326748fc8 100644 --- a/pkgs/by-name/si/sipsak/package.nix +++ b/pkgs/by-name/si/sipsak/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, c-ares, openssl ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + c-ares, + openssl ? null, +}: stdenv.mkDerivation rec { pname = "sipsak"; @@ -33,4 +40,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/by-name/si/sipvicious/package.nix b/pkgs/by-name/si/sipvicious/package.nix index 8b0fa05cf0b51..29bb19b4d7e57 100644 --- a/pkgs/by-name/si/sipvicious/package.nix +++ b/pkgs/by-name/si/sipvicious/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, installShellFiles -, python3 +{ + lib, + fetchFromGitHub, + installShellFiles, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -16,11 +17,13 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-O8/9Vz/u8BoF1dfGceOJdzPPYLfkdBp2DkwA5WQ3dgo="; }; - build-system = [ - installShellFiles - ] ++ (with python3.pkgs; [ - setuptools - ]); + build-system = + [ + installShellFiles + ] + ++ (with python3.pkgs; [ + setuptools + ]); dependencies = with python3.pkgs; [ scapy diff --git a/pkgs/by-name/si/sipwitch/package.nix b/pkgs/by-name/si/sipwitch/package.nix index 0c11ffe8c1eea..b79edcd0848ad 100644 --- a/pkgs/by-name/si/sipwitch/package.nix +++ b/pkgs/by-name/si/sipwitch/package.nix @@ -1,4 +1,14 @@ -{ fetchurl, lib, stdenv, pkg-config, ucommon, libosip, libexosip, gnutls, zlib }: +{ + fetchurl, + lib, + stdenv, + pkg-config, + ucommon, + libosip, + libexosip, + gnutls, + zlib, +}: stdenv.mkDerivation rec { pname = "sipwitch"; @@ -10,7 +20,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ucommon libosip libexosip gnutls zlib ]; + buildInputs = [ + ucommon + libosip + libexosip + gnutls + zlib + ]; preConfigure = '' export configureFlags="--sysconfdir=$out/etc" diff --git a/pkgs/by-name/si/sirikali/package.nix b/pkgs/by-name/si/sirikali/package.nix index 978d938f2b7e3..e122665acb4c6 100644 --- a/pkgs/by-name/si/sirikali/package.nix +++ b/pkgs/by-name/si/sirikali/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, libpwquality -, hicolor-icon-theme -, fetchFromGitHub -, cmake -, pkg-config -, qt6 -, kdePackages -, cryfs -, encfs -, fscrypt-experimental -, gocryptfs -, securefs -, sshfs -, libgcrypt -, libsecret -, withKWallet ? true -, withLibsecret ? true +{ + lib, + stdenv, + libpwquality, + hicolor-icon-theme, + fetchFromGitHub, + cmake, + pkg-config, + qt6, + kdePackages, + cryfs, + encfs, + fscrypt-experimental, + gocryptfs, + securefs, + sshfs, + libgcrypt, + libsecret, + withKWallet ? true, + withLibsecret ? true, }: stdenv.mkDerivation rec { @@ -30,15 +31,15 @@ stdenv.mkDerivation rec { hash = "sha256-UtgK+q06J6T6RJ8jQiwzg5yVtgGZaZzmfadNyXxTCIk="; }; - buildInputs = [ - qt6.qtbase - libpwquality - hicolor-icon-theme - libgcrypt - ] - ++ lib.optionals withKWallet [ kdePackages.kwallet ] - ++ lib.optionals withLibsecret [ libsecret ] - ; + buildInputs = + [ + qt6.qtbase + libpwquality + hicolor-icon-theme + libgcrypt + ] + ++ lib.optionals withKWallet [ kdePackages.kwallet ] + ++ lib.optionals withLibsecret [ libsecret ]; nativeBuildInputs = [ qt6.wrapQtAppsHook @@ -47,14 +48,16 @@ stdenv.mkDerivation rec { ]; qtWrapperArgs = [ - ''--prefix PATH : ${lib.makeBinPath [ - cryfs - encfs - fscrypt-experimental - gocryptfs - securefs - sshfs - ]}'' + ''--prefix PATH : ${ + lib.makeBinPath [ + cryfs + encfs + fscrypt-experimental + gocryptfs + securefs + sshfs + ] + }'' ]; doCheck = true; diff --git a/pkgs/by-name/si/siril/package.nix b/pkgs/by-name/si/siril/package.nix index 39f58adfc41d3..7e4e3e11fca2d 100644 --- a/pkgs/by-name/si/siril/package.nix +++ b/pkgs/by-name/si/siril/package.nix @@ -1,8 +1,33 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, cmake -, git, criterion, gtk3, libconfig, gnuplot, opencv, json-glib -, fftwFloat, cfitsio, gsl, exiv2, librtprocess, wcslib, ffmpeg -, libraw, libtiff, libpng, libjpeg, libheif, ffms, wrapGAppsHook3 -, curl +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + cmake, + git, + criterion, + gtk3, + libconfig, + gnuplot, + opencv, + json-glib, + fftwFloat, + cfitsio, + gsl, + exiv2, + librtprocess, + wcslib, + ffmpeg, + libraw, + libtiff, + libpng, + libjpeg, + libheif, + ffms, + wrapGAppsHook3, + curl, }: stdenv.mkDerivation rec { @@ -17,12 +42,34 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja cmake pkg-config git criterion wrapGAppsHook3 + meson + ninja + cmake + pkg-config + git + criterion + wrapGAppsHook3 ]; buildInputs = [ - gtk3 cfitsio gsl exiv2 gnuplot opencv fftwFloat librtprocess wcslib - libconfig libraw libtiff libpng libjpeg libheif ffms ffmpeg json-glib + gtk3 + cfitsio + gsl + exiv2 + gnuplot + opencv + fftwFloat + librtprocess + wcslib + libconfig + libraw + libtiff + libpng + libjpeg + libheif + ffms + ffmpeg + json-glib curl ]; diff --git a/pkgs/by-name/si/sirius/package.nix b/pkgs/by-name/si/sirius/package.nix index 58c6e6a6dd2ef..9d1b48d4171cc 100644 --- a/pkgs/by-name/si/sirius/package.nix +++ b/pkgs/by-name/si/sirius/package.nix @@ -1,41 +1,47 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, mpi -, mpiCheckPhaseHook -, gfortran -, blas -, lapack -, gsl -, libxc -, hdf5 -, spglib -, spfft -, spla -, costa -, umpire -, scalapack -, boost -, eigen -, libvdwxc -, enablePython ? false -, pythonPackages ? null -, llvmPackages -, cudaPackages -, rocmPackages -, config -, gpuBackend ? ( - if config.cudaSupport - then "cuda" - else if config.rocmSupport - then "rocm" - else "none" -) +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + mpi, + mpiCheckPhaseHook, + gfortran, + blas, + lapack, + gsl, + libxc, + hdf5, + spglib, + spfft, + spla, + costa, + umpire, + scalapack, + boost, + eigen, + libvdwxc, + enablePython ? false, + pythonPackages ? null, + llvmPackages, + cudaPackages, + rocmPackages, + config, + gpuBackend ? ( + if config.cudaSupport then + "cuda" + else if config.rocmSupport then + "rocm" + else + "none" + ), }: -assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; +assert builtins.elem gpuBackend [ + "none" + "cuda" + "rocm" +]; assert enablePython -> pythonPackages != null; stdenv.mkDerivation rec { @@ -49,8 +55,10 @@ stdenv.mkDerivation rec { hash = "sha256-JvI75AbthNThXep2jcriLTPC8GGiPgrg5nYCCbCi+EI="; }; - - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake @@ -58,70 +66,86 @@ stdenv.mkDerivation rec { pkg-config ] ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc; - buildInputs = [ - blas - lapack - gsl - libxc - hdf5 - umpire - mpi - spglib - spfft - spla - costa - scalapack - boost - eigen - libvdwxc - ] - ++ lib.optionals (gpuBackend == "cuda") [ - cudaPackages.cuda_cudart - cudaPackages.cuda_profiler_api - cudaPackages.cudatoolkit - cudaPackages.libcublas - ] ++ lib.optionals (gpuBackend == "rocm") [ - rocmPackages.clr - rocmPackages.rocblas - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.openmp - ] ++ lib.optionals enablePython (with pythonPackages; [ - python - pybind11 - ]); - - propagatedBuildInputs = [ - (lib.getBin mpi) - ] ++ lib.optionals enablePython (with pythonPackages; [ - mpi4py - voluptuous - numpy - h5py - scipy - pyyaml - ]); + buildInputs = + [ + blas + lapack + gsl + libxc + hdf5 + umpire + mpi + spglib + spfft + spla + costa + scalapack + boost + eigen + libvdwxc + ] + ++ lib.optionals (gpuBackend == "cuda") [ + cudaPackages.cuda_cudart + cudaPackages.cuda_profiler_api + cudaPackages.cudatoolkit + cudaPackages.libcublas + ] + ++ lib.optionals (gpuBackend == "rocm") [ + rocmPackages.clr + rocmPackages.rocblas + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.openmp + ] + ++ lib.optionals enablePython ( + with pythonPackages; + [ + python + pybind11 + ] + ); + + propagatedBuildInputs = + [ + (lib.getBin mpi) + ] + ++ lib.optionals enablePython ( + with pythonPackages; + [ + mpi4py + voluptuous + numpy + h5py + scipy + pyyaml + ] + ); CXXFLAGS = [ # GCC 13: error: 'uintptr_t' in namespace 'std' does not name a type "-include cstdint" ]; - cmakeFlags = [ - "-DSIRIUS_USE_SCALAPACK=ON" - "-DSIRIUS_USE_VDWXC=ON" - "-DSIRIUS_CREATE_FORTRAN_BINDINGS=ON" - "-DSIRIUS_USE_OPENMP=ON" - "-DBUILD_TESTING=ON" - ] ++ lib.optionals (gpuBackend == "cuda") [ - "-DSIRIUS_USE_CUDA=ON" - "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}" - (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) - ] ++ lib.optionals (gpuBackend == "rocm") [ - "-DSIRIUS_USE_ROCM=ON" - "-DHIP_ROOT_DIR=${rocmPackages.clr}" - ] ++ lib.optionals enablePython [ - "-DSIRIUS_CREATE_PYTHON_MODULE=ON" - ]; + cmakeFlags = + [ + "-DSIRIUS_USE_SCALAPACK=ON" + "-DSIRIUS_USE_VDWXC=ON" + "-DSIRIUS_CREATE_FORTRAN_BINDINGS=ON" + "-DSIRIUS_USE_OPENMP=ON" + "-DBUILD_TESTING=ON" + ] + ++ lib.optionals (gpuBackend == "cuda") [ + "-DSIRIUS_USE_CUDA=ON" + "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}" + (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) + ] + ++ lib.optionals (gpuBackend == "rocm") [ + "-DSIRIUS_USE_ROCM=ON" + "-DHIP_ROOT_DIR=${rocmPackages.clr}" + ] + ++ lib.optionals enablePython [ + "-DSIRIUS_CREATE_PYTHON_MODULE=ON" + ]; doCheck = true; diff --git a/pkgs/by-name/si/sirula/package.nix b/pkgs/by-name/si/sirula/package.nix index 27b7b55ba14fd..0088cd00b1ba8 100644 --- a/pkgs/by-name/si/sirula/package.nix +++ b/pkgs/by-name/si/sirula/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, gtk3 -, gtk-layer-shell +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + gtk3, + gtk-layer-shell, }: rustPlatform.buildRustPackage rec { @@ -26,7 +27,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 gtk-layer-shell ]; + buildInputs = [ + gtk3 + gtk-layer-shell + ]; meta = with lib; { description = "Simple app launcher for wayland written in rust"; diff --git a/pkgs/by-name/si/sish/package.nix b/pkgs/by-name/si/sish/package.nix index be17d6fe885be..f42c32eb336c5 100644 --- a/pkgs/by-name/si/sish/package.nix +++ b/pkgs/by-name/si/sish/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, sish +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + sish, }: buildGoModule rec { diff --git a/pkgs/by-name/si/sispmctl/package.nix b/pkgs/by-name/si/sispmctl/package.nix index 7a09e9471d13b..921850dfe86d7 100644 --- a/pkgs/by-name/si/sispmctl/package.nix +++ b/pkgs/by-name/si/sispmctl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libusb-compat-0_1 +{ + lib, + stdenv, + fetchurl, + pkg-config, + libusb-compat-0_1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/si/sitelen-seli-kiwen/package.nix b/pkgs/by-name/si/sitelen-seli-kiwen/package.nix index 363ce2da59611..5e773b75e9e90 100644 --- a/pkgs/by-name/si/sitelen-seli-kiwen/package.nix +++ b/pkgs/by-name/si/sitelen-seli-kiwen/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "sitelen-seli-kiwen"; diff --git a/pkgs/by-name/si/sitespeed-io/package.nix b/pkgs/by-name/si/sitespeed-io/package.nix index e59fc2de97b4f..886fe060694dd 100644 --- a/pkgs/by-name/si/sitespeed-io/package.nix +++ b/pkgs/by-name/si/sitespeed-io/package.nix @@ -1,27 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildNpmPackage -, nodejs_18 -, coreutils -, ffmpeg-headless -, imagemagick_light -, procps -, python3 -, xorg -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + buildNpmPackage, + nodejs_18, + coreutils, + ffmpeg-headless, + imagemagick_light, + procps, + python3, + xorg, + nix-update-script, -# chromedriver is more efficient than geckodriver, but is available on less platforms. + # chromedriver is more efficient than geckodriver, but is available on less platforms. -, withChromium ? (lib.elem stdenv.hostPlatform.system chromedriver.meta.platforms) -, chromedriver -, chromium + withChromium ? (lib.elem stdenv.hostPlatform.system chromedriver.meta.platforms), + chromedriver, + chromium, -, withFirefox ? (lib.elem stdenv.hostPlatform.system geckodriver.meta.platforms) -, geckodriver -, firefox + withFirefox ? (lib.elem stdenv.hostPlatform.system geckodriver.meta.platforms), + geckodriver, + firefox, }: -assert (!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled."; +assert + (!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled."; buildNpmPackage rec { pname = "sitespeed-io"; version = "34.0.1"; @@ -68,14 +70,20 @@ buildNpmPackage rec { in '' wrapProgram $out/bin/sitespeed-io \ - --set PATH ${lib.makeBinPath ([ - (python3.withPackages (p: [p.numpy p.opencv4 p.pyssim])) - ffmpeg-headless - imagemagick_light - xorg.xorgserver - procps - coreutils - ])} \ + --set PATH ${ + lib.makeBinPath ([ + (python3.withPackages (p: [ + p.numpy + p.opencv4 + p.pyssim + ])) + ffmpeg-headless + imagemagick_light + xorg.xorgserver + procps + coreutils + ]) + } \ ${lib.optionalString withChromium "--add-flags '${chromiumArgs}'"} \ ${lib.optionalString withFirefox "--add-flags '${firefoxArgs}'"} \ ${lib.optionalString (!withFirefox && withChromium) "--add-flags '-b chrome'"} \ diff --git a/pkgs/by-name/si/sixpair/package.nix b/pkgs/by-name/si/sixpair/package.nix index 92f7e81c0ccd1..aae35dca39438 100644 --- a/pkgs/by-name/si/sixpair/package.nix +++ b/pkgs/by-name/si/sixpair/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libusb-compat-0_1 }: +{ + lib, + stdenv, + fetchurl, + libusb-compat-0_1, +}: stdenv.mkDerivation { pname = "sixpair"; version = "unstable-2007-04-18"; diff --git a/pkgs/by-name/sj/sjasmplus/package.nix b/pkgs/by-name/sj/sjasmplus/package.nix index b9c6a4b171ea2..51ef3793cc03f 100644 --- a/pkgs/by-name/sj/sjasmplus/package.nix +++ b/pkgs/by-name/sj/sjasmplus/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "sjasmplus"; diff --git a/pkgs/by-name/sk/skaffold/package.nix b/pkgs/by-name/sk/skaffold/package.nix index 4303257d4b5b0..5bcb0a583a89a 100644 --- a/pkgs/by-name/sk/skaffold/package.nix +++ b/pkgs/by-name/sk/skaffold/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, +}: buildGoModule rec { pname = "skaffold"; @@ -13,16 +19,24 @@ buildGoModule rec { vendorHash = null; - subPackages = ["cmd/skaffold"]; + subPackages = [ "cmd/skaffold" ]; - ldflags = let t = "github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold"; in [ - "-s" "-w" - "-X ${t}/version.version=v${version}" - "-X ${t}/version.gitCommit=${src.rev}" - "-X ${t}/version.buildDate=unknown" - ]; + ldflags = + let + t = "github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold"; + in + [ + "-s" + "-w" + "-X ${t}/version.version=v${version}" + "-X ${t}/version.gitCommit=${src.rev}" + "-X ${t}/version.buildDate=unknown" + ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; doInstallCheck = true; installCheckPhase = '' @@ -49,6 +63,9 @@ buildGoModule rec { It also provides building blocks and describe customizations for a CI/CD pipeline. ''; license = licenses.asl20; - maintainers = with maintainers; [ vdemeester bryanasdev000]; + maintainers = with maintainers; [ + vdemeester + bryanasdev000 + ]; }; } diff --git a/pkgs/by-name/sk/skate/package.nix b/pkgs/by-name/sk/skate/package.nix index af420e27e21a9..0c61df5a1b0ad 100644 --- a/pkgs/by-name/sk/skate/package.nix +++ b/pkgs/by-name/sk/skate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "skate"; @@ -14,14 +18,21 @@ buildGoModule rec { proxyVendor = true; vendorHash = "sha256-nCT9PsRPxefjC4q4cr5UigTITUkx0JmQtdv7/ZXbXVI="; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { description = "Personal multi-machine syncable key value store"; homepage = "https://github.com/charmbracelet/skate"; changelog = "https://github.com/charmbracelet/skate/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda penguwin ]; + maintainers = with maintainers; [ + figsoda + penguwin + ]; mainProgram = "skate"; }; } diff --git a/pkgs/by-name/sk/skeu/package.nix b/pkgs/by-name/sk/skeu/package.nix index d8b0c1896572d..6790521ca9717 100644 --- a/pkgs/by-name/sk/skeu/package.nix +++ b/pkgs/by-name/sk/skeu/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sk/skimpdf/package.nix b/pkgs/by-name/sk/skimpdf/package.nix index da7f2da2d6fe1..07167de4d48b2 100644 --- a/pkgs/by-name/sk/skimpdf/package.nix +++ b/pkgs/by-name/sk/skimpdf/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { hash = "sha256-AMHEzlipL0Bv68Gnyq040t4DQhPkQcmDixZ6Oo0Vobc="; }; - nativeBuildInputs = [undmg]; + nativeBuildInputs = [ undmg ]; sourceRoot = "."; @@ -29,9 +29,9 @@ stdenv.mkDerivation rec { description = "Skim is a PDF reader and note-taker for OS X"; homepage = "https://skim-app.sourceforge.io/"; license = licenses.bsd0; - sourceProvenance = with sourceTypes; [binaryNativeCode]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "Skim.app"; - maintainers = with maintainers; [YvesStraten]; + maintainers = with maintainers; [ YvesStraten ]; platforms = platforms.darwin; }; } diff --git a/pkgs/by-name/sk/skjold/package.nix b/pkgs/by-name/sk/skjold/package.nix index bbd5f57a778d0..694052b7dcbb9 100644 --- a/pkgs/by-name/sk/skjold/package.nix +++ b/pkgs/by-name/sk/skjold/package.nix @@ -20,7 +20,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ poetry-core ]; - dependencies = with python3.pkgs; [ click packaging diff --git a/pkgs/by-name/sk/skktools/package.nix b/pkgs/by-name/sk/skktools/package.nix index 537c77a1394e5..7fb5f1992a84b 100644 --- a/pkgs/by-name/sk/skktools/package.nix +++ b/pkgs/by-name/sk/skktools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gdbm, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gdbm, + glib, +}: # Note (2017-10-24, yuriaisaka): # - Version 1.3.3 dates from Jul. 19, 2013. @@ -14,7 +21,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "skk-dev"; repo = "skktools"; - rev = "skktools-${lib.replaceStrings ["."] ["_"] version}"; + rev = "skktools-${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "1zway8jsm18279xq8zlpr84iqiw373x3v0ysay74n9bjqxbl234a"; }; # # See "12.2. Package naming" @@ -28,7 +35,10 @@ stdenv.mkDerivation rec { # }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gdbm glib ]; + buildInputs = [ + gdbm + glib + ]; meta = { description = "Collection of tools to edit SKK dictionaries"; diff --git a/pkgs/by-name/sk/skopeo/package.nix b/pkgs/by-name/sk/skopeo/package.nix index 953b4338f2cac..977909cff72f4 100644 --- a/pkgs/by-name/sk/skopeo/package.nix +++ b/pkgs/by-name/sk/skopeo/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, gpgme -, lvm2 -, btrfs-progs -, pkg-config -, go-md2man -, installShellFiles -, makeWrapper -, fuse-overlayfs -, dockerTools -, runCommand -, testers -, skopeo +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + gpgme, + lvm2, + btrfs-progs, + pkg-config, + go-md2man, + installShellFiles, + makeWrapper, + fuse-overlayfs, + dockerTools, + runCommand, + testers, + skopeo, }: buildGoModule rec { @@ -27,16 +28,28 @@ buildGoModule rec { hash = "sha256-IoYeCGiGOjz+8HPzYPXUWsHADtrWHvJm9YhKeMJJf0k="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; vendorHash = null; doCheck = false; - nativeBuildInputs = [ pkg-config go-md2man installShellFiles makeWrapper ]; + nativeBuildInputs = [ + pkg-config + go-md2man + installShellFiles + makeWrapper + ]; - buildInputs = [ gpgme ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ lvm2 btrfs-progs ]; + buildInputs = + [ gpgme ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + lvm2 + btrfs-progs + ]; buildPhase = '' runHook preBuild @@ -45,16 +58,19 @@ buildGoModule rec { runHook postBuild ''; - installPhase = '' - runHook preInstall - PREFIX=${placeholder "out"} make install-binary install-completions install-docs - install ${passthru.policy}/default-policy.json -Dt $out/etc/containers - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/skopeo \ - --prefix PATH : ${lib.makeBinPath [ fuse-overlayfs ]} - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + PREFIX=${placeholder "out"} make install-binary install-completions install-docs + install ${passthru.policy}/default-policy.json -Dt $out/etc/containers + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/skopeo \ + --prefix PATH : ${lib.makeBinPath [ fuse-overlayfs ]} + '' + + '' + runHook postInstall + ''; passthru = { policy = runCommand "policy" { } '' @@ -73,7 +89,13 @@ buildGoModule rec { description = "Command line utility for various operations on container images and image repositories"; mainProgram = "skopeo"; homepage = "https://github.com/containers/skopeo"; - maintainers = with maintainers; [ lewo developer-guy ] ++ teams.podman.members; + maintainers = + with maintainers; + [ + lewo + developer-guy + ] + ++ teams.podman.members; license = licenses.asl20; }; } diff --git a/pkgs/by-name/sk/skribilo/package.nix b/pkgs/by-name/sk/skribilo/package.nix index 63083457bee51..51544741ad158 100644 --- a/pkgs/by-name/sk/skribilo/package.nix +++ b/pkgs/by-name/sk/skribilo/package.nix @@ -1,24 +1,30 @@ -{ lib -, stdenv -, fetchurl -, fig2dev -, gettext -, ghostscript -, guile -, guile-lib -, guile-reader -, imagemagick -, makeWrapper -, pkg-config -, enableEmacs ? false, emacs -, enableLout ? stdenv.hostPlatform.isLinux, lout -, enablePloticus ? stdenv.hostPlatform.isLinux, ploticus -, enableTex ? true, texliveSmall +{ + lib, + stdenv, + fetchurl, + fig2dev, + gettext, + ghostscript, + guile, + guile-lib, + guile-reader, + imagemagick, + makeWrapper, + pkg-config, + enableEmacs ? false, + emacs, + enableLout ? stdenv.hostPlatform.isLinux, + lout, + enablePloticus ? stdenv.hostPlatform.isLinux, + ploticus, + enableTex ? true, + texliveSmall, }: let inherit (lib) optional; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "skribilo"; version = "0.10.0"; @@ -32,19 +38,20 @@ in stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - fig2dev - gettext - ghostscript - guile - guile-lib - guile-reader - imagemagick - ] - ++ optional enableEmacs emacs - ++ optional enableLout lout - ++ optional enablePloticus ploticus - ++ optional enableTex texliveSmall; + buildInputs = + [ + fig2dev + gettext + ghostscript + guile + guile-lib + guile-reader + imagemagick + ] + ++ optional enableEmacs emacs + ++ optional enableLout lout + ++ optional enablePloticus ploticus + ++ optional enableTex texliveSmall; postInstall = '' wrapProgram $out/bin/skribilo \ diff --git a/pkgs/by-name/sk/skydns/package.nix b/pkgs/by-name/sk/skydns/package.nix index 27581d1854636..c247c27ffa8e6 100644 --- a/pkgs/by-name/sk/skydns/package.nix +++ b/pkgs/by-name/sk/skydns/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "skydns"; @@ -23,7 +29,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = { description = "Distributed service for announcement and discovery of services"; diff --git a/pkgs/by-name/sk/skypeexport/package.nix b/pkgs/by-name/sk/skypeexport/package.nix index 028f70d2f19e4..430d45c731c6c 100644 --- a/pkgs/by-name/sk/skypeexport/package.nix +++ b/pkgs/by-name/sk/skypeexport/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, +}: stdenv.mkDerivation (finalAttrs: { pname = "skypeexport"; diff --git a/pkgs/by-name/sk/skytemple/package.nix b/pkgs/by-name/sk/skytemple/package.nix index daf10d19c5298..b9832bc93a3c0 100644 --- a/pkgs/by-name/sk/skytemple/package.nix +++ b/pkgs/by-name/sk/skytemple/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, gobject-introspection -, gtk3 -, gtksourceview4 -, webkitgtk_4_0 -, wrapGAppsHook3 -, python3Packages +{ + lib, + fetchFromGitHub, + gobject-introspection, + gtk3, + gtksourceview4, + webkitgtk_4_0, + wrapGAppsHook3, + python3Packages, }: python3Packages.buildPythonApplication rec { @@ -36,25 +37,28 @@ python3Packages.buildPythonApplication rec { wrapGAppsHook3 ]; - dependencies = with python3Packages; [ - cairosvg - natsort - ndspy - packaging - pycairo - pygal - psutil - pypresence - sentry-sdk - setuptools - skytemple-dtef - skytemple-eventserver - skytemple-files - skytemple-icons - skytemple-ssb-debugger - tilequant - wheel - ] ++ skytemple-files.optional-dependencies.spritecollab; + dependencies = + with python3Packages; + [ + cairosvg + natsort + ndspy + packaging + pycairo + pygal + psutil + pypresence + sentry-sdk + setuptools + skytemple-dtef + skytemple-eventserver + skytemple-files + skytemple-icons + skytemple-ssb-debugger + tilequant + wheel + ] + ++ skytemple-files.optional-dependencies.spritecollab; doCheck = false; # there are no tests diff --git a/pkgs/by-name/sl/sl/package.nix b/pkgs/by-name/sl/sl/package.nix index bcb8de78c6130..a4b14dab2db37 100644 --- a/pkgs/by-name/sl/sl/package.nix +++ b/pkgs/by-name/sl/sl/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "sl"; diff --git a/pkgs/by-name/sl/slack-cli/package.nix b/pkgs/by-name/sl/slack-cli/package.nix index 56248107115e0..49e1543e1a25a 100644 --- a/pkgs/by-name/sl/slack-cli/package.nix +++ b/pkgs/by-name/sl/slack-cli/package.nix @@ -5,8 +5,17 @@ # for token storage, except that it would make the Nix package inconsistent with # upstream and other distributions. -{ stdenv, lib, fetchFromGitHub, curl, jq, coreutils, gnugrep, gnused -, runtimeShell }: +{ + stdenv, + lib, + fetchFromGitHub, + curl, + jq, + coreutils, + gnugrep, + gnused, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "slack-cli"; @@ -34,7 +43,15 @@ stdenv.mkDerivation rec { MESSAGE - export PATH=${lib.makeBinPath [ curl jq coreutils gnugrep gnused ]}:"\$PATH" + export PATH=${ + lib.makeBinPath [ + curl + jq + coreutils + gnugrep + gnused + ] + }:"\$PATH" exec "$out/bin/.slack-wrapped" "\$@" WRAPPER diff --git a/pkgs/by-name/sl/slack-term/package.nix b/pkgs/by-name/sl/slack-term/package.nix index a7c302dbd4b62..8d2e09808bea7 100644 --- a/pkgs/by-name/sl/slack-term/package.nix +++ b/pkgs/by-name/sl/slack-term/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "slack-term"; diff --git a/pkgs/by-name/sl/slang/package.nix b/pkgs/by-name/sl/slang/package.nix index 7d67d22eb3e0d..f6a921a494bcd 100644 --- a/pkgs/by-name/sl/slang/package.nix +++ b/pkgs/by-name/sl/slang/package.nix @@ -1,11 +1,14 @@ -{ lib, stdenv, fetchurl -, libiconv -, libpng -, ncurses -, pcre -, readline -, zlib -, writeScript +{ + lib, + stdenv, + fetchurl, + libiconv, + libpng, + ncurses, + pcre, + readline, + zlib, + writeScript, }: stdenv.mkDerivation rec { @@ -17,7 +20,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-+RRQVK4TGXPGEgjqgkhtXdEOPFza0jt8SgYXdDyPWhg="; }; - outputs = [ "out" "dev" "man" "doc" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + ]; # Fix some wrong hardcoded paths preConfigure = '' diff --git a/pkgs/by-name/sl/sleek-grub-theme/package.nix b/pkgs/by-name/sl/sleek-grub-theme/package.nix index 0fe50fcd41751..f9814c485842a 100644 --- a/pkgs/by-name/sl/sleek-grub-theme/package.nix +++ b/pkgs/by-name/sl/sleek-grub-theme/package.nix @@ -1,11 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, withBanner ? "Grub Bootloader" # use override to specify your own banner text -, withStyle ? "light" # use override to specify one of "dark" / "orange" / "bigSur" +{ + lib, + stdenv, + fetchFromGitHub, + withBanner ? "Grub Bootloader", # use override to specify your own banner text + withStyle ? "light", # use override to specify one of "dark" / "orange" / "bigSur" }: -assert builtins.any (s: withStyle == s) ["light" "dark" "orange" "bigSur"]; +assert builtins.any (s: withStyle == s) [ + "light" + "dark" + "orange" + "bigSur" +]; stdenv.mkDerivation { pname = "sleek-grub-theme"; diff --git a/pkgs/by-name/sl/sleek/package.nix b/pkgs/by-name/sl/sleek/package.nix index 0218917a2caa9..d7d959ec1b7da 100644 --- a/pkgs/by-name/sl/sleek/package.nix +++ b/pkgs/by-name/sl/sleek/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sl/sleep-on-lan/package.nix b/pkgs/by-name/sl/sleep-on-lan/package.nix index bd55711830bc2..b9f655d04633c 100644 --- a/pkgs/by-name/sl/sleep-on-lan/package.nix +++ b/pkgs/by-name/sl/sleep-on-lan/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/sl/sleuthkit/package.nix b/pkgs/by-name/sl/sleuthkit/package.nix index 53d148a53028c..dcd2912250d77 100644 --- a/pkgs/by-name/sl/sleuthkit/package.nix +++ b/pkgs/by-name/sl/sleuthkit/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, ant -, jdk -, perl -, stripJavaArchivesHook -, afflib -, libewf -, openssl -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + ant, + jdk, + perl, + stripJavaArchivesHook, + afflib, + libewf, + openssl, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -28,7 +29,10 @@ stdenv.mkDerivation (finalAttrs: { name = "sleuthkit-${finalAttrs.version}-deps"; inherit (finalAttrs) src; - nativeBuildInputs = [ ant jdk ]; + nativeBuildInputs = [ + ant + jdk + ]; # unpack, build, install dontConfigure = true; @@ -101,7 +105,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Forensic/data recovery tool"; homepage = "https://www.sleuthkit.org/"; changelog = "https://github.com/sleuthkit/sleuthkit/blob/${finalAttrs.src.rev}/NEWS.txt"; - maintainers = with maintainers; [ raskin gfrascadorio ]; + maintainers = with maintainers; [ + raskin + gfrascadorio + ]; platforms = platforms.linux; sourceProvenance = with sourceTypes; [ fromSource diff --git a/pkgs/by-name/sl/slic3r/package.nix b/pkgs/by-name/sl/slic3r/package.nix index 102dc8f4b3c8d..1790d103d986a 100644 --- a/pkgs/by-name/sl/slic3r/package.nix +++ b/pkgs/by-name/sl/slic3r/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, makeWrapper -, makeDesktopItem, which, perlPackages, boost, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + perl, + makeWrapper, + makeDesktopItem, + which, + perlPackages, + boost, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -13,17 +23,40 @@ stdenv.mkDerivation rec { sha256 = "sha256-cf0QTOzhLyTcbJryCQoTVzU8kfrPV6SLpqi4s36X5N0="; }; - nativeBuildInputs = [ makeWrapper which wrapGAppsHook3 ]; + nativeBuildInputs = [ + makeWrapper + which + wrapGAppsHook3 + ]; buildInputs = - [boost] ++ - (with perlPackages; [ perl - EncodeLocale MathClipper ExtUtilsXSpp - MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo - IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX - ExtUtilsMakeMaker OpenGL WxGLCanvas ModuleBuild LWP - ExtUtilsCppGuess ModuleBuildWithXSpp ExtUtilsTypemapsDefault - DevelChecklib locallib - ]); + [ boost ] + ++ (with perlPackages; [ + perl + EncodeLocale + MathClipper + ExtUtilsXSpp + MathConvexHullMonotoneChain + MathGeometryVoronoi + MathPlanePath + Moo + IOStringy + ClassXSAccessor + Wx + GrowlGNTP + NetDBus + ImportInto + XMLSAX + ExtUtilsMakeMaker + OpenGL + WxGLCanvas + ModuleBuild + LWP + ExtUtilsCppGuess + ModuleBuildWithXSpp + ExtUtilsTypemapsDefault + DevelChecklib + locallib + ]); desktopItem = makeDesktopItem { name = "slic3r"; diff --git a/pkgs/by-name/sl/slides/package.nix b/pkgs/by-name/sl/slides/package.nix index 0c97ff7f14fa9..59076db89ef2b 100644 --- a/pkgs/by-name/sl/slides/package.nix +++ b/pkgs/by-name/sl/slides/package.nix @@ -1,8 +1,9 @@ -{ lib -, bash -, buildGoModule -, fetchFromGitHub -, go +{ + lib, + bash, + buildGoModule, + fetchFromGitHub, + go, }: buildGoModule rec { @@ -34,7 +35,10 @@ buildGoModule rec { homepage = "https://github.com/maaslalani/slides"; changelog = "https://github.com/maaslalani/slides/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ maaslalani penguwin ]; + maintainers = with maintainers; [ + maaslalani + penguwin + ]; mainProgram = "slides"; }; } diff --git a/pkgs/by-name/sl/slimerjs/package.nix b/pkgs/by-name/sl/slimerjs/package.nix index dd3c5fd6d09b5..09bb4dae87db1 100644 --- a/pkgs/by-name/sl/slimerjs/package.nix +++ b/pkgs/by-name/sl/slimerjs/package.nix @@ -1,11 +1,12 @@ -{ lib -, bash -, fetchFromGitHub -, firefox -, strip-nondeterminism -, stdenv -, unzip -, zip +{ + lib, + bash, + fetchFromGitHub, + firefox, + strip-nondeterminism, + stdenv, + unzip, + zip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sl/slingshot/package.nix b/pkgs/by-name/sl/slingshot/package.nix index 1cf9fe854c3d2..b2a18dda5297e 100644 --- a/pkgs/by-name/sl/slingshot/package.nix +++ b/pkgs/by-name/sl/slingshot/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sl/slint-lsp/package.nix b/pkgs/by-name/sl/slint-lsp/package.nix index a65350cac598a..50a47c9be9b06 100644 --- a/pkgs/by-name/sl/slint-lsp/package.nix +++ b/pkgs/by-name/sl/slint-lsp/package.nix @@ -1,27 +1,39 @@ -{ lib -, stdenv -, rustPlatform -, fetchCrate -, pkg-config -, cmake -, fontconfig -, libGL -, xorg -, libxkbcommon -, wayland +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + pkg-config, + cmake, + fontconfig, + libGL, + xorg, + libxkbcommon, + wayland, # Darwin Frameworks -, AppKit -, CoreGraphics -, CoreServices -, CoreText -, Foundation -, libiconv -, OpenGL + AppKit, + CoreGraphics, + CoreServices, + CoreText, + Foundation, + libiconv, + OpenGL, }: let - rpathLibs = [ fontconfig libGL xorg.libxcb xorg.libX11 xorg.libXcursor xorg.libXi ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libxkbcommon wayland ]; + rpathLibs = + [ + fontconfig + libGL + xorg.libxcb + xorg.libX11 + xorg.libXcursor + xorg.libXi + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxkbcommon + wayland + ]; in rustPlatform.buildRustPackage rec { pname = "slint-lsp"; @@ -34,22 +46,28 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-wyzrFg3hwsJ7SV8KGLKo+gNHzLFpnMx9/jgMalGkufY="; - nativeBuildInputs = [ cmake pkg-config fontconfig ]; - buildInputs = rpathLibs ++ [ xorg.libxcb.dev ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - CoreGraphics - CoreServices - CoreText - Foundation - libiconv - OpenGL + nativeBuildInputs = [ + cmake + pkg-config + fontconfig ]; + buildInputs = + rpathLibs + ++ [ xorg.libxcb.dev ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + CoreGraphics + CoreServices + CoreText + Foundation + libiconv + OpenGL + ]; # Tests requires `i_slint_backend_testing` which is only a dev dependency doCheck = false; - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf --set-rpath ${lib.makeLibraryPath rpathLibs} $out/bin/slint-lsp ''; diff --git a/pkgs/by-name/sl/slippy/package.nix b/pkgs/by-name/sl/slippy/package.nix index a7e6a75a7a7ea..29ac95bfb9c80 100644 --- a/pkgs/by-name/sl/slippy/package.nix +++ b/pkgs/by-name/sl/slippy/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, jq -, moreutils -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + jq, + moreutils, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -47,17 +48,22 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Markdown slideshows in Rust"; homepage = "https://github.com/axodotdev/slippy"; changelog = "https://github.com/axodotdev/slippy/releases/tag/${src.rev}"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "slippy"; }; diff --git a/pkgs/by-name/sl/slirp4netns/package.nix b/pkgs/by-name/sl/slirp4netns/package.nix index ef7dae065e386..f44dd73b4515d 100644 --- a/pkgs/by-name/sl/slirp4netns/package.nix +++ b/pkgs/by-name/sl/slirp4netns/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, glib -, libcap -, libseccomp -, libslirp -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + glib, + libcap, + libseccomp, + libslirp, + nixosTests, }: stdenv.mkDerivation rec { @@ -21,9 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-dXz5gNALrVjaFGUgEFp0k47c7aWDzwLMflphe6R6GaM="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ glib libcap libseccomp libslirp ]; + buildInputs = [ + glib + libcap + libseccomp + libslirp + ]; enableParallelBuilding = true; strictDeps = true; diff --git a/pkgs/by-name/sl/sloccount/package.nix b/pkgs/by-name/sl/sloccount/package.nix index fc619612a48bb..0761d0d502278 100644 --- a/pkgs/by-name/sl/sloccount/package.nix +++ b/pkgs/by-name/sl/sloccount/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, perl, makeWrapper }: +{ + fetchurl, + lib, + stdenv, + perl, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "sloccount"; @@ -31,7 +37,10 @@ stdenv.mkDerivation rec { done ''; - makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "PREFIX=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + ]; doCheck = true; checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test''; @@ -47,7 +56,7 @@ stdenv.mkDerivation rec { isScript "$w" || continue wrapProgram "$w" --prefix PATH : "$out/bin" done - ''; + ''; meta = { description = "Set of tools for counting physical Source Lines of Code (SLOC)"; diff --git a/pkgs/by-name/sl/slop/package.nix b/pkgs/by-name/sl/slop/package.nix index f993d25943382..3233dfe822bf1 100644 --- a/pkgs/by-name/sl/slop/package.nix +++ b/pkgs/by-name/sl/slop/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, glew -, glm -, libGLU -, libGL -, libX11 -, libXext -, libXrender -, icu -, libSM +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + glew, + glm, + libGLU, + libGL, + libX11, + libXext, + libXrender, + icu, + libSM, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sl/sloth-app/package.nix b/pkgs/by-name/sl/sloth-app/package.nix index 1da8d8aac54d5..1b9a2bbb8934c 100644 --- a/pkgs/by-name/sl/sloth-app/package.nix +++ b/pkgs/by-name/sl/sloth-app/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, unzip -, makeBinaryWrapper +{ + lib, + stdenv, + fetchurl, + unzip, + makeBinaryWrapper, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { dontUnpack = true; - nativeBuildInputs = [ unzip makeBinaryWrapper ]; + nativeBuildInputs = [ + unzip + makeBinaryWrapper + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sl/sloth/package.nix b/pkgs/by-name/sl/sloth/package.nix index 2386b5a54a86e..8258994e546fe 100644 --- a/pkgs/by-name/sl/sloth/package.nix +++ b/pkgs/by-name/sl/sloth/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/sl/slowhttptest/package.nix b/pkgs/by-name/sl/slowhttptest/package.nix index 94e60a6a00845..1bb1d18a96788 100644 --- a/pkgs/by-name/sl/slowhttptest/package.nix +++ b/pkgs/by-name/sl/slowhttptest/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sl/slrn/package.nix b/pkgs/by-name/sl/slrn/package.nix index 9819f2a9ceb4c..78de45eb99049 100644 --- a/pkgs/by-name/sl/slrn/package.nix +++ b/pkgs/by-name/sl/slrn/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchurl -, slang, ncurses, openssl }: +{ + lib, + stdenv, + fetchurl, + slang, + ncurses, + openssl, +}: stdenv.mkDerivation rec { pname = "slrn"; @@ -23,7 +29,11 @@ stdenv.mkDerivation rec { "--with-slrnpull" ]; - buildInputs = [ slang ncurses openssl ]; + buildInputs = [ + slang + ncurses + openssl + ]; meta = with lib; { description = "Slrn (S-Lang read news) newsreader"; diff --git a/pkgs/by-name/sl/slsnif/package.nix b/pkgs/by-name/sl/slsnif/package.nix index 7ac1a846484f5..579cd311b8039 100644 --- a/pkgs/by-name/sl/slsnif/package.nix +++ b/pkgs/by-name/sl/slsnif/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "slsnif"; diff --git a/pkgs/by-name/sl/slurm-nm/package.nix b/pkgs/by-name/sl/slurm-nm/package.nix index 27112a55ad0ac..cee4e5ee8f75b 100644 --- a/pkgs/by-name/sl/slurm-nm/package.nix +++ b/pkgs/by-name/sl/slurm-nm/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, meson -, ncurses -, ninja +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + meson, + ncurses, + ninja, }: stdenv.mkDerivation rec { @@ -18,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-w77SIXFctMwwNw9cQm0HQaEaMs/5NXQjn1LpvkpCCB8="; }; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; buildInputs = [ ncurses ]; meta = with lib; { diff --git a/pkgs/by-name/sl/slurm-spank-stunnel/package.nix b/pkgs/by-name/sl/slurm-spank-stunnel/package.nix index 3534c8981a269..0dc9c42d4b8c0 100644 --- a/pkgs/by-name/sl/slurm-spank-stunnel/package.nix +++ b/pkgs/by-name/sl/slurm-spank-stunnel/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, slurm } : +{ + lib, + stdenv, + fetchFromGitHub, + slurm, +}: stdenv.mkDerivation rec { pname = "slurm-spank-stunnel"; diff --git a/pkgs/by-name/sl/slurm-spank-x11/package.nix b/pkgs/by-name/sl/slurm-spank-x11/package.nix index 278e1320fa0a1..072328288f4a4 100644 --- a/pkgs/by-name/sl/slurm-spank-x11/package.nix +++ b/pkgs/by-name/sl/slurm-spank-x11/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, slurm } : +{ + lib, + stdenv, + fetchFromGitHub, + slurm, +}: stdenv.mkDerivation rec { pname = "slurm-spank-x11"; version = "0.2.5"; @@ -13,17 +18,17 @@ stdenv.mkDerivation rec { patches = [ ./hostlist.patch ]; buildPhase = '' - gcc -DX11_LIBEXEC_PROG="\"$out/bin/slurm-spank-x11\"" \ - -g -o slurm-spank-x11 slurm-spank-x11.c - gcc -I${lib.getDev slurm}/include -DX11_LIBEXEC_PROG="\"$out/bin/slurm-spank-x11\"" -shared -fPIC \ - -g -o x11.so slurm-spank-x11-plug.c - ''; + gcc -DX11_LIBEXEC_PROG="\"$out/bin/slurm-spank-x11\"" \ + -g -o slurm-spank-x11 slurm-spank-x11.c + gcc -I${lib.getDev slurm}/include -DX11_LIBEXEC_PROG="\"$out/bin/slurm-spank-x11\"" -shared -fPIC \ + -g -o x11.so slurm-spank-x11-plug.c + ''; installPhase = '' - mkdir -p $out/bin $out/lib - install -m 755 slurm-spank-x11 $out/bin - install -m 755 x11.so $out/lib - ''; + mkdir -p $out/bin $out/lib + install -m 755 slurm-spank-x11 $out/bin + install -m 755 x11.so $out/lib + ''; meta = with lib; { homepage = "https://github.com/hautreux/slurm-spank-x11"; @@ -34,6 +39,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ markuskowa ]; }; } - - - diff --git a/pkgs/by-name/sl/slurm/package.nix b/pkgs/by-name/sl/slurm/package.nix index ff321bf76b3df..7ef1c4b6aa8cb 100644 --- a/pkgs/by-name/sl/slurm/package.nix +++ b/pkgs/by-name/sl/slurm/package.nix @@ -1,15 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libtool, curl -, python3, munge, perl, pam, shadow, coreutils, dbus, libbpf -, ncurses, libmysqlclient, lua, hwloc, numactl -, readline, freeipmi, xorg, lz4, rdma-core, nixosTests -, pmix -, libjwt -, libyaml -, json_c -, http-parser -# enable internal X11 support via libssh2 -, enableX11 ? true -, enableGtk2 ? false, gtk2 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libtool, + curl, + python3, + munge, + perl, + pam, + shadow, + coreutils, + dbus, + libbpf, + ncurses, + libmysqlclient, + lua, + hwloc, + numactl, + readline, + freeipmi, + xorg, + lz4, + rdma-core, + nixosTests, + pmix, + libjwt, + libyaml, + json_c, + http-parser, + # enable internal X11 support via libssh2 + enableX11 ? true, + enableGtk2 ? false, + gtk2, }: stdenv.mkDerivation rec { @@ -22,11 +45,14 @@ stdenv.mkDerivation rec { owner = "SchedMD"; repo = "slurm"; # The release tags use - instead of . - rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}"; + rev = "${pname}-${builtins.replaceStrings [ "." ] [ "-" ] version}"; hash = "sha256-waUCyzLCK3NRp8DfkvzWjGjzlB1MIZ7N9X+nfjrdAFY="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = [ # increase string length to allow for full @@ -34,37 +60,63 @@ stdenv.mkDerivation rec { ./common-env-echo.patch ]; - prePatch = '' - substituteInPlace src/common/env.c \ - --replace "/bin/echo" "${coreutils}/bin/echo" + prePatch = + '' + substituteInPlace src/common/env.c \ + --replace "/bin/echo" "${coreutils}/bin/echo" - # Autoconf does not support split packages for pmix (libs and headers). - # Fix the path to the pmix libraries, so dlopen can find it. - substituteInPlace src/plugins/mpi/pmix/mpi_pmix.c \ - --replace 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \ - 'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")' + # Autoconf does not support split packages for pmix (libs and headers). + # Fix the path to the pmix libraries, so dlopen can find it. + substituteInPlace src/plugins/mpi/pmix/mpi_pmix.c \ + --replace 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \ + 'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")' - '' + (lib.optionalString enableX11 '' - substituteInPlace src/common/x11_util.c \ - --replace '"/usr/bin/xauth"' '"${xorg.xauth}/bin/xauth"' - ''); + '' + + (lib.optionalString enableX11 '' + substituteInPlace src/common/x11_util.c \ + --replace '"/usr/bin/xauth"' '"${xorg.xauth}/bin/xauth"' + ''); # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode' # https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es # this doesn't fix tests completely at least makes slurmd to launch hardeningDisable = [ "bindnow" ]; - nativeBuildInputs = [ pkg-config libtool python3 perl ]; - buildInputs = [ - curl python3 munge pam - libmysqlclient ncurses lz4 rdma-core - lua hwloc numactl readline freeipmi shadow.su - pmix json_c libjwt libyaml dbus libbpf - http-parser - ] ++ lib.optionals enableX11 [ xorg.xauth ] - ++ lib.optionals enableGtk2 [ gtk2 ]; - - configureFlags = [ + nativeBuildInputs = [ + pkg-config + libtool + python3 + perl + ]; + buildInputs = + [ + curl + python3 + munge + pam + libmysqlclient + ncurses + lz4 + rdma-core + lua + hwloc + numactl + readline + freeipmi + shadow.su + pmix + json_c + libjwt + libyaml + dbus + libbpf + http-parser + ] + ++ lib.optionals enableX11 [ xorg.xauth ] + ++ lib.optionals enableGtk2 [ gtk2 ]; + + configureFlags = + [ "--with-freeipmi=${freeipmi}" "--with-http-parser=${http-parser}" "--with-hwloc=${lib.getDev hwloc}" @@ -78,9 +130,9 @@ stdenv.mkDerivation rec { "--with-pmix=${lib.getDev pmix}" "--with-bpf=${libbpf}" "--without-rpath" # Required for configure to pick up the right dlopen path - ] ++ (lib.optional enableGtk2 "--disable-gtktest") - ++ (lib.optional (!enableX11) "--disable-x11"); - + ] + ++ (lib.optional enableGtk2 "--disable-gtktest") + ++ (lib.optional (!enableX11) "--disable-x11"); preConfigure = '' patchShebangs ./doc/html/shtml2html.py @@ -100,6 +152,9 @@ stdenv.mkDerivation rec { description = "Simple Linux Utility for Resource Management"; platforms = platforms.linux; license = licenses.gpl2Only; - maintainers = with maintainers; [ jagajaga markuskowa ]; + maintainers = with maintainers; [ + jagajaga + markuskowa + ]; }; } diff --git a/pkgs/by-name/sm/smack/package.nix b/pkgs/by-name/sm/smack/package.nix index 3adfd4c710e2e..08c66c2a15d93 100644 --- a/pkgs/by-name/sm/smack/package.nix +++ b/pkgs/by-name/sm/smack/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "smack"; version = "4.1.9"; src = fetchurl { - url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_${lib.replaceStrings ["."] ["_"] version}.tar.gz"; + url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_${ + lib.replaceStrings [ "." ] [ "_" ] version + }.tar.gz"; sha256 = "009x0qcxd4dkvwcjz2nla470pwbabwvg37wc21pslpw42ldi0bzp"; }; diff --git a/pkgs/by-name/sm/smag/package.nix b/pkgs/by-name/sm/smag/package.nix index 794ee78e85910..160098cd14139 100644 --- a/pkgs/by-name/sm/smag/package.nix +++ b/pkgs/by-name/sm/smag/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "smag"; diff --git a/pkgs/by-name/sm/smallwm/package.nix b/pkgs/by-name/sm/smallwm/package.nix index 35b23f0bf3160..2df4596dd7a5d 100644 --- a/pkgs/by-name/sm/smallwm/package.nix +++ b/pkgs/by-name/sm/smallwm/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, doxygen -, graphviz -, libX11 -, libXrandr +{ + lib, + stdenv, + fetchFromGitHub, + doxygen, + graphviz, + libX11, + libXrandr, }: stdenv.mkDerivation (finalAttrs: { @@ -37,7 +38,10 @@ stdenv.mkDerivation (finalAttrs: { "CXX=${stdenv.cc.targetPrefix}c++" ]; - buildFlags = [ "all" "doc" ]; + buildFlags = [ + "all" + "doc" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sm/smart-wallpaper/package.nix b/pkgs/by-name/sm/smart-wallpaper/package.nix index bdcc572377d31..957fb3043ed6c 100644 --- a/pkgs/by-name/sm/smart-wallpaper/package.nix +++ b/pkgs/by-name/sm/smart-wallpaper/package.nix @@ -1,12 +1,13 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, makeWrapper -, xdpyinfo -, killall -, xwinwrap -, swaybg -, redshift +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeWrapper, + xdpyinfo, + killall, + xwinwrap, + swaybg, + redshift, }: stdenvNoCC.mkDerivation { @@ -25,7 +26,15 @@ stdenvNoCC.mkDerivation { installPhase = '' install -Dm755 -t $out/bin smart-wallpaper wrapProgram $out/bin/smart-wallpaper \ - --prefix PATH : ${lib.makeBinPath [ xdpyinfo killall xwinwrap swaybg redshift ]} + --prefix PATH : ${ + lib.makeBinPath [ + xdpyinfo + killall + xwinwrap + swaybg + redshift + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/sm/smartcat/package.nix b/pkgs/by-name/sm/smartcat/package.nix index 691c73f2c2dea..3e7bbf43005fd 100644 --- a/pkgs/by-name/sm/smartcat/package.nix +++ b/pkgs/by-name/sm/smartcat/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, -, darwin -, openssl -, pkg-config -, stdenv + darwin, + openssl, + pkg-config, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -25,14 +26,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; meta = { description = "Integrate large language models into the command line"; diff --git a/pkgs/by-name/sm/smartcrop/package.nix b/pkgs/by-name/sm/smartcrop/package.nix index 7660607a9a479..a65b19f456704 100644 --- a/pkgs/by-name/sm/smartcrop/package.nix +++ b/pkgs/by-name/sm/smartcrop/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule { @@ -16,7 +17,10 @@ buildGoModule { vendorHash = "sha256-ov3dHF/NxqxWPaVzddaJSjz3boLpZtIPtvP1iNBtiTc="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Find good image crops for arbitrary crop sizes"; diff --git a/pkgs/by-name/sm/smartdns/package.nix b/pkgs/by-name/sm/smartdns/package.nix index 12325afc48be7..c7b0f7ecd6306 100644 --- a/pkgs/by-name/sm/smartdns/package.nix +++ b/pkgs/by-name/sm/smartdns/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, openssl, testers, smartdns }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + testers, + smartdns, +}: stdenv.mkDerivation rec { pname = "smartdns"; @@ -31,8 +38,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - description = - "A local DNS server to obtain the fastest website IP for the best Internet experience"; + description = "A local DNS server to obtain the fastest website IP for the best Internet experience"; longDescription = '' SmartDNS is a local DNS server. SmartDNS accepts DNS query requests from local clients, obtains DNS query results from multiple upstream DNS servers, and returns the fastest access results to clients. Avoiding DNS pollution and improving network access speed, supports high-performance ad filtering. diff --git a/pkgs/by-name/sm/smartgithg/package.nix b/pkgs/by-name/sm/smartgithg/package.nix index d636c9d9b1ede..df3322024973d 100644 --- a/pkgs/by-name/sm/smartgithg/package.nix +++ b/pkgs/by-name/sm/smartgithg/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, makeDesktopItem -, openjdk21 -, gtk3 -, glib -, adwaita-icon-theme -, wrapGAppsHook3 -, libXtst -, which +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + openjdk21, + gtk3, + glib, + adwaita-icon-theme, + wrapGAppsHook3, + libXtst, + which, }: let jre = openjdk21; @@ -18,22 +19,35 @@ stdenv.mkDerivation rec { version = "23.1.3"; src = fetchurl { - url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz"; + url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.gz"; hash = "sha256-UvdHr1L5MYwl7eT1BVS/M8Ydtw8VjDG+QuqMW0Q5La4="; }; nativeBuildInputs = [ wrapGAppsHook3 ]; - buildInputs = [ jre adwaita-icon-theme gtk3 ]; + buildInputs = [ + jre + adwaita-icon-theme + gtk3 + ]; preFixup = '' gappsWrapperArgs+=( \ - --prefix PATH : ${lib.makeBinPath [ jre which ]} \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ - gtk3 - glib - libXtst - ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + jre + which + ] + } \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + gtk3 + glib + libXtst + ] + } \ --prefix JRE_HOME : ${jre} \ --prefix JAVA_HOME : ${jre} \ --prefix SMARTGITHG_JAVA_HOME : ${jre} \ diff --git a/pkgs/by-name/sm/smarty3-i18n/package.nix b/pkgs/by-name/sm/smarty3-i18n/package.nix index e617ba58e8b44..cd7e2ac511c84 100644 --- a/pkgs/by-name/sm/smarty3-i18n/package.nix +++ b/pkgs/by-name/sm/smarty3-i18n/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + ... +}: stdenv.mkDerivation rec { pname = "smarty-i18n"; diff --git a/pkgs/by-name/sm/smarty3/package.nix b/pkgs/by-name/sm/smarty3/package.nix index 6059bed339e63..1e0b41001e6cf 100644 --- a/pkgs/by-name/sm/smarty3/package.nix +++ b/pkgs/by-name/sm/smarty3/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + ... +}: stdenv.mkDerivation rec { pname = "smarty3"; diff --git a/pkgs/by-name/sm/smatch/package.nix b/pkgs/by-name/sm/smatch/package.nix index 6acf05652319a..b373f462a365b 100644 --- a/pkgs/by-name/sm/smatch/package.nix +++ b/pkgs/by-name/sm/smatch/package.nix @@ -30,10 +30,13 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - sqlite - openssl - ] ++ lib.optionals buildllvmsparse [ libllvm ] ++ lib.optionals buildc2xml [ libxml2.dev ]; + buildInputs = + [ + sqlite + openssl + ] + ++ lib.optionals buildllvmsparse [ libllvm ] + ++ lib.optionals buildc2xml [ libxml2.dev ]; makeFlags = [ "PREFIX=${placeholder "out"}" diff --git a/pkgs/by-name/sm/smb3-foundry/package.nix b/pkgs/by-name/sm/smb3-foundry/package.nix index 2f78261f854ec..6c7bf56660922 100644 --- a/pkgs/by-name/sm/smb3-foundry/package.nix +++ b/pkgs/by-name/sm/smb3-foundry/package.nix @@ -1,15 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: let - python = (python3.withPackages (ps: with ps; [ - pyside6 - py65 - qdarkstyle - ])); + python = ( + python3.withPackages ( + ps: with ps; [ + pyside6 + py65 + qdarkstyle + ] + ) + ); in stdenv.mkDerivation (finalAttrs: { pname = "smb3-foundry"; diff --git a/pkgs/by-name/sm/smbnetfs/package.nix b/pkgs/by-name/sm/smbnetfs/package.nix index 01596088505d2..f1f40f0f5439e 100644 --- a/pkgs/by-name/sm/smbnetfs/package.nix +++ b/pkgs/by-name/sm/smbnetfs/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, fuse, samba, pkg-config, glib, autoconf, attr, libsecret }: +{ + lib, + stdenv, + fetchurl, + fuse, + samba, + pkg-config, + glib, + autoconf, + attr, + libsecret, +}: stdenv.mkDerivation rec { pname = "smbnetfs"; @@ -8,8 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-6sN7l2n76cP0uvPrZMYaa1mtTyqgXf3culoaxK301WA="; }; - nativeBuildInputs = [ pkg-config autoconf ]; - buildInputs = [ fuse samba glib attr libsecret ]; + nativeBuildInputs = [ + pkg-config + autoconf + ]; + buildInputs = [ + fuse + samba + glib + attr + libsecret + ]; meta = with lib; { description = "FUSE FS for mounting Samba shares"; diff --git a/pkgs/by-name/sm/smbscan/package.nix b/pkgs/by-name/sm/smbscan/package.nix index ea2a99b64bb0d..0171ab87d7548 100644 --- a/pkgs/by-name/sm/smbscan/package.nix +++ b/pkgs/by-name/sm/smbscan/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sm/smc-chilanka/package.nix b/pkgs/by-name/sm/smc-chilanka/package.nix index f5e5ee2cb5d87..17a0d5685b7ed 100644 --- a/pkgs/by-name/sm/smc-chilanka/package.nix +++ b/pkgs/by-name/sm/smc-chilanka/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitLab, python3Packages, gnumake, truetype ? false }: +{ + lib, + stdenvNoCC, + fetchFromGitLab, + python3Packages, + gnumake, + truetype ? false, +}: stdenvNoCC.mkDerivation rec { pname = "chilanka"; @@ -12,7 +19,10 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-VvotRUQks8vUqJOcYHqy6cuwaAKYg4OqtiAjaBIdBRk="; }; - nativeBuildInputs = [ gnumake python3Packages.fontmake ]; + nativeBuildInputs = [ + gnumake + python3Packages.fontmake + ]; buildFlags = [ "otf" ] ++ lib.optional truetype "ttf"; diff --git a/pkgs/by-name/sm/smc/package.nix b/pkgs/by-name/sm/smc/package.nix index 99ed8de45e451..b1a0060e0e645 100644 --- a/pkgs/by-name/sm/smc/package.nix +++ b/pkgs/by-name/sm/smc/package.nix @@ -1,11 +1,19 @@ -{ lib, stdenv, fetchurl, jre, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + jre, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "smc"; version = "6.6.3"; src = fetchurl { - url = "mirror://sourceforge/project/smc/smc/${lib.replaceStrings ["."] ["_"] version}/smc_${lib.replaceStrings ["."] ["_"] version}.tgz"; + url = "mirror://sourceforge/project/smc/smc/${lib.replaceStrings [ "." ] [ "_" ] version}/smc_${ + lib.replaceStrings [ "." ] [ "_" ] version + }.tgz"; sha256 = "1gv0hrgdl4wp562virpf9sib6pdhapwv4zvwbl0d5f5xyx04il11"; }; diff --git a/pkgs/by-name/sm/smcroute/package.nix b/pkgs/by-name/sm/smcroute/package.nix index 09d2ef89131a2..8b1dd8420ca1e 100644 --- a/pkgs/by-name/sm/smcroute/package.nix +++ b/pkgs/by-name/sm/smcroute/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libcap }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libcap, +}: stdenv.mkDerivation rec { pname = "smcroute"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-b1FsaDw5wAZkOwc6Y7TsMwyfxIRQ2rNUTK+knEzOn7w="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libcap ]; configureFlags = [ diff --git a/pkgs/by-name/sm/smem/package.nix b/pkgs/by-name/sm/smem/package.nix index cd8633303c8b2..70ef87692d0c7 100644 --- a/pkgs/by-name/sm/smem/package.nix +++ b/pkgs/by-name/sm/smem/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, python3 }: +{ + lib, + stdenv, + fetchurl, + python3, +}: stdenv.mkDerivation rec { pname = "smem"; @@ -13,11 +18,10 @@ stdenv.mkDerivation rec { makeFlags = [ "smemcap" ]; - installPhase = - '' - install -Dm555 -t $out/bin/ smem smemcap - install -Dm444 -t $out/share/man/man8/ smem.8 - ''; + installPhase = '' + install -Dm555 -t $out/bin/ smem smemcap + install -Dm444 -t $out/share/man/man8/ smem.8 + ''; meta = { homepage = "https://www.selenic.com/smem/"; diff --git a/pkgs/by-name/sm/smemstat/package.nix b/pkgs/by-name/sm/smemstat/package.nix index a6cdaf978c663..a267d9905aac9 100644 --- a/pkgs/by-name/sm/smemstat/package.nix +++ b/pkgs/by-name/sm/smemstat/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, ncurses }: +{ + stdenv, + lib, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "smemstat"; diff --git a/pkgs/by-name/sm/smenu/package.nix b/pkgs/by-name/sm/smenu/package.nix index 8521e549ecc6f..8a76da58bd4b0 100644 --- a/pkgs/by-name/sm/smenu/package.nix +++ b/pkgs/by-name/sm/smenu/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { version = "1.4.0"; diff --git a/pkgs/by-name/sm/smile/package.nix b/pkgs/by-name/sm/smile/package.nix index a7d98caf20131..e3921824a8f86 100644 --- a/pkgs/by-name/sm/smile/package.nix +++ b/pkgs/by-name/sm/smile/package.nix @@ -1,15 +1,16 @@ -{ lib -, python3 -, fetchFromGitHub -, desktop-file-utils -, glib -, gobject-introspection -, meson -, ninja -, wrapGAppsHook4 -, libadwaita -, xdotool -, wl-clipboard +{ + lib, + python3, + fetchFromGitHub, + desktop-file-utils, + glib, + gobject-introspection, + meson, + ninja, + wrapGAppsHook4, + libadwaita, + xdotool, + wl-clipboard, }: python3.pkgs.buildPythonApplication rec { @@ -48,10 +49,12 @@ python3.pkgs.buildPythonApplication rec { preFixup = '' makeWrapperArgs+=( "''${gappsWrapperArgs[@]}" - --prefix PATH : ${lib.makeBinPath [ - xdotool - wl-clipboard - ]} + --prefix PATH : ${ + lib.makeBinPath [ + xdotool + wl-clipboard + ] + } ) ''; @@ -62,6 +65,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://mijorus.it/projects/smile/"; license = lib.licenses.gpl3Plus; mainProgram = "smile"; - maintainers = with lib.maintainers; [ koppor aleksana ]; + maintainers = with lib.maintainers; [ + koppor + aleksana + ]; }; } diff --git a/pkgs/by-name/sm/smiley-sans/package.nix b/pkgs/by-name/sm/smiley-sans/package.nix index d136695c8aed1..2b7d6ffc38122 100644 --- a/pkgs/by-name/sm/smiley-sans/package.nix +++ b/pkgs/by-name/sm/smiley-sans/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchzip, nix-update-script }: +{ + lib, + stdenvNoCC, + fetchzip, + nix-update-script, +}: stdenvNoCC.mkDerivation rec { pname = "smiley-sans"; diff --git a/pkgs/by-name/sm/smimesign/package.nix b/pkgs/by-name/sm/smimesign/package.nix index 812d6a24d2bd8..59c468ccc1113 100644 --- a/pkgs/by-name/sm/smimesign/package.nix +++ b/pkgs/by-name/sm/smimesign/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "smimesign"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-wLqYUICL+gdvRCLNrA0ZNcFI4oV3Oik762q7xF115Lw="; - ldflags = [ "-s" "-w" "-X main.versionString=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.versionString=v${version}" + ]; # Fails in sandbox doCheck = false; diff --git a/pkgs/by-name/sm/smlfmt/package.nix b/pkgs/by-name/sm/smlfmt/package.nix index a8a1d4fb4d62f..d3e75b598f116 100644 --- a/pkgs/by-name/sm/smlfmt/package.nix +++ b/pkgs/by-name/sm/smlfmt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, mlton }: +{ + lib, + stdenv, + fetchFromGitHub, + mlton, +}: stdenv.mkDerivation rec { pname = "smlfmt"; diff --git a/pkgs/by-name/sm/smlfut/package.nix b/pkgs/by-name/sm/smlfut/package.nix index 97ade088ed578..21938595b3015 100644 --- a/pkgs/by-name/sm/smlfut/package.nix +++ b/pkgs/by-name/sm/smlfut/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, mlton, mlkit, futhark }: +{ + lib, + stdenv, + fetchFromGitHub, + mlton, + mlkit, + futhark, +}: stdenv.mkDerivation rec { pname = "smlfut"; @@ -17,11 +24,14 @@ stdenv.mkDerivation rec { env.MLCOMP = "mlton"; - installFlags = ["PREFIX=$(out)"]; + installFlags = [ "PREFIX=$(out)" ]; doCheck = true; - nativeCheckInputs = [ futhark mlkit ]; + nativeCheckInputs = [ + futhark + mlkit + ]; checkTarget = "run_test"; diff --git a/pkgs/by-name/sm/smlpkg/package.nix b/pkgs/by-name/sm/smlpkg/package.nix index be7592c1c6d88..6a77c6878e7b1 100644 --- a/pkgs/by-name/sm/smlpkg/package.nix +++ b/pkgs/by-name/sm/smlpkg/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, mlton, unzip }: +{ + lib, + stdenv, + fetchFromGitHub, + mlton, + unzip, +}: stdenv.mkDerivation rec { pname = "smlpkg"; @@ -18,8 +24,8 @@ stdenv.mkDerivation rec { # Set as an environment variable in all the phase scripts. MLCOMP = "mlton"; - buildFlags = ["all"]; - installFlags = ["prefix=$(out)"]; + buildFlags = [ "all" ]; + installFlags = [ "prefix=$(out)" ]; doCheck = true; diff --git a/pkgs/by-name/sm/smokeping/package.nix b/pkgs/by-name/sm/smokeping/package.nix index bfae54dc35220..a2668529c6902 100644 --- a/pkgs/by-name/sm/smokeping/package.nix +++ b/pkgs/by-name/sm/smokeping/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, fping, rrdtool, perlPackages, autoreconfHook, nixosTests }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + fping, + rrdtool, + perlPackages, + autoreconfHook, + nixosTests, +}: stdenv.mkDerivation rec { pname = "smokeping"; @@ -15,9 +25,24 @@ stdenv.mkDerivation rec { }) ]; - propagatedBuildInputs = [ rrdtool ] ++ - (with perlPackages; [ perl FCGI CGI CGIFast ConfigGrammar DigestHMAC NetTelnet - NetOpenSSH NetSNMP LWP IOTty fping NetDNS perlldap ]); + propagatedBuildInputs = + [ rrdtool ] + ++ (with perlPackages; [ + perl + FCGI + CGI + CGIFast + ConfigGrammar + DigestHMAC + NetTelnet + NetOpenSSH + NetSNMP + LWP + IOTty + fping + NetDNS + perlldap + ]); nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/sm/smooth/package.nix b/pkgs/by-name/sm/smooth/package.nix index 3cb227b12d3fe..4fdeb5a47b242 100644 --- a/pkgs/by-name/sm/smooth/package.nix +++ b/pkgs/by-name/sm/smooth/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, -, bzip2 -, curl -, fribidi -, gtk3 -, iconv -, libcpuid -, libjpeg -, libpng -, libwebp -, libxml2 -, zlib + bzip2, + curl, + fribidi, + gtk3, + iconv, + libcpuid, + libjpeg, + libpng, + libwebp, + libxml2, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sm/smpeg/package.nix b/pkgs/by-name/sm/smpeg/package.nix index d310e3653e7f1..0d4a67d36631a 100644 --- a/pkgs/by-name/sm/smpeg/package.nix +++ b/pkgs/by-name/sm/smpeg/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, SDL, autoconf, automake, libtool, gtk2, m4, pkg-config, libGLU, libGL, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + SDL, + autoconf, + automake, + libtool, + gtk2, + m4, + pkg-config, + libGLU, + libGL, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "smpeg"; @@ -7,7 +22,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "icculus"; repo = "smpeg"; - rev = "release_${builtins.replaceStrings ["."] ["_"] version}"; + rev = "release_${builtins.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-nq/i7cFGpJXIuTwN/ScLMX7FN8NMdgdsRM9xOD3uycs="; }; @@ -36,11 +51,27 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ autoconf automake libtool m4 pkg-config makeWrapper ]; + nativeBuildInputs = [ + autoconf + automake + libtool + m4 + pkg-config + makeWrapper + ]; - buildInputs = [ SDL ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ gtk2 libGLU libGL ]; + buildInputs = + [ SDL ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + gtk2 + libGLU + libGL + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; preConfigure = '' touch NEWS AUTHORS ChangeLog diff --git a/pkgs/by-name/sm/smpeg2/package.nix b/pkgs/by-name/sm/smpeg2/package.nix index bcece08e6195f..c12560f2d7b26 100644 --- a/pkgs/by-name/sm/smpeg2/package.nix +++ b/pkgs/by-name/sm/smpeg2/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, autoconf -, automake -, darwin -, fetchFromGitHub -, makeWrapper -, pkg-config -, SDL2 +{ + lib, + stdenv, + autoconf, + automake, + darwin, + fetchFromGitHub, + makeWrapper, + pkg-config, + SDL2, }: stdenv.mkDerivation rec { @@ -19,12 +21,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-Z0u83K1GIXd0jUYo5ZyWUH2Zt7Hn8z+yr06DAtAEukw="; }; - nativeBuildInputs = [ autoconf automake makeWrapper pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + makeWrapper + pkg-config + ]; - buildInputs = [ SDL2 ] - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.libobjc; + buildInputs = [ SDL2 ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.libobjc; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; preConfigure = '' sh autogen.sh diff --git a/pkgs/by-name/sm/smpq/package.nix b/pkgs/by-name/sm/smpq/package.nix index 117e05d08735d..e32f27e6fd634 100644 --- a/pkgs/by-name/sm/smpq/package.nix +++ b/pkgs/by-name/sm/smpq/package.nix @@ -30,7 +30,10 @@ stdenv.mkDerivation (finalAttrs: { description = "StormLib MPQ archiving utility"; license = lib.licenses.gpl3Only; mainProgram = "smpq"; - maintainers = with lib.maintainers; [ aanderse karolchmist ]; + maintainers = with lib.maintainers; [ + aanderse + karolchmist + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/sm/smu/package.nix b/pkgs/by-name/sm/smu/package.nix index 63c9bb8d024f1..dbbd80702aa09 100644 --- a/pkgs/by-name/sm/smu/package.nix +++ b/pkgs/by-name/sm/smu/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "smu"; @@ -26,4 +30,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ oxzi ]; }; } - diff --git a/pkgs/by-name/sm/smug/package.nix b/pkgs/by-name/sm/smug/package.nix index 213d8ee771394..c7745d1a5ceea 100644 --- a/pkgs/by-name/sm/smug/package.nix +++ b/pkgs/by-name/sm/smug/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "smug"; @@ -17,7 +22,11 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" "-X=main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.version=${version}" + ]; postInstall = '' installManPage ./man/man1/smug.1 diff --git a/pkgs/by-name/sm/smuview/package.nix b/pkgs/by-name/sm/smuview/package.nix index a030d649992dd..05c3423f71106 100644 --- a/pkgs/by-name/sm/smuview/package.nix +++ b/pkgs/by-name/sm/smuview/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, glib -, boost -, libsigrok -, libserialport -, libzip -, libftdi1 -, hidapi -, glibmm -, python3 -, bluez -, pcre -, libsForQt5 -, desktopToDarwinBundle -, qt5 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + glib, + boost, + libsigrok, + libserialport, + libzip, + libftdi1, + hidapi, + glibmm, + python3, + bluez, + pcre, + libsForQt5, + desktopToDarwinBundle, + qt5, }: stdenv.mkDerivation rec { @@ -30,8 +31,11 @@ stdenv.mkDerivation rec { hash = "sha256-WH8X75yk0aMivbBBOyODcM1eBWwa5UO/3nTaKV1LCGs="; }; - nativeBuildInputs = [ cmake pkg-config qt5.wrapQtAppsHook ] - ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; + nativeBuildInputs = [ + cmake + pkg-config + qt5.wrapQtAppsHook + ] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; buildInputs = [ glib diff --git a/pkgs/by-name/sm/smuxi/package.nix b/pkgs/by-name/sm/smuxi/package.nix index 72354275e3981..0903db1952c03 100644 --- a/pkgs/by-name/sm/smuxi/package.nix +++ b/pkgs/by-name/sm/smuxi/package.nix @@ -1,26 +1,30 @@ -{ stdenv -, autoconf, automake, itstool, intltool, pkg-config -, fetchFromGitHub -, glib -, gettext -, sqlite -, mono -, stfl -, makeWrapper, lib -, guiSupport ? true -, gtk-sharp-2_0 -, gdk-pixbuf -, pango +{ + stdenv, + autoconf, + automake, + itstool, + intltool, + pkg-config, + fetchFromGitHub, + glib, + gettext, + sqlite, + mono, + stfl, + makeWrapper, + lib, + guiSupport ? true, + gtk-sharp-2_0, + gdk-pixbuf, + pango, }: stdenv.mkDerivation rec { pname = "smuxi"; version = "unstable-2023-07-01"; - runtimeLoaderEnvVariableName = if stdenv.hostPlatform.isDarwin then - "DYLD_FALLBACK_LIBRARY_PATH" - else - "LD_LIBRARY_PATH"; + runtimeLoaderEnvVariableName = + if stdenv.hostPlatform.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH"; src = fetchFromGitHub { owner = "meebey"; @@ -30,13 +34,25 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ autoconf automake itstool intltool gettext - mono - stfl ] ++ lib.optionals (guiSupport) [ + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + buildInputs = + [ + autoconf + automake + itstool + intltool + gettext + mono + stfl + ] + ++ lib.optionals (guiSupport) [ gtk-sharp-2_0 # loaded at runtime by GTK# - gdk-pixbuf pango + gdk-pixbuf + pango ]; preConfigure = '' @@ -51,32 +67,46 @@ stdenv.mkDerivation rec { postInstall = '' makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-message-buffer" \ --add-flags "$out/lib/smuxi/smuxi-message-buffer.exe" \ - --prefix ${runtimeLoaderEnvVariableName} : ${lib.makeLibraryPath [ - gettext sqlite - ]} + --prefix ${runtimeLoaderEnvVariableName} : ${ + lib.makeLibraryPath [ + gettext + sqlite + ] + } makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-server" \ --add-flags "$out/lib/smuxi/smuxi-server.exe" \ - --prefix ${runtimeLoaderEnvVariableName} : ${lib.makeLibraryPath [ - gettext sqlite - ]} + --prefix ${runtimeLoaderEnvVariableName} : ${ + lib.makeLibraryPath [ + gettext + sqlite + ] + } makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-frontend-stfl" \ --add-flags "$out/lib/smuxi/smuxi-frontend-stfl.exe" \ - --prefix ${runtimeLoaderEnvVariableName} : ${lib.makeLibraryPath [ - gettext sqlite stfl - ]} + --prefix ${runtimeLoaderEnvVariableName} : ${ + lib.makeLibraryPath [ + gettext + sqlite + stfl + ] + } makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-frontend-gnome" \ --add-flags "$out/lib/smuxi/smuxi-frontend-gnome.exe" \ --prefix MONO_GAC_PREFIX : ${if guiSupport then gtk-sharp-2_0 else ""} \ - --prefix ${runtimeLoaderEnvVariableName} : ${lib.makeLibraryPath [ - gettext - glib - sqlite - gtk-sharp-2_0 - gtk-sharp-2_0.gtk gdk-pixbuf pango - ]} + --prefix ${runtimeLoaderEnvVariableName} : ${ + lib.makeLibraryPath [ + gettext + glib + sqlite + gtk-sharp-2_0 + gtk-sharp-2_0.gtk + gdk-pixbuf + pango + ] + } # install log4net and nini libraries mkdir -p $out/lib/smuxi/ @@ -84,10 +114,15 @@ stdenv.mkDerivation rec { cp -a lib/Nini.dll $out/lib/smuxi/ # install GTK+ icon theme on Darwin - ${if guiSupport && stdenv.hostPlatform.isDarwin then " + ${ + if guiSupport && stdenv.hostPlatform.isDarwin then + " mkdir -p $out/lib/smuxi/icons/ cp -a images/Smuxi-Symbolic $out/lib/smuxi/icons/ - " else ""} + " + else + "" + } ''; meta = with lib; { diff --git a/pkgs/by-name/sn/sn-pro/package.nix b/pkgs/by-name/sn/sn-pro/package.nix index a01df57eee5a0..6dfa9fe5faf56 100644 --- a/pkgs/by-name/sn/sn-pro/package.nix +++ b/pkgs/by-name/sn/sn-pro/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "sn-pro"; diff --git a/pkgs/by-name/sn/sn0int/package.nix b/pkgs/by-name/sn/sn0int/package.nix index 6e9afcd4a1491..09517d974fd46 100644 --- a/pkgs/by-name/sn/sn0int/package.nix +++ b/pkgs/by-name/sn/sn0int/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, libseccomp -, libsodium -, pkg-config -, pkgs -, sqlite -, stdenv -, installShellFiles +{ + lib, + fetchFromGitHub, + rustPlatform, + libseccomp, + libsodium, + pkg-config, + pkgs, + sqlite, + stdenv, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -28,20 +29,23 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - libsodium - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libseccomp - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - pkgs.darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + libsodium + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libseccomp + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.Security + ]; # One of the dependencies (chrootable-https) tries to read "/etc/resolv.conf" # in "checkPhase", hence fails in sandbox of "nix". doCheck = false; - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd sn0int \ --bash <($out/bin/sn0int completions bash) \ --fish <($out/bin/sn0int completions fish) \ @@ -53,7 +57,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/kpcyrd/sn0int"; changelog = "https://github.com/kpcyrd/sn0int/releases/tag/v${version}"; license = with licenses; [ gpl3Plus ]; - maintainers = with maintainers; [ fab xrelkd ]; + maintainers = with maintainers; [ + fab + xrelkd + ]; platforms = platforms.linux ++ platforms.darwin; mainProgram = "sn0int"; }; diff --git a/pkgs/by-name/sn/snabb/package.nix b/pkgs/by-name/sn/snabb/package.nix index 0c0b009cc7a86..2adae8cc4dd83 100644 --- a/pkgs/by-name/sn/snabb/package.nix +++ b/pkgs/by-name/sn/snabb/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sn/snake4/package.nix b/pkgs/by-name/sn/snake4/package.nix index 79524e974c4d2..0d3856a9d5b59 100644 --- a/pkgs/by-name/sn/snake4/package.nix +++ b/pkgs/by-name/sn/snake4/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, shhmsg, shhopt, xorg }: +{ + lib, + stdenv, + fetchurl, + shhmsg, + shhopt, + xorg, +}: stdenv.mkDerivation rec { pname = "snake4"; @@ -9,7 +16,15 @@ stdenv.mkDerivation rec { sha256 = "14cng9l857np42zixp440mbc8y5675frb6lhsds53j1cws9cncw9"; }; - buildInputs = with xorg; [ shhmsg shhopt libX11 libXt libXpm libXaw libXext ]; + buildInputs = with xorg; [ + shhmsg + shhopt + libX11 + libXt + libXpm + libXaw + libXext + ]; preInstall = '' substituteInPlace Makefile \ @@ -17,9 +32,11 @@ stdenv.mkDerivation rec { --replace "4755" "755" ''; - installFlags = [ "INSTLIBDIR=$(out)/lib" - "INSTBINDIR=$(out)/bin" - "INSTMANDIR=$(out)/man" ]; + installFlags = [ + "INSTLIBDIR=$(out)/lib" + "INSTBINDIR=$(out)/bin" + "INSTMANDIR=$(out)/man" + ]; meta = with lib; { description = "Game starring a fruit-eating snake"; diff --git a/pkgs/by-name/sn/snap7/package.nix b/pkgs/by-name/sn/snap7/package.nix index 39cdf6d2b45e2..1beca5d3e06d3 100644 --- a/pkgs/by-name/sn/snap7/package.nix +++ b/pkgs/by-name/sn/snap7/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchzip, p7zip }: +{ + stdenv, + lib, + fetchzip, + p7zip, +}: stdenv.mkDerivation rec { pname = "snap7"; @@ -14,7 +19,11 @@ stdenv.mkDerivation rec { ''; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; makefile = "x86_64_linux.mk"; makeFlags = [ "LibInstall=$(out)/lib" ]; diff --git a/pkgs/by-name/sn/snapdragon-profiler/package.nix b/pkgs/by-name/sn/snapdragon-profiler/package.nix index 1d93bbe715c68..9236487769116 100644 --- a/pkgs/by-name/sn/snapdragon-profiler/package.nix +++ b/pkgs/by-name/sn/snapdragon-profiler/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, icoutils -, mono -, jre -, androidenv -, gtk-sharp-2_0 -, gtk2 -, libcxx -, coreutils -, requireFile -, archive ? requireFile { +{ + lib, + stdenv, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + icoutils, + mono, + jre, + androidenv, + gtk-sharp-2_0, + gtk2, + libcxx, + coreutils, + requireFile, + archive ? requireFile { name = "snapdragonprofiler_external_linux.tar.gz"; message = '' This nix expression requires that "snapdragonprofiler_external_linux.tar.gz" is @@ -21,7 +22,7 @@ and add it to the nix store with nix-store --add-fixed sha256 . ''; sha256 = "c6731c417ca39fa9b0f190bd80c99b1603cf97d23becab9e47db6beafd6206b7"; - } + }, }: stdenv.mkDerivation rec { @@ -52,7 +53,13 @@ stdenv.mkDerivation rec { cp -r * $out/lib/snapdragon-profiler makeWrapper "${mono}/bin/mono" $out/bin/snapdragon-profiler \ --add-flags "$out/lib/snapdragon-profiler/SnapdragonProfiler.exe" \ - --suffix PATH : ${lib.makeBinPath [ jre androidenv.androidPkgs.platform-tools coreutils ]} \ + --suffix PATH : ${ + lib.makeBinPath [ + jre + androidenv.androidPkgs.platform-tools + coreutils + ] + } \ --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \ --suffix LD_LIBRARY_PATH : $(echo $NIX_LDFLAGS | sed 's/ -L/:/g;s/ -rpath /:/g;s/-rpath //') \ --chdir "$out/lib/snapdragon-profiler" # Fixes themes not loading correctly @@ -65,14 +72,21 @@ stdenv.mkDerivation rec { runHook postInstall ''; - desktopItems = [(makeDesktopItem { - name = pname; - desktopName = "Snapdragon Profiler"; - exec = "snapdragon-profiler"; - icon = "snapdragon-profiler"; - comment = meta.description; - categories = [ "Development" "Debugger" "Graphics" "3DGraphics" ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = pname; + desktopName = "Snapdragon Profiler"; + exec = "snapdragon-profiler"; + icon = "snapdragon-profiler"; + comment = meta.description; + categories = [ + "Development" + "Debugger" + "Graphics" + "3DGraphics" + ]; + }) + ]; dontStrip = true; # Always needed on Mono dontPatchELF = true; # Certain libraries are to be deployed to the remote device, they should not be patched diff --git a/pkgs/by-name/sn/snapper-gui/package.nix b/pkgs/by-name/sn/snapper-gui/package.nix index f4df09504fc26..83789dfa31bee 100644 --- a/pkgs/by-name/sn/snapper-gui/package.nix +++ b/pkgs/by-name/sn/snapper-gui/package.nix @@ -1,6 +1,14 @@ -{ lib, fetchFromGitHub, python3, python3Packages -, adwaita-icon-theme, gtk3, wrapGAppsHook3, gtksourceview3, snapper -, gobject-introspection +{ + lib, + fetchFromGitHub, + python3, + python3Packages, + adwaita-icon-theme, + gtk3, + wrapGAppsHook3, + gtksourceview3, + snapper, + gobject-introspection, }: python3Packages.buildPythonApplication rec { @@ -14,7 +22,10 @@ python3Packages.buildPythonApplication rec { sha256 = "13j4spbi9pxg69zifzai8ifk4207sn0vwh6vjqryi0snd5sylh7h"; }; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; buildInputs = [ python3 diff --git a/pkgs/by-name/sn/snappy/package.nix b/pkgs/by-name/sn/snappy/package.nix index 21785e251841e..cb6c6e559b892 100644 --- a/pkgs/by-name/sn/snappy/package.nix +++ b/pkgs/by-name/sn/snappy/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, fetchpatch -, static ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fetchpatch, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -25,7 +29,10 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/sn/snappymail/package.nix b/pkgs/by-name/sn/snappymail/package.nix index 56fc5a5307cb6..bb3d11ef998f2 100644 --- a/pkgs/by-name/sn/snappymail/package.nix +++ b/pkgs/by-name/sn/snappymail/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, writeText -, dataPath ? "/var/lib/snappymail" +{ + lib, + stdenv, + fetchurl, + writeText, + dataPath ? "/var/lib/snappymail", }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sn/snapshot/package.nix b/pkgs/by-name/sn/snapshot/package.nix index fcf98fe93a3fa..895c16ff61d93 100644 --- a/pkgs/by-name/sn/snapshot/package.nix +++ b/pkgs/by-name/sn/snapshot/package.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchurl -, glycin-loaders -, cargo -, desktop-file-utils -, jq -, meson -, moreutils -, ninja -, pkg-config -, rustc -, wrapGAppsHook4 -, glib -, gst_all_1 -, gtk4 -, libadwaita -, libcamera -, libseccomp -, pipewire -, gnome +{ + stdenv, + lib, + fetchurl, + glycin-loaders, + cargo, + desktop-file-utils, + jq, + meson, + moreutils, + ninja, + pkg-config, + rustc, + wrapGAppsHook4, + glib, + gst_all_1, + gtk4, + libadwaita, + libcamera, + libseccomp, + pipewire, + gnome, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sn/snazy/package.nix b/pkgs/by-name/sn/snazy/package.nix index 0eb2b588f25db..e4431592f22ce 100644 --- a/pkgs/by-name/sn/snazy/package.nix +++ b/pkgs/by-name/sn/snazy/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -45,6 +46,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/chmouel/snazy/"; changelog = "https://github.com/chmouel/snazy/releases/tag/${src.rev}"; license = licenses.asl20; - maintainers = with maintainers; [ figsoda jk ]; + maintainers = with maintainers; [ + figsoda + jk + ]; }; } diff --git a/pkgs/by-name/sn/sndio/package.nix b/pkgs/by-name/sn/sndio/package.nix index 40f308280e629..aa5ba4e85abda 100644 --- a/pkgs/by-name/sn/sndio/package.nix +++ b/pkgs/by-name/sn/sndio/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, alsa-lib, fixDarwinDylibNames, gitUpdater }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + fixDarwinDylibNames, + gitUpdater, +}: stdenv.mkDerivation (finalAttrs: { pname = "sndio"; @@ -11,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = lib.optional stdenv.hostPlatform.isLinux alsa-lib; - configurePlatforms = []; + configurePlatforms = [ ]; postInstall = '' install -Dm644 contrib/sndiod.service $out/lib/systemd/system/sndiod.service diff --git a/pkgs/by-name/sn/sndpeek/package.nix b/pkgs/by-name/sn/sndpeek/package.nix index 7cf8636ad1074..6cf92d9a656fb 100644 --- a/pkgs/by-name/sn/sndpeek/package.nix +++ b/pkgs/by-name/sn/sndpeek/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, libsndfile, libglut, alsa-lib, mesa, libGLU, libX11, libXmu -, libXext, libXi }: +{ + lib, + stdenv, + fetchurl, + libsndfile, + libglut, + alsa-lib, + mesa, + libGLU, + libX11, + libXmu, + libXext, + libXi, +}: stdenv.mkDerivation rec { pname = "sndpeek"; @@ -36,18 +48,18 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Real-time 3D animated audio display/playback"; longDescription = '' - sndpeek is just what it sounds (and looks) like: - * real-time 3D animated display/playback - * can use mic-input or wav/aiff/snd/raw/mat file (with playback) - * time-domain waveform - * FFT magnitude spectrum - * 3D waterfall plot - * lissajous! (interchannel correlation) - * rotatable and scalable display - * freeze frame! (for didactic purposes) - * real-time spectral feature extraction (centroid, rms, flux, rolloff) - * available on MacOS X, Linux, and Windows under GPL - * part of the sndtools distribution. + sndpeek is just what it sounds (and looks) like: + * real-time 3D animated display/playback + * can use mic-input or wav/aiff/snd/raw/mat file (with playback) + * time-domain waveform + * FFT magnitude spectrum + * 3D waterfall plot + * lissajous! (interchannel correlation) + * rotatable and scalable display + * freeze frame! (for didactic purposes) + * real-time spectral feature extraction (centroid, rms, flux, rolloff) + * available on MacOS X, Linux, and Windows under GPL + * part of the sndtools distribution. ''; homepage = "https://soundlab.cs.princeton.edu/software/sndpeek/"; license = licenses.gpl2; diff --git a/pkgs/by-name/sn/snekim/package.nix b/pkgs/by-name/sn/snekim/package.nix index 8c8841b9dbd7d..5591b97234baf 100644 --- a/pkgs/by-name/sn/snekim/package.nix +++ b/pkgs/by-name/sn/snekim/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNimPackage, fetchFromGitea }: +{ + lib, + buildNimPackage, + fetchFromGitea, +}: buildNimPackage (finalAttrs: { pname = "snekim"; diff --git a/pkgs/by-name/sn/snes9x/package.nix b/pkgs/by-name/sn/snes9x/package.nix index 31aa73db6a923..3c027f6068e94 100644 --- a/pkgs/by-name/sn/snes9x/package.nix +++ b/pkgs/by-name/sn/snes9x/package.nix @@ -42,51 +42,54 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-INMVyB3alwmsApO7ToAaUWgh7jlg2MeLxqHCEnUO88U="; }; - nativeBuildInputs = [ - pkg-config - python3 - ] - ++ lib.optionals withGtk [ - cmake - ninja - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + pkg-config + python3 + ] + ++ lib.optionals withGtk [ + cmake + ninja + wrapGAppsHook3 + ]; - buildInputs = [ - libX11 - libXv - minizip - zlib - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - pulseaudio - libselinux - util-linuxMinimal # provides libmount - ] - ++ lib.optionals (!withGtk) [ - libpng - libXext - libXinerama - ] - ++ lib.optionals withGtk [ - gtkmm3 - libepoxy - libXdmcp - libXrandr - pcre2 - portaudio - SDL2 - ]; + buildInputs = + [ + libX11 + libXv + minizip + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + pulseaudio + libselinux + util-linuxMinimal # provides libmount + ] + ++ lib.optionals (!withGtk) [ + libpng + libXext + libXinerama + ] + ++ lib.optionals withGtk [ + gtkmm3 + libepoxy + libXdmcp + libXrandr + pcre2 + portaudio + SDL2 + ]; hardeningDisable = [ "format" ]; - configureFlags = lib.optionals stdenv.hostPlatform.sse4_1Support [ - "--enable-sse41" - ] - ++ lib.optionals stdenv.hostPlatform.avx2Support [ - "--enable-avx2" - ]; + configureFlags = + lib.optionals stdenv.hostPlatform.sse4_1Support [ + "--enable-sse41" + ] + ++ lib.optionals stdenv.hostPlatform.avx2Support [ + "--enable-avx2" + ]; postPatch = '' substituteInPlace external/glad/src/egl.c \ @@ -112,9 +115,10 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - meta = let - interface = if withGtk then "GTK" else "X11"; - in + meta = + let + interface = if withGtk then "GTK" else "X11"; + in { homepage = "https://www.snes9x.com"; description = "Super Nintendo Entertainment System (SNES) emulator, ${interface} version"; diff --git a/pkgs/by-name/sn/sngrep/package.nix b/pkgs/by-name/sn/sngrep/package.nix index 1e841d10327fd..c9936abc1931a 100644 --- a/pkgs/by-name/sn/sngrep/package.nix +++ b/pkgs/by-name/sn/sngrep/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, autoconf -, automake -, fetchFromGitHub -, libpcap -, ncurses -, openssl -, pcre +{ + lib, + stdenv, + autoconf, + automake, + fetchFromGitHub, + libpcap, + ncurses, + openssl, + pcre, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sn/sniffglue/package.nix b/pkgs/by-name/sn/sniffglue/package.nix index 5bafa510776fe..28c22a04089e0 100644 --- a/pkgs/by-name/sn/sniffglue/package.nix +++ b/pkgs/by-name/sn/sniffglue/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, libpcap -, libseccomp -, pkg-config -, rustPlatform -, stdenv +{ + lib, + fetchFromGitHub, + libpcap, + libseccomp, + pkg-config, + rustPlatform, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -22,11 +23,13 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libpcap - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libseccomp - ]; + buildInputs = + [ + libpcap + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libseccomp + ]; meta = with lib; { description = "Secure multithreaded packet sniffer"; diff --git a/pkgs/by-name/sn/sniffnet/package.nix b/pkgs/by-name/sn/sniffnet/package.nix index 146c0941e8507..240fe74c1da31 100644 --- a/pkgs/by-name/sn/sniffnet/package.nix +++ b/pkgs/by-name/sn/sniffnet/package.nix @@ -1,18 +1,19 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libpcap -, libxkbcommon -, openssl -, stdenv -, alsa-lib -, expat -, fontconfig -, vulkan-loader -, wayland -, xorg -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libpcap, + libxkbcommon, + openssl, + stdenv, + alsa-lib, + expat, + fontconfig, + vulkan-loader, + wayland, + xorg, + darwin, }: rustPlatform.buildRustPackage rec { @@ -30,22 +31,25 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libpcap - openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - expat - fontconfig - vulkan-loader - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXrandr - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - rustPlatform.bindgenHook - ]; + buildInputs = + [ + libpcap + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + expat + fontconfig + vulkan-loader + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + rustPlatform.bindgenHook + ]; # requires internet access checkFlags = [ @@ -64,14 +68,24 @@ rustPlatform.buildRustPackage rec { postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf $out/bin/sniffnet \ - --add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 libxkbcommon wayland ]} + --add-rpath ${ + lib.makeLibraryPath [ + vulkan-loader + xorg.libX11 + libxkbcommon + wayland + ] + } ''; meta = with lib; { description = "Cross-platform application to monitor your network traffic with ease"; homepage = "https://github.com/gyulyvgc/sniffnet"; changelog = "https://github.com/gyulyvgc/sniffnet/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "sniffnet"; }; diff --git a/pkgs/by-name/sn/sniglet/package.nix b/pkgs/by-name/sn/sniglet/package.nix index bbf29b9a78175..5f12432be069b 100644 --- a/pkgs/by-name/sn/sniglet/package.nix +++ b/pkgs/by-name/sn/sniglet/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "sniglet"; diff --git a/pkgs/by-name/sn/snippetexpander/package.nix b/pkgs/by-name/sn/snippetexpander/package.nix index 4aed8b58adeb5..3112747257ad8 100644 --- a/pkgs/by-name/sn/snippetexpander/package.nix +++ b/pkgs/by-name/sn/snippetexpander/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, makeWrapper -, scdoc -, installShellFiles -, snippetexpanderd -, snippetexpanderx +{ + lib, + buildGoModule, + makeWrapper, + scdoc, + installShellFiles, + snippetexpanderd, + snippetexpanderx, }: buildGoModule rec { @@ -43,7 +44,12 @@ buildGoModule rec { postFixup = '' # Ensure snippetexpanderd and snippetexpanderx are available to start/stop. wrapProgram $out/bin/snippetexpander \ - --prefix PATH : ${lib.makeBinPath [ snippetexpanderd snippetexpanderx ]} + --prefix PATH : ${ + lib.makeBinPath [ + snippetexpanderd + snippetexpanderx + ] + } ''; meta = { diff --git a/pkgs/by-name/sn/snippetexpanderd/package.nix b/pkgs/by-name/sn/snippetexpanderd/package.nix index e657ed758ff78..dbab53d504167 100644 --- a/pkgs/by-name/sn/snippetexpanderd/package.nix +++ b/pkgs/by-name/sn/snippetexpanderd/package.nix @@ -1,13 +1,14 @@ -{ lib -, buildGoModule -, fetchFromSourcehut -, makeWrapper -, scdoc -, installShellFiles -, xclip -, wl-clipboard -, xdotool -, wtype +{ + lib, + buildGoModule, + fetchFromSourcehut, + makeWrapper, + scdoc, + installShellFiles, + xclip, + wl-clipboard, + xdotool, + wtype, }: buildGoModule rec { @@ -54,7 +55,14 @@ buildGoModule rec { postFixup = '' # Ensure xclip/wcopy and xdotool/wtype are available for copy and paste duties. wrapProgram $out/bin/snippetexpanderd \ - --prefix PATH : ${lib.makeBinPath [ xclip wl-clipboard xdotool wtype ]} + --prefix PATH : ${ + lib.makeBinPath [ + xclip + wl-clipboard + xdotool + wtype + ] + } ''; meta = { diff --git a/pkgs/by-name/sn/snippetexpandergui/package.nix b/pkgs/by-name/sn/snippetexpandergui/package.nix index ed496b76b905d..4926187910469 100644 --- a/pkgs/by-name/sn/snippetexpandergui/package.nix +++ b/pkgs/by-name/sn/snippetexpandergui/package.nix @@ -1,14 +1,15 @@ -{ lib -, buildGoModule -, wrapGAppsHook3 -, wails -, scdoc -, installShellFiles -, xorg -, gtk3 -, webkitgtk_4_0 -, snippetexpanderd -, snippetexpanderx +{ + lib, + buildGoModule, + wrapGAppsHook3, + wails, + scdoc, + installShellFiles, + xorg, + gtk3, + webkitgtk_4_0, + snippetexpanderd, + snippetexpanderx, }: buildGoModule rec { @@ -57,7 +58,12 @@ buildGoModule rec { preFixup = '' gappsWrapperArgs+=( # Ensure snippetexpanderd and snippetexpanderx are available to start/stop. - --prefix PATH : ${lib.makeBinPath [ snippetexpanderd snippetexpanderx ]} + --prefix PATH : ${ + lib.makeBinPath [ + snippetexpanderd + snippetexpanderx + ] + } ) ''; diff --git a/pkgs/by-name/sn/snippetexpanderx/package.nix b/pkgs/by-name/sn/snippetexpanderx/package.nix index e88cbe15ae0d3..2596a255a159a 100644 --- a/pkgs/by-name/sn/snippetexpanderx/package.nix +++ b/pkgs/by-name/sn/snippetexpanderx/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, pkg-config -, vala -, wrapGAppsHook3 -, installShellFiles -, scdoc -, at-spi2-atk -, at-spi2-core -, dbus -, gtk3 -, ibus -, libgee -, xorg -, snippetexpanderd +{ + lib, + stdenv, + pkg-config, + vala, + wrapGAppsHook3, + installShellFiles, + scdoc, + at-spi2-atk, + at-spi2-core, + dbus, + gtk3, + ibus, + libgee, + xorg, + snippetexpanderd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sn/snippetpixie/package.nix b/pkgs/by-name/sn/snippetpixie/package.nix index 49b633b02f012..1e0382ff5f615 100644 --- a/pkgs/by-name/sn/snippetpixie/package.nix +++ b/pkgs/by-name/sn/snippetpixie/package.nix @@ -1,25 +1,27 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, vala -, pkg-config -, wrapGAppsHook3 -, appstream -, desktop-file-utils -, python3 -, libgee -, glib -, gtk3 -, sqlite -, at-spi2-atk -, at-spi2-core -, dbus -, ibus -, json-glib -, pantheon -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + vala, + pkg-config, + wrapGAppsHook3, + appstream, + desktop-file-utils, + python3, + libgee, + glib, + gtk3, + sqlite, + at-spi2-atk, + at-spi2-core, + dbus, + ibus, + json-glib, + pantheon, + xorg, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sn/sniproxy/package.nix b/pkgs/by-name/sn/sniproxy/package.nix index 778681063b616..9714d6de36d19 100644 --- a/pkgs/by-name/sn/sniproxy/package.nix +++ b/pkgs/by-name/sn/sniproxy/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gettext, libev, pcre, pkg-config, udns }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gettext, + libev, + pcre, + pkg-config, + udns, +}: stdenv.mkDerivation rec { pname = "sniproxy"; @@ -11,14 +21,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-htM9CrzaGnn1dnsWQ+0V6N65Og7rsFob3BlSc4UGfFU="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ gettext libev pcre udns ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + gettext + libev + pcre + udns + ]; meta = with lib; { homepage = "https://github.com/dlundquist/sniproxy"; description = "Transparent TLS and HTTP layer 4 proxy with SNI support"; license = licenses.bsd2; - maintainers = with maintainers; [ womfoo raitobezarius ]; + maintainers = with maintainers; [ + womfoo + raitobezarius + ]; platforms = platforms.linux; mainProgram = "sniproxy"; }; diff --git a/pkgs/by-name/sn/snixembed/package.nix b/pkgs/by-name/sn/snixembed/package.nix index 21ec5dac81dff..09792c91334a6 100644 --- a/pkgs/by-name/sn/snixembed/package.nix +++ b/pkgs/by-name/sn/snixembed/package.nix @@ -1,4 +1,12 @@ -{ fetchFromSourcehut, gtk3, lib, libdbusmenu-gtk3, pkg-config, stdenv, vala }: +{ + fetchFromSourcehut, + gtk3, + lib, + libdbusmenu-gtk3, + pkg-config, + stdenv, + vala, +}: stdenv.mkDerivation rec { pname = "snixembed"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-co32Xlklg6KVyi+xEoDJ6TeN28V+wCSx73phwnl/05E="; }; - nativeBuildInputs = [ pkg-config vala ]; + nativeBuildInputs = [ + pkg-config + vala + ]; - buildInputs = [ gtk3 libdbusmenu-gtk3 ]; + buildInputs = [ + gtk3 + libdbusmenu-gtk3 + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/sn/snmpcheck/package.nix b/pkgs/by-name/sn/snmpcheck/package.nix index dbf6c95de8ac1..c02787b68f0ff 100644 --- a/pkgs/by-name/sn/snmpcheck/package.nix +++ b/pkgs/by-name/sn/snmpcheck/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, ruby }: +{ + stdenv, + lib, + fetchurl, + ruby, +}: let rubyEnv = ruby.withPackages (ps: [ ps.snmp ]); diff --git a/pkgs/by-name/sn/snobol4/package.nix b/pkgs/by-name/sn/snobol4/package.nix index c0edda03dc64c..4fda12fcaa524 100644 --- a/pkgs/by-name/sn/snobol4/package.nix +++ b/pkgs/by-name/sn/snobol4/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchurl -, stdenv -, bzip2 -, gdbm -, gnum4 -, gzip -, libffi -, openssl -, readline -, sqlite -, tcl -, xz -, zlib +{ + lib, + fetchurl, + stdenv, + bzip2, + gdbm, + gnum4, + gzip, + libffi, + openssl, + readline, + sqlite, + tcl, + xz, + zlib, }: stdenv.mkDerivation rec { @@ -27,12 +28,29 @@ stdenv.mkDerivation rec { hash = "sha256-QeMB6d0YDXARfWTzaU+d1U+e2QmjajJYfIvthatorBU="; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; # gzip used by Makefile to compress man pages - nativeBuildInputs = [ gnum4 gzip ]; + nativeBuildInputs = [ + gnum4 + gzip + ]; # enable all features (undocumented, based on manual review of configure script) - buildInputs = [ bzip2 libffi openssl readline sqlite tcl xz zlib ] + buildInputs = + [ + bzip2 + libffi + openssl + readline + sqlite + tcl + xz + zlib + ] # ndbm compat library ++ lib.optional stdenv.hostPlatform.isLinux gdbm; configureFlags = lib.optional (tcl != null) "--with-tcl=${tcl}/lib/tclConfig.sh"; diff --git a/pkgs/by-name/sn/snooze/package.nix b/pkgs/by-name/sn/snooze/package.nix index 1a719a494f84c..d57f48e36a0e1 100644 --- a/pkgs/by-name/sn/snooze/package.nix +++ b/pkgs/by-name/sn/snooze/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "snooze"; version = "0.5"; @@ -8,7 +12,10 @@ stdenv.mkDerivation rec { rev = "v${version}"; sha256 = "sha256-K77axli/mapUr3yxpmUfFq4iWwgRmEVUlP6+/0Iezwo="; }; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=/" + ]; meta = with lib; { description = "Tool for waiting until a particular time and then running a command"; diff --git a/pkgs/by-name/sn/snore/package.nix b/pkgs/by-name/sn/snore/package.nix index 572f504873f85..2ad183f5f5b70 100644 --- a/pkgs/by-name/sn/snore/package.nix +++ b/pkgs/by-name/sn/snore/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "0.3.1"; diff --git a/pkgs/by-name/sn/snort/package.nix b/pkgs/by-name/sn/snort/package.nix index 9a6dd217e5de7..5fd3607b5d83c 100644 --- a/pkgs/by-name/sn/snort/package.nix +++ b/pkgs/by-name/sn/snort/package.nix @@ -1,5 +1,19 @@ -{lib, stdenv, pkg-config, luajit, openssl, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison, makeWrapper -, libtirpc +{ + lib, + stdenv, + pkg-config, + luajit, + openssl, + fetchurl, + libpcap, + pcre, + libdnet, + daq, + zlib, + flex, + bison, + makeWrapper, + libtirpc, }: stdenv.mkDerivation rec { @@ -12,8 +26,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-KUAOE/U7GDHguLEOwSJKHLqm3BUzpTIqIN2Au4S0mBw="; }; - nativeBuildInputs = [ makeWrapper pkg-config ]; - buildInputs = [ luajit openssl libpcap pcre libdnet daq zlib flex bison libtirpc ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + buildInputs = [ + luajit + openssl + libpcap + pcre + libdnet + daq + zlib + flex + bison + libtirpc + ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; diff --git a/pkgs/by-name/sn/snow/package.nix b/pkgs/by-name/sn/snow/package.nix index 5e7cb013a4edc..2bb684d10e8df 100644 --- a/pkgs/by-name/sn/snow/package.nix +++ b/pkgs/by-name/sn/snow/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "snow"; diff --git a/pkgs/by-name/sn/snowblind/package.nix b/pkgs/by-name/sn/snowblind/package.nix index d36fe23244216..77444ca17d970 100644 --- a/pkgs/by-name/sn/snowblind/package.nix +++ b/pkgs/by-name/sn/snowblind/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitLab, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "snowblind"; diff --git a/pkgs/by-name/sn/snowcat/package.nix b/pkgs/by-name/sn/snowcat/package.nix index 0054c7a81322e..aa4899dda9979 100644 --- a/pkgs/by-name/sn/snowcat/package.nix +++ b/pkgs/by-name/sn/snowcat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "snowcat"; @@ -12,7 +16,10 @@ buildGoModule rec { }; vendorHash = "sha256-D6ipwGMxT0B3uYUzg6Oo2TYnsOVBY0mYO5lC7vtVPc0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/praetorian-inc/snowcat"; diff --git a/pkgs/by-name/sn/snowcrash/package.nix b/pkgs/by-name/sn/snowcrash/package.nix index b787b0da59b71..ff969164dab61 100644 --- a/pkgs/by-name/sn/snowcrash/package.nix +++ b/pkgs/by-name/sn/snowcrash/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/sn/snowflake/package.nix b/pkgs/by-name/sn/snowflake/package.nix index fa1ac4d3c388f..9179ba4b499c4 100644 --- a/pkgs/by-name/sn/snowflake/package.nix +++ b/pkgs/by-name/sn/snowflake/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitLab }: +{ + lib, + buildGoModule, + fetchFromGitLab, +}: buildGoModule rec { pname = "snowflake"; @@ -19,7 +23,10 @@ buildGoModule rec { description = "System to defeat internet censorship"; homepage = "https://snowflake.torproject.org/"; changelog = "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/raw/v${version}/ChangeLog"; - maintainers = with maintainers; [ bbjubjub yayayayaka ]; + maintainers = with maintainers; [ + bbjubjub + yayayayaka + ]; license = licenses.bsd3; }; } diff --git a/pkgs/by-name/sn/snowmachine/package.nix b/pkgs/by-name/sn/snowmachine/package.nix index 124575160afef..a46037891ead8 100644 --- a/pkgs/by-name/sn/snowmachine/package.nix +++ b/pkgs/by-name/sn/snowmachine/package.nix @@ -1,4 +1,8 @@ -{ python3Packages, lib, fetchPypi }: +{ + python3Packages, + lib, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "snowmachine"; @@ -10,7 +14,11 @@ python3Packages.buildPythonApplication rec { hash = "sha256:119e6da12f430af1519f1a9f091b77b7676c7a9dbeaab6616cb196fe793d8e61"; }; - propagatedBuildInputs = with python3Packages; [ click colorama hatchling ]; + propagatedBuildInputs = with python3Packages; [ + click + colorama + hatchling + ]; doCheck = false; pythonImportsCheck = [ "snowmachine" ]; @@ -20,6 +28,9 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/sontek/snowmachine"; mainProgram = "snowmachine"; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ djanatyn sontek ]; + maintainers = with maintainers; [ + djanatyn + sontek + ]; }; } diff --git a/pkgs/by-name/sn/snowsql/package.nix b/pkgs/by-name/sn/snowsql/package.nix index 677f33d267b74..ac72739b7cd60 100644 --- a/pkgs/by-name/sn/snowsql/package.nix +++ b/pkgs/by-name/sn/snowsql/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, rpmextract -, patchelf -, makeWrapper -, openssl -, libxcrypt-legacy +{ + lib, + stdenv, + fetchurl, + rpmextract, + patchelf, + makeWrapper, + openssl, + libxcrypt-legacy, }: stdenv.mkDerivation rec { @@ -17,9 +18,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-KKCCj+pIwWhuzOuxljQ8Y11mAwD/GONspbXuPAMBdhE="; }; - nativeBuildInputs = [ rpmextract makeWrapper ]; + nativeBuildInputs = [ + rpmextract + makeWrapper + ]; - libPath = lib.makeLibraryPath [ openssl libxcrypt-legacy ]; + libPath = lib.makeLibraryPath [ + openssl + libxcrypt-legacy + ]; buildCommand = '' mkdir -p $out/bin/ diff --git a/pkgs/by-name/sn/snpeff/package.nix b/pkgs/by-name/sn/snpeff/package.nix index 269d6e307f1da..c5706f22fd117 100644 --- a/pkgs/by-name/sn/snpeff/package.nix +++ b/pkgs/by-name/sn/snpeff/package.nix @@ -1,15 +1,27 @@ -{lib, stdenv, fetchurl, jre, unzip, makeWrapper}: +{ + lib, + stdenv, + fetchurl, + jre, + unzip, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "snpeff"; version = "4.3t"; src = fetchurl { - url = "mirror://sourceforge/project/snpeff/snpEff_v${builtins.replaceStrings [ "." ] [ "_" ] version}_core.zip"; + url = "mirror://sourceforge/project/snpeff/snpEff_v${ + builtins.replaceStrings [ "." ] [ "_" ] version + }_core.zip"; sha256 = "0i12mv93bfv8xjwc3rs2x73d6hkvi7kgbbbx3ry984l3ly4p6nnm"; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; buildInputs = [ jre ]; sourceRoot = "snpEff"; diff --git a/pkgs/by-name/sn/snx-rs/package.nix b/pkgs/by-name/sn/snx-rs/package.nix index caf3f333e812e..6c79e2e024203 100644 --- a/pkgs/by-name/sn/snx-rs/package.nix +++ b/pkgs/by-name/sn/snx-rs/package.nix @@ -1,4 +1,15 @@ -{ fetchFromGitHub, rustPlatform, lib, pkg-config, openssl, glib, atk, gtk3, libsoup_3, webkitgtk_4_1 }: +{ + fetchFromGitHub, + rustPlatform, + lib, + pkg-config, + openssl, + glib, + atk, + gtk3, + libsoup_3, + webkitgtk_4_1, +}: rustPlatform.buildRustPackage { pname = "snx-rs"; version = "2.2.3"; @@ -11,7 +22,14 @@ rustPlatform.buildRustPackage { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl glib atk gtk3 libsoup_3 webkitgtk_4_1 ]; + buildInputs = [ + openssl + glib + atk + gtk3 + libsoup_3 + webkitgtk_4_1 + ]; checkFlags = [ "--skip=platform::linux::net::tests::test_default_ip" diff --git a/pkgs/by-name/sn/snzip/package.nix b/pkgs/by-name/sn/snzip/package.nix index b6e671839ab03..8010d22eb06fb 100644 --- a/pkgs/by-name/sn/snzip/package.nix +++ b/pkgs/by-name/sn/snzip/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, snappy +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + snappy, }: stdenv.mkDerivation (finalAttrs: { @@ -36,4 +37,3 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.linux; }; }) - diff --git a/pkgs/by-name/so/soapyremote/package.nix b/pkgs/by-name/so/soapyremote/package.nix index 4191b8ae95ceb..7fe21410cf502 100644 --- a/pkgs/by-name/so/soapyremote/package.nix +++ b/pkgs/by-name/so/soapyremote/package.nix @@ -1,9 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, soapysdr, avahi }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + soapysdr, + avahi, +}: let version = "0.5.2"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "soapyremote"; inherit version; @@ -15,11 +23,16 @@ in stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ soapysdr avahi ]; + buildInputs = [ + soapysdr + avahi + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ "-include sys/select.h" ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ "-include sys/select.h" ] + ); meta = with lib; { homepage = "https://github.com/pothosware/SoapyRemote"; diff --git a/pkgs/by-name/so/soapysdrplay/package.nix b/pkgs/by-name/so/soapysdrplay/package.nix index 80c9c409e1ee2..bd462c61069bb 100644 --- a/pkgs/by-name/so/soapysdrplay/package.nix +++ b/pkgs/by-name/so/soapysdrplay/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, soapysdr, sdrplay }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + soapysdr, + sdrplay, +}: stdenv.mkDerivation rec { pname = "soapysdr-sdrplay3"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-WMcAw0uR2o2SrQR4mBtdVEZlJ/ZXRqwo6zMJNsB/5U4="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ soapysdr sdrplay ]; + buildInputs = [ + soapysdr + sdrplay + ]; cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" diff --git a/pkgs/by-name/so/socat/package.nix b/pkgs/by-name/so/socat/package.nix index ce8b5f32ecc0a..1410945e6f633 100644 --- a/pkgs/by-name/so/socat/package.nix +++ b/pkgs/by-name/so/socat/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, nettools -, openssl -, readline -, stdenv -, which -, buildPackages +{ + lib, + fetchurl, + nettools, + openssl, + readline, + stdenv, + which, + buildPackages, }: stdenv.mkDerivation rec { @@ -24,13 +25,19 @@ stdenv.mkDerivation rec { --replace /sbin/ifconfig ifconfig ''; - buildInputs = [ openssl readline ]; + buildInputs = [ + openssl + readline + ]; hardeningEnable = [ "pie" ]; enableParallelBuilding = true; - nativeCheckInputs = [ which nettools ]; + nativeCheckInputs = [ + which + nettools + ]; doCheck = false; # fails a bunch, hangs passthru.tests = lib.optionalAttrs stdenv.buildPlatform.isLinux { diff --git a/pkgs/by-name/so/social-engineer-toolkit/package.nix b/pkgs/by-name/so/social-engineer-toolkit/package.nix index 4f2d5895cc789..696ed2d71fb2f 100644 --- a/pkgs/by-name/so/social-engineer-toolkit/package.nix +++ b/pkgs/by-name/so/social-engineer-toolkit/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, python3Packages, makeWrapper, metasploit }: +{ + lib, + fetchFromGitHub, + python3Packages, + makeWrapper, + metasploit, +}: python3Packages.buildPythonApplication rec { pname = "social-engineer-toolkit"; diff --git a/pkgs/by-name/so/sockdump/package.nix b/pkgs/by-name/so/sockdump/package.nix index 98e88d0d6f83f..d79b4bf4a0b73 100644 --- a/pkgs/by-name/so/sockdump/package.nix +++ b/pkgs/by-name/so/sockdump/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3, bcc }: +{ + lib, + fetchFromGitHub, + python3, + bcc, +}: python3.pkgs.buildPythonApplication rec { pname = "sockdump"; @@ -21,6 +26,9 @@ python3.pkgs.buildPythonApplication rec { description = "Dump unix domain socket traffic with bpf"; mainProgram = "sockdump"; license = lib.licenses.unlicense; - maintainers = with lib.maintainers; [ ehmry picnoir ]; + maintainers = with lib.maintainers; [ + ehmry + picnoir + ]; }; } diff --git a/pkgs/by-name/so/socket_wrapper/package.nix b/pkgs/by-name/so/socket_wrapper/package.nix index 475a92e79c3e1..3b80ffff7e058 100644 --- a/pkgs/by-name/so/socket_wrapper/package.nix +++ b/pkgs/by-name/so/socket_wrapper/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "socket_wrapper"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-CWz7TqucebUtss51JsVeUI8GZb/qxsS8ZqPIMh2HU1g="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "Library passing all socket communications through unix sockets"; diff --git a/pkgs/by-name/so/socklog/package.nix b/pkgs/by-name/so/socklog/package.nix index 8ba9ab21b13d3..69a6b9a1167b0 100644 --- a/pkgs/by-name/so/socklog/package.nix +++ b/pkgs/by-name/so/socklog/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "socklog"; @@ -11,7 +15,11 @@ stdenv.mkDerivation rec { sourceRoot = "admin/socklog-${version}"; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; postPatch = '' # Fails to run as user without supplementary groups diff --git a/pkgs/by-name/so/sockperf/package.nix b/pkgs/by-name/so/sockperf/package.nix index 6181138a7b6df..7a1415d2e1f33 100644 --- a/pkgs/by-name/so/sockperf/package.nix +++ b/pkgs/by-name/so/sockperf/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, doxygen -, enableTool ? false -, enableTest ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + doxygen, + enableTool ? false, + enableTest ? false, +}: stdenv.mkDerivation rec { pname = "sockperf"; @@ -13,9 +19,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-VvxL/bcn69uL7CBpDu4qwbKZwlC4N/kNeRX4k3UzxPI="; }; - nativeBuildInputs = [ autoreconfHook doxygen ]; + nativeBuildInputs = [ + autoreconfHook + doxygen + ]; - configureFlags = [ "--enable-doc" ] + configureFlags = + [ "--enable-doc" ] ++ lib.optional enableTest "--enable-test" ++ lib.optional enableTool "--enable-tool"; diff --git a/pkgs/by-name/so/soco-cli/package.nix b/pkgs/by-name/so/soco-cli/package.nix index b2b415414c79b..437d2cd92b533 100644 --- a/pkgs/by-name/so/soco-cli/package.nix +++ b/pkgs/by-name/so/soco-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/so/sof-firmware/package.nix b/pkgs/by-name/so/sof-firmware/package.nix index 4744dbc7baf96..a8cec90efeb23 100644 --- a/pkgs/by-name/so/sof-firmware/package.nix +++ b/pkgs/by-name/so/sof-firmware/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, stdenvNoCC +{ + lib, + fetchurl, + stdenvNoCC, }: stdenvNoCC.mkDerivation rec { @@ -30,8 +31,15 @@ stdenvNoCC.mkDerivation rec { changelog = "https://github.com/thesofproject/sof-bin/releases/tag/v${version}"; description = "Sound Open Firmware"; homepage = "https://www.sofproject.org/"; - license = with licenses; [ bsd3 isc ]; - maintainers = with maintainers; [ lblasc evenbrenden hmenke ]; + license = with licenses; [ + bsd3 + isc + ]; + maintainers = with maintainers; [ + lblasc + evenbrenden + hmenke + ]; platforms = with platforms; linux; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; diff --git a/pkgs/by-name/so/sof-tools/package.nix b/pkgs/by-name/so/sof-tools/package.nix index e7a591849f073..a48693df45c2d 100644 --- a/pkgs/by-name/so/sof-tools/package.nix +++ b/pkgs/by-name/so/sof-tools/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + alsa-lib, +}: stdenv.mkDerivation rec { pname = "sof-tools"; diff --git a/pkgs/by-name/so/softnet/package.nix b/pkgs/by-name/so/softnet/package.nix index b1a9cb3a97f76..2604e32fd8c0d 100644 --- a/pkgs/by-name/so/softnet/package.nix +++ b/pkgs/by-name/so/softnet/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchurl +{ + lib, + stdenvNoCC, + fetchurl, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "softnet"; diff --git a/pkgs/by-name/so/sokol/package.nix b/pkgs/by-name/so/sokol/package.nix index bfb034cfce6c8..22d84ceaa478e 100644 --- a/pkgs/by-name/so/sokol/package.nix +++ b/pkgs/by-name/so/sokol/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "sokol"; @@ -32,4 +36,3 @@ stdenv.mkDerivation { maintainers = with maintainers; [ jonnybolton ]; }; } - diff --git a/pkgs/by-name/so/sol2/package.nix b/pkgs/by-name/so/sol2/package.nix index 5ec615942545d..dc8decfef0626 100644 --- a/pkgs/by-name/so/sol2/package.nix +++ b/pkgs/by-name/so/sol2/package.nix @@ -1,8 +1,9 @@ -{ fetchFromGitHub -, lib -, stdenv -, cmake -, lua +{ + fetchFromGitHub, + lib, + stdenv, + cmake, + lua, }: stdenv.mkDerivation (finalAttrs: { pname = "sol2"; @@ -14,14 +15,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-7QHZRudxq3hdsfEAYKKJydc4rv6lyN6UIt/2Zmaejx8="; }; - nativeBuildInputs = [ cmake lua ]; + nativeBuildInputs = [ + cmake + lua + ]; cmakeFlags = [ "-DSOL2_LUA_VERSION=${lua.version}" "-DSOL2_BUILD_LUA=FALSE" ]; - meta = with lib;{ + meta = with lib; { description = "Lua API wrapper with advanced features and top notch performance"; longDescription = '' sol2 is a C++ library binding to Lua. diff --git a/pkgs/by-name/so/solaar/package.nix b/pkgs/by-name/so/solaar/package.nix index 4c2e59b2ab8db..803385cfe4a27 100644 --- a/pkgs/by-name/so/solaar/package.nix +++ b/pkgs/by-name/so/solaar/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, lib -, gobject-introspection -, gtk3 -, python3Packages -, wrapGAppsHook3 -, gdk-pixbuf -, libappindicator -, librsvg +{ + fetchFromGitHub, + lib, + gobject-introspection, + gtk3, + python3Packages, + wrapGAppsHook3, + gdk-pixbuf, + libappindicator, + librsvg, }: # Although we copy in the udev rules here, you probably just want to use @@ -23,7 +24,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-sYJrVAeZi0a7yD0i/zIIxcu9X/c5HvgoI/n50eXD47s="; }; - outputs = [ "out" "udev" ]; + outputs = [ + "out" + "udev" + ]; nativeBuildInputs = [ gdk-pixbuf @@ -81,7 +85,11 @@ python3Packages.buildPythonApplication rec { ''; homepage = "https://pwr-solaar.github.io/Solaar/"; license = licenses.gpl2Only; - maintainers = with maintainers; [ spinus ysndr oxalica ]; + maintainers = with maintainers; [ + spinus + ysndr + oxalica + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/so/solana-cli/package.nix b/pkgs/by-name/so/solana-cli/package.nix index 710d6ec7c43ab..f9b41352a791e 100644 --- a/pkgs/by-name/so/solana-cli/package.nix +++ b/pkgs/by-name/so/solana-cli/package.nix @@ -1,34 +1,37 @@ -{ stdenv -, fetchFromGitHub -, lib -, rustPlatform -, darwin -, udev -, protobuf -, libcxx -, rocksdb_8_3 -, installShellFiles -, pkg-config -, openssl -, nix-update-script +{ + stdenv, + fetchFromGitHub, + lib, + rustPlatform, + darwin, + udev, + protobuf, + libcxx, + rocksdb_8_3, + installShellFiles, + pkg-config, + openssl, + nix-update-script, # Taken from https://github.com/solana-labs/solana/blob/master/scripts/cargo-install-all.sh#L84 -, solanaPkgs ? [ - "solana" - "solana-bench-tps" - "solana-faucet" - "solana-gossip" - "solana-install" - "solana-keygen" - "solana-ledger-tool" - "solana-log-analyzer" - "solana-net-shaper" - "solana-validator" - "solana-test-validator" - ] ++ [ - # XXX: Ensure `solana-genesis` is built LAST! - # See https://github.com/solana-labs/solana/issues/5826 - "solana-genesis" - ] + solanaPkgs ? + [ + "solana" + "solana-bench-tps" + "solana-faucet" + "solana-gossip" + "solana-install" + "solana-keygen" + "solana-ledger-tool" + "solana-log-analyzer" + "solana-net-shaper" + "solana-validator" + "solana-test-validator" + ] + ++ [ + # XXX: Ensure `solana-genesis` is built LAST! + # See https://github.com/solana-labs/solana/issues/5826 + "solana-genesis" + ], }: let version = "1.18.26"; @@ -36,7 +39,12 @@ let rocksdb = rocksdb_8_3; inherit (darwin.apple_sdk_11_0) Libsystem; - inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security; + inherit (darwin.apple_sdk_11_0.frameworks) + System + IOKit + AppKit + Security + ; in rustPlatform.buildRustPackage rec { pname = "solana-cli"; @@ -70,17 +78,25 @@ rustPlatform.buildRustPackage rec { # I'm not in the mood ((ΦωΦ)) doCheck = false; - nativeBuildInputs = [ installShellFiles protobuf pkg-config ]; - buildInputs = [ openssl rustPlatform.bindgenHook ] + nativeBuildInputs = [ + installShellFiles + protobuf + pkg-config + ]; + buildInputs = + [ + openssl + rustPlatform.bindgenHook + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ udev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libcxx - IOKit - Security - AppKit - System - Libsystem - ]; + libcxx + IOKit + Security + AppKit + System + Libsystem + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd solana \ @@ -107,7 +123,11 @@ rustPlatform.buildRustPackage rec { description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces"; homepage = "https://solana.com"; license = licenses.asl20; - maintainers = with maintainers; [ netfox happysalada aikooo7 ]; + maintainers = with maintainers; [ + netfox + happysalada + aikooo7 + ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/so/solarc-gtk-theme/package.nix b/pkgs/by-name/so/solarc-gtk-theme/package.nix index a6ae8ce2e9148..04ae6fd250465 100644 --- a/pkgs/by-name/so/solarc-gtk-theme/package.nix +++ b/pkgs/by-name/so/solarc-gtk-theme/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, - gtk-engine-murrine, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + gtk-engine-murrine, + gtk3, }: stdenv.mkDerivation { @@ -13,9 +20,17 @@ stdenv.mkDerivation { sha256 = "005b66whyxba3403yzykpnlkz0q4m154pxpb4jzcny3fggy9r70s"; }; - nativeBuildInputs = [ autoconf automake pkg-config gtk3 ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + gtk3 + ]; - propagatedUserEnvPkgs = [ gtk-engine-murrine gtk3 ]; + propagatedUserEnvPkgs = [ + gtk-engine-murrine + gtk3 + ]; buildPhase = '' ./autogen.sh --prefix=$out diff --git a/pkgs/by-name/so/solc/package.nix b/pkgs/by-name/so/solc/package.nix index 73476c939ce80..db9dada8db202 100644 --- a/pkgs/by-name/so/solc/package.nix +++ b/pkgs/by-name/so/solc/package.nix @@ -1,22 +1,27 @@ -{ lib, gccStdenv, fetchzip -, pkgs -, boost -, cmake -, coreutils -, jq -, ncurses -, python3 -, z3Support ? true -, z3_4_11 ? null -, cvc4Support ? gccStdenv.hostPlatform.isLinux -, cvc4 ? null -, cln ? null -, gmp ? null +{ + lib, + gccStdenv, + fetchzip, + pkgs, + boost, + cmake, + coreutils, + jq, + ncurses, + python3, + z3Support ? true, + z3_4_11 ? null, + cvc4Support ? gccStdenv.hostPlatform.isLinux, + cvc4 ? null, + cln ? null, + gmp ? null, }: # compiling source/libsmtutil/CVC4Interface.cpp breaks on clang on Darwin, # general commandline tests fail at abiencoderv2_no_warning/ on clang on NixOS -let z3 = z3_4_11; in +let + z3 = z3_4_11; +in assert z3Support -> z3 != null && lib.versionAtLeast z3.version "4.11.0"; assert cvc4Support -> cvc4 != null && cln != null && gmp != null; @@ -49,85 +54,125 @@ let description = "Compiler for Ethereum smart contract language Solidity"; homepage = "https://github.com/ethereum/solidity"; license = licenses.gpl3; - maintainers = with maintainers; [ dbrock akru lionello sifmelcara ]; - }; - - solc = if gccStdenv.hostPlatform.isLinux then gccStdenv.mkDerivation rec { - inherit pname version meta; - - # upstream suggests avoid using archive generated by github - src = fetchzip { - url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz"; - sha256 = "sha256-6EeRmxAmb1nCQ2FTNtWfQ7HCH0g9nJXC3jnhV0KEOwk="; - }; - - postPatch = '' - substituteInPlace cmake/jsoncpp.cmake \ - --replace "${jsoncppUrl}" ${jsoncpp} - substituteInPlace cmake/range-v3.cmake \ - --replace "${range3Url}" ${range3} - substituteInPlace cmake/fmtlib.cmake \ - --replace "${fmtlibUrl}" ${fmtlib} - ''; - - cmakeFlags = [ - "-DBoost_USE_STATIC_LIBS=OFF" - - ] ++ (if z3Support then [ - "-DSTRICT_Z3_VERSION=OFF" - ] else [ - "-DUSE_Z3=OFF" - ]) ++ lib.optionals (!cvc4Support) [ - "-DUSE_CVC4=OFF" + maintainers = with maintainers; [ + dbrock + akru + lionello + sifmelcara ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ boost ] - ++ lib.optionals z3Support [ z3 ] - ++ lib.optionals cvc4Support [ cvc4 cln gmp ]; - nativeCheckInputs = [ jq ncurses (python3.withPackages (ps: with ps; [ colorama deepdiff devtools docopt docutils requests sphinx tabulate z3-solver ])) ]; # contextlib2 glob2 textwrap3 traceback2 urllib3 - - # tests take 60+ minutes to complete, only run as part of passthru tests - doCheck = false; - - checkPhase = '' - pushd .. - # IPC tests need aleth avaliable, so we disable it - sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh - for i in ./scripts/*.sh ./scripts/*.py ./test/*.sh ./test/*.py; do - patchShebangs "$i" - done - ## TODO: reenable tests below after adding evmone and hera and their dependencies to nixpkgs - #TERM=xterm ./scripts/tests.sh ${lib.optionalString z3Support "--no-smt"} - popd - ''; - - doInstallCheck = true; - installCheckPhase = '' - $out/bin/solc --version > /dev/null - ''; - - passthru.tests = { - solcWithTests = solc.overrideAttrs (attrs: { doCheck = true; }); - }; - } else gccStdenv.mkDerivation rec { - inherit pname version meta; - - src = pkgs.fetchurl { - url = "https://github.com/ethereum/solidity/releases/download/v${version}/solc-macos"; - sha256 = "sha256-GdBldJ+wjL/097RShKxVhTBjhl9q6GIeTe+l2Ti5pQI="; - }; - dontUnpack = true; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp ${src} $out/bin/solc - chmod +x $out/bin/solc - - runHook postInstall - ''; }; + + solc = + if gccStdenv.hostPlatform.isLinux then + gccStdenv.mkDerivation rec { + inherit pname version meta; + + # upstream suggests avoid using archive generated by github + src = fetchzip { + url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz"; + sha256 = "sha256-6EeRmxAmb1nCQ2FTNtWfQ7HCH0g9nJXC3jnhV0KEOwk="; + }; + + postPatch = '' + substituteInPlace cmake/jsoncpp.cmake \ + --replace "${jsoncppUrl}" ${jsoncpp} + substituteInPlace cmake/range-v3.cmake \ + --replace "${range3Url}" ${range3} + substituteInPlace cmake/fmtlib.cmake \ + --replace "${fmtlibUrl}" ${fmtlib} + ''; + + cmakeFlags = + [ + "-DBoost_USE_STATIC_LIBS=OFF" + + ] + ++ ( + if z3Support then + [ + "-DSTRICT_Z3_VERSION=OFF" + ] + else + [ + "-DUSE_Z3=OFF" + ] + ) + ++ lib.optionals (!cvc4Support) [ + "-DUSE_CVC4=OFF" + ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = + [ boost ] + ++ lib.optionals z3Support [ z3 ] + ++ lib.optionals cvc4Support [ + cvc4 + cln + gmp + ]; + nativeCheckInputs = [ + jq + ncurses + (python3.withPackages ( + ps: with ps; [ + colorama + deepdiff + devtools + docopt + docutils + requests + sphinx + tabulate + z3-solver + ] + )) + ]; # contextlib2 glob2 textwrap3 traceback2 urllib3 + + # tests take 60+ minutes to complete, only run as part of passthru tests + doCheck = false; + + checkPhase = '' + pushd .. + # IPC tests need aleth avaliable, so we disable it + sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh + for i in ./scripts/*.sh ./scripts/*.py ./test/*.sh ./test/*.py; do + patchShebangs "$i" + done + ## TODO: reenable tests below after adding evmone and hera and their dependencies to nixpkgs + #TERM=xterm ./scripts/tests.sh ${lib.optionalString z3Support "--no-smt"} + popd + ''; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/solc --version > /dev/null + ''; + + passthru.tests = { + solcWithTests = solc.overrideAttrs (attrs: { + doCheck = true; + }); + }; + } + else + gccStdenv.mkDerivation rec { + inherit pname version meta; + + src = pkgs.fetchurl { + url = "https://github.com/ethereum/solidity/releases/download/v${version}/solc-macos"; + sha256 = "sha256-GdBldJ+wjL/097RShKxVhTBjhl9q6GIeTe+l2Ti5pQI="; + }; + dontUnpack = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp ${src} $out/bin/solc + chmod +x $out/bin/solc + + runHook postInstall + ''; + }; in - solc +solc diff --git a/pkgs/by-name/so/solicurses/package.nix b/pkgs/by-name/so/solicurses/package.nix index 5ed776f9f1c6f..df7211b9ebb61 100644 --- a/pkgs/by-name/so/solicurses/package.nix +++ b/pkgs/by-name/so/solicurses/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, ncurses +{ + stdenv, + lib, + fetchFromGitHub, + ncurses, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/so/solitaire-tui/package.nix b/pkgs/by-name/so/solitaire-tui/package.nix index feba37c1d9298..b7756af73687c 100644 --- a/pkgs/by-name/so/solitaire-tui/package.nix +++ b/pkgs/by-name/so/solitaire-tui/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule { @@ -16,7 +17,10 @@ buildGoModule { vendorHash = "sha256-jFbxT0ekimBNjIHGgMmCUrwZTS3Sdop/MFQMVdBF/38="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/brianstrauch/solitaire-tui"; diff --git a/pkgs/by-name/so/sollya/package.nix b/pkgs/by-name/so/sollya/package.nix index 2b741aec29ab1..8879712efcf1f 100644 --- a/pkgs/by-name/so/sollya/package.nix +++ b/pkgs/by-name/so/sollya/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, gmp -, mpfr -, mpfi -, libxml2 -, fplll +{ + lib, + stdenv, + fetchurl, + gmp, + mpfr, + mpfi, + libxml2, + fplll, }: stdenv.mkDerivation rec { @@ -17,7 +18,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-WNc0+aL8jmczwR+W0t+aslvvJNccQBIw4p8KEzmoEZI="; }; - buildInputs = [ gmp mpfr mpfi libxml2 fplll ]; + buildInputs = [ + gmp + mpfr + mpfi + libxml2 + fplll + ]; doCheck = true; diff --git a/pkgs/by-name/so/solo5/package.nix b/pkgs/by-name/so/solo5/package.nix index 667141fe3cf77..37d78ff98dda5 100644 --- a/pkgs/by-name/so/solo5/package.nix +++ b/pkgs/by-name/so/solo5/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, dosfstools, libseccomp, makeWrapper, mtools, parted -, pkg-config, qemu_test, syslinux, util-linux }: +{ + lib, + stdenv, + fetchurl, + dosfstools, + libseccomp, + makeWrapper, + mtools, + parted, + pkg-config, + qemu_test, + syslinux, + util-linux, +}: let version = "0.9.0"; @@ -12,11 +24,15 @@ let "virtio" "xen" ]; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "solo5"; inherit version; - nativeBuildInputs = [ makeWrapper pkg-config ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; buildInputs = lib.optional (stdenv.hostPlatform.isLinux) libseccomp; src = fetchurl { @@ -35,7 +51,7 @@ in stdenv.mkDerivation { enableParallelBuilding = true; separateDebugInfo = true; - # debugging requires information for both the unikernel and the tender + # debugging requires information for both the unikernel and the tender installPhase = '' runHook preInstall @@ -49,13 +65,23 @@ in stdenv.mkDerivation { --replace "cp " "cp --no-preserve=mode " wrapProgram $out/bin/solo5-virtio-mkimage \ - --prefix PATH : ${lib.makeBinPath [ dosfstools mtools parted syslinux ]} + --prefix PATH : ${ + lib.makeBinPath [ + dosfstools + mtools + parted + syslinux + ] + } runHook postInstall ''; doCheck = stdenv.hostPlatform.isLinux; - nativeCheckInputs = [ util-linux qemu_test ]; + nativeCheckInputs = [ + util-linux + qemu_test + ]; checkPhase = '' runHook preCheck patchShebangs tests @@ -71,8 +97,16 @@ in stdenv.mkDerivation { license = licenses.isc; maintainers = [ maintainers.ehmry ]; platforms = mapCartesianProduct ({ arch, os }: "${arch}-${os}") { - arch = [ "aarch64" "x86_64" ]; - os = [ "freebsd" "genode" "linux" "openbsd" ]; + arch = [ + "aarch64" + "x86_64" + ]; + os = [ + "freebsd" + "genode" + "linux" + "openbsd" + ]; }; }; diff --git a/pkgs/by-name/so/solvespace/package.nix b/pkgs/by-name/so/solvespace/package.nix index fc360943fae39..dcb9fdc58d72f 100644 --- a/pkgs/by-name/so/solvespace/package.nix +++ b/pkgs/by-name/so/solvespace/package.nix @@ -1,32 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wrapGAppsHook3 -, at-spi2-core -, cairo -, dbus -, eigen -, freetype -, fontconfig -, glew -, gtkmm3 -, json_c -, libdatrie -, libepoxy -, libGLU -, libpng -, libselinux -, libsepol -, libspnav -, libthai -, libxkbcommon -, pangomm -, pcre -, util-linuxMinimal # provides libmount -, xorg -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapGAppsHook3, + at-spi2-core, + cairo, + dbus, + eigen, + freetype, + fontconfig, + glew, + gtkmm3, + json_c, + libdatrie, + libepoxy, + libGLU, + libpng, + libselinux, + libsepol, + libspnav, + libthai, + libxkbcommon, + pangomm, + pcre, + util-linuxMinimal, # provides libmount + xorg, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/so/somafm-cli/package.nix b/pkgs/by-name/so/somafm-cli/package.nix index 45f79e5bddfff..7a9042b6836b0 100644 --- a/pkgs/by-name/so/somafm-cli/package.nix +++ b/pkgs/by-name/so/somafm-cli/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, makeWrapper -, curl -, jq -, mpv +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + curl, + jq, + mpv, }: stdenv.mkDerivation rec { @@ -21,7 +23,13 @@ stdenv.mkDerivation rec { installPhase = '' install -m0755 -D src/somafm $out/bin/somafm - wrapProgram $out/bin/somafm --prefix PATH ":" "${lib.makeBinPath [ curl jq mpv ]}"; + wrapProgram $out/bin/somafm --prefix PATH ":" "${ + lib.makeBinPath [ + curl + jq + mpv + ] + }"; ''; meta = with lib; { diff --git a/pkgs/by-name/so/somatic-sniper/package.nix b/pkgs/by-name/so/somatic-sniper/package.nix index 553725fb4566b..e979fcee2cb75 100644 --- a/pkgs/by-name/so/somatic-sniper/package.nix +++ b/pkgs/by-name/so/somatic-sniper/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchFromGitHub, cmake, zlib, ncurses}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + ncurses, +}: stdenv.mkDerivation rec { pname = "somatic-sniper"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { patches = [ ./somatic-sniper.patch ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib ncurses ]; + buildInputs = [ + zlib + ncurses + ]; enableParallelBuilding = false; diff --git a/pkgs/by-name/so/somebar/package.nix b/pkgs/by-name/so/somebar/package.nix index 4c2545fe9c963..95436d5547b61 100644 --- a/pkgs/by-name/so/somebar/package.nix +++ b/pkgs/by-name/so/somebar/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromSourcehut -, meson -, ninja -, pkg-config -, wayland -, pango -, wayland-protocols -, wayland-scanner -, conf ? null +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + wayland, + pango, + wayland-protocols, + wayland-scanner, + conf ? null, }: let @@ -27,8 +28,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-PBxCy1dZrOL1nmhVDQozvF0XL79uKMhhERGNpPPzaRU="; }; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; - buildInputs = [ pango wayland wayland-protocols ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + ]; + buildInputs = [ + pango + wayland + wayland-protocols + ]; prePatch = '' cp ${configFile} src/config.hpp diff --git a/pkgs/by-name/so/sonarlint-ls/package.nix b/pkgs/by-name/so/sonarlint-ls/package.nix index 7c043da4e359b..5ffc83975d536 100644 --- a/pkgs/by-name/so/sonarlint-ls/package.nix +++ b/pkgs/by-name/so/sonarlint-ls/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, jre_headless -, maven -, jdk17 -, makeWrapper -, writeShellApplication -, runCommand -, sonarlint-ls -, curl -, pcre -, common-updater-scripts -, jq -, gnused +{ + lib, + fetchFromGitHub, + jre_headless, + maven, + jdk17, + makeWrapper, + writeShellApplication, + runCommand, + sonarlint-ls, + curl, + pcre, + common-updater-scripts, + jq, + gnused, }: maven.buildMavenPackage rec { @@ -35,7 +36,6 @@ maven.buildMavenPackage rec { buildOffline = true; - # disable node and npm module installation because the need network access # for the tests. mvnDepsParameters = "-Dskip.installnodenpm=true -Dskip.npm package"; @@ -87,7 +87,13 @@ maven.buildMavenPackage rec { in lib.getExe (writeShellApplication { name = "update-${pname}"; - runtimeInputs = [ curl pcre common-updater-scripts jq gnused ]; + runtimeInputs = [ + curl + pcre + common-updater-scripts + jq + gnused + ]; text = '' LATEST_TAG=$(curl https://api.github.com/repos/${src.owner}/${src.repo}/tags | \ jq -r '[.[] | select(.name | test("^[0-9]"))] | sort_by(.name | split(".") | @@ -115,4 +121,3 @@ maven.buildMavenPackage rec { maintainers = with lib.maintainers; [ tricktron ]; }; } - diff --git a/pkgs/by-name/so/sonata/package.nix b/pkgs/by-name/so/sonata/package.nix index 36c0f9239973b..2311c8d3ba132 100644 --- a/pkgs/by-name/so/sonata/package.nix +++ b/pkgs/by-name/so/sonata/package.nix @@ -1,9 +1,28 @@ -{ lib, fetchFromGitHub, wrapGAppsHook3, gettext -, python3Packages, adwaita-icon-theme, gtk3, glib, gdk-pixbuf, gsettings-desktop-schemas, gobject-introspection }: +{ + lib, + fetchFromGitHub, + wrapGAppsHook3, + gettext, + python3Packages, + adwaita-icon-theme, + gtk3, + glib, + gdk-pixbuf, + gsettings-desktop-schemas, + gobject-introspection, +}: let - inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2 setuptools; -in buildPythonApplication rec { + inherit (python3Packages) + buildPythonApplication + isPy3k + dbus-python + pygobject3 + mpd2 + setuptools + ; +in +buildPythonApplication rec { pname = "sonata"; version = "1.7.0"; diff --git a/pkgs/by-name/so/songrec/package.nix b/pkgs/by-name/so/songrec/package.nix index a682c2b0df3c1..7709d6058cbb7 100644 --- a/pkgs/by-name/so/songrec/package.nix +++ b/pkgs/by-name/so/songrec/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, gtk3 -, openssl -, alsa-lib -, pkg-config -, ffmpeg -, dbus -, libpulseaudio +{ + lib, + rustPlatform, + fetchFromGitHub, + gtk3, + openssl, + alsa-lib, + pkg-config, + ffmpeg, + dbus, + libpulseaudio, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/so/sonic/package.nix b/pkgs/by-name/so/sonic/package.nix index 6b82b5f4f04fc..488224eb2724f 100644 --- a/pkgs/by-name/so/sonic/package.nix +++ b/pkgs/by-name/so/sonic/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fftw, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + fftw, + installShellFiles, +}: stdenv.mkDerivation { pname = "sonic-unstable"; @@ -11,17 +17,22 @@ stdenv.mkDerivation { sha256 = "0ah54nizb6iwcx277w104wsfnx05vrp4sh56d2pfxhf8xghg54m6"; }; - makeFlags = [ "PREFIX=${placeholder "out"}" "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "PREFIX=${placeholder "out"}" + "CC=${stdenv.cc.targetPrefix}cc" + ]; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ fftw ]; - postInstall = '' - installManPage sonic.1 - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id $out/lib/libsonic.so.0.3.0 $out/lib/libsonic.so.0.3.0 - ''; + postInstall = + '' + installManPage sonic.1 + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id $out/lib/libsonic.so.0.3.0 $out/lib/libsonic.so.0.3.0 + ''; meta = with lib; { description = "Simple library to speed up or slow down speech"; diff --git a/pkgs/by-name/so/sonivox/package.nix b/pkgs/by-name/so/sonivox/package.nix index e69f64c1f29a5..fb741d6a22085 100644 --- a/pkgs/by-name/so/sonivox/package.nix +++ b/pkgs/by-name/so/sonivox/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "sonivox"; diff --git a/pkgs/by-name/so/sonixd/package.nix b/pkgs/by-name/so/sonixd/package.nix index e535a574ab9a2..1d991ef384055 100644 --- a/pkgs/by-name/so/sonixd/package.nix +++ b/pkgs/by-name/so/sonixd/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, appimageTools +{ + lib, + fetchurl, + appimageTools, }: let diff --git a/pkgs/by-name/so/sonobus/package.nix b/pkgs/by-name/so/sonobus/package.nix index bbf52c11b9903..e752dddf7b6a5 100644 --- a/pkgs/by-name/so/sonobus/package.nix +++ b/pkgs/by-name/so/sonobus/package.nix @@ -1,22 +1,23 @@ -{ lib -, pkg-config -, stdenv -, fetchFromGitHub -, autoPatchelfHook -, alsa-lib -, cmake -, freetype -, libGL -, libX11 -, libXcursor -, libXext -, libXinerama -, libXrandr -, libjack2 -, libopus -, curl -, gtk3 -, webkitgtk_4_0 +{ + lib, + pkg-config, + stdenv, + fetchFromGitHub, + autoPatchelfHook, + alsa-lib, + cmake, + freetype, + libGL, + libX11, + libXcursor, + libXext, + libXinerama, + libXrandr, + libjack2, + libopus, + curl, + gtk3, + webkitgtk_4_0, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/so/sonota/package.nix b/pkgs/by-name/so/sonota/package.nix index efc7ab22b4687..5bc4e99a1c6e5 100644 --- a/pkgs/by-name/so/sonota/package.nix +++ b/pkgs/by-name/so/sonota/package.nix @@ -1,24 +1,30 @@ -{ fetchFromGitHub, fetchurl, lib, python3Packages -, coreVersion ? "1.13.3" # the version of the binary espurna image to flash -, coreSize ? "1MB" # size of the binary image to flash -, coreSha256 ? "0pkb2nmml0blrfiqpc46xpjc2dw927i89k1lfyqx827wanhc704x" }: +{ + fetchFromGitHub, + fetchurl, + lib, + python3Packages, + coreVersion ? "1.13.3", # the version of the binary espurna image to flash + coreSize ? "1MB", # size of the binary image to flash + coreSha256 ? "0pkb2nmml0blrfiqpc46xpjc2dw927i89k1lfyqx827wanhc704x", +}: with python3Packages; let core = fetchurl { - url = "https://github.com/xoseperez/espurna/releases/download/${coreVersion}/espurna-${coreVersion}-espurna-core-${coreSize}.bin"; + url = "https://github.com/xoseperez/espurna/releases/download/${coreVersion}/espurna-${coreVersion}-espurna-core-${coreSize}.bin"; sha256 = coreSha256; }; -in buildPythonApplication rec { +in +buildPythonApplication rec { pname = "sonota-unstable"; version = "2018-10-07"; src = fetchFromGitHub { - owner = "mirko"; - repo = "SonOTA"; - rev = "d7f4b353858aae7ac403f95475a35560fb7ffeae"; + owner = "mirko"; + repo = "SonOTA"; + rev = "d7f4b353858aae7ac403f95475a35560fb7ffeae"; sha256 = "0jd9xrhcyk8d2plbjnrlpn87536zr6n708797n0k5blf109q3c1z"; }; @@ -32,7 +38,11 @@ in buildPythonApplication rec { format = "other"; - propagatedBuildInputs = [ httplib2 netifaces tornado ]; + propagatedBuildInputs = [ + httplib2 + netifaces + tornado + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/so/sony-headphones-client/package.nix b/pkgs/by-name/so/sony-headphones-client/package.nix index 81d405b9d85ac..0682713cf1c56 100644 --- a/pkgs/by-name/so/sony-headphones-client/package.nix +++ b/pkgs/by-name/so/sony-headphones-client/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, bluez, dbus, glew, glfw, imgui, makeDesktopItem, copyDesktopItems }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + bluez, + dbus, + glew, + glfw, + imgui, + makeDesktopItem, + copyDesktopItems, +}: stdenv.mkDerivation rec { pname = "SonyHeadphonesClient"; @@ -22,8 +36,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config copyDesktopItems ]; - buildInputs = [ bluez dbus glew glfw imgui ]; + nativeBuildInputs = [ + cmake + pkg-config + copyDesktopItems + ]; + buildInputs = [ + bluez + dbus + glew + glfw + imgui + ]; sourceRoot = "${src.name}/Client"; @@ -47,7 +71,10 @@ stdenv.mkDerivation rec { icon = "SonyHeadphonesClient"; desktopName = "Sony Headphones Client"; comment = "A client recreating the functionality of the Sony Headphones app"; - categories = [ "Audio" "Mixer" ]; + categories = [ + "Audio" + "Mixer" + ]; }) ]; diff --git a/pkgs/by-name/so/sooperlooper/package.nix b/pkgs/by-name/so/sooperlooper/package.nix index 5e2ea785b281c..2dd184be7ecf3 100644 --- a/pkgs/by-name/so/sooperlooper/package.nix +++ b/pkgs/by-name/so/sooperlooper/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, which -, libtool -, liblo -, libxml2 -, libjack2 -, libsndfile -, wxGTK32 -, libsigcxx -, libsamplerate -, rubberband -, gettext -, ncurses -, alsa-lib -, fftw +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + which, + libtool, + liblo, + libxml2, + libjack2, + libsndfile, + wxGTK32, + libsigcxx, + libsamplerate, + rubberband, + gettext, + ncurses, + alsa-lib, + fftw, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/so/sophus/package.nix b/pkgs/by-name/so/sophus/package.nix index aa1f6639a4dbe..69e59195e7aca 100644 --- a/pkgs/by-name/so/sophus/package.nix +++ b/pkgs/by-name/so/sophus/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, eigen -, fmt -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + eigen, + fmt, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -35,7 +36,10 @@ stdenv.mkDerivation (finalAttrs: { description = "C++ implementation of Lie Groups using Eigen"; homepage = "https://github.com/strasdat/Sophus"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ locochoco acowley ]; + maintainers = with lib.maintainers; [ + locochoco + acowley + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/so/sops/package.nix b/pkgs/by-name/so/sops/package.nix index 65d84c62740c7..68d5d4cb50eae 100644 --- a/pkgs/by-name/so/sops/package.nix +++ b/pkgs/by-name/so/sops/package.nix @@ -26,7 +26,11 @@ buildGo122Module rec { subPackages = [ "cmd/sops" ]; - ldflags = [ "-s" "-w" "-X github.com/getsops/sops/v3/version.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/getsops/sops/v3/version.Version=${version}" + ]; passthru.updateScript = nix-update-script { }; @@ -42,7 +46,10 @@ buildGo122Module rec { description = "Simple and flexible tool for managing secrets"; changelog = "https://github.com/getsops/sops/blob/v${version}/CHANGELOG.rst"; mainProgram = "sops"; - maintainers = with maintainers; [ Scrumplex mic92 ]; + maintainers = with maintainers; [ + Scrumplex + mic92 + ]; license = licenses.mpl20; }; } diff --git a/pkgs/by-name/so/sopwith/package.nix b/pkgs/by-name/so/sopwith/package.nix index 3adbfa270cbc7..18bf7955101d8 100644 --- a/pkgs/by-name/so/sopwith/package.nix +++ b/pkgs/by-name/so/sopwith/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, glib -, SDL2 -, libGL -, pkg-config -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + glib, + SDL2, + libGL, + pkg-config, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/so/sorcer/package.nix b/pkgs/by-name/so/sorcer/package.nix index bcca16089a27c..baf38880f80e6 100644 --- a/pkgs/by-name/so/sorcer/package.nix +++ b/pkgs/by-name/so/sorcer/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub , boost, cairomm, cmake, libsndfile, lv2, ntk, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cairomm, + cmake, + libsndfile, + lv2, + ntk, + pkg-config, +}: stdenv.mkDerivation rec { pname = "sorcer"; @@ -11,14 +22,23 @@ stdenv.mkDerivation rec { sha256 = "1x7pi77nal10717l02qpnhrx6d7w5nqrljkn9zx5w7gpb8fpb3vp"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ boost cairomm libsndfile lv2 ntk ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + boost + cairomm + libsndfile + lv2 + ntk + ]; postPatch = '' - # Fix build with lv2 1.18: https://github.com/brummer10/guitarix/commit/c0334c72 - find . -type f -exec fgrep -q LV2UI_Descriptor {} \; \ - -exec sed -i {} -e 's/const struct _\?LV2UI_Descriptor/const LV2UI_Descriptor/' \; - ''; + # Fix build with lv2 1.18: https://github.com/brummer10/guitarix/commit/c0334c72 + find . -type f -exec fgrep -q LV2UI_Descriptor {} \; \ + -exec sed -i {} -e 's/const struct _\?LV2UI_Descriptor/const LV2UI_Descriptor/' \; + ''; installPhase = '' make install diff --git a/pkgs/by-name/so/sord/package.nix b/pkgs/by-name/so/sord/package.nix index f762fbc3931ec..aeda79e8a4a58 100644 --- a/pkgs/by-name/so/sord/package.nix +++ b/pkgs/by-name/so/sord/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, doxygen -, fetchFromGitHub -, meson -, ninja -, pcre2 -, pkg-config -, python3 -, serd -, zix +{ + lib, + stdenv, + doxygen, + fetchFromGitHub, + meson, + ninja, + pcre2, + pkg-config, + python3, + serd, + zix, }: stdenv.mkDerivation rec { @@ -22,7 +23,12 @@ stdenv.mkDerivation rec { hash = "sha256-GDs1m8KoEhJDdCf7kacQMZzCNPoZhESJds6KupQvOkU="; }; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; nativeBuildInputs = [ doxygen @@ -32,14 +38,20 @@ stdenv.mkDerivation rec { python3 ]; buildInputs = [ pcre2 ]; - propagatedBuildInputs = [ serd zix ]; + propagatedBuildInputs = [ + serd + zix + ]; doCheck = true; meta = with lib; { homepage = "http://drobilla.net/software/sord"; description = "Lightweight C library for storing RDF data in memory"; - license = with licenses; [ bsd0 isc ]; + license = with licenses; [ + bsd0 + isc + ]; maintainers = [ ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/so/sorted-grep/package.nix b/pkgs/by-name/so/sorted-grep/package.nix index f0225d8a24447..e744793eb6b21 100644 --- a/pkgs/by-name/so/sorted-grep/package.nix +++ b/pkgs/by-name/so/sorted-grep/package.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, lib }: +{ + stdenv, + fetchurl, + lib, +}: stdenv.mkDerivation rec { pname = "sorted-grep"; diff --git a/pkgs/by-name/so/sortmerna/package.nix b/pkgs/by-name/so/sortmerna/package.nix index b6291ea852975..57db2720d0004 100644 --- a/pkgs/by-name/so/sortmerna/package.nix +++ b/pkgs/by-name/so/sortmerna/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, cmake -, rocksdb_8_3 -, rapidjson -, pkg-config -, fetchFromGitHub -, zlib +{ + lib, + stdenv, + cmake, + rocksdb_8_3, + rapidjson, + pkg-config, + fetchFromGitHub, + zlib, }: let @@ -22,8 +23,15 @@ stdenv.mkDerivation rec { sha256 = "0r91viylzr069jm7kpcgb45kagvf8sqcj5zc1af4arl9sgfs1f3j"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ zlib rocksdb rapidjson ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + zlib + rocksdb + rapidjson + ]; cmakeFlags = [ "-DPORTABLE=off" diff --git a/pkgs/by-name/so/sorts-mill-goudy/package.nix b/pkgs/by-name/so/sorts-mill-goudy/package.nix index 5b5538a0141fa..b568ddc87d6f1 100644 --- a/pkgs/by-name/so/sorts-mill-goudy/package.nix +++ b/pkgs/by-name/so/sorts-mill-goudy/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, +}: stdenvNoCC.mkDerivation { pname = "sorts-mill-goudy"; diff --git a/pkgs/by-name/so/souffle/package.nix b/pkgs/by-name/so/souffle/package.nix index f279ce475a4e4..d0f8a16c7342b 100644 --- a/pkgs/by-name/so/souffle/package.nix +++ b/pkgs/by-name/so/souffle/package.nix @@ -1,21 +1,38 @@ -{ lib, stdenv, fetchFromGitHub -, bash-completion, perl, ncurses, zlib, sqlite, libffi -, mcpp, cmake, bison, flex, doxygen, graphviz -, makeWrapper, python3, callPackage +{ + lib, + stdenv, + fetchFromGitHub, + bash-completion, + perl, + ncurses, + zlib, + sqlite, + libffi, + mcpp, + cmake, + bison, + flex, + doxygen, + graphviz, + makeWrapper, + python3, + callPackage, }: - let - toolsPath = lib.makeBinPath [ mcpp python3 ]; + toolsPath = lib.makeBinPath [ + mcpp + python3 + ]; in stdenv.mkDerivation rec { pname = "souffle"; version = "2.4.1"; src = fetchFromGitHub { - owner = "souffle-lang"; - repo = "souffle"; - rev = version; + owner = "souffle-lang"; + repo = "souffle"; + rev = version; sha256 = "sha256-U3/1iNOLFzuXiBsVDAc5AXnK4F982Uifp18jjFNUv2o="; }; @@ -26,12 +43,33 @@ stdenv.mkDerivation rec { hardeningDisable = lib.optionals stdenv.hostPlatform.isDarwin [ "strictoverflow" ]; - nativeBuildInputs = [ bison cmake flex mcpp doxygen graphviz makeWrapper perl ]; - buildInputs = [ bash-completion ncurses zlib sqlite libffi python3 ]; + nativeBuildInputs = [ + bison + cmake + flex + mcpp + doxygen + graphviz + makeWrapper + perl + ]; + buildInputs = [ + bash-completion + ncurses + zlib + sqlite + libffi + python3 + ]; # these propagated inputs are needed for the compiled Souffle mode to work, # since generated compiler code uses them. TODO: maybe write a g++ wrapper # that adds these so we can keep the propagated inputs clean? - propagatedBuildInputs = [ ncurses zlib sqlite libffi ]; + propagatedBuildInputs = [ + ncurses + zlib + sqlite + libffi + ]; cmakeFlags = [ "-DSOUFFLE_GIT=OFF" ]; @@ -55,9 +93,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Translator of declarative Datalog programs into the C++ language"; - homepage = "https://souffle-lang.github.io/"; - platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice copumpkin wchresta markusscherer ]; - license = licenses.upl; + homepage = "https://souffle-lang.github.io/"; + platforms = platforms.unix; + maintainers = with maintainers; [ + thoughtpolice + copumpkin + wchresta + markusscherer + ]; + license = licenses.upl; }; } diff --git a/pkgs/by-name/so/souffle/tests.nix b/pkgs/by-name/so/souffle/tests.nix index 82b4fa489dae4..fa8267e7d4146 100644 --- a/pkgs/by-name/so/souffle/tests.nix +++ b/pkgs/by-name/so/souffle/tests.nix @@ -1,6 +1,12 @@ -{ stdenv, lib, souffle, runCommand }: +{ + stdenv, + lib, + souffle, + runCommand, +}: let - simpleTest = { name, commands }: + simpleTest = + { name, commands }: stdenv.mkDerivation { inherit name; meta.timeout = 60; @@ -11,7 +17,8 @@ let touch $out ''; }; -in { +in +{ interpret = simpleTest { name = "souffle-test-interpret"; commands = "${souffle}/bin/souffle A.dl"; diff --git a/pkgs/by-name/so/sound-juicer/package.nix b/pkgs/by-name/so/sound-juicer/package.nix index a2e2c4bc09ef7..426ee4cfaa083 100644 --- a/pkgs/by-name/so/sound-juicer/package.nix +++ b/pkgs/by-name/so/sound-juicer/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, glib -, gtk3 -, itstool -, libxml2 -, brasero -, libcanberra-gtk3 -, gnome -, adwaita-icon-theme -, gst_all_1 -, libmusicbrainz5 -, libdiscid -, isocodes -, gsettings-desktop-schemas -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + glib, + gtk3, + itstool, + libxml2, + brasero, + libcanberra-gtk3, + gnome, + adwaita-icon-theme, + gst_all_1, + libmusicbrainz5, + libdiscid, + isocodes, + gsettings-desktop-schemas, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/so/sound-of-sorting/package.nix b/pkgs/by-name/so/sound-of-sorting/package.nix index b7b14312e3588..a953651717874 100644 --- a/pkgs/by-name/so/sound-of-sorting/package.nix +++ b/pkgs/by-name/so/sound-of-sorting/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, SDL2 -, wxGTK32 -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + SDL2, + wxGTK32, + darwin, }: stdenv.mkDerivation (finalAttrs: { @@ -22,13 +23,14 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - wxGTK32 - SDL2 - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ]; + buildInputs = + [ + wxGTK32 + SDL2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ]; meta = { description = "Audibilization and Visualization of Sorting Algorithms"; diff --git a/pkgs/by-name/so/sound-theme-freedesktop/package.nix b/pkgs/by-name/so/sound-theme-freedesktop/package.nix index 2b750a7e9e10f..58882f5291bb0 100644 --- a/pkgs/by-name/so/sound-theme-freedesktop/package.nix +++ b/pkgs/by-name/so/sound-theme-freedesktop/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, intltool }: +{ + lib, + stdenv, + fetchurl, + intltool, +}: stdenv.mkDerivation rec { pname = "sound-theme-freedesktop"; @@ -15,7 +20,12 @@ stdenv.mkDerivation rec { description = "Freedesktop reference sound theme"; homepage = "http://freedesktop.org/wiki/Specifications/sound-theme-spec"; # See http://cgit.freedesktop.org/sound-theme-freedesktop/tree/CREDITS: - license = with licenses; [ cc-by-30 cc-by-sa-25 gpl2 gpl2Plus ]; + license = with licenses; [ + cc-by-30 + cc-by-sa-25 + gpl2 + gpl2Plus + ]; platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/so/soundfont-arachno/package.nix b/pkgs/by-name/so/soundfont-arachno/package.nix index 1bfcad7fdc408..b92990e07b25b 100644 --- a/pkgs/by-name/so/soundfont-arachno/package.nix +++ b/pkgs/by-name/so/soundfont-arachno/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "soundfont-arachno"; @@ -6,7 +10,9 @@ stdenvNoCC.mkDerivation rec { src = fetchzip { # Linked on http://www.arachnosoft.com/main/download.php?id=soundfont-sf2: - url = "https://www.dropbox.com/s/2rnpya9ecb9m4jh/arachno-soundfont-${builtins.replaceStrings ["."] [""] version}-sf2.zip"; + url = "https://www.dropbox.com/s/2rnpya9ecb9m4jh/arachno-soundfont-${ + builtins.replaceStrings [ "." ] [ "" ] version + }-sf2.zip"; hash = "sha256-Z5ETe0AKPCi4KlM2xOlNcyQn1xvCuor3S/tcrF+AwNQ="; stripRoot = false; }; diff --git a/pkgs/by-name/so/soundfont-fluid/package.nix b/pkgs/by-name/so/soundfont-fluid/package.nix index 193c9a60b9fcc..606341847a0ef 100644 --- a/pkgs/by-name/so/soundfont-fluid/package.nix +++ b/pkgs/by-name/so/soundfont-fluid/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "Fluid"; diff --git a/pkgs/by-name/so/soundfont-generaluser/package.nix b/pkgs/by-name/so/soundfont-generaluser/package.nix index 446fa606c1bc3..df1a24af95895 100644 --- a/pkgs/by-name/so/soundfont-generaluser/package.nix +++ b/pkgs/by-name/so/soundfont-generaluser/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { pname = "generaluser"; diff --git a/pkgs/by-name/so/soundfont-ydp-grand/package.nix b/pkgs/by-name/so/soundfont-ydp-grand/package.nix index 79453cfbb4bb7..d0f8833873ffb 100644 --- a/pkgs/by-name/so/soundfont-ydp-grand/package.nix +++ b/pkgs/by-name/so/soundfont-ydp-grand/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "ydp-grand"; diff --git a/pkgs/by-name/so/soundmodem/package.nix b/pkgs/by-name/so/soundmodem/package.nix index f69fbfecd608c..041de66795936 100644 --- a/pkgs/by-name/so/soundmodem/package.nix +++ b/pkgs/by-name/so/soundmodem/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, pkg-config, alsa-lib, audiofile, gtk2, libxml2, copyDesktopItems, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + alsa-lib, + audiofile, + gtk2, + libxml2, + copyDesktopItems, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "soundmodem"; @@ -13,7 +24,12 @@ stdenv.mkDerivation rec { pkg-config copyDesktopItems ]; - buildInputs = [ alsa-lib audiofile gtk2 libxml2 ]; + buildInputs = [ + alsa-lib + audiofile + gtk2 + libxml2 + ]; patches = [ ./matFix.patch ]; diff --git a/pkgs/by-name/so/soundtouch/package.nix b/pkgs/by-name/so/soundtouch/package.nix index 606fda594d918..12540494e9756 100644 --- a/pkgs/by-name/so/soundtouch/package.nix +++ b/pkgs/by-name/so/soundtouch/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitea, autoconf, automake, libtool }: +{ + stdenv, + lib, + fetchFromGitea, + autoconf, + automake, + libtool, +}: stdenv.mkDerivation rec { pname = "soundtouch"; @@ -12,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-imeeTj+3gXxoGTuC/13+BAplwcnQ0wRJdSVt7MPlBxc="; }; - nativeBuildInputs = [ autoconf automake libtool ]; + nativeBuildInputs = [ + autoconf + automake + libtool + ]; preConfigure = "./bootstrap"; diff --git a/pkgs/by-name/so/soundtracker/package.nix b/pkgs/by-name/so/soundtracker/package.nix index 36f90e67a6394..4fb702a11eb22 100644 --- a/pkgs/by-name/so/soundtracker/package.nix +++ b/pkgs/by-name/so/soundtracker/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchzip -, pkg-config -, autoreconfHook -, gtk2 -, alsa-lib -, SDL -, jack2 -, audiofile -, goocanvas # graphical envelope editing -, libxml2 -, libsndfile +{ + lib, + stdenv, + fetchzip, + pkg-config, + autoreconfHook, + gtk2, + alsa-lib, + SDL, + jack2, + audiofile, + goocanvas, # graphical envelope editing + libxml2, + libsndfile, }: stdenv.mkDerivation (finalAttrs: { @@ -38,11 +40,13 @@ stdenv.mkDerivation (finalAttrs: { sed -i -e '/seteuid/d' -e '/setegid/d' app/main.c ''; - configureFlags = [ - "--with-graphics-backend=gdk" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--disable-alsa" - ]; + configureFlags = + [ + "--with-graphics-backend=gdk" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-alsa" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/so/soupault/package.nix b/pkgs/by-name/so/soupault/package.nix index 9912146eb1653..74a42cc54af40 100644 --- a/pkgs/by-name/so/soupault/package.nix +++ b/pkgs/by-name/so/soupault/package.nix @@ -1,10 +1,11 @@ -{ lib -, darwin -, fetchzip -, ocamlPackages -, soupault -, stdenv -, testers +{ + lib, + darwin, + fetchzip, + ocamlPackages, + soupault, + stdenv, + testers, }: ocamlPackages.buildDunePackage rec { @@ -21,7 +22,9 @@ ocamlPackages.buildDunePackage rec { hash = "sha256-UABbrNNcNaN9NgtAjCs4HUoNXMaK4QvCuWERuEnMG6I="; }; - nativeBuildInputs = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ darwin.sigtool ]; + nativeBuildInputs = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + darwin.sigtool + ]; buildInputs = with ocamlPackages; [ base64 diff --git a/pkgs/by-name/so/source-code-pro/package.nix b/pkgs/by-name/so/source-code-pro/package.nix index 4d3f5155929be..dd6b4130afa6b 100644 --- a/pkgs/by-name/so/source-code-pro/package.nix +++ b/pkgs/by-name/so/source-code-pro/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "source-code-pro"; diff --git a/pkgs/by-name/so/source-han-code-jp/package.nix b/pkgs/by-name/so/source-han-code-jp/package.nix index 5c00f564320b3..ea1501750176a 100644 --- a/pkgs/by-name/so/source-han-code-jp/package.nix +++ b/pkgs/by-name/so/source-han-code-jp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "source-han-code-jp"; diff --git a/pkgs/by-name/so/source-sans-pro/package.nix b/pkgs/by-name/so/source-sans-pro/package.nix index 2a2d2c70f289c..645d984ae6e89 100644 --- a/pkgs/by-name/so/source-sans-pro/package.nix +++ b/pkgs/by-name/so/source-sans-pro/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: # Source Sans Pro got renamed to Source Sans 3 (see # https://github.com/adobe-fonts/source-sans/issues/192). This is the diff --git a/pkgs/by-name/so/source-sans/package.nix b/pkgs/by-name/so/source-sans/package.nix index a3e2d4309066e..64c28e7a4e051 100644 --- a/pkgs/by-name/so/source-sans/package.nix +++ b/pkgs/by-name/so/source-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "source-sans"; diff --git a/pkgs/by-name/so/source-serif-pro/package.nix b/pkgs/by-name/so/source-serif-pro/package.nix index 698694faf5074..1a12a8d2fcd4d 100644 --- a/pkgs/by-name/so/source-serif-pro/package.nix +++ b/pkgs/by-name/so/source-serif-pro/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: # Source Serif Pro got renamed to Source Serif 4 (see # https://github.com/adobe-fonts/source-serif/issues/77). This is the diff --git a/pkgs/by-name/so/source-serif/package.nix b/pkgs/by-name/so/source-serif/package.nix index dd129b10faab9..fbbe7f40865d2 100644 --- a/pkgs/by-name/so/source-serif/package.nix +++ b/pkgs/by-name/so/source-serif/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "source-serif"; diff --git a/pkgs/by-name/so/sourceHighlight/package.nix b/pkgs/by-name/so/sourceHighlight/package.nix index 715b9d8ce91de..16eaa9e42e6ab 100644 --- a/pkgs/by-name/so/sourceHighlight/package.nix +++ b/pkgs/by-name/so/sourceHighlight/package.nix @@ -1,39 +1,53 @@ -{ lib, stdenv, fetchpatch, fetchurl, boost, updateAutotoolsGnuConfigScriptsHook, llvmPackages }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + boost, + updateAutotoolsGnuConfigScriptsHook, + llvmPackages, +}: stdenv.mkDerivation rec { pname = "source-highlight"; version = "3.1.9"; - outputs = [ "out" "doc" "dev" ]; + outputs = [ + "out" + "doc" + "dev" + ]; src = fetchurl { url = "mirror://gnu/src-highlite/${pname}-${version}.tar.gz"; sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs"; }; - patches = [ - # gcc-11 compat upstream patch - (fetchpatch { - url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=904949c9026cb772dc93fbe0947a252ef47127f4"; - hash = "sha256-h9DyD+pmlQT5dmKjWI9t0gCIYHe7pYkP55LnOqsE0vI="; - excludes = [ "ChangeLog" ]; - }) + patches = + [ + # gcc-11 compat upstream patch + (fetchpatch { + url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=904949c9026cb772dc93fbe0947a252ef47127f4"; + hash = "sha256-h9DyD+pmlQT5dmKjWI9t0gCIYHe7pYkP55LnOqsE0vI="; + excludes = [ "ChangeLog" ]; + }) - # Upstream fix for clang-13 and gcc-12 test support - (fetchpatch { - name = "gcc-12.patch"; - url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=ab9fe5cb9b85c5afab94f2a7f4b6d7d473c14ee9"; - hash = "sha256-wmSLgLnLuFE+IC6AjxzZp/HEnaOCS1VfY2cac0T7Y+w="; - }) - ] ++ lib.optionals stdenv.cc.isClang [ - # Adds compatibility with C++17 by removing the `register` storage class specifier. - (fetchpatch { - name = "remove-register-keyword"; - url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=416b39758dba2c74515584514a959ad1b0ad50d1"; - hash = "sha256-R5A7IGHhU82EqceMCsuNBanhRz4dFVqiaH8637dr7jw="; - includes = [ "lib/*" ]; - }) - ]; + # Upstream fix for clang-13 and gcc-12 test support + (fetchpatch { + name = "gcc-12.patch"; + url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=ab9fe5cb9b85c5afab94f2a7f4b6d7d473c14ee9"; + hash = "sha256-wmSLgLnLuFE+IC6AjxzZp/HEnaOCS1VfY2cac0T7Y+w="; + }) + ] + ++ lib.optionals stdenv.cc.isClang [ + # Adds compatibility with C++17 by removing the `register` storage class specifier. + (fetchpatch { + name = "remove-register-keyword"; + url = "https://git.savannah.gnu.org/cgit/src-highlite.git/patch/?id=416b39758dba2c74515584514a959ad1b0ad50d1"; + hash = "sha256-R5A7IGHhU82EqceMCsuNBanhRz4dFVqiaH8637dr7jw="; + includes = [ "lib/*" ]; + }) + ]; # source-highlight uses it's own binary to generate documentation. # During cross-compilation, that binary was built for the target @@ -46,10 +60,13 @@ stdenv.mkDerivation rec { # necessary to build on FreeBSD native pending inclusion of # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - buildInputs = [ boost ] - ++ lib.optional (stdenv.targetPlatform.useLLVM or false) (llvmPackages.compiler-rt.override { - doFakeLibgcc = true; - }); + buildInputs = + [ boost ] + ++ lib.optional (stdenv.targetPlatform.useLLVM or false) ( + llvmPackages.compiler-rt.override { + doFakeLibgcc = true; + } + ); configureFlags = [ "--with-boost=${boost.out}" @@ -74,7 +91,8 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ SuperSandro2000 ]; }; -} // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { +} +// lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { # Force linking to "libgcc" so tests pass NIX_CFLAGS_COMPILE = "-lgcc"; } diff --git a/pkgs/by-name/so/soxr/package.nix b/pkgs/by-name/so/soxr/package.nix index a76b30492ab18..61121b019e5fb 100644 --- a/pkgs/by-name/so/soxr/package.nix +++ b/pkgs/by-name/so/soxr/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, cmake }: +{ + lib, + stdenv, + fetchurl, + cmake, +}: stdenv.mkDerivation rec { pname = "soxr"; @@ -14,7 +19,11 @@ stdenv.mkDerivation rec { ./arm64-check.patch ]; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/so/soxt/package.nix b/pkgs/by-name/so/soxt/package.nix index 021554c3a1205..f94c07c912a1c 100644 --- a/pkgs/by-name/so/soxt/package.nix +++ b/pkgs/by-name/so/soxt/package.nix @@ -1,4 +1,15 @@ -{ fetchhg, lib, stdenv, cmake, coin3d, motif, libXext, libXmu, libGLU, libGL }: +{ + fetchhg, + lib, + stdenv, + cmake, + coin3d, + motif, + libXext, + libXmu, + libGLU, + libGL, +}: stdenv.mkDerivation { pname = "soxt"; @@ -12,7 +23,14 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ coin3d motif libGLU libGL libXext libXmu ]; + buildInputs = [ + coin3d + motif + libGLU + libGL + libXext + libXmu + ]; meta = with lib; { homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home"; diff --git a/pkgs/by-name/so/sozi/package.nix b/pkgs/by-name/so/sozi/package.nix index 612aa93cde2df..6492cb32e6c1b 100644 --- a/pkgs/by-name/so/sozi/package.nix +++ b/pkgs/by-name/so/sozi/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, lib, fetchurl }: +{ + appimageTools, + lib, + fetchurl, +}: let pname = "sozi"; version = "23.7.25-1690311612"; @@ -11,10 +15,15 @@ let appimageContents = appimageTools.extract { inherit version pname src; }; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; - extraPkgs = pkgs: with pkgs; [ polkit udev ]; + extraPkgs = + pkgs: with pkgs; [ + polkit + udev + ]; extraInstallCommands = '' install -m 444 -D ${appimageContents}/sozi.desktop -t $out/share/applications diff --git a/pkgs/by-name/so/sozu/package.nix b/pkgs/by-name/so/sozu/package.nix index ad09cf43dc8c8..0c79ce5a97ed4 100644 --- a/pkgs/by-name/so/sozu/package.nix +++ b/pkgs/by-name/so/sozu/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, darwin -, protobuf -, nix-update-script -, testers -, sozu +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + darwin, + protobuf, + nix-update-script, + testers, + sozu, }: rustPlatform.buildRustPackage rec { @@ -24,8 +25,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ protobuf ]; - buildInputs = - lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; doCheck = false; @@ -39,12 +39,14 @@ rustPlatform.buildRustPackage rec { }; meta = with lib; { - description = - "Open Source HTTP Reverse Proxy built in Rust for Immutable Infrastructures"; + description = "Open Source HTTP Reverse Proxy built in Rust for Immutable Infrastructures"; homepage = "https://www.sozu.io"; changelog = "https://github.com/sozu-proxy/sozu/releases/tag/${version}"; license = licenses.agpl3Only; - maintainers = with maintainers; [ Br1ght0ne gaelreyrol ]; + maintainers = with maintainers; [ + Br1ght0ne + gaelreyrol + ]; mainProgram = "sozu"; # error[E0432]: unresolved import `std::arch::x86_64` broken = !stdenv.hostPlatform.isx86_64; diff --git a/pkgs/by-name/sp/sp800-90b-entropyassessment/package.nix b/pkgs/by-name/sp/sp800-90b-entropyassessment/package.nix index fd15b68e9d414..65387e2766997 100644 --- a/pkgs/by-name/sp/sp800-90b-entropyassessment/package.nix +++ b/pkgs/by-name/sp/sp800-90b-entropyassessment/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, bzip2 -, libdivsufsort -, jsoncpp -, openssl -, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + bzip2, + libdivsufsort, + jsoncpp, + openssl, + mpfr, }: stdenv.mkDerivation (finalAttrs: { @@ -19,7 +20,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-qGJqL77IOuVx8jKDdOk4YkLPbggfn+TQtpdcYEu4hC8="; }; - buildInputs = [ bzip2 libdivsufsort jsoncpp openssl mpfr ]; + buildInputs = [ + bzip2 + libdivsufsort + jsoncpp + openssl + mpfr + ]; postPatch = '' substituteInPlace Makefile \ @@ -45,6 +52,9 @@ stdenv.mkDerivation (finalAttrs: { description = "Implementation of min-entropy assessment methods included in Special Publication 800-90B"; platforms = lib.platforms.linux; license = lib.licenses.nistSoftware; - maintainers = with lib.maintainers; [ orichter thillux ]; + maintainers = with lib.maintainers; [ + orichter + thillux + ]; }; }) diff --git a/pkgs/by-name/sp/spaceFM/package.nix b/pkgs/by-name/sp/spaceFM/package.nix index f7c7eac9a3a3f..8f74c5efa2f34 100644 --- a/pkgs/by-name/sp/spaceFM/package.nix +++ b/pkgs/by-name/sp/spaceFM/package.nix @@ -1,6 +1,22 @@ -{ pkgs, fetchFromGitHub, lib, stdenv, gtk3, udev, desktop-file-utils -, shared-mime-info, intltool, pkg-config, wrapGAppsHook3, ffmpegthumbnailer -, jmtpfs, ifuseSupport ? false, ifuse ? null, lsof, udisks2 }: +{ + pkgs, + fetchFromGitHub, + lib, + stdenv, + gtk3, + udev, + desktop-file-utils, + shared-mime-info, + intltool, + pkg-config, + wrapGAppsHook3, + ffmpegthumbnailer, + jmtpfs, + ifuseSupport ? false, + ifuse ? null, + lsof, + udisks2, +}: stdenv.mkDerivation rec { pname = "spacefm"; @@ -45,15 +61,25 @@ stdenv.mkDerivation rec { gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") ''; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ - gtk3 udev desktop-file-utils shared-mime-info - wrapGAppsHook3 ffmpegthumbnailer jmtpfs lsof udisks2 + gtk3 + udev + desktop-file-utils + shared-mime-info + wrapGAppsHook3 + ffmpegthumbnailer + jmtpfs + lsof + udisks2 ] ++ (lib.optionals ifuseSupport [ ifuse ]); # Introduced because ifuse doesn't build due to CVEs in libplist # Revert when libplist builds again… - meta = with lib; { + meta = with lib; { description = "Multi-panel tabbed file manager"; longDescription = '' Multi-panel tabbed file and desktop manager for Linux @@ -63,6 +89,9 @@ stdenv.mkDerivation rec { homepage = "http://ignorantguru.github.io/spacefm/"; platforms = platforms.linux; license = licenses.gpl3Plus; - maintainers = with maintainers; [ jagajaga obadz ]; + maintainers = with maintainers; [ + jagajaga + obadz + ]; }; } diff --git a/pkgs/by-name/sp/spacenav-cube-example/package.nix b/pkgs/by-name/sp/spacenav-cube-example/package.nix index c34828627b4e3..a0262defe9ae1 100644 --- a/pkgs/by-name/sp/spacenav-cube-example/package.nix +++ b/pkgs/by-name/sp/spacenav-cube-example/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, libspnav, libX11, mesa_glu }: +{ + stdenv, + lib, + libspnav, + libX11, + mesa_glu, +}: stdenv.mkDerivation { pname = "spacenav-cube-example"; @@ -6,7 +12,11 @@ stdenv.mkDerivation { sourceRoot = "${libspnav.src.name}/examples/cube"; - buildInputs = [ libX11 mesa_glu libspnav ]; + buildInputs = [ + libX11 + mesa_glu + libspnav + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; diff --git a/pkgs/by-name/sp/spacer/package.nix b/pkgs/by-name/sp/spacer/package.nix index 5bf584c07a144..c0b96db011ce4 100644 --- a/pkgs/by-name/sp/spacer/package.nix +++ b/pkgs/by-name/sp/spacer/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sp/spaceship-prompt/package.nix b/pkgs/by-name/sp/spaceship-prompt/package.nix index 2fe86fa4a73a0..e02a91f73a8c9 100644 --- a/pkgs/by-name/sp/spaceship-prompt/package.nix +++ b/pkgs/by-name/sp/spaceship-prompt/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "spaceship-prompt"; @@ -35,6 +39,10 @@ stdenvNoCC.mkDerivation rec { changelog = "https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v${version}"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ nyanloutre moni kyleondy ]; + maintainers = with maintainers; [ + nyanloutre + moni + kyleondy + ]; }; } diff --git a/pkgs/by-name/sp/spacevim/init.nix b/pkgs/by-name/sp/spacevim/init.nix index 7174e45c0b77f..c99e37d8b39b5 100644 --- a/pkgs/by-name/sp/spacevim/init.nix +++ b/pkgs/by-name/sp/spacevim/init.nix @@ -1,10 +1,12 @@ # The Nix expression is a 1:1 mapping of the spacevim toml config which you can find on their website: spacevim.org/quick-start-guide/#configuration { - custom_plugins = [{ - merged = false; - name = "lilydjwg/colorizer"; - }]; + custom_plugins = [ + { + merged = false; + name = "lilydjwg/colorizer"; + } + ]; layers = [ { name = "default"; } { diff --git a/pkgs/by-name/sp/spamassassin/package.nix b/pkgs/by-name/sp/spamassassin/package.nix index 22d482d1bc64a..790980da20753 100644 --- a/pkgs/by-name/sp/spamassassin/package.nix +++ b/pkgs/by-name/sp/spamassassin/package.nix @@ -1,4 +1,19 @@ -{ lib, fetchurl, perlPackages, makeBinaryWrapper, gnupg, re2c, gcc, gnumake, libxcrypt, openssl, coreutils, poppler_utils, tesseract, iana-etc }: +{ + lib, + fetchurl, + perlPackages, + makeBinaryWrapper, + gnupg, + re2c, + gcc, + gnumake, + libxcrypt, + openssl, + coreutils, + poppler_utils, + tesseract, + iana-etc, +}: perlPackages.buildPerlPackage rec { pname = "SpamAssassin"; @@ -20,29 +35,58 @@ perlPackages.buildPerlPackage rec { ]; nativeBuildInputs = [ makeBinaryWrapper ]; - buildInputs = (with perlPackages; [ - HTMLParser NetCIDRLite NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP - LWPProtocolHttps IOSocketSSL DBI EncodeDetect IPCountry NetIdent - Razor2ClientAgent MailSPF NetDNSResolverProgrammable Socket6 - ArchiveZip EmailAddressXS NetLibIDN2 MaxMindDBReader GeoIP MailDMARC - MaxMindDBReaderXS - ]) ++ [ - openssl - ]; + buildInputs = + (with perlPackages; [ + HTMLParser + NetCIDRLite + NetDNS + NetAddrIP + DBFile + HTTPDate + MailDKIM + LWP + LWPProtocolHttps + IOSocketSSL + DBI + EncodeDetect + IPCountry + NetIdent + Razor2ClientAgent + MailSPF + NetDNSResolverProgrammable + Socket6 + ArchiveZip + EmailAddressXS + NetLibIDN2 + MaxMindDBReader + GeoIP + MailDMARC + MaxMindDBReaderXS + ]) + ++ [ + openssl + ]; - makeFlags = [ "PERL_BIN=${perlPackages.perl}/bin/perl" "ENABLE_SSL=yes" ]; + makeFlags = [ + "PERL_BIN=${perlPackages.perl}/bin/perl" + "ENABLE_SSL=yes" + ]; makeMakerFlags = [ "SYSCONFDIR=/etc LOCALSTATEDIR=/var/lib/spamassassin" ]; - checkInputs = (with perlPackages; [ - TextDiff # t/strip2.t - ]) ++ [ - coreutils # date, t/basic_meta.t - poppler_utils # pdftotext, t/extracttext.t - tesseract # tesseract, t/extracttext.t - iana-etc # t/dnsbl_subtests.t (/etc/protocols used by Net::DNS::Nameserver) - re2c gcc gnumake - ]; + checkInputs = + (with perlPackages; [ + TextDiff # t/strip2.t + ]) + ++ [ + coreutils # date, t/basic_meta.t + poppler_utils # pdftotext, t/extracttext.t + tesseract # tesseract, t/extracttext.t + iana-etc # t/dnsbl_subtests.t (/etc/protocols used by Net::DNS::Nameserver) + re2c + gcc + gnumake + ]; preCheck = '' substituteInPlace t/spamc_x_e.t \ --replace "/bin/echo" "${coreutils}/bin/echo" @@ -76,7 +120,14 @@ perlPackages.buildPerlPackage rec { # We don't inherit argv0 so that $^X works properly in e.g. sa-compile makeWrapper "${perlPackages.perl}/bin/perl" "$n" \ --add-flags "-T $perlFlags $orig" \ - --prefix PATH : ${lib.makeBinPath [ gnupg re2c gcc gnumake ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + gnupg + re2c + gcc + gnumake + ] + } \ --prefix C_INCLUDE_PATH : ${lib.makeSearchPathOutput "include" "include" [ libxcrypt ]} done ''; @@ -86,6 +137,9 @@ perlPackages.buildPerlPackage rec { description = "Open-Source Spam Filter"; license = lib.licenses.asl20; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ qknight qyliss ]; + maintainers = with lib.maintainers; [ + qknight + qyliss + ]; }; } diff --git a/pkgs/by-name/sp/span-lite/package.nix b/pkgs/by-name/sp/span-lite/package.nix index d0a3cd15e7bba..50940924f3ab5 100644 --- a/pkgs/by-name/sp/span-lite/package.nix +++ b/pkgs/by-name/sp/span-lite/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sp/sparkleshare/package.nix b/pkgs/by-name/sp/sparkleshare/package.nix index ef7da9d880bfb..66682fd3ed618 100644 --- a/pkgs/by-name/sp/sparkleshare/package.nix +++ b/pkgs/by-name/sp/sparkleshare/package.nix @@ -58,31 +58,37 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/sparkleshare \ - --set PATH ${symlinkJoin { - name = "mono-path"; - paths = [ - bash - coreutils - git - git-lfs - glib - mono - openssh - openssl - xdg-utils - ]; - }}/bin \ - --set MONO_GAC_PREFIX ${lib.concatStringsSep ":" [ - appindicator-sharp - gtk-sharp-3_0 - webkit2-sharp - ]} \ - --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ - appindicator-sharp - gtk-sharp-3_0.gtk3 - webkit2-sharp - webkit2-sharp.webkitgtk - ]} + --set PATH ${ + symlinkJoin { + name = "mono-path"; + paths = [ + bash + coreutils + git + git-lfs + glib + mono + openssh + openssl + xdg-utils + ]; + } + }/bin \ + --set MONO_GAC_PREFIX ${ + lib.concatStringsSep ":" [ + appindicator-sharp + gtk-sharp-3_0 + webkit2-sharp + ] + } \ + --set LD_LIBRARY_PATH ${ + lib.makeLibraryPath [ + appindicator-sharp + gtk-sharp-3_0.gtk3 + webkit2-sharp + webkit2-sharp.webkitgtk + ] + } ''; meta = { diff --git a/pkgs/by-name/sp/sparrow3d/package.nix b/pkgs/by-name/sp/sparrow3d/package.nix index a502b6249a16c..6a430bff6fe62 100644 --- a/pkgs/by-name/sp/sparrow3d/package.nix +++ b/pkgs/by-name/sp/sparrow3d/package.nix @@ -1,21 +1,25 @@ -{ lib -, stdenv -, copyPkgconfigItems -, fetchFromGitHub -, makePkgconfigItem -, pkg-config -, SDL -, SDL_image -, SDL_mixer -, SDL_net -, SDL_ttf +{ + lib, + stdenv, + copyPkgconfigItems, + fetchFromGitHub, + makePkgconfigItem, + pkg-config, + SDL, + SDL_image, + SDL_mixer, + SDL_net, + SDL_ttf, }: stdenv.mkDerivation (finalAttrs: { pname = "sparrow3d"; version = "unstable-2020-10-06"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "theZiz"; diff --git a/pkgs/by-name/sp/sparsehash/package.nix b/pkgs/by-name/sp/sparsehash/package.nix index 813024623a1a7..413884e6017ee 100644 --- a/pkgs/by-name/sp/sparsehash/package.nix +++ b/pkgs/by-name/sp/sparsehash/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "sparsehash"; diff --git a/pkgs/by-name/sp/spasm-ng/package.nix b/pkgs/by-name/sp/spasm-ng/package.nix index fac19ce6cd329..db651ea8bb252 100644 --- a/pkgs/by-name/sp/spasm-ng/package.nix +++ b/pkgs/by-name/sp/spasm-ng/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, gmp, gcc, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + gmp, + gcc, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "spasm-ng"; @@ -13,8 +22,15 @@ stdenv.mkDerivation rec { }; # GCC is needed for Darwin - nativeBuildInputs = [ makeWrapper gcc ]; - buildInputs = [ gmp openssl zlib ]; + nativeBuildInputs = [ + makeWrapper + gcc + ]; + buildInputs = [ + gmp + openssl + zlib + ]; enableParallelBuilding = true; @@ -32,11 +48,11 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://github.com/alberthdev/spasm-ng"; + homepage = "https://github.com/alberthdev/spasm-ng"; description = "Z80 assembler with extra features to support development for TI calculators"; mainProgram = "spasm"; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; maintainers = with maintainers; [ siraben ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/sp/spatial-shell/package.nix b/pkgs/by-name/sp/spatial-shell/package.nix index 4b741f8aaec2b..1147698930ecd 100644 --- a/pkgs/by-name/sp/spatial-shell/package.nix +++ b/pkgs/by-name/sp/spatial-shell/package.nix @@ -1,7 +1,8 @@ -{ lib -, ocamlPackages -, fetchFromGitHub -, scdoc +{ + lib, + ocamlPackages, + fetchFromGitHub, + scdoc, }: ocamlPackages.buildDunePackage rec { diff --git a/pkgs/by-name/sp/spatialite_tools/package.nix b/pkgs/by-name/sp/spatialite_tools/package.nix index 0b3f7f498f777..ab23d29b84162 100644 --- a/pkgs/by-name/sp/spatialite_tools/package.nix +++ b/pkgs/by-name/sp/spatialite_tools/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, freexl -, geos -, expat -, librttopo -, libspatialite -, libxml2 -, libz -, minizip -, proj -, readosm -, sqlite -, testers -, spatialite_tools +{ + lib, + stdenv, + fetchurl, + pkg-config, + freexl, + geos, + expat, + librttopo, + libspatialite, + libxml2, + libz, + minizip, + proj, + readosm, + sqlite, + testers, + spatialite_tools, }: stdenv.mkDerivation rec { @@ -53,7 +54,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Complete sqlite3-compatible CLI front-end for libspatialite"; homepage = "https://www.gaia-gis.it/fossil/spatialite-tools"; - license = with licenses; [ mpl11 gpl2Plus lgpl21Plus ]; + license = with licenses; [ + mpl11 + gpl2Plus + lgpl21Plus + ]; platforms = platforms.unix; maintainers = with maintainers; [ dotlambda ]; mainProgram = "spatialite_tool"; diff --git a/pkgs/by-name/sp/spawn_fcgi/package.nix b/pkgs/by-name/sp/spawn_fcgi/package.nix index e8232f90b96a1..1daf28bb0a17e 100644 --- a/pkgs/by-name/sp/spawn_fcgi/package.nix +++ b/pkgs/by-name/sp/spawn_fcgi/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchsvn, autoconf, automake }: +{ + lib, + stdenv, + fetchsvn, + autoconf, + automake, +}: stdenv.mkDerivation rec { pname = "spawn-fcgi"; @@ -9,17 +15,20 @@ stdenv.mkDerivation rec { sha256 = "07r6nwbg4881mdgp0hqh80c4x9wb7jg6cgc84ghwhfbd2abc2iq5"; }; - nativeBuildInputs = [ automake autoconf ]; + nativeBuildInputs = [ + automake + autoconf + ]; preConfigure = '' ./autogen.sh ''; meta = with lib; { - homepage = "https://redmine.lighttpd.net/projects/spawn-fcgi"; + homepage = "https://redmine.lighttpd.net/projects/spawn-fcgi"; description = "Provides an interface to external programs that support the FastCGI interface"; mainProgram = "spawn-fcgi"; - license = licenses.bsd3; + license = licenses.bsd3; maintainers = [ ]; platforms = with platforms; unix; }; diff --git a/pkgs/by-name/sp/spdk/package.nix b/pkgs/by-name/sp/spdk/package.nix index b611792755062..738779b2325b4 100644 --- a/pkgs/by-name/sp/spdk/package.nix +++ b/pkgs/by-name/sp/spdk/package.nix @@ -1,23 +1,25 @@ -{ lib, stdenv -, fetchFromGitHub -, ncurses -, python3 -, cunit -, dpdk -, fuse3 -, libaio -, libbsd -, libuuid -, numactl -, openssl -, pkg-config -, zlib -, zstd -, libpcap -, libnl -, elfutils -, jansson -, ensureNewerSourcesForZipFilesHook +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + python3, + cunit, + dpdk, + fuse3, + libaio, + libbsd, + libuuid, + numactl, + openssl, + pkg-config, + zlib, + zstd, + libpcap, + libnl, + elfutils, + jansson, + ensureNewerSourcesForZipFilesHook, }: stdenv.mkDerivation rec { @@ -91,7 +93,7 @@ stdenv.mkDerivation rec { description = "Set of libraries for fast user-mode storage"; homepage = "https://spdk.io/"; license = licenses.bsd3; - platforms = [ "x86_64-linux" ]; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ orivej ]; }; } diff --git a/pkgs/by-name/sp/spdx-license-list-data/package.nix b/pkgs/by-name/sp/spdx-license-list-data/package.nix index 84ec81af95176..84f9dcbf66127 100644 --- a/pkgs/by-name/sp/spdx-license-list-data/package.nix +++ b/pkgs/by-name/sp/spdx-license-list-data/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "spdx-license-list-data"; @@ -12,7 +16,17 @@ stdenvNoCC.mkDerivation rec { }; # List of file formats to package. - _types = [ "html" "json" "jsonld" "rdfa" "rdfnt" "rdfturtle" "rdfxml" "template" "text" ]; + _types = [ + "html" + "json" + "jsonld" + "rdfa" + "rdfnt" + "rdfturtle" + "rdfxml" + "template" + "text" + ]; outputs = [ "out" ] ++ _types; @@ -40,7 +54,10 @@ stdenvNoCC.mkDerivation rec { description = "Various data formats for the SPDX License List"; homepage = "https://github.com/spdx/license-list-data"; license = licenses.cc0; - maintainers = with maintainers; [ oxzi c0bw3b ]; + maintainers = with maintainers; [ + oxzi + c0bw3b + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/sp/speakersafetyd/package.nix b/pkgs/by-name/sp/speakersafetyd/package.nix index 9cac13c15bc57..d68654742dd97 100644 --- a/pkgs/by-name/sp/speakersafetyd/package.nix +++ b/pkgs/by-name/sp/speakersafetyd/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, rustPlatform -, fetchCrate -, pkg-config -, alsa-lib -, rust +{ + stdenv, + lib, + rustPlatform, + fetchCrate, + pkg-config, + alsa-lib, + rust, }: rustPlatform.buildRustPackage rec { @@ -41,7 +42,10 @@ rustPlatform.buildRustPackage rec { description = "Userspace daemon written in Rust that implements an analogue of the Texas Instruments Smart Amp speaker protection model"; mainProgram = "speakersafetyd"; homepage = "https://github.com/AsahiLinux/speakersafetyd"; - maintainers = with maintainers; [ flokli yuka ]; + maintainers = with maintainers; [ + flokli + yuka + ]; license = licenses.mit; platforms = platforms.linux; }; diff --git a/pkgs/by-name/sp/specr-transpile/package.nix b/pkgs/by-name/sp/specr-transpile/package.nix index bb15e8c3fa3f5..56e6b46a15e2a 100644 --- a/pkgs/by-name/sp/specr-transpile/package.nix +++ b/pkgs/by-name/sp/specr-transpile/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { description = "Converts Specr lang code to Rust"; mainProgram = "specr-transpile"; homepage = "https://github.com/RalfJung/minirust-tooling"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/sp/spectmorph/package.nix b/pkgs/by-name/sp/spectmorph/package.nix index 8ae8001b6e5c0..2ba089063922f 100644 --- a/pkgs/by-name/sp/spectmorph/package.nix +++ b/pkgs/by-name/sp/spectmorph/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, libjack2, lv2, glib, qt5, libao, cairo, libsndfile, fftwFloat }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libjack2, + lv2, + glib, + qt5, + libao, + cairo, + libsndfile, + fftwFloat, +}: stdenv.mkDerivation rec { pname = "spectmorph"; @@ -8,7 +21,16 @@ stdenv.mkDerivation rec { hash = "sha256-H/PaczAkjxeu2Q6S/jazZ0PU9oCmhBzsLgbGLusxXm8="; }; - buildInputs = [ libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ]; + buildInputs = [ + libjack2 + lv2 + glib + qt5.qtbase + libao + cairo + libsndfile + fftwFloat + ]; nativeBuildInputs = [ pkg-config ]; @@ -18,7 +40,10 @@ stdenv.mkDerivation rec { description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds"; homepage = "https://spectmorph.org"; license = licenses.gpl3; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ maintainers.magnetophon ]; }; } diff --git a/pkgs/by-name/sp/spectra/package.nix b/pkgs/by-name/sp/spectra/package.nix index 4e4901d6c73da..0cc351f13e2d2 100644 --- a/pkgs/by-name/sp/spectra/package.nix +++ b/pkgs/by-name/sp/spectra/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, eigen +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + eigen, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sp/spectral-language-server/package.nix b/pkgs/by-name/sp/spectral-language-server/package.nix index 3a6ac22184ef2..9efbb3196eb40 100644 --- a/pkgs/by-name/sp/spectral-language-server/package.nix +++ b/pkgs/by-name/sp/spectral-language-server/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildNpmPackage -, stdenv -, fetchYarnDeps -, yarnConfigHook -, fetchFromGitHub -, typescript -, jq -, fetchpatch +{ + lib, + buildNpmPackage, + stdenv, + fetchYarnDeps, + yarnConfigHook, + fetchFromGitHub, + typescript, + jq, + fetchpatch, }: let # Instead of the build script that spectral-language-server provides (ref: https://github.com/luizcorreia/spectral-language-server/blob/master/script/vscode-spectral-build.sh), we build vscode-spectral manually. @@ -27,7 +28,11 @@ let hash = "sha256-am27A9VyFoXuOlgG9mnvNqV3Q7Bi7GJzDqqVFGDVWIA="; }; - nativeBuildInputs = [ typescript jq yarnConfigHook ]; + nativeBuildInputs = [ + typescript + jq + yarnConfigHook + ]; postPatch = '' cp server/tsconfig.json server/tsconfig.json.bak diff --git a/pkgs/by-name/sp/spectre-cli/package.nix b/pkgs/by-name/sp/spectre-cli/package.nix index ba63b823e7399..bafb0a70f6ca9 100644 --- a/pkgs/by-name/sp/spectre-cli/package.nix +++ b/pkgs/by-name/sp/spectre-cli/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, libsodium -, json_c -, ncurses -, libxml2 -, jq +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + libsodium, + json_c, + ncurses, + libxml2, + jq, }: stdenv.mkDerivation rec { @@ -38,10 +39,10 @@ stdenv.mkDerivation rec { ]; preConfigure = '' - echo "${version}" > VERSION + echo "${version}" > VERSION - # The default buildPhase wants to create a ´build´ dir so we rename the build script to stop conflicts. - mv build build.sh + # The default buildPhase wants to create a ´build´ dir so we rename the build script to stop conflicts. + mv build build.sh ''; # Some tests are expected to fail on ARM64 diff --git a/pkgs/by-name/sp/spectre-meltdown-checker/package.nix b/pkgs/by-name/sp/spectre-meltdown-checker/package.nix index 55372ce4a6aa0..976647ff3e259 100644 --- a/pkgs/by-name/sp/spectre-meltdown-checker/package.nix +++ b/pkgs/by-name/sp/spectre-meltdown-checker/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeBinaryWrapper -, coreutils -, binutils-unwrapped +{ + lib, + stdenv, + fetchFromGitHub, + makeBinaryWrapper, + coreutils, + binutils-unwrapped, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sp/spectrojack/package.nix b/pkgs/by-name/sp/spectrojack/package.nix index 92ac92af7e9a3..c3346f675d40f 100644 --- a/pkgs/by-name/sp/spectrojack/package.nix +++ b/pkgs/by-name/sp/spectrojack/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, libjack2, fftwFloat, gtk2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libjack2, + fftwFloat, + gtk2, +}: stdenv.mkDerivation rec { pname = "spectrojack"; @@ -9,13 +17,17 @@ stdenv.mkDerivation rec { sha256 = "1kiwx0kag7kq7rhg0bvckfm8r7pqmbk76ppa39cq2980jb5v8rfp"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libjack2 fftwFloat gtk2 ]; - configurePhase= '' + buildInputs = [ + libjack2 + fftwFloat + gtk2 + ]; + configurePhase = '' sed -i 's/.*home.*/#&/' ./Makefile substituteInPlace ./Makefile \ --replace "/usr/share" "$out/usr/share" ''; - installPhase= '' + installPhase = '' install -Dm755 spectrojack $out/bin/spectrojack install -Dm644 spectrojack_icon.svg $out/usr/share/spectrojack/icon.svg install -Dm644 -t $out/usr/share/spectrojack/colormaps colormaps/* diff --git a/pkgs/by-name/sp/spectrwm/package.nix b/pkgs/by-name/sp/spectrwm/package.nix index 52b413452e827..09c5b19b7cedc 100644 --- a/pkgs/by-name/sp/spectrwm/package.nix +++ b/pkgs/by-name/sp/spectrwm/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libbsd, pkg-config, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + libbsd, + pkg-config, + xorg, +}: stdenv.mkDerivation (finalAttrs: { pname = "spectrwm"; @@ -7,33 +14,39 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "conformal"; repo = "spectrwm"; - rev = "SPECTRWM_${lib.replaceStrings ["."] ["_"] finalAttrs.version}"; + rev = "SPECTRWM_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; hash = "sha256-Dnn/iIrceiAVuMR8iMGcc7LqNhWC496eT5gNrYOInRU="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = (with xorg; [ - libXrandr - libXcursor - libXft - libXt - xcbutil - xcbutilkeysyms - xcbutilwm - ] ++ [ libbsd ]); - - prePatch = let - subdir = if stdenv.hostPlatform.isDarwin then "osx" else "linux"; - in "cd ${subdir}"; + buildInputs = ( + with xorg; + [ + libXrandr + libXcursor + libXft + libXt + xcbutil + xcbutilkeysyms + xcbutilwm + ] + ++ [ libbsd ] + ); + + prePatch = + let + subdir = if stdenv.hostPlatform.isDarwin then "osx" else "linux"; + in + "cd ${subdir}"; makeFlags = [ "PREFIX=${placeholder "out"}" ]; meta = with lib; { description = "Tiling window manager"; - homepage = "https://github.com/conformal/spectrwm"; + homepage = "https://github.com/conformal/spectrwm"; maintainers = with maintainers; [ rake5k ]; - license = licenses.isc; - platforms = platforms.all; + license = licenses.isc; + platforms = platforms.all; longDescription = '' spectrwm is a small dynamic tiling window manager for X11. It diff --git a/pkgs/by-name/sp/speech-denoiser/package.nix b/pkgs/by-name/sp/speech-denoiser/package.nix index a0c3d2d257061..427b53abfec42 100644 --- a/pkgs/by-name/sp/speech-denoiser/package.nix +++ b/pkgs/by-name/sp/speech-denoiser/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, lv2, meson, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + lv2, + meson, + ninja, +}: let speech-denoiser-src = fetchFromGitHub { @@ -14,18 +23,30 @@ let src = speech-denoiser-src; sourceRoot = "${speech-denoiser-src.name}/rnnoise"; nativeBuildInputs = [ autoreconfHook ]; - configureFlags = [ "--disable-examples" "--disable-doc" "--disable-shared" "--enable-static" ]; + configureFlags = [ + "--disable-examples" + "--disable-doc" + "--disable-shared" + "--enable-static" + ]; installTargets = [ "install-rnnoise-nu" ]; }; in -stdenv.mkDerivation { +stdenv.mkDerivation { pname = "speech-denoiser"; version = "unstable-07-10-2019"; src = speech-denoiser-src; - nativeBuildInputs = [ pkg-config meson ninja ]; - buildInputs = [ lv2 rnnoise-nu ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; + buildInputs = [ + lv2 + rnnoise-nu + ]; mesonFlags = [ "--prefix=${placeholder "out"}/lib/lv2" ]; diff --git a/pkgs/by-name/sp/speechd/package.nix b/pkgs/by-name/sp/speechd/package.nix index b0472e1b004ab..58bee929bfab1 100644 --- a/pkgs/by-name/sp/speechd/package.nix +++ b/pkgs/by-name/sp/speechd/package.nix @@ -1,32 +1,42 @@ -{ stdenv -, lib -, substituteAll -, pkg-config -, fetchurl -, python3Packages -, gettext -, itstool -, libtool -, texinfo -, util-linux -, autoreconfHook -, glib -, dotconf -, libsndfile -, withLibao ? true, libao -, withPulse ? false, libpulseaudio -, withAlsa ? false, alsa-lib -, withOss ? false -, withFlite ? true, flite -, withEspeak ? true, espeak, sonic, pcaudiolib -, mbrola -, withPico ? true, svox -, libsOnly ? false +{ + stdenv, + lib, + substituteAll, + pkg-config, + fetchurl, + python3Packages, + gettext, + itstool, + libtool, + texinfo, + util-linux, + autoreconfHook, + glib, + dotconf, + libsndfile, + withLibao ? true, + libao, + withPulse ? false, + libpulseaudio, + withAlsa ? false, + alsa-lib, + withOss ? false, + withFlite ? true, + flite, + withEspeak ? true, + espeak, + sonic, + pcaudiolib, + mbrola, + withPico ? true, + svox, + libsOnly ? false, }: let inherit (python3Packages) python pyxdg wrapPython; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "speech-dispatcher"; version = "0.11.5"; @@ -35,18 +45,20 @@ in stdenv.mkDerivation rec { sha256 = "sha256-HOR1n/q7rxrrQzpewHOb4Gdum9+66URKezvhsq8+wSs="; }; - patches = [ - (substituteAll { - src = ./fix-paths.patch; - utillinux = util-linux; - }) - ] ++ lib.optionals (withEspeak && espeak.mbrolaSupport) [ - # Replace FHS paths. - (substituteAll { - src = ./fix-mbrola-paths.patch; - inherit espeak mbrola; - }) - ]; + patches = + [ + (substituteAll { + src = ./fix-paths.patch; + utillinux = util-linux; + }) + ] + ++ lib.optionals (withEspeak && espeak.mbrolaSupport) [ + # Replace FHS paths. + (substituteAll { + src = ./fix-mbrola-paths.patch; + inherit espeak mbrola; + }) + ]; nativeBuildInputs = [ pkg-config @@ -58,60 +70,76 @@ in stdenv.mkDerivation rec { wrapPython ]; - buildInputs = [ - glib - dotconf - libsndfile - libao - libpulseaudio - alsa-lib - python - ] ++ lib.optionals withEspeak [ - espeak - sonic - pcaudiolib - ] ++ lib.optionals withFlite [ - flite - ] ++ lib.optionals withPico [ - svox - ]; + buildInputs = + [ + glib + dotconf + libsndfile + libao + libpulseaudio + alsa-lib + python + ] + ++ lib.optionals withEspeak [ + espeak + sonic + pcaudiolib + ] + ++ lib.optionals withFlite [ + flite + ] + ++ lib.optionals withPico [ + svox + ]; pythonPath = [ pyxdg ]; - configureFlags = [ - # Audio method falls back from left to right. - "--with-default-audio-method=\"libao,pulse,alsa,oss\"" - "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" - ] ++ lib.optionals withPulse [ - "--with-pulse" - ] ++ lib.optionals withAlsa [ - "--with-alsa" - ] ++ lib.optionals withLibao [ - "--with-libao" - ] ++ lib.optionals withOss [ - "--with-oss" - ] ++ lib.optionals withEspeak [ - "--with-espeak-ng" - ] ++ lib.optionals withPico [ - "--with-pico" - ]; + configureFlags = + [ + # Audio method falls back from left to right. + "--with-default-audio-method=\"libao,pulse,alsa,oss\"" + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + ] + ++ lib.optionals withPulse [ + "--with-pulse" + ] + ++ lib.optionals withAlsa [ + "--with-alsa" + ] + ++ lib.optionals withLibao [ + "--with-libao" + ] + ++ lib.optionals withOss [ + "--with-oss" + ] + ++ lib.optionals withEspeak [ + "--with-espeak-ng" + ] + ++ lib.optionals withPico [ + "--with-pico" + ]; postPatch = '' substituteInPlace src/modules/pico.c --replace "/usr/share/pico/lang" "${svox}/share/pico/lang" ''; - postInstall = if libsOnly then '' - rm -rf $out/{bin,etc,lib/speech-dispatcher,lib/systemd,libexec,share} - '' else '' - wrapPythonPrograms - ''; + postInstall = + if libsOnly then + '' + rm -rf $out/{bin,etc,lib/speech-dispatcher,lib/systemd,libexec,share} + '' + else + '' + wrapPythonPrograms + ''; enableParallelBuilding = true; meta = with lib; { - description = "Common interface to speech synthesis" + lib.optionalString libsOnly " - client libraries only"; + description = + "Common interface to speech synthesis" + lib.optionalString libsOnly " - client libraries only"; homepage = "https://devel.freebsoft.org/speechd"; license = licenses.gpl2Plus; maintainers = with maintainers; [ diff --git a/pkgs/by-name/sp/speedread/package.nix b/pkgs/by-name/sp/speedread/package.nix index e62edf48cbadc..ac277bdf09b66 100644 --- a/pkgs/by-name/sp/speedread/package.nix +++ b/pkgs/by-name/sp/speedread/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "speedread"; diff --git a/pkgs/by-name/sp/speedtest-rs/package.nix b/pkgs/by-name/sp/speedtest-rs/package.nix index 322d735e645ad..9087e43d3059b 100644 --- a/pkgs/by-name/sp/speedtest-rs/package.nix +++ b/pkgs/by-name/sp/speedtest-rs/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, openssl -, pkg-config -, stdenv -, darwin -, nix-update-script -, testers -, speedtest-rs +{ + lib, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, + stdenv, + darwin, + nix-update-script, + testers, + speedtest-rs, }: rustPlatform.buildRustPackage rec { @@ -21,8 +22,9 @@ rustPlatform.buildRustPackage rec { hash = "sha256-1FAFYiWDD/KG/7/UTv/EW6Nj2GnU0GZFFq6ouMc0URA="; }; - buildInputs = [ openssl ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.SystemConfiguration ]; @@ -46,7 +48,10 @@ rustPlatform.buildRustPackage rec { description = "Command line internet speedtest tool written in rust"; homepage = "https://github.com/nelsonjchen/speedtest-rs"; changelog = "https://github.com/nelsonjchen/speedtest-rs/blob/v${version}/CHANGELOG.md"; - license = with lib.licenses; [ mit asl20 ]; + license = with lib.licenses; [ + mit + asl20 + ]; maintainers = with lib.maintainers; [ GaetanLepage ]; mainProgram = "speedtest-rs"; }; diff --git a/pkgs/by-name/sp/spfft/package.nix b/pkgs/by-name/sp/spfft/package.nix index 9423978ed24ef..1045173353b3a 100644 --- a/pkgs/by-name/sp/spfft/package.nix +++ b/pkgs/by-name/sp/spfft/package.nix @@ -1,24 +1,30 @@ -{ stdenv -, lib -, fetchFromGitHub -, fftw -, cmake -, mpi -, gfortran -, llvmPackages -, cudaPackages -, rocmPackages -, config -, gpuBackend ? ( - if config.cudaSupport - then "cuda" - else if config.rocmSupport - then "rocm" - else "none" -) +{ + stdenv, + lib, + fetchFromGitHub, + fftw, + cmake, + mpi, + gfortran, + llvmPackages, + cudaPackages, + rocmPackages, + config, + gpuBackend ? ( + if config.cudaSupport then + "cuda" + else if config.rocmSupport then + "rocm" + else + "none" + ), }: -assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; +assert builtins.elem gpuBackend [ + "none" + "cuda" + "rocm" +]; stdenv.mkDerivation rec { pname = "SpFFT"; @@ -34,36 +40,39 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake gfortran - ] ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc; + ] ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc; - buildInputs = [ - fftw - mpi - ] ++ lib.optionals (gpuBackend == "cuda") [ - cudaPackages.libcufft - cudaPackages.cuda_cudart - ] ++ lib.optionals (gpuBackend == "rocm") [ - rocmPackages.clr - rocmPackages.rocfft - rocmPackages.hipfft - ] ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp - ; - - cmakeFlags = [ - "-DSPFFT_OMP=ON" - "-DSPFFT_MPI=ON" - "-DSPFFT_SINGLE_PRECISION=OFF" - "-DSPFFT_FORTRAN=ON" - # Required due to broken CMake files - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] - ++ lib.optional (gpuBackend == "cuda") "-DSPFFT_GPU_BACKEND=CUDA" - ++ lib.optionals (gpuBackend == "rocm") [ - "-DSPFFT_GPU_BACKEND=ROCM" - "-DHIP_ROOT_DIR=${rocmPackages.clr}" - ]; + buildInputs = + [ + fftw + mpi + ] + ++ lib.optionals (gpuBackend == "cuda") [ + cudaPackages.libcufft + cudaPackages.cuda_cudart + ] + ++ lib.optionals (gpuBackend == "rocm") [ + rocmPackages.clr + rocmPackages.rocfft + rocmPackages.hipfft + ] + ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp; + cmakeFlags = + [ + "-DSPFFT_OMP=ON" + "-DSPFFT_MPI=ON" + "-DSPFFT_SINGLE_PRECISION=OFF" + "-DSPFFT_FORTRAN=ON" + # Required due to broken CMake files + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optional (gpuBackend == "cuda") "-DSPFFT_GPU_BACKEND=CUDA" + ++ lib.optionals (gpuBackend == "rocm") [ + "-DSPFFT_GPU_BACKEND=ROCM" + "-DHIP_ROOT_DIR=${rocmPackages.clr}" + ]; meta = with lib; { description = "Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support"; diff --git a/pkgs/by-name/sp/sphinxsearch/package.nix b/pkgs/by-name/sp/sphinxsearch/package.nix index 58887c5ef5e3d..6b60200ec4a1e 100644 --- a/pkgs/by-name/sp/sphinxsearch/package.nix +++ b/pkgs/by-name/sp/sphinxsearch/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, expat, libmysqlclient, +{ + lib, + stdenv, + fetchurl, + pkg-config, + expat, + libmysqlclient, enableXmlpipe2 ? false, - enableMysql ? true + enableMysql ? true, }: stdenv.mkDerivation rec { @@ -14,30 +20,37 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = [ - "--program-prefix=sphinxsearch-" - "--enable-id64" - ] ++ lib.optionals (!enableMysql) [ - "--without-mysql" - ]; + configureFlags = + [ + "--program-prefix=sphinxsearch-" + "--enable-id64" + ] + ++ lib.optionals (!enableMysql) [ + "--without-mysql" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals enableMysql [ - libmysqlclient - ] ++ lib.optionals enableXmlpipe2 [ - expat - ]; + buildInputs = + lib.optionals enableMysql [ + libmysqlclient + ] + ++ lib.optionals enableXmlpipe2 [ + expat + ]; CXXFLAGS = "-std=c++98"; meta = { description = "Open source full text search server"; - homepage = "http://sphinxsearch.com"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ ederoyd46 valodim ]; + homepage = "http://sphinxsearch.com"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ + ederoyd46 + valodim + ]; }; } diff --git a/pkgs/by-name/sp/spice-autorandr/package.nix b/pkgs/by-name/sp/spice-autorandr/package.nix index 4e3ba971fd02a..a4f50b8a4a059 100644 --- a/pkgs/by-name/sp/spice-autorandr/package.nix +++ b/pkgs/by-name/sp/spice-autorandr/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, libX11 -, libXrandr +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + libX11, + libXrandr, }: -stdenv.mkDerivation { +stdenv.mkDerivation { pname = "spice-autorandr"; version = "0.0.2"; @@ -18,8 +19,14 @@ stdenv.mkDerivation { hash = "sha256-eBvzalWT3xI8+uNns0/ZyRes91ePpj0beKb8UBVqo0E="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libX11 libXrandr ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libX11 + libXrandr + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sp/spice-gtk/package.nix b/pkgs/by-name/sp/spice-gtk/package.nix index 048ba14f5f937..182946d721bf1 100644 --- a/pkgs/by-name/sp/spice-gtk/package.nix +++ b/pkgs/by-name/sp/spice-gtk/package.nix @@ -1,43 +1,44 @@ -{ lib -, stdenv -, fetchurl -, acl -, cyrus_sasl -, docbook_xsl -, libepoxy -, gettext -, gobject-introspection -, gst_all_1 -, gtk-doc -, gtk3 -, hwdata -, json-glib -, libcacard -, libcap_ng -, libdrm -, libjpeg_turbo -, libopus -, libsoup_3 -, libusb1 -, lz4 -, meson -, mesonEmulatorHook -, ninja -, openssl -, perl -, phodav -, pixman -, pkg-config -, polkit -, python3 -, spice-protocol -, usbredir -, vala -, wayland-protocols -, wayland-scanner -, zlib -, wrapGAppsHook3 -, withPolkit ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + fetchurl, + acl, + cyrus_sasl, + docbook_xsl, + libepoxy, + gettext, + gobject-introspection, + gst_all_1, + gtk-doc, + gtk3, + hwdata, + json-glib, + libcacard, + libcap_ng, + libdrm, + libjpeg_turbo, + libopus, + libsoup_3, + libusb1, + lz4, + meson, + mesonEmulatorHook, + ninja, + openssl, + perl, + phodav, + pixman, + pkg-config, + polkit, + python3, + spice-protocol, + usbredir, + vala, + wayland-protocols, + wayland-scanner, + zlib, + wrapGAppsHook3, + withPolkit ? stdenv.hostPlatform.isLinux, }: # If this package is built with polkit support (withPolkit=true), @@ -65,7 +66,12 @@ stdenv.mkDerivation rec { pname = "spice-gtk"; version = "0.42"; - outputs = [ "out" "dev" "devdoc" "man" ]; + outputs = [ + "out" + "dev" + "devdoc" + "man" + ]; src = fetchurl { url = "https://www.spice-space.org/download/gtk/${pname}-${version}.tar.xz"; @@ -76,68 +82,78 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - docbook_xsl - gettext - gobject-introspection - gtk-doc - meson - ninja - perl - pkg-config - python3 - python3.pkgs.pyparsing - python3.pkgs.six - vala - wrapGAppsHook3 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - mesonEmulatorHook - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - wayland-scanner - ]; + nativeBuildInputs = + [ + docbook_xsl + gettext + gobject-introspection + gtk-doc + meson + ninja + perl + pkg-config + python3 + python3.pkgs.pyparsing + python3.pkgs.six + vala + wrapGAppsHook3 + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + mesonEmulatorHook + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + wayland-scanner + ]; - buildInputs = [ - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - cyrus_sasl - libepoxy - gtk3 - json-glib - libcacard - libjpeg_turbo - libopus - libsoup_3 - libusb1 - lz4 - openssl - phodav - pixman - spice-protocol - usbredir - vala - zlib - ] ++ lib.optionals withPolkit [ - polkit - acl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libcap_ng - libdrm - wayland-protocols - ]; + buildInputs = + [ + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + cyrus_sasl + libepoxy + gtk3 + json-glib + libcacard + libjpeg_turbo + libopus + libsoup_3 + libusb1 + lz4 + openssl + phodav + pixman + spice-protocol + usbredir + vala + zlib + ] + ++ lib.optionals withPolkit [ + polkit + acl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap_ng + libdrm + wayland-protocols + ]; PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; - mesonFlags = [ - "-Dusb-acl-helper-dir=${placeholder "out"}/bin" - "-Dusb-ids-path=${hwdata}/share/hwdata/usb.ids" - ] ++ lib.optionals (!withPolkit) [ - "-Dpolkit=disabled" - ] ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ - "-Dlibcap-ng=disabled" - "-Degl=disabled" - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - "-Dcoroutine=gthread" # Fixes "Function missing:makecontext" - ]; + mesonFlags = + [ + "-Dusb-acl-helper-dir=${placeholder "out"}/bin" + "-Dusb-ids-path=${hwdata}/share/hwdata/usb.ids" + ] + ++ lib.optionals (!withPolkit) [ + "-Dpolkit=disabled" + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + "-Dlibcap-ng=disabled" + "-Degl=disabled" + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + "-Dcoroutine=gthread" # Fixes "Function missing:makecontext" + ]; postPatch = '' # get rid of absolute path to helper in store so we can use a setuid wrapper diff --git a/pkgs/by-name/sp/spice-protocol/package.nix b/pkgs/by-name/sp/spice-protocol/package.nix index d7800859d057a..a249a4ce38d8b 100644 --- a/pkgs/by-name/sp/spice-protocol/package.nix +++ b/pkgs/by-name/sp/spice-protocol/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, meson, ninja }: +{ + lib, + stdenv, + fetchurl, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "spice-protocol"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-BP+6YQ2f1EHPxH36oTXXAJbmCxBG0hGdjbL46g0X2RI="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; postInstall = '' mkdir -p $out/lib diff --git a/pkgs/by-name/sp/spice-up/package.nix b/pkgs/by-name/sp/spice-up/package.nix index ca99f88fa57b6..48b1bce684c3d 100644 --- a/pkgs/by-name/sp/spice-up/package.nix +++ b/pkgs/by-name/sp/spice-up/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, python3 -, vala -, wrapGAppsHook3 -, glib -, gtk3 -, json-glib -, libevdev -, libgee -, libgudev -, libsoup_2_4 -, pantheon +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + python3, + vala, + wrapGAppsHook3, + glib, + gtk3, + json-glib, + libevdev, + libgee, + libgudev, + libsoup_2_4, + pantheon, }: stdenv.mkDerivation rec { @@ -61,7 +62,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Create simple and beautiful presentations"; homepage = "https://github.com/Philip-Scott/Spice-up"; - maintainers = with maintainers; [ samdroid-apps xiorcale ] ++ teams.pantheon.members; + maintainers = + with maintainers; + [ + samdroid-apps + xiorcale + ] + ++ teams.pantheon.members; platforms = platforms.linux; # The COPYING file has GPLv3; some files have GPLv2+ and some have GPLv3+ license = licenses.gpl3Plus; diff --git a/pkgs/by-name/sp/spice-vdagent/package.nix b/pkgs/by-name/sp/spice-vdagent/package.nix index 3911e1882ccbb..c8fc1a520f559 100644 --- a/pkgs/by-name/sp/spice-vdagent/package.nix +++ b/pkgs/by-name/sp/spice-vdagent/package.nix @@ -1,6 +1,20 @@ -{lib, stdenv, fetchurl, pkg-config, alsa-lib, spice-protocol, glib, - libpciaccess, libxcb, libXrandr, libXinerama, libXfixes, dbus, libdrm, - systemd}: +{ + lib, + stdenv, + fetchurl, + pkg-config, + alsa-lib, + spice-protocol, + glib, + libpciaccess, + libxcb, + libXrandr, + libXinerama, + libXfixes, + dbus, + libdrm, + systemd, +}: stdenv.mkDerivation rec { pname = "spice-vdagent"; version = "0.22.1"; @@ -13,18 +27,28 @@ stdenv.mkDerivation rec { substituteInPlace data/spice-vdagent.desktop --replace /usr $out ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ alsa-lib spice-protocol glib libdrm - libpciaccess libxcb libXrandr libXinerama libXfixes - dbus systemd ] ; + buildInputs = [ + alsa-lib + spice-protocol + glib + libdrm + libpciaccess + libxcb + libXrandr + libXinerama + libXfixes + dbus + systemd + ]; meta = { description = "Enhanced SPICE integration for linux QEMU guest"; longDescription = '' - Spice agent for linux guests offering - * Client mouse mode - * Copy and paste - * Automatic adjustment of the X-session resolution - to the client resolution - * Multiple displays + Spice agent for linux guests offering + * Client mouse mode + * Copy and paste + * Automatic adjustment of the X-session resolution + to the client resolution + * Multiple displays ''; homepage = "https://www.spice-space.org/"; license = lib.licenses.gpl3Plus; diff --git a/pkgs/by-name/sp/spice/package.nix b/pkgs/by-name/sp/spice/package.nix index 4ac1b1cdee11c..d3a4c9df6a08e 100644 --- a/pkgs/by-name/sp/spice/package.nix +++ b/pkgs/by-name/sp/spice/package.nix @@ -1,28 +1,30 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, pixman -, alsa-lib -, openssl -, libXrandr -, libXfixes -, libXext -, libXrender -, libXinerama -, libjpeg -, zlib -, spice-protocol -, python3 -, glib -, cyrus_sasl -, libcacard -, lz4 -, libopus -, gst_all_1 -, orc -, gdk-pixbuf +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + pixman, + alsa-lib, + openssl, + libXrandr, + libXfixes, + libXext, + libXrender, + libXinerama, + libjpeg, + zlib, + spice-protocol, + python3, + glib, + cyrus_sasl, + libcacard, + lz4, + libopus, + gst_all_1, + orc, + gdk-pixbuf, }: stdenv.mkDerivation rec { @@ -48,30 +50,33 @@ stdenv.mkDerivation rec { python3.pkgs.pyparsing ]; - buildInputs = [ - cyrus_sasl - glib - gst_all_1.gst-plugins-base - libXext - libXfixes - libXinerama - libXrandr - libXrender - libcacard - libjpeg - libopus - lz4 - openssl - orc - pixman - python3.pkgs.pyparsing - spice-protocol - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - gdk-pixbuf - ]; + buildInputs = + [ + cyrus_sasl + glib + gst_all_1.gst-plugins-base + libXext + libXfixes + libXinerama + libXrandr + libXrender + libcacard + libjpeg + libopus + lz4 + openssl + orc + pixman + python3.pkgs.pyparsing + spice-protocol + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + gdk-pixbuf + ]; env.NIX_CFLAGS_COMPILE = "-fno-stack-protector"; @@ -102,7 +107,10 @@ stdenv.mkDerivation rec { homepage = "https://www.spice-space.org/"; license = licenses.lgpl21; - maintainers = with maintainers; [ bluescreen303 atemu ]; + maintainers = with maintainers; [ + bluescreen303 + atemu + ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/sp/spicy-parser-generator/package.nix b/pkgs/by-name/sp/spicy-parser-generator/package.nix index 6199fad8e6376..d578353f064b2 100644 --- a/pkgs/by-name/sp/spicy-parser-generator/package.nix +++ b/pkgs/by-name/sp/spicy-parser-generator/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, makeWrapper -, python3 -, bison -, flex -, zlib -, apple-sdk_11 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + python3, + bison, + flex, + zlib, + apple-sdk_11, }: stdenv.mkDerivation rec { @@ -32,12 +33,14 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ - flex - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - ]; + buildInputs = + [ + flex + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + ]; postPatch = '' patchShebangs scripts tests/scripts @@ -49,7 +52,12 @@ stdenv.mkDerivation rec { preFixup = '' for b in $out/bin/* - do wrapProgram "$b" --prefix PATH : "${lib.makeBinPath [ bison flex ]}" + do wrapProgram "$b" --prefix PATH : "${ + lib.makeBinPath [ + bison + flex + ] + }" done ''; diff --git a/pkgs/by-name/sp/spicy/package.nix b/pkgs/by-name/sp/spicy/package.nix index 369747f0d571a..76db750204813 100644 --- a/pkgs/by-name/sp/spicy/package.nix +++ b/pkgs/by-name/sp/spicy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "spicy"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-uy33vfsvyLCep1aN8qO0BMmpPylhzTLhosjjD5ghmHE="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Nintendo 64 segment assembler"; diff --git a/pkgs/by-name/sp/spideroak/package.nix b/pkgs/by-name/sp/spideroak/package.nix index c4ef9831a8ce7..e89cfeffe7897 100644 --- a/pkgs/by-name/sp/spideroak/package.nix +++ b/pkgs/by-name/sp/spideroak/package.nix @@ -1,19 +1,39 @@ -{ lib, stdenv, fetchurl, makeWrapper, patchelf -, fontconfig, freetype, glib, libICE, libSM -, libX11, libXext, libXrender, zlib +{ + lib, + stdenv, + fetchurl, + makeWrapper, + patchelf, + fontconfig, + freetype, + glib, + libICE, + libSM, + libX11, + libXext, + libXrender, + zlib, }: let sha256 = "6d6ca2b383bcc81af1217c696eb77864a2b6db7428f4b5bde5b5913ce705eec5"; ldpath = lib.makeLibraryPath [ - fontconfig freetype glib libICE libSM - libX11 libXext libXrender zlib + fontconfig + freetype + glib + libICE + libSM + libX11 + libXext + libXrender + zlib ]; version = "7.5.0"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "spideroak"; inherit version; @@ -48,7 +68,10 @@ in stdenv.mkDerivation { sed -i 's/^Exec=.*/Exec=spideroak/' $out/share/applications/SpiderOakONE.desktop ''; - nativeBuildInputs = [ patchelf makeWrapper ]; + nativeBuildInputs = [ + patchelf + makeWrapper + ]; meta = { homepage = "https://spideroak.com"; diff --git a/pkgs/by-name/sp/spigot/package.nix b/pkgs/by-name/sp/spigot/package.nix index da8393210ca13..fa873ab257b10 100644 --- a/pkgs/by-name/sp/spigot/package.nix +++ b/pkgs/by-name/sp/spigot/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, callPackage -, cmake -, gmp -, halibut -, ncurses -, perl +{ + lib, + stdenv, + fetchurl, + callPackage, + cmake, + gmp, + halibut, + ncurses, + perl, }: stdenv.mkDerivation (finalAttrs: { @@ -29,7 +30,10 @@ stdenv.mkDerivation (finalAttrs: { ncurses ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/sp/spigot/tests/approximation.nix b/pkgs/by-name/sp/spigot/tests/approximation.nix index fbf4875e1e619..0062d4449c2f2 100644 --- a/pkgs/by-name/sp/spigot/tests/approximation.nix +++ b/pkgs/by-name/sp/spigot/tests/approximation.nix @@ -1,5 +1,6 @@ -{ stdenv -, spigot +{ + stdenv, + spigot, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/sp/spike/package.nix b/pkgs/by-name/sp/spike/package.nix index d0e79c4f9812d..8eb988bc9ce58 100644 --- a/pkgs/by-name/sp/spike/package.nix +++ b/pkgs/by-name/sp/spike/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, dtc, pkgsCross }: +{ + lib, + stdenv, + fetchFromGitHub, + dtc, + pkgsCross, +}: stdenv.mkDerivation rec { pname = "spike"; @@ -41,7 +47,10 @@ stdenv.mkDerivation rec { description = "RISC-V ISA Simulator"; homepage = "https://github.com/riscv/riscv-isa-sim"; license = licenses.bsd3; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; maintainers = with maintainers; [ blitz ]; }; } diff --git a/pkgs/by-name/sp/spin/package.nix b/pkgs/by-name/sp/spin/package.nix index 6c0f359fff5d6..c0952a504d391 100644 --- a/pkgs/by-name/sp/spin/package.nix +++ b/pkgs/by-name/sp/spin/package.nix @@ -1,7 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, bison, gcc, tk, swarm, graphviz }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + bison, + gcc, + tk, + swarm, + graphviz, +}: let - binPath = lib.makeBinPath [ gcc graphviz tk swarm ]; + binPath = lib.makeBinPath [ + gcc + graphviz + tk + swarm + ]; in stdenv.mkDerivation rec { @@ -42,6 +57,9 @@ stdenv.mkDerivation rec { homepage = "https://spinroot.com/"; license = licenses.bsd3; platforms = platforms.unix; - maintainers = with maintainers; [ pSub siraben ]; + maintainers = with maintainers; [ + pSub + siraben + ]; }; } diff --git a/pkgs/by-name/sp/spip/package.nix b/pkgs/by-name/sp/spip/package.nix index 9c9c6e8a20ed6..71fa19fb9949e 100644 --- a/pkgs/by-name/sp/spip/package.nix +++ b/pkgs/by-name/sp/spip/package.nix @@ -1,19 +1,21 @@ { - fetchFromGitHub, - fetchurl, - lib, - makeWrapper, - rPackages, - rWrapper, - stdenv + fetchFromGitHub, + fetchurl, + lib, + makeWrapper, + rPackages, + rWrapper, + stdenv, }: let - my-r-packages = rWrapper.override{packages = with rPackages; [ - foreach - doParallel - randomForest - ];}; + my-r-packages = rWrapper.override { + packages = with rPackages; [ + foreach + doParallel + randomForest + ]; + }; transcriptome-url = "https://kumisystems.dl.sourceforge.net/project/splicing-prediction-pipeline/transcriptome/"; transcriptome19 = fetchurl { @@ -42,7 +44,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; buildInput = [ my-r-packages ]; - installPhase ='' + installPhase = '' runHook preInstall mkdir -p $out/bin @@ -54,12 +56,12 @@ stdenv.mkDerivation { --add-flags "$out/SPiPv2.1_main.r" runHook postInstall -''; + ''; meta = with lib; { description = "A random forest model for splice prediction in genomics"; - license = licenses.mit; - homepage = "https://github.com/raphaelleman/SPiP"; + license = licenses.mit; + homepage = "https://github.com/raphaelleman/SPiP"; maintainers = with maintainers; [ apraga ]; platforms = platforms.unix; mainProgram = "spip"; diff --git a/pkgs/by-name/sp/spire/package.nix b/pkgs/by-name/sp/spire/package.nix index c1905d7411c8d..7f3a2d1c6c903 100644 --- a/pkgs/by-name/sp/spire/package.nix +++ b/pkgs/by-name/sp/spire/package.nix @@ -1,10 +1,18 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "spire"; version = "1.11.0"; - outputs = [ "out" "agent" "server" ]; + outputs = [ + "out" + "agent" + "server" + ]; src = fetchFromGitHub { owner = "spiffe"; @@ -15,7 +23,10 @@ buildGoModule rec { vendorHash = "sha256-hvgJvDv4rnpS3T4EOgQBjMp59O6fAPK3AD1eKvplJi4="; - subPackages = [ "cmd/spire-agent" "cmd/spire-server" ]; + subPackages = [ + "cmd/spire-agent" + "cmd/spire-server" + ]; # Usually either the agent or server is needed for a given use case, but not both postInstall = '' diff --git a/pkgs/by-name/sp/spirv-cross/package.nix b/pkgs/by-name/sp/spirv-cross/package.nix index 7115a09bd8e9c..1661cd71d8498 100644 --- a/pkgs/by-name/sp/spirv-cross/package.nix +++ b/pkgs/by-name/sp/spirv-cross/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, +}: stdenv.mkDerivation (finalAttrs: { pname = "spirv-cross"; @@ -11,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-HKEh/UQzDQEOvJGHQlM6kEYVZrMaUBOcOGjjHWXSPoo="; }; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; postFixup = '' substituteInPlace $out/lib/pkgconfig/*.pc \ diff --git a/pkgs/by-name/sp/spirv-headers/package.nix b/pkgs/by-name/sp/spirv-headers/package.nix index 837967827f31d..f03f327f5a1b2 100644 --- a/pkgs/by-name/sp/spirv-headers/package.nix +++ b/pkgs/by-name/sp/spirv-headers/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "spirv-headers"; diff --git a/pkgs/by-name/sp/spirv-tools/package.nix b/pkgs/by-name/sp/spirv-tools/package.nix index b9d4ba1227489..cd7b3bdc82541 100644 --- a/pkgs/by-name/sp/spirv-tools/package.nix +++ b/pkgs/by-name/sp/spirv-tools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python3, spirv-headers }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + spirv-headers, +}: stdenv.mkDerivation rec { pname = "spirv-tools"; @@ -16,7 +23,10 @@ stdenv.mkDerivation rec { # description patches = lib.optional stdenv.hostPlatform.isStatic ./no-shared-libs.patch; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; cmakeFlags = [ "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" diff --git a/pkgs/by-name/sp/spla/package.nix b/pkgs/by-name/sp/spla/package.nix index 2e07da1cdb020..a0016e08ee542 100644 --- a/pkgs/by-name/sp/spla/package.nix +++ b/pkgs/by-name/sp/spla/package.nix @@ -1,24 +1,30 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, mpi -, blas -, gfortran -, llvmPackages -, cudaPackages -, rocmPackages -, config -, gpuBackend ? ( - if config.cudaSupport - then "cuda" - else if config.rocmSupport - then "rocm" - else "none" -) +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + mpi, + blas, + gfortran, + llvmPackages, + cudaPackages, + rocmPackages, + config, + gpuBackend ? ( + if config.cudaSupport then + "cuda" + else if config.rocmSupport then + "rocm" + else + "none" + ), }: -assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; +assert builtins.elem gpuBackend [ + "none" + "cuda" + "rocm" +]; stdenv.mkDerivation rec { pname = "spla"; @@ -31,7 +37,10 @@ stdenv.mkDerivation rec { hash = "sha256-fNH1IOKV1Re8G7GH9Xfn3itR80eonTbEGKQRRD16/2k="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' substituteInPlace src/gpu_util/gpu_blas_api.hpp \ @@ -43,28 +52,29 @@ stdenv.mkDerivation rec { gfortran ]; - buildInputs = [ - blas - mpi - ] - ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit - ++ lib.optionals (gpuBackend == "rocm") [ - rocmPackages.clr - rocmPackages.rocblas - ] ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp - ; + buildInputs = + [ + blas + mpi + ] + ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit + ++ lib.optionals (gpuBackend == "rocm") [ + rocmPackages.clr + rocmPackages.rocblas + ] + ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp; - cmakeFlags = [ - "-DSPLA_OMP=ON" - "-DSPLA_FORTRAN=ON" - "-DSPLA_INSTALL=ON" - # Required due to broken CMake files - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] - ++ lib.optional (gpuBackend == "cuda") "-DSPLA_GPU_BACKEND=CUDA" - ++ lib.optional (gpuBackend == "rocm") [ "-DSPLA_GPU_BACKEND=ROCM" ] - ; + cmakeFlags = + [ + "-DSPLA_OMP=ON" + "-DSPLA_FORTRAN=ON" + "-DSPLA_INSTALL=ON" + # Required due to broken CMake files + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optional (gpuBackend == "cuda") "-DSPLA_GPU_BACKEND=CUDA" + ++ lib.optional (gpuBackend == "rocm") [ "-DSPLA_GPU_BACKEND=ROCM" ]; preFixup = '' substituteInPlace $out/lib/cmake/SPLA/SPLASharedTargets-release.cmake \ diff --git a/pkgs/by-name/sp/splat/package.nix b/pkgs/by-name/sp/splat/package.nix index 1bf4e738c7138..a151bc05c48e6 100644 --- a/pkgs/by-name/sp/splat/package.nix +++ b/pkgs/by-name/sp/splat/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, groff, ncurses, bzip2, zlib }: +{ + lib, + stdenv, + fetchurl, + groff, + ncurses, + bzip2, + zlib, +}: stdenv.mkDerivation rec { pname = "splat"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = # configure script needs `clear` - [ groff ncurses ]; + [ + groff + ncurses + ]; - buildInputs = [ bzip2 zlib ]; + buildInputs = [ + bzip2 + zlib + ]; postPatch = "patchShebangs build utils/build"; @@ -45,8 +59,7 @@ stdenv.mkDerivation rec { meta = with lib; { broken = stdenv.hostPlatform.isDarwin; - description = - "SPLAT! is an RF Signal Propagation, Loss, And Terrain analysis tool for the electromagnetic spectrum between 20 MHz and 20 GHz"; + description = "SPLAT! is an RF Signal Propagation, Loss, And Terrain analysis tool for the electromagnetic spectrum between 20 MHz and 20 GHz"; license = licenses.gpl2Only; homepage = "https://www.qsl.net/kd2bd/splat.html"; maintainers = with maintainers; [ ehmry ]; diff --git a/pkgs/by-name/sp/spleen/package.nix b/pkgs/by-name/sp/spleen/package.nix index 48b920a576bd3..c2b7afe24f1a4 100644 --- a/pkgs/by-name/sp/spleen/package.nix +++ b/pkgs/by-name/sp/spleen/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, xorg }: +{ + lib, + stdenvNoCC, + fetchurl, + xorg, +}: stdenvNoCC.mkDerivation rec { pname = "spleen"; diff --git a/pkgs/by-name/sp/splix/package.nix b/pkgs/by-name/sp/splix/package.nix index 142f32dd2593c..47f8f2d24c7e8 100644 --- a/pkgs/by-name/sp/splix/package.nix +++ b/pkgs/by-name/sp/splix/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchsvn, fetchurl, cups, cups-filters, jbigkit, zlib }: +{ + lib, + stdenv, + fetchsvn, + fetchurl, + cups, + cups-filters, + jbigkit, + zlib, +}: let @@ -17,7 +26,8 @@ let ''; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "splix-svn"; version = "315"; @@ -42,7 +52,11 @@ in stdenv.mkDerivation rec { "CUPSPROFILE=${color-profiles}/share/cups/profiles" ]; - buildInputs = [ cups zlib jbigkit ]; + buildInputs = [ + cups + zlib + jbigkit + ]; meta = with lib; { description = "CUPS drivers for SPL (Samsung Printer Language) printers"; diff --git a/pkgs/by-name/sp/sploitscan/package.nix b/pkgs/by-name/sp/sploitscan/package.nix index 63c2859408b0b..3b31c88902ebb 100644 --- a/pkgs/by-name/sp/sploitscan/package.nix +++ b/pkgs/by-name/sp/sploitscan/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sp/spoof/package.nix b/pkgs/by-name/sp/spoof/package.nix index e7586483d2d49..a9af358d968b4 100644 --- a/pkgs/by-name/sp/spoof/package.nix +++ b/pkgs/by-name/sp/spoof/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/sp/spooftooph/package.nix b/pkgs/by-name/sp/spooftooph/package.nix index 3a78341128c21..91af880da0bed 100644 --- a/pkgs/by-name/sp/spooftooph/package.nix +++ b/pkgs/by-name/sp/spooftooph/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, bluez -, ncurses +{ + lib, + stdenv, + fetchurl, + bluez, + ncurses, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sp/spooles/package.nix b/pkgs/by-name/sp/spooles/package.nix index 47738008b02d9..c2d895e5e9fcd 100644 --- a/pkgs/by-name/sp/spooles/package.nix +++ b/pkgs/by-name/sp/spooles/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "spooles"; diff --git a/pkgs/by-name/sp/spotify-tray/package.nix b/pkgs/by-name/sp/spotify-tray/package.nix index 7eb84702be0cd..ee10a96697f82 100644 --- a/pkgs/by-name/sp/spotify-tray/package.nix +++ b/pkgs/by-name/sp/spotify-tray/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + gtk3, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "spotify-tray"; @@ -19,7 +28,11 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + ]; buildInputs = [ gtk3 ]; diff --git a/pkgs/by-name/sp/spotify/darwin.nix b/pkgs/by-name/sp/spotify/darwin.nix index bc643d4f1b6ee..264c8386e588f 100644 --- a/pkgs/by-name/sp/spotify/darwin.nix +++ b/pkgs/by-name/sp/spotify/darwin.nix @@ -1,9 +1,10 @@ -{ stdenv -, pname -, meta -, fetchurl -, undmg -, lib +{ + stdenv, + pname, + meta, + fetchurl, + undmg, + lib, }: stdenv.mkDerivation { @@ -11,16 +12,17 @@ stdenv.mkDerivation { version = "1.2.40.599.g606b7f29"; - src = if stdenv.hostPlatform.isAarch64 then ( - fetchurl { - url = "https://web.archive.org/web/20240622065234/https://download.scdn.co/SpotifyARM64.dmg"; - hash = "sha256-mmjxKYmsX0rFlIU19JOfPbNgOhlcZs5slLUhDhlON1c="; - }) - else ( - fetchurl { - url = "https://web.archive.org/web/20240622065548/https://download.scdn.co/Spotify.dmg"; - hash = "sha256-hvS0xnmJQoQfNJRFsLBQk8AJjDOzDy+OGwNOq5Ms/O0="; - }); + src = + if stdenv.hostPlatform.isAarch64 then + (fetchurl { + url = "https://web.archive.org/web/20240622065234/https://download.scdn.co/SpotifyARM64.dmg"; + hash = "sha256-mmjxKYmsX0rFlIU19JOfPbNgOhlcZs5slLUhDhlON1c="; + }) + else + (fetchurl { + url = "https://web.archive.org/web/20240622065548/https://download.scdn.co/Spotify.dmg"; + hash = "sha256-hvS0xnmJQoQfNJRFsLBQk8AJjDOzDy+OGwNOq5Ms/O0="; + }); nativeBuildInputs = [ undmg ]; diff --git a/pkgs/by-name/sp/spotify/linux.nix b/pkgs/by-name/sp/spotify/linux.nix index a2b7c1eb50e35..0e8a238591557 100644 --- a/pkgs/by-name/sp/spotify/linux.nix +++ b/pkgs/by-name/sp/spotify/linux.nix @@ -1,11 +1,49 @@ -{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeShellWrapper, wrapGAppsHook3, openssl, freetype -, glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss_latest, libpng, libnotify -, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_4, curlWithGnuTls, zlib, zenity -, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon -, pname, meta, harfbuzz, libayatana-appindicator, libdbusmenu, libGL +{ + fetchurl, + lib, + stdenv, + squashfsTools, + xorg, + alsa-lib, + makeShellWrapper, + wrapGAppsHook3, + openssl, + freetype, + glib, + pango, + cairo, + atk, + gdk-pixbuf, + gtk3, + cups, + nspr, + nss_latest, + libpng, + libnotify, + libgcrypt, + systemd, + fontconfig, + dbus, + expat, + ffmpeg_4, + curlWithGnuTls, + zlib, + zenity, + at-spi2-atk, + at-spi2-core, + libpulseaudio, + libdrm, + mesa, + libxkbcommon, + pname, + meta, + harfbuzz, + libayatana-appindicator, + libdbusmenu, + libGL, # High-DPI support: Spotify's --force-device-scale-factor argument # not added if `null`, otherwise, should be a number. -, deviceScaleFactor ? null + deviceScaleFactor ? null, }: let @@ -91,7 +129,11 @@ stdenv.mkDerivation { hash = "sha512-Ej9SEhZhssQiH1srcgUW5lQuUNg+htudV7mcnK6o0pW5PiBYZ6qOPEIZ/1tZzD9xkUJ8hCq08fJMB8NQ12KXMg=="; }; - nativeBuildInputs = [ wrapGAppsHook3 makeShellWrapper squashfsTools ]; + nativeBuildInputs = [ + wrapGAppsHook3 + makeShellWrapper + squashfsTools + ]; dontStrip = true; dontPatchELF = true; @@ -126,65 +168,71 @@ stdenv.mkDerivation { librarypath = "${lib.makeLibraryPath deps}:${libdir}"; }; - installPhase = - '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $libdir - mv ./usr/* $out/ + mkdir -p $libdir + mv ./usr/* $out/ - # Work around Spotify referring to a specific minor version of - # OpenSSL. + # Work around Spotify referring to a specific minor version of + # OpenSSL. - ln -s ${lib.getLib openssl}/lib/libssl.so $libdir/libssl.so.1.0.0 - ln -s ${lib.getLib openssl}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0 - ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so - ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so + ln -s ${lib.getLib openssl}/lib/libssl.so $libdir/libssl.so.1.0.0 + ln -s ${lib.getLib openssl}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0 + ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so + ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so - ln -s ${ffmpeg_4.lib}/lib/libavcodec.so* $libdir - ln -s ${ffmpeg_4.lib}/lib/libavformat.so* $libdir + ln -s ${ffmpeg_4.lib}/lib/libavcodec.so* $libdir + ln -s ${ffmpeg_4.lib}/lib/libavformat.so* $libdir - rpath="$out/share/spotify:$libdir" + rpath="$out/share/spotify:$libdir" - chmod +w "$out/share/spotify/spotify" - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $rpath $out/share/spotify/spotify + chmod +w "$out/share/spotify/spotify" + patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath $rpath $out/share/spotify/spotify - # fix Icon line in the desktop file (#48062) - sed -i "s:^Icon=.*:Icon=spotify-client:" "$out/share/spotify/spotify.desktop" + # fix Icon line in the desktop file (#48062) + sed -i "s:^Icon=.*:Icon=spotify-client:" "$out/share/spotify/spotify.desktop" - # Desktop file - mkdir -p "$out/share/applications/" - cp "$out/share/spotify/spotify.desktop" "$out/share/applications/" + # Desktop file + mkdir -p "$out/share/applications/" + cp "$out/share/spotify/spotify.desktop" "$out/share/applications/" - # Icons - for i in 16 22 24 32 48 64 128 256 512; do - ixi="$i"x"$i" - mkdir -p "$out/share/icons/hicolor/$ixi/apps" - ln -s "$out/share/spotify/icons/spotify-linux-$i.png" \ - "$out/share/icons/hicolor/$ixi/apps/spotify-client.png" - done + # Icons + for i in 16 22 24 32 48 64 128 256 512; do + ixi="$i"x"$i" + mkdir -p "$out/share/icons/hicolor/$ixi/apps" + ln -s "$out/share/spotify/icons/spotify-linux-$i.png" \ + "$out/share/icons/hicolor/$ixi/apps/spotify-client.png" + done - runHook postInstall - ''; + runHook postInstall + ''; - fixupPhase = '' - runHook preFixup + fixupPhase = '' + runHook preFixup - wrapProgramShell $out/share/spotify/spotify \ - ''${gappsWrapperArgs[@]} \ - ${lib.optionalString (deviceScaleFactor != null) '' + wrapProgramShell $out/share/spotify/spotify \ + ''${gappsWrapperArgs[@]} \ + ${ + lib.optionalString (deviceScaleFactor != null) '' --add-flags "--force-device-scale-factor=${toString deviceScaleFactor}" \ - ''} \ - --prefix LD_LIBRARY_PATH : "$librarypath" \ - --prefix PATH : "${zenity}/bin" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime=true}}" + '' + } \ + --prefix LD_LIBRARY_PATH : "$librarypath" \ + --prefix PATH : "${zenity}/bin" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime=true}}" - runHook postFixup - ''; + runHook postFixup + ''; meta = meta // { - maintainers = with lib.maintainers; [ ftrvxmtrx sheenobu timokau ma27 ]; + maintainers = with lib.maintainers; [ + ftrvxmtrx + sheenobu + timokau + ma27 + ]; }; } diff --git a/pkgs/by-name/sp/spotify/package.nix b/pkgs/by-name/sp/spotify/package.nix index fe49e680908f0..2e43a880cf2c7 100644 --- a/pkgs/by-name/sp/spotify/package.nix +++ b/pkgs/by-name/sp/spotify/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, callPackage -, ... +{ + lib, + stdenv, + callPackage, + ... }@args: let @@ -14,10 +15,16 @@ let description = "Play music from the Spotify music service"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "spotify"; }; -in if stdenv.hostPlatform.isDarwin -then callPackage ./darwin.nix (extraArgs // { inherit pname meta; }) -else callPackage ./linux.nix (extraArgs // { inherit pname meta; }) +in +if stdenv.hostPlatform.isDarwin then + callPackage ./darwin.nix (extraArgs // { inherit pname meta; }) +else + callPackage ./linux.nix (extraArgs // { inherit pname meta; }) diff --git a/pkgs/by-name/sp/spotifywm/package.nix b/pkgs/by-name/sp/spotifywm/package.nix index b8a7db9a3d396..eb15fdc1da686 100644 --- a/pkgs/by-name/sp/spotifywm/package.nix +++ b/pkgs/by-name/sp/spotifywm/package.nix @@ -45,7 +45,10 @@ stdenv.mkDerivation { description = "Wrapper around Spotify that correctly sets class name before opening the window"; license = lib.licenses.mit; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ jqueiroz the-argus ]; + maintainers = with lib.maintainers; [ + jqueiroz + the-argus + ]; mainProgram = "spotify"; }; } diff --git a/pkgs/by-name/sp/spring-boot-cli/package.nix b/pkgs/by-name/sp/spring-boot-cli/package.nix index fb7a18c32a096..dd6708bdee9c7 100644 --- a/pkgs/by-name/sp/spring-boot-cli/package.nix +++ b/pkgs/by-name/sp/spring-boot-cli/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles, coreutils, testers, gitUpdater }: +{ + lib, + stdenv, + fetchzip, + jdk, + makeWrapper, + installShellFiles, + coreutils, + testers, + gitUpdater, +}: stdenv.mkDerivation (finalAttrs: { pname = "spring-boot-cli"; @@ -9,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jmqmWlp40DE/CWzPEMfApb3OTDDb0upcePCHj1+yTs4="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sp/spruce/package.nix b/pkgs/by-name/sp/spruce/package.nix index 6127973e79533..7e84b075cfaeb 100644 --- a/pkgs/by-name/sp/spruce/package.nix +++ b/pkgs/by-name/sp/spruce/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "spruce"; diff --git a/pkgs/by-name/sp/sptk/package.nix b/pkgs/by-name/sp/sptk/package.nix index 07b9bf3eb3c94..79a0c8a4c5013 100644 --- a/pkgs/by-name/sp/sptk/package.nix +++ b/pkgs/by-name/sp/sptk/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sp/sptlrx/package.nix b/pkgs/by-name/sp/sptlrx/package.nix index 391ebb01a457a..4c20e7a6d59ac 100644 --- a/pkgs/by-name/sp/sptlrx/package.nix +++ b/pkgs/by-name/sp/sptlrx/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, sptlrx }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + testers, + sptlrx, +}: buildGoModule rec { pname = "sptlrx"; @@ -13,7 +20,10 @@ buildGoModule rec { vendorHash = "sha256-pExSQcYjqliZZg/91t52yk6UJ4QCbpToMpONIFUNkwc="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = let @@ -33,8 +43,7 @@ buildGoModule rec { meta = with lib; { description = "Spotify lyrics in your terminal"; homepage = "https://github.com/raitonoberu/sptlrx"; - changelog = - "https://github.com/raitonoberu/sptlrx/releases/tag/v${version}"; + changelog = "https://github.com/raitonoberu/sptlrx/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ MoritzBoehme ]; mainProgram = "sptlrx"; diff --git a/pkgs/by-name/sp/spyre/package.nix b/pkgs/by-name/sp/spyre/package.nix index c9a4946b83d98..c9296162f0142 100644 --- a/pkgs/by-name/sp/spyre/package.nix +++ b/pkgs/by-name/sp/spyre/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -, pkg-config -, yara +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + pkg-config, + yara, }: buildGoModule rec { diff --git a/pkgs/by-name/sq/sq/package.nix b/pkgs/by-name/sq/sq/package.nix index 0f8f1b40f0a49..58fd3a9dfa258 100644 --- a/pkgs/by-name/sq/sq/package.nix +++ b/pkgs/by-name/sq/sq/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, sq }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + sq, +}: buildGoModule rec { pname = "sq"; diff --git a/pkgs/by-name/sq/sqlboiler-crdb/package.nix b/pkgs/by-name/sq/sqlboiler-crdb/package.nix index df439bce808ee..8378d8d83177e 100644 --- a/pkgs/by-name/sq/sqlboiler-crdb/package.nix +++ b/pkgs/by-name/sq/sqlboiler-crdb/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "sqlboiler-crbd"; diff --git a/pkgs/by-name/sq/sqlcheck/package.nix b/pkgs/by-name/sq/sqlcheck/package.nix index 0673061c486d9..15bd89c81f8fd 100644 --- a/pkgs/by-name/sq/sqlcheck/package.nix +++ b/pkgs/by-name/sq/sqlcheck/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "sqlcheck"; diff --git a/pkgs/by-name/sq/sqlcipher/package.nix b/pkgs/by-name/sq/sqlcipher/package.nix index dff4e09fa7a72..c102af52448b1 100644 --- a/pkgs/by-name/sq/sqlcipher/package.nix +++ b/pkgs/by-name/sq/sqlcipher/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl -, tcl -, installShellFiles -, buildPackages -, readline -, ncurses -, zlib -, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + tcl, + installShellFiles, + buildPackages, + readline, + ncurses, + zlib, + sqlite, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sq/sqlcmd/package.nix b/pkgs/by-name/sq/sqlcmd/package.nix index 20e7cd0a15876..653a321cfe628 100644 --- a/pkgs/by-name/sq/sqlcmd/package.nix +++ b/pkgs/by-name/sq/sqlcmd/package.nix @@ -1,9 +1,10 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, lib -, sqlcmd -, testers +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + sqlcmd, + testers, }: buildGoModule rec { @@ -20,7 +21,11 @@ buildGoModule rec { vendorHash = "sha256-gc/pOFtQMCLjHbW9z8r08Q+1QnOe5WllSuhIeiz9Huo="; proxyVendor = true; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; subPackages = [ "cmd/modern" ]; diff --git a/pkgs/by-name/sq/sqldef/package.nix b/pkgs/by-name/sq/sqldef/package.nix index a4db82021ef62..a662f2852fb09 100644 --- a/pkgs/by-name/sq/sqldef/package.nix +++ b/pkgs/by-name/sq/sqldef/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "sqldef"; @@ -15,14 +19,21 @@ buildGoModule rec { vendorHash = "sha256-R4PTgqx8PmW5WJxt5Hdc7JfYD+93J6MPFGRddZxp2dg="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; # The test requires a running database doCheck = false; meta = { description = "Idempotent SQL schema management tool"; - license = with lib.licenses; [ mit /* for everything except parser */ asl20 /* for parser */ ]; + license = with lib.licenses; [ + mit # for everything except parser + asl20 # for parser + ]; homepage = "https://github.com/sqldef/sqldef"; changelog = "https://github.com/sqldef/sqldef/blob/v${version}/CHANGELOG.md"; maintainers = with lib.maintainers; [ kgtkr ]; diff --git a/pkgs/by-name/sq/sqlite-jdbc/package.nix b/pkgs/by-name/sq/sqlite-jdbc/package.nix index 01c301e1a4545..d7595c6d790e0 100644 --- a/pkgs/by-name/sq/sqlite-jdbc/package.nix +++ b/pkgs/by-name/sq/sqlite-jdbc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchMavenArtifact }: +{ + lib, + stdenv, + fetchMavenArtifact, +}: stdenv.mkDerivation rec { pname = "sqlite-jdbc"; @@ -24,4 +28,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ jraygauthier ]; }; } - diff --git a/pkgs/by-name/sq/sqlite-vss/package.nix b/pkgs/by-name/sq/sqlite-vss/package.nix index bc3612ceebe01..c9b71996acebe 100644 --- a/pkgs/by-name/sq/sqlite-vss/package.nix +++ b/pkgs/by-name/sq/sqlite-vss/package.nix @@ -1,12 +1,13 @@ -{ lib -, cmake -, faiss -, fetchFromGitHub -, gomp -, llvmPackages -, nlohmann_json -, sqlite -, stdenv +{ + lib, + cmake, + faiss, + fetchFromGitHub, + gomp, + llvmPackages, + nlohmann_json, + sqlite, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -24,7 +25,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = [ nlohmann_json faiss sqlite ] + buildInputs = + [ + nlohmann_json + faiss + sqlite + ] ++ lib.optional stdenv.hostPlatform.isLinux gomp ++ lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp; @@ -42,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - meta = with lib;{ + meta = with lib; { # Low maintenance mode, doesn't support up-to-date faiss # https://github.com/NixOS/nixpkgs/pull/330191#issuecomment-2252965866 broken = lib.versionAtLeast faiss.version "1.8.0"; diff --git a/pkgs/by-name/sq/sqlite-web/package.nix b/pkgs/by-name/sq/sqlite-web/package.nix index 610e872da187f..b379e426f1996 100644 --- a/pkgs/by-name/sq/sqlite-web/package.nix +++ b/pkgs/by-name/sq/sqlite-web/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchPypi +{ + lib, + python3Packages, + fetchPypi, }: python3Packages.buildPythonApplication rec { @@ -12,7 +13,11 @@ python3Packages.buildPythonApplication rec { hash = "sha256-5Bdd1C9M3HjvfDKdVvGSQ+/I0Iimvf1MZwPonRiqwqU="; }; - propagatedBuildInputs = with python3Packages; [ flask peewee pygments ]; + propagatedBuildInputs = with python3Packages; [ + flask + peewee + pygments + ]; # no tests in repository doCheck = false; diff --git a/pkgs/by-name/sq/sqlite3-to-mysql/package.nix b/pkgs/by-name/sq/sqlite3-to-mysql/package.nix index c0d2126e0af00..817f0da64ee32 100644 --- a/pkgs/by-name/sq/sqlite3-to-mysql/package.nix +++ b/pkgs/by-name/sq/sqlite3-to-mysql/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, python3Packages -, nixosTests -, testers -, sqlite3-to-mysql -, mysql80 +{ + lib, + fetchFromGitHub, + python3Packages, + nixosTests, + testers, + sqlite3-to-mysql, + mysql80, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/sq/sqlite_orm/package.nix b/pkgs/by-name/sq/sqlite_orm/package.nix index 34a76f4095fc5..2d2ce1dd9024d 100644 --- a/pkgs/by-name/sq/sqlite_orm/package.nix +++ b/pkgs/by-name/sq/sqlite_orm/package.nix @@ -1,8 +1,9 @@ -{ lib -, cmake -, fetchFromGitHub -, sqlite -, stdenv +{ + lib, + cmake, + fetchFromGitHub, + sqlite, + stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "sqlite_orm"; diff --git a/pkgs/by-name/sq/sqlitecpp/package.nix b/pkgs/by-name/sq/sqlitecpp/package.nix index a48e9a4ac87a6..e1dcac1598ded 100644 --- a/pkgs/by-name/sq/sqlitecpp/package.nix +++ b/pkgs/by-name/sq/sqlitecpp/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, sqlite -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + sqlite, + gtest, }: stdenv.mkDerivation (finalAttrs: { @@ -36,6 +37,9 @@ stdenv.mkDerivation (finalAttrs: { description = "C++ SQLite3 wrapper"; license = licenses.mit; platforms = platforms.unix; - maintainers = [ maintainers.jbedo maintainers.doronbehar ]; + maintainers = [ + maintainers.jbedo + maintainers.doronbehar + ]; }; }) diff --git a/pkgs/by-name/sq/sqls/package.nix b/pkgs/by-name/sq/sqls/package.nix index fe5735d0e553a..473beadb4be04 100644 --- a/pkgs/by-name/sq/sqls/package.nix +++ b/pkgs/by-name/sq/sqls/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "sqls"; @@ -13,7 +17,12 @@ buildGoModule rec { vendorHash = "sha256-6IFJvdT7YLnWsg7Icd3nKXXHM6TZKZ+IG9nEBosRCwA="; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.revision=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + "-X main.revision=${src.rev}" + ]; doCheck = false; diff --git a/pkgs/by-name/sq/sqsh/package.nix b/pkgs/by-name/sq/sqsh/package.nix index e7b0342ac697d..42c2cf884ee56 100644 --- a/pkgs/by-name/sq/sqsh/package.nix +++ b/pkgs/by-name/sq/sqsh/package.nix @@ -1,26 +1,41 @@ -{ lib, stdenv, fetchurl, autoreconfHook, freetds, readline, libiconv }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + freetds, + readline, + libiconv, +}: let mainVersion = "2.5"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "sqsh"; version = "${mainVersion}.16.1"; src = fetchurl { - url = "mirror://sourceforge/sqsh/sqsh/sqsh-${mainVersion}/${pname}-${version}.tgz"; + url = "mirror://sourceforge/sqsh/sqsh/sqsh-${mainVersion}/${pname}-${version}.tgz"; sha256 = "1wi0hdmhk7l8nrz4j3kaa177mmxyklmzhj7sq1gj4q6fb8v1yr6n"; }; - preConfigure = '' - export SYBASE=${freetds} - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace configure --replace "libct.so" "libct.dylib" - ''; + preConfigure = + '' + export SYBASE=${freetds} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace configure --replace "libct.so" "libct.dylib" + ''; enableParallelBuilding = true; - buildInputs = [ freetds readline libiconv ]; + buildInputs = [ + freetds + readline + libiconv + ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/sq/squashfsTools/package.nix b/pkgs/by-name/sq/squashfsTools/package.nix index ae658330b2801..8629b8f539433 100644 --- a/pkgs/by-name/sq/squashfsTools/package.nix +++ b/pkgs/by-name/sq/squashfsTools/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, help2man -, lz4 -, lzo -, nixosTests -, which -, xz -, zlib -, zstd +{ + lib, + stdenv, + fetchFromGitHub, + help2man, + lz4, + lzo, + nixosTests, + which, + xz, + zlib, + zstd, }: stdenv.mkDerivation rec { @@ -29,14 +30,21 @@ stdenv.mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ which ] + nativeBuildInputs = + [ which ] # when cross-compiling help2man cannot run the cross-compiled binary ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ help2man ]; - buildInputs = [ zlib xz zstd lz4 lzo ]; + buildInputs = [ + zlib + xz + zstd + lz4 + lzo + ]; preBuild = '' cd squashfs-tools - '' ; + ''; installFlags = [ "INSTALL_DIR=${placeholder "out"}/bin" diff --git a/pkgs/by-name/sq/squashfuse/package.nix b/pkgs/by-name/sq/squashfuse/package.nix index 2d89160fa7174..4c295ca88468b 100644 --- a/pkgs/by-name/sq/squashfuse/package.nix +++ b/pkgs/by-name/sq/squashfuse/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libtool, fuse, - pkg-config, lz4, xz, zlib, lzo, zstd }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + fuse, + pkg-config, + lz4, + xz, + zlib, + lzo, + zstd, +}: stdenv.mkDerivation rec { @@ -13,8 +25,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-76PQB+6ls/RCjEP8Z4DEtX0xemN3srCsLM7DsDqiTVA="; }; - nativeBuildInputs = [ autoreconfHook libtool pkg-config ]; - buildInputs = [ lz4 xz zlib lzo zstd fuse ]; + nativeBuildInputs = [ + autoreconfHook + libtool + pkg-config + ]; + buildInputs = [ + lz4 + xz + zlib + lzo + zstd + fuse + ]; meta = { description = "FUSE filesystem to mount squashfs archives"; diff --git a/pkgs/by-name/sq/squawk/package.nix b/pkgs/by-name/sq/squawk/package.nix index 2190401c00bdc..f40ab2c2957e1 100644 --- a/pkgs/by-name/sq/squawk/package.nix +++ b/pkgs/by-name/sq/squawk/package.nix @@ -1,12 +1,13 @@ -{ darwin -, fetchFromGitHub -, lib -, libiconv -, libpg_query -, openssl -, pkg-config -, rustPlatform -, stdenv +{ + darwin, + fetchFromGitHub, + lib, + libiconv, + libpg_query, + openssl, + pkg-config, + rustPlatform, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -27,13 +28,18 @@ rustPlatform.buildRustPackage rec { rustPlatform.bindgenHook ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libiconv - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreFoundation - Security - ]); + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libiconv + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreFoundation + Security + ] + ); OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/sq/squid/package.nix b/pkgs/by-name/sq/squid/package.nix index 998b2d9ada44d..fef7cb92342f5 100644 --- a/pkgs/by-name/sq/squid/package.nix +++ b/pkgs/by-name/sq/squid/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap -, expat, libxml2, openssl, pkg-config, systemd -, cppunit +{ + lib, + stdenv, + fetchurl, + perl, + openldap, + pam, + db, + cyrus_sasl, + libcap, + expat, + libxml2, + openssl, + pkg-config, + systemd, + cppunit, }: stdenv.mkDerivation (finalAttrs: { @@ -13,25 +26,40 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - perl openldap db cyrus_sasl expat libxml2 openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libcap pam systemd ]; + buildInputs = + [ + perl + openldap + db + cyrus_sasl + expat + libxml2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + pam + systemd + ]; enableParallelBuilding = true; - configureFlags = [ - "--enable-ipv6" - "--disable-strict-error-checking" - "--disable-arch-native" - "--with-openssl" - "--enable-ssl-crtd" - "--enable-storeio=ufs,aufs,diskd,rock" - "--enable-removal-policies=lru,heap" - "--enable-delay-pools" - "--enable-x-accelerator-vary" - "--enable-htcp" - ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl) - "--enable-linux-netfilter"; + configureFlags = + [ + "--enable-ipv6" + "--disable-strict-error-checking" + "--disable-arch-native" + "--with-openssl" + "--enable-ssl-crtd" + "--enable-storeio=ufs,aufs,diskd,rock" + "--enable-removal-policies=lru,heap" + "--enable-delay-pools" + "--enable-x-accelerator-vary" + "--enable-htcp" + ] + ++ lib.optional ( + stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl + ) "--enable-linux-netfilter"; doCheck = true; nativeCheckInputs = [ cppunit ]; @@ -55,6 +83,8 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ raskin ]; - knownVulnerabilities = [ "Squid has multiple unresolved security vulnerabilities, for more information see https://megamansec.github.io/Squid-Security-Audit/" ]; + knownVulnerabilities = [ + "Squid has multiple unresolved security vulnerabilities, for more information see https://megamansec.github.io/Squid-Security-Audit/" + ]; }; }) diff --git a/pkgs/by-name/sq/squirreldisk/package.nix b/pkgs/by-name/sq/squirreldisk/package.nix index d0ea01ba160f7..ae1bc3d5f718d 100644 --- a/pkgs/by-name/sq/squirreldisk/package.nix +++ b/pkgs/by-name/sq/squirreldisk/package.nix @@ -15,7 +15,8 @@ stdenv, copyDesktopItems, makeDesktopItem, -}: let +}: +let pname = "squirreldisk"; version = "0.3.4"; @@ -39,67 +40,78 @@ dontInstall = true; }; in - rustPlatform.buildRustPackage rec { - inherit version src pname; +rustPlatform.buildRustPackage rec { + inherit version src pname; - sourceRoot = "${src.name}/src-tauri"; + sourceRoot = "${src.name}/src-tauri"; - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "window-shadows-0.2.1" = "sha256-3meM04TG63PvB0M5wUH1cDMBo7ObcB0zdgwGt2aKHMs="; - }; + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "window-shadows-0.2.1" = "sha256-3meM04TG63PvB0M5wUH1cDMBo7ObcB0zdgwGt2aKHMs="; }; + }; - # copy the frontend static resources to final build directory - # Also modify tauri.conf.json so that it expects the resources at the new location - postPatch = '' - cp ${./Cargo.lock} Cargo.lock + # copy the frontend static resources to final build directory + # Also modify tauri.conf.json so that it expects the resources at the new location + postPatch = '' + cp ${./Cargo.lock} Cargo.lock - mkdir -p frontend-build - cp -r ${frontend-build}/* frontend-build + mkdir -p frontend-build + cp -r ${frontend-build}/* frontend-build - substituteInPlace tauri.conf.json --replace-fail '"distDir": "../dist"' '"distDir": "./frontend-build"' + substituteInPlace tauri.conf.json --replace-fail '"distDir": "../dist"' '"distDir": "./frontend-build"' - # Copy pdu binary from nixpkgs, since the default packaged binary has issues. - cp ${parallel-disk-usage}/bin/pdu bin/pdu-${stdenv.hostPlatform.config} - ''; + # Copy pdu binary from nixpkgs, since the default packaged binary has issues. + cp ${parallel-disk-usage}/bin/pdu bin/pdu-${stdenv.hostPlatform.config} + ''; - nativeBuildInputs = [pkg-config wrapGAppsHook3 copyDesktopItems]; - buildInputs = [dbus openssl freetype libsoup_2_4 gtk3 webkitgtk_4_0]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + copyDesktopItems + ]; + buildInputs = [ + dbus + openssl + freetype + libsoup_2_4 + gtk3 + webkitgtk_4_0 + ]; - # Disable checkPhase, since the project doesn't contain tests - doCheck = false; + # Disable checkPhase, since the project doesn't contain tests + doCheck = false; - postInstall = '' - mv $out/bin/squirreldisk-tauri $out/bin/squirreldisk - install -DT icons/256x256.png $out/share/icons/hicolor/256x256/apps/squirrel-disk.png - install -DT icons/128x128@2x.png $out/share/icons/hicolor/128x128@2/apps/squirrel-disk.png - install -DT icons/128x128.png $out/share/icons/hicolor/128x128/apps/squirrel-disk.png - install -DT icons/32x32.png $out/share/icons/hicolor/32x32/apps/squirrel-disk.png - ''; + postInstall = '' + mv $out/bin/squirreldisk-tauri $out/bin/squirreldisk + install -DT icons/256x256.png $out/share/icons/hicolor/256x256/apps/squirrel-disk.png + install -DT icons/128x128@2x.png $out/share/icons/hicolor/128x128@2/apps/squirrel-disk.png + install -DT icons/128x128.png $out/share/icons/hicolor/128x128/apps/squirrel-disk.png + install -DT icons/32x32.png $out/share/icons/hicolor/32x32/apps/squirrel-disk.png + ''; - # WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079 - postFixup = '' - wrapProgram "$out/bin/squirreldisk" \ - --set WEBKIT_DISABLE_COMPOSITING_MODE 1 - ''; + # WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079 + postFixup = '' + wrapProgram "$out/bin/squirreldisk" \ + --set WEBKIT_DISABLE_COMPOSITING_MODE 1 + ''; - desktopItems = [ - (makeDesktopItem { - name = "SquirrelDisk"; - exec = "squirreldisk"; - icon = "squirrel-disk"; - desktopName = "SquirrelDisk"; - comment = meta.description; - }) - ]; + desktopItems = [ + (makeDesktopItem { + name = "SquirrelDisk"; + exec = "squirreldisk"; + icon = "squirrel-disk"; + desktopName = "SquirrelDisk"; + comment = meta.description; + }) + ]; - meta = with lib; { - description = "Cross-platform disk usage analysis tool"; - homepage = "https://www.squirreldisk.com/"; - license = licenses.agpl3Only; - maintainers = with maintainers; [peret]; - mainProgram = "squirreldisk"; - }; - } + meta = with lib; { + description = "Cross-platform disk usage analysis tool"; + homepage = "https://www.squirreldisk.com/"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ peret ]; + mainProgram = "squirreldisk"; + }; +} diff --git a/pkgs/by-name/sr/srain/package.nix b/pkgs/by-name/sr/srain/package.nix index 6984d720b638e..96eaf54390ecc 100644 --- a/pkgs/by-name/sr/srain/package.nix +++ b/pkgs/by-name/sr/srain/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, gtk3 -, libconfig -, libsoup_3 -, libsecret -, libayatana-appindicator -, openssl -, gettext -, glib -, glib-networking -, appstream-glib -, dbus-glib -, python3Packages -, meson -, ninja -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gtk3, + libconfig, + libsoup_3, + libsecret, + libayatana-appindicator, + openssl, + gettext, + glib, + glib-networking, + appstream-glib, + dbus-glib, + python3Packages, + meson, + ninja, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sr/srandrd/package.nix b/pkgs/by-name/sr/srandrd/package.nix index 0d51bf4785ecb..564770f9c0618 100644 --- a/pkgs/by-name/sr/srandrd/package.nix +++ b/pkgs/by-name/sr/srandrd/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, libX11 -, libXrandr -, libXinerama +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXrandr, + libXinerama, }: stdenv.mkDerivation rec { @@ -16,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-Wf+tVqDaNAiH6UHN8fFv2wM+LEch6wKlZOkqWEqLLkw="; }; - buildInputs = [ libX11 libXrandr libXinerama ]; + buildInputs = [ + libX11 + libXrandr + libXinerama + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/sr/sratom/package.nix b/pkgs/by-name/sr/sratom/package.nix index 8f793b359886f..b92c4d2f67e9b 100644 --- a/pkgs/by-name/sr/sratom/package.nix +++ b/pkgs/by-name/sr/sratom/package.nix @@ -1,20 +1,24 @@ -{ lib -, stdenv -, fetchurl -, lv2 -, meson -, ninja -, pkg-config -, serd -, sord -, writeScript +{ + lib, + stdenv, + fetchurl, + lv2, + meson, + ninja, + pkg-config, + serd, + sord, + writeScript, }: stdenv.mkDerivation rec { pname = "sratom"; version = "0.6.16"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://download.drobilla.net/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/sr/srb2/package.nix b/pkgs/by-name/sr/srb2/package.nix index 44209cf468bdb..3d2b1aae3e0c5 100644 --- a/pkgs/by-name/sr/srb2/package.nix +++ b/pkgs/by-name/sr/srb2/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchgit -, fetchFromGitHub -, cmake -, curl -, nasm -, libopenmpt -, game-music-emu -, libGLU -, libpng -, SDL2 -, SDL2_mixer -, zlib -, makeWrapper -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchgit, + fetchFromGitHub, + cmake, + curl, + nasm, + libopenmpt, + game-music-emu, + libGLU, + libpng, + SDL2, + SDL2_mixer, + zlib, + makeWrapper, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation (finalAttrs: { @@ -120,7 +121,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.srb2.org/"; platforms = platforms.linux; license = licenses.gpl2Plus; - maintainers = with maintainers; [ zeratax donovanglover ]; + maintainers = with maintainers; [ + zeratax + donovanglover + ]; mainProgram = "srb2"; }; }) diff --git a/pkgs/by-name/sr/srb2kart/package.nix b/pkgs/by-name/sr/srb2kart/package.nix index 8260bdb394080..72d9c153de33a 100644 --- a/pkgs/by-name/sr/srb2kart/package.nix +++ b/pkgs/by-name/sr/srb2kart/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchzip -, fetchFromGitHub -, cmake -, curl -, nasm -, game-music-emu -, libpng -, SDL2 -, SDL2_mixer -, zlib -, makeWrapper -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchzip, + fetchFromGitHub, + cmake, + curl, + nasm, + game-music-emu, + libpng, + SDL2, + SDL2_mixer, + zlib, + makeWrapper, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sr/src-cli/package.nix b/pkgs/by-name/sr/src-cli/package.nix index c809b52826caf..9c1520eb76b35 100644 --- a/pkgs/by-name/sr/src-cli/package.nix +++ b/pkgs/by-name/sr/src-cli/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv -, xorg -, darwin -, testers -, src-cli +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + xorg, + darwin, + testers, + src-cli, }: buildGoModule rec { @@ -25,11 +26,13 @@ buildGoModule rec { "cmd/src" ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libX11 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libX11 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ]; ldflags = [ "-s" diff --git a/pkgs/by-name/sr/src/package.nix b/pkgs/by-name/sr/src/package.nix index cd86eba418078..d9e089e4ad20e 100644 --- a/pkgs/by-name/sr/src/package.nix +++ b/pkgs/by-name/sr/src/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, asciidoc -, fetchFromGitLab -, git -, makeWrapper -, python3 -, rcs +{ + lib, + stdenv, + asciidoc, + fetchFromGitLab, + git, + makeWrapper, + python3, + rcs, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/sr/srecord/package.nix b/pkgs/by-name/sr/srecord/package.nix index 1d542383bfb0e..153c8003d2574 100644 --- a/pkgs/by-name/sr/srecord/package.nix +++ b/pkgs/by-name/sr/srecord/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, boost, libtool, groff, ghostscript, libgcrypt ? null }: +{ + lib, + stdenv, + fetchurl, + boost, + libtool, + groff, + ghostscript, + libgcrypt ? null, +}: stdenv.mkDerivation rec { pname = "srecord"; @@ -9,7 +18,13 @@ stdenv.mkDerivation rec { sha256 = "1qk75q0k5vzmm3932q9hqz2gp8n9rrdfjacsswxc02656f3l3929"; }; - buildInputs = [ boost libtool groff ghostscript libgcrypt ]; + buildInputs = [ + boost + libtool + groff + ghostscript + libgcrypt + ]; configureFlags = lib.optional (libgcrypt == null) "--without-gcrypt"; diff --git a/pkgs/by-name/sr/sregex/package.nix b/pkgs/by-name/sr/sregex/package.nix index 58ef91c31908b..05b1786304af0 100644 --- a/pkgs/by-name/sr/sregex/package.nix +++ b/pkgs/by-name/sr/sregex/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "sregex"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { hash = "sha256-HZ9O/3BQHHrTVLLlU0o1fLHxyRSesBhreT3IdGHnNsg="; }; - makeFlags = [ "PREFIX=$(out)" "CC:=$(CC)" ]; + makeFlags = [ + "PREFIX=$(out)" + "CC:=$(CC)" + ]; meta = with lib; { homepage = "https://github.com/openresty/sregex"; diff --git a/pkgs/by-name/sr/srelay/package.nix b/pkgs/by-name/sr/srelay/package.nix index d54d4d79017ab..eeb3827e6ed7d 100644 --- a/pkgs/by-name/sr/srelay/package.nix +++ b/pkgs/by-name/sr/srelay/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "srelay"; diff --git a/pkgs/by-name/sr/srgn/package.nix b/pkgs/by-name/sr/srgn/package.nix index d88ae2a992e93..0e4023fd92682 100644 --- a/pkgs/by-name/sr/srgn/package.nix +++ b/pkgs/by-name/sr/srgn/package.nix @@ -1,7 +1,8 @@ -{ rustPlatform -, fetchFromGitHub -, installShellFiles -, lib +{ + rustPlatform, + fetchFromGitHub, + installShellFiles, + lib, }: rustPlatform.buildRustPackage rec { pname = "srgn"; diff --git a/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix b/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix index 581521e0edd93..5c4db959a6a42 100644 --- a/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix +++ b/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix @@ -1,4 +1,10 @@ -{ stdenv, pkgs, lib, fetchFromSourcehut, nixosTests }: +{ + stdenv, + pkgs, + lib, + fetchFromSourcehut, + nixosTests, +}: let perl = pkgs.perl.withPackages (pps: [ diff --git a/pkgs/by-name/sr/srisum/package.nix b/pkgs/by-name/sr/srisum/package.nix index f9f0a6b4a6b07..5fce3fcacab2a 100644 --- a/pkgs/by-name/sr/srisum/package.nix +++ b/pkgs/by-name/sr/srisum/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sr/srm/package.nix b/pkgs/by-name/sr/srm/package.nix index 7cde2be4fbc5f..ccecb22418e13 100644 --- a/pkgs/by-name/sr/srm/package.nix +++ b/pkgs/by-name/sr/srm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchsvn, autoreconfHook }: +{ + lib, + stdenv, + fetchsvn, + autoreconfHook, +}: stdenv.mkDerivation { pname = "srm"; diff --git a/pkgs/by-name/sr/srsran/package.nix b/pkgs/by-name/sr/srsran/package.nix index af278534a4884..f20c76ae2f6c4 100644 --- a/pkgs/by-name/sr/srsran/package.nix +++ b/pkgs/by-name/sr/srsran/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, cmake -, fetchFromGitHub -, pkg-config -, fftwFloat -, mbedtls -, boost -, lksctp-tools -, libconfig -, pcsclite -, uhd -, soapysdr-with-plugins -, libbladeRF -, zeromq +{ + stdenv, + lib, + cmake, + fetchFromGitHub, + pkg-config, + fftwFloat, + mbedtls, + boost, + lksctp-tools, + libconfig, + pcsclite, + uhd, + soapysdr-with-plugins, + libbladeRF, + zeromq, }: stdenv.mkDerivation rec { @@ -22,11 +23,14 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "srsran"; repo = "srsran"; - rev = "release_${builtins.replaceStrings ["."] ["_"] version}"; + rev = "release_${builtins.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-3cQMZ75I4cyHpik2d/eBuzw7M4OgbKqroCddycw4uW8="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ fftwFloat @@ -47,7 +51,7 @@ stdenv.mkDerivation rec { homepage = "https://www.srslte.com/"; description = "Open-source 4G and 5G software radio suite"; license = licenses.agpl3Plus; - platforms = with platforms; linux ; + platforms = with platforms; linux; maintainers = with maintainers; [ hexagonal-sun ]; }; } diff --git a/pkgs/by-name/sr/srt-live-server/package.nix b/pkgs/by-name/sr/srt-live-server/package.nix index 8bc3cd330b65b..47d1d58419e24 100644 --- a/pkgs/by-name/sr/srt-live-server/package.nix +++ b/pkgs/by-name/sr/srt-live-server/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, stdenv -, srt -, zlib +{ + lib, + fetchFromGitHub, + stdenv, + srt, + zlib, }: stdenv.mkDerivation rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { ./add-ctime-include.patch ]; - buildInputs = [ srt zlib ]; + buildInputs = [ + srt + zlib + ]; makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/by-name/sr/srt-to-vtt-cl/package.nix b/pkgs/by-name/sr/srt-to-vtt-cl/package.nix index b0868c885edd6..a0b4490a094d3 100644 --- a/pkgs/by-name/sr/srt-to-vtt-cl/package.nix +++ b/pkgs/by-name/sr/srt-to-vtt-cl/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "srt-to-vtt-cl"; diff --git a/pkgs/by-name/sr/srt/package.nix b/pkgs/by-name/sr/srt/package.nix index be81970413b84..6b777eb2c28cf 100644 --- a/pkgs/by-name/sr/srt/package.nix +++ b/pkgs/by-name/sr/srt/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, openssl -, windows +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + windows, }: stdenv.mkDerivation rec { @@ -19,11 +20,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - windows.mingw_w64_pthreads - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + windows.mingw_w64_pthreads + ]; patches = lib.optionals stdenv.hostPlatform.isMinGW [ ./no-msvc-compat-headers.patch diff --git a/pkgs/by-name/sr/srtp/package.nix b/pkgs/by-name/sr/srtp/package.nix index a124a3d600ca4..6d3262407817e 100644 --- a/pkgs/by-name/sr/srtp/package.nix +++ b/pkgs/by-name/sr/srtp/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, libpcap -, meson -, ninja -, openssl -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + meson, + ninja, + openssl, + pkg-config, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-vWL5bksKT5NUoNkIRiJ2FeGODQthD8SgXjCaA7SeTe4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson diff --git a/pkgs/by-name/sr/srtrelay/package.nix b/pkgs/by-name/sr/srtrelay/package.nix index 8640424be1e95..da9c9e83c527e 100644 --- a/pkgs/by-name/sr/srtrelay/package.nix +++ b/pkgs/by-name/sr/srtrelay/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, srt, ffmpeg }: +{ + lib, + buildGoModule, + fetchFromGitHub, + srt, + ffmpeg, +}: buildGoModule rec { pname = "srtrelay"; diff --git a/pkgs/by-name/ss/ssb-patchwork/package.nix b/pkgs/by-name/ss/ssb-patchwork/package.nix index 6915cd1f6902f..806af21e4f070 100644 --- a/pkgs/by-name/ss/ssb-patchwork/package.nix +++ b/pkgs/by-name/ss/ssb-patchwork/package.nix @@ -1,4 +1,10 @@ -{ appimageTools, symlinkJoin, lib, fetchurl, makeDesktopItem }: +{ + appimageTools, + symlinkJoin, + lib, + fetchurl, + makeDesktopItem, +}: let pname = "ssb-patchwork"; @@ -29,25 +35,29 @@ let }; in - symlinkJoin { - inherit name; - paths = [ binary ]; +symlinkJoin { + inherit name; + paths = [ binary ]; - postBuild = '' - mkdir -p $out/share/pixmaps/ $out/share/applications - cp ${appimage-contents}/ssb-patchwork.png $out/share/pixmaps - cp ${desktopItem}/share/applications/* $out/share/applications/ - ''; + postBuild = '' + mkdir -p $out/share/pixmaps/ $out/share/applications + cp ${appimage-contents}/ssb-patchwork.png $out/share/pixmaps + cp ${desktopItem}/share/applications/* $out/share/applications/ + ''; - meta = with lib; { - description = "Decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB)"; - longDescription = '' - sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship. - ''; - homepage = "https://www.scuttlebutt.nz/"; - license = licenses.agpl3Only; - maintainers = with maintainers; [ asymmetric picnoir cyplo ]; - mainProgram = "ssb-patchwork"; - platforms = [ "x86_64-linux" ]; - }; - } + meta = with lib; { + description = "Decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB)"; + longDescription = '' + sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship. + ''; + homepage = "https://www.scuttlebutt.nz/"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ + asymmetric + picnoir + cyplo + ]; + mainProgram = "ssb-patchwork"; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/by-name/ss/ssdeep/package.nix b/pkgs/by-name/ss/ssdeep/package.nix index b3ec01ebdbbf8..7e5e2298602c6 100644 --- a/pkgs/by-name/ss/ssdeep/package.nix +++ b/pkgs/by-name/ss/ssdeep/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "ssdeep"; @@ -21,9 +26,9 @@ stdenv.mkDerivation rec { meta = { description = "Program for calculating fuzzy hashes"; mainProgram = "ssdeep"; - homepage = "http://www.ssdeep.sf.net"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.unix; + homepage = "http://www.ssdeep.sf.net"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/by-name/ss/sselp/package.nix b/pkgs/by-name/ss/sselp/package.nix index de083a32028d7..87e29597f151f 100644 --- a/pkgs/by-name/ss/sselp/package.nix +++ b/pkgs/by-name/ss/sselp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libX11 }: +{ + lib, + stdenv, + fetchurl, + libX11, +}: stdenv.mkDerivation rec { version = "0.2"; @@ -21,7 +26,7 @@ stdenv.mkDerivation rec { homepage = "https://tools.suckless.org/sselp"; description = "Prints the X selection to stdout, useful in scripts"; license = lib.licenses.mit; - maintainers = [lib.maintainers.magnetophon ]; + maintainers = [ lib.maintainers.magnetophon ]; platforms = lib.platforms.linux; mainProgram = "sselp"; }; diff --git a/pkgs/by-name/ss/ssh-agents/package.nix b/pkgs/by-name/ss/ssh-agents/package.nix index f9414d9835d36..7c15a763f42fd 100644 --- a/pkgs/by-name/ss/ssh-agents/package.nix +++ b/pkgs/by-name/ss/ssh-agents/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitHub -, lib -, stdenvNoCC +{ + fetchFromGitHub, + lib, + stdenvNoCC, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/ss/ssh-askpass-fullscreen/package.nix b/pkgs/by-name/ss/ssh-askpass-fullscreen/package.nix index 0b192024f239a..cb5a891355356 100644 --- a/pkgs/by-name/ss/ssh-askpass-fullscreen/package.nix +++ b/pkgs/by-name/ss/ssh-askpass-fullscreen/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, gtk2 -, openssh -, pkg-config +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + gtk2, + openssh, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ss/ssh-chat/package.nix b/pkgs/by-name/ss/ssh-chat/package.nix index f8ae9cdb1e756..a6592121aae9a 100644 --- a/pkgs/by-name/ss/ssh-chat/package.nix +++ b/pkgs/by-name/ss/ssh-chat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ssh-chat"; diff --git a/pkgs/by-name/ss/ssh-ident/package.nix b/pkgs/by-name/ss/ssh-ident/package.nix index 3886828c52210..9fad4154a6bc0 100644 --- a/pkgs/by-name/ss/ssh-ident/package.nix +++ b/pkgs/by-name/ss/ssh-ident/package.nix @@ -1,9 +1,15 @@ -{ stdenvNoCC, lib, fetchFromGitHub, python3, openssh}: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + python3, + openssh, +}: stdenvNoCC.mkDerivation { pname = "ssh-ident"; version = "2016-04-21"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "ccontavalli"; repo = "ssh-ident"; rev = "ebf8282728211dc4448d50f7e16e546ed03c22d2"; diff --git a/pkgs/by-name/ss/ssh-key-confirmer/package.nix b/pkgs/by-name/ss/ssh-key-confirmer/package.nix index 408719f746534..7a9add923ca0d 100644 --- a/pkgs/by-name/ss/ssh-key-confirmer/package.nix +++ b/pkgs/by-name/ss/ssh-key-confirmer/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "ssh-key-confirmer"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-CkfZ9dImjdka98eu4xuWZ6Xed7WX6DnXw81Ih7bhPm0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Test ssh login key acceptance without having the private key"; diff --git a/pkgs/by-name/ss/ssh-mitm/package.nix b/pkgs/by-name/ss/ssh-mitm/package.nix index e17925444dea0..d3bccbd8e4b12 100644 --- a/pkgs/by-name/ss/ssh-mitm/package.nix +++ b/pkgs/by-name/ss/ssh-mitm/package.nix @@ -24,7 +24,6 @@ let in with py.pkgs; - buildPythonApplication rec { pname = "ssh-mitm"; version = "5.0.0"; diff --git a/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix b/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix index cd90df9cb7744..a3e0cf324ef53 100644 --- a/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix +++ b/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix @@ -9,6 +9,5 @@ callPackage ./generic.nix { version = "0.3.0"; srcHash = "sha256-IV0Nhdqyn12HDOp1jaKz3sKTI3ktFd5b6qybCLWt27I="; cargoHash = "sha256-/+lZkVMeFUMRD7NQ/MHDU5f3rkKDx1kDv5tjA41RExc="; - metaDescription = - "Command-line tool for creating and managing OpenPGP based trust anchors for SSH host keys"; + metaDescription = "Command-line tool for creating and managing OpenPGP based trust anchors for SSH host keys"; } diff --git a/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix b/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix index 4cfe2b6ec7c4e..f60424416f083 100644 --- a/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix +++ b/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix @@ -1,20 +1,25 @@ # This file is based upon upstream's package.nix shared among both # "ssh-openpgp-auth" and "sshd-openpgpg-auth" -{ lib -, rustPlatform -, fetchFromGitea -, pkg-config -, just -, rust-script -, installShellFiles -, nettle -, openssl -, sqlite -, stdenv -, darwin -, openssh -# Arguments not supplied by callPackage -, pname , version , srcHash , cargoHash, metaDescription +{ + lib, + rustPlatform, + fetchFromGitea, + pkg-config, + just, + rust-script, + installShellFiles, + nettle, + openssl, + sqlite, + stdenv, + darwin, + openssh, + # Arguments not supplied by callPackage + pname, + version, + srcHash, + cargoHash, + metaDescription, }: rustPlatform.buildRustPackage { @@ -54,17 +59,18 @@ rustPlatform.buildRustPackage { --zsh shell_completions/_${pname} ''; - - buildInputs = [ - nettle - openssl - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.CoreFoundation - darwin.apple_sdk_11_0.frameworks.IOKit - darwin.apple_sdk_11_0.frameworks.Security - darwin.apple_sdk_11_0.frameworks.SystemConfiguration - ]; + buildInputs = + [ + nettle + openssl + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.CoreFoundation + darwin.apple_sdk_11_0.frameworks.IOKit + darwin.apple_sdk_11_0.frameworks.Security + darwin.apple_sdk_11_0.frameworks.SystemConfiguration + ]; doCheck = true; nativeCheckInputs = [ @@ -74,7 +80,10 @@ rustPlatform.buildRustPackage { meta = with lib; { description = metaDescription; homepage = "https://codeberg.org/wiktor/ssh-openpgp-auth"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ doronbehar ]; mainProgram = pname; }; diff --git a/pkgs/by-name/ss/ssh-openpgp-auth/package.nix b/pkgs/by-name/ss/ssh-openpgp-auth/package.nix index 53509cc0d05c2..a0850d3dd99bd 100644 --- a/pkgs/by-name/ss/ssh-openpgp-auth/package.nix +++ b/pkgs/by-name/ss/ssh-openpgp-auth/package.nix @@ -5,6 +5,5 @@ callPackage ./generic.nix { version = "0.2.2"; srcHash = "sha256-5ew6jT6Zr54QYaWFQIGYXd8sqC3yHHZjPfoaCossm8o="; cargoHash = "sha256-/k/XAp7PHIJaJWf4Oa1JC1mMSR5pyeM4SSPCcr77cAg="; - metaDescription = - "Command-line tool that provides client-side functionality to transparently verify the identity of remote SSH hosts"; + metaDescription = "Command-line tool that provides client-side functionality to transparently verify the identity of remote SSH hosts"; } diff --git a/pkgs/by-name/ss/ssh-to-age/package.nix b/pkgs/by-name/ss/ssh-to-age/package.nix index b65ba77ff2c1d..c89c0026d30be 100644 --- a/pkgs/by-name/ss/ssh-to-age/package.nix +++ b/pkgs/by-name/ss/ssh-to-age/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "ssh-to-age"; diff --git a/pkgs/by-name/ss/ssh-to-pgp/package.nix b/pkgs/by-name/ss/ssh-to-pgp/package.nix index c2cc76ef74b73..9cadd00f5694b 100644 --- a/pkgs/by-name/ss/ssh-to-pgp/package.nix +++ b/pkgs/by-name/ss/ssh-to-pgp/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, gnupg }: +{ + lib, + fetchFromGitHub, + buildGoModule, + gnupg, +}: buildGoModule rec { pname = "ssh-to-pgp"; diff --git a/pkgs/by-name/ss/ssh-tools/package.nix b/pkgs/by-name/ss/ssh-tools/package.nix index 8d1f69ca538a7..dc83804f6d717 100644 --- a/pkgs/by-name/ss/ssh-tools/package.nix +++ b/pkgs/by-name/ss/ssh-tools/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitea, installShellFiles, perl }: +{ + lib, + buildGoModule, + fetchFromGitea, + installShellFiles, + perl, +}: buildGoModule rec { pname = "ssh-tools"; diff --git a/pkgs/by-name/ss/ssh-tpm-agent/package.nix b/pkgs/by-name/ss/ssh-tpm-agent/package.nix index ecffd87e94459..ca13fe9d84ba2 100644 --- a/pkgs/by-name/ss/ssh-tpm-agent/package.nix +++ b/pkgs/by-name/ss/ssh-tpm-agent/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nix-update-script -, openssl +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + openssl, }: buildGoModule rec { diff --git a/pkgs/by-name/ss/sshchecker/package.nix b/pkgs/by-name/ss/sshchecker/package.nix index 6f904f52020dd..9aef78f688779 100644 --- a/pkgs/by-name/ss/sshchecker/package.nix +++ b/pkgs/by-name/ss/sshchecker/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/ss/sshed/package.nix b/pkgs/by-name/ss/sshed/package.nix index ac221f49ed2b4..3927b72ce3d29 100644 --- a/pkgs/by-name/ss/sshed/package.nix +++ b/pkgs/by-name/ss/sshed/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ss/sshesame/package.nix b/pkgs/by-name/ss/sshesame/package.nix index 8f600712becce..5006d7e7901f6 100644 --- a/pkgs/by-name/ss/sshesame/package.nix +++ b/pkgs/by-name/ss/sshesame/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, stdenv -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + nix-update-script, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-1v+cNMr2jpLPfxusPsgnFN31DwuNntXuq3sDNpWL0Rg="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; diff --git a/pkgs/by-name/ss/sshfs-fuse/common.nix b/pkgs/by-name/ss/sshfs-fuse/common.nix index 3654c77cc4b86..ba1a0fd975a5d 100644 --- a/pkgs/by-name/ss/sshfs-fuse/common.nix +++ b/pkgs/by-name/ss/sshfs-fuse/common.nix @@ -1,15 +1,31 @@ -{ version, sha256, platforms, patches ? [ ] }: +{ + version, + sha256, + platforms, + patches ? [ ], +}: -{ lib, stdenv, fetchFromGitHub -, meson, pkg-config, ninja, docutils, makeWrapper -, fuse3, macfuse-stubs, glib -, which, python3Packages -, openssh +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, + docutils, + makeWrapper, + fuse3, + macfuse-stubs, + glib, + which, + python3Packages, + openssh, }: let fuse = if stdenv.hostPlatform.isDarwin then macfuse-stubs else fuse3; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "sshfs-fuse"; inherit version; @@ -22,20 +38,34 @@ in stdenv.mkDerivation rec { inherit patches; - nativeBuildInputs = [ meson pkg-config ninja docutils makeWrapper ]; - buildInputs = [ fuse glib ]; - nativeCheckInputs = [ which python3Packages.pytest ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + docutils + makeWrapper + ]; + buildInputs = [ + fuse + glib + ]; + nativeCheckInputs = [ + which + python3Packages.pytest + ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString - (stdenv.hostPlatform.system == "i686-linux") - "-D_FILE_OFFSET_BITS=64"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.system == "i686-linux" + ) "-D_FILE_OFFSET_BITS=64"; - postInstall = '' - mkdir -p $out/sbin - ln -sf $out/bin/sshfs $out/sbin/mount.sshfs - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - wrapProgram $out/bin/sshfs --prefix PATH : "${openssh}/bin" - ''; + postInstall = + '' + mkdir -p $out/sbin + ln -sf $out/bin/sshfs $out/sbin/mount.sshfs + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + wrapProgram $out/bin/sshfs --prefix PATH : "${openssh}/bin" + ''; # doCheck = true; checkPhase = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' diff --git a/pkgs/by-name/ss/sshfs-fuse/package.nix b/pkgs/by-name/ss/sshfs-fuse/package.nix index bc836ac3abada..b6cb28aa46fc1 100644 --- a/pkgs/by-name/ss/sshfs-fuse/package.nix +++ b/pkgs/by-name/ss/sshfs-fuse/package.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, callPackage, fetchpatch }: +{ + lib, + stdenv, + callPackage, + fetchpatch, +}: -let mkSSHFS = args: callPackage (import ./common.nix args) { }; -in if stdenv.hostPlatform.isDarwin then +let + mkSSHFS = args: callPackage (import ./common.nix args) { }; +in +if stdenv.hostPlatform.isDarwin then mkSSHFS { version = "2.10"; # macFUSE isn't yet compatible with libfuse 3.x sha256 = "1dmw4kx6vyawcywiv8drrajnam0m29mxfswcp4209qafzx3mjlp1"; diff --git a/pkgs/by-name/ss/sshguard/package.nix b/pkgs/by-name/ss/sshguard/package.nix index 2c5391ae44998..7ce9c6cf5b2af 100644 --- a/pkgs/by-name/ss/sshguard/package.nix +++ b/pkgs/by-name/ss/sshguard/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoreconfHook, bison, flex}: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + bison, + flex, +}: stdenv.mkDerivation rec { version = "2.4.3"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { doCheck = true; - nativeBuildInputs = [ autoreconfHook bison flex ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + ]; configureFlags = [ "--sysconfdir=/etc" ]; diff --git a/pkgs/by-name/ss/sshlatex/package.nix b/pkgs/by-name/ss/sshlatex/package.nix index a163c934e46d1..2b5da221ea76b 100644 --- a/pkgs/by-name/ss/sshlatex/package.nix +++ b/pkgs/by-name/ss/sshlatex/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, inotify-tools, openssh, perl, gnutar, bash, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + inotify-tools, + openssh, + perl, + gnutar, + bash, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "sshlatex"; @@ -13,13 +23,21 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - installPhase = let - binPath = lib.makeBinPath [ openssh perl gnutar bash inotify-tools ]; - in '' - mkdir -p $out/bin - cp sshlatex $out/bin - wrapProgram $out/bin/sshlatex --prefix PATH : "${binPath}" - ''; + installPhase = + let + binPath = lib.makeBinPath [ + openssh + perl + gnutar + bash + inotify-tools + ]; + in + '' + mkdir -p $out/bin + cp sshlatex $out/bin + wrapProgram $out/bin/sshlatex --prefix PATH : "${binPath}" + ''; meta = with lib; { description = "Collection of hacks to efficiently run LaTeX via ssh"; @@ -31,7 +49,7 @@ stdenv.mkDerivation rec { purely local setting. ''; homepage = "https://github.com/iblech/sshlatex"; - license = lib.licenses.gpl3Plus; # actually dual-licensed gpl3Plus | lppl13cplus + license = lib.licenses.gpl3Plus; # actually dual-licensed gpl3Plus | lppl13cplus platforms = lib.platforms.all; maintainers = [ maintainers.iblech ]; mainProgram = "sshlatex"; diff --git a/pkgs/by-name/ss/sshocker/package.nix b/pkgs/by-name/ss/sshocker/package.nix index 0ace4d9e25977..412d73e7d601d 100644 --- a/pkgs/by-name/ss/sshocker/package.nix +++ b/pkgs/by-name/ss/sshocker/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ss/sshoogr/package.nix b/pkgs/by-name/ss/sshoogr/package.nix index abd42dcb5aa42..a10bc9b21633f 100644 --- a/pkgs/by-name/ss/sshoogr/package.nix +++ b/pkgs/by-name/ss/sshoogr/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchzip, jdk, makeWrapper }: +{ + lib, + stdenv, + fetchzip, + jdk, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "sshoogr"; diff --git a/pkgs/by-name/ss/sshpass/package.nix b/pkgs/by-name/ss/sshpass/package.nix index 60ce32a5e7479..11ff5b8cd9ff1 100644 --- a/pkgs/by-name/ss/sshpass/package.nix +++ b/pkgs/by-name/ss/sshpass/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sshpass"; diff --git a/pkgs/by-name/ss/sshping/package.nix b/pkgs/by-name/ss/sshping/package.nix index 608c8125f0d2b..0a9eb06350bc6 100644 --- a/pkgs/by-name/ss/sshping/package.nix +++ b/pkgs/by-name/ss/sshping/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, libssh}: +{ + lib, + stdenv, + fetchFromGitHub, + libssh, +}: stdenv.mkDerivation rec { pname = "sshping"; @@ -14,12 +19,12 @@ stdenv.mkDerivation rec { buildInputs = [ libssh ]; buildPhase = '' - $CXX -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh - ''; + $CXX -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh + ''; installPhase = '' - install -Dm755 bin/sshping $out/bin/sshping - ''; + install -Dm755 bin/sshping $out/bin/sshping + ''; meta = with lib; { homepage = "https://github.com/spook/sshping"; diff --git a/pkgs/by-name/ss/sshportal/package.nix b/pkgs/by-name/ss/sshportal/package.nix index 58c0b5a2077f6..850a7739eb667 100644 --- a/pkgs/by-name/ss/sshportal/package.nix +++ b/pkgs/by-name/ss/sshportal/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "sshportal"; @@ -11,7 +15,12 @@ buildGoModule rec { sha256 = "sha256-XJ8Hgc8YoJaH2gYOvoYhcpY4qgasgyr4M+ecKJ/RXTs="; }; - ldflags = [ "-X main.GitTag=${version}" "-X main.GitSha=${version}" "-s" "-w" ]; + ldflags = [ + "-X main.GitTag=${version}" + "-X main.GitSha=${version}" + "-s" + "-w" + ]; vendorHash = "sha256-4dMZwkLHS14OGQVPq5VaT/aEpHEJ/4b2P6q3/WiDicM="; diff --git a/pkgs/by-name/ss/sshuttle/package.nix b/pkgs/by-name/ss/sshuttle/package.nix index e52453e8006d5..c51ea66a17792 100644 --- a/pkgs/by-name/ss/sshuttle/package.nix +++ b/pkgs/by-name/ss/sshuttle/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, python3Packages -, fetchFromGitHub -, installShellFiles -, makeWrapper -, sphinx -, coreutils -, iptables -, nettools -, openssh -, procps +{ + lib, + stdenv, + python3Packages, + fetchFromGitHub, + installShellFiles, + makeWrapper, + sphinx, + coreutils, + iptables, + nettools, + openssh, + procps, }: python3Packages.buildPythonApplication rec { @@ -32,7 +33,10 @@ python3Packages.buildPythonApplication rec { sphinx ]; - nativeCheckInputs = with python3Packages; [ pytest-cov-stub pytestCheckHook ]; + nativeCheckInputs = with python3Packages; [ + pytest-cov-stub + pytestCheckHook + ]; postBuild = '' make man -C docs @@ -42,7 +46,19 @@ python3Packages.buildPythonApplication rec { installManPage docs/_build/man/* wrapProgram $out/bin/sshuttle \ - --prefix PATH : "${lib.makeBinPath ([ coreutils openssh procps ] ++ lib.optionals stdenv.hostPlatform.isLinux [ iptables nettools ])}" \ + --prefix PATH : "${ + lib.makeBinPath ( + [ + coreutils + openssh + procps + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + iptables + nettools + ] + ) + }" \ ''; meta = with lib; { @@ -56,6 +72,9 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/sshuttle/sshuttle"; changelog = "https://github.com/sshuttle/sshuttle/blob/v${version}/CHANGES.rst"; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ domenkozar carlosdagos ]; + maintainers = with maintainers; [ + domenkozar + carlosdagos + ]; }; } diff --git a/pkgs/by-name/ss/ssimulacra2/package.nix b/pkgs/by-name/ss/ssimulacra2/package.nix index 9e9992f6d9368..c06e6308c2735 100644 --- a/pkgs/by-name/ss/ssimulacra2/package.nix +++ b/pkgs/by-name/ss/ssimulacra2/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, ninja -, cmake -, libpng -, libhwy -, lcms2 -, giflib +{ + lib, + stdenv, + fetchFromGitHub, + ninja, + cmake, + libpng, + libhwy, + lcms2, + giflib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ss/ssl-cert-check/package.nix b/pkgs/by-name/ss/ssl-cert-check/package.nix index 857fc096e06d3..77823ef9a6c89 100644 --- a/pkgs/by-name/ss/ssl-cert-check/package.nix +++ b/pkgs/by-name/ss/ssl-cert-check/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, coreutils -, fetchFromGitHub -, findutils -, gawk -, gnugrep -, gnused -, makeWrapper -, mktemp -, openssl -, which +{ + lib, + stdenv, + coreutils, + fetchFromGitHub, + findutils, + gawk, + gnugrep, + gnused, + makeWrapper, + mktemp, + openssl, + which, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ss/ssl-proxy/package.nix b/pkgs/by-name/ss/ssl-proxy/package.nix index da710379e5fc0..dae973a6833c0 100644 --- a/pkgs/by-name/ss/ssl-proxy/package.nix +++ b/pkgs/by-name/ss/ssl-proxy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ssl-proxy"; diff --git a/pkgs/by-name/ss/ssldump/package.nix b/pkgs/by-name/ss/ssldump/package.nix index c0b38eec4aaba..7aafa270a432c 100644 --- a/pkgs/by-name/ss/ssldump/package.nix +++ b/pkgs/by-name/ss/ssldump/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, json_c -, libnet -, libpcap -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + json_c, + libnet, + libpcap, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ss/sslh/package.nix b/pkgs/by-name/ss/sslh/package.nix index 7f8d011edb857..f2cd0599cc849 100644 --- a/pkgs/by-name/ss/sslh/package.nix +++ b/pkgs/by-name/ss/sslh/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, libcap, libev, libconfig, perl, tcp_wrappers, pcre2, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + libcap, + libev, + libconfig, + perl, + tcp_wrappers, + pcre2, + nixosTests, +}: stdenv.mkDerivation rec { pname = "sslh"; @@ -13,9 +24,22 @@ stdenv.mkDerivation rec { postPatch = "patchShebangs *.sh"; - buildInputs = [ libev libconfig perl pcre2 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libcap tcp_wrappers ]; + buildInputs = + [ + libev + libconfig + perl + pcre2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + tcp_wrappers + ]; - makeFlags = lib.optionals stdenv.hostPlatform.isLinux [ "USELIBCAP=1" "USELIBWRAP=1" ]; + makeFlags = lib.optionals stdenv.hostPlatform.isLinux [ + "USELIBCAP=1" + "USELIBWRAP=1" + ]; postInstall = '' # install all flavours @@ -37,7 +61,10 @@ stdenv.mkDerivation rec { description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)"; license = licenses.gpl2Plus; homepage = "https://www.rutschle.net/tech/sslh/README.html"; - maintainers = with maintainers; [ koral fpletz ]; + maintainers = with maintainers; [ + koral + fpletz + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/ss/sslmate-agent/package.nix b/pkgs/by-name/ss/sslmate-agent/package.nix index e605f8673241f..f9001d176650b 100644 --- a/pkgs/by-name/ss/sslmate-agent/package.nix +++ b/pkgs/by-name/ss/sslmate-agent/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook }: +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, +}: stdenv.mkDerivation rec { pname = "sslmate-agent"; diff --git a/pkgs/by-name/ss/sslmate/package.nix b/pkgs/by-name/ss/sslmate/package.nix index 2dded22da82f8..19987e1d08f71 100644 --- a/pkgs/by-name/ss/sslmate/package.nix +++ b/pkgs/by-name/ss/sslmate/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perlPackages, makeWrapper, openssl }: +{ + lib, + stdenv, + fetchurl, + perlPackages, + makeWrapper, + openssl, +}: stdenv.mkDerivation rec { pname = "sslmate"; @@ -16,11 +23,14 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/sslmate --prefix PERL5LIB : \ - "${with perlPackages; makePerlPath [ - URI - JSONPP - TermReadKey - ]}" \ + "${ + with perlPackages; + makePerlPath [ + URI + JSONPP + TermReadKey + ] + }" \ --prefix PATH : "${openssl.bin}/bin" ''; diff --git a/pkgs/by-name/ss/sslsplit/package.nix b/pkgs/by-name/ss/sslsplit/package.nix index ca8a96d3321f4..3f1a8fd9e8b7f 100644 --- a/pkgs/by-name/ss/sslsplit/package.nix +++ b/pkgs/by-name/ss/sslsplit/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, openssl, libevent, libpcap, libnet, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + openssl, + libevent, + libpcap, + libnet, + zlib, +}: stdenv.mkDerivation rec { pname = "sslsplit"; @@ -19,7 +29,13 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ openssl libevent libpcap libnet zlib ]; + buildInputs = [ + openssl + libevent + libpcap + libnet + zlib + ]; makeFlags = [ "PREFIX=$(out)" @@ -34,7 +50,12 @@ stdenv.mkDerivation rec { homepage = "https://www.roe.ch/SSLsplit"; platforms = platforms.all; maintainers = with maintainers; [ contrun ]; - license = with licenses; [ bsd2 mit unlicense free ]; + license = with licenses; [ + bsd2 + mit + unlicense + free + ]; mainProgram = "sslsplit"; }; } diff --git a/pkgs/by-name/ss/sslstrip/package.nix b/pkgs/by-name/ss/sslstrip/package.nix index c9ad3406667f2..66f8337180284 100644 --- a/pkgs/by-name/ss/sslstrip/package.nix +++ b/pkgs/by-name/ss/sslstrip/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -33,7 +34,7 @@ python3.pkgs.buildPythonApplication rec { ]; # Project has no test - doCheck= false; + doCheck = false; pythonImportsCheck = [ "sslstrip" diff --git a/pkgs/by-name/ss/ssm-session-manager-plugin/package.nix b/pkgs/by-name/ss/ssm-session-manager-plugin/package.nix index 3f571b44c78c2..a15ca65be19dc 100644 --- a/pkgs/by-name/ss/ssm-session-manager-plugin/package.nix +++ b/pkgs/by-name/ss/ssm-session-manager-plugin/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, fetchpatch +{ + lib, + fetchFromGitHub, + buildGoModule, + fetchpatch, }: buildGoModule rec { pname = "ssm-session-manager-plugin"; @@ -71,6 +72,9 @@ buildGoModule rec { description = "Amazon SSM Session Manager Plugin"; mainProgram = "session-manager-plugin"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ amarshall mbaillie ]; + maintainers = with lib.maintainers; [ + amarshall + mbaillie + ]; }; } diff --git a/pkgs/by-name/ss/ssmsh/package.nix b/pkgs/by-name/ss/ssmsh/package.nix index d685abcd367d5..e613ec7c0b7ae 100644 --- a/pkgs/by-name/ss/ssmsh/package.nix +++ b/pkgs/by-name/ss/ssmsh/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, ssmsh }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + ssmsh, +}: buildGoModule rec { pname = "ssmsh"; @@ -15,7 +21,11 @@ buildGoModule rec { doCheck = true; - ldflags = [ "-w" "-s" "-X main.Version=${version}" ]; + ldflags = [ + "-w" + "-s" + "-X main.Version=${version}" + ]; passthru.tests = testers.testVersion { package = ssmsh; diff --git a/pkgs/by-name/ss/ssocr/package.nix b/pkgs/by-name/ss/ssocr/package.nix index 520ea84ebd995..fc3af8db2e266 100644 --- a/pkgs/by-name/ss/ssocr/package.nix +++ b/pkgs/by-name/ss/ssocr/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, imlib2, libX11, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + imlib2, + libX11, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ssocr"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ imlib2 libX11 ]; + buildInputs = [ + imlib2 + libX11 + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/ss/ssrc/package.nix b/pkgs/by-name/ss/ssrc/package.nix index 73fd622fbeb23..0b8a453d80b3c 100644 --- a/pkgs/by-name/ss/ssrc/package.nix +++ b/pkgs/by-name/ss/ssrc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "ssrc"; @@ -14,7 +18,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp ssrc ssrc_hp $out/bin - ''; + ''; meta = with lib; { description = "High quality audio sampling rate converter"; @@ -35,7 +39,7 @@ stdenv.mkDerivation rec { version = version; homepage = "https://shibatch.sourceforge.net/"; license = licenses.gpl2; - maintainers = with maintainers; [ leenaars]; + maintainers = with maintainers; [ leenaars ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ss/sss-cli/package.nix b/pkgs/by-name/ss/sss-cli/package.nix index 80daa4a6627ea..0c7db346097f0 100644 --- a/pkgs/by-name/ss/sss-cli/package.nix +++ b/pkgs/by-name/ss/sss-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ss/sssnake/package.nix b/pkgs/by-name/ss/sssnake/package.nix index ee3aefef69540..9f1b12a5dc0e4 100644 --- a/pkgs/by-name/ss/sssnake/package.nix +++ b/pkgs/by-name/ss/sssnake/package.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace makefile --replace '-lncursesw' '-lncursesw -D_XOPEN_SOURCE=500' ''; - buildInputs = [ncurses]; + buildInputs = [ ncurses ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -24,8 +24,8 @@ stdenv.mkDerivation rec { description = "Cli snake game that plays itself"; mainProgram = "sssnake"; homepage = "https://github.com/angeljumbo/sssnake"; - license = with licenses; [mit]; + license = with licenses; [ mit ]; platforms = platforms.unix; - maintainers = with maintainers; [quantenzitrone]; + maintainers = with maintainers; [ quantenzitrone ]; }; } diff --git a/pkgs/by-name/ss/ssss/package.nix b/pkgs/by-name/ss/ssss/package.nix index 9d7b1a894b5b5..5325b37a5c519 100644 --- a/pkgs/by-name/ss/ssss/package.nix +++ b/pkgs/by-name/ss/ssss/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, gmp -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + gmp, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ss/sstp/package.nix b/pkgs/by-name/ss/sstp/package.nix index e6ae2fa0f5234..e7a4349989500 100644 --- a/pkgs/by-name/ss/sstp/package.nix +++ b/pkgs/by-name/ss/sstp/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, ppp, libevent, openssl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + ppp, + libevent, + openssl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "sstp-client"; @@ -22,9 +31,16 @@ stdenv.mkDerivation rec { "--with-pppd-plugin-dir=$(out)/lib/pppd" ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - buildInputs = [ libevent openssl ppp ]; + buildInputs = [ + libevent + openssl + ppp + ]; meta = with lib; { description = "SSTP client for Linux"; diff --git a/pkgs/by-name/ss/ssw/package.nix b/pkgs/by-name/ss/ssw/package.nix index e94c84209fcde..17376013b34c8 100644 --- a/pkgs/by-name/ss/ssw/package.nix +++ b/pkgs/by-name/ss/ssw/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk3 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk3, +}: stdenv.mkDerivation rec { pname = "ssw"; diff --git a/pkgs/by-name/st/sta/package.nix b/pkgs/by-name/st/sta/package.nix index 8e39afa5d4235..64cbc1d4745ab 100644 --- a/pkgs/by-name/st/sta/package.nix +++ b/pkgs/by-name/st/sta/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/st/stabber/package.nix b/pkgs/by-name/st/stabber/package.nix index 5ca07007d14ae..a2d3a8c6587ee 100644 --- a/pkgs/by-name/st/stabber/package.nix +++ b/pkgs/by-name/st/stabber/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, expat -, libmicrohttpd, darwin +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + glib, + expat, + libmicrohttpd, + darwin, }: stdenv.mkDerivation { pname = "stabber-unstable"; @@ -21,9 +29,15 @@ stdenv.mkDerivation { mkdir m4 ''; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ glib expat libmicrohttpd ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + glib + expat + libmicrohttpd + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; meta = with lib; { description = "Stubbed XMPP Server"; diff --git a/pkgs/by-name/st/stackit-cli/package.nix b/pkgs/by-name/st/stackit-cli/package.nix index 84a53d4ba3a60..a3f132d4c60e1 100644 --- a/pkgs/by-name/st/stackit-cli/package.nix +++ b/pkgs/by-name/st/stackit-cli/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, makeWrapper -, less -, xdg-utils -, testers -, stackit-cli +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + less, + xdg-utils, + testers, + stackit-cli, }: buildGoModule rec { @@ -32,7 +33,10 @@ buildGoModule rec { "-X main.version=${version}" ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; postInstall = '' mv $out/bin/{stackit-cli,stackit} # rename the binary @@ -47,7 +51,12 @@ buildGoModule rec { postFixup = '' wrapProgram $out/bin/stackit \ - --suffix PATH : ${lib.makeBinPath [ less xdg-utils ]} + --suffix PATH : ${ + lib.makeBinPath [ + less + xdg-utils + ] + } ''; nativeCheckInputs = [ less ]; diff --git a/pkgs/by-name/st/stacks/package.nix b/pkgs/by-name/st/stacks/package.nix index ddaa6bafd5fd8..bdc5e929bb111 100644 --- a/pkgs/by-name/st/stacks/package.nix +++ b/pkgs/by-name/st/stacks/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, zlib }: +{ + lib, + stdenv, + fetchurl, + zlib, +}: stdenv.mkDerivation rec { pname = "stacks"; diff --git a/pkgs/by-name/st/stacktile/package.nix b/pkgs/by-name/st/stacktile/package.nix index 073794e42b989..87579d3caba12 100644 --- a/pkgs/by-name/st/stacktile/package.nix +++ b/pkgs/by-name/st/stacktile/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromSourcehut -, wayland -, wayland-scanner +{ + lib, + stdenv, + fetchFromSourcehut, + wayland, + wayland-scanner, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-IOFxgYMjh92jx2CPfBRZDL/1ucgfHtUyAL5rS2EG+Gc="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ wayland-scanner diff --git a/pkgs/by-name/st/stacs/package.nix b/pkgs/by-name/st/stacs/package.nix index da66dca1cbd32..7cc6c87151c0e 100644 --- a/pkgs/by-name/st/stacs/package.nix +++ b/pkgs/by-name/st/stacs/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/st/stagit/package.nix b/pkgs/by-name/st/stagit/package.nix index 05ea0d2e03e6f..03a038da51bb2 100644 --- a/pkgs/by-name/st/stagit/package.nix +++ b/pkgs/by-name/st/stagit/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, libgit2, fetchgit }: +{ + lib, + stdenv, + libgit2, + fetchgit, +}: stdenv.mkDerivation rec { pname = "stagit"; @@ -19,6 +24,9 @@ stdenv.mkDerivation rec { homepage = "https://git.codemadness.org/stagit/file/README.html"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ jb55 sikmir ]; + maintainers = with maintainers; [ + jb55 + sikmir + ]; }; } diff --git a/pkgs/by-name/st/stalin/package.nix b/pkgs/by-name/st/stalin/package.nix index 245ebdb0c6cb9..1c341ca1166ff 100644 --- a/pkgs/by-name/st/stalin/package.nix +++ b/pkgs/by-name/st/stalin/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, ncompress, libX11 }: +{ + fetchurl, + lib, + stdenv, + ncompress, + libX11, +}: stdenv.mkDerivation rec { pname = "stalin"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0lz8riccpigdixwf6dswwva6s4kxaz3dzxhkqhcxgwmffy30vw8s"; }; - buildInputs = [ ncompress libX11 ]; + buildInputs = [ + ncompress + libX11 + ]; buildPhase = "./build "; @@ -41,6 +50,6 @@ stdenv.mkDerivation rec { description = "Optimizing Scheme compiler"; maintainers = [ ]; - platforms = ["i686-linux"]; # doesn't want to work on 64-bit platforms + platforms = [ "i686-linux" ]; # doesn't want to work on 64-bit platforms }; } diff --git a/pkgs/by-name/st/stalonetray/package.nix b/pkgs/by-name/st/stalonetray/package.nix index 45160d65dbc65..c2ce921da8e77 100644 --- a/pkgs/by-name/st/stalonetray/package.nix +++ b/pkgs/by-name/st/stalonetray/package.nix @@ -1,12 +1,13 @@ -{ autoreconfHook -, docbook_xml_dtd_44 -, docbook-xsl-ns -, fetchFromGitHub -, lib -, libX11 -, libXpm -, libxslt -, stdenv +{ + autoreconfHook, + docbook_xml_dtd_44, + docbook-xsl-ns, + fetchFromGitHub, + lib, + libX11, + libXpm, + libxslt, + stdenv, }: stdenv.mkDerivation rec { @@ -26,9 +27,9 @@ stdenv.mkDerivation rec { ac_str = "AC_SUBST(DOCBOOK_ROOT)"; ac_str_sub = "DOCBOOK_ROOT=${db_root}; ${ac_str}"; in - '' - substituteInPlace configure.ac --replace '${ac_str}' '${ac_str_sub}' - ''; + '' + substituteInPlace configure.ac --replace '${ac_str}' '${ac_str_sub}' + ''; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/by-name/st/star-history/package.nix b/pkgs/by-name/st/star-history/package.nix index 6c2ee875b68a7..da9d1bafd0570 100644 --- a/pkgs/by-name/st/star-history/package.nix +++ b/pkgs/by-name/st/star-history/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, darwin -, fetchCrate -, pkg-config -, openssl -, stdenv +{ + lib, + rustPlatform, + darwin, + fetchCrate, + pkg-config, + openssl, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -20,14 +21,19 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; meta = with lib; { description = "Command line program to generate a graph showing number of GitHub stars of a user, org or repo over time"; homepage = "https://github.com/dtolnay/star-history"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "star-history"; }; diff --git a/pkgs/by-name/st/star/package.nix b/pkgs/by-name/st/star/package.nix index 3383a78e1d384..7b2d3405afd55 100644 --- a/pkgs/by-name/st/star/package.nix +++ b/pkgs/by-name/st/star/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, +}: stdenv.mkDerivation rec { pname = "star"; @@ -19,7 +24,10 @@ stdenv.mkDerivation rec { buildInputs = [ zlib ]; - buildFlags = [ "STAR" "STARlong" ]; + buildFlags = [ + "STAR" + "STARlong" + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/st/starboard/package.nix b/pkgs/by-name/st/starboard/package.nix index f16c1497b46ff..d02839922187a 100644 --- a/pkgs/by-name/st/starboard/package.nix +++ b/pkgs/by-name/st/starboard/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "starboard"; diff --git a/pkgs/by-name/st/starcharts/package.nix b/pkgs/by-name/st/starcharts/package.nix index c866f18b2c6af..48e051049aad0 100644 --- a/pkgs/by-name/st/starcharts/package.nix +++ b/pkgs/by-name/st/starcharts/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/st/stardust/package.nix b/pkgs/by-name/st/stardust/package.nix index df9b2ca190c2f..53d67ab628d0a 100644 --- a/pkgs/by-name/st/stardust/package.nix +++ b/pkgs/by-name/st/stardust/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, zlib, libtiff, libxml2, SDL, xorgproto, libX11 -, libXi, libXmu, libXext, libGLU, libGL }: +{ + lib, + stdenv, + fetchurl, + zlib, + libtiff, + libxml2, + SDL, + xorgproto, + libX11, + libXi, + libXmu, + libXext, + libGLU, + libGL, +}: stdenv.mkDerivation rec { pname = "stardust"; @@ -11,8 +25,17 @@ stdenv.mkDerivation rec { }; buildInputs = [ - zlib libtiff libxml2 SDL xorgproto libX11 libXi - libXmu libXext libGLU libGL + zlib + libtiff + libxml2 + SDL + xorgproto + libX11 + libXi + libXmu + libXext + libGLU + libGL ]; installFlags = [ "bindir=\${out}/bin" ]; diff --git a/pkgs/by-name/st/starfetch/package.nix b/pkgs/by-name/st/starfetch/package.nix index 962409d21763e..34694aa951360 100644 --- a/pkgs/by-name/st/starfetch/package.nix +++ b/pkgs/by-name/st/starfetch/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "starfetch"; @@ -11,11 +15,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-I2M/FlLRkGtD2+GcK1l5+vFsb5tCb4T3UJTPxRx68Ww="; }; - postPatch = '' - substituteInPlace src/starfetch.cpp --replace /usr/local/ $out/ - '' + lib.optionalString stdenv.cc.isClang '' - substituteInPlace makefile --replace g++ clang++ - ''; + postPatch = + '' + substituteInPlace src/starfetch.cpp --replace /usr/local/ $out/ + '' + + lib.optionalString stdenv.cc.isClang '' + substituteInPlace makefile --replace g++ clang++ + ''; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/st/stargate-libcds/package.nix b/pkgs/by-name/st/stargate-libcds/package.nix index c37365652e725..362abbd11d168 100644 --- a/pkgs/by-name/st/stargate-libcds/package.nix +++ b/pkgs/by-name/st/stargate-libcds/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchpatch -, fetchFromGitHub +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/starlark-rust/package.nix b/pkgs/by-name/st/starlark-rust/package.nix index 499114b3f2581..8c343115e4cd8 100644 --- a/pkgs/by-name/st/starlark-rust/package.nix +++ b/pkgs/by-name/st/starlark-rust/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/st/starry/package.nix b/pkgs/by-name/st/starry/package.nix index cb6535baf3acc..fc5b7fb2b6584 100644 --- a/pkgs/by-name/st/starry/package.nix +++ b/pkgs/by-name/st/starry/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -22,11 +23,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Current stars history tells only half the story"; diff --git a/pkgs/by-name/st/staruml/package.nix b/pkgs/by-name/st/staruml/package.nix index cf5574be84b02..f3c40c6eff6f8 100644 --- a/pkgs/by-name/st/staruml/package.nix +++ b/pkgs/by-name/st/staruml/package.nix @@ -1,25 +1,61 @@ -{ stdenv, lib, fetchurl -, dpkg, wrapGAppsHook3 -, hicolor-icon-theme -, gtk3, glib, systemd -, xorg, nss, nspr -, atk, at-spi2-atk, dbus -, gdk-pixbuf, pango, cairo -, expat, libdrm, mesa -, alsa-lib, at-spi2-core, cups -, libxkbcommon }: +{ + stdenv, + lib, + fetchurl, + dpkg, + wrapGAppsHook3, + hicolor-icon-theme, + gtk3, + glib, + systemd, + xorg, + nss, + nspr, + atk, + at-spi2-atk, + dbus, + gdk-pixbuf, + pango, + cairo, + expat, + libdrm, + mesa, + alsa-lib, + at-spi2-core, + cups, + libxkbcommon, +}: let LD_LIBRARY_PATH = lib.makeLibraryPath [ - glib gtk3 xorg.libXdamage - xorg.libX11 xorg.libxcb xorg.libXcomposite - xorg.libXcursor xorg.libXext xorg.libXfixes - xorg.libXi xorg.libXrender xorg.libXtst - xorg.libxshmfence libxkbcommon nss - nspr atk at-spi2-atk - dbus gdk-pixbuf pango cairo - xorg.libXrandr expat libdrm - mesa alsa-lib at-spi2-core + glib + gtk3 + xorg.libXdamage + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXcursor + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrender + xorg.libXtst + xorg.libxshmfence + libxkbcommon + nss + nspr + atk + at-spi2-atk + dbus + gdk-pixbuf + pango + cairo + xorg.libXrandr + expat + libdrm + mesa + alsa-lib + at-spi2-core cups ]; in @@ -28,12 +64,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "staruml"; src = fetchurl { - url = "https://files.staruml.io/releases-v6/StarUML_${finalAttrs.version}_amd64.deb"; - sha256 = "sha256-G63MxjefAJ0J40HzrI9j/sRkHLIdUzBf0GSbw6fAFoI="; - }; + url = "https://files.staruml.io/releases-v6/StarUML_${finalAttrs.version}_amd64.deb"; + sha256 = "sha256-G63MxjefAJ0J40HzrI9j/sRkHLIdUzBf0GSbw6fAFoI="; + }; - nativeBuildInputs = [ wrapGAppsHook3 dpkg ]; - buildInputs = [ glib hicolor-icon-theme ]; + nativeBuildInputs = [ + wrapGAppsHook3 + dpkg + ]; + buildInputs = [ + glib + hicolor-icon-theme + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/st/static-server/package.nix b/pkgs/by-name/st/static-server/package.nix index 3be8eec4b80df..443d6b9c71704 100644 --- a/pkgs/by-name/st/static-server/package.nix +++ b/pkgs/by-name/st/static-server/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, curl -, stdenv -, testers -, static-server -, substituteAll +{ + lib, + buildGoModule, + fetchFromGitHub, + curl, + stdenv, + testers, + static-server, + substituteAll, }: buildGoModule rec { @@ -33,7 +34,10 @@ buildGoModule rec { curl ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # tests sometimes fail with SIGQUIT on darwin doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/st/statifier/package.nix b/pkgs/by-name/st/statifier/package.nix index 9c00cdab40164..763e1f6a759f1 100644 --- a/pkgs/by-name/st/statifier/package.nix +++ b/pkgs/by-name/st/statifier/package.nix @@ -1,4 +1,8 @@ -{ lib, multiStdenv, fetchurl }: +{ + lib, + multiStdenv, + fetchurl, +}: multiStdenv.mkDerivation rec { pname = "statifier"; @@ -9,7 +13,10 @@ multiStdenv.mkDerivation rec { sha256 = "03lzkla6knjhh186b43cac410x2fmhi28pkmzb3d211n3zp5i9y8"; }; - phaseNames = [ "patchPhase" "installPhase" ]; + phaseNames = [ + "patchPhase" + "installPhase" + ]; postPatch = '' sed -e s@/usr/@"$out/"@g -i */Makefile src/statifier diff --git a/pkgs/by-name/st/statik/package.nix b/pkgs/by-name/st/statik/package.nix index 5dec08d0d6e6e..8c965a73220d3 100644 --- a/pkgs/by-name/st/statik/package.nix +++ b/pkgs/by-name/st/statik/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "statik"; @@ -14,7 +18,10 @@ buildGoModule rec { vendorHash = null; # Avoid building example - subPackages = [ "." "fs" ]; + subPackages = [ + "." + "fs" + ]; # Tests are checking that the files embedded are preserving # their meta data like dates etc, but it assumes to be in 2048 # which is not the case once entered the nix store diff --git a/pkgs/by-name/st/station/package.nix b/pkgs/by-name/st/station/package.nix index c1a4dab8f7094..7e9391b6866f1 100644 --- a/pkgs/by-name/st/station/package.nix +++ b/pkgs/by-name/st/station/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, fetchurl, lib }: +{ + appimageTools, + fetchurl, + lib, +}: let pname = "station"; @@ -12,7 +16,8 @@ let appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 rec { +in +appimageTools.wrapType2 rec { inherit pname version src; profile = '' diff --git a/pkgs/by-name/st/statix/package.nix b/pkgs/by-name/st/statix/package.nix index 079459f2a2d0b..8aa5d23e4c93a 100644 --- a/pkgs/by-name/st/statix/package.nix +++ b/pkgs/by-name/st/statix/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, withJson ? true, stdenv }: +{ + lib, + rustPlatform, + fetchFromGitHub, + withJson ? true, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "statix"; @@ -26,6 +32,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/nerdypepper/statix"; license = licenses.mit; mainProgram = "statix"; - maintainers = with maintainers; [ figsoda nerdypepper ]; + maintainers = with maintainers; [ + figsoda + nerdypepper + ]; }; } diff --git a/pkgs/by-name/st/statserial/package.nix b/pkgs/by-name/st/statserial/package.nix index 129cf9ad504ce..47246ec03bf31 100644 --- a/pkgs/by-name/st/statserial/package.nix +++ b/pkgs/by-name/st/statserial/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, ncurses, glibc }: +{ + lib, + stdenv, + fetchurl, + ncurses, + glibc, +}: stdenv.mkDerivation rec { pname = "statserial"; @@ -17,14 +23,17 @@ stdenv.mkDerivation rec { --replace 'LDFLAGS = -s -N' '#LDFLAGS = -s -N' ''; - buildInputs = [ ncurses glibc ]; + buildInputs = [ + ncurses + glibc + ]; installPhase = '' - mkdir -p $out/bin - cp statserial $out/bin + mkdir -p $out/bin + cp statserial $out/bin - mkdir -p $out/share/man/man1 - cp statserial.1 $out/share/man/man1 + mkdir -p $out/share/man/man1 + cp statserial.1 $out/share/man/man1 ''; meta = with lib; { diff --git a/pkgs/by-name/st/status-im/package.nix b/pkgs/by-name/st/status-im/package.nix index 914050e1dfd66..e027265882df6 100644 --- a/pkgs/by-name/st/status-im/package.nix +++ b/pkgs/by-name/st/status-im/package.nix @@ -27,14 +27,15 @@ let exec = "status-desktop"; icon = "status"; comment = "Desktop client for the Status Network"; - categories = ["Network"]; + categories = [ "Network" ]; }; icon = fetchurl { url = "https://github.com/status-im/status-desktop/raw/afde83651724a555626b5d9a3d582918de6c3d59/status.png"; hash = "sha256-ViGuOr9LskGs/P7pjPO9zYgosWaZlZZYVuPpliOA5dY="; }; pname = "status-desktop"; -in appimageTools.wrapType2 { +in +appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' install -m 444 -D ${desktopEntry}/share/applications/status.desktop $out/share/applications/status.desktop @@ -43,7 +44,7 @@ in appimageTools.wrapType2 { meta = with lib; { description = "Desktop client for the Status Network"; license = licenses.mpl20; - maintainers = with maintainers; [ a-kenji ]; + maintainers = with maintainers; [ a-kenji ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/st/stb/package.nix b/pkgs/by-name/st/stb/package.nix index 5e3cc62ea41b8..40b79f6259bc3 100644 --- a/pkgs/by-name/st/stb/package.nix +++ b/pkgs/by-name/st/stb/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, copyPkgconfigItems, makePkgconfigItem }: +{ + lib, + stdenv, + fetchFromGitHub, + copyPkgconfigItems, + makePkgconfigItem, +}: stdenv.mkDerivation rec { pname = "stb"; diff --git a/pkgs/by-name/st/stc-cli/package.nix b/pkgs/by-name/st/stc-cli/package.nix index d04fe5293c3a5..46187cda994dd 100644 --- a/pkgs/by-name/st/stc-cli/package.nix +++ b/pkgs/by-name/st/stc-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "stc"; diff --git a/pkgs/by-name/st/stderred/package.nix b/pkgs/by-name/st/stderred/package.nix index f159e4328c9c4..b237853616859 100644 --- a/pkgs/by-name/st/stderred/package.nix +++ b/pkgs/by-name/st/stderred/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchFromGitHub -, cmake -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + lib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/stdman/package.nix b/pkgs/by-name/st/stdman/package.nix index e934271b1671a..56b1bcd5a7b28 100644 --- a/pkgs/by-name/st/stdman/package.nix +++ b/pkgs/by-name/st/stdman/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, curl, fetchFromGitHub }: +{ + lib, + stdenv, + curl, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "stdman"; diff --git a/pkgs/by-name/st/stdmanpages/package.nix b/pkgs/by-name/st/stdmanpages/package.nix index 1fd83700f85a0..812c71f5c68e5 100644 --- a/pkgs/by-name/st/stdmanpages/package.nix +++ b/pkgs/by-name/st/stdmanpages/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: stdenv.mkDerivation rec { pname = "std-man-pages"; diff --git a/pkgs/by-name/st/stduuid/package.nix b/pkgs/by-name/st/stduuid/package.nix index d11f9b753c2a7..a0a2ce6d9faed 100644 --- a/pkgs/by-name/st/stduuid/package.nix +++ b/pkgs/by-name/st/stduuid/package.nix @@ -1,6 +1,14 @@ -{ stdenv, cmake, fetchFromGitHub, fetchpatch, lib }: let +{ + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, + lib, +}: +let version = "1.2.3"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "stduuid"; inherit version; diff --git a/pkgs/by-name/st/steam-acf/package.nix b/pkgs/by-name/st/steam-acf/package.nix index 7028ed33a39b4..664ff5f465860 100644 --- a/pkgs/by-name/st/steam-acf/package.nix +++ b/pkgs/by-name/st/steam-acf/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "steam-acf"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Tool to convert Steam .acf files to JSON"; homepage = "https://github.com/chisui/acf"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ chisui ]; mainProgram = "acf"; }; diff --git a/pkgs/by-name/st/steam-play-none/package.nix b/pkgs/by-name/st/steam-play-none/package.nix index 5585d1aa3cb09..040c6869b1447 100644 --- a/pkgs/by-name/st/steam-play-none/package.nix +++ b/pkgs/by-name/st/steam-play-none/package.nix @@ -1,7 +1,8 @@ -{ fetchFromGitHub -, stdenvNoCC -, lib -, bash +{ + fetchFromGitHub, + stdenvNoCC, + lib, + bash, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "steam-play-none"; @@ -14,7 +15,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; buildInputs = [ bash ]; strictDeps = true; - outputs = [ "out" "steamcompattool" ]; + outputs = [ + "out" + "steamcompattool" + ]; installPhase = '' runHook preInstall @@ -36,7 +40,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/Scrumplex/Steam-Play-None"; license = lib.licenses.cc0; - maintainers = with lib.maintainers; [ matthewcroughan Scrumplex ]; + maintainers = with lib.maintainers; [ + matthewcroughan + Scrumplex + ]; platforms = [ "x86_64-linux" ]; }; }) diff --git a/pkgs/by-name/st/steam-unwrapped/package.nix b/pkgs/by-name/st/steam-unwrapped/package.nix index aff83ec2ef556..98e1ee15ac45b 100644 --- a/pkgs/by-name/st/steam-unwrapped/package.nix +++ b/pkgs/by-name/st/steam-unwrapped/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, bash }: +{ + lib, + stdenv, + fetchurl, + bash, +}: stdenv.mkDerivation (finalAttrs: { pname = "steam-unwrapped"; @@ -10,7 +15,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Gia5182s4J4E3Ia1EeC5kjJX9mSltsr+b+1eRtEXtPk="; }; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; postInstall = '' rm $out/bin/steamdeps diff --git a/pkgs/by-name/st/steamcmd/package.nix b/pkgs/by-name/st/steamcmd/package.nix index 69d5cd8a7863c..5eda455f61ed5 100644 --- a/pkgs/by-name/st/steamcmd/package.nix +++ b/pkgs/by-name/st/steamcmd/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchurl, steam-run, bash, coreutils -, steamRoot ? "~/.local/share/Steam" +{ + lib, + stdenv, + fetchurl, + steam-run, + bash, + coreutils, + steamRoot ? "~/.local/share/Steam", }: stdenv.mkDerivation { @@ -18,7 +24,10 @@ stdenv.mkDerivation { sourceRoot=. ''; - buildInputs = [ bash steam-run ]; + buildInputs = [ + bash + steam-run + ]; dontBuild = true; diff --git a/pkgs/by-name/st/steamcontroller/package.nix b/pkgs/by-name/st/steamcontroller/package.nix index cd2563779d6fe..92f3fcb1aff34 100644 --- a/pkgs/by-name/st/steamcontroller/package.nix +++ b/pkgs/by-name/st/steamcontroller/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, libusb1, linuxHeaders +{ + lib, + fetchFromGitHub, + python3Packages, + libusb1, + linuxHeaders, }: with python3Packages; @@ -8,9 +13,9 @@ buildPythonApplication { version = "2017-08-11"; src = fetchFromGitHub { - owner = "ynsta"; - repo = "steamcontroller"; - rev = "80928ce237925e0d0d7a65a45b481435ba6b931e"; + owner = "ynsta"; + repo = "steamcontroller"; + rev = "80928ce237925e0d0d7a65a45b481435ba6b931e"; sha256 = "0lv9j2zv8fmkmc0x9r7fa8zac2xrwfczms35qz1nfa1hr84wniid"; }; @@ -20,15 +25,18 @@ buildPythonApplication { ''; buildInputs = [ libusb1 ]; - propagatedBuildInputs = [ psutil python3Packages.libusb1 ]; + propagatedBuildInputs = [ + psutil + python3Packages.libusb1 + ]; doCheck = false; pythonImportsCheck = [ "steamcontroller" ]; meta = with lib; { description = "Standalone Steam controller driver"; - homepage = "https://github.com/ynsta/steamcontroller"; - license = licenses.mit; + homepage = "https://github.com/ynsta/steamcontroller"; + license = licenses.mit; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/st/steamguard-cli/package.nix b/pkgs/by-name/st/steamguard-cli/package.nix index 5293f90e7ebd1..9e8dd22612d36 100644 --- a/pkgs/by-name/st/steamguard-cli/package.nix +++ b/pkgs/by-name/st/steamguard-cli/package.nix @@ -1,8 +1,9 @@ -{ installShellFiles -, lib -, rustPlatform -, fetchFromGitHub -, stdenv +{ + installShellFiles, + lib, + rustPlatform, + fetchFromGitHub, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -32,7 +33,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/dyc3/steamguard-cli"; license = with licenses; [ gpl3Only ]; mainProgram = "steamguard"; - maintainers = with maintainers; [ surfaceflinger sigmasquadron ]; + maintainers = with maintainers; [ + surfaceflinger + sigmasquadron + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/st/steamos-devkit/package.nix b/pkgs/by-name/st/steamos-devkit/package.nix index ed0e41b5f84a9..206619d4e65f4 100644 --- a/pkgs/by-name/st/steamos-devkit/package.nix +++ b/pkgs/by-name/st/steamos-devkit/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchFromGitLab -, python3 -, copyDesktopItems -, makeDesktopItem -, pkg-config -, SDL2 +{ + lib, + fetchFromGitHub, + fetchFromGitLab, + python3, + copyDesktopItems, + makeDesktopItem, + pkg-config, + SDL2, }: let # steamos-devkit requires a build of the unreleased pyimgui 2.0 branch, move to pythonPackages when 2.0 is released. diff --git a/pkgs/by-name/st/steampipe/package.nix b/pkgs/by-name/st/steampipe/package.nix index 25e365445cc01..3209f0b815dc7 100644 --- a/pkgs/by-name/st/steampipe/package.nix +++ b/pkgs/by-name/st/steampipe/package.nix @@ -13,7 +13,7 @@ buildGoModule rec { pname = "steampipe"; version = "1.0.1"; - CGO_ENABLED=0; + CGO_ENABLED = 0; src = fetchFromGitHub { owner = "turbot"; @@ -80,6 +80,9 @@ buildGoModule rec { homepage = "https://steampipe.io/"; license = lib.licenses.agpl3Only; mainProgram = "steampipe"; - maintainers = with lib.maintainers; [ hardselius anthonyroussel ]; + maintainers = with lib.maintainers; [ + hardselius + anthonyroussel + ]; }; } diff --git a/pkgs/by-name/st/steamtinkerlaunch/package.nix b/pkgs/by-name/st/steamtinkerlaunch/package.nix index 0d7551ca30a2d..039641dfa92ab 100644 --- a/pkgs/by-name/st/steamtinkerlaunch/package.nix +++ b/pkgs/by-name/st/steamtinkerlaunch/package.nix @@ -1,17 +1,18 @@ -{ bash -, fetchFromGitHub -, gawk -, git -, lib -, procps -, stdenvNoCC -, unixtools -, unzip -, wget -, xdotool -, xorg -, yad -, writeShellApplication +{ + bash, + fetchFromGitHub, + gawk, + git, + lib, + procps, + stdenvNoCC, + unixtools, + unzip, + wget, + xdotool, + xorg, + yad, + writeShellApplication, }: stdenvNoCC.mkDerivation { @@ -25,19 +26,24 @@ stdenvNoCC.mkDerivation { hash = "sha256-CGtSGAm+52t2zFsPJEsm76w+FEHhbOd9NYuerGa31tc="; }; - outputs = [ "out" "steamcompattool" ]; + outputs = [ + "out" + "steamcompattool" + ]; installFlags = [ "PREFIX=\${out}" ]; - nativeBuildInputs = let - # We need a `steam` command in order to install the compat tool - fakeSteam = writeShellApplication { - name = "steam"; - text = "exit 0"; - }; - in [ - fakeSteam - ]; + nativeBuildInputs = + let + # We need a `steam` command in order to install the compat tool + fakeSteam = writeShellApplication { + name = "steam"; + text = "exit 0"; + }; + in + [ + fakeSteam + ]; postInstall = let @@ -96,7 +102,10 @@ stdenvNoCC.mkDerivation { mainProgram = "steamtinkerlaunch"; homepage = "https://github.com/sonic2kk/steamtinkerlaunch"; license = licenses.gpl3; - maintainers = with maintainers; [ urandom surfaceflinger ]; + maintainers = with maintainers; [ + urandom + surfaceflinger + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/st/stegseek/package.nix b/pkgs/by-name/st/stegseek/package.nix index dd2c100457541..ed7868e996697 100644 --- a/pkgs/by-name/st/stegseek/package.nix +++ b/pkgs/by-name/st/stegseek/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, cmake -, fetchFromGitHub -, libjpeg -, libmcrypt -, libmhash -, libtool -, zlib +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + libjpeg, + libmcrypt, + libmhash, + libtool, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/stegsolve/package.nix b/pkgs/by-name/st/stegsolve/package.nix index 9bd8f99114d18..33c186837a959 100644 --- a/pkgs/by-name/st/stegsolve/package.nix +++ b/pkgs/by-name/st/stegsolve/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchurl -, jre -, makeWrapper -, copyDesktopItems -, makeDesktopItem +{ + lib, + stdenvNoCC, + fetchurl, + jre, + makeWrapper, + copyDesktopItems, + makeDesktopItem, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -30,7 +31,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { }) ]; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/st/stella/package.nix b/pkgs/by-name/st/stella/package.nix index 90cea0687bf1a..1c96b12925181 100644 --- a/pkgs/by-name/st/stella/package.nix +++ b/pkgs/by-name/st/stella/package.nix @@ -1,9 +1,10 @@ -{ lib -, SDL2 -, fetchFromGitHub -, sqlite -, pkg-config -, stdenv +{ + lib, + SDL2, + fetchFromGitHub, + sqlite, + pkg-config, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/st/stellar-core/package.nix b/pkgs/by-name/st/stellar-core/package.nix index 16865f7709f34..930efaa35dc6d 100644 --- a/pkgs/by-name/st/stellar-core/package.nix +++ b/pkgs/by-name/st/stellar-core/package.nix @@ -1,17 +1,18 @@ -{ autoconf -, automake -, bison -, fetchFromGitHub -, fetchpatch -, flex -, git -, lib -, libtool -, libunwind -, pkg-config -, postgresql -, ripgrep -, stdenv +{ + autoconf, + automake, + bison, + fetchFromGitHub, + fetchpatch, + flex, + git, + lib, + libtool, + libunwind, + pkg-config, + postgresql, + ripgrep, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/st/stenc/package.nix b/pkgs/by-name/st/stenc/package.nix index 1f0ea7e2b6a28..b1d15c56f65b5 100644 --- a/pkgs/by-name/st/stenc/package.nix +++ b/pkgs/by-name/st/stenc/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/step-kms-plugin/package.nix b/pkgs/by-name/st/step-kms-plugin/package.nix index 8eee656831f78..d98ffb7cfe8cc 100644 --- a/pkgs/by-name/st/step-kms-plugin/package.nix +++ b/pkgs/by-name/st/step-kms-plugin/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, pcsclite -, softhsm -, opensc -, yubihsm-shell +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + pcsclite, + softhsm, + opensc, + yubihsm-shell, }: buildGoModule rec { diff --git a/pkgs/by-name/st/stepmania/package.nix b/pkgs/by-name/st/stepmania/package.nix index 000b07c5433d9..f978d8c62bba4 100644 --- a/pkgs/by-name/st/stepmania/package.nix +++ b/pkgs/by-name/st/stepmania/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, nasm -, alsa-lib -, ffmpeg_6 -, glew -, glib -, gtk2 -, libmad -, libogg -, libpng -, libpulseaudio -, libvorbis -, udev -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + nasm, + alsa-lib, + ffmpeg_6, + glew, + glib, + gtk2, + libmad, + libogg, + libpng, + libpulseaudio, + libvorbis, + udev, + xorg, }: stdenv.mkDerivation { @@ -24,8 +25,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "stepmania"; - repo = "stepmania"; - rev = "d55acb1ba26f1c5b5e3048d6d6c0bd116625216f"; + repo = "stepmania"; + rev = "d55acb1ba26f1c5b5e3048d6d6c0bd116625216f"; hash = "sha256-49H2Q61R4l/G0fWsjCjiAUXeWwG3lcsDpV5XvR3l3QE="; }; @@ -42,7 +43,10 @@ stdenv.mkDerivation { sed '1i#include ' -i src/arch/ArchHooks/ArchHooks.h # gcc12 ''; - nativeBuildInputs = [ cmake nasm ]; + nativeBuildInputs = [ + cmake + nasm + ]; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/st/stepreduce/package.nix b/pkgs/by-name/st/stepreduce/package.nix index d6122ec0bbb31..4dc1eb389f866 100644 --- a/pkgs/by-name/st/stepreduce/package.nix +++ b/pkgs/by-name/st/stepreduce/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitLab +{ + lib, + stdenv, + fetchFromGitLab, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/stereotool/package.nix b/pkgs/by-name/st/stereotool/package.nix index 546ecd44068e2..210a3f62ad4cf 100644 --- a/pkgs/by-name/st/stereotool/package.nix +++ b/pkgs/by-name/st/stereotool/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, libX11 -, libXpm -, alsa-lib -, bzip2 -, zlib -, libsForQt5 -, libgcc -, makeWrapper -, copyDesktopItems -, makeDesktopItem +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + libX11, + libXpm, + alsa-lib, + bzip2, + zlib, + libsForQt5, + libgcc, + makeWrapper, + copyDesktopItems, + makeDesktopItem, }: stdenv.mkDerivation rec { @@ -28,7 +29,8 @@ stdenv.mkDerivation rec { url = "https://download.thimeo.com/stereo_tool_icon_${versionNoPoint}.png"; hash = "sha256-dcivH6Cc7pdQ99m80vS4E5mp/SHtTlNu1EHc+0ALIGM="; }) - ] ++ ( + ] + ++ ( { # Alsa version for 64bits. x86_64-linux = [ @@ -105,7 +107,9 @@ stdenv.mkDerivation rec { hash = "sha256-oCGhxQkpT0jNwbWoBnC5nmvVrDjYmr75s3Qq+NftZy0="; }) ]; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")); + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}") + ); unpackPhase = '' for srcFile in $srcs; do @@ -126,7 +130,11 @@ stdenv.mkDerivation rec { exec = "stereo_tool_gui"; icon = "stereo-tool-icon"; comment = "Broadcast Audio Processing"; - categories = [ "AudioVideo" "Audio" "AudioVideoEditing" ]; + categories = [ + "AudioVideo" + "Audio" + "AudioVideoEditing" + ]; }) (makeDesktopItem { name = "stereotool-jack"; @@ -134,7 +142,11 @@ stdenv.mkDerivation rec { exec = "stereo_tool_gui_jack"; icon = "stereo-tool-icon"; comment = "Broadcast Audio Processing"; - categories = [ "AudioVideo" "Audio" "AudioVideoEditing" ]; + categories = [ + "AudioVideo" + "Audio" + "AudioVideoEditing" + ]; }) ]; @@ -164,7 +176,12 @@ stdenv.mkDerivation rec { description = "Stereo Tool is a software-based audio processor which offers outstanding audio quality and comes with many unique features"; license = licenses.unfree; mainProgram = "stereo_tool_gui"; - platforms = [ "aarch64-linux" "aarch32-linux" "x86_64-linux" "i686-linux" ]; + platforms = [ + "aarch64-linux" + "aarch32-linux" + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ RudiOnTheAir ]; }; diff --git a/pkgs/by-name/st/stfl/package.nix b/pkgs/by-name/st/stfl/package.nix index d53d220060362..8a3079fbf6797 100644 --- a/pkgs/by-name/st/stfl/package.nix +++ b/pkgs/by-name/st/stfl/package.nix @@ -1,11 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "stfl"; version = "0.24-unstable-2021-11-29"; src = fetchFromGitHub { - owner ="newsboat"; + owner = "newsboat"; repo = "stfl"; rev = "c2c10b8a50fef613c0aacdc5d06a0fa610bf79e9"; hash = "sha256-os1yQ6o4m7yBiEZQIPP64diRleIr7FtuQucUbWs4A6k="; @@ -17,38 +22,43 @@ stdenv.mkDerivation rec { # Silence warnings related to use of implicitly declared library functions and implicit ints. # TODO: Remove and/or fix with patches the next time this package is updated. - env = lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=implicit-function-declaration" - "-Wno-error=implicit-int" - ]; - } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { - NIX_LDFLAGS = "-liconv"; - }; + env = + lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=implicit-int" + ]; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + NIX_LDFLAGS = "-liconv"; + }; + + preBuild = + '' + sed -i s/gcc/cc/g Makefile + sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + sed -i s/-soname/-install_name/ Makefile + '' + # upstream builds shared library unconditionally. Also, it has no + # support for cross-compilation. + + lib.optionalString stdenv.hostPlatform.isStatic '' + sed -i 's/all:.*/all: libstfl.a stfl.pc/' Makefile + sed -i 's/\tar /\t${stdenv.cc.targetPrefix}ar /' Makefile + sed -i 's/\tranlib /\t${stdenv.cc.targetPrefix}ranlib /' Makefile + sed -i '/install -m 644 libstfl.so./d' Makefile + sed -i '/ln -fs libstfl.so./d' Makefile + ''; - preBuild = '' - sed -i s/gcc/cc/g Makefile - sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i s/-soname/-install_name/ Makefile - '' - # upstream builds shared library unconditionally. Also, it has no - # support for cross-compilation. - + lib.optionalString stdenv.hostPlatform.isStatic '' - sed -i 's/all:.*/all: libstfl.a stfl.pc/' Makefile - sed -i 's/\tar /\t${stdenv.cc.targetPrefix}ar /' Makefile - sed -i 's/\tranlib /\t${stdenv.cc.targetPrefix}ranlib /' Makefile - sed -i '/install -m 644 libstfl.so./d' Makefile - sed -i '/ln -fs libstfl.so./d' Makefile - '' ; - - installPhase = '' - DESTDIR=$out prefix=\"\" make install - '' - # some programs rely on libstfl.so.0 to be present, so link it - + lib.optionalString (!stdenv.hostPlatform.isStatic) '' - ln -s $out/lib/libstfl.so.0.24 $out/lib/libstfl.so.0 - ''; + installPhase = + '' + DESTDIR=$out prefix=\"\" make install + '' + # some programs rely on libstfl.so.0 to be present, so link it + + lib.optionalString (!stdenv.hostPlatform.isStatic) '' + ln -s $out/lib/libstfl.so.0.24 $out/lib/libstfl.so.0 + ''; meta = { homepage = "https://web.archive.org/web/20211113222004/http://www.clifford.at/stfl/"; diff --git a/pkgs/by-name/st/stgit/package.nix b/pkgs/by-name/st/stgit/package.nix index 4d44724eddec8..2f57d8b161bb1 100644 --- a/pkgs/by-name/st/stgit/package.nix +++ b/pkgs/by-name/st/stgit/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, installShellFiles -, makeWrapper -, asciidoc -, docbook_xsl -, docbook_xml_dtd_45 -, xmlto -, curl -, git -, perl -, darwin -, libiconv +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + installShellFiles, + makeWrapper, + asciidoc, + docbook_xsl, + docbook_xml_dtd_45, + xmlto, + curl, + git, + perl, + darwin, + libiconv, }: rustPlatform.buildRustPackage rec { @@ -29,16 +30,26 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-s3PFNc1rn01X6tauRXp5B4cg3AIVSishqDFy0lP/8g8="; nativeBuildInputs = [ - pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl - docbook_xml_dtd_45 perl + pkg-config + installShellFiles + makeWrapper + asciidoc + xmlto + docbook_xsl + docbook_xml_dtd_45 + perl ]; buildInputs = [ curl ]; - nativeCheckInputs = [ - git perl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.system_cmds libiconv - ]; + nativeCheckInputs = + [ + git + perl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.system_cmds + libiconv + ]; postPatch = '' for f in Documentation/*.xsl; do @@ -67,7 +78,11 @@ rustPlatform.buildRustPackage rec { checkTarget = "test"; dontCargoInstall = true; - installTargets = [ "install" "install-man" "install-html" ]; + installTargets = [ + "install" + "install-man" + "install-html" + ]; postInstall = '' wrapProgram $out/bin/stg --prefix PATH : ${lib.makeBinPath [ git ]} diff --git a/pkgs/by-name/st/sticky-notes/package.nix b/pkgs/by-name/st/sticky-notes/package.nix index 98fd7d387e640..d121b2b1c25b4 100644 --- a/pkgs/by-name/st/sticky-notes/package.nix +++ b/pkgs/by-name/st/sticky-notes/package.nix @@ -1,22 +1,23 @@ -{ lib -, desktop-file-utils -, fetchFromGitHub -, fetchYarnDeps -, fixup_yarn_lock -, gjs -, glib-networking -, gobject-introspection -, gst_all_1 -, gtk4 -, libadwaita -, libsoup_3 -, meson -, ninja -, pkg-config -, stdenv -, wrapGAppsHook4 -, yarn -, nodejs +{ + lib, + desktop-file-utils, + fetchFromGitHub, + fetchYarnDeps, + fixup_yarn_lock, + gjs, + glib-networking, + gobject-introspection, + gst_all_1, + gtk4, + libadwaita, + libsoup_3, + meson, + ninja, + pkg-config, + stdenv, + wrapGAppsHook4, + yarn, + nodejs, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/sticky/package.nix b/pkgs/by-name/st/sticky/package.nix index 293c2e46ea81a..25947e1523ddb 100644 --- a/pkgs/by-name/st/sticky/package.nix +++ b/pkgs/by-name/st/sticky/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, gobject-introspection -, meson -, ninja -, python3 -, wrapGAppsHook3 -, xapp -, glib -, gspell -, gtk3 -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + gobject-introspection, + meson, + ninja, + python3, + wrapGAppsHook3, + xapp, + glib, + gspell, + gtk3, + gitUpdater, }: stdenv.mkDerivation rec { @@ -72,6 +73,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/linuxmint/sticky"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ linsui bobby285271 ]; + maintainers = with maintainers; [ + linsui + bobby285271 + ]; }; } diff --git a/pkgs/by-name/st/stig/package.nix b/pkgs/by-name/st/stig/package.nix index 19e108f45a318..7c6dec75cee63 100644 --- a/pkgs/by-name/st/stig/package.nix +++ b/pkgs/by-name/st/stig/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, python310Packages -, testers -, stig +{ + lib, + fetchFromGitHub, + python310Packages, + testers, + stig, }: python310Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/st/stilo-themes/package.nix b/pkgs/by-name/st/stilo-themes/package.nix index 6401c0e28694b..8ee4cb2678454 100644 --- a/pkgs/by-name/st/stilo-themes/package.nix +++ b/pkgs/by-name/st/stilo-themes/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + sassc, + gdk-pixbuf, + librsvg, + gtk_engines, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "stilo-themes"; @@ -11,9 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-YKEDXrOAn7pGWb0VcOx7cKHnuX120yPzqtUVnzyLrDQ="; }; - nativeBuildInputs = [ meson ninja sassc ]; + nativeBuildInputs = [ + meson + ninja + sassc + ]; - buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + buildInputs = [ + gdk-pixbuf + librsvg + gtk_engines + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/st/stix-otf/package.nix b/pkgs/by-name/st/stix-otf/package.nix index c5505b7a79483..b9a1b795ce190 100644 --- a/pkgs/by-name/st/stix-otf/package.nix +++ b/pkgs/by-name/st/stix-otf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "stix-otf"; diff --git a/pkgs/by-name/st/stix-two/package.nix b/pkgs/by-name/st/stix-two/package.nix index 86ceb388f86aa..729518d971710 100644 --- a/pkgs/by-name/st/stix-two/package.nix +++ b/pkgs/by-name/st/stix-two/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "stix-two"; version = "2.13"; src = fetchzip { - url = "https://github.com/stipub/stixfonts/raw/v${version}/zipfiles/STIX${builtins.replaceStrings [ "." ] [ "_" ] version}-all.zip"; + url = "https://github.com/stipub/stixfonts/raw/v${version}/zipfiles/STIX${ + builtins.replaceStrings [ "." ] [ "_" ] version + }-all.zip"; stripRoot = false; hash = "sha256-hfQmrw7HjlhQSA0rVTs84i3j3iMVR0k7tCRBcB6hEpU="; }; diff --git a/pkgs/by-name/st/stlink-tool/package.nix b/pkgs/by-name/st/stlink-tool/package.nix index 029bb0a9b25ac..b3b1ea303ab78 100644 --- a/pkgs/by-name/st/stlink-tool/package.nix +++ b/pkgs/by-name/st/stlink-tool/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, pkg-config -, fetchFromGitHub -, libusb1 +{ + lib, + stdenv, + pkg-config, + fetchFromGitHub, + libusb1, }: # IMPORTANT: You need permissions to access the stlink usb devices. diff --git a/pkgs/by-name/st/stm32cubemx/package.nix b/pkgs/by-name/st/stm32cubemx/package.nix index 44f173a1cc8df..0505e5b92c87d 100644 --- a/pkgs/by-name/st/stm32cubemx/package.nix +++ b/pkgs/by-name/st/stm32cubemx/package.nix @@ -1,12 +1,13 @@ -{ fdupes -, buildFHSEnv -, fetchzip -, icoutils -, imagemagick -, jdk21 -, lib -, makeDesktopItem -, stdenvNoCC +{ + fdupes, + buildFHSEnv, + fetchzip, + icoutils, + imagemagick, + jdk21, + lib, + makeDesktopItem, + stdenvNoCC, }: let @@ -16,12 +17,18 @@ let version = "6.13.0"; src = fetchzip { - url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}-lin.zip"; + url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${ + builtins.replaceStrings [ "." ] [ "" ] version + }-lin.zip"; hash = "sha256-ypZVVPmAsApaccWl7ZtAECwphD2SUUiVNC2DYC5rYb4="; stripRoot = false; }; - nativeBuildInputs = [ fdupes icoutils imagemagick ]; + nativeBuildInputs = [ + fdupes + icoutils + imagemagick + ]; desktopItem = makeDesktopItem { name = "STM32CubeMX"; exec = "stm32cubemx"; @@ -78,38 +85,41 @@ let homepage = "https://www.st.com/en/development-tools/stm32cubemx.html"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; - maintainers = with maintainers; [ angaz wucke13 ]; + maintainers = with maintainers; [ + angaz + wucke13 + ]; platforms = [ "x86_64-linux" ]; }; }; - in - buildFHSEnv { - inherit (package) pname version meta; - runScript = "${package.outPath}/bin/stm32cubemx"; - targetPkgs = pkgs: - with pkgs; [ - alsa-lib - at-spi2-atk - cairo - cups - dbus - expat - glib - gtk3 - libdrm - libGL - libudev0-shim - libxkbcommon - mesa - nspr - nss - pango - xorg.libX11 - xorg.libxcb - xorg.libXcomposite - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXrandr - ]; +in +buildFHSEnv { + inherit (package) pname version meta; + runScript = "${package.outPath}/bin/stm32cubemx"; + targetPkgs = + pkgs: with pkgs; [ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + glib + gtk3 + libdrm + libGL + libudev0-shim + libxkbcommon + mesa + nspr + nss + pango + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + ]; } diff --git a/pkgs/by-name/st/stm32flash/package.nix b/pkgs/by-name/st/stm32flash/package.nix index fd9703fed4cf8..7787dc9c05f4c 100644 --- a/pkgs/by-name/st/stm32flash/package.nix +++ b/pkgs/by-name/st/stm32flash/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "stm32flash"; diff --git a/pkgs/by-name/st/stm8flash/package.nix b/pkgs/by-name/st/stm8flash/package.nix index ee049d3758a20..4c55857b02f10 100644 --- a/pkgs/by-name/st/stm8flash/package.nix +++ b/pkgs/by-name/st/stm8flash/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libusb1, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libusb1, + pkg-config, +}: stdenv.mkDerivation { pname = "stm8flash"; diff --git a/pkgs/by-name/st/stochas/package.nix b/pkgs/by-name/st/stochas/package.nix index 67e89ccf3a2ea..7374b0c97831f 100644 --- a/pkgs/by-name/st/stochas/package.nix +++ b/pkgs/by-name/st/stochas/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11, libXrandr, libXinerama, libXext, libXcursor, freetype, alsa-lib, libjack2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libX11, + libXrandr, + libXinerama, + libXext, + libXcursor, + freetype, + alsa-lib, + libjack2, +}: stdenv.mkDerivation rec { pname = "stochas"; @@ -17,10 +31,20 @@ stdenv.mkDerivation rec { lib/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h # gcc12 ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - libX11 libXrandr libXinerama libXext libXcursor freetype alsa-lib libjack2 + libX11 + libXrandr + libXinerama + libXext + libXcursor + freetype + alsa-lib + libjack2 ]; installPhase = '' diff --git a/pkgs/by-name/st/stockfish/package.nix b/pkgs/by-name/st/stockfish/package.nix index 134eaa660d3a1..502f9f9b478f1 100644 --- a/pkgs/by-name/st/stockfish/package.nix +++ b/pkgs/by-name/st/stockfish/package.nix @@ -5,33 +5,39 @@ fetchFromGitHub, apple-sdk, apple-sdk_11, - darwinMinVersionHook + darwinMinVersionHook, }: let - # The x86-64-modern may need to be refined further in the future - # but stdenv.hostPlatform CPU flags do not currently work on Darwin - # https://discourse.nixos.org/t/darwin-system-and-stdenv-hostplatform-features/9745 - archDarwin = if stdenv.hostPlatform.isx86_64 then "x86-64-modern" else "apple-silicon"; - arch = if stdenv.hostPlatform.isDarwin then archDarwin else - if stdenv.hostPlatform.isx86_64 then "x86-64" else - if stdenv.hostPlatform.isi686 then "x86-32" else - if stdenv.hostPlatform.isAarch64 then "armv8" else - "unknown"; + # The x86-64-modern may need to be refined further in the future + # but stdenv.hostPlatform CPU flags do not currently work on Darwin + # https://discourse.nixos.org/t/darwin-system-and-stdenv-hostplatform-features/9745 + archDarwin = if stdenv.hostPlatform.isx86_64 then "x86-64-modern" else "apple-silicon"; + arch = + if stdenv.hostPlatform.isDarwin then + archDarwin + else if stdenv.hostPlatform.isx86_64 then + "x86-64" + else if stdenv.hostPlatform.isi686 then + "x86-32" + else if stdenv.hostPlatform.isAarch64 then + "armv8" + else + "unknown"; - # These files can be found in src/evaluate.h - nnueBigFile = "nn-1111cefa1111.nnue"; - nnueBig = fetchurl { - name = nnueBigFile; - url = "https://tests.stockfishchess.org/api/nn/${nnueBigFile}"; - sha256 = "sha256-ERHO+hERa3cWG9SxTatMUPJuWSDHVvSGFZK+Pc1t4XQ="; - }; - nnueSmallFile = "nn-37f18f62d772.nnue"; - nnueSmall = fetchurl { - name = nnueSmallFile; - url = "https://tests.stockfishchess.org/api/nn/${nnueSmallFile}"; - sha256 = "sha256-N/GPYtdy8xB+HWqso4mMEww8hvKrY+ZVX7vKIGNaiZ0="; - }; + # These files can be found in src/evaluate.h + nnueBigFile = "nn-1111cefa1111.nnue"; + nnueBig = fetchurl { + name = nnueBigFile; + url = "https://tests.stockfishchess.org/api/nn/${nnueBigFile}"; + sha256 = "sha256-ERHO+hERa3cWG9SxTatMUPJuWSDHVvSGFZK+Pc1t4XQ="; + }; + nnueSmallFile = "nn-37f18f62d772.nnue"; + nnueSmall = fetchurl { + name = nnueSmallFile; + url = "https://tests.stockfishchess.org/api/nn/${nnueSmallFile}"; + sha256 = "sha256-N/GPYtdy8xB+HWqso4mMEww8hvKrY+ZVX7vKIGNaiZ0="; + }; in stdenv.mkDerivation rec { @@ -51,16 +57,19 @@ stdenv.mkDerivation rec { cp "${nnueSmall}" "$sourceRoot/${nnueSmallFile}" ''; - makeFlags = [ "PREFIX=$(out)" "ARCH=${arch}" "CXX=${stdenv.cc.targetPrefix}c++" ]; - buildFlags = [ "build" ]; - - buildInputs = lib.optionals ( - stdenv.hostPlatform.isDarwin - && lib.versionOlder apple-sdk.version "11") [ - apple-sdk_11 - (darwinMinVersionHook "10.15") + makeFlags = [ + "PREFIX=$(out)" + "ARCH=${arch}" + "CXX=${stdenv.cc.targetPrefix}c++" ]; + buildFlags = [ "build" ]; + buildInputs = + lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionOlder apple-sdk.version "11") + [ + apple-sdk_11 + (darwinMinVersionHook "10.15") + ]; enableParallelBuilding = true; @@ -71,9 +80,19 @@ stdenv.mkDerivation rec { longDescription = '' Stockfish is one of the strongest chess engines in the world. It is also much stronger than the best human chess grandmasters. - ''; - maintainers = with maintainers; [ luispedro siraben thibaultd ]; - platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; + ''; + maintainers = with maintainers; [ + luispedro + siraben + thibaultd + ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; license = licenses.gpl3Only; }; diff --git a/pkgs/by-name/st/stone-kingdoms/package.nix b/pkgs/by-name/st/stone-kingdoms/package.nix index a8b84c60b1e89..6065059b5ee09 100644 --- a/pkgs/by-name/st/stone-kingdoms/package.nix +++ b/pkgs/by-name/st/stone-kingdoms/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchFromGitLab -, copyDesktopItems -, love -, makeDesktopItem -, makeWrapper -, strip-nondeterminism -, zip +{ + lib, + stdenvNoCC, + fetchFromGitLab, + copyDesktopItems, + love, + makeDesktopItem, + makeWrapper, + strip-nondeterminism, + zip, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/st/stone-phaser/package.nix b/pkgs/by-name/st/stone-phaser/package.nix index f581ae1b1cb64..e1e68d999ac62 100644 --- a/pkgs/by-name/st/stone-phaser/package.nix +++ b/pkgs/by-name/st/stone-phaser/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, xorg, cairo, libGL, lv2, libjack2, mesa, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + cairo, + libGL, + lv2, + libjack2, + mesa, + pkg-config, +}: stdenv.mkDerivation rec { pname = "stone-phaser"; @@ -14,7 +25,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorg.libX11 cairo libGL lv2 libjack2 mesa + xorg.libX11 + cairo + libGL + lv2 + libjack2 + mesa ]; postPatch = '' diff --git a/pkgs/by-name/st/stone/package.nix b/pkgs/by-name/st/stone/package.nix index 989a56f0863ab..d93eaebf3c755 100644 --- a/pkgs/by-name/st/stone/package.nix +++ b/pkgs/by-name/st/stone/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchurl -, openssl +{ + stdenv, + lib, + fetchurl, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/storcli/package.nix b/pkgs/by-name/st/storcli/package.nix index 7c78a2fefd174..c04db3df2e8dd 100644 --- a/pkgs/by-name/st/storcli/package.nix +++ b/pkgs/by-name/st/storcli/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchzip -, rpmextract -, testers +{ + lib, + stdenvNoCC, + fetchzip, + rpmextract, + testers, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -17,16 +18,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ rpmextract ]; - unpackPhase = let - inherit (stdenvNoCC.hostPlatform) system; - platforms = { - x86_64-linux = "Linux"; - aarch64-linux = "ARM/Linux"; - }; - platform = platforms.${system} or (throw "unsupported system: ${system}"); - in '' - rpmextract $src/univ_viva_cli_rel/Unified_storcli_all_os/${platform}/storcli-00${finalAttrs.version}00.0000-1.*.rpm - ''; + unpackPhase = + let + inherit (stdenvNoCC.hostPlatform) system; + platforms = { + x86_64-linux = "Linux"; + aarch64-linux = "ARM/Linux"; + }; + platform = platforms.${system} or (throw "unsupported system: ${system}"); + in + '' + rpmextract $src/univ_viva_cli_rel/Unified_storcli_all_os/${platform}/storcli-00${finalAttrs.version}00.0000-1.*.rpm + ''; dontPatch = true; dontConfigure = true; @@ -56,6 +59,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = licenses.unfree; maintainers = with maintainers; [ panicgh ]; mainProgram = "storcli"; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; }) diff --git a/pkgs/by-name/st/storeBackup/package.nix b/pkgs/by-name/st/storeBackup/package.nix index 74c867e9ec5e5..8a58698c0cdfb 100644 --- a/pkgs/by-name/st/storeBackup/package.nix +++ b/pkgs/by-name/st/storeBackup/package.nix @@ -1,4 +1,15 @@ -{lib, stdenv, which, coreutils, perl, fetchurl, makeWrapper, diffutils , writeScriptBin, bzip2}: +{ + lib, + stdenv, + which, + coreutils, + perl, + fetchurl, + makeWrapper, + diffutils, + writeScriptBin, + bzip2, +}: # quick usage: # storeBackup.pl --sourceDir /home/user --backupDir /tmp/my_backup_destination @@ -9,7 +20,8 @@ # known impurity: test cases seem to bu using /tmp/storeBackup.lock .. -let dummyMount = writeScriptBin "mount" "#!${stdenv.shell}"; +let + dummyMount = writeScriptBin "mount" "#!${stdenv.shell}"; in stdenv.mkDerivation rec { @@ -45,7 +57,12 @@ stdenv.mkDerivation rec { -e '1 s@/usr/bin/env perl@${perl.withPackages (p: [ p.DBFile ])}/bin/perl@' for p in $out/bin/* - do wrapProgram "$p" --prefix PATH ":" "${lib.makeBinPath [ which bzip2 ]}" + do wrapProgram "$p" --prefix PATH ":" "${ + lib.makeBinPath [ + which + bzip2 + ] + }" done patchShebangs $out @@ -110,7 +127,7 @@ stdenv.mkDerivation rec { description = "Backup suite that stores files on other disks"; homepage = "https://savannah.nongnu.org/projects/storebackup"; license = lib.licenses.gpl3Plus; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/st/storj-uplink/package.nix b/pkgs/by-name/st/storj-uplink/package.nix index 412310d4de3a6..b31199c4f7b1e 100644 --- a/pkgs/by-name/st/storj-uplink/package.nix +++ b/pkgs/by-name/st/storj-uplink/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-5pNYC1ubjxaU7KPd4lsEOyAe/OU95UID4JtFJ6Q+E3w="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Command-line tool for Storj"; diff --git a/pkgs/by-name/st/stormlib/package.nix b/pkgs/by-name/st/stormlib/package.nix index 090ada0d89f79..bf5163a8f48ac 100644 --- a/pkgs/by-name/st/stormlib/package.nix +++ b/pkgs/by-name/st/stormlib/package.nix @@ -24,14 +24,15 @@ stdenv.mkDerivation (finalAttrs: { cmake ]; - buildInputs = [ - bzip2 - libtomcrypt - zlib - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Carbon - ]; + buildInputs = + [ + bzip2 + libtomcrypt + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Carbon + ]; cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) @@ -40,10 +41,12 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-implicit-function-declaration" - "-Wno-int-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-implicit-function-declaration" + "-Wno-int-conversion" + ] + ); postPatch = '' substituteInPlace CMakeLists.txt \ @@ -54,7 +57,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/ladislav-zezula/StormLib"; description = "Open-source project that can work with Blizzard MPQ archives"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ aanderse karolchmist ]; + maintainers = with lib.maintainers; [ + aanderse + karolchmist + ]; platforms = lib.platforms.all; broken = stdenv.hostPlatform.isDarwin; # installation directory mismatch }; diff --git a/pkgs/by-name/st/storrent/package.nix b/pkgs/by-name/st/storrent/package.nix index 57ea126a16357..873885eb4417c 100644 --- a/pkgs/by-name/st/storrent/package.nix +++ b/pkgs/by-name/st/storrent/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "storrent"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-iPKZPXsa6ya29N/u9QYd5LAm42+FtHZLGStRDxsAxe4="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/jech/storrent"; diff --git a/pkgs/by-name/st/stow/package.nix b/pkgs/by-name/st/stow/package.nix index eb1430fddc5fe..96e98afa4842b 100644 --- a/pkgs/by-name/st/stow/package.nix +++ b/pkgs/by-name/st/stow/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, perlPackages +{ + lib, + stdenv, + fetchurl, + perlPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -14,7 +15,11 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ perlPackages.perl ]; - buildInputs = with perlPackages; [ perl IOStringy TestOutput ]; + buildInputs = with perlPackages; [ + perl + IOStringy + TestOutput + ]; doCheck = true; diff --git a/pkgs/by-name/st/strace-analyzer/package.nix b/pkgs/by-name/st/strace-analyzer/package.nix index ee4242c1ca3de..5c257e53cd10c 100644 --- a/pkgs/by-name/st/strace-analyzer/package.nix +++ b/pkgs/by-name/st/strace-analyzer/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, strace -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + strace, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/st/strace/package.nix b/pkgs/by-name/st/strace/package.nix index b45554f017bb1..6e4978a6577f0 100644 --- a/pkgs/by-name/st/strace/package.nix +++ b/pkgs/by-name/st/strace/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, perl, libunwind, buildPackages, gitUpdater, elfutils }: +{ + lib, + stdenv, + fetchurl, + perl, + libunwind, + buildPackages, + gitUpdater, + elfutils, +}: stdenv.mkDerivation rec { pname = "strace"; @@ -19,12 +28,14 @@ stdenv.mkDerivation rec { # libunwind for -k. # On RISC-V platforms, LLVM's libunwind implementation is unsupported by strace. # The build will silently fall back and -k will not work on RISC-V. - buildInputs = [ libunwind ] + buildInputs = + [ libunwind ] # -kk ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform elfutils) elfutils; - configureFlags = [ "--enable-mpers=check" ] - ++ lib.optional stdenv.cc.isClang "CFLAGS=-Wno-unused-function"; + configureFlags = [ + "--enable-mpers=check" + ] ++ lib.optional stdenv.cc.isClang "CFLAGS=-Wno-unused-function"; passthru.updateScript = gitUpdater { # No nicer place to find latest release. @@ -35,9 +46,16 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://strace.io/"; description = "System call tracer for Linux"; - license = with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite + license = with licenses; [ + lgpl21Plus + gpl2Plus + ]; # gpl2Plus is for the test suite platforms = platforms.linux; - maintainers = with maintainers; [ globin ma27 qyliss ]; + maintainers = with maintainers; [ + globin + ma27 + qyliss + ]; mainProgram = "strace"; }; } diff --git a/pkgs/by-name/st/stratis-cli/package.nix b/pkgs/by-name/st/stratis-cli/package.nix index 799a481339d5b..59715b6af454f 100644 --- a/pkgs/by-name/st/stratis-cli/package.nix +++ b/pkgs/by-name/st/stratis-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchFromGitHub -, nixosTests +{ + lib, + python3Packages, + fetchFromGitHub, + nixosTests, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/st/stratisd/package.nix b/pkgs/by-name/st/stratisd/package.nix index 3a3899cd4251d..98eee72833c44 100644 --- a/pkgs/by-name/st/stratisd/package.nix +++ b/pkgs/by-name/st/stratisd/package.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cargo -, rustc -, pkg-config -, asciidoc -, ncurses -, glibc -, dbus -, cryptsetup -, util-linux -, lvm2 -, python3 -, systemd -, xfsprogs -, thin-provisioning-tools -, clevis -, jose -, jq -, curl -, tpm2-tools -, coreutils -, clevisSupport ? false -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cargo, + rustc, + pkg-config, + asciidoc, + ncurses, + glibc, + dbus, + cryptsetup, + util-linux, + lvm2, + python3, + systemd, + xfsprogs, + thin-provisioning-tools, + clevis, + jose, + jq, + curl, + tpm2-tools, + coreutils, + clevisSupport ? false, + nixosTests, }: stdenv.mkDerivation rec { @@ -77,22 +78,31 @@ stdenv.mkDerivation rec { (python3.withPackages (ps: [ ps.dbus-python ])) ]; - outputs = [ "out" "initrd" ]; + outputs = [ + "out" + "initrd" + ]; - env.EXECUTABLES_PATHS = lib.makeBinPath ([ - xfsprogs - thin-provisioning-tools - ] ++ lib.optionals clevisSupport [ - clevis - jose - jq - cryptsetup - curl - tpm2-tools - coreutils - ]); + env.EXECUTABLES_PATHS = lib.makeBinPath ( + [ + xfsprogs + thin-provisioning-tools + ] + ++ lib.optionals clevisSupport [ + clevis + jose + jq + cryptsetup + curl + tpm2-tools + coreutils + ] + ); - makeFlags = [ "PREFIX=${placeholder "out"}" "INSTALL=install" ]; + makeFlags = [ + "PREFIX=${placeholder "out"}" + "INSTALL=install" + ]; buildFlags = [ "build-all" ]; doCheck = true; diff --git a/pkgs/by-name/st/stratovirt/package.nix b/pkgs/by-name/st/stratovirt/package.nix index 695a021a26dac..843390d848fd5 100644 --- a/pkgs/by-name/st/stratovirt/package.nix +++ b/pkgs/by-name/st/stratovirt/package.nix @@ -1,7 +1,17 @@ -{ lib, rustPlatform, fetchgit -, pkg-config, pixman, libcap_ng, cyrus_sasl -, libpulseaudio, gtk3, libusbgx, alsa-lib -, linuxHeaders, libseccomp +{ + lib, + rustPlatform, + fetchgit, + pkg-config, + pixman, + libcap_ng, + cyrus_sasl, + libpulseaudio, + gtk3, + libusbgx, + alsa-lib, + linuxHeaders, + libseccomp, }: rustPlatform.buildRustPackage rec { @@ -38,7 +48,10 @@ rustPlatform.buildRustPackage rec { description = "Virtual Machine Manager from Huawei"; license = licenses.mulan-psl2; maintainers = with maintainers; [ astro ]; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; mainProgram = "stratovirt"; }; } diff --git a/pkgs/by-name/st/streamlink/package.nix b/pkgs/by-name/st/streamlink/package.nix index 765a7576dff64..54f951e847515 100644 --- a/pkgs/by-name/st/streamlink/package.nix +++ b/pkgs/by-name/st/streamlink/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchPypi -, substituteAll -, ffmpeg +{ + lib, + python3Packages, + fetchPypi, + substituteAll, + ffmpeg, }: python3Packages.buildPythonApplication rec { @@ -67,6 +68,10 @@ python3Packages.buildPythonApplication rec { ''; license = lib.licenses.bsd2; mainProgram = "streamlink"; - maintainers = with lib.maintainers; [ dezgeg zraexy DeeUnderscore ]; + maintainers = with lib.maintainers; [ + dezgeg + zraexy + DeeUnderscore + ]; }; } diff --git a/pkgs/by-name/st/streamrip/package.nix b/pkgs/by-name/st/streamrip/package.nix index 8e7f6c683a0ca..5f264606e8a49 100644 --- a/pkgs/by-name/st/streamrip/package.nix +++ b/pkgs/by-name/st/streamrip/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, -, ffmpeg + ffmpeg, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/st/streamripper/package.nix b/pkgs/by-name/st/streamripper/package.nix index 6874d2f420597..50ec647755abb 100644 --- a/pkgs/by-name/st/streamripper/package.nix +++ b/pkgs/by-name/st/streamripper/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl , glib, pkg-config, libogg, libvorbis, libmad }: +{ + lib, + stdenv, + fetchurl, + glib, + pkg-config, + libogg, + libvorbis, + libmad, +}: stdenv.mkDerivation rec { pname = "streamripper"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libogg libvorbis libmad ]; + buildInputs = [ + glib + libogg + libvorbis + libmad + ]; makeFlags = [ "AR:=$(AR)" diff --git a/pkgs/by-name/st/strelka/package.nix b/pkgs/by-name/st/strelka/package.nix index ad6c0d9e5a4cc..a7470394213c3 100644 --- a/pkgs/by-name/st/strelka/package.nix +++ b/pkgs/by-name/st/strelka/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, zlib, python2}: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + zlib, + python2, +}: stdenv.mkDerivation rec { pname = "strelka"; @@ -28,7 +37,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost zlib python2 ]; + buildInputs = [ + boost + zlib + python2 + ]; cmakeFlags = [ "-DCMAKE_CXX_STANDARD=14" diff --git a/pkgs/by-name/st/stress/package.nix b/pkgs/by-name/st/stress/package.nix index 1f66c26578db0..6aee23949676d 100644 --- a/pkgs/by-name/st/stress/package.nix +++ b/pkgs/by-name/st/stress/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "stress"; diff --git a/pkgs/by-name/st/stressapptest/package.nix b/pkgs/by-name/st/stressapptest/package.nix index 3243db0d0076c..d0a19a98a6cac 100644 --- a/pkgs/by-name/st/stressapptest/package.nix +++ b/pkgs/by-name/st/stressapptest/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libaio +{ + lib, + stdenv, + fetchFromGitHub, + libaio, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/st/stretchly/package.nix b/pkgs/by-name/st/stretchly/package.nix index da0c492850180..b921992f6817a 100644 --- a/pkgs/by-name/st/stretchly/package.nix +++ b/pkgs/by-name/st/stretchly/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchurl -, makeWrapper -, electron -, common-updater-scripts -, writeShellScript -, makeDesktopItem +{ + stdenv, + lib, + fetchurl, + makeWrapper, + electron, + common-updater-scripts, + writeShellScript, + makeDesktopItem, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/st/stricat/package.nix b/pkgs/by-name/st/stricat/package.nix index b21498e009f1a..bfd6397657b77 100644 --- a/pkgs/by-name/st/stricat/package.nix +++ b/pkgs/by-name/st/stricat/package.nix @@ -1,11 +1,15 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "stricat"; version = "20140609100300"; src = fetchurl { - url = "http://www.stribob.com/dist/${pname}-${version}.tgz"; + url = "http://www.stribob.com/dist/${pname}-${version}.tgz"; sha256 = "1axg8r4g5n5kdqj5013pgck80nni3z172xkg506vz4zx1zcmrm4r"; }; @@ -18,9 +22,9 @@ stdenv.mkDerivation rec { meta = { description = "Multi-use cryptographic tool based on the STRIBOB algorithm"; - homepage = "https://www.stribob.com/stricat/"; - license = lib.licenses.bsd3; - platforms = lib.platforms.unix; + homepage = "https://www.stribob.com/stricat/"; + license = lib.licenses.bsd3; + platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; mainProgram = "stricat"; }; diff --git a/pkgs/by-name/st/strictdoc/package.nix b/pkgs/by-name/st/strictdoc/package.nix index 49475a7f46a8a..40eaa2b9702f3 100644 --- a/pkgs/by-name/st/strictdoc/package.nix +++ b/pkgs/by-name/st/strictdoc/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/st/string-machine/package.nix b/pkgs/by-name/st/string-machine/package.nix index d679202343d56..b35d6649fe1e8 100644 --- a/pkgs/by-name/st/string-machine/package.nix +++ b/pkgs/by-name/st/string-machine/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, boost, cairo, libGL, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + boost, + cairo, + libGL, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "string-machine"; @@ -29,7 +39,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - boost cairo libGL lv2 + boost + cairo + libGL + lv2 ]; makeFlags = [ diff --git a/pkgs/by-name/st/structorizer/package.nix b/pkgs/by-name/st/structorizer/package.nix index 282a1eb1cb7e5..6b464a4674014 100644 --- a/pkgs/by-name/st/structorizer/package.nix +++ b/pkgs/by-name/st/structorizer/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, jdk11 -, makeDesktopItem -, makeWrapper -, copyDesktopItems -, nix-update-script +{ + stdenv, + lib, + fetchFromGitHub, + jdk11, + makeDesktopItem, + makeWrapper, + copyDesktopItems, + nix-update-script, }: stdenv.mkDerivation rec { @@ -30,7 +31,10 @@ stdenv.mkDerivation rec { "RasterGraphics" "ComputerScience" ]; - keywords = [ "nsd" "diagrams" ]; + keywords = [ + "nsd" + "diagrams" + ]; }) ]; @@ -41,11 +45,18 @@ stdenv.mkDerivation rec { hash = "sha256-fqvQH4DRl+R0laGOnfWgFz67JSAdUzrws4k7gmQ3S7A="; }; - patches = [ ./makeStructorizer.patch ./makeBigJar.patch ]; + patches = [ + ./makeStructorizer.patch + ./makeBigJar.patch + ]; strictDeps = true; - nativeBuildInputs = [ jdk11 makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + jdk11 + makeWrapper + copyDesktopItems + ]; buildInputs = [ jdk11 ]; diff --git a/pkgs/by-name/st/stt/package.nix b/pkgs/by-name/st/stt/package.nix index 8d3cb54d614b3..b39a3922fdbff 100644 --- a/pkgs/by-name/st/stt/package.nix +++ b/pkgs/by-name/st/stt/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, autoPatchelfHook, bzip2, xz }: +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + bzip2, + xz, +}: stdenv.mkDerivation rec { pname = "stt"; diff --git a/pkgs/by-name/st/sttr/package.nix b/pkgs/by-name/st/sttr/package.nix index b276581f38a41..fa864df910bca 100644 --- a/pkgs/by-name/st/sttr/package.nix +++ b/pkgs/by-name/st/sttr/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/st/stuffbin/package.nix b/pkgs/by-name/st/stuffbin/package.nix index 6249c7f5bbd51..a5b629bf3da19 100644 --- a/pkgs/by-name/st/stuffbin/package.nix +++ b/pkgs/by-name/st/stuffbin/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "stuffbin"; @@ -13,7 +17,11 @@ buildGoModule rec { sha256 = "sha256-dOlc/G2IiuMAN0LqiZtbpXLSYaOpe5cl1+cs3YhaAbg="; }; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { description = "Compress and embed static files and assets into Go binaries and access them with a virtual file system in production"; diff --git a/pkgs/by-name/st/stumpish/package.nix b/pkgs/by-name/st/stumpish/package.nix index c776e66da886e..a7bfd38c07a86 100644 --- a/pkgs/by-name/st/stumpish/package.nix +++ b/pkgs/by-name/st/stumpish/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, substituteAll, fetchFromGitHub, gnused, ncurses, xorg, rlwrap }: +{ + lib, + stdenv, + substituteAll, + fetchFromGitHub, + gnused, + ncurses, + xorg, + rlwrap, +}: stdenv.mkDerivation { pname = "stumpish"; @@ -12,7 +21,10 @@ stdenv.mkDerivation { }; buildInputs = [ - gnused xorg.xprop rlwrap ncurses + gnused + xorg.xprop + rlwrap + ncurses ]; patches = [ diff --git a/pkgs/by-name/st/stun/package.nix b/pkgs/by-name/st/stun/package.nix index de4787eca63a5..01e36817f2b28 100644 --- a/pkgs/by-name/st/stun/package.nix +++ b/pkgs/by-name/st/stun/package.nix @@ -1,21 +1,28 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { - pname = "stun"; + pname = "stun"; version = "0.97"; src = fetchurl { - url = "mirror://sourceforge/${pname}/stund-${version}.tgz"; + url = "mirror://sourceforge/${pname}/stund-${version}.tgz"; sha256 = "1mxirnnqfqdwb9x8hfjjsscp6lx3468ph6ddx32l94ir46fbzqc3"; }; srcManpages = fetchurl { - url = "mirror://ubuntu/pool/universe/s/stun/stun_0.97~dfsg-2.debian.tar.xz"; - name = "stun-debian.tar.xz"; + url = "mirror://ubuntu/pool/universe/s/stun/stun_0.97~dfsg-2.debian.tar.xz"; + name = "stun-debian.tar.xz"; sha256 = "1pr6zrdhia0aafsvywl1hrhlgl00vahp63bw1z2mzvdxri7q88f0"; }; - outputs = [ "out" "server" ]; + outputs = [ + "out" + "server" + ]; preBuild = '' tar Jxvf ${srcManpages} debian/manpages @@ -33,10 +40,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Stun server and test client"; - homepage = "https://sourceforge.net/projects/stun/"; - license = licenses.vsl10; - maintainers = with maintainers; [ marcweber obadz ]; - platforms = platforms.linux; + homepage = "https://sourceforge.net/projects/stun/"; + license = licenses.vsl10; + maintainers = with maintainers; [ + marcweber + obadz + ]; + platforms = platforms.linux; mainProgram = "stun"; }; } diff --git a/pkgs/by-name/st/stunnel/package.nix b/pkgs/by-name/st/stunnel/package.nix index b055cc596fe6e..26381ad4f4b84 100644 --- a/pkgs/by-name/st/stunnel/package.nix +++ b/pkgs/by-name/st/stunnel/package.nix @@ -1,20 +1,24 @@ { - fetchurl -, lib -, nixosTests -, openssl -, stdenv -, systemd -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd -, mimalloc -, mimallocSupport ? false + fetchurl, + lib, + nixosTests, + openssl, + stdenv, + systemd, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + mimalloc, + mimallocSupport ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "stunnel"; version = "5.73"; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; src = fetchurl { url = "https://www.stunnel.org/archive/${lib.versions.major finalAttrs.version}.x/stunnel-${finalAttrs.version}.tar.gz"; @@ -25,13 +29,16 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - buildInputs = [ - openssl - ] ++ lib.optionals systemdSupport [ - systemd - ] ++ lib.optionals mimallocSupport [ - mimalloc - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals systemdSupport [ + systemd + ] + ++ lib.optionals mimallocSupport [ + mimalloc + ]; configureFlags = [ "--with-ssl=${openssl.dev}" diff --git a/pkgs/by-name/st/stuntman/package.nix b/pkgs/by-name/st/stuntman/package.nix index 3d2ff6eeb50c5..580378ad350c4 100644 --- a/pkgs/by-name/st/stuntman/package.nix +++ b/pkgs/by-name/st/stuntman/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, openssl, boost }: +{ + stdenv, + lib, + fetchFromGitHub, + openssl, + boost, +}: stdenv.mkDerivation { pname = "stuntman"; diff --git a/pkgs/by-name/st/stw/package.nix b/pkgs/by-name/st/stw/package.nix index 5f36e1e1126c2..3f73693a3a334 100644 --- a/pkgs/by-name/st/stw/package.nix +++ b/pkgs/by-name/st/stw/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 -, fontconfig -, libXft -, libXrender +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + fontconfig, + libXft, + libXrender, }: stdenv.mkDerivation rec { @@ -18,9 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-YohHF1O0lm6QWJv/wkS4RVJvWaOjcYSZNls6tt4hbqo=="; }; - buildInputs = [ libX11 fontconfig libXft libXrender ]; + buildInputs = [ + libX11 + fontconfig + libXft + libXrender + ]; - makeFlags = [ "CC:=$(CC)" "PREFIX=$(out)" ]; + makeFlags = [ + "CC:=$(CC)" + "PREFIX=$(out)" + ]; meta = with lib; { description = "Simple text widget for X resembling the watch(1) command"; diff --git a/pkgs/by-name/st/stxxl/package.nix b/pkgs/by-name/st/stxxl/package.nix index 31d9098242c2a..d045a889a016d 100644 --- a/pkgs/by-name/st/stxxl/package.nix +++ b/pkgs/by-name/st/stxxl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, parallelSupport ? (!stdenv.hostPlatform.isDarwin) +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + parallelSupport ? (!stdenv.hostPlatform.isDarwin), }: let diff --git a/pkgs/by-name/st/stylance-cli/package.nix b/pkgs/by-name/st/stylance-cli/package.nix index fd01a5acf180e..ba099d5aabfba 100644 --- a/pkgs/by-name/st/stylance-cli/package.nix +++ b/pkgs/by-name/st/stylance-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { pname = "stylance-cli"; diff --git a/pkgs/by-name/st/stylish/package.nix b/pkgs/by-name/st/stylish/package.nix index 77b3d480ac1d4..6ab7d2a5ab11d 100644 --- a/pkgs/by-name/st/stylish/package.nix +++ b/pkgs/by-name/st/stylish/package.nix @@ -32,14 +32,16 @@ stdenvNoCC.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/styli.sh --prefix PATH : ${lib.makeBinPath [ - curl - feh - file - jq - util-linux - wget - ]} + wrapProgram $out/bin/styli.sh --prefix PATH : ${ + lib.makeBinPath [ + curl + feh + file + jq + util-linux + wget + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/st/stylua/package.nix b/pkgs/by-name/st/stylua/package.nix index ec3975af81cb9..06e2e45a26be3 100644 --- a/pkgs/by-name/st/stylua/package.nix +++ b/pkgs/by-name/st/stylua/package.nix @@ -1,8 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, # lua54 implies lua52/lua53 -, features ? [ "lua54" "luajit" "luau" ] + features ? [ + "lua54" + "luajit" + "luau" + ], }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/st/styluslabs-write-bin/package.nix b/pkgs/by-name/st/styluslabs-write-bin/package.nix index d15875494d794..3e5f19a5f05bf 100644 --- a/pkgs/by-name/st/styluslabs-write-bin/package.nix +++ b/pkgs/by-name/st/styluslabs-write-bin/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, libsForQt5, libglvnd, libX11, libXi, fetchurl, makeDesktopItem }: +{ + stdenv, + lib, + libsForQt5, + libglvnd, + libX11, + libXi, + fetchurl, + makeDesktopItem, +}: let desktopItem = makeDesktopItem { name = "Write"; @@ -7,7 +16,10 @@ let icon = "write_stylus"; desktopName = "Write"; genericName = "Write"; - categories = [ "Office" "Graphics" ]; + categories = [ + "Office" + "Graphics" + ]; }; in stdenv.mkDerivation rec { @@ -35,21 +47,23 @@ stdenv.mkDerivation rec { mkdir -p $out/share/icons ln -s $out/Write/Write144x144.png $out/share/icons/write_stylus.png ''; - preFixup = let - libPath = lib.makeLibraryPath [ - libsForQt5.qtbase # libQt5PrintSupport.so.5 - libsForQt5.qtsvg # libQt5Svg.so.5 - (lib.getLib stdenv.cc.cc) # libstdc++.so.6 - libglvnd # libGL.so.1 - libX11 # libX11.so.6 - libXi # libXi.so.6 - ]; - in '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}" \ - $out/Write/Write - ''; + preFixup = + let + libPath = lib.makeLibraryPath [ + libsForQt5.qtbase # libQt5PrintSupport.so.5 + libsForQt5.qtsvg # libQt5Svg.so.5 + (lib.getLib stdenv.cc.cc) # libstdc++.so.6 + libglvnd # libGL.so.1 + libX11 # libX11.so.6 + libXi # libXi.so.6 + ]; + in + '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + $out/Write/Write + ''; meta = with lib; { homepage = "http://www.styluslabs.com/"; @@ -57,6 +71,10 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; platforms = platforms.linux; license = lib.licenses.unfree; - maintainers = with maintainers; [ oyren lukts30 atemu ]; + maintainers = with maintainers; [ + oyren + lukts30 + atemu + ]; }; } diff --git a/pkgs/by-name/st/styx/package.nix b/pkgs/by-name/st/styx/package.nix index 96278fd9c3222..bc9825efdbabe 100644 --- a/pkgs/by-name/st/styx/package.nix +++ b/pkgs/by-name/st/styx/package.nix @@ -1,15 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, caddy, asciidoctor -, file, lessc, sass, multimarkdown, linkchecker -, perlPackages, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + caddy, + asciidoctor, + file, + lessc, + sass, + multimarkdown, + linkchecker, + perlPackages, + python3Packages, +}: stdenv.mkDerivation rec { pname = "styx"; version = "0.7.5"; src = fetchFromGitHub { - owner = "styx-static"; - repo = "styx"; - rev = "v${version}"; + owner = "styx-static"; + repo = "styx"; + rev = "v${version}"; hash = "sha256-f6iA/nHpKnm3BALoQq8SzdcSzJLCFSferEf69SpgD2Y="; }; @@ -18,7 +29,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ asciidoctor ]; - outputs = [ "out" "lib" "themes" ]; + outputs = [ + "out" + "lib" + "themes" + ]; propagatedBuildInputs = [ file @@ -61,12 +76,12 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Nix based static site generator"; - maintainers = with maintainers; [ ericsagnes ]; - homepage = "https://styx-static.github.io/styx-site/"; + description = "Nix based static site generator"; + maintainers = with maintainers; [ ericsagnes ]; + homepage = "https://styx-static.github.io/styx-site/"; downloadPage = "https://github.com/styx-static/styx/"; - platforms = platforms.all; - license = licenses.mit; - mainProgram = "styx"; + platforms = platforms.all; + license = licenses.mit; + mainProgram = "styx"; }; } diff --git a/pkgs/by-name/su/su-exec/package.nix b/pkgs/by-name/su/su-exec/package.nix index 2af4591784ab2..c65562b5c2485 100644 --- a/pkgs/by-name/su/su-exec/package.nix +++ b/pkgs/by-name/su/su-exec/package.nix @@ -1,13 +1,17 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "su-exec"; version = "0.2"; src = fetchFromGitHub { - owner = "ncopa"; - repo = "su-exec"; - rev = "v${version}"; + owner = "ncopa"; + repo = "su-exec"; + rev = "v${version}"; hash = "sha256-eymE9r9Rm/u4El5wXHbkAh7ma5goWV0EdJIhsq+leIs="; }; @@ -19,9 +23,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "switch user and group id and exec"; mainProgram = "su-exec"; - homepage = "https://github.com/ncopa/su-exec"; - license = licenses.mit; + homepage = "https://github.com/ncopa/su-exec"; + license = licenses.mit; maintainers = with maintainers; [ zimbatm ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/su/sub-batch/package.nix b/pkgs/by-name/su/sub-batch/package.nix index 48b38da01fae5..0cfeddd572dbb 100644 --- a/pkgs/by-name/su/sub-batch/package.nix +++ b/pkgs/by-name/su/sub-batch/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, makeWrapper -, alass +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + makeWrapper, + alass, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/su/subberthehut/package.nix b/pkgs/by-name/su/subberthehut/package.nix index 58860f30dc5a1..3dd753b787618 100644 --- a/pkgs/by-name/su/subberthehut/package.nix +++ b/pkgs/by-name/su/subberthehut/package.nix @@ -1,17 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, xmlrpc_c, glib, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + xmlrpc_c, + glib, + zlib, +}: stdenv.mkDerivation rec { pname = "subberthehut"; version = "20"; src = fetchFromGitHub { - owner = "mus65"; - repo = "subberthehut"; - rev = version; + owner = "mus65"; + repo = "subberthehut"; + rev = version; sha256 = "19prdqbk19h0wak318g2jn1mnfm7l7f83a633bh0rhskysmqrsj1"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xmlrpc_c glib zlib ]; + buildInputs = [ + xmlrpc_c + glib + zlib + ]; installPhase = '' install -Dm755 subberthehut $out/bin/subberthehut diff --git a/pkgs/by-name/su/subdl/package.nix b/pkgs/by-name/su/subdl/package.nix index 61b5af2f0b57b..95272e63b0541 100644 --- a/pkgs/by-name/su/subdl/package.nix +++ b/pkgs/by-name/su/subdl/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation { pname = "subdl"; diff --git a/pkgs/by-name/su/subedit/package.nix b/pkgs/by-name/su/subedit/package.nix index 9bacdc23de0db..6537bc913e327 100644 --- a/pkgs/by-name/su/subedit/package.nix +++ b/pkgs/by-name/su/subedit/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, libuchardet, dos2unix, file }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + libuchardet, + dos2unix, + file, +}: stdenv.mkDerivation { pname = "subedit"; @@ -13,7 +21,11 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ libuchardet dos2unix file ]; + buildInputs = [ + libuchardet + dos2unix + file + ]; installPhase = '' mkdir -p $out/bin @@ -21,7 +33,13 @@ stdenv.mkDerivation { ''; postFixup = '' - wrapProgram $out/bin/subedit --prefix PATH : "${lib.makeBinPath [ libuchardet dos2unix file ]}" + wrapProgram $out/bin/subedit --prefix PATH : "${ + lib.makeBinPath [ + libuchardet + dos2unix + file + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/su/subfinder/package.nix b/pkgs/by-name/su/subfinder/package.nix index f973d7fae5c5a..8a24177d1badb 100644 --- a/pkgs/by-name/su/subfinder/package.nix +++ b/pkgs/by-name/su/subfinder/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -36,7 +37,11 @@ buildGoModule rec { ''; homepage = "https://github.com/projectdiscovery/subfinder"; license = licenses.mit; - maintainers = with maintainers; [ fpletz Br1ght0ne Misaka13514 ]; + maintainers = with maintainers; [ + fpletz + Br1ght0ne + Misaka13514 + ]; mainProgram = "subfinder"; }; } diff --git a/pkgs/by-name/su/subjs/package.nix b/pkgs/by-name/su/subjs/package.nix index 0bd3c170b6563..9bc455593bba1 100644 --- a/pkgs/by-name/su/subjs/package.nix +++ b/pkgs/by-name/su/subjs/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -16,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-Ibsgi2MYvs12E1NJgshAD/S5GTJgLl7C+smfvS+aAfg="; - ldflags = [ "-s" "-w" "-X main.AppVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.AppVersion=${version}" + ]; meta = with lib; { description = "Fetcher for Javascript files"; diff --git a/pkgs/by-name/su/sublime-music/package.nix b/pkgs/by-name/su/sublime-music/package.nix index f3ad04e7b01cb..400b0c1ce10d0 100644 --- a/pkgs/by-name/su/sublime-music/package.nix +++ b/pkgs/by-name/su/sublime-music/package.nix @@ -1,18 +1,19 @@ -{ lib -, fetchFromGitHub -, python3 -, gobject-introspection -, gtk3 -, pango -, wrapGAppsHook3 -, chromecastSupport ? false -, serverSupport ? false -, keyringSupport ? true -, notifySupport ? true -, libnotify -, networkSupport ? true -, networkmanager -, fetchpatch +{ + lib, + fetchFromGitHub, + python3, + gobject-introspection, + gtk3, + pango, + wrapGAppsHook3, + chromecastSupport ? false, + serverSupport ? false, + keyringSupport ? true, + notifySupport ? true, + libnotify, + networkSupport ? true, + networkmanager, + fetchpatch, }: python3.pkgs.buildPythonApplication rec { @@ -44,31 +45,32 @@ python3.pkgs.buildPythonApplication rec { wrapGAppsHook3 ]; - buildInputs = [ - gtk3 - pango - ] - ++ lib.optional notifySupport libnotify - ++ lib.optional networkSupport networkmanager - ; + buildInputs = + [ + gtk3 + pango + ] + ++ lib.optional notifySupport libnotify + ++ lib.optional networkSupport networkmanager; - propagatedBuildInputs = with python3.pkgs; [ - bleach - bottle - dataclasses-json - deepdiff - levenshtein - mpv - peewee - pychromecast - pygobject3 - python-dateutil - requests - semver - thefuzz - ] - ++ lib.optional keyringSupport keyring - ; + propagatedBuildInputs = + with python3.pkgs; + [ + bleach + bottle + dataclasses-json + deepdiff + levenshtein + mpv + peewee + pychromecast + pygobject3 + python-dateutil + requests + semver + thefuzz + ] + ++ lib.optional keyringSupport keyring; nativeCheckInputs = with python3.pkgs; [ pytest-cov-stub @@ -99,7 +101,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://sublimemusic.app"; changelog = "https://github.com/sublime-music/sublime-music/blob/v${version}/CHANGELOG.rst"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ albakham sumnerevans ]; + maintainers = with maintainers; [ + albakham + sumnerevans + ]; mainProgram = "sublime-music"; }; } diff --git a/pkgs/by-name/su/sublime/package.nix b/pkgs/by-name/su/sublime/package.nix index 1a62b1256cca0..3f8137f7a783e 100644 --- a/pkgs/by-name/su/sublime/package.nix +++ b/pkgs/by-name/su/sublime/package.nix @@ -1,6 +1,20 @@ -{ fetchurl, lib, stdenv, glib, xorg, cairo, gtk2, makeDesktopItem }: +{ + fetchurl, + lib, + stdenv, + glib, + xorg, + cairo, + gtk2, + makeDesktopItem, +}: let - libPath = lib.makeLibraryPath [ glib xorg.libX11 gtk2 cairo ]; + libPath = lib.makeLibraryPath [ + glib + xorg.libX11 + gtk2 + cairo + ]; in stdenv.mkDerivation rec { @@ -55,7 +69,10 @@ stdenv.mkDerivation rec { comment = meta.description; desktopName = "Sublime Text"; genericName = "Text Editor"; - categories = [ "TextEditor" "Development" ]; + categories = [ + "TextEditor" + "Development" + ]; icon = "sublime_text"; }; @@ -63,6 +80,9 @@ stdenv.mkDerivation rec { description = "Sophisticated text editor for code, markup and prose"; license = lib.licenses.unfree; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/su/sublime_syntax_convertor/gemset.nix b/pkgs/by-name/su/sublime_syntax_convertor/gemset.nix index 2412fea8a2645..246a8f8e5297b 100644 --- a/pkgs/by-name/su/sublime_syntax_convertor/gemset.nix +++ b/pkgs/by-name/su/sublime_syntax_convertor/gemset.nix @@ -1,20 +1,20 @@ { plist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b643i5b7b7galvlb2fc414ifmb78b5lsq47gnvhzl8m27dl559z"; type = "gem"; }; version = "3.7.1"; }; sublime_syntax_convertor = { - dependencies = ["plist"]; - groups = ["default"]; - platforms = []; + dependencies = [ "plist" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gg65xls9rl9df37njja5f7y6mm1cbnf9yafyy3j7cnkcszif43a"; type = "gem"; }; diff --git a/pkgs/by-name/su/sublime_syntax_convertor/package.nix b/pkgs/by-name/su/sublime_syntax_convertor/package.nix index b9be2f7b7056d..869498bfb4ed3 100644 --- a/pkgs/by-name/su/sublime_syntax_convertor/package.nix +++ b/pkgs/by-name/su/sublime_syntax_convertor/package.nix @@ -1,4 +1,4 @@ -{ lib,bundlerApp }: +{ lib, bundlerApp }: bundlerApp { pname = "sublime_syntax_convertor"; gemdir = ./.; diff --git a/pkgs/by-name/su/subnetcalc/package.nix b/pkgs/by-name/su/subnetcalc/package.nix index 4c88c6cb29f76..b365566685593 100644 --- a/pkgs/by-name/su/subnetcalc/package.nix +++ b/pkgs/by-name/su/subnetcalc/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/su/subread/package.nix b/pkgs/by-name/su/subread/package.nix index 287e55cb0a74f..914d2b0e48a2e 100644 --- a/pkgs/by-name/su/subread/package.nix +++ b/pkgs/by-name/su/subread/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, zlib +{ + lib, + stdenv, + fetchurl, + zlib, }: stdenv.mkDerivation rec { @@ -34,7 +35,10 @@ stdenv.mkDerivation rec { description = "High-performance read alignment, quantification and mutation discovery"; license = licenses.gpl3; maintainers = with maintainers; [ jbedo ]; - platforms = [ "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + ]; homepage = "https://subread.sourceforge.net/"; }; diff --git a/pkgs/by-name/su/subsonic/package.nix b/pkgs/by-name/su/subsonic/package.nix index 8e04dcb1cb98e..a24f96ad735c0 100644 --- a/pkgs/by-name/su/subsonic/package.nix +++ b/pkgs/by-name/su/subsonic/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jre }: +{ + lib, + stdenv, + fetchurl, + jre, +}: stdenv.mkDerivation rec { pname = "subsonic"; diff --git a/pkgs/by-name/su/subtitlecomposer/package.nix b/pkgs/by-name/su/subtitlecomposer/package.nix index ce6e7fe6e6356..b7ceb21b7ab51 100644 --- a/pkgs/by-name/su/subtitlecomposer/package.nix +++ b/pkgs/by-name/su/subtitlecomposer/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitLab -, cmake -, extra-cmake-modules -, ffmpeg -, openal -, stdenv -, libsForQt5 +{ + lib, + fetchFromGitLab, + cmake, + extra-cmake-modules, + ffmpeg, + openal, + stdenv, + libsForQt5, }: stdenv.mkDerivation rec { @@ -20,19 +21,28 @@ stdenv.mkDerivation rec { hash = "sha256-5RBrxOy1EIgDLb21r1y+Pou8d/j05a1YYMRJh1n8vSA="; }; - nativeBuildInputs = [ cmake extra-cmake-modules libsForQt5.wrapQtAppsHook ]; - buildInputs = [ ffmpeg openal ] ++ (with libsForQt5; [ - kcodecs - kconfig - kconfigwidgets - kcoreaddons - ki18n - kio - ktextwidgets - kwidgetsaddons - kxmlgui - sonnet - ]); + nativeBuildInputs = [ + cmake + extra-cmake-modules + libsForQt5.wrapQtAppsHook + ]; + buildInputs = + [ + ffmpeg + openal + ] + ++ (with libsForQt5; [ + kcodecs + kconfig + kconfigwidgets + kcoreaddons + ki18n + kio + ktextwidgets + kwidgetsaddons + kxmlgui + sonnet + ]); meta = with lib; { homepage = "https://apps.kde.org/subtitlecomposer"; diff --git a/pkgs/by-name/su/subtitleeditor/package.nix b/pkgs/by-name/su/subtitleeditor/package.nix index b440c187403e5..28b563fb9b462 100644 --- a/pkgs/by-name/su/subtitleeditor/package.nix +++ b/pkgs/by-name/su/subtitleeditor/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, intltool, file, - desktop-file-utils, enchant, gtk3, gtkmm3, gst_all_1, hicolor-icon-theme, - libsigcxx, libxmlxx, xdg-utils, isocodes, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + intltool, + file, + desktop-file-utils, + enchant, + gtk3, + gtkmm3, + gst_all_1, + hicolor-icon-theme, + libsigcxx, + libxmlxx, + xdg-utils, + isocodes, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -14,7 +30,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-1Q1nd3GJ6iDGQv4SM2S1ehVW6kPdbqTn8KTtTb0obiQ="; }; - nativeBuildInputs = [ + nativeBuildInputs = [ autoreconfHook pkg-config intltool @@ -22,7 +38,7 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ + buildInputs = [ desktop-file-utils enchant gtk3 @@ -54,7 +70,7 @@ stdenv.mkDerivation rec { can be used for new subtitles or as a tool to transform, edit, correct and refine existing subtitle. This program also shows sound waves, which makes it easier to synchronise subtitles to voices. - ''; + ''; homepage = "http://kitone.github.io/subtitleeditor/"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/su/subtitlr/package.nix b/pkgs/by-name/su/subtitlr/package.nix index 0444fa7d4535c..ffcb31ed21aec 100644 --- a/pkgs/by-name/su/subtitlr/package.nix +++ b/pkgs/by-name/su/subtitlr/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "Subtitlr"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-ZgJCk9vbbQ0dcYSdKm0Cbw2AmwjpMvGb5zJkgbD+xig="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/su/subunit/package.nix b/pkgs/by-name/su/subunit/package.nix index 188759fc4e7ed..a40e846e4fd32 100644 --- a/pkgs/by-name/su/subunit/package.nix +++ b/pkgs/by-name/su/subunit/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, check, cppunit, perl, python3Packages }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + check, + cppunit, + perl, + python3Packages, +}: # NOTE: for subunit python library see pkgs/top-level/python-packages.nix @@ -12,9 +21,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ check cppunit perl python3Packages.wrapPython ]; + buildInputs = [ + check + cppunit + perl + python3Packages.wrapPython + ]; - propagatedBuildInputs = with python3Packages; [ testtools testscenarios ]; + propagatedBuildInputs = with python3Packages; [ + testtools + testscenarios + ]; postFixup = "wrapPythonPrograms"; diff --git a/pkgs/by-name/su/sudachi-rs/package.nix b/pkgs/by-name/su/sudachi-rs/package.nix index 34398b1c40d1d..195bc1be61d3f 100644 --- a/pkgs/by-name/su/sudachi-rs/package.nix +++ b/pkgs/by-name/su/sudachi-rs/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, sudachidict -, runCommand -, sudachi-rs -, writeScript +{ + lib, + rustPlatform, + fetchFromGitHub, + sudachidict, + runCommand, + sudachi-rs, + writeScript, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/su/sudachidict/package.nix b/pkgs/by-name/su/sudachidict/package.nix index 744439283367c..87b4c8b3a71d9 100644 --- a/pkgs/by-name/su/sudachidict/package.nix +++ b/pkgs/by-name/su/sudachidict/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchzip -, dict-type ? "core" +{ + lib, + stdenvNoCC, + fetchzip, + dict-type ? "core", }: let @@ -26,35 +27,36 @@ in lib.checkListOfEnum "${pname}: dict-type" [ "core" "full" "small" ] [ dict-type ] -stdenvNoCC.mkDerivation { - inherit pname version; + stdenvNoCC.mkDerivation + { + inherit pname version; - src = srcs.${dict-type}; + src = srcs.${dict-type}; - dontConfigure = true; + dontConfigure = true; - dontBuild = true; + dontBuild = true; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - install -Dm644 system_${dict-type}.dic $out/share/system.dic + install -Dm644 system_${dict-type}.dic $out/share/system.dic - runHook postInstall - ''; + runHook postInstall + ''; - passthru = { - dict-type = dict-type; - }; + passthru = { + dict-type = dict-type; + }; - meta = with lib; { - description = "Lexicon for Sudachi"; - homepage = "https://github.com/WorksApplications/SudachiDict"; - changelog = "https://github.com/WorksApplications/SudachiDict/releases/tag/v${version}"; - license = licenses.asl20; - maintainers = with maintainers; [ natsukium ]; - platforms = platforms.all; - # it is a waste of space and time to build this package in hydra since it is just data - hydraPlatforms = []; - }; -} + meta = with lib; { + description = "Lexicon for Sudachi"; + homepage = "https://github.com/WorksApplications/SudachiDict"; + changelog = "https://github.com/WorksApplications/SudachiDict/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ natsukium ]; + platforms = platforms.all; + # it is a waste of space and time to build this package in hydra since it is just data + hydraPlatforms = [ ]; + }; + } diff --git a/pkgs/by-name/su/sudo-font/package.nix b/pkgs/by-name/su/sudo-font/package.nix index 1d0cb0510606d..940c11a76b2c7 100644 --- a/pkgs/by-name/su/sudo-font/package.nix +++ b/pkgs/by-name/su/sudo-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "sudo-font"; diff --git a/pkgs/by-name/su/sudo-rs/package.nix b/pkgs/by-name/su/sudo-rs/package.nix index 155d23dbad89f..17a7b4744fa2b 100644 --- a/pkgs/by-name/su/sudo-rs/package.nix +++ b/pkgs/by-name/su/sudo-rs/package.nix @@ -1,12 +1,13 @@ -{ lib -, bash -, fetchFromGitHub -, installShellFiles -, nix-update-script -, nixosTests -, pam -, pandoc -, rustPlatform +{ + lib, + bash, + fetchFromGitHub, + installShellFiles, + nix-update-script, + nixosTests, + pam, + pandoc, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { }; cargoHash = "sha256-laTcGi2pwc9uWjum03PviyakVMmjijKgxfIPjIpoRy8="; - nativeBuildInputs = [ installShellFiles pandoc ]; + nativeBuildInputs = [ + installShellFiles + pandoc + ]; buildInputs = [ pam ]; @@ -73,7 +77,10 @@ rustPlatform.buildRustPackage rec { description = "Memory safe implementation of sudo and su"; homepage = "https://github.com/trifectatechfoundation/sudo-rs"; changelog = "${meta.homepage}/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ nicoo ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/su/sudo/package.nix b/pkgs/by-name/su/sudo/package.nix index dfa6b854727aa..a4b35cf890f17 100644 --- a/pkgs/by-name/su/sudo/package.nix +++ b/pkgs/by-name/su/sudo/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, buildPackages -, coreutils -, pam -, groff -, sssd -, nixosTests -, sendmailPath ? "/run/wrappers/bin/sendmail" -, withInsults ? false -, withSssd ? false +{ + lib, + stdenv, + fetchurl, + buildPackages, + coreutils, + pam, + groff, + sssd, + nixosTests, + sendmailPath ? "/run/wrappers/bin/sendmail", + withInsults ? false, + withSssd ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -30,33 +31,35 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/Makefile.in --replace 04755 0755 ''; - configureFlags = [ - "--with-env-editor" - "--with-editor=/run/current-system/sw/bin/nano" - "--with-rundir=/run/sudo" - "--with-vardir=/var/db/sudo" - "--with-logpath=/var/log/sudo.log" - "--with-iologdir=/var/log/sudo-io" - "--with-sendmail=${sendmailPath}" - "--enable-tmpfiles.d=no" - "--with-passprompt=[sudo] password for %p: " # intentional trailing space - ] ++ lib.optionals withInsults [ - "--with-insults" - "--with-all-insults" - ] ++ lib.optionals withSssd [ - "--with-sssd" - "--with-sssd-lib=${sssd}/lib" - ]; + configureFlags = + [ + "--with-env-editor" + "--with-editor=/run/current-system/sw/bin/nano" + "--with-rundir=/run/sudo" + "--with-vardir=/var/db/sudo" + "--with-logpath=/var/log/sudo.log" + "--with-iologdir=/var/log/sudo-io" + "--with-sendmail=${sendmailPath}" + "--enable-tmpfiles.d=no" + "--with-passprompt=[sudo] password for %p: " # intentional trailing space + ] + ++ lib.optionals withInsults [ + "--with-insults" + "--with-all-insults" + ] + ++ lib.optionals withSssd [ + "--with-sssd" + "--with-sssd-lib=${sssd}/lib" + ]; - postConfigure = - '' - cat >> pathnames.h <<'EOF' - #undef _PATH_MV - #define _PATH_MV "${coreutils}/bin/mv" - EOF - makeFlags="install_uid=$(id -u) install_gid=$(id -g)" - installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy DESTDIR=/" - ''; + postConfigure = '' + cat >> pathnames.h <<'EOF' + #undef _PATH_MV + #define _PATH_MV "${coreutils}/bin/mv" + EOF + makeFlags="install_uid=$(id -u) install_gid=$(id -g)" + installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy DESTDIR=/" + ''; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ groff ]; @@ -74,16 +77,20 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Command to run commands as root"; - longDescription = - '' - Sudo (su "do") allows a system administrator to delegate - authority to give certain users (or groups of users) the ability - to run some (or all) commands as root or another user while - providing an audit trail of the commands and their arguments. - ''; + longDescription = '' + Sudo (su "do") allows a system administrator to delegate + authority to give certain users (or groups of users) the ability + to run some (or all) commands as root or another user while + providing an audit trail of the commands and their arguments. + ''; homepage = "https://www.sudo.ws/"; # From https://www.sudo.ws/about/license/ - license = with licenses; [ sudo bsd2 bsd3 zlib ]; + license = with licenses; [ + sudo + bsd2 + bsd3 + zlib + ]; maintainers = with maintainers; [ rhendric ]; platforms = platforms.linux ++ platforms.freebsd; mainProgram = "sudo"; diff --git a/pkgs/by-name/su/suidChroot/package.nix b/pkgs/by-name/su/suidChroot/package.nix index e12b0d828619a..a19d0e7de06e5 100644 --- a/pkgs/by-name/su/suidChroot/package.nix +++ b/pkgs/by-name/su/suidChroot/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "suid-chroot"; diff --git a/pkgs/by-name/su/summon/package.nix b/pkgs/by-name/su/summon/package.nix index db3eed974f450..af4a2bc77b4d1 100644 --- a/pkgs/by-name/su/summon/package.nix +++ b/pkgs/by-name/su/summon/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "summon"; @@ -20,8 +24,7 @@ buildGoModule rec { ''; meta = with lib; { - description = - "CLI that provides on-demand secrets access for common DevOps tools"; + description = "CLI that provides on-demand secrets access for common DevOps tools"; mainProgram = "summon"; homepage = "https://cyberark.github.io/summon"; license = lib.licenses.mit; diff --git a/pkgs/by-name/su/sumo/package.nix b/pkgs/by-name/su/sumo/package.nix index 282a1f23c944c..22c7889e70ffb 100644 --- a/pkgs/by-name/su/sumo/package.nix +++ b/pkgs/by-name/su/sumo/package.nix @@ -1,7 +1,34 @@ -{ lib, bzip2, cmake, eigen, fetchFromGitHub, ffmpeg, fox_1_6, gdal, - git, gl2ps, gpp , gtest, jdk, libGL, libGLU, libX11, libjpeg, - libpng, libtiff, libxcrypt, openscenegraph , proj, python3, - python3Packages, stdenv, swig, xercesc, xorg, zlib }: +{ + lib, + bzip2, + cmake, + eigen, + fetchFromGitHub, + ffmpeg, + fox_1_6, + gdal, + git, + gl2ps, + gpp, + gtest, + jdk, + libGL, + libGLU, + libX11, + libjpeg, + libpng, + libtiff, + libxcrypt, + openscenegraph, + proj, + python3, + python3Packages, + stdenv, + swig, + xercesc, + xorg, + zlib, +}: stdenv.mkDerivation rec { pname = "sumo"; @@ -10,7 +37,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "eclipse"; repo = "sumo"; - rev = "v${lib.replaceStrings ["."] ["_"] version}"; + rev = "v${lib.replaceStrings [ "." ] [ "_" ] version}"; hash = "sha256-VST3ZJuDQBWf+YoN0kPyLrlXWmJABubUFDsKEMxfxHY="; fetchSubmodules = true; }; @@ -21,37 +48,39 @@ stdenv.mkDerivation rec { swig ]; - buildInputs = [ - bzip2 - eigen - ffmpeg - fox_1_6 - gdal - gl2ps - gpp - gtest - jdk - libGL - libGLU - libjpeg - libpng - libtiff - libxcrypt - openscenegraph - proj - python3Packages.setuptools - xercesc - zlib - python3 - ] ++ (with xorg; [ - libX11 - libXcursor - libXext - libXfixes - libXft - libXrandr - libXrender - ]); + buildInputs = + [ + bzip2 + eigen + ffmpeg + fox_1_6 + gdal + gl2ps + gpp + gtest + jdk + libGL + libGLU + libjpeg + libpng + libtiff + libxcrypt + openscenegraph + proj + python3Packages.setuptools + xercesc + zlib + python3 + ] + ++ (with xorg; [ + libX11 + libXcursor + libXext + libXfixes + libXft + libXrandr + libXrender + ]); meta = with lib; { description = "SUMO traffic simulator"; diff --git a/pkgs/by-name/su/sundtek/package.nix b/pkgs/by-name/su/sundtek/package.nix index 3cba4a5f15c82..b560a975c0d9e 100644 --- a/pkgs/by-name/su/sundtek/package.nix +++ b/pkgs/by-name/su/sundtek/package.nix @@ -1,49 +1,62 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: let version = "2016-01-26"; - rpath = lib.makeLibraryPath [ "$out/lib" "$out/bin" ]; - platform = with stdenv; - if isx86_64 then "64bit" + rpath = lib.makeLibraryPath [ + "$out/lib" + "$out/bin" + ]; + platform = + with stdenv; + if isx86_64 then + "64bit" + else if isi686 then + "32bit" else - if isi686 then "32bit" - else throw "${system} not considered in build derivation. Might still be supported."; - sha256 = with stdenv; - if isx86_64 then "1jfsng5n3phw5rqpkid9m5j7m7zgj5bifh7swvba7f97y6imdaax" - else "15y6r5w306pcq4g1rn9f7vf70f3a7qhq237ngaf0wxh2nr0aamxp"; + throw "${system} not considered in build derivation. Might still be supported."; + sha256 = + with stdenv; + if isx86_64 then + "1jfsng5n3phw5rqpkid9m5j7m7zgj5bifh7swvba7f97y6imdaax" + else + "15y6r5w306pcq4g1rn9f7vf70f3a7qhq237ngaf0wxh2nr0aamxp"; in - stdenv.mkDerivation { - src = fetchurl { - url = "http://www.sundtek.de/media/netinst/${platform}/installer.tar.gz"; - sha256 = sha256; - }; - pname = "sundtek"; - inherit version; +stdenv.mkDerivation { + src = fetchurl { + url = "http://www.sundtek.de/media/netinst/${platform}/installer.tar.gz"; + sha256 = sha256; + }; + pname = "sundtek"; + inherit version; - sourceRoot = "."; + sourceRoot = "."; - installPhase = '' - cp -r opt $out + installPhase = '' + cp -r opt $out - # add and fix pkg-config file - mkdir -p $out/lib/pkgconfig - substitute $out/doc/libmedia.pc $out/lib/pkgconfig/libmedia.pc \ - --replace /opt $out - ''; + # add and fix pkg-config file + mkdir -p $out/lib/pkgconfig + substitute $out/doc/libmedia.pc $out/lib/pkgconfig/libmedia.pc \ + --replace /opt $out + ''; - postFixup = '' - find $out -type f -exec \ - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \ - patchelf --set-rpath ${rpath} {} \; - ''; + postFixup = '' + find $out -type f -exec \ + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \ + patchelf --set-rpath ${rpath} {} \; + ''; - preferLocalBuild = true; + preferLocalBuild = true; - meta = with lib; { - description = "Sundtek MediaTV driver"; - maintainers = [ maintainers.simonvandel ]; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - platforms = platforms.unix; - license = licenses.unfree; - homepage = "https://support.sundtek.com/index.php/topic,1573.0.html"; - }; - } + meta = with lib; { + description = "Sundtek MediaTV driver"; + maintainers = [ maintainers.simonvandel ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + platforms = platforms.unix; + license = licenses.unfree; + homepage = "https://support.sundtek.com/index.php/topic,1573.0.html"; + }; +} diff --git a/pkgs/by-name/su/sunpaper/package.nix b/pkgs/by-name/su/sunpaper/package.nix index fa9917a2d2af1..9dccc07a5e193 100644 --- a/pkgs/by-name/su/sunpaper/package.nix +++ b/pkgs/by-name/su/sunpaper/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, sunwait -, wallutils +{ + lib, + stdenvNoCC, + fetchFromGitHub, + sunwait, + wallutils, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/su/sunvox/package.nix b/pkgs/by-name/su/sunvox/package.nix index 80a0f709e1f20..fe39aec2f9955 100644 --- a/pkgs/by-name/su/sunvox/package.nix +++ b/pkgs/by-name/su/sunvox/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchzip -, alsa-lib -, autoPatchelfHook -, libglvnd -, libjack2 -, libX11 -, libXi -, makeWrapper -, SDL2 +{ + lib, + stdenv, + fetchzip, + alsa-lib, + autoPatchelfHook, + libglvnd, + libjack2, + libX11, + libXi, + makeWrapper, + SDL2, }: let @@ -20,7 +21,9 @@ let "x86_64-darwin" = "macos"; "aarch64-darwin" = "macos"; }; - bindir = platforms."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + bindir = + platforms."${stdenv.hostPlatform.system}" + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation (finalAttrs: { pname = "sunvox"; @@ -35,11 +38,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-7DZyoOz3jDYsuGqbs0PRs6jdWCxBhSDUKk8KVJQm/3o="; }; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - autoPatchelfHook - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - makeWrapper - ]; + nativeBuildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeWrapper + ]; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib @@ -56,41 +61,48 @@ stdenv.mkDerivation (finalAttrs: { dontConfigure = true; dontBuild = true; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - # Delete platform-specific data for all the platforms we're not building for - find sunvox -mindepth 1 -maxdepth 1 -type d -not -name "${bindir}" -exec rm -r {} \; + # Delete platform-specific data for all the platforms we're not building for + find sunvox -mindepth 1 -maxdepth 1 -type d -not -name "${bindir}" -exec rm -r {} \; - mkdir -p $out/{bin,share/sunvox} - mv * $out/share/sunvox/ + mkdir -p $out/{bin,share/sunvox} + mv * $out/share/sunvox/ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - for binary in $(find $out/share/sunvox/sunvox/${bindir}/ -type f -executable); do - mv $binary $out/bin/$(basename $binary) - done + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + for binary in $(find $out/share/sunvox/sunvox/${bindir}/ -type f -executable); do + mv $binary $out/bin/$(basename $binary) + done - # Cleanup, make sure we didn't miss anything - find $out/share/sunvox/sunvox -type f -name readme.txt -delete - rmdir $out/share/sunvox/sunvox/${bindir} $out/share/sunvox/sunvox - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir $out/Applications - ln -s $out/share/sunvox/sunvox/${bindir}/SunVox.app $out/Applications/ - ln -s $out/share/sunvox/sunvox/${bindir}/reset_sunvox $out/bin/ + # Cleanup, make sure we didn't miss anything + find $out/share/sunvox/sunvox -type f -name readme.txt -delete + rmdir $out/share/sunvox/sunvox/${bindir} $out/share/sunvox/sunvox + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/Applications + ln -s $out/share/sunvox/sunvox/${bindir}/SunVox.app $out/Applications/ + ln -s $out/share/sunvox/sunvox/${bindir}/reset_sunvox $out/bin/ - # Need to use a wrapper, binary checks for files relative to the path it was called via - makeWrapper $out/Applications/SunVox.app/Contents/MacOS/SunVox $out/bin/sunvox - '' + '' + # Need to use a wrapper, binary checks for files relative to the path it was called via + makeWrapper $out/Applications/SunVox.app/Contents/MacOS/SunVox $out/bin/sunvox + '' + + '' - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { description = "Small, fast and powerful modular synthesizer with pattern-based sequencer"; license = licenses.unfreeRedistributable; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; homepage = "https://www.warmplace.ru/soft/sunvox/"; - maintainers = with maintainers; [ puffnfresh OPNA2608 ]; + maintainers = with maintainers; [ + puffnfresh + OPNA2608 + ]; platforms = lib.attrNames platforms; }; }) diff --git a/pkgs/by-name/su/sunwait/package.nix b/pkgs/by-name/su/sunwait/package.nix index 2f369c1eb9ce2..770e67b9f73cb 100644 --- a/pkgs/by-name/su/sunwait/package.nix +++ b/pkgs/by-name/su/sunwait/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "sunwait"; diff --git a/pkgs/by-name/su/sunxi-tools/package.nix b/pkgs/by-name/su/sunxi-tools/package.nix index 320fcb1b04cd2..4bf58e3ed202d 100644 --- a/pkgs/by-name/su/sunxi-tools/package.nix +++ b/pkgs/by-name/su/sunxi-tools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, dtc, libusb1, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + dtc, + libusb1, + zlib, +}: stdenv.mkDerivation rec { pname = "sunxi-tools"; @@ -12,13 +20,23 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dtc libusb1 zlib ]; + buildInputs = [ + dtc + libusb1 + zlib + ]; makeFlags = [ "PREFIX=$(out)" ]; - buildFlags = [ "tools" "misc" ]; + buildFlags = [ + "tools" + "misc" + ]; - installTargets = [ "install-tools" "install-misc" ]; + installTargets = [ + "install-tools" + "install-misc" + ]; meta = with lib; { description = "Tools for Allwinner SoC devices"; diff --git a/pkgs/by-name/su/supabase-cli/package.nix b/pkgs/by-name/su/supabase-cli/package.nix index ea60e55cb3642..87d9f77f164f6 100644 --- a/pkgs/by-name/su/supabase-cli/package.nix +++ b/pkgs/by-name/su/supabase-cli/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, supabase-cli -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + supabase-cli, + nix-update-script, }: buildGoModule rec { @@ -51,7 +52,10 @@ buildGoModule rec { description = "CLI for interacting with supabase"; homepage = "https://github.com/supabase/cli"; license = licenses.mit; - maintainers = with maintainers; [ gerschtli kashw2 ]; + maintainers = with maintainers; [ + gerschtli + kashw2 + ]; mainProgram = "supabase"; }; } diff --git a/pkgs/by-name/su/super-tiny-icons/package.nix b/pkgs/by-name/su/super-tiny-icons/package.nix index 48af800e1f2bc..5e1d283264f73 100644 --- a/pkgs/by-name/su/super-tiny-icons/package.nix +++ b/pkgs/by-name/su/super-tiny-icons/package.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, stdenvNoCC, fetchFromGitHub, }: +{ + pkgs, + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "super-tiny-icons"; diff --git a/pkgs/by-name/su/superTux/package.nix b/pkgs/by-name/su/superTux/package.nix index 3f4031b3b71ab..46d2bd9bb0c63 100644 --- a/pkgs/by-name/su/superTux/package.nix +++ b/pkgs/by-name/su/superTux/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, boost -, curl -, SDL2 -, SDL2_image -, libSM -, libXext -, libpng -, freetype -, libGLU -, libGL -, glew -, glm -, openal -, libogg -, libvorbis +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + boost, + curl, + SDL2, + SDL2_image, + libSM, + libXext, + libpng, + freetype, + libGLU, + libGL, + glew, + glm, + openal, + libogg, + libvorbis, }: stdenv.mkDerivation rec { @@ -33,7 +34,10 @@ stdenv.mkDerivation rec { sed '1i#include ' -i external/partio_zip/zip_manager.hpp # gcc12 ''; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; buildInputs = [ boost diff --git a/pkgs/by-name/su/supercronic/package.nix b/pkgs/by-name/su/supercronic/package.nix index b2a2104ac31cb..49ac6669c58ab 100644 --- a/pkgs/by-name/su/supercronic/package.nix +++ b/pkgs/by-name/su/supercronic/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, python3 -, bash -, coreutils +{ + lib, + buildGoModule, + fetchFromGitHub, + python3, + bash, + coreutils, }: buildGoModule rec { @@ -21,7 +22,11 @@ buildGoModule rec { excludedPackages = [ "cronexpr/cronexpr" ]; - nativeCheckInputs = [ python3 bash coreutils ]; + nativeCheckInputs = [ + python3 + bash + coreutils + ]; postConfigure = '' # There are tests that set the shell to various paths diff --git a/pkgs/by-name/su/superd/package.nix b/pkgs/by-name/su/superd/package.nix index be018cb24126b..498988b15a6b4 100644 --- a/pkgs/by-name/su/superd/package.nix +++ b/pkgs/by-name/su/superd/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromSourcehut -, installShellFiles -, scdoc +{ + lib, + buildGoModule, + fetchFromSourcehut, + installShellFiles, + scdoc, }: buildGoModule rec { @@ -38,6 +39,9 @@ buildGoModule rec { homepage = "https://sr.ht/~craftyguy/superd/"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ chuangzhu wentam ]; + maintainers = with maintainers; [ + chuangzhu + wentam + ]; }; } diff --git a/pkgs/by-name/su/superfile/package.nix b/pkgs/by-name/su/superfile/package.nix index f1d349af65494..4bc071cb769e1 100644 --- a/pkgs/by-name/su/superfile/package.nix +++ b/pkgs/by-name/su/superfile/package.nix @@ -16,14 +16,20 @@ buildGoModule rec { vendorHash = "sha256-DU0Twutepmk+8lkBM2nDChbsSHh4awt5m33ACUtH4AQ="; - ldflags = ["-s" "-w"]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Pretty fancy and modern terminal file manager"; homepage = "https://github.com/yorukot/superfile"; changelog = "https://github.com/yorukot/superfile/blob/${src.rev}/changelog.md"; license = licenses.mit; - maintainers = with maintainers; [momeemt redyf]; + maintainers = with maintainers; [ + momeemt + redyf + ]; mainProgram = "superfile"; }; } diff --git a/pkgs/by-name/su/supergfxctl-plasmoid/package.nix b/pkgs/by-name/su/supergfxctl-plasmoid/package.nix index d66577c68a756..2b5ce59fd608e 100644 --- a/pkgs/by-name/su/supergfxctl-plasmoid/package.nix +++ b/pkgs/by-name/su/supergfxctl-plasmoid/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, kdePackages +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + kdePackages, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/su/supergfxctl/package.nix b/pkgs/by-name/su/supergfxctl/package.nix index 2318a4c96725f..e0d76bac985b5 100644 --- a/pkgs/by-name/su/supergfxctl/package.nix +++ b/pkgs/by-name/su/supergfxctl/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, pkg-config -, systemd +{ + lib, + rustPlatform, + fetchFromGitLab, + pkg-config, + systemd, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/su/superlu/package.nix b/pkgs/by-name/su/superlu/package.nix index 4f52c2d6c507a..9a75318fbb693 100644 --- a/pkgs/by-name/su/superlu/package.nix +++ b/pkgs/by-name/su/superlu/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl, cmake, - gfortran, blas, lapack}: +{ + lib, + stdenv, + fetchurl, + cmake, + gfortran, + blas, + lapack, +}: assert (!blas.isILP64) && (!lapack.isILP64); @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8"; }; - nativeBuildInputs = [ cmake gfortran ]; + nativeBuildInputs = [ + cmake + gfortran + ]; propagatedBuildInputs = [ blas ]; diff --git a/pkgs/by-name/su/supermodel/package.nix b/pkgs/by-name/su/supermodel/package.nix index 031f1ffa05d40..15702e89aad86 100644 --- a/pkgs/by-name/su/supermodel/package.nix +++ b/pkgs/by-name/su/supermodel/package.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, libGLU -, SDL2 -, SDL2_net -, stdenv -, zlib +{ + fetchFromGitHub, + lib, + libGLU, + SDL2, + SDL2_net, + stdenv, + zlib, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/su/supersonic/package.nix b/pkgs/by-name/su/supersonic/package.nix index 7964d31d96505..7de2b963d5e82 100644 --- a/pkgs/by-name/su/supersonic/package.nix +++ b/pkgs/by-name/su/supersonic/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, pkg-config -, desktopToDarwinBundle -, xorg -, wayland -, wayland-protocols -, libxkbcommon -, libglvnd -, mpv-unwrapped -, darwin -, waylandSupport ? false +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + pkg-config, + desktopToDarwinBundle, + xorg, + wayland, + wayland-protocols, + libxkbcommon, + libglvnd, + mpv-unwrapped, + darwin, + waylandSupport ? false, }: assert waylandSupport -> stdenv.hostPlatform.isLinux; @@ -31,49 +32,58 @@ buildGoModule rec { vendorHash = "sha256-wT1WvwUUAnMIKa+RlRDD2QGJpZMtoecQCxSJekM6PdM="; - nativeBuildInputs = [ - copyDesktopItems - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - desktopToDarwinBundle - ]; + nativeBuildInputs = + [ + copyDesktopItems + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + desktopToDarwinBundle + ]; # go-glfw doesn't support both X11 and Wayland in single build tags = lib.optionals waylandSupport [ "wayland" ]; - buildInputs = [ - libglvnd - mpv-unwrapped - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libXxf86vm - xorg.libX11 - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && !waylandSupport) [ - xorg.libXrandr - xorg.libXinerama - xorg.libXcursor - xorg.libXi - xorg.libXext - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && waylandSupport) [ - wayland - wayland-protocols - libxkbcommon - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Cocoa - darwin.apple_sdk_11_0.frameworks.Kernel - darwin.apple_sdk_11_0.frameworks.OpenGL - darwin.apple_sdk_11_0.frameworks.UserNotifications - darwin.apple_sdk_11_0.frameworks.MediaPlayer - ]; + buildInputs = + [ + libglvnd + mpv-unwrapped + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libXxf86vm + xorg.libX11 + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && !waylandSupport) [ + xorg.libXrandr + xorg.libXinerama + xorg.libXcursor + xorg.libXi + xorg.libXext + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && waylandSupport) [ + wayland + wayland-protocols + libxkbcommon + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Cocoa + darwin.apple_sdk_11_0.frameworks.Kernel + darwin.apple_sdk_11_0.frameworks.OpenGL + darwin.apple_sdk_11_0.frameworks.UserNotifications + darwin.apple_sdk_11_0.frameworks.MediaPlayer + ]; - postInstall = '' - for dimension in 128 256 512;do - dimensions=''${dimension}x''${dimension} - mkdir -p $out/share/icons/hicolor/$dimensions/apps - cp res/appicon-$dimension.png $out/share/icons/hicolor/$dimensions/apps/${meta.mainProgram}.png - done - '' + lib.optionalString waylandSupport '' - mv $out/bin/supersonic $out/bin/${meta.mainProgram} - ''; + postInstall = + '' + for dimension in 128 256 512;do + dimensions=''${dimension}x''${dimension} + mkdir -p $out/share/icons/hicolor/$dimensions/apps + cp res/appicon-$dimension.png $out/share/icons/hicolor/$dimensions/apps/${meta.mainProgram}.png + done + '' + + lib.optionalString waylandSupport '' + mv $out/bin/supersonic $out/bin/${meta.mainProgram} + ''; desktopItems = [ (makeDesktopItem { @@ -84,7 +94,10 @@ buildGoModule rec { genericName = "Subsonic Client"; comment = meta.description; type = "Application"; - categories = [ "Audio" "AudioVideo" ]; + categories = [ + "Audio" + "AudioVideo" + ]; }) ]; @@ -94,6 +107,9 @@ buildGoModule rec { homepage = "https://github.com/dweymouth/supersonic"; platforms = platforms.linux ++ platforms.darwin; license = licenses.gpl3Plus; - maintainers = with maintainers; [ zane sochotnicky ]; + maintainers = with maintainers; [ + zane + sochotnicky + ]; }; } diff --git a/pkgs/by-name/su/supertag/package.nix b/pkgs/by-name/su/supertag/package.nix index 9047fe1859181..fe79aaf586819 100644 --- a/pkgs/by-name/su/supertag/package.nix +++ b/pkgs/by-name/su/supertag/package.nix @@ -1,6 +1,11 @@ -{ lib, rustPlatform, fetchFromGitHub -, pkg-config -, dbus, fuse, sqlite +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + dbus, + fuse, + sqlite, }: rustPlatform.buildRustPackage rec { @@ -20,8 +25,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-W5Emkbe1jI9Z+irMckD/3gJO47rACa9E5k5dqAFC1yQ="; - nativeBuildInputs = [ rustPlatform.bindgenHook pkg-config ]; - buildInputs = [ dbus fuse sqlite ]; + nativeBuildInputs = [ + rustPlatform.bindgenHook + pkg-config + ]; + buildInputs = [ + dbus + fuse + sqlite + ]; # The test are requiring extended permissions. doCheck = false; @@ -37,7 +49,10 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://github.com/amoffat/supertag"; license = licenses.agpl3Plus; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = with maintainers; [ oxzi ]; }; } diff --git a/pkgs/by-name/su/supervise/package.nix b/pkgs/by-name/su/supervise/package.nix index 8b6d7d97499c1..5df506576e4e1 100644 --- a/pkgs/by-name/su/supervise/package.nix +++ b/pkgs/by-name/su/supervise/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/su/surelog/package.nix b/pkgs/by-name/su/surelog/package.nix index baec8a830466e..75511f68e8462 100644 --- a/pkgs/by-name/su/surelog/package.nix +++ b/pkgs/by-name/su/surelog/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 -, pkg-config -, libuuid -, openjdk -, gperftools -, gtest -, uhdm -, antlr4 -, capnproto -, nlohmann_json +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + pkg-config, + libuuid, + openjdk, + gperftools, + gtest, + uhdm, + antlr4, + capnproto, + nlohmann_json, }: stdenv.mkDerivation (finalAttrs: { @@ -24,17 +25,19 @@ stdenv.mkDerivation (finalAttrs: { # Once we're back on a stable tag, use "v$(finalAttrs.version}" below. rev = "da88163a02dbc16f1af3514f281b93941d371ad9"; hash = "sha256-TIwXIMcDImZjCIiXwvT2MhukArgrWCgOf2AOvkG/55g="; - fetchSubmodules = false; # we use all dependencies from nix + fetchSubmodules = false; # we use all dependencies from nix }; nativeBuildInputs = [ cmake pkg-config openjdk - (python3.withPackages (p: with p; [ - psutil - orderedmultidict - ])) + (python3.withPackages ( + p: with p; [ + psutil + orderedmultidict + ] + )) gtest antlr4 ]; @@ -70,7 +73,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/chipsalliance/Surelog"; license = lib.licenses.asl20; mainProgram = "surelog"; - maintainers = with lib.maintainers; [ matthuszagh hzeller ]; + maintainers = with lib.maintainers; [ + matthuszagh + hzeller + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/su/surf-display/package.nix b/pkgs/by-name/su/surf-display/package.nix index 1c68d6cf00315..ca70c40a43473 100644 --- a/pkgs/by-name/su/surf-display/package.nix +++ b/pkgs/by-name/su/surf-display/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchgit, makeWrapper -, surf, wmctrl, matchbox, xdotool, unclutter -, xorg, pulseaudio, xprintidle-ng }: +{ + lib, + stdenv, + fetchgit, + makeWrapper, + surf, + wmctrl, + matchbox, + xdotool, + unclutter, + xorg, + pulseaudio, + xprintidle-ng, +}: stdenv.mkDerivation rec { pname = "surf-display"; diff --git a/pkgs/by-name/su/surface-control/package.nix b/pkgs/by-name/su/surface-control/package.nix index 6c82c6efe96e3..aee2dd5bf0bb8 100644 --- a/pkgs/by-name/su/surface-control/package.nix +++ b/pkgs/by-name/su/surface-control/package.nix @@ -1,4 +1,12 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, installShellFiles, udev, coreutils }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + installShellFiles, + udev, + coreutils, +}: rustPlatform.buildRustPackage rec { pname = "surface-control"; @@ -18,7 +26,10 @@ rustPlatform.buildRustPackage rec { }; }; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; buildInputs = [ udev ]; postInstall = '' @@ -33,8 +44,7 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = - "Control various aspects of Microsoft Surface devices on Linux from the Command-Line"; + description = "Control various aspects of Microsoft Surface devices on Linux from the Command-Line"; homepage = "https://github.com/linux-surface/surface-control"; license = licenses.mit; maintainers = [ ]; diff --git a/pkgs/by-name/su/surfraw/package.nix b/pkgs/by-name/su/surfraw/package.nix index a2c714f3b61f3..6e4fb9265e515 100644 --- a/pkgs/by-name/su/surfraw/package.nix +++ b/pkgs/by-name/su/surfraw/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, perl}: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "surfraw"; diff --git a/pkgs/by-name/su/surge-XT/package.nix b/pkgs/by-name/su/surge-XT/package.nix index 6fd7f9caaacea..395a06019316c 100644 --- a/pkgs/by-name/su/surge-XT/package.nix +++ b/pkgs/by-name/su/surge-XT/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, alsa-lib -, freetype -, libjack2 -, lv2 -, libX11 -, libXcursor -, libXext -, libXinerama -, libXrandr +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + freetype, + libjack2, + lv2, + libX11, + libXcursor, + libXext, + libXinerama, + libXrandr, }: stdenv.mkDerivation rec { @@ -55,13 +56,15 @@ stdenv.mkDerivation rec { ]; # JUCE dlopen's these at runtime, crashes without them - NIX_LDFLAGS = (toString [ - "-lX11" - "-lXext" - "-lXcursor" - "-lXinerama" - "-lXrandr" - ]); + NIX_LDFLAGS = ( + toString [ + "-lX11" + "-lXext" + "-lXcursor" + "-lXinerama" + "-lXrandr" + ] + ); # see https://github.com/NixOS/nixpkgs/pull/149487#issuecomment-991747333 postPatch = '' @@ -73,6 +76,9 @@ stdenv.mkDerivation rec { homepage = "https://surge-synthesizer.github.io"; license = licenses.gpl3; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ magnetophon orivej ]; + maintainers = with maintainers; [ + magnetophon + orivej + ]; }; } diff --git a/pkgs/by-name/su/surge-cli/package.nix b/pkgs/by-name/su/surge-cli/package.nix index 13cd941d1a2ba..0431c69f04d78 100644 --- a/pkgs/by-name/su/surge-cli/package.nix +++ b/pkgs/by-name/su/surge-cli/package.nix @@ -1,4 +1,8 @@ -{ buildNpmPackage, fetchFromGitHub, lib }: +{ + buildNpmPackage, + fetchFromGitHub, + lib, +}: buildNpmPackage rec { pname = "surge-cli"; diff --git a/pkgs/by-name/su/suricata/package.nix b/pkgs/by-name/su/suricata/package.nix index e8a97c494a9eb..4b120c718118c 100644 --- a/pkgs/by-name/su/suricata/package.nix +++ b/pkgs/by-name/su/suricata/package.nix @@ -1,34 +1,40 @@ -{ stdenv -, lib -, fetchurl -, clang -, llvm -, pkg-config -, makeWrapper -, elfutils -, file -, hyperscan -, jansson -, libbpf_0 -, libcap_ng -, libevent -, libmaxminddb -, libnet -, libnetfilter_log -, libnetfilter_queue -, libnfnetlink -, libpcap -, libyaml -, luajit -, lz4 -, nspr -, pcre2 -, python3 -, zlib -, redisSupport ? true, redis, hiredis -, rustSupport ? true, rustc, cargo -, nixosTests -}: let +{ + stdenv, + lib, + fetchurl, + clang, + llvm, + pkg-config, + makeWrapper, + elfutils, + file, + hyperscan, + jansson, + libbpf_0, + libcap_ng, + libevent, + libmaxminddb, + libnet, + libnetfilter_log, + libnetfilter_queue, + libnfnetlink, + libpcap, + libyaml, + luajit, + lz4, + nspr, + pcre2, + python3, + zlib, + redisSupport ? true, + redis, + hiredis, + rustSupport ? true, + rustc, + cargo, + nixosTests, +}: +let libmagic = file; hyperscanSupport = stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; in @@ -41,43 +47,49 @@ stdenv.mkDerivation rec { hash = "sha256-JtCjYZTVMID8iwm5mbK1qDxASfQK0H72rmnHIlpyi4Y="; }; - nativeBuildInputs = [ - clang - llvm - makeWrapper - pkg-config - ] - ++ lib.optionals rustSupport [ rustc cargo ] - ; + nativeBuildInputs = + [ + clang + llvm + makeWrapper + pkg-config + ] + ++ lib.optionals rustSupport [ + rustc + cargo + ]; propagatedBuildInputs = with python3.pkgs; [ pyyaml ]; - buildInputs = [ - elfutils - jansson - libbpf_0 - libcap_ng - libevent - libmagic - libmaxminddb - libnet - libnetfilter_log - libnetfilter_queue - libnfnetlink - libpcap - libyaml - luajit - lz4 - nspr - pcre2 - python3 - zlib - ] - ++ lib.optional hyperscanSupport hyperscan - ++ lib.optionals redisSupport [ redis hiredis ] - ; + buildInputs = + [ + elfutils + jansson + libbpf_0 + libcap_ng + libevent + libmagic + libmaxminddb + libnet + libnetfilter_log + libnetfilter_queue + libnfnetlink + libpcap + libyaml + luajit + lz4 + nspr + pcre2 + python3 + zlib + ] + ++ lib.optional hyperscanSupport hyperscan + ++ lib.optionals redisSupport [ + redis + hiredis + ]; enableParallelBuilding = true; @@ -93,33 +105,34 @@ stdenv.mkDerivation rec { touch bpf_stubs_workaround/gnu/stubs-32.h ''; - configureFlags = [ - "--disable-gccmarch-native" - "--enable-af-packet" - "--enable-ebpf" - "--enable-ebpf-build" - "--enable-gccprotect" - "--enable-geoip" - "--enable-luajit" - "--enable-nflog" - "--enable-nfqueue" - "--enable-pie" - "--enable-python" - "--enable-unix-socket" - "--localstatedir=/var" - "--sysconfdir=/etc" - "--with-libnet-includes=${libnet}/include" - "--with-libnet-libraries=${libnet}/lib" - ] - ++ lib.optionals hyperscanSupport [ - "--with-libhs-includes=${hyperscan.dev}/include/hs" - "--with-libhs-libraries=${hyperscan}/lib" - ] - ++ lib.optional redisSupport "--enable-hiredis" - ++ lib.optionals rustSupport [ - "--enable-rust" - "--enable-rust-experimental" - ]; + configureFlags = + [ + "--disable-gccmarch-native" + "--enable-af-packet" + "--enable-ebpf" + "--enable-ebpf-build" + "--enable-gccprotect" + "--enable-geoip" + "--enable-luajit" + "--enable-nflog" + "--enable-nfqueue" + "--enable-pie" + "--enable-python" + "--enable-unix-socket" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-libnet-includes=${libnet}/include" + "--with-libnet-libraries=${libnet}/lib" + ] + ++ lib.optionals hyperscanSupport [ + "--with-libhs-includes=${hyperscan.dev}/include/hs" + "--with-libhs-libraries=${hyperscan}/lib" + ] + ++ lib.optional redisSupport "--enable-hiredis" + ++ lib.optionals rustSupport [ + "--enable-rust" + "--enable-rust-experimental" + ]; postConfigure = '' # Avoid unintended clousure growth. @@ -127,7 +140,10 @@ stdenv.mkDerivation rec { ''; # zerocallusedregs interferes during BPF compilation; TODO: perhaps improve - hardeningDisable = [ "stackprotector" "zerocallusedregs" ]; + hardeningDisable = [ + "stackprotector" + "zerocallusedregs" + ]; doCheck = true; @@ -145,7 +161,10 @@ stdenv.mkDerivation rec { "sysconfdir=\${out}/etc" ]; - installTargets = [ "install" "install-conf" ]; + installTargets = [ + "install" + "install-conf" + ]; postInstall = '' wrapProgram "$out/bin/suricatasc" \ diff --git a/pkgs/by-name/su/surrealdb/package.nix b/pkgs/by-name/su/surrealdb/package.nix index a7065e119d123..ebab4440a2601 100644 --- a/pkgs/by-name/su/surrealdb/package.nix +++ b/pkgs/by-name/su/surrealdb/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, rocksdb_8_3 -, testers -, surrealdb -, darwin -, protobuf +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + rocksdb_8_3, + testers, + surrealdb, + darwin, + protobuf, }: let @@ -45,8 +46,9 @@ rustPlatform.buildRustPackage rec { rustPlatform.bindgenHook ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; doCheck = false; @@ -69,6 +71,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://surrealdb.com/"; mainProgram = "surreal"; license = licenses.bsl11; - maintainers = with maintainers; [ sikmir happysalada siriobalmelli ]; + maintainers = with maintainers; [ + sikmir + happysalada + siriobalmelli + ]; }; } diff --git a/pkgs/by-name/su/surrealist/package.nix b/pkgs/by-name/su/surrealist/package.nix index c205bb4d9a7ed..e13a41c1bca1f 100644 --- a/pkgs/by-name/su/surrealist/package.nix +++ b/pkgs/by-name/su/surrealist/package.nix @@ -1,44 +1,52 @@ -{ buildGoModule -, cairo -, cargo -, cargo-tauri -, esbuild -, fetchFromGitHub -, gdk-pixbuf -, glib-networking -, gobject-introspection -, lib -, libsoup_3 -, makeBinaryWrapper -, nodejs -, openssl -, pango -, pkg-config -, pnpm -, rustc -, rustPlatform -, stdenv -, webkitgtk_4_1 +{ + buildGoModule, + cairo, + cargo, + cargo-tauri, + esbuild, + fetchFromGitHub, + gdk-pixbuf, + glib-networking, + gobject-introspection, + lib, + libsoup_3, + makeBinaryWrapper, + nodejs, + openssl, + pango, + pkg-config, + pnpm, + rustc, + rustPlatform, + stdenv, + webkitgtk_4_1, }: let - esbuild_21-5 = let - version = "0.21.5"; - in esbuild.override { - buildGoModule = args: - buildGoModule (args // { - inherit version; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); - }; + esbuild_21-5 = + let + version = "0.21.5"; + in + esbuild.override { + buildGoModule = + args: + buildGoModule ( + args + // { + inherit version; + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8="; + }; + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + } + ); + }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "surrealist"; version = "3.0.8"; diff --git a/pkgs/by-name/su/suscan/package.nix b/pkgs/by-name/su/suscan/package.nix index 62600c440da5d..0c052705cc267 100644 --- a/pkgs/by-name/su/suscan/package.nix +++ b/pkgs/by-name/su/suscan/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, fftwSinglePrec -, libsndfile -, sigutils -, soapysdr-with-plugins -, libxml2 -, volk -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + fftwSinglePrec, + libsndfile, + sigutils, + soapysdr-with-plugins, + libxml2, + volk, + zlib, }: stdenv.mkDerivation rec { @@ -47,6 +48,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/BatchDrake/suscan"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ polygon oxapentane ]; + maintainers = with maintainers; [ + polygon + oxapentane + ]; }; } diff --git a/pkgs/by-name/su/sushi/package.nix b/pkgs/by-name/su/sushi/package.nix index bbcaec75a4125..561c40038cb44 100644 --- a/pkgs/by-name/su/sushi/package.nix +++ b/pkgs/by-name/su/sushi/package.nix @@ -1,25 +1,27 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, meson -, gettext -, gobject-introspection -, evince -, glib -, gnome -, gtksourceview4 -, gjs -, libsoup_3 -, webkitgtk_4_1 -, icu -, wrapGAppsHook3 -, gst_all_1 -, gdk-pixbuf -, librsvg -, gtk3 -, harfbuzz -, ninja -, libepoxy +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + gettext, + gobject-introspection, + evince, + glib, + gnome, + gtksourceview4, + gjs, + libsoup_3, + webkitgtk_4_1, + icu, + wrapGAppsHook3, + gst_all_1, + gdk-pixbuf, + librsvg, + gtk3, + harfbuzz, + ninja, + libepoxy, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/su/sutils/package.nix b/pkgs/by-name/su/sutils/package.nix index f611b7adc07cf..0b30a617e0e6a 100644 --- a/pkgs/by-name/su/sutils/package.nix +++ b/pkgs/by-name/su/sutils/package.nix @@ -1,27 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, alsa-lib }: +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, +}: stdenv.mkDerivation rec { - version = "0.2"; - pname = "sutils"; + version = "0.2"; + pname = "sutils"; - src = fetchFromGitHub { - owner = "baskerville"; - repo = "sutils"; - rev = version; - sha256 = "0i2g6a6xdaq3w613dhq7mnsz4ymwqn6kvkyan5kgy49mzq97va6j"; - }; + src = fetchFromGitHub { + owner = "baskerville"; + repo = "sutils"; + rev = version; + sha256 = "0i2g6a6xdaq3w613dhq7mnsz4ymwqn6kvkyan5kgy49mzq97va6j"; + }; - hardeningDisable = [ "format" ]; + hardeningDisable = [ "format" ]; - buildInputs = [ alsa-lib ]; + buildInputs = [ alsa-lib ]; - prePatch = ''sed -i "s@/usr/local@$out@" Makefile''; + prePatch = ''sed -i "s@/usr/local@$out@" Makefile''; - meta = { - description = "Small command-line utilities"; - homepage = "https://github.com/baskerville/sutils"; - maintainers = [ lib.maintainers.meisternu ]; - license = "Custom"; - platforms = lib.platforms.linux; - }; + meta = { + description = "Small command-line utilities"; + homepage = "https://github.com/baskerville/sutils"; + maintainers = [ lib.maintainers.meisternu ]; + license = "Custom"; + platforms = lib.platforms.linux; + }; } diff --git a/pkgs/by-name/su/suwayomi-server/package.nix b/pkgs/by-name/su/suwayomi-server/package.nix index 1ff61c96cd044..31da4c3a18331 100644 --- a/pkgs/by-name/su/suwayomi-server/package.nix +++ b/pkgs/by-name/su/suwayomi-server/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchurl -, makeWrapper -, jdk17_headless -, nixosTests +{ + lib, + stdenvNoCC, + fetchurl, + makeWrapper, + jdk17_headless, + nixosTests, }: let diff --git a/pkgs/by-name/sv/svaba/package.nix b/pkgs/by-name/sv/svaba/package.nix index cdb6c4f9c8aa4..cdc15398d3c9a 100644 --- a/pkgs/by-name/sv/svaba/package.nix +++ b/pkgs/by-name/sv/svaba/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, zlib, bzip2, xz, fetchFromGitHub } : +{ + lib, + stdenv, + zlib, + bzip2, + xz, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "1.1.0"; @@ -12,7 +19,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ zlib bzip2 xz ]; + buildInputs = [ + zlib + bzip2 + xz + ]; postPatch = '' # Fix gcc-13 build failure due to missing includes diff --git a/pkgs/by-name/sv/svd2rust/package.nix b/pkgs/by-name/sv/svd2rust/package.nix index c8849693ff5d7..c37197a5baea7 100644 --- a/pkgs/by-name/sv/svd2rust/package.nix +++ b/pkgs/by-name/sv/svd2rust/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "svd2rust"; @@ -21,7 +25,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "svd2rust"; homepage = "https://github.com/rust-embedded/svd2rust"; changelog = "https://github.com/rust-embedded/svd2rust/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ newam ]; }; } diff --git a/pkgs/by-name/sv/svdtools/package.nix b/pkgs/by-name/sv/svdtools/package.nix index c42f758e3df00..909a54ae12fd3 100644 --- a/pkgs/by-name/sv/svdtools/package.nix +++ b/pkgs/by-name/sv/svdtools/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "svdtools"; homepage = "https://github.com/stm32-rs/svdtools"; changelog = "https://github.com/stm32-rs/svdtools/blob/v${version}/CHANGELOG-rust.md"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ newam ]; }; } diff --git a/pkgs/by-name/sv/svg2pdf/package.nix b/pkgs/by-name/sv/svg2pdf/package.nix index 3e60fbf4377f9..60b1f49838d91 100644 --- a/pkgs/by-name/sv/svg2pdf/package.nix +++ b/pkgs/by-name/sv/svg2pdf/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -24,8 +25,14 @@ rustPlatform.buildRustPackage rec { description = "Convert SVG files to PDFs"; homepage = "https://github.com/typst/svg2pdf"; changelog = "https://github.com/typst/svg2pdf/releases/tag/${src.rev}"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ doronbehar figsoda ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + doronbehar + figsoda + ]; mainProgram = "svg2pdf"; }; } diff --git a/pkgs/by-name/sv/svgbob/package.nix b/pkgs/by-name/sv/svgbob/package.nix index 435ffe99ab146..e2dd2e92ca2ce 100644 --- a/pkgs/by-name/sv/svgbob/package.nix +++ b/pkgs/by-name/sv/svgbob/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "svgbob"; diff --git a/pkgs/by-name/sv/svgcleaner/package.nix b/pkgs/by-name/sv/svgcleaner/package.nix index 87e7bafa2e5f4..aa9f98b6481d1 100644 --- a/pkgs/by-name/sv/svgcleaner/package.nix +++ b/pkgs/by-name/sv/svgcleaner/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sv/svix-cli/package.nix b/pkgs/by-name/sv/svix-cli/package.nix index 8cefce2bffeb3..33f39c11f926c 100644 --- a/pkgs/by-name/sv/svix-cli/package.nix +++ b/pkgs/by-name/sv/svix-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, fetchpatch, buildGoModule }: +{ + lib, + fetchFromGitHub, + fetchpatch, + buildGoModule, +}: buildGoModule rec { version = "0.21.1"; @@ -27,8 +32,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = - [ "-s" "-w" "-X github.com/svix/svix-cli/version.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/svix/svix-cli/version.Version=v${version}" + ]; meta = with lib; { description = "A CLI for interacting with the Svix API"; diff --git a/pkgs/by-name/sv/svix-server/package.nix b/pkgs/by-name/sv/svix-server/package.nix index 0e5777fbffe29..4f60ee6a28681 100644 --- a/pkgs/by-name/sv/svix-server/package.nix +++ b/pkgs/by-name/sv/svix-server/package.nix @@ -1,5 +1,13 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl, protobuf, stdenv -, darwin }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + protobuf, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "svix-server"; @@ -24,14 +32,16 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - protobuf - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + protobuf + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; # needed for internal protobuf c wrapper library PROTOC = "${protobuf}/bin/protoc"; @@ -46,8 +56,7 @@ rustPlatform.buildRustPackage rec { mainProgram = "svix-server"; description = "Enterprise-ready webhooks service"; homepage = "https://github.com/svix/svix-webhooks"; - changelog = - "https://github.com/svix/svix-webhooks/releases/tag/v${version}"; + changelog = "https://github.com/svix/svix-webhooks/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ techknowlogick ]; broken = stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isDarwin; # aws-lc-sys currently broken on darwin x86_64 diff --git a/pkgs/by-name/sv/svlint/package.nix b/pkgs/by-name/sv/svlint/package.nix index b4fb2512596ae..c67a2b2217c35 100644 --- a/pkgs/by-name/sv/svlint/package.nix +++ b/pkgs/by-name/sv/svlint/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -14,7 +15,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-HBfCTOETQ1hHzLFDw12W58omRmliiWDFGSrmr3PELD8="; - cargoBuildFlags = [ "--bin" "svlint" ]; + cargoBuildFlags = [ + "--bin" + "svlint" + ]; meta = with lib; { description = "SystemVerilog linter"; diff --git a/pkgs/by-name/sv/svls/package.nix b/pkgs/by-name/sv/svls/package.nix index 6faefffee2f5f..da278e226a9e8 100644 --- a/pkgs/by-name/sv/svls/package.nix +++ b/pkgs/by-name/sv/svls/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sv/svndumpsanitizer/package.nix b/pkgs/by-name/sv/svndumpsanitizer/package.nix index 2c29015fbe803..486bcf53f6e3a 100644 --- a/pkgs/by-name/sv/svndumpsanitizer/package.nix +++ b/pkgs/by-name/sv/svndumpsanitizer/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/sv/svnfs/package.nix b/pkgs/by-name/sv/svnfs/package.nix index 2f0e32799d800..a8f0e51facde2 100644 --- a/pkgs/by-name/sv/svnfs/package.nix +++ b/pkgs/by-name/sv/svnfs/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, autoreconfHook, subversion, fuse, apr, perl }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + subversion, + fuse, + apr, + perl, +}: stdenv.mkDerivation rec { pname = "svnfs"; @@ -10,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ subversion fuse apr perl ]; + buildInputs = [ + subversion + fuse + apr + perl + ]; # autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on # Darwin if FUSE_USE_VERSION isn't set at configure time. @@ -23,7 +37,7 @@ stdenv.mkDerivation rec { configureFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "CFLAGS=-DFUSE_USE_VERSION=25" ]; # why is this required? - preConfigure='' + preConfigure = '' export LD_LIBRARY_PATH=${subversion.out}/lib ''; @@ -32,13 +46,13 @@ stdenv.mkDerivation rec { # ld: svnclient.o:/build/svnfs-0.4/src/svnfs.h:40: multiple definition of # `dirbuf'; svnfs.o:/build/svnfs-0.4/src/svnfs.h:40: first defined here env.NIX_CFLAGS_COMPILE = "-I ${subversion.dev}/include/subversion-1 -fcommon"; - NIX_LDFLAGS="-lsvn_client-1 -lsvn_subr-1"; + NIX_LDFLAGS = "-lsvn_client-1 -lsvn_subr-1"; meta = { description = "FUSE filesystem for accessing Subversion repositories"; homepage = "https://www.jmadden.eu/index.php/svnfs/"; license = lib.licenses.gpl2Only; - maintainers = [lib.maintainers.marcweber]; + maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.unix; mainProgram = "svnfs"; }; diff --git a/pkgs/by-name/sv/svox/package.nix b/pkgs/by-name/sv/svox/package.nix index acd1de1a20c9e..7664f04335757 100644 --- a/pkgs/by-name/sv/svox/package.nix +++ b/pkgs/by-name/sv/svox/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, popt }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + popt, +}: stdenv.mkDerivation { pname = "svox"; diff --git a/pkgs/by-name/sv/svrcore/package.nix b/pkgs/by-name/sv/svrcore/package.nix index fbc17a5e7b218..f78f7f918e60e 100644 --- a/pkgs/by-name/sv/svrcore/package.nix +++ b/pkgs/by-name/sv/svrcore/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, nss, nspr }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + nss, + nspr, +}: stdenv.mkDerivation rec { pname = "svrcore"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ nss nspr ]; + buildInputs = [ + nss + nspr + ]; meta = with lib; { description = "Secure PIN handling using NSS crypto"; diff --git a/pkgs/by-name/sv/svt-av1/package.nix b/pkgs/by-name/sv/svt-av1/package.nix index 1b515b792c798..85f99a5368b0f 100644 --- a/pkgs/by-name/sv/svt-av1/package.nix +++ b/pkgs/by-name/sv/svt-av1/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, gitUpdater -, cmake -, nasm - -# for passthru.tests -, ffmpeg +{ + lib, + stdenv, + fetchFromGitLab, + gitUpdater, + cmake, + nasm, + + # for passthru.tests + ffmpeg, }: stdenv.mkDerivation (finalAttrs: { @@ -52,7 +53,10 @@ stdenv.mkDerivation (finalAttrs: { ''; changelog = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v${finalAttrs.version}/CHANGELOG.md"; - license = with licenses; [ aom bsd3 ]; + license = with licenses; [ + aom + bsd3 + ]; maintainers = with maintainers; [ Madouura ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/sv/svu/package.nix b/pkgs/by-name/sv/svu/package.nix index 15cbe3a2792c5..012adee06657f 100644 --- a/pkgs/by-name/sv/svu/package.nix +++ b/pkgs/by-name/sv/svu/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, svu }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + svu, +}: buildGoModule rec { pname = "svu"; @@ -13,7 +19,12 @@ buildGoModule rec { vendorHash = "sha256-/FSvNoVDWAkQs09gMrqyoA0su52nlk/nSCYRAhQhbwQ="; - ldflags = [ "-s" "-w" "-X=main.version=${version}" "-X=main.builtBy=nixpkgs" ]; + ldflags = [ + "-s" + "-w" + "-X=main.version=${version}" + "-X=main.builtBy=nixpkgs" + ]; # test assumes source directory to be a git repository postPatch = '' diff --git a/pkgs/by-name/sw/swagger-cli/package.nix b/pkgs/by-name/sw/swagger-cli/package.nix index 8658ad45520a4..f78dd09b46a49 100644 --- a/pkgs/by-name/sw/swagger-cli/package.nix +++ b/pkgs/by-name/sw/swagger-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/sw/swagger-codegen/package.nix b/pkgs/by-name/sw/swagger-codegen/package.nix index 15e125f64fb9d..77381c3f66691 100644 --- a/pkgs/by-name/sw/swagger-codegen/package.nix +++ b/pkgs/by-name/sw/swagger-codegen/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { version = "2.4.38"; diff --git a/pkgs/by-name/sw/swagger-codegen3/package.nix b/pkgs/by-name/sw/swagger-codegen3/package.nix index 59222c1d412de..39c994df36cd8 100644 --- a/pkgs/by-name/sw/swagger-codegen3/package.nix +++ b/pkgs/by-name/sw/swagger-codegen3/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper, testers, swagger-codegen3 }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, + testers, + swagger-codegen3, +}: stdenv.mkDerivation rec { version = "3.0.62"; diff --git a/pkgs/by-name/sw/swaggerhole/package.nix b/pkgs/by-name/sw/swaggerhole/package.nix index 507fde0b3086e..3f07eb76b5d8a 100644 --- a/pkgs/by-name/sw/swaggerhole/package.nix +++ b/pkgs/by-name/sw/swaggerhole/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sw/swaglyrics/package.nix b/pkgs/by-name/sw/swaglyrics/package.nix index 4b9095ff59d74..55fd6459ae51a 100644 --- a/pkgs/by-name/sw/swaglyrics/package.nix +++ b/pkgs/by-name/sw/swaglyrics/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, ncurses +{ + lib, + python3, + fetchFromGitHub, + ncurses, }: python3.pkgs.buildPythonApplication rec { @@ -30,27 +31,30 @@ python3.pkgs.buildPythonApplication rec { unidecode ]; - nativeCheckInputs = with python3.pkgs; [ - blinker - flask - flask-testing - mock - pytestCheckHook - ] ++ [ - ncurses - ]; + nativeCheckInputs = + with python3.pkgs; + [ + blinker + flask + flask-testing + mock + pytestCheckHook + ] + ++ [ + ncurses + ]; preBuild = '' export HOME=$(mktemp -d) ''; disabledTests = [ - # Disable tests which touch network - "test_database_for_unsupported_song" - "test_that_lyrics_works_for_unsupported_songs" - "test_that_get_lyrics_works" - "test_lyrics_are_shown_in_tab" - "test_songchanged_can_raise_songplaying" + # Disable tests which touch network + "test_database_for_unsupported_song" + "test_that_lyrics_works_for_unsupported_songs" + "test_that_get_lyrics_works" + "test_lyrics_are_shown_in_tab" + "test_songchanged_can_raise_songplaying" ]; pythonImportsCheck = [ diff --git a/pkgs/by-name/sw/swaks/package.nix b/pkgs/by-name/sw/swaks/package.nix index a42d6773fc83f..7e31e49cef115 100644 --- a/pkgs/by-name/sw/swaks/package.nix +++ b/pkgs/by-name/sw/swaks/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, perlPackages, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + perl, + perlPackages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "swaks"; @@ -17,9 +24,15 @@ stdenv.mkDerivation rec { mv swaks $out/bin/ wrapProgram $out/bin/swaks --set PERL5LIB \ - "${with perlPackages; makePerlPath [ - NetSSLeay AuthenSASL NetDNS IOSocketINET6 - ]}" + "${ + with perlPackages; + makePerlPath [ + NetSSLeay + AuthenSASL + NetDNS + IOSocketINET6 + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/sw/swapview/package.nix b/pkgs/by-name/sw/swapview/package.nix index 520b2ba4758d9..b15b9d6d062dc 100644 --- a/pkgs/by-name/sw/swapview/package.nix +++ b/pkgs/by-name/sw/swapview/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "swapview"; diff --git a/pkgs/by-name/sw/swarm/package.nix b/pkgs/by-name/sw/swarm/package.nix index 18ecc912915f9..5ee833114a458 100644 --- a/pkgs/by-name/sw/swarm/package.nix +++ b/pkgs/by-name/sw/swarm/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "swarm"; diff --git a/pkgs/by-name/sw/sway-assign-cgroups/package.nix b/pkgs/by-name/sw/sway-assign-cgroups/package.nix index 5b879c783c876..67c3f48626679 100644 --- a/pkgs/by-name/sw/sway-assign-cgroups/package.nix +++ b/pkgs/by-name/sw/sway-assign-cgroups/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonApplication rec { @@ -14,7 +15,13 @@ python3Packages.buildPythonApplication rec { }; format = "other"; - propagatedBuildInputs = with python3Packages; [ dbus-next i3ipc psutil tenacity xlib ]; + propagatedBuildInputs = with python3Packages; [ + dbus-next + i3ipc + psutil + tenacity + xlib + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix b/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix index 42c5421856492..e4ae54623fbc1 100644 --- a/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix +++ b/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, libpulseaudio -, wayland -, wayland-protocols -, wayland-scanner +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libpulseaudio, + wayland, + wayland-protocols, + wayland-scanner, }: stdenv.mkDerivation (finalAttrs: { pname = "sway-audio-idle-inhibit"; @@ -21,11 +22,16 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ - meson ninja pkg-config wayland-scanner + meson + ninja + pkg-config + wayland-scanner ]; buildInputs = [ - libpulseaudio wayland wayland-protocols + libpulseaudio + wayland + wayland-protocols ]; meta = with lib; { diff --git a/pkgs/by-name/sw/sway-easyfocus/package.nix b/pkgs/by-name/sw/sway-easyfocus/package.nix index 3d3b73f7c93fe..dd4082764a29c 100644 --- a/pkgs/by-name/sw/sway-easyfocus/package.nix +++ b/pkgs/by-name/sw/sway-easyfocus/package.nix @@ -1,15 +1,16 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook3 -, atk -, cairo -, gdk-pixbuf -, glib -, gtk3 -, pango -, gtk-layer-shell +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook3, + atk, + cairo, + gdk-pixbuf, + glib, + gtk3, + pango, + gtk-layer-shell, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sw/sway-launcher-desktop/package.nix b/pkgs/by-name/sw/sway-launcher-desktop/package.nix index 7dd660dddb163..93cc778fc4e9c 100644 --- a/pkgs/by-name/sw/sway-launcher-desktop/package.nix +++ b/pkgs/by-name/sw/sway-launcher-desktop/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fzf, gawk, fetchFromGitHub, makeWrapper }: +{ + stdenv, + lib, + fzf, + gawk, + fetchFromGitHub, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "sway-launcher-desktop"; @@ -15,14 +22,22 @@ stdenv.mkDerivation rec { patchShebangs ${pname}.sh ''; - buildInputs = [ fzf gawk ]; + buildInputs = [ + fzf + gawk + ]; nativeBuildInputs = [ makeWrapper ]; installPhase = '' install -d $out/bin install ${pname}.sh $out/bin/${pname} wrapProgram $out/bin/${pname} \ - --prefix PATH : ${lib.makeBinPath [ gawk fzf ]} + --prefix PATH : ${ + lib.makeBinPath [ + gawk + fzf + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/sw/sway-new-workspace/package.nix b/pkgs/by-name/sw/sway-new-workspace/package.nix index 79dcc963df71f..a38583a1d1e3a 100644 --- a/pkgs/by-name/sw/sway-new-workspace/package.nix +++ b/pkgs/by-name/sw/sway-new-workspace/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sw/sway-overfocus/package.nix b/pkgs/by-name/sw/sway-overfocus/package.nix index 9e968725d835a..619f2b4babde4 100644 --- a/pkgs/by-name/sw/sway-overfocus/package.nix +++ b/pkgs/by-name/sw/sway-overfocus/package.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, lib, nix-update-script, rustPlatform }: +{ + fetchFromGitHub, + lib, + nix-update-script, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "sway-overfocus"; @@ -27,4 +32,3 @@ rustPlatform.buildRustPackage rec { mainProgram = "sway-overfocus"; }; } - diff --git a/pkgs/by-name/sw/sway/package.nix b/pkgs/by-name/sw/sway/package.nix index 5506447f692ec..39d0728c0848f 100644 --- a/pkgs/by-name/sw/sway/package.nix +++ b/pkgs/by-name/sw/sway/package.nix @@ -1,14 +1,23 @@ -{ lib -, sway-unwrapped -, makeWrapper, symlinkJoin, writeShellScriptBin -, withBaseWrapper ? true, extraSessionCommands ? "", dbus -, withGtkWrapper ? false, wrapGAppsHook3, gdk-pixbuf, glib, gtk3 -, extraOptions ? [] # E.g.: [ "--verbose" ] -# Used by the NixOS module: -, isNixOS ? false +{ + lib, + sway-unwrapped, + makeWrapper, + symlinkJoin, + writeShellScriptBin, + withBaseWrapper ? true, + extraSessionCommands ? "", + dbus, + withGtkWrapper ? false, + wrapGAppsHook3, + gdk-pixbuf, + glib, + gtk3, + extraOptions ? [ ], # E.g.: [ "--verbose" ] + # Used by the NixOS module: + isNixOS ? false, -, enableXWayland ? true -, dbusSupport ? true + enableXWayland ? true, + dbusSupport ? true, }: assert extraSessionCommands != "" -> withBaseWrapper; @@ -19,34 +28,39 @@ let inherit (lib.meta) getExe; inherit (lib.strings) concatMapStrings optionalString; - sway = sway-unwrapped.overrideAttrs (oa: { inherit isNixOS enableXWayland; }); + sway = sway-unwrapped.overrideAttrs (oa: { + inherit isNixOS enableXWayland; + }); baseWrapper = writeShellScriptBin sway.meta.mainProgram '' - set -o errexit - if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then - export XDG_CURRENT_DESKTOP=${sway.meta.mainProgram} - ${extraSessionCommands} - export _SWAY_WRAPPER_ALREADY_EXECUTED=1 - fi - if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then - export DBUS_SESSION_BUS_ADDRESS - exec ${getExe sway} "$@" - else - exec ${optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${getExe sway} "$@" - fi - ''; -in symlinkJoin rec { - pname = replaceStrings ["-unwrapped"] [""] sway.pname; + set -o errexit + if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then + export XDG_CURRENT_DESKTOP=${sway.meta.mainProgram} + ${extraSessionCommands} + export _SWAY_WRAPPER_ALREADY_EXECUTED=1 + fi + if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then + export DBUS_SESSION_BUS_ADDRESS + exec ${getExe sway} "$@" + else + exec ${optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${getExe sway} "$@" + fi + ''; +in +symlinkJoin rec { + pname = replaceStrings [ "-unwrapped" ] [ "" ] sway.pname; inherit (sway) version; name = "${pname}-${version}"; - paths = (optional withBaseWrapper baseWrapper) - ++ [ sway ]; + paths = (optional withBaseWrapper baseWrapper) ++ [ sway ]; strictDeps = false; - nativeBuildInputs = [ makeWrapper ] - ++ (optional withGtkWrapper wrapGAppsHook3); + nativeBuildInputs = [ makeWrapper ] ++ (optional withGtkWrapper wrapGAppsHook3); - buildInputs = optionals withGtkWrapper [ gdk-pixbuf glib gtk3 ]; + buildInputs = optionals withGtkWrapper [ + gdk-pixbuf + glib + gtk3 + ]; # We want to run wrapProgram manually dontWrapGApps = true; @@ -56,7 +70,9 @@ in symlinkJoin rec { wrapProgram $out/bin/${sway.meta.mainProgram} \ ${optionalString withGtkWrapper ''"''${gappsWrapperArgs[@]}"''} \ - ${optionalString (extraOptions != []) "${concatMapStrings (x: " --add-flags " + x) extraOptions}"} + ${optionalString (extraOptions != [ ]) + "${concatMapStrings (x: " --add-flags " + x) extraOptions}" + } ''; passthru = { diff --git a/pkgs/by-name/sw/swaycons/package.nix b/pkgs/by-name/sw/swaycons/package.nix index c4f6e31a6a43d..28c8faeace167 100644 --- a/pkgs/by-name/sw/swaycons/package.nix +++ b/pkgs/by-name/sw/swaycons/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/sw/swaycwd/package.nix b/pkgs/by-name/sw/swaycwd/package.nix index 50568b3215520..50f30c1c73cf2 100644 --- a/pkgs/by-name/sw/swaycwd/package.nix +++ b/pkgs/by-name/sw/swaycwd/package.nix @@ -1,7 +1,15 @@ -{ lib -, buildNimPackage -, fetchFromGitLab -, enableShells ? [ "bash" "zsh" "fish" "sh" "posh" "codium" ] +{ + lib, + buildNimPackage, + fetchFromGitLab, + enableShells ? [ + "bash" + "zsh" + "fish" + "sh" + "posh" + "codium" + ], }: buildNimPackage (finalAttrs: { diff --git a/pkgs/by-name/sw/swayidle/package.nix b/pkgs/by-name/sw/swayidle/package.nix index 35e66bd961a29..9023cb5af80e2 100644 --- a/pkgs/by-name/sw/swayidle/package.nix +++ b/pkgs/by-name/sw/swayidle/package.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, fetchFromGitHub -, meson, ninja, pkg-config, scdoc, wayland-scanner -, wayland, wayland-protocols, runtimeShell -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + scdoc, + wayland-scanner, + wayland, + wayland-protocols, + runtimeShell, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, }: stdenv.mkDerivation rec { @@ -17,11 +27,22 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; - buildInputs = [ wayland wayland-protocols ] - ++ lib.optionals systemdSupport [ systemd ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + wayland-scanner + ]; + buildInputs = [ + wayland + wayland-protocols + ] ++ lib.optionals systemdSupport [ systemd ]; - mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=${if systemdSupport then "enabled" else "disabled"}" ]; + mesonFlags = [ + "-Dman-pages=enabled" + "-Dlogind=${if systemdSupport then "enabled" else "disabled"}" + ]; postPatch = '' substituteInPlace main.c \ diff --git a/pkgs/by-name/sw/swaykbdd/package.nix b/pkgs/by-name/sw/swaykbdd/package.nix index c4ab6098f21b0..07d73adb07cde 100644 --- a/pkgs/by-name/sw/swaykbdd/package.nix +++ b/pkgs/by-name/sw/swaykbdd/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, json_c, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + json_c, + pkg-config, +}: stdenv.mkDerivation rec { pname = "swaykbdd"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ json_c ]; meta = with lib; { diff --git a/pkgs/by-name/sw/swaylock-effects/package.nix b/pkgs/by-name/sw/swaylock-effects/package.nix index 0f5ba49711814..e82eda03070ef 100644 --- a/pkgs/by-name/sw/swaylock-effects/package.nix +++ b/pkgs/by-name/sw/swaylock-effects/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, scdoc -, wayland -, wayland-protocols -, wayland-scanner -, libxkbcommon -, cairo -, gdk-pixbuf -, pam +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + scdoc, + wayland, + wayland-protocols, + wayland-scanner, + libxkbcommon, + cairo, + gdk-pixbuf, + pam, }: stdenv.mkDerivation rec { @@ -31,8 +32,21 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner]; - buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + wayland-scanner + ]; + buildInputs = [ + wayland + wayland-protocols + libxkbcommon + cairo + gdk-pixbuf + pam + ]; mesonFlags = [ "-Dpam=enabled" diff --git a/pkgs/by-name/sw/swaylock-fancy/package.nix b/pkgs/by-name/sw/swaylock-fancy/package.nix index d821863e84a79..23853af8e8ba0 100644 --- a/pkgs/by-name/sw/swaylock-fancy/package.nix +++ b/pkgs/by-name/sw/swaylock-fancy/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, coreutils -, grim -, gawk -, jq -, swaylock -, imagemagick -, getopt -, fontconfig -, wmctrl -, makeWrapper -, bash +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + grim, + gawk, + jq, + swaylock, + imagemagick, + getopt, + fontconfig, + wmctrl, + makeWrapper, + bash, }: let diff --git a/pkgs/by-name/sw/swaymux/package.nix b/pkgs/by-name/sw/swaymux/package.nix index 7d9fee3866517..47b075aa16b3c 100644 --- a/pkgs/by-name/sw/swaymux/package.nix +++ b/pkgs/by-name/sw/swaymux/package.nix @@ -1,9 +1,10 @@ -{ cmake -, fetchFromGitea -, lib -, nlohmann_json -, qt6 -, stdenv +{ + cmake, + fetchFromGitea, + lib, + nlohmann_json, + qt6, + stdenv, }: stdenv.mkDerivation (finalAttrs: { version = "1.1"; @@ -17,8 +18,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OMJ9wKNuvD1Z9KV7Bp7aIA5gWbBl9PmTdGcGegE0vqM="; }; - buildInputs = [ qt6.qtwayland nlohmann_json qt6.qtbase]; - nativeBuildInputs = [ cmake qt6.wrapQtAppsHook ]; + buildInputs = [ + qt6.qtwayland + nlohmann_json + qt6.qtbase + ]; + nativeBuildInputs = [ + cmake + qt6.wrapQtAppsHook + ]; doCheck = true; diff --git a/pkgs/by-name/sw/swaynag-battery/package.nix b/pkgs/by-name/sw/swaynag-battery/package.nix index cbcb5d90261f1..b9223980ecef9 100644 --- a/pkgs/by-name/sw/swaynag-battery/package.nix +++ b/pkgs/by-name/sw/swaynag-battery/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "swaynag-battery"; diff --git a/pkgs/by-name/sw/swaynotificationcenter/package.nix b/pkgs/by-name/sw/swaynotificationcenter/package.nix index b2ea718d87e55..74f6318761890 100644 --- a/pkgs/by-name/sw/swaynotificationcenter/package.nix +++ b/pkgs/by-name/sw/swaynotificationcenter/package.nix @@ -1,33 +1,34 @@ -{ lib -, stdenv -, fetchFromGitHub -, testers -, wrapGAppsHook3 -, bash-completion -, dbus -, dbus-glib -, fish -, gdk-pixbuf -, glib -, gobject-introspection -, gtk-layer-shell -, gtk3 -, gvfs -, json-glib -, libgee -, libhandy -, libnotify -, libpulseaudio -, librsvg -, meson -, ninja -, pkg-config -, python3 -, scdoc -, vala -, xvfb-run -, sassc -, pantheon +{ + lib, + stdenv, + fetchFromGitHub, + testers, + wrapGAppsHook3, + bash-completion, + dbus, + dbus-glib, + fish, + gdk-pixbuf, + glib, + gobject-introspection, + gtk-layer-shell, + gtk3, + gvfs, + json-glib, + libgee, + libhandy, + libnotify, + libpulseaudio, + librsvg, + meson, + ninja, + pkg-config, + python3, + scdoc, + vala, + xvfb-run, + sassc, + pantheon, }: stdenv.mkDerivation (finalAttrs: rec { @@ -96,6 +97,9 @@ stdenv.mkDerivation (finalAttrs: rec { license = licenses.gpl3; platforms = platforms.linux; mainProgram = "swaync"; - maintainers = with maintainers; [ berbiche pedrohlc ]; + maintainers = with maintainers; [ + berbiche + pedrohlc + ]; }; }) diff --git a/pkgs/by-name/sw/swayosd/package.nix b/pkgs/by-name/sw/swayosd/package.nix index 6f688436395c6..1b4d736f56cab 100644 --- a/pkgs/by-name/sw/swayosd/package.nix +++ b/pkgs/by-name/sw/swayosd/package.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [brightnessctl]} + --prefix PATH : ${lib.makeBinPath [ brightnessctl ]} ) ''; diff --git a/pkgs/by-name/sw/swayr/package.nix b/pkgs/by-name/sw/swayr/package.nix index 7368aa60d04c4..36adeddd31393 100644 --- a/pkgs/by-name/sw/swayr/package.nix +++ b/pkgs/by-name/sw/swayr/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromSourcehut, rustPlatform }: +{ + lib, + fetchFromSourcehut, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "swayr"; diff --git a/pkgs/by-name/sw/swayrbar/package.nix b/pkgs/by-name/sw/swayrbar/package.nix index d3437590337a6..85a92cbdd4cd4 100644 --- a/pkgs/by-name/sw/swayrbar/package.nix +++ b/pkgs/by-name/sw/swayrbar/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromSourcehut, rustPlatform, makeWrapper, withPulseaudio ? false, pulseaudio }: +{ + lib, + fetchFromSourcehut, + rustPlatform, + makeWrapper, + withPulseaudio ? false, + pulseaudio, +}: rustPlatform.buildRustPackage rec { pname = "swayrbar"; @@ -32,7 +39,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://git.sr.ht/~tsdh/swayr#a-idswayrbarswayrbara"; license = with licenses; [ gpl3Plus ]; platforms = platforms.linux; - maintainers = with maintainers; []; + maintainers = with maintainers; [ ]; mainProgram = "swayrbar"; }; } diff --git a/pkgs/by-name/sw/swaysettings/package.nix b/pkgs/by-name/sw/swaysettings/package.nix index 419695d2e7d8c..099b9eb3c694a 100644 --- a/pkgs/by-name/sw/swaysettings/package.nix +++ b/pkgs/by-name/sw/swaysettings/package.nix @@ -1,28 +1,29 @@ -{ lib -, fetchFromGitHub -, accountsservice -, appstream-glib -, dbus -, desktop-file-utils -, gettext -, glib -, gobject-introspection -, gsettings-desktop-schemas -, gtk-layer-shell -, gtk3 -, json-glib -, libgee -, libhandy -, libpulseaudio -, libxml2 -, meson -, ninja -, pantheon -, pkg-config -, python3 -, stdenv -, vala -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + accountsservice, + appstream-glib, + dbus, + desktop-file-utils, + gettext, + glib, + gobject-introspection, + gsettings-desktop-schemas, + gtk-layer-shell, + gtk3, + json-glib, + libgee, + libhandy, + libpulseaudio, + libxml2, + meson, + ninja, + pantheon, + pkg-config, + python3, + stdenv, + vala, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sw/swayws/package.nix b/pkgs/by-name/sw/swayws/package.nix index 8041763adef06..90752a14da04a 100644 --- a/pkgs/by-name/sw/swayws/package.nix +++ b/pkgs/by-name/sw/swayws/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, rustPlatform }: +{ + lib, + fetchFromGitLab, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "swayws"; diff --git a/pkgs/by-name/sw/swaywsr/package.nix b/pkgs/by-name/sw/swaywsr/package.nix index 8901eb3c69e24..cdec0aab22ab7 100644 --- a/pkgs/by-name/sw/swaywsr/package.nix +++ b/pkgs/by-name/sw/swaywsr/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }: +{ + lib, + fetchFromGitHub, + rustPlatform, + libxcb, + python3, +}: rustPlatform.buildRustPackage rec { pname = "swaywsr"; diff --git a/pkgs/by-name/sw/swc/package.nix b/pkgs/by-name/sw/swc/package.nix index b9ed6d05d6f4d..2355bb8801892 100644 --- a/pkgs/by-name/sw/swc/package.nix +++ b/pkgs/by-name/sw/swc/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { @@ -25,6 +26,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "swc"; homepage = "https://github.com/swc-project/swc"; license = licenses.asl20; - maintainers = with maintainers; [ dit7ya kashw2 ]; + maintainers = with maintainers; [ + dit7ya + kashw2 + ]; }; } diff --git a/pkgs/by-name/sw/sweet-folders/package.nix b/pkgs/by-name/sw/sweet-folders/package.nix index e4cd25ed8f51c..dbbe7a949992b 100644 --- a/pkgs/by-name/sw/sweet-folders/package.nix +++ b/pkgs/by-name/sw/sweet-folders/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/sw/sweet-nova/package.nix b/pkgs/by-name/sw/sweet-nova/package.nix index 15d393bcab76d..6b99c8769c3b4 100644 --- a/pkgs/by-name/sw/sweet-nova/package.nix +++ b/pkgs/by-name/sw/sweet-nova/package.nix @@ -1,7 +1,8 @@ -{ fetchFromGitHub -, gitUpdater -, lib -, stdenvNoCC +{ + fetchFromGitHub, + gitUpdater, + lib, + stdenvNoCC, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/sw/sweet/package.nix b/pkgs/by-name/sw/sweet/package.nix index de979e69118e9..51763fb1b974f 100644 --- a/pkgs/by-name/sw/sweet/package.nix +++ b/pkgs/by-name/sw/sweet/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip -, gtk-engine-murrine -, colorVariants ? [] # default: install all icons +{ + lib, + stdenvNoCC, + fetchurl, + unzip, + gtk-engine-murrine, + colorVariants ? [ ], # default: install all icons }: let @@ -26,79 +27,85 @@ let in lib.checkListOfEnum "${pname}: color variants" colorVariantList colorVariants -stdenvNoCC.mkDerivation (finalAttrs: { - inherit pname; - version = "5.0"; + stdenvNoCC.mkDerivation + (finalAttrs: { + inherit pname; + version = "5.0"; - srcs = [ - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue-Dark-v40.tar.xz"; - hash = "sha256-fCCkkEYr4XPnP5aPrs3HAwIwM/Qb0NFY8Rf1ABu0ygY="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue-Dark.tar.xz"; - hash = "sha256-xMAqUsol1FPeFoq8KLTmKCeZMF34FDAjhiagsRmjGT8="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue-v40.tar.xz"; - hash = "sha256-JlpomJ8Ao4bJFJbCDliRtxNckEG3LzINBqhWzfTARJs="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue.tar.xz"; - hash = "sha256-HKJ/Ca5cy91kJZVEETyMcOcrgLliHF/S2rdBmWfKi08="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-v40.tar.xz"; - hash = "sha256-0LjARDbSPyQWN5nT97k2c//eebxhgStGYsebpNQn9+w="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar.tar.xz"; - hash = "sha256-UjH4popJCqQ18HZUngsO6cE4axSAM7/EXwM8nHAdVS4="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Dark-v40.tar.xz"; - hash = "sha256-4/e81slrkcO3WdrQ2atGHdZsErlzme4mRImfLvmGJnQ="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Dark.tar.xz"; - hash = "sha256-Tv+xtUee1TIdRLlnP84aVfk+V6xgeeeICRZCdeSSjE8="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-mars-v40.tar.xz"; - hash = "sha256-FmJoPeQ8iLA6X6lFawBqG8lviQXWBHG5lgQsZvU68BM="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-mars.tar.xz"; - hash = "sha256-bqL9jR8yPF9ZnEZ1O+P3/e6E59m+MY7mQNT3BhYVhu4="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-v40.tar.xz"; - hash = "sha256-Oesx/McKmTlqwJX8u6RrV3AtOIB73BQveD8slbD14js="; - }) - (fetchurl { - url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet.tar.xz"; - hash = "sha256-m0tQHV/3UkDoOAmBZF6Nvugj6fEkmLbeLPdQ/IFkHOo="; - }) - ]; + srcs = [ + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue-Dark-v40.tar.xz"; + hash = "sha256-fCCkkEYr4XPnP5aPrs3HAwIwM/Qb0NFY8Rf1ABu0ygY="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue-Dark.tar.xz"; + hash = "sha256-xMAqUsol1FPeFoq8KLTmKCeZMF34FDAjhiagsRmjGT8="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue-v40.tar.xz"; + hash = "sha256-JlpomJ8Ao4bJFJbCDliRtxNckEG3LzINBqhWzfTARJs="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-Blue.tar.xz"; + hash = "sha256-HKJ/Ca5cy91kJZVEETyMcOcrgLliHF/S2rdBmWfKi08="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar-v40.tar.xz"; + hash = "sha256-0LjARDbSPyQWN5nT97k2c//eebxhgStGYsebpNQn9+w="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Ambar.tar.xz"; + hash = "sha256-UjH4popJCqQ18HZUngsO6cE4axSAM7/EXwM8nHAdVS4="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Dark-v40.tar.xz"; + hash = "sha256-4/e81slrkcO3WdrQ2atGHdZsErlzme4mRImfLvmGJnQ="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-Dark.tar.xz"; + hash = "sha256-Tv+xtUee1TIdRLlnP84aVfk+V6xgeeeICRZCdeSSjE8="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-mars-v40.tar.xz"; + hash = "sha256-FmJoPeQ8iLA6X6lFawBqG8lviQXWBHG5lgQsZvU68BM="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-mars.tar.xz"; + hash = "sha256-bqL9jR8yPF9ZnEZ1O+P3/e6E59m+MY7mQNT3BhYVhu4="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet-v40.tar.xz"; + hash = "sha256-Oesx/McKmTlqwJX8u6RrV3AtOIB73BQveD8slbD14js="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${finalAttrs.version}/Sweet.tar.xz"; + hash = "sha256-m0tQHV/3UkDoOAmBZF6Nvugj6fEkmLbeLPdQ/IFkHOo="; + }) + ]; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; - propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; - sourceRoot = "."; + sourceRoot = "."; - installPhase = '' - runHook preInstall - mkdir -p $out/share/themes/ - cp -r ${lib.concatStringsSep " " (if colorVariants != [] then colorVariants else colorVariantList)} $out/share/themes/ - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes/ + cp -r ${ + lib.concatStringsSep " " (if colorVariants != [ ] then colorVariants else colorVariantList) + } $out/share/themes/ + runHook postInstall + ''; - meta = with lib; { - description = "Light and dark colorful Gtk3.20+ theme"; - homepage = "https://github.com/EliverLara/Sweet"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ fuzen d3vil0p3r ]; - platforms = platforms.unix; - }; -}) + meta = with lib; { + description = "Light and dark colorful Gtk3.20+ theme"; + homepage = "https://github.com/EliverLara/Sweet"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ + fuzen + d3vil0p3r + ]; + platforms = platforms.unix; + }; + }) diff --git a/pkgs/by-name/sw/swfmill/package.nix b/pkgs/by-name/sw/swfmill/package.nix index e7e28c09a2d8b..3beae68dfefb3 100644 --- a/pkgs/by-name/sw/swfmill/package.nix +++ b/pkgs/by-name/sw/swfmill/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl -, pkg-config, libxslt, freetype, libpng, libxml2 +{ + lib, + stdenv, + fetchurl, + pkg-config, + libxslt, + freetype, + libpng, + libxml2, }: stdenv.mkDerivation rec { @@ -12,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxslt freetype libpng libxml2 ]; + buildInputs = [ + libxslt + freetype + libpng + libxml2 + ]; # fatal error: 'libxml/xpath.h' file not found env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-I${libxml2.dev}/include/libxml2"; diff --git a/pkgs/by-name/sw/swh_lv2/package.nix b/pkgs/by-name/sw/swh_lv2/package.nix index 224ab749593dd..6e74700ef6242 100644 --- a/pkgs/by-name/sw/swh_lv2/package.nix +++ b/pkgs/by-name/sw/swh_lv2/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fftwSinglePrec, libxslt, lv2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fftwSinglePrec, + libxslt, + lv2, + pkg-config, +}: stdenv.mkDerivation rec { pname = "swh-lv2"; @@ -17,7 +25,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fftwSinglePrec lv2 ]; + buildInputs = [ + fftwSinglePrec + lv2 + ]; installPhase = "make install-system"; diff --git a/pkgs/by-name/sw/swiftdefaultapps/package.nix b/pkgs/by-name/sw/swiftdefaultapps/package.nix index 44a40e8c8a70b..b929684511f99 100644 --- a/pkgs/by-name/sw/swiftdefaultapps/package.nix +++ b/pkgs/by-name/sw/swiftdefaultapps/package.nix @@ -1,4 +1,8 @@ -{ fetchzip, lib, stdenvNoCC }: +{ + fetchzip, + lib, + stdenvNoCC, +}: stdenvNoCC.mkDerivation rec { pname = "swiftdefaultapps"; diff --git a/pkgs/by-name/sw/swiften/package.nix b/pkgs/by-name/sw/swiften/package.nix index fffe96dbf5c1b..754ac1b8c79f1 100644 --- a/pkgs/by-name/sw/swiften/package.nix +++ b/pkgs/by-name/sw/swiften/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, libidn -, lua -, miniupnpc -, expat -, zlib -, fetchurl -, fetchpatch -, openssl -, boost -, scons +{ + stdenv, + lib, + libidn, + lua, + miniupnpc, + expat, + zlib, + fetchurl, + fetchpatch, + openssl, + boost, + scons, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sw/swiftformat/package.nix b/pkgs/by-name/sw/swiftformat/package.nix index 317f0ee416171..3ff1ce98ffc84 100644 --- a/pkgs/by-name/sw/swiftformat/package.nix +++ b/pkgs/by-name/sw/swiftformat/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: # This derivation is impure: it relies on an Xcode toolchain being installed # and available in the expected place. The values of sandboxProfile and @@ -40,6 +44,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = [ maintainers.bdesham ]; platforms = platforms.darwin; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/sw/swiftshader/package.nix b/pkgs/by-name/sw/swiftshader/package.nix index 3063ccc3a1891..6bae629c60301 100644 --- a/pkgs/by-name/sw/swiftshader/package.nix +++ b/pkgs/by-name/sw/swiftshader/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchgit, python3, cmake, jq }: +{ + lib, + stdenv, + fetchgit, + python3, + cmake, + jq, +}: stdenv.mkDerivation rec { pname = "swiftshader"; @@ -17,7 +24,11 @@ stdenv.mkDerivation rec { ''; }; - nativeBuildInputs = [ cmake python3 jq ]; + nativeBuildInputs = [ + cmake + python3 + jq + ]; # Make sure we include the drivers and icd files in the output as the cmake # generated install command only puts in the spirv-tools stuff. @@ -39,13 +50,12 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "A high-performance CPU-based implementation of the Vulkan 1.3 graphics API"; + description = "A high-performance CPU-based implementation of the Vulkan 1.3 graphics API"; homepage = "https://opensource.google/projects/swiftshader"; license = licenses.asl20; # Should be possible to support Darwin by changing the install phase with # 's/Linux/Darwin/' and 's/so/dylib/' or something similar. platforms = with platforms; linux; - maintainers = []; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/sw/swingsane/package.nix b/pkgs/by-name/sw/swingsane/package.nix index 998c3d2110315..7d52e49d5899f 100644 --- a/pkgs/by-name/sw/swingsane/package.nix +++ b/pkgs/by-name/sw/swingsane/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, unzip, jre, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + unzip, + jre, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "swingsane"; @@ -13,35 +21,37 @@ stdenv.mkDerivation rec { dontConfigure = true; - installPhase = let + installPhase = + let - execWrapper = '' - #!${runtimeShell} - exec ${jre}/bin/java -jar $out/share/java/swingsane/swingsane-${version}.jar "$@" - ''; + execWrapper = '' + #!${runtimeShell} + exec ${jre}/bin/java -jar $out/share/java/swingsane/swingsane-${version}.jar "$@" + ''; - desktopItem = makeDesktopItem { - name = "swingsane"; - exec = "swingsane"; - icon = "swingsane"; - desktopName = "SwingSane"; - genericName = "Scan from local or remote SANE servers"; - comment = meta.description; - categories = [ "Office" ]; - }; + desktopItem = makeDesktopItem { + name = "swingsane"; + exec = "swingsane"; + icon = "swingsane"; + desktopName = "SwingSane"; + genericName = "Scan from local or remote SANE servers"; + comment = meta.description; + categories = [ "Office" ]; + }; - in '' - install -v -m 755 -d $out/share/java/swingsane/ - install -v -m 644 *.jar $out/share/java/swingsane/ + in + '' + install -v -m 755 -d $out/share/java/swingsane/ + install -v -m 644 *.jar $out/share/java/swingsane/ - echo "${execWrapper}" > swingsane - install -v -D -m 755 swingsane $out/bin/swingsane + echo "${execWrapper}" > swingsane + install -v -D -m 755 swingsane $out/bin/swingsane - unzip -j swingsane-${version}.jar "com/swingsane/images/*.png" - install -v -D -m 644 swingsane_512x512.png $out/share/pixmaps/swingsane.png + unzip -j swingsane-${version}.jar "com/swingsane/images/*.png" + install -v -D -m 644 swingsane_512x512.png $out/share/pixmaps/swingsane.png - cp -v -r ${desktopItem}/share/applications $out/share - ''; + cp -v -r ${desktopItem}/share/applications $out/share + ''; meta = with lib; { description = "Java GUI for SANE scanner servers (saned)"; diff --git a/pkgs/by-name/sw/swipe-guess/package.nix b/pkgs/by-name/sw/swipe-guess/package.nix index 881dd9718a6f7..26273fb110103 100644 --- a/pkgs/by-name/sw/swipe-guess/package.nix +++ b/pkgs/by-name/sw/swipe-guess/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromSourcehut +{ + lib, + stdenv, + fetchFromSourcehut, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/sw/switcheroo-control/package.nix b/pkgs/by-name/sw/switcheroo-control/package.nix index a6993af54910f..f6cff0ba3169f 100644 --- a/pkgs/by-name/sw/switcheroo-control/package.nix +++ b/pkgs/by-name/sw/switcheroo-control/package.nix @@ -1,12 +1,13 @@ -{ lib -, ninja -, meson -, fetchFromGitLab -, systemd -, libgudev -, pkg-config -, glib -, python3Packages +{ + lib, + ninja, + meson, + fetchFromGitLab, + systemd, + libgudev, + pkg-config, + glib, + python3Packages, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/sw/switcheroo/package.nix b/pkgs/by-name/sw/switcheroo/package.nix index d61c2a722f69e..f038534305fc1 100644 --- a/pkgs/by-name/sw/switcheroo/package.nix +++ b/pkgs/by-name/sw/switcheroo/package.nix @@ -1,20 +1,21 @@ -{ lib -, blueprint-compiler -, cargo -, darwin -, desktop-file-utils -, fetchFromGitLab -, glib -, gtk4 -, imagemagick -, libadwaita -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, stdenv -, wrapGAppsHook4 +{ + lib, + blueprint-compiler, + cargo, + darwin, + desktop-file-utils, + fetchFromGitLab, + glib, + gtk4, + imagemagick, + libadwaita, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { @@ -46,13 +47,15 @@ stdenv.mkDerivation (finalAttrs: { wrapGAppsHook4 ]; - buildInputs = [ - glib - gtk4 - libadwaita - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + glib + gtk4 + libadwaita + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; preFixup = '' gappsWrapperArgs+=( @@ -62,12 +65,9 @@ stdenv.mkDerivation (finalAttrs: { # Workaround for the gettext-sys issue # https://github.com/Koka/gettext-rs/issues/114 - env.NIX_CFLAGS_COMPILE = lib.optionalString - ( - stdenv.cc.isClang && - lib.versionAtLeast stdenv.cc.version "16" - ) - "-Wno-error=incompatible-function-pointer-types"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" + ) "-Wno-error=incompatible-function-pointer-types"; meta = with lib; { changelog = "https://gitlab.com/adhami3310/Switcheroo/-/releases/v${finalAttrs.version}"; diff --git a/pkgs/by-name/sw/swtpm/package.nix b/pkgs/by-name/sw/swtpm/package.nix index 0332de516e8d0..fb94c21b053a5 100644 --- a/pkgs/by-name/sw/swtpm/package.nix +++ b/pkgs/by-name/sw/swtpm/package.nix @@ -1,18 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, libtasn1, openssl, fuse, glib, libseccomp, json-glib -, libtpms -, unixtools, expect, socat -, gnutls -, perl - -# Tests -, python3, which -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libtasn1, + openssl, + fuse, + glib, + libseccomp, + json-glib, + libtpms, + unixtools, + expect, + socat, + gnutls, + perl, + + # Tests + python3, + which, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -37,7 +46,10 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - pkg-config unixtools.netstat expect socat + pkg-config + unixtools.netstat + expect + socat perl # for pod2man python3 autoreconfHook @@ -47,21 +59,27 @@ stdenv.mkDerivation (finalAttrs: { which ]; - buildInputs = [ - libtpms - openssl libtasn1 - glib json-glib - gnutls - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - fuse - libseccomp - ]; - - configureFlags = [ - "--localstatedir=/var" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--with-cuse" - ]; + buildInputs = + [ + libtpms + openssl + libtasn1 + glib + json-glib + gnutls + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + fuse + libseccomp + ]; + + configureFlags = + [ + "--localstatedir=/var" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--with-cuse" + ]; postPatch = '' patchShebangs tests/* @@ -102,7 +120,10 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; enableParallelBuilding = true; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; passthru.tests = { inherit (nixosTests) systemd-cryptenroll; }; diff --git a/pkgs/by-name/sx/sx-go/package.nix b/pkgs/by-name/sx/sx-go/package.nix index 8c8ceee0fe747..18679532f6176 100644 --- a/pkgs/by-name/sx/sx-go/package.nix +++ b/pkgs/by-name/sx/sx-go/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, fetchpatch -, libpcap +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + libpcap, }: buildGoModule rec { diff --git a/pkgs/by-name/sx/sxcs/package.nix b/pkgs/by-name/sx/sxcs/package.nix index 637efb609e657..b4dd0b871573a 100644 --- a/pkgs/by-name/sx/sxcs/package.nix +++ b/pkgs/by-name/sx/sxcs/package.nix @@ -3,7 +3,7 @@ stdenv, fetchFromGitea, xorg, - installShellFiles + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rYmbbdZjeLCvGvNocI3+KVU2KBkYvRisayTyScTRay8="; }; - buildInputs = [ xorg.libX11 xorg.libXcursor ]; + buildInputs = [ + xorg.libX11 + xorg.libXcursor + ]; nativeBuildInputs = [ installShellFiles ]; buildPhase = '' @@ -27,7 +30,10 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sx/sxhkd/package.nix b/pkgs/by-name/sx/sxhkd/package.nix index 2ae07339b4209..f2093f835c132 100644 --- a/pkgs/by-name/sx/sxhkd/package.nix +++ b/pkgs/by-name/sx/sxhkd/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, asciidoc -, libxcb -, xcbutil -, xcbutilkeysyms -, xcbutilwm +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + asciidoc, + libxcb, + xcbutil, + xcbutilkeysyms, + xcbutilwm, }: stdenv.mkDerivation (finalAttrs: { @@ -29,7 +30,11 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; nativeBuildInputs = [ asciidoc @@ -51,7 +56,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/baskerville/sxhkd"; license = lib.licenses.bsd2; mainProgram = "sxhkd"; - maintainers = with lib.maintainers; [ vyp ncfavier ]; + maintainers = with lib.maintainers; [ + vyp + ncfavier + ]; inherit (libxcb.meta) platforms; }; }) diff --git a/pkgs/by-name/sy/sycl-info/package.nix b/pkgs/by-name/sy/sycl-info/package.nix index e0c4296cb2773..9eb73919e1b46 100644 --- a/pkgs/by-name/sy/sycl-info/package.nix +++ b/pkgs/by-name/sy/sycl-info/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, ninja -, ocl-icd -, opencl-headers -, lyra -, nlohmann_json -, ronn -, doctest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + ocl-icd, + opencl-headers, + lyra, + nlohmann_json, + ronn, + doctest, }: stdenv.mkDerivation rec { @@ -45,13 +47,12 @@ stdenv.mkDerivation rec { # Required for ronn to compile the manpage. RUBYOPT = "-KU -E utf-8:utf-8"; - meta = with lib; - { - homepage = "https://github.com/codeplaysoftware/sycl-info"; - description = "Tool to show information about available SYCL implementations"; - mainProgram = "sycl-info"; - platforms = platforms.linux; - license = licenses.asl20; - maintainers = with maintainers; [ davidtwco ]; - }; + meta = with lib; { + homepage = "https://github.com/codeplaysoftware/sycl-info"; + description = "Tool to show information about available SYCL implementations"; + mainProgram = "sycl-info"; + platforms = platforms.linux; + license = licenses.asl20; + maintainers = with maintainers; [ davidtwco ]; + }; } diff --git a/pkgs/by-name/sy/sylk/package.nix b/pkgs/by-name/sy/sylk/package.nix index ab32ef5463ff2..e124556188fac 100644 --- a/pkgs/by-name/sy/sylk/package.nix +++ b/pkgs/by-name/sy/sylk/package.nix @@ -1,4 +1,8 @@ -{ appimageTools, fetchurl, lib }: +{ + appimageTools, + fetchurl, + lib, +}: appimageTools.wrapType2 rec { pname = "sylk"; @@ -19,7 +23,10 @@ appimageTools.wrapType2 rec { license = lib.licenses.agpl3Plus; mainProgram = "Sylk"; maintainers = with lib.maintainers; [ zimbatm ]; - platforms = [ "i386-linux" "x86_64-linux" ]; + platforms = [ + "i386-linux" + "x86_64-linux" + ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; } diff --git a/pkgs/by-name/sy/symbolic-preview/package.nix b/pkgs/by-name/sy/symbolic-preview/package.nix index 46f654b95600e..e49a98c028643 100644 --- a/pkgs/by-name/sy/symbolic-preview/package.nix +++ b/pkgs/by-name/sy/symbolic-preview/package.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchurl, wrapGAppsHook4 -, cargo, desktop-file-utils, meson, ninja, pkg-config, rustc -, glib, gtk4, libadwaita, libxml2 +{ + lib, + stdenv, + fetchurl, + wrapGAppsHook4, + cargo, + desktop-file-utils, + meson, + ninja, + pkg-config, + rustc, + glib, + gtk4, + libadwaita, + libxml2, }: stdenv.mkDerivation rec { @@ -13,9 +25,20 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4 + cargo + desktop-file-utils + meson + ninja + pkg-config + rustc + wrapGAppsHook4 + ]; + buildInputs = [ + glib + gtk4 + libadwaita + libxml2 ]; - buildInputs = [ glib gtk4 libadwaita libxml2 ]; meta = with lib; { homepage = "https://gitlab.gnome.org/World/design/symbolic-preview"; diff --git a/pkgs/by-name/sy/symbolicator/package.nix b/pkgs/by-name/sy/symbolicator/package.nix index 473f9d64d652a..5ed87d3f18e7c 100644 --- a/pkgs/by-name/sy/symbolicator/package.nix +++ b/pkgs/by-name/sy/symbolicator/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, bzip2 -, openssl -, zstd -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + bzip2, + openssl, + zstd, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -34,14 +35,16 @@ rustPlatform.buildRustPackage rec { rustPlatform.bindgenHook ]; - buildInputs = [ - bzip2 - openssl - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + bzip2 + openssl + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { SYMBOLICATOR_GIT_VERSION = src.rev; diff --git a/pkgs/by-name/sy/symengine/package.nix b/pkgs/by-name/sy/symengine/package.nix index 9d6ef0f2404c9..d7468c70aa293 100644 --- a/pkgs/by-name/sy/symengine/package.nix +++ b/pkgs/by-name/sy/symengine/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gmp -, flint -, mpfr -, libmpc -, withShared ? true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gmp, + flint, + mpfr, + libmpc, + withShared ? true, }: stdenv.mkDerivation rec { @@ -22,21 +23,29 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ gmp flint mpfr libmpc ]; - - cmakeFlags = [ - "-DWITH_FLINT=ON" - "-DINTEGER_CLASS=flint" - "-DWITH_SYMENGINE_THREAD_SAFE=yes" - "-DWITH_MPC=yes" - "-DBUILD_FOR_DISTRIBUTION=yes" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - # error: unrecognized instruction mnemonic, did you mean: bit, cnt, hint, ins, not? - "-DBUILD_TESTS=OFF" - ] ++ lib.optionals withShared [ - "-DBUILD_SHARED_LIBS=ON" + buildInputs = [ + gmp + flint + mpfr + libmpc ]; + cmakeFlags = + [ + "-DWITH_FLINT=ON" + "-DINTEGER_CLASS=flint" + "-DWITH_SYMENGINE_THREAD_SAFE=yes" + "-DWITH_MPC=yes" + "-DBUILD_FOR_DISTRIBUTION=yes" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + # error: unrecognized instruction mnemonic, did you mean: bit, cnt, hint, ins, not? + "-DBUILD_TESTS=OFF" + ] + ++ lib.optionals withShared [ + "-DBUILD_SHARED_LIBS=ON" + ]; + doCheck = true; meta = with lib; { diff --git a/pkgs/by-name/sy/symfony-cli/package.nix b/pkgs/by-name/sy/symfony-cli/package.nix index ec3ad41db20ab..50842e433ca28 100644 --- a/pkgs/by-name/sy/symfony-cli/package.nix +++ b/pkgs/by-name/sy/symfony-cli/package.nix @@ -1,11 +1,12 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, nix-update-script -, testers -, symfony-cli -, nssTools -, makeBinaryWrapper +{ + buildGoModule, + fetchFromGitHub, + lib, + nix-update-script, + testers, + symfony-cli, + nssTools, + makeBinaryWrapper, }: buildGoModule rec { diff --git a/pkgs/by-name/sy/symfpu/package.nix b/pkgs/by-name/sy/symfpu/package.nix index 2c83793114a15..f4ba9d4f45588 100644 --- a/pkgs/by-name/sy/symfpu/package.nix +++ b/pkgs/by-name/sy/symfpu/package.nix @@ -1,13 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, copyPkgconfigItems, makePkgconfigItem }: +{ + lib, + stdenv, + fetchFromGitHub, + copyPkgconfigItems, + makePkgconfigItem, +}: stdenv.mkDerivation rec { pname = "symfpu"; version = "unstable-2019-05-17"; src = fetchFromGitHub { - owner = "martin-cs"; - repo = "symfpu"; - rev = "8fbe139bf0071cbe0758d2f6690a546c69ff0053"; + owner = "martin-cs"; + repo = "symfpu"; + rev = "8fbe139bf0071cbe0758d2f6690a546c69ff0053"; sha256 = "1jf5lkn67q136ppfacw3lsry369v7mdr1rhidzjpbz18jfy9zl9q"; }; @@ -41,9 +47,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A (concrete or symbolic) implementation of IEEE-754 / SMT-LIB floating-point"; - homepage = "https://github.com/martin-cs/symfpu"; - license = licenses.gpl3Only; - platforms = platforms.unix; + homepage = "https://github.com/martin-cs/symfpu"; + license = licenses.gpl3Only; + platforms = platforms.unix; maintainers = with maintainers; [ shadaj ]; }; } diff --git a/pkgs/by-name/sy/symlinks/package.nix b/pkgs/by-name/sy/symlinks/package.nix index 7ca0503676c33..c5709e86c1100 100644 --- a/pkgs/by-name/sy/symlinks/package.nix +++ b/pkgs/by-name/sy/symlinks/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, stdenv }: +{ + fetchFromGitHub, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "symlinks"; diff --git a/pkgs/by-name/sy/symmetrica/package.nix b/pkgs/by-name/sy/symmetrica/package.nix index f215ec0037d49..e578ccc91e8cd 100644 --- a/pkgs/by-name/sy/symmetrica/package.nix +++ b/pkgs/by-name/sy/symmetrica/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitLab -, autoreconfHook +{ + stdenv, + lib, + fetchFromGitLab, + autoreconfHook, }: stdenv.mkDerivation rec { pname = "symmetrica"; diff --git a/pkgs/by-name/sy/sympa/package.nix b/pkgs/by-name/sy/sympa/package.nix index f431278de4d17..bbab3ac4f5d67 100644 --- a/pkgs/by-name/sy/sympa/package.nix +++ b/pkgs/by-name/sy/sympa/package.nix @@ -1,63 +1,72 @@ -{ lib, stdenv, perl, fetchFromGitHub, autoreconfHook, nixosTests }: +{ + lib, + stdenv, + perl, + fetchFromGitHub, + autoreconfHook, + nixosTests, +}: let dataDir = "/var/lib/sympa"; runtimeDir = "/run/sympa"; - perlEnv = perl.withPackages (p: with p; [ - ArchiveZip - CGI - CGIFast - ClassSingleton - DateTime - DBI - DateTimeFormatMail - DateTimeTimeZone - Encode - FCGI - FileCopyRecursive - FileNFSLock - FilePath - HTMLParser - HTMLFormatter - HTMLTree - HTMLStripScriptsParser - IO - IOStringy - LWP - libintl-perl + perlEnv = perl.withPackages ( + p: with p; [ + ArchiveZip + CGI + CGIFast + ClassSingleton + DateTime + DBI + DateTimeFormatMail + DateTimeTimeZone + Encode + FCGI + FileCopyRecursive + FileNFSLock + FilePath + HTMLParser + HTMLFormatter + HTMLTree + HTMLStripScriptsParser + IO + IOStringy + LWP + libintl-perl - MHonArc - MIMECharset - MIMETools - MIMEEncWords - MIMELiteHTML - MailTools - NetCIDR - ScalarListUtils - SysSyslog - TermProgressBar - TemplateToolkit - URI - UnicodeLineBreak - XMLLibXML + MHonArc + MIMECharset + MIMETools + MIMEEncWords + MIMELiteHTML + MailTools + NetCIDR + ScalarListUtils + SysSyslog + TermProgressBar + TemplateToolkit + URI + UnicodeLineBreak + XMLLibXML - ### Features - Clone - CryptEksblowfish + ### Features + Clone + CryptEksblowfish - DBDPg - DBDSQLite - DBDmysql + DBDPg + DBDSQLite + DBDmysql - DataPassword - EncodeLocale - IOSocketSSL - MailDKIM - NetDNS - perlldap - libnet - SOAPLite - ]); + DataPassword + EncodeLocale + IOSocketSSL + MailDKIM + NetDNS + perlldap + libnet + SOAPLite + ] + ); in stdenv.mkDerivation rec { pname = "sympa"; @@ -112,7 +121,10 @@ stdenv.mkDerivation rec { description = "Open source mailing list manager"; homepage = "https://www.sympa.org"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ sorki mmilata ]; + maintainers = with maintainers; [ + sorki + mmilata + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/sy/symphony/package.nix b/pkgs/by-name/sy/symphony/package.nix index 37ac2e58a213b..dad1a903dcefb 100644 --- a/pkgs/by-name/sy/symphony/package.nix +++ b/pkgs/by-name/sy/symphony/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, coin-utils -, coinmp -, gfortran -, libtool -, glpk -, osi -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + coin-utils, + coinmp, + gfortran, + libtool, + glpk, + osi, + pkg-config, }: stdenv.mkDerivation rec { @@ -23,7 +24,15 @@ stdenv.mkDerivation rec { hash = "sha256-OdTUMG3iVhjhw5uKtUnsLCZ4DfMjYHm8+/ozfmw7J6c="; }; - nativeBuildInputs = [ libtool pkg-config glpk gfortran coinmp osi coin-utils ]; + nativeBuildInputs = [ + libtool + pkg-config + glpk + gfortran + coinmp + osi + coin-utils + ]; meta = { description = "SYMPHONY is an open-source solver, callable library, and development framework for mixed-integer linear programs (MILPs) written in C with a number of unique features"; diff --git a/pkgs/by-name/sy/syn2mas/package.nix b/pkgs/by-name/sy/syn2mas/package.nix index 667134361d53f..c39aa512aa43a 100644 --- a/pkgs/by-name/sy/syn2mas/package.nix +++ b/pkgs/by-name/sy/syn2mas/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/sy/synaesthesia/package.nix b/pkgs/by-name/sy/synaesthesia/package.nix index c8575d77b50fa..24cbbb65d8ddd 100644 --- a/pkgs/by-name/sy/synaesthesia/package.nix +++ b/pkgs/by-name/sy/synaesthesia/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchzip -, SDL -, pkg-config -, libSM +{ + stdenv, + lib, + fetchzip, + SDL, + pkg-config, + libSM, }: stdenv.mkDerivation rec { pname = "synaesthesia"; diff --git a/pkgs/by-name/sy/synapse-admin/package.nix b/pkgs/by-name/sy/synapse-admin/package.nix index 250a0721f56b4..e3423b60cf218 100644 --- a/pkgs/by-name/sy/synapse-admin/package.nix +++ b/pkgs/by-name/sy/synapse-admin/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, fetchYarnDeps -, mkYarnPackage -, baseUrl ? null -, writeShellScriptBin +{ + lib, + fetchFromGitHub, + fetchYarnDeps, + mkYarnPackage, + baseUrl ? null, + writeShellScriptBin, }: mkYarnPackage rec { @@ -58,6 +59,9 @@ mkYarnPackage rec { homepage = "https://github.com/Awesome-Technologies/synapse-admin"; license = licenses.asl20; platforms = platforms.all; - maintainers = with maintainers; [ mkg20001 ma27 ]; + maintainers = with maintainers; [ + mkg20001 + ma27 + ]; }; } diff --git a/pkgs/by-name/sy/synapse/package.nix b/pkgs/by-name/sy/synapse/package.nix index 1491a4e812911..0ab4e2326c5c7 100644 --- a/pkgs/by-name/sy/synapse/package.nix +++ b/pkgs/by-name/sy/synapse/package.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, fetchurl, gettext, pkg-config, glib, libnotify, gtk3, libgee -, keybinder3, json-glib, zeitgeist, vala, gobject-introspection +{ + lib, + stdenv, + fetchurl, + gettext, + pkg-config, + glib, + libnotify, + gtk3, + libgee, + keybinder3, + json-glib, + zeitgeist, + vala, + gobject-introspection, }: let version = "0.2.99.4"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "synapse"; inherit version; @@ -14,12 +28,20 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config gettext vala + pkg-config + gettext + vala # For setup hook gobject-introspection ]; buildInputs = [ - glib libnotify gtk3 libgee keybinder3 json-glib zeitgeist + glib + libnotify + gtk3 + libgee + keybinder3 + json-glib + zeitgeist ]; meta = with lib; { diff --git a/pkgs/by-name/sy/syncall/package.nix b/pkgs/by-name/sy/syncall/package.nix index 1e6392c9e6d0c..9cfcd9599b05d 100644 --- a/pkgs/by-name/sy/syncall/package.nix +++ b/pkgs/by-name/sy/syncall/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sy/syncrclone/package.nix b/pkgs/by-name/sy/syncrclone/package.nix index b4a24b5746085..d5fd5968f0e94 100644 --- a/pkgs/by-name/sy/syncrclone/package.nix +++ b/pkgs/by-name/sy/syncrclone/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/sy/syncstorage-rs/package.nix b/pkgs/by-name/sy/syncstorage-rs/package.nix index fb8af72234cbc..a1012300e61e4 100644 --- a/pkgs/by-name/sy/syncstorage-rs/package.nix +++ b/pkgs/by-name/sy/syncstorage-rs/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, rustPlatform -, pkg-config -, python3 -, cmake -, libmysqlclient -, makeBinaryWrapper -, lib -, nix-update-script +{ + fetchFromGitHub, + rustPlatform, + pkg-config, + python3, + cmake, + libmysqlclient, + makeBinaryWrapper, + lib, + nix-update-script, }: let @@ -56,7 +57,7 @@ rustPlatform.buildRustPackage rec { # almost all tests need a DB to test against doCheck = false; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = { description = "Mozilla Sync Storage built with Rust"; diff --git a/pkgs/by-name/sy/syncterm/package.nix b/pkgs/by-name/sy/syncterm/package.nix index 60b172184fc99..12aff4b8ccb22 100644 --- a/pkgs/by-name/sy/syncterm/package.nix +++ b/pkgs/by-name/sy/syncterm/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, perl, unzip, autoPatchelfHook, ncurses, SDL2, alsa-lib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + perl, + unzip, + autoPatchelfHook, + ncurses, + SDL2, + alsa-lib, +}: stdenv.mkDerivation rec { pname = "syncterm"; @@ -13,37 +25,51 @@ stdenv.mkDerivation rec { # Cherry-picks from the upstream Synchronet tree, removing calls to `pthread_yield`. # See upstream issue: https://gitlab.synchro.net/main/sbbs/-/issues/299 (fetchpatch { - url = "https://gitlab.synchro.net/main/sbbs/-/commit/851627df99f48d8eaad33d3a98ef309b4371f359.patch"; - hash = "sha256-DbFAeJnrwFyfEpZgZFN8etqX6vQ3ca2TJwaqp0aHeo4="; + url = "https://gitlab.synchro.net/main/sbbs/-/commit/851627df99f48d8eaad33d3a98ef309b4371f359.patch"; + hash = "sha256-DbFAeJnrwFyfEpZgZFN8etqX6vQ3ca2TJwaqp0aHeo4="; }) ./0001-use-sched-yield-53264f2b.patch ]; # We can't use sourceRoot, as the cherry-picked patches apply to files outside of it. postPatch = ''cd src/syncterm''; - CFLAGS = [ - "-DHAS_INTTYPES_H" - "-DXPDEV_DONT_DEFINE_INTTYPES" + CFLAGS = + [ + "-DHAS_INTTYPES_H" + "-DXPDEV_DONT_DEFINE_INTTYPES" - "-Wno-unused-result" - "-Wformat-overflow=0" - ] ++ (lib.optionals stdenv.hostPlatform.isLinux [ - "-DUSE_ALSA_SOUND" # Don't use OSS for beeps. - ]); + "-Wno-unused-result" + "-Wformat-overflow=0" + ] + ++ (lib.optionals stdenv.hostPlatform.isLinux [ + "-DUSE_ALSA_SOUND" # Don't use OSS for beeps. + ]); makeFlags = [ "PREFIX=$(out)" "RELEASE=1" "USE_SDL_AUDIO=1" ]; - nativeBuildInputs = [ autoPatchelfHook pkg-config SDL2 perl unzip ]; # SDL2 for `sdl2-config`. - buildInputs = [ ncurses SDL2 ] - ++ (lib.optional stdenv.hostPlatform.isLinux alsa-lib); - runtimeDependencies = [ ncurses SDL2 ]; # Both of these are dlopen()'ed at runtime. + nativeBuildInputs = [ + autoPatchelfHook + pkg-config + SDL2 + perl + unzip + ]; # SDL2 for `sdl2-config`. + buildInputs = [ + ncurses + SDL2 + ] ++ (lib.optional stdenv.hostPlatform.isLinux alsa-lib); + runtimeDependencies = [ + ncurses + SDL2 + ]; # Both of these are dlopen()'ed at runtime. meta = with lib; { # error: unsupported option '-fsanitize=safe-stack' for target 'x86_64-apple-darwin' - broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; + broken = + (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; homepage = "https://syncterm.bbsdev.net/"; description = "BBS terminal emulator"; mainProgram = "syncterm"; diff --git a/pkgs/by-name/sy/syncyomi/package.nix b/pkgs/by-name/sy/syncyomi/package.nix index 96bb04803eeb8..d12b380043208 100644 --- a/pkgs/by-name/sy/syncyomi/package.nix +++ b/pkgs/by-name/sy/syncyomi/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, buildGoModule -, nodejs -, pnpm_9 -, esbuild +{ + lib, + stdenvNoCC, + fetchFromGitHub, + buildGoModule, + nodejs, + pnpm_9, + esbuild, }: buildGoModule rec { @@ -26,7 +27,12 @@ buildGoModule rec { sourceRoot = "${finalAttrs.src.name}/web"; pnpmDeps = pnpm_9.fetchDeps { - inherit (finalAttrs) pname version src sourceRoot; + inherit (finalAttrs) + pname + version + src + sourceRoot + ; hash = "sha256-edcZIqshnvM3jJpZWIR/UncI0VCMLq26h/n3VvV/384="; }; @@ -35,18 +41,25 @@ buildGoModule rec { pnpm_9.configHook ]; - env.ESBUILD_BINARY_PATH = lib.getExe (esbuild.override { - buildGoModule = args: buildGoModule (args // rec { - version = "0.17.19"; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); - }); + env.ESBUILD_BINARY_PATH = lib.getExe ( + esbuild.override { + buildGoModule = + args: + buildGoModule ( + args + // rec { + version = "0.17.19"; + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU="; + }; + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + } + ); + } + ); buildPhase = '' runHook preBuild @@ -66,7 +79,8 @@ buildGoModule rec { ''; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.version=v${version}" ]; diff --git a/pkgs/by-name/sy/syndication-domination/package.nix b/pkgs/by-name/sy/syndication-domination/package.nix index 10e325d856425..6bb68402dc95c 100644 --- a/pkgs/by-name/sy/syndication-domination/package.nix +++ b/pkgs/by-name/sy/syndication-domination/package.nix @@ -8,7 +8,7 @@ pugixml, fmt, html-tidy, - enablePython? false, + enablePython ? false, python3Packages, }: @@ -30,14 +30,16 @@ stdenv.mkDerivation { pkg-config ]; - buildInputs = [ - pugixml - fmt - html-tidy - ] ++ lib.optionals enablePython [ - python3Packages.python - python3Packages.pybind11 - ]; + buildInputs = + [ + pugixml + fmt + html-tidy + ] + ++ lib.optionals enablePython [ + python3Packages.python + python3Packages.pybind11 + ]; mesonFlags = [ (lib.mesonBool "TO_JSON_BINARY" true) diff --git a/pkgs/by-name/sy/synfigstudio/package.nix b/pkgs/by-name/sy/synfigstudio/package.nix index 79ad559a5f383..3d5cee8a5931f 100644 --- a/pkgs/by-name/sy/synfigstudio/package.nix +++ b/pkgs/by-name/sy/synfigstudio/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, wrapGAppsHook3 - -, boost -, cairo -, darwin -, gettext -, glibmm -, gtk3 -, gtkmm3 -, libjack2 -, libsigcxx -, libxmlxx -, mlt -, pango -, imagemagick -, intltool -, adwaita-icon-theme -, harfbuzz -, freetype -, fribidi -, openexr -, fftw +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + wrapGAppsHook3, + + boost, + cairo, + darwin, + gettext, + glibmm, + gtk3, + gtkmm3, + libjack2, + libsigcxx, + libxmlxx, + mlt, + pango, + imagemagick, + intltool, + adwaita-icon-theme, + harfbuzz, + freetype, + fribidi, + openexr, + fftw, }: let @@ -57,14 +58,16 @@ let sourceRoot = "${src.name}/synfig-core"; - configureFlags = [ - "--with-boost=${boost.dev}" - "--with-boost-libdir=${boost.out}/lib" - ] ++ lib.optionals stdenv.cc.isClang [ - # Newer versions of clang default to C++17, but synfig and some of its dependencies use deprecated APIs that - # are removed in C++17. Setting the language version to C++14 allows it to build. - "CXXFLAGS=-std=c++14" - ]; + configureFlags = + [ + "--with-boost=${boost.dev}" + "--with-boost-libdir=${boost.out}/lib" + ] + ++ lib.optionals stdenv.cc.isClang [ + # Newer versions of clang default to C++17, but synfig and some of its dependencies use deprecated APIs that + # are removed in C++17. Setting the language version to C++14 allows it to build. + "CXXFLAGS=-std=c++14" + ]; enableParallelBuilding = true; @@ -74,24 +77,26 @@ let gettext intltool ]; - buildInputs = [ - ETL - boost - cairo - glibmm - mlt - libsigcxx - libxmlxx - pango - imagemagick - harfbuzz - freetype - fribidi - openexr - fftw - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + ETL + boost + cairo + glibmm + mlt + libsigcxx + libxmlxx + pango + imagemagick + harfbuzz + freetype + fribidi + openexr + fftw + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; }; in stdenv.mkDerivation { diff --git a/pkgs/by-name/sy/synology-cloud-sync-decryption-tool/package.nix b/pkgs/by-name/sy/synology-cloud-sync-decryption-tool/package.nix index 0872391e6035c..24dbcefe6045d 100644 --- a/pkgs/by-name/sy/synology-cloud-sync-decryption-tool/package.nix +++ b/pkgs/by-name/sy/synology-cloud-sync-decryption-tool/package.nix @@ -1,4 +1,10 @@ -{ lib, writeScript, qt5, fetchurl, autoPatchelfHook }: +{ + lib, + writeScript, + qt5, + fetchurl, + autoPatchelfHook, +}: qt5.mkDerivation rec { pname = "synology-cloud-sync-decryption-tool"; diff --git a/pkgs/by-name/sy/synology-drive-client/package.nix b/pkgs/by-name/sy/synology-drive-client/package.nix index 69f7b4d153c58..dcf40bf80a67d 100644 --- a/pkgs/by-name/sy/synology-drive-client/package.nix +++ b/pkgs/by-name/sy/synology-drive-client/package.nix @@ -1,4 +1,19 @@ -{ stdenv, lib, writeScript, qt5, fetchurl, autoPatchelfHook, dpkg, glibc, cpio, xar, undmg, gtk3, pango, libxcb }: +{ + stdenv, + lib, + writeScript, + qt5, + fetchurl, + autoPatchelfHook, + dpkg, + glibc, + cpio, + xar, + undmg, + gtk3, + pango, + libxcb, +}: let pname = "synology-drive-client"; baseUrl = "https://global.synologydownload.com/download/Utility/SynologyDriveClient"; @@ -9,8 +24,15 @@ let homepage = "https://www.synology.com/en-global/dsm/feature/drive"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ jcouyang MoritzBoehme ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with maintainers; [ + jcouyang + MoritzBoehme + ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "synology-drive"; }; passthru.updateScript = writeScript "update-synology-drive-client" '' @@ -26,16 +48,30 @@ let ''; linux = stdenv.mkDerivation { - inherit pname version meta passthru; + inherit + pname + version + meta + passthru + ; src = fetchurl { url = "${baseUrl}/${version}/Ubuntu/Installer/synology-drive-client-${buildNumber}.x86_64.deb"; sha256 = "sha256-VeS5bPcMM4JDCSH5GXkl4OgQjrPKaNDh5PfX28/zqaU="; }; - nativeBuildInputs = [ qt5.wrapQtAppsHook autoPatchelfHook dpkg ]; + nativeBuildInputs = [ + qt5.wrapQtAppsHook + autoPatchelfHook + dpkg + ]; - buildInputs = [ glibc gtk3 pango libxcb ]; + buildInputs = [ + glibc + gtk3 + pango + libxcb + ]; unpackPhase = '' mkdir -p $out @@ -56,14 +92,23 @@ let }; darwin = stdenv.mkDerivation { - inherit pname version meta passthru; + inherit + pname + version + meta + passthru + ; src = fetchurl { url = "${baseUrl}/${version}/Mac/Installer/synology-drive-client-${buildNumber}.dmg"; sha256 = "sha256-VyhROpQCeVHNxxYgPUZdAlng15aJ1/IYadz30FThlsw="; }; - nativeBuildInputs = [ cpio xar undmg ]; + nativeBuildInputs = [ + cpio + xar + undmg + ]; postUnpack = '' xar -xf 'Install Synology Drive Client.pkg' @@ -78,4 +123,5 @@ let cp -R 'Synology Drive Client.app' $out/Applications/ ''; }; -in if stdenv.hostPlatform.isDarwin then darwin else linux +in +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/by-name/sy/syntax/package.nix b/pkgs/by-name/sy/syntax/package.nix index 01b5ade160fbf..8dffc4b6ed9ea 100644 --- a/pkgs/by-name/sy/syntax/package.nix +++ b/pkgs/by-name/sy/syntax/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage -, stdenv -, nix-update-script +{ + lib, + fetchFromGitHub, + buildNpmPackage, + stdenv, + nix-update-script, }: buildNpmPackage rec { diff --git a/pkgs/by-name/sy/syntex/package.nix b/pkgs/by-name/sy/syntex/package.nix index b149333f2eac6..196825716ba0d 100644 --- a/pkgs/by-name/sy/syntex/package.nix +++ b/pkgs/by-name/sy/syntex/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, mono}: +{ + lib, + stdenv, + fetchFromGitHub, + mono, +}: stdenv.mkDerivation rec { pname = "syntex"; version = "0.0pre20160915"; @@ -23,11 +28,11 @@ stdenv.mkDerivation rec { echo "'${mono}/bin/mono' '$out/bin/syntex.exe' \"\$@\"" >> "$out/bin/syntex" chmod a+x "$out/bin/syntex" ''; - buildInputs = [mono]; + buildInputs = [ mono ]; meta = { description = "Texture synthesis from examples"; license = lib.licenses.mit; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/sy/synthesia/package.nix b/pkgs/by-name/sy/synthesia/package.nix index 78c82dd010ddf..5667962fb0ddf 100644 --- a/pkgs/by-name/sy/synthesia/package.nix +++ b/pkgs/by-name/sy/synthesia/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, stdenvNoCC -, runtimeShell -, copyDesktopItems -, makeDesktopItem -, wineWowPackages +{ + lib, + fetchurl, + stdenvNoCC, + runtimeShell, + copyDesktopItems, + makeDesktopItem, + wineWowPackages, }: let @@ -25,7 +26,10 @@ stdenvNoCC.mkDerivation rec { comment = meta.description; exec = "synthesia"; icon = "synthesia"; - categories = [ "Game" "Audio" ]; + categories = [ + "Game" + "Audio" + ]; startupWMClass = "synthesia.exe"; }) ]; diff --git a/pkgs/by-name/sy/sysbench/package.nix b/pkgs/by-name/sy/sysbench/package.nix index 955a0296b72f6..873932a81805c 100644 --- a/pkgs/by-name/sy/sysbench/package.nix +++ b/pkgs/by-name/sy/sysbench/package.nix @@ -1,22 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libmysqlclient -, libaio -, luajit -# For testing: -, testers -, sysbench +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libmysqlclient, + libaio, + luajit, + # For testing: + testers, + sysbench, }: stdenv.mkDerivation rec { pname = "sysbench"; version = "1.0.20"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libmysqlclient luajit ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libaio ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libmysqlclient + luajit + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libaio ]; depsBuildBuild = [ pkg-config ]; src = fetchFromGitHub { @@ -45,7 +52,14 @@ stdenv.mkDerivation rec { third_party/concurrency_kit/ck/configure \ --replace-fail \ 'COMPILER=`./.1 2> /dev/null`' \ - "COMPILER=${if stdenv.cc.isGNU then "gcc" else if stdenv.cc.isClang then "clang" else throw "Unsupported compiler"}" \ + "COMPILER=${ + if stdenv.cc.isGNU then + "gcc" + else if stdenv.cc.isClang then + "clang" + else + throw "Unsupported compiler" + }" \ --replace-fail \ 'PLATFORM=`uname -m 2> /dev/null`' \ "PLATFORM=${stdenv.hostPlatform.parsed.cpu.name}" diff --git a/pkgs/by-name/sy/syscall_limiter/package.nix b/pkgs/by-name/sy/syscall_limiter/package.nix index 329ec522c422e..97a279431df4f 100644 --- a/pkgs/by-name/sy/syscall_limiter/package.nix +++ b/pkgs/by-name/sy/syscall_limiter/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, libseccomp -, perl -, which +{ + lib, + stdenv, + fetchFromGitHub, + libseccomp, + perl, + which, }: stdenv.mkDerivation { @@ -10,9 +12,9 @@ stdenv.mkDerivation { version = "2017-01-23"; src = fetchFromGitHub { - owner = "vi"; - repo = "syscall_limiter"; - rev = "481c8c883f2e1260ebc83b352b63bf61a930a341"; + owner = "vi"; + repo = "syscall_limiter"; + rev = "481c8c883f2e1260ebc83b352b63bf61a930a341"; sha256 = "0z5arj1kq1xczgrbw1b8m9kicbv3vs9bd32wvgfr4r6ndingsp5m"; }; @@ -29,9 +31,9 @@ stdenv.mkDerivation { meta = with lib; { description = "Start Linux programs with only selected syscalls enabled"; - homepage = "https://github.com/vi/syscall_limiter"; - license = licenses.mit; + homepage = "https://github.com/vi/syscall_limiter"; + license = licenses.mit; maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/sy/sysfsutils/package.nix b/pkgs/by-name/sy/sysfsutils/package.nix index b0fd24c066b32..2935c5b04a64b 100644 --- a/pkgs/by-name/sy/sysfsutils/package.nix +++ b/pkgs/by-name/sy/sysfsutils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sysfsutils"; @@ -11,13 +15,15 @@ stdenv.mkDerivation rec { meta = { homepage = "https://linux-diag.sourceforge.net/Sysfsutils.html"; - longDescription = - '' - These are a set of utilites built upon sysfs, a new virtual - filesystem in Linux kernel versions 2.5+ that exposes a system's - device tree. - ''; - license = with lib.licenses; [ gpl2Plus lgpl21 ]; + longDescription = '' + These are a set of utilites built upon sysfs, a new virtual + filesystem in Linux kernel versions 2.5+ that exposes a system's + device tree. + ''; + license = with lib.licenses; [ + gpl2Plus + lgpl21 + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/sy/sysklogd/package.nix b/pkgs/by-name/sy/sysklogd/package.nix index cfccba6fb542c..b5608c51e3788 100644 --- a/pkgs/by-name/sy/sysklogd/package.nix +++ b/pkgs/by-name/sy/sysklogd/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "sysklogd"; @@ -9,11 +13,19 @@ stdenv.mkDerivation rec { sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji"; }; - patches = [ ./systemd.patch ./union-wait.patch ./fix-includes-for-musl.patch ]; + patches = [ + ./systemd.patch + ./union-wait.patch + ./fix-includes-for-musl.patch + ]; env.NIX_CFLAGS_COMPILE = "-DSYSV"; - installFlags = [ "BINDIR=$(out)/sbin" "MANDIR=$(out)/share/man" "INSTALL=install" ]; + installFlags = [ + "BINDIR=$(out)/sbin" + "MANDIR=$(out)/share/man" + "INSTALL=install" + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" @@ -26,10 +38,9 @@ stdenv.mkDerivation rec { --replace "-m 500 -s" "-m 500" ''; - preConfigure = - '' - sed -e 's@-o \''${MAN_USER} -g \''${MAN_GROUP} -m \''${MAN_PERMS} @@' -i Makefile - ''; + preConfigure = '' + sed -e 's@-o \''${MAN_USER} -g \''${MAN_GROUP} -m \''${MAN_PERMS} @@' -i Makefile + ''; preInstall = "mkdir -p $out/share/man/man5/ $out/share/man/man8/ $out/sbin"; diff --git a/pkgs/by-name/sy/syslinux/package.nix b/pkgs/by-name/sy/syslinux/package.nix index c1424d01f878d..54a9a5bb11ae7 100644 --- a/pkgs/by-name/sy/syslinux/package.nix +++ b/pkgs/by-name/sy/syslinux/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromRepoOrCz -, gnu-efi -, fetchurl -, fetchpatch -, libuuid -, makeWrapper -, mtools -, nasm -, nixosTests -, perl -, python3 +{ + lib, + stdenv, + fetchFromRepoOrCz, + gnu-efi, + fetchurl, + fetchpatch, + libuuid, + makeWrapper, + mtools, + nasm, + nixosTests, + perl, + python3, }: stdenv.mkDerivation { @@ -25,53 +26,54 @@ stdenv.mkDerivation { hash = "sha256-XNC+X7UYxdMQQAg4MLACQLxRNnI5/ZCOiCJrEkKgPeM="; }; - patches = let - fetchDebianPatch = name: commit: hash: - fetchurl { - url = "https://salsa.debian.org/images-team/syslinux/raw/" - + commit + "/debian/patches/" + name; - inherit name hash; - }; - fetchArchlinuxPatch = name: commit: hash: - fetchurl { - url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/" - + commit + "/trunk/" + name; - inherit name hash; - }; - in [ - ./gcc10.patch - (fetchDebianPatch - "0002-gfxboot-menu-label.patch" - "fa1349f1" - "sha256-0f6QhM4lJmGflLige4n7AZTodL7vnyAvi5dIedd/Lho=") - (fetchArchlinuxPatch - "0005-gnu-efi-version-compatibility.patch" - "821c3da473d1399d930d5b4a086e46a4179eaa45" - "sha256-hhCVnfbAFWj/R4yh60qsMB87ofW9RznarsByhl6L4tc=") - (fetchArchlinuxPatch - "0025-reproducible-build.patch" - "821c3da473d1399d930d5b4a086e46a4179eaa45" - "sha256-mnb291pCSFvDNxY7o4BosJ94ib3BpOGRQIiY8Q3jZmI=") - (fetchDebianPatch - # mbr.bin: too big (452 > 440) - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 - "0016-strip-gnu-property.patch" - "7468ef0e38c43" - "sha256-lW+E6THuXlTGvhly0f/D9NwYHhkiKHot2l+bz9Eaxp4=") - (fetchDebianPatch - # mbr.bin: too big (452 > 440) - "0017-single-load-segment.patch" - "012e1dd312eb" - "sha256-C6VmdlTs1blMGUHH3OfOlFBZsfpwRn9vWodwqVn8+Cs=") - (fetchDebianPatch - "0018-prevent-pow-optimization.patch" - "26f0e7b2" - "sha256-dVzXBi/oSV9vYgU85mRFHBKuZdup+1x1BipJX74ED7E=") - # Fixes build with "modern" gnu-efi - ./import-efisetjmp.patch - # Upstream patch: https://www.syslinux.org/archives/2024-February/026903.html - ./define-wchar_t.patch - ]; + patches = + let + fetchDebianPatch = + name: commit: hash: + fetchurl { + url = "https://salsa.debian.org/images-team/syslinux/raw/" + commit + "/debian/patches/" + name; + inherit name hash; + }; + fetchArchlinuxPatch = + name: commit: hash: + fetchurl { + url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/" + commit + "/trunk/" + name; + inherit name hash; + }; + in + [ + ./gcc10.patch + (fetchDebianPatch "0002-gfxboot-menu-label.patch" "fa1349f1" + "sha256-0f6QhM4lJmGflLige4n7AZTodL7vnyAvi5dIedd/Lho=" + ) + (fetchArchlinuxPatch "0005-gnu-efi-version-compatibility.patch" + "821c3da473d1399d930d5b4a086e46a4179eaa45" + "sha256-hhCVnfbAFWj/R4yh60qsMB87ofW9RznarsByhl6L4tc=" + ) + (fetchArchlinuxPatch "0025-reproducible-build.patch" "821c3da473d1399d930d5b4a086e46a4179eaa45" + "sha256-mnb291pCSFvDNxY7o4BosJ94ib3BpOGRQIiY8Q3jZmI=" + ) + (fetchDebianPatch + # mbr.bin: too big (452 > 440) + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 + "0016-strip-gnu-property.patch" + "7468ef0e38c43" + "sha256-lW+E6THuXlTGvhly0f/D9NwYHhkiKHot2l+bz9Eaxp4=" + ) + (fetchDebianPatch + # mbr.bin: too big (452 > 440) + "0017-single-load-segment.patch" + "012e1dd312eb" + "sha256-C6VmdlTs1blMGUHH3OfOlFBZsfpwRn9vWodwqVn8+Cs=" + ) + (fetchDebianPatch "0018-prevent-pow-optimization.patch" "26f0e7b2" + "sha256-dVzXBi/oSV9vYgU85mRFHBKuZdup+1x1BipJX74ED7E=" + ) + # Fixes build with "modern" gnu-efi + ./import-efisetjmp.patch + # Upstream patch: https://www.syslinux.org/archives/2024-February/026903.html + ./define-wchar_t.patch + ]; postPatch = '' substituteInPlace Makefile --replace-fail /bin/pwd $(type -P pwd) @@ -97,9 +99,17 @@ stdenv.mkDerivation { # Fails very rarely with 'No rule to make target: ...' enableParallelBuilding = false; - hardeningDisable = [ "pic" "stackprotector" "fortify" ]; + hardeningDisable = [ + "pic" + "stackprotector" + "fortify" + ]; - stripDebugList = [ "bin" "sbin" "share/syslinux/com32" ]; + stripDebugList = [ + "bin" + "sbin" + "share/syslinux/com32" + ]; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: @@ -107,29 +117,29 @@ stdenv.mkDerivation { # `e820_types'; memory.o:/build/syslinux-b404870/com32/gpllib/../gplinclude/memory.h:40: first defined here env.NIX_CFLAGS_COMPILE = "-fcommon"; - makeFlags = [ - "BINDIR=$(out)/bin" - "SBINDIR=$(out)/sbin" - "DATADIR=$(out)/share" - "MANDIR=$(out)/share/man" - "PERL=perl" - "HEXDATE=0x00000000" - # Works around confusing (unrelated) error messages when upx is not made available - "UPX=false" - - # Configurations needed to make use of external gnu-efi - "LIBEFI=${gnu-efi}/lib/libefi.a" - "LIBDIR=${gnu-efi}/lib/" - "EFIINC=${gnu-efi}/include/efi" - - # Legacy bios boot target is always built - "bios" - ] - # Build "ia32" EFI for i686 - ++ lib.optional stdenv.hostPlatform.isi686 "efi32" - # Build "x86_64" EFI for x86_64 - ++ lib.optional stdenv.hostPlatform.isx86_64 "efi64" - ; + makeFlags = + [ + "BINDIR=$(out)/bin" + "SBINDIR=$(out)/sbin" + "DATADIR=$(out)/share" + "MANDIR=$(out)/share/man" + "PERL=perl" + "HEXDATE=0x00000000" + # Works around confusing (unrelated) error messages when upx is not made available + "UPX=false" + + # Configurations needed to make use of external gnu-efi + "LIBEFI=${gnu-efi}/lib/libefi.a" + "LIBDIR=${gnu-efi}/lib/" + "EFIINC=${gnu-efi}/include/efi" + + # Legacy bios boot target is always built + "bios" + ] + # Build "ia32" EFI for i686 + ++ lib.optional stdenv.hostPlatform.isi686 "efi32" + # Build "x86_64" EFI for x86_64 + ++ lib.optional stdenv.hostPlatform.isx86_64 "efi64"; # Some tests require qemu, some others fail in a sandboxed environment doCheck = false; @@ -149,6 +159,9 @@ stdenv.mkDerivation { description = "Lightweight bootloader"; license = licenses.gpl2Plus; maintainers = [ ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/sy/syslogng/package.nix b/pkgs/by-name/sy/syslogng/package.nix index d70eed9a2f111..055b5a2b90626 100644 --- a/pkgs/by-name/sy/syslogng/package.nix +++ b/pkgs/by-name/sy/syslogng/package.nix @@ -1,65 +1,67 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf-archive -, autoreconfHook -, bison -, flex -, openssl -, libcap -, curl -, which -, eventlog -, pkg-config -, glib -, hiredis -, systemd -, perl -, python3 -, riemann_c_client -, protobufc -, pcre -, paho-mqtt-c -, python3Packages -, libnet -, json_c -, libuuid -, libivykis -, libxslt -, docbook_xsl -, pcre2 -, mongoc -, rabbitmq-c -, libesmtp -, rdkafka -, gperf -, withGrpc ? true -, grpc -, protobuf +{ + lib, + stdenv, + fetchFromGitHub, + autoconf-archive, + autoreconfHook, + bison, + flex, + openssl, + libcap, + curl, + which, + eventlog, + pkg-config, + glib, + hiredis, + systemd, + perl, + python3, + riemann_c_client, + protobufc, + pcre, + paho-mqtt-c, + python3Packages, + libnet, + json_c, + libuuid, + libivykis, + libxslt, + docbook_xsl, + pcre2, + mongoc, + rabbitmq-c, + libesmtp, + rdkafka, + gperf, + withGrpc ? true, + grpc, + protobuf, }: let - python-deps = ps: with ps; [ - boto3 - botocore - cachetools - certifi - charset-normalizer - google-auth - idna - kubernetes - oauthlib - pyasn1 - pyasn1-modules - python-dateutil - pyyaml - requests - requests-oauthlib - rsa - six - urllib3 - websocket-client - ply - ]; + python-deps = + ps: with ps; [ + boto3 + botocore + cachetools + certifi + charset-normalizer + google-auth + idna + kubernetes + oauthlib + pyasn1 + pyasn1-modules + python-dateutil + pyyaml + requests + requests-oauthlib + rsa + six + urllib3 + websocket-client + ply + ]; py = python3.withPackages python-deps; in stdenv.mkDerivation (finalAttrs: { @@ -73,31 +75,47 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YdGbDpGMC0DPuPSbfe9HvZshBVdv1s1+hiHDnhYbs6Q="; fetchSubmodules = true; }; - nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl gperf python3Packages.setuptools ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + pkg-config + which + bison + flex + libxslt + perl + gperf + python3Packages.setuptools + ]; - buildInputs = [ - libcap - curl - openssl - eventlog - glib - py - systemd - riemann_c_client - protobufc - pcre - libnet - json_c - libuuid - libivykis - mongoc - rabbitmq-c - libesmtp - pcre2 - paho-mqtt-c - hiredis - rdkafka - ] ++ (lib.optionals withGrpc [ protobuf grpc ]); + buildInputs = + [ + libcap + curl + openssl + eventlog + glib + py + systemd + riemann_c_client + protobufc + pcre + libnet + json_c + libuuid + libivykis + mongoc + rabbitmq-c + libesmtp + pcre2 + paho-mqtt-c + hiredis + rdkafka + ] + ++ (lib.optionals withGrpc [ + protobuf + grpc + ]); configureFlags = [ "--enable-manpages" @@ -116,14 +134,20 @@ stdenv.mkDerivation (finalAttrs: { "--without-compile-date" ] ++ (lib.optionals withGrpc [ "--enable-grpc" ]); - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; enableParallelBuilding = true; meta = { homepage = "https://www.syslog-ng.com"; description = "Next-generation syslogd with advanced networking and filtering capabilities"; - license = with lib.licenses; [ gpl2Plus lgpl21Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = with lib.maintainers; [ vifino ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/sy/sysstat/package.nix b/pkgs/by-name/sy/sysstat/package.nix index ea37545672edf..caf571e6b4b72 100644 --- a/pkgs/by-name/sy/sysstat/package.nix +++ b/pkgs/by-name/sy/sysstat/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, gettext -, bzip2 +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + bzip2, }: stdenv.mkDerivation rec { @@ -26,8 +27,16 @@ stdenv.mkDerivation rec { export COMPRESS_MANPG=n ''; - makeFlags = [ "SYSCONFIG_DIR=$(out)/etc" "IGNORE_FILE_ATTRIBUTES=y" "CHOWN=true" ]; - installTargets = [ "install_base" "install_nls" "install_man" ]; + makeFlags = [ + "SYSCONFIG_DIR=$(out)/etc" + "IGNORE_FILE_ATTRIBUTES=y" + "CHOWN=true" + ]; + installTargets = [ + "install_base" + "install_nls" + "install_man" + ]; patches = [ ./install.patch ]; diff --git a/pkgs/by-name/sy/system-syzygy/package.nix b/pkgs/by-name/sy/system-syzygy/package.nix index d321284b74279..1d1dffb6875a5 100644 --- a/pkgs/by-name/sy/system-syzygy/package.nix +++ b/pkgs/by-name/sy/system-syzygy/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, SDL2, makeWrapper, makeDesktopItem}: +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + SDL2, + makeWrapper, + makeDesktopItem, +}: let desktopFile = makeDesktopItem { @@ -41,7 +49,6 @@ rustPlatform.buildRustPackage rec { substituteAll ${desktopFile}/share/applications/system-syzygy.desktop $out/share/applications/system-syzygy.desktop ''; - meta = with lib; { broken = stdenv.hostPlatform.isDarwin; description = "Story and a puzzle game, where you solve a variety of puzzle"; diff --git a/pkgs/by-name/sy/system76-firmware/package.nix b/pkgs/by-name/sy/system76-firmware/package.nix index d28372a465d96..b604f006cd4b5 100644 --- a/pkgs/by-name/sy/system76-firmware/package.nix +++ b/pkgs/by-name/sy/system76-firmware/package.nix @@ -1,4 +1,14 @@ -{ rustPlatform, lib, fetchFromGitHub, xz, pkg-config, openssl, dbus, efibootmgr, makeWrapper }: +{ + rustPlatform, + lib, + fetchFromGitHub, + xz, + pkg-config, + openssl, + dbus, + efibootmgr, + makeWrapper, +}: rustPlatform.buildRustPackage rec { pname = "system76-firmware"; # Check Makefile when updating, make sure postInstall matches make install @@ -11,9 +21,16 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-nLbDhs+FxIcoVK66bwUAxAubikic5NT8yOA/mH/irgQ="; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; - buildInputs = [ xz openssl dbus ]; + buildInputs = [ + xz + openssl + dbus + ]; cargoBuildFlags = [ "--workspace" ]; @@ -39,6 +56,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/pop-os/system76-firmware"; license = licenses.gpl3Only; maintainers = with maintainers; [ shlevy ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/sy/system76-keyboard-configurator/package.nix b/pkgs/by-name/sy/system76-keyboard-configurator/package.nix index e9831de3ed00d..e4fc5166a8244 100644 --- a/pkgs/by-name/sy/system76-keyboard-configurator/package.nix +++ b/pkgs/by-name/sy/system76-keyboard-configurator/package.nix @@ -1,4 +1,15 @@ -{ lib, fetchFromGitHub, rustPlatform, gtk3, glib, wrapGAppsHook3, libusb1, hidapi, udev, pkg-config }: +{ + lib, + fetchFromGitHub, + rustPlatform, + gtk3, + glib, + wrapGAppsHook3, + libusb1, + hidapi, + udev, + pkg-config, +}: # system76-keyboard-configurator tries to spawn a daemon as root via pkexec, so # your system needs a PolicyKit authentication agent running for the diff --git a/pkgs/by-name/sy/system76-power/package.nix b/pkgs/by-name/sy/system76-power/package.nix index 600459921c1a2..6b12959a91c77 100644 --- a/pkgs/by-name/sy/system76-power/package.nix +++ b/pkgs/by-name/sy/system76-power/package.nix @@ -1,4 +1,11 @@ -{ pkg-config, libusb1, dbus, lib, rustPlatform, fetchFromGitHub }: +{ + pkg-config, + libusb1, + dbus, + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "system76-power"; @@ -12,7 +19,10 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus libusb1 ]; + buildInputs = [ + dbus + libusb1 + ]; cargoLock = { lockFile = ./Cargo.lock; @@ -32,7 +42,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "system76-power"; homepage = "https://github.com/pop-os/system76-power"; license = lib.licenses.gpl3Plus; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; - maintainers = with lib.maintainers; [ smonson ahoneybun ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; + maintainers = with lib.maintainers; [ + smonson + ahoneybun + ]; }; } diff --git a/pkgs/by-name/sy/system76-scheduler/package.nix b/pkgs/by-name/sy/system76-scheduler/package.nix index 790ae79bc72f0..d8e0ebe89d585 100644 --- a/pkgs/by-name/sy/system76-scheduler/package.nix +++ b/pkgs/by-name/sy/system76-scheduler/package.nix @@ -1,14 +1,17 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pipewire -, pkg-config -, bcc -, dbus }: +{ + lib, + fetchFromGitHub, + rustPlatform, + pipewire, + pkg-config, + bcc, + dbus, +}: let version = "2.0.2"; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { pname = "system76-scheduler"; inherit version; src = fetchFromGitHub { @@ -19,8 +22,14 @@ in rustPlatform.buildRustPackage { }; cargoHash = "sha256-HxNqGe+KrmOoLgaKY9pniPWFF/hehSi1dgZn4LPE7OA="; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; - buildInputs = [ dbus pipewire ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; + buildInputs = [ + dbus + pipewire + ]; EXECSNOOP_PATH = "${bcc}/bin/execsnoop"; @@ -38,7 +47,11 @@ in rustPlatform.buildRustPackage { mainProgram = "system76-scheduler"; homepage = "https://github.com/pop-os/system76-scheduler"; license = licenses.mpl20; - platforms = [ "x86_64-linux" "x86-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "x86-linux" + "aarch64-linux" + ]; maintainers = [ maintainers.cmm ]; }; } diff --git a/pkgs/by-name/sy/systembus-notify/package.nix b/pkgs/by-name/sy/systembus-notify/package.nix index c059c566fecd3..ce599973c5725 100644 --- a/pkgs/by-name/sy/systembus-notify/package.nix +++ b/pkgs/by-name/sy/systembus-notify/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, formats -, systemd +{ + lib, + stdenv, + fetchFromGitHub, + formats, + systemd, }: let diff --git a/pkgs/by-name/sy/systemc/package.nix b/pkgs/by-name/sy/systemc/package.nix index 54f9a080c1d23..ef1c7a362fe52 100644 --- a/pkgs/by-name/sy/systemc/package.nix +++ b/pkgs/by-name/sy/systemc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "systemc"; @@ -23,9 +28,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Language for System-level design, modeling and verification"; - homepage = "https://systemc.org/"; - license = licenses.asl20; - platforms = platforms.unix; + homepage = "https://systemc.org/"; + license = licenses.asl20; + platforms = platforms.unix; maintainers = with maintainers; [ amiloradovsky ]; }; } diff --git a/pkgs/by-name/sy/systemd-journal2gelf/package.nix b/pkgs/by-name/sy/systemd-journal2gelf/package.nix index cb319fbd52d82..2d9e8cf282780 100644 --- a/pkgs/by-name/sy/systemd-journal2gelf/package.nix +++ b/pkgs/by-name/sy/systemd-journal2gelf/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "SystemdJournal2Gelf"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doCheck = false; @@ -21,7 +28,10 @@ buildGoModule rec { description = "Export entries from systemd's journal and send them to a graylog server using gelf"; homepage = "https://github.com/parse-nl/SystemdJournal2Gelf"; license = licenses.bsd2; - maintainers = with maintainers; [ fadenb fpletz ]; + maintainers = with maintainers; [ + fadenb + fpletz + ]; mainProgram = "SystemdJournal2Gelf"; }; } diff --git a/pkgs/by-name/sy/systemd-lock-handler/package.nix b/pkgs/by-name/sy/systemd-lock-handler/package.nix index 04c52dd2df0a0..edb4a9028c5bb 100644 --- a/pkgs/by-name/sy/systemd-lock-handler/package.nix +++ b/pkgs/by-name/sy/systemd-lock-handler/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromSourcehut -, buildGoModule -, nix-update-script -, nixosTests +{ + lib, + fetchFromSourcehut, + buildGoModule, + nix-update-script, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/sy/systemd-wait/package.nix b/pkgs/by-name/sy/systemd-wait/package.nix index 99e07ebbf49c4..d1a7e0c1f92f5 100644 --- a/pkgs/by-name/sy/systemd-wait/package.nix +++ b/pkgs/by-name/sy/systemd-wait/package.nix @@ -1,4 +1,8 @@ -{ python3Packages, fetchFromGitHub, lib }: +{ + python3Packages, + fetchFromGitHub, + lib, +}: python3Packages.buildPythonApplication rec { pname = "systemd-wait"; @@ -12,7 +16,8 @@ python3Packages.buildPythonApplication rec { }; propagatedBuildInputs = with python3Packages; [ - dbus-python pygobject3 + dbus-python + pygobject3 ]; meta = { diff --git a/pkgs/by-name/sy/systemfd/package.nix b/pkgs/by-name/sy/systemfd/package.nix index da562f2bd5496..6c4e59cca3130 100644 --- a/pkgs/by-name/sy/systemfd/package.nix +++ b/pkgs/by-name/sy/systemfd/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: let diff --git a/pkgs/by-name/sy/systeroid/package.nix b/pkgs/by-name/sy/systeroid/package.nix index 4cedd6db8a17b..bd483e5ae86f4 100644 --- a/pkgs/by-name/sy/systeroid/package.nix +++ b/pkgs/by-name/sy/systeroid/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, linux-doc -, xorg +{ + lib, + rustPlatform, + fetchFromGitHub, + linux-doc, + xorg, }: rustPlatform.buildRustPackage rec { @@ -34,7 +35,13 @@ rustPlatform.buildRustPackage rec { description = "More powerful alternative to sysctl(8) with a terminal user interface"; homepage = "https://github.com/orhun/systeroid"; changelog = "https://github.com/orhun/systeroid/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + ]; }; } diff --git a/pkgs/by-name/sy/systrayhelper/package.nix b/pkgs/by-name/sy/systrayhelper/package.nix index 328ea27e8b806..2bf9e9e99b7c7 100644 --- a/pkgs/by-name/sy/systrayhelper/package.nix +++ b/pkgs/by-name/sy/systrayhelper/package.nix @@ -1,4 +1,10 @@ -{ lib, pkg-config, libappindicator-gtk3, buildGoModule, fetchFromGitHub }: +{ + lib, + pkg-config, + libappindicator-gtk3, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "systrayhelper"; @@ -24,7 +30,10 @@ buildGoModule rec { "-w" ]; - nativeBuildInputs = [ pkg-config libappindicator-gtk3 ]; + nativeBuildInputs = [ + pkg-config + libappindicator-gtk3 + ]; buildInputs = [ libappindicator-gtk3 ]; doCheck = false; # Display required diff --git a/pkgs/by-name/sy/sysvinit/package.nix b/pkgs/by-name/sy/sysvinit/package.nix index c8ba3164ab09d..546187c7a3148 100644 --- a/pkgs/by-name/sy/sysvinit/package.nix +++ b/pkgs/by-name/sy/sysvinit/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libxcrypt, withoutInitTools ? false }: +{ + lib, + stdenv, + fetchurl, + libxcrypt, + withoutInitTools ? false, +}: stdenv.mkDerivation rec { pname = if withoutInitTools then "sysvtools" else "sysvinit"; @@ -16,19 +22,22 @@ stdenv.mkDerivation rec { buildInputs = [ libxcrypt ]; - makeFlags = [ "SULOGINLIBS=-lcrypt" "ROOT=$(out)" "MANDIR=/share/man" ]; + makeFlags = [ + "SULOGINLIBS=-lcrypt" + "ROOT=$(out)" + "MANDIR=/share/man" + ]; - preInstall = - '' - substituteInPlace src/Makefile --replace /usr / - ''; + preInstall = '' + substituteInPlace src/Makefile --replace /usr / + ''; - postInstall = '' - mv $out/sbin/killall5 $out/bin - ln -sf killall5 $out/bin/pidof - '' - + lib.optionalString withoutInitTools + postInstall = + '' + mv $out/sbin/killall5 $out/bin + ln -sf killall5 $out/bin/pidof '' + + lib.optionalString withoutInitTools '' shopt -s extglob rm -rf $out/sbin/!(sulogin) rm -rf $out/include diff --git a/pkgs/by-name/sy/sysz/package.nix b/pkgs/by-name/sy/sysz/package.nix index aac3bfb29c94a..cbe2f22f68fb4 100644 --- a/pkgs/by-name/sy/sysz/package.nix +++ b/pkgs/by-name/sy/sysz/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper, fzf, gawk }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + fzf, + gawk, +}: stdenvNoCC.mkDerivation rec { pname = "sysz"; @@ -18,7 +25,12 @@ stdenvNoCC.mkDerivation rec { runHook preInstall install -Dm755 sysz $out/libexec/sysz makeWrapper $out/libexec/sysz $out/bin/sysz \ - --prefix PATH : ${lib.makeBinPath [ fzf gawk ]} + --prefix PATH : ${ + lib.makeBinPath [ + fzf + gawk + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/sz/szip/package.nix b/pkgs/by-name/sz/szip/package.nix index f6d0c619c770d..814c777f12302 100644 --- a/pkgs/by-name/sz/szip/package.nix +++ b/pkgs/by-name/sz/szip/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "szip"; diff --git a/pkgs/by-name/sz/szyszka/package.nix b/pkgs/by-name/sz/szyszka/package.nix index 8bd133e6dae01..caccd45c1f233 100644 --- a/pkgs/by-name/sz/szyszka/package.nix +++ b/pkgs/by-name/sz/szyszka/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, glib -, cairo -, pango -, atk -, gdk-pixbuf -, gtk4 -, wrapGAppsHook4 -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + glib, + cairo, + pango, + atk, + gdk-pixbuf, + gtk4, + wrapGAppsHook4, + darwin, }: rustPlatform.buildRustPackage rec { @@ -31,16 +32,21 @@ rustPlatform.buildRustPackage rec { wrapGAppsHook4 ]; - buildInputs = [ - glib - cairo - pango - atk - gdk-pixbuf - gtk4 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Foundation - ]); + buildInputs = + [ + glib + cairo + pango + atk + gdk-pixbuf + gtk4 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Foundation + ] + ); postInstall = '' install -m 444 \ diff --git a/pkgs/by-name/t-/t-rex/package.nix b/pkgs/by-name/t-/t-rex/package.nix index 60d44e0247a8d..e0c41b0d0abfe 100644 --- a/pkgs/by-name/t-/t-rex/package.nix +++ b/pkgs/by-name/t-/t-rex/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, gdal, openssl, darwin }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + gdal, + openssl, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "t-rex"; @@ -13,10 +22,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-nxq4mX2Sy6Hyi8tA2CQsQwISB/kau4DEkAgIm4SvGns="; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; - buildInputs = [ gdal openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; + buildInputs = [ + gdal + openssl + ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; meta = with lib; { description = "Vector tile server specialized on publishing MVT tiles"; diff --git a/pkgs/by-name/t1/t1lib/package.nix b/pkgs/by-name/t1/t1lib/package.nix index e09ed7ee32dc7..6bb91c9d19784 100644 --- a/pkgs/by-name/t1/t1lib/package.nix +++ b/pkgs/by-name/t1/t1lib/package.nix @@ -1,19 +1,44 @@ -{ lib, stdenv, fetchurl, fetchpatch, libX11, libXaw }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libX11, + libXaw, +}: let - getPatch = { name, sha256 }: fetchpatch { - inherit name sha256; - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/${name}" - + "?h=packages/t1lib&id=643a4c2c58e70072b5bc1e9e4624162517b58357"; - }; + getPatch = + { name, sha256 }: + fetchpatch { + inherit name sha256; + url = + "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/${name}" + + "?h=packages/t1lib&id=643a4c2c58e70072b5bc1e9e4624162517b58357"; + }; patches = map getPatch [ - { name = "lib-cleanup.diff"; sha256 = "1w3q1y4zk0y4mf2s2x9z4cd8d4af8i868c8837p40mz3dqrai4zp"; } - { name = "format-security.diff"; sha256 = "0cca94bif9dsc6iwpcnk1504gb3sl3nsqhni85c21q9aywyz26l3"; } - { name = "CVE-2011-0764.diff"; sha256 = "1j0y3f38im7srpqjg9jvx8as6sxkz8gw7hglcxnxl9qylx8mr2jh"; } - { name = "CVE-2011-1552_1553_1554.patch"; sha256 = "16cyq6jhyhh8912j8hapx9pq4rzxk36ljlkxlnyi7i3wr8iz1dir"; } - { name = "CVE-2010-2642.patch"; sha256 = "175zvyr9v1xs22k2svgxqjcpz5nihfa7j46hn9nzvkqcrhm5m9y8"; } - # this ^ also fixes CVE-2011-5244 + { + name = "lib-cleanup.diff"; + sha256 = "1w3q1y4zk0y4mf2s2x9z4cd8d4af8i868c8837p40mz3dqrai4zp"; + } + { + name = "format-security.diff"; + sha256 = "0cca94bif9dsc6iwpcnk1504gb3sl3nsqhni85c21q9aywyz26l3"; + } + { + name = "CVE-2011-0764.diff"; + sha256 = "1j0y3f38im7srpqjg9jvx8as6sxkz8gw7hglcxnxl9qylx8mr2jh"; + } + { + name = "CVE-2011-1552_1553_1554.patch"; + sha256 = "16cyq6jhyhh8912j8hapx9pq4rzxk36ljlkxlnyi7i3wr8iz1dir"; + } + { + name = "CVE-2010-2642.patch"; + sha256 = "175zvyr9v1xs22k2svgxqjcpz5nihfa7j46hn9nzvkqcrhm5m9y8"; + } + # this ^ also fixes CVE-2011-5244 ]; in stdenv.mkDerivation rec { @@ -26,7 +51,10 @@ stdenv.mkDerivation rec { }; inherit patches; - buildInputs = [ libX11 libXaw ]; + buildInputs = [ + libX11 + libXaw + ]; buildFlags = [ "without_doc" ]; postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' @@ -37,7 +65,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://www.t1lib.org/"; description = "Type 1 font rasterizer library for UNIX/X11"; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/t1/t1utils/package.nix b/pkgs/by-name/t1/t1utils/package.nix index be9cf659160bd..243e35d8c9087 100644 --- a/pkgs/by-name/t1/t1utils/package.nix +++ b/pkgs/by-name/t1/t1utils/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "t1utils"; diff --git a/pkgs/by-name/t4/t4kcommon/package.nix b/pkgs/by-name/t4/t4kcommon/package.nix index 7fa7d686b1780..d5e07eb4bbde9 100644 --- a/pkgs/by-name/t4/t4kcommon/package.nix +++ b/pkgs/by-name/t4/t4kcommon/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, cmake, pkg-config, SDL, SDL_image, SDL_mixer, SDL_net, SDL_ttf, libpng, librsvg, libxml2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + cmake, + pkg-config, + SDL, + SDL_image, + SDL_mixer, + SDL_net, + SDL_ttf, + libpng, + librsvg, + libxml2, +}: stdenv.mkDerivation rec { version = "0.1.1"; @@ -26,8 +41,20 @@ stdenv.mkDerivation rec { # TODO: revisit https://github.com/tux4kids/t4kcommon/pull/10 when merged. env.NIX_CFLAGS_COMPILE = "-fcommon"; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf libpng librsvg libxml2 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + SDL_net + SDL_ttf + libpng + librsvg + libxml2 + ]; meta = with lib; { description = "Library of code shared between tuxmath and tuxtype"; diff --git a/pkgs/by-name/ta/ta-lib/package.nix b/pkgs/by-name/ta/ta-lib/package.nix index c3f77a9a247a3..094b0004973f6 100644 --- a/pkgs/by-name/ta/ta-lib/package.nix +++ b/pkgs/by-name/ta/ta-lib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ta-lib"; @@ -10,12 +16,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-bIzN8f9ZiOLaVzGAXcZUHUh/v9z1U+zY+MnyjJr1lSw="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; hardeningDisable = [ "format" ]; meta = with lib; { - description = - "TA-Lib is a library that provides common functions for the technical analysis of financial market data."; + description = "TA-Lib is a library that provides common functions for the technical analysis of financial market data."; mainProgram = "ta-lib-config"; homepage = "https://ta-lib.org/"; license = lib.licenses.bsd3; diff --git a/pkgs/by-name/ta/tab/package.nix b/pkgs/by-name/ta/tab/package.nix index f812bc9c6be4f..e719593d8ae08 100644 --- a/pkgs/by-name/ta/tab/package.nix +++ b/pkgs/by-name/ta/tab/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { version = "9.2"; @@ -34,9 +39,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Programming language/shell calculator"; mainProgram = "tab"; - homepage = "https://tab-lang.xyz"; - license = licenses.boost; + homepage = "https://tab-lang.xyz"; + license = licenses.boost; maintainers = with maintainers; [ mstarzyk ]; - platforms = with platforms; unix; + platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/ta/tabiew/package.nix b/pkgs/by-name/ta/tabiew/package.nix index caa6be91040bc..67b81b689b1f3 100644 --- a/pkgs/by-name/ta/tabiew/package.nix +++ b/pkgs/by-name/ta/tabiew/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, installShellFiles +{ + lib, + fetchFromGitHub, + rustPlatform, + installShellFiles, }: rustPlatform.buildRustPackage rec { pname = "tabiew"; @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ installShellFiles ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postInstall = '' installManPage target/manual/tabiew.1 @@ -32,8 +36,7 @@ rustPlatform.buildRustPackage rec { doCheck = false; # there are no tests meta = { - description = - "Lightweight, terminal-based application to view and query delimiter separated value formatted documents, such as CSV and TSV files"; + description = "Lightweight, terminal-based application to view and query delimiter separated value formatted documents, such as CSV and TSV files"; homepage = "https://github.com/shshemi/tabiew"; changelog = "https://github.com/shshemi/tabiew/releases/tag/v${version}"; license = lib.licenses.mit; diff --git a/pkgs/by-name/ta/tableplus/package.nix b/pkgs/by-name/ta/tableplus/package.nix index 542a3c6000f25..53c7e5c187526 100644 --- a/pkgs/by-name/ta/tableplus/package.nix +++ b/pkgs/by-name/ta/tableplus/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, _7zz -, stdenv +{ + lib, + fetchurl, + _7zz, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ta/tabula-java/package.nix b/pkgs/by-name/ta/tabula-java/package.nix index 011f92362a313..c0ec2ee26bee4 100644 --- a/pkgs/by-name/ta/tabula-java/package.nix +++ b/pkgs/by-name/ta/tabula-java/package.nix @@ -1,8 +1,9 @@ -{ lib -, maven -, fetchFromGitHub -, makeWrapper -, jre +{ + lib, + maven, + fetchFromGitHub, + makeWrapper, + jre, }: maven.buildMavenPackage rec { diff --git a/pkgs/by-name/ta/tacacsplus/package.nix b/pkgs/by-name/ta/tacacsplus/package.nix index b06da38017a7a..a818498b627bc 100644 --- a/pkgs/by-name/ta/tacacsplus/package.nix +++ b/pkgs/by-name/ta/tacacsplus/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, tcp_wrappers, flex, bison, perl, libnsl }: +{ + lib, + stdenv, + fetchurl, + tcp_wrappers, + flex, + bison, + perl, + libnsl, +}: stdenv.mkDerivation rec { pname = "tacacsplus"; @@ -9,8 +18,15 @@ stdenv.mkDerivation rec { hash = "sha256-FH8tyY0m0vk/Crp2yYjO0Zb/4cAB3C6R94ihosdHIZ4="; }; - nativeBuildInputs = [ flex bison ]; - buildInputs = [ tcp_wrappers perl libnsl ]; + nativeBuildInputs = [ + flex + bison + ]; + buildInputs = [ + tcp_wrappers + perl + libnsl + ]; meta = with lib; { description = "Protocol for authentication, authorization and accounting (AAA) services for routers and network devices"; diff --git a/pkgs/by-name/ta/tagger/deps.nix b/pkgs/by-name/ta/tagger/deps.nix index 231c388ebe678..900c0465b1de0 100644 --- a/pkgs/by-name/ta/tagger/deps.nix +++ b/pkgs/by-name/ta/tagger/deps.nix @@ -1,50 +1,231 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.2.0"; hash = "sha256-dgGnQL+y7UubFgG0dVmuz1J/uMhR7bOirKA38dHmOcQ="; }) - (fetchNuGet { pname = "AcoustID.NET"; version = "1.3.3"; hash = "sha256-VF7GwQhk9hVBToj9K2UK356H6toDugMI/rosAT2P2TY="; }) - (fetchNuGet { pname = "Cake.Tool"; version = "4.0.0"; hash = "sha256-guIxNh+ENqZroPaoh7bJ+R0OP9Ed64BAMYSbWKMrbIc="; }) - (fetchNuGet { pname = "FuzzySharp"; version = "2.0.2"; hash = "sha256-GuWqVOo+AG8MSvIbusLPjKfJFQRJhSSJ9eGWljTBA/c="; }) - (fetchNuGet { pname = "GetText.NET"; version = "1.9.14"; hash = "sha256-JAFqmwXkRJCHMOLIN2NShSe5aXtDvo5+II412oBj5KM="; }) - (fetchNuGet { pname = "GirCore.Adw-1"; version = "0.5.0"; hash = "sha256-qfXR3lTI5IeFlZ+eoXiEjvvU7a94ksDA1NDDO+fjEow="; }) - (fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.5.0"; hash = "sha256-9vu8cLiI8UJzIwcx/EtNPp0uYBTAYYP7f+K4+78cLfU="; }) - (fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.5.0"; hash = "sha256-ngF0UjqeWWPJM6oHWe1Ii+h1BUccFDQd1Qwz35DNCJk="; }) - (fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.5.0"; hash = "sha256-pl04bEdh1kzjzT2MgENyitvU9YNU+7zdxzSQBF+iVuw="; }) - (fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.5.0"; hash = "sha256-2dY45sZRqLAHjXx8G3aLGnftJuMS/367E7oMAtlkdT0="; }) - (fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.5.0"; hash = "sha256-lEcxgUtvw+/wP68h1xXLodjALdFgA8fWlP8e75kcovs="; }) - (fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.5.0"; hash = "sha256-e8/5XRtUr5PMROr9t3t1y+S5ittGigeMvkC1x0AaPpk="; }) - (fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.5.0"; hash = "sha256-cobt8ueN6++TqbOfSn1yKYkjCKlpRc04te8BW2dQZfA="; }) - (fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.5.0"; hash = "sha256-mF5paOfxW2T/BIa9MSRBCXI0IxyjPEiHSVAl+58ZyJs="; }) - (fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.5.0"; hash = "sha256-joLS4KfAWkp3z8r7i5MtBDotTv2zMnYRw2bTQNNATJQ="; }) - (fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.5.0"; hash = "sha256-LN/u9QuAxRMDJfly1LeMwCgJMkTeZyJJ4unrmTpORlI="; }) - (fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.5.0"; hash = "sha256-hBFkQK/LPSTIU8M8Tv0hyRG4d4ibh/Iaa3ZySYpg0TI="; }) - (fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.5.0"; hash = "sha256-6cxAaxynKx7kTsLy++qcrhD+G7OBfVRYohe1MX3Sk1w="; }) - (fetchNuGet { pname = "GirCore.PangoCairo-1.0"; version = "0.5.0"; hash = "sha256-tpIeKhZPrntKIFkeMIYyDHgOSw2Il/L4E7OpBHsUo0g="; }) - (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.61"; hash = "sha256-exRJTP7mHNt31CKaejKSSkKPm74ratfnpGl50AqZwlY="; }) - (fetchNuGet { pname = "Markdig"; version = "0.33.0"; hash = "sha256-OWlYrZnvNIFwmxKnmfWTq1wOz9e+hewsiVJW3B43QLY="; }) - (fetchNuGet { pname = "MetaBrainz.Common"; version = "3.0.0"; hash = "sha256-P+XTQhffqSVIn0ZbC5Npl80xlx1QYHoL0y20KTvKRy0="; }) - (fetchNuGet { pname = "MetaBrainz.Common.Json"; version = "6.0.2"; hash = "sha256-4IcF9xZZmI3H7WAiuN2kK61BMXS4gh2T2WrCqkwQhX8="; }) - (fetchNuGet { pname = "MetaBrainz.MusicBrainz"; version = "6.1.0"; hash = "sha256-wZBTTSQNPll/5/sZPPxa6d0QBjwA8FLA2vFE/838VWs="; }) - (fetchNuGet { pname = "MetaBrainz.MusicBrainz.CoverArt"; version = "6.0.0"; hash = "sha256-yN+godNeB6l8ihNupq9cNe+PaYaPTngHJzwkMH9ySbE="; }) - (fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.5"; hash = "sha256-aJyLlVg6jKY2Van0hwAC5JEF/j+YtEq5ZFLkyI3scsY="; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.0"; hash = "sha256-aew8/vRyzCc7MMNHziR8tsg66EFkJC+Snst3F+a3Ehc="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; hash = "sha256-5rFBJ8Fkw7+11iCG9nMVhOqPCpyVIrbUzrFQhc/2eHw="; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; hash = "sha256-UcxurEamYD+Bua0PbPNMYAZaRulMrov8CfbJGIgTaRQ="; }) - (fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.4"; hash = "sha256-us9K5RayuZGe2fkhk/c2Qw45gKmrfvyNBvHdcOnzWj0="; }) - (fetchNuGet { pname = "Octokit"; version = "9.0.0"; hash = "sha256-5crRhibEw2pl8M6AmgutI/uA0xcBoFRSF43MDgNPhE8="; }) - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.4"; hash = "sha256-zOqHVIInvJiqmx4JF+8USYvdKAGRZVUqQpdncrrjRjM="; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.6"; hash = "sha256-ikaVYtmka8VuZ2BDbH4rkT/L19uLMZnUIZSdSfzpYpc="; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; hash = "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.6"; hash = "sha256-HyCw64Ir+JTmAQpBRR2Y7L/o1l+RiwoL9URDXoJVhTY="; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.6"; hash = "sha256-OD+cJ6dvUv/bYhMR9hWnsz23un1CHH5WKEnwghtpqMs="; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "8.0.0"; hash = "sha256-xPNnKUTcZiqnTtRgI2YazMoZgay/prwKrJjbZUbVmcg="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; }) - (fetchNuGet { pname = "Tmds.DBus"; version = "0.15.0"; hash = "sha256-hnG44eEULZY79phZ/E1/RG2acjW0y12eIxam67iR5a8="; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; }) - (fetchNuGet { pname = "Ude.NetStandard"; version = "1.2.0"; hash = "sha256-9Dq7UE5OiuvciURQV8Aa13elolt1fzDhvF8c8Yxznhw="; }) - (fetchNuGet { pname = "z440.atl.core"; version = "5.25.0"; hash = "sha256-wyhSBvwzIXFLERBCr2s1zebaebOVANvUcwmJkrNdJi8="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Ace4896.DBus.Services.Secrets"; + version = "1.2.0"; + hash = "sha256-dgGnQL+y7UubFgG0dVmuz1J/uMhR7bOirKA38dHmOcQ="; + }) + (fetchNuGet { + pname = "AcoustID.NET"; + version = "1.3.3"; + hash = "sha256-VF7GwQhk9hVBToj9K2UK356H6toDugMI/rosAT2P2TY="; + }) + (fetchNuGet { + pname = "Cake.Tool"; + version = "4.0.0"; + hash = "sha256-guIxNh+ENqZroPaoh7bJ+R0OP9Ed64BAMYSbWKMrbIc="; + }) + (fetchNuGet { + pname = "FuzzySharp"; + version = "2.0.2"; + hash = "sha256-GuWqVOo+AG8MSvIbusLPjKfJFQRJhSSJ9eGWljTBA/c="; + }) + (fetchNuGet { + pname = "GetText.NET"; + version = "1.9.14"; + hash = "sha256-JAFqmwXkRJCHMOLIN2NShSe5aXtDvo5+II412oBj5KM="; + }) + (fetchNuGet { + pname = "GirCore.Adw-1"; + version = "0.5.0"; + hash = "sha256-qfXR3lTI5IeFlZ+eoXiEjvvU7a94ksDA1NDDO+fjEow="; + }) + (fetchNuGet { + pname = "GirCore.Cairo-1.0"; + version = "0.5.0"; + hash = "sha256-9vu8cLiI8UJzIwcx/EtNPp0uYBTAYYP7f+K4+78cLfU="; + }) + (fetchNuGet { + pname = "GirCore.FreeType2-2.0"; + version = "0.5.0"; + hash = "sha256-ngF0UjqeWWPJM6oHWe1Ii+h1BUccFDQd1Qwz35DNCJk="; + }) + (fetchNuGet { + pname = "GirCore.Gdk-4.0"; + version = "0.5.0"; + hash = "sha256-pl04bEdh1kzjzT2MgENyitvU9YNU+7zdxzSQBF+iVuw="; + }) + (fetchNuGet { + pname = "GirCore.GdkPixbuf-2.0"; + version = "0.5.0"; + hash = "sha256-2dY45sZRqLAHjXx8G3aLGnftJuMS/367E7oMAtlkdT0="; + }) + (fetchNuGet { + pname = "GirCore.Gio-2.0"; + version = "0.5.0"; + hash = "sha256-lEcxgUtvw+/wP68h1xXLodjALdFgA8fWlP8e75kcovs="; + }) + (fetchNuGet { + pname = "GirCore.GLib-2.0"; + version = "0.5.0"; + hash = "sha256-e8/5XRtUr5PMROr9t3t1y+S5ittGigeMvkC1x0AaPpk="; + }) + (fetchNuGet { + pname = "GirCore.GObject-2.0"; + version = "0.5.0"; + hash = "sha256-cobt8ueN6++TqbOfSn1yKYkjCKlpRc04te8BW2dQZfA="; + }) + (fetchNuGet { + pname = "GirCore.Graphene-1.0"; + version = "0.5.0"; + hash = "sha256-mF5paOfxW2T/BIa9MSRBCXI0IxyjPEiHSVAl+58ZyJs="; + }) + (fetchNuGet { + pname = "GirCore.Gsk-4.0"; + version = "0.5.0"; + hash = "sha256-joLS4KfAWkp3z8r7i5MtBDotTv2zMnYRw2bTQNNATJQ="; + }) + (fetchNuGet { + pname = "GirCore.Gtk-4.0"; + version = "0.5.0"; + hash = "sha256-LN/u9QuAxRMDJfly1LeMwCgJMkTeZyJJ4unrmTpORlI="; + }) + (fetchNuGet { + pname = "GirCore.HarfBuzz-0.0"; + version = "0.5.0"; + hash = "sha256-hBFkQK/LPSTIU8M8Tv0hyRG4d4ibh/Iaa3ZySYpg0TI="; + }) + (fetchNuGet { + pname = "GirCore.Pango-1.0"; + version = "0.5.0"; + hash = "sha256-6cxAaxynKx7kTsLy++qcrhD+G7OBfVRYohe1MX3Sk1w="; + }) + (fetchNuGet { + pname = "GirCore.PangoCairo-1.0"; + version = "0.5.0"; + hash = "sha256-tpIeKhZPrntKIFkeMIYyDHgOSw2Il/L4E7OpBHsUo0g="; + }) + (fetchNuGet { + pname = "HtmlAgilityPack"; + version = "1.11.61"; + hash = "sha256-exRJTP7mHNt31CKaejKSSkKPm74ratfnpGl50AqZwlY="; + }) + (fetchNuGet { + pname = "Markdig"; + version = "0.33.0"; + hash = "sha256-OWlYrZnvNIFwmxKnmfWTq1wOz9e+hewsiVJW3B43QLY="; + }) + (fetchNuGet { + pname = "MetaBrainz.Common"; + version = "3.0.0"; + hash = "sha256-P+XTQhffqSVIn0ZbC5Npl80xlx1QYHoL0y20KTvKRy0="; + }) + (fetchNuGet { + pname = "MetaBrainz.Common.Json"; + version = "6.0.2"; + hash = "sha256-4IcF9xZZmI3H7WAiuN2kK61BMXS4gh2T2WrCqkwQhX8="; + }) + (fetchNuGet { + pname = "MetaBrainz.MusicBrainz"; + version = "6.1.0"; + hash = "sha256-wZBTTSQNPll/5/sZPPxa6d0QBjwA8FLA2vFE/838VWs="; + }) + (fetchNuGet { + pname = "MetaBrainz.MusicBrainz.CoverArt"; + version = "6.0.0"; + hash = "sha256-yN+godNeB6l8ihNupq9cNe+PaYaPTngHJzwkMH9ySbE="; + }) + (fetchNuGet { + pname = "Meziantou.Framework.Win32.CredentialManager"; + version = "1.4.5"; + hash = "sha256-aJyLlVg6jKY2Van0hwAC5JEF/j+YtEq5ZFLkyI3scsY="; + }) + (fetchNuGet { + pname = "Microsoft.Data.Sqlite.Core"; + version = "8.0.0"; + hash = "sha256-aew8/vRyzCc7MMNHziR8tsg66EFkJC+Snst3F+a3Ehc="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "5.0.0"; + hash = "sha256-5rFBJ8Fkw7+11iCG9nMVhOqPCpyVIrbUzrFQhc/2eHw="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "8.0.0"; + hash = "sha256-UcxurEamYD+Bua0PbPNMYAZaRulMrov8CfbJGIgTaRQ="; + }) + (fetchNuGet { + pname = "Nickvision.Aura"; + version = "2023.11.4"; + hash = "sha256-us9K5RayuZGe2fkhk/c2Qw45gKmrfvyNBvHdcOnzWj0="; + }) + (fetchNuGet { + pname = "Octokit"; + version = "9.0.0"; + hash = "sha256-5crRhibEw2pl8M6AmgutI/uA0xcBoFRSF43MDgNPhE8="; + }) + (fetchNuGet { + pname = "SixLabors.ImageSharp"; + version = "3.1.4"; + hash = "sha256-zOqHVIInvJiqmx4JF+8USYvdKAGRZVUqQpdncrrjRjM="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.bundle_e_sqlcipher"; + version = "2.1.6"; + hash = "sha256-ikaVYtmka8VuZ2BDbH4rkT/L19uLMZnUIZSdSfzpYpc="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.core"; + version = "2.1.6"; + hash = "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.lib.e_sqlcipher"; + version = "2.1.6"; + hash = "sha256-HyCw64Ir+JTmAQpBRR2Y7L/o1l+RiwoL9URDXoJVhTY="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.e_sqlcipher"; + version = "2.1.6"; + hash = "sha256-OD+cJ6dvUv/bYhMR9hWnsz23un1CHH5WKEnwghtpqMs="; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "8.0.0"; + hash = "sha256-xPNnKUTcZiqnTtRgI2YazMoZgay/prwKrJjbZUbVmcg="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.0"; + hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "8.0.0"; + hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; + }) + (fetchNuGet { + pname = "Tmds.DBus"; + version = "0.15.0"; + hash = "sha256-hnG44eEULZY79phZ/E1/RG2acjW0y12eIxam67iR5a8="; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.15.0"; + hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; + }) + (fetchNuGet { + pname = "Ude.NetStandard"; + version = "1.2.0"; + hash = "sha256-9Dq7UE5OiuvciURQV8Aa13elolt1fzDhvF8c8Yxznhw="; + }) + (fetchNuGet { + pname = "z440.atl.core"; + version = "5.25.0"; + hash = "sha256-wyhSBvwzIXFLERBCr2s1zebaebOVANvUcwmJkrNdJi8="; + }) ] diff --git a/pkgs/by-name/ta/tagger/package.nix b/pkgs/by-name/ta/tagger/package.nix index fa4074b8a5249..fa315e5736411 100644 --- a/pkgs/by-name/ta/tagger/package.nix +++ b/pkgs/by-name/ta/tagger/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages -, blueprint-compiler -, chromaprint -, glib -, gtk4 -, libadwaita +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + blueprint-compiler, + chromaprint, + glib, + gtk4, + libadwaita, }: let @@ -59,6 +60,9 @@ buildDotnetModule rec { mainProgram = "NickvisionTagger.GNOME"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ zendo ratcornu ]; + maintainers = with maintainers; [ + zendo + ratcornu + ]; }; } diff --git a/pkgs/by-name/ta/taglib-sharp/package.nix b/pkgs/by-name/ta/taglib-sharp/package.nix index 78a4026455e6d..2f44619d21b49 100644 --- a/pkgs/by-name/ta/taglib-sharp/package.nix +++ b/pkgs/by-name/ta/taglib-sharp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, which, pkg-config, mono }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + which, + pkg-config, + mono, +}: stdenv.mkDerivation rec { pname = "taglib-sharp"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "12pk4z6ag8w7kj6vzplrlasq5lwddxrww1w1ya5ivxrfki15h5cp"; }; - nativeBuildInputs = [ pkg-config autoreconfHook which ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + which + ]; buildInputs = [ mono ]; dontStrip = true; diff --git a/pkgs/by-name/ta/taglib/package.nix b/pkgs/by-name/ta/taglib/package.nix index 17918f5f43739..684a37f0172fb 100644 --- a/pkgs/by-name/ta/taglib/package.nix +++ b/pkgs/by-name/ta/taglib/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, zlib -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -41,8 +42,14 @@ stdenv.mkDerivation (finalAttrs: { files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4 and ASF files. ''; - license = with licenses; [ lgpl3 mpl11 ]; + license = with licenses; [ + lgpl3 + mpl11 + ]; maintainers = with maintainers; [ ttuegel ]; - pkgConfigModules = [ "taglib" "taglib_c" ]; + pkgConfigModules = [ + "taglib" + "taglib_c" + ]; }; }) diff --git a/pkgs/by-name/ta/taglib_extras/package.nix b/pkgs/by-name/ta/taglib_extras/package.nix index 5ba1a5e201820..163f9afe3805f 100644 --- a/pkgs/by-name/ta/taglib_extras/package.nix +++ b/pkgs/by-name/ta/taglib_extras/package.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, cmake, taglib, zlib}: +{ + lib, + stdenv, + fetchurl, + cmake, + taglib, + zlib, +}: stdenv.mkDerivation rec { pname = "taglib-extras"; @@ -8,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0cln49ws9svvvals5fzxjxlzqm0fzjfymn7yfp4jfcjz655nnm7y"; }; buildInputs = [ taglib ]; - nativeBuildInputs = [ cmake zlib ]; + nativeBuildInputs = [ + cmake + zlib + ]; # Workaround for upstream bug https://bugs.kde.org/show_bug.cgi?id=357181 preConfigure = '' diff --git a/pkgs/by-name/ta/tagparser/package.nix b/pkgs/by-name/ta/tagparser/package.nix index cdd3aacf26d86..6910a8f1900d7 100644 --- a/pkgs/by-name/ta/tagparser/package.nix +++ b/pkgs/by-name/ta/tagparser/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, cpp-utilities -, zlib -, isocodes +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + cpp-utilities, + zlib, + isocodes, }: stdenv.mkDerivation rec { @@ -21,7 +22,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ - cpp-utilities zlib + cpp-utilities + zlib ]; cmakeFlags = [ @@ -36,4 +38,3 @@ stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/by-name/ta/tagref/package.nix b/pkgs/by-name/ta/tagref/package.nix index b54545f836854..13ec01f5900d1 100644 --- a/pkgs/by-name/ta/tagref/package.nix +++ b/pkgs/by-name/ta/tagref/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "tagref"; diff --git a/pkgs/by-name/ta/tagtime/package.nix b/pkgs/by-name/ta/tagtime/package.nix index 9ec36c26defcf..0baf2e05afef6 100644 --- a/pkgs/by-name/ta/tagtime/package.nix +++ b/pkgs/by-name/ta/tagtime/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, perl, xterm, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + xterm, + coreutils, +}: stdenv.mkDerivation { pname = "tagtime"; diff --git a/pkgs/by-name/ta/tagutil/package.nix b/pkgs/by-name/ta/tagutil/package.nix index 51aaf75cddbcf..61b2945dd18e5 100644 --- a/pkgs/by-name/ta/tagutil/package.nix +++ b/pkgs/by-name/ta/tagutil/package.nix @@ -1,7 +1,14 @@ -{ stdenv, lib, fetchFromGitHub -, pkg-config, cmake, libyaml -, jansson, libvorbis, taglib -, zlib +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + cmake, + libyaml, + jansson, + libvorbis, + taglib, + zlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ta/tahoe-lafs/package.nix b/pkgs/by-name/ta/tahoe-lafs/package.nix index 10d21934b2c0a..d478dd5e46706 100644 --- a/pkgs/by-name/ta/tahoe-lafs/package.nix +++ b/pkgs/by-name/ta/tahoe-lafs/package.nix @@ -1,4 +1,10 @@ -{ lib, nettools, python311, texinfo, fetchFromGitHub }: +{ + lib, + nettools, + python311, + texinfo, + fetchFromGitHub, +}: # FAILURES: The "running build_ext" phase fails to compile Twisted # plugins, because it tries to write them into Twisted's (immutable) @@ -43,7 +49,11 @@ python3Packages.buildPythonApplication rec { sha256 = "sha256-MuD/ZY+die7RCsuVdcePSD0DdwatXRi7CxW2iFt22L0="; }; - outputs = [ "out" "doc" "info" ]; + outputs = [ + "out" + "doc" + "info" + ]; postPatch = '' sed -i "src/allmydata/util/iputil.py" \ @@ -82,18 +92,48 @@ python3Packages.buildPythonApplication rec { ) ''; - nativeBuildInputs = with python3Packages; [ sphinx texinfo ]; + nativeBuildInputs = with python3Packages; [ + sphinx + texinfo + ]; # The `backup' command requires `sqlite3'. - propagatedBuildInputs = with python3Packages; [ - appdirs beautifulsoup4 characteristic distro eliot fixtures foolscap future - html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark - service-identity simplejson sphinx-rtd-theme testtools treq twisted zfec - zope-interface - ] ++ twisted.optional-dependencies.tls + propagatedBuildInputs = + with python3Packages; + [ + appdirs + beautifulsoup4 + characteristic + distro + eliot + fixtures + foolscap + future + html5lib + magic-wormhole + netifaces + pyasn1 + pycrypto + pyutil + pyyaml + recommonmark + service-identity + simplejson + sphinx-rtd-theme + testtools + treq + twisted + zfec + zope-interface + ] + ++ twisted.optional-dependencies.tls ++ twisted.optional-dependencies.conch; - nativeCheckInputs = with python3Packages; [ mock hypothesis twisted ]; + nativeCheckInputs = with python3Packages; [ + mock + hypothesis + twisted + ]; # Install the documentation. postInstall = '' @@ -124,7 +164,10 @@ python3Packages.buildPythonApplication rec { are unavailable, malfunctioning, or malicious. ''; homepage = "https://tahoe-lafs.org/"; - license = [ licenses.gpl2Plus /* or */ "TGPPLv1+" ]; + license = [ + licenses.gpl2Plus # or + "TGPPLv1+" + ]; maintainers = with lib.maintainers; [ MostAwesomeDude ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/ta/tailer/package.nix b/pkgs/by-name/ta/tailer/package.nix index 9e8c31790af80..d9899b7d2cac6 100644 --- a/pkgs/by-name/ta/tailer/package.nix +++ b/pkgs/by-name/ta/tailer/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, tailer +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + tailer, }: buildGoModule rec { diff --git a/pkgs/by-name/ta/tailor-gui/package.nix b/pkgs/by-name/ta/tailor-gui/package.nix index 74bfbeafeac9b..ab26609fb7dd3 100644 --- a/pkgs/by-name/ta/tailor-gui/package.nix +++ b/pkgs/by-name/ta/tailor-gui/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, rustPlatform -, cargo -, rustc -, pkg-config -, desktop-file-utils -, appstream-glib -, wrapGAppsHook4 -, meson -, ninja -, libadwaita -, gtk4 -, tuxedo-rs +{ + stdenv, + lib, + rustPlatform, + cargo, + rustc, + pkg-config, + desktop-file-utils, + appstream-glib, + wrapGAppsHook4, + meson, + ninja, + libadwaita, + gtk4, + tuxedo-rs, }: let src = tuxedo-rs.src; @@ -21,7 +22,12 @@ let in stdenv.mkDerivation { - inherit src sourceRoot pname version; + inherit + src + sourceRoot + pname + version + ; cargoDeps = rustPlatform.fetchCargoTarball { inherit src sourceRoot; @@ -55,7 +61,10 @@ stdenv.mkDerivation { ''; homepage = "https://github.com/AaronErhardt/tuxedo-rs"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ mrcjkb xaverdh ]; + maintainers = with maintainers; [ + mrcjkb + xaverdh + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/ta/tailscale-gitops-pusher/package.nix b/pkgs/by-name/ta/tailscale-gitops-pusher/package.nix index 7934dfc60fcdb..5d76fe6f7a456 100644 --- a/pkgs/by-name/ta/tailscale-gitops-pusher/package.nix +++ b/pkgs/by-name/ta/tailscale-gitops-pusher/package.nix @@ -1,10 +1,16 @@ -{ lib -, tailscale -, buildGo123Module +{ + lib, + tailscale, + buildGo123Module, }: buildGo123Module { - inherit (tailscale) version src vendorHash CGO_ENABLED; + inherit (tailscale) + version + src + vendorHash + CGO_ENABLED + ; pname = "tailscale-gitops-pusher"; subPackages = [ diff --git a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix index 9423cb2e46a6a..e160f23c39111 100644 --- a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix +++ b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, buildGo123Module, tailscale }: +{ + lib, + stdenv, + buildGo123Module, + tailscale, +}: buildGo123Module { pname = "tailscale-nginx-auth"; diff --git a/pkgs/by-name/ta/tailscale-systray/package.nix b/pkgs/by-name/ta/tailscale-systray/package.nix index 842b66ee7cc75..9bff3c33a57eb 100644 --- a/pkgs/by-name/ta/tailscale-systray/package.nix +++ b/pkgs/by-name/ta/tailscale-systray/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, gtk3 -, libayatana-appindicator +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + gtk3, + libayatana-appindicator, }: buildGoModule rec { pname = "tailscale-systray"; @@ -19,7 +20,10 @@ buildGoModule rec { vendorHash = "sha256-YJ74SeZAMS+dXyoPhPTJ3L+5uL5bF8gumhMOqfvmlms="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 libayatana-appindicator ]; + buildInputs = [ + gtk3 + libayatana-appindicator + ]; proxyVendor = true; diff --git a/pkgs/by-name/ta/tailscale/package.nix b/pkgs/by-name/ta/tailscale/package.nix index a58d312c02b8c..db6b7cd6c25a9 100644 --- a/pkgs/by-name/ta/tailscale/package.nix +++ b/pkgs/by-name/ta/tailscale/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, buildGo123Module -, fetchFromGitHub -, fetchpatch -, makeWrapper -, getent -, iproute2 -, iptables -, shadow -, procps -, nixosTests -, installShellFiles -, tailscale-nginx-auth +{ + lib, + stdenv, + buildGo123Module, + fetchFromGitHub, + fetchpatch, + makeWrapper, + getent, + iproute2, + iptables, + shadow, + procps, + nixosTests, + installShellFiles, + tailscale-nginx-auth, }: let @@ -21,7 +22,10 @@ buildGo123Module { pname = "tailscale"; inherit version; - outputs = [ "out" "derper" ]; + outputs = [ + "out" + "derper" + ]; src = fetchFromGitHub { owner = "tailscale"; @@ -41,11 +45,16 @@ buildGo123Module { vendorHash = "sha256-0VB7q9HKd5/QKaWBMpCYycRRiNTWCEjUMc3g3z6agc8="; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ] ++ [ installShellFiles ]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ] ++ [ + installShellFiles + ]; CGO_ENABLED = 0; - subPackages = [ "cmd/derper" "cmd/tailscaled" ]; + subPackages = [ + "cmd/derper" + "cmd/tailscaled" + ]; ldflags = [ "-w" @@ -60,22 +69,32 @@ buildGo123Module { doCheck = false; - postInstall = '' - ln -s $out/bin/tailscaled $out/bin/tailscale - moveToOutput "bin/derper" "$derper" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/tailscaled \ - --prefix PATH : ${lib.makeBinPath [ iproute2 iptables getent shadow ]} \ - --suffix PATH : ${lib.makeBinPath [ procps ]} - sed -i -e "s#/usr/sbin#$out/bin#" -e "/^EnvironmentFile/d" ./cmd/tailscaled/tailscaled.service - install -D -m0444 -t $out/lib/systemd/system ./cmd/tailscaled/tailscaled.service - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - local INSTALL="$out/bin/tailscale" - installShellCompletion --cmd tailscale \ - --bash <($out/bin/tailscale completion bash) \ - --fish <($out/bin/tailscale completion fish) \ - --zsh <($out/bin/tailscale completion zsh) - ''; + postInstall = + '' + ln -s $out/bin/tailscaled $out/bin/tailscale + moveToOutput "bin/derper" "$derper" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/tailscaled \ + --prefix PATH : ${ + lib.makeBinPath [ + iproute2 + iptables + getent + shadow + ] + } \ + --suffix PATH : ${lib.makeBinPath [ procps ]} + sed -i -e "s#/usr/sbin#$out/bin#" -e "/^EnvironmentFile/d" ./cmd/tailscaled/tailscaled.service + install -D -m0444 -t $out/lib/systemd/system ./cmd/tailscaled/tailscaled.service + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + local INSTALL="$out/bin/tailscale" + installShellCompletion --cmd tailscale \ + --bash <($out/bin/tailscale completion bash) \ + --fish <($out/bin/tailscale completion fish) \ + --zsh <($out/bin/tailscale completion zsh) + ''; passthru.tests = { inherit (nixosTests) headscale; @@ -88,6 +107,11 @@ buildGo123Module { changelog = "https://github.com/tailscale/tailscale/releases/tag/v${version}"; license = licenses.bsd3; mainProgram = "tailscale"; - maintainers = with maintainers; [ mbaillie jk mfrw pyrox0 ]; + maintainers = with maintainers; [ + mbaillie + jk + mfrw + pyrox0 + ]; }; } diff --git a/pkgs/by-name/ta/tailscalesd/package.nix b/pkgs/by-name/ta/tailscalesd/package.nix index 1dbbdf09a9d89..718b05df48d91 100644 --- a/pkgs/by-name/ta/tailscalesd/package.nix +++ b/pkgs/by-name/ta/tailscalesd/package.nix @@ -1,7 +1,7 @@ { lib, buildGoModule, - fetchFromGitHub + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ta/tailspin/package.nix b/pkgs/by-name/ta/tailspin/package.nix index bb4c046462b03..52af0672f4e90 100644 --- a/pkgs/by-name/ta/tailspin/package.nix +++ b/pkgs/by-name/ta/tailspin/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ta/taizen/package.nix b/pkgs/by-name/ta/taizen/package.nix index 01b08de3d4e4a..1554295613f4b 100644 --- a/pkgs/by-name/ta/taizen/package.nix +++ b/pkgs/by-name/ta/taizen/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, fetchpatch2 -, pkg-config -, ncurses -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch2, + pkg-config, + ncurses, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -33,12 +34,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - ncurses - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + ncurses + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "curses based mediawiki browser"; diff --git a/pkgs/by-name/ta/takao/package.nix b/pkgs/by-name/ta/takao/package.nix index 353287d4d77b2..6b9a13961dad7 100644 --- a/pkgs/by-name/ta/takao/package.nix +++ b/pkgs/by-name/ta/takao/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "takao"; diff --git a/pkgs/by-name/ta/taktuk/package.nix b/pkgs/by-name/ta/taktuk/package.nix index 002bc9da26315..b9d7b8f773a31 100644 --- a/pkgs/by-name/ta/taktuk/package.nix +++ b/pkgs/by-name/ta/taktuk/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { version = "3.7.7"; @@ -12,7 +17,7 @@ stdenv.mkDerivation rec { }; preBuild = '' - substituteInPlace ./taktuk --replace "/usr/bin/perl" "${perl}/bin/perl" + substituteInPlace ./taktuk --replace "/usr/bin/perl" "${perl}/bin/perl" ''; meta = { @@ -32,4 +37,3 @@ stdenv.mkDerivation rec { platforms = lib.platforms.linux; }; } - diff --git a/pkgs/by-name/ta/talecast/package.nix b/pkgs/by-name/ta/talecast/package.nix index e18d5fd5f22c6..de9ee864b9d3f 100644 --- a/pkgs/by-name/ta/talecast/package.nix +++ b/pkgs/by-name/ta/talecast/package.nix @@ -8,7 +8,7 @@ nix-update-script, stdenv, testers, - talecast + talecast, }: rustPlatform.buildRustPackage rec { @@ -24,8 +24,9 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; passthru = { updateScript = nix-update-script { }; @@ -37,6 +38,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/TBS1996/TaleCast"; license = lib.licenses.mit; mainProgram = "talecast"; - maintainers = with lib.maintainers; [ confusedalex getchoo ]; + maintainers = with lib.maintainers; [ + confusedalex + getchoo + ]; }; } diff --git a/pkgs/by-name/ta/talentedhack/package.nix b/pkgs/by-name/ta/talentedhack/package.nix index 387fd4f5a0c61..648d5e3b48648 100644 --- a/pkgs/by-name/ta/talentedhack/package.nix +++ b/pkgs/by-name/ta/talentedhack/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, lv2, fftwFloat, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + lv2, + fftwFloat, + pkg-config, +}: stdenv.mkDerivation rec { pname = "talentedhack"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lv2 fftwFloat ]; + buildInputs = [ + lv2 + fftwFloat + ]; # To avoid name clashes, plugins should be compiled with symbols hidden, except for `lv2_descriptor`: preConfigure = '' diff --git a/pkgs/by-name/ta/talkfilters/package.nix b/pkgs/by-name/ta/talkfilters/package.nix index 1560af6d9967f..6222b80b159f0 100644 --- a/pkgs/by-name/ta/talkfilters/package.nix +++ b/pkgs/by-name/ta/talkfilters/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let pname = "talkfilters"; @@ -23,4 +27,3 @@ stdenv.mkDerivation { platforms = with lib.platforms; unix; }; } - diff --git a/pkgs/by-name/ta/talloc/package.nix b/pkgs/by-name/ta/talloc/package.nix index eb1525fb9acbe..2a9395a1c41ad 100644 --- a/pkgs/by-name/ta/talloc/package.nix +++ b/pkgs/by-name/ta/talloc/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchurl -, python3 -, pkg-config -, readline -, libxslt -, libxcrypt -, docbook-xsl-nons -, docbook_xml_dtd_42 -, fixDarwinDylibNames -, wafHook -, buildPackages +{ + lib, + stdenv, + fetchurl, + python3, + pkg-config, + readline, + libxslt, + libxcrypt, + docbook-xsl-nons, + docbook_xml_dtd_42, + fixDarwinDylibNames, + wafHook, + buildPackages, }: stdenv.mkDerivation rec { @@ -21,15 +23,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-hez55GXiD5j5lQpS6aQR4UMgvFVfolfYdpe356mx2KY="; }; - nativeBuildInputs = [ - pkg-config - python3 - wafHook - docbook-xsl-nons - docbook_xml_dtd_42 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + pkg-config + python3 + wafHook + docbook-xsl-nons + docbook_xml_dtd_42 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; buildInputs = [ python3 @@ -47,14 +51,16 @@ stdenv.mkDerivation rec { wafPath = "buildtools/bin/waf"; - wafConfigureFlags = [ - "--enable-talloc-compat1" - "--bundled-libraries=NONE" - "--builtin-libraries=replace" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--cross-compile" - "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" - ]; + wafConfigureFlags = + [ + "--enable-talloc-compat1" + "--bundled-libraries=NONE" + "--builtin-libraries=replace" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--cross-compile" + "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" + ]; # python-config from build Python gives incorrect values when cross-compiling. # If python-config is not found, the build falls back to using the sysconfig diff --git a/pkgs/by-name/ta/talosctl/package.nix b/pkgs/by-name/ta/talosctl/package.nix index b4c51484e2ca3..3d6f111c7ad35 100644 --- a/pkgs/by-name/ta/talosctl/package.nix +++ b/pkgs/by-name/ta/talosctl/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "talosctl"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-/Xt/WZ+5ptxsiUkm6mplilB9gqv3mz+j7tyNikzJtkA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; env.GOWORK = "off"; diff --git a/pkgs/by-name/ta/tambura/package.nix b/pkgs/by-name/ta/tambura/package.nix index 9fcf9bb70ef93..5c7fb003ba3d0 100644 --- a/pkgs/by-name/ta/tambura/package.nix +++ b/pkgs/by-name/ta/tambura/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + faust2jaqt, + faust2lv2, +}: stdenv.mkDerivation rec { pname = "Tambura"; version = "1.0"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1w80cmiyzca1wirf5gypg3hcix1ky777id8wnd3k92mn1jf4a24y"; }; - buildInputs = [ faust2jaqt faust2lv2 ]; + buildInputs = [ + faust2jaqt + faust2lv2 + ]; dontWrapQtApps = true; diff --git a/pkgs/by-name/ta/tamsyn/package.nix b/pkgs/by-name/ta/tamsyn/package.nix index 59ddfb5011e47..32b2bb91bfebf 100644 --- a/pkgs/by-name/ta/tamsyn/package.nix +++ b/pkgs/by-name/ta/tamsyn/package.nix @@ -1,17 +1,27 @@ -{ lib, stdenv, fetchurl, fontforge, xorg }: +{ + lib, + stdenv, + fetchurl, + fontforge, + xorg, +}: let version = "1.11"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "tamsyn-font"; inherit version; src = fetchurl { url = "http://www.fial.com/~scott/tamsyn-font/download/tamsyn-font-${version}.tar.gz"; sha256 = "0kpjzdj8sv5871b8827mjgj9dswk75h94jj5iia2bds18ih1pglp"; - }; + }; - nativeBuildInputs = [ fontforge xorg.mkfontscale ]; + nativeBuildInputs = [ + fontforge + xorg.mkfontscale + ]; unpackPhase = '' tar -xzf $src --strip-components=1 @@ -48,4 +58,3 @@ in stdenv.mkDerivation { maintainers = [ maintainers.rps ]; }; } - diff --git a/pkgs/by-name/ta/tamzen/package.nix b/pkgs/by-name/ta/tamzen/package.nix index e8706c1971c6a..632054b9e4d70 100644 --- a/pkgs/by-name/ta/tamzen/package.nix +++ b/pkgs/by-name/ta/tamzen/package.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, xorg, lib, stdenv }: +{ + fetchFromGitHub, + xorg, + lib, + stdenv, +}: stdenv.mkDerivation rec { pname = "tamzen-font"; @@ -22,16 +27,15 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Bitmapped programming font based on Tamsyn"; longDescription = '' - Tamzen is a monospace bitmap font. It is programmatically forked - from Tamsyn version 1.11, which backports glyphs from older - versions while deleting deliberately empty glyphs to allow - secondary/fallback fonts to provide real glyphs at those codepoints. - Tamzen also has fonts that additionally provide the Powerline - symbols. + Tamzen is a monospace bitmap font. It is programmatically forked + from Tamsyn version 1.11, which backports glyphs from older + versions while deleting deliberately empty glyphs to allow + secondary/fallback fonts to provide real glyphs at those codepoints. + Tamzen also has fonts that additionally provide the Powerline + symbols. ''; homepage = "https://github.com/sunaku/tamzen-font"; license = licenses.free; maintainers = with maintainers; [ wishfort36 ]; }; } - diff --git a/pkgs/by-name/ta/tandem-aligner/package.nix b/pkgs/by-name/ta/tandem-aligner/package.nix index d44489debbb62..fdfd781a81334 100644 --- a/pkgs/by-name/ta/tandem-aligner/package.nix +++ b/pkgs/by-name/ta/tandem-aligner/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ta/tangerine/package.nix b/pkgs/by-name/ta/tangerine/package.nix index 1ec2d6b362b98..933114e62d7d4 100644 --- a/pkgs/by-name/ta/tangerine/package.nix +++ b/pkgs/by-name/ta/tangerine/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, ncurses -, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + ncurses, + SDL2, }: stdenv.mkDerivation { @@ -27,7 +28,10 @@ stdenv.mkDerivation { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ ncurses SDL2 ]; + buildInputs = [ + ncurses + SDL2 + ]; meta = with lib; { description = "System for creating 3D models procedurally from a set of Signed Distance Function (SDF) primitive shapes and combining operators"; @@ -37,4 +41,3 @@ stdenv.mkDerivation { broken = stdenv.hostPlatform.isDarwin; # third_party/naive-surface-nets doesn't find std::execution }; } - diff --git a/pkgs/by-name/ta/tango/package.nix b/pkgs/by-name/ta/tango/package.nix index 11b7275d1e94c..3fb877a9a9a7c 100644 --- a/pkgs/by-name/ta/tango/package.nix +++ b/pkgs/by-name/ta/tango/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ta/tangram/package.nix b/pkgs/by-name/ta/tangram/package.nix index c119733197ef2..97ef4105b0ea5 100644 --- a/pkgs/by-name/ta/tangram/package.nix +++ b/pkgs/by-name/ta/tangram/package.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, appstream-glib -, desktop-file-utils -, gdk-pixbuf -, gettext -, gjs -, glib -, glib-networking -, gobject-introspection -, gsettings-desktop-schemas -, gtk4 -, libadwaita -, gst_all_1 -, hicolor-icon-theme -, meson -, ninja -, pkg-config -, python3 -, webkitgtk_6_0 -, blueprint-compiler -, wrapGAppsHook4 +{ + stdenv, + lib, + fetchFromGitHub, + appstream-glib, + desktop-file-utils, + gdk-pixbuf, + gettext, + gjs, + glib, + glib-networking, + gobject-introspection, + gsettings-desktop-schemas, + gtk4, + libadwaita, + gst_all_1, + hicolor-icon-theme, + meson, + ninja, + pkg-config, + python3, + webkitgtk_6_0, + blueprint-compiler, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -49,22 +50,24 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = [ - gdk-pixbuf - gjs - glib - glib-networking - gsettings-desktop-schemas - gtk4 - libadwaita - webkitgtk_6_0 - ] ++ (with gst_all_1; [ - gstreamer - gst-libav - gst-plugins-base - (gst-plugins-good.override { gtkSupport = true; }) - gst-plugins-bad - ]); + buildInputs = + [ + gdk-pixbuf + gjs + glib + glib-networking + gsettings-desktop-schemas + gtk4 + libadwaita + webkitgtk_6_0 + ] + ++ (with gst_all_1; [ + gstreamer + gst-libav + gst-plugins-base + (gst-plugins-good.override { gtkSupport = true; }) + gst-plugins-bad + ]); dontPatchShebangs = true; @@ -86,6 +89,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/sonnyp/Tangram"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ austinbutler chuangzhu ]; + maintainers = with maintainers; [ + austinbutler + chuangzhu + ]; }; } diff --git a/pkgs/by-name/ta/tanidvr/package.nix b/pkgs/by-name/ta/tanidvr/package.nix index 74987e0040802..396e76224cfd0 100644 --- a/pkgs/by-name/ta/tanidvr/package.nix +++ b/pkgs/by-name/ta/tanidvr/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tanidvr"; diff --git a/pkgs/by-name/ta/tap-plugins/package.nix b/pkgs/by-name/ta/tap-plugins/package.nix index 7cd64eb420868..aeb56d3375b5c 100644 --- a/pkgs/by-name/ta/tap-plugins/package.nix +++ b/pkgs/by-name/ta/tap-plugins/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, ladspa-sdk +{ + lib, + stdenv, + fetchFromGitHub, + ladspa-sdk, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ta/taplo/package.nix b/pkgs/by-name/ta/taplo/package.nix index d353127070a8e..4336cf5d2f76f 100644 --- a/pkgs/by-name/ta/taplo/package.nix +++ b/pkgs/by-name/ta/taplo/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, openssl -, stdenv -, darwin -, withLsp ? true +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + stdenv, + darwin, + withLsp ? true, }: rustPlatform.buildRustPackage rec { @@ -24,12 +25,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; buildFeatures = lib.optional withLsp "lsp"; diff --git a/pkgs/by-name/ta/taproot-assets/package.nix b/pkgs/by-name/ta/taproot-assets/package.nix index d560d3b6db801..04618d79b0982 100644 --- a/pkgs/by-name/ta/taproot-assets/package.nix +++ b/pkgs/by-name/ta/taproot-assets/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -16,9 +17,15 @@ buildGoModule rec { vendorHash = "sha256-IFzYW5vAtBoUC2ebFYnxS/TojQR4kXxQACNbyn2ZkCs="; - subPackages = [ "cmd/tapcli" "cmd/tapd" ]; + subPackages = [ + "cmd/tapcli" + "cmd/tapd" + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Daemon for the Taro protocol specification"; diff --git a/pkgs/by-name/ta/tapview/package.nix b/pkgs/by-name/ta/tapview/package.nix index 718ef854225a3..bd9918eb7b750 100644 --- a/pkgs/by-name/ta/tapview/package.nix +++ b/pkgs/by-name/ta/tapview/package.nix @@ -1,7 +1,8 @@ -{ asciidoctor -, fetchFromGitLab -, lib -, stdenv +{ + asciidoctor, + fetchFromGitLab, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ta/tar2ext4/package.nix b/pkgs/by-name/ta/tar2ext4/package.nix index ddc27c1029e2b..c33f254122318 100644 --- a/pkgs/by-name/ta/tar2ext4/package.nix +++ b/pkgs/by-name/ta/tar2ext4/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tar2ext4"; diff --git a/pkgs/by-name/ta/tarantool/package.nix b/pkgs/by-name/ta/tarantool/package.nix index 6526fdefae694..b38fce77c26a7 100644 --- a/pkgs/by-name/ta/tarantool/package.nix +++ b/pkgs/by-name/ta/tarantool/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, zlib -, openssl -, c-ares -, readline -, icu -, git -, gbenchmark -, nghttp2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + openssl, + c-ares, + readline, + icu, + git, + gbenchmark, + nghttp2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ta/target-isns/package.nix b/pkgs/by-name/ta/target-isns/package.nix index 397e414490c21..aac984c348070 100644 --- a/pkgs/by-name/ta/target-isns/package.nix +++ b/pkgs/by-name/ta/target-isns/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, cmake, fetchFromGitHub, fetchpatch } : +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "target-isns"; diff --git a/pkgs/by-name/ta/targetcli/package.nix b/pkgs/by-name/ta/targetcli/package.nix index a0a2aad949fd7..9498717b22d6d 100644 --- a/pkgs/by-name/ta/targetcli/package.nix +++ b/pkgs/by-name/ta/targetcli/package.nix @@ -1,4 +1,12 @@ -{ lib, python3, fetchFromGitHub, nixosTests, wrapGAppsNoGuiHook, gobject-introspection, glib }: +{ + lib, + python3, + fetchFromGitHub, + nixosTests, + wrapGAppsNoGuiHook, + gobject-introspection, + glib, +}: python3.pkgs.buildPythonApplication rec { pname = "targetcli"; @@ -11,10 +19,17 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-9QYo7jGk9iWr26j0qPQCqYsJ+vLXAsO4Xs7+7VT9/yc="; }; - nativeBuildInputs = [ wrapGAppsNoGuiHook gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsNoGuiHook + gobject-introspection + ]; buildInputs = [ glib ]; - propagatedBuildInputs = with python3.pkgs; [ configshell rtslib pygobject3 ]; + propagatedBuildInputs = with python3.pkgs; [ + configshell + rtslib + pygobject3 + ]; postInstall = '' install -D targetcli.8 -t $out/share/man/man8/ diff --git a/pkgs/by-name/ta/tarsnap/package.nix b/pkgs/by-name/ta/tarsnap/package.nix index 83d205bb9b50b..ddc121ad7ed9f 100644 --- a/pkgs/by-name/ta/tarsnap/package.nix +++ b/pkgs/by-name/ta/tarsnap/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, openssl, zlib, e2fsprogs, bzip2 }: +{ + lib, + stdenv, + fetchurl, + openssl, + zlib, + e2fsprogs, + bzip2, +}: let zshCompletion = fetchurl { @@ -31,15 +39,23 @@ stdenv.mkDerivation rec { install -m 444 -D ${zshCompletion} $out/share/zsh/site-functions/_tarsnap ''; - buildInputs = [ openssl zlib ] ++ lib.optional stdenv.hostPlatform.isLinux e2fsprogs - ++ lib.optional stdenv.hostPlatform.isDarwin bzip2; + buildInputs = + [ + openssl + zlib + ] + ++ lib.optional stdenv.hostPlatform.isLinux e2fsprogs + ++ lib.optional stdenv.hostPlatform.isDarwin bzip2; meta = { description = "Online backups for the truly paranoid"; - homepage = "http://www.tarsnap.com/"; - license = lib.licenses.unfree; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ thoughtpolice roconnor ]; + homepage = "http://www.tarsnap.com/"; + license = lib.licenses.unfree; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + thoughtpolice + roconnor + ]; mainProgram = "tarsnap"; }; } diff --git a/pkgs/by-name/ta/tarsnapper/package.nix b/pkgs/by-name/ta/tarsnapper/package.nix index 204c1ffd7b474..b1afa06f6008b 100644 --- a/pkgs/by-name/ta/tarsnapper/package.nix +++ b/pkgs/by-name/ta/tarsnapper/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchFromGitHub -, fetchpatch -, tarsnap +{ + lib, + python3Packages, + fetchFromGitHub, + fetchpatch, + tarsnap, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ta/tarssh/package.nix b/pkgs/by-name/ta/tarssh/package.nix index d2ce6e56c8c8e..02d7cd8e70cc8 100644 --- a/pkgs/by-name/ta/tarssh/package.nix +++ b/pkgs/by-name/ta/tarssh/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, rustPlatform, lib }: +{ + fetchFromGitHub, + rustPlatform, + lib, +}: rustPlatform.buildRustPackage rec { pname = "tarssh"; @@ -18,7 +22,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Freaky/tarssh"; license = [ licenses.mit ]; maintainers = with maintainers; [ sohalt ]; - platforms = platforms.unix ; + platforms = platforms.unix; mainProgram = "tarssh"; }; } diff --git a/pkgs/by-name/ta/tart/package.nix b/pkgs/by-name/ta/tart/package.nix index f5a113653b8f1..297aece524ad7 100644 --- a/pkgs/by-name/ta/tart/package.nix +++ b/pkgs/by-name/ta/tart/package.nix @@ -1,20 +1,22 @@ -{ lib -, stdenvNoCC -, fetchurl -, makeWrapper -# Softnet support ("--net-softnet") is disabled by default as it requires -# passwordless-sudo when installed through nix. Alternatively users may install -# softnet through other means with "setuid"-bit enabled. -# See https://github.com/cirruslabs/softnet#installing -, enableSoftnet ? false, softnet +{ + lib, + stdenvNoCC, + fetchurl, + makeWrapper, + # Softnet support ("--net-softnet") is disabled by default as it requires + # passwordless-sudo when installed through nix. Alternatively users may install + # softnet through other means with "setuid"-bit enabled. + # See https://github.com/cirruslabs/softnet#installing + enableSoftnet ? false, + softnet, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "tart"; version = "2.20.2"; src = fetchurl { - url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz"; - hash = "sha256-caHuBTRpbmFbmTlDRnxZyGM6F95iKjMhKbPTez5Hecc="; + url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz"; + hash = "sha256-caHuBTRpbmFbmTlDRnxZyGM6F95iKjMhKbPTez5Hecc="; }; sourceRoot = "."; @@ -39,7 +41,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "macOS VMs on Apple Silicon to use in CI and other automations"; homepage = "https://tart.run"; license = licenses.fairsource09; - maintainers = with maintainers; [ emilytrau aduh95 ]; + maintainers = with maintainers; [ + emilytrau + aduh95 + ]; mainProgram = finalAttrs.pname; platforms = [ "aarch64-darwin" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/by-name/ta/taschenrechner/package.nix b/pkgs/by-name/ta/taschenrechner/package.nix index 391226b72b154..fa8d7170dd6ff 100644 --- a/pkgs/by-name/ta/taschenrechner/package.nix +++ b/pkgs/by-name/ta/taschenrechner/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitLab +{ + lib, + rustPlatform, + fetchFromGitLab, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ta/taskchampion-sync-server/package.nix b/pkgs/by-name/ta/taskchampion-sync-server/package.nix index 1e41d4751f400..7782f7b38694b 100644 --- a/pkgs/by-name/ta/taskchampion-sync-server/package.nix +++ b/pkgs/by-name/ta/taskchampion-sync-server/package.nix @@ -7,12 +7,12 @@ rustPlatform.buildRustPackage rec { pname = "taskchampion-sync-server"; version = "0.4.1-unstable-2024-08-20"; src = fetchFromGitHub { - owner = "GothenburgBitFactory"; - repo = "taskchampion-sync-server"; - rev = "af918bdf0dea7f7b6e920680c947fc37b37ffffb"; - fetchSubmodules = false; - hash = "sha256-BTGD7hZysmOlsT2W+gqj8+Sj6iBN9Jwiyzq5D03PDzM="; - }; + owner = "GothenburgBitFactory"; + repo = "taskchampion-sync-server"; + rev = "af918bdf0dea7f7b6e920680c947fc37b37ffffb"; + fetchSubmodules = false; + hash = "sha256-BTGD7hZysmOlsT2W+gqj8+Sj6iBN9Jwiyzq5D03PDzM="; + }; cargoHash = "sha256-/HfkE+R8JoNGkCCNQpE/JjGSqPHvjCPnTjOFPCFfJ7A="; @@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec { description = "Sync server for Taskwarrior 3"; license = lib.licenses.mit; homepage = "https://github.com/GothenburgBitFactory/taskchampion-sync-server"; - maintainers = with lib.maintainers; [mlaradji]; + maintainers = with lib.maintainers; [ mlaradji ]; mainProgram = "taskchampion-sync-server"; }; } diff --git a/pkgs/by-name/ta/taskjuggler/gemset.nix b/pkgs/by-name/ta/taskjuggler/gemset.nix index b782b37705a29..aa9de0e564e1d 100644 --- a/pkgs/by-name/ta/taskjuggler/gemset.nix +++ b/pkgs/by-name/ta/taskjuggler/gemset.nix @@ -1,137 +1,148 @@ { date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1"; type = "gem"; }; version = "3.3.3"; }; mail = { - dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; version = "2.8.1"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"; type = "gem"; }; version = "1.1.2"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d996zf3g8xz244791b0qsl9vr7zg4lqnnmf9k2kshr9lki5jam8"; type = "gem"; }; version = "0.3.4"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91"; type = "gem"; }; version = "0.2.1"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x"; type = "gem"; }; version = "0.3.3"; }; sync = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6"; type = "gem"; }; version = "0.5.0"; }; taskjuggler = { - dependencies = ["mail" "term-ansicolor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mail" + "term-ansicolor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07fagka8nl29xwwzfhxx89gp34m5hih5vnq4sha1z814004md53j"; type = "gem"; }; version = "3.7.2"; }; term-ansicolor = { - dependencies = ["tins"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tins" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xq5kci9215skdh27npyd3y55p812v4qb4x2hv3xsjvwqzz9ycwj"; type = "gem"; }; version = "1.7.1"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pfddf51n5fnj4f9ggwj3wbf23ynj0nbxlxqpz12y1gvl9g7d6r6"; type = "gem"; }; version = "0.3.2"; }; tins = { - dependencies = ["sync"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sync" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0373zn7zkllcn2q4ylbjgjx9mvm8m73ll3jwjav48dx8myplsp5p"; type = "gem"; }; version = "1.32.1"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r"; type = "gem"; }; diff --git a/pkgs/by-name/ta/taskjuggler/package.nix b/pkgs/by-name/ta/taskjuggler/package.nix index cc2d7218bd4cc..32c5ab91ede4e 100644 --- a/pkgs/by-name/ta/taskjuggler/package.nix +++ b/pkgs/by-name/ta/taskjuggler/package.nix @@ -1,21 +1,36 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "taskjuggler"; gemdir = ./.; exes = [ - "tj3" "tj3client" "tj3d" "tj3man" "tj3ss_receiver" "tj3ss_sender" - "tj3ts_receiver" "tj3ts_sender" "tj3ts_summary" "tj3webd" + "tj3" + "tj3client" + "tj3d" + "tj3man" + "tj3ss_receiver" + "tj3ss_sender" + "tj3ts_receiver" + "tj3ts_sender" + "tj3ts_summary" + "tj3webd" ]; passthru.updateScript = bundlerUpdateScript "taskjuggler"; meta = with lib; { description = "Modern and powerful project management tool"; - homepage = "https://taskjuggler.org/"; - license = licenses.gpl2; - platforms = platforms.unix; - maintainers = with maintainers; [ manveru nicknovitski ]; + homepage = "https://taskjuggler.org/"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; }; } diff --git a/pkgs/by-name/ta/tasknc/package.nix b/pkgs/by-name/ta/tasknc/package.nix index ff478d1415a42..37c5f5b0bc2c9 100644 --- a/pkgs/by-name/ta/tasknc/package.nix +++ b/pkgs/by-name/ta/tasknc/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, perl, ncurses5, taskwarrior2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + makeWrapper, + perl, + ncurses5, + taskwarrior2, +}: stdenv.mkDerivation rec { version = "2020-12-17"; @@ -42,7 +51,6 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/tasknc --prefix PATH : ${taskwarrior2}/bin ''; - meta = with lib; { homepage = "https://github.com/lharding/tasknc"; description = "Ncurses wrapper around taskwarrior"; diff --git a/pkgs/by-name/ta/taskopen/package.nix b/pkgs/by-name/ta/taskopen/package.nix index ee40e19261a98..8507256139e9f 100644 --- a/pkgs/by-name/ta/taskopen/package.nix +++ b/pkgs/by-name/ta/taskopen/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, which, perl, perlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + which, + perl, + perlPackages, +}: stdenv.mkDerivation rec { pname = "taskopen"; @@ -18,8 +26,12 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ which ] - ++ (with perlPackages; [ JSON perl ]); + buildInputs = + [ which ] + ++ (with perlPackages; [ + JSON + perl + ]); installPhase = '' make PREFIX=$out diff --git a/pkgs/by-name/ta/taskserver/package.nix b/pkgs/by-name/ta/taskserver/package.nix index a0d13164901aa..48a71b3041805 100644 --- a/pkgs/by-name/ta/taskserver/package.nix +++ b/pkgs/by-name/ta/taskserver/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cmake, libuuid, gnutls, makeWrapper, nixosTests }: +{ + lib, + stdenv, + fetchurl, + cmake, + libuuid, + gnutls, + makeWrapper, + nixosTests, +}: stdenv.mkDerivation rec { pname = "taskserver"; @@ -28,8 +37,14 @@ stdenv.mkDerivation rec { done ''; - buildInputs = [ libuuid gnutls ]; - nativeBuildInputs = [ cmake makeWrapper ]; + buildInputs = [ + libuuid + gnutls + ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; passthru.tests = { inherit (nixosTests) taskserver; }; @@ -38,6 +53,9 @@ stdenv.mkDerivation rec { homepage = "https://taskwarrior.org"; license = lib.licenses.mit; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ matthiasbeyer makefu ]; + maintainers = with lib.maintainers; [ + matthiasbeyer + makefu + ]; }; } diff --git a/pkgs/by-name/ta/tasksh/package.nix b/pkgs/by-name/ta/tasksh/package.nix index 0e169bc998d61..55a4f6f7e8541 100644 --- a/pkgs/by-name/ta/tasksh/package.nix +++ b/pkgs/by-name/ta/tasksh/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, readline }: +{ + lib, + stdenv, + fetchurl, + cmake, + readline, +}: stdenv.mkDerivation rec { pname = "tasksh"; diff --git a/pkgs/by-name/ta/taskspooler/package.nix b/pkgs/by-name/ta/taskspooler/package.nix index 2692595477813..ae326ac013392 100644 --- a/pkgs/by-name/ta/taskspooler/package.nix +++ b/pkgs/by-name/ta/taskspooler/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, makeWrapper, coreutils }: +{ + stdenv, + lib, + fetchurl, + makeWrapper, + coreutils, +}: stdenv.mkDerivation rec { pname = "taskspooler"; diff --git a/pkgs/by-name/ta/tasktimer/package.nix b/pkgs/by-name/ta/tasktimer/package.nix index 18439e02e2b99..de2cdc50fe712 100644 --- a/pkgs/by-name/ta/tasktimer/package.nix +++ b/pkgs/by-name/ta/tasktimer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tasktimer"; @@ -21,7 +25,10 @@ buildGoModule rec { description = "Task Timer (tt) is a dead simple TUI task timer"; homepage = "https://github.com/caarlos0/tasktimer"; license = licenses.mit; - maintainers = with maintainers; [ abbe caarlos0 ]; + maintainers = with maintainers; [ + abbe + caarlos0 + ]; mainProgram = "tt"; }; } diff --git a/pkgs/by-name/ta/taskwarrior-tui/package.nix b/pkgs/by-name/ta/taskwarrior-tui/package.nix index f313d3d1f0ffe..ba4a34ab062c4 100644 --- a/pkgs/by-name/ta/taskwarrior-tui/package.nix +++ b/pkgs/by-name/ta/taskwarrior-tui/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ta/tau-hydrogen/package.nix b/pkgs/by-name/ta/tau-hydrogen/package.nix index e883d97b587e2..745d7638e5bac 100644 --- a/pkgs/by-name/ta/tau-hydrogen/package.nix +++ b/pkgs/by-name/ta/tau-hydrogen/package.nix @@ -5,7 +5,7 @@ meson, ninja, librsvg, - xorg + xorg, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ta/taxi/package.nix b/pkgs/by-name/ta/taxi/package.nix index 2b39d517560a0..ab29dddb0f662 100644 --- a/pkgs/by-name/ta/taxi/package.nix +++ b/pkgs/by-name/ta/taxi/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, gobject-introspection -, gtk3 -, libgee -, libhandy -, libsecret -, libsoup_2_4 -, meson -, ninja -, nix-update-script -, pantheon -, pkg-config -, python3 -, vala -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + gobject-introspection, + gtk3, + libgee, + libhandy, + libsecret, + libsoup_2_4, + meson, + ninja, + nix-update-script, + pantheon, + pkg-config, + python3, + vala, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ta/tayga/package.nix b/pkgs/by-name/ta/tayga/package.nix index 1fa1d8dd5610e..f53491664732b 100644 --- a/pkgs/by-name/ta/tayga/package.nix +++ b/pkgs/by-name/ta/tayga/package.nix @@ -1,11 +1,16 @@ -{ lib, stdenv, fetchurl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + nixosTests, +}: stdenv.mkDerivation rec { version = "0.9.2"; pname = "tayga"; src = fetchurl { - url= "http://www.litech.org/${pname}/${pname}-${version}.tar.bz2"; + url = "http://www.litech.org/${pname}/${pname}-${version}.tar.bz2"; hash = "sha256-Kx95J6nS3P+Qla/zwnGSSwUsz9L6ypWIsndDGkTwAJw="; }; diff --git a/pkgs/by-name/tb/tbls/package.nix b/pkgs/by-name/tb/tbls/package.nix index 84f4d8ca34b53..6ef891587148d 100644 --- a/pkgs/by-name/tb/tbls/package.nix +++ b/pkgs/by-name/tb/tbls/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, tbls +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + tbls, }: buildGoModule rec { @@ -22,7 +23,10 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; CGO_CFLAGS = [ "-Wno-format-security" ]; diff --git a/pkgs/by-name/tb/tboot/package.nix b/pkgs/by-name/tb/tboot/package.nix index aabbe94bdb0cf..a553c9d7ca7d4 100644 --- a/pkgs/by-name/tb/tboot/package.nix +++ b/pkgs/by-name/tb/tboot/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, openssl, perl, trousers, zlib }: +{ + lib, + stdenv, + fetchurl, + openssl, + perl, + trousers, + zlib, +}: stdenv.mkDerivation rec { pname = "tboot"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-TIs/xLxLBkKBN0a0CRB2KMmCq8QgICH1++i485WDU3A="; }; - buildInputs = [ openssl trousers zlib ]; + buildInputs = [ + openssl + trousers + zlib + ]; enableParallelBuilding = true; @@ -26,10 +38,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Pre-kernel/VMM module that uses Intel(R) TXT to perform a measured and verified launch of an OS kernel/VMM"; - homepage = "https://sourceforge.net/projects/tboot/"; - changelog = "https://sourceforge.net/p/tboot/code/ci/v${version}/tree/CHANGELOG"; - license = licenses.bsd3; + homepage = "https://sourceforge.net/projects/tboot/"; + changelog = "https://sourceforge.net/p/tboot/code/ci/v${version}/tree/CHANGELOG"; + license = licenses.bsd3; maintainers = with maintainers; [ ak ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/by-name/tb/tbox/package.nix b/pkgs/by-name/tb/tbox/package.nix index 9d1afcec84e12..f1190af01cd27 100644 --- a/pkgs/by-name/tb/tbox/package.nix +++ b/pkgs/by-name/tb/tbox/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -34,4 +35,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ rewine ]; }; } - diff --git a/pkgs/by-name/tb/tbump/package.nix b/pkgs/by-name/tb/tbump/package.nix index 1314c1ec6d126..820f4b5b31389 100644 --- a/pkgs/by-name/tb/tbump/package.nix +++ b/pkgs/by-name/tb/tbump/package.nix @@ -18,7 +18,6 @@ python3Packages.buildPythonApplication rec { pythonRelaxDeps = [ "tomlkit" ]; - build-system = with python3Packages; [ poetry-core ]; dependencies = with python3Packages; [ diff --git a/pkgs/by-name/tc/tcat/package.nix b/pkgs/by-name/tc/tcat/package.nix index 5afa7e83affaa..25c826e703261 100644 --- a/pkgs/by-name/tc/tcat/package.nix +++ b/pkgs/by-name/tc/tcat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tcat"; diff --git a/pkgs/by-name/tc/tcb/package.nix b/pkgs/by-name/tc/tcb/package.nix index 6a1f5b5eb5f20..ca4e2b4fcc971 100644 --- a/pkgs/by-name/tc/tcb/package.nix +++ b/pkgs/by-name/tc/tcb/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config -, linux-pam, libxcrypt +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + linux-pam, + libxcrypt, }: stdenv.mkDerivation rec { @@ -13,11 +18,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-Sp5u7iTEZZnAqKQXoPO8eWpSkZeBzQqZI82wRQmgU9A="; }; - outputs = [ "out" "bin" "dev" "man" ]; + outputs = [ + "out" + "bin" + "dev" + "man" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ linux-pam libxcrypt ]; + buildInputs = [ + linux-pam + libxcrypt + ]; patches = [ ./fix-makefiles.patch ]; diff --git a/pkgs/by-name/tc/tcl2048/package.nix b/pkgs/by-name/tc/tcl2048/package.nix index 1435e1ed76e48..523a04c612efc 100644 --- a/pkgs/by-name/tc/tcl2048/package.nix +++ b/pkgs/by-name/tc/tcl2048/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, tcl, tclPackages, runtimeShell }: +{ + lib, + fetchurl, + tcl, + tclPackages, + runtimeShell, +}: tcl.mkTclDerivation rec { pname = "tcl2048"; diff --git a/pkgs/by-name/tc/tcp-cutter/package.nix b/pkgs/by-name/tc/tcp-cutter/package.nix index 4231ddef24332..9ca1a2dd1399d 100644 --- a/pkgs/by-name/tc/tcp-cutter/package.nix +++ b/pkgs/by-name/tc/tcp-cutter/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tcp-cutter"; diff --git a/pkgs/by-name/tc/tcp_wrappers/package.nix b/pkgs/by-name/tc/tcp_wrappers/package.nix index ad8c8b8c2bbbb..1bfadfbf5ef2c 100644 --- a/pkgs/by-name/tc/tcp_wrappers/package.nix +++ b/pkgs/by-name/tc/tcp_wrappers/package.nix @@ -1,9 +1,15 @@ -{ fetchurl, lib, stdenv, libnsl }: +{ + fetchurl, + lib, + stdenv, + libnsl, +}: let vanillaVersion = "7.6.q"; patchLevel = "33"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "tcp-wrappers"; version = "${vanillaVersion}-${patchLevel}"; @@ -30,7 +36,11 @@ in stdenv.mkDerivation rec { buildInputs = [ libnsl ]; - makeFlags = [ "REAL_DAEMON_DIR=$(out)/bin" "linux" "AR:=$(AR)" ]; + makeFlags = [ + "REAL_DAEMON_DIR=$(out)/bin" + "linux" + "AR:=$(AR)" + ]; installPhase = '' mkdir -p "$out/bin" diff --git a/pkgs/by-name/tc/tcpcrypt/package.nix b/pkgs/by-name/tc/tcpcrypt/package.nix index 1d34fdd4e7109..bf9552a1ee458 100644 --- a/pkgs/by-name/tc/tcpcrypt/package.nix +++ b/pkgs/by-name/tc/tcpcrypt/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, openssl -, libcap, libpcap, libnfnetlink, libnetfilter_conntrack, libnetfilter_queue +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, + libcap, + libpcap, + libnfnetlink, + libnetfilter_conntrack, + libnetfilter_queue, }: stdenv.mkDerivation rec { @@ -16,10 +24,23 @@ stdenv.mkDerivation rec { postUnpack = "mkdir -vp $sourceRoot/m4"; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl libpcap ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libcap libnfnetlink libnetfilter_conntrack libnetfilter_queue ]; + buildInputs = + [ + openssl + libpcap + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + libnfnetlink + libnetfilter_conntrack + libnetfilter_queue + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/tc/tcpdump/package.nix b/pkgs/by-name/tc/tcpdump/package.nix index b61f42eae308e..4c46ced1dec55 100644 --- a/pkgs/by-name/tc/tcpdump/package.nix +++ b/pkgs/by-name/tc/tcpdump/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, libpcap, pkg-config, perl }: +{ + lib, + stdenv, + fetchurl, + libpcap, + pkg-config, + perl, +}: stdenv.mkDerivation rec { pname = "tcpdump"; diff --git a/pkgs/by-name/tc/tcpflow/package.nix b/pkgs/by-name/tc/tcpflow/package.nix index 73de0acef4e61..fa6769438c2b9 100644 --- a/pkgs/by-name/tc/tcpflow/package.nix +++ b/pkgs/by-name/tc/tcpflow/package.nix @@ -1,23 +1,39 @@ -{ stdenv, lib, fetchFromGitHub, automake, autoconf -, openssl, zlib, libpcap, boost -, useCairo ? false, cairo +{ + stdenv, + lib, + fetchFromGitHub, + automake, + autoconf, + openssl, + zlib, + libpcap, + boost, + useCairo ? false, + cairo, }: stdenv.mkDerivation rec { - pname = "tcpflow"; + pname = "tcpflow"; version = "1.6.1"; src = fetchFromGitHub { - owner = "simsong"; - repo = pname; - rev = "${pname}-${version}"; + owner = "simsong"; + repo = pname; + rev = "${pname}-${version}"; sha256 = "0vbm097jhi5n8pg08ia1yhzc225zv9948blb76f4br739l9l22vq"; fetchSubmodules = true; }; - nativeBuildInputs = [ automake autoconf ]; - buildInputs = [ openssl zlib libpcap boost ] - ++ lib.optional useCairo cairo; + nativeBuildInputs = [ + automake + autoconf + ]; + buildInputs = [ + openssl + zlib + libpcap + boost + ] ++ lib.optional useCairo cairo; prePatch = '' substituteInPlace bootstrap.sh \ @@ -39,9 +55,12 @@ stdenv.mkDerivation rec { protocol analysis and debugging. ''; inherit (src.meta) homepage; - license = licenses.gpl3; - maintainers = with maintainers; [ raskin obadz ]; - platforms = platforms.unix; + license = licenses.gpl3; + maintainers = with maintainers; [ + raskin + obadz + ]; + platforms = platforms.unix; mainProgram = "tcpflow"; }; } diff --git a/pkgs/by-name/tc/tcping-go/package.nix b/pkgs/by-name/tc/tcping-go/package.nix index 950c648337ad9..47628d34656ed 100644 --- a/pkgs/by-name/tc/tcping-go/package.nix +++ b/pkgs/by-name/tc/tcping-go/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule { pname = "tcping-go"; diff --git a/pkgs/by-name/tc/tcpkali/package.nix b/pkgs/by-name/tc/tcpkali/package.nix index 805a70f88e741..a8df1b1ddbbb4 100644 --- a/pkgs/by-name/tc/tcpkali/package.nix +++ b/pkgs/by-name/tc/tcpkali/package.nix @@ -1,6 +1,14 @@ -{lib, stdenv, autoreconfHook, fetchFromGitHub, bison}: +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + bison, +}: -let version = "1.1.1"; in +let + version = "1.1.1"; +in stdenv.mkDerivation rec { pname = "tcpkali"; @@ -15,7 +23,7 @@ stdenv.mkDerivation rec { sed -ie '/sys\/sysctl\.h/d' src/tcpkali_syslimits.c ''; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ bison]; + buildInputs = [ bison ]; meta = { description = "High performance TCP and WebSocket load generator and sink"; license = lib.licenses.bsd2; diff --git a/pkgs/by-name/tc/tcptraceroute/package.nix b/pkgs/by-name/tc/tcptraceroute/package.nix index 586462e6c2c53..9f35a31eba38a 100644 --- a/pkgs/by-name/tc/tcptraceroute/package.nix +++ b/pkgs/by-name/tc/tcptraceroute/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, libpcap -, libnet +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + libnet, }: stdenv.mkDerivation rec { @@ -16,14 +17,16 @@ stdenv.mkDerivation rec { hash = "sha256-KU4MLWtOFzzNr+I99fRbhBokhS1JUNL+OgVltkOGav4="; }; - # for reasons unknown --disable-static configure flag doesn't disable static # linking.. we instead override CFLAGS with -static omitted preBuild = '' makeFlagsArray=(CFLAGS=" -g -O2 -Wall") ''; - buildInputs = [ libpcap libnet ]; + buildInputs = [ + libpcap + libnet + ]; meta = { description = "Traceroute implementation using TCP packets"; diff --git a/pkgs/by-name/tc/tcptrack/package.nix b/pkgs/by-name/tc/tcptrack/package.nix index e638718474e54..2c54223cc75cf 100644 --- a/pkgs/by-name/tc/tcptrack/package.nix +++ b/pkgs/by-name/tc/tcptrack/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, libpcap }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, + libpcap, +}: stdenv.mkDerivation rec { pname = "tcptrack"; @@ -21,7 +28,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ ncurses libpcap ]; + buildInputs = [ + ncurses + libpcap + ]; env.NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; diff --git a/pkgs/by-name/td/tdfgo/package.nix b/pkgs/by-name/td/tdfgo/package.nix index 0d9e5950b51a4..07e0d2721c6c4 100644 --- a/pkgs/by-name/td/tdfgo/package.nix +++ b/pkgs/by-name/td/tdfgo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tdfgo"; diff --git a/pkgs/by-name/td/tdlib/package.nix b/pkgs/by-name/td/tdlib/package.nix index 66a70a9c76367..7c308bec90980 100644 --- a/pkgs/by-name/td/tdlib/package.nix +++ b/pkgs/by-name/td/tdlib/package.nix @@ -1,22 +1,36 @@ -{ fetchFromGitHub, gperf, openssl, readline, zlib, cmake, lib, stdenv, - writeShellApplication, common-updater-scripts, jq }: +{ + fetchFromGitHub, + gperf, + openssl, + readline, + zlib, + cmake, + lib, + stdenv, + writeShellApplication, + common-updater-scripts, + jq, +}: let updateScript = writeShellApplication { - name = "update-tdlib"; + name = "update-tdlib"; - runtimeInputs = [ jq common-updater-scripts ]; + runtimeInputs = [ + jq + common-updater-scripts + ]; - text = '' - commit_msg="^Update version to (?\\\\d+.\\\\d+.\\\\d+)\\\\.$" - commit=$(curl -s "https://api.github.com/repos/tdlib/td/commits?path=CMakeLists.txt" | jq -c "map(select(.commit.message | test(\"''${commit_msg}\"))) | first") + text = '' + commit_msg="^Update version to (?\\\\d+.\\\\d+.\\\\d+)\\\\.$" + commit=$(curl -s "https://api.github.com/repos/tdlib/td/commits?path=CMakeLists.txt" | jq -c "map(select(.commit.message | test(\"''${commit_msg}\"))) | first") - rev=$(echo "$commit" | jq -r ".sha") - version=$(echo "$commit" | jq -r ".commit.message | capture(\"''${commit_msg}\") | .v") + rev=$(echo "$commit" | jq -r ".sha") + version=$(echo "$commit" | jq -r ".commit.message | capture(\"''${commit_msg}\") | .v") - update-source-version tdlib "$version" --rev="$rev" - ''; - }; + update-source-version tdlib "$version" --rev="$rev" + ''; + }; in stdenv.mkDerivation { @@ -34,20 +48,27 @@ stdenv.mkDerivation { hash = "sha256-1TyGv2yMjX75+ccZSox/2m6SMmwEZAkShIhLfCeNmZg="; }; - buildInputs = [ gperf openssl readline zlib ]; + buildInputs = [ + gperf + openssl + readline + zlib + ]; nativeBuildInputs = [ cmake ]; # https://github.com/tdlib/td/issues/1974 - postPatch = '' - substituteInPlace CMake/GeneratePkgConfig.cmake \ - --replace 'function(generate_pkgconfig' \ - 'include(GNUInstallDirs) - function(generate_pkgconfig' \ - --replace '\$'{prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \ - --replace '\$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' - sed -i "/vptr/d" test/CMakeLists.txt - ''; + postPatch = + '' + substituteInPlace CMake/GeneratePkgConfig.cmake \ + --replace 'function(generate_pkgconfig' \ + 'include(GNUInstallDirs) + function(generate_pkgconfig' \ + --replace '\$'{prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \ + --replace '\$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' + sed -i "/vptr/d" test/CMakeLists.txt + ''; passthru.updateScript = lib.getExe updateScript; @@ -56,6 +77,9 @@ stdenv.mkDerivation { homepage = "https://core.telegram.org/tdlib/"; license = [ licenses.boost ]; platforms = platforms.unix; - maintainers = [ maintainers.vyorkin maintainers.vonfry ]; + maintainers = [ + maintainers.vyorkin + maintainers.vonfry + ]; }; } diff --git a/pkgs/by-name/td/tdnf/package.nix b/pkgs/by-name/td/tdnf/package.nix index 315b53a8fe2fa..6e26431d65dd7 100644 --- a/pkgs/by-name/td/tdnf/package.nix +++ b/pkgs/by-name/td/tdnf/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch2 -, cmake -, curl -, gpgme -, libsolv -, libxml2 -, pkg-config -, python3 -, rpm -, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + cmake, + curl, + gpgme, + libsolv, + libxml2, + pkg-config, + python3, + rpm, + sqlite, }: stdenv.mkDerivation (finalAttrs: { @@ -77,7 +78,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Tiny Dandified Yum"; homepage = "https://github.com/vmware/tdnf"; changelog = "https://github.com/vmware/tdnf/releases/tag/v${finalAttrs.version}"; - license = with lib.licenses; [ gpl2 lgpl21 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + ]; maintainers = [ lib.maintainers.malt3 ]; mainProgram = "tdnf"; # rpm only supports linux diff --git a/pkgs/by-name/td/tdns-cli/package.nix b/pkgs/by-name/td/tdns-cli/package.nix index 006e7161b19db..2683afb4491e2 100644 --- a/pkgs/by-name/td/tdns-cli/package.nix +++ b/pkgs/by-name/td/tdns-cli/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "tdns-cli"; diff --git a/pkgs/by-name/td/tdrop/package.nix b/pkgs/by-name/td/tdrop/package.nix index bc9966ab2b769..017f72e44fac4 100644 --- a/pkgs/by-name/td/tdrop/package.nix +++ b/pkgs/by-name/td/tdrop/package.nix @@ -1,6 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper -, xwininfo, xdotool, xprop, gawk, coreutils -, gnugrep, procps }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + xwininfo, + xdotool, + xprop, + gawk, + coreutils, + gnugrep, + procps, +}: stdenv.mkDerivation rec { pname = "tdrop"; @@ -17,19 +27,21 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" ]; - postInstall = let - binPath = lib.makeBinPath [ - xwininfo - xdotool - xprop - gawk - coreutils - gnugrep - procps - ]; - in '' - wrapProgram $out/bin/tdrop --prefix PATH : ${binPath} - ''; + postInstall = + let + binPath = lib.makeBinPath [ + xwininfo + xdotool + xprop + gawk + coreutils + gnugrep + procps + ]; + in + '' + wrapProgram $out/bin/tdrop --prefix PATH : ${binPath} + ''; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/te/tea/package.nix b/pkgs/by-name/te/tea/package.nix index 8e985c9ec13dc..72a8455a41692 100644 --- a/pkgs/by-name/te/tea/package.nix +++ b/pkgs/by-name/te/tea/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitea }: +{ + lib, + buildGoModule, + fetchFromGitea, +}: buildGoModule rec { pname = "tea"; @@ -16,9 +20,12 @@ buildGoModule rec { meta = with lib; { description = "Gitea official CLI client"; - homepage = "https://gitea.com/gitea/tea"; - license = licenses.mit; - maintainers = with maintainers; [ j4m3s techknowlogick ]; + homepage = "https://gitea.com/gitea/tea"; + license = licenses.mit; + maintainers = with maintainers; [ + j4m3s + techknowlogick + ]; mainProgram = "tea"; }; } diff --git a/pkgs/by-name/te/tealdeer/package.nix b/pkgs/by-name/te/tealdeer/package.nix index 51d43799621e9..b6e634fd005f9 100644 --- a/pkgs/by-name/te/tealdeer/package.nix +++ b/pkgs/by-name/te/tealdeer/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, apple-sdk_11 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + apple-sdk_11, }: rustPlatform.buildRustPackage rec { @@ -45,8 +46,15 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Very fast implementation of tldr in Rust"; homepage = "https://github.com/dbrgn/tealdeer"; - maintainers = with maintainers; [ davidak newam mfrw ]; - license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ + davidak + newam + mfrw + ]; + license = with licenses; [ + asl20 + mit + ]; mainProgram = "tldr"; }; } diff --git a/pkgs/by-name/te/teams/package.nix b/pkgs/by-name/te/teams/package.nix index e0fcae460b42b..b1f8771a431df 100644 --- a/pkgs/by-name/te/teams/package.nix +++ b/pkgs/by-name/te/teams/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, xar -, cpio -, makeWrapper +{ + lib, + stdenv, + fetchurl, + xar, + cpio, + makeWrapper, }: let @@ -21,7 +22,10 @@ let sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ tricktron ]; - platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "teams"; }; @@ -36,7 +40,11 @@ stdenv.mkDerivation { hash = hashes.darwin; }; - nativeBuildInputs = [ xar cpio makeWrapper ]; + nativeBuildInputs = [ + xar + cpio + makeWrapper + ]; unpackPhase = '' xar -xf $src diff --git a/pkgs/by-name/te/teapot/package.nix b/pkgs/by-name/te/teapot/package.nix index 31ff3c8609874..8662720a189e7 100644 --- a/pkgs/by-name/te/teapot/package.nix +++ b/pkgs/by-name/te/teapot/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libtirpc -, ncurses +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libtirpc, + ncurses, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/te/teavpn2/package.nix b/pkgs/by-name/te/teavpn2/package.nix index cc54259aae0d0..7b2e3060d2886 100644 --- a/pkgs/by-name/te/teavpn2/package.nix +++ b/pkgs/by-name/te/teavpn2/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, iproute2 +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + iproute2, }: stdenv.mkDerivation { pname = "teavpn2"; diff --git a/pkgs/by-name/te/tebreak/package.nix b/pkgs/by-name/te/tebreak/package.nix index 879f9b95d846b..47587b1a8c22c 100644 --- a/pkgs/by-name/te/tebreak/package.nix +++ b/pkgs/by-name/te/tebreak/package.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, last, exonerate, minia, python3, bwa -, samtools }: +{ + lib, + fetchFromGitHub, + last, + exonerate, + minia, + python3, + bwa, + samtools, +}: python3.pkgs.buildPythonApplication rec { pname = "tebreak"; diff --git a/pkgs/by-name/te/techmino/ccloader.nix b/pkgs/by-name/te/techmino/ccloader.nix index 38a4b32c821ae..ff312555d7918 100644 --- a/pkgs/by-name/te/techmino/ccloader.nix +++ b/pkgs/by-name/te/techmino/ccloader.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, libcoldclear -, luajit +{ + lib, + stdenv, + fetchFromGitHub, + libcoldclear, + luajit, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-sguV+Dw+etZH43tXZYL46NAdsI/qvyvGWCPUiTEjhy4="; }; - buildInputs = [ libcoldclear luajit ]; + buildInputs = [ + libcoldclear + luajit + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/te/techmino/libcoldclear.nix b/pkgs/by-name/te/techmino/libcoldclear.nix index 516f5c4dd9cdd..9b97740337a21 100644 --- a/pkgs/by-name/te/techmino/libcoldclear.nix +++ b/pkgs/by-name/te/techmino/libcoldclear.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, ccloader +{ + lib, + rustPlatform, + fetchFromGitHub, + ccloader, }: let diff --git a/pkgs/by-name/te/techmino/package.nix b/pkgs/by-name/te/techmino/package.nix index 3d15feeb49fd5..9da82feeab1c4 100644 --- a/pkgs/by-name/te/techmino/package.nix +++ b/pkgs/by-name/te/techmino/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, callPackage -, makeWrapper -, makeDesktopItem -, love -, luajit -, writeShellScript -, nix-update -, libcoldclear ? callPackage ./libcoldclear.nix { inherit ccloader; } -, ccloader ? callPackage ./ccloader.nix { inherit libcoldclear luajit; } +{ + lib, + stdenv, + fetchurl, + callPackage, + makeWrapper, + makeDesktopItem, + love, + luajit, + writeShellScript, + nix-update, + libcoldclear ? callPackage ./libcoldclear.nix { inherit ccloader; }, + ccloader ? callPackage ./ccloader.nix { inherit libcoldclear luajit; }, }: let diff --git a/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.nix b/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.nix index f3a17967e25c8..dbfecc1b26058 100644 --- a/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.nix +++ b/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.nix @@ -1,5 +1,6 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ +{ fetchNuGet }: +[ ] diff --git a/pkgs/by-name/te/technitium-dns-server/nuget-deps.nix b/pkgs/by-name/te/technitium-dns-server/nuget-deps.nix index f3a17967e25c8..dbfecc1b26058 100644 --- a/pkgs/by-name/te/technitium-dns-server/nuget-deps.nix +++ b/pkgs/by-name/te/technitium-dns-server/nuget-deps.nix @@ -1,5 +1,6 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ +{ fetchNuGet }: +[ ] diff --git a/pkgs/by-name/te/tecla/package.nix b/pkgs/by-name/te/tecla/package.nix index 03631469889b4..c5e666681a4e2 100644 --- a/pkgs/by-name/te/tecla/package.nix +++ b/pkgs/by-name/te/tecla/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { @@ -12,7 +13,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-8nV8xVBAhZ/Pj1mgt7JuAYSiK+zkTtlWikU0pHjB7ho="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postPatch = '' substituteInPlace install-sh \ @@ -27,27 +31,27 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.astro.caltech.edu/~mcs/tecla/"; description = "Command-line editing library"; longDescription = '' - The tecla library provides UNIX and LINUX programs with interactive - command line editing facilities, similar to those of the UNIX tcsh - shell. In addition to simple command-line editing, it supports recall of - previously entered command lines, TAB completion of file names or other - tokens, and in-line wild-card expansion of filenames. The internal - functions which perform file-name completion and wild-card expansion are - also available externally for optional use by programs. - - In addition, the library includes a path-searching module. This allows an - application to provide completion and lookup of files located in UNIX - style paths. Although not built into the line editor by default, it can - easily be called from custom tab-completion callback functions. This was - originally conceived for completing the names of executables and - providing a way to look up their locations in the user's PATH environment - variable, but it can easily be asked to look up and complete other types - of files in any list of directories. - - Note that special care has been taken to allow the use of this library in - threaded programs. The option to enable this is discussed in the - Makefile, and specific discussions of thread safety are presented in the - included man pages. + The tecla library provides UNIX and LINUX programs with interactive + command line editing facilities, similar to those of the UNIX tcsh + shell. In addition to simple command-line editing, it supports recall of + previously entered command lines, TAB completion of file names or other + tokens, and in-line wild-card expansion of filenames. The internal + functions which perform file-name completion and wild-card expansion are + also available externally for optional use by programs. + + In addition, the library includes a path-searching module. This allows an + application to provide completion and lookup of files located in UNIX + style paths. Although not built into the line editor by default, it can + easily be called from custom tab-completion callback functions. This was + originally conceived for completing the names of executables and + providing a way to look up their locations in the user's PATH environment + variable, but it can easily be asked to look up and complete other types + of files in any list of directories. + + Note that special care has been taken to allow the use of this library in + threaded programs. The option to enable this is discussed in the + Makefile, and specific discussions of thread safety are presented in the + included man pages. ''; changelog = "https://sites.astro.caltech.edu/~mcs/tecla/release.html"; license = with lib.licenses; [ mit ]; diff --git a/pkgs/by-name/te/tecnoballz/package.nix b/pkgs/by-name/te/tecnoballz/package.nix index b3f1914bc18ef..82ca81b832938 100644 --- a/pkgs/by-name/te/tecnoballz/package.nix +++ b/pkgs/by-name/te/tecnoballz/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, autoconf -, automake -, SDL -, SDL_mixer -, SDL_image -, libmikmod -, tinyxml +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + SDL, + SDL_mixer, + SDL_image, + libmikmod, + tinyxml, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/te/tecoc/package.nix b/pkgs/by-name/te/tecoc/package.nix index 8bb5d0b0aa108..3cb604727665b 100644 --- a/pkgs/by-name/te/tecoc/package.nix +++ b/pkgs/by-name/te/tecoc/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, ncurses -, unstableGitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + ncurses, + unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -18,17 +19,22 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ ncurses ]; - makefile = if stdenv.hostPlatform.isDarwin - then "makefile.osx" - else if stdenv.hostPlatform.isFreeBSD - then "makefile.bsd" - else if stdenv.hostPlatform.isOpenBSD - then "makefile.bsd" - else if stdenv.hostPlatform.isWindows - then "makefile.win" - else "makefile.linux"; # I think Linux is a safe default... + makefile = + if stdenv.hostPlatform.isDarwin then + "makefile.osx" + else if stdenv.hostPlatform.isFreeBSD then + "makefile.bsd" + else if stdenv.hostPlatform.isOpenBSD then + "makefile.bsd" + else if stdenv.hostPlatform.isWindows then + "makefile.win" + else + "makefile.linux"; # I think Linux is a safe default... - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "-C src/" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "-C src/" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/te/ted/package.nix b/pkgs/by-name/te/ted/package.nix index a6c46c6c7df59..78edd65d50963 100644 --- a/pkgs/by-name/te/ted/package.nix +++ b/pkgs/by-name/te/ted/package.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config, zlib, pcre, xorg, libjpeg, libtiff, libpng, gtk2, libpaper, makeWrapper, ghostscript }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + zlib, + pcre, + xorg, + libjpeg, + libtiff, + libpng, + gtk2, + libpaper, + makeWrapper, + ghostscript, +}: stdenv.mkDerivation rec { pname = "ted"; @@ -35,7 +50,11 @@ stdenv.mkDerivation rec { popd ''; - makeFlags = [ "CONFIGURE_OPTIONS=--with-GTK" "CONFIGURE_OPTIONS+=--prefix=$(out)" "compile.shared" ]; + makeFlags = [ + "CONFIGURE_OPTIONS=--with-GTK" + "CONFIGURE_OPTIONS+=--prefix=$(out)" + "compile.shared" + ]; installPhase = '' runHook preInstall @@ -58,8 +77,23 @@ stdenv.mkDerivation rec { runHook postInstall ''; - nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ zlib pcre xorg.libX11 xorg.libICE xorg.libSM xorg.libXpm libjpeg libtiff libpng gtk2 libpaper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + buildInputs = [ + zlib + pcre + xorg.libX11 + xorg.libICE + xorg.libSM + xorg.libXpm + libjpeg + libtiff + libpng + gtk2 + libpaper + ]; meta = with lib; { description = "An easy rich text processor"; @@ -75,10 +109,10 @@ stdenv.mkDerivation rec { MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to Acrobat PDF converter. ''; - homepage = "https://nllgg.nl/Ted/"; - license = licenses.gpl2Only; - platforms = platforms.all; - broken = stdenv.hostPlatform.isDarwin; + homepage = "https://nllgg.nl/Ted/"; + license = licenses.gpl2Only; + platforms = platforms.all; + broken = stdenv.hostPlatform.isDarwin; maintainers = with maintainers; [ obadz ]; }; } diff --git a/pkgs/by-name/te/teehee/package.nix b/pkgs/by-name/te/teehee/package.nix index 7015987ae9e6c..04dc45cdc5701 100644 --- a/pkgs/by-name/te/teehee/package.nix +++ b/pkgs/by-name/te/teehee/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/te/teensy-cmake-macros/hook.nix b/pkgs/by-name/te/teensy-cmake-macros/hook.nix index 55f9aec729f57..ab35445bcad8d 100644 --- a/pkgs/by-name/te/teensy-cmake-macros/hook.nix +++ b/pkgs/by-name/te/teensy-cmake-macros/hook.nix @@ -1,5 +1,6 @@ -{ makeSetupHook -, teensy-cmake-macros +{ + makeSetupHook, + teensy-cmake-macros, }: makeSetupHook { diff --git a/pkgs/by-name/te/teensy-cmake-macros/package.nix b/pkgs/by-name/te/teensy-cmake-macros/package.nix index 7254becdbce70..85365cd63f8e1 100644 --- a/pkgs/by-name/te/teensy-cmake-macros/package.nix +++ b/pkgs/by-name/te/teensy-cmake-macros/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, callPackage +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + callPackage, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-E+BOlsCJtOScr3B5GSv1WM6rFv6cFYvm/iJ893fsmXM="; }; - propagatedBuildInputs = [ cmake pkg-config ]; + propagatedBuildInputs = [ + cmake + pkg-config + ]; passthru = { hook = callPackage ./hook.nix { diff --git a/pkgs/by-name/te/teensy-loader-cli/package.nix b/pkgs/by-name/te/teensy-loader-cli/package.nix index 19f7051f0a302..ab668e7527d68 100644 --- a/pkgs/by-name/te/teensy-loader-cli/package.nix +++ b/pkgs/by-name/te/teensy-loader-cli/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, go-md2man -, installShellFiles -, libusb-compat-0_1 +{ + stdenv, + lib, + fetchFromGitHub, + go-md2man, + installShellFiles, + libusb-compat-0_1, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/te/teensy-udev-rules/package.nix b/pkgs/by-name/te/teensy-udev-rules/package.nix index 326cf0a3245f7..1323869cc31dd 100644 --- a/pkgs/by-name/te/teensy-udev-rules/package.nix +++ b/pkgs/by-name/te/teensy-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, coreutils }: +{ + lib, + stdenv, + coreutils, +}: stdenv.mkDerivation { pname = "teensy-udev-rules"; diff --git a/pkgs/by-name/te/teetertorture/package.nix b/pkgs/by-name/te/teetertorture/package.nix index b87faf6cea0b2..ca697191d19a5 100644 --- a/pkgs/by-name/te/teetertorture/package.nix +++ b/pkgs/by-name/te/teetertorture/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer }: +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_image, + SDL_mixer, +}: stdenv.mkDerivation rec { pname = "teeter-torture"; @@ -8,7 +15,11 @@ stdenv.mkDerivation rec { sha256 = "175gdbkx3m82icyzvwpyzs4v2fd69c695k5n8ca0lnjv81wnw2hr"; }; - buildInputs = [ SDL SDL_image SDL_mixer]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + ]; configurePhase = '' sed -i s,data/,$out/share/teetertorture/, src/teetertorture.c diff --git a/pkgs/by-name/te/tegaki-zinnia-japanese/package.nix b/pkgs/by-name/te/tegaki-zinnia-japanese/package.nix index 6274451364103..ab4a8ef28c9ee 100644 --- a/pkgs/by-name/te/tegaki-zinnia-japanese/package.nix +++ b/pkgs/by-name/te/tegaki-zinnia-japanese/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { pname = "tegaki-zinnia-japanese"; diff --git a/pkgs/by-name/te/tegola/package.nix b/pkgs/by-name/te/tegola/package.nix index deb794f1c71c1..6d36b39d29c8e 100644 --- a/pkgs/by-name/te/tegola/package.nix +++ b/pkgs/by-name/te/tegola/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildGoModule, + buildNpmPackage, + fetchFromGitHub, +}: let version = "0.20.0"; @@ -30,7 +35,11 @@ buildGoModule { subPackages = [ "cmd/tegola" ]; - ldflags = [ "-s" "-w" "-X github.com/go-spatial/tegola/internal/build.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/go-spatial/tegola/internal/build.Version=${version}" + ]; preBuild = '' rm -rf ui/dist diff --git a/pkgs/by-name/te/teip/package.nix b/pkgs/by-name/te/teip/package.nix index ab140f2a578c3..7f18790d4efbc 100644 --- a/pkgs/by-name/te/teip/package.nix +++ b/pkgs/by-name/te/teip/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, perl -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + perl, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index b3bbd31d7a419..22bb7b9de609b 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "tektoncd-cli"; @@ -13,7 +18,11 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" + ]; nativeBuildInputs = [ installShellFiles ]; @@ -61,7 +70,11 @@ buildGoModule rec { Pipelines. ''; license = licenses.asl20; - maintainers = with maintainers; [ jk mstrangfeld vdemeester ]; + maintainers = with maintainers; [ + jk + mstrangfeld + vdemeester + ]; mainProgram = "tkn"; }; } diff --git a/pkgs/by-name/te/tela-icon-theme/package.nix b/pkgs/by-name/te/tela-icon-theme/package.nix index be46f39bf0304..fbf67aef18ac6 100644 --- a/pkgs/by-name/te/tela-icon-theme/package.nix +++ b/pkgs/by-name/te/tela-icon-theme/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, jdupes, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + jdupes, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "tela-icon-theme"; @@ -11,7 +18,10 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-ZzF4U/cTy/7oSDQs4+dezewgNzS5zroba8wpcfPciW4="; }; - nativeBuildInputs = [ gtk3 jdupes ]; + nativeBuildInputs = [ + gtk3 + jdupes + ]; propagatedBuildInputs = [ hicolor-icon-theme ]; diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix index 63a786584b17b..94bfffaddeb06 100644 --- a/pkgs/by-name/te/telegraf/package.nix +++ b/pkgs/by-name/te/telegraf/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGo123Module -, fetchFromGitHub -, nixosTests -, stdenv -, testers -, telegraf +{ + lib, + buildGo123Module, + fetchFromGitHub, + nixosTests, + stdenv, + testers, + telegraf, }: buildGo123Module rec { @@ -30,13 +31,15 @@ buildGo123Module rec { "-X=github.com/influxdata/telegraf/internal.Version=${version}" ]; - passthru.tests = { - version = testers.testVersion { - package = telegraf; + passthru.tests = + { + version = testers.testVersion { + package = telegraf; + }; + } + // lib.optionalAttrs stdenv.hostPlatform.isLinux { + inherit (nixosTests) telegraf; }; - } // lib.optionalAttrs stdenv.hostPlatform.isLinux { - inherit (nixosTests) telegraf; - }; meta = with lib; { description = "Plugin-driven server agent for collecting & reporting metrics"; @@ -44,6 +47,11 @@ buildGo123Module rec { homepage = "https://www.influxdata.com/time-series-platform/telegraf/"; changelog = "https://github.com/influxdata/telegraf/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ mic92 roblabla timstott zowoq ]; + maintainers = with maintainers; [ + mic92 + roblabla + timstott + zowoq + ]; }; } diff --git a/pkgs/by-name/te/telegraph/package.nix b/pkgs/by-name/te/telegraph/package.nix index 332c09884c654..0cdeede94e224 100644 --- a/pkgs/by-name/te/telegraph/package.nix +++ b/pkgs/by-name/te/telegraph/package.nix @@ -1,15 +1,16 @@ -{ lib -, desktop-file-utils -, fetchFromGitHub -, gobject-introspection -, gtk4 -, libadwaita -, meson -, ninja -, pkg-config -, python3 -, stdenv -, wrapGAppsHook4 +{ + lib, + desktop-file-utils, + fetchFromGitHub, + gobject-introspection, + gtk4, + libadwaita, + meson, + ninja, + pkg-config, + python3, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { @@ -35,9 +36,11 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gtk4 libadwaita - (python3.withPackages (ps: with ps; [ - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + ] + )) ]; meta = with lib; { diff --git a/pkgs/by-name/te/telepathy-farstream/package.nix b/pkgs/by-name/te/telepathy-farstream/package.nix index 072ca801f31b1..e011327e6755e 100644 --- a/pkgs/by-name/te/telepathy-farstream/package.nix +++ b/pkgs/by-name/te/telepathy-farstream/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, telepathy-glib, farstream, dbus-glib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + telepathy-glib, + farstream, + dbus-glib, +}: stdenv.mkDerivation rec { pname = "telepathy-farstream"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ dbus-glib telepathy-glib farstream ]; + propagatedBuildInputs = [ + dbus-glib + telepathy-glib + farstream + ]; meta = with lib; { description = "GObject-based C library that uses Telepathy GLib, Farstream and GStreamer to handle the media streaming part of channels of type Call"; diff --git a/pkgs/by-name/te/telepathy-gabble/package.nix b/pkgs/by-name/te/telepathy-gabble/package.nix index d2e2676af5add..560d83c604bb8 100644 --- a/pkgs/by-name/te/telepathy-gabble/package.nix +++ b/pkgs/by-name/te/telepathy-gabble/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config, libxslt, telepathy-glib, python3, libxml2, dbus-glib, dbus -, sqlite, libsoup_2_4, libnice, gnutls -, fetchpatch +{ + lib, + stdenv, + fetchurl, + pkg-config, + libxslt, + telepathy-glib, + python3, + libxml2, + dbus-glib, + dbus, + sqlite, + libsoup_2_4, + libnice, + gnutls, + fetchpatch, }: stdenv.mkDerivation rec { @@ -19,8 +32,20 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config libxslt python3 ]; - buildInputs = [ libxml2 dbus-glib sqlite libsoup_2_4 libnice telepathy-glib gnutls ]; + nativeBuildInputs = [ + pkg-config + libxslt + python3 + ]; + buildInputs = [ + libxml2 + dbus-glib + sqlite + libsoup_2_4 + libnice + telepathy-glib + gnutls + ]; nativeCheckInputs = [ dbus ]; diff --git a/pkgs/by-name/te/telepathy-haze/package.nix b/pkgs/by-name/te/telepathy-haze/package.nix index 79034b2dd9dce..56ff4ef9c2936 100644 --- a/pkgs/by-name/te/telepathy-haze/package.nix +++ b/pkgs/by-name/te/telepathy-haze/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, pidgin, telepathy-glib, python3, glib, dbus-glib, pkg-config, libxslt }: +{ + lib, + stdenv, + fetchurl, + pidgin, + telepathy-glib, + python3, + glib, + dbus-glib, + pkg-config, + libxslt, +}: stdenv.mkDerivation rec { pname = "telepathy-haze"; @@ -9,9 +20,18 @@ stdenv.mkDerivation rec { hash = "sha256-cEvvpC7sIXPspLrAH/0AQBRmXyutRtyJSOVCM2TN4wo="; }; - buildInputs = [ glib telepathy-glib dbus-glib pidgin ]; + buildInputs = [ + glib + telepathy-glib + dbus-glib + pidgin + ]; - nativeBuildInputs = [ pkg-config libxslt python3 ]; + nativeBuildInputs = [ + pkg-config + libxslt + python3 + ]; meta = { description = "Telepathy connection manager based on libpurple"; diff --git a/pkgs/by-name/te/telepathy-idle/package.nix b/pkgs/by-name/te/telepathy-idle/package.nix index 18908fbfb74f5..52559e1202704 100644 --- a/pkgs/by-name/te/telepathy-idle/package.nix +++ b/pkgs/by-name/te/telepathy-idle/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, glib, dconf, pkg-config, dbus-glib, telepathy-glib, python3, libxslt, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + glib, + dconf, + pkg-config, + dbus-glib, + telepathy-glib, + python3, + libxslt, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "telepathy-idle"; @@ -9,8 +21,18 @@ stdenv.mkDerivation rec { hash = "sha256-g4fiXl+wtMvnAeXcCS1mbWUQuDP9Pn5GLpFw027DwV8="; }; - nativeBuildInputs = [ pkg-config python3 makeWrapper ]; - buildInputs = [ glib telepathy-glib dbus-glib libxslt (lib.getLib dconf) ]; + nativeBuildInputs = [ + pkg-config + python3 + makeWrapper + ]; + buildInputs = [ + glib + telepathy-glib + dbus-glib + libxslt + (lib.getLib dconf) + ]; preFixup = '' wrapProgram "$out/libexec/telepathy-idle" \ diff --git a/pkgs/by-name/te/telepathy-logger/package.nix b/pkgs/by-name/te/telepathy-logger/package.nix index 70612f529434f..e60aca4e8bf08 100644 --- a/pkgs/by-name/te/telepathy-logger/package.nix +++ b/pkgs/by-name/te/telepathy-logger/package.nix @@ -1,6 +1,21 @@ -{ lib, stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, python3, pkg-config -, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus -, fetchpatch, darwin +{ + lib, + stdenv, + fetchurl, + dbus-glib, + libxml2, + sqlite, + telepathy-glib, + python3, + pkg-config, + dconf, + makeWrapper, + intltool, + libxslt, + gobject-introspection, + dbus, + fetchpatch, + darwin, }: stdenv.mkDerivation rec { @@ -20,16 +35,25 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - makeWrapper pkg-config intltool libxslt gobject-introspection + makeWrapper + pkg-config + intltool + libxslt + gobject-introspection python3 ]; - buildInputs = [ - dbus-glib libxml2 sqlite telepathy-glib - dbus - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - darwin.apple_sdk.frameworks.Foundation - ]; + buildInputs = + [ + dbus-glib + libxml2 + sqlite + telepathy-glib + dbus + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.Foundation + ]; configureFlags = [ "--enable-call" ]; diff --git a/pkgs/by-name/te/telepathy-mission-control/package.nix b/pkgs/by-name/te/telepathy-mission-control/package.nix index 5d4bfc5eab4b9..c4ca90ec31e78 100644 --- a/pkgs/by-name/te/telepathy-mission-control/package.nix +++ b/pkgs/by-name/te/telepathy-mission-control/package.nix @@ -1,20 +1,26 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, dconf -, telepathy-glib -, python3 -, libxslt -, makeWrapper -, autoreconfHook -, gtk-doc +{ + lib, + stdenv, + fetchurl, + pkg-config, + dconf, + telepathy-glib, + python3, + libxslt, + makeWrapper, + autoreconfHook, + gtk-doc, }: stdenv.mkDerivation rec { pname = "telepathy-mission-control"; version = "5.16.6"; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; src = fetchurl { url = "https://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz"; @@ -25,14 +31,16 @@ stdenv.mkDerivation rec { python3 ]; # ToDo: optional stuff missing - nativeBuildInputs = [ - pkg-config - libxslt - makeWrapper - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoreconfHook - gtk-doc - ]; + nativeBuildInputs = + [ + pkg-config + libxslt + makeWrapper + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoreconfHook + gtk-doc + ]; propagatedBuildInputs = [ telepathy-glib diff --git a/pkgs/by-name/te/telepresence2/package.nix b/pkgs/by-name/te/telepresence2/package.nix index fea60587a55d6..8cd9de5f56ae2 100644 --- a/pkgs/by-name/te/telepresence2/package.nix +++ b/pkgs/by-name/te/telepresence2/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, fuse +{ + lib, + fetchFromGitHub, + buildGoModule, + fuse, }: let @@ -20,7 +21,10 @@ let buildInputs = [ fuse ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; subPackages = [ "pkg/main" ]; }; @@ -50,7 +54,9 @@ buildGoModule rec { vendorHash = "sha256-1Of/IBwXqyKzOSXsJE3vavurvo7ZghfBDlLn4QCR40o="; ldflags = [ - "-s" "-w" "-X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}" + "-s" + "-w" + "-X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}" ]; subPackages = [ "cmd/telepresence" ]; @@ -59,7 +65,10 @@ buildGoModule rec { description = "Local development against a remote Kubernetes or OpenShift cluster"; homepage = "https://telepresence.io"; license = licenses.asl20; - maintainers = with maintainers; [ mausch vilsol ]; + maintainers = with maintainers; [ + mausch + vilsol + ]; mainProgram = "telepresence"; }; } diff --git a/pkgs/by-name/te/teler/package.nix b/pkgs/by-name/te/teler/package.nix index 82183323de8a8..30e4815b1e577 100644 --- a/pkgs/by-name/te/teler/package.nix +++ b/pkgs/by-name/te/teler/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/te/telescope/package.nix b/pkgs/by-name/te/telescope/package.nix index 801cae0b123c5..dbb549ec98bf5 100644 --- a/pkgs/by-name/te/telescope/package.nix +++ b/pkgs/by-name/te/telescope/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, bison -, libevent -, libgrapheme -, libressl -, ncurses -, autoreconfHook -, buildPackages -, memstreamHook +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + bison, + libevent, + libgrapheme, + libressl, + ncurses, + autoreconfHook, + buildPackages, + memstreamHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/te/televido/package.nix b/pkgs/by-name/te/televido/package.nix index f2c31bb949429..bf82f2a107c90 100644 --- a/pkgs/by-name/te/televido/package.nix +++ b/pkgs/by-name/te/televido/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, cargo -, wrapGAppsHook4 -, blueprint-compiler -, libadwaita -, desktop-file-utils -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + cargo, + wrapGAppsHook4, + blueprint-compiler, + libadwaita, + desktop-file-utils, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/te/templ/package.nix b/pkgs/by-name/te/templ/package.nix index 727ddff217e50..faa97c8a31a59 100644 --- a/pkgs/by-name/te/templ/package.nix +++ b/pkgs/by-name/te/templ/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/te/template-glib/package.nix b/pkgs/by-name/te/template-glib/package.nix index a8dfade71bfdc..cef7a7a343052 100644 --- a/pkgs/by-name/te/template-glib/package.nix +++ b/pkgs/by-name/te/template-glib/package.nix @@ -1,26 +1,31 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, glib -, gobject-introspection -, flex -, bison -, vala -, gettext -, gnome -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_43 +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + glib, + gobject-introspection, + flex, + bison, + vala, + gettext, + gnome, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_43, }: stdenv.mkDerivation rec { pname = "template-glib"; version = "3.36.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/by-name/te/tempo/package.nix b/pkgs/by-name/te/tempo/package.nix index 2b5ee20b265c4..2bb64950f8e54 100644 --- a/pkgs/by-name/te/tempo/package.nix +++ b/pkgs/by-name/te/tempo/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGo122Module, fetchFromGitHub }: +{ + lib, + buildGo122Module, + fetchFromGitHub, +}: # Does not build with Go 1.23 # FIXME: check again for next release diff --git a/pkgs/by-name/te/tempora_lgc/package.nix b/pkgs/by-name/te/tempora_lgc/package.nix index ecafc9572bd16..017bfe8cecb4e 100644 --- a/pkgs/by-name/te/tempora_lgc/package.nix +++ b/pkgs/by-name/te/tempora_lgc/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: let srcs = [ (fetchurl { @@ -35,7 +39,7 @@ stdenv.mkDerivation { meta = { description = "Tempora font"; - license = lib.licenses.gpl2 ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.raskin ]; }; } diff --git a/pkgs/by-name/te/temporal-cli/package.nix b/pkgs/by-name/te/temporal-cli/package.nix index 99329977a7081..e1237e95ddcee 100644 --- a/pkgs/by-name/te/temporal-cli/package.nix +++ b/pkgs/by-name/te/temporal-cli/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles, symlinkJoin, stdenv }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, + symlinkJoin, + stdenv, +}: let metaCommon = with lib; { @@ -32,7 +39,10 @@ let nativeBuildInputs = [ installShellFiles ]; - excludedPackages = [ "./cmd/docgen" "./tests" ]; + excludedPackages = [ + "./cmd/docgen" + "./tests" + ]; ldflags = [ "-s" @@ -80,7 +90,10 @@ let excludedPackages = [ "./cmd/copyright" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; preCheck = '' export HOME="$(mktemp -d)" diff --git a/pkgs/by-name/te/temporalite/package.nix b/pkgs/by-name/te/temporalite/package.nix index 007daac6bef43..578f81790a26a 100644 --- a/pkgs/by-name/te/temporalite/package.nix +++ b/pkgs/by-name/te/temporalite/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/te/tenacity/package.nix b/pkgs/by-name/te/tenacity/package.nix index 0ef4ed73787bc..645549e63b36e 100644 --- a/pkgs/by-name/te/tenacity/package.nix +++ b/pkgs/by-name/te/tenacity/package.nix @@ -1,49 +1,50 @@ -{ stdenv -, lib -, fetchFromGitea -, cmake -, wxGTK32 -, gtk3 -, pkg-config -, python3 -, gettext -, glib -, file -, lame -, libvorbis -, libmad -, libjack2 -, lv2 -, lilv -, makeWrapper -, serd -, sord -, sqlite -, sratom -, suil -, alsa-lib -, libsndfile -, soxr -, flac -, twolame -, expat -, libid3tag -, libopus -, ffmpeg -, soundtouch -, pcre -, portaudio -, linuxHeaders -, at-spi2-core -, dbus -, libepoxy -, libXdmcp -, libXtst -, libpthreadstubs -, libselinux -, libsepol -, libxkbcommon -, util-linux +{ + stdenv, + lib, + fetchFromGitea, + cmake, + wxGTK32, + gtk3, + pkg-config, + python3, + gettext, + glib, + file, + lame, + libvorbis, + libmad, + libjack2, + lv2, + lilv, + makeWrapper, + serd, + sord, + sqlite, + sratom, + suil, + alsa-lib, + libsndfile, + soxr, + flac, + twolame, + expat, + libid3tag, + libopus, + ffmpeg, + soundtouch, + pcre, + portaudio, + linuxHeaders, + at-spi2-core, + dbus, + libepoxy, + libXdmcp, + libXtst, + libpthreadstubs, + libselinux, + libsepol, + libxkbcommon, + util-linux, }: stdenv.mkDerivation rec { @@ -91,56 +92,60 @@ stdenv.mkDerivation rec { "-lswscale" ]; - nativeBuildInputs = [ - cmake - gettext - makeWrapper - pkg-config - python3 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - linuxHeaders - ]; + nativeBuildInputs = + [ + cmake + gettext + makeWrapper + pkg-config + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + linuxHeaders + ]; - buildInputs = [ - alsa-lib - expat - ffmpeg - file - flac - glib - lame - libid3tag - libjack2 - libmad - libopus - libsndfile - libvorbis - lilv - lv2 - pcre - portaudio - serd - sord - soundtouch - soxr - sqlite - sratom - suil - twolame - wxGTK32 - gtk3 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - at-spi2-core - dbus - libepoxy - libXdmcp - libXtst - libpthreadstubs - libxkbcommon - libselinux - libsepol - util-linux - ]; + buildInputs = + [ + alsa-lib + expat + ffmpeg + file + flac + glib + lame + libid3tag + libjack2 + libmad + libopus + libsndfile + libvorbis + lilv + lv2 + pcre + portaudio + serd + sord + soundtouch + soxr + sqlite + sratom + suil + twolame + wxGTK32 + gtk3 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + at-spi2-core + dbus + libepoxy + libXdmcp + libXtst + libpthreadstubs + libxkbcommon + libselinux + libsepol + util-linux + ]; cmakeFlags = [ # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ diff --git a/pkgs/by-name/te/tendermint/package.nix b/pkgs/by-name/te/tendermint/package.nix index 858a306e95bb3..919df22193400 100644 --- a/pkgs/by-name/te/tendermint/package.nix +++ b/pkgs/by-name/te/tendermint/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "tendermint"; diff --git a/pkgs/by-name/te/tenderness/package.nix b/pkgs/by-name/te/tenderness/package.nix index e441d22653f96..59d0fa5f6114b 100644 --- a/pkgs/by-name/te/tenderness/package.nix +++ b/pkgs/by-name/te/tenderness/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; @@ -26,7 +30,10 @@ stdenvNoCC.mkDerivation { homepage = "http://dotcolon.net/font/tenderness/"; description = "Serif font designed by Sora Sagano with old-style figures"; platforms = platforms.all; - maintainers = with maintainers; [ leenaars minijackson ]; + maintainers = with maintainers; [ + leenaars + minijackson + ]; license = licenses.ofl; }; } diff --git a/pkgs/by-name/te/tenki/package.nix b/pkgs/by-name/te/tenki/package.nix index ccf3757bdb373..9832e910d0785 100644 --- a/pkgs/by-name/te/tenki/package.nix +++ b/pkgs/by-name/te/tenki/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "tenki"; diff --git a/pkgs/by-name/te/tennix/package.nix b/pkgs/by-name/te/tennix/package.nix index 3968751886ba3..5868950e7471a 100644 --- a/pkgs/by-name/te/tennix/package.nix +++ b/pkgs/by-name/te/tennix/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchgit, which, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_net, python3 } : +{ + lib, + stdenv, + fetchgit, + which, + SDL, + SDL_mixer, + SDL_image, + SDL_ttf, + SDL_net, + python3, +}: stdenv.mkDerivation rec { pname = "tennix"; @@ -12,7 +23,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ which ]; - buildInputs = [ python3 SDL SDL_mixer SDL_image SDL_ttf SDL_net ]; + buildInputs = [ + python3 + SDL + SDL_mixer + SDL_image + SDL_ttf + SDL_net + ]; configurePhase = '' ./configure --prefix $out diff --git a/pkgs/by-name/te/tensorman/package.nix b/pkgs/by-name/te/tensorman/package.nix index b6f11d190c105..03e372ac0b0d6 100644 --- a/pkgs/by-name/te/tensorman/package.nix +++ b/pkgs/by-name/te/tensorman/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix index 8e76ac0c24080..29c4012a70c90 100644 --- a/pkgs/by-name/te/tenv/package.nix +++ b/pkgs/by-name/te/tenv/package.nix @@ -1,4 +1,12 @@ -{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles, lib, tenv, testers }: +{ + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + tenv, + testers, +}: buildGoModule rec { pname = "tenv"; @@ -17,7 +25,8 @@ buildGoModule rec { doCheck = false; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.version=v${version}" ]; @@ -41,6 +50,10 @@ buildGoModule rec { description = "OpenTofu, Terraform, Terragrunt and Atmos version manager written in Go"; homepage = "https://tofuutils.github.io/tenv"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ rmgpinto nmishin kvendingoldo ]; + maintainers = with lib.maintainers; [ + rmgpinto + nmishin + kvendingoldo + ]; }; } diff --git a/pkgs/by-name/te/tera-cli/package.nix b/pkgs/by-name/te/tera-cli/package.nix index bafe597a24f5c..8c90c78113068 100644 --- a/pkgs/by-name/te/tera-cli/package.nix +++ b/pkgs/by-name/te/tera-cli/package.nix @@ -1,7 +1,7 @@ { lib, fetchFromGitHub, - rustPlatform + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "tera-cli"; @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { description = "Command line utility to render templates from json|toml|yaml and ENV, using the tera templating engine"; homepage = "https://github.com/chevdor/tera-cli"; license = licenses.mit; - maintainers = with maintainers; [_365tuwe]; + maintainers = with maintainers; [ _365tuwe ]; mainProgram = "tera"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/te/tere/package.nix b/pkgs/by-name/te/tere/package.nix index cadf6ec596353..a0af183e197f1 100644 --- a/pkgs/by-name/te/tere/package.nix +++ b/pkgs/by-name/te/tere/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, rustPlatform, ncurses, stdenv, python3 }: +{ + lib, + fetchFromGitHub, + rustPlatform, + ncurses, + stdenv, + python3, +}: rustPlatform.buildRustPackage { pname = "tere"; @@ -29,7 +36,7 @@ rustPlatform.buildRustPackage { # See https://github.com/NixOS/nixpkgs/issues/145726#issuecomment-971331986 preBuild = let - python-with-toml = python3.withPackages (ps: [ps.toml]); + python-with-toml = python3.withPackages (ps: [ ps.toml ]); script = builtins.toFile "clear_linkers.py" '' from os import path import toml @@ -47,7 +54,7 @@ rustPlatform.buildRustPackage { exit(1) ''; in - "${python-with-toml}/bin/python3 ${script}"; + "${python-with-toml}/bin/python3 ${script}"; meta = with lib; { description = "Faster alternative to cd + ls"; diff --git a/pkgs/by-name/te/termbook/package.nix b/pkgs/by-name/te/termbook/package.nix index 7172de5e41d7f..d6b450f6b7de0 100644 --- a/pkgs/by-name/te/termbook/package.nix +++ b/pkgs/by-name/te/termbook/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, oniguruma -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + oniguruma, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,11 +29,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - oniguruma - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + oniguruma + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; env = { RUSTONIG_SYSTEM_LIBONIG = true; diff --git a/pkgs/by-name/te/termbox/package.nix b/pkgs/by-name/te/termbox/package.nix index 22657cd663a2e..f0f797b75f54b 100644 --- a/pkgs/by-name/te/termbox/package.nix +++ b/pkgs/by-name/te/termbox/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation (finalAttrs: { pname = "termbox"; diff --git a/pkgs/by-name/te/termcap/package.nix b/pkgs/by-name/te/termcap/package.nix index 9a91ead85985f..a0cf6eaadeb67 100644 --- a/pkgs/by-name/te/termcap/package.nix +++ b/pkgs/by-name/te/termcap/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; enableParallelBuilding = true; @@ -36,26 +40,34 @@ stdenv.mkDerivation rec { "AR=${stdenv.cc.targetPrefix}ar" ]; - env.NIX_CFLAGS_COMPILE = toString ([ - "-DSTDC_HEADERS" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-DSTDC_HEADERS" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-implicit-function-declaration" + ] + ); # Library only statically links by default - postInstall = lib.optionalString (!enableStatic) '' - rm $out/lib/libtermcap.a - '' + lib.optionalString enableShared (let - libName = "libtermcap${stdenv.hostPlatform.extensions.sharedLibrary}"; - impLibName = "libtermcap.dll.a"; - winImpLib = lib.optionalString stdenv.hostPlatform.isWindows - "-Wl,--out-implib,${impLibName}"; - in '' - ${stdenv.cc.targetPrefix}cc -shared -o ${libName} termcap.o tparam.o version.o ${winImpLib} - install -Dm644 ${libName} $out/lib - '' + lib.optionalString stdenv.hostPlatform.isWindows '' - install -Dm644 ${impLibName} $out/lib - ''); + postInstall = + lib.optionalString (!enableStatic) '' + rm $out/lib/libtermcap.a + '' + + lib.optionalString enableShared ( + let + libName = "libtermcap${stdenv.hostPlatform.extensions.sharedLibrary}"; + impLibName = "libtermcap.dll.a"; + winImpLib = lib.optionalString stdenv.hostPlatform.isWindows "-Wl,--out-implib,${impLibName}"; + in + '' + ${stdenv.cc.targetPrefix}cc -shared -o ${libName} termcap.o tparam.o version.o ${winImpLib} + install -Dm644 ${libName} $out/lib + '' + + lib.optionalString stdenv.hostPlatform.isWindows '' + install -Dm644 ${impLibName} $out/lib + '' + ); meta = { description = "Terminal feature database"; diff --git a/pkgs/by-name/te/termcolor/package.nix b/pkgs/by-name/te/termcolor/package.nix index f29776226dc29..6741ffdb44704 100644 --- a/pkgs/by-name/te/termcolor/package.nix +++ b/pkgs/by-name/te/termcolor/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/te/termdbms/package.nix b/pkgs/by-name/te/termdbms/package.nix index 06521cde30a91..342781555a54f 100644 --- a/pkgs/by-name/te/termdbms/package.nix +++ b/pkgs/by-name/te/termdbms/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "termdbms"; @@ -15,7 +19,11 @@ buildGoModule rec { patches = [ ./viewer.patch ]; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { homepage = "https://github.com/mathaou/termdbms/"; diff --git a/pkgs/by-name/te/termimage/package.nix b/pkgs/by-name/te/termimage/package.nix index 3703d5a993e5a..1b13e33866ec2 100644 --- a/pkgs/by-name/te/termimage/package.nix +++ b/pkgs/by-name/te/termimage/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, installShellFiles -, ronn +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + ronn, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/te/terminal-colors/package.nix b/pkgs/by-name/te/terminal-colors/package.nix index fc196be625e5b..332e22a195dc9 100644 --- a/pkgs/by-name/te/terminal-colors/package.nix +++ b/pkgs/by-name/te/terminal-colors/package.nix @@ -1,9 +1,18 @@ -{ stdenv, lib, help2man, python3, fetchFromGitHub }: +{ + stdenv, + lib, + help2man, + python3, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "terminal-colors"; version = "3.0.2"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "eikenb"; diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index e2bd8dd2f9c56..60853bfc40986 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -1,4 +1,9 @@ -{ stdenv, runtimeShell, lib, fetchzip }: +{ + stdenv, + runtimeShell, + lib, + fetchzip, +}: stdenv.mkDerivation rec { pname = "terminal-notifier"; @@ -29,6 +34,6 @@ stdenv.mkDerivation rec { maintainers = [ ]; homepage = "https://github.com/julienXX/terminal-notifier"; license = licenses.mit; - platforms = platforms.darwin; + platforms = platforms.darwin; }; } diff --git a/pkgs/by-name/te/terminal-parrot/package.nix b/pkgs/by-name/te/terminal-parrot/package.nix index 3d114302031ab..f3e7cec81db3e 100644 --- a/pkgs/by-name/te/terminal-parrot/package.nix +++ b/pkgs/by-name/te/terminal-parrot/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "terminal-parrot"; diff --git a/pkgs/by-name/te/terminal-stocks/package.nix b/pkgs/by-name/te/terminal-stocks/package.nix index 381bed4033153..74932e87cad8b 100644 --- a/pkgs/by-name/te/terminal-stocks/package.nix +++ b/pkgs/by-name/te/terminal-stocks/package.nix @@ -1,4 +1,9 @@ -{ lib, buildNpmPackage, fetchFromGitHub, nix-update-script }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nix-update-script, +}: buildNpmPackage rec { pname = "terminal-stocks"; @@ -14,7 +19,7 @@ buildNpmPackage rec { npmDepsHash = "sha256-0k2+vdfOUF0zV6Tl7VGXS2dNLnCHgSdI12LqvGkbv+k="; dontNpmBuild = true; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Terminal based application that provides stock price information"; diff --git a/pkgs/by-name/te/terminator/package.nix b/pkgs/by-name/te/terminator/package.nix index 01047f26bc634..e37ceaf8b5ef6 100644 --- a/pkgs/by-name/te/terminator/package.nix +++ b/pkgs/by-name/te/terminator/package.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, python3 -, keybinder3 -, intltool -, file -, gtk3 -, gobject-introspection -, libnotify -, makeBinaryWrapper -, wrapGAppsHook3 -, vte -, nixosTests +{ + lib, + fetchFromGitHub, + python3, + keybinder3, + intltool, + file, + gtk3, + gobject-introspection, + libnotify, + makeBinaryWrapper, + wrapGAppsHook3, + vte, + nixosTests, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/te/terminus_font/package.nix b/pkgs/by-name/te/terminus_font/package.nix index 760993dcd8cf2..9727a61e835bb 100644 --- a/pkgs/by-name/te/terminus_font/package.nix +++ b/pkgs/by-name/te/terminus_font/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, python3 -, bdftopcf, xorg +{ + lib, + stdenv, + fetchurl, + python3, + bdftopcf, + xorg, }: stdenv.mkDerivation rec { @@ -13,8 +18,11 @@ stdenv.mkDerivation rec { patches = [ ./SOURCE_DATE_EPOCH-for-otb.patch ]; - nativeBuildInputs = - [ python3 bdftopcf xorg.mkfontscale ]; + nativeBuildInputs = [ + python3 + bdftopcf + xorg.mkfontscale + ]; enableParallelBuilding = true; @@ -23,7 +31,11 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace 'gzip' 'gzip -n' ''; - installTargets = [ "install" "install-otb" "fontdir" ]; + installTargets = [ + "install" + "install-otb" + "fontdir" + ]; # fontdir depends on the previous two targets, but this is not known # to make, so we need to disable parallelism: enableParallelInstalling = false; diff --git a/pkgs/by-name/te/terminus_font_ttf/package.nix b/pkgs/by-name/te/terminus_font_ttf/package.nix index 6591fa0d32d0a..a68c7952c1142 100644 --- a/pkgs/by-name/te/terminus_font_ttf/package.nix +++ b/pkgs/by-name/te/terminus_font_ttf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "terminus-font-ttf"; diff --git a/pkgs/by-name/te/termonad/package.nix b/pkgs/by-name/te/termonad/package.nix index efddfa4546680..482ab2d3c4f26 100644 --- a/pkgs/by-name/te/termonad/package.nix +++ b/pkgs/by-name/te/termonad/package.nix @@ -1,8 +1,15 @@ -{ stdenv, haskellPackages, makeWrapper, packages ? (pkgSet: []), nixosTests }: +{ + stdenv, + haskellPackages, + makeWrapper, + packages ? (pkgSet: [ ]), + nixosTests, +}: let termonadEnv = haskellPackages.ghcWithPackages (self: [ self.termonad ] ++ packages self); -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "termonad-with-packages"; inherit (termonadEnv) version; diff --git a/pkgs/by-name/te/termplay/package.nix b/pkgs/by-name/te/termplay/package.nix index dccf9d38fe6a2..79fcd6f03687b 100644 --- a/pkgs/by-name/te/termplay/package.nix +++ b/pkgs/by-name/te/termplay/package.nix @@ -1,4 +1,11 @@ -{ rustPlatform, fetchFromGitLab, lib, makeWrapper, gst_all_1, libsixel }: +{ + rustPlatform, + fetchFromGitLab, + lib, + makeWrapper, + gst_all_1, + libsixel, +}: rustPlatform.buildRustPackage rec { pname = "termplay"; diff --git a/pkgs/by-name/te/termshark/package.nix b/pkgs/by-name/te/termshark/package.nix index 5535ca550b81d..4e8439fa03292 100644 --- a/pkgs/by-name/te/termshark/package.nix +++ b/pkgs/by-name/te/termshark/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, makeWrapper, buildGoModule, wireshark-cli }: +{ + lib, + fetchFromGitHub, + makeWrapper, + buildGoModule, + wireshark-cli, +}: buildGoModule rec { pname = "termshark"; diff --git a/pkgs/by-name/te/termshot/package.nix b/pkgs/by-name/te/termshot/package.nix index 7ef65ba90e30b..d3e580ae3244c 100644 --- a/pkgs/by-name/te/termshot/package.nix +++ b/pkgs/by-name/te/termshot/package.nix @@ -16,7 +16,7 @@ buildGoModule rec { vendorHash = "sha256-JweKjKvShiimFHQwRtoVuongWqqGIPcPz77qEVNec+M="; - patches = [./go-mod.patch]; + patches = [ ./go-mod.patch ]; ldflags = [ "-s" @@ -28,7 +28,7 @@ buildGoModule rec { description = "Creates screenshots based on terminal command output"; homepage = "https://github.com/homeport/termshot"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [defelo]; + maintainers = with lib.maintainers; [ defelo ]; mainProgram = "termshot"; }; } diff --git a/pkgs/by-name/te/termsonic/package.nix b/pkgs/by-name/te/termsonic/package.nix index a91433762f60d..7d898ae942170 100644 --- a/pkgs/by-name/te/termsonic/package.nix +++ b/pkgs/by-name/te/termsonic/package.nix @@ -3,7 +3,7 @@ buildGoModule, fetchzip, pkg-config, - alsa-lib + alsa-lib, }: buildGoModule rec { name = "termsonic"; diff --git a/pkgs/by-name/te/termsyn/package.nix b/pkgs/by-name/te/termsyn/package.nix index 50450a04e2d8c..5ab5b9b2907a2 100644 --- a/pkgs/by-name/te/termsyn/package.nix +++ b/pkgs/by-name/te/termsyn/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, mkfontscale }: +{ + lib, + stdenv, + fetchurl, + mkfontscale, +}: stdenv.mkDerivation rec { pname = "termsyn"; diff --git a/pkgs/by-name/te/termtekst/package.nix b/pkgs/by-name/te/termtekst/package.nix index 76aa0c79832b0..09b13dd744593 100644 --- a/pkgs/by-name/te/termtekst/package.nix +++ b/pkgs/by-name/te/termtekst/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, ncurses }: +{ + lib, + fetchFromGitHub, + python3Packages, + ncurses, +}: python3Packages.buildPythonApplication rec { pname = "termtekst"; @@ -11,14 +16,17 @@ python3Packages.buildPythonApplication rec { sha256 = "1gm7j5d49a60wm7px82b76f610i8pl8ccz4r6qsz90z4mp3lyw9b"; }; - propagatedBuildInputs = with python3Packages; [ ncurses requests ]; + propagatedBuildInputs = with python3Packages; [ + ncurses + requests + ]; patchPhase = '' substituteInPlace setup.py \ --replace "assert" "assert 1==1 #" substituteInPlace src/tt \ --replace "locale.setlocale" "#locale.setlocale" - ''; + ''; meta = with lib; { description = "Console NOS Teletekst viewer in Python"; diff --git a/pkgs/by-name/te/termtosvg/package.nix b/pkgs/by-name/te/termtosvg/package.nix index 2de15e155c584..8904dc581a14c 100644 --- a/pkgs/by-name/te/termtosvg/package.nix +++ b/pkgs/by-name/te/termtosvg/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "termtosvg"; @@ -9,7 +13,11 @@ python3Packages.buildPythonApplication rec { sha256 = "1vk5kn8w3zf2ymi76l8cpwmvvavkmh3b9lb18xw3x1vzbmhz2f7d"; }; - propagatedBuildInputs = with python3Packages; [ lxml pyte wcwidth ]; + propagatedBuildInputs = with python3Packages; [ + lxml + pyte + wcwidth + ]; meta = with lib; { homepage = "https://nbedos.github.io/termtosvg/"; diff --git a/pkgs/by-name/te/ternimal/package.nix b/pkgs/by-name/te/ternimal/package.nix index 31f796f1ae600..726d6638864a9 100644 --- a/pkgs/by-name/te/ternimal/package.nix +++ b/pkgs/by-name/te/ternimal/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustc +{ + lib, + stdenv, + fetchFromGitHub, + rustc, }: stdenv.mkDerivation { pname = "ternimal"; diff --git a/pkgs/by-name/te/terra-station/package.nix b/pkgs/by-name/te/terra-station/package.nix index fe96eebecc1fd..7cfc3a97e3d9b 100644 --- a/pkgs/by-name/te/terra-station/package.nix +++ b/pkgs/by-name/te/terra-station/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchurl -, dpkg -, makeWrapper -, electron -, asar +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + electron, + asar, }: let @@ -11,13 +13,17 @@ let throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; - sha256 = { - "x86_64-linux" = "139nlr191bsinx6ixpi2glcr03lsnzq7b0438h3245napsnjpx6p"; - }."${system}" or throwSystem; + sha256 = + { + "x86_64-linux" = "139nlr191bsinx6ixpi2glcr03lsnzq7b0438h3245napsnjpx6p"; + } + ."${system}" or throwSystem; - arch = { - "x86_64-linux" = "amd64"; - }."${system}" or throwSystem; + arch = + { + "x86_64-linux" = "amd64"; + } + ."${system}" or throwSystem; in @@ -30,7 +36,11 @@ stdenv.mkDerivation rec { inherit sha256; }; - nativeBuildInputs = [ makeWrapper asar dpkg ]; + nativeBuildInputs = [ + makeWrapper + asar + dpkg + ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/by-name/te/terracognita/package.nix b/pkgs/by-name/te/terracognita/package.nix index 1084fd9b06b08..f5afcc70ef02e 100644 --- a/pkgs/by-name/te/terracognita/package.nix +++ b/pkgs/by-name/te/terracognita/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "terracognita"; @@ -17,7 +21,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X github.com/cycloidio/terracognita/cmd.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/cycloidio/terracognita/cmd.Version=${version}" + ]; meta = with lib; { description = "Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration"; diff --git a/pkgs/by-name/te/terraform-backend-git/package.nix b/pkgs/by-name/te/terraform-backend-git/package.nix index 1c96250f991ce..cba0fd94eacaf 100644 --- a/pkgs/by-name/te/terraform-backend-git/package.nix +++ b/pkgs/by-name/te/terraform-backend-git/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/te/terraform-compliance/package.nix b/pkgs/by-name/te/terraform-compliance/package.nix index 1eba12ac52931..bb1258ad8a6e2 100644 --- a/pkgs/by-name/te/terraform-compliance/package.nix +++ b/pkgs/by-name/te/terraform-compliance/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -56,6 +57,9 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/terraform-compliance/cli"; changelog = "https://github.com/terraform-compliance/cli/releases/tag/${version}"; license = licenses.mit; - maintainers = with maintainers; [ kalbasit kashw2 ]; + maintainers = with maintainers; [ + kalbasit + kashw2 + ]; }; } diff --git a/pkgs/by-name/te/terraform-inventory/package.nix b/pkgs/by-name/te/terraform-inventory/package.nix index 56763aca06793..aeec2b66e1f57 100644 --- a/pkgs/by-name/te/terraform-inventory/package.nix +++ b/pkgs/by-name/te/terraform-inventory/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, terraform-inventory }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + terraform-inventory, +}: buildGoModule rec { pname = "terraform-inventory"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-pj9XLzaGU1PuNnpTL/7XaKJZUymX+i8hFMroZtHIqTc="; - ldflags = [ "-s" "-w" "-X main.build_version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.build_version=${version}" + ]; doCheck = false; diff --git a/pkgs/by-name/te/terraform-ls/package.nix b/pkgs/by-name/te/terraform-ls/package.nix index a1e2b69004607..1210d33d915ad 100644 --- a/pkgs/by-name/te/terraform-ls/package.nix +++ b/pkgs/by-name/te/terraform-ls/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "terraform-ls"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-JW8qs2ZjH+S8zdEh8/da0SptooE3iTS6JqoIUh20R2Y="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # There's a mixture of tests that use networking and several that fail on aarch64 doCheck = false; @@ -32,6 +39,9 @@ buildGoModule rec { homepage = "https://github.com/hashicorp/terraform-ls"; changelog = "https://github.com/hashicorp/terraform-ls/blob/v${version}/CHANGELOG.md"; license = licenses.mpl20; - maintainers = with maintainers; [ mbaillie jk ]; + maintainers = with maintainers; [ + mbaillie + jk + ]; }; } diff --git a/pkgs/by-name/te/terraform-lsp/package.nix b/pkgs/by-name/te/terraform-lsp/package.nix index 35a503d8b0aad..385aca330aaa7 100644 --- a/pkgs/by-name/te/terraform-lsp/package.nix +++ b/pkgs/by-name/te/terraform-lsp/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,12 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" "-X main.Version=${version}" "-X main.GitCommit=${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + "-X main.GitCommit=${src.rev}" + ]; meta = with lib; { description = "Language Server Protocol for Terraform"; diff --git a/pkgs/by-name/te/terraform-plugin-docs/package.nix b/pkgs/by-name/te/terraform-plugin-docs/package.nix index 6911bd2f9c2f9..38780239d54b5 100644 --- a/pkgs/by-name/te/terraform-plugin-docs/package.nix +++ b/pkgs/by-name/te/terraform-plugin-docs/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, go -, testers -, terraform-plugin-docs -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + go, + testers, + terraform-plugin-docs, + nix-update-script, }: buildGoModule rec { diff --git a/pkgs/by-name/te/terraformer/package.nix b/pkgs/by-name/te/terraformer/package.nix index e38d753b46887..25d9083c861b4 100644 --- a/pkgs/by-name/te/terraformer/package.nix +++ b/pkgs/by-name/te/terraformer/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "terraformer"; diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix index ede6c2f25fbec..426d1d28f9610 100644 --- a/pkgs/by-name/te/terragrunt/package.nix +++ b/pkgs/by-name/te/terragrunt/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, go-mockery +{ + lib, + buildGoModule, + fetchFromGitHub, + go-mockery, }: buildGoModule rec { @@ -47,6 +48,10 @@ buildGoModule rec { description = "Thin wrapper for Terraform that supports locking for Terraform state and enforces best practices"; mainProgram = "terragrunt"; license = licenses.mit; - maintainers = with maintainers; [ jk qjoly kashw2 ]; + maintainers = with maintainers; [ + jk + qjoly + kashw2 + ]; }; } diff --git a/pkgs/by-name/te/terranix/package.nix b/pkgs/by-name/te/terranix/package.nix index e5b3222b9b0cb..65f1d715154c7 100644 --- a/pkgs/by-name/te/terranix/package.nix +++ b/pkgs/by-name/te/terranix/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, jq, nix, makeWrapper }: +{ + stdenv, + lib, + fetchFromGitHub, + jq, + nix, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "terranix"; @@ -18,7 +25,12 @@ stdenv.mkDerivation rec { mv bin core modules lib share $out/ wrapProgram $out/bin/terranix-doc-json \ - --prefix PATH : ${lib.makeBinPath [ jq nix ]} + --prefix PATH : ${ + lib.makeBinPath [ + jq + nix + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/te/terrapin-scanner/package.nix b/pkgs/by-name/te/terrapin-scanner/package.nix index 2bf04dc676de7..407bab022e7ef 100644 --- a/pkgs/by-name/te/terrapin-scanner/package.nix +++ b/pkgs/by-name/te/terrapin-scanner/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/te/terraria-server/package.nix b/pkgs/by-name/te/terraria-server/package.nix index c1e48f259d799..babfa76a6051c 100644 --- a/pkgs/by-name/te/terraria-server/package.nix +++ b/pkgs/by-name/te/terraria-server/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl - -, autoPatchelfHook -, unzip -, zlib +{ + lib, + stdenv, + fetchurl, + + autoPatchelfHook, + unzip, + zlib, }: stdenv.mkDerivation rec { @@ -17,8 +18,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-Mk+5s9OlkyTLXZYVT0+8Qcjy2Sb5uy2hcC8CML0biNY="; }; - nativeBuildInputs = [ autoPatchelfHook unzip ]; - buildInputs = [ stdenv.cc.cc.libgcc zlib ]; + nativeBuildInputs = [ + autoPatchelfHook + unzip + ]; + buildInputs = [ + stdenv.cc.cc.libgcc + zlib + ]; installPhase = '' runHook preInstall @@ -37,6 +44,9 @@ stdenv.mkDerivation rec { platforms = [ "x86_64-linux" ]; license = licenses.unfree; mainProgram = "TerrariaServer"; - maintainers = with maintainers; [ ncfavier tomasajt ]; + maintainers = with maintainers; [ + ncfavier + tomasajt + ]; }; } diff --git a/pkgs/by-name/te/terrascan/package.nix b/pkgs/by-name/te/terrascan/package.nix index 416e3cf1fdf5a..049138676f449 100644 --- a/pkgs/by-name/te/terrascan/package.nix +++ b/pkgs/by-name/te/terrascan/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/te/tes3cmd/package.nix b/pkgs/by-name/te/tes3cmd/package.nix index 18fa0edc43683..2c7b244cb8ff4 100644 --- a/pkgs/by-name/te/tes3cmd/package.nix +++ b/pkgs/by-name/te/tes3cmd/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, perlPackages, fetchFromGitHub }: +{ + stdenv, + lib, + perlPackages, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "tes3cmd"; diff --git a/pkgs/by-name/te/teseq/package.nix b/pkgs/by-name/te/teseq/package.nix index c07cc39f84ef7..9416940092eb5 100644 --- a/pkgs/by-name/te/teseq/package.nix +++ b/pkgs/by-name/te/teseq/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let version = "1.1.1"; diff --git a/pkgs/by-name/te/tesh/package.nix b/pkgs/by-name/te/tesh/package.nix index 13284d8e0db46..0e1ff3a788e3e 100644 --- a/pkgs/by-name/te/tesh/package.nix +++ b/pkgs/by-name/te/tesh/package.nix @@ -2,7 +2,8 @@ let version = "0.3.2"; -in python3Packages.buildPythonPackage rec { +in +python3Packages.buildPythonPackage rec { pname = "tesh"; inherit version; @@ -17,5 +18,9 @@ in python3Packages.buildPythonPackage rec { checkInputs = [ python3Packages.pytest ]; nativeBuildInputs = [ python3Packages.poetry-core ]; - propagatedBuildInputs = with python3Packages; [ click pexpect distutils ]; + propagatedBuildInputs = with python3Packages; [ + click + pexpect + distutils + ]; } diff --git a/pkgs/by-name/te/tessen/package.nix b/pkgs/by-name/te/tessen/package.nix index 961c86753d765..21c22f3a2cc0d 100644 --- a/pkgs/by-name/te/tessen/package.nix +++ b/pkgs/by-name/te/tessen/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenvNoCC -, fetchFromSourcehut -, makeWrapper -, installShellFiles -, wtype -, wl-clipboard -, pass -, bemenu -, scdoc +{ + lib, + stdenvNoCC, + fetchFromSourcehut, + makeWrapper, + installShellFiles, + wtype, + wl-clipboard, + pass, + bemenu, + scdoc, }: stdenvNoCC.mkDerivation rec { @@ -16,19 +17,30 @@ stdenvNoCC.mkDerivation rec { src = fetchFromSourcehut { owner = "~ayushnix"; - repo = pname; + repo = pname; rev = "v${version}"; - sha256 = "sha256-mVGsI1JBG7X8J7gqocdfxWuTVSZpxS23QPGHCUofvV8="; + sha256 = "sha256-mVGsI1JBG7X8J7gqocdfxWuTVSZpxS23QPGHCUofvV8="; }; - nativeBuildInputs = [ makeWrapper installShellFiles scdoc ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + scdoc + ]; dontBuild = true; installPhase = '' runHook preInstall install -D tessen $out/bin/tessen - wrapProgram $out/bin/tessen --prefix PATH : ${ lib.makeBinPath [ bemenu pass wtype wl-clipboard ] } + wrapProgram $out/bin/tessen --prefix PATH : ${ + lib.makeBinPath [ + bemenu + pass + wtype + wl-clipboard + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/te/tessera/package.nix b/pkgs/by-name/te/tessera/package.nix index 03bd6734a9a59..77a5bff8c88b7 100644 --- a/pkgs/by-name/te/tessera/package.nix +++ b/pkgs/by-name/te/tessera/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "tessera"; diff --git a/pkgs/by-name/te/test-drive/package.nix b/pkgs/by-name/te/test-drive/package.nix index 41fc83844287e..5737fd3136549 100644 --- a/pkgs/by-name/te/test-drive/package.nix +++ b/pkgs/by-name/te/test-drive/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, gfortran, meson, ninja, mesonEmulatorHook }: +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + meson, + ninja, + mesonEmulatorHook, +}: stdenv.mkDerivation rec { pname = "test-drive"; @@ -11,20 +19,25 @@ stdenv.mkDerivation rec { hash = "sha256-xRx8ErIN9xjxZt/nEsdIQkIGFRltuELdlI8lXA+M030="; }; - nativeBuildInputs = [ - gfortran - meson - ninja - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + gfortran + meson + ninja + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; mesonAutoFeatures = "auto"; meta = with lib; { description = "Procedural Fortran testing framework"; homepage = "https://github.com/fortran-lang/test-drive"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; }; diff --git a/pkgs/by-name/te/testssl/package.nix b/pkgs/by-name/te/testssl/package.nix index 678262243e2ae..26197d6df2a6d 100644 --- a/pkgs/by-name/te/testssl/package.nix +++ b/pkgs/by-name/te/testssl/package.nix @@ -1,5 +1,15 @@ -{ stdenv, fetchFromGitHub, makeWrapper, lib -, dnsutils, coreutils, openssl, nettools, util-linux, procps }: +{ + stdenv, + fetchFromGitHub, + makeWrapper, + lib, + dnsutils, + coreutils, + openssl, + nettools, + util-linux, + procps, +}: stdenv.mkDerivation rec { pname = "testssl.sh"; @@ -15,10 +25,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ coreutils # for printf - dnsutils # for dig - nettools # for hostname - openssl # for openssl - procps # for ps + dnsutils # for dig + nettools # for hostname + openssl # for openssl + procps # for ps util-linux # for hexdump ]; diff --git a/pkgs/by-name/te/tet/package.nix b/pkgs/by-name/te/tet/package.nix index 45f1af60ecf96..017e57547d72d 100644 --- a/pkgs/by-name/te/tet/package.nix +++ b/pkgs/by-name/te/tet/package.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv }: +{ + fetchurl, + lib, + stdenv, +}: stdenv.mkDerivation ({ version = "3.8"; @@ -6,7 +10,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "http://tetworks.opengroup.org/downloads/38/software/Sources/3.8/tet3.8-src.tar.gz"; - sha256 = "1j57hv56df38w249l595b8rsgmsyvjkbysai03a9724gax5jl9av" ; + sha256 = "1j57hv56df38w249l595b8rsgmsyvjkbysai03a9724gax5jl9av"; }; patchPhase = "chmod +x configure"; diff --git a/pkgs/by-name/te/tetragon/package.nix b/pkgs/by-name/te/tetragon/package.nix index 26c687372865d..018c8c4f3fcd9 100644 --- a/pkgs/by-name/te/tetragon/package.nix +++ b/pkgs/by-name/te/tetragon/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, go -, llvm_16 -, clang_16 -, bash +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + go, + llvm_16, + clang_16, + bash, }: stdenv.mkDerivation (finalAttrs: { @@ -62,13 +63,12 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = "Real-time, eBPF-based Security Observability and Runtime Enforcement tool"; - homepage = "https://github.com/cilium/tetragon"; - license = licenses.asl20; - mainProgram = "tetragon"; - maintainers = with maintainers; [ gangaram ]; - platforms = platforms.linux; + description = "Real-time, eBPF-based Security Observability and Runtime Enforcement tool"; + homepage = "https://github.com/cilium/tetragon"; + license = licenses.asl20; + mainProgram = "tetragon"; + maintainers = with maintainers; [ gangaram ]; + platforms = platforms.linux; sourceProvenance = with sourceTypes; [ fromSource ]; }; }) - diff --git a/pkgs/by-name/te/tetraproc/package.nix b/pkgs/by-name/te/tetraproc/package.nix index 2c15d1e205dbc..915954bea5770 100644 --- a/pkgs/by-name/te/tetraproc/package.nix +++ b/pkgs/by-name/te/tetraproc/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchurl, makeWrapper -, expat, fftwFloat, fontconfig, freetype, libjack2, jack2, libclthreads, libclxclient -, libsndfile, libxcb, xorg +{ + lib, + stdenv, + fetchurl, + makeWrapper, + expat, + fftwFloat, + fontconfig, + freetype, + libjack2, + jack2, + libclthreads, + libclxclient, + libsndfile, + libxcb, + xorg, }: stdenv.mkDerivation rec { @@ -15,8 +28,20 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ - expat libjack2 libclthreads libclxclient fftwFloat fontconfig libsndfile freetype - libxcb xorg.libX11 xorg.libXau xorg.libXdmcp xorg.libXft xorg.libXrender + expat + libjack2 + libclthreads + libclxclient + fftwFloat + fontconfig + libsndfile + freetype + libxcb + xorg.libX11 + xorg.libXau + xorg.libXdmcp + xorg.libXft + xorg.libXrender ]; makeFlags = [ diff --git a/pkgs/by-name/te/tetrd/package.nix b/pkgs/by-name/te/tetrd/package.nix index a9ccf1d2774ff..29bf0141b5bfd 100644 --- a/pkgs/by-name/te/tetrd/package.nix +++ b/pkgs/by-name/te/tetrd/package.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, makeWrapper -, c-ares -, ffmpeg -, libevent -, libvpx -, libxslt -, xorg -, minizip -, nss -, re2 -, snappy -, libnotify -, libappindicator-gtk3 -, libappindicator -, udev -, mesa # required for libgbm +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + makeWrapper, + c-ares, + ffmpeg, + libevent, + libvpx, + libxslt, + xorg, + minizip, + nss, + re2, + snappy, + libnotify, + libappindicator-gtk3, + libappindicator, + udev, + mesa, # required for libgbm }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/te/tev/package.nix b/pkgs/by-name/te/tev/package.nix index 3f682ccbb6ee0..4fe472b6affcf 100644 --- a/pkgs/by-name/te/tev/package.nix +++ b/pkgs/by-name/te/tev/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, wrapGAppsHook3 -, libX11, libzip, glfw, libpng, xorg, zenity +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + wrapGAppsHook3, + libX11, + libzip, + glfw, + libpng, + xorg, + zenity, }: stdenv.mkDerivation rec { @@ -15,9 +24,25 @@ stdenv.mkDerivation rec { hash = "sha256-ke1T5nOrDoJilpfshAIAFWw/640Gm5OaxZ+ZakCevTs="; }; - nativeBuildInputs = [ cmake wrapGAppsHook3 ]; - buildInputs = [ libX11 libzip glfw libpng ] - ++ (with xorg; [ libXrandr libXinerama libXcursor libXi libXxf86vm libXext ]); + nativeBuildInputs = [ + cmake + wrapGAppsHook3 + ]; + buildInputs = + [ + libX11 + libzip + glfw + libpng + ] + ++ (with xorg; [ + libXrandr + libXinerama + libXcursor + libXi + libXxf86vm + libXext + ]); dontWrapGApps = true; # We also need zenity (see below) diff --git a/pkgs/by-name/te/tevent/package.nix b/pkgs/by-name/te/tevent/package.nix index c9f03ee0555f2..ef2a8dd47d3d0 100644 --- a/pkgs/by-name/te/tevent/package.nix +++ b/pkgs/by-name/te/tevent/package.nix @@ -1,17 +1,19 @@ -{ lib, stdenv -, fetchurl -, python3 -, pkg-config -, cmocka -, readline -, talloc -, libxslt -, docbook-xsl-nons -, docbook_xml_dtd_42 -, which -, wafHook -, buildPackages -, libxcrypt +{ + lib, + stdenv, + fetchurl, + python3, + pkg-config, + cmocka, + readline, + talloc, + libxslt, + docbook-xsl-nons, + docbook_xml_dtd_42, + which, + wafHook, + buildPackages, + libxcrypt, }: stdenv.mkDerivation rec { @@ -50,13 +52,15 @@ stdenv.mkDerivation rec { wafPath = "buildtools/bin/waf"; - wafConfigureFlags = [ - "--bundled-libraries=NONE" - "--builtin-libraries=replace" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--cross-compile" - "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" - ]; + wafConfigureFlags = + [ + "--bundled-libraries=NONE" + "--builtin-libraries=replace" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--cross-compile" + "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" + ]; # python-config from build Python gives incorrect values when cross-compiling. # If python-config is not found, the build falls back to using the sysconfig diff --git a/pkgs/by-name/te/tewi-font/package.nix b/pkgs/by-name/te/tewi-font/package.nix index d8906a2284dae..1a526edaf90de 100644 --- a/pkgs/by-name/te/tewi-font/package.nix +++ b/pkgs/by-name/te/tewi-font/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, python3 -, bdftopcf, xorg -, libfaketime, +{ + lib, + stdenv, + fetchFromGitHub, + python3, + bdftopcf, + xorg, + libfaketime, }: stdenv.mkDerivation rec { @@ -8,16 +13,19 @@ stdenv.mkDerivation rec { version = "2.0.2"; src = fetchFromGitHub { - owner = "lucy"; - repo = pname; - rev = version; + owner = "lucy"; + repo = pname; + rev = version; sha256 = "1axv9bv10xlcmgfyjh3z5kn5fkg3m6n1kskcs5hvlmyb6m1zk91j"; }; - nativeBuildInputs = - [ python3 bdftopcf xorg.mkfontscale - libfaketime xorg.fonttosfnt - ]; + nativeBuildInputs = [ + python3 + bdftopcf + xorg.mkfontscale + libfaketime + xorg.fonttosfnt + ]; postPatch = '' # make gzip deterministic diff --git a/pkgs/by-name/te/tewisay/package.nix b/pkgs/by-name/te/tewisay/package.nix index bcf77c2db2cf7..cf08d8f9c2b82 100644 --- a/pkgs/by-name/te/tewisay/package.nix +++ b/pkgs/by-name/te/tewisay/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + buildGoModule, + fetchFromGitHub, + unstableGitUpdater, }: buildGoModule rec { diff --git a/pkgs/by-name/te/texi2html/package.nix b/pkgs/by-name/te/texi2html/package.nix index 66609d8d17e18..5d3a09642116c 100644 --- a/pkgs/by-name/te/texi2html/package.nix +++ b/pkgs/by-name/te/texi2html/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, gettext, buildPackages }: +{ + lib, + stdenv, + fetchurl, + perl, + gettext, + buildPackages, +}: stdenv.mkDerivation rec { pname = "texi2html"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ gettext perl ]; + nativeBuildInputs = [ + gettext + perl + ]; buildInputs = [ perl ]; postPatch = '' diff --git a/pkgs/by-name/te/texi2mdoc/package.nix b/pkgs/by-name/te/texi2mdoc/package.nix index ed9617b0f3433..ba806fede6a44 100644 --- a/pkgs/by-name/te/texi2mdoc/package.nix +++ b/pkgs/by-name/te/texi2mdoc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "texi2mdoc"; diff --git a/pkgs/by-name/te/text-engine/package.nix b/pkgs/by-name/te/text-engine/package.nix index 120076a7e0d78..434cdbb783269 100644 --- a/pkgs/by-name/te/text-engine/package.nix +++ b/pkgs/by-name/te/text-engine/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, meson -, ninja -, json-glib -, gtk4 -, libxml2 -, gobject-introspection -, pkg-config -, libadwaita +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + json-glib, + gtk4, + libxml2, + gobject-introspection, + pkg-config, + libadwaita, }: stdenv.mkDerivation rec { @@ -30,15 +31,28 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ gobject-introspection gtk4 meson ninja pkg-config ]; + nativeBuildInputs = [ + gobject-introspection + gtk4 + meson + ninja + pkg-config + ]; - buildInputs = [ libadwaita json-glib libxml2 ]; + buildInputs = [ + libadwaita + json-glib + libxml2 + ]; meta = with lib; { description = "Rich text framework for GTK"; mainProgram = "text-engine-demo"; homepage = "https://github.com/mjakeman/text-engine"; - license = with licenses; [ mpl20 lgpl21Plus ]; + license = with licenses; [ + mpl20 + lgpl21Plus + ]; maintainers = with maintainers; [ foo-dogsquared ]; }; } diff --git a/pkgs/by-name/te/textplots/package.nix b/pkgs/by-name/te/textplots/package.nix index 79787ec7e7d24..add6164cddd14 100644 --- a/pkgs/by-name/te/textplots/package.nix +++ b/pkgs/by-name/te/textplots/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "textplots"; diff --git a/pkgs/by-name/te/textql/package.nix b/pkgs/by-name/te/textql/package.nix index 182427c4b3176..5fd051922ed72 100644 --- a/pkgs/by-name/te/textql/package.nix +++ b/pkgs/by-name/te/textql/package.nix @@ -1,14 +1,20 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, sqlite }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + sqlite, +}: buildGoModule rec { pname = "textql"; version = "unstable-2021-07-06"; src = fetchFromGitHub { - owner = "dinedal"; - repo = "textql"; - rev = "fca00ecc76c8d9891b195ad2c1359d39f0213604"; - hash = "sha256-NccRo5YdhwTo2eez5UE5nI3TEqzTL1rjPO1kKfDBNuw="; + owner = "dinedal"; + repo = "textql"; + rev = "fca00ecc76c8d9891b195ad2c1359d39f0213604"; + hash = "sha256-NccRo5YdhwTo2eez5UE5nI3TEqzTL1rjPO1kKfDBNuw="; }; patches = [ diff --git a/pkgs/by-name/te/textsnatcher/package.nix b/pkgs/by-name/te/textsnatcher/package.nix index 670c87faeba53..50f9670d641d9 100644 --- a/pkgs/by-name/te/textsnatcher/package.nix +++ b/pkgs/by-name/te/textsnatcher/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, vala -, wrapGAppsHook3 -, pkg-config -, pantheon -, libhandy -, libportal -, glib -, gtk3 -, desktop-file-utils -, scrot -, tesseract +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + vala, + wrapGAppsHook3, + pkg-config, + pantheon, + libhandy, + libportal, + glib, + gtk3, + desktop-file-utils, + scrot, + tesseract, }: stdenv.mkDerivation (finalAttrs: { @@ -46,7 +47,12 @@ stdenv.mkDerivation (finalAttrs: { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [ scrot tesseract ]} + --prefix PATH : ${ + lib.makeBinPath [ + scrot + tesseract + ] + } ) ''; diff --git a/pkgs/by-name/te/textual-paint/package.nix b/pkgs/by-name/te/textual-paint/package.nix index c59ac7b8140e5..a512c4e173b71 100644 --- a/pkgs/by-name/te/textual-paint/package.nix +++ b/pkgs/by-name/te/textual-paint/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchPypi -, fetchpatch +{ + lib, + python3, + fetchFromGitHub, + fetchPypi, + fetchpatch, }: let diff --git a/pkgs/by-name/te/texture-synthesis/package.nix b/pkgs/by-name/te/texture-synthesis/package.nix index cd7d437c4d416..d7ff4b6e401bf 100644 --- a/pkgs/by-name/te/texture-synthesis/package.nix +++ b/pkgs/by-name/te/texture-synthesis/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "texture-synthesis"; @@ -24,7 +29,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Example-based texture synthesis written in Rust"; homepage = "https://github.com/embarkstudios/texture-synthesis"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "texture-synthesis"; }; diff --git a/pkgs/by-name/te/tezos-rust-libs/package.nix b/pkgs/by-name/te/tezos-rust-libs/package.nix index 36923aa8026ec..2bbed03999a38 100644 --- a/pkgs/by-name/te/tezos-rust-libs/package.nix +++ b/pkgs/by-name/te/tezos-rust-libs/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitLab, stdenv, llvmPackages_12, cargo, libiconv }: +{ + lib, + fetchFromGitLab, + stdenv, + llvmPackages_12, + cargo, + libiconv, +}: stdenv.mkDerivation rec { version = "1.5"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-SuCqDZDXmWdGI/GN+3nYcUk66jnW5FQQaeTB76/rvaw="; }; - nativeBuildInputs = [ llvmPackages_12.llvm cargo ]; + nativeBuildInputs = [ + llvmPackages_12.llvm + cargo + ]; propagatedBuildInputs = [ llvmPackages_12.libllvm ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; diff --git a/pkgs/by-name/tf/tf-summarize/package.nix b/pkgs/by-name/tf/tf-summarize/package.nix index 16f7ab4946fdd..29da31f6e66b4 100644 --- a/pkgs/by-name/tf/tf-summarize/package.nix +++ b/pkgs/by-name/tf/tf-summarize/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, tf-summarize +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + tf-summarize, }: buildGoModule rec { diff --git a/pkgs/by-name/tf/tf2pulumi/package.nix b/pkgs/by-name/tf/tf2pulumi/package.nix index bc5c92a98f22c..37b1ac9bfe2e5 100644 --- a/pkgs/by-name/tf/tf2pulumi/package.nix +++ b/pkgs/by-name/tf/tf2pulumi/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tf2pulumi"; @@ -14,7 +18,9 @@ buildGoModule rec { vendorHash = "sha256-x7GAkbvhML2VUQ9/zitrTBBiy9lISb3iTx6yn5WbEig="; ldflags = [ - "-s" "-w" "-X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}" + "-s" + "-w" + "-X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}" ]; subPackages = [ "." ]; diff --git a/pkgs/by-name/tf/tfautomv/package.nix b/pkgs/by-name/tf/tfautomv/package.nix index efabad7ed89b0..97eb4ba2054af 100644 --- a/pkgs/by-name/tf/tfautomv/package.nix +++ b/pkgs/by-name/tf/tfautomv/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -19,7 +20,10 @@ buildGoModule rec { vendorHash = "sha256-BZ8IhVPxZTPQXBotFBrxV3dfwvst0te8R84I/urq3gY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/busser/tfautomv"; diff --git a/pkgs/by-name/tf/tfk8s/package.nix b/pkgs/by-name/tf/tfk8s/package.nix index a0bdefde16202..bbf820716b88d 100644 --- a/pkgs/by-name/tf/tfk8s/package.nix +++ b/pkgs/by-name/tf/tfk8s/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, callPackage }: +{ + lib, + buildGoModule, + fetchFromGitHub, + callPackage, +}: buildGoModule rec { pname = "tfk8s"; diff --git a/pkgs/by-name/tf/tfk8s/tests/sample1/default.nix b/pkgs/by-name/tf/tfk8s/tests/sample1/default.nix index 6b06dbf323409..e5edc22fa6e9f 100644 --- a/pkgs/by-name/tf/tfk8s/tests/sample1/default.nix +++ b/pkgs/by-name/tf/tfk8s/tests/sample1/default.nix @@ -1,6 +1,7 @@ { runCommandCC, tfk8s }: -runCommandCC "tfk8s-test-sample1" { +runCommandCC "tfk8s-test-sample1" + { buildInputs = [ tfk8s ]; diff --git a/pkgs/by-name/tf/tfswitch/package.nix b/pkgs/by-name/tf/tfswitch/package.nix index bb22343091547..5622d2c5b0d74 100644 --- a/pkgs/by-name/tf/tfswitch/package.nix +++ b/pkgs/by-name/tf/tfswitch/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ + buildGoModule, + lib, + fetchFromGitHub, +}: buildGoModule rec { pname = "tfswitch"; version = "1.2.4"; @@ -22,8 +26,7 @@ buildGoModule rec { ''; meta = with lib; { - description = - "A command line tool to switch between different versions of terraform"; + description = "A command line tool to switch between different versions of terraform"; mainProgram = "tfswitch"; homepage = "https://github.com/warrensbox/terraform-switcher"; license = licenses.mit; diff --git a/pkgs/by-name/tf/tftp-hpa/package.nix b/pkgs/by-name/tf/tftp-hpa/package.nix index 15fd047353270..f9946be7423ad 100644 --- a/pkgs/by-name/tf/tftp-hpa/package.nix +++ b/pkgs/by-name/tf/tftp-hpa/package.nix @@ -1,8 +1,12 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tftp-hpa"; - version="5.2"; + version = "5.2"; src = fetchurl { url = "mirror://kernel/software/network/tftp/tftp-hpa/${pname}-${version}.tar.xz"; sha256 = "12vidchglhyc20znq5wdsbhi9mqg90jnl7qr9qs8hbvaz4fkdvmg"; diff --git a/pkgs/by-name/tf/tfupdate/package.nix b/pkgs/by-name/tf/tfupdate/package.nix index e28cf36926149..098510b344fe2 100644 --- a/pkgs/by-name/tf/tfupdate/package.nix +++ b/pkgs/by-name/tf/tfupdate/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tfupdate"; @@ -23,6 +27,9 @@ buildGoModule rec { homepage = "https://github.com/minamijoyo/tfupdate"; changelog = "https://github.com/minamijoyo/tfupdate/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ Intuinewin qjoly ]; + maintainers = with maintainers; [ + Intuinewin + qjoly + ]; }; } diff --git a/pkgs/by-name/tg/tg-archive/package.nix b/pkgs/by-name/tg/tg-archive/package.nix index 4465fa35cbc75..0460e34108f34 100644 --- a/pkgs/by-name/tg/tg-archive/package.nix +++ b/pkgs/by-name/tg/tg-archive/package.nix @@ -1,13 +1,15 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: let pname = "tg-archive"; version = "1.1.3"; -in python3.pkgs.buildPythonApplication { +in +python3.pkgs.buildPythonApplication { inherit pname version; src = fetchFromGitHub { diff --git a/pkgs/by-name/tg/tgpt/package.nix b/pkgs/by-name/tg/tgpt/package.nix index 9c0e87a0562f1..59ac6f59c12b0 100644 --- a/pkgs/by-name/tg/tgpt/package.nix +++ b/pkgs/by-name/tg/tgpt/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/tg/tgswitch/package.nix b/pkgs/by-name/tg/tgswitch/package.nix index 6196eeeac8eda..bfa533b26815d 100644 --- a/pkgs/by-name/tg/tgswitch/package.nix +++ b/pkgs/by-name/tg/tgswitch/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ + buildGoModule, + lib, + fetchFromGitHub, +}: buildGoModule rec { pname = "tgswitch"; version = "0.6.0"; @@ -12,7 +16,10 @@ buildGoModule rec { vendorHash = "sha256-PlTdbA8Z2I2SWoG7oYG87VQfczx9zP1SCJx70UWOEog="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # There are many modifications need to be done to make tests run. For example: # 1. Network access @@ -27,4 +34,3 @@ buildGoModule rec { maintainers = with maintainers; [ psibi ]; }; } - diff --git a/pkgs/by-name/tg/tgt/package.nix b/pkgs/by-name/tg/tgt/package.nix index 1fcec8922048c..52c0ebc3324ba 100644 --- a/pkgs/by-name/tg/tgt/package.nix +++ b/pkgs/by-name/tg/tgt/package.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, libxslt, libaio, systemd, perl -, docbook_xsl, coreutils, lsof, makeWrapper, sg3_utils +{ + stdenv, + lib, + fetchFromGitHub, + libxslt, + libaio, + systemd, + perl, + docbook_xsl, + coreutils, + lsof, + makeWrapper, + sg3_utils, }: stdenv.mkDerivation rec { @@ -13,9 +24,16 @@ stdenv.mkDerivation rec { hash = "sha256-4zPTAdAXO8Km8a50ST3mdHW3RlKD1pmLACeFOY48lv0="; }; - nativeBuildInputs = [ libxslt docbook_xsl makeWrapper ]; + nativeBuildInputs = [ + libxslt + docbook_xsl + makeWrapper + ]; - buildInputs = [ systemd libaio ]; + buildInputs = [ + systemd + libaio + ]; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -47,7 +65,11 @@ stdenv.mkDerivation rec { substituteInPlace $out/sbin/tgt-admin \ --replace "#!/usr/bin/perl" "#! ${perl.withPackages (p: [ p.ConfigGeneral ])}/bin/perl" wrapProgram $out/sbin/tgt-admin --prefix PATH : \ - ${lib.makeBinPath [ lsof sg3_utils (placeholder "out") ]} + ${lib.makeBinPath [ + lsof + sg3_utils + (placeholder "out") + ]} install -D scripts/tgtd.service $out/etc/systemd/system/tgtd.service substituteInPlace $out/etc/systemd/system/tgtd.service \ diff --git a/pkgs/by-name/th/thc-hydra/package.nix b/pkgs/by-name/th/thc-hydra/package.nix index 412691d2b9403..57d059e0b75c7 100644 --- a/pkgs/by-name/th/thc-hydra/package.nix +++ b/pkgs/by-name/th/thc-hydra/package.nix @@ -1,5 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, zlib, openssl, ncurses, libidn, pcre, libssh, libmysqlclient, postgresql, samba -, withGUI ? false, makeWrapper, pkg-config, gtk2 }: +{ + stdenv, + lib, + fetchFromGitHub, + zlib, + openssl, + ncurses, + libidn, + pcre, + libssh, + libmysqlclient, + postgresql, + samba, + withGUI ? false, + makeWrapper, + pkg-config, + gtk2, +}: stdenv.mkDerivation rec { pname = "thc-hydra"; @@ -12,23 +28,37 @@ stdenv.mkDerivation rec { sha256 = "sha256-gdMxdFrBGVHA1ZBNFW89PBXwACnXTGJ/e/Z5+xVV5F0="; }; - postPatch = let - makeDirs = output: subDir: lib.concatStringsSep " " (map (path: lib.getOutput output path + "/" + subDir) buildInputs); - in '' - substituteInPlace configure \ - --replace-fail '$LIBDIRS' "${makeDirs "lib" "lib"}" \ - --replace-fail '$INCDIRS' "${makeDirs "dev" "include"}" \ - --replace-fail "/usr/include/math.h" "${lib.getDev stdenv.cc.libc}/include/math.h" \ - --replace-fail "libcurses.so" "libncurses.so" \ - --replace-fail "-lcurses" "-lncurses" - ''; + postPatch = + let + makeDirs = + output: subDir: + lib.concatStringsSep " " (map (path: lib.getOutput output path + "/" + subDir) buildInputs); + in + '' + substituteInPlace configure \ + --replace-fail '$LIBDIRS' "${makeDirs "lib" "lib"}" \ + --replace-fail '$INCDIRS' "${makeDirs "dev" "include"}" \ + --replace-fail "/usr/include/math.h" "${lib.getDev stdenv.cc.libc}/include/math.h" \ + --replace-fail "libcurses.so" "libncurses.so" \ + --replace-fail "-lcurses" "-lncurses" + ''; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-undef-prefix"; - nativeBuildInputs = lib.optionals withGUI [ pkg-config makeWrapper ]; + nativeBuildInputs = lib.optionals withGUI [ + pkg-config + makeWrapper + ]; buildInputs = [ - zlib openssl ncurses libidn pcre libssh libmysqlclient postgresql + zlib + openssl + ncurses + libidn + pcre + libssh + libmysqlclient + postgresql samba ] ++ lib.optional withGUI gtk2; diff --git a/pkgs/by-name/th/thc-ipv6/package.nix b/pkgs/by-name/th/thc-ipv6/package.nix index 6e7f4fb2891aa..c28e42efb7646 100644 --- a/pkgs/by-name/th/thc-ipv6/package.nix +++ b/pkgs/by-name/th/thc-ipv6/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libpcap, openssl, libnetfilter_queue, libnfnetlink }: +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + openssl, + libnetfilter_queue, + libnfnetlink, +}: stdenv.mkDerivation rec { pname = "thc-ipv6"; version = "3.8"; diff --git a/pkgs/by-name/th/thc-secure-delete/package.nix b/pkgs/by-name/th/thc-secure-delete/package.nix index 03539ffcb488e..b8555efe3b512 100644 --- a/pkgs/by-name/th/thc-secure-delete/package.nix +++ b/pkgs/by-name/th/thc-secure-delete/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-hvWuxFkzhOSCplPtyjRtn36bIk6KdPBcpr3lAmiAyfE="; }; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/th/thcrap-steam-proton-wrapper/package.nix b/pkgs/by-name/th/thcrap-steam-proton-wrapper/package.nix index e8f670f97ad06..ff1aa917abae1 100644 --- a/pkgs/by-name/th/thcrap-steam-proton-wrapper/package.nix +++ b/pkgs/by-name/th/thcrap-steam-proton-wrapper/package.nix @@ -1,11 +1,11 @@ { - lib - , stdenv - , fetchFromGitHub - , makeWrapper - , bash - , subversion - , zenity + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bash, + subversion, + zenity, }: stdenv.mkDerivation { pname = "thcrap-proton"; diff --git a/pkgs/by-name/th/the-legend-of-edgar/package.nix b/pkgs/by-name/th/the-legend-of-edgar/package.nix index 5ab2fd0858a67..a068cc6ea1fde 100644 --- a/pkgs/by-name/th/the-legend-of-edgar/package.nix +++ b/pkgs/by-name/th/the-legend-of-edgar/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, SDL2_image -, SDL2_mixer -, SDL2_ttf -, gettext -, libpng -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + gettext, + libpng, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/th/the-neue-black/package.nix b/pkgs/by-name/th/the-neue-black/package.nix index 3288925464fe3..3b1bfb589d45a 100644 --- a/pkgs/by-name/th/the-neue-black/package.nix +++ b/pkgs/by-name/th/the-neue-black/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchzip, stdenvNoCC }: +{ + lib, + fetchzip, + stdenvNoCC, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "the-neue-black"; diff --git a/pkgs/by-name/th/the-way/package.nix b/pkgs/by-name/th/the-way/package.nix index 2101512886fc3..e0c590296e356 100644 --- a/pkgs/by-name/th/the-way/package.nix +++ b/pkgs/by-name/th/the-way/package.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchCrate, installShellFiles, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "the-way"; @@ -33,6 +40,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/out-of-cheese-error/the-way"; changelog = "https://github.com/out-of-cheese-error/the-way/blob/v${version}/CHANGELOG.md"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ figsoda numkem ]; + maintainers = with maintainers; [ + figsoda + numkem + ]; }; } diff --git a/pkgs/by-name/th/theano/package.nix b/pkgs/by-name/th/theano/package.nix index 08f7c805eda4a..f3050f15c2606 100644 --- a/pkgs/by-name/th/theano/package.nix +++ b/pkgs/by-name/th/theano/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "theano"; @@ -24,7 +28,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { homepage = "https://github.com/akryukov/theano"; description = "Old-style font designed from historic samples"; - maintainers = with maintainers; [ raskin rycee ]; + maintainers = with maintainers; [ + raskin + rycee + ]; license = licenses.ofl; platforms = platforms.all; }; diff --git a/pkgs/by-name/th/thedesk/package.nix b/pkgs/by-name/th/thedesk/package.nix index 9a398494c429e..139bd4993ace4 100644 --- a/pkgs/by-name/th/thedesk/package.nix +++ b/pkgs/by-name/th/thedesk/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron -, alsa-lib, gtk3, libxshmfence, mesa, nss }: +{ + lib, + stdenv, + fetchurl, + dpkg, + autoPatchelfHook, + makeWrapper, + electron, + alsa-lib, + gtk3, + libxshmfence, + mesa, + nss, +}: stdenv.mkDerivation rec { pname = "thedesk"; @@ -16,7 +28,13 @@ stdenv.mkDerivation rec { makeWrapper ]; - buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ]; + buildInputs = [ + alsa-lib + gtk3 + libxshmfence + mesa + nss + ]; dontBuild = true; dontConfigure = true; diff --git a/pkgs/by-name/th/theforceengine/package.nix b/pkgs/by-name/th/theforceengine/package.nix index 4b66b253f9e0e..dc46c63c08008 100644 --- a/pkgs/by-name/th/theforceengine/package.nix +++ b/pkgs/by-name/th/theforceengine/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, SDL2_image -, rtaudio -, rtmidi -, glew -, alsa-lib -, cmake -, pkg-config -, zenity +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_image, + rtaudio, + rtmidi, + glew, + alsa-lib, + cmake, + pkg-config, + zenity, }: let # package depends on SDL2main static library diff --git a/pkgs/by-name/th/theft/package.nix b/pkgs/by-name/th/theft/package.nix index e053814dddd96..97c56847006a6 100644 --- a/pkgs/by-name/th/theft/package.nix +++ b/pkgs/by-name/th/theft/package.nix @@ -1,13 +1,17 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "0.4.5"; pname = "theft"; src = fetchFromGitHub { - owner = "silentbicycle"; - repo = "theft"; - rev = "v${version}"; + owner = "silentbicycle"; + repo = "theft"; + rev = "v${version}"; sha256 = "1n2mkawfl2bpd4pwy3mdzxwlqjjvb5bdrr2x2gldlyqdwbk7qjhd"; }; @@ -29,9 +33,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C library for property-based testing"; - homepage = "https://github.com/silentbicycle/theft/"; - platforms = platforms.unix; - license = licenses.isc; - maintainers = with maintainers; [ kquick thoughtpolice ]; + homepage = "https://github.com/silentbicycle/theft/"; + platforms = platforms.unix; + license = licenses.isc; + maintainers = with maintainers; [ + kquick + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/th/theharvester/package.nix b/pkgs/by-name/th/theharvester/package.nix index 180aa0fd2e766..e5978667fd0ea 100644 --- a/pkgs/by-name/th/theharvester/package.nix +++ b/pkgs/by-name/th/theharvester/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -52,7 +53,7 @@ python3.pkgs.buildPythonApplication rec { uvloop ]; - nativeCheckInputs = with python3.pkgs; [ + nativeCheckInputs = with python3.pkgs; [ pytest pytest-asyncio ]; @@ -75,7 +76,11 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/laramies/theHarvester"; changelog = "https://github.com/laramies/theHarvester/releases/tag/${version}"; license = licenses.gpl2Only; - maintainers = with maintainers; [ c0bw3b fab treemo ]; + maintainers = with maintainers; [ + c0bw3b + fab + treemo + ]; mainProgram = "theHarvester"; }; } diff --git a/pkgs/by-name/th/thelounge/package.nix b/pkgs/by-name/th/thelounge/package.nix index b297ba4e253a0..2c0114da11c18 100644 --- a/pkgs/by-name/th/thelounge/package.nix +++ b/pkgs/by-name/th/thelounge/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, nodejs -, yarn -, fixup-yarn-lock -, python311 -, npmHooks -, cctools -, sqlite -, srcOnly -, buildPackages -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + nodejs, + yarn, + fixup-yarn-lock, + python311, + npmHooks, + cctools, + sqlite, + srcOnly, + buildPackages, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -40,7 +41,13 @@ stdenv.mkDerivation (finalAttrs: { # Distutils was deprecated in 3.10, and removed in 3.12. This build needs it. An alternative could be adding # setuptools, but testing with that and 3.12 still fails. - nativeBuildInputs = [ nodejs yarn fixup-yarn-lock python311 npmHooks.npmInstallHook ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; + nativeBuildInputs = [ + nodejs + yarn + fixup-yarn-lock + python311 + npmHooks.npmInstallHook + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ]; buildInputs = [ sqlite ]; configurePhase = '' @@ -87,7 +94,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Modern, responsive, cross-platform, self-hosted web IRC client"; homepage = "https://thelounge.chat"; changelog = "https://github.com/thelounge/thelounge/releases/tag/v${finalAttrs.version}"; - maintainers = with maintainers; [ winter raitobezarius ]; + maintainers = with maintainers; [ + winter + raitobezarius + ]; license = licenses.mit; inherit (nodejs.meta) platforms; mainProgram = "thelounge"; diff --git a/pkgs/by-name/th/theme-jade1/package.nix b/pkgs/by-name/th/theme-jade1/package.nix index 30857639dd76a..9486940a6046f 100644 --- a/pkgs/by-name/th/theme-jade1/package.nix +++ b/pkgs/by-name/th/theme-jade1/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchurl, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "theme-jade1"; diff --git a/pkgs/by-name/th/theme-obsidian2/package.nix b/pkgs/by-name/th/theme-obsidian2/package.nix index 1d7756e23b052..25bd7ccbb554e 100644 --- a/pkgs/by-name/th/theme-obsidian2/package.nix +++ b/pkgs/by-name/th/theme-obsidian2/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchurl -, gtk-engine-murrine -, jdupes -, gitUpdater +{ + lib, + stdenvNoCC, + fetchurl, + gtk-engine-murrine, + jdupes, + gitUpdater, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/th/theme-sh/package.nix b/pkgs/by-name/th/theme-sh/package.nix index e1ebe9b732667..653bf7b148a60 100644 --- a/pkgs/by-name/th/theme-sh/package.nix +++ b/pkgs/by-name/th/theme-sh/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, gawk }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + gawk, +}: stdenv.mkDerivation rec { pname = "theme-sh"; @@ -21,7 +28,12 @@ stdenv.mkDerivation rec { mkdir -p $out/bin install -Dm755 bin/theme.sh $out/bin wrapProgram $out/bin/theme.sh \ - --prefix PATH : ${lib.makeBinPath [ coreutils gawk ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gawk + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/th/theme-vertex/package.nix b/pkgs/by-name/th/theme-vertex/package.nix index cff886440e324..7ff73b4cbe8c2 100644 --- a/pkgs/by-name/th/theme-vertex/package.nix +++ b/pkgs/by-name/th/theme-vertex/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "theme-vertex"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "0c9mhrs95ahz37djrv176vn41ywvj26ilwmnr1h9171giv6hid98"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/th/themechanger/package.nix b/pkgs/by-name/th/themechanger/package.nix index 2f569b4dc90b9..c62d5a5875ffa 100644 --- a/pkgs/by-name/th/themechanger/package.nix +++ b/pkgs/by-name/th/themechanger/package.nix @@ -1,16 +1,17 @@ -{ lib -, gobject-introspection -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, desktop-file-utils -, glib -, gtk3 -, python3 -, gsettings-desktop-schemas -, python3Packages -, fetchFromGitHub +{ + lib, + gobject-introspection, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + desktop-file-utils, + glib, + gtk3, + python3, + gsettings-desktop-schemas, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/th/themix-gui/package.nix b/pkgs/by-name/th/themix-gui/package.nix index a70c576cac756..91bf3f3bf0275 100644 --- a/pkgs/by-name/th/themix-gui/package.nix +++ b/pkgs/by-name/th/themix-gui/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, sassc -, gdk-pixbuf -, glib -, gobject-introspection -, librsvg -, gtk3 -, python3 -, fetchFromGitHub -, wrapGAppsHook3 +{ + lib, + stdenv, + sassc, + gdk-pixbuf, + glib, + gobject-introspection, + librsvg, + gtk3, + python3, + fetchFromGitHub, + wrapGAppsHook3, }: let diff --git a/pkgs/by-name/th/thepeg/package.nix b/pkgs/by-name/th/thepeg/package.nix index d4274b9dbed49..32d72e288e87e 100644 --- a/pkgs/by-name/th/thepeg/package.nix +++ b/pkgs/by-name/th/thepeg/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, boost, fastjet, gsl, hepmc3, lhapdf, rivet, zlib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + boost, + fastjet, + gsl, + hepmc3, + lhapdf, + rivet, + zlib, +}: stdenv.mkDerivation rec { pname = "thepeg"; @@ -19,7 +32,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ boost fastjet gsl hepmc3 lhapdf rivet zlib ]; + buildInputs = [ + boost + fastjet + gsl + hepmc3 + lhapdf + rivet + zlib + ]; configureFlags = [ "--with-hepmc=${hepmc3}" diff --git a/pkgs/by-name/th/therion/package.nix b/pkgs/by-name/th/therion/package.nix index 3dd72b9f6829a..34a51314af285 100644 --- a/pkgs/by-name/th/therion/package.nix +++ b/pkgs/by-name/th/therion/package.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, perl -, tcl -, tclPackages -, tk -, expat -, python3 -, texliveTeTeX -, survex -, makeWrapper -, fmt -, proj -, wxGTK32 -, vtk -, freetype -, libjpeg -, gettext -, libGL -, libGLU -, sqlite -, libtiff -, curl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + perl, + tcl, + tclPackages, + tk, + expat, + python3, + texliveTeTeX, + survex, + makeWrapper, + fmt, + proj, + wxGTK32, + vtk, + freetype, + libjpeg, + gettext, + libGL, + libGLU, + sqlite, + libtiff, + curl, }: stdenv.mkDerivation rec { @@ -79,7 +80,12 @@ stdenv.mkDerivation rec { fixupPhase = '' runHook preFixup wrapProgram $out/bin/therion \ - --prefix PATH : ${lib.makeBinPath [ survex texliveTeTeX ]} + --prefix PATH : ${ + lib.makeBinPath [ + survex + texliveTeTeX + ] + } wrapProgram $out/bin/xtherion \ --prefix PATH : ${lib.makeBinPath [ tk ]} runHook postFixup diff --git a/pkgs/by-name/th/thermald/package.nix b/pkgs/by-name/th/thermald/package.nix index be44cda075710..590b813f66441 100644 --- a/pkgs/by-name/th/thermald/package.nix +++ b/pkgs/by-name/th/thermald/package.nix @@ -1,25 +1,30 @@ -{ autoconf -, autoconf-archive -, automake -, dbus -, dbus-glib -, docbook_xml_dtd_412 -, docbook-xsl-nons -, fetchFromGitHub -, gtk-doc -, libevdev -, libtool -, libxml2 -, pkg-config -, lib, stdenv -, upower +{ + autoconf, + autoconf-archive, + automake, + dbus, + dbus-glib, + docbook_xml_dtd_412, + docbook-xsl-nons, + fetchFromGitHub, + gtk-doc, + libevdev, + libtool, + libxml2, + pkg-config, + lib, + stdenv, + upower, }: stdenv.mkDerivation rec { pname = "thermald"; version = "2.5.8"; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; src = fetchFromGitHub { owner = "intel"; @@ -66,7 +71,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/intel/thermal_daemon"; changelog = "https://github.com/intel/thermal_daemon/blob/master/README.txt"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ abbradar ]; mainProgram = "thermald"; }; diff --git a/pkgs/by-name/th/thicket/package.nix b/pkgs/by-name/th/thicket/package.nix index bffad065b15fb..2388281a9ce88 100644 --- a/pkgs/by-name/th/thicket/package.nix +++ b/pkgs/by-name/th/thicket/package.nix @@ -1,6 +1,7 @@ -{ lib -, crystal -, fetchFromGitHub +{ + lib, + crystal, + fetchFromGitHub, }: crystal.buildCrystalPackage rec { diff --git a/pkgs/by-name/th/thiefmd/package.nix b/pkgs/by-name/th/thiefmd/package.nix index b626ca6fb8a62..45ecb8651d6df 100644 --- a/pkgs/by-name/th/thiefmd/package.nix +++ b/pkgs/by-name/th/thiefmd/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, vala -, pkg-config -, wrapGAppsHook3 -, desktop-file-utils -, discount -, glib -, gtk3 -, gtksourceview4 -, gtkspell3 -, json-glib -, libarchive -, libgee -, libhandy -, libsecret -, libxml2 -, link-grammar -, webkitgtk_4_1 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + vala, + pkg-config, + wrapGAppsHook3, + desktop-file-utils, + discount, + glib, + gtk3, + gtksourceview4, + gtkspell3, + json-glib, + libarchive, + libgee, + libhandy, + libsecret, + libxml2, + link-grammar, + webkitgtk_4_1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/th/thin-provisioning-tools/package.nix b/pkgs/by-name/th/thin-provisioning-tools/package.nix index a386a46c40f15..10850fdeeb681 100644 --- a/pkgs/by-name/th/thin-provisioning-tools/package.nix +++ b/pkgs/by-name/th/thin-provisioning-tools/package.nix @@ -1,7 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, nixosTests }: +{ + lib, + rustPlatform, + fetchFromGitHub, + nixosTests, +}: rustPlatform.buildRustPackage rec { pname = "thin-provisioning-tools"; diff --git a/pkgs/by-name/th/thinkfan/package.nix b/pkgs/by-name/th/thinkfan/package.nix index 60f268caca2a5..6d7360a69f306 100644 --- a/pkgs/by-name/th/thinkfan/package.nix +++ b/pkgs/by-name/th/thinkfan/package.nix @@ -1,12 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, yaml-cpp -, pkg-config -, procps -, coreutils -, smartSupport ? false, libatasmart +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + yaml-cpp, + pkg-config, + procps, + coreutils, + smartSupport ? false, + libatasmart, }: stdenv.mkDerivation rec { @@ -40,7 +42,10 @@ stdenv.mkDerivation rec { "-DSYSTEMD_FOUND=ON" ] ++ lib.optional smartSupport "-DUSE_ATASMART=ON"; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ yaml-cpp ] ++ lib.optional smartSupport libatasmart; @@ -53,7 +58,10 @@ stdenv.mkDerivation rec { ''; license = lib.licenses.gpl3Plus; homepage = "https://github.com/vmatare/thinkfan"; - maintainers = with lib.maintainers; [ domenkozar rnhmjoj ]; + maintainers = with lib.maintainers; [ + domenkozar + rnhmjoj + ]; platforms = lib.platforms.linux; mainProgram = "thinkfan"; }; diff --git a/pkgs/by-name/th/thinkingRock/package.nix b/pkgs/by-name/th/thinkingRock/package.nix index 2c31d2b5725d7..608e59c20f784 100644 --- a/pkgs/by-name/th/thinkingRock/package.nix +++ b/pkgs/by-name/th/thinkingRock/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "thinkingrock-binary"; @@ -9,12 +14,13 @@ stdenv.mkDerivation rec { sha256 = "0hnwvvyc8miiz8w2g4iy7s4rgfy0kfbncgbgfzpsq6nrzq334kgm"; }; - /* it would be a really bad idea to put thinkingrock tr executable in PATH! - the tr.sh script does use the coreutils tr itself - That's why I've renamed the wrapper and called it thinkingrock - However you may not rename the bin/tr script cause it will notice and throw an - "java.lang.IllegalArgumentException: Malformed branding token: thinkingrock" - exception. I hope that's fine + /* + it would be a really bad idea to put thinkingrock tr executable in PATH! + the tr.sh script does use the coreutils tr itself + That's why I've renamed the wrapper and called it thinkingrock + However you may not rename the bin/tr script cause it will notice and throw an + "java.lang.IllegalArgumentException: Malformed branding token: thinkingrock" + exception. I hope that's fine */ buildPhase = '' diff --git a/pkgs/by-name/th/thokr/package.nix b/pkgs/by-name/th/thokr/package.nix index a0045ffb51529..584446db00f82 100644 --- a/pkgs/by-name/th/thokr/package.nix +++ b/pkgs/by-name/th/thokr/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "thokr"; diff --git a/pkgs/by-name/th/threatest/package.nix b/pkgs/by-name/th/threatest/package.nix index 88427627938bc..59f1d45d19c2b 100644 --- a/pkgs/by-name/th/threatest/package.nix +++ b/pkgs/by-name/th/threatest/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/th/threema-desktop/package.nix b/pkgs/by-name/th/threema-desktop/package.nix index 25878085a30f2..8125a18a2ae75 100644 --- a/pkgs/by-name/th/threema-desktop/package.nix +++ b/pkgs/by-name/th/threema-desktop/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, electron -, python3 +{ + lib, + buildNpmPackage, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + electron, + python3, }: let diff --git a/pkgs/by-name/th/thrift/package.nix b/pkgs/by-name/th/thrift/package.nix index 589f03c68858e..b659a3b8eb0ac 100644 --- a/pkgs/by-name/th/thrift/package.nix +++ b/pkgs/by-name/th/thrift/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, boost -, zlib -, libevent -, openssl -, python3 -, cmake -, pkg-config -, bison -, flex -, static ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + fetchpatch, + boost, + zlib, + libevent, + openssl, + python3, + cmake, + pkg-config, + bison, + flex, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { # Workaround to make the Python wrapper not drop this package: # pythonFull.buildEnv.override { extraLibs = [ thrift ]; } - pythonPath = []; + pythonPath = [ ]; nativeBuildInputs = [ bison @@ -36,11 +37,13 @@ stdenv.mkDerivation rec { python3.pkgs.setuptools ]; - buildInputs = [ - boost - ] ++ lib.optionals (!static) [ - (python3.withPackages (ps: [ps.twisted])) - ]; + buildInputs = + [ + boost + ] + ++ lib.optionals (!static) [ + (python3.withPackages (ps: [ ps.twisted ])) + ]; propagatedBuildInputs = [ libevent @@ -88,41 +91,45 @@ stdenv.mkDerivation rec { }) ]; - cmakeFlags = [ - "-DBUILD_JAVASCRIPT:BOOL=OFF" - "-DBUILD_NODEJS:BOOL=OFF" - - # FIXME: Fails to link in static mode with undefined reference to - # `boost::unit_test::unit_test_main(bool (*)(), int, char**)' - "-DBUILD_TESTING:BOOL=${if static then "OFF" else "ON"}" - ] ++ lib.optionals static [ - "-DWITH_STATIC_LIB:BOOL=ON" - "-DOPENSSL_USE_STATIC_LIBS=ON" - ]; - - disabledTests = [ - "PythonTestSSLSocket" - "PythonThriftTNonblockingServer" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Tests that hang up in the Darwin sandbox - "SecurityTest" - "SecurityFromBufferTest" - "python_test" - - # fails on hydra, passes locally - "concurrency_test" - - # Tests that fail in the Darwin sandbox when trying to use network - "UnitTests" - "TInterruptTest" - "TServerIntegrationTest" - "processor" - "TNonblockingServerTest" - "TNonblockingSSLServerTest" - "StressTest" - "StressTestConcurrent" - "StressTestNonBlocking" - ]; + cmakeFlags = + [ + "-DBUILD_JAVASCRIPT:BOOL=OFF" + "-DBUILD_NODEJS:BOOL=OFF" + + # FIXME: Fails to link in static mode with undefined reference to + # `boost::unit_test::unit_test_main(bool (*)(), int, char**)' + "-DBUILD_TESTING:BOOL=${if static then "OFF" else "ON"}" + ] + ++ lib.optionals static [ + "-DWITH_STATIC_LIB:BOOL=ON" + "-DOPENSSL_USE_STATIC_LIBS=ON" + ]; + + disabledTests = + [ + "PythonTestSSLSocket" + "PythonThriftTNonblockingServer" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Tests that hang up in the Darwin sandbox + "SecurityTest" + "SecurityFromBufferTest" + "python_test" + + # fails on hydra, passes locally + "concurrency_test" + + # Tests that fail in the Darwin sandbox when trying to use network + "UnitTests" + "TInterruptTest" + "TServerIntegrationTest" + "processor" + "TNonblockingServerTest" + "TNonblockingSSLServerTest" + "StressTest" + "StressTestConcurrent" + "StressTestNonBlocking" + ]; doCheck = !static; diff --git a/pkgs/by-name/th/thttpd/package.nix b/pkgs/by-name/th/thttpd/package.nix index c7a92bbf5f1ca..66ccfe04bad89 100644 --- a/pkgs/by-name/th/thttpd/package.nix +++ b/pkgs/by-name/th/thttpd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + libxcrypt, +}: stdenv.mkDerivation rec { pname = "thttpd"; diff --git a/pkgs/by-name/th/thud/package.nix b/pkgs/by-name/th/thud/package.nix index 5a4d3f68b2a58..6e867d7ce43cb 100644 --- a/pkgs/by-name/th/thud/package.nix +++ b/pkgs/by-name/th/thud/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, nix-update-script +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/th/thumbs/package.nix b/pkgs/by-name/th/thumbs/package.nix index b4c795bc8cf81..1f8583b81d746 100644 --- a/pkgs/by-name/th/thumbs/package.nix +++ b/pkgs/by-name/th/thumbs/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "thumbs"; diff --git a/pkgs/by-name/th/thunderbolt/package.nix b/pkgs/by-name/th/thunderbolt/package.nix index e532f9965aa88..9ed40b0d47416 100644 --- a/pkgs/by-name/th/thunderbolt/package.nix +++ b/pkgs/by-name/th/thunderbolt/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, boost -, cmake -, fetchFromGitHub -, pkg-config -, txt2tags +{ + lib, + stdenv, + boost, + cmake, + fetchFromGitHub, + pkg-config, + txt2tags, }: stdenv.mkDerivation rec { @@ -16,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "02w1bfm7xvq0dzkhwqiq0camkzz9kvciyhnsis61c8vzp39cwx0x"; }; - nativeBuildInputs = [ cmake pkg-config txt2tags ]; + nativeBuildInputs = [ + cmake + pkg-config + txt2tags + ]; buildInputs = [ boost ]; cmakeFlags = [ diff --git a/pkgs/by-name/ti/tibetan-machine/package.nix b/pkgs/by-name/ti/tibetan-machine/package.nix index 4731bfcd365d7..c95dd5d670a5d 100644 --- a/pkgs/by-name/ti/tibetan-machine/package.nix +++ b/pkgs/by-name/ti/tibetan-machine/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "tibetan-machine"; diff --git a/pkgs/by-name/ti/tic-80/package.nix b/pkgs/by-name/ti/tic-80/package.nix index 28839ec7716a2..a769a50afd15b 100644 --- a/pkgs/by-name/ti/tic-80/package.nix +++ b/pkgs/by-name/ti/tic-80/package.nix @@ -1,35 +1,36 @@ -{ lib -, stdenv -, cmake -, pkg-config -, python3 -, rake -, curl -, fetchFromGitHub -, libGL -, libGLU -, alsa-lib -, libX11 -, libICE -, libXi -, libXScrnSaver -, libXcursor -, libXinerama -, libXext -, libXxf86vm -, libXrandr -, libxkbcommon -, wayland -, wayland-protocols -, wayland-scanner -, dbus -, udev -, libdecor -, pipewire -, libpulseaudio -# Whether to build TIC-80's "Pro" version, which is an incentive to support the project financially, -# that enables some additional features. It is, however, fully open source. -, withPro ? false +{ + lib, + stdenv, + cmake, + pkg-config, + python3, + rake, + curl, + fetchFromGitHub, + libGL, + libGLU, + alsa-lib, + libX11, + libICE, + libXi, + libXScrnSaver, + libXcursor, + libXinerama, + libXext, + libXxf86vm, + libXrandr, + libxkbcommon, + wayland, + wayland-protocols, + wayland-scanner, + dbus, + udev, + libdecor, + pipewire, + libpulseaudio, + # Whether to build TIC-80's "Pro" version, which is an incentive to support the project financially, + # that enables some additional features. It is, however, fully open source. + withPro ? false, }: let major = "1"; @@ -129,8 +130,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "A free and open source fantasy computer for making, playing and sharing tiny games"; + description = "A free and open source fantasy computer for making, playing and sharing tiny games"; longDescription = '' TIC-80 is a free and open source fantasy computer for making, playing and sharing tiny games. diff --git a/pkgs/by-name/ti/ticker/package.nix b/pkgs/by-name/ti/ticker/package.nix index 0972c3a05394f..823f3b13022e3 100644 --- a/pkgs/by-name/ti/ticker/package.nix +++ b/pkgs/by-name/ti/ticker/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -30,7 +31,10 @@ buildGoModule rec { homepage = "https://github.com/achannarasappa/ticker"; changelog = "https://github.com/achannarasappa/ticker/releases/tag/v${version}"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ siraben sarcasticadmin ]; + maintainers = with maintainers; [ + siraben + sarcasticadmin + ]; mainProgram = "ticker"; }; } diff --git a/pkgs/by-name/ti/tickrs/package.nix b/pkgs/by-name/ti/tickrs/package.nix index 4e789f2f8ec7a..b5f0b3eadf098 100644 --- a/pkgs/by-name/ti/tickrs/package.nix +++ b/pkgs/by-name/ti/tickrs/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -25,12 +26,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { OPENSSL_NO_VENDOR = true; diff --git a/pkgs/by-name/ti/ticktick/package.nix b/pkgs/by-name/ti/ticktick/package.nix index 6c6797374c592..718954850104e 100644 --- a/pkgs/by-name/ti/ticktick/package.nix +++ b/pkgs/by-name/ti/ticktick/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchurl -, stdenv -, wrapGAppsHook3 -, dpkg -, autoPatchelfHook -, glibc -, gcc-unwrapped -, nss -, libdrm -, mesa -, alsa-lib -, xdg-utils -, systemd +{ + lib, + fetchurl, + stdenv, + wrapGAppsHook3, + dpkg, + autoPatchelfHook, + glibc, + gcc-unwrapped, + nss, + libdrm, + mesa, + alsa-lib, + xdg-utils, + systemd, }: stdenv.mkDerivation (finalAttrs: { pname = "ticktick"; diff --git a/pkgs/by-name/ti/ticpp/package.nix b/pkgs/by-name/ti/ticpp/package.nix index 20de3d7f2b892..6419d4b977585 100644 --- a/pkgs/by-name/ti/ticpp/package.nix +++ b/pkgs/by-name/ti/ticpp/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ti/tidb/package.nix b/pkgs/by-name/ti/tidb/package.nix index be1b9d39290ac..467b03b963608 100644 --- a/pkgs/by-name/ti/tidb/package.nix +++ b/pkgs/by-name/ti/tidb/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tidb"; diff --git a/pkgs/by-name/ti/tidgi/package.nix b/pkgs/by-name/ti/tidgi/package.nix index 0717dd8239f44..d3be43a6c325b 100644 --- a/pkgs/by-name/ti/tidgi/package.nix +++ b/pkgs/by-name/ti/tidgi/package.nix @@ -9,23 +9,20 @@ stdenv.mkDerivation rec { version = "0.9.6"; src = - if stdenv.hostPlatform.isAarch64 - then - fetchurl - { + if stdenv.hostPlatform.isAarch64 then + fetchurl { url = "https://github.com/tiddly-gittly/TidGi-Desktop/releases/download/v${version}/TidGi-darwin-arm64-${version}.zip"; hash = "sha256-1Z9lxZZWrUVQEhBO/Kt2AS/uNs2XfihdL0iGrguPQ5g="; } else - fetchurl - { + fetchurl { url = "https://github.com/tiddly-gittly/TidGi-Desktop/releases/download/v${version}/TidGi-darwin-x64-${version}.zip"; hash = "sha256-5jHW/QrgzsGQfX4LvsRebdOJPzYTvhtC5mczxp2wPI8="; }; dontBuild = true; - nativeBuildInputs = [unzip]; + nativeBuildInputs = [ unzip ]; sourceRoot = "."; @@ -43,8 +40,11 @@ stdenv.mkDerivation rec { description = "Customizable personal knowledge-base and blogging platform with git as backup manager"; homepage = "https://github.com/tiddly-gittly/TidGi-Desktop"; license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [klchen0112]; - platforms = ["aarch64-darwin" "x86_64-darwin"]; - sourceProvenance = with lib.sourceTypes; [binaryNativeCode]; + maintainers = with lib.maintainers; [ klchen0112 ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/by-name/ti/tidy-viewer/package.nix b/pkgs/by-name/ti/tidy-viewer/package.nix index a88960739ae54..2e211df3f5049 100644 --- a/pkgs/by-name/ti/tidy-viewer/package.nix +++ b/pkgs/by-name/ti/tidy-viewer/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "tidy-viewer"; diff --git a/pkgs/by-name/ti/tidyp/package.nix b/pkgs/by-name/ti/tidyp/package.nix index e00eaf632e973..0bcc6af535abb 100644 --- a/pkgs/by-name/ti/tidyp/package.nix +++ b/pkgs/by-name/ti/tidyp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tidyp"; diff --git a/pkgs/by-name/ti/tie/package.nix b/pkgs/by-name/ti/tie/package.nix index 5a50600d47c89..f3a7f06dca1da 100644 --- a/pkgs/by-name/ti/tie/package.nix +++ b/pkgs/by-name/ti/tie/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tie"; diff --git a/pkgs/by-name/ti/tig/package.nix b/pkgs/by-name/ti/tig/package.nix index 6c90d24e55bf6..a61389c9b4867 100644 --- a/pkgs/by-name/ti/tig/package.nix +++ b/pkgs/by-name/ti/tig/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 -, readline, makeWrapper, git, libiconv, autoreconfHook, findXMLCatalogs, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + asciidoc, + xmlto, + docbook_xsl, + docbook_xml_dtd_45, + readline, + makeWrapper, + git, + libiconv, + autoreconfHook, + findXMLCatalogs, + pkg-config, }: stdenv.mkDerivation rec { @@ -13,16 +27,32 @@ stdenv.mkDerivation rec { sha256 = "sha256-WTrw7WaSqC2fp76fPvfogWTibev0Hg0LW2x4umc3+1Q="; }; - nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkg-config ]; + nativeBuildInputs = [ + makeWrapper + autoreconfHook + asciidoc + xmlto + docbook_xsl + docbook_xml_dtd_45 + findXMLCatalogs + pkg-config + ]; - autoreconfFlags = [ "-I" "tools" "-v" ]; + autoreconfFlags = [ + "-I" + "tools" + "-v" + ]; - buildInputs = [ ncurses readline git ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + buildInputs = [ + ncurses + readline + git + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; # those files are inherently impure, we'll handle the corresponding dependencies. postPatch = '' - rm contrib/config.make-* + rm contrib/config.make-* ''; enableParallelBuilding = true; @@ -49,7 +79,13 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://jonas.github.io/tig/"; description = "Text-mode interface for git"; - maintainers = with maintainers; [ bjornfor domenkozar qknight globin ma27 ]; + maintainers = with maintainers; [ + bjornfor + domenkozar + qknight + globin + ma27 + ]; license = licenses.gpl2Plus; platforms = platforms.unix; mainProgram = "tig"; diff --git a/pkgs/by-name/ti/tigervnc/package.nix b/pkgs/by-name/ti/tigervnc/package.nix index 0e6e1daa66e29..617d901ed5475 100644 --- a/pkgs/by-name/ti/tigervnc/package.nix +++ b/pkgs/by-name/ti/tigervnc/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, xorg -, xkeyboard_config -, zlib -, libjpeg_turbo -, pixman -, fltk -, cmake -, gettext -, libtool -, libGLU -, gnutls -, gawk -, pam -, nettle -, xterm -, openssh -, perl -, makeWrapper -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + xorg, + xkeyboard_config, + zlib, + libjpeg_turbo, + pixman, + fltk, + cmake, + gettext, + libtool, + libGLU, + gnutls, + gawk, + pam, + nettle, + xterm, + openssh, + perl, + makeWrapper, + nixosTests, }: stdenv.mkDerivation rec { @@ -42,17 +43,19 @@ stdenv.mkDerivation rec { }) ]; - postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' - sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver/vncserver.in - fontPath= - substituteInPlace vncviewer/vncviewer.cxx \ - --replace '"/usr/bin/ssh' '"${openssh}/bin/ssh' - source_top="$(pwd)" - '' + '' - # On Mac, do not build a .dmg, instead copy the .app to the source dir - gawk -i inplace 'BEGIN { del=0 } /hdiutil/ { del=2 } del<=0 { print } /$VERSION.dmg/ { del -= 1 }' release/makemacapp.in - echo "mv \"\$APPROOT\" \"\$SRCDIR/\"" >> release/makemacapp.in - ''; + postPatch = + lib.optionalString stdenv.hostPlatform.isLinux '' + sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver/vncserver.in + fontPath= + substituteInPlace vncviewer/vncviewer.cxx \ + --replace '"/usr/bin/ssh' '"${openssh}/bin/ssh' + source_top="$(pwd)" + '' + + '' + # On Mac, do not build a .dmg, instead copy the .app to the source dir + gawk -i inplace 'BEGIN { del=0 } /hdiutil/ { del=2 } del<=0 { print } /$VERSION.dmg/ { del -= 1 }' release/makemacapp.in + echo "mv \"\$APPROOT\" \"\$SRCDIR/\"" >> release/makemacapp.in + ''; dontUseCmakeBuildDir = true; @@ -66,93 +69,118 @@ stdenv.mkDerivation rec { "-Wno-error=array-bounds" ]; - postBuild = lib.optionalString stdenv.hostPlatform.isLinux '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=int-to-pointer-cast -Wno-error=pointer-to-int-cast" - export CXXFLAGS="$CXXFLAGS -fpermissive" - # Build Xvnc - tar xf ${xorg.xorgserver.src} - cp -R xorg*/* unix/xserver - pushd unix/xserver - version=$(echo ${xorg.xorgserver.name} | sed 's/.*-\([0-9]\+\).[0-9]\+.*/\1/g') - patch -p1 < "$source_top/unix/xserver$version.patch" - autoreconf -vfi - ./configure $configureFlags --disable-devel-docs --disable-docs \ - --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ - --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ - --disable-xorgcfg --disable-xprint --disable-static \ - --enable-composite --disable-xtrap --enable-xcsecurity \ - --disable-{a,c,m}fb \ - --disable-xwayland \ - --disable-config-dbus --disable-config-udev --disable-config-hal \ - --disable-xevie \ - --disable-dri --disable-dri2 --disable-dri3 --enable-glx \ - --enable-install-libxf86config \ - --prefix="$out" --disable-unit-tests \ - --with-xkb-path=${xkeyboard_config}/share/X11/xkb \ - --with-xkb-bin-directory=${xorg.xkbcomp}/bin \ - --with-xkb-output=$out/share/X11/xkb/compiled - make TIGERVNC_SRC=$src TIGERVNC_BUILDDIR=`pwd`/../.. -j$NIX_BUILD_CORES - popd - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - make dmg - ''; + postBuild = + lib.optionalString stdenv.hostPlatform.isLinux '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=int-to-pointer-cast -Wno-error=pointer-to-int-cast" + export CXXFLAGS="$CXXFLAGS -fpermissive" + # Build Xvnc + tar xf ${xorg.xorgserver.src} + cp -R xorg*/* unix/xserver + pushd unix/xserver + version=$(echo ${xorg.xorgserver.name} | sed 's/.*-\([0-9]\+\).[0-9]\+.*/\1/g') + patch -p1 < "$source_top/unix/xserver$version.patch" + autoreconf -vfi + ./configure $configureFlags --disable-devel-docs --disable-docs \ + --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ + --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ + --disable-xorgcfg --disable-xprint --disable-static \ + --enable-composite --disable-xtrap --enable-xcsecurity \ + --disable-{a,c,m}fb \ + --disable-xwayland \ + --disable-config-dbus --disable-config-udev --disable-config-hal \ + --disable-xevie \ + --disable-dri --disable-dri2 --disable-dri3 --enable-glx \ + --enable-install-libxf86config \ + --prefix="$out" --disable-unit-tests \ + --with-xkb-path=${xkeyboard_config}/share/X11/xkb \ + --with-xkb-bin-directory=${xorg.xkbcomp}/bin \ + --with-xkb-output=$out/share/X11/xkb/compiled + make TIGERVNC_SRC=$src TIGERVNC_BUILDDIR=`pwd`/../.. -j$NIX_BUILD_CORES + popd + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + make dmg + ''; - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - pushd unix/xserver/hw/vnc - make TIGERVNC_SRC=$src TIGERVNC_BUILDDIR=`pwd`/../../../.. install - popd - rm -f $out/lib/xorg/protocol.txt + postInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + pushd unix/xserver/hw/vnc + make TIGERVNC_SRC=$src TIGERVNC_BUILDDIR=`pwd`/../../../.. install + popd + rm -f $out/lib/xorg/protocol.txt - wrapProgram $out/bin/vncserver \ - --prefix PATH : ${lib.makeBinPath (with xorg; [ xterm twm xsetroot xauth ]) } - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv 'TigerVNC Viewer ${version}.app' $out/Applications/ - rm $out/bin/vncviewer - echo "#!/usr/bin/env bash - open $out/Applications/TigerVNC\ Viewer\ ${version}.app --args \$@" >> $out/bin/vncviewer - chmod +x $out/bin/vncviewer - ''; + wrapProgram $out/bin/vncserver \ + --prefix PATH : ${ + lib.makeBinPath ( + with xorg; + [ + xterm + twm + xsetroot + xauth + ] + ) + } + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + mv 'TigerVNC Viewer ${version}.app' $out/Applications/ + rm $out/bin/vncviewer + echo "#!/usr/bin/env bash + open $out/Applications/TigerVNC\ Viewer\ ${version}.app --args \$@" >> $out/bin/vncviewer + chmod +x $out/bin/vncviewer + ''; - buildInputs = [ - fltk - gnutls - libjpeg_turbo - pixman - gawk - ] ++ lib.optionals stdenv.hostPlatform.isLinux (with xorg; [ - nettle - pam - perl - xorgproto - utilmacros - libXtst - libXext - libX11 - libXext - libICE - libXi - libSM - libXft - libxkbfile - libXfont2 - libpciaccess - libGLU - libXrandr - libXdamage - ] ++ xorg.xorgserver.buildInputs - ); + buildInputs = + [ + fltk + gnutls + libjpeg_turbo + pixman + gawk + ] + ++ lib.optionals stdenv.hostPlatform.isLinux ( + with xorg; + [ + nettle + pam + perl + xorgproto + utilmacros + libXtst + libXext + libX11 + libXext + libICE + libXi + libSM + libXft + libxkbfile + libXfont2 + libpciaccess + libGLU + libXrandr + libXdamage + ] + ++ xorg.xorgserver.buildInputs + ); - nativeBuildInputs = [ - cmake - gettext - ] ++ lib.optionals stdenv.hostPlatform.isLinux (with xorg; [ - fontutil - libtool - makeWrapper - utilmacros - zlib - ] ++ xorg.xorgserver.nativeBuildInputs); + nativeBuildInputs = + [ + cmake + gettext + ] + ++ lib.optionals stdenv.hostPlatform.isLinux ( + with xorg; + [ + fontutil + libtool + makeWrapper + utilmacros + zlib + ] + ++ xorg.xorgserver.nativeBuildInputs + ); propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux xorg.xorgserver.propagatedBuildInputs; diff --git a/pkgs/by-name/ti/tijolo/package.nix b/pkgs/by-name/ti/tijolo/package.nix index 49c58a2f90107..0666c2bed2092 100644 --- a/pkgs/by-name/ti/tijolo/package.nix +++ b/pkgs/by-name/ti/tijolo/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, crystal -, vte-gtk4 -, libgit2 -, gtk4 -, libadwaita -, editorconfig-core-c -, gtksourceview5 -, wrapGAppsHook4 -, gobject-introspection -, desktopToDarwinBundle +{ + stdenv, + lib, + fetchFromGitHub, + crystal, + vte-gtk4, + libgit2, + gtk4, + libadwaita, + editorconfig-core-c, + gtksourceview5, + wrapGAppsHook4, + gobject-introspection, + desktopToDarwinBundle, }: crystal.buildCrystalPackage rec { @@ -37,14 +38,27 @@ crystal.buildCrystalPackage rec { cd ../.. && mkdir bin/ && cp lib/gi-crystal/bin/gi-crystal bin/ ''; - nativeBuildInputs = [ wrapGAppsHook4 gobject-introspection ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; - buildInputs = [ gtk4 libadwaita vte-gtk4 libgit2 gtksourceview5 editorconfig-core-c ]; + nativeBuildInputs = [ + wrapGAppsHook4 + gobject-introspection + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + buildInputs = [ + gtk4 + libadwaita + vte-gtk4 + libgit2 + gtksourceview5 + editorconfig-core-c + ]; buildTargets = [ "all" ]; doCheck = false; - installTargets = [ "install" "post-install" "install-fonts"]; + installTargets = [ + "install" + "post-install" + "install-fonts" + ]; doInstallCheck = false; meta = with lib; { diff --git a/pkgs/by-name/ti/tilda/package.nix b/pkgs/by-name/ti/tilda/package.nix index 500d9269e0161..b2b503b9eb5a8 100644 --- a/pkgs/by-name/ti/tilda/package.nix +++ b/pkgs/by-name/ti/tilda/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, expat -, gettext -, gtk3 -, libconfuse -, makeWrapper -, pcre2 -, pkg-config -, vte -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + expat, + gettext, + gtk3, + libconfuse, + makeWrapper, + pcre2, + pkg-config, + vte, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ti/tile38/package.nix b/pkgs/by-name/ti/tile38/package.nix index 66e7704d63902..ba998889c0a34 100644 --- a/pkgs/by-name/ti/tile38/package.nix +++ b/pkgs/by-name/ti/tile38/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tile38"; @@ -13,9 +17,16 @@ buildGoModule rec { vendorHash = "sha256-nnamNwowRPWQBKUMg800bFgijv8iHbdh/wUwTfX0NcY="; - subPackages = [ "cmd/tile38-cli" "cmd/tile38-server" ]; + subPackages = [ + "cmd/tile38-cli" + "cmd/tile38-server" + ]; - ldflags = [ "-s" "-w" "-X github.com/tidwall/tile38/core.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/tidwall/tile38/core.Version=${version}" + ]; meta = with lib; { description = "Real-time Geospatial and Geofencing"; diff --git a/pkgs/by-name/ti/tiledb/package.nix b/pkgs/by-name/ti/tiledb/package.nix index 9b834c3a7e586..89cd19166e228 100644 --- a/pkgs/by-name/ti/tiledb/package.nix +++ b/pkgs/by-name/ti/tiledb/package.nix @@ -1,32 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub - -, cmake -, zlib -, lz4 -, bzip2 -, zstd -, spdlog -, tbb -, openssl -, boost -, libpqxx -, clang-tools -, catch2_3 -, python3 -, gtest -, doxygen -, fixDarwinDylibNames -, useAVX2 ? stdenv.hostPlatform.avx2Support +{ + lib, + stdenv, + fetchFromGitHub, + + cmake, + zlib, + lz4, + bzip2, + zstd, + spdlog, + tbb, + openssl, + boost, + libpqxx, + clang-tools, + catch2_3, + python3, + gtest, + doxygen, + fixDarwinDylibNames, + useAVX2 ? stdenv.hostPlatform.avx2Support, }: let # pre-fetch ExternalProject from cmake/Modules/FindMagic_EP.cmake ep-file-windows = fetchFromGitHub { owner = "TileDB-Inc"; - repo = "file-windows"; - rev = "5.38.2.tiledb"; + repo = "file-windows"; + rev = "5.38.2.tiledb"; hash = "sha256-TFn30VCuWZr252VN1T5NNCZe2VEN3xQSomS7XxxKGF8="; fetchSubmodules = true; }; @@ -106,7 +107,10 @@ stdenv.mkDerivation rec { doCheck = true; - installTargets = [ "install-tiledb" "doc" ]; + installTargets = [ + "install-tiledb" + "doc" + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -add_rpath ${tbb}/lib $out/lib/libtiledb.dylib diff --git a/pkgs/by-name/ti/tilem/package.nix b/pkgs/by-name/ti/tilem/package.nix index 7c98b8d499f1c..400bcd36923ee 100644 --- a/pkgs/by-name/ti/tilem/package.nix +++ b/pkgs/by-name/ti/tilem/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, fetchurl -, lib -, pkg-config -, glib -, gtk2 -, libticonv -, libtifiles2 -, libticables2 -, libticalcs2 +{ + stdenv, + fetchurl, + lib, + pkg-config, + glib, + gtk2, + libticonv, + libtifiles2, + libticables2, + libticalcs2, }: stdenv.mkDerivation rec { @@ -18,13 +19,23 @@ stdenv.mkDerivation rec { sha256 = "1ba38xzhp3yf21ip3cgql6jzy49jc34sfnjsl4syxyrd81d269zw"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib gtk2 libticonv libtifiles2 libticables2 libticalcs2 ]; + buildInputs = [ + glib + gtk2 + libticonv + libtifiles2 + libticables2 + libticalcs2 + ]; env.NIX_CFLAGS_COMPILE = toString [ "-lm" ]; meta = with lib; { homepage = "http://lpg.ticalc.org/prj_tilem/"; description = "Emulator and debugger for Texas Instruments Z80-based graphing calculators"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ siraben clevor ]; + maintainers = with maintainers; [ + siraben + clevor + ]; platforms = platforms.linux ++ platforms.darwin; mainProgram = "tilem2"; }; diff --git a/pkgs/by-name/ti/tilemaker/package.nix b/pkgs/by-name/ti/tilemaker/package.nix index 7e7714635c891..02316a1b9a0c6 100644 --- a/pkgs/by-name/ti/tilemaker/package.nix +++ b/pkgs/by-name/ti/tilemaker/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages -, cmake -, installShellFiles -, boost -, lua -, protobuf_21 -, rapidjson -, shapelib -, sqlite -, zlib -, testers +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, + cmake, + installShellFiles, + boost, + lua, + protobuf_21, + rapidjson, + shapelib, + sqlite, + zlib, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -33,12 +34,24 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "default_value(\"static\")" "default_value(\"$out/share/tilemaker/static\")" ''; - nativeBuildInputs = [ cmake installShellFiles ]; + nativeBuildInputs = [ + cmake + installShellFiles + ]; - buildInputs = [ boost lua protobuf_21 rapidjson shapelib sqlite zlib ]; + buildInputs = [ + boost + lua + protobuf_21 + rapidjson + shapelib + sqlite + zlib + ]; - cmakeFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - (lib.cmakeFeature "PROTOBUF_PROTOC_EXECUTABLE" "${buildPackages.protobuf}/bin/protoc"); + cmakeFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ( + lib.cmakeFeature "PROTOBUF_PROTOC_EXECUTABLE" "${buildPackages.protobuf}/bin/protoc" + ); env.NIX_CFLAGS_COMPILE = toString [ "-DTM_VERSION=${finalAttrs.version}" ]; diff --git a/pkgs/by-name/ti/tilix/package.nix b/pkgs/by-name/ti/tilix/package.nix index 07344d23d87a1..4ede51c57fcdf 100644 --- a/pkgs/by-name/ti/tilix/package.nix +++ b/pkgs/by-name/ti/tilix/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, python3 -, pkg-config -, ldc -, dconf -, dbus -, gsettings-desktop-schemas -, desktop-file-utils -, gettext -, gtkd -, libsecret -, wrapGAppsHook3 -, libunwind -, appstream -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + python3, + pkg-config, + ldc, + dconf, + dbus, + gsettings-desktop-schemas, + desktop-file-utils, + gettext, + gtkd, + libsecret, + wrapGAppsHook3, + libunwind, + appstream, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -67,7 +68,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Tiling terminal emulator following the Gnome Human Interface Guidelines"; homepage = "https://gnunn1.github.io/tilix-web"; license = licenses.mpl20; - maintainers = with maintainers; [ midchildan jtbx ]; + maintainers = with maintainers; [ + midchildan + jtbx + ]; platforms = platforms.linux; mainProgram = "tilix"; }; diff --git a/pkgs/by-name/ti/tilt/assets.nix b/pkgs/by-name/ti/tilt/assets.nix index 11db3253d34f8..2991c2bfcd274 100644 --- a/pkgs/by-name/ti/tilt/assets.nix +++ b/pkgs/by-name/ti/tilt/assets.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, nodejs -, yarn-berry -, cacert -, version -, src +{ + lib, + stdenvNoCC, + nodejs, + yarn-berry, + cacert, + version, + src, }: stdenvNoCC.mkDerivation { @@ -12,7 +13,10 @@ stdenvNoCC.mkDerivation { src = "${src}/web"; inherit version; - nativeBuildInputs = [ nodejs yarn-berry ]; + nativeBuildInputs = [ + nodejs + yarn-berry + ]; yarnOfflineCache = stdenvNoCC.mkDerivation { name = "tilt-assets-deps"; @@ -21,9 +25,20 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ yarn-berry ]; supportedArchitectures = builtins.toJSON { - os = [ "darwin" "linux" ]; - cpu = [ "arm" "arm64" "ia32" "x64" ]; - libc = [ "glibc" "musl" ]; + os = [ + "darwin" + "linux" + ]; + cpu = [ + "arm" + "arm64" + "ia32" + "x64" + ]; + libc = [ + "glibc" + "musl" + ]; }; NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt"; diff --git a/pkgs/by-name/ti/tilt/binary.nix b/pkgs/by-name/ti/tilt/binary.nix index ebb7f6e117891..4c5e70520927f 100644 --- a/pkgs/by-name/ti/tilt/binary.nix +++ b/pkgs/by-name/ti/tilt/binary.nix @@ -1,14 +1,18 @@ -{ lib -, buildGoModule -, src, version -, tilt-assets +{ + lib, + buildGoModule, + src, + version, + tilt-assets, }: buildGoModule rec { pname = "tilt"; - /* Do not use "dev" as a version. If you do, Tilt will consider itself + /* + Do not use "dev" as a version. If you do, Tilt will consider itself running in development environment and try to serve assets from the - source tree, which is not there once build completes. */ + source tree, which is not there once build completes. + */ inherit src version; vendorHash = null; diff --git a/pkgs/by-name/ti/tilt/package.nix b/pkgs/by-name/ti/tilt/package.nix index 42a493d4ebd56..77ffc410c05c5 100644 --- a/pkgs/by-name/ti/tilt/package.nix +++ b/pkgs/by-name/ti/tilt/package.nix @@ -1,20 +1,24 @@ -{ fetchFromGitHub -, callPackage +{ + fetchFromGitHub, + callPackage, }: -let args = rec { - /* Do not use "dev" as a version. If you do, Tilt will consider itself - running in development environment and try to serve assets from the - source tree, which is not there once build completes. */ - version = "0.33.21"; +let + args = rec { + /* + Do not use "dev" as a version. If you do, Tilt will consider itself + running in development environment and try to serve assets from the + source tree, which is not there once build completes. + */ + version = "0.33.21"; - src = fetchFromGitHub { - owner = "tilt-dev"; - repo = "tilt"; - rev = "v${version}"; - hash = "sha256-3LFsTaz47QAIDGId/Tl3G7xP5b9gc25X+ZeMaVhXf8w="; - }; + src = fetchFromGitHub { + owner = "tilt-dev"; + repo = "tilt"; + rev = "v${version}"; + hash = "sha256-3LFsTaz47QAIDGId/Tl3G7xP5b9gc25X+ZeMaVhXf8w="; }; + }; tilt-assets = callPackage ./assets.nix args; -in callPackage ./binary.nix (args // { inherit tilt-assets; }) - +in +callPackage ./binary.nix (args // { inherit tilt-assets; }) diff --git a/pkgs/by-name/ti/time-decode/package.nix b/pkgs/by-name/ti/time-decode/package.nix index b208fd3e2ba25..213ad4fc3ff50 100644 --- a/pkgs/by-name/ti/time-decode/package.nix +++ b/pkgs/by-name/ti/time-decode/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ti/time-ghc-modules/package.nix b/pkgs/by-name/ti/time-ghc-modules/package.nix index bbe0e4152fc07..e4dbe40b46cde 100644 --- a/pkgs/by-name/ti/time-ghc-modules/package.nix +++ b/pkgs/by-name/ti/time-ghc-modules/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, sqlite -, python3 -, coreutils -, findutils -, gnused +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + sqlite, + python3, + coreutils, + findutils, + gnused, }: stdenv.mkDerivation rec { @@ -20,14 +21,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-/PhJAhP3KCWFyeSk8e5JV0cpBueH/eVDwQTMZSnnZCo="; }; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [ makeWrapper ]; buildPhase = '' runHook preBuild mkdir -p $out/bin cp ./time-ghc-modules $out/bin/time-ghc-modules - wrapProgram $out/bin/time-ghc-modules --prefix PATH : ${lib.makeBinPath [ sqlite python3 coreutils findutils gnused ]} \ + wrapProgram $out/bin/time-ghc-modules --prefix PATH : ${ + lib.makeBinPath [ + sqlite + python3 + coreutils + findutils + gnused + ] + } \ --set PROCESS_SCRIPT $out/lib/process \ --set HTML_FILE $out/lib/index.html diff --git a/pkgs/by-name/ti/time/package.nix b/pkgs/by-name/ti/time/package.nix index 2328d03e18704..dca11222ef248 100644 --- a/pkgs/by-name/ti/time/package.nix +++ b/pkgs/by-name/ti/time/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation (finalAttrs: { pname = "time"; diff --git a/pkgs/by-name/ti/timelapse-deflicker/package.nix b/pkgs/by-name/ti/timelapse-deflicker/package.nix index 511ed8a0134af..091ad288ddc26 100644 --- a/pkgs/by-name/ti/timelapse-deflicker/package.nix +++ b/pkgs/by-name/ti/timelapse-deflicker/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perl, + perlPackages, +}: stdenv.mkDerivation rec { pname = "timelapse-deflicker"; @@ -19,8 +26,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = with perlPackages; [ perl - ImageMagick TermProgressBar ImageExifTool - FileType ClassMethodMaker + ImageMagick + TermProgressBar + ImageExifTool + FileType + ClassMethodMaker ]; meta = with lib; { diff --git a/pkgs/by-name/ti/timelens/package.nix b/pkgs/by-name/ti/timelens/package.nix index 7b7b1e0e7211c..2d2f1947d6fba 100644 --- a/pkgs/by-name/ti/timelens/package.nix +++ b/pkgs/by-name/ti/timelens/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, glib -, gst_all_1 -, wrapGAppsHook3 +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + glib, + gst_all_1, + wrapGAppsHook3, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ti/timelimit/package.nix b/pkgs/by-name/ti/timelimit/package.nix index f943c5ee7292b..feda76a76bc63 100644 --- a/pkgs/by-name/ti/timelimit/package.nix +++ b/pkgs/by-name/ti/timelimit/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, perl }: +{ + lib, + stdenv, + fetchFromGitLab, + perl, +}: stdenv.mkDerivation rec { pname = "timelimit"; diff --git a/pkgs/by-name/ti/timeline/package.nix b/pkgs/by-name/ti/timeline/package.nix index 8aedc4854006b..a3ca865e83e69 100644 --- a/pkgs/by-name/ti/timeline/package.nix +++ b/pkgs/by-name/ti/timeline/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, python3 -, gettext -, makeDesktopItem -, copyDesktopItems -, wrapGAppsHook3 +{ + lib, + fetchurl, + python3, + gettext, + makeDesktopItem, + copyDesktopItems, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { @@ -17,7 +18,11 @@ python3.pkgs.buildPythonApplication rec { sha256 = "sha256-qwH2mt3Va62QJKJGOpt5WV3QksqQaRGEif4CcPC5F2E="; }; - nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems wrapGAppsHook3 ]; + nativeBuildInputs = [ + python3.pkgs.wrapPython + copyDesktopItems + wrapGAppsHook3 + ]; pythonPath = with python3.pkgs; [ wxpython @@ -38,7 +43,10 @@ python3.pkgs.buildPythonApplication rec { comment = "Display and navigate information on a timeline"; icon = "timeline"; exec = "timeline"; - categories = [ "Office" "Calendar" ]; + categories = [ + "Office" + "Calendar" + ]; }) ]; @@ -88,7 +96,10 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://thetimelineproj.sourceforge.net/changelog.html"; description = "Display and navigate information on a timeline"; mainProgram = "timeline"; - license = with licenses; [ gpl3Only cc-by-sa-30 ]; + license = with licenses; [ + gpl3Only + cc-by-sa-30 + ]; platforms = with platforms; unix; maintainers = with maintainers; [ davidak ]; }; diff --git a/pkgs/by-name/ti/timemachine/package.nix b/pkgs/by-name/ti/timemachine/package.nix index c09a9b1bc0079..c1781aed81719 100644 --- a/pkgs/by-name/ti/timemachine/package.nix +++ b/pkgs/by-name/ti/timemachine/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, gtk2 -, libjack2, libsndfile +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + pkg-config, + gtk2, + libjack2, + libsndfile, }: stdenv.mkDerivation rec { @@ -12,10 +20,16 @@ stdenv.mkDerivation rec { sha256 = "16fgyw6jnscx9279dczv72092dddghwlp53rkfw469kcgvjhwx0z"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ gtk2 libjack2 - libsndfile - ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + gtk2 + libjack2 + libsndfile + ]; preConfigure = "./autogen.sh"; @@ -30,4 +44,3 @@ stdenv.mkDerivation rec { mainProgram = "timemachine"; }; } - diff --git a/pkgs/by-name/ti/timer/package.nix b/pkgs/by-name/ti/timer/package.nix index 5b91a765d2c71..c5b78c80b3f02 100644 --- a/pkgs/by-name/ti/timer/package.nix +++ b/pkgs/by-name/ti/timer/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, timer }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + timer, +}: buildGoModule rec { pname = "timer"; @@ -13,7 +19,11 @@ buildGoModule rec { vendorHash = "sha256-mE/C4S2gqcFGfnmCeMS/VpQwXHrI8SXos0M1+rV3hPo="; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; passthru.tests.version = testers.testVersion { package = timer; }; @@ -21,7 +31,10 @@ buildGoModule rec { description = "`sleep` with progress"; homepage = "https://github.com/caarlos0/timer"; license = licenses.mit; - maintainers = with maintainers; [ zowoq caarlos0 ]; + maintainers = with maintainers; [ + zowoq + caarlos0 + ]; mainProgram = "timer"; }; } diff --git a/pkgs/by-name/ti/times-newer-roman/package.nix b/pkgs/by-name/ti/times-newer-roman/package.nix index a12ba2cbe3574..f30b25165dace 100644 --- a/pkgs/by-name/ti/times-newer-roman/package.nix +++ b/pkgs/by-name/ti/times-newer-roman/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "times-newer-roman"; diff --git a/pkgs/by-name/ti/timescaledb-parallel-copy/package.nix b/pkgs/by-name/ti/timescaledb-parallel-copy/package.nix index 37bad3e03d63a..9d855cbff76ea 100644 --- a/pkgs/by-name/ti/timescaledb-parallel-copy/package.nix +++ b/pkgs/by-name/ti/timescaledb-parallel-copy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "timescaledb-parallel-copy"; diff --git a/pkgs/by-name/ti/timescaledb-tune/package.nix b/pkgs/by-name/ti/timescaledb-tune/package.nix index 3020886cb3055..1c17f31484dfb 100644 --- a/pkgs/by-name/ti/timescaledb-tune/package.nix +++ b/pkgs/by-name/ti/timescaledb-tune/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "timescaledb-tune"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-7u3eceVDnzjhGguijJXbm40qyCPO/Q101Zr5vEcGEqs="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Tool for tuning your TimescaleDB for better performance"; diff --git a/pkgs/by-name/ti/timetagger/package.nix b/pkgs/by-name/ti/timetagger/package.nix index 8505a897a675b..93a6a542a67df 100644 --- a/pkgs/by-name/ti/timetagger/package.nix +++ b/pkgs/by-name/ti/timetagger/package.nix @@ -1,7 +1,8 @@ -{ python3 +{ + python3, -, addr ? "127.0.0.1" -, port ? 8082 + addr ? "127.0.0.1", + port ? 8082, }: # @@ -11,7 +12,12 @@ # python3.pkgs.buildPythonApplication { - inherit (python3.pkgs.timetagger) pname version src meta; + inherit (python3.pkgs.timetagger) + pname + version + src + meta + ; propagatedBuildInputs = with python3.pkgs; [ setuptools @@ -28,4 +34,3 @@ python3.pkgs.buildPythonApplication { --set TIMETAGGER_BIND "${addr}:${toString port}" ''; } - diff --git a/pkgs/by-name/ti/timetagger_cli/package.nix b/pkgs/by-name/ti/timetagger_cli/package.nix index 576b0b55e57cb..17da60ad15e8c 100644 --- a/pkgs/by-name/ti/timetagger_cli/package.nix +++ b/pkgs/by-name/ti/timetagger_cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -31,4 +32,3 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "timetagger"; }; } - diff --git a/pkgs/by-name/ti/timeular/package.nix b/pkgs/by-name/ti/timeular/package.nix index 27227cff02743..e3174edfb4986 100644 --- a/pkgs/by-name/ti/timeular/package.nix +++ b/pkgs/by-name/ti/timeular/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchurl -, appimageTools +{ + lib, + fetchurl, + appimageTools, }: let @@ -15,7 +16,8 @@ let appimageContents = appimageTools.extractType2 { inherit pname version src; }; -in appimageTools.wrapType2 rec { +in +appimageTools.wrapType2 rec { inherit pname version src; extraPkgs = pkgs: [ pkgs.libsecret ]; diff --git a/pkgs/by-name/ti/timew-sync-server/package.nix b/pkgs/by-name/ti/timew-sync-server/package.nix index fefc25a487927..54bd274b4c970 100644 --- a/pkgs/by-name/ti/timew-sync-server/package.nix +++ b/pkgs/by-name/ti/timew-sync-server/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "timew-sync-server"; diff --git a/pkgs/by-name/ti/timewarrior/package.nix b/pkgs/by-name/ti/timewarrior/package.nix index f0cca927f753d..054a32860248b 100644 --- a/pkgs/by-name/ti/timewarrior/package.nix +++ b/pkgs/by-name/ti/timewarrior/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, asciidoctor, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + asciidoctor, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "timewarrior"; @@ -12,7 +19,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake asciidoctor installShellFiles ]; + nativeBuildInputs = [ + cmake + asciidoctor + installShellFiles + ]; dontUseCmakeBuildDir = true; @@ -25,9 +36,11 @@ stdenv.mkDerivation rec { description = "Command-line time tracker"; homepage = "https://timewarrior.net"; license = licenses.mit; - maintainers = with maintainers; [ matthiasbeyer mrVanDalo ]; + maintainers = with maintainers; [ + matthiasbeyer + mrVanDalo + ]; mainProgram = "timew"; platforms = platforms.linux ++ platforms.darwin; }; } - diff --git a/pkgs/by-name/ti/timezonemap/package.nix b/pkgs/by-name/ti/timezonemap/package.nix index de7915b5f67bd..e886d8646cbb8 100644 --- a/pkgs/by-name/ti/timezonemap/package.nix +++ b/pkgs/by-name/ti/timezonemap/package.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, autoreconfHook -, fetchbzr -, fetchpatch -, pkg-config -, gtk3 -, glib -, file -, gobject-introspection -, json-glib -, libsoup_2_4 +{ + stdenv, + lib, + autoreconfHook, + fetchbzr, + fetchpatch, + pkg-config, + gtk3, + glib, + file, + gobject-introspection, + json-glib, + libsoup_2_4, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/timg/package.nix b/pkgs/by-name/ti/timg/package.nix index 3138b6daf8319..7eba3a5070791 100644 --- a/pkgs/by-name/ti/timg/package.nix +++ b/pkgs/by-name/ti/timg/package.nix @@ -1,20 +1,21 @@ -{ cmake -, fetchFromGitHub -, ffmpeg -, graphicsmagick -, lib -, libdeflate -, libexif -, libjpeg -, libsixel -, openslide -, poppler -, librsvg -, cairo -, pkg-config -, stb -, qoi -, stdenv +{ + cmake, + fetchFromGitHub, + ffmpeg, + graphicsmagick, + lib, + libdeflate, + libexif, + libjpeg, + libsixel, + openslide, + poppler, + librsvg, + cairo, + pkg-config, + stb, + qoi, + stdenv, }: stdenv.mkDerivation (finalAttrs: { @@ -43,7 +44,10 @@ stdenv.mkDerivation (finalAttrs: { stb ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DTIMG_VERSION_FROM_GIT=Off" diff --git a/pkgs/by-name/ti/tini/package.nix b/pkgs/by-name/ti/tini/package.nix index 72d6ecb059452..0779a1ac627cd 100644 --- a/pkgs/by-name/ti/tini/package.nix +++ b/pkgs/by-name/ti/tini/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { version = "0.19.0"; @@ -8,7 +13,7 @@ stdenv.mkDerivation rec { owner = "krallin"; repo = "tini"; rev = "v${version}"; - sha256 ="1hnnvjydg7gi5gx6nibjjdnfipblh84qcpajc08nvr44rkzswck4"; + sha256 = "1hnnvjydg7gi5gx6nibjjdnfipblh84qcpajc08nvr44rkzswck4"; }; postPatch = "sed -i /tini-static/d CMakeLists.txt"; diff --git a/pkgs/by-name/ti/tint2/package.nix b/pkgs/by-name/ti/tint2/package.nix index 46c89527c4f0b..8d13d220a7306 100644 --- a/pkgs/by-name/ti/tint2/package.nix +++ b/pkgs/by-name/ti/tint2/package.nix @@ -1,25 +1,27 @@ -{ lib, stdenv -, fetchFromGitLab -, fetchpatch -, pkg-config -, cmake -, gettext -, cairo -, pango -, glib -, imlib2 -, gtk3 -, libXinerama -, libXrender -, libXcomposite -, libXdamage -, libX11 -, libXrandr -, librsvg -, libpthreadstubs -, libXdmcp -, libstartup_notification -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + pkg-config, + cmake, + gettext, + cairo, + pango, + glib, + imlib2, + gtk3, + libXinerama, + libXrender, + libXcomposite, + libXdamage, + libX11, + libXrandr, + librsvg, + libpthreadstubs, + libXdmcp, + libstartup_notification, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/tintin/package.nix b/pkgs/by-name/ti/tintin/package.nix index 6f56512b1da24..2baa14b26a624 100644 --- a/pkgs/by-name/ti/tintin/package.nix +++ b/pkgs/by-name/ti/tintin/package.nix @@ -1,6 +1,12 @@ -{ stdenv, fetchFromGitHub, lib, zlib, pcre -, memorymappingHook, memstreamHook -, gnutls +{ + stdenv, + fetchFromGitHub, + lib, + zlib, + pcre, + memorymappingHook, + memstreamHook, + gnutls, }: stdenv.mkDerivation rec { @@ -14,8 +20,16 @@ stdenv.mkDerivation rec { hash = "sha256-AfWw9CMBAzTTsrZXDEoOdpvUofIQfLCW7hRgSb7LB00="; }; - buildInputs = [ zlib pcre gnutls ] - ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ]; + buildInputs = + [ + zlib + pcre + gnutls + ] + ++ lib.optionals (stdenv.system == "x86_64-darwin") [ + memorymappingHook + memstreamHook + ]; preConfigure = '' cd src @@ -23,10 +37,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Free MUD client for macOS, Linux and Windows"; - homepage = "https://tintin.mudhalla.net/index.php"; - license = licenses.gpl3Plus; + homepage = "https://tintin.mudhalla.net/index.php"; + license = licenses.gpl3Plus; maintainers = with maintainers; [ abathur ]; mainProgram = "tt++"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ti/tiny-cuda-nn/package.nix b/pkgs/by-name/ti/tiny-cuda-nn/package.nix index 74a76d2b9c90f..e6768fd6b6942 100644 --- a/pkgs/by-name/ti/tiny-cuda-nn/package.nix +++ b/pkgs/by-name/ti/tiny-cuda-nn/package.nix @@ -4,12 +4,13 @@ fetchFromGitHub, lib, ninja, - python3Packages ? {}, + python3Packages ? { }, pythonSupport ? false, stdenv, symlinkJoin, which, -}: let +}: +let inherit (lib) lists strings; inherit (cudaPackages) backendStdenv cudaVersion flags; @@ -27,9 +28,7 @@ cuda-native-redist = symlinkJoin { name = "cuda-redist"; - paths = with cudaPackages; - [cuda_nvcc] - ++ cuda-common-redist; + paths = with cudaPackages; [ cuda_nvcc ] ++ cuda-common-redist; }; cuda-redist = symlinkJoin { @@ -45,134 +44,139 @@ cudaArchitecturesString = strings.concatMapStringsSep ";" flags.dropDot cudaCapabilities; in - stdenv.mkDerivation (finalAttrs: { - pname = "tiny-cuda-nn"; - version = "1.6"; - strictDeps = true; - - format = strings.optionalString pythonSupport "setuptools"; - - src = fetchFromGitHub { - owner = "NVlabs"; - repo = "tiny-cuda-nn"; - rev = "v${finalAttrs.version}"; - fetchSubmodules = true; - hash = "sha256-qW6Fk2GB71fvZSsfu+mykabSxEKvaikZ/pQQZUycOy0="; - }; - - # Remove this once a release is made with - # https://github.com/NVlabs/tiny-cuda-nn/commit/78a14fe8c292a69f54e6d0d47a09f52b777127e1 - postPatch = lib.optionals (strings.versionAtLeast cudaVersion "11.0") '' - substituteInPlace bindings/torch/setup.py --replace-fail \ - "-std=c++14" "-std=c++17" - ''; +stdenv.mkDerivation (finalAttrs: { + pname = "tiny-cuda-nn"; + version = "1.6"; + strictDeps = true; + + format = strings.optionalString pythonSupport "setuptools"; + + src = fetchFromGitHub { + owner = "NVlabs"; + repo = "tiny-cuda-nn"; + rev = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-qW6Fk2GB71fvZSsfu+mykabSxEKvaikZ/pQQZUycOy0="; + }; - nativeBuildInputs = + # Remove this once a release is made with + # https://github.com/NVlabs/tiny-cuda-nn/commit/78a14fe8c292a69f54e6d0d47a09f52b777127e1 + postPatch = lib.optionals (strings.versionAtLeast cudaVersion "11.0") '' + substituteInPlace bindings/torch/setup.py --replace-fail \ + "-std=c++14" "-std=c++17" + ''; + + nativeBuildInputs = + [ + cmake + cuda-native-redist + ninja + which + ] + ++ lists.optionals pythonSupport ( + with python3Packages; [ - cmake - cuda-native-redist - ninja - which - ] - ++ lists.optionals pythonSupport (with python3Packages; [ pip setuptools wheel - ]); + ] + ); - buildInputs = + buildInputs = + [ + cuda-redist + ] + ++ lib.optionals pythonSupport ( + with python3Packages; [ - cuda-redist - ] - ++ lib.optionals pythonSupport ( - with python3Packages; [ - pybind11 - python - ] - ); - - propagatedBuildInputs = lib.optionals pythonSupport ( - with python3Packages; [ - torch + pybind11 + python ] ); - # NOTE: We cannot use pythonImportsCheck for this module because it uses torch to immediately - # initailize CUDA and GPU access is not allowed in the nix build environment. - # NOTE: There are no tests for the C++ library or the python bindings, so we just skip the check - # phase -- we're not missing anything. - doCheck = false; - - preConfigure = '' - export TCNN_CUDA_ARCHITECTURES="${cudaArchitecturesString}" - export CUDA_HOME="${cuda-native-redist}" - export LIBRARY_PATH="${cuda-native-redist}/lib/stubs:$LIBRARY_PATH" - export CC="${backendStdenv.cc}/bin/cc" - export CXX="${backendStdenv.cc}/bin/c++" - ''; - - # When building the python bindings, we cannot re-use the artifacts from the C++ build so we - # skip the CMake confurePhase and the buildPhase. - dontUseCmakeConfigure = pythonSupport; - - # The configurePhase usually puts you in the build directory, so for the python bindings we - # need to change directories to the source directory. - configurePhase = strings.optionalString pythonSupport '' - runHook preConfigure - mkdir -p "$NIX_BUILD_TOP/build" - cd "$NIX_BUILD_TOP/build" - runHook postConfigure - ''; - - buildPhase = strings.optionalString pythonSupport '' - runHook preBuild - python -m pip wheel \ + propagatedBuildInputs = lib.optionals pythonSupport ( + with python3Packages; + [ + torch + ] + ); + + # NOTE: We cannot use pythonImportsCheck for this module because it uses torch to immediately + # initailize CUDA and GPU access is not allowed in the nix build environment. + # NOTE: There are no tests for the C++ library or the python bindings, so we just skip the check + # phase -- we're not missing anything. + doCheck = false; + + preConfigure = '' + export TCNN_CUDA_ARCHITECTURES="${cudaArchitecturesString}" + export CUDA_HOME="${cuda-native-redist}" + export LIBRARY_PATH="${cuda-native-redist}/lib/stubs:$LIBRARY_PATH" + export CC="${backendStdenv.cc}/bin/cc" + export CXX="${backendStdenv.cc}/bin/c++" + ''; + + # When building the python bindings, we cannot re-use the artifacts from the C++ build so we + # skip the CMake confurePhase and the buildPhase. + dontUseCmakeConfigure = pythonSupport; + + # The configurePhase usually puts you in the build directory, so for the python bindings we + # need to change directories to the source directory. + configurePhase = strings.optionalString pythonSupport '' + runHook preConfigure + mkdir -p "$NIX_BUILD_TOP/build" + cd "$NIX_BUILD_TOP/build" + runHook postConfigure + ''; + + buildPhase = strings.optionalString pythonSupport '' + runHook preBuild + python -m pip wheel \ + --no-build-isolation \ + --no-clean \ + --no-deps \ + --no-index \ + --verbose \ + --wheel-dir "$NIX_BUILD_TOP/build" \ + "$NIX_BUILD_TOP/source/bindings/torch" + runHook postBuild + ''; + + installPhase = + '' + runHook preInstall + mkdir -p "$out/lib" + '' + # Installing the C++ library just requires copying the static library to the output directory + + strings.optionalString (!pythonSupport) '' + cp libtiny-cuda-nn.a "$out/lib/" + '' + # Installing the python bindings requires building the wheel and installing it + + strings.optionalString pythonSupport '' + python -m pip install \ --no-build-isolation \ - --no-clean \ + --no-cache-dir \ --no-deps \ --no-index \ + --no-warn-script-location \ + --prefix="$out" \ --verbose \ - --wheel-dir "$NIX_BUILD_TOP/build" \ - "$NIX_BUILD_TOP/source/bindings/torch" - runHook postBuild + ./*.whl + '' + + '' + runHook postInstall ''; - installPhase = - '' - runHook preInstall - mkdir -p "$out/lib" - '' - # Installing the C++ library just requires copying the static library to the output directory - + strings.optionalString (!pythonSupport) '' - cp libtiny-cuda-nn.a "$out/lib/" - '' - # Installing the python bindings requires building the wheel and installing it - + strings.optionalString pythonSupport '' - python -m pip install \ - --no-build-isolation \ - --no-cache-dir \ - --no-deps \ - --no-index \ - --no-warn-script-location \ - --prefix="$out" \ - --verbose \ - ./*.whl - '' - + '' - runHook postInstall - ''; - - passthru = { - inherit cudaPackages; - }; - - meta = with lib; { - description = "Lightning fast C++/CUDA neural network framework"; - homepage = "https://github.com/NVlabs/tiny-cuda-nn"; - license = licenses.bsd3; - maintainers = with maintainers; [connorbaker]; - platforms = platforms.linux; - # g++: error: unrecognized command-line option '-mf16c' - broken = stdenv.hostPlatform.isAarch64; - }; - }) + passthru = { + inherit cudaPackages; + }; + + meta = with lib; { + description = "Lightning fast C++/CUDA neural network framework"; + homepage = "https://github.com/NVlabs/tiny-cuda-nn"; + license = licenses.bsd3; + maintainers = with maintainers; [ connorbaker ]; + platforms = platforms.linux; + # g++: error: unrecognized command-line option '-mf16c' + broken = stdenv.hostPlatform.isAarch64; + }; +}) diff --git a/pkgs/by-name/ti/tiny8086/package.nix b/pkgs/by-name/ti/tiny8086/package.nix index a3dc3c07265c8..94b55902c72d3 100644 --- a/pkgs/by-name/ti/tiny8086/package.nix +++ b/pkgs/by-name/ti/tiny8086/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, localBios ? true -, nasm -, sdlSupport ? true -, SDL +{ + lib, + stdenv, + fetchFromGitHub, + localBios ? true, + nasm, + sdlSupport ? true, + SDL, }: stdenv.mkDerivation rec { @@ -18,8 +19,7 @@ stdenv.mkDerivation rec { sha256 = "00aydg8f28sgy8l3rd2a7jvp56lx3b63hhak43p7g7vjdikv495w"; }; - buildInputs = lib.optional localBios nasm - ++ lib.optional sdlSupport SDL; + buildInputs = lib.optional localBios nasm ++ lib.optional sdlSupport SDL; makeFlags = [ "8086tiny" ]; diff --git a/pkgs/by-name/ti/tinyalsa/package.nix b/pkgs/by-name/ti/tinyalsa/package.nix index e8a388dbef679..e21bf9f0b8847 100644 --- a/pkgs/by-name/ti/tinyalsa/package.nix +++ b/pkgs/by-name/ti/tinyalsa/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/tinycbor/package.nix b/pkgs/by-name/ti/tinycbor/package.nix index 9f9a060d74d8e..36add6430e24f 100644 --- a/pkgs/by-name/ti/tinycbor/package.nix +++ b/pkgs/by-name/ti/tinycbor/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "tinycbor"; diff --git a/pkgs/by-name/ti/tinycdb/package.nix b/pkgs/by-name/ti/tinycdb/package.nix index c13e97e968bfe..69c6ade37992f 100644 --- a/pkgs/by-name/ti/tinycdb/package.nix +++ b/pkgs/by-name/ti/tinycdb/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: let isCross = stdenv.buildPlatform != stdenv.hostPlatform; cross = "${stdenv.hostPlatform.config}"; @@ -7,7 +11,8 @@ let cc = if !isCross then "cc" else "${cross}-cc"; ar = if !isCross then "ar" else "${cross}-ar"; ranlib = if !isCross then "ranlib" else "${cross}-ranlib"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { postPatch = '' sed -i 's,set --, set -x; set --,' Makefile ''; @@ -16,22 +21,37 @@ in stdenv.mkDerivation rec { # In general, static library (.a) goes to "dev", shared (.so) to # "lib". In case of static build, there is no .so library, so "lib" # output is useless and empty. - outputs = [ "out" "dev" "man" ] ++ lib.optional (!static) "lib"; + outputs = [ + "out" + "dev" + "man" + ] ++ lib.optional (!static) "lib"; separateDebugInfo = true; - makeFlags = - [ "prefix=$(out)" "CC=${cc}" "AR=${ar}" "RANLIB=${ranlib}" "static" + makeFlags = [ + "prefix=$(out)" + "CC=${cc}" + "AR=${ar}" + "RANLIB=${ranlib}" + "static" ] ++ lib.optional (!static) "shared"; - postInstall = '' - mkdir -p $dev/lib $out/bin - mv $out/lib/libcdb.a $dev/lib - rmdir $out/lib - '' + (if static then '' - cp cdb $out/bin/cdb - '' else '' - mkdir -p $lib/lib - cp libcdb.so* $lib/lib - cp cdb-shared $out/bin/cdb - ''); + postInstall = + '' + mkdir -p $dev/lib $out/bin + mv $out/lib/libcdb.a $dev/lib + rmdir $out/lib + '' + + ( + if static then + '' + cp cdb $out/bin/cdb + '' + else + '' + mkdir -p $lib/lib + cp libcdb.so* $lib/lib + cp cdb-shared $out/bin/cdb + '' + ); src = fetchurl { url = "http://www.corpit.ru/mjt/tinycdb/${pname}-${version}.tar.gz"; diff --git a/pkgs/by-name/ti/tinycompress/package.nix b/pkgs/by-name/ti/tinycompress/package.nix index 3126b4b51c5d0..39398fb79c6ba 100644 --- a/pkgs/by-name/ti/tinycompress/package.nix +++ b/pkgs/by-name/ti/tinycompress/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/tinyfecvpn/package.nix b/pkgs/by-name/ti/tinyfecvpn/package.nix index 68e7e31af3166..9907e1f50d2ac 100644 --- a/pkgs/by-name/ti/tinyfecvpn/package.nix +++ b/pkgs/by-name/ti/tinyfecvpn/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, +}: stdenv.mkDerivation rec { pname = "tinyfecvpn"; diff --git a/pkgs/by-name/ti/tinymembench/package.nix b/pkgs/by-name/ti/tinymembench/package.nix index 3cb444ed334c0..0dc6f5a7fd102 100644 --- a/pkgs/by-name/ti/tinymembench/package.nix +++ b/pkgs/by-name/ti/tinymembench/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/tinyobjloader/package.nix b/pkgs/by-name/ti/tinyobjloader/package.nix index e2fd82732688f..a48259172c459 100644 --- a/pkgs/by-name/ti/tinyobjloader/package.nix +++ b/pkgs/by-name/ti/tinyobjloader/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/tinyprog/package.nix b/pkgs/by-name/ti/tinyprog/package.nix index 0e962d2f2a2b7..2e2c0776a80eb 100644 --- a/pkgs/by-name/ti/tinyprog/package.nix +++ b/pkgs/by-name/ti/tinyprog/package.nix @@ -1,9 +1,11 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: -with python3Packages; buildPythonApplication rec { +with python3Packages; +buildPythonApplication rec { pname = "tinyprog"; # `python setup.py --version` from repo checkout version = "1.0.24.dev114+g${lib.substring 0 7 src.rev}"; diff --git a/pkgs/by-name/ti/tinyproxy/package.nix b/pkgs/by-name/ti/tinyproxy/package.nix index b5d45baf998b7..01c1382afd86a 100644 --- a/pkgs/by-name/ti/tinyproxy/package.nix +++ b/pkgs/by-name/ti/tinyproxy/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, perl -, nixosTests -, withDebug ? false +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + perl, + nixosTests, + withDebug ? false, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { }; # perl is needed for man page generation. - nativeBuildInputs = [ autoreconfHook perl ]; + nativeBuildInputs = [ + autoreconfHook + perl + ]; configureFlags = lib.optionals withDebug [ "--enable-debug" ]; # Enable debugging support code and methods. passthru.tests = { inherit (nixosTests) tinyproxy; }; diff --git a/pkgs/by-name/ti/tinyscheme/package.nix b/pkgs/by-name/ti/tinyscheme/package.nix index e22f74c405992..4d6f5dca769b4 100644 --- a/pkgs/by-name/ti/tinyscheme/package.nix +++ b/pkgs/by-name/ti/tinyscheme/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, dos2unix -, runCommand -, tinyscheme +{ + lib, + stdenv, + fetchurl, + dos2unix, + runCommand, + tinyscheme, }: stdenv.mkDerivation rec { @@ -18,21 +19,23 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ dos2unix ]; prePatch = "dos2unix makefile"; - patches = [ - # The alternate macOS main makes use of `ccommand` which seems to be - # `MetroWerks CodeWarrier` specific: - # https://ptgmedia.pearsoncmg.com/imprint_downloads/informit/downloads/9780201703535/macfix.html - # - # In any case, this is not needed to build on macOS. - ./01-remove-macOS-main.patch + patches = + [ + # The alternate macOS main makes use of `ccommand` which seems to be + # `MetroWerks CodeWarrier` specific: + # https://ptgmedia.pearsoncmg.com/imprint_downloads/informit/downloads/9780201703535/macfix.html + # + # In any case, this is not needed to build on macOS. + ./01-remove-macOS-main.patch - # We want to have the makefile pick up $CC, etc. so that we don't have - # to unnecessarily tie this package to the GCC stdenv. - ./02-use-toolchain-env-vars.patch - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # On macOS the library suffix is .dylib: - ./03-macOS-SOsuf.patch - ]; + # We want to have the makefile pick up $CC, etc. so that we don't have + # to unnecessarily tie this package to the GCC stdenv. + ./02-use-toolchain-env-vars.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # On macOS the library suffix is .dylib: + ./03-macOS-SOsuf.patch + ]; postPatch = '' substituteInPlace scheme.c --replace "init.scm" "$out/lib/init.scm" ''; @@ -46,11 +49,11 @@ stdenv.mkDerivation rec { passthru.tests = { # Checks that the program can run and exit: - simple = runCommand "${pname}-simple-test" {} '' + simple = runCommand "${pname}-simple-test" { } '' ${tinyscheme}/bin/tinyscheme <<<"(quit 0)" echo "success" > $out ''; - fileIo = runCommand "${pname}-file-io-test" {} '' + fileIo = runCommand "${pname}-file-io-test" { } '' ${tinyscheme}/bin/tinyscheme < $out || : [[ "$(cat $out)" =~ ^Usage: ]] ''; diff --git a/pkgs/by-name/ti/tinysparql/package.nix b/pkgs/by-name/ti/tinysparql/package.nix index 240dbf789f57e..2a7d30f5d4ab6 100644 --- a/pkgs/by-name/ti/tinysparql/package.nix +++ b/pkgs/by-name/ti/tinysparql/package.nix @@ -1,46 +1,55 @@ -{ stdenv -, lib -, fetchpatch2 -, fetchurl -, gettext -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, asciidoc -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, vala -, python3 -, gi-docgen -, graphviz -, libxml2 -, glib -, wrapGAppsNoGuiHook -, sqlite -, libstemmer -, gnome -, icu -, libuuid -, libsoup_3 -, json-glib -, avahi -, systemd -, dbus -, man-db -, writeText -, testers +{ + stdenv, + lib, + fetchpatch2, + fetchurl, + gettext, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + asciidoc, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + vala, + python3, + gi-docgen, + graphviz, + libxml2, + glib, + wrapGAppsNoGuiHook, + sqlite, + libstemmer, + gnome, + icu, + libuuid, + libsoup_3, + json-glib, + avahi, + systemd, + dbus, + man-db, + writeText, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "tinysparql"; version = "3.8.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { - url = with finalAttrs; "mirror://gnome/sources/tinysparql/${lib.versions.majorMinor version}/tinysparql-${version}.tar.xz"; + url = + with finalAttrs; + "mirror://gnome/sources/tinysparql/${lib.versions.majorMinor version}/tinysparql-${version}.tar.xz"; hash = "sha256-wPzad1IPUxVIsjlRN9zRk+6c3l4iLTydJz8DDRdipQQ="; }; @@ -50,62 +59,70 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - asciidoc - gettext - glib - wrapGAppsNoGuiHook - gi-docgen - graphviz - (python3.pythonOnBuildForHost.withPackages (p: [ p.pygobject3 ])) - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + asciidoc + gettext + glib + wrapGAppsNoGuiHook + gi-docgen + graphviz + (python3.pythonOnBuildForHost.withPackages (p: [ p.pygobject3 ])) + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + vala + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - glib - libxml2 - sqlite - icu - libsoup_3 - libuuid - json-glib - avahi - libstemmer - dbus - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - systemd - ]; + buildInputs = + [ + glib + libxml2 + sqlite + icu + libsoup_3 + libuuid + json-glib + avahi + libstemmer + dbus + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + systemd + ]; nativeCheckInputs = [ dbus man-db ]; - mesonFlags = [ - "-Ddocs=true" - (lib.mesonEnable "introspection" withIntrospection) - (lib.mesonEnable "vapi" withIntrospection) - ] ++ ( - let - # https://gitlab.gnome.org/GNOME/tinysparql/-/blob/3.7.3/meson.build#L170 - crossFile = writeText "cross-file.conf" '' - [properties] - sqlite3_has_fts5 = '${lib.boolToString (lib.hasInfix "-DSQLITE_ENABLE_FTS3" sqlite.NIX_CFLAGS_COMPILE)}' - ''; - in + mesonFlags = [ - "--cross-file=${crossFile}" + "-Ddocs=true" + (lib.mesonEnable "introspection" withIntrospection) + (lib.mesonEnable "vapi" withIntrospection) ] - ) ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ - "-Dsystemd_user_services=false" - ]; + ++ ( + let + # https://gitlab.gnome.org/GNOME/tinysparql/-/blob/3.7.3/meson.build#L170 + crossFile = writeText "cross-file.conf" '' + [properties] + sqlite3_has_fts5 = '${lib.boolToString (lib.hasInfix "-DSQLITE_ENABLE_FTS3" sqlite.NIX_CFLAGS_COMPILE)}' + ''; + in + [ + "--cross-file=${crossFile}" + ] + ) + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + "-Dsystemd_user_services=false" + ]; patches = [ # https://gitlab.gnome.org/GNOME/tinysparql/-/merge_requests/730 @@ -187,7 +204,10 @@ stdenv.mkDerivation (finalAttrs: { maintainers = teams.gnome.members; license = licenses.gpl2Plus; platforms = platforms.unix; - pkgConfigModules = [ "tracker-sparql-3.0" "tinysparql-3.0" ]; + pkgConfigModules = [ + "tracker-sparql-3.0" + "tinysparql-3.0" + ]; # Not before is properly conditioned. broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/ti/tinystatus/package.nix b/pkgs/by-name/ti/tinystatus/package.nix index 59a6dcff9dee3..f5043e6452388 100644 --- a/pkgs/by-name/ti/tinystatus/package.nix +++ b/pkgs/by-name/ti/tinystatus/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenvNoCC, makeWrapper, netcat, curl, unixtools, coreutils, mktemp -, findutils, gnugrep, fetchFromGitHub, gawk, gnused }: +{ + lib, + stdenvNoCC, + makeWrapper, + netcat, + curl, + unixtools, + coreutils, + mktemp, + findutils, + gnugrep, + fetchFromGitHub, + gawk, + gnused, +}: stdenvNoCC.mkDerivation rec { pname = "tinystatus"; diff --git a/pkgs/by-name/ti/tinywm/package.nix b/pkgs/by-name/ti/tinywm/package.nix index 32c0e2df49c25..6955dd2c2fc01 100644 --- a/pkgs/by-name/ti/tinywm/package.nix +++ b/pkgs/by-name/ti/tinywm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + libX11, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ti/tinyxml-2/package.nix b/pkgs/by-name/ti/tinyxml-2/package.nix index c814cdf570e20..b601e57a17ebc 100644 --- a/pkgs/by-name/ti/tinyxml-2/package.nix +++ b/pkgs/by-name/ti/tinyxml-2/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ti/tipa/package.nix b/pkgs/by-name/ti/tipa/package.nix index a0cc7106afe67..d9508e61440de 100644 --- a/pkgs/by-name/ti/tipa/package.nix +++ b/pkgs/by-name/ti/tipa/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tipa"; @@ -26,5 +30,3 @@ stdenv.mkDerivation rec { license = lib.licenses.lppl13c; }; } - - diff --git a/pkgs/by-name/ti/tippecanoe/package.nix b/pkgs/by-name/ti/tippecanoe/package.nix index 540e0eb5dc8de..5d7683e5f934f 100644 --- a/pkgs/by-name/ti/tippecanoe/package.nix +++ b/pkgs/by-name/ti/tippecanoe/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, sqlite, zlib, perl, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + sqlite, + zlib, + perl, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "tippecanoe"; @@ -11,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-5Ox/2K9cls8lZ+C/Fh5VQmgNEtbdMW0mh4fhBl6ecP8="; }; - buildInputs = [ sqlite zlib ]; + buildInputs = [ + sqlite + zlib + ]; nativeCheckInputs = [ perl ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/ti/tiptop/package.nix b/pkgs/by-name/ti/tiptop/package.nix index 919df3bbedfcd..6ebb325232880 100644 --- a/pkgs/by-name/ti/tiptop/package.nix +++ b/pkgs/by-name/ti/tiptop/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, libxml2, ncurses, bison, flex }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libxml2, + ncurses, + bison, + flex, +}: stdenv.mkDerivation rec { pname = "tiptop"; @@ -28,8 +37,14 @@ stdenv.mkDerivation rec { substituteInPlace ./configure --replace -lcurses -lncurses ''; - nativeBuildInputs = [ flex bison ]; - buildInputs = [ libxml2 ncurses ]; + nativeBuildInputs = [ + flex + bison + ]; + buildInputs = [ + libxml2 + ncurses + ]; env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; @@ -41,4 +56,3 @@ stdenv.mkDerivation rec { maintainers = [ ]; }; } - diff --git a/pkgs/by-name/ti/tiramisu/package.nix b/pkgs/by-name/ti/tiramisu/package.nix index 4a123be328c90..c4a3c2cad4e54 100644 --- a/pkgs/by-name/ti/tiramisu/package.nix +++ b/pkgs/by-name/ti/tiramisu/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, vala }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + vala, +}: stdenv.mkDerivation rec { pname = "tiramisu"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { buildInputs = [ glib ]; - nativeBuildInputs = [ pkg-config vala ]; + nativeBuildInputs = [ + pkg-config + vala + ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -29,7 +39,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Sweets/tiramisu"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ wishfort36 moni ]; + maintainers = with maintainers; [ + wishfort36 + moni + ]; mainProgram = "tiramisu"; }; } diff --git a/pkgs/by-name/ti/tiscamera/package.nix b/pkgs/by-name/ti/tiscamera/package.nix index d93eeaff27232..d3aacec4e45a2 100644 --- a/pkgs/by-name/ti/tiscamera/package.nix +++ b/pkgs/by-name/ti/tiscamera/package.nix @@ -1,34 +1,35 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, runtimeShell -, catch2 -, elfutils -, libselinux -, libsepol -, libunwind -, libusb1 -, libuuid -, libzip -, orc -, pcre -, zstd -, glib -, gobject-introspection -, gst_all_1 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + runtimeShell, + catch2, + elfutils, + libselinux, + libsepol, + libunwind, + libusb1, + libuuid, + libzip, + orc, + pcre, + zstd, + glib, + gobject-introspection, + gst_all_1, + wrapGAppsHook3, # needs pkg_resources -, withDoc ? false -, sphinx -, graphviz -, withAravis ? true -, aravis -, meson -, withAravisUsbVision ? withAravis -, withGui ? true -, qt5 + withDoc ? false, + sphinx, + graphviz, + withAravis ? true, + aravis, + meson, + withAravisUsbVision ? withAravis, + withGui ? true, + qt5, }: stdenv.mkDerivation rec { @@ -51,42 +52,49 @@ stdenv.mkDerivation rec { --replace "typically /usr/share/theimagingsource/tiscamera/uvc-extension/" "" ''; - nativeBuildInputs = [ - cmake - pkg-config - wrapGAppsHook3 - gobject-introspection - ] ++ lib.optionals withDoc [ - sphinx - graphviz - ] ++ lib.optionals withAravis [ - meson - ] ++ lib.optionals withGui [ - qt5.wrapQtAppsHook - ]; - - buildInputs = [ - elfutils - libselinux - libsepol - libunwind - libusb1 - libuuid - libzip - orc - pcre - zstd - glib - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly - ] ++ lib.optionals withAravis [ - aravis - ] ++ lib.optionals withGui [ - qt5.qtbase - ]; + nativeBuildInputs = + [ + cmake + pkg-config + wrapGAppsHook3 + gobject-introspection + ] + ++ lib.optionals withDoc [ + sphinx + graphviz + ] + ++ lib.optionals withAravis [ + meson + ] + ++ lib.optionals withGui [ + qt5.wrapQtAppsHook + ]; + + buildInputs = + [ + elfutils + libselinux + libsepol + libunwind + libusb1 + libuuid + libzip + orc + pcre + zstd + glib + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + ] + ++ lib.optionals withAravis [ + aravis + ] + ++ lib.optionals withGui [ + qt5.qtbase + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/ti/titanion/package.nix b/pkgs/by-name/ti/titanion/package.nix index 6b74eb351dd48..2235d32c51483 100644 --- a/pkgs/by-name/ti/titanion/package.nix +++ b/pkgs/by-name/ti/titanion/package.nix @@ -1,58 +1,46 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, unzip -, gdc -, SDL -, SDL_mixer -, bulletml +{ + lib, + stdenv, + fetchpatch, + fetchurl, + unzip, + gdc, + SDL, + SDL_mixer, + bulletml, }: let -debianPatch = patchname: hash: fetchpatch { - name = "${patchname}.patch"; - url = "https://sources.debian.org/data/main/t/titanion/0.3.dfsg1-7/debian/patches/${patchname}"; - sha256 = hash; -}; + debianPatch = + patchname: hash: + fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/t/titanion/0.3.dfsg1-7/debian/patches/${patchname}"; + sha256 = hash; + }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "titanion"; version = "0.3"; src = fetchurl { - url = "http://abagames.sakura.ne.jp/windows/ttn${lib.replaceStrings ["."] ["_"] finalAttrs.version}.zip"; + url = "http://abagames.sakura.ne.jp/windows/ttn${ + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }.zip"; sha256 = "sha256-fR0cufi6dU898wP8KGl/vxbfQJzMmMxlYZ3QNGLajfM="; }; patches = [ - (debianPatch - "imports.patch" - "sha256-kSXpaTpYq6w9e0yLES2QGNQ8+vFIiOpw2P9MA8gZr8s=") - (debianPatch - "fix.diff" - "sha256-0WkkfuhJaAMY46VVyc3ldMQwgOVoQJDw/8zbm6H2sHU=") - (debianPatch - "directories.patch" - "sha256-fhQJuy2+r0YOQNwMqG85Gr7fJehmf00Scran+NPYQrw=") - (debianPatch - "windowed.patch" - "sha256-xouXIuIKfKFGsoOEJqL9jdsdnkX4nqwPGcoB+32Wvgo=") - (debianPatch - "dotfile.patch" - "sha256-sAml53Hh0ltbqN8xZDZuUJcaPfjK56jf4ymFXYD38v0=") - (debianPatch - "window-resize.patch" - "sha256-WwAi1aU4CmaX+O8fw0TfLhNSXFaObExrn7nuhesVkKM=") - (debianPatch - "makefile.patch" - "sha256-g0jDPmc0SWXkTLhiczeTse/WGCtgMUsbyPNZzwK3U+o=") - (debianPatch - "dlang_v2.patch" - "sha256-tfTAAKlPFSjbfAK1EjeB3unj9tbMlNaajJ+VVSMMiYw=") - (debianPatch - "gdc-8.patch" - "sha256-BxkPfSEymq7TDA+yjJHaYsjtGr0Tuu1/sWLwRBAMga4=") + (debianPatch "imports.patch" "sha256-kSXpaTpYq6w9e0yLES2QGNQ8+vFIiOpw2P9MA8gZr8s=") + (debianPatch "fix.diff" "sha256-0WkkfuhJaAMY46VVyc3ldMQwgOVoQJDw/8zbm6H2sHU=") + (debianPatch "directories.patch" "sha256-fhQJuy2+r0YOQNwMqG85Gr7fJehmf00Scran+NPYQrw=") + (debianPatch "windowed.patch" "sha256-xouXIuIKfKFGsoOEJqL9jdsdnkX4nqwPGcoB+32Wvgo=") + (debianPatch "dotfile.patch" "sha256-sAml53Hh0ltbqN8xZDZuUJcaPfjK56jf4ymFXYD38v0=") + (debianPatch "window-resize.patch" "sha256-WwAi1aU4CmaX+O8fw0TfLhNSXFaObExrn7nuhesVkKM=") + (debianPatch "makefile.patch" "sha256-g0jDPmc0SWXkTLhiczeTse/WGCtgMUsbyPNZzwK3U+o=") + (debianPatch "dlang_v2.patch" "sha256-tfTAAKlPFSjbfAK1EjeB3unj9tbMlNaajJ+VVSMMiYw=") + (debianPatch "gdc-8.patch" "sha256-BxkPfSEymq7TDA+yjJHaYsjtGr0Tuu1/sWLwRBAMga4=") ]; postPatch = '' diff --git a/pkgs/by-name/ti/tiv/package.nix b/pkgs/by-name/ti/tiv/package.nix index 4bfb705ae8612..b2347948d2e83 100644 --- a/pkgs/by-name/ti/tiv/package.nix +++ b/pkgs/by-name/ti/tiv/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, imagemagick +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + imagemagick, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ti/tivodecode/package.nix b/pkgs/by-name/ti/tivodecode/package.nix index c21a0611262da..0d794b27ae778 100644 --- a/pkgs/by-name/ti/tivodecode/package.nix +++ b/pkgs/by-name/ti/tivodecode/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let version = "0.2pre4"; diff --git a/pkgs/by-name/tk/tkdiff/package.nix b/pkgs/by-name/tk/tkdiff/package.nix index 3e6fe807b611e..73e450828c7b2 100644 --- a/pkgs/by-name/tk/tkdiff/package.nix +++ b/pkgs/by-name/tk/tkdiff/package.nix @@ -1,11 +1,20 @@ -{ diffutils, fetchzip, lib, makeBinaryWrapper, stdenv, tk }: +{ + diffutils, + fetchzip, + lib, + makeBinaryWrapper, + stdenv, + tk, +}: stdenv.mkDerivation (finalAttrs: { pname = "tkdiff"; version = "5.7"; src = fetchzip { - url = "mirror://sourceforge/tkdiff/tkdiff-${builtins.replaceStrings ["."] ["-"] finalAttrs.version}.zip"; + url = "mirror://sourceforge/tkdiff/tkdiff-${ + builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version + }.zip"; hash = "sha256-ZndpolvaXoCAzR4KF+Bu7DJrXyB/C2H2lWp5FyzOc4M="; }; @@ -16,7 +25,12 @@ stdenv.mkDerivation (finalAttrs: { install -Dm755 -t $out/bin tkdiff wrapProgram $out/bin/tkdiff \ - --prefix PATH : ${lib.makeBinPath [ diffutils tk ]} + --prefix PATH : ${ + lib.makeBinPath [ + diffutils + tk + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/tk/tkey-ssh-agent/package.nix b/pkgs/by-name/tk/tkey-ssh-agent/package.nix index f377f940baa4f..2ada4ad71cb6e 100644 --- a/pkgs/by-name/tk/tkey-ssh-agent/package.nix +++ b/pkgs/by-name/tk/tkey-ssh-agent/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, buildGoModule, gitUpdater, testers, tkey-ssh-agent }: +{ + lib, + fetchFromGitHub, + buildGoModule, + gitUpdater, + testers, + tkey-ssh-agent, +}: buildGoModule rec { pname = "tkey-ssh-agent"; @@ -28,9 +35,9 @@ buildGoModule rec { meta = with lib; { description = "SSH Agent for TKey, the flexible open hardware/software USB security key"; - homepage = "https://tillitis.se/app/tkey-ssh-agent/"; - license = licenses.gpl2; + homepage = "https://tillitis.se/app/tkey-ssh-agent/"; + license = licenses.gpl2; maintainers = with maintainers; [ bbigras ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/tk/tkman/package.nix b/pkgs/by-name/tk/tkman/package.nix index c51c3564fef8a..293280fa8e6ab 100644 --- a/pkgs/by-name/tk/tkman/package.nix +++ b/pkgs/by-name/tk/tkman/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchzip -, fetchpatch -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, tk -, groff -, rman +{ + lib, + stdenv, + fetchzip, + fetchpatch, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + tk, + groff, + rman, }: stdenv.mkDerivation (finalAttrs: { @@ -24,10 +25,12 @@ stdenv.mkDerivation (finalAttrs: { copyDesktopItems ]; - patches = [(fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/tkman/files/tkman-CVE-2008-5137.diff"; - hash = "sha256-l97SY2/YnMgzHYKnVYCVJKV7oGLN1hXNpeHFlLVzTMA="; - })]; + patches = [ + (fetchpatch { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/tkman/files/tkman-CVE-2008-5137.diff"; + hash = "sha256-l97SY2/YnMgzHYKnVYCVJKV7oGLN1hXNpeHFlLVzTMA="; + }) + ]; makeFlags = [ "BINDIR=$(out)/bin" @@ -54,16 +57,18 @@ stdenv.mkDerivation (finalAttrs: { install -Dm644 contrib/TkMan.gif $out/share/icons/hicolor/64x64/apps/tkman.gif ''; - desktopItems = [(makeDesktopItem { - name = "tkman"; - desktopName = "TkMan"; - comment = "Graphical man page and info viewer"; - exec = "tkman %f"; - icon = "tkman"; - terminal = false; - type = "Application"; - categories = [ "Utility" ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = "tkman"; + desktopName = "TkMan"; + comment = "Graphical man page and info viewer"; + exec = "tkman %f"; + icon = "tkman"; + terminal = false; + type = "Application"; + categories = [ "Utility" ]; + }) + ]; meta = with lib; { description = "Graphical, hypertext manual page and Texinfo browser for UNIX"; diff --git a/pkgs/by-name/tk/tkrev/package.nix b/pkgs/by-name/tk/tkrev/package.nix index 66c1aa4d0e12e..d440bc9693c7a 100644 --- a/pkgs/by-name/tk/tkrev/package.nix +++ b/pkgs/by-name/tk/tkrev/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, tcl, tk }: +{ + lib, + stdenv, + fetchurl, + tcl, + tk, +}: stdenv.mkDerivation rec { pname = "tkrev"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-WHDZPShEB9Q+Bjbb37mogJLUZk2GuWoO8bz+Zydc7i4="; }; - buildInputs = [ tcl tk ]; + buildInputs = [ + tcl + tk + ]; patchPhase = '' for file in tkrev/tkrev.tcl tkdiff/tkdiff; do diff --git a/pkgs/by-name/tk/tkrzw/package.nix b/pkgs/by-name/tk/tkrzw/package.nix index b79ecec9c623a..97f2d05efe668 100644 --- a/pkgs/by-name/tk/tkrzw/package.nix +++ b/pkgs/by-name/tk/tkrzw/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tkrzw"; diff --git a/pkgs/by-name/tl/tl-expected/package.nix b/pkgs/by-name/tl/tl-expected/package.nix index 078ae201ea2a2..1beac87e9267e 100644 --- a/pkgs/by-name/tl/tl-expected/package.nix +++ b/pkgs/by-name/tl/tl-expected/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "tl-expected"; diff --git a/pkgs/by-name/tl/tla/package.nix b/pkgs/by-name/tl/tla/package.nix index 146469bbbb3e1..d7d9185cd747a 100644 --- a/pkgs/by-name/tl/tla/package.nix +++ b/pkgs/by-name/tl/tla/package.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchurl, which, diffutils, gnupatch, gnutar }: +{ + stdenv, + fetchurl, + which, + diffutils, + gnupatch, + gnutar, +}: stdenv.mkDerivation rec { pname = "tla"; @@ -13,7 +20,11 @@ stdenv.mkDerivation rec { buildInputs = [ which ]; - propagatedBuildInputs = [ diffutils gnupatch gnutar ]; + propagatedBuildInputs = [ + diffutils + gnupatch + gnutar + ]; # Instead of GNU Autoconf, tla uses Tom Lord's now # defunct `package-framework'. diff --git a/pkgs/by-name/tl/tldr/package.nix b/pkgs/by-name/tl/tldr/package.nix index 0d4df99a952d8..fc63b374570e2 100644 --- a/pkgs/by-name/tl/tldr/package.nix +++ b/pkgs/by-name/tl/tldr/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, curl, libzip, pkg-config, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + libzip, + pkg-config, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "tldr"; @@ -11,10 +19,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-1L9frURnzfq0XvPBs8D+hBikybAw8qkb0DyZZtkZleY="; }; - buildInputs = [ curl libzip ]; - nativeBuildInputs = [ pkg-config installShellFiles ]; + buildInputs = [ + curl + libzip + ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; - makeFlags = ["CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" "CFLAGS="]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "LD=${stdenv.cc.targetPrefix}cc" + "CFLAGS=" + ]; installFlags = [ "PREFIX=$(out)" ]; @@ -31,7 +49,11 @@ stdenv.mkDerivation rec { homepage = "https://tldr.sh"; changelog = "https://github.com/tldr-pages/tldr-c-client/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ taeer carlosdagos kbdharun]; + maintainers = with maintainers; [ + taeer + carlosdagos + kbdharun + ]; platforms = platforms.all; mainProgram = "tldr"; }; diff --git a/pkgs/by-name/tl/tlf/package.nix b/pkgs/by-name/tl/tlf/package.nix index c6d8920f828d4..3ad97ad8acaea 100644 --- a/pkgs/by-name/tl/tlf/package.nix +++ b/pkgs/by-name/tl/tlf/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, autoconf, automake, pkg-config, glib -, perl, ncurses5, hamlib, xmlrpc_c }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + autoconf, + automake, + pkg-config, + glib, + perl, + ncurses5, + hamlib, + xmlrpc_c, +}: stdenv.mkDerivation rec { pname = "tlf"; @@ -24,10 +37,24 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook autoconf automake pkg-config perl ]; - buildInputs = [ glib ncurses5 hamlib xmlrpc_c ]; + nativeBuildInputs = [ + autoreconfHook + autoconf + automake + pkg-config + perl + ]; + buildInputs = [ + glib + ncurses5 + hamlib + xmlrpc_c + ]; - configureFlags = [ "--enable-hamlib" "--enable-fldigi-xmlrpc" ]; + configureFlags = [ + "--enable-hamlib" + "--enable-fldigi-xmlrpc" + ]; postInstall = '' mkdir -p $out/lib diff --git a/pkgs/by-name/tl/tllist/package.nix b/pkgs/by-name/tl/tllist/package.nix index d800279a8a4c1..33b89b6f186ce 100644 --- a/pkgs/by-name/tl/tllist/package.nix +++ b/pkgs/by-name/tl/tllist/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitea -, meson -, ninja +{ + stdenv, + lib, + fetchFromGitea, + meson, + ninja, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-4WW0jGavdFO3LX9wtMPzz3Z1APCPgUQOktpmwAM0SQw="; }; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; mesonBuildType = "release"; diff --git a/pkgs/by-name/tl/tlmi-auth/package.nix b/pkgs/by-name/tl/tlmi-auth/package.nix index 8ba738a971004..8ae56a545fc56 100644 --- a/pkgs/by-name/tl/tlmi-auth/package.nix +++ b/pkgs/by-name/tl/tlmi-auth/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, meson -, ninja -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + openssl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/tl/tlrc/package.nix b/pkgs/by-name/tl/tlrc/package.nix index 86e9fe7861b85..483d729c1718a 100644 --- a/pkgs/by-name/tl/tlrc/package.nix +++ b/pkgs/by-name/tl/tlrc/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, installShellFiles -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/tl/tlsclient/package.nix b/pkgs/by-name/tl/tlsclient/package.nix index 5f3633a6c9c76..20bbacd0c27a3 100644 --- a/pkgs/by-name/tl/tlsclient/package.nix +++ b/pkgs/by-name/tl/tlsclient/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromSourcehut -, pkg-config -, openssl -, gitUpdater +{ + lib, + stdenv, + fetchFromSourcehut, + pkg-config, + openssl, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/tl/tlwg/package.nix b/pkgs/by-name/tl/tlwg/package.nix index a9216ad0d356c..d0e7e6c776551 100644 --- a/pkgs/by-name/tl/tlwg/package.nix +++ b/pkgs/by-name/tl/tlwg/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, fontforge }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + fontforge, +}: stdenv.mkDerivation rec { pname = "tlwg"; @@ -11,14 +18,22 @@ stdenv.mkDerivation rec { sha256 = "hWiH5KJnYTdcrm+Kzn9HUQry8ry3SKzjA6/0536kCLQ="; }; - nativeBuildInputs = [ autoreconfHook autoconf-archive ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + ]; buildInputs = [ fontforge ]; meta = with lib; { description = "Collection of Thai scalable fonts available under free licenses"; homepage = "https://linux.thai.net/projects/fonts-tlwg"; - license = with licenses; [ gpl2 publicDomain lppl13c free ]; + license = with licenses; [ + gpl2 + publicDomain + lppl13c + free + ]; maintainers = [ maintainers.yrashk ]; }; } diff --git a/pkgs/by-name/tm/tm/package.nix b/pkgs/by-name/tm/tm/package.nix index e7a08510ca7b1..45208fa353996 100644 --- a/pkgs/by-name/tm/tm/package.nix +++ b/pkgs/by-name/tm/tm/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tm/tmate-ssh-server/package.nix b/pkgs/by-name/tm/tmate-ssh-server/package.nix index 09cd26090e149..9023cb1a48c95 100644 --- a/pkgs/by-name/tm/tmate-ssh-server/package.nix +++ b/pkgs/by-name/tm/tmate-ssh-server/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cmake -, libtool -, pkg-config -, zlib -, openssl -, libevent -, ncurses -, ruby -, msgpack-c -, libssh -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cmake, + libtool, + pkg-config, + zlib, + openssl, + libevent, + ncurses, + ruby, + msgpack-c, + libssh, + nixosTests, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/tm/tmate/package.nix b/pkgs/by-name/tm/tmate/package.nix index 9e1cbdee12774..6966b5072a667 100644 --- a/pkgs/by-name/tm/tmate/package.nix +++ b/pkgs/by-name/tm/tmate/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cmake -, libtool -, pkg-config -, zlib -, openssl -, libevent -, ncurses -, ruby -, msgpack-c -, libssh +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cmake, + libtool, + pkg-config, + zlib, + openssl, + libevent, + ncurses, + ruby, + msgpack-c, + libssh, }: stdenv.mkDerivation { @@ -19,9 +20,9 @@ stdenv.mkDerivation { version = "unstable-2022-08-07"; src = fetchFromGitHub { - owner = "tmate-io"; - repo = "tmate"; - rev = "ac919516f4f1b10ec928e20b3a5034d18f609d68"; + owner = "tmate-io"; + repo = "tmate"; + rev = "ac919516f4f1b10ec928e20b3a5034d18f609d68"; sha256 = "sha256-t96gfmAMcsjkGf8pvbEx2fNx4Sj3W6oYoQswB3Dklb8="; }; @@ -50,10 +51,10 @@ stdenv.mkDerivation { dontUseCmakeConfigure = true; meta = with lib; { - homepage = "https://tmate.io/"; + homepage = "https://tmate.io/"; description = "Instant Terminal Sharing"; - license = licenses.mit; - platforms = platforms.unix; + license = licenses.mit; + platforms = platforms.unix; maintainers = with maintainers; [ ck3d ]; mainProgram = "tmate"; }; diff --git a/pkgs/by-name/tm/tmatrix/package.nix b/pkgs/by-name/tm/tmatrix/package.nix index 802b20c555769..478f7222fbae4 100644 --- a/pkgs/by-name/tm/tmatrix/package.nix +++ b/pkgs/by-name/tm/tmatrix/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, installShellFiles -, ncurses +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + installShellFiles, + ncurses, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-G3dg0SWfBjCA66TTxkVAcVrFNJOWE9+GJXYKzCUX34w="; }; - nativeBuildInputs = [ cmake installShellFiles ]; + nativeBuildInputs = [ + cmake + installShellFiles + ]; buildInputs = [ ncurses ]; postInstall = '' diff --git a/pkgs/by-name/tm/tml/package.nix b/pkgs/by-name/tm/tml/package.nix index 244b2d10adc11..af5d73a405243 100644 --- a/pkgs/by-name/tm/tml/package.nix +++ b/pkgs/by-name/tm/tml/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-CHZS1SpPko8u3tZAYbf+Di882W55X9Q/zd4SmFCRgKM="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Tiny markup language for terminal output"; diff --git a/pkgs/by-name/tm/tmpi/package.nix b/pkgs/by-name/tm/tmpi/package.nix index f745ce52e7485..ce2430a4ed9b4 100644 --- a/pkgs/by-name/tm/tmpi/package.nix +++ b/pkgs/by-name/tm/tmpi/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, mpi -, mpich -, tmux -, reptyr -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + mpi, + mpich, + tmux, + reptyr, + makeWrapper, }: stdenv.mkDerivation rec { @@ -19,7 +20,12 @@ stdenv.mkDerivation rec { hash = "sha256-BaOaMpsF8ho8EIVuHfu4+CiVV3yLoC3tDkLq4R8BYBA="; }; - propagatedBuildInputs = [ mpi mpich reptyr tmux ]; + propagatedBuildInputs = [ + mpi + mpich + reptyr + tmux + ]; nativeBuildInputs = [ makeWrapper ]; @@ -31,7 +37,14 @@ stdenv.mkDerivation rec { install -m755 tmpi $out/bin/tmpi wrapProgram $out/bin/tmpi \ - --prefix PATH : ${lib.makeBinPath [ mpi mpich tmux reptyr ]} + --prefix PATH : ${ + lib.makeBinPath [ + mpi + mpich + tmux + reptyr + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/tm/tmpmail/package.nix b/pkgs/by-name/tm/tmpmail/package.nix index 55a42eebebd27..a7fe5fe237da8 100644 --- a/pkgs/by-name/tm/tmpmail/package.nix +++ b/pkgs/by-name/tm/tmpmail/package.nix @@ -1,10 +1,20 @@ -{ lib, fetchFromGitHub, stdenvNoCC, w3m, curl, jq, makeWrapper, installShellFiles, xclip }: +{ + lib, + fetchFromGitHub, + stdenvNoCC, + w3m, + curl, + jq, + makeWrapper, + installShellFiles, + xclip, +}: stdenvNoCC.mkDerivation rec { pname = "tmpmail"; version = "1.2.3"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "sdushantha"; repo = "tmpmail"; rev = "v${version}"; @@ -15,16 +25,26 @@ stdenvNoCC.mkDerivation rec { dontBuild = true; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = '' mkdir -p $out/bin install -Dm755 -t $out/bin tmpmail installManPage tmpmail.1 - wrapProgram $out/bin/tmpmail --prefix PATH : ${lib.makeBinPath [ w3m curl jq xclip ]} + wrapProgram $out/bin/tmpmail --prefix PATH : ${ + lib.makeBinPath [ + w3m + curl + jq + xclip + ] + } ''; - meta = with lib; { + meta = with lib; { homepage = "https://github.com/sdushantha/tmpmail"; description = "Temporary email right from your terminal written in POSIX sh"; license = licenses.mit; diff --git a/pkgs/by-name/tm/tmpwatch/package.nix b/pkgs/by-name/tm/tmpwatch/package.nix index b5b3510dacf62..f871cc50ae494 100644 --- a/pkgs/by-name/tm/tmpwatch/package.nix +++ b/pkgs/by-name/tm/tmpwatch/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, psmisc }: +{ + lib, + stdenv, + fetchurl, + psmisc, +}: stdenv.mkDerivation rec { pname = "tmpwatch"; diff --git a/pkgs/by-name/tm/tmux-cssh/package.nix b/pkgs/by-name/tm/tmux-cssh/package.nix index 031acfff33a12..edaa62c8201ef 100644 --- a/pkgs/by-name/tm/tmux-cssh/package.nix +++ b/pkgs/by-name/tm/tmux-cssh/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, tmux }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + tmux, +}: stdenv.mkDerivation { pname = "tmux-cssh"; @@ -23,8 +29,7 @@ stdenv.mkDerivation { homepage = "https://github.com/dennishafemann/tmux-cssh"; description = "SSH to multiple hosts at the same time using tmux"; - longDescription = - '' + longDescription = '' tmux is a terminal multiplexer, like e.g. screen, which gives you a possibility to use multiple virtual terminal session within one real terminal session. tmux-cssh (tmux-cluster-ssh) sets a comfortable and @@ -32,7 +37,7 @@ stdenv.mkDerivation { tmux-sessions, on top of tmux. No need for a x-server or x-forwarding. tmux-cssh works just with tmux and in an low-level terminal-environment, like most server do. - ''; + ''; license = lib.licenses.asl20; diff --git a/pkgs/by-name/tm/tmux-mem-cpu-load/package.nix b/pkgs/by-name/tm/tmux-mem-cpu-load/package.nix index 012a18911d406..53fdc8e1be0fb 100644 --- a/pkgs/by-name/tm/tmux-mem-cpu-load/package.nix +++ b/pkgs/by-name/tm/tmux-mem-cpu-load/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "tmux-mem-cpu-load"; diff --git a/pkgs/by-name/tm/tmux-xpanes/package.nix b/pkgs/by-name/tm/tmux-xpanes/package.nix index 47fce699fb0c8..0c1825c93a41c 100644 --- a/pkgs/by-name/tm/tmux-xpanes/package.nix +++ b/pkgs/by-name/tm/tmux-xpanes/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, openssl, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + perl, +}: stdenv.mkDerivation rec { pname = "tmux-xpanes"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-PF2K2A49c5djQqSO7ZLFyBwPZaJRK58qZTFpY7n+Z0w="; }; - buildInputs = [ openssl perl ]; + buildInputs = [ + openssl + perl + ]; installPhase = '' # Create directories. diff --git a/pkgs/by-name/tm/tmux/package.nix b/pkgs/by-name/tm/tmux/package.nix index 64618de25dd37..99c0403e35231 100644 --- a/pkgs/by-name/tm/tmux/package.nix +++ b/pkgs/by-name/tm/tmux/package.nix @@ -1,17 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, bison -, libevent -, ncurses -, pkg-config -, runCommand -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -, withUtf8proc ? true, utf8proc # gets Unicode updates faster than glibc -, withUtempter ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl, libutempter -, withSixel ? true +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + bison, + libevent, + ncurses, + pkg-config, + runCommand, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + withUtf8proc ? true, + utf8proc, # gets Unicode updates faster than glibc + withUtempter ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl, + libutempter, + withSixel ? true, }: let @@ -29,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { pname = "tmux"; version = "3.5a"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "tmux"; @@ -44,43 +51,54 @@ stdenv.mkDerivation (finalAttrs: { bison ]; - buildInputs = [ - ncurses - libevent - ] ++ lib.optionals withSystemd [ systemd ] - ++ lib.optionals withUtf8proc [ utf8proc ] - ++ lib.optionals withUtempter [ libutempter ]; + buildInputs = + [ + ncurses + libevent + ] + ++ lib.optionals withSystemd [ systemd ] + ++ lib.optionals withUtf8proc [ utf8proc ] + ++ lib.optionals withUtempter [ libutempter ]; - configureFlags = [ - "--sysconfdir=/etc" - "--localstatedir=/var" - ] ++ lib.optionals withSystemd [ "--enable-systemd" ] - ++ lib.optionals withSixel [ "--enable-sixel" ] - ++ lib.optionals withUtempter [ "--enable-utempter" ] - ++ lib.optionals withUtf8proc [ "--enable-utf8proc" ]; + configureFlags = + [ + "--sysconfdir=/etc" + "--localstatedir=/var" + ] + ++ lib.optionals withSystemd [ "--enable-systemd" ] + ++ lib.optionals withSixel [ "--enable-sixel" ] + ++ lib.optionals withUtempter [ "--enable-utempter" ] + ++ lib.optionals withUtf8proc [ "--enable-utf8proc" ]; enableParallelBuilding = true; - postInstall = '' - mkdir -p $out/share/bash-completion/completions - cp -v ${bashCompletion}/completions/tmux $out/share/bash-completion/completions/tmux - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir $out/nix-support - echo "${finalAttrs.passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages - ''; + postInstall = + '' + mkdir -p $out/share/bash-completion/completions + cp -v ${bashCompletion}/completions/tmux $out/share/bash-completion/completions/tmux + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/nix-support + echo "${finalAttrs.passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages + ''; passthru = { - terminfo = runCommand "tmux-terminfo" { nativeBuildInputs = [ ncurses ]; } (if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/share/terminfo/74 - cp -v ${ncurses}/share/terminfo/74/tmux $out/share/terminfo/74 - # macOS ships an old version (5.7) of ncurses which does not include tmux-256color so we need to provide it from our ncurses. - # However, due to a bug in ncurses 5.7, we need to first patch the terminfo before we can use it with macOS. - # https://gpanders.com/blog/the-definitive-guide-to-using-tmux-256color-on-macos/ - tic -o $out/share/terminfo -x <(TERMINFO_DIRS=${ncurses}/share/terminfo infocmp -x tmux-256color | sed 's|pairs#0x10000|pairs#32767|') - '' else '' - mkdir -p $out/share/terminfo/t - ln -sv ${ncurses}/share/terminfo/t/{tmux,tmux-256color,tmux-direct} $out/share/terminfo/t - ''); + terminfo = runCommand "tmux-terminfo" { nativeBuildInputs = [ ncurses ]; } ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/share/terminfo/74 + cp -v ${ncurses}/share/terminfo/74/tmux $out/share/terminfo/74 + # macOS ships an old version (5.7) of ncurses which does not include tmux-256color so we need to provide it from our ncurses. + # However, due to a bug in ncurses 5.7, we need to first patch the terminfo before we can use it with macOS. + # https://gpanders.com/blog/the-definitive-guide-to-using-tmux-256color-on-macos/ + tic -o $out/share/terminfo -x <(TERMINFO_DIRS=${ncurses}/share/terminfo infocmp -x tmux-256color | sed 's|pairs#0x10000|pairs#32767|') + '' + else + '' + mkdir -p $out/share/terminfo/t + ln -sv ${ncurses}/share/terminfo/t/{tmux,tmux-256color,tmux-direct} $out/share/terminfo/t + '' + ); }; meta = { @@ -102,6 +120,9 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.bsd3; platforms = lib.platforms.unix; mainProgram = "tmux"; - maintainers = with lib.maintainers; [ thammers fpletz ]; + maintainers = with lib.maintainers; [ + thammers + fpletz + ]; }; }) diff --git a/pkgs/by-name/tm/tmuxifier/package.nix b/pkgs/by-name/tm/tmuxifier/package.nix index ef0be1687f43b..a92d54c7e92b4 100644 --- a/pkgs/by-name/tm/tmuxifier/package.nix +++ b/pkgs/by-name/tm/tmuxifier/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "tmuxifier"; diff --git a/pkgs/by-name/tn/tnat64/package.nix b/pkgs/by-name/tn/tnat64/package.nix index d22f2b98efd6a..7cc0d998c408c 100644 --- a/pkgs/by-name/tn/tnat64/package.nix +++ b/pkgs/by-name/tn/tnat64/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "tnat64"; diff --git a/pkgs/by-name/tn/tncattach/package.nix b/pkgs/by-name/tn/tncattach/package.nix index c536112e63a97..bc46515c44d03 100644 --- a/pkgs/by-name/tn/tncattach/package.nix +++ b/pkgs/by-name/tn/tncattach/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "tncattach"; diff --git a/pkgs/by-name/tn/tnef/package.nix b/pkgs/by-name/tn/tnef/package.nix index 4c4b67adf96d4..699887888bb9c 100644 --- a/pkgs/by-name/tn/tnef/package.nix +++ b/pkgs/by-name/tn/tnef/package.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "1.4.18"; pname = "tnef"; src = fetchFromGitHub { - owner = "verdammelt"; - repo = "tnef"; - rev = version; + owner = "verdammelt"; + repo = "tnef"; + rev = version; sha256 = "104g48mcm00bgiyzas2vf86331w7bnw7h3bc11ib4lp7rz6zqfck"; }; diff --git a/pkgs/by-name/tn/tnt/package.nix b/pkgs/by-name/tn/tnt/package.nix index f4787271c039c..a2accb895dcd3 100644 --- a/pkgs/by-name/tn/tnt/package.nix +++ b/pkgs/by-name/tn/tnt/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation { pname = "tnt"; @@ -12,8 +17,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ unzip ]; installPhase = '' - mkdir -p $out/include - cp *.h $out/include + mkdir -p $out/include + cp *.h $out/include ''; meta = { diff --git a/pkgs/by-name/tn/tntdb/package.nix b/pkgs/by-name/tn/tntdb/package.nix index 9080893d5e441..a3192d6c2b8cf 100644 --- a/pkgs/by-name/tn/tntdb/package.nix +++ b/pkgs/by-name/tn/tntdb/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cxxtools -, postgresql -, libmysqlclient -, sqlite -, zlib -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cxxtools, + postgresql, + libmysqlclient, + sqlite, + zlib, + openssl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tn/tntnet/package.nix b/pkgs/by-name/tn/tntnet/package.nix index 03e8558a0c1ee..2e69aca6bf2ad 100644 --- a/pkgs/by-name/tn/tntnet/package.nix +++ b/pkgs/by-name/tn/tntnet/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, cxxtools -, zlib -, openssl -, zip +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + cxxtools, + zlib, + openssl, + zip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/to-html/package.nix b/pkgs/by-name/to/to-html/package.nix index cfa80570f50c3..1d5aeee4dba1e 100644 --- a/pkgs/by-name/to/to-html/package.nix +++ b/pkgs/by-name/to/to-html/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, installShellFiles -, rustPlatform +{ + lib, + fetchFromGitHub, + installShellFiles, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/to/toast/package.nix b/pkgs/by-name/to/toast/package.nix index a7fa40f035b15..783098ee8be82 100644 --- a/pkgs/by-name/to/toast/package.nix +++ b/pkgs/by-name/to/toast/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/to/tockloader/package.nix b/pkgs/by-name/to/tockloader/package.nix index 90cf25e54772a..6fcdded82dc5c 100644 --- a/pkgs/by-name/to/tockloader/package.nix +++ b/pkgs/by-name/to/tockloader/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { @@ -39,4 +40,3 @@ python3.pkgs.buildPythonApplication rec { maintainers = [ ]; }; } - diff --git a/pkgs/by-name/to/todiff/package.nix b/pkgs/by-name/to/todiff/package.nix index b3df5f48e8591..08af4224fd1ea 100644 --- a/pkgs/by-name/to/todiff/package.nix +++ b/pkgs/by-name/to/todiff/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "todiff"; diff --git a/pkgs/by-name/to/todo-txt-cli/package.nix b/pkgs/by-name/to/todo-txt-cli/package.nix index fbeea83996278..926264480beb9 100644 --- a/pkgs/by-name/to/todo-txt-cli/package.nix +++ b/pkgs/by-name/to/todo-txt-cli/package.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let version = "2.12.0"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "todo.txt-cli"; inherit version; diff --git a/pkgs/by-name/to/todo/package.nix b/pkgs/by-name/to/todo/package.nix index 4f5789527ae64..222eef329a7d4 100644 --- a/pkgs/by-name/to/todo/package.nix +++ b/pkgs/by-name/to/todo/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "todo"; diff --git a/pkgs/by-name/to/todofi-sh/package.nix b/pkgs/by-name/to/todofi-sh/package.nix index 5581c3d4f7dc4..b00b94bfcd08f 100644 --- a/pkgs/by-name/to/todofi-sh/package.nix +++ b/pkgs/by-name/to/todofi-sh/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, coreutils -, gawk -, gnugrep -, gnused -, rofi -, todo-txt-cli +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + gawk, + gnugrep, + gnused, + rofi, + todo-txt-cli, }: stdenv.mkDerivation rec { @@ -29,7 +30,16 @@ stdenv.mkDerivation rec { postFixup = '' patchShebangs $out/bin - wrapProgram $out/bin/todofi.sh --prefix PATH : "${lib.makeBinPath [ coreutils gawk gnugrep gnused rofi todo-txt-cli ]}" + wrapProgram $out/bin/todofi.sh --prefix PATH : "${ + lib.makeBinPath [ + coreutils + gawk + gnugrep + gnused + rofi + todo-txt-cli + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/to/todoist-electron/package.nix b/pkgs/by-name/to/todoist-electron/package.nix index b706ff58ca46b..5c00493166f87 100644 --- a/pkgs/by-name/to/todoist-electron/package.nix +++ b/pkgs/by-name/to/todoist-electron/package.nix @@ -1,4 +1,10 @@ -{ lib, appimageTools, fetchurl, asar }: let +{ + lib, + appimageTools, + fetchurl, + asar, +}: +let pname = "todoist-electron"; version = "9.8.0"; @@ -18,7 +24,8 @@ ''; }); -in appimageTools.wrapAppImage { +in +appimageTools.wrapAppImage { inherit pname version; src = appimageContents; @@ -37,7 +44,10 @@ in appimageTools.wrapAppImage { description = "Official Todoist electron app"; platforms = [ "x86_64-linux" ]; license = licenses.unfree; - maintainers = with maintainers; [ kylesferrazza pokon548 ]; + maintainers = with maintainers; [ + kylesferrazza + pokon548 + ]; mainProgram = "todoist-electron"; }; } diff --git a/pkgs/by-name/to/todoist/package.nix b/pkgs/by-name/to/todoist/package.nix index 0145644de14f3..5f2ab9b20a880 100644 --- a/pkgs/by-name/to/todoist/package.nix +++ b/pkgs/by-name/to/todoist/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "todoist"; diff --git a/pkgs/by-name/to/tofi/package.nix b/pkgs/by-name/to/tofi/package.nix index c501c7acb5737..36833e6b80758 100644 --- a/pkgs/by-name/to/tofi/package.nix +++ b/pkgs/by-name/to/tofi/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, ninja -, meson -, scdoc -, wayland-protocols -, wayland-scanner -, freetype -, harfbuzz -, cairo -, pango -, wayland -, libxkbcommon +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + ninja, + meson, + scdoc, + wayland-protocols, + wayland-scanner, + freetype, + harfbuzz, + cairo, + pango, + wayland, + libxkbcommon, }: stdenv.mkDerivation rec { @@ -35,7 +36,14 @@ stdenv.mkDerivation rec { wayland-protocols wayland-scanner ]; - buildInputs = [ freetype harfbuzz cairo pango wayland libxkbcommon ]; + buildInputs = [ + freetype + harfbuzz + cairo + pango + wayland + libxkbcommon + ]; meta = with lib; { description = "Tiny dynamic menu for Wayland"; diff --git a/pkgs/by-name/to/toilet/package.nix b/pkgs/by-name/to/toilet/package.nix index 8e5d51da1add9..42d0b343a69d7 100644 --- a/pkgs/by-name/to/toilet/package.nix +++ b/pkgs/by-name/to/toilet/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, libcaca, toilet, testers }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libcaca, + toilet, + testers, +}: stdenv.mkDerivation rec { pname = "toilet"; diff --git a/pkgs/by-name/to/toipe/package.nix b/pkgs/by-name/to/toipe/package.nix index 32e8825239f2a..e90142608042a 100644 --- a/pkgs/by-name/to/toipe/package.nix +++ b/pkgs/by-name/to/toipe/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchCrate, rustPlatform }: +{ + lib, + fetchCrate, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "toipe"; @@ -15,6 +19,9 @@ rustPlatform.buildRustPackage rec { description = "Trusty terminal typing tester"; homepage = "https://github.com/Samyak2/toipe"; license = licenses.mit; - maintainers = with maintainers; [ loicreynier samyak ]; + maintainers = with maintainers; [ + loicreynier + samyak + ]; }; } diff --git a/pkgs/by-name/to/tokio-console/package.nix b/pkgs/by-name/to/tokio-console/package.nix index 00067f8335d46..98c2707f0d324 100644 --- a/pkgs/by-name/to/tokio-console/package.nix +++ b/pkgs/by-name/to/tokio-console/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, installShellFiles -, rustPlatform -, protobuf -, stdenv +{ + lib, + fetchFromGitHub, + installShellFiles, + rustPlatform, + protobuf, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/to/tokyocabinet/package.nix b/pkgs/by-name/to/tokyocabinet/package.nix index b3b50ae29b18c..4ada662d6bf1a 100644 --- a/pkgs/by-name/to/tokyocabinet/package.nix +++ b/pkgs/by-name/to/tokyocabinet/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, zlib, bzip2 }: +{ + fetchurl, + lib, + stdenv, + zlib, + bzip2, +}: stdenv.mkDerivation rec { pname = "tokyocabinet"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "140zvr0n8kvsl0fbn2qn3f2kh3yynfwnizn4dgbj47m975yg80x0"; }; - buildInputs = [ zlib bzip2 ]; + buildInputs = [ + zlib + bzip2 + ]; postInstall = '' sed -i "$out/lib/pkgconfig/tokyocabinet.pc" \ diff --git a/pkgs/by-name/to/tokyotyrant/package.nix b/pkgs/by-name/to/tokyotyrant/package.nix index 2c78c15d87aed..b82d761db1589 100644 --- a/pkgs/by-name/to/tokyotyrant/package.nix +++ b/pkgs/by-name/to/tokyotyrant/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, lib, stdenv, tokyocabinet, pkg-config }: +{ + fetchurl, + lib, + stdenv, + tokyocabinet, + pkg-config, +}: stdenv.mkDerivation rec { pname = "tokyotyrant"; @@ -18,19 +24,19 @@ stdenv.mkDerivation rec { description = "Network interface of the Tokyo Cabinet DBM"; longDescription = '' - Tokyo Tyrant is a package of network interface to the DBM called - Tokyo Cabinet. Though the DBM has high performance, you might - bother in case that multiple processes share the same database, or - remote processes access the database. Thus, Tokyo Tyrant is - provided for concurrent and remote connections to Tokyo Cabinet. It - is composed of the server process managing a database and its access - library for client applications. - - Tokyo Tyrant is written in the C language, and provided as API of C, - Perl, and Ruby. Tokyo Tyrant is available on platforms which have - API conforming to C99 and POSIX. Tokyo Tyrant is a free software - licensed under the GNU Lesser General Public License. - ''; + Tokyo Tyrant is a package of network interface to the DBM called + Tokyo Cabinet. Though the DBM has high performance, you might + bother in case that multiple processes share the same database, or + remote processes access the database. Thus, Tokyo Tyrant is + provided for concurrent and remote connections to Tokyo Cabinet. It + is composed of the server process managing a database and its access + library for client applications. + + Tokyo Tyrant is written in the C language, and provided as API of C, + Perl, and Ruby. Tokyo Tyrant is available on platforms which have + API conforming to C99 and POSIX. Tokyo Tyrant is a free software + licensed under the GNU Lesser General Public License. + ''; homepage = "https://fallabs.com/tokyotyrant/"; diff --git a/pkgs/by-name/to/tomcat_mysql_jdbc/package.nix b/pkgs/by-name/to/tomcat_mysql_jdbc/package.nix index 9e6f346a0ec4b..d45f4414ab96f 100644 --- a/pkgs/by-name/to/tomcat_mysql_jdbc/package.nix +++ b/pkgs/by-name/to/tomcat_mysql_jdbc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, mysql_jdbc }: +{ + lib, + stdenv, + mysql_jdbc, +}: stdenv.mkDerivation { pname = "tomcat-mysql-jdbc"; diff --git a/pkgs/by-name/to/tome2/package.nix b/pkgs/by-name/to/tome2/package.nix index 3440e183515cb..7d054543c26be 100644 --- a/pkgs/by-name/to/tome2/package.nix +++ b/pkgs/by-name/to/tome2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeDesktopItem, ncurses, libX11, boost, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + ncurses, + libX11, + boost, + cmake, +}: let pname = "tome2"; @@ -11,11 +20,15 @@ let icon = pname; comment = description; type = "Application"; - categories = [ "Game" "RolePlaying" ]; + categories = [ + "Game" + "RolePlaying" + ]; genericName = pname; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname; version = "2.4"; @@ -26,7 +39,11 @@ in stdenv.mkDerivation { sha256 = "06bddj55y673d7bnzblk8n01z32l6k2rad3bpzr8dmw464hx4wwf"; }; - buildInputs = [ ncurses libX11 boost ]; + buildInputs = [ + ncurses + libX11 + boost + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/to/tome4/package.nix b/pkgs/by-name/to/tome4/package.nix index ffb52b01e2916..b65139f8a3741 100644 --- a/pkgs/by-name/to/tome4/package.nix +++ b/pkgs/by-name/to/tome4/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, premake4, unzip -, openal, libpng, libvorbis, libGLU, SDL2, SDL2_image, SDL2_ttf }: +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + makeWrapper, + premake4, + unzip, + openal, + libpng, + libvorbis, + libGLU, + SDL2, + SDL2_image, + SDL2_ttf, +}: stdenv.mkDerivation rec { pname = "tome4"; @@ -17,7 +31,10 @@ stdenv.mkDerivation rec { icon = pname; comment = "An open-source, single-player, role-playing roguelike game set in the world of Eyal."; type = "Application"; - categories = [ "Game" "RolePlaying" ]; + categories = [ + "Game" + "RolePlaying" + ]; genericName = pname; }; @@ -26,12 +43,22 @@ stdenv.mkDerivation rec { sed -i 's|#include ||' src/tgl.h ''; - nativeBuildInputs = [ makeWrapper unzip premake4 ]; + nativeBuildInputs = [ + makeWrapper + unzip + premake4 + ]; # tome4 vendors quite a few libraries so someone might want to look # into avoiding that... buildInputs = [ - libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image + libGLU + openal + libpng + libvorbis + SDL2 + SDL2_ttf + SDL2_image ]; # disable parallel building as it caused sporadic build failures @@ -72,6 +99,9 @@ stdenv.mkDerivation rec { homepage = "https://te4.org/"; license = licenses.gpl3; maintainers = with maintainers; [ peterhoeg ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/to/toml-cli/package.nix b/pkgs/by-name/to/toml-cli/package.nix index 738e6deba1412..8cb7aacce5cb3 100644 --- a/pkgs/by-name/to/toml-cli/package.nix +++ b/pkgs/by-name/to/toml-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchCrate, rustPlatform, testers, toml-cli }: +{ + lib, + fetchCrate, + rustPlatform, + testers, + toml-cli, +}: rustPlatform.buildRustPackage rec { pname = "toml-cli"; diff --git a/pkgs/by-name/to/toml-f/package.nix b/pkgs/by-name/to/toml-f/package.nix index 30632e1160db8..74f0574f1bbde 100644 --- a/pkgs/by-name/to/toml-f/package.nix +++ b/pkgs/by-name/to/toml-f/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, gfortran -, meson -, ninja -, pkg-config -, test-drive +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + meson, + ninja, + pkg-config, + test-drive, }: stdenv.mkDerivation rec { @@ -19,18 +20,29 @@ stdenv.mkDerivation rec { hash = "sha256-+cac4rUNpd2w3yBdH1XoCKdJ9IgOHZioZg8AhzGY0FE="; }; - nativeBuildInputs = [ gfortran meson ninja pkg-config ]; + nativeBuildInputs = [ + gfortran + meson + ninja + pkg-config + ]; buildInputs = [ test-drive ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; # tftest-build fails on aarch64-linux doCheck = !stdenv.hostPlatform.isAarch64; meta = with lib; { description = "TOML parser implementation for data serialization and deserialization in Fortran"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; homepage = "https://github.com/toml-f/toml-f"; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; diff --git a/pkgs/by-name/to/toml2json/package.nix b/pkgs/by-name/to/toml2json/package.nix index 6d7a8dcf6a360..5ab7cf5a592e0 100644 --- a/pkgs/by-name/to/toml2json/package.nix +++ b/pkgs/by-name/to/toml2json/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "toml2json"; diff --git a/pkgs/by-name/to/toml2nix/package.nix b/pkgs/by-name/to/toml2nix/package.nix index b34f40933b767..d173ad659d4b3 100644 --- a/pkgs/by-name/to/toml2nix/package.nix +++ b/pkgs/by-name/to/toml2nix/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchCrate }: +{ + lib, + rustPlatform, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "toml2nix"; @@ -19,7 +23,10 @@ rustPlatform.buildRustPackage rec { description = "Tool to convert TOML files to Nix expressions"; mainProgram = "toml2nix"; homepage = "https://crates.io/crates/toml2nix"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/to/tomlc99/package.nix b/pkgs/by-name/to/tomlc99/package.nix index 2790e94b7c0dc..5b38094432a20 100644 --- a/pkgs/by-name/to/tomlc99/package.nix +++ b/pkgs/by-name/to/tomlc99/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/tomlcpp/package.nix b/pkgs/by-name/to/tomlcpp/package.nix index 6f77fe1cc763e..b98b9c6198e80 100644 --- a/pkgs/by-name/to/tomlcpp/package.nix +++ b/pkgs/by-name/to/tomlcpp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "tomlcpp"; diff --git a/pkgs/by-name/to/ton/package.nix b/pkgs/by-name/to/ton/package.nix index bccdd713aaffd..22a34bdcc2005 100644 --- a/pkgs/by-name/to/ton/package.nix +++ b/pkgs/by-name/to/ton/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, git -, pkg-config -, gperf -, libmicrohttpd -, libsodium -, lz4 -, openssl -, readline -, secp256k1 -, zlib -, nix-update-script -, darwinMinVersionHook -, apple-sdk_11 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + git, + pkg-config, + gperf, + libmicrohttpd, + libsodium, + lz4, + openssl, + readline, + secp256k1, + zlib, + nix-update-script, + darwinMinVersionHook, + apple-sdk_11, }: stdenv.mkDerivation rec { @@ -29,7 +30,10 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake @@ -37,20 +41,22 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - gperf - libmicrohttpd - libsodium - lz4 - openssl - readline - secp256k1 - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer - (darwinMinVersionHook "10.13") - apple-sdk_11 - ]; + buildInputs = + [ + gperf + libmicrohttpd + libsodium + lz4 + openssl + readline + secp256k1 + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer + (darwinMinVersionHook "10.13") + apple-sdk_11 + ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/to/tone/nuget-deps.nix b/pkgs/by-name/to/tone/nuget-deps.nix index 1af0d0ab91acc..9378473b4a7d4 100644 --- a/pkgs/by-name/to/tone/nuget-deps.nix +++ b/pkgs/by-name/to/tone/nuget-deps.nix @@ -1,54 +1,251 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "CliWrap"; version = "3.6.0"; sha256 = "0x96awy81kn0dr8h5d376cgfzxg5bvmzd610rc017nliv152zkw2"; }) - (fetchNuGet { pname = "CSharp.OperationResult"; version = "0.1.6"; sha256 = "127hjd30vvcks977yxxh59g89dbsf7h1khcr1vignrgk9fanvzyi"; }) - (fetchNuGet { pname = "Esprima"; version = "3.0.0-beta-9"; sha256 = "1gwdi537832z5whyqx58474ys2akgmrkabm51sy7725c91814snz"; }) - (fetchNuGet { pname = "grok.net"; version = "1.1.0"; sha256 = "01vm1b658dwxcxp1l4cpsplg8pwpmbs6v6fbqwg1lvrm7li9bgjz"; }) - (fetchNuGet { pname = "Jint"; version = "3.0.0-beta-2044"; sha256 = "0sy0qy33gn54sszhq4dkiihxd224n58xhcxg46qi4p3i93qn3snl"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "7.0.0"; sha256 = "0n1grglxql9llmrsbbnlz5chx8mxrb5cpvjngm0hfyrkgzcwz90d"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "7.0.0"; sha256 = "1as8cygz0pagg17w22nsf6mb49lr2mcl1x8i3ad1wi8lyzygy1a3"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.0.0"; sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "7.0.0"; sha256 = "1qifb1pv7s76lih8wnjk418wdk4qwn87q2n6dx54knfvxai410bl"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "7.0.0"; sha256 = "0nhh7rnh45s39x8sjn88czg7nyfpry85pkm0g619j8b468zj8nb4"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "7.0.0"; sha256 = "1fk7dcz6gfhd1k1d8ksz22rnjvj1waqjzk29ym4i3dz73rsq8j1i"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "7.0.0"; sha256 = "05zjmrpp99l128wijp1fy8asskc11ls871qaqr4mjnz3gbfycxnj"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.0.0"; sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "7.0.0"; sha256 = "0ff20yklyjgyjzdyv7sybczgqhgd557m05dbwxzjznr0x41b180d"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "7.0.0"; sha256 = "1f1h0l47abw0spssd64qkhgd7b54pyzslyb586zp21milimcfmgv"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "7.0.0"; sha256 = "1812vnkn8n0i4yr3k5azcxcfx1bbpcsmms95rdyxjfrzfksr05ai"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.0.0"; sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.0.0"; sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.0"; sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; }) - (fetchNuGet { pname = "Sandreas.AudioMetadata"; version = "0.1.1"; sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; }) - (fetchNuGet { pname = "Sandreas.Files"; version = "1.1.2"; sha256 = "08qk229q2y1dpdxdnp8xi9mgk8fgpjxrxm4z6ak8n09npp67nhn0"; }) - (fetchNuGet { pname = "Sandreas.SpectreConsoleHelpers"; version = "0.0.2"; sha256 = "1vy2fka11n0smgrbwdxabl6cdcsg6fv1gymxrws8m0sf9qm64nd1"; }) - (fetchNuGet { pname = "Serilog"; version = "2.12.0"; sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; }) - (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.1.0"; sha256 = "0lv370ks2fjdn1nsgkbzbmw6hybnincw3jabr471a5w39pp4fl1c"; }) - (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "3.4.0"; sha256 = "1l6fyy9y5a168i1mm107aqyrwzhqmpy0cp1v13l2b89yv8dc105j"; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.1.0"; sha256 = "1rpkphmqfh3bv3m7v1zwz88wz4sirj4xqyff9ga0c6bqhblj6wii"; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) - (fetchNuGet { pname = "Spectre.Console"; version = "0.46.0"; sha256 = "1fr7090f2s7q9cw1k25m439blgicsbgl9k5nhqql9xvp0b00s4n9"; }) - (fetchNuGet { pname = "Spectre.Console.Cli"; version = "0.46.0"; sha256 = "00clv0mw97z8a9r7zam97prdv4ich33m4dhi7v8mjdqwwhj6q4jr"; }) - (fetchNuGet { pname = "System.IO.Abstractions"; version = "19.0.1"; sha256 = "16dasj8bwsdyl5phgqgfgswkbghzdb3sq7sidigr3b5ykna6n96g"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "7.0.0"; sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) - (fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "19.0.1"; sha256 = "01v2wgb6y2z7df4b2dsy0jb4hnhpv5kgyxypzyqdk7h6plad2axd"; }) - (fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "19.0.1"; sha256 = "1ms8wqar5w3z2y2qgxii9pqnsb4f1aikji2vaw01zxvnh2wry42n"; }) - (fetchNuGet { pname = "Ude.NetStandard"; version = "1.2.0"; sha256 = "074yff6g272zpkhk0zvmbfiaaxyp3b05fl24i7ffp2jf9r8bnfpl"; }) - (fetchNuGet { pname = "z440.atl.core"; version = "4.19.0"; sha256 = "16290hcf42yhs69ymjrg2znk7s56nnp4hj8rqwi1i8rdajmfr2v1"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "CliWrap"; + version = "3.6.0"; + sha256 = "0x96awy81kn0dr8h5d376cgfzxg5bvmzd610rc017nliv152zkw2"; + }) + (fetchNuGet { + pname = "CSharp.OperationResult"; + version = "0.1.6"; + sha256 = "127hjd30vvcks977yxxh59g89dbsf7h1khcr1vignrgk9fanvzyi"; + }) + (fetchNuGet { + pname = "Esprima"; + version = "3.0.0-beta-9"; + sha256 = "1gwdi537832z5whyqx58474ys2akgmrkabm51sy7725c91814snz"; + }) + (fetchNuGet { + pname = "grok.net"; + version = "1.1.0"; + sha256 = "01vm1b658dwxcxp1l4cpsplg8pwpmbs6v6fbqwg1lvrm7li9bgjz"; + }) + (fetchNuGet { + pname = "Jint"; + version = "3.0.0-beta-2044"; + sha256 = "0sy0qy33gn54sszhq4dkiihxd224n58xhcxg46qi4p3i93qn3snl"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "7.0.0"; + sha256 = "0n1grglxql9llmrsbbnlz5chx8mxrb5cpvjngm0hfyrkgzcwz90d"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "7.0.0"; + sha256 = "1as8cygz0pagg17w22nsf6mb49lr2mcl1x8i3ad1wi8lyzygy1a3"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "2.0.0"; + sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "7.0.0"; + sha256 = "1qifb1pv7s76lih8wnjk418wdk4qwn87q2n6dx54knfvxai410bl"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "7.0.0"; + sha256 = "0nhh7rnh45s39x8sjn88czg7nyfpry85pkm0g619j8b468zj8nb4"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "7.0.0"; + sha256 = "1fk7dcz6gfhd1k1d8ksz22rnjvj1waqjzk29ym4i3dz73rsq8j1i"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "7.0.0"; + sha256 = "05zjmrpp99l128wijp1fy8asskc11ls871qaqr4mjnz3gbfycxnj"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "7.0.0"; + sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.0.0"; + sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "7.0.0"; + sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "3.0.0"; + sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "7.0.0"; + sha256 = "0ff20yklyjgyjzdyv7sybczgqhgd557m05dbwxzjznr0x41b180d"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "7.0.0"; + sha256 = "1f1h0l47abw0spssd64qkhgd7b54pyzslyb586zp21milimcfmgv"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "7.0.0"; + sha256 = "1812vnkn8n0i4yr3k5azcxcfx1bbpcsmms95rdyxjfrzfksr05ai"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.0.0"; + sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.0.0"; + sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.0.0"; + sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "7.0.0"; + sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "7.0.0"; + sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.0.0"; + sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "7.0.0"; + sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.2"; + sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; + }) + (fetchNuGet { + pname = "Sandreas.AudioMetadata"; + version = "0.1.1"; + sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; + }) + (fetchNuGet { + pname = "Sandreas.Files"; + version = "1.1.2"; + sha256 = "08qk229q2y1dpdxdnp8xi9mgk8fgpjxrxm4z6ak8n09npp67nhn0"; + }) + (fetchNuGet { + pname = "Sandreas.SpectreConsoleHelpers"; + version = "0.0.2"; + sha256 = "1vy2fka11n0smgrbwdxabl6cdcsg6fv1gymxrws8m0sf9qm64nd1"; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.12.0"; + sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; + }) + (fetchNuGet { + pname = "Serilog.Extensions.Logging"; + version = "3.1.0"; + sha256 = "0lv370ks2fjdn1nsgkbzbmw6hybnincw3jabr471a5w39pp4fl1c"; + }) + (fetchNuGet { + pname = "Serilog.Settings.Configuration"; + version = "3.4.0"; + sha256 = "1l6fyy9y5a168i1mm107aqyrwzhqmpy0cp1v13l2b89yv8dc105j"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "4.1.0"; + sha256 = "1rpkphmqfh3bv3m7v1zwz88wz4sirj4xqyff9ga0c6bqhblj6wii"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "5.0.0"; + sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; + }) + (fetchNuGet { + pname = "Spectre.Console"; + version = "0.46.0"; + sha256 = "1fr7090f2s7q9cw1k25m439blgicsbgl9k5nhqql9xvp0b00s4n9"; + }) + (fetchNuGet { + pname = "Spectre.Console.Cli"; + version = "0.46.0"; + sha256 = "00clv0mw97z8a9r7zam97prdv4ich33m4dhi7v8mjdqwwhj6q4jr"; + }) + (fetchNuGet { + pname = "System.IO.Abstractions"; + version = "19.0.1"; + sha256 = "16dasj8bwsdyl5phgqgfgswkbghzdb3sq7sidigr3b5ykna6n96g"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.4.0"; + sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "7.0.0"; + sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "4.6.0"; + sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "7.0.0"; + sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; + }) + (fetchNuGet { + pname = "TestableIO.System.IO.Abstractions"; + version = "19.0.1"; + sha256 = "01v2wgb6y2z7df4b2dsy0jb4hnhpv5kgyxypzyqdk7h6plad2axd"; + }) + (fetchNuGet { + pname = "TestableIO.System.IO.Abstractions.Wrappers"; + version = "19.0.1"; + sha256 = "1ms8wqar5w3z2y2qgxii9pqnsb4f1aikji2vaw01zxvnh2wry42n"; + }) + (fetchNuGet { + pname = "Ude.NetStandard"; + version = "1.2.0"; + sha256 = "074yff6g272zpkhk0zvmbfiaaxyp3b05fl24i7ffp2jf9r8bnfpl"; + }) + (fetchNuGet { + pname = "z440.atl.core"; + version = "4.19.0"; + sha256 = "16290hcf42yhs69ymjrg2znk7s56nnp4hj8rqwi1i8rdajmfr2v1"; + }) ] diff --git a/pkgs/by-name/to/tonelib-jam/package.nix b/pkgs/by-name/to/tonelib-jam/package.nix index 293e8885626ae..9b57192f1e528 100644 --- a/pkgs/by-name/to/tonelib-jam/package.nix +++ b/pkgs/by-name/to/tonelib-jam/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, dpkg -, alsa-lib -, freetype -, libglvnd -, curl -, libXcursor -, libXinerama -, libXrandr -, libXrender -, libjack2 +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + dpkg, + alsa-lib, + freetype, + libglvnd, + curl, + libXcursor, + libXinerama, + libXrandr, + libXrender, + libjack2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/tonelib-zoom/package.nix b/pkgs/by-name/to/tonelib-zoom/package.nix index 9f07141437fe0..223b338a8063f 100644 --- a/pkgs/by-name/to/tonelib-zoom/package.nix +++ b/pkgs/by-name/to/tonelib-zoom/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, dpkg -, alsa-lib -, freetype -, libglvnd -, curl -, libXcursor -, libXinerama -, libXrandr -, libXrender -, libjack2 -, webkitgtk_4_0 +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + dpkg, + alsa-lib, + freetype, + libglvnd, + curl, + libXcursor, + libXinerama, + libXrandr, + libXrender, + libjack2, + webkitgtk_4_0, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/toolbox/package.nix b/pkgs/by-name/to/toolbox/package.nix index 75b7f41c7e78b..cb2b136ab9c06 100644 --- a/pkgs/by-name/to/toolbox/package.nix +++ b/pkgs/by-name/to/toolbox/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, glibc, go-md2man, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + glibc, + go-md2man, + installShellFiles, +}: buildGoModule rec { pname = "toolbox"; @@ -21,7 +28,10 @@ buildGoModule rec { modRoot = "src"; - nativeBuildInputs = [ go-md2man installShellFiles ]; + nativeBuildInputs = [ + go-md2man + installShellFiles + ]; ldflags = [ "-s" diff --git a/pkgs/by-name/to/tootik/package.nix b/pkgs/by-name/to/tootik/package.nix index e0577bed57df6..031464ed5c06a 100644 --- a/pkgs/by-name/to/tootik/package.nix +++ b/pkgs/by-name/to/tootik/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, openssl }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + openssl, +}: buildGoModule rec { pname = "tootik"; diff --git a/pkgs/by-name/to/top-git/package.nix b/pkgs/by-name/to/top-git/package.nix index 0a5dd908c663f..77f034c748c3a 100644 --- a/pkgs/by-name/to/top-git/package.nix +++ b/pkgs/by-name/to/top-git/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, git, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + git, + perl, +}: stdenv.mkDerivation rec { pname = "topgit"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { makeFlags = [ "prefix=${placeholder "out"}" ]; - nativeBuildInputs = [ perl git ]; + nativeBuildInputs = [ + perl + git + ]; postInstall = '' install -Dm644 README -t "$out/share/doc/${pname}-${version}/" diff --git a/pkgs/by-name/to/topfew-rs/package.nix b/pkgs/by-name/to/topfew-rs/package.nix index cb3aca7ab53df..8a47b04c45d7b 100644 --- a/pkgs/by-name/to/topfew-rs/package.nix +++ b/pkgs/by-name/to/topfew-rs/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/to/topfew/package.nix b/pkgs/by-name/to/topfew/package.nix index b908d41b6447d..a4853fda5d23e 100644 --- a/pkgs/by-name/to/topfew/package.nix +++ b/pkgs/by-name/to/topfew/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -21,7 +22,10 @@ buildGoModule rec { installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' installManPage doc/tf.1 diff --git a/pkgs/by-name/to/topicctl/package.nix b/pkgs/by-name/to/topicctl/package.nix index 1b19b83edc8aa..06f30390937eb 100644 --- a/pkgs/by-name/to/topicctl/package.nix +++ b/pkgs/by-name/to/topicctl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "topicctl"; @@ -26,7 +30,10 @@ buildGoModule rec { description = "Tool for easy, declarative management of Kafka topics"; inherit (src.meta) homepage; license = licenses.mit; - maintainers = with maintainers; [ eskytthe srhb ]; + maintainers = with maintainers; [ + eskytthe + srhb + ]; mainProgram = "topicctl"; }; } diff --git a/pkgs/by-name/to/topydo/package.nix b/pkgs/by-name/to/topydo/package.nix index 92411687ac9c8..f0a888787dd15 100644 --- a/pkgs/by-name/to/topydo/package.nix +++ b/pkgs/by-name/to/topydo/package.nix @@ -1,4 +1,10 @@ -{ lib, python3, fetchFromGitHub, fetchpatch, glibcLocales }: +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, + glibcLocales, +}: python3.pkgs.buildPythonApplication rec { pname = "topydo"; diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix index 6c4c6470865ba..8803c3a05704b 100644 --- a/pkgs/by-name/to/tor-browser/package.nix +++ b/pkgs/by-name/to/tor-browser/package.nix @@ -1,341 +1,379 @@ -{ lib -, stdenv -, fetchurl -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, writeText -, autoPatchelfHook -, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections -, wrapGAppsHook3 -, callPackage - -, atk -, cairo -, dbus -, dbus-glib -, fontconfig -, freetype -, gdk-pixbuf -, glib -, gtk3 -, libxcb -, libX11 -, libXext -, libXrender -, libXt -, libXtst -, mesa -, pango -, pciutils -, zlib - -, libnotifySupport ? stdenv.hostPlatform.isLinux -, libnotify - -, waylandSupport ? stdenv.hostPlatform.isLinux -, libxkbcommon -, libdrm -, libGL - -, mediaSupport ? true -, ffmpeg - -, audioSupport ? mediaSupport - -, pipewireSupport ? audioSupport -, pipewire - -, pulseaudioSupport ? audioSupport -, libpulseaudio -, apulse -, alsa-lib - -, libvaSupport ? mediaSupport -, libva - -# Hardening -, graphene-hardened-malloc -# Whether to use graphene-hardened-malloc -, useHardenedMalloc ? null - -# Whether to disable multiprocess support -, disableContentSandbox ? false - -# Extra preferences -, extraPrefs ? "" +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + writeText, + autoPatchelfHook, + patchelfUnstable, # have to use patchelfUnstable to support --no-clobber-old-sections + wrapGAppsHook3, + callPackage, + + atk, + cairo, + dbus, + dbus-glib, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + libxcb, + libX11, + libXext, + libXrender, + libXt, + libXtst, + mesa, + pango, + pciutils, + zlib, + + libnotifySupport ? stdenv.hostPlatform.isLinux, + libnotify, + + waylandSupport ? stdenv.hostPlatform.isLinux, + libxkbcommon, + libdrm, + libGL, + + mediaSupport ? true, + ffmpeg, + + audioSupport ? mediaSupport, + + pipewireSupport ? audioSupport, + pipewire, + + pulseaudioSupport ? audioSupport, + libpulseaudio, + apulse, + alsa-lib, + + libvaSupport ? mediaSupport, + libva, + + # Hardening + graphene-hardened-malloc, + # Whether to use graphene-hardened-malloc + useHardenedMalloc ? null, + + # Whether to disable multiprocess support + disableContentSandbox ? false, + + # Extra preferences + extraPrefs ? "", }: lib.warnIf (useHardenedMalloc != null) "tor-browser: useHardenedMalloc is deprecated and enabling it can cause issues" -(let - libPath = lib.makeLibraryPath ( - [ - alsa-lib - atk - cairo - dbus - dbus-glib - fontconfig - freetype - gdk-pixbuf - glib - gtk3 - libxcb - libX11 - libXext - libXrender - libXt - libXtst - mesa # for libgbm - pango - pciutils - stdenv.cc.cc - stdenv.cc.libc - zlib - ] ++ lib.optionals libnotifySupport [ libnotify ] - ++ lib.optionals waylandSupport [ libxkbcommon libdrm libGL ] - ++ lib.optionals pipewireSupport [ pipewire ] - ++ lib.optionals pulseaudioSupport [ libpulseaudio ] - ++ lib.optionals libvaSupport [ libva ] - ++ lib.optionals mediaSupport [ ffmpeg ] - ); - - version = "14.0.3"; - - sources = { - x86_64-linux = fetchurl { - urls = [ - "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" - "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" - "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" - "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" + ( + let + libPath = lib.makeLibraryPath ( + [ + alsa-lib + atk + cairo + dbus + dbus-glib + fontconfig + freetype + gdk-pixbuf + glib + gtk3 + libxcb + libX11 + libXext + libXrender + libXt + libXtst + mesa # for libgbm + pango + pciutils + stdenv.cc.cc + stdenv.cc.libc + zlib + ] + ++ lib.optionals libnotifySupport [ libnotify ] + ++ lib.optionals waylandSupport [ + libxkbcommon + libdrm + libGL + ] + ++ lib.optionals pipewireSupport [ pipewire ] + ++ lib.optionals pulseaudioSupport [ libpulseaudio ] + ++ lib.optionals libvaSupport [ libva ] + ++ lib.optionals mediaSupport [ ffmpeg ] + ); + + version = "14.0.3"; + + sources = { + x86_64-linux = fetchurl { + urls = [ + "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" + "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" + "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" + "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" + ]; + hash = "sha256-WddDs5lQFZde8Qy/7nQhGTrrT9BiVswriqOpPVpgvwY="; + }; + + i686-linux = fetchurl { + urls = [ + "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" + "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" + "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" + "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" + ]; + hash = "sha256-DsTJiZkw0g4ip/yAwQ9IomZHQ6RP0hFNEzVJ8/fEbyQ="; + }; + }; + + distributionIni = writeText "distribution.ini" ( + lib.generators.toINI { } { + # Some light branding indicating this build uses our distro preferences + Global = { + id = "nixos"; + version = "1.0"; + about = "Tor Browser for NixOS"; + }; + } + ); + + policiesJson = writeText "policies.json" ( + builtins.toJSON { + policies.DisableAppUpdate = true; + } + ); + in + stdenv.mkDerivation rec { + pname = "tor-browser"; + inherit version; + + src = + sources.${stdenv.hostPlatform.system} + or (throw "unsupported system: ${stdenv.hostPlatform.system}"); + + nativeBuildInputs = [ + autoPatchelfHook + patchelfUnstable + copyDesktopItems + makeWrapper + wrapGAppsHook3 ]; - hash = "sha256-WddDs5lQFZde8Qy/7nQhGTrrT9BiVswriqOpPVpgvwY="; - }; - - i686-linux = fetchurl { - urls = [ - "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" - "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" - "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" - "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" + buildInputs = [ + gtk3 + alsa-lib + dbus-glib + libXtst ]; - hash = "sha256-DsTJiZkw0g4ip/yAwQ9IomZHQ6RP0hFNEzVJ8/fEbyQ="; - }; - }; - - distributionIni = writeText "distribution.ini" (lib.generators.toINI {} { - # Some light branding indicating this build uses our distro preferences - Global = { - id = "nixos"; - version = "1.0"; - about = "Tor Browser for NixOS"; - }; - }); - - policiesJson = writeText "policies.json" (builtins.toJSON { - policies.DisableAppUpdate = true; - }); -in -stdenv.mkDerivation rec { - pname = "tor-browser"; - inherit version; - - src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); - - nativeBuildInputs = [ - autoPatchelfHook - patchelfUnstable - copyDesktopItems - makeWrapper - wrapGAppsHook3 - ]; - buildInputs = [ - gtk3 - alsa-lib - dbus-glib - libXtst - ]; - - # Firefox uses "relrhack" to manually process relocations from a fixed offset - patchelfFlags = [ "--no-clobber-old-sections" ]; - - preferLocalBuild = true; - allowSubstitutes = false; - - desktopItems = [(makeDesktopItem { - name = "torbrowser"; - exec = "tor-browser %U"; - icon = "tor-browser"; - desktopName = "Tor Browser"; - genericName = "Web Browser"; - comment = meta.description; - categories = [ "Network" "WebBrowser" "Security" ]; - mimeTypes = [ - "text/html" - "text/xml" - "application/xhtml+xml" - "application/vnd.mozilla.xul+xml" - "x-scheme-handler/http" - "x-scheme-handler/https" - ]; - })]; - - buildPhase = '' - runHook preBuild - - # For convenience ... - TBB_IN_STORE=$out/share/tor-browser - - # Unpack & enter - mkdir -p "$TBB_IN_STORE" - tar xf "$src" -C "$TBB_IN_STORE" --strip-components=2 - pushd "$TBB_IN_STORE" - - # Set ELF interpreter - autoPatchelf firefox.real TorBrowser/Tor - - # firefox is a wrapper that checks for a more recent libstdc++ & appends it to the ld path - mv firefox.real firefox - - # store state at `~/.tor browser` instead of relative to executable - touch "$TBB_IN_STORE/system-install" - - # The final libPath. Note, we could split this into firefoxLibPath - # and torLibPath for accuracy, but this is more convenient ... - libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor - - # apulse uses a non-standard library path. For now special-case it. - ${lib.optionalString (audioSupport && !pulseaudioSupport) '' - libPath=${apulse}/lib/apulse:$libPath - ''} - - # Fixup paths to pluggable transports. - substituteInPlace TorBrowser/Data/Tor/torrc-defaults \ - --replace-fail './TorBrowser' "$TBB_IN_STORE/TorBrowser" - - # Prepare for autoconfig. - # - # See https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment - cat >defaults/pref/autoconfig.js <mozilla.cfg <fonts' "$TBB_IN_STORE/fonts" - - # Hard-code paths to geoip data files. TBB resolves the geoip files - # relative to torrc-defaults_path but if we do not hard-code them - # here, these paths end up being written to the torrc in the user's - # state dir. - cat >>TorBrowser/Data/Tor/torrc-defaults </dev/null - - echo "Checking tor-browser wrapper ..." - $out/bin/tor-browser --version >/dev/null - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - # Install distribution customizations - install -Dvm644 ${distributionIni} $out/share/tor-browser/distribution/distribution.ini - install -Dvm644 ${policiesJson} $out/share/tor-browser/distribution/policies.json - - runHook postInstall - ''; - - passthru = { - inherit sources; - updateScript = callPackage ./update.nix { - inherit pname version meta; - }; - }; - - meta = with lib; { - description = "Privacy-focused browser routing traffic through the Tor network"; - mainProgram = "tor-browser"; - homepage = "https://www.torproject.org/"; - changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}"; - platforms = attrNames sources; - maintainers = with maintainers; [ felschr panicgh joachifm hax404 ]; - # MPL2.0+, GPL+, &c. While it's not entirely clear whether - # the compound is "libre" in a strict sense (some components place certain - # restrictions on redistribution), it's free enough for our purposes. - license = with licenses; [ mpl20 lgpl21Plus lgpl3Plus free ]; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - }; -}) + + # Firefox uses "relrhack" to manually process relocations from a fixed offset + patchelfFlags = [ "--no-clobber-old-sections" ]; + + preferLocalBuild = true; + allowSubstitutes = false; + + desktopItems = [ + (makeDesktopItem { + name = "torbrowser"; + exec = "tor-browser %U"; + icon = "tor-browser"; + desktopName = "Tor Browser"; + genericName = "Web Browser"; + comment = meta.description; + categories = [ + "Network" + "WebBrowser" + "Security" + ]; + mimeTypes = [ + "text/html" + "text/xml" + "application/xhtml+xml" + "application/vnd.mozilla.xul+xml" + "x-scheme-handler/http" + "x-scheme-handler/https" + ]; + }) + ]; + + buildPhase = '' + runHook preBuild + + # For convenience ... + TBB_IN_STORE=$out/share/tor-browser + + # Unpack & enter + mkdir -p "$TBB_IN_STORE" + tar xf "$src" -C "$TBB_IN_STORE" --strip-components=2 + pushd "$TBB_IN_STORE" + + # Set ELF interpreter + autoPatchelf firefox.real TorBrowser/Tor + + # firefox is a wrapper that checks for a more recent libstdc++ & appends it to the ld path + mv firefox.real firefox + + # store state at `~/.tor browser` instead of relative to executable + touch "$TBB_IN_STORE/system-install" + + # The final libPath. Note, we could split this into firefoxLibPath + # and torLibPath for accuracy, but this is more convenient ... + libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor + + # apulse uses a non-standard library path. For now special-case it. + ${lib.optionalString (audioSupport && !pulseaudioSupport) '' + libPath=${apulse}/lib/apulse:$libPath + ''} + + # Fixup paths to pluggable transports. + substituteInPlace TorBrowser/Data/Tor/torrc-defaults \ + --replace-fail './TorBrowser' "$TBB_IN_STORE/TorBrowser" + + # Prepare for autoconfig. + # + # See https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment + cat >defaults/pref/autoconfig.js <mozilla.cfg <fonts' "$TBB_IN_STORE/fonts" + + # Hard-code paths to geoip data files. TBB resolves the geoip files + # relative to torrc-defaults_path but if we do not hard-code them + # here, these paths end up being written to the torrc in the user's + # state dir. + cat >>TorBrowser/Data/Tor/torrc-defaults </dev/null + + echo "Checking tor-browser wrapper ..." + $out/bin/tor-browser --version >/dev/null + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + # Install distribution customizations + install -Dvm644 ${distributionIni} $out/share/tor-browser/distribution/distribution.ini + install -Dvm644 ${policiesJson} $out/share/tor-browser/distribution/policies.json + + runHook postInstall + ''; + + passthru = { + inherit sources; + updateScript = callPackage ./update.nix { + inherit pname version meta; + }; + }; + + meta = with lib; { + description = "Privacy-focused browser routing traffic through the Tor network"; + mainProgram = "tor-browser"; + homepage = "https://www.torproject.org/"; + changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}"; + platforms = attrNames sources; + maintainers = with maintainers; [ + felschr + panicgh + joachifm + hax404 + ]; + # MPL2.0+, GPL+, &c. While it's not entirely clear whether + # the compound is "libre" in a strict sense (some components place certain + # restrictions on redistribution), it's free enough for our purposes. + license = with licenses; [ + mpl20 + lgpl21Plus + lgpl3Plus + free + ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; + } + ) diff --git a/pkgs/by-name/to/tor-browser/update.nix b/pkgs/by-name/to/tor-browser/update.nix index 7faf4c31efbf0..148a8ecc9bcd7 100644 --- a/pkgs/by-name/to/tor-browser/update.nix +++ b/pkgs/by-name/to/tor-browser/update.nix @@ -1,29 +1,39 @@ -{ lib -, writeShellScript -, coreutils -, gnused -, gnugrep -, curl -, gnupg -, nix -, common-updater-scripts +{ + lib, + writeShellScript, + coreutils, + gnused, + gnugrep, + curl, + gnupg, + nix, + common-updater-scripts, -# options -, pname -, version -, meta -, baseUrl ? "https://dist.torproject.org/torbrowser/" -# name used to match published archive -, name ? "tor-browser" -, prerelease ? false + # options + pname, + version, + meta, + baseUrl ? "https://dist.torproject.org/torbrowser/", + # name used to match published archive + name ? "tor-browser", + prerelease ? false, }: let - versionMatch = if prerelease - then ''[0-9]+(\.[0-9]+)*.*'' - else ''[0-9]+(\.[0-9]+)*''; -in writeShellScript "update-${pname}" '' - PATH="${lib.makeBinPath [ coreutils curl gnugrep gnused gnupg nix common-updater-scripts ]}" + versionMatch = if prerelease then ''[0-9]+(\.[0-9]+)*.*'' else ''[0-9]+(\.[0-9]+)*''; +in +writeShellScript "update-${pname}" '' + PATH="${ + lib.makeBinPath [ + coreutils + curl + gnugrep + gnused + gnupg + nix + common-updater-scripts + ] + }" set -euo pipefail trap diff --git a/pkgs/by-name/to/torcs/package.nix b/pkgs/by-name/to/torcs/package.nix index 476495bf88384..4a5b46a7e722e 100644 --- a/pkgs/by-name/to/torcs/package.nix +++ b/pkgs/by-name/to/torcs/package.nix @@ -1,6 +1,28 @@ -{ fetchpatch, fetchurl, lib, stdenv, libGLU, libglut, libX11, plib, openal, freealut, libXrandr, xorgproto, -libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, libvorbis, -libpng, zlib, makeWrapper }: +{ + fetchpatch, + fetchurl, + lib, + stdenv, + libGLU, + libglut, + libX11, + plib, + openal, + freealut, + libXrandr, + xorgproto, + libXext, + libSM, + libICE, + libXi, + libXt, + libXrender, + libXxf86vm, + libvorbis, + libpng, + zlib, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "torcs"; @@ -40,8 +62,26 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ libGLU libglut libX11 plib openal freealut libXrandr xorgproto - libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib libvorbis ]; + buildInputs = [ + libGLU + libglut + libX11 + plib + openal + freealut + libXrandr + xorgproto + libXext + libSM + libICE + libXi + libXt + libXrender + libXxf86vm + libpng + zlib + libvorbis + ]; installTargets = "install datainstall"; @@ -51,6 +91,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = [ ]; platforms = lib.platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/to/torctl/package.nix b/pkgs/by-name/to/torctl/package.nix index 706ec96a59e04..d184953e8560c 100644 --- a/pkgs/by-name/to/torctl/package.nix +++ b/pkgs/by-name/to/torctl/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/torrent7z/package.nix b/pkgs/by-name/to/torrent7z/package.nix index f18871baae93f..43a03143bec1b 100644 --- a/pkgs/by-name/to/torrent7z/package.nix +++ b/pkgs/by-name/to/torrent7z/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, +}: stdenv.mkDerivation rec { pname = "torrent7z"; @@ -14,8 +20,7 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { name = "fix-gcc10-compilation.patch"; # Fix compilation on GCC 10. This patch is included on the latest commit - url = - "https://github.com/paulyc/torrent7z/commit/5958f42a364c430b3ed4ac68911bbbea1f967fc4.patch"; + url = "https://github.com/paulyc/torrent7z/commit/5958f42a364c430b3ed4ac68911bbbea1f967fc4.patch"; sha256 = "vJOv1sG9XwTvvxQiWew0H5ALoUb9wIAouzTsTvKHuPI="; }) ]; diff --git a/pkgs/by-name/to/torrential/package.nix b/pkgs/by-name/to/torrential/package.nix index 2d9028bcc9790..913e1b5c34e8d 100644 --- a/pkgs/by-name/to/torrential/package.nix +++ b/pkgs/by-name/to/torrential/package.nix @@ -1,27 +1,28 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script -, desktop-file-utils -, meson -, ninja -, pkg-config -, python3 -, vala -, wrapGAppsHook4 -, curl -, dht -, glib -, gtk4 -, libb64 -, libevent -, libgee -, libnatpmp -, libtransmission_3 -, libutp -, miniupnpc -, openssl -, pantheon +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + desktop-file-utils, + meson, + ninja, + pkg-config, + python3, + vala, + wrapGAppsHook4, + curl, + dht, + glib, + gtk4, + libb64, + libevent, + libgee, + libnatpmp, + libtransmission_3, + libutp, + miniupnpc, + openssl, + pantheon, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/torrentstream/deps.nix b/pkgs/by-name/to/torrentstream/deps.nix index b68fcf2d6cabe..1df1839ed0582 100644 --- a/pkgs/by-name/to/torrentstream/deps.nix +++ b/pkgs/by-name/to/torrentstream/deps.nix @@ -1,43 +1,196 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "dotnet-ef"; version = "8.0.0"; sha256 = "1qh1zwyfgzy2486xvwiblg8algmwi70w2p1sqaiw4pfjz5c6dn21"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; sha256 = "026f7f2iv6ph2dc5rnslll0bly8qcx5clmh2nn9hgyqjizzc4qvy"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; sha256 = "13qb8wz3k59ihq0mjcqz1kwrpyzxn5da4dhk2pvcgc42z9kcbf7r"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "8.0.0"; sha256 = "1br01zhzhnxjzqx63bxd25x48y9xs69hcs71pjni8y9kl50zja7z"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; sha256 = "0ghwkld91k20hcbmzg2137w81mzzdh8hfaapdwckhza0vipya4kw"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; sha256 = "05wxjvjbx79ir7vfkri6b28k8zl8fa6bbr0i7gahqrim2ijvkp6v"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; sha256 = "1igf2bqism22fxv7km5yv028r4rg12a4lki2jh4xg3brjkagiv7q"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "8.0.0"; sha256 = "1f2af5m1yny8b43251gsj75hjd9ixni1clcldy8cg91z1vxxm8dh"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Systemd"; version = "8.0.0"; sha256 = "1jhxx8wyk18vspvfp30j5dymv8m85jg9s1iahdkfyin5v5j8g0xq"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.WindowsServices"; version = "8.0.0"; sha256 = "1xwbk1xa2y888a4qrmxn50l9b2l8vnfq1lmia9xh7zykl9zhmrps"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; sha256 = "1d9b734vnll935661wqkgl7ry60rlh5p876l2bsa930mvfsaqfcv"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; sha256 = "1mvp3ipw7k33v2qw2yrvc4vl5yzgpk3yxa94gg0gz7wmcmhzvmkd"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "8.0.0"; sha256 = "1h7mg97lj0ss47kq7zwnihh9c6xcrkwrr8ffhc16qcsrh36sg6q0"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "8.0.0"; sha256 = "05vfrxw7mlwlwhsl6r4yrhxk3sd8dv5sl0hdlcpgw62n53incw5x"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "8.0.0"; sha256 = "0gbjll6p03rmw0cf8fp0p8cxzn9awmzv8hvnyqbczrkax5h7p94i"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; }) - (fetchNuGet { pname = "Mono.Nat"; version = "3.0.0"; sha256 = "17lyjcpwp5j2dwx0gi975x710r7kqkx50c1wmyzwdyqhar3kszi8"; }) - (fetchNuGet { pname = "MonoTorrent"; version = "3.0.0-beta.rev0106"; sha256 = "0zz64nnb02d4pjpffs9x26jvbalm48yaghbgj3vc7j8ff0sm8xr4"; }) - (fetchNuGet { pname = "ReusableTasks"; version = "2.0.2"; sha256 = "0dkyirzspp8spmgd3ad9mak5jhqfmib6m437r2bmmyb3m4mxp5rb"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; sha256 = "0nzra1i0mljvmnj1qqqg37xs7bl71fnpl68nwmdajchh65l878zr"; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; sha256 = "1xnvcidh2qf6k7w8ij1rvj0viqkq84cq47biw0c98xhxg5rk3pxf"; }) - (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "8.0.0"; sha256 = "00hlb8vmfgs2kk39mqmij5h3bz5sgkqxpxvpnki4ncayqadx1bws"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "dotnet-ef"; + version = "8.0.0"; + sha256 = "1qh1zwyfgzy2486xvwiblg8algmwi70w2p1sqaiw4pfjz5c6dn21"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "8.0.0"; + sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "8.0.0"; + sha256 = "026f7f2iv6ph2dc5rnslll0bly8qcx5clmh2nn9hgyqjizzc4qvy"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "8.0.0"; + sha256 = "13qb8wz3k59ihq0mjcqz1kwrpyzxn5da4dhk2pvcgc42z9kcbf7r"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "8.0.0"; + sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "8.0.0"; + sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.UserSecrets"; + version = "8.0.0"; + sha256 = "1br01zhzhnxjzqx63bxd25x48y9xs69hcs71pjni8y9kl50zja7z"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics"; + version = "8.0.0"; + sha256 = "0ghwkld91k20hcbmzg2137w81mzzdh8hfaapdwckhza0vipya4kw"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics.Abstractions"; + version = "8.0.0"; + sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "8.0.0"; + sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "8.0.0"; + sha256 = "05wxjvjbx79ir7vfkri6b28k8zl8fa6bbr0i7gahqrim2ijvkp6v"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "8.0.0"; + sha256 = "1igf2bqism22fxv7km5yv028r4rg12a4lki2jh4xg3brjkagiv7q"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting"; + version = "8.0.0"; + sha256 = "1f2af5m1yny8b43251gsj75hjd9ixni1clcldy8cg91z1vxxm8dh"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "8.0.0"; + sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Systemd"; + version = "8.0.0"; + sha256 = "1jhxx8wyk18vspvfp30j5dymv8m85jg9s1iahdkfyin5v5j8g0xq"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.WindowsServices"; + version = "8.0.0"; + sha256 = "1xwbk1xa2y888a4qrmxn50l9b2l8vnfq1lmia9xh7zykl9zhmrps"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "8.0.0"; + sha256 = "1d9b734vnll935661wqkgl7ry60rlh5p876l2bsa930mvfsaqfcv"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "8.0.0"; + sha256 = "1mvp3ipw7k33v2qw2yrvc4vl5yzgpk3yxa94gg0gz7wmcmhzvmkd"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Debug"; + version = "8.0.0"; + sha256 = "1h7mg97lj0ss47kq7zwnihh9c6xcrkwrr8ffhc16qcsrh36sg6q0"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventLog"; + version = "8.0.0"; + sha256 = "05vfrxw7mlwlwhsl6r4yrhxk3sd8dv5sl0hdlcpgw62n53incw5x"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventSource"; + version = "8.0.0"; + sha256 = "0gbjll6p03rmw0cf8fp0p8cxzn9awmzv8hvnyqbczrkax5h7p94i"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "8.0.0"; + sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; + }) + (fetchNuGet { + pname = "Mono.Nat"; + version = "3.0.0"; + sha256 = "17lyjcpwp5j2dwx0gi975x710r7kqkx50c1wmyzwdyqhar3kszi8"; + }) + (fetchNuGet { + pname = "MonoTorrent"; + version = "3.0.0-beta.rev0106"; + sha256 = "0zz64nnb02d4pjpffs9x26jvbalm48yaghbgj3vc7j8ff0sm8xr4"; + }) + (fetchNuGet { + pname = "ReusableTasks"; + version = "2.0.2"; + sha256 = "0dkyirzspp8spmgd3ad9mak5jhqfmib6m437r2bmmyb3m4mxp5rb"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.0"; + sha256 = "0nzra1i0mljvmnj1qqqg37xs7bl71fnpl68nwmdajchh65l878zr"; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.0"; + sha256 = "1xnvcidh2qf6k7w8ij1rvj0viqkq84cq47biw0c98xhxg5rk3pxf"; + }) + (fetchNuGet { + pname = "System.ServiceProcess.ServiceController"; + version = "8.0.0"; + sha256 = "00hlb8vmfgs2kk39mqmij5h3bz5sgkqxpxvpnki4ncayqadx1bws"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.0"; + sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; + }) ] diff --git a/pkgs/by-name/to/torrentstream/package.nix b/pkgs/by-name/to/torrentstream/package.nix index c07e9d52eeb47..539a293fda51c 100644 --- a/pkgs/by-name/to/torrentstream/package.nix +++ b/pkgs/by-name/to/torrentstream/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, }: buildDotnetModule rec { diff --git a/pkgs/by-name/to/tortoisehg/package.nix b/pkgs/by-name/to/tortoisehg/package.nix index e4ad91a8713fe..d1d333cf4519e 100644 --- a/pkgs/by-name/to/tortoisehg/package.nix +++ b/pkgs/by-name/to/tortoisehg/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, python3Packages -, mercurial -, qt5 +{ + lib, + fetchurl, + python3Packages, + mercurial, + qt5, }: python3Packages.buildPythonApplication rec { @@ -65,6 +66,9 @@ python3Packages.buildPythonApplication rec { homepage = "https://tortoisehg.bitbucket.io/"; license = lib.licenses.gpl2Only; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ danbst gbtb ]; + maintainers = with lib.maintainers; [ + danbst + gbtb + ]; }; } diff --git a/pkgs/by-name/to/torus-trooper/package.nix b/pkgs/by-name/to/torus-trooper/package.nix index 5715be413b840..f3a98d48e04fc 100644 --- a/pkgs/by-name/to/torus-trooper/package.nix +++ b/pkgs/by-name/to/torus-trooper/package.nix @@ -1,73 +1,51 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, unzip -, gdc -, SDL -, SDL_mixer -, bulletml +{ + lib, + stdenv, + fetchpatch, + fetchurl, + unzip, + gdc, + SDL, + SDL_mixer, + bulletml, }: let -debianPatch = patchname: hash: fetchpatch { - name = "${patchname}.patch"; - url = "https://sources.debian.org/data/main/t/torus-trooper/0.22.dfsg1-12/debian/patches/${patchname}.patch"; - sha256 = hash; -}; + debianPatch = + patchname: hash: + fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/t/torus-trooper/0.22.dfsg1-12/debian/patches/${patchname}.patch"; + sha256 = hash; + }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "torus-trooper"; version = "0.22"; src = fetchurl { - url = "http://abagames.sakura.ne.jp/windows/tt${lib.replaceStrings ["."] ["_"] finalAttrs.version}.zip"; + url = "http://abagames.sakura.ne.jp/windows/tt${ + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }.zip"; sha256 = "1yhki1fdp3fi4y2iq12vca69f6k38dqjaw9z4lwcxky5kbgb7jvg"; }; patches = [ - (debianPatch - "imports" - "0mifw0mj66zljpq6iqnh0rhkgs2sky8rz0p32k98vxfnsb39ibsf") - (debianPatch - "fixes" - "05f93zq2v14lymq748c9g646ckbh9mqpr5rrahb63s90x8hlcqil") - (debianPatch - "directories" - "0y5xvf26v9fk0rx6ncrxx4czckhjbi891hp3pixlmv568pg9cihd") - (debianPatch - "windowed" - "1d8ghj4shvpb0s8l16kscz4l7rz1fxmfdpddy1ikz3678pw1sc8p") - (debianPatch - "dotfile" - "17yirmnjhbd1clzhmdd2mfdhbxkyinaahd6v3yz5kzbcylvjz2r2") - (debianPatch - "window-resizing" - "1n64gbhabl6vis7s294wxlj2k8s3ypxljpdg71icwz1m9jjx59df") - (debianPatch - "save-score-444372" - "1skny6s3hjxkh8w4fq86vp51j7z40fvn80b8myl4i1zzlwag3x17") - (debianPatch - "level-select-444948" - "008248s55188plggg2kg01nimjgc7w0sqd3c22sl6lzd1fjsflv8") - (debianPatch - "avoid-segfault-when-sdl-fails" - "1yp758gi4i15gqk6wiqp815rqcmlyqx62ir1sw20hn6zb3j97bmc") - (debianPatch - "dlang_v2" - "1lxsbckhvl8a8j43pw2dyl5nlavvdbgxb5zlb2450a0vml55nswd") - (debianPatch - "lowest-level-position-602808" - "19r48wirc9zssjmv57drn2fd0f56dcgyqqaz3j49cvv6yd74qf20") - (debianPatch - "libbulletml0v5-segfault" - "0pad2daz60hswkhkdpssxaqc9p9ca0sw1nraqzr453x0zdwwq0hn") - (debianPatch - "std.math.fabs" - "18xnnqlj20bxv2h9fa8dn4rmxwi3k6y3g50kwvh8i8p3b4hgag3r") - (debianPatch - "gdc-8" - "10z702y75c48hjcnvv8m7f3ka52cj3r3jqafdbby85nb0p2lbssx") + (debianPatch "imports" "0mifw0mj66zljpq6iqnh0rhkgs2sky8rz0p32k98vxfnsb39ibsf") + (debianPatch "fixes" "05f93zq2v14lymq748c9g646ckbh9mqpr5rrahb63s90x8hlcqil") + (debianPatch "directories" "0y5xvf26v9fk0rx6ncrxx4czckhjbi891hp3pixlmv568pg9cihd") + (debianPatch "windowed" "1d8ghj4shvpb0s8l16kscz4l7rz1fxmfdpddy1ikz3678pw1sc8p") + (debianPatch "dotfile" "17yirmnjhbd1clzhmdd2mfdhbxkyinaahd6v3yz5kzbcylvjz2r2") + (debianPatch "window-resizing" "1n64gbhabl6vis7s294wxlj2k8s3ypxljpdg71icwz1m9jjx59df") + (debianPatch "save-score-444372" "1skny6s3hjxkh8w4fq86vp51j7z40fvn80b8myl4i1zzlwag3x17") + (debianPatch "level-select-444948" "008248s55188plggg2kg01nimjgc7w0sqd3c22sl6lzd1fjsflv8") + (debianPatch "avoid-segfault-when-sdl-fails" "1yp758gi4i15gqk6wiqp815rqcmlyqx62ir1sw20hn6zb3j97bmc") + (debianPatch "dlang_v2" "1lxsbckhvl8a8j43pw2dyl5nlavvdbgxb5zlb2450a0vml55nswd") + (debianPatch "lowest-level-position-602808" "19r48wirc9zssjmv57drn2fd0f56dcgyqqaz3j49cvv6yd74qf20") + (debianPatch "libbulletml0v5-segfault" "0pad2daz60hswkhkdpssxaqc9p9ca0sw1nraqzr453x0zdwwq0hn") + (debianPatch "std.math.fabs" "18xnnqlj20bxv2h9fa8dn4rmxwi3k6y3g50kwvh8i8p3b4hgag3r") + (debianPatch "gdc-8" "10z702y75c48hjcnvv8m7f3ka52cj3r3jqafdbby85nb0p2lbssx") ]; postPatch = '' diff --git a/pkgs/by-name/to/toss/package.nix b/pkgs/by-name/to/toss/package.nix index 3c8f72961812f..a1f877837c71e 100644 --- a/pkgs/by-name/to/toss/package.nix +++ b/pkgs/by-name/to/toss/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "toss"; @@ -10,8 +14,10 @@ stdenv.mkDerivation rec { sha256 = "05ql0d8wbdhnmh3dw8ch5bi6clfb9h8v21lq2a74iy02slya2y0r"; }; preInstall = "export DESTDIR=$out/bin"; - meta = with lib; - src.meta // { + meta = + with lib; + src.meta + // { description = "Dead simple LAN file transfers from the command line"; license = with licenses; [ mit ]; maintainers = with maintainers; [ ehmry ]; diff --git a/pkgs/by-name/to/totem-pl-parser/package.nix b/pkgs/by-name/to/totem-pl-parser/package.nix index 6598da9a6f821..bb565d494e897 100644 --- a/pkgs/by-name/to/totem-pl-parser/package.nix +++ b/pkgs/by-name/to/totem-pl-parser/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchpatch, fetchurl, meson, ninja, pkg-config, gettext, libxml2, gobject-introspection, gnome, glib }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + meson, + ninja, + pkg-config, + gettext, + libxml2, + gobject-introspection, + gnome, + glib, +}: stdenv.mkDerivation rec { pname = "totem-pl-parser"; @@ -26,8 +39,18 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config gettext glib gobject-introspection ]; - buildInputs = [ libxml2 glib ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + glib + gobject-introspection + ]; + buildInputs = [ + libxml2 + glib + ]; mesonFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "-Dintrospection=false" diff --git a/pkgs/by-name/to/totem/package.nix b/pkgs/by-name/to/totem/package.nix index db3e8892fe56e..6b1eb8c43ac86 100644 --- a/pkgs/by-name/to/totem/package.nix +++ b/pkgs/by-name/to/totem/package.nix @@ -1,32 +1,33 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, gettext -, gst_all_1 -, python3Packages -, shared-mime-info -, pkg-config -, gtk3 -, glib -, gobject-introspection -, totem-pl-parser -, wrapGAppsHook3 -, itstool -, libxml2 -, vala -, gnome -, grilo -, grilo-plugins -, libpeas -, libportal-gtk3 -, libhandy -, adwaita-icon-theme -, gnome-desktop -, gsettings-desktop-schemas -, gdk-pixbuf -, xvfb-run +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + gettext, + gst_all_1, + python3Packages, + shared-mime-info, + pkg-config, + gtk3, + glib, + gobject-introspection, + totem-pl-parser, + wrapGAppsHook3, + itstool, + libxml2, + vala, + gnome, + grilo, + grilo-plugins, + libpeas, + libportal-gtk3, + libhandy, + adwaita-icon-theme, + gnome-desktop, + gsettings-desktop-schemas, + gdk-pixbuf, + xvfb-run, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/to/touchegg/package.nix b/pkgs/by-name/to/touchegg/package.nix index 32a1b059f2c59..d286414fc51d0 100644 --- a/pkgs/by-name/to/touchegg/package.nix +++ b/pkgs/by-name/to/touchegg/package.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, nix-update-script -, systemd -, libinput -, pugixml -, cairo -, xorg -, gtk3-x11 -, pcre -, pkg-config -, cmake -, pantheon -, withPantheon ? false +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + nix-update-script, + systemd, + libinput, + pugixml, + cairo, + xorg, + gtk3-x11, + pcre, + pkg-config, + cmake, + pantheon, + withPantheon ? false, }: stdenv.mkDerivation rec { @@ -48,22 +49,24 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = [ - systemd - libinput - pugixml - cairo - gtk3-x11 - pcre - ] ++ (with xorg; [ - libX11 - libXtst - libXrandr - libXi - libXdmcp - libpthreadstubs - libxcb - ]); + buildInputs = + [ + systemd + libinput + pugixml + cairo + gtk3-x11 + pcre + ] + ++ (with xorg; [ + libX11 + libXtst + libXrandr + libXi + libXdmcp + libpthreadstubs + libxcb + ]); PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; diff --git a/pkgs/by-name/to/tox-node/package.nix b/pkgs/by-name/to/tox-node/package.nix index 3f8857fff5698..e09d4fc754e38 100644 --- a/pkgs/by-name/to/tox-node/package.nix +++ b/pkgs/by-name/to/tox-node/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, nix-update-script }: +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: rustPlatform.buildRustPackage rec { pname = "tox-node"; @@ -22,7 +27,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/tox-rs/tox"; license = [ licenses.gpl3Plus ]; platforms = platforms.linux; - maintainers = with maintainers; [ suhr kurnevsky ]; + maintainers = with maintainers; [ + suhr + kurnevsky + ]; mainProgram = "tox-node"; }; } diff --git a/pkgs/by-name/to/toxic/package.nix b/pkgs/by-name/to/toxic/package.nix index 036c96dd47d53..ffad1f618fbef 100644 --- a/pkgs/by-name/to/toxic/package.nix +++ b/pkgs/by-name/to/toxic/package.nix @@ -1,27 +1,56 @@ -{ lib, stdenv, fetchFromGitHub, libsodium, ncurses, curl -, libtoxcore, openal, libvpx, freealut, libconfig, pkg-config, libopus -, qrencode, gdk-pixbuf, libnotify }: +{ + lib, + stdenv, + fetchFromGitHub, + libsodium, + ncurses, + curl, + libtoxcore, + openal, + libvpx, + freealut, + libconfig, + pkg-config, + libopus, + qrencode, + gdk-pixbuf, + libnotify, +}: stdenv.mkDerivation rec { pname = "toxic"; version = "0.15.1"; src = fetchFromGitHub { - owner = "TokTok"; - repo = "toxic"; - rev = "v${version}"; + owner = "TokTok"; + repo = "toxic"; + rev = "v${version}"; hash = "sha256-+nOjlQED2pbYwGV6IGeKK1pymBSrDVWCWKjZ42vib7E="; }; - makeFlags = [ "PREFIX=$(out)"]; - installFlags = [ "PREFIX=$(out)"]; + makeFlags = [ "PREFIX=$(out)" ]; + installFlags = [ "PREFIX=$(out)" ]; - buildInputs = [ - libtoxcore libsodium ncurses curl gdk-pixbuf libnotify - ] ++ lib.optionals (!stdenv.hostPlatform.isAarch32) [ - openal libopus libvpx freealut qrencode + buildInputs = + [ + libtoxcore + libsodium + ncurses + curl + gdk-pixbuf + libnotify + ] + ++ lib.optionals (!stdenv.hostPlatform.isAarch32) [ + openal + libopus + libvpx + freealut + qrencode + ]; + nativeBuildInputs = [ + pkg-config + libconfig ]; - nativeBuildInputs = [ pkg-config libconfig ]; meta = src.meta // { description = "Reference CLI for Tox"; diff --git a/pkgs/by-name/to/toxiproxy/package.nix b/pkgs/by-name/to/toxiproxy/package.nix index 0b2aff389dbc2..104399ce64f15 100644 --- a/pkgs/by-name/to/toxiproxy/package.nix +++ b/pkgs/by-name/to/toxiproxy/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, toxiproxy +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + toxiproxy, }: buildGoModule rec { @@ -20,7 +21,11 @@ buildGoModule rec { excludedPackages = [ "test/e2e" ]; - ldflags = [ "-s" "-w" "-X github.com/Shopify/toxiproxy/v2.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/Shopify/toxiproxy/v2.Version=${version}" + ]; # Fixes tests on Darwin __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/to/toxvpn/package.nix b/pkgs/by-name/to/toxvpn/package.nix index 1053dd0154a62..48063d333ceab 100644 --- a/pkgs/by-name/to/toxvpn/package.nix +++ b/pkgs/by-name/to/toxvpn/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, nlohmann_json -, libtoxcore -, libsodium -, libcap -, zeromq -, systemd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nlohmann_json, + libtoxcore, + libsodium, + libcap, + zeromq, + systemd, }: stdenv.mkDerivation { @@ -21,8 +22,17 @@ stdenv.mkDerivation { sha256 = "sha256-UncU0cpoyy9Z0TCChGmaHpyhW9ctz32gU7n3hgpOEwU="; }; - buildInputs = [ libtoxcore nlohmann_json libsodium zeromq ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libcap systemd ]; + buildInputs = + [ + libtoxcore + nlohmann_json + libsodium + zeromq + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + systemd + ]; nativeBuildInputs = [ cmake ]; @@ -37,7 +47,12 @@ stdenv.mkDerivation { description = "Powerful tool that allows one to make tunneled point to point connections over Tox"; homepage = "https://github.com/cleverca22/toxvpn"; license = licenses.gpl3; - maintainers = with maintainers; [ cleverca22 craigem obadz toonn ]; + maintainers = with maintainers; [ + cleverca22 + craigem + obadz + toonn + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/tp/tp-auto-kbbl/package.nix b/pkgs/by-name/tp/tp-auto-kbbl/package.nix index 15292fad17854..ecfccd0bdc76a 100644 --- a/pkgs/by-name/tp/tp-auto-kbbl/package.nix +++ b/pkgs/by-name/tp/tp-auto-kbbl/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, dbus -, pkg-config -, openssl -, libevdev +{ + lib, + fetchFromGitHub, + rustPlatform, + dbus, + pkg-config, + openssl, + libevdev, }: rustPlatform.buildRustPackage rec { @@ -21,13 +22,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-zBTn3dcKzm5JfL1a31m6ZHXp2JoGObPBciy1BfVmL1Q="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus libevdev openssl ]; + buildInputs = [ + dbus + libevdev + openssl + ]; meta = with lib; { description = "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux"; homepage = "https://github.com/saibotd/tp-auto-kbbl"; license = licenses.mit; - maintainers = with maintainers; []; + maintainers = with maintainers; [ ]; platforms = platforms.linux; mainProgram = "tp-auto-kbbl"; }; diff --git a/pkgs/by-name/tp/tpacpi-bat/package.nix b/pkgs/by-name/tp/tpacpi-bat/package.nix index 42d8a0f9dbcfe..8a5f8d32e534b 100644 --- a/pkgs/by-name/tp/tpacpi-bat/package.nix +++ b/pkgs/by-name/tp/tpacpi-bat/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, perl, kmod, coreutils }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + kmod, + coreutils, +}: # Requires the acpi_call kernel module in order to run. stdenv.mkDerivation rec { @@ -26,7 +33,7 @@ stdenv.mkDerivation rec { ''; meta = { - maintainers = [lib.maintainers.orbekk]; + maintainers = [ lib.maintainers.orbekk ]; platforms = lib.platforms.linux; description = "Tool to set battery charging thresholds on Lenovo Thinkpad"; mainProgram = "tpacpi-bat"; diff --git a/pkgs/by-name/tp/tpm-luks/package.nix b/pkgs/by-name/tp/tpm-luks/package.nix index 16d88c9196b80..185d33fccdf3c 100644 --- a/pkgs/by-name/tp/tpm-luks/package.nix +++ b/pkgs/by-name/tp/tpm-luks/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gawk, trousers, cryptsetup, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gawk, + trousers, + cryptsetup, + openssl, +}: stdenv.mkDerivation { pname = "tpm-luks"; @@ -17,7 +26,12 @@ stdenv.mkDerivation { ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ gawk trousers cryptsetup openssl ]; + buildInputs = [ + gawk + trousers + cryptsetup + openssl + ]; installPhase = '' mkdir -p $out @@ -34,4 +48,3 @@ stdenv.mkDerivation { platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/tp/tpm-quote-tools/package.nix b/pkgs/by-name/tp/tpm-quote-tools/package.nix index 58ff7160924c6..dbaa37f5047dc 100644 --- a/pkgs/by-name/tp/tpm-quote-tools/package.nix +++ b/pkgs/by-name/tp/tpm-quote-tools/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, trousers, openssl }: +{ + lib, + stdenv, + fetchurl, + trousers, + openssl, +}: stdenv.mkDerivation rec { pname = "tpm-quote-tools"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1qjs83xb4np4yn1bhbjfhvkiika410v8icwnjix5ad96w2nlxp0h"; }; - buildInputs = [ trousers openssl ]; + buildInputs = [ + trousers + openssl + ]; postFixup = '' patchelf \ @@ -24,9 +33,9 @@ stdenv.mkDerivation rec { for TPM based attestation using the TPM quote mechanism. The manual page for tpm_quote_tools provides a usage overview. ''; - homepage = "http://tpmquotetools.sourceforge.net/"; - license = licenses.bsd3; + homepage = "http://tpmquotetools.sourceforge.net/"; + license = licenses.bsd3; maintainers = with maintainers; [ ak ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/tp/tpm-tools/package.nix b/pkgs/by-name/tp/tpm-tools/package.nix index c0e2941323a6e..abfc81a93d59a 100644 --- a/pkgs/by-name/tp/tpm-tools/package.nix +++ b/pkgs/by-name/tp/tpm-tools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, trousers, openssl, opencryptoki, perl }: +{ + lib, + stdenv, + fetchurl, + trousers, + openssl, + opencryptoki, + perl, +}: let version = "1.3.9.1"; @@ -22,7 +30,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ perl ]; - buildInputs = [ trousers openssl opencryptoki ]; + buildInputs = [ + trousers + openssl + opencryptoki + ]; meta = with lib; { description = "Management tools for TPM hardware"; @@ -31,10 +43,9 @@ stdenv.mkDerivation rec { application enablement of Trusted Computing using a Trusted Platform Module (TPM), similar to a smart card environment. ''; - homepage = "https://sourceforge.net/projects/trousers/files/tpm-tools/"; - license = licenses.cpl10; + homepage = "https://sourceforge.net/projects/trousers/files/tpm-tools/"; + license = licenses.cpl10; maintainers = [ maintainers.ak ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/tp/tpm2-abrmd/package.nix b/pkgs/by-name/tp/tpm2-abrmd/package.nix index da297f7a5b36c..52c34e8806813 100644 --- a/pkgs/by-name/tp/tpm2-abrmd/package.nix +++ b/pkgs/by-name/tp/tpm2-abrmd/package.nix @@ -1,7 +1,16 @@ -{ stdenv, lib, fetchFromGitHub -, autoreconfHook, pkg-config, autoconf-archive, makeWrapper, which -, tpm2-tss, glib, dbus -, cmocka +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + autoconf-archive, + makeWrapper, + which, + tpm2-tss, + glib, + dbus, + cmocka, }: stdenv.mkDerivation rec { @@ -23,7 +32,11 @@ stdenv.mkDerivation rec { pkg-config which ]; - buildInputs = [ tpm2-tss glib dbus ]; + buildInputs = [ + tpm2-tss + glib + dbus + ]; nativeCheckInputs = [ cmocka ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/tp/tpm2-pkcs11/package.nix b/pkgs/by-name/tp/tpm2-pkcs11/package.nix index 80d9a1c452001..6d9782c76e5d8 100644 --- a/pkgs/by-name/tp/tpm2-pkcs11/package.nix +++ b/pkgs/by-name/tp/tpm2-pkcs11/package.nix @@ -1,8 +1,24 @@ -{ stdenv, lib, fetchFromGitHub, substituteAll -, pkg-config, autoreconfHook, autoconf-archive, makeWrapper, patchelf -, tpm2-tss, tpm2-tools, opensc, openssl, sqlite, python3, glibc, libyaml -, abrmdSupport ? true, tpm2-abrmd ? null -, fapiSupport ? true +{ + stdenv, + lib, + fetchFromGitHub, + substituteAll, + pkg-config, + autoreconfHook, + autoconf-archive, + makeWrapper, + patchelf, + tpm2-tss, + tpm2-tools, + opensc, + openssl, + sqlite, + python3, + glibc, + libyaml, + abrmdSupport ? true, + tpm2-abrmd ? null, + fapiSupport ? true, }: stdenv.mkDerivation rec { @@ -35,38 +51,61 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - pkg-config autoreconfHook autoconf-archive makeWrapper patchelf + pkg-config + autoreconfHook + autoconf-archive + makeWrapper + patchelf ]; buildInputs = [ - tpm2-tss tpm2-tools opensc openssl sqlite libyaml - (python3.withPackages (ps: with ps; [ packaging pyyaml cryptography pyasn1-modules tpm2-pytss ])) + tpm2-tss + tpm2-tools + opensc + openssl + sqlite + libyaml + (python3.withPackages ( + ps: with ps; [ + packaging + pyyaml + cryptography + pyasn1-modules + tpm2-pytss + ] + )) ]; - outputs = [ "out" "bin" "dev" ]; + outputs = [ + "out" + "bin" + "dev" + ]; dontStrip = true; dontPatchELF = true; # To be able to use the userspace resource manager, the RUNPATH must # explicitly include the tpm2-abrmd shared libraries. - preFixup = let - rpath = lib.makeLibraryPath ( - (lib.optional abrmdSupport tpm2-abrmd) - ++ [ - tpm2-tss - sqlite - openssl - glibc - libyaml - ] - ); - in '' - patchelf \ - --set-rpath ${rpath} \ - ${lib.optionalString abrmdSupport "--add-needed ${lib.makeLibraryPath [tpm2-abrmd]}/libtss2-tcti-tabrmd.so"} \ - --add-needed ${lib.makeLibraryPath [tpm2-tss]}/libtss2-tcti-device.so \ - $out/lib/libtpm2_pkcs11.so.0.0.0 - ''; + preFixup = + let + rpath = lib.makeLibraryPath ( + (lib.optional abrmdSupport tpm2-abrmd) + ++ [ + tpm2-tss + sqlite + openssl + glibc + libyaml + ] + ); + in + '' + patchelf \ + --set-rpath ${rpath} \ + ${lib.optionalString abrmdSupport "--add-needed ${lib.makeLibraryPath [ tpm2-abrmd ]}/libtss2-tcti-tabrmd.so"} \ + --add-needed ${lib.makeLibraryPath [ tpm2-tss ]}/libtss2-tcti-device.so \ + $out/lib/libtpm2_pkcs11.so.0.0.0 + ''; postInstall = '' mkdir -p $bin/bin/ $bin/share/tpm2_pkcs11/ diff --git a/pkgs/by-name/tp/tpm2-tools/package.nix b/pkgs/by-name/tp/tpm2-tools/package.nix index 2e78257a13e2a..88a20e99b1d24 100644 --- a/pkgs/by-name/tp/tpm2-tools/package.nix +++ b/pkgs/by-name/tp/tpm2-tools/package.nix @@ -1,6 +1,17 @@ -{ stdenv, fetchurl, lib -, pandoc, pkg-config, makeWrapper, curl, openssl, tpm2-tss, libuuid -, abrmdSupport ? true, tpm2-abrmd ? null }: +{ + stdenv, + fetchurl, + lib, + pandoc, + pkg-config, + makeWrapper, + curl, + openssl, + tpm2-tss, + libuuid, + abrmdSupport ? true, + tpm2-abrmd ? null, +}: stdenv.mkDerivation rec { pname = "tpm2-tools"; @@ -11,20 +22,31 @@ stdenv.mkDerivation rec { sha256 = "sha256-OBDTa1B5JW9PL3zlUuIiE9Q7EDHBMVON+KLbw8VwmDo="; }; - nativeBuildInputs = [ pandoc pkg-config makeWrapper ]; + nativeBuildInputs = [ + pandoc + pkg-config + makeWrapper + ]; buildInputs = [ - curl openssl tpm2-tss libuuid + curl + openssl + tpm2-tss + libuuid ]; - preFixup = let - ldLibraryPath = lib.makeLibraryPath ([ - tpm2-tss - ] ++ (lib.optional abrmdSupport tpm2-abrmd)); - in '' - wrapProgram $out/bin/tpm2 --suffix LD_LIBRARY_PATH : "${ldLibraryPath}" - wrapProgram $out/bin/tss2 --suffix LD_LIBRARY_PATH : "${ldLibraryPath}" - ''; - + preFixup = + let + ldLibraryPath = lib.makeLibraryPath ( + [ + tpm2-tss + ] + ++ (lib.optional abrmdSupport tpm2-abrmd) + ); + in + '' + wrapProgram $out/bin/tpm2 --suffix LD_LIBRARY_PATH : "${ldLibraryPath}" + wrapProgram $out/bin/tss2 --suffix LD_LIBRARY_PATH : "${ldLibraryPath}" + ''; # Unit tests disabled, as they rely on a dbus session #configureFlags = [ "--enable-unit" ]; diff --git a/pkgs/by-name/tp/tpm2-totp/package.nix b/pkgs/by-name/tp/tpm2-totp/package.nix index 766c6e138af64..4bfea9d119367 100644 --- a/pkgs/by-name/tp/tpm2-totp/package.nix +++ b/pkgs/by-name/tp/tpm2-totp/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, tpm2-tss -, autoreconfHook -, autoconf-archive -, pkg-config -, qrencode +{ + lib, + stdenv, + fetchFromGitHub, + tpm2-tss, + autoreconfHook, + autoconf-archive, + pkg-config, + qrencode, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tp/tpnote/package.nix b/pkgs/by-name/tp/tpnote/package.nix index 1efa9e1b61c9f..76cbda46fc455 100644 --- a/pkgs/by-name/tp/tpnote/package.nix +++ b/pkgs/by-name/tp/tpnote/package.nix @@ -1,17 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cmake -, pkg-config -, oniguruma -, darwin -, installShellFiles -, tpnote -, testers +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cmake, + pkg-config, + oniguruma, + darwin, + installShellFiles, + tpnote, + testers, }: - rustPlatform.buildRustPackage rec { pname = "tpnote"; version = "1.24.10"; @@ -31,13 +31,18 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - oniguruma - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - AppKit - CoreServices - SystemConfiguration - ]); + buildInputs = + [ + oniguruma + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + AppKit + CoreServices + SystemConfiguration + ] + ); postInstall = '' installManPage docs/build/man/man1/tpnote.1 diff --git a/pkgs/by-name/tp/tptp/package.nix b/pkgs/by-name/tp/tptp/package.nix index 5df511ebaa8e7..a9b89c21362d2 100644 --- a/pkgs/by-name/tp/tptp/package.nix +++ b/pkgs/by-name/tp/tptp/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, yap, tcsh, perl, patchelf }: +{ + lib, + stdenv, + fetchurl, + yap, + tcsh, + perl, + patchelf, +}: stdenv.mkDerivation rec { pname = "TPTP"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ patchelf ]; - buildInputs = [ tcsh yap perl ]; + buildInputs = [ + tcsh + yap + perl + ]; installPhase = '' sharedir=$out/share/tptp @@ -38,11 +50,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Thousands of problems for theorem provers and tools"; - maintainers = with maintainers; [ raskin gebner ]; + maintainers = with maintainers; [ + raskin + gebner + ]; # 6.3 GiB of data. Installation is unpacking and editing a few files. # No sense in letting Hydra build it. # Also, it is unclear what is covered by "verbatim" - we will edit configs - hydraPlatforms = []; + hydraPlatforms = [ ]; platforms = platforms.all; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfreeRedistributable; diff --git a/pkgs/by-name/tq/tqsl/package.nix b/pkgs/by-name/tq/tqsl/package.nix index e75cb778803c3..61ea5efac0687 100644 --- a/pkgs/by-name/tq/tqsl/package.nix +++ b/pkgs/by-name/tq/tqsl/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, cmake, expat, openssl, zlib, lmdb, curl, sqlite, wxGTK32, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchurl, + cmake, + expat, + openssl, + zlib, + lmdb, + curl, + sqlite, + wxGTK32, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "tqsl"; @@ -9,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-recq2FTyvmt5tDTjZRjQKWf5HgdkmTsMmRTWTfTPGbQ="; }; - nativeBuildInputs = [ cmake wrapGAppsHook3 ]; + nativeBuildInputs = [ + cmake + wrapGAppsHook3 + ]; buildInputs = [ expat openssl diff --git a/pkgs/by-name/tr/tr-patcher/package.nix b/pkgs/by-name/tr/tr-patcher/package.nix index 77788e8f27f23..af6405f2ac083 100644 --- a/pkgs/by-name/tr/tr-patcher/package.nix +++ b/pkgs/by-name/tr/tr-patcher/package.nix @@ -1,10 +1,17 @@ -{ stdenv, lib, fetchurl, fetchzip, jre, makeWrapper }: +{ + stdenv, + lib, + fetchurl, + fetchzip, + jre, + makeWrapper, +}: let -translation-file = fetchurl { - url = "https://gitlab.com/bmwinger/tr-patcher/-/raw/master/lib/Translation.txt?inline=false"; - sha256 = "136zd2s73b4n1w2n34wxi656bm448748nn3y7a64fd89ysg9n7n8"; -}; + translation-file = fetchurl { + url = "https://gitlab.com/bmwinger/tr-patcher/-/raw/master/lib/Translation.txt?inline=false"; + sha256 = "136zd2s73b4n1w2n34wxi656bm448748nn3y7a64fd89ysg9n7n8"; + }; in stdenv.mkDerivation rec { pname = "tr-patcher"; diff --git a/pkgs/by-name/tr/tracebox/package.nix b/pkgs/by-name/tr/tracebox/package.nix index 1d50aea475663..7a373f49796e1 100644 --- a/pkgs/by-name/tr/tracebox/package.nix +++ b/pkgs/by-name/tr/tracebox/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libpcap -, lua5_1 -, json_c -, testers -, tracebox +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libpcap, + lua5_1, + json_c, + testers, + tracebox, }: stdenv.mkDerivation rec { pname = "tracebox"; diff --git a/pkgs/by-name/tr/tracefilegen/package.nix b/pkgs/by-name/tr/tracefilegen/package.nix index 4623c42e81919..5abd2d63032a6 100644 --- a/pkgs/by-name/tr/tracefilegen/package.nix +++ b/pkgs/by-name/tr/tracefilegen/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tr/tracefilesim/package.nix b/pkgs/by-name/tr/tracefilesim/package.nix index cd1682a1f5e71..0e135186ace20 100644 --- a/pkgs/by-name/tr/tracefilesim/package.nix +++ b/pkgs/by-name/tr/tracefilesim/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { diff --git a/pkgs/by-name/tr/traceroute/package.nix b/pkgs/by-name/tr/traceroute/package.nix index 3a61c5eacbefe..6c72db10561f6 100644 --- a/pkgs/by-name/tr/traceroute/package.nix +++ b/pkgs/by-name/tr/traceroute/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tr/trackballs/package.nix b/pkgs/by-name/tr/trackballs/package.nix index 3c3d50eafdb1d..1b21058149a16 100644 --- a/pkgs/by-name/tr/trackballs/package.nix +++ b/pkgs/by-name/tr/trackballs/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU, libGL }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + SDL2_ttf, + gettext, + zlib, + SDL2_mixer, + SDL2_image, + guile, + libGLU, + libGL, +}: stdenv.mkDerivation rec { pname = "trackballs"; @@ -12,7 +26,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU libGL ]; + buildInputs = [ + zlib + SDL2 + SDL2_ttf + SDL2_mixer + SDL2_image + guile + gettext + libGLU + libGL + ]; meta = with lib; { homepage = "https://trackballs.github.io/"; diff --git a/pkgs/by-name/tr/tracy/package.nix b/pkgs/by-name/tr/tracy/package.nix index 5f03796e50acc..edeefc4d72a45 100644 --- a/pkgs/by-name/tr/tracy/package.nix +++ b/pkgs/by-name/tr/tracy/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub - -, capstone -, darwin -, dbus -, freetype -, glfw -, hicolor-icon-theme -, pkg-config -, tbb - -, withWayland ? stdenv.hostPlatform.isLinux -, libxkbcommon -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + + capstone, + darwin, + dbus, + freetype, + glfw, + hicolor-icon-theme, + pkg-config, + tbb, + + withWayland ? stdenv.hostPlatform.isLinux, + libxkbcommon, + wayland, }: stdenv.mkDerivation rec { @@ -27,36 +28,49 @@ stdenv.mkDerivation rec { hash = "sha256-DN1ExvQ5wcIUyhMAfiakFbZkDsx+5l8VMtYGvSdboPA="; }; - patches = lib.optionals (stdenv.hostPlatform.isDarwin && !(lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11")) [ - ./0001-remove-unifiedtypeidentifiers-framework - ]; + patches = + lib.optionals + (stdenv.hostPlatform.isDarwin && !(lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11")) + [ + ./0001-remove-unifiedtypeidentifiers-framework + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - capstone - freetype - glfw - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withWayland) [ - libxkbcommon - wayland - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - dbus - hicolor-icon-theme - tbb - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - darwin.apple_sdk.frameworks.Carbon - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") [ - darwin.apple_sdk.frameworks.UniformTypeIdentifiers - ]; - - env.NIX_CFLAGS_COMPILE = toString ([ ] + buildInputs = + [ + capstone + freetype + glfw + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && withWayland) [ + libxkbcommon + wayland + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + dbus + hicolor-icon-theme + tbb + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + darwin.apple_sdk.frameworks.Carbon + ] + ++ + lib.optionals + (stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") + [ + darwin.apple_sdk.frameworks.UniformTypeIdentifiers + ]; + + env.NIX_CFLAGS_COMPILE = toString ( + [ ] # Apple's compiler finds a format string security error on # ../../../server/TracyView.cpp:649:34, preventing building. ++ lib.optional stdenv.hostPlatform.isDarwin "-Wno-format-security" ++ lib.optional stdenv.hostPlatform.isLinux "-ltbb" - ++ lib.optional stdenv.cc.isClang "-faligned-allocation"); + ++ lib.optional stdenv.cc.isClang "-faligned-allocation" + ); buildPhase = '' runHook preBuild @@ -72,35 +86,38 @@ stdenv.mkDerivation rec { runHook postBuild ''; - installPhase = '' - runHook preInstall - - install -D -m 0755 capture/build/unix/capture-release $out/bin/capture - install -D -m 0755 csvexport/build/unix/csvexport-release $out/bin/tracy-csvexport - install -D -m 0755 import-chrome/build/unix/import-chrome-release $out/bin/import-chrome - install -D -m 0755 library/unix/libtracy-release.so $out/lib/libtracy.so - install -D -m 0755 profiler/build/unix/Tracy-release $out/bin/tracy - install -D -m 0755 update/build/unix/update-release $out/bin/update - - mkdir -p $out/include/Tracy/client - mkdir -p $out/include/Tracy/common - mkdir -p $out/include/Tracy/tracy - - cp -p public/client/*.{h,hpp} $out/include/Tracy/client - cp -p public/common/*.{h,hpp} $out/include/Tracy/common - cp -p public/tracy/*.{h,hpp} $out/include/Tracy/tracy - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace extra/desktop/tracy.desktop \ - --replace Exec=/usr/bin/tracy Exec=tracy - - install -D -m 0644 extra/desktop/application-tracy.xml $out/share/mime/packages/application-tracy.xml - install -D -m 0644 extra/desktop/tracy.desktop $out/share/applications/tracy.desktop - install -D -m 0644 icon/application-tracy.svg $out/share/icons/hicolor/scalable/apps/application-tracy.svg - install -D -m 0644 icon/icon.png $out/share/icons/hicolor/256x256/apps/tracy.png - install -D -m 0644 icon/icon.svg $out/share/icons/hicolor/scalable/apps/tracy.svg - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + install -D -m 0755 capture/build/unix/capture-release $out/bin/capture + install -D -m 0755 csvexport/build/unix/csvexport-release $out/bin/tracy-csvexport + install -D -m 0755 import-chrome/build/unix/import-chrome-release $out/bin/import-chrome + install -D -m 0755 library/unix/libtracy-release.so $out/lib/libtracy.so + install -D -m 0755 profiler/build/unix/Tracy-release $out/bin/tracy + install -D -m 0755 update/build/unix/update-release $out/bin/update + + mkdir -p $out/include/Tracy/client + mkdir -p $out/include/Tracy/common + mkdir -p $out/include/Tracy/tracy + + cp -p public/client/*.{h,hpp} $out/include/Tracy/client + cp -p public/common/*.{h,hpp} $out/include/Tracy/common + cp -p public/tracy/*.{h,hpp} $out/include/Tracy/tracy + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace extra/desktop/tracy.desktop \ + --replace Exec=/usr/bin/tracy Exec=tracy + + install -D -m 0644 extra/desktop/application-tracy.xml $out/share/mime/packages/application-tracy.xml + install -D -m 0644 extra/desktop/tracy.desktop $out/share/applications/tracy.desktop + install -D -m 0644 icon/application-tracy.svg $out/share/icons/hicolor/scalable/apps/application-tracy.svg + install -D -m 0644 icon/icon.png $out/share/icons/hicolor/256x256/apps/tracy.png + install -D -m 0644 icon/icon.svg $out/share/icons/hicolor/scalable/apps/tracy.svg + '' + + '' + runHook postInstall + ''; postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -change libcapstone.4.dylib ${capstone}/lib/libcapstone.4.dylib $out/bin/tracy @@ -112,6 +129,10 @@ stdenv.mkDerivation rec { platforms = platforms.linux ++ platforms.darwin; license = licenses.bsd3; mainProgram = "tracy"; - maintainers = with maintainers; [ mpickering nagisa paveloom ]; + maintainers = with maintainers; [ + mpickering + nagisa + paveloom + ]; }; } diff --git a/pkgs/by-name/tr/tradcpp/package.nix b/pkgs/by-name/tr/tradcpp/package.nix index b26db0d22356d..bba9e0501e907 100644 --- a/pkgs/by-name/tr/tradcpp/package.nix +++ b/pkgs/by-name/tr/tradcpp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoconf }: +{ + lib, + stdenv, + fetchurl, + autoconf, +}: stdenv.mkDerivation rec { pname = "tradcpp"; diff --git a/pkgs/by-name/tr/tradingview/package.nix b/pkgs/by-name/tr/tradingview/package.nix index 958e0f4135e48..b95cad50fec7c 100644 --- a/pkgs/by-name/tr/tradingview/package.nix +++ b/pkgs/by-name/tr/tradingview/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, squashfsTools -, makeBinaryWrapper -, alsa-lib -, atk -, at-spi2-atk -, cups -, gtk3 -, libdrm -, libsecret -, libxkbcommon -, mesa -, pango -, sqlite -, systemd -, wayland -, xorg +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + squashfsTools, + makeBinaryWrapper, + alsa-lib, + atk, + at-spi2-atk, + cups, + gtk3, + libdrm, + libsecret, + libxkbcommon, + mesa, + pango, + sqlite, + systemd, + wayland, + xorg, }: stdenv.mkDerivation (finalAttrs: { @@ -76,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { cp squashfs-root/meta/gui/icon.png $out/share/icons/tradingview.png mkdir $out/bin - makeBinaryWrapper $out/share/tradingview/tradingview $out/bin/tradingview --prefix LD_LIBRARY_PATH : ${ lib.makeLibraryPath finalAttrs.buildInputs } + makeBinaryWrapper $out/share/tradingview/tradingview $out/bin/tradingview --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath finalAttrs.buildInputs} runHook postInstall ''; diff --git a/pkgs/by-name/tr/traefik-certs-dumper/package.nix b/pkgs/by-name/tr/traefik-certs-dumper/package.nix index a9ff5dd7cd96c..f86409a9e17ce 100644 --- a/pkgs/by-name/tr/traefik-certs-dumper/package.nix +++ b/pkgs/by-name/tr/traefik-certs-dumper/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, buildGoModule, lib }: +{ + fetchFromGitHub, + buildGoModule, + lib, +}: buildGoModule rec { pname = "traefik-certs-dumper"; diff --git a/pkgs/by-name/tr/trafficserver/package.nix b/pkgs/by-name/tr/trafficserver/package.nix index 56c0d3babbc29..d6cacf5434cf0 100644 --- a/pkgs/by-name/tr/trafficserver/package.nix +++ b/pkgs/by-name/tr/trafficserver/package.nix @@ -1,48 +1,49 @@ -{ lib -, stdenv -, fetchzip -, autoreconfHook -, makeWrapper -, nixosTests -, pkg-config -, file -, linuxHeaders -, openssl -, pcre -, perlPackages -, python3 -# recommended dependencies -, withHwloc ? true -, hwloc -, withCurl ? true -, curl -, withCurses ? true -, ncurses -, withCap ? stdenv.hostPlatform.isLinux -, libcap -, withUnwind ? stdenv.hostPlatform.isLinux -, libunwind -# optional dependencies -, withBrotli ? false -, brotli -, withCjose ? false -, cjose -, withGeoIP ? false -, geoip -, withHiredis ? false -, hiredis -, withImageMagick ? false -, imagemagick -, withJansson ? false -, jansson -, withKyotoCabinet ? false -, kyotocabinet -, withLuaJIT ? false -, luajit -, withMaxmindDB ? false -, libmaxminddb -# optional features -, enableWCCP ? false +{ + lib, + stdenv, + fetchzip, + autoreconfHook, + makeWrapper, + nixosTests, + pkg-config, + file, + linuxHeaders, + openssl, + pcre, + perlPackages, + python3, + # recommended dependencies + withHwloc ? true, + hwloc, + withCurl ? true, + curl, + withCurses ? true, + ncurses, + withCap ? stdenv.hostPlatform.isLinux, + libcap, + withUnwind ? stdenv.hostPlatform.isLinux, + libunwind, + # optional dependencies + withBrotli ? false, + brotli, + withCjose ? false, + cjose, + withGeoIP ? false, + geoip, + withHiredis ? false, + hiredis, + withImageMagick ? false, + imagemagick, + withJansson ? false, + jansson, + withKyotoCabinet ? false, + kyotocabinet, + withLuaJIT ? false, + luajit, + withMaxmindDB ? false, + libmaxminddb, + # optional features + enableWCCP ? false, }: stdenv.mkDerivation rec { @@ -62,45 +63,63 @@ stdenv.mkDerivation rec { # # [1]: https://github.com/apache/trafficserver/pull/5617 # [2]: https://github.com/apache/trafficserver/blob/3fd2c60/configure.ac#L742-L788 - nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config file python3 ] - ++ (with perlPackages; [ perl ExtUtilsMakeMaker ]) + nativeBuildInputs = + [ + autoreconfHook + makeWrapper + pkg-config + file + python3 + ] + ++ (with perlPackages; [ + perl + ExtUtilsMakeMaker + ]) ++ lib.optionals stdenv.hostPlatform.isLinux [ linuxHeaders ]; - buildInputs = [ - openssl - pcre - perlPackages.perl - ] ++ lib.optional withBrotli brotli - ++ lib.optional withCap libcap - ++ lib.optional withCjose cjose - ++ lib.optional withCurl curl - ++ lib.optional withGeoIP geoip - ++ lib.optional withHiredis hiredis - ++ lib.optional withHwloc hwloc - ++ lib.optional withImageMagick imagemagick - ++ lib.optional withJansson jansson - ++ lib.optional withKyotoCabinet kyotocabinet - ++ lib.optional withCurses ncurses - ++ lib.optional withLuaJIT luajit - ++ lib.optional withUnwind libunwind - ++ lib.optional withMaxmindDB libmaxminddb; - - outputs = [ "out" "man" ]; - - postPatch = '' - patchShebangs \ - iocore/aio/test_AIO.sample \ - src/traffic_via/test_traffic_via \ - src/traffic_logstats/tests \ - tools/check-unused-dependencies - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace configure.ac \ - --replace-fail '/usr/include/linux' '${linuxHeaders}/include/linux' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # 'xcrun leaks' probably requires non-free XCode - substituteInPlace iocore/net/test_certlookup.cc \ - --replace-fail 'xcrun leaks' 'true' - ''; + buildInputs = + [ + openssl + pcre + perlPackages.perl + ] + ++ lib.optional withBrotli brotli + ++ lib.optional withCap libcap + ++ lib.optional withCjose cjose + ++ lib.optional withCurl curl + ++ lib.optional withGeoIP geoip + ++ lib.optional withHiredis hiredis + ++ lib.optional withHwloc hwloc + ++ lib.optional withImageMagick imagemagick + ++ lib.optional withJansson jansson + ++ lib.optional withKyotoCabinet kyotocabinet + ++ lib.optional withCurses ncurses + ++ lib.optional withLuaJIT luajit + ++ lib.optional withUnwind libunwind + ++ lib.optional withMaxmindDB libmaxminddb; + + outputs = [ + "out" + "man" + ]; + + postPatch = + '' + patchShebangs \ + iocore/aio/test_AIO.sample \ + src/traffic_via/test_traffic_via \ + src/traffic_logstats/tests \ + tools/check-unused-dependencies + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace configure.ac \ + --replace-fail '/usr/include/linux' '${linuxHeaders}/include/linux' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # 'xcrun leaks' probably requires non-free XCode + substituteInPlace iocore/net/test_certlookup.cc \ + --replace-fail 'xcrun leaks' 'true' + ''; configureFlags = [ "--enable-layout=NixOS" @@ -133,29 +152,31 @@ stdenv.mkDerivation rec { rmdir $out/.install-trafficserver ''; - installCheckPhase = let - expected = '' - Via header is [uScMsEf p eC:t cCMp sF], Length is 22 - Via Header Details: - Request headers received from client :simple request (not conditional) - Result of Traffic Server cache lookup for URL :miss (a cache "MISS") - Response information received from origin server :error in response - Result of document write-to-cache: :no cache write performed - Proxy operation result :unknown - Error codes (if any) :connection to server failed - Tunnel info :no tunneling - Cache Type :cache - Cache Lookup Result :cache miss (url not in cache) - Parent proxy connection status :no parent proxy or unknown - Origin server connection status :connection open failed + installCheckPhase = + let + expected = '' + Via header is [uScMsEf p eC:t cCMp sF], Length is 22 + Via Header Details: + Request headers received from client :simple request (not conditional) + Result of Traffic Server cache lookup for URL :miss (a cache "MISS") + Response information received from origin server :error in response + Result of document write-to-cache: :no cache write performed + Proxy operation result :unknown + Error codes (if any) :connection to server failed + Tunnel info :no tunneling + Cache Type :cache + Cache Lookup Result :cache miss (url not in cache) + Parent proxy connection status :no parent proxy or unknown + Origin server connection status :connection open failed + ''; + in + '' + runHook preInstallCheck + diff -Naur <($out/bin/traffic_via '[uScMsEf p eC:t cCMp sF]') - < $out/bin/transcrypt-depspathprefix << EOF #!${stdenv.shell} - echo "${lib.makeBinPath [ git openssl coreutils gawk ]}:" + echo "${ + lib.makeBinPath [ + git + openssl + coreutils + gawk + ] + }:" EOF chmod +x $out/bin/transcrypt-depspathprefix ''; diff --git a/pkgs/by-name/tr/transfer-sh/package.nix b/pkgs/by-name/tr/transfer-sh/package.nix index d3b15ae2465bf..360621b974333 100644 --- a/pkgs/by-name/tr/transfer-sh/package.nix +++ b/pkgs/by-name/tr/transfer-sh/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, nix-update-script -, nixosTests +{ + lib, + fetchFromGitHub, + buildGoModule, + nix-update-script, + nixosTests, }: buildGoModule rec { @@ -31,6 +32,9 @@ buildGoModule rec { changelog = "https://github.com/dutchcoders/transfer.sh/releases"; mainProgram = "transfer.sh"; license = licenses.mit; - maintainers = with maintainers; [ ocfox pinpox ]; + maintainers = with maintainers; [ + ocfox + pinpox + ]; }; } diff --git a/pkgs/by-name/tr/transgui/package.nix b/pkgs/by-name/tr/transgui/package.nix index 6444bc72df40f..23286a131448c 100644 --- a/pkgs/by-name/tr/transgui/package.nix +++ b/pkgs/by-name/tr/transgui/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, makeDesktopItem, unzip -, fpc, lazarus, libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl -, unstableGitUpdater }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + makeDesktopItem, + unzip, + fpc, + lazarus, + libX11, + glib, + gtk2, + gdk-pixbuf, + pango, + atk, + cairo, + openssl, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "transgui"; @@ -13,10 +29,22 @@ stdenv.mkDerivation rec { hash = "sha256-8ycivjjPeXBdPbqNNlO2hcre6T9sFhqg6vUfCREtd8k="; }; - nativeBuildInputs = [ pkg-config unzip ]; + nativeBuildInputs = [ + pkg-config + unzip + ]; buildInputs = [ - fpc lazarus stdenv.cc libX11 glib gtk2 gdk-pixbuf - pango atk cairo openssl + fpc + lazarus + stdenv.cc + libX11 + glib + gtk2 + gdk-pixbuf + pango + atk + cairo + openssl ]; NIX_LDFLAGS = '' @@ -34,7 +62,11 @@ stdenv.mkDerivation rec { lazbuild -B transgui.lpr --lazarusdir=${lazarus}/share/lazarus ''; - makeFlags = [ "FPC=fpc" "PP=fpc" "INSTALL_PREFIX=$(out)" ]; + makeFlags = [ + "FPC=fpc" + "PP=fpc" + "INSTALL_PREFIX=$(out)" + ]; LCL_PLATFORM = "gtk2"; @@ -46,9 +78,17 @@ stdenv.mkDerivation rec { comment = meta.description; desktopName = "Transmission Remote GUI"; genericName = "BitTorrent Client"; - categories = [ "Network" "FileTransfer" "P2P" "GTK" ]; + categories = [ + "Network" + "FileTransfer" + "P2P" + "GTK" + ]; startupNotify = true; - mimeTypes = [ "application/x-bittorrent" "x-scheme-handler/magnet" ]; + mimeTypes = [ + "application/x-bittorrent" + "x-scheme-handler/magnet" + ]; }; postInstall = '' @@ -70,6 +110,9 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ ramkromberg ]; mainProgram = "transgui"; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/by-name/tr/transifex-cli/package.nix b/pkgs/by-name/tr/transifex-cli/package.nix index da06ce3929184..a4551be0f8c63 100644 --- a/pkgs/by-name/tr/transifex-cli/package.nix +++ b/pkgs/by-name/tr/transifex-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -17,7 +18,9 @@ buildGoModule rec { vendorHash = "sha256-3gi2ysIb5256CdmtX38oIfeDwNCQojK+YB9aEm8H01Q="; ldflags = [ - "-s" "-w" "-X 'github.com/transifex/cli/internal/txlib.Version=${version}'" + "-s" + "-w" + "-X 'github.com/transifex/cli/internal/txlib.Version=${version}'" ]; postInstall = '' diff --git a/pkgs/by-name/tr/translate-shell/package.nix b/pkgs/by-name/tr/translate-shell/package.nix index 4a92a9d0e79b4..132ce92697eb0 100644 --- a/pkgs/by-name/tr/translate-shell/package.nix +++ b/pkgs/by-name/tr/translate-shell/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, fribidi, rlwrap, gawk, groff, ncurses, hexdump }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + curl, + fribidi, + rlwrap, + gawk, + groff, + ncurses, + hexdump, +}: stdenv.mkDerivation rec { pname = "translate-shell"; @@ -17,15 +29,17 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/trans \ - --prefix PATH : ${lib.makeBinPath [ - gawk - curl - ncurses - rlwrap - groff - fribidi - hexdump - ]} + --prefix PATH : ${ + lib.makeBinPath [ + gawk + curl + ncurses + rlwrap + groff + fribidi + hexdump + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/tr/translatelocally/package.nix b/pkgs/by-name/tr/translatelocally/package.nix index d99579a5f2a6d..babc0bfeb3e45 100644 --- a/pkgs/by-name/tr/translatelocally/package.nix +++ b/pkgs/by-name/tr/translatelocally/package.nix @@ -1,12 +1,24 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, qt6, libarchive, pcre2, protobuf, gperftools, blas -, runCommand, translatelocally, translatelocally-models +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt6, + libarchive, + pcre2, + protobuf, + gperftools, + blas, + runCommand, + translatelocally, + translatelocally-models, }: let rev = "27771d884d3607cf6331da16b15e27aba819573d"; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "translatelocally"; version = "0-unstable-2024-05-12"; @@ -46,7 +58,7 @@ in stdenv.mkDerivation (finalAttrs: { libarchive pcre2 protobuf - gperftools # provides tcmalloc + gperftools # provides tcmalloc blas ]; @@ -56,16 +68,19 @@ in stdenv.mkDerivation (finalAttrs: { ]; passthru.tests = { - cli-translate = runCommand "${finalAttrs.pname}-test-cli-translate" { - nativeBuildInputs = [ - translatelocally - translatelocally-models.fr-en-tiny - ]; - } '' - export LC_ALL="C.UTF-8" - echo "Bonjour" | translateLocally -m fr-en-tiny > $out - diff "$out" <(echo "Hello") - ''; + cli-translate = + runCommand "${finalAttrs.pname}-test-cli-translate" + { + nativeBuildInputs = [ + translatelocally + translatelocally-models.fr-en-tiny + ]; + } + '' + export LC_ALL="C.UTF-8" + echo "Bonjour" | translateLocally -m fr-en-tiny > $out + diff "$out" <(echo "Hello") + ''; }; meta = with lib; { diff --git a/pkgs/by-name/tr/transmission-remote-gtk/package.nix b/pkgs/by-name/tr/transmission-remote-gtk/package.nix index 059a7371ebbf8..4b22b1bf7f263 100644 --- a/pkgs/by-name/tr/transmission-remote-gtk/package.nix +++ b/pkgs/by-name/tr/transmission-remote-gtk/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, appstream-glib -, curl -, desktop-file-utils -, fetchFromGitHub -, geoip -, gettext -, glib -, glib-networking -, gtk3 -, json-glib -, libappindicator -, libmrss -, libproxy -, libsoup_3 -, meson -, ninja -, pkg-config -, wrapGAppsHook3 +{ + lib, + stdenv, + appstream-glib, + curl, + desktop-file-utils, + fetchFromGitHub, + geoip, + gettext, + glib, + glib-networking, + gtk3, + json-glib, + libappindicator, + libmrss, + libproxy, + libsoup_3, + meson, + ninja, + pkg-config, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tr/transmission-rss/package.nix b/pkgs/by-name/tr/transmission-rss/package.nix index 859b8acb5b10d..7aadbb804d437 100644 --- a/pkgs/by-name/tr/transmission-rss/package.nix +++ b/pkgs/by-name/tr/transmission-rss/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, openssl, darwin }: +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + darwin, +}: rustPlatform.buildRustPackage rec { version = "0.3.1"; @@ -15,12 +23,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-QNMdqoxxY8ao2O44hJxZNgLrPwzu9+ieweTPc7pfFY4="; - nativeBuildInputs = [pkg-config]; - buildInputs = [openssl] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Security - SystemConfiguration - ]); + nativeBuildInputs = [ pkg-config ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/tr/transmission_3/package.nix b/pkgs/by-name/tr/transmission_3/package.nix index a97e2cbb3e7f8..bfe4b98aa2f13 100644 --- a/pkgs/by-name/tr/transmission_3/package.nix +++ b/pkgs/by-name/tr/transmission_3/package.nix @@ -1,34 +1,35 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, openssl -, curl -, libevent -, inotify-tools -, systemd -, zlib -, pcre -, libb64 -, libutp -, miniupnpc -, dht -, libnatpmp -, libiconv +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + openssl, + curl, + libevent, + inotify-tools, + systemd, + zlib, + pcre, + libb64, + libutp, + miniupnpc, + dht, + libnatpmp, + libiconv, # Build options -, enableGTK3 ? false -, gtk3 -, xorg -, wrapGAppsHook3 -, enableQt ? false -, qt5 -, nixosTests -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, enableDaemon ? true -, enableCli ? true -, installLib ? false -, apparmorRulesFromClosure + enableGTK3 ? false, + gtk3, + xorg, + wrapGAppsHook3, + enableQt ? false, + qt5, + nixosTests, + enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + enableDaemon ? true, + enableCli ? true, + installLib ? false, + apparmorRulesFromClosure, }: stdenv.mkDerivation (finalAttrs: { @@ -50,7 +51,10 @@ stdenv.mkDerivation (finalAttrs: { ./transmission-3.00-miniupnpc-2.2.8.patch ]; - outputs = [ "out" "apparmor" ]; + outputs = [ + "out" + "apparmor" + ]; cmakeFlags = let @@ -65,31 +69,38 @@ stdenv.mkDerivation (finalAttrs: { "-DINSTALL_LIB=${mkFlag installLib}" ]; - nativeBuildInputs = [ - pkg-config - cmake - ] - ++ lib.optionals enableGTK3 [ wrapGAppsHook3 ] - ++ lib.optionals enableQt [ qt5.wrapQtAppsHook ] - ; + nativeBuildInputs = + [ + pkg-config + cmake + ] + ++ lib.optionals enableGTK3 [ wrapGAppsHook3 ] + ++ lib.optionals enableQt [ qt5.wrapQtAppsHook ]; - buildInputs = [ - openssl - curl - libevent - zlib - pcre - libb64 - libutp - miniupnpc - dht - libnatpmp - ] - ++ lib.optionals enableQt [ qt5.qttools qt5.qtbase ] - ++ lib.optionals enableGTK3 [ gtk3 xorg.libpthreadstubs ] - ++ lib.optionals enableSystemd [ systemd ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify-tools ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + buildInputs = + [ + openssl + curl + libevent + zlib + pcre + libb64 + libutp + miniupnpc + dht + libnatpmp + ] + ++ lib.optionals enableQt [ + qt5.qttools + qt5.qtbase + ] + ++ lib.optionals enableGTK3 [ + gtk3 + xorg.libpthreadstubs + ] + ++ lib.optionals enableSystemd [ systemd ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify-tools ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; postInstall = '' mkdir $apparmor @@ -99,11 +110,21 @@ stdenv.mkDerivation (finalAttrs: { include include include - include "${apparmorRulesFromClosure { name = "transmission-daemon"; } ([ - curl libevent openssl pcre zlib libnatpmp miniupnpc - ] ++ lib.optionals enableSystemd [ systemd ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify-tools ] - )}" + include "${ + apparmorRulesFromClosure { name = "transmission-daemon"; } ( + [ + curl + libevent + openssl + pcre + zlib + libnatpmp + miniupnpc + ] + ++ lib.optionals enableSystemd [ systemd ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify-tools ] + ) + }" r @{PROC}/sys/kernel/random/uuid, r @{PROC}/sys/vm/overcommit_memory, r @{PROC}/@{pid}/environ, @@ -124,7 +145,13 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Fast, easy and free BitTorrent client (deprecated version 3)"; - mainProgram = if enableQt then "transmission-qt" else if enableGTK3 then "transmission-gtk" else "transmission-cli"; + mainProgram = + if enableQt then + "transmission-qt" + else if enableGTK3 then + "transmission-gtk" + else + "transmission-cli"; longDescription = '' Transmission is a BitTorrent client which features a simple interface on top of a cross-platform back-end. diff --git a/pkgs/by-name/tr/trash-cli/package.nix b/pkgs/by-name/tr/trash-cli/package.nix index e807bff429d99..c0aa05da5e6ce 100644 --- a/pkgs/by-name/tr/trash-cli/package.nix +++ b/pkgs/by-name/tr/trash-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, installShellFiles, nix-update-script, python3Packages }: +{ + lib, + fetchFromGitHub, + installShellFiles, + nix-update-script, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "trash-cli"; @@ -11,7 +17,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-ltuMnxtG4jTTSZd6ZHWl8wI0oQMMFqW0HAPetZMfGtc="; }; - propagatedBuildInputs = with python3Packages; [ psutil six ]; + propagatedBuildInputs = with python3Packages; [ + psutil + six + ]; nativeBuildInputs = with python3Packages; [ installShellFiles diff --git a/pkgs/by-name/tr/trashy/package.nix b/pkgs/by-name/tr/trashy/package.nix index 09cbccb13c77a..8798f7ab5ed7d 100644 --- a/pkgs/by-name/tr/trashy/package.nix +++ b/pkgs/by-name/tr/trashy/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, installShellFiles, stdenv }: +{ + lib, + rustPlatform, + fetchCrate, + installShellFiles, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "trashy"; @@ -24,7 +30,10 @@ rustPlatform.buildRustPackage rec { description = "Simple, fast, and featureful alternative to rm and trash-cli"; homepage = "https://github.com/oberblastmeister/trashy"; changelog = "https://github.com/oberblastmeister/trashy/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ oberblastmeister ]; mainProgram = "trash"; # darwin is unsupported due to https://github.com/Byron/trash-rs/issues/8 diff --git a/pkgs/by-name/tr/trayer/package.nix b/pkgs/by-name/tr/trayer/package.nix index 61976edfe96bd..b48ed167fa6a0 100644 --- a/pkgs/by-name/tr/trayer/package.nix +++ b/pkgs/by-name/tr/trayer/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gdk-pixbuf, gtk2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gdk-pixbuf, + gtk2, +}: stdenv.mkDerivation rec { pname = "trayer"; @@ -17,7 +24,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gdk-pixbuf gtk2 ]; + buildInputs = [ + gdk-pixbuf + gtk2 + ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -30,4 +40,3 @@ stdenv.mkDerivation rec { mainProgram = "trayer"; }; } - diff --git a/pkgs/by-name/tr/trayscale/package.nix b/pkgs/by-name/tr/trayscale/package.nix index 55b493cd96a1d..449426e62c53d 100644 --- a/pkgs/by-name/tr/trayscale/package.nix +++ b/pkgs/by-name/tr/trayscale/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, tailscale -, gtk4 -, gobject-introspection -, libadwaita +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + tailscale, + gtk4, + gobject-introspection, + libadwaita, }: buildGoModule rec { @@ -30,8 +31,15 @@ buildGoModule rec { "-X=deedles.dev/trayscale/internal/version.version=${version}" ]; - nativeBuildInputs = [ pkg-config gobject-introspection wrapGAppsHook4 ]; - buildInputs = [ gtk4 libadwaita ]; + nativeBuildInputs = [ + pkg-config + gobject-introspection + wrapGAppsHook4 + ]; + buildInputs = [ + gtk4 + libadwaita + ]; # there are no actual tests, and it takes 20 minutes to rebuild doCheck = false; diff --git a/pkgs/by-name/tr/trdl-client/package.nix b/pkgs/by-name/tr/trdl-client/package.nix index e0d92c140ced8..c64ac876a92af 100644 --- a/pkgs/by-name/tr/trdl-client/package.nix +++ b/pkgs/by-name/tr/trdl-client/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, trdl-client +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + trdl-client, }: buildGoModule rec { diff --git a/pkgs/by-name/tr/tre-command/package.nix b/pkgs/by-name/tr/tre-command/package.nix index 59cb00e7095f3..12d76e61e5df8 100644 --- a/pkgs/by-name/tr/tre-command/package.nix +++ b/pkgs/by-name/tr/tre-command/package.nix @@ -1,4 +1,9 @@ -{ rustPlatform, fetchFromGitHub, lib, installShellFiles }: +{ + rustPlatform, + fetchFromGitHub, + lib, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "tre-command"; @@ -22,7 +27,10 @@ rustPlatform.buildRustPackage rec { ''; # this test requires package to be in a git repo to succeed - checkFlags = [ "--skip" "respect_git_ignore" ]; + checkFlags = [ + "--skip" + "respect_git_ignore" + ]; meta = with lib; { description = "Tree command, improved"; diff --git a/pkgs/by-name/tr/tre/package.nix b/pkgs/by-name/tr/tre/package.nix index 8cd0faf486730..e016e510e8415 100644 --- a/pkgs/by-name/tr/tre/package.nix +++ b/pkgs/by-name/tr/tre/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, fetchpatch}: +{ + lib, + stdenv, + fetchurl, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "tre"; diff --git a/pkgs/by-name/tr/tree/package.nix b/pkgs/by-name/tr/tree/package.nix index df510be36e399..4ddf8f3972630 100644 --- a/pkgs/by-name/tr/tree/package.nix +++ b/pkgs/by-name/tr/tree/package.nix @@ -1,20 +1,27 @@ -{ lib, stdenv, fetchFromGitLab }: +{ + lib, + stdenv, + fetchFromGitLab, +}: let # These settings are found in the Makefile, but there seems to be no # way to select one or the other setting other than editing the file # manually, so we have to duplicate the know how here. - systemFlags = lib.optionalString stdenv.hostPlatform.isDarwin '' - CFLAGS="-O2 -Wall -fomit-frame-pointer -no-cpp-precomp" - LDFLAGS= - '' + lib.optionalString stdenv.hostPlatform.isCygwin '' - CFLAGS="-O2 -Wall -fomit-frame-pointer" - LDFLAGS=-s - TREE_DEST=tree.exe - '' + lib.optionalString (stdenv.hostPlatform.isFreeBSD || stdenv.hostPlatform.isOpenBSD) '' - CFLAGS="-O2 -Wall -fomit-frame-pointer" - LDFLAGS=-s - ''; # use linux flags by default + systemFlags = + lib.optionalString stdenv.hostPlatform.isDarwin '' + CFLAGS="-O2 -Wall -fomit-frame-pointer -no-cpp-precomp" + LDFLAGS= + '' + + lib.optionalString stdenv.hostPlatform.isCygwin '' + CFLAGS="-O2 -Wall -fomit-frame-pointer" + LDFLAGS=-s + TREE_DEST=tree.exe + '' + + lib.optionalString (stdenv.hostPlatform.isFreeBSD || stdenv.hostPlatform.isOpenBSD) '' + CFLAGS="-O2 -Wall -fomit-frame-pointer" + LDFLAGS=-s + ''; # use linux flags by default in stdenv.mkDerivation rec { pname = "tree"; diff --git a/pkgs/by-name/tr/treedome/package.nix b/pkgs/by-name/tr/treedome/package.nix index 64b086fd1733a..2aa8adfdc5a20 100644 --- a/pkgs/by-name/tr/treedome/package.nix +++ b/pkgs/by-name/tr/treedome/package.nix @@ -1,23 +1,24 @@ -{ lib -, cargo-tauri_1 -, cmake -, dbus -, fetchgit -, fetchYarnDeps -, freetype -, gsettings-desktop-schemas -, gtk3 -, libsoup_2_4 -, stdenv -, yarnConfigHook -, yarnBuildHook -, nodejs -, openssl -, pkg-config -, rustPlatform -, webkitgtk_4_0 -, wrapGAppsHook3 -, sqlite +{ + lib, + cargo-tauri_1, + cmake, + dbus, + fetchgit, + fetchYarnDeps, + freetype, + gsettings-desktop-schemas, + gtk3, + libsoup_2_4, + stdenv, + yarnConfigHook, + yarnBuildHook, + nodejs, + openssl, + pkg-config, + rustPlatform, + webkitgtk_4_0, + wrapGAppsHook3, + sqlite, }: let diff --git a/pkgs/by-name/tr/treefmt1/package.nix b/pkgs/by-name/tr/treefmt1/package.nix index ab61a50bd955f..738ae4ef986b3 100644 --- a/pkgs/by-name/tr/treefmt1/package.nix +++ b/pkgs/by-name/tr/treefmt1/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "treefmt"; version = "0.6.1"; diff --git a/pkgs/by-name/tr/treefmt2/package.nix b/pkgs/by-name/tr/treefmt2/package.nix index 46a3913cbadcf..5e7e568a94acd 100644 --- a/pkgs/by-name/tr/treefmt2/package.nix +++ b/pkgs/by-name/tr/treefmt2/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "treefmt"; version = "2.1.1"; @@ -27,7 +31,10 @@ buildGoModule rec { description = "one CLI to format the code tree"; homepage = "https://github.com/numtide/treefmt"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.brianmcgee lib.maintainers.zimbatm ]; + maintainers = [ + lib.maintainers.brianmcgee + lib.maintainers.zimbatm + ]; mainProgram = "treefmt"; }; } diff --git a/pkgs/by-name/tr/treemix/package.nix b/pkgs/by-name/tr/treemix/package.nix index 7bf966919a67e..f9a0fe9adcb17 100644 --- a/pkgs/by-name/tr/treemix/package.nix +++ b/pkgs/by-name/tr/treemix/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, zlib -, gsl -, boost +{ + lib, + stdenv, + fetchurl, + zlib, + gsl, + boost, }: stdenv.mkDerivation rec { @@ -15,9 +16,13 @@ stdenv.mkDerivation rec { sha256 = "1nd3rzsdgk47r8b8k43mdfvaagln533sm08s1jr0dz8km8nlym7y"; }; - buildInputs = [ zlib gsl boost ]; + buildInputs = [ + zlib + gsl + boost + ]; - meta = with lib ; { + meta = with lib; { description = "Inference of patterns of population splitting and mixing from genome-wide allele frequency data"; homepage = "https://bitbucket.org/nygcresearch/treemix/wiki/Home"; license = licenses.gpl3Only; diff --git a/pkgs/by-name/tr/trellis/package.nix b/pkgs/by-name/tr/trellis/package.nix index 5726465311e54..f69007967b2de 100644 --- a/pkgs/by-name/tr/trellis/package.nix +++ b/pkgs/by-name/tr/trellis/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, python3, boost, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + boost, + cmake, +}: let rev = "488f4e71073062de314c55a037ede7cf03a3324c"; @@ -6,30 +13,37 @@ let realVersion = "1.2.1-14-g${builtins.substring 0 7 rev}"; main_src = fetchFromGitHub { - owner = "YosysHQ"; - repo = "prjtrellis"; + owner = "YosysHQ"; + repo = "prjtrellis"; inherit rev; - hash = "sha256-Blbu+0rlM/3izbF0XCvkNpSAND0IclWEwK7anzyrpvw="; - name = "trellis"; + hash = "sha256-Blbu+0rlM/3izbF0XCvkNpSAND0IclWEwK7anzyrpvw="; + name = "trellis"; }; database_src = fetchFromGitHub { - owner = "YosysHQ"; - repo = "prjtrellis-db"; - rev = "35d900a94ff0db152679a67bf6e4fbf40ebc34aa"; - hash = "sha256-r6viR8y9ZjURGNbsa0/YY8lzy9kGzjuu408ntxwpqm0="; - name = "trellis-database"; + owner = "YosysHQ"; + repo = "prjtrellis-db"; + rev = "35d900a94ff0db152679a67bf6e4fbf40ebc34aa"; + hash = "sha256-r6viR8y9ZjURGNbsa0/YY8lzy9kGzjuu408ntxwpqm0="; + name = "trellis-database"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "trellis"; version = "unstable-2022-09-14"; - srcs = [ main_src database_src ]; + srcs = [ + main_src + database_src + ]; sourceRoot = main_src.name; buildInputs = [ boost ]; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; cmakeFlags = [ "-DCURRENT_GIT_VERSION=${realVersion}" # TODO: should this be in stdenv instead? @@ -55,16 +69,20 @@ in stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Documentation and bitstream tools for Lattice ECP5 FPGAs"; + description = "Documentation and bitstream tools for Lattice ECP5 FPGAs"; longDescription = '' Project Trellis documents the Lattice ECP5 architecture to enable development of open-source tools. Its goal is to provide sufficient information to develop a free and open Verilog to bitstream toolchain for these devices. ''; - homepage = "https://github.com/YosysHQ/prjtrellis"; - license = licenses.isc; - maintainers = with maintainers; [ q3k thoughtpolice rowanG077 ]; - platforms = platforms.all; + homepage = "https://github.com/YosysHQ/prjtrellis"; + license = licenses.isc; + maintainers = with maintainers; [ + q3k + thoughtpolice + rowanG077 + ]; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/tr/tremc/package.nix b/pkgs/by-name/tr/tremc/package.nix index 98ab36dac08a0..adfdebdee7378 100644 --- a/pkgs/by-name/tr/tremc/package.nix +++ b/pkgs/by-name/tr/tremc/package.nix @@ -1,13 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages -, x11Support ? !stdenv.hostPlatform.isDarwin -, xclip ? null -, pbcopy ? null -, useGeoIP ? false # Require /var/lib/geoip-databases/GeoIP.dat +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + python3Packages, + x11Support ? !stdenv.hostPlatform.isDarwin, + xclip ? null, + pbcopy ? null, + useGeoIP ? false, # Require /var/lib/geoip-databases/GeoIP.dat }: let wrapperPath = lib.makeBinPath ( - lib.optional x11Support xclip ++ - lib.optional stdenv.hostPlatform.isDarwin pbcopy + lib.optional x11Support xclip ++ lib.optional stdenv.hostPlatform.isDarwin pbcopy ); in python3Packages.buildPythonApplication rec { @@ -36,16 +40,18 @@ python3Packages.buildPythonApplication rec { wrapPython ]; - pythonPath = with python3Packages; [ - ipy - pyperclip - ] ++ - lib.optional useGeoIP geoip; + pythonPath = + with python3Packages; + [ + ipy + pyperclip + ] + ++ lib.optional useGeoIP geoip; dontBuild = true; doCheck = false; - makeWrapperArgs = ["--prefix PATH : ${lib.escapeShellArg wrapperPath}"]; + makeWrapperArgs = [ "--prefix PATH : ${lib.escapeShellArg wrapperPath}" ]; installPhase = '' make DESTDIR=$out install diff --git a/pkgs/by-name/tr/tremor/package.nix b/pkgs/by-name/tr/tremor/package.nix index 0477b6ca6d116..e8fb12f8ab9ed 100644 --- a/pkgs/by-name/tr/tremor/package.nix +++ b/pkgs/by-name/tr/tremor/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, libogg }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + libogg, +}: stdenv.mkDerivation { pname = "tremor"; @@ -12,11 +19,19 @@ stdenv.mkDerivation { sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - configureFlags = lib.optional (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "LDFLAGS=-Wl,--undefined-version"; + configureFlags = lib.optional ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) "LDFLAGS=-Wl,--undefined-version"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; propagatedBuildInputs = [ libogg ]; preConfigure = '' diff --git a/pkgs/by-name/tr/trexio/package.nix b/pkgs/by-name/tr/trexio/package.nix index da9770a6dff6a..d215faec0ab6d 100644 --- a/pkgs/by-name/tr/trexio/package.nix +++ b/pkgs/by-name/tr/trexio/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, gfortran -, hdf5 -, python3 -, emacs -, swig +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gfortran, + hdf5, + python3, + emacs, + swig, }: stdenv.mkDerivation rec { @@ -36,7 +37,10 @@ stdenv.mkDerivation rec { hdf5 ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; doCheck = true; diff --git a/pkgs/by-name/tr/trezor-suite/package.nix b/pkgs/by-name/tr/trezor-suite/package.nix index 91e02485833a0..f246c84e76806 100644 --- a/pkgs/by-name/tr/trezor-suite/package.nix +++ b/pkgs/by-name/tr/trezor-suite/package.nix @@ -1,26 +1,32 @@ -{ lib -, stdenv -, fetchurl -, appimageTools -, tor -, trezord +{ + lib, + stdenv, + fetchurl, + appimageTools, + tor, + trezord, }: let pname = "trezor-suite"; version = "24.11.3"; - suffix = { - aarch64-linux = "linux-arm64"; - x86_64-linux = "linux-x86_64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + aarch64-linux = "linux-arm64"; + x86_64-linux = "linux-x86_64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); src = fetchurl { url = "https://github.com/trezor/trezor-suite/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage"; - hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/download/v${version}/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' - aarch64-linux = "sha512-erNWQTaj/WWoqy3TO7wb+ijQkwXjqfCjqvQN6/9gCVjbHswURWHX36P0rJg9vuQu6odi5EKtooDusIxjIUkQzA=="; - x86_64-linux = "sha512-BorpJI0Vi6fFRGo2lATcuBiI1vTLY8vfmnUXKckJkMCBiurs/ZR08ZxKPOTaoS61BzSanUCRwcovev294bcqkA=="; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = + { + # curl -Lfs https://github.com/trezor/trezor-suite/releases/download/v${version}/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' + aarch64-linux = "sha512-erNWQTaj/WWoqy3TO7wb+ijQkwXjqfCjqvQN6/9gCVjbHswURWHX36P0rJg9vuQu6odi5EKtooDusIxjIUkQzA=="; + x86_64-linux = "sha512-BorpJI0Vi6fFRGo2lATcuBiI1vTLY8vfmnUXKckJkMCBiurs/ZR08ZxKPOTaoS61BzSanUCRwcovev294bcqkA=="; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; appimageContents = appimageTools.extractType2 { @@ -56,7 +62,10 @@ appimageTools.wrapType2 rec { changelog = "https://github.com/trezor/trezor-suite/releases/tag/v${version}"; license = licenses.unfree; maintainers = with maintainers; [ prusnak ]; - platforms = [ "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; mainProgram = "trezor-suite"; }; } diff --git a/pkgs/by-name/tr/trezor-udev-rules/package.nix b/pkgs/by-name/tr/trezor-udev-rules/package.nix index c631b57127333..0c7f9871c4056 100644 --- a/pkgs/by-name/tr/trezor-udev-rules/package.nix +++ b/pkgs/by-name/tr/trezor-udev-rules/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + nixosTests, +}: stdenv.mkDerivation rec { pname = "trezor-udev-rules"; diff --git a/pkgs/by-name/tr/trf/package.nix b/pkgs/by-name/tr/trf/package.nix index f36788eb612c5..3bd1f19bbec6d 100644 --- a/pkgs/by-name/tr/trf/package.nix +++ b/pkgs/by-name/tr/trf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "trf"; diff --git a/pkgs/by-name/tr/trickle/package.nix b/pkgs/by-name/tr/trickle/package.nix index c1640a259969d..2ade49893aca4 100644 --- a/pkgs/by-name/tr/trickle/package.nix +++ b/pkgs/by-name/tr/trickle/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libevent, libtirpc }: +{ + lib, + stdenv, + fetchurl, + libevent, + libtirpc, +}: stdenv.mkDerivation rec { pname = "trickle"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx"; }; - buildInputs = [ libevent libtirpc ]; + buildInputs = [ + libevent + libtirpc + ]; preConfigure = '' sed -i 's|libevent.a|libevent.so|' configure @@ -19,7 +28,10 @@ stdenv.mkDerivation rec { sed -i '/#define in_addr_t/ s:^://:' config.h ''; - NIX_LDFLAGS = [ "-levent" "-ltirpc" ]; + NIX_LDFLAGS = [ + "-levent" + "-ltirpc" + ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; configureFlags = [ "--with-libevent" ]; diff --git a/pkgs/by-name/tr/tridactyl-native/package.nix b/pkgs/by-name/tr/tridactyl-native/package.nix index cb9e411b1f0df..c97b8cad33650 100644 --- a/pkgs/by-name/tr/tridactyl-native/package.nix +++ b/pkgs/by-name/tr/tridactyl-native/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNimPackage, fetchFromGitHub }: +{ + lib, + buildNimPackage, + fetchFromGitHub, +}: buildNimPackage { pname = "tridactyl-native"; version = "0.4.1"; @@ -19,12 +23,15 @@ buildNimPackage { ''; meta = with lib; { - description = - "Native messenger for Tridactyl, a vim-like Firefox webextension"; + description = "Native messenger for Tridactyl, a vim-like Firefox webextension"; mainProgram = "native_main"; homepage = "https://github.com/tridactyl/native_messenger"; license = licenses.bsd2; platforms = platforms.all; - maintainers = with maintainers; [ timokau dit7ya kiike ]; + maintainers = with maintainers; [ + timokau + dit7ya + kiike + ]; }; } diff --git a/pkgs/by-name/tr/triehash/package.nix b/pkgs/by-name/tr/triehash/package.nix index e9d8a92e2c2e3..47b1d72d672c6 100644 --- a/pkgs/by-name/tr/triehash/package.nix +++ b/pkgs/by-name/tr/triehash/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, perlPackages +{ + lib, + stdenv, + fetchFromGitHub, + perlPackages, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tr/trigger-control/package.nix b/pkgs/by-name/tr/trigger-control/package.nix index 838aae472d64e..ae189e2ca5058 100644 --- a/pkgs/by-name/tr/trigger-control/package.nix +++ b/pkgs/by-name/tr/trigger-control/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, makeWrapper -, pkg-config -, SDL2 -, dbus -, libdecor -, libnotify -, dejavu_fonts -, zenity +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + makeWrapper, + pkg-config, + SDL2, + dbus, + libdecor, + libnotify, + dejavu_fonts, + zenity, }: stdenv.mkDerivation (finalAttrs: { @@ -32,13 +33,15 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = [ - SDL2 - dbus - libnotify - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libdecor - ]; + buildInputs = + [ + SDL2 + dbus + libnotify + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libdecor + ]; patches = [ # Fix build on clang https://github.com/Etaash-mathamsetty/trigger-control/pull/23 diff --git a/pkgs/by-name/tr/trigger/package.nix b/pkgs/by-name/tr/trigger/package.nix index 86b47f554193e..683f3eaef8e08 100644 --- a/pkgs/by-name/tr/trigger/package.nix +++ b/pkgs/by-name/tr/trigger/package.nix @@ -1,5 +1,21 @@ -{ lib, fetchurl, stdenv, runtimeShell, SDL2, freealut, SDL2_image, openal, physfs -, zlib, libGLU, libGL, glew, tinyxml-2, copyDesktopItems, makeDesktopItem }: +{ + lib, + fetchurl, + stdenv, + runtimeShell, + SDL2, + freealut, + SDL2_image, + openal, + physfs, + zlib, + libGLU, + libGL, + glew, + tinyxml-2, + copyDesktopItems, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "trigger-rally"; @@ -56,7 +72,10 @@ stdenv.mkDerivation rec { icon = "trigger"; desktopName = "Trigger"; comment = "Fast-paced 3D single-player rally racing game"; - categories = [ "Game" "ActionGame" ]; + categories = [ + "Game" + "ActionGame" + ]; }) ]; diff --git a/pkgs/by-name/tr/triggerhappy/package.nix b/pkgs/by-name/tr/triggerhappy/package.nix index d35a6ebf072fb..a70060e36e6a9 100644 --- a/pkgs/by-name/tr/triggerhappy/package.nix +++ b/pkgs/by-name/tr/triggerhappy/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, perl, systemd }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + perl, + systemd, +}: stdenv.mkDerivation rec { pname = "triggerhappy"; @@ -11,10 +18,16 @@ stdenv.mkDerivation rec { sha256 = "0gb1qhrxwq7i5abd408d01a2dpf28nr1fph1fg7w7n0i5i1nnk90"; }; - nativeBuildInputs = [ pkg-config perl ]; + nativeBuildInputs = [ + pkg-config + perl + ]; buildInputs = [ systemd ]; - makeFlags = [ "PREFIX=$(out)" "BINDIR=$(out)/bin" ]; + makeFlags = [ + "PREFIX=$(out)" + "BINDIR=$(out)/bin" + ]; postInstall = '' install -D -m 644 -t "$out/etc/triggerhappy/triggers.d" "triggerhappy.conf.examples" diff --git a/pkgs/by-name/tr/trillian-im/package.nix b/pkgs/by-name/tr/trillian-im/package.nix index a31adac9568f3..1f89d57294d8d 100644 --- a/pkgs/by-name/tr/trillian-im/package.nix +++ b/pkgs/by-name/tr/trillian-im/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, dpkg -, atkmm -, cairo -, cairomm -, gtk3 -, gtkmm3 -, libnotify -, libsecret -, pangomm -, xorg -, libpulseaudio -, librsvg -, libzip -, openssl -, webkitgtk_4_0 -, libappindicator-gtk3 +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + dpkg, + atkmm, + cairo, + cairomm, + gtk3, + gtkmm3, + libnotify, + libsecret, + pangomm, + xorg, + libpulseaudio, + librsvg, + libzip, + openssl, + webkitgtk_4_0, + libappindicator-gtk3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tr/trillian/package.nix b/pkgs/by-name/tr/trillian/package.nix index 90017e2186a52..932edcfbb907f 100644 --- a/pkgs/by-name/tr/trillian/package.nix +++ b/pkgs/by-name/tr/trillian/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/tr/trimal/package.nix b/pkgs/by-name/tr/trimal/package.nix index f822fe50b1648..43c1730325c61 100644 --- a/pkgs/by-name/tr/trimal/package.nix +++ b/pkgs/by-name/tr/trimal/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "trimal"; diff --git a/pkgs/by-name/tr/trino-cli/package.nix b/pkgs/by-name/tr/trino-cli/package.nix index e52881c6f5f5b..77231e48edda7 100644 --- a/pkgs/by-name/tr/trino-cli/package.nix +++ b/pkgs/by-name/tr/trino-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre_headless, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre_headless, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "trino-cli"; @@ -31,6 +37,9 @@ stdenv.mkDerivation rec { mainProgram = "trino"; homepage = "https://github.com/trinodb/trino"; license = licenses.asl20; - maintainers = with maintainers; [ regadas cpcloud ]; + maintainers = with maintainers; [ + regadas + cpcloud + ]; }; } diff --git a/pkgs/by-name/tr/triton-llvm/package.nix b/pkgs/by-name/tr/triton-llvm/package.nix index 829f0c912afd2..3d0e1661763ea 100644 --- a/pkgs/by-name/tr/triton-llvm/package.nix +++ b/pkgs/by-name/tr/triton-llvm/package.nix @@ -1,61 +1,82 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, pkgsBuildBuild -, pkg-config -, cmake -, ninja -, git -, libxml2 -, libxcrypt -, libedit -, libffi -, libpfm -, lit -, mpfr -, zlib -, ncurses -, doxygen -, sphinx -, which -, sysctl -, python3Packages -, buildDocs ? true -, buildMan ? true -, buildTests ? true -, llvmTargetsToBuild ? [ "NATIVE" ] # "NATIVE" resolves into x86 or aarch64 depending on stdenv -, llvmProjectsToBuild ? [ "llvm" "mlir" ] +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkgsBuildBuild, + pkg-config, + cmake, + ninja, + git, + libxml2, + libxcrypt, + libedit, + libffi, + libpfm, + lit, + mpfr, + zlib, + ncurses, + doxygen, + sphinx, + which, + sysctl, + python3Packages, + buildDocs ? true, + buildMan ? true, + buildTests ? true, + llvmTargetsToBuild ? [ "NATIVE" ], # "NATIVE" resolves into x86 or aarch64 depending on stdenv + llvmProjectsToBuild ? [ + "llvm" + "mlir" + ], }: let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Currently unsupported LLVM platform '${stdenv.hostPlatform.config}'"; + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Currently unsupported LLVM platform '${stdenv.hostPlatform.config}'"; inferNativeTarget = t: if t == "NATIVE" then llvmNativeTarget else t; - llvmTargetsToBuild' = [ "AMDGPU" "NVPTX" ] ++ builtins.map inferNativeTarget llvmTargetsToBuild; + llvmTargetsToBuild' = [ + "AMDGPU" + "NVPTX" + ] ++ builtins.map inferNativeTarget llvmTargetsToBuild; # This LLVM version can't seem to find pygments/pyyaml, # but a later update will likely fix this (triton-2.1.0) python = - if buildTests - then python3Packages.python.withPackages (p: with p; [ psutil pygments pyyaml ]) - else python3Packages.python; + if buildTests then + python3Packages.python.withPackages ( + p: with p; [ + psutil + pygments + pyyaml + ] + ) + else + python3Packages.python; isNative = stdenv.hostPlatform == stdenv.buildPlatform; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "triton-llvm"; version = "19.1.0-rc1"; # One of the tags at https://github.com/llvm/llvm-project/commit/10dc3a8e916d73291269e5e2b82dd22681489aa1 - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildMan [ - "man" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildMan [ + "man" + ]; # See https://github.com/triton-lang/triton/blob/main/python/setup.py # and https://github.com/ptillet/triton-llvm-releases/releases @@ -75,18 +96,20 @@ in stdenv.mkDerivation (finalAttrs: { }) ]; - nativeBuildInputs = [ - pkg-config - cmake - ninja - git - python - ] ++ lib.optionals (buildDocs || buildMan) [ - doxygen - sphinx - python3Packages.recommonmark - python3Packages.myst-parser - ]; + nativeBuildInputs = + [ + pkg-config + cmake + ninja + git + python + ] + ++ lib.optionals (buildDocs || buildMan) [ + doxygen + sphinx + python3Packages.recommonmark + python3Packages.myst-parser + ]; buildInputs = [ libxml2 @@ -106,78 +129,94 @@ in stdenv.mkDerivation (finalAttrs: { cd llvm ''; - cmakeFlags = [ - (lib.cmakeFeature "LLVM_TARGETS_TO_BUILD" (lib.concatStringsSep ";" llvmTargetsToBuild')) - (lib.cmakeFeature "LLVM_ENABLE_PROJECTS" (lib.concatStringsSep ";" llvmProjectsToBuild)) - (lib.cmakeFeature "LLVM_HOST_TRIPLE" stdenv.hostPlatform.config) - (lib.cmakeFeature "LLVM_DEFAULT_TARGET_TRIPLE" stdenv.hostPlatform.config) - (lib.cmakeBool "LLVM_INSTALL_UTILS" true) - (lib.cmakeBool "LLVM_INCLUDE_DOCS" (buildDocs || buildMan)) - (lib.cmakeBool "MLIR_INCLUDE_DOCS" (buildDocs || buildMan)) - (lib.cmakeBool "LLVM_BUILD_DOCS" (buildDocs || buildMan)) - # Way too slow, only uses one core - # (lib.cmakeBool "LLVM_ENABLE_DOXYGEN" (buildDocs || buildMan)) - (lib.cmakeBool "LLVM_ENABLE_SPHINX" (buildDocs || buildMan)) - (lib.cmakeBool "SPHINX_OUTPUT_HTML" buildDocs) - (lib.cmakeBool "SPHINX_OUTPUT_MAN" buildMan) - (lib.cmakeBool "SPHINX_WARNINGS_AS_ERRORS" false) - (lib.cmakeBool "LLVM_INCLUDE_TESTS" buildTests) - (lib.cmakeBool "MLIR_INCLUDE_TESTS" buildTests) - (lib.cmakeBool "LLVM_BUILD_TESTS" buildTests) - # Cross compilation code taken/modified from LLVM 16 derivation - ] ++ lib.optionals (!isNative) (let - nativeToolchainFlags = let - nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; - nativeBintools = nativeCC.bintools.bintools; - in [ - (lib.cmakeFeature "CMAKE_C_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}cc") - (lib.cmakeFeature "CMAKE_CXX_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}c++") - (lib.cmakeFeature "CMAKE_AR" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ar") - (lib.cmakeFeature "CMAKE_STRIP" "${nativeBintools}/bin/${nativeBintools.targetPrefix}strip") - (lib.cmakeFeature "CMAKE_RANLIB" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib") - ]; - - # We need to repass the custom GNUInstallDirs values, otherwise CMake - # will choose them for us, leading to wrong results in llvm-config-native - nativeInstallFlags = [ - (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "out")) - (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "${placeholder "out"}/bin") - (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "${placeholder "out"}/include") - (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "${placeholder "out"}/lib") - (lib.cmakeFeature "CMAKE_INSTALL_LIBEXECDIR" "${placeholder "out"}/libexec") - ]; - in [ - (lib.cmakeBool "CMAKE_CROSSCOMPILING" true) - (lib.cmakeFeature "CROSS_TOOLCHAIN_FLAGS_NATIVE" (lib.concatStringsSep ";" - (lib.concatLists [ nativeToolchainFlags nativeInstallFlags ]))) - ]); - - postPatch = '' - # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied` - chmod +w -R ./mlir - patchShebangs ./mlir/test/mlir-reduce - - # FileSystem permissions tests fail with various special bits - rm llvm/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test - rm llvm/unittests/Support/Path.cpp - - substituteInPlace llvm/unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" - '' + lib.optionalString stdenv.hostPlatform.isAarch64 '' - # Not sure why this fails - rm llvm/test/tools/llvm-exegesis/AArch64/latency-by-opcode-name.s - ''; - - postInstall = '' - cp ${lib.getExe lit} $out/bin/llvm-lit - '' + (lib.optionalString (!isNative) '' - cp -a NATIVE/bin/llvm-config $out/bin/llvm-config-native - ''); + cmakeFlags = + [ + (lib.cmakeFeature "LLVM_TARGETS_TO_BUILD" (lib.concatStringsSep ";" llvmTargetsToBuild')) + (lib.cmakeFeature "LLVM_ENABLE_PROJECTS" (lib.concatStringsSep ";" llvmProjectsToBuild)) + (lib.cmakeFeature "LLVM_HOST_TRIPLE" stdenv.hostPlatform.config) + (lib.cmakeFeature "LLVM_DEFAULT_TARGET_TRIPLE" stdenv.hostPlatform.config) + (lib.cmakeBool "LLVM_INSTALL_UTILS" true) + (lib.cmakeBool "LLVM_INCLUDE_DOCS" (buildDocs || buildMan)) + (lib.cmakeBool "MLIR_INCLUDE_DOCS" (buildDocs || buildMan)) + (lib.cmakeBool "LLVM_BUILD_DOCS" (buildDocs || buildMan)) + # Way too slow, only uses one core + # (lib.cmakeBool "LLVM_ENABLE_DOXYGEN" (buildDocs || buildMan)) + (lib.cmakeBool "LLVM_ENABLE_SPHINX" (buildDocs || buildMan)) + (lib.cmakeBool "SPHINX_OUTPUT_HTML" buildDocs) + (lib.cmakeBool "SPHINX_OUTPUT_MAN" buildMan) + (lib.cmakeBool "SPHINX_WARNINGS_AS_ERRORS" false) + (lib.cmakeBool "LLVM_INCLUDE_TESTS" buildTests) + (lib.cmakeBool "MLIR_INCLUDE_TESTS" buildTests) + (lib.cmakeBool "LLVM_BUILD_TESTS" buildTests) + # Cross compilation code taken/modified from LLVM 16 derivation + ] + ++ lib.optionals (!isNative) ( + let + nativeToolchainFlags = + let + nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; + nativeBintools = nativeCC.bintools.bintools; + in + [ + (lib.cmakeFeature "CMAKE_C_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}cc") + (lib.cmakeFeature "CMAKE_CXX_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}c++") + (lib.cmakeFeature "CMAKE_AR" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ar") + (lib.cmakeFeature "CMAKE_STRIP" "${nativeBintools}/bin/${nativeBintools.targetPrefix}strip") + (lib.cmakeFeature "CMAKE_RANLIB" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib") + ]; + + # We need to repass the custom GNUInstallDirs values, otherwise CMake + # will choose them for us, leading to wrong results in llvm-config-native + nativeInstallFlags = [ + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "out")) + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "${placeholder "out"}/bin") + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "${placeholder "out"}/include") + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "${placeholder "out"}/lib") + (lib.cmakeFeature "CMAKE_INSTALL_LIBEXECDIR" "${placeholder "out"}/libexec") + ]; + in + [ + (lib.cmakeBool "CMAKE_CROSSCOMPILING" true) + (lib.cmakeFeature "CROSS_TOOLCHAIN_FLAGS_NATIVE" ( + lib.concatStringsSep ";" ( + lib.concatLists [ + nativeToolchainFlags + nativeInstallFlags + ] + ) + )) + ] + ); + + postPatch = + '' + # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied` + chmod +w -R ./mlir + patchShebangs ./mlir/test/mlir-reduce + + # FileSystem permissions tests fail with various special bits + rm llvm/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + rm llvm/unittests/Support/Path.cpp + + substituteInPlace llvm/unittests/Support/CMakeLists.txt \ + --replace "Path.cpp" "" + '' + + lib.optionalString stdenv.hostPlatform.isAarch64 '' + # Not sure why this fails + rm llvm/test/tools/llvm-exegesis/AArch64/latency-by-opcode-name.s + ''; + + postInstall = + '' + cp ${lib.getExe lit} $out/bin/llvm-lit + '' + + (lib.optionalString (!isNative) '' + cp -a NATIVE/bin/llvm-config $out/bin/llvm-config-native + ''); doCheck = buildTests; - nativeCheckInputs = [ which ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ sysctl ]; + nativeCheckInputs = [ which ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ sysctl ]; checkTarget = "check-all"; requiredSystemFeatures = [ "big-parallel" ]; @@ -186,7 +225,10 @@ in stdenv.mkDerivation (finalAttrs: { description = "Collection of modular and reusable compiler and toolchain technologies"; homepage = "https://github.com/llvm/llvm-project"; license = with licenses; [ ncsa ]; - maintainers = with maintainers; [ SomeoneSerge Madouura ]; + maintainers = with maintainers; [ + SomeoneSerge + Madouura + ]; platforms = with platforms; aarch64 ++ x86; }; }) diff --git a/pkgs/by-name/tr/triton/package.nix b/pkgs/by-name/tr/triton/package.nix index 38309e94cdee6..3d3a383bfda07 100644 --- a/pkgs/by-name/tr/triton/package.nix +++ b/pkgs/by-name/tr/triton/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, installShellFiles -, testers -, triton +{ + lib, + buildNpmPackage, + fetchFromGitHub, + installShellFiles, + testers, + triton, }: buildNpmPackage rec { diff --git a/pkgs/by-name/tr/trompeloeil/package.nix b/pkgs/by-name/tr/trompeloeil/package.nix index 3f6a8bb98c62e..09098810b63eb 100644 --- a/pkgs/by-name/tr/trompeloeil/package.nix +++ b/pkgs/by-name/tr/trompeloeil/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "trompeloeil"; diff --git a/pkgs/by-name/tr/troubadix/package.nix b/pkgs/by-name/tr/troubadix/package.nix index 2d4a6fc7f2c14..c46c3b4c1892d 100644 --- a/pkgs/by-name/tr/troubadix/package.nix +++ b/pkgs/by-name/tr/troubadix/package.nix @@ -21,7 +21,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ poetry-core ]; - dependencies = with python3.pkgs; [ chardet charset-normalizer diff --git a/pkgs/by-name/tr/trousers/package.nix b/pkgs/by-name/tr/trousers/package.nix index 43d0941b47b69..0cff55be007de 100644 --- a/pkgs/by-name/tr/trousers/package.nix +++ b/pkgs/by-name/tr/trousers/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, openssl, pkg-config, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + openssl, + pkg-config, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "trousers"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "0zy7r9cnr2gvwr2fb1q4fc5xnvx405ymcbrdv7qsqwl3a4zfjnqy"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ openssl ]; patches = [ ./allow-non-tss-config-file-owner.patch ]; @@ -22,9 +32,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Trusted computing software stack"; mainProgram = "tcsd"; - homepage = "https://trousers.sourceforge.net/"; - license = licenses.bsd3; + homepage = "https://trousers.sourceforge.net/"; + license = licenses.bsd3; maintainers = [ maintainers.ak ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/tr/trrntzip/package.nix b/pkgs/by-name/tr/trrntzip/package.nix index 633de93797adb..d0f5d813deeae 100644 --- a/pkgs/by-name/tr/trrntzip/package.nix +++ b/pkgs/by-name/tr/trrntzip/package.nix @@ -7,11 +7,12 @@ # Besides the new one is on github instead of sourceforge # which makes life for us easier -{ lib -, stdenv -, fetchFromGitHub -, cmake -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/tr/truecrack/package.nix b/pkgs/by-name/tr/truecrack/package.nix index 06a0d7e4f6b2e..c8fee97c8e1bd 100644 --- a/pkgs/by-name/tr/truecrack/package.nix +++ b/pkgs/by-name/tr/truecrack/package.nix @@ -1,7 +1,12 @@ -{ lib, gccStdenv, fetchFromGitLab, cudatoolkit -, config -, cudaSupport ? config.cudaSupport -, pkg-config }: +{ + lib, + gccStdenv, + fetchFromGitLab, + cudatoolkit, + config, + cudaSupport ? config.cudaSupport, + pkg-config, +}: gccStdenv.mkDerivation rec { pname = "truecrack"; @@ -14,11 +19,16 @@ gccStdenv.mkDerivation rec { sha256 = "+Rw9SfaQtO1AJO6UVVDMCo8DT0dYEbv7zX8SI+pHCRQ="; }; - configureFlags = (if cudaSupport then [ - "--with-cuda=${cudatoolkit}" - ] else [ - "--enable-cpu" - ]); + configureFlags = ( + if cudaSupport then + [ + "--with-cuda=${cudatoolkit}" + ] + else + [ + "--enable-cpu" + ] + ); nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/tr/trunk-ng/package.nix b/pkgs/by-name/tr/trunk-ng/package.nix index 73af1faaba29e..8c914af48f3eb 100644 --- a/pkgs/by-name/tr/trunk-ng/package.nix +++ b/pkgs/by-name/tr/trunk-ng/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config -, openssl, libiconv, CoreServices, Security, SystemConfiguration }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + libiconv, + CoreServices, + Security, + SystemConfiguration, +}: rustPlatform.buildRustPackage rec { pname = "trunk-ng"; @@ -13,17 +23,27 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = if stdenv.hostPlatform.isDarwin - then [ libiconv CoreServices Security SystemConfiguration ] - else [ openssl ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ + libiconv + CoreServices + Security + SystemConfiguration + ] + else + [ openssl ]; # requires network checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ]; - cargoHash = { - darwin = "sha256-TwpGw3LH3TmZSbC4DkoOYpQdOpksXXoAoiacyZAefTU="; - linux = "sha256-AivISmT/r8xa/vSXUN8sU7z67t1hcyMQM+t6oXmIOhU="; - }.${stdenv.hostPlatform.parsed.kernel.name} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + cargoHash = + { + darwin = "sha256-TwpGw3LH3TmZSbC4DkoOYpQdOpksXXoAoiacyZAefTU="; + linux = "sha256-AivISmT/r8xa/vSXUN8sU7z67t1hcyMQM+t6oXmIOhU="; + } + .${stdenv.hostPlatform.parsed.kernel.name} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); meta = with lib; { homepage = "https://github.com/ctron/trunk"; diff --git a/pkgs/by-name/tr/trunk-recorder/package.nix b/pkgs/by-name/tr/trunk-recorder/package.nix index 59852e783c7e7..f7846b0ac1946 100644 --- a/pkgs/by-name/tr/trunk-recorder/package.nix +++ b/pkgs/by-name/tr/trunk-recorder/package.nix @@ -40,17 +40,20 @@ stdenv.mkDerivation rec { pkg-config makeWrapper ]; - buildInputs = [ - boost - curl - gmp - gnuradio - gnuradioPackages.osmosdr - openssl - spdlog - uhd - volk - ] ++ lib.optionals hackrfSupport [ hackrf ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ mpir ]; + buildInputs = + [ + boost + curl + gmp + gnuradio + gnuradioPackages.osmosdr + openssl + spdlog + uhd + volk + ] + ++ lib.optionals hackrfSupport [ hackrf ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ mpir ]; postFixup = '' wrapProgram $out/bin/trunk-recorder --prefix PATH : ${ diff --git a/pkgs/by-name/tr/trunk/package.nix b/pkgs/by-name/tr/trunk/package.nix index 49f24385e7742..47a2e63112e12 100644 --- a/pkgs/by-name/tr/trunk/package.nix +++ b/pkgs/by-name/tr/trunk/package.nix @@ -1,8 +1,9 @@ -{ lib, -rustPlatform, -fetchFromGitHub, -pkg-config, -openssl, +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { @@ -27,7 +28,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/trunk-rs/trunk"; description = "Build, bundle & ship your Rust WASM application to the web"; mainProgram = "trunk"; - maintainers = with maintainers; [ freezeboy ctron ]; + maintainers = with maintainers; [ + freezeboy + ctron + ]; license = with licenses; [ asl20 ]; }; } diff --git a/pkgs/by-name/tr/trurl/package.nix b/pkgs/by-name/tr/trurl/package.nix index 1e4bd4404f9c1..97b9afe8228d2 100644 --- a/pkgs/by-name/tr/trurl/package.nix +++ b/pkgs/by-name/tr/trurl/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, curl, python3, trurl, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + python3, + trurl, + testers, +}: stdenv.mkDerivation rec { pname = "trurl"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-Og7+FVCBWohVd58GVxFN3KChcG0Kts1MokiOQXZ1OTc="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; separateDebugInfo = stdenv.hostPlatform.isLinux; enableParallelBuilding = true; diff --git a/pkgs/by-name/tr/trx/package.nix b/pkgs/by-name/tr/trx/package.nix index c0b03a83caad2..726b8e7615e7b 100644 --- a/pkgs/by-name/tr/trx/package.nix +++ b/pkgs/by-name/tr/trx/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, alsa-lib, libopus, ortp, bctoolbox }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + libopus, + ortp, + bctoolbox, +}: stdenv.mkDerivation rec { pname = "trx"; @@ -15,7 +23,12 @@ stdenv.mkDerivation rec { ./add_bctoolbox_ldlib.patch ]; - buildInputs = [ alsa-lib libopus ortp bctoolbox ]; + buildInputs = [ + alsa-lib + libopus + ortp + bctoolbox + ]; makeFlags = [ "PREFIX=$(out)" ]; meta = with lib; { diff --git a/pkgs/by-name/tr/try/package.nix b/pkgs/by-name/tr/try/package.nix index a5a6c760a010b..996bfa12f0e1b 100644 --- a/pkgs/by-name/tr/try/package.nix +++ b/pkgs/by-name/tr/try/package.nix @@ -1,4 +1,11 @@ -{ stdenvNoCC, lib, fetchFromGitHub, fuse-overlayfs, util-linux, makeWrapper }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + fuse-overlayfs, + util-linux, + makeWrapper, +}: stdenvNoCC.mkDerivation rec { pname = "try"; version = "0.2.0"; @@ -12,10 +19,15 @@ stdenvNoCC.mkDerivation rec { installPhase = '' runHook preInstall install -Dt $out/bin try - wrapProgram $out/bin/try --prefix PATH : ${lib.makeBinPath [ fuse-overlayfs util-linux ]} + wrapProgram $out/bin/try --prefix PATH : ${ + lib.makeBinPath [ + fuse-overlayfs + util-linux + ] + } runHook postInstall ''; - meta = with lib;{ + meta = with lib; { homepage = "https://github.com/binpash/try"; description = "Lets you run a command and inspect its effects before changing your live system"; mainProgram = "try"; diff --git a/pkgs/by-name/ts/ts/package.nix b/pkgs/by-name/ts/ts/package.nix index 2fa2c90800b9e..fa1fc15ada522 100644 --- a/pkgs/by-name/ts/ts/package.nix +++ b/pkgs/by-name/ts/ts/package.nix @@ -1,12 +1,15 @@ -{ lib, stdenv, fetchurl -, sendmailPath ? "/run/wrappers/bin/sendmail" +{ + lib, + stdenv, + fetchurl, + sendmailPath ? "/run/wrappers/bin/sendmail", }: stdenv.mkDerivation rec { pname = "ts"; version = "1.0.3"; - installPhase=''make install "PREFIX=$out"''; + installPhase = ''make install "PREFIX=$out"''; patchPhase = '' sed -i s,/usr/sbin/sendmail,${sendmailPath}, mail.c ts.1 diff --git a/pkgs/by-name/ts/tsduck/package.nix b/pkgs/by-name/ts/tsduck/package.nix index 0da53e2e96ea9..40183616fd076 100644 --- a/pkgs/by-name/ts/tsduck/package.nix +++ b/pkgs/by-name/ts/tsduck/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, curl -, jdk -, libedit -, srt +{ + lib, + stdenv, + fetchFromGitHub, + curl, + jdk, + libedit, + srt, }: stdenv.mkDerivation rec { @@ -83,10 +84,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MPEG Transport Stream Toolkit"; - homepage = "https://github.com/tsduck/tsduck"; - license = licenses.bsd2; + homepage = "https://github.com/tsduck/tsduck"; + license = licenses.bsd2; maintainers = with maintainers; [ siriobalmelli ]; - platforms = platforms.all; + platforms = platforms.all; # never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/ts/tsid/package.nix b/pkgs/by-name/ts/tsid/package.nix index 0bd4b08b6025e..988e95a039adc 100644 --- a/pkgs/by-name/ts/tsid/package.nix +++ b/pkgs/by-name/ts/tsid/package.nix @@ -53,7 +53,8 @@ stdenv.mkDerivation (finalAttrs: { osqp-eigen proxsuite ] - ++ lib.optional (!pythonSupport) pinocchio ++ lib.optional pythonSupport python3Packages.pinocchio; + ++ lib.optional (!pythonSupport) pinocchio + ++ lib.optional pythonSupport python3Packages.pinocchio; doCheck = true; pythonImportsCheck = [ "tsid" ]; diff --git a/pkgs/by-name/ts/tsm-client/package.nix b/pkgs/by-name/ts/tsm-client/package.nix index bf65c8d0cadc4..4faf16f63af39 100644 --- a/pkgs/by-name/ts/tsm-client/package.nix +++ b/pkgs/by-name/ts/tsm-client/package.nix @@ -1,31 +1,30 @@ -{ lib -, callPackage -, nixosTests -, stdenv -, fetchurl -, autoPatchelfHook -, rpmextract -, libxcrypt-legacy -, zlib -, lvm2 # LVM image backup and restore functions (optional) -, acl # EXT2/EXT3/XFS ACL support (optional) -, gnugrep -, procps -, jdk # Java GUI (needed for `enableGui`) -, buildEnv -, makeWrapper -, enableGui ? false # enables Java GUI `dsmj` -# path to `dsm.sys` configuration files -, dsmSysCli ? "/etc/tsm-client/cli.dsm.sys" -, dsmSysApi ? "/etc/tsm-client/api.dsm.sys" +{ + lib, + callPackage, + nixosTests, + stdenv, + fetchurl, + autoPatchelfHook, + rpmextract, + libxcrypt-legacy, + zlib, + lvm2, # LVM image backup and restore functions (optional) + acl, # EXT2/EXT3/XFS ACL support (optional) + gnugrep, + procps, + jdk, # Java GUI (needed for `enableGui`) + buildEnv, + makeWrapper, + enableGui ? false, # enables Java GUI `dsmj` + # path to `dsm.sys` configuration files + dsmSysCli ? "/etc/tsm-client/cli.dsm.sys", + dsmSysApi ? "/etc/tsm-client/api.dsm.sys", }: - # For an explanation of optional packages # (features provided by them, version limits), see # https://www.ibm.com/support/pages/node/660813#Version%208.1 - # IBM Tivoli Storage Manager Client uses a system-wide # client system-options file `dsm.sys` and expects it # to be located in a directory within the package. @@ -47,7 +46,6 @@ # depending on local configuration or usage; see: # https://www.ibm.com/docs/en/storage-protect/8.1.24?topic=solaris-set-api-environment-variables - # The newest version of TSM client should be discoverable by # going to the `downloadPage` (see `meta` below). # Find the "Backup-archive client" table on that page. @@ -61,7 +59,6 @@ # # (as of 2023-07-01) - let meta = { @@ -89,18 +86,21 @@ let }; passthru.tests = { - test-cli = callPackage ./test-cli.nix {}; + test-cli = callPackage ./test-cli.nix { }; test-gui = nixosTests.tsm-client-gui; }; - mkSrcUrl = version: + mkSrcUrl = + version: let major = lib.versions.major version; minor = lib.versions.minor version; patch = lib.versions.patch version; fixup = lib.lists.elemAt (lib.versions.splitVersion version) 3; in - "https://public.dhe.ibm.com/storage/tivoli-storage-management/${if fixup=="0" then "maintenance" else "patches"}/client/v${major}r${minor}/Linux/LinuxX86/BA/v${major}${minor}${patch}/${version}-TIV-TSMBAC-LinuxX86.tar"; + "https://public.dhe.ibm.com/storage/tivoli-storage-management/${ + if fixup == "0" then "maintenance" else "patches" + }/client/v${major}r${minor}/Linux/LinuxX86/BA/v${major}${minor}${patch}/${version}-TIV-TSMBAC-LinuxX86.tar"; unwrapped = stdenv.mkDerivation (finalAttrs: { name = "tsm-client-${finalAttrs.version}-unwrapped"; @@ -164,17 +164,27 @@ let ''; }); - binPath = lib.makeBinPath ([ acl gnugrep procps ] - ++ lib.optional enableGui jdk); + binPath = lib.makeBinPath ( + [ + acl + gnugrep + procps + ] + ++ lib.optional enableGui jdk + ); in buildEnv { name = "tsm-client-${unwrapped.version}"; - meta = meta // lib.attrsets.optionalAttrs enableGui { - mainProgram = "dsmj"; + meta = + meta + // lib.attrsets.optionalAttrs enableGui { + mainProgram = "dsmj"; + }; + passthru = passthru // { + inherit unwrapped; }; - passthru = passthru // { inherit unwrapped; }; paths = [ unwrapped ]; nativeBuildInputs = [ makeWrapper ]; pathsToLink = [ diff --git a/pkgs/by-name/ts/tsm-client/test-cli.nix b/pkgs/by-name/ts/tsm-client/test-cli.nix index 0858083c9f904..b8cd94e2b441e 100644 --- a/pkgs/by-name/ts/tsm-client/test-cli.nix +++ b/pkgs/by-name/ts/tsm-client/test-cli.nix @@ -1,7 +1,8 @@ -{ lib -, writeText -, runCommand -, tsm-client +{ + lib, + writeText, + runCommand, + tsm-client, }: # Let the client try to connect to a server. @@ -30,7 +31,7 @@ let patch = lib.versions.patch version; fixup = lib.lists.elemAt (lib.versions.splitVersion version) 3; in - "Client Version ${major}, Release ${minor}, Level ${patch}.${fixup}"; + "Client Version ${major}, Release ${minor}, Level ${patch}.${fixup}"; in diff --git a/pkgs/by-name/ts/tsocks/package.nix b/pkgs/by-name/ts/tsocks/package.nix index c12f9a44ac6d2..f07947677e3b7 100644 --- a/pkgs/by-name/ts/tsocks/package.nix +++ b/pkgs/by-name/ts/tsocks/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tsocks"; diff --git a/pkgs/by-name/ts/tsukae/package.nix b/pkgs/by-name/ts/tsukae/package.nix index bf1b213155132..de4ad64d9ad5a 100644 --- a/pkgs/by-name/ts/tsukae/package.nix +++ b/pkgs/by-name/ts/tsukae/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "tsukae"; diff --git a/pkgs/by-name/ts/tsung/package.nix b/pkgs/by-name/ts/tsung/package.nix index a9a30859b2178..a23e464accc17 100644 --- a/pkgs/by-name/ts/tsung/package.nix +++ b/pkgs/by-name/ts/tsung/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, erlang -, python3 -, python3Packages -, perlPackages -, gnuplot +{ + lib, + stdenv, + fetchurl, + makeWrapper, + erlang, + python3, + python3Packages, + perlPackages, + gnuplot, }: stdenv.mkDerivation rec { @@ -31,7 +32,6 @@ stdenv.mkDerivation rec { python3Packages.matplotlib ]; - postFixup = '' # Make tsung_stats.pl accessible # Leaving .pl at the end since all of tsung documentation is refering to it diff --git a/pkgs/by-name/tt/tt-rss-plugin-auth-ldap/package.nix b/pkgs/by-name/tt/tt-rss-plugin-auth-ldap/package.nix index 6261c1f5f3fd6..5fc11d572ce3f 100644 --- a/pkgs/by-name/tt/tt-rss-plugin-auth-ldap/package.nix +++ b/pkgs/by-name/tt/tt-rss-plugin-auth-ldap/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "tt-rss-plugin-auth-ldap"; diff --git a/pkgs/by-name/tt/tt-rss-plugin-feediron/package.nix b/pkgs/by-name/tt/tt-rss-plugin-feediron/package.nix index d7353bf4c439d..fa2bb41a323b2 100644 --- a/pkgs/by-name/tt/tt-rss-plugin-feediron/package.nix +++ b/pkgs/by-name/tt/tt-rss-plugin-feediron/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, tt-rss }: +{ + lib, + stdenv, + fetchFromGitHub, + tt-rss, +}: stdenv.mkDerivation rec { pname = "tt-rss-plugin-feediron"; diff --git a/pkgs/by-name/tt/tt-rss-plugin-ff-instagram/package.nix b/pkgs/by-name/tt/tt-rss-plugin-ff-instagram/package.nix index 7ef093e3f70d6..8cbfb42618bfd 100644 --- a/pkgs/by-name/tt/tt-rss-plugin-ff-instagram/package.nix +++ b/pkgs/by-name/tt/tt-rss-plugin-ff-instagram/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ... }: +{ + lib, + stdenv, + fetchFromGitHub, + ... +}: stdenv.mkDerivation { pname = "tt-rss-plugin-ff-instagram"; diff --git a/pkgs/by-name/tt/tt-rss-theme-feedly/package.nix b/pkgs/by-name/tt/tt-rss-theme-feedly/package.nix index 84ade1ef70ade..18e14aae380d3 100644 --- a/pkgs/by-name/tt/tt-rss-theme-feedly/package.nix +++ b/pkgs/by-name/tt/tt-rss-theme-feedly/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "tt-rss-theme-feedly"; diff --git a/pkgs/by-name/tt/tt/package.nix b/pkgs/by-name/tt/tt/package.nix index f45376aa4caa0..480b9f245c053 100644 --- a/pkgs/by-name/tt/tt/package.nix +++ b/pkgs/by-name/tt/tt/package.nix @@ -21,8 +21,8 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; postInstall = '' - mv $out/bin/src $out/bin/tt - installManPage tt.1.gz + mv $out/bin/src $out/bin/tt + installManPage tt.1.gz ''; meta = { diff --git a/pkgs/by-name/tt/tt2020/package.nix b/pkgs/by-name/tt/tt2020/package.nix index a427c4cf14b8c..3ac3c7ce948f2 100644 --- a/pkgs/by-name/tt/tt2020/package.nix +++ b/pkgs/by-name/tt/tt2020/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "TT2020"; diff --git a/pkgs/by-name/tt/ttags/package.nix b/pkgs/by-name/tt/ttags/package.nix index c6bee9ae3369d..3b9ebac943c82 100644 --- a/pkgs/by-name/tt/ttags/package.nix +++ b/pkgs/by-name/tt/ttags/package.nix @@ -1,6 +1,14 @@ -{ lib, fetchFromGitHub, rustPlatform, testers, ttags }: -let version = "0.4.2"; -in rustPlatform.buildRustPackage { +{ + lib, + fetchFromGitHub, + rustPlatform, + testers, + ttags, +}: +let + version = "0.4.2"; +in +rustPlatform.buildRustPackage { pname = "ttags"; inherit version; diff --git a/pkgs/by-name/tt/ttchat/package.nix b/pkgs/by-name/tt/ttchat/package.nix index ec62357cbbedd..893abb63c4f01 100644 --- a/pkgs/by-name/tt/ttchat/package.nix +++ b/pkgs/by-name/tt/ttchat/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ttchat"; diff --git a/pkgs/by-name/tt/ttdl/package.nix b/pkgs/by-name/tt/ttdl/package.nix index 9e283c79ada63..3cac311e475f1 100644 --- a/pkgs/by-name/tt/ttdl/package.nix +++ b/pkgs/by-name/tt/ttdl/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/tt/ttf-envy-code-r/package.nix b/pkgs/by-name/tt/ttf-envy-code-r/package.nix index 673d946a1e9a0..2f3765f8a3b5a 100644 --- a/pkgs/by-name/tt/ttf-envy-code-r/package.nix +++ b/pkgs/by-name/tt/ttf-envy-code-r/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ttf-envy-code-r"; diff --git a/pkgs/by-name/tt/ttf-tw-moe/package.nix b/pkgs/by-name/tt/ttf-tw-moe/package.nix index 85b2ec1ce7876..b0ddf0af18b9a 100644 --- a/pkgs/by-name/tt/ttf-tw-moe/package.nix +++ b/pkgs/by-name/tt/ttf-tw-moe/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ttf-tw-moe"; diff --git a/pkgs/by-name/tt/ttf2pt1/package.nix b/pkgs/by-name/tt/ttf2pt1/package.nix index 2383a96eedfea..75b32dc70a2c2 100644 --- a/pkgs/by-name/tt/ttf2pt1/package.nix +++ b/pkgs/by-name/tt/ttf2pt1/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, freetype }: +{ + lib, + stdenv, + fetchurl, + perl, + freetype, +}: stdenv.mkDerivation rec { pname = "ttf2pt1"; diff --git a/pkgs/by-name/tt/ttf_bitstream_vera/package.nix b/pkgs/by-name/tt/ttf_bitstream_vera/package.nix index e71888969f61e..ed525dec1cef0 100644 --- a/pkgs/by-name/tt/ttf_bitstream_vera/package.nix +++ b/pkgs/by-name/tt/ttf_bitstream_vera/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "ttf-bitstream-vera"; diff --git a/pkgs/by-name/tt/ttfb/package.nix b/pkgs/by-name/tt/ttfb/package.nix index 176685a5eed3f..12b900aacfc74 100644 --- a/pkgs/by-name/tt/ttfb/package.nix +++ b/pkgs/by-name/tt/ttfb/package.nix @@ -1,8 +1,9 @@ -{ darwin -, fetchCrate -, lib -, rustPlatform -, stdenv +{ + darwin, + fetchCrate, + lib, + rustPlatform, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -38,4 +39,3 @@ rustPlatform.buildRustPackage rec { maintainers = with lib.maintainers; [ phip1611 ]; }; } - diff --git a/pkgs/by-name/tt/tthsum/package.nix b/pkgs/by-name/tt/tthsum/package.nix index e2b9d2e570414..743501fb31e0f 100644 --- a/pkgs/by-name/tt/tthsum/package.nix +++ b/pkgs/by-name/tt/tthsum/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tthsum"; diff --git a/pkgs/by-name/tt/ttmkfdir/package.nix b/pkgs/by-name/tt/ttmkfdir/package.nix index 6edf9cc4ef986..c4d6d16248843 100644 --- a/pkgs/by-name/tt/ttmkfdir/package.nix +++ b/pkgs/by-name/tt/ttmkfdir/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, freetype, libtool, flex, bison, pkg-config }: +{ + lib, + stdenv, + fetchurl, + freetype, + libtool, + flex, + bison, + pkg-config, +}: stdenv.mkDerivation { pname = "ttf-mkfontdir"; @@ -11,14 +20,14 @@ stdenv.mkDerivation { # all the patches up from ttmkfdir-3.0.9/Makefile should be reviewed by someone # who knows more about C/C++ .. - patches = - [ (fetchurl { - url = "http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9-6.diff.gz"; - sha256 = "141kxaf2by8nf87hqyszaxi0n7nnmswr1nh2i5r5bsvxxmaj9633"; - }) + patches = [ + (fetchurl { + url = "http://mirror.fsf.org/trisquel/pool/main/t/ttmkfdir/ttmkfdir_3.0.9-6.diff.gz"; + sha256 = "141kxaf2by8nf87hqyszaxi0n7nnmswr1nh2i5r5bsvxxmaj9633"; + }) - ./cstring.patch # also fixes some other compilation issues (freetype includes) - ]; + ./cstring.patch # also fixes some other compilation issues (freetype includes) + ]; # cross-compilation fixes: # - fix libtool, the reason it does not work in nativeBuildInputs is complicated @@ -31,9 +40,17 @@ stdenv.mkDerivation { --replace "freetype-config" "${stdenv.cc.targetPrefix}pkg-config freetype2" ''; - makeFlags = [ "DESTDIR=${placeholder "out"}" "BINDIR=/bin" "CXX=${stdenv.cc.targetPrefix}c++" ]; - - nativeBuildInputs = [ flex bison pkg-config ]; + makeFlags = [ + "DESTDIR=${placeholder "out"}" + "BINDIR=/bin" + "CXX=${stdenv.cc.targetPrefix}c++" + ]; + + nativeBuildInputs = [ + flex + bison + pkg-config + ]; buildInputs = [ freetype ]; meta = { diff --git a/pkgs/by-name/tt/tts/package.nix b/pkgs/by-name/tt/tts/package.nix index 67552e99e7bfe..cbaf8aa21f0c1 100644 --- a/pkgs/by-name/tt/tts/package.nix +++ b/pkgs/by-name/tt/tts/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, espeak-ng -, tts +{ + lib, + python3, + fetchFromGitHub, + espeak-ng, + tts, }: let @@ -27,34 +28,36 @@ python.pkgs.buildPythonApplication rec { hash = "sha256-1nlSf15IEX1qKfDtR6+jQqskjxIuzaIWatkj9Z1fh8Y="; }; - postPatch = let - relaxedConstraints = [ - "bnunicodenormalizer" - "cython" - "gruut" - "inflect" - "librosa" - "mecab-python3" - "numba" - "numpy" - "unidic-lite" - "trainer" - ]; - in '' - sed -r -i \ - ${lib.concatStringsSep "\n" (map (package: - ''-e 's/${package}\s*[<>=]+.+/${package}/g' \'' - ) relaxedConstraints)} - requirements.txt - - sed -r -i \ - ${lib.concatStringsSep "\n" (map (package: - ''-e 's/${package}\s*[<>=]+[^"]+/${package}/g' \'' - ) relaxedConstraints)} - pyproject.toml - # only used for notebooks and visualization - sed -r -i -e '/umap-learn/d' requirements.txt - ''; + postPatch = + let + relaxedConstraints = [ + "bnunicodenormalizer" + "cython" + "gruut" + "inflect" + "librosa" + "mecab-python3" + "numba" + "numpy" + "unidic-lite" + "trainer" + ]; + in + '' + sed -r -i \ + ${lib.concatStringsSep "\n" ( + map (package: ''-e 's/${package}\s*[<>=]+.+/${package}/g' \'') relaxedConstraints + )} + requirements.txt + + sed -r -i \ + ${lib.concatStringsSep "\n" ( + map (package: ''-e 's/${package}\s*[<>=]+[^"]+/${package}/g' \'') relaxedConstraints + )} + pyproject.toml + # only used for notebooks and visualization + sed -r -i -e '/umap-learn/d' requirements.txt + ''; nativeBuildInputs = with python.pkgs; [ cython @@ -112,7 +115,9 @@ python.pkgs.buildPythonApplication rec { # tests get stuck when run in nixpkgs-review, tested in passthru doCheck = false; - passthru.tests.pytest = tts.overridePythonAttrs (_: { doCheck = true; }); + passthru.tests.pytest = tts.overridePythonAttrs (_: { + doCheck = true; + }); nativeCheckInputs = with python.pkgs; [ espeak-ng diff --git a/pkgs/by-name/tt/ttwatch/package.nix b/pkgs/by-name/tt/ttwatch/package.nix index 273d34ffdb8e4..03913b58134b7 100644 --- a/pkgs/by-name/tt/ttwatch/package.nix +++ b/pkgs/by-name/tt/ttwatch/package.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, perl, pkg-config -, openssl, curl, libusb1, protobufc -, enableUnsafe ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + perl, + pkg-config, + openssl, + curl, + libusb1, + protobufc, + enableUnsafe ? false, +}: stdenv.mkDerivation { pname = "ttwatch"; @@ -14,8 +23,17 @@ stdenv.mkDerivation { sha256 = "0yd2hs9d03gfvwm1vywpg2qga6x5c74zrj665wf9aa8gmn96hv8r"; }; - nativeBuildInputs = [ cmake perl pkg-config ]; - buildInputs = [ openssl curl libusb1 protobufc ]; + nativeBuildInputs = [ + cmake + perl + pkg-config + ]; + buildInputs = [ + openssl + curl + libusb1 + protobufc + ]; cmakeFlags = lib.optionals enableUnsafe [ "-Dunsafe=on" ]; diff --git a/pkgs/by-name/tt/tty-clock/package.nix b/pkgs/by-name/tt/tty-clock/package.nix index f5d70cd2071f3..702e9264cd7f2 100644 --- a/pkgs/by-name/tt/tty-clock/package.nix +++ b/pkgs/by-name/tt/tty-clock/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, + pkg-config, +}: stdenv.mkDerivation rec { pname = "tty-clock"; diff --git a/pkgs/by-name/tt/tty-share/package.nix b/pkgs/by-name/tt/tty-share/package.nix index 7f2fe8c162a75..7c653fdfdba7c 100644 --- a/pkgs/by-name/tt/tty-share/package.nix +++ b/pkgs/by-name/tt/tty-share/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tty-share"; @@ -14,7 +18,11 @@ buildGoModule rec { # Upstream has a `./vendor` directory with all deps which we rely upon. vendorHash = null; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; meta = with lib; { homepage = "https://tty-share.com"; diff --git a/pkgs/by-name/tt/tty-solitaire/package.nix b/pkgs/by-name/tt/tty-solitaire/package.nix index 137e5653d74f9..2116103fc0966 100644 --- a/pkgs/by-name/tt/tty-solitaire/package.nix +++ b/pkgs/by-name/tt/tty-solitaire/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, +}: stdenv.mkDerivation rec { pname = "tty-solitaire"; @@ -27,7 +33,10 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=${placeholder "out"}" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "PREFIX=${placeholder "out"}" + ]; meta = with lib; { description = "Klondike Solitaire in your ncurses terminal"; diff --git a/pkgs/by-name/tt/ttyd/package.nix b/pkgs/by-name/tt/ttyd/package.nix index 7cbf0cd77ad9d..58e33437a120c 100644 --- a/pkgs/by-name/tt/ttyd/package.nix +++ b/pkgs/by-name/tt/ttyd/package.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, pkg-config, cmake, xxd -, openssl, libwebsockets, json_c, libuv, zlib -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + xxd, + openssl, + libwebsockets, + json_c, + libuv, + zlib, + nixosTests, }: with builtins; @@ -16,10 +25,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-7e08oBKU7BMZ8328qCfNynCSe7LVZ88+iQZRRKl2YkY="; }; - nativeBuildInputs = [ pkg-config cmake xxd ]; - buildInputs = [ openssl libwebsockets json_c libuv zlib ]; + nativeBuildInputs = [ + pkg-config + cmake + xxd + ]; + buildInputs = [ + openssl + libwebsockets + json_c + libuv + zlib + ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; passthru.tests = { inherit (nixosTests) ttyd; @@ -27,10 +49,10 @@ stdenv.mkDerivation rec { meta = { description = "Share your terminal over the web"; - homepage = "https://github.com/tsl0922/ttyd"; - license = lib.licenses.mit; + homepage = "https://github.com/tsl0922/ttyd"; + license = lib.licenses.mit; maintainers = [ lib.maintainers.thoughtpolice ]; - platforms = lib.platforms.all; + platforms = lib.platforms.all; mainProgram = "ttyd"; }; } diff --git a/pkgs/by-name/tt/ttygif/package.nix b/pkgs/by-name/tt/ttygif/package.nix index 689138186cb6b..90989ad99b733 100644 --- a/pkgs/by-name/tt/ttygif/package.nix +++ b/pkgs/by-name/tt/ttygif/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, imagemagick, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + imagemagick, + xorg, +}: stdenv.mkDerivation rec { pname = "ttygif"; @@ -11,12 +18,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-GsMeVR2wNivQguZ6B/0v39Td9VGHg+m3RtAG9DYkNmU="; }; - makeFlags = [ "CC:=$(CC)" "PREFIX=${placeholder "out"}" ]; + makeFlags = [ + "CC:=$(CC)" + "PREFIX=${placeholder "out"}" + ]; nativeBuildInputs = [ makeWrapper ]; postInstall = '' wrapProgram $out/bin/ttygif \ - --prefix PATH : ${lib.makeBinPath [ imagemagick xorg.xwd ]} + --prefix PATH : ${ + lib.makeBinPath [ + imagemagick + xorg.xwd + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/tt/ttylog/package.nix b/pkgs/by-name/tt/ttylog/package.nix index ff07ba9761756..d98e3a27acc70 100644 --- a/pkgs/by-name/tt/ttylog/package.nix +++ b/pkgs/by-name/tt/ttylog/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "ttylog"; diff --git a/pkgs/by-name/tt/ttyper/package.nix b/pkgs/by-name/tt/ttyper/package.nix index aec5b9f083004..ad0e268d4ef52 100644 --- a/pkgs/by-name/tt/ttyper/package.nix +++ b/pkgs/by-name/tt/ttyper/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "ttyper"; @@ -18,7 +22,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/max-niederman/ttyper"; changelog = "https://github.com/max-niederman/ttyper/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda max-niederman ]; + maintainers = with maintainers; [ + figsoda + max-niederman + ]; mainProgram = "ttyper"; }; } diff --git a/pkgs/by-name/tt/ttyplot/package.nix b/pkgs/by-name/tt/ttyplot/package.nix index 535d374bf2b7e..3e332e4d9dccb 100644 --- a/pkgs/by-name/tt/ttyplot/package.nix +++ b/pkgs/by-name/tt/ttyplot/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ttyplot"; diff --git a/pkgs/by-name/tu/tuba/package.nix b/pkgs/by-name/tu/tuba/package.nix index 9eeac726a83fc..4c2c293b5d6dd 100644 --- a/pkgs/by-name/tu/tuba/package.nix +++ b/pkgs/by-name/tu/tuba/package.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, vala -, meson -, ninja -, python3 -, pkg-config -, wrapGAppsHook4 -, desktop-file-utils -, gtk4 -, libadwaita -, json-glib -, glib -, glib-networking -, gnome -, gobject-introspection -, gtksourceview5 -, libxml2 -, libgee -, librsvg -, libsoup_3 -, libsecret -, libwebp -, libspelling -, webp-pixbuf-loader -, icu -, gst_all_1 -, clapper -# clapper support is still experimental and has bugs. -# See https://github.com/GeopJr/Tuba/pull/931 -, clapperSupport? false -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + vala, + meson, + ninja, + python3, + pkg-config, + wrapGAppsHook4, + desktop-file-utils, + gtk4, + libadwaita, + json-glib, + glib, + glib-networking, + gnome, + gobject-introspection, + gtksourceview5, + libxml2, + libgee, + librsvg, + libsoup_3, + libsecret, + libwebp, + libspelling, + webp-pixbuf-loader, + icu, + gst_all_1, + clapper, + # clapper support is still experimental and has bugs. + # See https://github.com/GeopJr/Tuba/pull/931 + clapperSupport ? false, + nix-update-script, }: stdenv.mkDerivation rec { @@ -55,29 +56,32 @@ stdenv.mkDerivation rec { gobject-introspection ]; - buildInputs = [ - glib - glib-networking - gtksourceview5 - json-glib - libxml2 - libgee - libsoup_3 - gtk4 - libadwaita - libsecret - libwebp - libspelling - icu - ] ++ (with gst_all_1; [ - gstreamer - gst-libav - gst-plugins-base - (gst-plugins-good.override { gtkSupport = true; }) - gst-plugins-bad - ]) ++ lib.optionals clapperSupport [ - clapper - ]; + buildInputs = + [ + glib + glib-networking + gtksourceview5 + json-glib + libxml2 + libgee + libsoup_3 + gtk4 + libadwaita + libsecret + libwebp + libspelling + icu + ] + ++ (with gst_all_1; [ + gstreamer + gst-libav + gst-plugins-base + (gst-plugins-good.override { gtkSupport = true; }) + gst-plugins-bad + ]) + ++ lib.optionals clapperSupport [ + clapper + ]; mesonFlags = [ (lib.mesonBool "clapper" clapperSupport) @@ -92,12 +96,14 @@ stdenv.mkDerivation rec { # Pull in WebP support for avatars from Misskey instances. # In postInstall to run before gappsWrapperArgsHook. postInstall = '' - export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE { - extraLoaders = [ - librsvg - webp-pixbuf-loader - ]; - }}" + export GDK_PIXBUF_MODULE_FILE="${ + gnome._gdkPixbufCacheBuilder_DO_NOT_USE { + extraLoaders = [ + librsvg + webp-pixbuf-loader + ]; + } + }" ''; meta = { @@ -106,6 +112,10 @@ stdenv.mkDerivation rec { mainProgram = "dev.geopjr.Tuba"; license = lib.licenses.gpl3Only; changelog = "https://github.com/GeopJr/Tuba/releases/tag/v${version}"; - maintainers = with lib.maintainers; [ chuangzhu aleksana donovanglover ]; + maintainers = with lib.maintainers; [ + chuangzhu + aleksana + donovanglover + ]; }; } diff --git a/pkgs/by-name/tu/tuc/package.nix b/pkgs/by-name/tu/tuc/package.nix index 46e9bb86e57c3..f2e8266f69580 100644 --- a/pkgs/by-name/tu/tuc/package.nix +++ b/pkgs/by-name/tu/tuc/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "tuc"; version = "1.2.0"; diff --git a/pkgs/by-name/tu/tuckr/package.nix b/pkgs/by-name/tu/tuckr/package.nix index 04a72a8f493b1..94202a3623a9f 100644 --- a/pkgs/by-name/tu/tuckr/package.nix +++ b/pkgs/by-name/tu/tuckr/package.nix @@ -1,4 +1,8 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "tuckr"; diff --git a/pkgs/by-name/tu/tudu/package.nix b/pkgs/by-name/tu/tudu/package.nix index df1c5420164f0..856d1222d1775 100644 --- a/pkgs/by-name/tu/tudu/package.nix +++ b/pkgs/by-name/tu/tudu/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "tudu"; diff --git a/pkgs/by-name/tu/tuhi/package.nix b/pkgs/by-name/tu/tuhi/package.nix index 759ad401ede6c..fa0fb7097139a 100644 --- a/pkgs/by-name/tu/tuhi/package.nix +++ b/pkgs/by-name/tu/tuhi/package.nix @@ -1,15 +1,16 @@ -{ lib -, pkg-config -, python3Packages -, meson -, ninja -, appstream-glib -, desktop-file-utils -, glib -, gtk3 -, gobject-introspection -, wrapGAppsHook3 -, fetchFromGitHub +{ + lib, + pkg-config, + python3Packages, + meson, + ninja, + appstream-glib, + desktop-file-utils, + glib, + gtk3, + gobject-introspection, + wrapGAppsHook3, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { @@ -31,8 +32,11 @@ python3Packages.buildPythonApplication rec { ''; nativeBuildInputs = [ - pkg-config meson ninja - appstream-glib desktop-file-utils + pkg-config + meson + ninja + appstream-glib + desktop-file-utils wrapGAppsHook3 gobject-introspection ]; @@ -40,9 +44,16 @@ python3Packages.buildPythonApplication rec { gtk3 glib ]; - nativeCheckInputs = with python3Packages; [ flake8 pytest ]; + nativeCheckInputs = with python3Packages; [ + flake8 + pytest + ]; propagatedBuildInputs = with python3Packages; [ - svgwrite pyxdg pycairo pygobject3 setuptools-scm + svgwrite + pyxdg + pycairo + pygobject3 + setuptools-scm ]; strictDeps = false; diff --git a/pkgs/by-name/tu/tuic/package.nix b/pkgs/by-name/tu/tuic/package.nix index a2a0bfc2f0ffe..17fbd99fd0bf3 100644 --- a/pkgs/by-name/tu/tuic/package.nix +++ b/pkgs/by-name/tu/tuic/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, }: -rustPlatform.buildRustPackage rec{ +rustPlatform.buildRustPackage rec { pname = "tuic"; version = "1.0.0"; @@ -16,9 +17,12 @@ rustPlatform.buildRustPackage rec{ hash = "sha256-VoNr91vDqBlt9asT/dwCeYk13UNiDexNNiKwD5DSn8k="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Security - ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + ] + ); postPatch = '' ln -sf ${./Cargo.lock} Cargo.lock diff --git a/pkgs/by-name/tu/tuifimanager/package.nix b/pkgs/by-name/tu/tuifimanager/package.nix index 7d2a68badb691..d38c9772fa99e 100644 --- a/pkgs/by-name/tu/tuifimanager/package.nix +++ b/pkgs/by-name/tu/tuifimanager/package.nix @@ -1,77 +1,87 @@ -{ stdenv -, lib -, python3 -, fetchFromGitHub -, kdePackages -, gnome-themes-extra -, qt6 -, makeWrapper -, x11Support ? stdenv.hostPlatform.isLinux -# pypinput is marked as broken for darwin -, pynputSupport ? stdenv.hostPlatform.isLinux -# Experimental Drag & Drop support requires x11 & pyinput suport -, hasDndSupport ? x11Support && pynputSupport -, enableDragAndDrop ? false +{ + stdenv, + lib, + python3, + fetchFromGitHub, + kdePackages, + gnome-themes-extra, + qt6, + makeWrapper, + x11Support ? stdenv.hostPlatform.isLinux, + # pypinput is marked as broken for darwin + pynputSupport ? stdenv.hostPlatform.isLinux, + # Experimental Drag & Drop support requires x11 & pyinput suport + hasDndSupport ? x11Support && pynputSupport, + enableDragAndDrop ? false, }: lib.throwIf (enableDragAndDrop && !hasDndSupport) "Drag and drop support is only available for linux with xorg." -python3.pkgs.buildPythonApplication rec { - pname = "tuifimanager"; - version = "5.0.0"; - format = "pyproject"; + python3.pkgs.buildPythonApplication + rec { + pname = "tuifimanager"; + version = "5.0.0"; + format = "pyproject"; - src = fetchFromGitHub { - owner = "GiorgosXou"; - repo = "TUIFIManager"; - rev = "v.${version}"; - hash = "sha256-2yYD1YFGoN0uj3HzcYxEs3zbwfUIDLLzvfTcZILx5h4="; - }; + src = fetchFromGitHub { + owner = "GiorgosXou"; + repo = "TUIFIManager"; + rev = "v.${version}"; + hash = "sha256-2yYD1YFGoN0uj3HzcYxEs3zbwfUIDLLzvfTcZILx5h4="; + }; - nativeBuildInputs = [ - python3.pkgs.setuptools - python3.pkgs.setuptools-scm - ] ++ (lib.optionals enableDragAndDrop [ - qt6.wrapQtAppsHook - makeWrapper - ]); + nativeBuildInputs = + [ + python3.pkgs.setuptools + python3.pkgs.setuptools-scm + ] + ++ (lib.optionals enableDragAndDrop [ + qt6.wrapQtAppsHook + makeWrapper + ]); - propagatedBuildInputs = [ - python3.pkgs.send2trash - python3.pkgs.unicurses - ] ++ (lib.optionals enableDragAndDrop [ - python3.pkgs.pynput - python3.pkgs.pyside6 - python3.pkgs.requests - python3.pkgs.xlib - kdePackages.qtbase - kdePackages.qt6gtk2 - ]); + propagatedBuildInputs = + [ + python3.pkgs.send2trash + python3.pkgs.unicurses + ] + ++ (lib.optionals enableDragAndDrop [ + python3.pkgs.pynput + python3.pkgs.pyside6 + python3.pkgs.requests + python3.pkgs.xlib + kdePackages.qtbase + kdePackages.qt6gtk2 + ]); - postFixup = let - # fix missing 'adwaita' warning missing with ncurses tui - # see: https://github.com/NixOS/nixpkgs/issues/60918 - theme = gnome-themes-extra; - in - lib.optionalString enableDragAndDrop '' - wrapProgram $out/bin/tuifi \ - --prefix GTK_PATH : "${theme}/lib/gtk-2.0" \ - --set tuifi_synth_dnd True - ''; + postFixup = + let + # fix missing 'adwaita' warning missing with ncurses tui + # see: https://github.com/NixOS/nixpkgs/issues/60918 + theme = gnome-themes-extra; + in + lib.optionalString enableDragAndDrop '' + wrapProgram $out/bin/tuifi \ + --prefix GTK_PATH : "${theme}/lib/gtk-2.0" \ + --set tuifi_synth_dnd True + ''; - pythonImportsCheck = [ "TUIFIManager" ]; + pythonImportsCheck = [ "TUIFIManager" ]; - meta = { - description = "Cross-platform terminal-based termux-oriented file manager"; - longDescription = '' - A cross-platform terminal-based termux-oriented file manager (and component), - meant to be used with a Uni-Curses project or as is. This project is mainly an - attempt to get more attention to the Uni-Curses project. - ''; - homepage = "https://github.com/GiorgosXou/TUIFIManager"; - license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ michaelBelsanti sigmanificient ]; - mainProgram = "tuifi"; - }; -} + meta = { + description = "Cross-platform terminal-based termux-oriented file manager"; + longDescription = '' + A cross-platform terminal-based termux-oriented file manager (and component), + meant to be used with a Uni-Curses project or as is. This project is mainly an + attempt to get more attention to the Uni-Curses project. + ''; + homepage = "https://github.com/GiorgosXou/TUIFIManager"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + michaelBelsanti + sigmanificient + ]; + mainProgram = "tuifi"; + }; + } diff --git a/pkgs/by-name/tu/tuir/package.nix b/pkgs/by-name/tu/tuir/package.nix index 3cc36bf8ae3c7..e193ea2d9ecfc 100644 --- a/pkgs/by-name/tu/tuir/package.nix +++ b/pkgs/by-name/tu/tuir/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, python3Packages }: +{ + lib, + fetchFromGitLab, + python3Packages, +}: with python3Packages; buildPythonApplication rec { @@ -19,15 +23,34 @@ buildPythonApplication rec { py.test ''; - nativeCheckInputs = [ coverage coveralls docopt mock pylint pytest vcrpy ]; + nativeCheckInputs = [ + coverage + coveralls + docopt + mock + pylint + pytest + vcrpy + ]; - propagatedBuildInputs = [ beautifulsoup4 decorator kitchen mailcap-fix requests six ]; + propagatedBuildInputs = [ + beautifulsoup4 + decorator + kitchen + mailcap-fix + requests + six + ]; meta = with lib; { description = "Browse Reddit from your Terminal (fork of rtv)"; mainProgram = "tuir"; homepage = "https://gitlab.com/Chocimier/tuir"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne matthiasbeyer brokenpip3 ]; + maintainers = with maintainers; [ + Br1ght0ne + matthiasbeyer + brokenpip3 + ]; }; } diff --git a/pkgs/by-name/tu/tuleap-cli/package.nix b/pkgs/by-name/tu/tuleap-cli/package.nix index 73abdd14db75f..daffbbda7cce2 100644 --- a/pkgs/by-name/tu/tuleap-cli/package.nix +++ b/pkgs/by-name/tu/tuleap-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitLab -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitLab, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/tu/tumiki-fighters/package.nix b/pkgs/by-name/tu/tumiki-fighters/package.nix index 0049412b0e6cd..f89c6f5275b87 100644 --- a/pkgs/by-name/tu/tumiki-fighters/package.nix +++ b/pkgs/by-name/tu/tumiki-fighters/package.nix @@ -1,58 +1,46 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, unzip -, gdc -, SDL -, SDL_mixer -, bulletml +{ + lib, + stdenv, + fetchpatch, + fetchurl, + unzip, + gdc, + SDL, + SDL_mixer, + bulletml, }: let -debianPatch = patchname: hash: fetchpatch { - name = "${patchname}.patch"; - url = "https://sources.debian.org/data/main/t/tumiki-fighters/0.2.dfsg1-9/debian/patches/${patchname}.patch"; - sha256 = hash; -}; + debianPatch = + patchname: hash: + fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/t/tumiki-fighters/0.2.dfsg1-9/debian/patches/${patchname}.patch"; + sha256 = hash; + }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "tumiki-fighters"; version = "0.21"; src = fetchurl { - url = "http://abagames.sakura.ne.jp/windows/tf${lib.replaceStrings ["."] ["_"] finalAttrs.version}.zip"; + url = "http://abagames.sakura.ne.jp/windows/tf${ + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }.zip"; sha256 = "0djykfc1r8ysapklm621h89ana1c4qzc1m5nr9bqw4iccnmvwk3p"; }; patches = [ - (debianPatch - "imports" - "1l3kc67b43gdi139cpz5cka1nkn0pjp9mrgrrxlmr0liwx2aryhn") - (debianPatch - "fixes" - "1iy1a5vii6yz9zdlk2bcj6gkj4y25hn9y2fczz15jpqd9r2zm603") - (debianPatch - "directories" - "0kmv0s7jgr693fzrkjsmz4dnicc4w7njanxm2la3cf4vmgdyipmm") - (debianPatch - "windowed" - "1wp74l0bi8wq85pcxnmkwrlfmlf09im95n27pxgz082lhwf2ksy1") - (debianPatch - "dotfile" - "0d8x519bclh41j992qn6ijzfcrgacb79px6zjd1awypkwyc0j2p6") - (debianPatch - "makefile" - "11xf2b31kjyps53jfryv82dv0g6q0smc9xgp8imrbr93mzi51vf0") - (debianPatch - "window-resizing" - "1dm79d0yisa8zs5fr89y3wq2kzd3khcaxs0la8lhncvkqbd4smx8") - (debianPatch - "dlang_v2" - "1isnvbl3bjnpyphji8k3fl0yd1z4869h0lai143vpwgj6518lpg4") - (debianPatch - "gdc-8" - "1md0zwmv50jnak5g9d93bglv9v4z41blinjii6kv3vmgjnajapzj") + (debianPatch "imports" "1l3kc67b43gdi139cpz5cka1nkn0pjp9mrgrrxlmr0liwx2aryhn") + (debianPatch "fixes" "1iy1a5vii6yz9zdlk2bcj6gkj4y25hn9y2fczz15jpqd9r2zm603") + (debianPatch "directories" "0kmv0s7jgr693fzrkjsmz4dnicc4w7njanxm2la3cf4vmgdyipmm") + (debianPatch "windowed" "1wp74l0bi8wq85pcxnmkwrlfmlf09im95n27pxgz082lhwf2ksy1") + (debianPatch "dotfile" "0d8x519bclh41j992qn6ijzfcrgacb79px6zjd1awypkwyc0j2p6") + (debianPatch "makefile" "11xf2b31kjyps53jfryv82dv0g6q0smc9xgp8imrbr93mzi51vf0") + (debianPatch "window-resizing" "1dm79d0yisa8zs5fr89y3wq2kzd3khcaxs0la8lhncvkqbd4smx8") + (debianPatch "dlang_v2" "1isnvbl3bjnpyphji8k3fl0yd1z4869h0lai143vpwgj6518lpg4") + (debianPatch "gdc-8" "1md0zwmv50jnak5g9d93bglv9v4z41blinjii6kv3vmgjnajapzj") ]; postPatch = '' diff --git a/pkgs/by-name/tu/tun2socks/package.nix b/pkgs/by-name/tu/tun2socks/package.nix index a26c2e3f93774..c35c0887baa0f 100644 --- a/pkgs/by-name/tu/tun2socks/package.nix +++ b/pkgs/by-name/tu/tun2socks/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -17,7 +18,8 @@ buildGoModule rec { vendorHash = "sha256-7x3vVRFFxWhwwelPJ2EV78UTSXIo6bMj3ljVIPTPteg="; ldflags = [ - "-w" "-s" + "-w" + "-s" "-X github.com/xjasonlyu/tun2socks/v2/internal/version.Version=v${version}" "-X github.com/xjasonlyu/tun2socks/v2/internal/version.GitCommit=v${version}" ]; diff --git a/pkgs/by-name/tu/tunctl/package.nix b/pkgs/by-name/tu/tunctl/package.nix index 40d1aa572487a..bc1b965f4618e 100644 --- a/pkgs/by-name/tu/tunctl/package.nix +++ b/pkgs/by-name/tu/tunctl/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tunctl"; diff --git a/pkgs/by-name/tu/tuner/package.nix b/pkgs/by-name/tu/tuner/package.nix index a241bcd408b56..6b09c43515396 100644 --- a/pkgs/by-name/tu/tuner/package.nix +++ b/pkgs/by-name/tu/tuner/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, meson -, ninja -, vala -, glib -, itstool -, wrapGAppsHook3 -, desktop-file-utils -, libsoup_2_4 -, json-glib -, geoclue2 -, geocode-glib -, libgee -, gtk3 -, pantheon -, gst_all_1 +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + meson, + ninja, + vala, + glib, + itstool, + wrapGAppsHook3, + desktop-file-utils, + libsoup_2_4, + json-glib, + geoclue2, + geocode-glib, + libgee, + gtk3, + pantheon, + gst_all_1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tu/tunnelx/package.nix b/pkgs/by-name/tu/tunnelx/package.nix index 8209635d8859a..1abab58ca5b6e 100644 --- a/pkgs/by-name/tu/tunnelx/package.nix +++ b/pkgs/by-name/tu/tunnelx/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, jdk -, jre -, survex -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + jdk, + jre, + survex, + makeWrapper, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/tu/tuntox/package.nix b/pkgs/by-name/tu/tuntox/package.nix index 07fa3e3160928..8dd1864b00f8a 100644 --- a/pkgs/by-name/tu/tuntox/package.nix +++ b/pkgs/by-name/tu/tuntox/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, cscope -, fetchFromGitHub -, fetchpatch -, git -, libevent -, libopus -, libsodium -, libtoxcore -, libvpx -, msgpack -, pkg-config -, python3 -, python3Packages +{ + lib, + stdenv, + cscope, + fetchFromGitHub, + fetchpatch, + git, + libevent, + libopus, + libsodium, + libtoxcore, + libvpx, + msgpack, + pkg-config, + python3, + python3Packages, }: stdenv.mkDerivation rec { @@ -26,9 +27,21 @@ stdenv.mkDerivation rec { sha256 = "sha256-c/0OxUH8iw8nRuVg4Fszf6Z/JiEV+m0B2ofzy81uFu8="; }; - nativeBuildInputs = [ cscope git pkg-config ]; + nativeBuildInputs = [ + cscope + git + pkg-config + ]; - buildInputs = [ libopus libtoxcore libsodium libevent libvpx msgpack python3 ]; + buildInputs = [ + libopus + libtoxcore + libsodium + libevent + libvpx + msgpack + python3 + ]; pythonBuildInputs = with python3Packages; [ jinja2 @@ -43,22 +56,27 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' + postPatch = + '' substituteInPlace gitversion.h --replace '7d45afdf7d00a95a8c3687175e2b1669fa1f7745' '365d2e5cbc0e3655fb64c204db0515f5f4cdf5a4' - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace Makefile --replace ' -static ' ' ' substituteInPlace Makefile --replace 'CC=gcc' ' ' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Makefile.mac --replace '.git/HEAD .git/index' ' ' substituteInPlace Makefile.mac --replace '/usr/local/lib/libtoxcore.a' '${libtoxcore}/lib/libtoxcore.a' substituteInPlace Makefile.mac --replace '/usr/local/lib/libsodium.a' '${libsodium}/lib/libsodium.dylib' substituteInPlace Makefile.mac --replace 'CC=gcc' ' ' ''; - buildPhase = '' - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + buildPhase = + '''' + + lib.optionalString stdenv.hostPlatform.isLinux '' make - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' make -f Makefile.mac tuntox ''; diff --git a/pkgs/by-name/tu/tunwg/package.nix b/pkgs/by-name/tu/tunwg/package.nix index ab43b9e5a419b..3616c023fea84 100644 --- a/pkgs/by-name/tu/tunwg/package.nix +++ b/pkgs/by-name/tu/tunwg/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-5BJFAnsmx6lbGQTx/6dIdcsETsllCr6C3wPbB2Gvj5Y="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Secure private tunnel to your local servers"; diff --git a/pkgs/by-name/tu/tup/package.nix b/pkgs/by-name/tu/tup/package.nix index db6a6058a00b5..2b0299e219e10 100644 --- a/pkgs/by-name/tu/tup/package.nix +++ b/pkgs/by-name/tu/tup/package.nix @@ -1,11 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, sqlite, pcre2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fuse3, + macfuse-stubs, + pkg-config, + sqlite, + pcre2, +}: let fuse = if stdenv.hostPlatform.isDarwin then macfuse-stubs else fuse3; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "tup"; version = "0.8"; - outputs = [ "bin" "man" "out" ]; + outputs = [ + "bin" + "man" + "out" + ]; src = fetchFromGitHub { owner = "gittup"; @@ -15,7 +29,11 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fuse pcre2 sqlite ]; + buildInputs = [ + fuse + pcre2 + sqlite + ]; patches = [ ./fusermount-setuid.patch ]; diff --git a/pkgs/by-name/tu/tuptime/package.nix b/pkgs/by-name/tu/tuptime/package.nix index 12027e463ad9e..02b01ff4a4557 100644 --- a/pkgs/by-name/tu/tuptime/package.nix +++ b/pkgs/by-name/tu/tuptime/package.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchFromGitHub -, makeWrapper, installShellFiles -, python3, sqlite -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + installShellFiles, + python3, + sqlite, + nixosTests, }: stdenv.mkDerivation rec { @@ -15,11 +20,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-pYGtgv9hPBG/URD2nOWg6qJYYLtlqLW+t5mCLpzKlEc="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; buildInputs = [ python3 ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/tu/turses/package.nix b/pkgs/by-name/tu/turses/package.nix index 0df36afc3fdfd..43008d436c92d 100644 --- a/pkgs/by-name/tu/turses/package.nix +++ b/pkgs/by-name/tu/turses/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchpatch -, fetchFromGitHub -, fetchPypi -, python3 +{ + lib, + fetchpatch, + fetchFromGitHub, + fetchPypi, + python3, }: let diff --git a/pkgs/by-name/tu/turso-cli/package.nix b/pkgs/by-name/tu/turso-cli/package.nix index d08622783bf5a..b050c1ef68d7a 100644 --- a/pkgs/by-name/tu/turso-cli/package.nix +++ b/pkgs/by-name/tu/turso-cli/package.nix @@ -43,6 +43,10 @@ buildGoModule rec { homepage = "https://turso.tech"; mainProgram = "turso"; license = licenses.mit; - maintainers = with maintainers; [ zestsystem kashw2 fryuni ]; + maintainers = with maintainers; [ + zestsystem + kashw2 + fryuni + ]; }; } diff --git a/pkgs/by-name/tu/turtle-build/package.nix b/pkgs/by-name/tu/turtle-build/package.nix index e1fbd6bf12616..86b153d13f9ac 100644 --- a/pkgs/by-name/tu/turtle-build/package.nix +++ b/pkgs/by-name/tu/turtle-build/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Ninja-compatible build system for high-level programming languages written in Rust"; homepage = "https://github.com/raviqqe/turtle-build"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "turtle"; }; diff --git a/pkgs/by-name/tu/tusc-sh/package.nix b/pkgs/by-name/tu/tusc-sh/package.nix index f5b1ce36e152e..08fe5eb9a8952 100644 --- a/pkgs/by-name/tu/tusc-sh/package.nix +++ b/pkgs/by-name/tu/tusc-sh/package.nix @@ -1,40 +1,46 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, writeShellApplication -, curl -, coreutils -, jq +{ + lib, + stdenvNoCC, + fetchFromGitHub, + writeShellApplication, + curl, + coreutils, + jq, }: let tusc = stdenvNoCC.mkDerivation (finalAttrs: { - pname = "tusc-sh"; - version = "1.1.1"; + pname = "tusc-sh"; + version = "1.1.1"; - src = fetchFromGitHub { - owner = "adhocore"; - repo = "tusc.sh"; - rev = finalAttrs.version; - hash = "sha256-EKlcE+rsVh5lUd8dQzAwXDjiUvrrud5yWfF6JWSZQFE="; - }; + src = fetchFromGitHub { + owner = "adhocore"; + repo = "tusc.sh"; + rev = finalAttrs.version; + hash = "sha256-EKlcE+rsVh5lUd8dQzAwXDjiUvrrud5yWfF6JWSZQFE="; + }; - dontConfigure = true; - dontBuild = true; + dontConfigure = true; + dontBuild = true; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - install -Dm755 tusc.sh -t $out/bin + install -Dm755 tusc.sh -t $out/bin - runHook postInstall - ''; + runHook postInstall + ''; -}); + }); in writeShellApplication { name = "tusc"; - runtimeInputs = [ tusc curl coreutils jq ]; + runtimeInputs = [ + tusc + curl + coreutils + jq + ]; text = '' tusc.sh "$@" ''; diff --git a/pkgs/by-name/tu/tusk/package.nix b/pkgs/by-name/tu/tusk/package.nix index 89a27a770e6fe..2dc7e6290f60b 100644 --- a/pkgs/by-name/tu/tusk/package.nix +++ b/pkgs/by-name/tu/tusk/package.nix @@ -1,4 +1,9 @@ -{ appimageTools, fetchurl, lib, makeDesktopItem }: +{ + appimageTools, + fetchurl, + lib, + makeDesktopItem, +}: let pname = "tusk"; @@ -18,7 +23,8 @@ let categories = [ "Application" ]; }; -in appimageTools.wrapType2 rec { +in +appimageTools.wrapType2 rec { inherit pname version; src = fetchurl { @@ -26,7 +32,6 @@ in appimageTools.wrapType2 rec { sha256 = "02q7wsnhlyq8z74avflrm7805ny8fzlmsmz4bmafp4b4pghjh5ky"; }; - profile = '' export LC_ALL=C.UTF-8 ''; diff --git a/pkgs/by-name/tu/tut/package.nix b/pkgs/by-name/tu/tut/package.nix index f6094f516694c..4e2cc64c3dac9 100644 --- a/pkgs/by-name/tu/tut/package.nix +++ b/pkgs/by-name/tu/tut/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tut"; diff --git a/pkgs/by-name/tu/tutanota-desktop/package.nix b/pkgs/by-name/tu/tutanota-desktop/package.nix index 30661d875f79e..87aeccd8c3903 100644 --- a/pkgs/by-name/tu/tutanota-desktop/package.nix +++ b/pkgs/by-name/tu/tutanota-desktop/package.nix @@ -1,7 +1,8 @@ -{ lib -, appimageTools -, fetchurl -, gitUpdater +{ + lib, + appimageTools, + fetchurl, + gitUpdater, }: appimageTools.wrapType2 rec { @@ -16,8 +17,10 @@ appimageTools.wrapType2 rec { extraPkgs = pkgs: [ pkgs.libsecret ]; extraInstallCommands = - let appimageContents = appimageTools.extract { inherit pname version src; }; - in '' + let + appimageContents = appimageTools.extract { inherit pname version src; }; + in + '' install -Dm 444 ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications install -Dm 444 ${appimageContents}/tutanota-desktop.png -t $out/share/pixmaps diff --git a/pkgs/by-name/tu/tuxclocker-nvidia-plugin/package.nix b/pkgs/by-name/tu/tuxclocker-nvidia-plugin/package.nix index 50f98eb550ab1..8e768064b786a 100644 --- a/pkgs/by-name/tu/tuxclocker-nvidia-plugin/package.nix +++ b/pkgs/by-name/tu/tuxclocker-nvidia-plugin/package.nix @@ -1,16 +1,22 @@ -{ stdenv -, boost -, libX11 -, libXext -, linuxPackages -, openssl -, tuxclocker-plugins +{ + stdenv, + boost, + libX11, + libXext, + linuxPackages, + openssl, + tuxclocker-plugins, }: stdenv.mkDerivation { pname = "tuxclocker-nvidia-plugin"; - inherit (tuxclocker-plugins) src version meta nativeBuildInputs; + inherit (tuxclocker-plugins) + src + version + meta + nativeBuildInputs + ; buildInputs = [ boost diff --git a/pkgs/by-name/tu/tuxclocker-plugins-with-unfree/package.nix b/pkgs/by-name/tu/tuxclocker-plugins-with-unfree/package.nix index f055cf111fa3b..2ca6f239e9887 100644 --- a/pkgs/by-name/tu/tuxclocker-plugins-with-unfree/package.nix +++ b/pkgs/by-name/tu/tuxclocker-plugins-with-unfree/package.nix @@ -1,6 +1,7 @@ -{ symlinkJoin -, tuxclocker-nvidia-plugin -, tuxclocker-plugins +{ + symlinkJoin, + tuxclocker-nvidia-plugin, + tuxclocker-plugins, }: symlinkJoin rec { diff --git a/pkgs/by-name/tu/tuxclocker-plugins/package.nix b/pkgs/by-name/tu/tuxclocker-plugins/package.nix index 3cb8ef84d6438..7f01388cdd201 100644 --- a/pkgs/by-name/tu/tuxclocker-plugins/package.nix +++ b/pkgs/by-name/tu/tuxclocker-plugins/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, boost -, gettext -, libdrm -, meson -, ninja -, openssl -, pkg-config -, python3 -, tuxclocker +{ + stdenv, + boost, + gettext, + libdrm, + meson, + ninja, + openssl, + pkg-config, + python3, + tuxclocker, }: stdenv.mkDerivation { @@ -20,7 +21,7 @@ stdenv.mkDerivation { meson ninja pkg-config - (python3.withPackages(p: [ p.hwdata ])) + (python3.withPackages (p: [ p.hwdata ])) ]; buildInputs = [ diff --git a/pkgs/by-name/tu/tuxedo-rs/package.nix b/pkgs/by-name/tu/tuxedo-rs/package.nix index d6b09df678a8b..4f9abd7adadc4 100644 --- a/pkgs/by-name/tu/tuxedo-rs/package.nix +++ b/pkgs/by-name/tu/tuxedo-rs/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, testers -, tuxedo-rs +{ + lib, + fetchFromGitHub, + rustPlatform, + testers, + tuxedo-rs, }: rustPlatform.buildRustPackage rec { pname = "tuxedo-rs"; @@ -17,7 +18,6 @@ rustPlatform.buildRustPackage rec { hash = "sha256-+NzwUs8TZsA0us9hI1UmEKdiOo9IqTRmTOHs4xmC7MY="; }; - # Some of the tests are impure and rely on files in /etc/tailord doCheck = false; @@ -44,7 +44,10 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://github.com/AaronErhardt/tuxedo-rs"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ mrcjkb xaverdh ]; + maintainers = with maintainers; [ + mrcjkb + xaverdh + ]; platforms = platforms.linux; mainProgram = "tailor"; }; diff --git a/pkgs/by-name/tu/tuxmux/package.nix b/pkgs/by-name/tu/tuxmux/package.nix index 49293f49557ad..709ca9d31bee5 100644 --- a/pkgs/by-name/tu/tuxmux/package.nix +++ b/pkgs/by-name/tu/tuxmux/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, libiconv -, pkg-config -, installShellFiles +{ + lib, + fetchFromGitHub, + rustPlatform, + libiconv, + pkg-config, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-ZftnJ6SYfPzwgsS44YgL9tbwL8Y+7PahI0EfFbKdlqA="; buildInputs = [ libiconv ]; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; postInstall = '' installShellCompletion $releaseDir/../completions/tux.{bash,fish} diff --git a/pkgs/by-name/tu/tuxpaint/package.nix b/pkgs/by-name/tu/tuxpaint/package.nix index f0e13bc9be686..3063332535c75 100644 --- a/pkgs/by-name/tu/tuxpaint/package.nix +++ b/pkgs/by-name/tu/tuxpaint/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, gettext -, gperf -, imagemagick -, makeWrapper -, pkg-config -, SDL2 -, cairo -, freetype -, fribidi -, libimagequant -, libpaper -, libpng -, librsvg -, pango -, SDL2_gfx -, SDL2_image -, SDL2_mixer -, SDL2_Pango -, SDL2_ttf -, netpbm +{ + lib, + stdenv, + fetchurl, + gettext, + gperf, + imagemagick, + makeWrapper, + pkg-config, + SDL2, + cairo, + freetype, + fribidi, + libimagequant, + libpaper, + libpng, + librsvg, + pango, + SDL2_gfx, + SDL2_image, + SDL2_mixer, + SDL2_Pango, + SDL2_ttf, + netpbm, }: let diff --git a/pkgs/by-name/tu/tuxtype/package.nix b/pkgs/by-name/tu/tuxtype/package.nix index 58a31d4695362..3a30f42e13889 100644 --- a/pkgs/by-name/tu/tuxtype/package.nix +++ b/pkgs/by-name/tu/tuxtype/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, librsvg, libxml2, SDL, SDL_image, SDL_mixer, SDL_net, SDL_ttf, t4kcommon }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + librsvg, + libxml2, + SDL, + SDL_image, + SDL_mixer, + SDL_net, + SDL_ttf, + t4kcommon, +}: stdenv.mkDerivation rec { version = "1.8.3"; @@ -28,8 +42,20 @@ stdenv.mkDerivation rec { --replace 'PKG_CHECK_MODULES([SDL_ttf],' 'PKG_CHECK_MODULES([SDL_TTF],' ''; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ librsvg libxml2 SDL SDL_image SDL_mixer SDL_net SDL_ttf t4kcommon ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + librsvg + libxml2 + SDL + SDL_image + SDL_mixer + SDL_net + SDL_ttf + t4kcommon + ]; configureFlags = [ "--without-sdlpango" ]; diff --git a/pkgs/by-name/tv/tv/package.nix b/pkgs/by-name/tv/tv/package.nix index 154d98b4c592c..4e42503a4eaab 100644 --- a/pkgs/by-name/tv/tv/package.nix +++ b/pkgs/by-name/tv/tv/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "tv"; diff --git a/pkgs/by-name/tv/tvbrowser/package.nix b/pkgs/by-name/tv/tvbrowser/package.nix index f997652c27ecb..2d33197361932 100644 --- a/pkgs/by-name/tv/tvbrowser/package.nix +++ b/pkgs/by-name/tv/tvbrowser/package.nix @@ -1,12 +1,13 @@ -{ lib -, fetchurl -, stdenv -, fetchzip -, ant -, jdk -, makeWrapper -, stripJavaArchivesHook -, callPackage +{ + lib, + fetchurl, + stdenv, + fetchzip, + ant, + jdk, + makeWrapper, + stripJavaArchivesHook, + callPackage, }: let @@ -26,7 +27,12 @@ stdenv.mkDerivation rec { hash = "sha256-dmNfI6T0MU7UtMH+C/2hiAeDwZlFCB4JofQViZezoqI="; }; - nativeBuildInputs = [ ant jdk makeWrapper stripJavaArchivesHook ]; + nativeBuildInputs = [ + ant + jdk + makeWrapper + stripJavaArchivesHook + ]; buildPhase = '' runHook preBuild @@ -66,14 +72,17 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests.startwindow = callPackage ./test.nix {}; + passthru.tests.startwindow = callPackage ./test.nix { }; meta = with lib; { description = "Electronic TV Program Guide"; downloadPage = "https://www.tvbrowser.org/index.php?id=tv-browser"; homepage = "https://www.tvbrowser.org/"; changelog = "https://www.tvbrowser.org/index.php?id=news"; - sourceProvenance = with sourceTypes; [ binaryBytecode fromSource ]; + sourceProvenance = with sourceTypes; [ + binaryBytecode + fromSource + ]; license = licenses.gpl3Plus; platforms = platforms.linux; mainProgram = "tvbrowser"; diff --git a/pkgs/by-name/tv/tvbrowser/test.nix b/pkgs/by-name/tv/tvbrowser/test.nix index bee843ccbecc8..d7dc2033f6c5e 100644 --- a/pkgs/by-name/tv/tvbrowser/test.nix +++ b/pkgs/by-name/tv/tvbrowser/test.nix @@ -1,15 +1,19 @@ -{ lib -, xvfb-run -, tvbrowser -, runCommand -, writeShellApplication -, xorg +{ + lib, + xvfb-run, + tvbrowser, + runCommand, + writeShellApplication, + xorg, }: let testScript = writeShellApplication { name = "tvbrowser-test-script"; - runtimeInputs = [ xorg.xwininfo tvbrowser ]; + runtimeInputs = [ + xorg.xwininfo + tvbrowser + ]; text = '' function find_tvbrowser_windows { for window_name in java tvbrowser-TVBrowser 'Setup assistant' ; do @@ -31,10 +35,7 @@ let ''; }; in -runCommand -"tvbrowser-test" -{ buildInputs = [ xvfb-run ]; } -'' +runCommand "tvbrowser-test" { buildInputs = [ xvfb-run ]; } '' HOME=$PWD xvfb-run ${lib.getExe testScript} touch ${placeholder "out"} '' diff --git a/pkgs/by-name/tv/tvm/package.nix b/pkgs/by-name/tv/tvm/package.nix index 45579ad8f16ad..d1d18d891eb09 100644 --- a/pkgs/by-name/tv/tvm/package.nix +++ b/pkgs/by-name/tv/tvm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "tvm"; diff --git a/pkgs/by-name/tv/tvnamer/package.nix b/pkgs/by-name/tv/tvnamer/package.nix index 5015a5e40b56d..72ef463bd954c 100644 --- a/pkgs/by-name/tv/tvnamer/package.nix +++ b/pkgs/by-name/tv/tvnamer/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: let diff --git a/pkgs/by-name/tw/twa/package.nix b/pkgs/by-name/tw/twa/package.nix index 909648f8d03c5..02e9dea8eeaf9 100644 --- a/pkgs/by-name/tw/twa/package.nix +++ b/pkgs/by-name/tw/twa/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, bash -, curl -, dnsutils -, gawk -, jq -, ncurses -, netcat +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bash, + curl, + dnsutils, + gawk, + jq, + ncurses, + netcat, }: stdenv.mkDerivation rec { @@ -26,12 +27,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ bash - curl - dnsutils - gawk - jq - netcat ]; + buildInputs = [ + bash + curl + dnsutils + gawk + jq + netcat + ]; installPhase = '' runHook preInstall @@ -42,12 +45,16 @@ stdenv.mkDerivation rec { install -Dm 0644 README.md "$out/share/doc/twa/README.md" wrapProgram "$out/bin/twa" \ - --prefix PATH : ${lib.makeBinPath [ curl - dnsutils - gawk - jq - ncurses - netcat ]} + --prefix PATH : ${ + lib.makeBinPath [ + curl + dnsutils + gawk + jq + ncurses + netcat + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/tw/tweak/package.nix b/pkgs/by-name/tw/tweak/package.nix index 24d6152e68bb4..a974d8467d6b0 100644 --- a/pkgs/by-name/tw/tweak/package.nix +++ b/pkgs/by-name/tw/tweak/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "tweak"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; preBuild = "substituteInPlace Makefile --replace '$(DESTDIR)/usr/local' $out"; - makeFlags = [ "CC:=$(CC)" "LINK:=$(CC)" ]; + makeFlags = [ + "CC:=$(CC)" + "LINK:=$(CC)" + ]; meta = with lib; { description = "Efficient hex editor"; diff --git a/pkgs/by-name/tw/tweego/package.nix b/pkgs/by-name/tw/tweego/package.nix index 16c01c105265c..f0e77b801d9de 100644 --- a/pkgs/by-name/tw/tweego/package.nix +++ b/pkgs/by-name/tw/tweego/package.nix @@ -25,7 +25,7 @@ buildGoModule rec { description = "Free (gratis and libre) command line compiler for Twine/Twee story formats, written in Go"; homepage = "https://www.motoslave.net/tweego"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [chrispwill]; + maintainers = with lib.maintainers; [ chrispwill ]; mainProgram = "tweego"; }; } diff --git a/pkgs/by-name/tw/tweeny/package.nix b/pkgs/by-name/tw/tweeny/package.nix index 131cf2194ae85..e17e0cafe28a6 100644 --- a/pkgs/by-name/tw/tweeny/package.nix +++ b/pkgs/by-name/tw/tweeny/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake +{ + stdenv, + lib, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/tw/twemoji-color-font/package.nix b/pkgs/by-name/tw/twemoji-color-font/package.nix index ca1ecd8f8bf96..d55af5b4b6e9c 100644 --- a/pkgs/by-name/tw/twemoji-color-font/package.nix +++ b/pkgs/by-name/tw/twemoji-color-font/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation (finalAttrs: { @@ -36,7 +37,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/eosrei/twemoji-color-font"; downloadPage = "https://github.com/eosrei/twemoji-color-font/releases"; - license = with licenses; [ cc-by-40 mit ]; + license = with licenses; [ + cc-by-40 + mit + ]; maintainers = [ maintainers.fgaz ]; }; }) diff --git a/pkgs/by-name/tw/twiggy/package.nix b/pkgs/by-name/tw/twiggy/package.nix index dd34321c81e67..5c621073915b4 100644 --- a/pkgs/by-name/tw/twiggy/package.nix +++ b/pkgs/by-name/tw/twiggy/package.nix @@ -1,6 +1,8 @@ -{ lib -, fetchCrate -, rustPlatform }: +{ + lib, + fetchCrate, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "twiggy"; @@ -17,7 +19,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://rustwasm.github.io/twiggy/"; description = "Code size profiler for Wasm"; mainProgram = "twiggy"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ lucperkins ]; }; } diff --git a/pkgs/by-name/tw/twilio-cli/package.nix b/pkgs/by-name/tw/twilio-cli/package.nix index 6da86221a807f..0b4daf98e21a3 100644 --- a/pkgs/by-name/tw/twilio-cli/package.nix +++ b/pkgs/by-name/tw/twilio-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, nodejs-slim, fetchzip, testers }: +{ + lib, + stdenvNoCC, + nodejs-slim, + fetchzip, + testers, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "twilio-cli"; diff --git a/pkgs/by-name/tw/twingate/package.nix b/pkgs/by-name/tw/twingate/package.nix index dfab962499f95..6525bdf0f0e49 100644 --- a/pkgs/by-name/tw/twingate/package.nix +++ b/pkgs/by-name/tw/twingate/package.nix @@ -1,14 +1,15 @@ -{ autoPatchelfHook -, curl -, dpkg -, dbus -, fetchurl -, lib -, libnl -, udev -, cryptsetup -, stdenv -, nixosTests +{ + autoPatchelfHook, + curl, + dpkg, + dbus, + fetchurl, + lib, + libnl, + udev, + cryptsetup, + stdenv, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/tw/twitch-cli/package.nix b/pkgs/by-name/tw/twitch-cli/package.nix index c8dbc9b42d142..64b0ee6fd2478 100644 --- a/pkgs/by-name/tw/twitch-cli/package.nix +++ b/pkgs/by-name/tw/twitch-cli/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, testers -, twitch-cli +{ + buildGoModule, + fetchFromGitHub, + lib, + testers, + twitch-cli, }: buildGoModule rec { diff --git a/pkgs/by-name/tw/twitch-dl/package.nix b/pkgs/by-name/tw/twitch-dl/package.nix index 18c446dcf4987..877683f51fba4 100644 --- a/pkgs/by-name/tw/twitch-dl/package.nix +++ b/pkgs/by-name/tw/twitch-dl/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, python3Packages -, installShellFiles -, scdoc -, ffmpeg +{ + lib, + fetchFromGitHub, + python3Packages, + installShellFiles, + scdoc, + ffmpeg, }: python3Packages.buildPythonApplication rec { @@ -29,7 +30,6 @@ python3Packages.buildPythonApplication rec { scdoc ]; - propagatedBuildInputs = with python3Packages; [ click httpx @@ -61,7 +61,10 @@ python3Packages.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ ffmpeg ]) ]; postInstall = '' @@ -78,7 +81,10 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/ihabunek/twitch-dl"; changelog = "https://github.com/ihabunek/twitch-dl/blob/${src.rev}/CHANGELOG.md"; license = licenses.gpl3Only; - maintainers = with maintainers; [ pbsds hausken ]; + maintainers = with maintainers; [ + pbsds + hausken + ]; mainProgram = "twitch-dl"; }; } diff --git a/pkgs/by-name/tw/twitter-color-emoji/package.nix b/pkgs/by-name/tw/twitter-color-emoji/package.nix index 69aae92d966a0..5ddcb8a7d6130 100644 --- a/pkgs/by-name/tw/twitter-color-emoji/package.nix +++ b/pkgs/by-name/tw/twitter-color-emoji/package.nix @@ -1,16 +1,18 @@ # Based upon https://src.fedoraproject.org/rpms/twitter-twemoji-fonts # The main difference is that we use “Twitter Color Emoji” name (which is recognized by upstream fontconfig) -{ lib, stdenv -, fetchFromGitHub -, cairo -, imagemagick -, pkg-config -, pngquant -, python3 -, which -, zopfli -, noto-fonts-color-emoji +{ + lib, + stdenv, + fetchFromGitHub, + cairo, + imagemagick, + pkg-config, + pngquant, + python3, + which, + zopfli, + noto-fonts-color-emoji, }: let @@ -24,8 +26,12 @@ let hash = "sha256-FLOqXDpSFyClBlG5u3IRL0EKeu1mckCfRizJh++IWxo="; }; - pythonEnv = - python3.withPackages (ps: with ps; [ fonttools nototools ]); + pythonEnv = python3.withPackages ( + ps: with ps; [ + fonttools + nototools + ] + ); in stdenv.mkDerivation rec { @@ -54,28 +60,30 @@ stdenv.mkDerivation rec { zopfli ]; - postPatch = let - templateSubstitutions = lib.concatStringsSep "; " [ - "s#Noto Color Emoji#Twitter Color Emoji#" - "s#NotoColorEmoji#TwitterColorEmoji#" - ''s#Copyright .* Google Inc\.#Twitter, Inc and other contributors.#'' - "s# Version .*# ${version}#" - "s#.*is a trademark.*##" - ''s#Google, Inc\.#Twitter, Inc and other contributors#'' - "s#http://www.google.com/get/noto/#https://twemoji.twitter.com/#" - "s#.*is licensed under.*# Creative Commons Attribution 4.0 International#" - "s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#" - ]; - in '' - ${noto-fonts-color-emoji.postPatch} - - sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl - pushd ${twemojiSrc.name}/assets/72x72/ - for png in *.png; do - mv $png emoji_u''${png//-/_} - done - popd - ''; + postPatch = + let + templateSubstitutions = lib.concatStringsSep "; " [ + "s#Noto Color Emoji#Twitter Color Emoji#" + "s#NotoColorEmoji#TwitterColorEmoji#" + ''s#Copyright .* Google Inc\.#Twitter, Inc and other contributors.#'' + "s# Version .*# ${version}#" + "s#.*is a trademark.*##" + ''s#Google, Inc\.#Twitter, Inc and other contributors#'' + "s#http://www.google.com/get/noto/#https://twemoji.twitter.com/#" + "s#.*is licensed under.*# Creative Commons Attribution 4.0 International#" + "s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#" + ]; + in + '' + ${noto-fonts-color-emoji.postPatch} + + sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl + pushd ${twemojiSrc.name}/assets/72x72/ + for png in *.png; do + mv $png emoji_u''${png//-/_} + done + popd + ''; makeFlags = [ "EMOJI=TwitterColorEmoji" @@ -110,7 +118,12 @@ stdenv.mkDerivation rec { ## Non-artwork is MIT # In Fedora twitter-twemoji-fonts source ## spec files are MIT: https://fedoraproject.org/wiki/Licensing:Main#License_of_Fedora_SPEC_Files - license = with licenses; [ asl20 ofl cc-by-40 mit ]; + license = with licenses; [ + asl20 + ofl + cc-by-40 + mit + ]; maintainers = with maintainers; [ emily ]; }; } diff --git a/pkgs/by-name/tw/twitterBootstrap/package.nix b/pkgs/by-name/tw/twitterBootstrap/package.nix index 328154ef810fa..78f4c77e46175 100644 --- a/pkgs/by-name/tw/twitterBootstrap/package.nix +++ b/pkgs/by-name/tw/twitterBootstrap/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/tw/twm/package.nix b/pkgs/by-name/tw/twm/package.nix index 20e1d9290e44d..273185e90bd86 100644 --- a/pkgs/by-name/tw/twm/package.nix +++ b/pkgs/by-name/tw/twm/package.nix @@ -1,12 +1,13 @@ -{ lib -, darwin -, fetchFromGitHub -, stdenv -, rustPlatform -, openssl -, pkg-config -, nix-update-script -, installShellFiles +{ + lib, + darwin, + fetchFromGitHub, + stdenv, + rustPlatform, + openssl, + pkg-config, + nix-update-script, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -22,8 +23,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-BjQ7dDXHzX+O/V328TTwl9wGtpOq+NjOMRiZwb9O7ZU="; - nativeBuildInputs = [ pkg-config installShellFiles ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd twm \ @@ -42,7 +48,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/vinnymeller/twm"; changelog = "https://github.com/vinnymeller/twm/releases/tag/${lib.removePrefix "refs/tags/" src.rev}"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.vinnymeller ]; + maintainers = [ lib.maintainers.vinnymeller ]; mainProgram = "twm"; }; } diff --git a/pkgs/by-name/tw/twolame/package.nix b/pkgs/by-name/tw/twolame/package.nix index eba2fdfe81c5c..7d7aef89fa83b 100644 --- a/pkgs/by-name/tw/twolame/package.nix +++ b/pkgs/by-name/tw/twolame/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, pkg-config -, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libsndfile, +}: stdenv.mkDerivation { @@ -14,12 +19,15 @@ stdenv.mkDerivation { sha256 = "1rq3yc8ygzdqid9zk6pixmm4w9sk2vrlx217lhn5bjaglv7iyf7x"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libsndfile ]; doCheck = false; # fails with "../build-scripts/test-driver: line 107: -Mstrict: command not found" - meta = with lib;{ + meta = with lib; { description = "MP2 encoder"; mainProgram = "twolame"; longDescription = '' diff --git a/pkgs/by-name/tw/twspace-crawler/package.nix b/pkgs/by-name/tw/twspace-crawler/package.nix index fa38e636c77ef..53d936faf81aa 100644 --- a/pkgs/by-name/tw/twspace-crawler/package.nix +++ b/pkgs/by-name/tw/twspace-crawler/package.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: buildNpmPackage rec { pname = "twspace-crawler"; diff --git a/pkgs/by-name/tw/twspace-dl/package.nix b/pkgs/by-name/tw/twspace-dl/package.nix index 3e22188f5df9c..32bcf6f2e21ac 100644 --- a/pkgs/by-name/tw/twspace-dl/package.nix +++ b/pkgs/by-name/tw/twspace-dl/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchPypi, ffmpeg-headless }: +{ + lib, + python3Packages, + fetchPypi, + ffmpeg-headless, +}: python3Packages.buildPythonApplication rec { pname = "twspace-dl"; diff --git a/pkgs/by-name/tx/txr/package.nix b/pkgs/by-name/tx/txr/package.nix index 6748b8ee34140..dff76b07be861 100644 --- a/pkgs/by-name/tx/txr/package.nix +++ b/pkgs/by-name/tx/txr/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, coreutils -, libffi +{ + lib, + stdenv, + fetchurl, + coreutils, + libffi, }: stdenv.mkDerivation (finalAttrs: { @@ -28,16 +29,18 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace tests/018/process.tl --replace /usr/bin/env ${lib.getBin coreutils}/bin/env ''; - preCheck = let - disabledTests = lib.concatStringsSep " " [ - # - tries to set sticky bits - "tests/018/chmod.tl" - # - warning: unbound function crypt - "tests/018/crypt.tl" - ]; - in '' - rm ${disabledTests} - ''; + preCheck = + let + disabledTests = lib.concatStringsSep " " [ + # - tries to set sticky bits + "tests/018/chmod.tl" + # - warning: unbound function crypt + "tests/018/crypt.tl" + ]; + in + '' + rm ${disabledTests} + ''; postInstall = '' mkdir -p $out/share/vim-plugins/txr/{syntax,ftdetect} @@ -67,7 +70,10 @@ stdenv.mkDerivation (finalAttrs: { ''; changelog = "https://www.kylheku.com/cgit/txr/tree/RELNOTES?h=txr-${finalAttrs.version}"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ AndersonTorres dtzWill ]; + maintainers = with lib.maintainers; [ + AndersonTorres + dtzWill + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/tx/txt2man/package.nix b/pkgs/by-name/tx/txt2man/package.nix index d5f8159f8a533..9e80d82264916 100644 --- a/pkgs/by-name/tx/txt2man/package.nix +++ b/pkgs/by-name/tx/txt2man/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, coreutils, gawk }: +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + gawk, +}: stdenv.mkDerivation rec { pname = "txt2man"; diff --git a/pkgs/by-name/tx/txt2tags/package.nix b/pkgs/by-name/tx/txt2tags/package.nix index 1e48d4c6f3d6f..e978451b350bb 100644 --- a/pkgs/by-name/tx/txt2tags/package.nix +++ b/pkgs/by-name/tx/txt2tags/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -32,7 +33,10 @@ python3.pkgs.buildPythonApplication rec { description = "Convert between markup languages"; mainProgram = "txt2tags"; homepage = "https://txt2tags.org/"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ dotlambda kovirobi ]; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + dotlambda + kovirobi + ]; }; } diff --git a/pkgs/by-name/tx/txtw/package.nix b/pkgs/by-name/tx/txtw/package.nix index 9f8783491b11a..0268c7b708fb3 100644 --- a/pkgs/by-name/tx/txtw/package.nix +++ b/pkgs/by-name/tx/txtw/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cairo }: +{ + lib, + stdenv, + fetchFromGitHub, + cairo, +}: stdenv.mkDerivation rec { version = "0.4"; diff --git a/pkgs/by-name/ty/tydra/package.nix b/pkgs/by-name/ty/tydra/package.nix index 75c2effedcc68..12b46863c8e76 100644 --- a/pkgs/by-name/ty/tydra/package.nix +++ b/pkgs/by-name/ty/tydra/package.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "tydra"; diff --git a/pkgs/by-name/ty/tym/package.nix b/pkgs/by-name/ty/tym/package.nix index 562e06176130c..2de2c27fd9de0 100644 --- a/pkgs/by-name/ty/tym/package.nix +++ b/pkgs/by-name/ty/tym/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gtk3, vte, lua5_3, pcre2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + gtk3, + vte, + lua5_3, + pcre2, +}: stdenv.mkDerivation rec { pname = "tym"; @@ -27,7 +37,10 @@ stdenv.mkDerivation rec { description = "Lua-configurable terminal emulator"; homepage = "https://github.com/endaaman/tym"; license = licenses.mit; - maintainers = with maintainers; [ wesleyjrz kashw2 ]; + maintainers = with maintainers; [ + wesleyjrz + kashw2 + ]; platforms = platforms.linux; mainProgram = "tym"; }; diff --git a/pkgs/by-name/ty/typer/package.nix b/pkgs/by-name/ty/typer/package.nix index 8d41e2168783f..9ff09b79688ab 100644 --- a/pkgs/by-name/ty/typer/package.nix +++ b/pkgs/by-name/ty/typer/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule { @@ -16,7 +17,10 @@ buildGoModule { vendorHash = "sha256-t4zim6WhqGAf1zHmmbJbpVvQcE/aoNL7ZLdjU7f3rp8="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Typing test in your terminal"; diff --git a/pkgs/by-name/ty/typescript-language-server/package.nix b/pkgs/by-name/ty/typescript-language-server/package.nix index 8a0c0e8da2d41..29265f3931a1f 100644 --- a/pkgs/by-name/ty/typescript-language-server/package.nix +++ b/pkgs/by-name/ty/typescript-language-server/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, fixup-yarn-lock -, makeWrapper -, nodejs -, prefetch-yarn-deps -, substituteAll -, yarn -, testers -, typescript +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + fixup-yarn-lock, + makeWrapper, + nodejs, + prefetch-yarn-deps, + substituteAll, + yarn, + testers, + typescript, }: stdenv.mkDerivation (finalAttrs: { @@ -87,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/typescript-language-server/typescript-language-server/releases/tag/v${finalAttrs.version}"; description = "Language Server Protocol implementation for TypeScript using tsserver"; homepage = "https://github.com/typescript-language-server/typescript-language-server"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; mainProgram = "typescript-language-server"; maintainers = with lib.maintainers; [ marcel ]; }; diff --git a/pkgs/by-name/ty/typespeed/package.nix b/pkgs/by-name/ty/typespeed/package.nix index 088f6803fbcbf..385a80165babc 100644 --- a/pkgs/by-name/ty/typespeed/package.nix +++ b/pkgs/by-name/ty/typespeed/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "typespeed"; diff --git a/pkgs/by-name/ty/typical/package.nix b/pkgs/by-name/ty/typical/package.nix index 9eb303065ab8a..4d962003d02ed 100644 --- a/pkgs/by-name/ty/typical/package.nix +++ b/pkgs/by-name/ty/typical/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ty/typioca/package.nix b/pkgs/by-name/ty/typioca/package.nix index 572735cf74291..dfc9d61398bb6 100644 --- a/pkgs/by-name/ty/typioca/package.nix +++ b/pkgs/by-name/ty/typioca/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, typioca +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + typioca, }: buildGoModule rec { diff --git a/pkgs/by-name/ty/typora/package.nix b/pkgs/by-name/ty/typora/package.nix index a194dac3b18b2..3a26a8c82bc4f 100644 --- a/pkgs/by-name/ty/typora/package.nix +++ b/pkgs/by-name/ty/typora/package.nix @@ -1,22 +1,23 @@ -{ stdenv -, fetchurl -, dpkg -, lib -, glib -, nss -, nspr -, cups -, dbus -, libdrm -, gtk3 -, pango -, cairo -, libxkbcommon -, mesa -, expat -, alsa-lib -, buildFHSEnv -, writeTextFile +{ + stdenv, + fetchurl, + dpkg, + lib, + glib, + nss, + nspr, + cups, + dbus, + libdrm, + gtk3, + pango, + cairo, + libxkbcommon, + mesa, + expat, + alsa-lib, + buildFHSEnv, + writeTextFile, }: let @@ -47,65 +48,69 @@ let typoraFHS = buildFHSEnv { pname = "typora-fhs"; inherit version; - targetPkgs = pkgs: (with pkgs; [ - typoraBase - udev - alsa-lib - glib - nss - nspr - atk - cups - dbus - gtk3 - libdrm - pango - cairo - mesa - libGL - expat - libxkbcommon - ]) ++ (with pkgs.xorg; [ - libX11 - libXcursor - libXrandr - libXcomposite - libXdamage - libXext - libXfixes - libxcb - ]); + targetPkgs = + pkgs: + (with pkgs; [ + typoraBase + udev + alsa-lib + glib + nss + nspr + atk + cups + dbus + gtk3 + libdrm + pango + cairo + mesa + libGL + expat + libxkbcommon + ]) + ++ (with pkgs.xorg; [ + libX11 + libXcursor + libXrandr + libXcomposite + libXdamage + libXext + libXfixes + libxcb + ]); runScript = '' Typora "$@" ''; }; launchScript = writeTextFile { - name = "typora-launcher"; - executable = true; - text = '' - #!${stdenv.shell} + name = "typora-launcher"; + executable = true; + text = '' + #!${stdenv.shell} - # Configuration directory setup - XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-~/.config} - TYPORA_CONFIG_DIR="$XDG_CONFIG_HOME/Typora" - TYPORA_DICT_DIR="$TYPORA_CONFIG_DIR/typora-dictionaries" + # Configuration directory setup + XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-~/.config} + TYPORA_CONFIG_DIR="$XDG_CONFIG_HOME/Typora" + TYPORA_DICT_DIR="$TYPORA_CONFIG_DIR/typora-dictionaries" - # Create config directories with proper permissions - mkdir -p "$TYPORA_DICT_DIR" - chmod 755 "$TYPORA_CONFIG_DIR" - chmod 755 "$TYPORA_DICT_DIR" + # Create config directories with proper permissions + mkdir -p "$TYPORA_DICT_DIR" + chmod 755 "$TYPORA_CONFIG_DIR" + chmod 755 "$TYPORA_DICT_DIR" - # Read user flags if they exist - if [ -f "$XDG_CONFIG_HOME/typora-flags.conf" ]; then - TYPORA_USER_FLAGS="$(sed 's/#.*//' "$XDG_CONFIG_HOME/typora-flags.conf" | tr '\n' ' ')" - fi + # Read user flags if they exist + if [ -f "$XDG_CONFIG_HOME/typora-flags.conf" ]; then + TYPORA_USER_FLAGS="$(sed 's/#.*//' "$XDG_CONFIG_HOME/typora-flags.conf" | tr '\n' ' ')" + fi - exec ${typoraFHS}/bin/typora-fhs "$@" $TYPORA_USER_FLAGS - ''; + exec ${typoraFHS}/bin/typora-fhs "$@" $TYPORA_USER_FLAGS + ''; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; dontUnpack = true; diff --git a/pkgs/by-name/ty/typstfmt/package.nix b/pkgs/by-name/ty/typstfmt/package.nix index f3cd8fc62e88e..cb91bdc5bfe3c 100644 --- a/pkgs/by-name/ty/typstfmt/package.nix +++ b/pkgs/by-name/ty/typstfmt/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -27,6 +28,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/astrale-sharp/typstfmt"; license = lib.licenses.mit; mainProgram = "typstfmt"; - maintainers = with lib.maintainers; [ figsoda geri1701 ]; + maintainers = with lib.maintainers; [ + figsoda + geri1701 + ]; }; } diff --git a/pkgs/by-name/tz/tz/package.nix b/pkgs/by-name/tz/tz/package.nix index c883058a725ec..7ddeb2d399e1e 100644 --- a/pkgs/by-name/tz/tz/package.nix +++ b/pkgs/by-name/tz/tz/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "tz"; diff --git a/pkgs/by-name/tz/tzdata/package.nix b/pkgs/by-name/tz/tzdata/package.nix index f21357b4ca09b..2ee4f60dc940b 100644 --- a/pkgs/by-name/tz/tzdata/package.nix +++ b/pkgs/by-name/tz/tzdata/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, buildPackages }: +{ + lib, + stdenv, + fetchurl, + buildPackages, +}: stdenv.mkDerivation (finalAttrs: { pname = "tzdata"; @@ -21,30 +26,37 @@ stdenv.mkDerivation (finalAttrs: { ./0001-Add-exe-extension-for-MS-Windows-binaries.patch ]; - outputs = [ "out" "bin" "man" "dev" ]; + outputs = [ + "out" + "bin" + "man" + "dev" + ]; propagatedBuildOutputs = [ ]; - makeFlags = [ - "TOPDIR=${placeholder "out"}" - "TZDIR=${placeholder "out"}/share/zoneinfo" - "BINDIR=${placeholder "bin"}/bin" - "ZICDIR=${placeholder "bin"}/bin" - "ETCDIR=$(TMPDIR)/etc" - "TZDEFAULT=tzdefault-to-remove" - "LIBDIR=${placeholder "dev"}/lib" - "MANDIR=${placeholder "man"}/share/man" - "AWK=awk" - "CURL=:" # disable network access - "CFLAGS=-DHAVE_LINK=0" - "CFLAGS+=-DZIC_BLOAT_DEFAULT=\\\"fat\\\"" - "cc=${stdenv.cc.targetPrefix}cc" - "AR=${stdenv.cc.targetPrefix}ar" - ] ++ lib.optionals stdenv.hostPlatform.isWindows [ - "CFLAGS+=-DHAVE_DIRECT_H" - "CFLAGS+=-DHAVE_SETENV=0" - "CFLAGS+=-DHAVE_SYMLINK=0" - "CFLAGS+=-DRESERVE_STD_EXT_IDS" - ]; + makeFlags = + [ + "TOPDIR=${placeholder "out"}" + "TZDIR=${placeholder "out"}/share/zoneinfo" + "BINDIR=${placeholder "bin"}/bin" + "ZICDIR=${placeholder "bin"}/bin" + "ETCDIR=$(TMPDIR)/etc" + "TZDEFAULT=tzdefault-to-remove" + "LIBDIR=${placeholder "dev"}/lib" + "MANDIR=${placeholder "man"}/share/man" + "AWK=awk" + "CURL=:" # disable network access + "CFLAGS=-DHAVE_LINK=0" + "CFLAGS+=-DZIC_BLOAT_DEFAULT=\\\"fat\\\"" + "cc=${stdenv.cc.targetPrefix}cc" + "AR=${stdenv.cc.targetPrefix}ar" + ] + ++ lib.optionals stdenv.hostPlatform.isWindows [ + "CFLAGS+=-DHAVE_DIRECT_H" + "CFLAGS+=-DHAVE_SETENV=0" + "CFLAGS+=-DHAVE_SYMLINK=0" + "CFLAGS+=-DRESERVE_STD_EXT_IDS" + ]; enableParallelBuilding = true; @@ -55,19 +67,18 @@ stdenv.mkDerivation (finalAttrs: { "zic=${buildPackages.tzdata.bin}/bin/zic" ]; - postInstall = - '' - rm $out/share/zoneinfo-posix - rm $out/share/zoneinfo/tzdefault-to-remove - mkdir $out/share/zoneinfo/posix - ( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix ) - mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right + postInstall = '' + rm $out/share/zoneinfo-posix + rm $out/share/zoneinfo/tzdefault-to-remove + mkdir $out/share/zoneinfo/posix + ( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix ) + mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right - cp leap-seconds.list $out/share/zoneinfo + cp leap-seconds.list $out/share/zoneinfo - mkdir -p "$dev/include" - cp tzfile.h "$dev/include/tzfile.h" - ''; + mkdir -p "$dev/include" + cp tzfile.h "$dev/include/tzfile.h" + ''; setupHook = ./tzdata-setup-hook.sh; @@ -80,6 +91,9 @@ stdenv.mkDerivation (finalAttrs: { publicDomain # tzdata ]; platforms = platforms.all; - maintainers = with maintainers; [ ajs124 fpletz ]; + maintainers = with maintainers; [ + ajs124 + fpletz + ]; }; }) diff --git a/pkgs/by-name/u0/u001-font/package.nix b/pkgs/by-name/u0/u001-font/package.nix index 0a1a552ed9cd3..0033dc5442436 100644 --- a/pkgs/by-name/u0/u001-font/package.nix +++ b/pkgs/by-name/u0/u001-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "u001"; diff --git a/pkgs/by-name/u2/u2ps/package.nix b/pkgs/by-name/u2/u2ps/package.nix index 95d46db42ed28..6c3089dbf74fb 100644 --- a/pkgs/by-name/u2/u2ps/package.nix +++ b/pkgs/by-name/u2/u2ps/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, ghostscript_headless +{ + lib, + stdenv, + fetchFromGitHub, + ghostscript_headless, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/u9/u9fs/package.nix b/pkgs/by-name/u9/u9fs/package.nix index cb85a972e034e..62a2e2777379b 100644 --- a/pkgs/by-name/u9/u9fs/package.nix +++ b/pkgs/by-name/u9/u9fs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromBitbucket }: +{ + lib, + stdenv, + fetchFromBitbucket, +}: stdenv.mkDerivation { pname = "u9fs"; @@ -12,9 +16,9 @@ stdenv.mkDerivation { }; installPhase = '' - install -Dm644 u9fs.man "$out/share/man/man4/u9fs.4" - install -Dm755 u9fs -t "$out/bin" - ''; + install -Dm644 u9fs.man "$out/share/man/man4/u9fs.4" + install -Dm755 u9fs -t "$out/bin" + ''; meta = with lib; { description = "Serve 9P from Unix"; diff --git a/pkgs/by-name/ua/ua/package.nix b/pkgs/by-name/ua/ua/package.nix index 425d7b61c4a2c..441c2e8fc2f4e 100644 --- a/pkgs/by-name/ua/ua/package.nix +++ b/pkgs/by-name/ua/ua/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, glib, libxml2 }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + glib, + libxml2, +}: buildGoModule rec { pname = "ua"; @@ -14,9 +21,15 @@ buildGoModule rec { vendorHash = "sha256-0O80uhxSVsV9N7Z/FgaLwcjZqeb4MqSCE1YW5Zd32ns="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libxml2 ]; + buildInputs = [ + glib + libxml2 + ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/sloonz/ua"; diff --git a/pkgs/by-name/ua/uacme/package.nix b/pkgs/by-name/ua/uacme/package.nix index 659ca720856b9..ede36c53a203e 100644 --- a/pkgs/by-name/ua/uacme/package.nix +++ b/pkgs/by-name/ua/uacme/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, asciidoc -, autoconf-archive -, autoreconfHook -, pkg-config -, curl -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + asciidoc, + autoconf-archive, + autoreconfHook, + pkg-config, + curl, + openssl, }: stdenv.mkDerivation rec { pname = "uacme"; diff --git a/pkgs/by-name/ua/uae/package.nix b/pkgs/by-name/ua/uae/package.nix index bfb8584aa94b4..9ef978a25e7a2 100644 --- a/pkgs/by-name/ua/uae/package.nix +++ b/pkgs/by-name/ua/uae/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, pkg-config, gtk2, alsa-lib, SDL}: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + alsa-lib, + SDL, +}: stdenv.mkDerivation rec { pname = "uae"; @@ -9,10 +17,19 @@ stdenv.mkDerivation rec { sha256 = "05s3cd1rd5a970s938qf4c2xm3l7f54g5iaqw56v8smk355m4qr4"; }; - configureFlags = [ "--with-sdl" "--with-sdl-sound" "--with-sdl-gfx" "--with-alsa" ]; + configureFlags = [ + "--with-sdl" + "--with-sdl-sound" + "--with-sdl-gfx" + "--with-alsa" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 alsa-lib SDL ]; + buildInputs = [ + gtk2 + alsa-lib + SDL + ]; hardeningDisable = [ "format" ]; # Workaround build failure on -fno-common toolchains: diff --git a/pkgs/by-name/ua/uair/package.nix b/pkgs/by-name/ua/uair/package.nix index 4d2cbd0c0a916..8dcdd62844fe0 100644 --- a/pkgs/by-name/ua/uair/package.nix +++ b/pkgs/by-name/ua/uair/package.nix @@ -1,8 +1,9 @@ -{ fetchFromGitHub -, installShellFiles -, lib -, rustPlatform -, scdoc +{ + fetchFromGitHub, + installShellFiles, + lib, + rustPlatform, + scdoc, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-n7Kaha22Rh/5AGoHUiAxnaZvHtZ+rPsmLHiUYfA0YPE="; - nativeBuildInputs = [ installShellFiles scdoc ]; + nativeBuildInputs = [ + installShellFiles + scdoc + ]; preFixup = '' scdoc < docs/uair.1.scd > docs/uair.1 diff --git a/pkgs/by-name/ua/uarmsolver/package.nix b/pkgs/by-name/ua/uarmsolver/package.nix index 2f24f782927bc..6c53ae93e32b6 100644 --- a/pkgs/by-name/ua/uarmsolver/package.nix +++ b/pkgs/by-name/ua/uarmsolver/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -9,10 +10,10 @@ stdenv.mkDerivation rec { version = "0.3.0"; src = fetchFromGitHub { - owner = "firefly-cpp"; - repo = "uARMSolver"; - rev = version; - sha256 = "sha256-IMlh6Y5iVouMZatR1uxw0gUNZBdh2qm56s+GEjcr1+M="; + owner = "firefly-cpp"; + repo = "uARMSolver"; + rev = version; + sha256 = "sha256-IMlh6Y5iVouMZatR1uxw0gUNZBdh2qm56s+GEjcr1+M="; }; nativeBuildInputs = [ cmake ]; @@ -24,9 +25,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "universal Association Rule Mining Solver"; mainProgram = "uARMSolver"; - homepage = "https://github.com/firefly-cpp/uARMSolver"; - license = licenses.mit; - platforms = platforms.linux; + homepage = "https://github.com/firefly-cpp/uARMSolver"; + license = licenses.mit; + platforms = platforms.linux; maintainers = with maintainers; [ firefly-cpp ]; }; } diff --git a/pkgs/by-name/ua/uasm/package.nix b/pkgs/by-name/ua/uasm/package.nix index 59332fa41f031..3dc47e5ccbc0f 100644 --- a/pkgs/by-name/ua/uasm/package.nix +++ b/pkgs/by-name/ua/uasm/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, testers -, uasm +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + testers, + uasm, }: stdenv.mkDerivation rec { @@ -30,11 +31,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - makefile = - if stdenv.hostPlatform.isDarwin then - "ClangOSX64.mak" - else - "gccLinux64.mak"; + makefile = if stdenv.hostPlatform.isDarwin then "ClangOSX64.mak" else "gccLinux64.mak"; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; diff --git a/pkgs/by-name/ub/ubertooth/package.nix b/pkgs/by-name/ub/ubertooth/package.nix index 2d8b9f857938d..f9f22d4db6733 100644 --- a/pkgs/by-name/ub/ubertooth/package.nix +++ b/pkgs/by-name/ub/ubertooth/package.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libbtbb, libpcap , libusb1, bluez -, udevGroup ? "ubertooth" +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libbtbb, + libpcap, + libusb1, + bluez, + udevGroup ? "ubertooth", }: stdenv.mkDerivation rec { @@ -15,8 +24,16 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/host"; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libbtbb libpcap libusb1 bluez ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libbtbb + libpcap + libusb1 + bluez + ]; cmakeFlags = lib.optionals stdenv.hostPlatform.isLinux [ "-DINSTALL_UDEV_RULES=TRUE" diff --git a/pkgs/by-name/ub/ubuntu-themes/package.nix b/pkgs/by-name/ub/ubuntu-themes/package.nix index 8f945c0d7b862..b152bcb0501e1 100644 --- a/pkgs/by-name/ub/ubuntu-themes/package.nix +++ b/pkgs/by-name/ub/ubuntu-themes/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchurl -, gnome-icon-theme -, adwaita-icon-theme -, gtk-engine-murrine -, gtk3 -, hicolor-icon-theme -, humanity-icon-theme -, python3Packages +{ + lib, + stdenv, + fetchurl, + gnome-icon-theme, + adwaita-icon-theme, + gtk-engine-murrine, + gtk3, + hicolor-icon-theme, + humanity-icon-theme, + python3Packages, }: stdenv.mkDerivation rec { @@ -69,7 +71,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Ubuntu monochrome and Suru icon themes, Ambiance and Radiance themes, and Ubuntu artwork"; homepage = "https://launchpad.net/ubuntu-themes"; - license = with licenses; [ cc-by-sa-40 gpl3 ]; + license = with licenses; [ + cc-by-sa-40 + gpl3 + ]; platforms = platforms.linux; maintainers = [ maintainers.romildo ]; }; diff --git a/pkgs/by-name/ub/ubus/package.nix b/pkgs/by-name/ub/ubus/package.nix index dede0e55657af..5c28c5aab3a52 100644 --- a/pkgs/by-name/ub/ubus/package.nix +++ b/pkgs/by-name/ub/ubus/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, cmake, fetchgit, libubox, libjson }: +{ + lib, + stdenv, + cmake, + fetchgit, + libubox, + libjson, +}: stdenv.mkDerivation { pname = "ubus"; @@ -11,12 +18,17 @@ stdenv.mkDerivation { }; cmakeFlags = [ "-DBUILD_LUA=OFF" ]; - buildInputs = [ libubox libjson ]; + buildInputs = [ + libubox + libjson + ]; nativeBuildInputs = [ cmake ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - "-Wno-error=gnu-folding-constant" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "-Wno-error=gnu-folding-constant" + ] + ); meta = with lib; { description = "OpenWrt system message/RPC bus"; diff --git a/pkgs/by-name/uc/ucarp/package.nix b/pkgs/by-name/uc/ucarp/package.nix index fc9cdf947515c..4423e00513144 100644 --- a/pkgs/by-name/uc/ucarp/package.nix +++ b/pkgs/by-name/uc/ucarp/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, libpcap, nixosTests }: +{ + stdenv, + lib, + fetchurl, + libpcap, + nixosTests, +}: stdenv.mkDerivation rec { pname = "ucarp"; @@ -30,7 +36,12 @@ stdenv.mkDerivation rec { Warning: This package has not received any upstream updates for a long time and can be considered as unmaintained. ''; - license = with licenses; [ isc bsdOriginal bsd2 gpl2Plus ]; + license = with licenses; [ + isc + bsdOriginal + bsd2 + gpl2Plus + ]; maintainers = with maintainers; [ oxzi ]; mainProgram = "ucarp"; }; diff --git a/pkgs/by-name/uc/ucblogo/package.nix b/pkgs/by-name/uc/ucblogo/package.nix index 08e3610b6fb22..0bf3a7de28da6 100644 --- a/pkgs/by-name/uc/ucblogo/package.nix +++ b/pkgs/by-name/uc/ucblogo/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, wxGTK32 -, texinfo -, tetex -, wrapGAppsHook3 -, autoconf-archive -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + wxGTK32, + texinfo, + tetex, + wrapGAppsHook3, + autoconf-archive, + autoreconfHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/uc/ucc/package.nix b/pkgs/by-name/uc/ucc/package.nix index 58dc82e3cb7b5..7c93a36f1b626 100644 --- a/pkgs/by-name/uc/ucc/package.nix +++ b/pkgs/by-name/uc/ucc/package.nix @@ -1,11 +1,18 @@ -{ stdenv, lib, fetchFromGitHub, libtool, automake, autoconf, ucx -, config -, enableCuda ? config.cudaSupport -, cudaPackages -, enableAvx ? stdenv.hostPlatform.avxSupport -, enableSse41 ? stdenv.hostPlatform.sse4_1Support -, enableSse42 ? stdenv.hostPlatform.sse4_2Support -} : +{ + stdenv, + lib, + fetchFromGitHub, + libtool, + automake, + autoconf, + ucx, + config, + enableCuda ? config.cudaSupport, + cudaPackages, + enableAvx ? stdenv.hostPlatform.avxSupport, + enableSse41 ? stdenv.hostPlatform.sse4_1Support, + enableSse42 ? stdenv.hostPlatform.sse4_2Support, +}: stdenv.mkDerivation rec { pname = "ucc"; @@ -18,7 +25,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-xcJLYktkxNK2ewWRgm8zH/dMaIoI+9JexuswXi7MpAU="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; enableParallelBuilding = true; @@ -30,25 +40,31 @@ stdenv.mkDerivation rec { done ''; - nativeBuildInputs = [ libtool automake autoconf ] - ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ]; - buildInputs = [ ucx ] + nativeBuildInputs = [ + libtool + automake + autoconf + ] ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ]; + buildInputs = + [ ucx ] ++ lib.optionals enableCuda [ cudaPackages.cuda_cccl cudaPackages.cuda_cudart ]; - - preConfigure = '' - ./autogen.sh - '' + lib.optionalString enableCuda '' - configureFlagsArray+=( "--with-nvcc-gencode=${builtins.concatStringsSep " " cudaPackages.cudaFlags.gencode}" ) - ''; - configureFlags = [ ] - ++ lib.optional enableSse41 "--with-sse41" - ++ lib.optional enableSse42 "--with-sse42" - ++ lib.optional enableAvx "--with-avx" - ++ lib.optional enableCuda "--with-cuda=${cudaPackages.cuda_cudart}"; + preConfigure = + '' + ./autogen.sh + '' + + lib.optionalString enableCuda '' + configureFlagsArray+=( "--with-nvcc-gencode=${builtins.concatStringsSep " " cudaPackages.cudaFlags.gencode}" ) + ''; + configureFlags = + [ ] + ++ lib.optional enableSse41 "--with-sse41" + ++ lib.optional enableSse42 "--with-sse42" + ++ lib.optional enableAvx "--with-avx" + ++ lib.optional enableCuda "--with-cuda=${cudaPackages.cuda_cudart}"; postInstall = '' find $out/lib/ -name "*.la" -exec rm -f \{} \; diff --git a/pkgs/by-name/uc/ucg/package.nix b/pkgs/by-name/uc/ucg/package.nix index 7ac909b256868..0b8487c312aa3 100644 --- a/pkgs/by-name/uc/ucg/package.nix +++ b/pkgs/by-name/uc/ucg/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, callPackage -, pkg-config -, pcre +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + callPackage, + pkg-config, + pcre, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Osdyxp8DoEjcr2wQLCPqOQ2zQf/0JWYxaDpZB02ACWo="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ autoreconfHook @@ -35,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { }; }; - meta = { + meta = { homepage = "https://gvansickle.github.io/ucg/"; description = "Grep-like tool for searching large bodies of source code"; longDescription = '' diff --git a/pkgs/by-name/uc/ucg/tests/simple.nix b/pkgs/by-name/uc/ucg/tests/simple.nix index 033f408ce1b7e..0d90c2fa15f32 100644 --- a/pkgs/by-name/uc/ucg/tests/simple.nix +++ b/pkgs/by-name/uc/ucg/tests/simple.nix @@ -1,5 +1,6 @@ -{ stdenv -, ucg +{ + stdenv, + ucg, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/uc/uchecker/package.nix b/pkgs/by-name/uc/uchecker/package.nix index e3729be50ece7..19a627d6b9626 100644 --- a/pkgs/by-name/uc/uchecker/package.nix +++ b/pkgs/by-name/uc/uchecker/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchpatch +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/uc/uchess/package.nix b/pkgs/by-name/uc/uchess/package.nix index fd0884bf6b184..232262a17a206 100644 --- a/pkgs/by-name/uc/uchess/package.nix +++ b/pkgs/by-name/uc/uchess/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, stockfish }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + stockfish, +}: buildGoModule rec { pname = "uchess"; diff --git a/pkgs/by-name/uc/uci/package.nix b/pkgs/by-name/uc/uci/package.nix index 55281e78ac744..d6318106a3fe8 100644 --- a/pkgs/by-name/uc/uci/package.nix +++ b/pkgs/by-name/uc/uci/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, cmake, fetchgit, pkg-config, libubox }: +{ + lib, + stdenv, + cmake, + fetchgit, + pkg-config, + libubox, +}: stdenv.mkDerivation { pname = "uci"; @@ -13,7 +20,10 @@ stdenv.mkDerivation { hardeningDisable = [ "all" ]; cmakeFlags = [ "-DBUILD_LUA=OFF" ]; buildInputs = [ libubox ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "OpenWrt Unified Configuration Interface"; diff --git a/pkgs/by-name/uc/ucl/package.nix b/pkgs/by-name/uc/ucl/package.nix index d8e05e9374bfa..fed243d117a28 100644 --- a/pkgs/by-name/uc/ucl/package.nix +++ b/pkgs/by-name/uc/ucl/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ucl"; diff --git a/pkgs/by-name/uc/uclibc-ng/package.nix b/pkgs/by-name/uc/uclibc-ng/package.nix index 8869dce9d187e..96c035e56192c 100644 --- a/pkgs/by-name/uc/uclibc-ng/package.nix +++ b/pkgs/by-name/uc/uclibc-ng/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoLibc -, buildPackages -, fetchurl -, gitUpdater -, linuxHeaders -, libiconvReal -, extraConfig ? "" +{ + lib, + stdenvNoLibc, + buildPackages, + fetchurl, + gitUpdater, + linuxHeaders, + libiconvReal, + extraConfig ? "", }: let @@ -35,28 +36,31 @@ let ''; # UCLIBC_SUSV4_LEGACY defines 'tmpnam', needed for gcc libstdc++ builds. - nixConfig = '' - RUNTIME_PREFIX "/" - DEVEL_PREFIX "/" - UCLIBC_HAS_WCHAR y - UCLIBC_HAS_FTW y - UCLIBC_HAS_RPC y - DO_C99_MATH y - UCLIBC_HAS_PROGRAM_INVOCATION_NAME y - UCLIBC_HAS_RESOLVER_SUPPORT y - UCLIBC_SUSV4_LEGACY y - UCLIBC_HAS_THREADS_NATIVE y - KERNEL_HEADERS "${linuxHeaders}/include" - '' + lib.optionalString (stdenv.hostPlatform.gcc.float or "" == "soft") '' - UCLIBC_HAS_FPU n - '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && isCross) '' - CONFIG_ARM_EABI y - ARCH_WANTS_BIG_ENDIAN n - ARCH_BIG_ENDIAN n - ARCH_WANTS_LITTLE_ENDIAN y - ARCH_LITTLE_ENDIAN y - UCLIBC_HAS_FPU n - ''; + nixConfig = + '' + RUNTIME_PREFIX "/" + DEVEL_PREFIX "/" + UCLIBC_HAS_WCHAR y + UCLIBC_HAS_FTW y + UCLIBC_HAS_RPC y + DO_C99_MATH y + UCLIBC_HAS_PROGRAM_INVOCATION_NAME y + UCLIBC_HAS_RESOLVER_SUPPORT y + UCLIBC_SUSV4_LEGACY y + UCLIBC_HAS_THREADS_NATIVE y + KERNEL_HEADERS "${linuxHeaders}/include" + '' + + lib.optionalString (stdenv.hostPlatform.gcc.float or "" == "soft") '' + UCLIBC_HAS_FPU n + '' + + lib.optionalString (stdenv.hostPlatform.isAarch32 && isCross) '' + CONFIG_ARM_EABI y + ARCH_WANTS_BIG_ENDIAN n + ARCH_BIG_ENDIAN n + ARCH_WANTS_LITTLE_ENDIAN y + ARCH_LITTLE_ENDIAN y + UCLIBC_HAS_FPU n + ''; in stdenv.mkDerivation (finalAttrs: { pname = "uclibc-ng"; @@ -86,13 +90,15 @@ stdenv.mkDerivation (finalAttrs: { depsBuildBuild = [ buildPackages.stdenv.cc ]; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - "TARGET_ARCH=${stdenv.hostPlatform.linuxArch}" - "VERBOSE=1" - ] ++ lib.optionals (isCross) [ - "CROSS=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + "TARGET_ARCH=${stdenv.hostPlatform.linuxArch}" + "VERBOSE=1" + ] + ++ lib.optionals (isCross) [ + "CROSS=${stdenv.cc.targetPrefix}" + ]; # `make libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.h`: # error: bits/sysnum.h: No such file or directory @@ -140,7 +146,10 @@ stdenv.mkDerivation (finalAttrs: { experimental and need more testing. ''; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ rasendubi AndersonTorres ]; + maintainers = with lib.maintainers; [ + rasendubi + AndersonTorres + ]; platforms = lib.platforms.linux; badPlatforms = lib.platforms.aarch64; }; diff --git a/pkgs/by-name/uc/uclient/package.nix b/pkgs/by-name/uc/uclient/package.nix index f758c00810edb..a80896b15c92b 100644 --- a/pkgs/by-name/uc/uclient/package.nix +++ b/pkgs/by-name/uc/uclient/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchgit, cmake, pkg-config, libubox }: +{ + stdenv, + lib, + fetchgit, + cmake, + pkg-config, + libubox, +}: stdenv.mkDerivation { pname = "uclient"; @@ -10,7 +17,10 @@ stdenv.mkDerivation { hash = "sha256-A47dyVc2MtOL6aImZ0b3SMWH2vzjfAXzRAOF4nfH6S0="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buidInputs = [ libubox ]; preConfigure = '' diff --git a/pkgs/by-name/uc/ucode/package.nix b/pkgs/by-name/uc/ucode/package.nix index 9998b24df0826..8395bff407fc3 100644 --- a/pkgs/by-name/uc/ucode/package.nix +++ b/pkgs/by-name/uc/ucode/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, json_c +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + json_c, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/uc/ucommon/package.nix b/pkgs/by-name/uc/ucommon/package.nix index 4ee7a90dd3108..b91c0461ed094 100644 --- a/pkgs/by-name/uc/ucommon/package.nix +++ b/pkgs/by-name/uc/ucommon/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl, pkg-config -, gnutls +{ + lib, + stdenv, + fetchurl, + pkg-config, + gnutls, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/uc/ucs-fonts/package.nix b/pkgs/by-name/uc/ucs-fonts/package.nix index e9d78dd03a7c8..6058f6e92eebf 100644 --- a/pkgs/by-name/uc/ucs-fonts/package.nix +++ b/pkgs/by-name/uc/ucs-fonts/package.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, bdftopcf -, libfaketime, xorg +{ + lib, + stdenv, + fetchurl, + bdftopcf, + libfaketime, + xorg, }: stdenv.mkDerivation { @@ -23,10 +28,12 @@ stdenv.mkDerivation { sourceRoot = "."; - nativeBuildInputs = - [ bdftopcf libfaketime xorg.fonttosfnt - xorg.mkfontscale - ]; + nativeBuildInputs = [ + bdftopcf + libfaketime + xorg.fonttosfnt + xorg.mkfontscale + ]; buildPhase = '' for i in *.bdf; do @@ -49,7 +56,10 @@ stdenv.mkDerivation { mkfontdir "$bdf/share/fonts/misc" ''; - outputs = [ "out" "bdf" ]; + outputs = [ + "out" + "bdf" + ]; meta = with lib; { homepage = "https://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html"; diff --git a/pkgs/by-name/uc/ucspi-tcp/package.nix b/pkgs/by-name/uc/ucspi-tcp/package.nix index 4b307079266b1..40a5533d332f4 100644 --- a/pkgs/by-name/uc/ucspi-tcp/package.nix +++ b/pkgs/by-name/uc/ucspi-tcp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "ucspi-tcp"; diff --git a/pkgs/by-name/uc/ucx/package.nix b/pkgs/by-name/uc/ucx/package.nix index 8f134cd594e3c..87fb2eaaf824e 100644 --- a/pkgs/by-name/uc/ucx/package.nix +++ b/pkgs/by-name/uc/ucx/package.nix @@ -1,15 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, doxygen, numactl -, rdma-core, libbfd, libiberty, perl, zlib, symlinkJoin, pkg-config -, config -, autoAddDriverRunpath -, enableCuda ? config.cudaSupport -, cudaPackages -, enableRocm ? config.rocmSupport -, rocmPackages +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + doxygen, + numactl, + rdma-core, + libbfd, + libiberty, + perl, + zlib, + symlinkJoin, + pkg-config, + config, + autoAddDriverRunpath, + enableCuda ? config.cudaSupport, + cudaPackages, + enableRocm ? config.rocmSupport, + rocmPackages, }: let - rocmList = with rocmPackages; [ rocm-core rocm-runtime rocm-device-libs clr ]; + rocmList = with rocmPackages; [ + rocm-core + rocm-runtime + rocm-device-libs + clr + ]; rocm = symlinkJoin { name = "rocm"; @@ -28,44 +45,54 @@ stdenv.mkDerivation rec { sha256 = "sha256-Qd3c51LeF04haZA4wK6loNZwX2a3ju+ljwdPYPoUKCQ="; }; - outputs = [ "out" "doc" "dev" ]; - - nativeBuildInputs = [ - autoreconfHook - doxygen - pkg-config - ] - ++ lib.optionals enableCuda [ - cudaPackages.cuda_nvcc - autoAddDriverRunpath + outputs = [ + "out" + "doc" + "dev" ]; - buildInputs = [ - libbfd - libiberty - numactl - perl - rdma-core - zlib - ] ++ lib.optionals enableCuda [ - cudaPackages.cuda_cudart - cudaPackages.cuda_nvml_dev + nativeBuildInputs = + [ + autoreconfHook + doxygen + pkg-config + ] + ++ lib.optionals enableCuda [ + cudaPackages.cuda_nvcc + autoAddDriverRunpath + ]; + + buildInputs = + [ + libbfd + libiberty + numactl + perl + rdma-core + zlib + ] + ++ lib.optionals enableCuda [ + cudaPackages.cuda_cudart + cudaPackages.cuda_nvml_dev - ] ++ lib.optionals enableRocm rocmList; + ] + ++ lib.optionals enableRocm rocmList; LDFLAGS = lib.optionals enableCuda [ # Fake libnvidia-ml.so (the real one is deployed impurely) "-L${lib.getLib cudaPackages.cuda_nvml_dev}/lib/stubs" ]; - configureFlags = [ - "--with-rdmacm=${lib.getDev rdma-core}" - "--with-dc" - "--with-rc" - "--with-dm" - "--with-verbs=${lib.getDev rdma-core}" - ] ++ lib.optionals enableCuda [ "--with-cuda=${cudaPackages.cuda_cudart}" ] - ++ lib.optional enableRocm "--with-rocm=${rocm}"; + configureFlags = + [ + "--with-rdmacm=${lib.getDev rdma-core}" + "--with-dc" + "--with-rc" + "--with-dm" + "--with-verbs=${lib.getDev rdma-core}" + ] + ++ lib.optionals enableCuda [ "--with-cuda=${cudaPackages.cuda_cudart}" ] + ++ lib.optional enableRocm "--with-rocm=${rocm}"; postInstall = '' find $out/lib/ -name "*.la" -exec rm -f \{} \; diff --git a/pkgs/by-name/ud/uddup/package.nix b/pkgs/by-name/ud/uddup/package.nix index 4d850b016f9fc..00045852ee985 100644 --- a/pkgs/by-name/ud/uddup/package.nix +++ b/pkgs/by-name/ud/uddup/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ud/udebug/package.nix b/pkgs/by-name/ud/udebug/package.nix index d52b713418a68..eb21aab56c843 100644 --- a/pkgs/by-name/ud/udebug/package.nix +++ b/pkgs/by-name/ud/udebug/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, cmake -, fetchgit -, pkg-config -, ubus -, libubox -, ucode -, json_c +{ + lib, + stdenv, + cmake, + fetchgit, + pkg-config, + ubus, + libubox, + ucode, + json_c, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ud/udev-gothic-nf/package.nix b/pkgs/by-name/ud/udev-gothic-nf/package.nix index 6b1b744ad2ec7..9e8d24aadb401 100644 --- a/pkgs/by-name/ud/udev-gothic-nf/package.nix +++ b/pkgs/by-name/ud/udev-gothic-nf/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "udev-gothic-nf"; diff --git a/pkgs/by-name/ud/udev-gothic/package.nix b/pkgs/by-name/ud/udev-gothic/package.nix index 0ec9d58301b84..dfb24eac56d53 100644 --- a/pkgs/by-name/ud/udev-gothic/package.nix +++ b/pkgs/by-name/ud/udev-gothic/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "udev-gothic"; diff --git a/pkgs/by-name/ud/udevil/package.nix b/pkgs/by-name/ud/udevil/package.nix index 0da470f9a99fd..d30a5b8c767c6 100644 --- a/pkgs/by-name/ud/udevil/package.nix +++ b/pkgs/by-name/ud/udevil/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, acl -, glib -, intltool -, pkg-config -, udev -, util-linux +{ + lib, + stdenv, + fetchFromGitHub, + acl, + glib, + intltool, + pkg-config, + udev, + util-linux, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "0nd44r8rbxifx4x4m24z5aji1c6k1fhw8cmf5s43wd5qys0bcdad"; }; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ glib diff --git a/pkgs/by-name/ud/udftools/package.nix b/pkgs/by-name/ud/udftools/package.nix index f50f98d33dc25..4d908eccb03c5 100644 --- a/pkgs/by-name/ud/udftools/package.nix +++ b/pkgs/by-name/ud/udftools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, readline, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + readline, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "udftools"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "0mz04h3rki6ljwfs15z83gf4vv816w7xgz923waiqgmfj9xpvx87"; }; - buildInputs = [ ncurses readline ]; + buildInputs = [ + ncurses + readline + ]; nativeBuildInputs = [ autoreconfHook ]; hardeningDisable = [ "fortify" ]; diff --git a/pkgs/by-name/ud/udict/package.nix b/pkgs/by-name/ud/udict/package.nix index 42f2585ec439b..121e30e664ed8 100644 --- a/pkgs/by-name/ud/udict/package.nix +++ b/pkgs/by-name/ud/udict/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, darwin +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,12 +29,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "Urban Dictionary CLI - written in Rust"; diff --git a/pkgs/by-name/ud/udig/package.nix b/pkgs/by-name/ud/udig/package.nix index 04740f55b0654..17696713099ad 100644 --- a/pkgs/by-name/ud/udig/package.nix +++ b/pkgs/by-name/ud/udig/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchurl, unzip, makeWrapper, jre8, libXtst, gdal }: +{ + stdenv, + lib, + fetchurl, + unzip, + makeWrapper, + jre8, + libXtst, + gdal, +}: let pname = "udig"; version = "2.0.0"; @@ -13,29 +22,46 @@ let hash = "sha256-Ihk3InHB3/tEYRqH2ozhokz2GN8Gfig5DJkO/8P1LJs="; }; }; - src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); meta = with lib; { description = "User-friendly Desktop Internet GIS"; homepage = "http://udig.refractions.net/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; [ epl10 bsd3 ]; + license = with licenses; [ + epl10 + bsd3 + ]; maintainers = with maintainers; [ sikmir ]; platforms = builtins.attrNames srcs; mainProgram = "udig"; }; linux = stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; installPhase = '' install -dm755 $out/bin $out/opt/udig cp -r . $out/opt/udig makeWrapper $out/opt/udig/udig.sh $out/bin/udig \ --prefix PATH : ${jre8}/bin \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ libXtst gdal ])} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath ([ + libXtst + gdal + ]) + } ''; postFixup = '' @@ -46,9 +72,17 @@ let }; darwin = stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; postPatch = '' substituteInPlace configuration/config.ini \ @@ -63,6 +97,4 @@ let ''; }; in -if stdenv.hostPlatform.isDarwin -then darwin -else linux +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/by-name/ud/udis86/package.nix b/pkgs/by-name/ud/udis86/package.nix index 14a594a827da7..e0121bbbd8479 100644 --- a/pkgs/by-name/ud/udis86/package.nix +++ b/pkgs/by-name/ud/udis86/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + python3, }: stdenv.mkDerivation rec { @@ -25,13 +26,21 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook python3 ]; + nativeBuildInputs = [ + autoreconfHook + python3 + ]; configureFlags = [ "--enable-shared" ]; - outputs = [ "bin" "out" "dev" "lib" ]; + outputs = [ + "bin" + "out" + "dev" + "lib" + ]; meta = with lib; { homepage = "https://udis86.sourceforge.net"; diff --git a/pkgs/by-name/ud/udiskie/package.nix b/pkgs/by-name/ud/udiskie/package.nix index 50abfb13e57ed..e1d1f0d430461 100644 --- a/pkgs/by-name/ud/udiskie/package.nix +++ b/pkgs/by-name/ud/udiskie/package.nix @@ -1,17 +1,18 @@ -{ lib -, asciidoc -, fetchFromGitHub -, gobject-introspection -, gtk3 -, installShellFiles -, libappindicator-gtk3 -, libnotify -, librsvg -, python3Packages -, udisks2 -, wrapGAppsHook3 -, testers -, udiskie +{ + lib, + asciidoc, + fetchFromGitHub, + gobject-introspection, + gtk3, + installShellFiles, + libappindicator-gtk3, + libnotify, + librsvg, + python3Packages, + udisks2, + wrapGAppsHook3, + testers, + udiskie, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ud/udns/package.nix b/pkgs/by-name/ud/udns/package.nix index 5dad256063b40..abc1d21d27f4e 100644 --- a/pkgs/by-name/ud/udns/package.nix +++ b/pkgs/by-name/ud/udns/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: # this expression is mostly based on debian's packaging # https://tracker.debian.org/media/packages/u/udns/rules-0.6-1 diff --git a/pkgs/by-name/ud/udocker/package.nix b/pkgs/by-name/ud/udocker/package.nix index 25ae2fe9ee33b..d0c6b6c2a23f1 100644 --- a/pkgs/by-name/ud/udocker/package.nix +++ b/pkgs/by-name/ud/udocker/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, singularity -, python3Packages -, testers -, udocker +{ + lib, + fetchFromGitHub, + singularity, + python3Packages, + testers, + udocker, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ud/udp2raw/package.nix b/pkgs/by-name/ud/udp2raw/package.nix index 8844e375d19e3..28f7b6bc10c61 100644 --- a/pkgs/by-name/ud/udp2raw/package.nix +++ b/pkgs/by-name/ud/udp2raw/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, makeWrapper -, iptables +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + makeWrapper, + iptables, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ud/udpreplay/package.nix b/pkgs/by-name/ud/udpreplay/package.nix index 53147a9fe7a44..3367597e688c9 100644 --- a/pkgs/by-name/ud/udpreplay/package.nix +++ b/pkgs/by-name/ud/udpreplay/package.nix @@ -1,4 +1,10 @@ -{ stdenv, cmake, libpcap, fetchFromGitHub, lib }: +{ + stdenv, + cmake, + libpcap, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation rec { pname = "updreplay"; version = "1.1.0"; diff --git a/pkgs/by-name/ud/udptunnel/package.nix b/pkgs/by-name/ud/udptunnel/package.nix index e7b2832b40b57..1bc9c190e7f8b 100644 --- a/pkgs/by-name/ud/udptunnel/package.nix +++ b/pkgs/by-name/ud/udptunnel/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "udptunnel"; diff --git a/pkgs/by-name/ud/udpx/package.nix b/pkgs/by-name/ud/udpx/package.nix index f240057a2b6d0..6ae7e7d90f952 100644 --- a/pkgs/by-name/ud/udpx/package.nix +++ b/pkgs/by-name/ud/udpx/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ud/udunits/package.nix b/pkgs/by-name/ud/udunits/package.nix index 394058a3315c5..c541797022a43 100644 --- a/pkgs/by-name/ud/udunits/package.nix +++ b/pkgs/by-name/ud/udunits/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, bison -, expat -, file -, flex -, texinfo +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + expat, + file, + flex, + texinfo, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ue/ueberzugpp/package.nix b/pkgs/by-name/ue/ueberzugpp/package.nix index 0422c54a9d16e..7fcfb6099a40a 100644 --- a/pkgs/by-name/ue/ueberzugpp/package.nix +++ b/pkgs/by-name/ue/ueberzugpp/package.nix @@ -1,32 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, openssl -, zeromq -, cppzmq -, tbb_2021_11 -, spdlog -, libsodium -, fmt -, vips -, nlohmann_json -, libsixel -, microsoft-gsl -, chafa -, cli11 -, libexif -, range-v3 -, enableOpencv ? stdenv.hostPlatform.isLinux -, opencv -, enableWayland ? stdenv.hostPlatform.isLinux -, extra-cmake-modules -, wayland -, wayland-protocols -, wayland-scanner -, enableX11 ? stdenv.hostPlatform.isLinux -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + openssl, + zeromq, + cppzmq, + tbb_2021_11, + spdlog, + libsodium, + fmt, + vips, + nlohmann_json, + libsixel, + microsoft-gsl, + chafa, + cli11, + libexif, + range-v3, + enableOpencv ? stdenv.hostPlatform.isLinux, + opencv, + enableWayland ? stdenv.hostPlatform.isLinux, + extra-cmake-modules, + wayland, + wayland-protocols, + wayland-scanner, + enableX11 ? stdenv.hostPlatform.isLinux, + xorg, }: stdenv.mkDerivation rec { @@ -42,58 +43,73 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals enableWayland [ - wayland-scanner - ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals enableWayland [ + wayland-scanner + ]; - buildInputs = [ - openssl - zeromq - cppzmq - tbb_2021_11 - spdlog - libsodium - fmt - vips - nlohmann_json - libsixel - microsoft-gsl - chafa - cli11 - libexif - range-v3 - ] ++ lib.optionals enableOpencv [ - opencv - ] ++ lib.optionals enableWayland [ - extra-cmake-modules - wayland - wayland-protocols - ] ++ lib.optionals enableX11 [ - xorg.libX11 - xorg.xcbutilimage - ]; + buildInputs = + [ + openssl + zeromq + cppzmq + tbb_2021_11 + spdlog + libsodium + fmt + vips + nlohmann_json + libsixel + microsoft-gsl + chafa + cli11 + libexif + range-v3 + ] + ++ lib.optionals enableOpencv [ + opencv + ] + ++ lib.optionals enableWayland [ + extra-cmake-modules + wayland + wayland-protocols + ] + ++ lib.optionals enableX11 [ + xorg.libX11 + xorg.xcbutilimage + ]; - cmakeFlags = lib.optionals (!enableOpencv) [ - "-DENABLE_OPENCV=OFF" - ] ++ lib.optionals enableWayland [ - "-DENABLE_WAYLAND=ON" - ] ++ lib.optionals (!enableX11) [ - "-DENABLE_X11=OFF" - ]; + cmakeFlags = + lib.optionals (!enableOpencv) [ + "-DENABLE_OPENCV=OFF" + ] + ++ lib.optionals enableWayland [ + "-DENABLE_WAYLAND=ON" + ] + ++ lib.optionals (!enableX11) [ + "-DENABLE_X11=OFF" + ]; # error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.14 or newer - preBuild = lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11.0") '' - export MACOSX_DEPLOYMENT_TARGET=10.14 - ''; + preBuild = + lib.optionalString + (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11.0") + '' + export MACOSX_DEPLOYMENT_TARGET=10.14 + ''; meta = with lib; { description = "Drop in replacement for ueberzug written in C++"; homepage = "https://github.com/jstkdng/ueberzugpp"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ aleksana wegank ]; + maintainers = with maintainers; [ + aleksana + wegank + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/ue/uefi-run/package.nix b/pkgs/by-name/ue/uefi-run/package.nix index e2e00c513eaac..ba0650cdcfea7 100644 --- a/pkgs/by-name/ue/uefi-run/package.nix +++ b/pkgs/by-name/ue/uefi-run/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ue/uefisettings/package.nix b/pkgs/by-name/ue/uefisettings/package.nix index 3315a5da78882..d93f9650dc8fc 100644 --- a/pkgs/by-name/ue/uefisettings/package.nix +++ b/pkgs/by-name/ue/uefisettings/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitHub -, lib -, rustPlatform +{ + fetchFromGitHub, + lib, + rustPlatform, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/ue/uemacs/package.nix b/pkgs/by-name/ue/uemacs/package.nix index 4ed609868666a..f5c92580fc6bb 100644 --- a/pkgs/by-name/ue/uemacs/package.nix +++ b/pkgs/by-name/ue/uemacs/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchgit -, ncurses +{ + lib, + stdenv, + fetchgit, + ncurses, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ue/ueviewer/package.nix b/pkgs/by-name/ue/ueviewer/package.nix index 7ce9fc3d18dab..935c638d76e4c 100644 --- a/pkgs/by-name/ue/ueviewer/package.nix +++ b/pkgs/by-name/ue/ueviewer/package.nix @@ -1,12 +1,13 @@ -{ gccStdenv -, lib -, fetchFromGitHub -, fetchpatch -, unstableGitUpdater -, libpng -, perl -, SDL2 -, zlib +{ + gccStdenv, + lib, + fetchFromGitHub, + fetchpatch, + unstableGitUpdater, + libpng, + perl, + SDL2, + zlib, }: gccStdenv.mkDerivation (finalAttrs: { @@ -55,12 +56,14 @@ gccStdenv.mkDerivation (finalAttrs: { perl ]; - buildInputs = [ - libpng - zlib - ] ++ lib.optionals (!gccStdenv.hostPlatform.isDarwin) [ - SDL2 - ]; + buildInputs = + [ + libpng + zlib + ] + ++ lib.optionals (!gccStdenv.hostPlatform.isDarwin) [ + SDL2 + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/uf/ufiformat/package.nix b/pkgs/by-name/uf/ufiformat/package.nix index 52204a073ae78..c830b3ac9dfb0 100644 --- a/pkgs/by-name/uf/ufiformat/package.nix +++ b/pkgs/by-name/uf/ufiformat/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, e2fsprogs -, fetchFromGitHub -, lib +{ + stdenv, + e2fsprogs, + fetchFromGitHub, + lib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/uf/ufoai/package.nix b/pkgs/by-name/uf/ufoai/package.nix index ecaaa26a4d217..54097f40af115 100644 --- a/pkgs/by-name/uf/ufoai/package.nix +++ b/pkgs/by-name/uf/ufoai/package.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchurl, libtheora, xvidcore, libGLU, libGL, SDL, SDL_ttf, SDL_mixer -, curl, libjpeg, libpng, gettext, cunit, enableEditor?false }: +{ + lib, + stdenv, + fetchurl, + libtheora, + xvidcore, + libGLU, + libGL, + SDL, + SDL_ttf, + SDL_mixer, + curl, + libjpeg, + libpng, + gettext, + cunit, + enableEditor ? false, +}: stdenv.mkDerivation rec { pname = "ufoai"; @@ -23,12 +39,24 @@ stdenv.mkDerivation rec { preConfigure = ''tar xvf "${srcData}"''; - configureFlags = [ "--enable-release" "--enable-sse" ] - ++ lib.optional enableEditor "--enable-uforadiant"; + configureFlags = [ + "--enable-release" + "--enable-sse" + ] ++ lib.optional enableEditor "--enable-uforadiant"; buildInputs = [ - libtheora xvidcore libGLU libGL SDL SDL_ttf SDL_mixer - curl libjpeg libpng gettext cunit + libtheora + xvidcore + libGLU + libGL + SDL + SDL_ttf + SDL_mixer + curl + libjpeg + libpng + gettext + cunit ]; NIX_CFLAGS_LINK = [ @@ -45,6 +73,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = [ ]; platforms = lib.platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/uf/uftp/package.nix b/pkgs/by-name/uf/uftp/package.nix index e2251e1a20c8f..831493a3c622d 100644 --- a/pkgs/by-name/uf/uftp/package.nix +++ b/pkgs/by-name/uf/uftp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, openssl }: +{ + lib, + stdenv, + fetchurl, + openssl, +}: stdenv.mkDerivation rec { pname = "uftp"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { buildInputs = [ openssl ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; patchPhase = '' substituteInPlace makefile --replace gcc cc diff --git a/pkgs/by-name/uf/uftpd/package.nix b/pkgs/by-name/uf/uftpd/package.nix index 34557b955a136..fd1aa0aad2a71 100644 --- a/pkgs/by-name/uf/uftpd/package.nix +++ b/pkgs/by-name/uf/uftpd/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libuev, libite }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + libuev, + libite, +}: stdenv.mkDerivation rec { pname = "uftpd"; @@ -11,8 +19,14 @@ stdenv.mkDerivation rec { hash = "sha256-+y1eRPUgYf5laRFIDD1XOEfonPP8QMJNCSkmHlXIjdY="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ libuev libite ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + libuev + libite + ]; meta = with lib; { description = "FTP/TFTP server for Linux that just works™"; diff --git a/pkgs/by-name/uf/uftrace/package.nix b/pkgs/by-name/uf/uftrace/package.nix index 8b8f9d80feb18..cf051a23f5b50 100644 --- a/pkgs/by-name/uf/uftrace/package.nix +++ b/pkgs/by-name/uf/uftrace/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, pandoc -, capstone -, elfutils -, libtraceevent -, ncurses -, withLuaJIT ? false -, luajit -, withPython ? false -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + pandoc, + capstone, + elfutils, + libtraceevent, + ncurses, + withLuaJIT ? false, + luajit, + withPython ? false, + python3, }: stdenv.mkDerivation rec { @@ -24,9 +25,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-JuBwyE6JH3CpJH863LbnWELUIIEKVaAcz8h8beeABGQ="; }; - nativeBuildInputs = [ pkg-config pandoc ]; + nativeBuildInputs = [ + pkg-config + pandoc + ]; buildInputs = - [ capstone elfutils libtraceevent ncurses ] + [ + capstone + elfutils + libtraceevent + ncurses + ] ++ lib.optional withLuaJIT luajit ++ lib.optional withPython python3; diff --git a/pkgs/by-name/ug/uget-integrator/package.nix b/pkgs/by-name/ug/uget-integrator/package.nix index 3ab9a0bafef4d..cda04712302ff 100644 --- a/pkgs/by-name/ug/uget-integrator/package.nix +++ b/pkgs/by-name/ug/uget-integrator/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, uget, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + uget, + python3Packages, +}: stdenv.mkDerivation rec { pname = "uget-integrator"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ python3Packages.wrapPython ]; - buildInputs = [ uget python3Packages.python ]; + buildInputs = [ + uget + python3Packages.python + ]; installPhase = '' for f in conf/com.ugetdm.{chrome,firefox}.json; do diff --git a/pkgs/by-name/ug/uget/package.nix b/pkgs/by-name/ug/uget/package.nix index a2387f838ff52..fd90e58161b1e 100644 --- a/pkgs/by-name/ug/uget/package.nix +++ b/pkgs/by-name/ug/uget/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, openssl, curl, libnotify, - libappindicator-gtk3, gst_all_1, gtk3, dconf, wrapGAppsHook3, aria2 ? null +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + openssl, + curl, + libnotify, + libappindicator-gtk3, + gst_all_1, + gtk3, + dconf, + wrapGAppsHook3, + aria2 ? null, }: stdenv.mkDerivation rec { @@ -24,21 +37,27 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ - openssl - curl - libnotify - libappindicator-gtk3 - gtk3 - (lib.getLib dconf) - ] - ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]) - ++ (lib.optional (aria2 != null) aria2); + buildInputs = + [ + openssl + curl + libnotify + libappindicator-gtk3 + gtk3 + (lib.getLib dconf) + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + ]) + ++ (lib.optional (aria2 != null) aria2); enableParallelBuilding = true; - preFixup = lib.optionalString (aria2 != null) - ''gappsWrapperArgs+=(--suffix PATH : "${aria2}/bin")''; + preFixup = lib.optionalString ( + aria2 != null + ) ''gappsWrapperArgs+=(--suffix PATH : "${aria2}/bin")''; meta = with lib; { description = "Download manager using GTK and libcurl"; diff --git a/pkgs/by-name/ug/ugm/package.nix b/pkgs/by-name/ug/ugm/package.nix index 05881924b4bf6..db5fe787f3190 100644 --- a/pkgs/by-name/ug/ugm/package.nix +++ b/pkgs/by-name/ug/ugm/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, nix-update-script +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + nix-update-script, }: buildGoModule rec { @@ -26,7 +27,7 @@ buildGoModule rec { --set RUNEWIDTH_EASTASIAN 0 ''; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Terminal based UNIX user and group browser"; diff --git a/pkgs/by-name/ug/ugrep-indexer/package.nix b/pkgs/by-name/ug/ugrep-indexer/package.nix index 2dd2cde3a266e..2ee64420e663d 100644 --- a/pkgs/by-name/ug/ugrep-indexer/package.nix +++ b/pkgs/by-name/ug/ugrep-indexer/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, brotli -, bzip2 -, lz4 -, xz -, zlib -, zstd +{ + lib, + stdenv, + fetchFromGitHub, + brotli, + bzip2, + lz4, + xz, + zlib, + zstd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ug/ugrep/package.nix b/pkgs/by-name/ug/ugrep/package.nix index 5b1bce33d9326..75721981a9433 100644 --- a/pkgs/by-name/ug/ugrep/package.nix +++ b/pkgs/by-name/ug/ugrep/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, brotli -, bzip2 -, bzip3 -, lz4 -, makeWrapper -, pcre2 -, testers -, xz -, zlib -, zstd +{ + lib, + stdenv, + fetchFromGitHub, + boost, + brotli, + bzip2, + bzip3, + lz4, + makeWrapper, + pcre2, + testers, + xz, + zlib, + zstd, }: stdenv.mkDerivation (finalAttrs: { @@ -55,7 +56,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Ultra fast grep with interactive query UI"; homepage = "https://github.com/Genivia/ugrep"; changelog = "https://github.com/Genivia/ugrep/releases/tag/v${finalAttrs.version}"; - maintainers = with maintainers; [ numkem mikaelfangel ]; + maintainers = with maintainers; [ + numkem + mikaelfangel + ]; license = licenses.bsd3; platforms = platforms.all; mainProgram = "ug"; diff --git a/pkgs/by-name/ug/ugs/package.nix b/pkgs/by-name/ug/ugs/package.nix index caf738f0f2b45..96703d2d4b2e0 100644 --- a/pkgs/by-name/ug/ugs/package.nix +++ b/pkgs/by-name/ug/ugs/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, copyDesktopItems -, makeDesktopItem -, makeWrapper -, jre -, fetchzip +{ + stdenv, + lib, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + jre, + fetchzip, }: let desktopItem = makeDesktopItem { @@ -27,7 +28,10 @@ stdenv.mkDerivation rec { dontUnpack = true; - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ug/ugtrain/package.nix b/pkgs/by-name/ug/ugtrain/package.nix index 868700d642996..c355dfbb30f18 100644 --- a/pkgs/by-name/ug/ugtrain/package.nix +++ b/pkgs/by-name/ug/ugtrain/package.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, scanmem +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + scanmem, }: stdenv.mkDerivation rec { @@ -10,13 +12,17 @@ stdenv.mkDerivation rec { pname = "ugtrain"; src = fetchFromGitHub { - owner = "ugtrain"; - repo = "ugtrain"; - rev = "v${version}"; + owner = "ugtrain"; + repo = "ugtrain"; + rev = "v${version}"; sha256 = "0pw9lm8y83mda7x39874ax2147818h1wcibi83pd2x4rp1hjbkkn"; }; - nativeBuildInputs = [ autoreconfHook pkg-config scanmem ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + scanmem + ]; meta = with lib; { homepage = "https://github.com/ugtrain/ugtrain"; diff --git a/pkgs/by-name/uh/uhdm/package.nix b/pkgs/by-name/uh/uhdm/package.nix index 0b647eaafc211..2bb3722cb2664 100644 --- a/pkgs/by-name/uh/uhdm/package.nix +++ b/pkgs/by-name/uh/uhdm/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 -, capnproto -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + capnproto, + gtest, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { # After we're back on a stable tag, use v${finalAttrs.version} rev = "857f68de3ce5b6f919f3a0f489c93072751b1578"; hash = "sha256-qHcRncsvMiSJji+JLOlfQ87+pfKg+zvlqMTXKpImvTM="; - fetchSubmodules = false; # we use all dependencies from nix + fetchSubmodules = false; # we use all dependencies from nix }; nativeBuildInputs = [ @@ -43,7 +44,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Universal Hardware Data Model"; homepage = "https://github.com/chipsalliance/UHDM"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ matthuszagh hzeller ]; + maintainers = with lib.maintainers; [ + matthuszagh + hzeller + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/uh/uhexen2/package.nix b/pkgs/by-name/uh/uhexen2/package.nix index a0922a145703d..4ac7dd2236aea 100644 --- a/pkgs/by-name/uh/uhexen2/package.nix +++ b/pkgs/by-name/uh/uhexen2/package.nix @@ -1,4 +1,13 @@ -{ lib, fetchgit, SDL, stdenv, libogg, libvorbis, libmad, xdelta }: +{ + lib, + fetchgit, + SDL, + stdenv, + libogg, + libvorbis, + libmad, + xdelta, +}: stdenv.mkDerivation rec { pname = "uhexen2"; @@ -10,7 +19,13 @@ stdenv.mkDerivation rec { rev = "4ef664bc41e3998b0d2a55ff1166dadf34c936be"; }; - buildInputs = [ SDL libogg libvorbis libmad xdelta ]; + buildInputs = [ + SDL + libogg + libvorbis + libmad + xdelta + ]; preBuild = '' makeFiles=( diff --git a/pkgs/by-name/uh/uhk-udev-rules/package.nix b/pkgs/by-name/uh/uhk-udev-rules/package.nix index 1b68c46b6571f..d8c9ccaf41252 100644 --- a/pkgs/by-name/uh/uhk-udev-rules/package.nix +++ b/pkgs/by-name/uh/uhk-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, uhk-agent }: +{ + lib, + stdenv, + uhk-agent, +}: stdenv.mkDerivation { pname = "uhk-udev-rules"; diff --git a/pkgs/by-name/uh/uhttpmock/package.nix b/pkgs/by-name/uh/uhttpmock/package.nix index 6fcee7fb8d536..191347e72259a 100644 --- a/pkgs/by-name/uh/uhttpmock/package.nix +++ b/pkgs/by-name/uh/uhttpmock/package.nix @@ -1,23 +1,28 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk-doc -, docbook-xsl-nons -, glib -, libsoup_2_4 +{ + stdenv, + lib, + fetchFromGitLab, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook-xsl-nons, + glib, + libsoup_2_4, }: stdenv.mkDerivation rec { pname = "uhttpmock"; version = "0.5.5"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -28,17 +33,19 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - vala - gtk-doc - docbook-xsl-nons - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + vala + gtk-doc + docbook-xsl-nons + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/uh/uhttpmock_1_0/package.nix b/pkgs/by-name/uh/uhttpmock_1_0/package.nix index 755e7a18d5ce4..cab0f0b466f5a 100644 --- a/pkgs/by-name/uh/uhttpmock_1_0/package.nix +++ b/pkgs/by-name/uh/uhttpmock_1_0/package.nix @@ -1,23 +1,28 @@ -{ stdenv -, lib -, fetchFromGitLab -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk-doc -, docbook-xsl-nons -, glib -, libsoup_3 +{ + stdenv, + lib, + fetchFromGitLab, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook-xsl-nons, + glib, + libsoup_3, }: stdenv.mkDerivation (finalAttrs: { pname = "uhttpmock"; version = "0.11.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -29,17 +34,19 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection - vala - gtk-doc - docbook-xsl-nons - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gobject-introspection + vala + gtk-doc + docbook-xsl-nons + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; propagatedBuildInputs = [ glib diff --git a/pkgs/by-name/uh/uhub/package.nix b/pkgs/by-name/uh/uhub/package.nix index 37bddc3759f5d..44053edfc6d0d 100644 --- a/pkgs/by-name/uh/uhub/package.nix +++ b/pkgs/by-name/uh/uhub/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openssl, sqlite, pkg-config -, systemd, tlsSupport ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + sqlite, + pkg-config, + systemd, + tlsSupport ? false, +}: assert tlsSupport -> openssl != null; @@ -14,8 +23,14 @@ stdenv.mkDerivation rec { hash = "sha256-CdTTf82opnpjd7I9TTY+JDEZSfdGFPE0bq/xsafwm/w="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ sqlite systemd ] ++ lib.optional tlsSupport openssl; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + sqlite + systemd + ] ++ lib.optional tlsSupport openssl; postPatch = '' substituteInPlace CMakeLists.txt \ diff --git a/pkgs/by-name/uh/uhubctl/package.nix b/pkgs/by-name/uh/uhubctl/package.nix index 8feda34f2ad3e..bd4ce7a1be24c 100644 --- a/pkgs/by-name/uh/uhubctl/package.nix +++ b/pkgs/by-name/uh/uhubctl/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, which -, pkg-config -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + which, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-mpeDePHLsa4sGe2+8X9KQ8AYn7wtybDnaZzxnf4oETQ="; }; - nativeBuildInputs = [ which pkg-config ]; + nativeBuildInputs = [ + which + pkg-config + ]; buildInputs = [ libusb1 ]; @@ -27,7 +31,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/mvp/uhubctl"; description = "Utility to control USB power per-port on smart USB hubs"; license = licenses.gpl2Only; - maintainers = with maintainers; [ prusnak carlossless ]; + maintainers = with maintainers; [ + prusnak + carlossless + ]; platforms = with platforms; linux ++ darwin; mainProgram = "uhubctl"; }; diff --git a/pkgs/by-name/ui/uid_wrapper/package.nix b/pkgs/by-name/ui/uid_wrapper/package.nix index f5058237d5e59..c26c7b2e6007c 100644 --- a/pkgs/by-name/ui/uid_wrapper/package.nix +++ b/pkgs/by-name/ui/uid_wrapper/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config }: +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "uid_wrapper"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-9mB9hketooqW+rg8Sa1y/IPrbTiZHKJ7JJWzWP8Pbew="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "Wrapper for the user, group and hosts NSS API"; diff --git a/pkgs/by-name/ui/uif2iso/package.nix b/pkgs/by-name/ui/uif2iso/package.nix index ae1eff26568fb..fb236b36b3b3d 100644 --- a/pkgs/by-name/ui/uif2iso/package.nix +++ b/pkgs/by-name/ui/uif2iso/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, unzip, zlib }: +{ + lib, + stdenv, + fetchurl, + unzip, + zlib, +}: stdenv.mkDerivation rec { pname = "uif2iso"; @@ -10,7 +16,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ unzip ]; - buildInputs = [zlib]; + buildInputs = [ zlib ]; installPhase = '' make -C . prefix="$out" install; diff --git a/pkgs/by-name/ui/uisp/package.nix b/pkgs/by-name/ui/uisp/package.nix index d086781fb1c41..c87b916eed387 100644 --- a/pkgs/by-name/ui/uisp/package.nix +++ b/pkgs/by-name/ui/uisp/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "uisp"; diff --git a/pkgs/by-name/ui/uiua386/package.nix b/pkgs/by-name/ui/uiua386/package.nix index 198d0a8cea9f3..f06d10f15635e 100644 --- a/pkgs/by-name/ui/uiua386/package.nix +++ b/pkgs/by-name/ui/uiua386/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, uiua }: +{ + lib, + stdenvNoCC, + uiua, +}: stdenvNoCC.mkDerivation { pname = "uiua386"; diff --git a/pkgs/by-name/ui/uivonim/package.nix b/pkgs/by-name/ui/uivonim/package.nix index a888747d05223..bb21fb1f45f88 100644 --- a/pkgs/by-name/ui/uivonim/package.nix +++ b/pkgs/by-name/ui/uivonim/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, electron -, makeWrapper +{ + lib, + buildNpmPackage, + fetchFromGitHub, + electron, + makeWrapper, }: buildNpmPackage rec { diff --git a/pkgs/by-name/uk/ukmm/package.nix b/pkgs/by-name/uk/ukmm/package.nix index 9a640b004bf85..5e7e68af87950 100644 --- a/pkgs/by-name/uk/ukmm/package.nix +++ b/pkgs/by-name/uk/ukmm/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, cmake -, pkg-config -, wrapGAppsHook3 -, libglvnd -, libxkbcommon -, openssl -, nix-update-script +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + cmake, + pkg-config, + wrapGAppsHook3, + libglvnd, + libxkbcommon, + openssl, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/ul/ulauncher/package.nix b/pkgs/by-name/ul/ulauncher/package.nix index bcad8be29b584..22c4e096f3de6 100644 --- a/pkgs/by-name/ul/ulauncher/package.nix +++ b/pkgs/by-name/ul/ulauncher/package.nix @@ -1,22 +1,23 @@ -{ lib -, fetchurl -, nix-update-script -, python3Packages -, gdk-pixbuf -, glib -, adwaita-icon-theme -, gobject-introspection -, gtk3 -, wrapGAppsHook3 -, webkitgtk_4_0 -, libnotify -, keybinder3 -, libappindicator -, intltool -, wmctrl -, xvfb-run -, librsvg -, libX11 +{ + lib, + fetchurl, + nix-update-script, + python3Packages, + gdk-pixbuf, + glib, + adwaita-icon-theme, + gobject-introspection, + gtk3, + wrapGAppsHook3, + webkitgtk_4_0, + libnotify, + keybinder3, + libappindicator, + intltool, + wmctrl, + xvfb-run, + librsvg, + libX11, }: python3Packages.buildPythonApplication rec { @@ -115,13 +116,15 @@ python3Packages.buildPythonApplication rec { updateScript = nix-update-script { }; }; - meta = with lib; { description = "Fast application launcher for Linux, written in Python, using GTK"; homepage = "https://ulauncher.io/"; license = licenses.gpl3; platforms = platforms.linux; mainProgram = "ulauncher"; - maintainers = with maintainers; [ aaronjanse sebtm ]; + maintainers = with maintainers; [ + aaronjanse + sebtm + ]; }; } diff --git a/pkgs/by-name/ul/ulid/package.nix b/pkgs/by-name/ul/ulid/package.nix index f2ff23addfe75..e8a4a8c9bd238 100644 --- a/pkgs/by-name/ul/ulid/package.nix +++ b/pkgs/by-name/ul/ulid/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-s1YkEwFxE1zpUUCgwOAl8i6/9HB2rcGG+4kqnixTit0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = [ # skip flaky test diff --git a/pkgs/by-name/ul/ulogd/package.nix b/pkgs/by-name/ul/ulogd/package.nix index 291876cc92d24..dd9bf17e33ad4 100644 --- a/pkgs/by-name/ul/ulogd/package.nix +++ b/pkgs/by-name/ul/ulogd/package.nix @@ -1,7 +1,26 @@ -{ stdenv, lib, fetchurl, gnumake, libnetfilter_acct, libnetfilter_conntrack -, libnetfilter_log, libmnl, libnfnetlink, automake, autoconf, autogen, libtool -, postgresql, libmysqlclient, sqlite -, pkg-config, libpcap, linuxdoc-tools, autoreconfHook, nixosTests }: +{ + stdenv, + lib, + fetchurl, + gnumake, + libnetfilter_acct, + libnetfilter_conntrack, + libnetfilter_log, + libmnl, + libnfnetlink, + automake, + autoconf, + autogen, + libtool, + postgresql, + libmysqlclient, + sqlite, + pkg-config, + libpcap, + linuxdoc-tools, + autoreconfHook, + nixosTests, +}: stdenv.mkDerivation rec { version = "2.0.8"; @@ -12,7 +31,11 @@ stdenv.mkDerivation rec { hash = "sha256-Tq1sOXDD9X+h6J/i18xIO6b+K9GwhwFSHgs6/WZ98pE="; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; postPatch = '' substituteInPlace ulogd.8 --replace "/usr/share/doc" "$doc/share/doc" diff --git a/pkgs/by-name/ul/ultimate-oldschool-pc-font-pack/package.nix b/pkgs/by-name/ul/ultimate-oldschool-pc-font-pack/package.nix index 4a1dfa00916a2..559fd4adfbb1a 100644 --- a/pkgs/by-name/ul/ultimate-oldschool-pc-font-pack/package.nix +++ b/pkgs/by-name/ul/ultimate-oldschool-pc-font-pack/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ultimate-oldschool-pc-font-pack"; diff --git a/pkgs/by-name/ul/ultimatestunts/package.nix b/pkgs/by-name/ul/ultimatestunts/package.nix index 66906e5d50f34..49396e3c34f39 100644 --- a/pkgs/by-name/ul/ultimatestunts/package.nix +++ b/pkgs/by-name/ul/ultimatestunts/package.nix @@ -1,16 +1,37 @@ -{lib, stdenv, fetchurl, SDL, libGLU, libGL, SDL_image, freealut, openal, libvorbis, -pkg-config}: +{ + lib, + stdenv, + fetchurl, + SDL, + libGLU, + libGL, + SDL_image, + freealut, + openal, + libvorbis, + pkg-config, +}: stdenv.mkDerivation rec { pname = "ultimate-stunts"; version = "0.7.7.1"; src = fetchurl { - url = "mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-${lib.replaceStrings ["."] [""] version}.tar.gz"; + url = "mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-${ + lib.replaceStrings [ "." ] [ "" ] version + }.tar.gz"; sha256 = "sha256-/MBuSi/yxcG9k3ZwrNsHkUDzzg798AV462VZog67JtM="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL libGLU libGL SDL_image freealut openal libvorbis ]; + buildInputs = [ + SDL + libGLU + libGL + SDL_image + freealut + openal + libvorbis + ]; postPatch = '' sed -e '1i#include ' -i $(find . -name '*.c' -o -name '*.cpp') diff --git a/pkgs/by-name/ul/ultrablue-server/package.nix b/pkgs/by-name/ul/ultrablue-server/package.nix index 1d3cc69fae10d..522601052787d 100644 --- a/pkgs/by-name/ul/ultrablue-server/package.nix +++ b/pkgs/by-name/ul/ultrablue-server/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/ul/ultralist/package.nix b/pkgs/by-name/ul/ultralist/package.nix index edcc086dbb88d..c95ca2ec1db68 100644 --- a/pkgs/by-name/ul/ultralist/package.nix +++ b/pkgs/by-name/ul/ultralist/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ultralist"; diff --git a/pkgs/by-name/ul/ultrastardx/package.nix b/pkgs/by-name/ul/ultrastardx/package.nix index 1a8187f7f0e36..4bf46c62e5577 100644 --- a/pkgs/by-name/ul/ultrastardx/package.nix +++ b/pkgs/by-name/ul/ultrastardx/package.nix @@ -1,34 +1,51 @@ -{ lib, stdenv -, autoreconfHook -, fetchFromGitHub -, pkg-config -, lua -, fpc -, pcre -, portaudio -, freetype -, libpng -, SDL2 -, SDL2_image -, SDL2_gfx -, SDL2_mixer -, SDL2_net, SDL2_ttf -, ffmpeg -, sqlite -, zlib -, libX11 -, libGLU -, libGL +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + pkg-config, + lua, + fpc, + pcre, + portaudio, + freetype, + libpng, + SDL2, + SDL2_image, + SDL2_gfx, + SDL2_mixer, + SDL2_net, + SDL2_ttf, + ffmpeg, + sqlite, + zlib, + libX11, + libGLU, + libGL, }: let sharedLibs = [ - pcre portaudio freetype - SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf - sqlite lua zlib libX11 libGLU libGL ffmpeg + pcre + portaudio + freetype + SDL2 + SDL2_image + SDL2_gfx + SDL2_mixer + SDL2_net + SDL2_ttf + sqlite + lua + zlib + libX11 + libGLU + libGL + ffmpeg ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "ultrastardx"; version = "2024.10.0"; @@ -39,8 +56,14 @@ in stdenv.mkDerivation rec { hash = "sha256-X5LixPRAI7A8Ns3D2A24T05w0iHag1EJVqt0aW1ZBps="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ fpc libpng ] ++ sharedLibs; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + fpc + libpng + ] ++ sharedLibs; postPatch = '' substituteInPlace src/config.inc.in \ @@ -48,8 +71,10 @@ in stdenv.mkDerivation rec { ''; preBuild = - let items = lib.concatMapStringsSep " " (x: "-rpath ${lib.getLib x}/lib") sharedLibs; - in '' + let + items = lib.concatMapStringsSep " " (x: "-rpath ${lib.getLib x}/lib") sharedLibs; + in + '' export NIX_LDFLAGS="$NIX_LDFLAGS ${items}" ''; diff --git a/pkgs/by-name/um/umlet/package.nix b/pkgs/by-name/um/umlet/package.nix index b9d3e5d315380..9ef125fcfdd7c 100644 --- a/pkgs/by-name/um/umlet/package.nix +++ b/pkgs/by-name/um/umlet/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, jre, unzip, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + jre, + unzip, + runtimeShell, +}: stdenv.mkDerivation { pname = "umlet"; diff --git a/pkgs/by-name/um/umoci/package.nix b/pkgs/by-name/um/umoci/package.nix index acf03a96c747d..8f74acd0dd705 100644 --- a/pkgs/by-name/um/umoci/package.nix +++ b/pkgs/by-name/um/umoci/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, go-md2man -, installShellFiles +{ + lib, + fetchFromGitHub, + buildGoModule, + go-md2man, + installShellFiles, }: buildGoModule rec { @@ -20,9 +21,16 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; - nativeBuildInputs = [ go-md2man installShellFiles ]; + nativeBuildInputs = [ + go-md2man + installShellFiles + ]; postInstall = '' make docs SHELL="$SHELL" diff --git a/pkgs/by-name/um/umockdev/package.nix b/pkgs/by-name/um/umockdev/package.nix index 662a1237e471b..ffcb59febd876 100644 --- a/pkgs/by-name/um/umockdev/package.nix +++ b/pkgs/by-name/um/umockdev/package.nix @@ -1,29 +1,35 @@ -{ stdenv -, lib -, docbook-xsl-nons -, fetchurl -, glib -, gobject-introspection -, gtk-doc -, libgudev -, libpcap -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, python3 -, substituteAll -, systemdMinimal -, usbutils -, vala -, which +{ + stdenv, + lib, + docbook-xsl-nons, + fetchurl, + glib, + gobject-introspection, + gtk-doc, + libgudev, + libpcap, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + python3, + substituteAll, + systemdMinimal, + usbutils, + vala, + which, }: stdenv.mkDerivation (finalAttrs: { pname = "umockdev"; version = "0.18.4"; - outputs = [ "bin" "out" "dev" "devdoc" ]; + outputs = [ + "bin" + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "https://github.com/martinpitt/umockdev/releases/download/${finalAttrs.version}/umockdev-${finalAttrs.version}.tar.xz"; @@ -44,17 +50,19 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - nativeBuildInputs = [ - docbook-xsl-nons - gobject-introspection - gtk-doc - meson - ninja - pkg-config - vala - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + docbook-xsl-nons + gobject-introspection + gtk-doc + meson + ninja + pkg-config + vala + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ glib diff --git a/pkgs/by-name/um/umoria/package.nix b/pkgs/by-name/um/umoria/package.nix index 274aec98e0aa8..9e56a85f1d420 100644 --- a/pkgs/by-name/um/umoria/package.nix +++ b/pkgs/by-name/um/umoria/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, cmake -, ncurses6 -, runtimeShell +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + cmake, + ncurses6, + runtimeShell, }: let @@ -106,7 +107,10 @@ stdenv.mkDerivation rec { ''; platforms = platforms.unix; badPlatforms = [ "aarch64-darwin" ]; - maintainers = with maintainers; [ aciceri kenran ]; + maintainers = with maintainers; [ + aciceri + kenran + ]; license = licenses.gpl3Plus; }; } diff --git a/pkgs/by-name/um/umpire/package.nix b/pkgs/by-name/um/umpire/package.nix index 54340d3fdeca1..6ba2b7027d67d 100644 --- a/pkgs/by-name/um/umpire/package.nix +++ b/pkgs/by-name/um/umpire/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, config -, cudaSupport ? config.cudaSupport -, cudaPackages ? null +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + config, + cudaSupport ? config.cudaSupport, + cudaPackages ? null, }: assert cudaSupport -> cudaPackages != null; @@ -21,16 +22,21 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals cudaSupport [ - cudaPackages.cuda_nvcc - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cuda_nvcc + ]; - buildInputs = lib.optionals cudaSupport (with cudaPackages; [ - cudatoolkit - cuda_cudart - ]); + buildInputs = lib.optionals cudaSupport ( + with cudaPackages; + [ + cudatoolkit + cuda_cudart + ] + ); cmakeFlags = lib.optionals cudaSupport [ "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}" diff --git a/pkgs/by-name/um/umr/package.nix b/pkgs/by-name/um/umr/package.nix index 8325fe4f3654d..416051d36c289 100644 --- a/pkgs/by-name/um/umr/package.nix +++ b/pkgs/by-name/um/umr/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv +{ + lib, + stdenv, -, fetchFromGitLab + fetchFromGitLab, -, cmake -, pkg-config + cmake, + pkg-config, -, libdrm -, mesa # libgbm -, libpciaccess -, llvmPackages -, nanomsg -, ncurses -, SDL2 -, bash-completion + libdrm, + mesa, # libgbm + libpciaccess, + llvmPackages, + nanomsg, + ncurses, + SDL2, + bash-completion, -, nix-update-script + nix-update-script, }: stdenv.mkDerivation rec { @@ -55,5 +56,5 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ Flakebi ]; platforms = platforms.linux; - }; + }; } diff --git a/pkgs/by-name/um/ums/package.nix b/pkgs/by-name/um/ums/package.nix index bfed80373746e..43a52adbab86c 100644 --- a/pkgs/by-name/um/ums/package.nix +++ b/pkgs/by-name/um/ums/package.nix @@ -1,21 +1,35 @@ -{ lib, stdenv, fetchurl, makeWrapper -, libzen, libmediainfo , jre8 +{ + lib, + stdenv, + fetchurl, + makeWrapper, + libzen, + libmediainfo, + jre8, }: stdenv.mkDerivation rec { pname = "ums"; version = "10.12.0"; - src = { - i686-linux = fetchurl { - url = "mirror://sourceforge/project/unimediaserver/${version}/" + lib.toUpper "${pname}-${version}" + "-x86.tgz"; - sha256 = "0j3d5zcwwswlcr2vicmvnnr7n8cg3q46svz0mbmga4j3da4473i6"; - }; - x86_64-linux = fetchurl { - url = "mirror://sourceforge/project/unimediaserver/${version}/" + lib.toUpper "${pname}-${version}" + "-x86_64.tgz"; - sha256 = "06f96vkf593aasyfw458fa4x3rnai2k83vpgzc83hlwr0rw70qfn"; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + i686-linux = fetchurl { + url = + "mirror://sourceforge/project/unimediaserver/${version}/" + + lib.toUpper "${pname}-${version}" + + "-x86.tgz"; + sha256 = "0j3d5zcwwswlcr2vicmvnnr7n8cg3q46svz0mbmga4j3da4473i6"; + }; + x86_64-linux = fetchurl { + url = + "mirror://sourceforge/project/unimediaserver/${version}/" + + lib.toUpper "${pname}-${version}" + + "-x86_64.tgz"; + sha256 = "06f96vkf593aasyfw458fa4x3rnai2k83vpgzc83hlwr0rw70qfn"; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ makeWrapper ]; @@ -29,15 +43,23 @@ stdenv.mkDerivation rec { rm -rf $out/jre8 makeWrapper "$out/UMS.sh" "$out/bin/ums" \ - --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath [ libzen libmediainfo] }" \ + --prefix LD_LIBRARY_PATH ":" "${ + lib.makeLibraryPath [ + libzen + libmediainfo + ] + }" \ --set JAVA_HOME "${jre8}" ''; meta = { - description = "Universal Media Server: a DLNA-compliant UPnP Media Server"; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ thall snicket2100 ]; - mainProgram = "ums"; + description = "Universal Media Server: a DLNA-compliant UPnP Media Server"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + thall + snicket2100 + ]; + mainProgram = "ums"; }; } diff --git a/pkgs/by-name/um/umurmur/package.nix b/pkgs/by-name/um/umurmur/package.nix index 5f87a73954629..d2e5aa0498969 100644 --- a/pkgs/by-name/um/umurmur/package.nix +++ b/pkgs/by-name/um/umurmur/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, openssl, protobufc, libconfig }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + openssl, + protobufc, + libconfig, +}: stdenv.mkDerivation rec { pname = "umurmur"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl protobufc libconfig ]; + buildInputs = [ + openssl + protobufc + libconfig + ]; # https://github.com/umurmur/umurmur/issues/176 postPatch = '' diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix index 4357cb4bd97d7..4a656b676559e 100644 --- a/pkgs/by-name/un/unciv/package.nix +++ b/pkgs/by-name/un/unciv/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchurl -, copyDesktopItems -, makeDesktopItem -, makeWrapper -, jre -, libGL -, libpulseaudio -, libXxf86vm +{ + stdenv, + lib, + fetchurl, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + jre, + libGL, + libpulseaudio, + libXxf86vm, }: let version = "4.14.9"; @@ -26,11 +27,13 @@ let hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk="; }; - envLibPath = lib.makeLibraryPath (lib.optionals stdenv.hostPlatform.isLinux [ - libGL - libpulseaudio - libXxf86vm - ]); + envLibPath = lib.makeLibraryPath ( + lib.optionals stdenv.hostPlatform.isLinux [ + libGL + libpulseaudio + libXxf86vm + ] + ); in stdenv.mkDerivation rec { @@ -44,7 +47,10 @@ stdenv.mkDerivation rec { dontUnpack = true; - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/un/unclutter-xfixes/package.nix b/pkgs/by-name/un/unclutter-xfixes/package.nix index 81db6449eb14e..4c04befe01c16 100644 --- a/pkgs/by-name/un/unclutter-xfixes/package.nix +++ b/pkgs/by-name/un/unclutter-xfixes/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, - libev, libX11, libXext, libXi, libXfixes, - pkg-config, asciidoc, libxslt, docbook_xsl }: +{ + lib, + stdenv, + fetchFromGitHub, + libev, + libX11, + libXext, + libXi, + libXfixes, + pkg-config, + asciidoc, + libxslt, + docbook_xsl, +}: stdenv.mkDerivation rec { pname = "unclutter-xfixes"; @@ -13,8 +24,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-suKmaoJq0PBHZc7NzBQ60JGwJkAtWmvzPtTHWOPJEdc="; }; - nativeBuildInputs = [ pkg-config asciidoc libxslt docbook_xsl ]; - buildInputs = [ libev libX11 libXext libXi libXfixes ]; + nativeBuildInputs = [ + pkg-config + asciidoc + libxslt + docbook_xsl + ]; + buildInputs = [ + libev + libX11 + libXext + libXi + libXfixes + ]; prePatch = '' substituteInPlace Makefile --replace 'PKG_CONFIG =' 'PKG_CONFIG ?=' diff --git a/pkgs/by-name/un/unclutter/package.nix b/pkgs/by-name/un/unclutter/package.nix index 5d711c5fd03d0..6d2193e42d7e8 100644 --- a/pkgs/by-name/un/unclutter/package.nix +++ b/pkgs/by-name/un/unclutter/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, libX11 +{ + lib, + stdenv, + fetchurl, + libX11, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/un/unconvert/package.nix b/pkgs/by-name/un/unconvert/package.nix index 478a111555a61..aab3ac49168fd 100644 --- a/pkgs/by-name/un/unconvert/package.nix +++ b/pkgs/by-name/un/unconvert/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "unconvert"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-vZDk+ZNCMP5RRNrgeIowdOKPot7rqM84JhlbfvcQbB4="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Remove unnecessary type conversions from Go source"; diff --git a/pkgs/by-name/un/uncrustify/package.nix b/pkgs/by-name/un/uncrustify/package.nix index be41234132df8..8d9c67b7c2f27 100644 --- a/pkgs/by-name/un/uncrustify/package.nix +++ b/pkgs/by-name/un/uncrustify/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, +}: stdenv.mkDerivation rec { pname = "uncrustify"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-SsPuqPyv3IFjYtAqANjzK8cdTGsyGBXVLzGWEUl28dg="; }; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; meta = with lib; { description = "Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA"; diff --git a/pkgs/by-name/un/undaemonize/package.nix b/pkgs/by-name/un/undaemonize/package.nix index 83007db867dc3..a097821444125 100644 --- a/pkgs/by-name/un/undaemonize/package.nix +++ b/pkgs/by-name/un/undaemonize/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "undaemonize"; @@ -22,4 +26,3 @@ stdenv.mkDerivation { mainProgram = "undaemonize"; }; } - diff --git a/pkgs/by-name/un/undbx/package.nix b/pkgs/by-name/un/undbx/package.nix index 269abccdbdf21..6eef53d3b98b5 100644 --- a/pkgs/by-name/un/undbx/package.nix +++ b/pkgs/by-name/un/undbx/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/un/undefined-medium/package.nix b/pkgs/by-name/un/undefined-medium/package.nix index 8dd3cc71ac27d..93a358db67fbe 100644 --- a/pkgs/by-name/un/undefined-medium/package.nix +++ b/pkgs/by-name/un/undefined-medium/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "undefined-medium"; diff --git a/pkgs/by-name/un/undertime/package.nix b/pkgs/by-name/un/undertime/package.nix index a754229f4d171..309e00ea2e234 100644 --- a/pkgs/by-name/un/undertime/package.nix +++ b/pkgs/by-name/un/undertime/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitLab +{ + lib, + python3Packages, + fetchFromGitLab, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/un/undervolt/package.nix b/pkgs/by-name/un/undervolt/package.nix index 045667c3e3a44..57a7cb8828558 100644 --- a/pkgs/by-name/un/undervolt/package.nix +++ b/pkgs/by-name/un/undervolt/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { version = "0.4.0"; diff --git a/pkgs/by-name/un/undistract-me/package.nix b/pkgs/by-name/un/undistract-me/package.nix index b15903e779ea9..2bc59f15d3b0a 100644 --- a/pkgs/by-name/un/undistract-me/package.nix +++ b/pkgs/by-name/un/undistract-me/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchpatch -, coreutils -, gnused -, libnotify -, pulseaudio -, sound-theme-freedesktop -, xprop +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + coreutils, + gnused, + libnotify, + pulseaudio, + sound-theme-freedesktop, + xprop, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/un/undocker/package.nix b/pkgs/by-name/un/undocker/package.nix index 0cc9deb74df38..47d58a552366c 100644 --- a/pkgs/by-name/un/undocker/package.nix +++ b/pkgs/by-name/un/undocker/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitea -, gnumake +{ + lib, + buildGoModule, + fetchFromGitea, + gnumake, }: let version = "1.2.3"; @@ -30,7 +31,10 @@ buildGoModule { homepage = "https://git.jakstys.lt/motiejus/undocker"; description = "CLI tool to convert a Docker image to a flattened rootfs tarball"; license = licenses.asl20; - maintainers = with maintainers; [ jordanisaacs motiejus ]; + maintainers = with maintainers; [ + jordanisaacs + motiejus + ]; mainProgram = "undocker"; }; } diff --git a/pkgs/by-name/un/undollar/package.nix b/pkgs/by-name/un/undollar/package.nix index 633d095df9d8c..d1f6df488b284 100644 --- a/pkgs/by-name/un/undollar/package.nix +++ b/pkgs/by-name/un/undollar/package.nix @@ -2,7 +2,7 @@ lib, fetchFromGitHub, stdenvNoCC, - nodejs + nodejs, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/un/unflac/package.nix b/pkgs/by-name/un/unflac/package.nix index e29e9161cf2f4..2d5d1b3d1b9e0 100644 --- a/pkgs/by-name/un/unflac/package.nix +++ b/pkgs/by-name/un/unflac/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromSourcehut -, ffmpeg -, makeWrapper +{ + lib, + buildGoModule, + fetchFromSourcehut, + ffmpeg, + makeWrapper, }: buildGoModule rec { @@ -20,12 +21,11 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; postFixup = '' - wrapProgram $out/bin/unflac --prefix PATH : "${lib.makeBinPath [ffmpeg]}" + wrapProgram $out/bin/unflac --prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" ''; meta = with lib; { - description = - "A command line tool for fast frame accurate audio image + cue sheet splitting"; + description = "A command line tool for fast frame accurate audio image + cue sheet splitting"; homepage = "https://sr.ht/~ft/unflac/"; license = licenses.mit; platforms = platforms.all; diff --git a/pkgs/by-name/un/unfonts-core/package.nix b/pkgs/by-name/un/unfonts-core/package.nix index 5756a948f6984..0b983085c9477 100644 --- a/pkgs/by-name/un/unfonts-core/package.nix +++ b/pkgs/by-name/un/unfonts-core/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "unfonts-core"; diff --git a/pkgs/by-name/un/unfs3/package.nix b/pkgs/by-name/un/unfs3/package.nix index 448f7a2ca86fa..0548512aa4004 100644 --- a/pkgs/by-name/un/unfs3/package.nix +++ b/pkgs/by-name/un/unfs3/package.nix @@ -1,11 +1,12 @@ -{ fetchFromGitHub -, lib -, stdenv -, flex -, bison -, autoreconfHook -, pkg-config -, libtirpc +{ + fetchFromGitHub, + lib, + stdenv, + flex, + bison, + autoreconfHook, + pkg-config, + libtirpc, }: stdenv.mkDerivation rec { @@ -19,13 +20,18 @@ stdenv.mkDerivation rec { hash = "sha256-5iAriIutBhwyZVS7AG2fnkrHOI7pNAKfYv062Cy0WXw="; }; - nativeBuildInputs = [ flex bison autoreconfHook pkg-config ]; + nativeBuildInputs = [ + flex + bison + autoreconfHook + pkg-config + ]; buildInputs = [ libtirpc ]; configureFlags = [ "--disable-shared" ]; - doCheck = false; # no test suite + doCheck = false; # no test suite meta = { description = "User-space NFSv3 file system server"; diff --git a/pkgs/by-name/un/unfurl/package.nix b/pkgs/by-name/un/unfurl/package.nix index 0d9ae3b01992b..ccca02140d70d 100644 --- a/pkgs/by-name/un/unfurl/package.nix +++ b/pkgs/by-name/un/unfurl/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-Kpd916+jjGvw56N122Ej4CXVcv1/xr1THkjsrhkIy+U="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; # tests tries to download a list of tlds from the internet postPatch = '' diff --git a/pkgs/by-name/un/ungit/package.nix b/pkgs/by-name/un/ungit/package.nix index 215c9c2b75812..c5eedfb02c731 100644 --- a/pkgs/by-name/un/ungit/package.nix +++ b/pkgs/by-name/un/ungit/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/un/uni-sync/package.nix b/pkgs/by-name/un/uni-sync/package.nix index de58c54deb4b7..3625fcf2d5780 100644 --- a/pkgs/by-name/un/uni-sync/package.nix +++ b/pkgs/by-name/un/uni-sync/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, libudev-zero +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + libudev-zero, }: rustPlatform.buildRustPackage rec { pname = "uni-sync"; diff --git a/pkgs/by-name/un/uni-vga/package.nix b/pkgs/by-name/un/uni-vga/package.nix index 5be5a817b8570..7c3aa2a186bd6 100644 --- a/pkgs/by-name/un/uni-vga/package.nix +++ b/pkgs/by-name/un/uni-vga/package.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl, perl, kbd, bdftopcf -, libfaketime, xorg +{ + lib, + stdenv, + fetchurl, + perl, + kbd, + bdftopcf, + libfaketime, + xorg, }: stdenv.mkDerivation { @@ -11,41 +18,55 @@ stdenv.mkDerivation { }; nativeBuildInputs = - [ bdftopcf libfaketime - xorg.fonttosfnt xorg.mkfontscale - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ perl kbd ]; + [ + bdftopcf + libfaketime + xorg.fonttosfnt + xorg.mkfontscale + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + perl + kbd + ]; postPatch = "patchShebangs ."; - buildPhase = '' - # convert font to compressed pcf - bdftopcf u_vga16.bdf | gzip -c -9 -n > u_vga16.pcf.gz - - # convert bdf font to otb - faketime -f "1970-01-01 00:00:01" \ - fonttosfnt -v -o u_vga16.otb u_vga16.bdf - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - # convert font to compressed psf - ./bdf2psf.pl -s UniCyrX.sfm u_vga16.bdf \ - | psfaddtable - UniCyrX.sfm - \ - | gzip -c -9 -n > u_vga16.psf.gz - ''; - - installPhase = '' - # install pcf and otb (for X11 and GTK applications) - install -m 644 -D *.otb *.pcf.gz -t "$out/share/fonts" - mkfontdir "$out/share/fonts" - - # install bdf font - install -m 644 -D *.bdf -t "$bdf/share/fonts" - mkfontdir "$bdf/share/fonts" - - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - # install psf (for linux virtual terminal) - install -m 644 -D *.psf.gz -t "$out/share/consolefonts" - ''; - - outputs = [ "out" "bdf" ]; + buildPhase = + '' + # convert font to compressed pcf + bdftopcf u_vga16.bdf | gzip -c -9 -n > u_vga16.pcf.gz + + # convert bdf font to otb + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o u_vga16.otb u_vga16.bdf + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # convert font to compressed psf + ./bdf2psf.pl -s UniCyrX.sfm u_vga16.bdf \ + | psfaddtable - UniCyrX.sfm - \ + | gzip -c -9 -n > u_vga16.psf.gz + ''; + + installPhase = + '' + # install pcf and otb (for X11 and GTK applications) + install -m 644 -D *.otb *.pcf.gz -t "$out/share/fonts" + mkfontdir "$out/share/fonts" + + # install bdf font + install -m 644 -D *.bdf -t "$bdf/share/fonts" + mkfontdir "$bdf/share/fonts" + + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # install psf (for linux virtual terminal) + install -m 644 -D *.psf.gz -t "$out/share/consolefonts" + ''; + + outputs = [ + "out" + "bdf" + ]; meta = with lib; { description = "Unicode VGA font"; diff --git a/pkgs/by-name/un/uni/package.nix b/pkgs/by-name/un/uni/package.nix index 04ffa390d4b39..11ce3795e754b 100644 --- a/pkgs/by-name/un/uni/package.nix +++ b/pkgs/by-name/un/uni/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/un/uni2ascii/package.nix b/pkgs/by-name/un/uni2ascii/package.nix index a853a5de7775f..e121d4a9cfa0b 100644 --- a/pkgs/by-name/un/uni2ascii/package.nix +++ b/pkgs/by-name/un/uni2ascii/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "uni2ascii"; @@ -22,25 +26,25 @@ stdenv.mkDerivation rec { description = "Converts between UTF-8 and many 7-bit ASCII equivalents and back"; longDescription = '' - This package provides conversion in both directions between UTF-8 - Unicode and more than thirty 7-bit ASCII equivalents, including - RFC 2396 URI format and RFC 2045 Quoted Printable format, the - representations used in HTML, SGML, XML, OOXML, the Unicode - standard, Rich Text Format, POSIX portable charmaps, POSIX locale - specifications, and Apache log files, and the escapes used for - including Unicode in Ada, C, Common Lisp, Java, Pascal, Perl, - Postscript, Python, Scheme, and Tcl. + This package provides conversion in both directions between UTF-8 + Unicode and more than thirty 7-bit ASCII equivalents, including + RFC 2396 URI format and RFC 2045 Quoted Printable format, the + representations used in HTML, SGML, XML, OOXML, the Unicode + standard, Rich Text Format, POSIX portable charmaps, POSIX locale + specifications, and Apache log files, and the escapes used for + including Unicode in Ada, C, Common Lisp, Java, Pascal, Perl, + Postscript, Python, Scheme, and Tcl. - Such ASCII equivalents are useful when including Unicode text in - program source, when debugging, and when entering text into web - programs that can handle the Unicode character set but are not - 8-bit safe. For example, MovableType, the blog software, truncates - posts as soon as it encounters a byte with the high bit - set. However, if Unicode is entered in the form of HTML numeric - character entities, Movable Type will not garble the post. + Such ASCII equivalents are useful when including Unicode text in + program source, when debugging, and when entering text into web + programs that can handle the Unicode character set but are not + 8-bit safe. For example, MovableType, the blog software, truncates + posts as soon as it encounters a byte with the high bit + set. However, if Unicode is entered in the form of HTML numeric + character entities, Movable Type will not garble the post. - It also provides ways of converting non-ASCII characters to - similar ASCII characters, e.g. by stripping diacritics. + It also provides ways of converting non-ASCII characters to + similar ASCII characters, e.g. by stripping diacritics. ''; maintainers = [ ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/un/unibilium/package.nix b/pkgs/by-name/un/unibilium/package.nix index 66e7a8d3843f8..597cea810c220 100644 --- a/pkgs/by-name/un/unibilium/package.nix +++ b/pkgs/by-name/un/unibilium/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, libtool, pkg-config, perl, ncurses, autoreconfHook }: +{ + stdenv, + lib, + fetchFromGitHub, + libtool, + pkg-config, + perl, + ncurses, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "unibilium"; @@ -14,7 +23,12 @@ stdenv.mkDerivation rec { strictDeps = true; enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook pkg-config perl libtool ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + perl + libtool + ]; buildInputs = [ ncurses ]; meta = with lib; { diff --git a/pkgs/by-name/un/unicap/package.nix b/pkgs/by-name/un/unicap/package.nix index f26365fa8e632..4dac2248ebf64 100644 --- a/pkgs/by-name/un/unicap/package.nix +++ b/pkgs/by-name/un/unicap/package.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, fetchurl, libusb-compat-0_1, libraw1394, dcraw, intltool, perl, v4l-utils }: +{ + lib, + stdenv, + fetchurl, + libusb-compat-0_1, + libraw1394, + dcraw, + intltool, + perl, + v4l-utils, +}: stdenv.mkDerivation rec { pname = "libunicap"; - version="0.9.12"; + version = "0.9.12"; src = fetchurl { url = "https://www.unicap-imaging.org/downloads/${pname}-${version}.tar.gz"; @@ -10,7 +20,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ intltool ]; - buildInputs = [ libusb-compat-0_1 libraw1394 dcraw perl v4l-utils ]; + buildInputs = [ + libusb-compat-0_1 + libraw1394 + dcraw + perl + v4l-utils + ]; patches = [ # Debian has a patch that fixes the build. diff --git a/pkgs/by-name/un/unicode-character-database/package.nix b/pkgs/by-name/un/unicode-character-database/package.nix index cf61d30108f44..48e17bdd6654c 100644 --- a/pkgs/by-name/un/unicode-character-database/package.nix +++ b/pkgs/by-name/un/unicode-character-database/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenvNoCC -, fetchurl -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + unzip, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/un/unicode-emoji/package.nix b/pkgs/by-name/un/unicode-emoji/package.nix index b32cdc45d1d5c..7751b455393a4 100644 --- a/pkgs/by-name/un/unicode-emoji/package.nix +++ b/pkgs/by-name/un/unicode-emoji/package.nix @@ -1,33 +1,36 @@ -{ lib -, stdenvNoCC -, fetchurl -, symlinkJoin +{ + lib, + stdenvNoCC, + fetchurl, + symlinkJoin, }: let version = "16.0"; - fetchData = { suffix, hash }: stdenvNoCC.mkDerivation { - pname = "unicode-emoji-${suffix}"; - inherit version; + fetchData = + { suffix, hash }: + stdenvNoCC.mkDerivation { + pname = "unicode-emoji-${suffix}"; + inherit version; - src = fetchurl { - url = "https://www.unicode.org/Public/emoji/${version}/emoji-${suffix}.txt"; - inherit hash; - }; + src = fetchurl { + url = "https://www.unicode.org/Public/emoji/${version}/emoji-${suffix}.txt"; + inherit hash; + }; - dontUnpack = true; + dontUnpack = true; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - installDir="$out/share/unicode/emoji" - mkdir -p "$installDir" - cp "$src" "$installDir/emoji-${suffix}.txt" + installDir="$out/share/unicode/emoji" + mkdir -p "$installDir" + cp "$src" "$installDir/emoji-${suffix}.txt" - runHook postInstall - ''; - }; + runHook postInstall + ''; + }; srcs = { emoji-sequences = fetchData { diff --git a/pkgs/by-name/un/unicode-paracode/package.nix b/pkgs/by-name/un/unicode-paracode/package.nix index 012ab2fc6cb73..f2d6e7cb8d29c 100644 --- a/pkgs/by-name/un/unicode-paracode/package.nix +++ b/pkgs/by-name/un/unicode-paracode/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, fetchurl, python3Packages, installShellFiles, gitUpdater }: +{ + lib, + fetchFromGitHub, + fetchurl, + python3Packages, + installShellFiles, + gitUpdater, +}: python3Packages.buildPythonApplication rec { pname = "unicode"; diff --git a/pkgs/by-name/un/unicon-lang/package.nix b/pkgs/by-name/un/unicon-lang/package.nix index 4435b9c02925b..21352007c9744 100644 --- a/pkgs/by-name/un/unicon-lang/package.nix +++ b/pkgs/by-name/un/unicon-lang/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, unzip, libX11, libXt, libnsl, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + unzip, + libX11, + libXt, + libnsl, + libxcrypt, +}: stdenv.mkDerivation { pname = "unicon-lang"; @@ -8,7 +17,12 @@ stdenv.mkDerivation { sha256 = "1g9l2dfp99dqih2ir2limqfjgagh3v9aqly6x0l3qavx3qkkwf61"; }; nativeBuildInputs = [ unzip ]; - buildInputs = [ libnsl libX11 libXt libxcrypt ]; + buildInputs = [ + libnsl + libX11 + libXt + libxcrypt + ]; hardeningDisable = [ "fortify" ]; diff --git a/pkgs/by-name/un/unifdef/package.nix b/pkgs/by-name/un/unifdef/package.nix index 76c3b7346011f..d3a8bf96ae743 100644 --- a/pkgs/by-name/un/unifdef/package.nix +++ b/pkgs/by-name/un/unifdef/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "unifdef"; diff --git a/pkgs/by-name/un/unifiedpush-common-proxies/package.nix b/pkgs/by-name/un/unifiedpush-common-proxies/package.nix index 0c0910893b9e5..14952cad65667 100644 --- a/pkgs/by-name/un/unifiedpush-common-proxies/package.nix +++ b/pkgs/by-name/un/unifiedpush-common-proxies/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { diff --git a/pkgs/by-name/un/unifont/package.nix b/pkgs/by-name/un/unifont/package.nix index 9eab69f1d33e9..91706d6b8464b 100644 --- a/pkgs/by-name/un/unifont/package.nix +++ b/pkgs/by-name/un/unifont/package.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl, xorg -, libfaketime +{ + lib, + stdenv, + fetchurl, + xorg, + libfaketime, }: stdenv.mkDerivation rec { @@ -16,30 +20,32 @@ stdenv.mkDerivation rec { hash = "sha256-51YEW6CJPuLoNpsnr8AkNr7ZApnbThZyznZuBHDNmCU="; }; - nativeBuildInputs = [ libfaketime xorg.fonttosfnt xorg.mkfontscale ]; + nativeBuildInputs = [ + libfaketime + xorg.fonttosfnt + xorg.mkfontscale + ]; dontUnpack = true; - buildPhase = - '' - # convert pcf font to otb - faketime -f "1970-01-01 00:00:01" \ - fonttosfnt -g 2 -m 2 -v -o "unifont.otb" "${pcf}" - ''; - - installPhase = - '' - # install otb fonts - install -m 644 -D unifont.otb "$out/share/fonts/unifont.otb" - mkfontdir "$out/share/fonts" - - # install pcf and otf fonts - install -m 644 -D ${pcf} $out/share/fonts/unifont.pcf.gz - install -m 644 -D ${otf} $out/share/fonts/opentype/unifont.otf - cd "$out/share/fonts" - mkfontdir - mkfontscale - ''; + buildPhase = '' + # convert pcf font to otb + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -g 2 -m 2 -v -o "unifont.otb" "${pcf}" + ''; + + installPhase = '' + # install otb fonts + install -m 644 -D unifont.otb "$out/share/fonts/unifont.otb" + mkfontdir "$out/share/fonts" + + # install pcf and otf fonts + install -m 644 -D ${pcf} $out/share/fonts/unifont.pcf.gz + install -m 644 -D ${otf} $out/share/fonts/opentype/unifont.otf + cd "$out/share/fonts" + mkfontdir + mkfontscale + ''; meta = with lib; { description = "Unicode font for Base Multilingual Plane"; diff --git a/pkgs/by-name/un/unifont_upper/package.nix b/pkgs/by-name/un/unifont_upper/package.nix index 0c2ac5e160399..6b574dc963587 100644 --- a/pkgs/by-name/un/unifont_upper/package.nix +++ b/pkgs/by-name/un/unifont_upper/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "unifont_upper"; diff --git a/pkgs/by-name/un/unigine-heaven/package.nix b/pkgs/by-name/un/unigine-heaven/package.nix index 96492ef9e61aa..54557ca0631df 100644 --- a/pkgs/by-name/un/unigine-heaven/package.nix +++ b/pkgs/by-name/un/unigine-heaven/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, libX11 -, libXext -, libXrandr -, freetype -, fontconfig -, libXrender -, libXinerama -, autoPatchelfHook -, libglvnd -, openal -, imagemagick -, makeDesktopItem +{ + lib, + stdenv, + fetchurl, + makeWrapper, + libX11, + libXext, + libXrandr, + freetype, + fontconfig, + libXrender, + libXinerama, + autoPatchelfHook, + libglvnd, + openal, + imagemagick, + makeDesktopItem, }: let version = "4.0"; @@ -34,8 +35,7 @@ let desktopName = "Heaven Benchmark"; }; in -stdenv.mkDerivation -{ +stdenv.mkDerivation { pname = "unigine-heaven"; inherit version; @@ -44,66 +44,65 @@ stdenv.mkDerivation sha256 = "19rndwwxnb9k2nw9h004hyrmr419471s0fp25yzvvc6rkd521c0v"; }; - installPhase = - '' - sh $src --target $name + installPhase = '' + sh $src --target $name - mkdir -p $out/lib/unigine/heaven/bin - mkdir -p $out/bin - mkdir -p $out/share/applications/ - mkdir -p $out/share/icons/hicolor + mkdir -p $out/lib/unigine/heaven/bin + mkdir -p $out/bin + mkdir -p $out/share/applications/ + mkdir -p $out/share/icons/hicolor - install -m 0755 $name/bin/browser_${arch} $out/lib/unigine/heaven/bin - install -m 0755 $name/bin/libApp{Stereo,Surround,Wall}_${arch}.so $out/lib/unigine/heaven/bin - install -m 0755 $name/bin/libGPUMonitor_${arch}.so $out/lib/unigine/heaven/bin - install -m 0755 $name/bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $out/lib/unigine/heaven/bin - install -m 0755 $name/bin/libUnigine_${arch}.so $out/lib/unigine/heaven/bin - install -m 0755 $name/bin/heaven_${arch} $out/lib/unigine/heaven/bin - install -m 0755 $name/heaven $out/bin/heaven + install -m 0755 $name/bin/browser_${arch} $out/lib/unigine/heaven/bin + install -m 0755 $name/bin/libApp{Stereo,Surround,Wall}_${arch}.so $out/lib/unigine/heaven/bin + install -m 0755 $name/bin/libGPUMonitor_${arch}.so $out/lib/unigine/heaven/bin + install -m 0755 $name/bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $out/lib/unigine/heaven/bin + install -m 0755 $name/bin/libUnigine_${arch}.so $out/lib/unigine/heaven/bin + install -m 0755 $name/bin/heaven_${arch} $out/lib/unigine/heaven/bin + install -m 0755 $name/heaven $out/bin/heaven - cp -R $name/data $name/documentation $out/lib/unigine/heaven + cp -R $name/data $name/documentation $out/lib/unigine/heaven - wrapProgram $out/bin/heaven --prefix LD_LIBRARY_PATH : ${libglvnd}/lib:$out/bin:${openal}/lib --run "cd $out/lib/unigine/heaven/" + wrapProgram $out/bin/heaven --prefix LD_LIBRARY_PATH : ${libglvnd}/lib:$out/bin:${openal}/lib --run "cd $out/lib/unigine/heaven/" - convert $out/lib/unigine/heaven/data/launcher/icon.png -resize 128x128 $out/share/icons/Heaven.png - for RES in 16 24 32 48 64 128 256 - do - mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps - convert $out/lib/unigine/heaven/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Heaven.png - done + convert $out/lib/unigine/heaven/data/launcher/icon.png -resize 128x128 $out/share/icons/Heaven.png + for RES in 16 24 32 48 64 128 256 + do + mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps + convert $out/lib/unigine/heaven/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Heaven.png + done - ln -s ${desktopItem}/share/applications/* $out/share/applications - ''; + ln -s ${desktopItem}/share/applications/* $out/share/applications + ''; - nativeBuildInputs = - [ - autoPatchelfHook - makeWrapper - imagemagick - ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + imagemagick + ]; - buildInputs = - [ - libX11 - stdenv.cc.cc - libXext - libXrandr - freetype - fontconfig - libXrender - libXinerama - ]; + buildInputs = [ + libX11 + stdenv.cc.cc + libXext + libXrandr + freetype + fontconfig + libXrender + libXinerama + ]; dontUnpack = true; - meta = - { - description = "Unigine Heaven GPU benchmarking tool"; - homepage = "https://benchmark.unigine.com/heaven"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = lib.licenses.unfree; - maintainers = [ lib.maintainers.BarinovMaxim ]; - platforms = [ "x86_64-linux" "i686-linux" ]; - mainProgram = "heaven"; - }; + meta = { + description = "Unigine Heaven GPU benchmarking tool"; + homepage = "https://benchmark.unigine.com/heaven"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.BarinovMaxim ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; + mainProgram = "heaven"; + }; } diff --git a/pkgs/by-name/un/unigine-valley/package.nix b/pkgs/by-name/un/unigine-valley/package.nix index b64f136629edd..1d6625cbc727a 100644 --- a/pkgs/by-name/un/unigine-valley/package.nix +++ b/pkgs/by-name/un/unigine-valley/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, # Build-time dependencies -, makeWrapper -, file -, makeDesktopItem -, imagemagick -, copyDesktopItems + makeWrapper, + file, + makeDesktopItem, + imagemagick, + copyDesktopItems, # Runtime dependencies -, fontconfig -, freetype -, libX11 -, libXext -, libXinerama -, libXrandr -, libXrender -, libglvnd -, openal + fontconfig, + freetype, + libX11, + libXext, + libXinerama, + libXrandr, + libXrender, + libglvnd, + openal, }: let @@ -45,7 +46,12 @@ stdenv.mkDerivation rec { sourceRoot = "Unigine_Valley-${version}"; instPath = "lib/unigine/valley"; - nativeBuildInputs = [ file makeWrapper imagemagick copyDesktopItems ]; + nativeBuildInputs = [ + file + makeWrapper + imagemagick + copyDesktopItems + ]; libPath = lib.makeLibraryPath [ stdenv.cc.cc # libstdc++.so.6 @@ -131,8 +137,10 @@ stdenv.mkDerivation rec { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf maintainers = [ ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; mainProgram = "valley"; }; } - diff --git a/pkgs/by-name/un/unihan-database/package.nix b/pkgs/by-name/un/unihan-database/package.nix index 362507fc5cbaf..1cabda4b99ddc 100644 --- a/pkgs/by-name/un/unihan-database/package.nix +++ b/pkgs/by-name/un/unihan-database/package.nix @@ -1,6 +1,8 @@ -{ lib, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/un/unimap/package.nix b/pkgs/by-name/un/unimap/package.nix index eafe26962cec1..497158b1ce6b4 100644 --- a/pkgs/by-name/un/unimap/package.nix +++ b/pkgs/by-name/un/unimap/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, makeBinaryWrapper -, stdenv -, pkg-config -, openssl -, nmap +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + makeBinaryWrapper, + stdenv, + pkg-config, + openssl, + nmap, }: rustPlatform.buildRustPackage rec { @@ -27,12 +28,14 @@ rustPlatform.buildRustPackage rec { }; }; - nativeBuildInputs = [ - installShellFiles - makeBinaryWrapper - ] ++ lib.optionals (stdenv.hostPlatform.isAarch && stdenv.hostPlatform.isLinux) [ - pkg-config - ]; + nativeBuildInputs = + [ + installShellFiles + makeBinaryWrapper + ] + ++ lib.optionals (stdenv.hostPlatform.isAarch && stdenv.hostPlatform.isLinux) [ + pkg-config + ]; # only depends on openssl on aarch/arm linux buildInputs = lib.optionals (stdenv.hostPlatform.isAarch && stdenv.hostPlatform.isLinux) [ diff --git a/pkgs/by-name/un/unimatrix/package.nix b/pkgs/by-name/un/unimatrix/package.nix index 0b57d915cefb7..69ff40f2c2f02 100644 --- a/pkgs/by-name/un/unimatrix/package.nix +++ b/pkgs/by-name/un/unimatrix/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/un/unionfs-fuse/package.nix b/pkgs/by-name/un/unionfs-fuse/package.nix index 6f55dbe426a69..fe9b3ff7fd331 100644 --- a/pkgs/by-name/un/unionfs-fuse/package.nix +++ b/pkgs/by-name/un/unionfs-fuse/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, fuse }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fuse, +}: stdenv.mkDerivation rec { pname = "unionfs-fuse"; diff --git a/pkgs/by-name/un/unison-ucm/package.nix b/pkgs/by-name/un/unison-ucm/package.nix index 9926677fe2a2e..088da63703336 100644 --- a/pkgs/by-name/un/unison-ucm/package.nix +++ b/pkgs/by-name/un/unison-ucm/package.nix @@ -1,43 +1,51 @@ -{ lib -, autoPatchelfHook -, fetchurl -, gmp -, less -, makeWrapper -, libb2 -, ncurses6 -, openssl -, stdenv -, zlib +{ + lib, + autoPatchelfHook, + fetchurl, + gmp, + less, + makeWrapper, + libb2, + ncurses6, + openssl, + stdenv, + zlib, }: stdenv.mkDerivation (finalAttrs: { pname = "unison-code-manager"; version = "0.5.29"; - src = { - aarch64-darwin = fetchurl { - url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz"; - hash = "sha256-iSyhPCn8+u/kKW1NVorUaRXaP0Q771m6G1ICsHp1/Rs="; - }; - x86_64-darwin = fetchurl { - url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz"; - hash = "sha256-Rukx1I67jq78xvDB7eYP6TvZZBZtWisOv2WZe6/KlHE="; - }; - x86_64-linux = fetchurl { - url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz"; - hash = "sha256-fVsKPTi9j+LVWDPhuHYb7NKD2JXJz7nRE6yuE7rQ3e0="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); + src = + { + aarch64-darwin = fetchurl { + url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz"; + hash = "sha256-iSyhPCn8+u/kKW1NVorUaRXaP0Q771m6G1ICsHp1/Rs="; + }; + x86_64-darwin = fetchurl { + url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz"; + hash = "sha256-Rukx1I67jq78xvDB7eYP6TvZZBZtWisOv2WZe6/KlHE="; + }; + x86_64-linux = fetchurl { + url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz"; + hash = "sha256-fVsKPTi9j+LVWDPhuHYb7NKD2JXJz7nRE6yuE7rQ3e0="; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); # The tarball is just the prebuilt binary, in the archive root. sourceRoot = "."; dontBuild = true; dontConfigure = true; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ gmp ncurses6 zlib ]; + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; + buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ + gmp + ncurses6 + zlib + ]; installPhase = '' mkdir -p $out/{bin,lib} @@ -45,7 +53,12 @@ stdenv.mkDerivation (finalAttrs: { mv ui $out/ui mv unison $out/unison makeWrapper $out/unison/unison $out/bin/ucm \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libb2 openssl ]} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libb2 + openssl + ] + } \ --prefix PATH ":" "${lib.makeBinPath [ less ]}" \ --add-flags "--runtime-path $out/lib/runtime/bin/unison-runtime" \ --set UCM_WEB_UI "$out/ui" @@ -54,10 +67,21 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Modern, statically-typed purely functional language"; homepage = "https://unisonweb.org/"; - license = with licenses; [ mit bsd3 ]; + license = with licenses; [ + mit + bsd3 + ]; mainProgram = "ucm"; - maintainers = with maintainers; [ ceedubs sellout virusdave ]; - platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ]; + maintainers = with maintainers; [ + ceedubs + sellout + virusdave + ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + "aarch64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/by-name/un/unit/package.nix b/pkgs/by-name/un/unit/package.nix index 266687920ce87..94247dc399bbd 100644 --- a/pkgs/by-name/un/unit/package.nix +++ b/pkgs/by-name/un/unit/package.nix @@ -1,14 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, nixosTests, which -, pcre2 -, withPython3 ? true, python3, ncurses -, withPHP81 ? true, php81 -, withPHP82 ? false, php82 -, withPerl ? true, perl -, withRuby_3_1 ? true, ruby_3_1 -, withRuby_3_2 ? false, ruby_3_2 -, withSSL ? true, openssl ? null -, withIPv6 ? true -, withDebug ? false +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, + which, + pcre2, + withPython3 ? true, + python3, + ncurses, + withPHP81 ? true, + php81, + withPHP82 ? false, + php82, + withPerl ? true, + perl, + withRuby_3_1 ? true, + ruby_3_1, + withRuby_3_2 ? false, + ruby_3_2, + withSSL ? true, + openssl ? null, + withIPv6 ? true, + withDebug ? false, }: let @@ -25,7 +38,8 @@ let php82-unit = php82.override phpConfig; inherit (lib) optional optionals optionalString; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "1.33.0"; pname = "unit"; @@ -38,8 +52,12 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ which ]; - buildInputs = [ pcre2.dev ] - ++ optionals withPython3 [ python3 ncurses ] + buildInputs = + [ pcre2.dev ] + ++ optionals withPython3 [ + python3 + ncurses + ] ++ optional withPHP81 php81-unit ++ optional withPHP82 php82-unit ++ optional withPerl perl @@ -47,25 +65,27 @@ in stdenv.mkDerivation rec { ++ optional withRuby_3_2 ruby_3_2 ++ optional withSSL openssl; - configureFlags = [ - "--control=unix:/run/unit/control.unit.sock" - "--pid=/run/unit/unit.pid" - "--user=unit" - "--group=unit" - ] ++ optional withSSL "--openssl" + configureFlags = + [ + "--control=unix:/run/unit/control.unit.sock" + "--pid=/run/unit/unit.pid" + "--user=unit" + "--group=unit" + ] + ++ optional withSSL "--openssl" ++ optional (!withIPv6) "--no-ipv6" - ++ optional withDebug "--debug"; + ++ optional withDebug "--debug"; # Optionally add the PHP derivations used so they can be addressed in the configs usedPhp81 = optionals withPHP81 php81-unit; postConfigure = '' - ${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"} - ${optionalString withPHP81 "./configure php --module=php81 --config=${php81-unit.unwrapped.dev}/bin/php-config --lib-path=${php81-unit}/lib"} - ${optionalString withPHP82 "./configure php --module=php82 --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"} - ${optionalString withPerl "./configure perl --module=perl --perl=${perl}/bin/perl"} - ${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"} - ${optionalString withRuby_3_2 "./configure ruby --module=ruby32 --ruby=${ruby_3_2}/bin/ruby"} + ${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"} + ${optionalString withPHP81 "./configure php --module=php81 --config=${php81-unit.unwrapped.dev}/bin/php-config --lib-path=${php81-unit}/lib"} + ${optionalString withPHP82 "./configure php --module=php82 --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"} + ${optionalString withPerl "./configure perl --module=perl --perl=${perl}/bin/perl"} + ${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"} + ${optionalString withRuby_3_2 "./configure ruby --module=ruby32 --ruby=${ruby_3_2}/bin/ruby"} ''; passthru.tests = { @@ -76,9 +96,9 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Dynamic web and application server, designed to run applications in multiple languages"; mainProgram = "unitd"; - homepage = "https://unit.nginx.org/"; - license = licenses.asl20; - platforms = platforms.linux; + homepage = "https://unit.nginx.org/"; + license = licenses.asl20; + platforms = platforms.linux; maintainers = with maintainers; [ izorkin ]; }; } diff --git a/pkgs/by-name/un/units/package.nix b/pkgs/by-name/un/units/package.nix index dde43648cd730..3166ab7097efe 100644 --- a/pkgs/by-name/un/units/package.nix +++ b/pkgs/by-name/un/units/package.nix @@ -1,16 +1,18 @@ -{ lib -, fetchurl -, python3 -, readline -, stdenv -, enableCurrenciesUpdater ? true +{ + lib, + fetchurl, + python3, + readline, + stdenv, + enableCurrenciesUpdater ? true, }: let - pythonEnv = python3.withPackages(p: [ + pythonEnv = python3.withPackages (p: [ p.requests ]); -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "units"; version = "2.23"; @@ -19,14 +21,20 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-2Ve0USRZJcnmFMRRM5dEljDq+SvWK4SVugm741Ghc3A="; }; - outputs = [ "out" "info" "man" ]; - - buildInputs = [ - readline - ] ++ lib.optionals enableCurrenciesUpdater [ - pythonEnv + outputs = [ + "out" + "info" + "man" ]; + buildInputs = + [ + readline + ] + ++ lib.optionals enableCurrenciesUpdater [ + pythonEnv + ]; + prePatch = lib.optionalString enableCurrenciesUpdater '' substituteInPlace units_cur \ --replace "#!/usr/bin/env python" ${pythonEnv}/bin/python diff --git a/pkgs/by-name/un/unittest-cpp/package.nix b/pkgs/by-name/un/unittest-cpp/package.nix index 04d33b66e5a99..58f859ae43eab 100644 --- a/pkgs/by-name/un/unittest-cpp/package.nix +++ b/pkgs/by-name/un/unittest-cpp/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/un/universal-ctags/package.nix b/pkgs/by-name/un/universal-ctags/package.nix index eda2fc6a81763..abc808c3ba45a 100644 --- a/pkgs/by-name/un/universal-ctags/package.nix +++ b/pkgs/by-name/un/universal-ctags/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, autoreconfHook -, buildPackages -, coreutils -, fetchFromGitHub -, jansson -, libiconv -, perl -, pkg-config -, python3 -, libseccomp -, libyaml -, pcre2 -, libxml2 +{ + lib, + stdenv, + autoreconfHook, + buildPackages, + coreutils, + fetchFromGitHub, + jansson, + libiconv, + perl, + pkg-config, + python3, + libseccomp, + libyaml, + pcre2, + libxml2, }: stdenv.mkDerivation (finalAttrs: { @@ -37,14 +38,15 @@ stdenv.mkDerivation (finalAttrs: { (python3.withPackages (p: [ p.docutils ])) ]; - buildInputs = [ - libyaml - pcre2 - libxml2 - jansson - ] - ++ lib.optional stdenv.hostPlatform.isDarwin libiconv - ++ lib.optional stdenv.hostPlatform.isLinux libseccomp; + buildInputs = + [ + libyaml + pcre2 + libxml2 + jansson + ] + ++ lib.optional stdenv.hostPlatform.isDarwin libiconv + ++ lib.optional stdenv.hostPlatform.isLinux libseccomp; configureFlags = [ "--enable-tmpdir=/tmp" ]; @@ -68,7 +70,11 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; checkFlags = [ - "man-test" "tlib" "tmain" "tutil" "units" + "man-test" + "tlib" + "tmain" + "tutil" + "units" ]; meta = with lib; { diff --git a/pkgs/by-name/un/unix-privesc-check/package.nix b/pkgs/by-name/un/unix-privesc-check/package.nix index 5ac7a6d29de1a..aacd8e29394f2 100644 --- a/pkgs/by-name/un/unix-privesc-check/package.nix +++ b/pkgs/by-name/un/unix-privesc-check/package.nix @@ -1,21 +1,22 @@ -{ lib -, resholve -, fetchurl -, gawk -, bash -, binutils -, coreutils -, file -, findutils -, glibc -, gnugrep -, gnused -, nettools -, openssh -, postgresql -, ps -, util-linux -, which +{ + lib, + resholve, + fetchurl, + gawk, + bash, + binutils, + coreutils, + file, + findutils, + glibc, + gnugrep, + gnused, + nettools, + openssh, + postgresql, + ps, + util-linux, + which, }: # resholve does not yet support `finalAttrs` call pattern hence `rec` @@ -44,7 +45,7 @@ resholve.mkDerivation rec { coreutils file findutils # for xargs command - glibc # for ldd command + glibc # for ldd command gnugrep gnused nettools @@ -56,9 +57,9 @@ resholve.mkDerivation rec { ]; fake = { external = [ - "lanscan" # lanscan exists only for HP-UX OS - "mount" # Getting same error described in https://github.com/abathur/resholve/issues/29 - "passwd" # Getting same error described in https://github.com/abathur/resholve/issues/29 + "lanscan" # lanscan exists only for HP-UX OS + "mount" # Getting same error described in https://github.com/abathur/resholve/issues/29 + "passwd" # Getting same error described in https://github.com/abathur/resholve/issues/29 ]; }; execer = [ diff --git a/pkgs/by-name/un/unixODBC/package.nix b/pkgs/by-name/un/unixODBC/package.nix index 8587ad6d2c3c1..62787cb2228b8 100644 --- a/pkgs/by-name/un/unixODBC/package.nix +++ b/pkgs/by-name/un/unixODBC/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "unixODBC"; @@ -12,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-8hBQFEXOIb9ge6Ue+MEl4Q4i3/3/7Dd2RkYt9fAZFew="; }; - configureFlags = [ "--disable-gui" "--sysconfdir=/etc" ]; + configureFlags = [ + "--disable-gui" + "--sysconfdir=/etc" + ]; meta = with lib; { description = "ODBC driver manager for Unix"; diff --git a/pkgs/by-name/un/unixbench/package.nix b/pkgs/by-name/un/unixbench/package.nix index 7721a2648b359..52ccbc26a416d 100644 --- a/pkgs/by-name/un/unixbench/package.nix +++ b/pkgs/by-name/un/unixbench/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, pandoc -, installShellFiles -, perl -, xorg -, libGLX -, coreutils -, unixtools -, runtimeShell -, targetPackages -, gnugrep -, gawk -, withGL? true -, withX11perf? true +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + pandoc, + installShellFiles, + perl, + xorg, + libGLX, + coreutils, + unixtools, + runtimeShell, + targetPackages, + gnugrep, + gawk, + withGL ? true, + withX11perf ? true, }: stdenv.mkDerivation rec { @@ -47,28 +48,34 @@ stdenv.mkDerivation rec { installShellFiles ]; - buildInputs = [ perl ] ++ lib.optionals withGL [ - xorg.libX11 - xorg.libXext - libGLX - ]; - - runtimeDependencies = [ - coreutils - unixtools.nettools - unixtools.locale - targetPackages.stdenv.cc - gnugrep - gawk - ] ++ lib.optionals withX11perf [ - xorg.x11perf - ]; - - makeFlags = [ - "CC=${stdenv.cc.targetPrefix}cc" - ] ++ lib.optionals withGL [ - "GRAPHIC_TESTS=defined" - ]; + buildInputs = + [ perl ] + ++ lib.optionals withGL [ + xorg.libX11 + xorg.libXext + libGLX + ]; + + runtimeDependencies = + [ + coreutils + unixtools.nettools + unixtools.locale + targetPackages.stdenv.cc + gnugrep + gawk + ] + ++ lib.optionals withX11perf [ + xorg.x11perf + ]; + + makeFlags = + [ + "CC=${stdenv.cc.targetPrefix}cc" + ] + ++ lib.optionals withGL [ + "GRAPHIC_TESTS=defined" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/un/unnaturalscrollwheels/package.nix b/pkgs/by-name/un/unnaturalscrollwheels/package.nix index e47d550538657..99645317ce232 100644 --- a/pkgs/by-name/un/unnaturalscrollwheels/package.nix +++ b/pkgs/by-name/un/unnaturalscrollwheels/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, _7zz +{ + lib, + stdenvNoCC, + fetchurl, + _7zz, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "unnaturalscrollwheels"; diff --git a/pkgs/by-name/un/unnethack/package.nix b/pkgs/by-name/un/unnethack/package.nix index 15c5b1a81ebc0..892f29b822726 100644 --- a/pkgs/by-name/un/unnethack/package.nix +++ b/pkgs/by-name/un/unnethack/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, util-linux, ncurses, flex, bison }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + util-linux, + ncurses, + flex, + bison, +}: stdenv.mkDerivation rec { pname = "unnethack"; @@ -14,14 +23,19 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - nativeBuildInputs = [ util-linux flex bison ]; + nativeBuildInputs = [ + util-linux + flex + bison + ]; - configureFlags = [ "--enable-curses-graphics" - "--disable-tty-graphics" - "--with-owner=no" - "--with-group=no" - "--with-gamesdir=/tmp/unnethack" - ]; + configureFlags = [ + "--enable-curses-graphics" + "--disable-tty-graphics" + "--with-owner=no" + "--with-group=no" + "--with-gamesdir=/tmp/unnethack" + ]; makeFlags = [ "GAMEPERM=744" ]; patches = [ diff --git a/pkgs/by-name/un/unoconv/package.nix b/pkgs/by-name/un/unoconv/package.nix index 81e97d1a13fde..0291fc19c1dd7 100644 --- a/pkgs/by-name/un/unoconv/package.nix +++ b/pkgs/by-name/un/unoconv/package.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libreoffice-unwrapped, asciidoc, makeWrapper -# whether to install odt2pdf/odt2doc/... symlinks to unoconv -, installSymlinks ? true +{ + lib, + stdenv, + fetchFromGitHub, + libreoffice-unwrapped, + asciidoc, + makeWrapper, + # whether to install odt2pdf/odt2doc/... symlinks to unoconv + installSymlinks ? true, }: stdenv.mkDerivation rec { @@ -14,19 +20,24 @@ stdenv.mkDerivation rec { sha256 = "1akx64686in8j8arl6vsgp2n3bv770q48pfv283c6fz6wf9p8fvr"; }; - nativeBuildInputs = [ asciidoc makeWrapper ]; + nativeBuildInputs = [ + asciidoc + makeWrapper + ]; preBuild = '' makeFlags=prefix="$out" ''; - postInstall = '' - sed -i "s|/usr/bin/env python.*|${libreoffice-unwrapped.python.interpreter}|" "$out/bin/unoconv" - wrapProgram "$out/bin/unoconv" \ - --set-default UNO_PATH "${libreoffice-unwrapped}/lib/libreoffice/program/" - '' + lib.optionalString installSymlinks '' - make install-links prefix="$out" - ''; + postInstall = + '' + sed -i "s|/usr/bin/env python.*|${libreoffice-unwrapped.python.interpreter}|" "$out/bin/unoconv" + wrapProgram "$out/bin/unoconv" \ + --set-default UNO_PATH "${libreoffice-unwrapped}/lib/libreoffice/program/" + '' + + lib.optionalString installSymlinks '' + make install-links prefix="$out" + ''; meta = with lib; { description = "Convert between any document format supported by LibreOffice/OpenOffice"; diff --git a/pkgs/by-name/un/unp/package.nix b/pkgs/by-name/un/unp/package.nix index c11a21d05968f..8c5f1e48c2a47 100644 --- a/pkgs/by-name/un/unp/package.nix +++ b/pkgs/by-name/un/unp/package.nix @@ -1,13 +1,25 @@ -{ stdenv, lib, fetchurl, makeWrapper, perl -, unzip, gzip, file -# extractors which are added to unp’s PATH -, extraBackends ? [] +{ + stdenv, + lib, + fetchurl, + makeWrapper, + perl, + unzip, + gzip, + file, + # extractors which are added to unp’s PATH + extraBackends ? [ ], }: let - runtime_bins = [ file unzip gzip ] ++ extraBackends; + runtime_bins = [ + file + unzip + gzip + ] ++ extraBackends; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "unp"; version = "2.0-pre9"; nativeBuildInputs = [ makeWrapper ]; @@ -22,16 +34,16 @@ in stdenv.mkDerivation { dontConfigure = true; dontBuild = true; installPhase = '' - mkdir -p $out/bin - mkdir -p $out/share/man/man1 - install ./unp $out/bin/unp - install ./ucat $out/bin/ucat - cp debian/unp.1 $out/share/man/man1 + mkdir -p $out/bin + mkdir -p $out/share/man/man1 + install ./unp $out/bin/unp + install ./ucat $out/bin/ucat + cp debian/unp.1 $out/share/man/man1 - wrapProgram $out/bin/unp \ - --prefix PATH : ${lib.makeBinPath runtime_bins} - wrapProgram $out/bin/ucat \ - --prefix PATH : ${lib.makeBinPath runtime_bins} + wrapProgram $out/bin/unp \ + --prefix PATH : ${lib.makeBinPath runtime_bins} + wrapProgram $out/bin/ucat \ + --prefix PATH : ${lib.makeBinPath runtime_bins} ''; meta = with lib; { diff --git a/pkgs/by-name/un/unpaper/package.nix b/pkgs/by-name/un/unpaper/package.nix index dc38c55397a2d..d88104d2f3796 100644 --- a/pkgs/by-name/un/unpaper/package.nix +++ b/pkgs/by-name/un/unpaper/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, -# build -, meson -, ninja -, pkg-config + # build + meson, + ninja, + pkg-config, -# docs -, sphinx + # docs + sphinx, -# runtime -, buildPackages -, ffmpeg-headless + # runtime + buildPackages, + ffmpeg-headless, -# tests -, nixosTests + # tests + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/un/unparam/package.nix b/pkgs/by-name/un/unparam/package.nix index 535617b1f12ea..2f36ffff605cb 100644 --- a/pkgs/by-name/un/unparam/package.nix +++ b/pkgs/by-name/un/unparam/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/un/unpfs/package.nix b/pkgs/by-name/un/unpfs/package.nix index 4c879a14c9e33..575bb15f1bc25 100644 --- a/pkgs/by-name/un/unpfs/package.nix +++ b/pkgs/by-name/un/unpfs/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "unpfs"; diff --git a/pkgs/by-name/un/unpoller/package.nix b/pkgs/by-name/un/unpoller/package.nix index 5cae8fbc7982b..78ce18cb6eeaa 100644 --- a/pkgs/by-name/un/unpoller/package.nix +++ b/pkgs/by-name/un/unpoller/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -18,7 +19,8 @@ buildGoModule rec { vendorHash = "sha256-d7kkdiGMT3bN1dfNo8m+zp3VY8kaZM2BWO3B3iAdUQY="; ldflags = [ - "-w" "-s" + "-w" + "-s" "-X github.com/prometheus/common/version.Branch=master" "-X github.com/prometheus/common/version.BuildDate=unknown" "-X github.com/prometheus/common/version.Revision=${src.rev}" diff --git a/pkgs/by-name/un/unrar-free/package.nix b/pkgs/by-name/un/unrar-free/package.nix index de058108efaec..87cfafc7468e0 100644 --- a/pkgs/by-name/un/unrar-free/package.nix +++ b/pkgs/by-name/un/unrar-free/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, libarchive -, pkg-config +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + libarchive, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Dg+KGZcqbE1nBPaemZlWQPaUQQJmaSe0nyDQRXJzwuE="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libarchive ]; diff --git a/pkgs/by-name/un/unrar_6/package.nix b/pkgs/by-name/un/unrar_6/package.nix index 5f2248ce847e0..7df1d865d9cdd 100644 --- a/pkgs/by-name/un/unrar_6/package.nix +++ b/pkgs/by-name/un/unrar_6/package.nix @@ -1,15 +1,18 @@ -{ unrar -, fetchzip +{ + unrar, + fetchzip, }: -unrar.overrideAttrs (finalAttrs: _: { - version = "6.2.12"; +unrar.overrideAttrs ( + finalAttrs: _: { + version = "6.2.12"; - src = fetchzip { - url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz"; - stripRoot = false; - hash = "sha256-VAL3o9JGmkAcEssa/P/SL9nyxnigb7dX9YZBHrG9f0A="; - }; + src = fetchzip { + url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz"; + stripRoot = false; + hash = "sha256-VAL3o9JGmkAcEssa/P/SL9nyxnigb7dX9YZBHrG9f0A="; + }; - sourceRoot = finalAttrs.src.name; -}) + sourceRoot = finalAttrs.src.name; + } +) diff --git a/pkgs/by-name/un/unrtf/package.nix b/pkgs/by-name/un/unrtf/package.nix index 5e6766e4db942..0359448a9c606 100644 --- a/pkgs/by-name/un/unrtf/package.nix +++ b/pkgs/by-name/un/unrtf/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libiconv }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + libiconv, +}: stdenv.mkDerivation rec { pname = "unrtf"; @@ -9,13 +16,19 @@ stdenv.mkDerivation rec { sha256 = "1bil6z4niydz9gqm2j861dkxmqnpc8m7hvidsjbzz7x63whj17xl"; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ libiconv ]; preConfigure = "./bootstrap"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = with lib; { description = "Converter from Rich Text Format to other formats"; diff --git a/pkgs/by-name/un/unscd/package.nix b/pkgs/by-name/un/unscd/package.nix index e38421071422d..422f9e9d3199b 100644 --- a/pkgs/by-name/un/unscd/package.nix +++ b/pkgs/by-name/un/unscd/package.nix @@ -1,4 +1,10 @@ -{ fetchurl, fetchpatch, stdenv, systemd, lib }: +{ + fetchurl, + fetchpatch, + stdenv, + systemd, + lib, +}: stdenv.mkDerivation rec { pname = "unscd"; diff --git a/pkgs/by-name/un/unscii/package.nix b/pkgs/by-name/un/unscii/package.nix index 1b723cd313da0..b622a5fd95cc1 100644 --- a/pkgs/by-name/un/unscii/package.nix +++ b/pkgs/by-name/un/unscii/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchurl, perl, bdftopcf -, fontforge, SDL, SDL_image, mkfontscale +{ + lib, + stdenv, + fetchurl, + perl, + bdftopcf, + fontforge, + SDL, + SDL_image, + mkfontscale, }: let - perlenv = perl.withPackages (p: with p; [ - TextCharWidth - ]); + perlenv = perl.withPackages ( + p: with p; [ + TextCharWidth + ] + ); in stdenv.mkDerivation rec { pname = "unscii"; @@ -16,11 +26,14 @@ stdenv.mkDerivation rec { sha256 = "0msvqrq7x36p76a2n5bzkadh95z954ayqa08wxd017g4jpa1a4jd"; }; - nativeBuildInputs = - [ perlenv - bdftopcf fontforge SDL SDL_image - mkfontscale - ]; + nativeBuildInputs = [ + perlenv + bdftopcf + fontforge + SDL + SDL_image + mkfontscale + ]; # Fixes shebang -> wrapper problem on Darwin postPatch = '' @@ -58,7 +71,10 @@ stdenv.mkDerivation rec { mkfontscale "$extra"/share/fonts/* ''; - outputs = [ "out" "extra" ]; + outputs = [ + "out" + "extra" + ]; meta = { description = "Bitmapped character-art-friendly Unicode fonts"; diff --git a/pkgs/by-name/un/unshield/package.nix b/pkgs/by-name/un/unshield/package.nix index 50d93fea99ff2..e3f2ff9be8451 100644 --- a/pkgs/by-name/un/unshield/package.nix +++ b/pkgs/by-name/un/unshield/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + openssl, +}: stdenv.mkDerivation rec { pname = "unshield"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib openssl ]; + buildInputs = [ + zlib + openssl + ]; meta = with lib; { description = "Tool and library to extract CAB files from InstallShield installers"; diff --git a/pkgs/by-name/un/unsilence/package.nix b/pkgs/by-name/un/unsilence/package.nix index d8bc2237e2d51..a746adf6bd92f 100644 --- a/pkgs/by-name/un/unsilence/package.nix +++ b/pkgs/by-name/un/unsilence/package.nix @@ -1,8 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, ffmpeg -, +{ + lib, + fetchFromGitHub, + python3Packages, + ffmpeg, }: python3Packages.buildPythonPackage rec { pname = "unsilence"; diff --git a/pkgs/by-name/un/unstick/package.nix b/pkgs/by-name/un/unstick/package.nix index 3c61e26b335ba..91eb9616a2c6a 100644 --- a/pkgs/by-name/un/unstick/package.nix +++ b/pkgs/by-name/un/unstick/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, libseccomp }: +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libseccomp, +}: stdenv.mkDerivation rec { pname = "unstick"; @@ -13,7 +21,11 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ libseccomp ]; meta = { diff --git a/pkgs/by-name/un/untex/package.nix b/pkgs/by-name/un/untex/package.nix index cb4c0e4fcb9e6..282c5e13eb350 100644 --- a/pkgs/by-name/un/untex/package.nix +++ b/pkgs/by-name/un/untex/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "untex"; @@ -12,8 +16,14 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; unpackPhase = "tar xf $src"; - installTargets = [ "install" "install.man" ]; - installFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/share/man/man1" ]; + installTargets = [ + "install" + "install.man" + ]; + installFlags = [ + "BINDIR=$(out)/bin" + "MANDIR=$(out)/share/man/man1" + ]; preBuild = '' sed -i '1i#include \n#include ' untex.c mkdir -p $out/bin $out/share/man/man1 diff --git a/pkgs/by-name/un/untie/package.nix b/pkgs/by-name/un/untie/package.nix index 356416832cc9a..9dee6d7e422da 100644 --- a/pkgs/by-name/un/untie/package.nix +++ b/pkgs/by-name/un/untie/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "untie"; diff --git a/pkgs/by-name/un/untrunc-anthwlock/package.nix b/pkgs/by-name/un/untrunc-anthwlock/package.nix index 9598e9a7b15f6..547dc69cb65ec 100644 --- a/pkgs/by-name/un/untrunc-anthwlock/package.nix +++ b/pkgs/by-name/un/untrunc-anthwlock/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, ffmpeg, libui, unstableGitUpdater, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + ffmpeg, + libui, + unstableGitUpdater, + wrapGAppsHook3, +}: stdenv.mkDerivation { pname = "untrunc-anthwlock"; @@ -13,7 +21,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ wrapGAppsHook3 ]; - buildInputs = [ ffmpeg libui ]; + buildInputs = [ + ffmpeg + libui + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/un/unused/package.nix b/pkgs/by-name/un/unused/package.nix index 9c7875146690d..3d8fd5c8f7a58 100644 --- a/pkgs/by-name/un/unused/package.nix +++ b/pkgs/by-name/un/unused/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, rustPlatform, cmake }: +{ + lib, + fetchFromGitHub, + rustPlatform, + cmake, +}: rustPlatform.buildRustPackage rec { pname = "unused"; version = "0.4.0"; diff --git a/pkgs/by-name/un/unzip/package.nix b/pkgs/by-name/un/unzip/package.nix index 50e2261aa7d4e..a5b84b8135382 100644 --- a/pkgs/by-name/un/unzip/package.nix +++ b/pkgs/by-name/un/unzip/package.nix @@ -1,6 +1,10 @@ -{ lib, stdenv, fetchurl -, bzip2 -, enableNLS ? false, libnatspec +{ + lib, + stdenv, + fetchurl, + bzip2, + enableNLS ? false, + libnatspec, }: stdenv.mkDerivation rec { @@ -8,74 +12,77 @@ stdenv.mkDerivation rec { version = "6.0"; src = fetchurl { - url = "mirror://sourceforge/infozip/unzip${lib.replaceStrings ["."] [""] version}.tar.gz"; + url = "mirror://sourceforge/infozip/unzip${lib.replaceStrings [ "." ] [ "" ] version}.tar.gz"; sha256 = "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"; }; hardeningDisable = [ "format" ]; - patchFlags = [ "-p1" "-F3" ]; - - patches = [ - ./CVE-2014-8139.diff - ./CVE-2014-8140.diff - ./CVE-2014-8141.diff - ./CVE-2014-9636.diff - ./CVE-2015-7696.diff - ./CVE-2015-7697.diff - ./CVE-2014-9913.patch - ./CVE-2016-9844.patch - ./CVE-2018-18384.patch - ./dont-hardcode-cc.patch - (fetchurl { - url = "https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213.patch"; - name = "CVE-2019-13232-1.patch"; - sha256 = "04jzd6chg9fw4l5zadkfsrfm5llrd7vhd1dgdjjd29nrvkrjyn14"; - }) - (fetchurl { - url = "https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c.patch"; - name = "CVE-2019-13232-2.patch"; - sha256 = "0iy2wcjyvzwrjk02iszwcpg85fkjxs1bvb9isvdiywszav4yjs32"; - }) - (fetchurl { - url = "https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc.patch"; - name = "CVE-2019-13232-3.patch"; - sha256 = "1jvs7dkdqs97qnsqc6hk088alhv8j4c638k65dbib9chh40jd7pf"; - }) - (fetchurl { - urls = [ - # original link (will be dead eventually): - "https://sources.debian.org/data/main/u/unzip/6.0-26%2Bdeb11u1/debian/patches/06-initialize-the-symlink-flag.patch" - - "https://gist.github.com/veprbl/41261bb781571e2246ea42d3f37795f5/raw/d8533d8c6223150f76b0f31aec03e185fcde3579/06-initialize-the-symlink-flag.patch" - ]; - sha256 = "1h00djdvgjhwfb60wl4qrxbyfsbbnn1qw6l2hkldnif4m8f8r1zj"; - }) - (fetchurl { - urls = [ - # original link (will be dead eventually): - "https://sources.debian.org/data/main/u/unzip/6.0-27/debian/patches/28-cve-2022-0529-and-cve-2022-0530.patch" + patchFlags = [ + "-p1" + "-F3" + ]; - "https://web.archive.org/web/20230106200319/https://sources.debian.org/data/main/u/unzip/6.0-27/debian/patches/28-cve-2022-0529-and-cve-2022-0530.patch" - ]; - sha256 = "sha256-on79jElQ+z2ULWAq14RpluAqr9d6itHiZwDkKubBzTc="; - }) - # Clang 16 makes implicit declarations an error by default for C99 and newer, causing the - # configure script to fail to detect errno and the directory libraries on Darwin. - ./implicit-declarations-fix.patch - (fetchurl { - name = "CVE-2021-4217.patch"; - url = "https://git.launchpad.net/ubuntu/+source/unzip/plain/debian/patches/CVE-2021-4217.patch?id=94a790fcbb5d6c53cdf5d786bcaa0b8dc10309b6"; - hash = "sha256-YKE4jVNSlrHLbszXNYYRtAQs0ly4AsodEz6tadMIVqE="; - }) - ] ++ lib.optional enableNLS - (fetchurl { + patches = + [ + ./CVE-2014-8139.diff + ./CVE-2014-8140.diff + ./CVE-2014-8141.diff + ./CVE-2014-9636.diff + ./CVE-2015-7696.diff + ./CVE-2015-7697.diff + ./CVE-2014-9913.patch + ./CVE-2016-9844.patch + ./CVE-2018-18384.patch + ./dont-hardcode-cc.patch + (fetchurl { + url = "https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213.patch"; + name = "CVE-2019-13232-1.patch"; + sha256 = "04jzd6chg9fw4l5zadkfsrfm5llrd7vhd1dgdjjd29nrvkrjyn14"; + }) + (fetchurl { + url = "https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c.patch"; + name = "CVE-2019-13232-2.patch"; + sha256 = "0iy2wcjyvzwrjk02iszwcpg85fkjxs1bvb9isvdiywszav4yjs32"; + }) + (fetchurl { + url = "https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc.patch"; + name = "CVE-2019-13232-3.patch"; + sha256 = "1jvs7dkdqs97qnsqc6hk088alhv8j4c638k65dbib9chh40jd7pf"; + }) + (fetchurl { + urls = [ + # original link (will be dead eventually): + "https://sources.debian.org/data/main/u/unzip/6.0-26%2Bdeb11u1/debian/patches/06-initialize-the-symlink-flag.patch" + + "https://gist.github.com/veprbl/41261bb781571e2246ea42d3f37795f5/raw/d8533d8c6223150f76b0f31aec03e185fcde3579/06-initialize-the-symlink-flag.patch" + ]; + sha256 = "1h00djdvgjhwfb60wl4qrxbyfsbbnn1qw6l2hkldnif4m8f8r1zj"; + }) + (fetchurl { + urls = [ + # original link (will be dead eventually): + "https://sources.debian.org/data/main/u/unzip/6.0-27/debian/patches/28-cve-2022-0529-and-cve-2022-0530.patch" + + "https://web.archive.org/web/20230106200319/https://sources.debian.org/data/main/u/unzip/6.0-27/debian/patches/28-cve-2022-0529-and-cve-2022-0530.patch" + ]; + sha256 = "sha256-on79jElQ+z2ULWAq14RpluAqr9d6itHiZwDkKubBzTc="; + }) + # Clang 16 makes implicit declarations an error by default for C99 and newer, causing the + # configure script to fail to detect errno and the directory libraries on Darwin. + ./implicit-declarations-fix.patch + (fetchurl { + name = "CVE-2021-4217.patch"; + url = "https://git.launchpad.net/ubuntu/+source/unzip/plain/debian/patches/CVE-2021-4217.patch?id=94a790fcbb5d6c53cdf5d786bcaa0b8dc10309b6"; + hash = "sha256-YKE4jVNSlrHLbszXNYYRtAQs0ly4AsodEz6tadMIVqE="; + }) + ] + ++ lib.optional enableNLS (fetchurl { url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-arch/unzip/files/unzip-6.0-natspec.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d"; name = "unzip-6.0-natspec.patch"; sha256 = "67ab260ae6adf8e7c5eda2d1d7846929b43562943ec4aff629bd7018954058b1"; }); - nativeBuildInputs = [ bzip2 ]; buildInputs = [ bzip2 ] ++ lib.optional enableNLS libnatspec; @@ -83,14 +90,15 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-lbz2" + lib.optionalString enableNLS " -lnatspec"; - buildFlags = [ - "generic" - "D_USE_BZ2=-DUSE_BZIP2" - "L_BZ2=-lbz2" - ] - # `lchmod` is not available on Linux, so we remove it to fix "not supported" errors (when the zip file contains symlinks). - # Alpine (musl) and Debian (glibc) also add this flag. - ++ lib.optionals stdenv.hostPlatform.isLinux [ "LOCAL_UNZIP=-DNO_LCHMOD" ]; + buildFlags = + [ + "generic" + "D_USE_BZ2=-DUSE_BZIP2" + "L_BZ2=-lbz2" + ] + # `lchmod` is not available on Linux, so we remove it to fix "not supported" errors (when the zip file contains symlinks). + # Alpine (musl) and Debian (glibc) also add this flag. + ++ lib.optionals stdenv.hostPlatform.isLinux [ "LOCAL_UNZIP=-DNO_LCHMOD" ]; preConfigure = '' sed -i -e 's@CF="-O3 -Wall -I. -DASM_CRC $(LOC)"@CF="-O3 -Wall -I. -DASM_CRC -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(LOC)"@' unix/Makefile diff --git a/pkgs/by-name/un/unzoo/package.nix b/pkgs/by-name/un/unzoo/package.nix index b02d010ac0c9a..0b2fb186b629e 100644 --- a/pkgs/by-name/un/unzoo/package.nix +++ b/pkgs/by-name/un/unzoo/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { @@ -14,7 +15,10 @@ stdenv.mkDerivation rec { hash = "sha256-oPq1I7EsvHaJ7anHbm/KWrYrxJkM79rLhgRfSAdoLtk="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/un/unzrip/package.nix b/pkgs/by-name/un/unzrip/package.nix index 2e92fadd39a91..fbd233b600679 100644 --- a/pkgs/by-name/un/unzrip/package.nix +++ b/pkgs/by-name/un/unzrip/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, zstd +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + zstd, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/up/up/package.nix b/pkgs/by-name/up/up/package.nix index 9fa0c700b8c37..a25f1406e436e 100644 --- a/pkgs/by-name/up/up/package.nix +++ b/pkgs/by-name/up/up/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "up"; diff --git a/pkgs/by-name/up/update-python-libraries/package.nix b/pkgs/by-name/up/update-python-libraries/package.nix index f7dfdf0a8b457..46e0e3b7f7729 100644 --- a/pkgs/by-name/up/update-python-libraries/package.nix +++ b/pkgs/by-name/up/update-python-libraries/package.nix @@ -1,14 +1,28 @@ -{ python3, runCommand, git, nix, nix-prefetch-git }: +{ + python3, + runCommand, + git, + nix, + nix-prefetch-git, +}: -runCommand "update-python-libraries" { - buildInputs = [ - nix - nix-prefetch-git - (python3.withPackages(ps: with ps; [ packaging requests toolz ])) - git - ]; -} '' - cp ${./update-python-libraries.py} $out - patchShebangs $out - substituteInPlace $out --replace 'GIT = "git"' 'GIT = "${git}/bin/git"' -'' +runCommand "update-python-libraries" + { + buildInputs = [ + nix + nix-prefetch-git + (python3.withPackages ( + ps: with ps; [ + packaging + requests + toolz + ] + )) + git + ]; + } + '' + cp ${./update-python-libraries.py} $out + patchShebangs $out + substituteInPlace $out --replace 'GIT = "git"' 'GIT = "${git}/bin/git"' + '' diff --git a/pkgs/by-name/up/updfparser/package.nix b/pkgs/by-name/up/updfparser/package.nix index 6eb4e65e657ae..93f6143964b09 100644 --- a/pkgs/by-name/up/updfparser/package.nix +++ b/pkgs/by-name/up/updfparser/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: stdenv.mkDerivation rec { name = "updfparser"; @@ -11,7 +15,10 @@ stdenv.mkDerivation rec { extension = "zip"; }; - makeFlags = [ "BUILD_STATIC=1" "BUILD_SHARED=1" ]; + makeFlags = [ + "BUILD_STATIC=1" + "BUILD_SHARED=1" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/up/updog/package.nix b/pkgs/by-name/up/updog/package.nix index c5cccac026ba8..772dcf8b87881 100644 --- a/pkgs/by-name/up/updog/package.nix +++ b/pkgs/by-name/up/updog/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "updog"; @@ -10,7 +14,11 @@ python3Packages.buildPythonApplication rec { }; propagatedBuildInputs = with python3Packages; [ - colorama flask flask-httpauth werkzeug pyopenssl + colorama + flask + flask-httpauth + werkzeug + pyopenssl ]; checkPhase = '' diff --git a/pkgs/by-name/up/upiano/package.nix b/pkgs/by-name/up/upiano/package.nix index 4ad1456fc96e9..035423dbbdb71 100644 --- a/pkgs/by-name/up/upiano/package.nix +++ b/pkgs/by-name/up/upiano/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/up/upnp-router-control/package.nix b/pkgs/by-name/up/upnp-router-control/package.nix index 8991e66b7c24f..a837a922b060a 100644 --- a/pkgs/by-name/up/upnp-router-control/package.nix +++ b/pkgs/by-name/up/upnp-router-control/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchzip -, desktop-file-utils -, intltool -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, gssdp_1_6 -, gtk3 -, gupnp_1_6 +{ + lib, + stdenv, + fetchzip, + desktop-file-utils, + intltool, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + gssdp_1_6, + gtk3, + gupnp_1_6, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/up/ups/package.nix b/pkgs/by-name/up/ups/package.nix index 4da9d2f9f3ae0..f563ea93a1700 100644 --- a/pkgs/by-name/up/ups/package.nix +++ b/pkgs/by-name/up/ups/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { pname = "ups"; diff --git a/pkgs/by-name/up/upspin/package.nix b/pkgs/by-name/up/upspin/package.nix index d0ad20a66a77e..4148d30da9f15 100644 --- a/pkgs/by-name/up/upspin/package.nix +++ b/pkgs/by-name/up/upspin/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "upspin"; diff --git a/pkgs/by-name/up/upsun/package.nix b/pkgs/by-name/up/upsun/package.nix index fd1242e593307..7b177fa84b595 100644 --- a/pkgs/by-name/up/upsun/package.nix +++ b/pkgs/by-name/up/upsun/package.nix @@ -4,18 +4,27 @@ fetchurl, testers, installShellFiles, - upsun + upsun, }: -let versions = lib.importJSON ./versions.json; - arch = if stdenvNoCC.hostPlatform.isx86_64 then "amd64" - else if stdenvNoCC.hostPlatform.isAarch64 then "arm64" - else throw "Unsupported architecture"; - os = if stdenvNoCC.hostPlatform.isLinux then "linux" - else if stdenvNoCC.hostPlatform.isDarwin then "darwin" - else throw "Unsupported os"; - versionInfo = versions."${os}-${arch}"; - inherit (versionInfo) hash url; +let + versions = lib.importJSON ./versions.json; + arch = + if stdenvNoCC.hostPlatform.isx86_64 then + "amd64" + else if stdenvNoCC.hostPlatform.isAarch64 then + "arm64" + else + throw "Unsupported architecture"; + os = + if stdenvNoCC.hostPlatform.isLinux then + "linux" + else if stdenvNoCC.hostPlatform.isDarwin then + "darwin" + else + throw "Unsupported os"; + versionInfo = versions."${os}-${arch}"; + inherit (versionInfo) hash url; in stdenvNoCC.mkDerivation (finalAttrs: { @@ -56,7 +65,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = lib.licenses.mit; mainProgram = "upsun"; maintainers = with lib.maintainers; [ spk ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/by-name/up/upterm/package.nix b/pkgs/by-name/up/upterm/package.nix index 50383a1c3eebc..3c9b76021c170 100644 --- a/pkgs/by-name/up/upterm/package.nix +++ b/pkgs/by-name/up/upterm/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nixosTests, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-PUcfE7LQQh2ftiOiOoucSfxYnTI4zRNmmSqqmvvvs7g="; - subPackages = [ "cmd/upterm" "cmd/uptermd" ]; + subPackages = [ + "cmd/upterm" + "cmd/uptermd" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/up/uptime-kuma/package.nix b/pkgs/by-name/up/uptime-kuma/package.nix index d7e03ab16cd45..8682db20ad453 100644 --- a/pkgs/by-name/up/uptime-kuma/package.nix +++ b/pkgs/by-name/up/uptime-kuma/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, buildNpmPackage, python3, nodejs, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + buildNpmPackage, + python3, + nodejs, + nixosTests, +}: buildNpmPackage rec { pname = "uptime-kuma"; diff --git a/pkgs/by-name/up/uptimed/package.nix b/pkgs/by-name/up/uptimed/package.nix index 26e536618d6ea..af792b1b79367 100644 --- a/pkgs/by-name/up/uptimed/package.nix +++ b/pkgs/by-name/up/uptimed/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "uptimed"; @@ -28,7 +33,10 @@ stdenv.mkDerivation rec { which can also easily be used to show your records on a web page. ''; homepage = "https://github.com/rpodgorny/uptimed/"; - license = with licenses; [ gpl2Only lgpl21Plus ]; + license = with licenses; [ + gpl2Only + lgpl21Plus + ]; maintainers = [ ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/up/upwork/package.nix b/pkgs/by-name/up/upwork/package.nix index 6062be7b72007..722cdb0a6bf7b 100644 --- a/pkgs/by-name/up/upwork/package.nix +++ b/pkgs/by-name/up/upwork/package.nix @@ -1,8 +1,47 @@ -{ lib, stdenv, requireFile, dpkg, wrapGAppsHook3, autoPatchelfHook -, alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype -, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11, libxcb -, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender -, libXScrnSaver, libXtst, mesa, nspr, nss, openssl, pango, systemd }: +{ + lib, + stdenv, + requireFile, + dpkg, + wrapGAppsHook3, + autoPatchelfHook, + alsa-lib, + atk, + at-spi2-atk, + at-spi2-core, + cairo, + cups, + dbus, + expat, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + libcxx, + libdrm, + libnotify, + libpulseaudio, + libuuid, + libX11, + libxcb, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXScrnSaver, + libXtst, + mesa, + nspr, + nss, + openssl, + pango, + systemd, +}: stdenv.mkDerivation rec { pname = "upwork"; @@ -21,11 +60,43 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - libcxx systemd libpulseaudio - stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups - dbus expat fontconfig freetype gdk-pixbuf glib gtk3 libdrm libnotify - libuuid libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes - libXi libXrandr libXrender libXScrnSaver libXtst mesa nspr nss pango systemd + libcxx + systemd + libpulseaudio + stdenv.cc.cc + alsa-lib + atk + at-spi2-atk + at-spi2-core + cairo + cups + dbus + expat + fontconfig + freetype + gdk-pixbuf + glib + gtk3 + libdrm + libnotify + libuuid + libX11 + libxcb + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXScrnSaver + libXtst + mesa + nspr + nss + pango + systemd ]; libPath = lib.makeLibraryPath buildInputs; diff --git a/pkgs/by-name/up/upx/package.nix b/pkgs/by-name/up/upx/package.nix index 280e1425ef537..6063ceb136222 100644 --- a/pkgs/by-name/up/upx/package.nix +++ b/pkgs/by-name/up/upx/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, nix-update-script -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nix-update-script, + testers, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/uq/uq/package.nix b/pkgs/by-name/uq/uq/package.nix index 414403d81ef9d..7941059209555 100644 --- a/pkgs/by-name/uq/uq/package.nix +++ b/pkgs/by-name/uq/uq/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { description = "Simple, user-friendly alternative to sort | uniq"; homepage = "https://github.com/lostutils/uq"; license = licenses.mit; - maintainers = with maintainers; [ doronbehar matthiasbeyer ]; + maintainers = with maintainers; [ + doronbehar + matthiasbeyer + ]; mainProgram = "uq"; }; } diff --git a/pkgs/by-name/uq/uqm/3dovideo.nix b/pkgs/by-name/uq/uqm/3dovideo.nix index 2281688949c87..78b42ae2c1dfd 100644 --- a/pkgs/by-name/uq/uqm/3dovideo.nix +++ b/pkgs/by-name/uq/uqm/3dovideo.nix @@ -1,39 +1,61 @@ -{ stdenv, lib, requireFile, writeText, fetchFromGitHub, haskellPackages }: +{ + stdenv, + lib, + requireFile, + writeText, + fetchFromGitHub, + haskellPackages, +}: let - makeSpin = num: let - padded = (lib.optionalString (lib.lessThan num 10) "0") + toString num; - in "slides.spins.${padded} = 3DOVID:" + - "addons/3dovideo/spins/ship${padded}.duk:" + - "addons/3dovideo/spins/spin.aif:" + - "addons/3dovideo/spins/ship${padded}.aif:89"; - - videoRMP = writeText "3dovideo.rmp" ('' - slides.ending = 3DOVID:addons/3dovideo/ending/victory.duk - slides.intro = 3DOVID:addons/3dovideo/intro/intro.duk - '' + lib.concatMapStrings makeSpin (lib.range 0 24)); - - helper = with haskellPackages; mkDerivation rec { - pname = "uqm3donix"; - version = "0.1.0.0"; - - src = fetchFromGitHub { - owner = "aszlig"; - repo = "uqm3donix"; - rev = "v${version}"; - hash = "sha256-rK30u2PBysiSGSA9829F1Nom/wtoVN6rGTBneRKeWEw="; - }; + makeSpin = + num: + let + padded = (lib.optionalString (lib.lessThan num 10) "0") + toString num; + in + "slides.spins.${padded} = 3DOVID:" + + "addons/3dovideo/spins/ship${padded}.duk:" + + "addons/3dovideo/spins/spin.aif:" + + "addons/3dovideo/spins/ship${padded}.aif:89"; - isLibrary = false; - isExecutable = true; + videoRMP = writeText "3dovideo.rmp" ( + '' + slides.ending = 3DOVID:addons/3dovideo/ending/victory.duk + slides.intro = 3DOVID:addons/3dovideo/intro/intro.duk + '' + + lib.concatMapStrings makeSpin (lib.range 0 24) + ); - buildDepends = [ base binary bytestring filepath tar ]; + helper = + with haskellPackages; + mkDerivation rec { + pname = "uqm3donix"; + version = "0.1.0.0"; - description = "Extract video files from a Star Control II 3DO image"; - license = lib.licenses.bsd3; - }; + src = fetchFromGitHub { + owner = "aszlig"; + repo = "uqm3donix"; + rev = "v${version}"; + hash = "sha256-rK30u2PBysiSGSA9829F1Nom/wtoVN6rGTBneRKeWEw="; + }; + + isLibrary = false; + isExecutable = true; + + buildDepends = [ + base + binary + bytestring + filepath + tar + ]; + + description = "Extract video files from a Star Control II 3DO image"; + license = lib.licenses.bsd3; + }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "uqm-3dovideo"; src = requireFile rec { diff --git a/pkgs/by-name/uq/uqm/package.nix b/pkgs/by-name/uq/uqm/package.nix index eb5fabf47dfae..03ac250257f75 100644 --- a/pkgs/by-name/uq/uqm/package.nix +++ b/pkgs/by-name/uq/uqm/package.nix @@ -1,32 +1,58 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, pkg-config, libGLU, libGL -, SDL2, libpng, libvorbis, libogg, libmikmod - -, use3DOVideos ? false, requireFile ? null, writeText ? null -, haskellPackages ? null - -, useRemixPacks ? false +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + pkg-config, + libGLU, + libGL, + SDL2, + libpng, + libvorbis, + libogg, + libmikmod, + + use3DOVideos ? false, + requireFile ? null, + writeText ? null, + haskellPackages ? null, + + useRemixPacks ? false, }: -assert use3DOVideos -> requireFile != null && writeText != null - && haskellPackages != null; +assert use3DOVideos -> requireFile != null && writeText != null && haskellPackages != null; let videos = import ./3dovideo.nix { - inherit stdenv lib requireFile writeText fetchFromGitHub haskellPackages; + inherit + stdenv + lib + requireFile + writeText + fetchFromGitHub + haskellPackages + ; }; - remixPacks = lib.imap1 (num: sha256: fetchurl rec { - name = "uqm-remix-disc${toString num}.uqm"; - url = "mirror://sourceforge/sc2/${name}"; - inherit sha256; - }) [ - "1s470i6hm53l214f2rkrbp111q4jyvnxbzdziqg32ffr8m3nk5xn" - "1pmsq65k8gk4jcbyk3qjgi9yqlm0dlaimc2r8hz2fc9f2124gfvz" - "07g966ylvw9k5q9jdzqdczp7c5qv4s91xjlg4z5z27fgcs7rzn76" - "1l46k9aqlcp7d3fjkjb3n05cjfkxx8rjlypgqy0jmdx529vikj54" - ]; - -in stdenv.mkDerivation rec { + remixPacks = + lib.imap1 + ( + num: sha256: + fetchurl rec { + name = "uqm-remix-disc${toString num}.uqm"; + url = "mirror://sourceforge/sc2/${name}"; + inherit sha256; + } + ) + [ + "1s470i6hm53l214f2rkrbp111q4jyvnxbzdziqg32ffr8m3nk5xn" + "1pmsq65k8gk4jcbyk3qjgi9yqlm0dlaimc2r8hz2fc9f2124gfvz" + "07g966ylvw9k5q9jdzqdczp7c5qv4s91xjlg4z5z27fgcs7rzn76" + "1l46k9aqlcp7d3fjkjb3n05cjfkxx8rjlypgqy0jmdx529vikj54" + ]; + +in +stdenv.mkDerivation rec { pname = "uqm"; version = "0.8.0"; @@ -51,19 +77,32 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL2 libpng libvorbis libogg libmikmod libGLU libGL ]; - - postUnpack = '' - mkdir -p uqm-${version}/content/packages - mkdir -p uqm-${version}/content/addons - ln -s "$content" "uqm-${version}/content/packages/uqm-${version}-content.uqm" - ln -s "$music" "uqm-${version}/content/addons/uqm-${version}-3domusic.uqm" - ln -s "$voice" "uqm-${version}/content/addons/uqm-${version}-voice.uqm" - '' + lib.optionalString useRemixPacks (lib.concatMapStrings (disc: '' - ln -s "${disc}" "uqm-$version/content/addons/${disc.name}" - '') remixPacks) + lib.optionalString use3DOVideos '' - ln -s "${videos}" "uqm-${version}/content/addons/3dovideo" - ''; + buildInputs = [ + SDL2 + libpng + libvorbis + libogg + libmikmod + libGLU + libGL + ]; + + postUnpack = + '' + mkdir -p uqm-${version}/content/packages + mkdir -p uqm-${version}/content/addons + ln -s "$content" "uqm-${version}/content/packages/uqm-${version}-content.uqm" + ln -s "$music" "uqm-${version}/content/addons/uqm-${version}-3domusic.uqm" + ln -s "$voice" "uqm-${version}/content/addons/uqm-${version}-voice.uqm" + '' + + lib.optionalString useRemixPacks ( + lib.concatMapStrings (disc: '' + ln -s "${disc}" "uqm-$version/content/addons/${disc.name}" + '') remixPacks + ) + + lib.optionalString use3DOVideos '' + ln -s "${videos}" "uqm-${version}/content/addons/3dovideo" + ''; postPatch = '' # Using _STRINGS_H as include guard conflicts with glibc. @@ -104,7 +143,10 @@ in stdenv.mkDerivation rec { ''; homepage = "https://sc2.sourceforge.net/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ jcumming aszlig ]; + maintainers = with lib.maintainers; [ + jcumming + aszlig + ]; platforms = with lib.platforms; linux; }; } diff --git a/pkgs/by-name/uq/uqmi/package.nix b/pkgs/by-name/uq/uqmi/package.nix index 37540cd450240..6ee2d0f28f044 100644 --- a/pkgs/by-name/uq/uqmi/package.nix +++ b/pkgs/by-name/uq/uqmi/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchgit, cmake, perl, libubox, json_c }: +{ + stdenv, + lib, + fetchgit, + cmake, + perl, + libubox, + json_c, +}: stdenv.mkDerivation { pname = "uqmi"; @@ -15,23 +23,35 @@ stdenv.mkDerivation { patchShebangs . ''; - nativeBuildInputs = [ cmake perl ]; - buildInputs = [ libubox json_c ]; + nativeBuildInputs = [ + cmake + perl + ]; + buildInputs = [ + libubox + json_c + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but breaks on darwin (with clang) or older gcc - "-Wno-error=dangling-pointer" - "-Wno-error=maybe-uninitialized" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=sometimes-uninitialized" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but breaks on darwin (with clang) or older gcc + "-Wno-error=dangling-pointer" + "-Wno-error=maybe-uninitialized" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=sometimes-uninitialized" + ] + ); meta = with lib; { description = "Tiny QMI command line utility"; homepage = "https://git.openwrt.org/?p=project/uqmi.git;a=summary"; license = licenses.gpl2Plus; platforms = platforms.all; - maintainers = with maintainers; [ fpletz mkg20001 ]; + maintainers = with maintainers; [ + fpletz + mkg20001 + ]; mainProgram = "uqmi"; }; } diff --git a/pkgs/by-name/ur/urbackup-client/package.nix b/pkgs/by-name/ur/urbackup-client/package.nix index 1b714bdccb2af..6ba24343cee2c 100644 --- a/pkgs/by-name/ur/urbackup-client/package.nix +++ b/pkgs/by-name/ur/urbackup-client/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchzip -, wxGTK32 -, zlib -, zstd +{ + stdenv, + lib, + fetchzip, + wxGTK32, + zlib, + zstd, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ur/urbanterror/package.nix b/pkgs/by-name/ur/urbanterror/package.nix index cce5deaac246d..fc54bcfc09018 100644 --- a/pkgs/by-name/ur/urbanterror/package.nix +++ b/pkgs/by-name/ur/urbanterror/package.nix @@ -1,17 +1,18 @@ -{ lib -, fetchzip -, stdenv -, copyDesktopItems -, imagemagick -, libicns -, makeBinaryWrapper -, curl -, libGL -, libGLU -, openal -, libXxf86vm -, SDL -, makeDesktopItem +{ + lib, + fetchzip, + stdenv, + copyDesktopItems, + imagemagick, + libicns, + makeBinaryWrapper, + curl, + libGL, + libGLU, + openal, + libXxf86vm, + SDL, + makeDesktopItem, }: let @@ -19,7 +20,9 @@ let urbanterror-maps = fetchzip { name = "urbanterror-maps"; - url = "http://cdn.urbanterror.info/urt/43/releases/zips/UrbanTerror${builtins.replaceStrings ["."] [""] version}_full.zip"; + url = "http://cdn.urbanterror.info/urt/43/releases/zips/UrbanTerror${ + builtins.replaceStrings [ "." ] [ "" ] version + }_full.zip"; hash = "sha256-C6Gb5PPECAOjQhmkrzkV6dpY/zHVtUj9oq3507o2PUI="; }; @@ -93,7 +96,10 @@ stdenv.mkDerivation { icon = "urbanterror"; comment = "A multiplayer tactical FPS on top of Quake 3 engine"; desktopName = "Urban Terror"; - categories = [ "Game" "ActionGame" ]; + categories = [ + "Game" + "ActionGame" + ]; }) ]; @@ -109,7 +115,10 @@ stdenv.mkDerivation { realism". This results in a very unique, enjoyable and addictive game. ''; mainProgram = "urbanterror"; - maintainers = with lib.maintainers; [ astsmtl drupol ]; + maintainers = with lib.maintainers; [ + astsmtl + drupol + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ur/urdfdom-headers/package.nix b/pkgs/by-name/ur/urdfdom-headers/package.nix index 7809355cb3015..e1d0ed250c2d4 100644 --- a/pkgs/by-name/ur/urdfdom-headers/package.nix +++ b/pkgs/by-name/ur/urdfdom-headers/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, validatePkgConfig }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + validatePkgConfig, +}: stdenv.mkDerivation rec { pname = "urdfdom-headers"; @@ -19,7 +26,10 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake validatePkgConfig ]; + nativeBuildInputs = [ + cmake + validatePkgConfig + ]; meta = with lib; { description = "URDF (U-Robot Description Format) headers provides core data structure headers for URDF"; diff --git a/pkgs/by-name/ur/urdfdom/package.nix b/pkgs/by-name/ur/urdfdom/package.nix index f26162ac8c83b..6407c1b42d2f2 100644 --- a/pkgs/by-name/ur/urdfdom/package.nix +++ b/pkgs/by-name/ur/urdfdom/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, validatePkgConfig -, tinyxml-2, console-bridge, urdfdom-headers }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + validatePkgConfig, + tinyxml-2, + console-bridge, + urdfdom-headers, +}: stdenv.mkDerivation rec { pname = "urdfdom"; @@ -20,8 +30,15 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config validatePkgConfig ]; - buildInputs = [ tinyxml-2 console-bridge ]; + nativeBuildInputs = [ + cmake + pkg-config + validatePkgConfig + ]; + buildInputs = [ + tinyxml-2 + console-bridge + ]; propagatedBuildInputs = [ urdfdom-headers ]; meta = with lib; { diff --git a/pkgs/by-name/ur/urh/package.nix b/pkgs/by-name/ur/urh/package.nix index 8643ca9e7607b..047abf6f7596d 100644 --- a/pkgs/by-name/ur/urh/package.nix +++ b/pkgs/by-name/ur/urh/package.nix @@ -1,12 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, python3Packages -, hackrf, rtl-sdr, airspy, limesuite, libiio -, libbladeRF -, imagemagick -, makeDesktopItem -, copyDesktopItems -, qt5 -, wrapGAppsHook3 -, USRPSupport ? false, uhd }: +{ + stdenv, + lib, + fetchFromGitHub, + python3Packages, + hackrf, + rtl-sdr, + airspy, + limesuite, + libiio, + libbladeRF, + imagemagick, + makeDesktopItem, + copyDesktopItems, + qt5, + wrapGAppsHook3, + USRPSupport ? false, + uhd, +}: python3Packages.buildPythonApplication rec { pname = "urh"; @@ -19,13 +29,31 @@ python3Packages.buildPythonApplication rec { hash = "sha256-r3d80dzGwgf5Tuwt1IWGcmNbblwBNKTKKm+GGx1r2HE="; }; - nativeBuildInputs = [ qt5.wrapQtAppsHook wrapGAppsHook3 copyDesktopItems ]; - buildInputs = [ hackrf rtl-sdr airspy limesuite libiio libbladeRF ] + nativeBuildInputs = [ + qt5.wrapQtAppsHook + wrapGAppsHook3 + copyDesktopItems + ]; + buildInputs = + [ + hackrf + rtl-sdr + airspy + limesuite + libiio + libbladeRF + ] ++ lib.optional USRPSupport uhd ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland; propagatedBuildInputs = with python3Packages; [ - pyqt5 numpy psutil cython pyzmq pyaudio setuptools + pyqt5 + numpy + psutil + cython + pyzmq + pyaudio + setuptools ]; # dont double wrap @@ -47,7 +75,10 @@ python3Packages.buildPythonApplication rec { exec = "urh"; icon = "urh"; desktopName = "Universal Radio Hacker"; - categories = [ "Network" "HamRadio" ]; + categories = [ + "Network" + "HamRadio" + ]; comment = meta.description; }) ]; diff --git a/pkgs/by-name/ur/uri/package.nix b/pkgs/by-name/ur/uri/package.nix index 039db93926717..5b788d8d424af 100644 --- a/pkgs/by-name/ur/uri/package.nix +++ b/pkgs/by-name/ur/uri/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, doxygen }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, +}: stdenv.mkDerivation rec { pname = "uri"; @@ -11,20 +17,28 @@ stdenv.mkDerivation rec { sha256 = "148361pixrm94q6v04k13s1msa04bx9yc3djb0lxpa7dlw19vhcd"; }; - env.NIX_CFLAGS_COMPILE = toString ([ - "-Wno-error=parentheses" - # Needed with GCC 12 - "-Wno-error=deprecated-declarations" - "-Wno-error=nonnull" - ] ++ lib.optionals stdenv.cc.isClang [ - # Needed with Clang 16 - "-Wno-error=deprecated-builtins" - ]); - - nativeBuildInputs = [ cmake doxygen ]; + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-Wno-error=parentheses" + # Needed with GCC 12 + "-Wno-error=deprecated-declarations" + "-Wno-error=nonnull" + ] + ++ lib.optionals stdenv.cc.isClang [ + # Needed with Clang 16 + "-Wno-error=deprecated-builtins" + ] + ); + + nativeBuildInputs = [ + cmake + doxygen + ]; cmakeFlags = [ - "-DUri_BUILD_TESTS=OFF" "-DUri_BUILD_DOCS=ON" "-DBUILD_SHARED_LIBS=ON" + "-DUri_BUILD_TESTS=OFF" + "-DUri_BUILD_DOCS=ON" + "-DBUILD_SHARED_LIBS=ON" ]; postBuild = "make doc"; diff --git a/pkgs/by-name/ur/uriparser/package.nix b/pkgs/by-name/ur/uriparser/package.nix index 370a1dfe4ea93..721ea8182dc6b 100644 --- a/pkgs/by-name/ur/uriparser/package.nix +++ b/pkgs/by-name/ur/uriparser/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, gtest }: +{ + lib, + stdenv, + fetchurl, + cmake, + gtest, +}: stdenv.mkDerivation rec { pname = "uriparser"; diff --git a/pkgs/by-name/ur/urjtag/package.nix b/pkgs/by-name/ur/urjtag/package.nix index dae7cf2ba6403..31ab002965399 100644 --- a/pkgs/by-name/ur/urjtag/package.nix +++ b/pkgs/by-name/ur/urjtag/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, gettext -, libftdi1 -, libtool -, libusb-compat-0_1 -, pkg-config -, readline -, which -, bsdlSupport ? true -, jedecSupport ? true -, staplSupport ? true -, svfSupport ? true +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gettext, + libftdi1, + libtool, + libusb-compat-0_1, + pkg-config, + readline, + which, + bsdlSupport ? true, + jedecSupport ? true, + staplSupport ? true, + svfSupport ? true, }: stdenv.mkDerivation rec { @@ -38,16 +39,19 @@ stdenv.mkDerivation rec { ]; configureFlags = [ - (lib.enableFeature bsdlSupport "bsdl") + (lib.enableFeature bsdlSupport "bsdl") (lib.enableFeature jedecSupport "jedec-exp") (lib.enableFeature staplSupport "stapl") - (lib.enableFeature svfSupport "svf") + (lib.enableFeature svfSupport "svf") ]; meta = with lib; { homepage = "http://urjtag.org/"; description = "Universal JTAG library, server and tools"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/ur/url-parser/package.nix b/pkgs/by-name/ur/url-parser/package.nix index c3b8a37b1103d..5faa2118370c7 100644 --- a/pkgs/by-name/ur/url-parser/package.nix +++ b/pkgs/by-name/ur/url-parser/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -19,8 +20,10 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X" "main.BuildVersion=${version}" - "-X" "main.BuildDate=1970-01-01" + "-X" + "main.BuildVersion=${version}" + "-X" + "main.BuildDate=1970-01-01" ]; meta = with lib; { diff --git a/pkgs/by-name/ur/urlencode/package.nix b/pkgs/by-name/ur/urlencode/package.nix index da7066adc8823..54c89485d1c7d 100644 --- a/pkgs/by-name/ur/urlencode/package.nix +++ b/pkgs/by-name/ur/urlencode/package.nix @@ -1,6 +1,7 @@ -{ fetchFromGitHub -, lib -, rustPlatform +{ + fetchFromGitHub, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "urlencode"; diff --git a/pkgs/by-name/ur/urlhunter/package.nix b/pkgs/by-name/ur/urlhunter/package.nix index 9f3f6b5a09b0c..315ce0d163438 100644 --- a/pkgs/by-name/ur/urlhunter/package.nix +++ b/pkgs/by-name/ur/urlhunter/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/ur/urlwatch/package.nix b/pkgs/by-name/ur/urlwatch/package.nix index 1eec3cf0653d6..b484e07e2e5d0 100644 --- a/pkgs/by-name/ur/urlwatch/package.nix +++ b/pkgs/by-name/ur/urlwatch/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3Packages +{ + lib, + fetchFromGitHub, + python3Packages, }: python3Packages.buildPythonApplication rec { @@ -38,6 +39,9 @@ python3Packages.buildPythonApplication rec { mainProgram = "urlwatch"; homepage = "https://thp.io/2008/urlwatch/"; license = licenses.bsd3; - maintainers = with maintainers; [ kmein tv ]; + maintainers = with maintainers; [ + kmein + tv + ]; }; } diff --git a/pkgs/by-name/ur/urn-timer/package.nix b/pkgs/by-name/ur/urn-timer/package.nix index ad0c271fda667..20bbf66a86eba 100644 --- a/pkgs/by-name/ur/urn-timer/package.nix +++ b/pkgs/by-name/ur/urn-timer/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, unstableGitUpdater -, xxd -, pkg-config -, imagemagick -, wrapGAppsHook3 -, gtk3 -, jansson -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + xxd, + pkg-config, + imagemagick, + wrapGAppsHook3, + gtk3, + jansson, + nixosTests, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ur/urn/package.nix b/pkgs/by-name/ur/urn/package.nix index 87e28d9672dae..9f1ee36f59a67 100644 --- a/pkgs/by-name/ur/urn/package.nix +++ b/pkgs/by-name/ur/urn/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitLab, buildEnv, makeWrapper, lua, luajit, readline -, useLuaJit ? false -, extraLibraries ? [] +{ + lib, + stdenv, + fetchFromGitLab, + buildEnv, + makeWrapper, + lua, + luajit, + readline, + useLuaJit ? false, + extraLibraries ? [ ], }: let @@ -11,17 +19,21 @@ let urn-rt = buildEnv { name = "urn-rt-${version}"; ignoreCollisions = true; - paths = if useLuaJit then - [ luajit readline ] - else - [ lua ]; + paths = + if useLuaJit then + [ + luajit + readline + ] + else + [ lua ]; }; inherit (lib) optionalString concatMapStringsSep; in stdenv.mkDerivation { - pname = "urn${optionalString (extraLibraries != []) "-with-libraries"}"; + pname = "urn${optionalString (extraLibraries != [ ]) "-with-libraries"}"; inherit version; src = fetchFromGitLab { @@ -36,7 +48,7 @@ stdenv.mkDerivation { # dependency on the Urn runtime support. propagatedBuildInputs = [ urn-rt ]; - makeFlags = ["-B"]; + makeFlags = [ "-B" ]; installPhase = '' mkdir -p $out/bin $out/lib diff --git a/pkgs/by-name/ur/uroboros/package.nix b/pkgs/by-name/ur/uroboros/package.nix index f7d5ec0ac133d..c798631aaf5ea 100644 --- a/pkgs/by-name/ur/uroboros/package.nix +++ b/pkgs/by-name/ur/uroboros/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ur/ursadb/package.nix b/pkgs/by-name/ur/ursadb/package.nix index e9bb814981255..38b623f3f9358 100644 --- a/pkgs/by-name/ur/ursadb/package.nix +++ b/pkgs/by-name/ur/ursadb/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation (finalAttrs: { pname = "ursadb"; diff --git a/pkgs/by-name/ur/urserver/package.nix b/pkgs/by-name/ur/urserver/package.nix index 1df9c40aee32a..dc80ea77942d7 100644 --- a/pkgs/by-name/ur/urserver/package.nix +++ b/pkgs/by-name/ur/urserver/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, autoPatchelfHook -, bluez -, libX11 -, libXtst -, makeWrapper +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + bluez, + libX11, + libXtst, + makeWrapper, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/us/usb-reset/package.nix b/pkgs/by-name/us/usb-reset/package.nix index a5bb2061ed502..bbe78a56a5ba8 100644 --- a/pkgs/by-name/us/usb-reset/package.nix +++ b/pkgs/by-name/us/usb-reset/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/us/usbguard-notifier/package.nix b/pkgs/by-name/us/usbguard-notifier/package.nix index a9eaa6651f99b..d9507d159d9aa 100644 --- a/pkgs/by-name/us/usbguard-notifier/package.nix +++ b/pkgs/by-name/us/usbguard-notifier/package.nix @@ -34,8 +34,17 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config asciidoc ]; - buildInputs = [ libqb usbguard librsvg libnotify ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + asciidoc + ]; + buildInputs = [ + libqb + usbguard + librsvg + libnotify + ]; configureFlags = [ "CPPFLAGS=-I${catch2}/include/catch2" ]; diff --git a/pkgs/by-name/us/usbguard/package.nix b/pkgs/by-name/us/usbguard/package.nix index dfa31dd3a97cb..9c2c6a2a495b6 100644 --- a/pkgs/by-name/us/usbguard/package.nix +++ b/pkgs/by-name/us/usbguard/package.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, installShellFiles -, nixosTests -, asciidoc -, pkg-config -, libxslt -, libxml2 -, docbook_xml_dtd_45 -, docbook_xsl -, dbus-glib -, libcap_ng -, libqb -, libseccomp -, polkit -, protobuf -, audit -, libsodium +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + installShellFiles, + nixosTests, + asciidoc, + pkg-config, + libxslt, + libxml2, + docbook_xml_dtd_45, + docbook_xsl, + dbus-glib, + libcap_ng, + libqb, + libseccomp, + polkit, + protobuf, + audit, + libsodium, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/us/usbimager/package.nix b/pkgs/by-name/us/usbimager/package.nix index 11a9162af2f23..4dee81432a0ca 100644 --- a/pkgs/by-name/us/usbimager/package.nix +++ b/pkgs/by-name/us/usbimager/package.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, wrapGAppsHook3 -, withLibui ? true, gtk3 -, withUdisks ? stdenv.hostPlatform.isLinux, udisks, glib -, libX11 }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + wrapGAppsHook3, + withLibui ? true, + gtk3, + withUdisks ? stdenv.hostPlatform.isLinux, + udisks, + glib, + libX11, +}: stdenv.mkDerivation rec { pname = "usbimager"; @@ -16,11 +25,18 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; - buildInputs = lib.optionals withUdisks [ udisks glib ] + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; + buildInputs = + lib.optionals withUdisks [ + udisks + glib + ] ++ lib.optional (!withLibui) libX11 ++ lib.optional withLibui gtk3; - # libui is bundled with the source of usbimager as a compiled static library + # libui is bundled with the source of usbimager as a compiled static library postPatch = '' sed -i \ @@ -36,7 +52,8 @@ stdenv.mkDerivation rec { dontConfigure = true; - makeFlags = [ "PREFIX=$(out)" ] + makeFlags = + [ "PREFIX=$(out)" ] ++ lib.optional withLibui "USE_LIBUI=yes" ++ lib.optional withUdisks "USE_UDISKS2=yes"; diff --git a/pkgs/by-name/us/usbmuxd/package.nix b/pkgs/by-name/us/usbmuxd/package.nix index 6901767c9cf8a..bf0ac9051ef27 100644 --- a/pkgs/by-name/us/usbmuxd/package.nix +++ b/pkgs/by-name/us/usbmuxd/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libimobiledevice -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libimobiledevice, + libusb1, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/us/usbmuxd2/package.nix b/pkgs/by-name/us/usbmuxd2/package.nix index e4674eb386f15..4d3ac3daa3d51 100644 --- a/pkgs/by-name/us/usbmuxd2/package.nix +++ b/pkgs/by-name/us/usbmuxd2/package.nix @@ -1,14 +1,16 @@ -{ lib -, clangStdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libimobiledevice -, libusb1 -, avahi -, clang -, git -}: let +{ + lib, + clangStdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libimobiledevice, + libusb1, + avahi, + clang, + git, +}: +let libgeneral = clangStdenv.mkDerivation rec { pname = "libgeneral"; diff --git a/pkgs/by-name/us/usbredir/package.nix b/pkgs/by-name/us/usbredir/package.nix index 55feb41bec8a4..d6642ad20b010 100644 --- a/pkgs/by-name/us/usbredir/package.nix +++ b/pkgs/by-name/us/usbredir/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, pkg-config -, meson -, ninja -, glib -, libusb1 +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + glib, + libusb1, }: stdenv.mkDerivation rec { @@ -40,7 +41,10 @@ stdenv.mkDerivation rec { "-Dfuzzing=disabled" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "USB traffic redirection protocol"; diff --git a/pkgs/by-name/us/usbrip/package.nix b/pkgs/by-name/us/usbrip/package.nix index 219a4315fd147..703c8e4deb55d 100644 --- a/pkgs/by-name/us/usbrip/package.nix +++ b/pkgs/by-name/us/usbrip/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/us/usbsdmux/package.nix b/pkgs/by-name/us/usbsdmux/package.nix index 7794cf06d77d2..d50dff5fe10f8 100644 --- a/pkgs/by-name/us/usbsdmux/package.nix +++ b/pkgs/by-name/us/usbsdmux/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "usbsdmux"; diff --git a/pkgs/by-name/us/usbtop/package.nix b/pkgs/by-name/us/usbtop/package.nix index af16a701383a9..0db9ee630354e 100644 --- a/pkgs/by-name/us/usbtop/package.nix +++ b/pkgs/by-name/us/usbtop/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub -, cmake -, libpcap, boost }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libpcap, + boost, +}: stdenv.mkDerivation rec { pname = "usbtop"; @@ -14,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libpcap boost ]; + buildInputs = [ + libpcap + boost + ]; meta = with lib; { homepage = "https://github.com/aguinet/usbtop"; diff --git a/pkgs/by-name/us/usbutils/package.nix b/pkgs/by-name/us/usbutils/package.nix index f55c4e9833674..3ffd5fe88a660 100644 --- a/pkgs/by-name/us/usbutils/package.nix +++ b/pkgs/by-name/us/usbutils/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, substituteAll, autoreconfHook, pkg-config, libusb1, hwdata, python3 }: +{ + lib, + stdenv, + fetchurl, + substituteAll, + autoreconfHook, + pkg-config, + libusb1, + hwdata, + python3, +}: stdenv.mkDerivation rec { pname = "usbutils"; @@ -16,10 +26,20 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libusb1 python3 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libusb1 + python3 + ]; - outputs = [ "out" "man" "python" ]; + outputs = [ + "out" + "man" + "python" + ]; postBuild = '' $CC $NIX_CFLAGS -o usbreset usbreset.c @@ -37,7 +57,7 @@ stdenv.mkDerivation rec { license = with lib.licenses; [ gpl2Only # manpages, usbreset gpl2Plus # most of the code - ]; + ]; platforms = lib.platforms.linux; mainProgram = "lsusb"; }; diff --git a/pkgs/by-name/us/usbview/package.nix b/pkgs/by-name/us/usbview/package.nix index 17402fe76120c..2fa506a18b821 100644 --- a/pkgs/by-name/us/usbview/package.nix +++ b/pkgs/by-name/us/usbview/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, imagemagick -, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + imagemagick, + gtk3, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { description = "USB viewer for Linux"; license = licenses.gpl2Only; homepage = "http://www.kroah.com/linux-usb/"; - maintainers = with maintainers; [ shamilton h7x4 ]; + maintainers = with maintainers; [ + shamilton + h7x4 + ]; platforms = platforms.linux; mainProgram = "usbview"; }; diff --git a/pkgs/by-name/us/userhosts/package.nix b/pkgs/by-name/us/userhosts/package.nix index 1433e0dd28ac7..bf6c1b58f8dbc 100644 --- a/pkgs/by-name/us/userhosts/package.nix +++ b/pkgs/by-name/us/userhosts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "userhosts"; diff --git a/pkgs/by-name/us/usermount/package.nix b/pkgs/by-name/us/usermount/package.nix index 883e927444bee..3c84780000371 100644 --- a/pkgs/by-name/us/usermount/package.nix +++ b/pkgs/by-name/us/usermount/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, dbus, libnotify, udisks2, gdk-pixbuf }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + dbus, + libnotify, + udisks2, + gdk-pixbuf, +}: stdenv.mkDerivation { pname = "usermount"; @@ -12,7 +21,12 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus libnotify udisks2 gdk-pixbuf ]; + buildInputs = [ + dbus + libnotify + udisks2 + gdk-pixbuf + ]; env.NIX_CFLAGS_COMPILE = "-DENABLE_NOTIFICATIONS"; diff --git a/pkgs/by-name/us/usql/package.nix b/pkgs/by-name/us/usql/package.nix index 8122dd9813795..c30d608c292c0 100644 --- a/pkgs/by-name/us/usql/package.nix +++ b/pkgs/by-name/us/usql/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, unixODBC -, icu -, nix-update-script -, testers -, usql +{ + lib, + fetchFromGitHub, + buildGoModule, + unixODBC, + icu, + nix-update-script, + testers, + usql, }: buildGoModule rec { @@ -19,7 +20,10 @@ buildGoModule rec { hash = "sha256-gutAb6GkaHtZK0uw9+If/luIUn8jiGfruWtAV3nQJvE="; }; - buildInputs = [ unixODBC icu ]; + buildInputs = [ + unixODBC + icu + ]; vendorHash = "sha256-32tl3mXpFqthXMRERDvMsocfMW0ltSvnm8/+NKiSjmE="; proxyVendor = true; @@ -69,7 +73,10 @@ buildGoModule rec { changelog = "https://github.com/xo/usql/releases/tag/v${version}"; license = licenses.mit; mainProgram = "usql"; - maintainers = with maintainers; [ georgyo anthonyroussel ]; + maintainers = with maintainers; [ + georgyo + anthonyroussel + ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/us/usrsctp/package.nix b/pkgs/by-name/us/usrsctp/package.nix index 58448d0a453d7..9d5e72f1f2c65 100644 --- a/pkgs/by-name/us/usrsctp/package.nix +++ b/pkgs/by-name/us/usrsctp/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, +}: stdenv.mkDerivation rec { pname = "usrsctp"; diff --git a/pkgs/by-name/us/ustreamer/package.nix b/pkgs/by-name/us/ustreamer/package.nix index 512e6e8515c81..58dce6de7c9a4 100644 --- a/pkgs/by-name/us/ustreamer/package.nix +++ b/pkgs/by-name/us/ustreamer/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, libbsd -, libevent -, libjpeg -, libdrm -, pkg-config -, janus-gateway -, glib -, alsa-lib -, speex -, jansson -, libopus -, nixosTests -, withJanus ? true +{ + lib, + stdenv, + fetchFromGitHub, + libbsd, + libevent, + libjpeg, + libdrm, + pkg-config, + janus-gateway, + glib, + alsa-lib, + speex, + jansson, + libopus, + nixosTests, + withJanus ? true, }: stdenv.mkDerivation rec { pname = "ustreamer"; @@ -26,31 +27,35 @@ stdenv.mkDerivation rec { hash = "sha256-iaCgPHgklk7tbhJhQmyjKggb1bMWBD+Zurgfk9sCQ3E="; }; - buildInputs = [ - libbsd - libevent - libjpeg - libdrm - ] ++ lib.optionals withJanus [ - janus-gateway - glib - alsa-lib - jansson - speex - libopus - ]; + buildInputs = + [ + libbsd + libevent + libjpeg + libdrm + ] + ++ lib.optionals withJanus [ + janus-gateway + glib + alsa-lib + jansson + speex + libopus + ]; nativeBuildInputs = [ pkg-config ]; - makeFlags = [ - "PREFIX=${placeholder "out"}" - "WITH_V4P=1" - ] ++ lib.optionals withJanus [ - "WITH_JANUS=1" - # Workaround issues with Janus C Headers - # https://github.com/pikvm/ustreamer/blob/793f24c4/docs/h264.md#fixing-janus-c-headers - "CFLAGS=-I${lib.getDev janus-gateway}/include/janus" - ]; + makeFlags = + [ + "PREFIX=${placeholder "out"}" + "WITH_V4P=1" + ] + ++ lib.optionals withJanus [ + "WITH_JANUS=1" + # Workaround issues with Janus C Headers + # https://github.com/pikvm/ustreamer/blob/793f24c4/docs/h264.md#fixing-janus-c-headers + "CFLAGS=-I${lib.getDev janus-gateway}/include/janus" + ]; enableParallelBuilding = true; @@ -67,7 +72,10 @@ stdenv.mkDerivation rec { screencast hardware data with the highest resolution and FPS possible. ''; license = licenses.gpl3Plus; - maintainers = with maintainers; [ tfc matthewcroughan ]; + maintainers = with maintainers; [ + tfc + matthewcroughan + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/us/usync/package.nix b/pkgs/by-name/us/usync/package.nix index 7a5abda593029..872aa26187b7d 100644 --- a/pkgs/by-name/us/usync/package.nix +++ b/pkgs/by-name/us/usync/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, scsh, rsync, unison }: +{ + lib, + stdenv, + fetchFromGitHub, + scsh, + rsync, + unison, +}: stdenv.mkDerivation rec { pname = "usync"; diff --git a/pkgs/by-name/ut/ut/package.nix b/pkgs/by-name/ut/ut/package.nix index 9ee03e9c98ff7..9ec4f95c71217 100644 --- a/pkgs/by-name/ut/ut/package.nix +++ b/pkgs/by-name/ut/ut/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, }: stdenv.mkDerivation (finalAttrs: { pname = "ut"; @@ -32,4 +33,3 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.all; }; }) - diff --git a/pkgs/by-name/ut/ut1999/package.nix b/pkgs/by-name/ut/ut1999/package.nix index db063696996f1..fd9e1b5e97ee2 100644 --- a/pkgs/by-name/ut/ut1999/package.nix +++ b/pkgs/by-name/ut/ut1999/package.nix @@ -1,5 +1,23 @@ -{ lib, stdenv, requireFile, autoPatchelfHook, undmg, fetchurl, makeDesktopItem, copyDesktopItems, imagemagick -, runCommand, libgcc, wxGTK32, innoextract, libGL, SDL2, openal, libmpg123, libxmp }: +{ + lib, + stdenv, + requireFile, + autoPatchelfHook, + undmg, + fetchurl, + makeDesktopItem, + copyDesktopItems, + imagemagick, + runCommand, + libgcc, + wxGTK32, + innoextract, + libGL, + SDL2, + openal, + libmpg123, + libxmp, +}: let version = "469d"; @@ -21,36 +39,43 @@ let hash = "sha256-TbhJbOH4E5WOb6XR9dmqLkXziK3/CzhNjd1ypBkkmvw="; }; }; - unpackGog = runCommand "ut1999-gog" { - src = requireFile rec { - name = "setup_ut_goty_2.0.0.5.exe"; - hash = "sha256-TMJX1U2XZZxQYvK/GG0KjGlZVh0R5C2Pzy6sB/GSaAM="; - message = '' - Unreal Tournament 1999 requires the official GOG package, version 2.0.0.5. + unpackGog = + runCommand "ut1999-gog" + { + src = requireFile rec { + name = "setup_ut_goty_2.0.0.5.exe"; + hash = "sha256-TMJX1U2XZZxQYvK/GG0KjGlZVh0R5C2Pzy6sB/GSaAM="; + message = '' + Unreal Tournament 1999 requires the official GOG package, version 2.0.0.5. - Once you download the file, run the following command: + Once you download the file, run the following command: - nix-prefetch-url file://\$PWD/${name} - ''; - }; + nix-prefetch-url file://\$PWD/${name} + ''; + }; - nativeBuildInputs = [ innoextract ]; - } '' - innoextract --extract --exclude-temp "$src" - mkdir $out - cp -r app/* $out - ''; - systemDir = { - x86_64-linux = "System64"; - aarch64-linux = "SystemARM64"; - x86_64-darwin = "System"; - i686-linux = "System"; - }.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); -in stdenv.mkDerivation { + nativeBuildInputs = [ innoextract ]; + } + '' + innoextract --extract --exclude-temp "$src" + mkdir $out + cp -r app/* $out + ''; + systemDir = + { + x86_64-linux = "System64"; + aarch64-linux = "SystemARM64"; + x86_64-darwin = "System"; + i686-linux = "System"; + } + .${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}"); +in +stdenv.mkDerivation { name = "ut1999"; inherit version; sourceRoot = "."; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); buildInputs = [ libgcc @@ -63,44 +88,51 @@ in stdenv.mkDerivation { stdenv.cc.cc ]; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - copyDesktopItems - autoPatchelfHook - imagemagick - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - undmg - ]; + nativeBuildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + copyDesktopItems + autoPatchelfHook + imagemagick + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + undmg + ]; - installPhase = let - outPrefix = if stdenv.hostPlatform.isDarwin then "$out/UnrealTournament.app/Contents/MacOS" else "$out"; - in '' - runHook preInstall + installPhase = + let + outPrefix = + if stdenv.hostPlatform.isDarwin then "$out/UnrealTournament.app/Contents/MacOS" else "$out"; + in + '' + runHook preInstall - mkdir -p $out/bin - cp -r ${if stdenv.hostPlatform.isDarwin then "UnrealTournament.app" else "./*"} $out - chmod -R 755 $out - cd ${outPrefix} + mkdir -p $out/bin + cp -r ${if stdenv.hostPlatform.isDarwin then "UnrealTournament.app" else "./*"} $out + chmod -R 755 $out + cd ${outPrefix} - rm -rf ./{Music,Sounds,Maps} - ln -s ${unpackGog}/{Music,Sounds,Maps} . + rm -rf ./{Music,Sounds,Maps} + ln -s ${unpackGog}/{Music,Sounds,Maps} . - cp -n ${unpackGog}/Textures/* ./Textures || true - cp -n ${unpackGog}/System/*.{u,int} ./System || true - '' + lib.optionalString (stdenv.hostPlatform.isLinux) '' - ln -s "$out/${systemDir}/ut-bin" "$out/bin/ut1999" - ln -s "$out/${systemDir}/ucc-bin" "$out/bin/ut1999-ucc" + cp -n ${unpackGog}/Textures/* ./Textures || true + cp -n ${unpackGog}/System/*.{u,int} ./System || true + '' + + lib.optionalString (stdenv.hostPlatform.isLinux) '' + ln -s "$out/${systemDir}/ut-bin" "$out/bin/ut1999" + ln -s "$out/${systemDir}/ucc-bin" "$out/bin/ut1999-ucc" - convert "${unpackGog}/gfw_high.ico" "ut1999.png" - install -D ut1999-5.png "$out/share/icons/hicolor/256x256/apps/ut1999.png" + convert "${unpackGog}/gfw_high.ico" "ut1999.png" + install -D ut1999-5.png "$out/share/icons/hicolor/256x256/apps/ut1999.png" - # Remove bundled libraries to use native versions instead - rm $out/${systemDir}/libmpg123.so* \ - $out/${systemDir}/libopenal.so* \ - $out/${systemDir}/libSDL2* \ - $out/${systemDir}/libxmp.so* - '' + '' - runHook postInstall - ''; + # Remove bundled libraries to use native versions instead + rm $out/${systemDir}/libmpg123.so* \ + $out/${systemDir}/libopenal.so* \ + $out/${systemDir}/libSDL2* \ + $out/${systemDir}/libxmp.so* + '' + + '' + runHook postInstall + ''; # Bring in game's .so files into lookup. Otherwise game fails to start # as: `Object not found: Class Render.Render` diff --git a/pkgs/by-name/ut/utf8cpp/package.nix b/pkgs/by-name/ut/utf8cpp/package.nix index 18c253cc5c618..4ab4fe494edc1 100644 --- a/pkgs/by-name/ut/utf8cpp/package.nix +++ b/pkgs/by-name/ut/utf8cpp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "utf8cpp"; diff --git a/pkgs/by-name/ut/utf8proc/package.nix b/pkgs/by-name/ut/utf8proc/package.nix index f248d6d972255..3d849a5417a9e 100644 --- a/pkgs/by-name/ut/utf8proc/package.nix +++ b/pkgs/by-name/ut/utf8proc/package.nix @@ -1,8 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, # passthru.tests -, tmux -, fcft -, arrow-cpp + tmux, + fcft, + arrow-cpp, }: stdenv.mkDerivation rec { @@ -34,6 +38,9 @@ stdenv.mkDerivation rec { homepage = "https://juliastrings.github.io/utf8proc/"; license = licenses.mit; platforms = platforms.all; - maintainers = [ maintainers.ftrvxmtrx maintainers.sternenseemann ]; + maintainers = [ + maintainers.ftrvxmtrx + maintainers.sternenseemann + ]; }; } diff --git a/pkgs/by-name/ut/uthash/package.nix b/pkgs/by-name/ut/uthash/package.nix index 98c5200fcc2c6..439324f8c009d 100644 --- a/pkgs/by-name/ut/uthash/package.nix +++ b/pkgs/by-name/ut/uthash/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "uthash"; @@ -22,8 +27,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Hash table for C structures"; - homepage = "http://troydhanson.github.io/uthash"; - license = licenses.bsd2; # it's one-clause, actually, as it's source-only - platforms = platforms.all; + homepage = "http://troydhanson.github.io/uthash"; + license = licenses.bsd2; # it's one-clause, actually, as it's source-only + platforms = platforms.all; }; } diff --git a/pkgs/by-name/ut/uthenticode/package.nix b/pkgs/by-name/ut/uthenticode/package.nix index e8d08745de8f2..85e1e65086b89 100644 --- a/pkgs/by-name/ut/uthenticode/package.nix +++ b/pkgs/by-name/ut/uthenticode/package.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, cmake, gtest, openssl, pe-parse }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gtest, + openssl, + pe-parse, +}: stdenv.mkDerivation rec { pname = "uthenticode"; @@ -11,11 +19,17 @@ stdenv.mkDerivation rec { hash = "sha256-NGVOGXMRlgpSRw56jr63rJc/5/qCmPjtAFa0D21ogd4="; }; - cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_EXTERNAL_GTEST=1" ]; + cmakeFlags = [ + "-DBUILD_TESTS=1" + "-DUSE_EXTERNAL_GTEST=1" + ]; nativeBuildInputs = [ cmake ]; nativeCheckInputs = [ gtest ]; - buildInputs = [ pe-parse openssl ]; + buildInputs = [ + pe-parse + openssl + ]; doCheck = true; checkPhase = "test/uthenticode_test"; diff --git a/pkgs/by-name/ut/util-linux/package.nix b/pkgs/by-name/ut/util-linux/package.nix index 83c0789a15ea5..b852ad0198109 100644 --- a/pkgs/by-name/ut/util-linux/package.nix +++ b/pkgs/by-name/ut/util-linux/package.nix @@ -1,25 +1,33 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, zlib, shadow -, capabilitiesSupport ? stdenv.hostPlatform.isLinux -, libcap_ng -, libxcrypt -, ncursesSupport ? true -, ncurses -, pamSupport ? true -, pam -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd -, nlsSupport ? true -, translateManpages ? true -, po4a -, installShellFiles -, writeSupport ? stdenv.hostPlatform.isLinux -, shadowSupport ? stdenv.hostPlatform.isLinux -, memstreamHook -, gitUpdater +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + zlib, + shadow, + capabilitiesSupport ? stdenv.hostPlatform.isLinux, + libcap_ng, + libxcrypt, + ncursesSupport ? true, + ncurses, + pamSupport ? true, + pam, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + nlsSupport ? true, + translateManpages ? true, + po4a, + installShellFiles, + writeSupport ? stdenv.hostPlatform.isLinux, + shadowSupport ? stdenv.hostPlatform.isLinux, + memstreamHook, + gitUpdater, }: stdenv.mkDerivation rec { - pname = "util-linux" + lib.optionalString (!nlsSupport && !ncursesSupport && !systemdSupport) "-minimal"; + pname = + "util-linux" + lib.optionalString (!nlsSupport && !ncursesSupport && !systemdSupport) "-minimal"; version = "2.39.4"; src = fetchurl { @@ -42,49 +50,62 @@ stdenv.mkDerivation rec { # the greater util-linux toolset. # Compatibility is maintained by symlinking the binaries from the # smaller outputs in the bin output. - outputs = [ "bin" "dev" "out" "lib" "man" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "mount" ] ++ [ "login" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "swap" ]; + outputs = + [ + "bin" + "dev" + "out" + "lib" + "man" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ "mount" ] + ++ [ "login" ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ "swap" ]; separateDebugInfo = true; - postPatch = '' - patchShebangs tests/run.sh - - substituteInPlace sys-utils/eject.c \ - --replace "/bin/umount" "$bin/bin/umount" - '' + lib.optionalString shadowSupport '' - substituteInPlace include/pathnames.h \ - --replace "/bin/login" "${shadow}/bin/login" - '' + lib.optionalString stdenv.hostPlatform.isFreeBSD '' - substituteInPlace lib/c_strtod.c --replace-fail __APPLE__ __FreeBSD__ - sed -E -i -e '/_POSIX_C_SOURCE/d' -e '/_XOPEN_SOURCE/d' misc-utils/hardlink.c - ''; + postPatch = + '' + patchShebangs tests/run.sh + + substituteInPlace sys-utils/eject.c \ + --replace "/bin/umount" "$bin/bin/umount" + '' + + lib.optionalString shadowSupport '' + substituteInPlace include/pathnames.h \ + --replace "/bin/login" "${shadow}/bin/login" + '' + + lib.optionalString stdenv.hostPlatform.isFreeBSD '' + substituteInPlace lib/c_strtod.c --replace-fail __APPLE__ __FreeBSD__ + sed -E -i -e '/_POSIX_C_SOURCE/d' -e '/_XOPEN_SOURCE/d' misc-utils/hardlink.c + ''; # !!! It would be better to obtain the path to the mount helpers # (/sbin/mount.*) through an environment variable, but that's # somewhat risky because we have to consider that mount can setuid # root... - configureFlags = [ - "--localstatedir=/var" - "--disable-use-tty-group" - "--enable-fs-paths-default=/run/wrappers/bin:/run/current-system/sw/bin:/sbin" - "--disable-makeinstall-setuid" "--disable-makeinstall-chown" - "--disable-su" # provided by shadow - (lib.enableFeature writeSupport "write") - (lib.enableFeature nlsSupport "nls") - (lib.withFeature ncursesSupport "ncursesw") - (lib.withFeature systemdSupport "systemd") - (lib.withFeatureAs systemdSupport - "systemdsystemunitdir" "${placeholder "bin"}/lib/systemd/system/") - (lib.enableFeature translateManpages "poman") - "SYSCONFSTATICDIR=${placeholder "lib"}/lib" - ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - "scanf_cv_type_modifier=ms" - ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - # These features are all disabled in the freebsd-ports distribution - "--disable-nls" - "--disable-ipcrm" - "--disable-ipcs" - ] - ; + configureFlags = + [ + "--localstatedir=/var" + "--disable-use-tty-group" + "--enable-fs-paths-default=/run/wrappers/bin:/run/current-system/sw/bin:/sbin" + "--disable-makeinstall-setuid" + "--disable-makeinstall-chown" + "--disable-su" # provided by shadow + (lib.enableFeature writeSupport "write") + (lib.enableFeature nlsSupport "nls") + (lib.withFeature ncursesSupport "ncursesw") + (lib.withFeature systemdSupport "systemd") + (lib.withFeatureAs systemdSupport "systemdsystemunitdir" "${placeholder "bin"}/lib/systemd/system/") + (lib.enableFeature translateManpages "poman") + "SYSCONFSTATICDIR=${placeholder "lib"}/lib" + ] + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "scanf_cv_type_modifier=ms" + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + # These features are all disabled in the freebsd-ports distribution + "--disable-nls" + "--disable-ipcrm" + "--disable-ipcs" + ]; makeFlags = [ "usrbin_execdir=${placeholder "bin"}/bin" @@ -92,10 +113,16 @@ stdenv.mkDerivation rec { "usrsbin_execdir=${placeholder "bin"}/sbin" ]; - nativeBuildInputs = [ pkg-config installShellFiles ] - ++ lib.optionals translateManpages [ po4a ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ] ++ lib.optionals translateManpages [ po4a ]; - buildInputs = [ zlib libxcrypt ] + buildInputs = + [ + zlib + libxcrypt + ] ++ lib.optionals pamSupport [ pam ] ++ lib.optionals capabilitiesSupport [ libcap_ng ] ++ lib.optionals ncursesSupport [ ncurses ] @@ -106,29 +133,33 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - moveToOutput bin/mount "$mount" - moveToOutput bin/umount "$mount" - ln -svf "$mount/bin/"* $bin/bin/ - '' + '' - - moveToOutput sbin/nologin "$login" - moveToOutput sbin/sulogin "$login" - prefix=$login _moveSbin - ln -svf "$login/bin/"* $bin/bin/ - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - - moveToOutput sbin/swapon "$swap" - moveToOutput sbin/swapoff "$swap" - prefix=$swap _moveSbin - ln -svf "$swap/bin/"* $bin/bin/ - '' + '' - - ln -svf "$bin/bin/hexdump" "$bin/bin/hd" - ln -svf "$man/share/man/man1/hexdump.1" "$man/share/man/man1/hd.1" - - installShellCompletion --bash bash-completion/* - ''; + postInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + moveToOutput bin/mount "$mount" + moveToOutput bin/umount "$mount" + ln -svf "$mount/bin/"* $bin/bin/ + '' + + '' + + moveToOutput sbin/nologin "$login" + moveToOutput sbin/sulogin "$login" + prefix=$login _moveSbin + ln -svf "$login/bin/"* $bin/bin/ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + + moveToOutput sbin/swapon "$swap" + moveToOutput sbin/swapoff "$swap" + prefix=$swap _moveSbin + ln -svf "$swap/bin/"* $bin/bin/ + '' + + '' + + ln -svf "$bin/bin/hexdump" "$bin/bin/hd" + ln -svf "$man/share/man/man1/hexdump.1" "$man/share/man/man1/hd.1" + + installShellCompletion --bash bash-completion/* + ''; passthru = { updateScript = gitUpdater { @@ -144,7 +175,15 @@ stdenv.mkDerivation rec { description = "Set of system utilities for Linux"; changelog = "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${lib.versions.majorMinor version}/v${version}-ReleaseNotes"; # https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/tree/README.licensing - license = with licenses; [ gpl2Only gpl2Plus gpl3Plus lgpl21Plus bsd3 bsdOriginalUC publicDomain ]; + license = with licenses; [ + gpl2Only + gpl2Plus + gpl3Plus + lgpl21Plus + bsd3 + bsdOriginalUC + publicDomain + ]; platforms = platforms.unix; pkgConfigModules = [ "blkid" diff --git a/pkgs/by-name/ut/utox/package.nix b/pkgs/by-name/ut/utox/package.nix index 259735919cd5d..58aff9b45cf04 100644 --- a/pkgs/by-name/ut/utox/package.nix +++ b/pkgs/by-name/ut/utox/package.nix @@ -1,6 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, check, cmake, pkg-config -, libtoxcore, filter-audio, dbus, libvpx, libX11, openal, freetype, libv4l -, libXrender, fontconfig, libXext, libXft, libsodium, libopus }: +{ + lib, + stdenv, + fetchFromGitHub, + check, + cmake, + pkg-config, + libtoxcore, + filter-audio, + dbus, + libvpx, + libX11, + openal, + freetype, + libv4l, + libXrender, + fontconfig, + libXext, + libXft, + libsodium, + libopus, +}: stdenv.mkDerivation rec { pname = "utox"; @@ -8,21 +27,33 @@ stdenv.mkDerivation rec { version = "0.18.1"; src = fetchFromGitHub { - owner = "uTox"; - repo = "uTox"; - rev = "v${version}"; + owner = "uTox"; + repo = "uTox"; + rev = "v${version}"; hash = "sha256-DxnolxUTn+CL6TbZHKLHOUMTHhtTSWufzzOTRpKjOwc="; fetchSubmodules = true; }; buildInputs = [ - libtoxcore dbus libvpx libX11 openal freetype - libv4l libXrender fontconfig libXext libXft filter-audio - libsodium libopus + libtoxcore + dbus + libvpx + libX11 + openal + freetype + libv4l + libXrender + fontconfig + libXext + libXft + filter-audio + libsodium + libopus ]; nativeBuildInputs = [ - cmake pkg-config + cmake + pkg-config ]; cmakeFlags = [ diff --git a/pkgs/by-name/ut/utterly-round-plasma-style/package.nix b/pkgs/by-name/ut/utterly-round-plasma-style/package.nix index 7510183b10f35..60137219288c9 100644 --- a/pkgs/by-name/ut/utterly-round-plasma-style/package.nix +++ b/pkgs/by-name/ut/utterly-round-plasma-style/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/uu/uucp/package.nix b/pkgs/by-name/uu/uucp/package.nix index 35bc7a2721001..f94b84b646d66 100644 --- a/pkgs/by-name/uu/uucp/package.nix +++ b/pkgs/by-name/uu/uucp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, testers }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "uucp"; diff --git a/pkgs/by-name/uu/uudeview/package.nix b/pkgs/by-name/uu/uudeview/package.nix index 1948167021769..511ccd0efd1be 100644 --- a/pkgs/by-name/uu/uudeview/package.nix +++ b/pkgs/by-name/uu/uudeview/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, tcl -, tk +{ + lib, + stdenv, + fetchurl, + fetchpatch, + tcl, + tk, }: stdenv.mkDerivation rec { @@ -15,9 +16,15 @@ stdenv.mkDerivation rec { sha256 = "0dg4v888fxhmf51vxq1z1gd57fslsidn15jf42pj4817vw6m36p4"; }; - buildInputs = [ tcl tk ]; + buildInputs = [ + tcl + tk + ]; - configureFlags = [ "--enable-tk=${tk.dev}" "--enable-tcl=${tcl}" ]; + configureFlags = [ + "--enable-tk=${tk.dev}" + "--enable-tcl=${tcl}" + ]; patches = [ # https://wiki.tcl.tk/3577 diff --git a/pkgs/by-name/uu/uuu/package.nix b/pkgs/by-name/uu/uuu/package.nix index b7e2ba41239ac..6ddf35a37b2f2 100644 --- a/pkgs/by-name/uu/uuu/package.nix +++ b/pkgs/by-name/uu/uuu/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, -, cmake -, installShellFiles -, pkg-config + cmake, + installShellFiles, + pkg-config, -, bzip2 -, libusb1 -, openssl -, tinyxml-2 -, zlib -, zstd + bzip2, + libusb1, + openssl, + tinyxml-2, + zlib, + zstd, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,10 @@ stdenv.mkDerivation (finalAttrs: { }; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "uuu_\([0-9.]+\)" ]; + extraArgs = [ + "--version-regex" + "uuu_\([0-9.]+\)" + ]; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/uv/uvccapture/package.nix b/pkgs/by-name/uv/uvccapture/package.nix index f7067c8dd71a3..8d2132a762c85 100644 --- a/pkgs/by-name/uv/uvccapture/package.nix +++ b/pkgs/by-name/uv/uvccapture/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libjpeg }: +{ + lib, + stdenv, + fetchurl, + libjpeg, +}: let debianPatches = fetchurl { diff --git a/pkgs/by-name/uv/uvcdynctrl/package.nix b/pkgs/by-name/uv/uvcdynctrl/package.nix index c8e3fc385fdf5..91fa8a0eabf4a 100644 --- a/pkgs/by-name/uv/uvcdynctrl/package.nix +++ b/pkgs/by-name/uv/uvcdynctrl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libxml2 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libxml2, +}: stdenv.mkDerivation { version = "0.3.0"; @@ -11,7 +18,10 @@ stdenv.mkDerivation { sha256 = "0s15xxgdx8lnka7vi8llbf6b0j4rhbjl6yp0qxaihysf890xj73s"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libxml2 ]; prePatch = '' diff --git a/pkgs/by-name/uw/uw-ttyp0/package.nix b/pkgs/by-name/uw/uw-ttyp0/package.nix index f8006516e2763..eb5df76c90c2b 100644 --- a/pkgs/by-name/uw/uw-ttyp0/package.nix +++ b/pkgs/by-name/uw/uw-ttyp0/package.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchurl, perl -, bdftopcf, bdf2psf, xorg -, targetsDat ? null -, variantsDat ? null +{ + lib, + stdenv, + fetchurl, + perl, + bdftopcf, + bdf2psf, + xorg, + targetsDat ? null, + variantsDat ? null, }: stdenv.mkDerivation rec { @@ -16,28 +22,40 @@ stdenv.mkDerivation rec { # remove for version >1.3 patches = [ ./determinism.patch ]; - nativeBuildInputs = [ perl bdftopcf bdf2psf xorg.fonttosfnt xorg.mkfontdir ]; + nativeBuildInputs = [ + perl + bdftopcf + bdf2psf + xorg.fonttosfnt + xorg.mkfontdir + ]; # configure sizes, encodings and variants preConfigure = - (if targetsDat == null - then '' - cat << EOF > TARGETS.dat - SIZES = 11 12 13 14 15 16 17 18 22 \ - 11b 12b 13b 14b 15b 16b 17b 18b 22b 15i 16i 17i 18i - ENCODINGS = uni - EOF - '' - else ''cp "${targetsDat}" TARGETS.dat'') + - (if variantsDat == null - then '' - cat << EOF > VARIANTS.dat - COPYTO AccStress PApostropheAscii - COPYTO PAmComma AccGraveAscii - COPYTO Digit0Slashed Digit0 - EOF - '' - else ''cp "${variantsDat}" VARIANTS.dat''); + ( + if targetsDat == null then + '' + cat << EOF > TARGETS.dat + SIZES = 11 12 13 14 15 16 17 18 22 \ + 11b 12b 13b 14b 15b 16b 17b 18b 22b 15i 16i 17i 18i + ENCODINGS = uni + EOF + '' + else + ''cp "${targetsDat}" TARGETS.dat'' + ) + + ( + if variantsDat == null then + '' + cat << EOF > VARIANTS.dat + COPYTO AccStress PApostropheAscii + COPYTO PAmComma AccGraveAscii + COPYTO Digit0Slashed Digit0 + EOF + '' + else + ''cp "${variantsDat}" VARIANTS.dat'' + ); postBuild = '' # convert bdf fonts to psf @@ -82,7 +100,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Monospace bitmap screen fonts for X11"; homepage = "https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/"; - license = with licenses; [ free mit ]; + license = with licenses; [ + free + mit + ]; maintainers = with maintainers; [ rnhmjoj ]; }; diff --git a/pkgs/by-name/uw/uwc/package.nix b/pkgs/by-name/uw/uwc/package.nix index db6868f161d13..5a6fe1960b891 100644 --- a/pkgs/by-name/uw/uwc/package.nix +++ b/pkgs/by-name/uw/uwc/package.nix @@ -1,4 +1,8 @@ -{ rustPlatform, lib, fetchFromGitHub }: +{ + rustPlatform, + lib, + fetchFromGitHub, +}: rustPlatform.buildRustPackage rec { pname = "uwc"; diff --git a/pkgs/by-name/uw/uwhoisd/package.nix b/pkgs/by-name/uw/uwhoisd/package.nix index 81080d476e8e3..3eac31c31aeed 100644 --- a/pkgs/by-name/uw/uwhoisd/package.nix +++ b/pkgs/by-name/uw/uwhoisd/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { @@ -24,12 +25,15 @@ python3.pkgs.buildPythonApplication rec { poetry-core ]; - propagatedBuildInputs = with python3.pkgs; [ - beautifulsoup4 - publicsuffix2 - redis - tornado - ] ++ redis.optional-dependencies.hiredis; + propagatedBuildInputs = + with python3.pkgs; + [ + beautifulsoup4 + publicsuffix2 + redis + tornado + ] + ++ redis.optional-dependencies.hiredis; # Project has no tests doCheck = false; diff --git a/pkgs/by-name/uw/uwimap/package.nix b/pkgs/by-name/uw/uwimap/package.nix index a359e7677ac2a..86a6e1b0cee78 100644 --- a/pkgs/by-name/uw/uwimap/package.nix +++ b/pkgs/by-name/uw/uwimap/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, pam, openssl, libkrb5 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pam, + openssl, + libkrb5, +}: stdenv.mkDerivation rec { pname = "uw-imap"; @@ -12,17 +20,14 @@ stdenv.mkDerivation rec { makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "RANLIB=${stdenv.cc.targetPrefix}ranlib" - (if stdenv.hostPlatform.isDarwin - then "osx" - else "lnp") # Linux with PAM modules; + (if stdenv.hostPlatform.isDarwin then "osx" else "lnp") # Linux with PAM modules; ] ++ lib.optional stdenv.hostPlatform.isx86_64 "EXTRACFLAGS=-fPIC"; # -fPIC is required to compile php with imap on x86_64 systems - hardeningDisable = [ "format" ]; buildInputs = [ openssl - (if stdenv.hostPlatform.isDarwin then libkrb5 else pam) # Matches the make target. + (if stdenv.hostPlatform.isDarwin then libkrb5 else pam) # Matches the make target. ]; patches = [ @@ -45,8 +50,7 @@ stdenv.mkDerivation rec { makeFlagsArray+=("ARRC=${stdenv.cc.targetPrefix}ar rc") ''; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin - "-I${openssl.dev}/include/openssl"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-I${openssl.dev}/include/openssl"; installPhase = '' mkdir -p $out/bin $out/lib $out/include/c-client diff --git a/pkgs/by-name/uw/uwsgi/package.nix b/pkgs/by-name/uw/uwsgi/package.nix index f677ace2b7931..2bd995ad5a4ae 100644 --- a/pkgs/by-name/uw/uwsgi/package.nix +++ b/pkgs/by-name/uw/uwsgi/package.nix @@ -1,20 +1,28 @@ -{ stdenv -, nixosTests -, lib -, pkg-config -, jansson -, pcre -, libxcrypt -, expat -, zlib -# plugins: list of strings, eg. [ "python2" "python3" ] -, plugins ? [] -, pam, withPAM ? stdenv.hostPlatform.isLinux -, systemd, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, libcap, withCap ? stdenv.hostPlatform.isLinux -, python2, python3, ncurses -, ruby, php -, makeWrapper, fetchFromGitHub +{ + stdenv, + nixosTests, + lib, + pkg-config, + jansson, + pcre, + libxcrypt, + expat, + zlib, + # plugins: list of strings, eg. [ "python2" "python3" ] + plugins ? [ ], + pam, + withPAM ? stdenv.hostPlatform.isLinux, + systemd, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + libcap, + withCap ? stdenv.hostPlatform.isLinux, + python2, + python3, + ncurses, + ruby, + php, + makeWrapper, + fetchFromGitHub, }: let @@ -23,16 +31,21 @@ let apxs2Support = false; }; - pythonPlugin = pkg : lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" { - interpreter = pkg.pythonOnBuildForHost.interpreter; - path = "plugins/python"; - inputs = [ pkg ncurses ]; - install = '' - install -Dm644 uwsgidecorators.py $out/${pkg.sitePackages}/uwsgidecorators.py - ${pkg.pythonOnBuildForHost.executable} -m compileall $out/${pkg.sitePackages}/ - ${pkg.pythonOnBuildForHost.executable} -O -m compileall $out/${pkg.sitePackages}/ - ''; - }; + pythonPlugin = + pkg: + lib.nameValuePair "python${if pkg.isPy2 then "2" else "3"}" { + interpreter = pkg.pythonOnBuildForHost.interpreter; + path = "plugins/python"; + inputs = [ + pkg + ncurses + ]; + install = '' + install -Dm644 uwsgidecorators.py $out/${pkg.sitePackages}/uwsgidecorators.py + ${pkg.pythonOnBuildForHost.executable} -m compileall $out/${pkg.sitePackages}/ + ${pkg.pythonOnBuildForHost.executable} -O -m compileall $out/${pkg.sitePackages}/ + ''; + }; available = lib.listToAttrs [ (pythonPlugin python2) @@ -50,21 +63,23 @@ let # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx path = "plugins/php"; inputs = [ - php-embed - php-embed.extensions.session - php-embed.extensions.session.dev - php-embed.unwrapped.dev + php-embed + php-embed.extensions.session + php-embed.extensions.session.dev + php-embed.unwrapped.dev ] ++ php-embed.unwrapped.buildInputs; }) ]; - getPlugin = name: + getPlugin = + name: let all = lib.concatStringsSep ", " (lib.attrNames available); in - if lib.hasAttr name available - then lib.getAttr name available // { inherit name; } - else throw "Unknown UWSGI plugin ${name}, available : ${all}"; + if lib.hasAttr name available then + lib.getAttr name available // { inherit name; } + else + throw "Unknown UWSGI plugin ${name}, available : ${all}"; needed = builtins.map getPlugin plugins; in @@ -91,17 +106,24 @@ stdenv.mkDerivation (finalAttrs: { python3 ]; - buildInputs = [ jansson pcre libxcrypt ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ expat zlib ] + buildInputs = + [ + jansson + pcre + libxcrypt + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + expat + zlib + ] ++ lib.optional withPAM pam ++ lib.optional withSystemd systemd ++ lib.optional withCap libcap ++ lib.concatMap (x: x.inputs) needed; - basePlugins = lib.concatStringsSep "," - ( lib.optional withPAM "pam" - ++ lib.optional withSystemd "systemd_logger" - ); + basePlugins = lib.concatStringsSep "," ( + lib.optional withPAM "pam" ++ lib.optional withSystemd "systemd_logger" + ); UWSGI_INCLUDES = lib.optionalString withCap "${libcap.dev}/include"; @@ -129,21 +151,24 @@ stdenv.mkDerivation (finalAttrs: { # this is a hack to make the php plugin link with session.so (which on nixos is a separate package) # the hack works in coordination with ./additional-php-ldflags.patch - UWSGICONFIG_PHP_LDFLAGS = lib.optionalString - (builtins.any (x: x.name == "php") needed) - (lib.concatStringsSep "," [ + UWSGICONFIG_PHP_LDFLAGS = lib.optionalString (builtins.any (x: x.name == "php") needed) ( + lib.concatStringsSep "," [ "-Wl" "-rpath=${php-embed.extensions.session}/lib/php/extensions/" "--library-path=${php-embed.extensions.session}/lib/php/extensions/" "-l:session.so" - ]); + ] + ); buildPhase = '' runHook preBuild mkdir -p $pluginDir python3 uwsgiconfig.py --build nixos - ${lib.concatMapStringsSep ";" (x: "${x.preBuild or ""}\n ${x.interpreter or "python3"} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed} + ${lib.concatMapStringsSep ";" ( + x: + "${x.preBuild or ""}\n ${x.interpreter or "python3"} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}" + ) needed} runHook postBuild ''; @@ -157,8 +182,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - postFixup = lib.optionalString (builtins.any (x: x.name == "php") needed) - '' + postFixup = lib.optionalString (builtins.any (x: x.name == "php") needed) '' wrapProgram $out/bin/uwsgi --set PHP_INI_SCAN_DIR ${php-embed}/lib ''; @@ -166,7 +190,11 @@ stdenv.mkDerivation (finalAttrs: { description = "Fast, self-healing and developer/sysadmin-friendly application container server coded in pure C"; homepage = "https://uwsgi-docs.readthedocs.org/en/latest/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ abbradar schneefux globin ]; + maintainers = with lib.maintainers; [ + abbradar + schneefux + globin + ]; platforms = lib.platforms.unix; mainProgram = "uwsgi"; }; diff --git a/pkgs/by-name/uw/uwufetch/package.nix b/pkgs/by-name/uw/uwufetch/package.nix index ce5e378b9ac7d..16e8b2315face 100644 --- a/pkgs/by-name/uw/uwufetch/package.nix +++ b/pkgs/by-name/uw/uwufetch/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, viu }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + viu, +}: stdenv.mkDerivation rec { pname = "uwufetch"; @@ -11,21 +17,23 @@ stdenv.mkDerivation rec { hash = "sha256-cA8sajh+puswyKikr0Jp9ei+EpVkH+vhEp+pTerkUqA="; }; - postPatch = '' - substituteInPlace uwufetch.c \ - --replace "/usr/lib/uwufetch" "$out/lib/uwufetch" \ - --replace "/usr/local/lib/uwufetch" "$out/lib/uwufetch" \ - --replace "/etc/uwufetch/config" "$out/etc/uwufetch/config" - # fix command_path for package manager (nix-store) - substituteInPlace fetch.c \ - --replace "/usr/bin" "/run/current-system/sw/bin" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Makefile \ - --replace "local/bin" "bin" \ - --replace "local/lib" "lib" \ - --replace "local/include" "include" \ - --replace "local/share" "share" - ''; + postPatch = + '' + substituteInPlace uwufetch.c \ + --replace "/usr/lib/uwufetch" "$out/lib/uwufetch" \ + --replace "/usr/local/lib/uwufetch" "$out/lib/uwufetch" \ + --replace "/etc/uwufetch/config" "$out/etc/uwufetch/config" + # fix command_path for package manager (nix-store) + substituteInPlace fetch.c \ + --replace "/usr/bin" "/run/current-system/sw/bin" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Makefile \ + --replace "local/bin" "bin" \ + --replace "local/lib" "lib" \ + --replace "local/include" "include" \ + --replace "local/share" "share" + ''; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/uw/uwuify/package.nix b/pkgs/by-name/uw/uwuify/package.nix index a7380bc8b1f76..128b590ee80ba 100644 --- a/pkgs/by-name/uw/uwuify/package.nix +++ b/pkgs/by-name/uw/uwuify/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, +}: rustPlatform.buildRustPackage rec { pname = "uwuify"; diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix index 48e3fbe6a854a..2fc2a961b7a27 100644 --- a/pkgs/by-name/ux/uxn/package.nix +++ b/pkgs/by-name/ux/uxn/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromSourcehut -, SDL2 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromSourcehut, + SDL2, + unstableGitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +17,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YHRdELTVf6BNa7HFu1buAG9HKRdpx++XjU60P2huY/Q="; }; - outputs = [ "out" "projects" ]; + outputs = [ + "out" + "projects" + ]; nativeBuildInputs = [ SDL2 diff --git a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix index 45bd9515106e1..5373233bd890b 100644 --- a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix +++ b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix @@ -1,4 +1,10 @@ -{ stdenv, pkgsBuildBuild, fetchFromGitHub, lib, nix-update-script }: +{ + stdenv, + pkgsBuildBuild, + fetchFromGitHub, + lib, + nix-update-script, +}: let generator = pkgsBuildBuild.buildGoModule rec { @@ -20,7 +26,12 @@ let }; in stdenv.mkDerivation { - inherit (generator) pname version src meta; + inherit (generator) + pname + version + src + meta + ; buildPhase = '' runHook preBuild ${generator}/bin/domain-list-community -datapath $src/data diff --git a/pkgs/by-name/v2/v2ray-geoip/package.nix b/pkgs/by-name/v2/v2ray-geoip/package.nix index f250040167957..8c17c7395b98c 100644 --- a/pkgs/by-name/v2/v2ray-geoip/package.nix +++ b/pkgs/by-name/v2/v2ray-geoip/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, pkgsBuildBuild -, jq -, moreutils -, dbip-country-lite +{ + lib, + stdenvNoCC, + fetchFromGitHub, + pkgsBuildBuild, + jq, + moreutils, + dbip-country-lite, }: let diff --git a/pkgs/by-name/v2/v2ray/package.nix b/pkgs/by-name/v2/v2ray/package.nix index 075575e7bb527..fd435aea9f2d0 100644 --- a/pkgs/by-name/v2/v2ray/package.nix +++ b/pkgs/by-name/v2/v2ray/package.nix @@ -1,7 +1,17 @@ -{ lib, fetchFromGitHub, symlinkJoin, buildGoModule, makeWrapper, nixosTests -, nix-update-script -, v2ray-geoip, v2ray-domain-list-community -, assets ? [ v2ray-geoip v2ray-domain-list-community ] +{ + lib, + fetchFromGitHub, + symlinkJoin, + buildGoModule, + makeWrapper, + nixosTests, + nix-update-script, + v2ray-geoip, + v2ray-domain-list-community, + assets ? [ + v2ray-geoip + v2ray-domain-list-community + ], }: buildGoModule rec { @@ -19,7 +29,10 @@ buildGoModule rec { # https://github.com/Mic92/nix-update/pull/95 vendorHash = "sha256-9JJjpAvmeXBAauu58eQuE262XN1TIK2SwLUlPQBbwYA="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; subPackages = [ "main" ]; diff --git a/pkgs/by-name/v4/v4l2-relayd/package.nix b/pkgs/by-name/v4/v4l2-relayd/package.nix index c1d48f3094095..f836590afc5a7 100644 --- a/pkgs/by-name/v4/v4l2-relayd/package.nix +++ b/pkgs/by-name/v4/v4l2-relayd/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchgit -, autoreconfHook -, glib -, gst_all_1 -, libtool -, pkg-config -, which +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + glib, + gst_all_1, + libtool, + pkg-config, + which, }: stdenv.mkDerivation rec { pname = "v4l2-relayd"; diff --git a/pkgs/by-name/va/vaapi-intel-hybrid/package.nix b/pkgs/by-name/va/vaapi-intel-hybrid/package.nix index aec3bcc6af2e0..564460b104bc0 100644 --- a/pkgs/by-name/va/vaapi-intel-hybrid/package.nix +++ b/pkgs/by-name/va/vaapi-intel-hybrid/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, autoreconfHook, pkg-config, cmrt, libdrm, libva, libX11, libGL, wayland }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + autoreconfHook, + pkg-config, + cmrt, + libdrm, + libva, + libX11, + libGL, + wayland, +}: stdenv.mkDerivation rec { pname = "intel-hybrid-driver"; @@ -19,9 +32,19 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ cmrt libdrm libva libX11 libGL wayland ]; + buildInputs = [ + cmrt + libdrm + libva + libX11 + libGL + wayland + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/va/vacuum-go/package.nix b/pkgs/by-name/va/vacuum-go/package.nix index a08673af7f33f..dd6cf1f4357e3 100644 --- a/pkgs/by-name/va/vacuum-go/package.nix +++ b/pkgs/by-name/va/vacuum-go/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, vacuum-go }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + vacuum-go, +}: buildGoModule rec { pname = "vacuum-go"; diff --git a/pkgs/by-name/va/vagrant/gemset.nix b/pkgs/by-name/va/vagrant/gemset.nix index bb44c6feeb73c..9958730f0e5c7 100644 --- a/pkgs/by-name/va/vagrant/gemset.nix +++ b/pkgs/by-name/va/vagrant/gemset.nix @@ -1,730 +1,802 @@ { base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bcrypt_pbkdf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04rb3rp9bdxn1y3qiflfpj7ccwb8ghrfbydh5vfz1l9px3fpg41g"; type = "gem"; }; version = "1.1.1"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; childprocess = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in"; type = "gem"; }; version = "4.1.0"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kz6mc4b9m49iaans6cbx031j9y7ldghpi5fzsdh0n3ixwa8w9mz"; type = "gem"; }; version = "3.4.1"; }; diff-lcs = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; ed25519 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji"; type = "gem"; }; version = "1.3.0"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00p5fww0bakph4p9skc7ypjqbqc8crnw31nrmpdm8j4rr5kp4jb0"; type = "gem"; }; version = "1.2.2"; }; fake_ftp = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zl9q9m4x7lz9890g0h1qqj7hcxnwzpjfnfbxadjblps7b5054q4"; type = "gem"; }; version = "0.3.0"; }; faraday = { - dependencies = ["faraday-net_http" "json" "logger"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-net_http" + "json" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vxaw0mg8avqivdj0lzj19nxf652ri208grsdf0361flyn5i5wi3"; type = "gem"; }; version = "2.12.1"; }; faraday-net_http = { - dependencies = ["net-http"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-http" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jp5ci6g40d6i50bsywp35l97nc2fpi9a592r2cibwicdb6y9wd1"; type = "gem"; }; version = "3.4.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; google-protobuf = { - dependencies = ["bigdecimal" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zzlmsv7djpgn6hxp5r1jg7f4nx368j0ccq6pipq1ncplnvbffij"; type = "gem"; }; version = "4.29.1"; }; googleapis-common-protos-types = { - dependencies = ["google-protobuf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-protobuf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xyinc2zaw25r3x774mni66im1b22l9zpbsqdgdb4g4zxcd5srcl"; type = "gem"; }; version = "1.16.0"; }; grpc = { - dependencies = ["google-protobuf" "googleapis-common-protos-types"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "google-protobuf" + "googleapis-common-protos-types" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0z5x8f9k2m656imi59jrd49d8inbnzpcnylz0ijj1ly0ihdi3apd"; type = "gem"; }; version = "1.68.1"; }; grpc-tools = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12wbiq7s1qc6dv35p8c5vay627c6mqm9p1dimv2nz2m6r5f1057v"; type = "gem"; }; version = "1.68.1"; }; gssapi = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; type = "gem"; }; version = "1.3.1"; }; gyoku = { - dependencies = ["builder" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q"; type = "gem"; }; version = "1.4.0"; }; hashicorp-checkpoint = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z6mwzvd7p2wqhmk07dwrhvm0ncgqm7pxn0pr2k025rwsspp9bsd"; type = "gem"; }; version = "0.1.5"; }; hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; ipaddr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb"; type = "gem"; }; version = "1.2.7"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kvbzh8530pp3qf63zvx9hnb708x7plv9wfn5ibns3h3knnvs3kw"; type = "gem"; }; version = "2.9.0"; }; jwt = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rba9mji57sfa1kjhj0bwff1377vj0i8yx2rd39j5ik4vp60gzam"; type = "gem"; }; version = "2.9.3"; }; listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; type = "gem"; }; version = "3.9.0"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; log4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv"; type = "gem"; }; version = "1.1.10"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q9jm4pzqxk92dq9a1y7gjwcw3dcsm1mnsdhi9ms5hw1dpnprzlx"; type = "gem"; }; version = "1.6.2"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "little-plugger" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s"; type = "gem"; }; version = "2.4.0"; }; mime-types = { - dependencies = ["logger" "mime-types-data"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "logger" + "mime-types-data" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r34mc3n7sxsbm9mzyzy8m3dvq7pwbryyc8m452axkj0g2axnwbg"; type = "gem"; }; version = "3.6.0"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a7fq0wn2fdv57dsxfmjyzsjhxprh56k0zg3c4nm9il4s3v0mzig"; type = "gem"; }; version = "3.2024.1203"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multi_xml = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06x61ca5j84nyhr1mwh9r436yiphnc5hmacb3gwqyn5gd0611kjg"; type = "gem"; }; version = "0.7.1"; }; net-ftp = { - dependencies = ["net-protocol" "time"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "net-protocol" + "time" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0kw7g0j35fla8438s90m72b3xr0mqnpgm910qcwrgnvyg903xmi8"; type = "gem"; }; version = "0.3.8"; }; net-http = { - dependencies = ["uri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ysrwaabhf0sn24jrp0nnp51cdv0jf688mh5i6fsz63q2c6b48cn"; type = "gem"; }; version = "0.6.0"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-sftp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r33aa2d61hv1psm0l0mm6ik3ycsnq8symv7h84kpyf2b7493fv5"; type = "gem"; }; version = "4.0.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w1ypxa3n6mskkwb00b489314km19l61p5h3bar6zr8cng27c80p"; type = "gem"; }; version = "7.3.0"; }; nori = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1"; type = "gem"; }; version = "2.7.1"; }; oauth2 = { - dependencies = ["faraday" "jwt" "multi_xml" "rack" "snaky_hash" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "multi_xml" + "rack" + "snaky_hash" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yzpaghh8kwzgmvmrlbzf36ks5s2hf34rayzw081dp2jrzprs7xj"; type = "gem"; }; version = "2.0.9"; }; ostruct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9"; type = "gem"; }; version = "0.6.1"; }; pairing_heap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "059kqpw53cancnp0bp7y1s74y1955riw33w3lqfbnms4b4mdh5zj"; type = "gem"; }; version = "3.1.0"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cd13019gnnh2c0a3kj27ij5ibk72v0bmpypqv4l6ayw8g5cpyyk"; type = "gem"; }; version = "3.1.8"; }; rake = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; rake-compiler = { - dependencies = ["rake"]; - groups = ["development"]; - platforms = []; + dependencies = [ "rake" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xlifh25mhlrigj020nya10s37dbkhc0rlqlf0ld88rxrdg1057k"; type = "gem"; }; version = "1.2.8"; }; rb-fsevent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; version = "0.11.2"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0"; type = "gem"; }; version = "0.11.1"; }; rb-kqueue = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vpq1dmmlbggfk399s7jq2rrnjp6r8774amfli75bqhjn1sk2bxg"; type = "gem"; }; version = "0.2.8"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rgl = { - dependencies = ["pairing_heap" "rexml" "stream"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pairing_heap" + "rexml" + "stream" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jjc2v9hg42bzg6w5yg3azrsdr31qmc6ff93xb5adfjqg337vzz3"; type = "gem"; }; version = "0.5.10"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; type = "gem"; }; version = "3.13.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "001kazj244cb6fbkmh7ap74csbr78717qaskqzqpir1q8xpdmywl"; type = "gem"; }; version = "3.13.2"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf"; type = "gem"; }; version = "3.13.3"; }; rspec-its = { - dependencies = ["rspec-core" "rspec-expectations"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xjikikx2sn9b7nbaza60xq7livjw9kp3a6gwbv5xz9zjd7k2164"; type = "gem"; }; version = "1.3.1"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vxxkb2sf2b36d8ca2nq84kjf85fz4x7wqcvb8r6a5hfxxfk69r3"; type = "gem"; }; version = "3.13.2"; }; rspec-support = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v6v6xvxcpkrrsrv7v1xgf7sl0d71vcfz1cnrjflpf6r7x3a58yf"; type = "gem"; }; version = "3.13.2"; }; rubyntlm = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7"; type = "gem"; }; version = "0.6.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; snaky_hash = { - dependencies = ["hashie" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hashie" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfwvdcr46pk0c7m5aw2w3izbrp1iba0q7l21r37mzpwaz0pxj0s"; type = "gem"; }; version = "2.0.1"; }; stream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "016m9v81vpj14d8g5ins91zc4pzl7vf5f1gxl7jhfsfy601k7cv2"; type = "gem"; }; version = "0.5.5"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3"; type = "gem"; }; version = "0.18.1"; }; time = { - dependencies = ["date"]; - groups = ["default"]; - platforms = []; + dependencies = [ "date" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qgarmdyqypzsaanf4w9vqrd9axrcrjqilxwrfmxp954102kcpq3"; type = "gem"; }; version = "0.4.1"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06fcniirx82hrljzfn5wb3634n8648v8qgy006jzgclfz5gjvjla"; type = "gem"; }; version = "0.4.2"; }; uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09qyg6a29cfgd46qid8qvx4sjbv596v19ym73xvhanbyxd6500xk"; type = "gem"; }; version = "1.0.2"; }; vagrant-spec = { - dependencies = ["childprocess" "log4r" "rspec" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "childprocess" + "log4r" + "rspec" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "2a5afa7512753288b4ec1e26ec13bc6479b2fabb"; @@ -735,74 +807,98 @@ version = "0.0.1"; }; vagrant_cloud = { - dependencies = ["excon" "log4r" "oauth2" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "excon" + "log4r" + "oauth2" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07w7zv93pzpxjsq16z2d15irkl117x2h572bmd0gqhqd50da3lc6"; type = "gem"; }; version = "3.1.2"; }; version_gem = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08a6agx7xk1f6cr9a95dq42vl45si2ln21h33b96li59sv3555y6"; type = "gem"; }; version = "1.1.4"; }; wdm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x5l2pn4x92734k6i2wcjbn2klmwgkiqaajvxadh35k74dgnyh18"; type = "gem"; }; version = "0.1.1"; }; webrick = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12d9n8hll67j737ym2zw4v23cn4vxyfkb6vyv1rzpwv6y6a3qbdl"; type = "gem"; }; version = "1.9.1"; }; winrm = { - dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "erubi" + "gssapi" + "gyoku" + "httpclient" + "logging" + "nori" + "rexml" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01jxpshw5kx5ha21ymaaj14vibv5bvm0dd80ccc6xl3jaxy7cszg"; type = "gem"; }; version = "2.3.9"; }; winrm-elevated = { - dependencies = ["erubi" "winrm" "winrm-fs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "winrm" + "winrm-fs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lmlaii8qapn84wxdg5d82gbailracgk67d0qsnbdnffcg8kswzd"; type = "gem"; }; version = "1.2.3"; }; winrm-fs = { - dependencies = ["erubi" "logging" "rubyzip" "winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "logging" + "rubyzip" + "winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d"; type = "gem"; }; diff --git a/pkgs/by-name/va/vagrant/gemset_libvirt.nix b/pkgs/by-name/va/vagrant/gemset_libvirt.nix index cc9b49f42d9f0..90de5d0bc8b9e 100644 --- a/pkgs/by-name/va/vagrant/gemset_libvirt.nix +++ b/pkgs/by-name/va/vagrant/gemset_libvirt.nix @@ -1,291 +1,411 @@ { builder = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; diff-lcs = { - groups = ["default" "development" "plugins"]; - platforms = []; + groups = [ + "default" + "development" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; diffy = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19xaz5qmw0kg1rdsjh13vk7674bpcmjy6cnddx1cvl80vgkvjr22"; type = "gem"; }; version = "3.4.3"; }; excon = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00p5fww0bakph4p9skc7ypjqbqc8crnw31nrmpdm8j4rr5kp4jb0"; type = "gem"; }; version = "1.2.2"; }; fog-core = { - dependencies = ["builder" "excon" "formatador" "mime-types"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ + "builder" + "excon" + "formatador" + "mime-types" + ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rjv4iqr64arxv07bh84zzbr1y081h21592b5zjdrk937al8mq1z"; type = "gem"; }; version = "2.6.0"; }; fog-json = { - dependencies = ["fog-core" "multi_json"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ + "fog-core" + "multi_json" + ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; type = "gem"; }; version = "1.2.0"; }; fog-libvirt = { - dependencies = ["fog-core" "fog-json" "fog-xml" "json" "ruby-libvirt"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ + "fog-core" + "fog-json" + "fog-xml" + "json" + "ruby-libvirt" + ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "036ajdyj4fxnhqf108jgzjkpiknnr6dg7mrapn8jsagqdr2a2k21"; type = "gem"; }; version = "0.13.1"; }; fog-xml = { - dependencies = ["fog-core" "nokogiri"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ + "fog-core" + "nokogiri" + ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vyyb2429xqzys39xyk2r3fal80qqn397aj2kqsjrgg2y6m59i41"; type = "gem"; }; version = "0.1.4"; }; formatador = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l06bv4avphbdmr1y4g0rqlczr38k6r65b3zghrbj2ynyhm3xqjl"; type = "gem"; }; version = "1.1.0"; }; json = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kvbzh8530pp3qf63zvx9hnb708x7plv9wfn5ibns3h3knnvs3kw"; type = "gem"; }; version = "2.9.0"; }; logger = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q9jm4pzqxk92dq9a1y7gjwcw3dcsm1mnsdhi9ms5hw1dpnprzlx"; type = "gem"; }; version = "1.6.2"; }; mime-types = { - dependencies = ["logger" "mime-types-data"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ + "logger" + "mime-types-data" + ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r34mc3n7sxsbm9mzyzy8m3dvq7pwbryyc8m452axkj0g2axnwbg"; type = "gem"; }; version = "3.6.0"; }; mime-types-data = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a7fq0wn2fdv57dsxfmjyzsjhxprh56k0zg3c4nm9il4s3v0mzig"; type = "gem"; }; version = "3.2024.1203"; }; mini_portile2 = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf"; type = "gem"; }; version = "2.8.8"; }; multi_json = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18ajyy4d16q4ahnrfmj6d6z9ak21mnbn4wblx2vddck3lvwlpkny"; type = "gem"; }; version = "1.16.8"; }; parallel = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq"; type = "gem"; }; version = "1.26.3"; }; parallel_tests = { - dependencies = ["parallel"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "parallel" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04i61bkra454var9dc79ak3yffl13mbqx8xv2rvidx9n7ins9cyn"; type = "gem"; }; version = "4.7.2"; }; racc = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rake = { - groups = ["development" "plugins"]; - platforms = []; + groups = [ + "development" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; rexml = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["development" "plugins"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ + "development" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "001kazj244cb6fbkmh7ap74csbr78717qaskqzqpir1q8xpdmywl"; type = "gem"; }; version = "3.13.2"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["development" "plugins"]; - platforms = []; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "development" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf"; type = "gem"; }; version = "3.13.3"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["development" "plugins"]; - platforms = []; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "development" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vxxkb2sf2b36d8ca2nq84kjf85fz4x7wqcvb8r6a5hfxxfk69r3"; type = "gem"; }; version = "3.13.2"; }; rspec-support = { - groups = ["default" "development" "plugins"]; - platforms = []; + groups = [ + "default" + "development" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v6v6xvxcpkrrsrv7v1xgf7sl0d71vcfz1cnrjflpf6r7x3a58yf"; type = "gem"; }; version = "3.13.2"; }; ruby-libvirt = { - groups = ["default" "plugins"]; - platforms = []; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r0igmwr22pi3dkkg1p79hjf8mr178qnz83q8fnaj87x7zk3qfyg"; type = "gem"; }; version = "0.8.4"; }; vagrant-libvirt = { - dependencies = ["diffy" "fog-core" "fog-libvirt" "nokogiri" "rexml" "xml-simple"]; - groups = ["plugins"]; - platforms = []; + dependencies = [ + "diffy" + "fog-core" + "fog-libvirt" + "nokogiri" + "rexml" + "xml-simple" + ]; + groups = [ "plugins" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "sha256-NMiRjrVQo2Ui9nOJwpDmNJUk+95gsT85pwFMIiw3bwQ="; type = "gem"; }; version = "0.12.2"; }; xml-simple = { - dependencies = ["rexml"]; - groups = ["default" "plugins"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ + "default" + "plugins" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb9plyl71mdbjr4kllfy53qx6g68ryxblmnq9dilvy837jk24fj"; type = "gem"; }; diff --git a/pkgs/by-name/va/vagrant/package.nix b/pkgs/by-name/va/vagrant/package.nix index 6754a39fad4e3..fb52d3ebc0c9c 100644 --- a/pkgs/by-name/va/vagrant/package.nix +++ b/pkgs/by-name/va/vagrant/package.nix @@ -1,6 +1,16 @@ -{ stdenv, lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive -, libguestfs, qemu, writeText, withLibvirt ? stdenv.hostPlatform.isLinux -, openssl +{ + stdenv, + lib, + fetchurl, + buildRubyGem, + bundlerEnv, + ruby, + libarchive, + libguestfs, + qemu, + writeText, + withLibvirt ? stdenv.hostPlatform.isLinux, + openssl, }: let @@ -18,15 +28,18 @@ let inherit ruby; gemfile = writeText "Gemfile" ""; lockfile = writeText "Gemfile.lock" ""; - gemset = lib.recursiveUpdate (import ./gemset.nix) ({ - vagrant = { - source = { - type = "url"; - inherit url hash; + gemset = lib.recursiveUpdate (import ./gemset.nix) ( + { + vagrant = { + source = { + type = "url"; + inherit url hash; + }; + inherit version; }; - inherit version; - }; - } // lib.optionalAttrs withLibvirt (import ./gemset_libvirt.nix)); + } + // lib.optionalAttrs withLibvirt (import ./gemset_libvirt.nix) + ); # This replaces the gem symlinks with directories, resolving this # error when running vagrant (I have no idea why): @@ -42,7 +55,8 @@ let ''; }; -in buildRubyGem rec { +in +buildRubyGem rec { name = "${gemName}-${version}"; gemName = "vagrant"; inherit version; @@ -75,34 +89,39 @@ in buildRubyGem rec { # - qemu: Make 'qemu-img' available for 'vagrant package' postInstall = let - pathAdditions = lib.makeSearchPath "bin" - (map (x: lib.getBin x) ([ - libarchive - ] ++ lib.optionals withLibvirt [ - libguestfs - qemu - ])); - in '' - wrapProgram "$out/bin/vagrant" \ - --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}" \ - --prefix PATH ':' ${pathAdditions} \ - --set-default VAGRANT_CHECKPOINT_DISABLE 1 + pathAdditions = lib.makeSearchPath "bin" ( + map (x: lib.getBin x) ( + [ + libarchive + ] + ++ lib.optionals withLibvirt [ + libguestfs + qemu + ] + ) + ); + in + '' + wrapProgram "$out/bin/vagrant" \ + --set GEM_PATH "${deps}/lib/ruby/gems/${ruby.version.libDir}" \ + --prefix PATH ':' ${pathAdditions} \ + --set-default VAGRANT_CHECKPOINT_DISABLE 1 - mkdir -p "$out/vagrant-plugins/plugins.d" - echo '{}' > "$out/vagrant-plugins/plugins.json" + mkdir -p "$out/vagrant-plugins/plugins.d" + echo '{}' > "$out/vagrant-plugins/plugins.json" - # install bash completion - mkdir -p $out/share/bash-completion/completions/ - cp -av contrib/bash/completion.sh $out/share/bash-completion/completions/vagrant - # install zsh completion - mkdir -p $out/share/zsh/site-functions/ - cp -av contrib/zsh/_vagrant $out/share/zsh/site-functions/ - '' + - lib.optionalString withLibvirt '' - substitute ${./vagrant-libvirt.json.in} $out/vagrant-plugins/plugins.d/vagrant-libvirt.json \ - --subst-var-by ruby_version ${ruby.version} \ - --subst-var-by vagrant_version ${version} - ''; + # install bash completion + mkdir -p $out/share/bash-completion/completions/ + cp -av contrib/bash/completion.sh $out/share/bash-completion/completions/vagrant + # install zsh completion + mkdir -p $out/share/zsh/site-functions/ + cp -av contrib/zsh/_vagrant $out/share/zsh/site-functions/ + '' + + lib.optionalString withLibvirt '' + substitute ${./vagrant-libvirt.json.in} $out/vagrant-plugins/plugins.d/vagrant-libvirt.json \ + --subst-var-by ruby_version ${ruby.version} \ + --subst-var-by vagrant_version ${version} + ''; installCheckPhase = '' HOME="$(mktemp -d)" $out/bin/vagrant init --output - > /dev/null diff --git a/pkgs/by-name/va/vala-language-server/package.nix b/pkgs/by-name/va/vala-language-server/package.nix index 9faf60024c5dc..87d67a44acf48 100644 --- a/pkgs/by-name/va/vala-language-server/package.nix +++ b/pkgs/by-name/va/vala-language-server/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, scdoc -, gnome-builder -, glib -, libgee -, json-glib -, jsonrpc-glib -, vala +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + scdoc, + gnome-builder, + glib, + libgee, + json-glib, + jsonrpc-glib, + vala, }: stdenv.mkDerivation rec { @@ -29,15 +30,17 @@ stdenv.mkDerivation rec { updateScript = nix-update-script { }; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - scdoc - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # GNOME Builder Plugin - gnome-builder - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + scdoc + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # GNOME Builder Plugin + gnome-builder + ]; buildInputs = [ glib diff --git a/pkgs/by-name/va/vala-lint/package.nix b/pkgs/by-name/va/vala-lint/package.nix index d47e7c22470aa..8a2d5d2220d8a 100644 --- a/pkgs/by-name/va/vala-lint/package.nix +++ b/pkgs/by-name/va/vala-lint/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, glib -, json-glib -, meson -, ninja -, pantheon -, pkg-config -, vala -, gettext -, wrapGAppsHook3 -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + glib, + json-glib, + meson, + ninja, + pantheon, + pkg-config, + vala, + gettext, + wrapGAppsHook3, + unstableGitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/va/vale-ls/package.nix b/pkgs/by-name/va/vale-ls/package.nix index 0a09952d51afa..f0775366e02e3 100644 --- a/pkgs/by-name/va/vale-ls/package.nix +++ b/pkgs/by-name/va/vale-ls/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, rustPlatform -, pkg-config -, openssl -, darwin -, vale +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + rustPlatform, + pkg-config, + openssl, + darwin, + vale, }: rustPlatform.buildRustPackage rec { @@ -26,20 +27,27 @@ rustPlatform.buildRustPackage rec { makeWrapper ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - SystemConfiguration - ]); - - checkFlags = [ - # The following tests are reaching to the network. - "--skip=vale::tests" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - # This test does not account for the existence of aarch64-linux machines, - # despite upstream shipping artifacts for that architecture - "--skip=utils::tests::arch" - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + SystemConfiguration + ] + ); + + checkFlags = + [ + # The following tests are reaching to the network. + "--skip=vale::tests" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + # This test does not account for the existence of aarch64-linux machines, + # despite upstream shipping artifacts for that architecture + "--skip=utils::tests::arch" + ]; env.OPENSSL_NO_VENDOR = true; @@ -55,7 +63,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/errata-ai/vale-ls"; license = licenses.mit; mainProgram = "vale-ls"; - maintainers = with maintainers; [ foo-dogsquared jansol ]; + maintainers = with maintainers; [ + foo-dogsquared + jansol + ]; }; } - diff --git a/pkgs/by-name/va/validator-nu/package.nix b/pkgs/by-name/va/validator-nu/package.nix index d52c87e4186ba..45450844e09d1 100644 --- a/pkgs/by-name/va/validator-nu/package.nix +++ b/pkgs/by-name/va/validator-nu/package.nix @@ -1,12 +1,13 @@ -{ fetchFromGitHub -, git -, jdk_headless -, jre_headless -, makeWrapper -, python3 -, stdenvNoCC -, lib -, testers +{ + fetchFromGitHub, + git, + jdk_headless, + jre_headless, + makeWrapper, + python3, + stdenvNoCC, + lib, + testers, }: let @@ -25,7 +26,12 @@ let pname = "${pname}-deps"; inherit version src; - nativeBuildInputs = [ git jdk_headless python3 python3.pkgs.certifi ]; + nativeBuildInputs = [ + git + jdk_headless + python3 + python3.pkgs.certifi + ]; buildPhase = '' python checker.py dldeps @@ -44,7 +50,12 @@ in stdenvNoCC.mkDerivation (finalAttrs: { inherit pname version src; - nativeBuildInputs = [ git jdk_headless makeWrapper python3 ]; + nativeBuildInputs = [ + git + jdk_headless + makeWrapper + python3 + ]; postPatch = '' substituteInPlace build/build.py --replace-warn \ @@ -76,9 +87,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Helps you catch problems in your HTML/CSS/SVG"; homepage = "https://validator.github.io/validator/"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ andersk ivan ]; + maintainers = with lib.maintainers; [ + andersk + ivan + ]; mainProgram = "vnu"; platforms = lib.platforms.all; - sourceProvenance = with lib.sourceTypes; [ binaryBytecode fromSource ]; + sourceProvenance = with lib.sourceTypes; [ + binaryBytecode + fromSource + ]; }; }) diff --git a/pkgs/by-name/va/valijson/package.nix b/pkgs/by-name/va/valijson/package.nix index 05da39c37475e..0c928e81f08b1 100644 --- a/pkgs/by-name/va/valijson/package.nix +++ b/pkgs/by-name/va/valijson/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix index 6f1f74cea49be..8eca5d228869e 100644 --- a/pkgs/by-name/va/valkey/package.nix +++ b/pkgs/by-name/va/valkey/package.nix @@ -1,13 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, lua, jemalloc, pkg-config -, tcl, which, ps, getconf -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -# dependency ordering is broken at the moment when building with openssl -, tlsSupport ? !stdenv.hostPlatform.isStatic, openssl - -# Using system jemalloc fixes cross-compilation and various setups. -# However the experimental 'active defragmentation' feature of valkey requires -# their custom patched version of jemalloc. -, useSystemJemalloc ? true +{ + lib, + stdenv, + fetchFromGitHub, + lua, + jemalloc, + pkg-config, + tcl, + which, + ps, + getconf, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + # dependency ordering is broken at the moment when building with openssl + tlsSupport ? !stdenv.hostPlatform.isStatic, + openssl, + + # Using system jemalloc fixes cross-compilation and various setups. + # However the experimental 'active defragmentation' feature of valkey requires + # their custom patched version of jemalloc. + useSystemJemalloc ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +36,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lua ] + buildInputs = + [ lua ] ++ lib.optional useSystemJemalloc jemalloc ++ lib.optional withSystemd systemd ++ lib.optional tlsSupport openssl; @@ -37,8 +49,12 @@ stdenv.mkDerivation (finalAttrs: { ''; # More cross-compiling fixes. - makeFlags = [ "PREFIX=${placeholder "out"}" ] - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ] + makeFlags = + [ "PREFIX=${placeholder "out"}" ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "AR=${stdenv.cc.targetPrefix}ar" + "RANLIB=${stdenv.cc.targetPrefix}ranlib" + ] ++ lib.optionals withSystemd [ "USE_SYSTEMD=yes" ] ++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ]; @@ -50,7 +66,11 @@ stdenv.mkDerivation (finalAttrs: { # darwin currently lacks a pure `pgrep` which is extensively used here doCheck = !stdenv.hostPlatform.isDarwin; - nativeCheckInputs = [ which tcl ps ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ]; + nativeCheckInputs = [ + which + tcl + ps + ] ++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ]; checkPhase = '' runHook preCheck diff --git a/pkgs/by-name/va/vals/package.nix b/pkgs/by-name/va/vals/package.nix index 07248d814d14e..60a38a0373486 100644 --- a/pkgs/by-name/va/vals/package.nix +++ b/pkgs/by-name/va/vals/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, vals }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + vals, +}: buildGoModule rec { pname = "vals"; diff --git a/pkgs/by-name/va/valum/package.nix b/pkgs/by-name/va/valum/package.nix index 2602324e89239..e2dec1824b57c 100644 --- a/pkgs/by-name/va/valum/package.nix +++ b/pkgs/by-name/va/valum/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, meson, ninja, pkg-config, fetchFromGitHub, glib, vala, ctpl -, libgee, libsoup_2_4, fcgi }: +{ + lib, + stdenv, + meson, + ninja, + pkg-config, + fetchFromGitHub, + glib, + vala, + ctpl, + libgee, + libsoup_2_4, + fcgi, +}: stdenv.mkDerivation rec { pname = "valum"; @@ -12,8 +24,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-baAv83YiX8HdBm/t++ktB7pmTVlt4aWZ5xnsAs/NrTI="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; - buildInputs = [ glib vala ctpl libgee libsoup_2_4 fcgi ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + buildInputs = [ + glib + vala + ctpl + libgee + libsoup_2_4 + fcgi + ]; meta = with lib; { homepage = "https://github.com/valum-framework/valum"; diff --git a/pkgs/by-name/va/valuta/package.nix b/pkgs/by-name/va/valuta/package.nix index a9ea0aeda8cd5..d69fb50dcb434 100644 --- a/pkgs/by-name/va/valuta/package.nix +++ b/pkgs/by-name/va/valuta/package.nix @@ -1,16 +1,17 @@ -{ lib -, python3Packages -, fetchFromGitHub -, meson -, ninja -, pkg-config -, blueprint-compiler -, desktop-file-utils -, gtk4 -, gst_all_1 -, libsoup_3 -, libadwaita -, wrapGAppsHook4 +{ + lib, + python3Packages, + fetchFromGitHub, + meson, + ninja, + pkg-config, + blueprint-compiler, + desktop-file-utils, + gtk4, + gst_all_1, + libsoup_3, + libadwaita, + wrapGAppsHook4, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/va/vamp-plugin-sdk/package.nix b/pkgs/by-name/va/vamp-plugin-sdk/package.nix index a483f7023d045..e7d538d1af06c 100644 --- a/pkgs/by-name/va/vamp-plugin-sdk/package.nix +++ b/pkgs/by-name/va/vamp-plugin-sdk/package.nix @@ -1,7 +1,13 @@ # set VAMP_PATH ? # plugins availible on sourceforge and http://www.vamp-plugins.org/download.html (various licenses) -{ lib, stdenv, fetchFromGitHub, pkg-config, libsndfile }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libsndfile, +}: stdenv.mkDerivation rec { pname = "vamp-plugin-sdk"; diff --git a/pkgs/by-name/va/vanilla-dmz/package.nix b/pkgs/by-name/va/vanilla-dmz/package.nix index 23253eef72c2f..b6ff58b83557d 100644 --- a/pkgs/by-name/va/vanilla-dmz/package.nix +++ b/pkgs/by-name/va/vanilla-dmz/package.nix @@ -1,8 +1,9 @@ -{ stdenvNoCC -, lib -, fetchzip -, xorg -, hicolor-icon-theme +{ + stdenvNoCC, + lib, + fetchzip, + xorg, + hicolor-icon-theme, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/va/varia/package.nix b/pkgs/by-name/va/varia/package.nix index e4ad34d407762..fd331c451800a 100644 --- a/pkgs/by-name/va/varia/package.nix +++ b/pkgs/by-name/va/varia/package.nix @@ -1,14 +1,15 @@ -{ lib -, python3Packages -, fetchFromGitHub -, aria2 -, meson -, ninja -, pkg-config -, gobject-introspection -, wrapGAppsHook4 -, desktop-file-utils -, libadwaita +{ + lib, + python3Packages, + fetchFromGitHub, + aria2, + meson, + ninja, + pkg-config, + gobject-introspection, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/va/variety/package.nix b/pkgs/by-name/va/variety/package.nix index ddfa2f9ea8510..81ec12631f1ec 100644 --- a/pkgs/by-name/va/variety/package.nix +++ b/pkgs/by-name/va/variety/package.nix @@ -1,21 +1,22 @@ -{ lib -, fetchFromGitHub -, gexiv2 -, gobject-introspection -, gtk3 -, hicolor-icon-theme -, intltool -, libnotify -, librsvg -, python3 -, runtimeShell -, wrapGAppsHook3 -, fehSupport ? false -, feh -, imagemagickSupport ? true -, imagemagick -, appindicatorSupport ? true -, libayatana-appindicator +{ + lib, + fetchFromGitHub, + gexiv2, + gobject-introspection, + gtk3, + hicolor-icon-theme, + intltool, + libnotify, + librsvg, + python3, + runtimeShell, + wrapGAppsHook3, + fehSupport ? false, + feh, + imagemagickSupport ? true, + imagemagick, + appindicatorSupport ? true, + libayatana-appindicator, }: python3.pkgs.buildPythonApplication rec { @@ -41,24 +42,25 @@ python3.pkgs.buildPythonApplication rec { hicolor-icon-theme libnotify librsvg - ] - ++ lib.optional appindicatorSupport libayatana-appindicator; + ] ++ lib.optional appindicatorSupport libayatana-appindicator; - propagatedBuildInputs = with python3.pkgs; [ - beautifulsoup4 - configobj - dbus-python - distutils-extra - httplib2 - lxml - pillow - pycairo - pygobject3 - requests - setuptools - ] - ++ lib.optional fehSupport feh - ++ lib.optional imagemagickSupport imagemagick; + propagatedBuildInputs = + with python3.pkgs; + [ + beautifulsoup4 + configobj + dbus-python + distutils-extra + httplib2 + lxml + pillow + pycairo + pygobject3 + requests + setuptools + ] + ++ lib.optional fehSupport feh + ++ lib.optional imagemagickSupport imagemagick; doCheck = false; @@ -95,6 +97,9 @@ python3.pkgs.buildPythonApplication rec { blur, as well as options to layer quotes and a clock onto the background. ''; license = licenses.gpl3Plus; - maintainers = with maintainers; [ p3psi zfnmxt ]; + maintainers = with maintainers; [ + p3psi + zfnmxt + ]; }; } diff --git a/pkgs/by-name/va/varscan/package.nix b/pkgs/by-name/va/varscan/package.nix index bf6d16c3701d2..6532d60820e4c 100644 --- a/pkgs/by-name/va/varscan/package.nix +++ b/pkgs/by-name/va/varscan/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, jre, makeWrapper}: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "varscan"; diff --git a/pkgs/by-name/va/vassal/package.nix b/pkgs/by-name/va/vassal/package.nix index a15c581ffc0b8..fc362fb3f874e 100644 --- a/pkgs/by-name/va/vassal/package.nix +++ b/pkgs/by-name/va/vassal/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchzip -, glib -, jre -, makeWrapper -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchzip, + glib, + jre, + makeWrapper, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -42,15 +43,18 @@ stdenv.mkDerivation rec { ''; # Don't move doc to share/, VASSAL expects it to be in the root - forceShare = [ "man" "info" ]; + forceShare = [ + "man" + "info" + ]; meta = with lib; { - description = "Free, open-source boardgame engine"; - homepage = "https://vassalengine.org/"; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.lgpl21Only; - maintainers = with maintainers; [ tvestelind ]; - platforms = platforms.unix; - mainProgram = "vassal"; + description = "Free, open-source boardgame engine"; + homepage = "https://vassalengine.org/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.lgpl21Only; + maintainers = with maintainers; [ tvestelind ]; + platforms = platforms.unix; + mainProgram = "vassal"; }; } diff --git a/pkgs/by-name/va/vault-medusa/package.nix b/pkgs/by-name/va/vault-medusa/package.nix index 2995d4b9cd0b3..00b599fb4af18 100644 --- a/pkgs/by-name/va/vault-medusa/package.nix +++ b/pkgs/by-name/va/vault-medusa/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "vault-medusa"; diff --git a/pkgs/by-name/va/vault-ssh-plus/package.nix b/pkgs/by-name/va/vault-ssh-plus/package.nix index 908d5abb8eecd..f0b472b4f20db 100644 --- a/pkgs/by-name/va/vault-ssh-plus/package.nix +++ b/pkgs/by-name/va/vault-ssh-plus/package.nix @@ -1,10 +1,11 @@ -{ buildGoModule -, fetchFromGitHub -, makeWrapper -, lib -, openssh -, testers -, vault-ssh-plus +{ + buildGoModule, + fetchFromGitHub, + makeWrapper, + lib, + openssh, + testers, + vault-ssh-plus, }: buildGoModule rec { pname = "vault-ssh-plus"; diff --git a/pkgs/by-name/va/vault-unseal/package.nix b/pkgs/by-name/va/vault-unseal/package.nix index 0014d995b9cd6..e6952c5814c41 100644 --- a/pkgs/by-name/va/vault-unseal/package.nix +++ b/pkgs/by-name/va/vault-unseal/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: let diff --git a/pkgs/by-name/va/vaults/package.nix b/pkgs/by-name/va/vaults/package.nix index 64b2a1c1be6df..1079eaa602a2d 100644 --- a/pkgs/by-name/va/vaults/package.nix +++ b/pkgs/by-name/va/vaults/package.nix @@ -1,22 +1,23 @@ -{ fetchFromGitHub -, lib -, stdenv -, appstream-glib -, desktop-file-utils -, meson -, ninja -, pkg-config -, python3 -, rustPlatform -, rustc -, cargo -, wrapGAppsHook3 -, glib -, gtk4 -, libadwaita -, wayland -, gocryptfs -, cryfs +{ + fetchFromGitHub, + lib, + stdenv, + appstream-glib, + desktop-file-utils, + meson, + ninja, + pkg-config, + python3, + rustPlatform, + rustc, + cargo, + wrapGAppsHook3, + glib, + gtk4, + libadwaita, + wayland, + gocryptfs, + cryfs, }: stdenv.mkDerivation rec { @@ -46,7 +47,12 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [ gocryptfs cryfs ]}" + --prefix PATH : "${ + lib.makeBinPath [ + gocryptfs + cryfs + ] + }" ) ''; diff --git a/pkgs/by-name/va/vazir-code-font/package.nix b/pkgs/by-name/va/vazir-code-font/package.nix index 6c76f4c6d5030..5b81c36426b3c 100644 --- a/pkgs/by-name/va/vazir-code-font/package.nix +++ b/pkgs/by-name/va/vazir-code-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "vazir-code-font"; diff --git a/pkgs/by-name/va/vazir-fonts/package.nix b/pkgs/by-name/va/vazir-fonts/package.nix index 11b991306a0a8..3aa6170f57b16 100644 --- a/pkgs/by-name/va/vazir-fonts/package.nix +++ b/pkgs/by-name/va/vazir-fonts/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "vazir-fonts"; diff --git a/pkgs/by-name/vb/vbam/package.nix b/pkgs/by-name/vb/vbam/package.nix index b1916a86867a6..a52c273ec56f2 100644 --- a/pkgs/by-name/vb/vbam/package.nix +++ b/pkgs/by-name/vb/vbam/package.nix @@ -1,20 +1,23 @@ -{ lib, stdenv -, cairo -, cmake -, fetchFromGitHub -, ffmpeg -, gettext -, wxGTK32 -, gtk3 -, libGLU, libGL -, openal -, pkg-config -, SDL2 -, sfml -, zip -, zlib -, wrapGAppsHook3 -, gsettings-desktop-schemas +{ + lib, + stdenv, + cairo, + cmake, + fetchFromGitHub, + ffmpeg, + gettext, + wxGTK32, + gtk3, + libGLU, + libGL, + openal, + pkg-config, + SDL2, + sfml, + zip, + zlib, + wrapGAppsHook3, + gsettings-desktop-schemas, }: stdenv.mkDerivation rec { @@ -27,7 +30,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-OtJ632H449kPRY1i4Ydlcc1tgG00Mv622KrCyJ80OF4="; }; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ cairo @@ -52,10 +59,13 @@ stdenv.mkDerivation rec { "-DENABLE_SDL='true'" ]; - meta = with lib; { + meta = with lib; { description = "Merge of the original Visual Boy Advance forks"; license = licenses.gpl2; - maintainers = with maintainers; [ lassulus netali ]; + maintainers = with maintainers; [ + lassulus + netali + ]; homepage = "https://vba-m.com/"; platforms = lib.platforms.linux; mainProgram = "visualboyadvance-m"; diff --git a/pkgs/by-name/vb/vbetool/package.nix b/pkgs/by-name/vb/vbetool/package.nix index d969d2f61a1c0..9cf71be3c8529 100644 --- a/pkgs/by-name/vb/vbetool/package.nix +++ b/pkgs/by-name/vb/vbetool/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pciutils, libx86, zlib }: +{ + lib, + stdenv, + fetchurl, + pciutils, + libx86, + zlib, +}: stdenv.mkDerivation rec { pname = "vbetool"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "0m7rc9v8nz6w9x4x96maza139kin6lg4hscy6i13fna4672ds9jd"; }; - buildInputs = [ pciutils libx86 zlib ]; + buildInputs = [ + pciutils + libx86 + zlib + ]; patchPhase = '' substituteInPlace Makefile.in --replace '$(libdir)/libpci.a' "" diff --git a/pkgs/by-name/vb/vbindiff/package.nix b/pkgs/by-name/vb/vbindiff/package.nix index 6a9f745a77947..57aa940b41eb6 100644 --- a/pkgs/by-name/vb/vbindiff/package.nix +++ b/pkgs/by-name/vb/vbindiff/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "vbindiff"; diff --git a/pkgs/by-name/vb/vboot_reference/package.nix b/pkgs/by-name/vb/vboot_reference/package.nix index e790048ebcb5e..3489f6c20ef75 100644 --- a/pkgs/by-name/vb/vboot_reference/package.nix +++ b/pkgs/by-name/vb/vboot_reference/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitiles, pkg-config, libuuid, openssl, libyaml, xz }: +{ + lib, + stdenv, + fetchFromGitiles, + pkg-config, + libuuid, + openssl, + libyaml, + xz, +}: stdenv.mkDerivation rec { version = "111.15329"; @@ -12,7 +21,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libuuid libyaml openssl xz ]; + buildInputs = [ + libuuid + libyaml + openssl + xz + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/vc/vcal/package.nix b/pkgs/by-name/vc/vcal/package.nix index 6b882e2710a61..1efc9ee6af6bb 100644 --- a/pkgs/by-name/vc/vcal/package.nix +++ b/pkgs/by-name/vc/vcal/package.nix @@ -1,11 +1,16 @@ -{ stdenv, lib, fetchurl, perl }: +{ + stdenv, + lib, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "vcal"; version = "2.8"; src = fetchurl { - url = "https://waynemorrison.com/software/vcal"; + url = "https://waynemorrison.com/software/vcal"; sha256 = "0jrm0jzqxb1xjp24hwbzlxsh22gjssay9gj4zszljzdm68r5afvc"; }; diff --git a/pkgs/by-name/vc/vcdimager/package.nix b/pkgs/by-name/vc/vcdimager/package.nix index 02f959cf74edc..af77f7532c309 100644 --- a/pkgs/by-name/vc/vcdimager/package.nix +++ b/pkgs/by-name/vc/vcdimager/package.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, fetchurl, pkg-config, libcdio, libxml2, popt -, libiconv, darwin }: +{ + stdenv, + lib, + fetchurl, + pkg-config, + libcdio, + libxml2, + popt, + libiconv, + darwin, +}: stdenv.mkDerivation rec { pname = "vcdimager"; @@ -12,8 +21,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libxml2 popt libiconv ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ IOKit DiskArbitration ]); + buildInputs = + [ + libxml2 + popt + libiconv + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + IOKit + DiskArbitration + ] + ); propagatedBuildInputs = [ libcdio ]; diff --git a/pkgs/by-name/vc/vcftools/package.nix b/pkgs/by-name/vc/vcftools/package.nix index 644c7eb2bd37b..d3b1bb1301ec0 100644 --- a/pkgs/by-name/vc/vcftools/package.nix +++ b/pkgs/by-name/vc/vcftools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, zlib, autoreconfHook, pkg-config, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + autoreconfHook, + pkg-config, + perl, +}: stdenv.mkDerivation rec { pname = "vcftools"; @@ -11,8 +19,14 @@ stdenv.mkDerivation rec { sha256 = "0msb09d2cnm8rlpg8bsc1lhjddvp3kf3i9dsj1qs4qgsdlzhxkyx"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ zlib perl ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + zlib + perl + ]; meta = with lib; { description = "Set of tools written in Perl and C++ for working with VCF files, such as those generated by the 1000 Genomes Project"; diff --git a/pkgs/by-name/vc/vcg/package.nix b/pkgs/by-name/vc/vcg/package.nix index 62b39c05395e7..7fe6f3832f869 100644 --- a/pkgs/by-name/vc/vcg/package.nix +++ b/pkgs/by-name/vc/vcg/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, eigen }: +{ + lib, + stdenv, + fetchFromGitHub, + eigen, +}: stdenv.mkDerivation rec { pname = "vcg"; diff --git a/pkgs/by-name/vc/vcpkg-tool/package.nix b/pkgs/by-name/vc/vcpkg-tool/package.nix index 04dadbcdc25bb..2f776cb3c3af0 100644 --- a/pkgs/by-name/vc/vcpkg-tool/package.nix +++ b/pkgs/by-name/vc/vcpkg-tool/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, runtimeShell -, apple-sdk_11 -, cacert -, cmake -, cmakerc -, curl -, fmt -, git -, gzip -, meson -, ninja -, openssh -, python3 -, unzip -, zip -, zstd -, runCommand -, writeText -, extraRuntimeDeps ? [] -, doWrap ? true +{ + lib, + stdenv, + fetchFromGitHub, + runtimeShell, + apple-sdk_11, + cacert, + cmake, + cmakerc, + curl, + fmt, + git, + gzip, + meson, + ninja, + openssh, + python3, + unzip, + zip, + zstd, + runCommand, + writeText, + extraRuntimeDeps ? [ ], + doWrap ? true, }: stdenv.mkDerivation (finalAttrs: { pname = "vcpkg-tool"; @@ -53,112 +54,122 @@ stdenv.mkDerivation (finalAttrs: { "-DVCPKG_DEPENDENCY_CMAKERC=ON" ]; - passAsFile = [ "vcpkgWrapper" ]; - vcpkgWrapper = let - # These are the most common binaries used by vcpkg - # Extra binaries can be added through override when needed - runtimeDeps = [ - cacert - cmake - curl - git - gzip - meson - ninja - openssh - python3 - unzip - zip - zstd - ] ++ extraRuntimeDeps; - - # Apart from adding the runtime dependencies to $PATH, - # the wrapper will also override these arguments by default. - # This is to ensure that the executable does not try to - # write to the nix store. If the user tries to set any of the - # arguments themself, the wrapper will detect that the - # arguments are present, and prefer the user-provided value. - # - # It is also possible to override the cli arguments by - # settings either of the nix-specific environment variables. - argsWithDefault = [ - { - arg = "--downloads-root"; - env = "NIX_VCPKG_DOWNLOADS_ROOT"; - default = "$NIX_VCPKG_WRITABLE_PATH/downloads"; - } - { - arg = "--x-buildtrees-root"; - env = "NIX_VCPKG_BUILDTREES_ROOT"; - default = "$NIX_VCPKG_WRITABLE_PATH/buildtrees"; - } - { - arg = "--x-packages-root"; - env = "NIX_VCPKG_PACKAGES_ROOT"; - default = "$NIX_VCPKG_WRITABLE_PATH/packages"; + vcpkgWrapper = + let + # These are the most common binaries used by vcpkg + # Extra binaries can be added through override when needed + runtimeDeps = [ + cacert + cmake + curl + git + gzip + meson + ninja + openssh + python3 + unzip + zip + zstd + ] ++ extraRuntimeDeps; + + # Apart from adding the runtime dependencies to $PATH, + # the wrapper will also override these arguments by default. + # This is to ensure that the executable does not try to + # write to the nix store. If the user tries to set any of the + # arguments themself, the wrapper will detect that the + # arguments are present, and prefer the user-provided value. + # + # It is also possible to override the cli arguments by + # settings either of the nix-specific environment variables. + argsWithDefault = [ + { + arg = "--downloads-root"; + env = "NIX_VCPKG_DOWNLOADS_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/downloads"; + } + { + arg = "--x-buildtrees-root"; + env = "NIX_VCPKG_BUILDTREES_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/buildtrees"; + } + { + arg = "--x-packages-root"; + env = "NIX_VCPKG_PACKAGES_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/packages"; + } + { + arg = "--x-install-root"; + env = "NIX_VCPKG_INSTALL_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/installed"; + } + ]; + in + '' + #!${runtimeShell} + + get_vcpkg_path() { + if [[ -n $NIX_VCPKG_WRITABLE_PATH ]]; then + echo "$NIX_VCPKG_WRITABLE_PATH" + elif [[ -n $XDG_CACHE_HOME ]]; then + echo "$XDG_CACHE_HOME/vcpkg" + elif [[ -n $HOME ]]; then + echo "$HOME/.vcpkg/root" + elif [[ -n $TMP ]]; then + echo "$TMP" + else + echo "/tmp" + fi } - { - arg = "--x-install-root"; - env = "NIX_VCPKG_INSTALL_ROOT"; - default = "$NIX_VCPKG_WRITABLE_PATH/installed"; - } - ]; - in '' - #!${runtimeShell} - - get_vcpkg_path() { - if [[ -n $NIX_VCPKG_WRITABLE_PATH ]]; then - echo "$NIX_VCPKG_WRITABLE_PATH" - elif [[ -n $XDG_CACHE_HOME ]]; then - echo "$XDG_CACHE_HOME/vcpkg" - elif [[ -n $HOME ]]; then - echo "$HOME/.vcpkg/root" - elif [[ -n $TMP ]]; then - echo "$TMP" - else - echo "/tmp" + + NIX_VCPKG_WRITABLE_PATH=$(get_vcpkg_path) + + ${lib.concatMapStringsSep "\n" ( + { env, default, ... }: ''${env}=''${${env}-"${default}"}'' + ) argsWithDefault} + + export PATH="${lib.makeBinPath runtimeDeps}''${PATH:+":$PATH"}" + + ARGS=( "$@" ) + FINAL_NONMODIFIED_ARGS=() + + for (( i=0; i<''${#ARGS[@]}; i++ )); + do + case "''${ARGS[i]%%=*}" in + ${ + let + f = + { arg, env, ... }: + '' + '${arg}') + ${env}="''${ARGS[i]#*=}" + if [ "''$${env}" = '${arg}' ]; then + ${env}="''${ARGS[i+1]}" + ((i++)) + fi + ;; + ''; + in + lib.concatMapStringsSep "\n" f argsWithDefault + } + *) + FINAL_NONMODIFIED_ARGS+=(''${ARGS[i]}) + ;; + esac + done + + if [ "''${NIX_VCPKG_DEBUG_PRINT_ENVVARS-'false'}" = 'true' ]; then + ${lib.concatMapStringsSep "\n" ( + { env, ... }: " " + ''echo "${env} = ''$${env}"'' + ) argsWithDefault} + echo "" fi - } - - NIX_VCPKG_WRITABLE_PATH=$(get_vcpkg_path) - - ${lib.concatMapStringsSep "\n" ({ env, default, ... }: ''${env}=''${${env}-"${default}"}'') argsWithDefault} - - export PATH="${lib.makeBinPath runtimeDeps}''${PATH:+":$PATH"}" - - ARGS=( "$@" ) - FINAL_NONMODIFIED_ARGS=() - - for (( i=0; i<''${#ARGS[@]}; i++ )); - do - case "''${ARGS[i]%%=*}" in - ${let - f = { arg, env, ... }: '' - '${arg}') - ${env}="''${ARGS[i]#*=}" - if [ "''$${env}" = '${arg}' ]; then - ${env}="''${ARGS[i+1]}" - ((i++)) - fi - ;; - ''; - in lib.concatMapStringsSep "\n" f argsWithDefault} - *) - FINAL_NONMODIFIED_ARGS+=(''${ARGS[i]}) - ;; - esac - done - - if [ "''${NIX_VCPKG_DEBUG_PRINT_ENVVARS-'false'}" = 'true' ]; then - ${lib.concatMapStringsSep "\n" ({ env, ... }: " " + ''echo "${env} = ''$${env}"'') argsWithDefault} - echo "" - fi - - exec -a "$0" "${placeholder "out"}/bin/.vcpkg-wrapped" \ - ${lib.concatMapStringsSep "\n" ({ arg, env, ... }: " " + ''${arg}="''$${env}" \'') argsWithDefault} - "''${FINAL_NONMODIFIED_ARGS[@]}" - ''; + + exec -a "$0" "${placeholder "out"}/bin/.vcpkg-wrapped" \ + ${lib.concatMapStringsSep "\n" ({ arg, env, ... }: " " + ''${arg}="''$${env}" \'') argsWithDefault} + "''${FINAL_NONMODIFIED_ARGS[@]}" + ''; postFixup = lib.optionalString doWrap '' mv "$out/bin/vcpkg" "$out/bin/.vcpkg-wrapped" @@ -166,7 +177,7 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru.tests = { - testWrapper = runCommand "vcpkg-tool-test-wrapper" { buildInputs = [ finalAttrs.finalPackage ]; } '' + testWrapper = runCommand "vcpkg-tool-test-wrapper" { buildInputs = [ finalAttrs.finalPackage ]; } '' export NIX_VCPKG_DEBUG_PRINT_ENVVARS=true vcpkg --x-packages-root="test" --x-install-root="test2" contact > "$out" @@ -185,7 +196,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/microsoft/vcpkg-tool"; changelog = "https://github.com/microsoft/vcpkg-tool/releases/tag/${finalAttrs.src.rev}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ guekka gracicot h7x4 ]; + maintainers = with lib.maintainers; [ + guekka + gracicot + h7x4 + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/vc/vcpkg/package.nix b/pkgs/by-name/vc/vcpkg/package.nix index fdad425713d31..9d9313a33ca95 100644 --- a/pkgs/by-name/vc/vcpkg/package.nix +++ b/pkgs/by-name/vc/vcpkg/package.nix @@ -1,9 +1,10 @@ -{ fetchFromGitHub -, stdenvNoCC -, lib -, vcpkg-tool -, makeWrapper -, doWrap ? true +{ + fetchFromGitHub, + stdenvNoCC, + lib, + vcpkg-tool, + makeWrapper, + doWrap ? true, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -50,28 +51,32 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; installPhase = '' - runHook preInstall + runHook preInstall - mkdir -p "$out/bin" "$out/share/vcpkg/scripts/buildsystems" - cp --preserve=mode -r ./{docs,ports,triplets,scripts,.vcpkg-root,versions,LICENSE.txt,vcpkg-bundle.json} "$out/share/vcpkg/" + mkdir -p "$out/bin" "$out/share/vcpkg/scripts/buildsystems" + cp --preserve=mode -r ./{docs,ports,triplets,scripts,.vcpkg-root,versions,LICENSE.txt,vcpkg-bundle.json} "$out/share/vcpkg/" - ${lib.optionalString doWrap '' - makeWrapper "${vcpkg-tool}/bin/vcpkg" "$out/bin/vcpkg" \ - --set-default VCPKG_ROOT "$out/share/vcpkg" - ''} + ${lib.optionalString doWrap '' + makeWrapper "${vcpkg-tool}/bin/vcpkg" "$out/bin/vcpkg" \ + --set-default VCPKG_ROOT "$out/share/vcpkg" + ''} - ln -s "$out/bin/vcpkg" "$out/share/vcpkg/vcpkg" - touch "$out/share/vcpkg/vcpkg.disable-metrics" + ln -s "$out/bin/vcpkg" "$out/share/vcpkg/vcpkg" + touch "$out/share/vcpkg/vcpkg.disable-metrics" - runHook postInstall - ''; + runHook postInstall + ''; meta = { description = "C++ Library Manager for Windows, Linux, and macOS"; mainProgram = "vcpkg"; homepage = "https://vcpkg.io/"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ guekka gracicot h7x4 ]; + maintainers = with lib.maintainers; [ + guekka + gracicot + h7x4 + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/vc/vcs/package.nix b/pkgs/by-name/vc/vcs/package.nix index 91a966bd1f4ea..0536fbe8e956a 100644 --- a/pkgs/by-name/vc/vcs/package.nix +++ b/pkgs/by-name/vc/vcs/package.nix @@ -1,13 +1,31 @@ -{ lib, stdenv, fetchurl, makeWrapper -, coreutils, ffmpeg, gawk, gnugrep, gnused, imagemagick, mplayer -, util-linux, getopt -, dejavu_fonts +{ + lib, + stdenv, + fetchurl, + makeWrapper, + coreutils, + ffmpeg, + gawk, + gnugrep, + gnused, + imagemagick, + mplayer, + util-linux, + getopt, + dejavu_fonts, }: let version = "1.13.4"; gopt = if stdenv.hostPlatform.isLinux then util-linux else getopt; runtimeDeps = [ - coreutils ffmpeg gawk gnugrep gnused imagemagick mplayer gopt + coreutils + ffmpeg + gawk + gnugrep + gnused + imagemagick + mplayer + gopt ]; in stdenv.mkDerivation { diff --git a/pkgs/by-name/vc/vcs_query/package.nix b/pkgs/by-name/vc/vcs_query/package.nix index ccfdc62b12968..0449f3eac05e7 100644 --- a/pkgs/by-name/vc/vcs_query/package.nix +++ b/pkgs/by-name/vc/vcs_query/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, python3, fetchFromGitHub }: +{ + lib, + stdenv, + python3, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "vcs_query"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "05va0na9yxkpqhm9v0x3k58148qcf2bbcv5bnmj7vn9r7fwyjrlx"; }; - nativeBuildInputs = [ python3 python3.pkgs.wrapPython ]; + nativeBuildInputs = [ + python3 + python3.pkgs.wrapPython + ]; dontBuild = true; diff --git a/pkgs/by-name/vc/vcsh/package.nix b/pkgs/by-name/vc/vcsh/package.nix index 1477695506e64..7e1af72cbfd54 100644 --- a/pkgs/by-name/vc/vcsh/package.nix +++ b/pkgs/by-name/vc/vcsh/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchurl -, makeWrapper -, pkg-config -, git -, perlPackages +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + git, + perlPackages, }: stdenv.mkDerivation rec { @@ -22,17 +24,29 @@ stdenv.mkDerivation rec { buildInputs = [ git ]; - nativeCheckInputs = [] - ++ (with perlPackages; [ perl ShellCommand TestMost ]); + nativeCheckInputs = + [ ] + ++ (with perlPackages; [ + perl + ShellCommand + TestMost + ]); - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; meta = with lib; { description = "Version Control System for $HOME"; homepage = "https://github.com/RichiH/vcsh"; changelog = "https://github.com/RichiH/vcsh/blob/v${version}/changelog"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ ttuegel alerque ]; + maintainers = with maintainers; [ + ttuegel + alerque + ]; platforms = platforms.unix; mainProgram = "vcsh"; }; diff --git a/pkgs/by-name/vc/vcsi/package.nix b/pkgs/by-name/vc/vcsi/package.nix index 7db0fdd6962e0..1e424382c7676 100644 --- a/pkgs/by-name/vc/vcsi/package.nix +++ b/pkgs/by-name/vc/vcsi/package.nix @@ -1,4 +1,9 @@ -{ lib, python3Packages, fetchFromGitHub, ffmpeg }: +{ + lib, + python3Packages, + fetchFromGitHub, + ffmpeg, +}: python3Packages.buildPythonApplication rec { pname = "vcsi"; @@ -32,7 +37,10 @@ python3Packages.buildPythonApplication rec { description = "Create video contact sheets"; homepage = "https://github.com/amietn/vcsi"; license = licenses.mit; - maintainers = with maintainers; [ dandellion zopieux ]; + maintainers = with maintainers; [ + dandellion + zopieux + ]; mainProgram = "vcsi"; }; } diff --git a/pkgs/by-name/vc/vcstool/package.nix b/pkgs/by-name/vc/vcstool/package.nix index 0350c7296fde8..0402ca5135e62 100644 --- a/pkgs/by-name/vc/vcstool/package.nix +++ b/pkgs/by-name/vc/vcstool/package.nix @@ -1,5 +1,11 @@ -{ lib, python3Packages, fetchPypi -, git, breezy, subversion }: +{ + lib, + python3Packages, + fetchPypi, + git, + breezy, + subversion, +}: with python3Packages; @@ -12,9 +18,21 @@ buildPythonApplication rec { sha256 = "04b3a963e15386660f139e5b95d293e43e3cb414e3b13e14ee36f5223032ee2c"; }; - propagatedBuildInputs = [ pyyaml setuptools ]; + propagatedBuildInputs = [ + pyyaml + setuptools + ]; - makeWrapperArgs = ["--prefix" "PATH" ":" (lib.makeBinPath [ git breezy subversion ])]; + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + git + breezy + subversion + ]) + ]; doCheck = false; # requires network diff --git a/pkgs/by-name/vc/vcv-rack/package.nix b/pkgs/by-name/vc/vcv-rack/package.nix index db7cdf11ba9cd..16ec47c31c5d0 100644 --- a/pkgs/by-name/vc/vcv-rack/package.nix +++ b/pkgs/by-name/vc/vcv-rack/package.nix @@ -1,31 +1,32 @@ -{ alsa-lib -, cmake -, copyDesktopItems -, curl -, fetchFromBitbucket -, fetchFromGitHub -, ghc_filesystem -, glew -, glfw -, zenity -, gtk3-x11 -, imagemagick -, jansson -, jq -, lib -, libarchive -, libicns -, libjack2 -, libpulseaudio -, libsamplerate -, makeDesktopItem -, makeWrapper -, pkg-config -, rtmidi -, speexdsp -, stdenv -, wrapGAppsHook3 -, zstd +{ + alsa-lib, + cmake, + copyDesktopItems, + curl, + fetchFromBitbucket, + fetchFromGitHub, + ghc_filesystem, + glew, + glfw, + zenity, + gtk3-x11, + imagemagick, + jansson, + jq, + lib, + libarchive, + libicns, + libjack2, + libpulseaudio, + libsamplerate, + makeDesktopItem, + makeWrapper, + pkg-config, + rtmidi, + speexdsp, + stdenv, + wrapGAppsHook3, + zstd, }: let @@ -98,9 +99,16 @@ let sha256 = "11gpl0ak757ilrq4fi0brj0chmlcr1hihc32yd7qza4fxjw2yx2v"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ alsa-lib libjack2 libpulseaudio ]; + buildInputs = [ + alsa-lib + libjack2 + libpulseaudio + ]; cmakeFlags = [ "-DRTAUDIO_API_ALSA=ON" @@ -123,7 +131,11 @@ stdenv.mkDerivation rec { comment = "Create music by patching together virtual synthesizer modules"; exec = "Rack"; icon = "Rack"; - categories = [ "AudioVideo" "AudioVideoEditing" "Audio" ]; + categories = [ + "AudioVideo" + "AudioVideoEditing" + "Audio" + ]; keywords = [ "music" ]; }) ]; @@ -204,12 +216,14 @@ stdenv.mkDerivation rec { zstd ]; - makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ] ++ [ - "all" - "plugins" - ]; + makeFlags = + lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ] + ++ [ + "all" + "plugins" + ]; installPhase = '' runHook preInstall @@ -248,8 +262,16 @@ stdenv.mkDerivation rec { homepage = "https://vcvrack.com/"; # The source is GPL3+ licensed, some of the art is CC-BY-NC 4.0 or under a # no-derivatives clause - license = with licenses; [ gpl3Plus cc-by-nc-40 unfreeRedistributable ]; - maintainers = with maintainers; [ nathyong jpotier ddelabru ]; + license = with licenses; [ + gpl3Plus + cc-by-nc-40 + unfreeRedistributable + ]; + maintainers = with maintainers; [ + nathyong + jpotier + ddelabru + ]; mainProgram = "Rack"; platforms = platforms.linux; }; diff --git a/pkgs/by-name/vd/vde2/package.nix b/pkgs/by-name/vd/vde2/package.nix index 0d86c56378663..695940bee37e8 100644 --- a/pkgs/by-name/vd/vde2/package.nix +++ b/pkgs/by-name/vd/vde2/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libpcap, wolfssl }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + libpcap, + wolfssl, +}: stdenv.mkDerivation rec { pname = "vde2"; @@ -24,7 +32,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libpcap wolfssl ]; + buildInputs = [ + libpcap + wolfssl + ]; meta = with lib; { homepage = "https://github.com/virtualsquare/vde-2"; diff --git a/pkgs/by-name/vd/vdhcoapp/filepicker.nix b/pkgs/by-name/vd/vdhcoapp/filepicker.nix index 7aec0f9e2838f..3a8b145a8c90e 100644 --- a/pkgs/by-name/vd/vdhcoapp/filepicker.nix +++ b/pkgs/by-name/vd/vdhcoapp/filepicker.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, atk -, gtk3 -, glib +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + atk, + gtk3, + glib, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/vd/vdhcoapp/package.nix b/pkgs/by-name/vd/vdhcoapp/package.nix index ad61515b9ecba..64465bd2cc08d 100644 --- a/pkgs/by-name/vd/vdhcoapp/package.nix +++ b/pkgs/by-name/vd/vdhcoapp/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, buildNpmPackage -, nodejs -, ffmpeg -, callPackage -, substituteAll -, makeWrapper -, toml2json -, jq +{ + lib, + fetchFromGitHub, + buildNpmPackage, + nodejs, + ffmpeg, + callPackage, + substituteAll, + makeWrapper, + toml2json, + jq, }: buildNpmPackage rec { pname = "vdhcoapp"; @@ -34,7 +35,7 @@ buildNpmPackage rec { (substituteAll { src = ./ffmpeg-filepicker.patch; inherit ffmpeg; - filepicker = lib.getExe (callPackage ./filepicker.nix {}); + filepicker = lib.getExe (callPackage ./filepicker.nix { }); }) ]; diff --git a/pkgs/by-name/vd/vdmfec/package.nix b/pkgs/by-name/vd/vdmfec/package.nix index 20dda868a6643..6b9f4387be87d 100644 --- a/pkgs/by-name/vd/vdmfec/package.nix +++ b/pkgs/by-name/vd/vdmfec/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "vdmfec"; @@ -13,7 +17,10 @@ stdenv.mkDerivation rec { description = "Program that adds error correction blocks"; homepage = "http://members.tripod.com/professor_tom/archives/index.html"; maintainers = [ maintainers.ar1a ]; - license = with licenses; [ gpl2 /* for vdmfec */ bsd2 /* for fec */ ]; + license = with licenses; [ + gpl2 # for vdmfec + bsd2 # for fec + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/vd/vdo/package.nix b/pkgs/by-name/vd/vdo/package.nix index bbfb8c36d725b..f705dd6f8d186 100644 --- a/pkgs/by-name/vd/vdo/package.nix +++ b/pkgs/by-name/vd/vdo/package.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, installShellFiles -, libuuid -, lvm2_dmeventd # -, zlib -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + libuuid, + lvm2_dmeventd, # + zlib, + python3, }: stdenv.mkDerivation rec { @@ -58,7 +60,13 @@ stdenv.mkDerivation rec { homepage = "https://github.com/dm-vdo/vdo"; description = "Set of userspace tools for managing pools of deduplicated and/or compressed block storage"; # platforms are defined in https://github.com/dm-vdo/vdo/blob/master/utils/uds/atomicDefs.h - platforms = [ "x86_64-linux" "aarch64-linux" "s390-linux" "powerpc64-linux" "powerpc64le-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "s390-linux" + "powerpc64-linux" + "powerpc64le-linux" + ]; license = with licenses; [ gpl2Plus ]; maintainers = [ ]; }; diff --git a/pkgs/by-name/vd/vdpauinfo/package.nix b/pkgs/by-name/vd/vdpauinfo/package.nix index 0ca3354433dce..0fd03c29d68f0 100644 --- a/pkgs/by-name/vd/vdpauinfo/package.nix +++ b/pkgs/by-name/vd/vdpauinfo/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libvdpau }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libvdpau, +}: stdenv.mkDerivation rec { pname = "vdpauinfo"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-uOs/r8Ow7KvSpY1NhD2A+D4Qs6iWJe4fZGfVj6nIiCw="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libvdpau ]; diff --git a/pkgs/by-name/vd/vdrift/package.nix b/pkgs/by-name/vd/vdrift/package.nix index 7f10560b5341e..98771524fb5de 100644 --- a/pkgs/by-name/vd/vdrift/package.nix +++ b/pkgs/by-name/vd/vdrift/package.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchsvn -, pkg-config -, scons -, libGLU -, libGL -, SDL2 -, SDL2_image -, libvorbis -, bullet -, curl -, gettext -, writeShellScriptBin +{ + lib, + stdenv, + fetchFromGitHub, + fetchsvn, + pkg-config, + scons, + libGLU, + libGL, + SDL2, + SDL2_image, + libvorbis, + bullet, + curl, + gettext, + writeShellScriptBin, -, data ? fetchsvn { + data ? fetchsvn { url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data"; rev = "1446"; sha256 = "sha256-KEu49GAOfenPyuaUItt6W9pkuqUNpXgmTSFuc7ThljQ="; - } + }, }: let version = "unstable-2021-09-05"; @@ -33,8 +34,20 @@ let sha256 = "sha256-DrzRF4WzwEXCNALq0jz8nHWZ1oYTEsdrvSYVYI1WkTI="; }; - nativeBuildInputs = [ pkg-config scons ]; - buildInputs = [ libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ]; + nativeBuildInputs = [ + pkg-config + scons + ]; + buildInputs = [ + libGLU + libGL + SDL2 + SDL2_image + libvorbis + bullet + curl + gettext + ]; patches = [ ./0001-Ignore-missing-data-for-installation.patch @@ -58,14 +71,15 @@ let }; wrappedName = "vdrift-${version}-with-data-${toString data.rev}"; in -(writeShellScriptBin "vdrift" '' +(writeShellScriptBin "vdrift" '' export VDRIFT_DATA_DIRECTORY="${data}" exec ${bin}/bin/vdrift "$@" -'').overrideAttrs (_: { - name = wrappedName; - meta = bin.meta // { - hydraPlatforms = [ ]; - }; - unwrapped = bin; - inherit bin data; -}) +'').overrideAttrs + (_: { + name = wrappedName; + meta = bin.meta // { + hydraPlatforms = [ ]; + }; + unwrapped = bin; + inherit bin data; + }) diff --git a/pkgs/by-name/vd/vdrsymbols/package.nix b/pkgs/by-name/vd/vdrsymbols/package.nix index fd7aba9ec063f..253d8fa962913 100644 --- a/pkgs/by-name/vd/vdrsymbols/package.nix +++ b/pkgs/by-name/vd/vdrsymbols/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "vdrsymbols"; @@ -27,6 +31,9 @@ stdenvNoCC.mkDerivation rec { # Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. # DejaVu changes are in public domain # See https://dejavu-fonts.github.io/License.html for details - license = with licenses; [ bitstreamVera publicDomain ]; + license = with licenses; [ + bitstreamVera + publicDomain + ]; }; } diff --git a/pkgs/by-name/ve/vectoroids/package.nix b/pkgs/by-name/ve/vectoroids/package.nix index c3e383a84b640..9d3bc9f943ff2 100644 --- a/pkgs/by-name/ve/vectoroids/package.nix +++ b/pkgs/by-name/ve/vectoroids/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, SDL -, SDL_image -, SDL_mixer +{ + lib, + stdenv, + fetchurl, + SDL, + SDL_image, + SDL_mixer, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ve/vegeta/package.nix b/pkgs/by-name/ve/vegeta/package.nix index 17f0dcc37e55a..950ddd96b297a 100644 --- a/pkgs/by-name/ve/vegeta/package.nix +++ b/pkgs/by-name/ve/vegeta/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: buildGoModule rec { @@ -19,11 +20,17 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = (lib.mapAttrsToList (n: v: "-X main.${n}=${v}") { - Version = version; - Commit = rev; - Date = "1970-01-01T00:00:00Z"; - }) ++ [ "-s" "-w" "-extldflags '-static'" ]; + ldflags = + (lib.mapAttrsToList (n: v: "-X main.${n}=${v}") { + Version = version; + Commit = rev; + Date = "1970-01-01T00:00:00Z"; + }) + ++ [ + "-s" + "-w" + "-extldflags '-static'" + ]; meta = with lib; { description = "Versatile HTTP load testing tool"; diff --git a/pkgs/by-name/ve/vegur/package.nix b/pkgs/by-name/ve/vegur/package.nix index bfcf3f6e80090..316a7c4ee01c1 100644 --- a/pkgs/by-name/ve/vegur/package.nix +++ b/pkgs/by-name/ve/vegur/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let majorVersion = "0"; diff --git a/pkgs/by-name/ve/velero/package.nix b/pkgs/by-name/ve/velero/package.nix index 5c47803841d95..8624c801db9ae 100644 --- a/pkgs/by-name/ve/velero/package.nix +++ b/pkgs/by-name/ve/velero/package.nix @@ -1,10 +1,15 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "velero"; version = "1.15.0"; - src = fetchFromGitHub { owner = "vmware-tanzu"; repo = "velero"; @@ -13,7 +18,8 @@ buildGoModule rec { }; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=v${version}" "-X github.com/vmware-tanzu/velero/pkg/buildinfo.ImageRegistry=velero" "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean" @@ -22,7 +28,12 @@ buildGoModule rec { vendorHash = "sha256-FcyqCnOZSdoyOjBIrEC1AKM5KqWSkNxbgvXeG3Y0CO4="; - excludedPackages = [ "issue-template-gen" "release-tools" "v1" "velero-restic-restore-helper" ]; + excludedPackages = [ + "issue-template-gen" + "release-tools" + "v1" + "velero-restic-restore-helper" + ]; doCheck = false; # Tests expect a running cluster see https://github.com/vmware-tanzu/velero/tree/main/test/e2e doInstallCheck = true; @@ -38,12 +49,13 @@ buildGoModule rec { ''; meta = with lib; { - description = - "A utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes"; + description = "A utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes"; homepage = "https://velero.io/"; - changelog = - "https://github.com/vmware-tanzu/velero/releases/tag/v${version}"; + changelog = "https://github.com/vmware-tanzu/velero/releases/tag/v${version}"; license = licenses.asl20; - maintainers = [ maintainers.mbode maintainers.bryanasdev000 ]; + maintainers = [ + maintainers.mbode + maintainers.bryanasdev000 + ]; }; } diff --git a/pkgs/by-name/ve/veloren/package.nix b/pkgs/by-name/ve/veloren/package.nix index fff47f2583fa3..689abae0bc709 100644 --- a/pkgs/by-name/ve/veloren/package.nix +++ b/pkgs/by-name/ve/veloren/package.nix @@ -120,6 +120,9 @@ rustPlatform.buildRustPackage { license = licenses.gpl3; mainProgram = "veloren-voxygen"; platforms = platforms.linux; - maintainers = with maintainers; [ rnhmjoj tomodachi94 ]; + maintainers = with maintainers; [ + rnhmjoj + tomodachi94 + ]; }; } diff --git a/pkgs/by-name/ve/vendir/package.nix b/pkgs/by-name/ve/vendir/package.nix index 1bb96595d853a..78e9e658a1778 100644 --- a/pkgs/by-name/ve/vendir/package.nix +++ b/pkgs/by-name/ve/vendir/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "vendir"; diff --git a/pkgs/by-name/ve/venta/package.nix b/pkgs/by-name/ve/venta/package.nix index 1f739c6600606..733f0aacac594 100644 --- a/pkgs/by-name/ve/venta/package.nix +++ b/pkgs/by-name/ve/venta/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, gdk-pixbuf -, gtk-engine-murrine -, gtk_engines -, librsvg +{ + lib, + stdenv, + fetchFromGitHub, + gdk-pixbuf, + gtk-engine-murrine, + gtk_engines, + librsvg, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ve/ventoy/package.nix b/pkgs/by-name/ve/ventoy/package.nix index a4794f534e116..85af9e0bcbf8f 100644 --- a/pkgs/by-name/ve/ventoy/package.nix +++ b/pkgs/by-name/ve/ventoy/package.nix @@ -1,52 +1,58 @@ -{ lib -, autoPatchelfHook -, bash -, copyDesktopItems -, coreutils -, cryptsetup -, dosfstools -, e2fsprogs -, exfat -, fetchurl -, gawk -, gnugrep -, gnused -, gtk3 -, hexdump -, makeDesktopItem -, makeWrapper -, ntfs3g -, parted -, procps -, stdenv -, util-linux -, which -, xfsprogs -, xz -, defaultGuiType ? "" -, withCryptsetup ? false -, withXfs ? false -, withExt4 ? false -, withNtfs ? false -, withGtk3 ? defaultGuiType == "gtk3" -, withQt5 ? defaultGuiType == "qt5" -, libsForQt5 +{ + lib, + autoPatchelfHook, + bash, + copyDesktopItems, + coreutils, + cryptsetup, + dosfstools, + e2fsprogs, + exfat, + fetchurl, + gawk, + gnugrep, + gnused, + gtk3, + hexdump, + makeDesktopItem, + makeWrapper, + ntfs3g, + parted, + procps, + stdenv, + util-linux, + which, + xfsprogs, + xz, + defaultGuiType ? "", + withCryptsetup ? false, + withXfs ? false, + withExt4 ? false, + withNtfs ? false, + withGtk3 ? defaultGuiType == "gtk3", + withQt5 ? defaultGuiType == "qt5", + libsForQt5, }: -assert lib.elem defaultGuiType [ "" "gtk3" "qt5" ]; +assert lib.elem defaultGuiType [ + "" + "gtk3" + "qt5" +]; assert defaultGuiType == "gtk3" -> withGtk3; assert defaultGuiType == "qt5" -> withQt5; let inherit (lib) optionals optionalString; inherit (libsForQt5) qtbase wrapQtAppsHook; - arch = { - x86_64-linux = "x86_64"; - i686-linux = "i386"; - aarch64-linux = "aarch64"; - mipsel-linux = "mips64el"; - }.${stdenv.hostPlatform.system} - or (throw "Unsupported platform: ${stdenv.hostPlatform.system}"); + arch = + { + x86_64-linux = "x86_64"; + i686-linux = "i386"; + aarch64-linux = "aarch64"; + mipsel-linux = "mips64el"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported platform: ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation (finalAttrs: { pname = "ventoy"; @@ -70,34 +76,36 @@ stdenv.mkDerivation (finalAttrs: { WebUI/static/js/languages.js tool/languages.json ''; - nativeBuildInputs = [ - autoPatchelfHook - makeWrapper - ] - ++ optionals (withQt5 || withGtk3) [ copyDesktopItems ] - ++ optionals withQt5 [ wrapQtAppsHook ]; - - buildInputs = [ - bash - coreutils - dosfstools - exfat - gawk - gnugrep - gnused - hexdump - parted - procps - util-linux - which - xz - ] - ++ optionals withCryptsetup [ cryptsetup ] - ++ optionals withExt4 [ e2fsprogs ] - ++ optionals withGtk3 [ gtk3 ] - ++ optionals withNtfs [ ntfs3g ] - ++ optionals withXfs [ xfsprogs ] - ++ optionals withQt5 [ qtbase ]; + nativeBuildInputs = + [ + autoPatchelfHook + makeWrapper + ] + ++ optionals (withQt5 || withGtk3) [ copyDesktopItems ] + ++ optionals withQt5 [ wrapQtAppsHook ]; + + buildInputs = + [ + bash + coreutils + dosfstools + exfat + gawk + gnugrep + gnused + hexdump + parted + procps + util-linux + which + xz + ] + ++ optionals withCryptsetup [ cryptsetup ] + ++ optionals withExt4 [ e2fsprogs ] + ++ optionals withGtk3 [ gtk3 ] + ++ optionals withNtfs [ ntfs3g ] + ++ optionals withXfs [ xfsprogs ] + ++ optionals withQt5 [ qtbase ]; strictDeps = true; @@ -117,71 +125,72 @@ stdenv.mkDerivation (finalAttrs: { dontConfigure = true; dontBuild = true; - installPhase = '' - runHook preInstall - - # Setup variables - local VENTOY_PATH="$out"/share/ventoy - local ARCH='${arch}' - - # Prepare - cd tool/"$ARCH" - rm ash* hexdump* mkexfatfs* mount.exfat-fuse* xzcat* - for archive in *.xz; do - xzcat "$archive" > "''${archive%.xz}" - rm "$archive" - done - chmod a+x * - cd - - - # Cleanup. - case "$ARCH" in - x86_64) rm -r {tool/,VentoyGUI.}{i386,aarch64,mips64el};; - i386) rm -r {tool/,VentoyGUI.}{x86_64,aarch64,mips64el};; - aarch64) rm -r {tool/,VentoyGUI.}{x86_64,i386,mips64el};; - mips64el) rm -r {tool/,VentoyGUI.}{x86_64,i386,aarch64};; - esac - rm README - rm tool/"$ARCH"/Ventoy2Disk.gtk2 || true # For aarch64 and mips64el. - - # Copy from "$src" to "$out" - mkdir -p "$out"/bin "$VENTOY_PATH" - cp -r . "$VENTOY_PATH" - - # Fill bin dir - for f in Ventoy2Disk.sh_ventoy VentoyWeb.sh_ventoy-web \ - CreatePersistentImg.sh_ventoy-persistent \ - ExtendPersistentImg.sh_ventoy-extend-persistent \ - VentoyPlugson.sh_ventoy-plugson; do - local bin="''${f%_*}" wrapper="''${f#*_}" - makeWrapper "$VENTOY_PATH/$bin" "$out/bin/$wrapper" \ - --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ - --chdir "$VENTOY_PATH" - done - '' - # VentoGUI uses the `ventoy_gui_type` file to determine the type of GUI. - # See: https://github.com/ventoy/Ventoy/blob/v1.0.78/LinuxGUI/Ventoy2Disk/ventoy_gui.c#L1096 - + optionalString (withGtk3 || withQt5) '' - echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type" - makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \ - --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ - --chdir "$VENTOY_PATH" - mkdir "$out"/share/{applications,pixmaps} - ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/ - '' - + optionalString (!withGtk3) '' - rm "$VENTOY_PATH"/tool/{"$ARCH"/Ventoy2Disk.gtk3,VentoyGTK.glade} - '' - + optionalString (!withQt5) '' - rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.qt5" - '' - + optionalString (!withGtk3 && !withQt5) '' - rm "$VENTOY_PATH"/VentoyGUI.* - '' + - '' - - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + # Setup variables + local VENTOY_PATH="$out"/share/ventoy + local ARCH='${arch}' + + # Prepare + cd tool/"$ARCH" + rm ash* hexdump* mkexfatfs* mount.exfat-fuse* xzcat* + for archive in *.xz; do + xzcat "$archive" > "''${archive%.xz}" + rm "$archive" + done + chmod a+x * + cd - + + # Cleanup. + case "$ARCH" in + x86_64) rm -r {tool/,VentoyGUI.}{i386,aarch64,mips64el};; + i386) rm -r {tool/,VentoyGUI.}{x86_64,aarch64,mips64el};; + aarch64) rm -r {tool/,VentoyGUI.}{x86_64,i386,mips64el};; + mips64el) rm -r {tool/,VentoyGUI.}{x86_64,i386,aarch64};; + esac + rm README + rm tool/"$ARCH"/Ventoy2Disk.gtk2 || true # For aarch64 and mips64el. + + # Copy from "$src" to "$out" + mkdir -p "$out"/bin "$VENTOY_PATH" + cp -r . "$VENTOY_PATH" + + # Fill bin dir + for f in Ventoy2Disk.sh_ventoy VentoyWeb.sh_ventoy-web \ + CreatePersistentImg.sh_ventoy-persistent \ + ExtendPersistentImg.sh_ventoy-extend-persistent \ + VentoyPlugson.sh_ventoy-plugson; do + local bin="''${f%_*}" wrapper="''${f#*_}" + makeWrapper "$VENTOY_PATH/$bin" "$out/bin/$wrapper" \ + --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ + --chdir "$VENTOY_PATH" + done + '' + # VentoGUI uses the `ventoy_gui_type` file to determine the type of GUI. + # See: https://github.com/ventoy/Ventoy/blob/v1.0.78/LinuxGUI/Ventoy2Disk/ventoy_gui.c#L1096 + + optionalString (withGtk3 || withQt5) '' + echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type" + makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \ + --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \ + --chdir "$VENTOY_PATH" + mkdir "$out"/share/{applications,pixmaps} + ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/ + '' + + optionalString (!withGtk3) '' + rm "$VENTOY_PATH"/tool/{"$ARCH"/Ventoy2Disk.gtk3,VentoyGTK.glade} + '' + + optionalString (!withQt5) '' + rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.qt5" + '' + + optionalString (!withGtk3 && !withQt5) '' + rm "$VENTOY_PATH"/VentoyGUI.* + '' + + '' + + runHook postInstall + ''; meta = { homepage = "https://www.ventoy.net"; @@ -203,7 +212,12 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl3Plus; mainProgram = "ventoy"; maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "mipsel-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "mipsel-linux" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/by-name/ve/verbiste/package.nix b/pkgs/by-name/ve/verbiste/package.nix index 2793ffcd0c639..8a249adb1f2ce 100644 --- a/pkgs/by-name/ve/verbiste/package.nix +++ b/pkgs/by-name/ve/verbiste/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, libxml2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + libxml2, +}: stdenv.mkDerivation rec { pname = "verbiste"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 libxml2 ]; + buildInputs = [ + gtk2 + libxml2 + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/ve/vercel-pkg/package.nix b/pkgs/by-name/ve/vercel-pkg/package.nix index c27d6699ed71d..ab8f4fbb0498a 100644 --- a/pkgs/by-name/ve/vercel-pkg/package.nix +++ b/pkgs/by-name/ve/vercel-pkg/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nodejs -, fixup-yarn-lock -, yarn +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + fixup-yarn-lock, + yarn, }: stdenv.mkDerivation rec { @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { hash = "sha256-KesP3X7LwZ7KSIxcCPXdn/sWcX9TJlwT9z/SdotS2ZQ="; }; - nativeBuildInputs = [ + nativeBuildInputs = [ makeWrapper nodejs fixup-yarn-lock diff --git a/pkgs/by-name/ve/verco/package.nix b/pkgs/by-name/ve/verco/package.nix index 079b10d2f5dd8..8af24bfa90bde 100644 --- a/pkgs/by-name/ve/verco/package.nix +++ b/pkgs/by-name/ve/verco/package.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, lib, rustPlatform }: +{ + fetchFromGitHub, + lib, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "verco"; diff --git a/pkgs/by-name/ve/verdict/package.nix b/pkgs/by-name/ve/verdict/package.nix index 5083d6a793fb8..34d895e88054e 100644 --- a/pkgs/by-name/ve/verdict/package.nix +++ b/pkgs/by-name/ve/verdict/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtest, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ve/verifpal/package.nix b/pkgs/by-name/ve/verifpal/package.nix index 41172aab28bb1..95fa4763a0f9c 100644 --- a/pkgs/by-name/ve/verifpal/package.nix +++ b/pkgs/by-name/ve/verifpal/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, pigeon +{ + lib, + fetchFromGitHub, + buildGoModule, + pigeon, }: buildGoModule rec { diff --git a/pkgs/by-name/ve/versus/package.nix b/pkgs/by-name/ve/versus/package.nix index 4e2ca164fda11..668178b438db8 100644 --- a/pkgs/by-name/ve/versus/package.nix +++ b/pkgs/by-name/ve/versus/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "versus"; diff --git a/pkgs/by-name/ve/veryfasttree/package.nix b/pkgs/by-name/ve/veryfasttree/package.nix index 27c34f67d952a..3f493f01dcbb1 100644 --- a/pkgs/by-name/ve/veryfasttree/package.nix +++ b/pkgs/by-name/ve/veryfasttree/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, llvmPackages +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + llvmPackages, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ve/vexctl/package.nix b/pkgs/by-name/ve/vexctl/package.nix index cc1d18ab74d68..a20cbca28007d 100644 --- a/pkgs/by-name/ve/vexctl/package.nix +++ b/pkgs/by-name/ve/vexctl/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/vg/vgmplay-libvgm/package.nix b/pkgs/by-name/vg/vgmplay-libvgm/package.nix index ebf227d21074c..1a8dbf8c9de85 100644 --- a/pkgs/by-name/vg/vgmplay-libvgm/package.nix +++ b/pkgs/by-name/vg/vgmplay-libvgm/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, unstableGitUpdater -, cmake -, pkg-config -, zlib -, libvgm -, inih +{ + stdenv, + lib, + fetchFromGitHub, + unstableGitUpdater, + cmake, + pkg-config, + zlib, + libvgm, + inih, }: stdenv.mkDerivation { @@ -20,9 +21,16 @@ stdenv.mkDerivation { hash = "sha256-GjBwu8Y/lOI8SLO4SrAWcntQIwKe/hXuh9tKbOPHQiA="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ zlib libvgm inih ]; + buildInputs = [ + zlib + libvgm + inih + ]; postInstall = '' install -Dm644 ../VGMPlay.ini $out/share/vgmplay/VGMPlay.ini diff --git a/pkgs/by-name/vg/vgmtools/package.nix b/pkgs/by-name/vg/vgmtools/package.nix index 63cb11e55ac7f..114706dd074b1 100644 --- a/pkgs/by-name/vg/vgmtools/package.nix +++ b/pkgs/by-name/vg/vgmtools/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, unstableGitUpdater -, cmake -, zlib +{ + stdenv, + lib, + fetchFromGitHub, + unstableGitUpdater, + cmake, + zlib, }: stdenv.mkDerivation rec { @@ -27,7 +28,9 @@ stdenv.mkDerivation rec { # Some targets are not enabled by default makeFlags = [ - "all" "optdac" "optvgm32" + "all" + "optdac" + "optvgm32" ]; passthru.updateScript = unstableGitUpdater { diff --git a/pkgs/by-name/vg/vgrep/package.nix b/pkgs/by-name/vg/vgrep/package.nix index 9f2f906e93550..e24a35769773f 100644 --- a/pkgs/by-name/vg/vgrep/package.nix +++ b/pkgs/by-name/vg/vgrep/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, go-md2man, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + go-md2man, + installShellFiles, +}: buildGoModule rec { pname = "vgrep"; @@ -13,9 +19,16 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; - nativeBuildInputs = [ go-md2man installShellFiles ]; + nativeBuildInputs = [ + go-md2man + installShellFiles + ]; postBuild = '' sed -i '/SHELL= /d' Makefile diff --git a/pkgs/by-name/vh/vhd2vl/package.nix b/pkgs/by-name/vh/vhd2vl/package.nix index 28656fe6e1216..f4bf6f5f4b885 100644 --- a/pkgs/by-name/vh/vhd2vl/package.nix +++ b/pkgs/by-name/vh/vhd2vl/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, bison -, flex -, iverilog -, which +{ + lib, + stdenv, + fetchFromGitHub, + bison, + flex, + iverilog, + which, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/vh/vhdl-ls/package.nix b/pkgs/by-name/vh/vhdl-ls/package.nix index 34ba70c683d94..a03fd2d3a9050 100644 --- a/pkgs/by-name/vh/vhdl-ls/package.nix +++ b/pkgs/by-name/vh/vhdl-ls/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/vh/vhs/package.nix b/pkgs/by-name/vh/vhs/package.nix index 12e14f212f7d7..b68f95947b3b3 100644 --- a/pkgs/by-name/vh/vhs/package.nix +++ b/pkgs/by-name/vh/vhs/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, chromium, makeWrapper }: +{ + lib, + stdenv, + buildGoModule, + installShellFiles, + fetchFromGitHub, + ffmpeg, + ttyd, + chromium, + makeWrapper, +}: buildGoModule rec { pname = "vhs"; @@ -13,12 +23,27 @@ buildGoModule rec { vendorHash = "sha256-1UBhiRemJ+dQNm20+8pbOJus5abvTwVcuzxNMzrniN8="; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; postInstall = '' - wrapProgram $out/bin/vhs --prefix PATH : ${lib.makeBinPath (lib.optionals stdenv.hostPlatform.isLinux [ chromium ] ++ [ ffmpeg ttyd ])} + wrapProgram $out/bin/vhs --prefix PATH : ${ + lib.makeBinPath ( + lib.optionals stdenv.hostPlatform.isLinux [ chromium ] + ++ [ + ffmpeg + ttyd + ] + ) + } $out/bin/vhs man > vhs.1 installManPage vhs.1 installShellCompletion --cmd vhs \ @@ -33,6 +58,9 @@ buildGoModule rec { homepage = "https://github.com/charmbracelet/vhs"; changelog = "https://github.com/charmbracelet/vhs/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ maaslalani penguwin ]; + maintainers = with maintainers; [ + maaslalani + penguwin + ]; }; } diff --git a/pkgs/by-name/vi/via/package.nix b/pkgs/by-name/vi/via/package.nix index ffcd456e75fff..32497ea010734 100644 --- a/pkgs/by-name/vi/via/package.nix +++ b/pkgs/by-name/vi/via/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let pname = "via"; diff --git a/pkgs/by-name/vi/vial/package.nix b/pkgs/by-name/vi/vial/package.nix index 77cf03500207a..327da518da95d 100644 --- a/pkgs/by-name/vi/vial/package.nix +++ b/pkgs/by-name/vi/vial/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: let version = "0.7.1"; pname = "Vial"; diff --git a/pkgs/by-name/vi/vice/package.nix b/pkgs/by-name/vi/vice/package.nix index cea0f48d01668..349bc4cb798b3 100644 --- a/pkgs/by-name/vi/vice/package.nix +++ b/pkgs/by-name/vi/vice/package.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchurl -, bison -, flex -, perl -, curl -, libpng -, giflib -, alsa-lib -, readline -, libGLU -, libGL -, pkg-config -, gtk3 -, glew -, SDL -, SDL_image -, dos2unix -, runtimeShell -, xa -, file -, wrapGAppsHook3 -, xdg-utils +{ + lib, + stdenv, + fetchurl, + bison, + flex, + perl, + curl, + libpng, + giflib, + alsa-lib, + readline, + libGLU, + libGL, + pkg-config, + gtk3, + glew, + SDL, + SDL_image, + dos2unix, + runtimeShell, + xa, + file, + wrapGAppsHook3, + xdg-utils, }: stdenv.mkDerivation rec { @@ -59,7 +60,13 @@ stdenv.mkDerivation rec { xdg-utils ]; dontDisableStatic = true; - configureFlags = [ "--enable-sdl2ui" "--enable-gtk3ui" "--enable-desktop-files" "--disable-pdf-docs" "--with-gif" ]; + configureFlags = [ + "--enable-sdl2ui" + "--enable-gtk3ui" + "--enable-desktop-files" + "--disable-pdf-docs" + "--with-gif" + ]; LIBS = "-lGL"; diff --git a/pkgs/by-name/vi/victor-mono/package.nix b/pkgs/by-name/vi/victor-mono/package.nix index f5319c008b550..9ae2a77db05c3 100644 --- a/pkgs/by-name/vi/victor-mono/package.nix +++ b/pkgs/by-name/vi/victor-mono/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "victor-mono"; diff --git a/pkgs/by-name/vi/vidmerger/package.nix b/pkgs/by-name/vi/vidmerger/package.nix index cf0412b42929d..28f5fdff031ad 100644 --- a/pkgs/by-name/vi/vidmerger/package.nix +++ b/pkgs/by-name/vi/vidmerger/package.nix @@ -1,7 +1,8 @@ -{ lib -, ffmpeg -, rustPlatform -, fetchFromGitHub +{ + lib, + ffmpeg, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -33,7 +34,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Merge video & audio files via CLI"; homepage = "https://github.com/TGotwig/vidmerger"; - license = with licenses; [ mit commons-clause ]; + license = with licenses; [ + mit + commons-clause + ]; maintainers = with maintainers; [ ByteSudoer ]; mainProgram = "vidmerger"; }; diff --git a/pkgs/by-name/vi/vieb/package.nix b/pkgs/by-name/vi/vieb/package.nix index 56e72cbad681c..da81409bafa7a 100644 --- a/pkgs/by-name/vi/vieb/package.nix +++ b/pkgs/by-name/vi/vieb/package.nix @@ -1,4 +1,13 @@ -{ stdenv, buildNpmPackage, fetchFromGitHub, electron, makeWrapper, python3, makeDesktopItem, lib }: +{ + stdenv, + buildNpmPackage, + fetchFromGitHub, + electron, + makeWrapper, + python3, + makeDesktopItem, + lib, +}: buildNpmPackage rec { pname = "vieb"; @@ -28,7 +37,10 @@ buildNpmPackage rec { icon = "vieb"; desktopName = "Web Browser"; genericName = "Web Browser"; - categories = [ "Network" "WebBrowser" ]; + categories = [ + "Network" + "WebBrowser" + ]; mimeTypes = [ "text/html" "application/xhtml+xml" @@ -58,7 +70,10 @@ buildNpmPackage rec { changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}"; description = "Vim Inspired Electron Browser"; mainProgram = "vieb"; - maintainers = with maintainers; [ gebner tejing ]; + maintainers = with maintainers; [ + gebner + tejing + ]; platforms = platforms.unix; license = licenses.gpl3Plus; }; diff --git a/pkgs/by-name/vi/viennarna/package.nix b/pkgs/by-name/vi/viennarna/package.nix index f292cbb378c9a..6219ac9a591a4 100644 --- a/pkgs/by-name/vi/viennarna/package.nix +++ b/pkgs/by-name/vi/viennarna/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, gsl -, mpfr -, perl -, python3 +{ + lib, + stdenv, + fetchurl, + gsl, + mpfr, + perl, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/vi/viewnior/package.nix b/pkgs/by-name/vi/viewnior/package.nix index 166f5c785dd4f..308a4d9a3fdd9 100644 --- a/pkgs/by-name/vi/viewnior/package.nix +++ b/pkgs/by-name/vi/viewnior/package.nix @@ -1,5 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, desktop-file-utils, gtk3, libpng, exiv2, lcms -, intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl, wrapGAppsHook3, webp-pixbuf-loader, gnome, librsvg}: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + pkg-config, + desktop-file-utils, + gtk3, + libpng, + exiv2, + lcms, + intltool, + gettext, + shared-mime-info, + glib, + gdk-pixbuf, + perl, + wrapGAppsHook3, + webp-pixbuf-loader, + gnome, + librsvg, +}: stdenv.mkDerivation rec { pname = "viewnior-gtk3"; @@ -64,7 +86,10 @@ stdenv.mkDerivation rec { ''; license = licenses.gpl3; homepage = "https://siyanpanayotov.com/project/viewnior/"; - maintainers = with maintainers; [ smironov artturin ]; + maintainers = with maintainers; [ + smironov + artturin + ]; platforms = platforms.gnu ++ platforms.linux; mainProgram = "viewnior"; }; diff --git a/pkgs/by-name/vi/vifm/package.nix b/pkgs/by-name/vi/vifm/package.nix index f58768593c8f7..01c841050cadd 100644 --- a/pkgs/by-name/vi/vifm/package.nix +++ b/pkgs/by-name/vi/vifm/package.nix @@ -1,16 +1,27 @@ -{ stdenv, fetchurl, makeWrapper -, perl # used to generate help tags -, pkg-config -, ncurses, libX11 -, file, which, groff +{ + stdenv, + fetchurl, + makeWrapper, + perl, # used to generate help tags + pkg-config, + ncurses, + libX11, + file, + which, + groff, # adds support for handling removable media (vifm-media). Linux only! -, mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null -, gitUpdater + mediaSupport ? false, + python3 ? null, + udisks2 ? null, + lib ? null, + gitUpdater, }: -let isFullPackage = mediaSupport; -in stdenv.mkDerivation rec { +let + isFullPackage = mediaSupport; +in +stdenv.mkDerivation rec { pname = if isFullPackage then "vifm-full" else "vifm"; version = "0.13"; @@ -19,24 +30,36 @@ in stdenv.mkDerivation rec { hash = "sha256-DZKTdJp5QHat6Wfs3EfRQdheRQNwWUdlORvfGpvUUHU="; }; - nativeBuildInputs = [ perl pkg-config makeWrapper ]; - buildInputs = [ ncurses libX11 file which groff ]; + nativeBuildInputs = [ + perl + pkg-config + makeWrapper + ]; + buildInputs = [ + ncurses + libX11 + file + which + groff + ]; postPatch = '' # Avoid '#!/usr/bin/env perl' references to build help. patchShebangs --build src/helpztags ''; - postFixup = let - path = lib.makeBinPath - [ udisks2 - (python3.withPackages (p: [p.dbus-python])) + postFixup = + let + path = lib.makeBinPath [ + udisks2 + (python3.withPackages (p: [ p.dbus-python ])) ]; - wrapVifmMedia = "wrapProgram $out/share/vifm/vifm-media --prefix PATH : ${path}"; - in '' - ${lib.optionalString mediaSupport wrapVifmMedia} - ''; + wrapVifmMedia = "wrapProgram $out/share/vifm/vifm-media --prefix PATH : ${path}"; + in + '' + ${lib.optionalString mediaSupport wrapVifmMedia} + ''; passthru.updateScript = gitUpdater { url = "https://github.com/vifm/vifm.git"; diff --git a/pkgs/by-name/vi/viking/package.nix b/pkgs/by-name/vi/viking/package.nix index cb3ab09e31bcb..6b40ded8b652d 100644 --- a/pkgs/by-name/vi/viking/package.nix +++ b/pkgs/by-name/vi/viking/package.nix @@ -1,16 +1,39 @@ -{ lib, stdenv, fetchurl, fetchpatch -, desktopToDarwinBundle -, docbook_xml_dtd_45, docbook_xsl, intltool, itstool, libxslt, pkg-config, wrapGAppsHook3, yelp-tools -, curl, gdk-pixbuf, gtk3, json-glib, libxml2 -, gpsbabel -, withGeoClue ? true, geoclue2 -, withGeoTag ? true, gexiv2 -, withMagic ? true, file -, withMapnik ? false, mapnik -, withMBTiles ? true, sqlite -, withMd5Hash ? true, nettle -, withOAuth ? true, liboauth -, withRealtimeGPSTracking ? (!stdenv.hostPlatform.isDarwin), gpsd +{ + lib, + stdenv, + fetchurl, + fetchpatch, + desktopToDarwinBundle, + docbook_xml_dtd_45, + docbook_xsl, + intltool, + itstool, + libxslt, + pkg-config, + wrapGAppsHook3, + yelp-tools, + curl, + gdk-pixbuf, + gtk3, + json-glib, + libxml2, + gpsbabel, + withGeoClue ? true, + geoclue2, + withGeoTag ? true, + gexiv2, + withMagic ? true, + file, + withMapnik ? false, + mapnik, + withMBTiles ? true, + sqlite, + withMd5Hash ? true, + nettle, + withOAuth ? true, + liboauth, + withRealtimeGPSTracking ? (!stdenv.hostPlatform.isDarwin), + gpsd, }: stdenv.mkDerivation rec { @@ -30,27 +53,42 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ docbook_xml_dtd_45 docbook_xsl intltool itstool libxslt pkg-config wrapGAppsHook3 yelp-tools ] - ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; + nativeBuildInputs = [ + docbook_xml_dtd_45 + docbook_xsl + intltool + itstool + libxslt + pkg-config + wrapGAppsHook3 + yelp-tools + ] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; - buildInputs = [ curl gdk-pixbuf gtk3 json-glib libxml2 ] + buildInputs = + [ + curl + gdk-pixbuf + gtk3 + json-glib + libxml2 + ] ++ lib.optional withGeoClue geoclue2 - ++ lib.optional withGeoTag gexiv2 - ++ lib.optional withMagic file - ++ lib.optional withMapnik mapnik + ++ lib.optional withGeoTag gexiv2 + ++ lib.optional withMagic file + ++ lib.optional withMapnik mapnik ++ lib.optional withMBTiles sqlite ++ lib.optional withMd5Hash nettle - ++ lib.optional withOAuth liboauth + ++ lib.optional withOAuth liboauth ++ lib.optional withRealtimeGPSTracking gpsd; configureFlags = [ (lib.enableFeature withGeoClue "geoclue") - (lib.enableFeature withGeoTag "geotag") - (lib.enableFeature withMagic "magic") - (lib.enableFeature withMapnik "mapnik") + (lib.enableFeature withGeoTag "geotag") + (lib.enableFeature withMagic "magic") + (lib.enableFeature withMapnik "mapnik") (lib.enableFeature withMBTiles "mbtiles") (lib.enableFeature withMd5Hash "nettle") - (lib.enableFeature withOAuth "oauth") + (lib.enableFeature withOAuth "oauth") (lib.enableFeature withRealtimeGPSTracking "realtime-gps-tracking") ]; @@ -76,7 +114,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://sourceforge.net/projects/viking/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ pSub sikmir ]; + maintainers = with maintainers; [ + pSub + sikmir + ]; platforms = with platforms; unix; }; } diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index 939b8e32f9dcd..421a8d52d333a 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -1,4 +1,14 @@ -{ lib, fetchFromGitHub, stdenv, nodejs, pnpm, buildGoModule, mage, writeShellScriptBin, nixosTests }: +{ + lib, + fetchFromGitHub, + stdenv, + nodejs, + pnpm, + buildGoModule, + mage, + writeShellScriptBin, + nixosTests, +}: let version = "0.24.5"; @@ -16,7 +26,12 @@ let sourceRoot = "${finalAttrs.src.name}/frontend"; pnpmDeps = pnpm.fetchDeps { - inherit (finalAttrs) pname version src sourceRoot; + inherit (finalAttrs) + pname + version + src + sourceRoot + ; hash = "sha256-D2dOyYsdsNV1ZSQdjpy6rfoix7yBACEHj/2XyHb7HWE="; }; @@ -41,10 +56,12 @@ let }); # Injects a `t.Skip()` into a given test since there's apparently no other way to skip tests here. - skipTest = lineOffset: testCase: file: + skipTest = + lineOffset: testCase: file: let jumpAndAppend = lib.concatStringsSep ";" (lib.replicate (lineOffset - 1) "n" ++ [ "a" ]); - in '' + in + '' sed -i -e '/${testCase}/{ ${jumpAndAppend} t.Skip(); }' ${file} @@ -65,7 +82,10 @@ buildGoModule { fi ''; in - [ fakeGit mage ]; + [ + fakeGit + mage + ]; vendorHash = "sha256-OsKejno8QGg7HzRsrftngiWGiWHFc1jDLi5mQ9/NjI4="; diff --git a/pkgs/by-name/vi/vim-language-server/package.nix b/pkgs/by-name/vi/vim-language-server/package.nix index 3d60dd1ca5fbe..7e192164ffa44 100644 --- a/pkgs/by-name/vi/vim-language-server/package.nix +++ b/pkgs/by-name/vi/vim-language-server/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, yarnConfigHook -, yarnBuildHook -, nodejs -, npmHooks +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + nodejs, + npmHooks, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/vi/vim-startuptime/package.nix b/pkgs/by-name/vi/vim-startuptime/package.nix index 545cb27e43e2c..e3b58b92316d7 100644 --- a/pkgs/by-name/vi/vim-startuptime/package.nix +++ b/pkgs/by-name/vi/vim-startuptime/package.nix @@ -2,7 +2,7 @@ pkgs, lib, buildGoModule, - fetchFromGitHub + fetchFromGitHub, }: let pname = "vim-startuptime"; diff --git a/pkgs/by-name/vi/vim-vint/package.nix b/pkgs/by-name/vi/vim-vint/package.nix index 9ff37be205122..52edbdf0d289e 100644 --- a/pkgs/by-name/vi/vim-vint/package.nix +++ b/pkgs/by-name/vi/vim-vint/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: with python3Packages; @@ -12,10 +16,18 @@ buildPythonApplication rec { }; # For python 3.5 > version > 2.7 , a nested dependency (pythonPackages.hypothesis) fails. - disabled = ! pythonAtLeast "3.5"; + disabled = !pythonAtLeast "3.5"; - nativeCheckInputs = [ pytest pytest-cov ]; - propagatedBuildInputs = [ ansicolor chardet pyyaml setuptools ]; + nativeCheckInputs = [ + pytest + pytest-cov + ]; + propagatedBuildInputs = [ + ansicolor + chardet + pyyaml + setuptools + ]; # Unpin test dependency versions. This is fixed in master but not yet released. preCheck = '' diff --git a/pkgs/by-name/vi/vimb-unwrapped/package.nix b/pkgs/by-name/vi/vimb-unwrapped/package.nix index 0a629030f2107..21436d224e98c 100644 --- a/pkgs/by-name/vi/vimb-unwrapped/package.nix +++ b/pkgs/by-name/vi/vimb-unwrapped/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libsoup_2_4, webkitgtk_4_0, gtk3, glib-networking -, gsettings-desktop-schemas, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libsoup_2_4, + webkitgtk_4_0, + gtk3, + glib-networking, + gsettings-desktop-schemas, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -13,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-Eq4riJSznKpkW9JJDnTCLxZ9oMJTmWkIoGphOiCcSAg="; }; - nativeBuildInputs = [ wrapGAppsHook3 pkg-config ]; - buildInputs = [ gtk3 libsoup_2_4 webkitgtk_4_0 glib-networking gsettings-desktop-schemas ]; + nativeBuildInputs = [ + wrapGAppsHook3 + pkg-config + ]; + buildInputs = [ + gtk3 + libsoup_2_4 + webkitgtk_4_0 + glib-networking + gsettings-desktop-schemas + ]; passthru = { inherit gtk3; diff --git a/pkgs/by-name/vi/vimer/package.nix b/pkgs/by-name/vi/vimer/package.nix index 684ecfc5fe387..e131eb0e044f9 100644 --- a/pkgs/by-name/vi/vimer/package.nix +++ b/pkgs/by-name/vi/vimer/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "0.2.0"; @@ -30,4 +34,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/by-name/vi/vimiv-qt/package.nix b/pkgs/by-name/vi/vimiv-qt/package.nix index 75a0b88fba4e4..f11716993ce53 100644 --- a/pkgs/by-name/vi/vimiv-qt/package.nix +++ b/pkgs/by-name/vi/vimiv-qt/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, python3 -, qt5 -, stdenv -, installShellFiles +{ + lib, + fetchFromGitHub, + python3, + qt5, + stdenv, + installShellFiles, }: python3.pkgs.buildPythonApplication rec { @@ -17,9 +18,16 @@ python3.pkgs.buildPythonApplication rec { sha256 = "sha256-28sk5qDVmrgXYX2wm5G8zv564vG6GwxNp+gjrFHCRfU="; }; - nativeBuildInputs = [ installShellFiles qt5.wrapQtAppsHook python3.pkgs.setuptools ]; + nativeBuildInputs = [ + installShellFiles + qt5.wrapQtAppsHook + python3.pkgs.setuptools + ]; - propagatedBuildInputs = with python3.pkgs; [ pyqt5 py3exiv2 ]; + propagatedBuildInputs = with python3.pkgs; [ + pyqt5 + py3exiv2 + ]; buildInputs = [ qt5.qtsvg ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qt5.qtwayland ]; diff --git a/pkgs/by-name/vi/vimix-cursor-theme/package.nix b/pkgs/by-name/vi/vimix-cursor-theme/package.nix index a276ae1ea2453..a030580e7ff44 100644 --- a/pkgs/by-name/vi/vimix-cursor-theme/package.nix +++ b/pkgs/by-name/vi/vimix-cursor-theme/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, fetchFromGitHub -, lib +{ + stdenvNoCC, + fetchFromGitHub, + lib, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/vi/vimix-cursors/package.nix b/pkgs/by-name/vi/vimix-cursors/package.nix index b42d053be6ae3..665938ae02e47 100644 --- a/pkgs/by-name/vi/vimix-cursors/package.nix +++ b/pkgs/by-name/vi/vimix-cursors/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC -, inkscape -, python3Packages -, xcursorgen +{ + lib, + fetchFromGitHub, + stdenvNoCC, + inkscape, + python3Packages, + xcursorgen, }: stdenvNoCC.mkDerivation { pname = "vimix-cursors"; diff --git a/pkgs/by-name/vi/vimix-gtk-themes/package.nix b/pkgs/by-name/vi/vimix-gtk-themes/package.nix index 18a5b2c893e73..30da5f31cb41c 100644 --- a/pkgs/by-name/vi/vimix-gtk-themes/package.nix +++ b/pkgs/by-name/vi/vimix-gtk-themes/package.nix @@ -1,77 +1,98 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gnome-shell -, gtk-engine-murrine -, gtk_engines -, jdupes -, sassc -, gitUpdater -, themeVariants ? [] # default: doder (blue) -, colorVariants ? [] # default: all -, sizeVariants ? [] # default: standard -, tweaks ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gnome-shell, + gtk-engine-murrine, + gtk_engines, + jdupes, + sassc, + gitUpdater, + themeVariants ? [ ], # default: doder (blue) + colorVariants ? [ ], # default: all + sizeVariants ? [ ], # default: standard + tweaks ? [ ], }: let pname = "vimix-gtk-themes"; in -lib.checkListOfEnum "${pname}: theme variants" [ "doder" "beryl" "ruby" "amethyst" "jade" "grey" "all" ] themeVariants -lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" "all" ] sizeVariants -lib.checkListOfEnum "${pname}: tweaks" [ "flat" "grey" "mix" "translucent" ] tweaks +lib.checkListOfEnum "${pname}: theme variants" + [ + "doder" + "beryl" + "ruby" + "amethyst" + "jade" + "grey" + "all" + ] + themeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ "standard" "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: size variants" + [ "standard" "compact" "all" ] + sizeVariants + lib.checkListOfEnum + "${pname}: tweaks" + [ "flat" "grey" "mix" "translucent" ] + tweaks -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-04-20"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-04-20"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - sha256 = "RbAdoix+UWKiLB+04YiPa0UwzO1fFLy56IG1MipmE+E="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "RbAdoix+UWKiLB+04YiPa0UwzO1fFLy56IG1MipmE+E="; + }; - nativeBuildInputs = [ - gnome-shell # needed to determine the gnome-shell version - jdupes - sassc - ]; + nativeBuildInputs = [ + gnome-shell # needed to determine the gnome-shell version + jdupes + sassc + ]; - buildInputs = [ - gtk_engines - ]; + buildInputs = [ + gtk_engines + ]; - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall - mkdir -p $out/share/themes - name= HOME="$TMPDIR" ./install.sh \ - ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ - ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ - ${lib.optionalString (sizeVariants != []) "--size " + builtins.toString sizeVariants} \ - ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \ - --dest $out/share/themes - rm $out/share/themes/*/{AUTHORS,LICENSE} - jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + name= HOME="$TMPDIR" ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "--size " + builtins.toString sizeVariants} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes + rm $out/share/themes/*/{AUTHORS,LICENSE} + jdupes --quiet --link-soft --recurse $out/share + runHook postInstall + ''; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { }; - meta = with lib; { - description = "Flat Material Design theme for GTK based desktop environments"; - homepage = "https://github.com/vinceliuice/vimix-gtk-themes"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = [ maintainers.romildo ]; - }; -} + meta = with lib; { + description = "Flat Material Design theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/vimix-gtk-themes"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; + } diff --git a/pkgs/by-name/vi/vimix-icon-theme/package.nix b/pkgs/by-name/vi/vimix-icon-theme/package.nix index 822b710e32b00..9c0e0d9b9f7f3 100644 --- a/pkgs/by-name/vi/vimix-icon-theme/package.nix +++ b/pkgs/by-name/vi/vimix-icon-theme/package.nix @@ -1,69 +1,82 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater -, gtk3 -, hicolor-icon-theme -, jdupes -, colorVariants ? [] # default: all +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + gtk3, + hicolor-icon-theme, + jdupes, + colorVariants ? [ ], # default: all }: let pname = "vimix-icon-theme"; in -lib.checkListOfEnum "${pname}: color variants" [ "standard" "Amethyst" "Beryl" "Doder" "Ruby" "Jade" "Black" "White" ] colorVariants +lib.checkListOfEnum "${pname}: color variants" + [ + "standard" + "Amethyst" + "Beryl" + "Doder" + "Ruby" + "Jade" + "Black" + "White" + ] + colorVariants -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2023-06-26"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2023-06-26"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - sha256 = "5pTYsWdmjSDyrEK+Jbg/9dQ1FHI2rdnr1n0Ysd5mg/U="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "5pTYsWdmjSDyrEK+Jbg/9dQ1FHI2rdnr1n0Ysd5mg/U="; + }; - nativeBuildInputs = [ - gtk3 - jdupes - ]; + nativeBuildInputs = [ + gtk3 + jdupes + ]; - propagatedBuildInputs = [ - hicolor-icon-theme - ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; - dontDropIconThemeCache = true; + dontDropIconThemeCache = true; - # These fixup steps are slow and unnecessary for this package - dontPatchELF = true; - dontRewriteSymlinks = true; + # These fixup steps are slow and unnecessary for this package + dontPatchELF = true; + dontRewriteSymlinks = true; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - ./install.sh \ - ${if colorVariants != [] then builtins.toString colorVariants else "-a"} \ - -d $out/share/icons + ./install.sh \ + ${if colorVariants != [ ] then builtins.toString colorVariants else "-a"} \ + -d $out/share/icons - # replace duplicate files with symlinks - jdupes --quiet --link-soft --recurse $out/share + # replace duplicate files with symlinks + jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { }; - meta = with lib; { - description = "Material Design icon theme based on Paper icon theme"; - homepage = "https://github.com/vinceliuice/vimix-icon-theme"; - license = with licenses; [ cc-by-sa-40 ]; - platforms = platforms.linux; - maintainers = with maintainers; [ romildo ]; - }; -} + meta = with lib; { + description = "Material Design icon theme based on Paper icon theme"; + homepage = "https://github.com/vinceliuice/vimix-icon-theme"; + license = with licenses; [ cc-by-sa-40 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; + } diff --git a/pkgs/by-name/vi/vimpc/package.nix b/pkgs/by-name/vi/vimpc/package.nix index f85bf4ebd8672..3a546b764f97d 100644 --- a/pkgs/by-name/vi/vimpc/package.nix +++ b/pkgs/by-name/vi/vimpc/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, libmpdclient -, ncurses -, pcre -, pkg-config -, taglib -, curl +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + libmpdclient, + ncurses, + pcre, + pkg-config, + taglib, + curl, }: stdenv.mkDerivation rec { @@ -32,8 +33,17 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libmpdclient ncurses pcre taglib curl ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libmpdclient + ncurses + pcre + taglib + curl + ]; postInstall = '' mkdir -p $out/etc diff --git a/pkgs/by-name/vi/vimv-rs/package.nix b/pkgs/by-name/vi/vimv-rs/package.nix index ebd812c3f7629..ec0a0c3d4c3b1 100644 --- a/pkgs/by-name/vi/vimv-rs/package.nix +++ b/pkgs/by-name/vi/vimv-rs/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, stdenv, apple-sdk_11 }: +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + apple-sdk_11, +}: rustPlatform.buildRustPackage rec { pname = "vimv-rs"; diff --git a/pkgs/by-name/vi/vimv/package.nix b/pkgs/by-name/vi/vimv/package.nix index 46753688ec73f..a402a54fac89f 100644 --- a/pkgs/by-name/vi/vimv/package.nix +++ b/pkgs/by-name/vi/vimv/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation { pname = "vimv"; diff --git a/pkgs/by-name/vi/vintagestory/package.nix b/pkgs/by-name/vi/vintagestory/package.nix index 75df4dd045c2f..361550405f88f 100644 --- a/pkgs/by-name/vi/vintagestory/package.nix +++ b/pkgs/by-name/vi/vintagestory/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, xorg -, gtk2 -, sqlite -, openal -, cairo -, libGLU -, SDL2 -, freealut -, libglvnd -, pipewire -, libpulseaudio -, dotnet-runtime_7 +{ + lib, + stdenv, + fetchurl, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + xorg, + gtk2, + sqlite, + openal, + cairo, + libGLU, + SDL2, + freealut, + libglvnd, + pipewire, + libpulseaudio, + dotnet-runtime_7, }: stdenv.mkDerivation rec { @@ -27,27 +28,32 @@ stdenv.mkDerivation rec { hash = "sha256-R6J+ACYDQpOzJZFBizsQGOexR7lMyeoZqz9TnWxfwyM="; }; - - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; buildInputs = [ dotnet-runtime_7 ]; - runtimeLibs = lib.makeLibraryPath ([ - gtk2 - sqlite - openal - cairo - libGLU - SDL2 - freealut - libglvnd - pipewire - libpulseaudio - ] ++ (with xorg; [ - libX11 - libXi - libXcursor - ])); + runtimeLibs = lib.makeLibraryPath ( + [ + gtk2 + sqlite + openal + cairo + libGLU + SDL2 + freealut + libglvnd + pipewire + libpulseaudio + ] + ++ (with xorg; [ + libX11 + libXi + libXcursor + ]) + ); desktopItems = [ (makeDesktopItem { @@ -71,24 +77,29 @@ stdenv.mkDerivation rec { runHook postInstall ''; - preFixup = '' - makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory \ - --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ - --add-flags $out/share/vintagestory/Vintagestory.dll - makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory-server \ - --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ - --add-flags $out/share/vintagestory/VintagestoryServer.dll - '' + '' - find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do - local filename="$(basename -- "$file")" - ln -sf "$filename" "''${file%/*}"/"''${filename,,}" - done - ''; + preFixup = + '' + makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory \ + --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ + --add-flags $out/share/vintagestory/Vintagestory.dll + makeWrapper ${dotnet-runtime_7}/bin/dotnet $out/bin/vintagestory-server \ + --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ + --add-flags $out/share/vintagestory/VintagestoryServer.dll + '' + + '' + find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do + local filename="$(basename -- "$file")" + ln -sf "$filename" "''${file%/*}"/"''${filename,,}" + done + ''; meta = with lib; { description = "In-development indie sandbox game about innovation and exploration"; homepage = "https://www.vintagestory.at/"; license = licenses.unfree; - maintainers = with maintainers; [ artturin gigglesquid ]; + maintainers = with maintainers; [ + artturin + gigglesquid + ]; }; } diff --git a/pkgs/by-name/vi/viper4linux/package.nix b/pkgs/by-name/vi/viper4linux/package.nix index 134e535a78342..4beaf47ef7b63 100644 --- a/pkgs/by-name/vi/viper4linux/package.nix +++ b/pkgs/by-name/vi/viper4linux/package.nix @@ -1,12 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, gst_all_1 -, libviperfx -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + gst_all_1, + libviperfx, + makeWrapper, }: let - gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-viperfx gst-plugins-base gst-plugins-good ]); + gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" ( + with gst_all_1; + [ + gstreamer + gst-plugins-viperfx + gst-plugins-base + gst-plugins-good + ] + ); in stdenv.mkDerivation rec { pname = "viper4linux"; diff --git a/pkgs/by-name/vi/vipsdisp/package.nix b/pkgs/by-name/vi/vipsdisp/package.nix index fdfb17d205426..80dcef083886d 100644 --- a/pkgs/by-name/vi/vipsdisp/package.nix +++ b/pkgs/by-name/vi/vipsdisp/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch2 -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, vips -, gtk4 -, python3 +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch2, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + vips, + gtk4, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/vi/virglrenderer/package.nix b/pkgs/by-name/vi/virglrenderer/package.nix index e23285511afad..88cf039ef6c84 100644 --- a/pkgs/by-name/vi/virglrenderer/package.nix +++ b/pkgs/by-name/vi/virglrenderer/package.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3 -, libGLU, libepoxy, libX11, libdrm, mesa -, vaapiSupport ? true, libva -, gitUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + python3, + libGLU, + libepoxy, + libX11, + libdrm, + mesa, + vaapiSupport ? true, + libva, + gitUpdater, }: stdenv.mkDerivation rec { @@ -15,12 +27,22 @@ stdenv.mkDerivation rec { separateDebugInfo = true; - buildInputs = [ libGLU libepoxy libX11 libdrm mesa ] - ++ lib.optionals vaapiSupport [ libva ]; + buildInputs = [ + libGLU + libepoxy + libX11 + libdrm + mesa + ] ++ lib.optionals vaapiSupport [ libva ]; - nativeBuildInputs = [ meson ninja pkg-config python3 ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + ]; - mesonFlags= [ + mesonFlags = [ (lib.mesonBool "video" vaapiSupport) ]; diff --git a/pkgs/by-name/vi/virt-viewer/package.nix b/pkgs/by-name/vi/virt-viewer/package.nix index 2c368db8da945..253c5fab2e91e 100644 --- a/pkgs/by-name/vi/virt-viewer/package.nix +++ b/pkgs/by-name/vi/virt-viewer/package.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, bash-completion -, fetchurl -, fetchpatch -, gdbm -, glib -, gst_all_1 -, gsettings-desktop-schemas -, gtk-vnc -, gtk3 -, intltool -, libcap -, libgovirt +{ + lib, + stdenv, + bash-completion, + fetchurl, + fetchpatch, + gdbm, + glib, + gst_all_1, + gsettings-desktop-schemas, + gtk-vnc, + gtk3, + intltool, + libcap, + libgovirt, # Currently unsupported. According to upstream, libgovirt is for a very narrow # use-case and we don't currently cover it in Nixpkgs. It's safe to disable. # https://gitlab.com/virt-viewer/virt-viewer/-/issues/100#note_1265011223 # Can be enabled again once this is merged: # https://gitlab.com/virt-viewer/virt-viewer/-/merge_requests/129 -, ovirtSupport ? false -, libvirt -, libvirt-glib -, libxml2 -, meson -, ninja -, pkg-config -, python3 -, shared-mime-info -, spice-gtk -, spice-protocol -, spiceSupport ? true -, vte -, wrapGAppsHook3 + ovirtSupport ? false, + libvirt, + libvirt-glib, + libxml2, + meson, + ninja, + pkg-config, + python3, + shared-mime-info, + spice-gtk, + spice-protocol, + spiceSupport ? true, + vte, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "virt-viewer"; @@ -61,27 +62,33 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - bash-completion - glib - gsettings-desktop-schemas - gtk-vnc - gtk3 - libvirt - libvirt-glib - libxml2 - vte - ] ++ lib.optionals ovirtSupport [ - libgovirt - ] ++ lib.optionals spiceSupport ([ - gdbm - spice-gtk - spice-protocol - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libcap - ]); + buildInputs = + [ + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + bash-completion + glib + gsettings-desktop-schemas + gtk-vnc + gtk3 + libvirt + libvirt-glib + libxml2 + vte + ] + ++ lib.optionals ovirtSupport [ + libgovirt + ] + ++ lib.optionals spiceSupport ( + [ + gdbm + spice-gtk + spice-protocol + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + ] + ); # Required for USB redirection PolicyKit rules file propagatedUserEnvPkgs = lib.optional spiceSupport spice-gtk; @@ -98,7 +105,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Viewer for remote virtual machines"; - maintainers = with maintainers; [ raskin atemu ]; + maintainers = with maintainers; [ + raskin + atemu + ]; platforms = with platforms; linux ++ darwin; license = licenses.gpl2; }; diff --git a/pkgs/by-name/vi/virt-what/package.nix b/pkgs/by-name/vi/virt-what/package.nix index 05c5268b087e9..b06b0761a24be 100644 --- a/pkgs/by-name/vi/virt-what/package.nix +++ b/pkgs/by-name/vi/virt-what/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: stdenv.mkDerivation rec { pname = "virt-what"; diff --git a/pkgs/by-name/vi/virter/package.nix b/pkgs/by-name/vi/virter/package.nix index 0e0dc349d01fc..b645ec2746913 100644 --- a/pkgs/by-name/vi/virter/package.nix +++ b/pkgs/by-name/vi/virter/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/vi/virtio-win/package.nix b/pkgs/by-name/vi/virtio-win/package.nix index d1d1757c90bda..8e81a5c611e0b 100644 --- a/pkgs/by-name/vi/virtio-win/package.nix +++ b/pkgs/by-name/vi/virtio-win/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libarchive }: +{ + lib, + stdenv, + fetchurl, + libarchive, +}: stdenv.mkDerivation rec { pname = "virtio-win"; diff --git a/pkgs/by-name/vi/virtualpg/package.nix b/pkgs/by-name/vi/virtualpg/package.nix index e15961437002d..79b184516650f 100644 --- a/pkgs/by-name/vi/virtualpg/package.nix +++ b/pkgs/by-name/vi/virtualpg/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, validatePkgConfig, postgresql, sqlite, darwin }: +{ + lib, + stdenv, + fetchurl, + validatePkgConfig, + postgresql, + sqlite, + darwin, +}: stdenv.mkDerivation rec { pname = "virtualpg"; @@ -11,16 +19,22 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ validatePkgConfig - postgresql # for pg_config + postgresql # for pg_config ]; - buildInputs = [ postgresql sqlite ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Kerberos ]; + buildInputs = [ + postgresql + sqlite + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Kerberos ]; meta = with lib; { description = "Loadable dynamic extension to both SQLite and SpatiaLite"; homepage = "https://www.gaia-gis.it/fossil/virtualpg"; - license = with licenses; [ mpl11 gpl2Plus lgpl21Plus ]; + license = with licenses; [ + mpl11 + gpl2Plus + lgpl21Plus + ]; platforms = platforms.unix; maintainers = with maintainers; [ sikmir ]; }; diff --git a/pkgs/by-name/vi/vis/package.nix b/pkgs/by-name/vi/vis/package.nix index 7d37d022a86aa..edf173026d901 100644 --- a/pkgs/by-name/vi/vis/package.nix +++ b/pkgs/by-name/vi/vis/package.nix @@ -1,15 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper -, copyDesktopItems, makeDesktopItem -, ncurses, libtermkey, lua, tre -, acl, libselinux +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + ncurses, + libtermkey, + lua, + tre, + acl, + libselinux, }: let - luaEnv = lua.withPackages(ps: [ ps.lpeg ]); + luaEnv = lua.withPackages (ps: [ ps.lpeg ]); in stdenv.mkDerivation rec { pname = "vis"; - version = "0.9"; + version = "0.9"; src = fetchFromGitHub { rev = "v${version}"; @@ -18,18 +28,24 @@ stdenv.mkDerivation rec { owner = "martanne"; }; - nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ]; - - buildInputs = [ - ncurses - libtermkey - luaEnv - tre - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - acl - libselinux + nativeBuildInputs = [ + pkg-config + makeWrapper + copyDesktopItems ]; + buildInputs = + [ + ncurses + libtermkey + luaEnv + tre + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + acl + libselinux + ]; + postInstall = '' wrapProgram $out/bin/vis \ --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ @@ -46,8 +62,15 @@ stdenv.mkDerivation rec { comment = meta.description; desktopName = "vis"; genericName = "Text editor"; - categories = [ "Application" "Development" "IDE" ]; - mimeTypes = [ "text/plain" "application/octet-stream" ]; + categories = [ + "Application" + "Development" + "IDE" + ]; + mimeTypes = [ + "text/plain" + "application/octet-stream" + ]; startupNotify = false; terminal = true; }) diff --git a/pkgs/by-name/vi/vistafonts-chs/package.nix b/pkgs/by-name/vi/vistafonts-chs/package.nix index 66274c667a04b..70491300ea740 100644 --- a/pkgs/by-name/vi/vistafonts-chs/package.nix +++ b/pkgs/by-name/vi/vistafonts-chs/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, cabextract }: +{ + lib, + stdenvNoCC, + fetchurl, + cabextract, +}: stdenvNoCC.mkDerivation { pname = "vista-fonts-chs"; diff --git a/pkgs/by-name/vi/vistafonts-cht/package.nix b/pkgs/by-name/vi/vistafonts-cht/package.nix index 78271e2f1e93d..593df81676f2b 100644 --- a/pkgs/by-name/vi/vistafonts-cht/package.nix +++ b/pkgs/by-name/vi/vistafonts-cht/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, cabextract }: +{ + lib, + stdenvNoCC, + fetchurl, + cabextract, +}: stdenvNoCC.mkDerivation { pname = "vista-fonts-cht"; @@ -26,7 +31,6 @@ stdenvNoCC.mkDerivation { --subst-var-by fontname "Microsoft JhengHei" ''; - meta = with lib; { description = "TrueType fonts from Microsoft Windows Vista For Traditional Chinese (Microsoft JhengHei)"; homepage = "https://www.microsoft.com/typography/fonts/family.aspx"; diff --git a/pkgs/by-name/vi/vistafonts/package.nix b/pkgs/by-name/vi/vistafonts/package.nix index fa8308b8c9720..d6f88cc177106 100644 --- a/pkgs/by-name/vi/vistafonts/package.nix +++ b/pkgs/by-name/vi/vistafonts/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, cabextract }: +{ + lib, + stdenvNoCC, + fetchurl, + cabextract, +}: stdenvNoCC.mkDerivation { pname = "vista-fonts"; diff --git a/pkgs/by-name/vi/visualvm/package.nix b/pkgs/by-name/vi/visualvm/package.nix index 5f7dc106663fc..4f9be9a5654f9 100644 --- a/pkgs/by-name/vi/visualvm/package.nix +++ b/pkgs/by-name/vi/visualvm/package.nix @@ -1,21 +1,30 @@ -{ stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk }: +{ + stdenv, + fetchzip, + lib, + makeWrapper, + makeDesktopItem, + jdk, +}: stdenv.mkDerivation rec { version = "2.1.10"; pname = "visualvm"; src = fetchzip { - url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""] version}.zip"; + url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${ + builtins.replaceStrings [ "." ] [ "" ] version + }.zip"; sha256 = "sha256-CmbAYJzhzPIgUfo1M0JuwhNz6Bmymb0Fr1ERdmgQ95I="; }; desktopItem = makeDesktopItem { - name = "visualvm"; - exec = "visualvm"; - comment = "Java Troubleshooting Tool"; - desktopName = "VisualVM"; - genericName = "Java Troubleshooting Tool"; - categories = [ "Development" ]; + name = "visualvm"; + exec = "visualvm"; + comment = "Java Troubleshooting Tool"; + desktopName = "VisualVM"; + genericName = "Java Troubleshooting Tool"; + categories = [ "Development" ]; }; nativeBuildInputs = [ makeWrapper ]; @@ -43,6 +52,9 @@ stdenv.mkDerivation rec { homepage = "https://visualvm.github.io"; license = licenses.gpl2ClasspathPlus; platforms = platforms.all; - maintainers = with maintainers; [ michalrus moaxcp ]; + maintainers = with maintainers; [ + michalrus + moaxcp + ]; }; } diff --git a/pkgs/by-name/vi/vit/package.nix b/pkgs/by-name/vi/vit/package.nix index 020be3eabf262..c95140f48fead 100644 --- a/pkgs/by-name/vi/vit/package.nix +++ b/pkgs/by-name/vi/vit/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchPypi -, taskwarrior2 -, glibcLocales +{ + lib, + python3Packages, + fetchPypi, + taskwarrior2, + glibcLocales, }: with python3Packages; @@ -24,7 +25,12 @@ buildPythonApplication rec { nativeCheckInputs = [ glibcLocales ]; - makeWrapperArgs = [ "--suffix" "PATH" ":" "${taskwarrior2}/bin" ]; + makeWrapperArgs = [ + "--suffix" + "PATH" + ":" + "${taskwarrior2}/bin" + ]; preCheck = '' export TERM=''${TERM-linux} diff --git a/pkgs/by-name/vi/vital/package.nix b/pkgs/by-name/vi/vital/package.nix index 8a794925a7f32..fb103ddaec7de 100644 --- a/pkgs/by-name/vi/vital/package.nix +++ b/pkgs/by-name/vi/vital/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchzip -, autoPatchelfHook -, makeBinaryWrapper +{ + lib, + stdenv, + fetchzip, + autoPatchelfHook, + makeBinaryWrapper, -, alsa-lib -, libjack2 -, curl -, xorg -, libGL -, freetype + alsa-lib, + libjack2, + curl, + xorg, + libGL, + freetype, }: stdenv.mkDerivation (finalAttrs: { @@ -17,7 +18,9 @@ stdenv.mkDerivation (finalAttrs: { version = "1.5.5"; src = fetchzip { - url = "https://builds.vital.audio/VitalAudio/vital/${builtins.replaceStrings ["."] ["_"] finalAttrs.version}/VitalInstaller.zip"; + url = "https://builds.vital.audio/VitalAudio/vital/${ + builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }/VitalInstaller.zip"; hash = "sha256-hCwXSUiBB0YpQ1oN6adLprwAoel6f72tBG5fEb61OCI="; }; @@ -49,17 +52,24 @@ stdenv.mkDerivation (finalAttrs: { done wrapProgram $out/bin/Vital \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ curl libjack2 ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + curl + libjack2 + ] + }" runHook postInstall ''; - meta = with lib; { description = "Spectral warping wavetable synth"; homepage = "https://vital.audio/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; [ unfree gpl3Plus ]; + license = with licenses; [ + unfree + gpl3Plus + ]; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ PowerUser64 ]; mainProgram = "Vital"; diff --git a/pkgs/by-name/vi/vitetris/package.nix b/pkgs/by-name/vi/vitetris/package.nix index 67358134e6690..ce96940699e04 100644 --- a/pkgs/by-name/vi/vitetris/package.nix +++ b/pkgs/by-name/vi/vitetris/package.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib }: +{ + stdenv, + fetchFromGitHub, + lib, +}: stdenv.mkDerivation rec { pname = "vitetris"; @@ -13,7 +17,10 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - makeFlags = [ "INSTALL=install" "CPPFLAGS=-Wno-implicit-int" ]; + makeFlags = [ + "INSTALL=install" + "CPPFLAGS=-Wno-implicit-int" + ]; meta = { description = "Terminal-based Tetris clone by Victor Nilsson"; diff --git a/pkgs/by-name/vi/viu/package.nix b/pkgs/by-name/vi/viu/package.nix index a81a48341afee..ef28b02e8c1d9 100644 --- a/pkgs/by-name/vi/viu/package.nix +++ b/pkgs/by-name/vi/viu/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, libsixel -, withSixel ? false +{ + lib, + rustPlatform, + fetchFromGitHub, + libsixel, + withSixel ? false, }: rustPlatform.buildRustPackage rec { @@ -28,7 +29,10 @@ rustPlatform.buildRustPackage rec { description = "Command-line application to view images from the terminal written in Rust"; homepage = "https://github.com/atanunq/viu"; license = licenses.mit; - maintainers = with maintainers; [ chuangzhu sigmanificient ]; + maintainers = with maintainers; [ + chuangzhu + sigmanificient + ]; mainProgram = "viu"; }; } diff --git a/pkgs/by-name/vi/vivictpp/package.nix b/pkgs/by-name/vi/vivictpp/package.nix index 5dd777995ba2a..97bba1a68e7a8 100644 --- a/pkgs/by-name/vi/vivictpp/package.nix +++ b/pkgs/by-name/vi/vivictpp/package.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchFromGitHub -, meson, cmake, ninja, pkg-config -, python3, git -, SDL2, SDL2_ttf -, freetype, harfbuzz -, ffmpeg -, cacert -, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + cmake, + ninja, + pkg-config, + python3, + git, + SDL2, + SDL2_ttf, + freetype, + harfbuzz, + ffmpeg, + cacert, + zlib, +}: let version = "1.1.0"; @@ -36,7 +46,8 @@ let outputHashMode = "recursive"; outputHash = "sha256-/6nuTKjQEXfJlHkTkeX/A4PeGb8SOk6Q801gjx1SB6M="; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "vivictpp"; inherit version; diff --git a/pkgs/by-name/vi/vivid/package.nix b/pkgs/by-name/vi/vivid/package.nix index 4ec34be94f4ea..6696abe9bc21d 100644 --- a/pkgs/by-name/vi/vivid/package.nix +++ b/pkgs/by-name/vi/vivid/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "vivid"; @@ -16,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Generator for LS_COLORS with support for multiple color themes"; homepage = "https://github.com/sharkdp/vivid"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = [ maintainers.dtzWill ]; platforms = platforms.unix; mainProgram = "vivid"; diff --git a/pkgs/by-name/vi/viw/package.nix b/pkgs/by-name/vi/viw/package.nix index ad47edfe83e4d..63cbc2615b6b4 100644 --- a/pkgs/by-name/vi/viw/package.nix +++ b/pkgs/by-name/vi/viw/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { pname = "viw"; @@ -14,7 +19,11 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; - checkFlags = [ "test-command" "test-buffer" "test-state" ]; + checkFlags = [ + "test-command" + "test-buffer" + "test-state" + ]; installPhase = '' install -Dm 755 -t $out/bin viw diff --git a/pkgs/by-name/vi/vix/package.nix b/pkgs/by-name/vi/vix/package.nix index 8b6eeb912fcce..84cebdb170177 100644 --- a/pkgs/by-name/vi/vix/package.nix +++ b/pkgs/by-name/vi/vix/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, SDL }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + SDL, +}: stdenv.mkDerivation { pname = "vix"; diff --git a/pkgs/by-name/vk/vk-bootstrap/package.nix b/pkgs/by-name/vk/vk-bootstrap/package.nix index bc43da3567d8d..dad17ce802c83 100644 --- a/pkgs/by-name/vk/vk-bootstrap/package.nix +++ b/pkgs/by-name/vk/vk-bootstrap/package.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, vulkan-headers -, glfw -, catch2 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + vulkan-headers, + glfw, + catch2, }: stdenv.mkDerivation rec { pname = "vk-bootstrap"; version = "0.7"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "charles-lunarg"; @@ -27,7 +31,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ vulkan-headers glfw catch2 ]; + buildInputs = [ + vulkan-headers + glfw + catch2 + ]; cmakeFlags = [ "-DVK_BOOTSTRAP_VULKAN_HEADER_DIR=${vulkan-headers}/include" diff --git a/pkgs/by-name/vk/vk-cli/package.nix b/pkgs/by-name/vk/vk-cli/package.nix index b3425dcfb6f64..aaf91887ed0f1 100644 --- a/pkgs/by-name/vk/vk-cli/package.nix +++ b/pkgs/by-name/vk/vk-cli/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchurl -, curl -, p7zip -, glibc -, ncurses -, openssl +{ + stdenv, + lib, + fetchurl, + curl, + p7zip, + glibc, + ncurses, + openssl, }: stdenv.mkDerivation rec { @@ -41,7 +42,12 @@ stdenv.mkDerivation rec { postFixup = '' patchelf $out/bin/vk-cli \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${lib.makeLibraryPath [ curl glibc ]}" + --set-rpath "${ + lib.makeLibraryPath [ + curl + glibc + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/vk/vk-messenger/package.nix b/pkgs/by-name/vk/vk-messenger/package.nix index 60ed9d60b1e12..c63aaf1527e3f 100644 --- a/pkgs/by-name/vk/vk-messenger/package.nix +++ b/pkgs/by-name/vk/vk-messenger/package.nix @@ -1,25 +1,39 @@ -{ stdenv, lib, fetchurl, rpmextract, undmg, autoPatchelfHook -, xorg, gtk3, nss, alsa-lib, udev, libnotify -, wrapGAppsHook3 }: +{ + stdenv, + lib, + fetchurl, + rpmextract, + undmg, + autoPatchelfHook, + xorg, + gtk3, + nss, + alsa-lib, + udev, + libnotify, + wrapGAppsHook3, +}: let pname = "vk-messenger"; version = "5.3.2"; - src = { - i686-linux = fetchurl { - url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm"; - sha256 = "L0nE0zW4LP8udcE8uPy+cH9lLuQsUSq7cF13Gv7w2rI="; - }; - x86_64-linux = fetchurl { - url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm"; - sha256 = "spDw9cfDSlIuCwOqREsqXC19tx62TiAz9fjIS9lYjSQ="; - }; - x86_64-darwin = fetchurl { - url = "https://web.archive.org/web/20220302083827/https://desktop.userapi.com/mac/master/vk.dmg"; - sha256 = "hxK8I9sF6njfCxSs1KBCHfnG81JGKUgHKAeFLtuCNe0="; - }; - }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + src = + { + i686-linux = fetchurl { + url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm"; + sha256 = "L0nE0zW4LP8udcE8uPy+cH9lLuQsUSq7cF13Gv7w2rI="; + }; + x86_64-linux = fetchurl { + url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm"; + sha256 = "spDw9cfDSlIuCwOqREsqXC19tx62TiAz9fjIS9lYjSQ="; + }; + x86_64-darwin = fetchurl { + url = "https://web.archive.org/web/20220302083827/https://desktop.userapi.com/mac/master/vk.dmg"; + sha256 = "hxK8I9sF6njfCxSs1KBCHfnG81JGKUgHKAeFLtuCNe0="; + }; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); meta = with lib; { description = "Simple and Convenient Messaging App for VK"; @@ -27,18 +41,43 @@ let sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = [ ]; - platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"]; + platforms = [ + "i686-linux" + "x86_64-linux" + "x86_64-darwin" + ]; }; linux = stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; - nativeBuildInputs = [ rpmextract autoPatchelfHook wrapGAppsHook3 ]; - buildInputs = (with xorg; [ - libXdamage libXtst libXScrnSaver libxkbfile - ]) ++ [ gtk3 nss alsa-lib ]; + nativeBuildInputs = [ + rpmextract + autoPatchelfHook + wrapGAppsHook3 + ]; + buildInputs = + (with xorg; [ + libXdamage + libXtst + libXScrnSaver + libxkbfile + ]) + ++ [ + gtk3 + nss + alsa-lib + ]; - runtimeDependencies = [ (lib.getLib udev) libnotify ]; + runtimeDependencies = [ + (lib.getLib udev) + libnotify + ]; unpackPhase = '' rpmextract $src @@ -60,7 +99,12 @@ let }; darwin = stdenv.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; nativeBuildInputs = [ undmg ]; @@ -71,4 +115,5 @@ let cp -r *.app $out/Applications ''; }; -in if stdenv.hostPlatform.isDarwin then darwin else linux +in +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/by-name/vk/vkbasalt-cli/package.nix b/pkgs/by-name/vk/vkbasalt-cli/package.nix index 855daf39ccee7..3c66ba9c0781c 100644 --- a/pkgs/by-name/vk/vkbasalt-cli/package.nix +++ b/pkgs/by-name/vk/vkbasalt-cli/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchFromGitLab -, vkbasalt +{ + lib, + python3Packages, + fetchFromGitLab, + vkbasalt, }: python3Packages.buildPythonApplication rec { @@ -25,7 +26,10 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Command-line utility for vkBasalt"; homepage = "https://gitlab.com/TheEvilSkeleton/vkbasalt-cli"; - license = with licenses; [ lgpl3Only gpl3Only ]; + license = with licenses; [ + lgpl3Only + gpl3Only + ]; maintainers = [ ]; mainProgram = "vkbasalt"; }; diff --git a/pkgs/by-name/vk/vkd3d/package.nix b/pkgs/by-name/vk/vkd3d/package.nix index 801103fa8ce64..f95ce0d0543d6 100644 --- a/pkgs/by-name/vk/vkd3d/package.nix +++ b/pkgs/by-name/vk/vkd3d/package.nix @@ -24,7 +24,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-puYsDKFNkml2JCEhwpx9rlMsFJuz0LGCNlnpyEv/W4g="; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/by-name/vk/vkdisplayinfo/package.nix b/pkgs/by-name/vk/vkdisplayinfo/package.nix index 3a88b2e21147e..85047758ca29d 100644 --- a/pkgs/by-name/vk/vkdisplayinfo/package.nix +++ b/pkgs/by-name/vk/vkdisplayinfo/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, meson -, ninja -, vulkan-loader -, vulkan-headers -, fetchFromGitHub +{ + lib, + stdenv, + meson, + ninja, + vulkan-loader, + vulkan-headers, + fetchFromGitHub, }: stdenv.mkDerivation rec { pname = "vkdisplayinfo"; diff --git a/pkgs/by-name/vk/vkdt/package.nix b/pkgs/by-name/vk/vkdt/package.nix index acaf09e439771..08b964d2a53a1 100644 --- a/pkgs/by-name/vk/vkdt/package.nix +++ b/pkgs/by-name/vk/vkdt/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchurl -, vulkan-headers -, vulkan-tools -, vulkan-loader -, glslang -, glfw -, libjpeg -, pkg-config -, rsync -, cmake -, clang -, llvm -, llvmPackages -, pugixml -, freetype -, exiv2 -, ffmpeg -, libvorbis -, libmad -, testers -, vkdt -, xxd -, alsa-lib -, cargo -, rustPlatform +{ + lib, + stdenv, + fetchurl, + vulkan-headers, + vulkan-tools, + vulkan-loader, + glslang, + glfw, + libjpeg, + pkg-config, + rsync, + cmake, + clang, + llvm, + llvmPackages, + pugixml, + freetype, + exiv2, + ffmpeg, + libvorbis, + libmad, + testers, + vkdt, + xxd, + alsa-lib, + cargo, + rustPlatform, }: stdenv.mkDerivation rec { @@ -77,7 +78,10 @@ stdenv.mkDerivation rec { dontUseCmakeConfigure = true; - makeFlags = [ "DESTDIR=$(out)" "prefix=" ]; + makeFlags = [ + "DESTDIR=$(out)" + "prefix=" + ]; passthru.tests.version = testers.testVersion { package = vkdt; diff --git a/pkgs/by-name/vk/vkeybd/package.nix b/pkgs/by-name/vk/vkeybd/package.nix index 1afac1aba5583..faf940bfc0629 100644 --- a/pkgs/by-name/vk/vkeybd/package.nix +++ b/pkgs/by-name/vk/vkeybd/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchurl, alsa-lib, libX11, makeWrapper, tcl, tk }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + libX11, + makeWrapper, + tcl, + tk, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "vkeybd"; version = "0.1.18d"; @@ -10,14 +19,22 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ alsa-lib libX11 tcl tk ]; + buildInputs = [ + alsa-lib + libX11 + tcl + tk + ]; configurePhase = '' mkdir -p $out/bin sed -e "s@/usr/local@$out@" -i Makefile ''; - makeFlags = [ "TKLIB=-l${tk.libPrefix}" "TCLLIB=-l${tcl.libPrefix}" ]; + makeFlags = [ + "TKLIB=-l${tk.libPrefix}" + "TCLLIB=-l${tcl.libPrefix}" + ]; meta = with lib; { description = "Virtual MIDI keyboard"; diff --git a/pkgs/by-name/vk/vkmark/package.nix b/pkgs/by-name/vk/vkmark/package.nix index 4d5d665570cfd..f3733e2033b95 100644 --- a/pkgs/by-name/vk/vkmark/package.nix +++ b/pkgs/by-name/vk/vkmark/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, meson -, ninja -, vulkan-headers -, vulkan-loader -, mesa -, wayland-protocols -, wayland -, glm -, assimp -, libxcb -, xcbutilwm -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + meson, + ninja, + vulkan-headers, + vulkan-loader, + mesa, + wayland-protocols, + wayland, + glm, + assimp, + libxcb, + xcbutilwm, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -27,7 +28,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-X1Y2U1aJymKrv3crJLN7tvXHG2W+w0W5gB2g00y4yvc="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; buildInputs = [ vulkan-headers vulkan-loader diff --git a/pkgs/by-name/vl/vlan/package.nix b/pkgs/by-name/vl/vlan/package.nix index d93c61bda547b..f2aee7bad060d 100644 --- a/pkgs/by-name/vl/vlan/package.nix +++ b/pkgs/by-name/vl/vlan/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "vlan"; @@ -11,20 +15,18 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - preBuild = - '' - # Ouch, the tarball contains pre-compiled binaries. - make clean - ''; + preBuild = '' + # Ouch, the tarball contains pre-compiled binaries. + make clean + ''; - installPhase = - '' - mkdir -p $out/sbin - cp vconfig $out/sbin/ + installPhase = '' + mkdir -p $out/sbin + cp vconfig $out/sbin/ - mkdir -p $out/share/man/man8 - cp vconfig.8 $out/share/man/man8/ - ''; + mkdir -p $out/share/man/man8 + cp vconfig.8 $out/share/man/man8/ + ''; meta = with lib; { description = "User mode programs to enable VLANs on Ethernet devices"; diff --git a/pkgs/by-name/vl/vlang/package.nix b/pkgs/by-name/vl/vlang/package.nix index 62077a7e4f855..44cd0ab758ba0 100644 --- a/pkgs/by-name/vl/vlang/package.nix +++ b/pkgs/by-name/vl/vlang/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx, boehmgc, xorg, binaryen, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + glfw, + freetype, + openssl, + makeWrapper, + upx, + boehmgc, + xorg, + binaryen, + darwin, +}: let version = "0.4.8"; @@ -19,13 +32,15 @@ let }; # patch the ptrace reference for darwin - installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace v.c \ - --replace "#include " "${ptraceSubstitution}" - '' + '' - mkdir -p $out - cp v.c $out/ - ''; + installPhase = + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace v.c \ + --replace "#include " "${ptraceSubstitution}" + '' + + '' + mkdir -p $out + cp v.c $out/ + ''; }; # Required for vdoc. markdown = fetchFromGitHub { @@ -49,21 +64,27 @@ stdenv.mkDerivation { hash = "sha256-V4f14TcuKW8unzlo6i/tE6MzSb3HAll478OU2LxiTPQ="; }; - propagatedBuildInputs = [ glfw freetype openssl ] - ++ lib.optional stdenv.hostPlatform.isUnix upx; + propagatedBuildInputs = [ + glfw + freetype + openssl + ] ++ lib.optional stdenv.hostPlatform.isUnix upx; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ - binaryen - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libX11 - xorg.libXau - xorg.libXdmcp - xorg.xorgproto - ]; + buildInputs = + [ + binaryen + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libX11 + xorg.libXau + xorg.libXdmcp + xorg.xorgproto + ]; makeFlags = [ "local=1" @@ -102,7 +123,10 @@ stdenv.mkDerivation { homepage = "https://vlang.io/"; description = "Simple, fast, safe, compiled language for developing maintainable software"; license = licenses.mit; - maintainers = with maintainers; [ Madouura delta231 ]; + maintainers = with maintainers; [ + Madouura + delta231 + ]; mainProgram = "v"; platforms = platforms.all; }; diff --git a/pkgs/by-name/vl/vlc-bin/package.nix b/pkgs/by-name/vl/vlc-bin/package.nix index 9e496883ccb8c..6aed05b571ca3 100644 --- a/pkgs/by-name/vl/vlc-bin/package.nix +++ b/pkgs/by-name/vl/vlc-bin/package.nix @@ -1,28 +1,36 @@ -{ lib -, fetchurl -, makeWrapper -, stdenv -, undmg -, variant ? - if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) - then "arm64" - else if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) - then "intel64" - else "universal" # not reachable by normal means +{ + lib, + fetchurl, + makeWrapper, + stdenv, + undmg, + variant ? + if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) then + "arm64" + else if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) then + "intel64" + else + "universal", # not reachable by normal means }: -assert builtins.elem variant [ "arm64" "intel64" "universal" ]; +assert builtins.elem variant [ + "arm64" + "intel64" + "universal" +]; stdenv.mkDerivation (finalAttrs: { pname = "vlc-bin-${variant}"; version = "3.0.21"; src = fetchurl { url = "http://get.videolan.org/vlc/${finalAttrs.version}/macosx/vlc-${finalAttrs.version}-${variant}.dmg"; - hash = { - "arm64" = "sha256-Fd1lv2SJ2p7Gpn9VhcdMQKWJk6z/QagpWKkW3XQXgEQ="; - "intel64" = "sha256-1DH9BRw9x68CvTE8bQXZDPYEtw7T7Fu6b9TEnvPmONk="; - "universal" = "sha256-UDgOVvgdYw41MUJqJlq/iz3ubAgiu3yeMLUyx9aaZcA="; - }.${variant}; + hash = + { + "arm64" = "sha256-Fd1lv2SJ2p7Gpn9VhcdMQKWJk6z/QagpWKkW3XQXgEQ="; + "intel64" = "sha256-1DH9BRw9x68CvTE8bQXZDPYEtw7T7Fu6b9TEnvPmONk="; + "universal" = "sha256-UDgOVvgdYw41MUJqJlq/iz3ubAgiu3yeMLUyx9aaZcA="; + } + .${variant}; }; sourceRoot = "."; @@ -49,13 +57,13 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.lgpl21Plus; mainProgram = "vlc"; maintainers = with lib.maintainers; [ pcasaretto ]; - platforms = lib.systems.inspect.patternLogicalAnd - (lib.systems.inspect.patterns.isDarwin) - (({ + platforms = lib.systems.inspect.patternLogicalAnd (lib.systems.inspect.patterns.isDarwin) ( + ({ "arm64" = lib.systems.inspect.patterns.isAarch64; "intel64" = lib.systems.inspect.patterns.isx86_64; "universal" = lib.systems.inspect.patterns.isDarwin; - }).${variant}); + }).${variant} + ); sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/by-name/vl/vlc-bittorrent/package.nix b/pkgs/by-name/vl/vlc-bittorrent/package.nix index d6c0efa2c750e..40081ec71fd76 100644 --- a/pkgs/by-name/vl/vlc-bittorrent/package.nix +++ b/pkgs/by-name/vl/vlc-bittorrent/package.nix @@ -1,13 +1,14 @@ -{ lib -, autoconf-archive -, autoreconfHook -, boost -, fetchFromGitHub -, libtorrent-rasterbar -, libvlc -, openssl -, pkg-config -, stdenv +{ + lib, + autoconf-archive, + autoreconfHook, + boost, + fetchFromGitHub, + libtorrent-rasterbar, + libvlc, + openssl, + pkg-config, + stdenv, }: # VLC does not know where the vlc-bittorrent package is installed. diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 2c005cbfa4342..9654156653649 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -1,97 +1,98 @@ -{ lib -, SDL -, SDL_image -, a52dec -, alsa-lib -, autoreconfHook -, avahi -, curl -, dbus -, faad2 -, fetchpatch -, fetchurl -# Please unpin FFmpeg on the next upstream release. -, ffmpeg_6 -, flac -, fluidsynth -, freefont_ttf -, freetype -, fribidi -, genericUpdater -, gnutls -, libSM -, libXext -, libXinerama -, libXpm -, libXv -, libXvMC -, libarchive -, libass -, libbluray -, libcaca -, libcddb -, libdc1394 -, libdvbpsi -, libdvdnav -, libebml -, libgcrypt -, libgpg-error -, libjack2 -, libkate -, libmad -, libmatroska -, libmicrodns -, libmodplug -, libmtp -, liboggz -, libopus -, libplacebo_5 -, libpulseaudio -, libraw1394 -, librsvg -, libsForQt5 -, libsamplerate -, libspatialaudio -, libssh2 -, libtheora -, libtiger -, libupnp -, libv4l -, libva -, libvdpau -, libvorbis -, libxml2 -, live555 -, lua5 -, mpeg2dec -, ncurses -, perl -, pkg-config -, pkgsBuildBuild -, protobuf -, removeReferencesTo -, samba -, schroedinger -, speex -, srt -, stdenv -, systemd -, taglib -, unzip -, wayland -, wayland-protocols -, wayland-scanner -, wrapGAppsHook3 -, writeShellScript -, xcbutilkeysyms -, zlib +{ + lib, + SDL, + SDL_image, + a52dec, + alsa-lib, + autoreconfHook, + avahi, + curl, + dbus, + faad2, + fetchpatch, + fetchurl, + # Please unpin FFmpeg on the next upstream release. + ffmpeg_6, + flac, + fluidsynth, + freefont_ttf, + freetype, + fribidi, + genericUpdater, + gnutls, + libSM, + libXext, + libXinerama, + libXpm, + libXv, + libXvMC, + libarchive, + libass, + libbluray, + libcaca, + libcddb, + libdc1394, + libdvbpsi, + libdvdnav, + libebml, + libgcrypt, + libgpg-error, + libjack2, + libkate, + libmad, + libmatroska, + libmicrodns, + libmodplug, + libmtp, + liboggz, + libopus, + libplacebo_5, + libpulseaudio, + libraw1394, + librsvg, + libsForQt5, + libsamplerate, + libspatialaudio, + libssh2, + libtheora, + libtiger, + libupnp, + libv4l, + libva, + libvdpau, + libvorbis, + libxml2, + live555, + lua5, + mpeg2dec, + ncurses, + perl, + pkg-config, + pkgsBuildBuild, + protobuf, + removeReferencesTo, + samba, + schroedinger, + speex, + srt, + stdenv, + systemd, + taglib, + unzip, + wayland, + wayland-protocols, + wayland-scanner, + wrapGAppsHook3, + writeShellScript, + xcbutilkeysyms, + zlib, -, chromecastSupport ? true -, jackSupport ? false -, onlyLibVLC ? false -, skins2Support ? !onlyLibVLC -, waylandSupport ? true -, withQt5 ? true + chromecastSupport ? true, + jackSupport ? false, + onlyLibVLC ? false, + skins2Support ? !onlyLibVLC, + waylandSupport ? true, + withQt5 ? true, }: # chromecastSupport requires TCP port 8010 to be open for it to work. @@ -110,114 +111,128 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-JNu+HX367qCZTV3vC73iABdzRxNtv+Vz9bakzuJa+7A="; }; - nativeBuildInputs = [ - autoreconfHook - lua5 - perl - pkg-config - removeReferencesTo - unzip - wrapGAppsHook3 - ] - ++ optionals chromecastSupport [ protobuf ] - ++ optionals withQt5 [ libsForQt5.wrapQtAppsHook ] - ++ optionals waylandSupport [ - wayland-scanner - ]; + nativeBuildInputs = + [ + autoreconfHook + lua5 + perl + pkg-config + removeReferencesTo + unzip + wrapGAppsHook3 + ] + ++ optionals chromecastSupport [ protobuf ] + ++ optionals withQt5 [ libsForQt5.wrapQtAppsHook ] + ++ optionals waylandSupport [ + wayland-scanner + ]; # VLC uses a *ton* of libraries for various pieces of functionality, many of # which are not included here for no other reason that nobody has mentioned # needing them - buildInputs = [ - SDL - SDL_image - a52dec - alsa-lib - avahi - dbus - faad2 - ffmpeg_6 - flac - fluidsynth - fribidi - gnutls - libSM - libXpm - libXv - libXvMC - libarchive - libass - libbluray - libcaca - libcddb - libdc1394 - libdvbpsi - libdvdnav - libdvdnav.libdvdread - libebml - libgcrypt - libgpg-error - libkate - libmad - libmatroska - libmodplug - libmtp - liboggz - libopus - libplacebo_5 - libpulseaudio - libraw1394 - librsvg - libsamplerate - libspatialaudio - libssh2 - libtheora - libtiger - libupnp - libv4l - libva - libvdpau - libvorbis - libxml2 - lua5 - mpeg2dec - ncurses - samba - schroedinger - speex - srt - systemd - taglib - xcbutilkeysyms - zlib - ] - ++ optionals (!stdenv.hostPlatform.isAarch && !onlyLibVLC) [ live555 ] - ++ optionals jackSupport [ libjack2 ] - ++ optionals chromecastSupport [ libmicrodns protobuf ] - ++ optionals skins2Support [ - freetype - libXext - libXinerama - libXpm - ] - ++ optionals waylandSupport [ wayland wayland-protocols ] - ++ optionals withQt5 (with libsForQt5; [ - qtbase - qtsvg - qtx11extras - ]) - ++ optionals (waylandSupport && withQt5) [ libsForQt5.qtwayland ]; + buildInputs = + [ + SDL + SDL_image + a52dec + alsa-lib + avahi + dbus + faad2 + ffmpeg_6 + flac + fluidsynth + fribidi + gnutls + libSM + libXpm + libXv + libXvMC + libarchive + libass + libbluray + libcaca + libcddb + libdc1394 + libdvbpsi + libdvdnav + libdvdnav.libdvdread + libebml + libgcrypt + libgpg-error + libkate + libmad + libmatroska + libmodplug + libmtp + liboggz + libopus + libplacebo_5 + libpulseaudio + libraw1394 + librsvg + libsamplerate + libspatialaudio + libssh2 + libtheora + libtiger + libupnp + libv4l + libva + libvdpau + libvorbis + libxml2 + lua5 + mpeg2dec + ncurses + samba + schroedinger + speex + srt + systemd + taglib + xcbutilkeysyms + zlib + ] + ++ optionals (!stdenv.hostPlatform.isAarch && !onlyLibVLC) [ live555 ] + ++ optionals jackSupport [ libjack2 ] + ++ optionals chromecastSupport [ + libmicrodns + protobuf + ] + ++ optionals skins2Support [ + freetype + libXext + libXinerama + libXpm + ] + ++ optionals waylandSupport [ + wayland + wayland-protocols + ] + ++ optionals withQt5 ( + with libsForQt5; + [ + qtbase + qtsvg + qtx11extras + ] + ) + ++ optionals (waylandSupport && withQt5) [ libsForQt5.qtwayland ]; - env = { - # vlc depends on a c11-gcc wrapper script which we don't have so we need to - # set the path to the compiler - BUILDCC = "${pkgsBuildBuild.stdenv.cc}/bin/gcc"; - PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER = "wayland-scanner"; - } // lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; - } // lib.optionalAttrs (!stdenv.hostPlatform.isAarch) { - LIVE555_PREFIX = live555; - }; + env = + { + # vlc depends on a c11-gcc wrapper script which we don't have so we need to + # set the path to the compiler + BUILDCC = "${pkgsBuildBuild.stdenv.cc}/bin/gcc"; + PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER = "wayland-scanner"; + } + // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + } + // lib.optionalAttrs (!stdenv.hostPlatform.isAarch) { + LIVE555_PREFIX = live555; + }; patches = [ # patch to build with recent live555 @@ -228,19 +243,20 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - postPatch = '' - substituteInPlace modules/text_renderer/freetype/platform_fonts.h \ - --replace \ - /usr/share/fonts/truetype/freefont \ - ${freefont_ttf}/share/fonts/truetype - '' - # Upstream luac can't cross compile, so we have to install the lua sources - # instead of bytecode: - # https://www.lua.org/wshop13/Jericke.pdf#page=39 - + lib.optionalString (!stdenv.hostPlatform.canExecute stdenv.buildPlatform) '' + postPatch = + '' + substituteInPlace modules/text_renderer/freetype/platform_fonts.h \ + --replace \ + /usr/share/fonts/truetype/freefont \ + ${freefont_ttf}/share/fonts/truetype + '' + # Upstream luac can't cross compile, so we have to install the lua sources + # instead of bytecode: + # https://www.lua.org/wshop13/Jericke.pdf#page=39 + + lib.optionalString (!stdenv.hostPlatform.canExecute stdenv.buildPlatform) '' substituteInPlace share/Makefile.am \ --replace $'.luac \\\n' $'.lua \\\n' - ''; + ''; enableParallelBuilding = true; @@ -248,18 +264,19 @@ stdenv.mkDerivation (finalAttrs: { # Most of the libraries are auto-detected so we don't need to set a bunch of # "--enable-foo" flags here - configureFlags = [ - "--enable-srt" # Explicit enable srt to ensure the patch is applied. - "--with-kde-solid=$out/share/apps/solid/actions" - ] - ++ optionals onlyLibVLC [ "--disable-vlc" ] - ++ optionals skins2Support [ "--enable-skins2" ] - ++ optionals waylandSupport [ "--enable-wayland" ] - ++ optionals chromecastSupport [ - "--enable-sout" - "--enable-chromecast" - "--enable-microdns" - ]; + configureFlags = + [ + "--enable-srt" # Explicit enable srt to ensure the patch is applied. + "--with-kde-solid=$out/share/apps/solid/actions" + ] + ++ optionals onlyLibVLC [ "--disable-vlc" ] + ++ optionals skins2Support [ "--enable-skins2" ] + ++ optionals waylandSupport [ "--enable-wayland" ] + ++ optionals chromecastSupport [ + "--enable-sout" + "--enable-chromecast" + "--enable-microdns" + ]; # Remove runtime dependencies on libraries postConfigure = '' @@ -288,12 +305,16 @@ stdenv.mkDerivation (finalAttrs: { # pkgsBuildBuild is used here because buildPackages.libvlc somehow # depends on a qt5.qttranslations that doesn't build, even though it # should be the same as pkgsBuildBuild.qt5.qttranslations. - postFixup = '' - find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';' - ${if stdenv.buildPlatform.canExecute stdenv.hostPlatform then "$out" else pkgsBuildBuild.libvlc}/lib/vlc/vlc-cache-gen $out/vlc/plugins - '' + optionalString withQt5 '' - remove-references-to -t "${libsForQt5.qtbase.dev}" $out/lib/vlc/plugins/gui/libqt_plugin.so - ''; + postFixup = + '' + find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';' + ${ + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then "$out" else pkgsBuildBuild.libvlc + }/lib/vlc/vlc-cache-gen $out/vlc/plugins + '' + + optionalString withQt5 '' + remove-references-to -t "${libsForQt5.qtbase.dev}" $out/lib/vlc/plugins/gui/libqt_plugin.so + ''; passthru.updateScript = genericUpdater { versionLister = writeShellScript "vlc-versionLister" '' diff --git a/pkgs/by-name/vl/vlock/package.nix b/pkgs/by-name/vl/vlock/package.nix index 4596f707f344e..a0d13df609a3c 100644 --- a/pkgs/by-name/vl/vlock/package.nix +++ b/pkgs/by-name/vl/vlock/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pam }: +{ + lib, + stdenv, + fetchurl, + pam, +}: stdenv.mkDerivation rec { pname = "vlock"; @@ -17,7 +22,10 @@ stdenv.mkDerivation rec { patches = [ ./eintr.patch ]; - configureFlags = [ "VLOCK_GROUP=root" "ROOT_GROUP=root" ]; + configureFlags = [ + "VLOCK_GROUP=root" + "ROOT_GROUP=root" + ]; buildInputs = [ pam ]; diff --git a/pkgs/by-name/vm/vmfs-tools/package.nix b/pkgs/by-name/vm/vmfs-tools/package.nix index e9dafd11b8881..9a0507089d02e 100644 --- a/pkgs/by-name/vm/vmfs-tools/package.nix +++ b/pkgs/by-name/vm/vmfs-tools/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, asciidoc -, docbook_xsl -, fuse -, libuuid -, libxslt +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + asciidoc, + docbook_xsl, + fuse, + libuuid, + libxslt, }: stdenv.mkDerivation rec { @@ -19,9 +21,17 @@ stdenv.mkDerivation rec { sha256 = "14y412ww5hxk336ils62s3fwykfh6mx1j0iiaa5cwc615pi6qvi4"; }; - nativeBuildInputs = [ asciidoc docbook_xsl libxslt pkg-config ]; + nativeBuildInputs = [ + asciidoc + docbook_xsl + libxslt + pkg-config + ]; - buildInputs = [ fuse libuuid ]; + buildInputs = [ + fuse + libuuid + ]; enableParallelBuilding = true; diff --git a/pkgs/by-name/vm/vmime/package.nix b/pkgs/by-name/vm/vmime/package.nix index 909a9fcbab3b4..b67aed419d5c2 100644 --- a/pkgs/by-name/vm/vmime/package.nix +++ b/pkgs/by-name/vm/vmime/package.nix @@ -1,7 +1,17 @@ -{lib, stdenv, fetchFromGitHub -, gsasl, gnutls, pkg-config, cmake, zlib, libtasn1, libgcrypt, gtk3 -# this will not work on non-nixos systems -, sendmailPath ? "/run/wrappers/bin/sendmail" +{ + lib, + stdenv, + fetchFromGitHub, + gsasl, + gnutls, + pkg-config, + cmake, + zlib, + libtasn1, + libgcrypt, + gtk3, + # this will not work on non-nixos systems + sendmailPath ? "/run/wrappers/bin/sendmail", }: stdenv.mkDerivation rec { @@ -16,8 +26,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-DUcGQcT7hp5Rs2Z5C8wo+3BYwWqED0KrF3h3vgLiiow="; }; - buildInputs = [ gsasl gnutls zlib libtasn1 libgcrypt gtk3 ]; - nativeBuildInputs = [ pkg-config cmake ]; + buildInputs = [ + gsasl + gnutls + zlib + libtasn1 + libgcrypt + gtk3 + ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; cmakeFlags = [ "-DVMIME_SENDMAIL_PATH=${sendmailPath}" diff --git a/pkgs/by-name/vm/vms-empire/package.nix b/pkgs/by-name/vm/vms-empire/package.nix index a1d565b18a037..d0d8bc5e47e76 100644 --- a/pkgs/by-name/vm/vms-empire/package.nix +++ b/pkgs/by-name/vm/vms-empire/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, xmlto -, docbook_xml_dtd_44 -, docbook_xsl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + ncurses, + xmlto, + docbook_xml_dtd_44, + docbook_xsl, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { pname = "vms-empire"; version = "1.18"; - src = fetchurl{ + src = fetchurl { url = "http://www.catb.org/~esr/vms-empire/vms-empire-${finalAttrs.version}.tar.gz"; hash = "sha256-JWCmrGS4jClSi6MCcGNiq8zUH+92fiqMtk58B+wMKQk="; }; diff --git a/pkgs/by-name/vm/vmtouch/package.nix b/pkgs/by-name/vm/vmtouch/package.nix index 120012019a72a..a49750e59ffd2 100644 --- a/pkgs/by-name/vm/vmtouch/package.nix +++ b/pkgs/by-name/vm/vmtouch/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, perl}: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "vmtouch"; @@ -11,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "08da6apzfkfjwasn4dxrlfxqfx7arl28apdzac5nvm0fhvws0dxk"; }; - buildInputs = [perl]; + buildInputs = [ perl ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/vn/vncrec/package.nix b/pkgs/by-name/vn/vncrec/package.nix index 983bf16e100d8..8b20aeb546d91 100644 --- a/pkgs/by-name/vn/vncrec/package.nix +++ b/pkgs/by-name/vn/vncrec/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, libX11, xorgproto, imake, gccmakedep, libXt, libXmu -, libXaw, libXext, libSM, libICE, libXpm, libXp +{ + lib, + stdenv, + fetchurl, + libX11, + xorgproto, + imake, + gccmakedep, + libXt, + libXmu, + libXaw, + libXext, + libSM, + libICE, + libXpm, + libXp, }: stdenv.mkDerivation { @@ -13,17 +27,31 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - nativeBuildInputs = [ imake gccmakedep ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; buildInputs = [ - libX11 xorgproto libXt libXmu libXaw - libXext libSM libICE libXpm libXp + libX11 + xorgproto + libXt + libXmu + libXaw + libXext + libSM + libICE + libXpm + libXp ]; makeFlags = [ "BINDIR=${placeholder "out"}/bin" "MANDIR=${placeholder "out"}/share/man" ]; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; meta = { description = "VNC recorder"; diff --git a/pkgs/by-name/vn/vndr/package.nix b/pkgs/by-name/vn/vndr/package.nix index 9e8f57b4e6eff..1633baf9f2912 100644 --- a/pkgs/by-name/vn/vndr/package.nix +++ b/pkgs/by-name/vn/vndr/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule { @@ -27,7 +28,10 @@ buildGoModule { description = "Stupid golang vendoring tool, inspired by docker vendor script"; mainProgram = "vndr"; homepage = "https://github.com/LK4D4/vndr"; - maintainers = with lib.maintainers; [ vdemeester rvolosatovs ]; + maintainers = with lib.maintainers; [ + vdemeester + rvolosatovs + ]; license = lib.licenses.asl20; }; } diff --git a/pkgs/by-name/vn/vnote/package.nix b/pkgs/by-name/vn/vnote/package.nix index 7808c02dba34f..7b96dc26e94f0 100644 --- a/pkgs/by-name/vn/vnote/package.nix +++ b/pkgs/by-name/vn/vnote/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qt6 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt6, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/vn/vnstat/package.nix b/pkgs/by-name/vn/vnstat/package.nix index 828a2514c7666..77635f2fd991f 100644 --- a/pkgs/by-name/vn/vnstat/package.nix +++ b/pkgs/by-name/vn/vnstat/package.nix @@ -1,9 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, gd, ncurses -, sqlite -, check +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gd, + ncurses, + sqlite, + check, }: stdenv.mkDerivation rec { @@ -22,7 +25,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gd ncurses sqlite ]; + buildInputs = [ + gd + ncurses + sqlite + ]; nativeCheckInputs = [ check ]; diff --git a/pkgs/by-name/vo/vo-aacenc/package.nix b/pkgs/by-name/vo/vo-aacenc/package.nix index fb8dd43fe0324..62560180785f9 100644 --- a/pkgs/by-name/vo/vo-aacenc/package.nix +++ b/pkgs/by-name/vo/vo-aacenc/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "vo-aacenc"; @@ -11,9 +15,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "VisualOn AAC encoder library"; - homepage = "https://sourceforge.net/projects/opencore-amr/"; - license = licenses.asl20; + homepage = "https://sourceforge.net/projects/opencore-amr/"; + license = licenses.asl20; maintainers = [ maintainers.baloo ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/by-name/vo/vo-amrwbenc/package.nix b/pkgs/by-name/vo/vo-amrwbenc/package.nix index e07b8cb7688dc..4fcf5c2b1fe3f 100644 --- a/pkgs/by-name/vo/vo-amrwbenc/package.nix +++ b/pkgs/by-name/vo/vo-amrwbenc/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { pname = "vo-amrwbenc"; version = "0.1.3"; diff --git a/pkgs/by-name/vo/vobcopy/package.nix b/pkgs/by-name/vo/vobcopy/package.nix index 4b74ffbc8ad29..3ad1ccb30de24 100644 --- a/pkgs/by-name/vo/vobcopy/package.nix +++ b/pkgs/by-name/vo/vobcopy/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libdvdread, libdvdcss }: +{ + lib, + stdenv, + fetchurl, + libdvdread, + libdvdcss, +}: stdenv.mkDerivation rec { pname = "vobcopy"; @@ -9,8 +15,14 @@ stdenv.mkDerivation rec { sha256 = "01l1yihbd73srzghzzx5dgfg3yfb5kml5dix52mq0snhjp8h89c9"; }; - buildInputs = [libdvdread libdvdcss]; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + buildInputs = [ + libdvdread + libdvdcss + ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=/" + ]; meta = { description = "Copies DVD .vob files to harddisk, decrypting them on the way"; diff --git a/pkgs/by-name/vo/vobsub2srt/package.nix b/pkgs/by-name/vo/vobsub2srt/package.nix index 2847c68899fed..3fdd398bd5fe9 100644 --- a/pkgs/by-name/vo/vobsub2srt/package.nix +++ b/pkgs/by-name/vo/vobsub2srt/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libtiff, pkg-config, tesseract3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libtiff, + pkg-config, + tesseract3, +}: stdenv.mkDerivation rec { pname = "vobsub2srt"; @@ -13,7 +21,10 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [ "-std=c++11" ]); - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libtiff ]; propagatedBuildInputs = [ tesseract3 ]; diff --git a/pkgs/by-name/vo/vocal/package.nix b/pkgs/by-name/vo/vocal/package.nix index 7633ab22e26a7..dd43e0263909c 100644 --- a/pkgs/by-name/vo/vocal/package.nix +++ b/pkgs/by-name/vo/vocal/package.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, nix-update-script -, cmake -, ninja -, vala -, pkg-config -, pantheon -, gtk3 -, glib -, glib-networking -, libxml2 -, webkitgtk_4_0 -, clutter-gtk -, clutter-gst -, libunity -, libnotify -, sqlite -, gst_all_1 -, json-glib -, libgee -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + nix-update-script, + cmake, + ninja, + vala, + pkg-config, + pantheon, + gtk3, + glib, + glib-networking, + libxml2, + webkitgtk_4_0, + clutter-gtk, + clutter-gst, + libunity, + libnotify, + sqlite, + gst_all_1, + json-glib, + libgee, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/vo/vocproc/package.nix b/pkgs/by-name/vo/vocproc/package.nix index e7dd5cc8716ca..2bc9e4db4f12c 100644 --- a/pkgs/by-name/vo/vocproc/package.nix +++ b/pkgs/by-name/vo/vocproc/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchzip, pkg-config, lv2, fftw, lv2-cpp-tools, gtkmm2 }: +{ + lib, + stdenv, + fetchzip, + pkg-config, + lv2, + fftw, + lv2-cpp-tools, + gtkmm2, +}: stdenv.mkDerivation rec { pname = "vocproc"; @@ -11,7 +20,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lv2 fftw lv2-cpp-tools gtkmm2 ]; + buildInputs = [ + lv2 + fftw + lv2-cpp-tools + gtkmm2 + ]; makeFlags = [ "INSTALL_DIR=$(out)/lib/lv2" diff --git a/pkgs/by-name/vo/void/package.nix b/pkgs/by-name/vo/void/package.nix index 8ead979eed804..9f45138b2d29f 100644 --- a/pkgs/by-name/vo/void/package.nix +++ b/pkgs/by-name/vo/void/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "void"; diff --git a/pkgs/by-name/vo/voidmap/package.nix b/pkgs/by-name/vo/voidmap/package.nix index e3f538220dd12..f55a2ddf8811e 100644 --- a/pkgs/by-name/vo/voidmap/package.nix +++ b/pkgs/by-name/vo/voidmap/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "voidmap"; diff --git a/pkgs/by-name/vo/volantes-cursors/package.nix b/pkgs/by-name/vo/volantes-cursors/package.nix index d76a0eda4cf09..026d4bf3ae935 100644 --- a/pkgs/by-name/vo/volantes-cursors/package.nix +++ b/pkgs/by-name/vo/volantes-cursors/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, inkscape -, xcursorgen +{ + lib, + stdenv, + fetchFromGitHub, + inkscape, + xcursorgen, }: stdenv.mkDerivation { pname = "volantes-cursors"; @@ -16,11 +17,17 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ inkscape xcursorgen ]; + nativeBuildInputs = [ + inkscape + xcursorgen + ]; makeTargets = [ "build" ]; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = with lib; { homepage = "https://www.pling.com/p/1356095/"; diff --git a/pkgs/by-name/vo/volatility3/package.nix b/pkgs/by-name/vo/volatility3/package.nix index 1a65ba132af5c..c2a067334a619 100644 --- a/pkgs/by-name/vo/volatility3/package.nix +++ b/pkgs/by-name/vo/volatility3/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/vo/volctl/package.nix b/pkgs/by-name/vo/volctl/package.nix index b5df120aad35a..9be2580032c4b 100644 --- a/pkgs/by-name/vo/volctl/package.nix +++ b/pkgs/by-name/vo/volctl/package.nix @@ -1,4 +1,15 @@ -{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook3, gobject-introspection, libpulseaudio, glib, gtk3, pango, xorg }: +{ + lib, + python3Packages, + fetchFromGitHub, + wrapGAppsHook3, + gobject-introspection, + libpulseaudio, + glib, + gtk3, + pango, + xorg, +}: python3Packages.buildPythonApplication rec { pname = "volctl"; @@ -26,13 +37,18 @@ python3Packages.buildPythonApplication rec { wrapGAppsHook3 ]; - propagatedBuildInputs = [ pango gtk3 ] ++ (with python3Packages; [ - pulsectl - click - pycairo - pygobject3 - pyyaml - ]); + propagatedBuildInputs = + [ + pango + gtk3 + ] + ++ (with python3Packages; [ + pulsectl + click + pycairo + pygobject3 + pyyaml + ]); # with strictDeps importing "gi.repository.Gtk" fails with "gi.RepositoryError: Typelib file for namespace 'Pango', version '1.0' not found" strictDeps = false; diff --git a/pkgs/by-name/vo/vollkorn/package.nix b/pkgs/by-name/vo/vollkorn/package.nix index 466d16b086a42..d0c780d687bad 100644 --- a/pkgs/by-name/vo/vollkorn/package.nix +++ b/pkgs/by-name/vo/vollkorn/package.nix @@ -1,11 +1,17 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "vollkorn"; version = "4.105"; src = fetchzip { - url = "http://vollkorn-typeface.com/download/vollkorn-${builtins.replaceStrings ["."] ["-"] version}.zip"; + url = "http://vollkorn-typeface.com/download/vollkorn-${ + builtins.replaceStrings [ "." ] [ "-" ] version + }.zip"; stripRoot = false; hash = "sha256-oG79GgCwCavbMFAPakza08IPmt13Gwujrkc/NKTai7g="; }; diff --git a/pkgs/by-name/vo/volta/package.nix b/pkgs/by-name/vo/volta/package.nix index c49145e0a9d62..fd9b22836f554 100644 --- a/pkgs/by-name/vo/volta/package.nix +++ b/pkgs/by-name/vo/volta/package.nix @@ -27,8 +27,12 @@ rustPlatform.buildRustPackage rec { }; }; - buildInputs = [ installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security libiconv ]; + buildInputs = + [ installShellFiles ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + libiconv + ]; HOME = "$TMPDIR"; diff --git a/pkgs/by-name/vo/volume_key/package.nix b/pkgs/by-name/vo/volume_key/package.nix index 931eaf1d67489..b798445a71ba8 100644 --- a/pkgs/by-name/vo/volume_key/package.nix +++ b/pkgs/by-name/vo/volume_key/package.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, gettext, python3 -, ncurses, swig, glib, util-linux, cryptsetup, nss, gpgme -, buildPackages +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + gettext, + python3, + ncurses, + swig, + glib, + util-linux, + cryptsetup, + nss, + gpgme, + buildPackages, }: stdenv.mkDerivation rec { @@ -13,13 +26,30 @@ stdenv.mkDerivation rec { sha256 = "1sqdbcih1c39bjiv4mm1m7acc3lfh2i2hf2r9i7rk8adfzq8awma"; }; - outputs = [ "out" "man" "dev" "py" ]; + outputs = [ + "out" + "man" + "dev" + "py" + ]; strictDeps = true; - nativeBuildInputs = [ autoreconfHook gettext gpgme pkg-config swig ]; + nativeBuildInputs = [ + autoreconfHook + gettext + gpgme + pkg-config + swig + ]; - buildInputs = [ glib cryptsetup nss util-linux ncurses ]; + buildInputs = [ + glib + cryptsetup + nss + util-linux + ncurses + ]; configureFlags = [ "--with-gpgme-prefix=${gpgme.dev}" diff --git a/pkgs/by-name/vo/volumeicon/package.nix b/pkgs/by-name/vo/volumeicon/package.nix index 7157ad437d131..78df43f50add4 100644 --- a/pkgs/by-name/vo/volumeicon/package.nix +++ b/pkgs/by-name/vo/volumeicon/package.nix @@ -1,6 +1,12 @@ -{ fetchFromGitHub, lib, stdenv -, autoreconfHook, intltool, pkg-config -, gtk3, alsa-lib +{ + fetchFromGitHub, + lib, + stdenv, + autoreconfHook, + intltool, + pkg-config, + gtk3, + alsa-lib, }: stdenv.mkDerivation rec { @@ -34,4 +40,3 @@ stdenv.mkDerivation rec { mainProgram = "volumeicon"; }; } - diff --git a/pkgs/by-name/vo/vopono/package.nix b/pkgs/by-name/vo/vopono/package.nix index 9e62a465bb695..85070ac840cd3 100644 --- a/pkgs/by-name/vo/vopono/package.nix +++ b/pkgs/by-name/vo/vopono/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchCrate -, rustPlatform +{ + lib, + fetchCrate, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/vo/vorbisgain/package.nix b/pkgs/by-name/vo/vorbisgain/package.nix index 80307144fd9ad..ca7b62c7715b3 100644 --- a/pkgs/by-name/vo/vorbisgain/package.nix +++ b/pkgs/by-name/vo/vorbisgain/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libogg, libvorbis }: +{ + lib, + stdenv, + fetchurl, + libogg, + libvorbis, +}: stdenv.mkDerivation rec { pname = "vorbisgain"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - buildInputs = [ libogg libvorbis ]; + buildInputs = [ + libogg + libvorbis + ]; patchPhase = '' chmod -v +x configure diff --git a/pkgs/by-name/vo/vouch-proxy/package.nix b/pkgs/by-name/vo/vouch-proxy/package.nix index bae680cf78bc4..2784cad083798 100644 --- a/pkgs/by-name/vo/vouch-proxy/package.nix +++ b/pkgs/by-name/vo/vouch-proxy/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -31,7 +32,10 @@ buildGoModule rec { description = "SSO and OAuth / OIDC login solution for NGINX using the auth_request module"; changelog = "https://github.com/vouch/vouch-proxy/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ leona erictapen ]; + maintainers = with maintainers; [ + leona + erictapen + ]; platforms = platforms.linux; mainProgram = "vouch-proxy"; }; diff --git a/pkgs/by-name/vo/vowpal-wabbit/package.nix b/pkgs/by-name/vo/vowpal-wabbit/package.nix index ed0c6bf679d90..dec53f1606100 100644 --- a/pkgs/by-name/vo/vowpal-wabbit/package.nix +++ b/pkgs/by-name/vo/vowpal-wabbit/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, eigen, rapidjson, spdlog, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + eigen, + rapidjson, + spdlog, + zlib, +}: stdenv.mkDerivation rec { pname = "vowpal-wabbit"; diff --git a/pkgs/by-name/vp/vp/package.nix b/pkgs/by-name/vp/vp/package.nix index 0420ed79f9a19..de8a7334dc2a6 100644 --- a/pkgs/by-name/vp/vp/package.nix +++ b/pkgs/by-name/vp/vp/package.nix @@ -28,7 +28,10 @@ stdenv.mkDerivation (finalAttrs: { SDL_image ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; @@ -40,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://github.com/erikg/vp"; description = "SDL based picture viewer/slideshow"; - license = lib.licenses.gpl3Plus; + license = lib.licenses.gpl3Plus; mainProgram = "vp"; maintainers = with lib.maintainers; [ AndersonTorres ]; inherit (SDL.meta) platforms; diff --git a/pkgs/by-name/vp/vpnc-scripts/package.nix b/pkgs/by-name/vp/vpnc-scripts/package.nix index 9a757c73cf55e..4ff2b6d355e24 100644 --- a/pkgs/by-name/vp/vpnc-scripts/package.nix +++ b/pkgs/by-name/vp/vpnc-scripts/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchgit -, coreutils -, gawk -, gnugrep -, iproute2 -, makeWrapper -, nettools -, openresolv -, systemd +{ + lib, + stdenv, + fetchgit, + coreutils, + gawk, + gnugrep, + iproute2, + makeWrapper, + nettools, + openresolv, + systemd, }: stdenv.mkDerivation { @@ -28,17 +29,33 @@ stdenv.mkDerivation { cp vpnc-script $out/bin ''; - preFixup = '' - substituteInPlace $out/bin/vpnc-script \ - --replace "which" "type -P" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace $out/bin/vpnc-script \ - --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf" \ - --replace "/usr/bin/resolvectl" "${systemd}/bin/resolvectl" - '' + '' - wrapProgram $out/bin/vpnc-script \ - --prefix PATH : "${lib.makeBinPath ([ nettools gawk coreutils gnugrep ] ++ lib.optionals stdenv.hostPlatform.isLinux [ openresolv iproute2 ])}" - ''; + preFixup = + '' + substituteInPlace $out/bin/vpnc-script \ + --replace "which" "type -P" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace $out/bin/vpnc-script \ + --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf" \ + --replace "/usr/bin/resolvectl" "${systemd}/bin/resolvectl" + '' + + '' + wrapProgram $out/bin/vpnc-script \ + --prefix PATH : "${ + lib.makeBinPath ( + [ + nettools + gawk + coreutils + gnugrep + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + openresolv + iproute2 + ] + ) + }" + ''; meta = with lib; { homepage = "https://www.infradead.org/openconnect/"; diff --git a/pkgs/by-name/vp/vpnc/package.nix b/pkgs/by-name/vp/vpnc/package.nix index 7a8a6c2b9c5d9..3ffd36234aeba 100644 --- a/pkgs/by-name/vp/vpnc/package.nix +++ b/pkgs/by-name/vp/vpnc/package.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchFromGitHub -, makeWrapper, pkg-config, perl -, gnutls, libgcrypt, vpnc-scripts -, opensslSupport ? false, openssl # Distributing this is a GPL violation. +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + pkg-config, + perl, + gnutls, + libgcrypt, + vpnc-scripts, + opensslSupport ? false, + openssl, # Distributing this is a GPL violation. }: stdenv.mkDerivation { @@ -16,10 +24,11 @@ stdenv.mkDerivation { fetchSubmodules = true; }; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optional (!opensslSupport) pkg-config; - buildInputs = [ libgcrypt perl ] - ++ (if opensslSupport then [ openssl ] else [ gnutls ]); + nativeBuildInputs = [ makeWrapper ] ++ lib.optional (!opensslSupport) pkg-config; + buildInputs = [ + libgcrypt + perl + ] ++ (if opensslSupport then [ openssl ] else [ gnutls ]); makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/by-name/vp/vpsfree-client/gemset.nix b/pkgs/by-name/vp/vpsfree-client/gemset.nix index e19de26f92280..6d48890408481 100644 --- a/pkgs/by-name/vp/vpsfree-client/gemset.nix +++ b/pkgs/by-name/vp/vpsfree-client/gemset.nix @@ -1,290 +1,317 @@ { activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "094cv9kxa8hwlsw3c0njkvvayd0wszcz9b6xywv4yajrg83zlmvm"; type = "gem"; }; version = "7.2.1"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; curses = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15pj04v9m06lj7xcq5xjk6b0nqfpq3kiaisjmh2pysmi6nvsg9ly"; type = "gem"; }; version = "1.4.6"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; haveapi-client = { - dependencies = ["activesupport" "highline" "json" "require_all" "rest-client" "ruby-progressbar"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "highline" + "json" + "require_all" + "rest-client" + "ruby-progressbar" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a6k0milq4rfybf1pc8gzikpr18dmnzpz1wi2avzdkp0dpqkvaw3"; type = "gem"; }; version = "0.23.7"; }; highline = { - dependencies = ["reline"]; - groups = ["default"]; - platforms = []; + dependencies = [ "reline" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q0f7izfi542sp93gl276spm0xyws1kpqxm0alrwwmz06mz4i0ks"; type = "gem"; }; version = "3.1.1"; }; http-accept = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6"; type = "gem"; }; version = "1.7.0"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lr2yk5g5vvf9nzlmkn3p7mhh9mn55gpdc7kl2w21xs46fgkjynb"; type = "gem"; }; version = "1.0.7"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; io-console = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; version = "0.7.2"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; version = "2.7.2"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1"; type = "gem"; }; version = "3.5.2"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d5bmxcq87nj6h5rx6b1fkdzq8256yba97s2vlkszpwhc47m9rfs"; type = "gem"; }; version = "3.2024.0903"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; netrc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; type = "gem"; }; version = "0.11.0"; }; reline = { - dependencies = ["io-console"]; - groups = ["default"]; - platforms = []; + dependencies = [ "io-console" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rl1jmxs7pay58l7lkxkrn6nkdpk52k8rvnfwqsd1swjlxlwjq0n"; type = "gem"; }; version = "0.5.10"; }; require_all = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sjf2vigdg4wq7z0xlw14zyhcz4992s05wgr2s58kjgin12bkmv8"; type = "gem"; }; version = "2.0.0"; }; rest-client = { - dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "http-accept" + "http-cookie" + "mime-types" + "netrc" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im"; type = "gem"; }; version = "2.1.0"; }; ruby-progressbar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; securerandom = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q"; type = "gem"; }; version = "0.3.1"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; vpsadmin-client = { - dependencies = ["curses" "haveapi-client" "json"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "curses" + "haveapi-client" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qy0l0gyhsyz9hdbqdb324l4zlgs78hml1cnp3gx1jl5ndj62znc"; type = "gem"; }; version = "4.0.0"; }; vpsfree-client = { - dependencies = ["vpsadmin-client"]; - groups = ["default"]; - platforms = []; + dependencies = [ "vpsadmin-client" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl6r20r7hksd3g6sjqrgi9x21ykbvv170vszf2l06a8ifrrqlk7"; type = "gem"; }; diff --git a/pkgs/by-name/vp/vpsfree-client/package.nix b/pkgs/by-name/vp/vpsfree-client/package.nix index cffdc267e53c1..65da8d4c03184 100644 --- a/pkgs/by-name/vp/vpsfree-client/package.nix +++ b/pkgs/by-name/vp/vpsfree-client/package.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "vpsfree-client"; @@ -10,7 +14,10 @@ bundlerApp { meta = with lib; { description = "Ruby API and CLI for the vpsFree.cz API"; homepage = "https://github.com/vpsfreecz/vpsfree-client"; - maintainers = with maintainers; [ aither64 zimbatm ]; + maintainers = with maintainers; [ + aither64 + zimbatm + ]; license = licenses.gpl3; platforms = platforms.unix; mainProgram = "vpsfreectl"; diff --git a/pkgs/by-name/vp/vpv/package.nix b/pkgs/by-name/vp/vpv/package.nix index 7f80ff24a3ce1..89631f60af51a 100644 --- a/pkgs/by-name/vp/vpv/package.nix +++ b/pkgs/by-name/vp/vpv/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libpng -, libtiff -, libjpeg -, SDL2 -, gdal -, octave -, rustPlatform -, cargo +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libpng, + libtiff, + libjpeg, + SDL2, + gdal, + octave, + rustPlatform, + cargo, }: stdenv.mkDerivation (finalAttrs: { pname = "vpv"; diff --git a/pkgs/by-name/vr/vrb/package.nix b/pkgs/by-name/vr/vrb/package.nix index f6ab54dba0304..4f24c8cd9d258 100644 --- a/pkgs/by-name/vr/vrb/package.nix +++ b/pkgs/by-name/vr/vrb/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "vrb"; @@ -26,10 +30,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Virtual ring buffer library written in C"; mainProgram = "vbuf"; - license = licenses.lgpl21; - homepage = "http://vrb.sourceforge.net/"; + license = licenses.lgpl21; + homepage = "http://vrb.sourceforge.net/"; maintainers = [ maintainers.bobvanderlinden ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } - diff --git a/pkgs/by-name/vr/vrpn/package.nix b/pkgs/by-name/vr/vrpn/package.nix index 3272a4bbd1470..6351f7d1ae6e7 100644 --- a/pkgs/by-name/vr/vrpn/package.nix +++ b/pkgs/by-name/vr/vrpn/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, unzip -, cmake -, darwin -, libGLU -, libGL +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + cmake, + darwin, + libGLU, + libGL, }: stdenv.mkDerivation rec { @@ -24,15 +25,17 @@ stdenv.mkDerivation rec { unzip ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.GLUT - darwin.apple_sdk.frameworks.IOKit - darwin.apple_sdk.frameworks.OpenGL - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libGLU - libGL - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.GLUT + darwin.apple_sdk.frameworks.IOKit + darwin.apple_sdk.frameworks.OpenGL + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libGL + ]; meta = with lib; { description = "Virtual Reality Peripheral Network"; diff --git a/pkgs/by-name/vr/vrrtest/package.nix b/pkgs/by-name/vr/vrrtest/package.nix index 7a8e93a4f373d..c1ee21a55e7ec 100644 --- a/pkgs/by-name/vr/vrrtest/package.nix +++ b/pkgs/by-name/vr/vrrtest/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, zip -, love +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + zip, + love, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/vs/vsc-leetcode-cli/package.nix b/pkgs/by-name/vs/vsc-leetcode-cli/package.nix index 6cc544a4361eb..8427013f45b22 100644 --- a/pkgs/by-name/vs/vsc-leetcode-cli/package.nix +++ b/pkgs/by-name/vs/vsc-leetcode-cli/package.nix @@ -1,6 +1,7 @@ -{ buildNpmPackage -, fetchFromGitHub -, lib +{ + buildNpmPackage, + fetchFromGitHub, + lib, }: buildNpmPackage { diff --git a/pkgs/by-name/vs/vsce/package.nix b/pkgs/by-name/vs/vsce/package.nix index 1ecf3d9204d60..920213bc3c7aa 100644 --- a/pkgs/by-name/vs/vsce/package.nix +++ b/pkgs/by-name/vs/vsce/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, buildNpmPackage -, fetchFromGitHub -, pkg-config -, libsecret -, darwin -, python3 -, testers -, vsce +{ + lib, + stdenv, + buildNpmPackage, + fetchFromGitHub, + pkg-config, + libsecret, + darwin, + python3, + testers, + vsce, }: buildNpmPackage rec { @@ -27,10 +28,20 @@ buildNpmPackage rec { substituteInPlace package.json --replace '"version": "0.0.0"' '"version": "${version}"' ''; - nativeBuildInputs = [ pkg-config python3 ]; - - buildInputs = [ libsecret ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Security ]); + nativeBuildInputs = [ + pkg-config + python3 + ]; + + buildInputs = + [ libsecret ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + AppKit + Security + ] + ); makeCacheWritable = true; npmFlags = [ "--legacy-peer-deps" ]; diff --git a/pkgs/by-name/vs/vscode-js-debug/package.nix b/pkgs/by-name/vs/vscode-js-debug/package.nix index 25b2ed8ecb796..9434ae1e361e2 100644 --- a/pkgs/by-name/vs/vscode-js-debug/package.nix +++ b/pkgs/by-name/vs/vscode-js-debug/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, buildNpmPackage -, fetchFromGitHub -, buildPackages -, libsecret -, xcbuild -, Security -, AppKit -, pkg-config -, node-gyp -, runCommand -, vscode-js-debug -, nix-update-script +{ + lib, + stdenv, + buildNpmPackage, + fetchFromGitHub, + buildPackages, + libsecret, + xcbuild, + Security, + AppKit, + pkg-config, + node-gyp, + runCommand, + vscode-js-debug, + nix-update-script, }: buildNpmPackage rec { @@ -56,24 +57,29 @@ buildNpmPackage rec { ''; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "v((?!\d{4}\.\d\.\d{3}).*)" ]; + extraArgs = [ + "--version-regex" + "v((?!\d{4}\.\d\.\d{3}).*)" + ]; }; - passthru.tests.test = runCommand "${pname}-test" - { - nativeBuildInputs = [ vscode-js-debug ]; - meta.timeout = 60; - } '' - output=$(js-debug --help 2>&1) - if grep -Fw -- "Usage: dapDebugServer.js [port|socket path=8123] [host=localhost]" - <<< "$output"; then - touch $out - else - echo "Expected help output was not found!" >&2 - echo "The output was:" >&2 - echo "$output" >&2 - exit 1 - fi - ''; + passthru.tests.test = + runCommand "${pname}-test" + { + nativeBuildInputs = [ vscode-js-debug ]; + meta.timeout = 60; + } + '' + output=$(js-debug --help 2>&1) + if grep -Fw -- "Usage: dapDebugServer.js [port|socket path=8123] [host=localhost]" - <<< "$output"; then + touch $out + else + echo "Expected help output was not found!" >&2 + echo "The output was:" >&2 + echo "$output" >&2 + exit 1 + fi + ''; meta = with lib; { description = "A DAP-compatible JavaScript debugger"; @@ -85,8 +91,7 @@ buildNpmPackage rec { Studio proper. ''; homepage = "https://github.com/microsoft/vscode-js-debug"; - changelog = - "https://github.com/microsoft/vscode-js-debug/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/microsoft/vscode-js-debug/blob/v${version}/CHANGELOG.md"; mainProgram = "js-debug"; license = licenses.mit; maintainers = with maintainers; [ zeorin ]; diff --git a/pkgs/by-name/vs/vscode-langservers-extracted/package.nix b/pkgs/by-name/vs/vscode-langservers-extracted/package.nix index 03dec7c8c2fb4..228cf96966a4c 100644 --- a/pkgs/by-name/vs/vscode-langservers-extracted/package.nix +++ b/pkgs/by-name/vs/vscode-langservers-extracted/package.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, buildNpmPackage, fetchFromGitHub, unzip, vscodium, vscode-extensions }: +{ + lib, + stdenv, + buildNpmPackage, + fetchFromGitHub, + unzip, + vscodium, + vscode-extensions, +}: buildNpmPackage rec { pname = "vscode-langservers-extracted"; version = "4.10.0"; - srcs = [ + srcs = [ (fetchFromGitHub { owner = "hrsh7th"; repo = "vscode-langservers-extracted"; @@ -23,9 +31,10 @@ buildNpmPackage rec { buildPhase = let extensions = - if stdenv.hostPlatform.isDarwin - then "../VSCodium.app/Contents/Resources/app/extensions" - else "../resources/app/extensions"; + if stdenv.hostPlatform.isDarwin then + "../VSCodium.app/Contents/Resources/app/extensions" + else + "../resources/app/extensions"; in '' npx babel ${extensions}/css-language-features/server/dist/node \ diff --git a/pkgs/by-name/vs/vsftpd/package.nix b/pkgs/by-name/vs/vsftpd/package.nix index a20935e6dc193..aed7cb2317340 100644 --- a/pkgs/by-name/vs/vsftpd/package.nix +++ b/pkgs/by-name/vs/vsftpd/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, libcap, libseccomp, openssl, pam, libxcrypt, nixosTests }: +{ + lib, + stdenv, + fetchurl, + libcap, + libseccomp, + openssl, + pam, + libxcrypt, + nixosTests, +}: stdenv.mkDerivation rec { pname = "vsftpd"; @@ -9,7 +19,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-JrYCrkVLC6bZnvRKCba54N+n9nIoEGc23x8njHC8kdM="; }; - buildInputs = [ libcap openssl libseccomp pam libxcrypt ]; + buildInputs = [ + libcap + openssl + libseccomp + pam + libxcrypt + ]; patches = [ ./CVE-2015-1419.patch ]; diff --git a/pkgs/by-name/vs/vsh/package.nix b/pkgs/by-name/vs/vsh/package.nix index 9cfd9af7fc68a..a5fce89e1c4c8 100644 --- a/pkgs/by-name/vs/vsh/package.nix +++ b/pkgs/by-name/vs/vsh/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "vsh"; @@ -15,7 +19,11 @@ buildGoModule rec { vendorHash = null; # make sure version gets set at compile time - ldflags = [ "-s" "-w" "-X main.vshVersion=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.vshVersion=v${version}" + ]; meta = with lib; { description = "HashiCorp Vault interactive shell"; diff --git a/pkgs/by-name/vs/vsqlite/package.nix b/pkgs/by-name/vs/vsqlite/package.nix index 029e4c617f46c..ed8db651f8b4d 100644 --- a/pkgs/by-name/vs/vsqlite/package.nix +++ b/pkgs/by-name/vs/vsqlite/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, boost, sqlite }: +{ + lib, + stdenv, + fetchurl, + boost, + sqlite, +}: stdenv.mkDerivation rec { pname = "vsqlite"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "17fkj0d2jh0xkjpcayhs1xvbnh1d69f026i7vs1zqnbiwbkpz237"; }; - buildInputs = [ boost sqlite ]; + buildInputs = [ + boost + sqlite + ]; prePatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Makefile.in \ diff --git a/pkgs/by-name/vt/vt-cli/package.nix b/pkgs/by-name/vt/vt-cli/package.nix index 83e88ed925a62..7a377bbfb74b3 100644 --- a/pkgs/by-name/vt/vt-cli/package.nix +++ b/pkgs/by-name/vt/vt-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/vt/vtable-dumper/package.nix b/pkgs/by-name/vt/vtable-dumper/package.nix index 1bb01240a2a88..ba63b8d51be2d 100644 --- a/pkgs/by-name/vt/vtable-dumper/package.nix +++ b/pkgs/by-name/vt/vtable-dumper/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libelf }: +{ + lib, + stdenv, + fetchFromGitHub, + libelf, +}: stdenv.mkDerivation rec { pname = "vtable-dumper"; diff --git a/pkgs/by-name/vt/vte/package.nix b/pkgs/by-name/vt/vte/package.nix index 84f3f9bc54a57..8d19671fc6c48 100644 --- a/pkgs/by-name/vt/vte/package.nix +++ b/pkgs/by-name/vt/vte/package.nix @@ -1,42 +1,45 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gettext -, pkg-config -, meson -, ninja -, gnome -, glib -, gtk3 -, gtk4 -, gtkVersion ? "3" -, gobject-introspection -, vala -, python3 -, gi-docgen -, libxml2 -, gnutls -, gperf -, pango -, pcre2 -, cairo -, fribidi -, lz4 -, icu -, systemd -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd -, fast-float -, nixosTests -, blackbox-terminal +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gettext, + pkg-config, + meson, + ninja, + gnome, + glib, + gtk3, + gtk4, + gtkVersion ? "3", + gobject-introspection, + vala, + python3, + gi-docgen, + libxml2, + gnutls, + gperf, + pango, + pcre2, + cairo, + fribidi, + lz4, + icu, + systemd, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + fast-float, + nixosTests, + blackbox-terminal, }: stdenv.mkDerivation (finalAttrs: { pname = "vte"; version = "0.78.2"; - outputs = [ "out" "dev" ] - ++ lib.optional (gtkVersion != null) "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional (gtkVersion != null) "devdoc"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -87,41 +90,50 @@ stdenv.mkDerivation (finalAttrs: { gi-docgen ]; - buildInputs = [ - cairo - fribidi - gnutls - pango # duplicated with propagatedBuildInputs to support gtkVersion == null - pcre2 - lz4 - icu - fast-float - ] ++ lib.optionals systemdSupport [ - systemd - ]; + buildInputs = + [ + cairo + fribidi + gnutls + pango # duplicated with propagatedBuildInputs to support gtkVersion == null + pcre2 + lz4 + icu + fast-float + ] + ++ lib.optionals systemdSupport [ + systemd + ]; # Required by vte-2.91.pc. propagatedBuildInputs = lib.optionals (gtkVersion != null) [ - (assert (gtkVersion == "3" || gtkVersion == "4"); - if gtkVersion == "3" then gtk3 else gtk4) + ( + assert (gtkVersion == "3" || gtkVersion == "4"); + if gtkVersion == "3" then gtk3 else gtk4 + ) glib pango ]; - mesonFlags = [ - "-Ddocs=true" - (lib.mesonBool "gtk3" (gtkVersion == "3")) - (lib.mesonBool "gtk4" (gtkVersion == "4")) - ] ++ lib.optionals (!systemdSupport) [ - "-D_systemd=false" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # -Bsymbolic-functions is not supported on darwin - "-D_b_symbolic_functions=false" - ]; + mesonFlags = + [ + "-Ddocs=true" + (lib.mesonBool "gtk3" (gtkVersion == "3")) + (lib.mesonBool "gtk4" (gtkVersion == "4")) + ] + ++ lib.optionals (!systemdSupport) [ + "-D_systemd=false" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # -Bsymbolic-functions is not supported on darwin + "-D_b_symbolic_functions=false" + ]; # error: argument unused during compilation: '-pie' [-Werror,-Wunused-command-line-argument] - env.NIX_CFLAGS_COMPILE = toString (lib.optional stdenv.hostPlatform.isMusl "-Wno-unused-command-line-argument" - ++ lib.optional stdenv.cc.isClang "-Wno-cast-function-type-strict"); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optional stdenv.hostPlatform.isMusl "-Wno-unused-command-line-argument" + ++ lib.optional stdenv.cc.isClang "-Wno-cast-function-type-strict" + ); postPatch = '' patchShebangs perf/* @@ -141,7 +153,17 @@ stdenv.mkDerivation (finalAttrs: { versionPolicy = "odd-unstable"; }; tests = { - inherit (nixosTests.terminal-emulators) gnome-terminal lxterminal mlterm roxterm sakura stupidterm terminator termite xfce4-terminal; + inherit (nixosTests.terminal-emulators) + gnome-terminal + lxterminal + mlterm + roxterm + sakura + stupidterm + terminator + termite + xfce4-terminal + ; blackbox-terminal = blackbox-terminal.override { sixelSupport = true; }; }; }; @@ -158,7 +180,13 @@ stdenv.mkDerivation (finalAttrs: { the system's terminfo database. ''; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ astsmtl antono ] ++ teams.gnome.members; + maintainers = + with maintainers; + [ + astsmtl + antono + ] + ++ teams.gnome.members; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/vt/vtm/package.nix b/pkgs/by-name/vt/vtm/package.nix index ce9c41638e16d..9e321cf70845f 100644 --- a/pkgs/by-name/vt/vtm/package.nix +++ b/pkgs/by-name/vt/vtm/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/vu/vue/package.nix b/pkgs/by-name/vu/vue/package.nix index 678aa886ce90f..fc4b9bb455646 100644 --- a/pkgs/by-name/vu/vue/package.nix +++ b/pkgs/by-name/vu/vue/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + jre, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "vue"; diff --git a/pkgs/by-name/vu/vul/package.nix b/pkgs/by-name/vu/vul/package.nix index 0e9b52e82d312..de32d10099406 100644 --- a/pkgs/by-name/vu/vul/package.nix +++ b/pkgs/by-name/vu/vul/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "vul"; @@ -19,7 +23,10 @@ stdenv.mkDerivation rec { description = "Latin Vulgate Bible on the Command Line"; homepage = "https://github.com/LukeSmithxyz/vul"; license = licenses.publicDomain; - maintainers = [ maintainers.j0hax maintainers.cafkafk ]; + maintainers = [ + maintainers.j0hax + maintainers.cafkafk + ]; mainProgram = "vul"; }; } diff --git a/pkgs/by-name/vu/vulkan-extension-layer/package.nix b/pkgs/by-name/vu/vulkan-extension-layer/package.nix index 4b03e4e098f23..5abe48cbf00aa 100644 --- a/pkgs/by-name/vu/vulkan-extension-layer/package.nix +++ b/pkgs/by-name/vu/vulkan-extension-layer/package.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, writeText, vulkan-headers, vulkan-utility-libraries, jq, libX11, libXrandr, libxcb, wayland }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + writeText, + vulkan-headers, + vulkan-utility-libraries, + jq, + libX11, + libXrandr, + libxcb, + wayland, +}: stdenv.mkDerivation rec { pname = "vulkan-extension-layer"; @@ -11,9 +25,20 @@ stdenv.mkDerivation rec { hash = "sha256-pBpHYxJq36FrHsvpaMJvX0IKTvAh0R86qR7/vn6EBCw="; }; - nativeBuildInputs = [ cmake pkg-config jq ]; + nativeBuildInputs = [ + cmake + pkg-config + jq + ]; - buildInputs = [ vulkan-headers vulkan-utility-libraries libX11 libXrandr libxcb wayland ]; + buildInputs = [ + vulkan-headers + vulkan-utility-libraries + libX11 + libXrandr + libxcb + wayland + ]; # Help vulkan-loader find the validation layers setupHook = writeText "setup-hook" '' @@ -39,6 +64,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/KhronosGroup/Vulkan-ExtensionLayer/"; platforms = platforms.linux; license = licenses.asl20; - maintainers = []; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/vu/vulkan-helper/package.nix b/pkgs/by-name/vu/vulkan-helper/package.nix index 19e1d173499e3..30dc0250943bc 100644 --- a/pkgs/by-name/vu/vulkan-helper/package.nix +++ b/pkgs/by-name/vu/vulkan-helper/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, vulkan-loader -, addDriverRunpath +{ + lib, + rustPlatform, + fetchFromGitHub, + vulkan-loader, + addDriverRunpath, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/vu/vulkan-memory-allocator/package.nix b/pkgs/by-name/vu/vulkan-memory-allocator/package.nix index 41489f3b94585..a4205b5db8344 100644 --- a/pkgs/by-name/vu/vulkan-memory-allocator/package.nix +++ b/pkgs/by-name/vu/vulkan-memory-allocator/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/vu/vulkan-tools-lunarg/package.nix b/pkgs/by-name/vu/vulkan-tools-lunarg/package.nix index 08236ab39a2c1..e8bac27836ebd 100644 --- a/pkgs/by-name/vu/vulkan-tools-lunarg/package.nix +++ b/pkgs/by-name/vu/vulkan-tools-lunarg/package.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 -, jq -, expat -, jsoncpp -, libX11 -, libXdmcp -, libXrandr -, libffi -, libxcb -, pkg-config -, wayland -, which -, xcbutilkeysyms -, xcbutilwm -, valijson -, vulkan-headers -, vulkan-loader -, vulkan-utility-libraries -, writeText -, libsForQt5 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + jq, + expat, + jsoncpp, + libX11, + libXdmcp, + libXrandr, + libffi, + libxcb, + pkg-config, + wayland, + which, + xcbutilkeysyms, + xcbutilwm, + valijson, + vulkan-headers, + vulkan-loader, + vulkan-utility-libraries, + writeText, + libsForQt5, }: stdenv.mkDerivation rec { @@ -29,13 +30,20 @@ stdenv.mkDerivation rec { version = "1.3.296.0"; src = fetchFromGitHub { - owner = "LunarG"; - repo = "VulkanTools"; - rev = "vulkan-sdk-${version}"; - hash = "sha256-RaL7sqy5Rc8syPoM3SedZ6UilV9JUAA96JZh5/gIfPU="; - }; + owner = "LunarG"; + repo = "VulkanTools"; + rev = "vulkan-sdk-${version}"; + hash = "sha256-RaL7sqy5Rc8syPoM3SedZ6UilV9JUAA96JZh5/gIfPU="; + }; - nativeBuildInputs = [ cmake python3 jq which pkg-config libsForQt5.qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + python3 + jq + which + pkg-config + libsForQt5.qt5.wrapQtAppsHook + ]; buildInputs = [ expat @@ -88,6 +96,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/LunarG/VulkanTools"; platforms = platforms.linux; license = licenses.asl20; - maintainers = []; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/vu/vulkan-utility-libraries/package.nix b/pkgs/by-name/vu/vulkan-utility-libraries/package.nix index 4c31f09958deb..6d966b41716c6 100644 --- a/pkgs/by-name/vu/vulkan-utility-libraries/package.nix +++ b/pkgs/by-name/vu/vulkan-utility-libraries/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python3, vulkan-headers }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + vulkan-headers, +}: stdenv.mkDerivation (finalAttrs: { pname = "vulkan-utility-libraries"; @@ -11,7 +18,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-WDRDpUOZN/akUA6gsJMlC2GKolVt3g1NerKqe7aLhek="; }; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; buildInputs = [ vulkan-headers ]; meta = with lib; { diff --git a/pkgs/by-name/vu/vulkan-validation-layers/package.nix b/pkgs/by-name/vu/vulkan-validation-layers/package.nix index ccf00646f57fe..9aaebeb5b4ed5 100644 --- a/pkgs/by-name/vu/vulkan-validation-layers/package.nix +++ b/pkgs/by-name/vu/vulkan-validation-layers/package.nix @@ -1,26 +1,27 @@ -{ lib -, callPackage -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, jq -, glslang -, libffi -, libX11 -, libXau -, libxcb -, libXdmcp -, libXrandr -, spirv-headers -, spirv-tools -, vulkan-headers -, vulkan-utility-libraries -, wayland +{ + lib, + callPackage, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + jq, + glslang, + libffi, + libX11, + libXau, + libxcb, + libXdmcp, + libXrandr, + spirv-headers, + spirv-tools, + vulkan-headers, + vulkan-utility-libraries, + wayland, }: let - robin-hood-hashing = callPackage ./robin-hood-hashing.nix {}; + robin-hood-hashing = callPackage ./robin-hood-hashing.nix { }; in stdenv.mkDerivation rec { pname = "vulkan-validation-layers"; @@ -80,9 +81,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Official Khronos Vulkan validation layers"; - homepage = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"; - platforms = platforms.linux; - license = licenses.asl20; + homepage = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"; + platforms = platforms.linux; + license = licenses.asl20; maintainers = [ maintainers.ralith ]; }; } diff --git a/pkgs/by-name/vu/vulkan-validation-layers/robin-hood-hashing.nix b/pkgs/by-name/vu/vulkan-validation-layers/robin-hood-hashing.nix index 9951d63b019cd..3b36912bc5f7b 100644 --- a/pkgs/by-name/vu/vulkan-validation-layers/robin-hood-hashing.nix +++ b/pkgs/by-name/vu/vulkan-validation-layers/robin-hood-hashing.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake +{ + stdenv, + lib, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { @@ -25,9 +26,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Faster, more efficient replacement for std::unordered_map / std::unordered_set"; - homepage = "https://github.com/martinus/robin-hood-hashing"; - platforms = platforms.linux; - license = licenses.mit; + homepage = "https://github.com/martinus/robin-hood-hashing"; + platforms = platforms.linux; + license = licenses.mit; maintainers = [ ]; }; } diff --git a/pkgs/by-name/vu/vulkan-volk/package.nix b/pkgs/by-name/vu/vulkan-volk/package.nix index 53f8b8b802d67..8e511707dd96a 100644 --- a/pkgs/by-name/vu/vulkan-volk/package.nix +++ b/pkgs/by-name/vu/vulkan-volk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, vulkan-headers }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + vulkan-headers, +}: stdenv.mkDerivation (finalAttrs: { pname = "volk"; @@ -14,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; buildInputs = [ vulkan-headers ]; - cmakeFlags = ["-DVOLK_INSTALL=1"]; + cmakeFlags = [ "-DVOLK_INSTALL=1" ]; meta = with lib; { description = " Meta loader for Vulkan API"; diff --git a/pkgs/by-name/vu/vulnix/package.nix b/pkgs/by-name/vu/vulnix/package.nix index 7388d8278ed06..e124fffbbe074 100644 --- a/pkgs/by-name/vu/vulnix/package.nix +++ b/pkgs/by-name/vu/vulnix/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchFromGitHub -, nix -, ronn +{ + lib, + python3Packages, + fetchFromGitHub, + nix, + ronn, }: python3Packages.buildPythonApplication rec { @@ -21,7 +22,11 @@ python3Packages.buildPythonApplication rec { --replace "--flake8" "" ''; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; nativeBuildInputs = [ ronn ]; nativeCheckInputs = with python3Packages; [ @@ -30,17 +35,19 @@ python3Packages.buildPythonApplication rec { pytest-cov ]; - propagatedBuildInputs = [ - nix - ] ++ (with python3Packages; [ - click - colorama - pyyaml - requests - setuptools - toml - zodb - ]); + propagatedBuildInputs = + [ + nix + ] + ++ (with python3Packages; [ + click + colorama + pyyaml + requests + setuptools + toml + zodb + ]); postBuild = "make -C doc"; diff --git a/pkgs/by-name/vu/vultr-cli/package.nix b/pkgs/by-name/vu/vultr-cli/package.nix index b312ac66e3f02..a69bce393302a 100644 --- a/pkgs/by-name/vu/vultr-cli/package.nix +++ b/pkgs/by-name/vu/vultr-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "vultr-cli"; @@ -15,7 +21,10 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd vultr-cli \ diff --git a/pkgs/by-name/vu/vultr/package.nix b/pkgs/by-name/vu/vultr/package.nix index e7f600b9765fc..705382d7dea9d 100644 --- a/pkgs/by-name/vu/vultr/package.nix +++ b/pkgs/by-name/vu/vultr/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/vv/vvvvvv/package.nix b/pkgs/by-name/vv/vvvvvv/package.nix index 471a84eecb892..9b6cf47c8fdf6 100644 --- a/pkgs/by-name/vv/vvvvvv/package.nix +++ b/pkgs/by-name/vv/vvvvvv/package.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchurl -, cmake -, makeWrapper -, copyDesktopItems -, makeDesktopItem -, faudio -, physfs -, SDL2 -, tinyxml-2 -, Foundation -, IOKit -, makeAndPlay ? false +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + cmake, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + faudio, + physfs, + SDL2, + tinyxml-2, + Foundation, + IOKit, + makeAndPlay ? false, }: stdenv.mkDerivation rec { @@ -40,12 +41,17 @@ stdenv.mkDerivation rec { copyDesktopItems ]; - buildInputs = [ - faudio - physfs - SDL2 - tinyxml-2 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation IOKit ]; + buildInputs = + [ + faudio + physfs + SDL2 + tinyxml-2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + IOKit + ]; cmakeDir = "../desktop_version"; @@ -83,13 +89,17 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A retro-styled platform game" + lib.optionalString makeAndPlay " (redistributable, without original levels)"; - longDescription = '' - VVVVVV is a platform game all about exploring one simple mechanical - idea - what if you reversed gravity instead of jumping? - '' + lib.optionalString makeAndPlay '' - (Redistributable version, doesn't include the original levels.) - ''; + description = + "A retro-styled platform game" + + lib.optionalString makeAndPlay " (redistributable, without original levels)"; + longDescription = + '' + VVVVVV is a platform game all about exploring one simple mechanical + idea - what if you reversed gravity instead of jumping? + '' + + lib.optionalString makeAndPlay '' + (Redistributable version, doesn't include the original levels.) + ''; homepage = "https://thelettervsixtim.es"; changelog = "https://github.com/TerryCavanagh/VVVVVV/releases/tag/${src.rev}"; license = licenses.unfree; diff --git a/pkgs/by-name/vw/vwm/package.nix b/pkgs/by-name/vw/vwm/package.nix index 0560bb214ba2f..3bd8bedd80876 100644 --- a/pkgs/by-name/vw/vwm/package.nix +++ b/pkgs/by-name/vw/vwm/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, pkg-config -, glib -, libviper -, libpseudo -, gpm -, libvterm +{ + lib, + stdenv, + fetchurl, + ncurses, + pkg-config, + glib, + libviper, + libpseudo, + gpm, + libvterm, }: stdenv.mkDerivation rec { @@ -36,7 +37,14 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ncurses glib libviper libpseudo gpm libvterm ]; + buildInputs = [ + ncurses + glib + libviper + libpseudo + gpm + libvterm + ]; meta = with lib; { homepage = "https://vwm.sourceforge.net/"; diff --git a/pkgs/by-name/vx/vxl/package.nix b/pkgs/by-name/vx/vxl/package.nix index 9ee55b47d4574..f652dc421c20f 100644 --- a/pkgs/by-name/vx/vxl/package.nix +++ b/pkgs/by-name/vx/vxl/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, unzip -, cmake -, libtiff -, expat -, zlib -, libpng -, libjpeg +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + cmake, + libtiff, + expat, + zlib, + libpng, + libjpeg, }: stdenv.mkDerivation (finalAttrs: { @@ -34,7 +35,9 @@ stdenv.mkDerivation (finalAttrs: { ]; # test failure on aarch64-linux; unknown reason: - cmakeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "-DCMAKE_CTEST_ARGUMENTS='-E vgl_test_frustum_3d'" ]; + cmakeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ + "-DCMAKE_CTEST_ARGUMENTS='-E vgl_test_frustum_3d'" + ]; doCheck = true; diff --git a/pkgs/by-name/w3/w3m/package.nix b/pkgs/by-name/w3/w3m/package.nix index 8ea48ffbad994..fab906a9f194a 100644 --- a/pkgs/by-name/w3/w3m/package.nix +++ b/pkgs/by-name/w3/w3m/package.nix @@ -1,24 +1,44 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, ncurses, boehmgc, gettext, zlib -, sslSupport ? true, openssl -, graphicsSupport ? !stdenv.hostPlatform.isDarwin, imlib2 -, x11Support ? graphicsSupport, libX11 -, mouseSupport ? !stdenv.hostPlatform.isDarwin, gpm-ncurses -, perl, man, pkg-config, buildPackages, w3m -, testers, updateAutotoolsGnuConfigScriptsHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ncurses, + boehmgc, + gettext, + zlib, + sslSupport ? true, + openssl, + graphicsSupport ? !stdenv.hostPlatform.isDarwin, + imlib2, + x11Support ? graphicsSupport, + libX11, + mouseSupport ? !stdenv.hostPlatform.isDarwin, + gpm-ncurses, + perl, + man, + pkg-config, + buildPackages, + w3m, + testers, + updateAutotoolsGnuConfigScriptsHook, }: let mktable = buildPackages.stdenv.mkDerivation { name = "w3m-mktable"; inherit (w3m) src; - nativeBuildInputs = [ pkg-config boehmgc ]; + nativeBuildInputs = [ + pkg-config + boehmgc + ]; makeFlags = [ "mktable" ]; installPhase = '' install -D mktable $out/bin/mktable ''; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "w3m"; version = "0.5.3+git20230121"; @@ -55,8 +75,17 @@ in stdenv.mkDerivation rec { # updateAutotoolsGnuConfigScriptsHook necessary to build on FreeBSD native pending inclusion of # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 - nativeBuildInputs = [ pkg-config gettext updateAutotoolsGnuConfigScriptsHook ]; - buildInputs = [ ncurses boehmgc zlib ] + nativeBuildInputs = [ + pkg-config + gettext + updateAutotoolsGnuConfigScriptsHook + ]; + buildInputs = + [ + ncurses + boehmgc + zlib + ] ++ lib.optional sslSupport openssl ++ lib.optional mouseSupport gpm-ncurses ++ lib.optional graphicsSupport imlib2 @@ -69,7 +98,10 @@ in stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; configureFlags = - [ "--with-ssl=${openssl.dev}" "--with-gc=${boehmgc.dev}" ] + [ + "--with-ssl=${openssl.dev}" + "--with-gc=${boehmgc.dev}" + ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "ac_cv_func_setpgrp_void=yes" ] diff --git a/pkgs/by-name/w_/w_scan/package.nix b/pkgs/by-name/w_/w_scan/package.nix index 4dedf71d39bf2..8e55ea3762775 100644 --- a/pkgs/by-name/w_/w_scan/package.nix +++ b/pkgs/by-name/w_/w_scan/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "w_scan"; @@ -18,7 +22,7 @@ stdenv.mkDerivation rec { description = "Small CLI utility to scan DVB and ATSC transmissions"; homepage = "http://wirbel.htpc-forum.de/w_scan/index_en.html"; platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.nico202 ] ; + maintainers = [ lib.maintainers.nico202 ]; license = lib.licenses.gpl2; mainProgram = "w_scan"; }; diff --git a/pkgs/by-name/w_/w_scan2/package.nix b/pkgs/by-name/w_/w_scan2/package.nix index e20330d0ea3b8..d852059bc19e3 100644 --- a/pkgs/by-name/w_/w_scan2/package.nix +++ b/pkgs/by-name/w_/w_scan2/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { description = "Small channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T/T2 channels.conf files"; homepage = "https://github.com/stefantalpalaru/w_scan2"; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ _0x4A6F ] ; + maintainers = with lib.maintainers; [ _0x4A6F ]; license = lib.licenses.gpl2Only; mainProgram = "w_scan2"; }; diff --git a/pkgs/by-name/wa/wabt/package.nix b/pkgs/by-name/wa/wabt/package.nix index f2be63608b697..fd764b2b29cf1 100644 --- a/pkgs/by-name/wa/wabt/package.nix +++ b/pkgs/by-name/wa/wabt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "wabt"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - cmakeFlags = [ "-DBUILD_TESTS=OFF" "-DCMAKE_PROJECT_VERSION=${version}" ]; + cmakeFlags = [ + "-DBUILD_TESTS=OFF" + "-DCMAKE_PROJECT_VERSION=${version}" + ]; meta = with lib; { description = "WebAssembly Binary Toolkit"; diff --git a/pkgs/by-name/wa/wad/package.nix b/pkgs/by-name/wa/wad/package.nix index 348a35ccbe10d..c1e21ab8261af 100644 --- a/pkgs/by-name/wa/wad/package.nix +++ b/pkgs/by-name/wa/wad/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -39,7 +40,10 @@ python3.pkgs.buildPythonApplication rec { ''; homepage = "https://github.com/CERN-CERT/WAD"; # wad is GPLv3+, wappalyzer source is MIT - license = with licenses; [ gpl3Plus mit ]; + license = with licenses; [ + gpl3Plus + mit + ]; maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/by-name/wa/waf-tester/package.nix b/pkgs/by-name/wa/waf-tester/package.nix index 47e5c2fbb5fb4..c74f0af8b151d 100644 --- a/pkgs/by-name/wa/waf-tester/package.nix +++ b/pkgs/by-name/wa/waf-tester/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, waf-tester +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + waf-tester, }: buildGoModule rec { diff --git a/pkgs/by-name/wa/waf/hook.nix b/pkgs/by-name/wa/waf/hook.nix index 37757aec18888..0855f0ce0a319 100644 --- a/pkgs/by-name/wa/waf/hook.nix +++ b/pkgs/by-name/wa/waf/hook.nix @@ -1,5 +1,6 @@ -{ makeSetupHook -, waf +{ + makeSetupHook, + waf, }: makeSetupHook { diff --git a/pkgs/by-name/wa/waffle/package.nix b/pkgs/by-name/wa/waffle/package.nix index b92011c967df9..4433e4c057c0d 100644 --- a/pkgs/by-name/wa/waffle/package.nix +++ b/pkgs/by-name/wa/waffle/package.nix @@ -1,18 +1,26 @@ -{ stdenv -, fetchFromGitLab -, lib -, cmake -, meson -, ninja -, bash-completion -, libGL -, libglvnd -, makeWrapper -, pkg-config -, python3 -, x11Support ? true, libxcb, libX11 -, waylandSupport ? true, wayland, wayland-protocols, wayland-scanner -, useGbm ? true, mesa, udev +{ + stdenv, + fetchFromGitLab, + lib, + cmake, + meson, + ninja, + bash-completion, + libGL, + libglvnd, + makeWrapper, + pkg-config, + python3, + x11Support ? true, + libxcb, + libX11, + waylandSupport ? true, + wayland, + wayland-protocols, + wayland-scanner, + useGbm ? true, + mesa, + udev, }: stdenv.mkDerivation rec { @@ -27,42 +35,54 @@ stdenv.mkDerivation rec { sha256 = "sha256-Y7GRYLqSO572qA1eZ3jS8QlZ1X9xKpDtScaySTuPK/U="; }; - buildInputs = [ - bash-completion - libGL - ] ++ lib.optionals (with stdenv.hostPlatform; isUnix && !isDarwin) [ - libglvnd - ] ++ lib.optionals x11Support [ - libX11 - libxcb - ] ++ lib.optionals waylandSupport [ - wayland - wayland-protocols - ] ++ lib.optionals useGbm [ - udev - mesa - ]; + buildInputs = + [ + bash-completion + libGL + ] + ++ lib.optionals (with stdenv.hostPlatform; isUnix && !isDarwin) [ + libglvnd + ] + ++ lib.optionals x11Support [ + libX11 + libxcb + ] + ++ lib.optionals waylandSupport [ + wayland + wayland-protocols + ] + ++ lib.optionals useGbm [ + udev + mesa + ]; depsBuildBuild = [ pkg-config ]; dontUseCmakeConfigure = true; - nativeBuildInputs = [ - cmake - makeWrapper - meson - ninja - pkg-config - python3 - ] ++ lib.optionals waylandSupport [ - wayland-scanner - ]; + nativeBuildInputs = + [ + cmake + makeWrapper + meson + ninja + pkg-config + python3 + ] + ++ lib.optionals waylandSupport [ + wayland-scanner + ]; - PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions"; + PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR = "${placeholder "out"}/share/bash-completion/completions"; postInstall = '' wrapProgram $out/bin/wflinfo \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libglvnd ]} + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libGL + libglvnd + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/wa/wait4x/package.nix b/pkgs/by-name/wa/wait4x/package.nix index ab8176d6d42fb..53be1b07c4fa7 100644 --- a/pkgs/by-name/wa/wait4x/package.nix +++ b/pkgs/by-name/wa/wait4x/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: let pname = "wait4x"; diff --git a/pkgs/by-name/wa/waitron/package.nix b/pkgs/by-name/wa/waitron/package.nix index d0dd8a6a17ded..c72a117c772cc 100644 --- a/pkgs/by-name/wa/waitron/package.nix +++ b/pkgs/by-name/wa/waitron/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -31,7 +32,7 @@ buildGoModule rec { specified inventory sources. ''; homepage = "https://github.com/ns1/waitron"; - license = licenses.asl20; + license = licenses.asl20; maintainers = with maintainers; [ guibert ]; platforms = platforms.linux; broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check diff --git a/pkgs/by-name/wa/wakelan/package.nix b/pkgs/by-name/wa/wakelan/package.nix index a0c4f832fc08c..674c8270004ac 100644 --- a/pkgs/by-name/wa/wakelan/package.nix +++ b/pkgs/by-name/wa/wakelan/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "wakelan"; @@ -22,7 +26,7 @@ stdenv.mkDerivation rec { WakeLan sends a properly formatted UDP packet across the network which will cause a wake-on-lan enabled computer to power on. - ''; + ''; license = lib.licenses.gpl2Plus; maintainers = [ ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/wa/wakeonlan/package.nix b/pkgs/by-name/wa/wakeonlan/package.nix index f3f222d5ad641..7a5c51ed39957 100644 --- a/pkgs/by-name/wa/wakeonlan/package.nix +++ b/pkgs/by-name/wa/wakeonlan/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, perlPackages, fetchFromGitHub, installShellFiles, shortenPerlShebang }: +{ + lib, + stdenv, + perlPackages, + fetchFromGitHub, + installShellFiles, + shortenPerlShebang, +}: perlPackages.buildPerlPackage rec { pname = "wakeonlan"; @@ -13,20 +20,28 @@ perlPackages.buildPerlPackage rec { outputs = [ "out" ]; - nativeBuildInputs = [ installShellFiles ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; + nativeBuildInputs = [ + installShellFiles + ] ++ lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; - nativeCheckInputs = [ perlPackages.TestPerlCritic perlPackages.TestPod perlPackages.TestPodCoverage ]; + nativeCheckInputs = [ + perlPackages.TestPerlCritic + perlPackages.TestPod + perlPackages.TestPodCoverage + ]; # Linting and formatting checks are of no interest for us. preCheck = '' rm -f t/93_pod_spell.t ''; - installPhase = '' - install -Dt $out/bin wakeonlan - installManPage blib/man1/wakeonlan.1 - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang $out/bin/wakeonlan - ''; + installPhase = + '' + install -Dt $out/bin wakeonlan + installManPage blib/man1/wakeonlan.1 + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang $out/bin/wakeonlan + ''; meta = with lib; { description = "Perl script for waking up computers via Wake-On-LAN magic packets"; diff --git a/pkgs/by-name/wa/wal-g/package.nix b/pkgs/by-name/wa/wal-g/package.nix index 203a5cbc26f5c..2a01a12c27348 100644 --- a/pkgs/by-name/wa/wal-g/package.nix +++ b/pkgs/by-name/wa/wal-g/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, brotli, libsodium, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + brotli, + libsodium, + installShellFiles, +}: buildGoModule rec { pname = "wal-g"; @@ -15,13 +22,24 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; - buildInputs = [ brotli libsodium ]; + buildInputs = [ + brotli + libsodium + ]; subPackages = [ "main/pg" ]; - tags = [ "brotli" "libsodium" ]; - - ldflags = [ "-s" "-w" "-X github.com/wal-g/wal-g/cmd/pg.walgVersion=${version}" "-X github.com/wal-g/wal-g/cmd/pg.gitRevision=${src.rev}" ]; + tags = [ + "brotli" + "libsodium" + ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/wal-g/wal-g/cmd/pg.walgVersion=${version}" + "-X github.com/wal-g/wal-g/cmd/pg.gitRevision=${src.rev}" + ]; postInstall = '' mv $out/bin/pg $out/bin/wal-g diff --git a/pkgs/by-name/wa/walk/package.nix b/pkgs/by-name/wa/walk/package.nix index 6e5e69a106226..46d9d91300e9e 100644 --- a/pkgs/by-name/wa/walk/package.nix +++ b/pkgs/by-name/wa/walk/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "walk"; @@ -17,7 +21,10 @@ buildGoModule rec { description = "Terminal file manager"; homepage = "https://github.com/antonmedv/walk"; license = licenses.mit; - maintainers = with maintainers; [ portothree surfaceflinger ]; + maintainers = with maintainers; [ + portothree + surfaceflinger + ]; mainProgram = "walk"; }; } diff --git a/pkgs/by-name/wa/wallust/package.nix b/pkgs/by-name/wa/wallust/package.nix index adb5c25302c08..d61c2e153e4bb 100644 --- a/pkgs/by-name/wa/wallust/package.nix +++ b/pkgs/by-name/wa/wallust/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitea -, rustPlatform -, nix-update-script -, imagemagick -, makeWrapper -, installShellFiles +{ + lib, + fetchFromGitea, + rustPlatform, + nix-update-script, + imagemagick, + makeWrapper, + installShellFiles, }: let version = "3.1.0"; @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-SEaq0qeWuDeIeCqz9imb5nV4WK44CF5wIwG62nhyqlU="; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; postInstall = '' installManPage man/wallust* @@ -44,7 +48,10 @@ rustPlatform.buildRustPackage { description = "Better pywal"; homepage = "https://codeberg.org/explosion-mental/wallust"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ onemoresuza iynaix ]; + maintainers = with lib.maintainers; [ + onemoresuza + iynaix + ]; downloadPage = "https://codeberg.org/explosion-mental/wallust/releases/tag/${version}"; mainProgram = "wallust"; }; diff --git a/pkgs/by-name/wa/wallutils/package.nix b/pkgs/by-name/wa/wallutils/package.nix index 1877832b59cc3..798bb88277365 100644 --- a/pkgs/by-name/wa/wallutils/package.nix +++ b/pkgs/by-name/wa/wallutils/package.nix @@ -1,14 +1,15 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, libX11 -, libXcursor -, libXmu -, libXpm -, libheif -, pkg-config -, wayland -, xbitmaps +{ + lib, + buildGoModule, + fetchFromGitHub, + libX11, + libXcursor, + libXmu, + libXpm, + libheif, + pkg-config, + wayland, + xbitmaps, }: buildGoModule rec { @@ -46,7 +47,10 @@ buildGoModule rec { xbitmaps ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; preCheck = '' export XDG_RUNTIME_DIR=$(mktemp -d) diff --git a/pkgs/by-name/wa/wally-cli/package.nix b/pkgs/by-name/wa/wally-cli/package.nix index a608b42dc0d57..6d65c6c5ea4cb 100644 --- a/pkgs/by-name/wa/wally-cli/package.nix +++ b/pkgs/by-name/wa/wally-cli/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, libusb1 }: +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + libusb1, +}: buildGoModule rec { pname = "wally-cli"; @@ -25,6 +31,9 @@ buildGoModule rec { homepage = "https://ergodox-ez.com/pages/wally-planck"; platforms = with platforms; linux ++ darwin; license = licenses.mit; - maintainers = with maintainers; [ spacekookie r-burns ]; + maintainers = with maintainers; [ + spacekookie + r-burns + ]; }; } diff --git a/pkgs/by-name/wa/wambo/package.nix b/pkgs/by-name/wa/wambo/package.nix index e700bdbbeb2a2..086ac05656e0f 100644 --- a/pkgs/by-name/wa/wambo/package.nix +++ b/pkgs/by-name/wa/wambo/package.nix @@ -1,6 +1,7 @@ -{ fetchCrate -, lib -, rustPlatform +{ + fetchCrate, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wa/wander/package.nix b/pkgs/by-name/wa/wander/package.nix index 6ad6854fc2325..db55f3ce2c27b 100644 --- a/pkgs/by-name/wa/wander/package.nix +++ b/pkgs/by-name/wa/wander/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "wander"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-0S8tzP5yNUrH6fp+v7nbUPTMWzYXyGw+ZNcXkSN+tWY="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/wa/wannier90/package.nix b/pkgs/by-name/wa/wannier90/package.nix index 9a06bc5faabf6..631fcd276de42 100644 --- a/pkgs/by-name/wa/wannier90/package.nix +++ b/pkgs/by-name/wa/wannier90/package.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, gfortran -, blas -, lapack -, python3 -, fetchFromGitHub +{ + stdenv, + lib, + gfortran, + blas, + lapack, + python3, + fetchFromGitHub, }: assert (!blas.isILP64); assert blas.isILP64 == lapack.isILP64; @@ -37,7 +38,10 @@ stdenv.mkDerivation rec { cp config/make.inc.gfort make.inc ''; - buildFlags = [ "all" "dynlib" ]; + buildFlags = [ + "all" + "dynlib" + ]; preInstall = '' installFlagsArray+=( diff --git a/pkgs/by-name/wa/waon/package.nix b/pkgs/by-name/wa/waon/package.nix index b1f66798dd9c7..b84487479af25 100644 --- a/pkgs/by-name/wa/waon/package.nix +++ b/pkgs/by-name/wa/waon/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fftw, gtk2, libao, libsamplerate -, libsndfile, ncurses, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + fftw, + gtk2, + libao, + libsamplerate, + libsndfile, + ncurses, + pkg-config, }: stdenv.mkDerivation rec { @@ -14,7 +23,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ fftw gtk2 libao libsamplerate libsndfile ncurses ]; + buildInputs = [ + fftw + gtk2 + libao + libsamplerate + libsndfile + ncurses + ]; installPhase = '' install -Dt $out/bin waon pv gwaon diff --git a/pkgs/by-name/wa/wapm/package.nix b/pkgs/by-name/wa/wapm/package.nix index 420baa5baeb35..017928c610bde 100644 --- a/pkgs/by-name/wa/wapm/package.nix +++ b/pkgs/by-name/wa/wapm/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, perl -, libiconv -, openssl -, rustPlatform -, stdenv -, darwin +{ + lib, + fetchFromGitHub, + perl, + libiconv, + openssl, + rustPlatform, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -23,8 +24,18 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ perl ]; - buildInputs = [ libiconv openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); + buildInputs = + [ + libiconv + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Security + SystemConfiguration + ] + ); doCheck = false; diff --git a/pkgs/by-name/wa/wargus/package.nix b/pkgs/by-name/wa/wargus/package.nix index ca4b70923eca5..7618dff32643b 100644 --- a/pkgs/by-name/wa/wargus/package.nix +++ b/pkgs/by-name/wa/wargus/package.nix @@ -1,29 +1,51 @@ -{ stdenv, lib, callPackage, fetchFromGitHub -, fetchurl, runCommand, unzip, bchunk, p7zip -, cmake, pkg-config, makeWrapper -, zlib, bzip2, libpng -, dialog, python3, cdparanoia, ffmpeg +{ + stdenv, + lib, + callPackage, + fetchFromGitHub, + fetchurl, + runCommand, + unzip, + bchunk, + p7zip, + cmake, + pkg-config, + makeWrapper, + zlib, + bzip2, + libpng, + dialog, + python3, + cdparanoia, + ffmpeg, }: let - stratagus = callPackage ./stratagus.nix {}; + stratagus = callPackage ./stratagus.nix { }; dataDownload = fetchurl { url = "https://archive.org/download/warcraft-ii-tides-of-darkness_202105/Warcess.zip"; sha256 = "0yxgvf8xpv1w2bjmny4a38pa3xcdgqckk9abj21ilkc5zqzqmm9b"; }; - data = runCommand "warcraft2" { - buildInputs = [ unzip bchunk p7zip ]; - meta.license = lib.licenses.unfree; - } '' - unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} - bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP - rm -r Warcraft.II.Tides.of.Darkness - 7z x WC2BTDP01.iso - rm WC2BTDP*.{iso,cdr} - cp -r DATA $out - ''; + data = + runCommand "warcraft2" + { + buildInputs = [ + unzip + bchunk + p7zip + ]; + meta.license = lib.licenses.unfree; + } + '' + unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} + bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP + rm -r Warcraft.II.Tides.of.Darkness + 7z x WC2BTDP01.iso + rm WC2BTDP*.{iso,cdr} + cp -r DATA $out + ''; in stdenv.mkDerivation rec { @@ -37,8 +59,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-yJeMFxCD0ikwVPQApf+IBuMQ6eOjn1fVKNmqh6r760c="; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper ffmpeg ]; - buildInputs = [ zlib bzip2 libpng ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ffmpeg + ]; + buildInputs = [ + zlib + bzip2 + libpng + ]; cmakeFlags = [ "-DSTRATAGUS=${stratagus}/games/stratagus" "-DSTRATAGUS_INCLUDE_DIR=${stratagus.src}/gameheaders" diff --git a/pkgs/by-name/wa/wargus/stratagus.nix b/pkgs/by-name/wa/wargus/stratagus.nix index fc4f234279945..69baa283fa046 100644 --- a/pkgs/by-name/wa/wargus/stratagus.nix +++ b/pkgs/by-name/wa/wargus/stratagus.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, pkg-config, makeWrapper -, zlib, bzip2, libpng, lua5_1, toluapp -, SDL2, SDL2_mixer, SDL2_image, libGL +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + makeWrapper, + zlib, + bzip2, + libpng, + lua5_1, + toluapp, + SDL2, + SDL2_mixer, + SDL2_image, + libGL, }: stdenv.mkDerivation rec { @@ -15,11 +27,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-q8AvIWr/bOzI0wV0D2emxIXYEKDYmFxbtwr2BS+xYfA="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ - zlib bzip2 libpng - lua5_1 toluapp - (lib.getDev SDL2) SDL2_image SDL2_mixer libGL + zlib + bzip2 + libpng + lua5_1 + toluapp + (lib.getDev SDL2) + SDL2_image + SDL2_mixer + libGL ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-Wno-error=format-overflow" diff --git a/pkgs/by-name/wa/warmux/package.nix b/pkgs/by-name/wa/warmux/package.nix index 368f0d39e9c29..c3115ad02d7e7 100644 --- a/pkgs/by-name/wa/warmux/package.nix +++ b/pkgs/by-name/wa/warmux/package.nix @@ -1,7 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake -, zlib, curl, gnutls, fribidi, libpng, SDL, SDL_gfx, SDL_image, SDL_mixer -, SDL_net, SDL_ttf, libunwind, libX11, xorgproto, libxml2, pkg-config -, gettext, intltool, libtool, perl +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + zlib, + curl, + gnutls, + fribidi, + libpng, + SDL, + SDL_gfx, + SDL_image, + SDL_mixer, + SDL_net, + SDL_ttf, + libunwind, + libX11, + xorgproto, + libxml2, + pkg-config, + gettext, + intltool, + libtool, + perl, }: stdenv.mkDerivation { @@ -18,14 +40,33 @@ stdenv.mkDerivation { __structuredAttrs = true; preConfigure = "patchShebangs autogen.sh && ./autogen.sh"; - configureFlags = ["CFLAGS=-include ${zlib.dev}/include/zlib.h"]; + configureFlags = [ "CFLAGS=-include ${zlib.dev}/include/zlib.h" ]; nativeBuildInputs = [ - autoconf automake gettext intltool libtool pkg-config + autoconf + automake + gettext + intltool + libtool + pkg-config ]; buildInputs = [ - zlib curl gnutls fribidi libpng SDL SDL_gfx SDL_image SDL_mixer - SDL_net SDL_ttf libunwind libX11 xorgproto libxml2 perl + zlib + curl + gnutls + fribidi + libpng + SDL + SDL_gfx + SDL_image + SDL_mixer + SDL_net + SDL_ttf + libunwind + libX11 + xorgproto + libxml2 + perl ]; enableParallelBuilding = true; @@ -33,7 +74,10 @@ stdenv.mkDerivation { description = "Ballistics turn-based battle game between teams - unofficial copy"; maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; - license = with licenses; [ gpl2Plus ufl ]; + license = with licenses; [ + gpl2Plus + ufl + ]; homepage = "https://github.com/fluxer/warmux"; }; } diff --git a/pkgs/by-name/wa/warp-terminal/package.nix b/pkgs/by-name/wa/warp-terminal/package.nix index 646750978bc9e..41d4a1cbe2e6d 100644 --- a/pkgs/by-name/wa/warp-terminal/package.nix +++ b/pkgs/by-name/wa/warp-terminal/package.nix @@ -1,114 +1,125 @@ -{ lib -, stdenvNoCC -, stdenv -, fetchurl -, autoPatchelfHook -, undmg -, zstd -, curl -, fontconfig -, libglvnd -, libxkbcommon -, vulkan-loader -, wayland -, xdg-utils -, xorg -, zlib -, makeWrapper -, waylandSupport ? false +{ + lib, + stdenvNoCC, + stdenv, + fetchurl, + autoPatchelfHook, + undmg, + zstd, + curl, + fontconfig, + libglvnd, + libxkbcommon, + vulkan-loader, + wayland, + xdg-utils, + xorg, + zlib, + makeWrapper, + waylandSupport ? false, }: let -pname = "warp-terminal"; -versions = lib.importJSON ./versions.json; -passthru.updateScript = ./update.sh; - -linux_arch = - if stdenv.hostPlatform.system == "x86_64-linux" - then "x86_64" - else "aarch64"; - -linux = stdenv.mkDerivation (finalAttrs: { - inherit pname meta passthru; - inherit (versions."linux_${linux_arch}") version; - src = fetchurl { - inherit (versions."linux_${linux_arch}") hash; - url = "https://releases.warp.dev/stable/v${finalAttrs.version}/warp-terminal-v${finalAttrs.version}-1-${linux_arch}.pkg.tar.zst"; + pname = "warp-terminal"; + versions = lib.importJSON ./versions.json; + passthru.updateScript = ./update.sh; + + linux_arch = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "aarch64"; + + linux = stdenv.mkDerivation (finalAttrs: { + inherit pname meta passthru; + inherit (versions."linux_${linux_arch}") version; + src = fetchurl { + inherit (versions."linux_${linux_arch}") hash; + url = "https://releases.warp.dev/stable/v${finalAttrs.version}/warp-terminal-v${finalAttrs.version}-1-${linux_arch}.pkg.tar.zst"; + }; + + sourceRoot = "."; + + postPatch = '' + substituteInPlace usr/bin/warp-terminal \ + --replace-fail /opt/ $out/opt/ + ''; + + nativeBuildInputs = [ + autoPatchelfHook + zstd + makeWrapper + ]; + + buildInputs = [ + curl + fontconfig + (lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so + zlib + ]; + + runtimeDependencies = [ + libglvnd # for libegl + libxkbcommon + stdenv.cc.libc + vulkan-loader + xdg-utils + xorg.libX11 + xorg.libxcb + xorg.libXcursor + xorg.libXi + ] ++ lib.optionals waylandSupport [ wayland ]; + + installPhase = + '' + runHook preInstall + + mkdir $out + cp -r opt usr/* $out + + '' + + lib.optionalString waylandSupport '' + wrapProgram $out/bin/warp-terminal --set WARP_ENABLE_WAYLAND 1 + '' + + '' + runHook postInstall + ''; + }); + + darwin = stdenvNoCC.mkDerivation (finalAttrs: { + inherit pname meta passthru; + inherit (versions.darwin) version; + src = fetchurl { + inherit (versions.darwin) hash; + url = "https://releases.warp.dev/stable/v${finalAttrs.version}/Warp.dmg"; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ undmg ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/Applications + cp -r *.app $out/Applications + + runHook postInstall + ''; + }); + + meta = with lib; { + description = "Rust-based terminal"; + homepage = "https://www.warp.dev"; + license = licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ + emilytrau + imadnyc + donteatoreo + johnrtitor + ]; + platforms = platforms.darwin ++ [ + "x86_64-linux" + "aarch64-linux" + ]; }; - sourceRoot = "."; - - postPatch = '' - substituteInPlace usr/bin/warp-terminal \ - --replace-fail /opt/ $out/opt/ - ''; - - nativeBuildInputs = [ autoPatchelfHook zstd makeWrapper ]; - - buildInputs = [ - curl - fontconfig - (lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so - zlib - ]; - - runtimeDependencies = [ - libglvnd # for libegl - libxkbcommon - stdenv.cc.libc - vulkan-loader - xdg-utils - xorg.libX11 - xorg.libxcb - xorg.libXcursor - xorg.libXi - ] ++ lib.optionals waylandSupport [wayland]; - - installPhase = '' - runHook preInstall - - mkdir $out - cp -r opt usr/* $out - - '' + lib.optionalString waylandSupport '' - wrapProgram $out/bin/warp-terminal --set WARP_ENABLE_WAYLAND 1 - '' + '' - runHook postInstall - ''; -}); - -darwin = stdenvNoCC.mkDerivation (finalAttrs: { - inherit pname meta passthru; - inherit (versions.darwin) version; - src = fetchurl { - inherit (versions.darwin) hash; - url = "https://releases.warp.dev/stable/v${finalAttrs.version}/Warp.dmg"; - }; - - sourceRoot = "."; - - nativeBuildInputs = [ undmg ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/Applications - cp -r *.app $out/Applications - - runHook postInstall - ''; -}); - -meta = with lib; { - description = "Rust-based terminal"; - homepage = "https://www.warp.dev"; - license = licenses.unfree; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ emilytrau imadnyc donteatoreo johnrtitor ]; - platforms = platforms.darwin ++ [ "x86_64-linux" "aarch64-linux" ]; -}; - in -if stdenvNoCC.hostPlatform.isDarwin -then darwin -else linux +if stdenvNoCC.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/by-name/wa/warp/package.nix b/pkgs/by-name/wa/warp/package.nix index ad80b7cf796be..286de8acbea3d 100644 --- a/pkgs/by-name/wa/warp/package.nix +++ b/pkgs/by-name/wa/warp/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch2 -, appstream-glib -, cargo -, desktop-file-utils -, itstool -, meson -, ninja -, pkg-config -, python3 -, rustPlatform -, rustc -, wrapGAppsHook4 -, glib -, gtk4 -, libadwaita -, zbar -, gst_all_1 +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch2, + appstream-glib, + cargo, + desktop-file-utils, + itstool, + meson, + ninja, + pkg-config, + python3, + rustPlatform, + rustc, + wrapGAppsHook4, + glib, + gtk4, + libadwaita, + zbar, + gst_all_1, }: stdenv.mkDerivation rec { @@ -56,16 +57,18 @@ stdenv.mkDerivation rec { rustc ]; - buildInputs = [ - glib - gtk4 - libadwaita - zbar - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-bad - ]); + buildInputs = + [ + glib + gtk4 + libadwaita + zbar + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-bad + ]); meta = { description = "Fast and secure file transfer"; diff --git a/pkgs/by-name/wa/warpd/package.nix b/pkgs/by-name/wa/warpd/package.nix index a2957a4edb6ee..3c1fb984c2d4d 100644 --- a/pkgs/by-name/wa/warpd/package.nix +++ b/pkgs/by-name/wa/warpd/package.nix @@ -1,9 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, git -, withWayland ? true, cairo, libxkbcommon, wayland -, withX ? true, libXi, libXinerama, libXft, libXfixes, libXtst, libX11, libXext +{ + lib, + stdenv, + fetchFromGitHub, + git, + withWayland ? true, + cairo, + libxkbcommon, + wayland, + withX ? true, + libXi, + libXinerama, + libXft, + libXfixes, + libXtst, + libX11, + libXext, }: stdenv.mkDerivation rec { @@ -20,21 +31,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ git ]; - buildInputs = lib.optionals withWayland [ - cairo - libxkbcommon - wayland - ] ++ lib.optionals withX [ - libXi - libXinerama - libXft - libXfixes - libXtst - libX11 - libXext - ]; + buildInputs = + lib.optionals withWayland [ + cairo + libxkbcommon + wayland + ] + ++ lib.optionals withX [ + libXi + libXinerama + libXft + libXfixes + libXtst + libX11 + libXext + ]; - makeFlags = [ "PREFIX=$(out)" ] + makeFlags = + [ "PREFIX=$(out)" ] ++ lib.optional (!withWayland) "DISABLE_WAYLAND=y" ++ lib.optional (!withX) "DISABLE_X=y"; diff --git a/pkgs/by-name/wa/warpinator/package.nix b/pkgs/by-name/wa/warpinator/package.nix index bb7b97b8b38d3..627f7ea4f52f1 100644 --- a/pkgs/by-name/wa/warpinator/package.nix +++ b/pkgs/by-name/wa/warpinator/package.nix @@ -1,38 +1,41 @@ -{ stdenv -, fetchFromGitHub -, lib -, gobject-introspection -, meson -, ninja -, python3 -, gtk3 -, gdk-pixbuf -, xapp -, wrapGAppsHook3 -, gettext -, polkit -, glib -, gitUpdater -, bubblewrap +{ + stdenv, + fetchFromGitHub, + lib, + gobject-introspection, + meson, + ninja, + python3, + gtk3, + gdk-pixbuf, + xapp, + wrapGAppsHook3, + gettext, + polkit, + glib, + gitUpdater, + bubblewrap, }: let - pythonEnv = python3.withPackages (pp: with pp; [ - grpcio-tools - protobuf - pygobject3 - setproctitle - python-xapp - zeroconf - grpcio - setuptools - cryptography - pynacl - netifaces - netaddr - ifaddr - qrcode - ]); + pythonEnv = python3.withPackages ( + pp: with pp; [ + grpcio-tools + protobuf + pygobject3 + setproctitle + python-xapp + zeroconf + grpcio + setuptools + cryptography + pynacl + netifaces + netaddr + ifaddr + qrcode + ] + ); in stdenv.mkDerivation rec { pname = "warpinator"; diff --git a/pkgs/by-name/wa/warzone2100/package.nix b/pkgs/by-name/wa/warzone2100/package.nix index 8f860afcb3440..972c3a4e2505b 100644 --- a/pkgs/by-name/wa/warzone2100/package.nix +++ b/pkgs/by-name/wa/warzone2100/package.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, fetchurl -, cmake -, ninja -, p7zip -, pkg-config -, asciidoctor -, gettext +{ + lib, + stdenv, + fetchurl, + cmake, + ninja, + p7zip, + pkg-config, + asciidoctor, + gettext, -, SDL2 -, libtheora -, libvorbis -, libopus -, openal -, openalSoft -, physfs -, miniupnpc -, libsodium -, curl -, libpng -, freetype -, harfbuzz -, sqlite -, which -, vulkan-headers -, vulkan-loader -, shaderc + SDL2, + libtheora, + libvorbis, + libopus, + openal, + openalSoft, + physfs, + miniupnpc, + libsodium, + curl, + libpng, + freetype, + harfbuzz, + sqlite, + which, + vulkan-headers, + vulkan-loader, + shaderc, -, testers -, warzone2100 -, nixosTests + testers, + warzone2100, + nixosTests, -, gitUpdater + gitUpdater, -, withVideos ? false + withVideos ? false, }: let @@ -46,32 +47,34 @@ in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "4.5.5"; + version = "4.5.5"; src = fetchurl { url = "mirror://sourceforge/project/warzone2100/releases/${finalAttrs.version}/warzone2100_src.tar.xz"; hash = "sha256-B/YbrnIWh+3rYtpId+hQMKA6BTpZPWRRlPxld44EgP8="; }; - buildInputs = [ - SDL2 - libtheora - libvorbis - libopus - openal - openalSoft - physfs - miniupnpc - libsodium - curl - libpng - freetype - harfbuzz - sqlite - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - vulkan-headers - vulkan-loader - ]; + buildInputs = + [ + SDL2 + libtheora + libvorbis + libopus + openal + openalSoft + physfs + miniupnpc + libsodium + curl + libpng + freetype + harfbuzz + sqlite + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + vulkan-headers + vulkan-loader + ]; nativeBuildInputs = [ pkg-config @@ -137,7 +140,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://wz2100.net"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ astsmtl fgaz ]; + maintainers = with maintainers; [ + astsmtl + fgaz + ]; platforms = platforms.all; # configure_mac.cmake tries to download stuff # https://github.com/Warzone2100/warzone2100/blob/master/macosx/README.md diff --git a/pkgs/by-name/wa/wasabiwallet/package.nix b/pkgs/by-name/wa/wasabiwallet/package.nix index ad05e27385a6f..bb3d0ea440fff 100644 --- a/pkgs/by-name/wa/wasabiwallet/package.nix +++ b/pkgs/by-name/wa/wasabiwallet/package.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, autoPatchelfHook -, makeWrapper -, fetchurl -, makeDesktopItem -, lttng-ust_2_12 -, fontconfig -, openssl -, xorg -, zlib +{ + lib, + stdenv, + autoPatchelfHook, + makeWrapper, + fetchurl, + makeDesktopItem, + lttng-ust_2_12, + fontconfig, + openssl, + xorg, + zlib, }: let @@ -40,10 +42,16 @@ stdenv.mkDerivation rec { desktopName = "Wasabi"; genericName = "Bitcoin wallet"; comment = meta.description; - categories = [ "Network" "Utility" ]; + categories = [ + "Network" + "Utility" + ]; }; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; buildInputs = runtimeLibs ++ [ lttng-ust_2_12 ]; diff --git a/pkgs/by-name/wa/wash-cli/package.nix b/pkgs/by-name/wa/wash-cli/package.nix index 663273e54e4bb..aed9801132d01 100644 --- a/pkgs/by-name/wa/wash-cli/package.nix +++ b/pkgs/by-name/wa/wash-cli/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, darwin, fetchurl }: +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + pkg-config, + openssl, + darwin, + fetchurl, +}: let wasiPreviewCommandComponentAdapter = fetchurl { @@ -10,20 +19,22 @@ let hash = "sha256-oE53IRMZgysSWT7RhrpZJjdaIyzCRf0h4d1yjqj/PSk="; }; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "wash-cli"; version = "0.29.2"; src = fetchCrate { inherit version pname; - hash = "sha256-A66KSDYFbByguhnlzzU5nf8pE3lhnYQjI3h73SKB2Zo="; + hash = "sha256-A66KSDYFbByguhnlzzU5nf8pE3lhnYQjI3h73SKB2Zo="; }; cargoHash = "sha256-2mo30xHQ3aCExdI0ITDY9g/C5peN48PdUNFVVxM//+c="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration darwin.apple_sdk.frameworks.CoreServices diff --git a/pkgs/by-name/wa/wasm-tools/package.nix b/pkgs/by-name/wa/wasm-tools/package.nix index ba84d6383e294..a9980c2e6cfe7 100644 --- a/pkgs/by-name/wa/wasm-tools/package.nix +++ b/pkgs/by-name/wa/wasm-tools/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -18,10 +19,18 @@ rustPlatform.buildRustPackage rec { # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved. auditable = false; cargoHash = "sha256-il9Zdj50XBMCxiOyQwyToOtaP34hcklOwlDuVGEmyVY="; - cargoBuildFlags = [ "--package" "wasm-tools" ]; - cargoTestFlags = [ "--all" ] ++ + cargoBuildFlags = [ + "--package" + "wasm-tools" + ]; + cargoTestFlags = + [ "--all" ] + ++ # Due to https://github.com/bytecodealliance/wasm-tools/issues/1820 - [ "--" "--test-threads=1" ]; + [ + "--" + "--test-threads=1" + ]; meta = with lib; { description = "Low level tooling for WebAssembly in Rust"; diff --git a/pkgs/by-name/wa/wasm3/package.nix b/pkgs/by-name/wa/wasm3/package.nix index ab7ed45dcc711..0f820505e78ae 100644 --- a/pkgs/by-name/wa/wasm3/package.nix +++ b/pkgs/by-name/wa/wasm3/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, cmake, fetchFromGitHub }: +{ + lib, + stdenv, + cmake, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "wasm3"; diff --git a/pkgs/by-name/wa/wasmer-pack/package.nix b/pkgs/by-name/wa/wasmer-pack/package.nix index f1216ae12416a..e372640c9d4b3 100644 --- a/pkgs/by-name/wa/wasmer-pack/package.nix +++ b/pkgs/by-name/wa/wasmer-pack/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wa/wasmi/package.nix b/pkgs/by-name/wa/wasmi/package.nix index 558a27cce29ae..430e9cf7276da 100644 --- a/pkgs/by-name/wa/wasmi/package.nix +++ b/pkgs/by-name/wa/wasmi/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { @@ -27,7 +28,10 @@ rustPlatform.buildRustPackage rec { description = "Efficient WebAssembly interpreter"; homepage = "https://github.com/paritytech/wasmi"; changelog = "https://github.com/paritytech/wasmi/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; mainProgram = "wasmi_cli"; maintainers = with maintainers; [ dit7ya ]; }; diff --git a/pkgs/by-name/wa/wastebin/package.nix b/pkgs/by-name/wa/wastebin/package.nix index f63429bff2488..82bf03f601f38 100644 --- a/pkgs/by-name/wa/wastebin/package.nix +++ b/pkgs/by-name/wa/wastebin/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, sqlite -, zstd -, stdenv -, darwin -, nixosTests +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + sqlite, + zstd, + stdenv, + darwin, + nixosTests, }: rustPlatform.buildRustPackage rec { @@ -26,12 +27,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - sqlite - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + sqlite + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; env = { ZSTD_SYS_USE_PKG_CONFIG = true; @@ -46,7 +49,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/matze/wastebin"; changelog = "https://github.com/matze/wastebin/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ pinpox matthiasbeyer ]; + maintainers = with maintainers; [ + pinpox + matthiasbeyer + ]; mainProgram = "wastebin"; }; } diff --git a/pkgs/by-name/wa/wasynth/package.nix b/pkgs/by-name/wa/wasynth/package.nix index bf7f0250f4059..7f3f132cceb4c 100644 --- a/pkgs/by-name/wa/wasynth/package.nix +++ b/pkgs/by-name/wa/wasynth/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wa/watchdogd/package.nix b/pkgs/by-name/wa/watchdogd/package.nix index 4781257c88f9d..a725a78f7278e 100644 --- a/pkgs/by-name/wa/watchdogd/package.nix +++ b/pkgs/by-name/wa/watchdogd/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, autoreconfHook -, libite -, libuev -, libconfuse -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + libite, + libuev, + libconfuse, + nixosTests, }: stdenv.mkDerivation rec { pname = "watchdogd"; @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-JNJj0CJGJXuIRpob2RXYqDRrU4Cn20PRxOjQ6TFsVYQ="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ libite libuev libconfuse ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + libite + libuev + libconfuse + ]; passthru.tests = { inherit (nixosTests) watchdogd; }; diff --git a/pkgs/by-name/wa/watchmate/package.nix b/pkgs/by-name/wa/watchmate/package.nix index eebcc3cce0118..f7be89bed47ea 100644 --- a/pkgs/by-name/wa/watchmate/package.nix +++ b/pkgs/by-name/wa/watchmate/package.nix @@ -10,57 +10,58 @@ openssl, wrapGAppsHook4, glib, -}: let +}: +let releaseVersion = "0.5.2"; in - rustPlatform.buildRustPackage rec { - pname = "watchmate"; - version = "${releaseVersion}-unstable-2024-08-13"; +rustPlatform.buildRustPackage rec { + pname = "watchmate"; + version = "${releaseVersion}-unstable-2024-08-13"; - src = fetchFromGitHub { - owner = "azymohliad"; - repo = "watchmate"; - rev = "e05edfae94a1973110c6f40f25133d5979f485ab"; - hash = "sha256-fHWxn7hFx/9cnLlCHIC6hIJaLd1U3Ii9mJgTJ+Hw63M="; - }; + src = fetchFromGitHub { + owner = "azymohliad"; + repo = "watchmate"; + rev = "e05edfae94a1973110c6f40f25133d5979f485ab"; + hash = "sha256-fHWxn7hFx/9cnLlCHIC6hIJaLd1U3Ii9mJgTJ+Hw63M="; + }; - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "mpris2-zbus-0.1.0" = "sha256-a/cvbB0M9cUd8RP5XxgHRbJ/i/UKAEK4DTwwUU69IuY="; - }; + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "mpris2-zbus-0.1.0" = "sha256-a/cvbB0M9cUd8RP5XxgHRbJ/i/UKAEK4DTwwUU69IuY="; }; + }; - nativeBuildInputs = [ - pkg-config - wrapGAppsHook4 - glib - ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + glib + ]; - buildInputs = [ - gtk4 - libadwaita - bluez - dbus - openssl - ]; + buildInputs = [ + gtk4 + libadwaita + bluez + dbus + openssl + ]; - postInstall = '' - install -Dm444 assets/io.gitlab.azymohliad.WatchMate.desktop -t $out/share/applications/ - install -Dm444 assets/io.gitlab.azymohliad.WatchMate.metainfo.xml -t $out/share/metainfo/ - install -Dm444 assets/io.gitlab.azymohliad.WatchMate.gschema.xml -t $out/share/glib-2.0/schemas/ - glib-compile-schemas $out/share/glib-2.0/schemas/ - install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate.svg -t $out/share/icons/hicolor/scalable/apps/ - install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate-symbolic.svg -t $out/share/icons/hicolor/scalable/apps/ - ''; + postInstall = '' + install -Dm444 assets/io.gitlab.azymohliad.WatchMate.desktop -t $out/share/applications/ + install -Dm444 assets/io.gitlab.azymohliad.WatchMate.metainfo.xml -t $out/share/metainfo/ + install -Dm444 assets/io.gitlab.azymohliad.WatchMate.gschema.xml -t $out/share/glib-2.0/schemas/ + glib-compile-schemas $out/share/glib-2.0/schemas/ + install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate.svg -t $out/share/icons/hicolor/scalable/apps/ + install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate-symbolic.svg -t $out/share/icons/hicolor/scalable/apps/ + ''; - meta = with lib; { - description = "PineTime smart watch companion app for Linux phone and desktop"; - mainProgram = "watchmate"; - homepage = "https://github.com/azymohliad/watchmate"; - changelog = "https://github.com/azymohliad/watchmate/raw/v${releaseVersion}/CHANGELOG.md"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [chuangzhu]; - platforms = platforms.linux; - }; - } + meta = with lib; { + description = "PineTime smart watch companion app for Linux phone and desktop"; + mainProgram = "watchmate"; + homepage = "https://github.com/azymohliad/watchmate"; + changelog = "https://github.com/azymohliad/watchmate/raw/v${releaseVersion}/CHANGELOG.md"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chuangzhu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/wa/watershot/package.nix b/pkgs/by-name/wa/watershot/package.nix index 3935b3ef211c3..074cc182fa32a 100644 --- a/pkgs/by-name/wa/watershot/package.nix +++ b/pkgs/by-name/wa/watershot/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wayland -, libxkbcommon -, fontconfig -, makeWrapper -, grim +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wayland, + libxkbcommon, + fontconfig, + makeWrapper, + grim, }: rustPlatform.buildRustPackage rec { pname = "watershot"; @@ -21,9 +22,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-481E5/mUeeoaZ0N//tRWCyV8/sRRP6VdB06gB1whgzU="; - nativeBuildInputs = [ pkg-config wayland makeWrapper ]; + nativeBuildInputs = [ + pkg-config + wayland + makeWrapper + ]; - buildInputs = [ wayland fontconfig libxkbcommon ]; + buildInputs = [ + wayland + fontconfig + libxkbcommon + ]; postInstall = '' wrapProgram $out/bin/watershot \ diff --git a/pkgs/by-name/wa/watson/package.nix b/pkgs/by-name/wa/watson/package.nix index 8cf348020c437..93c5974e7bdfd 100644 --- a/pkgs/by-name/wa/watson/package.nix +++ b/pkgs/by-name/wa/watson/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, python3, installShellFiles, fetchpatch }: +{ + lib, + fetchFromGitHub, + python3, + installShellFiles, + fetchpatch, +}: with python3.pkgs; @@ -28,8 +34,18 @@ buildPythonApplication rec { installShellCompletion --fish watson.fish ''; - nativeCheckInputs = [ pytestCheckHook pytest-mock mock pytest-datafiles ]; - propagatedBuildInputs = [ arrow click click-didyoumean requests ]; + nativeCheckInputs = [ + pytestCheckHook + pytest-mock + mock + pytest-datafiles + ]; + propagatedBuildInputs = [ + arrow + click + click-didyoumean + requests + ]; nativeBuildInputs = [ installShellFiles ]; meta = with lib; { @@ -37,6 +53,10 @@ buildPythonApplication rec { description = "Wonderful CLI to track your time!"; mainProgram = "watson"; license = licenses.mit; - maintainers = with maintainers; [ mguentner nathyong oxzi ]; + maintainers = with maintainers; [ + mguentner + nathyong + oxzi + ]; }; } diff --git a/pkgs/by-name/wa/wavefunctioncollapse/package.nix b/pkgs/by-name/wa/wavefunctioncollapse/package.nix index 0aabe83542706..82e289116149f 100644 --- a/pkgs/by-name/wa/wavefunctioncollapse/package.nix +++ b/pkgs/by-name/wa/wavefunctioncollapse/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, mono}: +{ + lib, + stdenv, + fetchFromGitHub, + mono, +}: stdenv.mkDerivation rec { pname = "wavefunctioncollapse"; version = "0.0pre20170130"; @@ -23,11 +28,11 @@ stdenv.mkDerivation rec { echo "'${mono}/bin/mono' '$out/bin/wavefunctioncollapse.exe' \"\$@\"" >> "$out/bin/wavefunctioncollapse" chmod a+x "$out/bin/wavefunctioncollapse" ''; - buildInputs = [mono]; + buildInputs = [ mono ]; meta = { description = "Generator of bitmaps that are locally similar to the input bitmap"; license = lib.licenses.mit; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/wa/wavegain/package.nix b/pkgs/by-name/wa/wavegain/package.nix index 49c66b07a91c6..355a80166ed9f 100644 --- a/pkgs/by-name/wa/wavegain/package.nix +++ b/pkgs/by-name/wa/wavegain/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation { pname = "wavegain"; diff --git a/pkgs/by-name/wa/wavemon/package.nix b/pkgs/by-name/wa/wavemon/package.nix index 6d05569de8ad7..d5da2ca88f7f2 100644 --- a/pkgs/by-name/wa/wavemon/package.nix +++ b/pkgs/by-name/wa/wavemon/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, libnl -, ncurses -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + libnl, + ncurses, + pkg-config, }: stdenv.mkDerivation rec { @@ -30,7 +31,10 @@ stdenv.mkDerivation rec { description = "Ncurses-based monitoring application for wireless network devices"; homepage = "https://github.com/uoaerg/wavemon"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ raskin fpletz ]; + maintainers = with maintainers; [ + raskin + fpletz + ]; platforms = platforms.linux; mainProgram = "wavemon"; }; diff --git a/pkgs/by-name/wa/wavpack/package.nix b/pkgs/by-name/wa/wavpack/package.nix index 4cd3007043cfb..906521e602dd0 100644 --- a/pkgs/by-name/wa/wavpack/package.nix +++ b/pkgs/by-name/wa/wavpack/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, gettext, autoreconfHook, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + autoreconfHook, + libiconv, +}: stdenv.mkDerivation rec { pname = "wavpack"; @@ -19,14 +26,19 @@ stdenv.mkDerivation rec { hash = "sha256-vFZxg1mVqE7Kp38vEGA5V8m2tjqhssFsUZURixhlfk0="; }; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; meta = with lib; { description = "Hybrid audio compression format"; - homepage = "https://www.wavpack.com/"; - changelog = "https://github.com/dbry/WavPack/releases/tag/${version}"; - license = licenses.bsd3; - platforms = platforms.unix; + homepage = "https://www.wavpack.com/"; + changelog = "https://github.com/dbry/WavPack/releases/tag/${version}"; + license = licenses.bsd3; + platforms = platforms.unix; maintainers = with maintainers; [ codyopel ]; }; } diff --git a/pkgs/by-name/wa/wavrsocvt/package.nix b/pkgs/by-name/wa/wavrsocvt/package.nix index 7b805496c2d8c..5844537db2526 100644 --- a/pkgs/by-name/wa/wavrsocvt/package.nix +++ b/pkgs/by-name/wa/wavrsocvt/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation { pname = "wavrsocvt"; diff --git a/pkgs/by-name/wa/way-displays/package.nix b/pkgs/by-name/wa/way-displays/package.nix index 0d694bc5029ab..7bb884ee0a9b3 100644 --- a/pkgs/by-name/wa/way-displays/package.nix +++ b/pkgs/by-name/wa/way-displays/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, wayland-scanner -, wayland -, libinput -, yaml-cpp +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + wayland-scanner, + wayland, + libinput, + yaml-cpp, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wa/wayback-machine-archiver/package.nix b/pkgs/by-name/wa/wayback-machine-archiver/package.nix index 034cc303e6edd..cf7e7da82f90e 100644 --- a/pkgs/by-name/wa/wayback-machine-archiver/package.nix +++ b/pkgs/by-name/wa/wayback-machine-archiver/package.nix @@ -1,4 +1,8 @@ -{ lib, python3, fetchFromGitHub }: +{ + lib, + python3, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication rec { pname = "wayback-machine-archiver"; @@ -13,7 +17,10 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = with python3.pkgs; [ pypandoc ]; propagatedBuildInputs = with python3.pkgs; [ requests ]; - nativeCheckInputs = with python3.pkgs; [ pytestCheckHook requests-mock ]; + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + requests-mock + ]; postPatch = '' substituteInPlace setup.py \ diff --git a/pkgs/by-name/wa/wayback/package.nix b/pkgs/by-name/wa/wayback/package.nix index 7d7068e7a4180..3750a15b05b27 100644 --- a/pkgs/by-name/wa/wayback/package.nix +++ b/pkgs/by-name/wa/wayback/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, chromium +{ + lib, + fetchFromGitHub, + buildGoModule, + chromium, }: buildGoModule rec { diff --git a/pkgs/by-name/wa/waybar/package.nix b/pkgs/by-name/wa/waybar/package.nix index 8fcd8869a2820..e6d004a801bd8 100644 --- a/pkgs/by-name/wa/waybar/package.nix +++ b/pkgs/by-name/wa/waybar/package.nix @@ -113,13 +113,16 @@ stdenv.mkDerivation (finalAttrs: { popd ''; - nativeBuildInputs = [ - meson - ninja - pkg-config - wayland-scanner - wrapGAppsHook3 - ] ++ lib.optional withMediaPlayer gobject-introspection ++ lib.optional enableManpages scdoc; + nativeBuildInputs = + [ + meson + ninja + pkg-config + wayland-scanner + wrapGAppsHook3 + ] + ++ lib.optional withMediaPlayer gobject-introspection + ++ lib.optional enableManpages scdoc; propagatedBuildInputs = lib.optionals withMediaPlayer [ glib diff --git a/pkgs/by-name/wa/waybox/package.nix b/pkgs/by-name/wa/waybox/package.nix index 28b055546ca7c..4908afd37caa1 100644 --- a/pkgs/by-name/wa/waybox/package.nix +++ b/pkgs/by-name/wa/waybox/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libGL -, libxkbcommon -, libxml2 -, libevdev -, libinput -, mesa -, meson -, ninja -, pixman -, pkg-config -, udev -, wayland -, wayland-protocols -, wayland-scanner -, wlroots +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libGL, + libxkbcommon, + libxml2, + libevdev, + libinput, + mesa, + meson, + ninja, + pixman, + pkg-config, + udev, + wayland, + wayland-protocols, + wayland-scanner, + wlroots, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wa/wayfarer/package.nix b/pkgs/by-name/wa/wayfarer/package.nix index cbfb7c149744e..d9d03e709e6d8 100644 --- a/pkgs/by-name/wa/wayfarer/package.nix +++ b/pkgs/by-name/wa/wayfarer/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, blueprint-compiler -, desktop-file-utils -, gst_all_1 -, gtk4 -, libpulseaudio -, meson -, ninja -, pipewire -, pkg-config -, vala -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + blueprint-compiler, + desktop-file-utils, + gst_all_1, + gtk4, + libpulseaudio, + meson, + ninja, + pipewire, + pkg-config, + vala, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wa/wayfreeze/package.nix b/pkgs/by-name/wa/wayfreeze/package.nix index 7a53a49f6fb73..8766250eb1ddb 100644 --- a/pkgs/by-name/wa/wayfreeze/package.nix +++ b/pkgs/by-name/wa/wayfreeze/package.nix @@ -31,7 +31,7 @@ rustPlatform.buildRustPackage { license = licenses.agpl3Only; maintainers = with lib.maintainers; [ purrpurrn - jappie3 /* upstream dev */ + jappie3 # upstream dev ]; mainProgram = "wayfreeze"; platforms = platforms.linux; diff --git a/pkgs/by-name/wa/wayidle/package.nix b/pkgs/by-name/wa/wayidle/package.nix index 693459de045bc..ebe51dd5e100a 100644 --- a/pkgs/by-name/wa/wayidle/package.nix +++ b/pkgs/by-name/wa/wayidle/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromSourcehut +{ + lib, + rustPlatform, + fetchFromSourcehut, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wa/wayland-logout/package.nix b/pkgs/by-name/wa/wayland-logout/package.nix index 272b3dfbe06fc..0292b42e5a5b3 100644 --- a/pkgs/by-name/wa/wayland-logout/package.nix +++ b/pkgs/by-name/wa/wayland-logout/package.nix @@ -14,15 +14,18 @@ stdenv.mkDerivation rec { rev = "v${version}"; hash = "sha256-VSAw6go4v937HWazXfMz8OdHgOnUtrlDXkslsV4eDIg="; }; - nativeBuildInputs = [meson ninja]; + nativeBuildInputs = [ + meson + ninja + ]; meta = with lib; { description = '' A utility designed to kill a single instance of a wayland compositor ''; mainProgram = "wayland-logout"; homepage = "https://github.com/soreau/wayland-logout"; - maintainers = with maintainers; [quantenzitrone]; - license = with licenses; [mit]; + maintainers = with maintainers; [ quantenzitrone ]; + license = with licenses; [ mit ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/wa/wayland-pipewire-idle-inhibit/package.nix b/pkgs/by-name/wa/wayland-pipewire-idle-inhibit/package.nix index ac49b80c5833e..60e20ed60d018 100644 --- a/pkgs/by-name/wa/wayland-pipewire-idle-inhibit/package.nix +++ b/pkgs/by-name/wa/wayland-pipewire-idle-inhibit/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, pipewire -, pkg-config -, rustPlatform -, wayland -, wayland-protocols +{ + lib, + fetchFromGitHub, + pipewire, + pkg-config, + rustPlatform, + wayland, + wayland-protocols, }: rustPlatform.buildRustPackage rec { pname = "wayland-pipewire-idle-inhibit"; @@ -39,4 +40,3 @@ rustPlatform.buildRustPackage rec { mainProgram = "wayland-pipewire-idle-inhibit"; }; } - diff --git a/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix b/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix index cd24af3217c47..8af6fb0672936 100644 --- a/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix +++ b/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, ocamlPackages -, pkg-config -, libdrm -, unstableGitUpdater +{ + lib, + fetchFromGitHub, + ocamlPackages, + pkg-config, + libdrm, + unstableGitUpdater, }: ocamlPackages.buildDunePackage rec { @@ -23,15 +24,17 @@ ocamlPackages.buildDunePackage rec { pkg-config ]; - buildInputs = [ libdrm ] ++ (with ocamlPackages; [ - dune-configurator - eio_main - ppx_cstruct - wayland - cmdliner - logs - ppx_cstruct - ]); + buildInputs = + [ libdrm ] + ++ (with ocamlPackages; [ + dune-configurator + eio_main + ppx_cstruct + wayland + cmdliner + logs + ppx_cstruct + ]); doCheck = true; @@ -42,7 +45,10 @@ ocamlPackages.buildDunePackage rec { description = "Proxy Wayland connections across a VM boundary"; license = licenses.asl20; mainProgram = "wayland-proxy-virtwl"; - maintainers = [ maintainers.qyliss maintainers.sternenseemann ]; + maintainers = [ + maintainers.qyliss + maintainers.sternenseemann + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/wa/wayland-utils/package.nix b/pkgs/by-name/wa/wayland-utils/package.nix index 948bb758110b0..c938f9a0dfa12 100644 --- a/pkgs/by-name/wa/wayland-utils/package.nix +++ b/pkgs/by-name/wa/wayland-utils/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl -, meson, pkg-config, ninja, wayland-scanner -, libdrm, wayland, wayland-protocols +{ + lib, + stdenv, + fetchurl, + meson, + pkg-config, + ninja, + wayland-scanner, + libdrm, + wayland, + wayland-protocols, }: stdenv.mkDerivation rec { @@ -14,8 +22,17 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson pkg-config ninja wayland-scanner ]; - buildInputs = [ libdrm wayland wayland-protocols ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + wayland-scanner + ]; + buildInputs = [ + libdrm + wayland + wayland-protocols + ]; meta = with lib; { description = "Wayland utilities (wayland-info)"; diff --git a/pkgs/by-name/wa/waylevel/package.nix b/pkgs/by-name/wa/waylevel/package.nix index f0688ebf47eeb..615f22f92bf90 100644 --- a/pkgs/by-name/wa/waylevel/package.nix +++ b/pkgs/by-name/wa/waylevel/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromSourcehut -, rustPlatform -, wayland +{ + lib, + fetchFromSourcehut, + rustPlatform, + wayland, }: rustPlatform.buildRustPackage rec { pname = "waylevel"; @@ -17,7 +18,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-gw5m1/btJ5zZP04C7BCnHqEOUBoeu0whK8W7xA+xSQo="; postFixup = '' - patchelf --set-rpath ${lib.makeLibraryPath [wayland]} $out/bin/waylevel + patchelf --set-rpath ${lib.makeLibraryPath [ wayland ]} $out/bin/waylevel ''; meta = with lib; { diff --git a/pkgs/by-name/wa/waylogout/package.nix b/pkgs/by-name/wa/waylogout/package.nix index 7aceb80e2d46b..c201f0a63e687 100644 --- a/pkgs/by-name/wa/waylogout/package.nix +++ b/pkgs/by-name/wa/waylogout/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wayland -, wayland-protocols -, wayland-scanner -, libxkbcommon -, cairo -, gdk-pixbuf -, scdoc +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wayland, + wayland-protocols, + wayland-scanner, + libxkbcommon, + cairo, + gdk-pixbuf, + scdoc, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/wa/waylyrics/package.nix b/pkgs/by-name/wa/waylyrics/package.nix index dac4db24559ea..d7d6bad52b107 100644 --- a/pkgs/by-name/wa/waylyrics/package.nix +++ b/pkgs/by-name/wa/waylyrics/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, openssl -, dbus +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + openssl, + dbus, }: rustPlatform.buildRustPackage rec { @@ -20,8 +21,14 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Os7djeTDChNWXWbmDuJWJnf7E+U/V14Jg4cLOMAKhu4="; - nativeBuildInputs = [ pkg-config wrapGAppsHook4 ]; - buildInputs = [ openssl dbus ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + ]; + buildInputs = [ + openssl + dbus + ]; checkFlags = [ "--skip=tests::netease_lyric::get_netease_lyric" # Requires network access @@ -57,8 +64,14 @@ rustPlatform.buildRustPackage rec { description = "Desktop lyrics with QQ and NetEase Music source"; mainProgram = "waylyrics"; homepage = "https://github.com/waylyrics/waylyrics"; - license = with licenses; [ mit cc-by-40 ]; - maintainers = with maintainers; [ shadowrz aleksana ]; + license = with licenses; [ + mit + cc-by-40 + ]; + maintainers = with maintainers; [ + shadowrz + aleksana + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/wa/waynergy/package.nix b/pkgs/by-name/wa/waynergy/package.nix index 434303c45b737..bbb3cf9bc11db 100644 --- a/pkgs/by-name/wa/waynergy/package.nix +++ b/pkgs/by-name/wa/waynergy/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, pkg-config -, ninja -, wayland-scanner -, libdrm -, wayland -, wayland-protocols -, wl-clipboard -, libxkbcommon -, libressl +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, + wayland-scanner, + libdrm, + wayland, + wayland-protocols, + wl-clipboard, + libxkbcommon, + libressl, }: stdenv.mkDerivation rec { pname = "waynergy"; @@ -24,8 +25,20 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ]; - buildInputs = [ libdrm wayland wayland-protocols wl-clipboard libxkbcommon libressl ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + wayland-scanner + ]; + buildInputs = [ + libdrm + wayland + wayland-protocols + wl-clipboard + libxkbcommon + libressl + ]; postPatch = '' substituteInPlace waynergy.desktop --replace "Exec=/usr/bin/waynergy" "Exec=$out/bin/waynergy" diff --git a/pkgs/by-name/wa/wayout/package.nix b/pkgs/by-name/wa/wayout/package.nix index 7bd9f3a644820..c9cde3d6f3531 100644 --- a/pkgs/by-name/wa/wayout/package.nix +++ b/pkgs/by-name/wa/wayout/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromSourcehut +{ + lib, + rustPlatform, + fetchFromSourcehut, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wa/waypaper/package.nix b/pkgs/by-name/wa/waypaper/package.nix index 924a7e766a70d..cae8f1f7c5b5d 100644 --- a/pkgs/by-name/wa/waypaper/package.nix +++ b/pkgs/by-name/wa/waypaper/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchFromGitHub -, gobject-introspection -, wrapGAppsHook3 -, killall +{ + lib, + python3, + fetchFromGitHub, + gobject-introspection, + wrapGAppsHook3, + killall, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wa/waypipe/package.nix b/pkgs/by-name/wa/waypipe/package.nix index cef986ddae012..53c1ceabb2e01 100644 --- a/pkgs/by-name/wa/waypipe/package.nix +++ b/pkgs/by-name/wa/waypipe/package.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchFromGitLab -, meson, ninja, pkg-config, scdoc -, mesa, lz4, zstd, ffmpeg, libva -, wayland, wayland-scanner +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + scdoc, + mesa, + lz4, + zstd, + ffmpeg, + libva, + wayland, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -18,10 +29,20 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + wayland-scanner + ]; buildInputs = [ # Optional dependencies: - mesa lz4 zstd ffmpeg libva + mesa + lz4 + zstd + ffmpeg + libva wayland ]; diff --git a/pkgs/by-name/wa/wayshot/package.nix b/pkgs/by-name/wa/wayshot/package.nix index 0f46dc85a1cf9..43100b4f1a649 100644 --- a/pkgs/by-name/wa/wayshot/package.nix +++ b/pkgs/by-name/wa/wayshot/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "wayshot"; @@ -22,7 +23,10 @@ rustPlatform.buildRustPackage rec { description = "Native, blazing-fast screenshot tool for wlroots based compositors such as sway and river"; homepage = "https://github.com/waycrate/wayshot"; license = licenses.bsd2; - maintainers = with maintainers; [ dit7ya id3v1669 ]; + maintainers = with maintainers; [ + dit7ya + id3v1669 + ]; platforms = platforms.linux; mainProgram = "wayshot"; }; diff --git a/pkgs/by-name/wa/wayst/package.nix b/pkgs/by-name/wa/wayst/package.nix index e1522450a1dc4..4c2c10049bceb 100644 --- a/pkgs/by-name/wa/wayst/package.nix +++ b/pkgs/by-name/wa/wayst/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, nixosTests -, freetype -, fontconfig -, libGL -, libX11 -, libXrandr -, libxcb -, libxkbcommon -, utf8proc -, wayland +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + nixosTests, + freetype, + fontconfig, + libGL, + libX11, + libXrandr, + libxcb, + libxkbcommon, + utf8proc, + wayland, -, libnotify -, xdg-utils -, makeDesktopItem + libnotify, + xdg-utils, + makeDesktopItem, }: let @@ -25,8 +26,14 @@ let genericName = "Terminal"; exec = "wayst"; icon = "wayst"; - categories = [ "System" "TerminalEmulator" ]; - keywords = [ "wayst" "terminal" ]; + categories = [ + "System" + "TerminalEmulator" + ]; + keywords = [ + "wayst" + "terminal" + ]; comment = "A simple terminal emulator"; }; in diff --git a/pkgs/by-name/wa/wayv/package.nix b/pkgs/by-name/wa/wayv/package.nix index 3070748f0109e..55a58681a2462 100644 --- a/pkgs/by-name/wa/wayv/package.nix +++ b/pkgs/by-name/wa/wayv/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchFromGitHub, fetchpatch, libX11}: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libX11, +}: stdenv.mkDerivation rec { pname = "wayv"; version = "0.3"; @@ -33,8 +39,8 @@ stdenv.mkDerivation rec { meta = { description = "Gesture control for X11"; - license = lib.licenses.gpl2Plus ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2Plus; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; homepage = "https://github.com/mikemb/wayV"; mainProgram = "wayv"; diff --git a/pkgs/by-name/wa/wazero/package.nix b/pkgs/by-name/wa/wazero/package.nix index f6f780e20d3fd..4515449e5b67f 100644 --- a/pkgs/by-name/wa/wazero/package.nix +++ b/pkgs/by-name/wa/wazero/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, wazero +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + wazero, }: buildGoModule rec { diff --git a/pkgs/by-name/wb/wb32-dfu-updater/package.nix b/pkgs/by-name/wb/wb32-dfu-updater/package.nix index d8b9dc75b5307..91c9f24b9dbb1 100644 --- a/pkgs/by-name/wb/wb32-dfu-updater/package.nix +++ b/pkgs/by-name/wb/wb32-dfu-updater/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libusb1 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libusb1, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wb/wbg/package.nix b/pkgs/by-name/wb/wbg/package.nix index 65ce5cfff4834..4cc65f09df6f5 100644 --- a/pkgs/by-name/wb/wbg/package.nix +++ b/pkgs/by-name/wb/wbg/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitea -, pkg-config -, meson -, ninja -, pixman -, tllist -, wayland -, wayland-scanner -, wayland-protocols -, enablePNG ? true -, enableJPEG ? true -, enableWebp ? true -# Optional dependencies -, libpng -, libjpeg -, libwebp +{ + stdenv, + lib, + fetchFromGitea, + pkg-config, + meson, + ninja, + pixman, + tllist, + wayland, + wayland-scanner, + wayland-protocols, + enablePNG ? true, + enableJPEG ? true, + enableWebp ? true, + # Optional dependencies + libpng, + libjpeg, + libwebp, }: stdenv.mkDerivation rec { @@ -37,12 +38,14 @@ stdenv.mkDerivation rec { wayland-scanner ]; - buildInputs = [ - pixman - tllist - wayland - wayland-protocols - ] ++ lib.optional enablePNG libpng + buildInputs = + [ + pixman + tllist + wayland + wayland-protocols + ] + ++ lib.optional enablePNG libpng ++ lib.optional enableJPEG libjpeg ++ lib.optional enableWebp libwebp; diff --git a/pkgs/by-name/wb/wbox/package.nix b/pkgs/by-name/wb/wbox/package.nix index dad3f374f7ae9..80785d4c4d9d1 100644 --- a/pkgs/by-name/wb/wbox/package.nix +++ b/pkgs/by-name/wb/wbox/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "wbox"; diff --git a/pkgs/by-name/wc/wcalc/package.nix b/pkgs/by-name/wc/wcalc/package.nix index 92d53989ded8e..eb3a0655f8058 100644 --- a/pkgs/by-name/wc/wcalc/package.nix +++ b/pkgs/by-name/wc/wcalc/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, mpfr, readline }: +{ + lib, + stdenv, + fetchurl, + mpfr, + readline, +}: stdenv.mkDerivation rec { pname = "wcalc"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1vi8dl6rccqiq1apmpwawyg2ywx6a1ic1d3cvkf2hlwk1z11fb0f"; }; - buildInputs = [ mpfr readline ]; + buildInputs = [ + mpfr + readline + ]; meta = with lib; { description = "Command line calculator"; diff --git a/pkgs/by-name/wc/wcc/package.nix b/pkgs/by-name/wc/wcc/package.nix index 644e9ad646a80..3754246df189c 100644 --- a/pkgs/by-name/wc/wcc/package.nix +++ b/pkgs/by-name/wc/wcc/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, capstone, libbfd, libelf, libiberty, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + capstone, + libbfd, + libelf, + libiberty, + readline, +}: stdenv.mkDerivation { pname = "wcc-unstable"; @@ -12,7 +21,13 @@ stdenv.mkDerivation { fetchSubmodules = true; }; - buildInputs = [ capstone libbfd libelf libiberty readline ]; + buildInputs = [ + capstone + libbfd + libelf + libiberty + readline + ]; postPatch = '' sed -i src/wsh/include/libwitch/wsh.h src/wsh/scripts/INDEX \ diff --git a/pkgs/by-name/wc/wch-isp/package.nix b/pkgs/by-name/wc/wch-isp/package.nix index 3021c875f08bd..9161e960cbf82 100644 --- a/pkgs/by-name/wc/wch-isp/package.nix +++ b/pkgs/by-name/wc/wch-isp/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromSourcehut, pkg-config, libusb1 }: +{ + lib, + stdenv, + fetchFromSourcehut, + pkg-config, + libusb1, +}: stdenv.mkDerivation rec { pname = "wch-isp"; @@ -14,8 +20,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ libusb1 ]; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; - installTargets = [ "install" "install-rules" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; + installTargets = [ + "install" + "install-rules" + ]; meta = { description = "Firmware programmer for WCH microcontrollers over USB"; diff --git a/pkgs/by-name/wc/wcpg/package.nix b/pkgs/by-name/wc/wcpg/package.nix index 8f14b940f3834..f905a6373b343 100644 --- a/pkgs/by-name/wc/wcpg/package.nix +++ b/pkgs/by-name/wc/wcpg/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, blas -, gmp -, lapack -, libf2c -, mpfi -, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + blas, + gmp, + lapack, + libf2c, + mpfi, + mpfr, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wc/wcslib/package.nix b/pkgs/by-name/wc/wcslib/package.nix index 4d25e981d55d0..66374aab784ae 100644 --- a/pkgs/by-name/wc/wcslib/package.nix +++ b/pkgs/by-name/wc/wcslib/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, flex }: +{ + lib, + stdenv, + fetchurl, + flex, +}: stdenv.mkDerivation rec { pname = "wcslib"; @@ -13,7 +18,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = with lib; { homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/"; diff --git a/pkgs/by-name/wd/wdfs/package.nix b/pkgs/by-name/wd/wdfs/package.nix index 9c1b68cc63072..72c81823fcb9a 100644 --- a/pkgs/by-name/wd/wdfs/package.nix +++ b/pkgs/by-name/wd/wdfs/package.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchurl, glib, neon, fuse, autoreconfHook, pkg-config}: +{ + lib, + stdenv, + fetchurl, + glib, + neon, + fuse, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "wdfs-fuse"; @@ -8,8 +17,15 @@ stdenv.mkDerivation rec { url = "http://noedler.de/projekte/wdfs/wdfs-${version}.tar.gz"; sha256 = "fcf2e1584568b07c7f3683a983a9be26fae6534b8109e09167e5dff9114ba2e5"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [fuse glib neon]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + fuse + glib + neon + ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' # Fix the build on macOS with macFUSE installed. Needs autoreconfHook to diff --git a/pkgs/by-name/wd/wdiff/package.nix b/pkgs/by-name/wd/wdiff/package.nix index 767e02059a5db..52751e243336e 100644 --- a/pkgs/by-name/wd/wdiff/package.nix +++ b/pkgs/by-name/wd/wdiff/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, texinfo, which }: +{ + lib, + stdenv, + fetchurl, + texinfo, + which, +}: stdenv.mkDerivation rec { pname = "wdiff"; diff --git a/pkgs/by-name/wd/wdisplays/package.nix b/pkgs/by-name/wd/wdisplays/package.nix index 0f1cef974cc47..0f74c294abfa3 100644 --- a/pkgs/by-name/wd/wdisplays/package.nix +++ b/pkgs/by-name/wd/wdisplays/package.nix @@ -1,14 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, libepoxy -, wayland, wayland-scanner, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gtk3, + libepoxy, + wayland, + wayland-scanner, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { pname = "wdisplays"; version = "1.1.1"; - nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook3 wayland-scanner ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook3 + wayland-scanner + ]; - buildInputs = [ gtk3 libepoxy wayland ]; + buildInputs = [ + gtk3 + libepoxy + wayland + ]; src = fetchFromGitHub { owner = "artizirk"; diff --git a/pkgs/by-name/wd/wdomirror/package.nix b/pkgs/by-name/wd/wdomirror/package.nix index 8796b2036dd5d..d7e96d6513785 100644 --- a/pkgs/by-name/wd/wdomirror/package.nix +++ b/pkgs/by-name/wd/wdomirror/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wayland -, wayland-protocols -, fetchpatch -, wayland-scanner +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wayland, + wayland-protocols, + fetchpatch, + wayland-scanner, }: stdenv.mkDerivation { @@ -30,9 +31,17 @@ stdenv.mkDerivation { ]; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + ]; - buildInputs = [ wayland wayland-protocols ]; + buildInputs = [ + wayland + wayland-protocols + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/wd/wdt/package.nix b/pkgs/by-name/wd/wdt/package.nix index f8ff82167704c..0a7671a6725f9 100644 --- a/pkgs/by-name/wd/wdt/package.nix +++ b/pkgs/by-name/wd/wdt/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, folly -, gflags -, glog -, openssl -, double-conversion -, unstableGitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + folly, + gflags, + glog, + openssl, + double-conversion, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -22,7 +23,13 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ folly gflags glog openssl double-conversion ]; + buildInputs = [ + folly + gflags + glog + openssl + double-conversion + ]; # source is expected to be named wdt # https://github.com/facebook/wdt/blob/43319e59d0c77092468367cdadab37d12d7a2383/CMakeLists.txt#L238 diff --git a/pkgs/by-name/we/weasis/package.nix b/pkgs/by-name/we/weasis/package.nix index 999d815186228..579996b1be682 100644 --- a/pkgs/by-name/we/weasis/package.nix +++ b/pkgs/by-name/we/weasis/package.nix @@ -1,18 +1,22 @@ -{ lib -, stdenv -, fetchzip -, jre -, copyDesktopItems -, makeDesktopItem +{ + lib, + stdenv, + fetchzip, + jre, + copyDesktopItems, + makeDesktopItem, }: let throwSystem = throw "Unsupported system: ${stdenv.system}"; - platform = { - "x86_64-linux" = "linux-x86-64"; - }.${stdenv.system} or throwSystem; + platform = + { + "x86_64-linux" = "linux-x86-64"; + } + .${stdenv.system} or throwSystem; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "weasis"; version = "4.4.0"; @@ -72,7 +76,10 @@ in stdenv.mkDerivation rec { homepage = "https://weasis.org"; # Using changelog from releases as it is more accurate changelog = "https://github.com/nroduit/Weasis/releases/tag/v${version}"; - license = with lib.licenses; [ asl20 epl20 ]; + license = with lib.licenses; [ + asl20 + epl20 + ]; maintainers = [ ]; platforms = [ "x86_64-linux" ]; mainProgram = "Weasis"; diff --git a/pkgs/by-name/we/weather-icons/package.nix b/pkgs/by-name/we/weather-icons/package.nix index 00f9cebac121f..ccafa275f0b7f 100644 --- a/pkgs/by-name/we/weather-icons/package.nix +++ b/pkgs/by-name/we/weather-icons/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "weather-icons"; diff --git a/pkgs/by-name/we/weather/package.nix b/pkgs/by-name/we/weather/package.nix index 6f2d2045dd29f..8f11d236ecba3 100644 --- a/pkgs/by-name/we/weather/package.nix +++ b/pkgs/by-name/we/weather/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, python3, installShellFiles }: +{ + lib, + stdenv, + fetchurl, + python3, + installShellFiles, +}: stdenv.mkDerivation rec { version = "2.5.0"; diff --git a/pkgs/by-name/we/weave-gitops/package.nix b/pkgs/by-name/we/weave-gitops/package.nix index f26371d647117..b70aa20dba6a4 100644 --- a/pkgs/by-name/we/weave-gitops/package.nix +++ b/pkgs/by-name/we/weave-gitops/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildGoModule, stdenv, installShellFiles }: +{ + lib, + fetchFromGitHub, + buildGoModule, + stdenv, + installShellFiles, +}: buildGoModule rec { pname = "weave-gitops"; @@ -11,7 +17,11 @@ buildGoModule rec { sha256 = "sha256-Gm4DIQK8T+dTwB5swdrD+SjGgy/wFQ/fJYdSqNDSy9c="; }; - ldflags = [ "-s" "-w" "-X github.com/weaveworks/weave-gitops/cmd/gitops/version.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/weaveworks/weave-gitops/cmd/gitops/version.Version=${version}" + ]; vendorHash = "sha256-RiPBlpEQ69fhVf3B0qHQ+zEtPIet/Y/Jp/HfaTrIssE="; diff --git a/pkgs/by-name/we/weaviate/package.nix b/pkgs/by-name/we/weaviate/package.nix index cef923a241161..d0342f3146a63 100644 --- a/pkgs/by-name/we/weaviate/package.nix +++ b/pkgs/by-name/we/weaviate/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,11 @@ buildGoModule rec { subPackages = [ "cmd/weaviate-server" ]; - ldflags = [ "-w" "-extldflags" "-static" ]; + ldflags = [ + "-w" + "-extldflags" + "-static" + ]; postInstall = '' ln -s $out/bin/weaviate-server $out/bin/weaviate diff --git a/pkgs/by-name/we/web-ext/package.nix b/pkgs/by-name/we/web-ext/package.nix index 5789d1e11ee2c..5123992e38c65 100644 --- a/pkgs/by-name/we/web-ext/package.nix +++ b/pkgs/by-name/we/web-ext/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, runCommand -, web-ext +{ + lib, + buildNpmPackage, + fetchFromGitHub, + runCommand, + web-ext, }: buildNpmPackage rec { diff --git a/pkgs/by-name/we/webalizer/package.nix b/pkgs/by-name/we/webalizer/package.nix index 0ea806f29d3c9..8ce9dd3dd3a2b 100644 --- a/pkgs/by-name/we/webalizer/package.nix +++ b/pkgs/by-name/we/webalizer/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, zlib, libpng, gd, geoip, db }: +{ + lib, + stdenv, + fetchurl, + zlib, + libpng, + gd, + geoip, + db, +}: stdenv.mkDerivation rec { pname = "webalizer"; @@ -15,13 +24,18 @@ stdenv.mkDerivation rec { installFlags = [ "MANDIR=\${out}/share/man/man1" ]; - preConfigure = - '' - substituteInPlace ./configure \ - --replace "--static" "" - ''; - - buildInputs = [ zlib libpng gd geoip db ]; + preConfigure = '' + substituteInPlace ./configure \ + --replace "--static" "" + ''; + + buildInputs = [ + zlib + libpng + gd + geoip + db + ]; configureFlags = [ "--enable-dns" diff --git a/pkgs/by-name/we/webanalyze/package.nix b/pkgs/by-name/we/webanalyze/package.nix index 427d84c5282db..59582a061e3d3 100644 --- a/pkgs/by-name/we/webanalyze/package.nix +++ b/pkgs/by-name/we/webanalyze/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/we/webcat/package.nix b/pkgs/by-name/we/webcat/package.nix index 2fff1266eb9cd..b9af144572269 100644 --- a/pkgs/by-name/we/webcat/package.nix +++ b/pkgs/by-name/we/webcat/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, asciidoctor, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + asciidoctor, + installShellFiles, +}: buildGoModule rec { pname = "webcat"; @@ -13,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-duVp/obT+5M4Dl3BAdSgRaP3+LKmS0y51loMMdoGysw="; - nativeBuildInputs = [ asciidoctor installShellFiles ]; + nativeBuildInputs = [ + asciidoctor + installShellFiles + ]; postInstall = '' make -C man man diff --git a/pkgs/by-name/we/webdav-server-rs/package.nix b/pkgs/by-name/we/webdav-server-rs/package.nix index e7e5b6a0edb80..c89dbded735c6 100644 --- a/pkgs/by-name/we/webdav-server-rs/package.nix +++ b/pkgs/by-name/we/webdav-server-rs/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, libtirpc -, pam -, rpcsvc-proto -, enablePAM ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libtirpc, + pam, + rpcsvc-proto, + enablePAM ? stdenv.hostPlatform.isLinux, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/we/webex/package.nix b/pkgs/by-name/we/webex/package.nix index 3a03bef180a9a..0b878d9004f9b 100644 --- a/pkgs/by-name/we/webex/package.nix +++ b/pkgs/by-name/we/webex/package.nix @@ -1,57 +1,58 @@ -{ lib -, writeScript -, stdenv -, fetchurl -, alsa-lib -, at-spi2-atk -, at-spi2-core -, atk -, cairo -, cups -, dbus -, expat -, fontconfig -, freetype -, gdk-pixbuf -, glib -, gtk3 -, harfbuzz -, libdrm -, libgcrypt -, libglvnd -, libkrb5 -, libpulseaudio -, libsecret -, udev -, libxcb -, libxkbcommon -, libxcrypt-legacy -, lshw -, mesa -, nspr -, nss -, pango -, zlib -, libX11 -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXrandr -, libXrender -, libXtst -, libxshmfence -, xcbutil -, xcbutilimage -, xcbutilkeysyms -, xcbutilrenderutil -, xcbutilwm -, p7zip -, tbb -, wayland -, libXScrnSaver +{ + lib, + writeScript, + stdenv, + fetchurl, + alsa-lib, + at-spi2-atk, + at-spi2-core, + atk, + cairo, + cups, + dbus, + expat, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + harfbuzz, + libdrm, + libgcrypt, + libglvnd, + libkrb5, + libpulseaudio, + libsecret, + udev, + libxcb, + libxkbcommon, + libxcrypt-legacy, + lshw, + mesa, + nspr, + nss, + pango, + zlib, + libX11, + libXcomposite, + libXcursor, + libXdamage, + libXext, + libXfixes, + libXi, + libXrandr, + libXrender, + libXtst, + libxshmfence, + xcbutil, + xcbutilimage, + xcbutilkeysyms, + xcbutilrenderutil, + xcbutilwm, + p7zip, + tbb, + wayland, + libXScrnSaver, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/we/webfontkitgenerator/package.nix b/pkgs/by-name/we/webfontkitgenerator/package.nix index 22f2e5e77b84f..9a807f3da04ef 100644 --- a/pkgs/by-name/we/webfontkitgenerator/package.nix +++ b/pkgs/by-name/we/webfontkitgenerator/package.nix @@ -1,22 +1,23 @@ -{ appstream-glib -, blueprint-compiler -, desktop-file-utils -, fetchFromGitHub -, gettext -, glib-networking -, gobject-introspection -, gtk4 -, gtksourceview5 -, lib -, libadwaita -, libsoup_3 -, meson -, ninja -, pkg-config -, python3 -, python3Packages -, stdenv -, wrapGAppsHook4 +{ + appstream-glib, + blueprint-compiler, + desktop-file-utils, + fetchFromGitHub, + gettext, + glib-networking, + gobject-introspection, + gtk4, + gtksourceview5, + lib, + libadwaita, + libsoup_3, + meson, + ninja, + pkg-config, + python3, + python3Packages, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { pname = "webfont-kit-generator"; @@ -48,11 +49,13 @@ stdenv.mkDerivation (finalAttrs: { gtksourceview5 libadwaita libsoup_3 - (python3.withPackages (ps: with ps; [ - brotli - fonttools - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + brotli + fonttools + pygobject3 + ] + )) ]; propagatedBuildInputs = [ diff --git a/pkgs/by-name/we/webfs/package.nix b/pkgs/by-name/we/webfs/package.nix index e3eb19a5d3490..02862c43e0275 100644 --- a/pkgs/by-name/we/webfs/package.nix +++ b/pkgs/by-name/we/webfs/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, mailcap, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + mailcap, + openssl, +}: stdenv.mkDerivation { pname = "webfs"; diff --git a/pkgs/by-name/we/webhook/package.nix b/pkgs/by-name/we/webhook/package.nix index 2b61d877f0bc8..d9ed2bb27b02f 100644 --- a/pkgs/by-name/we/webhook/package.nix +++ b/pkgs/by-name/we/webhook/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/by-name/we/webmesh/package.nix b/pkgs/by-name/we/webmesh/package.nix index 25b51d29e7347..85ca63bd85095 100644 --- a/pkgs/by-name/we/webmesh/package.nix +++ b/pkgs/by-name/we/webmesh/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, gitUpdater -, testers -, webmesh +{ + lib, + buildGoModule, + fetchFromGitHub, + gitUpdater, + testers, + webmesh, }: buildGoModule rec { @@ -21,7 +22,11 @@ buildGoModule rec { CGO_ENABLED = 0; - subPackages = [ "cmd/webmesh-node" "cmd/webmeshd" "cmd/wmctl" ]; + subPackages = [ + "cmd/webmesh-node" + "cmd/webmeshd" + "cmd/wmctl" + ]; ldflags = [ "-w" diff --git a/pkgs/by-name/we/webmetro/package.nix b/pkgs/by-name/we/webmetro/package.nix index f738c9e504035..12c60fe280500 100644 --- a/pkgs/by-name/we/webmetro/package.nix +++ b/pkgs/by-name/we/webmetro/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "webmetro"; @@ -16,12 +20,12 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Simple relay server for broadcasting a WebM stream"; longDescription = '' - Webmetro is a simple relay server for broadcasting a WebM stream - from one uploader to many downloaders, via HTTP. - The initialization segment is remembered, so that viewers can join - mid-stream. Cluster timestamps are rewritten to be monotonic, so multiple - (compatibly-encoded) webm files can be chained together without - clients needing to reconnect. + Webmetro is a simple relay server for broadcasting a WebM stream + from one uploader to many downloaders, via HTTP. + The initialization segment is remembered, so that viewers can join + mid-stream. Cluster timestamps are rewritten to be monotonic, so multiple + (compatibly-encoded) webm files can be chained together without + clients needing to reconnect. ''; license = with licenses; [ mit ]; maintainers = with maintainers; [ leenaars ]; diff --git a/pkgs/by-name/we/webp-pixbuf-loader/package.nix b/pkgs/by-name/we/webp-pixbuf-loader/package.nix index 78496c0e919e3..9448088c08c6c 100644 --- a/pkgs/by-name/we/webp-pixbuf-loader/package.nix +++ b/pkgs/by-name/we/webp-pixbuf-loader/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, makeWrapper -, gdk-pixbuf -, libwebp +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + makeWrapper, + gdk-pixbuf, + libwebp, }: let @@ -47,20 +48,22 @@ stdenv.mkDerivation rec { --replace "@bindir@/gdk-pixbuf-thumbnailer" "$out/libexec/gdk-pixbuf-thumbnailer-webp" ''; - postInstall = '' - GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}" \ - GDK_PIXBUF_MODULEDIR="$out/${moduleDir}" \ - gdk-pixbuf-query-loaders --update-cache + postInstall = + '' + GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}" \ + GDK_PIXBUF_MODULEDIR="$out/${moduleDir}" \ + gdk-pixbuf-query-loaders --update-cache - # gdk-pixbuf disables the thumbnailer in cross-builds (https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/fc37708313a5fc52083cf10c9326f3509d67701f) - # and therefore makeWrapper will fail because 'gdk-pixbuf-thumbnailer' the executable does not exist. - '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' - # It assumes gdk-pixbuf-thumbnailer can find the webp loader in the loaders.cache referenced by environment variable, breaking containment. - # So we replace it with a wrapped executable. - mkdir -p "$out/bin" - makeWrapper "${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer" "$out/libexec/gdk-pixbuf-thumbnailer-webp" \ - --set GDK_PIXBUF_MODULE_FILE "$out/${loadersPath}" - ''; + # gdk-pixbuf disables the thumbnailer in cross-builds (https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/fc37708313a5fc52083cf10c9326f3509d67701f) + # and therefore makeWrapper will fail because 'gdk-pixbuf-thumbnailer' the executable does not exist. + '' + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + # It assumes gdk-pixbuf-thumbnailer can find the webp loader in the loaders.cache referenced by environment variable, breaking containment. + # So we replace it with a wrapped executable. + mkdir -p "$out/bin" + makeWrapper "${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer" "$out/libexec/gdk-pixbuf-thumbnailer-webp" \ + --set GDK_PIXBUF_MODULE_FILE "$out/${loadersPath}" + ''; meta = with lib; { description = "WebP GDK Pixbuf Loader library"; diff --git a/pkgs/by-name/we/websocketd/package.nix b/pkgs/by-name/we/websocketd/package.nix index 92a65320b8c56..78e5db1f1ed92 100644 --- a/pkgs/by-name/we/websocketd/package.nix +++ b/pkgs/by-name/we/websocketd/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "websocketd"; diff --git a/pkgs/by-name/we/websocketpp/package.nix b/pkgs/by-name/we/websocketpp/package.nix index c325ade26e5ce..6b933480b0ba8 100644 --- a/pkgs/by-name/we/websocketpp/package.nix +++ b/pkgs/by-name/we/websocketpp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "websocket++"; diff --git a/pkgs/by-name/we/websploit/package.nix b/pkgs/by-name/we/websploit/package.nix index c653b15658c08..a868762e58e83 100644 --- a/pkgs/by-name/we/websploit/package.nix +++ b/pkgs/by-name/we/websploit/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/we/webtorrent_desktop/package.nix b/pkgs/by-name/we/webtorrent_desktop/package.nix index 9fd34a1eed1fc..ad5d289f727a9 100644 --- a/pkgs/by-name/we/webtorrent_desktop/package.nix +++ b/pkgs/by-name/we/webtorrent_desktop/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, electron, buildNpmPackage, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + electron, + buildNpmPackage, + fetchFromGitHub, + fetchpatch, +}: buildNpmPackage { pname = "webtorrent-desktop"; diff --git a/pkgs/by-name/we/webwormhole/package.nix b/pkgs/by-name/we/webwormhole/package.nix index 7e1fe8cbfb27d..f5a7f58a99803 100644 --- a/pkgs/by-name/we/webwormhole/package.nix +++ b/pkgs/by-name/we/webwormhole/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "webwormhole"; diff --git a/pkgs/by-name/we/wechat-uos/package.nix b/pkgs/by-name/we/wechat-uos/package.nix index 0ff4edb5cd3b4..c505dac72b282 100644 --- a/pkgs/by-name/we/wechat-uos/package.nix +++ b/pkgs/by-name/we/wechat-uos/package.nix @@ -1,49 +1,50 @@ -{ stdenvNoCC -, stdenv -, lib -, fetchurl -, dpkg -, nss -, nspr -, xorg -, pango -, zlib -, atkmm -, libdrm -, libxkbcommon -, xcbutilwm -, xcbutilimage -, xcbutilkeysyms -, xcbutilrenderutil -, mesa -, alsa-lib -, wayland -, atk -, qt6 -, at-spi2-atk -, at-spi2-core -, dbus -, cups -, gtk3 -, libxml2 -, cairo -, freetype -, fontconfig -, vulkan-loader -, gdk-pixbuf -, libexif -, ffmpeg -, pulseaudio -, systemd -, libuuid -, expat -, bzip2 -, glib -, libva -, libGL -, libnotify -, buildFHSEnv -, writeShellScript +{ + stdenvNoCC, + stdenv, + lib, + fetchurl, + dpkg, + nss, + nspr, + xorg, + pango, + zlib, + atkmm, + libdrm, + libxkbcommon, + xcbutilwm, + xcbutilimage, + xcbutilkeysyms, + xcbutilrenderutil, + mesa, + alsa-lib, + wayland, + atk, + qt6, + at-spi2-atk, + at-spi2-core, + dbus, + cups, + gtk3, + libxml2, + cairo, + freetype, + fontconfig, + vulkan-loader, + gdk-pixbuf, + libexif, + ffmpeg, + pulseaudio, + systemd, + libuuid, + expat, + bzip2, + glib, + libva, + libGL, + libnotify, + buildFHSEnv, + writeShellScript, }: let # zerocallusedregs hardening breaks WeChat @@ -132,12 +133,12 @@ let sources = import ./sources.nix; - wechat = stdenvNoCC.mkDerivation - rec { - pname = "wechat-uos"; - version = sources.version; + wechat = stdenvNoCC.mkDerivation rec { + pname = "wechat-uos"; + version = sources.version; - src = { + src = + { x86_64-linux = fetchurl { url = sources.amd64_url; hash = sources.amd64_hash; @@ -150,38 +151,46 @@ let url = sources.loongarch64_url; hash = sources.loongarch64_hash; }; - }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); + } + .${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); - nativeBuildInputs = [ dpkg ]; + nativeBuildInputs = [ dpkg ]; - unpackPhase = '' - runHook preUnpack + unpackPhase = '' + runHook preUnpack - dpkg -x $src ./wechat-uos + dpkg -x $src ./wechat-uos - runHook postUnpack - ''; + runHook postUnpack + ''; - # Use ln for license to prevent being garbage collection - installPhase = '' - runHook preInstall - mkdir -p $out + # Use ln for license to prevent being garbage collection + installPhase = '' + runHook preInstall + mkdir -p $out - cp -r wechat-uos/* $out + cp -r wechat-uos/* $out - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - description = "Messaging app"; - homepage = "https://weixin.qq.com/"; - license = licenses.unfree; - platforms = [ "x86_64-linux" "aarch64-linux" "loongarch64-linux" ]; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ pokon548 xddxdd ]; - mainProgram = "wechat-uos"; - }; + meta = with lib; { + description = "Messaging app"; + homepage = "https://weixin.qq.com/"; + license = licenses.unfree; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "loongarch64-linux" + ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ + pokon548 + xddxdd + ]; + mainProgram = "wechat-uos"; }; + }; in buildFHSEnv { inherit (wechat) pname version meta; @@ -214,5 +223,10 @@ buildFHSEnv { passthru.updateScript = ./update.sh; - extraOutputsToInstall = [ "usr" "var/lib/uos" "var/uos" "etc" ]; + extraOutputsToInstall = [ + "usr" + "var/lib/uos" + "var/uos" + "etc" + ]; } diff --git a/pkgs/by-name/we/weevely/package.nix b/pkgs/by-name/we/weevely/package.nix index bd640b2723b6b..ba72ac83cfb56 100644 --- a/pkgs/by-name/we/weevely/package.nix +++ b/pkgs/by-name/we/weevely/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, python3 -, python3Packages -, makeWrapper -, installShellFiles +{ + lib, + fetchFromGitHub, + python3, + python3Packages, + makeWrapper, + installShellFiles, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/we/weggli/package.nix b/pkgs/by-name/we/weggli/package.nix index 63f9ddd0f2071..a80fd37cc0991 100644 --- a/pkgs/by-name/we/weggli/package.nix +++ b/pkgs/by-name/we/weggli/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, testers -, weggli +{ + lib, + rustPlatform, + fetchFromGitHub, + testers, + weggli, }: rustPlatform.buildRustPackage rec { @@ -30,6 +31,9 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/weggli-rs/weggli/releases/tag/v${version}"; mainProgram = "weggli"; license = licenses.asl20; - maintainers = with maintainers; [ arturcygan mfrw ]; + maintainers = with maintainers; [ + arturcygan + mfrw + ]; }; } diff --git a/pkgs/by-name/we/wego/package.nix b/pkgs/by-name/we/wego/package.nix index ab7debc5d22e7..107ff1421bc71 100644 --- a/pkgs/by-name/we/wego/package.nix +++ b/pkgs/by-name/we/wego/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "wego"; diff --git a/pkgs/by-name/we/weidu/package.nix b/pkgs/by-name/we/weidu/package.nix index 580eea0670317..a8ca4c2422dee 100644 --- a/pkgs/by-name/we/weidu/package.nix +++ b/pkgs/by-name/we/weidu/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, elkhound -, ocaml-ng -, perl -, which -, gnumake42 +{ + stdenv, + lib, + fetchFromGitHub, + elkhound, + ocaml-ng, + perl, + which, + gnumake42, }: let @@ -37,9 +38,19 @@ stdenv.mkDerivation rec { sed -i "20,21d;s/old_hash_param/hash_param/" hashtbl-4.03.0/myhashtbl.ml ''; - nativeBuildInputs = [ elkhound ocaml' perl which gnumake42 ]; + nativeBuildInputs = [ + elkhound + ocaml' + perl + which + gnumake42 + ]; - buildFlags = [ "weidu" "weinstall" "tolower" ]; + buildFlags = [ + "weidu" + "weinstall" + "tolower" + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/we/welkin/package.nix b/pkgs/by-name/we/welkin/package.nix index a35d4c48ee37a..8ccb5fb7de7da 100644 --- a/pkgs/by-name/we/welkin/package.nix +++ b/pkgs/by-name/we/welkin/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchsvn, jre, makeWrapper }: +{ + lib, + stdenv, + fetchsvn, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "welkin"; @@ -30,7 +36,7 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ raskin ]; - hydraPlatforms = []; + hydraPlatforms = [ ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.bsd3; platforms = with lib.platforms; unix; diff --git a/pkgs/by-name/we/wemux/package.nix b/pkgs/by-name/we/wemux/package.nix index 99adf8bb0823d..af160816c27f0 100644 --- a/pkgs/by-name/we/wemux/package.nix +++ b/pkgs/by-name/we/wemux/package.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, tmux, installShellFiles }: +{ + stdenv, + lib, + fetchFromGitHub, + tmux, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "wemux"; diff --git a/pkgs/by-name/we/wesher/package.nix b/pkgs/by-name/we/wesher/package.nix index e9b243e325e48..0d25f819d5b68 100644 --- a/pkgs/by-name/we/wesher/package.nix +++ b/pkgs/by-name/we/wesher/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -17,7 +18,9 @@ buildGoModule rec { vendorHash = "sha256-BZzhBC4C0OoAxUEDROkggCQF35C9Z4+0/Jk0ZD8Hz1s="; ldflags = [ - "-s" "-w" "-X main.version=${version}" + "-s" + "-w" + "-X main.version=${version}" ]; meta = with lib; { @@ -25,7 +28,7 @@ buildGoModule rec { homepage = "https://github.com/costela/wesher"; license = licenses.gpl3Only; maintainers = with maintainers; [ tylerjl ]; - platforms = platforms.linux; + platforms = platforms.linux; mainProgram = "wesher"; }; } diff --git a/pkgs/by-name/we/weston/package.nix b/pkgs/by-name/we/weston/package.nix index 8cd8ba35e31b3..6d3029025e559 100644 --- a/pkgs/by-name/we/weston/package.nix +++ b/pkgs/by-name/we/weston/package.nix @@ -1,19 +1,49 @@ -{ lib, stdenv, fetchurl -, meson, ninja, pkg-config, python3, wayland-scanner -, cairo, libGL, libdisplay-info, libdrm, libevdev, libinput, libxkbcommon, mesa -, seatd, wayland, wayland-protocols, xcbutilcursor +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + python3, + wayland-scanner, + cairo, + libGL, + libdisplay-info, + libdrm, + libevdev, + libinput, + libxkbcommon, + mesa, + seatd, + wayland, + wayland-protocols, + xcbutilcursor, -, demoSupport ? true -, jpegSupport ? true, libjpeg -, lcmsSupport ? true, lcms2 -, pangoSupport ? true, pango -, pipewireSupport ? true, pipewire -, rdpSupport ? true, freerdp -, remotingSupport ? true, gst_all_1 -, vaapiSupport ? true, libva -, vncSupport ? true, aml, neatvnc, pam -, webpSupport ? true, libwebp -, xwaylandSupport ? true, libXcursor, xwayland + demoSupport ? true, + jpegSupport ? true, + libjpeg, + lcmsSupport ? true, + lcms2, + pangoSupport ? true, + pango, + pipewireSupport ? true, + pipewire, + rdpSupport ? true, + freerdp, + remotingSupport ? true, + gst_all_1, + vaapiSupport ? true, + libva, + vncSupport ? true, + aml, + neatvnc, + pam, + webpSupport ? true, + libwebp, + xwaylandSupport ? true, + libXcursor, + xwayland, }: stdenv.mkDerivation rec { @@ -26,38 +56,68 @@ stdenv.mkDerivation rec { }; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ]; - buildInputs = [ - cairo libGL libdisplay-info libdrm libevdev libinput libxkbcommon mesa seatd - wayland wayland-protocols - ] ++ lib.optional jpegSupport libjpeg + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + wayland-scanner + ]; + buildInputs = + [ + cairo + libGL + libdisplay-info + libdrm + libevdev + libinput + libxkbcommon + mesa + seatd + wayland + wayland-protocols + ] + ++ lib.optional jpegSupport libjpeg ++ lib.optional lcmsSupport lcms2 ++ lib.optional pangoSupport pango ++ lib.optional pipewireSupport pipewire ++ lib.optional rdpSupport freerdp - ++ lib.optionals remotingSupport [ gst_all_1.gstreamer gst_all_1.gst-plugins-base ] + ++ lib.optionals remotingSupport [ + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + ] ++ lib.optional vaapiSupport libva - ++ lib.optionals vncSupport [ aml neatvnc pam ] + ++ lib.optionals vncSupport [ + aml + neatvnc + pam + ] ++ lib.optional webpSupport libwebp - ++ lib.optionals xwaylandSupport [ libXcursor xcbutilcursor xwayland ]; + ++ lib.optionals xwaylandSupport [ + libXcursor + xcbutilcursor + xwayland + ]; - mesonFlags= [ - (lib.mesonBool "backend-drm-screencast-vaapi" vaapiSupport) - (lib.mesonBool "backend-pipewire" pipewireSupport) - (lib.mesonBool "backend-rdp" rdpSupport) - (lib.mesonBool "backend-vnc" vncSupport) - (lib.mesonBool "color-management-lcms" lcmsSupport) - (lib.mesonBool "demo-clients" demoSupport) - (lib.mesonBool "image-jpeg" jpegSupport) - (lib.mesonBool "image-webp" webpSupport) - (lib.mesonBool "pipewire" pipewireSupport) - (lib.mesonBool "remoting" remotingSupport) - (lib.mesonOption "simple-clients" "") - (lib.mesonBool "test-junit-xml" false) - (lib.mesonBool "xwayland" xwaylandSupport) - ] ++ lib.optionals xwaylandSupport [ - (lib.mesonOption "xwayland-path" (lib.getExe xwayland)) - ]; + mesonFlags = + [ + (lib.mesonBool "backend-drm-screencast-vaapi" vaapiSupport) + (lib.mesonBool "backend-pipewire" pipewireSupport) + (lib.mesonBool "backend-rdp" rdpSupport) + (lib.mesonBool "backend-vnc" vncSupport) + (lib.mesonBool "color-management-lcms" lcmsSupport) + (lib.mesonBool "demo-clients" demoSupport) + (lib.mesonBool "image-jpeg" jpegSupport) + (lib.mesonBool "image-webp" webpSupport) + (lib.mesonBool "pipewire" pipewireSupport) + (lib.mesonBool "remoting" remotingSupport) + (lib.mesonOption "simple-clients" "") + (lib.mesonBool "test-junit-xml" false) + (lib.mesonBool "xwayland" xwaylandSupport) + ] + ++ lib.optionals xwaylandSupport [ + (lib.mesonOption "xwayland-path" (lib.getExe xwayland)) + ]; passthru.providedSessions = [ "weston" ]; @@ -77,6 +137,9 @@ stdenv.mkDerivation rec { license = licenses.mit; # Expat version platforms = platforms.linux; mainProgram = "weston"; - maintainers = with maintainers; [ primeos qyliss ]; + maintainers = with maintainers; [ + primeos + qyliss + ]; }; } diff --git a/pkgs/by-name/we/wev/package.nix b/pkgs/by-name/we/wev/package.nix index c4913e6f75f50..b758b17d0744a 100644 --- a/pkgs/by-name/we/wev/package.nix +++ b/pkgs/by-name/we/wev/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromSourcehut -, pkg-config -, scdoc -, wayland-scanner -, wayland -, wayland-protocols -, libxkbcommon +{ + lib, + stdenv, + fetchFromSourcehut, + pkg-config, + scdoc, + wayland-scanner, + wayland, + wayland-protocols, + libxkbcommon, }: stdenv.mkDerivation rec { @@ -25,8 +26,16 @@ stdenv.mkDerivation rec { depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config scdoc wayland-scanner ]; - buildInputs = [ wayland wayland-protocols libxkbcommon ]; + nativeBuildInputs = [ + pkg-config + scdoc + wayland-scanner + ]; + buildInputs = [ + wayland + wayland-protocols + libxkbcommon + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/wf/wfa2-lib/package.nix b/pkgs/by-name/wf/wfa2-lib/package.nix index 519343ff5a207..eae3514a8d5dd 100644 --- a/pkgs/by-name/wf/wfa2-lib/package.nix +++ b/pkgs/by-name/wf/wfa2-lib/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, llvmPackages -, enableOpenMP ? true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + llvmPackages, + enableOpenMP ? true, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wg/wg-access-server/package.nix b/pkgs/by-name/wg/wg-access-server/package.nix index e10210f31da4c..a8eceabe9a6d0 100644 --- a/pkgs/by-name/wg/wg-access-server/package.nix +++ b/pkgs/by-name/wg/wg-access-server/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, buildNpmPackage -, fetchFromGitHub -, makeWrapper -, iptables -, nixosTests +{ + lib, + buildGoModule, + buildNpmPackage, + fetchFromGitHub, + makeWrapper, + iptables, + nixosTests, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { CGO_ENABLED = 1; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/wg/wg-bond/package.nix b/pkgs/by-name/wg/wg-bond/package.nix index 88e30976b307e..ab5c3eb327393 100644 --- a/pkgs/by-name/wg/wg-bond/package.nix +++ b/pkgs/by-name/wg/wg-bond/package.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitLab, wireguard-tools, makeWrapper }: +{ + lib, + rustPlatform, + fetchFromGitLab, + wireguard-tools, + makeWrapper, +}: rustPlatform.buildRustPackage rec { pname = "wg-bond"; version = "0.2.0"; @@ -14,9 +20,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ makeWrapper ]; postInstall = '' - wrapProgram $out/bin/wg-bond --set PATH ${ - lib.makeBinPath [ wireguard-tools ] - } + wrapProgram $out/bin/wg-bond --set PATH ${lib.makeBinPath [ wireguard-tools ]} ''; meta = with lib; { diff --git a/pkgs/by-name/wg/wg-friendly-peer-names/package.nix b/pkgs/by-name/wg/wg-friendly-peer-names/package.nix index ebbd898576d37..e37780f3ac4ae 100644 --- a/pkgs/by-name/wg/wg-friendly-peer-names/package.nix +++ b/pkgs/by-name/wg/wg-friendly-peer-names/package.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, wireguard-tools +{ + stdenv, + lib, + fetchFromGitHub, + wireguard-tools, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/wg/wgautomesh/package.nix b/pkgs/by-name/wg/wgautomesh/package.nix index ed4f2b7d3cd98..f3b80cfd5b23a 100644 --- a/pkgs/by-name/wg/wgautomesh/package.nix +++ b/pkgs/by-name/wg/wgautomesh/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitea -, rustPlatform +{ + lib, + fetchFromGitea, + rustPlatform, }: rustPlatform.buildRustPackage rec { pname = "wgautomesh"; diff --git a/pkgs/by-name/wg/wgcf/package.nix b/pkgs/by-name/wg/wgcf/package.nix index f5dbd07861fe4..361083c5bfb35 100644 --- a/pkgs/by-name/wg/wgcf/package.nix +++ b/pkgs/by-name/wg/wgcf/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "wgcf"; diff --git a/pkgs/by-name/wg/wget2/package.nix b/pkgs/by-name/wg/wget2/package.nix index 7445b425f034a..07f3a999ee6ce 100644 --- a/pkgs/by-name/wg/wget2/package.nix +++ b/pkgs/by-name/wg/wget2/package.nix @@ -1,35 +1,40 @@ -{ lib -, stdenv -, fetchFromGitLab +{ + lib, + stdenv, + fetchFromGitLab, # build support -, autoreconfHook -, flex -, gnulib -, pkg-config -, texinfo + autoreconfHook, + flex, + gnulib, + pkg-config, + texinfo, # libraries -, brotli -, bzip2 -, darwin -, gpgme -, libhsts -, libidn2 -, libpsl -, lzip -, nghttp2 -, openssl -, pcre2 -, sslSupport ? true -, xz -, zlib -, zstd + brotli, + bzip2, + darwin, + gpgme, + libhsts, + libidn2, + libpsl, + lzip, + nghttp2, + openssl, + pcre2, + sslSupport ? true, + xz, + zlib, + zstd, }: stdenv.mkDerivation rec { pname = "wget2"; version = "2.1.0"; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; src = fetchFromGitLab { owner = "gnuwget"; @@ -54,23 +59,26 @@ stdenv.mkDerivation rec { texinfo ]; - buildInputs = [ - brotli - bzip2 - gpgme - libhsts - libidn2 - libpsl - nghttp2 - pcre2 - xz - zlib - zstd - ] ++ lib.optionals sslSupport [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + [ + brotli + bzip2 + gpgme + libhsts + libidn2 + libpsl + nghttp2 + pcre2 + xz + zlib + zstd + ] + ++ lib.optionals sslSupport [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; # TODO: include translation files autoreconfPhase = '' @@ -100,7 +108,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://gitlab.com/gnuwget/wget2"; # wget2 GPLv3+; libwget LGPLv3+ - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; maintainers = with maintainers; [ SuperSandro2000 ]; mainProgram = "wget2"; }; diff --git a/pkgs/by-name/wg/wgetpaste/package.nix b/pkgs/by-name/wg/wgetpaste/package.nix index 8ca014e0d5f58..e08de62dd14ab 100644 --- a/pkgs/by-name/wg/wgetpaste/package.nix +++ b/pkgs/by-name/wg/wgetpaste/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, wget, bash }: +{ + lib, + stdenv, + fetchurl, + wget, + bash, +}: stdenv.mkDerivation rec { pname = "wgetpaste"; @@ -25,7 +31,10 @@ stdenv.mkDerivation rec { mainProgram = "wgetpaste"; homepage = "https://github.com/zlin/wgetpaste"; license = lib.licenses.publicDomain; - maintainers = with lib.maintainers; [ qknight domenkozar ]; + maintainers = with lib.maintainers; [ + qknight + domenkozar + ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/wg/wgo/package.nix b/pkgs/by-name/wg/wgo/package.nix index 135f11ca125cf..c6c007e6e3398 100644 --- a/pkgs/by-name/wg/wgo/package.nix +++ b/pkgs/by-name/wg/wgo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: let @@ -19,7 +20,10 @@ buildGoModule { vendorHash = "sha256-w6UJxZToHbbQmuXkyqFzyssFcE+7uVNqOuIF/XKdEsU="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; subPackages = [ "." ]; diff --git a/pkgs/by-name/wh/whatfiles/package.nix b/pkgs/by-name/wh/whatfiles/package.nix index 73289f95f7aa5..ff4b74ad48353 100644 --- a/pkgs/by-name/wh/whatfiles/package.nix +++ b/pkgs/by-name/wh/whatfiles/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wh/whatip/package.nix b/pkgs/by-name/wh/whatip/package.nix index 85a2fdf3f7b37..7acf9236830dc 100644 --- a/pkgs/by-name/wh/whatip/package.nix +++ b/pkgs/by-name/wh/whatip/package.nix @@ -1,18 +1,19 @@ -{ lib -, fetchFromGitLab -, python3 -, meson -, ninja -, pkg-config -, glib -, gtk4 -, libadwaita -, librsvg -, blueprint-compiler -, gobject-introspection -, wrapGAppsHook4 -, appstream-glib -, desktop-file-utils +{ + lib, + fetchFromGitLab, + python3, + meson, + ninja, + pkg-config, + glib, + gtk4, + libadwaita, + librsvg, + blueprint-compiler, + gobject-introspection, + wrapGAppsHook4, + appstream-glib, + desktop-file-utils, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wh/whatsapp-chat-exporter/package.nix b/pkgs/by-name/wh/whatsapp-chat-exporter/package.nix index 289fdeec7bf70..2e2662d80a354 100644 --- a/pkgs/by-name/wh/whatsapp-chat-exporter/package.nix +++ b/pkgs/by-name/wh/whatsapp-chat-exporter/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/wh/whatsapp-emoji-font/package.nix b/pkgs/by-name/wh/whatsapp-emoji-font/package.nix index bf70c0271c932..711d03d515161 100644 --- a/pkgs/by-name/wh/whatsapp-emoji-font/package.nix +++ b/pkgs/by-name/wh/whatsapp-emoji-font/package.nix @@ -1,12 +1,13 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, imagemagick -, nix-update-script -, pngquant -, python3Packages -, which -, zopfli +{ + stdenvNoCC, + lib, + fetchFromGitHub, + imagemagick, + nix-update-script, + pngquant, + python3Packages, + which, + zopfli, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/wh/whatsapp-for-linux/package.nix b/pkgs/by-name/wh/whatsapp-for-linux/package.nix index e82fa4f676139..b7bd51e94a111 100644 --- a/pkgs/by-name/wh/whatsapp-for-linux/package.nix +++ b/pkgs/by-name/wh/whatsapp-for-linux/package.nix @@ -1,28 +1,29 @@ -{ fetchFromGitHub -, lib -, stdenv -, cmake -, glib-networking -, gst_all_1 -, gtkmm3 -, libayatana-appindicator -, libcanberra -, libepoxy -, libpsl -, libdatrie -, libdeflate -, libselinux -, libsepol -, libsysprof-capture -, libthai -, libxkbcommon -, sqlite -, pcre -, pcre2 -, pkg-config -, webkitgtk_4_0 -, wrapGAppsHook3 -, xorg +{ + fetchFromGitHub, + lib, + stdenv, + cmake, + glib-networking, + gst_all_1, + gtkmm3, + libayatana-appindicator, + libcanberra, + libepoxy, + libpsl, + libdatrie, + libdeflate, + libselinux, + libsepol, + libsysprof-capture, + libthai, + libxkbcommon, + sqlite, + pcre, + pcre2, + pkg-config, + webkitgtk_4_0, + wrapGAppsHook3, + xorg, }: stdenv.mkDerivation (finalAttrs: { @@ -74,6 +75,9 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "whatsapp-for-linux"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ bartuka ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; }) diff --git a/pkgs/by-name/wh/when/package.nix b/pkgs/by-name/wh/when/package.nix index 91f480255d6c7..d52a42fdf01af 100644 --- a/pkgs/by-name/wh/when/package.nix +++ b/pkgs/by-name/wh/when/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenvNoCC -, perl -, installShellFiles -, fetchFromBitbucket +{ + lib, + stdenvNoCC, + perl, + installShellFiles, + fetchFromBitbucket, }: stdenvNoCC.mkDerivation (finalAttrs: { - pname = "when"; + pname = "when"; version = "1.1.45"; src = fetchFromBitbucket { - repo = "when"; + repo = "when"; owner = "ben-crowell"; - rev = finalAttrs.version; - hash = "sha256-+ggYjY6/aTUrdvREn0TTQ4Pu/VR4QTjflDaicRXuOMs="; + rev = finalAttrs.version; + hash = "sha256-+ggYjY6/aTUrdvREn0TTQ4Pu/VR4QTjflDaicRXuOMs="; }; buildInputs = [ perl ]; @@ -21,24 +22,24 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ installShellFiles ]; postBuild = '' - pod2man $src/when when.1 + pod2man $src/when when.1 ''; installPhase = '' - runHook preInstall + runHook preInstall - install -Dm755 when $out/bin/when - installManPage when.1 + install -Dm755 when $out/bin/when + installManPage when.1 - runHook postInstall + runHook postInstall ''; meta = with lib; { description = "Extremely simple personal calendar program"; - homepage = "https://www.lightandmatter.com/when/when.html"; - license = licenses.gpl2Only; + homepage = "https://www.lightandmatter.com/when/when.html"; + license = licenses.gpl2Only; mainProgram = "when"; maintainers = with maintainers; [ vonixxx ]; - platforms = platforms.all; + platforms = platforms.all; }; }) diff --git a/pkgs/by-name/wh/whereami/package.nix b/pkgs/by-name/wh/whereami/package.nix index f68895ca17d03..5758abeccc66e 100644 --- a/pkgs/by-name/wh/whereami/package.nix +++ b/pkgs/by-name/wh/whereami/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchFromGitHub, + fixDarwinDylibNames, }: let libExt = stdenv.hostPlatform.extensions.sharedLibrary; @@ -40,7 +41,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Locate the current executable and running module/library"; homepage = "https://github.com/gpakosz/whereami"; - license = with licenses; [ mit wtfpl ]; + license = with licenses; [ + mit + wtfpl + ]; maintainers = with maintainers; [ emilytrau ]; platforms = platforms.all; }; diff --git a/pkgs/by-name/wh/which/package.nix b/pkgs/by-name/wh/which/package.nix index 831791a2f8be6..ae9deecdec54a 100644 --- a/pkgs/by-name/wh/which/package.nix +++ b/pkgs/by-name/wh/which/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "which"; diff --git a/pkgs/by-name/wh/whipper/package.nix b/pkgs/by-name/wh/whipper/package.nix index b6ff1f45440c7..1d9019d97773f 100644 --- a/pkgs/by-name/wh/whipper/package.nix +++ b/pkgs/by-name/wh/whipper/package.nix @@ -1,24 +1,32 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchpatch -, installShellFiles -, wrapGAppsNoGuiHook -, gobject-introspection -, libcdio-paranoia -, cdrdao -, libsndfile -, glib -, flac -, sox -, util-linux -, testers -, whipper +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, + installShellFiles, + wrapGAppsNoGuiHook, + gobject-introspection, + libcdio-paranoia, + cdrdao, + libsndfile, + glib, + flac, + sox, + util-linux, + testers, + whipper, }: let - bins = [ libcdio-paranoia cdrdao flac sox util-linux ]; -in python3.pkgs.buildPythonApplication rec { + bins = [ + libcdio-paranoia + cdrdao + flac + sox + util-linux + ]; +in +python3.pkgs.buildPythonApplication rec { pname = "whipper"; version = "0.10.0"; pyproject = true; @@ -61,21 +69,33 @@ in python3.pkgs.buildPythonApplication rec { setuptools ]; - buildInputs = [ libsndfile glib ]; + buildInputs = [ + libsndfile + glib + ]; - nativeCheckInputs = with python3.pkgs; [ - twisted - pytestCheckHook - ] ++ bins; + nativeCheckInputs = + with python3.pkgs; + [ + twisted + pytestCheckHook + ] + ++ bins; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath bins) + "--prefix" + "PATH" + ":" + (lib.makeBinPath bins) "\${gappsWrapperArgs[@]}" ]; dontWrapGApps = true; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; postBuild = '' make -C man ''; diff --git a/pkgs/by-name/wh/whisper/package.nix b/pkgs/by-name/wh/whisper/package.nix index 6c8bb21df6a52..1e274675e1e63 100644 --- a/pkgs/by-name/wh/whisper/package.nix +++ b/pkgs/by-name/wh/whisper/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "whisper"; diff --git a/pkgs/by-name/wh/whitebophir/package.nix b/pkgs/by-name/wh/whitebophir/package.nix index b3401ff78fc74..5457e64f5267e 100644 --- a/pkgs/by-name/wh/whitebophir/package.nix +++ b/pkgs/by-name/wh/whitebophir/package.nix @@ -1,13 +1,15 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, nodejs_20 -, runtimeShell +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nodejs_20, + runtimeShell, }: let nodejs = nodejs_20; -in buildNpmPackage rec { +in +buildNpmPackage rec { pname = "whitebophir"; version = "1.19.1"; diff --git a/pkgs/by-name/wh/whitesur-gtk-theme/package.nix b/pkgs/by-name/wh/whitesur-gtk-theme/package.nix index d461bebcf5b6a..a79e58a143c58 100644 --- a/pkgs/by-name/wh/whitesur-gtk-theme/package.nix +++ b/pkgs/by-name/wh/whitesur-gtk-theme/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, dialog -, glib -, gnome-themes-extra -, jdupes -, libxml2 -, sassc -, util-linux -, altVariants ? [] # default: normal -, colorVariants ? [] # default: all -, opacityVariants ? [] # default: all -, themeVariants ? [] # default: default (BigSur-like theme) -, schemeVariants ? [] # default: standard -, iconVariant ? null # default: standard (Apple logo) -, nautilusStyle ? null # default: stable (BigSur-like style) -, panelOpacity ? null # default: 15% -, panelSize ? null # default: 32px -, roundedMaxWindow ? false # default: false -, darkerColor ? false # default = false +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + dialog, + glib, + gnome-themes-extra, + jdupes, + libxml2, + sassc, + util-linux, + altVariants ? [ ], # default: normal + colorVariants ? [ ], # default: all + opacityVariants ? [ ], # default: all + themeVariants ? [ ], # default: default (BigSur-like theme) + schemeVariants ? [ ], # default: standard + iconVariant ? null, # default: standard (Apple logo) + nautilusStyle ? null, # default: stable (BigSur-like style) + panelOpacity ? null, # default: 15% + panelSize ? null, # default: 32px + roundedMaxWindow ? false, # default: false + darkerColor ? false, # default = false }: let @@ -28,84 +29,138 @@ let in lib.checkListOfEnum "${pname}: window control buttons variants" [ "normal" "alt" "all" ] altVariants -lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants -lib.checkListOfEnum "${pname}: opacity variants" [ "normal" "solid" ] opacityVariants -lib.checkListOfEnum "${pname}: accent color variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants -lib.checkListOfEnum "${pname}: colorscheme style variants" [ "standard" "nord" ] schemeVariants -lib.checkListOfEnum "${pname}: activities icon variants" [ "standard" "apple" "simple" "gnome" "ubuntu" "tux" "arch" "manjaro" "fedora" "debian" "void" "opensuse" "popos" "mxlinux" "zorin" "budgie" "gentoo" ] (single iconVariant) -lib.checkListOfEnum "${pname}: nautilus style" [ "stable" "normal" "mojave" "glassy" "right" ] (single nautilusStyle) -lib.checkListOfEnum "${pname}: panel opacity" [ "default" "30" "45" "60" "75" ] (single panelOpacity) -lib.checkListOfEnum "${pname}: panel size" [ "default" "smaller" "bigger" ] (single panelSize) - -stdenv.mkDerivation rec { - pname = "whitesur-gtk-theme"; - version = "2024-11-18"; - - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-SSGb7EdJN8E4N8b98VO7oFTeOmhKEo/0qhso9410ihg="; - }; - - nativeBuildInputs = [ - dialog - glib - jdupes - libxml2 - sassc - util-linux - ]; - - buildInputs = [ - gnome-themes-extra # adwaita engine for Gtk2 - ]; - - postPatch = '' - find -name "*.sh" -print0 | while IFS= read -r -d ''' file; do - patchShebangs "$file" - done - - # Do not provide `sudo`, as it is not needed in our use case of the install script - substituteInPlace libs/lib-core.sh --replace-fail '$(which sudo)' false - - # Provides a dummy home directory - substituteInPlace libs/lib-core.sh --replace-fail 'MY_HOME=$(getent passwd "''${MY_USERNAME}" | cut -d: -f6)' 'MY_HOME=/tmp' - ''; - - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/themes - - ./install.sh \ - ${toString (map (x: "--alt " + x) altVariants)} \ - ${toString (map (x: "--color " + x) colorVariants)} \ - ${toString (map (x: "--opacity " + x) opacityVariants)} \ - ${toString (map (x: "--theme " + x) themeVariants)} \ - ${toString (map (x: "--scheme " + x) schemeVariants)} \ - ${lib.optionalString (nautilusStyle != null) ("--nautilus " + nautilusStyle)} \ - ${lib.optionalString roundedMaxWindow "--roundedmaxwindow"} \ - ${lib.optionalString darkerColor "--darkercolor"} \ - ${lib.optionalString (iconVariant != null) ("--gnome-shell -i " + iconVariant)} \ - ${lib.optionalString (panelSize != null) ("--gnome-shell -panelheight " + panelSize)} \ - ${lib.optionalString (panelOpacity != null) ("--gnome-shell -panelopacity " + panelOpacity)} \ - --dest $out/share/themes - - jdupes --quiet --link-soft --recurse $out/share - - runHook postInstall - ''; - - passthru.updateScript = gitUpdater { }; - - meta = { - description = "MacOS BigSur like Gtk+ theme based on Elegant Design"; - homepage = "https://github.com/vinceliuice/WhiteSur-gtk-theme"; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ romildo ]; - }; -} + lib.checkListOfEnum + "${pname}: color variants" + [ "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: opacity variants" + [ "normal" "solid" ] + opacityVariants + lib.checkListOfEnum + "${pname}: accent color variants" + [ + "default" + "blue" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "grey" + "all" + ] + themeVariants + lib.checkListOfEnum + "${pname}: colorscheme style variants" + [ "standard" "nord" ] + schemeVariants + lib.checkListOfEnum + "${pname}: activities icon variants" + [ + "standard" + "apple" + "simple" + "gnome" + "ubuntu" + "tux" + "arch" + "manjaro" + "fedora" + "debian" + "void" + "opensuse" + "popos" + "mxlinux" + "zorin" + "budgie" + "gentoo" + ] + (single iconVariant) + lib.checkListOfEnum + "${pname}: nautilus style" + [ "stable" "normal" "mojave" "glassy" "right" ] + (single nautilusStyle) + lib.checkListOfEnum + "${pname}: panel opacity" + [ "default" "30" "45" "60" "75" ] + (single panelOpacity) + lib.checkListOfEnum + "${pname}: panel size" + [ "default" "smaller" "bigger" ] + (single panelSize) + + stdenv.mkDerivation + rec { + pname = "whitesur-gtk-theme"; + version = "2024-11-18"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-SSGb7EdJN8E4N8b98VO7oFTeOmhKEo/0qhso9410ihg="; + }; + + nativeBuildInputs = [ + dialog + glib + jdupes + libxml2 + sassc + util-linux + ]; + + buildInputs = [ + gnome-themes-extra # adwaita engine for Gtk2 + ]; + + postPatch = '' + find -name "*.sh" -print0 | while IFS= read -r -d ''' file; do + patchShebangs "$file" + done + + # Do not provide `sudo`, as it is not needed in our use case of the install script + substituteInPlace libs/lib-core.sh --replace-fail '$(which sudo)' false + + # Provides a dummy home directory + substituteInPlace libs/lib-core.sh --replace-fail 'MY_HOME=$(getent passwd "''${MY_USERNAME}" | cut -d: -f6)' 'MY_HOME=/tmp' + ''; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + + ./install.sh \ + ${toString (map (x: "--alt " + x) altVariants)} \ + ${toString (map (x: "--color " + x) colorVariants)} \ + ${toString (map (x: "--opacity " + x) opacityVariants)} \ + ${toString (map (x: "--theme " + x) themeVariants)} \ + ${toString (map (x: "--scheme " + x) schemeVariants)} \ + ${lib.optionalString (nautilusStyle != null) ("--nautilus " + nautilusStyle)} \ + ${lib.optionalString roundedMaxWindow "--roundedmaxwindow"} \ + ${lib.optionalString darkerColor "--darkercolor"} \ + ${lib.optionalString (iconVariant != null) ("--gnome-shell -i " + iconVariant)} \ + ${lib.optionalString (panelSize != null) ("--gnome-shell -panelheight " + panelSize)} \ + ${lib.optionalString (panelOpacity != null) ("--gnome-shell -panelopacity " + panelOpacity)} \ + --dest $out/share/themes + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = { + description = "MacOS BigSur like Gtk+ theme based on Elegant Design"; + homepage = "https://github.com/vinceliuice/WhiteSur-gtk-theme"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ romildo ]; + }; + } diff --git a/pkgs/by-name/wh/whitesur-icon-theme/package.nix b/pkgs/by-name/wh/whitesur-icon-theme/package.nix index 09c54a72287a8..4eae52fabac3a 100644 --- a/pkgs/by-name/wh/whitesur-icon-theme/package.nix +++ b/pkgs/by-name/wh/whitesur-icon-theme/package.nix @@ -1,75 +1,83 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, hicolor-icon-theme -, jdupes -, boldPanelIcons ? false -, blackPanelIcons ? false -, alternativeIcons ? false -, themeVariants ? [] +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + hicolor-icon-theme, + jdupes, + boldPanelIcons ? false, + blackPanelIcons ? false, + alternativeIcons ? false, + themeVariants ? [ ], }: -let pname = "Whitesur-icon-theme"; +let + pname = "Whitesur-icon-theme"; in -lib.checkListOfEnum "${pname}: theme variants" [ - "default" - "purple" - "pink" - "red" - "orange" - "yellow" - "green" - "grey" - "nord" - "all" -] themeVariants +lib.checkListOfEnum "${pname}: theme variants" + [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "grey" + "nord" + "all" + ] + themeVariants -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-09-07"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-09-07"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-/cW/ymT9MjB07Sw7ifpr6x8oaaeI4PSyaOdLci7AncY="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-/cW/ymT9MjB07Sw7ifpr6x8oaaeI4PSyaOdLci7AncY="; + }; - nativeBuildInputs = [ gtk3 jdupes ]; + nativeBuildInputs = [ + gtk3 + jdupes + ]; - buildInputs = [ hicolor-icon-theme ]; + buildInputs = [ hicolor-icon-theme ]; - # These fixup steps are slow and unnecessary - dontPatchELF = true; - dontRewriteSymlinks = true; - dontDropIconThemeCache = true; + # These fixup steps are slow and unnecessary + dontPatchELF = true; + dontRewriteSymlinks = true; + dontDropIconThemeCache = true; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - ./install.sh --dest $out/share/icons \ - --name WhiteSur \ - --theme ${builtins.toString themeVariants} \ - ${lib.optionalString alternativeIcons "--alternative"} \ - ${lib.optionalString boldPanelIcons "--bold"} \ - ${lib.optionalString blackPanelIcons "--black"} + ./install.sh --dest $out/share/icons \ + --name WhiteSur \ + --theme ${builtins.toString themeVariants} \ + ${lib.optionalString alternativeIcons "--alternative"} \ + ${lib.optionalString boldPanelIcons "--bold"} \ + ${lib.optionalString blackPanelIcons "--black"} - jdupes --link-soft --recurse $out/share + jdupes --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - description = "MacOS Big Sur style icon theme for Linux desktops"; - homepage = "https://github.com/vinceliuice/WhiteSur-icon-theme"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ icy-thought ]; - }; + meta = with lib; { + description = "MacOS Big Sur style icon theme for Linux desktops"; + homepage = "https://github.com/vinceliuice/WhiteSur-icon-theme"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ icy-thought ]; + }; -} + } diff --git a/pkgs/by-name/wh/whois/package.nix b/pkgs/by-name/wh/whois/package.nix index fc122ebd2f76a..7b12b26ecf9e0 100644 --- a/pkgs/by-name/wh/whois/package.nix +++ b/pkgs/by-name/wh/whois/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, gettext, pkg-config, libidn2, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + perl, + gettext, + pkg-config, + libidn2, + libiconv, +}: stdenv.mkDerivation rec { version = "5.5.23"; @@ -24,8 +34,15 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-liconv"; }; - nativeBuildInputs = [ perl gettext pkg-config ]; - buildInputs = [ libidn2 libiconv ]; + nativeBuildInputs = [ + perl + gettext + pkg-config + ]; + buildInputs = [ + libidn2 + libiconv + ]; preConfigure = '' for i in Makefile po/Makefile; do diff --git a/pkgs/by-name/wh/whsniff/package.nix b/pkgs/by-name/wh/whsniff/package.nix index da50fe39a5e0d..b1f19f2bbb0a5 100644 --- a/pkgs/by-name/wh/whsniff/package.nix +++ b/pkgs/by-name/wh/whsniff/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libusb1 }: +{ + lib, + stdenv, + fetchFromGitHub, + libusb1, +}: stdenv.mkDerivation rec { pname = "whsniff"; diff --git a/pkgs/by-name/wi/widelands/package.nix b/pkgs/by-name/wi/widelands/package.nix index bac5a99838846..917c1f2d43701 100644 --- a/pkgs/by-name/wi/widelands/package.nix +++ b/pkgs/by-name/wi/widelands/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config # needed to find minizip -, SDL2 -, SDL2_image -, SDL2_mixer -, SDL2_net -, SDL2_ttf -, cmake -, curl -, doxygen -, gettext -, glew -, graphviz -, icu -, installShellFiles -, libpng -, lua -, python3 -, zlib -, minizip -, asio -, libSM -, libICE -, libXext -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, # needed to find minizip + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_net, + SDL2_ttf, + cmake, + curl, + doxygen, + gettext, + glew, + graphviz, + icu, + installShellFiles, + libpng, + lua, + python3, + zlib, + minizip, + asio, + libSM, + libICE, + libXext, + darwin, }: stdenv.mkDerivation rec { @@ -50,42 +51,55 @@ stdenv.mkDerivation rec { "-DWL_INSTALL_BINDIR=${placeholder "out"}/bin" ]; - nativeBuildInputs = [ cmake doxygen gettext graphviz installShellFiles pkg-config ]; + nativeBuildInputs = [ + cmake + doxygen + gettext + graphviz + installShellFiles + pkg-config + ]; enableParallelBuilding = true; - buildInputs = [ - SDL2 - SDL2_image - SDL2_mixer - SDL2_net - SDL2_ttf - curl - glew - icu - libpng - lua - python3 - zlib - minizip - asio - libSM # XXX: these should be propagated by SDL2? - libICE - ] - ++ lib.optional stdenv.hostPlatform.isLinux libXext - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Cocoa - ]); + buildInputs = + [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_net + SDL2_ttf + curl + glew + icu + libpng + lua + python3 + zlib + minizip + asio + libSM # XXX: these should be propagated by SDL2? + libICE + ] + ++ lib.optional stdenv.hostPlatform.isLinux libXext + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Cocoa + ] + ); - postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm444 -t $out/share/applications ../xdg/org.widelands.Widelands.desktop + postInstall = + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm444 -t $out/share/applications ../xdg/org.widelands.Widelands.desktop - for s in 16 32 48 64 128; do - install -Dm444 ../data/images/logos/wl-ico-''${s}.png $out/share/icons/hicolor/''${s}x''${s}/org.widelands.Widelands.png - done - '' + '' - installManPage ../xdg/widelands.6 - ''; + for s in 16 32 48 64 128; do + install -Dm444 ../data/images/logos/wl-ico-''${s}.png $out/share/icons/hicolor/''${s}x''${s}/org.widelands.Widelands.png + done + '' + + '' + installManPage ../xdg/widelands.6 + ''; meta = with lib; { description = "RTS with multiple-goods economy"; @@ -98,7 +112,10 @@ stdenv.mkDerivation rec { changelog = "https://github.com/widelands/widelands/releases/tag/v${version}"; mainProgram = "widelands"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ raskin jcumming ]; + maintainers = with maintainers; [ + raskin + jcumming + ]; platforms = platforms.linux ++ platforms.darwin; hydraPlatforms = [ ]; }; diff --git a/pkgs/by-name/wi/wifi-password/package.nix b/pkgs/by-name/wi/wifi-password/package.nix index f66af1ddfb56f..83c9d79371391 100644 --- a/pkgs/by-name/wi/wifi-password/package.nix +++ b/pkgs/by-name/wi/wifi-password/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { version = "0.1.0"; diff --git a/pkgs/by-name/wi/wifi-qr/package.nix b/pkgs/by-name/wi/wifi-qr/package.nix index 3c5a37b071b88..dcd90f5767584 100644 --- a/pkgs/by-name/wi/wifi-qr/package.nix +++ b/pkgs/by-name/wi/wifi-qr/package.nix @@ -1,22 +1,26 @@ -{ lib -, fetchFromGitHub -, installShellFiles -, makeWrapper -, zenity -, ncurses -, networkmanager -, patsh -, procps -, qrencode -, stdenvNoCC -, xdg-utils -, zbar +{ + lib, + fetchFromGitHub, + installShellFiles, + makeWrapper, + zenity, + ncurses, + networkmanager, + patsh, + procps, + qrencode, + stdenvNoCC, + xdg-utils, + zbar, }: stdenvNoCC.mkDerivation { pname = "wifi-qr"; version = "0.3-unstable-2023-09-30"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchFromGitHub { owner = "kokoye2007"; diff --git a/pkgs/by-name/wi/wifish/package.nix b/pkgs/by-name/wi/wifish/package.nix index 7f474bc984424..33a3e994954e0 100644 --- a/pkgs/by-name/wi/wifish/package.nix +++ b/pkgs/by-name/wi/wifish/package.nix @@ -1,15 +1,18 @@ -{ lib, stdenv, fetchFromGitHub -, dialog -, gawk -, wpa_supplicant -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + dialog, + gawk, + wpa_supplicant, + makeWrapper, }: stdenv.mkDerivation rec { pname = "wifish"; version = "1.1.4"; - src = fetchFromGitHub{ + src = fetchFromGitHub { owner = "bougyman"; repo = "wifish"; rev = version; @@ -34,7 +37,13 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram ${placeholder "out"}/bin/wifish \ - --prefix PATH ":" ${lib.makeBinPath [ dialog gawk wpa_supplicant ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + dialog + gawk + wpa_supplicant + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/wi/wifite2/package.nix b/pkgs/by-name/wi/wifite2/package.nix index 250caa468ba59..9fc4fd21db478 100644 --- a/pkgs/by-name/wi/wifite2/package.nix +++ b/pkgs/by-name/wi/wifite2/package.nix @@ -1,22 +1,23 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 -, python3Packages -, wirelesstools -, aircrack-ng -, wireshark-cli -, reaverwps-t6x -, cowpatty -, hashcat -, hcxtools -, hcxdumptool -, which -, bully -, pixiewps -, john -, iw -, macchanger +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, + python3Packages, + wirelesstools, + aircrack-ng, + wireshark-cli, + reaverwps-t6x, + cowpatty, + hashcat, + hcxtools, + hcxdumptool, + which, + bully, + pixiewps, + john, + iw, + macchanger, }: let @@ -76,6 +77,10 @@ python3.pkgs.buildPythonApplication rec { mainProgram = "wifite"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ lassulus danielfullmer d3vil0p3r ]; + maintainers = with maintainers; [ + lassulus + danielfullmer + d3vil0p3r + ]; }; } diff --git a/pkgs/by-name/wi/wiggle/package.nix b/pkgs/by-name/wi/wiggle/package.nix index bb2ea26657494..f1c97794c7144 100644 --- a/pkgs/by-name/wi/wiggle/package.nix +++ b/pkgs/by-name/wi/wiggle/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, groff }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + groff, +}: stdenv.mkDerivation rec { pname = "wiggle"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "18ilzr9sbal1j8p1d94ilm1j5blac5cngvcvjpdmgmpw6diy2ldf"; }; - buildInputs = [ ncurses groff ]; + buildInputs = [ + ncurses + groff + ]; configurePhase = '' makeFlagsArray=( CFLAGS="-I. -O3" diff --git a/pkgs/by-name/wi/wiiload/package.nix b/pkgs/by-name/wi/wiiload/package.nix index f2ff285cb745d..54ca0efb8d18f 100644 --- a/pkgs/by-name/wi/wiiload/package.nix +++ b/pkgs/by-name/wi/wiiload/package.nix @@ -1,14 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + zlib, +}: stdenv.mkDerivation rec { version = "0.5.3"; pname = "wiiload"; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ zlib ]; src = fetchFromGitHub { owner = "devkitPro"; - repo = "wiiload"; + repo = "wiiload"; rev = "v${version}"; sha256 = "sha256-pZdZzCAPfAVucuiV/q/ROY3cz/wxQWep6dCTGNn2fSo="; }; diff --git a/pkgs/by-name/wi/wiimms-iso-tools/package.nix b/pkgs/by-name/wi/wiimms-iso-tools/package.nix index 59d846324b650..4fa1dddaf12a6 100644 --- a/pkgs/by-name/wi/wiimms-iso-tools/package.nix +++ b/pkgs/by-name/wi/wiimms-iso-tools/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, zlib, ncurses, fuse }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + zlib, + ncurses, + fuse, +}: stdenv.mkDerivation rec { pname = "wiimms-iso-tools"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { hash = "sha256-5aikiPJkZf9OwD8QmQ7ijhBOtFQpkIErvb6gOvEu2L0="; }; - buildInputs = [ zlib ncurses fuse ]; + buildInputs = [ + zlib + ncurses + fuse + ]; patches = [ ./fix-paths.diff diff --git a/pkgs/by-name/wi/wike/package.nix b/pkgs/by-name/wi/wike/package.nix index a22f51c160747..158a2cd5adb51 100644 --- a/pkgs/by-name/wi/wike/package.nix +++ b/pkgs/by-name/wi/wike/package.nix @@ -1,20 +1,21 @@ -{ lib -, fetchFromGitHub -, python3 -, meson -, ninja -, pkg-config -, pkgsCross -, appstream-glib -, desktop-file-utils -, gobject-introspection -, wrapGAppsHook4 -, glib -, gtk4 -, librsvg -, libadwaita -, glib-networking -, webkitgtk_6_0 +{ + lib, + fetchFromGitHub, + python3, + meson, + ninja, + pkg-config, + pkgsCross, + appstream-glib, + desktop-file-utils, + gobject-introspection, + wrapGAppsHook4, + glib, + gtk4, + librsvg, + libadwaita, + glib-networking, + webkitgtk_6_0, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wi/wildcard/package.nix b/pkgs/by-name/wi/wildcard/package.nix index e263cb7215562..ada2cffde23f8 100644 --- a/pkgs/by-name/wi/wildcard/package.nix +++ b/pkgs/by-name/wi/wildcard/package.nix @@ -1,16 +1,17 @@ -{ lib -, blueprint-compiler -, cargo -, desktop-file-utils -, fetchFromGitLab -, libadwaita -, meson -, ninja -, pkg-config -, rustPlatform -, rustc -, stdenv -, wrapGAppsHook4 +{ + lib, + blueprint-compiler, + cargo, + desktop-file-utils, + fetchFromGitLab, + libadwaita, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + stdenv, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wi/wiliwili/package.nix b/pkgs/by-name/wi/wiliwili/package.nix index 3bd64a0da20e5..29bb44015ec0f 100644 --- a/pkgs/by-name/wi/wiliwili/package.nix +++ b/pkgs/by-name/wi/wiliwili/package.nix @@ -28,29 +28,33 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-IHGUNnBSwCi+DU7K2yjRLUFRjeysiMojyGXMVecNyu4="; }; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - wayland-scanner - ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + wayland-scanner + ]; - buildInputs = [ - mpv-unwrapped - openssl - curl - libxkbcommon - dbus - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libffi # needed for wayland - wayland - egl-wayland - xorg.libX11 - xorg.libXrandr - xorg.libXinerama - xorg.libXcursor - xorg.libXi - ]; + buildInputs = + [ + mpv-unwrapped + openssl + curl + libxkbcommon + dbus + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libffi # needed for wayland + wayland + egl-wayland + xorg.libX11 + xorg.libXrandr + xorg.libXinerama + xorg.libXcursor + xorg.libXi + ]; cmakeFlags = [ (lib.cmakeBool "PLATFORM_DESKTOP" true) diff --git a/pkgs/by-name/wi/wily/package.nix b/pkgs/by-name/wi/wily/package.nix index a344f93bf241f..eb2ed523fee33 100644 --- a/pkgs/by-name/wi/wily/package.nix +++ b/pkgs/by-name/wi/wily/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libX11, libXt } : +{ + lib, + stdenv, + fetchurl, + libX11, + libXt, +}: stdenv.mkDerivation rec { version = "0.13.42"; @@ -9,13 +15,18 @@ stdenv.mkDerivation rec { sha256 = "1jy4czk39sh365b0mjpj4d5wmymj98x163vmwzyx3j183jqrhm2z"; }; - buildInputs = [ libX11 libXt ]; + buildInputs = [ + libX11 + libXt + ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=implicit-int" - "-Wno-error=implicit-function-declaration" - "-Wno-error=incompatible-function-pointer-types" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=implicit-int" + "-Wno-error=implicit-function-declaration" + "-Wno-error=incompatible-function-pointer-types" + ] + ); preInstall = '' mkdir -p $out/bin diff --git a/pkgs/by-name/wi/wimboot/package.nix b/pkgs/by-name/wi/wimboot/package.nix index 4212e96586be7..1dc0a55cbdfbd 100644 --- a/pkgs/by-name/wi/wimboot/package.nix +++ b/pkgs/by-name/wi/wimboot/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libbfd, zlib, libiberty }: +{ + lib, + stdenv, + fetchFromGitHub, + libbfd, + zlib, + libiberty, +}: stdenv.mkDerivation rec { pname = "wimboot"; @@ -13,7 +20,11 @@ stdenv.mkDerivation rec { sourceRoot = "${src.name}/src"; - buildInputs = [ libbfd zlib libiberty ]; + buildInputs = [ + libbfd + zlib + libiberty + ]; makeFlags = [ "wimboot.x86_64.efi" ]; env.NIX_CFLAGS_COMPILE = toString [ diff --git a/pkgs/by-name/wi/wimlib/package.nix b/pkgs/by-name/wi/wimlib/package.nix index 18013b39015e9..3f62c7d4351e2 100644 --- a/pkgs/by-name/wi/wimlib/package.nix +++ b/pkgs/by-name/wi/wimlib/package.nix @@ -1,18 +1,25 @@ -{ lib, stdenv, fetchurl, makeWrapper -, pkg-config -, cabextract ? null -, cdrkit ? null -, mtools ? null -, fuse3 ? null -, ntfs3g ? null -, syslinux ? null +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + cabextract ? null, + cdrkit ? null, + mtools ? null, + fuse3 ? null, + ntfs3g ? null, + syslinux ? null, }: stdenv.mkDerivation rec { version = "1.14.4"; pname = "wimlib"; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; buildInputs = [ ntfs3g ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ fuse3 ]; src = fetchurl { @@ -27,13 +34,26 @@ stdenv.mkDerivation rec { --replace '/usr/lib/syslinux' "${syslinux}/share/syslinux" ''; - postInstall = let - path = lib.makeBinPath ([ cabextract mtools ntfs3g ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ cdrkit syslinux fuse3 ]); - in '' - for prog in $out/bin/*; do - wrapProgram $prog --prefix PATH : $out/bin:${path} - done - ''; + postInstall = + let + path = lib.makeBinPath ( + [ + cabextract + mtools + ntfs3g + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + cdrkit + syslinux + fuse3 + ] + ); + in + '' + for prog in $out/bin/*; do + wrapProgram $prog --prefix PATH : $out/bin:${path} + done + ''; doCheck = (!stdenv.hostPlatform.isDarwin); @@ -46,6 +66,10 @@ stdenv.mkDerivation rec { description = "Library and program to extract, create, and modify WIM files"; platforms = platforms.unix; maintainers = [ ]; - license = with licenses; [ gpl3 lgpl3 mit ]; + license = with licenses; [ + gpl3 + lgpl3 + mit + ]; }; } diff --git a/pkgs/by-name/wi/win-spice/package.nix b/pkgs/by-name/wi/win-spice/package.nix index ff3364b1ae923..9f6420682a206 100644 --- a/pkgs/by-name/wi/win-spice/package.nix +++ b/pkgs/by-name/wi/win-spice/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, p7zip, virtio-win }: +{ + lib, + stdenv, + fetchurl, + p7zip, + virtio-win, +}: let version_usbdk = "1.0.22"; @@ -28,7 +34,7 @@ let }; in -stdenv.mkDerivation { +stdenv.mkDerivation { # use version number of qxlwddm as qxlwddm is the most important component pname = "win-spice"; version = version_qxlwddm; @@ -54,15 +60,22 @@ stdenv.mkDerivation { installPhase = let - copy_qxl = arch: version: "mkdir -p $out/${arch}/qxl; cp qxlwddm/${version}/${arch}/* $out/${arch}/qxl/. \n"; + copy_qxl = + arch: version: "mkdir -p $out/${arch}/qxl; cp qxlwddm/${version}/${arch}/* $out/${arch}/qxl/. \n"; copy_usbdk = arch: "mkdir -p $out/${arch}/usbdk; cp usbdk/${arch}/* $out/${arch}/usbdk/. \n"; - copy_vdagent = arch: "mkdir -p $out/${arch}/vdagent; cp vdagent/${arch}/* $out/${arch}/vdagent/. \n"; + copy_vdagent = + arch: "mkdir -p $out/${arch}/vdagent; cp vdagent/${arch}/* $out/${arch}/vdagent/. \n"; # SPICE needs vioserial # TODO: Link windows version in win-spice (here) to version used in virtio-win. # That way it would never matter whether vioserial is installed from virtio-win or win-spice. - copy_vioserial = arch: version: "mkdir -p $out/${arch}/vioserial; cp ${virtio-win}/vioserial/${version}/${arch}/* $out/${arch}/vioserial/. \n"; - copy = arch: version: (copy_qxl arch version) + (copy_usbdk arch) + (copy_vdagent arch) + (copy_vioserial arch version); - in '' + copy_vioserial = + arch: version: + "mkdir -p $out/${arch}/vioserial; cp ${virtio-win}/vioserial/${version}/${arch}/* $out/${arch}/vioserial/. \n"; + copy = + arch: version: + (copy_qxl arch version) + (copy_usbdk arch) + (copy_vdagent arch) + (copy_vioserial arch version); + in + '' runHook preInstall ${(copy "amd64" "w10") + (copy "x86" "w10")} runHook postInstall diff --git a/pkgs/by-name/wi/win2xcur/package.nix b/pkgs/by-name/wi/win2xcur/package.nix index ee4ab9875a449..f93b064d00e62 100644 --- a/pkgs/by-name/wi/win2xcur/package.nix +++ b/pkgs/by-name/wi/win2xcur/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonPackage rec { pname = "win2xcur"; @@ -11,7 +15,10 @@ python3Packages.buildPythonPackage rec { hash = "sha256-OjLj+QYg8YOJzDq3Y6/uyEXlNWbPm8VA/b1yP9jT6Jo="; }; - propagatedBuildInputs = with python3Packages; [ numpy wand ]; + propagatedBuildInputs = with python3Packages; [ + numpy + wand + ]; meta = with lib; { description = "Tools that convert cursors between the Windows (*.cur, *.ani) and Xcursor format"; diff --git a/pkgs/by-name/wi/windowchef/package.nix b/pkgs/by-name/wi/windowchef/package.nix index bf1a7c305dcd1..e74e4c063751d 100644 --- a/pkgs/by-name/wi/windowchef/package.nix +++ b/pkgs/by-name/wi/windowchef/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, libxcb, libXrandr -, xcbutil, xcbutilkeysyms, xcbutilwm, xcbproto +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, + libXrandr, + xcbutil, + xcbutilkeysyms, + xcbutilwm, + xcbproto, }: stdenv.mkDerivation rec { @@ -7,13 +15,20 @@ stdenv.mkDerivation rec { version = "0.5.2"; src = fetchFromGitHub { - owner = "tudurom"; - repo = "windowchef"; - rev = "v${version}"; + owner = "tudurom"; + repo = "windowchef"; + rev = "v${version}"; sha256 = "1m4vly7w2f28lrj26rhh3x9xsp3d97m5cxj91fafgh5rds4ygyhp"; }; - buildInputs = [ libxcb libXrandr xcbutil xcbutilkeysyms xcbutilwm xcbproto]; + buildInputs = [ + libxcb + libXrandr + xcbutil + xcbutilkeysyms + xcbutilwm + xcbproto + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/wi/windowlab/package.nix b/pkgs/by-name/wi/windowlab/package.nix index 80900d0639b1a..c6eeaced25097 100644 --- a/pkgs/by-name/wi/windowlab/package.nix +++ b/pkgs/by-name/wi/windowlab/package.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config -, libX11, libXext, libXft }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libX11, + libXext, + libXft, +}: -let version = "1.40"; in +let + version = "1.40"; +in stdenv.mkDerivation { pname = "windowlab"; inherit version; @@ -12,26 +21,29 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXext libXft ]; + buildInputs = [ + libX11 + libXext + libXft + ]; - postPatch = - '' - mv Makefile Makefile.orig - echo \ - " - DEFINES += -DXFT - EXTRA_INC += $(pkg-config --cflags xft) - EXTRA_LIBS += $(pkg-config --libs xft) - " > Makefile - sed "s|/usr/local|$out|g" Makefile.orig >> Makefile - ''; + postPatch = '' + mv Makefile Makefile.orig + echo \ + " + DEFINES += -DXFT + EXTRA_INC += $(pkg-config --cflags xft) + EXTRA_LIBS += $(pkg-config --libs xft) + " > Makefile + sed "s|/usr/local|$out|g" Makefile.orig >> Makefile + ''; - meta = with lib; - { description = "Small and simple stacking window manager"; - homepage = "http://nickgravgaard.com/windowlab/"; - license = licenses.gpl2; - maintainers = with maintainers; [ ehmry ]; - platforms = platforms.linux; - mainProgram = "windowlab"; - }; + meta = with lib; { + description = "Small and simple stacking window manager"; + homepage = "http://nickgravgaard.com/windowlab/"; + license = licenses.gpl2; + maintainers = with maintainers; [ ehmry ]; + platforms = platforms.linux; + mainProgram = "windowlab"; + }; } diff --git a/pkgs/by-name/wi/windowmaker/dockapps/AlsaMixer-app.nix b/pkgs/by-name/wi/windowmaker/dockapps/AlsaMixer-app.nix index a6b78b70b2443..f9f435b845b58 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/AlsaMixer-app.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/AlsaMixer-app.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, alsa-lib -, dockapps-sources -, libX11 -, libXext -, libXpm -, pkg-config +{ + lib, + stdenv, + alsa-lib, + dockapps-sources, + libX11, + libXext, + libXpm, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wi/windowmaker/dockapps/cputnik.nix b/pkgs/by-name/wi/windowmaker/dockapps/cputnik.nix index 0c969bf1c1052..206d3eba4d3a1 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/cputnik.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/cputnik.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, dockapps-sources -, libX11 -, libXext -, libXpm +{ + lib, + stdenv, + dockapps-sources, + libX11, + libXext, + libXpm, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wi/windowmaker/dockapps/libdockapp.nix b/pkgs/by-name/wi/windowmaker/dockapps/libdockapp.nix index 73c1571ff9584..44a61008c9a39 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/libdockapp.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/libdockapp.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, autoreconfHook -, dockapps-sources -, fontutil -, libX11 -, libXext -, libXpm -, mkfontdir -, pkg-config +{ + lib, + stdenv, + autoreconfHook, + dockapps-sources, + fontutil, + libX11, + libXext, + libXpm, + mkfontdir, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { @@ -17,9 +18,18 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/libdockapp"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ]; + buildInputs = [ + libX11 + libXext + libXpm + fontutil + mkfontdir + ]; # There is a bug on --with-font configureFlags = [ diff --git a/pkgs/by-name/wi/windowmaker/dockapps/wmCalClock.nix b/pkgs/by-name/wi/windowmaker/dockapps/wmCalClock.nix index fd46af14acc75..de423fc01ff17 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/wmCalClock.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/wmCalClock.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, dockapps-sources -, libX11 -, libXext -, libXpm +{ + lib, + stdenv, + dockapps-sources, + libX11, + libXext, + libXpm, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wi/windowmaker/dockapps/wmcube.nix b/pkgs/by-name/wi/windowmaker/dockapps/wmcube.nix index 5aaa00e23e344..93bb86503226f 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/wmcube.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/wmcube.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, dockapps-sources -, libX11 -, libXpm -, libXext -, libdockapp +{ + lib, + stdenv, + dockapps-sources, + libX11, + libXpm, + libXext, + libdockapp, }: stdenv.mkDerivation (finalAttrs: { @@ -24,16 +25,16 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = "-std=gnu89"; preBuild = '' - makeFlagsArray=( - CC="${stdenv.cc.targetPrefix}cc" - PREFIX="${placeholder "out"}" - VERSION="${finalAttrs.version}" - LIBDIR="-L${lib.getLib libX11}/lib -L${lib.getLib libXext}/lib \ --L${lib.getLib libXpm}/lib -L${lib.getLib libdockapp}/lib" - INCDIR="-I${lib.getDev libX11}/lib -I${lib.getDev libXext}/lib \ --I${lib.getDev libXpm}/lib -I${lib.getDev libdockapp}/lib" - LIBS="-lm -lXpm -lXext -lX11 -ldockapp" - ) + makeFlagsArray=( + CC="${stdenv.cc.targetPrefix}cc" + PREFIX="${placeholder "out"}" + VERSION="${finalAttrs.version}" + LIBDIR="-L${lib.getLib libX11}/lib -L${lib.getLib libXext}/lib \ + -L${lib.getLib libXpm}/lib -L${lib.getLib libdockapp}/lib" + INCDIR="-I${lib.getDev libX11}/lib -I${lib.getDev libXext}/lib \ + -I${lib.getDev libXpm}/lib -I${lib.getDev libdockapp}/lib" + LIBS="-lm -lXpm -lXext -lX11 -ldockapp" + ) ''; preInstall = '' diff --git a/pkgs/by-name/wi/windowmaker/dockapps/wmsm-app.nix b/pkgs/by-name/wi/windowmaker/dockapps/wmsm-app.nix index 36b555a81dd4f..0782c4ffbbeab 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/wmsm-app.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/wmsm-app.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, dockapps-sources -, libX11 -, libXpm -, libXext -, libdockapp +{ + lib, + stdenv, + dockapps-sources, + libX11, + libXpm, + libXext, + libdockapp, }: -stdenv.mkDerivation (finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "wmsm.app"; inherit (dockapps-sources) version src; diff --git a/pkgs/by-name/wi/windowmaker/dockapps/wmsystemtray.nix b/pkgs/by-name/wi/windowmaker/dockapps/wmsystemtray.nix index 440c35ce6449f..4d59166b2c8ce 100644 --- a/pkgs/by-name/wi/windowmaker/dockapps/wmsystemtray.nix +++ b/pkgs/by-name/wi/windowmaker/dockapps/wmsystemtray.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, libX11 -, libXext -, libXfixes -, libXmu -, libXpm -, pkg-config +{ + lib, + stdenv, + fetchurl, + libX11, + libXext, + libXfixes, + libXmu, + libXpm, + pkg-config, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wi/windowmaker/package.nix b/pkgs/by-name/wi/windowmaker/package.nix index 6c39eadeb05b5..57490959f0f7b 100644 --- a/pkgs/by-name/wi/windowmaker/package.nix +++ b/pkgs/by-name/wi/windowmaker/package.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromRepoOrCz -, autoreconfHook -, callPackage -, pkg-config -, imagemagick -, libX11 -, libXext -, libXft -, libXinerama -, libXmu -, libXpm -, libXrandr -, libXres -, libexif -, libjpeg -, libpng -, libtiff -, giflib -, libwebp -, pango +{ + lib, + stdenv, + fetchFromRepoOrCz, + autoreconfHook, + callPackage, + pkg-config, + imagemagick, + libX11, + libXext, + libXft, + libXinerama, + libXmu, + libXpm, + libXrandr, + libXres, + libexif, + libjpeg, + libpng, + libtiff, + giflib, + libwebp, + pango, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wi/windows10-icons/package.nix b/pkgs/by-name/wi/windows10-icons/package.nix index 8609aa7508afa..7cdda913ff2f7 100644 --- a/pkgs/by-name/wi/windows10-icons/package.nix +++ b/pkgs/by-name/wi/windows10-icons/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "windows10-icons"; diff --git a/pkgs/by-name/wi/wineasio/package.nix b/pkgs/by-name/wi/wineasio/package.nix index 5c95f7f828ff3..9152b850216c4 100644 --- a/pkgs/by-name/wi/wineasio/package.nix +++ b/pkgs/by-name/wi/wineasio/package.nix @@ -1,10 +1,11 @@ -{ multiStdenv -, lib -, fetchFromGitHub -, libjack2 -, pkg-config -, wineWowPackages -, pkgsi686Linux +{ + multiStdenv, + lib, + fetchFromGitHub, + libjack2, + pkg-config, + wineWowPackages, + pkgsi686Linux, }: multiStdenv.mkDerivation rec { @@ -19,9 +20,15 @@ multiStdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config wineWowPackages.stable ]; + nativeBuildInputs = [ + pkg-config + wineWowPackages.stable + ]; - buildInputs = [ pkgsi686Linux.libjack2 libjack2 ]; + buildInputs = [ + pkgsi686Linux.libjack2 + libjack2 + ]; dontConfigure = true; @@ -46,7 +53,10 @@ multiStdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/wineasio/wineasio"; description = "ASIO to JACK driver for WINE"; - license = with licenses; [ gpl2 lgpl21 ]; + license = with licenses; [ + gpl2 + lgpl21 + ]; maintainers = with maintainers; [ lovesegfault ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/wi/wingpanel-indicator-ayatana/package.nix b/pkgs/by-name/wi/wingpanel-indicator-ayatana/package.nix index c3c24b02401aa..e5e97bede0c43 100644 --- a/pkgs/by-name/wi/wingpanel-indicator-ayatana/package.nix +++ b/pkgs/by-name/wi/wingpanel-indicator-ayatana/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, unstableGitUpdater -, substituteAll -, meson -, ninja -, pkg-config -, vala -, gtk3 -, libindicator-gtk3 -, pantheon -, indicator-application-gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + substituteAll, + meson, + ninja, + pkg-config, + vala, + gtk3, + libindicator-gtk3, + pantheon, + indicator-application-gtk3, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wi/winhelpcgi/package.nix b/pkgs/by-name/wi/winhelpcgi/package.nix index 51383b5b792dc..19141ca03382e 100644 --- a/pkgs/by-name/wi/winhelpcgi/package.nix +++ b/pkgs/by-name/wi/winhelpcgi/package.nix @@ -1,4 +1,12 @@ -{ stdenv, fetchurl, libwmf, libpng12, pkg-config, lib }: stdenv.mkDerivation { +{ + stdenv, + fetchurl, + libwmf, + libpng12, + pkg-config, + lib, +}: +stdenv.mkDerivation { pname = "winhelpcgi"; version = "1.0-rc3"; @@ -10,7 +18,10 @@ nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libwmf libpng12 ]; + buildInputs = [ + libwmf + libpng12 + ]; meta = { description = "CGI module for Linux, Solaris, MacOS X and AIX to read Windows Help Files"; diff --git a/pkgs/by-name/wi/wio/package.nix b/pkgs/by-name/wi/wio/package.nix index b41db6fcf2a3e..7cc758e21ebb1 100644 --- a/pkgs/by-name/wi/wio/package.nix +++ b/pkgs/by-name/wi/wio/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, alacritty -, cage -, cairo -, libxkbcommon -, makeWrapper -, mesa -, meson -, ninja -, pkg-config -, wayland-scanner -, udev -, unstableGitUpdater -, wayland -, wayland-protocols -, wlroots -, xwayland +{ + lib, + stdenv, + fetchFromGitHub, + alacritty, + cage, + cairo, + libxkbcommon, + makeWrapper, + mesa, + meson, + ninja, + pkg-config, + wayland-scanner, + udev, + unstableGitUpdater, + wayland, + wayland-protocols, + wlroots, + xwayland, }: stdenv.mkDerivation (finalAttrs: { @@ -55,7 +56,12 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' wrapProgram $out/bin/wio \ - --prefix PATH ":" "${lib.makeBinPath [ alacritty cage ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + alacritty + cage + ] + }" ''; passthru = { diff --git a/pkgs/by-name/wi/wipe/package.nix b/pkgs/by-name/wi/wipe/package.nix index e41e22c3a25db..98d7226e6f7e8 100644 --- a/pkgs/by-name/wi/wipe/package.nix +++ b/pkgs/by-name/wi/wipe/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "wipe"; @@ -14,9 +18,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Secure file wiping utility"; mainProgram = "wipe"; - homepage = "https://wipe.sourceforge.net/"; - license = licenses.gpl2Plus; - platforms = platforms.all; + homepage = "https://wipe.sourceforge.net/"; + license = licenses.gpl2Plus; + platforms = platforms.all; maintainers = [ maintainers.abbradar ]; }; } diff --git a/pkgs/by-name/wi/wipefreespace/package.nix b/pkgs/by-name/wi/wipefreespace/package.nix index 7479863142486..111453bc57656 100644 --- a/pkgs/by-name/wi/wipefreespace/package.nix +++ b/pkgs/by-name/wi/wipefreespace/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchurl -, e2fsprogs -, ntfs3g -, xfsprogs -, reiser4progs -, libaal -, jfsutils -, libuuid -, texinfo +{ + stdenv, + lib, + fetchurl, + e2fsprogs, + ntfs3g, + xfsprogs, + reiser4progs, + libaal, + jfsutils, + libuuid, + texinfo, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wi/wire-desktop/package.nix b/pkgs/by-name/wi/wire-desktop/package.nix index 4959b6fdd2eeb..def5016749470 100644 --- a/pkgs/by-name/wi/wire-desktop/package.nix +++ b/pkgs/by-name/wi/wire-desktop/package.nix @@ -1,20 +1,21 @@ -{ autoPatchelfHook -, dpkg -, fetchurl -, makeDesktopItem -, makeWrapper -, stdenv -, lib -, udev -, buildPackages -, cpio -, xar -, libdbusmenu -, alsa-lib -, mesa -, nss -, nspr -, systemd +{ + autoPatchelfHook, + dpkg, + fetchurl, + makeDesktopItem, + makeWrapper, + stdenv, + lib, + udev, + buildPackages, + cpio, + xar, + libdbusmenu, + alsa-lib, + mesa, + nss, + nspr, + systemd, }: let @@ -25,21 +26,27 @@ let pname = "wire-desktop"; - version = let - x86_64-darwin = "3.35.4861"; - in { - inherit x86_64-darwin; - aarch64-darwin = x86_64-darwin; - x86_64-linux = "3.36.3462"; - }.${system} or throwSystem; - - hash = let - x86_64-darwin = "sha256-QPxslMEz1jOH2LceFOdCyVDtpya1SfJ8GWMIAIhie4U="; - in { - inherit x86_64-darwin; - aarch64-darwin = x86_64-darwin; - x86_64-linux = "sha256-tlX15AT4PcrmD2Vna99TGqo0b/8xv2YOAt03aCqSeXg="; - }.${system} or throwSystem; + version = + let + x86_64-darwin = "3.35.4861"; + in + { + inherit x86_64-darwin; + aarch64-darwin = x86_64-darwin; + x86_64-linux = "3.36.3462"; + } + .${system} or throwSystem; + + hash = + let + x86_64-darwin = "sha256-QPxslMEz1jOH2LceFOdCyVDtpya1SfJ8GWMIAIhie4U="; + in + { + inherit x86_64-darwin; + aarch64-darwin = x86_64-darwin; + x86_64-linux = "sha256-tlX15AT4PcrmD2Vna99TGqo0b/8xv2YOAt03aCqSeXg="; + } + .${system} or throwSystem; meta = with lib; { description = "Modern, secure messenger for everyone"; @@ -66,7 +73,7 @@ let platforms = platforms.darwin ++ [ "x86_64-linux" ]; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; linux = stdenv.mkDerivation rec { @@ -78,7 +85,12 @@ let }; desktopItem = makeDesktopItem { - categories = [ "Network" "InstantMessaging" "Chat" "VideoConference" ]; + categories = [ + "Network" + "InstantMessaging" + "Chat" + "VideoConference" + ]; comment = "Secure messenger for everyone"; desktopName = "Wire"; exec = "wire-desktop %U"; @@ -180,6 +192,4 @@ let }; in -if stdenv.hostPlatform.isDarwin -then darwin -else linux +if stdenv.hostPlatform.isDarwin then darwin else linux diff --git a/pkgs/by-name/wi/wire/package.nix b/pkgs/by-name/wi/wire/package.nix index c1099d0691696..de9274ebed351 100644 --- a/pkgs/by-name/wi/wire/package.nix +++ b/pkgs/by-name/wi/wire/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "wire"; @@ -21,7 +25,10 @@ buildGoModule rec { subPackages = [ "cmd/wire" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/google/wire"; diff --git a/pkgs/by-name/wi/wiredtiger/package.nix b/pkgs/by-name/wi/wiredtiger/package.nix index a87afd7ee09fc..0d5b4e3203ee6 100644 --- a/pkgs/by-name/wi/wiredtiger/package.nix +++ b/pkgs/by-name/wi/wiredtiger/package.nix @@ -1,12 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, automake, autoconf, libtool +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + libtool, -# Optional Dependencies -, lz4 ? null, snappy ? null, zlib ? null, bzip2 ? null, db ? null -, gperftools ? null, leveldb ? null + # Optional Dependencies + lz4 ? null, + snappy ? null, + zlib ? null, + bzip2 ? null, + db ? null, + gperftools ? null, + leveldb ? null, }: let - shouldUsePkg = pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; + shouldUsePkg = + pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; optLz4 = shouldUsePkg lz4; optSnappy = shouldUsePkg snappy; @@ -27,23 +39,35 @@ stdenv.mkDerivation rec { sha256 = "04j2zw8b9jym43r682rh4kpdippxx7iw3ry16nxlbybzar9kgk83"; }; - nativeBuildInputs = [ automake autoconf libtool ]; - buildInputs = [ optLz4 optSnappy optZlib optBzip2 optDb optGperftools optLeveldb ]; + nativeBuildInputs = [ + automake + autoconf + libtool + ]; + buildInputs = [ + optLz4 + optSnappy + optZlib + optBzip2 + optDb + optGperftools + optLeveldb + ]; configureFlags = [ - (lib.withFeature false "attach") - (lib.withFeatureAs true "builtins" "") - (lib.enableFeature (optBzip2 != null) "bzip2") - (lib.enableFeature false "diagnostic") - (lib.enableFeature false "java") - (lib.enableFeature (optLeveldb != null) "leveldb") - (lib.enableFeature false "python") - (lib.enableFeature (optSnappy != null) "snappy") - (lib.enableFeature (optLz4 != null) "lz4") + (lib.withFeature false "attach") + (lib.withFeatureAs true "builtins" "") + (lib.enableFeature (optBzip2 != null) "bzip2") + (lib.enableFeature false "diagnostic") + (lib.enableFeature false "java") + (lib.enableFeature (optLeveldb != null) "leveldb") + (lib.enableFeature false "python") + (lib.enableFeature (optSnappy != null) "snappy") + (lib.enableFeature (optLz4 != null) "lz4") (lib.enableFeature (optGperftools != null) "tcmalloc") - (lib.enableFeature (optZlib != null) "zlib") - (lib.withFeatureAs (optDb != null) "berkeleydb" optDb) - (lib.withFeature false "helium") + (lib.enableFeature (optZlib != null) "zlib") + (lib.withFeatureAs (optDb != null) "berkeleydb" optDb) + (lib.withFeature false "helium") ]; preConfigure = '' diff --git a/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix b/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix index 3f9d5054ed6b0..c596fb9eeb4a5 100644 --- a/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix +++ b/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,12 +17,18 @@ buildGoModule rec { vendorHash = "sha256-kAPw5M9o99NijCC9BzYhIpzHK/8fSAJxvckaj8iRby0="; - ldflags = [ "-s" "-w" "-X main.appVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.appVersion=${version}" + ]; meta = with lib; { - changelog = let - versionWithoutDots = concatStrings (splitString "." version); - in "https://github.com/axllent/wireguard-vanity-keygen/blob/develop/CHANGELOG.md#${versionWithoutDots}"; + changelog = + let + versionWithoutDots = concatStrings (splitString "." version); + in + "https://github.com/axllent/wireguard-vanity-keygen/blob/develop/CHANGELOG.md#${versionWithoutDots}"; description = "WireGuard vanity key generator"; homepage = "https://github.com/axllent/wireguard-vanity-keygen"; license = licenses.mit; diff --git a/pkgs/by-name/wi/wireless-regdb/package.nix b/pkgs/by-name/wi/wireless-regdb/package.nix index e331433a0e674..38a358121d713 100644 --- a/pkgs/by-name/wi/wireless-regdb/package.nix +++ b/pkgs/by-name/wi/wireless-regdb/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, directoryListingUpdater }: +{ + lib, + stdenvNoCC, + fetchurl, + directoryListingUpdater, +}: stdenvNoCC.mkDerivation rec { pname = "wireless-regdb"; diff --git a/pkgs/by-name/wi/wirelesstools/package.nix b/pkgs/by-name/wi/wirelesstools/package.nix index 33318b16bb819..e95eb87ce5982 100644 --- a/pkgs/by-name/wi/wirelesstools/package.nix +++ b/pkgs/by-name/wi/wirelesstools/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "wireless-tools"; diff --git a/pkgs/by-name/wi/wireproxy/package.nix b/pkgs/by-name/wi/wireproxy/package.nix index b244364c8c9bf..3ded4b7f2bfea 100644 --- a/pkgs/by-name/wi/wireproxy/package.nix +++ b/pkgs/by-name/wi/wireproxy/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, wireproxy +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + wireproxy, }: buildGoModule rec { diff --git a/pkgs/by-name/wi/wireviz/package.nix b/pkgs/by-name/wi/wireviz/package.nix index cce72213b66b2..5f62939d11110 100644 --- a/pkgs/by-name/wi/wireviz/package.nix +++ b/pkgs/by-name/wi/wireviz/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wi/wireworld/package.nix b/pkgs/by-name/wi/wireworld/package.nix index 2b23144c00b51..7e487a528a14d 100644 --- a/pkgs/by-name/wi/wireworld/package.nix +++ b/pkgs/by-name/wi/wireworld/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, zip -, love -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, strip-nondeterminism +{ + lib, + stdenv, + fetchFromGitLab, + zip, + love, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + strip-nondeterminism, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wi/wishbone-tool/package.nix b/pkgs/by-name/wi/wishbone-tool/package.nix index 7cda9afee8981..2281e124ce393 100644 --- a/pkgs/by-name/wi/wishbone-tool/package.nix +++ b/pkgs/by-name/wi/wishbone-tool/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, rustPlatform, libusb-compat-0_1 }: +{ + lib, + fetchFromGitHub, + rustPlatform, + libusb-compat-0_1, +}: let version = "0.7.9"; diff --git a/pkgs/by-name/wi/wishlist/package.nix b/pkgs/by-name/wi/wishlist/package.nix index f2a2912649968..460e7fe227f5c 100644 --- a/pkgs/by-name/wi/wishlist/package.nix +++ b/pkgs/by-name/wi/wishlist/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "wishlist"; @@ -15,14 +19,21 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; meta = with lib; { description = "Single entrypoint for multiple SSH endpoints"; homepage = "https://github.com/charmbracelet/wishlist"; changelog = "https://github.com/charmbracelet/wishlist/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ caarlos0 penguwin ]; + maintainers = with maintainers; [ + caarlos0 + penguwin + ]; mainProgram = "wishlist"; }; } diff --git a/pkgs/by-name/wi/wit-bindgen/package.nix b/pkgs/by-name/wi/wit-bindgen/package.nix index 7435199df8b33..8f4a9e1ef2196 100644 --- a/pkgs/by-name/wi/wit-bindgen/package.nix +++ b/pkgs/by-name/wi/wit-bindgen/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wi/with-shell/package.nix b/pkgs/by-name/wi/with-shell/package.nix index acfe547f1470a..e8b5fc506416f 100644 --- a/pkgs/by-name/wi/with-shell/package.nix +++ b/pkgs/by-name/wi/with-shell/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wi/witness/package.nix b/pkgs/by-name/wi/witness/package.nix index 50e347a091241..d52ea85af158f 100644 --- a/pkgs/by-name/wi/witness/package.nix +++ b/pkgs/by-name/wi/witness/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, -# testing -, testers -, witness + # testing + testers, + witness, }: buildGoModule rec { @@ -66,6 +67,9 @@ buildGoModule rec { homepage = "https://github.com/testifysec/witness"; changelog = "https://github.com/testifysec/witness/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ fkautz jk ]; + maintainers = with maintainers; [ + fkautz + jk + ]; }; } diff --git a/pkgs/by-name/wi/witnessme/package.nix b/pkgs/by-name/wi/witnessme/package.nix index de83d1475360a..4f2ca939af4c3 100644 --- a/pkgs/by-name/wi/witnessme/package.nix +++ b/pkgs/by-name/wi/witnessme/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wi/wizer/package.nix b/pkgs/by-name/wi/wizer/package.nix index 4aaad29db5669..aff80e1cb0b57 100644 --- a/pkgs/by-name/wi/wizer/package.nix +++ b/pkgs/by-name/wi/wizer/package.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, testers -, wizer +{ + lib, + rustPlatform, + fetchFromGitHub, + testers, + wizer, }: rustPlatform.buildRustPackage rec { @@ -20,9 +21,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-8iQ6ULdle8tJDPgIoPT9R3jfS32tBBfs4vZNQcV8vfs="; - cargoBuildFlags = [ "--bin" pname ]; + cargoBuildFlags = [ + "--bin" + pname + ]; - buildFeatures = [ "env_logger" "structopt" ]; + buildFeatures = [ + "env_logger" + "structopt" + ]; # Setting $HOME to a temporary directory is necessary to prevent checks from failing, as # the test suite creates a cache directory at $HOME/Library/Caches/BytecodeAlliance.wasmtime. @@ -39,6 +46,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "wizer"; homepage = "https://github.com/bytecodealliance/wizer"; license = licenses.asl20; - maintainers = with maintainers; [ lucperkins amesgen ]; + maintainers = with maintainers; [ + lucperkins + amesgen + ]; }; } diff --git a/pkgs/by-name/wk/wkhtmltopdf/package.nix b/pkgs/by-name/wk/wkhtmltopdf/package.nix index 430648cb8a6e6..030f6610cbad7 100644 --- a/pkgs/by-name/wk/wkhtmltopdf/package.nix +++ b/pkgs/by-name/wk/wkhtmltopdf/package.nix @@ -1,18 +1,19 @@ -{ lib -, autoPatchelfHook -, cpio -, freetype -, zlib -, openssl -, fetchurl -, dpkg -, gcc-unwrapped -, libjpeg -, libpng -, fontconfig -, stdenv -, xar -, xorg +{ + lib, + autoPatchelfHook, + cpio, + freetype, + zlib, + openssl, + fetchurl, + dpkg, + gcc-unwrapped, + libjpeg, + libpng, + fontconfig, + stdenv, + xar, + xorg, }: let @@ -23,7 +24,10 @@ let sha256 = "sha256-gaZrd7UI/t6NvKpnEnIDdIN2Vos2c6F/ZhG21R6YlPg="; }; - nativeBuildInputs = [ xar cpio ]; + nativeBuildInputs = [ + xar + cpio + ]; unpackPhase = '' xar -xf $src @@ -40,7 +44,10 @@ let }; _linuxAttrs = { - nativeBuildInputs = [ dpkg autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + ]; buildInputs = [ xorg.libXext @@ -81,34 +88,41 @@ let }; } // _linuxAttrs; in -stdenv.mkDerivation ({ - pname = "wkhtmltopdf"; - - dontStrip = true; - - doInstallCheck = true; +stdenv.mkDerivation ( + { + pname = "wkhtmltopdf"; - installCheckPhase = '' - $out/bin/wkhtmltopdf --version - ''; + dontStrip = true; - meta = with lib; { - homepage = "https://wkhtmltopdf.org/"; - description = - "Tools for rendering web pages to PDF or images (binary package)"; - longDescription = '' - wkhtmltopdf and wkhtmltoimage are open source (LGPL) command line tools - to render HTML into PDF and various image formats using the QT Webkit - rendering engine. These run entirely "headless" and do not require a - display or display service. + doInstallCheck = true; - There is also a C library, if you're into that kind of thing. + installCheckPhase = '' + $out/bin/wkhtmltopdf --version ''; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ nbr kalbasit ]; - platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" ]; - }; -} -// lib.optionalAttrs (stdenv.hostPlatform.isDarwin) darwinAttrs -// lib.optionalAttrs (stdenv.hostPlatform.isLinux) linuxAttrs.${stdenv.system} + + meta = with lib; { + homepage = "https://wkhtmltopdf.org/"; + description = "Tools for rendering web pages to PDF or images (binary package)"; + longDescription = '' + wkhtmltopdf and wkhtmltoimage are open source (LGPL) command line tools + to render HTML into PDF and various image formats using the QT Webkit + rendering engine. These run entirely "headless" and do not require a + display or display service. + + There is also a C library, if you're into that kind of thing. + ''; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ + nbr + kalbasit + ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + "aarch64-linux" + ]; + }; + } + // lib.optionalAttrs (stdenv.hostPlatform.isDarwin) darwinAttrs + // lib.optionalAttrs (stdenv.hostPlatform.isLinux) linuxAttrs.${stdenv.system} ) diff --git a/pkgs/by-name/wl/wl-clipboard-rs/package.nix b/pkgs/by-name/wl/wl-clipboard-rs/package.nix index 2483c485be063..e11744ea8c32d 100644 --- a/pkgs/by-name/wl/wl-clipboard-rs/package.nix +++ b/pkgs/by-name/wl/wl-clipboard-rs/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, wayland -, withNativeLibs ? false +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + wayland, + withNativeLibs ? false, }: rustPlatform.buildRustPackage rec { @@ -20,24 +21,30 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-P0WLYHNLN8ZqoDRszsgfQTiWeVpfBpFHiEWpQMBjNJM="; - cargoBuildFlags = [ - "--package=wl-clipboard-rs" - "--package=wl-clipboard-rs-tools" - ] ++ lib.optionals withNativeLibs [ - "--features=native_lib" - ]; + cargoBuildFlags = + [ + "--package=wl-clipboard-rs" + "--package=wl-clipboard-rs-tools" + ] + ++ lib.optionals withNativeLibs [ + "--features=native_lib" + ]; - nativeBuildInputs = [ - installShellFiles - ] ++ lib.optionals withNativeLibs [ - pkg-config - ]; + nativeBuildInputs = + [ + installShellFiles + ] + ++ lib.optionals withNativeLibs [ + pkg-config + ]; - buildInputs = [ - installShellFiles - ]++ lib.optionals withNativeLibs [ - wayland - ]; + buildInputs = + [ + installShellFiles + ] + ++ lib.optionals withNativeLibs [ + wayland + ]; preCheck = '' export XDG_RUNTIME_DIR=$(mktemp -d) @@ -72,8 +79,14 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/YaLTeR/wl-clipboard-rs"; changelog = "https://github.com/YaLTeR/wl-clipboard-rs/blob/v${version}/CHANGELOG.md"; platforms = platforms.linux; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; mainProgram = "wl-clip"; - maintainers = with maintainers; [ thiagokokada donovanglover ]; + maintainers = with maintainers; [ + thiagokokada + donovanglover + ]; }; } diff --git a/pkgs/by-name/wl/wl-clipboard-x11/package.nix b/pkgs/by-name/wl/wl-clipboard-x11/package.nix index e7cdb9a554a51..02366c77c095a 100644 --- a/pkgs/by-name/wl/wl-clipboard-x11/package.nix +++ b/pkgs/by-name/wl/wl-clipboard-x11/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, wl-clipboard, bash }: +{ + lib, + stdenv, + fetchFromGitHub, + wl-clipboard, + bash, +}: stdenv.mkDerivation rec { pname = "wl-clipboard-x11"; diff --git a/pkgs/by-name/wl/wl-clipboard/package.nix b/pkgs/by-name/wl/wl-clipboard/package.nix index dc5b9ed900de4..45e310684489f 100644 --- a/pkgs/by-name/wl/wl-clipboard/package.nix +++ b/pkgs/by-name/wl/wl-clipboard/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wayland -, wayland-protocols -, wayland-scanner -, xdg-utils -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wayland, + wayland-protocols, + wayland-scanner, + xdg-utils, + makeWrapper, }: stdenv.mkDerivation rec { @@ -23,8 +24,17 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner makeWrapper ]; - buildInputs = [ wayland wayland-protocols ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + makeWrapper + ]; + buildInputs = [ + wayland + wayland-protocols + ]; mesonFlags = [ "-Dfishcompletiondir=share/fish/vendor_completions.d" @@ -40,7 +50,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/bugaevc/wl-clipboard"; description = "Command-line copy/paste utilities for Wayland"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ dywedir kashw2 ]; + maintainers = with maintainers; [ + dywedir + kashw2 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/wl/wl-color-picker/package.nix b/pkgs/by-name/wl/wl-color-picker/package.nix index 22f6821a10223..3f128e6bdd67e 100644 --- a/pkgs/by-name/wl/wl-color-picker/package.nix +++ b/pkgs/by-name/wl/wl-color-picker/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, slurp -, grim -, zenity -, wl-clipboard -, imagemagick -, makeWrapper -, bash +{ + lib, + stdenv, + fetchFromGitHub, + slurp, + grim, + zenity, + wl-clipboard, + imagemagick, + makeWrapper, + bash, }: stdenv.mkDerivation rec { @@ -41,13 +42,15 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/usr/bin/wl-color-picker \ - --prefix PATH : ${lib.makeBinPath [ - grim - slurp - imagemagick - zenity - wl-clipboard - ]} + --prefix PATH : ${ + lib.makeBinPath [ + grim + slurp + imagemagick + zenity + wl-clipboard + ] + } mkdir -p $out/bin ln -s $out/usr/bin/wl-color-picker $out/bin/wl-color-picker ''; diff --git a/pkgs/by-name/wl/wl-gammactl/package.nix b/pkgs/by-name/wl/wl-gammactl/package.nix index 7cb8eb6e7fb6e..dc9e38a531c3e 100644 --- a/pkgs/by-name/wl/wl-gammactl/package.nix +++ b/pkgs/by-name/wl/wl-gammactl/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub -, meson, pkg-config, ninja -, wayland, wayland-scanner, wlr-protocols, gtk3, glib +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, + wayland, + wayland-scanner, + wlr-protocols, + gtk3, + glib, }: stdenv.mkDerivation rec { @@ -15,8 +24,17 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson pkg-config ninja glib wayland-scanner ]; - buildInputs = [ wayland gtk3 ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + glib + wayland-scanner + ]; + buildInputs = [ + wayland + gtk3 + ]; postUnpack = '' rmdir source/wlr-protocols diff --git a/pkgs/by-name/wl/wl-mirror/package.nix b/pkgs/by-name/wl/wl-mirror/package.nix index 6ca73104b4c53..2f6f15f5badb2 100644 --- a/pkgs/by-name/wl/wl-mirror/package.nix +++ b/pkgs/by-name/wl/wl-mirror/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wayland -, wayland-protocols -, wayland-scanner -, wlr-protocols -, libGL -, bash -, installExampleScripts ? true -, makeWrapper -, pipectl -, slurp -, rofi -, scdoc +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wayland, + wayland-protocols, + wayland-scanner, + wlr-protocols, + libGL, + bash, + installExampleScripts ? true, + makeWrapper, + pipectl, + slurp, + rofi, + scdoc, }: let @@ -39,8 +40,20 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ cmake pkg-config wayland-scanner scdoc makeWrapper ]; - buildInputs = [ libGL wayland wayland-protocols wlr-protocols bash ]; + nativeBuildInputs = [ + cmake + pkg-config + wayland-scanner + scdoc + makeWrapper + ]; + buildInputs = [ + libGL + wayland + wayland-protocols + wlr-protocols + bash + ]; postPatch = '' echo 'v${version}' > version.txt diff --git a/pkgs/by-name/wl/wl-screenrec/package.nix b/pkgs/by-name/wl/wl-screenrec/package.nix index 5bba48bd9b463..8091a3f3d7efd 100644 --- a/pkgs/by-name/wl/wl-screenrec/package.nix +++ b/pkgs/by-name/wl/wl-screenrec/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libdrm -, ffmpeg_6 -, wayland +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libdrm, + ffmpeg_6, + wayland, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wl/wla-dx/package.nix b/pkgs/by-name/wl/wla-dx/package.nix index b80b460d4def2..c0e871b853b04 100644 --- a/pkgs/by-name/wl/wla-dx/package.nix +++ b/pkgs/by-name/wl/wla-dx/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, cmake}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "wla-dx"; diff --git a/pkgs/by-name/wl/wlay/package.nix b/pkgs/by-name/wl/wlay/package.nix index c2330de5f7dad..f1bf8dedc1c10 100644 --- a/pkgs/by-name/wl/wlay/package.nix +++ b/pkgs/by-name/wl/wlay/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, glfw3 -, libX11 -, libXau -, libXdmcp -, libepoxy -, libffi -, libxcb -, pkg-config -, wayland -, wayland-scanner +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + glfw3, + libX11, + libXau, + libXdmcp, + libepoxy, + libffi, + libxcb, + pkg-config, + wayland, + wayland-scanner, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/wl/wlc/package.nix b/pkgs/by-name/wl/wlc/package.nix index 29eda8696d12f..bcd091840c5a1 100644 --- a/pkgs/by-name/wl/wlc/package.nix +++ b/pkgs/by-name/wl/wlc/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: with python3.pkgs; diff --git a/pkgs/by-name/wl/wlclock/package.nix b/pkgs/by-name/wl/wlclock/package.nix index d79a81788c7ac..3fb526f199e63 100644 --- a/pkgs/by-name/wl/wlclock/package.nix +++ b/pkgs/by-name/wl/wlclock/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromSourcehut -, meson -, ninja -, cmake -, pkg-config -, wayland-scanner -, wayland-protocols -, wayland -, cairo -, scdoc +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + cmake, + pkg-config, + wayland-scanner, + wayland-protocols, + wayland, + cairo, + scdoc, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/wl/wlcs/package.nix b/pkgs/by-name/wl/wlcs/package.nix index 453da9b06be71..260f312ac2815 100644 --- a/pkgs/by-name/wl/wlcs/package.nix +++ b/pkgs/by-name/wl/wlcs/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, gitUpdater -, fetchFromGitHub -, testers -, cmake -, pkg-config -, boost -, gtest -, wayland -, wayland-scanner +{ + stdenv, + lib, + gitUpdater, + fetchFromGitHub, + testers, + cmake, + pkg-config, + boost, + gtest, + wayland, + wayland-scanner, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wl/wleave/package.nix b/pkgs/by-name/wl/wleave/package.nix index d4fb46142d597..9defe3798e249 100644 --- a/pkgs/by-name/wl/wleave/package.nix +++ b/pkgs/by-name/wl/wleave/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, at-spi2-atk -, pkg-config -, glib -, gtk3 -, gtk-layer-shell -, installShellFiles -, scdoc +{ + lib, + fetchFromGitHub, + rustPlatform, + at-spi2-atk, + pkg-config, + glib, + gtk3, + gtk-layer-shell, + installShellFiles, + scdoc, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wl/wlinhibit/package.nix b/pkgs/by-name/wl/wlinhibit/package.nix index fbf59eeca5228..1d787f7871937 100644 --- a/pkgs/by-name/wl/wlinhibit/package.nix +++ b/pkgs/by-name/wl/wlinhibit/package.nix @@ -39,6 +39,6 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; homepage = "https://github.com/0x5a4/wlinhibit"; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [_0x5a4]; + maintainers = with lib.maintainers; [ _0x5a4 ]; }; } diff --git a/pkgs/by-name/wl/wljoywake/package.nix b/pkgs/by-name/wl/wljoywake/package.nix index 209e61e9d1841..00899a219751e 100644 --- a/pkgs/by-name/wl/wljoywake/package.nix +++ b/pkgs/by-name/wl/wljoywake/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, udev -, wayland -, wayland-protocols -, wayland-scanner +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + udev, + wayland, + wayland-protocols, + wayland-scanner, }: let diff --git a/pkgs/by-name/wl/wllvm/package.nix b/pkgs/by-name/wl/wllvm/package.nix index 38e10f726160c..a01b20da36c92 100644 --- a/pkgs/by-name/wl/wllvm/package.nix +++ b/pkgs/by-name/wl/wllvm/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { version = "1.3.1"; diff --git a/pkgs/by-name/wl/wlogout/package.nix b/pkgs/by-name/wl/wlogout/package.nix index 63a537f6e3e2d..3eaf5022eb836 100644 --- a/pkgs/by-name/wl/wlogout/package.nix +++ b/pkgs/by-name/wl/wlogout/package.nix @@ -1,21 +1,22 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, gtk-layer-shell -, gtk3 -, libxkbcommon -, meson -, ninja -, pkg-config -, scdoc -, stdenv -, wayland -, wayland-protocols -# gtk-layer-shell fails to cross-compile due to a hard dependency -# on gobject-introspection. -# Disable it when cross-compiling since it's an optional dependency. -# This disables transparency support. -, withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform) +{ + lib, + fetchFromGitHub, + gitUpdater, + gtk-layer-shell, + gtk3, + libxkbcommon, + meson, + ninja, + pkg-config, + scdoc, + stdenv, + wayland, + wayland-protocols, + # gtk-layer-shell fails to cross-compile due to a hard dependency + # on gobject-introspection. + # Disable it when cross-compiling since it's an optional dependency. + # This disables transparency support. + withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform), }: stdenv.mkDerivation (finalAttrs: { @@ -29,7 +30,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-/tYZy56ku68ziSOhy6Dex9RGy+blkU6CN2ze76y7718="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; depsBuildBuild = [ pkg-config @@ -42,14 +46,16 @@ stdenv.mkDerivation (finalAttrs: { scdoc ]; - buildInputs = [ - gtk3 - libxkbcommon - wayland - wayland-protocols - ] ++ lib.optionals withGtkLayerShell [ - gtk-layer-shell - ]; + buildInputs = + [ + gtk3 + libxkbcommon + wayland + wayland-protocols + ] + ++ lib.optionals withGtkLayerShell [ + gtk-layer-shell + ]; strictDeps = true; diff --git a/pkgs/by-name/wl/wlopm/package.nix b/pkgs/by-name/wl/wlopm/package.nix index aa0b9ae4bcfc1..b1b746120c792 100644 --- a/pkgs/by-name/wl/wlopm/package.nix +++ b/pkgs/by-name/wl/wlopm/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromSourcehut, wayland, wayland-scanner }: +{ + lib, + stdenv, + fetchFromSourcehut, + wayland, + wayland-scanner, +}: stdenv.mkDerivation rec { pname = "wlopm"; diff --git a/pkgs/by-name/wl/wlprop/package.nix b/pkgs/by-name/wl/wlprop/package.nix index f46a9a965533b..b6c0dd2d613ae 100644 --- a/pkgs/by-name/wl/wlprop/package.nix +++ b/pkgs/by-name/wl/wlprop/package.nix @@ -1,4 +1,14 @@ -{ fetchgit, gawk, jq, lib, makeWrapper, slurp, stdenv, sway, bash }: +{ + fetchgit, + gawk, + jq, + lib, + makeWrapper, + slurp, + stdenv, + sway, + bash, +}: stdenv.mkDerivation rec { pname = "wlprop"; @@ -20,7 +30,14 @@ stdenv.mkDerivation rec { install -Dm755 wlprop.sh $out/bin/wlprop wrapProgram "$out/bin/wlprop" \ - --prefix PATH : "$out/bin:${lib.makeBinPath [ gawk jq slurp sway ]}" + --prefix PATH : "$out/bin:${ + lib.makeBinPath [ + gawk + jq + slurp + sway + ] + }" runHook postInstall ''; @@ -30,7 +47,7 @@ stdenv.mkDerivation rec { description = "Xprop clone for wlroots based compositors"; homepage = "https://gist.github.com/crispyricepc/f313386043395ff06570e02af2d9a8e0"; license = licenses.mit; - maintainers = with maintainers; []; + maintainers = with maintainers; [ ]; platforms = platforms.linux; mainProgram = "wlprop"; }; diff --git a/pkgs/by-name/wl/wlr-layout-ui/package.nix b/pkgs/by-name/wl/wlr-layout-ui/package.nix index 2cf571540f689..084c316b7bf95 100644 --- a/pkgs/by-name/wl/wlr-layout-ui/package.nix +++ b/pkgs/by-name/wl/wlr-layout-ui/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wl/wlr-randr/package.nix b/pkgs/by-name/wl/wlr-randr/package.nix index 6c284fdf2b15b..4064d5538bbfc 100644 --- a/pkgs/by-name/wl/wlr-randr/package.nix +++ b/pkgs/by-name/wl/wlr-randr/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromSourcehut -, meson -, ninja -, pkg-config -, wayland -, wayland-scanner +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + wayland, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -20,7 +21,12 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + ]; buildInputs = [ wayland ]; depsBuildBuild = [ pkg-config diff --git a/pkgs/by-name/wl/wlr-which-key/package.nix b/pkgs/by-name/wl/wlr-which-key/package.nix index 4bb349e3c3013..f81e73c5463d0 100644 --- a/pkgs/by-name/wl/wlr-which-key/package.nix +++ b/pkgs/by-name/wl/wlr-which-key/package.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, cairo -, glib -, libxkbcommon -, pango +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + cairo, + glib, + libxkbcommon, + pango, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wl/wlrctl/package.nix b/pkgs/by-name/wl/wlrctl/package.nix index 130c54731eaa3..810c196e8a7d9 100644 --- a/pkgs/by-name/wl/wlrctl/package.nix +++ b/pkgs/by-name/wl/wlrctl/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromSourcehut, meson, pkg-config, scdoc, ninja, libxkbcommon, wayland, wayland-scanner }: +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + pkg-config, + scdoc, + ninja, + libxkbcommon, + wayland, + wayland-scanner, +}: stdenv.mkDerivation rec { pname = "wlrctl"; @@ -15,8 +26,17 @@ stdenv.mkDerivation rec { depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson pkg-config scdoc ninja wayland-scanner ]; - buildInputs = [ libxkbcommon wayland ]; + nativeBuildInputs = [ + meson + pkg-config + scdoc + ninja + wayland-scanner + ]; + buildInputs = [ + libxkbcommon + wayland + ]; env.NIX_CFLAGS_COMPILE = "-Wno-error=type-limits"; @@ -24,7 +44,10 @@ stdenv.mkDerivation rec { description = "Command line utility for miscellaneous wlroots Wayland extensions"; homepage = "https://git.sr.ht/~brocellous/wlrctl"; license = licenses.mit; - maintainers = with maintainers; [ puffnfresh artturin ]; + maintainers = with maintainers; [ + puffnfresh + artturin + ]; platforms = platforms.linux; mainProgram = "wlrctl"; }; diff --git a/pkgs/by-name/wl/wlsunset/package.nix b/pkgs/by-name/wl/wlsunset/package.nix index 72edfb9c6f487..2feb362354ae0 100644 --- a/pkgs/by-name/wl/wlsunset/package.nix +++ b/pkgs/by-name/wl/wlsunset/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromSourcehut -, meson, pkg-config, ninja, wayland-scanner, scdoc -, wayland, wayland-protocols +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + pkg-config, + ninja, + wayland-scanner, + scdoc, + wayland, + wayland-protocols, }: stdenv.mkDerivation rec { @@ -18,8 +26,17 @@ stdenv.mkDerivation rec { depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson pkg-config ninja wayland-scanner scdoc ]; - buildInputs = [ wayland wayland-protocols ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + wayland-scanner + scdoc + ]; + buildInputs = [ + wayland + wayland-protocols + ]; meta = with lib; { description = "Day/night gamma adjustments for Wayland"; diff --git a/pkgs/by-name/wl/wluma/package.nix b/pkgs/by-name/wl/wluma/package.nix index b1b92cb797b8c..0b782bf296a62 100644 --- a/pkgs/by-name/wl/wluma/package.nix +++ b/pkgs/by-name/wl/wluma/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, rustPlatform -, marked-man -, coreutils -, vulkan-loader -, wayland -, pkg-config -, udev -, v4l-utils -, dbus -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + rustPlatform, + marked-man, + coreutils, + vulkan-loader, + wayland, + pkg-config, + udev, + v4l-utils, + dbus, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -72,7 +73,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/maximbaz/wluma"; changelog = "https://github.com/maximbaz/wluma/releases/tag/${version}"; license = licenses.isc; - maintainers = with maintainers; [ yshym jmc-figueira atemu ]; + maintainers = with maintainers; [ + yshym + jmc-figueira + atemu + ]; platforms = platforms.linux; mainProgram = "wluma"; }; diff --git a/pkgs/by-name/wl/wlvncc/package.nix b/pkgs/by-name/wl/wlvncc/package.nix index 0e0e64a658d2d..58feac19a8f50 100644 --- a/pkgs/by-name/wl/wlvncc/package.nix +++ b/pkgs/by-name/wl/wlvncc/package.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, aml -, cyrus_sasl -, ffmpeg -, gnutls -, libGL -, libdrm -, libgcrypt -, libjpeg -, libpng -, libxkbcommon -, lzo -, mesa -, meson -, ninja -, openssl -, pkg-config -, pixman -, wayland -, wayland-scanner -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + aml, + cyrus_sasl, + ffmpeg, + gnutls, + libGL, + libdrm, + libgcrypt, + libjpeg, + libpng, + libxkbcommon, + lzo, + mesa, + meson, + ninja, + openssl, + pkg-config, + pixman, + wayland, + wayland-scanner, + zlib, }: stdenv.mkDerivation { pname = "wlvncc"; diff --git a/pkgs/by-name/wm/wmctrl/package.nix b/pkgs/by-name/wm/wmctrl/package.nix index b15b1eb6b4255..3d115059ffd77 100644 --- a/pkgs/by-name/wm/wmctrl/package.nix +++ b/pkgs/by-name/wm/wmctrl/package.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchurl -, libX11 -, glib -, pkg-config -, libXmu +{ + lib, + stdenv, + fetchurl, + libX11, + glib, + pkg-config, + libXmu, }: stdenv.mkDerivation rec { @@ -20,7 +22,11 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ glib.dev ]; - buildInputs = [ libX11 libXmu glib ]; + buildInputs = [ + libX11 + libXmu + glib + ]; patches = [ ./64-bit-data.patch ]; diff --git a/pkgs/by-name/wm/wmderland/package.nix b/pkgs/by-name/wm/wmderland/package.nix index 322906d5657fa..557813a56980c 100644 --- a/pkgs/by-name/wm/wmderland/package.nix +++ b/pkgs/by-name/wm/wmderland/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libnotify, libX11, xorgproto, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libnotify, + libX11, + xorgproto, + nixosTests, +}: stdenv.mkDerivation { pname = "wmderland"; diff --git a/pkgs/by-name/wm/wmderlandc/package.nix b/pkgs/by-name/wm/wmderlandc/package.nix index 3bb8f2364ef6f..f1ce7beb9552a 100644 --- a/pkgs/by-name/wm/wmderlandc/package.nix +++ b/pkgs/by-name/wm/wmderlandc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libX11, xorgproto }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libX11, + xorgproto, +}: stdenv.mkDerivation (finalAttrs: { pname = "wmderlandc"; diff --git a/pkgs/by-name/wm/wmenu/package.nix b/pkgs/by-name/wm/wmenu/package.nix index ada289ad49614..faa58a57799ad 100644 --- a/pkgs/by-name/wm/wmenu/package.nix +++ b/pkgs/by-name/wm/wmenu/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitea -, pkg-config -, meson -, ninja -, cairo -, pango -, wayland -, wayland-protocols -, wayland-scanner -, libxkbcommon -, scdoc +{ + lib, + stdenv, + fetchFromGitea, + pkg-config, + meson, + ninja, + cairo, + pango, + wayland, + wayland-protocols, + wayland-scanner, + libxkbcommon, + scdoc, }: stdenv.mkDerivation rec { @@ -27,8 +28,20 @@ stdenv.mkDerivation rec { hash = "sha256-TF5BvgThvTOqxyfz5Zt/Z1cqjFJwvla+dgdyvz7Zhrg="; }; - nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ]; - buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + wayland-scanner + ]; + buildInputs = [ + cairo + pango + wayland + libxkbcommon + wayland-protocols + scdoc + ]; meta = with lib; { description = "Efficient dynamic menu for Sway and wlroots based Wayland compositors"; @@ -39,4 +52,3 @@ stdenv.mkDerivation rec { mainProgram = "wmenu"; }; } - diff --git a/pkgs/by-name/wm/wmfs/package.nix b/pkgs/by-name/wm/wmfs/package.nix index 6c850278b337f..fafac60f1c21d 100644 --- a/pkgs/by-name/wm/wmfs/package.nix +++ b/pkgs/by-name/wm/wmfs/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, - libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libX11, + libXinerama, + libXrandr, + libXpm, + libXft, + imlib2, +}: stdenv.mkDerivation { pname = "wmfs"; diff --git a/pkgs/by-name/wm/wmic-bin/package.nix b/pkgs/by-name/wm/wmic-bin/package.nix index 64cf171afea1c..e557ffd76764b 100644 --- a/pkgs/by-name/wm/wmic-bin/package.nix +++ b/pkgs/by-name/wm/wmic-bin/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, autoPatchelfHook, popt, libxcrypt-legacy }: +{ + stdenv, + lib, + fetchFromGitHub, + autoPatchelfHook, + popt, + libxcrypt-legacy, +}: stdenv.mkDerivation rec { pname = "wmic-bin"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "1w1mdbiwz37wzry1q38h8dyjaa6iggmsb9wcyhhlawwm1vj50w48"; }; - buildInputs = [ popt libxcrypt-legacy ]; + buildInputs = [ + popt + libxcrypt-legacy + ]; nativeBuildInputs = [ autoPatchelfHook ]; @@ -39,10 +49,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "WMI client for Linux (binary)"; mainProgram = "wmic"; - homepage = "https://www.openvas.org"; + homepage = "https://www.openvas.org"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.mit; + license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; - platforms = [ "x86_64-linux" ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/wm/wml/package.nix b/pkgs/by-name/wm/wml/package.nix index 13295edd310a0..3ad1b6c6922f2 100644 --- a/pkgs/by-name/wm/wml/package.nix +++ b/pkgs/by-name/wm/wml/package.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, perlPackages, ncurses, lynx, makeWrapper }: +{ + lib, + fetchurl, + perlPackages, + ncurses, + lynx, + makeWrapper, +}: perlPackages.buildPerlPackage { pname = "wml"; @@ -24,10 +31,21 @@ perlPackages.buildPerlPackage { ''; nativeBuildInputs = [ makeWrapper ]; - buildInputs = with perlPackages; - [ perl TermReadKey GD BitVector ncurses lynx ImageSize ]; + buildInputs = with perlPackages; [ + perl + TermReadKey + GD + BitVector + ncurses + lynx + ImageSize + ]; - patches = [ ./redhat-with-thr.patch ./dynaloader.patch ./no_bitvector.patch ]; + patches = [ + ./redhat-with-thr.patch + ./dynaloader.patch + ./no_bitvector.patch + ]; # Workaround build failure on -fno-common toolchains: # ld: iselect_browse.o:(.bss+0x2020): multiple definition of `Line'; iselect_main.o:(.bss+0x100000): first defined here @@ -51,9 +69,14 @@ perlPackages.buildPerlPackage { preFixup = '' wrapProgram $out/bin/wml \ - --set PERL5LIB ${with perlPackages; makePerlPath [ - BitVector TermReadKey ImageSize - ]} + --set PERL5LIB ${ + with perlPackages; + makePerlPath [ + BitVector + TermReadKey + ImageSize + ] + } ''; enableParallelBuilding = false; diff --git a/pkgs/by-name/wm/wmname/package.nix b/pkgs/by-name/wm/wmname/package.nix index b64e714e081b0..6b33f04f9dd2f 100644 --- a/pkgs/by-name/wm/wmname/package.nix +++ b/pkgs/by-name/wm/wmname/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libX11 }: +{ + lib, + stdenv, + fetchurl, + libX11, +}: stdenv.mkDerivation rec { pname = "wmname"; diff --git a/pkgs/by-name/wm/wmutils-core/package.nix b/pkgs/by-name/wm/wmutils-core/package.nix index 5620dcb8420f8..5f35c29dbb427 100644 --- a/pkgs/by-name/wm/wmutils-core/package.nix +++ b/pkgs/by-name/wm/wmutils-core/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, libxcb, xcbutil, xcb-util-cursor }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, + xcbutil, + xcb-util-cursor, +}: stdenv.mkDerivation rec { pname = "wmutils-core"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-OKAvJovGu9rMxEe5g4kdL7Foj41kl3zUYIJa04jf0dI="; }; - buildInputs = [ libxcb xcbutil xcb-util-cursor ]; + buildInputs = [ + libxcb + xcbutil + xcb-util-cursor + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/wm/wmutils-libwm/package.nix b/pkgs/by-name/wm/wmutils-libwm/package.nix index 84d08c9e2b66b..723e78772e888 100644 --- a/pkgs/by-name/wm/wmutils-libwm/package.nix +++ b/pkgs/by-name/wm/wmutils-libwm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libxcb }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, +}: stdenv.mkDerivation rec { pname = "wmutils-libwm"; diff --git a/pkgs/by-name/wm/wmutils-opt/package.nix b/pkgs/by-name/wm/wmutils-opt/package.nix index 0d847262ea587..00142588d2e76 100644 --- a/pkgs/by-name/wm/wmutils-opt/package.nix +++ b/pkgs/by-name/wm/wmutils-opt/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libxcb }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, +}: stdenv.mkDerivation rec { pname = "wmutils-opt"; diff --git a/pkgs/by-name/wo/wob/package.nix b/pkgs/by-name/wo/wob/package.nix index e670c5fce4de8..d45068b7ce827 100644 --- a/pkgs/by-name/wo/wob/package.nix +++ b/pkgs/by-name/wo/wob/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, inih -, meson -, ninja -, pkg-config -, cmocka -, scdoc -, wayland-scanner -, wayland -, wayland-protocols -, libseccomp +{ + lib, + stdenv, + fetchFromGitHub, + inih, + meson, + ninja, + pkg-config, + cmocka, + scdoc, + wayland-scanner, + wayland, + wayland-protocols, + libseccomp, }: stdenv.mkDerivation rec { @@ -28,9 +29,19 @@ stdenv.mkDerivation rec { depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; - buildInputs = [ cmocka inih wayland wayland-protocols ] - ++ lib.optional stdenv.hostPlatform.isLinux libseccomp; + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + wayland-scanner + ]; + buildInputs = [ + cmocka + inih + wayland + wayland-protocols + ] ++ lib.optional stdenv.hostPlatform.isLinux libseccomp; mesonFlags = lib.optional stdenv.hostPlatform.isLinux "-Dseccomp=enabled"; diff --git a/pkgs/by-name/wo/woeusb-ng/package.nix b/pkgs/by-name/wo/woeusb-ng/package.nix index 0858422be3a0c..408440e0f8be3 100644 --- a/pkgs/by-name/wo/woeusb-ng/package.nix +++ b/pkgs/by-name/wo/woeusb-ng/package.nix @@ -1,10 +1,11 @@ -{ lib -, python3Packages -, fetchFromGitHub -, wrapGAppsHook3 -, p7zip -, parted -, grub2 +{ + lib, + python3Packages, + fetchFromGitHub, + wrapGAppsHook3, + p7zip, + parted, + grub2, }: with python3Packages; diff --git a/pkgs/by-name/wo/woeusb/package.nix b/pkgs/by-name/wo/woeusb/package.nix index 9add255896f75..8382ad157ec9c 100644 --- a/pkgs/by-name/wo/woeusb/package.nix +++ b/pkgs/by-name/wo/woeusb/package.nix @@ -1,5 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles, makeWrapper -, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, util-linux, wimlib, wget }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + makeWrapper, + coreutils, + dosfstools, + findutils, + gawk, + gnugrep, + grub2_light, + ncurses, + ntfs3g, + parted, + p7zip, + util-linux, + wimlib, + wget, +}: stdenv.mkDerivation rec { version = "5.2.4"; @@ -12,7 +30,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-HB1E7rP/U58dyL3j6YnhF5AOGAcHqmA/ZZ5JNBDibco="; }; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; postPatch = '' # Emulate version smudge filter (see .gitattributes, .gitconfig). @@ -30,7 +51,23 @@ stdenv.mkDerivation rec { installManPage share/man/man1/woeusb.1 wrapProgram "$out/bin/woeusb" \ - --set PATH '${lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted p7zip util-linux wget wimlib ]}' + --set PATH '${ + lib.makeBinPath [ + coreutils + dosfstools + findutils + gawk + gnugrep + grub2_light + ncurses + ntfs3g + parted + p7zip + util-linux + wget + wimlib + ] + }' runHook postInstall ''; diff --git a/pkgs/by-name/wo/woff2/package.nix b/pkgs/by-name/wo/woff2/package.nix index 2f18634449809..ef5a9a5e006c1 100644 --- a/pkgs/by-name/wo/woff2/package.nix +++ b/pkgs/by-name/wo/woff2/package.nix @@ -1,5 +1,11 @@ -{ brotli, cmake, pkg-config, fetchFromGitHub, lib, stdenv -, static ? stdenv.hostPlatform.isStatic +{ + brotli, + cmake, + pkg-config, + fetchFromGitHub, + lib, + stdenv, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { @@ -13,12 +19,19 @@ stdenv.mkDerivation rec { sha256 = "13l4g536h0pr84ww4wxs2za439s0xp1va55g6l478rfbb1spp44y"; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; # Need to explicitly link to brotlicommon patches = lib.optional static ./brotli-static.patch; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DCANONICAL_PREFIXES=ON" diff --git a/pkgs/by-name/wo/wofi-emoji/package.nix b/pkgs/by-name/wo/wofi-emoji/package.nix index 81ba584cc2464..cef2eb0f4780a 100644 --- a/pkgs/by-name/wo/wofi-emoji/package.nix +++ b/pkgs/by-name/wo/wofi-emoji/package.nix @@ -63,7 +63,10 @@ stdenv.mkDerivation rec { description = "Simple emoji selector for Wayland using wofi and wl-clipboard"; homepage = "https://github.com/Zeioth/wofi-emoji"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ johnrtitor ymarkus ]; + maintainers = with lib.maintainers; [ + johnrtitor + ymarkus + ]; platforms = lib.platforms.all; mainProgram = "wofi-emoji"; }; diff --git a/pkgs/by-name/wo/wofi/package.nix b/pkgs/by-name/wo/wofi/package.nix index 2884f0072a08c..0dba9c4add9a9 100644 --- a/pkgs/by-name/wo/wofi/package.nix +++ b/pkgs/by-name/wo/wofi/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromSourcehut -, pkg-config -, meson -, ninja -, wayland -, gtk3 -, wrapGAppsHook3 -, installShellFiles +{ + stdenv, + lib, + fetchFromSourcehut, + pkg-config, + meson, + ninja, + wayland, + gtk3, + wrapGAppsHook3, + installShellFiles, }: stdenv.mkDerivation rec { pname = "wofi"; @@ -21,8 +22,17 @@ stdenv.mkDerivation rec { vc = "hg"; }; - nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook3 installShellFiles ]; - buildInputs = [ wayland gtk3 ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + wrapGAppsHook3 + installShellFiles + ]; + buildInputs = [ + wayland + gtk3 + ]; patches = [ # https://todo.sr.ht/~scoopta/wofi/121 diff --git a/pkgs/by-name/wo/wol/package.nix b/pkgs/by-name/wo/wol/package.nix index 0d1abbf33544d..31d64c88f06ba 100644 --- a/pkgs/by-name/wo/wol/package.nix +++ b/pkgs/by-name/wo/wol/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "wol"; diff --git a/pkgs/by-name/wo/wolf-shaper/package.nix b/pkgs/by-name/wo/wolf-shaper/package.nix index a3c08e92b7234..d4e234fc6173f 100644 --- a/pkgs/by-name/wo/wolf-shaper/package.nix +++ b/pkgs/by-name/wo/wolf-shaper/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, libjack2, lv2, xorg, liblo, libGL, libXcursor, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + libjack2, + lv2, + xorg, + liblo, + libGL, + libXcursor, + pkg-config, +}: stdenv.mkDerivation rec { pname = "wolf-shaper"; @@ -13,7 +24,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libjack2 lv2 xorg.libX11 liblo libGL libXcursor ]; + buildInputs = [ + libjack2 + lv2 + xorg.libX11 + liblo + libGL + libXcursor + ]; makeFlags = [ "BUILD_LV2=true" @@ -42,7 +60,10 @@ stdenv.mkDerivation rec { description = "Waveshaper plugin with spline-based graph editor"; license = licenses.gpl3Plus; maintainers = [ maintainers.magnetophon ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; mainProgram = "wolf-shaper"; }; } diff --git a/pkgs/by-name/wo/wolfebin/package.nix b/pkgs/by-name/wo/wolfebin/package.nix index 47babc4ceb9aa..e44f30213899f 100644 --- a/pkgs/by-name/wo/wolfebin/package.nix +++ b/pkgs/by-name/wo/wolfebin/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "wolfebin"; diff --git a/pkgs/by-name/wo/wolfstoneextract/package.nix b/pkgs/by-name/wo/wolfstoneextract/package.nix index b2d76e41d57c3..75f55a6ca475b 100644 --- a/pkgs/by-name/wo/wolfstoneextract/package.nix +++ b/pkgs/by-name/wo/wolfstoneextract/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromBitbucket -, cmake +{ + lib, + stdenv, + fetchFromBitbucket, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -24,7 +25,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "wolfstoneextract"; homepage = "https://bitbucket.org/ecwolf/wolfstoneextract/src/master/"; platforms = [ "x86_64-linux" ]; - license = with licenses; [ gpl3Only bsd3 ]; + license = with licenses; [ + gpl3Only + bsd3 + ]; maintainers = with maintainers; [ keenanweaver ]; }; }) diff --git a/pkgs/by-name/wo/wonderdraft/package.nix b/pkgs/by-name/wo/wonderdraft/package.nix index c6cf971b9beae..431ede5440bd8 100644 --- a/pkgs/by-name/wo/wonderdraft/package.nix +++ b/pkgs/by-name/wo/wonderdraft/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, requireFile -, dpkg -, xorg -, libGL -, alsa-lib -, pulseaudio +{ + lib, + stdenv, + requireFile, + dpkg, + xorg, + libGL, + alsa-lib, + pulseaudio, }: stdenv.mkDerivation rec { @@ -35,23 +36,25 @@ stdenv.mkDerivation rec { ln -s $out/opt/Wonderdraft/Wonderdraft.x86_64 $out/bin/Wonderdraft.x86_64 runHook postInstall ''; - preFixup = let - libPath = lib.makeLibraryPath [ - xorg.libXcursor - xorg.libXinerama - xorg.libXrandr - xorg.libX11 - xorg.libXi - libGL - alsa-lib - pulseaudio - ]; - in '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}" \ - $out/opt/Wonderdraft/Wonderdraft.x86_64 - ''; + preFixup = + let + libPath = lib.makeLibraryPath [ + xorg.libXcursor + xorg.libXinerama + xorg.libXrandr + xorg.libX11 + xorg.libXi + libGL + alsa-lib + pulseaudio + ]; + in + '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + $out/opt/Wonderdraft/Wonderdraft.x86_64 + ''; meta = with lib; { homepage = "https://wonderdraft.net/"; diff --git a/pkgs/by-name/wo/woodpecker-plugin-git/package.nix b/pkgs/by-name/wo/woodpecker-plugin-git/package.nix index c8d28fa69dd27..ef9538e05dd38 100644 --- a/pkgs/by-name/wo/woodpecker-plugin-git/package.nix +++ b/pkgs/by-name/wo/woodpecker-plugin-git/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, woodpecker-plugin-git +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + woodpecker-plugin-git, }: buildGoModule rec { diff --git a/pkgs/by-name/wo/woof/package.nix b/pkgs/by-name/wo/woof/package.nix index b73ad5615dd09..054ff86e56234 100644 --- a/pkgs/by-name/wo/woof/package.nix +++ b/pkgs/by-name/wo/woof/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation { pname = "woof"; diff --git a/pkgs/by-name/wo/wordgrinder/package.nix b/pkgs/by-name/wo/wordgrinder/package.nix index c3b2aaf42a071..9f7d84c9bb37d 100644 --- a/pkgs/by-name/wo/wordgrinder/package.nix +++ b/pkgs/by-name/wo/wordgrinder/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper -, lua52Packages, libXft, ncurses, ninja, readline, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + makeWrapper, + lua52Packages, + libXft, + ncurses, + ninja, + readline, + zlib, +}: stdenv.mkDerivation rec { pname = "wordgrinder"; @@ -33,24 +44,28 @@ stdenv.mkDerivation rec { ninja ]; - buildInputs = [ - lua52Packages.lua - ncurses - readline - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libXft - ]; + buildInputs = + [ + lua52Packages.lua + ncurses + readline + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libXft + ]; # To be able to find env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux "-I${libXft.dev}/include/X11"; # Binaries look for LuaFileSystem library (lfs.so) at runtime - postInstall = '' - wrapProgram $out/bin/wordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so"; - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/xwordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so"; - ''; + postInstall = + '' + wrapProgram $out/bin/wordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so"; + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/xwordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so"; + ''; meta = with lib; { description = "Text-based word processor"; diff --git a/pkgs/by-name/wo/wordlists/package.nix b/pkgs/by-name/wo/wordlists/package.nix index 2d7b43b3894fd..7913b182671ca 100644 --- a/pkgs/by-name/wo/wordlists/package.nix +++ b/pkgs/by-name/wo/wordlists/package.nix @@ -1,17 +1,18 @@ -{ lib -, symlinkJoin -, nmap -, rockyou -, seclists -, wfuzz -, lists ? [ +{ + lib, + symlinkJoin, + nmap, + rockyou, + seclists, + wfuzz, + lists ? [ nmap rockyou seclists wfuzz - ] -, writeShellScriptBin -, tree + ], + writeShellScriptBin, + tree, }: let wordlistsCollection = symlinkJoin { @@ -35,7 +36,8 @@ let printf "${wordlistsCollection}/share/wordlists\n" ''; -in symlinkJoin { +in +symlinkJoin { name = "wordlists"; paths = [ @@ -68,6 +70,9 @@ in symlinkJoin { If you want to add a new package that provides wordlist/s the convention is to copy it to {file}`$out/share/wordlists/myNewWordlist`. ''; - maintainers = with maintainers; [ pamplemousse h7x4 ]; + maintainers = with maintainers; [ + pamplemousse + h7x4 + ]; }; } diff --git a/pkgs/by-name/wo/work-sans/package.nix b/pkgs/by-name/wo/work-sans/package.nix index 071c6bafb1828..34fb1f8ae9e62 100644 --- a/pkgs/by-name/wo/work-sans/package.nix +++ b/pkgs/by-name/wo/work-sans/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "work-sans"; diff --git a/pkgs/by-name/wo/workcraft/package.nix b/pkgs/by-name/wo/workcraft/package.nix index f1159f3c06875..cec867c8bd55a 100644 --- a/pkgs/by-name/wo/workcraft/package.nix +++ b/pkgs/by-name/wo/workcraft/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "workcraft"; @@ -14,12 +20,12 @@ stdenv.mkDerivation rec { dontConfigure = true; installPhase = '' - mkdir -p $out/share - cp -r * $out/share - mkdir $out/bin - makeWrapper $out/share/workcraft $out/bin/workcraft \ - --set JAVA_HOME "${jre}" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=gasp'; + mkdir -p $out/share + cp -r * $out/share + mkdir $out/bin + makeWrapper $out/share/workcraft $out/bin/workcraft \ + --set JAVA_HOME "${jre}" \ + --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=gasp'; ''; meta = { diff --git a/pkgs/by-name/wo/worker/package.nix b/pkgs/by-name/wo/worker/package.nix index 7df631e14b9e2..710e621eaa9e6 100644 --- a/pkgs/by-name/wo/worker/package.nix +++ b/pkgs/by-name/wo/worker/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, libX11 +{ + lib, + stdenv, + fetchurl, + libX11, }: stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,10 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libX11 ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; strictDeps = true; diff --git a/pkgs/by-name/wo/world-serpant-search/package.nix b/pkgs/by-name/wo/world-serpant-search/package.nix index a1aedf9cb724d..91dcb00d9e142 100644 --- a/pkgs/by-name/wo/world-serpant-search/package.nix +++ b/pkgs/by-name/wo/world-serpant-search/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -33,7 +34,7 @@ python3.pkgs.buildPythonApplication rec { description = "Command-line tool for vulnerability detection"; homepage = "https://github.com/Latrodect/wss-repo-vulnerability-search-manager"; license = licenses.mit; - maintainers = with maintainers; [ fab]; + maintainers = with maintainers; [ fab ]; mainProgram = "serpant"; }; } diff --git a/pkgs/by-name/wo/worldofgoo/package.nix b/pkgs/by-name/wo/worldofgoo/package.nix index 963d9ab1d288a..e4b3ddf5a5b2a 100644 --- a/pkgs/by-name/wo/worldofgoo/package.nix +++ b/pkgs/by-name/wo/worldofgoo/package.nix @@ -1,9 +1,17 @@ -{ lib, stdenv, requireFile, unzip, makeDesktopItem, SDL2, SDL2_mixer, libogg, libvorbis }: +{ + lib, + stdenv, + requireFile, + unzip, + makeDesktopItem, + SDL2, + SDL2_mixer, + libogg, + libvorbis, +}: let - arch = if stdenv.system == "x86_64-linux" - then "x86_64" - else "x86"; + arch = if stdenv.system == "x86_64-linux" then "x86_64" else "x86"; desktopItem = makeDesktopItem { desktopName = "World of Goo"; @@ -36,8 +44,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; sourceRoot = pname; - libPath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc SDL2 SDL2_mixer - libogg libvorbis ]; + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + SDL2 + SDL2_mixer + libogg + libvorbis + ]; unpackPhase = '' # The game is distributed as a shell script, with a tar of mojosetup, and a @@ -68,7 +82,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://worldofgoo.com"; license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = with maintainers; [ jcumming ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; diff --git a/pkgs/by-name/wo/wormhole-william/package.nix b/pkgs/by-name/wo/wormhole-william/package.nix index eaf637ea3843a..52dc3783c262e 100644 --- a/pkgs/by-name/wo/wormhole-william/package.nix +++ b/pkgs/by-name/wo/wormhole-william/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "wormhole-william"; diff --git a/pkgs/by-name/wo/wownero/package.nix b/pkgs/by-name/wo/wownero/package.nix index 7ec9f8d83ed82..04efa59e6d430 100644 --- a/pkgs/by-name/wo/wownero/package.nix +++ b/pkgs/by-name/wo/wownero/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, boost -, libsodium -, openssl -, rapidjson -, readline -, unbound -, zeromq -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boost, + libsodium, + openssl, + rapidjson, + readline, + unbound, + zeromq, + darwin, }: let @@ -59,17 +60,19 @@ stdenv.mkDerivation rec { cmake ]; - buildInputs = [ - boost - libsodium - openssl - rapidjson - readline - unbound - zeromq - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.IOKit - ]; + buildInputs = + [ + boost + libsodium + openssl + rapidjson + readline + unbound + zeromq + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.IOKit + ]; postUnpack = '' rm -r $sourceRoot/external/miniupnp diff --git a/pkgs/by-name/wo/wowup-cf/package.nix b/pkgs/by-name/wo/wowup-cf/package.nix index 8e793c01833a6..92846b3de798d 100644 --- a/pkgs/by-name/wo/wowup-cf/package.nix +++ b/pkgs/by-name/wo/wowup-cf/package.nix @@ -1,4 +1,8 @@ -{ lib, appimageTools, fetchurl }: +{ + lib, + appimageTools, + fetchurl, +}: let version = "2.20.0"; @@ -10,7 +14,8 @@ let }; appimageContents = appimageTools.extractType1 { inherit pname version src; }; -in appimageTools.wrapType1 { +in +appimageTools.wrapType1 { inherit pname version src; extraInstallCommands = '' @@ -23,7 +28,7 @@ in appimageTools.wrapType1 { meta = with lib; { description = "World of Warcraft addon updater with CurseForge support"; longDescription = '' - WowUp is the community centered World of Warcraft addon updater. We attempt to bring the addon community together in an easy to use updater application. We have an ever growing list of supported features. + WowUp is the community centered World of Warcraft addon updater. We attempt to bring the addon community together in an easy to use updater application. We have an ever growing list of supported features. ''; mainProgram = "wowup-cf"; homepage = "https://wowup.io/"; diff --git a/pkgs/by-name/wp/wp-cli/package.nix b/pkgs/by-name/wp/wp-cli/package.nix index f0bb1e9ee7b78..c2ce0e6a9d3f8 100644 --- a/pkgs/by-name/wp/wp-cli/package.nix +++ b/pkgs/by-name/wp/wp-cli/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchurl -, formats -, installShellFiles -, makeWrapper -, php -, phpIniFile ? null +{ + stdenv, + lib, + fetchurl, + formats, + installShellFiles, + makeWrapper, + php, + phpIniFile ? null, }: let @@ -17,14 +18,13 @@ let }; ini = - if phpIniFile == null - then - (formats.ini { }).generate "php.ini" - { - PHP.memory_limit = -1; # no limit as composer uses a lot of memory - Phar."phar.readonly" = "Off"; - } - else phpIniFile; + if phpIniFile == null then + (formats.ini { }).generate "php.ini" { + PHP.memory_limit = -1; # no limit as composer uses a lot of memory + Phar."phar.readonly" = "Off"; + } + else + phpIniFile; in stdenv.mkDerivation (finalAttrs: { @@ -40,7 +40,10 @@ stdenv.mkDerivation (finalAttrs: { dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; # Usually --set-default is used to set default environment variables. # But the value is wrapped in single-quotes so our variables would be used literally instead diff --git a/pkgs/by-name/wp/wp4nix/package.nix b/pkgs/by-name/wp/wp4nix/package.nix index 6a829b4ae2672..25810bd6d318e 100644 --- a/pkgs/by-name/wp/wp4nix/package.nix +++ b/pkgs/by-name/wp/wp4nix/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitLab -, nix -, subversion -, makeWrapper +{ + lib, + buildGoModule, + fetchFromGitLab, + nix, + subversion, + makeWrapper, }: buildGoModule rec { @@ -26,7 +27,12 @@ buildGoModule rec { postInstall = '' wrapProgram $out/bin/wp4nix \ - --prefix PATH : ${lib.makeBinPath [ nix subversion ]} + --prefix PATH : ${ + lib.makeBinPath [ + nix + subversion + ] + } ''; meta = with lib; { @@ -38,4 +44,3 @@ buildGoModule rec { platforms = platforms.unix; }; } - diff --git a/pkgs/by-name/wp/wpaperd/package.nix b/pkgs/by-name/wp/wpaperd/package.nix index 4c90e058a706a..e6a8e1dd3ad79 100644 --- a/pkgs/by-name/wp/wpaperd/package.nix +++ b/pkgs/by-name/wp/wpaperd/package.nix @@ -1,4 +1,12 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, libxkbcommon, wayland, libGL }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libxkbcommon, + wayland, + libGL, +}: rustPlatform.buildRustPackage rec { pname = "wpaperd"; @@ -33,7 +41,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/danyspin97/wpaperd"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ DPDmancul fsnkty ]; + maintainers = with maintainers; [ + DPDmancul + fsnkty + ]; mainProgram = "wpaperd"; }; } diff --git a/pkgs/by-name/wp/wpgtk/package.nix b/pkgs/by-name/wp/wpgtk/package.nix index 0223c088c8174..4cf918c52012f 100644 --- a/pkgs/by-name/wp/wpgtk/package.nix +++ b/pkgs/by-name/wp/wpgtk/package.nix @@ -1,5 +1,13 @@ -{ lib, python3Packages, fetchFromGitHub, libxslt, - gobject-introspection, gtk3, wrapGAppsHook3, adwaita-icon-theme }: +{ + lib, + python3Packages, + fetchFromGitHub, + libxslt, + gobject-introspection, + gtk3, + wrapGAppsHook3, + adwaita-icon-theme, +}: python3Packages.buildPythonApplication rec { pname = "wpgtk"; @@ -31,7 +39,7 @@ python3Packages.buildPythonApplication rec { # The $HOME variable must be set to build the package. A "permission denied" error will occur otherwise preBuild = '' - export HOME=$(pwd) + export HOME=$(pwd) ''; # No test exist @@ -40,16 +48,19 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Template based wallpaper/colorscheme generator and manager"; longDescription = '' - In short, wpgtk is a colorscheme/wallpaper manager with a template system attached which lets you create templates from any textfile and will replace keywords on it on the fly, allowing for great styling and theming possibilities. + In short, wpgtk is a colorscheme/wallpaper manager with a template system attached which lets you create templates from any textfile and will replace keywords on it on the fly, allowing for great styling and theming possibilities. - wpgtk uses pywal as its colorscheme generator, but builds upon it with a UI and other features, such as the abilty to mix and edit the colorschemes generated and save them with their respective wallpapers, having light and dark themes, hackable and fast GTK theme made specifically for wpgtk and custom keywords and values to replace in templates. + wpgtk uses pywal as its colorscheme generator, but builds upon it with a UI and other features, such as the abilty to mix and edit the colorschemes generated and save them with their respective wallpapers, having light and dark themes, hackable and fast GTK theme made specifically for wpgtk and custom keywords and values to replace in templates. - INFO: To work properly, this tool needs "programs.dconf.enable = true" on nixos or dconf installed. A reboot may be required after installing dconf. - ''; + INFO: To work properly, this tool needs "programs.dconf.enable = true" on nixos or dconf installed. A reboot may be required after installing dconf. + ''; homepage = "https://github.com/deviantfero/wpgtk"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ melkor333 cafkafk ]; + maintainers = with maintainers; [ + melkor333 + cafkafk + ]; mainProgram = "wpg"; }; } diff --git a/pkgs/by-name/wp/wpm/package.nix b/pkgs/by-name/wp/wpm/package.nix index f7786471839a5..63e9a06d3da9a 100644 --- a/pkgs/by-name/wp/wpm/package.nix +++ b/pkgs/by-name/wp/wpm/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wp/wprecon/package.nix b/pkgs/by-name/wp/wprecon/package.nix index 3cb301d34d303..c6aedc564b4c7 100644 --- a/pkgs/by-name/wp/wprecon/package.nix +++ b/pkgs/by-name/wp/wprecon/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/wq/wqy_microhei/package.nix b/pkgs/by-name/wq/wqy_microhei/package.nix index ced2c4a3a41d6..aa2569ec0e456 100644 --- a/pkgs/by-name/wq/wqy_microhei/package.nix +++ b/pkgs/by-name/wq/wqy_microhei/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "wqy-microhei"; diff --git a/pkgs/by-name/wq/wqy_zenhei/package.nix b/pkgs/by-name/wq/wqy_zenhei/package.nix index 50ab5d81a305d..e03ec3aa4d63e 100644 --- a/pkgs/by-name/wq/wqy_zenhei/package.nix +++ b/pkgs/by-name/wq/wqy_zenhei/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: stdenvNoCC.mkDerivation rec { pname = "wqy-zenhei"; diff --git a/pkgs/by-name/wr/wrap/package.nix b/pkgs/by-name/wr/wrap/package.nix index 959c78608db1c..946c41e15ddac 100644 --- a/pkgs/by-name/wr/wrap/package.nix +++ b/pkgs/by-name/wr/wrap/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch, makeWrapper, courier-prime }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, + makeWrapper, + courier-prime, +}: buildGoModule rec { pname = "wrap"; diff --git a/pkgs/by-name/wr/write-good/package.nix b/pkgs/by-name/wr/write-good/package.nix index 99105ce649d5d..96799b30e9100 100644 --- a/pkgs/by-name/wr/write-good/package.nix +++ b/pkgs/by-name/wr/write-good/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/wr/writedisk/package.nix b/pkgs/by-name/wr/writedisk/package.nix index 6cc8e03fd5e81..0e22b8c651efb 100644 --- a/pkgs/by-name/wr/writedisk/package.nix +++ b/pkgs/by-name/wr/writedisk/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/wr/wrk/package.nix b/pkgs/by-name/wr/wrk/package.nix index 082497ad7d28d..46b3433bf845f 100644 --- a/pkgs/by-name/wr/wrk/package.nix +++ b/pkgs/by-name/wr/wrk/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, luajit, openssl, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + luajit, + openssl, + perl, +}: stdenv.mkDerivation rec { pname = "wrk"; @@ -11,9 +18,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-nCfA444p7krXOB3qRtDKWxWj9tsrDZsGf03ThtE1dXM="; }; - buildInputs = [ luajit openssl perl ]; - - makeFlags = [ "WITH_LUAJIT=${luajit}" "WITH_OPENSSL=${openssl.dev}" "VER=${version}" ]; + buildInputs = [ + luajit + openssl + perl + ]; + + makeFlags = [ + "WITH_LUAJIT=${luajit}" + "WITH_OPENSSL=${openssl.dev}" + "VER=${version}" + ]; preBuild = '' for f in src/*.h; do diff --git a/pkgs/by-name/wr/wrk2/package.nix b/pkgs/by-name/wr/wrk2/package.nix index 9bc8401efa661..6e80ff026b1ed 100644 --- a/pkgs/by-name/wr/wrk2/package.nix +++ b/pkgs/by-name/wr/wrk2/package.nix @@ -1,17 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, luajit, openssl, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + luajit, + openssl, + zlib, +}: stdenv.mkDerivation rec { pname = "wrk2"; version = "4.0.0-${builtins.substring 0 7 src.rev}"; src = fetchFromGitHub { - owner = "giltene"; - repo = "wrk2"; - rev = "e0109df5b9de09251adb5f5848f223fbee2aa9f5"; + owner = "giltene"; + repo = "wrk2"; + rev = "e0109df5b9de09251adb5f5848f223fbee2aa9f5"; sha256 = "1aqdwmgdd74wq73f1zp28yqj91gd6p6nf9nbdfibl7mlklbzvak8"; }; - buildInputs = [ luajit openssl zlib ]; + buildInputs = [ + luajit + openssl + zlib + ]; patchPhase = '' rm -rf deps/luajit && mkdir deps/luajit @@ -34,9 +45,9 @@ stdenv.mkDerivation rec { meta = { description = "Constant throughput, correct latency recording variant of wrk"; - homepage = "https://github.com/giltene/wrk2"; - license = lib.licenses.bsd3; - platforms = lib.platforms.linux; + homepage = "https://github.com/giltene/wrk2"; + license = lib.licenses.bsd3; + platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ thoughtpolice ]; # never built on aarch64-linux since first introduction in nixpkgs broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64; diff --git a/pkgs/by-name/ws/wsdd/package.nix b/pkgs/by-name/ws/wsdd/package.nix index d408706f4ee3f..2db79f2e9c336 100644 --- a/pkgs/by-name/ws/wsdd/package.nix +++ b/pkgs/by-name/ws/wsdd/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles, makeWrapper, nixosTests, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + makeWrapper, + nixosTests, + python3, +}: stdenv.mkDerivation rec { pname = "wsdd"; @@ -11,9 +19,15 @@ stdenv.mkDerivation rec { hash = "sha256-T8/XlQpx4CtNy8LuLwOQBG9muFe9pp5583tDaCT4ReI="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; buildInputs = [ python3 ]; diff --git a/pkgs/by-name/ws/wshowkeys/package.nix b/pkgs/by-name/ws/wshowkeys/package.nix index ef0c6fd6cd347..72777ca9e575f 100644 --- a/pkgs/by-name/ws/wshowkeys/package.nix +++ b/pkgs/by-name/ws/wshowkeys/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchFromGitHub -, meson, pkg-config, wayland-scanner, ninja -, cairo, libinput, pango, wayland, wayland-protocols, libxkbcommon +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + wayland-scanner, + ninja, + cairo, + libinput, + pango, + wayland, + wayland-protocols, + libxkbcommon, }: stdenv.mkDerivation rec { @@ -15,8 +26,20 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson pkg-config wayland-scanner ninja ]; - buildInputs = [ cairo libinput pango wayland wayland-protocols libxkbcommon ]; + nativeBuildInputs = [ + meson + pkg-config + wayland-scanner + ninja + ]; + buildInputs = [ + cairo + libinput + pango + wayland + wayland-protocols + libxkbcommon + ]; meta = with lib; { description = "Displays keys being pressed on a Wayland session"; @@ -28,11 +51,17 @@ stdenv.mkDerivation rec { setuid binary (use "programs.wshowkeys.enable = true;"). ''; homepage = "https://github.com/ammgws/wshowkeys"; - license = with licenses; [ gpl3Only mit ]; + license = with licenses; [ + gpl3Only + mit + ]; # Some portions of the code are taken from Sway which is MIT licensed. # TODO: gpl3Only or gpl3Plus (ask upstream)? platforms = platforms.linux; - maintainers = with maintainers; [ primeos berbiche ]; + maintainers = with maintainers; [ + primeos + berbiche + ]; mainProgram = "wshowkeys"; }; } diff --git a/pkgs/by-name/ws/wsl-open/package.nix b/pkgs/by-name/ws/wsl-open/package.nix index e4698ccbabd04..bf92ea0b30581 100644 --- a/pkgs/by-name/ws/wsl-open/package.nix +++ b/pkgs/by-name/ws/wsl-open/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "wsl-open"; diff --git a/pkgs/by-name/ws/wsl-vpnkit/package.nix b/pkgs/by-name/ws/wsl-vpnkit/package.nix index b9b25747a50f5..22d4b341d496a 100644 --- a/pkgs/by-name/ws/wsl-vpnkit/package.nix +++ b/pkgs/by-name/ws/wsl-vpnkit/package.nix @@ -1,17 +1,18 @@ -{ lib -, resholve -, fetchFromGitHub +{ + lib, + resholve, + fetchFromGitHub, # Runtime dependencies -, coreutils -, dnsutils -, gawk -, gnugrep -, gvproxy -, iproute2 -, iptables -, iputils -, wget + coreutils, + dnsutils, + gawk, + gnugrep, + gvproxy, + iproute2, + iptables, + iputils, + wget, }: let diff --git a/pkgs/by-name/ws/wslu/package.nix b/pkgs/by-name/ws/wslu/package.nix index 3ef601b0e123c..52ea85c4c7b9f 100644 --- a/pkgs/by-name/ws/wslu/package.nix +++ b/pkgs/by-name/ws/wslu/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + copyDesktopItems, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ws/wsmancli/package.nix b/pkgs/by-name/ws/wsmancli/package.nix index c9c07c81bcae4..4f2ac4aaf3a9c 100644 --- a/pkgs/by-name/ws/wsmancli/package.nix +++ b/pkgs/by-name/ws/wsmancli/package.nix @@ -1,20 +1,33 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, openssl, openwsman }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + openssl, + openwsman, +}: stdenv.mkDerivation rec { pname = "wsmancli"; version = "2.6.2"; src = fetchFromGitHub { - owner = "Openwsman"; - repo = "wsmancli"; - rev = "v${version}"; + owner = "Openwsman"; + repo = "wsmancli"; + rev = "v${version}"; sha256 = "sha256-A2PVhQuKVTZ/nDKyy+vZVBNLB/3xujBYBzUEWcTIYYg="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ openwsman openssl ]; + buildInputs = [ + openwsman + openssl + ]; postPatch = '' touch AUTHORS NEWS README @@ -30,6 +43,11 @@ stdenv.mkDerivation rec { WS-Management specification and Testing. ''; downloadPage = "https://github.com/Openwsman/wsmancli/releases"; - inherit (openwsman.meta) homepage license maintainers platforms; + inherit (openwsman.meta) + homepage + license + maintainers + platforms + ; }; } diff --git a/pkgs/by-name/ws/wsrepl/package.nix b/pkgs/by-name/ws/wsrepl/package.nix index 9557fec2210c6..6198287b18fce 100644 --- a/pkgs/by-name/ws/wsrepl/package.nix +++ b/pkgs/by-name/ws/wsrepl/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/wt/wtf/package.nix b/pkgs/by-name/wt/wtf/package.nix index e75ae315a557c..6bb27c9f932cf 100644 --- a/pkgs/by-name/wt/wtf/package.nix +++ b/pkgs/by-name/wt/wtf/package.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, lib -, makeWrapper -, ncurses +{ + buildGoModule, + fetchFromGitHub, + lib, + makeWrapper, + ncurses, }: buildGoModule rec { @@ -21,7 +22,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; subPackages = [ "." ]; diff --git a/pkgs/by-name/wt/wtfis/package.nix b/pkgs/by-name/wt/wtfis/package.nix index 80e500ba726e8..b92f2f01960b5 100644 --- a/pkgs/by-name/wt/wtfis/package.nix +++ b/pkgs/by-name/wt/wtfis/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: let @@ -12,7 +13,8 @@ let rev = "refs/tags/v${version}"; hash = "sha256-+BJmAFjmj3z/sKJ/L/y6hTClesulpQTpDL9cUNRi6e8="; }; -in python3.pkgs.buildPythonApplication { +in +python3.pkgs.buildPythonApplication { inherit pname version src; format = "pyproject"; diff --git a/pkgs/by-name/wt/wthrr/package.nix b/pkgs/by-name/wt/wthrr/package.nix index 28072763b8ca5..0ce0b98357b95 100644 --- a/pkgs/by-name/wt/wthrr/package.nix +++ b/pkgs/by-name/wt/wthrr/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -24,13 +25,15 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + ]; checkFlags = [ # requires internet access diff --git a/pkgs/by-name/wt/wtk/package.nix b/pkgs/by-name/wt/wtk/package.nix index 1360895942a46..a66ab691fd091 100644 --- a/pkgs/by-name/wt/wtk/package.nix +++ b/pkgs/by-name/wt/wtk/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, requireFile, unzip, xorg }: +{ + lib, + stdenv, + requireFile, + unzip, + xorg, +}: stdenv.mkDerivation rec { pname = "sun-java-wtk"; @@ -14,7 +20,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; - libraries = [ xorg.libXpm xorg.libXt xorg.libX11 xorg.libICE xorg.libSM stdenv.cc.cc ]; + libraries = [ + xorg.libXpm + xorg.libXt + xorg.libX11 + xorg.libICE + xorg.libSM + stdenv.cc.cc + ]; meta = { homepage = "http://java.sun.com/products/sjwtoolkit/download.html"; diff --git a/pkgs/by-name/wt/wttrbar/package.nix b/pkgs/by-name/wt/wttrbar/package.nix index 4bf6b60124988..075d5acdc5bfa 100644 --- a/pkgs/by-name/wt/wttrbar/package.nix +++ b/pkgs/by-name/wt/wttrbar/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -17,7 +18,13 @@ rustPlatform.buildRustPackage rec { hash = "sha256-FJexqBzsLeaF7iWWwcenRINpMRtkpThxLWlMEectjfQ="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Security SystemConfiguration ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk_11_0.frameworks; + [ + Security + SystemConfiguration + ] + ); cargoHash = "sha256-4pcMcCxidNY4EIvYWGa/cfovRGHMEIcVfJWiMG/8aog="; diff --git a/pkgs/by-name/wt/wtwitch/package.nix b/pkgs/by-name/wt/wtwitch/package.nix index 73bfe1c3fd626..cf9d198778577 100644 --- a/pkgs/by-name/wt/wtwitch/package.nix +++ b/pkgs/by-name/wt/wtwitch/package.nix @@ -1,20 +1,21 @@ -{ bash -, coreutils-prefixed -, curl -, fetchFromGitHub -, gnused -, gnugrep -, installShellFiles -, jq -, lib -, makeWrapper -, mplayer -, mpv -, procps -, scdoc -, stdenv -, streamlink -, vlc +{ + bash, + coreutils-prefixed, + curl, + fetchFromGitHub, + gnused, + gnugrep, + installShellFiles, + jq, + lib, + makeWrapper, + mplayer, + mpv, + procps, + scdoc, + stdenv, + streamlink, + vlc, }: stdenv.mkDerivation rec { @@ -37,7 +38,11 @@ stdenv.mkDerivation rec { scdoc < src/wtwitch.1.scd > wtwitch.1 ''; - nativeBuildInputs = [ scdoc installShellFiles makeWrapper ]; + nativeBuildInputs = [ + scdoc + installShellFiles + makeWrapper + ]; installPhase = '' installManPage wtwitch.1 @@ -47,18 +52,23 @@ stdenv.mkDerivation rec { install -Dm755 src/wtwitch $out/bin/wtwitch wrapProgram $out/bin/wtwitch \ --set-default LANG en_US.UTF-8 \ - --prefix PATH : ${lib.makeBinPath (lib.optionals stdenv.hostPlatform.isLinux [ vlc ] ++ [ - bash - coreutils-prefixed - curl - gnused - gnugrep - jq - mplayer - mpv - procps - streamlink - ])} + --prefix PATH : ${ + lib.makeBinPath ( + lib.optionals stdenv.hostPlatform.isLinux [ vlc ] + ++ [ + bash + coreutils-prefixed + curl + gnused + gnugrep + jq + mplayer + mpv + procps + streamlink + ] + ) + } ''; meta = with lib; { diff --git a/pkgs/by-name/wt/wtype/package.nix b/pkgs/by-name/wt/wtype/package.nix index d3e85d1c3c25b..e1ebaf728d3a4 100644 --- a/pkgs/by-name/wt/wtype/package.nix +++ b/pkgs/by-name/wt/wtype/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -, meson -, ninja -, pkg-config + meson, + ninja, + pkg-config, -, libxkbcommon -, wayland -, wayland-scanner + libxkbcommon, + wayland, + wayland-scanner, }: stdenv.mkDerivation rec { @@ -23,8 +24,16 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; - buildInputs = [ libxkbcommon wayland ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + ]; + buildInputs = [ + libxkbcommon + wayland + ]; meta = with lib; { description = "xdotool type for wayland"; diff --git a/pkgs/by-name/wu/wuzz/package.nix b/pkgs/by-name/wu/wuzz/package.nix index c428b40547f11..d672360512503 100644 --- a/pkgs/by-name/wu/wuzz/package.nix +++ b/pkgs/by-name/wu/wuzz/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch, +}: buildGoModule rec { pname = "wuzz"; diff --git a/pkgs/by-name/wv/wv/package.nix b/pkgs/by-name/wv/wv/package.nix index f05465ac1475e..befbfe6a22e67 100644 --- a/pkgs/by-name/wv/wv/package.nix +++ b/pkgs/by-name/wv/wv/package.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, zlib, imagemagick, libpng, glib, pkg-config, libgsf -, libxml2, bzip2 -, autoreconfHook -, buildPackages +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + imagemagick, + libpng, + glib, + pkg-config, + libgsf, + libxml2, + bzip2, + autoreconfHook, + buildPackages, }: stdenv.mkDerivation (finalAttrs: { @@ -11,12 +21,23 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "AbiWord"; repo = "wv"; - rev = "wv-${builtins.replaceStrings ["."] ["-"] finalAttrs.version}"; + rev = "wv-${builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version}"; hash = "sha256-xcC+/M1EzFqQFeF5Dw9qd8VIy7r8JdKMp2X/GHkFiPA="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ zlib imagemagick libpng glib libgsf libxml2 bzip2 ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + zlib + imagemagick + libpng + glib + libgsf + libxml2 + bzip2 + ]; configureFlags = [ "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" @@ -24,7 +45,8 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = # Suppress incompatible function pointer and int conversion errors when building with newer versions of clang 16. - lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"; + lib.optionalString stdenv.cc.isClang + "-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/wv/wv2/package.nix b/pkgs/by-name/wv/wv2/package.nix index 8a4ccaed896c1..1908fdf4e4bef 100644 --- a/pkgs/by-name/wv/wv2/package.nix +++ b/pkgs/by-name/wv/wv2/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake, libgsf, glib, libxml2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + cmake, + libgsf, + glib, + libxml2, +}: stdenv.mkDerivation rec { pname = "wv2"; @@ -19,8 +28,15 @@ stdenv.mkDerivation rec { export NIX_LDFLAGS+=" $(pkg-config gobject-2.0 --libs)" ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libgsf glib libxml2 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libgsf + glib + libxml2 + ]; env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; diff --git a/pkgs/by-name/wv/wvkbd/package.nix b/pkgs/by-name/wv/wvkbd/package.nix index ff8e5626f63ac..0901ee9bf69e4 100644 --- a/pkgs/by-name/wv/wvkbd/package.nix +++ b/pkgs/by-name/wv/wvkbd/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, wayland-scanner -, wayland -, pango -, glib -, harfbuzz -, cairo -, pkg-config -, libxkbcommon +{ + stdenv, + lib, + fetchFromGitHub, + wayland-scanner, + wayland, + pango, + glib, + harfbuzz, + cairo, + pkg-config, + libxkbcommon, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ww/wwcd/package.nix b/pkgs/by-name/ww/wwcd/package.nix index 0e83ada195b0b..82c3aaca384bb 100644 --- a/pkgs/by-name/ww/wwcd/package.nix +++ b/pkgs/by-name/ww/wwcd/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromSourcehut -, autoreconfHook -, pkg-config -, check +{ + stdenv, + lib, + fetchFromSourcehut, + autoreconfHook, + pkg-config, + check, }: stdenv.mkDerivation rec { @@ -18,7 +19,9 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoreconfHook pkg-config check + autoreconfHook + pkg-config + check ]; autoreconfFlags = [ "-if" ]; diff --git a/pkgs/by-name/wx/wxc/package.nix b/pkgs/by-name/wx/wxc/package.nix index 42de45ecfcf17..e7c2f0e9e5f39 100644 --- a/pkgs/by-name/wx/wxc/package.nix +++ b/pkgs/by-name/wx/wxc/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitea -, cmake -, libGL -, wxGTK32 +{ + lib, + stdenv, + fetchFromGitea, + cmake, + libGL, + wxGTK32, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/wx/wxformbuilder/package.nix b/pkgs/by-name/wx/wxformbuilder/package.nix index 7a5d7a933216e..3a90c0d8e22d8 100644 --- a/pkgs/by-name/wx/wxformbuilder/package.nix +++ b/pkgs/by-name/wx/wxformbuilder/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, darwin -, makeWrapper -, shared-mime-info -, boost -, wxGTK32 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + darwin, + makeWrapper, + shared-mime-info, + boost, + wxGTK32, }: stdenv.mkDerivation (finalAttrs: { @@ -35,21 +36,26 @@ stdenv.mkDerivation (finalAttrs: { sed -i '/fixup_bundle/d' cmake/macros.cmake ''; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.sigtool - makeWrapper - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - shared-mime-info - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.sigtool + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + shared-mime-info + ]; - buildInputs = [ - boost - wxGTK32 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ]; + buildInputs = + [ + boost + wxGTK32 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/{Applications,bin} @@ -62,7 +68,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/wxFormBuilder/wxFormBuilder"; license = licenses.gpl2Only; mainProgram = "wxformbuilder"; - maintainers = with maintainers; [ matthuszagh wegank ]; + maintainers = with maintainers; [ + matthuszagh + wegank + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/by-name/wx/wxmacmolplt/package.nix b/pkgs/by-name/wx/wxmacmolplt/package.nix index 0ec45053bf67c..6252ff7d5f247 100644 --- a/pkgs/by-name/wx/wxmacmolplt/package.nix +++ b/pkgs/by-name/wx/wxmacmolplt/package.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, wxGTK32 -, libGL -, libGLU -, pkg-config -, xorg -, autoreconfHook -, wrapGAppsHook4 +{ + stdenv, + lib, + fetchFromGitHub, + wxGTK32, + libGL, + libGLU, + pkg-config, + xorg, + autoreconfHook, + wrapGAppsHook4, }: stdenv.mkDerivation rec { @@ -21,7 +22,11 @@ stdenv.mkDerivation rec { hash = "sha256-gFGstyq9bMmBaIS4QE6N3EIC9GxRvyJYUr8DUvwRQBc="; }; - nativeBuildInputs = [ pkg-config autoreconfHook wrapGAppsHook4 ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + wrapGAppsHook4 + ]; buildInputs = [ wxGTK32 libGL @@ -40,6 +45,9 @@ stdenv.mkDerivation rec { homepage = "https://brettbode.github.io/wxmacmolplt/"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ sheepforce markuskowa ]; + maintainers = with maintainers; [ + sheepforce + markuskowa + ]; }; } diff --git a/pkgs/by-name/wy/wyoming-satellite/package.nix b/pkgs/by-name/wy/wyoming-satellite/package.nix index bfd0e49f6f711..7d1589e99ee4d 100644 --- a/pkgs/by-name/wy/wyoming-satellite/package.nix +++ b/pkgs/by-name/wy/wyoming-satellite/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { @@ -48,7 +49,6 @@ python3Packages.buildPythonApplication rec { pytestCheckHook ]; - meta = with lib; { description = "Remote voice satellite using Wyoming protocol"; homepage = "https://github.com/rhasspy/wyoming-satellite"; diff --git a/pkgs/by-name/wy/wyvern/package.nix b/pkgs/by-name/wy/wyvern/package.nix index 5afee81c6c0c8..53f50ca809031 100644 --- a/pkgs/by-name/wy/wyvern/package.nix +++ b/pkgs/by-name/wy/wyvern/package.nix @@ -1,9 +1,10 @@ -{ lib -, fetchCrate -, rustPlatform -, cmake -, pkg-config -, openssl +{ + lib, + fetchCrate, + rustPlatform, + cmake, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-cwk8yFt8JrYkYlNUW9n/bgMUA6jyOpG0TSh5C+eERLY="; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ openssl ]; meta = with lib; { diff --git a/pkgs/by-name/x-/x-create-mouse-void/package.nix b/pkgs/by-name/x-/x-create-mouse-void/package.nix index 86ae59a6152ca..4be1a04606347 100644 --- a/pkgs/by-name/x-/x-create-mouse-void/package.nix +++ b/pkgs/by-name/x-/x-create-mouse-void/package.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, xorg, fetchFromGitHub }: +{ + stdenv, + lib, + xorg, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "x-create-mouse-void"; diff --git a/pkgs/by-name/x1/x11_ssh_askpass/package.nix b/pkgs/by-name/x1/x11_ssh_askpass/package.nix index 049154d64413f..86a17d34cb0c9 100644 --- a/pkgs/by-name/x1/x11_ssh_askpass/package.nix +++ b/pkgs/by-name/x1/x11_ssh_askpass/package.nix @@ -1,18 +1,36 @@ -{ lib, stdenv, fetchurl, xorg, imake, gccmakedep }: +{ + lib, + stdenv, + fetchurl, + xorg, + imake, + gccmakedep, +}: stdenv.mkDerivation rec { pname = "x11-ssh-askpass"; version = "1.2.4.1"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; src = fetchurl { url = "http://pkgs.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-${version}.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-${version}.tar.gz"; sha256 = "620de3c32ae72185a2c9aeaec03af24242b9621964e38eb625afb6cdb30b8c88"; }; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ xorg.libX11 xorg.libXt xorg.libICE xorg.libSM ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + xorg.libX11 + xorg.libXt + xorg.libICE + xorg.libSM + ]; configureFlags = [ "--with-app-defaults-dir=$out/etc/X11/app-defaults" @@ -23,7 +41,10 @@ stdenv.mkDerivation rec { xmkmf -a ''; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; meta = with lib; { homepage = "https://github.com/sigmavirus24/x11-ssh-askpass"; diff --git a/pkgs/by-name/x1/x11docker/package.nix b/pkgs/by-name/x1/x11docker/package.nix index 1e400088693b3..56bedfc7e5e62 100644 --- a/pkgs/by-name/x1/x11docker/package.nix +++ b/pkgs/by-name/x1/x11docker/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute2 }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + nx-libs, + xorg, + getopt, + gnugrep, + gawk, + ps, + mount, + iproute2, +}: stdenv.mkDerivation rec { pname = "x11docker"; version = "7.6.0"; @@ -16,7 +29,20 @@ stdenv.mkDerivation rec { installPhase = '' install -D x11docker "$out/bin/x11docker"; wrapProgram "$out/bin/x11docker" \ - --prefix PATH : "${lib.makeBinPath [ getopt gnugrep gawk ps mount iproute2 nx-libs xorg.xdpyinfo xorg.xhost xorg.xinit ]}" + --prefix PATH : "${ + lib.makeBinPath [ + getopt + gnugrep + gawk + ps + mount + iproute2 + nx-libs + xorg.xdpyinfo + xorg.xhost + xorg.xinit + ] + }" ''; meta = { diff --git a/pkgs/by-name/x1/x11idle/package.nix b/pkgs/by-name/x1/x11idle/package.nix index e349b54eecae5..3bafab5b6a48a 100644 --- a/pkgs/by-name/x1/x11idle/package.nix +++ b/pkgs/by-name/x1/x11idle/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libXScrnSaver, libX11 }: +{ + lib, + stdenv, + fetchurl, + libXScrnSaver, + libX11, +}: stdenv.mkDerivation rec { version = "9.2.4"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0fc5g57xd6bmghyl214gcff0ni3idv33i3gkr339kgn1mdjljv5g"; }; - buildInputs = [ libXScrnSaver libX11 ]; + buildInputs = [ + libXScrnSaver + libX11 + ]; dontUnpack = true; diff --git a/pkgs/by-name/x1/x11spice/package.nix b/pkgs/by-name/x1/x11spice/package.nix index 4facc365c1ede..d4d4fb272cc4f 100644 --- a/pkgs/by-name/x1/x11spice/package.nix +++ b/pkgs/by-name/x1/x11spice/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config -, xorg, gtk2, spice, spice-protocol +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + xorg, + gtk2, + spice, + spice-protocol, }: stdenv.mkDerivation rec { @@ -14,11 +22,18 @@ stdenv.mkDerivation rec { sha256 = "0va5ix14vnqch59gq8wvrhw6q0w0n27sy70xx5kvfj2cl0h1xpg8"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ - xorg.libxcb xorg.xcbutil xorg.utilmacros - gtk2 spice spice-protocol + xorg.libxcb + xorg.xcbutil + xorg.utilmacros + gtk2 + spice + spice-protocol ]; NIX_LDFLAGS = "-lpthread"; diff --git a/pkgs/by-name/x1/x11vnc/package.nix b/pkgs/by-name/x1/x11vnc/package.nix index 463daf17cc88a..5331f43e37d9e 100644 --- a/pkgs/by-name/x1/x11vnc/package.nix +++ b/pkgs/by-name/x1/x11vnc/package.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, - openssl, zlib, libjpeg, xorg, coreutils, libvncserver, - autoreconfHook, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + openssl, + zlib, + libjpeg, + xorg, + coreutils, + libvncserver, + autoreconfHook, + pkg-config, +}: stdenv.mkDerivation rec { pname = "x11vnc"; @@ -29,16 +40,27 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = - [ xorg.libXfixes xorg.xorgproto openssl xorg.libXdamage - zlib xorg.libX11 libjpeg - xorg.libXtst xorg.libXinerama xorg.libXrandr - xorg.libXext - xorg.libXi xorg.libXrender - libvncserver - ]; + buildInputs = [ + xorg.libXfixes + xorg.xorgproto + openssl + xorg.libXdamage + zlib + xorg.libX11 + libjpeg + xorg.libXtst + xorg.libXinerama + xorg.libXrandr + xorg.libXext + xorg.libXi + xorg.libXrender + libvncserver + ]; postPatch = '' substituteInPlace src/unixpw.c \ diff --git a/pkgs/by-name/x1/x16/package.nix b/pkgs/by-name/x1/x16/package.nix index 26a12e480e7fc..457cc3a3b3b9e 100644 --- a/pkgs/by-name/x1/x16/package.nix +++ b/pkgs/by-name/x1/x16/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, callPackage -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + callPackage, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -44,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) version; emulator = finalAttrs.finalPackage; rom = callPackage ./rom.nix { }; - run = (callPackage ./run.nix { }){ + run = (callPackage ./run.nix { }) { inherit (finalAttrs.finalPackage) emulator rom; }; }; diff --git a/pkgs/by-name/x1/x16/rom.nix b/pkgs/by-name/x1/x16/rom.nix index ed85dd5108ace..6caefd021fc3c 100644 --- a/pkgs/by-name/x1/x16/rom.nix +++ b/pkgs/by-name/x1/x16/rom.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cc65 -, lzsa -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cc65, + lzsa, + python3, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/x1/x16/run.nix b/pkgs/by-name/x1/x16/run.nix index a9f72da4d32c5..f88e5f181f273 100644 --- a/pkgs/by-name/x1/x16/run.nix +++ b/pkgs/by-name/x1/x16/run.nix @@ -1,6 +1,7 @@ -{ runtimeShell -, symlinkJoin -, writeTextFile +{ + runtimeShell, + symlinkJoin, + writeTextFile, }: { emulator, rom }: diff --git a/pkgs/by-name/x2/x2goserver/package.nix b/pkgs/by-name/x2/x2goserver/package.nix index 44e16e378f559..bac2b554aee35 100644 --- a/pkgs/by-name/x2/x2goserver/package.nix +++ b/pkgs/by-name/x2/x2goserver/package.nix @@ -1,6 +1,30 @@ -{ stdenv, lib, fetchurl, perlPackages, makeWrapper, perl, which, nx-libs -, util-linux, coreutils, glibc, gawk, gnused, gnugrep, findutils, xorg -, nettools, iproute2, bc, procps, psmisc, lsof, pwgen, openssh, sshfs, bash +{ + stdenv, + lib, + fetchurl, + perlPackages, + makeWrapper, + perl, + which, + nx-libs, + util-linux, + coreutils, + glibc, + gawk, + gnused, + gnugrep, + findutils, + xorg, + nettools, + iproute2, + bc, + procps, + psmisc, + lsof, + pwgen, + openssh, + sshfs, + bash, }: let @@ -15,7 +39,10 @@ let x2go-perl = perlPackages.buildPerlPackage rec { pname = "X2Go"; inherit version src; - makeFlags = [ "-f" "Makefile.perl" ]; + makeFlags = [ + "-f" + "Makefile.perl" + ]; patchPhase = '' substituteInPlace X2Go/Config.pm --replace '/etc/x2go' '/var/lib/x2go/conf' substituteInPlace X2Go/Server/DB.pm \ @@ -25,21 +52,57 @@ let ''; }; - perlEnv = perl.withPackages (p: with p; [ - x2go-perl DBI DBDSQLite FileBaseDir TryTiny CaptureTiny ConfigSimple Switch FileWhich - ]); + perlEnv = perl.withPackages ( + p: with p; [ + x2go-perl + DBI + DBDSQLite + FileBaseDir + TryTiny + CaptureTiny + ConfigSimple + Switch + FileWhich + ] + ); binaryDeps = [ - perlEnv which nx-libs util-linux coreutils glibc.bin gawk gnused gnugrep - findutils nettools iproute2 bc procps psmisc lsof pwgen openssh sshfs - xorg.xauth xorg.xinit xorg.xrandr xorg.xmodmap xorg.xwininfo xorg.fontutil - xorg.xkbcomp xorg.setxkbmap + perlEnv + which + nx-libs + util-linux + coreutils + glibc.bin + gawk + gnused + gnugrep + findutils + nettools + iproute2 + bc + procps + psmisc + lsof + pwgen + openssh + sshfs + xorg.xauth + xorg.xinit + xorg.xrandr + xorg.xmodmap + xorg.xwininfo + xorg.fontutil + xorg.xkbcomp + xorg.setxkbmap ]; in stdenv.mkDerivation rec { inherit pname version src; - buildInputs = [ perlEnv bash ]; + buildInputs = [ + perlEnv + bash + ]; nativeBuildInputs = [ makeWrapper ]; @@ -62,7 +125,10 @@ stdenv.mkDerivation rec { --replace "[ -f /etc/redhat-release ]" "[ -d /etc/nix ] || [ -f /etc/redhat-release ]" ''; - makeFlags = [ "PREFIX=/" "NXLIBDIR=${nx-libs}/lib/nx" ]; + makeFlags = [ + "PREFIX=/" + "NXLIBDIR=${nx-libs}/lib/nx" + ]; installFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/by-name/x2/x2vnc/package.nix b/pkgs/by-name/x2/x2vnc/package.nix index 2d06c8e6303fb..436066e5f7bfa 100644 --- a/pkgs/by-name/x2/x2vnc/package.nix +++ b/pkgs/by-name/x2/x2vnc/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, xorg }: +{ + lib, + stdenv, + fetchurl, + xorg, +}: stdenv.mkDerivation rec { pname = "x2vnc"; @@ -12,7 +17,10 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-std=gnu89"; buildInputs = with xorg; [ - libX11 xorgproto libXext libXrandr + libX11 + xorgproto + libXext + libXrandr ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/x2/x2x/package.nix b/pkgs/by-name/x2/x2x/package.nix index 061f1d190318a..93ccc98b2d524 100644 --- a/pkgs/by-name/x2/x2x/package.nix +++ b/pkgs/by-name/x2/x2x/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, libX11, libXtst, libXext, fetchFromGitHub, autoreconfHook, pkg-config, libXi }: +{ + lib, + stdenv, + libX11, + libXtst, + libXext, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libXi, +}: stdenv.mkDerivation rec { pname = "x2x"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { hash = "sha256-FUl2z/Yz9uZlUu79LHdsXZ6hAwSlqwFV35N+GYDNvlQ="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libX11 libXtst libXext libXi ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libX11 + libXtst + libXext + libXi + ]; meta = with lib; { description = "Allows the keyboard, mouse on one X display to be used to control another X display"; diff --git a/pkgs/by-name/x3/x3270/package.nix b/pkgs/by-name/x3/x3270/package.nix index 45b08bd10f664..39399f5a83ce9 100644 --- a/pkgs/by-name/x3/x3270/package.nix +++ b/pkgs/by-name/x3/x3270/package.nix @@ -1,25 +1,26 @@ -{ stdenv -, darwin -, lib -, libiconv -, fetchurl -, m4 -, expat -, libX11 -, libXt -, libXaw -, libXmu -, bdftopcf -, mkfontdir -, fontadobe100dpi -, fontadobeutopia100dpi -, fontbh100dpi -, fontbhlucidatypewriter100dpi -, fontbitstream100dpi -, tcl -, ncurses -, openssl -, readline +{ + stdenv, + darwin, + lib, + libiconv, + fetchurl, + m4, + expat, + libX11, + libXt, + libXaw, + libXmu, + bdftopcf, + mkfontdir, + fontadobe100dpi, + fontadobeutopia100dpi, + fontbh100dpi, + fontbhlucidatypewriter100dpi, + fontbitstream100dpi, + tcl, + ncurses, + openssl, + readline, }: let majorVersion = "4"; @@ -31,8 +32,7 @@ stdenv.mkDerivation rec { version = "${majorVersion}.${minorVersion}${versionSuffix}"; src = fetchurl { - url = - "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz"; + url = "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz"; sha256 = "sha256-gcC6REfZentIPEDhGznUSYu8mvVfpPeMz/Bks+N43Fk="; }; @@ -52,25 +52,30 @@ stdenv.mkDerivation rec { pathsToLink = [ "/share/man" ]; nativeBuildInputs = [ m4 ]; - buildInputs = [ - expat - libX11 - libXt - libXaw - libXmu - bdftopcf - mkfontdir - fontadobe100dpi - fontadobeutopia100dpi - fontbh100dpi - fontbhlucidatypewriter100dpi - fontbitstream100dpi - tcl - ncurses - expat - openssl - readline - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ]; + buildInputs = + [ + expat + libX11 + libXt + libXaw + libXmu + bdftopcf + mkfontdir + fontadobe100dpi + fontadobeutopia100dpi + fontbh100dpi + fontbhlucidatypewriter100dpi + fontbitstream100dpi + tcl + ncurses + expat + openssl + readline + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.Security + ]; meta = with lib; { description = "IBM 3270 terminal emulator for the X Window System"; diff --git a/pkgs/by-name/x4/x42-avldrums/package.nix b/pkgs/by-name/x4/x42-avldrums/package.nix index 4a802a324e8a0..b17474141d7db 100644 --- a/pkgs/by-name/x4/x42-avldrums/package.nix +++ b/pkgs/by-name/x4/x42-avldrums/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cairo, glib, libGLU, lv2, pango }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cairo, + glib, + libGLU, + lv2, + pango, +}: stdenv.mkDerivation rec { pname = "x42-avldrums"; @@ -13,7 +23,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ cairo glib libGLU lv2 pango ]; + buildInputs = [ + cairo + glib + libGLU + lv2 + pango + ]; makeFlags = [ "PREFIX=$(out)" @@ -25,7 +41,10 @@ stdenv.mkDerivation rec { broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); description = "Drum sample player LV2 plugin dedicated to Glen MacArthur's AVLdrums"; homepage = "https://x42-plugins.com/x42/x42-avldrums"; - maintainers = with maintainers; [ magnetophon orivej ]; + maintainers = with maintainers; [ + magnetophon + orivej + ]; license = licenses.gpl2Plus; platforms = platforms.linux; }; diff --git a/pkgs/by-name/x4/x42-gmsynth/package.nix b/pkgs/by-name/x4/x42-gmsynth/package.nix index 1d31211ec80d6..9ac13dc861461 100644 --- a/pkgs/by-name/x4/x42-gmsynth/package.nix +++ b/pkgs/by-name/x4/x42-gmsynth/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, lv2 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + lv2, +}: stdenv.mkDerivation rec { pname = "x42-gmsynth"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib lv2 ]; + buildInputs = [ + glib + lv2 + ]; makeFlags = [ "PREFIX=$(out)" diff --git a/pkgs/by-name/x4/x42-plugins/package.nix b/pkgs/by-name/x4/x42-plugins/package.nix index 49b2b2525f2f2..d327058c33d12 100644 --- a/pkgs/by-name/x4/x42-plugins/package.nix +++ b/pkgs/by-name/x4/x42-plugins/package.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchurl, pkg-config -, libltc, libsndfile, libsamplerate, ftgl, freefont_ttf, libjack2 -, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libltc, + libsndfile, + libsamplerate, + ftgl, + freefont_ttf, + libjack2, + libGLU, + lv2, + gtk2, + cairo, + pango, + fftwFloat, + zita-convolver, +}: stdenv.mkDerivation rec { pname = "x42-plugins"; @@ -12,7 +28,21 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libGLU ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 gtk2 cairo pango fftwFloat zita-convolver ]; + buildInputs = [ + libGLU + ftgl + freefont_ttf + libjack2 + libltc + libsndfile + libsamplerate + lv2 + gtk2 + cairo + pango + fftwFloat + zita-convolver + ]; # Don't remove this. The default fails with 'do not know how to unpack source archive' # every now and then on Hydra. No idea why. @@ -22,7 +52,10 @@ stdenv.mkDerivation rec { chmod -R u+w $sourceRoot ''; - makeFlags = [ "PREFIX=$(out)" "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" ]; + makeFlags = [ + "PREFIX=$(out)" + "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" + ]; patchPhase = '' patchShebangs ./stepseq.lv2/gridgen.sh @@ -32,11 +65,17 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = with lib; - { description = "Collection of LV2 plugins by Robin Gareus"; - homepage = "https://github.com/x42/x42-plugins"; - maintainers = with maintainers; [ magnetophon orivej ]; - license = licenses.gpl2; - platforms = [ "i686-linux" "x86_64-linux" ]; - }; + meta = with lib; { + description = "Collection of LV2 plugins by Robin Gareus"; + homepage = "https://github.com/x42/x42-plugins"; + maintainers = with maintainers; [ + magnetophon + orivej + ]; + license = licenses.gpl2; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; + }; } diff --git a/pkgs/by-name/x8/x86info/package.nix b/pkgs/by-name/x8/x86info/package.nix index 86830c851e55d..c15f58de92494 100644 --- a/pkgs/by-name/x8/x86info/package.nix +++ b/pkgs/by-name/x8/x86info/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, pciutils -, pkg-config -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + pciutils, + pkg-config, + python3, }: stdenv.mkDerivation rec { @@ -48,7 +49,10 @@ stdenv.mkDerivation rec { registers (MSRs) via the msr kernel module. it will approximate processor frequency, and identify the cache sizes and layout. ''; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; license = lib.licenses.gpl2Only; homepage = "https://github.com/kernelslacker/x86info"; maintainers = with lib.maintainers; [ jcumming ]; diff --git a/pkgs/by-name/xa/Xaw3d/package.nix b/pkgs/by-name/xa/Xaw3d/package.nix index 83237060312f1..3f20b207094de 100644 --- a/pkgs/by-name/xa/Xaw3d/package.nix +++ b/pkgs/by-name/xa/Xaw3d/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, imake -, gccmakedep -, bison -, flex -, pkg-config -, libXext -, libXmu -, libXpm -, libXp -, libXt -, xorgproto +{ + lib, + stdenv, + fetchurl, + imake, + gccmakedep, + bison, + flex, + pkg-config, + libXext, + libXmu, + libXpm, + libXp, + libXt, + xorgproto, }: stdenv.mkDerivation rec { @@ -23,9 +24,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-pBw+NxNa1hax8ou95wACr788tZow3zQUH4KdMurchkY="; }; dontUseImakeConfigure = true; - nativeBuildInputs = [ pkg-config bison flex imake gccmakedep ]; - buildInputs = [ libXext libXpm libXp ]; - propagatedBuildInputs = [ libXmu libXt xorgproto ]; + nativeBuildInputs = [ + pkg-config + bison + flex + imake + gccmakedep + ]; + buildInputs = [ + libXext + libXpm + libXp + ]; + propagatedBuildInputs = [ + libXmu + libXt + xorgproto + ]; meta = with lib; { description = "3D widget set based on the Athena Widget set"; diff --git a/pkgs/by-name/xa/xa/package.nix b/pkgs/by-name/xa/xa/package.nix index 52be6de0812df..e79418d5e288e 100644 --- a/pkgs/by-name/xa/xa/package.nix +++ b/pkgs/by-name/xa/xa/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, perl +{ + lib, + stdenv, + fetchurl, + perl, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/xa/xalanc/package.nix b/pkgs/by-name/xa/xalanc/package.nix index ccf914b46ee1e..aaaa077930545 100644 --- a/pkgs/by-name/xa/xalanc/package.nix +++ b/pkgs/by-name/xa/xalanc/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, xercesc, getopt, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + xercesc, + getopt, + cmake, +}: stdenv.mkDerivation rec { pname = "xalan-c"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ xercesc getopt ]; + buildInputs = [ + xercesc + getopt + ]; meta = { homepage = "https://xalan.apache.org/"; diff --git a/pkgs/by-name/xa/xannotate/package.nix b/pkgs/by-name/xa/xannotate/package.nix index 9c2a4ce353347..8b580b66ea5ee 100644 --- a/pkgs/by-name/xa/xannotate/package.nix +++ b/pkgs/by-name/xa/xannotate/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchFromBitbucket, fetchpatch, libX11}: +{ + lib, + stdenv, + fetchFromBitbucket, + fetchpatch, + libX11, +}: stdenv.mkDerivation rec { pname = "xannotate"; version = "20150301"; @@ -24,8 +30,8 @@ stdenv.mkDerivation rec { meta = { description = "Tool to scribble over X windows"; - license = lib.licenses.gpl2Plus ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2Plus; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; homepage = "https://github.com/blais/xannotate"; mainProgram = "xannotate"; diff --git a/pkgs/by-name/xa/xapp/package.nix b/pkgs/by-name/xa/xapp/package.nix index 75abb95960bca..965ff41031ae2 100644 --- a/pkgs/by-name/xa/xapp/package.nix +++ b/pkgs/by-name/xa/xapp/package.nix @@ -1,31 +1,35 @@ -{ fetchFromGitHub -, glib -, gobject-introspection -, gtk3 -, libgnomekbd -, gdk-pixbuf -, cairo -, xorg -, meson -, ninja -, pkg-config -, python3 -, lib -, stdenv -, vala -, wrapGAppsHook3 -, file -, inxi -, mate -, dbus -, libdbusmenu-gtk3 +{ + fetchFromGitHub, + glib, + gobject-introspection, + gtk3, + libgnomekbd, + gdk-pixbuf, + cairo, + xorg, + meson, + ninja, + pkg-config, + python3, + lib, + stdenv, + vala, + wrapGAppsHook3, + file, + inxi, + mate, + dbus, + libdbusmenu-gtk3, }: stdenv.mkDerivation rec { pname = "xapp"; version = "2.8.7"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "linuxmint"; @@ -49,10 +53,12 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - (python3.withPackages (ps: with ps; [ - pygobject3 - setproctitle # mate applet - ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + setproctitle # mate applet + ] + )) libgnomekbd gdk-pixbuf xorg.libxkbfile diff --git a/pkgs/by-name/xa/xar/package.nix b/pkgs/by-name/xa/xar/package.nix index 455576526dd59..46eb43c0099b0 100644 --- a/pkgs/by-name/xa/xar/package.nix +++ b/pkgs/by-name/xa/xar/package.nix @@ -84,7 +84,8 @@ stdenv.mkDerivation (finalAttrs: { xz e2fsprogs ] - ++ lib.optional stdenv.hostPlatform.isLinux acl ++ lib.optional stdenv.hostPlatform.isMusl musl-fts; + ++ lib.optional stdenv.hostPlatform.isLinux acl + ++ lib.optional stdenv.hostPlatform.isMusl musl-fts; passthru = let diff --git a/pkgs/by-name/xa/xarcan/package.nix b/pkgs/by-name/xa/xarcan/package.nix index 325d05327367c..5a57e1efb1276 100644 --- a/pkgs/by-name/xa/xarcan/package.nix +++ b/pkgs/by-name/xa/xarcan/package.nix @@ -1,40 +1,41 @@ -{ lib -, stdenv -, fetchFromGitHub -, arcan -, audit -, dbus -, libepoxy -, fontutil -, libGL -, libX11 -, libXau -, libXdmcp -, libXfont2 -, libdrm -, libgcrypt -, libmd -, libselinux -, libtirpc -, libxcb -, libxkbfile -, libxshmfence -, mesa -, meson -, nettle -, ninja -, openssl -, pixman -, pkg-config -, systemd -, xcbutil -, xcbutilwm -, xcbutilimage -, xkbcomp -, xkeyboard_config -, xorgproto -, xtrans -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + arcan, + audit, + dbus, + libepoxy, + fontutil, + libGL, + libX11, + libXau, + libXdmcp, + libXfont2, + libdrm, + libgcrypt, + libmd, + libselinux, + libtirpc, + libxcb, + libxkbfile, + libxshmfence, + mesa, + meson, + nettle, + ninja, + openssl, + pixman, + pkg-config, + systemd, + xcbutil, + xcbutilwm, + xcbutilimage, + xkbcomp, + xkeyboard_config, + xorgproto, + xtrans, + unstableGitUpdater, }: stdenv.mkDerivation (finalPackages: { @@ -106,9 +107,9 @@ stdenv.mkDerivation (finalPackages: { "--with-xkb-path=${xkeyboard_config}/share/X11/xkb" ]; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; - meta = { + meta = { homepage = "https://github.com/letoram/letoram"; description = "Patched Xserver that bridges connections to Arcan"; mainProgram = "Xarcan"; diff --git a/pkgs/by-name/xa/xarchiver/package.nix b/pkgs/by-name/xa/xarchiver/package.nix index a1604f707846f..e8814895aa32f 100644 --- a/pkgs/by-name/xa/xarchiver/package.nix +++ b/pkgs/by-name/xa/xarchiver/package.nix @@ -1,5 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, gtk3, pkg-config, intltool, libxslt, makeWrapper, - coreutils, zip, unzip, p7zip, unar, gnutar, bzip2, gzip, lhasa, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + gtk3, + pkg-config, + intltool, + libxslt, + makeWrapper, + coreutils, + zip, + unzip, + p7zip, + unar, + gnutar, + bzip2, + gzip, + lhasa, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { version = "0.5.4.23"; @@ -12,12 +30,32 @@ stdenv.mkDerivation rec { hash = "sha256-aNUpuePU6nmrralp+j8GgVPuxv9ayRVoKicPZkC4nTE="; }; - nativeBuildInputs = [ intltool pkg-config makeWrapper wrapGAppsHook3 ]; - buildInputs = [ gtk3 libxslt ]; + nativeBuildInputs = [ + intltool + pkg-config + makeWrapper + wrapGAppsHook3 + ]; + buildInputs = [ + gtk3 + libxslt + ]; postFixup = '' wrapProgram $out/bin/xarchiver \ - --prefix PATH : ${lib.makeBinPath [ zip unzip p7zip unar gnutar bzip2 gzip lhasa coreutils ]} + --prefix PATH : ${ + lib.makeBinPath [ + zip + unzip + p7zip + unar + gnutar + bzip2 + gzip + lhasa + coreutils + ] + } ''; meta = { diff --git a/pkgs/by-name/xa/xastir/package.nix b/pkgs/by-name/xa/xastir/package.nix index 21990075183dd..60310fd119ad6 100644 --- a/pkgs/by-name/xa/xastir/package.nix +++ b/pkgs/by-name/xa/xastir/package.nix @@ -1,8 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, curl, db, libgeotiff -, xorg, motif, pcre -, perl, proj, graphicsmagick, shapelib -, libax25 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + curl, + db, + libgeotiff, + xorg, + motif, + pcre, + perl, + proj, + graphicsmagick, + shapelib, + libax25, }: stdenv.mkDerivation rec { @@ -22,9 +34,17 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - curl db libgeotiff - xorg.libXpm xorg.libXt motif pcre - perl proj graphicsmagick shapelib + curl + db + libgeotiff + xorg.libXpm + xorg.libXt + motif + pcre + perl + proj + graphicsmagick + shapelib libax25 ]; @@ -37,6 +57,6 @@ stdenv.mkDerivation rec { homepage = "https://xastir.org"; license = licenses.gpl2; maintainers = [ maintainers.ehmry ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/xa/xautoclick/package.nix b/pkgs/by-name/xa/xautoclick/package.nix index 68daf189fc9b2..fb1861842d174 100644 --- a/pkgs/by-name/xa/xautoclick/package.nix +++ b/pkgs/by-name/xa/xautoclick/package.nix @@ -1,8 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, xorg, pkg-config -, cmake, libevdev -, gtkSupport ? true, gtk3, pcre, glib, wrapGAppsHook3 -, fltkSupport ? true, fltk -, qtSupport ? true, qt5 +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + pkg-config, + cmake, + libevdev, + gtkSupport ? true, + gtk3, + pcre, + glib, + wrapGAppsHook3, + fltkSupport ? true, + fltk, + qtSupport ? true, + qt5, }: stdenv.mkDerivation rec { @@ -16,11 +28,26 @@ stdenv.mkDerivation rec { sha256 = "GN3zI5LQnVmRC0KWffzUTHKrxcqnstiL55hopwTTwpE="; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libevdev xorg.libXtst ] - ++ lib.optionals gtkSupport [ gtk3 pcre glib wrapGAppsHook3 ] + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + libevdev + xorg.libXtst + ] + ++ lib.optionals gtkSupport [ + gtk3 + pcre + glib + wrapGAppsHook3 + ] ++ lib.optionals fltkSupport [ fltk ] - ++ lib.optionals qtSupport [ qt5.qtbase qt5.wrapQtAppsHook ]; + ++ lib.optionals qtSupport [ + qt5.qtbase + qt5.wrapQtAppsHook + ]; meta = with lib; { description = "Autoclicker application, which enables you to automatically click the left mousebutton"; diff --git a/pkgs/by-name/xa/xautolock/package.nix b/pkgs/by-name/xa/xautolock/package.nix index e0fd83897e80d..d24eebb80fe7c 100644 --- a/pkgs/by-name/xa/xautolock/package.nix +++ b/pkgs/by-name/xa/xautolock/package.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitHub -, imake, gccmakedep, libX11, libXext, libXScrnSaver, xorgproto -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + imake, + gccmakedep, + libX11, + libXext, + libXScrnSaver, + xorgproto, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -16,15 +24,26 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-T2zAbRqSTxRp9u6EdZmIZfVxaGveeZkJgjp1DWgORoI="; }; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libX11 libXext libXScrnSaver xorgproto ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libX11 + libXext + libXScrnSaver + xorgproto + ]; makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ]; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; passthru.tests = { inherit (nixosTests) xautolock; }; diff --git a/pkgs/by-name/xa/xautomation/package.nix b/pkgs/by-name/xa/xautomation/package.nix index a1fb881763256..e79aa9e14e6fa 100644 --- a/pkgs/by-name/xa/xautomation/package.nix +++ b/pkgs/by-name/xa/xautomation/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, libpng, libX11, libXext, libXi, libXtst }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libpng, + libX11, + libXext, + libXi, + libXtst, +}: stdenv.mkDerivation rec { pname = "xautomation"; @@ -9,7 +19,13 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libpng libX11 libXext libXi libXtst ]; + buildInputs = [ + libpng + libX11 + libXext + libXi + libXtst + ]; meta = { homepage = "https://www.hoopajoo.net/projects/xautomation.html"; diff --git a/pkgs/by-name/xa/xavs/package.nix b/pkgs/by-name/xa/xavs/package.nix index 14c4b0a7e5886..a4116ab1f807c 100644 --- a/pkgs/by-name/xa/xavs/package.nix +++ b/pkgs/by-name/xa/xavs/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchsvn }: +{ + lib, + stdenv, + fetchsvn, +}: stdenv.mkDerivation rec { pname = "xavs"; @@ -12,23 +16,25 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patchPhase = '' - patchShebangs configure - patchShebangs config.sub - patchShebangs version.sh - patchShebangs tools/countquant_xavs.pl - patchShebangs tools/patcheck - patchShebangs tools/regression-test.pl - patchShebangs tools/xavs-format - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace config.guess --replace 'uname -p' 'uname -m' - substituteInPlace configure \ - --replace '-O4' '-O3' \ - --replace ' -s ' ' ' \ - --replace 'LDFLAGS -s' 'LDFLAGS' \ - --replace '-dynamiclib' ' ' \ - --replace '-falign-loops=16' ' ' - substituteInPlace Makefile --replace '-Wl,-soname,' ' ' + patchPhase = + '' + patchShebangs configure + patchShebangs config.sub + patchShebangs version.sh + patchShebangs tools/countquant_xavs.pl + patchShebangs tools/patcheck + patchShebangs tools/regression-test.pl + patchShebangs tools/xavs-format + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace config.guess --replace 'uname -p' 'uname -m' + substituteInPlace configure \ + --replace '-O4' '-O3' \ + --replace ' -s ' ' ' \ + --replace 'LDFLAGS -s' 'LDFLAGS' \ + --replace '-dynamiclib' ' ' \ + --replace '-falign-loops=16' ' ' + substituteInPlace Makefile --replace '-Wl,-soname,' ' ' ''; configureFlags = [ @@ -41,9 +47,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "AVS encoder and decoder"; mainProgram = "xavs"; - homepage = "https://xavs.sourceforge.net/"; - license = licenses.lgpl2; - platforms = platforms.linux ++ platforms.darwin; + homepage = "https://xavs.sourceforge.net/"; + license = licenses.lgpl2; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ codyopel ]; }; } diff --git a/pkgs/by-name/xa/xawtv/package.nix b/pkgs/by-name/xa/xawtv/package.nix index d52feb8a66b05..3a4da5eb0eaa2 100644 --- a/pkgs/by-name/xa/xawtv/package.nix +++ b/pkgs/by-name/xa/xawtv/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, libjpeg -, libX11 -, libXt -, alsa-lib -, aalib -, libXft -, xorgproto -, libv4l -, libFS -, libXaw -, libXpm -, libXext -, libSM -, libICE -, perl +{ + lib, + stdenv, + fetchurl, + ncurses, + libjpeg, + libX11, + libXt, + alsa-lib, + aalib, + libXft, + xorgproto, + libv4l, + libFS, + libXaw, + libXpm, + libXext, + libSM, + libICE, + perl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xb/xbanish/package.nix b/pkgs/by-name/xb/xbanish/package.nix index 9a8780324b84e..0e6536592b4c4 100644 --- a/pkgs/by-name/xb/xbanish/package.nix +++ b/pkgs/by-name/xb/xbanish/package.nix @@ -1,11 +1,24 @@ -{lib, stdenv, fetchFromGitHub, libX11, libXi, libXt, libXfixes, libXext}: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXi, + libXt, + libXfixes, + libXext, +}: stdenv.mkDerivation rec { version = "1.8"; pname = "xbanish"; buildInputs = [ - libX11 libXi libXt libXfixes libXext + libX11 + libXi + libXt + libXfixes + libXext ]; src = fetchFromGitHub { @@ -15,7 +28,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-jwCoJ2shFGuJHhmXmlw/paFpMl5ARD6e5zDnDZHlsoo="; }; - makeFlags=[ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=$(out)" ]; preInstall = '' mkdir -p $out/bin $out/man/man1 @@ -36,7 +49,7 @@ stdenv.mkDerivation rec { corner of the screen. ''; license = lib.licenses.bsd3; - maintainers = [lib.maintainers.choochootrain]; + maintainers = [ lib.maintainers.choochootrain ]; platforms = lib.platforms.linux; mainProgram = "xbanish"; }; diff --git a/pkgs/by-name/xb/xbase/package.nix b/pkgs/by-name/xb/xbase/package.nix index d87bcac9829f8..7f3afa0b159b7 100644 --- a/pkgs/by-name/xb/xbase/package.nix +++ b/pkgs/by-name/xb/xbase/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "xbase"; diff --git a/pkgs/by-name/xb/xbattbar/package.nix b/pkgs/by-name/xb/xbattbar/package.nix index 0ddb06b62acee..1775107fc7449 100644 --- a/pkgs/by-name/xb/xbattbar/package.nix +++ b/pkgs/by-name/xb/xbattbar/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchgit, libX11, perl, ... }: +{ + lib, + stdenv, + fetchgit, + libX11, + perl, + ... +}: stdenv.mkDerivation rec { pname = "xbattbar"; @@ -12,7 +19,7 @@ stdenv.mkDerivation rec { sha256 = "10w7gs0l4hzhdn38yqyr3az7n4ncmfnd6hhhly6lk5dg7k441ck6"; }; - buildInputs = [ libX11 ]; + buildInputs = [ libX11 ]; # The following patches are applied: # - sys-by-default: remove the APM checker binary, make the sys checker diff --git a/pkgs/by-name/xb/xbill/package.nix b/pkgs/by-name/xb/xbill/package.nix index 05314e6911b94..031f63141907f 100644 --- a/pkgs/by-name/xb/xbill/package.nix +++ b/pkgs/by-name/xb/xbill/package.nix @@ -1,11 +1,27 @@ -{ stdenv, lib, makeDesktopItem, copyDesktopItems, fetchurl, libX11, libXpm, libXt, motif, ... }: +{ + stdenv, + lib, + makeDesktopItem, + copyDesktopItems, + fetchurl, + libX11, + libXpm, + libXt, + motif, + ... +}: stdenv.mkDerivation rec { pname = "xbill"; version = "2.1"; nativeBuildInputs = [ copyDesktopItems ]; - buildInputs = [ libX11 libXpm libXt motif ]; + buildInputs = [ + libX11 + libXpm + libXt + motif + ]; NIX_CFLAGS_LINK = "-lXpm"; @@ -19,14 +35,19 @@ stdenv.mkDerivation rec { sha256 = "13b08lli2gvppmvyhy0xs8cbjbkvrn4b87302mx0pxrdrvqzzz8f"; }; - desktopItems = [ (makeDesktopItem { - name = "xbill"; - exec = "xbill"; - icon = "xbill"; - desktopName = "XBill"; - comment = "Get rid of those Wingdows viruses!"; - categories = [ "Game" "ArcadeGame" ]; - }) ]; + desktopItems = [ + (makeDesktopItem { + name = "xbill"; + exec = "xbill"; + icon = "xbill"; + desktopName = "XBill"; + comment = "Get rid of those Wingdows viruses!"; + categories = [ + "Game" + "ArcadeGame" + ]; + }) + ]; postInstall = '' install -Dm644 pixmaps/icon.xpm $out/share/pixmaps/xbill.xpm diff --git a/pkgs/by-name/xb/xbindkeys/package.nix b/pkgs/by-name/xb/xbindkeys/package.nix index d3c514970515c..1dd877e85d0ea 100644 --- a/pkgs/by-name/xb/xbindkeys/package.nix +++ b/pkgs/by-name/xb/xbindkeys/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libX11, guile }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libX11, + guile, +}: stdenv.mkDerivation rec { pname = "xbindkeys"; @@ -8,8 +16,14 @@ stdenv.mkDerivation rec { sha256 = "1wl2vc5alisiwyk8m07y1ryq8w3ll9ym83j27g4apm4ixjl8d6x2"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libX11 guile ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libX11 + guile + ]; meta = { homepage = "https://www.nongnu.org/xbindkeys/xbindkeys.html"; diff --git a/pkgs/by-name/xb/xboard/package.nix b/pkgs/by-name/xb/xboard/package.nix index ac8ae684f1df6..fd12bb7f053f5 100644 --- a/pkgs/by-name/xb/xboard/package.nix +++ b/pkgs/by-name/xb/xboard/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, libX11 -, xorgproto -, libXt -, libXaw -, libSM -, libICE -, libXmu -, libXext -, gnuchess -, texinfo -, libXpm -, pkg-config -, librsvg -, cairo -, pango -, gtk2 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libX11, + xorgproto, + libXt, + libXaw, + libSM, + libICE, + libXmu, + libXext, + gnuchess, + texinfo, + libXpm, + pkg-config, + librsvg, + cairo, + pango, + gtk2, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xb/xbomb/package.nix b/pkgs/by-name/xb/xbomb/package.nix index 92227ec1ebd18..92a31720ad950 100644 --- a/pkgs/by-name/xb/xbomb/package.nix +++ b/pkgs/by-name/xb/xbomb/package.nix @@ -1,14 +1,23 @@ -{ lib, stdenv, fetchurl, libX11, libXaw }: +{ + lib, + stdenv, + fetchurl, + libX11, + libXaw, +}: stdenv.mkDerivation rec { pname = "xbomb"; version = "2.2b"; src = fetchurl { - url = "https://www.gedanken.org.uk/software/xbomb/download/xbomb-${version}.tgz"; + url = "https://www.gedanken.org.uk/software/xbomb/download/xbomb-${version}.tgz"; sha256 = "0692gjw28qvh8wj9l58scjw6kxj7jdyb3yzgcgs9wcznq11q839m"; }; - buildInputs = [ libX11 libXaw ]; + buildInputs = [ + libX11 + libXaw + ]; makeFlags = [ "INSTDIR=${placeholder "out"}" diff --git a/pkgs/by-name/xb/xborders/package.nix b/pkgs/by-name/xb/xborders/package.nix index a9fa6318dffbf..b61315d9d6a2c 100644 --- a/pkgs/by-name/xb/xborders/package.nix +++ b/pkgs/by-name/xb/xborders/package.nix @@ -1,12 +1,13 @@ -{ lib -, python3Packages -, fetchFromGitHub -, libwnck -, gtk3 -, libnotify -, wrapGAppsHook3 -, gobject-introspection -, substituteAll +{ + lib, + python3Packages, + fetchFromGitHub, + libwnck, + gtk3, + libnotify, + wrapGAppsHook3, + gobject-introspection, + substituteAll, }: python3Packages.buildPythonPackage rec { @@ -37,15 +38,17 @@ python3Packages.buildPythonPackage rec { pygobject3 ]; - postPatch = let - setup = substituteAll { - src = ./setup.py; - desc = meta.description; # "description" is reserved - inherit pname version; - }; - in '' - ln -s ${setup} setup.py - ''; + postPatch = + let + setup = substituteAll { + src = ./setup.py; + desc = meta.description; # "description" is reserved + inherit pname version; + }; + in + '' + ln -s ${setup} setup.py + ''; meta = with lib; { description = "Active window border replacement for window managers"; diff --git a/pkgs/by-name/xb/xboxdrv/package.nix b/pkgs/by-name/xb/xboxdrv/package.nix index f81e81ecbea02..98c79cd7f80a0 100644 --- a/pkgs/by-name/xb/xboxdrv/package.nix +++ b/pkgs/by-name/xb/xboxdrv/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, scons -, libX11 -, pkg-config -, libusb1 -, boost -, glib -, dbus-glib +{ + lib, + stdenv, + fetchFromGitHub, + scons, + libX11, + pkg-config, + libusb1, + boost, + glib, + dbus-glib, }: stdenv.mkDerivation rec { @@ -22,8 +23,17 @@ stdenv.mkDerivation rec { }; makeFlags = [ "PREFIX=$(out)" ]; - nativeBuildInputs = [ pkg-config scons ]; - buildInputs = [ libX11 libusb1 boost glib dbus-glib ]; + nativeBuildInputs = [ + pkg-config + scons + ]; + buildInputs = [ + libX11 + libusb1 + boost + glib + dbus-glib + ]; enableParallelBuilding = true; dontUseSconsInstall = true; diff --git a/pkgs/by-name/xb/xbps/package.nix b/pkgs/by-name/xb/xbps/package.nix index e5ada2e10268d..75668a5b8bb30 100644 --- a/pkgs/by-name/xb/xbps/package.nix +++ b/pkgs/by-name/xb/xbps/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, which, zlib, openssl, libarchive }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + which, + zlib, + openssl, + libarchive, +}: stdenv.mkDerivation rec { pname = "xbps"; @@ -11,9 +20,16 @@ stdenv.mkDerivation rec { hash = "sha256-3+LzFLDZ1zfRPBETMlpEn66zsfHRHQLlgeZPdMtmA14="; }; - nativeBuildInputs = [ pkg-config which ]; + nativeBuildInputs = [ + pkg-config + which + ]; - buildInputs = [ zlib openssl libarchive ]; + buildInputs = [ + zlib + openssl + libarchive + ]; patches = [ ./cert-paths.patch diff --git a/pkgs/by-name/xb/xbrightness/package.nix b/pkgs/by-name/xb/xbrightness/package.nix index c022371c01d98..33aec02c43fef 100644 --- a/pkgs/by-name/xb/xbrightness/package.nix +++ b/pkgs/by-name/xb/xbrightness/package.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, imake, gccmakedep -, libX11, libXaw, libXext, libXmu, libXpm, libXxf86vm }: +{ + lib, + stdenv, + fetchurl, + imake, + gccmakedep, + libX11, + libXaw, + libXext, + libXmu, + libXpm, + libXxf86vm, +}: stdenv.mkDerivation rec { pname = "xbrightness"; @@ -10,11 +21,27 @@ stdenv.mkDerivation rec { sha256 = "2564dbd393544657cdabe4cbf535d9cfb9abe8edddb1b8cdb1ed4d12f358626e"; }; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libX11 libXaw libXext libXmu libXpm libXxf86vm ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libX11 + libXaw + libXext + libXmu + libXpm + libXxf86vm + ]; - makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ]; - installTargets = [ "install" "install.man" ]; + makeFlags = [ + "BINDIR=$(out)/bin" + "MANPATH=$(out)/share/man" + ]; + installTargets = [ + "install" + "install.man" + ]; meta = { description = "X11 brigthness and gamma software control"; diff --git a/pkgs/by-name/xc/xc/package.nix b/pkgs/by-name/xc/xc/package.nix index 9acf27ca3c338..95ee1c8f1e3a0 100644 --- a/pkgs/by-name/xc/xc/package.nix +++ b/pkgs/by-name/xc/xc/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "xc"; @@ -25,6 +29,9 @@ buildGoModule rec { homepage = "https://xcfile.dev/"; changelog = "https://github.com/joerdav/xc/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ figsoda joerdav ]; + maintainers = with maintainers; [ + figsoda + joerdav + ]; }; } diff --git a/pkgs/by-name/xc/xc3sprog/package.nix b/pkgs/by-name/xc/xc3sprog/package.nix index fa9ceffafbbb2..52bc70ebad811 100644 --- a/pkgs/by-name/xc/xc3sprog/package.nix +++ b/pkgs/by-name/xc/xc3sprog/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchsvn, cmake, libusb-compat-0_1, libftdi }: +{ + lib, + stdenv, + fetchsvn, + cmake, + libusb-compat-0_1, + libftdi, +}: # The xc3sprog project doesn't seem to make proper releases, they only put out # prebuilt binary subversion snapshots on sourceforge. @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libusb-compat-0_1 libftdi ]; + buildInputs = [ + libusb-compat-0_1 + libftdi + ]; cmakeFlags = [ # file RPATH_CHANGE could not write new RPATH diff --git a/pkgs/by-name/xc/xcaddy/package.nix b/pkgs/by-name/xc/xcaddy/package.nix index b2df908b3e07e..907ac80b0d0e3 100644 --- a/pkgs/by-name/xc/xcaddy/package.nix +++ b/pkgs/by-name/xc/xcaddy/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "xcaddy"; @@ -31,6 +35,9 @@ buildGoModule rec { description = "Build Caddy with plugins"; mainProgram = "xcaddy"; license = licenses.asl20; - maintainers = with maintainers; [ tjni emilylange ]; + maintainers = with maintainers; [ + tjni + emilylange + ]; }; } diff --git a/pkgs/by-name/xc/xcalib/package.nix b/pkgs/by-name/xc/xcalib/package.nix index cb3ac66284a16..a1c789fef49a0 100644 --- a/pkgs/by-name/xc/xcalib/package.nix +++ b/pkgs/by-name/xc/xcalib/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXxf86vm, libXext, libXrandr }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXxf86vm, + libXext, + libXrandr, +}: stdenv.mkDerivation rec { pname = "xcalib"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "05fzdjmhiafgi2jf0k41i3nm0837a78sb6yv59cwc23nla8g0bhr"; }; - buildInputs = [ libX11 libXxf86vm libXext libXrandr ]; + buildInputs = [ + libX11 + libXxf86vm + libXext + libXrandr + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/xc/xcape/package.nix b/pkgs/by-name/xc/xcape/package.nix index c62e29cedc154..698bab9bfeec8 100644 --- a/pkgs/by-name/xc/xcape/package.nix +++ b/pkgs/by-name/xc/xcape/package.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libX11, libXtst, xorgproto, -libXi }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libX11, + libXtst, + xorgproto, + libXi, +}: stdenv.mkDerivation rec { pname = "xcape"; @@ -14,7 +22,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXtst xorgproto libXi ]; + buildInputs = [ + libX11 + libXtst + xorgproto + libXi + ]; makeFlags = [ "PREFIX=$(out)" @@ -34,7 +47,7 @@ stdenv.mkDerivation rec { released on its own. ''; homepage = "https://github.com/alols/xcape"; - license = licenses.gpl3 ; + license = licenses.gpl3; maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; mainProgram = "xcape"; diff --git a/pkgs/by-name/xc/xcat/package.nix b/pkgs/by-name/xc/xcat/package.nix index 54219f1e1ac4e..fcca8ee73cdd5 100644 --- a/pkgs/by-name/xc/xcat/package.nix +++ b/pkgs/by-name/xc/xcat/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/xc/xcb-imdkit/package.nix b/pkgs/by-name/xc/xcb-imdkit/package.nix index 41710d5ca3dcc..7dbce20bd1e46 100644 --- a/pkgs/by-name/xc/xcb-imdkit/package.nix +++ b/pkgs/by-name/xc/xcb-imdkit/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, uthash -, xcbutil -, xcbutilkeysyms -, xorgproto +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + uthash, + xcbutil, + xcbutilkeysyms, + xorgproto, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xc/xcbeautify/package.nix b/pkgs/by-name/xc/xcbeautify/package.nix index fb0cea9846708..c5eaecb4917ed 100644 --- a/pkgs/by-name/xc/xcbeautify/package.nix +++ b/pkgs/by-name/xc/xcbeautify/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, unzip +{ + lib, + stdenv, + fetchurl, + unzip, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xc/xcd/package.nix b/pkgs/by-name/xc/xcd/package.nix index 1c2e65f86bf96..b31b06cb73ec7 100644 --- a/pkgs/by-name/xc/xcd/package.nix +++ b/pkgs/by-name/xc/xcd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "xcd"; diff --git a/pkgs/by-name/xc/xcftools/package.nix b/pkgs/by-name/xc/xcftools/package.nix index 077f016b9e90b..aa4cf0519aa0f 100644 --- a/pkgs/by-name/xc/xcftools/package.nix +++ b/pkgs/by-name/xc/xcftools/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchpatch, fetchurl, libpng, perl, gettext }: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + libpng, + perl, + gettext, +}: stdenv.mkDerivation rec { pname = "xcftools"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "19i0x7yhlw6hd2gp013884zchg63yzjdj4hpany011il0n26vgqy"; }; - buildInputs = [ libpng perl gettext ]; + buildInputs = [ + libpng + perl + gettext + ]; patches = [ (fetchpatch { diff --git a/pkgs/by-name/xc/xcfun/package.nix b/pkgs/by-name/xc/xcfun/package.nix index cac389333e49c..72e5a0172580a 100644 --- a/pkgs/by-name/xc/xcfun/package.nix +++ b/pkgs/by-name/xc/xcfun/package.nix @@ -1,10 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, cmake, gfortran, python3 } : +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gfortran, + python3, +}: stdenv.mkDerivation rec { pname = "xcfun"; version = "2.1.1"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "dftlibs"; repo = pname; rev = "v${version}"; diff --git a/pkgs/by-name/xc/xchainkeys/package.nix b/pkgs/by-name/xc/xchainkeys/package.nix index ee1b10bca63c0..dfe0c036e4b20 100644 --- a/pkgs/by-name/xc/xchainkeys/package.nix +++ b/pkgs/by-name/xc/xchainkeys/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libX11 }: +{ + lib, + stdenv, + fetchurl, + libX11, +}: stdenv.mkDerivation rec { pname = "xchainkeys"; diff --git a/pkgs/by-name/xc/xchm/package.nix b/pkgs/by-name/xc/xchm/package.nix index fe94ac94ba418..3472dbfa0d57c 100644 --- a/pkgs/by-name/xc/xchm/package.nix +++ b/pkgs/by-name/xc/xchm/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, wxGTK32 -, chmlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + wxGTK32, + chmlib, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xc/xcircuit/package.nix b/pkgs/by-name/xc/xcircuit/package.nix index c51156d2c1ab1..9aab3b301def4 100644 --- a/pkgs/by-name/xc/xcircuit/package.nix +++ b/pkgs/by-name/xc/xcircuit/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, automake, pkg-config -, cairo, ghostscript, ngspice, tcl, tk, xorg, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + automake, + pkg-config, + cairo, + ghostscript, + ngspice, + tcl, + tk, + xorg, + zlib, +}: stdenv.mkDerivation rec { version = "3.10.37"; @@ -12,7 +25,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-LXU5VEkLF1aKYz9ynI1qQjJUwt/zKFMPYj153OgJOOI="; }; - nativeBuildInputs = [ autoreconfHook automake pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + automake + pkg-config + ]; hardeningDisable = [ "format" ]; configureFlags = [ @@ -21,7 +38,18 @@ stdenv.mkDerivation rec { "--with-ngspice=${lib.getBin ngspice}/bin/ngspice" ]; - buildInputs = with xorg; [ cairo ghostscript libSM libXt libICE libX11 libXpm tcl tk zlib ]; + buildInputs = with xorg; [ + cairo + ghostscript + libSM + libXt + libICE + libX11 + libXpm + tcl + tk + zlib + ]; meta = with lib; { description = "Generic drawing program tailored to circuit diagrams"; @@ -29,6 +57,10 @@ stdenv.mkDerivation rec { homepage = "http://opencircuitdesign.com/xcircuit"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ john-shaffer spacefrogg thoughtpolice ]; + maintainers = with maintainers; [ + john-shaffer + spacefrogg + thoughtpolice + ]; }; } diff --git a/pkgs/by-name/xc/xclicker/package.nix b/pkgs/by-name/xc/xclicker/package.nix index e61c86c2b320b..2a1e05350083c 100644 --- a/pkgs/by-name/xc/xclicker/package.nix +++ b/pkgs/by-name/xc/xclicker/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wrapGAppsHook3 -, gtk3 -, libXtst +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wrapGAppsHook3, + gtk3, + libXtst, }: stdenv.mkDerivation (finalAttrs: { @@ -48,7 +49,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://xclicker.xyz/"; license = lib.licenses.gpl3Only; mainProgram = "xclicker"; - maintainers = with lib.maintainers; [ gepbird tomasajt ]; + maintainers = with lib.maintainers; [ + gepbird + tomasajt + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/xc/xclip/package.nix b/pkgs/by-name/xc/xclip/package.nix index e56382879d59c..5b3383dae99c7 100644 --- a/pkgs/by-name/xc/xclip/package.nix +++ b/pkgs/by-name/xc/xclip/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, libXmu }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libXmu, +}: stdenv.mkDerivation rec { pname = "xclip"; diff --git a/pkgs/by-name/xc/xcolor/package.nix b/pkgs/by-name/xc/xcolor/package.nix index f9ba3627f7874..84997af2c336a 100644 --- a/pkgs/by-name/xc/xcolor/package.nix +++ b/pkgs/by-name/xc/xcolor/package.nix @@ -1,5 +1,16 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, libX11, libXcursor -, libxcb, python3, installShellFiles, makeDesktopItem, copyDesktopItems }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libX11, + libXcursor, + libxcb, + python3, + installShellFiles, + makeDesktopItem, + copyDesktopItems, +}: rustPlatform.buildRustPackage rec { pname = "xcolor"; @@ -14,9 +25,18 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Zh73+FJ63SkusSavCqSCLbHVnU++4ZFSMFUIM7TnOj0="; - nativeBuildInputs = [ pkg-config python3 installShellFiles copyDesktopItems ]; + nativeBuildInputs = [ + pkg-config + python3 + installShellFiles + copyDesktopItems + ]; - buildInputs = [ libX11 libXcursor libxcb ]; + buildInputs = [ + libX11 + libXcursor + libxcb + ]; desktopItems = [ (makeDesktopItem { diff --git a/pkgs/by-name/xc/xconq/package.nix b/pkgs/by-name/xc/xconq/package.nix index 345ddbcad49b1..057996ceb7373 100644 --- a/pkgs/by-name/xc/xconq/package.nix +++ b/pkgs/by-name/xc/xconq/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, cpio, xorgproto, libX11, libXmu, libXaw, libXt, tcl, tk -, libXext, fontconfig, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + cpio, + xorgproto, + libX11, + libXmu, + libXaw, + libXt, + tcl, + tk, + libXext, + fontconfig, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "xconq"; @@ -11,7 +25,18 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cpio xorgproto libX11 libXmu libXaw libXt tcl tk libXext fontconfig ]; + buildInputs = [ + cpio + xorgproto + libX11 + libXmu + libXaw + libXt + tcl + tk + libXext + fontconfig + ]; configureFlags = [ "--enable-alternate-scoresdir=scores" diff --git a/pkgs/by-name/xc/xcowsay/package.nix b/pkgs/by-name/xc/xcowsay/package.nix index 52569e044f06e..0802fe96c8776 100644 --- a/pkgs/by-name/xc/xcowsay/package.nix +++ b/pkgs/by-name/xc/xcowsay/package.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config -, dbus, dbus-glib, gtk3, gdk-pixbuf, librsvg -, fortune +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + dbus, + dbus-glib, + gtk3, + gdk-pixbuf, + librsvg, + fortune, }: stdenv.mkDerivation rec { @@ -19,7 +28,10 @@ stdenv.mkDerivation rec { gdk-pixbuf # loading cow images librsvg # dreaming SVG images ]; - nativeBuildInputs = [ makeWrapper pkg-config ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; configureFlags = [ "--enable-dbus" ]; diff --git a/pkgs/by-name/xc/xcp/package.nix b/pkgs/by-name/xc/xcp/package.nix index 1aea623b20a90..347ecef141c18 100644 --- a/pkgs/by-name/xc/xcp/package.nix +++ b/pkgs/by-name/xc/xcp/package.nix @@ -1,4 +1,8 @@ -{ rustPlatform, fetchFromGitHub, lib }: +{ + rustPlatform, + fetchFromGitHub, + lib, +}: rustPlatform.buildRustPackage rec { pname = "xcp"; diff --git a/pkgs/by-name/xc/xcpc/package.nix b/pkgs/by-name/xc/xcpc/package.nix index d5a2a6a50fe1f..9bcd3f5317855 100644 --- a/pkgs/by-name/xc/xcpc/package.nix +++ b/pkgs/by-name/xc/xcpc/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, libXaw, libX11, libXext - , libDSKSupport ? true, libdsk - , motifSupport ? false, lesstif +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libXaw, + libX11, + libXext, + libDSKSupport ? true, + libdsk, + motifSupport ? false, + lesstif, }: stdenv.mkDerivation rec { @@ -14,7 +24,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libdsk libXaw libX11 libXext ] + buildInputs = + [ + glib + libdsk + libXaw + libX11 + libXext + ] ++ lib.optional libDSKSupport libdsk ++ lib.optional motifSupport lesstif; diff --git a/pkgs/by-name/xc/xcrawl3r/package.nix b/pkgs/by-name/xc/xcrawl3r/package.nix index fd3a33eaac2b5..af65667f7660d 100644 --- a/pkgs/by-name/xc/xcrawl3r/package.nix +++ b/pkgs/by-name/xc/xcrawl3r/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/xc/xcruiser/package.nix b/pkgs/by-name/xc/xcruiser/package.nix index 3f1277f24a83a..c85ccb8cd124c 100644 --- a/pkgs/by-name/xc/xcruiser/package.nix +++ b/pkgs/by-name/xc/xcruiser/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, gccmakedep, imake, libXt, libXaw, libXpm, libXext, copyDesktopItems, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + gccmakedep, + imake, + libXt, + libXaw, + libXpm, + libXext, + copyDesktopItems, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "xcruiser"; @@ -9,8 +21,17 @@ stdenv.mkDerivation rec { sha256 = "1r8whva38xizqdh7jmn6wcmfmsndc67pkw22wzfzr6rq0vf6hywi"; }; - nativeBuildInputs = [ gccmakedep imake copyDesktopItems ]; - buildInputs = [ libXt libXaw libXpm libXext ]; + nativeBuildInputs = [ + gccmakedep + imake + copyDesktopItems + ]; + buildInputs = [ + libXt + libXaw + libXpm + libXext + ]; makeFlags = [ "BINDIR=${placeholder "out"}/bin" diff --git a/pkgs/by-name/xc/xcwd/package.nix b/pkgs/by-name/xc/xcwd/package.nix index 897c4af95edc8..58808c9ec9627 100644 --- a/pkgs/by-name/xc/xcwd/package.nix +++ b/pkgs/by-name/xc/xcwd/package.nix @@ -1,14 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, +}: stdenv.mkDerivation (finalAttrs: { pname = "xcwd"; version = "1.0"; src = fetchFromGitHub { - owner = "schischi"; - repo = "xcwd"; - rev = "v${finalAttrs.version}"; - hash = "sha256-M6/1H6hI50Cvx40RTKzZXoUui0FGZfwe1IwdaxMJIQo="; + owner = "schischi"; + repo = "xcwd"; + rev = "v${finalAttrs.version}"; + hash = "sha256-M6/1H6hI50Cvx40RTKzZXoUui0FGZfwe1IwdaxMJIQo="; }; buildInputs = [ libX11 ]; diff --git a/pkgs/by-name/xd/xd/package.nix b/pkgs/by-name/xd/xd/package.nix index 2974fe3935792..eb4c929254110 100644 --- a/pkgs/by-name/xd/xd/package.nix +++ b/pkgs/by-name/xd/xd/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, lib, perl }: +{ + buildGoModule, + fetchFromGitHub, + lib, + perl, +}: buildGoModule rec { pname = "XD"; diff --git a/pkgs/by-name/xd/xdaliclock/package.nix b/pkgs/by-name/xd/xdaliclock/package.nix index 9a5f348f15244..5ddf7b01e1d0f 100644 --- a/pkgs/by-name/xd/xdaliclock/package.nix +++ b/pkgs/by-name/xd/xdaliclock/package.nix @@ -1,7 +1,11 @@ -{ lib, stdenv, fetchurl -, gtk3 -, wrapGAppsHook3 -, pkg-config }: +{ + lib, + stdenv, + fetchurl, + gtk3, + wrapGAppsHook3, + pkg-config, +}: stdenv.mkDerivation rec { pname = "xdaliclock"; @@ -40,7 +44,7 @@ stdenv.mkDerivation rec { description = "Clock application that morphs digits when they are changed"; maintainers = with maintainers; [ raskin ]; platforms = with platforms; linux ++ freebsd; - license = licenses.free; #TODO BSD on Gentoo, looks like MIT + license = licenses.free; # TODO BSD on Gentoo, looks like MIT downloadPage = "http://www.jwz.org/xdaliclock/"; mainProgram = "xdaliclock"; }; diff --git a/pkgs/by-name/xd/xdg-dbus-proxy/package.nix b/pkgs/by-name/xd/xdg-dbus-proxy/package.nix index ef5a3abd97309..9c661cd0dc0b5 100644 --- a/pkgs/by-name/xd/xdg-dbus-proxy/package.nix +++ b/pkgs/by-name/xd/xdg-dbus-proxy/package.nix @@ -1,14 +1,15 @@ -{ dbus -, docbook-xsl-nons -, docbook_xml_dtd_43 -, fetchurl -, glib -, lib -, libxslt -, meson -, ninja -, pkg-config -, stdenv +{ + dbus, + docbook-xsl-nons, + docbook_xml_dtd_43, + fetchurl, + glib, + lib, + libxslt, + meson, + ninja, + pkg-config, + stdenv, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix index 613400dcd7d23..8c640acd7f557 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, gst_all_1 -, mesa -, pkg-config -, libglvnd -, libxkbcommon -, pipewire -, wayland +{ + lib, + rustPlatform, + fetchFromGitHub, + gst_all_1, + mesa, + pkg-config, + libglvnd, + libxkbcommon, + pipewire, + wayland, }: rustPlatform.buildRustPackage rec { @@ -29,8 +30,17 @@ rustPlatform.buildRustPackage rec { separateDebugInfo = true; - nativeBuildInputs = [ rustPlatform.bindgenHook pkg-config ]; - buildInputs = [ libglvnd libxkbcommon mesa pipewire wayland ]; + nativeBuildInputs = [ + rustPlatform.bindgenHook + pkg-config + ]; + buildInputs = [ + libglvnd + libxkbcommon + mesa + pipewire + wayland + ]; checkInputs = [ gst_all_1.gstreamer ]; # Force linking to libEGL, which is always dlopen()ed, and to diff --git a/pkgs/by-name/xd/xdg-desktop-portal-gtk/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-gtk/package.nix index db06dc7562486..7797d01fc96b3 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-gtk/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-gtk/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, xdg-desktop-portal -, gtk3 -, gnome-settings-daemon -, gnome-desktop -, glib -, wrapGAppsHook3 -, gsettings-desktop-schemas +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + xdg-desktop-portal, + gtk3, + gnome-settings-daemon, + gnome-desktop, + glib, + wrapGAppsHook3, + gsettings-desktop-schemas, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix index bed9ef313acd2..c4d898b6bbf9e 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, meson -, ninja -, xdg-desktop-portal +{ + lib, + rustPlatform, + fetchFromGitHub, + meson, + ninja, + xdg-desktop-portal, }: rustPlatform.buildRustPackage rec { @@ -38,7 +39,7 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Decodetalkers/xdg-desktop-portal-shana"; license = licenses.mit; platforms = platforms.linux; - maintainers = [ maintainers.samuelefacenda ]; + maintainers = [ maintainers.samuelefacenda ]; }; } diff --git a/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix index e215028d73520..cb6f6ec5add32 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, bash -, fetchFromGitHub -, makeWrapper -, meson -, ninja -, pkg-config -, wayland-protocols -, wayland-scanner -, grim -, inih -, libdrm -, mesa -, pipewire -, scdoc -, slurp -, systemd -, wayland +{ + lib, + stdenv, + bash, + fetchFromGitHub, + makeWrapper, + meson, + ninja, + pkg-config, + wayland-protocols, + wayland-scanner, + grim, + inih, + libdrm, + mesa, + pipewire, + scdoc, + slurp, + systemd, + wayland, }: stdenv.mkDerivation rec { @@ -32,15 +33,36 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner makeWrapper ]; - buildInputs = [ inih libdrm mesa pipewire systemd wayland wayland-protocols ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + wayland-scanner + makeWrapper + ]; + buildInputs = [ + inih + libdrm + mesa + pipewire + systemd + wayland + wayland-protocols + ]; mesonFlags = [ "-Dsd-bus-provider=libsystemd" ]; postInstall = '' - wrapProgram $out/libexec/xdg-desktop-portal-wlr --prefix PATH ":" ${lib.makeBinPath [ bash grim slurp ]} + wrapProgram $out/libexec/xdg-desktop-portal-wlr --prefix PATH ":" ${ + lib.makeBinPath [ + bash + grim + slurp + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix index 3adb978f0d4e2..36d80571c5eab 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, meson -, ninja -, pkg-config -, wrapGAppsNoGuiHook -, cinnamon-desktop -, glib -, gsettings-desktop-schemas -, mate -, xdg-desktop-portal -, xapp +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + pkg-config, + wrapGAppsNoGuiHook, + cinnamon-desktop, + glib, + gsettings-desktop-schemas, + mate, + xdg-desktop-portal, + xapp, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xd/xdg-launch/package.nix b/pkgs/by-name/xd/xdg-launch/package.nix index 4a61839c7d8c9..4c8b74f67486b 100644 --- a/pkgs/by-name/xd/xdg-launch/package.nix +++ b/pkgs/by-name/xd/xdg-launch/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoconf -, automake -, gettext -, libtool -, perl -, pkg-config -, glib -, xorg +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + gettext, + libtool, + perl, + pkg-config, + glib, + xorg, }: stdenv.mkDerivation rec { pname = "xdg-launch"; diff --git a/pkgs/by-name/xd/xdg-ninja/package.nix b/pkgs/by-name/xd/xdg-ninja/package.nix index e30b7602d1c8c..0de1ec79c3890 100644 --- a/pkgs/by-name/xd/xdg-ninja/package.nix +++ b/pkgs/by-name/xd/xdg-ninja/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper, jq, glow }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + jq, + glow, +}: stdenvNoCC.mkDerivation rec { pname = "xdg-ninja"; @@ -22,7 +29,12 @@ stdenvNoCC.mkDerivation rec { ln -s "$out/share/xdg-ninja/xdg-ninja.sh" "$out/bin/xdg-ninja" wrapProgram "$out/bin/xdg-ninja" \ - --prefix PATH : "${lib.makeBinPath [ glow jq ]}" + --prefix PATH : "${ + lib.makeBinPath [ + glow + jq + ] + }" runHook postInstall ''; diff --git a/pkgs/by-name/xd/xdg-utils/package.nix b/pkgs/by-name/xd/xdg-utils/package.nix index 5b3a1a5367c07..86c09d82954ba 100644 --- a/pkgs/by-name/xd/xdg-utils/package.nix +++ b/pkgs/by-name/xd/xdg-utils/package.nix @@ -1,16 +1,48 @@ -{ lib, stdenv, fetchurl, fetchFromGitLab, fetchFromGitHub, runCommand, writeText -# docs deps -, libxslt, docbook_xml_dtd_412, docbook_xml_dtd_43, docbook_xsl, xmlto -# runtime deps -, resholve, bash, coreutils, dbus, file, gawk, glib, gnugrep, gnused, jq, nettools, procmail, procps, which, xdg-user-dirs -, shared-mime-info -, perl, perlPackages -, withXdgOpenUsePortalPatch ? true }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitLab, + fetchFromGitHub, + runCommand, + writeText, + # docs deps + libxslt, + docbook_xml_dtd_412, + docbook_xml_dtd_43, + docbook_xsl, + xmlto, + # runtime deps + resholve, + bash, + coreutils, + dbus, + file, + gawk, + glib, + gnugrep, + gnused, + jq, + nettools, + procmail, + procps, + which, + xdg-user-dirs, + shared-mime-info, + perl, + perlPackages, + withXdgOpenUsePortalPatch ? true, +}: let # Required by the common desktop detection code - commonDeps = [ dbus coreutils gnugrep gnused ]; + commonDeps = [ + dbus + coreutils + gnugrep + gnused + ]; # These are all faked because the current desktop is detected # based on their presence, so we want them to be missing by default. commonFakes = [ @@ -36,7 +68,7 @@ let # These are desktop-specific, so we don't want xdg-utils to be able to # call them when in a different setup. fake.external = commonFakes ++ [ - "gconftool-2" # GNOME2 + "gconftool-2" # GNOME2 ]; keep."$KDE_SESSION_VERSION" = true; prologue = commonPrologue; @@ -54,7 +86,11 @@ let { scripts = [ "bin/xdg-email" ]; interpreter = "${bash}/bin/bash"; - inputs = commonDeps ++ [ gawk glib.bin "${placeholder "out"}/bin" ]; + inputs = commonDeps ++ [ + gawk + glib.bin + "${placeholder "out"}/bin" + ]; execer = [ "cannot:${placeholder "out"}/bin/xdg-mime" "cannot:${placeholder "out"}/bin/xdg-open" @@ -62,13 +98,13 @@ let # These are desktop-specific, so we don't want xdg-utils to be able to # call them when in a different setup. fake.external = commonFakes ++ [ - "exo-open" # XFCE - "gconftool-2" # GNOME - "gio" # GNOME (new) - "gnome-open" # GNOME (very old) - "gvfs-open" # GNOME (old) - "qtxdg-mat" # LXQT - "xdg-email-hook.sh" # user-defined hook that may be available ambiently + "exo-open" # XFCE + "gconftool-2" # GNOME + "gio" # GNOME (new) + "gnome-open" # GNOME (very old) + "gvfs-open" # GNOME (old) + "qtxdg-mat" # LXQT + "xdg-email-hook.sh" # user-defined hook that may be available ambiently ]; fix."/bin/echo" = true; keep = { @@ -91,22 +127,25 @@ let { scripts = [ "bin/xdg-mime" ]; interpreter = "${bash}/bin/bash"; - inputs = commonDeps ++ [ file gawk ]; + inputs = commonDeps ++ [ + file + gawk + ]; # These are desktop-specific, so we don't want xdg-utils to be able to # call them when in a different setup. fake.external = commonFakes ++ [ - "gio" # GNOME (new) - "gnomevfs-info" # GNOME (very old) - "gvfs-info" # GNOME (old) - "kde4-config" # Plasma 4 - "kfile" # KDE 3 - "kmimetypefinder" # Plasma (generic) - "kmimetypefinder5" # Plasma 5 - "ktraderclient" # KDE 3 - "ktradertest" # KDE 3 - "mimetype" # alternative tool for file, pulls in perl, avoid - "qtpaths" # Plasma - "qtxdg-mat" # LXQT + "gio" # GNOME (new) + "gnomevfs-info" # GNOME (very old) + "gvfs-info" # GNOME (old) + "kde4-config" # Plasma 4 + "kfile" # KDE 3 + "kmimetypefinder" # Plasma (generic) + "kmimetypefinder5" # Plasma 5 + "ktraderclient" # KDE 3 + "ktradertest" # KDE 3 + "mimetype" # alternative tool for file, pulls in perl, avoid + "qtpaths" # Plasma + "qtxdg-mat" # LXQT ]; fix."/usr/bin/file" = true; keep = { @@ -116,37 +155,46 @@ let prologue = "${writeText "xdg-mime-prologue" '' export XDG_DATA_DIRS="$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${shared-mime-info}/share" export PERL5LIB=${with perlPackages; makePerlPath [ FileMimeInfo ]} - export PATH=$PATH:${lib.makeBinPath [ coreutils perlPackages.FileMimeInfo ]} + export PATH=$PATH:${ + lib.makeBinPath [ + coreutils + perlPackages.FileMimeInfo + ] + } ''}"; } { scripts = [ "bin/xdg-open" ]; interpreter = "${bash}/bin/bash"; - inputs = commonDeps ++ [ nettools glib.bin "${placeholder "out"}/bin" ]; + inputs = commonDeps ++ [ + nettools + glib.bin + "${placeholder "out"}/bin" + ]; execer = [ "cannot:${placeholder "out"}/bin/xdg-mime" ]; # These are desktop-specific, so we don't want xdg-utils to be able to # call them when in a different setup. fake.external = commonFakes ++ [ - "cygstart" # Cygwin - "dde-open" # Deepin - "enlightenment_open" # Enlightenment - "exo-open" # XFCE - "gio" # GNOME (new) - "gnome-open" # GNOME (very old) - "gvfs-open" # GNOME (old) - "kde-open" # Plasma - "kfmclient" # KDE3 - "mate-open" # MATE - "mimeopen" # alternative tool for file, pulls in perl, avoid - "open" # macOS - "pcmanfm" # LXDE - "qtxdg-mat" # LXQT - "run-mailcap" # generic - "rundll32.exe" # WSL - "wslpath" # WSL + "cygstart" # Cygwin + "dde-open" # Deepin + "enlightenment_open" # Enlightenment + "exo-open" # XFCE + "gio" # GNOME (new) + "gnome-open" # GNOME (very old) + "gvfs-open" # GNOME (old) + "kde-open" # Plasma + "kfmclient" # KDE3 + "mate-open" # MATE + "mimeopen" # alternative tool for file, pulls in perl, avoid + "open" # macOS + "pcmanfm" # LXDE + "qtxdg-mat" # LXQT + "run-mailcap" # generic + "rundll32.exe" # WSL + "wslpath" # WSL ]; fix."$printf" = [ "printf" ]; keep = { @@ -159,19 +207,28 @@ let { scripts = [ "bin/xdg-screensaver" ]; interpreter = "${bash}/bin/bash"; - inputs = commonDeps ++ [ nettools perl procps ] + inputs = + commonDeps + ++ [ + nettools + perl + procps + ] # procmail's funky build system is currently broken in cross-build. # xdg-screensaver will gracefully degrade if it's not available. ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) procmail; # These are desktop-specific, so we don't want xdg-utils to be able to # call them when in a different setup. - fake.external = commonFakes ++ [ - "dcop" # KDE3 - "mate-screensaver-command" # MATE - "xautolock" # Xautolock - "xscreensaver-command" # Xscreensaver - "xset" # generic-ish X - ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "lockfile"; # procmail + fake.external = + commonFakes + ++ [ + "dcop" # KDE3 + "mate-screensaver-command" # MATE + "xautolock" # Xautolock + "xscreensaver-command" # Xscreensaver + "xset" # generic-ish X + ] + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "lockfile"; # procmail keep = { "$MV" = true; "$XPROP" = true; @@ -181,7 +238,15 @@ let "cannot:${perl}/bin/perl" ]; prologue = "${writeText "xdg-screensaver-prologue" '' - export PERL5LIB=${with perlPackages; makePerlPath [ NetDBus XMLTwig XMLParser X11Protocol ]} + export PERL5LIB=${ + with perlPackages; + makePerlPath [ + NetDBus + XMLTwig + XMLParser + X11Protocol + ] + } export PATH=$PATH:${coreutils}/bin ''}"; } @@ -189,22 +254,25 @@ let { scripts = [ "bin/xdg-settings" ]; interpreter = "${bash}/bin/bash"; - inputs = commonDeps ++ [ jq "${placeholder "out"}/bin" ]; + inputs = commonDeps ++ [ + jq + "${placeholder "out"}/bin" + ]; execer = [ "cannot:${placeholder "out"}/bin/xdg-mime" ]; # These are desktop-specific, so we don't want xdg-utils to be able to # call them when in a different setup. fake.external = commonFakes ++ [ - "gconftool-2" # GNOME - "kreadconfig" # Plasma (generic) - "kreadconfig5" # Plasma 5 - "kreadconfig6" # Plasma 6 - "ktradertest" # KDE3 - "kwriteconfig" # Plasma (generic) - "kwriteconfig5" # Plasma 5 - "kwriteconfig6" # Plasma 6 - "qtxdg-mat" # LXQT + "gconftool-2" # GNOME + "kreadconfig" # Plasma (generic) + "kreadconfig5" # Plasma 5 + "kreadconfig6" # Plasma 6 + "ktradertest" # KDE3 + "kwriteconfig" # Plasma (generic) + "kwriteconfig5" # Plasma 5 + "kwriteconfig6" # Plasma 6 + "qtxdg-mat" # LXQT ]; keep = { "$KDE_SESSION_VERSION" = true; @@ -216,13 +284,17 @@ let { scripts = [ "bin/xdg-terminal" ]; interpreter = "${bash}/bin/bash"; - inputs = commonDeps ++ [ bash glib.bin which ]; + inputs = commonDeps ++ [ + bash + glib.bin + which + ]; fake.external = commonFakes ++ [ - "gconftool-2" # GNOME - "exo-open" # XFCE - "lxterminal" # LXQT - "qterminal" # LXQT - "terminology" # Englightenment + "gconftool-2" # GNOME + "exo-open" # XFCE + "lxterminal" # LXQT + "qterminal" # LXQT + "terminology" # Englightenment ]; keep = { "$command" = true; @@ -255,40 +327,51 @@ stdenv.mkDerivation (self: { ]; # just needed when built from git - nativeBuildInputs = [ libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl xmlto ]; + nativeBuildInputs = [ + libxslt + docbook_xml_dtd_412 + docbook_xml_dtd_43 + docbook_xsl + xmlto + ]; # explicitly provide a runtime shell so patchShebangs is consistent across build platforms buildInputs = [ bash ]; - preFixup = lib.concatStringsSep "\n" (map (resholve.phraseSolution "xdg-utils-resholved") solutions); + preFixup = lib.concatStringsSep "\n" ( + map (resholve.phraseSolution "xdg-utils-resholved") solutions + ); - passthru.tests.xdg-mime = runCommand "xdg-mime-test" { - nativeBuildInputs = [ self.finalPackage ]; - preferLocalBuild = true; - xenias = lib.mapAttrsToList (hash: urls: fetchurl { inherit hash urls; }) { - "sha256-SL95tM1AjOi7vDnCyT10s0tvQvc+ZSZBbkNOYXfbOy0=" = [ - "https://staging.cohostcdn.org/attachment/0f5d9832-0cda-4d07-b35f-832b287feb6c/kernelkisser.png" - "https://static1.e621.net/data/0e/76/0e7672980d48e48c2d1373eb2505db5a.png" - ]; - "sha256-Si9AtB7J9o6rK/oftv+saST77CNaeWomWU5ECfbRioM=" = [ - "https://static1.e621.net/data/25/3d/253dc77fbc60d7214bc60e4a647d1c32.jpg" - ]; - "sha256-Z+onQRY5zlDWPp5/y4E6crLz3TaMCNipcxEEMSHuLkM=" = [ - "https://d.furaffinity.net/art/neotheta/1691409857/1691409857.neotheta_quickmakeanentry_by_neotheta-sig.png" - "https://static1.e621.net/data/bf/e4/bfe43ba264ad68e5d8a101ecef69c03e.png" - ]; - }; - } '' - for x in $xenias; do - ext=''${x##*.} - type="$(xdg-mime query filetype $x)" - [ $? -eq 0 ] && [ "$type" = "image/''${ext/jpg/jpeg}" ] || { - echo "Incorrect MIME type '$type' for '$x'" >&2 - exit 1 + passthru.tests.xdg-mime = + runCommand "xdg-mime-test" + { + nativeBuildInputs = [ self.finalPackage ]; + preferLocalBuild = true; + xenias = lib.mapAttrsToList (hash: urls: fetchurl { inherit hash urls; }) { + "sha256-SL95tM1AjOi7vDnCyT10s0tvQvc+ZSZBbkNOYXfbOy0=" = [ + "https://staging.cohostcdn.org/attachment/0f5d9832-0cda-4d07-b35f-832b287feb6c/kernelkisser.png" + "https://static1.e621.net/data/0e/76/0e7672980d48e48c2d1373eb2505db5a.png" + ]; + "sha256-Si9AtB7J9o6rK/oftv+saST77CNaeWomWU5ECfbRioM=" = [ + "https://static1.e621.net/data/25/3d/253dc77fbc60d7214bc60e4a647d1c32.jpg" + ]; + "sha256-Z+onQRY5zlDWPp5/y4E6crLz3TaMCNipcxEEMSHuLkM=" = [ + "https://d.furaffinity.net/art/neotheta/1691409857/1691409857.neotheta_quickmakeanentry_by_neotheta-sig.png" + "https://static1.e621.net/data/bf/e4/bfe43ba264ad68e5d8a101ecef69c03e.png" + ]; + }; } - done - touch $out - ''; + '' + for x in $xenias; do + ext=''${x##*.} + type="$(xdg-mime query filetype $x)" + [ $? -eq 0 ] && [ "$type" = "image/''${ext/jpg/jpeg}" ] || { + echo "Incorrect MIME type '$type' for '$x'" >&2 + exit 1 + } + done + touch $out + ''; meta = with lib; { homepage = "https://www.freedesktop.org/wiki/Software/xdg-utils/"; diff --git a/pkgs/by-name/xd/xdgmenumaker/package.nix b/pkgs/by-name/xd/xdgmenumaker/package.nix index 52a7b95bb8039..c4aee53b34d2b 100644 --- a/pkgs/by-name/xd/xdgmenumaker/package.nix +++ b/pkgs/by-name/xd/xdgmenumaker/package.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, atk -, gdk-pixbuf -, gobject-introspection -, pango -, python3Packages -, txt2tags -, wrapGAppsHook3 -, gitUpdater +{ + lib, + fetchFromGitHub, + atk, + gdk-pixbuf, + gobject-introspection, + pango, + python3Packages, + txt2tags, + wrapGAppsHook3, + gitUpdater, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/xd/xdiskusage/package.nix b/pkgs/by-name/xd/xdiskusage/package.nix index 9db3563ca247b..e5f2ded9efb77 100644 --- a/pkgs/by-name/xd/xdiskusage/package.nix +++ b/pkgs/by-name/xd/xdiskusage/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fltk }: +{ + lib, + stdenv, + fetchurl, + fltk, +}: stdenv.mkDerivation (finalAttrs: { pname = "xdiskusage"; diff --git a/pkgs/by-name/xd/xdo/package.nix b/pkgs/by-name/xd/xdo/package.nix index 268dfcd66e041..dfb804c030e4b 100644 --- a/pkgs/by-name/xd/xdo/package.nix +++ b/pkgs/by-name/xd/xdo/package.nix @@ -1,26 +1,37 @@ -{ lib, stdenv, fetchFromGitHub, libxcb, xcbutil, xcbutilwm }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, + xcbutil, + xcbutilwm, +}: stdenv.mkDerivation rec { - pname = "xdo"; - version = "0.5.7"; + pname = "xdo"; + version = "0.5.7"; - src = fetchFromGitHub { - owner = "baskerville"; - repo = "xdo"; - rev = version; - sha256 = "1h3jrygcjjbavdbkpx2hscsf0yf97gk487lzjdlvymd7dxdv9hy9"; - }; + src = fetchFromGitHub { + owner = "baskerville"; + repo = "xdo"; + rev = version; + sha256 = "1h3jrygcjjbavdbkpx2hscsf0yf97gk487lzjdlvymd7dxdv9hy9"; + }; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=$(out)" ]; - buildInputs = [ libxcb xcbutilwm xcbutil ]; + buildInputs = [ + libxcb + xcbutilwm + xcbutil + ]; - meta = with lib; { - description = "Small X utility to perform elementary actions on windows"; - homepage = "https://github.com/baskerville/xdo"; - maintainers = with maintainers; [ meisternu ]; - license = licenses.bsd2; - platforms = platforms.linux; - mainProgram = "xdo"; - }; + meta = with lib; { + description = "Small X utility to perform elementary actions on windows"; + homepage = "https://github.com/baskerville/xdo"; + maintainers = with maintainers; [ meisternu ]; + license = licenses.bsd2; + platforms = platforms.linux; + mainProgram = "xdo"; + }; } diff --git a/pkgs/by-name/xd/xdotool/package.nix b/pkgs/by-name/xd/xdotool/package.nix index 55714f10f59ca..d6b44562a4f17 100644 --- a/pkgs/by-name/xd/xdotool/package.nix +++ b/pkgs/by-name/xd/xdotool/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, libX11, perl, libXtst, xorgproto, libXi, libXinerama, libxkbcommon, libXext }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + libX11, + perl, + libXtst, + xorgproto, + libXi, + libXinerama, + libxkbcommon, + libXext, +}: stdenv.mkDerivation rec { pname = "xdotool"; @@ -11,8 +24,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-XFiaiHHtUSNFw+xhUR29+2RUHOa+Eyj1HHfjCUjwd9k="; }; - nativeBuildInputs = [ pkg-config perl ]; - buildInputs = [ libX11 libXtst xorgproto libXi libXinerama libxkbcommon libXext ]; + nativeBuildInputs = [ + pkg-config + perl + ]; + buildInputs = [ + libX11 + libXtst + xorgproto + libXi + libXinerama + libxkbcommon + libXext + ]; preBuild = '' mkdir -p $out/lib diff --git a/pkgs/by-name/xd/xdummy/package.nix b/pkgs/by-name/xd/xdummy/package.nix index 227829346cd08..399226c7fc85f 100644 --- a/pkgs/by-name/xd/xdummy/package.nix +++ b/pkgs/by-name/xd/xdummy/package.nix @@ -1,5 +1,12 @@ -{ writeText, writeScriptBin, xorg, xkeyboard_config, runtimeShell -, unfreeFonts ? false, lib}: +{ + writeText, + writeScriptBin, + xorg, + xkeyboard_config, + runtimeShell, + unfreeFonts ? false, + lib, +}: let xorgConfig = writeText "dummy-xorg.conf" '' @@ -75,7 +82,8 @@ let EndSection ''; -in writeScriptBin "xdummy" '' +in +writeScriptBin "xdummy" '' #!${runtimeShell} exec ${xorg.xorgserver.out}/bin/Xorg \ -noreset \ diff --git a/pkgs/by-name/xd/xdxf2slob/package.nix b/pkgs/by-name/xd/xdxf2slob/package.nix index e23d68f8fccb6..6d1ad03f9f875 100644 --- a/pkgs/by-name/xd/xdxf2slob/package.nix +++ b/pkgs/by-name/xd/xdxf2slob/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication { pname = "xdxf2slob"; @@ -11,7 +15,10 @@ python3Packages.buildPythonApplication { sha256 = "0m3dnc3816ja3kmik1wabb706dkqdf5sxvabwgf2rcrq891xcddd"; }; - propagatedBuildInputs = [ python3Packages.pyicu python3Packages.slob ]; + propagatedBuildInputs = [ + python3Packages.pyicu + python3Packages.slob + ]; meta = with lib; { description = "Tool to convert XDXF dictionary files to slob format"; diff --git a/pkgs/by-name/xe/xe-guest-utilities/package.nix b/pkgs/by-name/xe/xe-guest-utilities/package.nix index 9ed390bc44489..4d63c8660ac39 100644 --- a/pkgs/by-name/xe/xe-guest-utilities/package.nix +++ b/pkgs/by-name/xe/xe-guest-utilities/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, runtimeShell +{ + lib, + buildGoModule, + fetchFromGitHub, + runtimeShell, }: buildGoModule rec { diff --git a/pkgs/by-name/xe/xe/package.nix b/pkgs/by-name/xe/xe/package.nix index 2d8fb2e98aea4..fc17f5411a7c4 100644 --- a/pkgs/by-name/xe/xe/package.nix +++ b/pkgs/by-name/xe/xe/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "xe"; diff --git a/pkgs/by-name/xe/xearth/package.nix b/pkgs/by-name/xe/xearth/package.nix index 206f7110fff96..d8b096e655806 100644 --- a/pkgs/by-name/xe/xearth/package.nix +++ b/pkgs/by-name/xe/xearth/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, imake, gccmakedep, libXt, libXext }: +{ + lib, + stdenv, + fetchurl, + imake, + gccmakedep, + libXt, + libXext, +}: stdenv.mkDerivation rec { pname = "xearth"; @@ -9,11 +17,24 @@ stdenv.mkDerivation rec { sha256 = "bcb1407cc35b3f6dd3606b2c6072273b6a912cbd9ed1ae22fb2d26694541309c"; }; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libXt libXext ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libXt + libXext + ]; - installFlags = [ "DESTDIR=$(out)/" "BINDIR=bin" "MANDIR=man/man1"]; - installTargets = [ "install" "install.man" ]; + installFlags = [ + "DESTDIR=$(out)/" + "BINDIR=bin" + "MANDIR=man/man1" + ]; + installTargets = [ + "install" + "install.man" + ]; meta = with lib; { description = "sets the X root window to an image of the Earth"; @@ -25,12 +46,12 @@ stdenv.mkDerivation rec { By default, xearth updates the displayed image every five minutes. ''; maintainers = [ maintainers.mafo ]; - license = { + license = { fullName = "xearth license"; url = "https://xearth.org/copyright.html"; free = true; }; - platforms=platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/xe/xed-editor/package.nix b/pkgs/by-name/xe/xed-editor/package.nix index 2a2093f7da855..ac50149c8ad1c 100644 --- a/pkgs/by-name/xe/xed-editor/package.nix +++ b/pkgs/by-name/xe/xed-editor/package.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, libxml2 -, libpeas -, glib -, gtk3 -, gtksourceview4 -, gspell -, xapp -, pkg-config -, python3 -, meson -, ninja -, versionCheckHook -, wrapGAppsHook3 -, intltool -, itstool +{ + stdenv, + lib, + fetchFromGitHub, + libxml2, + libpeas, + glib, + gtk3, + gtksourceview4, + gspell, + xapp, + pkg-config, + python3, + meson, + ninja, + versionCheckHook, + wrapGAppsHook3, + intltool, + itstool, }: stdenv.mkDerivation rec { @@ -64,7 +65,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/linuxmint/xed"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ tu-maurice bobby285271 ]; + maintainers = with maintainers; [ + tu-maurice + bobby285271 + ]; mainProgram = "xed"; }; } diff --git a/pkgs/by-name/xe/xed/package.nix b/pkgs/by-name/xe/xed/package.nix index 2918ae7f3fe82..1bb99548bb5ee 100644 --- a/pkgs/by-name/xe/xed/package.nix +++ b/pkgs/by-name/xe/xed/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages, llvmPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + llvmPackages, +}: let # mbuild is a custom build system used only to build xed @@ -14,7 +20,8 @@ let }; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "xed"; version = "2024.02.22"; @@ -25,7 +32,9 @@ in stdenv.mkDerivation rec { sha256 = "sha256-LF4iJ1/Z3OifCiir/kU3ufZqtiRLeaJeAwuBqP2BCF4="; }; - nativeBuildInputs = [ mbuild ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.bintools ]; + nativeBuildInputs = [ + mbuild + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.bintools ]; buildPhase = '' patchShebangs mfile.py @@ -42,9 +51,9 @@ in stdenv.mkDerivation rec { meta = with lib; { broken = stdenv.hostPlatform.isAarch64; description = "Intel X86 Encoder Decoder (Intel XED)"; - homepage = "https://intelxed.github.io/"; - license = licenses.asl20; - platforms = platforms.unix; + homepage = "https://intelxed.github.io/"; + license = licenses.asl20; + platforms = platforms.unix; maintainers = with maintainers; [ arturcygan ]; }; } diff --git a/pkgs/by-name/xe/xedit/package.nix b/pkgs/by-name/xe/xedit/package.nix index eb8f2ee925926..e2d2997cf38fe 100644 --- a/pkgs/by-name/xe/xedit/package.nix +++ b/pkgs/by-name/xe/xedit/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, pkg-config -, utilmacros -, libX11 -, libXaw -, libXmu -, libXt +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + utilmacros, + libX11, + libXaw, + libXmu, + libXt, }: stdenv.mkDerivation rec { @@ -29,7 +30,11 @@ stdenv.mkDerivation rec { done ''; - nativeBuildInputs = [ autoreconfHook pkg-config utilmacros ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + utilmacros + ]; buildInputs = [ libX11 libXaw diff --git a/pkgs/by-name/xe/xenomapper/package.nix b/pkgs/by-name/xe/xenomapper/package.nix index 98ee7c2819bec..212b5c7ef9dda 100644 --- a/pkgs/by-name/xe/xenomapper/package.nix +++ b/pkgs/by-name/xe/xenomapper/package.nix @@ -1,4 +1,8 @@ -{ python3, lib, fetchFromGitHub }: +{ + python3, + lib, + fetchFromGitHub, +}: python3.pkgs.buildPythonApplication rec { pname = "xenomapper"; diff --git a/pkgs/by-name/xe/xenon/package.nix b/pkgs/by-name/xe/xenon/package.nix index 2ecff603e7143..583036442ec3c 100644 --- a/pkgs/by-name/xe/xenon/package.nix +++ b/pkgs/by-name/xe/xenon/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchPypi -, python3 +{ + lib, + fetchPypi, + python3, }: let @@ -19,7 +20,11 @@ python3.pkgs.buildPythonApplication { doCheck = false; - propagatedBuildInputs = with python3.pkgs; [ requests radon pyaml ]; + propagatedBuildInputs = with python3.pkgs; [ + requests + radon + pyaml + ]; meta = with lib; { description = "Monitoring tool based on radon"; diff --git a/pkgs/by-name/xe/xeus-zmq/package.nix b/pkgs/by-name/xe/xeus-zmq/package.nix index 0e27aa511de2b..ae43741634581 100644 --- a/pkgs/by-name/xe/xeus-zmq/package.nix +++ b/pkgs/by-name/xe/xeus-zmq/package.nix @@ -1,14 +1,15 @@ -{ lib -, clangStdenv -, fetchFromGitHub -, cmake -, cppzmq -, libuuid -, nlohmann_json -, openssl -, xeus -, xtl -, zeromq +{ + lib, + clangStdenv, + fetchFromGitHub, + cmake, + cppzmq, + libuuid, + nlohmann_json, + openssl, + xeus, + xtl, + zeromq, }: clangStdenv.mkDerivation rec { diff --git a/pkgs/by-name/xe/xeus/package.nix b/pkgs/by-name/xe/xeus/package.nix index 9283f20c335f7..31d66347ee8ea 100644 --- a/pkgs/by-name/xe/xeus/package.nix +++ b/pkgs/by-name/xe/xeus/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doctest -, nlohmann_json -, libuuid -, xtl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doctest, + nlohmann_json, + libuuid, + xtl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xf/xf86_input_cmt/package.nix b/pkgs/by-name/xf/xf86_input_cmt/package.nix index a973f844fd4a0..80c8f895aa3d2 100644 --- a/pkgs/by-name/xf/xf86_input_cmt/package.nix +++ b/pkgs/by-name/xf/xf86_input_cmt/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, xorgserver, xorgproto, - utilmacros, libgestures, libevdevc }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + xorgserver, + xorgproto, + utilmacros, + libgestures, + libevdevc, +}: stdenv.mkDerivation rec { pname = "xf86-input-cmt"; @@ -18,8 +27,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - xorgserver xorgproto utilmacros - libgestures libevdevc + xorgserver + xorgproto + utilmacros + libgestures + libevdevc ]; configureFlags = [ diff --git a/pkgs/by-name/xf/xf86_input_wacom/package.nix b/pkgs/by-name/xf/xf86_input_wacom/package.nix index 6ffa743aa01eb..311c918aadcc2 100644 --- a/pkgs/by-name/xf/xf86_input_wacom/package.nix +++ b/pkgs/by-name/xf/xf86_input_wacom/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, xorgproto -, libX11 -, libXext -, libXi -, libXinerama -, libXrandr -, libXrender -, ncurses -, pixman -, pkg-config -, udev -, utilmacros -, xorgserver +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + xorgproto, + libX11, + libXext, + libXi, + libXinerama, + libXrandr, + libXrender, + ncurses, + pixman, + pkg-config, + udev, + utilmacros, + xorgserver, }: stdenv.mkDerivation rec { @@ -28,7 +29,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-0eDik4fhsg1HAL6lCZMll/0VAghpzMSHY0RoKxSOIbc="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libX11 diff --git a/pkgs/by-name/xf/xf86_video_nested/package.nix b/pkgs/by-name/xf/xf86_video_nested/package.nix index e922e18238613..46574326b3b68 100644 --- a/pkgs/by-name/xf/xf86_video_nested/package.nix +++ b/pkgs/by-name/xf/xf86_video_nested/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchgit, autoreconfHook, xorgproto, libX11, libXext -, pixman, pkg-config, utilmacros, xorgserver +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + xorgproto, + libX11, + libXext, + pixman, + pkg-config, + utilmacros, + xorgserver, }: stdenv.mkDerivation { @@ -12,12 +22,19 @@ stdenv.mkDerivation { sha256 = "133rd2kvr2q2wmwpx82bb93qbi8wm8qp1vlmbhgc7aslz0j4cqqv"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - buildInputs = - [ xorgproto libX11 libXext pixman - utilmacros xorgserver - ]; + buildInputs = [ + xorgproto + libX11 + libXext + pixman + utilmacros + xorgserver + ]; hardeningDisable = [ "fortify" ]; diff --git a/pkgs/by-name/xf/xfig/package.nix b/pkgs/by-name/xf/xfig/package.nix index 1929bff925fba..990bb00b1f61d 100644 --- a/pkgs/by-name/xf/xfig/package.nix +++ b/pkgs/by-name/xf/xfig/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, imagemagick -, libXpm -, libXmu -, libXi -, libXp -, Xaw3d -, libXaw -, libXft -, fig2dev +{ + lib, + stdenv, + fetchurl, + makeWrapper, + imagemagick, + libXpm, + libXmu, + libXi, + libXp, + Xaw3d, + libXaw, + libXft, + fig2dev, }: stdenv.mkDerivation rec { @@ -22,7 +23,10 @@ stdenv.mkDerivation rec { hash = "sha256-E+2dBNG7wt7AnafvSc7sJ4OC0pD2zZJkdMLy0Bb+wvc="; }; - nativeBuildInputs = [ imagemagick makeWrapper ]; + nativeBuildInputs = [ + imagemagick + makeWrapper + ]; buildInputs = [ libXpm @@ -66,6 +70,11 @@ stdenv.mkDerivation rec { Note that you need to have the netpbm tools in your path to export bitmaps. ''; - inherit (fig2dev.meta) license homepage platforms maintainers; + inherit (fig2dev.meta) + license + homepage + platforms + maintainers + ; }; } diff --git a/pkgs/by-name/xf/xfitter/package.nix b/pkgs/by-name/xf/xfitter/package.nix index e509f3a005f7e..7a5b9f902d314 100644 --- a/pkgs/by-name/xf/xfitter/package.nix +++ b/pkgs/by-name/xf/xfitter/package.nix @@ -1,24 +1,26 @@ -{ lib -, stdenv -, fetchurl -, apfel -, apfelgrid -, applgrid -, blas -, ceres-solver -, cmake -, gfortran -, gsl -, lapack -, lhapdf -, libtirpc -, libyaml -, yaml-cpp -, pkg-config -, qcdnum -, root -, zlib -, memorymappingHook, memstreamHook +{ + lib, + stdenv, + fetchurl, + apfel, + apfelgrid, + applgrid, + blas, + ceres-solver, + cmake, + gfortran, + gsl, + lapack, + lhapdf, + libtirpc, + libyaml, + yaml-cpp, + pkg-config, + qcdnum, + root, + zlib, + memorymappingHook, + memstreamHook, }: stdenv.mkDerivation rec { @@ -36,15 +38,38 @@ stdenv.mkDerivation rec { ./0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch ]; - nativeBuildInputs = [ cmake gfortran pkg-config ]; + nativeBuildInputs = [ + cmake + gfortran + pkg-config + ]; buildInputs = - [ apfel blas ceres-solver lhapdf lapack libyaml root qcdnum gsl yaml-cpp zlib ] - ++ lib.optionals ("5" == lib.versions.major root.version) [ apfelgrid applgrid ] - ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ] - ++ lib.optional (stdenv.hostPlatform.libc == "glibc") libtirpc - ; + [ + apfel + blas + ceres-solver + lhapdf + lapack + libyaml + root + qcdnum + gsl + yaml-cpp + zlib + ] + ++ lib.optionals ("5" == lib.versions.major root.version) [ + apfelgrid + applgrid + ] + ++ lib.optionals (stdenv.system == "x86_64-darwin") [ + memorymappingHook + memstreamHook + ] + ++ lib.optional (stdenv.hostPlatform.libc == "glibc") libtirpc; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "-I${libtirpc.dev}/include/tirpc"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.libc == "glibc" + ) "-I${libtirpc.dev}/include/tirpc"; NIX_LDFLAGS = lib.optional (stdenv.hostPlatform.libc == "glibc") "-ltirpc"; hardeningDisable = [ "format" ]; @@ -56,9 +81,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "XFitter project is an open source QCD fit framework ready to extract PDFs and assess the impact of new data"; - license = licenses.gpl3; - homepage = "https://www.xfitter.org/xFitter"; - platforms = platforms.unix; + license = licenses.gpl3; + homepage = "https://www.xfitter.org/xFitter"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/by-name/xf/xfontsel/package.nix b/pkgs/by-name/xf/xfontsel/package.nix index 203b94b0845fa..0b01c7f0cfc64 100644 --- a/pkgs/by-name/xf/xfontsel/package.nix +++ b/pkgs/by-name/xf/xfontsel/package.nix @@ -2,7 +2,14 @@ # at https://www.x.org/releases/individual/. # That is why this expression is not inside pkgs.xorg -{ lib, stdenv, fetchurl, makeWrapper, xorg, pkg-config }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + xorg, + pkg-config, +}: stdenv.mkDerivation rec { pname = "xfontsel"; @@ -13,9 +20,15 @@ stdenv.mkDerivation rec { sha256 = "0700lf6hx7dg88wq1yll7zjvf9gbwh06xff20yffkxb289y0pai5"; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; - buildInputs = [ xorg.libX11 xorg.libXaw ]; + buildInputs = [ + xorg.libX11 + xorg.libXaw + ]; # Without this, it gets Xmu as a dependency, but without rpath entry NIX_LDFLAGS = "-lXmu"; @@ -33,7 +46,11 @@ stdenv.mkDerivation rec { homepage = "https://www.x.org/"; description = "Allows testing the fonts available in an X server"; mainProgram = "xfontsel"; - license = with licenses; [ x11 smlnj mit ]; + license = with licenses; [ + x11 + smlnj + mit + ]; maintainers = [ ]; platforms = platforms.unix; }; diff --git a/pkgs/by-name/xf/xfractint/package.nix b/pkgs/by-name/xf/xfractint/package.nix index d4873dd926894..bd3c45d299b23 100644 --- a/pkgs/by-name/xf/xfractint/package.nix +++ b/pkgs/by-name/xf/xfractint/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, libX11, libXft}: +{ + lib, + stdenv, + fetchurl, + libX11, + libXft, +}: stdenv.mkDerivation rec { pname = "xfractint"; version = "20.04p16"; @@ -8,20 +14,23 @@ stdenv.mkDerivation rec { sha256 = "1ba77jifxv8jql044mdydh4p4ms4w5vw3qrqmcfzlvqfxk7h2m2f"; }; - buildInputs = [libX11 libXft]; + buildInputs = [ + libX11 + libXft + ]; configurePhase = '' sed -e 's@/usr/bin/@@' -i Makefile ''; - makeFlags = ["PREFIX=$(out)"]; + makeFlags = [ "PREFIX=$(out)" ]; meta = { description = ""; # Code cannot be used in commercial programs # Looks like the definition hinges on the price, not license license = lib.licenses.unfree; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; homepage = "https://www.fractint.net/"; mainProgram = "xfractint"; diff --git a/pkgs/by-name/xf/xfs-undelete/package.nix b/pkgs/by-name/xf/xfs-undelete/package.nix index 030f3324fc59c..18d0b9070ae4f 100644 --- a/pkgs/by-name/xf/xfs-undelete/package.nix +++ b/pkgs/by-name/xf/xfs-undelete/package.nix @@ -1,28 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, coreutils -, tcl-8_6 -, tclPackages -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + tcl-8_6, + tclPackages, + installShellFiles, }: stdenv.mkDerivation { pname = "xfs_undelete"; version = "unstable-2023-04-12"; - src = fetchFromGitHub { + src = fetchFromGitHub { repo = "xfs_undelete"; owner = "ianka"; rev = "9e2f7abf0d3a466328e335d251c567ce4194e473"; hash = "sha256-ENa/r3+o7abW8iun6V/2LhTVmFVSwVM6v46KXBcKJ1g="; }; - buildInputs = [ tcl-8_6 tclPackages.tcllib coreutils ]; - nativeBuildInputs = [ makeWrapper tcl-8_6.tclPackageHook installShellFiles ]; - - tclWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath [ tcl-8_6 ]) ]; + buildInputs = [ + tcl-8_6 + tclPackages.tcllib + coreutils + ]; + nativeBuildInputs = [ + makeWrapper + tcl-8_6.tclPackageHook + installShellFiles + ]; + + tclWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ tcl-8_6 ]) + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/xf/xfsdump/package.nix b/pkgs/by-name/xf/xfsdump/package.nix index a6867e3c0a5fe..0ba301046c30e 100644 --- a/pkgs/by-name/xf/xfsdump/package.nix +++ b/pkgs/by-name/xf/xfsdump/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, attr -, gettext -, autoconf -, automake -, ncurses -, libtool -, libuuid -, libxfs +{ + lib, + stdenv, + fetchurl, + attr, + gettext, + autoconf, + automake, + ncurses, + libtool, + libuuid, + libxfs, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xf/xfsprogs/package.nix b/pkgs/by-name/xf/xfsprogs/package.nix index 9ac968d7a76e7..86cc97764b9f2 100644 --- a/pkgs/by-name/xf/xfsprogs/package.nix +++ b/pkgs/by-name/xf/xfsprogs/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, buildPackages, fetchurl, gettext, pkg-config -, icu, libuuid, readline, inih, liburcu -, nixosTests +{ + lib, + stdenv, + buildPackages, + fetchurl, + gettext, + pkg-config, + icu, + libuuid, + readline, + inih, + liburcu, + nixosTests, }: stdenv.mkDerivation rec { @@ -12,15 +22,26 @@ stdenv.mkDerivation rec { hash = "sha256-CDJAckfbeRzHDe+W5+JUvW7fBD3ISoCmLzzNbj3/0yk="; }; - outputs = [ "bin" "dev" "out" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "doc" + ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ - gettext pkg-config + gettext + pkg-config libuuid # codegen tool uses libuuid liburcu # required by crc32selftest ]; - buildInputs = [ readline icu inih liburcu ]; + buildInputs = [ + readline + icu + inih + liburcu + ]; propagatedBuildInputs = [ libuuid ]; # Dev headers include enableParallelBuilding = true; @@ -59,8 +80,15 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://xfs.wiki.kernel.org"; description = "SGI XFS utilities"; - license = with licenses; [ gpl2Only lgpl21 gpl3Plus ]; # see https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/tree/debian/copyright + license = with licenses; [ + gpl2Only + lgpl21 + gpl3Plus + ]; # see https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/tree/debian/copyright platforms = platforms.linux; - maintainers = with maintainers; [ dezgeg ajs124 ]; + maintainers = with maintainers; [ + dezgeg + ajs124 + ]; }; } diff --git a/pkgs/by-name/xf/xfstests/package.nix b/pkgs/by-name/xf/xfstests/package.nix index aed576f7d34af..6e3fa6fdb4848 100644 --- a/pkgs/by-name/xf/xfstests/package.nix +++ b/pkgs/by-name/xf/xfstests/package.nix @@ -1,7 +1,36 @@ -{ stdenv, acl, attr, autoconf, automake, bash, bc, coreutils, e2fsprogs -, fetchzip, fio, gawk, keyutils, killall, lib, libaio, libcap, libtool -, libuuid, libxfs, lvm2, openssl, perl, procps, quota -, time, util-linux, which, writeScript, xfsprogs, runtimeShell }: +{ + stdenv, + acl, + attr, + autoconf, + automake, + bash, + bc, + coreutils, + e2fsprogs, + fetchzip, + fio, + gawk, + keyutils, + killall, + lib, + libaio, + libcap, + libtool, + libuuid, + libxfs, + lvm2, + openssl, + perl, + procps, + quota, + time, + util-linux, + which, + writeScript, + xfsprogs, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "xfstests"; @@ -13,10 +42,19 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoconf automake libtool + autoconf + automake + libtool ]; buildInputs = [ - acl attr gawk libaio libuuid libxfs openssl perl + acl + attr + gawk + libaio + libuuid + libxfs + openssl + perl ]; hardeningDisable = [ "format" ]; @@ -94,9 +132,26 @@ stdenv.mkDerivation rec { ln -s @out@/lib/xfstests/$f $f done - export PATH=${lib.makeBinPath [acl attr bc e2fsprogs fio gawk keyutils - libcap lvm2 perl procps killall quota - util-linux which xfsprogs]}:$PATH + export PATH=${ + lib.makeBinPath [ + acl + attr + bc + e2fsprogs + fio + gawk + keyutils + libcap + lvm2 + perl + procps + killall + quota + util-linux + which + xfsprogs + ] + }:$PATH exec ./check "$@" ''; diff --git a/pkgs/by-name/xg/xgalagapp/package.nix b/pkgs/by-name/xg/xgalagapp/package.nix index 9b2bd5a9af736..8afd7f29f069d 100644 --- a/pkgs/by-name/xg/xgalagapp/package.nix +++ b/pkgs/by-name/xg/xgalagapp/package.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, libX11 -, libXpm +{ + lib, + stdenv, + fetchurl, + libX11, + libXpm, }: stdenv.mkDerivation rec { pname = "xgalaga++"; version = "0.9"; src = fetchurl { - url = "https://marc.mongenet.ch/OSS/XGalaga/xgalaga++_${version}.tar.gz"; + url = "https://marc.mongenet.ch/OSS/XGalaga/xgalaga++_${version}.tar.gz"; sha256 = "sha256-yNtLuYCMHLvQAVM7CDGPardrh3q27TE9l31qhUbMf8k="; }; diff --git a/pkgs/by-name/xg/xgboost/package.nix b/pkgs/by-name/xg/xgboost/package.nix index c294551eef50a..ef167e4f6770d 100644 --- a/pkgs/by-name/xg/xgboost/package.nix +++ b/pkgs/by-name/xg/xgboost/package.nix @@ -1,19 +1,20 @@ -{ config -, stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, gtest -, doCheck ? true -, autoAddDriverRunpath -, cudaSupport ? config.cudaSupport -, ncclSupport ? false -, rLibrary ? false -, cudaPackages -, llvmPackages -, R -, rPackages +{ + config, + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + gtest, + doCheck ? true, + autoAddDriverRunpath, + cudaSupport ? config.cudaSupport, + ncclSupport ? false, + rLibrary ? false, + cudaPackages, + llvmPackages, + R, + rPackages, }@inputs: assert ncclSupport -> (cudaSupport && !cudaPackages.nccl.meta.unsupported); @@ -59,19 +60,23 @@ effectiveStdenv.mkDerivation rec { }; patches = lib.optionals (cudaSupport && cudaPackages.cudaMajorMinorVersion == "12.4") [ - (fetchpatch { # https://github.com/dmlc/xgboost/pull/10123 + (fetchpatch { + # https://github.com/dmlc/xgboost/pull/10123 name = "Fix compilation with the ctk 12.4."; url = "https://github.com/dmlc/xgboost/commit/c760f85db0bc7bd6379901fbfb67ceccc2b37700.patch"; hash = "sha256-iP9mll9pg8T2ztCR7dBPnLP17/x3ImJFrr5G3e2dqHo="; }) ]; - nativeBuildInputs = [ cmake ] + nativeBuildInputs = + [ cmake ] ++ lib.optionals effectiveStdenv.hostPlatform.isDarwin [ llvmPackages.openmp ] ++ lib.optionals cudaSupport [ autoAddDriverRunpath ] ++ lib.optionals rLibrary [ R ]; - buildInputs = [ gtest ] ++ lib.optional cudaSupport cudaPackages.cudatoolkit + buildInputs = + [ gtest ] + ++ lib.optional cudaSupport cudaPackages.cudatoolkit ++ lib.optional ncclSupport cudaPackages.nccl; propagatedBuildInputs = lib.optionals rLibrary [ @@ -80,14 +85,16 @@ effectiveStdenv.mkDerivation rec { rPackages.Matrix ]; - cmakeFlags = lib.optionals doCheck [ "-DGOOGLE_TEST=ON" ] + cmakeFlags = + lib.optionals doCheck [ "-DGOOGLE_TEST=ON" ] ++ lib.optionals cudaSupport [ - "-DUSE_CUDA=ON" - # Their CMakeLists.txt does not respect CUDA_HOST_COMPILER, instead using the CXX compiler. - # https://github.com/dmlc/xgboost/blob/ccf43d4ba0a94e2f0a3cc5a526197539ae46f410/CMakeLists.txt#L145 - "-DCMAKE_C_COMPILER=${effectiveStdenv.cc}/bin/gcc" - "-DCMAKE_CXX_COMPILER=${effectiveStdenv.cc}/bin/g++" - ] ++ lib.optionals ncclSupport [ "-DUSE_NCCL=ON" ] + "-DUSE_CUDA=ON" + # Their CMakeLists.txt does not respect CUDA_HOST_COMPILER, instead using the CXX compiler. + # https://github.com/dmlc/xgboost/blob/ccf43d4ba0a94e2f0a3cc5a526197539ae46f410/CMakeLists.txt#L145 + "-DCMAKE_C_COMPILER=${effectiveStdenv.cc}/bin/gcc" + "-DCMAKE_CXX_COMPILER=${effectiveStdenv.cc}/bin/g++" + ] + ++ lib.optionals ncclSupport [ "-DUSE_NCCL=ON" ] ++ lib.optionals rLibrary [ "-DR_LIB=ON" ]; preConfigure = lib.optionals rLibrary '' @@ -100,9 +107,7 @@ effectiveStdenv.mkDerivation rec { # By default, cmake build will run ctests with all checks enabled # If we're building with cuda, we run ctest manually so that we can skip the GPU tests checkPhase = lib.optionalString cudaSupport '' - ctest --force-new-ctest-process ${ - lib.optionalString cudaSupport "-E TestXGBoostLib" - } + ctest --force-new-ctest-process ${lib.optionalString cudaSupport "-E TestXGBoostLib"} ''; # Disable finicky tests from dmlc core that fail in Hydra. XGboost team @@ -126,7 +131,8 @@ effectiveStdenv.mkDerivation rec { + lib.optionalString rLibrary '' mkdir -p $out/library export R_LIBS_SITE="$out/library:$R_LIBS_SITE''${R_LIBS_SITE:+:}" - '' + '' + '' + + '' cmake --install . cp -r ../rabit/include/rabit $out/include runHook postInstall @@ -139,13 +145,15 @@ effectiveStdenv.mkDerivation rec { ''; meta = with lib; { - description = - "Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library"; + description = "Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library"; homepage = "https://github.com/dmlc/xgboost"; broken = cudaSupport && cudaPackages.cudaOlder "11.4"; license = licenses.asl20; mainProgram = "xgboost"; platforms = platforms.unix; - maintainers = with maintainers; [ abbradar nviets ]; + maintainers = with maintainers; [ + abbradar + nviets + ]; }; } diff --git a/pkgs/by-name/xg/xgeometry-select/package.nix b/pkgs/by-name/xg/xgeometry-select/package.nix index 005bf302cc342..8021917d8e505 100644 --- a/pkgs/by-name/xg/xgeometry-select/package.nix +++ b/pkgs/by-name/xg/xgeometry-select/package.nix @@ -1,11 +1,16 @@ -{ lib, stdenv, fetchurl, libX11 }: +{ + lib, + stdenv, + fetchurl, + libX11, +}: stdenv.mkDerivation rec { pname = "xgeometry-select"; - version = "0.1"; + version = "0.1"; src = fetchurl { - url = "https://gist.githubusercontent.com/obadz/7e008b1f803c4cdcfaf7321c78bcbe92/raw/7e7361e71ff0f74655ee92bd6d2c042f8586f2ae/xgeometry-select.c"; + url = "https://gist.githubusercontent.com/obadz/7e008b1f803c4cdcfaf7321c78bcbe92/raw/7e7361e71ff0f74655ee92bd6d2c042f8586f2ae/xgeometry-select.c"; sha256 = "0s7kirgh5iz91m3qy8xiq0j4gljy8zrcnylf4szl5h0lrsaqj7ya"; }; @@ -24,9 +29,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Select a region with mouse and prints geometry information (x/y/w/h)"; - homepage = "https://bbs.archlinux.org/viewtopic.php?pid=660837"; + homepage = "https://bbs.archlinux.org/viewtopic.php?pid=660837"; maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; + platforms = platforms.linux; mainProgram = "xgeometry-select"; }; } diff --git a/pkgs/by-name/xh/xh/package.nix b/pkgs/by-name/xh/xh/package.nix index 679a162a54e2d..eea4a464476e9 100644 --- a/pkgs/by-name/xh/xh/package.nix +++ b/pkgs/by-name/xh/xh/package.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, withNativeTls ? true -, stdenv -, darwin -, openssl +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + withNativeTls ? true, + stdenv, + darwin, + openssl, }: rustPlatform.buildRustPackage rec { @@ -24,10 +25,17 @@ rustPlatform.buildRustPackage rec { buildFeatures = lib.optional withNativeTls "native-tls"; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; - buildInputs = lib.optionals withNativeTls - (if stdenv.hostPlatform.isDarwin then [ darwin.apple_sdk.frameworks.SystemConfiguration ] else [ openssl ]); + buildInputs = lib.optionals withNativeTls ( + if stdenv.hostPlatform.isDarwin then + [ darwin.apple_sdk.frameworks.SystemConfiguration ] + else + [ openssl ] + ); # Get openssl-sys to use pkg-config OPENSSL_NO_VENDOR = 1; @@ -59,7 +67,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/ducaale/xh"; changelog = "https://github.com/ducaale/xh/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda aaronjheng ]; + maintainers = with maintainers; [ + figsoda + aaronjheng + ]; mainProgram = "xh"; }; } diff --git a/pkgs/by-name/xh/xhosts/package.nix b/pkgs/by-name/xh/xhosts/package.nix index ba6b5a184d3f7..c3974cbd0344f 100644 --- a/pkgs/by-name/xh/xhosts/package.nix +++ b/pkgs/by-name/xh/xhosts/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage { diff --git a/pkgs/by-name/xh/xhtml1/package.nix b/pkgs/by-name/xh/xhtml1/package.nix index 9a81fbb6e1b44..6de0a0e3369d5 100644 --- a/pkgs/by-name/xh/xhtml1/package.nix +++ b/pkgs/by-name/xh/xhtml1/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libxml2 }: +{ + lib, + stdenv, + fetchurl, + libxml2, +}: stdenv.mkDerivation { pname = "xhtml1"; @@ -11,19 +16,18 @@ stdenv.mkDerivation { nativeBuildInputs = [ libxml2 ]; - installPhase = - '' - mkdir -p $out/xml/dtd/xhtml1 - cp DTD/*.ent DTD/*.dtd $out/xml/dtd/xhtml1 + installPhase = '' + mkdir -p $out/xml/dtd/xhtml1 + cp DTD/*.ent DTD/*.dtd $out/xml/dtd/xhtml1 - # Generate an XML catalog. - cat=$out/xml/dtd/xhtml1/catalog.xml - xmlcatalog --noout --create $cat - grep PUBLIC DTD/*.soc | while read x; do - eval a=($x) - xmlcatalog --noout --add public "''${a[1]}" "''${a[2]}" $cat - done - ''; # */ + # Generate an XML catalog. + cat=$out/xml/dtd/xhtml1/catalog.xml + xmlcatalog --noout --create $cat + grep PUBLIC DTD/*.soc | while read x; do + eval a=($x) + xmlcatalog --noout --add public "''${a[1]}" "''${a[2]}" $cat + done + ''; # */ meta = { homepage = "https://www.w3.org/TR/xhtml1/"; diff --git a/pkgs/by-name/xi/xib2nib/package.nix b/pkgs/by-name/xi/xib2nib/package.nix index 56f1e28783434..8fee6dbfd1a73 100644 --- a/pkgs/by-name/xi/xib2nib/package.nix +++ b/pkgs/by-name/xi/xib2nib/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, plistcpp -, pugixml +{ + lib, + stdenv, + fetchFromGitHub, + boost, + plistcpp, + pugixml, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/xi/xiccd/package.nix b/pkgs/by-name/xi/xiccd/package.nix index 4ffb5b689e3ba..30fa495d71a03 100644 --- a/pkgs/by-name/xi/xiccd/package.nix +++ b/pkgs/by-name/xi/xiccd/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libX11, libXrandr, glib, colord }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libX11, + libXrandr, + glib, + colord, +}: stdenv.mkDerivation rec { pname = "xiccd"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { sha256 = "159fyz5535lcabi5bzmxgmjdgxlqcjaiqgzr00mi3ax0i5fdldwn"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libX11 libXrandr glib colord ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libX11 + libXrandr + glib + colord + ]; meta = with lib; { description = "X color profile daemon"; diff --git a/pkgs/by-name/xi/xidel/package.nix b/pkgs/by-name/xi/xidel/package.nix index 6119151e5294d..1edaab585d00a 100644 --- a/pkgs/by-name/xi/xidel/package.nix +++ b/pkgs/by-name/xi/xidel/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, fpc, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + fpc, + openssl, +}: let flreSrc = fetchFromGitHub { @@ -31,7 +37,8 @@ let rev = "1696f0a2b822fef26c8992f96620f1be129cfa99"; hash = "sha256-x0AjOTa1g7gJOR2iBO76yBt1kzcRNujHRUsq5QOlfP0="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "xidel"; version = "unstable-2022-11-01"; diff --git a/pkgs/by-name/xi/xilinx-bootgen/package.nix b/pkgs/by-name/xi/xilinx-bootgen/package.nix index 9190d87986a1c..eb0bd3f025caf 100644 --- a/pkgs/by-name/xi/xilinx-bootgen/package.nix +++ b/pkgs/by-name/xi/xilinx-bootgen/package.nix @@ -37,7 +37,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/Xilinx/bootgen"; license = lib.licenses.asl20; platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.flokli lib.maintainers.jmbaur ]; + maintainers = [ + lib.maintainers.flokli + lib.maintainers.jmbaur + ]; mainProgram = "bootgen"; }; }) diff --git a/pkgs/by-name/xi/xinetd/package.nix b/pkgs/by-name/xi/xinetd/package.nix index 9abef85bde297..9deff58cf1d21 100644 --- a/pkgs/by-name/xi/xinetd/package.nix +++ b/pkgs/by-name/xi/xinetd/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libtirpc +{ + lib, + stdenv, + fetchurl, + pkg-config, + libtirpc, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/xi/xinput_calibrator/package.nix b/pkgs/by-name/xi/xinput_calibrator/package.nix index aee42ac6a0922..e54ab099c8749 100644 --- a/pkgs/by-name/xi/xinput_calibrator/package.nix +++ b/pkgs/by-name/xi/xinput_calibrator/package.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, libXi, xorgproto, autoconf, automake, libtool, m4, pkg-config, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + libXi, + xorgproto, + autoconf, + automake, + libtool, + m4, + pkg-config, + xorg, +}: stdenv.mkDerivation rec { pname = "xinput_calibrator"; @@ -13,8 +25,19 @@ stdenv.mkDerivation rec { preConfigure = "./autogen.sh --with-gui=X11"; - nativeBuildInputs = [ pkg-config autoconf automake ]; - buildInputs = [ xorgproto libXi libtool m4 xorg.libX11 xorg.libXext ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; + buildInputs = [ + xorgproto + libXi + libtool + m4 + xorg.libX11 + xorg.libXext + ]; meta = { homepage = "https://github.com/tias/xinput_calibrator"; diff --git a/pkgs/by-name/xi/xiphos/package.nix b/pkgs/by-name/xi/xiphos/package.nix index b6b01ae0770f6..79d713ddb2fb0 100644 --- a/pkgs/by-name/xi/xiphos/package.nix +++ b/pkgs/by-name/xi/xiphos/package.nix @@ -1,31 +1,32 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, appstream-glib -, biblesync -, cmake -, dbus-glib -, desktop-file-utils -, docbook2x -, docbook_xml_dtd_412 -, enchant2 -, glib -, gtk3 -, gtkhtml -, icu -, intltool -, isocodes -, itstool -, libuuid -, libxslt -, minizip -, pkg-config -, sword -, webkitgtk_4_0 -, wrapGAppsHook3 -, yelp-tools -, zip +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + appstream-glib, + biblesync, + cmake, + dbus-glib, + desktop-file-utils, + docbook2x, + docbook_xml_dtd_412, + enchant2, + glib, + gtk3, + gtkhtml, + icu, + intltool, + isocodes, + itstool, + libuuid, + libxslt, + minizip, + pkg-config, + sword, + webkitgtk_4_0, + wrapGAppsHook3, + yelp-tools, + zip, }: stdenv.mkDerivation rec { @@ -43,7 +44,7 @@ stdenv.mkDerivation rec { # GLIB_VERSION_MIN_REQUIRED is not defined. # https://github.com/crosswire/xiphos/issues/1083#issuecomment-820304874 (fetchpatch { - name ="xiphos-glibc.patch"; + name = "xiphos-glibc.patch"; url = "https://aur.archlinux.org/cgit/aur.git/plain/xiphos-glibc.patch?h=xiphos&id=bb816f43ba764ffac1287ab1e2a649c2443e3ce8"; sha256 = "he3U7phU2/QCrZidHviupA7YwzudnQ9Jbb8eMZw6/ck="; extraPrefix = ""; @@ -89,7 +90,7 @@ stdenv.mkDerivation rec { "-DGTKHTML=ON" ]; - preConfigure = '' + preConfigure = '' # The build script won't continue without the version saved locally. echo "${version}" > cmake/source_version.txt diff --git a/pkgs/by-name/xi/xits-math/package.nix b/pkgs/by-name/xi/xits-math/package.nix index 9e3c013f44ded..d997fad5d11fb 100644 --- a/pkgs/by-name/xi/xits-math/package.nix +++ b/pkgs/by-name/xi/xits-math/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages}: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, +}: stdenv.mkDerivation rec { pname = "xits-math"; @@ -11,7 +16,14 @@ stdenv.mkDerivation rec { sha256 = "1x3r505dylz9rz8dj98h5n9d0zixyxmvvhnjnms9qxdrz9bxy9g1"; }; - nativeBuildInputs = (with python3Packages; [ python fonttools fontforge ]); + nativeBuildInputs = ( + with python3Packages; + [ + python + fonttools + fontforge + ] + ); postPatch = '' rm *.otf diff --git a/pkgs/by-name/xi/xiu/package.nix b/pkgs/by-name/xi/xiu/package.nix index fe5ab564e9f71..2d24acd34efb4 100644 --- a/pkgs/by-name/xi/xiu/package.nix +++ b/pkgs/by-name/xi/xiu/package.nix @@ -1,12 +1,13 @@ -{ lib -, cmake -, darwin -, fetchFromGitHub -, libopus -, openssl -, pkg-config -, rustPlatform -, stdenv +{ + lib, + cmake, + darwin, + fetchFromGitHub, + libopus, + openssl, + pkg-config, + rustPlatform, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -27,13 +28,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libopus - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + libopus + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/xi/xivlauncher/deps.nix b/pkgs/by-name/xi/xivlauncher/deps.nix index fa65ff3a7d1f3..b15c62316984b 100644 --- a/pkgs/by-name/xi/xivlauncher/deps.nix +++ b/pkgs/by-name/xi/xivlauncher/deps.nix @@ -1,233 +1,1146 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Castle.Core"; version = "4.4.1"; sha256 = "13dja1jxl5zwhi0ghkgvgmqdrixn57f9hk52jy5vpaaakzr550r7"; }) - (fetchNuGet { pname = "CheapLoc"; version = "1.1.6"; sha256 = "1m6cgx9yh7h3vrq2d4f99xyvsxc9jvz8zjq1q14qgylfmyq4hx4l"; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; }) - (fetchNuGet { pname = "Config.Net"; version = "4.19.0"; sha256 = "17iv0vy0693s6d8626lbz3w1ppn5abn77aaki7h4qi4izysizgim"; }) - (fetchNuGet { pname = "Downloader"; version = "2.2.8"; sha256 = "0farwh3pc6m8hsgqywigdpcb4gr2m9myyxm2idzjmhhkzfqghj28"; }) - (fetchNuGet { pname = "goaaats.Steamworks"; version = "2.3.4"; sha256 = "1khxkkjvh6af60rxc13bacxn85amdfzr8z0b9a6gfg6m1fnmlkss"; }) - (fetchNuGet { pname = "ImGui.NET"; version = "1.87.2"; sha256 = "0rv0n18fvz1gbh45crhzn1f8xw8zkc8qyiyj91vajjcry8mq1x7q"; }) - (fetchNuGet { pname = "KeySharp"; version = "1.0.5"; sha256 = "1ic10v0a174fw6w89iyg4yzji36bsj15573y676cj5n09n6s75d4"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.0.1"; sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.0.1"; sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "6.0.0"; sha256 = "06zy947m5lrbwb684g42ijb07r5jsqycvfnphc6cqfdrfnzqv6k9"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "7.0.0"; sha256 = "1rl5zi8s213g70nvqfacf50ff8vqvaj8i7jxv0gjw2hkz73dg4h1"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "2.0.3"; sha256 = "020214swxm0hip1d9gjskrzmqzjnji7c6l5b3xcch8vp166066m9"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "2.0.3"; sha256 = "0dpyjp0hy9kkvk2dd4dclfmb10yq5avsw2a6v8nra9g6ii2p1nla"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "6.0.0-preview.5.21301.5"; sha256 = "02712s86n2i8s5j6vxdayqwcc7r538yw3frhf1gfrc6ah6hvqnzc"; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) - (fetchNuGet { pname = "Mono.Cecil"; version = "0.9.6.1"; sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; }) - (fetchNuGet { pname = "NativeLibraryLoader"; version = "1.0.13"; sha256 = "18vi5gpa243jvz8cixyhbbrccj4js5sc8g4gy10ldjy50szrpnqh"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; }) - (fetchNuGet { pname = "PInvoke.Kernel32"; version = "0.7.124"; sha256 = "0n1245s2p5735n8xgmahrx7g8mw32pxdn4rr9dydb9r6mvgm9bhk"; }) - (fetchNuGet { pname = "PInvoke.Windows.Core"; version = "0.7.124"; sha256 = "16qkn91gh3aiab2330q5j1vlx2ni4m4kkz04dvsqlm8lr7ldizlz"; }) - (fetchNuGet { pname = "PolySharp"; version = "1.10.0"; sha256 = "06qici3hhk6a0jmy0nyvspcnmhbapnic6iin3i28pkdvrii02hnz"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) - (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "Serilog"; version = "2.12.0"; sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; }) - (fetchNuGet { pname = "Serilog.Enrichers.Sensitive"; version = "1.7.2"; sha256 = "1f3r4jrfiz47vnvy7m0w6d8280nhhna67xwbagx1i557m9qvjssg"; }) - (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; }) - (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.5.0"; sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "3.1.1"; sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.0.1"; sha256 = "080vh9kcyn9lx4j7p34146kp9byvhqlaz5jn9wzx70ql9cwd0hlz"; }) - (fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "1.0.1"; sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22"; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) - (fetchNuGet { pname = "SharedMemory"; version = "2.3.2"; sha256 = "078qaab0j8p2fjcc9n7r4sr5pr7567a9bspfiikkc85bsx7vfm8w"; }) - (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.0.0-beta.13"; sha256 = "1250z6sa9ghf84czlkzvaysb29c0n229z1f0vh5qls89akrkl7h8"; }) - (fetchNuGet { pname = "SharpGen.Runtime.COM"; version = "2.0.0-beta.13"; sha256 = "1lmv3jp2g7mgy9j23pd3j0wr3p89qiq8v6c6qxqf688izyni1166"; }) - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) - (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; }) - (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; }) - (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; }) - (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; }) - (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) - (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) - (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.7.0"; sha256 = "0l8jpxhpgjlf1nkz5lvp61r4kfdbhr29qi8aapcxn3izd9wd0j8r"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0-preview.5.21301.5"; sha256 = "131f3z3ikv3n8442chr11nj4x46amq00mb53pb2ds42dabldkdgy"; }) - (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; }) - (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "6.0.0-preview.5.21301.5"; sha256 = "1q3iikvjcfrm5p89p1j7qlw1szvryq680qypk023wgy9phmlwi57"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "6.0.6"; sha256 = "0bkfrnr9618brbl1gvhyqrf5720syawf9dvpk8xfvkxbg7imlpjx"; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) - (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; }) - (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; }) - (fetchNuGet { pname = "Veldrid"; version = "4.9.0"; sha256 = "0l1sqz0jinw6d5rxhjaavckgmv1b8cc909crjjc9wvf7hp70gzmg"; }) - (fetchNuGet { pname = "Veldrid.ImageSharp"; version = "4.9.0"; sha256 = "0w1wvfhkf85c81chpcqlln41kzi2rk49pw6imyypqhpvsi1nw9n6"; }) - (fetchNuGet { pname = "Veldrid.MetalBindings"; version = "4.9.0"; sha256 = "1zd04q70fdlxsy045yk4pj499n8vl9qdcr86vj9wj4qq1jmd8pr3"; }) - (fetchNuGet { pname = "Veldrid.OpenGLBindings"; version = "4.9.0"; sha256 = "06cjfrzig75lms930861339v35y96n421236318pjad9jmwhac74"; }) - (fetchNuGet { pname = "Veldrid.SDL2"; version = "4.9.0"; sha256 = "0cm5jx24wvzk88mip68n34sfg7psdjiyng7pf01g67blz56rlzhl"; }) - (fetchNuGet { pname = "Veldrid.StartupUtilities"; version = "4.9.0"; sha256 = "10b62ni8ihbnb213rkpw38n1gpk0blli9cb8agihml7za41x3b4y"; }) - (fetchNuGet { pname = "Vk"; version = "1.0.25"; sha256 = "18kx3g088215803yznnmf6621wgwvgakj8hlmrb726b7zwb3x53l"; }) - (fetchNuGet { pname = "Vortice.D3DCompiler"; version = "2.3.0"; sha256 = "08an0z9xk6vqz2cdyhmbvvg7nzk7r1vcn0jp4c986s2sqk9jv5dj"; }) - (fetchNuGet { pname = "Vortice.Direct3D11"; version = "2.3.0"; sha256 = "05lgnkjslcsyrxg206cy9s33qlxj7cb3v47x4accp4p7f6v7k6lr"; }) - (fetchNuGet { pname = "Vortice.DirectX"; version = "2.3.0"; sha256 = "07inc3msd3baizx03is5djbw6jg9ihzx7dxvalsdz4n7b61lli3h"; }) - (fetchNuGet { pname = "Vortice.DXGI"; version = "2.3.0"; sha256 = "0j47ywcs1rq8q4hjj0axchjv08dnvyd33yy4nxilz4synyiidf77"; }) - (fetchNuGet { pname = "Vortice.Mathematics"; version = "1.4.25"; sha256 = "0vl6g087disxyzskvkbnwym74s47lkza0ly3nk4y0y88zibcggrj"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Castle.Core"; + version = "4.4.1"; + sha256 = "13dja1jxl5zwhi0ghkgvgmqdrixn57f9hk52jy5vpaaakzr550r7"; + }) + (fetchNuGet { + pname = "CheapLoc"; + version = "1.1.6"; + sha256 = "1m6cgx9yh7h3vrq2d4f99xyvsxc9jvz8zjq1q14qgylfmyq4hx4l"; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; + }) + (fetchNuGet { + pname = "Config.Net"; + version = "4.19.0"; + sha256 = "17iv0vy0693s6d8626lbz3w1ppn5abn77aaki7h4qi4izysizgim"; + }) + (fetchNuGet { + pname = "Downloader"; + version = "2.2.8"; + sha256 = "0farwh3pc6m8hsgqywigdpcb4gr2m9myyxm2idzjmhhkzfqghj28"; + }) + (fetchNuGet { + pname = "goaaats.Steamworks"; + version = "2.3.4"; + sha256 = "1khxkkjvh6af60rxc13bacxn85amdfzr8z0b9a6gfg6m1fnmlkss"; + }) + (fetchNuGet { + pname = "ImGui.NET"; + version = "1.87.2"; + sha256 = "0rv0n18fvz1gbh45crhzn1f8xw8zkc8qyiyj91vajjcry8mq1x7q"; + }) + (fetchNuGet { + pname = "KeySharp"; + version = "1.0.5"; + sha256 = "1ic10v0a174fw6w89iyg4yzji36bsj15573y676cj5n09n6s75d4"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "6.0.0"; + sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.3"; + sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; + version = "3.3.3"; + sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.0.1"; + sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.0.1"; + sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.NetAnalyzers"; + version = "6.0.0"; + sha256 = "06zy947m5lrbwb684g42ijb07r5jsqycvfnphc6cqfdrfnzqv6k9"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.NetAnalyzers"; + version = "7.0.0"; + sha256 = "1rl5zi8s213g70nvqfacf50ff8vqvaj8i7jxv0gjw2hkz73dg4h1"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.0.1"; + sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.PlatformAbstractions"; + version = "2.0.3"; + sha256 = "020214swxm0hip1d9gjskrzmqzjnji7c6l5b3xcch8vp166066m9"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "2.0.3"; + sha256 = "0dpyjp0hy9kkvk2dd4dclfmb10yq5avsw2a6v8nra9g6ii2p1nla"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "6.0.0-preview.5.21301.5"; + sha256 = "02712s86n2i8s5j6vxdayqwcc7r538yw3frhf1gfrc6ah6hvqnzc"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "6.0.0"; + sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; + }) + (fetchNuGet { + pname = "Mono.Cecil"; + version = "0.9.6.1"; + sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; + }) + (fetchNuGet { + pname = "NativeLibraryLoader"; + version = "1.0.13"; + sha256 = "18vi5gpa243jvz8cixyhbbrccj4js5sc8g4gy10ldjy50szrpnqh"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "1.6.1"; + sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "12.0.2"; + sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "9.0.1"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }) + (fetchNuGet { + pname = "PInvoke.Kernel32"; + version = "0.7.124"; + sha256 = "0n1245s2p5735n8xgmahrx7g8mw32pxdn4rr9dydb9r6mvgm9bhk"; + }) + (fetchNuGet { + pname = "PInvoke.Windows.Core"; + version = "0.7.124"; + sha256 = "16qkn91gh3aiab2330q5j1vlx2ni4m4kkz04dvsqlm8lr7ldizlz"; + }) + (fetchNuGet { + pname = "PolySharp"; + version = "1.10.0"; + sha256 = "06qici3hhk6a0jmy0nyvspcnmhbapnic6iin3i28pkdvrii02hnz"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.0.0"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Console"; + version = "4.3.0"; + sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.12.0"; + sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; + }) + (fetchNuGet { + pname = "Serilog.Enrichers.Sensitive"; + version = "1.7.2"; + sha256 = "1f3r4jrfiz47vnvy7m0w6d8280nhhna67xwbagx1i557m9qvjssg"; + }) + (fetchNuGet { + pname = "Serilog.Enrichers.Thread"; + version = "3.1.0"; + sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Async"; + version = "1.5.0"; + sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "3.1.1"; + sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "4.0.1"; + sha256 = "080vh9kcyn9lx4j7p34146kp9byvhqlaz5jn9wzx70ql9cwd0hlz"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Debug"; + version = "1.0.1"; + sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "5.0.0"; + sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; + }) + (fetchNuGet { + pname = "SharedMemory"; + version = "2.3.2"; + sha256 = "078qaab0j8p2fjcc9n7r4sr5pr7567a9bspfiikkc85bsx7vfm8w"; + }) + (fetchNuGet { + pname = "SharpGen.Runtime"; + version = "2.0.0-beta.13"; + sha256 = "1250z6sa9ghf84czlkzvaysb29c0n229z1f0vh5qls89akrkl7h8"; + }) + (fetchNuGet { + pname = "SharpGen.Runtime.COM"; + version = "2.0.0-beta.13"; + sha256 = "1lmv3jp2g7mgy9j23pd3j0wr3p89qiq8v6c6qxqf688izyni1166"; + }) + (fetchNuGet { + pname = "SixLabors.ImageSharp"; + version = "1.0.4"; + sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.1.0"; + sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.4.0"; + sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; + }) + (fetchNuGet { + pname = "System.Collections.NonGeneric"; + version = "4.3.0"; + sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; + }) + (fetchNuGet { + pname = "System.Collections.Specialized"; + version = "4.3.0"; + sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; + }) + (fetchNuGet { + pname = "System.ComponentModel"; + version = "4.3.0"; + sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; + }) + (fetchNuGet { + pname = "System.ComponentModel.Primitives"; + version = "4.3.0"; + sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; + }) + (fetchNuGet { + pname = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "6.0.0"; + sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.0.1"; + sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; + }) + (fetchNuGet { + pname = "System.Diagnostics.TraceSource"; + version = "4.3.0"; + sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "6.0.0"; + sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.0.11"; + sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; + }) + (fetchNuGet { + pname = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.1.0"; + sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.0"; + sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; + }) + (fetchNuGet { + pname = "System.Net.NameResolution"; + version = "4.3.0"; + sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + pname = "System.Net.Sockets"; + version = "4.3.0"; + sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.0.12"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.7.0"; + sha256 = "0l8jpxhpgjlf1nkz5lvp61r4kfdbhr29qi8aapcxn3izd9wd0j8r"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.7.0"; + sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.4.0"; + sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.0"; + sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.3"; + sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0"; + sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "6.0.0"; + sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "6.0.0-preview.5.21301.5"; + sha256 = "131f3z3ikv3n8442chr11nj4x46amq00mb53pb2ds42dabldkdgy"; + }) + (fetchNuGet { + pname = "System.Security.Claims"; + version = "4.3.0"; + sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "6.0.0"; + sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "6.0.0"; + sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; + }) + (fetchNuGet { + pname = "System.Security.Principal"; + version = "4.3.0"; + sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.3.0"; + sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "6.0.0-preview.5.21301.5"; + sha256 = "1q3iikvjcfrm5p89p1j7qlw1szvryq680qypk023wgy9phmlwi57"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "6.0.0"; + sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "6.0.6"; + sha256 = "0bkfrnr9618brbl1gvhyqrf5720syawf9dvpk8xfvkxbg7imlpjx"; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.1.0"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.3.0"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; + }) + (fetchNuGet { + pname = "System.Threading.ThreadPool"; + version = "4.3.0"; + sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; + }) + (fetchNuGet { + pname = "System.Threading.Timer"; + version = "4.3.0"; + sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; + }) + (fetchNuGet { + pname = "System.Windows.Extensions"; + version = "6.0.0"; + sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.0.11"; + sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.3.0"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }) + (fetchNuGet { + pname = "Veldrid"; + version = "4.9.0"; + sha256 = "0l1sqz0jinw6d5rxhjaavckgmv1b8cc909crjjc9wvf7hp70gzmg"; + }) + (fetchNuGet { + pname = "Veldrid.ImageSharp"; + version = "4.9.0"; + sha256 = "0w1wvfhkf85c81chpcqlln41kzi2rk49pw6imyypqhpvsi1nw9n6"; + }) + (fetchNuGet { + pname = "Veldrid.MetalBindings"; + version = "4.9.0"; + sha256 = "1zd04q70fdlxsy045yk4pj499n8vl9qdcr86vj9wj4qq1jmd8pr3"; + }) + (fetchNuGet { + pname = "Veldrid.OpenGLBindings"; + version = "4.9.0"; + sha256 = "06cjfrzig75lms930861339v35y96n421236318pjad9jmwhac74"; + }) + (fetchNuGet { + pname = "Veldrid.SDL2"; + version = "4.9.0"; + sha256 = "0cm5jx24wvzk88mip68n34sfg7psdjiyng7pf01g67blz56rlzhl"; + }) + (fetchNuGet { + pname = "Veldrid.StartupUtilities"; + version = "4.9.0"; + sha256 = "10b62ni8ihbnb213rkpw38n1gpk0blli9cb8agihml7za41x3b4y"; + }) + (fetchNuGet { + pname = "Vk"; + version = "1.0.25"; + sha256 = "18kx3g088215803yznnmf6621wgwvgakj8hlmrb726b7zwb3x53l"; + }) + (fetchNuGet { + pname = "Vortice.D3DCompiler"; + version = "2.3.0"; + sha256 = "08an0z9xk6vqz2cdyhmbvvg7nzk7r1vcn0jp4c986s2sqk9jv5dj"; + }) + (fetchNuGet { + pname = "Vortice.Direct3D11"; + version = "2.3.0"; + sha256 = "05lgnkjslcsyrxg206cy9s33qlxj7cb3v47x4accp4p7f6v7k6lr"; + }) + (fetchNuGet { + pname = "Vortice.DirectX"; + version = "2.3.0"; + sha256 = "07inc3msd3baizx03is5djbw6jg9ihzx7dxvalsdz4n7b61lli3h"; + }) + (fetchNuGet { + pname = "Vortice.DXGI"; + version = "2.3.0"; + sha256 = "0j47ywcs1rq8q4hjj0axchjv08dnvyd33yy4nxilz4synyiidf77"; + }) + (fetchNuGet { + pname = "Vortice.Mathematics"; + version = "1.4.25"; + sha256 = "0vl6g087disxyzskvkbnwym74s47lkza0ly3nk4y0y88zibcggrj"; + }) ] diff --git a/pkgs/by-name/xi/xivlauncher/package.nix b/pkgs/by-name/xi/xivlauncher/package.nix index 5eeb5fb5738be..444f186926ab0 100644 --- a/pkgs/by-name/xi/xivlauncher/package.nix +++ b/pkgs/by-name/xi/xivlauncher/package.nix @@ -1,87 +1,125 @@ -{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages, SDL2, libsecret, glib, gnutls, aria2, steam, gst_all_1 -, copyDesktopItems, makeDesktopItem, makeWrapper -, useSteamRun ? true }: +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + SDL2, + libsecret, + glib, + gnutls, + aria2, + steam, + gst_all_1, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + useSteamRun ? true, +}: let rev = "1.1.1"; in - buildDotnetModule rec { - pname = "XIVLauncher"; - version = rev; +buildDotnetModule rec { + pname = "XIVLauncher"; + version = rev; - src = fetchFromGitHub { - owner = "goatcorp"; - repo = "XIVLauncher.Core"; - inherit rev; - hash = "sha256-gXec5Btnm/9M7jgPdrnLn8im0jCdLCJjsEBPpuCNz2I="; - fetchSubmodules = true; - }; + src = fetchFromGitHub { + owner = "goatcorp"; + repo = "XIVLauncher.Core"; + inherit rev; + hash = "sha256-gXec5Btnm/9M7jgPdrnLn8im0jCdLCJjsEBPpuCNz2I="; + fetchSubmodules = true; + }; - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; - buildInputs = with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]; + buildInputs = with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav + ]; - projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj"; - nugetDeps = ./deps.nix; # File generated with `nix-build -A xivlauncher.passthru.fetch-deps` + projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj"; + nugetDeps = ./deps.nix; # File generated with `nix-build -A xivlauncher.passthru.fetch-deps` - # please do not unpin these even if they match the defaults, xivlauncher is sensitive to .NET versions - dotnet-sdk = dotnetCorePackages.sdk_8_0; - dotnet-runtime = dotnetCorePackages.runtime_8_0; + # please do not unpin these even if they match the defaults, xivlauncher is sensitive to .NET versions + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; - dotnetFlags = [ - "-p:BuildHash=${rev}" - "-p:PublishSingleFile=false" - ]; + dotnetFlags = [ + "-p:BuildHash=${rev}" + "-p:PublishSingleFile=false" + ]; - postPatch = '' - substituteInPlace lib/FFXIVQuickLauncher/src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/AriaHttpPatchAcquisition.cs \ - --replace-fail 'ariaPath = "aria2c"' 'ariaPath = "${aria2}/bin/aria2c"' - ''; + postPatch = '' + substituteInPlace lib/FFXIVQuickLauncher/src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/AriaHttpPatchAcquisition.cs \ + --replace-fail 'ariaPath = "aria2c"' 'ariaPath = "${aria2}/bin/aria2c"' + ''; - postInstall = '' - mkdir -p $out/share/pixmaps - cp src/XIVLauncher.Core/Resources/logo.png $out/share/pixmaps/xivlauncher.png - ''; + postInstall = '' + mkdir -p $out/share/pixmaps + cp src/XIVLauncher.Core/Resources/logo.png $out/share/pixmaps/xivlauncher.png + ''; - postFixup = lib.optionalString useSteamRun (let - steam-run = (steam.override { - extraPkgs = pkgs: [ pkgs.libunwind ]; - extraProfile = '' - unset TZ - ''; - }).run; - in '' - substituteInPlace $out/bin/XIVLauncher.Core \ - --replace-fail 'exec' 'exec ${steam-run}/bin/steam-run' - '') + '' + postFixup = + lib.optionalString useSteamRun ( + let + steam-run = + (steam.override { + extraPkgs = pkgs: [ pkgs.libunwind ]; + extraProfile = '' + unset TZ + ''; + }).run; + in + '' + substituteInPlace $out/bin/XIVLauncher.Core \ + --replace-fail 'exec' 'exec ${steam-run}/bin/steam-run' + '' + ) + + '' wrapProgram $out/bin/XIVLauncher.Core --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0" # the reference to aria2 gets mangled as UTF-16LE and isn't detectable by nix: https://github.com/NixOS/nixpkgs/issues/220065 mkdir -p $out/nix-support echo ${aria2} >> $out/nix-support/depends ''; - executables = [ "XIVLauncher.Core" ]; + executables = [ "XIVLauncher.Core" ]; - runtimeDeps = [ SDL2 libsecret glib gnutls ]; + runtimeDeps = [ + SDL2 + libsecret + glib + gnutls + ]; - desktopItems = [ - (makeDesktopItem { - name = "xivlauncher"; - exec = "XIVLauncher.Core"; - icon = "xivlauncher"; - desktopName = "XIVLauncher"; - comment = meta.description; - categories = [ "Game" ]; - startupWMClass = "XIVLauncher.Core"; - }) - ]; + desktopItems = [ + (makeDesktopItem { + name = "xivlauncher"; + exec = "XIVLauncher.Core"; + icon = "xivlauncher"; + desktopName = "XIVLauncher"; + comment = meta.description; + categories = [ "Game" ]; + startupWMClass = "XIVLauncher.Core"; + }) + ]; - meta = with lib; { - description = "Custom launcher for FFXIV"; - homepage = "https://github.com/goatcorp/XIVLauncher.Core"; - license = licenses.gpl3; - maintainers = with maintainers; [ sersorrel witchof0x20 ]; - platforms = [ "x86_64-linux" ]; - mainProgram = "XIVLauncher.Core"; - }; - } + meta = with lib; { + description = "Custom launcher for FFXIV"; + homepage = "https://github.com/goatcorp/XIVLauncher.Core"; + license = licenses.gpl3; + maintainers = with maintainers; [ + sersorrel + witchof0x20 + ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "XIVLauncher.Core"; + }; +} diff --git a/pkgs/by-name/xj/xjadeo/package.nix b/pkgs/by-name/xj/xjadeo/package.nix index 7abb717f00cd0..6ba651e7244ae 100644 --- a/pkgs/by-name/xj/xjadeo/package.nix +++ b/pkgs/by-name/xj/xjadeo/package.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg, freetype, libGLU -, libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }: +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + ffmpeg, + freetype, + libGLU, + libjack2, + liblo, + libX11, + libXv, + pkg-config, + portmidi, + xorg, +}: stdenv.mkDerivation rec { pname = "xjadeo"; @@ -12,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-GTg0W3D0BRSxsmeVsB4On3MfwncScEGFJGVJK7wflCM="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ ffmpeg diff --git a/pkgs/by-name/xj/xjobs/package.nix b/pkgs/by-name/xj/xjobs/package.nix index d2c5a44df5214..da6cbc2885803 100644 --- a/pkgs/by-name/xj/xjobs/package.nix +++ b/pkgs/by-name/xj/xjobs/package.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchurl -, flex, installShellFiles, ncurses, which +{ + lib, + stdenv, + fetchurl, + flex, + installShellFiles, + ncurses, + which, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xj/xjump/package.nix b/pkgs/by-name/xj/xjump/package.nix index 4d7e9fe717594..aed50689aedaf 100644 --- a/pkgs/by-name/xj/xjump/package.nix +++ b/pkgs/by-name/xj/xjump/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libX11, libXt, libXpm, libXaw, localStateDir?null }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libX11, + libXt, + libXpm, + libXaw, + localStateDir ? null, +}: stdenv.mkDerivation { pname = "xjump"; @@ -9,11 +20,19 @@ stdenv.mkDerivation { rev = "e7f20fb8c2c456bed70abb046c1a966462192b80"; sha256 = "0hq4739cvi5a47pxdc0wwkj2lmlqbf1xigq0v85qs5bq3ixmq2f7"; }; - nativeBuildInputs = [ autoconf automake ]; - buildInputs = [ libX11 libXt libXpm libXaw ]; + nativeBuildInputs = [ + autoconf + automake + ]; + buildInputs = [ + libX11 + libXt + libXpm + libXaw + ]; preConfigure = "autoreconf --install"; patches = lib.optionals stdenv.buildPlatform.isDarwin [ ./darwin.patch ]; - configureFlags = lib.optionals (localStateDir != null) ["--localstatedir=${localStateDir}"]; + configureFlags = lib.optionals (localStateDir != null) [ "--localstatedir=${localStateDir}" ]; meta = with lib; { description = "Falling tower game"; diff --git a/pkgs/by-name/xk/xkb-switch-i3/package.nix b/pkgs/by-name/xk/xkb-switch-i3/package.nix index 3e7fc33c72d17..bf7954c782b71 100644 --- a/pkgs/by-name/xk/xkb-switch-i3/package.nix +++ b/pkgs/by-name/xk/xkb-switch-i3/package.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, cmake -, fetchFromGitHub -, i3 -, jsoncpp -, libsigcxx -, libX11 -, libxkbfile -, pkg-config +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + i3, + jsoncpp, + libsigcxx, + libX11, + libxkbfile, + pkg-config, }: stdenv.mkDerivation rec { @@ -21,8 +23,17 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ i3 jsoncpp libsigcxx libX11 libxkbfile ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + i3 + jsoncpp + libsigcxx + libX11 + libxkbfile + ]; meta = with lib; { description = "Switch your X keyboard layouts from the command line(i3 edition)"; diff --git a/pkgs/by-name/xk/xkb-switch/package.nix b/pkgs/by-name/xk/xkb-switch/package.nix index 7db5925322346..8ecfe8d4ef5f6 100644 --- a/pkgs/by-name/xk/xkb-switch/package.nix +++ b/pkgs/by-name/xk/xkb-switch/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libX11, libxkbfile }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libX11, + libxkbfile, +}: stdenv.mkDerivation rec { pname = "xkb-switch"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libX11 libxkbfile ]; + buildInputs = [ + libX11 + libxkbfile + ]; meta = with lib; { description = "Switch your X keyboard layouts from the command line"; diff --git a/pkgs/by-name/xk/xkbd/package.nix b/pkgs/by-name/xk/xkbd/package.nix index df7d0f0e61cc5..ef41440659a66 100644 --- a/pkgs/by-name/xk/xkbd/package.nix +++ b/pkgs/by-name/xk/xkbd/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, freetype, libXrender, libXft, xorgproto -, xinput, libXi, libXext, libXtst, libXpm, libX11, autoreconfHook +{ + lib, + stdenv, + fetchFromGitHub, + freetype, + libXrender, + libXft, + xorgproto, + xinput, + libXi, + libXext, + libXtst, + libXpm, + libX11, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -14,8 +27,16 @@ stdenv.mkDerivation rec { }; buildInputs = [ - freetype libXrender libXft libXext libXtst libXpm libX11 - libXi xorgproto xinput + freetype + libXrender + libXft + libXext + libXtst + libXpm + libX11 + libXi + xorgproto + xinput ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/xk/xkblayout-state/package.nix b/pkgs/by-name/xk/xkblayout-state/package.nix index 10bd1961f09c1..85798f9021847 100644 --- a/pkgs/by-name/xk/xkblayout-state/package.nix +++ b/pkgs/by-name/xk/xkblayout-state/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, +}: stdenv.mkDerivation rec { pname = "xkblayout-state"; diff --git a/pkgs/by-name/xk/xkbmon/package.nix b/pkgs/by-name/xk/xkbmon/package.nix index f9394c45342cb..a6cef8a63a077 100644 --- a/pkgs/by-name/xk/xkbmon/package.nix +++ b/pkgs/by-name/xk/xkbmon/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, +}: stdenv.mkDerivation rec { pname = "xkbmon"; diff --git a/pkgs/by-name/xk/xkbset/package.nix b/pkgs/by-name/xk/xkbset/package.nix index 9c4bc81744fa5..668c801acd548 100644 --- a/pkgs/by-name/xk/xkbset/package.nix +++ b/pkgs/by-name/xk/xkbset/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, libX11 }: +{ + lib, + stdenv, + fetchurl, + perl, + libX11, +}: stdenv.mkDerivation rec { pname = "xkbset"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-rAMv7EnExPDyMY0/RhiXDFFBkbFC4GxRpmH+I0KlNaU="; }; - buildInputs = [ perl libX11 ]; + buildInputs = [ + perl + libX11 + ]; postPatch = '' sed "s:^X11PREFIX=.*:X11PREFIX=$out:" -i Makefile diff --git a/pkgs/by-name/xk/xkbvalidate/package.nix b/pkgs/by-name/xk/xkbvalidate/package.nix index b39e697f77414..b12390c1baa29 100644 --- a/pkgs/by-name/xk/xkbvalidate/package.nix +++ b/pkgs/by-name/xk/xkbvalidate/package.nix @@ -1,16 +1,22 @@ -{ lib, runCommandCC, libxkbcommon }: +{ + lib, + runCommandCC, + libxkbcommon, +}: -runCommandCC "xkbvalidate" { - buildInputs = [ libxkbcommon ]; - meta = { - description = "NixOS tool to validate X keyboard configuration"; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - maintainers = [ lib.maintainers.aszlig ]; - mainProgram = "xkbvalidate"; - }; -} '' - mkdir -p "$out/bin" - $CC -std=c11 -Wall -pedantic -lxkbcommon ${./xkbvalidate.c} \ - -o "$out/bin/xkbvalidate" -'' +runCommandCC "xkbvalidate" + { + buildInputs = [ libxkbcommon ]; + meta = { + description = "NixOS tool to validate X keyboard configuration"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.aszlig ]; + mainProgram = "xkbvalidate"; + }; + } + '' + mkdir -p "$out/bin" + $CC -std=c11 -Wall -pedantic -lxkbcommon ${./xkbvalidate.c} \ + -o "$out/bin/xkbvalidate" + '' diff --git a/pkgs/by-name/xk/xkcd-font/package.nix b/pkgs/by-name/xk/xkcd-font/package.nix index 003ddcc7da90f..8e7d5be28f2f5 100644 --- a/pkgs/by-name/xk/xkcd-font/package.nix +++ b/pkgs/by-name/xk/xkcd-font/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "xkcd-font"; diff --git a/pkgs/by-name/xk/xkeysnail/package.nix b/pkgs/by-name/xk/xkeysnail/package.nix index 2d66405904f66..3ab9d84f54810 100644 --- a/pkgs/by-name/xk/xkeysnail/package.nix +++ b/pkgs/by-name/xk/xkeysnail/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, makeWrapper, python3Packages }: +{ + lib, + fetchFromGitHub, + makeWrapper, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "xkeysnail"; diff --git a/pkgs/by-name/xl/xl2tpd/package.nix b/pkgs/by-name/xl/xl2tpd/package.nix index 3b0ee699ff320..9921812ed5cc5 100644 --- a/pkgs/by-name/xl/xl2tpd/package.nix +++ b/pkgs/by-name/xl/xl2tpd/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, libpcap, ppp }: +{ + lib, + stdenv, + fetchFromGitHub, + libpcap, + ppp, +}: stdenv.mkDerivation rec { pname = "xl2tpd"; diff --git a/pkgs/by-name/xl/xlayoutdisplay/package.nix b/pkgs/by-name/xl/xlayoutdisplay/package.nix index 5ab9ca0b86ff1..ada5154833625 100644 --- a/pkgs/by-name/xl/xlayoutdisplay/package.nix +++ b/pkgs/by-name/xl/xlayoutdisplay/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, xorg, boost, gtest }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + xorg, + boost, + gtest, +}: stdenv.mkDerivation rec { pname = "xlayoutdisplay"; @@ -12,7 +20,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = with xorg; [ libX11 libXrandr libXcursor boost ]; + buildInputs = with xorg; [ + libX11 + libXrandr + libXcursor + boost + ]; nativeCheckInputs = [ gtest ]; doCheck = true; diff --git a/pkgs/by-name/xl/xld/package.nix b/pkgs/by-name/xl/xld/package.nix index 2567e377a886b..54941de427c3d 100644 --- a/pkgs/by-name/xl/xld/package.nix +++ b/pkgs/by-name/xl/xld/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchurl -, undmg -, writeShellApplication -, curl -, xmlstarlet -, common-updater-scripts +{ + lib, + stdenvNoCC, + fetchurl, + undmg, + writeShellApplication, + curl, + xmlstarlet, + common-updater-scripts, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -22,13 +23,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { sourceRoot = "."; installPhase = '' - runHook preInstall + runHook preInstall - mkdir -p "$out/Applications" "$out/bin" - cp -r *.app "$out/Applications" - cp -r CLI/xld "$out/bin" + mkdir -p "$out/Applications" "$out/bin" + cp -r *.app "$out/Applications" + cp -r CLI/xld "$out/bin" - runHook postInstall + runHook postInstall ''; postPatch = '' diff --git a/pkgs/by-name/xl/xlibinput-calibrator/package.nix b/pkgs/by-name/xl/xlibinput-calibrator/package.nix index 3d5faba1c63c2..2fc3a5640d01a 100644 --- a/pkgs/by-name/xl/xlibinput-calibrator/package.nix +++ b/pkgs/by-name/xl/xlibinput-calibrator/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 -, libXi -, libXrandr -, txt2man +{ + lib, + stdenv, + fetchFromGitHub, + libX11, + libXi, + libXrandr, + txt2man, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xl/xlife/package.nix b/pkgs/by-name/xl/xlife/package.nix index 482134269d2b2..e6f58c5da24a7 100644 --- a/pkgs/by-name/xl/xlife/package.nix +++ b/pkgs/by-name/xl/xlife/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchsvn, xorg }: +{ + lib, + stdenv, + fetchsvn, + xorg, +}: stdenv.mkDerivation { pname = "xlife"; @@ -10,7 +15,10 @@ stdenv.mkDerivation { sha256 = "1gadlcp32s179kd7ypxr8cymd6s060p6z4c2vnx94i8bmiw3nn8h"; }; - nativeBuildInputs = with xorg; [ imake gccmakedep ]; + nativeBuildInputs = with xorg; [ + imake + gccmakedep + ]; buildInputs = [ xorg.libX11 ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/xl/xlights/package.nix b/pkgs/by-name/xl/xlights/package.nix index 173e47248b8ec..81f6b886d83cc 100644 --- a/pkgs/by-name/xl/xlights/package.nix +++ b/pkgs/by-name/xl/xlights/package.nix @@ -1,4 +1,8 @@ -{ lib, appimageTools, fetchurl }: +{ + lib, + appimageTools, + fetchurl, +}: appimageTools.wrapType2 rec { pname = "xlights"; diff --git a/pkgs/by-name/xl/xloadimage/package.nix b/pkgs/by-name/xl/xloadimage/package.nix index c3ef05b0a7745..cc83ec9b3c74c 100644 --- a/pkgs/by-name/xl/xloadimage/package.nix +++ b/pkgs/by-name/xl/xloadimage/package.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchurl -, libX11 -, libXt - -, libjpeg ? null -, libpng ? null -, libtiff ? null - -, withJpegSupport ? true -, withPngSupport ? true -, withTiffSupport ? true +{ + lib, + stdenv, + fetchurl, + libX11, + libXt, + + libjpeg ? null, + libpng ? null, + libtiff ? null, + + withJpegSupport ? true, + withPngSupport ? true, + withTiffSupport ? true, }: assert withJpegSupport -> libjpeg != null; @@ -33,15 +35,20 @@ stdenv.mkDerivation rec { sha256 = "17k518vrdrya5c9dqhpmm4g0h2vlkq1iy87sg2ngzygypbli1xvn"; }; - buildInputs = [ - libX11 libXt - ] ++ lib.optionals withJpegSupport [ - libjpeg - ] ++ lib.optionals withPngSupport [ - libpng - ] ++ lib.optionals withTiffSupport [ - libtiff - ]; + buildInputs = + [ + libX11 + libXt + ] + ++ lib.optionals withJpegSupport [ + libjpeg + ] + ++ lib.optionals withPngSupport [ + libpng + ] + ++ lib.optionals withTiffSupport [ + libtiff + ]; # NOTE: we patch the build-info script so that it never detects the utilities # it's trying to find; one of the Debian patches adds support for @@ -83,6 +90,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = [ ]; - platforms = lib.platforms.linux; # arbitrary choice + platforms = lib.platforms.linux; # arbitrary choice }; } diff --git a/pkgs/by-name/xl/xlog/package.nix b/pkgs/by-name/xl/xlog/package.nix index 7c7d5f574a3fb..5b3d66411233e 100644 --- a/pkgs/by-name/xl/xlog/package.nix +++ b/pkgs/by-name/xl/xlog/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, glib, gtk2, pkg-config, hamlib }: +{ + lib, + stdenv, + fetchurl, + glib, + gtk2, + pkg-config, + hamlib, +}: stdenv.mkDerivation rec { pname = "xlog"; version = "2.0.25"; @@ -12,7 +20,11 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib gtk2 hamlib ]; + buildInputs = [ + glib + gtk2 + hamlib + ]; meta = with lib; { description = "Amateur radio logging program"; diff --git a/pkgs/by-name/xl/xlogo/package.nix b/pkgs/by-name/xl/xlogo/package.nix index 8ca1bbb30d8bb..0650a184bdd1b 100644 --- a/pkgs/by-name/xl/xlogo/package.nix +++ b/pkgs/by-name/xl/xlogo/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitLab -, xorg -, autoreconfHook -, pkg-config -, xorg-autoconf +{ + lib, + stdenv, + fetchFromGitLab, + xorg, + autoreconfHook, + pkg-config, + xorg-autoconf, }: stdenv.mkDerivation rec { @@ -20,11 +21,22 @@ stdenv.mkDerivation rec { hash = "sha256-KjJhuiFVn34vEZbC7ds4MrcXCHq9PcIpAuaCGBX/EXc="; }; - nativeBuildInputs = [ xorg-autoconf autoreconfHook pkg-config ]; + nativeBuildInputs = [ + xorg-autoconf + autoreconfHook + pkg-config + ]; configureFlags = [ "--with-appdefaultdir=$out/share/X11/app-defaults" ]; - buildInputs = [ xorg.libX11 xorg.libXext xorg.libSM xorg.libXmu xorg.libXaw xorg.libXt ]; + buildInputs = [ + xorg.libX11 + xorg.libXext + xorg.libSM + xorg.libXmu + xorg.libXaw + xorg.libXt + ]; meta = with lib; { description = "X Window System logo display demo"; diff --git a/pkgs/by-name/xl/xlslib/package.nix b/pkgs/by-name/xl/xlslib/package.nix index 77a11b5311007..175e91617bd36 100644 --- a/pkgs/by-name/xl/xlslib/package.nix +++ b/pkgs/by-name/xl/xlslib/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoreconfHook, unzip }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + unzip, +}: stdenv.mkDerivation rec { pname = "xlslib"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1wx3jbpkz2rvgs45x6mwawamd1b2llb0vn29b5sr0rfxzx9d1985"; }; - nativeBuildInputs = [ unzip autoreconfHook ]; + nativeBuildInputs = [ + unzip + autoreconfHook + ]; setSourceRoot = "export sourceRoot=xlslib/xlslib"; diff --git a/pkgs/by-name/xm/xmacro/package.nix b/pkgs/by-name/xm/xmacro/package.nix index a3f97cccad31f..abfa4fca97e92 100644 --- a/pkgs/by-name/xm/xmacro/package.nix +++ b/pkgs/by-name/xm/xmacro/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libX11, libXtst, xorgproto, libXi }: +{ + lib, + stdenv, + fetchurl, + libX11, + libXtst, + xorgproto, + libXi, +}: stdenv.mkDerivation rec { pname = "xmacro"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { preInstall = "echo -e 'install:\n mkdir \${out}/bin;\n cp xmacrorec2 xmacroplay \${out}/bin;' >>Makefile; "; - buildInputs = [ libX11 libXtst xorgproto libXi ]; + buildInputs = [ + libX11 + libXtst + xorgproto + libXi + ]; meta = { platforms = lib.platforms.linux; diff --git a/pkgs/by-name/xm/xmage/package.nix b/pkgs/by-name/xm/xmage/package.nix index 656eee3ce6171..31b4b0aa883c3 100644 --- a/pkgs/by-name/xm/xmage/package.nix +++ b/pkgs/by-name/xm/xmage/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, jdk8 -, unzrip +{ + lib, + stdenv, + fetchurl, + jdk8, + unzrip, }: stdenv.mkDerivation (finalAttrs: { @@ -20,30 +21,34 @@ stdenv.mkDerivation (finalAttrs: { ${unzrip}/bin/unzrip $src ''; - installPhase = let - # upstream maintainers forgot to update version, so manual override for now - # strVersion = lib.substring 0 6 finalAttrs.version; - strVersion = "1.4.50"; + installPhase = + let + # upstream maintainers forgot to update version, so manual override for now + # strVersion = lib.substring 0 6 finalAttrs.version; + strVersion = "1.4.50"; - in '' - mkdir -p $out/bin - cp -rv ./* $out + in + '' + mkdir -p $out/bin + cp -rv ./* $out - cat << EOS > $out/bin/xmage - exec ${jdk8}/bin/java -Xms256m -Xmx1024m -XX:MaxPermSize=384m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar $out/xmage/mage-client/lib/mage-client-${strVersion}.jar - EOS + cat << EOS > $out/bin/xmage + exec ${jdk8}/bin/java -Xms256m -Xmx1024m -XX:MaxPermSize=384m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar $out/xmage/mage-client/lib/mage-client-${strVersion}.jar + EOS - chmod +x $out/bin/xmage - ''; + chmod +x $out/bin/xmage + ''; meta = with lib; { description = "Magic Another Game Engine"; mainProgram = "xmage"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mit; - maintainers = with maintainers; [ matthiasbeyer abueide ]; + maintainers = with maintainers; [ + matthiasbeyer + abueide + ]; homepage = "http://xmage.de/"; }; }) - diff --git a/pkgs/by-name/xm/xmagnify/package.nix b/pkgs/by-name/xm/xmagnify/package.nix index 38450c745ee28..d5703b46c2272 100644 --- a/pkgs/by-name/xm/xmagnify/package.nix +++ b/pkgs/by-name/xm/xmagnify/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, libX11, xorgproto }: +{ + lib, + stdenv, + fetchFromGitLab, + libX11, + xorgproto, +}: stdenv.mkDerivation rec { pname = "xmagnify"; @@ -13,12 +19,15 @@ stdenv.mkDerivation rec { prePatch = "substituteInPlace ./Makefile --replace /usr $out"; - buildInputs = [ libX11 xorgproto ]; + buildInputs = [ + libX11 + xorgproto + ]; meta = with lib; { description = "Tiny screen magnifier for X11"; homepage = "https://gitlab.com/amiloradovsky/magnify"; - license = licenses.mit; # or GPL2+, optionally + license = licenses.mit; # or GPL2+, optionally maintainers = with maintainers; [ amiloradovsky ]; mainProgram = "magnify"; platforms = platforms.all; diff --git a/pkgs/by-name/xm/xmcp/package.nix b/pkgs/by-name/xm/xmcp/package.nix index 228d502c4b7c2..17ae3413f968a 100644 --- a/pkgs/by-name/xm/xmcp/package.nix +++ b/pkgs/by-name/xm/xmcp/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + libX11, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xm/xmenu/package.nix b/pkgs/by-name/xm/xmenu/package.nix index 59058f3f53bd5..23569e6a12c74 100644 --- a/pkgs/by-name/xm/xmenu/package.nix +++ b/pkgs/by-name/xm/xmenu/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, imlib2, libX11, libXft, libXinerama }: +{ + lib, + stdenv, + fetchFromGitHub, + imlib2, + libX11, + libXft, + libXinerama, +}: stdenv.mkDerivation rec { pname = "xmenu"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-Gg4hSBBVBOB/wlY44C5bJOuOnLoA/tPvcNZamXae/WE="; }; - buildInputs = [ imlib2 libX11 libXft libXinerama ]; + buildInputs = [ + imlib2 + libX11 + libXft + libXinerama + ]; postPatch = "sed -i \"s:/usr/local:$out:\" config.mk"; diff --git a/pkgs/by-name/xm/xmind/package.nix b/pkgs/by-name/xm/xmind/package.nix index 58b46208e510d..d40709c05ea0c 100644 --- a/pkgs/by-name/xm/xmind/package.nix +++ b/pkgs/by-name/xm/xmind/package.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchzip, fetchurl, gtk3, jre8, libXtst, makeWrapper, makeDesktopItem, runtimeShell }: +{ + stdenv, + lib, + fetchzip, + fetchurl, + gtk3, + jre8, + libXtst, + makeWrapper, + makeDesktopItem, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "xmind"; @@ -25,7 +36,10 @@ stdenv.mkDerivation rec { dontPatchELF = true; dontStrip = true; - libPath = lib.makeLibraryPath [ gtk3 libXtst ]; + libPath = lib.makeLibraryPath [ + gtk3 + libXtst + ]; desktopItem = makeDesktopItem { name = "XMind"; @@ -34,41 +48,44 @@ stdenv.mkDerivation rec { desktopName = "XMind"; comment = meta.description; categories = [ "Office" ]; - mimeTypes = [ "application/xmind" "x-scheme-handler/xmind" ]; + mimeTypes = [ + "application/xmind" + "x-scheme-handler/xmind" + ]; }; - installPhase = let - targetDir = if stdenv.hostPlatform.system == "i686-linux" - then "XMind_i386" - else "XMind_amd64"; - in '' - mkdir -p $out/{bin,libexec/configuration/,share/{applications/,fonts/,icons/hicolor/scalable/apps/}} - cp -r ${targetDir}/{configuration,p2,XMind{,.ini}} $out/libexec - cp -r {plugins,features} $out/libexec/ - cp -r fonts $out/share/fonts/ - cp "${desktopItem}/share/applications/XMind.desktop" $out/share/applications/XMind.desktop - cp ${srcIcon} $out/share/icons/hicolor/scalable/apps/xmind.png - - patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ - $out/libexec/XMind - - wrapProgram $out/libexec/XMind \ - --prefix LD_LIBRARY_PATH : "${libPath}" - - # Inspired by https://aur.archlinux.org/cgit/aur.git/tree/?h=xmind - cat >$out/bin/XMind <$out/bin/XMind <&2 exit $ret fi - '').overrideAttrs (finalAttrs: -if (pname != "" && version != "") then { - inherit pname version; - name = "${pname}-${version}"; -} else { - name = if (name != "") then name else (baseNameOf finalAttrs.url); -}) + '' +).overrideAttrs + ( + finalAttrs: + if (pname != "" && version != "") then + { + inherit pname version; + name = "${pname}-${version}"; + } + else + { + name = if (name != "") then name else (baseNameOf finalAttrs.url); + } + ) diff --git a/pkgs/by-name/xr/xrq/package.nix b/pkgs/by-name/xr/xrq/package.nix index c37696c5f19d1..2b2cba3f9c244 100644 --- a/pkgs/by-name/xr/xrq/package.nix +++ b/pkgs/by-name/xr/xrq/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libX11, +}: stdenv.mkDerivation { pname = "xrq"; @@ -15,7 +20,10 @@ stdenv.mkDerivation { make PREFIX=$out install ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; buildInputs = [ libX11 ]; diff --git a/pkgs/by-name/xs/xscast/package.nix b/pkgs/by-name/xs/xscast/package.nix index 71b22201e9dd9..fb770d5d0f83d 100644 --- a/pkgs/by-name/xs/xscast/package.nix +++ b/pkgs/by-name/xs/xscast/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, ffmpeg, imagemagick, dzen2, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + ffmpeg, + imagemagick, + dzen2, + xorg, +}: stdenv.mkDerivation { pname = "xscast-unstable"; @@ -21,7 +30,16 @@ stdenv.mkDerivation { patchShebangs $out/bin wrapProgram "$out/bin/xscast" \ - --prefix PATH : ${lib.makeBinPath [ ffmpeg dzen2 xorg.xwininfo xorg.xinput xorg.xmodmap imagemagick ]} + --prefix PATH : ${ + lib.makeBinPath [ + ffmpeg + dzen2 + xorg.xwininfo + xorg.xinput + xorg.xmodmap + imagemagick + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/xs/xschem/package.nix b/pkgs/by-name/xs/xschem/package.nix index c5146b61011a8..0cd6d92c16c74 100644 --- a/pkgs/by-name/xs/xschem/package.nix +++ b/pkgs/by-name/xs/xschem/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, fetchFromGitHub -, lib -, bison -, cairo -, flex -, libX11 -, libXpm -, pkg-config -, tcl -, tk +{ + stdenv, + fetchFromGitHub, + lib, + bison, + cairo, + flex, + libX11, + libXpm, + pkg-config, + tcl, + tk, }: stdenv.mkDerivation rec { @@ -22,9 +23,19 @@ stdenv.mkDerivation rec { hash = "sha256-+ygwHkQOXmkoNgcuofwuaZcpYTAV6sOmvO4xeE+8DXE="; }; - nativeBuildInputs = [ bison flex pkg-config ]; + nativeBuildInputs = [ + bison + flex + pkg-config + ]; - buildInputs = [ cairo libX11 libXpm tcl tk ]; + buildInputs = [ + cairo + libX11 + libXpm + tcl + tk + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/xs/xscope/package.nix b/pkgs/by-name/xs/xscope/package.nix index ed66ebc59313b..792a5412cd39b 100644 --- a/pkgs/by-name/xs/xscope/package.nix +++ b/pkgs/by-name/xs/xscope/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pkg-config, libXt }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libXt, +}: stdenv.mkDerivation rec { pname = "xscope"; @@ -21,4 +27,3 @@ stdenv.mkDerivation rec { mainProgram = "xscope"; }; } - diff --git a/pkgs/by-name/xs/xscreensaver/package.nix b/pkgs/by-name/xs/xscreensaver/package.nix index 3820409511e10..f3528d816090b 100644 --- a/pkgs/by-name/xs/xscreensaver/package.nix +++ b/pkgs/by-name/xs/xscreensaver/package.nix @@ -1,35 +1,36 @@ -{ lib -, stdenv -, fetchurl -, coreutils -, gdk-pixbuf -, gdk-pixbuf-xlib -, gettext -, gle -, gtk3 -, intltool -, libGL -, libGLU -, libX11 -, libXext -, libXft -, libXi -, libXinerama -, libXrandr -, libXt -, libXxf86vm -, libxml2 -, makeWrapper -, pam -, perlPackages -, xorg -, pkg-config -, systemd -, forceInstallAllHacks ? true -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, nixosTests -, substituteAll -, wrapperPrefix ? "/run/wrappers/bin" +{ + lib, + stdenv, + fetchurl, + coreutils, + gdk-pixbuf, + gdk-pixbuf-xlib, + gettext, + gle, + gtk3, + intltool, + libGL, + libGLU, + libX11, + libXext, + libXft, + libXi, + libXinerama, + libXrandr, + libXt, + libXxf86vm, + libxml2, + makeWrapper, + pam, + perlPackages, + xorg, + pkg-config, + systemd, + forceInstallAllHacks ? true, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + nixosTests, + substituteAll, + wrapperPrefix ? "/run/wrappers/bin", }: stdenv.mkDerivation (finalAttrs: { @@ -41,7 +42,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9GZ3Ba24zEP9LzlzqIobVLFvIBkK/pOyHiIfL1cyCwU="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ intltool @@ -70,8 +74,7 @@ stdenv.mkDerivation (finalAttrs: { perlPackages.LWPProtocolHttps perlPackages.MozillaCA perlPackages.perl - ] - ++ lib.optionals withSystemd [ systemd ]; + ] ++ lib.optionals withSystemd [ systemd ]; postPatch = '' pushd hacks @@ -99,22 +102,29 @@ stdenv.mkDerivation (finalAttrs: { # "marbling" has NEON code that mixes signed and unsigned vector types env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch "-flax-vector-conversions"; - postInstall = '' - for bin in $out/bin/*; do - wrapProgram "$bin" \ - --prefix PATH : "$out/libexec/xscreensaver" \ - --prefix PATH : "${lib.makeBinPath [ coreutils perlPackages.perl xorg.appres ]}" \ - --prefix PERL5LIB ':' $PERL5LIB - done - '' - + lib.optionalString forceInstallAllHacks '' - make -j$NIX_BUILD_CORES -C hacks/glx dnalogo - cat hacks/Makefile.in \ - | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks - cat hacks/glx/Makefile.in \ - | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks/glx - cp -f $(find hacks -type f -perm -111 "!" -name "*.*" ) "$out/libexec/xscreensaver" - ''; + postInstall = + '' + for bin in $out/bin/*; do + wrapProgram "$bin" \ + --prefix PATH : "$out/libexec/xscreensaver" \ + --prefix PATH : "${ + lib.makeBinPath [ + coreutils + perlPackages.perl + xorg.appres + ] + }" \ + --prefix PERL5LIB ':' $PERL5LIB + done + '' + + lib.optionalString forceInstallAllHacks '' + make -j$NIX_BUILD_CORES -C hacks/glx dnalogo + cat hacks/Makefile.in \ + | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks + cat hacks/glx/Makefile.in \ + | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks/glx + cp -f $(find hacks -type f -perm -111 "!" -name "*.*" ) "$out/libexec/xscreensaver" + ''; passthru.tests = { xscreensaver = nixosTests.xscreensaver; @@ -125,7 +135,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Set of screensavers"; downloadPage = "https://www.jwz.org/xscreensaver/download.html"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ raskin AndersonTorres ]; + maintainers = with lib.maintainers; [ + raskin + AndersonTorres + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/xs/xsct/package.nix b/pkgs/by-name/xs/xsct/package.nix index 20bcbd76f71ed..ea1e793b692a4 100644 --- a/pkgs/by-name/xs/xsct/package.nix +++ b/pkgs/by-name/xs/xsct/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, gitUpdater -, libX11 -, libXrandr +{ + stdenv, + lib, + fetchFromGitHub, + gitUpdater, + libX11, + libXrandr, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/xs/xsecurelock/package.nix b/pkgs/by-name/xs/xsecurelock/package.nix index c011aa8aa4991..28dc1c642ef5a 100644 --- a/pkgs/by-name/xs/xsecurelock/package.nix +++ b/pkgs/by-name/xs/xsecurelock/package.nix @@ -1,6 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, libX11, libXcomposite, libXft, libXmu, libXrandr, libXext, libXScrnSaver -, pam, apacheHttpd, pamtester, xscreensaver, coreutils, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libX11, + libXcomposite, + libXft, + libXmu, + libXrandr, + libXext, + libXScrnSaver, + pam, + apacheHttpd, + pamtester, + xscreensaver, + coreutils, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "xsecurelock"; @@ -14,12 +31,22 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoreconfHook pkg-config makeWrapper + autoreconfHook + pkg-config + makeWrapper ]; buildInputs = [ - libX11 libXcomposite libXft libXmu libXrandr libXext libXScrnSaver - pam apacheHttpd pamtester + libX11 + libXcomposite + libXft + libXmu + libXrandr + libXext + libXScrnSaver + pam + apacheHttpd + pamtester ]; configureFlags = [ diff --git a/pkgs/by-name/xs/xsel/package.nix b/pkgs/by-name/xs/xsel/package.nix index f32d0a81a61ef..d929ae6691551 100644 --- a/pkgs/by-name/xs/xsel/package.nix +++ b/pkgs/by-name/xs/xsel/package.nix @@ -5,7 +5,7 @@ pkg-config, autoreconfHook, libX11, - libXt + libXt, }: stdenv.mkDerivation (finalAttrs: { @@ -19,15 +19,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-F2w/Ad8IWxJNH90/0a9+1M8bLfn1M3m4TH3PNpQmEFI="; }; - nativeBuildInputs = [pkg-config autoreconfHook]; - buildInputs = [libX11 libXt]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + libX11 + libXt + ]; meta = with lib; { description = "Command-line program for getting and setting the contents of the X selection"; homepage = "http://www.kfish.org/software/xsel"; changelog = "https://github.com/kfish/xsel/releases/tag/${finalAttrs.version}"; license = licenses.mit; - maintainers = with maintainers; [cafkafk]; + maintainers = with maintainers; [ cafkafk ]; platforms = lib.platforms.unix; mainProgram = "xsel"; }; diff --git a/pkgs/by-name/xs/xsensors/package.nix b/pkgs/by-name/xs/xsensors/package.nix index a67dcc9e716e1..d90fc67d40306 100644 --- a/pkgs/by-name/xs/xsensors/package.nix +++ b/pkgs/by-name/xs/xsensors/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, gtk2, pkg-config, lm_sensors }: +{ + stdenv, + lib, + fetchurl, + gtk2, + pkg-config, + lm_sensors, +}: stdenv.mkDerivation rec { pname = "xsensors"; @@ -9,7 +16,8 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ - gtk2 lm_sensors + gtk2 + lm_sensors ]; patches = [ ./remove-unused-variables.patch diff --git a/pkgs/by-name/xs/xsettingsd/package.nix b/pkgs/by-name/xs/xsettingsd/package.nix index d0b7c61e710de..ac54cd7f77c70 100644 --- a/pkgs/by-name/xs/xsettingsd/package.nix +++ b/pkgs/by-name/xs/xsettingsd/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libX11, +}: stdenv.mkDerivation rec { pname = "xsettingsd"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-CIYshZqJICuL8adKHIN4R6nudaqWOCK2UPrGhsKf9pE="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ libX11 ]; diff --git a/pkgs/by-name/xs/xsimd/package.nix b/pkgs/by-name/xs/xsimd/package.nix index 622f11f400bc6..befc92f7522ca 100644 --- a/pkgs/by-name/xs/xsimd/package.nix +++ b/pkgs/by-name/xs/xsimd/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, doctest +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + doctest, }: stdenv.mkDerivation (finalAttrs: { @@ -15,18 +16,20 @@ stdenv.mkDerivation (finalAttrs: { rev = finalAttrs.version; hash = "sha256-qElJYW5QDj3s59L3NgZj5zkhnUMzIP2mBa1sPks3/CE="; }; - patches = [ - # Fix of https://github.com/xtensor-stack/xsimd/pull/1024 for - # https://github.com/xtensor-stack/xsimd/issues/456 and - # https://github.com/xtensor-stack/xsimd/issues/807, - (fetchpatch { - url = "https://github.com/xtensor-stack/xsimd/commit/c8a87ed6e04b6782f48f94713adfb0cad6c11ddf.patch"; - hash = "sha256-2/FvBGdqTPcayD7rdHPSzL+F8IYKAfMW0WBJ0cW9EZ0="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # https://github.com/xtensor-stack/xsimd/issues/1030 - ./disable-test_error_gamma.patch - ]; + patches = + [ + # Fix of https://github.com/xtensor-stack/xsimd/pull/1024 for + # https://github.com/xtensor-stack/xsimd/issues/456 and + # https://github.com/xtensor-stack/xsimd/issues/807, + (fetchpatch { + url = "https://github.com/xtensor-stack/xsimd/commit/c8a87ed6e04b6782f48f94713adfb0cad6c11ddf.patch"; + hash = "sha256-2/FvBGdqTPcayD7rdHPSzL+F8IYKAfMW0WBJ0cW9EZ0="; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # https://github.com/xtensor-stack/xsimd/issues/1030 + ./disable-test_error_gamma.patch + ]; # strictDeps raises the chance that xsimd will be able to be cross compiled strictDeps = true; @@ -55,7 +58,10 @@ stdenv.mkDerivation (finalAttrs: { description = "C++ wrappers for SIMD intrinsics"; homepage = "https://github.com/xtensor-stack/xsimd"; license = licenses.bsd3; - maintainers = with maintainers; [ tobim doronbehar ]; + maintainers = with maintainers; [ + tobim + doronbehar + ]; platforms = platforms.all; }; }) diff --git a/pkgs/by-name/xs/xskat/package.nix b/pkgs/by-name/xs/xskat/package.nix index 993070c89c96c..8325ba5352ba5 100644 --- a/pkgs/by-name/xs/xskat/package.nix +++ b/pkgs/by-name/xs/xskat/package.nix @@ -1,11 +1,21 @@ -{lib, stdenv, fetchurl, libX11, imake, gccmakedep}: +{ + lib, + stdenv, + fetchurl, + libX11, + imake, + gccmakedep, +}: stdenv.mkDerivation rec { pname = "xskat"; version = "4.0"; nativeBuildInputs = [ gccmakedep ]; - buildInputs = [ libX11 imake ]; + buildInputs = [ + libX11 + imake + ]; src = fetchurl { url = "https://web.archive.org/web/20220331112433if_/https://www.xskat.de/xskat-${version}.tar.gz"; @@ -20,7 +30,10 @@ stdenv.mkDerivation rec { -e "s|.* MANPATH .*| MANPATH = $out/man|" ''; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; meta = with lib; { description = "Famous german card game"; diff --git a/pkgs/by-name/xs/xsok/package.nix b/pkgs/by-name/xs/xsok/package.nix index a89d74f33a159..90f312db09901 100644 --- a/pkgs/by-name/xs/xsok/package.nix +++ b/pkgs/by-name/xs/xsok/package.nix @@ -1,5 +1,14 @@ -{lib, stdenv, fetchurl, libX11, imake, libXt, libXaw, libXpm, libXext -, withNethackLevels ? true +{ + lib, + stdenv, + fetchurl, + libX11, + imake, + libXt, + libXaw, + libXpm, + libXext, + withNethackLevels ? true, }: stdenv.mkDerivation rec { pname = "xsok"; @@ -15,8 +24,14 @@ stdenv.mkDerivation rec { sha256 = "057ircp13hfpy513c7wpyp986hsvhqs7km98w4k39f5wkvp3dj02"; }; - buildInputs = [libX11 libXt libXaw libXpm libXext]; - nativeBuildInputs = [imake]; + buildInputs = [ + libX11 + libXt + libXaw + libXpm + libXext + ]; + nativeBuildInputs = [ imake ]; env.NIX_CFLAGS_COMPILE = " -isystem ${libXpm.dev}/include/X11 "; @@ -29,7 +44,7 @@ stdenv.mkDerivation rec { sed -e 's/CC = gcc/CC = cc/g' -i src/Imakefile ''; - makeFlags = ["BINDIR=$(out)/bin"]; + makeFlags = [ "BINDIR=$(out)/bin" ]; postInstall = lib.optionalString withNethackLevels '' gzip < ${nethackLevels} > "$out/share/games/lib/xsok/Nethack.def.gz" @@ -40,7 +55,7 @@ stdenv.mkDerivation rec { description = "Generic Sokoban game for X11"; mainProgram = "xsok"; license = lib.licenses.gpl2Plus; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; homepage = "https://tracker.debian.org/pkg/xsok"; }; diff --git a/pkgs/by-name/xs/xsokoban/package.nix b/pkgs/by-name/xs/xsokoban/package.nix index 51de995af4bc4..e0ff0a30f15c6 100644 --- a/pkgs/by-name/xs/xsokoban/package.nix +++ b/pkgs/by-name/xs/xsokoban/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libX11, xorgproto, libXpm, libXt }: +{ + lib, + stdenv, + fetchurl, + libX11, + xorgproto, + libXpm, + libXt, +}: stdenv.mkDerivation rec { pname = "xsokoban"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "006lp8y22b9pi81x1a9ldfgkl1fbmkdzfw0lqw5y9svmisbafbr9"; }; - buildInputs = [ libX11 xorgproto libXpm libXt ]; + buildInputs = [ + libX11 + xorgproto + libXpm + libXt + ]; env.NIX_CFLAGS_COMPILE = "-I${libXpm.dev}/include/X11"; diff --git a/pkgs/by-name/xs/xsos/package.nix b/pkgs/by-name/xs/xsos/package.nix index 6681c375d9669..9583dadd9e8af 100644 --- a/pkgs/by-name/xs/xsos/package.nix +++ b/pkgs/by-name/xs/xsos/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, installShellFiles -, dmidecode -, ethtool -, pciutils -, multipath-tools -, iproute2 -, sysvinit +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + installShellFiles, + dmidecode, + ethtool, + pciutils, + multipath-tools, + iproute2, + sysvinit, }: let binPath = [ @@ -33,7 +34,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-VEOY422/+4veMlN9HOtPB/THDiFLNnRfbUJpKjc/cqE="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = '' mkdir -p $out/bin @@ -47,7 +51,10 @@ stdenv.mkDerivation rec { mainProgram = "xsos"; homepage = "https://github.com/ryran/xsos"; license = licenses.gpl3; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; maintainers = [ maintainers.nixinator ]; }; } diff --git a/pkgs/by-name/xs/xspim/package.nix b/pkgs/by-name/xs/xspim/package.nix index 4a040e41ab66b..2b00919d714e7 100644 --- a/pkgs/by-name/xs/xspim/package.nix +++ b/pkgs/by-name/xs/xspim/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchsvn, imake, bison, flex, xorg }: +{ + lib, + stdenv, + fetchsvn, + imake, + bison, + flex, + xorg, +}: stdenv.mkDerivation rec { pname = "xspim"; @@ -10,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "1kazfgrbmi4xq7nrkmnqw1280rhdyc1hmr82flrsa3g1b1rlmj1s"; }; - nativeBuildInputs = [ imake bison flex ]; + nativeBuildInputs = [ + imake + bison + flex + ]; buildInputs = [ xorg.libICE xorg.libSM diff --git a/pkgs/by-name/xs/xss-lock/package.nix b/pkgs/by-name/xs/xss-lock/package.nix index dfadfedaee9a0..4e8931f6e0686 100644 --- a/pkgs/by-name/xs/xss-lock/package.nix +++ b/pkgs/by-name/xs/xss-lock/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, docutils, pkg-config, glib, libpthreadstubs -, libXau, libXdmcp, xcbutil, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + docutils, + pkg-config, + glib, + libpthreadstubs, + libXau, + libXdmcp, + xcbutil, + nixosTests, +}: stdenv.mkDerivation { pname = "xss-lock"; @@ -12,8 +24,18 @@ stdenv.mkDerivation { sha256 = "040nqgfh564frvqkrkmak3x3h0yadz6kzk81jkfvd9vd20a9drh7"; }; - nativeBuildInputs = [ cmake pkg-config docutils ]; - buildInputs = [ glib libpthreadstubs libXau libXdmcp xcbutil ]; + nativeBuildInputs = [ + cmake + pkg-config + docutils + ]; + buildInputs = [ + glib + libpthreadstubs + libXau + libXdmcp + xcbutil + ]; passthru.tests = { inherit (nixosTests) xss-lock; }; @@ -21,7 +43,10 @@ stdenv.mkDerivation { description = "Use external locker (such as i3lock) as X screen saver"; license = licenses.mit; mainProgram = "xss-lock"; - maintainers = with maintainers; [ malyn offline ]; + maintainers = with maintainers; [ + malyn + offline + ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/xs/xssproxy/package.nix b/pkgs/by-name/xs/xssproxy/package.nix index 2ec28be876490..cf80c18f1c0df 100644 --- a/pkgs/by-name/xs/xssproxy/package.nix +++ b/pkgs/by-name/xs/xssproxy/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, glib, pkg-config, xorg, dbus }: +{ + lib, + stdenv, + fetchFromGitHub, + glib, + pkg-config, + xorg, + dbus, +}: stdenv.mkDerivation rec { pname = "xssproxy"; @@ -12,7 +20,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib xorg.libX11 xorg.libXScrnSaver dbus ]; + buildInputs = [ + glib + xorg.libX11 + xorg.libXScrnSaver + dbus + ]; makeFlags = [ "bindir=$(out)/bin" diff --git a/pkgs/by-name/xs/xssstate/package.nix b/pkgs/by-name/xs/xssstate/package.nix index d4ec63a716680..ab51ee2544d66 100644 --- a/pkgs/by-name/xs/xssstate/package.nix +++ b/pkgs/by-name/xs/xssstate/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchgit -, libX11 -, libXScrnSaver +{ + lib, + stdenv, + fetchgit, + libX11, + libXScrnSaver, }: stdenv.mkDerivation (finalAttrs: { pname = "xssstate"; diff --git a/pkgs/by-name/xs/xstow/package.nix b/pkgs/by-name/xs/xstow/package.nix index 96e569fe26b0b..83957658f8528 100644 --- a/pkgs/by-name/xs/xstow/package.nix +++ b/pkgs/by-name/xs/xstow/package.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, ncurses -, autoreconfHook +{ + stdenv, + lib, + fetchFromGitHub, + ncurses, + autoreconfHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xs/xsuspender/package.nix b/pkgs/by-name/xs/xsuspender/package.nix index 178522fbf518c..2d4c230ee7123 100644 --- a/pkgs/by-name/xs/xsuspender/package.nix +++ b/pkgs/by-name/xs/xsuspender/package.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config -, glib, libwnck, procps }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + makeWrapper, + pkg-config, + glib, + libwnck, + procps, +}: stdenv.mkDerivation rec { pname = "xsuspender"; @@ -12,10 +21,21 @@ stdenv.mkDerivation rec { sha256 = "1c6ab1s9bbkjbmcfv2mny273r66dlz7sgxsmzfwi0fm2vcb2lwim"; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; - buildInputs = [ glib libwnck ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; + buildInputs = [ + glib + libwnck + ]; postInstall = '' wrapProgram $out/bin/xsuspender \ diff --git a/pkgs/by-name/xs/xsynth_dssi/package.nix b/pkgs/by-name/xs/xsynth_dssi/package.nix index 788453f51955f..ac0bb27bad056 100644 --- a/pkgs/by-name/xs/xsynth_dssi/package.nix +++ b/pkgs/by-name/xs/xsynth_dssi/package.nix @@ -1,7 +1,20 @@ -{ lib, stdenv, fetchurl, alsa-lib, autoconf, automake, dssi, gtk2, libjack2, -ladspaH, ladspaPlugins, liblo, pkg-config }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + autoconf, + automake, + dssi, + gtk2, + libjack2, + ladspaH, + ladspaPlugins, + liblo, + pkg-config, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "xsynth-dssi"; version = "0.9.4"; @@ -10,9 +23,20 @@ stdenv.mkDerivation rec { sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk"; }; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ alsa-lib dssi gtk2 libjack2 ladspaH - ladspaPlugins liblo ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + alsa-lib + dssi + gtk2 + libjack2 + ladspaH + ladspaPlugins + liblo + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/by-name/xt/xteddy/package.nix b/pkgs/by-name/xt/xteddy/package.nix index 481255393472d..81a8e46a89897 100644 --- a/pkgs/by-name/xt/xteddy/package.nix +++ b/pkgs/by-name/xt/xteddy/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, xorg, imlib2, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + xorg, + imlib2, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "xteddy"; @@ -11,10 +19,20 @@ stdenv.mkDerivation rec { sha256 = "0rm7w78d6qajq4fvi4agyqm0c70f3c1i0cy2jdb6kqql2k8w78qy"; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ imlib2 xorg.libX11 xorg.libXext ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + buildInputs = [ + imlib2 + xorg.libX11 + xorg.libXext + ]; - patches = [ "${src}/debian/patches/10_libXext.patch" "${src}/debian/patches/wrong-man-page-section.patch" ]; + patches = [ + "${src}/debian/patches/10_libXext.patch" + "${src}/debian/patches/wrong-man-page-section.patch" + ]; postPatch = '' sed -i "s:/usr/games/xteddy:$out/bin/xteddy:" xtoys diff --git a/pkgs/by-name/xt/xtensor/package.nix b/pkgs/by-name/xt/xtensor/package.nix index 03ac854187101..9256db73dff26 100644 --- a/pkgs/by-name/xt/xtensor/package.nix +++ b/pkgs/by-name/xt/xtensor/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doctest -, enableAssertions ? false -, enableBoundChecks ? false # Broadcasts don't pass bound checks -, nlohmann_json -, xtl -, xsimd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doctest, + enableAssertions ? false, + enableBoundChecks ? false, # Broadcasts don't pass bound checks + nlohmann_json, + xtl, + xsimd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/xt/xtermcontrol/package.nix b/pkgs/by-name/xt/xtermcontrol/package.nix index f0c7203fd9cee..eb0cfbf743297 100644 --- a/pkgs/by-name/xt/xtermcontrol/package.nix +++ b/pkgs/by-name/xt/xtermcontrol/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { version = "3.8"; diff --git a/pkgs/by-name/xt/xteve/package.nix b/pkgs/by-name/xt/xteve/package.nix index 75591ddfbc147..39c60136d205f 100644 --- a/pkgs/by-name/xt/xteve/package.nix +++ b/pkgs/by-name/xt/xteve/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "xteve"; diff --git a/pkgs/by-name/xt/xtitle/package.nix b/pkgs/by-name/xt/xtitle/package.nix index 94e650144956a..ec4e3867ad9ae 100644 --- a/pkgs/by-name/xt/xtitle/package.nix +++ b/pkgs/by-name/xt/xtitle/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libxcb, xcbutil, xcbutilwm, git }: +{ + lib, + stdenv, + fetchFromGitHub, + libxcb, + xcbutil, + xcbutilwm, + git, +}: stdenv.mkDerivation rec { pname = "xtitle"; @@ -15,7 +23,12 @@ stdenv.mkDerivation rec { sed -i "s|/usr/local|$out|" Makefile ''; - buildInputs = [ libxcb git xcbutil xcbutilwm ]; + buildInputs = [ + libxcb + git + xcbutil + xcbutilwm + ]; meta = with lib; { description = "Outputs X window titles"; diff --git a/pkgs/by-name/xt/xtl/package.nix b/pkgs/by-name/xt/xtl/package.nix index 208aceb3e35b4..2ca5932ac7937 100644 --- a/pkgs/by-name/xt/xtl/package.nix +++ b/pkgs/by-name/xt/xtl/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doctest +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doctest, }: stdenv.mkDerivation rec { pname = "xtl"; diff --git a/pkgs/by-name/xt/xtrace/package.nix b/pkgs/by-name/xt/xtrace/package.nix index 7360603cb790a..0250507d8de4c 100644 --- a/pkgs/by-name/xt/xtrace/package.nix +++ b/pkgs/by-name/xt/xtrace/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, autoreconfHook, fetchFromGitLab, libX11, xauth, makeWrapper }: +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitLab, + libX11, + xauth, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "xtrace"; @@ -12,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "1yff6x847nksciail9jly41mv70sl8sadh0m5d847ypbjmxcwjpq"; }; - nativeBuildInputs = [ autoreconfHook makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ]; buildInputs = [ libX11 ]; postInstall = '' diff --git a/pkgs/by-name/xt/xtris/package.nix b/pkgs/by-name/xt/xtris/package.nix index b9492ad11edad..cf467bec037f6 100644 --- a/pkgs/by-name/xt/xtris/package.nix +++ b/pkgs/by-name/xt/xtris/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, xorg }: +{ + lib, + stdenv, + fetchzip, + xorg, +}: stdenv.mkDerivation rec { pname = "xtris"; version = "1.15"; diff --git a/pkgs/by-name/xt/xtrlock-pam/package.nix b/pkgs/by-name/xt/xtrlock-pam/package.nix index 7c3bba246cb72..0136fbc5c287b 100644 --- a/pkgs/by-name/xt/xtrlock-pam/package.nix +++ b/pkgs/by-name/xt/xtrlock-pam/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, python39, pkg-config, pam, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + python39, + pkg-config, + pam, + xorg, +}: stdenv.mkDerivation { pname = "xtrlock-pam"; @@ -12,7 +20,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ python39 pam xorg.libX11 ]; + buildInputs = [ + python39 + pam + xorg.libX11 + ]; configurePhase = '' substituteInPlace .config/options.py --replace /usr/include/security/pam_appl.h ${pam}/include/security/pam_appl.h diff --git a/pkgs/by-name/xt/xtruss/package.nix b/pkgs/by-name/xt/xtruss/package.nix index 790312335ab21..18ef84029ac1c 100644 --- a/pkgs/by-name/xt/xtruss/package.nix +++ b/pkgs/by-name/xt/xtruss/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, halibut }: +{ + lib, + stdenv, + fetchurl, + cmake, + halibut, +}: stdenv.mkDerivation rec { pname = "xtruss"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-ikuKHtXEn2UVLE62l7qD9qc9ZUk6jiAqj5ru36vgdHk="; }; - nativeBuildInputs = [ cmake halibut ]; + nativeBuildInputs = [ + cmake + halibut + ]; meta = with lib; { description = "easy-to-use X protocol tracing program"; diff --git a/pkgs/by-name/xt/xtuner/package.nix b/pkgs/by-name/xt/xtuner/package.nix index 2db4256ee87fc..a2199f49e70d3 100644 --- a/pkgs/by-name/xt/xtuner/package.nix +++ b/pkgs/by-name/xt/xtuner/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, pkg-config -, cairo -, libX11 -, libjack2 -, liblo -, libsigcxx -, zita-resampler -, fftwFloat +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + cairo, + libX11, + libjack2, + liblo, + libsigcxx, + zita-resampler, + fftwFloat, }: stdenv.mkDerivation rec { @@ -35,7 +37,15 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ cairo libX11 libjack2 liblo libsigcxx zita-resampler fftwFloat ]; + buildInputs = [ + cairo + libX11 + libjack2 + liblo + libsigcxx + zita-resampler + fftwFloat + ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/by-name/xu/xunit-viewer/package.nix b/pkgs/by-name/xu/xunit-viewer/package.nix index 7c31b82aac7b3..4e3ccd52d7bae 100644 --- a/pkgs/by-name/xu/xunit-viewer/package.nix +++ b/pkgs/by-name/xu/xunit-viewer/package.nix @@ -4,7 +4,8 @@ fetchFromGitHub, nix-update-script, callPackage, - testers, xunit-viewer, + testers, + xunit-viewer, }: let version = "10.6.1"; diff --git a/pkgs/by-name/xu/xunit-viewer/test/example.nix b/pkgs/by-name/xu/xunit-viewer/test/example.nix index 574b9d784951e..86079e8cf0351 100644 --- a/pkgs/by-name/xu/xunit-viewer/test/example.nix +++ b/pkgs/by-name/xu/xunit-viewer/test/example.nix @@ -1,16 +1,18 @@ { xunit-viewer, runCommand, ... }: -runCommand "test-xunit-viewer" { - nativeBuildInputs = [ xunit-viewer ]; -} '' - mkdir $out - xunit-viewer -r ${./example.junit.xml} -o $out/index.html - ( set -x - grep ' throw '' - You must accept the XMLmind XML Editor Personal Edition License at - https://www.xmlmind.com/xmleditor/license_xxe_perso.html - by setting nixpkgs config option `xxe-pe.acceptLicense = true;` - or by using `xxe-pe.override { acceptLicense = true; }` package. - ''; - fetchurl { - url = "https://www.xmlmind.com/xmleditor/_download/xxe-perso-${builtins.replaceStrings [ "." ] [ "_" ] version}.zip"; - sha256 = "sha256-JZ9nQwMrQL/1HKGwvXoWlnTx55ZK/UYjMJAddCtm0rw="; - }; + assert + !acceptLicense + -> throw '' + You must accept the XMLmind XML Editor Personal Edition License at + https://www.xmlmind.com/xmleditor/license_xxe_perso.html + by setting nixpkgs config option `xxe-pe.acceptLicense = true;` + or by using `xxe-pe.override { acceptLicense = true; }` package. + ''; + fetchurl { + url = "https://www.xmlmind.com/xmleditor/_download/xxe-perso-${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.zip"; + sha256 = "sha256-JZ9nQwMrQL/1HKGwvXoWlnTx55ZK/UYjMJAddCtm0rw="; + }; nativeBuildInputs = [ unzip diff --git a/pkgs/by-name/xx/xxgdb/package.nix b/pkgs/by-name/xx/xxgdb/package.nix index 5ba3b74a5a3d5..3eac7f58c30e0 100644 --- a/pkgs/by-name/xx/xxgdb/package.nix +++ b/pkgs/by-name/xx/xxgdb/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, imake -, gccmakedep -, libX11 -, libXaw -, libXext -, libXmu -, libXt +{ + lib, + stdenv, + fetchurl, + imake, + gccmakedep, + libX11, + libXaw, + libXext, + libXmu, + libXt, }: stdenv.mkDerivation rec { @@ -24,8 +25,17 @@ stdenv.mkDerivation rec { ./xxgdb-pty.patch ]; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libX11 libXaw libXext libXmu libXt ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libX11 + libXaw + libXext + libXmu + libXt + ]; preConfigure = '' mkdir build diff --git a/pkgs/by-name/xx/xxh/package.nix b/pkgs/by-name/xx/xxh/package.nix index eba8abbf79059..1bd9b9d36e007 100644 --- a/pkgs/by-name/xx/xxh/package.nix +++ b/pkgs/by-name/xx/xxh/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, python3 -, openssh -, nixosTests +{ + lib, + fetchFromGitHub, + python3, + openssh, + nixosTests, }: -python3.pkgs.buildPythonApplication rec{ +python3.pkgs.buildPythonApplication rec { pname = "xxh"; version = "0.8.12"; format = "setuptools"; diff --git a/pkgs/by-name/xx/xxkb/package.nix b/pkgs/by-name/xx/xxkb/package.nix index 022abdb5ae18e..a0c7d4752508e 100644 --- a/pkgs/by-name/xx/xxkb/package.nix +++ b/pkgs/by-name/xx/xxkb/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, libX11 -, libXt -, libXext -, libXpm -, imake -, gccmakedep -, svgSupport ? false -, librsvg -, glib -, gdk-pixbuf -, pkg-config +{ + lib, + stdenv, + fetchurl, + libX11, + libXt, + libXext, + libXpm, + imake, + gccmakedep, + svgSupport ? false, + librsvg, + glib, + gdk-pixbuf, + pkg-config, }: stdenv.mkDerivation rec { @@ -23,16 +24,29 @@ stdenv.mkDerivation rec { sha256 = "0hl1i38z9xnbgfjkaz04vv1n8xbgfg88g5z8fyzyb2hxv2z37anf"; }; - nativeBuildInputs = [ imake gccmakedep pkg-config ]; + nativeBuildInputs = [ + imake + gccmakedep + pkg-config + ]; - buildInputs = [ - libX11 - libXt - libXext - libXpm - ] ++ lib.optionals svgSupport [ librsvg glib gdk-pixbuf ]; + buildInputs = + [ + libX11 + libXt + libXext + libXpm + ] + ++ lib.optionals svgSupport [ + librsvg + glib + gdk-pixbuf + ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; imakeFlags = lib.optionalString svgSupport "-DWITH_SVG_SUPPORT"; @@ -45,7 +59,10 @@ stdenv.mkDerivation rec { "MANDIR=${placeholder "man"}/share/man" ]; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; meta = with lib; { description = "Keyboard layout indicator and switcher"; diff --git a/pkgs/by-name/xx/xxv/package.nix b/pkgs/by-name/xx/xxv/package.nix index eaa27e34d9d33..c5a5515f96134 100644 --- a/pkgs/by-name/xx/xxv/package.nix +++ b/pkgs/by-name/xx/xxv/package.nix @@ -1,27 +1,34 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform -, ncurses ? null -, darwin ? null }: - -let useNcurses = !stdenv.hostPlatform.isWindows; in +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + ncurses ? null, + darwin ? null, +}: + +let + useNcurses = !stdenv.hostPlatform.isWindows; +in assert useNcurses -> ncurses != null; rustPlatform.buildRustPackage rec { - pname = "xxv"; + pname = "xxv"; version = "0.1.2"; src = fetchFromGitHub { - owner = "chrisvest"; - repo = pname; - rev = version; + owner = "chrisvest"; + repo = pname; + rev = version; sha256 = "0ppfsgdigza2jppbkg4qanjhlkpnq7p115c4471vc6vpikpfrlk3"; }; cargoHash = "sha256-S8IKBXREJ+0z4Qz9i3RH52btg1Mpk6GjKIJf4ivdt14="; - buildInputs = lib.optionals useNcurses [ ncurses ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security ]) - ; + buildInputs = + lib.optionals useNcurses [ ncurses ] + ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Security ]); # I'm picking pancurses for Windows simply because that's the example given in Cursive's # documentation for picking an alternative backend. We could just as easily pick crossterm. @@ -33,8 +40,8 @@ rustPlatform.buildRustPackage rec { longDescription = '' XXV is a terminal hex viewer with a text user interface, written in 100% safe Rust. ''; - homepage = "https://chrisvest.github.io/xxv/"; - license = with licenses; [ gpl3 ]; + homepage = "https://chrisvest.github.io/xxv/"; + license = with licenses; [ gpl3 ]; maintainers = [ ]; mainProgram = "xxv"; }; diff --git a/pkgs/by-name/xy/xylib/package.nix b/pkgs/by-name/xy/xylib/package.nix index ab2e3792eeabf..50ac7586546a1 100644 --- a/pkgs/by-name/xy/xylib/package.nix +++ b/pkgs/by-name/xy/xylib/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, boost -, zlib -, bzip2 -, wxGTK32 +{ + lib, + stdenv, + fetchurl, + boost, + zlib, + bzip2, + wxGTK32, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/xz/xzgv/package.nix b/pkgs/by-name/xz/xzgv/package.nix index 1617b6459d331..1a782f83cff29 100644 --- a/pkgs/by-name/xz/xzgv/package.nix +++ b/pkgs/by-name/xz/xzgv/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, gtk2, libexif, pkg-config, texinfo }: +{ + lib, + stdenv, + fetchurl, + gtk2, + libexif, + pkg-config, + texinfo, +}: stdenv.mkDerivation rec { pname = "xzgv"; @@ -7,8 +15,14 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/xzgv/xzgv-${version}.tar.gz"; sha256 = "17l1xr9v07ggwga3vn0z1i4lnwjrr20rr8z1kjbw71aaijxl18i5"; }; - nativeBuildInputs = [ pkg-config texinfo ]; - buildInputs = [ gtk2 libexif ]; + nativeBuildInputs = [ + pkg-config + texinfo + ]; + buildInputs = [ + gtk2 + libexif + ]; postPatch = '' substituteInPlace config.mk \ --replace /usr/local $out diff --git a/pkgs/by-name/xz/xzoom/package.nix b/pkgs/by-name/xz/xzoom/package.nix index 0d32e509a139b..6f456b8d8129d 100644 --- a/pkgs/by-name/xz/xzoom/package.nix +++ b/pkgs/by-name/xz/xzoom/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, libX11, libXext, libXt, imake, gccmakedep}: +{ + lib, + stdenv, + fetchurl, + libX11, + libXext, + libXt, + imake, + gccmakedep, +}: stdenv.mkDerivation rec { pname = "xzoom"; @@ -12,25 +21,35 @@ stdenv.mkDerivation rec { }; patches = [ (fetchurl { - url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patch}.diff.gz"; - sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh"; + url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patch}.diff.gz"; + sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh"; }) ]; - nativeBuildInputs = [ imake gccmakedep ]; - buildInputs = [ libX11 libXext libXt ]; + nativeBuildInputs = [ + imake + gccmakedep + ]; + buildInputs = [ + libX11 + libXext + libXt + ]; makeFlags = [ "PREFIX=$(out)" "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ]; - installTargets = [ "install" "install.man" ]; + installTargets = [ + "install" + "install.man" + ]; meta = { description = "X11 screen zoom tool"; - license = lib.licenses.free ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.free; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; mainProgram = "xzoom"; }; diff --git a/pkgs/by-name/ya/yabasic/package.nix b/pkgs/by-name/ya/yabasic/package.nix index d5c2dbf2e4e97..677ac5be4b749 100644 --- a/pkgs/by-name/ya/yabasic/package.nix +++ b/pkgs/by-name/ya/yabasic/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, libSM -, libX11 -, libXt -, libffi -, ncurses +{ + lib, + stdenv, + fetchurl, + libSM, + libX11, + libXt, + libffi, + ncurses, }: stdenv.mkDerivation (finalAttrs: { @@ -36,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { allows to create standalone programs. Yabasic runs under Unix and Windows and has a comprehensive documentation; it is small, simple, open-source and free. - ''; + ''; changelog = "https://2484.de/yabasic/whatsnew.html"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ AndersonTorres ]; diff --git a/pkgs/by-name/ya/yad/package.nix b/pkgs/by-name/ya/yad/package.nix index 1a7d07ed51049..7b1bf736bcd00 100644 --- a/pkgs/by-name/ya/yad/package.nix +++ b/pkgs/by-name/ya/yad/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, autoreconfHook, wrapGAppsHook3 -, gtk3, hicolor-icon-theme, netpbm }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + intltool, + autoreconfHook, + wrapGAppsHook3, + gtk3, + hicolor-icon-theme, + netpbm, +}: stdenv.mkDerivation rec { pname = "yad"; @@ -18,9 +28,17 @@ stdenv.mkDerivation rec { "--with-rgb=${placeholder "out"}/share/yad/rgb.txt" ]; - buildInputs = [ gtk3 hicolor-icon-theme ]; + buildInputs = [ + gtk3 + hicolor-icon-theme + ]; - nativeBuildInputs = [ autoreconfHook pkg-config intltool wrapGAppsHook3 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + intltool + wrapGAppsHook3 + ]; postPatch = '' sed -i src/file.c -e '21i#include ' diff --git a/pkgs/by-name/ya/yadm/package.nix b/pkgs/by-name/ya/yadm/package.nix index 0f3c4ef1db8e9..b7bd0d18da74b 100644 --- a/pkgs/by-name/ya/yadm/package.nix +++ b/pkgs/by-name/ya/yadm/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, resholve -, fetchFromGitHub -, git -, bash -, openssl -, gawk -/* -TODO: yadm can use git-crypt and transcrypt -but it does so in a way that resholve 0.6.0 -can't yet do anything smart about. It looks -like these are for interactive use, so the -main impact should just be that users still -need both of these packages in their profile -to support their use in yadm. -*/ -# , git-crypt -# , transcrypt -, j2cli -, esh -, gnupg -, coreutils -, gnutar -, installShellFiles -, runCommand -, yadm +{ + lib, + stdenv, + resholve, + fetchFromGitHub, + git, + bash, + openssl, + gawk, + /* + TODO: yadm can use git-crypt and transcrypt + but it does so in a way that resholve 0.6.0 + can't yet do anything smart about. It looks + like these are for interactive use, so the + main impact should just be that users still + need both of these packages in their profile + to support their use in yadm. + */ + # , git-crypt + # , transcrypt + j2cli, + esh, + gnupg, + coreutils, + gnutar, + installShellFiles, + runCommand, + yadm, }: resholve.mkDerivation rec { @@ -34,10 +35,10 @@ resholve.mkDerivation rec { nativeBuildInputs = [ installShellFiles ]; src = fetchFromGitHub { - owner = "TheLocehiliosan"; - repo = "yadm"; - rev = version; - hash = "sha256-VQhfRtg9wtquJGjhB8fFQqHIJ5GViMfNQQep13ZH5SE="; + owner = "TheLocehiliosan"; + repo = "yadm"; + rev = version; + hash = "sha256-VQhfRtg9wtquJGjhB8fFQqHIJ5GViMfNQQep13ZH5SE="; }; dontConfigure = true; @@ -103,8 +104,8 @@ resholve.mkDerivation rec { "$LSB_RELEASE_PROGRAM" = true; }; /* - TODO: these should be dropped as fast as they can be dealt - with properly in binlore and/or resholve. + TODO: these should be dropped as fast as they can be dealt + with properly in binlore and/or resholve. */ execer = [ "cannot:${j2cli}/bin/j2" @@ -116,7 +117,7 @@ resholve.mkDerivation rec { }; passthru.tests = { - minimal = runCommand "${pname}-test" {} '' + minimal = runCommand "${pname}-test" { } '' export HOME=$out ${yadm}/bin/yadm init ''; diff --git a/pkgs/by-name/ya/yaegi/package.nix b/pkgs/by-name/ya/yaegi/package.nix index 1721417e7ec91..50426b5d7946b 100644 --- a/pkgs/by-name/ya/yaegi/package.nix +++ b/pkgs/by-name/ya/yaegi/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, yaegi +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + yaegi, }: buildGoModule rec { diff --git a/pkgs/by-name/ya/yaft/package.nix b/pkgs/by-name/ya/yaft/package.nix index c38d90bd4043b..ceab3d6d8610d 100644 --- a/pkgs/by-name/ya/yaft/package.nix +++ b/pkgs/by-name/ya/yaft/package.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, +}: stdenv.mkDerivation rec { version = "0.2.9"; pname = "yaft"; - outputs = [ "out" "terminfo" ]; + outputs = [ + "out" + "terminfo" + ]; src = fetchFromGitHub { owner = "uobikiemukot"; @@ -15,7 +23,10 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - installFlags = [ "PREFIX=$(out)" "MANPREFIX=$(out)/share/man" ]; + installFlags = [ + "PREFIX=$(out)" + "MANPREFIX=$(out)/share/man" + ]; postInstall = '' mkdir -p $out/nix-support $terminfo/share diff --git a/pkgs/by-name/ya/yai/package.nix b/pkgs/by-name/ya/yai/package.nix index 958b88bc22976..cad6fe75f8be5 100644 --- a/pkgs/by-name/ya/yai/package.nix +++ b/pkgs/by-name/ya/yai/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "yai"; diff --git a/pkgs/by-name/ya/yajl/package.nix b/pkgs/by-name/ya/yajl/package.nix index 83aedce31ff85..e665ae8e66267 100644 --- a/pkgs/by-name/ya/yajl/package.nix +++ b/pkgs/by-name/ya/yajl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, which, testers }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + which, + testers, +}: stdenv.mkDerivation (finalAttrs: { pname = "yajl"; diff --git a/pkgs/by-name/ya/yajsv/package.nix b/pkgs/by-name/ya/yajsv/package.nix index d6293c74399d2..6d08a5d87f269 100644 --- a/pkgs/by-name/ya/yajsv/package.nix +++ b/pkgs/by-name/ya/yajsv/package.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: let version = "1.4.1"; @@ -16,7 +20,10 @@ buildGoModule { vendorHash = "sha256-f45climGKl7HxD+1vz2TGqW/d0dqJ0RfvgJoRRM6lUk="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doInstallCheck = true; diff --git a/pkgs/by-name/ya/yallback/package.nix b/pkgs/by-name/ya/yallback/package.nix index 19ad53d038df6..b1b221fce7ecc 100644 --- a/pkgs/by-name/ya/yallback/package.nix +++ b/pkgs/by-name/ya/yallback/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, coreutils -, bashInteractive +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + bashInteractive, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-t+fdnDJMFiFqN23dSY3TnsZsIDcravtwdNKJ5MiZosE="; }; - buildInputs = [ coreutils bashInteractive ]; + buildInputs = [ + coreutils + bashInteractive + ]; nativeBuildInputs = [ makeWrapper ]; installPhase = '' diff --git a/pkgs/by-name/ya/yambar-hyprland-wses/package.nix b/pkgs/by-name/ya/yambar-hyprland-wses/package.nix index e64e8e13dec1f..871c4cecf5f49 100644 --- a/pkgs/by-name/ya/yambar-hyprland-wses/package.nix +++ b/pkgs/by-name/ya/yambar-hyprland-wses/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { meta = { description = "Enable Yambar to show Hyprland workspaces"; homepage = "https://github.com/jonhoo/yambar-hyprland-wses"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; maintainers = with lib.maintainers; [ ludovicopiero ]; mainProgram = "yambar-hyprland-wses"; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/ya/yambar/package.nix b/pkgs/by-name/ya/yambar/package.nix index 776f5fdab2491..c87215b84b662 100644 --- a/pkgs/by-name/ya/yambar/package.nix +++ b/pkgs/by-name/ya/yambar/package.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchFromGitea -, alsa-lib -, bison -, fcft -, flex -, json_c -, libmpdclient -, libyaml -, meson -, ninja -, pipewire -, pixman -, pkg-config -, pulseaudio -, scdoc -, tllist -, udev -, wayland -, wayland-protocols -, wayland-scanner -, xcbutil -, xcbutilcursor -, xcbutilerrors -, xcbutilwm -, waylandSupport ? true -, x11Support ? true +{ + lib, + stdenv, + fetchFromGitea, + alsa-lib, + bison, + fcft, + flex, + json_c, + libmpdclient, + libyaml, + meson, + ninja, + pipewire, + pixman, + pkg-config, + pulseaudio, + scdoc, + tllist, + udev, + wayland, + wayland-protocols, + wayland-scanner, + xcbutil, + xcbutilcursor, + xcbutilerrors, + xcbutilwm, + waylandSupport ? true, + x11Support ? true, }: assert (x11Support || waylandSupport); @@ -41,7 +42,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-QCwwMpBYuMWYqxE2ugPFpG/QtZDW7VsSBYs5EqKYejA="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; depsBuildBuild = [ pkg-config ]; @@ -55,26 +59,29 @@ stdenv.mkDerivation (finalAttrs: { wayland-scanner ]; - buildInputs = [ - alsa-lib - fcft - json_c - libmpdclient - libyaml - pipewire - pixman - pulseaudio - tllist - udev - ] ++ lib.optionals (waylandSupport) [ - wayland - wayland-protocols - ] ++ lib.optionals (x11Support) [ - xcbutil - xcbutilcursor - xcbutilerrors - xcbutilwm - ]; + buildInputs = + [ + alsa-lib + fcft + json_c + libmpdclient + libyaml + pipewire + pixman + pulseaudio + tllist + udev + ] + ++ lib.optionals (waylandSupport) [ + wayland + wayland-protocols + ] + ++ lib.optionals (x11Support) [ + xcbutil + xcbutilcursor + xcbutilerrors + xcbutilwm + ]; strictDeps = true; diff --git a/pkgs/by-name/ya/yamdi/package.nix b/pkgs/by-name/ya/yamdi/package.nix index 1bcfffb929036..7c52cc4cccf96 100644 --- a/pkgs/by-name/ya/yamdi/package.nix +++ b/pkgs/by-name/ya/yamdi/package.nix @@ -1,5 +1,6 @@ { - lib, stdenv, + lib, + stdenv, fetchurl, }: diff --git a/pkgs/by-name/ya/yaml-language-server/package.nix b/pkgs/by-name/ya/yaml-language-server/package.nix index 585ea255ef7d5..740c525f06b03 100644 --- a/pkgs/by-name/ya/yaml-language-server/package.nix +++ b/pkgs/by-name/ya/yaml-language-server/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchYarnDeps -, fixup-yarn-lock -, makeWrapper -, nodejs -, stdenv -, yarn +{ + lib, + fetchFromGitHub, + fetchYarnDeps, + fixup-yarn-lock, + makeWrapper, + nodejs, + stdenv, + yarn, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ya/yaml-merge/package.nix b/pkgs/by-name/ya/yaml-merge/package.nix index a5113a92f7021..c7983acbd2ac8 100644 --- a/pkgs/by-name/ya/yaml-merge/package.nix +++ b/pkgs/by-name/ya/yaml-merge/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3Packages }: +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, +}: stdenv.mkDerivation { pname = "yaml-merge"; @@ -12,7 +17,7 @@ stdenv.mkDerivation { }; pythonPath = with python3Packages; [ pyyaml ]; - nativeBuildInputs = with python3Packages; [ wrapPython ]; + nativeBuildInputs = with python3Packages; [ wrapPython ]; installPhase = '' install -Dm755 yaml-merge.py $out/bin/yaml-merge diff --git a/pkgs/by-name/ya/yaml2json/package.nix b/pkgs/by-name/ya/yaml2json/package.nix index 74775dd605f4f..c77b88f3d2a30 100644 --- a/pkgs/by-name/ya/yaml2json/package.nix +++ b/pkgs/by-name/ya/yaml2json/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "yaml2json"; @@ -15,7 +19,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/bronze1man/yaml2json"; diff --git a/pkgs/by-name/ya/yamlpath/package.nix b/pkgs/by-name/ya/yamlpath/package.nix index 8bb0fcc8311c9..3d3c047bb228c 100644 --- a/pkgs/by-name/ya/yamlpath/package.nix +++ b/pkgs/by-name/ya/yamlpath/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, hiera-eyaml -, python3 +{ + lib, + fetchFromGitHub, + hiera-eyaml, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -43,12 +44,12 @@ python3.pkgs.buildPythonApplication rec { longDescription = '' Command-line get/set/merge/validate/scan/convert/diff processors for YAML/JSON/Compatible data using powerful, intuitive, command-line friendly syntax - ''; + ''; license = licenses.isc; maintainers = with maintainers; [ Flakebi ]; - # No support for ruamel.yaml > 0.17.21 - # https://github.com/wwkimball/yamlpath/issues/217 + # No support for ruamel.yaml > 0.17.21 + # https://github.com/wwkimball/yamlpath/issues/217 broken = true; }; } diff --git a/pkgs/by-name/ya/yams/package.nix b/pkgs/by-name/ya/yams/package.nix index e4afe4ad2729c..713d8a96b7628 100644 --- a/pkgs/by-name/ya/yams/package.nix +++ b/pkgs/by-name/ya/yams/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonPackage rec { pname = "yams"; diff --git a/pkgs/by-name/ya/yanic/package.nix b/pkgs/by-name/ya/yanic/package.nix index 459963c193032..5ac0ff685481d 100644 --- a/pkgs/by-name/ya/yanic/package.nix +++ b/pkgs/by-name/ya/yanic/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/by-name/ya/yank/package.nix b/pkgs/by-name/ya/yank/package.nix index 50d883759130f..8cdc1dc8aeb70 100644 --- a/pkgs/by-name/ya/yank/package.nix +++ b/pkgs/by-name/ya/yank/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, xsel }: +{ + lib, + stdenv, + fetchFromGitHub, + xsel, +}: stdenv.mkDerivation rec { pname = "yank"; diff --git a/pkgs/by-name/ya/yanone-kaffeesatz/package.nix b/pkgs/by-name/ya/yanone-kaffeesatz/package.nix index 8fced0b73a63d..0c68556eb0123 100644 --- a/pkgs/by-name/ya/yanone-kaffeesatz/package.nix +++ b/pkgs/by-name/ya/yanone-kaffeesatz/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "yanone-kaffeesatz"; diff --git a/pkgs/by-name/ya/yap/package.nix b/pkgs/by-name/ya/yap/package.nix index d58f2e9d728db..28fd6dabcd929 100644 --- a/pkgs/by-name/ya/yap/package.nix +++ b/pkgs/by-name/ya/yap/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, readline, gmp, zlib }: +{ + lib, + stdenv, + fetchurl, + readline, + gmp, + zlib, +}: stdenv.mkDerivation rec { version = "6.3.3"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "0y7sjwimadqsvgx9daz28c9mxcx9n1znxklih9xg16k6n54v9qxf"; }; - buildInputs = [ readline gmp zlib ]; + buildInputs = [ + readline + gmp + zlib + ]; configureFlags = [ "--enable-tabling=yes" ]; @@ -21,7 +32,8 @@ stdenv.mkDerivation rec { meta = { # the linux 32 bit build fails. - broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || !stdenv.hostPlatform.is64bit; + broken = + (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || !stdenv.hostPlatform.is64bit; homepage = "http://www.dcc.fc.up.pt/~vsc/Yap/"; description = "ISO-compatible high-performance Prolog compiler"; license = lib.licenses.artistic2; diff --git a/pkgs/by-name/ya/yapesdl/package.nix b/pkgs/by-name/ya/yapesdl/package.nix index 9b974c3eebe25..5a3bc20c13115 100644 --- a/pkgs/by-name/ya/yapesdl/package.nix +++ b/pkgs/by-name/ya/yapesdl/package.nix @@ -28,7 +28,10 @@ stdenv.mkDerivation (finalAttrs: { makeFlags = [ "CC=${stdenv.cc.targetPrefix}c++" ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; strictDeps = true; diff --git a/pkgs/by-name/ya/yarGen/package.nix b/pkgs/by-name/ya/yarGen/package.nix index d1bc8a864721a..0c3bb3b5eeff4 100644 --- a/pkgs/by-name/ya/yarGen/package.nix +++ b/pkgs/by-name/ya/yarGen/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchpatch +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, }: python3.pkgs.buildPythonApplication rec { pname = "yarGen"; diff --git a/pkgs/by-name/ya/yara-x/package.nix b/pkgs/by-name/ya/yara-x/package.nix index 88d9b32bcf165..ba34ef4c1d4ff 100644 --- a/pkgs/by-name/ya/yara-x/package.nix +++ b/pkgs/by-name/ya/yara-x/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, cmake -, installShellFiles -, testers -, yara-x +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + cmake, + installShellFiles, + testers, + yara-x, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-iWgfI5jiEbBHkew82Ej7Ku17JDVI4O0iiOxs9lxEJS4="; - nativeBuildInputs = [ cmake installShellFiles ]; + nativeBuildInputs = [ + cmake + installShellFiles + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd yr \ @@ -39,7 +43,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://virustotal.github.io/yara-x/"; changelog = "https://github.com/VirusTotal/yara-x/releases/tag/v${version}"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ fab lesuisse ]; + maintainers = with lib.maintainers; [ + fab + lesuisse + ]; mainProgram = "yr"; }; } diff --git a/pkgs/by-name/ya/yaralyzer/package.nix b/pkgs/by-name/ya/yaralyzer/package.nix index 9854a696ac991..fe97dc6ec303f 100644 --- a/pkgs/by-name/ya/yaralyzer/package.nix +++ b/pkgs/by-name/ya/yaralyzer/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ya/yarn-bash-completion/package.nix b/pkgs/by-name/ya/yarn-bash-completion/package.nix index 48d1f42b5cedb..748db1f186f0d 100644 --- a/pkgs/by-name/ya/yarn-bash-completion/package.nix +++ b/pkgs/by-name/ya/yarn-bash-completion/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ya/yarn/package.nix b/pkgs/by-name/ya/yarn/package.nix index e8bf911a70811..417af7120d421 100644 --- a/pkgs/by-name/ya/yarn/package.nix +++ b/pkgs/by-name/ya/yarn/package.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchzip -, nodejs -, stdenvNoCC -, testers -, gitUpdater -, withNode ? true +{ + lib, + fetchFromGitHub, + fetchzip, + nodejs, + stdenvNoCC, + testers, + gitUpdater, + withNode ? true, }: let @@ -36,9 +37,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; passthru = { - tests.version = lib.optionalAttrs withNode (testers.testVersion { - package = finalAttrs.finalPackage; - }); + tests.version = lib.optionalAttrs withNode ( + testers.testVersion { + package = finalAttrs.finalPackage; + } + ); updateScript = gitUpdater { url = "https://github.com/yarnpkg/yarn.git"; @@ -51,7 +54,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://classic.yarnpkg.com/"; changelog = "https://github.com/yarnpkg/yarn/blob/v${finalAttrs.version}/CHANGELOG.md"; license = licenses.bsd2; - maintainers = with maintainers; [ offline screendriver ]; + maintainers = with maintainers; [ + offline + screendriver + ]; platforms = platforms.all; mainProgram = "yarn"; }; diff --git a/pkgs/by-name/ya/yarp/package.nix b/pkgs/by-name/ya/yarp/package.nix index 4f2e45384b76c..f14e40f931fa8 100644 --- a/pkgs/by-name/ya/yarp/package.nix +++ b/pkgs/by-name/ya/yarp/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ace +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ace, }: stdenv.mkDerivation rec { @@ -31,4 +36,3 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.nico202 ]; }; } - diff --git a/pkgs/by-name/ya/yarr/package.nix b/pkgs/by-name/ya/yarr/package.nix index 205e52012cd7d..e8f39fb3cc1a7 100644 --- a/pkgs/by-name/ya/yarr/package.nix +++ b/pkgs/by-name/ya/yarr/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, yarr }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + yarr, +}: buildGoModule rec { pname = "yarr"; @@ -15,9 +21,17 @@ buildGoModule rec { subPackages = [ "src" ]; - ldflags = [ "-s" "-w" "-X main.Version=${version}" "-X main.GitHash=none" ]; - - tags = [ "sqlite_foreign_keys" "release" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + "-X main.GitHash=none" + ]; + + tags = [ + "sqlite_foreign_keys" + "release" + ]; postInstall = '' mv $out/bin/{src,yarr} diff --git a/pkgs/by-name/ya/yaru-remix-theme/package.nix b/pkgs/by-name/ya/yaru-remix-theme/package.nix index b49236d36e9b6..281ada4dac358 100644 --- a/pkgs/by-name/ya/yaru-remix-theme/package.nix +++ b/pkgs/by-name/ya/yaru-remix-theme/package.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, meson, sassc, pkg-config, glib, ninja, python3, gtk3, gnome, gnome-themes-extra }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + sassc, + pkg-config, + glib, + ninja, + python3, + gtk3, + gnome, + gnome-themes-extra, +}: stdenv.mkDerivation rec { pname = "yaru-remix"; @@ -11,8 +24,18 @@ stdenv.mkDerivation rec { sha256 = "0xilhw5gbxsyy80ixxgj0nw6w782lz9dsinhi24026li1xny804c"; }; - nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; - buildInputs = [ gtk3 gnome-themes-extra ]; + nativeBuildInputs = [ + meson + sassc + pkg-config + glib + ninja + python3 + ]; + buildInputs = [ + gtk3 + gnome-themes-extra + ]; dontDropIconThemeCache = true; @@ -21,7 +44,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fork of the Yaru GTK theme"; homepage = "https://github.com/Muqtxdir/yaru-remix"; - license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ]; + license = with licenses; [ + cc-by-sa-40 + gpl3Plus + lgpl21Only + lgpl3Only + ]; platforms = platforms.linux; maintainers = with maintainers; [ hoppla20 ]; }; diff --git a/pkgs/by-name/ya/yaru-theme/package.nix b/pkgs/by-name/ya/yaru-theme/package.nix index 9a059aa9dcc13..8f19ee0b55b09 100644 --- a/pkgs/by-name/ya/yaru-theme/package.nix +++ b/pkgs/by-name/ya/yaru-theme/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, sassc -, pkg-config -, glib -, ninja -, python3 -, gtk3 -, gnome-themes-extra -, gtk-engine-murrine -, humanity-icon-theme -, hicolor-icon-theme +{ + lib, + stdenv, + fetchFromGitHub, + meson, + sassc, + pkg-config, + glib, + ninja, + python3, + gtk3, + gnome-themes-extra, + gtk-engine-murrine, + humanity-icon-theme, + hicolor-icon-theme, }: stdenv.mkDerivation rec { @@ -25,9 +26,22 @@ stdenv.mkDerivation rec { hash = "sha256-ioBni/prc2HzrXd6zBgZQQsfQDWxlfWOphtY0o/8uM0="; }; - nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; - buildInputs = [ gtk3 gnome-themes-extra ]; - propagatedBuildInputs = [ humanity-icon-theme hicolor-icon-theme ]; + nativeBuildInputs = [ + meson + sassc + pkg-config + glib + ninja + python3 + ]; + buildInputs = [ + gtk3 + gnome-themes-extra + ]; + propagatedBuildInputs = [ + humanity-icon-theme + hicolor-icon-theme + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; dontDropIconThemeCache = true; @@ -37,7 +51,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Ubuntu community theme 'yaru' - default Ubuntu theme since 18.10"; homepage = "https://github.com/ubuntu/yaru"; - license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ]; + license = with licenses; [ + cc-by-sa-40 + gpl3Plus + lgpl21Only + lgpl3Only + ]; platforms = platforms.linux; maintainers = with maintainers; [ moni ]; }; diff --git a/pkgs/by-name/ya/yas/package.nix b/pkgs/by-name/ya/yas/package.nix index 0dad3fbf76dd0..e394d342a5020 100644 --- a/pkgs/by-name/ya/yas/package.nix +++ b/pkgs/by-name/ya/yas/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "yas"; diff --git a/pkgs/by-name/ya/yasashisa-gothic/package.nix b/pkgs/by-name/ya/yasashisa-gothic/package.nix index 20a629707f8dd..84771fd9d3158 100644 --- a/pkgs/by-name/ya/yasashisa-gothic/package.nix +++ b/pkgs/by-name/ya/yasashisa-gothic/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzrip +{ + lib, + stdenvNoCC, + fetchurl, + unzrip, }: stdenvNoCC.mkDerivation { @@ -33,7 +34,10 @@ stdenvNoCC.mkDerivation { meta = with lib; { description = "Free gothic style font by Fontna"; homepage = "http://www.fontna.com/blog/379/"; - license = with licenses; [ ipa mplus ]; + license = with licenses; [ + ipa + mplus + ]; platforms = platforms.all; maintainers = with maintainers; [ h7x4 ]; }; diff --git a/pkgs/by-name/ya/yascreen/package.nix b/pkgs/by-name/ya/yascreen/package.nix index d1b96ac3ebe3d..5a83c9b8884cd 100644 --- a/pkgs/by-name/ya/yascreen/package.nix +++ b/pkgs/by-name/ya/yascreen/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, go-md2man, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + go-md2man, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "yascreen"; diff --git a/pkgs/by-name/ya/yash/package.nix b/pkgs/by-name/ya/yash/package.nix index 3e57b7b9a0fb2..d3196034f355b 100644 --- a/pkgs/by-name/ya/yash/package.nix +++ b/pkgs/by-name/ya/yash/package.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, gettext, ncurses, asciidoc }: +{ + stdenv, + lib, + fetchFromGitHub, + gettext, + ncurses, + asciidoc, +}: stdenv.mkDerivation rec { pname = "yash"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ asciidoc gettext ]; + nativeBuildInputs = [ + asciidoc + gettext + ]; buildInputs = [ ncurses ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ gettext ]; meta = with lib; { diff --git a/pkgs/by-name/ya/yasm/package.nix b/pkgs/by-name/ya/yasm/package.nix index 58b8252729a7d..3577781c9818f 100644 --- a/pkgs/by-name/ya/yasm/package.nix +++ b/pkgs/by-name/ya/yasm/package.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, buildPackages}: +{ + lib, + stdenv, + fetchurl, + buildPackages, +}: stdenv.mkDerivation rec { pname = "yasm"; diff --git a/pkgs/by-name/ya/yasr/package.nix b/pkgs/by-name/ya/yasr/package.nix index da18f0cc825e6..604bb3691a2ed 100644 --- a/pkgs/by-name/ya/yasr/package.nix +++ b/pkgs/by-name/ya/yasr/package.nix @@ -1,4 +1,8 @@ -{lib, stdenv,fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "yasr"; diff --git a/pkgs/by-name/ya/yatas/package.nix b/pkgs/by-name/ya/yatas/package.nix index e351ea244f5de..987fac48d0a77 100644 --- a/pkgs/by-name/ya/yatas/package.nix +++ b/pkgs/by-name/ya/yatas/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ya/yate/package.nix b/pkgs/by-name/ya/yate/package.nix index 76eb27a624cc6..afa83f5680735 100644 --- a/pkgs/by-name/ya/yate/package.nix +++ b/pkgs/by-name/ya/yate/package.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchurl, lib, openssl, pkg-config }: +{ + stdenv, + fetchurl, + lib, + openssl, + pkg-config, +}: stdenv.mkDerivation rec { pname = "yate"; @@ -14,22 +20,20 @@ stdenv.mkDerivation rec { buildInputs = [ openssl ]; # /dev/null is used when linking which is a impure path for the wrapper - postPatch = - '' - patchShebangs configure - substituteInPlace configure --replace ",/dev/null" "" - ''; + postPatch = '' + patchShebangs configure + substituteInPlace configure --replace ",/dev/null" "" + ''; enableParallelBuilding = false; # fails to build if true # --unresolved-symbols=ignore-in-shared-libs makes ld no longer find --library=yate? Why? - preBuild = - '' - export NIX_LDFLAGS="-L$TMP/yate $NIX_LDFLAGS" - find . -type f -iname Makefile | xargs sed -i \ - -e 's@-Wl,--unresolved-symbols=ignore-in-shared-libs@@' \ - -e 's@-Wl,--retain-symbols-file@@' - ''; + preBuild = '' + export NIX_LDFLAGS="-L$TMP/yate $NIX_LDFLAGS" + find . -type f -iname Makefile | xargs sed -i \ + -e 's@-Wl,--unresolved-symbols=ignore-in-shared-libs@@' \ + -e 's@-Wl,--retain-symbols-file@@' + ''; meta = { description = "Yet another telephony engine"; @@ -38,7 +42,10 @@ stdenv.mkDerivation rec { # OpenH323 and PWlib (licensed under MPL). license = lib.licenses.gpl2Only; maintainers = [ lib.maintainers.marcweber ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/by-name/ya/yaup/package.nix b/pkgs/by-name/ya/yaup/package.nix index d2fa2778fc875..367af835faa9a 100644 --- a/pkgs/by-name/ya/yaup/package.nix +++ b/pkgs/by-name/ya/yaup/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch2 -, intltool -, pkg-config -, wrapGAppsHook3 -, gtk3 -, miniupnpc +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + intltool, + pkg-config, + wrapGAppsHook3, + gtk3, + miniupnpc, }: stdenv.mkDerivation { diff --git a/pkgs/by-name/ya/yaws/package.nix b/pkgs/by-name/ya/yaws/package.nix index f92db7be0852a..db34b0e920140 100644 --- a/pkgs/by-name/ya/yaws/package.nix +++ b/pkgs/by-name/ya/yaws/package.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchFromGitHub, erlang, pam, perl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + erlang, + pam, + perl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "yaws"; @@ -14,7 +22,11 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-extrainclude=${pam}/include/security" ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ erlang pam perl ]; + buildInputs = [ + erlang + pam + perl + ]; postInstall = '' sed -i "s#which #type -P #" $out/bin/yaws diff --git a/pkgs/by-name/ya/yaxg/package.nix b/pkgs/by-name/ya/yaxg/package.nix index dd428ae0c427f..22e81b3b2268c 100644 --- a/pkgs/by-name/ya/yaxg/package.nix +++ b/pkgs/by-name/ya/yaxg/package.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, - maim, slop, ffmpeg, byzanz, libnotify, xdpyinfo }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + maim, + slop, + ffmpeg, + byzanz, + libnotify, + xdpyinfo, +}: stdenv.mkDerivation rec { pname = "yaxg"; @@ -13,13 +23,29 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ maim slop ffmpeg byzanz libnotify xdpyinfo ]; + buildInputs = [ + maim + slop + ffmpeg + byzanz + libnotify + xdpyinfo + ]; installPhase = '' mkdir -p $out/bin/ mv yaxg $out/bin/ chmod +x $out/bin/yaxg - wrapProgram $out/bin/yaxg --prefix PATH : ${ lib.makeBinPath [ maim slop ffmpeg byzanz libnotify xdpyinfo ]} + wrapProgram $out/bin/yaxg --prefix PATH : ${ + lib.makeBinPath [ + maim + slop + ffmpeg + byzanz + libnotify + xdpyinfo + ] + } ''; meta = with lib; { diff --git a/pkgs/by-name/yd/yder/package.nix b/pkgs/by-name/yd/yder/package.nix index 70105872ba773..6fed9bfee532b 100644 --- a/pkgs/by-name/yd/yder/package.nix +++ b/pkgs/by-name/yd/yder/package.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, orcania -, systemd -, check -, subunit -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + orcania, + systemd, + check, + subunit, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: stdenv.mkDerivation rec { @@ -28,10 +29,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ orcania ] - ++ lib.optional withSystemd systemd; + buildInputs = [ orcania ] ++ lib.optional withSystemd systemd; - nativeCheckInputs = [ check subunit ]; + nativeCheckInputs = [ + check + subunit + ]; cmakeFlags = [ "-DBUILD_YDER_TESTING=on" diff --git a/pkgs/by-name/yd/ydict/package.nix b/pkgs/by-name/yd/ydict/package.nix index 0d52c230a423a..9ceb25b0d99bb 100644 --- a/pkgs/by-name/yd/ydict/package.nix +++ b/pkgs/by-name/yd/ydict/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, makeWrapper -, mpg123 +{ + lib, + fetchFromGitHub, + buildGoModule, + makeWrapper, + mpg123, }: buildGoModule rec { diff --git a/pkgs/by-name/ye/yeahwm/package.nix b/pkgs/by-name/ye/yeahwm/package.nix index 7198447f40c7e..15cb8e7f85296 100644 --- a/pkgs/by-name/ye/yeahwm/package.nix +++ b/pkgs/by-name/ye/yeahwm/package.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles -, lesstif -, libX11 -, libXext -, libXinerama -, libXmu +{ + lib, + stdenv, + fetchurl, + installShellFiles, + lesstif, + libX11, + libXext, + libXinerama, + libXmu, }: stdenv.mkDerivation (finalAttrs: { @@ -32,20 +33,22 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - preBuild = let - includes = builtins.concatStringsSep " " - (builtins.map (l: "-I${lib.getDev l}/include") - finalAttrs.buildInputs); - ldpath = builtins.concatStringsSep " " - (builtins.map (l: "-L${lib.getLib l}/lib") - finalAttrs.buildInputs); - in '' - makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \ - XROOT="${libX11}" \ - INCLUDES="${includes}" \ - LDPATH="${ldpath}" \ - prefix="${placeholder "out"}" ) - ''; + preBuild = + let + includes = builtins.concatStringsSep " " ( + builtins.map (l: "-I${lib.getDev l}/include") finalAttrs.buildInputs + ); + ldpath = builtins.concatStringsSep " " ( + builtins.map (l: "-L${lib.getLib l}/lib") finalAttrs.buildInputs + ); + in + '' + makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \ + XROOT="${libX11}" \ + INCLUDES="${includes}" \ + LDPATH="${ldpath}" \ + prefix="${placeholder "out"}" ) + ''; # Workaround build failure on -fno-common toolchains like upstream gcc-10. # Otherwise build fails as: diff --git a/pkgs/by-name/ye/yed/package.nix b/pkgs/by-name/ye/yed/package.nix index ee4030053b677..39f81c9221400 100644 --- a/pkgs/by-name/ye/yed/package.nix +++ b/pkgs/by-name/ye/yed/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, makeWrapper, unzip, jre, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchzip, + makeWrapper, + unzip, + jre, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "yEd"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-4aotsOippuKUucweWERtqm/5pz2gwW1Sue48KPisQ0I="; }; - nativeBuildInputs = [ makeWrapper unzip wrapGAppsHook3 ]; + nativeBuildInputs = [ + makeWrapper + unzip + wrapGAppsHook3 + ]; # For wrapGAppsHook3 setup hook buildInputs = [ (jre.gtk3 or null) ]; diff --git a/pkgs/by-name/ye/yeetgif/package.nix b/pkgs/by-name/ye/yeetgif/package.nix index 6e3b7ecee39fa..42395ceaa54d7 100644 --- a/pkgs/by-name/ye/yeetgif/package.nix +++ b/pkgs/by-name/ye/yeetgif/package.nix @@ -1,4 +1,9 @@ -{ buildGoModule, fetchFromGitHub, fetchpatch, lib }: +{ + buildGoModule, + fetchFromGitHub, + fetchpatch, + lib, +}: buildGoModule rec { pname = "yeetgif"; @@ -22,12 +27,19 @@ buildGoModule rec { }) ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "gif effects CLI. single binary, no dependencies. linux, osx, windows. #1 workplace productivity booster. #yeetgif #eggplant #golang"; homepage = "https://github.com/sgreben/yeetgif"; - license = with licenses; [ mit asl20 cc-by-nc-sa-40 ]; + license = with licenses; [ + mit + asl20 + cc-by-nc-sa-40 + ]; maintainers = with maintainers; [ ajs124 ]; mainProgram = "gif"; }; diff --git a/pkgs/by-name/ye/yelp-tools/package.nix b/pkgs/by-name/ye/yelp-tools/package.nix index 4ad4b4e806ffb..3d94ad56622db 100644 --- a/pkgs/by-name/ye/yelp-tools/package.nix +++ b/pkgs/by-name/ye/yelp-tools/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchurl -, libxml2 -, libxslt -, itstool -, gnome -, pkg-config -, meson -, ninja -, python3 -, yelp-xsl +{ + lib, + fetchurl, + libxml2, + libxslt, + itstool, + gnome, + pkg-config, + meson, + ninja, + python3, + yelp-xsl, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/ye/yelp-xsl/package.nix b/pkgs/by-name/ye/yelp-xsl/package.nix index 7f255d9c5671f..613e12f0a561c 100644 --- a/pkgs/by-name/ye/yelp-xsl/package.nix +++ b/pkgs/by-name/ye/yelp-xsl/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, gettext -, fetchurl -, pkg-config -, itstool -, libxml2 -, libxslt -, gnome +{ + lib, + stdenv, + gettext, + fetchurl, + pkg-config, + itstool, + libxml2, + libxslt, + gnome, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ye/yelp/package.nix b/pkgs/by-name/ye/yelp/package.nix index 4e95d25991427..652cc277ae9a7 100644 --- a/pkgs/by-name/ye/yelp/package.nix +++ b/pkgs/by-name/ye/yelp/package.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, gettext -, fetchurl -, webkitgtk_4_1 -, pkg-config -, gtk3 -, libhandy -, glib -, gnome -, adwaita-icon-theme -, sqlite -, itstool -, libxml2 -, libxslt -, gst_all_1 -, wrapGAppsHook3 -, yelp-xsl +{ + lib, + stdenv, + gettext, + fetchurl, + webkitgtk_4_1, + pkg-config, + gtk3, + libhandy, + glib, + gnome, + adwaita-icon-theme, + sqlite, + itstool, + libxml2, + libxslt, + gst_all_1, + wrapGAppsHook3, + yelp-xsl, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/ye/yersinia/package.nix b/pkgs/by-name/ye/yersinia/package.nix index cc17452a96924..487e93078564e 100644 --- a/pkgs/by-name/ye/yersinia/package.nix +++ b/pkgs/by-name/ye/yersinia/package.nix @@ -1,9 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config -, ncurses, libpcap, libnet -# alpha version of GTK interface -, withGtk ? false, gtk2 -# enable remote admin interface -, enableAdmin ? false +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + ncurses, + libpcap, + libnet, + # alpha version of GTK interface + withGtk ? false, + gtk2, + # enable remote admin interface + enableAdmin ? false, }: stdenv.mkDerivation rec { @@ -17,18 +25,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-VShg9Nzd8dzUNiqYnKcDzRgqjwar/8XRGEJCJL25aR0="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libpcap libnet ncurses ] - ++ lib.optional withGtk gtk2; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + libpcap + libnet + ncurses + ] ++ lib.optional withGtk gtk2; autoreconfPhase = "./autogen.sh"; - configureFlags = [ - "--with-pcap-includes=${libpcap}/include" - "--with-libnet-includes=${libnet}/include" - ] - ++ lib.optional (!enableAdmin) "--disable-admin" - ++ lib.optional (!withGtk) "--disable-gtk"; + configureFlags = + [ + "--with-pcap-includes=${libpcap}/include" + "--with-libnet-includes=${libnet}/include" + ] + ++ lib.optional (!enableAdmin) "--disable-admin" + ++ lib.optional (!withGtk) "--disable-gtk"; makeFlags = [ "LDFLAGS=-lncurses" ]; diff --git a/pkgs/by-name/ye/yeshup/package.nix b/pkgs/by-name/ye/yeshup/package.nix index 723021d0ee74a..6d3e5168badd2 100644 --- a/pkgs/by-name/ye/yeshup/package.nix +++ b/pkgs/by-name/ye/yeshup/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "yeshup"; @@ -6,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "RhysU"; - repo = "yeshup"; + repo = "yeshup"; rev = "5461a8f957c686ccd0240be3f0fd8124d7381b08"; sha256 = "1wwbc158y46jsmdi1lp0m3dlbr9kvzvwxfvzj6646cpy9d6h21v9"; }; diff --git a/pkgs/by-name/ye/yesplaymusic/package.nix b/pkgs/by-name/ye/yesplaymusic/package.nix index c10184161f934..78b47a99ac996 100644 --- a/pkgs/by-name/ye/yesplaymusic/package.nix +++ b/pkgs/by-name/ye/yesplaymusic/package.nix @@ -1,51 +1,55 @@ -{ lib -, stdenv -, fetchurl -, _7zz -, dpkg -, autoPatchelfHook -, wrapGAppsHook3 -, makeWrapper -, alsa-lib -, at-spi2-atk -, cups -, nspr -, nss -, mesa # for libgbm -, xorg -, xdg-utils -, libdrm -, libnotify -, libsecret -, libuuid -, gtk3 -, systemd +{ + lib, + stdenv, + fetchurl, + _7zz, + dpkg, + autoPatchelfHook, + wrapGAppsHook3, + makeWrapper, + alsa-lib, + at-spi2-atk, + cups, + nspr, + nss, + mesa, # for libgbm + xorg, + xdg-utils, + libdrm, + libnotify, + libsecret, + libuuid, + gtk3, + systemd, }: let pname = "yesplaymusic"; version = "0.4.8-2"; - srcs = let - version' = lib.head (lib.splitString "-" version); - in { - x86_64-linux = fetchurl { - url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/yesplaymusic_${version'}_amd64.deb"; - hash = "sha256-iTWi+tZGUQU7J1mcmMdlWXSKpYGy4mMAeq9CN9fhnZ8="; + srcs = + let + version' = lib.head (lib.splitString "-" version); + in + { + x86_64-linux = fetchurl { + url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/yesplaymusic_${version'}_amd64.deb"; + hash = "sha256-iTWi+tZGUQU7J1mcmMdlWXSKpYGy4mMAeq9CN9fhnZ8="; + }; + aarch64-linux = fetchurl { + url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/yesplaymusic_${version'}_arm64.deb"; + hash = "sha256-PP0apybSORqleOBogldgIV1tYZqao8kZ474muAEDpd0"; + }; + x86_64-darwin = fetchurl { + url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/YesPlayMusic-mac-${version'}-x64.dmg"; + hash = "sha256-UHnEdoXT/vArSRKXPlfDYUUUMDyF2mnDsmJEjACW2vo="; + }; + aarch64-darwin = fetchurl { + url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/YesPlayMusic-mac-${version'}-arm64.dmg"; + hash = "sha256-FaeumNmkPQYj9Ae2Xw/eKUuezR4bEdni8li+NRU9i1k="; + }; }; - aarch64-linux = fetchurl { - url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/yesplaymusic_${version'}_arm64.deb"; - hash = "sha256-PP0apybSORqleOBogldgIV1tYZqao8kZ474muAEDpd0"; - }; - x86_64-darwin = fetchurl { - url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/YesPlayMusic-mac-${version'}-x64.dmg"; - hash = "sha256-UHnEdoXT/vArSRKXPlfDYUUUMDyF2mnDsmJEjACW2vo="; - }; - aarch64-darwin = fetchurl { - url = "https://github.com/qier222/YesPlayMusic/releases/download/v${version}/YesPlayMusic-mac-${version'}-arm64.dmg"; - hash = "sha256-FaeumNmkPQYj9Ae2Xw/eKUuezR4bEdni8li+NRU9i1k="; - }; - }; - src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); libraries = [ alsa-lib @@ -74,53 +78,67 @@ let platforms = builtins.attrNames srcs; }; in -if stdenv.hostPlatform.isDarwin -then stdenv.mkDerivation { - inherit pname version src meta; +if stdenv.hostPlatform.isDarwin then + stdenv.mkDerivation { + inherit + pname + version + src + meta + ; - nativeBuildInputs = [ _7zz makeWrapper ]; + nativeBuildInputs = [ + _7zz + makeWrapper + ]; - sourceRoot = "."; + sourceRoot = "."; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/Applications - cp -r *.app $out/Applications + mkdir -p $out/Applications + cp -r *.app $out/Applications - makeWrapper $out/Applications/YesPlayMusic.app/Contents/MacOS/YesPlayMusic $out/bin/yesplaymusic + makeWrapper $out/Applications/YesPlayMusic.app/Contents/MacOS/YesPlayMusic $out/bin/yesplaymusic - runHook postInstall - ''; -} -else stdenv.mkDerivation { - inherit pname version src meta; + runHook postInstall + ''; + } +else + stdenv.mkDerivation { + inherit + pname + version + src + meta + ; - nativeBuildInputs = [ - autoPatchelfHook - wrapGAppsHook3 - makeWrapper - dpkg - ]; + nativeBuildInputs = [ + autoPatchelfHook + wrapGAppsHook3 + makeWrapper + dpkg + ]; - buildInputs = libraries; + buildInputs = libraries; - runtimeDependencies = [ - (lib.getLib systemd) - ]; + runtimeDependencies = [ + (lib.getLib systemd) + ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/bin - cp -r opt $out/opt - cp -r usr/share $out/share - substituteInPlace $out/share/applications/yesplaymusic.desktop \ - --replace "/opt/YesPlayMusic/yesplaymusic" "$out/bin/yesplaymusic" - makeWrapper $out/opt/YesPlayMusic/yesplaymusic $out/bin/yesplaymusic \ - --argv0 "yesplaymusic" \ - --add-flags "$out/opt/YesPlayMusic/resources/app.asar" + mkdir -p $out/bin + cp -r opt $out/opt + cp -r usr/share $out/share + substituteInPlace $out/share/applications/yesplaymusic.desktop \ + --replace "/opt/YesPlayMusic/yesplaymusic" "$out/bin/yesplaymusic" + makeWrapper $out/opt/YesPlayMusic/yesplaymusic $out/bin/yesplaymusic \ + --argv0 "yesplaymusic" \ + --add-flags "$out/opt/YesPlayMusic/resources/app.asar" - runHook postInstall - ''; -} + runHook postInstall + ''; + } diff --git a/pkgs/by-name/ye/yeswiki/package.nix b/pkgs/by-name/ye/yeswiki/package.nix index 0e0562eaf52ae..6dd92d78f53fa 100644 --- a/pkgs/by-name/ye/yeswiki/package.nix +++ b/pkgs/by-name/ye/yeswiki/package.nix @@ -5,7 +5,8 @@ }: let version = "4.4.2"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "yeswiki"; inherit version; diff --git a/pkgs/by-name/ye/yewtube/package.nix b/pkgs/by-name/ye/yewtube/package.nix index b9ec7f323b370..e457699cb7ec0 100644 --- a/pkgs/by-name/ye/yewtube/package.nix +++ b/pkgs/by-name/ye/yewtube/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "yewtube"; @@ -43,6 +47,9 @@ python3Packages.buildPythonApplication rec { mainProgram = "yt"; homepage = "https://github.com/mps-youtube/yewtube"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ fgaz koral ]; + maintainers = with maintainers; [ + fgaz + koral + ]; }; } diff --git a/pkgs/by-name/ye/yex-lang/package.nix b/pkgs/by-name/ye/yex-lang/package.nix index 87719884a06ec..2950aa864f2a8 100644 --- a/pkgs/by-name/ye/yex-lang/package.nix +++ b/pkgs/by-name/ye/yex-lang/package.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/yg/yggdrasil/package.nix b/pkgs/by-name/yg/yggdrasil/package.nix index 8a43e444e8757..f88bf5d11ac80 100644 --- a/pkgs/by-name/yg/yggdrasil/package.nix +++ b/pkgs/by-name/yg/yggdrasil/package.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "yggdrasil"; @@ -13,7 +18,11 @@ buildGoModule rec { vendorHash = "sha256-1N9PCzK203gO/BM5toMNF+XaYwDPyoE6FGxwk5HmRhY="; - subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ]; + subPackages = [ + "cmd/genkeys" + "cmd/yggdrasil" + "cmd/yggdrasilctl" + ]; ldflags = [ "-X github.com/yggdrasil-network/yggdrasil-go/src/version.buildVersion=${version}" @@ -26,10 +35,14 @@ buildGoModule rec { passthru.tests.basic = nixosTests.yggdrasil; meta = with lib; { - description = - "An experiment in scalable routing as an encrypted IPv6 overlay network"; + description = "An experiment in scalable routing as an encrypted IPv6 overlay network"; homepage = "https://yggdrasil-network.github.io/"; license = licenses.lgpl3; - maintainers = with maintainers; [ ehmry gazally lassulus peigongdsd ]; + maintainers = with maintainers; [ + ehmry + gazally + lassulus + peigongdsd + ]; }; } diff --git a/pkgs/by-name/yg/yggstack/package.nix b/pkgs/by-name/yg/yggstack/package.nix index f2dff7cf9e525..1dd155c7bd42e 100644 --- a/pkgs/by-name/yg/yggstack/package.nix +++ b/pkgs/by-name/yg/yggstack/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "yggstack"; @@ -26,6 +30,9 @@ buildGoModule rec { description = "Yggdrasil as SOCKS proxy / port forwarder"; homepage = "https://yggdrasil-network.github.io/"; license = licenses.lgpl3; - maintainers = with maintainers; [ ehmry peigongdsd ]; + maintainers = with maintainers; [ + ehmry + peigongdsd + ]; }; } diff --git a/pkgs/by-name/yj/yj/package.nix b/pkgs/by-name/yj/yj/package.nix index ae45976195836..bb6f8372c3126 100644 --- a/pkgs/by-name/yj/yj/package.nix +++ b/pkgs/by-name/yj/yj/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "yj"; @@ -13,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-NeSOoL9wtFzq6ba8ghseB6D+Qq8Z5holQExcAUbtYrs="; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; meta = with lib; { description = "Convert YAML <=> TOML <=> JSON <=> HCL"; diff --git a/pkgs/by-name/yl/yle-dl/package.nix b/pkgs/by-name/yl/yle-dl/package.nix index 514bb441fd978..0094b450cff98 100644 --- a/pkgs/by-name/yl/yle-dl/package.nix +++ b/pkgs/by-name/yl/yle-dl/package.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, rtmpdump, php, wget, python3Packages, ffmpeg -, testers, yle-dl +{ + lib, + fetchFromGitHub, + rtmpdump, + php, + wget, + python3Packages, + ffmpeg, + testers, + yle-dl, }: python3Packages.buildPythonApplication rec { @@ -14,9 +22,18 @@ python3Packages.buildPythonApplication rec { }; propagatedBuildInputs = with python3Packages; [ - attrs configargparse ffmpeg future lxml requests + attrs + configargparse + ffmpeg + future + lxml + requests + ]; + pythonPath = [ + rtmpdump + php + wget ]; - pythonPath = [ rtmpdump php wget ]; doCheck = false; # tests require network access nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; diff --git a/pkgs/by-name/ym/ympd/package.nix b/pkgs/by-name/ym/ympd/package.nix index 9921bb6dfada3..89bb628e8c2f2 100644 --- a/pkgs/by-name/ym/ympd/package.nix +++ b/pkgs/by-name/ym/ympd/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libmpdclient -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libmpdclient, + openssl, }: stdenv.mkDerivation rec { @@ -25,8 +26,14 @@ stdenv.mkDerivation rec { # Should be fixed by pending https://github.com/notandy/ympd/pull/191 (does not apply as is). env.NIX_CFLAGS_COMPILE = "-fcommon"; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libmpdclient openssl ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + libmpdclient + openssl + ]; meta = with lib; { homepage = "https://github.com/notandy/ympd"; diff --git a/pkgs/by-name/ym/ymuse/package.nix b/pkgs/by-name/ym/ymuse/package.nix index 19859a1d819d9..1795f9f427912 100644 --- a/pkgs/by-name/ym/ymuse/package.nix +++ b/pkgs/by-name/ym/ymuse/package.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, wrapGAppsHook3 -, pkg-config -, glib -, gobject-introspection -, gtk3 -, gdk-pixbuf -, gettext -, librsvg +{ + lib, + fetchFromGitHub, + buildGoModule, + wrapGAppsHook3, + pkg-config, + glib, + gobject-introspection, + gtk3, + gdk-pixbuf, + gettext, + librsvg, }: buildGoModule rec { diff --git a/pkgs/by-name/yo/yo/package.nix b/pkgs/by-name/yo/yo/package.nix index b3857d44a470f..58b48ff2b9399 100644 --- a/pkgs/by-name/yo/yo/package.nix +++ b/pkgs/by-name/yo/yo/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/by-name/yo/yodl/package.nix b/pkgs/by-name/yo/yodl/package.nix index d8e5bd26b39da..cf967a7893b27 100644 --- a/pkgs/by-name/yo/yodl/package.nix +++ b/pkgs/by-name/yo/yodl/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitLab, perl, icmake, util-linux }: +{ + lib, + stdenv, + fetchFromGitLab, + perl, + icmake, + util-linux, +}: stdenv.mkDerivation rec { pname = "yodl"; diff --git a/pkgs/by-name/yo/yoink/package.nix b/pkgs/by-name/yo/yoink/package.nix index 83c767fe0c174..8a816e104506d 100644 --- a/pkgs/by-name/yo/yoink/package.nix +++ b/pkgs/by-name/yo/yoink/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildGoModule +{ + lib, + fetchFromGitHub, + buildGoModule, }: let diff --git a/pkgs/by-name/yo/yojimbo/package.nix b/pkgs/by-name/yo/yojimbo/package.nix index 6d9856fd61a91..a89e356752a01 100644 --- a/pkgs/by-name/yo/yojimbo/package.nix +++ b/pkgs/by-name/yo/yojimbo/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, premake5, doxygen, libsodium, mbedtls_2 }: +{ + lib, + stdenv, + fetchFromGitHub, + premake5, + doxygen, + libsodium, + mbedtls_2, +}: stdenv.mkDerivation { pname = "yojimbo"; @@ -12,8 +20,14 @@ stdenv.mkDerivation { fetchSubmodules = true; }; - nativeBuildInputs = [ premake5 doxygen ]; - propagatedBuildInputs = [ libsodium mbedtls_2 ]; + nativeBuildInputs = [ + premake5 + doxygen + ]; + propagatedBuildInputs = [ + libsodium + mbedtls_2 + ]; postBuild = '' premake5 docs diff --git a/pkgs/by-name/yo/yor/package.nix b/pkgs/by-name/yo/yor/package.nix index 27e875c76c316..bfedb9d25a9b2 100644 --- a/pkgs/by-name/yo/yor/package.nix +++ b/pkgs/by-name/yo/yor/package.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { diff --git a/pkgs/by-name/yo/yoshimi/package.nix b/pkgs/by-name/yo/yoshimi/package.nix index ee983726f7f51..8b0744a2ad86b 100644 --- a/pkgs/by-name/yo/yoshimi/package.nix +++ b/pkgs/by-name/yo/yoshimi/package.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, boost -, cairo -, cmake -, fftwSinglePrec -, fltk -, libGLU -, libjack2 -, libsndfile -, libXdmcp -, lv2 -, minixml -, pcre -, pkg-config -, readline -, xorg -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + boost, + cairo, + cmake, + fftwSinglePrec, + fltk, + libGLU, + libjack2, + libsndfile, + libXdmcp, + lv2, + minixml, + pcre, + pkg-config, + readline, + xorg, + zlib, }: stdenv.mkDerivation rec { @@ -38,7 +39,10 @@ stdenv.mkDerivation rec { substituteInPlace Misc/Bank.cpp --replace /usr $out ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ alsa-lib diff --git a/pkgs/by-name/yo/you-get/package.nix b/pkgs/by-name/yo/you-get/package.nix index 6f11442c496c0..cabd00e67b380 100644 --- a/pkgs/by-name/yo/you-get/package.nix +++ b/pkgs/by-name/yo/you-get/package.nix @@ -1,9 +1,10 @@ -{ lib -, python3 -, fetchPypi -, substituteAll -, ffmpeg -, installShellFiles +{ + lib, + python3, + fetchPypi, + substituteAll, + ffmpeg, + installShellFiles, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/yo/youplot/package.nix b/pkgs/by-name/yo/youplot/package.nix index b1fcb76795ad4..9abca91753f0b 100644 --- a/pkgs/by-name/yo/youplot/package.nix +++ b/pkgs/by-name/yo/youplot/package.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "youplot"; @@ -10,10 +14,10 @@ bundlerApp { meta = with lib; { description = "Command line tool that draws plots on the terminal"; - homepage = "https://github.com/red-data-tools/YouPlot"; + homepage = "https://github.com/red-data-tools/YouPlot"; mainProgram = "uplot"; - license = licenses.mit; + license = licenses.mit; maintainers = with maintainers; [ purcell ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/by-name/yo/your_spotify/client.nix b/pkgs/by-name/yo/your_spotify/client.nix index 4453d39886216..afdad50b7409c 100644 --- a/pkgs/by-name/yo/your_spotify/client.nix +++ b/pkgs/by-name/yo/your_spotify/client.nix @@ -7,7 +7,7 @@ apiEndpoint ? "http://localhost:3000", yarnConfigHook, yarnBuildHook, - nodejs + nodejs, }: stdenv.mkDerivation (finalAttrs: { @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { nodejs ]; - API_ENDPOINT="${apiEndpoint}"; + API_ENDPOINT = "${apiEndpoint}"; preBuild = '' pushd ./apps/client/ ''; diff --git a/pkgs/by-name/yo/yourkit-java/package.nix b/pkgs/by-name/yo/yourkit-java/package.nix index 2e109a36811af..0f7a40e4aded4 100644 --- a/pkgs/by-name/yo/yourkit-java/package.nix +++ b/pkgs/by-name/yo/yourkit-java/package.nix @@ -1,10 +1,11 @@ -{ fetchzip -, lib -, stdenvNoCC -, copyDesktopItems -, imagemagick -, makeDesktopItem -, jre +{ + fetchzip, + lib, + stdenvNoCC, + copyDesktopItems, + imagemagick, + makeDesktopItem, + jre, }: let vPath = v: lib.elemAt (lib.splitString "-" v) 0; @@ -16,8 +17,7 @@ let x86_64-linux = "x64"; }; - arch = - arches.${stdenvNoCC.targetPlatform.system} or (throw "Unsupported system"); + arch = arches.${stdenvNoCC.targetPlatform.system} or (throw "Unsupported system"); hashes = { arm64 = "sha256-IPgWoHLUEeMZR3kPabUeFuMLSJhhgO8BA6zTw+D3+ks="; @@ -30,7 +30,11 @@ let type = "Application"; exec = "yourkit-java-profiler %f"; icon = "yourkit-java-profiler"; - categories = [ "Development" "Java" "Profiling" ]; + categories = [ + "Development" + "Java" + "Profiling" + ]; terminal = false; startupWMClass = "YourKit Java Profiler"; }; @@ -45,7 +49,10 @@ stdenvNoCC.mkDerivation { hash = hashes.${arch}; }; - nativeBuildInputs = [ copyDesktopItems imagemagick ]; + nativeBuildInputs = [ + copyDesktopItems + imagemagick + ]; buildInputs = [ jre ]; diff --git a/pkgs/by-name/yo/youtrack/package.nix b/pkgs/by-name/yo/youtrack/package.nix index 430e5d94d5c89..bd577d54ddfe4 100644 --- a/pkgs/by-name/yo/youtrack/package.nix +++ b/pkgs/by-name/yo/youtrack/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenvNoCC, fetchzip, makeBinaryWrapper, jdk21_headless, gawk, statePath ? "/var/lib/youtrack" }: +{ + lib, + stdenvNoCC, + fetchzip, + makeBinaryWrapper, + jdk21_headless, + gawk, + statePath ? "/var/lib/youtrack", +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "youtrack"; diff --git a/pkgs/by-name/yq/yq-go/package.nix b/pkgs/by-name/yq/yq-go/package.nix index abaf4cde3cf91..0a057378fdc35 100644 --- a/pkgs/by-name/yq/yq-go/package.nix +++ b/pkgs/by-name/yq/yq-go/package.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, runCommand, yq-go }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + runCommand, + yq-go, +}: buildGoModule rec { pname = "yq-go"; @@ -35,6 +42,9 @@ buildGoModule rec { changelog = "https://github.com/mikefarah/yq/raw/v${version}/release_notes.txt"; mainProgram = "yq"; license = [ licenses.mit ]; - maintainers = with maintainers; [ lewo SuperSandro2000 ]; + maintainers = with maintainers; [ + lewo + SuperSandro2000 + ]; }; } diff --git a/pkgs/by-name/ys/ysfx/package.nix b/pkgs/by-name/ys/ysfx/package.nix index ac7807df8cd54..606cc37a15806 100644 --- a/pkgs/by-name/ys/ysfx/package.nix +++ b/pkgs/by-name/ys/ysfx/package.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config -, freetype, juce, libX11, libXcursor, libXext, libXinerama, libXrandr, libglvnd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + freetype, + juce, + libX11, + libXcursor, + libXext, + libXinerama, + libXrandr, + libglvnd, }: stdenv.mkDerivation rec { @@ -26,7 +38,10 @@ stdenv.mkDerivation rec { ln -s ${dr_libs} thirdparty/dr_libs ''; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ freetype diff --git a/pkgs/by-name/yt/ytalk/package.nix b/pkgs/by-name/yt/ytalk/package.nix index bb284a84b022a..28840545b5068 100644 --- a/pkgs/by-name/yt/ytalk/package.nix +++ b/pkgs/by-name/yt/ytalk/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "ytalk"; @@ -12,11 +17,11 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; meta = { - homepage = "http://ytalk.ourproject.org"; + homepage = "http://ytalk.ourproject.org"; description = "Terminal based talk client"; mainProgram = "ytalk"; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ taeer ]; - license = lib.licenses.gpl2Plus; + license = lib.licenses.gpl2Plus; }; } diff --git a/pkgs/by-name/yt/ytarchive/package.nix b/pkgs/by-name/yt/ytarchive/package.nix index 9f16680759a2b..283f4258df18e 100644 --- a/pkgs/by-name/yt/ytarchive/package.nix +++ b/pkgs/by-name/yt/ytarchive/package.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg-headless }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeBinaryWrapper, + ffmpeg-headless, +}: buildGoModule rec { pname = "ytarchive"; @@ -15,7 +21,11 @@ buildGoModule rec { nativeBuildInputs = [ makeBinaryWrapper ]; - ldflags = [ "-s" "-w" "-X main.Commit=-${src.rev}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Commit=-${src.rev}" + ]; postInstall = '' wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg-headless ]} diff --git a/pkgs/by-name/yt/ytcast/package.nix b/pkgs/by-name/yt/ytcast/package.nix index 7466414576955..9a1caccc1f227 100644 --- a/pkgs/by-name/yt/ytcast/package.nix +++ b/pkgs/by-name/yt/ytcast/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub, }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ytcast"; diff --git a/pkgs/by-name/yt/ytcc/package.nix b/pkgs/by-name/yt/ytcc/package.nix index 5e326316817af..4fb2f6db93994 100644 --- a/pkgs/by-name/yt/ytcc/package.nix +++ b/pkgs/by-name/yt/ytcc/package.nix @@ -1,4 +1,10 @@ -{ lib, python3Packages, fetchFromGitHub, gettext, installShellFiles }: +{ + lib, + python3Packages, + fetchFromGitHub, + gettext, + installShellFiles, +}: python3Packages.buildPythonApplication rec { pname = "ytcc"; @@ -12,12 +18,14 @@ python3Packages.buildPythonApplication rec { hash = "sha256-pC2uoog+nev/Xa6UbXX4vX00VQQLHtZzbVkxrxO/Pg8="; }; - nativeBuildInputs = [ - gettext - installShellFiles - ] ++ (with python3Packages; [ - setuptools - ]); + nativeBuildInputs = + [ + gettext + installShellFiles + ] + ++ (with python3Packages; [ + setuptools + ]); propagatedBuildInputs = with python3Packages; [ yt-dlp diff --git a/pkgs/by-name/yt/ytfzf/package.nix b/pkgs/by-name/yt/ytfzf/package.nix index c3887972a4ca4..333dad2174de9 100644 --- a/pkgs/by-name/yt/ytfzf/package.nix +++ b/pkgs/by-name/yt/ytfzf/package.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, coreutils -, curl -, dmenu -, fzf -, gnused -, jq -, mpv -, ueberzugpp -, yt-dlp +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + coreutils, + curl, + dmenu, + fzf, + gnused, + jq, + mpv, + ueberzugpp, + yt-dlp, }: stdenv.mkDerivation rec { @@ -37,9 +38,19 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram "$out/bin/ytfzf" \ - --prefix PATH : ${lib.makeBinPath [ - coreutils curl dmenu fzf gnused jq mpv ueberzugpp yt-dlp - ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + curl + dmenu + fzf + gnused + jq + mpv + ueberzugpp + yt-dlp + ] + } \ --set YTFZF_SYSTEM_ADDON_DIR "$out/share/ytfzf/addons" ''; diff --git a/pkgs/by-name/yt/ytmdl/package.nix b/pkgs/by-name/yt/ytmdl/package.nix index 3acaac1b35198..b73ccd6c8c867 100644 --- a/pkgs/by-name/yt/ytmdl/package.nix +++ b/pkgs/by-name/yt/ytmdl/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3Packages -, fetchPypi -, yt-dlp -, ffmpeg +{ + lib, + python3Packages, + fetchPypi, + yt-dlp, + ffmpeg, }: python3Packages.buildPythonApplication rec { @@ -43,7 +44,10 @@ python3Packages.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ ffmpeg ]) ]; # This application has no tests diff --git a/pkgs/by-name/yt/ytree/package.nix b/pkgs/by-name/yt/ytree/package.nix index e61a5f2b971d4..6e8846302e588 100644 --- a/pkgs/by-name/yt/ytree/package.nix +++ b/pkgs/by-name/yt/ytree/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, readline +{ + lib, + stdenv, + fetchurl, + ncurses, + readline, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/yt/ytui-music/package.nix b/pkgs/by-name/yt/ytui-music/package.nix index 0e520955e057c..6cf472a3d27f9 100644 --- a/pkgs/by-name/yt/ytui-music/package.nix +++ b/pkgs/by-name/yt/ytui-music/package.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, sqlite -, stdenv -, darwin -, mpv -, youtube-dl -, makeBinaryWrapper +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + sqlite, + stdenv, + darwin, + mpv, + youtube-dl, + makeBinaryWrapper, }: rustPlatform.buildRustPackage rec { @@ -34,14 +35,16 @@ rustPlatform.buildRustPackage rec { makeBinaryWrapper ]; - buildInputs = [ - openssl - sqlite - mpv - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreFoundation - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + openssl + sqlite + mpv + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Security + ]; postInstall = '' wrapProgram $out/bin/ytui_music \ diff --git a/pkgs/by-name/yu/yubihsm-connector/package.nix b/pkgs/by-name/yu/yubihsm-connector/package.nix index 6f7918347b726..0b0299fdcc8f1 100644 --- a/pkgs/by-name/yu/yubihsm-connector/package.nix +++ b/pkgs/by-name/yu/yubihsm-connector/package.nix @@ -1,4 +1,10 @@ -{ lib, libusb1, buildGoModule, fetchFromGitHub, pkg-config }: +{ + lib, + libusb1, + buildGoModule, + fetchFromGitHub, + pkg-config, +}: buildGoModule rec { pname = "yubihsm-connector"; @@ -21,7 +27,10 @@ buildGoModule rec { libusb1 ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; preBuild = '' GOOS= GOARCH= go generate diff --git a/pkgs/by-name/yu/yubihsm-shell/package.nix b/pkgs/by-name/yu/yubihsm-shell/package.nix index 107053ca00a71..58358991c087a 100644 --- a/pkgs/by-name/yu/yubihsm-shell/package.nix +++ b/pkgs/by-name/yu/yubihsm-shell/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, openssl -, libusb1 -, libedit -, curl -, gengetopt -, pkg-config -, pcsclite -, help2man -, darwin -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openssl, + libusb1, + libedit, + curl, + gengetopt, + pkg-config, + pcsclite, + help2man, + darwin, + libiconv, }: stdenv.mkDerivation rec { @@ -42,17 +43,20 @@ stdenv.mkDerivation rec { gengetopt ]; - buildInputs = [ - libusb1 - libedit - curl - openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - pcsclite.dev - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.PCSC - libiconv - ]; + buildInputs = + [ + libusb1 + libedit + curl + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pcsclite.dev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.PCSC + libiconv + ]; preBuild = lib.optionalString stdenv.hostPlatform.isLinux '' NIX_CFLAGS_COMPILE="$(pkg-config --cflags libpcsclite) $NIX_CFLAGS_COMPILE" diff --git a/pkgs/by-name/yu/yubikey-agent/package.nix b/pkgs/by-name/yu/yubikey-agent/package.nix index f2e290ade6db8..98a97dab94bf1 100644 --- a/pkgs/by-name/yu/yubikey-agent/package.nix +++ b/pkgs/by-name/yu/yubikey-agent/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, buildGoModule, libnotify, pcsclite, pkg-config, darwin }: +{ + stdenv, + lib, + fetchFromGitHub, + buildGoModule, + libnotify, + pcsclite, + pkg-config, + darwin, +}: buildGoModule rec { pname = "yubikey-agent"; @@ -27,7 +36,11 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" "-X main.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=${version}" + ]; postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' mkdir -p $out/lib/systemd/user @@ -40,7 +53,10 @@ buildGoModule rec { mainProgram = "yubikey-agent"; license = licenses.bsd3; homepage = "https://filippo.io/yubikey-agent"; - maintainers = with lib.maintainers; [ philandstuff rawkode ]; + maintainers = with lib.maintainers; [ + philandstuff + rawkode + ]; platforms = platforms.darwin ++ platforms.linux; }; } diff --git a/pkgs/by-name/yu/yubikey-manager/package.nix b/pkgs/by-name/yu/yubikey-manager/package.nix index 5523b6468969a..43e8490686305 100644 --- a/pkgs/by-name/yu/yubikey-manager/package.nix +++ b/pkgs/by-name/yu/yubikey-manager/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3Packages -, installShellFiles -, procps +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + installShellFiles, + procps, }: python3Packages.buildPythonPackage rec { @@ -61,7 +62,12 @@ python3Packages.buildPythonPackage rec { license = lib.licenses.bsd2; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ benley lassulus pinpox nickcao ]; + maintainers = with lib.maintainers; [ + benley + lassulus + pinpox + nickcao + ]; mainProgram = "ykman"; }; } diff --git a/pkgs/by-name/yu/yubikey-personalization/package.nix b/pkgs/by-name/yu/yubikey-personalization/package.nix index 13a1cc3611973..135279a27b0ef 100644 --- a/pkgs/by-name/yu/yubikey-personalization/package.nix +++ b/pkgs/by-name/yu/yubikey-personalization/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libusb1, libyubikey, json_c }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + libusb1, + libyubikey, + json_c, +}: stdenv.mkDerivation rec { pname = "yubikey-personalization"; @@ -27,7 +36,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libusb1 libyubikey json_c ]; + buildInputs = [ + libusb1 + libyubikey + json_c + ]; configureFlags = [ "--with-backend=libusb-1.0" diff --git a/pkgs/by-name/yu/yubikey-touch-detector/package.nix b/pkgs/by-name/yu/yubikey-touch-detector/package.nix index 13c7e73f2dcd0..f7fd9937ccf59 100644 --- a/pkgs/by-name/yu/yubikey-touch-detector/package.nix +++ b/pkgs/by-name/yu/yubikey-touch-detector/package.nix @@ -1,4 +1,11 @@ -{ lib, libnotify, gpgme, buildGoModule, fetchFromGitHub, pkg-config }: +{ + lib, + libnotify, + gpgme, + buildGoModule, + fetchFromGitHub, + pkg-config, +}: buildGoModule rec { pname = "yubikey-touch-detector"; @@ -14,7 +21,10 @@ buildGoModule rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libnotify gpgme ]; + buildInputs = [ + libnotify + gpgme + ]; postInstall = '' install -Dm444 -t $out/share/doc/${pname} *.{md,example} diff --git a/pkgs/by-name/yu/yubioath-flutter/helper.nix b/pkgs/by-name/yu/yubioath-flutter/helper.nix index 378981ae84107..d0c814a339e84 100644 --- a/pkgs/by-name/yu/yubioath-flutter/helper.nix +++ b/pkgs/by-name/yu/yubioath-flutter/helper.nix @@ -1,13 +1,14 @@ -{ buildPythonApplication -, yubikey-manager -, mss -, zxing-cpp -, pillow -, poetry-core - -, src -, version -, meta +{ + buildPythonApplication, + yubikey-manager, + mss, + zxing-cpp, + pillow, + poetry-core, + + src, + version, + meta, }: buildPythonApplication { diff --git a/pkgs/by-name/yu/yubioath-flutter/package.nix b/pkgs/by-name/yu/yubioath-flutter/package.nix index a13c6e623da66..e22005d905cee 100644 --- a/pkgs/by-name/yu/yubioath-flutter/package.nix +++ b/pkgs/by-name/yu/yubioath-flutter/package.nix @@ -1,14 +1,15 @@ -{ lib -, flutter324 -, python3 -, fetchFromGitHub -, pcre2 -, libnotify -, libappindicator -, pkg-config -, gnome-screenshot -, makeWrapper -, removeReferencesTo +{ + lib, + flutter324, + python3, + fetchFromGitHub, + pcre2, + libnotify, + libappindicator, + pkg-config, + gnome-screenshot, + makeWrapper, + removeReferencesTo, }: flutter324.buildFlutterApplication rec { @@ -88,6 +89,9 @@ flutter324.buildFlutterApplication rec { homepage = "https://github.com/Yubico/yubioath-flutter"; license = licenses.asl20; maintainers = with maintainers; [ lukegb ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/by-name/yu/yuicompressor/package.nix b/pkgs/by-name/yu/yuicompressor/package.nix index e865160fb7141..a2d32b65fd502 100644 --- a/pkgs/by-name/yu/yuicompressor/package.nix +++ b/pkgs/by-name/yu/yuicompressor/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, jre }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { pname = "yuicompressor"; diff --git a/pkgs/by-name/yu/yunfaavatar/package.nix b/pkgs/by-name/yu/yunfaavatar/package.nix index 410893df44d14..c3456673e1ef3 100644 --- a/pkgs/by-name/yu/yunfaavatar/package.nix +++ b/pkgs/by-name/yu/yunfaavatar/package.nix @@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [ makeWrapper ]; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec { postInstall = '' wrapProgram "$out/bin/yunfaavatar" \ - --prefix PATH : "${lib.makeBinPath [imagemagick]}" + --prefix PATH : "${lib.makeBinPath [ imagemagick ]}" ''; meta = with lib; { @@ -33,7 +33,7 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/yunfachi/yunfaAvatar"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [yunfachi]; + maintainers = with maintainers; [ yunfachi ]; mainProgram = "yunfaavatar"; }; } diff --git a/pkgs/by-name/yx/yx/package.nix b/pkgs/by-name/yx/yx/package.nix index f773ca66a0000..ae50e55184db8 100644 --- a/pkgs/by-name/yx/yx/package.nix +++ b/pkgs/by-name/yx/yx/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, libyaml -, testers -, yx +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + libyaml, + testers, + yx, }: stdenv.mkDerivation rec { pname = "yx"; diff --git a/pkgs/by-name/yy/yyjson/package.nix b/pkgs/by-name/yy/yyjson/package.nix index f60329028ead5..6799d3adf5fe2 100644 --- a/pkgs/by-name/yy/yyjson/package.nix +++ b/pkgs/by-name/yy/yyjson/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/z-/z-lua/package.nix b/pkgs/by-name/z-/z-lua/package.nix index c7ed329106cb8..4c6c113038726 100644 --- a/pkgs/by-name/z-/z-lua/package.nix +++ b/pkgs/by-name/z-/z-lua/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, lua52Packages, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + lua52Packages, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "z-lua"; diff --git a/pkgs/by-name/z8/z88dk/package.nix b/pkgs/by-name/z8/z88dk/package.nix index c2b36703d51d4..68bd1d1ff469e 100644 --- a/pkgs/by-name/z8/z88dk/package.nix +++ b/pkgs/by-name/z8/z88dk/package.nix @@ -26,7 +26,10 @@ let }; meta = { description = "A date object with as little code as possible (and rw accessors)"; - license = with lib.licenses; [ artistic1 gpl1Plus ]; + license = with lib.licenses; [ + artistic1 + gpl1Plus + ]; }; }; @@ -38,11 +41,15 @@ let hash = "sha256-FmPE1xdU8LAXS21+H4DJaQ87qDi4Q4UkLawsUAqseZw="; }; propagatedBuildInputs = with perlPackages; [ - ClassAccessor IteratorSimple + ClassAccessor + IteratorSimple ]; meta = { description = "Simple iterator with lookahead and unget"; - license = with lib.licenses; [ artistic1 gpl2Only ]; + license = with lib.licenses; [ + artistic1 + gpl2Only + ]; }; }; @@ -53,9 +60,11 @@ let url = "mirror://cpan/authors/id/P/PS/PSCUST/Asm-Preproc-1.03.tar.gz"; hash = "sha256-pVTpIqGxZpBxZlAbXuGDapuOxsp3uM/AM5dKUxlej1M="; }; - propagatedBuildInputs = [ + propagatedBuildInputs = + [ IteratorSimpleLookahead - ] ++ (with perlPackages; [ + ] + ++ (with perlPackages; [ IteratorSimple TextTemplate DataDump @@ -63,7 +72,10 @@ let ]); meta = { description = "Preprocessor to be called from an assembler"; - license = with lib.licenses; [ artistic1 gpl2Only ]; + license = with lib.licenses; [ + artistic1 + gpl2Only + ]; }; }; @@ -74,7 +86,9 @@ let url = "mirror://cpan/authors/id/P/PS/PSCUST/CPU-Z80-Assembler-2.25.tar.gz"; hash = "sha256-cJ8Fl2KZw9/bnBDUzFuwwdw9x23OUvcftk78kw7abdU="; }; - buildInputs = [ AsmPreproc ] ++ (with perlPackages; [ + buildInputs = + [ AsmPreproc ] + ++ (with perlPackages; [ CaptureTiny RegexpTrie PathTiny @@ -82,7 +96,10 @@ let ]); meta = { description = "Functions to assemble a set of Z80 assembly instructions"; - license = with lib.licenses; [ artistic1 gpl2Only ]; + license = with lib.licenses; [ + artistic1 + gpl2Only + ]; }; }; in @@ -139,27 +156,29 @@ stdenv.mkDerivation (finalAttrs: { "git_count=0" ]; - nativeBuildInputs = [ - which - unzip - m4 - perl - pkg-config - - # Local perl packages - AsmPreproc - CPUZ80Assembler - ObjectTinyRW - ] ++ (with perlPackages; [ - CaptureTiny - DataHexDump - ModernPerl - PathTiny - RegexpCommon - TestHexDifferences - TextDiff - RegexpTrie - ]); + nativeBuildInputs = + [ + which + unzip + m4 + perl + pkg-config + + # Local perl packages + AsmPreproc + CPUZ80Assembler + ObjectTinyRW + ] + ++ (with perlPackages; [ + CaptureTiny + DataHexDump + ModernPerl + PathTiny + RegexpCommon + TestHexDifferences + TextDiff + RegexpTrie + ]); buildInputs = [ libxml2 diff --git a/pkgs/by-name/za/zabbixctl/package.nix b/pkgs/by-name/za/zabbixctl/package.nix index ce45196fdba73..4fdca75b17d2b 100644 --- a/pkgs/by-name/za/zabbixctl/package.nix +++ b/pkgs/by-name/za/zabbixctl/package.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "zabbixctl"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-BphQcPPmeNU7RDtaHJQxIoW8xxD86xWgqLBsLR08Tag="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Most effective way for operating in Zabbix Server"; diff --git a/pkgs/by-name/za/zalgo/package.nix b/pkgs/by-name/za/zalgo/package.nix index 0ca9f3366ce40..7d47bf5bc292d 100644 --- a/pkgs/by-name/za/zalgo/package.nix +++ b/pkgs/by-name/za/zalgo/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zalgo"; diff --git a/pkgs/by-name/za/zam-plugins/package.nix b/pkgs/by-name/za/zam-plugins/package.nix index dc27db5ca8b3f..34f37b465c42a 100644 --- a/pkgs/by-name/za/zam-plugins/package.nix +++ b/pkgs/by-name/za/zam-plugins/package.nix @@ -1,4 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, boost, libX11, libGL, liblo, libjack2, ladspaH, lv2, pkg-config, rubberband, libsndfile, fftwFloat, libsamplerate }: +{ + lib, + stdenv, + fetchFromGitHub, + boost, + libX11, + libGL, + liblo, + libjack2, + ladspaH, + lv2, + pkg-config, + rubberband, + libsndfile, + fftwFloat, + libsamplerate, +}: stdenv.mkDerivation rec { pname = "zam-plugins"; @@ -13,7 +29,19 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ boost libX11 libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ]; + buildInputs = [ + boost + libX11 + libGL + liblo + libjack2 + ladspaH + lv2 + rubberband + libsndfile + fftwFloat + libsamplerate + ]; postPatch = '' patchShebangs ./dpf/utils/generate-ttl.sh diff --git a/pkgs/by-name/za/zammad/gemset.nix b/pkgs/by-name/za/zammad/gemset.nix index 43650bb5ad33d..c04ecf56161c7 100644 --- a/pkgs/by-name/za/zammad/gemset.nix +++ b/pkgs/by-name/za/zammad/gemset.nix @@ -1,215 +1,328 @@ { aasm = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xnhpdpi11f7kkyngfspvd9jkkncqfpirz4sylzq32rh47kcd8p3"; type = "gem"; }; version = "5.5.0"; }; actioncable = { - dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "nio4r" + "websocket-driver" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mfb5x6kwxwprprhzj2a1hff7vw37v1wd9hl70nqq23xr82w20wx"; type = "gem"; }; version = "7.1.4.1"; }; actionmailbox = { - dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activestorage" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1z95jcq4cmk7zzy4jjgxjbigk0zaxm2gpf8p0s0jn3b5px0k3ljk"; type = "gem"; }; version = "7.1.4.1"; }; actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "actionview" + "activejob" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + "rails-dom-testing" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1h39ffp0zs0r46bfm8bbgvc8icwamq4icsf1qn32xskdssnb8xyr"; type = "gem"; }; version = "7.1.4.1"; }; actionpack = { - dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionview" + "activesupport" + "nokogiri" + "racc" + "rack" + "rack-session" + "rack-test" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mrdaql56iqnqcg7n3frc0r48bca8b4g9f2ifc69f15dpps2wfsx"; type = "gem"; }; version = "7.1.4.1"; }; actiontext = { - dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activerecord" + "activestorage" + "activesupport" + "globalid" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06az0qalnvz0hv1wq8nn5q70gak9r50b6b95avmkz860lhbpx70d"; type = "gem"; }; version = "7.1.4.1"; }; actionview = { - dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "builder" + "erubi" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02zrp7x6k6sgd4rrpsh2b9k2h0qhx538fsb1grsw25ss8d9k2b2j"; type = "gem"; }; version = "7.1.4.1"; }; activejob = { - dependencies = ["activesupport" "globalid"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "globalid" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1r0i34jrsibwkbg61kjm1xjbc8ppy8r91bnach8rv7jgjrid4dyl"; type = "gem"; }; version = "7.1.4.1"; }; activemodel = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dpdfa132zsfw5l754p2iwialbscvhp9dblq9fg65ww306s3g0pl"; type = "gem"; }; version = "7.1.4.1"; }; activerecord = { - dependencies = ["activemodel" "activesupport" "timeout"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + "timeout" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cwx0a7pbl2shm0jc0m7aylacb84j2p4f3h0v7f6aas2b8s6lkf1"; type = "gem"; }; version = "7.1.4.1"; }; activerecord-import = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g16yn1ixfixd979yfqbxp9y71ryr4a6wakbr6dmpq4s7glm6366"; type = "gem"; }; version = "1.8.1"; }; activerecord-session_store = { - dependencies = ["actionpack" "activerecord" "cgi" "multi_json" "rack" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activerecord" + "cgi" + "multi_json" + "rack" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0x13crb9f6yxk5i320c3a29rl760lkyhh21zd128f34dc4fknigq"; type = "gem"; }; version = "2.1.0"; }; activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activesupport" + "marcel" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07zw4r8n3ag3d8jfynngpk0cxjwwlh7pxg3hrz1fdww2fnl6nan8"; type = "gem"; }; version = "7.1.4.1"; }; activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "minitest" + "mutex_m" + "tzinfo" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0p3167vw7csidyfl731hbp27xaz90w0v31l3fqzrsipci69p7qw0"; type = "gem"; }; version = "7.1.4.1"; }; acts_as_list = { - dependencies = ["activerecord" "activesupport"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jbzjf6344a0m083d69qgx55xqqsxxrli8g1ark9d16fbcayi0j6"; type = "gem"; }; version = "1.2.2"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "public_suffix" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; android_key_attestation = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02spc1sh7zsljl02v9d5rdb717b628vw2k7jkkplifyjk4db0zj6"; type = "gem"; }; version = "0.3.0"; }; argon2 = { - dependencies = ["ffi" "ffi-compiler"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi" + "ffi-compiler" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mwmrqfpwljp0pkv8zbamg66s2zlxrhhvfvcgg9jlldzf98zc3lq"; type = "gem"; }; version = "2.3.0"; }; ast = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; autodiscover = { - dependencies = ["httpclient" "logging" "nokogiri" "nori"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "httpclient" + "logging" + "nokogiri" + "nori" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "ee9b53dfa797ce6d4f970b82beea7fbdd2df56bb"; @@ -220,1065 +333,1318 @@ version = "1.0.2"; }; autoprefixer-rails = { - dependencies = ["execjs"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "execjs" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kjzcvz1in424gvhcvp94mc00snhv3h2b413glf5hym0wm3izlnc"; type = "gem"; }; version = "10.4.19.0"; }; awrence = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gj8f8c54r9cabkm41s59sa1ca5wpbipw7gq3sfl87x9296227fx"; type = "gem"; }; version = "1.2.1"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l3rkiqvlmh3bgq6447s2d398z43slk3swz0cvgjprvm6182ici4"; type = "gem"; }; version = "1.984.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06mrp7g24ndg55w85ndyrvxfx2v6hnkh5fj32w9s6w3xsc8v5kqq"; type = "gem"; }; version = "3.209.1"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1acx3bhqkhni3kbl7xnjdgy8raq5y7p0zyniq61bsihzkwcj7imh"; type = "gem"; }; version = "1.94.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kln41q23a6rxj1r9wj972z4jaxiqn7fm64y9ry6qkbzn1ibgam6"; type = "gem"; }; version = "1.167.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "176zh13m1vhwgys0drlqiw79ljmmx84vva036shsb7rzr4yi36qm"; type = "gem"; }; version = "1.10.0"; }; base64 = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; bindata = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19"; type = "gem"; }; version = "2.5.0"; }; binding_of_caller = { - dependencies = ["debug_inspector"]; - groups = ["default"]; - platforms = []; + dependencies = [ "debug_inspector" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mjj15ks5ws53v2y31hxcmf46d0qjdvdaadpk7xsij2zymh4a9b"; type = "gem"; }; version = "1.0.1"; }; biz = { - dependencies = ["clavius" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "clavius" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1n2d7cs9jlnpi75nbssv77qlw0jsqnixaikpxsrbxz154q43gvlc"; type = "gem"; }; version = "1.8.2"; }; bootsnap = { - dependencies = ["msgpack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "msgpack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c"; type = "gem"; }; version = "1.18.4"; }; brakeman = { - dependencies = ["racc"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "racc" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "078syvjnnkbair5ffyvchxj9yd2c8215c1271kfh1gqsmaf70bl6"; type = "gem"; }; version = "6.2.1"; }; browser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "083rx0jjlzbh9fxiy967l87f1123hairdc4mm6d54plj5kqz1683"; type = "gem"; }; version = "6.0.0"; }; buftok = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; type = "gem"; }; version = "0.2.0"; }; builder = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; byebug = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; type = "gem"; }; version = "11.1.3"; }; byk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cw26m1977kk6awns8h3d10f9bq9j467s0a4srdvkhgy6ar2jagn"; type = "gem"; }; version = "1.1.0"; }; capybara = { - dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "matrix" + "mini_mime" + "nokogiri" + "rack" + "rack-test" + "regexp_parser" + "xpath" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; type = "gem"; }; version = "3.40.0"; }; cbor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y"; type = "gem"; }; version = "0.5.9.8"; }; cgi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c5494n3n6l51n1w1vc118zckbqdzk7r6b656hswg72w0bif2ja3"; type = "gem"; }; version = "0.4.1"; }; childprocess = { - dependencies = ["logger"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "logger" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v5nalaarxnfdm6rxb7q6fmc6nx097jd630ax6h9ch7xw95li3cs"; type = "gem"; }; version = "5.1.0"; }; chunky_png = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; clavius = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y58v8k860vafm1psm69f2ndcqmcifyvswsjdy8bxbxy30zrgad1"; type = "gem"; }; version = "1.0.4"; }; clearbit = { - dependencies = ["nestful"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nestful" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ccgvxzgpll1wr5i9wjm1h0m2z600j6c4yf6pww423qhg8a25lbl"; type = "gem"; }; version = "0.3.3"; }; coderay = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; coffee-rails = { - dependencies = ["coffee-script" "railties"]; - groups = ["assets"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coffee-script" + "railties" + ]; + groups = [ "assets" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "170sp4y82bf6nsczkkkzypzv368sgjg6lfrkib4hfjgxa6xa3ajx"; type = "gem"; }; version = "5.0.0"; }; coffee-script = { - dependencies = ["coffee-script-source" "execjs"]; - groups = ["assets" "default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coffee-script-source" + "execjs" + ]; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2"; type = "gem"; }; version = "2.4.1"; }; coffee-script-source = { - groups = ["assets" "default"]; - platforms = []; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1"; type = "gem"; }; version = "1.12.2"; }; concurrent-ruby = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; cose = { - dependencies = ["cbor" "openssl-signature_algorithm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cbor" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rbdzl9n8ppyp38y75hw06s17kp922ybj6jfvhz52p83dg6xpm6m"; type = "gem"; }; version = "1.3.1"; }; crack = { - dependencies = ["bigdecimal" "rexml"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "rexml" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jaa7is4fw1cxigm8vlyhg05bw4nqy4f91zjqxk7pp4c8bdyyfn8"; type = "gem"; }; version = "1.0.0"; }; crass = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; csv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b"; type = "gem"; }; version = "3.3.0"; }; daemons = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg"; type = "gem"; }; version = "1.4.1"; }; dalli = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19daxf5n5gr3pr57k4wqg701c3zwsk2h4jjialkaw7yrhi85jqrf"; type = "gem"; }; version = "3.2.8"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; version = "3.3.4"; }; debug_inspector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; type = "gem"; }; version = "1.2.0"; }; delayed_job = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zyjp3yfchfw1jynvxk3147hzmchwq8cnqh16gjii557nd0z0mhx"; type = "gem"; }; version = "4.1.12"; }; delayed_job_active_record = { - dependencies = ["activerecord" "delayed_job"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "delayed_job" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08dl21wbrhb5ynk23dqv71wmm3s0zcz1xa0hmmmwk3yh48irza6j"; type = "gem"; }; version = "4.1.10"; }; deprecation_toolkit = { - dependencies = ["activesupport"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0f37k15bsq6aq8bikkvlg5bi96ic8z7hwyxxcz8mx3xgkgfdhzx0"; type = "gem"; }; version = "2.2.1"; }; diff-lcs = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; diffy = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qcsv29ljfhy76gq4xi8zpn6dc6nv15c41r131bdr38kwpxjzd1n"; type = "gem"; }; version = "3.4.2"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; doorkeeper = { - dependencies = ["railties"]; - groups = ["default"]; - platforms = []; + dependencies = [ "railties" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a6nbc12nfz355am2vwm1ql2p8zck7mr941glghmnl32djaga24b"; type = "gem"; }; version = "5.7.1"; }; drb = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; dry-cli = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18cxi596f5x1vglnma4hhm6z15m7yma6yparsybyfz3a2z0iqc08"; type = "gem"; }; version = "1.1.0"; }; dry-core = { - dependencies = ["concurrent-ruby" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03a5qn74c4lk2rpy6wlhv66synjlyzc4wn086xzphkpmw12l4bzk"; type = "gem"; }; version = "1.0.1"; }; dry-inflector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14k7q3jvzphkbkd4i1s3ika6kz4p9pcqy78z0yimahwvnsqvj3rl"; type = "gem"; }; version = "1.1.0"; }; dry-logic = { - dependencies = ["concurrent-ruby" "dry-core" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "dry-core" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05nldkc154r0qzlhss7n5klfiyyz05x2fkq08y13s34py6023vcr"; type = "gem"; }; version = "1.5.0"; }; dry-struct = { - dependencies = ["dry-core" "dry-types" "ice_nine" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dry-core" + "dry-types" + "ice_nine" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rnlgn4wif0dvkvi10xwh1vd1q6mp35q6a7lwva0zmbc79dh4drp"; type = "gem"; }; version = "1.6.0"; }; dry-types = { - dependencies = ["bigdecimal" "concurrent-ruby" "dry-core" "dry-inflector" "dry-logic" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "concurrent-ruby" + "dry-core" + "dry-inflector" + "dry-logic" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sn4n13jj8x27n07yv2s7zp0c5cdlwsbh21laqm5f7ikhp10y67z"; type = "gem"; }; version = "1.7.2"; }; eco = { - dependencies = ["coffee-script" "eco-source" "execjs"]; - groups = ["assets"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coffee-script" + "eco-source" + "execjs" + ]; + groups = [ "assets" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09jiwb7pkg0sxk730maxahra4whqw5l47zd7yg7fvd71pikdwdr0"; type = "gem"; }; version = "1.0.0"; }; eco-source = { - groups = ["assets" "default"]; - platforms = []; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ccxrvaac6mw5kdj1i490b5xb1wdka3a5q4jhvn8dvg41594yba1"; type = "gem"; }; version = "1.1.0.rc.1"; }; em-websocket = { - dependencies = ["eventmachine" "http_parser.rb"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "eventmachine" + "http_parser.rb" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a66b0kjk6jx7pai9gc7i27zd0a128gy73nmas98gjz6wjyr4spm"; type = "gem"; }; version = "0.5.3"; }; email_address = { - dependencies = ["simpleidn"]; - groups = ["default"]; - platforms = []; + dependencies = [ "simpleidn" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09clyyp65ry2dqg4kwr4lbyi40c9nci282qxpfgmvq75z8clia8y"; type = "gem"; }; version = "0.2.4"; }; equalizer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; type = "gem"; }; version = "0.0.11"; }; erubi = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; eventmachine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; execjs = { - groups = ["assets"]; - platforms = []; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yywajqlpjhrj1m43s3lfg3i4lkb6pxwccmwps7qw37ndmphdzg8"; type = "gem"; }; version = "2.9.1"; }; factory_bot = { - dependencies = ["activesupport"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0q927lvgjqj0xaplxhicj5xv8xadx3957mank3p7g01vb6iv6x33"; type = "gem"; }; version = "6.5.0"; }; factory_bot_rails = { - dependencies = ["factory_bot" "railties"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "factory_bot" + "railties" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j6w4rr2cb5wng9yrn2ya9k40q52m0pbz47kzw8xrwqg3jncwwza"; type = "gem"; }; version = "6.4.3"; }; faker = { - dependencies = ["i18n"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "i18n" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xj0xx2snnxzjipxpxwiki7053441jkdg10h0rmjiri040s5lssi"; type = "gem"; }; version = "3.4.2"; }; faraday = { - dependencies = ["faraday-net_http" "json" "logger"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-net_http" + "json" + "logger" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05s5pyxh7y68jphb0lgrh0ksxbp4lmbsc6a6qg0ahj15pjqx01ni"; type = "gem"; }; version = "2.12.0"; }; faraday-mashify = { - dependencies = ["faraday" "hashie"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "hashie" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1fiy1bqwx7sj3dmydlyqzj4lapkb2p84pmp4f6i2g0ypj1wbrcml"; type = "gem"; }; version = "0.1.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "multipart-post" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - dependencies = ["net-http"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "net-http" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rg54k4skaz8z7j358p6pdzc9pr84fjq7sdlpicf7s5ig7vb1rlk"; type = "gem"; }; version = "3.3.0"; }; ffi = { - groups = ["assets" "default"]; - platforms = []; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; ffi-compiler = { - dependencies = ["ffi" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1844j58cdg2q6g0rqfwg4rrambnhf059h4yg9rfmrbrcs60kskx9"; type = "gem"; }; version = "1.3.2"; }; fiber-storage = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zxblmxwdpj3587wji5325y53gjdcmzxzm6126dyg58b3qzk42mq"; type = "gem"; }; version = "1.0.0"; }; gli = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1fd4blr0pa0b4dd9pzqqpzh49m3p1ff4aa0bys4wpk1jniisl7vy"; type = "gem"; }; version = "2.21.5"; }; globalid = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; version = "1.2.1"; }; graphql = { - dependencies = ["base64" "fiber-storage"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "fiber-storage" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1is9rr5l0lw9z12h9v064fpp1nrnv42p2z2j1r3mnk4ik1lrdjba"; type = "gem"; }; version = "2.3.16"; }; graphql-batch = { - dependencies = ["graphql" "promise.rb"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "graphql" + "promise.rb" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mxy2m24y7adnz2dw4466jzp47yfcmbm1pmmrljqmrafmjmils8p"; type = "gem"; }; version = "0.6.0"; }; hashdiff = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0slky0n6n12gjgimzdbdigpwyg5wgq8fysjwkzzfw33ff8b675n7"; type = "gem"; }; version = "1.1.1"; }; hashie = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; hiredis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04jj8k7lxqxw24sp0jiravigdkgsyrpprxpxm71ba93x1wr2w1bz"; type = "gem"; }; version = "0.6.3"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; http = { - dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "http-cookie" + "http-form_data" + "http-parser" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y"; type = "gem"; }; version = "4.4.1"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lr2yk5g5vvf9nzlmkn3p7mhh9mn55gpdc7kl2w21xs46fgkjynb"; type = "gem"; }; version = "1.0.7"; }; http-form_data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc"; type = "gem"; }; version = "2.3.0"; }; http-parser = { - dependencies = ["ffi-compiler"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi-compiler" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18qqvckvqjffh88hfib6c8pl9qwk9gp89w89hl3f2s1x8hgyqka1"; type = "gem"; }; version = "1.2.3"; }; "http_parser.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; type = "gem"; }; version = "0.6.0"; }; httparty = { - dependencies = ["mini_mime" "multi_xml"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_mime" + "multi_xml" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "050jzsa6fbfvy2rldhk7mf1sigildaqvbplfz2zs6c0zlzwppvq0"; type = "gem"; }; version = "0.21.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; icalendar = { - dependencies = ["ice_cube" "ostruct"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ice_cube" + "ostruct" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "11fl1kfqvgnh0vnryc9kbbaal693kdgf5h6qnj37p9wz5xkw5gqf"; type = "gem"; }; version = "2.10.3"; }; icalendar-recurrence = { - dependencies = ["icalendar" "ice_cube" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "icalendar" + "ice_cube" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01226l14p9wys5vla2l36a51cjffp96i4dk01frffd042qjgmf2x"; type = "gem"; }; version = "1.2.0"; }; ice_cube = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gpwlpshsjlld53h1f999p0azd9jdlgmhbswa19wqjjbv9fv9pij"; type = "gem"; }; version = "0.17.0"; }; ice_nine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; }; version = "0.11.2"; }; inflection = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mfkk0j0dway3p4gwzk8fnpi4hwaywl2v0iywf1azf98zhk9pfnf"; type = "gem"; }; version = "1.0.0"; }; iniparse = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n"; type = "gem"; }; version = "1.5.0"; }; interception = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01vrkn28psdx1ysh5js3hn17nfp1nvvv46wc1pwqsakm6vb1hf55"; type = "gem"; }; version = "0.5"; }; io-console = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; version = "0.7.2"; }; irb = { - dependencies = ["rdoc" "reline"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rdoc" + "reline" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1y40dv3caswr81dlsyln6vnmmpzf5jcal2rqjbsglvnkb0xh0xar"; type = "gem"; }; version = "1.14.1"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; json = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; version = "2.7.2"; }; jwt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bg8pjx0mpvl10k6d8a6gc8dzlv2z5jkqcjbjcirnk032iriq838"; type = "gem"; }; version = "2.3.0"; }; keycloak-admin = { - dependencies = ["hashie" "httparty"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ + "hashie" + "httparty" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "7ea4e62d77fad93fc2da840c3f8bd5c45588d131"; @@ -1289,582 +1655,729 @@ version = "23.0.7"; }; koala = { - dependencies = ["addressable" "base64" "faraday" "faraday-multipart" "json" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "base64" + "faraday" + "faraday-multipart" + "json" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0z40pvvwbr95b0kk92rgimvhma0ahiv07ihxkvglm6jwi9cbxp42"; type = "gem"; }; version = "3.6.0"; }; language_server-protocol = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x"; type = "gem"; }; version = "3.17.0.3"; }; listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; type = "gem"; }; version = "3.9.0"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; localhost = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1621bz9zyjkgcpgsqyf8xww72jhv3q8lbjxlzq28xcnqkkcailzw"; type = "gem"; }; version = "1.3.1"; }; logger = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "little-plugger" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s"; type = "gem"; }; version = "2.4.0"; }; loofah = { - dependencies = ["crass" "nokogiri"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; version = "2.22.0"; }; macaddr = { - dependencies = ["systemu"]; - groups = ["default"]; - platforms = []; + dependencies = [ "systemu" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10nzvbp3raa93afisa870005acmv2vlrka82pxh13g4bjq4phdys"; type = "gem"; }; version = "1.7.2"; }; mail = { - dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; version = "2.8.1"; }; marcel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190n2mk8m1l708kr88fh6mip9sdsh339d2s6sgrik3sbnvz4jmhd"; type = "gem"; }; version = "1.0.4"; }; matrix = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; memoizable = { - dependencies = ["thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; type = "gem"; }; version = "0.4.2"; }; messagebird-rest = { - dependencies = ["jwt"]; - groups = ["default"]; - platforms = []; + dependencies = [ "jwt" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zghnl12l22adm6lgswj4im3qm70lfnsyl9gg6gd9c89hj467hsk"; type = "gem"; }; version = "4.0.0"; }; method_source = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq"; type = "gem"; }; version = "1.1.0"; }; mime-types = { - dependencies = ["logger" "mime-types-data"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "logger" + "mime-types-data" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r34mc3n7sxsbm9mzyzy8m3dvq7pwbryyc8m452axkj0g2axnwbg"; type = "gem"; }; version = "3.6.0"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06dbn0j13jwdrmlvrjd50mxqrjlkh3lvxp0afh4glyzbliqvqpsd"; type = "gem"; }; version = "3.2024.1001"; }; mini_mime = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; mini_portile2 = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; msgpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr"; type = "gem"; }; version = "1.7.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multi_xml = { - dependencies = ["bigdecimal"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "bigdecimal" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06x61ca5j84nyhr1mwh9r436yiphnc5hmacb3gwqyn5gd0611kjg"; type = "gem"; }; version = "0.7.1"; }; multipart-post = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; type = "gem"; }; version = "2.4.1"; }; mutex_m = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; mysql2 = { - groups = ["mysql"]; - platforms = []; + groups = [ "mysql" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cysv1wdfdbizwkd0d9s16s832khdwv31pgp01mw2g3bbpa4gx3h"; type = "gem"; }; version = "0.5.6"; }; naught = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; type = "gem"; }; version = "1.1.0"; }; nestful = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sn7lrdhp1dwn9xkqwkarby5bxx1g30givy3fi1dwp1xvqbrqikw"; type = "gem"; }; version = "1.1.4"; }; net-ftp = { - dependencies = ["net-protocol" "time"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "net-protocol" + "time" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0kw7g0j35fla8438s90m72b3xr0mqnpgm910qcwrgnvyg903xmi8"; type = "gem"; }; version = "0.3.8"; }; net-http = { - dependencies = ["uri"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "uri" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; version = "0.4.1"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "160mfk4gnpwfc7j4kpchxgzfkml54h94q7vfzjw061flrkrclyqj"; type = "gem"; }; version = "0.4.17"; }; net-ldap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g9gz39bs2iy4ky4fhjphimqd9m9wdsaz50anxgwg3yjrff3famy"; type = "gem"; }; version = "0.19.0"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; version = "0.5.0"; }; nio4r = { - groups = ["default" "puma"]; - platforms = []; + groups = [ + "default" + "puma" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal"; type = "gem"; }; version = "2.7.3"; }; nkf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv"; type = "gem"; }; version = "0.2.0"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; nori = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1"; type = "gem"; }; version = "2.7.1"; }; oauth = { - dependencies = ["oauth-tty" "snaky_hash" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "oauth-tty" + "snaky_hash" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1syx3hfimaqycy21kn8gmal1cb3bw3hzalv3in2ixnay1xzjp41q"; type = "gem"; }; version = "1.1.0"; }; oauth-tty = { - dependencies = ["version_gem"]; - groups = ["default"]; - platforms = []; + dependencies = [ "version_gem" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05wb5n36i4h23hh9dx2m2cwjxx5vj0vgyrn2xr6rsl54glq5rqil"; type = "gem"; }; version = "1.0.5"; }; oauth2 = { - dependencies = ["faraday" "jwt" "multi_xml" "rack" "snaky_hash" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "multi_xml" + "rack" + "snaky_hash" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yzpaghh8kwzgmvmrlbzf36ks5s2hf34rayzw081dp2jrzprs7xj"; type = "gem"; }; version = "2.0.9"; }; omniauth = { - dependencies = ["hashie" "rack" "rack-protection"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hashie" + "rack" + "rack-protection" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1km0wqx9pj609jidvrqfsvzbzfgdnlpdnv7i7xfqm3wb55vk5w6y"; type = "gem"; }; version = "2.1.2"; }; omniauth-facebook = { - dependencies = ["bigdecimal" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qdrziqfa4sqpqf77i0nzbwq4qyg8qaqd127alnmg1skvax6rp6z"; type = "gem"; }; version = "10.0.0"; }; omniauth-github = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1m6a7kg3lxz2nm96prln2ja8r4wlm37m5vsy9199vnynqq5fgy4g"; type = "gem"; }; version = "2.0.1"; }; omniauth-gitlab = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04wnjnapgwsnyd3dfnp8dp1jjnsg64zkls5xharj10j822kiygsl"; type = "gem"; }; version = "4.1.0"; }; omniauth-google-oauth2 = { - dependencies = ["jwt" "oauth2" "omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "jwt" + "oauth2" + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0h7gcihxnnc1xc123g3frvj524j6x3axi9blfn44kj9m7hxn5b9i"; type = "gem"; }; version = "1.1.3"; }; omniauth-linkedin-oauth2 = { - dependencies = ["omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xai5k6xzinc4d67n64y1acffs8p7xi2hikz493dz6jx8qv9b2g3"; type = "gem"; }; version = "1.0.1"; }; omniauth-microsoft-office365 = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vw6418gykxqd9z32ddq0mr6wa737la1zwppb1ilw9sgii24rg1v"; type = "gem"; }; version = "0.0.8"; }; omniauth-oauth = { - dependencies = ["oauth" "omniauth" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "oauth" + "omniauth" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a4dqmlv3if6hb4ddyx4y5v7vkpi7zq901104nl0ya1l0b4j5gr5"; type = "gem"; }; version = "1.2.1"; }; omniauth-oauth2 = { - dependencies = ["oauth2" "omniauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "oauth2" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0y4y122xm8zgrxn5nnzwg6w39dnjss8pcq2ppbpx9qn7kiayky5j"; type = "gem"; }; version = "1.8.0"; }; omniauth-rails_csrf_protection = { - dependencies = ["actionpack" "omniauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q2zvkw34vk1vyhn5kp30783w1wzam9i9g5ygsdjn2gz59kzsw0i"; type = "gem"; }; version = "1.0.2"; }; omniauth-saml = { - dependencies = ["omniauth" "ruby-saml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "ruby-saml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00nn24s74miy7p65y8lwpjfwgcn7fwld61f9ghngal4asgw6pfwa"; type = "gem"; }; version = "2.2.1"; }; omniauth-twitter = { - dependencies = ["omniauth-oauth" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth-oauth" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; type = "gem"; }; version = "1.4.0"; }; omniauth-weibo-oauth2 = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "06803ef97f822ede854322587db8049cc67dcfa6"; @@ -1875,1278 +2388,1738 @@ version = "0.5.2"; }; openssl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw"; type = "gem"; }; version = "3.2.0"; }; openssl-signature_algorithm = { - dependencies = ["openssl"]; - groups = ["default"]; - platforms = []; + dependencies = [ "openssl" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "103yjl68wqhl5kxaciir5jdnyi7iv9yckishdr52s5knh9g0pd53"; type = "gem"; }; version = "1.3.0"; }; ostruct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11dsv71gfbhy92yzj3xkckjzdai2bsz5a4fydgimv62dkz4kc5rv"; type = "gem"; }; version = "0.6.0"; }; overcommit = { - dependencies = ["childprocess" "iniparse" "rexml"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "childprocess" + "iniparse" + "rexml" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lpl1ppjrqwsmywsb4srfjfm31dna30jrjyx2lkmws7s2jchy94v"; type = "gem"; }; version = "0.64.0"; }; parallel = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq"; type = "gem"; }; version = "1.26.3"; }; parser = { - dependencies = ["ast" "racc"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ast" + "racc" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cqs31cyg2zp8yx2zzm3zkih0j93q870wasbviy2w343nxqvn3pk"; type = "gem"; }; version = "3.3.5.0"; }; pg = { - groups = ["postgres"]; - platforms = []; + groups = [ "postgres" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dsgcmzc55w7i9cpghfkzhmiskzndvp1vijd8c5ryv8xvlwikmzg"; type = "gem"; }; version = "1.5.8"; }; PoParser = { - dependencies = ["simple_po_parser"]; - groups = ["default"]; - platforms = []; + dependencies = [ "simple_po_parser" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rl8vkqhdxzk416q898drqinmfji13wjnbxbqbzjkz3wvd7pikzm"; type = "gem"; }; version = "3.2.8"; }; power_assert = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1y2c5mvkq7zc5vh4ijs1wc9hc0yn4mwsbrjch34jf11pcz116pnd"; type = "gem"; }; version = "2.0.3"; }; "promise.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a819sikcqvhi8hck1y10d1nv2qkjvmmm553626fmrh51h2i089d"; type = "gem"; }; version = "0.7.4"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; type = "gem"; }; version = "0.14.2"; }; pry-byebug = { - dependencies = ["byebug" "pry"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "byebug" + "pry" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1y41al94ks07166qbp2200yzyr5y60hm7xaiw4lxpgsm4b1pbyf8"; type = "gem"; }; version = "3.10.1"; }; pry-doc = { - dependencies = ["pry" "yard"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pry" + "yard" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xgsr1agv754709fb7x11zn07skmbwlds88sa5s57d7x1apswmkd"; type = "gem"; }; version = "1.5.0"; }; pry-rails = { - dependencies = ["pry"]; - groups = ["default"]; - platforms = []; + dependencies = [ "pry" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0garafb0lxbm3sx2r9pqgs7ky9al58cl3wmwc0gmvmrl9bi2i7m6"; type = "gem"; }; version = "0.3.11"; }; pry-remote = { - dependencies = ["pry" "slop"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pry" + "slop" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10g1wrkcy5v5qyg9fpw1cag6g5rlcl1i66kn00r7kwqkzrdhd7nm"; type = "gem"; }; version = "0.1.8"; }; pry-rescue = { - dependencies = ["interception" "pry"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "interception" + "pry" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nx6mf97vv11bgy2giljgwds8rjj8kw0qyc6zn3varlqdm8gsnwq"; type = "gem"; }; version = "1.6.0"; }; pry-stack_explorer = { - dependencies = ["binding_of_caller" "pry"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "binding_of_caller" + "pry" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0h7kp99r8vpvpbvia079i58932qjz2ci9qhwbk7h1bf48ydymnx2"; type = "gem"; }; version = "0.6.1"; }; pry-theme = { - dependencies = ["coderay"]; - groups = ["default"]; - platforms = []; + dependencies = [ "coderay" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qhs1qmv6zhl45zhpv5qj6vkwm0nkdc37dqd49fwl8ph6f0sfh8h"; type = "gem"; }; version = "1.3.1"; }; psych = { - dependencies = ["stringio"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "stringio" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; type = "gem"; }; version = "5.1.2"; }; public_suffix = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puma = { - dependencies = ["nio4r"]; - groups = ["puma"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "puma" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gml1rixrfb0naciq3mrnqkpcvm9ahgps1c04hzxh4b801f69914"; type = "gem"; }; version = "6.4.3"; }; pundit = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wkm850z17gy5gph5lbmaz62wx7nvkj9r690017w10phkmxd5rj3"; type = "gem"; }; version = "2.4.0"; }; pundit-matchers = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "rspec-support" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gmvppwknijhy013azyws85bkyck8x9ly7yh2162kxa59z1kbsgq"; type = "gem"; }; version = "3.1.2"; }; racc = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rack = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ax778fsfvlhj7c11n0d1wdcb8bxvkb190a9lha5d91biwzyx9g4"; type = "gem"; }; version = "2.2.10"; }; rack-attack = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z6pj5vjgl6swq7a33gssf795k958mss8gpmdb4v4cydcs7px91w"; type = "gem"; }; version = "6.7.0"; }; rack-protection = { - dependencies = ["base64" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; version = "3.2.0"; }; rack-proxy = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12jw7401j543fj8cc83lmw72d8k6bxvkp9rvbifi88hh01blnsj4"; type = "gem"; }; version = "0.7.7"; }; rack-session = { - dependencies = ["rack"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0"; type = "gem"; }; version = "1.0.2"; }; rack-test = { - dependencies = ["rack"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"; type = "gem"; }; version = "2.1.0"; }; rackup = { - dependencies = ["rack" "webrick"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "webrick" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9"; type = "gem"; }; version = "1.0.0"; }; rails = { - dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actioncable" + "actionmailbox" + "actionmailer" + "actionpack" + "actiontext" + "actionview" + "activejob" + "activemodel" + "activerecord" + "activestorage" + "activesupport" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fa7maxd1ydbnws0fym43pv8j2c6k5dkg0z0fkq31j8jr1aqk7ja"; type = "gem"; }; version = "7.1.4.1"; }; rails-controller-testing = { - dependencies = ["actionpack" "actionview" "activesupport"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "actionview" + "activesupport" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "151f303jcvs8s149mhx2g5mn67487x0blrf9dzl76q1nb7dlh53l"; type = "gem"; }; version = "1.0.5"; }; rails-dom-testing = { - dependencies = ["activesupport" "minitest" "nokogiri"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "minitest" + "nokogiri" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; version = "2.2.0"; }; rails-html-sanitizer = { - dependencies = ["loofah" "nokogiri"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "loofah" + "nokogiri" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"; type = "gem"; }; version = "1.6.0"; }; railties = { - dependencies = ["actionpack" "activesupport" "irb" "rackup" "rake" "thor" "zeitwerk"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "irb" + "rackup" + "rake" + "thor" + "zeitwerk" + ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ypihpilhxdz5p3sb5g37jn2sbfjhf2ydkxj097kkn7ri7a7702x"; type = "gem"; }; version = "7.1.4.1"; }; rainbow = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; rake = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; rb-fsevent = { - groups = ["assets" "default"]; - platforms = []; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; version = "0.11.2"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["assets" "default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "ffi" ]; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0"; type = "gem"; }; version = "0.11.1"; }; rchardet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; type = "gem"; }; version = "1.8.0"; }; rdoc = { - dependencies = ["psych"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "psych" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi"; type = "gem"; }; version = "6.7.0"; }; redis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fikjg6j12ka6hh36dxzhfkpqqmilzjfzcdf59iwkzsgd63f0ziq"; type = "gem"; }; version = "4.8.1"; }; regexp_parser = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ik40vcv7mqigsfpqpca36hpmnx0536xa825ai5qlkv3mmkyf9ss"; type = "gem"; }; version = "2.9.2"; }; reline = { - dependencies = ["io-console"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "io-console" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rl1jmxs7pay58l7lkxkrn6nkdpk52k8rvnfwqsd1swjlxlwjq0n"; type = "gem"; }; version = "0.5.10"; }; rexml = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rotp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m"; type = "gem"; }; version = "6.3.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s688wfw77fjldzayvczg8bgwcgh6bh552dw7qcj1rhjk3r4zalx"; type = "gem"; }; version = "3.13.1"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf"; type = "gem"; }; version = "3.13.3"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0f3vgp43hajw716vmgjv6f4ar6f97zf50snny6y3fy9kkj4qjw88"; type = "gem"; }; version = "3.13.1"; }; rspec-rails = { - dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "railties" + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "rspec-support" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ycjggcmzbgrfjk04v26b43c3fj5jq2qic911qk7585wvav2qaxd"; type = "gem"; }; version = "7.0.1"; }; rspec-retry = { - dependencies = ["rspec-core"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-core" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n6qc0d16h6bgh1xarmc8vc58728mgjcsjj8wcd822c8lcivl0b1"; type = "gem"; }; version = "0.6.2"; }; rspec-support = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8"; type = "gem"; }; version = "3.13.1"; }; rszr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1642s4w153pbfk98h9hv94wdylgp8nv6my3as75wvfpd7yl2ykjh"; type = "gem"; }; version = "1.5.0"; }; rubocop = { - dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "json" + "language_server-protocol" + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rsyxrl647bz49gpa4flh8igg6wy7qxyh2jrp01x0kqnn5iw4y86"; type = "gem"; }; version = "1.66.1"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "parser" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03zywfpm4540q6hw8srhi8pzp0gg51w65ir8jkaw58vk3j31w820"; type = "gem"; }; version = "1.32.3"; }; rubocop-capybara = { - dependencies = ["rubocop"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1aw0n8jwhsr39r9q2k90xjmcz8ai2k7xx2a87ld0iixnv3ylw9jx"; type = "gem"; }; version = "2.21.0"; }; rubocop-factory_bot = { - dependencies = ["rubocop"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1aljadsjx7affcarzbhz7pydpy6fgqb8hl951y0cmrffxpa3rqcd"; type = "gem"; }; version = "2.26.1"; }; rubocop-faker = { - dependencies = ["faker" "rubocop"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faker" + "rubocop" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05d2mpi8xq50xh1s53h75hgvdhcz76lv9cnfn4jg35nbg67j1pdz"; type = "gem"; }; version = "1.1.0"; }; rubocop-graphql = { - dependencies = ["rubocop"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14j14ld5d3w141r5lgaljcd8q1g3w4xn592cwzqxlxw5n108v21d"; type = "gem"; }; version = "1.5.4"; }; rubocop-inflector = { - dependencies = ["activesupport" "rubocop" "rubocop-rspec"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rubocop" + "rubocop-rspec" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qdhwixqiix90a4n52g2b26mi66mrkx8b91pf7yda60m331jfbfr"; type = "gem"; }; version = "0.2.1"; }; rubocop-performance = { - dependencies = ["rubocop" "rubocop-ast"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rubocop" + "rubocop-ast" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yd616imfjvlpwsk7lw5kq9h4iz6qkmf10xlaib6b47fy5x77ncy"; type = "gem"; }; version = "1.22.1"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rack" + "rubocop" + "rubocop-ast" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bc4xpyx0gldjdmbl9aaqav5bjiqfc2zdw7k2r1zblmgsq4ilmpm"; type = "gem"; }; version = "2.26.2"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nwbi4j22gs1x559dyhpsdllz3vy2i1pw3cb9mpbpszynkdx9p0y"; type = "gem"; }; version = "3.1.0"; }; rubocop-rspec_rails = { - dependencies = ["rubocop" "rubocop-rspec"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rubocop" + "rubocop-rspec" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ijc1kw81884k0wjq1sgwaxa854n1fdddscp4fnzfzlx7zl150c8"; type = "gem"; }; version = "2.30.0"; }; ruby-progressbar = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; ruby-saml = { - dependencies = ["nokogiri" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nokogiri" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1adq06m684gnpjp6qyb8shgj8jjy2npcfg7y6mg2ab9ilfdq6684"; type = "gem"; }; version = "1.17.0"; }; rubyntlm = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7"; type = "gem"; }; version = "0.6.5"; }; rubyzip = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; safety_net_attestation = { - dependencies = ["jwt"]; - groups = ["default"]; - platforms = []; + dependencies = [ "jwt" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1khq0y5w7lf2b9a220298hphf3pakd216jc9a4x4a9pdwxs2vgln"; type = "gem"; }; version = "0.4.0"; }; sass = { - dependencies = ["sass-listen"]; - groups = ["assets" "default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "sass-listen" ]; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0"; type = "gem"; }; version = "3.7.4"; }; sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["assets" "default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; type = "gem"; }; version = "4.0.0"; }; sass-rails = { - dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; - groups = ["assets"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "railties" + "sass" + "sprockets" + "sprockets-rails" + "tilt" + ]; + groups = [ "assets" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14vlfwdwzn308xhzgicwmhhryigis43gxfxlwb1d3mcixj3aqa4p"; type = "gem"; }; version = "5.1.0"; }; selenium-webdriver = { - dependencies = ["base64" "logger" "rexml" "rubyzip" "websocket"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "logger" + "rexml" + "rubyzip" + "websocket" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1md0sixm8dq8a7riv50x4q1z273q47b5jvcbv5hxympxn3ran4by"; type = "gem"; }; version = "4.25.0"; }; shoulda-matchers = { - dependencies = ["activesupport"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c082vpfdf3865xq6xayxw2hwqswhnc9g030p1gi4hmk9dzvnmch"; type = "gem"; }; version = "6.4.0"; }; simple_oauth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; type = "gem"; }; version = "0.3.1"; }; simple_po_parser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wybcipkfawg4pragmayiig03xc084x3hbwywsh1dr9x9pa8f9hj"; type = "gem"; }; version = "1.1.6"; }; simpleidn = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a9c1mdy12y81ck7mcn9f9i2s2wwzjh1nr92ps354q517zq9dkh8"; type = "gem"; }; version = "0.2.3"; }; slack-notifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "001bipchr45sny33nlavqgxca9y1qqxa7xpi7pvjfqiybwzvm6nd"; type = "gem"; }; version = "2.4.0"; }; slack-ruby-client = { - dependencies = ["faraday" "faraday-mashify" "faraday-multipart" "gli" "hashie"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "faraday-mashify" + "faraday-multipart" + "gli" + "hashie" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03nq74m0d31wic05ldrdvn5n9inn60p9n78b9x8yh4dx32caj3ic"; type = "gem"; }; version = "2.4.0"; }; slop = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; type = "gem"; }; version = "3.6.0"; }; snaky_hash = { - dependencies = ["hashie" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hashie" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfwvdcr46pk0c7m5aw2w3izbrp1iba0q7l21r37mzpwaz0pxj0s"; type = "gem"; }; version = "2.0.1"; }; sprockets = { - dependencies = ["base64" "concurrent-ruby" "rack"]; - groups = ["assets"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "concurrent-ruby" + "rack" + ]; + groups = [ "assets" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10ykzsa76cf8kvbfkszlvbyn4ckcx1mxjhfvwxzs7y28cljhzhkj"; type = "gem"; }; version = "3.7.5"; }; sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - groups = ["assets" "default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "sprockets" + ]; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17hiqkdpcjyyhlm997mgdcr45v35j5802m5a979i5jgqx5n8xs59"; type = "gem"; }; version = "3.5.2"; }; stringio = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; version = "3.1.1"; }; systemu = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"; type = "gem"; }; version = "2.6.5"; }; tcr = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fq1dxyc34fzyi9ivjb4wb3b4cs5pjh1cl44jn7rbzb8qdg6hp3p"; type = "gem"; }; version = "0.4.0"; }; telegram-bot-ruby = { - dependencies = ["dry-struct" "faraday" "faraday-multipart" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dry-struct" + "faraday" + "faraday-multipart" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1flwm4206d2x56gmhqyvrvy4q4y57xnilj5j9f7hgp30b1h8p019"; type = "gem"; }; version = "2.0.0"; }; telephone_number = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zaqvxl4a4184pyjadayski818p4s5n4sh65yiy8w4n0liqxl3zm"; type = "gem"; }; version = "1.4.21"; }; terser = { - dependencies = ["execjs"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "execjs" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "176swgmwq0cc4z2134x12j9vjvx5y3nrlpbb8p6p0zhsn2wi2cf0"; type = "gem"; }; version = "1.2.3"; }; test-unit = { - dependencies = ["power_assert"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "power_assert" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fb0ya3w6cwl1xnvilggdhr223jn5az1jrhd7x551jlh77181r1w"; type = "gem"; }; version = "3.6.2"; }; thor = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; version = "1.3.2"; }; thread_safe = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; tilt = { - groups = ["assets" "default"]; - platforms = []; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; time = { - dependencies = ["date"]; - groups = ["default"]; - platforms = []; + dependencies = [ "date" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pk1dwyvx3qvl9zqch4zcfm0h21ny4r0w67mh3wv5hgma173fj8r"; type = "gem"; }; version = "0.4.0"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; version = "0.4.1"; }; tpm-key_attestation = { - dependencies = ["bindata" "openssl" "openssl-signature_algorithm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bindata" + "openssl" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "18xc7hyasg5ja2i2vb23d9c5pd6rf316kzwqxqx5d8vbs2z1a4rw"; type = "gem"; }; version = "0.12.1"; }; twilio-ruby = { - dependencies = ["faraday" "jwt" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kc065bbl85nz0ana0b9c92w88b3wch2kz81pn96sgrba2p442q2"; type = "gem"; }; version = "7.3.3"; }; twitter = { - dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "buftok" + "equalizer" + "http" + "http-form_data" + "http_parser.rb" + "memoizable" + "multipart-post" + "naught" + "simple_oauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13dmkjgsnym1avym9f7y2i2h3mlk8crqvc87drrzr4f0sf9l8g2y"; type = "gem"; }; version = "7.0.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; tzinfo-data = { - dependencies = ["tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cw6xv9a525mcs7202bq9768aic1dwx353prm1bss4fp2nq24a3j"; type = "gem"; }; version = "1.2024.2"; }; unicode-display_width = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj"; type = "gem"; }; version = "2.6.0"; }; uri = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07ndgxyhzd02cg94s6rnfhkb9rwx9z72lzk368sa9j78wc9qnbfz"; type = "gem"; }; version = "0.13.1"; }; vcr = { - dependencies = ["base64"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "base64" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v83xjgj5y1fzp7nm4s5dixwpy5yr8crklyjyjilc13jgqanxd9p"; type = "gem"; }; version = "6.3.1"; }; version_gem = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08a6agx7xk1f6cr9a95dq42vl45si2ln21h33b96li59sv3555y6"; type = "gem"; }; version = "1.1.4"; }; viewpoint = { - dependencies = ["httpclient" "logging" "nokogiri" "rubyntlm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "httpclient" + "logging" + "nokogiri" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14bvihfs0gzmam680xqqs07isxjk677yi3ph2pdvyyhhkbfys0l0"; type = "gem"; }; version = "1.1.1"; }; vite_rails = { - dependencies = ["railties" "vite_ruby"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "railties" + "vite_ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1k4bllg0zpmpkjfmk1gybc2ygca4v40l2fmlplf9h0jqwniqa3mr"; type = "gem"; }; version = "3.0.17"; }; vite_ruby = { - dependencies = ["dry-cli" "rack-proxy" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dry-cli" + "rack-proxy" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1fcharh45xwi2cx96m695v9gccny3hgvdkkhcbkhplk1bc6ldwgk"; type = "gem"; }; version = "3.8.2"; }; webauthn = { - dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "tpm-key_attestation"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "android_key_attestation" + "awrence" + "bindata" + "cbor" + "cose" + "openssl" + "safety_net_attestation" + "tpm-key_attestation" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dwh2xrpwhbzyncb1wvgzz8fmln3r15iqz53c48q4swagpqzqig5"; type = "gem"; }; version = "3.1.0"; }; webmock = { - dependencies = ["addressable" "crack" "hashdiff"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "crack" + "hashdiff" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08kixkdp41dw39kqfxf2wp5m4z9b6fxg6yfa6xin0wy7dxzka0dy"; type = "gem"; }; version = "3.24.0"; }; webrick = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; type = "gem"; }; version = "1.8.2"; }; websocket = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; type = "gem"; }; version = "1.2.11"; }; websocket-driver = { - dependencies = ["websocket-extensions"]; - groups = ["default"]; - platforms = []; + dependencies = [ "websocket-extensions" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n"; type = "gem"; }; version = "0.7.6"; }; websocket-extensions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; type = "gem"; }; version = "0.1.5"; }; whatsapp_sdk = { - dependencies = ["faraday" "faraday-multipart" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "faraday-multipart" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v5wgs11qqdhjpkmhchac35f3rfb3p44xqybxdgmsawc4mns8srl"; type = "gem"; }; version = "0.13.0"; }; write_xlsx = { - dependencies = ["nkf" "rubyzip"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nkf" + "rubyzip" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qln4i0yv2fg5mb0n8aam3kjn5lhrb0s80f6ahmdsldkj08jli7x"; type = "gem"; }; version = "1.12.1"; }; xpath = { - dependencies = ["nokogiri"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "nokogiri" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; version = "3.2.0"; }; yard = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14k9lb9a60r9z2zcqg08by9iljrrgjxdkbd91gw17rkqkqwi1sd6"; type = "gem"; }; version = "0.9.37"; }; zeitwerk = { - groups = ["assets" "default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "assets" + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10cpfdswql21vildiin0q7drg5zfzf2sahnk9hv3nyzzjqwj2bdx"; type = "gem"; }; version = "2.6.18"; }; zendesk_api = { - dependencies = ["faraday" "faraday-multipart" "hashie" "inflection" "mini_mime" "multipart-post"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "faraday-multipart" + "hashie" + "inflection" + "mini_mime" + "multipart-post" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cjiqm50zc4gpsn456235k8x0prafbmz921yqjgava4rp706467d"; type = "gem"; }; diff --git a/pkgs/by-name/za/zapret/package.nix b/pkgs/by-name/za/zapret/package.nix index 63d4e4f47e7c6..f24357b98a04b 100644 --- a/pkgs/by-name/za/zapret/package.nix +++ b/pkgs/by-name/za/zapret/package.nix @@ -11,7 +11,7 @@ iptables, nftables, - gawk + gawk, }: stdenv.mkDerivation (finalAttrs: { @@ -25,8 +25,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-3wFNXtx9Yt40ahlikHbQWh2fUtJZrCNkqgJF1C+fsDo="; }; - buildInputs = [ libcap zlib libnetfilter_queue libnfnetlink ]; - nativeBuildInputs = [ iptables nftables gawk ]; + buildInputs = [ + libcap + zlib + libnetfilter_queue + libnfnetlink + ]; + nativeBuildInputs = [ + iptables + nftables + gawk + ]; makeFlags = [ "TGT=${placeholder "out"}/bin" ]; diff --git a/pkgs/by-name/za/zapzap/package.nix b/pkgs/by-name/za/zapzap/package.nix index bce45dcd14860..0bdc455493e53 100644 --- a/pkgs/by-name/za/zapzap/package.nix +++ b/pkgs/by-name/za/zapzap/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, qt6 +{ + lib, + fetchFromGitHub, + python3Packages, + qt6, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/za/zarchive/package.nix b/pkgs/by-name/za/zarchive/package.nix index 3ef68ae8b71eb..2efece44cadbf 100644 --- a/pkgs/by-name/za/zarchive/package.nix +++ b/pkgs/by-name/za/zarchive/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zstd }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zstd, +}: stdenv.mkDerivation rec { pname = "zarchive"; diff --git a/pkgs/by-name/za/zarf/package.nix b/pkgs/by-name/za/zarf/package.nix index c030a86e0a93e..328b64a53e991 100644 --- a/pkgs/by-name/za/zarf/package.nix +++ b/pkgs/by-name/za/zarf/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + stdenv, }: buildGoModule rec { @@ -28,7 +29,18 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X" "github.com/defenseunicorns/zarf/src/config.CLIVersion=${src.rev}" "-X" "k8s.io/component-base/version.gitVersion=v0.0.0+zarf${src.rev}" "-X" "k8s.io/component-base/version.gitCommit=${src.rev}" "-X" "k8s.io/component-base/version.buildDate=1970-01-01T00:00:00Z" ]; + ldflags = [ + "-s" + "-w" + "-X" + "github.com/defenseunicorns/zarf/src/config.CLIVersion=${src.rev}" + "-X" + "k8s.io/component-base/version.gitVersion=v0.0.0+zarf${src.rev}" + "-X" + "k8s.io/component-base/version.gitCommit=${src.rev}" + "-X" + "k8s.io/component-base/version.buildDate=1970-01-01T00:00:00Z" + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' export K9S_LOGS_DIR=$(mktemp -d) diff --git a/pkgs/by-name/za/zasm/package.nix b/pkgs/by-name/za/zasm/package.nix index bd98622edf3fd..0eaf0992e6f62 100644 --- a/pkgs/by-name/za/zasm/package.nix +++ b/pkgs/by-name/za/zasm/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + zlib, +}: let libs-src = fetchFromGitHub { owner = "megatokio"; diff --git a/pkgs/by-name/za/zaz/package.nix b/pkgs/by-name/za/zaz/package.nix index dca1d74a43ff1..455b10a997499 100644 --- a/pkgs/by-name/za/zaz/package.nix +++ b/pkgs/by-name/za/zaz/package.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, SDL -, SDL_image -, mesa -, libtheora -, libvorbis -, libogg -, ftgl -, freetype +{ + lib, + stdenv, + fetchurl, + pkg-config, + SDL, + SDL_image, + mesa, + libtheora, + libvorbis, + libogg, + ftgl, + freetype, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/zb/zbctl/package.nix b/pkgs/by-name/zb/zbctl/package.nix index 0ec6598a8b8e7..f5c72fb60ffc3 100644 --- a/pkgs/by-name/zb/zbctl/package.nix +++ b/pkgs/by-name/zb/zbctl/package.nix @@ -1,19 +1,26 @@ -{ lib -, stdenvNoCC -, fetchurl +{ + lib, + stdenvNoCC, + fetchurl, }: stdenvNoCC.mkDerivation rec { pname = "zbctl"; version = "8.2.11"; - src = if stdenvNoCC.hostPlatform.system == "x86_64-darwin" then fetchurl { - url = "https://github.com/camunda/zeebe/releases/download/${version}/zbctl.darwin"; - sha256 = "0390n6wmlmfwqf6fvw6wqg6hbrs7bm9x2cdaajlw87377lklypkf"; - } else if stdenvNoCC.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "https://github.com/camunda/zeebe/releases/download/${version}/zbctl"; - sha256 = "081hc0nynwg014lhsxxyin4rc2i9z6wh8q9i98cjjd8kgr41h096"; - } else throw "Unsupported platform ${stdenvNoCC.hostPlatform.system}"; + src = + if stdenvNoCC.hostPlatform.system == "x86_64-darwin" then + fetchurl { + url = "https://github.com/camunda/zeebe/releases/download/${version}/zbctl.darwin"; + sha256 = "0390n6wmlmfwqf6fvw6wqg6hbrs7bm9x2cdaajlw87377lklypkf"; + } + else if stdenvNoCC.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "https://github.com/camunda/zeebe/releases/download/${version}/zbctl"; + sha256 = "081hc0nynwg014lhsxxyin4rc2i9z6wh8q9i98cjjd8kgr41h096"; + } + else + throw "Unsupported platform ${stdenvNoCC.hostPlatform.system}"; dontUnpack = true; dontConfigure = true; @@ -34,7 +41,10 @@ stdenvNoCC.mkDerivation rec { changelog = "https://github.com/camunda/zeebe/releases/tag/${version}"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.asl20; - platforms = [ "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + ]; maintainers = with maintainers; [ thetallestjj ]; longDescription = '' A command line interface for Camunda Platform 8 designed to create and read resources inside a Zeebe broker. diff --git a/pkgs/by-name/zc/zcfan/package.nix b/pkgs/by-name/zc/zcfan/package.nix index 430026d16f12c..b4dfef55272e9 100644 --- a/pkgs/by-name/zc/zcfan/package.nix +++ b/pkgs/by-name/zc/zcfan/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: # Testing this requires a Thinkpad or the presence of /proc/acpi/ibm/fan diff --git a/pkgs/by-name/zc/zchaff/package.nix b/pkgs/by-name/zc/zchaff/package.nix index 5e22ff448ed37..4e486c5a95122 100644 --- a/pkgs/by-name/zc/zchaff/package.nix +++ b/pkgs/by-name/zc/zchaff/package.nix @@ -1,4 +1,8 @@ -{ lib, clangStdenv, fetchzip }: +{ + lib, + clangStdenv, + fetchzip, +}: clangStdenv.mkDerivation rec { pname = "zchaff"; @@ -15,7 +19,7 @@ clangStdenv.mkDerivation rec { ''; makeFlags = [ "CC=${clangStdenv.cc.targetPrefix}c++" ]; - installPhase= '' + installPhase = '' runHook preInstall install -Dm755 -t $out/bin zchaff runHook postInstall diff --git a/pkgs/by-name/zd/zd1211fw/package.nix b/pkgs/by-name/zd/zd1211fw/package.nix index ecf131effd40a..632a5c60ff883 100644 --- a/pkgs/by-name/zd/zd1211fw/package.nix +++ b/pkgs/by-name/zd/zd1211fw/package.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, lib -, fetchurl +{ + stdenvNoCC, + lib, + fetchurl, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/by-name/zd/zdelta/package.nix b/pkgs/by-name/zd/zdelta/package.nix index b30a43f33c13a..c84cd85f679c0 100644 --- a/pkgs/by-name/zd/zdelta/package.nix +++ b/pkgs/by-name/zd/zdelta/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "zdelta"; diff --git a/pkgs/by-name/zd/zdns/package.nix b/pkgs/by-name/zd/zdns/package.nix index d67bb6d8e4c72..dfa2fecc48fb5 100644 --- a/pkgs/by-name/zd/zdns/package.nix +++ b/pkgs/by-name/zd/zdns/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/ze/zecwallet-lite/package.nix b/pkgs/by-name/ze/zecwallet-lite/package.nix index 1659bae052b93..28b1b5085d2bc 100644 --- a/pkgs/by-name/ze/zecwallet-lite/package.nix +++ b/pkgs/by-name/ze/zecwallet-lite/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, appimageTools }: +{ + lib, + fetchurl, + appimageTools, +}: appimageTools.wrapType2 rec { pname = "zecwallet-lite"; @@ -10,8 +14,10 @@ appimageTools.wrapType2 rec { }; extraInstallCommands = - let contents = appimageTools.extract { inherit pname version src; }; - in '' + let + contents = appimageTools.extract { inherit pname version src; }; + in + '' install -m 444 -D ${contents}/zecwallet-lite.desktop -t $out/share/applications substituteInPlace $out/share/applications/zecwallet-lite.desktop \ --replace 'Exec=AppRun' "Exec=$out/bin/zecwallet-lite" diff --git a/pkgs/by-name/ze/zed/package.nix b/pkgs/by-name/ze/zed/package.nix index a567ce7f474b2..3f49bdec0d5b6 100644 --- a/pkgs/by-name/ze/zed/package.nix +++ b/pkgs/by-name/ze/zed/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, zed +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + zed, }: buildGoModule rec { @@ -18,7 +19,10 @@ buildGoModule rec { vendorHash = "sha256-E9CXS3BQAglJV36BPgwhkb9SswxAj/yBcGqJ+XXwTmE="; - subPackages = [ "cmd/zed" "cmd/zq" ]; + subPackages = [ + "cmd/zed" + "cmd/zq" + ]; ldflags = [ "-s" @@ -41,6 +45,9 @@ buildGoModule rec { homepage = "https://zed.brimdata.io"; changelog = "https://github.com/brimdata/zed/blob/v${version}/CHANGELOG.md"; license = licenses.bsd3; - maintainers = with maintainers; [ dit7ya knl ]; + maintainers = with maintainers; [ + dit7ya + knl + ]; }; } diff --git a/pkgs/by-name/ze/zeekscript/package.nix b/pkgs/by-name/ze/zeekscript/package.nix index 9cca3fdaac51a..476fc11018a77 100644 --- a/pkgs/by-name/ze/zeekscript/package.nix +++ b/pkgs/by-name/ze/zeekscript/package.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { @@ -35,7 +36,10 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/zeek/zeekscript"; changelog = "https://github.com/zeek/zeekscript/blob/v${version}/CHANGES"; license = licenses.bsd3; - maintainers = with maintainers; [ fab tobim ]; + maintainers = with maintainers; [ + fab + tobim + ]; # Incompatible with tree-sitter > 0.21. broken = true; }; diff --git a/pkgs/by-name/ze/zeitgeist/package.nix b/pkgs/by-name/ze/zeitgeist/package.nix index a198b1b6046ec..7c6db745fe11c 100644 --- a/pkgs/by-name/ze/zeitgeist/package.nix +++ b/pkgs/by-name/ze/zeitgeist/package.nix @@ -1,28 +1,34 @@ -{ stdenv -, lib -, fetchFromGitLab -, pkg-config -, glib -, sqlite -, gobject-introspection -, vala -, autoconf -, automake -, libtool -, gettext -, dbus -, gtk3 -, json-glib -, librdf_raptor2 -, pythonSupport ? true -, python3 +{ + stdenv, + lib, + fetchFromGitLab, + pkg-config, + glib, + sqlite, + gobject-introspection, + vala, + autoconf, + automake, + libtool, + gettext, + dbus, + gtk3, + json-glib, + librdf_raptor2, + pythonSupport ? true, + python3, }: stdenv.mkDerivation rec { pname = "zeitgeist"; version = "1.0.4"; - outputs = [ "out" "lib" "dev" "man" ] ++ lib.optional pythonSupport "py"; + outputs = [ + "out" + "lib" + "dev" + "man" + ] ++ lib.optional pythonSupport "py"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; diff --git a/pkgs/by-name/ze/zenity/package.nix b/pkgs/by-name/ze/zenity/package.nix index 2e907a48eb1ff..b6f4efdd3c94d 100644 --- a/pkgs/by-name/ze/zenity/package.nix +++ b/pkgs/by-name/ze/zenity/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchurl -, help2man -, meson -, ninja -, pkg-config -, libxml2 -, gnome -, gtk4 -, gettext -, libadwaita -, itstool -, wrapGAppsHook4 +{ + stdenv, + lib, + fetchurl, + help2man, + meson, + ninja, + pkg-config, + libxml2, + gnome, + gtk4, + gettext, + libadwaita, + itstool, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ze/zenmonitor/package.nix b/pkgs/by-name/ze/zenmonitor/package.nix index 837785c4d5a22..648e0e96d720f 100644 --- a/pkgs/by-name/ze/zenmonitor/package.nix +++ b/pkgs/by-name/ze/zenmonitor/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitea, pkg-config, gtk3, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitea, + pkg-config, + gtk3, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "zenmonitor"; @@ -13,7 +20,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ gtk3 ]; - nativeBuildInputs = [ pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -22,7 +32,13 @@ stdenv.mkDerivation rec { description = "Monitoring software for AMD Zen-based CPUs"; mainProgram = "zenmonitor"; license = licenses.mit; - platforms = [ "i686-linux" "x86_64-linux" ]; - maintainers = with maintainers; [ alexbakker artturin ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; + maintainers = with maintainers; [ + alexbakker + artturin + ]; }; } diff --git a/pkgs/by-name/ze/zenstates/package.nix b/pkgs/by-name/ze/zenstates/package.nix index a320e959f0210..b824fbc74ceac 100644 --- a/pkgs/by-name/ze/zenstates/package.nix +++ b/pkgs/by-name/ze/zenstates/package.nix @@ -21,7 +21,12 @@ # before = [ "sleep.target" ]; # }; -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "zenstates"; version = "0.0.1"; @@ -40,7 +45,7 @@ stdenv.mkDerivation rec { cp $src/zenstates.py $out/bin/zenstates chmod +x $out/bin/zenstates patchShebangs --build $out/bin/zenstates - ''; + ''; meta = with lib; { description = "Linux utility for Ryzen processors and motherboards"; diff --git a/pkgs/by-name/ze/zerobin/package.nix b/pkgs/by-name/ze/zerobin/package.nix index 62201ba6ca089..5a826ccec891b 100644 --- a/pkgs/by-name/ze/zerobin/package.nix +++ b/pkgs/by-name/ze/zerobin/package.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchFromGitHub -, uglify-js +{ + lib, + python3Packages, + fetchFromGitHub, + uglify-js, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ze/zeroc-ice/package.nix b/pkgs/by-name/ze/zeroc-ice/package.nix index 5c6a0ba9bbe12..2bcd6e85f3995 100644 --- a/pkgs/by-name/ze/zeroc-ice/package.nix +++ b/pkgs/by-name/ze/zeroc-ice/package.nix @@ -1,7 +1,15 @@ -{ stdenv, lib, fetchFromGitHub -, bzip2, expat, libedit, lmdb, openssl, libxcrypt -, python3 # for tests only -, cpp11 ? false +{ + stdenv, + lib, + fetchFromGitHub, + bzip2, + expat, + libedit, + lmdb, + openssl, + libxcrypt, + python3, # for tests only + cpp11 ? false, }: let @@ -20,7 +28,8 @@ let installFlags = [ "PREFIX=$(out)" ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "zeroc-ice"; version = "3.7.10"; @@ -31,7 +40,15 @@ in stdenv.mkDerivation rec { hash = "sha256-l3cKsR8HSdtFGw1S12xueQOu/U9ABlOxQQtbHBj2izs="; }; - buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl libxcrypt ]; + buildInputs = [ + zeroc_mcpp + bzip2 + expat + libedit + lmdb + openssl + libxcrypt + ]; preBuild = '' makeFlagsArray+=( @@ -46,25 +63,35 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - outputs = [ "out" "bin" "dev" ]; + outputs = [ + "out" + "bin" + "dev" + ]; doCheck = true; nativeCheckInputs = with python3.pkgs; [ passlib ]; - checkPhase = let - # these tests require network access so we need to skip them. - brokenTests = map lib.escapeRegex [ - "Ice/udp" "Glacier2" "IceGrid/simple" "IceStorm" "IceDiscovery/simple" + checkPhase = + let + # these tests require network access so we need to skip them. + brokenTests = map lib.escapeRegex [ + "Ice/udp" + "Glacier2" + "IceGrid/simple" + "IceStorm" + "IceDiscovery/simple" - # FIXME: certificate expired, remove for next release? - "IceSSL/configuration" - ]; - # matches CONFIGS flag in makeFlagsArray - configFlag = lib.optionalString cpp11 "--config=cpp11-shared"; - in '' - runHook preCheck - ${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${lib.concatStringsSep "|" brokenTests}' - runHook postCheck - ''; + # FIXME: certificate expired, remove for next release? + "IceSSL/configuration" + ]; + # matches CONFIGS flag in makeFlagsArray + configFlag = lib.optionalString cpp11 "--config=cpp11-shared"; + in + '' + runHook preCheck + ${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${lib.concatStringsSep "|" brokenTests}' + runHook postCheck + ''; postInstall = '' mkdir -p $bin $dev/share diff --git a/pkgs/by-name/ze/zerofree/package.nix b/pkgs/by-name/ze/zerofree/package.nix index 77099a01e44f6..e85c947b4618f 100644 --- a/pkgs/by-name/ze/zerofree/package.nix +++ b/pkgs/by-name/ze/zerofree/package.nix @@ -1,11 +1,18 @@ -{ lib, stdenv, fetchurl, installShellFiles, e2fsprogs }: +{ + lib, + stdenv, + fetchurl, + installShellFiles, + e2fsprogs, +}: let manpage = fetchurl { url = "https://manpages.ubuntu.com/manpages.gz/xenial/man8/zerofree.8.gz"; sha256 = "0y132xmjl02vw41k794psa4nmjpdyky9f6sf0h4f7rvf83z3zy4k"; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "zerofree"; version = "1.1.1"; @@ -14,7 +21,10 @@ in stdenv.mkDerivation rec { sha256 = "0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm"; }; - buildInputs = [ e2fsprogs installShellFiles ]; + buildInputs = [ + e2fsprogs + installShellFiles + ]; installPhase = '' mkdir -p $out/bin $out/share/zerofree diff --git a/pkgs/by-name/ze/zeronet-conservancy/package.nix b/pkgs/by-name/ze/zeronet-conservancy/package.nix index 0477684142c14..8f62e053f78fc 100644 --- a/pkgs/by-name/ze/zeronet-conservancy/package.nix +++ b/pkgs/by-name/ze/zeronet-conservancy/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, nixosTests +{ + lib, + fetchFromGitHub, + python3Packages, + nixosTests, }: python3Packages.buildPythonApplication rec { @@ -17,9 +18,23 @@ python3Packages.buildPythonApplication rec { }; propagatedBuildInputs = with python3Packages; [ - gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket-client - gevent-websocket rencode python-bitcoinlib maxminddb pyopenssl rich defusedxml - pyaes coincurve + gevent + msgpack + base58 + merkletools + rsa + pysocks + pyasn1 + websocket-client + gevent-websocket + rencode + python-bitcoinlib + maxminddb + pyopenssl + rich + defusedxml + pyaes + coincurve ]; buildPhase = '' diff --git a/pkgs/by-name/ze/zeronet/package.nix b/pkgs/by-name/ze/zeronet/package.nix index d3ffcf81a889a..e74133b763580 100644 --- a/pkgs/by-name/ze/zeronet/package.nix +++ b/pkgs/by-name/ze/zeronet/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "zeronet"; @@ -13,8 +17,19 @@ python3Packages.buildPythonApplication rec { }; propagatedBuildInputs = with python3Packages; [ - gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket-client - gevent-websocket rencode python-bitcoinlib maxminddb pyopenssl + gevent + msgpack + base58 + merkletools + rsa + pysocks + pyasn1 + websocket-client + gevent-websocket + rencode + python-bitcoinlib + maxminddb + pyopenssl ]; buildPhase = '' @@ -37,9 +52,11 @@ python3Packages.buildPythonApplication rec { homepage = "https://zeronet.io/"; license = licenses.gpl2; maintainers = with maintainers; [ fgaz ]; - knownVulnerabilities = [ '' - Unmaintained. Probable XSS/code injection vulnerability. - Switching to the maintained zeronet-conservancy package is recommended - '' ]; + knownVulnerabilities = [ + '' + Unmaintained. Probable XSS/code injection vulnerability. + Switching to the maintained zeronet-conservancy package is recommended + '' + ]; }; } diff --git a/pkgs/by-name/ze/zerotierone/package.nix b/pkgs/by-name/ze/zerotierone/package.nix index 3252cce49d606..8f5f2dcb1422a 100644 --- a/pkgs/by-name/ze/zerotierone/package.nix +++ b/pkgs/by-name/ze/zerotierone/package.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, buildPackages -, cargo -, lzo -, openssl -, pkg-config -, ronn -, rustc -, zlib -, libiconv -, darwin -, fetchpatch +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + buildPackages, + cargo, + lzo, + openssl, + pkg-config, + ronn, + rustc, + zlib, + libiconv, + darwin, + fetchpatch, }: let @@ -26,7 +27,8 @@ let hash = "sha256-YWcqALUB3ZEukL4er2FKcyNdEbuaf//QU5hRbKAfxDA="; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version src; cargoDeps = rustPlatform.importCargoLock { @@ -49,7 +51,6 @@ in stdenv.mkDerivation { cp ${./Cargo.lock} rustybits/Cargo.lock ''; - preConfigure = '' cmp ./Cargo.lock ./rustybits/Cargo.lock || { echo 1>&2 "Please make sure that the derivation's Cargo.lock is identical to ./rustybits/Cargo.lock!" @@ -73,47 +74,56 @@ in stdenv.mkDerivation { rustc ]; - buildInputs = [ - lzo - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - darwin.apple_sdk.frameworks.SystemConfiguration - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + [ + lzo + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + darwin.apple_sdk.frameworks.SystemConfiguration + darwin.apple_sdk.frameworks.CoreServices + ]; enableParallelBuilding = true; # Ensure Rust compiles for the right target env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTarget; - preBuild = if stdenv.hostPlatform.isDarwin then '' - makeFlagsArray+=("ARCH_FLAGS=") # disable multi-arch build - if ! grep -q MACOS_VERSION_MIN=10.13 make-mac.mk; then - echo "You may need to update MACOSX_DEPLOYMENT_TARGET to match the value in make-mac.mk" - exit 1 - fi - (cd rustybits && MACOSX_DEPLOYMENT_TARGET=10.13 cargo build -p zeroidc --release) - - cp \ - ./rustybits/target/${stdenv.hostPlatform.rust.rustcTarget}/release/libzeroidc.a \ - ./rustybits/target - - # zerotier uses the "FORCE" target as a phony target to force rebuilds. - # We don't want to rebuild libzeroidc.a as we build want to build this library ourself for a single architecture - touch FORCE - '' else '' - # Cargo won't compile to target/release but to target//release when a target is - # explicitly defined. The build-system however expects target/release. Hence we just symlink from - # the latter to the former. - mkdir -p rustybits/target/release - ln -rs \ - ./rustybits/target/${stdenv.hostPlatform.rust.rustcTarget}/release/libzeroidc.a \ - ./rustybits/target/release/ - ''; - - buildFlags = [ "all" "selftest" ]; + preBuild = + if stdenv.hostPlatform.isDarwin then + '' + makeFlagsArray+=("ARCH_FLAGS=") # disable multi-arch build + if ! grep -q MACOS_VERSION_MIN=10.13 make-mac.mk; then + echo "You may need to update MACOSX_DEPLOYMENT_TARGET to match the value in make-mac.mk" + exit 1 + fi + (cd rustybits && MACOSX_DEPLOYMENT_TARGET=10.13 cargo build -p zeroidc --release) + + cp \ + ./rustybits/target/${stdenv.hostPlatform.rust.rustcTarget}/release/libzeroidc.a \ + ./rustybits/target + + # zerotier uses the "FORCE" target as a phony target to force rebuilds. + # We don't want to rebuild libzeroidc.a as we build want to build this library ourself for a single architecture + touch FORCE + '' + else + '' + # Cargo won't compile to target/release but to target//release when a target is + # explicitly defined. The build-system however expects target/release. Hence we just symlink from + # the latter to the former. + mkdir -p rustybits/target/release + ln -rs \ + ./rustybits/target/${stdenv.hostPlatform.rust.rustcTarget}/release/libzeroidc.a \ + ./rustybits/target/release/ + ''; + + buildFlags = [ + "all" + "selftest" + ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; checkPhase = '' @@ -124,7 +134,8 @@ in stdenv.mkDerivation { installFlags = [ # only linux has an install target, we borrow this for macOS as well - "-f" "make-linux.mk" + "-f" + "make-linux.mk" "DESTDIR=$$out/upstream" ]; @@ -137,7 +148,10 @@ in stdenv.mkDerivation { rm -rf $out/upstream ''; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; passthru.updateScript = ./update.sh; @@ -146,7 +160,11 @@ in stdenv.mkDerivation { homepage = "https://www.zerotier.com"; license = licenses.bsl11; maintainers = with maintainers; [ - sjmackenzie zimbatm ehmry obadz danielfullmer + sjmackenzie + zimbatm + ehmry + obadz + danielfullmer mic92 # also can test darwin ]; platforms = platforms.unix; diff --git a/pkgs/by-name/ze/zesarux/package.nix b/pkgs/by-name/ze/zesarux/package.nix index b75e4ade88ebf..a06d19251b401 100644 --- a/pkgs/by-name/ze/zesarux/package.nix +++ b/pkgs/by-name/ze/zesarux/package.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, aalib -, alsa-lib -, libXext -, libXxf86vm -, libcaca -, libpulseaudio -, libsndfile -, ncurses -, openssl -, which +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + aalib, + alsa-lib, + libXext, + libXxf86vm, + libcaca, + libpulseaudio, + libsndfile, + ncurses, + openssl, + which, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ze/zet/package.nix b/pkgs/by-name/ze/zet/package.nix index c94380047d1ac..e1fa08c94162f 100644 --- a/pkgs/by-name/ze/zet/package.nix +++ b/pkgs/by-name/ze/zet/package.nix @@ -1,7 +1,8 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, fetchpatch2 +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch2, }: rustPlatform.buildRustPackage rec { @@ -35,7 +36,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "zet"; homepage = "https://github.com/yarrow/zet"; changelog = "https://github.com/yarrow/zet/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with maintainers; [ figsoda ]; }; } diff --git a/pkgs/by-name/ze/zeyple/package.nix b/pkgs/by-name/ze/zeyple/package.nix index fd5f628676aeb..48f3109b278db 100644 --- a/pkgs/by-name/ze/zeyple/package.nix +++ b/pkgs/by-name/ze/zeyple/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "zeyple"; diff --git a/pkgs/by-name/zf/zfs-autobackup/package.nix b/pkgs/by-name/zf/zfs-autobackup/package.nix index fcb3bf7dce964..4ff4839a7aaae 100644 --- a/pkgs/by-name/zf/zfs-autobackup/package.nix +++ b/pkgs/by-name/zf/zfs-autobackup/package.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "zfs-autobackup"; @@ -10,7 +14,6 @@ python3Packages.buildPythonApplication rec { hash = "sha256-rvtY7fsn2K2hueAsQkaPXcwxUAgE8j+GsQFF3eJKG2o="; }; - propagatedBuildInputs = with python3Packages; [ colorama ]; pythonRemoveDeps = [ "argparse" ]; diff --git a/pkgs/by-name/zf/zfs-prune-snapshots/package.nix b/pkgs/by-name/zf/zfs-prune-snapshots/package.nix index 18ddacd4d55fd..a272cb93cdb8c 100644 --- a/pkgs/by-name/zf/zfs-prune-snapshots/package.nix +++ b/pkgs/by-name/zf/zfs-prune-snapshots/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, go-md2man }: +{ + lib, + stdenv, + fetchFromGitHub, + go-md2man, +}: stdenv.mkDerivation rec { version = "1.5.0"; diff --git a/pkgs/by-name/zf/zfsbackup/package.nix b/pkgs/by-name/zf/zfsbackup/package.nix index 6be570fadd22d..00262004855a6 100644 --- a/pkgs/by-name/zf/zfsbackup/package.nix +++ b/pkgs/by-name/zf/zfsbackup/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-aYAficUFYYhZygfQZyczP49CeouAKKZJW8IFlkFh9lI="; - ldflags = [ "-w" "-s" ]; + ldflags = [ + "-w" + "-s" + ]; # Tests require loading the zfs kernel module. doCheck = false; diff --git a/pkgs/by-name/zf/zfsnap/package.nix b/pkgs/by-name/zf/zfsnap/package.nix index 7c78fc8f17208..0b7fd9b2048be 100644 --- a/pkgs/by-name/zf/zfsnap/package.nix +++ b/pkgs/by-name/zf/zfsnap/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, coreutils, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + installShellFiles, +}: stdenv.mkDerivation rec { version = "2.0.0-beta3"; diff --git a/pkgs/by-name/zf/zfstools/package.nix b/pkgs/by-name/zf/zfstools/package.nix index 0a4447bacc4f3..49b34961841c9 100644 --- a/pkgs/by-name/zf/zfstools/package.nix +++ b/pkgs/by-name/zf/zfstools/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ruby, zfs, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + ruby, + zfs, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "zfstools"; diff --git a/pkgs/by-name/zf/zfxtop/package.nix b/pkgs/by-name/zf/zfxtop/package.nix index 5c216c7ca0cbe..71ac3b1e773fc 100644 --- a/pkgs/by-name/zf/zfxtop/package.nix +++ b/pkgs/by-name/zf/zfxtop/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/by-name/zg/zgrab2/package.nix b/pkgs/by-name/zg/zgrab2/package.nix index 155a6a28e721e..9651c9ee54faf 100644 --- a/pkgs/by-name/zg/zgrab2/package.nix +++ b/pkgs/by-name/zg/zgrab2/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -31,7 +32,13 @@ buildGoModule rec { description = "Web application scanner"; mainProgram = "zgrab2"; homepage = "https://github.com/zmap/zgrab2"; - license = with licenses; [ asl20 isc ]; - maintainers = with maintainers; [ fab juliusrickert ]; + license = with licenses; [ + asl20 + isc + ]; + maintainers = with maintainers; [ + fab + juliusrickert + ]; }; } diff --git a/pkgs/by-name/zg/zgrviewer/package.nix b/pkgs/by-name/zg/zgrviewer/package.nix index 980e631ad41f5..2acac587ebc56 100644 --- a/pkgs/by-name/zg/zgrviewer/package.nix +++ b/pkgs/by-name/zg/zgrviewer/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, jre, unzip, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + jre, + unzip, + runtimeShell, +}: stdenv.mkDerivation rec { version = "0.9.0"; pname = "zgrviewer"; @@ -7,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23"; }; nativeBuildInputs = [ unzip ]; - buildInputs = [jre]; + buildInputs = [ jre ]; buildPhase = ""; installPhase = '' mkdir -p "$out"/{bin,share/java/zvtm/plugins,share/doc/zvtm} @@ -22,8 +29,8 @@ stdenv.mkDerivation rec { ''; meta = { # Quicker to unpack locally than load Hydra - hydraPlatforms = []; - maintainers = with lib.maintainers; [raskin]; + hydraPlatforms = [ ]; + maintainers = with lib.maintainers; [ raskin ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.lgpl21Plus; description = "GraphViz graph viewer/navigator"; diff --git a/pkgs/by-name/zi/zi/package.nix b/pkgs/by-name/zi/zi/package.nix index 1649a6a7fe88f..9458af8f90e8c 100644 --- a/pkgs/by-name/zi/zi/package.nix +++ b/pkgs/by-name/zi/zi/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, installShellFiles, stdenvNoCC }: +{ + lib, + fetchFromGitHub, + installShellFiles, + stdenvNoCC, +}: stdenvNoCC.mkDerivation rec { pname = "zi"; diff --git a/pkgs/by-name/zi/zigbee2mqtt/package.nix b/pkgs/by-name/zi/zigbee2mqtt/package.nix index 80073eede9aa6..71d7e9501db89 100644 --- a/pkgs/by-name/zi/zigbee2mqtt/package.nix +++ b/pkgs/by-name/zi/zigbee2mqtt/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildNpmPackage -, fetchFromGitHub -, systemdMinimal -, nixosTests -, nix-update-script -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal +{ + lib, + stdenv, + buildNpmPackage, + fetchFromGitHub, + systemdMinimal, + nixosTests, + nix-update-script, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, }: buildNpmPackage rec { @@ -41,7 +42,10 @@ buildNpmPackage rec { It bridges events and allows you to control your Zigbee devices via MQTT. In this way you can integrate your Zigbee devices with whatever smart home infrastructure you are using. ''; - maintainers = with maintainers; [ sweber hexa ]; + maintainers = with maintainers; [ + sweber + hexa + ]; mainProgram = "zigbee2mqtt"; }; } diff --git a/pkgs/by-name/zi/zigpy-cli/package.nix b/pkgs/by-name/zi/zigpy-cli/package.nix index 69b4eaed661a4..dcca95a3df595 100644 --- a/pkgs/by-name/zi/zigpy-cli/package.nix +++ b/pkgs/by-name/zi/zigpy-cli/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/zi/zile/package.nix b/pkgs/by-name/zi/zile/package.nix index 26f0f3484d444..8cfc73832c6cd 100644 --- a/pkgs/by-name/zi/zile/package.nix +++ b/pkgs/by-name/zi/zile/package.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, boehmgc -, glib -, help2man -, libgee -, ncurses -, perl -, pkg-config -, vala +{ + lib, + stdenv, + fetchurl, + boehmgc, + glib, + help2man, + libgee, + ncurses, + perl, + pkg-config, + vala, }: stdenv.mkDerivation rec { @@ -26,14 +27,15 @@ stdenv.mkDerivation rec { libgee ncurses ]; - nativeBuildInputs = [ - perl - pkg-config - vala - ] - # `help2man' wants to run Zile, which won't work when the - # newly-produced binary can't be run at build-time. - ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) help2man; + nativeBuildInputs = + [ + perl + pkg-config + vala + ] + # `help2man' wants to run Zile, which won't work when the + # newly-produced binary can't be run at build-time. + ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) help2man; # Tests can't be run because most of them rely on the ability to # fiddle with the terminal. @@ -42,7 +44,7 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; # XXX: Work around cross-compilation-unfriendly `gl_FUNC_FSTATAT' macro. - gl_cv_func_fstatat_zero_flag="yes"; + gl_cv_func_fstatat_zero_flag = "yes"; meta = with lib; { homepage = "https://www.gnu.org/software/zile/"; diff --git a/pkgs/by-name/zi/zilla-slab/package.nix b/pkgs/by-name/zi/zilla-slab/package.nix index 886362d78e990..333db7d2248ef 100644 --- a/pkgs/by-name/zi/zilla-slab/package.nix +++ b/pkgs/by-name/zi/zilla-slab/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "zilla-slab"; diff --git a/pkgs/by-name/zi/zim-tools/package.nix b/pkgs/by-name/zi/zim-tools/package.nix index 100c9e706ff78..b4eef262ce543 100644 --- a/pkgs/by-name/zi/zim-tools/package.nix +++ b/pkgs/by-name/zi/zim-tools/package.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, fetchFromGitHub -, meson, ninja, pkg-config -, docopt_cpp, file, gumbo, mustache-hpp, zimlib, zlib -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + docopt_cpp, + file, + gumbo, + mustache-hpp, + zimlib, + zlib, + gtest, }: stdenv.mkDerivation rec { @@ -15,8 +25,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-A1A0Ri2OwPyqpx0f5CPJL3zAwo2I/AiRKpmk3r4DeTc="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; - buildInputs = [ docopt_cpp file gumbo mustache-hpp zimlib zlib ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + buildInputs = [ + docopt_cpp + file + gumbo + mustache-hpp + zimlib + zlib + ]; nativeCheckInputs = [ gtest ]; doCheck = true; diff --git a/pkgs/by-name/zi/zim/package.nix b/pkgs/by-name/zi/zim/package.nix index 77eaaa16b9929..066afeffae8b1 100644 --- a/pkgs/by-name/zi/zim/package.nix +++ b/pkgs/by-name/zi/zim/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook3, adwaita-icon-theme }: +{ + lib, + stdenv, + fetchurl, + python3Packages, + gtk3, + gobject-introspection, + wrapGAppsHook3, + adwaita-icon-theme, +}: # TODO: Declare configuration options for the following optional dependencies: # - File stores: hg, git, bzr @@ -14,9 +23,18 @@ python3Packages.buildPythonApplication rec { hash = "sha256-QIkNsFsWeNHEcXhGHHZyJDMMW2lNvdwMJLGxeCZaLdI="; }; - buildInputs = [ gtk3 adwaita-icon-theme ]; - propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ]; - nativeBuildInputs = [ gobject-introspection wrapGAppsHook3 ]; + buildInputs = [ + gtk3 + adwaita-icon-theme + ]; + propagatedBuildInputs = with python3Packages; [ + pyxdg + pygobject3 + ]; + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; dontWrapGApps = true; diff --git a/pkgs/by-name/zi/zimfw/package.nix b/pkgs/by-name/zi/zimfw/package.nix index 85a176ea332d9..7ceafd8d3374f 100644 --- a/pkgs/by-name/zi/zimfw/package.nix +++ b/pkgs/by-name/zi/zimfw/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zimfw"; @@ -25,8 +29,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = - "The Zsh configuration framework with blazing speed and modular extensions"; + description = "The Zsh configuration framework with blazing speed and modular extensions"; homepage = "https://zimfw.sh"; license = licenses.mit; maintainers = [ maintainers.joedevivo ]; diff --git a/pkgs/by-name/zi/zimg/package.nix b/pkgs/by-name/zi/zimg/package.nix index dbd6c9582dd71..cc49026b01d25 100644 --- a/pkgs/by-name/zi/zimg/package.nix +++ b/pkgs/by-name/zi/zimg/package.nix @@ -1,17 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "zimg"; version = "3.0.5"; src = fetchFromGitHub { - owner = "sekrit-twc"; - repo = "zimg"; - rev = "release-${version}"; + owner = "sekrit-twc"; + repo = "zimg"; + rev = "release-${version}"; sha256 = "sha256-DCSqHCnOyIvKtIAfprb8tgtzLn67Ix6BWyeIliu0HO4="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ autoreconfHook ]; @@ -19,9 +28,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Scaling, colorspace conversion and dithering library"; - homepage = "https://github.com/sekrit-twc/zimg"; - license = licenses.wtfpl; - platforms = with platforms; unix ++ windows; + homepage = "https://github.com/sekrit-twc/zimg"; + license = licenses.wtfpl; + platforms = with platforms; unix ++ windows; maintainers = with maintainers; [ rnhmjoj ]; }; } diff --git a/pkgs/by-name/zi/zimlib/package.nix b/pkgs/by-name/zi/zimlib/package.nix index a118c51ff136f..f1ab313018ddf 100644 --- a/pkgs/by-name/zi/zimlib/package.nix +++ b/pkgs/by-name/zi/zimlib/package.nix @@ -1,12 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, fetchzip -, meson, ninja, pkg-config -, python3 -, icu -, libuuid -, xapian -, xz -, zstd -, gtest +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + meson, + ninja, + pkg-config, + python3, + icu, + libuuid, + xapian, + xz, + zstd, + gtest, }: stdenv.mkDerivation rec { @@ -45,7 +51,7 @@ stdenv.mkDerivation rec { patchShebangs scripts ''; - mesonFlags = [ "-Dtest_data_dir=${testData}" ]; + mesonFlags = [ "-Dtest_data_dir=${testData}" ]; env.NIX_CFLAGS_COMPILE = toString ( lib.optionals (stdenv.cc.isGNU) [ @@ -61,7 +67,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library for reading and writing ZIM files"; - homepage = "https://www.openzim.org/wiki/Zimlib"; + homepage = "https://www.openzim.org/wiki/Zimlib"; license = licenses.gpl2; maintainers = with maintainers; [ greg ]; platforms = platforms.unix; diff --git a/pkgs/by-name/zi/zine/package.nix b/pkgs/by-name/zi/zine/package.nix index 95d4b1963ebd0..fab0f769d6ce7 100644 --- a/pkgs/by-name/zi/zine/package.nix +++ b/pkgs/by-name/zi/zine/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, openssl -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -27,18 +28,23 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.CoreServices - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; meta = with lib; { description = "Simple and opinionated tool to build your own magazine"; homepage = "https://github.com/zineland/zine"; changelog = "https://github.com/zineland/zine/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ dit7ya figsoda ]; + maintainers = with maintainers; [ + dit7ya + figsoda + ]; mainProgram = "zine"; }; } diff --git a/pkgs/by-name/zi/zinnia/package.nix b/pkgs/by-name/zi/zinnia/package.nix index 8070dbc66ba89..1b15281e52a80 100644 --- a/pkgs/by-name/zi/zinnia/package.nix +++ b/pkgs/by-name/zi/zinnia/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "zinnia"; diff --git a/pkgs/by-name/zi/zip/package.nix b/pkgs/by-name/zi/zip/package.nix index 2c225489a3462..003f8dfb4df5d 100644 --- a/pkgs/by-name/zi/zip/package.nix +++ b/pkgs/by-name/zi/zip/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, enableNLS ? false, libnatspec ? null, libiconv }: +{ + lib, + stdenv, + fetchurl, + enableNLS ? false, + libnatspec ? null, + libiconv, +}: assert enableNLS -> libnatspec != null; @@ -8,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { urls = [ - "ftp://ftp.info-zip.org/pub/infozip/src/zip${lib.replaceStrings ["."] [""] version}.tgz" + "ftp://ftp.info-zip.org/pub/infozip/src/zip${lib.replaceStrings [ "." ] [ "" ] version}.tgz" "https://src.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz" ]; sha256 = "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h"; @@ -40,7 +47,8 @@ stdenv.mkDerivation rec { ./fix-time.h-not-included.patch ] ++ lib.optionals (enableNLS && !stdenv.hostPlatform.isCygwin) [ ./natspec-gentoo.patch.bz2 ]; - buildInputs = lib.optional enableNLS libnatspec + buildInputs = + lib.optional enableNLS libnatspec ++ lib.optional stdenv.hostPlatform.isCygwin libiconv; meta = with lib; { diff --git a/pkgs/by-name/zi/zipkin/package.nix b/pkgs/by-name/zi/zipkin/package.nix index 97ccf1a18e2b8..3549578deb393 100644 --- a/pkgs/by-name/zi/zipkin/package.nix +++ b/pkgs/by-name/zi/zipkin/package.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, makeWrapper, jre}: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jre, +}: stdenv.mkDerivation rec { version = "1.28.1"; pname = "zipkin-server"; @@ -8,8 +14,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildCommand = - '' + buildCommand = '' mkdir -p $out/share/java cp ${src} $out/share/java/zipkin-server-${version}-exec.jar mkdir -p $out/bin diff --git a/pkgs/by-name/zi/zircolite/package.nix b/pkgs/by-name/zi/zircolite/package.nix index 9032e37e8a5dc..d70c664061c52 100644 --- a/pkgs/by-name/zi/zircolite/package.nix +++ b/pkgs/by-name/zi/zircolite/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, makeWrapper -, python3 +{ + lib, + fetchFromGitHub, + makeWrapper, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -22,20 +23,23 @@ python3.pkgs.buildPythonApplication rec { makeWrapper ]; - dependencies = with python3.pkgs; [ - aiohttp - colorama - elastic-transport - elasticsearch - evtx - jinja2 - lxml - orjson - requests - tqdm - urllib3 - xxhash - ] ++ elasticsearch.optional-dependencies.async; + dependencies = + with python3.pkgs; + [ + aiohttp + colorama + elastic-transport + elasticsearch + evtx + jinja2 + lxml + orjson + requests + tqdm + urllib3 + xxhash + ] + ++ elasticsearch.optional-dependencies.async; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/zi/zita-ajbridge/package.nix b/pkgs/by-name/zi/zita-ajbridge/package.nix index 873a294540ddc..f3b78a8204fda 100644 --- a/pkgs/by-name/zi/zita-ajbridge/package.nix +++ b/pkgs/by-name/zi/zita-ajbridge/package.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, alsa-lib, libjack2, zita-alsa-pcmi, zita-resampler }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, + libjack2, + zita-alsa-pcmi, + zita-resampler, +}: stdenv.mkDerivation rec { pname = "zita-ajbridge"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "0g5v0l0zmqh049mhv62n8s5bpm0yrlby7mkxxhs5qwadp8v4w9mw"; }; - buildInputs = [ alsa-lib libjack2 zita-alsa-pcmi zita-resampler ]; + buildInputs = [ + alsa-lib + libjack2 + zita-alsa-pcmi + zita-resampler + ]; preConfigure = '' cd ./source/ diff --git a/pkgs/by-name/zi/zita-alsa-pcmi/package.nix b/pkgs/by-name/zi/zita-alsa-pcmi/package.nix index 64113993f1eaa..506ea72b194c1 100644 --- a/pkgs/by-name/zi/zita-alsa-pcmi/package.nix +++ b/pkgs/by-name/zi/zita-alsa-pcmi/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl , alsa-lib, }: +{ + lib, + stdenv, + fetchurl, + alsa-lib, +}: stdenv.mkDerivation rec { pname = "zita-alsa-pcmi"; diff --git a/pkgs/by-name/zi/zita-at1/package.nix b/pkgs/by-name/zi/zita-at1/package.nix index d55942368f8fe..4f87f23d484b7 100644 --- a/pkgs/by-name/zi/zita-at1/package.nix +++ b/pkgs/by-name/zi/zita-at1/package.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl -, cairo, fftwSinglePrec, libX11, libXft, libclthreads, libclxclient, libjack2 -, xorgproto, zita-resampler +{ + lib, + stdenv, + fetchurl, + cairo, + fftwSinglePrec, + libX11, + libXft, + libclthreads, + libclxclient, + libjack2, + xorgproto, + zita-resampler, }: stdenv.mkDerivation rec { @@ -13,8 +23,15 @@ stdenv.mkDerivation rec { }; buildInputs = [ - cairo fftwSinglePrec libX11 libXft libclthreads libclxclient libjack2 - xorgproto zita-resampler + cairo + fftwSinglePrec + libX11 + libXft + libclthreads + libclxclient + libjack2 + xorgproto + zita-resampler ]; preConfigure = '' diff --git a/pkgs/by-name/zi/zita-convolver/package.nix b/pkgs/by-name/zi/zita-convolver/package.nix index 3b77bf549ca6e..6320c11050b8e 100644 --- a/pkgs/by-name/zi/zita-convolver/package.nix +++ b/pkgs/by-name/zi/zita-convolver/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, fftwFloat }: +{ + lib, + stdenv, + fetchurl, + fftwFloat, +}: stdenv.mkDerivation rec { pname = "zita-convolver"; diff --git a/pkgs/by-name/zi/zita-njbridge/package.nix b/pkgs/by-name/zi/zita-njbridge/package.nix index 01a2ddf47b52e..0b4ae3c7f9fc4 100644 --- a/pkgs/by-name/zi/zita-njbridge/package.nix +++ b/pkgs/by-name/zi/zita-njbridge/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libjack2, zita-resampler }: +{ + lib, + stdenv, + fetchurl, + libjack2, + zita-resampler, +}: stdenv.mkDerivation rec { version = "0.4.8"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-EBF2oL1AfKt7/9Mm6NaIbBtlshK8M/LvuXsD+SbEeQc="; }; - buildInputs = [ libjack2 zita-resampler ]; + buildInputs = [ + libjack2 + zita-resampler + ]; preConfigure = '' cd ./source/ @@ -21,7 +30,6 @@ stdenv.mkDerivation rec { "SUFFIX=''" ]; - meta = with lib; { description = "command line Jack clients to transmit full quality multichannel audio over a local IP network"; homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/index.html"; diff --git a/pkgs/by-name/zi/zita-resampler/package.nix b/pkgs/by-name/zi/zita-resampler/package.nix index 70054134767ae..3f812c4703508 100644 --- a/pkgs/by-name/zi/zita-resampler/package.nix +++ b/pkgs/by-name/zi/zita-resampler/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "zita-resampler"; @@ -14,14 +18,16 @@ stdenv.mkDerivation rec { "SUFFIX=" ]; - postPatch = '' - cd source - substituteInPlace Makefile \ - --replace 'ldconfig' "" - '' + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' - substituteInPlace Makefile \ - --replace '-DENABLE_SSE2' "" - ''; + postPatch = + '' + cd source + substituteInPlace Makefile \ + --replace 'ldconfig' "" + '' + + lib.optionalString (!stdenv.hostPlatform.isx86_64) '' + substituteInPlace Makefile \ + --replace '-DENABLE_SSE2' "" + ''; fixupPhase = '' ln -s $out/lib/libzita-resampler.so.$version $out/lib/libzita-resampler.so.1 diff --git a/pkgs/by-name/zi/zitadel-tools/package.nix b/pkgs/by-name/zi/zitadel-tools/package.nix index 1837280f97576..bf8f21fccd324 100644 --- a/pkgs/by-name/zi/zitadel-tools/package.nix +++ b/pkgs/by-name/zi/zitadel-tools/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { @@ -20,7 +21,8 @@ buildGoModule rec { vendorHash = "sha256-ql5Qw5Va/wLBKsb9bCmPciuVrgORU8nndRkhjoJBIgs="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.version=${version}" ]; diff --git a/pkgs/by-name/zi/zitadel/package.nix b/pkgs/by-name/zi/zitadel/package.nix index d4181af043402..5267a9ecc16e4 100644 --- a/pkgs/by-name/zi/zitadel/package.nix +++ b/pkgs/by-name/zi/zitadel/package.nix @@ -1,17 +1,18 @@ -{ stdenv -, buildGoModule -, callPackage -, fetchFromGitHub -, lib - -, buf -, cacert -, grpc-gateway -, protoc-gen-go -, protoc-gen-go-grpc -, protoc-gen-validate -, sass -, statik +{ + stdenv, + buildGoModule, + callPackage, + fetchFromGitHub, + lib, + + buf, + cacert, + grpc-gateway, + protoc-gen-go, + protoc-gen-go-grpc, + protoc-gen-validate, + sass, + statik, }: let @@ -24,7 +25,8 @@ let }; goModulesHash = "sha256-gp17dP67HX7Tx3Gq+kEu9xCYkfs/rGpqLFiKT7cKlrc="; - buildZitadelProtocGen = name: + buildZitadelProtocGen = + name: buildGoModule { pname = "protoc-gen-${name}"; inherit version; @@ -51,12 +53,13 @@ let # can download what it needs, and output the relevant generated code for use # during the main build. generateProtobufCode = - { pname - , nativeBuildInputs ? [ ] - , bufArgs ? "" - , workDir ? "." - , outputPath - , hash + { + pname, + nativeBuildInputs ? [ ], + bufArgs ? "", + workDir ? ".", + outputPath, + hash, }: stdenv.mkDerivation { name = "${pname}-buf-generated"; @@ -64,7 +67,10 @@ let src = zitadelRepo; patches = [ ./console-use-local-protobuf-plugins.patch ]; - nativeBuildInputs = nativeBuildInputs ++ [ buf cacert ]; + nativeBuildInputs = nativeBuildInputs ++ [ + buf + cacert + ]; buildPhase = '' cd ${workDir} @@ -100,7 +106,10 @@ buildGoModule rec { src = zitadelRepo; - nativeBuildInputs = [ sass statik ]; + nativeBuildInputs = [ + sass + statik + ]; proxyVendor = true; vendorHash = goModulesHash; @@ -133,11 +142,9 @@ buildGoModule rec { ''; passthru = { - console = callPackage - (import ./console.nix { - inherit generateProtobufCode version zitadelRepo; - }) - { }; + console = callPackage (import ./console.nix { + inherit generateProtobufCode version zitadelRepo; + }) { }; }; meta = with lib; { diff --git a/pkgs/by-name/zi/zix/package.nix b/pkgs/by-name/zi/zix/package.nix index f2824fa793906..10f37090f8c5e 100644 --- a/pkgs/by-name/zi/zix/package.nix +++ b/pkgs/by-name/zi/zix/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, meson -, ninja -, pkg-config +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + meson, + ninja, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/zk/zk/package.nix b/pkgs/by-name/zk/zk/package.nix index e491e9b95fcb9..b04c676308466 100644 --- a/pkgs/by-name/zk/zk/package.nix +++ b/pkgs/by-name/zk/zk/package.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ + lib, + fetchFromGitHub, + buildGoModule, +}: buildGoModule rec { pname = "zk"; @@ -17,7 +21,12 @@ buildGoModule rec { CGO_ENABLED = 1; - ldflags = [ "-s" "-w" "-X=main.Build=${version}" "-X=main.Version=${version}"]; + ldflags = [ + "-s" + "-w" + "-X=main.Build=${version}" + "-X=main.Version=${version}" + ]; tags = [ "fts5" ]; diff --git a/pkgs/by-name/zk/zkar/package.nix b/pkgs/by-name/zk/zkar/package.nix index 53d67fb1f371d..65b846afa961b 100644 --- a/pkgs/by-name/zk/zkar/package.nix +++ b/pkgs/by-name/zk/zkar/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -16,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-Eyi22d6RkIsg6S5pHXOqn6kULQ/mLeoaxSxxJJkMgIQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Java serialization protocol analysis tool"; diff --git a/pkgs/by-name/zk/zkfuse/package.nix b/pkgs/by-name/zk/zkfuse/package.nix index 00d78af0146fd..b880a0f5dce7e 100644 --- a/pkgs/by-name/zk/zkfuse/package.nix +++ b/pkgs/by-name/zk/zkfuse/package.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, autoreconfHook -, boost -, fuse -, log4cxx -, zookeeper -, zookeeper_mt +{ + stdenv, + lib, + autoreconfHook, + boost, + fuse, + log4cxx, + zookeeper, + zookeeper_mt, }: stdenv.mkDerivation rec { @@ -15,7 +16,12 @@ stdenv.mkDerivation rec { sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-contrib/zookeeper-contrib-zkfuse"; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ zookeeper_mt log4cxx boost fuse ]; + buildInputs = [ + zookeeper_mt + log4cxx + boost + fuse + ]; postPatch = '' # Make the async API accessible, and use the proper include path. diff --git a/pkgs/by-name/zk/zktree/package.nix b/pkgs/by-name/zk/zktree/package.nix index 71b8806ae070d..f2bcf64da0480 100644 --- a/pkgs/by-name/zk/zktree/package.nix +++ b/pkgs/by-name/zk/zktree/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/by-name/zl/zld/package.nix b/pkgs/by-name/zl/zld/package.nix index af8509103067f..74887641e26f3 100644 --- a/pkgs/by-name/zl/zld/package.nix +++ b/pkgs/by-name/zl/zld/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchzip }: +{ + stdenv, + lib, + fetchzip, +}: stdenv.mkDerivation rec { pname = "zld"; @@ -19,6 +23,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = [ maintainers.rgnns ]; platforms = platforms.darwin; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/by-name/zl/zlib-ng/package.nix b/pkgs/by-name/zl/zlib-ng/package.nix index add675efae850..1beba7163aeb6 100644 --- a/pkgs/by-name/zl/zlib-ng/package.nix +++ b/pkgs/by-name/zl/zlib-ng/package.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, pkg-config, gtest -, withZlibCompat ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + gtest, + withZlibCompat ? false, }: stdenv.mkDerivation rec { @@ -14,11 +19,18 @@ stdenv.mkDerivation rec { hash = "sha256-FeOIFlFMDDd+5EDyr8KKW3G03UDM2xx4QF/wyKyDjq4="; }; - outputs = [ "out" "dev" "bin" ]; + outputs = [ + "out" + "dev" + "bin" + ]; strictDeps = true; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ gtest ]; @@ -30,9 +42,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "zlib data compression library for the next generation systems"; - homepage = "https://github.com/zlib-ng/zlib-ng"; - license = licenses.zlib; - platforms = platforms.all; + homepage = "https://github.com/zlib-ng/zlib-ng"; + license = licenses.zlib; + platforms = platforms.all; maintainers = with maintainers; [ izorkin ]; }; } diff --git a/pkgs/by-name/zl/zlint/package.nix b/pkgs/by-name/zl/zlint/package.nix index f2b370d65b5e2..f80f752b3d56d 100644 --- a/pkgs/by-name/zl/zlint/package.nix +++ b/pkgs/by-name/zl/zlint/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, zlint +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + zlint, }: buildGoModule rec { diff --git a/pkgs/by-name/zl/zlog/package.nix b/pkgs/by-name/zl/zlog/package.nix index 3273a0d5ff63a..9054ae1a6a549 100644 --- a/pkgs/by-name/zl/zlog/package.nix +++ b/pkgs/by-name/zl/zlog/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, +}: stdenv.mkDerivation rec { version = "1.2.17"; @@ -25,9 +30,8 @@ stdenv.mkDerivation rec { makeFlagsArray+=(CFLAGS="-Wno-pointer-to-int-cast -Wno-newline-eof") ''; - meta = with lib; { - description= "Reliable, high-performance, thread safe, flexible, clear-model, pure C logging library"; + description = "Reliable, high-performance, thread safe, flexible, clear-model, pure C logging library"; homepage = "https://hardysimpson.github.io/zlog/"; license = licenses.lgpl21; maintainers = [ maintainers.matthiasbeyer ]; diff --git a/pkgs/by-name/zl/zls/package.nix b/pkgs/by-name/zl/zls/package.nix index c9aec483df8c1..8c6c3a90310ff 100644 --- a/pkgs/by-name/zl/zls/package.nix +++ b/pkgs/by-name/zl/zls/package.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, zig_0_13 -, callPackage -, apple-sdk_11, +{ + lib, + stdenv, + fetchFromGitHub, + zig_0_13, + callPackage, + apple-sdk_11, }: stdenv.mkDerivation (finalAttrs: { @@ -36,7 +37,11 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}"; homepage = "https://github.com/zigtools/zls"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ figsoda moni _0x5a4 ]; + maintainers = with lib.maintainers; [ + figsoda + moni + _0x5a4 + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/zl/zluda/package.nix b/pkgs/by-name/zl/zluda/package.nix index c2b7d745040b3..731bc55d885f7 100644 --- a/pkgs/by-name/zl/zluda/package.nix +++ b/pkgs/by-name/zl/zluda/package.nix @@ -1,4 +1,18 @@ -{ lib, fetchFromGitHub, rocmPackages, python3, cargo, rustc, cmake, clang, zlib, libxml2, libedit, rustPlatform, stdenv }: +{ + lib, + fetchFromGitHub, + rocmPackages, + python3, + cargo, + rustc, + cmake, + clang, + zlib, + libxml2, + libedit, + rustPlatform, + stdenv, +}: rustPlatform.buildRustPackage rec { pname = "zluda"; diff --git a/pkgs/by-name/zm/zmap/package.nix b/pkgs/by-name/zm/zmap/package.nix index b7a9986434ebc..fe856c2c27dcc 100644 --- a/pkgs/by-name/zm/zmap/package.nix +++ b/pkgs/by-name/zm/zmap/package.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libjson, json_c, gengetopt, flex, byacc, gmp -, libpcap, libunistring, judy +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libjson, + json_c, + gengetopt, + flex, + byacc, + gmp, + libpcap, + libunistring, + judy, }: stdenv.mkDerivation rec { @@ -15,10 +28,26 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DRESPECT_INSTALL_PREFIX_CONFIG=ON" ]; - nativeBuildInputs = [ cmake pkg-config gengetopt flex byacc ]; - buildInputs = [ libjson json_c gmp libpcap libunistring judy ]; + nativeBuildInputs = [ + cmake + pkg-config + gengetopt + flex + byacc + ]; + buildInputs = [ + libjson + json_c + gmp + libpcap + libunistring + judy + ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; meta = with lib; { homepage = "https://zmap.io/"; diff --git a/pkgs/by-name/zm/zmqpp/package.nix b/pkgs/by-name/zm/zmqpp/package.nix index 733573b3e2377..02a46f02e9820 100644 --- a/pkgs/by-name/zm/zmqpp/package.nix +++ b/pkgs/by-name/zm/zmqpp/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, zeromq }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + zeromq, +}: stdenv.mkDerivation rec { pname = "zmqpp"; @@ -11,9 +18,15 @@ stdenv.mkDerivation rec { sha256 = "08v34q3sd8g1b95k73n7jwryb0xzwca8ib9dz8ngczqf26j8k72i"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; propagatedBuildInputs = [ zeromq ]; diff --git a/pkgs/by-name/zn/zn_poly/package.nix b/pkgs/by-name/zn/zn_poly/package.nix index 1c61bb07471be..2150cef6d4cd2 100644 --- a/pkgs/by-name/zn/zn_poly/package.nix +++ b/pkgs/by-name/zn/zn_poly/package.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitLab -, gmp -, python3 -, tune ? false # tune to hardware, impure +{ + stdenv, + lib, + fetchFromGitLab, + gmp, + python3, + tune ? false, # tune to hardware, impure }: stdenv.mkDerivation rec { @@ -37,7 +38,10 @@ stdenv.mkDerivation rec { # Tuning (either autotuning or with hand-written parameters) is possible # but not implemented here. # It seems buggy anyways (see homepage). - buildFlags = [ "all" "${libbasename}${libext}" ]; + buildFlags = [ + "all" + "${libbasename}${libext}" + ]; configureFlags = lib.optionals (!tune) [ "--disable-tuning" diff --git a/pkgs/by-name/zn/znapzend/package.nix b/pkgs/by-name/zn/znapzend/package.nix index a31406dd5f499..4480b2ceaba47 100644 --- a/pkgs/by-name/zn/znapzend/package.nix +++ b/pkgs/by-name/zn/znapzend/package.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, perl, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + perl, + autoreconfHook, +}: let # when upgrade znapzend, check versions of Perl libs here: https://github.com/oetiker/znapzend/blob/master/cpanfile @@ -12,11 +19,15 @@ let hash = "sha256-guBqKdWemc4mC/xp77Wd7qeV2iRqY4wrQ5NRsHtsCnI="; }; buildInputs = with perl.pkgs; [ ModuleBuildTiny ]; - propagatedBuildInputs = with perl.pkgs; [ Mojolicious RoleTiny ClassMethodModifiers ]; + propagatedBuildInputs = with perl.pkgs; [ + Mojolicious + RoleTiny + ClassMethodModifiers + ]; }; - perl' = perl.withPackages (p: - with p; [ + perl' = perl.withPackages ( + p: with p; [ ClassMethodModifiers ExtUtilsConfig ExtUtilsHelpers @@ -25,7 +36,8 @@ let MojoLogClearable Mojolicious RoleTiny - ]); + ] + ); in stdenv.mkDerivation (finalAttrs: { pname = "znapzend"; @@ -41,7 +53,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-UvaYzzV+5mZAAwSSMzq4fjCu/mzjeSyQdwQRTZGNktM="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; buildInputs = [ perl' ]; nativeBuildInputs = [ autoreconfHook ]; @@ -57,9 +72,12 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "High performance open source ZFS backup with mbuffer and ssh support"; - homepage = "https://www.znapzend.org"; - license = licenses.gpl3; - maintainers = with maintainers; [ otwieracz ma27 ]; - platforms = platforms.all; + homepage = "https://www.znapzend.org"; + license = licenses.gpl3; + maintainers = with maintainers; [ + otwieracz + ma27 + ]; + platforms = platforms.all; }; }) diff --git a/pkgs/by-name/zo/zod/package.nix b/pkgs/by-name/zo/zod/package.nix index f4add7f46c0ab..c3a296662be6f 100644 --- a/pkgs/by-name/zo/zod/package.nix +++ b/pkgs/by-name/zo/zod/package.nix @@ -1,19 +1,20 @@ -{ lib -, config -, fetchzip -, stdenv -, SDL -, SDL_image -, SDL_ttf -, SDL_mixer -, libmysqlclient -, wxGTK32 -, symlinkJoin -, runCommandLocal -, makeWrapper -, coreutils -, scalingFactor ? 2 # this is to resize the fixed-size zod_launcher window -, substituteAll +{ + lib, + config, + fetchzip, + stdenv, + SDL, + SDL_image, + SDL_ttf, + SDL_mixer, + libmysqlclient, + wxGTK32, + symlinkJoin, + runCommandLocal, + makeWrapper, + coreutils, + scalingFactor ? 2, # this is to resize the fixed-size zod_launcher window + substituteAll, }: let pname = "zod-engine"; @@ -40,7 +41,15 @@ let hardeningDisable = [ "format" ]; NIX_LDFLAGS = "-L${libmysqlclient}/lib/mysql"; zod_engine = stdenv.mkDerivation { - inherit version src postPatch nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS; + inherit + version + src + postPatch + nativeBuildInputs + buildInputs + hardeningDisable + NIX_LDFLAGS + ; pname = "${pname}-engine"; enableParallelBuilding = true; preBuild = "cd zod_src"; @@ -51,7 +60,15 @@ let ''; }; zod_map_editor = stdenv.mkDerivation { - inherit version src postPatch nativeBuildInputs buildInputs hardeningDisable NIX_LDFLAGS; + inherit + version + src + postPatch + nativeBuildInputs + buildInputs + hardeningDisable + NIX_LDFLAGS + ; pname = "${pname}-map_editor"; enableParallelBuilding = true; preBuild = "cd zod_src"; @@ -63,30 +80,37 @@ let ''; }; zod_launcher = stdenv.mkDerivation { - inherit version src nativeBuildInputs buildInputs zod_engine zod_map_editor; - pname = "${pname}-launcher"; - # This is necessary because the zod_launcher has terrible fixed-width window - # the Idea is to apply the scalingFactor to all positions and sizes and I tested 1,2,3 and 4 - # 2,3,4 look acceptable on my 4k monitor and 1 is unreadable. - # also the ./ in the run command is removed to have easier time starting the game - patches = [ - (substituteAll { - inherit scalingFactor; - src=./0002-add-scaling-factor-to-source.patch; - }) - ]; - postPatch = '' - substituteInPlace zod_launcher_src/zod_launcherFrm.cpp \ - --replace 'message = wxT("./zod");' 'message = wxT("zod");' \ - --replace "check.replace(i,1,1,'_');" "check.replace(i,1,1,(wxUniChar)'_');" - ''; - preBuild = "cd zod_launcher_src"; - installPhase = '' - mkdir -p $out/bin - install -m755 zod_launcher $out/bin - ''; + inherit + version + src + nativeBuildInputs + buildInputs + zod_engine + zod_map_editor + ; + pname = "${pname}-launcher"; + # This is necessary because the zod_launcher has terrible fixed-width window + # the Idea is to apply the scalingFactor to all positions and sizes and I tested 1,2,3 and 4 + # 2,3,4 look acceptable on my 4k monitor and 1 is unreadable. + # also the ./ in the run command is removed to have easier time starting the game + patches = [ + (substituteAll { + inherit scalingFactor; + src = ./0002-add-scaling-factor-to-source.patch; + }) + ]; + postPatch = '' + substituteInPlace zod_launcher_src/zod_launcherFrm.cpp \ + --replace 'message = wxT("./zod");' 'message = wxT("zod");' \ + --replace "check.replace(i,1,1,'_');" "check.replace(i,1,1,(wxUniChar)'_');" + ''; + preBuild = "cd zod_launcher_src"; + installPhase = '' + mkdir -p $out/bin + install -m755 zod_launcher $out/bin + ''; }; - zod_assets = runCommandLocal "${pname}-assets" {} '' + zod_assets = runCommandLocal "${pname}-assets" { } '' mkdir -p $out/usr/lib/commander-zod{,blank_maps} cp -r ${src}/assets $out/usr/lib/commander-zod/assets for i in ${src}/*.map ${src}/*.txt; do @@ -97,19 +121,19 @@ let done ''; in - symlinkJoin { - inherit pname version; - paths = [ - zod_engine - zod_launcher - zod_map_editor - zod_assets - ]; - meta = with lib; { - description = "Multiplayer remake of ZED"; - homepage = "http://zod.sourceforge.net/"; - maintainers = with maintainers; [ zeri ]; - license = licenses.gpl3Plus; /* Says the website */ - platforms = platforms.linux; - }; - } +symlinkJoin { + inherit pname version; + paths = [ + zod_engine + zod_launcher + zod_map_editor + zod_assets + ]; + meta = with lib; { + description = "Multiplayer remake of ZED"; + homepage = "http://zod.sourceforge.net/"; + maintainers = with maintainers; [ zeri ]; + license = licenses.gpl3Plus; # Says the website + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/zo/zola/package.nix b/pkgs/by-name/zo/zola/package.nix index 5f658eed39604..7d45fbb2a5f96 100644 --- a/pkgs/by-name/zo/zola/package.nix +++ b/pkgs/by-name/zo/zola/package.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, oniguruma -, darwin -, installShellFiles -, zola -, testers +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + oniguruma, + darwin, + installShellFiles, + zola, + testers, }: rustPlatform.buildRustPackage rec { @@ -28,11 +29,17 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - oniguruma - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreServices SystemConfiguration - ]); + buildInputs = + [ + oniguruma + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreServices + SystemConfiguration + ] + ); RUSTONIG_SYSTEM_LIBONIG = true; @@ -51,6 +58,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://www.getzola.org/"; changelog = "https://github.com/getzola/zola/raw/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ dandellion dywedir _0x4A6F ]; + maintainers = with maintainers; [ + dandellion + dywedir + _0x4A6F + ]; }; } diff --git a/pkgs/by-name/zo/zon2nix/package.nix b/pkgs/by-name/zo/zon2nix/package.nix index d3f0bd6ce54a2..82135e9ddd2bf 100644 --- a/pkgs/by-name/zo/zon2nix/package.nix +++ b/pkgs/by-name/zo/zon2nix/package.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, zig_0_11 -, nix +{ + lib, + stdenv, + fetchFromGitHub, + zig_0_11, + nix, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/zo/zoneminder/package.nix b/pkgs/by-name/zo/zoneminder/package.nix index 766c42c8b742e..f58c5e7de804a 100644 --- a/pkgs/by-name/zo/zoneminder/package.nix +++ b/pkgs/by-name/zo/zoneminder/package.nix @@ -1,7 +1,32 @@ -{ stdenv, lib, fetchFromGitHub, fetchurl, cmake, makeWrapper, pkg-config -, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, libmysqlclient, mariadb, pcre, perl, perlPackages -, polkit, util-linuxMinimal, x264, zlib -, coreutils, procps, psmisc, nixosTests }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + cmake, + makeWrapper, + pkg-config, + curl, + ffmpeg, + glib, + libjpeg, + libselinux, + libsepol, + mp4v2, + libmysqlclient, + mariadb, + pcre, + perl, + perlPackages, + polkit, + util-linuxMinimal, + x264, + zlib, + coreutils, + procps, + psmisc, + nixosTests, +}: # NOTES: # @@ -51,18 +76,19 @@ let } ]; - user = "zoneminder"; + user = "zoneminder"; dirName = "zoneminder"; perlBin = "${perl}/bin/perl"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "zoneminder"; version = "1.36.35"; src = fetchFromGitHub { - owner = "ZoneMinder"; - repo = "zoneminder"; - rev = version; + owner = "ZoneMinder"; + repo = "zoneminder"; + rev = version; hash = "sha256-0mpT3qjF8zlcsd6OlNIvrabDsz+oJPPy9Vn2TQSuHAI="; fetchSubmodules = true; }; @@ -75,9 +101,11 @@ in stdenv.mkDerivation rec { postPatch = '' rm -rf web/api/lib/Cake/Test - ${lib.concatStringsSep "\n" (map (e: '' - cp ${e.src} ${e.path} - '') addons)} + ${lib.concatStringsSep "\n" ( + map (e: '' + cp ${e.src} ${e.path} + '') addons + )} for d in scripts/ZoneMinder onvif/{modules,proxy} ; do substituteInPlace $d/CMakeLists.txt \ @@ -93,7 +121,13 @@ in stdenv.mkDerivation rec { scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in ; do substituteInPlace $f \ --replace '/usr/bin/perl' '${perlBin}' \ - --replace '/bin:/usr/bin' "$out/bin:${lib.makeBinPath [ coreutils procps psmisc ]}" + --replace '/bin:/usr/bin' "$out/bin:${ + lib.makeBinPath [ + coreutils + procps + psmisc + ] + }" done substituteInPlace scripts/zmdbbackup.in \ @@ -127,18 +161,50 @@ in stdenv.mkDerivation rec { --subst-var-by srcHash "`basename $out`" ''; - buildInputs = [ - curl ffmpeg glib libjpeg libselinux libsepol mp4v2 libmysqlclient mariadb pcre perl polkit x264 zlib - util-linuxMinimal # for libmount - ] ++ (with perlPackages; [ - # build-time dependencies - DateManip DBI DBDmysql LWP SysMmap - # run-time dependencies not checked at build-time - ClassStdFast DataDump DeviceSerialPort JSONMaybeXS LWPProtocolHttps NumberBytesHuman SysCPU SysMemInfo TimeDate - CryptEksblowfish DataEntropy # zmupdate.pl - ]); - - nativeBuildInputs = [ cmake makeWrapper pkg-config ]; + buildInputs = + [ + curl + ffmpeg + glib + libjpeg + libselinux + libsepol + mp4v2 + libmysqlclient + mariadb + pcre + perl + polkit + x264 + zlib + util-linuxMinimal # for libmount + ] + ++ (with perlPackages; [ + # build-time dependencies + DateManip + DBI + DBDmysql + LWP + SysMmap + # run-time dependencies not checked at build-time + ClassStdFast + DataDump + DeviceSerialPort + JSONMaybeXS + LWPProtocolHttps + NumberBytesHuman + SysCPU + SysMemInfo + TimeDate + CryptEksblowfish + DataEntropy # zmupdate.pl + ]); + + nativeBuildInputs = [ + cmake + makeWrapper + pkg-config + ]; cmakeFlags = [ "-DWITH_SYSTEMD=ON" diff --git a/pkgs/by-name/zo/zookeeper/package.nix b/pkgs/by-name/zo/zookeeper/package.nix index f230b9d8d21e1..192cba33efcd2 100644 --- a/pkgs/by-name/zo/zookeeper/package.nix +++ b/pkgs/by-name/zo/zookeeper/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, jdk11_headless, makeWrapper, nixosTests, bash, coreutils }: +{ + lib, + stdenv, + fetchurl, + jdk11_headless, + makeWrapper, + nixosTests, + bash, + coreutils, +}: let # Latest supported LTS JDK for Zookeeper 3.9: # https://zookeeper.apache.org/doc/r3.9.2/zookeeperAdmin.html#sc_requiredSoftware @@ -46,7 +55,11 @@ stdenv.mkDerivation rec { description = "Apache Zookeeper"; changelog = "https://zookeeper.apache.org/doc/r${version}/releasenotes.html"; license = licenses.asl20; - maintainers = with maintainers; [ nathan-gs pradeepchhetri ztzg ]; + maintainers = with maintainers; [ + nathan-gs + pradeepchhetri + ztzg + ]; platforms = platforms.unix; sourceProvenance = with sourceTypes; [ binaryBytecode ]; }; diff --git a/pkgs/by-name/zo/zookeeper_mt/package.nix b/pkgs/by-name/zo/zookeeper_mt/package.nix index 953559dbecb57..fcb0c9404a605 100644 --- a/pkgs/by-name/zo/zookeeper_mt/package.nix +++ b/pkgs/by-name/zo/zookeeper_mt/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchurl -, autoreconfHook -, jre -, openssl -, pkg-config -# We depend on ZooKeeper for the Jute compiler. -, zookeeper +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + jre, + openssl, + pkg-config, + # We depend on ZooKeeper for the Jute compiler. + zookeeper, }: stdenv.mkDerivation rec { @@ -50,7 +52,10 @@ stdenv.mkDerivation rec { homepage = "https://zookeeper.apache.org"; description = "Apache Zookeeper"; license = licenses.asl20; - maintainers = with maintainers; [ commandodev ztzg ]; + maintainers = with maintainers; [ + commandodev + ztzg + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/zo/zoom-us/package.nix b/pkgs/by-name/zo/zoom-us/package.nix index 8cc0e23c6a8c1..dc381e3509477 100644 --- a/pkgs/by-name/zo/zoom-us/package.nix +++ b/pkgs/by-name/zo/zoom-us/package.nix @@ -1,44 +1,45 @@ -{ stdenv -, lib -, fetchurl -, pipewire -, makeWrapper -, xar -, cpio +{ + stdenv, + lib, + fetchurl, + pipewire, + makeWrapper, + xar, + cpio, # Dynamic libraries -, alsa-lib -, atk -, at-spi2-atk -, at-spi2-core -, cairo -, cups -, dbus -, expat -, libdrm -, libGL -, fontconfig -, freetype -, gtk3 -, gdk-pixbuf -, glib -, mesa -, nspr -, nss -, pango -, wayland -, xorg -, libxkbcommon -, udev -, zlib -, libkrb5 + alsa-lib, + atk, + at-spi2-atk, + at-spi2-core, + cairo, + cups, + dbus, + expat, + libdrm, + libGL, + fontconfig, + freetype, + gtk3, + gdk-pixbuf, + glib, + mesa, + nspr, + nss, + pango, + wayland, + xorg, + libxkbcommon, + udev, + zlib, + libkrb5, # Runtime -, coreutils -, pciutils -, procps -, util-linux -, pulseaudioSupport ? true -, libpulseaudio -, pulseaudio + coreutils, + pciutils, + procps, + util-linux, + pulseaudioSupport ? true, + libpulseaudio, + pulseaudio, }: let @@ -69,51 +70,63 @@ let }; }; - libs = lib.makeLibraryPath ([ - # $ LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH:$PWD ldd zoom | grep 'not found' - alsa-lib - atk - at-spi2-atk - at-spi2-core - cairo - cups - dbus - expat - libdrm - libGL - pipewire - fontconfig - freetype - gtk3 - gdk-pixbuf - glib - mesa - nspr - nss - pango - stdenv.cc.cc - wayland - xorg.libX11 - xorg.libxcb - xorg.libXcomposite - xorg.libXdamage - xorg.libXext - libxkbcommon - xorg.libXrandr - xorg.libXrender - xorg.libxshmfence - xorg.xcbutilimage - xorg.xcbutilkeysyms - xorg.xcbutilrenderutil - xorg.xcbutilwm - xorg.libXfixes - xorg.libXtst - udev - zlib - libkrb5 - ] ++ lib.optional (pulseaudioSupport) libpulseaudio); - - binPath = lib.makeBinPath ([ coreutils glib.dev pciutils procps util-linux ] ++ lib.optional pulseaudioSupport pulseaudio); + libs = lib.makeLibraryPath ( + [ + # $ LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH:$PWD ldd zoom | grep 'not found' + alsa-lib + atk + at-spi2-atk + at-spi2-core + cairo + cups + dbus + expat + libdrm + libGL + pipewire + fontconfig + freetype + gtk3 + gdk-pixbuf + glib + mesa + nspr + nss + pango + stdenv.cc.cc + wayland + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + libxkbcommon + xorg.libXrandr + xorg.libXrender + xorg.libxshmfence + xorg.xcbutilimage + xorg.xcbutilkeysyms + xorg.xcbutilrenderutil + xorg.xcbutilwm + xorg.libXfixes + xorg.libXtst + udev + zlib + libkrb5 + ] + ++ lib.optional (pulseaudioSupport) libpulseaudio + ); + + binPath = lib.makeBinPath ( + [ + coreutils + glib.dev + pciutils + procps + util-linux + ] + ++ lib.optional pulseaudioSupport pulseaudio + ); in stdenv.mkDerivation { pname = "zoom"; @@ -127,75 +140,81 @@ stdenv.mkDerivation { zcat < zoomus.pkg/Payload | cpio -i ''; - nativeBuildInputs = [ - makeWrapper - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - xar - cpio - ]; + nativeBuildInputs = + [ + makeWrapper + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + xar + cpio + ]; installPhase = '' runHook preInstall - ${rec { - aarch64-darwin = '' - mkdir -p $out/Applications - cp -R zoom.us.app $out/Applications/ - ''; - # darwin steps same on both architectures - x86_64-darwin = aarch64-darwin; - x86_64-linux = '' - mkdir $out - tar -C $out -xf $src - mv $out/usr/* $out/ - ''; - }.${system} or throwSystem} + ${ + rec { + aarch64-darwin = '' + mkdir -p $out/Applications + cp -R zoom.us.app $out/Applications/ + ''; + # darwin steps same on both architectures + x86_64-darwin = aarch64-darwin; + x86_64-linux = '' + mkdir $out + tar -C $out -xf $src + mv $out/usr/* $out/ + ''; + } + .${system} or throwSystem + } runHook postInstall ''; - postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' - makeWrapper $out/Applications/zoom.us.app/Contents/MacOS/zoom.us $out/bin/zoom - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - # Desktop File - substituteInPlace $out/share/applications/Zoom.desktop \ - --replace-fail "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom" + postFixup = + lib.optionalString stdenv.hostPlatform.isDarwin '' + makeWrapper $out/Applications/zoom.us.app/Contents/MacOS/zoom.us $out/bin/zoom + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # Desktop File + substituteInPlace $out/share/applications/Zoom.desktop \ + --replace-fail "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom" + + for i in aomhost zopen zoom ZoomLauncher ZoomWebviewHost; do + if [ -f $out/opt/zoom/$i ]; then + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zoom/$i + fi + done + + # ZoomLauncher sets LD_LIBRARY_PATH before execing zoom + # IPC breaks if the executable name does not end in 'zoom' + mv $out/opt/zoom/zoom $out/opt/zoom/.zoom + makeWrapper $out/opt/zoom/.zoom $out/opt/zoom/zoom \ + --prefix LD_LIBRARY_PATH ":" ${libs} - for i in aomhost zopen zoom ZoomLauncher ZoomWebviewHost; do - if [ -f $out/opt/zoom/$i ]; then - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zoom/$i - fi - done - - # ZoomLauncher sets LD_LIBRARY_PATH before execing zoom - # IPC breaks if the executable name does not end in 'zoom' - mv $out/opt/zoom/zoom $out/opt/zoom/.zoom - makeWrapper $out/opt/zoom/.zoom $out/opt/zoom/zoom \ - --prefix LD_LIBRARY_PATH ":" ${libs} - - rm $out/bin/zoom - # Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect - # everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm: - # Clear Qt paths to prevent tripping over "foreign" Qt resources. - # Clear Qt screen scaling settings to prevent over-scaling. - makeWrapper $out/opt/zoom/ZoomLauncher $out/bin/zoom \ - --chdir "$out/opt/zoom" \ - --unset QML2_IMPORT_PATH \ - --unset QT_PLUGIN_PATH \ - --unset QT_SCREEN_SCALE_FACTORS \ - --prefix PATH : ${binPath} \ - --prefix LD_LIBRARY_PATH ":" ${libs} - - if [ -f $out/opt/zoom/ZoomWebviewHost ]; then - wrapProgram $out/opt/zoom/ZoomWebviewHost \ + rm $out/bin/zoom + # Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect + # everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm: + # Clear Qt paths to prevent tripping over "foreign" Qt resources. + # Clear Qt screen scaling settings to prevent over-scaling. + makeWrapper $out/opt/zoom/ZoomLauncher $out/bin/zoom \ + --chdir "$out/opt/zoom" \ --unset QML2_IMPORT_PATH \ --unset QT_PLUGIN_PATH \ --unset QT_SCREEN_SCALE_FACTORS \ + --prefix PATH : ${binPath} \ --prefix LD_LIBRARY_PATH ":" ${libs} - fi - # Backwards compatibility: we used to call it zoom-us - ln -s $out/bin/{zoom,zoom-us} - ''; + if [ -f $out/opt/zoom/ZoomWebviewHost ]; then + wrapProgram $out/opt/zoom/ZoomWebviewHost \ + --unset QML2_IMPORT_PATH \ + --unset QT_PLUGIN_PATH \ + --unset QT_SCREEN_SCALE_FACTORS \ + --prefix LD_LIBRARY_PATH ":" ${libs} + fi + + # Backwards compatibility: we used to call it zoom-us + ln -s $out/bin/{zoom,zoom-us} + ''; # already done dontPatchELF = true; @@ -209,7 +228,10 @@ stdenv.mkDerivation { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = builtins.attrNames srcs; - maintainers = with maintainers; [ danbst tadfisher ]; + maintainers = with maintainers; [ + danbst + tadfisher + ]; mainProgram = "zoom"; }; } diff --git a/pkgs/by-name/zo/zoom/package.nix b/pkgs/by-name/zo/zoom/package.nix index 275aca235209d..d1eaaa815563b 100644 --- a/pkgs/by-name/zo/zoom/package.nix +++ b/pkgs/by-name/zo/zoom/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, perl -, expat -, fontconfig -, freetype -, xorg +{ + lib, + stdenv, + fetchurl, + perl, + expat, + fontconfig, + freetype, + xorg, }: # !!! assert freetype == xorg.freetype diff --git a/pkgs/by-name/zo/zopfli/package.nix b/pkgs/by-name/zo/zopfli/package.nix index 8d8813e2eda4f..903061699dd49 100644 --- a/pkgs/by-name/zo/zopfli/package.nix +++ b/pkgs/by-name/zo/zopfli/package.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "zopfli"; version = "1.0.3"; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; src = fetchFromGitHub { owner = "google"; @@ -15,7 +24,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" ]; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" + ]; postInstall = '' install -Dm444 -t $out/share/doc/zopfli ../README* @@ -35,6 +47,9 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.asl20; mainProgram = "zopfli"; - maintainers = with maintainers; [ bobvanderlinden edef ]; + maintainers = with maintainers; [ + bobvanderlinden + edef + ]; }; } diff --git a/pkgs/by-name/zo/zotero-beta/package.nix b/pkgs/by-name/zo/zotero-beta/package.nix index e8da30471190d..f96296b4fc66a 100644 --- a/pkgs/by-name/zo/zotero-beta/package.nix +++ b/pkgs/by-name/zo/zotero-beta/package.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, wrapGAppsHook3 -, makeDesktopItem -, alsa-lib -, atk -, cairo -, dbus-glib -, gdk-pixbuf -, glib -, gtk3 -, libGL -, xorg -, mesa -, pango -, pciutils +{ + lib, + stdenv, + fetchurl, + wrapGAppsHook3, + makeDesktopItem, + alsa-lib, + atk, + cairo, + dbus-glib, + gdk-pixbuf, + glib, + gtk3, + libGL, + xorg, + mesa, + pango, + pciutils, }: stdenv.mkDerivation rec { @@ -23,7 +24,7 @@ stdenv.mkDerivation rec { src = let - escapedVersion = lib.replaceStrings ["+"] ["%2B"] version; + escapedVersion = lib.replaceStrings [ "+" ] [ "%2B" ] version; in fetchurl { url = "https://download.zotero.org/client/beta/${escapedVersion}/Zotero-${escapedVersion}_linux-x86_64.tar.bz2"; @@ -33,29 +34,32 @@ stdenv.mkDerivation rec { dontPatchELF = true; nativeBuildInputs = [ wrapGAppsHook3 ]; - libPath = lib.makeLibraryPath [ - alsa-lib - atk - cairo - dbus-glib - gdk-pixbuf - glib - gtk3 - libGL - xorg.libX11 - xorg.libXcomposite - xorg.libXcursor - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXi - xorg.libXrandr - xorg.libXtst - xorg.libxcb - mesa - pango - pciutils - ] + ":" + lib.makeSearchPathOutput "lib" "lib64" [ stdenv.cc.cc ]; + libPath = + lib.makeLibraryPath [ + alsa-lib + atk + cairo + dbus-glib + gdk-pixbuf + glib + gtk3 + libGL + xorg.libX11 + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXtst + xorg.libxcb + mesa + pango + pciutils + ] + + ":" + + lib.makeSearchPathOutput "lib" "lib64" [ stdenv.cc.cc ]; desktopItem = makeDesktopItem { name = "zotero"; @@ -64,9 +68,15 @@ stdenv.mkDerivation rec { comment = meta.description; desktopName = "Zotero"; genericName = "Reference Management"; - categories = [ "Office" "Database" ]; + categories = [ + "Office" + "Database" + ]; startupNotify = true; - mimeTypes = [ "x-scheme-handler/zotero" "text/plain" ]; + mimeTypes = [ + "x-scheme-handler/zotero" + "text/plain" + ]; }; installPhase = '' @@ -113,6 +123,9 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.agpl3Only; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ atila justanotherariel ]; + maintainers = with maintainers; [ + atila + justanotherariel + ]; }; } diff --git a/pkgs/by-name/zo/zotero-translation-server/package.nix b/pkgs/by-name/zo/zotero-translation-server/package.nix index 923d9d4de8fb1..b6c5f45be9d74 100644 --- a/pkgs/by-name/zo/zotero-translation-server/package.nix +++ b/pkgs/by-name/zo/zotero-translation-server/package.nix @@ -1,4 +1,9 @@ -{ lib, buildNpmPackage, fetchFromGitHub, nodejs }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nodejs, +}: buildNpmPackage rec { pname = "zotero-translation-server"; diff --git a/pkgs/by-name/zo/zoxide/package.nix b/pkgs/by-name/zo/zoxide/package.nix index 5c1ba44d156dc..c4573028ddec5 100644 --- a/pkgs/by-name/zo/zoxide/package.nix +++ b/pkgs/by-name/zo/zoxide/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, withFzf ? true -, fzf -, installShellFiles -, libiconv +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + withFzf ? true, + fzf, + installShellFiles, + libiconv, }: rustPlatform.buildRustPackage rec { @@ -43,7 +44,11 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/ajeetdsouza/zoxide"; changelog = "https://github.com/ajeetdsouza/zoxide/blob/v${version}/CHANGELOG.md"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ ysndr cole-h SuperSandro2000 ]; + maintainers = with maintainers; [ + ysndr + cole-h + SuperSandro2000 + ]; mainProgram = "zoxide"; }; } diff --git a/pkgs/by-name/zp/zpaqfranz/package.nix b/pkgs/by-name/zp/zpaqfranz/package.nix index 0e759d6d559d3..ca0675c1be5ba 100644 --- a/pkgs/by-name/zp/zpaqfranz/package.nix +++ b/pkgs/by-name/zp/zpaqfranz/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/zp/zpix-pixel-font/package.nix b/pkgs/by-name/zp/zpix-pixel-font/package.nix index 50f3dd352ca13..26b429a1655b0 100644 --- a/pkgs/by-name/zp/zpix-pixel-font/package.nix +++ b/pkgs/by-name/zp/zpix-pixel-font/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchurl +{ + lib, + stdenvNoCC, + fetchurl, }: stdenvNoCC.mkDerivation rec { pname = "zpix-pixel-font"; diff --git a/pkgs/by-name/zp/zplug/package.nix b/pkgs/by-name/zp/zplug/package.nix index 4f6231d141103..01d41d2e464ed 100644 --- a/pkgs/by-name/zp/zplug/package.nix +++ b/pkgs/by-name/zp/zplug/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zplug"; diff --git a/pkgs/by-name/zp/zpool-auto-expand-partitions/package.nix b/pkgs/by-name/zp/zpool-auto-expand-partitions/package.nix index d2cf39e2a5df9..3edc4b7b2594a 100644 --- a/pkgs/by-name/zp/zpool-auto-expand-partitions/package.nix +++ b/pkgs/by-name/zp/zpool-auto-expand-partitions/package.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, cloud-utils -, fetchFromGitHub -, pkg-config -, util-linux -, zfs +{ + lib, + rustPlatform, + cloud-utils, + fetchFromGitHub, + pkg-config, + util-linux, + zfs, }: rustPlatform.buildRustPackage rec { pname = "zpool-auto-expand-partitions"; diff --git a/pkgs/by-name/zp/zpool-iostat-viz/package.nix b/pkgs/by-name/zp/zpool-iostat-viz/package.nix index 4f546e544e66c..772660bddce77 100644 --- a/pkgs/by-name/zp/zpool-iostat-viz/package.nix +++ b/pkgs/by-name/zp/zpool-iostat-viz/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, python3Packages -, installShellFiles +{ + lib, + fetchFromGitHub, + python3Packages, + installShellFiles, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/zp/zprint/package.nix b/pkgs/by-name/zp/zprint/package.nix index 0d8f66d436f82..d1e41f5bb1f2e 100644 --- a/pkgs/by-name/zp/zprint/package.nix +++ b/pkgs/by-name/zp/zprint/package.nix @@ -1,8 +1,9 @@ -{ lib -, buildGraalvmNativeImage -, fetchurl -, testers -, zprint +{ + lib, + buildGraalvmNativeImage, + fetchurl, + testers, + zprint, }: buildGraalvmNativeImage rec { diff --git a/pkgs/by-name/zp/zps/package.nix b/pkgs/by-name/zp/zps/package.nix index 62a9efe7d7d93..9408d844e349c 100644 --- a/pkgs/by-name/zp/zps/package.nix +++ b/pkgs/by-name/zp/zps/package.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/by-name/zr/zrepl/package.nix b/pkgs/by-name/zr/zrepl/package.nix index b04d23fc372a0..7748db7cf4846 100644 --- a/pkgs/by-name/zr/zrepl/package.nix +++ b/pkgs/by-name/zr/zrepl/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, nixosTests -, openssh +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + nixosTests, + openssh, }: buildGoModule rec { pname = "zrepl"; @@ -24,7 +25,11 @@ buildGoModule rec { makeWrapper ]; - ldflags = [ "-s" "-w" "-X github.com/zrepl/zrepl/version.zreplVersion=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X github.com/zrepl/zrepl/version.zreplVersion=${version}" + ]; postInstall = '' mkdir -p $out/lib/systemd/system @@ -44,7 +49,10 @@ buildGoModule rec { description = "One-stop, integrated solution for ZFS replication"; platforms = platforms.linux; license = licenses.mit; - maintainers = with maintainers; [ cole-h mdlayher ]; + maintainers = with maintainers; [ + cole-h + mdlayher + ]; mainProgram = "zrepl"; }; } diff --git a/pkgs/by-name/zs/zs-apc-spdu-ctl/package.nix b/pkgs/by-name/zs/zs-apc-spdu-ctl/package.nix index bb523aa707c35..7211f4448283f 100644 --- a/pkgs/by-name/zs/zs-apc-spdu-ctl/package.nix +++ b/pkgs/by-name/zs/zs-apc-spdu-ctl/package.nix @@ -1,10 +1,11 @@ -{ cmake -, fetchFromGitHub -, fping -, lib -, libowlevelzs -, net-snmp -, stdenv +{ + cmake, + fetchFromGitHub, + fping, + lib, + libowlevelzs, + net-snmp, + stdenv, }: # TODO: add a services entry for the /etc/zs-apc-spdu.conf file @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libowlevelzs net-snmp ]; + buildInputs = [ + libowlevelzs + net-snmp + ]; postPatch = '' substituteInPlace src/confent.cxx \ diff --git a/pkgs/by-name/zs/zs-wait4host/package.nix b/pkgs/by-name/zs/zs-wait4host/package.nix index 96d200382b356..ed04b8a7852b2 100644 --- a/pkgs/by-name/zs/zs-wait4host/package.nix +++ b/pkgs/by-name/zs/zs-wait4host/package.nix @@ -1,4 +1,10 @@ -{ coreutils, fetchurl, fping, lib, stdenvNoCC }: +{ + coreutils, + fetchurl, + fping, + lib, + stdenvNoCC, +}: stdenvNoCC.mkDerivation rec { pname = "zs-wait4host"; diff --git a/pkgs/by-name/zs/zs/package.nix b/pkgs/by-name/zs/zs/package.nix index 7aec860bafa0f..9f6a293f0381b 100644 --- a/pkgs/by-name/zs/zs/package.nix +++ b/pkgs/by-name/zs/zs/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitea, buildGoModule, installShellFiles }: +{ + lib, + fetchFromGitea, + buildGoModule, + installShellFiles, +}: buildGoModule rec { pname = "zs"; diff --git a/pkgs/by-name/zs/zsa-udev-rules/package.nix b/pkgs/by-name/zs/zsa-udev-rules/package.nix index 66485ab51dd82..cb54d4a83321c 100644 --- a/pkgs/by-name/zs/zsa-udev-rules/package.nix +++ b/pkgs/by-name/zs/zsa-udev-rules/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsa-udev-rules"; diff --git a/pkgs/by-name/zs/zscroll/package.nix b/pkgs/by-name/zs/zscroll/package.nix index 79a5c72ddc8f7..f52784ea8676c 100644 --- a/pkgs/by-name/zs/zscroll/package.nix +++ b/pkgs/by-name/zs/zscroll/package.nix @@ -1,4 +1,9 @@ -{ lib, python3, python3Packages, fetchFromGitHub }: +{ + lib, + python3, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "zscroll"; diff --git a/pkgs/by-name/zs/zsh-autocomplete/package.nix b/pkgs/by-name/zs/zsh-autocomplete/package.nix index bd265a3868bae..286b7174b715a 100644 --- a/pkgs/by-name/zs/zsh-autocomplete/package.nix +++ b/pkgs/by-name/zs/zsh-autocomplete/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "zsh-autocomplete"; diff --git a/pkgs/by-name/zs/zsh-autoenv/package.nix b/pkgs/by-name/zs/zsh-autoenv/package.nix index d16410c315385..4242b74f4cf8d 100644 --- a/pkgs/by-name/zs/zsh-autoenv/package.nix +++ b/pkgs/by-name/zs/zsh-autoenv/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitHub, + runtimeShell, +}: stdenv.mkDerivation { pname = "zsh-autoenv"; diff --git a/pkgs/by-name/zs/zsh-bd/package.nix b/pkgs/by-name/zs/zsh-bd/package.nix index b0704065901b1..6f1aa03dee680 100644 --- a/pkgs/by-name/zs/zsh-bd/package.nix +++ b/pkgs/by-name/zs/zsh-bd/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub}: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-bd"; diff --git a/pkgs/by-name/zs/zsh-better-npm-completion/package.nix b/pkgs/by-name/zs/zsh-better-npm-completion/package.nix index d9a813bbbfdd6..fd9e87b677226 100644 --- a/pkgs/by-name/zs/zsh-better-npm-completion/package.nix +++ b/pkgs/by-name/zs/zsh-better-npm-completion/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-better-npm-completion"; diff --git a/pkgs/by-name/zs/zsh-command-time/package.nix b/pkgs/by-name/zs/zsh-command-time/package.nix index cfdb48104a5bc..957ab9b352b3b 100644 --- a/pkgs/by-name/zs/zsh-command-time/package.nix +++ b/pkgs/by-name/zs/zsh-command-time/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: # To make use of this plugin, need to add # programs.zsh.interactiveShellInit = '' diff --git a/pkgs/by-name/zs/zsh-completions/package.nix b/pkgs/by-name/zs/zsh-completions/package.nix index 0bb2c87267190..193c78210bdfd 100644 --- a/pkgs/by-name/zs/zsh-completions/package.nix +++ b/pkgs/by-name/zs/zsh-completions/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-completions"; diff --git a/pkgs/by-name/zs/zsh-defer/package.nix b/pkgs/by-name/zs/zsh-defer/package.nix index e21a254af52a3..b256e19d539dd 100644 --- a/pkgs/by-name/zs/zsh-defer/package.nix +++ b/pkgs/by-name/zs/zsh-defer/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-defer"; diff --git a/pkgs/by-name/zs/zsh-edit/package.nix b/pkgs/by-name/zs/zsh-edit/package.nix index b1ca81e30ce85..4d7924ac186f5 100644 --- a/pkgs/by-name/zs/zsh-edit/package.nix +++ b/pkgs/by-name/zs/zsh-edit/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-edit"; diff --git a/pkgs/by-name/zs/zsh-f-sy-h/package.nix b/pkgs/by-name/zs/zsh-f-sy-h/package.nix index 0e18eaa95838d..be92c8e667d84 100644 --- a/pkgs/by-name/zs/zsh-f-sy-h/package.nix +++ b/pkgs/by-name/zs/zsh-f-sy-h/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "zsh-f-sy-h"; diff --git a/pkgs/by-name/zs/zsh-fast-syntax-highlighting/package.nix b/pkgs/by-name/zs/zsh-fast-syntax-highlighting/package.nix index 68f09828b4562..7daf234f0102d 100644 --- a/pkgs/by-name/zs/zsh-fast-syntax-highlighting/package.nix +++ b/pkgs/by-name/zs/zsh-fast-syntax-highlighting/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "zsh-fast-syntax-highlighting"; diff --git a/pkgs/by-name/zs/zsh-forgit/package.nix b/pkgs/by-name/zs/zsh-forgit/package.nix index f63496d0df7e9..4eb6f8eb889ce 100644 --- a/pkgs/by-name/zs/zsh-forgit/package.nix +++ b/pkgs/by-name/zs/zsh-forgit/package.nix @@ -1,15 +1,16 @@ -{ stdenvNoCC -, lib -, bash -, coreutils -, findutils -, fetchFromGitHub -, fzf -, gawk -, git -, gnugrep -, gnused -, makeWrapper +{ + stdenvNoCC, + lib, + bash, + coreutils, + findutils, + fetchFromGitHub, + fzf, + gawk, + git, + gnugrep, + gnused, + makeWrapper, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -41,7 +42,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { install -D completions/_git-forgit $out/share/zsh/site-functions/_git-forgit install -D forgit.plugin.zsh $out/share/zsh/${finalAttrs.pname}/forgit.plugin.zsh wrapProgram $out/bin/git-forgit \ - --prefix PATH : ${lib.makeBinPath [ bash coreutils findutils fzf gawk git gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + findutils + fzf + gawk + git + gnugrep + gnused + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/zs/zsh-fzf-history-search/package.nix b/pkgs/by-name/zs/zsh-fzf-history-search/package.nix index d85171530a6ae..c852da674a9b4 100644 --- a/pkgs/by-name/zs/zsh-fzf-history-search/package.nix +++ b/pkgs/by-name/zs/zsh-fzf-history-search/package.nix @@ -1,6 +1,7 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub +{ + lib, + stdenvNoCC, + fetchFromGitHub, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/by-name/zs/zsh-fzf-tab/package.nix b/pkgs/by-name/zs/zsh-fzf-tab/package.nix index 1b96c5224d0eb..41c9dacef43a1 100644 --- a/pkgs/by-name/zs/zsh-fzf-tab/package.nix +++ b/pkgs/by-name/zs/zsh-fzf-tab/package.nix @@ -1,8 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, zsh, ncurses, nix-update-script }: +{ + stdenv, + lib, + fetchFromGitHub, + zsh, + ncurses, + nix-update-script, +}: let - INSTALL_PATH="${placeholder "out"}/share/fzf-tab"; -in stdenv.mkDerivation rec { + INSTALL_PATH = "${placeholder "out"}/share/fzf-tab"; +in +stdenv.mkDerivation rec { pname = "zsh-fzf-tab"; version = "1.1.2"; diff --git a/pkgs/by-name/zs/zsh-git-prompt/package.nix b/pkgs/by-name/zs/zsh-git-prompt/package.nix index f9e5633476ab9..d78768336d0f7 100644 --- a/pkgs/by-name/zs/zsh-git-prompt/package.nix +++ b/pkgs/by-name/zs/zsh-git-prompt/package.nix @@ -24,47 +24,61 @@ # More details are in share/doc/zsh-git-prompt/README.md, once # installed. # -{ fetchFromGitHub -, python3 -, git -, lib -, haskellPackages +{ + fetchFromGitHub, + python3, + git, + lib, + haskellPackages, }: -haskellPackages.callPackage - ({ mkDerivation, base, HUnit, parsec, process, QuickCheck }: - mkDerivation rec { - pname = "zsh-git-prompt"; - version = "0.4z"; # While we await a real 0.5 release. - src = fetchFromGitHub { - owner = "starcraftman"; - repo = "zsh-git-prompt"; - rev = "11b83ba3b85d14c66cf2ab79faefab6d838da28e"; - sha256 = "04aylsjfb03ckw219plkzpyiq4j9g66bjxa5pa56h1p7df6pjssb"; - }; - prePatch = '' - substituteInPlace zshrc.sh \ - --replace ':-"python"' ':-"haskell"' \ - --replace 'python ' '${python3.interpreter} ' \ - --replace 'git ' '${git}/bin/git ' - ''; - preCompileBuildDriver = "cd src"; - postInstall = '' - cd .. - gpshare=$out/share/${pname} - gpdoc=$out/share/doc/${pname} - mkdir -p $gpshare/src $gpdoc - cp README.md $gpdoc - cp zshrc.sh gitstatus.py $gpshare - mv $out/bin $gpshare/src/.bin - ''; - isLibrary = false; - isExecutable = true; - libraryHaskellDepends = [ base parsec process QuickCheck ]; - executableHaskellDepends = libraryHaskellDepends; - testHaskellDepends = [HUnit] ++ libraryHaskellDepends; - homepage = "https://github.com/olivierverdier/zsh-git-prompt#readme"; - description = "Informative git prompt for zsh"; - license = lib.licenses.mit; - maintainers = [lib.maintainers.league]; - }) {} +haskellPackages.callPackage ( + { + mkDerivation, + base, + HUnit, + parsec, + process, + QuickCheck, + }: + mkDerivation rec { + pname = "zsh-git-prompt"; + version = "0.4z"; # While we await a real 0.5 release. + src = fetchFromGitHub { + owner = "starcraftman"; + repo = "zsh-git-prompt"; + rev = "11b83ba3b85d14c66cf2ab79faefab6d838da28e"; + sha256 = "04aylsjfb03ckw219plkzpyiq4j9g66bjxa5pa56h1p7df6pjssb"; + }; + prePatch = '' + substituteInPlace zshrc.sh \ + --replace ':-"python"' ':-"haskell"' \ + --replace 'python ' '${python3.interpreter} ' \ + --replace 'git ' '${git}/bin/git ' + ''; + preCompileBuildDriver = "cd src"; + postInstall = '' + cd .. + gpshare=$out/share/${pname} + gpdoc=$out/share/doc/${pname} + mkdir -p $gpshare/src $gpdoc + cp README.md $gpdoc + cp zshrc.sh gitstatus.py $gpshare + mv $out/bin $gpshare/src/.bin + ''; + isLibrary = false; + isExecutable = true; + libraryHaskellDepends = [ + base + parsec + process + QuickCheck + ]; + executableHaskellDepends = libraryHaskellDepends; + testHaskellDepends = [ HUnit ] ++ libraryHaskellDepends; + homepage = "https://github.com/olivierverdier/zsh-git-prompt#readme"; + description = "Informative git prompt for zsh"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.league ]; + } +) { } diff --git a/pkgs/by-name/zs/zsh-history-search-multi-word/package.nix b/pkgs/by-name/zs/zsh-history-search-multi-word/package.nix index 30d26c9676621..51ffd564d8f24 100644 --- a/pkgs/by-name/zs/zsh-history-search-multi-word/package.nix +++ b/pkgs/by-name/zs/zsh-history-search-multi-word/package.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitHub }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "zsh-history-search-multi-word"; @@ -25,7 +29,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Multi-word, syntax highlighted history searching for Zsh"; homepage = "https://github.com/zdharma-continuum/history-search-multi-word"; - license = with licenses; [ gpl3 mit ]; + license = with licenses; [ + gpl3 + mit + ]; platforms = platforms.unix; }; } diff --git a/pkgs/by-name/zs/zsh-history-substring-search/package.nix b/pkgs/by-name/zs/zsh-history-substring-search/package.nix index 4b2aea76a7b7c..e291025f6ee1a 100644 --- a/pkgs/by-name/zs/zsh-history-substring-search/package.nix +++ b/pkgs/by-name/zs/zsh-history-substring-search/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-history-substring-search"; diff --git a/pkgs/by-name/zs/zsh-history-to-fish/package.nix b/pkgs/by-name/zs/zsh-history-to-fish/package.nix index 4e8da001f8350..b158ab4fc1a8f 100644 --- a/pkgs/by-name/zs/zsh-history-to-fish/package.nix +++ b/pkgs/by-name/zs/zsh-history-to-fish/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchPypi -, python3 +{ + lib, + fetchPypi, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/zs/zsh-history/package.nix b/pkgs/by-name/zs/zsh-history/package.nix index f2afd98de60a5..2d8b12bc35c7d 100644 --- a/pkgs/by-name/zs/zsh-history/package.nix +++ b/pkgs/by-name/zs/zsh-history/package.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildGoModule, installShellFiles, nixosTests }: +{ + lib, + fetchFromGitHub, + buildGoModule, + installShellFiles, + nixosTests, +}: buildGoModule rec { pname = "zsh-history"; diff --git a/pkgs/by-name/zs/zsh-navigation-tools/package.nix b/pkgs/by-name/zs/zsh-navigation-tools/package.nix index f719fe3b69225..e208c65891d26 100644 --- a/pkgs/by-name/zs/zsh-navigation-tools/package.nix +++ b/pkgs/by-name/zs/zsh-navigation-tools/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-navigation-tools"; diff --git a/pkgs/by-name/zs/zsh-nix-shell/package.nix b/pkgs/by-name/zs/zsh-nix-shell/package.nix index ddd21683d3b13..243c35949fd01 100644 --- a/pkgs/by-name/zs/zsh-nix-shell/package.nix +++ b/pkgs/by-name/zs/zsh-nix-shell/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, bash }: +{ + lib, + stdenv, + fetchFromGitHub, + bash, +}: # To make use of this derivation, use # `programs.zsh.interactiveShellInit = "source ${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh";` diff --git a/pkgs/by-name/zs/zsh-powerlevel10k/package.nix b/pkgs/by-name/zs/zsh-powerlevel10k/package.nix index c9f610471f575..2ca1cc0c4e0d3 100644 --- a/pkgs/by-name/zs/zsh-powerlevel10k/package.nix +++ b/pkgs/by-name/zs/zsh-powerlevel10k/package.nix @@ -1,12 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, gitstatus -, bash +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + gitstatus, + bash, }: - let # match gitstatus version with given `gitstatus_version`: # https://github.com/romkatv/powerlevel10k/blob/master/gitstatus/build.info diff --git a/pkgs/by-name/zs/zsh-powerlevel9k/package.nix b/pkgs/by-name/zs/zsh-powerlevel9k/package.nix index 4a0b0bd02dd68..a9ec9e8d1a007 100644 --- a/pkgs/by-name/zs/zsh-powerlevel9k/package.nix +++ b/pkgs/by-name/zs/zsh-powerlevel9k/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "powerlevel9k"; @@ -11,7 +15,7 @@ stdenv.mkDerivation { }; strictDeps = true; - installPhase= '' + installPhase = '' install -D powerlevel9k.zsh-theme --target-directory=$out/share/zsh-powerlevel9k install -D functions/* --target-directory=$out/share/zsh-powerlevel9k/functions ''; diff --git a/pkgs/by-name/zs/zsh-prezto/package.nix b/pkgs/by-name/zs/zsh-prezto/package.nix index ff79e8ea1a761..7fce5d1f10cf5 100644 --- a/pkgs/by-name/zs/zsh-prezto/package.nix +++ b/pkgs/by-name/zs/zsh-prezto/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, unstableGitUpdater, bash }: +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + bash, +}: stdenv.mkDerivation rec { pname = "zsh-prezto"; @@ -25,7 +31,7 @@ stdenv.mkDerivation rec { cp -R ./ $out/share/zsh-prezto ''; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Configuration framework for Zsh"; diff --git a/pkgs/by-name/zs/zsh-syntax-highlighting/package.nix b/pkgs/by-name/zs/zsh-syntax-highlighting/package.nix index 518a9658083ba..dba2adb6c37d5 100644 --- a/pkgs/by-name/zs/zsh-syntax-highlighting/package.nix +++ b/pkgs/by-name/zs/zsh-syntax-highlighting/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, zsh }: +{ + lib, + stdenv, + fetchFromGitHub, + zsh, +}: # To make use of this derivation, use the `programs.zsh.enableSyntaxHighlighting` option @@ -23,6 +28,9 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/zsh-users/zsh-syntax-highlighting"; license = licenses.bsd3; platforms = platforms.unix; - maintainers = with maintainers; [ gepbird loskutov ]; + maintainers = with maintainers; [ + gepbird + loskutov + ]; }; }) diff --git a/pkgs/by-name/zs/zsh-system-clipboard/package.nix b/pkgs/by-name/zs/zsh-system-clipboard/package.nix index 3cfe47e77f707..ae389956037ec 100644 --- a/pkgs/by-name/zs/zsh-system-clipboard/package.nix +++ b/pkgs/by-name/zs/zsh-system-clipboard/package.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-system-clipboard"; @@ -20,7 +24,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/kutsan/zsh-system-clipboard"; description = "Plugin that adds key bindings support for ZLE (Zsh Line Editor) clipboard operations for vi emulation keymaps"; license = licenses.gpl3Only; - maintainers = with maintainers; [ _0qq satoqz ]; + maintainers = with maintainers; [ + _0qq + satoqz + ]; platforms = platforms.all; }; } diff --git a/pkgs/by-name/zs/zsh-vi-mode/package.nix b/pkgs/by-name/zs/zsh-vi-mode/package.nix index b29dc4a344d17..f10473fab229e 100644 --- a/pkgs/by-name/zs/zsh-vi-mode/package.nix +++ b/pkgs/by-name/zs/zsh-vi-mode/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zsh-vi-mode"; diff --git a/pkgs/by-name/zs/zsh-wd/package.nix b/pkgs/by-name/zs/zsh-wd/package.nix index 7f8d8a5e0a65f..0fdc451b4f5ab 100644 --- a/pkgs/by-name/zs/zsh-wd/package.nix +++ b/pkgs/by-name/zs/zsh-wd/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, installShellFiles }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + installShellFiles, +}: stdenvNoCC.mkDerivation rec { pname = "wd"; diff --git a/pkgs/by-name/zs/zsh-z/package.nix b/pkgs/by-name/zs/zsh-z/package.nix index a03b81cb6bfd2..84efc5ee2ba1e 100644 --- a/pkgs/by-name/zs/zsh-z/package.nix +++ b/pkgs/by-name/zs/zsh-z/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "zsh-z"; diff --git a/pkgs/by-name/zs/zssh/package.nix b/pkgs/by-name/zs/zssh/package.nix index b64d2c959a1af..3720976f055f6 100644 --- a/pkgs/by-name/zs/zssh/package.nix +++ b/pkgs/by-name/zs/zssh/package.nix @@ -1,8 +1,14 @@ -{ lib, stdenv, fetchurl, readline }: +{ + lib, + stdenv, + fetchurl, + readline, +}: let version = "1.5c"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "zssh"; inherit version; diff --git a/pkgs/by-name/zs/zstxtns-utils/package.nix b/pkgs/by-name/zs/zstxtns-utils/package.nix index 485a8b3a40d9d..fce8532a0fe45 100644 --- a/pkgs/by-name/zs/zstxtns-utils/package.nix +++ b/pkgs/by-name/zs/zstxtns-utils/package.nix @@ -1,10 +1,11 @@ -{ coreutils -, fetchurl -, gnugrep -, lib -, makeWrapper -, moreutils -, stdenvNoCC +{ + coreutils, + fetchurl, + gnugrep, + lib, + makeWrapper, + moreutils, + stdenvNoCC, }: stdenvNoCC.mkDerivation rec { @@ -25,8 +26,19 @@ stdenvNoCC.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/zstxtns-merge --set PATH "${lib.makeBinPath [coreutils gnugrep moreutils]}" - wrapProgram $out/bin/zstxtns-unmerge --set PATH "${lib.makeBinPath [coreutils gnugrep]}" + wrapProgram $out/bin/zstxtns-merge --set PATH "${ + lib.makeBinPath [ + coreutils + gnugrep + moreutils + ] + }" + wrapProgram $out/bin/zstxtns-unmerge --set PATH "${ + lib.makeBinPath [ + coreutils + gnugrep + ] + }" ''; meta = with lib; { diff --git a/pkgs/by-name/zs/zsv/package.nix b/pkgs/by-name/zs/zsv/package.nix index 0cfc77d010743..0413b032601c1 100644 --- a/pkgs/by-name/zs/zsv/package.nix +++ b/pkgs/by-name/zs/zsv/package.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, perl, jq }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + jq, +}: stdenv.mkDerivation rec { pname = "zsv"; diff --git a/pkgs/by-name/zs/zsync/package.nix b/pkgs/by-name/zs/zsync/package.nix index e925d1c8419b4..d4f57f0a750ca 100644 --- a/pkgs/by-name/zs/zsync/package.nix +++ b/pkgs/by-name/zs/zsync/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "zsync"; diff --git a/pkgs/by-name/zt/zthrottle/package.nix b/pkgs/by-name/zt/zthrottle/package.nix index aa1d3c1c4fbf4..3b4cef67f5e18 100644 --- a/pkgs/by-name/zt/zthrottle/package.nix +++ b/pkgs/by-name/zt/zthrottle/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, zsh }: +{ + lib, + stdenv, + fetchFromGitHub, + zsh, +}: stdenv.mkDerivation rec { pname = "zthrottle"; diff --git a/pkgs/by-name/zu/zug/package.nix b/pkgs/by-name/zu/zug/package.nix index 509545c1ffa97..6f87be40e1e60 100644 --- a/pkgs/by-name/zu/zug/package.nix +++ b/pkgs/by-name/zu/zug/package.nix @@ -1,11 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, }: - stdenv.mkDerivation rec { pname = "zug"; version = "0.1.0"; @@ -28,9 +28,9 @@ stdenv.mkDerivation rec { rm BUILD ''; meta = with lib; { - homepage = "https://github.com/arximboldi/zug"; + homepage = "https://github.com/arximboldi/zug"; description = "library for functional interactive c++ programs"; maintainers = with maintainers; [ nek0 ]; - license = licenses.boost; + license = licenses.boost; }; } diff --git a/pkgs/by-name/zu/zuki-themes/package.nix b/pkgs/by-name/zu/zuki-themes/package.nix index d557e151d2640..03a99c4e3f28c 100644 --- a/pkgs/by-name/zu/zuki-themes/package.nix +++ b/pkgs/by-name/zu/zuki-themes/package.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + sassc, + gdk-pixbuf, + librsvg, + gtk_engines, + gtk-engine-murrine, +}: stdenv.mkDerivation rec { pname = "zuki-themes"; @@ -11,9 +22,17 @@ stdenv.mkDerivation rec { sha256 = "1q026wa8xgyb6f5k7pqpm5zav30dbnm3b8w59as3sh8rhfgpbf80"; }; - nativeBuildInputs = [ meson ninja sassc ]; + nativeBuildInputs = [ + meson + ninja + sassc + ]; - buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + buildInputs = [ + gdk-pixbuf + librsvg + gtk_engines + ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/by-name/zu/zulip-term/package.nix b/pkgs/by-name/zu/zulip-term/package.nix index 7c741216df11a..45b1a8a565daa 100644 --- a/pkgs/by-name/zu/zulip-term/package.nix +++ b/pkgs/by-name/zu/zulip-term/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, glibcLocales -, libnotify +{ + lib, + python3, + fetchFromGitHub, + glibcLocales, + libnotify, }: let @@ -60,16 +61,21 @@ buildPythonApplication rec { zulip ]; - nativeCheckInputs = [ - glibcLocales - ] ++ (with python3.pkgs; [ - pytestCheckHook - pytest-cov - pytest-mock - ]); + nativeCheckInputs = + [ + glibcLocales + ] + ++ (with python3.pkgs; [ + pytestCheckHook + pytest-cov + pytest-mock + ]); makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ libnotify ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ libnotify ]) ]; meta = with lib; { diff --git a/pkgs/by-name/zu/zuo/package.nix b/pkgs/by-name/zu/zuo/package.nix index 9bfb925586c4a..00b4ece29cd2e 100644 --- a/pkgs/by-name/zu/zuo/package.nix +++ b/pkgs/by-name/zu/zuo/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zuo"; diff --git a/pkgs/by-name/zx/zxcvbn-c/package.nix b/pkgs/by-name/zx/zxcvbn-c/package.nix index edd62ed3340bd..3fc9d2ae50905 100644 --- a/pkgs/by-name/zx/zxcvbn-c/package.nix +++ b/pkgs/by-name/zx/zxcvbn-c/package.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "zxcvbn-c"; version = "2.5"; diff --git a/pkgs/by-name/zx/zxfer/package.nix b/pkgs/by-name/zx/zxfer/package.nix index 802688cad5837..2591d69eb3852 100644 --- a/pkgs/by-name/zx/zxfer/package.nix +++ b/pkgs/by-name/zx/zxfer/package.nix @@ -1,16 +1,17 @@ -{ lib -, bash -, fetchFromGitHub -, installShellFiles -, coreutils -, gawk -, gnugrep -, gnused -, openssh -, resholve -, rsync -, which -, zfs +{ + lib, + bash, + fetchFromGitHub, + installShellFiles, + coreutils, + gawk, + gnugrep, + gnused, + openssh, + resholve, + rsync, + which, + zfs, }: resholve.mkDerivation rec { diff --git a/pkgs/by-name/zx/zxing-cpp/package.nix b/pkgs/by-name/zx/zxing-cpp/package.nix index 30a304867d585..cc1a3caa939bc 100644 --- a/pkgs/by-name/zx/zxing-cpp/package.nix +++ b/pkgs/by-name/zx/zxing-cpp/package.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, python3 -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + python3, + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/zx/zxing/package.nix b/pkgs/by-name/zx/zxing/package.nix index 175b15b22aecb..eae4b10a7be43 100644 --- a/pkgs/by-name/zx/zxing/package.nix +++ b/pkgs/by-name/zx/zxing/package.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jre }: +{ + lib, + stdenv, + fetchurl, + jre, +}: stdenv.mkDerivation rec { pname = "zxing"; version = "3.1.0"; @@ -27,7 +32,7 @@ stdenv.mkDerivation rec { description = "1D and 2D code reading library"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.asl20; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; homepage = "https://github.com/zxing/zxing"; }; diff --git a/pkgs/by-name/zx/zxpy/package.nix b/pkgs/by-name/zx/zxpy/package.nix index 650a220250cb7..4c731b863602f 100644 --- a/pkgs/by-name/zx/zxpy/package.nix +++ b/pkgs/by-name/zx/zxpy/package.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchFromGitHub -, fetchpatch -, deterministic-uname +{ + lib, + python3, + fetchFromGitHub, + fetchpatch, + deterministic-uname, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/by-name/zx/zxtune/package.nix b/pkgs/by-name/zx/zxtune/package.nix index 56b62844af843..f9187633340fc 100644 --- a/pkgs/by-name/zx/zxtune/package.nix +++ b/pkgs/by-name/zx/zxtune/package.nix @@ -1,35 +1,37 @@ -{ lib -, stdenv -, fetchFromBitbucket -, nix-update-script -, boost -, zlib -# File backends (for decoding and encoding) -, withMp3 ? true -, lame -, withOgg ? true -, libvorbis -, withFlac ? true -, flac -# Audio backends (for playback) -, withOpenal ? false -, openal -, withSDL ? false -, SDL -, withOss ? false -, withAlsa ? stdenv.hostPlatform.isLinux -, alsa-lib -, withPulse ? stdenv.hostPlatform.isLinux -, libpulseaudio -# GUI audio player -, withQt ? true -, qt5 -, zip -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchFromBitbucket, + nix-update-script, + boost, + zlib, + # File backends (for decoding and encoding) + withMp3 ? true, + lame, + withOgg ? true, + libvorbis, + withFlac ? true, + flac, + # Audio backends (for playback) + withOpenal ? false, + openal, + withSDL ? false, + SDL, + withOss ? false, + withAlsa ? stdenv.hostPlatform.isLinux, + alsa-lib, + withPulse ? stdenv.hostPlatform.isLinux, + libpulseaudio, + # GUI audio player + withQt ? true, + qt5, + zip, + makeDesktopItem, + copyDesktopItems, }: let - dlopenBuildInputs = [] + dlopenBuildInputs = + [ ] ++ lib.optional withMp3 lame ++ lib.optional withOgg libvorbis ++ lib.optional withFlac flac @@ -39,9 +41,12 @@ let ++ lib.optional withPulse libpulseaudio; supportWayland = (!stdenv.hostPlatform.isDarwin); platformName = "linux"; - staticBuildInputs = [ boost zlib ] - ++ lib.optional withQt (if (supportWayland) then qt5.qtwayland else qt5.qtbase); -in stdenv.mkDerivation rec { + staticBuildInputs = [ + boost + zlib + ] ++ lib.optional withQt (if (supportWayland) then qt5.qtwayland else qt5.qtbase); +in +stdenv.mkDerivation rec { pname = "zxtune"; version = "5075"; @@ -55,7 +60,10 @@ in stdenv.mkDerivation rec { }; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "r([0-9]+)" ]; + extraArgs = [ + "--version-regex" + "r([0-9]+)" + ]; }; strictDeps = true; @@ -78,56 +86,62 @@ in stdenv.mkDerivation rec { --replace "#include String */ - escapeShellArgs' = lib.concatMapStringsSep " " (arg: if arg ? __rawShell then arg.__rawShell else lib.escapeShellArg arg); + escapeShellArgs' = lib.concatMapStringsSep " " ( + arg: if arg ? __rawShell then arg.__rawShell else lib.escapeShellArg arg + ); /* processArg : { maxArgIndex : Int, args : [ShellArg], paths : [FilePath] } → (String|FilePath) → { maxArgIndex : Int, args : [ShellArg], paths : [FilePath] } Helper reducer function for building a command arguments where file paths are replaced with argv[x] reference. */ processArg = - { maxArgIndex, args, paths }: + { + maxArgIndex, + args, + paths, + }: arg: - if builtins.isPath arg then { - args = args ++ [ { __rawShell = "\"\$${builtins.toString maxArgIndex}\""; } ]; - maxArgIndex = maxArgIndex + 1; - paths = paths ++ [ arg ]; - } else { - args = args ++ [ arg ]; - inherit maxArgIndex paths; - }; + if builtins.isPath arg then + { + args = args ++ [ { __rawShell = "\"\$${builtins.toString maxArgIndex}\""; } ]; + maxArgIndex = maxArgIndex + 1; + paths = paths ++ [ arg ]; + } + else + { + args = args ++ [ arg ]; + inherit maxArgIndex paths; + }; /* extractPaths : Int → [ (String|FilePath) ] → { maxArgIndex : Int, args : [ShellArg], paths : [FilePath] } Helper function that extracts file paths from command arguments and replaces them with argv[x] references. */ - extractPaths = maxArgIndex: command: builtins.foldl' processArg { inherit maxArgIndex; args = [ ]; paths = [ ]; } command; + extractPaths = + maxArgIndex: command: + builtins.foldl' processArg { + inherit maxArgIndex; + args = [ ]; + paths = [ ]; + } command; /* processCommand : { maxArgIndex : Int, commands : [[ShellArg]], paths : [FilePath] } → [ (String|FilePath) ] → { maxArgIndex : Int, commands : [[ShellArg]], paths : [FilePath] } Helper reducer function for extracting file paths from individual commands. */ processCommand = - { maxArgIndex, commands, paths }: + { + maxArgIndex, + commands, + paths, + }: command: let new = extractPaths maxArgIndex command; @@ -77,13 +95,20 @@ let extractCommands : Int → [[ (String|FilePath) ]] → { maxArgIndex : Int, commands : [[ShellArg]], paths : [FilePath] } Helper function for extracting file paths from a list of commands and replacing them with argv[x] references. */ - extractCommands = maxArgIndex: commands: builtins.foldl' processCommand { inherit maxArgIndex; commands = [ ]; paths = [ ]; } commands; + extractCommands = + maxArgIndex: commands: + builtins.foldl' processCommand { + inherit maxArgIndex; + commands = [ ]; + paths = [ ]; + } commands; /* commandsToShellInvocation : [[ (String|FilePath) ]] → [ (String|FilePath) ] Converts a list of commands into a single command by turning them into a shell script and passing them to `sh -c`. */ - commandsToShellInvocation = commands: + commandsToShellInvocation = + commands: let extracted = extractCommands 0 commands; in @@ -93,19 +118,23 @@ let (lib.concatMapStringsSep ";" escapeShellArgs' extracted.commands) # We need paths as separate arguments so that update.nix can ensure they refer to the local directory # rather than a store path. - ] ++ extracted.paths; + ] + ++ extracted.paths; in rec { /* normalize : UpdateScript → UpdateScript EXPERIMENTAL! Converts a basic update script to the experimental attribute set form. */ - normalize = updateScript: { - command = lib.toList (updateScript.command or updateScript); - supportedFeatures = updateScript.supportedFeatures or [ ]; - } // lib.optionalAttrs (updateScript ? attrPath) { - inherit (updateScript) attrPath; - }; + normalize = + updateScript: + { + command = lib.toList (updateScript.command or updateScript); + supportedFeatures = updateScript.supportedFeatures or [ ]; + } + // lib.optionalAttrs (updateScript ? attrPath) { + inherit (updateScript) attrPath; + }; /* sequence : [UpdateScript] → UpdateScript @@ -119,8 +148,11 @@ rec { in let scripts = scriptsNormalized; - hasCommitSupport = lib.findSingle ({ supportedFeatures, ... }: supportedFeatures == [ "commit" ]) null null scripts != null; - hasSilentSupport = lib.findFirst ({ supportedFeatures, ... }: supportedFeatures == [ "silent" ]) null scripts != null; + hasCommitSupport = + lib.findSingle ({ supportedFeatures, ... }: supportedFeatures == [ "commit" ]) null null scripts + != null; + hasSilentSupport = + lib.findFirst ({ supportedFeatures, ... }: supportedFeatures == [ "silent" ]) null scripts != null; # Supported features currently only describe the format of the standard output of the update script. # Here we ensure that the standard output of the combined update script is well formed. validateFeatures = @@ -135,8 +167,21 @@ rec { ({ supportedFeatures, ... }: supportedFeatures == [ ]); in - assert lib.assertMsg (lib.all validateFeatures scripts) "Combining update scripts with features enabled (other than “silent” scripts and an optional single script with “commit”) is currently unsupported."; - assert lib.assertMsg (builtins.length (lib.unique (builtins.map ({ attrPath ? null, ... }: attrPath) scripts)) == 1) "Combining update scripts with different attr paths is currently unsupported."; + assert lib.assertMsg (lib.all validateFeatures scripts) + "Combining update scripts with features enabled (other than “silent” scripts and an optional single script with “commit”) is currently unsupported."; + assert lib.assertMsg ( + builtins.length ( + lib.unique ( + builtins.map ( + { + attrPath ? null, + ... + }: + attrPath + ) scripts + ) + ) == 1 + ) "Combining update scripts with different attr paths is currently unsupported."; { command = commandsToShellInvocation (builtins.map ({ command, ... }: command) scripts); @@ -154,8 +199,7 @@ rec { EXPERIMENTAL! Simple update script that copies the output of Nix derivation built by `attr` to `path`. */ copyAttrOutputToFile = - attr: - path: + attr: path: { command = [ diff --git a/pkgs/common-updater/directory-listing-updater.nix b/pkgs/common-updater/directory-listing-updater.nix index b717213fc3a79..39e3f66339ef0 100644 --- a/pkgs/common-updater/directory-listing-updater.nix +++ b/pkgs/common-updater/directory-listing-updater.nix @@ -1,21 +1,34 @@ -{ lib -, genericUpdater -, common-updater-scripts +{ + lib, + genericUpdater, + common-updater-scripts, }: -{ pname ? null -, version ? null -, attrPath ? null -, allowedVersions ? "" -, ignoredVersions ? "" -, rev-prefix ? "" -, odd-unstable ? false -, patchlevel-unstable ? false -, url ? null -, extraRegex ? null +{ + pname ? null, + version ? null, + attrPath ? null, + allowedVersions ? "", + ignoredVersions ? "", + rev-prefix ? "", + odd-unstable ? false, + patchlevel-unstable ? false, + url ? null, + extraRegex ? null, }: genericUpdater { - inherit pname version attrPath allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable; - versionLister = "${common-updater-scripts}/bin/list-directory-versions ${lib.optionalString (url != null) "--url=${lib.escapeShellArg url}"} ${lib.optionalString (extraRegex != null) "--extra-regex=${lib.escapeShellArg extraRegex}"}"; + inherit + pname + version + attrPath + allowedVersions + ignoredVersions + rev-prefix + odd-unstable + patchlevel-unstable + ; + versionLister = "${common-updater-scripts}/bin/list-directory-versions ${ + lib.optionalString (url != null) "--url=${lib.escapeShellArg url}" + } ${lib.optionalString (extraRegex != null) "--extra-regex=${lib.escapeShellArg extraRegex}"}"; } diff --git a/pkgs/common-updater/generic-updater.nix b/pkgs/common-updater/generic-updater.nix index bc7affea173f4..02dec34e7976f 100644 --- a/pkgs/common-updater/generic-updater.nix +++ b/pkgs/common-updater/generic-updater.nix @@ -1,23 +1,25 @@ -{ lib -, stdenv -, common-updater-scripts -, coreutils -, gnugrep -, gnused -, nix -, writeScript +{ + lib, + stdenv, + common-updater-scripts, + coreutils, + gnugrep, + gnused, + nix, + writeScript, }: -{ name ? null -, pname ? null -, version ? null -, attrPath ? null -, versionLister -, allowedVersions ? "" -, ignoredVersions ? "" -, rev-prefix ? "" -, odd-unstable ? false -, patchlevel-unstable ? false +{ + name ? null, + pname ? null, + version ? null, + attrPath ? null, + versionLister, + allowedVersions ? "", + ignoredVersions ? "", + rev-prefix ? "", + odd-unstable ? false, + patchlevel-unstable ? false, }: let @@ -130,9 +132,22 @@ let echo "" >> ${fileForGitCommands} ''; -in { +in +{ name = "generic-update-script"; - command = [ updateScript name pname version attrPath versionLister allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable ]; + command = [ + updateScript + name + pname + version + attrPath + versionLister + allowedVersions + ignoredVersions + rev-prefix + odd-unstable + patchlevel-unstable + ]; supportedFeatures = [ # Stdout must contain output according to the updateScript commit protocol when the update script finishes with a non-zero exit code. "commit" diff --git a/pkgs/common-updater/git-updater.nix b/pkgs/common-updater/git-updater.nix index 314799c23f281..155c7e37dca97 100644 --- a/pkgs/common-updater/git-updater.nix +++ b/pkgs/common-updater/git-updater.nix @@ -1,22 +1,35 @@ -{ lib -, genericUpdater -, common-updater-scripts +{ + lib, + genericUpdater, + common-updater-scripts, }: -{ pname ? null -, version ? null -, attrPath ? null -, allowedVersions ? "" -, ignoredVersions ? "" -, rev-prefix ? "" -, odd-unstable ? false -, patchlevel-unstable ? false -# an explicit url is needed when src.meta.homepage or src.url don't -# point to a git repo (eg. when using fetchurl, fetchzip, ...) -, url ? null +{ + pname ? null, + version ? null, + attrPath ? null, + allowedVersions ? "", + ignoredVersions ? "", + rev-prefix ? "", + odd-unstable ? false, + patchlevel-unstable ? false, + # an explicit url is needed when src.meta.homepage or src.url don't + # point to a git repo (eg. when using fetchurl, fetchzip, ...) + url ? null, }: genericUpdater { - inherit pname version attrPath allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable; - versionLister = "${common-updater-scripts}/bin/list-git-tags ${lib.optionalString (url != null) "--url=${url}"}"; + inherit + pname + version + attrPath + allowedVersions + ignoredVersions + rev-prefix + odd-unstable + patchlevel-unstable + ; + versionLister = "${common-updater-scripts}/bin/list-git-tags ${ + lib.optionalString (url != null) "--url=${url}" + }"; } diff --git a/pkgs/common-updater/http-two-levels-updater.nix b/pkgs/common-updater/http-two-levels-updater.nix index 77594fc8a112e..861f1c92ce898 100644 --- a/pkgs/common-updater/http-two-levels-updater.nix +++ b/pkgs/common-updater/http-two-levels-updater.nix @@ -1,20 +1,33 @@ -{ lib -, genericUpdater -, common-updater-scripts +{ + lib, + genericUpdater, + common-updater-scripts, }: -{ pname ? null -, version ? null -, attrPath ? null -, allowedVersions ? "" -, ignoredVersions ? "" -, rev-prefix ? "" -, odd-unstable ? false -, patchlevel-unstable ? false -, url ? null +{ + pname ? null, + version ? null, + attrPath ? null, + allowedVersions ? "", + ignoredVersions ? "", + rev-prefix ? "", + odd-unstable ? false, + patchlevel-unstable ? false, + url ? null, }: genericUpdater { - inherit pname version attrPath allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable; - versionLister = "${common-updater-scripts}/bin/list-archive-two-levels-versions ${lib.optionalString (url != null) "--url=${lib.escapeShellArg url}"}"; + inherit + pname + version + attrPath + allowedVersions + ignoredVersions + rev-prefix + odd-unstable + patchlevel-unstable + ; + versionLister = "${common-updater-scripts}/bin/list-archive-two-levels-versions ${ + lib.optionalString (url != null) "--url=${lib.escapeShellArg url}" + }"; } diff --git a/pkgs/common-updater/scripts.nix b/pkgs/common-updater/scripts.nix index d5ee3b58c504b..c84eced0a007a 100644 --- a/pkgs/common-updater/scripts.nix +++ b/pkgs/common-updater/scripts.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, makeWrapper -, coreutils -, diffutils -, git -, gnugrep -, gnused -, jq -, nix -, python3Packages +{ + lib, + stdenv, + makeWrapper, + coreutils, + diffutils, + git, + gnugrep, + gnused, + jq, + nix, + python3Packages, }: stdenv.mkDerivation { @@ -33,7 +34,17 @@ stdenv.mkDerivation { # wrap non python scripts for f in $out/bin/*; do if ! (head -n1 "$f" | grep -q '#!.*/env.*\(python\|pypy\)'); then - wrapProgram $f --prefix PATH : ${lib.makeBinPath [ coreutils diffutils git gnugrep gnused jq nix ]} + wrapProgram $f --prefix PATH : ${ + lib.makeBinPath [ + coreutils + diffutils + git + gnugrep + gnused + jq + nix + ] + } fi done diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix index e6981f633534b..9727fabd00969 100644 --- a/pkgs/common-updater/unstable-updater.nix +++ b/pkgs/common-updater/unstable-updater.nix @@ -1,9 +1,10 @@ -{ lib -, writeShellApplication -, coreutils -, git -, nix -, common-updater-scripts +{ + lib, + writeShellApplication, + coreutils, + git, + nix, + common-updater-scripts, }: # This is an updater for unstable packages that should always use the latest @@ -12,16 +13,19 @@ # passthru.updateScript = unstableGitUpdater { }; # relevant attributes can be passed as below: -{ url ? null # The git url, if empty it will be set to src.gitRepoUrl -, branch ? null -, hardcodeZeroVersion ? false # Use a made-up version "0" instead of latest tag. Use when the project's tagging system is incompatible with what we expect from versions -, tagFormat ? "*" # A `git describe --tags --match ''` pattern that tags must match to be considered -, tagPrefix ? null # strip this prefix from a tag name -, tagConverter ? null # A command to convert more complex tag formats. It receives the git tag via stdin and should convert it into x.y.z format to stdout -, shallowClone ? true +{ + url ? null, # The git url, if empty it will be set to src.gitRepoUrl + branch ? null, + hardcodeZeroVersion ? false, # Use a made-up version "0" instead of latest tag. Use when the project's tagging system is incompatible with what we expect from versions + tagFormat ? "*", # A `git describe --tags --match ''` pattern that tags must match to be considered + tagPrefix ? null, # strip this prefix from a tag name + tagConverter ? null, # A command to convert more complex tag formats. It receives the git tag via stdin and should convert it into x.y.z format to stdout + shallowClone ? true, }: -assert lib.asserts.assertMsg (tagPrefix == null || tagConverter == null) "Can only use either tagPrefix or tagConverter!"; +assert lib.asserts.assertMsg ( + tagPrefix == null || tagConverter == null +) "Can only use either tagPrefix or tagConverter!"; let updateScript = writeShellApplication { @@ -162,14 +166,19 @@ in (lib.getExe updateScript) "--url=${builtins.toString url}" "--tag-format=${tagFormat}" -] ++ lib.optionals (branch != null) [ +] +++ lib.optionals (branch != null) [ "--branch=${branch}" -] ++ lib.optionals (tagPrefix != null) [ +] +++ lib.optionals (tagPrefix != null) [ "--tag-prefix=${tagPrefix}" -] ++ lib.optionals (tagConverter != null) [ +] +++ lib.optionals (tagConverter != null) [ "--tag-converter=${tagConverter}" -] ++ lib.optionals hardcodeZeroVersion [ +] +++ lib.optionals hardcodeZeroVersion [ "--hardcode-zero-version" -] ++ lib.optionals shallowClone [ +] +++ lib.optionals shallowClone [ "--shallow-clone" ] diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix index bb65f91ee1c31..44f0aee804d57 100644 --- a/pkgs/data/documentation/zeal/default.nix +++ b/pkgs/data/documentation/zeal/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, pkg-config -, httplib -, qtbase -, qtimageformats -, qtwebengine -, qtx11extras -, libarchive -, libXdmcp -, libpthreadstubs -, wrapQtAppsHook -, xcbutilkeysyms +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + pkg-config, + httplib, + qtbase, + qtimageformats, + qtwebengine, + qtx11extras, + libarchive, + libXdmcp, + libpthreadstubs, + wrapQtAppsHook, + xcbutilkeysyms, }: let @@ -47,8 +48,7 @@ stdenv.mkDerivation (finalAttrs: { qtimageformats qtwebengine xcbutilkeysyms - ] - ++ lib.optionals isQt5 [ qtx11extras ]; + ] ++ lib.optionals isQt5 [ qtx11extras ]; cmakeFlags = [ (lib.cmakeBool "ZEAL_RELEASE_BUILD" true) @@ -63,7 +63,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://zealdocs.org/"; changelog = "https://github.com/zealdocs/zeal/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ peterhoeg AndersonTorres ]; + maintainers = with lib.maintainers; [ + peterhoeg + AndersonTorres + ]; mainProgram = "zeal"; inherit (qtbase.meta) platforms; }; diff --git a/pkgs/data/fonts/ankacoder/condensed.nix b/pkgs/data/fonts/ankacoder/condensed.nix index 891e0e3c0e0a7..ebcd69d68ee0f 100644 --- a/pkgs/data/fonts/ankacoder/condensed.nix +++ b/pkgs/data/fonts/ankacoder/condensed.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ankacoder-condensed"; @@ -27,4 +31,3 @@ stdenvNoCC.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/data/fonts/ankacoder/default.nix b/pkgs/data/fonts/ankacoder/default.nix index 12a953f72dcab..f11a8dda67c5d 100644 --- a/pkgs/data/fonts/ankacoder/default.nix +++ b/pkgs/data/fonts/ankacoder/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "ankacoder"; diff --git a/pkgs/data/fonts/arphic/default.nix b/pkgs/data/fonts/arphic/default.nix index ed55855e4347d..e658dcb713ff3 100644 --- a/pkgs/data/fonts/arphic/default.nix +++ b/pkgs/data/fonts/arphic/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchurl, mkfontdir, mkfontscale }: +{ + lib, + stdenvNoCC, + fetchurl, + mkfontdir, + mkfontscale, +}: let version = "0.2.20080216.2"; diff --git a/pkgs/data/fonts/catamaran/default.nix b/pkgs/data/fonts/catamaran/default.nix index 253f458bc4b60..1b66f827db9b6 100644 --- a/pkgs/data/fonts/catamaran/default.nix +++ b/pkgs/data/fonts/catamaran/default.nix @@ -37,7 +37,6 @@ stdenvNoCC.mkDerivation rec { ''; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [wyred50]; + maintainers = with maintainers; [ wyred50 ]; }; } - diff --git a/pkgs/data/fonts/dejavu-fonts/default.nix b/pkgs/data/fonts/dejavu-fonts/default.nix index 1fdb20ff3ced5..e7998696db04b 100644 --- a/pkgs/data/fonts/dejavu-fonts/default.nix +++ b/pkgs/data/fonts/dejavu-fonts/default.nix @@ -1,4 +1,11 @@ -{ fetchFromGitHub, lib, stdenv, fontforge, perl, perlPackages }: +{ + fetchFromGitHub, + lib, + stdenv, + fontforge, + perl, + perlPackages, +}: let version = "2.37"; @@ -26,12 +33,17 @@ let full-ttf = stdenv.mkDerivation { pname = "dejavu-fonts-full"; inherit version; - nativeBuildInputs = [fontforge perl perlPackages.IOString perlPackages.FontTTF]; + nativeBuildInputs = [ + fontforge + perl + perlPackages.IOString + perlPackages.FontTTF + ]; src = fetchFromGitHub { owner = "dejavu-fonts"; repo = "dejavu-fonts"; - rev = "version_${lib.replaceStrings ["."] ["_"] version}"; + rev = "version_${lib.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "1xknlg2h287dx34v2n5r33bpcl4biqf0cv7nak657rjki7s0k4bk"; }; @@ -52,7 +64,8 @@ let ''; inherit meta; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "dejavu-fonts"; inherit version; buildCommand = '' diff --git a/pkgs/data/fonts/emojione/default.nix b/pkgs/data/fonts/emojione/default.nix index 629e46fe79711..d46325f6a81c7 100644 --- a/pkgs/data/fonts/emojione/default.nix +++ b/pkgs/data/fonts/emojione/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, inkscape, imagemagick, potrace, svgo, scfbuild }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + inkscape, + imagemagick, + potrace, + svgo, + scfbuild, +}: stdenv.mkDerivation rec { pname = "emojione"; @@ -33,7 +43,13 @@ stdenv.mkDerivation rec { export HOME="$NIX_BUILD_ROOT" ''; - nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ]; + nativeBuildInputs = [ + inkscape + imagemagick + potrace + svgo + scfbuild + ]; enableParallelBuilding = true; diff --git a/pkgs/data/fonts/fira-code/default.nix b/pkgs/data/fonts/fira-code/default.nix index 553a2d5809883..66ca9f0050a20 100644 --- a/pkgs/data/fonts/fira-code/default.nix +++ b/pkgs/data/fonts/fira-code/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchzip, useVariableFont ? true }: +{ + lib, + stdenvNoCC, + fetchzip, + useVariableFont ? true, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "fira-code"; @@ -14,7 +19,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - install -Dm644 -t $out/share/fonts/truetype ${if useVariableFont then "variable_ttf/*-VF.ttf" else "ttf/*.ttf"} + install -Dm644 -t $out/share/fonts/truetype ${ + if useVariableFont then "variable_ttf/*-VF.ttf" else "ttf/*.ttf" + } runHook postInstall ''; diff --git a/pkgs/data/fonts/fira-code/symbols.nix b/pkgs/data/fonts/fira-code/symbols.nix index b31885b3714bb..09c9fc8125909 100644 --- a/pkgs/data/fonts/fira-code/symbols.nix +++ b/pkgs/data/fonts/fira-code/symbols.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation { pname = "fira-code-symbols"; diff --git a/pkgs/data/fonts/gdouros/default.nix b/pkgs/data/fonts/gdouros/default.nix index e407d5de6d85f..9e47b342c86b0 100644 --- a/pkgs/data/fonts/gdouros/default.nix +++ b/pkgs/data/fonts/gdouros/default.nix @@ -1,46 +1,103 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let fonts = { - aegan = { version = "13.00"; file = "Aegean.zip"; hash = "sha256-3HmCqCMZLN6zF1N/EirQOPnHKTGHoc4aHKoZxFYTB34="; description = "Aegean"; }; - aegyptus = { version = "13.00"; file = "Aegyptus.zip"; hash = "sha256-SSAK707xhpsUTq8tSBcrzNGunCYad58amtCqAWuevnY="; description = "Egyptian Hieroglyphs, Coptic, Meroitic"; }; - akkadian = { version = "13.00"; file = "Akkadian.zip"; hash = "sha256-wXiDYyfujAs6fklOCqXq7Ms7wP5RbPlpNVwkUy7CV4k="; description = "Sumero-Akkadian Cuneiform"; }; - assyrian = { version = "13.00"; file = "Assyrian.zip"; hash = "sha256-CZj1sc89OexQ0INb7pbEu5GfE/w2E5JmhjT8cosoLSg="; description = "Neo-Assyrian in Unicode with OpenType"; }; - eemusic = { version = "13.00"; file = "EEMusic.zip"; hash = "sha256-LxOcQOPEImw0wosxJotbOJRbe0qlK5dR+kazuhm99Kg="; description = "Byzantine Musical Notation in Unicode with OpenType"; }; - maya = { version = "13.00"; file = "Maya%20Hieroglyphs.zip"; hash = "sha256-PAwF1lGqm6XVf4NQCA8AFLGU40N0Xsn5Q8x9ikHJDhY="; description = "Maya Hieroglyphs"; }; - symbola = { version = "13.00"; file = "Symbola.zip"; hash = "sha256-TsHWmzkEyMa8JOZDyjvk7PDhm239oH/FNllizNFf398="; description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; }; - textfonts = { version = "13.00"; file = "Textfonts.zip"; hash = "sha256-7S3NiiyDvyYoDrLPt2z3P9bEEFOEZACv2sIHG1Tn6yI="; description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; }; - unidings = { version = "13.00"; file = "Unidings.zip"; hash = "sha256-WUY+Ylphep6WuzqLQ3Owv+vK5Yuu/aAkn4GOFXL0uQY="; description = "Glyphs and Icons for blocks of The Unicode Standard"; }; + aegan = { + version = "13.00"; + file = "Aegean.zip"; + hash = "sha256-3HmCqCMZLN6zF1N/EirQOPnHKTGHoc4aHKoZxFYTB34="; + description = "Aegean"; + }; + aegyptus = { + version = "13.00"; + file = "Aegyptus.zip"; + hash = "sha256-SSAK707xhpsUTq8tSBcrzNGunCYad58amtCqAWuevnY="; + description = "Egyptian Hieroglyphs, Coptic, Meroitic"; + }; + akkadian = { + version = "13.00"; + file = "Akkadian.zip"; + hash = "sha256-wXiDYyfujAs6fklOCqXq7Ms7wP5RbPlpNVwkUy7CV4k="; + description = "Sumero-Akkadian Cuneiform"; + }; + assyrian = { + version = "13.00"; + file = "Assyrian.zip"; + hash = "sha256-CZj1sc89OexQ0INb7pbEu5GfE/w2E5JmhjT8cosoLSg="; + description = "Neo-Assyrian in Unicode with OpenType"; + }; + eemusic = { + version = "13.00"; + file = "EEMusic.zip"; + hash = "sha256-LxOcQOPEImw0wosxJotbOJRbe0qlK5dR+kazuhm99Kg="; + description = "Byzantine Musical Notation in Unicode with OpenType"; + }; + maya = { + version = "13.00"; + file = "Maya%20Hieroglyphs.zip"; + hash = "sha256-PAwF1lGqm6XVf4NQCA8AFLGU40N0Xsn5Q8x9ikHJDhY="; + description = "Maya Hieroglyphs"; + }; + symbola = { + version = "13.00"; + file = "Symbola.zip"; + hash = "sha256-TsHWmzkEyMa8JOZDyjvk7PDhm239oH/FNllizNFf398="; + description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; + }; + textfonts = { + version = "13.00"; + file = "Textfonts.zip"; + hash = "sha256-7S3NiiyDvyYoDrLPt2z3P9bEEFOEZACv2sIHG1Tn6yI="; + description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; + }; + unidings = { + version = "13.00"; + file = "Unidings.zip"; + hash = "sha256-WUY+Ylphep6WuzqLQ3Owv+vK5Yuu/aAkn4GOFXL0uQY="; + description = "Glyphs and Icons for blocks of The Unicode Standard"; + }; }; - mkpkg = pname: { version, file, hash, description }: stdenvNoCC.mkDerivation rec { - inherit pname version; + mkpkg = + pname: + { + version, + file, + hash, + description, + }: + stdenvNoCC.mkDerivation rec { + inherit pname version; - src = fetchzip { - url = "https://web.archive.org/web/20240212172059/https://dn-works.com/wp-content/uploads/2020/UFAS-Fonts/${file}"; - stripRoot = false; - inherit hash; - }; + src = fetchzip { + url = "https://web.archive.org/web/20240212172059/https://dn-works.com/wp-content/uploads/2020/UFAS-Fonts/${file}"; + stripRoot = false; + inherit hash; + }; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/{fonts/opentype,doc/${pname}} - mv *.otf -t "$out/share/fonts/opentype" - mv *.{odt,ods,pdf,xlsx} -t "$out/share/doc/${pname}" || true # install docs if any + mkdir -p $out/share/{fonts/opentype,doc/${pname}} + mv *.otf -t "$out/share/fonts/opentype" + mv *.{odt,ods,pdf,xlsx} -t "$out/share/doc/${pname}" || true # install docs if any - runHook postInstall - ''; + runHook postInstall + ''; - meta = { - inherit description; - # see https://web.archive.org/web/20240212172059/https://dn-works.com/wp-content/uploads/2020/UFAS-Docs/License.pdf - # quite draconian: non-commercial, no modifications, - # no redistribution, "a single instantiation and no - # network installation" - license = lib.licenses.unfree; - homepage = "https://web.archive.org/web/20240212172059/https://dn-works.com/ufas/"; + meta = { + inherit description; + # see https://web.archive.org/web/20240212172059/https://dn-works.com/wp-content/uploads/2020/UFAS-Docs/License.pdf + # quite draconian: non-commercial, no modifications, + # no redistribution, "a single instantiation and no + # network installation" + license = lib.licenses.unfree; + homepage = "https://web.archive.org/web/20240212172059/https://dn-works.com/ufas/"; + }; }; - }; in lib.mapAttrs mkpkg fonts diff --git a/pkgs/data/fonts/hackgen/default.nix b/pkgs/data/fonts/hackgen/default.nix index 14e9c22a571bf..56e3af5976d09 100644 --- a/pkgs/data/fonts/hackgen/default.nix +++ b/pkgs/data/fonts/hackgen/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hackgen-font"; diff --git a/pkgs/data/fonts/hackgen/nerdfont.nix b/pkgs/data/fonts/hackgen/nerdfont.nix index 7dfd028b25bf3..187c34a8b653c 100644 --- a/pkgs/data/fonts/hackgen/nerdfont.nix +++ b/pkgs/data/fonts/hackgen/nerdfont.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "hackgen-nf-font"; diff --git a/pkgs/data/fonts/inconsolata/default.nix b/pkgs/data/fonts/inconsolata/default.nix index 79431995a496c..a2493ed2d2271 100644 --- a/pkgs/data/fonts/inconsolata/default.nix +++ b/pkgs/data/fonts/inconsolata/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "inconsolata"; @@ -18,7 +22,11 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://www.levien.com/type/myfonts/inconsolata.html"; description = "Monospace font for both screen and print"; - maintainers = with maintainers; [ appsforartists mikoim raskin ]; + maintainers = with maintainers; [ + appsforartists + mikoim + raskin + ]; license = licenses.ofl; platforms = platforms.all; }; diff --git a/pkgs/data/fonts/inconsolata/lgc.nix b/pkgs/data/fonts/inconsolata/lgc.nix index 945fafcfcc52a..a32b0247cefdb 100644 --- a/pkgs/data/fonts/inconsolata/lgc.nix +++ b/pkgs/data/fonts/inconsolata/lgc.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchFromGitHub, fontforge}: +{ + lib, + stdenv, + fetchFromGitHub, + fontforge, +}: stdenv.mkDerivation rec { pname = "inconsolata-lgc"; @@ -47,6 +52,9 @@ stdenv.mkDerivation rec { # See `License.txt' for details. license = licenses.ofl; homepage = "https://github.com/MihailJP/Inconsolata-LGC"; - maintainers = with maintainers; [ avnik rht ]; + maintainers = with maintainers; [ + avnik + rht + ]; }; } diff --git a/pkgs/data/fonts/input-fonts/default.nix b/pkgs/data/fonts/input-fonts/default.nix index dc990b6e42db7..93d3297829677 100644 --- a/pkgs/data/fonts/input-fonts/default.nix +++ b/pkgs/data/fonts/input-fonts/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchzip -, python3 -, config -, acceptLicense ? config.input-fonts.acceptLicense or false -, parallel -, writeShellApplication +{ + lib, + stdenv, + fetchzip, + python3, + config, + acceptLicense ? config.input-fonts.acceptLicense or false, + parallel, + writeShellApplication, }: let @@ -47,28 +48,30 @@ stdenv.mkDerivation rec { stripRoot = false; # Reset the timestamp to release date for determinism. - postFetch = let - ttf-fixup = writeShellApplication { - name = "ttf-fixup"; - runtimeInputs = [ python3.pkgs.fonttools ]; - text = '' - if [ $# != 1 ]; then - echo "Usage: $0 : Resets timestamp on for determinism" >&2 - exit 1 - fi - - ttf_file="$1" - ttx_file=$(dirname "$ttf_file")/$(basename "$ttf_file" .ttf).ttx - ttx "$ttf_file" - rm "$ttf_file" - touch -m -t ${builtins.replaceStrings [ "-" ] [ "" ] releaseDate}0000 "$ttx_file" - ttx --recalc-timestamp "$ttx_file" - rm "$ttx_file" - ''; - }; - in '' - find $out/Input_Fonts -type f -name '*.ttf' -print0 | ${lib.getExe parallel} -0 -j $NIX_BUILD_CORES ${lib.getExe ttf-fixup} {} - ''; + postFetch = + let + ttf-fixup = writeShellApplication { + name = "ttf-fixup"; + runtimeInputs = [ python3.pkgs.fonttools ]; + text = '' + if [ $# != 1 ]; then + echo "Usage: $0 : Resets timestamp on for determinism" >&2 + exit 1 + fi + + ttf_file="$1" + ttx_file=$(dirname "$ttf_file")/$(basename "$ttf_file" .ttf).ttx + ttx "$ttf_file" + rm "$ttf_file" + touch -m -t ${builtins.replaceStrings [ "-" ] [ "" ] releaseDate}0000 "$ttx_file" + ttx --recalc-timestamp "$ttx_file" + rm "$ttx_file" + ''; + }; + in + '' + find $out/Input_Fonts -type f -name '*.ttf' -print0 | ${lib.getExe parallel} -0 -j $NIX_BUILD_CORES ${lib.getExe ttf-fixup} {} + ''; }; dontConfigure = true; diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix index c920a5c677d60..52974e657f9d9 100644 --- a/pkgs/data/fonts/iosevka/comfy.nix +++ b/pkgs/data/fonts/iosevka/comfy.nix @@ -1,22 +1,27 @@ -{ lib, iosevka, fetchFromGitHub, buildNpmPackage }: +{ + lib, + iosevka, + fetchFromGitHub, + buildNpmPackage, +}: let sets = [ # Family | Shapes | Spacing | Style | Ligatures | # ------------------------+--------+---------+------------+-----------| - "comfy" # | Sans | Compact | Monospaced | Yes | - "comfy-fixed" # | Sans | Compact | Monospaced | No | - "comfy-duo" # | Sans | Compact | Duospaced | Yes | + "comfy" # | Sans | Compact | Monospaced | Yes | + "comfy-fixed" # | Sans | Compact | Monospaced | No | + "comfy-duo" # | Sans | Compact | Duospaced | Yes | # ------------------------+--------+---------+------------+-----------| - "comfy-motion" # | Slab | Compact | Monospaced | Yes | - "comfy-motion-fixed" # | Slab | Compact | Monospaced | No | - "comfy-motion-duo" # | Slab | Compact | Duospaced | Yes | + "comfy-motion" # | Slab | Compact | Monospaced | Yes | + "comfy-motion-fixed" # | Slab | Compact | Monospaced | No | + "comfy-motion-duo" # | Slab | Compact | Duospaced | Yes | # ------------------------+--------+---------+------------+-----------| - "comfy-wide" # | Sans | Wide | Monospaced | Yes | - "comfy-wide-fixed" # | Sans | Wide | Monospaced | No | - "comfy-wide-duo" # | Sans | Wide | Duospaced | Yes | + "comfy-wide" # | Sans | Wide | Monospaced | Yes | + "comfy-wide-fixed" # | Sans | Wide | Monospaced | No | + "comfy-wide-duo" # | Sans | Wide | Duospaced | Yes | # ------------------------+--------+---------+------------+-----------| - "comfy-wide-motion" # | Slab | Wide | Monospaced | Yes | + "comfy-wide-motion" # | Slab | Wide | Monospaced | Yes | "comfy-wide-motion-fixed" # Slab | Wide | Monospaced | No | "comfy-wide-motion-duo" # | Slab | Wide | Duospaced | Yes | ]; @@ -28,41 +33,48 @@ let sha256 = "sha256-z9OlxeD88HuPJF88CsAy3vd1SFpJF1qh5c/0AIeMA7o="; }; privateBuildPlan = src.outPath + "/private-build-plans.toml"; - makeIosevkaFont = set: - let superBuildNpmPackage = buildNpmPackage; in + makeIosevkaFont = + set: + let + superBuildNpmPackage = buildNpmPackage; + in (iosevka.override { inherit set privateBuildPlan; - buildNpmPackage = args: superBuildNpmPackage - (args // { - pname = "iosevka-${set}"; - inherit version; + buildNpmPackage = + args: + superBuildNpmPackage ( + args + // { + pname = "iosevka-${set}"; + inherit version; - src = fetchFromGitHub { - owner = "be5invis"; - repo = "iosevka"; - rev = "v31.9.1"; - hash = "sha256-eAC4afBfHfiteYCzBNGFG2U/oCA7C5CdUlQVSO9Dg6E="; - }; + src = fetchFromGitHub { + owner = "be5invis"; + repo = "iosevka"; + rev = "v31.9.1"; + hash = "sha256-eAC4afBfHfiteYCzBNGFG2U/oCA7C5CdUlQVSO9Dg6E="; + }; - npmDepsHash = "sha256-xwGR21+CpZRFdZYz8SQrSf1tkp3fjGudoMmP5TGgEe8="; + npmDepsHash = "sha256-xwGR21+CpZRFdZYz8SQrSf1tkp3fjGudoMmP5TGgEe8="; - meta = with lib; { - inherit (src.meta) homepage; - description = '' - Customised build of the Iosevka typeface, with a consistent - rounded style and overrides for almost all individual glyphs - in both roman (upright) and italic (slanted) variants. - ''; - license = licenses.ofl; - platforms = iosevka.meta.platforms; - maintainers = [ maintainers.DamienCassou ]; - }; - }); + meta = with lib; { + inherit (src.meta) homepage; + description = '' + Customised build of the Iosevka typeface, with a consistent + rounded style and overrides for almost all individual glyphs + in both roman (upright) and italic (slanted) variants. + ''; + license = licenses.ofl; + platforms = iosevka.meta.platforms; + maintainers = [ maintainers.DamienCassou ]; + }; + } + ); }); in -builtins.listToAttrs (builtins.map - (set: { +builtins.listToAttrs ( + builtins.map (set: { name = set; value = makeIosevkaFont set; - }) - sets) + }) sets +) diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index ab55ea039d156..842b241626417 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, buildNpmPackage -, fetchFromGitHub -, cctools -, remarshal -, ttfautohint-nox +{ + stdenv, + lib, + buildNpmPackage, + fetchFromGitHub, + cctools, + remarshal, + ttfautohint-nox, # Custom font set options. # See https://typeof.net/Iosevka/customizer # Can be a raw TOML string, or a Nix attrset. @@ -34,7 +35,7 @@ # italic.i = "tailed"; # }; # } -, privateBuildPlan ? null + privateBuildPlan ? null, # Extra parameters. Can be used for ligature mapping. # It must be a raw TOML string. @@ -45,9 +46,9 @@ # featureTag = 'XHS0' # sequence = "+>" # ''; -, extraParameters ? null + extraParameters ? null, # Custom font set name. Required if any custom settings above. -, set ? null + set ? null, }: assert (privateBuildPlan != null) -> set != null; @@ -66,13 +67,15 @@ buildNpmPackage rec { npmDepsHash = "sha256-lBLz/BsSVh6szJxunoTj31oxB/3yqd1oWjSzTmQFGv8="; - nativeBuildInputs = [ - remarshal - ttfautohint-nox - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # libtool - cctools - ]; + nativeBuildInputs = + [ + remarshal + ttfautohint-nox + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # libtool + cctools + ]; buildPlan = if builtins.isAttrs privateBuildPlan then @@ -81,30 +84,34 @@ buildNpmPackage rec { privateBuildPlan; inherit extraParameters; - passAsFile = [ "extraParameters" ] ++ lib.optionals - ( - !(builtins.isString privateBuildPlan - && lib.hasPrefix builtins.storeDir privateBuildPlan) + passAsFile = + [ "extraParameters" ] + ++ lib.optionals ( + !(builtins.isString privateBuildPlan && lib.hasPrefix builtins.storeDir privateBuildPlan) ) [ "buildPlan" ]; configurePhase = '' - runHook preConfigure - ${lib.optionalString (builtins.isAttrs privateBuildPlan) '' - remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml - ''} - ${lib.optionalString (builtins.isString privateBuildPlan - && (!lib.hasPrefix builtins.storeDir privateBuildPlan)) '' - cp "$buildPlanPath" private-build-plans.toml - ''} - ${lib.optionalString (builtins.isString privateBuildPlan - && (lib.hasPrefix builtins.storeDir privateBuildPlan)) '' - cp "$buildPlan" private-build-plans.toml - ''} - ${lib.optionalString (extraParameters != null) '' - echo -e "\n" >> params/parameters.toml - cat "$extraParametersPath" >> params/parameters.toml - ''} - runHook postConfigure + runHook preConfigure + ${lib.optionalString (builtins.isAttrs privateBuildPlan) '' + remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml + ''} + ${lib.optionalString + (builtins.isString privateBuildPlan && (!lib.hasPrefix builtins.storeDir privateBuildPlan)) + '' + cp "$buildPlanPath" private-build-plans.toml + '' + } + ${lib.optionalString + (builtins.isString privateBuildPlan && (lib.hasPrefix builtins.storeDir privateBuildPlan)) + '' + cp "$buildPlan" private-build-plans.toml + '' + } + ${lib.optionalString (extraParameters != null) '' + echo -e "\n" >> params/parameters.toml + cat "$extraParametersPath" >> params/parameters.toml + ''} + runHook postConfigure ''; buildPhase = '' diff --git a/pkgs/data/fonts/joypixels/default.nix b/pkgs/data/fonts/joypixels/default.nix index 4cbf704bb86f4..a10092eecd571 100644 --- a/pkgs/data/fonts/joypixels/default.nix +++ b/pkgs/data/fonts/joypixels/default.nix @@ -1,23 +1,27 @@ -{ lib, stdenv -, fetchurl -, config -, acceptLicense ? config.joypixels.acceptLicense or false +{ + lib, + stdenv, + fetchurl, + config, + acceptLicense ? config.joypixels.acceptLicense or false, }: let inherit (stdenv.hostPlatform.parsed) kernel; - systemSpecific = { - darwin = rec { - systemTag = "nix-darwin"; - capitalized = systemTag; - fontFile = "JoyPixels-SBIX.ttf"; + systemSpecific = + { + darwin = rec { + systemTag = "nix-darwin"; + capitalized = systemTag; + fontFile = "JoyPixels-SBIX.ttf"; + }; + } + .${kernel.name} or rec { + systemTag = "nixos"; + capitalized = "NixOS"; + fontFile = "joypixels-android.ttf"; }; - }.${kernel.name} or rec { - systemTag = "nixos"; - capitalized = "NixOS"; - fontFile = "joypixels-android.ttf"; - }; joypixels-free-license = with systemSpecific; { spdxId = "LicenseRef-JoyPixels-Free"; @@ -65,13 +69,17 @@ stdenv.mkDerivation rec { pname = "joypixels"; version = "9.0.0"; - src = assert !acceptLicense -> throwLicense; - with systemSpecific; fetchurl { + src = + assert !acceptLicense -> throwLicense; + with systemSpecific; + fetchurl { name = fontFile; url = "https://cdn.joypixels.com/distributions/${systemTag}/font/${version}/${fontFile}"; - sha256 = { - darwin = "sha256-muUxXzz8BePyPsiZocYvM0ebM1H+u84ysN5YUvsMLiU="; - }.${kernel.name} or "sha256-pmGsVgYSK/c5OlhOXhNlRBs/XppMXmsHcZeSmIkuED4="; + sha256 = + { + darwin = "sha256-muUxXzz8BePyPsiZocYvM0ebM1H+u84ysN5YUvsMLiU="; + } + .${kernel.name} or "sha256-pmGsVgYSK/c5OlhOXhNlRBs/XppMXmsHcZeSmIkuED4="; }; dontUnpack = true; @@ -93,12 +101,14 @@ stdenv.mkDerivation rec { available upon request). ''; homepage = "https://www.joypixels.com/fonts"; - hydraPlatforms = []; # Just a binary file download, nothing to cache. + hydraPlatforms = [ ]; # Just a binary file download, nothing to cache. license = let free-license = joypixels-free-license; appendix = joypixels-license-appendix; - in with systemSpecific; { + in + with systemSpecific; + { spdxId = "LicenseRef-JoyPixels-Free-with-${capitalized}-Appendix"; fullName = "${free-license.fullName} with ${appendix.fullName}"; url = free-license.url; @@ -106,7 +116,10 @@ stdenv.mkDerivation rec { free = false; redistributable = true; }; - maintainers = with maintainers; [ toonn jtojnar ]; + maintainers = with maintainers; [ + toonn + jtojnar + ]; # Not quite accurate since it's a font, not a program, but clearly # indicates we're not actually building it from source. sourceProvenance = [ sourceTypes.binaryNativeCode ]; diff --git a/pkgs/data/fonts/liberation-fonts/default.nix b/pkgs/data/fonts/liberation-fonts/default.nix index 0160ebfdc4500..2e1e0e68cae37 100644 --- a/pkgs/data/fonts/liberation-fonts/default.nix +++ b/pkgs/data/fonts/liberation-fonts/default.nix @@ -1,63 +1,90 @@ -{ lib, stdenv, fetchFromGitHub, fontforge, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + fontforge, + python3, +}: let inherit (python3.pkgs) fonttools; - commonNativeBuildInputs = [ fontforge python3 ]; + commonNativeBuildInputs = [ + fontforge + python3 + ]; common = - { version, repo, sha256, docsToInstall, nativeBuildInputs, postPatch ? null }: - stdenv.mkDerivation rec { - pname = "liberation-fonts"; - inherit version; + { + version, + repo, + sha256, + docsToInstall, + nativeBuildInputs, + postPatch ? null, + }: + stdenv.mkDerivation rec { + pname = "liberation-fonts"; + inherit version; - src = fetchFromGitHub { - owner = "liberationfonts"; - rev = version; - inherit repo sha256; - }; + src = fetchFromGitHub { + owner = "liberationfonts"; + rev = version; + inherit repo sha256; + }; - inherit nativeBuildInputs postPatch; + inherit nativeBuildInputs postPatch; - installPhase = '' - find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; + installPhase = '' + find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; - for i in ${toString docsToInstall}; do - # not all docs exist in all versions - install -m444 -Dt $out/share/doc/${pname}-${version} $i || true - done - ''; + for i in ${toString docsToInstall}; do + # not all docs exist in all versions + install -m444 -Dt $out/share/doc/${pname}-${version} $i || true + done + ''; - meta = with lib; { - description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New"; - longDescription = '' - The Liberation Fonts are intended to be replacements for the three most - commonly used fonts on Microsoft systems: Times New Roman, Arial, and - Courier New. Since 2012 they are based on croscore fonts. + meta = with lib; { + description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New"; + longDescription = '' + The Liberation Fonts are intended to be replacements for the three most + commonly used fonts on Microsoft systems: Times New Roman, Arial, and + Courier New. Since 2012 they are based on croscore fonts. - There are three sets: Sans (a substitute for Arial, Albany, Helvetica, - Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times - New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono - (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and - Bitstream Vera Sans Mono). - ''; + There are three sets: Sans (a substitute for Arial, Albany, Helvetica, + Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times + New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono + (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and + Bitstream Vera Sans Mono). + ''; - license = licenses.ofl; - homepage = "https://github.com/liberationfonts"; - maintainers = with maintainers; [ raskin ]; - }; + license = licenses.ofl; + homepage = "https://github.com/liberationfonts"; + maintainers = with maintainers; [ raskin ]; }; + }; in { liberation_ttf_v1 = common { repo = "liberation-1.7-fonts"; version = "1.07.5"; - docsToInstall = [ "AUTHORS" "ChangeLog" "COPYING" "License.txt" "README" ]; + docsToInstall = [ + "AUTHORS" + "ChangeLog" + "COPYING" + "License.txt" + "README" + ]; nativeBuildInputs = commonNativeBuildInputs; sha256 = "1ffl10mf78hx598sy9qr5m6q2b8n3mpnsj73bwixnd4985gsz56v"; }; liberation_ttf_v2 = common { repo = "liberation-fonts"; version = "2.1.5"; - docsToInstall = [ "AUTHORS" "ChangeLog" "LICENSE" "README.md" ]; + docsToInstall = [ + "AUTHORS" + "ChangeLog" + "LICENSE" + "README.md" + ]; nativeBuildInputs = commonNativeBuildInputs ++ [ fonttools ]; postPatch = '' substituteInPlace scripts/setisFixedPitch-fonttools.py --replace \ diff --git a/pkgs/data/fonts/lohit-fonts/default.nix b/pkgs/data/fonts/lohit-fonts/default.nix index 53bccc4a40a7c..58c83ec56640b 100644 --- a/pkgs/data/fonts/lohit-fonts/default.nix +++ b/pkgs/data/fonts/lohit-fonts/default.nix @@ -1,63 +1,144 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: let fonts = { - assamese = { label = "Assamese"; version = "2.91.5"; hash = "sha256-Oo/hHHFg/Nu3eaZLMdBclY90lKU2AMFUclyXHxGaAgg="; }; - bengali = { label = "Bengali"; version = "2.91.5"; hash = "sha256-QGf94TdQS2c9+wSSDK4Mknw5ubCGTuvg0xoNaJdirBc="; }; - devanagari = { label = "Devanagari script"; version = "2.95.4"; hash = "sha256-6CbOCqOei5eO1zwNQZvB+fFDkqxvJnK82z+zmClhRAE="; }; - gujarati = { label = "Gujarati"; version = "2.92.4"; hash = "sha256-BpwibF0/HXDvXpDEek0fj73cxo2QC1hSfQ49Q/ZOZg8="; }; - gurmukhi = { label = "Gurmukhi script"; version = "2.91.2"; hash = "sha256-5iLFW2FEE5LBqoALi+3sUjwC0ADntsp259TP+bYwR9g="; }; # renamed from Punjabi - kannada = { label = "Kannada"; version = "2.5.4" ; hash = "sha256-7y2u0tBdNYCeY7Y+aqhxXP7Qv6GglJeVO1wvM9CzyIQ="; }; - malayalam = { label = "Malayalam"; version = "2.92.2"; hash = "sha256-SzM38vuAlP9OMC8kUuHQylmH8TUjCeg1y/Zcu2I2bjA="; }; - marathi = { label = "Marathi"; version = "2.94.2"; hash = "sha256-jK1Gwcr5gqzRNkbIxs4V/OYgUlUEpU0OYzKDTkiMlqM="; }; - nepali = { label = "Nepali"; version = "2.94.2"; hash = "sha256-OX1ekxeSbVGOrdbZ3Jvu4nii0zkgbuij10JIzqRcFx4="; }; - odia = { label = "Odia"; version = "2.91.2"; hash = "sha256-3/eczBGGZj4QPs7KY0as9zk5HaBfhgz6YgU0qmwpVcA="; }; # renamed from Oriya - tamil-classical = { label = "Classical Tamil"; version = "2.5.4" ; hash = "sha256-6SsddTCEUHMoF7X4+i7eXimmMuktfFAl8uz95RwM+yg="; }; - tamil = { label = "Tamil"; version = "2.91.3"; hash = "sha256-8lcNw87o9lhQsKwCqwBSfx7rhcrH/eEqac7EsA9/w/E="; }; - telugu = { label = "Telugu"; version = "2.5.5" ; hash = "sha256-cZh93NfEB+5S1JeEowtBMJ0nbZsFGpbEp2WAtzxrA8A="; }; + assamese = { + label = "Assamese"; + version = "2.91.5"; + hash = "sha256-Oo/hHHFg/Nu3eaZLMdBclY90lKU2AMFUclyXHxGaAgg="; + }; + bengali = { + label = "Bengali"; + version = "2.91.5"; + hash = "sha256-QGf94TdQS2c9+wSSDK4Mknw5ubCGTuvg0xoNaJdirBc="; + }; + devanagari = { + label = "Devanagari script"; + version = "2.95.4"; + hash = "sha256-6CbOCqOei5eO1zwNQZvB+fFDkqxvJnK82z+zmClhRAE="; + }; + gujarati = { + label = "Gujarati"; + version = "2.92.4"; + hash = "sha256-BpwibF0/HXDvXpDEek0fj73cxo2QC1hSfQ49Q/ZOZg8="; + }; + gurmukhi = { + label = "Gurmukhi script"; + version = "2.91.2"; + hash = "sha256-5iLFW2FEE5LBqoALi+3sUjwC0ADntsp259TP+bYwR9g="; + }; # renamed from Punjabi + kannada = { + label = "Kannada"; + version = "2.5.4"; + hash = "sha256-7y2u0tBdNYCeY7Y+aqhxXP7Qv6GglJeVO1wvM9CzyIQ="; + }; + malayalam = { + label = "Malayalam"; + version = "2.92.2"; + hash = "sha256-SzM38vuAlP9OMC8kUuHQylmH8TUjCeg1y/Zcu2I2bjA="; + }; + marathi = { + label = "Marathi"; + version = "2.94.2"; + hash = "sha256-jK1Gwcr5gqzRNkbIxs4V/OYgUlUEpU0OYzKDTkiMlqM="; + }; + nepali = { + label = "Nepali"; + version = "2.94.2"; + hash = "sha256-OX1ekxeSbVGOrdbZ3Jvu4nii0zkgbuij10JIzqRcFx4="; + }; + odia = { + label = "Odia"; + version = "2.91.2"; + hash = "sha256-3/eczBGGZj4QPs7KY0as9zk5HaBfhgz6YgU0qmwpVcA="; + }; # renamed from Oriya + tamil-classical = { + label = "Classical Tamil"; + version = "2.5.4"; + hash = "sha256-6SsddTCEUHMoF7X4+i7eXimmMuktfFAl8uz95RwM+yg="; + }; + tamil = { + label = "Tamil"; + version = "2.91.3"; + hash = "sha256-8lcNw87o9lhQsKwCqwBSfx7rhcrH/eEqac7EsA9/w/E="; + }; + telugu = { + label = "Telugu"; + version = "2.5.5"; + hash = "sha256-cZh93NfEB+5S1JeEowtBMJ0nbZsFGpbEp2WAtzxrA8A="; + }; }; gplfonts = { # GPL fonts removed from later releases - kashmiri = { label = "Kashmiri"; version = "2.4.3" ; hash = "sha256-6T2QaWnt3+e5nr4vbk44FouqmeWKzia1lSf8S/bvqCs="; }; - konkani = { label = "Konkani"; version = "2.4.3" ; hash = "sha256-hVy2rxrUTPDeNnugi3Bk7z0JqGmk4/yeUsAoI/4R7A8="; }; - maithili = { label = "Maithili"; version = "2.4.3" ; hash = "sha256-ikDcpJqdizAYRpgoebzqxOEeodJ6C3fO2rsqGzC0HCs="; }; - sindhi = { label = "Sindhi"; version = "2.4.3" ; hash = "sha256-wU3B9fh+8E1bFBMnakzmajY7eNKzed9+eYL5AOxyNQI="; }; + kashmiri = { + label = "Kashmiri"; + version = "2.4.3"; + hash = "sha256-6T2QaWnt3+e5nr4vbk44FouqmeWKzia1lSf8S/bvqCs="; + }; + konkani = { + label = "Konkani"; + version = "2.4.3"; + hash = "sha256-hVy2rxrUTPDeNnugi3Bk7z0JqGmk4/yeUsAoI/4R7A8="; + }; + maithili = { + label = "Maithili"; + version = "2.4.3"; + hash = "sha256-ikDcpJqdizAYRpgoebzqxOEeodJ6C3fO2rsqGzC0HCs="; + }; + sindhi = { + label = "Sindhi"; + version = "2.4.3"; + hash = "sha256-wU3B9fh+8E1bFBMnakzmajY7eNKzed9+eYL5AOxyNQI="; + }; }; - mkpkg = license: pname: {label, version, hash}: stdenvNoCC.mkDerivation { - inherit pname version; + mkpkg = + license: pname: + { + label, + version, + hash, + }: + stdenvNoCC.mkDerivation { + inherit pname version; - src = fetchurl { - url = "https://releases.pagure.org/lohit/lohit-${pname}-ttf-${version}.tar.gz"; - inherit hash; - }; + src = fetchurl { + url = "https://releases.pagure.org/lohit/lohit-${pname}-ttf-${version}.tar.gz"; + inherit hash; + }; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/fonts/truetype - cp -v *.ttf $out/share/fonts/truetype/ + mkdir -p $out/share/fonts/truetype + cp -v *.ttf $out/share/fonts/truetype/ - mkdir -p $out/etc/fonts/conf.d - cp -v *.conf $out/etc/fonts/conf.d + mkdir -p $out/etc/fonts/conf.d + cp -v *.conf $out/etc/fonts/conf.d - mkdir -p "$out/share/doc/lohit-${pname}" - cp -v ChangeLog* COPYRIGHT* "$out/share/doc/lohit-${pname}/" + mkdir -p "$out/share/doc/lohit-${pname}" + cp -v ChangeLog* COPYRIGHT* "$out/share/doc/lohit-${pname}/" - runHook postInstall - ''; + runHook postInstall + ''; - meta = { - inherit license; - description = "Free and open source fonts for Indian languages (" + label + ")"; - homepage = "https://pagure.io/lohit"; - maintainers = [ lib.maintainers.mathnerd314 lib.maintainers.ttuegel ]; - # Set a non-zero priority to allow easy overriding of the - # fontconfig configuration files. - priority = 5; + meta = { + inherit license; + description = "Free and open source fonts for Indian languages (" + label + ")"; + homepage = "https://pagure.io/lohit"; + maintainers = [ + lib.maintainers.mathnerd314 + lib.maintainers.ttuegel + ]; + # Set a non-zero priority to allow easy overriding of the + # fontconfig configuration files. + priority = 5; + }; }; - }; in # Technically, GPLv2 with usage exceptions -lib.mapAttrs (mkpkg lib.licenses.gpl2) gplfonts // -lib.mapAttrs (mkpkg lib.licenses.ofl) fonts +lib.mapAttrs (mkpkg lib.licenses.gpl2) gplfonts // lib.mapAttrs (mkpkg lib.licenses.ofl) fonts diff --git a/pkgs/data/fonts/maple-font/default.nix b/pkgs/data/fonts/maple-font/default.nix index a90a1e830171c..fbaeaa59a1a83 100644 --- a/pkgs/data/fonts/maple-font/default.nix +++ b/pkgs/data/fonts/maple-font/default.nix @@ -1,12 +1,18 @@ -{ lib -, stdenv -, unzip -, fetchurl +{ + lib, + stdenv, + unzip, + fetchurl, }: let - maple-font = { pname, sha256, desc }: - stdenv.mkDerivation rec{ + maple-font = + { + pname, + sha256, + desc, + }: + stdenv.mkDerivation rec { inherit pname; version = "6.4"; src = fetchurl { @@ -73,5 +79,3 @@ in desc = "ttf autohint"; }; } - - diff --git a/pkgs/data/fonts/mplus-outline-fonts/default.nix b/pkgs/data/fonts/mplus-outline-fonts/default.nix index 401295dda1b31..9c2404822a82e 100644 --- a/pkgs/data/fonts/mplus-outline-fonts/default.nix +++ b/pkgs/data/fonts/mplus-outline-fonts/default.nix @@ -1,6 +1,12 @@ -{ lib, stdenvNoCC, fetchurl, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchurl, + fetchFromGitHub, +}: -let pname = "mplus-outline-fonts"; +let + pname = "mplus-outline-fonts"; in { osdnRelease = stdenvNoCC.mkDerivation { diff --git a/pkgs/data/fonts/navilu/default.nix b/pkgs/data/fonts/navilu/default.nix index 8aaf36e60ed11..e796bebd3bf1d 100644 --- a/pkgs/data/fonts/navilu/default.nix +++ b/pkgs/data/fonts/navilu/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, fontforge }: +{ + lib, + stdenv, + fetchFromGitHub, + fontforge, +}: stdenv.mkDerivation rec { pname = "navilu-font"; @@ -19,10 +24,13 @@ stdenv.mkDerivation rec { installPhase = "install -Dm444 -t $out/share/fonts/truetype/ Navilu.ttf"; - meta = with lib; src.meta // { - description = "Kannada handwriting font"; - license = licenses.gpl3Plus; - platforms = platforms.all; - maintainers = with maintainers; [ ehmry ]; - }; + meta = + with lib; + src.meta + // { + description = "Kannada handwriting font"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ ehmry ]; + }; } diff --git a/pkgs/data/fonts/openmoji/default.nix b/pkgs/data/fonts/openmoji/default.nix index 3f19bbe91f338..7fee65331d13a 100644 --- a/pkgs/data/fonts/openmoji/default.nix +++ b/pkgs/data/fonts/openmoji/default.nix @@ -1,27 +1,44 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nanoemoji -, python3Packages -, woff2 -, xmlstarlet +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nanoemoji, + python3Packages, + woff2, + xmlstarlet, # available color formats: ["cbdt" "glyf_colr_0" "glyf_colr_1" "sbix" "picosvgz" "untouchedsvgz"] # available black formats: ["glyf"] -, fontFormats ? [ "glyf" "cbdt" "glyf_colr_0" "glyf_colr_1" ] + fontFormats ? [ + "glyf" + "cbdt" + "glyf_colr_0" + "glyf_colr_1" + ], # when at least one of the glyf_colr_0/1 formats is specified, whether to build maximum color fonts # "none" to not build any, "svg" to build colr+svg, "bitmap" to build cbdt+colr+svg fonts -, buildMaximumColorFonts ? "bitmap" + buildMaximumColorFonts ? "bitmap", }: let # all available methods methods = { black = [ "glyf" ]; - color = [ "cbdt" "glyf_colr_0" "glyf_colr_1" "sbix" "picosvgz" "untouchedsvgz" ]; + color = [ + "cbdt" + "glyf_colr_0" + "glyf_colr_1" + "sbix" + "picosvgz" + "untouchedsvgz" + ]; }; in assert lib.asserts.assertEachOneOf "fontFormats" fontFormats (methods.black ++ methods.color); -assert lib.asserts.assertOneOf "buildMaximumColorFonts" buildMaximumColorFonts [ "none" "bitmap" "svg" ]; +assert lib.asserts.assertOneOf "buildMaximumColorFonts" buildMaximumColorFonts [ + "none" + "bitmap" + "svg" +]; stdenvNoCC.mkDerivation rec { pname = "openmoji"; @@ -48,7 +65,9 @@ stdenvNoCC.mkDerivation rec { methods_black = builtins.filter (m: builtins.elem m fontFormats) methods.black; methods_color = builtins.filter (m: builtins.elem m fontFormats) methods.color; - saturations = lib.optional (methods_black != [ ]) "black" ++ lib.optional (methods_color != [ ]) "color"; + saturations = + lib.optional (methods_black != [ ]) "black" + ++ lib.optional (methods_color != [ ]) "color"; maximumColorVersions = lib.optionals (buildMaximumColorFonts != "none") ( lib.optional (builtins.elem "glyf_colr_0" fontFormats) "0" ++ lib.optional (builtins.elem "glyf_colr_1" fontFormats) "1" @@ -79,7 +98,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { license = licenses.cc-by-sa-40; - maintainers = with maintainers; [ _999eagle fgaz ]; + maintainers = with maintainers; [ + _999eagle + fgaz + ]; platforms = platforms.all; homepage = "https://openmoji.org/"; downloadPage = "https://github.com/hfg-gmuend/openmoji/releases"; diff --git a/pkgs/data/fonts/paratype-pt/mono.nix b/pkgs/data/fonts/paratype-pt/mono.nix index 91132642b2a7d..f42b680b174f8 100644 --- a/pkgs/data/fonts/paratype-pt/mono.nix +++ b/pkgs/data/fonts/paratype-pt/mono.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "paratype-pt-mono"; diff --git a/pkgs/data/fonts/paratype-pt/sans.nix b/pkgs/data/fonts/paratype-pt/sans.nix index 90d90a56d454d..ee5dbaa08811a 100644 --- a/pkgs/data/fonts/paratype-pt/sans.nix +++ b/pkgs/data/fonts/paratype-pt/sans.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "paratype-pt-sans"; diff --git a/pkgs/data/fonts/paratype-pt/serif.nix b/pkgs/data/fonts/paratype-pt/serif.nix index 4430d94cd7f15..cd825742c71c3 100644 --- a/pkgs/data/fonts/paratype-pt/serif.nix +++ b/pkgs/data/fonts/paratype-pt/serif.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: stdenvNoCC.mkDerivation rec { pname = "paratype-pt-serif"; diff --git a/pkgs/data/fonts/pretendard/default.nix b/pkgs/data/fonts/pretendard/default.nix index b01b298879cf3..b51de3cfd627e 100644 --- a/pkgs/data/fonts/pretendard/default.nix +++ b/pkgs/data/fonts/pretendard/default.nix @@ -1,9 +1,18 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let version = "1.3.9"; - mkPretendard = { pname, typeface, hash }: + mkPretendard = + { + pname, + typeface, + hash, + }: stdenvNoCC.mkDerivation { inherit pname version; diff --git a/pkgs/data/fonts/profont/default.nix b/pkgs/data/fonts/profont/default.nix index a617d61cc98fa..ed264c41f247b 100644 --- a/pkgs/data/fonts/profont/default.nix +++ b/pkgs/data/fonts/profont/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, xorg }: +{ + lib, + stdenv, + fetchzip, + xorg, +}: stdenv.mkDerivation { pname = "profont"; @@ -6,17 +11,21 @@ stdenv.mkDerivation { # Note: stripRoot doesn't work because the archive # contains the metadata directory `__MACOSX`. - src = fetchzip { - url = "https://tobiasjung.name/downloadfile.php?file=profont-x11.zip"; - sha256 = "12dbm87wvcpmn7nzgzwlk45cybp091diara8blqm6129ps27z6kb"; - stripRoot = false; - } + /profont-x11; - - srcOtb = fetchzip { - url = "https://tobiasjung.name/downloadfile.php?file=profont-otb.zip"; - sha256 = "18rfhfqrsj3510by0w1a7ak5as6r2cxh8xv02xc1y30mfa6g24x6"; - stripRoot = false; - } + /profont-otb; + src = + fetchzip { + url = "https://tobiasjung.name/downloadfile.php?file=profont-x11.zip"; + sha256 = "12dbm87wvcpmn7nzgzwlk45cybp091diara8blqm6129ps27z6kb"; + stripRoot = false; + } + + /profont-x11; + + srcOtb = + fetchzip { + url = "https://tobiasjung.name/downloadfile.php?file=profont-otb.zip"; + sha256 = "18rfhfqrsj3510by0w1a7ak5as6r2cxh8xv02xc1y30mfa6g24x6"; + stripRoot = false; + } + + /profont-otb; dontBuild = true; diff --git a/pkgs/data/fonts/scheherazade/default.nix b/pkgs/data/fonts/scheherazade/default.nix index 0ef80fb9ef99f..20381b9ad63dd 100644 --- a/pkgs/data/fonts/scheherazade/default.nix +++ b/pkgs/data/fonts/scheherazade/default.nix @@ -1,13 +1,20 @@ -{ lib, stdenvNoCC, fetchzip, version ? "4.300" }: +{ + lib, + stdenvNoCC, + fetchzip, + version ? "4.300", +}: let new = lib.versionAtLeast version "3.000"; - hash = { - "2.100" = "sha256-d2UyOOOnmE1afCwyIrM1bL3lQC7XRwh03hzetk/4V30="; - "3.300" = "sha256-LaaA6DWAE2dcwVVX4go9cJaiuwI6efYbPk82ym3W3IY="; - "4.000" = "sha256-FhgHlHCfojIl3Y11EDYhNTmLYwQ60OrwnA9nbZbZGJE="; - "4.300" = "sha256-djUZyBJaX6cFG4SYn+HIldNhRQ4Hg+Jt3uDfYzo9H5o="; - }."${version}"; + hash = + { + "2.100" = "sha256-d2UyOOOnmE1afCwyIrM1bL3lQC7XRwh03hzetk/4V30="; + "3.300" = "sha256-LaaA6DWAE2dcwVVX4go9cJaiuwI6efYbPk82ym3W3IY="; + "4.000" = "sha256-FhgHlHCfojIl3Y11EDYhNTmLYwQ60OrwnA9nbZbZGJE="; + "4.300" = "sha256-djUZyBJaX6cFG4SYn+HIldNhRQ4Hg+Jt3uDfYzo9H5o="; + } + ."${version}"; pname = "scheherazade${lib.optionalString new "-new"}"; in stdenvNoCC.mkDerivation rec { diff --git a/pkgs/data/fonts/source-han/default.nix b/pkgs/data/fonts/source-han/default.nix index 2f177160da991..a9bed1b2a12fb 100644 --- a/pkgs/data/fonts/source-han/default.nix +++ b/pkgs/data/fonts/source-han/default.nix @@ -1,22 +1,22 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip +{ + lib, + stdenvNoCC, + fetchurl, + unzip, }: let makeSuperOTC = - { family - , description - , rev - , hash - , zip ? "" - , prefix ? "" + { + family, + description, + rev, + hash, + zip ? "", + prefix ? "", }: let - Family = - lib.toUpper (lib.substring 0 1 family) + - lib.substring 1 (lib.stringLength family) family; + Family = lib.toUpper (lib.substring 0 1 family) + lib.substring 1 (lib.stringLength family) family; in stdenvNoCC.mkDerivation rec { pname = "source-han-${family}"; @@ -29,11 +29,13 @@ let nativeBuildInputs = lib.optionals (zip == ".zip") [ unzip ]; - unpackPhase = lib.optionalString (zip == "") '' - cp $src SourceHan${Family}.ttc${zip} - '' + lib.optionalString (zip == ".zip") '' - unzip $src - ''; + unpackPhase = + lib.optionalString (zip == "") '' + cp $src SourceHan${Family}.ttc${zip} + '' + + lib.optionalString (zip == ".zip") '' + unzip $src + ''; installPhase = '' runHook preInstall @@ -47,20 +49,22 @@ let description = "Open source Pan-CJK ${description} typeface"; homepage = "https://github.com/adobe-fonts/source-han-${family}"; license = lib.licenses.ofl; - maintainers = with lib.maintainers; [ taku0 emily ]; + maintainers = with lib.maintainers; [ + taku0 + emily + ]; }; }; makeVariable = - { family - , version - , hash - , format + { + family, + version, + hash, + format, }: let - Family = - lib.toUpper (lib.substring 0 1 family) + - lib.substring 1 (lib.stringLength family) family; + Family = lib.toUpper (lib.substring 0 1 family) + lib.substring 1 (lib.stringLength family) family; in fetchurl { pname = "source-han-${family}-vf-${format}"; @@ -74,7 +78,10 @@ let description = "Open source Pan-CJK ${Family} typeface"; homepage = "https://github.com/adobe-fonts/source-han-${family}"; license = lib.licenses.ofl; - maintainers = with lib.maintainers; [ taku0 emily ]; + maintainers = with lib.maintainers; [ + taku0 + emily + ]; }; }; in diff --git a/pkgs/data/fonts/tai-languages/default.nix b/pkgs/data/fonts/tai-languages/default.nix index 4e4c689b6ac6d..97acb49206107 100644 --- a/pkgs/data/fonts/tai-languages/default.nix +++ b/pkgs/data/fonts/tai-languages/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: { tai-ahom = stdenvNoCC.mkDerivation rec { diff --git a/pkgs/data/fonts/tex-gyre-math/default.nix b/pkgs/data/fonts/tex-gyre-math/default.nix index 95038d3f9cfe6..fbed169a7e039 100644 --- a/pkgs/data/fonts/tex-gyre-math/default.nix +++ b/pkgs/data/fonts/tex-gyre-math/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: let variants = { @@ -28,8 +32,17 @@ let }; }; - mkVariant = variant: {displayName, version, sha256, outputHash}: - let dotless_version = builtins.replaceStrings ["."] [""] version; in + mkVariant = + variant: + { + displayName, + version, + sha256, + outputHash, + }: + let + dotless_version = builtins.replaceStrings [ "." ] [ "" ] version; + in stdenv.mkDerivation rec { name = "tex-gyre-${variant}-math-${version}"; inherit version; @@ -64,4 +77,4 @@ let }; }; in - lib.mapAttrs mkVariant variants +lib.mapAttrs mkVariant variants diff --git a/pkgs/data/fonts/tex-gyre/default.nix b/pkgs/data/fonts/tex-gyre/default.nix index a93beaccb0714..a0b7b01cff6be 100644 --- a/pkgs/data/fonts/tex-gyre/default.nix +++ b/pkgs/data/fonts/tex-gyre/default.nix @@ -1,38 +1,51 @@ -{ lib, stdenv, fetchzip }: +{ + lib, + stdenv, + fetchzip, +}: let - mkVariant = variant: { version, abbreviation, sha256, outputHash }: stdenv.mkDerivation { - name = "tex-gyre-${variant}-${version}"; - inherit version; + mkVariant = + variant: + { + version, + abbreviation, + sha256, + outputHash, + }: + stdenv.mkDerivation { + name = "tex-gyre-${variant}-${version}"; + inherit version; - src = fetchzip { - url = "http://www.gust.org.pl/projects/e-foundry/tex-gyre/${variant}/${abbreviation}${version}otf.zip"; - stripRoot = false; - inherit sha256; - }; + src = fetchzip { + url = "http://www.gust.org.pl/projects/e-foundry/tex-gyre/${variant}/${abbreviation}${version}otf.zip"; + stripRoot = false; + inherit sha256; + }; - installPhase = '' - mkdir -p $out/share/fonts/opentype/ - # Pagella & Adventor are not flat archives - test -d "${abbreviation}${version}otf" && cd "${abbreviation}${version}otf" - cp -v *.otf $out/share/fonts/opentype/ - ''; + installPhase = '' + mkdir -p $out/share/fonts/opentype/ + # Pagella & Adventor are not flat archives + test -d "${abbreviation}${version}otf" && cd "${abbreviation}${version}otf" + cp -v *.otf $out/share/fonts/opentype/ + ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - inherit outputHash; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + inherit outputHash; - meta = with lib; { - homepage = "http://www.gust.org.pl/projects/e-foundry/tex-gyre"; - # "The TeX Gyre fonts are licensed under the GUST Font License (GFL), - # which is a free license, legally equivalent to the LaTeX Project Public - # License (LPPL), version 1.3c or later." - GUST website - license = licenses.lppl13c; - maintainers = [ ]; - platforms = platforms.all; + meta = with lib; { + homepage = "http://www.gust.org.pl/projects/e-foundry/tex-gyre"; + # "The TeX Gyre fonts are licensed under the GUST Font License (GFL), + # which is a free license, legally equivalent to the LaTeX Project Public + # License (LPPL), version 1.3c or later." - GUST website + license = licenses.lppl13c; + maintainers = [ ]; + platforms = platforms.all; + }; }; - }; -in lib.mapAttrs mkVariant { +in +lib.mapAttrs mkVariant { adventor = { version = "2_501"; sha256 = "0qjg3x0adfppyx3x33cm07ww9i9sl88xaq07m7wfip8rmyp567fn"; @@ -64,7 +77,7 @@ in lib.mapAttrs mkVariant { abbreviation = "qhv"; }; pagella = { - version ="2_501"; + version = "2_501"; sha256 = "1kccaxs3vk93la2pz4nv05hx1x3diyla49cz4l33zifdcp2zgg9d"; outputHash = "1nnjsgplimh29502pkd19rvfg93x31svxxmx4x7h51njrx1j8qa8"; abbreviation = "qpl"; diff --git a/pkgs/data/icons/beauty-line-icon-theme/default.nix b/pkgs/data/icons/beauty-line-icon-theme/default.nix index c46eddf5c356c..d1bea8dfd6bdf 100644 --- a/pkgs/data/icons/beauty-line-icon-theme/default.nix +++ b/pkgs/data/icons/beauty-line-icon-theme/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, breeze-icons -, gtk3 -, gnome-icon-theme -, hicolor-icon-theme -, mint-x-icons -, pantheon -, jdupes +{ + lib, + stdenvNoCC, + fetchFromGitHub, + breeze-icons, + gtk3, + gnome-icon-theme, + hicolor-icon-theme, + mint-x-icons, + pantheon, + jdupes, }: stdenvNoCC.mkDerivation rec { @@ -26,7 +27,10 @@ stdenvNoCC.mkDerivation rec { sourceRoot = "${src.name}/BeautyLine-V3"; - nativeBuildInputs = [ jdupes gtk3 ]; + nativeBuildInputs = [ + jdupes + gtk3 + ]; # ubuntu-mono is also required but missing in ubuntu-themes (please add it if it is packaged at some point) propagatedBuildInputs = [ diff --git a/pkgs/data/icons/bibata-cursors/translucent.nix b/pkgs/data/icons/bibata-cursors/translucent.nix index 7cae52a3e4de8..ac7e8c2ce6778 100644 --- a/pkgs/data/icons/bibata-cursors/translucent.nix +++ b/pkgs/data/icons/bibata-cursors/translucent.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: stdenvNoCC.mkDerivation rec { pname = "bibata-cursors-translucent"; diff --git a/pkgs/data/icons/flat-remix-icon-theme/default.nix b/pkgs/data/icons/flat-remix-icon-theme/default.nix index d8d36e6a8ee37..ad9d166a5a6b2 100644 --- a/pkgs/data/icons/flat-remix-icon-theme/default.nix +++ b/pkgs/data/icons/flat-remix-icon-theme/default.nix @@ -1,6 +1,15 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }: - -stdenvNoCC.mkDerivation rec { +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + breeze-icons, + pantheon, + gnome-icon-theme, + hicolor-icon-theme, +}: + +stdenvNoCC.mkDerivation rec { pname = "flat-remix-icon-theme"; version = "20240201"; diff --git a/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix b/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix index 972b5dfba5625..ad03691639dac 100644 --- a/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix +++ b/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk3, breeze-icons, gnome-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + breeze-icons, + gnome-icon-theme, + hicolor-icon-theme, +}: stdenvNoCC.mkDerivation rec { pname = "gruvbox-dark-icons-gtk"; @@ -13,7 +21,11 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ breeze-icons gnome-icon-theme hicolor-icon-theme ]; + propagatedBuildInputs = [ + breeze-icons + gnome-icon-theme + hicolor-icon-theme + ]; installPhase = '' mkdir -p $out/share/icons/oomox-gruvbox-dark diff --git a/pkgs/data/icons/la-capitaine-icon-theme/default.nix b/pkgs/data/icons/la-capitaine-icon-theme/default.nix index 01e2a3ea47812..6b215636bffbe 100644 --- a/pkgs/data/icons/la-capitaine-icon-theme/default.nix +++ b/pkgs/data/icons/la-capitaine-icon-theme/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, breeze-icons -, elementary-icon-theme -, gnome-icon-theme -, hicolor-icon-theme +{ + lib, + stdenvNoCC, + fetchFromGitHub, + breeze-icons, + elementary-icon-theme, + gnome-icon-theme, + hicolor-icon-theme, }: stdenvNoCC.mkDerivation rec { @@ -45,7 +46,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Icon theme inspired by macOS and Google's Material Design"; homepage = "https://github.com/keeferrourke/la-capitaine-icon-theme"; - license = with licenses; [ gpl3Plus mit ]; + license = with licenses; [ + gpl3Plus + mit + ]; platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/data/icons/maia-icon-theme/default.nix b/pkgs/data/icons/maia-icon-theme/default.nix index 32365b70184be..e0558ce70c38b 100644 --- a/pkgs/data/icons/maia-icon-theme/default.nix +++ b/pkgs/data/icons/maia-icon-theme/default.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitLab -, cmake -, extra-cmake-modules -, gtk3 -, plasma-framework -, kwindowsystem -, hicolor-icon-theme +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + extra-cmake-modules, + gtk3, + plasma-framework, + kwindowsystem, + hicolor-icon-theme, }: stdenv.mkDerivation { diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix index 88d2240408552..79333e3da20e0 100644 --- a/pkgs/data/icons/numix-icon-theme/default.nix +++ b/pkgs/data/icons/numix-icon-theme/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, adwaita-icon-theme -, breeze-icons -, gnome-icon-theme -, hicolor-icon-theme -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + adwaita-icon-theme, + breeze-icons, + gnome-icon-theme, + hicolor-icon-theme, + gitUpdater, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index fd1603e08d28a..22898dd77162b 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, breeze-icons -, elementary-icon-theme -, hicolor-icon-theme -, papirus-folders -, color ? null -, withElementary ? false -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + breeze-icons, + elementary-icon-theme, + hicolor-icon-theme, + papirus-folders, + color ? null, + withElementary ? false, + gitUpdater, }: stdenvNoCC.mkDerivation rec { @@ -27,12 +28,14 @@ stdenvNoCC.mkDerivation rec { papirus-folders ]; - propagatedBuildInputs = [ - breeze-icons - hicolor-icon-theme - ] ++ lib.optional withElementary [ - elementary-icon-theme - ]; + propagatedBuildInputs = + [ + breeze-icons + hicolor-icon-theme + ] + ++ lib.optional withElementary [ + elementary-icon-theme + ]; dontDropIconThemeCache = true; @@ -43,7 +46,9 @@ stdenvNoCC.mkDerivation rec { mv ${lib.optionalString withElementary "{,e}"}Papirus* $out/share/icons for theme in $out/share/icons/*; do - ${lib.optionalString (color != null) "${papirus-folders}/bin/papirus-folders -t $theme -o -C ${color}"} + ${lib.optionalString ( + color != null + ) "${papirus-folders}/bin/papirus-folders -t $theme -o -C ${color}"} gtk-update-icon-cache --force $theme done @@ -58,6 +63,9 @@ stdenvNoCC.mkDerivation rec { license = licenses.gpl3Only; # darwin gives hash mismatch in source, probably because of file names differing only in case platforms = platforms.linux; - maintainers = with maintainers; [ romildo moni ]; + maintainers = with maintainers; [ + romildo + moni + ]; }; } diff --git a/pkgs/data/icons/papirus-maia-icon-theme/default.nix b/pkgs/data/icons/papirus-maia-icon-theme/default.nix index 814d9ced017bc..3375f5668da87 100644 --- a/pkgs/data/icons/papirus-maia-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-maia-icon-theme/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gtk3, breeze-icons, gnome-icon-theme, papirus-icon-theme, hicolor-icon-theme }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gtk3, + breeze-icons, + gnome-icon-theme, + papirus-icon-theme, + hicolor-icon-theme, +}: stdenv.mkDerivation rec { pname = "papirus-maia-icon-theme"; diff --git a/pkgs/data/icons/tango-icon-theme/default.nix b/pkgs/data/icons/tango-icon-theme/default.nix index cd981421396f7..6d4da143a828d 100644 --- a/pkgs/data/icons/tango-icon-theme/default.nix +++ b/pkgs/data/icons/tango-icon-theme/default.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, intltool, pkg-config, iconnamingutils, imagemagick, librsvg -, gtk/*any version*/, gnome-icon-theme, hicolor-icon-theme +{ + lib, + stdenv, + fetchurl, + intltool, + pkg-config, + iconnamingutils, + imagemagick, + librsvg, + gtk, # any version + gnome-icon-theme, + hicolor-icon-theme, }: stdenv.mkDerivation rec { @@ -13,9 +23,19 @@ stdenv.mkDerivation rec { patches = [ ./rsvg-convert.patch ]; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ iconnamingutils imagemagick librsvg ]; - propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + iconnamingutils + imagemagick + librsvg + ]; + propagatedBuildInputs = [ + gnome-icon-theme + hicolor-icon-theme + ]; # still missing parent icon themes: cristalsvg dontDropIconThemeCache = true; diff --git a/pkgs/data/icons/tela-circle-icon-theme/default.nix b/pkgs/data/icons/tela-circle-icon-theme/default.nix index f9fa03f0aa5bc..db58831f06240 100644 --- a/pkgs/data/icons/tela-circle-icon-theme/default.nix +++ b/pkgs/data/icons/tela-circle-icon-theme/default.nix @@ -1,74 +1,94 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, adwaita-icon-theme -, breeze-icons -, gtk3 -, hicolor-icon-theme -, jdupes -, gitUpdater -, allColorVariants ? false -, circularFolder ? false -, colorVariants ? [] # default is standard +{ + lib, + stdenvNoCC, + fetchFromGitHub, + adwaita-icon-theme, + breeze-icons, + gtk3, + hicolor-icon-theme, + jdupes, + gitUpdater, + allColorVariants ? false, + circularFolder ? false, + colorVariants ? [ ], # default is standard }: let pname = "tela-circle-icon-theme"; in -lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brown" "green" "grey" "orange" "pink" "purple" "red" "yellow" "manjaro" "ubuntu" "dracula" "nord" ] colorVariants +lib.checkListOfEnum "${pname}: color variants" + [ + "standard" + "black" + "blue" + "brown" + "green" + "grey" + "orange" + "pink" + "purple" + "red" + "yellow" + "manjaro" + "ubuntu" + "dracula" + "nord" + ] + colorVariants -stdenvNoCC.mkDerivation rec { - inherit pname; - version = "2024-11-15"; + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "2024-11-15"; - src = fetchFromGitHub { - owner = "vinceliuice"; - repo = pname; - rev = version; - hash = "sha256-+eylAssnZK0H1ifBahnj+E+uCkukeGMXg00YT0Dg7dc="; - }; + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + hash = "sha256-+eylAssnZK0H1ifBahnj+E+uCkukeGMXg00YT0Dg7dc="; + }; - nativeBuildInputs = [ - gtk3 - jdupes - ]; + nativeBuildInputs = [ + gtk3 + jdupes + ]; - propagatedBuildInputs = [ - adwaita-icon-theme - breeze-icons - hicolor-icon-theme - ]; + propagatedBuildInputs = [ + adwaita-icon-theme + breeze-icons + hicolor-icon-theme + ]; - dontDropIconThemeCache = true; + dontDropIconThemeCache = true; - # These fixup steps are slow and unnecessary for this package. - # Package may install almost 400 000 small files. - dontPatchELF = true; - dontRewriteSymlinks = true; + # These fixup steps are slow and unnecessary for this package. + # Package may install almost 400 000 small files. + dontPatchELF = true; + dontRewriteSymlinks = true; - postPatch = '' - patchShebangs install.sh - ''; + postPatch = '' + patchShebangs install.sh + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - ./install.sh -d $out/share/icons \ - ${lib.optionalString circularFolder "-c"} \ - ${if allColorVariants then "-a" else builtins.toString colorVariants} + ./install.sh -d $out/share/icons \ + ${lib.optionalString circularFolder "-c"} \ + ${if allColorVariants then "-a" else builtins.toString colorVariants} - jdupes --quiet --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share - runHook postInstall - ''; + runHook postInstall + ''; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { }; - meta = with lib; { - description = "Flat and colorful personality icon theme"; - homepage = "https://github.com/vinceliuice/Tela-circle-icon-theme"; - license = licenses.gpl3Only; - platforms = platforms.linux; # darwin use case-insensitive filesystems that cause hash mismatches - maintainers = with maintainers; [ romildo ]; - }; -} + meta = with lib; { + description = "Flat and colorful personality icon theme"; + homepage = "https://github.com/vinceliuice/Tela-circle-icon-theme"; + license = licenses.gpl3Only; + platforms = platforms.linux; # darwin use case-insensitive filesystems that cause hash mismatches + maintainers = with maintainers; [ romildo ]; + }; + } diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix index 2f0c03220daf1..44858afeb9e34 100644 --- a/pkgs/data/icons/zafiro-icons/default.nix +++ b/pkgs/data/icons/zafiro-icons/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gtk3 -, breeze-icons -, gnome-icon-theme -, numix-icon-theme -, numix-icon-theme-circle -, hicolor-icon-theme -, jdupes -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk3, + breeze-icons, + gnome-icon-theme, + numix-icon-theme, + numix-icon-theme-circle, + hicolor-icon-theme, + jdupes, + gitUpdater, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix index 2ae890496affc..d3f4c4f2eb606 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -1,24 +1,27 @@ -{ lib -, stdenv -, writeText -, fetchFromGitHub -, buildcatrust -, blacklist ? [] -, extraCertificateFiles ? [] -, extraCertificateStrings ? [] - -# Used by update.sh -, nssOverride ? null - -# Used for tests only -, runCommand -, cacert -, openssl +{ + lib, + stdenv, + writeText, + fetchFromGitHub, + buildcatrust, + blacklist ? [ ], + extraCertificateFiles ? [ ], + extraCertificateStrings ? [ ], + + # Used by update.sh + nssOverride ? null, + + # Used for tests only + runCommand, + cacert, + openssl, }: let blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist); - extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); + extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" ( + lib.concatStringsSep "\n\n" extraCertificateStrings + ); srcVersion = "3.107"; version = if nssOverride != null then nssOverride.version else srcVersion; @@ -26,19 +29,26 @@ let homepage = "https://curl.haxx.se/docs/caextract.html"; description = "Bundle of X.509 certificates of public Certificate Authorities (CA)"; platforms = platforms.all; - maintainers = with maintainers; [ fpletz lukegb ]; + maintainers = with maintainers; [ + fpletz + lukegb + ]; license = licenses.mpl20; }; certdata = stdenv.mkDerivation { pname = "nss-cacert-certdata"; inherit version; - src = if nssOverride != null then nssOverride.src else fetchFromGitHub { - owner = "nss-dev"; - repo = "nss"; - rev = "NSS_${lib.replaceStrings ["."] ["_"] version}_RTM"; - hash = "sha256-c6ks/pBvZHipNkmBy784s96zMYP+D9q3VlVrPVSohLw="; - }; + src = + if nssOverride != null then + nssOverride.src + else + fetchFromGitHub { + owner = "nss-dev"; + repo = "nss"; + rev = "NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM"; + hash = "sha256-c6ks/pBvZHipNkmBy784s96zMYP+D9q3VlVrPVSohLw="; + }; dontBuild = true; @@ -60,7 +70,11 @@ stdenv.mkDerivation rec { src = certdata; - outputs = [ "out" "unbundled" "p11kit" ]; + outputs = [ + "out" + "unbundled" + "p11kit" + ]; nativeBuildInputs = [ buildcatrust ]; @@ -68,7 +82,9 @@ stdenv.mkDerivation rec { mkdir unbundled buildcatrust \ --certdata_input certdata.txt \ - --ca_bundle_input "${extraCertificatesBundle}" ${lib.escapeShellArgs (map (arg: "${arg}") extraCertificateFiles)} \ + --ca_bundle_input "${extraCertificatesBundle}" ${ + lib.escapeShellArgs (map (arg: "${arg}") extraCertificateFiles) + } \ --blocklist "${blocklist}" \ --ca_bundle_output ca-bundle.crt \ --ca_standard_bundle_output ca-no-trust-rules-bundle.crt \ @@ -93,120 +109,144 @@ stdenv.mkDerivation rec { passthru = { updateScript = ./update.sh; - tests = let - isTrusted = '' - isTrusted() { - # isTrusted - for f in $1/etc/ssl/certs/*.crt; do - if ! [[ -s "$f" ]]; then continue; fi - fingerprint="$(openssl x509 -in "$f" -noout -fingerprint -sha256 | cut -f2 -d=)" - if [[ "x$fingerprint" == "x$3" ]]; then - # If the certificate is treated as rejected for TLS Web Server, then we consider it untrusted. - if openssl x509 -in "$f" -noout -text | grep -q '^Rejected Uses:'; then - if openssl x509 -in "$f" -noout -text | grep -A1 '^Rejected Uses:' | grep -q 'TLS Web Server'; then - return 1 + tests = + let + isTrusted = '' + isTrusted() { + # isTrusted + for f in $1/etc/ssl/certs/*.crt; do + if ! [[ -s "$f" ]]; then continue; fi + fingerprint="$(openssl x509 -in "$f" -noout -fingerprint -sha256 | cut -f2 -d=)" + if [[ "x$fingerprint" == "x$3" ]]; then + # If the certificate is treated as rejected for TLS Web Server, then we consider it untrusted. + if openssl x509 -in "$f" -noout -text | grep -q '^Rejected Uses:'; then + if openssl x509 -in "$f" -noout -text | grep -A1 '^Rejected Uses:' | grep -q 'TLS Web Server'; then + return 1 + fi fi + return 0 fi - return 0 - fi - done - return 1 - } - ''; - in { - # Test that building this derivation with a blacklist works, and that UTF-8 is supported. - blacklist-utf8 = let - blacklistCAToFingerprint = { - # "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint. - "CFCA EV ROOT" = "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD"; - "NetLock Arany (Class Gold) Főtanúsítvány" = "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98"; - }; - mapBlacklist = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f blacklistCAToFingerprint); - in runCommand "verify-the-cacert-filter-output" { - cacert = cacert.unbundled; - cacertWithExcludes = (cacert.override { - blacklist = builtins.attrNames blacklistCAToFingerprint; - }).unbundled; - - nativeBuildInputs = [ openssl ]; - } '' - ${isTrusted} - - # Ensure that each certificate is in the main "cacert". - ${mapBlacklist (caName: caFingerprint: '' - isTrusted "$cacert" "${caName}" "${caFingerprint}" || ({ - echo "CA fingerprint ${caFingerprint} (${caName}) is missing from the CA bundle. Consider picking a different CA for the blacklist test." >&2 - exit 1 - }) - '')} - - # Ensure that each certificate is NOT in the "cacertWithExcludes". - ${mapBlacklist (caName: caFingerprint: '' - isTrusted "$cacertWithExcludes" "${caName}" "${caFingerprint}" && ({ - echo "CA fingerprint ${caFingerprint} (${caName}) is present in the cacertWithExcludes bundle." >&2 - exit 1 - }) - '')} - - touch "$out" - ''; - - # Test that we can add additional certificates to the store, and have them be trusted. - extra-certificates = let - extraCertificateStr = '' - -----BEGIN CERTIFICATE----- - MIIB5DCCAWqgAwIBAgIUItvsAYEIdYDkOIo5sdDYMcUaNuIwCgYIKoZIzj0EAwIw - KTEnMCUGA1UEAwweTml4T1MgY2FjZXJ0IGV4dHJhIGNlcnRpZmljYXRlMB4XDTIx - MDYxMjE5MDQzMFoXDTIyMDYxMjE5MDQzMFowKTEnMCUGA1UEAwweTml4T1MgY2Fj - ZXJ0IGV4dHJhIGNlcnRpZmljYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuP8y - lAm6ZyQt9v/P6gTlV/a9R+D61WjucW04kaegOhg8csiluimYodiSv0Pbgymu+Zxm - A3Bz9QGmytaYTiJ16083rJkwwIhqoYl7kWsLzreSTaLz87KH+rdeol59+H0Oo1Mw - UTAdBgNVHQ4EFgQUCxuHfvqI4YVU5M+A0+aKvd1LrdswHwYDVR0jBBgwFoAUCxuH - fvqI4YVU5M+A0+aKvd1LrdswDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNo - ADBlAjEArgxgjdNmRlSEuai0dzlktmBEDZKy2Iiul+ttSoce9ohfEVYESwO602HW - keVvI56vAjBCro3dc3m2TuktiKO6lQV56PUEyxko4H/sR5pnHlduCGRDlFzQKXf/ - pMMmtj7cVb8= - -----END CERTIFICATE----- + done + return 1 + } ''; - extraCertificateFile = ./test-cert-file.crt; - extraCertificatesToFingerprint = { - # String above - "NixOS cacert extra certificate string" = "A3:20:D0:84:96:97:25:FF:98:B8:A9:6D:A3:7C:89:95:6E:7A:77:21:92:F3:33:E9:31:AF:5E:03:CE:A9:E5:EE"; - - # File - "NixOS cacert extra certificate file" = "88:B8:BE:A7:57:AC:F1:FE:D6:98:8B:50:E0:BD:0A:AE:88:C7:DF:70:26:E1:67:5E:F5:F6:91:27:FF:02:D4:A5"; - }; - mapExtra = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f extraCertificatesToFingerprint); - in runCommand "verify-the-cacert-extra-output" { - cacert = cacert.unbundled; - cacertWithExtras = (cacert.override { - extraCertificateStrings = [ extraCertificateStr ]; - extraCertificateFiles = [ extraCertificateFile ]; - }).unbundled; - - nativeBuildInputs = [ openssl ]; - } '' - ${isTrusted} - - # Ensure that the extra certificate is not in the main "cacert". - ${mapExtra (extraName: extraFingerprint: '' - isTrusted "$cacert" "${extraName}" "${extraFingerprint}" && ({ - echo "'extra' CA fingerprint ${extraFingerprint} (${extraName}) is present in the main CA bundle." >&2 - exit 1 - }) - '')} - - # Ensure that the extra certificates ARE in the "cacertWithExtras". - ${mapExtra (extraName: extraFingerprint: '' - isTrusted "$cacertWithExtras" "${extraName}" "${extraFingerprint}" || ({ - echo "CA fingerprint ${extraFingerprint} (${extraName}) is not present in the cacertWithExtras bundle." >&2 - exit 1 - }) - '')} - - touch "$out" - ''; - }; + in + { + # Test that building this derivation with a blacklist works, and that UTF-8 is supported. + blacklist-utf8 = + let + blacklistCAToFingerprint = { + # "blacklist" uses the CA name from the NSS bundle, but we check for presence using the SHA256 fingerprint. + "CFCA EV ROOT" = + "5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD"; + "NetLock Arany (Class Gold) Főtanúsítvány" = + "6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98"; + }; + mapBlacklist = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f blacklistCAToFingerprint); + in + runCommand "verify-the-cacert-filter-output" + { + cacert = cacert.unbundled; + cacertWithExcludes = + (cacert.override { + blacklist = builtins.attrNames blacklistCAToFingerprint; + }).unbundled; + + nativeBuildInputs = [ openssl ]; + } + '' + ${isTrusted} + + # Ensure that each certificate is in the main "cacert". + ${mapBlacklist ( + caName: caFingerprint: '' + isTrusted "$cacert" "${caName}" "${caFingerprint}" || ({ + echo "CA fingerprint ${caFingerprint} (${caName}) is missing from the CA bundle. Consider picking a different CA for the blacklist test." >&2 + exit 1 + }) + '' + )} + + # Ensure that each certificate is NOT in the "cacertWithExcludes". + ${mapBlacklist ( + caName: caFingerprint: '' + isTrusted "$cacertWithExcludes" "${caName}" "${caFingerprint}" && ({ + echo "CA fingerprint ${caFingerprint} (${caName}) is present in the cacertWithExcludes bundle." >&2 + exit 1 + }) + '' + )} + + touch "$out" + ''; + + # Test that we can add additional certificates to the store, and have them be trusted. + extra-certificates = + let + extraCertificateStr = '' + -----BEGIN CERTIFICATE----- + MIIB5DCCAWqgAwIBAgIUItvsAYEIdYDkOIo5sdDYMcUaNuIwCgYIKoZIzj0EAwIw + KTEnMCUGA1UEAwweTml4T1MgY2FjZXJ0IGV4dHJhIGNlcnRpZmljYXRlMB4XDTIx + MDYxMjE5MDQzMFoXDTIyMDYxMjE5MDQzMFowKTEnMCUGA1UEAwweTml4T1MgY2Fj + ZXJ0IGV4dHJhIGNlcnRpZmljYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuP8y + lAm6ZyQt9v/P6gTlV/a9R+D61WjucW04kaegOhg8csiluimYodiSv0Pbgymu+Zxm + A3Bz9QGmytaYTiJ16083rJkwwIhqoYl7kWsLzreSTaLz87KH+rdeol59+H0Oo1Mw + UTAdBgNVHQ4EFgQUCxuHfvqI4YVU5M+A0+aKvd1LrdswHwYDVR0jBBgwFoAUCxuH + fvqI4YVU5M+A0+aKvd1LrdswDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNo + ADBlAjEArgxgjdNmRlSEuai0dzlktmBEDZKy2Iiul+ttSoce9ohfEVYESwO602HW + keVvI56vAjBCro3dc3m2TuktiKO6lQV56PUEyxko4H/sR5pnHlduCGRDlFzQKXf/ + pMMmtj7cVb8= + -----END CERTIFICATE----- + ''; + extraCertificateFile = ./test-cert-file.crt; + extraCertificatesToFingerprint = { + # String above + "NixOS cacert extra certificate string" = + "A3:20:D0:84:96:97:25:FF:98:B8:A9:6D:A3:7C:89:95:6E:7A:77:21:92:F3:33:E9:31:AF:5E:03:CE:A9:E5:EE"; + + # File + "NixOS cacert extra certificate file" = + "88:B8:BE:A7:57:AC:F1:FE:D6:98:8B:50:E0:BD:0A:AE:88:C7:DF:70:26:E1:67:5E:F5:F6:91:27:FF:02:D4:A5"; + }; + mapExtra = f: lib.concatStringsSep "\n" (lib.mapAttrsToList f extraCertificatesToFingerprint); + in + runCommand "verify-the-cacert-extra-output" + { + cacert = cacert.unbundled; + cacertWithExtras = + (cacert.override { + extraCertificateStrings = [ extraCertificateStr ]; + extraCertificateFiles = [ extraCertificateFile ]; + }).unbundled; + + nativeBuildInputs = [ openssl ]; + } + '' + ${isTrusted} + + # Ensure that the extra certificate is not in the main "cacert". + ${mapExtra ( + extraName: extraFingerprint: '' + isTrusted "$cacert" "${extraName}" "${extraFingerprint}" && ({ + echo "'extra' CA fingerprint ${extraFingerprint} (${extraName}) is present in the main CA bundle." >&2 + exit 1 + }) + '' + )} + + # Ensure that the extra certificates ARE in the "cacertWithExtras". + ${mapExtra ( + extraName: extraFingerprint: '' + isTrusted "$cacertWithExtras" "${extraName}" "${extraFingerprint}" || ({ + echo "CA fingerprint ${extraFingerprint} (${extraName}) is not present in the cacertWithExtras bundle." >&2 + exit 1 + }) + '' + )} + + touch "$out" + ''; + }; }; inherit meta; diff --git a/pkgs/data/misc/fedora-backgrounds/default.nix b/pkgs/data/misc/fedora-backgrounds/default.nix index 59bb95b00978c..ca569e3eb16b4 100644 --- a/pkgs/data/misc/fedora-backgrounds/default.nix +++ b/pkgs/data/misc/fedora-backgrounds/default.nix @@ -1,8 +1,13 @@ -{ callPackage, lib, fetchurl }: +{ + callPackage, + lib, + fetchurl, +}: let fedoraBackground = callPackage ./generic.nix { }; -in { +in +{ f32 = fedoraBackground rec { version = "32.2.2"; src = fetchurl { diff --git a/pkgs/data/misc/fedora-backgrounds/generic.nix b/pkgs/data/misc/fedora-backgrounds/generic.nix index 716fe1d060171..dd75ea9e88b10 100644 --- a/pkgs/data/misc/fedora-backgrounds/generic.nix +++ b/pkgs/data/misc/fedora-backgrounds/generic.nix @@ -1,11 +1,13 @@ -{ lib -, stdenvNoCC -, coreutils +{ + lib, + stdenvNoCC, + coreutils, }: -{ version -, src -, patches ? [ ] +{ + version, + src, + patches ? [ ], }: stdenvNoCC.mkDerivation { diff --git a/pkgs/data/misc/nixos-artwork/grub2-theme.nix b/pkgs/data/misc/nixos-artwork/grub2-theme.nix index 0a5717ba3b274..57f53c5d59803 100644 --- a/pkgs/data/misc/nixos-artwork/grub2-theme.nix +++ b/pkgs/data/misc/nixos-artwork/grub2-theme.nix @@ -1,4 +1,4 @@ -{fetchzip}: +{ fetchzip }: fetchzip { url = "https://github.com/NixOS/nixos-artwork/releases/download/bootloader-18.09-pre/grub2-installer.tar.bz2"; sha256 = "0rhh061m1hpgadm7587inw3fxfacnd53xjc53w3vzghlck56djq5"; diff --git a/pkgs/data/misc/nixos-artwork/icons.nix b/pkgs/data/misc/nixos-artwork/icons.nix index 89af4e552e1cf..8a9ed3d40a847 100644 --- a/pkgs/data/misc/nixos-artwork/icons.nix +++ b/pkgs/data/misc/nixos-artwork/icons.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, fetchFromGitHub -, imagemagick +{ + stdenv, + lib, + fetchFromGitHub, + imagemagick, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix index 4cc128c15f155..117a58c817696 100644 --- a/pkgs/data/misc/nixos-artwork/wallpapers.nix +++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix @@ -1,70 +1,76 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let - mkNixBackground = { - name, - src, - description, - license ? lib.licenses.free - }: - - let - pkg = stdenv.mkDerivation { - inherit name src; - - dontUnpack = true; - - installPhase = '' - runHook preInstall - - # GNOME - mkdir -p $out/share/backgrounds/nixos - ln -s $src $out/share/backgrounds/nixos/${src.name} - - mkdir -p $out/share/gnome-background-properties/ - cat < $out/share/gnome-background-properties/${name}.xml - - - - - ${name} - ${src} - zoom - solid - #ffffff - #000000 - - -EOF - - # TODO: is this path still needed? - mkdir -p $out/share/artwork/gnome - ln -s $src $out/share/artwork/gnome/${src.name} - - # KDE - mkdir -p $out/share/wallpapers/${name}/contents/images - ln -s $src $out/share/wallpapers/${name}/contents/images/${src.name} - cat >>$out/share/wallpapers/${name}/metadata.desktop <<_EOF -[Desktop Entry] -Name=${name} -X-KDE-PluginInfo-Name=${name} -_EOF - - runHook postInstall - ''; - - passthru = { - gnomeFilePath = "${pkg}/share/backgrounds/nixos/${src.name}"; - kdeFilePath = "${pkg}/share/wallpapers/${name}/contents/images/${src.name}"; + mkNixBackground = + { + name, + src, + description, + license ? lib.licenses.free, + }: + + let + pkg = stdenv.mkDerivation { + inherit name src; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + # GNOME + mkdir -p $out/share/backgrounds/nixos + ln -s $src $out/share/backgrounds/nixos/${src.name} + + mkdir -p $out/share/gnome-background-properties/ + cat < $out/share/gnome-background-properties/${name}.xml + + + + + ${name} + ${src} + zoom + solid + #ffffff + #000000 + + + EOF + + # TODO: is this path still needed? + mkdir -p $out/share/artwork/gnome + ln -s $src $out/share/artwork/gnome/${src.name} + + # KDE + mkdir -p $out/share/wallpapers/${name}/contents/images + ln -s $src $out/share/wallpapers/${name}/contents/images/${src.name} + cat >>$out/share/wallpapers/${name}/metadata.desktop <<_EOF + [Desktop Entry] + Name=${name} + X-KDE-PluginInfo-Name=${name} + _EOF + + runHook postInstall + ''; + + passthru = { + gnomeFilePath = "${pkg}/share/backgrounds/nixos/${src.name}"; + kdeFilePath = "${pkg}/share/wallpapers/${name}/contents/images/${src.name}"; + }; + + meta = with lib; { + inherit description license; + homepage = "https://github.com/NixOS/nixos-artwork"; + platforms = platforms.all; + }; }; - - meta = with lib; { - inherit description license; - homepage = "https://github.com/NixOS/nixos-artwork"; - platforms = platforms.all; - }; - }; -in pkg; + in + pkg; in diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix index 8798d11fb0cd8..8d839427a2fe7 100644 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix @@ -1,82 +1,102 @@ -{ lib, stdenv, substituteAll, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash, withManOptDedupPatch ? false }: +{ + lib, + stdenv, + substituteAll, + fetchurl, + fetchpatch, + findXMLCatalogs, + writeScriptBin, + ruby, + bash, + withManOptDedupPatch ? false, +}: let - common = { pname, sha256, suffix ? "" }: let - legacySuffix = lib.optionalString (suffix != "-nons") "-ns"; - self = stdenv.mkDerivation rec { - inherit pname; - version = "1.79.2"; - - src = fetchurl { - url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2"; - inherit sha256; - }; + common = + { + pname, + sha256, + suffix ? "", + }: + let + legacySuffix = lib.optionalString (suffix != "-nons") "-ns"; + self = stdenv.mkDerivation rec { + inherit pname; + version = "1.79.2"; + + src = fetchurl { + url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2"; + inherit sha256; + }; + + patches = + [ + # Prevent a potential stack overflow + # https://github.com/docbook/xslt10-stylesheets/pull/37 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch"; + sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3"; + stripLen = "1"; + }) + + # Fix reproducibility by respecting generate.consistent.ids in indexes + # https://github.com/docbook/xslt10-stylesheets/pull/88 + # https://sourceforge.net/p/docbook/bugs/1385/ + (fetchpatch { + url = "https://github.com/docbook/xslt10-stylesheets/commit/07631601e6602bc49b8eac3aab9d2b35968d3e7a.patch"; + sha256 = "0igfhcr6hzcydqsnjsd181h5yl3drjnrwdmxcybr236m8255vkq3"; + stripLen = "1"; + }) + + # Add legacy sourceforge.net URIs to the catalog + (substituteAll { + src = ./catalog-legacy-uris.patch; + inherit legacySuffix suffix version; + }) + ] + ++ lib.optionals withManOptDedupPatch [ + # Fixes https://github.com/NixOS/nixpkgs/issues/166304 + # https://github.com/docbook/xslt10-stylesheets/pull/241 + ./fix-man-options-duplication.patch + ]; + + propagatedBuildInputs = [ findXMLCatalogs ]; + + dontBuild = true; + + installPhase = '' + dst=$out/share/xml/${pname} + mkdir -p $dst + rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp + mv * $dst/ + + # Backwards compatibility. Will remove eventually. + mkdir -p $out/xml/xsl + ln -s $dst $out/xml/xsl/docbook + + # More backwards compatibility + ln -s $dst $out/share/xml/docbook-xsl${legacySuffix} + ''; - patches = [ - # Prevent a potential stack overflow - # https://github.com/docbook/xslt10-stylesheets/pull/37 - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch"; - sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3"; - stripLen = "1"; - }) - - # Fix reproducibility by respecting generate.consistent.ids in indexes - # https://github.com/docbook/xslt10-stylesheets/pull/88 - # https://sourceforge.net/p/docbook/bugs/1385/ - (fetchpatch { - url = "https://github.com/docbook/xslt10-stylesheets/commit/07631601e6602bc49b8eac3aab9d2b35968d3e7a.patch"; - sha256 = "0igfhcr6hzcydqsnjsd181h5yl3drjnrwdmxcybr236m8255vkq3"; - stripLen = "1"; - }) - - # Add legacy sourceforge.net URIs to the catalog - (substituteAll { - src = ./catalog-legacy-uris.patch; - inherit legacySuffix suffix version; - }) - ] ++ lib.optionals withManOptDedupPatch [ - # Fixes https://github.com/NixOS/nixpkgs/issues/166304 - # https://github.com/docbook/xslt10-stylesheets/pull/241 - ./fix-man-options-duplication.patch - ]; - - propagatedBuildInputs = [ findXMLCatalogs ]; - - dontBuild = true; - - installPhase = '' - dst=$out/share/xml/${pname} - mkdir -p $dst - rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp - mv * $dst/ - - # Backwards compatibility. Will remove eventually. - mkdir -p $out/xml/xsl - ln -s $dst $out/xml/xsl/docbook - - # More backwards compatibility - ln -s $dst $out/share/xml/docbook-xsl${legacySuffix} - ''; - - passthru.dbtoepub = writeScriptBin "dbtoepub" - '' + passthru.dbtoepub = writeScriptBin "dbtoepub" '' #!${bash}/bin/bash exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@" ''; - meta = { - homepage = "https://github.com/docbook/wiki/wiki/DocBookXslStylesheets"; - description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats"; - license = lib.licenses.mit; - maintainers = [ ]; - platforms = lib.platforms.all; + meta = { + homepage = "https://github.com/docbook/wiki/wiki/DocBookXslStylesheets"; + description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats"; + license = lib.licenses.mit; + maintainers = [ ]; + platforms = lib.platforms.all; + }; }; - }; - in self; + in + self; -in { +in +{ docbook-xsl-nons = common { pname = "docbook-xsl-nons"; diff --git a/pkgs/data/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix index 90069dc48c356..704d49af1cb01 100644 --- a/pkgs/data/themes/adwaita-qt/default.nix +++ b/pkgs/data/themes/adwaita-qt/default.nix @@ -1,21 +1,25 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script -, cmake -, ninja -, qtbase -, qtwayland -, qt5 -, xorg -, useQt6 ? false +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + cmake, + ninja, + qtbase, + qtwayland, + qt5, + xorg, + useQt6 ? false, }: stdenv.mkDerivation rec { pname = "adwaita-qt"; version = "1.4.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "FedoraQt"; @@ -29,15 +33,19 @@ stdenv.mkDerivation rec { ninja ]; - buildInputs = [ - qtbase - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - xorg.libxcb - ] ++ lib.optionals (!useQt6) [ - qt5.qtx11extras - ] ++ lib.optionals useQt6 [ - qtwayland - ]; + buildInputs = + [ + qtbase + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + xorg.libxcb + ] + ++ lib.optionals (!useQt6) [ + qt5.qtx11extras + ] + ++ lib.optionals useQt6 [ + qtwayland + ]; # Qt setup hook complains about missing `wrapQtAppsHook` otherwise. dontWrapQtApps = true; diff --git a/pkgs/data/themes/andromeda-gtk-theme/default.nix b/pkgs/data/themes/andromeda-gtk-theme/default.nix index fa2785a8db864..da49e70adeba2 100644 --- a/pkgs/data/themes/andromeda-gtk-theme/default.nix +++ b/pkgs/data/themes/andromeda-gtk-theme/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gtk-engine-murrine }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gtk-engine-murrine, +}: stdenvNoCC.mkDerivation { pname = "andromeda-gtk-theme"; @@ -56,6 +61,9 @@ stdenvNoCC.mkDerivation { homepage = "https://github.com/EliverLara/Andromeda-gtk"; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ jakedevs romildo ]; + maintainers = with maintainers; [ + jakedevs + romildo + ]; }; } diff --git a/pkgs/data/themes/ant-theme/ant-bloody.nix b/pkgs/data/themes/ant-theme/ant-bloody.nix index 66cd3e247a729..b00455b79a67c 100644 --- a/pkgs/data/themes/ant-theme/ant-bloody.nix +++ b/pkgs/data/themes/ant-theme/ant-bloody.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchurl, + gtk-engine-murrine, +}: let themeName = "Ant-Bloody"; diff --git a/pkgs/data/themes/ant-theme/ant-nebula.nix b/pkgs/data/themes/ant-theme/ant-nebula.nix index a62791572352b..3e7a31902cc20 100644 --- a/pkgs/data/themes/ant-theme/ant-nebula.nix +++ b/pkgs/data/themes/ant-theme/ant-nebula.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchurl, + gtk-engine-murrine, +}: let themeName = "Ant-Nebula"; diff --git a/pkgs/data/themes/ant-theme/ant.nix b/pkgs/data/themes/ant-theme/ant.nix index 2cb6961de1f73..e6bc0f848681b 100644 --- a/pkgs/data/themes/ant-theme/ant.nix +++ b/pkgs/data/themes/ant-theme/ant.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gtk-engine-murrine }: +{ + lib, + stdenv, + fetchurl, + gtk-engine-murrine, +}: let themeName = "Ant"; diff --git a/pkgs/data/themes/breath-theme/default.nix b/pkgs/data/themes/breath-theme/default.nix index 79bca7720207e..1c32065150994 100644 --- a/pkgs/data/themes/breath-theme/default.nix +++ b/pkgs/data/themes/breath-theme/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitLab -, cmake -, extra-cmake-modules -, kdecoration -, plasma-workspace -, qtbase +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + extra-cmake-modules, + kdecoration, + plasma-workspace, + qtbase, }: stdenv.mkDerivation { @@ -32,7 +33,10 @@ stdenv.mkDerivation { dontWrapQtApps = true; - cmakeFlags = [ "-DBUILD_PLASMA_THEMES=ON" "-DBUILD_SDDM_THEME=ON" ]; + cmakeFlags = [ + "-DBUILD_PLASMA_THEMES=ON" + "-DBUILD_SDDM_THEME=ON" + ]; meta = with lib; { description = "Manjaro KDE default theme"; diff --git a/pkgs/data/themes/chili-sddm/default.nix b/pkgs/data/themes/chili-sddm/default.nix index ccbbbfba5bf51..cb6939b3d3e4d 100644 --- a/pkgs/data/themes/chili-sddm/default.nix +++ b/pkgs/data/themes/chili-sddm/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, qtgraphicaleffects -, themeConfig ? { } +{ + lib, + stdenv, + fetchFromGitHub, + qtgraphicaleffects, + themeConfig ? { }, }: let customToString = x: if builtins.isBool x then lib.boolToString x else toString x; configLines = lib.mapAttrsToList (name: value: lib.nameValuePair name value) themeConfig; - configureTheme = "cp theme.conf theme.conf.orig \n" + - (lib.concatMapStringsSep "\n" - (configLine: - "grep -q '^${configLine.name}=' theme.conf || echo '${configLine.name}=' >> \"$1\"\n" + - "sed -i -e 's/^${configLine.name}=.*$/${configLine.name}=${ - lib.escape [ "/" "&" "\\"] (customToString configLine.value) + configureTheme = + "cp theme.conf theme.conf.orig \n" + + (lib.concatMapStringsSep "\n" ( + configLine: + "grep -q '^${configLine.name}=' theme.conf || echo '${configLine.name}=' >> \"$1\"\n" + + "sed -i -e 's/^${configLine.name}=.*$/${configLine.name}=${ + lib.escape [ "/" "&" "\\" ] (customToString configLine.value) }/' theme.conf" - ) - configLines); + ) configLines); in stdenv.mkDerivation { pname = "sddm-chili-theme"; diff --git a/pkgs/data/themes/colloid-kde/default.nix b/pkgs/data/themes/colloid-kde/default.nix index 4e1e05f359d70..ef620f4e32709 100644 --- a/pkgs/data/themes/colloid-kde/default.nix +++ b/pkgs/data/themes/colloid-kde/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, kdeclarative -, plasma-framework -, plasma-workspace -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + kdeclarative, + plasma-framework, + plasma-workspace, + gitUpdater, }: stdenvNoCC.mkDerivation rec { @@ -18,7 +19,10 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-AYH9fW20/p+mq6lxR1lcCV1BQ/kgcsjHncpMvYWXnWA="; }; - outputs = [ "out" "sddm" ]; + outputs = [ + "out" + "sddm" + ]; postPatch = '' patchShebangs install.sh diff --git a/pkgs/data/themes/elegant-sddm/default.nix b/pkgs/data/themes/elegant-sddm/default.nix index eaf435089d71d..c4d297884194f 100644 --- a/pkgs/data/themes/elegant-sddm/default.nix +++ b/pkgs/data/themes/elegant-sddm/default.nix @@ -1,19 +1,21 @@ -{ lib -, formats -, stdenvNoCC -, fetchFromGitHub -, qtgraphicaleffects - /* An example of how you can override the background with a NixOS wallpaper - * - * environment.systemPackages = [ - * (pkgs.elegant-sddm.override { - * themeConfig.General = { - background = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}"; - * }; - * }) - * ]; +{ + lib, + formats, + stdenvNoCC, + fetchFromGitHub, + qtgraphicaleffects, + /* + An example of how you can override the background with a NixOS wallpaper + * + * environment.systemPackages = [ + * (pkgs.elegant-sddm.override { + * themeConfig.General = { + background = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}"; + * }; + * }) + * ]; */ -, themeConfig ? null + themeConfig ? null, }: let @@ -37,16 +39,19 @@ stdenvNoCC.mkDerivation { dontWrapQtApps = true; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p "$out/share/sddm/themes" - cp -r Elegant/ "$out/share/sddm/themes/Elegant" - '' + (lib.optionalString (lib.isAttrs themeConfig) '' - ln -sf ${user-cfg} $out/share/sddm/themes/Elegant/theme.conf.user - '') + '' - runHook postInstall - ''; + mkdir -p "$out/share/sddm/themes" + cp -r Elegant/ "$out/share/sddm/themes/Elegant" + '' + + (lib.optionalString (lib.isAttrs themeConfig) '' + ln -sf ${user-cfg} $out/share/sddm/themes/Elegant/theme.conf.user + '') + + '' + runHook postInstall + ''; postFixup = '' mkdir -p $out/nix-support diff --git a/pkgs/data/themes/graphite-kde-theme/default.nix b/pkgs/data/themes/graphite-kde-theme/default.nix index 8cf3d065666f1..7d1d548f9031b 100644 --- a/pkgs/data/themes/graphite-kde-theme/default.nix +++ b/pkgs/data/themes/graphite-kde-theme/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, kdeclarative -, plasma-framework -, plasma-workspace -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + kdeclarative, + plasma-framework, + plasma-workspace, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/data/themes/gtk-theme-framework/default.nix b/pkgs/data/themes/gtk-theme-framework/default.nix index 9d71e18f037fd..1ae655fe8c372 100644 --- a/pkgs/data/themes/gtk-theme-framework/default.nix +++ b/pkgs/data/themes/gtk-theme-framework/default.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchFromGitHub, theme, lib }: +{ + stdenv, + fetchFromGitHub, + theme, + lib, +}: stdenv.mkDerivation rec { pname = "gtk-theme-framework"; diff --git a/pkgs/data/themes/kde2/default.nix b/pkgs/data/themes/kde2/default.nix index 9c883b51340ee..4eab649978119 100644 --- a/pkgs/data/themes/kde2/default.nix +++ b/pkgs/data/themes/kde2/default.nix @@ -1,6 +1,12 @@ -{ lib, fetchFromGitHub, mkDerivation -, cmake, extra-cmake-modules -, qtbase, kcoreaddons, kdecoration +{ + lib, + fetchFromGitHub, + mkDerivation, + cmake, + extra-cmake-modules, + qtbase, + kcoreaddons, + kdecoration, }: mkDerivation rec { @@ -14,11 +20,21 @@ mkDerivation rec { sha256 = "y2q1j36EURJc7k1huqhEH1Z82PnVSKlfx20bpQWY28c="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; - buildInputs = [ qtbase kcoreaddons kdecoration ]; + buildInputs = [ + qtbase + kcoreaddons + kdecoration + ]; meta = with lib; { description = "KDE 2 window decoration ported to Plasma 5"; diff --git a/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix b/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix index e75376dea794f..2fa58b4dfb1e5 100644 --- a/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix +++ b/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, wrapQtAppsHook -, qtbase -, kwin -, kcmutils -, libepoxy -, libxcb -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + wrapQtAppsHook, + qtbase, + kwin, + kcmutils, + libepoxy, + libxcb, + lib, }: stdenv.mkDerivation rec { @@ -22,8 +23,18 @@ stdenv.mkDerivation rec { hash = "sha256-xzs5eTNOO27//vfkax4cpKO3xnsjavSNU6tyt8H/dF0="; }; - nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; - buildInputs = [ kcmutils kwin libepoxy libxcb qtbase ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + wrapQtAppsHook + ]; + buildInputs = [ + kcmutils + kwin + libepoxy + libxcb + qtbase + ]; meta = with lib; { description = "Rounds the corners of your windows"; diff --git a/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix b/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix index 156d8aaaf9073..4eaaabd1954c2 100644 --- a/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix +++ b/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, wrapQtAppsHook -, kwin -, lib -, useQt5 ? false +{ + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + wrapQtAppsHook, + kwin, + lib, + useQt5 ? false, }: let latestVersion = "2.0.1"; @@ -25,7 +26,11 @@ stdenv.mkDerivation rec { sha256 = if useQt5 then qt5Sha256 else latestSha256; }; - nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + wrapQtAppsHook + ]; buildInputs = [ kwin ]; cmakeFlags = [ diff --git a/pkgs/data/themes/layan-kde/default.nix b/pkgs/data/themes/layan-kde/default.nix index a0cf318d33bdc..2f08b5ccdcaa9 100644 --- a/pkgs/data/themes/layan-kde/default.nix +++ b/pkgs/data/themes/layan-kde/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, kdeclarative -, plasma-framework -, plasma-workspace -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + kdeclarative, + plasma-framework, + plasma-workspace, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/data/themes/lightly-boehs/default.nix b/pkgs/data/themes/lightly-boehs/default.nix index e226fd31a3d88..521736858752e 100644 --- a/pkgs/data/themes/lightly-boehs/default.nix +++ b/pkgs/data/themes/lightly-boehs/default.nix @@ -1,12 +1,13 @@ -{ mkDerivation -, lib -, kdecoration -, fetchFromGitHub -, cmake -, extra-cmake-modules -, plasma-workspace -, qtbase -, qt5 +{ + mkDerivation, + lib, + kdecoration, + fetchFromGitHub, + cmake, + extra-cmake-modules, + plasma-workspace, + qtbase, + qt5, }: mkDerivation rec { diff --git a/pkgs/data/themes/lightly-qt/default.nix b/pkgs/data/themes/lightly-qt/default.nix index cb238a3f745ec..6b6729c9cbb75 100644 --- a/pkgs/data/themes/lightly-qt/default.nix +++ b/pkgs/data/themes/lightly-qt/default.nix @@ -1,12 +1,13 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, cmake -, extra-cmake-modules -, kdecoration -, plasma-workspace -, qtbase -, qt5 +{ + mkDerivation, + lib, + fetchFromGitHub, + cmake, + extra-cmake-modules, + kdecoration, + plasma-workspace, + qtbase, + qt5, }: mkDerivation rec { diff --git a/pkgs/data/themes/material-kwin-decoration/default.nix b/pkgs/data/themes/material-kwin-decoration/default.nix index 85bf37cc7892a..a32eb8766e46a 100644 --- a/pkgs/data/themes/material-kwin-decoration/default.nix +++ b/pkgs/data/themes/material-kwin-decoration/default.nix @@ -1,18 +1,19 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, extra-cmake-modules -, qtx11extras -, kcoreaddons -, kguiaddons -, kconfig -, kdecoration -, kconfigwidgets -, kwindowsystem -, kiconthemes -, kwayland -, unstableGitUpdater +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + extra-cmake-modules, + qtx11extras, + kcoreaddons, + kguiaddons, + kconfig, + kdecoration, + kconfigwidgets, + kwindowsystem, + kiconthemes, + kwayland, + unstableGitUpdater, }: mkDerivation rec { @@ -32,7 +33,10 @@ mkDerivation rec { --replace "add_definitions (-Wall -Werror)" "add_definitions (-Wall)" ''; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; buildInputs = [ qtx11extras diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix index e7c4648e555a0..5281f455ca118 100644 --- a/pkgs/data/themes/nordic/default.nix +++ b/pkgs/data/themes/nordic/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, breeze-icons -, gtk-engine-murrine -, jdupes -, plasma-framework -, plasma-workspace +{ + lib, + stdenvNoCC, + fetchFromGitHub, + breeze-icons, + gtk-engine-murrine, + jdupes, + plasma-framework, + plasma-workspace, }: stdenvNoCC.mkDerivation rec { @@ -80,7 +81,10 @@ stdenvNoCC.mkDerivation rec { sourceRoot = "."; - outputs = [ "out" "sddm" ]; + outputs = [ + "out" + "sddm" + ]; nativeBuildInputs = [ jdupes ]; diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix index 0400ba5b3c354..cdcd080e16570 100644 --- a/pkgs/data/themes/plata/default.nix +++ b/pkgs/data/themes/plata/default.nix @@ -1,20 +1,34 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, parallel -, sassc, inkscape, libxml2, glib, gtk_engines, gtk-engine-murrine -, cinnamonSupport ? true -, gnomeFlashbackSupport ? true -, gnomeShellSupport ? true -, openboxSupport ? true -, xfceSupport ? true -, mateSupport ? true, gtk3, marco -, gtkNextSupport ? false -, plankSupport ? false -, steamSupport ? false -, telegramSupport ? false, zip -, tweetdeckSupport ? false -, selectionColor ? null # Primary color for 'selected-items' (Default: #3F51B5 = Indigo500) -, accentColor ? null # Secondary color for notifications and OSDs (Default: #7986CB = Indigo300) -, suggestionColor ? null # Secondary color for 'suggested' buttons (Default: #673AB7 = DPurple500) -, destructionColor ? null # Tertiary color for 'destructive' buttons (Default: #F44336 = Red500) +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + parallel, + sassc, + inkscape, + libxml2, + glib, + gtk_engines, + gtk-engine-murrine, + cinnamonSupport ? true, + gnomeFlashbackSupport ? true, + gnomeShellSupport ? true, + openboxSupport ? true, + xfceSupport ? true, + mateSupport ? true, + gtk3, + marco, + gtkNextSupport ? false, + plankSupport ? false, + steamSupport ? false, + telegramSupport ? false, + zip, + tweetdeckSupport ? false, + selectionColor ? null, # Primary color for 'selected-items' (Default: #3F51B5 = Indigo500) + accentColor ? null, # Secondary color for notifications and OSDs (Default: #7986CB = Indigo300) + suggestionColor ? null, # Secondary color for 'suggested' buttons (Default: #673AB7 = DPurple500) + destructionColor ? null, # Tertiary color for 'destructive' buttons (Default: #F44336 = Red500) }: stdenv.mkDerivation rec { @@ -28,17 +42,21 @@ stdenv.mkDerivation rec { sha256 = "1iwvlv9qcrjyfbzab00vjqafmp3vdybz1hi02r6lwbgvwyfyrifk"; }; - nativeBuildInputs = [ - autoreconfHook - pkg-config - parallel - sassc - inkscape - libxml2 - glib - ] - ++ lib.optionals mateSupport [ gtk3 marco ] - ++ lib.optional telegramSupport zip; + nativeBuildInputs = + [ + autoreconfHook + pkg-config + parallel + sassc + inkscape + libxml2 + glib + ] + ++ lib.optionals mateSupport [ + gtk3 + marco + ] + ++ lib.optional telegramSupport zip; buildInputs = [ gtk_engines ]; @@ -52,7 +70,8 @@ stdenv.mkDerivation rec { let inherit (lib) enableFeature optional; withOptional = value: feat: optional (value != null) "--with-${feat}=${value}"; - in [ + in + [ "--enable-parallel" (enableFeature cinnamonSupport "cinnamon") (enableFeature gnomeFlashbackSupport "flashback") @@ -81,7 +100,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "GTK theme based on Material Design Refresh"; homepage = "https://gitlab.com/tista500/plata-theme"; - license = with licenses; [ gpl2 cc-by-sa-40 ]; + license = with licenses; [ + gpl2 + cc-by-sa-40 + ]; platforms = platforms.linux; maintainers = [ maintainers.tadfisher ]; }; diff --git a/pkgs/data/themes/qogir-kde/default.nix b/pkgs/data/themes/qogir-kde/default.nix index 6c404d8c534e8..235f4cc3cd455 100644 --- a/pkgs/data/themes/qogir-kde/default.nix +++ b/pkgs/data/themes/qogir-kde/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + unstableGitUpdater, }: # NOTE: diff --git a/pkgs/data/themes/qtcurve/default.nix b/pkgs/data/themes/qtcurve/default.nix index 0b639133a4a7e..dd2aaeed7d35e 100644 --- a/pkgs/data/themes/qtcurve/default.nix +++ b/pkgs/data/themes/qtcurve/default.nix @@ -1,10 +1,31 @@ -{ lib, fetchFromGitHub, cmake, extra-cmake-modules, pkg-config, mkDerivation -, gtk2Support ? true, gtk2 -, qtbase, qtsvg, qtx11extras # Toolkit dependencies -, karchive, kconfig, kconfigwidgets, kio, frameworkintegration -, kguiaddons, ki18n, kwindowsystem, kdelibs4support, kiconthemes -, libpthreadstubs, pcre, libXdmcp, libX11, libXau # X11 dependencies -, fetchpatch +{ + lib, + fetchFromGitHub, + cmake, + extra-cmake-modules, + pkg-config, + mkDerivation, + gtk2Support ? true, + gtk2, + qtbase, + qtsvg, + qtx11extras, # Toolkit dependencies + karchive, + kconfig, + kconfigwidgets, + kio, + frameworkintegration, + kguiaddons, + ki18n, + kwindowsystem, + kdelibs4support, + kiconthemes, + libpthreadstubs, + pcre, + libXdmcp, + libX11, + libXau, # X11 dependencies + fetchpatch, }: mkDerivation rec { @@ -30,15 +51,31 @@ mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + pkg-config + ]; buildInputs = [ - qtbase qtsvg qtx11extras - karchive kconfig kconfigwidgets kio kiconthemes kguiaddons ki18n - kwindowsystem kdelibs4support frameworkintegration + qtbase + qtsvg + qtx11extras + karchive + kconfig + kconfigwidgets + kio + kiconthemes + kguiaddons + ki18n + kwindowsystem + kdelibs4support + frameworkintegration libpthreadstubs pcre - libXdmcp libX11 libXau + libXdmcp + libX11 + libXau ] ++ lib.optional gtk2Support gtk2; preConfigure = '' diff --git a/pkgs/data/themes/sddm-astronaut/default.nix b/pkgs/data/themes/sddm-astronaut/default.nix index 39064b3c7a8e8..e636c05ff3282 100644 --- a/pkgs/data/themes/sddm-astronaut/default.nix +++ b/pkgs/data/themes/sddm-astronaut/default.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, stdenvNoCC, themeConfig ? null }: +{ + pkgs, + lib, + stdenvNoCC, + themeConfig ? null, +}: stdenvNoCC.mkDerivation rec { pname = "sddm-astronaut"; version = "1.0"; @@ -11,7 +16,10 @@ stdenvNoCC.mkDerivation rec { }; dontWrapQtApps = true; - propagatedBuildInputs = with pkgs.kdePackages; [ qt5compat qtsvg ]; + propagatedBuildInputs = with pkgs.kdePackages; [ + qt5compat + qtsvg + ]; installPhase = let @@ -23,7 +31,8 @@ stdenvNoCC.mkDerivation rec { '' mkdir -p ${basePath} cp -r $src/* ${basePath} - '' + lib.optionalString (themeConfig != null) '' + '' + + lib.optionalString (themeConfig != null) '' ln -sf ${configFile} ${basePath}/theme.conf.user ''; diff --git a/pkgs/data/themes/sddm-sugar-dark/default.nix b/pkgs/data/themes/sddm-sugar-dark/default.nix index 7cbc1c121e3d7..0f10a916cf950 100644 --- a/pkgs/data/themes/sddm-sugar-dark/default.nix +++ b/pkgs/data/themes/sddm-sugar-dark/default.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, stdenvNoCC, themeConfig ? null }: +{ + pkgs, + lib, + stdenvNoCC, + themeConfig ? null, +}: stdenvNoCC.mkDerivation rec { pname = "sddm-sugar-dark"; @@ -25,7 +30,8 @@ stdenvNoCC.mkDerivation rec { '' mkdir -p ${basePath} cp -r $src/* ${basePath} - '' + lib.optionalString (themeConfig != null) '' + '' + + lib.optionalString (themeConfig != null) '' ln -sf ${configFile} ${basePath}/theme.conf.user ''; diff --git a/pkgs/data/themes/utterly-nord-plasma/default.nix b/pkgs/data/themes/utterly-nord-plasma/default.nix index c35f919aedd46..b181ca18c5663 100644 --- a/pkgs/data/themes/utterly-nord-plasma/default.nix +++ b/pkgs/data/themes/utterly-nord-plasma/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, breeze-icons -, kdeclarative -, kirigami -, plasma-framework -, plasma-workspace +{ + lib, + stdenv, + fetchFromGitHub, + breeze-icons, + kdeclarative, + kirigami, + plasma-framework, + plasma-workspace, }: stdenv.mkDerivation rec { diff --git a/pkgs/data/themes/whitesur-kde/default.nix b/pkgs/data/themes/whitesur-kde/default.nix index b85767e631b36..3c42179c86a0a 100644 --- a/pkgs/data/themes/whitesur-kde/default.nix +++ b/pkgs/data/themes/whitesur-kde/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, gitUpdater +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, }: # NOTE: diff --git a/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix b/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix index 459306bd1c76e..799714d98ec21 100644 --- a/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix +++ b/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix @@ -28,20 +28,21 @@ let in # TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this -runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; } -'' - data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides" - schema_dir="$data_dir/glib-2.0/schemas" +runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; } '' + data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides" + schema_dir="$data_dir/glib-2.0/schemas" - mkdir -p $schema_dir + mkdir -p $schema_dir - ${lib.concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"$schema_dir\"") gsettingsOverridePackages} + ${lib.concatMapStringsSep "\n" ( + pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"$schema_dir\"" + ) gsettingsOverridePackages} - chmod -R a+w "$data_dir" + chmod -R a+w "$data_dir" - cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF - ${extraGSettingsOverrides} - EOF + cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF + ${extraGSettingsOverrides} + EOF - ${glib.dev}/bin/glib-compile-schemas $schema_dir - '' + ${glib.dev}/bin/glib-compile-schemas $schema_dir +'' diff --git a/pkgs/desktops/enlightenment/default.nix b/pkgs/desktops/enlightenment/default.nix index 76c6cc58953aa..c4ddb4440c3c2 100644 --- a/pkgs/desktops/enlightenment/default.nix +++ b/pkgs/desktops/enlightenment/default.nix @@ -1,19 +1,21 @@ { lib, pkgs }: -lib.makeScope pkgs.newScope (self: with self; { +lib.makeScope pkgs.newScope ( + self: with self; { - #### CORE EFL - efl = callPackage ./efl { }; + #### CORE EFL + efl = callPackage ./efl { }; - #### WINDOW MANAGER - enlightenment = callPackage ./enlightenment { }; + #### WINDOW MANAGER + enlightenment = callPackage ./enlightenment { }; - #### APPLICATIONS - econnman = callPackage ./econnman { }; - ecrire = callPackage ./ecrire { }; - ephoto = callPackage ./ephoto { }; - evisum = callPackage ./evisum { }; - rage = callPackage ./rage { }; - terminology = callPackage ./terminology { }; + #### APPLICATIONS + econnman = callPackage ./econnman { }; + ecrire = callPackage ./ecrire { }; + ephoto = callPackage ./ephoto { }; + evisum = callPackage ./evisum { }; + rage = callPackage ./rage { }; + terminology = callPackage ./terminology { }; -}) + } +) diff --git a/pkgs/desktops/enlightenment/econnman/default.nix b/pkgs/desktops/enlightenment/econnman/default.nix index b7f3f926d7f69..eba9183f32018 100644 --- a/pkgs/desktops/enlightenment/econnman/default.nix +++ b/pkgs/desktops/enlightenment/econnman/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, pkg-config -, dbus -, efl -, python3Packages -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + dbus, + efl, + python3Packages, + directoryListingUpdater, }: stdenv.mkDerivation rec { @@ -47,6 +48,12 @@ stdenv.mkDerivation rec { homepage = "https://enlightenment.org/"; license = licenses.lgpl3; platforms = platforms.linux; - maintainers = with lib.maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; + maintainers = + with lib.maintainers; + [ + matejc + ftrvxmtrx + ] + ++ teams.enlightenment.members; }; } diff --git a/pkgs/desktops/enlightenment/ecrire/default.nix b/pkgs/desktops/enlightenment/ecrire/default.nix index 3f511c3a79d08..20cedff0fc21f 100644 --- a/pkgs/desktops/enlightenment/ecrire/default.nix +++ b/pkgs/desktops/enlightenment/ecrire/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, efl -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + efl, + directoryListingUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/enlightenment/efl/default.nix b/pkgs/desktops/enlightenment/efl/default.nix index ce6f775378634..8b9d3ccdc692f 100644 --- a/pkgs/desktops/enlightenment/efl/default.nix +++ b/pkgs/desktops/enlightenment/efl/default.nix @@ -1,59 +1,60 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, SDL2 -, alsa-lib -, bullet -, check -, curl -, dbus -, doxygen -, expat -, fontconfig -, freetype -, fribidi -, ghostscript -, giflib -, glib -, gst_all_1 -, gtk3 -, harfbuzz -, hicolor-icon-theme -, ibus -, jbig2dec -, libGL -, libdrm -, libinput -, libjpeg -, libpng -, libpulseaudio -, libraw -, librsvg -, libsndfile -, libspectre -, libtiff -, libwebp -, libxkbcommon -, luajit -, lz4 -, mesa -, mint-x-icons -, openjpeg -, openssl -, poppler -, systemd -, udev -, util-linux -, wayland -, wayland-protocols -, wayland-scanner -, writeText -, xorg -, zlib -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + SDL2, + alsa-lib, + bullet, + check, + curl, + dbus, + doxygen, + expat, + fontconfig, + freetype, + fribidi, + ghostscript, + giflib, + glib, + gst_all_1, + gtk3, + harfbuzz, + hicolor-icon-theme, + ibus, + jbig2dec, + libGL, + libdrm, + libinput, + libjpeg, + libpng, + libpulseaudio, + libraw, + librsvg, + libsndfile, + libspectre, + libtiff, + libwebp, + libxkbcommon, + luajit, + lz4, + mesa, + mint-x-icons, + openjpeg, + openssl, + poppler, + systemd, + udev, + util-linux, + wayland, + wayland-protocols, + wayland-scanner, + writeText, + xorg, + zlib, + directoryListingUpdater, }: stdenv.mkDerivation rec { @@ -211,8 +212,18 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Enlightenment foundation libraries"; homepage = "https://enlightenment.org/"; - license = with licenses; [ bsd2 lgpl2Only licenses.zlib ]; + license = with licenses; [ + bsd2 + lgpl2Only + licenses.zlib + ]; platforms = platforms.linux; - maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; + maintainers = + with maintainers; + [ + matejc + ftrvxmtrx + ] + ++ teams.enlightenment.members; }; } diff --git a/pkgs/desktops/enlightenment/enlightenment/default.nix b/pkgs/desktops/enlightenment/enlightenment/default.nix index 198dae282dfae..f3c61f2e61f2a 100644 --- a/pkgs/desktops/enlightenment/enlightenment/default.nix +++ b/pkgs/desktops/enlightenment/enlightenment/default.nix @@ -1,23 +1,28 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, alsa-lib -, acpid -, bc -, ddcutil -, efl -, libexif -, pam -, xkeyboard_config -, udisks2 -, waylandSupport ? false, wayland-protocols, xwayland -, bluetoothSupport ? true, bluez5 -, pulseSupport ? !stdenv.hostPlatform.isDarwin, libpulseaudio -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gettext, + alsa-lib, + acpid, + bc, + ddcutil, + efl, + libexif, + pam, + xkeyboard_config, + udisks2, + waylandSupport ? false, + wayland-protocols, + xwayland, + bluetoothSupport ? true, + bluez5, + pulseSupport ? !stdenv.hostPlatform.isDarwin, + libpulseaudio, + directoryListingUpdater, }: stdenv.mkDerivation rec { @@ -36,21 +41,24 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - alsa-lib - acpid # for systems with ACPI for lid events, AC/Battery plug in/out etc - bc # for the Everything module calculator mode - ddcutil # specifically libddcutil.so.2 for backlight control - efl - libexif - pam - xkeyboard_config - udisks2 # for removable storage mounting/unmounting - ] - ++ lib.optional bluetoothSupport bluez5 # for bluetooth configuration and control - ++ lib.optional pulseSupport libpulseaudio # for proper audio device control and redirection - ++ lib.optionals waylandSupport [ wayland-protocols xwayland ] - ; + buildInputs = + [ + alsa-lib + acpid # for systems with ACPI for lid events, AC/Battery plug in/out etc + bc # for the Everything module calculator mode + ddcutil # specifically libddcutil.so.2 for backlight control + efl + libexif + pam + xkeyboard_config + udisks2 # for removable storage mounting/unmounting + ] + ++ lib.optional bluetoothSupport bluez5 # for bluetooth configuration and control + ++ lib.optional pulseSupport libpulseaudio # for proper audio device control and redirection + ++ lib.optionals waylandSupport [ + wayland-protocols + xwayland + ]; patches = [ # Executables cannot be made setuid in nix store. They should be @@ -78,6 +86,12 @@ stdenv.mkDerivation rec { homepage = "https://www.enlightenment.org"; license = licenses.bsd2; platforms = platforms.linux; - maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; + maintainers = + with maintainers; + [ + matejc + ftrvxmtrx + ] + ++ teams.enlightenment.members; }; } diff --git a/pkgs/desktops/enlightenment/ephoto/default.nix b/pkgs/desktops/enlightenment/ephoto/default.nix index 1fff72fdb7bd6..7aba3c2c5b9fa 100644 --- a/pkgs/desktops/enlightenment/ephoto/default.nix +++ b/pkgs/desktops/enlightenment/ephoto/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, efl -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + efl, + directoryListingUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/enlightenment/evisum/default.nix b/pkgs/desktops/enlightenment/evisum/default.nix index 93472b6d7dbb8..63e8ab41780bc 100644 --- a/pkgs/desktops/enlightenment/evisum/default.nix +++ b/pkgs/desktops/enlightenment/evisum/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, efl -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + efl, + directoryListingUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/enlightenment/rage/default.nix b/pkgs/desktops/enlightenment/rage/default.nix index afe70fd9e327e..8b3e3747828b5 100644 --- a/pkgs/desktops/enlightenment/rage/default.nix +++ b/pkgs/desktops/enlightenment/rage/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, efl -, gst_all_1 -, wrapGAppsHook3 -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + efl, + gst_all_1, + wrapGAppsHook3, + directoryListingUpdater, }: stdenv.mkDerivation rec { @@ -43,6 +44,12 @@ stdenv.mkDerivation rec { homepage = "https://enlightenment.org/"; license = licenses.bsd2; platforms = platforms.linux; - maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; + maintainers = + with maintainers; + [ + matejc + ftrvxmtrx + ] + ++ teams.enlightenment.members; }; } diff --git a/pkgs/desktops/enlightenment/terminology/default.nix b/pkgs/desktops/enlightenment/terminology/default.nix index 9c2cabe7e8f00..1187ca2427e10 100644 --- a/pkgs/desktops/enlightenment/terminology/default.nix +++ b/pkgs/desktops/enlightenment/terminology/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, python3 -, efl -, nixosTests -, directoryListingUpdater +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + python3, + efl, + nixosTests, + directoryListingUpdater, }: stdenv.mkDerivation rec { @@ -43,6 +44,12 @@ stdenv.mkDerivation rec { homepage = "https://www.enlightenment.org/about-terminology"; license = licenses.bsd2; platforms = platforms.linux; - maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; + maintainers = + with maintainers; + [ + matejc + ftrvxmtrx + ] + ++ teams.enlightenment.members; }; } diff --git a/pkgs/desktops/expidus/calculator/default.nix b/pkgs/desktops/expidus/calculator/default.nix index 98328b8874c6a..528d77648b5f3 100644 --- a/pkgs/desktops/expidus/calculator/default.nix +++ b/pkgs/desktops/expidus/calculator/default.nix @@ -1,4 +1,8 @@ -{ lib, flutter, fetchFromGitHub }: +{ + lib, + flutter, + fetchFromGitHub, +}: flutter.buildFlutterApplication rec { pname = "expidus-calculator"; version = "0.1.1-alpha"; @@ -44,7 +48,10 @@ flutter.buildFlutterApplication rec { homepage = "https://expidusos.com"; license = licenses.gpl3Only; maintainers = with maintainers; [ RossComputerGuy ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; mainProgram = "expidus-calculator"; }; } diff --git a/pkgs/desktops/expidus/file-manager/default.nix b/pkgs/desktops/expidus/file-manager/default.nix index 8de6262d86bae..b32b84d109993 100644 --- a/pkgs/desktops/expidus/file-manager/default.nix +++ b/pkgs/desktops/expidus/file-manager/default.nix @@ -1,4 +1,8 @@ -{ lib, flutter, fetchFromGitHub }: +{ + lib, + flutter, + fetchFromGitHub, +}: flutter.buildFlutterApplication rec { pname = "expidus-file-manager"; version = "0.2.1"; @@ -44,7 +48,10 @@ flutter.buildFlutterApplication rec { homepage = "https://expidusos.com"; license = licenses.gpl3; maintainers = with maintainers; [ RossComputerGuy ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; mainProgram = "expidus-file-manager"; }; } diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index 83a163f4e36cf..14d8ac23b6b5a 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -1,37 +1,45 @@ -{ config, stdenv, pkgs, lib }: +{ + config, + stdenv, + pkgs, + lib, +}: -lib.makeScope pkgs.newScope (self: with self; { +lib.makeScope pkgs.newScope ( + self: with self; { -#### PLATFORM + #### PLATFORM - libIDL = callPackage ./platform/libIDL { - gettext = if stdenv.hostPlatform.isDarwin then pkgs.gettext else null; - }; + libIDL = callPackage ./platform/libIDL { + gettext = if stdenv.hostPlatform.isDarwin then pkgs.gettext else null; + }; - ORBit2 = callPackage ./platform/ORBit2 { }; + ORBit2 = callPackage ./platform/ORBit2 { }; - libart_lgpl = callPackage ./platform/libart_lgpl { }; + libart_lgpl = callPackage ./platform/libart_lgpl { }; - libglade = callPackage ./platform/libglade { }; + libglade = callPackage ./platform/libglade { }; - GConf = callPackage ./platform/GConf { }; + GConf = callPackage ./platform/GConf { }; - libgnomecanvas = callPackage ./platform/libgnomecanvas { }; + libgnomecanvas = callPackage ./platform/libgnomecanvas { }; - # for git-head builds - gnome-common = callPackage platform/gnome-common { }; + # for git-head builds + gnome-common = callPackage platform/gnome-common { }; - gnome_mime_data = callPackage ./platform/gnome-mime-data { }; + gnome_mime_data = callPackage ./platform/gnome-mime-data { }; - gtkglext = callPackage ./platform/gtkglext { }; + gtkglext = callPackage ./platform/gtkglext { }; -#### DESKTOP + #### DESKTOP - gtksourceview = callPackage ./desktop/gtksourceview { - autoreconfHook = pkgs.autoreconfHook269; - }; + gtksourceview = callPackage ./desktop/gtksourceview { + autoreconfHook = pkgs.autoreconfHook269; + }; -}) // lib.optionalAttrs config.allowAliases { + } +) +// lib.optionalAttrs config.allowAliases { # added 2024-12-02 glib = throw "gnome2.glib has been removed, please use top-level glib"; glibmm = throw "gnome2.glibmm has been removed, please use top-level glibmm"; diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix index 94c3d49a97e0f..95455d76db79a 100644 --- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix @@ -1,19 +1,36 @@ -{lib, stdenv, fetchpatch, fetchurl, autoreconfHook, pkg-config, atk, cairo, glib -, gnome-common, gtk2, pango -, libxml2Python, perl, intltool, gettext, gtk-mac-integration-gtk2 -, testers +{ + lib, + stdenv, + fetchpatch, + fetchurl, + autoreconfHook, + pkg-config, + atk, + cairo, + glib, + gnome-common, + gtk2, + pango, + libxml2Python, + perl, + intltool, + gettext, + gtk-mac-integration-gtk2, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "2.10.5"; - src = let - inherit (finalAttrs) pname version; - in fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; - sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"; - }; + src = + let + inherit (finalAttrs) pname version; + in + fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"; + }; patches = lib.optionals stdenv.hostPlatform.isDarwin [ (fetchpatch { @@ -28,14 +45,25 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - nativeBuildInputs = [ pkg-config intltool ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ autoreconfHook ]; - buildInputs = [ - atk cairo glib gtk2 - pango libxml2Python perl - gettext - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - gnome-common gtk-mac-integration-gtk2 - ]; + nativeBuildInputs = [ + pkg-config + intltool + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ autoreconfHook ]; + buildInputs = + [ + atk + cairo + glib + gtk2 + pango + libxml2Python + perl + gettext + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + gnome-common + gtk-mac-integration-gtk2 + ]; preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' intltoolize --force diff --git a/pkgs/desktops/gnome-2/platform/GConf/default.nix b/pkgs/desktops/gnome-2/platform/GConf/default.nix index ea6730f88e2ee..b2d6986e776ce 100644 --- a/pkgs/desktops/gnome-2/platform/GConf/default.nix +++ b/pkgs/desktops/gnome-2/platform/GConf/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, dbus-glib, glib, ORBit2, libxml2, polkit, python3, intltool }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + dbus-glib, + glib, + ORBit2, + libxml2, + polkit, + python3, + intltool, +}: stdenv.mkDerivation rec { pname = "gconf"; @@ -9,18 +21,34 @@ stdenv.mkDerivation rec { sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; strictDeps = true; - buildInputs = [ ORBit2 libxml2 ] + buildInputs = + [ + ORBit2 + libxml2 + ] # polkit requires pam, which requires shadow.h, which is not available on # darwin ++ lib.optional (!stdenv.hostPlatform.isDarwin) polkit; - propagatedBuildInputs = [ glib dbus-glib ]; + propagatedBuildInputs = [ + glib + dbus-glib + ]; - nativeBuildInputs = [ pkg-config intltool python3 glib ]; + nativeBuildInputs = [ + pkg-config + intltool + python3 + glib + ]; configureFlags = # fixes the "libgconfbackend-oldxml.so is not portable" error on darwin diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix index 67208b6d2cdef..566767d2fc40f 100644 --- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix +++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, libIDL, libintl, buildPackages }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libIDL, + libintl, + buildPackages, +}: stdenv.mkDerivation rec { pname = "ORBit2"; @@ -15,10 +24,19 @@ stdenv.mkDerivation rec { # sh: gcc: not found # output does not contain binaries for build depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config libintl ]; - propagatedBuildInputs = [ glib libIDL ]; + nativeBuildInputs = [ + pkg-config + libintl + ]; + propagatedBuildInputs = [ + glib + libIDL + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-idl-compiler=${lib.getExe' buildPackages.gnome2.ORBit2 "orbit-idl-2"}" @@ -54,9 +72,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; meta = with lib; { - homepage = "https://developer-old.gnome.org/ORBit2/"; + homepage = "https://developer-old.gnome.org/ORBit2/"; description = "CORBA 2.4-compliant Object Request Broker"; - platforms = platforms.unix; + platforms = platforms.unix; maintainers = with maintainers; [ lovek323 ]; longDescription = '' diff --git a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix index eba913c80c2d9..8fc9d7a51a307 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, which }: +{ + lib, + stdenv, + fetchurl, + which, +}: stdenv.mkDerivation rec { pname = "gnome-common"; @@ -11,9 +16,11 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ which ]; # autogen.sh which is using gnome-common tends to require which - patches = [(fetchurl { - name = "gnome-common-patch"; - url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; - sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; - })]; + patches = [ + (fetchurl { + name = "gnome-common-patch"; + url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; + sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; + }) + ]; } diff --git a/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix b/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix index 1604dbe0cf08f..5335842f1fe32 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, intltool }: +{ + lib, + stdenv, + fetchurl, + intltool, +}: stdenv.mkDerivation rec { pname = "gnome-mime-data"; diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix index ed0971b7131b4..c2632ec9e51b0 100644 --- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix @@ -1,18 +1,20 @@ -{ lib, stdenv -, fetchFromGitLab -, pkg-config -, gtk-doc -, autoconf -, automake -, which -, libtool -, gobject-introspection -, glib -, gtk2 -, libGLU -, libGL -, pango -, xorg +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + gtk-doc, + autoconf, + automake, + which, + libtool, + gobject-introspection, + glib, + gtk2, + libGLU, + libGL, + pango, + xorg, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/gnome-2/platform/libIDL/default.nix b/pkgs/desktops/gnome-2/platform/libIDL/default.nix index 81f8e6d08e170..620dae7ce4641 100644 --- a/pkgs/desktops/gnome-2/platform/libIDL/default.nix +++ b/pkgs/desktops/gnome-2/platform/libIDL/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, gettext }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + pkg-config, + glib, + gettext, +}: stdenv.mkDerivation rec { pname = "libIDL"; @@ -11,9 +20,16 @@ stdenv.mkDerivation rec { strictDeps = true; - buildInputs = [ glib gettext ]; + buildInputs = [ + glib + gettext + ]; - nativeBuildInputs = [ flex bison pkg-config ]; + nativeBuildInputs = [ + flex + bison + pkg-config + ]; configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ # before openembedded removed libIDL diff --git a/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix b/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix index 5f21e59a4c523..6cc2d5ceab6a5 100644 --- a/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix +++ b/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libart_lgpl"; diff --git a/pkgs/desktops/gnome-2/platform/libglade/default.nix b/pkgs/desktops/gnome-2/platform/libglade/default.nix index dc6e192ed1616..73a9474147948 100644 --- a/pkgs/desktops/gnome-2/platform/libglade/default.nix +++ b/pkgs/desktops/gnome-2/platform/libglade/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, libxml2, gettext }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + libxml2, + gettext, +}: stdenv.mkDerivation rec { pname = "libglade"; @@ -9,11 +17,17 @@ stdenv.mkDerivation rec { sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; - nativeBuildInputs = [ pkg-config gettext ]; + nativeBuildInputs = [ + pkg-config + gettext + ]; buildInputs = [ gtk2 ]; propagatedBuildInputs = [ libxml2 ]; diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix index 529e73b874787..2c6b6e2a546f1 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade, glib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + intltool, + libart_lgpl, + libglade, + glib, +}: stdenv.mkDerivation rec { pname = "libgnomecanvas"; @@ -9,11 +19,21 @@ stdenv.mkDerivation rec { sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; buildInputs = [ libglade ]; - nativeBuildInputs = [ pkg-config intltool glib ]; - propagatedBuildInputs = [ libart_lgpl gtk2 ]; + nativeBuildInputs = [ + pkg-config + intltool + glib + ]; + propagatedBuildInputs = [ + libart_lgpl + gtk2 + ]; } diff --git a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix index 8feb342638c9a..d331f1eae6a6c 100644 --- a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix +++ b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome-shell, gettext, jq, intltool }: +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + glib, + gnome-shell, + gettext, + jq, + intltool, +}: stdenv.mkDerivation (finalAttrs: { pname = "gnome-shell-extension-EasyScreenCast"; @@ -19,7 +29,10 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ - glib gettext jq intltool + glib + gettext + jq + intltool ]; makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; diff --git a/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/pkgs/desktops/gnome/extensions/arcmenu/default.nix index 157dd3edf38ae..9e78ddc152257 100644 --- a/pkgs/desktops/gnome/extensions/arcmenu/default.nix +++ b/pkgs/desktops/gnome/extensions/arcmenu/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }: +{ + lib, + stdenv, + fetchFromGitLab, + glib, + gettext, + substituteAll, + gnome-menus, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-arcmenu"; @@ -19,7 +27,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib gettext + glib + gettext ]; makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ]; diff --git a/pkgs/desktops/gnome/extensions/argos/default.nix b/pkgs/desktops/gnome/extensions/argos/default.nix index 9f4719a3226e4..f74bfb6773d3c 100644 --- a/pkgs/desktops/gnome/extensions/argos/default.nix +++ b/pkgs/desktops/gnome/extensions/argos/default.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, lib, stdenv, unstableGitUpdater }: +{ + fetchFromGitHub, + lib, + stdenv, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "argos"; diff --git a/pkgs/desktops/gnome/extensions/clock-override/default.nix b/pkgs/desktops/gnome/extensions/clock-override/default.nix index 919dfb68de046..4da95c4fc1841 100644 --- a/pkgs/desktops/gnome/extensions/clock-override/default.nix +++ b/pkgs/desktops/gnome/extensions/clock-override/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchzip, gnome-shell, gettext, glib }: +{ + lib, + stdenv, + fetchzip, + gnome-shell, + gettext, + glib, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-clock-override"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { extensionPortalSlug = "clock-override"; }; - nativeBuildInputs = [ gettext glib ]; + nativeBuildInputs = [ + gettext + glib + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/desktops/gnome/extensions/default.nix b/pkgs/desktops/gnome/extensions/default.nix index 4e7b3c75e8b77..39f784225b4f4 100644 --- a/pkgs/desktops/gnome/extensions/default.nix +++ b/pkgs/desktops/gnome/extensions/default.nix @@ -1,6 +1,7 @@ -{ lib -, callPackage -, config +{ + lib, + callPackage, + config, }: let buildShellExtension = callPackage ./buildGnomeExtension.nix { }; @@ -12,25 +13,29 @@ let extensionRenames = import ./extensionRenames.nix; # Take all extensions from the index that match the gnome version, build them and put them into a list of derivations - produceExtensionsList = shell-version: + produceExtensionsList = + shell-version: lib.trivial.pipe extensionsIndex [ # Does a given extension match our current shell version? - (builtins.filter - (extension: (builtins.hasAttr shell-version extension."shell_version_map")) - ) + (builtins.filter (extension: (builtins.hasAttr shell-version extension."shell_version_map"))) # Take in an `extension` object from the JSON and transform it into the correct args to call `buildShellExtension` - (map - (extension: { - inherit (extension) uuid name description link pname; - inherit (extension.shell_version_map.${shell-version}) version sha256 metadata; - }) - ) + (map (extension: { + inherit (extension) + uuid + name + description + link + pname + ; + inherit (extension.shell_version_map.${shell-version}) version sha256 metadata; + })) # Build them (map buildShellExtension) ]; # Map the list of extensions to an attrset based on the UUID as key - mapUuidNames = extensions: + mapUuidNames = + extensions: lib.trivial.pipe extensions [ (map (extension: lib.nameValuePair extension.extensionUuid extension)) builtins.listToAttrs @@ -39,22 +44,28 @@ let # Map the list of extensions to an attrset based on the pname as key, which is more human readable than the UUID # We also take care of conflict renaming in here - mapReadableNames = extensionsList: lib.trivial.pipe extensionsList [ - # Filter out all extensions that map to null - (lib.filter (extension: - !( - (builtins.hasAttr extension.extensionUuid extensionRenames) - && ((builtins.getAttr extension.extensionUuid extensionRenames) == null) - ) - )) - # Map all extensions to their pname, with potential overwrites - (map (extension: - lib.nameValuePair (extensionRenames.${extension.extensionUuid} or extension.extensionPortalSlug) extension - )) - builtins.listToAttrs - ]; + mapReadableNames = + extensionsList: + lib.trivial.pipe extensionsList [ + # Filter out all extensions that map to null + (lib.filter ( + extension: + !( + (builtins.hasAttr extension.extensionUuid extensionRenames) + && ((builtins.getAttr extension.extensionUuid extensionRenames) == null) + ) + )) + # Map all extensions to their pname, with potential overwrites + (map ( + extension: + lib.nameValuePair (extensionRenames.${extension.extensionUuid} or extension.extensionPortalSlug + ) extension + )) + builtins.listToAttrs + ]; -in rec { +in +rec { # Remember to import all these in all-packages.nix gnome38Extensions = mapUuidNames (produceExtensionsList "38"); gnome40Extensions = mapUuidNames (produceExtensionsList "40"); @@ -70,23 +81,27 @@ in rec { gnomeExtensions = lib.trivial.pipe (gnome45Extensions // gnome46Extensions // gnome47Extensions) [ (v: builtins.removeAttrs v [ "__attrsFailEvaluation" ]) # Apply some custom patches for automatically packaged extensions - (callPackage ./extensionOverrides.nix {}) + (callPackage ./extensionOverrides.nix { }) # Add all manually packaged extensions (extensions: extensions // (import ./manuallyPackaged.nix { inherit callPackage; })) # Map the extension UUIDs to readable names (lib.attrValues) (mapReadableNames) # Add some aliases - (extensions: extensions // lib.optionalAttrs config.allowAliases { - unite-shell = gnomeExtensions.unite; # added 2021-01-19 - arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14 - disable-unredirect = gnomeExtensions.disable-unredirect-fullscreen-windows; # added 2021-11-20 + ( + extensions: + extensions + // lib.optionalAttrs config.allowAliases { + unite-shell = gnomeExtensions.unite; # added 2021-01-19 + arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14 + disable-unredirect = gnomeExtensions.disable-unredirect-fullscreen-windows; # added 2021-11-20 - icon-hider = throw "gnomeExtensions.icon-hider was removed on 2024-03-15. The extension has not received any updates since 2020/3.34."; - nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; - mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; - remove-dropdown-arrows = throw "gnomeExtensions.remove-dropdown-arrows removed since 2021-05-25: The extensions has not seen an update sine GNOME 3.34. Furthermore, the functionality it provides is obsolete as of GNOME 40."; - }) + icon-hider = throw "gnomeExtensions.icon-hider was removed on 2024-03-15. The extension has not received any updates since 2020/3.34."; + nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; + mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; + remove-dropdown-arrows = throw "gnomeExtensions.remove-dropdown-arrows removed since 2021-05-25: The extensions has not seen an update sine GNOME 3.34. Furthermore, the functionality it provides is obsolete as of GNOME 40."; + } + ) # Export buildShellExtension function (extensions: extensions // { inherit buildShellExtension; }) # Make the set "public" diff --git a/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix b/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix index ebcf918df1039..e5302645d5605 100644 --- a/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix +++ b/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, gjs, vte, gnome }: +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + gjs, + vte, + gnome, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-drop-down-terminal"; diff --git a/pkgs/desktops/gnome/extensions/icon-hider/default.nix b/pkgs/desktops/gnome/extensions/icon-hider/default.nix index f93c96f30191f..d55f097134fab 100644 --- a/pkgs/desktops/gnome/extensions/icon-hider/default.nix +++ b/pkgs/desktops/gnome/extensions/icon-hider/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, gnome-shell }: +{ + lib, + stdenv, + fetchFromGitHub, + gnome-shell, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-icon-hider"; diff --git a/pkgs/desktops/gnome/extensions/impatience/default.nix b/pkgs/desktops/gnome/extensions/impatience/default.nix index dfef4a3a7262a..aa96fad5c4c08 100644 --- a/pkgs/desktops/gnome/extensions/impatience/default.nix +++ b/pkgs/desktops/gnome/extensions/impatience/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, glib }: +{ + lib, + stdenv, + fetchFromGitHub, + glib, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-impatience"; @@ -36,7 +41,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Speed up builtin gnome-shell animations"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ timbertson tiramiseb ]; + maintainers = with maintainers; [ + timbertson + tiramiseb + ]; homepage = "http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml"; }; } diff --git a/pkgs/desktops/gnome/extensions/no-title-bar/default.nix b/pkgs/desktops/gnome/extensions/no-title-bar/default.nix index 6e4530817f909..f8a2ef12b80fa 100644 --- a/pkgs/desktops/gnome/extensions/no-title-bar/default.nix +++ b/pkgs/desktops/gnome/extensions/no-title-bar/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gettext, xorg }: +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + glib, + gettext, + xorg, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-no-title-bar"; @@ -11,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "07ddw47binlsbyvgy4xkdjvd40zyp7nwd17r6k7w54d50vmnwhvb"; }; - nativeBuildInputs = [ glib gettext ]; + nativeBuildInputs = [ + glib + gettext + ]; patches = [ (substituteAll { diff --git a/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix b/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix index 3dc9fa61b7473..c46a1b7447c45 100644 --- a/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix +++ b/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, glib, gnome-shell }: +{ + lib, + stdenv, + fetchFromGitHub, + glib, + gnome-shell, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-pidgin-im-integration"; diff --git a/pkgs/desktops/gnome/extensions/pop-shell/default.nix b/pkgs/desktops/gnome/extensions/pop-shell/default.nix index a391784e7f388..8419bf2a9f061 100644 --- a/pkgs/desktops/gnome/extensions/pop-shell/default.nix +++ b/pkgs/desktops/gnome/extensions/pop-shell/default.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, glib, gjs, typescript, unstableGitUpdater }: +{ + stdenv, + lib, + fetchFromGitHub, + glib, + gjs, + typescript, + unstableGitUpdater, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-pop-shell"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-PPJofRzzbH1zcnKtQ/3ulErvN4pAJMo/igzdq1zT06s="; }; - nativeBuildInputs = [ glib gjs typescript ]; + nativeBuildInputs = [ + glib + gjs + typescript + ]; buildInputs = [ gjs ]; diff --git a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix index f3026744ea6e8..431784e78d9c6 100644 --- a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix +++ b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, substituteAll -, fetchFromGitHub -, libpulseaudio -, python3 +{ + lib, + stdenv, + substituteAll, + fetchFromGitHub, + libpulseaudio, + python3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix b/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix index f4e50f46bb257..fc37e6875820c 100644 --- a/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix +++ b/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, substituteAll, fetchFromGitHub, taskwarrior2, gettext, runtimeShell }: +{ + lib, + stdenv, + substituteAll, + fetchFromGitHub, + taskwarrior2, + gettext, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-taskwhisperer"; diff --git a/pkgs/desktops/gnome/extensions/tilingnome/default.nix b/pkgs/desktops/gnome/extensions/tilingnome/default.nix index 3e6a2efb990fb..516d85ce378e4 100644 --- a/pkgs/desktops/gnome/extensions/tilingnome/default.nix +++ b/pkgs/desktops/gnome/extensions/tilingnome/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, glib, gnome-shell }: +{ + stdenv, + lib, + fetchFromGitHub, + glib, + gnome-shell, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-tilingnome"; diff --git a/pkgs/desktops/gnome/extensions/topicons-plus/default.nix b/pkgs/desktops/gnome/extensions/topicons-plus/default.nix index eedfeb098c033..b216a6ae451fc 100644 --- a/pkgs/desktops/gnome/extensions/topicons-plus/default.nix +++ b/pkgs/desktops/gnome/extensions/topicons-plus/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, glib, gettext }: +{ + lib, + stdenv, + fetchFromGitHub, + glib, + gettext, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-topicons-plus"; diff --git a/pkgs/desktops/gnome/extensions/unite/default.nix b/pkgs/desktops/gnome/extensions/unite/default.nix index dbc7e96df3eea..a514d8a02bd27 100644 --- a/pkgs/desktops/gnome/extensions/unite/default.nix +++ b/pkgs/desktops/gnome/extensions/unite/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, gnome-shell, fetchFromGitHub, xprop, glib }: +{ + lib, + stdenv, + gnome-shell, + fetchFromGitHub, + xprop, + glib, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-unite"; diff --git a/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix b/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix index e8d43bb158312..82692ae90f42e 100644 --- a/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix +++ b/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, gnome-shell }: +{ + lib, + stdenv, + fetchFromGitHub, + gnome-shell, +}: stdenv.mkDerivation rec { pname = "gnome-shell-extension-window-corner-preview"; diff --git a/pkgs/desktops/gnome/gdk-pixbuf-cache-builder.nix b/pkgs/desktops/gnome/gdk-pixbuf-cache-builder.nix index 398e9144e2448..8f4313e92d2f6 100644 --- a/pkgs/desktops/gnome/gdk-pixbuf-cache-builder.nix +++ b/pkgs/desktops/gnome/gdk-pixbuf-cache-builder.nix @@ -19,18 +19,20 @@ in # Generate the cache file by running gdk-pixbuf-query-loaders for each # package and concatenating the results. -runCommand "gdk-pixbuf-loaders.cache" { - preferLocalBuild = true; -} '' - ( - for package in ${lib.escapeShellArgs loaderPackages}; do - module_dir="$package/${gdk-pixbuf.moduleDir}" - if [[ ! -d "$module_dir" ]]; then - echo "Error: gdkPixbufCacheBuilder: Passed package “''${package}” does not contain GdkPixbuf loaders in “${gdk-pixbuf.moduleDir}”." 1>&2 - exit 1 - fi - GDK_PIXBUF_MODULEDIR="$module_dir" \ - ${stdenv.hostPlatform.emulator buildPackages} ${gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders - done - ) > "$out" -'' +runCommand "gdk-pixbuf-loaders.cache" + { + preferLocalBuild = true; + } + '' + ( + for package in ${lib.escapeShellArgs loaderPackages}; do + module_dir="$package/${gdk-pixbuf.moduleDir}" + if [[ ! -d "$module_dir" ]]; then + echo "Error: gdkPixbufCacheBuilder: Passed package “''${package}” does not contain GdkPixbuf loaders in “${gdk-pixbuf.moduleDir}”." 1>&2 + exit 1 + fi + GDK_PIXBUF_MODULEDIR="$module_dir" \ + ${stdenv.hostPlatform.emulator buildPackages} ${gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders + done + ) > "$out" + '' diff --git a/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix b/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix index 9c84bb4e342a0..c26a40c003dcc 100644 --- a/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix @@ -1,15 +1,16 @@ -{ lib -, fetchPypi -, buildPythonApplication -, poetry-core -, colorama -, packaging -, pydantic -, requests -, pygobject3 -, tqdm -, gobject-introspection -, wrapGAppsNoGuiHook +{ + lib, + fetchPypi, + buildPythonApplication, + poetry-core, + colorama, + packaging, + pydantic, + requests, + pygobject3, + tqdm, + gobject-introspection, + wrapGAppsNoGuiHook, }: buildPythonApplication rec { diff --git a/pkgs/desktops/gnome/nixos/gsettings-overrides/default.nix b/pkgs/desktops/gnome/nixos/gsettings-overrides/default.nix index fbe08a93d89db..dd1bca40366a5 100644 --- a/pkgs/desktops/gnome/nixos/gsettings-overrides/default.nix +++ b/pkgs/desktops/gnome/nixos/gsettings-overrides/default.nix @@ -1,28 +1,32 @@ -{ lib -, runCommand -, gsettings-desktop-schemas -, gnome-shell -, glib -, gnome-flashback -, nixos-artwork -, nixos-background-light ? nixos-artwork.wallpapers.simple-blue -, nixos-background-dark ? nixos-artwork.wallpapers.simple-dark-gray -, extraGSettingsOverrides ? "" -, extraGSettingsOverridePackages ? [ ] -, favoriteAppsOverride ? "" -, flashbackEnabled ? false +{ + lib, + runCommand, + gsettings-desktop-schemas, + gnome-shell, + glib, + gnome-flashback, + nixos-artwork, + nixos-background-light ? nixos-artwork.wallpapers.simple-blue, + nixos-background-dark ? nixos-artwork.wallpapers.simple-dark-gray, + extraGSettingsOverrides ? "", + extraGSettingsOverridePackages ? [ ], + favoriteAppsOverride ? "", + flashbackEnabled ? false, }: let inherit (lib) concatMapStringsSep; - gsettingsOverridePackages = [ - gsettings-desktop-schemas - gnome-shell - ] ++ lib.optionals flashbackEnabled [ - gnome-flashback - ] ++ extraGSettingsOverridePackages; + gsettingsOverridePackages = + [ + gsettings-desktop-schemas + gnome-shell + ] + ++ lib.optionals flashbackEnabled [ + gnome-flashback + ] + ++ extraGSettingsOverridePackages; gsettingsOverrides = '' [org.gnome.desktop.background] @@ -44,7 +48,10 @@ runCommand "gnome-gsettings-overrides" { preferLocalBuild = true; } '' schema_dir="$data_dir/glib-2.0/schemas" mkdir -p "$schema_dir" - ${concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages} + ${concatMapStringsSep "\n" ( + pkg: + "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"" + ) gsettingsOverridePackages} chmod -R a+w "$data_dir" cat - > "$schema_dir/zz-nixos-defaults.gschema.override" <<- EOF diff --git a/pkgs/desktops/gnome/update.nix b/pkgs/desktops/gnome/update.nix index ce8ed07a5ae3c..d6b92b0e77cc2 100644 --- a/pkgs/desktops/gnome/update.nix +++ b/pkgs/desktops/gnome/update.nix @@ -1,15 +1,33 @@ -{ stdenv, pkgs, lib, writeScript, python3, common-updater-scripts }: -{ packageName, attrPath ? packageName, versionPolicy ? "tagged", freeze ? false }: +{ + stdenv, + pkgs, + lib, + writeScript, + python3, + common-updater-scripts, +}: +{ + packageName, + attrPath ? packageName, + versionPolicy ? "tagged", + freeze ? false, +}: let - python = python3.withPackages (p: [ p.requests p.libversion ]); - package = lib.attrByPath (lib.splitString "." attrPath) (throw "Cannot find attribute ‘${attrPath}’.") pkgs; + python = python3.withPackages (p: [ + p.requests + p.libversion + ]); + package = + lib.attrByPath (lib.splitString "." attrPath) (throw "Cannot find attribute ‘${attrPath}’.") + pkgs; packageVersion = lib.getVersion package; upperBound = let versionComponents = lib.versions.splitVersion packageVersion; minorVersion = lib.versions.minor packageVersion; - minorAvailable = builtins.length versionComponents > 1 && builtins.match "[0-9]+" minorVersion != null; + minorAvailable = + builtins.length versionComponents > 1 && builtins.match "[0-9]+" minorVersion != null; nextMinor = builtins.fromJSON minorVersion + 1; upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}"; in @@ -77,9 +95,16 @@ let print(json.dumps(report)) ''; -in { +in +{ name = "gnome-update-script"; - command = [ updateScript attrPath packageName packageVersion versionPolicy ] ++ upperBound; + command = [ + updateScript + attrPath + packageName + packageVersion + versionPolicy + ] ++ upperBound; supportedFeatures = [ "commit" ]; diff --git a/pkgs/desktops/gnustep/base/default.nix b/pkgs/desktops/gnustep/base/default.nix index 9d47bb7ee9546..bab6487cc988e 100644 --- a/pkgs/desktops/gnustep/base/default.nix +++ b/pkgs/desktops/gnustep/base/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, aspell -, audiofile -, make -, wrapGNUstepAppsHook -, cups -, fetchzip -, fetchpatch -, gmp -, gnutls -, libffi -, binutils-unwrapped -, libjpeg -, libtiff -, libpng -, giflib -, libxml2 -, libxslt -, libiconv -, libobjc -, libgcrypt -, icu -, pkg-config -, portaudio -, libiberty +{ + lib, + stdenv, + aspell, + audiofile, + make, + wrapGNUstepAppsHook, + cups, + fetchzip, + fetchpatch, + gmp, + gnutls, + libffi, + binutils-unwrapped, + libjpeg, + libtiff, + libpng, + giflib, + libxml2, + libxslt, + libiconv, + libobjc, + libgcrypt, + icu, + pkg-config, + portaudio, + libiberty, }: stdenv.mkDerivation (finalAttrs: { @@ -33,16 +34,33 @@ stdenv.mkDerivation (finalAttrs: { url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${finalAttrs.version}.tar.gz"; hash = "sha256-4fjdsLBsYEDxLOFrq17dKii2sLKvOaFCu0cw3qQtM5U="; }; - outputs = [ "out" "dev" "lib" ]; - nativeBuildInputs = [ pkg-config make wrapGNUstepAppsHook ]; + outputs = [ + "out" + "dev" + "lib" + ]; + nativeBuildInputs = [ + pkg-config + make + wrapGNUstepAppsHook + ]; propagatedBuildInputs = [ - aspell audiofile + aspell + audiofile cups - gmp gnutls - libffi binutils-unwrapped - libjpeg libtiff libpng giflib - libxml2 libxslt libiconv - libobjc libgcrypt + gmp + gnutls + libffi + binutils-unwrapped + libjpeg + libtiff + libpng + giflib + libxml2 + libxslt + libiconv + libobjc + libgcrypt icu portaudio libiberty @@ -69,11 +87,17 @@ stdenv.mkDerivation (finalAttrs: { ]; meta = { - changelog = "https://github.com/gnustep/libs-base/releases/tag/base-${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + changelog = "https://github.com/gnustep/libs-base/releases/tag/base-${ + builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }"; description = "Implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa"; homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/desktops/gnustep/gorm/default.nix b/pkgs/desktops/gnustep/gorm/default.nix index e71cc124451d8..59c9c729f8bef 100644 --- a/pkgs/desktops/gnustep/gorm/default.nix +++ b/pkgs/desktops/gnustep/gorm/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchzip -, base -, back -, make -, wrapGNUstepAppsHook -, gui +{ + lib, + stdenv, + fetchzip, + base, + back, + make, + wrapGNUstepAppsHook, + gui, }: stdenv.mkDerivation (finalAttrs: { @@ -17,15 +18,26 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-B7NNRA3qA2PFbb03m58EBBONuIciLf6eU+YSR0qvaCo="; }; - nativeBuildInputs = [ make wrapGNUstepAppsHook ]; - buildInputs = [ base back gui ]; + nativeBuildInputs = [ + make + wrapGNUstepAppsHook + ]; + buildInputs = [ + base + back + gui + ]; meta = { description = "Graphical Object Relationship Modeller is an easy-to-use interface designer for GNUstep"; homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; mainProgram = "Gorm"; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/desktops/gnustep/gui/default.nix b/pkgs/desktops/gnustep/gui/default.nix index 498b120adea49..34694caf310a0 100644 --- a/pkgs/desktops/gnustep/gui/default.nix +++ b/pkgs/desktops/gnustep/gui/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, make -, wrapGNUstepAppsHook -, fetchzip -, base +{ + lib, + stdenv, + make, + wrapGNUstepAppsHook, + fetchzip, + base, }: stdenv.mkDerivation (finalAttrs: { @@ -15,18 +16,27 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-+4XEJ6PKpantbIbyNroFMaNBTFffkuW/ajSocGQO9Mo="; }; - nativeBuildInputs = [ make wrapGNUstepAppsHook ]; + nativeBuildInputs = [ + make + wrapGNUstepAppsHook + ]; buildInputs = [ base ]; patches = [ ./fixup-all.patch ]; meta = { - changelog = "https://github.com/gnustep/libs-gui/releases/tag/gui-${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + changelog = "https://github.com/gnustep/libs-gui/releases/tag/gui-${ + builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }"; description = "GUI class library of GNUstep"; homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/desktops/gnustep/gworkspace/default.nix b/pkgs/desktops/gnustep/gworkspace/default.nix index 5e4877706ec8a..92f60105d1c8f 100644 --- a/pkgs/desktops/gnustep/gworkspace/default.nix +++ b/pkgs/desktops/gnustep/gworkspace/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, back -, base -, gui -, make -, wrapGNUstepAppsHook -, fetchurl -, system_preferences +{ + lib, + stdenv, + back, + base, + gui, + make, + wrapGNUstepAppsHook, + fetchurl, + system_preferences, }: stdenv.mkDerivation (finalAttrs: { @@ -21,8 +22,16 @@ stdenv.mkDerivation (finalAttrs: { # additional dependencies: # - PDFKit framework from http://gap.nongnu.org/ # - TODO: to --enable-gwmetadata, need libDBKit as well as sqlite! - nativeBuildInputs = [ make wrapGNUstepAppsHook ]; - buildInputs = [ back base gui system_preferences ]; + nativeBuildInputs = [ + make + wrapGNUstepAppsHook + ]; + buildInputs = [ + back + base + gui + system_preferences + ]; configureFlags = [ "--with-inotify" ]; meta = { @@ -30,7 +39,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; mainProgram = "GWorkspace"; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/desktops/gnustep/libobjc2/default.nix b/pkgs/desktops/gnustep/libobjc2/default.nix index ccbbdec13ac0f..06e0b45095c08 100644 --- a/pkgs/desktops/gnustep/libobjc2/default.nix +++ b/pkgs/desktops/gnustep/libobjc2/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, robin-map +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + robin-map, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,11 @@ stdenv.mkDerivation (finalAttrs: { description = "Objective-C runtime for use with GNUstep"; homepage = "https://gnustep.github.io/"; license = licenses.mit; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/desktops/gnustep/make/default.nix b/pkgs/desktops/gnustep/make/default.nix index 32dda5f648389..06aa0a59bd39a 100644 --- a/pkgs/desktops/gnustep/make/default.nix +++ b/pkgs/desktops/gnustep/make/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, which -, libobjc +{ + lib, + stdenv, + fetchurl, + which, + libobjc, }: stdenv.mkDerivation (finalAttrs: { @@ -35,11 +36,17 @@ stdenv.mkDerivation (finalAttrs: { setupHook = ./setup-hook.sh; meta = { - changelog = "https://github.com/gnustep/tools-make/releases/tag/make-${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + changelog = "https://github.com/gnustep/tools-make/releases/tag/make-${ + builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version + }"; description = "Build manager for GNUstep"; homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/desktops/gnustep/projectcenter/default.nix b/pkgs/desktops/gnustep/projectcenter/default.nix index 89f2e769a0664..b93b5f073b6a5 100644 --- a/pkgs/desktops/gnustep/projectcenter/default.nix +++ b/pkgs/desktops/gnustep/projectcenter/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, make -, wrapGNUstepAppsHook -, base -, back -, gui -, gorm -, gnumake -, gdb +{ + lib, + stdenv, + fetchFromGitHub, + make, + wrapGNUstepAppsHook, + base, + back, + gui, + gorm, + gnumake, + gdb, }: stdenv.mkDerivation (finalAttrs: { @@ -22,19 +23,33 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-uXT2UUvMZNc6Fqi2BUXQimbZk8b3IqXzB+A2btBOmms="; }; - nativeBuildInputs = [ make wrapGNUstepAppsHook ]; + nativeBuildInputs = [ + make + wrapGNUstepAppsHook + ]; # NOTE: need a patch for ProjectCenter to help it locate some necessary tools: # 1. Framework/PCProjectLauncher.m, locate gdb (say among NIX_GNUSTEP_SYSTEM_TOOLS) # 2. Framework/PCProjectBuilder.m, locate gmake (similar) - propagatedBuildInputs = [ base back gui gnumake gdb gorm ]; + propagatedBuildInputs = [ + base + back + gui + gnumake + gdb + gorm + ]; meta = { description = "GNUstep's integrated development environment"; homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; mainProgram = "ProjectCenter"; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/desktops/gnustep/systempreferences/default.nix b/pkgs/desktops/gnustep/systempreferences/default.nix index 079653c1983b2..d9262af361918 100644 --- a/pkgs/desktops/gnustep/systempreferences/default.nix +++ b/pkgs/desktops/gnustep/systempreferences/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, make -, wrapGNUstepAppsHook -, back -, base -, gui +{ + lib, + stdenv, + fetchurl, + make, + wrapGNUstepAppsHook, + back, + base, + gui, }: stdenv.mkDerivation (finalAttrs: { @@ -17,15 +18,26 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "1fg7c3ihfgvl6n21rd17fs9ivx3l8ps874m80vz86n1callgs339"; }; - nativeBuildInputs = [ make wrapGNUstepAppsHook ]; - buildInputs = [ back base gui ]; + nativeBuildInputs = [ + make + wrapGNUstepAppsHook + ]; + buildInputs = [ + back + base + gui + ]; meta = { description = "Settings manager for the GNUstep environment and its applications"; homepage = "https://gnustep.github.io/"; license = lib.licenses.lgpl2Plus; mainProgram = "SystemPreferences"; - maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ]; + maintainers = with lib.maintainers; [ + ashalkhakov + matthewbauer + dblsaiko + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix index a6bf2877ef581..6701f56b35ec6 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, nixosTests -, cmake -, gsettings-qt -, lomiri-ui-extras -, lomiri-ui-toolkit -, pkg-config -, qmltermwidget -, qtbase -, qtdeclarative -, qtsystems -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + nixosTests, + cmake, + gsettings-qt, + lomiri-ui-extras, + lomiri-ui-toolkit, + pkg-config, + qmltermwidget, + qtbase, + qtdeclarative, + qtsystems, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index ff636197d738a..40646d439901e 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, nixosTests -, cmake -, gettext -, libapparmor -, lomiri-action-api -, lomiri-content-hub -, lomiri-ui-extras -, lomiri-ui-toolkit -, pkg-config -, qqc2-suru-style -, qtbase -, qtdeclarative -, qtquickcontrols2 -, qtsystems -, qtwebengine -, wrapQtAppsHook -, xvfb-run +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + nixosTests, + cmake, + gettext, + libapparmor, + lomiri-action-api, + lomiri-content-hub, + lomiri-ui-extras, + lomiri-ui-toolkit, + pkg-config, + qqc2-suru-style, + qtbase, + qtdeclarative, + qtquickcontrols2, + qtsystems, + qtwebengine, + wrapQtAppsHook, + xvfb-run, }: let @@ -45,21 +46,23 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - postPatch = '' - substituteInPlace src/{Morph,Ubuntu}/CMakeLists.txt \ - --replace '/usr/lib/''${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml' "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - - # We normally don't want to use absolute paths in desktop file, but this one is special - # There appears to be some issue in lomiri-app-launch's lookup of relative Icon entries (while lomiri is starting up?) - # that makes the session segfault. - # As a compromise, hardcode /run/current-system - substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \ - --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=/run/current-system/sw/share/icons/hicolor/scalable/apps/morph-browser.svg' \ - --replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg' - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - substituteInPlace CMakeLists.txt \ - --replace 'add_subdirectory(tests)' "" - ''; + postPatch = + '' + substituteInPlace src/{Morph,Ubuntu}/CMakeLists.txt \ + --replace '/usr/lib/''${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml' "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # We normally don't want to use absolute paths in desktop file, but this one is special + # There appears to be some issue in lomiri-app-launch's lookup of relative Icon entries (while lomiri is starting up?) + # that makes the session segfault. + # As a compromise, hardcode /run/current-system + substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \ + --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=/run/current-system/sw/share/icons/hicolor/scalable/apps/morph-browser.svg' \ + --replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg' + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + substituteInPlace CMakeLists.txt \ + --replace 'add_subdirectory(tests)' "" + ''; strictDeps = true; @@ -91,16 +94,21 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [ - # Exclude tests - "-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [ - # Don't care about linter failures - "^flake8" - - # Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details - "^tst_QmlTests" - ]})") - ])) + (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( + lib.concatStringsSep ";" [ + # Exclude tests + "-E" + (lib.strings.escapeShellArg "(${ + lib.concatStringsSep "|" [ + # Don't care about linter failures + "^flake8" + + # Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details + "^tst_QmlTests" + ] + })") + ] + )) ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; @@ -108,7 +116,18 @@ stdenv.mkDerivation (finalAttrs: { preCheck = '' export HOME=$TMPDIR export QT_PLUGIN_PATH=${listToQtVar qtbase.qtPluginPrefix [ qtbase ]} - export QML2_IMPORT_PATH=${listToQtVar qtbase.qtQmlPrefix ([ lomiri-ui-toolkit qtwebengine qtdeclarative qtquickcontrols2 qtsystems ] ++ lomiri-ui-toolkit.propagatedBuildInputs)} + export QML2_IMPORT_PATH=${ + listToQtVar qtbase.qtQmlPrefix ( + [ + lomiri-ui-toolkit + qtwebengine + qtdeclarative + qtquickcontrols2 + qtsystems + ] + ++ lomiri-ui-toolkit.propagatedBuildInputs + ) + } ''; postInstall = '' @@ -134,7 +153,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Lightweight web browser tailored for Ubuntu Touch"; homepage = "https://gitlab.com/ubports/development/core/morph-browser"; changelog = "https://gitlab.com/ubports/development/core/morph-browser/-/blob/${finalAttrs.version}/ChangeLog"; - license = with licenses; [ gpl3Only cc-by-sa-30 ]; + license = with licenses; [ + gpl3Only + cc-by-sa-30 + ]; mainProgram = "morph-browser"; maintainers = teams.lomiri.members; platforms = platforms.linux; diff --git a/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix b/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix index c754ee22b70c8..31d9638848777 100644 --- a/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix +++ b/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, testers -, cmake -, cmake-extras -, glib -, intltool -, pkg-config -, validatePkgConfig +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + testers, + cmake, + cmake-extras, + glib, + intltool, + pkg-config, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/data/lomiri-sounds/default.nix b/pkgs/desktops/lomiri/data/lomiri-sounds/default.nix index 1b54723b2925e..37cdf3a4a1d11 100644 --- a/pkgs/desktops/lomiri/data/lomiri-sounds/default.nix +++ b/pkgs/desktops/lomiri/data/lomiri-sounds/default.nix @@ -1,9 +1,10 @@ -{ stdenvNoCC -, lib -, fetchFromGitLab -, gitUpdater -, testers -, cmake +{ + stdenvNoCC, + lib, + fetchFromGitLab, + gitUpdater, + testers, + cmake, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -37,7 +38,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = with lib; { description = "Notification and ringtone sound effects for Lomiri"; homepage = "https://gitlab.com/ubports/development/core/lomiri-sounds"; - license = with licenses; [ cc-by-30 cc0 cc-by-sa-30 cc-by-40 ]; + license = with licenses; [ + cc-by-30 + cc0 + cc-by-sa-30 + cc-by-40 + ]; maintainers = teams.lomiri.members; platforms = platforms.all; pkgConfigModules = [ diff --git a/pkgs/desktops/lomiri/data/lomiri-wallpapers/default.nix b/pkgs/desktops/lomiri/data/lomiri-wallpapers/default.nix index 9cdb7887ee88b..b45868c2808bd 100644 --- a/pkgs/desktops/lomiri/data/lomiri-wallpapers/default.nix +++ b/pkgs/desktops/lomiri/data/lomiri-wallpapers/default.nix @@ -1,7 +1,8 @@ -{ stdenvNoCC -, lib -, fetchFromGitLab -, gitUpdater +{ + stdenvNoCC, + lib, + fetchFromGitLab, + gitUpdater, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/development/cmake-extras/default.nix b/pkgs/desktops/lomiri/development/cmake-extras/default.nix index 7c0a1cbc0d5b9..21dc05dd12f46 100644 --- a/pkgs/desktops/lomiri/development/cmake-extras/default.nix +++ b/pkgs/desktops/lomiri/development/cmake-extras/default.nix @@ -1,8 +1,9 @@ -{ stdenvNoCC -, lib -, fetchFromGitLab -, cmake -, qtbase +{ + stdenvNoCC, + lib, + fetchFromGitLab, + cmake, + qtbase, }: stdenvNoCC.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/development/deviceinfo/default.nix b/pkgs/desktops/lomiri/development/deviceinfo/default.nix index 6b05a4adddcf3..0ceae216c9dde 100644 --- a/pkgs/desktops/lomiri/development/deviceinfo/default.nix +++ b/pkgs/desktops/lomiri/development/deviceinfo/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, testers -, cmake -, pkg-config -, cmake-extras -, gtest -, yaml-cpp +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + testers, + cmake, + pkg-config, + cmake-extras, + gtest, + yaml-cpp, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/development/geonames/default.nix b/pkgs/desktops/lomiri/development/geonames/default.nix index ce77bca6bc41c..d2fff65bf5f83 100644 --- a/pkgs/desktops/lomiri/development/geonames/default.nix +++ b/pkgs/desktops/lomiri/development/geonames/default.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, testers -, buildPackages -, cmake -, docbook-xsl-nons -, docbook_xml_dtd_45 -, gettext -, glib -, glibcLocales -, withExamples ? true -, gtk3 -# Uses gtkdoc-scan* tools, which produces a binary linked against lib for hostPlatform and executes it to generate docs -, withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform -, gtk-doc -, pkg-config -, validatePkgConfig +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + testers, + buildPackages, + cmake, + docbook-xsl-nons, + docbook_xml_dtd_45, + gettext, + glib, + glibcLocales, + withExamples ? true, + gtk3, + # Uses gtkdoc-scan* tools, which produces a binary linked against lib for hostPlatform and executes it to generate docs + withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + gtk-doc, + pkg-config, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -30,14 +31,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-AhRnUoku17kVY0UciHQXFDa6eCH6HQ4ZGIOobCaGTKQ="; }; - outputs = [ - "out" - "dev" - ] ++ lib.optionals withExamples [ - "bin" - ] ++ lib.optionals withDocumentation [ - "devdoc" - ]; + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals withExamples [ + "bin" + ] + ++ lib.optionals withDocumentation [ + "devdoc" + ]; postPatch = '' patchShebangs src/generate-locales.sh tests/setup-test-env.sh @@ -45,23 +49,27 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - cmake - gettext - glib # glib-compile-resources - pkg-config - validatePkgConfig - ] ++ lib.optionals withDocumentation [ - docbook-xsl-nons - docbook_xml_dtd_45 - gtk-doc - ]; + nativeBuildInputs = + [ + cmake + gettext + glib # glib-compile-resources + pkg-config + validatePkgConfig + ] + ++ lib.optionals withDocumentation [ + docbook-xsl-nons + docbook_xml_dtd_45 + gtk-doc + ]; - buildInputs = [ - glib - ] ++ lib.optionals withExamples [ - gtk3 - ]; + buildInputs = + [ + glib + ] + ++ lib.optionals withExamples [ + gtk3 + ]; # Tests need to be able to check locale LC_ALL = lib.optionalString finalAttrs.finalPackage.doCheck "en_US.UTF-8"; @@ -74,16 +82,18 @@ stdenv.mkDerivation (finalAttrs: { "LD=${stdenv.cc.targetPrefix}cc" ]; - cmakeFlags = [ - (lib.cmakeBool "WANT_DOC" withDocumentation) - (lib.cmakeBool "WANT_DEMO" withExamples) - (lib.cmakeBool "WANT_TESTS" finalAttrs.finalPackage.doCheck) - # Keeps finding & using glib-compile-resources from buildInputs otherwise - (lib.cmakeFeature "CMAKE_PROGRAM_PATH" (lib.makeBinPath [ buildPackages.glib.dev ])) - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - # only for cross without native execute support because the canExecute "emulator" call has a format that I can't get CMake to accept - (lib.cmakeFeature "CMAKE_CROSSCOMPILING_EMULATOR" (stdenv.hostPlatform.emulator buildPackages)) - ]; + cmakeFlags = + [ + (lib.cmakeBool "WANT_DOC" withDocumentation) + (lib.cmakeBool "WANT_DEMO" withExamples) + (lib.cmakeBool "WANT_TESTS" finalAttrs.finalPackage.doCheck) + # Keeps finding & using glib-compile-resources from buildInputs otherwise + (lib.cmakeFeature "CMAKE_PROGRAM_PATH" (lib.makeBinPath [ buildPackages.glib.dev ])) + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + # only for cross without native execute support because the canExecute "emulator" call has a format that I can't get CMake to accept + (lib.cmakeFeature "CMAKE_CROSSCOMPILING_EMULATOR" (stdenv.hostPlatform.emulator buildPackages)) + ]; preInstall = lib.optionalString withDocumentation '' # gtkdoc-mkhtml generates images without write permissions, errors out during install @@ -107,7 +117,8 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.all; # Cross requires hostPlatform emulation during build # https://gitlab.com/ubports/development/core/geonames/-/issues/1 - broken = stdenv.buildPlatform != stdenv.hostPlatform && !stdenv.hostPlatform.emulatorAvailable buildPackages; + broken = + stdenv.buildPlatform != stdenv.hostPlatform && !stdenv.hostPlatform.emulatorAvailable buildPackages; pkgConfigModules = [ "geonames" ]; diff --git a/pkgs/desktops/lomiri/development/gmenuharness/default.nix b/pkgs/desktops/lomiri/development/gmenuharness/default.nix index 101b6e2167774..e9b4cca04120e 100644 --- a/pkgs/desktops/lomiri/development/gmenuharness/default.nix +++ b/pkgs/desktops/lomiri/development/gmenuharness/default.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, cmake -, cmake-extras -, dbus -, dbus-test-runner -, glib -, gtest -, libqtdbustest -, lomiri-api -, pkg-config -, qtbase +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + cmake, + cmake-extras, + dbus, + dbus-test-runner, + glib, + gtest, + libqtdbustest, + lomiri-api, + pkg-config, + qtbase, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/development/lomiri-api/default.nix b/pkgs/desktops/lomiri/development/lomiri-api/default.nix index 491b95d22a456..847569744a823 100644 --- a/pkgs/desktops/lomiri/development/lomiri-api/default.nix +++ b/pkgs/desktops/lomiri/development/lomiri-api/default.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, makeFontsConf -, testers -, cmake -, cmake-extras -, dbus -, doxygen -, glib -, graphviz -, gtest -, libqtdbustest -, pkg-config -, python3 -, qtbase -, qtdeclarative +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + makeFontsConf, + testers, + cmake, + cmake-extras, + dbus, + doxygen, + glib, + graphviz, + gtest, + libqtdbustest, + pkg-config, + python3, + qtbase, + qtdeclarative, }: stdenv.mkDerivation (finalAttrs: { @@ -30,7 +31,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-UTl0vObSlEvHuLmDt7vS3yEqZWGklJ9tVwlUAtRSTlU="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; patches = [ (fetchpatch { @@ -102,7 +107,10 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Lomiri API Library for integrating with the Lomiri shell"; homepage = "https://gitlab.com/ubports/development/core/lomiri-api"; - license = with licenses; [ lgpl3Only gpl3Only ]; + license = with licenses; [ + lgpl3Only + gpl3Only + ]; maintainers = teams.lomiri.members; platforms = platforms.linux; pkgConfigModules = [ diff --git a/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix b/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix index ab19623356bd9..a095aee3d0928 100644 --- a/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix +++ b/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix @@ -1,44 +1,47 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, cmake -, cmake-extras -, curl -, dbus -, dbus-test-runner -, dpkg -, gobject-introspection -, gtest -, json-glib -, libxkbcommon -, lomiri-api -, lttng-ust -, pkg-config -, properties-cpp -, python3 -, systemd -, ubports-click -, validatePkgConfig -, zeitgeist -, withDocumentation ? true -, doxygen -, python3Packages -, sphinx +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + cmake, + cmake-extras, + curl, + dbus, + dbus-test-runner, + dpkg, + gobject-introspection, + gtest, + json-glib, + libxkbcommon, + lomiri-api, + lttng-ust, + pkg-config, + properties-cpp, + python3, + systemd, + ubports-click, + validatePkgConfig, + zeitgeist, + withDocumentation ? true, + doxygen, + python3Packages, + sphinx, }: stdenv.mkDerivation (finalAttrs: { pname = "lomiri-app-launch"; version = "0.1.9"; - outputs = [ - "out" - "dev" - ] ++ lib.optionals withDocumentation [ - "doc" - ]; + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals withDocumentation [ + "doc" + ]; src = fetchFromGitLab { owner = "ubports"; @@ -72,18 +75,20 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - cmake - dpkg # for setting LOMIRI_APP_LAUNCH_ARCH - gobject-introspection - lttng-ust - pkg-config - validatePkgConfig - ] ++ lib.optionals withDocumentation [ - doxygen - python3Packages.breathe - sphinx - ]; + nativeBuildInputs = + [ + cmake + dpkg # for setting LOMIRI_APP_LAUNCH_ARCH + gobject-introspection + lttng-ust + pkg-config + validatePkgConfig + ] + ++ lib.optionals withDocumentation [ + doxygen + python3Packages.breathe + sphinx + ]; buildInputs = [ cmake-extras @@ -101,9 +106,11 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ dbus - (python3.withPackages (ps: with ps; [ - python-dbusmock - ])) + (python3.withPackages ( + ps: with ps; [ + python-dbusmock + ] + )) ]; checkInputs = [ @@ -114,14 +121,19 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "ENABLE_MIRCLIENT" false) (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [ - # Exclude tests - "-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [ - # Flaky, randomly hangs - # https://gitlab.com/ubports/development/core/lomiri-app-launch/-/issues/19 - "^helper-handshake-test" - ]})") - ])) + (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( + lib.concatStringsSep ";" [ + # Exclude tests + "-E" + (lib.strings.escapeShellArg "(${ + lib.concatStringsSep "|" [ + # Flaky, randomly hangs + # https://gitlab.com/ubports/development/core/lomiri-app-launch/-/issues/19 + "^helper-handshake-test" + ] + })") + ] + )) ]; postBuild = lib.optionalString withDocumentation '' diff --git a/pkgs/desktops/lomiri/development/trust-store/default.nix b/pkgs/desktops/lomiri/development/trust-store/default.nix index 0e86eac2d6101..1c3b2e9bfc5c4 100644 --- a/pkgs/desktops/lomiri/development/trust-store/default.nix +++ b/pkgs/desktops/lomiri/development/trust-store/default.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, testers -, boost -, cmake -, cmake-extras -, dbus -, dbus-cpp -, doxygen -, gettext -, glog -, graphviz -, gtest -, libapparmor -, newt -, pkg-config -, process-cpp -, properties-cpp -, qtbase -, qtdeclarative -, validatePkgConfig +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + testers, + boost, + cmake, + cmake-extras, + dbus, + dbus-cpp, + doxygen, + gettext, + glog, + graphviz, + gtest, + libapparmor, + newt, + pkg-config, + process-cpp, + properties-cpp, + qtbase, + qtdeclarative, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -41,18 +42,20 @@ stdenv.mkDerivation (finalAttrs: { "bin" ]; - postPatch = '' - # pkg-config patching hook expects prefix variable - substituteInPlace data/trust-store.pc.in \ - --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ - --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' - - substituteInPlace src/core/trust/terminal_agent.h \ - --replace-fail '/bin/whiptail' '${lib.getExe' newt "whiptail"}' - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - substituteInPlace CMakeLists.txt \ - --replace-fail 'add_subdirectory(tests)' "" - ''; + postPatch = + '' + # pkg-config patching hook expects prefix variable + substituteInPlace data/trust-store.pc.in \ + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ + --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' + + substituteInPlace src/core/trust/terminal_agent.h \ + --replace-fail '/bin/whiptail' '${lib.getExe' newt "whiptail"}' + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'add_subdirectory(tests)' "" + ''; strictDeps = true; diff --git a/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix b/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix index 56b86eaa39185..353eb1a30b86d 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, cmake -, dbus -, libqtdbustest -, lomiri-api -, pkg-config -, qtbase -, qtdeclarative +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + cmake, + dbus, + libqtdbustest, + lomiri-api, + pkg-config, + qtbase, + qtdeclarative, }: stdenv.mkDerivation (finalAttrs: { @@ -32,16 +33,18 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - - # Need to replace prefix to not try to install into lomiri-api prefix - substituteInPlace src/CMakeLists.txt \ - --replace '--variable=plugindir' '--define-variable=prefix=''${CMAKE_INSTALL_PREFIX} --variable=plugindir' - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - sed -i CMakeLists.txt -e '/add_subdirectory(test)/d' - ''; + postPatch = + '' + substituteInPlace CMakeLists.txt \ + --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # Need to replace prefix to not try to install into lomiri-api prefix + substituteInPlace src/CMakeLists.txt \ + --replace '--variable=plugindir' '--define-variable=prefix=''${CMAKE_INSTALL_PREFIX} --variable=plugindir' + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + sed -i CMakeLists.txt -e '/add_subdirectory(test)/d' + ''; strictDeps = true; diff --git a/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix b/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix index 5fba080988793..1482cb770efdf 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, cmake -, lomiri-api -, lomiri-indicator-network -, pkg-config -, qtbase -, qtdeclarative +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + cmake, + lomiri-api, + lomiri-indicator-network, + pkg-config, + qtbase, + qtdeclarative, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix b/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix index 09fbe7d9b6eb5..4f1ee61b2623b 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, cmake -, cmake-extras -, pkg-config -, python3 -, qtbase -, qtdeclarative +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + cmake, + cmake-extras, + pkg-config, + python3, + qtbase, + qtdeclarative, }: stdenv.mkDerivation (finalAttrs: { @@ -21,15 +22,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-2Wyh+2AW6EeKRv26D4l+GIoH5sWC9SmOODNHOveFZPg="; }; - postPatch = '' - patchShebangs tests/imports/check_imports.py + postPatch = + '' + patchShebangs tests/imports/check_imports.py - substituteInPlace CMakeLists.txt \ - --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" '${placeholder "out"}/${qtbase.qtQmlPrefix}' - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - sed -i CMakeLists.txt \ - -e '/add_subdirectory(tests)/d' - ''; + substituteInPlace CMakeLists.txt \ + --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" '${placeholder "out"}/${qtbase.qtQmlPrefix}' + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + sed -i CMakeLists.txt \ + -e '/add_subdirectory(tests)/d' + ''; strictDeps = true; diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-extras/default.nix b/pkgs/desktops/lomiri/qml/lomiri-ui-extras/default.nix index 5a2097f476571..b76ec5eca94fc 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-ui-extras/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-ui-extras/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, cmake -, cmake-extras -, cups -, exiv2 -, lomiri-ui-toolkit -, pam -, pkg-config -, qtbase -, qtdeclarative -, xvfb-run +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + cmake, + cmake-extras, + cups, + exiv2, + lomiri-ui-toolkit, + pam, + pkg-config, + qtbase, + qtdeclarative, + xvfb-run, }: stdenv.mkDerivation (finalAttrs: { @@ -59,15 +60,20 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [ - # Exclude tests - "-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [ - # tst_busy_indicator runs into a codepath in lomiri-ui-toolkit that expects a working GL context - "^tst_busy_indicator" - # Photo & PhotoImageProvider Randomly fail, unsure why - "^tst_PhotoEditorPhoto" - ]})") - ])) + (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( + lib.concatStringsSep ";" [ + # Exclude tests + "-E" + (lib.strings.escapeShellArg "(${ + lib.concatStringsSep "|" [ + # tst_busy_indicator runs into a codepath in lomiri-ui-toolkit that expects a working GL context + "^tst_busy_indicator" + # Photo & PhotoImageProvider Randomly fail, unsure why + "^tst_PhotoEditorPhoto" + ] + })") + ] + )) ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; @@ -75,13 +81,23 @@ stdenv.mkDerivation (finalAttrs: { # Parallelism breaks xvfb-run-launched script for QML tests enableParallelChecking = false; - preCheck = let - listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix; - in '' - export QT_PLUGIN_PATH=${listToQtVar qtbase.qtPluginPrefix [ qtbase ]} - export QML2_IMPORT_PATH=${listToQtVar qtbase.qtQmlPrefix ([ qtdeclarative lomiri-ui-toolkit ] ++ lomiri-ui-toolkit.propagatedBuildInputs)} - export XDG_RUNTIME_DIR=$PWD - ''; + preCheck = + let + listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix; + in + '' + export QT_PLUGIN_PATH=${listToQtVar qtbase.qtPluginPrefix [ qtbase ]} + export QML2_IMPORT_PATH=${ + listToQtVar qtbase.qtQmlPrefix ( + [ + qtdeclarative + lomiri-ui-toolkit + ] + ++ lomiri-ui-toolkit.propagatedBuildInputs + ) + } + export XDG_RUNTIME_DIR=$PWD + ''; passthru = { updateScript = gitUpdater { }; diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix index d8f65fea41a7f..fba0305124b96 100644 --- a/pkgs/desktops/lomiri/services/biometryd/default.nix +++ b/pkgs/desktops/lomiri/services/biometryd/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, testers -, boost -, cmake -, cmake-extras -, dbus -, dbus-cpp -, gtest -, libapparmor -, libelf -, pkg-config -, process-cpp -, properties-cpp -, qtbase -, qtdeclarative -, sqlite -, validatePkgConfig +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + testers, + boost, + cmake, + cmake-extras, + dbus, + dbus-cpp, + gtest, + libapparmor, + libelf, + pkg-config, + process-cpp, + properties-cpp, + qtbase, + qtdeclarative, + sqlite, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -36,21 +37,23 @@ stdenv.mkDerivation (finalAttrs: { "dev" ]; - postPatch = '' - # Substitute systemd's prefix in pkg-config call - substituteInPlace data/CMakeLists.txt \ - --replace-fail 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' - - substituteInPlace src/biometry/qml/Biometryd/CMakeLists.txt \ - --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - - # For our automatic pkg-config output patcher to work, prefix must be used here - substituteInPlace data/biometryd.pc.in \ - --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ - --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' \ - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt - ''; + postPatch = + '' + # Substitute systemd's prefix in pkg-config call + substituteInPlace data/CMakeLists.txt \ + --replace-fail 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' + + substituteInPlace src/biometry/qml/Biometryd/CMakeLists.txt \ + --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # For our automatic pkg-config output patcher to work, prefix must be used here + substituteInPlace data/biometryd.pc.in \ + --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ + --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' \ + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt + ''; strictDeps = true; diff --git a/pkgs/desktops/lomiri/services/hfd-service/default.nix b/pkgs/desktops/lomiri/services/hfd-service/default.nix index ff5f34abc2947..51b5d99237528 100644 --- a/pkgs/desktops/lomiri/services/hfd-service/default.nix +++ b/pkgs/desktops/lomiri/services/hfd-service/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, accountsservice -, cmake -, cmake-extras -, deviceinfo -, libgbinder -, libglibutil -, pkg-config -, qtbase -, qtdeclarative -, qtfeedback +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + accountsservice, + cmake, + cmake-extras, + deviceinfo, + libgbinder, + libglibutil, + pkg-config, + qtbase, + qtdeclarative, + qtfeedback, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix index b6e07f20831dc..f7a18d5a07263 100644 --- a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix @@ -1,32 +1,33 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, boost -, cmake -, cmake-extras -, doxygen -, gst_all_1 -, gdk-pixbuf -, gtest -, makeFontsConf -, libapparmor -, libexif -, libqtdbustest -, librsvg -, lomiri-api -, persistent-cache-cpp -, pkg-config -, python3 -, qtbase -, qtdeclarative -, shared-mime-info -, taglib -, validatePkgConfig -, wrapGAppsHook3 -, xvfb-run +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + boost, + cmake, + cmake-extras, + doxygen, + gst_all_1, + gdk-pixbuf, + gtest, + makeFontsConf, + libapparmor, + libexif, + libqtdbustest, + librsvg, + lomiri-api, + persistent-cache-cpp, + pkg-config, + python3, + qtbase, + qtdeclarative, + shared-mime-info, + taglib, + validatePkgConfig, + wrapGAppsHook3, + xvfb-run, }: stdenv.mkDerivation (finalAttrs: { @@ -124,34 +125,40 @@ stdenv.mkDerivation (finalAttrs: { doxygen gdk-pixbuf # setup hook pkg-config - (python3.withPackages (ps: with ps; lib.optionals finalAttrs.finalPackage.doCheck [ - python-dbusmock - tornado - ])) + (python3.withPackages ( + ps: + with ps; + lib.optionals finalAttrs.finalPackage.doCheck [ + python-dbusmock + tornado + ] + )) validatePkgConfig wrapGAppsHook3 ]; - buildInputs = [ - boost - cmake-extras - gdk-pixbuf - libapparmor - libexif - librsvg - lomiri-api - persistent-cache-cpp - qtbase - qtdeclarative - shared-mime-info - taglib - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - # maybe add ugly to cover all kinds of formats? - ]); + buildInputs = + [ + boost + cmake-extras + gdk-pixbuf + libapparmor + libexif + librsvg + lomiri-api + persistent-cache-cpp + qtbase + qtdeclarative + shared-mime-info + taglib + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + # maybe add ugly to cover all kinds of formats? + ]); nativeCheckInputs = [ shared-mime-info @@ -170,10 +177,13 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "GSETTINGS_COMPILE" true) # error: use of old-style cast to 'std::remove_reference<_GstElement*>::type' {aka 'struct _GstElement*'} (lib.cmakeBool "Werror" false) - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [ - # QSignalSpy tests in QML suite always fail, pass when running interactively - "-E" "^qml" - ])) + (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( + lib.concatStringsSep ";" [ + # QSignalSpy tests in QML suite always fail, pass when running interactively + "-E" + "^qml" + ] + )) ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; @@ -182,7 +192,7 @@ stdenv.mkDerivation (finalAttrs: { preCheck = '' # Fontconfig warnings breaks some tests - export FONTCONFIG_FILE=${makeFontsConf { fontDirectories = []; }} + export FONTCONFIG_FILE=${makeFontsConf { fontDirectories = [ ]; }} export HOME=$TMPDIR # Some tests need Qt plugins @@ -208,7 +218,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "lomiri-thumbnailer-admin"; homepage = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer"; changelog = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/blob/${finalAttrs.version}/ChangeLog"; - license = with licenses; [ gpl3Only lgpl3Only ]; + license = with licenses; [ + gpl3Only + lgpl3Only + ]; maintainers = teams.lomiri.members; platforms = platforms.linux; pkgConfigModules = [ diff --git a/pkgs/desktops/lumina/default.nix b/pkgs/desktops/lumina/default.nix index 10e75eea38f02..8efde941304a8 100644 --- a/pkgs/desktops/lumina/default.nix +++ b/pkgs/desktops/lumina/default.nix @@ -1,26 +1,28 @@ { pkgs, libsForQt5 }: let - packages = self: with self; { + packages = + self: with self; { - lumina = callPackage ./lumina { }; - lumina-calculator = callPackage ./lumina-calculator { }; - lumina-pdf = callPackage ./lumina-pdf { }; + lumina = callPackage ./lumina { }; + lumina-calculator = callPackage ./lumina-calculator { }; + lumina-pdf = callPackage ./lumina-pdf { }; - preRequisitePackages = [ - pkgs.fluxbox - pkgs.libsForQt5.kwindowsystem - pkgs.numlockx - pkgs.qt5.qtsvg - pkgs.xscreensaver - ]; + preRequisitePackages = [ + pkgs.fluxbox + pkgs.libsForQt5.kwindowsystem + pkgs.numlockx + pkgs.qt5.qtsvg + pkgs.xscreensaver + ]; - corePackages = [ - lumina - lumina-calculator - lumina-pdf - ]; + corePackages = [ + lumina + lumina-calculator + lumina-pdf + ]; - }; + }; -in pkgs.lib.makeScope libsForQt5.newScope packages +in +pkgs.lib.makeScope libsForQt5.newScope packages diff --git a/pkgs/desktops/lumina/lumina-calculator/default.nix b/pkgs/desktops/lumina/lumina-calculator/default.nix index 758bbf70d851f..98ed2a4fadeb8 100644 --- a/pkgs/desktops/lumina/lumina-calculator/default.nix +++ b/pkgs/desktops/lumina/lumina-calculator/default.nix @@ -1,4 +1,11 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qttools }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + qttools, +}: mkDerivation rec { pname = "lumina-calculator"; @@ -13,7 +20,10 @@ mkDerivation rec { sourceRoot = "${src.name}/src-qt5"; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; buildInputs = [ qtbase ]; diff --git a/pkgs/desktops/lumina/lumina-pdf/default.nix b/pkgs/desktops/lumina/lumina-pdf/default.nix index cc9bd48c9de15..04117d7f4cce4 100644 --- a/pkgs/desktops/lumina/lumina-pdf/default.nix +++ b/pkgs/desktops/lumina/lumina-pdf/default.nix @@ -1,4 +1,12 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qttools, poppler }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + qttools, + poppler, +}: mkDerivation rec { pname = "lumina-pdf"; @@ -13,9 +21,15 @@ mkDerivation rec { sourceRoot = "${src.name}/src-qt5"; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; - buildInputs = [ qtbase poppler ]; + buildInputs = [ + qtbase + poppler + ]; postPatch = '' sed -i '1i\#include \' Renderer-poppler.cpp diff --git a/pkgs/desktops/lumina/lumina/default.nix b/pkgs/desktops/lumina/lumina/default.nix index de3d17571d641..280885b07cae1 100644 --- a/pkgs/desktops/lumina/lumina/default.nix +++ b/pkgs/desktops/lumina/lumina/default.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fluxbox -, hicolor-icon-theme -, libarchive -, numlockx -, qmake -, qtbase -, qtmultimedia -, qtsvg -, qttools -, qtx11extras -, xorg -, xscreensaver -, wrapGAppsHook3 +{ + lib, + mkDerivation, + fetchFromGitHub, + fluxbox, + hicolor-icon-theme, + libarchive, + numlockx, + qmake, + qtbase, + qtmultimedia, + qtsvg, + qttools, + qtx11extras, + xorg, + xscreensaver, + wrapGAppsHook3, }: mkDerivation rec { diff --git a/pkgs/desktops/lxde/core/lxappearance/default.nix b/pkgs/desktops/lxde/core/lxappearance/default.nix index 0143ab595e68e..f7d297f0f423a 100644 --- a/pkgs/desktops/lxde/core/lxappearance/default.nix +++ b/pkgs/desktops/lxde/core/lxappearance/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchurl -, intltool -, pkg-config -, libX11 -, gtk2 -, gtk3 -, wrapGAppsHook3 -, withGtk3 ? true +{ + lib, + stdenv, + fetchurl, + intltool, + pkg-config, + libX11, + gtk2, + gtk3, + wrapGAppsHook3, + withGtk3 ? true, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxde/core/lxmenu-data/default.nix b/pkgs/desktops/lxde/core/lxmenu-data/default.nix index fc00c4cdad1e9..a53885f33ed74 100644 --- a/pkgs/desktops/lxde/core/lxmenu-data/default.nix +++ b/pkgs/desktops/lxde/core/lxmenu-data/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, intltool }: +{ + lib, + stdenv, + fetchurl, + intltool, +}: stdenv.mkDerivation rec { pname = "lxmenu-data"; diff --git a/pkgs/desktops/lxde/core/lxpanel/default.nix b/pkgs/desktops/lxde/core/lxpanel/default.nix index 3fc8f0b06cd8f..9c47504405666 100644 --- a/pkgs/desktops/lxde/core/lxpanel/default.nix +++ b/pkgs/desktops/lxde/core/lxpanel/default.nix @@ -1,30 +1,32 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, m4 -, intltool -, libxmlxx -, keybinder -, keybinder3 -, gtk2 -, gtk3 -, libX11 -, libfm -, libwnck -, libwnck2 -, libXmu -, libXpm -, cairo -, gdk-pixbuf -, gdk-pixbuf-xlib -, menu-cache -, lxmenu-data -, wirelesstools -, curl -, supportAlsa ? false, alsa-lib -, withGtk3 ? true +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + m4, + intltool, + libxmlxx, + keybinder, + keybinder3, + gtk2, + gtk3, + libX11, + libfm, + libwnck, + libwnck2, + libXmu, + libXpm, + cairo, + gdk-pixbuf, + gdk-pixbuf-xlib, + menu-cache, + lxmenu-data, + wirelesstools, + curl, + supportAlsa ? false, + alsa-lib, + withGtk3 ? true, }: stdenv.mkDerivation rec { @@ -36,7 +38,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-HjGPV9fja2HCOlBNA9JDDHja0ULBgERRBh8bPqVEHug="; }; - nativeBuildInputs = [ pkg-config gettext m4 intltool libxmlxx ]; + nativeBuildInputs = [ + pkg-config + gettext + m4 + intltool + libxmlxx + ]; buildInputs = [ (if withGtk3 then keybinder3 else keybinder) (if withGtk3 then gtk3 else gtk2) diff --git a/pkgs/desktops/lxde/core/lxrandr/default.nix b/pkgs/desktops/lxde/core/lxrandr/default.nix index 791540468f3aa..2e395e8c10faa 100644 --- a/pkgs/desktops/lxde/core/lxrandr/default.nix +++ b/pkgs/desktops/lxde/core/lxrandr/default.nix @@ -1,12 +1,14 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, gtk2 -, libX11 -, xrandr -, withGtk3 ? false, gtk3 +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + gtk2, + libX11, + xrandr, + withGtk3 ? false, + gtk3, }: stdenv.mkDerivation rec { @@ -20,7 +22,10 @@ stdenv.mkDerivation rec { configureFlags = lib.optional withGtk3 "--enable-gtk3"; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; buildInputs = [ libX11 xrandr diff --git a/pkgs/desktops/lxde/core/lxsession/default.nix b/pkgs/desktops/lxde/core/lxsession/default.nix index 056651e0390eb..74e49b6bb273a 100644 --- a/pkgs/desktops/lxde/core/lxsession/default.nix +++ b/pkgs/desktops/lxde/core/lxsession/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, docbook_xml_dtd_412 -, docbook_xsl -, intltool -, libxml2 -, libxslt -, pkg-config -, wrapGAppsHook3 -, gtk2-x11 -, libX11 -, polkit -, vala +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + docbook_xml_dtd_412, + docbook_xsl, + intltool, + libxml2, + libxslt, + pkg-config, + wrapGAppsHook3, + gtk2-x11, + libX11, + polkit, + vala, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxde/core/lxtask/default.nix b/pkgs/desktops/lxde/core/lxtask/default.nix index b29581dfe5fa4..0d765e5d45131 100644 --- a/pkgs/desktops/lxde/core/lxtask/default.nix +++ b/pkgs/desktops/lxde/core/lxtask/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gtk3 -, intltool -, libintl -, pkg-config -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gtk3, + intltool, + libintl, + pkg-config, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxde/default.nix b/pkgs/desktops/lxde/default.nix index 8421bc5dac62d..3b701cadd12bd 100644 --- a/pkgs/desktops/lxde/default.nix +++ b/pkgs/desktops/lxde/default.nix @@ -1,25 +1,31 @@ -{ config, lib, pkgs }: +{ + config, + lib, + pkgs, +}: -lib.makeScope pkgs.newScope (self: with self; { +lib.makeScope pkgs.newScope ( + self: with self; { - inherit (pkgs) gtk2-x11; + inherit (pkgs) gtk2-x11; - lxappearance = callPackage ./core/lxappearance { }; + lxappearance = callPackage ./core/lxappearance { }; - lxappearance-gtk2 = callPackage ./core/lxappearance { - gtk2 = gtk2-x11; - withGtk3 = false; - }; + lxappearance-gtk2 = callPackage ./core/lxappearance { + gtk2 = gtk2-x11; + withGtk3 = false; + }; - lxmenu-data = callPackage ./core/lxmenu-data { }; + lxmenu-data = callPackage ./core/lxmenu-data { }; - lxpanel = callPackage ./core/lxpanel { - gtk2 = gtk2-x11; - }; + lxpanel = callPackage ./core/lxpanel { + gtk2 = gtk2-x11; + }; - lxrandr = callPackage ./core/lxrandr { }; + lxrandr = callPackage ./core/lxrandr { }; - lxsession = callPackage ./core/lxsession { }; + lxsession = callPackage ./core/lxsession { }; - lxtask = callPackage ./core/lxtask { }; -}) + lxtask = callPackage ./core/lxtask { }; + } +) diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix index 2403975b481b7..3db308a08c7c1 100644 --- a/pkgs/desktops/lxqt/compton-conf/default.nix +++ b/pkgs/desktops/lxqt/compton-conf/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libconfig -, lxqt-build-tools -, pkg-config -, qtbase -, qttools -, qtx11extras -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libconfig, + lxqt-build-tools, + pkg-config, + qtbase, + qttools, + qtx11extras, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/libdbusmenu-lxqt/default.nix b/pkgs/desktops/lxqt/libdbusmenu-lxqt/default.nix index 5c4ac79a2d826..3c71e8d3268df 100644 --- a/pkgs/desktops/lxqt/libdbusmenu-lxqt/default.nix +++ b/pkgs/desktops/lxqt/libdbusmenu-lxqt/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qtbase -, wrapQtAppsHook -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qtbase, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix index 6bfd1bafb5368..734818687e4d7 100644 --- a/pkgs/desktops/lxqt/libfm-qt/default.nix +++ b/pkgs/desktops/lxqt/libfm-qt/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libXdmcp -, libexif -, libfm -, libpthreadstubs -, libxcb -, lxqt-build-tools -, lxqt-menu-data -, menu-cache -, pcre -, pkg-config -, qttools -, wrapQtAppsHook -, gitUpdater -, version ? "2.1.0" -, qtx11extras ? null +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libXdmcp, + libexif, + libfm, + libpthreadstubs, + libxcb, + lxqt-build-tools, + lxqt-menu-data, + menu-cache, + pcre, + pkg-config, + qttools, + wrapQtAppsHook, + gitUpdater, + version ? "2.1.0", + qtx11extras ? null, }: stdenv.mkDerivation rec { @@ -27,10 +28,12 @@ stdenv.mkDerivation rec { owner = "lxqt"; repo = "libfm-qt"; rev = version; - hash = { - "1.4.0" = "sha256-QxPYSA7537K+/dRTxIYyg+Q/kj75rZOdzlUsmSdQcn4="; - "2.1.0" = "sha256-yH3lyOpmDWjA3bV6msjw7fShs1HnAFOmkGer2Z9N/Tg="; - }."${version}"; + hash = + { + "1.4.0" = "sha256-QxPYSA7537K+/dRTxIYyg+Q/kj75rZOdzlUsmSdQcn4="; + "2.1.0" = "sha256-yH3lyOpmDWjA3bV6msjw7fShs1HnAFOmkGer2Z9N/Tg="; + } + ."${version}"; }; nativeBuildInputs = [ @@ -50,8 +53,7 @@ stdenv.mkDerivation rec { lxqt-menu-data menu-cache pcre - ] ++ (lib.optionals (lib.versionAtLeast "2.0.0" version) [qtx11extras]) - ; + ] ++ (lib.optionals (lib.versionAtLeast "2.0.0" version) [ qtx11extras ]); passthru.updateScript = gitUpdater { }; diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix index 83ed1106ff408..2e884006e2a78 100644 --- a/pkgs/desktops/lxqt/liblxqt/default.nix +++ b/pkgs/desktops/lxqt/liblxqt/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gitUpdater -, kwindowsystem -, libXScrnSaver -, libqtxdg -, lxqt-build-tools -, polkit-qt-1 -, qtsvg -, qttools -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gitUpdater, + kwindowsystem, + libXScrnSaver, + libqtxdg, + lxqt-build-tools, + polkit-qt-1, + qtsvg, + qttools, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index ebb4baa05ddda..89ae2a9318658 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, qtsvg -, lxqt-build-tools -, wrapQtAppsHook -, gitUpdater -, version ? "4.1.0" +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + qtsvg, + lxqt-build-tools, + wrapQtAppsHook, + gitUpdater, + version ? "4.1.0", }: stdenv.mkDerivation rec { @@ -18,10 +19,12 @@ stdenv.mkDerivation rec { owner = "lxqt"; repo = pname; rev = version; - hash = { - "3.12.0" = "sha256-y+3noaHubZnwUUs8vbMVvZPk+6Fhv37QXUb//reedCU="; - "4.1.0" = "sha256-Efn08a8MkR459Ww0WiEb5GXKgQzJwKupIdL2TySpivE="; - }."${version}"; + hash = + { + "3.12.0" = "sha256-y+3noaHubZnwUUs8vbMVvZPk+6Fhv37QXUb//reedCU="; + "4.1.0" = "sha256-Efn08a8MkR459Ww0WiEb5GXKgQzJwKupIdL2TySpivE="; + } + ."${version}"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/libsysstat/default.nix b/pkgs/desktops/lxqt/libsysstat/default.nix index 09b8450740adf..2030d5579e32d 100644 --- a/pkgs/desktops/lxqt/libsysstat/default.nix +++ b/pkgs/desktops/lxqt/libsysstat/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qtbase -, lxqt-build-tools -, wrapQtAppsHook -, gitUpdater +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qtbase, + lxqt-build-tools, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix index 4a6013f6eb1a1..b7d7792aef091 100644 --- a/pkgs/desktops/lxqt/lximage-qt/default.nix +++ b/pkgs/desktops/lxqt/lximage-qt/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libXdmcp -, libexif -, libfm-qt -, libpthreadstubs -, lxqt-build-tools -, menu-cache -, qtbase -, qtimageformats -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libXdmcp, + libexif, + libfm-qt, + libpthreadstubs, + lxqt-build-tools, + menu-cache, + qtbase, + qtimageformats, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix index eaf0d808df08d..08103ae0f946a 100644 --- a/pkgs/desktops/lxqt/lxqt-about/default.nix +++ b/pkgs/desktops/lxqt/lxqt-about/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix index b194f6e09f6a4..12fca14d95bf8 100644 --- a/pkgs/desktops/lxqt/lxqt-admin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, polkit-qt-1 -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + polkit-qt-1, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix index 0dabe275542c9..144c819a177e6 100644 --- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix +++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, lxqt-build-tools -, json-glib -, libexif -, libfm-qt -, menu-cache -, qtbase -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + lxqt-build-tools, + json-glib, + libexif, + libfm-qt, + menu-cache, + qtbase, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix index 7c1a96cfe7841..15c2a73c9f0f8 100644 --- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix +++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, pcre -, qtbase -, glib -, perl -, wrapQtAppsHook -, gitUpdater -, version ? "2.1.0" +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + pcre, + qtbase, + glib, + perl, + wrapQtAppsHook, + gitUpdater, + version ? "2.1.0", }: stdenv.mkDerivation rec { @@ -20,10 +21,12 @@ stdenv.mkDerivation rec { owner = "lxqt"; repo = pname; rev = version; - hash = { - "0.13.0" = "sha256-4/hVlEdqqqd6CNitCRkIzsS1R941vPJdirIklp4acXA="; - "2.1.0" = "sha256-fZ5DbXnYm6oWDZdwiw2DpWFQMYd7VZ4oKkGIzQkaV94="; - }."${version}"; + hash = + { + "0.13.0" = "sha256-4/hVlEdqqqd6CNitCRkIzsS1R941vPJdirIklp4acXA="; + "2.1.0" = "sha256-fZ5DbXnYm6oWDZdwiw2DpWFQMYd7VZ4oKkGIzQkaV94="; + } + ."${version}"; }; postPatch = '' diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix index a7a5d7df71917..4215ce43fde52 100644 --- a/pkgs/desktops/lxqt/lxqt-config/default.nix +++ b/pkgs/desktops/lxqt/lxqt-config/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, glib -, kwindowsystem -, libXScrnSaver -, libXcursor -, libXdmcp -, libkscreen -, liblxqt -, libpthreadstubs -, libqtxdg -, libxcb -, lxqt-build-tools -, lxqt-menu-data -, pkg-config -, qtbase -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, xf86inputlibinput -, xkeyboard_config -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + glib, + kwindowsystem, + libXScrnSaver, + libXcursor, + libXdmcp, + libkscreen, + liblxqt, + libpthreadstubs, + libqtxdg, + libxcb, + lxqt-build-tools, + lxqt-menu-data, + pkg-config, + qtbase, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + xf86inputlibinput, + xkeyboard_config, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix index 8079df71267ee..4e2cb1a8c705f 100644 --- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix +++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, lxqt-build-tools -, qtbase -, qttools -, qtsvg -, kwindowsystem -, liblxqt -, libqtxdg -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lxqt-build-tools, + qtbase, + qttools, + qtsvg, + kwindowsystem, + liblxqt, + libqtxdg, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-menu-data/default.nix b/pkgs/desktops/lxqt/lxqt-menu-data/default.nix index da2e761059395..ccb89df6fd59f 100644 --- a/pkgs/desktops/lxqt/lxqt-menu-data/default.nix +++ b/pkgs/desktops/lxqt/lxqt-menu-data/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, lxqt-build-tools -, qttools -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lxqt-build-tools, + qttools, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix index 4f01a9d7114ab..df05f4664e66c 100644 --- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix +++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, layer-shell-qt -, liblxqt -, libqtxdg -, lxqt-build-tools -, qtbase -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + layer-shell-qt, + liblxqt, + libqtxdg, + lxqt-build-tools, + qtbase, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix index 2a42933d5c497..e496260b7fe4e 100644 --- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix +++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, qtbase -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + qtbase, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix index bee22f7405f5a..eed744d1c0151 100644 --- a/pkgs/desktops/lxqt/lxqt-panel/default.nix +++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, alsa-lib -, libdbusmenu-lxqt -, kguiaddons -, kwindowsystem -, layer-shell-qt -, libXdamage -, libXdmcp -, libXtst -, libdbusmenu -, liblxqt -, libpthreadstubs -, libpulseaudio -, libqtxdg -, libstatgrab -, libsysstat -, lm_sensors -, lxqt-build-tools -, lxqt-globalkeys -, lxqt-menu-data -, menu-cache -, pcre -, qtbase -, qtsvg -, qttools -, qtwayland -, solid -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + libdbusmenu-lxqt, + kguiaddons, + kwindowsystem, + layer-shell-qt, + libXdamage, + libXdmcp, + libXtst, + libdbusmenu, + liblxqt, + libpthreadstubs, + libpulseaudio, + libqtxdg, + libstatgrab, + libsysstat, + lm_sensors, + lxqt-build-tools, + lxqt-globalkeys, + lxqt-menu-data, + menu-cache, + pcre, + qtbase, + qtsvg, + qttools, + qtwayland, + solid, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix index 3d7ca3ec68a7e..5a632594dde5d 100644 --- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix +++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, pcre -, pkg-config -, polkit -, polkit-qt-1 -, qtbase -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + pcre, + pkg-config, + polkit, + polkit-qt-1, + qtbase, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix index dd46c72fdd90b..f24d1d62f02e2 100644 --- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix +++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kidletime -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, lxqt-globalkeys -, qtbase -, qtsvg -, qttools -, qtwayland -, solid -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kidletime, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + lxqt-globalkeys, + qtbase, + qtsvg, + qttools, + qtwayland, + solid, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix index 687846ba2e256..7efceeb7dad8a 100644 --- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libdbusmenu-lxqt -, libdbusmenu ? null -, libfm-qt -, libqtxdg -, lxqt-build-tools -, gitUpdater -, qtbase -, qtsvg -, qttools -, wrapQtAppsHook -, version ? "2.1.0" +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libdbusmenu-lxqt, + libdbusmenu ? null, + libfm-qt, + libqtxdg, + lxqt-build-tools, + gitUpdater, + qtbase, + qtsvg, + qttools, + wrapQtAppsHook, + version ? "2.1.0", }: stdenv.mkDerivation rec { @@ -23,10 +24,12 @@ stdenv.mkDerivation rec { owner = "lxqt"; repo = pname; rev = version; - hash = { - "1.4.1" = "sha256-sp/LvQNfodMYQ4kNbBv4PTNfs38XjYLezuxRltZd4kc="; - "2.1.0" = "sha256-F171IgAhRXJ9sTt8VVDVO9hrmyHbCElsskdDmFr3HB0="; - }."${version}"; + hash = + { + "1.4.1" = "sha256-sp/LvQNfodMYQ4kNbBv4PTNfs38XjYLezuxRltZd4kc="; + "2.1.0" = "sha256-F171IgAhRXJ9sTt8VVDVO9hrmyHbCElsskdDmFr3HB0="; + } + ."${version}"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix index fd2b586778a5e..49bb815f1eb24 100644 --- a/pkgs/desktops/lxqt/lxqt-runner/default.nix +++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, layer-shell-qt -, liblxqt -, libqtxdg -, lxqt-build-tools -, lxqt-globalkeys -, menu-cache -, muparser -, pcre -, pkg-config -, qtbase -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + layer-shell-qt, + liblxqt, + libqtxdg, + lxqt-build-tools, + lxqt-globalkeys, + menu-cache, + muparser, + pcre, + pkg-config, + qtbase, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix index 2519954c9dca2..e01b14f308888 100644 --- a/pkgs/desktops/lxqt/lxqt-session/default.nix +++ b/pkgs/desktops/lxqt/lxqt-session/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, layer-shell-qt -, libXdmcp -, liblxqt -, libpthreadstubs -, libqtxdg -, lxqt-build-tools -, pkg-config -, procps -, qtbase -, qtsvg -, qttools -, qtwayland -, qtxdg-tools -, wrapQtAppsHook -, xdg-user-dirs -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + layer-shell-qt, + libXdmcp, + liblxqt, + libpthreadstubs, + libqtxdg, + lxqt-build-tools, + pkg-config, + procps, + qtbase, + qtsvg, + qttools, + qtwayland, + qtxdg-tools, + wrapQtAppsHook, + xdg-user-dirs, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix index 91fd56c211f78..0db1cefbafb81 100644 --- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix +++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, qtbase -, qtsvg -, qttools -, qtwayland -, sudo -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + qtbase, + qtsvg, + qttools, + qtwayland, + sudo, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix index 50b814724c511..0b90cbfd4a8f6 100644 --- a/pkgs/desktops/lxqt/lxqt-themes/default.nix +++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, lxqt-build-tools -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lxqt-build-tools, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix index 254ab75ed9212..7ab69bbdd9738 100644 --- a/pkgs/desktops/lxqt/obconf-qt/default.nix +++ b/pkgs/desktops/lxqt/obconf-qt/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libSM -, libXdmcp -, libpthreadstubs -, lxqt-build-tools -, openbox -, pcre -, pkg-config -, qtbase -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libSM, + libXdmcp, + libpthreadstubs, + lxqt-build-tools, + openbox, + pcre, + pkg-config, + qtbase, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix index e375c20791c70..4b23fb6e37d55 100644 --- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix +++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, layer-shell-qt -, libexif -, libfm-qt -, lxqt-build-tools -, lxqt-menu-data -, menu-cache -, pkg-config -, qtbase -, qtimageformats -, qttools -, qtwayland -, qtsvg -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + layer-shell-qt, + libexif, + libfm-qt, + lxqt-build-tools, + lxqt-menu-data, + menu-cache, + pkg-config, + qtbase, + qtimageformats, + qttools, + qtwayland, + qtsvg, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/qlipper/default.nix b/pkgs/desktops/lxqt/qlipper/default.nix index 7ae58dadd84f3..e958658f3c9c5 100644 --- a/pkgs/desktops/lxqt/qlipper/default.nix +++ b/pkgs/desktops/lxqt/qlipper/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, qttools -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + qttools, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix index c3cb608538a54..ea9da54dfb64a 100644 --- a/pkgs/desktops/lxqt/qps/default.nix +++ b/pkgs/desktops/lxqt/qps/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, liblxqt -, libqtxdg -, lxqt-build-tools -, qtbase -, qtsvg -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + liblxqt, + libqtxdg, + lxqt-build-tools, + qtbase, + qtsvg, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix index 1ca75acdc36ce..823a3b09cc9e9 100644 --- a/pkgs/desktops/lxqt/qterminal/default.nix +++ b/pkgs/desktops/lxqt/qterminal/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, layer-shell-qt -, lxqt-build-tools -, qtbase -, qtermwidget -, qttools -, qtwayland -, wrapQtAppsHook -, gitUpdater -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + layer-shell-qt, + lxqt-build-tools, + qtbase, + qtermwidget, + qttools, + qtwayland, + wrapQtAppsHook, + gitUpdater, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix index 90b1a561bdf28..ac06cab1d0539 100644 --- a/pkgs/desktops/lxqt/qtermwidget/default.nix +++ b/pkgs/desktops/lxqt/qtermwidget/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qtbase -, qttools -, lxqt-build-tools -, wrapQtAppsHook -, gitUpdater -, version ? "2.1.0" +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qtbase, + qttools, + lxqt-build-tools, + wrapQtAppsHook, + gitUpdater, + version ? "2.1.0", }: stdenv.mkDerivation rec { @@ -18,10 +19,12 @@ stdenv.mkDerivation rec { owner = "lxqt"; repo = pname; rev = version; - hash = { - "1.4.0" = "sha256-wYUOqAiBjnupX1ITbFMw7sAk42V37yDz9SrjVhE4FgU="; - "2.1.0" = "sha256-I8fVggCi9qN+Jpqb/EC5/DfwuhGF55trbPESZQWPZ5M="; - }."${version}"; + hash = + { + "1.4.0" = "sha256-wYUOqAiBjnupX1ITbFMw7sAk42V37yDz9SrjVhE4FgU="; + "2.1.0" = "sha256-I8fVggCi9qN+Jpqb/EC5/DfwuhGF55trbPESZQWPZ5M="; + } + ."${version}"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/qtxdg-tools/default.nix b/pkgs/desktops/lxqt/qtxdg-tools/default.nix index 4e1b5b4144d84..8971a3aa1fe00 100644 --- a/pkgs/desktops/lxqt/qtxdg-tools/default.nix +++ b/pkgs/desktops/lxqt/qtxdg-tools/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libqtxdg -, lxqt-build-tools -, qtbase -, qtsvg -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libqtxdg, + lxqt-build-tools, + qtbase, + qtsvg, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix index fa132756edcf0..ac14483f1cea5 100644 --- a/pkgs/desktops/lxqt/screengrab/default.nix +++ b/pkgs/desktops/lxqt/screengrab/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, autoPatchelfHook -, gitUpdater -, kwindowsystem -, libXdmcp -, libpthreadstubs -, libqtxdg -, perl -, pkg-config -, qtbase -, qtsvg -, qttools -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + autoPatchelfHook, + gitUpdater, + kwindowsystem, + libXdmcp, + libpthreadstubs, + libqtxdg, + perl, + pkg-config, + qtbase, + qtsvg, + qttools, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix index 4e63d967ffbce..1f31a200f7a7e 100644 --- a/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix +++ b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, kwindowsystem -, libexif -, libfm-qt -, lxqt-qtplugin -, menu-cache -, qtbase -, wrapQtAppsHook -, gitUpdater -, extraQtStyles ? [] +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + kwindowsystem, + libexif, + libfm-qt, + lxqt-qtplugin, + menu-cache, + qtbase, + wrapQtAppsHook, + gitUpdater, + extraQtStyles ? [ ], }: stdenv.mkDerivation rec { @@ -36,8 +37,7 @@ stdenv.mkDerivation rec { lxqt-qtplugin menu-cache qtbase - ] - ++ extraQtStyles; + ] ++ extraQtStyles; passthru.updateScript = gitUpdater { }; diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix index c8f6f89b2c6be..f457772b4d2dc 100644 --- a/pkgs/desktops/mate/atril/default.nix +++ b/pkgs/desktops/mate/atril/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, caja -, gtk3 -, glib -, libxml2 -, libarchive -, libsecret -, poppler -, mate-desktop -, itstool -, hicolor-icon-theme -, texlive -, wrapGAppsHook3 -, enableEpub ? true -, webkitgtk_4_1 -, enableDjvu ? true -, djvulibre -, enablePostScript ? true -, libspectre -, enableXps ? true -, libgxps -, enableImages ? false -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + caja, + gtk3, + glib, + libxml2, + libarchive, + libsecret, + poppler, + mate-desktop, + itstool, + hicolor-icon-theme, + texlive, + wrapGAppsHook3, + enableEpub ? true, + webkitgtk_4_1, + enableDjvu ? true, + djvulibre, + enablePostScript ? true, + libspectre, + enableXps ? true, + libgxps, + enableImages ? false, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -42,26 +43,27 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ - caja - gtk3 - glib - itstool - libarchive - libsecret - libxml2 - poppler - mate-desktop - hicolor-icon-theme - texlive.bin.core # for synctex, used by the pdf back-end - ] - ++ lib.optionals enableDjvu [ djvulibre ] - ++ lib.optionals enableEpub [ webkitgtk_4_1 ] - ++ lib.optionals enablePostScript [ libspectre ] - ++ lib.optionals enableXps [ libgxps ] - ; + buildInputs = + [ + caja + gtk3 + glib + itstool + libarchive + libsecret + libxml2 + poppler + mate-desktop + hicolor-icon-theme + texlive.bin.core # for synctex, used by the pdf back-end + ] + ++ lib.optionals enableDjvu [ djvulibre ] + ++ lib.optionals enableEpub [ webkitgtk_4_1 ] + ++ lib.optionals enablePostScript [ libspectre ] + ++ lib.optionals enableXps [ libgxps ]; - configureFlags = [ ] + configureFlags = + [ ] ++ lib.optionals (enableDjvu) [ "--enable-djvu" ] ++ lib.optionals (enableEpub) [ "--enable-epub" ] ++ lib.optionals (enablePostScript) [ "--enable-ps" ] diff --git a/pkgs/desktops/mate/caja-dropbox/default.nix b/pkgs/desktops/mate/caja-dropbox/default.nix index 7841d0769a369..00ee318983763 100644 --- a/pkgs/desktops/mate/caja-dropbox/default.nix +++ b/pkgs/desktops/mate/caja-dropbox/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, pkg-config -, gobject-introspection -, gdk-pixbuf -, caja -, gtk3 -, python3 -, dropbox -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + substituteAll, + pkg-config, + gobject-introspection, + gdk-pixbuf, + caja, + gtk3, + python3, + dropbox, + mateUpdateScript, }: let @@ -37,10 +38,12 @@ stdenv.mkDerivation rec { pkg-config gobject-introspection gdk-pixbuf - (python3.withPackages (ps: with ps; [ - docutils - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + docutils + pygobject3 + ] + )) ]; buildInputs = [ @@ -58,7 +61,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Dropbox extension for Caja file manager"; homepage = "https://github.com/mate-desktop/caja-dropbox"; - license = with licenses; [ gpl3Plus cc-by-nd-30 ]; + license = with licenses; [ + gpl3Plus + cc-by-nd-30 + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix index 205dae5e8592f..f51e57229436a 100644 --- a/pkgs/desktops/mate/caja-extensions/default.nix +++ b/pkgs/desktops/mate/caja-extensions/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, caja -, glib -, gst_all_1 -, gtk3 -, gupnp -, imagemagick -, mate-desktop -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + caja, + glib, + gst_all_1, + gtk3, + gupnp, + imagemagick, + mate-desktop, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix index 59474ac8920f4..b39f302274a33 100644 --- a/pkgs/desktops/mate/caja/default.nix +++ b/pkgs/desktops/mate/caja/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, gtk-layer-shell -, gtk3 -, libnotify -, libxml2 -, libexif -, exempi -, mate-desktop -, hicolor-icon-theme -, wayland -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gtk-layer-shell, + gtk3, + libnotify, + libxml2, + libexif, + exempi, + mate-desktop, + hicolor-icon-theme, + wayland, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -52,7 +53,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "File manager for the MATE desktop"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/caja/with-extensions.nix b/pkgs/desktops/mate/caja/with-extensions.nix index a66840ca94a0c..b3ccc7c00c356 100644 --- a/pkgs/desktops/mate/caja/with-extensions.nix +++ b/pkgs/desktops/mate/caja/with-extensions.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, glib -, wrapGAppsHook3 -, xorg -, caja -, cajaExtensions -, extensions ? [ ] -, useDefaultExtensions ? true +{ + stdenv, + lib, + glib, + wrapGAppsHook3, + xorg, + caja, + cajaExtensions, + extensions ? [ ], + useDefaultExtensions ? true, }: let @@ -23,8 +24,11 @@ stdenv.mkDerivation { wrapGAppsHook3 ]; - buildInputs = lib.forEach selectedExtensions (x: x.buildInputs) ++ selectedExtensions - ++ [ caja ] ++ caja.buildInputs; + buildInputs = + lib.forEach selectedExtensions (x: x.buildInputs) + ++ selectedExtensions + ++ [ caja ] + ++ caja.buildInputs; dontUnpack = true; dontConfigure = true; @@ -53,9 +57,11 @@ stdenv.mkDerivation { preFixup = lib.optionalString (selectedExtensions != [ ]) '' gappsWrapperArgs+=( - --set CAJA_EXTENSION_DIRS ${lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") selectedExtensions} + --set CAJA_EXTENSION_DIRS ${ + lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") selectedExtensions + } ) ''; - inherit (caja.meta); + inherit (caja.meta) ; } diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix index da8c8e065789a..1ba36fe6051dd 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -1,116 +1,124 @@ { pkgs, lib }: let - packages = self: with self; { + packages = + self: with self; { - # Update script tailored to mate packages from git repository - mateUpdateScript = { pname, odd-unstable ? true, rev-prefix ? "v", url ? null }: - pkgs.gitUpdater { - inherit odd-unstable rev-prefix; - url = if url == null then "https://git.mate-desktop.org/${pname}" else url; - }; + # Update script tailored to mate packages from git repository + mateUpdateScript = + { + pname, + odd-unstable ? true, + rev-prefix ? "v", + url ? null, + }: + pkgs.gitUpdater { + inherit odd-unstable rev-prefix; + url = if url == null then "https://git.mate-desktop.org/${pname}" else url; + }; - atril = callPackage ./atril { }; - caja = callPackage ./caja { }; - caja-dropbox = callPackage ./caja-dropbox { }; - caja-extensions = callPackage ./caja-extensions { }; - caja-with-extensions = callPackage ./caja/with-extensions.nix { }; - engrampa = callPackage ./engrampa { }; - eom = callPackage ./eom { }; - libmatekbd = callPackage ./libmatekbd { }; - libmatemixer = callPackage ./libmatemixer { }; - libmateweather = callPackage ./libmateweather { }; - marco = callPackage ./marco { }; - mate-applets = callPackage ./mate-applets { }; - mate-backgrounds = callPackage ./mate-backgrounds { }; - mate-calc = callPackage ./mate-calc { }; - mate-common = callPackage ./mate-common { }; - mate-control-center = callPackage ./mate-control-center { }; - mate-desktop = callPackage ./mate-desktop { }; - mate-gsettings-overrides = callPackage ./mate-gsettings-overrides { }; - mate-icon-theme = callPackage ./mate-icon-theme { }; - mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { }; - mate-indicator-applet = callPackage ./mate-indicator-applet { }; - mate-media = callPackage ./mate-media { }; - mate-menus = callPackage ./mate-menus { }; - mate-netbook = callPackage ./mate-netbook { }; - mate-notification-daemon = callPackage ./mate-notification-daemon { }; - mate-panel = callPackage ./mate-panel { }; - mate-panel-with-applets = callPackage ./mate-panel/with-applets.nix { }; - mate-polkit = callPackage ./mate-polkit { }; - mate-power-manager = callPackage ./mate-power-manager { }; - mate-sensors-applet = callPackage ./mate-sensors-applet { }; - mate-session-manager = callPackage ./mate-session-manager { }; - mate-settings-daemon = callPackage ./mate-settings-daemon { }; - mate-settings-daemon-wrapped = callPackage ./mate-settings-daemon/wrapped.nix { }; - mate-screensaver = callPackage ./mate-screensaver { }; - mate-system-monitor = callPackage ./mate-system-monitor { }; - mate-terminal = callPackage ./mate-terminal { }; - mate-themes = callPackage ./mate-themes { }; - mate-tweak = callPackage ./mate-tweak { }; - mate-user-guide = callPackage ./mate-user-guide { }; - mate-user-share = callPackage ./mate-user-share { }; - mate-utils = callPackage ./mate-utils { }; - mate-wayland-session = callPackage ./mate-wayland-session { }; - mozo = callPackage ./mozo { }; - pluma = callPackage ./pluma { }; - python-caja = callPackage ./python-caja { }; + atril = callPackage ./atril { }; + caja = callPackage ./caja { }; + caja-dropbox = callPackage ./caja-dropbox { }; + caja-extensions = callPackage ./caja-extensions { }; + caja-with-extensions = callPackage ./caja/with-extensions.nix { }; + engrampa = callPackage ./engrampa { }; + eom = callPackage ./eom { }; + libmatekbd = callPackage ./libmatekbd { }; + libmatemixer = callPackage ./libmatemixer { }; + libmateweather = callPackage ./libmateweather { }; + marco = callPackage ./marco { }; + mate-applets = callPackage ./mate-applets { }; + mate-backgrounds = callPackage ./mate-backgrounds { }; + mate-calc = callPackage ./mate-calc { }; + mate-common = callPackage ./mate-common { }; + mate-control-center = callPackage ./mate-control-center { }; + mate-desktop = callPackage ./mate-desktop { }; + mate-gsettings-overrides = callPackage ./mate-gsettings-overrides { }; + mate-icon-theme = callPackage ./mate-icon-theme { }; + mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { }; + mate-indicator-applet = callPackage ./mate-indicator-applet { }; + mate-media = callPackage ./mate-media { }; + mate-menus = callPackage ./mate-menus { }; + mate-netbook = callPackage ./mate-netbook { }; + mate-notification-daemon = callPackage ./mate-notification-daemon { }; + mate-panel = callPackage ./mate-panel { }; + mate-panel-with-applets = callPackage ./mate-panel/with-applets.nix { }; + mate-polkit = callPackage ./mate-polkit { }; + mate-power-manager = callPackage ./mate-power-manager { }; + mate-sensors-applet = callPackage ./mate-sensors-applet { }; + mate-session-manager = callPackage ./mate-session-manager { }; + mate-settings-daemon = callPackage ./mate-settings-daemon { }; + mate-settings-daemon-wrapped = callPackage ./mate-settings-daemon/wrapped.nix { }; + mate-screensaver = callPackage ./mate-screensaver { }; + mate-system-monitor = callPackage ./mate-system-monitor { }; + mate-terminal = callPackage ./mate-terminal { }; + mate-themes = callPackage ./mate-themes { }; + mate-tweak = callPackage ./mate-tweak { }; + mate-user-guide = callPackage ./mate-user-guide { }; + mate-user-share = callPackage ./mate-user-share { }; + mate-utils = callPackage ./mate-utils { }; + mate-wayland-session = callPackage ./mate-wayland-session { }; + mozo = callPackage ./mozo { }; + pluma = callPackage ./pluma { }; + python-caja = callPackage ./python-caja { }; - # Caja and mate-panel are managed in NixOS module. - basePackages = [ - libmatekbd - libmatemixer - libmateweather - marco - mate-common - mate-control-center - mate-desktop - mate-icon-theme - mate-menus - mate-notification-daemon - mate-polkit - mate-session-manager - mate-settings-daemon - mate-settings-daemon-wrapped - mate-themes - ]; + # Caja and mate-panel are managed in NixOS module. + basePackages = [ + libmatekbd + libmatemixer + libmateweather + marco + mate-common + mate-control-center + mate-desktop + mate-icon-theme + mate-menus + mate-notification-daemon + mate-polkit + mate-session-manager + mate-settings-daemon + mate-settings-daemon-wrapped + mate-themes + ]; - extraPackages = [ - atril - caja-extensions # for caja-sendto - engrampa - eom - mate-applets - mate-backgrounds - mate-calc - mate-indicator-applet - mate-media - mate-netbook - mate-power-manager - mate-screensaver - mate-system-monitor - mate-terminal - mate-user-guide - # mate-user-share - mate-utils - mozo - pluma - ]; + extraPackages = [ + atril + caja-extensions # for caja-sendto + engrampa + eom + mate-applets + mate-backgrounds + mate-calc + mate-indicator-applet + mate-media + mate-netbook + mate-power-manager + mate-screensaver + mate-system-monitor + mate-terminal + mate-user-guide + # mate-user-share + mate-utils + mozo + pluma + ]; - cajaExtensions = [ - caja-extensions - ]; + cajaExtensions = [ + caja-extensions + ]; - panelApplets = [ - mate-applets - mate-indicator-applet - mate-netbook - mate-notification-daemon - mate-media - mate-power-manager - mate-sensors-applet - mate-utils - ]; - }; + panelApplets = [ + mate-applets + mate-indicator-applet + mate-netbook + mate-notification-daemon + mate-media + mate-power-manager + mate-sensors-applet + mate-utils + ]; + }; -in lib.makeScope pkgs.newScope packages +in +lib.makeScope pkgs.newScope packages diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix index dd4bfe0ef968d..2b7f8a266dd70 100644 --- a/pkgs/desktops/mate/engrampa/default.nix +++ b/pkgs/desktops/mate/engrampa/default.nix @@ -1,19 +1,21 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, libxml2 -, caja -, gtk3 -, hicolor-icon-theme -, json-glib -, mate-desktop -, wrapGAppsHook3 -, mateUpdateScript -# can be defaulted to true once switch to meson -, withMagic ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, file +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + libxml2, + caja, + gtk3, + hicolor-icon-theme, + json-glib, + mate-desktop, + wrapGAppsHook3, + mateUpdateScript, + # can be defaulted to true once switch to meson + withMagic ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + file, }: stdenv.mkDerivation rec { @@ -29,25 +31,29 @@ stdenv.mkDerivation rec { pkg-config gettext itstool - libxml2 # for xmllint + libxml2 # for xmllint wrapGAppsHook3 ]; - buildInputs = [ - caja - gtk3 - hicolor-icon-theme - json-glib - mate-desktop - ] ++ lib.optionals withMagic [ - file - ]; + buildInputs = + [ + caja + gtk3 + hicolor-icon-theme + json-glib + mate-desktop + ] + ++ lib.optionals withMagic [ + file + ]; - configureFlags = [ - "--with-cajadir=$$out/lib/caja/extensions-2.0" - ] ++ lib.optionals withMagic [ - "--enable-magic" - ]; + configureFlags = + [ + "--with-cajadir=$$out/lib/caja/extensions-2.0" + ] + ++ lib.optionals withMagic [ + "--enable-magic" + ]; enableParallelBuilding = true; @@ -57,7 +63,11 @@ stdenv.mkDerivation rec { description = "Archive Manager for MATE"; mainProgram = "engrampa"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + fdl11Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix index 197a6aee9e021..01566f483a6b9 100644 --- a/pkgs/desktops/mate/eom/default.nix +++ b/pkgs/desktops/mate/eom/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, exempi -, lcms2 -, libexif -, libjpeg -, librsvg -, libxml2 -, libpeas -, shared-mime-info -, gtk3 -, mate-desktop -, hicolor-icon-theme -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + exempi, + lcms2, + libexif, + libjpeg, + librsvg, + libxml2, + libpeas, + shared-mime-info, + gtk3, + mate-desktop, + hicolor-icon-theme, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix index 25b99584429f6..c5d1f280eaf94 100644 --- a/pkgs/desktops/mate/libmatemixer/default.nix +++ b/pkgs/desktops/mate/libmatemixer/default.nix @@ -1,17 +1,18 @@ -{ config -, lib -, stdenv -, fetchurl -, pkg-config -, gettext -, glib -, alsaSupport ? stdenv.hostPlatform.isLinux -, alsa-lib -, udev -, pulseaudioSupport ? config.pulseaudio or true -, libpulseaudio -, ossSupport ? false -, mateUpdateScript +{ + config, + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + udev, + pulseaudioSupport ? config.pulseaudio or true, + libpulseaudio, + ossSupport ? false, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -28,14 +29,17 @@ stdenv.mkDerivation rec { gettext ]; - buildInputs = [ - glib - ] ++ lib.optionals alsaSupport [ - alsa-lib - udev - ] ++ lib.optionals pulseaudioSupport [ - libpulseaudio - ]; + buildInputs = + [ + glib + ] + ++ lib.optionals alsaSupport [ + alsa-lib + udev + ] + ++ lib.optionals pulseaudioSupport [ + libpulseaudio + ]; configureFlags = lib.optional ossSupport "--enable-oss"; diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix index 68cf463f75946..d65549ba123a8 100644 --- a/pkgs/desktops/mate/libmateweather/default.nix +++ b/pkgs/desktops/mate/libmateweather/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, glib -, glib-networking -, libxml2 -, gtk3 -, libsoup_2_4 -, tzdata -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + glib-networking, + libxml2, + gtk3, + libsoup_2_4, + tzdata, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix index 4baa57b6c8c10..6e4a65ee02c91 100644 --- a/pkgs/desktops/mate/marco/default.nix +++ b/pkgs/desktops/mate/marco/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, libxml2 -, libcanberra-gtk3 -, libgtop -, libXdamage -, libXpresent -, libXres -, libstartup_notification -, zenity -, glib -, gtk3 -, mate-desktop -, mate-settings-daemon -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + libxml2, + libcanberra-gtk3, + libgtop, + libXdamage, + libXpresent, + libXres, + libstartup_notification, + zenity, + glib, + gtk3, + mate-desktop, + mate-settings-daemon, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix index b598e453a95a6..4b58224535f46 100644 --- a/pkgs/desktops/mate/mate-applets/default.nix +++ b/pkgs/desktops/mate/mate-applets/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, dbus-glib -, glib -, gtk3 -, gucharmap -, libmateweather -, libnl -, libwnck -, libgtop -, libxml2 -, libnotify -, mate-desktop -, mate-panel -, polkit -, upower -, wirelesstools -, hicolor-icon-theme -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + dbus-glib, + glib, + gtk3, + gucharmap, + libmateweather, + libnl, + libwnck, + libgtop, + libxml2, + libnotify, + mate-desktop, + mate-panel, + polkit, + upower, + wirelesstools, + hicolor-icon-theme, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -58,7 +59,10 @@ stdenv.mkDerivation rec { wirelesstools ]; - configureFlags = [ "--enable-suid=no" "--enable-in-process" ]; + configureFlags = [ + "--enable-suid=no" + "--enable-in-process" + ]; env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; @@ -70,7 +74,10 @@ stdenv.mkDerivation rec { description = "Applets for use with the MATE panel"; mainProgram = "mate-cpufreq-selector"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.linux; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix index 0d512260d3039..191c74b32325f 100644 --- a/pkgs/desktops/mate/mate-backgrounds/default.nix +++ b/pkgs/desktops/mate/mate-backgrounds/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenvNoCC -, fetchurl -, meson -, ninja -, gettext -, mateUpdateScript +{ + lib, + stdenvNoCC, + fetchurl, + meson, + ninja, + gettext, + mateUpdateScript, }: stdenvNoCC.mkDerivation rec { @@ -27,7 +28,10 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Background images and data for MATE"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus cc-by-sa-40 ]; + license = with licenses; [ + gpl2Plus + cc-by-sa-40 + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix index fac27474e32a3..ece5fbc9b47a0 100644 --- a/pkgs/desktops/mate/mate-common/default.nix +++ b/pkgs/desktops/mate/mate-common/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenvNoCC -, fetchurl -, mateUpdateScript +{ + lib, + stdenvNoCC, + fetchurl, + mateUpdateScript, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix index 3a052549a7d1d..6d123dc7c4d28 100644 --- a/pkgs/desktops/mate/mate-control-center/default.nix +++ b/pkgs/desktops/mate/mate-control-center/default.nix @@ -1,34 +1,35 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, libxml2 -, accountsservice -, caja -, dbus-glib -, libxklavier -, libcanberra-gtk3 -, libgtop -, libmatekbd -, librsvg -, libayatana-appindicator -, glib -, desktop-file-utils -, dconf -, gtk3 -, polkit -, marco -, mate-desktop -, mate-menus -, mate-panel -, mate-settings-daemon -, udisks2 -, systemd -, hicolor-icon-theme -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + libxml2, + accountsservice, + caja, + dbus-glib, + libxklavier, + libcanberra-gtk3, + libgtop, + libmatekbd, + librsvg, + libayatana-appindicator, + glib, + desktop-file-utils, + dconf, + gtk3, + polkit, + marco, + mate-desktop, + mate-menus, + mate-panel, + mate-settings-daemon, + udisks2, + systemd, + hicolor-icon-theme, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix index a60e56cae8461..83dc816bb9b04 100644 --- a/pkgs/desktops/mate/mate-desktop/default.nix +++ b/pkgs/desktops/mate/mate-desktop/default.nix @@ -1,21 +1,25 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, isocodes -, libstartup_notification -, gtk3 -, dconf -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + isocodes, + libstartup_notification, + gtk3, + dconf, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { pname = "mate-desktop"; version = "1.28.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/desktops/mate/mate-gsettings-overrides/default.nix b/pkgs/desktops/mate/mate-gsettings-overrides/default.nix index e9e2c3c3b0b9b..1945bf53103da 100644 --- a/pkgs/desktops/mate/mate-gsettings-overrides/default.nix +++ b/pkgs/desktops/mate/mate-gsettings-overrides/default.nix @@ -1,8 +1,9 @@ -{ lib -, runCommand -, gsettings-desktop-schemas -, mate-wayland-session -, glib +{ + lib, + runCommand, + gsettings-desktop-schemas, + mate-wayland-session, + glib, }: let @@ -16,7 +17,10 @@ runCommand "mate-gsettings-overrides" { preferLocalBuild = true; } '' schema_dir="$data_dir/glib-2.0/schemas" mkdir -p "$schema_dir" - ${lib.concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages} + ${lib.concatMapStringsSep "\n" ( + pkg: + "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"" + ) gsettingsOverridePackages} chmod -R a+w "$data_dir" diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix index d6d96a33ac141..9ebf5f62e33a9 100644 --- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, gtk3 -, mate -, hicolor-icon-theme -, gitUpdater +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + gtk3, + mate, + hicolor-icon-theme, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix index b951d929bb06c..51f1b1f0587bd 100644 --- a/pkgs/desktops/mate/mate-icon-theme/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, iconnamingutils -, librsvg -, gtk3 -, hicolor-icon-theme -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + iconnamingutils, + librsvg, + gtk3, + hicolor-icon-theme, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-indicator-applet/default.nix b/pkgs/desktops/mate/mate-indicator-applet/default.nix index ecbe0e8bfc4d7..0dd67f799fa7a 100644 --- a/pkgs/desktops/mate/mate-indicator-applet/default.nix +++ b/pkgs/desktops/mate/mate-indicator-applet/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, gtk3 -, libayatana-indicator -, mate-panel -, hicolor-icon-theme -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gtk3, + libayatana-indicator, + mate-panel, + hicolor-icon-theme, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -59,7 +60,10 @@ stdenv.mkDerivation rec { Existing indicators include the Message Menu, Battery Menu and Sound menu. ''; - license = with licenses; [ gpl3Plus lgpl2Plus ]; + license = with licenses; [ + gpl3Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix index 51dcc29f8990a..e541aee18f2dd 100644 --- a/pkgs/desktops/mate/mate-media/default.nix +++ b/pkgs/desktops/mate/mate-media/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, libtool -, gtk-layer-shell -, gtk3 -, libcanberra-gtk3 -, libmatemixer -, libxml2 -, mate-desktop -, mate-panel -, wayland -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + libtool, + gtk-layer-shell, + gtk3, + libcanberra-gtk3, + libmatemixer, + libxml2, + mate-desktop, + mate-panel, + wayland, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix index 31854538fb5ee..10377df569a3e 100644 --- a/pkgs/desktops/mate/mate-menus/default.nix +++ b/pkgs/desktops/mate/mate-menus/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, glib -, gobject-introspection -, python3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + gobject-introspection, + python3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -42,7 +43,10 @@ stdenv.mkDerivation rec { broken = stdenv.hostPlatform.isDarwin; description = "Menu system for MATE"; homepage = "https://github.com/mate-desktop/mate-menus"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-netbook/default.nix b/pkgs/desktops/mate/mate-netbook/default.nix index 0b1c5a7479236..5bda4e307c927 100644 --- a/pkgs/desktops/mate/mate-netbook/default.nix +++ b/pkgs/desktops/mate/mate-netbook/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, gtk3 -, libwnck -, libfakekey -, libXtst -, mate -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gtk3, + libwnck, + libfakekey, + libXtst, + mate, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -50,7 +51,10 @@ stdenv.mkDerivation rec { devices with low resolution displays. ''; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl3Only lgpl2Plus ]; + license = with licenses; [ + gpl3Only + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix index ed3773873a114..2f1b83ad5c3ee 100644 --- a/pkgs/desktops/mate/mate-notification-daemon/default.nix +++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, glib -, libcanberra-gtk3 -, libnotify -, libwnck -, gtk-layer-shell -, gtk3 -, libxml2 -, mate-desktop -, mate-panel -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + libcanberra-gtk3, + libnotify, + libwnck, + gtk-layer-shell, + gtk3, + libxml2, + mate-desktop, + mate-panel, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -54,7 +55,10 @@ stdenv.mkDerivation rec { description = "Notification daemon for MATE Desktop"; mainProgram = "mate-notification-properties"; homepage = "https://github.com/mate-desktop/mate-notification-daemon"; - license = with licenses; [ gpl2Plus gpl3Plus ]; + license = with licenses; [ + gpl2Plus + gpl3Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix index 305c9e50ca78d..f351965af1d16 100644 --- a/pkgs/desktops/mate/mate-panel/default.nix +++ b/pkgs/desktops/mate/mate-panel/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, glib -, gtk-layer-shell -, gtk3 -, libmateweather -, libwnck -, librsvg -, libxml2 -, dconf -, dconf-editor -, mate-desktop -, mate-menus -, hicolor-icon-theme -, wayland -, gobject-introspection -, wrapGAppsHook3 -, marco -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + glib, + gtk-layer-shell, + gtk3, + libmateweather, + libwnck, + librsvg, + libxml2, + dconf, + dconf-editor, + mate-desktop, + mate-menus, + hicolor-icon-theme, + wayland, + gobject-introspection, + wrapGAppsHook3, + marco, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -85,7 +86,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MATE panel"; homepage = "https://github.com/mate-desktop/mate-panel"; - license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + fdl11Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-panel/with-applets.nix b/pkgs/desktops/mate/mate-panel/with-applets.nix index dd6f8a6c58b81..422f60e5d84ce 100644 --- a/pkgs/desktops/mate/mate-panel/with-applets.nix +++ b/pkgs/desktops/mate/mate-panel/with-applets.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, glib -, wrapGAppsHook3 -, xorg -, marco -, mate-panel -, panelApplets -, applets ? [ ] -, useDefaultApplets ? true +{ + stdenv, + lib, + glib, + wrapGAppsHook3, + xorg, + marco, + mate-panel, + panelApplets, + applets ? [ ], + useDefaultApplets ? true, }: let @@ -27,8 +28,12 @@ stdenv.mkDerivation { wrapGAppsHook3 ]; - buildInputs = lib.forEach selectedApplets (x: x.buildInputs) ++ selectedApplets - ++ [ mate-panel ] ++ mate-panel.buildInputs ++ mate-panel.propagatedBuildInputs; + buildInputs = + lib.forEach selectedApplets (x: x.buildInputs) + ++ selectedApplets + ++ [ mate-panel ] + ++ mate-panel.buildInputs + ++ mate-panel.propagatedBuildInputs; dontUnpack = true; dontConfigure = true; @@ -57,5 +62,5 @@ stdenv.mkDerivation { ) ''; - inherit (mate-panel.meta); + inherit (mate-panel.meta) ; } diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix index 827a641d39671..2322e81d513e7 100644 --- a/pkgs/desktops/mate/mate-polkit/default.nix +++ b/pkgs/desktops/mate/mate-polkit/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, gtk3 -, gobject-introspection -, libayatana-appindicator -, polkit -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gtk3, + gobject-introspection, + libayatana-appindicator, + polkit, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix index e4f59428f400c..4ab93fe630247 100644 --- a/pkgs/desktops/mate/mate-power-manager/default.nix +++ b/pkgs/desktops/mate/mate-power-manager/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, glib -, itstool -, libxml2 -, mate-desktop -, mate-panel -, libnotify -, libcanberra-gtk3 -, libsecret -, dbus-glib -, upower -, gtk3 -, libtool -, polkit -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + itstool, + libxml2, + mate-desktop, + mate-panel, + libnotify, + libcanberra-gtk3, + libsecret, + dbus-glib, + upower, + gtk3, + libtool, + polkit, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -60,7 +61,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MATE Power Manager"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus fdl11Plus ]; + license = with licenses; [ + gpl2Plus + fdl11Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members ++ (with maintainers; [ chpatrick ]); }; diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix index 930b6d8d814ea..0f1682198a1ee 100644 --- a/pkgs/desktops/mate/mate-screensaver/default.nix +++ b/pkgs/desktops/mate/mate-screensaver/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, gtk3 -, dbus-glib -, libXScrnSaver -, libnotify -, libxml2 -, mate-desktop -, mate-menus -, mate-panel -, pam -, systemd -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gtk3, + dbus-glib, + libXScrnSaver, + libnotify, + libxml2, + mate-desktop, + mate-menus, + mate-panel, + pam, + systemd, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -56,7 +57,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Screen saver and locker for the MATE desktop"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix index 88fc966edb560..e6de3cd6f0063 100644 --- a/pkgs/desktops/mate/mate-sensors-applet/default.nix +++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, gtk3 -, libxml2 -, libxslt -, libatasmart -, libnotify -, lm_sensors -, mate-panel -, hicolor-icon-theme -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + gtk3, + libxml2, + libxslt, + libatasmart, + libnotify, + lm_sensors, + mate-panel, + hicolor-icon-theme, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix index 1ae3a0690e338..e71cc1b76ea46 100644 --- a/pkgs/desktops/mate/mate-session-manager/default.nix +++ b/pkgs/desktops/mate/mate-session-manager/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, xtrans -, dbus-glib -, systemd -, libSM -, libXtst -, glib -, gtk3 -, libepoxy -, polkit -, hicolor-icon-theme -, mate-desktop -, mate-screensaver -, wrapGAppsHook3 -, fetchpatch -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + xtrans, + dbus-glib, + systemd, + libSM, + libXtst, + glib, + gtk3, + libepoxy, + polkit, + hicolor-icon-theme, + mate-desktop, + mate-screensaver, + wrapGAppsHook3, + fetchpatch, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -73,7 +74,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MATE Desktop session manager"; homepage = "https://github.com/mate-desktop/mate-session-manager"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix index 425d23c660f2d..64bb4b0fc07d6 100644 --- a/pkgs/desktops/mate/mate-settings-daemon/default.nix +++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, glib -, libxklavier -, libcanberra-gtk3 -, libnotify -, libmatekbd -, libmatemixer -, nss -, polkit -, dconf -, gtk3 -, mate-desktop -, pulseaudioSupport ? stdenv.config.pulseaudio or true -, libpulseaudio -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + glib, + libxklavier, + libcanberra-gtk3, + libnotify, + libmatekbd, + libmatemixer, + nss, + polkit, + dconf, + gtk3, + mate-desktop, + pulseaudioSupport ? stdenv.config.pulseaudio or true, + libpulseaudio, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -59,7 +60,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MATE settings daemon"; homepage = "https://github.com/mate-desktop/mate-settings-daemon"; - license = with licenses; [ gpl2Plus gpl3Plus lgpl2Plus mit ]; + license = with licenses; [ + gpl2Plus + gpl3Plus + lgpl2Plus + mit + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-settings-daemon/wrapped.nix b/pkgs/desktops/mate/mate-settings-daemon/wrapped.nix index 6031b7f7341f6..b8ad5e984845e 100644 --- a/pkgs/desktops/mate/mate-settings-daemon/wrapped.nix +++ b/pkgs/desktops/mate/mate-settings-daemon/wrapped.nix @@ -1,7 +1,8 @@ -{ stdenv -, mate -, glib -, wrapGAppsHook3 +{ + stdenv, + mate, + glib, + wrapGAppsHook3, }: stdenv.mkDerivation { @@ -34,5 +35,7 @@ stdenv.mkDerivation { --replace "${mate.mate-settings-daemon}/libexec/mate-settings-daemon" "$out/libexec/mate-settings-daemon" ''; - meta = mate.mate-settings-daemon.meta // { priority = -10; }; + meta = mate.mate-settings-daemon.meta // { + priority = -10; + }; } diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix index 3ca512dfb53c8..ed203cc7d3e67 100644 --- a/pkgs/desktops/mate/mate-themes/default.nix +++ b/pkgs/desktops/mate/mate-themes/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, mate-icon-theme -, gtk2 -, gtk3 -, gtk_engines -, gtk-engine-murrine -, gdk-pixbuf -, librsvg -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + mate-icon-theme, + gtk2, + gtk3, + gtk_engines, + gtk-engine-murrine, + gdk-pixbuf, + librsvg, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -53,7 +54,11 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Set of themes from MATE"; homepage = "https://mate-desktop.org"; - license = with licenses; [ lgpl21Plus lgpl3Only gpl3Plus ]; + license = with licenses; [ + lgpl21Plus + lgpl3Only + gpl3Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-tweak/default.nix b/pkgs/desktops/mate/mate-tweak/default.nix index 057f30f5f8686..a3b32f0ede773 100644 --- a/pkgs/desktops/mate/mate-tweak/default.nix +++ b/pkgs/desktops/mate/mate-tweak/default.nix @@ -1,15 +1,16 @@ -{ lib -, fetchFromGitHub -, python3Packages -, intltool -, mate -, libnotify -, gtk3 -, gdk-pixbuf -, gobject-introspection -, wrapGAppsHook3 -, glib -, gitUpdater +{ + lib, + fetchFromGitHub, + python3Packages, + intltool, + mate, + libnotify, + gtk3, + gdk-pixbuf, + gobject-introspection, + wrapGAppsHook3, + glib, + gitUpdater, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/desktops/mate/mate-user-guide/default.nix b/pkgs/desktops/mate/mate-user-guide/default.nix index 7dc2e9ad4221b..3a8377e5e0587 100644 --- a/pkgs/desktops/mate/mate-user-guide/default.nix +++ b/pkgs/desktops/mate/mate-user-guide/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, gettext -, itstool -, libxml2 -, yelp -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + gettext, + itstool, + libxml2, + yelp, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -39,7 +40,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "MATE User Guide"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus fdl11Plus ]; + license = with licenses; [ + gpl2Plus + fdl11Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix index 3ecfc8a34e903..c6b3544b9074d 100644 --- a/pkgs/desktops/mate/mate-user-share/default.nix +++ b/pkgs/desktops/mate/mate-user-share/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, gtk3 -, caja -, dbus-glib -, libnotify -, libxml2 -, libcanberra-gtk3 -, apacheHttpdPackages -, hicolor-icon-theme -, mate -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + gtk3, + caja, + dbus-glib, + libnotify, + libxml2, + libcanberra-gtk3, + apacheHttpdPackages, + hicolor-icon-theme, + mate, + wrapGAppsHook3, + mateUpdateScript, }: let diff --git a/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix index 7763e2960eda6..e40f2760d8375 100644 --- a/pkgs/desktops/mate/mate-utils/default.nix +++ b/pkgs/desktops/mate/mate-utils/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, itstool -, glib -, gtk-layer-shell -, gtk3 -, libxml2 -, libgtop -, libcanberra-gtk3 -, inkscape -, udisks2 -, mate-desktop -, mate-panel -, hicolor-icon-theme -, wayland -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + itstool, + glib, + gtk-layer-shell, + gtk3, + libxml2, + libgtop, + libcanberra-gtk3, + inkscape, + udisks2, + mate-desktop, + mate-panel, + hicolor-icon-theme, + wayland, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -69,7 +70,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Utilities for the MATE desktop"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/mate-wayland-session/default.nix b/pkgs/desktops/mate/mate-wayland-session/default.nix index b803caa7048f5..1900c0b7107e4 100644 --- a/pkgs/desktops/mate/mate-wayland-session/default.nix +++ b/pkgs/desktops/mate/mate-wayland-session/default.nix @@ -1,14 +1,15 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, meson -, ninja -, glib -, mate-polkit -, mate-notification-daemon -, wayfire -, wayfirePlugins -, gitUpdater +{ + stdenvNoCC, + lib, + fetchFromGitHub, + meson, + ninja, + glib, + mate-polkit, + mate-notification-daemon, + wayfire, + wayfirePlugins, + gitUpdater, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix index c402cf039300f..5e2f3502a59d1 100644 --- a/pkgs/desktops/mate/mozo/default.nix +++ b/pkgs/desktops/mate/mozo/default.nix @@ -1,14 +1,15 @@ -{ lib -, python3 -, fetchurl -, pkg-config -, gettext -, mate-menus -, gtk3 -, glib -, wrapGAppsHook3 -, gobject-introspection -, mateUpdateScript +{ + lib, + python3, + fetchurl, + pkg-config, + gettext, + mate-menus, + gtk3, + glib, + wrapGAppsHook3, + gobject-introspection, + mateUpdateScript, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix index 87eca7161f760..033b6bf4763b3 100644 --- a/pkgs/desktops/mate/pluma/default.nix +++ b/pkgs/desktops/mate/pluma/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, perl -, itstool -, isocodes -, enchant -, libxml2 -, python3 -, gtksourceview4 -, libpeas -, mate-desktop -, wrapGAppsHook3 -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + perl, + itstool, + isocodes, + enchant, + libxml2, + python3, + gtksourceview4, + libpeas, + mate-desktop, + wrapGAppsHook3, + mateUpdateScript, }: stdenv.mkDerivation rec { @@ -62,7 +63,11 @@ stdenv.mkDerivation rec { description = "Powerful text editor for the MATE desktop"; mainProgram = "pluma"; homepage = "https://mate-desktop.org"; - license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + fdl11Plus + ]; platforms = platforms.unix; maintainers = teams.mate.members; }; diff --git a/pkgs/desktops/mate/python-caja/default.nix b/pkgs/desktops/mate/python-caja/default.nix index 7f668cdde9966..ada4bc1b5e353 100644 --- a/pkgs/desktops/mate/python-caja/default.nix +++ b/pkgs/desktops/mate/python-caja/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, caja -, gtk3 -, python3Packages -, mateUpdateScript +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + caja, + gtk3, + python3Packages, + mateUpdateScript, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index 12857b8946a7a..af8c515326b78 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 -, elementary-gtk-theme -, elementary-icon-theme -, granite7 -, gtk4 -, libgee +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + elementary-gtk-theme, + elementary-icon-theme, + granite7, + gtk4, + libgee, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 43a49528df08b..fba7602500e83 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook3 -, clutter -, evolution-data-server -, folks -, geoclue2 -, geocode-glib_2 -, granite -, gtk3 -, libchamplain_libsoup3 -, libgee -, libhandy -, libical -, libportal-gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook3, + clutter, + evolution-data-server, + folks, + geoclue2, + geocode-glib_2, + granite, + gtk3, + libchamplain_libsoup3, + libgee, + libhandy, + libical, + libportal-gtk3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix index 29404706ac67d..513121a336b0a 100644 --- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, appstream -, desktop-file-utils -, meson -, ninja -, pkg-config -, polkit -, vala -, wrapGAppsHook3 -, editorconfig-core-c -, granite -, gtk3 -, gtksourceview4 -, gtkspell3 -, libgee -, libgit2-glib -, libhandy -, libpeas -, libsoup_2_4 -, vte -, ctags +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + appstream, + desktop-file-utils, + meson, + ninja, + pkg-config, + polkit, + vala, + wrapGAppsHook3, + editorconfig-core-c, + granite, + gtk3, + gtksourceview4, + gtkspell3, + libgee, + libgit2-glib, + libhandy, + libpeas, + libsoup_2_4, + vte, + ctags, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix index 39e95a5fe3647..636a3bf93dddc 100644 --- a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk4 -, glib -, granite7 -, libadwaita -, libgee -, wrapGAppsHook4 -, appstream +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk4, + glib, + granite7, + libadwaita, + libgee, + wrapGAppsHook4, + appstream, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix b/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix index cfcf4b8e8a607..ff865688c4fe6 100644 --- a/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 -, elementary-gtk-theme -, elementary-icon-theme -, glib -, granite7 -, gtk4 -, gtksourceview5 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + elementary-gtk-theme, + elementary-icon-theme, + glib, + granite7, + gtk4, + gtksourceview5, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix index ee4d259d18e1b..33d4af9363055 100644 --- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk3 -, libxml2 -, libhandy -, libportal-gtk3 -, webkitgtk_4_1 -, elementary-gtk-theme -, elementary-icon-theme -, folks -, glib-networking -, granite -, evolution-data-server -, wrapGAppsHook3 -, libgee +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk3, + libxml2, + libhandy, + libportal-gtk3, + webkitgtk_4_1, + elementary-gtk-theme, + elementary-icon-theme, + folks, + glib-networking, + granite, + evolution-data-server, + wrapGAppsHook3, + libgee, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix index 49cc2c2e42bcf..a0a9b1a719fba 100644 --- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 -, elementary-gtk-theme -, elementary-icon-theme -, glib -, granite7 -, gst_all_1 -, gtk4 -, libadwaita +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + elementary-gtk-theme, + elementary-icon-theme, + glib, + granite7, + gst_all_1, + gtk4, + libadwaita, }: stdenv.mkDerivation rec { @@ -35,19 +36,21 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = [ - elementary-icon-theme - glib - granite7 - gtk4 - libadwaita - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gstreamer - ]); + buildInputs = + [ + elementary-icon-theme + glib + granite7 + gtk4 + libadwaita + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + ]); preFixup = '' gappsWrapperArgs+=( diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix index 7e3794083f347..bfda13868f2f4 100644 --- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, gtk3 -, libexif -, libgee -, libhandy -, libportal-gtk3 -, geocode-glib_2 -, gexiv2 -, libgphoto2 -, granite -, gst_all_1 -, libgudev -, libraw -, sqlite -, libwebp -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + gtk3, + libexif, + libgee, + libhandy, + libportal-gtk3, + geocode-glib_2, + gexiv2, + libgphoto2, + granite, + gst_all_1, + libgudev, + libraw, + sqlite, + libwebp, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -42,27 +43,29 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = [ - geocode-glib_2 - gexiv2 - granite - gtk3 - libexif - libgee - libgphoto2 - libgudev - libhandy - libportal-gtk3 - libraw - libwebp - sqlite - ] ++ (with gst_all_1; [ - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gstreamer - ]); + buildInputs = + [ + geocode-glib_2 + gexiv2 + granite + gtk3 + libexif + libgee + libgphoto2 + libgudev + libhandy + libportal-gtk3 + libraw + libwebp + sqlite + ] + ++ (with gst_all_1; [ + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + ]); passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix b/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix index 7c79252e38a8b..41d5244aeeff2 100644 --- a/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook3 -, clutter-gtk -, evolution-data-server -, granite -, geoclue2 -, geocode-glib_2 -, gtk3 -, libchamplain_libsoup3 -, libgee -, libhandy -, libical -, libportal-gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook3, + clutter-gtk, + evolution-data-server, + granite, + geoclue2, + geocode-glib_2, + gtk3, + libchamplain_libsoup3, + libgee, + libhandy, + libical, + libportal-gtk3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index a0efe94329659..eef3b4facca7c 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, desktop-file-utils -, gtk3 -, granite -, libhandy -, libnotify -, vte -, libgee -, pcre2 -, wrapGAppsHook3 -, xvfb-run +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + desktop-file-utils, + gtk3, + granite, + libhandy, + libnotify, + vte, + libgee, + pcre2, + wrapGAppsHook3, + xvfb-run, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix index 8aec7fbb38681..dbcf1d2ea4549 100644 --- a/pkgs/desktops/pantheon/apps/sideload/default.nix +++ b/pkgs/desktops/pantheon/apps/sideload/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, desktop-file-utils -, nix-update-script -, fetchFromGitHub -, flatpak -, gettext -, glib -, granite7 -, gtk4 -, meson -, ninja -, pkg-config -, vala -, libxml2 -, wrapGAppsHook4 +{ + lib, + stdenv, + desktop-file-utils, + nix-update-script, + fetchFromGitHub, + flatpak, + gettext, + glib, + granite7, + gtk4, + meson, + ninja, + pkg-config, + vala, + libxml2, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix index d4683e87899ba..d2fc9ed07eecf 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, libgtop -, libgudev -, granite7 -, gtk4 -, packagekit -, polkit -, switchboard -, udisks2 -, fwupd -, appstream -, elementary-settings-daemon +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + libgtop, + libgudev, + granite7, + gtk4, + packagekit, + polkit, + switchboard, + udisks2, + fwupd, + appstream, + elementary-settings-daemon, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix index 6842a72f87314..f8d5db7c8b8ae 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, granite7 -, gtk4 -, switchboard -, flatpak +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + granite7, + gtk4, + switchboard, + flatpak, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix index eaca490740e72..3366a34e73af8 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, granite7 -, gtk4 -, bluez -, switchboard -, wingpanel-indicator-bluetooth +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + granite7, + gtk4, + bluez, + switchboard, + wingpanel-indicator-bluetooth, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index 5f6874f49b9be..e72aed12a73a8 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, substituteAll -, pkg-config -, vala -, libadwaita -, libgee -, libical -, granite7 -, gtk4 -, libxml2 -, switchboard -, tzdata +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + substituteAll, + pkg-config, + vala, + libadwaita, + libgee, + libical, + granite7, + gtk4, + libxml2, + switchboard, + tzdata, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix index 266e992806d49..08b4bb5488b53 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, granite7 -, gtk4 -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + granite7, + gtk4, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index 9084297c05b1a..2780d98dd38ef 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, substituteAll -, meson -, ninja -, pkg-config -, vala -, libgee -, libxml2 -, granite7 -, gtk4 -, switchboard -, gnome-settings-daemon -, glib -, gala # needed for gestures support -, touchegg +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + substituteAll, + meson, + ninja, + pkg-config, + vala, + libgee, + libxml2, + granite7, + gtk4, + switchboard, + gnome-settings-daemon, + glib, + gala, # needed for gestures support + touchegg, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 68abe51b4c02e..3c58ca7ef4d4d 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, substituteAll -, vala -, libadwaita -, libgee -, gettext -, granite7 -, gtk4 -, networkmanager -, networkmanagerapplet -, libnma-gtk4 -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + substituteAll, + vala, + libadwaita, + libgee, + gettext, + granite7, + gtk4, + networkmanager, + networkmanagerapplet, + libnma-gtk4, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix index c244592fd1cc4..b90f64057557b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, granite7 -, gtk4 -, switchboard -, elementary-notifications +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + granite7, + gtk4, + switchboard, + elementary-notifications, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix index 7aa683b029eae..51074196553b5 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, evolution-data-server-gtk4 -, glib -, granite7 -, gtk4 -, libadwaita -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + evolution-data-server-gtk4, + glib, + granite7, + gtk4, + libadwaita, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index db147f7ff9da4..228dfe5cfe604 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, gnome-settings-daemon -, granite7 -, gtk4 -, glib -, dbus -, polkit -, switchboard -, wingpanel-indicator-power +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + gnome-settings-daemon, + granite7, + gtk4, + glib, + dbus, + polkit, + switchboard, + wingpanel-indicator-power, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index d4195f246a8a2..278cbfbeec122 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libgee -, granite7 -, gtk4 -, cups -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libgee, + granite7, + gtk4, + cups, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix index f407e720ff2c3..ae53ab3add328 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, elementary-settings-daemon -, libgee -, granite7 -, gsettings-desktop-schemas -, gala -, gtk4 -, glib -, polkit -, zeitgeist -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + elementary-settings-daemon, + libgee, + granite7, + gsettings-desktop-schemas, + gala, + gtk4, + glib, + polkit, + zeitgeist, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index 0992ded96ad54..2578ce6e3dabb 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, elementary-bluetooth-daemon -, libgee -, granite7 -, gtk4 -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + elementary-bluetooth-daemon, + libgee, + granite7, + gtk4, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index 9a20aa7a99067..45ca8bcc48f5b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, libadwaita -, libcanberra -, libgee -, glib -, granite7 -, gtk4 -, pulseaudio -, switchboard +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + libadwaita, + libcanberra, + libgee, + glib, + granite7, + gtk4, + pulseaudio, + switchboard, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix index 67088c38635c9..9fb0562e02fa5 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, glib -, granite7 -, gtk4 -, libadwaita -, libgee -, libgudev -, libwacom -, switchboard -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + glib, + granite7, + gtk4, + libadwaita, + libgee, + libgudev, + libwacom, + switchboard, + xorg, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 02a1b0fd31c2f..02eaeae906d9e 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, sassc -, vala -, glib -, gtk4 -, libadwaita -, libgee -, granite7 -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + sassc, + vala, + glib, + gtk4, + libadwaita, + libgee, + granite7, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix index b27f813540970..0a1f24780ab1b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix @@ -1,20 +1,23 @@ -{ wrapGAppsHook4 -, glib -, lib -, stdenv -, xorg -, switchboard -, switchboardPlugs -, plugs +{ + wrapGAppsHook4, + glib, + lib, + stdenv, + xorg, + switchboard, + switchboardPlugs, + plugs, # Only useful to disable for development testing. -, useDefaultPlugs ? true -, testName ? null + useDefaultPlugs ? true, + testName ? null, }: let selectedPlugs = - if plugs == null then switchboardPlugs - else plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs); + if plugs == null then + switchboardPlugs + else + plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs); testingName = lib.optionalString (testName != null) "${testName}-"; in @@ -35,8 +38,7 @@ stdenv.mkDerivation rec { wrapGAppsHook4 ]; - buildInputs = lib.forEach selectedPlugs (x: x.buildInputs) - ++ selectedPlugs; + buildInputs = lib.forEach selectedPlugs (x: x.buildInputs) ++ selectedPlugs; dontUnpack = true; dontConfigure = true; @@ -60,4 +62,3 @@ stdenv.mkDerivation rec { inherit (switchboard) meta; } - diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index 91b7ce32a3052..408046979745a 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nix-update-script -, gettext -, meson -, ninja -, python3 -, sassc +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nix-update-script, + gettext, + meson, + ninja, + python3, + sassc, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix index c37ad542b7780..7a3ba9f0020f2 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, hicolor-icon-theme -, gtk3 -, xcursorgen -, librsvg +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + hicolor-icon-theme, + gtk3, + xcursorgen, + librsvg, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix b/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix index 66c02d73f71d4..9aa511fc35b64 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix index 7f7279a9df1f0..d9e01a191b8e9 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix index 1264eee4152ba..0579a6048caed 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, gettext -, meson -, ninja -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + gettext, + meson, + ninja, + python3, }: stdenv.mkDerivation rec { @@ -43,4 +44,3 @@ stdenv.mkDerivation rec { maintainers = teams.pantheon.members; }; } - diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index 7c410237e1da3..cac0298c6048e 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, wrapGAppsHook4 -, appcenter -, elementary-settings-daemon -, glib -, gnome-settings-daemon -, granite7 -, gtk4 -, libadwaita -, libgee +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + wrapGAppsHook4, + appcenter, + elementary-settings-daemon, + glib, + gnome-settings-daemon, + granite7, + gtk4, + libadwaita, + libgee, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix index 816374c24ce27..66bd35ff64011 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + gtk3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix b/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix index 6a2a22ddf83a6..3ac8f42b87abf 100644 --- a/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix +++ b/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, unstableGitUpdater -, substituteAll -, file-roller +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + substituteAll, + file-roller, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix index a5a011fbaa196..8c7a2d63047bd 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, pkg-config -, python3 -, vala -, granite -, gtk3 -, libgee -, wingpanel +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + pkg-config, + python3, + vala, + granite, + gtk3, + libgee, + wingpanel, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index edc35f1469086..5b20d161f7b5b 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk3 -, glib -, granite -, libnotify -, wingpanel -, libgee -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk3, + glib, + granite, + libnotify, + wingpanel, + libgee, + libxml2, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index bd87eef9115da..ba30fb48469f7 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, substituteAll -, pkg-config -, meson -, ninja -, vala -, gtk3 -, granite -, wingpanel -, evolution-data-server -, libical -, libgee -, libhandy -, libxml2 -, libsoup_2_4 -, elementary-calendar +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + substituteAll, + pkg-config, + meson, + ninja, + vala, + gtk3, + granite, + wingpanel, + evolution-data-server, + libical, + libgee, + libhandy, + libxml2, + libsoup_2_4, + elementary-calendar, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index a714b1de065d5..24ab81ba00681 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, substituteAll -, vala -, gtk3 -, granite -, libxml2 -, wingpanel -, libgee -, xorg -, libgnomekbd -, ibus +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + substituteAll, + vala, + gtk3, + granite, + libxml2, + wingpanel, + libgee, + xorg, + libgnomekbd, + ibus, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index 5b66bc1de6f38..10d0da9acb9cd 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk3 -, granite -, networkmanager -, polkit -, libnma -, wingpanel -, libgee +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk3, + granite, + networkmanager, + polkit, + libnma, + wingpanel, + libgee, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix index ca7459d07dfe5..209cb7f220273 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk3 -, granite -, wingpanel -, libgee -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk3, + granite, + wingpanel, + libgee, + libxml2, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 37101f298453b..5181cb1797beb 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk3 -, granite -, wingpanel -, libgee -, libhandy -, elementary-notifications +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk3, + granite, + wingpanel, + libgee, + libhandy, + elementary-notifications, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index 7c4e18d7bebb9..895615d37426d 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, substituteAll -, nix-update-script -, gnome-power-manager -, pkg-config -, meson -, ninja -, vala -, elementary-settings-daemon -, gtk3 -, granite -, libgtop -, libnotify -, udev -, wingpanel -, libgee +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + nix-update-script, + gnome-power-manager, + pkg-config, + meson, + ninja, + vala, + elementary-settings-daemon, + gtk3, + granite, + libgtop, + libnotify, + udev, + wingpanel, + libgee, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index eb4133d708277..b5e567b47f7c3 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gnome-settings-daemon -, gtk3 -, granite -, wingpanel -, libnotify -, pulseaudio -, libcanberra-gtk3 -, libgee -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gnome-settings-daemon, + gtk3, + granite, + wingpanel, + libnotify, + pulseaudio, + libcanberra-gtk3, + libgee, + libxml2, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix index 1642bffb44baa..fb65b6f3162e0 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix @@ -1,20 +1,23 @@ -{ lib -, wrapGAppsHook3 -, glib -, stdenv -, xorg -, wingpanel -, wingpanelIndicators -, switchboard-with-plugs -, indicators ? null +{ + lib, + wrapGAppsHook3, + glib, + stdenv, + xorg, + wingpanel, + wingpanelIndicators, + switchboard-with-plugs, + indicators ? null, # Only useful to disable for development testing. -, useDefaultIndicators ? true + useDefaultIndicators ? true, }: let selectedIndicators = - if indicators == null then wingpanelIndicators - else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators); + if indicators == null then + wingpanelIndicators + else + indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators); in stdenv.mkDerivation rec { pname = "${wingpanel.pname}-with-indicators"; @@ -33,8 +36,7 @@ stdenv.mkDerivation rec { wrapGAppsHook3 ]; - buildInputs = lib.forEach selectedIndicators (x: x.buildInputs) - ++ selectedIndicators; + buildInputs = lib.forEach selectedIndicators (x: x.buildInputs) ++ selectedIndicators; dontUnpack = true; dontConfigure = true; diff --git a/pkgs/desktops/pantheon/granite/7/default.nix b/pkgs/desktops/pantheon/granite/7/default.nix index 1d7bddbc06877..7e64ff2f18105 100644 --- a/pkgs/desktops/pantheon/granite/7/default.nix +++ b/pkgs/desktops/pantheon/granite/7/default.nix @@ -1,26 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, ninja -, sassc -, vala -, pkg-config -, libgee -, gtk4 -, glib -, gettext -, gsettings-desktop-schemas -, gobject-introspection -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + ninja, + sassc, + vala, + pkg-config, + libgee, + gtk4, + glib, + gettext, + gsettings-desktop-schemas, + gobject-introspection, + wrapGAppsHook4, }: stdenv.mkDerivation rec { pname = "granite"; version = "7.6.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "elementary"; diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 52eb6602efff3..ffbbca7b44c4a 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -1,25 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, meson -, ninja -, vala -, pkg-config -, libgee -, gtk3 -, glib -, gettext -, gsettings-desktop-schemas -, gobject-introspection -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, + meson, + ninja, + vala, + pkg-config, + libgee, + gtk3, + glib, + gettext, + gsettings-desktop-schemas, + gobject-introspection, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "granite"; version = "6.2.0"; # nixpkgs-update: no auto update - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "elementary"; diff --git a/pkgs/desktops/pantheon/services/contractor/default.nix b/pkgs/desktops/pantheon/services/contractor/default.nix index eed8755143c6c..d5fbc65636197 100644 --- a/pkgs/desktops/pantheon/services/contractor/default.nix +++ b/pkgs/desktops/pantheon/services/contractor/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, meson -, python3 -, ninja -, pkg-config -, vala -, glib -, libgee -, dbus -, glib-networking -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + meson, + python3, + ninja, + pkg-config, + vala, + glib, + libgee, + dbus, + glib-networking, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix index 62bf5c5b8dee6..d0447169ef83b 100644 --- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, gtk4 -, granite7 -, libadwaita -, libgee -, gcr_4 -, webkitgtk_6_0 -, wrapGAppsHook4 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + gtk4, + granite7, + libadwaita, + libgee, + gcr_4, + webkitgtk_6_0, + wrapGAppsHook4, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index 5c84dffec72a0..3252834c8433c 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, nix-update-script -, meson -, ninja -, pkg-config -, vala -, accountsservice -, dbus -, desktop-file-utils -, fwupd -, gdk-pixbuf -, geoclue2 -, gexiv2 -, glib -, gobject-introspection -, gtk3 -, granite -, libgee -, packagekit -, systemd -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + nix-update-script, + meson, + ninja, + pkg-config, + vala, + accountsservice, + dbus, + desktop-file-utils, + fwupd, + gdk-pixbuf, + geoclue2, + gexiv2, + glib, + gobject-introspection, + gtk3, + granite, + libgee, + packagekit, + systemd, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix index 20c28133d234b..9dd3e6d7217d0 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, pkg-config -, meson -, ninja -, vala -, glib -, gtk3 -, libgee -, desktop-file-utils -, geoclue2 -, granite -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + meson, + ninja, + vala, + glib, + gtk3, + libgee, + desktop-file-utils, + geoclue2, + granite, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix index bd41ce7987342..56e6847948178 100644 --- a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix +++ b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix @@ -1,13 +1,14 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings -, cmake -, extra-cmake-modules -, esbuild +{ + lib, + mkDerivation, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, + cmake, + extra-cmake-modules, + esbuild, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix b/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix index 1a18e1a89de16..7f85fa9f0fc7e 100644 --- a/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix +++ b/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix @@ -1,9 +1,10 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, extra-cmake-modules -, kwindowsystem -, plasma-framework +{ + lib, + mkDerivation, + fetchFromGitHub, + extra-cmake-modules, + kwindowsystem, + plasma-framework, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix b/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix index 9e90d8f1204b6..17c4f36cd1b66 100644 --- a/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix +++ b/pkgs/desktops/plasma-5/3rdparty/addons/krunner-ssh.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitLab, python3 }: +{ + lib, + stdenv, + fetchFromGitLab, + python3, +}: let - pythonEnv = python3.withPackages (p: with p; [ dbus-python pygobject3 ]); + pythonEnv = python3.withPackages ( + p: with p; [ + dbus-python + pygobject3 + ] + ); in stdenv.mkDerivation rec { pname = "krunner-ssh"; diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix b/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix index 620d56f8e2c10..6703944b01ffe 100644 --- a/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix +++ b/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, extra-cmake-modules -, qtbase -, wrapQtAppsHook -, ki18n -, kdelibs4support -, krunner +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + extra-cmake-modules, + qtbase, + wrapQtAppsHook, + ki18n, + kdelibs4support, + krunner, }: stdenv.mkDerivation rec { @@ -21,8 +22,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-YsoZdPTWpk3/YERwerrVEcaf2IfGVJwpq32onhP8Exo="; }; - buildInputs = [ qtbase ki18n kdelibs4support krunner ]; - nativeBuildInputs = [ cmake wrapQtAppsHook extra-cmake-modules ]; + buildInputs = [ + qtbase + ki18n + kdelibs4support + krunner + ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + extra-cmake-modules + ]; postPatch = '' # symbols.cpp hardcodes the location of configuration files diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix b/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix index 5e4ac584047cf..873b7cc2ceed4 100644 --- a/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix +++ b/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, extra-cmake-modules -, kwindowsystem -, plasma-framework -, qtx11extras +{ + lib, + mkDerivation, + fetchFromGitHub, + extra-cmake-modules, + kwindowsystem, + plasma-framework, + qtx11extras, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix index 10133b9bf3f83..676ea18d2e9fb 100644 --- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix +++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings +{ + lib, + mkDerivation, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix index b55c34c4d248e..0d62bdf328693 100644 --- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix +++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings +{ + lib, + mkDerivation, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix index f35ce8f1d0bd2..813ff8d335a77 100644 --- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix +++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings +{ + lib, + stdenv, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, }: -stdenv.mkDerivation(finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "kzones"; version = "0.6"; diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix index 63ed7a86fe303..698af1cadd004 100644 --- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix +++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings +{ + lib, + mkDerivation, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix index 5f13a95ce081c..384635ad94237 100644 --- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix +++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings +{ + lib, + mkDerivation, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, }: mkDerivation rec { diff --git a/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix b/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix index b3830d06d1efc..cb8189b994ea9 100644 --- a/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix +++ b/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix @@ -1,18 +1,19 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, extra-cmake-modules -, kdecoration -, kcoreaddons -, kguiaddons -, kconfigwidgets -, kwindowsystem -, kiconthemes -, qtx11extras +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + extra-cmake-modules, + kdecoration, + kcoreaddons, + kguiaddons, + kconfigwidgets, + kwindowsystem, + kiconthemes, + qtx11extras, }: -mkDerivation rec{ +mkDerivation rec { pname = "lightly"; version = "0.4.1"; src = fetchFromGitHub { @@ -24,7 +25,10 @@ mkDerivation rec{ extraCmakeFlags = [ "-DBUILD_TESTING=OFF" ]; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; buildInputs = [ kcoreaddons diff --git a/pkgs/desktops/plasma-5/aura-browser.nix b/pkgs/desktops/plasma-5/aura-browser.nix index 67af48b2bcb95..b012417a6bc75 100644 --- a/pkgs/desktops/plasma-5/aura-browser.nix +++ b/pkgs/desktops/plasma-5/aura-browser.nix @@ -1,9 +1,10 @@ -{ mkDerivation -, extra-cmake-modules -, qtwebengine -, qtquickcontrols2 -, kirigami2 -, ki18n +{ + mkDerivation, + extra-cmake-modules, + qtwebengine, + qtquickcontrols2, + kirigami2, + ki18n, }: mkDerivation { pname = "aura-browser"; diff --git a/pkgs/desktops/plasma-5/bluedevil.nix b/pkgs/desktops/plasma-5/bluedevil.nix index a7574cdc655f5..0ad806520c531 100644 --- a/pkgs/desktops/plasma-5/bluedevil.nix +++ b/pkgs/desktops/plasma-5/bluedevil.nix @@ -1,25 +1,29 @@ -{ mkDerivation -, extra-cmake-modules -, shared-mime-info -, qtbase -, qtdeclarative -, bluez-qt -, kcoreaddons -, kcmutils -, kdbusaddons -, kded -, ki18n -, kiconthemes -, kio -, knotifications -, kwidgetsaddons -, kwindowsystem -, plasma-framework +{ + mkDerivation, + extra-cmake-modules, + shared-mime-info, + qtbase, + qtdeclarative, + bluez-qt, + kcoreaddons, + kcmutils, + kdbusaddons, + kded, + ki18n, + kiconthemes, + kio, + knotifications, + kwidgetsaddons, + kwindowsystem, + plasma-framework, }: mkDerivation { pname = "bluedevil"; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; buildInputs = [ qtbase qtdeclarative diff --git a/pkgs/desktops/plasma-5/breeze-grub.nix b/pkgs/desktops/plasma-5/breeze-grub.nix index 86ce3dc112d05..cbfb47efade77 100644 --- a/pkgs/desktops/plasma-5/breeze-grub.nix +++ b/pkgs/desktops/plasma-5/breeze-grub.nix @@ -1,4 +1,5 @@ -{ mkDerivation +{ + mkDerivation, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/breeze-gtk.nix b/pkgs/desktops/plasma-5/breeze-gtk.nix index 3ecc5d5e5b0d1..2974ff51798ac 100644 --- a/pkgs/desktops/plasma-5/breeze-gtk.nix +++ b/pkgs/desktops/plasma-5/breeze-gtk.nix @@ -1,8 +1,21 @@ -{ mkDerivation, extra-cmake-modules, qtbase, sassc, python3, breeze-qt5 }: +{ + mkDerivation, + extra-cmake-modules, + qtbase, + sassc, + python3, + breeze-qt5, +}: mkDerivation { pname = "breeze-gtk"; - nativeBuildInputs = [ extra-cmake-modules sassc python3 python3.pkgs.pycairo breeze-qt5 ]; + nativeBuildInputs = [ + extra-cmake-modules + sassc + python3 + python3.pkgs.pycairo + breeze-qt5 + ]; buildInputs = [ qtbase ]; patches = [ ./patches/0001-fix-add-executable-bit.patch diff --git a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix index 8aefcbbe03be6..a4b3b8b429917 100644 --- a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix +++ b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix @@ -1,48 +1,69 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, plymouth -, imagemagick -, netpbm -, perl -, logoName ? null -, logoFile ? null -, osName ? null -, osVersion ? null -, topColor ? "black" -, bottomColor ? "black" +{ + mkDerivation, + lib, + extra-cmake-modules, + plymouth, + imagemagick, + netpbm, + perl, + logoName ? null, + logoFile ? null, + osName ? null, + osVersion ? null, + topColor ? "black", + bottomColor ? "black", }: let - validColors = [ "black" "cardboard_grey" "charcoal_grey" "icon_blue" "paper_white" "plasma_blue" "neon_blue" "neon_green" ]; - resolvedLogoName = if (logoFile != null && logoName == null) then lib.strings.removeSuffix ".png" (baseNameOf (toString logoFile)) else logoName; + validColors = [ + "black" + "cardboard_grey" + "charcoal_grey" + "icon_blue" + "paper_white" + "plasma_blue" + "neon_blue" + "neon_green" + ]; + resolvedLogoName = + if (logoFile != null && logoName == null) then + lib.strings.removeSuffix ".png" (baseNameOf (toString logoFile)) + else + logoName; in assert lib.asserts.assertOneOf "topColor" topColor validColors; assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors; - mkDerivation { pname = "breeze-plymouth"; - nativeBuildInputs = [ extra-cmake-modules ] ++ lib.optionals (logoFile != null) [ imagemagick netpbm perl ]; + nativeBuildInputs = + [ extra-cmake-modules ] + ++ lib.optionals (logoFile != null) [ + imagemagick + netpbm + perl + ]; buildInputs = [ plymouth ]; patches = [ ./install-paths.patch ]; - cmakeFlags = [ ] + cmakeFlags = + [ ] ++ lib.optional (osName != null) "-DDISTRO_NAME=${osName}" ++ lib.optional (osVersion != null) "-DDISTRO_VERSION=${osVersion}" ++ lib.optional (logoName != null) "-DDISTRO_LOGO=${logoName}" ++ lib.optional (topColor != null) "-DBACKGROUND_TOP_COLOR=${topColor}" - ++ lib.optional (bottomColor != null) "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}" - ; + ++ lib.optional (bottomColor != null) "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}"; - postPatch = '' - substituteInPlace cmake/FindPlymouth.cmake --subst-var out - '' + lib.optionalString (logoFile != null) '' - cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png + postPatch = + '' + substituteInPlace cmake/FindPlymouth.cmake --subst-var out + '' + + lib.optionalString (logoFile != null) '' + cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png - # conversion for 16bit taken from the breeze-plymouth readme - convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png - pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png - ''; + # conversion for 16bit taken from the breeze-plymouth readme + convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png + pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png + ''; } diff --git a/pkgs/desktops/plasma-5/breeze-qt5.nix b/pkgs/desktops/plasma-5/breeze-qt5.nix index bcabd31eea644..2d50f89e1d39b 100644 --- a/pkgs/desktops/plasma-5/breeze-qt5.nix +++ b/pkgs/desktops/plasma-5/breeze-qt5.nix @@ -1,18 +1,19 @@ -{ mkDerivation -, extra-cmake-modules -, frameworkintegration -, kcmutils -, kconfigwidgets -, kcoreaddons -, kdecoration -, kguiaddons -, ki18n -, kwayland -, kwindowsystem -, plasma-framework -, qtdeclarative -, qtx11extras -, fftw +{ + mkDerivation, + extra-cmake-modules, + frameworkintegration, + kcmutils, + kconfigwidgets, + kcoreaddons, + kdecoration, + kguiaddons, + ki18n, + kwayland, + kwindowsystem, + plasma-framework, + qtdeclarative, + qtx11extras, + fftw, }: mkDerivation { @@ -34,6 +35,10 @@ mkDerivation { qtx11extras fftw ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; cmakeFlags = [ "-DUSE_Qt4=OFF" ]; } diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 20c7904f9c0ab..93a02955b5f16 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -1,5 +1,4 @@ /* - # New packages READ THIS FIRST @@ -21,18 +20,21 @@ from the top of the Nixpkgs tree. 3. Use `nox-review wip` to check that everything builds. 4. Commit the changes and open a pull request. - */ -{ libsForQt5 -, lib -, config -, fetchurl -, gsettings-desktop-schemas +{ + libsForQt5, + lib, + config, + fetchurl, + gsettings-desktop-schemas, }: let - maintainers = with lib.maintainers; [ ttuegel nyanloutre ]; + maintainers = with lib.maintainers; [ + ttuegel + nyanloutre + ]; license = with lib.licenses; [ lgpl21Plus lgpl3Plus @@ -50,12 +52,15 @@ let qtStdenv = libsForQt5.callPackage ({ stdenv }: stdenv) { }; - packages = self: + packages = + self: let - propagate = out: + propagate = + out: let - setupHook = { writeScript }: + setupHook = + { writeScript }: writeScript "setup-hook" '' if [[ "''${hookName-}" != postHook ]]; then postHooks+=("source @dev@/nix-support/setup-hook") @@ -83,7 +88,8 @@ let callPackage = self.newScope { inherit propagate propagateBin; - mkDerivation = args: + mkDerivation = + args: let inherit (args) pname; sname = args.sname or pname; @@ -98,17 +104,31 @@ let nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ libsForQt5.wrapQtAppsHook ]; meta = - let meta = args.meta or { }; in - meta // { + let + meta = args.meta or { }; + in + meta + // { homepage = meta.homepage or "http://www.kde.org"; license = meta.license or license; maintainers = (meta.maintainers or [ ]) ++ maintainers; platforms = meta.platforms or lib.platforms.linux; }; in - qtStdenv.mkDerivation (args // { - inherit pname version meta outputs setupHook src nativeBuildInputs; - }); + qtStdenv.mkDerivation ( + args + // { + inherit + pname + version + meta + outputs + setupHook + src + nativeBuildInputs + ; + } + ); }; in @@ -171,21 +191,26 @@ let systemsettings = callPackage ./systemsettings.nix { }; xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix { }; - thirdParty = let inherit (libsForQt5) callPackage; in { - plasma-applet-caffeine-plus = callPackage ./3rdparty/addons/caffeine-plus.nix { }; - plasma-applet-virtual-desktop-bar = callPackage ./3rdparty/addons/virtual-desktop-bar.nix { }; - bismuth = callPackage ./3rdparty/addons/bismuth { }; - kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { }; - kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { }; - krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { }; - krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { }; - krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { }; - kzones = callPackage ./3rdparty/kwin/scripts/kzones.nix { }; - lightly = callPackage ./3rdparty/lightly { }; - parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { }; - }; - - } // lib.optionalAttrs config.allowAliases { + thirdParty = + let + inherit (libsForQt5) callPackage; + in + { + plasma-applet-caffeine-plus = callPackage ./3rdparty/addons/caffeine-plus.nix { }; + plasma-applet-virtual-desktop-bar = callPackage ./3rdparty/addons/virtual-desktop-bar.nix { }; + bismuth = callPackage ./3rdparty/addons/bismuth { }; + kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { }; + kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { }; + krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { }; + krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { }; + krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { }; + kzones = callPackage ./3rdparty/kwin/scripts/kzones.nix { }; + lightly = callPackage ./3rdparty/lightly { }; + parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { }; + }; + + } + // lib.optionalAttrs config.allowAliases { ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor"; plasma-phone-components = throw "'plasma-phone-components' has been renamed to/replaced by 'plasma-mobile'"; }; diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix index 2c2600845b246..aa0d51c00f931 100644 --- a/pkgs/desktops/plasma-5/discover.nix +++ b/pkgs/desktops/plasma-5/discover.nix @@ -1,39 +1,45 @@ -{ mkDerivation -, extra-cmake-modules -, gettext -, kdoctools -, python3 -, appstream-qt -, discount -, flatpak -, fwupd -, ostree -, pcre -, util-linux -, qtquickcontrols2 -, qtwebview -, qtx11extras -, karchive -, kcmutils -, kconfig -, kcrash -, kdbusaddons -, kdeclarative -, kidletime -, kio -, kirigami2 -, kitemmodels -, knewstuff -, kpurpose -, kuserfeedback -, kwindowsystem -, kxmlgui -, plasma-framework +{ + mkDerivation, + extra-cmake-modules, + gettext, + kdoctools, + python3, + appstream-qt, + discount, + flatpak, + fwupd, + ostree, + pcre, + util-linux, + qtquickcontrols2, + qtwebview, + qtx11extras, + karchive, + kcmutils, + kconfig, + kcrash, + kdbusaddons, + kdeclarative, + kidletime, + kio, + kirigami2, + kitemmodels, + knewstuff, + kpurpose, + kuserfeedback, + kwindowsystem, + kxmlgui, + plasma-framework, }: mkDerivation { pname = "discover"; - nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 ]; + nativeBuildInputs = [ + extra-cmake-modules + gettext + kdoctools + python3 + ]; buildInputs = [ # discount is needed for libmarkdown appstream-qt diff --git a/pkgs/desktops/plasma-5/flatpak-kcm.nix b/pkgs/desktops/plasma-5/flatpak-kcm.nix index 0a94b085232fd..3cf54431898c9 100644 --- a/pkgs/desktops/plasma-5/flatpak-kcm.nix +++ b/pkgs/desktops/plasma-5/flatpak-kcm.nix @@ -1,10 +1,11 @@ -{ mkDerivation -, extra-cmake-modules -, flatpak -, kcmutils -, kconfig -, kdeclarative -, kitemmodels +{ + mkDerivation, + extra-cmake-modules, + flatpak, + kcmutils, + kconfig, + kdeclarative, + kitemmodels, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/kactivitymanagerd.nix b/pkgs/desktops/plasma-5/kactivitymanagerd.nix index 195e575756081..8fa5be590a208 100644 --- a/pkgs/desktops/plasma-5/kactivitymanagerd.nix +++ b/pkgs/desktops/plasma-5/kactivitymanagerd.nix @@ -1,16 +1,17 @@ -{ mkDerivation -, extra-cmake-modules -, boost -, kconfig -, kcoreaddons -, kdbusaddons -, ki18n -, kio -, kglobalaccel -, kwindowsystem -, kxmlgui -, kcrash -, qtbase +{ + mkDerivation, + extra-cmake-modules, + boost, + kconfig, + kcoreaddons, + kdbusaddons, + ki18n, + kio, + kglobalaccel, + kwindowsystem, + kxmlgui, + kcrash, + qtbase, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/kde-cli-tools.nix b/pkgs/desktops/plasma-5/kde-cli-tools.nix index e02f1297c012e..506d20318067c 100644 --- a/pkgs/desktops/plasma-5/kde-cli-tools.nix +++ b/pkgs/desktops/plasma-5/kde-cli-tools.nix @@ -1,24 +1,28 @@ -{ lib -, mkDerivation -, extra-cmake-modules -, kdoctools -, kcmutils -, kconfig -, kdesu -, ki18n -, kiconthemes -, kinit -, kio -, kwindowsystem -, qtsvg -, qtx11extras -, kactivities -, plasma-workspace +{ + lib, + mkDerivation, + extra-cmake-modules, + kdoctools, + kcmutils, + kconfig, + kdesu, + ki18n, + kiconthemes, + kinit, + kio, + kwindowsystem, + qtsvg, + qtx11extras, + kactivities, + plasma-workspace, }: mkDerivation { pname = "kde-cli-tools"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kcmutils kconfig diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix index fd3c5e71a3d69..83442c3359aea 100644 --- a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix +++ b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix @@ -1,24 +1,28 @@ -{ mkDerivation -, extra-cmake-modules -, wrapGAppsHook3 -, glib -, gtk3 -, karchive -, kcmutils -, kconfigwidgets -, ki18n -, kiconthemes -, kio -, knewstuff -, gsettings-desktop-schemas -, xsettingsd -, kdecoration -, sass +{ + mkDerivation, + extra-cmake-modules, + wrapGAppsHook3, + glib, + gtk3, + karchive, + kcmutils, + kconfigwidgets, + ki18n, + kiconthemes, + kio, + knewstuff, + gsettings-desktop-schemas, + xsettingsd, + kdecoration, + sass, }: mkDerivation { pname = "kde-gtk-config"; - nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook3 ]; + nativeBuildInputs = [ + extra-cmake-modules + wrapGAppsHook3 + ]; dontWrapGApps = true; # There is nothing to wrap buildInputs = [ ki18n diff --git a/pkgs/desktops/plasma-5/kdecoration.nix b/pkgs/desktops/plasma-5/kdecoration.nix index b3cb961e6d5b0..e1290656352cf 100644 --- a/pkgs/desktops/plasma-5/kdecoration.nix +++ b/pkgs/desktops/plasma-5/kdecoration.nix @@ -1,8 +1,21 @@ -{ mkDerivation, extra-cmake-modules, qtbase, ki18n, kcoreaddons }: +{ + mkDerivation, + extra-cmake-modules, + qtbase, + ki18n, + kcoreaddons, +}: mkDerivation { pname = "kdecoration"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase ki18n kcoreaddons ]; - outputs = [ "out" "dev" ]; + buildInputs = [ + qtbase + ki18n + kcoreaddons + ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/desktops/plasma-5/kdeplasma-addons.nix b/pkgs/desktops/plasma-5/kdeplasma-addons.nix index b8461fbd108d9..1f737ec8dedf9 100644 --- a/pkgs/desktops/plasma-5/kdeplasma-addons.nix +++ b/pkgs/desktops/plasma-5/kdeplasma-addons.nix @@ -1,29 +1,33 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kconfig -, kconfigwidgets -, kcoreaddons -, kcmutils -, kholidays -, kio -, knewstuff -, kpurpose -, kross -, krunner -, kservice -, kunitconversion -, ibus -, plasma-framework -, plasma-workspace -, qtdeclarative -, qtwebengine -, qtx11extras +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kconfig, + kconfigwidgets, + kcoreaddons, + kcmutils, + kholidays, + kio, + knewstuff, + kpurpose, + kross, + krunner, + kservice, + kunitconversion, + ibus, + plasma-framework, + plasma-workspace, + qtdeclarative, + qtwebengine, + qtx11extras, }: mkDerivation { pname = "kdeplasma-addons"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kconfig kconfigwidgets diff --git a/pkgs/desktops/plasma-5/kgamma5.nix b/pkgs/desktops/plasma-5/kgamma5.nix index df552e1c87a8b..80a8ebb880f11 100644 --- a/pkgs/desktops/plasma-5/kgamma5.nix +++ b/pkgs/desktops/plasma-5/kgamma5.nix @@ -1,15 +1,25 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kconfig -, kconfigwidgets -, ki18n -, qtx11extras -, libXxf86vm +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kconfig, + kconfigwidgets, + ki18n, + qtx11extras, + libXxf86vm, }: mkDerivation { pname = "kgamma5"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kconfig kconfigwidgets ki18n qtx11extras libXxf86vm ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kconfig + kconfigwidgets + ki18n + qtx11extras + libXxf86vm + ]; } diff --git a/pkgs/desktops/plasma-5/khotkeys.nix b/pkgs/desktops/plasma-5/khotkeys.nix index 244756ec80177..af2299c1adeb1 100644 --- a/pkgs/desktops/plasma-5/khotkeys.nix +++ b/pkgs/desktops/plasma-5/khotkeys.nix @@ -1,21 +1,25 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kcmutils -, kdbusaddons -, kdelibs4support -, kglobalaccel -, ki18n -, kio -, kxmlgui -, plasma-framework -, plasma-workspace -, qtx11extras +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kcmutils, + kdbusaddons, + kdelibs4support, + kglobalaccel, + ki18n, + kio, + kxmlgui, + plasma-framework, + plasma-workspace, + qtx11extras, }: mkDerivation { pname = "khotkeys"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kcmutils kdbusaddons @@ -28,5 +32,9 @@ mkDerivation { plasma-workspace qtx11extras ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; } diff --git a/pkgs/desktops/plasma-5/kinfocenter/default.nix b/pkgs/desktops/plasma-5/kinfocenter/default.nix index bbc8c03f37c19..ac9964eb4315a 100644 --- a/pkgs/desktops/plasma-5/kinfocenter/default.nix +++ b/pkgs/desktops/plasma-5/kinfocenter/default.nix @@ -1,37 +1,38 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, qttools -, kcmutils -, kcompletion -, kconfig -, kconfigwidgets -, kcoreaddons -, kdbusaddons -, kdeclarative -, ki18n -, kiconthemes -, kio -, kirigami2 -, kpackage -, kservice -, kwayland -, kwidgetsaddons -, kxmlgui -, solid -, systemsettings -, dmidecode -, fwupd -, libraw1394 -, libusb1 -, libGLU -, pciutils -, smartmontools -, util-linux -, vulkan-tools -, wayland-utils -, xdpyinfo +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + qttools, + kcmutils, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kdeclarative, + ki18n, + kiconthemes, + kio, + kirigami2, + kpackage, + kservice, + kwayland, + kwidgetsaddons, + kxmlgui, + solid, + systemsettings, + dmidecode, + fwupd, + libraw1394, + libusb1, + libGLU, + pciutils, + smartmontools, + util-linux, + vulkan-tools, + wayland-utils, + xdpyinfo, }: let @@ -43,7 +44,10 @@ in mkDerivation { pname = "kinfocenter"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kcmutils diff --git a/pkgs/desktops/plasma-5/kmenuedit.nix b/pkgs/desktops/plasma-5/kmenuedit.nix index 57b327a7cdc40..d22002f3ebcff 100644 --- a/pkgs/desktops/plasma-5/kmenuedit.nix +++ b/pkgs/desktops/plasma-5/kmenuedit.nix @@ -1,18 +1,22 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kdbusaddons -, khotkeys -, ki18n -, kiconthemes -, kio -, kxmlgui -, sonnet +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kdbusaddons, + khotkeys, + ki18n, + kiconthemes, + kio, + kxmlgui, + sonnet, }: mkDerivation { pname = "kmenuedit"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kdbusaddons khotkeys diff --git a/pkgs/desktops/plasma-5/kpipewire.nix b/pkgs/desktops/plasma-5/kpipewire.nix index 59169cd510c82..c24dd55e3ff9b 100644 --- a/pkgs/desktops/plasma-5/kpipewire.nix +++ b/pkgs/desktops/plasma-5/kpipewire.nix @@ -1,14 +1,15 @@ -{ mkDerivation -, extra-cmake-modules -, kwayland -, ki18n -, kcoreaddons -, plasma-wayland-protocols -, libepoxy -, ffmpeg -, mesa -, pipewire -, wayland +{ + mkDerivation, + extra-cmake-modules, + kwayland, + ki18n, + kcoreaddons, + plasma-wayland-protocols, + libepoxy, + ffmpeg, + mesa, + pipewire, + wayland, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/kscreen.nix b/pkgs/desktops/plasma-5/kscreen.nix index ca5ad59072f06..a731051096dd1 100644 --- a/pkgs/desktops/plasma-5/kscreen.nix +++ b/pkgs/desktops/plasma-5/kscreen.nix @@ -1,22 +1,23 @@ -{ mkDerivation -, extra-cmake-modules -, kconfig -, kcmutils -, kconfigwidgets -, kdbusaddons -, kglobalaccel -, ki18n -, kwidgetsaddons -, kxmlgui -, libkscreen -, qtdeclarative -, qtgraphicaleffects -, qtsensors -, kwindowsystem -, kdeclarative -, plasma-framework -, qtx11extras -, layer-shell-qt +{ + mkDerivation, + extra-cmake-modules, + kconfig, + kcmutils, + kconfigwidgets, + kdbusaddons, + kglobalaccel, + ki18n, + kwidgetsaddons, + kxmlgui, + libkscreen, + qtdeclarative, + qtgraphicaleffects, + qtsensors, + kwindowsystem, + kdeclarative, + plasma-framework, + qtx11extras, + layer-shell-qt, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/kscreenlocker.nix b/pkgs/desktops/plasma-5/kscreenlocker.nix index 68bedb5e46802..98212a45df791 100644 --- a/pkgs/desktops/plasma-5/kscreenlocker.nix +++ b/pkgs/desktops/plasma-5/kscreenlocker.nix @@ -1,26 +1,31 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, wayland-scanner -, kcmutils -, kcrash -, kdeclarative -, kglobalaccel -, kidletime -, libkscreen -, kwayland -, libXcursor -, pam -, plasma-framework -, qtdeclarative -, qtx11extras -, wayland -, layer-shell-qt +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + wayland-scanner, + kcmutils, + kcrash, + kdeclarative, + kglobalaccel, + kidletime, + libkscreen, + kwayland, + libXcursor, + pam, + plasma-framework, + qtdeclarative, + qtx11extras, + wayland, + layer-shell-qt, }: mkDerivation { pname = "kscreenlocker"; - nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wayland-scanner + ]; buildInputs = [ kcmutils kcrash @@ -37,5 +42,8 @@ mkDerivation { wayland layer-shell-qt ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/desktops/plasma-5/ksshaskpass.nix b/pkgs/desktops/plasma-5/ksshaskpass.nix index 072b78f53d6ba..d112a25794578 100644 --- a/pkgs/desktops/plasma-5/ksshaskpass.nix +++ b/pkgs/desktops/plasma-5/ksshaskpass.nix @@ -1,15 +1,25 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kcoreaddons -, ki18n -, kwallet -, kwidgetsaddons -, qtbase +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kcoreaddons, + ki18n, + kwallet, + kwidgetsaddons, + qtbase, }: mkDerivation { pname = "ksshaskpass"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcoreaddons ki18n kwallet kwidgetsaddons qtbase ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcoreaddons + ki18n + kwallet + kwidgetsaddons + qtbase + ]; } diff --git a/pkgs/desktops/plasma-5/ksystemstats.nix b/pkgs/desktops/plasma-5/ksystemstats.nix index 5b552a1f78605..97591f6cdb146 100644 --- a/pkgs/desktops/plasma-5/ksystemstats.nix +++ b/pkgs/desktops/plasma-5/ksystemstats.nix @@ -1,15 +1,21 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, libksysguard -, libnl -, lm_sensors -, networkmanager-qt +{ + mkDerivation, + lib, + extra-cmake-modules, + libksysguard, + libnl, + lm_sensors, + networkmanager-qt, }: mkDerivation { pname = "ksystemstats"; env.NIX_CFLAGS_COMPILE = toString [ "-I${lib.getBin libksysguard}/share" ]; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ libksysguard libnl lm_sensors networkmanager-qt ]; + buildInputs = [ + libksysguard + libnl + lm_sensors + networkmanager-qt + ]; } diff --git a/pkgs/desktops/plasma-5/kwallet-pam.nix b/pkgs/desktops/plasma-5/kwallet-pam.nix index dcc139bcafdf0..629b64f79b9e9 100644 --- a/pkgs/desktops/plasma-5/kwallet-pam.nix +++ b/pkgs/desktops/plasma-5/kwallet-pam.nix @@ -1,9 +1,24 @@ -{ mkDerivation, lib, extra-cmake-modules, pam, socat, libgcrypt, qtbase, kwallet, }: +{ + mkDerivation, + lib, + extra-cmake-modules, + pam, + socat, + libgcrypt, + qtbase, + kwallet, +}: mkDerivation { pname = "kwallet-pam"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ pam socat libgcrypt qtbase kwallet ]; + buildInputs = [ + pam + socat + libgcrypt + qtbase + kwallet + ]; postPatch = '' sed -i pam_kwallet_init -e "s|socat|${lib.getBin socat}/bin/socat|" ''; diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix index abe1c866671b9..e97bdf5c0ec47 100644 --- a/pkgs/desktops/plasma-5/kwayland-integration.nix +++ b/pkgs/desktops/plasma-5/kwayland-integration.nix @@ -1,19 +1,31 @@ -{ mkDerivation -, extra-cmake-modules -, kguiaddons -, kidletime -, kwayland -, kwindowsystem -, qtbase -, wayland-protocols -, wayland-scanner -, wayland +{ + mkDerivation, + extra-cmake-modules, + kguiaddons, + kidletime, + kwayland, + kwindowsystem, + qtbase, + wayland-protocols, + wayland-scanner, + wayland, }: mkDerivation { pname = "kwayland-integration"; - nativeBuildInputs = [ extra-cmake-modules wayland-scanner ]; - buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-protocols wayland ]; + nativeBuildInputs = [ + extra-cmake-modules + wayland-scanner + ]; + buildInputs = [ + kguiaddons + kidletime + kwindowsystem + kwayland + qtbase + wayland-protocols + wayland + ]; meta = { description = "Integration plugins for various KDE frameworks for the Wayland windowing system"; diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix index 81f588b4d703f..d271ec0e0b2ee 100644 --- a/pkgs/desktops/plasma-5/kwin/default.nix +++ b/pkgs/desktops/plasma-5/kwin/default.nix @@ -1,68 +1,73 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, wayland-scanner -, fetchpatch -, libepoxy -, lcms2 -, libICE -, libSM -, libcap -, libdrm -, libinput -, libxkbcommon -, mesa -, pipewire -, udev -, wayland -, xcb-util-cursor -, xwayland -, plasma-wayland-protocols -, wayland-protocols -, libxcvt -, qtdeclarative -, qtmultimedia -, qtquickcontrols2 -, qtscript -, qtsensors -, qtvirtualkeyboard -, qtx11extras -, breeze-qt5 -, kactivities -, kcompletion -, kcmutils -, kconfig -, kconfigwidgets -, kcoreaddons -, kcrash -, kdeclarative -, kdecoration -, kglobalaccel -, ki18n -, kiconthemes -, kidletime -, kinit -, kio -, knewstuff -, knotifications -, kpackage -, krunner -, kscreenlocker -, kservice -, kwayland -, kwidgetsaddons -, kwindowsystem -, kxmlgui -, plasma-framework -, libqaccessibilityclient +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + wayland-scanner, + fetchpatch, + libepoxy, + lcms2, + libICE, + libSM, + libcap, + libdrm, + libinput, + libxkbcommon, + mesa, + pipewire, + udev, + wayland, + xcb-util-cursor, + xwayland, + plasma-wayland-protocols, + wayland-protocols, + libxcvt, + qtdeclarative, + qtmultimedia, + qtquickcontrols2, + qtscript, + qtsensors, + qtvirtualkeyboard, + qtx11extras, + breeze-qt5, + kactivities, + kcompletion, + kcmutils, + kconfig, + kconfigwidgets, + kcoreaddons, + kcrash, + kdeclarative, + kdecoration, + kglobalaccel, + ki18n, + kiconthemes, + kidletime, + kinit, + kio, + knewstuff, + knotifications, + kpackage, + krunner, + kscreenlocker, + kservice, + kwayland, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + plasma-framework, + libqaccessibilityclient, }: # TODO (ttuegel): investigate qmlplugindump failure mkDerivation { pname = "kwin"; - nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wayland-scanner + ]; buildInputs = [ libepoxy lcms2 @@ -120,7 +125,10 @@ mkDerivation { libqaccessibilityclient ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postPatch = '' patchShebangs src/effects/strip-effect-metadata.py diff --git a/pkgs/desktops/plasma-5/kwrited.nix b/pkgs/desktops/plasma-5/kwrited.nix index 2ce029be9de8b..02375111f93d6 100644 --- a/pkgs/desktops/plasma-5/kwrited.nix +++ b/pkgs/desktops/plasma-5/kwrited.nix @@ -1,15 +1,23 @@ -{ mkDerivation -, extra-cmake-modules -, kcoreaddons -, kdbusaddons -, ki18n -, knotifications -, kpty -, qtbase +{ + mkDerivation, + extra-cmake-modules, + kcoreaddons, + kdbusaddons, + ki18n, + knotifications, + kpty, + qtbase, }: mkDerivation { pname = "kwrited"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kcoreaddons kdbusaddons ki18n knotifications kpty qtbase ]; + buildInputs = [ + kcoreaddons + kdbusaddons + ki18n + knotifications + kpty + qtbase + ]; } diff --git a/pkgs/desktops/plasma-5/layer-shell-qt.nix b/pkgs/desktops/plasma-5/layer-shell-qt.nix index d437c4cf0b75b..17ea2317c8ad6 100644 --- a/pkgs/desktops/plasma-5/layer-shell-qt.nix +++ b/pkgs/desktops/plasma-5/layer-shell-qt.nix @@ -1,17 +1,27 @@ -{ mkDerivation -, extra-cmake-modules -, kguiaddons -, kidletime -, kwayland -, kwindowsystem -, qtbase -, wayland-scanner -, wayland -, wayland-protocols +{ + mkDerivation, + extra-cmake-modules, + kguiaddons, + kidletime, + kwayland, + kwindowsystem, + qtbase, + wayland-scanner, + wayland, + wayland-protocols, }: mkDerivation { pname = "layer-shell-qt"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-scanner wayland wayland-protocols ]; + buildInputs = [ + kguiaddons + kidletime + kwindowsystem + kwayland + qtbase + wayland-scanner + wayland + wayland-protocols + ]; } diff --git a/pkgs/desktops/plasma-5/libkscreen/default.nix b/pkgs/desktops/plasma-5/libkscreen/default.nix index 961b56736ae5b..93c17f96e3ef8 100644 --- a/pkgs/desktops/plasma-5/libkscreen/default.nix +++ b/pkgs/desktops/plasma-5/libkscreen/default.nix @@ -1,21 +1,36 @@ -{ mkDerivation -, propagate -, extra-cmake-modules -, wayland-scanner -, kconfig -, kwayland -, plasma-wayland-protocols -, wayland -, libXrandr -, qtx11extras -, qttools +{ + mkDerivation, + propagate, + extra-cmake-modules, + wayland-scanner, + kconfig, + kwayland, + plasma-wayland-protocols, + wayland, + libXrandr, + qtx11extras, + qttools, }: mkDerivation { pname = "libkscreen"; - nativeBuildInputs = [ extra-cmake-modules wayland-scanner ]; - buildInputs = [ kconfig kwayland plasma-wayland-protocols wayland libXrandr qtx11extras qttools ]; - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + extra-cmake-modules + wayland-scanner + ]; + buildInputs = [ + kconfig + kwayland + plasma-wayland-protocols + wayland + libXrandr + qtx11extras + qttools + ]; + outputs = [ + "out" + "dev" + ]; patches = [ ./libkscreen-backends-path.patch ]; diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix index 17e9decf45497..1ebd1c38c5a21 100644 --- a/pkgs/desktops/plasma-5/libksysguard/default.nix +++ b/pkgs/desktops/plasma-5/libksysguard/default.nix @@ -1,24 +1,25 @@ -{ mkDerivation -, extra-cmake-modules -, kauth -, kcompletion -, kconfig -, kconfigwidgets -, kcoreaddons -, ki18n -, kiconthemes -, knewstuff -, kservice -, kwidgetsaddons -, kwindowsystem -, plasma-framework -, qtscript -, qtwebengine -, qtx11extras -, libnl -, libpcap -, qtsensors -, lm_sensors +{ + mkDerivation, + extra-cmake-modules, + kauth, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + ki18n, + kiconthemes, + knewstuff, + kservice, + kwidgetsaddons, + kwindowsystem, + plasma-framework, + qtscript, + qtwebengine, + qtx11extras, + libnl, + libpcap, + qtsensors, + lm_sensors, }: mkDerivation { @@ -48,5 +49,9 @@ mkDerivation { qtsensors lm_sensors ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; } diff --git a/pkgs/desktops/plasma-5/milou.nix b/pkgs/desktops/plasma-5/milou.nix index 1045e5f68e522..faf8352400d02 100644 --- a/pkgs/desktops/plasma-5/milou.nix +++ b/pkgs/desktops/plasma-5/milou.nix @@ -1,14 +1,15 @@ -{ mkDerivation -, extra-cmake-modules -, kcoreaddons -, kdeclarative -, ki18n -, kitemmodels -, krunner -, kservice -, plasma-framework -, qtscript -, qtdeclarative +{ + mkDerivation, + extra-cmake-modules, + kcoreaddons, + kdeclarative, + ki18n, + kitemmodels, + krunner, + kservice, + plasma-framework, + qtscript, + qtdeclarative, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/oxygen-sounds.nix b/pkgs/desktops/plasma-5/oxygen-sounds.nix index 78fdebc416c8e..ddb5be869bea9 100644 --- a/pkgs/desktops/plasma-5/oxygen-sounds.nix +++ b/pkgs/desktops/plasma-5/oxygen-sounds.nix @@ -1,5 +1,6 @@ -{ mkDerivation -, extra-cmake-modules +{ + mkDerivation, + extra-cmake-modules, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/oxygen.nix b/pkgs/desktops/plasma-5/oxygen.nix index a9e4eb18820b9..8308cc8275918 100644 --- a/pkgs/desktops/plasma-5/oxygen.nix +++ b/pkgs/desktops/plasma-5/oxygen.nix @@ -1,19 +1,20 @@ -{ mkDerivation -, extra-cmake-modules -, frameworkintegration -, kcmutils -, kcompletion -, kconfig -, kdecoration -, kguiaddons -, ki18n -, kwidgetsaddons -, kservice -, kwayland -, kwindowsystem -, qtdeclarative -, qtx11extras -, libXdmcp +{ + mkDerivation, + extra-cmake-modules, + frameworkintegration, + kcmutils, + kcompletion, + kconfig, + kdecoration, + kguiaddons, + ki18n, + kwidgetsaddons, + kservice, + kwayland, + kwindowsystem, + qtdeclarative, + qtx11extras, + libXdmcp, }: mkDerivation { @@ -35,5 +36,9 @@ mkDerivation { qtx11extras libXdmcp ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; } diff --git a/pkgs/desktops/plasma-5/plank-player.nix b/pkgs/desktops/plasma-5/plank-player.nix index f67cd8728ee7e..536db96ef3c3d 100644 --- a/pkgs/desktops/plasma-5/plank-player.nix +++ b/pkgs/desktops/plasma-5/plank-player.nix @@ -1,9 +1,10 @@ -{ mkDerivation -, extra-cmake-modules -, qtquickcontrols2 -, qtmultimedia -, kirigami2 -, ki18n +{ + mkDerivation, + extra-cmake-modules, + qtquickcontrols2, + qtmultimedia, + kirigami2, + ki18n, }: mkDerivation { pname = "plank-player"; diff --git a/pkgs/desktops/plasma-5/plasma-bigscreen.nix b/pkgs/desktops/plasma-5/plasma-bigscreen.nix index f94b49efabc79..dc6024a1e2103 100644 --- a/pkgs/desktops/plasma-5/plasma-bigscreen.nix +++ b/pkgs/desktops/plasma-5/plasma-bigscreen.nix @@ -1,18 +1,19 @@ -{ mkDerivation -, extra-cmake-modules -, kactivities -, kactivities-stats -, plasma-framework -, ki18n -, kirigami2 -, kdeclarative -, kcmutils -, knotifications -, kio -, kwayland -, kwindowsystem -, plasma-workspace -, qtmultimedia +{ + mkDerivation, + extra-cmake-modules, + kactivities, + kactivities-stats, + plasma-framework, + ki18n, + kirigami2, + kdeclarative, + kcmutils, + knotifications, + kio, + kwayland, + kwindowsystem, + plasma-workspace, + qtmultimedia, }: mkDerivation { pname = "plasma-bigscreen"; @@ -43,5 +44,8 @@ mkDerivation { wrapQtApp $out/bin/plasma-bigscreen-wayland ''; - passthru.providedSessions = [ "plasma-bigscreen-x11" "plasma-bigscreen-wayland" ]; + passthru.providedSessions = [ + "plasma-bigscreen-x11" + "plasma-bigscreen-wayland" + ]; } diff --git a/pkgs/desktops/plasma-5/plasma-browser-integration.nix b/pkgs/desktops/plasma-5/plasma-browser-integration.nix index c951f359c5482..3694282ce348a 100644 --- a/pkgs/desktops/plasma-5/plasma-browser-integration.nix +++ b/pkgs/desktops/plasma-5/plasma-browser-integration.nix @@ -1,17 +1,18 @@ -{ mkDerivation -, extra-cmake-modules -, qtbase -, kfilemetadata -, kio -, ki18n -, kconfig -, kdbusaddons -, knotifications -, kpurpose -, krunner -, kwindowsystem -, kactivities -, plasma-workspace +{ + mkDerivation, + extra-cmake-modules, + qtbase, + kfilemetadata, + kio, + ki18n, + kconfig, + kdbusaddons, + knotifications, + kpurpose, + krunner, + kwindowsystem, + kactivities, + plasma-workspace, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix index aaf1519ceaeb3..616c52b886e85 100644 --- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix +++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix @@ -1,62 +1,63 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, wayland-scanner -, boost -, fontconfig -, ibus -, libXcursor -, libXft -, libcanberra_kde -, libpulseaudio -, libxkbfile -, xf86inputevdev -, xf86inputsynaptics -, xinput -, xkeyboard_config -, xorgserver -, util-linux -, wayland -, wayland-protocols -, accounts-qt -, qtdeclarative -, qtquickcontrols -, qtquickcontrols2 -, qtsvg -, qtx11extras -, attica -, baloo -, kaccounts-integration -, kactivities -, kactivities-stats -, kauth -, kcmutils -, kdbusaddons -, kdeclarative -, kded -, kdelibs4support -, kemoticons -, kglobalaccel -, ki18n -, kitemmodels -, knewstuff -, knotifications -, knotifyconfig -, kpeople -, krunner -, kscreenlocker -, kwallet -, kwin -, phonon -, plasma-framework -, plasma-workspace -, qqc2-desktop-style -, xf86inputlibinput -, glib -, gsettings-desktop-schemas -, runCommandLocal -, makeWrapper +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + wayland-scanner, + boost, + fontconfig, + ibus, + libXcursor, + libXft, + libcanberra_kde, + libpulseaudio, + libxkbfile, + xf86inputevdev, + xf86inputsynaptics, + xinput, + xkeyboard_config, + xorgserver, + util-linux, + wayland, + wayland-protocols, + accounts-qt, + qtdeclarative, + qtquickcontrols, + qtquickcontrols2, + qtsvg, + qtx11extras, + attica, + baloo, + kaccounts-integration, + kactivities, + kactivities-stats, + kauth, + kcmutils, + kdbusaddons, + kdeclarative, + kded, + kdelibs4support, + kemoticons, + kglobalaccel, + ki18n, + kitemmodels, + knewstuff, + knotifications, + knotifyconfig, + kpeople, + krunner, + kscreenlocker, + kwallet, + kwin, + phonon, + plasma-framework, + plasma-workspace, + qqc2-desktop-style, + xf86inputlibinput, + glib, + gsettings-desktop-schemas, + runCommandLocal, + makeWrapper, }: let # run gsettings with desktop schemas for using in "kcm_access" kcm @@ -68,7 +69,11 @@ let in mkDerivation { pname = "plasma-desktop"; - nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wayland-scanner + ]; buildInputs = [ boost fontconfig @@ -129,11 +134,10 @@ mkDerivation { ./kcm-access.patch ./no-discover-shortcut.patch ]; - CXXFLAGS = - [ - ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/bin/hwclock\"'' - ''-DNIXPKGS_GSETTINGS=\"${gsettings-wrapper}/bin/gsettings\"'' - ]; + CXXFLAGS = [ + ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/bin/hwclock\"'' + ''-DNIXPKGS_GSETTINGS=\"${gsettings-wrapper}/bin/gsettings\"'' + ]; postInstall = '' # Display ~/Desktop contents on the desktop by default. sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \ diff --git a/pkgs/desktops/plasma-5/plasma-disks.nix b/pkgs/desktops/plasma-5/plasma-disks.nix index 801bf4d978b3b..8f179c9da1320 100644 --- a/pkgs/desktops/plasma-5/plasma-disks.nix +++ b/pkgs/desktops/plasma-5/plasma-disks.nix @@ -1,30 +1,34 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kcmutils -, kconfig -, kdbusaddons -, khtml -, ki18n -, kiconthemes -, kio -, kitemviews -, kservice -, kwindowsystem -, kxmlgui -, qtquickcontrols -, qtquickcontrols2 -, kactivities -, kactivities-stats -, kirigami2 -, kcrash -, plasma-workspace -, systemsettings +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kcmutils, + kconfig, + kdbusaddons, + khtml, + ki18n, + kiconthemes, + kio, + kitemviews, + kservice, + kwindowsystem, + kxmlgui, + qtquickcontrols, + qtquickcontrols2, + kactivities, + kactivities-stats, + kirigami2, + kcrash, + plasma-workspace, + systemsettings, }: mkDerivation { pname = "plasma-disks"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kcmutils kconfig @@ -46,5 +50,9 @@ mkDerivation { plasma-workspace systemsettings ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; } diff --git a/pkgs/desktops/plasma-5/plasma-firewall.nix b/pkgs/desktops/plasma-5/plasma-firewall.nix index e290b5ed0dc12..2f19a9c86789d 100644 --- a/pkgs/desktops/plasma-5/plasma-firewall.nix +++ b/pkgs/desktops/plasma-5/plasma-firewall.nix @@ -1,8 +1,9 @@ -{ mkDerivation -, extra-cmake-modules -, python3 -, plasma-framework -, kcmutils +{ + mkDerivation, + extra-cmake-modules, + python3, + plasma-framework, + kcmutils, }: mkDerivation { pname = "plasma-firewall"; diff --git a/pkgs/desktops/plasma-5/plasma-integration/default.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix index 51a66bcc0d8c8..79390b6ed53c0 100644 --- a/pkgs/desktops/plasma-5/plasma-integration/default.nix +++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix @@ -1,25 +1,29 @@ -{ mkDerivation -, extra-cmake-modules -, wayland-scanner -, breeze-qt5 -, kconfig -, kconfigwidgets -, kiconthemes -, kio -, knotifications -, kwayland -, libXcursor -, qtquickcontrols2 -, wayland -, wayland-protocols -, plasma-wayland-protocols +{ + mkDerivation, + extra-cmake-modules, + wayland-scanner, + breeze-qt5, + kconfig, + kconfigwidgets, + kiconthemes, + kio, + knotifications, + kwayland, + libXcursor, + qtquickcontrols2, + wayland, + wayland-protocols, + plasma-wayland-protocols, }: # TODO: install Noto Sans and Oxygen Mono fonts with plasma-integration mkDerivation { pname = "plasma-integration"; - nativeBuildInputs = [ extra-cmake-modules wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + wayland-scanner + ]; buildInputs = [ breeze-qt5 kconfig diff --git a/pkgs/desktops/plasma-5/plasma-mobile/default.nix b/pkgs/desktops/plasma-5/plasma-mobile/default.nix index 7409cf2d54dbc..90acebb762c5a 100644 --- a/pkgs/desktops/plasma-5/plasma-mobile/default.nix +++ b/pkgs/desktops/plasma-5/plasma-mobile/default.nix @@ -1,37 +1,41 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, libdbusmenu -, pam -, wayland -, appstream -, kdeclarative -, kdelibs4support -, kpeople -, kconfig -, krunner -, kinit -, kirigami-addons -, kwayland -, kwin -, plasma-framework -, telepathy -, libphonenumber -, protobuf -, libqofono -, modemmanager-qt -, networkmanager-qt -, plasma-workspace -, maliit-framework -, maliit-keyboard -, qtfeedback -, qttools +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + libdbusmenu, + pam, + wayland, + appstream, + kdeclarative, + kdelibs4support, + kpeople, + kconfig, + krunner, + kinit, + kirigami-addons, + kwayland, + kwin, + plasma-framework, + telepathy, + libphonenumber, + protobuf, + libqofono, + modemmanager-qt, + networkmanager-qt, + plasma-workspace, + maliit-framework, + maliit-keyboard, + qtfeedback, + qttools, }: mkDerivation { pname = "plasma-mobile"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ appstream libdbusmenu diff --git a/pkgs/desktops/plasma-5/plasma-nano/default.nix b/pkgs/desktops/plasma-5/plasma-nano/default.nix index 50f0d321b394e..f66163104d612 100644 --- a/pkgs/desktops/plasma-5/plasma-nano/default.nix +++ b/pkgs/desktops/plasma-5/plasma-nano/default.nix @@ -1,6 +1,7 @@ -{ mkDerivation -, extra-cmake-modules -, plasma-framework +{ + mkDerivation, + extra-cmake-modules, + plasma-framework, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/plasma-nm/default.nix b/pkgs/desktops/plasma-5/plasma-nm/default.nix index 1915196e4949d..dc7e8259eeb68 100644 --- a/pkgs/desktops/plasma-5/plasma-nm/default.nix +++ b/pkgs/desktops/plasma-5/plasma-nm/default.nix @@ -1,40 +1,45 @@ -{ mkDerivation -, substituteAll -, extra-cmake-modules -, kdoctools -, kcmutils -, kcompletion -, kconfigwidgets -, kcoreaddons -, kdbusaddons -, kdeclarative -, ki18n -, kiconthemes -, kinit -, kio -, kitemviews -, knotifications -, kservice -, kwallet -, kwidgetsaddons -, kwindowsystem -, kxmlgui -, plasma-framework -, prison -, solid -, mobile-broadband-provider-info -, openconnect -, openvpn -, modemmanager-qt -, networkmanager-qt -, qca-qt5 -, qtdeclarative -, qttools +{ + mkDerivation, + substituteAll, + extra-cmake-modules, + kdoctools, + kcmutils, + kcompletion, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kdeclarative, + ki18n, + kiconthemes, + kinit, + kio, + kitemviews, + knotifications, + kservice, + kwallet, + kwidgetsaddons, + kwindowsystem, + kxmlgui, + plasma-framework, + prison, + solid, + mobile-broadband-provider-info, + openconnect, + openvpn, + modemmanager-qt, + networkmanager-qt, + qca-qt5, + qtdeclarative, + qttools, }: mkDerivation { pname = "plasma-nm"; - nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + qttools + ]; buildInputs = [ kdeclarative ki18n diff --git a/pkgs/desktops/plasma-5/plasma-pa.nix b/pkgs/desktops/plasma-5/plasma-pa.nix index 40a05ed6fe14f..7b37c98f83375 100644 --- a/pkgs/desktops/plasma-5/plasma-pa.nix +++ b/pkgs/desktops/plasma-5/plasma-pa.nix @@ -1,25 +1,29 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kcmutils -, kconfigwidgets -, kcoreaddons -, kdeclarative -, kglobalaccel -, ki18n -, kwindowsystem -, plasma-framework -, qtbase -, qtdeclarative -, glib -, libcanberra-gtk3 -, libpulseaudio -, sound-theme-freedesktop +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kcmutils, + kconfigwidgets, + kcoreaddons, + kdeclarative, + kglobalaccel, + ki18n, + kwindowsystem, + plasma-framework, + qtbase, + qtdeclarative, + glib, + libcanberra-gtk3, + libpulseaudio, + sound-theme-freedesktop, }: mkDerivation { pname = "plasma-pa"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ glib libcanberra-gtk3 diff --git a/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix b/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix index 46f52a6635afe..8d52140a00221 100644 --- a/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix +++ b/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix @@ -1,27 +1,32 @@ -{ mkDerivation -, extra-cmake-modules -, kconfig -, knotifications -, ki18n -, solid -, kcoreaddons -, kdeclarative -, kcmutils -, kpackage -, kscreenlocker -, kwindowsystem -, wayland -, wayland-scanner -, pkg-config -, libcec -, libcec_platform -, libevdev -, plasma-workspace -, plasma-wayland-protocols +{ + mkDerivation, + extra-cmake-modules, + kconfig, + knotifications, + ki18n, + solid, + kcoreaddons, + kdeclarative, + kcmutils, + kpackage, + kscreenlocker, + kwindowsystem, + wayland, + wayland-scanner, + pkg-config, + libcec, + libcec_platform, + libevdev, + plasma-workspace, + plasma-wayland-protocols, }: mkDerivation { pname = "plasma-remotecontrollers"; - nativeBuildInputs = [ extra-cmake-modules pkg-config wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + pkg-config + wayland-scanner + ]; buildInputs = [ kconfig knotifications diff --git a/pkgs/desktops/plasma-5/plasma-sdk.nix b/pkgs/desktops/plasma-5/plasma-sdk.nix index 88a1968d9d63f..465284aca798a 100644 --- a/pkgs/desktops/plasma-5/plasma-sdk.nix +++ b/pkgs/desktops/plasma-5/plasma-sdk.nix @@ -1,27 +1,31 @@ -{ mkDerivation -, extra-cmake-modules -, karchive -, kcompletion -, kconfig -, kconfigwidgets -, kcoreaddons -, kdbusaddons -, kdeclarative -, ki18n -, kiconthemes -, kio -, kitemmodels -, plasma-framework -, kservice -, ktexteditor -, kwidgetsaddons -, kdoctools +{ + mkDerivation, + extra-cmake-modules, + karchive, + kcompletion, + kconfig, + kconfigwidgets, + kcoreaddons, + kdbusaddons, + kdeclarative, + ki18n, + kiconthemes, + kio, + kitemmodels, + plasma-framework, + kservice, + ktexteditor, + kwidgetsaddons, + kdoctools, }: mkDerivation { pname = "plasma-sdk"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ karchive kcompletion diff --git a/pkgs/desktops/plasma-5/plasma-systemmonitor.nix b/pkgs/desktops/plasma-5/plasma-systemmonitor.nix index 44f69995a15dc..a9d9e9f1596c4 100644 --- a/pkgs/desktops/plasma-5/plasma-systemmonitor.nix +++ b/pkgs/desktops/plasma-5/plasma-systemmonitor.nix @@ -1,24 +1,28 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, qtquickcontrols2 -, kconfig -, kcoreaddons -, ki18n -, kiconthemes -, kitemmodels -, kitemviews -, knewstuff -, libksysguard -, kquickcharts -, ksystemstats -, qqc2-desktop-style -, qtbase +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + qtquickcontrols2, + kconfig, + kcoreaddons, + ki18n, + kiconthemes, + kitemmodels, + kitemviews, + knewstuff, + libksysguard, + kquickcharts, + ksystemstats, + qqc2-desktop-style, + qtbase, }: mkDerivation { pname = "plasma-systemmonitor"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ qtquickcontrols2 kconfig diff --git a/pkgs/desktops/plasma-5/plasma-thunderbolt.nix b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix index c35f1bf097017..f9908439e9922 100644 --- a/pkgs/desktops/plasma-5/plasma-thunderbolt.nix +++ b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix @@ -1,8 +1,9 @@ -{ mkDerivation -, extra-cmake-modules -, kcmutils -, kcoreaddons -, bolt +{ + mkDerivation, + extra-cmake-modules, + kcmutils, + kcoreaddons, + bolt, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/plasma-vault/default.nix b/pkgs/desktops/plasma-5/plasma-vault/default.nix index 3bc432b0d5095..20408af392a90 100644 --- a/pkgs/desktops/plasma-5/plasma-vault/default.nix +++ b/pkgs/desktops/plasma-5/plasma-vault/default.nix @@ -1,15 +1,16 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kactivities -, plasma-framework -, kwindowsystem -, networkmanager-qt -, libksysguard -, encfs -, cryfs -, fuse -, gocryptfs +{ + mkDerivation, + lib, + extra-cmake-modules, + kactivities, + plasma-framework, + kwindowsystem, + networkmanager-qt, + libksysguard, + encfs, + cryfs, + fuse, + gocryptfs, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/plasma-welcome.nix b/pkgs/desktops/plasma-5/plasma-welcome.nix index 1ae778b3282a9..219db4ea756b2 100644 --- a/pkgs/desktops/plasma-5/plasma-welcome.nix +++ b/pkgs/desktops/plasma-5/plasma-welcome.nix @@ -1,22 +1,23 @@ -{ mkDerivation -, extra-cmake-modules -, qtquickcontrols2 -, accounts-qt -, kaccounts-integration -, kcoreaddons -, kconfigwidgets -, kdbusaddons -, kdeclarative -, ki18n -, kio -, kirigami2 -, knewstuff -, knotifications -, kservice -, kuserfeedback -, kwindowsystem -, plasma-framework -, signond +{ + mkDerivation, + extra-cmake-modules, + qtquickcontrols2, + accounts-qt, + kaccounts-integration, + kcoreaddons, + kconfigwidgets, + kdbusaddons, + kdeclarative, + ki18n, + kio, + kirigami2, + knewstuff, + knotifications, + kservice, + kuserfeedback, + kwindowsystem, + plasma-framework, + signond, }: mkDerivation { diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix index 70922f31557c6..41263142c5bd6 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix +++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix @@ -1,81 +1,91 @@ -{ mkDerivation -, lib -, extra-cmake-modules -, kdoctools -, wayland-scanner -, isocodes -, libdbusmenu -, libSM -, libXcursor -, libXtst -, libXft -, pam -, wayland -, xmessage -, xsetroot -, baloo -, breeze-qt5 -, kactivities -, kactivities-stats -, kcmutils -, kconfig -, kcrash -, kdbusaddons -, kdeclarative -, kdelibs4support -, kdesu -, kglobalaccel -, kidletime -, kinit -, kjsembed -, knewstuff -, knotifyconfig -, kpackage -, kpeople -, krunner -, kscreenlocker -, ktexteditor -, ktextwidgets -, kwallet -, kwayland -, kwin -, kxmlrpcclient -, libkscreen -, libksysguard -, libqalculate -, networkmanager-qt -, phonon -, plasma-framework -, prison -, solid -, kholidays -, kquickcharts -, appstream-qt -, plasma-wayland-protocols -, kpipewire -, libkexiv2 -, kuserfeedback -, qtgraphicaleffects -, qtquickcontrols -, qtquickcontrols2 -, qtscript -, qttools -, qtwayland -, qtx11extras -, qqc2-desktop-style -, polkit-qt -, pipewire -, libdrm -, fetchpatch +{ + mkDerivation, + lib, + extra-cmake-modules, + kdoctools, + wayland-scanner, + isocodes, + libdbusmenu, + libSM, + libXcursor, + libXtst, + libXft, + pam, + wayland, + xmessage, + xsetroot, + baloo, + breeze-qt5, + kactivities, + kactivities-stats, + kcmutils, + kconfig, + kcrash, + kdbusaddons, + kdeclarative, + kdelibs4support, + kdesu, + kglobalaccel, + kidletime, + kinit, + kjsembed, + knewstuff, + knotifyconfig, + kpackage, + kpeople, + krunner, + kscreenlocker, + ktexteditor, + ktextwidgets, + kwallet, + kwayland, + kwin, + kxmlrpcclient, + libkscreen, + libksysguard, + libqalculate, + networkmanager-qt, + phonon, + plasma-framework, + prison, + solid, + kholidays, + kquickcharts, + appstream-qt, + plasma-wayland-protocols, + kpipewire, + libkexiv2, + kuserfeedback, + qtgraphicaleffects, + qtquickcontrols, + qtquickcontrols2, + qtscript, + qttools, + qtwayland, + qtx11extras, + qqc2-desktop-style, + polkit-qt, + pipewire, + libdrm, + fetchpatch, }: -let inherit (lib) getBin getLib; in +let + inherit (lib) getBin getLib; +in mkDerivation { pname = "plasma-workspace"; - passthru.providedSessions = [ "plasma" "plasmawayland" ]; + passthru.providedSessions = [ + "plasma" + "plasmawayland" + ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wayland-scanner + ]; buildInputs = [ isocodes libdbusmenu @@ -140,7 +150,10 @@ mkDerivation { libdrm ]; propagatedUserEnvPkgs = [ qtgraphicaleffects ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cmakeFlags = [ ''-DNIXPKGS_BREEZE_WALLPAPERS=${getBin breeze-qt5}/share/wallpapers'' diff --git a/pkgs/desktops/plasma-5/polkit-kde-agent.nix b/pkgs/desktops/plasma-5/polkit-kde-agent.nix index f96c642f7b287..5f35fc7e4cace 100644 --- a/pkgs/desktops/plasma-5/polkit-kde-agent.nix +++ b/pkgs/desktops/plasma-5/polkit-kde-agent.nix @@ -1,15 +1,16 @@ -{ mkDerivation -, extra-cmake-modules -, kcoreaddons -, kconfig -, kcrash -, kdbusaddons -, ki18n -, kiconthemes -, knotifications -, kwidgetsaddons -, kwindowsystem -, polkit-qt +{ + mkDerivation, + extra-cmake-modules, + kcoreaddons, + kconfig, + kcrash, + kdbusaddons, + ki18n, + kiconthemes, + knotifications, + kwidgetsaddons, + kwindowsystem, + polkit-qt, }: mkDerivation { @@ -27,5 +28,8 @@ mkDerivation { kwindowsystem polkit-qt ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; } diff --git a/pkgs/desktops/plasma-5/powerdevil.nix b/pkgs/desktops/plasma-5/powerdevil.nix index d60f9701dee6f..fe24fdf01f094 100644 --- a/pkgs/desktops/plasma-5/powerdevil.nix +++ b/pkgs/desktops/plasma-5/powerdevil.nix @@ -1,28 +1,32 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, bluez-qt -, kactivities -, kauth -, kconfig -, kdbusaddons -, kglobalaccel -, ki18n -, kidletime -, kio -, knotifyconfig -, kwayland -, libkscreen -, networkmanager-qt -, plasma-workspace -, qtx11extras -, solid -, udev +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + bluez-qt, + kactivities, + kauth, + kconfig, + kdbusaddons, + kglobalaccel, + ki18n, + kidletime, + kio, + knotifyconfig, + kwayland, + libkscreen, + networkmanager-qt, + plasma-workspace, + qtx11extras, + solid, + udev, }: mkDerivation { pname = "powerdevil"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kconfig kdbusaddons diff --git a/pkgs/desktops/plasma-5/qqc2-breeze-style.nix b/pkgs/desktops/plasma-5/qqc2-breeze-style.nix index fbaf65bf0cf28..36bd9382ad1d1 100644 --- a/pkgs/desktops/plasma-5/qqc2-breeze-style.nix +++ b/pkgs/desktops/plasma-5/qqc2-breeze-style.nix @@ -1,18 +1,22 @@ -{ mkDerivation -, extra-cmake-modules -, kconfig -, kconfigwidgets -, kdoctools -, kguiaddons -, kiconthemes -, kirigami2 -, qtquickcontrols2 -, qtx11extras +{ + mkDerivation, + extra-cmake-modules, + kconfig, + kconfigwidgets, + kdoctools, + kguiaddons, + kiconthemes, + kirigami2, + qtquickcontrols2, + qtx11extras, }: mkDerivation { pname = "qqc2-breeze-style"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kconfig kconfigwidgets diff --git a/pkgs/desktops/plasma-5/sddm-kcm.nix b/pkgs/desktops/plasma-5/sddm-kcm.nix index 55f934587d0d8..a89ba50418e48 100644 --- a/pkgs/desktops/plasma-5/sddm-kcm.nix +++ b/pkgs/desktops/plasma-5/sddm-kcm.nix @@ -1,22 +1,26 @@ -{ mkDerivation -, extra-cmake-modules -, shared-mime-info -, libpthreadstubs -, libXcursor -, libXdmcp -, qtquickcontrols2 -, qtx11extras -, karchive -, kcmutils -, kdeclarative -, ki18n -, kio -, knewstuff +{ + mkDerivation, + extra-cmake-modules, + shared-mime-info, + libpthreadstubs, + libXcursor, + libXdmcp, + qtquickcontrols2, + qtx11extras, + karchive, + kcmutils, + kdeclarative, + ki18n, + kio, + knewstuff, }: mkDerivation { pname = "sddm-kcm"; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; buildInputs = [ libpthreadstubs libXcursor diff --git a/pkgs/desktops/plasma-5/systemsettings.nix b/pkgs/desktops/plasma-5/systemsettings.nix index b12720811483f..3630387441861 100644 --- a/pkgs/desktops/plasma-5/systemsettings.nix +++ b/pkgs/desktops/plasma-5/systemsettings.nix @@ -1,30 +1,34 @@ -{ mkDerivation -, extra-cmake-modules -, kdoctools -, kcmutils -, kconfig -, kdbusaddons -, khtml -, ki18n -, kiconthemes -, kio -, kitemviews -, kservice -, kwindowsystem -, kxmlgui -, qtquickcontrols -, qtquickcontrols2 -, kactivities -, kactivities-stats -, kirigami2 -, kirigami-addons -, kcrash -, plasma-workspace +{ + mkDerivation, + extra-cmake-modules, + kdoctools, + kcmutils, + kconfig, + kdbusaddons, + khtml, + ki18n, + kiconthemes, + kio, + kitemviews, + kservice, + kwindowsystem, + kxmlgui, + qtquickcontrols, + qtquickcontrols2, + kactivities, + kactivities-stats, + kirigami2, + kirigami-addons, + kcrash, + plasma-workspace, }: mkDerivation { pname = "systemsettings"; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; buildInputs = [ kcmutils kconfig @@ -46,6 +50,10 @@ mkDerivation { kcrash plasma-workspace ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; meta.mainProgram = "systemsettings5"; } diff --git a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix index e5822cb898032..4c218b24592d6 100644 --- a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix +++ b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix @@ -1,32 +1,38 @@ -{ mkDerivation -, extra-cmake-modules -, gettext -, kdoctools -, wayland-scanner -, cups -, libepoxy -, mesa -, pcre -, pipewire -, wayland -, wayland-protocols -, kcoreaddons -, knotifications -, kwayland -, kwidgetsaddons -, kwindowsystem -, kirigami2 -, kdeclarative -, plasma-framework -, plasma-wayland-protocols -, plasma-workspace -, kio -, qtbase +{ + mkDerivation, + extra-cmake-modules, + gettext, + kdoctools, + wayland-scanner, + cups, + libepoxy, + mesa, + pcre, + pipewire, + wayland, + wayland-protocols, + kcoreaddons, + knotifications, + kwayland, + kwidgetsaddons, + kwindowsystem, + kirigami2, + kdeclarative, + plasma-framework, + plasma-wayland-protocols, + plasma-workspace, + kio, + qtbase, }: mkDerivation { pname = "xdg-desktop-portal-kde"; - nativeBuildInputs = [ extra-cmake-modules gettext kdoctools wayland-scanner ]; + nativeBuildInputs = [ + extra-cmake-modules + gettext + kdoctools + wayland-scanner + ]; buildInputs = [ cups libepoxy diff --git a/pkgs/desktops/rox/rox-filer/default.nix b/pkgs/desktops/rox/rox-filer/default.nix index 0d7b0acaff578..b8d0b1c5b3cc7 100644 --- a/pkgs/desktops/rox/rox-filer/default.nix +++ b/pkgs/desktops/rox/rox-filer/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, wrapGAppsHook3 -, libxml2 -, gtk -, libSM -, shared-mime-info +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + wrapGAppsHook3, + libxml2, + gtk, + libSM, + shared-mime-info, }: stdenv.mkDerivation rec { @@ -23,7 +24,12 @@ stdenv.mkDerivation rec { pkg-config wrapGAppsHook3 ]; - buildInputs = [ libxml2 gtk shared-mime-info libSM ]; + buildInputs = [ + libxml2 + gtk + shared-mime-info + libSM + ]; NIX_LDFLAGS = "-lm"; patches = [ @@ -91,7 +97,10 @@ stdenv.mkDerivation rec { description = "Fast, lightweight, gtk2 file manager"; mainProgram = "rox"; homepage = "http://rox.sourceforge.net/desktop"; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; platforms = platforms.linux; maintainers = [ maintainers.eleanor ]; }; diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix index 520835bf80d73..5eeec6ccfa1e2 100644 --- a/pkgs/desktops/xfce/applications/catfish/default.nix +++ b/pkgs/desktops/xfce/applications/catfish/default.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitLab -, gitUpdater -, file -, which -, intltool -, gobject-introspection -, findutils -, xdg-utils -, dconf -, gtk3 -, python3Packages -, xfconf -, wrapGAppsHook3 +{ + lib, + fetchFromGitLab, + gitUpdater, + file, + which, + intltool, + gobject-introspection, + findutils, + xdg-utils, + dconf, + gtk3, + python3Packages, + xfconf, + wrapGAppsHook3, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/desktops/xfce/applications/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix index cb885ad3fde48..4a2edb70f230c 100644 --- a/pkgs/desktops/xfce/applications/gigolo/default.nix +++ b/pkgs/desktops/xfce/applications/gigolo/default.nix @@ -1,4 +1,9 @@ -{ lib, mkXfceDerivation, gtk3, glib }: +{ + lib, + mkXfceDerivation, + gtk3, + glib, +}: mkXfceDerivation { category = "apps"; @@ -8,7 +13,10 @@ mkXfceDerivation { sha256 = "sha256-dxaFuKbSqhj/l5JV31cI+XzgdghfbcVwVtwmRiZeff8="; - buildInputs = [ gtk3 glib ]; + buildInputs = [ + gtk3 + glib + ]; meta = with lib; { description = "Frontend to easily manage connections to remote filesystems"; diff --git a/pkgs/desktops/xfce/applications/mousepad/default.nix b/pkgs/desktops/xfce/applications/mousepad/default.nix index 3bb9389c1e25c..310f863b86589 100644 --- a/pkgs/desktops/xfce/applications/mousepad/default.nix +++ b/pkgs/desktops/xfce/applications/mousepad/default.nix @@ -1,14 +1,15 @@ -{ lib -, mkXfceDerivation -, gobject-introspection -, glib -, gtk3 -, gtksourceview4 -, gspell -, libxfce4ui -, xfconf -, enablePolkit ? true -, polkit +{ + lib, + mkXfceDerivation, + gobject-introspection, + glib, + gtk3, + gtksourceview4, + gspell, + libxfce4ui, + xfconf, + enablePolkit ? true, + polkit, }: mkXfceDerivation { @@ -21,16 +22,18 @@ mkXfceDerivation { nativeBuildInputs = [ gobject-introspection ]; - buildInputs = [ - glib - gtk3 - gtksourceview4 - gspell - libxfce4ui # for shortcut plugin - xfconf # required by libxfce4kbd-private-3 - ] ++ lib.optionals enablePolkit [ - polkit - ]; + buildInputs = + [ + glib + gtk3 + gtksourceview4 + gspell + libxfce4ui # for shortcut plugin + xfconf # required by libxfce4kbd-private-3 + ] + ++ lib.optionals enablePolkit [ + polkit + ]; # Use the GSettings keyfile backend rather than DConf configureFlags = [ "--enable-keyfile-settings" ]; diff --git a/pkgs/desktops/xfce/applications/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix index 130eb8464aeb2..d5ca6ec37c4c4 100644 --- a/pkgs/desktops/xfce/applications/orage/default.nix +++ b/pkgs/desktops/xfce/applications/orage/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkXfceDerivation -, gtk3 -, libical -, libnotify -, libxfce4ui -, popt -, tzdata +{ + lib, + mkXfceDerivation, + gtk3, + libical, + libnotify, + libxfce4ui, + popt, + tzdata, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/applications/parole/default.nix b/pkgs/desktops/xfce/applications/parole/default.nix index 41286052db41a..4d2f5bfe80bf8 100644 --- a/pkgs/desktops/xfce/applications/parole/default.nix +++ b/pkgs/desktops/xfce/applications/parole/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkXfceDerivation -, dbus -, dbus-glib -, gst_all_1 -, gtk3 -, libnotify -, libX11 -, libxfce4ui -, libxfce4util -, taglib -, xfconf +{ + lib, + mkXfceDerivation, + dbus, + dbus-glib, + gst_all_1, + gtk3, + libnotify, + libX11, + libxfce4ui, + libxfce4util, + taglib, + xfconf, }: # Doesn't seem to find H.264 codec even though built with gst-plugins-bad. diff --git a/pkgs/desktops/xfce/applications/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix index 0a6a622e777ce..389fe02773bee 100644 --- a/pkgs/desktops/xfce/applications/ristretto/default.nix +++ b/pkgs/desktops/xfce/applications/ristretto/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkXfceDerivation -, gtk3 -, glib -, gnome -, libexif -, libjxl -, librsvg -, libxfce4ui -, libxfce4util -, webp-pixbuf-loader -, xfconf +{ + lib, + mkXfceDerivation, + gtk3, + glib, + gnome, + libexif, + libjxl, + librsvg, + libxfce4ui, + libxfce4util, + webp-pixbuf-loader, + xfconf, }: mkXfceDerivation { @@ -34,13 +35,15 @@ mkXfceDerivation { postInstall = '' # Pull in JXL and WebP support for ristretto. # In postInstall to run before gappsWrapperArgsHook. - export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE { - extraLoaders = [ - libjxl - librsvg - webp-pixbuf-loader - ]; - }}" + export GDK_PIXBUF_MODULE_FILE="${ + gnome._gdkPixbufCacheBuilder_DO_NOT_USE { + extraLoaders = [ + libjxl + librsvg + webp-pixbuf-loader + ]; + } + }" ''; meta = with lib; { diff --git a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix index b8a9f1f68277d..40d9478f15598 100644 --- a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix @@ -1,10 +1,11 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, libxfce4ui -, libxfce4util -, xfce4-panel +{ + lib, + mkXfceDerivation, + glib, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-panel, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix index 1ef2a37f7b8c7..f0259878430a9 100644 --- a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix @@ -1,17 +1,18 @@ -{ lib -, mkXfceDerivation -, dbus -, glib -, gtk3 -, gtk-layer-shell -, libcanberra-gtk3 -, libnotify -, libX11 -, libxfce4ui -, libxfce4util -, sqlite -, xfce4-panel -, xfconf +{ + lib, + mkXfceDerivation, + dbus, + glib, + gtk3, + gtk-layer-shell, + libcanberra-gtk3, + libnotify, + libX11, + libxfce4ui, + libxfce4util, + sqlite, + xfce4-panel, + xfconf, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix b/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix index 2e25e686ccd56..b11057c5b5661 100644 --- a/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitLab -, gettext -, gobject-introspection -, intltool -, wrapGAppsHook3 -, glib -, gtk3 -, libxfce4ui -, python3 -, gitUpdater +{ + stdenv, + lib, + fetchFromGitLab, + gettext, + gobject-introspection, + intltool, + wrapGAppsHook3, + glib, + gtk3, + libxfce4ui, + python3, + gitUpdater, }: let diff --git a/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix index 8422f6661e02f..6d956e14b29aa 100644 --- a/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix @@ -1,21 +1,22 @@ -{ mkXfceDerivation -, gobject-introspection -, dbus-glib -, garcon -, glib -, gtk3 -, libX11 -, libXScrnSaver -, libXrandr -, libwnck -, libxfce4ui -, libxfce4util -, libxklavier -, pam -, python3 -, systemd -, xfconf -, lib +{ + mkXfceDerivation, + gobject-introspection, + dbus-glib, + garcon, + glib, + gtk3, + libX11, + libXScrnSaver, + libXrandr, + libwnck, + libxfce4ui, + libxfce4util, + libxklavier, + pam, + python3, + systemd, + xfconf, + lib, }: let diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix index 675e2b6891b44..bf7994ffe3ea6 100644 --- a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix @@ -1,22 +1,23 @@ -{ lib -, mkXfceDerivation -, wayland-scanner -, exo -, gtk3 -, libX11 -, libXext -, libXfixes -, libXtst -, libxfce4ui -, libxfce4util -, wayland -, wlr-protocols -, xfce4-panel -, xfconf -, curl -, zenity -, jq -, xclip +{ + lib, + mkXfceDerivation, + wayland-scanner, + exo, + gtk3, + libX11, + libXext, + libXfixes, + libXtst, + libxfce4ui, + libxfce4util, + wayland, + wlr-protocols, + xfce4-panel, + xfconf, + curl, + zenity, + jq, + xclip, }: mkXfceDerivation { @@ -50,7 +51,14 @@ mkXfceDerivation { # For Imgur upload action # https://gitlab.xfce.org/apps/xfce4-screenshooter/-/merge_requests/51 gappsWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [ curl zenity jq xclip ]} + --prefix PATH : ${ + lib.makeBinPath [ + curl + zenity + jq + xclip + ] + } ) ''; diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix index f6dfcec8be7fc..f4f65792ea93a 100644 --- a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix @@ -1,13 +1,14 @@ -{ lib -, mkXfceDerivation -, exo -, glib -, gtk3 -, libxfce4ui -, xfconf -, libwnck -, libX11 -, libXmu +{ + lib, + mkXfceDerivation, + exo, + glib, + gtk3, + libxfce4ui, + xfconf, + libwnck, + libX11, + libXmu, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix index d20bfd4c28e1e..3cab5bcf8ddc7 100644 --- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix @@ -1,17 +1,18 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, gtk-layer-shell -, libX11 -, libxfce4ui -, vte -, xfconf -, pcre2 -, libxslt -, docbook_xml_dtd_45 -, docbook_xsl -, nixosTests +{ + lib, + mkXfceDerivation, + glib, + gtk3, + gtk-layer-shell, + libX11, + libxfce4ui, + vte, + xfconf, + pcre2, + libxslt, + docbook_xml_dtd_45, + docbook_xsl, + nixosTests, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix index 3ae96bed983f5..3195b0b33c762 100644 --- a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix @@ -1,4 +1,12 @@ -{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }: +{ + lib, + mkXfceDerivation, + gtk3, + libnotify, + libpulseaudio, + keybinder3, + xfconf, +}: mkXfceDerivation { category = "apps"; @@ -7,7 +15,13 @@ mkXfceDerivation { sha256 = "sha256-NDIJRjKV5aoM2sLhZ6WmoynOc4yz55KpuiTJDMLMA5Y="; - buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; + buildInputs = [ + gtk3 + libnotify + libpulseaudio + keybinder3 + xfconf + ]; meta = with lib; { description = "Volume keys control daemon for Xfce using pulseaudio"; diff --git a/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix index fd92e2c92e8f7..697df1247e4cc 100644 --- a/pkgs/desktops/xfce/applications/xfdashboard/default.nix +++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix @@ -1,18 +1,19 @@ -{ lib -, mkXfceDerivation -, clutter -, libXcomposite -, libXinerama -, libXdamage -, libX11 -, libwnck -, libxfce4ui -, libxfce4util -, garcon -, xfconf -, gtk3 -, glib -, dbus-glib +{ + lib, + mkXfceDerivation, + clutter, + libXcomposite, + libXinerama, + libXdamage, + libX11, + libwnck, + libxfce4ui, + libxfce4util, + garcon, + xfconf, + gtk3, + glib, + dbus-glib, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/applications/xfmpc/default.nix b/pkgs/desktops/xfce/applications/xfmpc/default.nix index a8322c7e51bf1..85088a61937e6 100644 --- a/pkgs/desktops/xfce/applications/xfmpc/default.nix +++ b/pkgs/desktops/xfce/applications/xfmpc/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkXfceDerivation -, vala -, libxfce4util -, libxfce4ui -, gtk3 -, glib -, libmpd +{ + lib, + mkXfceDerivation, + vala, + libxfce4util, + libxfce4ui, + gtk3, + glib, + libmpd, }: mkXfceDerivation rec { diff --git a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix index 2e0b23f5c848a..721218c47d90b 100644 --- a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix +++ b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, gnome-icon-theme, tango-icon-theme, hicolor-icon-theme, httpTwoLevelsUpdater }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + gtk3, + gnome-icon-theme, + tango-icon-theme, + hicolor-icon-theme, + httpTwoLevelsUpdater, +}: stdenv.mkDerivation rec { - pname = "xfce4-icon-theme"; + pname = "xfce4-icon-theme"; version = "4.4.3"; src = fetchurl { diff --git a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix index 6eda846ee3116..61ee66a3b5c98 100644 --- a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix +++ b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchurl, httpTwoLevelsUpdater }: +{ + lib, + stdenv, + fetchurl, + httpTwoLevelsUpdater, +}: stdenv.mkDerivation rec { - pname = "xfwm4-themes"; + pname = "xfwm4-themes"; version = "4.10.0"; src = fetchurl { diff --git a/pkgs/desktops/xfce/core/thunar/wrapper.nix b/pkgs/desktops/xfce/core/thunar/wrapper.nix index 43531f2012329..925f8487ee0b3 100644 --- a/pkgs/desktops/xfce/core/thunar/wrapper.nix +++ b/pkgs/desktops/xfce/core/thunar/wrapper.nix @@ -1,4 +1,10 @@ -{ lib, makeWrapper, symlinkJoin, thunar, thunarPlugins }: +{ + lib, + makeWrapper, + symlinkJoin, + thunar, + thunarPlugins, +}: symlinkJoin { name = "thunar-with-plugins-${thunar.version}"; @@ -32,10 +38,17 @@ symlinkJoin { ''; meta = with lib; { - inherit (thunar.meta) homepage license platforms maintainers; - - description = thunar.meta.description + optionalString - (0 != length thunarPlugins) - " (with plugins: ${concatStringsSep ", " (map (x: x.name) thunarPlugins)})"; + inherit (thunar.meta) + homepage + license + platforms + maintainers + ; + + description = + thunar.meta.description + + + optionalString (0 != length thunarPlugins) + " (with plugins: ${concatStringsSep ", " (map (x: x.name) thunarPlugins)})"; }; } diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix index e2a28c8bad8be..24b1d3e81e5cf 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, libxfce4ui -, libxfce4util -, xfce4-panel -, xfconf +{ + lib, + mkXfceDerivation, + glib, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix index 74ff2d171044b..6f64560ac3702 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix @@ -1,17 +1,18 @@ -{ lib -, mkXfceDerivation -, wayland-scanner -, glib -, gtk3 -, libX11 -, libXtst -, libxfce4ui -, libxfce4util -, qrencode -, xfce4-panel -, xfconf -, wayland -, wlr-protocols +{ + lib, + mkXfceDerivation, + wayland-scanner, + glib, + gtk3, + libX11, + libXtst, + libxfce4ui, + libxfce4util, + qrencode, + xfce4-panel, + xfconf, + wayland, + wlr-protocols, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix index bba028bfe5368..b65538b57b5c2 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix @@ -1,4 +1,12 @@ -{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: +{ + lib, + mkXfceDerivation, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, +}: mkXfceDerivation { category = "panel-plugins"; @@ -6,7 +14,13 @@ mkXfceDerivation { version = "1.2.8"; sha256 = "sha256-wEVv3zBS9PRLOMusFPzTnffVDvTaBnTCyGjstJRQRCo="; - buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + buildInputs = [ + gtk3 + libxfce4ui + libxfce4util + xfce4-panel + xfconf + ]; meta = with lib; { description = "CPU Freq load plugin for Xfce panel"; diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix index f138d84189666..080a287997fe2 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix @@ -1,19 +1,20 @@ -{ lib -, mkXfceDerivation -, exo -, glib -, gtk3 -, libXtst -, libxfce4ui -, libxfce4util -, xfce4-panel -, xfconf -, xorgproto +{ + lib, + mkXfceDerivation, + exo, + glib, + gtk3, + libXtst, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, + xorgproto, }: mkXfceDerivation rec { category = "panel-plugins"; - pname = "xfce4-cpugraph-plugin"; + pname = "xfce4-cpugraph-plugin"; version = "1.2.10"; rev-prefix = "xfce4-cpugraph-plugin-"; odd-unstable = false; diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix index eaf090c348cff..641ea795329ec 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix @@ -1,9 +1,10 @@ -{ mkXfceDerivation -, lib -, intltool -, libxfce4ui -, xfce4-panel -, gettext +{ + mkXfceDerivation, + lib, + intltool, + libxfce4ui, + xfce4-panel, + gettext, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix index 8e8da34856386..3f0d0e559318d 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, bash -, cmake -, dockbarx -, gobject-introspection -, keybinder3 -, pkg-config -, python3Packages -, wrapGAppsHook3 -, xfce +{ + lib, + stdenv, + fetchFromGitHub, + bash, + cmake, + dockbarx, + gobject-introspection, + keybinder3, + pkg-config, + python3Packages, + wrapGAppsHook3, + xfce, }: stdenv.mkDerivation rec { @@ -41,8 +42,7 @@ stdenv.mkDerivation rec { python3Packages.python xfce.xfce4-panel xfce.xfconf - ] - ++ pythonPath; + ] ++ pythonPath; postPatch = '' # We execute the wrapped xfce4-panel-plug directly. diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix index cbf526e3d98be..646027ad2bb30 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix @@ -1,20 +1,22 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, libxfce4util -, xfce4-panel -, libxfce4ui -, xfconf -, gtk3 -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + libxfce4util, + xfce4-panel, + libxfce4ui, + xfconf, + gtk3, + gitUpdater, }: let category = "panel-plugins"; -in stdenv.mkDerivation rec { - pname = "xfce4-eyes-plugin"; +in +stdenv.mkDerivation rec { + pname = "xfce4-eyes-plugin"; version = "4.6.0"; src = fetchurl { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix index 3abc25669e6be..7b0b5efd4a5dc 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix @@ -1,20 +1,22 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, libxfce4util -, xfce4-panel -, libxfce4ui -, xfconf -, glib -, gtk3 -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + libxfce4util, + xfce4-panel, + libxfce4ui, + xfconf, + glib, + gtk3, + gitUpdater, }: let category = "panel-plugins"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "xfce4-fsguard-plugin"; version = "1.1.3"; diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix index 2219ce754af8b..09d07cfef3140 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix @@ -1,20 +1,22 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, libxfce4util -, xfce4-panel -, xfconf -, libxfce4ui -, gtk3 -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + libxfce4util, + xfce4-panel, + xfconf, + libxfce4ui, + gtk3, + gitUpdater, }: let category = "panel-plugins"; -in stdenv.mkDerivation rec { - pname = "xfce4-genmon-plugin"; +in +stdenv.mkDerivation rec { + pname = "xfce4-genmon-plugin"; version = "4.2.0"; src = fetchurl { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix index 5a6794bf79af2..a1812ca7dffe5 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-i3-workspaces-plugin/default.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, gtk3 -, libxfce4ui, libxfce4util, xfce4-dev-tools, xfce4-panel -, i3ipc-glib +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + intltool, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-dev-tools, + xfce4-panel, + i3ipc-glib, }: stdenv.mkDerivation rec { @@ -26,7 +35,7 @@ stdenv.mkDerivation rec { libxfce4util xfce4-panel i3ipc-glib - ]; + ]; enableParallelBuilding = true; diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix index 0a3e4029b347a..56c1a1ed732fc 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, xfce4-panel -, libxfce4ui -, libxfce4util -, exo -, glib -, gtk3 -, gnutls -, libgcrypt -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + xfce4-panel, + libxfce4ui, + libxfce4util, + exo, + glib, + gtk3, + gnutls, + libgcrypt, + gitUpdater, }: let diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix index 6a1a750096f95..e46b06be6ac42 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, libxfce4util -, xfce4-panel -, libxfce4ui -, glib -, gtk3 -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + libxfce4util, + xfce4-panel, + libxfce4ui, + glib, + gtk3, + gitUpdater, }: let diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix index e1baf7137e4b1..d27bb2517f1d2 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix @@ -1,10 +1,11 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, libxfce4ui -, libxfce4util -, xfce4-panel +{ + lib, + mkXfceDerivation, + glib, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-panel, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix index 9e1518f7be0a2..245391eb4f578 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix @@ -1,18 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, xfce4-panel -, libxfce4ui -, xfconf -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + xfce4-panel, + libxfce4ui, + xfconf, + gitUpdater, }: let category = "panel-plugins"; -in stdenv.mkDerivation rec { - pname = "xfce4-systemload-plugin"; +in +stdenv.mkDerivation rec { + pname = "xfce4-systemload-plugin"; version = "1.3.2"; src = fetchurl { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix index a5b656650170a..9b3c6b0c558fd 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-time-out-plugin/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, libxfce4ui -, libxfce4util -, xfce4-panel -, xfconf +{ + lib, + mkXfceDerivation, + glib, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix index 997377f42b3e2..e7cec4e64ccbe 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, libxfce4util -, xfce4-panel -, libxfce4ui -, glib -, gtk3 -, hicolor-icon-theme -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + libxfce4util, + xfce4-panel, + libxfce4ui, + glib, + gtk3, + hicolor-icon-theme, + gitUpdater, }: let diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix index 8683c8cb20918..4fd508b900099 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, libxfce4ui -, libxfce4util -, pcre2 -, xfce4-panel +{ + lib, + mkXfceDerivation, + glib, + gtk3, + libxfce4ui, + libxfce4util, + pcre2, + xfce4-panel, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix index 9d8d80fed1069..7a56ed84fc61b 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, glib -, gtk3 -, json_c -, libxml2 -, libsoup_2_4 -, upower -, libxfce4ui -, libxfce4util -, xfce4-panel -, xfconf -, hicolor-icon-theme -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + glib, + gtk3, + json_c, + libxml2, + libsoup_2_4, + upower, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, + hicolor-icon-theme, + gitUpdater, }: let diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix index b1b068eaa55ff..bbb7a29df8634 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -1,17 +1,18 @@ -{ mkXfceDerivation -, lib -, cmake -, accountsservice -, exo -, garcon -, gettext -, glib -, gtk-layer-shell -, gtk3 -, libxfce4ui -, libxfce4util -, xfce4-panel -, xfconf +{ + mkXfceDerivation, + lib, + cmake, + accountsservice, + exo, + garcon, + gettext, + glib, + gtk-layer-shell, + gtk3, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix index 6c0a7bafe39ec..970ad85a4199c 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchurl -, intltool -, pkg-config -, libwnck -, libxfce4ui -, xfce4-panel -, xfconf -, gitUpdater +{ + stdenv, + lib, + fetchurl, + intltool, + pkg-config, + libwnck, + libxfce4ui, + xfce4-panel, + xfconf, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix index 40ac161879b7d..b4c33dad67012 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix @@ -1,15 +1,16 @@ -{ lib -, mkXfceDerivation -, gtk3 -, libnotify -, librsvg -, libwnck -, libxklavier -, garcon -, libxfce4ui -, libxfce4util -, xfce4-panel -, xfconf +{ + lib, + mkXfceDerivation, + gtk3, + libnotify, + librsvg, + libwnck, + libxklavier, + garcon, + libxfce4ui, + libxfce4util, + xfce4-panel, + xfconf, }: mkXfceDerivation { diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix index 99285b53cb618..bdcca89a918ea 100644 --- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix +++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix @@ -1,16 +1,17 @@ -{ lib -, mkXfceDerivation -, gtk3 -, thunar -, exo -, libxfce4util -, intltool -, gettext +{ + lib, + mkXfceDerivation, + gtk3, + thunar, + exo, + libxfce4util, + intltool, + gettext, }: mkXfceDerivation { category = "thunar-plugins"; - pname = "thunar-archive-plugin"; + pname = "thunar-archive-plugin"; version = "0.5.2"; odd-unstable = false; diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix index 150db52bb5b26..8a379d6c8f3ae 100644 --- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix +++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchFromGitHub -, pkg-config -, gtk3 -, thunar -, cmake -, ninja -, xfce -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gtk3, + thunar, + cmake, + ninja, + xfce, + gitUpdater, }: stdenv.mkDerivation rec { - pname = "thunar-dropbox"; + pname = "thunar-dropbox"; version = "0.3.1"; src = fetchFromGitHub { diff --git a/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix b/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix index 570f0aeafcfe8..a69eb7cd1e86a 100644 --- a/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix +++ b/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix @@ -1,12 +1,13 @@ -{ lib -, mkXfceDerivation -, glib -, gtk3 -, thunar -, libxfce4util -, intltool -, gettext -, taglib +{ + lib, + mkXfceDerivation, + glib, + gtk3, + thunar, + libxfce4util, + intltool, + gettext, + taglib, }: mkXfceDerivation { diff --git a/pkgs/development/ada-modules/gprbuild/default.nix b/pkgs/development/ada-modules/gprbuild/default.nix index 3965789d742e2..2d661abd43253 100644 --- a/pkgs/development/ada-modules/gprbuild/default.nix +++ b/pkgs/development/ada-modules/gprbuild/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, gprbuild-boot -, which -, gnat -, xmlada +{ + lib, + stdenv, + gprbuild-boot, + which, + gnat, + xmlada, }: stdenv.mkDerivation { @@ -29,15 +30,17 @@ stdenv.mkDerivation { xmlada ]; - makeFlags = [ - "ENABLE_SHARED=${if stdenv.hostPlatform.isStatic then "no" else "yes"}" - "PROCESSORS=$(NIX_BUILD_CORES)" - # confusingly, for gprbuild --target is autoconf --host - "TARGET=${stdenv.hostPlatform.config}" - "prefix=${placeholder "out"}" - ] ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ - "LIBRARY_TYPE=relocatable" - ]; + makeFlags = + [ + "ENABLE_SHARED=${if stdenv.hostPlatform.isStatic then "no" else "yes"}" + "PROCESSORS=$(NIX_BUILD_CORES)" + # confusingly, for gprbuild --target is autoconf --host + "TARGET=${stdenv.hostPlatform.config}" + "prefix=${placeholder "out"}" + ] + ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ + "LIBRARY_TYPE=relocatable" + ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { # Ensure that there is enough space for the `fixDarwinDylibNames` hook to @@ -51,9 +54,15 @@ stdenv.mkDerivation { ./gprbuild-relocatable-build.patch ]; - buildFlags = [ "all" "libgpr.build" ]; + buildFlags = [ + "all" + "libgpr.build" + ]; - installFlags = [ "all" "libgpr.install" ]; + installFlags = [ + "all" + "libgpr.install" + ]; # link gprconfig_kb db from gprbuild-boot into build dir, # the install process copies its contents to $out diff --git a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix index 1355323d93fd1..9e743db9fcc51 100644 --- a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix +++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, makeWrapper -, runCommand, wrapBintoolsWith, wrapCCWith, autoPatchelfHook -, llvmPackages, buildAndroidndk, androidndk, targetAndroidndkPkgs +{ + lib, + stdenv, + makeWrapper, + runCommand, + wrapBintoolsWith, + wrapCCWith, + autoPatchelfHook, + llvmPackages, + buildAndroidndk, + androidndk, + targetAndroidndkPkgs, }: let @@ -11,46 +20,58 @@ let # than we do. We don't just use theirs because ours are less ambiguous and # some builds need that clarity. # - ndkBuildInfoFun = { config, ... }: { - x86_64-apple-darwin = { - double = "darwin-x86_64"; - }; - x86_64-unknown-linux-gnu = { - double = "linux-x86_64"; - }; - }.${config} or - (throw "Android NDK doesn't support building on ${config}, as far as we know"); - - ndkTargetInfoFun = { config, ... }: { - i686-unknown-linux-android = { - triple = "i686-linux-android"; - arch = "x86"; - }; - x86_64-unknown-linux-android = { - triple = "x86_64-linux-android"; - arch = "x86_64"; - }; - armv7a-unknown-linux-androideabi = { - arch = "arm"; - triple = "arm-linux-androideabi"; - }; - aarch64-unknown-linux-android = { - arch = "arm64"; - triple = "aarch64-linux-android"; - }; - }.${config} or - (throw "Android NDK doesn't support targetting ${config}, as far as we know"); + ndkBuildInfoFun = + { config, ... }: + { + x86_64-apple-darwin = { + double = "darwin-x86_64"; + }; + x86_64-unknown-linux-gnu = { + double = "linux-x86_64"; + }; + } + .${config} or (throw "Android NDK doesn't support building on ${config}, as far as we know"); + + ndkTargetInfoFun = + { config, ... }: + { + i686-unknown-linux-android = { + triple = "i686-linux-android"; + arch = "x86"; + }; + x86_64-unknown-linux-android = { + triple = "x86_64-linux-android"; + arch = "x86_64"; + }; + armv7a-unknown-linux-androideabi = { + arch = "arm"; + triple = "arm-linux-androideabi"; + }; + aarch64-unknown-linux-android = { + arch = "arm64"; + triple = "aarch64-linux-android"; + }; + } + .${config} or (throw "Android NDK doesn't support targetting ${config}, as far as we know"); buildInfo = ndkBuildInfoFun stdenv.buildPlatform; targetInfo = ndkTargetInfoFun stdenv.targetPlatform; - androidSdkVersion = if (stdenv.targetPlatform ? androidSdkVersion && stdenv.targetPlatform.androidSdkVersion != null) then stdenv.targetPlatform.androidSdkVersion else (throw "`androidSdkVersion` is not set during the importing of nixpkgs"); - suffixSalt = lib.replaceStrings ["-" "."] ["_" "_"] stdenv.targetPlatform.config; + androidSdkVersion = + if + (stdenv.targetPlatform ? androidSdkVersion && stdenv.targetPlatform.androidSdkVersion != null) + then + stdenv.targetPlatform.androidSdkVersion + else + (throw "`androidSdkVersion` is not set during the importing of nixpkgs"); + suffixSalt = lib.replaceStrings [ "-" "." ] [ "_" "_" ] stdenv.targetPlatform.config; # targetInfo.triple is what Google thinks the toolchain should be, this is a little # different from what we use. We make it four parts to conform with the existing # standard more properly. - targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config + "-"); + targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) ( + stdenv.targetPlatform.config + "-" + ); in rec { @@ -58,7 +79,10 @@ rec { binaries = stdenv.mkDerivation { pname = "${targetPrefix}ndk-toolchain"; inherit (androidndk) version; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ + makeWrapper + autoPatchelfHook + ]; propagatedBuildInputs = [ androidndk ]; passthru = { inherit targetPrefix; @@ -150,7 +174,7 @@ rec { # We use androidndk from the previous stage, else we waste time or get cycles # cross-compiling packages to wrap incorrectly wrap binaries we don't include # anyways. - libraries = runCommand "bionic-prebuilt" {} '' + libraries = runCommand "bionic-prebuilt" { } '' lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion} if [ ! -d $lpath ]; then echo "NDK does not contain libraries for SDK version ${androidSdkVersion} <$lpath>" diff --git a/pkgs/development/androidndk-pkgs/default.nix b/pkgs/development/androidndk-pkgs/default.nix index 93af59a859330..f7ffb07450709 100644 --- a/pkgs/development/androidndk-pkgs/default.nix +++ b/pkgs/development/androidndk-pkgs/default.nix @@ -1,8 +1,16 @@ -{ lib, androidenv, buildPackages, pkgs, targetPackages, androidndkPkgs_23, config +{ + lib, + androidenv, + buildPackages, + pkgs, + targetPackages, + androidndkPkgs_23, + config, }: let - makeNdkPkgs = ndkVersion: llvmPackages: + makeNdkPkgs = + ndkVersion: llvmPackages: let buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages { includeNDK = true; @@ -18,10 +26,15 @@ let import ./androidndk-pkgs.nix { inherit lib; inherit (buildPackages) - makeWrapper autoPatchelfHook; + makeWrapper + autoPatchelfHook + ; inherit (pkgs) stdenv - runCommand wrapBintoolsWith wrapCCWith; + runCommand + wrapBintoolsWith + wrapCCWith + ; # For hardeningUnsupportedFlagsByTargetPlatform inherit llvmPackages; @@ -32,7 +45,11 @@ let # these two really are the same. buildAndroidndk = buildAndroidComposition.ndk-bundle; androidndk = androidComposition.ndk-bundle; - targetAndroidndkPkgs = if targetPackages ? "androidndkPkgs_${majorVersion}" then targetPackages."androidndkPkgs_${majorVersion}" else throw "androidndkPkgs_${majorVersion}: no targetPackages, use `buildPackages.androidndkPkgs_${majorVersion}"; + targetAndroidndkPkgs = + if targetPackages ? "androidndkPkgs_${majorVersion}" then + targetPackages."androidndkPkgs_${majorVersion}" + else + throw "androidndkPkgs_${majorVersion}: no targetPackages, use `buildPackages.androidndkPkgs_${majorVersion}"; }; in diff --git a/pkgs/development/beam-modules/build-erlang-mk.nix b/pkgs/development/beam-modules/build-erlang-mk.nix index eb70517c82ec8..c5e8e6b5ad185 100644 --- a/pkgs/development/beam-modules/build-erlang-mk.nix +++ b/pkgs/development/beam-modules/build-erlang-mk.nix @@ -1,108 +1,135 @@ -{ stdenv, writeText, erlang, perl, which, gitMinimal, wget, lib }: - -{ name -, version -, src -, setupHook ? null -, buildInputs ? [ ] -, beamDeps ? [ ] -, postPatch ? "" -, compilePorts ? false -, installPhase ? null -, buildPhase ? null -, configurePhase ? null -, meta ? { } -, enableDebugInfo ? false -, buildFlags ? [ ] -, ... +{ + stdenv, + writeText, + erlang, + perl, + which, + gitMinimal, + wget, + lib, +}: + +{ + name, + version, + src, + setupHook ? null, + buildInputs ? [ ], + beamDeps ? [ ], + postPatch ? "", + compilePorts ? false, + installPhase ? null, + buildPhase ? null, + configurePhase ? null, + meta ? { }, + enableDebugInfo ? false, + buildFlags ? [ ], + ... }@attrs: let debugInfoFlag = lib.optionalString (enableDebugInfo || erlang.debugInfo) "+debug_info"; - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; - }; - - pkg = self: stdenv.mkDerivation (attrs // { - app_name = name; - name = "${name}-${version}"; - inherit version; - - dontStrip = true; - - inherit src; - - setupHook = - if setupHook == null - then - writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib" - '' - else setupHook; - - buildInputs = buildInputs ++ [ erlang perl which gitMinimal wget ]; - propagatedBuildInputs = beamDeps; - - buildFlags = [ "SKIP_DEPS=1" ] - ++ lib.optional (enableDebugInfo || erlang.debugInfo) ''ERL_OPTS="$ERL_OPTS +debug_info"'' - ++ buildFlags; - - configurePhase = - if configurePhase == null - then '' - runHook preConfigure - - # We shouldnt need to do this, but it seems at times there is a *.app in - # the repo/package. This ensures we start from a clean slate - make SKIP_DEPS=1 clean - - runHook postConfigure - '' - else configurePhase; - - buildPhase = - if buildPhase == null - then '' - runHook preBuild - - make $buildFlags "''${buildFlagsArray[@]}" - - runHook postBuild - '' - else buildPhase; - - installPhase = - if installPhase == null - then '' - runHook preInstall - - mkdir -p $out/lib/erlang/lib/${name} - cp -r ebin $out/lib/erlang/lib/${name}/ - cp -r src $out/lib/erlang/lib/${name}/ - - if [ -d include ]; then - cp -r include $out/lib/erlang/lib/${name}/ - fi - - if [ -d priv ]; then - cp -r priv $out/lib/erlang/lib/${name}/ - fi - - if [ -d doc ]; then - cp -r doc $out/lib/erlang/lib/${name}/ - fi - - runHook postInstall - '' - else installPhase; - - passthru = { - packageName = name; - env = shell self; - inherit beamDeps; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; }; - }); + + pkg = + self: + stdenv.mkDerivation ( + attrs + // { + app_name = name; + name = "${name}-${version}"; + inherit version; + + dontStrip = true; + + inherit src; + + setupHook = + if setupHook == null then + writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib" + '' + else + setupHook; + + buildInputs = buildInputs ++ [ + erlang + perl + which + gitMinimal + wget + ]; + propagatedBuildInputs = beamDeps; + + buildFlags = + [ "SKIP_DEPS=1" ] + ++ lib.optional (enableDebugInfo || erlang.debugInfo) ''ERL_OPTS="$ERL_OPTS +debug_info"'' + ++ buildFlags; + + configurePhase = + if configurePhase == null then + '' + runHook preConfigure + + # We shouldnt need to do this, but it seems at times there is a *.app in + # the repo/package. This ensures we start from a clean slate + make SKIP_DEPS=1 clean + + runHook postConfigure + '' + else + configurePhase; + + buildPhase = + if buildPhase == null then + '' + runHook preBuild + + make $buildFlags "''${buildFlagsArray[@]}" + + runHook postBuild + '' + else + buildPhase; + + installPhase = + if installPhase == null then + '' + runHook preInstall + + mkdir -p $out/lib/erlang/lib/${name} + cp -r ebin $out/lib/erlang/lib/${name}/ + cp -r src $out/lib/erlang/lib/${name}/ + + if [ -d include ]; then + cp -r include $out/lib/erlang/lib/${name}/ + fi + + if [ -d priv ]; then + cp -r priv $out/lib/erlang/lib/${name}/ + fi + + if [ -d doc ]; then + cp -r doc $out/lib/erlang/lib/${name}/ + fi + + runHook postInstall + '' + else + installPhase; + + passthru = { + packageName = name; + env = shell self; + inherit beamDeps; + }; + } + ); in lib.fix pkg diff --git a/pkgs/development/beam-modules/build-hex.nix b/pkgs/development/beam-modules/build-hex.nix index b5d20fa97783a..fa70b16ca659f 100644 --- a/pkgs/development/beam-modules/build-hex.nix +++ b/pkgs/development/beam-modules/build-hex.nix @@ -1,18 +1,31 @@ -{ lib, buildRebar3, fetchHex }: +{ + lib, + buildRebar3, + fetchHex, +}: -{ name, version, sha256 -, builder ? buildRebar3 -, hexPkg ? name -, ... }@attrs: +{ + name, + version, + sha256, + builder ? buildRebar3, + hexPkg ? name, + ... +}@attrs: let - pkg = self: builder (attrs // { + pkg = + self: + builder ( + attrs + // { - src = fetchHex { - pkg = hexPkg; - inherit version; - inherit sha256; - }; - }); + src = fetchHex { + pkg = hexPkg; + inherit version; + inherit sha256; + }; + } + ); in - lib.fix pkg +lib.fix pkg diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix index d61b5e91556bd..ed286c4c2bd1e 100644 --- a/pkgs/development/beam-modules/build-mix.nix +++ b/pkgs/development/beam-modules/build-mix.nix @@ -1,122 +1,143 @@ -{ stdenv, writeText, elixir, erlang, hex, lib }: - -{ name -, version -, src -, buildInputs ? [ ] -, nativeBuildInputs ? [ ] -, erlangCompilerOptions ? [ ] +{ + stdenv, + writeText, + elixir, + erlang, + hex, + lib, +}: + +{ + name, + version, + src, + buildInputs ? [ ], + nativeBuildInputs ? [ ], + erlangCompilerOptions ? [ ], # Deterministic Erlang builds remove full system paths from debug information # among other things to keep builds more reproducible. See their docs for more: # https://www.erlang.org/doc/man/compile -, erlangDeterministicBuilds ? true -, beamDeps ? [ ] -, propagatedBuildInputs ? [ ] -, postPatch ? "" -, compilePorts ? false -, meta ? { } -, enableDebugInfo ? false -, mixEnv ? "prod" -# A config directory that is considered for all the dependencies of an app, typically in $src/config/ -# This was initially added, as some of Mobilizon's dependencies need to access the config at build time. -, appConfigPath ? null -, ... + erlangDeterministicBuilds ? true, + beamDeps ? [ ], + propagatedBuildInputs ? [ ], + postPatch ? "", + compilePorts ? false, + meta ? { }, + enableDebugInfo ? false, + mixEnv ? "prod", + # A config directory that is considered for all the dependencies of an app, typically in $src/config/ + # This was initially added, as some of Mobilizon's dependencies need to access the config at build time. + appConfigPath ? null, + ... }@attrs: let - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; - }; - - pkg = self: stdenv.mkDerivation (attrs // { - name = "${name}-${version}"; - inherit version src; - - MIX_ENV = mixEnv; - MIX_DEBUG = if enableDebugInfo then 1 else 0; - HEX_OFFLINE = 1; - - ERL_COMPILER_OPTIONS = - let - options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ]; - in - "[${lib.concatStringsSep "," options}]"; - - LC_ALL = "C.UTF-8"; - - # add to ERL_LIBS so other modules can find at runtime. - # http://erlang.org/doc/man/code.html#code-path - # Mix also searches the code path when compiling with the --no-deps-check flag - setupHook = attrs.setupHook or - writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib" - ''; - - buildInputs = buildInputs ++ [ ]; - nativeBuildInputs = nativeBuildInputs ++ [ elixir hex ]; - propagatedBuildInputs = propagatedBuildInputs ++ beamDeps; - - configurePhase = attrs.configurePhase or '' - runHook preConfigure - - ${./mix-configure-hook.sh} - ${lib.optionalString (!isNull appConfigPath) - # Due to https://hexdocs.pm/elixir/main/Config.html the config directory - # of a library seems to be not considered, as config is always - # application specific. So we can safely delete it. - '' - rm -rf config - cp -r ${appConfigPath} config - ''} - - runHook postConfigure - ''; - - buildPhase = attrs.buildPhase or '' - runHook preBuild - export HEX_HOME="$TEMPDIR/hex" - export MIX_HOME="$TEMPDIR/mix" - mix compile --no-deps-check - runHook postBuild - ''; - - installPhase = attrs.installPhase or '' - runHook preInstall - - # This uses the install path convention established by nixpkgs maintainers - # for all beam packages. Changing this will break compatibility with other - # builder functions like buildRebar3 and buildErlangMk. - mkdir -p "$out/lib/erlang/lib/${name}-${version}" - - # Some packages like db_connection will use _build/shared instead of - # honoring the $MIX_ENV variable. - for reldir in _build/{$MIX_ENV,shared}/lib/${name}/{src,ebin,priv,include} ; do - if test -d $reldir ; then - # Some builds produce symlinks (eg: phoenix priv dircetory). They must - # be followed with -H flag. - cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$reldir" - fi - done - - # Copy the source so it can be used by dependent packages. For example, - # phoenix applications need the source of phoenix and phoenix_html to - # build javascript and css assets. - mkdir -p $out/src - cp -r $src/* "$out/src" - - runHook postInstall - ''; - - # stripping does not have any effect on beam files - # it is however needed for dependencies with NIFs like bcrypt for example - dontStrip = false; - - passthru = { - packageName = name; - env = shell self; - inherit beamDeps; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; }; - }); + + pkg = + self: + stdenv.mkDerivation ( + attrs + // { + name = "${name}-${version}"; + inherit version src; + + MIX_ENV = mixEnv; + MIX_DEBUG = if enableDebugInfo then 1 else 0; + HEX_OFFLINE = 1; + + ERL_COMPILER_OPTIONS = + let + options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ]; + in + "[${lib.concatStringsSep "," options}]"; + + LC_ALL = "C.UTF-8"; + + # add to ERL_LIBS so other modules can find at runtime. + # http://erlang.org/doc/man/code.html#code-path + # Mix also searches the code path when compiling with the --no-deps-check flag + setupHook = attrs.setupHook or writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib" + ''; + + buildInputs = buildInputs ++ [ ]; + nativeBuildInputs = nativeBuildInputs ++ [ + elixir + hex + ]; + propagatedBuildInputs = propagatedBuildInputs ++ beamDeps; + + configurePhase = + attrs.configurePhase or '' + runHook preConfigure + + ${./mix-configure-hook.sh} + ${lib.optionalString (!isNull appConfigPath) + # Due to https://hexdocs.pm/elixir/main/Config.html the config directory + # of a library seems to be not considered, as config is always + # application specific. So we can safely delete it. + '' + rm -rf config + cp -r ${appConfigPath} config + '' + } + + runHook postConfigure + ''; + + buildPhase = + attrs.buildPhase or '' + runHook preBuild + export HEX_HOME="$TEMPDIR/hex" + export MIX_HOME="$TEMPDIR/mix" + mix compile --no-deps-check + runHook postBuild + ''; + + installPhase = + attrs.installPhase or '' + runHook preInstall + + # This uses the install path convention established by nixpkgs maintainers + # for all beam packages. Changing this will break compatibility with other + # builder functions like buildRebar3 and buildErlangMk. + mkdir -p "$out/lib/erlang/lib/${name}-${version}" + + # Some packages like db_connection will use _build/shared instead of + # honoring the $MIX_ENV variable. + for reldir in _build/{$MIX_ENV,shared}/lib/${name}/{src,ebin,priv,include} ; do + if test -d $reldir ; then + # Some builds produce symlinks (eg: phoenix priv dircetory). They must + # be followed with -H flag. + cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$reldir" + fi + done + + # Copy the source so it can be used by dependent packages. For example, + # phoenix applications need the source of phoenix and phoenix_html to + # build javascript and css assets. + mkdir -p $out/src + cp -r $src/* "$out/src" + + runHook postInstall + ''; + + # stripping does not have any effect on beam files + # it is however needed for dependencies with NIFs like bcrypt for example + dontStrip = false; + + passthru = { + packageName = name; + env = shell self; + inherit beamDeps; + }; + } + ); in lib.fix pkg diff --git a/pkgs/development/beam-modules/build-rebar3.nix b/pkgs/development/beam-modules/build-rebar3.nix index 43d613d072ee1..781b6a7a78fe0 100644 --- a/pkgs/development/beam-modules/build-rebar3.nix +++ b/pkgs/development/beam-modules/build-rebar3.nix @@ -1,19 +1,28 @@ -{ stdenv, writeText, erlang, rebar3WithPlugins, openssl, libyaml, lib }: - -{ name -, version -, src -, setupHook ? null -, buildInputs ? [ ] -, beamDeps ? [ ] -, buildPlugins ? [ ] -, postPatch ? "" -, installPhase ? null -, buildPhase ? null -, configurePhase ? null -, meta ? { } -, enableDebugInfo ? false -, ... +{ + stdenv, + writeText, + erlang, + rebar3WithPlugins, + openssl, + libyaml, + lib, +}: + +{ + name, + version, + src, + setupHook ? null, + buildInputs ? [ ], + beamDeps ? [ ], + buildPlugins ? [ ], + postPatch ? "", + installPhase ? null, + buildPhase ? null, + configurePhase ? null, + meta ? { }, + enableDebugInfo ? false, + ... }@attrs: let @@ -23,64 +32,84 @@ let plugins = buildPlugins; }; - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; + }; + + customPhases = lib.filterAttrs (_: v: v != null) { + inherit + setupHook + configurePhase + buildPhase + installPhase + ; }; - customPhases = lib.filterAttrs - (_: v: v != null) - { inherit setupHook configurePhase buildPhase installPhase; }; - - pkg = self: stdenv.mkDerivation (attrs // { - - name = "${name}-${version}"; - inherit version; - - buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ]; - propagatedBuildInputs = lib.unique beamDeps; - - inherit src; - - # stripping does not have any effect on beam files - # it is however needed for dependencies with NIFs - # false is the default but we keep this for readability - dontStrip = false; - - setupHook = writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" - ''; - - postPatch = '' - rm -f rebar rebar3 - '' + postPatch; - - buildPhase = '' - runHook preBuild - HOME=. rebar3 bare compile -path "" - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p "$out/lib/erlang/lib/${name}-${version}" - for reldir in src ebin priv include; do - [ -d "$reldir" ] || continue - # $out/lib/erlang/lib is a convention used in nixpkgs for compiled BEAM packages - cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$reldir" - done - runHook postInstall - ''; - - meta = { - inherit (erlang.meta) platforms; - } // meta; - - passthru = { - packageName = name; - env = shell self; - inherit beamDeps; - }; - } // customPhases); + pkg = + self: + stdenv.mkDerivation ( + attrs + // { + + name = "${name}-${version}"; + inherit version; + + buildInputs = buildInputs ++ [ + erlang + rebar3 + openssl + libyaml + ]; + propagatedBuildInputs = lib.unique beamDeps; + + inherit src; + + # stripping does not have any effect on beam files + # it is however needed for dependencies with NIFs + # false is the default but we keep this for readability + dontStrip = false; + + setupHook = writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" + ''; + + postPatch = + '' + rm -f rebar rebar3 + '' + + postPatch; + + buildPhase = '' + runHook preBuild + HOME=. rebar3 bare compile -path "" + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p "$out/lib/erlang/lib/${name}-${version}" + for reldir in src ebin priv include; do + [ -d "$reldir" ] || continue + # $out/lib/erlang/lib is a convention used in nixpkgs for compiled BEAM packages + cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$reldir" + done + runHook postInstall + ''; + + meta = { + inherit (erlang.meta) platforms; + } // meta; + + passthru = { + packageName = name; + env = shell self; + inherit beamDeps; + }; + } + // customPhases + ); in lib.fix pkg diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index 3bf8c57b75437..e5da3296b71c9 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -1,4 +1,11 @@ -{ lib, elixir, fetchFromGitHub, fetchMixDeps, mixRelease, nix-update-script }: +{ + lib, + elixir, + fetchFromGitHub, + fetchMixDeps, + mixRelease, + nix-update-script, +}: # Based on the work of Hauleth # None of this would have happened without him @@ -13,7 +20,12 @@ let }; in mixRelease { - inherit pname version src elixir; + inherit + pname + version + src + elixir + ; stripDebug = true; diff --git a/pkgs/development/beam-modules/elvis-erlang/default.nix b/pkgs/development/beam-modules/elvis-erlang/default.nix index 2d9475e72fbb2..c9b2deaeea420 100644 --- a/pkgs/development/beam-modules/elvis-erlang/default.nix +++ b/pkgs/development/beam-modules/elvis-erlang/default.nix @@ -1,10 +1,18 @@ -{ fetchFromGitHub, fetchgit, fetchHex, rebar3Relx -, buildRebar3, writeScript, lib }: +{ + fetchFromGitHub, + fetchgit, + fetchHex, + rebar3Relx, + buildRebar3, + writeScript, + lib, +}: let owner = "inaka"; repo = "elvis"; -in rebar3Relx rec { +in +rebar3Relx rec { releaseType = "escript"; # The package name "elvis" is already taken pname = "elvis-erlang"; @@ -14,10 +22,12 @@ in rebar3Relx rec { sha256 = "13QM6UbH+1PxzhY/ufi5PEP2pKqSl5+g6tMvKmOUMb0="; rev = version; }; - beamDeps = builtins.attrValues (import ./rebar-deps.nix { - inherit fetchHex fetchgit fetchFromGitHub; - builder = buildRebar3; - }); + beamDeps = builtins.attrValues ( + import ./rebar-deps.nix { + inherit fetchHex fetchgit fetchFromGitHub; + builder = buildRebar3; + } + ); passthru.updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell #!nix-shell -i bash -p bash common-updater-scripts git nix-prefetch-git gnutar gzip "rebar3WithPlugins {globalPlugins = [beamPackages.rebar3-nix];}" diff --git a/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix b/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix index a71d0e5d77141..7b54b5231b909 100644 --- a/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix +++ b/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix @@ -1,6 +1,14 @@ # Generated by rebar3_nix -let fetchOnly = { src, ... }: src; -in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }: +let + fetchOnly = { src, ... }: src; +in +{ + builder ? fetchOnly, + fetchHex, + fetchgit, + fetchFromGitHub, + overrides ? (x: y: { }), +}: let self = packages // (overrides self packages); packages = with self; { @@ -122,7 +130,15 @@ let version = "1.17.1"; sha256 = "sha256-0sup48gQOtAyBiPp8cM+jTeKFeqr4u6K5EGJjz01oYw="; }; - beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ]; + beamDeps = [ + certifi + idna + metrics + mimerl + parse_trans + ssl_verify_fun + unicode_util_compat + ]; }; goldrush = builder { name = "goldrush"; @@ -152,7 +168,10 @@ let version = "3.2.3"; sha256 = "sha256-oPDWgczZNVoWXDWXNnVVHxAhaHz5kvFcW/9mtmZO3gQ="; }; - beamDeps = [ katana_code zipper ]; + beamDeps = [ + katana_code + zipper + ]; }; egithub = builder { name = "egithub"; @@ -162,7 +181,13 @@ let version = "0.7.0"; sha256 = "sha256-4AnOEe/YAI0PntWdnEiOPpq+MCoPLNbWY+TMJnVvzEw="; }; - beamDeps = [ goldrush hackney jsx lager ]; + beamDeps = [ + goldrush + hackney + jsx + lager + ]; }; }; -in self +in +self diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix index 6fa2eb007134b..f815d2fa8b365 100644 --- a/pkgs/development/beam-modules/erlang-ls/default.nix +++ b/pkgs/development/beam-modules/erlang-ls/default.nix @@ -1,5 +1,14 @@ -{ fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper -, stdenv, writeScript, lib }: +{ + fetchFromGitHub, + fetchgit, + fetchHex, + rebar3Relx, + buildRebar3, + rebar3-proper, + stdenv, + writeScript, + lib, +}: let version = "1.1.0"; owner = "erlang-ls"; @@ -7,25 +16,27 @@ let deps = import ./rebar-deps.nix { inherit fetchHex fetchFromGitHub fetchgit; builder = buildRebar3; - overrides = (self: super: { - proper = super.proper.overrideAttrs (_: { - configurePhase = "true"; - }); - redbug = super.redbug.overrideAttrs (_: { - patchPhase = '' - substituteInPlace rebar.config --replace ", warnings_as_errors" "" + overrides = ( + self: super: { + proper = super.proper.overrideAttrs (_: { + configurePhase = "true"; + }); + redbug = super.redbug.overrideAttrs (_: { + patchPhase = '' + substituteInPlace rebar.config --replace ", warnings_as_errors" "" ''; - }); - json_polyfill = super.json_polyfill.overrideAttrs (_: { - # When compiling with erlang >= 27, the json_polyfill rebar script will - # delete the json.beam file as it's not needed. However, we need to - # adjust this path as the nix build will put the beam file under `ebin` - # instead of `$REBAR_DEPS_DIR/json_polyfill/ebin`. - postPatch = '' - substituteInPlace rebar.config.script --replace "{erlc_compile, \"rm \\\"\$REBAR_DEPS_DIR/json_polyfill/ebin/json.beam\\\"\"}" "{erlc_compile, \"rm \\\"ebin/json.beam\\\"\"}" + }); + json_polyfill = super.json_polyfill.overrideAttrs (_: { + # When compiling with erlang >= 27, the json_polyfill rebar script will + # delete the json.beam file as it's not needed. However, we need to + # adjust this path as the nix build will put the beam file under `ebin` + # instead of `$REBAR_DEPS_DIR/json_polyfill/ebin`. + postPatch = '' + substituteInPlace rebar.config.script --replace "{erlc_compile, \"rm \\\"\$REBAR_DEPS_DIR/json_polyfill/ebin/json.beam\\\"\"}" "{erlc_compile, \"rm \\\"ebin/json.beam\\\"\"}" ''; - }); - }); + }); + } + ); }; in rebar3Relx { @@ -40,7 +51,7 @@ rebar3Relx { beamDeps = builtins.attrValues deps; # https://github.com/erlang-ls/erlang_ls/issues/1429 - postPatch = '' + postPatch = '' rm apps/els_lsp/test/els_diagnostics_SUITE.erl ''; diff --git a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix index 76ac0b9581bd7..b468a39edcd72 100644 --- a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix +++ b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix @@ -1,6 +1,14 @@ # Generated by rebar3_nix -let fetchOnly = { src, ... }: src; -in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }: +let + fetchOnly = { src, ... }: src; +in +{ + builder ? fetchOnly, + fetchHex, + fetchgit, + fetchFromGitHub, + overrides ? (x: y: { }), +}: let self = packages // (overrides self packages); packages = with self; { @@ -174,7 +182,10 @@ let version = "3.2.5"; sha256 = "sha256-NNkhjwuAclEZA79sy/WesXZd7Pxz/MaDO6XIlZ2384M="; }; - beamDeps = [ katana_code zipper ]; + beamDeps = [ + katana_code + zipper + ]; }; docsh = builder { name = "docsh"; @@ -227,4 +238,5 @@ let beamDeps = [ jsx ]; }; }; -in self +in +self diff --git a/pkgs/development/beam-modules/erlfmt/default.nix b/pkgs/development/beam-modules/erlfmt/default.nix index 11307e37cf5e9..49c687afd4596 100644 --- a/pkgs/development/beam-modules/erlfmt/default.nix +++ b/pkgs/development/beam-modules/erlfmt/default.nix @@ -1,4 +1,8 @@ -{ fetchFromGitHub, rebar3Relx, lib }: +{ + fetchFromGitHub, + rebar3Relx, + lib, +}: rebar3Relx rec { pname = "erlfmt"; diff --git a/pkgs/development/beam-modules/fetch-hex.nix b/pkgs/development/beam-modules/fetch-hex.nix index a8241892ee0ca..8b8024a31b2b2 100644 --- a/pkgs/development/beam-modules/fetch-hex.nix +++ b/pkgs/development/beam-modules/fetch-hex.nix @@ -1,9 +1,14 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: -{ pkg -, version -, sha256 -, meta ? { } +{ + pkg, + version, + sha256, + meta ? { }, }: stdenv.mkDerivation ({ diff --git a/pkgs/development/beam-modules/fetch-mix-deps.nix b/pkgs/development/beam-modules/fetch-mix-deps.nix index b9a1add3c7d16..867410e4f0a0d 100644 --- a/pkgs/development/beam-modules/fetch-mix-deps.nix +++ b/pkgs/development/beam-modules/fetch-mix-deps.nix @@ -1,65 +1,98 @@ -{ stdenvNoCC, lib, elixir, hex, rebar, rebar3, cacert, git }@inputs: +{ + stdenvNoCC, + lib, + elixir, + hex, + rebar, + rebar3, + cacert, + git, +}@inputs: -{ pname -, version -, hash ? "" -, sha256 ? "" -, src -, mixEnv ? "prod" -, debug ? false -, meta ? { } -, patches ? [] -, elixir ? inputs.elixir -, hex ? inputs.hex.override { inherit elixir; } -, ... +{ + pname, + version, + hash ? "", + sha256 ? "", + src, + mixEnv ? "prod", + debug ? false, + meta ? { }, + patches ? [ ], + elixir ? inputs.elixir, + hex ? inputs.hex.override { inherit elixir; }, + ... }@attrs: let hash_ = - if hash != "" then { outputHashAlgo = null; outputHash = hash; } - else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; } - else { outputHashAlgo = "sha256"; outputHash = lib.fakeSha256; }; + if hash != "" then + { + outputHashAlgo = null; + outputHash = hash; + } + else if sha256 != "" then + { + outputHashAlgo = "sha256"; + outputHash = sha256; + } + else + { + outputHashAlgo = "sha256"; + outputHash = lib.fakeSha256; + }; in -stdenvNoCC.mkDerivation (attrs // { - nativeBuildInputs = [ elixir hex cacert git ]; +stdenvNoCC.mkDerivation ( + attrs + // { + nativeBuildInputs = [ + elixir + hex + cacert + git + ]; - MIX_ENV = mixEnv; - MIX_DEBUG = if debug then 1 else 0; - DEBUG = if debug then 1 else 0; # for rebar3 - # the api with `mix local.rebar rebar path` makes a copy of the binary - MIX_REBAR = "${rebar}/bin/rebar"; - MIX_REBAR3 = "${rebar3}/bin/rebar3"; - # there is a persistent download failure with absinthe 1.6.3 - # those defaults reduce the failure rate - HEX_HTTP_CONCURRENCY = 1; - HEX_HTTP_TIMEOUT = 120; + MIX_ENV = mixEnv; + MIX_DEBUG = if debug then 1 else 0; + DEBUG = if debug then 1 else 0; # for rebar3 + # the api with `mix local.rebar rebar path` makes a copy of the binary + MIX_REBAR = "${rebar}/bin/rebar"; + MIX_REBAR3 = "${rebar3}/bin/rebar3"; + # there is a persistent download failure with absinthe 1.6.3 + # those defaults reduce the failure rate + HEX_HTTP_CONCURRENCY = 1; + HEX_HTTP_TIMEOUT = 120; - configurePhase = attrs.configurePhase or '' - runHook preConfigure - export HEX_HOME="$TEMPDIR/.hex"; - export MIX_HOME="$TEMPDIR/.mix"; - export MIX_DEPS_PATH="$TEMPDIR/deps"; + configurePhase = + attrs.configurePhase or '' + runHook preConfigure + export HEX_HOME="$TEMPDIR/.hex"; + export MIX_HOME="$TEMPDIR/.mix"; + export MIX_DEPS_PATH="$TEMPDIR/deps"; - # Rebar - export REBAR_GLOBAL_CONFIG_DIR="$TMPDIR/rebar3" - export REBAR_CACHE_DIR="$TMPDIR/rebar3.cache" - runHook postConfigure - ''; + # Rebar + export REBAR_GLOBAL_CONFIG_DIR="$TMPDIR/rebar3" + export REBAR_CACHE_DIR="$TMPDIR/rebar3.cache" + runHook postConfigure + ''; - inherit patches; + inherit patches; - dontBuild = true; + dontBuild = true; - installPhase = attrs.installPhase or '' - runHook preInstall - mix deps.get ''${MIX_ENV:+--only $MIX_ENV} - find "$TEMPDIR/deps" -path '*/.git/*' -a ! -name HEAD -exec rm -rf {} + - cp -r --no-preserve=mode,ownership,timestamps $TEMPDIR/deps $out - runHook postInstall - ''; + installPhase = + attrs.installPhase or '' + runHook preInstall + mix deps.get ''${MIX_ENV:+--only $MIX_ENV} + find "$TEMPDIR/deps" -path '*/.git/*' -a ! -name HEAD -exec rm -rf {} + + cp -r --no-preserve=mode,ownership,timestamps $TEMPDIR/deps $out + runHook postInstall + ''; - outputHashMode = "recursive"; + outputHashMode = "recursive"; - impureEnvVars = lib.fetchers.proxyImpureEnvVars; - inherit meta; -} // hash_) + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + inherit meta; + } + // hash_ +) diff --git a/pkgs/development/beam-modules/fetch-rebar-deps.nix b/pkgs/development/beam-modules/fetch-rebar-deps.nix index b253e16761ba0..644dd1470ea77 100644 --- a/pkgs/development/beam-modules/fetch-rebar-deps.nix +++ b/pkgs/development/beam-modules/fetch-rebar-deps.nix @@ -1,10 +1,15 @@ -{ lib, stdenv, rebar3 }: +{ + lib, + stdenv, + rebar3, +}: -{ name -, version -, sha256 -, src -, meta ? { } +{ + name, + version, + sha256, + src, + meta ? { }, }: stdenv.mkDerivation ({ diff --git a/pkgs/development/beam-modules/hex/default.nix b/pkgs/development/beam-modules/hex/default.nix index 66462f639f1ef..74de36b9269eb 100644 --- a/pkgs/development/beam-modules/hex/default.nix +++ b/pkgs/development/beam-modules/hex/default.nix @@ -1,57 +1,68 @@ -{ lib, stdenv, fetchFromGitHub, writeText, elixir }: +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + elixir, +}: let - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; - }; - - pkg = self: stdenv.mkDerivation rec { - pname = "hex"; - version = "2.1.1"; - - src = fetchFromGitHub { - owner = "hexpm"; - repo = "hex"; - rev = "v${version}"; - sha256 = "sha256-pEfd2BqkVwZVbnka98MafJ/NRn94BHh+wM0i2Q5duTo="; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; }; - setupHook = writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" - ''; + pkg = + self: + stdenv.mkDerivation rec { + pname = "hex"; + version = "2.1.1"; - dontStrip = true; + src = fetchFromGitHub { + owner = "hexpm"; + repo = "hex"; + rev = "v${version}"; + sha256 = "sha256-pEfd2BqkVwZVbnka98MafJ/NRn94BHh+wM0i2Q5duTo="; + }; - buildInputs = [ elixir ]; + setupHook = writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" + ''; - buildPhase = '' - runHook preBuild - export HEX_OFFLINE=1 - export HEX_HOME=./ - export MIX_ENV=prod - mix compile - runHook postBuild - ''; + dontStrip = true; - installPhase = '' - runHook preInstall + buildInputs = [ elixir ]; - mkdir -p $out/lib/erlang/lib - cp -r ./_build/prod/lib/hex $out/lib/erlang/lib/ + buildPhase = '' + runHook preBuild + export HEX_OFFLINE=1 + export HEX_HOME=./ + export MIX_ENV=prod + mix compile + runHook postBuild + ''; - runHook postInstall - ''; + installPhase = '' + runHook preInstall - meta = { - description = "Package manager for the Erlang VM https://hex.pm"; - license = lib.licenses.mit; - homepage = "https://github.com/hexpm/hex"; - maintainers = with lib.maintainers; [ ericbmerritt ]; - }; + mkdir -p $out/lib/erlang/lib + cp -r ./_build/prod/lib/hex $out/lib/erlang/lib/ + + runHook postInstall + ''; + + meta = { + description = "Package manager for the Erlang VM https://hex.pm"; + license = lib.licenses.mit; + homepage = "https://github.com/hexpm/hex"; + maintainers = with lib.maintainers; [ ericbmerritt ]; + }; - passthru = { - env = shell self; + passthru = { + env = shell self; + }; }; -}; -in lib.fix pkg +in +lib.fix pkg diff --git a/pkgs/development/beam-modules/pgsql/default.nix b/pkgs/development/beam-modules/pgsql/default.nix index df6561b7cf189..a6bd2e955e81a 100644 --- a/pkgs/development/beam-modules/pgsql/default.nix +++ b/pkgs/development/beam-modules/pgsql/default.nix @@ -1,34 +1,44 @@ -{ lib, stdenv, fetchFromGitHub, buildRebar3 }: +{ + lib, + stdenv, + fetchFromGitHub, + buildRebar3, +}: let - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; }; - pkg = self: buildRebar3 { - name = "pgsql"; - version = "25+beta.2"; + pkg = + self: + buildRebar3 { + name = "pgsql"; + version = "25+beta.2"; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = "semiocast"; repo = "pgsql"; rev = "14f632bc89e464d82ce3ef12a67ed8c2adb5b60c"; sha256 = "17dcahiwlw61zhy8aq9rn46lwb35fb9q3372s4wmz01czm8c348w"; - }; + }; - dontStrip = true; + dontStrip = true; - meta = { - description = "Erlang PostgreSQL Driver"; - license = lib.licenses.mit; - homepage = "https://github.com/semiocast/pgsql"; - maintainers = with lib.maintainers; [ ericbmerritt ]; - }; + meta = { + description = "Erlang PostgreSQL Driver"; + license = lib.licenses.mit; + homepage = "https://github.com/semiocast/pgsql"; + maintainers = with lib.maintainers; [ ericbmerritt ]; + }; - passthru = { - env = shell self; - }; + passthru = { + env = shell self; + }; -}; -in lib.fix pkg + }; +in +lib.fix pkg diff --git a/pkgs/development/beam-modules/rebar3-nix/default.nix b/pkgs/development/beam-modules/rebar3-nix/default.nix index 50bd296583541..f4c1951598736 100644 --- a/pkgs/development/beam-modules/rebar3-nix/default.nix +++ b/pkgs/development/beam-modules/rebar3-nix/default.nix @@ -1,4 +1,8 @@ -{ lib, buildRebar3, fetchFromGitHub }: +{ + lib, + buildRebar3, + fetchFromGitHub, +}: buildRebar3 rec { name = "rebar3_nix"; version = "0.1.1"; @@ -13,6 +17,9 @@ buildRebar3 rec { description = "nix integration for rebar3"; license = lib.licenses.bsd3; homepage = "https://github.com/erlang-nix/rebar3_nix"; - maintainers = with lib.maintainers; [ dlesl gleber ]; + maintainers = with lib.maintainers; [ + dlesl + gleber + ]; }; } diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix index 621887d6cd124..17f8bac62e48a 100644 --- a/pkgs/development/beam-modules/rebar3-release.nix +++ b/pkgs/development/beam-modules/rebar3-release.nix @@ -1,37 +1,46 @@ -{ stdenv -, erlang -, rebar3WithPlugins -, openssl -, lib +{ + stdenv, + erlang, + rebar3WithPlugins, + openssl, + lib, }: -{ pname -, version -, src -, beamDeps ? [ ] -, buildPlugins ? [ ] -, checkouts ? null -, releaseType -, buildInputs ? [ ] -, setupHook ? null -, profile ? "default" -, installPhase ? null -, buildPhase ? null -, configurePhase ? null -, meta ? { } -, ... +{ + pname, + version, + src, + beamDeps ? [ ], + buildPlugins ? [ ], + checkouts ? null, + releaseType, + buildInputs ? [ ], + setupHook ? null, + profile ? "default", + installPhase ? null, + buildPhase ? null, + configurePhase ? null, + meta ? { }, + ... }@attrs: let - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.pname}"; - buildInputs = [ drv ]; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.pname}"; + buildInputs = [ drv ]; + }; + + customPhases = lib.filterAttrs (_: v: v != null) { + inherit + setupHook + configurePhase + buildPhase + installPhase + ; }; - customPhases = lib.filterAttrs - (_: v: v != null) - { inherit setupHook configurePhase buildPhase installPhase; }; - # When using the `beamDeps` argument, it is important that we use # `rebar3WithPlugins` here even when there are no plugins. The vanilla # `rebar3` package is an escript archive with bundled dependencies which can @@ -43,65 +52,76 @@ let pkg = assert beamDeps != [ ] -> checkouts == null; - self: stdenv.mkDerivation (attrs // { - - name = "${pname}-${version}"; - inherit version pname; - - buildInputs = buildInputs ++ [ erlang rebar3 openssl ] ++ beamDeps; - - # ensure we strip any native binaries (eg. NIFs, ports) - stripDebugList = lib.optional (releaseType == "release") "rel"; - - inherit src; - - REBAR_IGNORE_DEPS = beamDeps != [ ]; - - configurePhase = '' - runHook preConfigure - ${lib.optionalString (checkouts != null) - "cp --no-preserve=all -R ${checkouts}/_checkouts ."} - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - HOME=. DEBUG=1 rebar3 as ${profile} ${if releaseType == "escript" - then "escriptize" - else "release"} - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - dir=${if releaseType == "escript" - then "bin" - else "rel"} - mkdir -p "$out/$dir" "$out/bin" - cp -R --preserve=mode "_build/${profile}/$dir" "$out" - ${lib.optionalString (releaseType == "release") - "find $out/rel/*/bin -type f -executable -exec ln -s -t $out/bin {} \\;"} - runHook postInstall - ''; - - # Release will generate a binary which will cause a read null byte failure, see #261354 - postInstall = lib.optionalString (releaseType == "escript") '' - for dir in $out/rel/*/erts-*; do - echo "ERTS found in $dir - removing references to erlang to reduce closure size" - for f in $dir/bin/{erl,start}; do - substituteInPlace "$f" --replace "${erlang}/lib/erlang" "''${dir/\/erts-*/}" + self: + stdenv.mkDerivation ( + attrs + // { + + name = "${pname}-${version}"; + inherit version pname; + + buildInputs = + buildInputs + ++ [ + erlang + rebar3 + openssl + ] + ++ beamDeps; + + # ensure we strip any native binaries (eg. NIFs, ports) + stripDebugList = lib.optional (releaseType == "release") "rel"; + + inherit src; + + REBAR_IGNORE_DEPS = beamDeps != [ ]; + + configurePhase = '' + runHook preConfigure + ${lib.optionalString (checkouts != null) "cp --no-preserve=all -R ${checkouts}/_checkouts ."} + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + HOME=. DEBUG=1 rebar3 as ${profile} ${if releaseType == "escript" then "escriptize" else "release"} + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + dir=${if releaseType == "escript" then "bin" else "rel"} + mkdir -p "$out/$dir" "$out/bin" + cp -R --preserve=mode "_build/${profile}/$dir" "$out" + ${lib.optionalString ( + releaseType == "release" + ) "find $out/rel/*/bin -type f -executable -exec ln -s -t $out/bin {} \\;"} + runHook postInstall + ''; + + # Release will generate a binary which will cause a read null byte failure, see #261354 + postInstall = lib.optionalString (releaseType == "escript") '' + for dir in $out/rel/*/erts-*; do + echo "ERTS found in $dir - removing references to erlang to reduce closure size" + for f in $dir/bin/{erl,start}; do + substituteInPlace "$f" --replace "${erlang}/lib/erlang" "''${dir/\/erts-*/}" + done done - done - ''; - - meta = { - inherit (erlang.meta) platforms; - } // meta; - - passthru = ({ - packageName = pname; - env = shell self; - } // (if attrs ? passthru then attrs.passthru else { })); - } // customPhases); + ''; + + meta = { + inherit (erlang.meta) platforms; + } // meta; + + passthru = ( + { + packageName = pname; + env = shell self; + } + // (if attrs ? passthru then attrs.passthru else { }) + ); + } + // customPhases + ); in lib.fix pkg diff --git a/pkgs/development/beam-modules/webdriver/default.nix b/pkgs/development/beam-modules/webdriver/default.nix index 131fd03d86dc7..f8abc24c14edd 100644 --- a/pkgs/development/beam-modules/webdriver/default.nix +++ b/pkgs/development/beam-modules/webdriver/default.nix @@ -1,40 +1,51 @@ -{ lib, stdenv, fetchFromGitHub, writeText, erlang }: +{ + lib, + stdenv, + fetchFromGitHub, + writeText, + erlang, +}: let - shell = drv: stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - buildInputs = [ drv ]; - }; - - pkg = self: stdenv.mkDerivation { - pname = "webdriver"; - version = "0.pre+unstable=2015-02-08"; - - src = fetchFromGitHub { - owner = "Quviq"; - repo = "webdrv"; - rev = "7ceaf1f67d834e841ca0133b4bf899a9fa2db6bb"; - sha256 = "1pq6pmlr6xb4hv2fvmlrvzd8c70kdcidlgjv4p8n9pwvkif0cb87"; + shell = + drv: + stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; }; - setupHook = writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" - ''; + pkg = + self: + stdenv.mkDerivation { + pname = "webdriver"; + version = "0.pre+unstable=2015-02-08"; - buildInputs = [ erlang ]; + src = fetchFromGitHub { + owner = "Quviq"; + repo = "webdrv"; + rev = "7ceaf1f67d834e841ca0133b4bf899a9fa2db6bb"; + sha256 = "1pq6pmlr6xb4hv2fvmlrvzd8c70kdcidlgjv4p8n9pwvkif0cb87"; + }; - installFlags = [ "PREFIX=$(out)/lib/erlang/lib" ]; + setupHook = writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" + ''; - meta = { - description = "WebDriver implementation in Erlang"; - license = lib.licenses.mit; - homepage = "https://github.com/Quviq/webdrv"; - maintainers = with lib.maintainers; [ ericbmerritt ]; - }; + buildInputs = [ erlang ]; - passthru = { - env = shell self; - }; + installFlags = [ "PREFIX=$(out)/lib/erlang/lib" ]; + + meta = { + description = "WebDriver implementation in Erlang"; + license = lib.licenses.mit; + homepage = "https://github.com/Quviq/webdrv"; + maintainers = with lib.maintainers; [ ericbmerritt ]; + }; - }; -in lib.fix pkg + passthru = { + env = shell self; + }; + + }; +in +lib.fix pkg diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix index 343363332bf60..a90e948926a29 100644 --- a/pkgs/development/compilers/abcl/default.nix +++ b/pkgs/development/compilers/abcl/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, writeShellScriptBin -, fetchurl -, ant -, jdk -, makeWrapper -, stripJavaArchivesHook +{ + lib, + stdenv, + writeShellScriptBin, + fetchurl, + ant, + jdk, + makeWrapper, + stripJavaArchivesHook, }: let diff --git a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix index f5645f563de32..0db3e41bafac2 100644 --- a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix +++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix @@ -1,4 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, firefox-unwrapped, zip, pkg-config, npapi_sdk, bash, bc }: +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + rustc, + autoreconfHook, + jdk, + glib, + firefox-unwrapped, + zip, + pkg-config, + npapi_sdk, + bash, + bc, +}: stdenv.mkDerivation rec { pname = "adoptopenjdk-icedtea-web"; @@ -12,8 +27,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-hpEVWG9ltNDL/0EFJjgQRRce+BLcCO4ZERULYZxyC1o="; }; - nativeBuildInputs = [ autoreconfHook pkg-config bc ]; - buildInputs = [ cargo rustc glib firefox-unwrapped zip npapi_sdk ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + bc + ]; + buildInputs = [ + cargo + rustc + glib + firefox-unwrapped + zip + npapi_sdk + ]; preConfigure = '' configureFlagsArray+=("BIN_BASH=${bash}/bin/bash") diff --git a/pkgs/development/compilers/alan/2.nix b/pkgs/development/compilers/alan/2.nix index ce175dba687a3..b05415b629bb4 100644 --- a/pkgs/development/compilers/alan/2.nix +++ b/pkgs/development/compilers/alan/2.nix @@ -1,4 +1,7 @@ -{ stdenv, lib, fetchFromGitHub +{ + stdenv, + lib, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/compilers/alan/default.nix b/pkgs/development/compilers/alan/default.nix index 296f9331c8152..3a3fcfef81f2a 100644 --- a/pkgs/development/compilers/alan/default.nix +++ b/pkgs/development/compilers/alan/default.nix @@ -1,5 +1,11 @@ -{ stdenv, lib, fetchFromGitHub -, cgreen, openjdk, pkg-config, which +{ + stdenv, + lib, + fetchFromGitHub, + cgreen, + openjdk, + pkg-config, + which, }: stdenv.mkDerivation rec { @@ -35,7 +41,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cgreen - openjdk pkg-config which + openjdk + pkg-config + which ]; meta = with lib; { diff --git a/pkgs/development/compilers/armips/default.nix b/pkgs/development/compilers/armips/default.nix index 1f0094a203cf9..c8386845b35ab 100644 --- a/pkgs/development/compilers/armips/default.nix +++ b/pkgs/development/compilers/armips/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "armips"; diff --git a/pkgs/development/compilers/ballerina/default.nix b/pkgs/development/compilers/ballerina/default.nix index 5081ba45ca8b1..9fa4dcbfdd23b 100644 --- a/pkgs/development/compilers/ballerina/default.nix +++ b/pkgs/development/compilers/ballerina/default.nix @@ -1,8 +1,18 @@ -{ ballerina, lib, writeText, runCommand, makeWrapper, fetchzip, stdenv, openjdk }: +{ + ballerina, + lib, + writeText, + runCommand, + makeWrapper, + fetchzip, + stdenv, + openjdk, +}: let version = "2201.10.3"; codeName = "swan-lake"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "ballerina"; inherit version; @@ -22,18 +32,20 @@ in stdenv.mkDerivation { wrapProgram $out/bin/bal --set JAVA_HOME ${openjdk} ''; - passthru.tests.smokeTest = let - helloWorld = writeText "hello-world.bal" '' - import ballerina/io; - public function main() { - io:println("Hello, World!"); - } + passthru.tests.smokeTest = + let + helloWorld = writeText "hello-world.bal" '' + import ballerina/io; + public function main() { + io:println("Hello, World!"); + } + ''; + in + runCommand "ballerina-${version}-smoketest" { } '' + ${ballerina}/bin/bal run ${helloWorld} >$out + read result <$out + [[ $result = "Hello, World!" ]] ''; - in runCommand "ballerina-${version}-smoketest" { } '' - ${ballerina}/bin/bal run ${helloWorld} >$out - read result <$out - [[ $result = "Hello, World!" ]] - ''; meta = with lib; { description = "Open-source programming language for the cloud"; diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index c12c62ab45ca1..d014a6cfd1fdf 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, cmake, python3, fetchFromGitHub, emscripten, - gtest, lit, nodejs, filecheck +{ + lib, + stdenv, + cmake, + python3, + fetchFromGitHub, + emscripten, + gtest, + lit, + nodejs, + filecheck, }: let testsuite = fetchFromGitHub { @@ -9,53 +18,74 @@ let hash = "sha256-yvZ5AZTPUA6nsD3xpFC0VLthiu2CxVto66RTXBXXeJM="; }; in - stdenv.mkDerivation rec { - pname = "binaryen"; - version = "119"; +stdenv.mkDerivation rec { + pname = "binaryen"; + version = "119"; - src = fetchFromGitHub { - owner = "WebAssembly"; - repo = "binaryen"; - rev = "version_${version}"; - hash = "sha256-JYXtN3CW4qm/nnjGRvv3GxQ0x9O9wHtNYQLqHIYTTOA="; - }; + src = fetchFromGitHub { + owner = "WebAssembly"; + repo = "binaryen"; + rev = "version_${version}"; + hash = "sha256-JYXtN3CW4qm/nnjGRvv3GxQ0x9O9wHtNYQLqHIYTTOA="; + }; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; - preConfigure = '' - if [ $doCheck -eq 1 ]; then - sed -i '/googletest/d' third_party/CMakeLists.txt - rmdir test/spec/testsuite - ln -s ${testsuite} test/spec/testsuite - else - cmakeFlagsArray=($cmakeFlagsArray -DBUILD_TESTS=0) - fi - ''; + preConfigure = '' + if [ $doCheck -eq 1 ]; then + sed -i '/googletest/d' third_party/CMakeLists.txt + rmdir test/spec/testsuite + ln -s ${testsuite} test/spec/testsuite + else + cmakeFlagsArray=($cmakeFlagsArray -DBUILD_TESTS=0) + fi + ''; - nativeCheckInputs = [ gtest lit nodejs filecheck ]; - checkPhase = '' - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib python3 ../check.py $tests - ''; + nativeCheckInputs = [ + gtest + lit + nodejs + filecheck + ]; + checkPhase = '' + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib python3 ../check.py $tests + ''; - tests = [ - "version" "wasm-opt" "wasm-dis" - "crash" "dylink" "ctor-eval" - "wasm-metadce" "wasm-reduce" "spec" - "lld" "wasm2js" "validator" - "example" "unit" - # "binaryenjs" "binaryenjs_wasm" # not building this - "lit" "gtest" - ]; - doCheck = stdenv.isLinux; + tests = [ + "version" + "wasm-opt" + "wasm-dis" + "crash" + "dylink" + "ctor-eval" + "wasm-metadce" + "wasm-reduce" + "spec" + "lld" + "wasm2js" + "validator" + "example" + "unit" + # "binaryenjs" "binaryenjs_wasm" # not building this + "lit" + "gtest" + ]; + doCheck = stdenv.isLinux; - meta = with lib; { - homepage = "https://github.com/WebAssembly/binaryen"; - description = "Compiler infrastructure and toolchain library for WebAssembly, in C++"; - platforms = platforms.all; - maintainers = with maintainers; [ asppsa willcohen ]; - license = licenses.asl20; - }; - passthru.tests = { - inherit emscripten; - }; - } + meta = with lib; { + homepage = "https://github.com/WebAssembly/binaryen"; + description = "Compiler infrastructure and toolchain library for WebAssembly, in C++"; + platforms = platforms.all; + maintainers = with maintainers; [ + asppsa + willcohen + ]; + license = licenses.asl20; + }; + passthru.tests = { + inherit emscripten; + }; +} diff --git a/pkgs/development/compilers/c0/default.nix b/pkgs/development/compilers/c0/default.nix index 8dbb1627db3a7..4f82e9cf2ed2e 100644 --- a/pkgs/development/compilers/c0/default.nix +++ b/pkgs/development/compilers/c0/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromBitbucket -, mlton -, pkg-config -, getopt -, boehmgc -, darwin -, libbacktrace -, libpng -, ncurses -, readline -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromBitbucket, + mlton, + pkg-config, + getopt, + boehmgc, + darwin, + libbacktrace, + libpng, + ncurses, + readline, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -28,18 +29,20 @@ stdenv.mkDerivation rec { ./use-system-libraries.patch ]; - postPatch = '' - substituteInPlace cc0/Makefile \ - --replace '$(shell ./get_version.sh)' '${version}' - substituteInPlace cc0/compiler/bin/buildid \ - --replace '`../get_version.sh`' '${version}' \ - --replace '`date`' '1970-01-01T00:00:00Z' \ - --replace '`hostname`' 'nixpkgs' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - for f in cc0/compiler/bin/coin-o0-support cc0/compiler/bin/cc0-o0-support; do - substituteInPlace $f --replace '$(brew --prefix gnu-getopt)' '${getopt}' - done - ''; + postPatch = + '' + substituteInPlace cc0/Makefile \ + --replace '$(shell ./get_version.sh)' '${version}' + substituteInPlace cc0/compiler/bin/buildid \ + --replace '`../get_version.sh`' '${version}' \ + --replace '`date`' '1970-01-01T00:00:00Z' \ + --replace '`hostname`' 'nixpkgs' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for f in cc0/compiler/bin/coin-o0-support cc0/compiler/bin/cc0-o0-support; do + substituteInPlace $f --replace '$(brew --prefix gnu-getopt)' '${getopt}' + done + ''; preConfigure = '' cd cc0/ diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix index 7e7f6004c466a..f76167f0697d0 100644 --- a/pkgs/development/compilers/ccl/default.nix +++ b/pkgs/development/compilers/ccl/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }: +{ + lib, + stdenv, + fetchurl, + bootstrap_cmds, + coreutils, + glibc, + m4, + runtimeShell, +}: let options = rec { @@ -29,9 +38,12 @@ let }; armv6l-linux = armv7l-linux; }; - cfg = options.${stdenv.hostPlatform.system} or (throw "missing source url for platform ${stdenv.hostPlatform.system}"); + cfg = + options.${stdenv.hostPlatform.system} + or (throw "missing source url for platform ${stdenv.hostPlatform.system}"); -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "ccl"; version = "1.12.2"; @@ -40,28 +52,42 @@ in stdenv.mkDerivation rec { sha256 = cfg.sha256; }; - buildInputs = if stdenv.hostPlatform.isDarwin then [ bootstrap_cmds m4 ] else [ glibc m4 ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ + bootstrap_cmds + m4 + ] + else + [ + glibc + m4 + ]; CCL_RUNTIME = cfg.runtime; CCL_KERNEL = cfg.kernel; - postPatch = if stdenv.hostPlatform.isDarwin then '' - substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \ - --replace "M4 = gm4" "M4 = m4" \ - --replace "dtrace" "/usr/sbin/dtrace" \ - --replace "/bin/rm" "${coreutils}/bin/rm" \ - --replace "/bin/echo" "${coreutils}/bin/echo" + postPatch = + if stdenv.hostPlatform.isDarwin then + '' + substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \ + --replace "M4 = gm4" "M4 = m4" \ + --replace "dtrace" "/usr/sbin/dtrace" \ + --replace "/bin/rm" "${coreutils}/bin/rm" \ + --replace "/bin/echo" "${coreutils}/bin/echo" - substituteInPlace lisp-kernel/m4macros.m4 \ - --replace "/bin/pwd" "${coreutils}/bin/pwd" - '' else '' - substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \ - --replace "/bin/rm" "${coreutils}/bin/rm" \ - --replace "/bin/echo" "${coreutils}/bin/echo" + substituteInPlace lisp-kernel/m4macros.m4 \ + --replace "/bin/pwd" "${coreutils}/bin/pwd" + '' + else + '' + substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \ + --replace "/bin/rm" "${coreutils}/bin/rm" \ + --replace "/bin/echo" "${coreutils}/bin/echo" - substituteInPlace lisp-kernel/m4macros.m4 \ - --replace "/bin/pwd" "${coreutils}/bin/pwd" - ''; + substituteInPlace lisp-kernel/m4macros.m4 \ + --replace "/bin/pwd" "${coreutils}/bin/pwd" + ''; buildPhase = '' make -C lisp-kernel/${CCL_KERNEL} clean @@ -84,12 +110,12 @@ in stdenv.mkDerivation rec { meta = with lib; { # assembler failures during build, x86_64-darwin broken since 2020-10-14 - broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64); + broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64); description = "Clozure Common Lisp"; - homepage = "https://ccl.clozure.com/"; - license = licenses.asl20; + homepage = "https://ccl.clozure.com/"; + license = licenses.asl20; mainProgram = "ccl"; maintainers = lib.teams.lisp.members; - platforms = attrNames options; + platforms = attrNames options; }; } diff --git a/pkgs/development/compilers/chicken/4/chicken.nix b/pkgs/development/compilers/chicken/4/chicken.nix index a36ef4569e305..3ac84e1fdbe0e 100644 --- a/pkgs/development/compilers/chicken/4/chicken.nix +++ b/pkgs/development/compilers/chicken/4/chicken.nix @@ -1,13 +1,26 @@ -{ lib, stdenv, fetchurl, makeWrapper, darwin, bootstrap-chicken ? null }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + darwin, + bootstrap-chicken ? null, +}: let version = "4.13.0"; - platform = with stdenv; - if isDarwin then "macosx" - else if isCygwin then "cygwin" - else if (isFreeBSD || isOpenBSD) then "bsd" - else if isSunOS then "solaris" - else "linux"; # Should be a sane default + platform = + with stdenv; + if isDarwin then + "macosx" + else if isCygwin then + "cygwin" + else if (isFreeBSD || isOpenBSD) then + "bsd" + else if isSunOS then + "solaris" + else + "linux"; # Should be a sane default in stdenv.mkDerivation { pname = "chicken"; @@ -30,16 +43,19 @@ stdenv.mkDerivation { setupHook = lib.optional (bootstrap-chicken != null) ./setup-hook.sh; # -fno-strict-overflow is not a supported argument in clang on darwin - hardeningDisable = lib.optionals stdenv.hostPlatform.isDarwin ["strictoverflow"]; - - makeFlags = [ - "PLATFORM=${platform}" "PREFIX=$(out)" - "VARDIR=$(out)/var/lib" - ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ - "XCODE_TOOL_PATH=${darwin.binutils.bintools}/bin" - "C_COMPILER=$(CC)" - "POSTINSTALL_PROGRAM=${stdenv.cc.targetPrefix}install_name_tool" - ]); + hardeningDisable = lib.optionals stdenv.hostPlatform.isDarwin [ "strictoverflow" ]; + + makeFlags = + [ + "PLATFORM=${platform}" + "PREFIX=$(out)" + "VARDIR=$(out)/var/lib" + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ + "XCODE_TOOL_PATH=${darwin.binutils.bintools}/bin" + "C_COMPILER=$(CC)" + "POSTINSTALL_PROGRAM=${stdenv.cc.targetPrefix}install_name_tool" + ]); # We need a bootstrap-chicken to regenerate the c-files after # applying a patch to add support for CHICKEN_REPOSITORY_EXTRA @@ -47,11 +63,13 @@ stdenv.mkDerivation { ./0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch ]; - nativeBuildInputs = [ - makeWrapper - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - darwin.autoSignDarwinBinariesHook - ]; + nativeBuildInputs = + [ + makeWrapper + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + darwin.autoSignDarwinBinariesHook + ]; buildInputs = lib.optionals (bootstrap-chicken != null) [ bootstrap-chicken diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix index 7502a7a9f1e72..bb86fe0ed3c73 100644 --- a/pkgs/development/compilers/chicken/4/default.nix +++ b/pkgs/development/compilers/chicken/4/default.nix @@ -1,9 +1,11 @@ -{ lib, newScope } : +{ lib, newScope }: let callPackage = newScope self; self = { - pkgs = self // { recurseForDerivations = false; }; + pkgs = self // { + recurseForDerivations = false; + }; fetchegg = callPackage ./fetchegg { }; @@ -18,4 +20,5 @@ let egg2nix = callPackage ./egg2nix.nix { }; }; -in self +in +self diff --git a/pkgs/development/compilers/chicken/4/egg2nix.nix b/pkgs/development/compilers/chicken/4/egg2nix.nix index e175f17e1ab7e..2adb096e20997 100644 --- a/pkgs/development/compilers/chicken/4/egg2nix.nix +++ b/pkgs/development/compilers/chicken/4/egg2nix.nix @@ -1,4 +1,9 @@ -{ lib, eggDerivation, fetchFromGitHub, chickenEggs }: +{ + lib, + eggDerivation, + fetchFromGitHub, + chickenEggs, +}: # Note: This mostly reimplements the default.nix already contained in # the tarball. Is there a nicer way than duplicating code? @@ -15,7 +20,8 @@ eggDerivation rec { }; buildInputs = with chickenEggs; [ - matchable http-client + matchable + http-client ]; meta = { diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix index 96b3612b34baf..b36cfce94d843 100644 --- a/pkgs/development/compilers/chicken/4/eggDerivation.nix +++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix @@ -1,49 +1,61 @@ -{ lib, stdenv, chicken, makeWrapper }: -{ name, src -, buildInputs ? [] -, chickenInstallFlags ? [] -, cscOptions ? [] -, ...} @ args: +{ + lib, + stdenv, + chicken, + makeWrapper, +}: +{ + name, + src, + buildInputs ? [ ], + chickenInstallFlags ? [ ], + cscOptions ? [ ], + ... +}@args: let libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/"; overrides = import ./overrides.nix; baseName = lib.getName name; - override = if builtins.hasAttr baseName overrides - then - builtins.getAttr baseName overrides - else - {}; + override = if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else { }; in -stdenv.mkDerivation ({ - name = "chicken-${name}"; - propagatedBuildInputs = buildInputs; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ chicken ]; - - CSC_OPTIONS = lib.concatStringsSep " " cscOptions; - - CHICKEN_REPOSITORY = libPath; - CHICKEN_INSTALL_PREFIX = "$out"; - - installPhase = '' - runHook preInstall - - chicken-install -p $out ${lib.concatStringsSep " " chickenInstallFlags} - - for f in $out/bin/* - do - wrapProgram $f \ - --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \ - --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \ - --prefix CHICKEN_INCLUDE_PATH \; "$CHICKEN_INCLUDE_PATH;$out/share/" \ - --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY" - done - - runHook postInstall - ''; - - meta = { - inherit (chicken.meta) platforms; - } // args.meta or {}; -} // (builtins.removeAttrs args ["name" "buildInputs" "meta"]) // override) +stdenv.mkDerivation ( + { + name = "chicken-${name}"; + propagatedBuildInputs = buildInputs; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ chicken ]; + + CSC_OPTIONS = lib.concatStringsSep " " cscOptions; + + CHICKEN_REPOSITORY = libPath; + CHICKEN_INSTALL_PREFIX = "$out"; + + installPhase = '' + runHook preInstall + + chicken-install -p $out ${lib.concatStringsSep " " chickenInstallFlags} + + for f in $out/bin/* + do + wrapProgram $f \ + --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \ + --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \ + --prefix CHICKEN_INCLUDE_PATH \; "$CHICKEN_INCLUDE_PATH;$out/share/" \ + --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY" + done + + runHook postInstall + ''; + + meta = { + inherit (chicken.meta) platforms; + } // args.meta or { }; + } + // (builtins.removeAttrs args [ + "name" + "buildInputs" + "meta" + ]) + // override +) diff --git a/pkgs/development/compilers/chicken/4/eggs.nix b/pkgs/development/compilers/chicken/4/eggs.nix index 8c96caca26236..ea952b844d8b4 100644 --- a/pkgs/development/compilers/chicken/4/eggs.nix +++ b/pkgs/development/compilers/chicken/4/eggs.nix @@ -12,7 +12,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -26,7 +26,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -73,7 +73,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -87,7 +87,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -101,7 +101,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -135,4 +135,3 @@ rec { ]; }; } - diff --git a/pkgs/development/compilers/chicken/4/fetchegg/default.nix b/pkgs/development/compilers/chicken/4/fetchegg/default.nix index 23c5760b4bce4..5d51a5cd0fa55 100644 --- a/pkgs/development/compilers/chicken/4/fetchegg/default.nix +++ b/pkgs/development/compilers/chicken/4/fetchegg/default.nix @@ -1,25 +1,33 @@ # Fetches a chicken egg from henrietta using `chicken-install -r' # See: http://wiki.call-cc.org/chicken-projects/egg-index-4.html -{ lib, stdenvNoCC, chicken }: -{ name, version, md5 ? "", sha256 ? "" }: +{ + lib, + stdenvNoCC, + chicken, +}: +{ + name, + version, + md5 ? "", + sha256 ? "", +}: if md5 != "" then throw "fetchegg does not support md5 anymore, please use sha256" else -stdenvNoCC.mkDerivation { - name = "chicken-${name}-export-${version}"; - builder = ./builder.sh; - nativeBuildInputs = [ chicken ]; + stdenvNoCC.mkDerivation { + name = "chicken-${name}-export-${version}"; + builder = ./builder.sh; + nativeBuildInputs = [ chicken ]; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = sha256; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = sha256; - inherit version; + inherit version; - eggName = name; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars; -} + eggName = name; + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + } diff --git a/pkgs/development/compilers/chicken/5/chicken.nix b/pkgs/development/compilers/chicken/5/chicken.nix index 53b4cc9024d55..4d1871fb52f5b 100644 --- a/pkgs/development/compilers/chicken/5/chicken.nix +++ b/pkgs/development/compilers/chicken/5/chicken.nix @@ -1,12 +1,26 @@ -{ lib, stdenv, fetchurl, makeWrapper, darwin, bootstrap-chicken ? null, testers }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + darwin, + bootstrap-chicken ? null, + testers, +}: let - platform = with stdenv; - if isDarwin then "macosx" - else if isCygwin then "cygwin" - else if (isFreeBSD || isOpenBSD) then "bsd" - else if isSunOS then "solaris" - else "linux"; # Should be a sane default + platform = + with stdenv; + if isDarwin then + "macosx" + else if isCygwin then + "cygwin" + else if (isFreeBSD || isOpenBSD) then + "bsd" + else if isSunOS then + "solaris" + else + "linux"; # Should be a sane default in stdenv.mkDerivation (finalAttrs: { pname = "chicken"; @@ -30,26 +44,31 @@ stdenv.mkDerivation (finalAttrs: { # -fno-strict-overflow is not a supported argument in clang hardeningDisable = lib.optionals stdenv.cc.isClang [ "strictoverflow" ]; - makeFlags = [ - "PLATFORM=${platform}" - "PREFIX=$(out)" - "C_COMPILER=$(CC)" - "CXX_COMPILER=$(CXX)" - ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ - "XCODE_TOOL_PATH=${darwin.binutils.bintools}/bin" - "LINKER_OPTIONS=-headerpad_max_install_names" - "POSTINSTALL_PROGRAM=install_name_tool" - ]) ++ (lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "HOSTSYSTEM=${stdenv.hostPlatform.config}" - "TARGET_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" - "TARGET_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++" - ]); + makeFlags = + [ + "PLATFORM=${platform}" + "PREFIX=$(out)" + "C_COMPILER=$(CC)" + "CXX_COMPILER=$(CXX)" + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ + "XCODE_TOOL_PATH=${darwin.binutils.bintools}/bin" + "LINKER_OPTIONS=-headerpad_max_install_names" + "POSTINSTALL_PROGRAM=install_name_tool" + ]) + ++ (lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "HOSTSYSTEM=${stdenv.hostPlatform.config}" + "TARGET_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" + "TARGET_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++" + ]); - nativeBuildInputs = [ - makeWrapper - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - darwin.autoSignDarwinBinariesHook - ]; + nativeBuildInputs = + [ + makeWrapper + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + darwin.autoSignDarwinBinariesHook + ]; buildInputs = lib.optionals (bootstrap-chicken != null) [ bootstrap-chicken @@ -69,7 +88,11 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://call-cc.org/"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ corngood nagy konst-aa ]; + maintainers = with lib.maintainers; [ + corngood + nagy + konst-aa + ]; platforms = lib.platforms.unix; description = "Portable compiler for the Scheme programming language"; longDescription = '' diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix index 61bf45dd54ac7..a3fe5a6da5acf 100644 --- a/pkgs/development/compilers/chicken/5/default.nix +++ b/pkgs/development/compilers/chicken/5/default.nix @@ -1,12 +1,21 @@ -{ lib, newScope, fetchurl }: +{ + lib, + newScope, + fetchurl, +}: lib.makeScope newScope (self: { - fetchegg = { pname, version, sha256, ... }: + fetchegg = + { + pname, + version, + sha256, + ... + }: fetchurl { inherit sha256; - url = - "https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz"; + url = "https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz"; }; eggDerivation = self.callPackage ./eggDerivation.nix { }; @@ -15,44 +24,57 @@ lib.makeScope newScope (self: { bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; }; }; - chickenEggs = lib.recurseIntoAttrs (lib.makeScope self.newScope (eggself: - (lib.mapAttrs - (pname: - eggData@{ version, synopsis, dependencies, license, ... }: + chickenEggs = lib.recurseIntoAttrs ( + lib.makeScope self.newScope ( + eggself: + (lib.mapAttrs ( + pname: + eggData@{ + version, + synopsis, + dependencies, + license, + ... + }: self.eggDerivation { name = "${pname}-${version}"; src = self.fetchegg (eggData // { inherit pname; }); buildInputs = map (x: eggself.${x}) dependencies; - meta.homepage = - "https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${pname}/${version}"; + meta.homepage = "https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${pname}/${version}"; meta.description = synopsis; - meta.license = (lib.licenses // { - "agpl" = lib.licenses.agpl3Only; - "artistic" = lib.licenses.artistic2; - "bsd" = lib.licenses.bsd3; - "bsd-1-clause" = lib.licenses.bsd1; - "bsd-2-clause" = lib.licenses.bsd2; - "bsd-3-clause" = lib.licenses.bsd3; - "gpl" = lib.licenses.gpl3Only; - "gpl-2" = lib.licenses.gpl2Only; - "gplv2" = lib.licenses.gpl2Only; - "gpl-3" = lib.licenses.gpl3Only; - "gpl-3.0" = lib.licenses.gpl3Only; - "gplv3" = lib.licenses.gpl3Only; - "lgpl" = lib.licenses.lgpl3Only; - "lgpl-2" = lib.licenses.lgpl2Only; - "lgpl-2.0+" = lib.licenses.lgpl2Plus; - "lgpl-2.1" = lib.licenses.lgpl21Only; - "lgpl-2.1-or-later" = lib.licenses.lgpl21Plus; - "lgpl-3" = lib.licenses.lgpl3Only; - "lgplv3" = lib.licenses.lgpl3Only; - "public-domain" = lib.licenses.publicDomain; - "srfi" = lib.licenses.bsd3; - "unicode" = lib.licenses.ucd; - "zlib-acknowledgement" = lib.licenses.zlib; - }).${license} or license; - }) - (lib.importTOML ./deps.toml)))); + meta.license = + ( + lib.licenses + // { + "agpl" = lib.licenses.agpl3Only; + "artistic" = lib.licenses.artistic2; + "bsd" = lib.licenses.bsd3; + "bsd-1-clause" = lib.licenses.bsd1; + "bsd-2-clause" = lib.licenses.bsd2; + "bsd-3-clause" = lib.licenses.bsd3; + "gpl" = lib.licenses.gpl3Only; + "gpl-2" = lib.licenses.gpl2Only; + "gplv2" = lib.licenses.gpl2Only; + "gpl-3" = lib.licenses.gpl3Only; + "gpl-3.0" = lib.licenses.gpl3Only; + "gplv3" = lib.licenses.gpl3Only; + "lgpl" = lib.licenses.lgpl3Only; + "lgpl-2" = lib.licenses.lgpl2Only; + "lgpl-2.0+" = lib.licenses.lgpl2Plus; + "lgpl-2.1" = lib.licenses.lgpl21Only; + "lgpl-2.1-or-later" = lib.licenses.lgpl21Plus; + "lgpl-3" = lib.licenses.lgpl3Only; + "lgplv3" = lib.licenses.lgpl3Only; + "public-domain" = lib.licenses.publicDomain; + "srfi" = lib.licenses.bsd3; + "unicode" = lib.licenses.ucd; + "zlib-acknowledgement" = lib.licenses.zlib; + } + ).${license} or license; + } + ) (lib.importTOML ./deps.toml)) + ) + ); egg2nix = self.callPackage ./egg2nix.nix { }; diff --git a/pkgs/development/compilers/chicken/5/egg2nix.nix b/pkgs/development/compilers/chicken/5/egg2nix.nix index dfef7c6cd236a..64393bff21732 100644 --- a/pkgs/development/compilers/chicken/5/egg2nix.nix +++ b/pkgs/development/compilers/chicken/5/egg2nix.nix @@ -1,4 +1,9 @@ -{ lib, eggDerivation, fetchFromGitHub, chickenEggs }: +{ + lib, + eggDerivation, + fetchFromGitHub, + chickenEggs, +}: # Note: This mostly reimplements the default.nix already contained in # the tarball. Is there a nicer way than duplicating code? diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix index 05a51f7bf91ac..623e1ab5560fe 100644 --- a/pkgs/development/compilers/chicken/5/eggDerivation.nix +++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix @@ -1,59 +1,73 @@ -{ callPackage, lib, stdenv, chicken, makeWrapper }: -{ name -, src -, buildInputs ? [ ] -, chickenInstallFlags ? [ ] -, cscOptions ? [ ] -, ... -} @ args: +{ + callPackage, + lib, + stdenv, + chicken, + makeWrapper, +}: +{ + name, + src, + buildInputs ? [ ], + chickenInstallFlags ? [ ], + cscOptions ? [ ], + ... +}@args: let overrides = callPackage ./overrides.nix { }; baseName = lib.getName name; override = - if builtins.hasAttr baseName overrides - then - builtins.getAttr baseName overrides - else - lib.id; + if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else lib.id; in -(stdenv.mkDerivation ({ - name = "chicken-${name}"; - propagatedBuildInputs = buildInputs; - nativeBuildInputs = [ chicken makeWrapper ]; - buildInputs = [ chicken ]; - - strictDeps = true; - - CSC_OPTIONS = lib.concatStringsSep " " cscOptions; - - buildPhase = '' - runHook preBuild - chicken-install -cached -no-install -host ${lib.escapeShellArgs chickenInstallFlags} - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - export CHICKEN_INSTALL_PREFIX=$out - export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion} - chicken-install -cached -host ${lib.escapeShellArgs chickenInstallFlags} - - for f in $out/bin/* - do - wrapProgram $f \ - --prefix CHICKEN_REPOSITORY_PATH : "$out/lib/chicken/${toString chicken.binaryVersion}:$CHICKEN_REPOSITORY_PATH" \ - --prefix CHICKEN_INCLUDE_PATH : "$CHICKEN_INCLUDE_PATH:$out/share" \ - --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_PATH" - done - - runHook postInstall - ''; - - dontConfigure = true; - - meta = { - inherit (chicken.meta) platforms; - } // args.meta or { }; -} // builtins.removeAttrs args [ "name" "buildInputs" "meta" ])).overrideAttrs override +(stdenv.mkDerivation ( + { + name = "chicken-${name}"; + propagatedBuildInputs = buildInputs; + nativeBuildInputs = [ + chicken + makeWrapper + ]; + buildInputs = [ chicken ]; + + strictDeps = true; + + CSC_OPTIONS = lib.concatStringsSep " " cscOptions; + + buildPhase = '' + runHook preBuild + chicken-install -cached -no-install -host ${lib.escapeShellArgs chickenInstallFlags} + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + export CHICKEN_INSTALL_PREFIX=$out + export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion} + chicken-install -cached -host ${lib.escapeShellArgs chickenInstallFlags} + + for f in $out/bin/* + do + wrapProgram $f \ + --prefix CHICKEN_REPOSITORY_PATH : "$out/lib/chicken/${toString chicken.binaryVersion}:$CHICKEN_REPOSITORY_PATH" \ + --prefix CHICKEN_INCLUDE_PATH : "$CHICKEN_INCLUDE_PATH:$out/share" \ + --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_PATH" + done + + runHook postInstall + ''; + + dontConfigure = true; + + meta = { + inherit (chicken.meta) platforms; + } // args.meta or { }; + } + // builtins.removeAttrs args [ + "name" + "buildInputs" + "meta" + ] +)).overrideAttrs + override diff --git a/pkgs/development/compilers/chicken/5/overrides.nix b/pkgs/development/compilers/chicken/5/overrides.nix index 586abb37b2969..0e683d8cf8f5a 100644 --- a/pkgs/development/compilers/chicken/5/overrides.nix +++ b/pkgs/development/compilers/chicken/5/overrides.nix @@ -1,4 +1,9 @@ -{ stdenv, pkgs, lib, chickenEggs }: +{ + stdenv, + pkgs, + lib, + chickenEggs, +}: let inherit (lib) addMetaAttrs; addToNativeBuildInputs = pkg: old: { @@ -8,16 +13,14 @@ let buildInputs = (old.buildInputs or [ ]) ++ lib.toList pkg; }; addToPropagatedBuildInputs = pkg: old: { - propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) - ++ lib.toList pkg; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.toList pkg; }; addPkgConfig = old: { nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; }; - addToBuildInputsWithPkgConfig = pkg: old: - (addPkgConfig old) // (addToBuildInputs pkg old); - addToPropagatedBuildInputsWithPkgConfig = pkg: old: - (addPkgConfig old) // (addToPropagatedBuildInputs pkg old); + addToBuildInputsWithPkgConfig = pkg: old: (addPkgConfig old) // (addToBuildInputs pkg old); + addToPropagatedBuildInputsWithPkgConfig = + pkg: old: (addPkgConfig old) // (addToPropagatedBuildInputs pkg old); broken = addMetaAttrs { broken = true; }; brokenOnDarwin = addMetaAttrs { broken = stdenv.hostPlatform.isDarwin; }; addToCscOptions = opt: old: { @@ -25,10 +28,21 @@ let }; in { - allegro = old: - ((addToBuildInputsWithPkgConfig ([ pkgs.allegro5 pkgs.libglvnd pkgs.libGLU ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.apple_sdk.frameworks.OpenGL ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pkgs.xorg.libX11 ])) old) // { + allegro = + old: + ( + (addToBuildInputsWithPkgConfig ( + [ + pkgs.allegro5 + pkgs.libglvnd + pkgs.libGLU + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.apple_sdk.frameworks.OpenGL ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ pkgs.xorg.libX11 ] + )) + old + ) + // { # depends on 'chicken' egg, which doesn't exist, # so we specify all the deps here propagatedBuildInputs = [ @@ -39,9 +53,13 @@ in blas = addToBuildInputsWithPkgConfig pkgs.blas; blosc = addToBuildInputs pkgs.c-blosc; botan = addToBuildInputsWithPkgConfig pkgs.botan2; - cairo = old: + cairo = + old: (addToBuildInputsWithPkgConfig pkgs.cairo old) - // (addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 srfi-13 ]) old); + // (addToPropagatedBuildInputs (with chickenEggs; [ + srfi-1 + srfi-13 + ]) old); cmark = addToBuildInputs pkgs.cmark; comparse = old: { # For some reason lazy-seq 2 gets interpreted as lazy-seq 0.0.0?? @@ -50,7 +68,8 @@ in --replace-fail 'lazy-seq "0.1.0"' 'lazy-seq "0.0.0"' ''; }; - epoxy = old: + epoxy = + old: (addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy old) // lib.optionalAttrs stdenv.cc.isClang { env.NIX_CFLAGS_COMPILE = toString [ @@ -60,14 +79,16 @@ in }; espeak = addToBuildInputsWithPkgConfig pkgs.espeak-ng; exif = addToBuildInputsWithPkgConfig pkgs.libexif; - expat = old: + expat = + old: (addToBuildInputsWithPkgConfig pkgs.expat old) // lib.optionalAttrs stdenv.cc.isClang { env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=incompatible-function-pointer-types" ]; }; - ezxdisp = old: + ezxdisp = + old: (addToBuildInputsWithPkgConfig pkgs.xorg.libX11 old) // lib.optionalAttrs stdenv.cc.isClang { env.NIX_CFLAGS_COMPILE = toString [ @@ -82,7 +103,8 @@ in iconv = addToBuildInputs (lib.optional stdenv.hostPlatform.isDarwin pkgs.libiconv); icu = addToBuildInputsWithPkgConfig pkgs.icu; imlib2 = addToBuildInputsWithPkgConfig pkgs.imlib2; - inotify = old: + inotify = + old: (addToBuildInputs (lib.optional stdenv.hostPlatform.isDarwin pkgs.libinotify-kqueue) old) // lib.optionalAttrs stdenv.hostPlatform.isDarwin (addToCscOptions "-L -linotify" old); leveldb = addToBuildInputs pkgs.leveldb; @@ -94,7 +116,8 @@ in ''; }; magic = addToBuildInputs pkgs.file; - mdh = old: + mdh = + old: (addToBuildInputs pkgs.pcre old) // lib.optionalAttrs stdenv.cc.isClang { env.NIX_CFLAGS_COMPILE = toString [ @@ -114,41 +137,63 @@ in mosquitto = addToPropagatedBuildInputs ([ pkgs.mosquitto ]); nanomsg = addToBuildInputs pkgs.nanomsg; ncurses = addToBuildInputsWithPkgConfig [ pkgs.ncurses ]; - opencl = addToBuildInputs ([ pkgs.opencl-headers pkgs.ocl-icd ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.apple_sdk.frameworks.OpenCL ]); + opencl = addToBuildInputs ( + [ + pkgs.opencl-headers + pkgs.ocl-icd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.apple_sdk.frameworks.OpenCL ] + ); openssl = addToBuildInputs pkgs.openssl; plot = addToBuildInputs pkgs.plotutils; postgresql = addToBuildInputsWithPkgConfig pkgs.postgresql; rocksdb = addToBuildInputs pkgs.rocksdb_8_3; - scheme2c-compatibility = old: - addToNativeBuildInputs (lib.optionals (stdenv.system == "x86_64-darwin") [ pkgs.memorymappingHook ]) - (addPkgConfig old); - sdl-base = old: - ((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL old) // - # needed for sdl-config to be in PATH - (addToNativeBuildInputs pkgs.SDL old)); - sdl2 = old: - ((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2 old) // - # needed for sdl2-config to be in PATH - (addToNativeBuildInputs pkgs.SDL2 old)); - sdl2-image = old: - ((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2_image old) // - # needed for sdl2-config to be in PATH - (addToNativeBuildInputs pkgs.SDL2 old)); - sdl2-ttf = old: - ((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2_ttf old) // - # needed for sdl2-config to be in PATH - (addToNativeBuildInputs pkgs.SDL2 old)); + scheme2c-compatibility = + old: + addToNativeBuildInputs (lib.optionals (stdenv.system == "x86_64-darwin") [ + pkgs.memorymappingHook + ]) (addPkgConfig old); + sdl-base = + old: + ( + (addToPropagatedBuildInputsWithPkgConfig pkgs.SDL old) + // + # needed for sdl-config to be in PATH + (addToNativeBuildInputs pkgs.SDL old) + ); + sdl2 = + old: + ( + (addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2 old) + // + # needed for sdl2-config to be in PATH + (addToNativeBuildInputs pkgs.SDL2 old) + ); + sdl2-image = + old: + ( + (addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2_image old) + // + # needed for sdl2-config to be in PATH + (addToNativeBuildInputs pkgs.SDL2 old) + ); + sdl2-ttf = + old: + ( + (addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2_ttf old) + // + # needed for sdl2-config to be in PATH + (addToNativeBuildInputs pkgs.SDL2 old) + ); soil = addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy; sqlite3 = addToBuildInputs pkgs.sqlite; - stemmer = old: - (addToBuildInputs pkgs.libstemmer old) - // (addToCscOptions "-L -lstemmer" old); - stfl = old: - (addToBuildInputs [ pkgs.ncurses pkgs.stfl ] old) - // (addToCscOptions "-L -lncurses" old); - taglib = old: - (addToBuildInputs [ pkgs.zlib pkgs.taglib ] old) // ( + stemmer = old: (addToBuildInputs pkgs.libstemmer old) // (addToCscOptions "-L -lstemmer" old); + stfl = + old: (addToBuildInputs [ pkgs.ncurses pkgs.stfl ] old) // (addToCscOptions "-L -lncurses" old); + taglib = + old: + (addToBuildInputs [ pkgs.zlib pkgs.taglib ] old) + // ( # needed for tablib-config to be in PATH addToNativeBuildInputs pkgs.taglib old ); @@ -162,23 +207,36 @@ in zstd = addToBuildInputs pkgs.zstd; # less trivial fixes, should be upstreamed - git = old: (addToBuildInputsWithPkgConfig pkgs.libgit2 old) // { - postPatch = '' - substituteInPlace libgit2.scm \ - --replace "asize" "reserved" - ''; - }; - lazy-ffi = old: (addToBuildInputs pkgs.libffi old) // { - postPatch = '' - substituteInPlace lazy-ffi.scm \ - --replace "ffi/ffi.h" "ffi.h" - ''; - }; - opengl = old: - (addToBuildInputsWithPkgConfig - (lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkgs.libGL pkgs.libGLU ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Foundation pkgs.darwin.apple_sdk.frameworks.OpenGL ]) - old) + git = + old: + (addToBuildInputsWithPkgConfig pkgs.libgit2 old) + // { + postPatch = '' + substituteInPlace libgit2.scm \ + --replace "asize" "reserved" + ''; + }; + lazy-ffi = + old: + (addToBuildInputs pkgs.libffi old) + // { + postPatch = '' + substituteInPlace lazy-ffi.scm \ + --replace "ffi/ffi.h" "ffi.h" + ''; + }; + opengl = + old: + (addToBuildInputsWithPkgConfig ( + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + pkgs.libGL + pkgs.libGLU + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.Foundation + pkgs.darwin.apple_sdk.frameworks.OpenGL + ] + ) old) // { postPatch = '' substituteInPlace opengl.egg \ @@ -197,8 +255,10 @@ in unveil = addMetaAttrs { platforms = lib.platforms.openbsd; }; # overrides for chicken 5.4 - dbus = old: - (addToBuildInputsWithPkgConfig [ pkgs.dbus ] old) // { + dbus = + old: + (addToBuildInputsWithPkgConfig [ pkgs.dbus ] old) + // { # backticks in compiler options # aren't supported anymore as of chicken 5.4, it seems. preBuild = '' diff --git a/pkgs/development/compilers/clasp/default.nix b/pkgs/development/compilers/clasp/default.nix index 4613357ded3b7..abf1083cc1c3f 100644 --- a/pkgs/development/compilers/clasp/default.nix +++ b/pkgs/development/compilers/clasp/default.nix @@ -1,14 +1,15 @@ -{ lib -, llvmPackages_15 -, fetchzip -, sbcl -, pkg-config -, fmt_9 -, gmpxx -, libelf -, boost -, libunwind -, ninja +{ + lib, + llvmPackages_15, + fetchzip, + sbcl, + pkg-config, + fmt_9, + gmpxx, + libelf, + boost, + libunwind, + ninja, }: let @@ -46,7 +47,10 @@ stdenv.mkDerivation rec { libclang ]; - ninjaFlags = [ "-C" "build" ]; + ninjaFlags = [ + "-C" + "build" + ]; configurePhase = '' export SOURCE_DATE_EPOCH=1 @@ -65,9 +69,12 @@ stdenv.mkDerivation rec { meta = { description = "Common Lisp implementation based on LLVM with C++ integration"; - license = lib.licenses.lgpl21Plus ; + license = lib.licenses.lgpl21Plus; maintainers = lib.teams.lisp.members; - platforms = ["x86_64-linux" "x86_64-darwin"]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; # Upstream claims support, but breaks with: # error: use of undeclared identifier 'aligned_alloc' broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/development/compilers/cmucl/binary.nix b/pkgs/development/compilers/cmucl/binary.nix index 9a186beaf00d8..eac9f1af818eb 100644 --- a/pkgs/development/compilers/cmucl/binary.nix +++ b/pkgs/development/compilers/cmucl/binary.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, installShellFiles +{ + lib, + stdenv, + fetchurl, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { @@ -10,19 +11,28 @@ stdenv.mkDerivation (finalAttrs: { srcs = [ (fetchurl { - url = "http://common-lisp.net/project/cmucl/downloads/release/" - + finalAttrs.version + "/cmucl-${finalAttrs.version}-x86-linux.tar.bz2"; + url = + "http://common-lisp.net/project/cmucl/downloads/release/" + + finalAttrs.version + + "/cmucl-${finalAttrs.version}-x86-linux.tar.bz2"; hash = "sha256-RdctcqPTtQh1Yb3BrpQ8jtRFQn85OcwOt1l90H6xDZs="; }) (fetchurl { - url = "http://common-lisp.net/project/cmucl/downloads/release/" - + finalAttrs.version + "/cmucl-${finalAttrs.version}-x86-linux.extra.tar.bz2"; + url = + "http://common-lisp.net/project/cmucl/downloads/release/" + + finalAttrs.version + + "/cmucl-${finalAttrs.version}-x86-linux.extra.tar.bz2"; hash = "sha256-zEmiW3m5VPpFgPxV1WJNCqgYRlHMovtaMXcgXyNukls="; - })]; + }) + ]; sourceRoot = "."; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; nativeBuildInputs = [ installShellFiles @@ -58,6 +68,9 @@ stdenv.mkDerivation (finalAttrs: { ''; mainProgram = "lisp"; maintainers = lib.teams.lisp.members; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; }) diff --git a/pkgs/development/compilers/codon/default.nix b/pkgs/development/compilers/codon/default.nix index f274011a910ee..491f38f2606af 100644 --- a/pkgs/development/compilers/codon/default.nix +++ b/pkgs/development/compilers/codon/default.nix @@ -1,14 +1,15 @@ -{ cacert -, cmake -, fetchFromGitHub -, git -, lib -, lld -, ninja -, nix-update-script -, perl -, python3 -, stdenv +{ + cacert, + cmake, + fetchFromGitHub, + git, + lib, + lld, + ninja, + nix-update-script, + perl, + python3, + stdenv, }: let diff --git a/pkgs/development/compilers/cone/default.nix b/pkgs/development/compilers/cone/default.nix index 4b2871ddc6f96..0e95fdbc6ae53 100644 --- a/pkgs/development/compilers/cone/default.nix +++ b/pkgs/development/compilers/cone/default.nix @@ -1,7 +1,8 @@ -{ llvmPackages -, lib -, fetchFromGitHub -, cmake +{ + llvmPackages, + lib, + fetchFromGitHub, + cmake, }: llvmPackages.stdenv.mkDerivation rec { diff --git a/pkgs/development/compilers/crystal/build-package.nix b/pkgs/development/compilers/crystal/build-package.nix index 536ad3acda7b5..c7c29f12caa47 100644 --- a/pkgs/development/compilers/crystal/build-package.nix +++ b/pkgs/development/compilers/crystal/build-package.nix @@ -1,38 +1,45 @@ -{ stdenv -, lib -, crystal -, pcre2 -, shards -, git -, pkg-config -, which -, linkFarm -, fetchgit -, fetchFromGitHub -, installShellFiles -, removeReferencesTo +{ + stdenv, + lib, + crystal, + pcre2, + shards, + git, + pkg-config, + which, + linkFarm, + fetchgit, + fetchFromGitHub, + installShellFiles, + removeReferencesTo, }: { # Some projects do not include a lock file, so you can pass one - lockFile ? null + lockFile ? null, # Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root -, shardsFile ? null + shardsFile ? null, # We support different builders. To make things more straight forward, make it # user selectable instead of trying to autodetect -, format ? "make" -, installManPages ? true + format ? "make", + installManPages ? true, # Specify binaries to build in the form { foo.src = "src/foo.cr"; } # The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; } -, crystalBinaries ? { } -, enableParallelBuilding ? true + crystalBinaries ? { }, + enableParallelBuilding ? true, # Copy all shards dependencies instead of symlinking and add write permissions # to make environment more local-like -, copyShardDeps ? false -, ... + copyShardDeps ? false, + ... }@args: -assert (builtins.elem format [ "make" "crystal" "shards" ]); +assert ( + builtins.elem format [ + "make" + "crystal" + "shards" + ] +); let mkDerivationArgs = builtins.removeAttrs args [ "format" @@ -42,127 +49,162 @@ let "crystalBinaries" ]; - crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList - (name: value: { + crystalLib = linkFarm "crystal-lib" ( + lib.mapAttrsToList (name: value: { inherit name; - path = - if (builtins.hasAttr "url" value) - then fetchgit value - else fetchFromGitHub value; - }) - (import shardsFile)); + path = if (builtins.hasAttr "url" value) then fetchgit value else fetchFromGitHub value; + }) (import shardsFile) + ); # We no longer use --no-debug in accordance with upstream's recommendation - defaultOptions = [ "--release" "--progress" "--verbose" ]; + defaultOptions = [ + "--release" + "--progress" + "--verbose" + ]; buildDirectly = shardsFile == null || crystalBinaries != { }; - mkCrystalBuildArgs = bin: attrs: - lib.concatStringsSep " " ([ - "crystal" - "build" - ] ++ lib.optionals enableParallelBuilding [ - "--threads" - "$NIX_BUILD_CORES" - ] ++ [ - "-o" - bin - (attrs.src or (throw "No source file for crystal binary ${bin} provided")) - (lib.concatStringsSep " " (attrs.options or defaultOptions)) - ]); - -in -stdenv.mkDerivation (mkDerivationArgs // { - - configurePhase = args.configurePhase or (lib.concatStringsSep "\n" ( + mkCrystalBuildArgs = + bin: attrs: + lib.concatStringsSep " " ( [ - "runHook preConfigure" + "crystal" + "build" ] - ++ lib.optional (lockFile != null) "cp ${lockFile} ./shard.lock" - ++ lib.optionals (shardsFile != null) [ - "test -e lib || mkdir lib" - (if copyShardDeps then "for d in ${crystalLib}/*; do cp -r $d/ lib/; done; chmod -R +w lib/" - else "for d in ${crystalLib}/*; do ln -s $d lib/; done") - "cp shard.lock lib/.shards.info" + ++ lib.optionals enableParallelBuilding [ + "--threads" + "$NIX_BUILD_CORES" + ] + ++ [ + "-o" + bin + (attrs.src or (throw "No source file for crystal binary ${bin} provided")) + (lib.concatStringsSep " " (attrs.options or defaultOptions)) + ] + ); + +in +stdenv.mkDerivation ( + mkDerivationArgs + // { + + configurePhase = + args.configurePhase or (lib.concatStringsSep "\n" ( + [ + "runHook preConfigure" + ] + ++ lib.optional (lockFile != null) "cp ${lockFile} ./shard.lock" + ++ lib.optionals (shardsFile != null) [ + "test -e lib || mkdir lib" + ( + if copyShardDeps then + "for d in ${crystalLib}/*; do cp -r $d/ lib/; done; chmod -R +w lib/" + else + "for d in ${crystalLib}/*; do ln -s $d lib/; done" + ) + "cp shard.lock lib/.shards.info" + ] + ++ [ "runHook postConfigure" ] + )); + + CRFLAGS = lib.concatStringsSep " " defaultOptions; + + PREFIX = placeholder "out"; + + inherit enableParallelBuilding; + strictDeps = true; + buildInputs = + args.buildInputs or [ ] + ++ [ crystal ] + ++ lib.optional (lib.versionAtLeast crystal.version "1.8") pcre2; + + nativeBuildInputs = + args.nativeBuildInputs or [ ] + ++ [ + crystal + git + installShellFiles + removeReferencesTo + pkg-config + which ] - ++ [ "runHook postConfigure" ] - )); - - CRFLAGS = lib.concatStringsSep " " defaultOptions; - - PREFIX = placeholder "out"; - - inherit enableParallelBuilding; - strictDeps = true; - buildInputs = args.buildInputs or [ ] ++ [ crystal ] - ++ lib.optional (lib.versionAtLeast crystal.version "1.8") pcre2; - - nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ - crystal - git - installShellFiles - removeReferencesTo - pkg-config - which - ] ++ lib.optional (format != "crystal") shards; - - buildPhase = args.buildPhase or (lib.concatStringsSep "\n" ([ - "runHook preBuild" - ] ++ lib.optional (format == "make") - "make \${buildTargets:-build} $makeFlags" - ++ lib.optionals (format == "crystal") (lib.mapAttrsToList mkCrystalBuildArgs crystalBinaries) - ++ lib.optional (format == "shards") - "shards build --local --production ${lib.concatStringsSep " " (args.options or defaultOptions)}" - ++ [ "runHook postBuild" ])); - - installPhase = args.installPhase or (lib.concatStringsSep "\n" ([ - "runHook preInstall" - ] ++ lib.optional (format == "make") - "make \${installTargets:-install} $installFlags" - ++ lib.optionals (format == "crystal") (map - (bin: '' - install -Dm555 ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]} - '') - (lib.attrNames crystalBinaries)) - ++ lib.optional (format == "shards") - "install -Dm555 bin/* -t $out/bin" - ++ [ - '' - for f in README* *.md LICENSE; do - test -f $f && install -Dm444 $f -t $out/share/doc/${args.pname} - done - '' - ] ++ (lib.optional installManPages '' - if [ -d man ]; then - installManPage man/*.? - fi - '') ++ [ - "remove-references-to -t ${lib.getLib crystal} $out/bin/*" - "runHook postInstall" - ])); - - doCheck = args.doCheck or true; - - checkPhase = args.checkPhase or (lib.concatStringsSep "\n" ([ - "runHook preCheck" - ] ++ lib.optional (format == "make") - "make \${checkTarget:-test} $checkFlags" - ++ lib.optional (format != "make") - "crystal \${checkTarget:-spec} $checkFlags" - ++ [ "runHook postCheck" ])); - - doInstallCheck = args.doInstallCheck or true; - - installCheckPhase = args.installCheckPhase or '' - for f in $out/bin/*; do - if [ $f == $out/bin/*.dwarf ]; then - continue - fi - $f --help > /dev/null - done - ''; - - meta = args.meta or { } // { - platforms = args.meta.platforms or crystal.meta.platforms; - }; -}) + ++ lib.optional (format != "crystal") shards; + + buildPhase = + args.buildPhase or (lib.concatStringsSep "\n" ( + [ + "runHook preBuild" + ] + ++ lib.optional (format == "make") "make \${buildTargets:-build} $makeFlags" + ++ lib.optionals (format == "crystal") (lib.mapAttrsToList mkCrystalBuildArgs crystalBinaries) + ++ + lib.optional (format == "shards") + "shards build --local --production ${lib.concatStringsSep " " (args.options or defaultOptions)}" + ++ [ "runHook postBuild" ] + )); + + installPhase = + args.installPhase or (lib.concatStringsSep "\n" ( + [ + "runHook preInstall" + ] + ++ lib.optional (format == "make") "make \${installTargets:-install} $installFlags" + ++ lib.optionals (format == "crystal") ( + map (bin: '' + install -Dm555 ${ + lib.escapeShellArgs [ + bin + "${placeholder "out"}/bin/${bin}" + ] + } + '') (lib.attrNames crystalBinaries) + ) + ++ lib.optional (format == "shards") "install -Dm555 bin/* -t $out/bin" + ++ [ + '' + for f in README* *.md LICENSE; do + test -f $f && install -Dm444 $f -t $out/share/doc/${args.pname} + done + '' + ] + ++ (lib.optional installManPages '' + if [ -d man ]; then + installManPage man/*.? + fi + '') + ++ [ + "remove-references-to -t ${lib.getLib crystal} $out/bin/*" + "runHook postInstall" + ] + )); + + doCheck = args.doCheck or true; + + checkPhase = + args.checkPhase or (lib.concatStringsSep "\n" ( + [ + "runHook preCheck" + ] + ++ lib.optional (format == "make") "make \${checkTarget:-test} $checkFlags" + ++ lib.optional (format != "make") "crystal \${checkTarget:-spec} $checkFlags" + ++ [ "runHook postCheck" ] + )); + + doInstallCheck = args.doInstallCheck or true; + + installCheckPhase = + args.installCheckPhase or '' + for f in $out/bin/*; do + if [ $f == $out/bin/*.dwarf ]; then + continue + fi + $f --help > /dev/null + done + ''; + + meta = args.meta or { } // { + platforms = args.meta.platforms or crystal.meta.platforms; + }; + } +) diff --git a/pkgs/development/compilers/dart/default.nix b/pkgs/development/compilers/dart/default.nix index d6d538d5c844c..a97cb6f9aa823 100644 --- a/pkgs/development/compilers/dart/default.nix +++ b/pkgs/development/compilers/dart/default.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchurl -, unzip -, runCommand -, cctools -, darwin -, sources ? import ./sources.nix {inherit fetchurl;} -, version ? sources.versionUsed +{ + stdenv, + lib, + fetchurl, + unzip, + runCommand, + cctools, + darwin, + sources ? import ./sources.nix { inherit fetchurl; }, + version ? sources.versionUsed, }: assert sources != null && (builtins.isAttrs sources); @@ -16,15 +17,19 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ unzip ]; - src = sources."${version}-${stdenv.hostPlatform.system}" or (throw "unsupported version/system: ${version}/${stdenv.hostPlatform.system}"); + src = + sources."${version}-${stdenv.hostPlatform.system}" + or (throw "unsupported version/system: ${version}/${stdenv.hostPlatform.system}"); - installPhase = '' - mkdir -p $out - cp -R * $out/ - echo $libPath - '' + lib.optionalString (stdenv.hostPlatform.isLinux) '' - find $out/bin -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; - ''; + installPhase = + '' + mkdir -p $out + cp -R * $out/ + echo $libPath + '' + + lib.optionalString (stdenv.hostPlatform.isLinux) '' + find $out/bin -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; + ''; libPath = lib.makeLibraryPath [ stdenv.cc.cc ]; dontStrip = true; @@ -40,18 +45,25 @@ stdenv.mkDerivation (finalAttrs: { touch $out ''; - testCompile = runCommand "dart-test-compile" { - nativeBuildInputs = [ finalAttrs.finalPackage ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools darwin.sigtool ]; - } '' - HELLO_MESSAGE="Hello, world!" - echo "void main() => print('$HELLO_MESSAGE');" > hello.dart - dart compile exe hello.dart - PROGRAM_OUT=$(./hello.exe) + testCompile = + runCommand "dart-test-compile" + { + nativeBuildInputs = + [ finalAttrs.finalPackage ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + darwin.sigtool + ]; + } + '' + HELLO_MESSAGE="Hello, world!" + echo "void main() => print('$HELLO_MESSAGE');" > hello.dart + dart compile exe hello.dart + PROGRAM_OUT=$(./hello.exe) - [[ "$PROGRAM_OUT" == "$HELLO_MESSAGE" ]] - touch $out - ''; + [[ "$PROGRAM_OUT" == "$HELLO_MESSAGE" ]] + touch $out + ''; }; }; @@ -65,7 +77,13 @@ stdenv.mkDerivation (finalAttrs: { mixins, abstract classes, reified generics, and optional typing. ''; mainProgram = "dart"; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.bsd3; }; diff --git a/pkgs/development/compilers/dart/package-source-builders/flutter-secure-storage-linux/default.nix b/pkgs/development/compilers/dart/package-source-builders/flutter-secure-storage-linux/default.nix index c111a73646569..d58226cbadcd5 100644 --- a/pkgs/development/compilers/dart/package-source-builders/flutter-secure-storage-linux/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/flutter-secure-storage-linux/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, libsecret -, jsoncpp +{ + stdenv, + libsecret, + jsoncpp, }: { version, src, ... }: @@ -10,7 +11,10 @@ stdenv.mkDerivation { inherit version src; inherit (src) passthru; - propagatedBuildInputs = [ libsecret jsoncpp ]; + propagatedBuildInputs = [ + libsecret + jsoncpp + ]; installPhase = '' runHook preInstall diff --git a/pkgs/development/compilers/dart/package-source-builders/handy-window/default.nix b/pkgs/development/compilers/dart/package-source-builders/handy-window/default.nix index bd43e0ed947f8..134a0ddad20c1 100644 --- a/pkgs/development/compilers/dart/package-source-builders/handy-window/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/handy-window/default.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, writeScript -, cairo -, fribidi +{ + stdenv, + lib, + writeScript, + cairo, + fribidi, }: { version, src, ... }: diff --git a/pkgs/development/compilers/dart/package-source-builders/matrix/default.nix b/pkgs/development/compilers/dart/package-source-builders/matrix/default.nix index 1e2c3fea80e70..fcf12a7110aba 100644 --- a/pkgs/development/compilers/dart/package-source-builders/matrix/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/matrix/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, writeScript -, openssl +{ + stdenv, + lib, + writeScript, + openssl, }: { version, src, ... }: diff --git a/pkgs/development/compilers/dart/package-source-builders/media_kit_libs_linux/default.nix b/pkgs/development/compilers/dart/package-source-builders/media_kit_libs_linux/default.nix index 92bfc7e7fa60b..60fe8cd5b4784 100644 --- a/pkgs/development/compilers/dart/package-source-builders/media_kit_libs_linux/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/media_kit_libs_linux/default.nix @@ -1,4 +1,5 @@ -{ stdenv +{ + stdenv, }: # Implementation notes @@ -9,7 +10,7 @@ # Direct link for the original CMakeLists.txt: https://raw.githubusercontent.com/media-kit/media-kit/main/libs/linux/media_kit_libs_linux/linux/CMakeLists.txt -{version, src, ...}: +{ version, src, ... }: stdenv.mkDerivation { pname = "media_kit_libs_linux"; diff --git a/pkgs/development/compilers/dart/package-source-builders/olm/default.nix b/pkgs/development/compilers/dart/package-source-builders/olm/default.nix index 8d715ff190fc4..069ee34648170 100644 --- a/pkgs/development/compilers/dart/package-source-builders/olm/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/olm/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, writeScript -, olm +{ + stdenv, + lib, + writeScript, + olm, }: { version, src, ... }: diff --git a/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix b/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix index 9810140339287..2d8bc799e6860 100644 --- a/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/sqlcipher_flutter_libs/default.nix @@ -1,20 +1,25 @@ -{ stdenv -, fetchurl -, lib +{ + stdenv, + fetchurl, + lib, }: { version, src, ... }: let - artifacts = lib.mapAttrs (version: sha512: - fetchurl { - url = "https://storage.googleapis.com/simon-public-euw3/assets/sqlcipher/${version}.c"; - inherit sha512; - }) - { - v4_5_7 = "11bb454d761b994f7e44f35dabd3fc8ac3b40499d6fdc29d58a38fb9b4dcdd6eb14ff3978ceb7c6f3bd5eee4a5abeec5f0453b944268f9aaf942b0366df1e73d"; - v4_5_6 = "939ae692239adc0581211a37ed9ffa8b37c8f771c830977ecb06dc6accc4c3db767ce6abeaf91133815e2ae837785affa92f4c95b2e68cb6d563bd761f3e0cb1"; - }; + artifacts = + lib.mapAttrs + ( + version: sha512: + fetchurl { + url = "https://storage.googleapis.com/simon-public-euw3/assets/sqlcipher/${version}.c"; + inherit sha512; + } + ) + { + v4_5_7 = "11bb454d761b994f7e44f35dabd3fc8ac3b40499d6fdc29d58a38fb9b4dcdd6eb14ff3978ceb7c6f3bd5eee4a5abeec5f0453b944268f9aaf942b0366df1e73d"; + v4_5_6 = "939ae692239adc0581211a37ed9ffa8b37c8f771c830977ecb06dc6accc4c3db767ce6abeaf91133815e2ae837785affa92f4c95b2e68cb6d563bd761f3e0cb1"; + }; in stdenv.mkDerivation rec { pname = "sqlcipher_flutter_libs"; diff --git a/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix b/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix index 579bc1732cc44..ff3ce563c45ab 100644 --- a/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/sqlite3/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, writeScript -, sqlite +{ + stdenv, + lib, + writeScript, + sqlite, }: { version, src, ... }: diff --git a/pkgs/development/compilers/dart/package-source-builders/system-tray/default.nix b/pkgs/development/compilers/dart/package-source-builders/system-tray/default.nix index 81dc88ab2f52f..48370fe50440a 100644 --- a/pkgs/development/compilers/dart/package-source-builders/system-tray/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/system-tray/default.nix @@ -1,5 +1,6 @@ -{ stdenv -, libayatana-appindicator +{ + stdenv, + libayatana-appindicator, }: { version, src, ... }: diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix index b2fc4fdc01eea..b9b5b5baf18af 100644 --- a/pkgs/development/compilers/dart/sources.nix +++ b/pkgs/development/compilers/dart/sources.nix @@ -1,5 +1,8 @@ -let version = "3.5.4"; in -{ fetchurl }: { +let + version = "3.5.4"; +in +{ fetchurl }: +{ versionUsed = version; "${version}-x86_64-darwin" = fetchurl { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip"; diff --git a/pkgs/development/compilers/djgpp/default.nix b/pkgs/development/compilers/djgpp/default.nix index f212e419840ea..9b901b9beecac 100644 --- a/pkgs/development/compilers/djgpp/default.nix +++ b/pkgs/development/compilers/djgpp/default.nix @@ -1,45 +1,51 @@ -{ bison -, buildPackages -, curl -, fetchFromGitHub -, fetchurl -, file -, flex -, targetArchitecture ? "i586" -, lib -, makeWrapper -, perl -, stdenv -, texinfo -, unzip -, which }: +{ + bison, + buildPackages, + curl, + fetchFromGitHub, + fetchurl, + file, + flex, + targetArchitecture ? "i586", + lib, + makeWrapper, + perl, + stdenv, + texinfo, + unzip, + which, +}: let s = import ./sources.nix { inherit fetchurl fetchFromGitHub; }; in -assert lib.elem targetArchitecture [ "i586" "i686" ]; +assert lib.elem targetArchitecture [ + "i586" + "i686" +]; stdenv.mkDerivation rec { pname = "djgpp"; version = s.gccVersion; src = s.src; - patchPhase = '' - runHook prePatch - for f in "build-djgpp.sh" "script/${version}" "setenv/copyfile.sh"; do - substituteInPlace "$f" --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env' - done - '' - # i686 patches from https://github.com/andrewwutw/build-djgpp/issues/45#issuecomment-1484010755 - # The build script unpacks some files so we can't patch ahead of time, instead patch the script - # to patch after it extracts + patchPhase = + '' + runHook prePatch + for f in "build-djgpp.sh" "script/${version}" "setenv/copyfile.sh"; do + substituteInPlace "$f" --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env' + done + '' + # i686 patches from https://github.com/andrewwutw/build-djgpp/issues/45#issuecomment-1484010755 + # The build script unpacks some files so we can't patch ahead of time, instead patch the script + # to patch after it extracts - + lib.optionalString (targetArchitecture == "i686") '' - sed -i 's/i586/i686/g' setenv/setenv script/${version} - sed -i '/Building DXE tools./a sed -i "s/i586/i686/g" src/makefile.def src/dxe/makefile.dxe' script/${version} - '' - + '' - runHook postPatch - ''; + + lib.optionalString (targetArchitecture == "i686") '' + sed -i 's/i586/i686/g' setenv/setenv script/${version} + sed -i '/Building DXE tools./a sed -i "s/i586/i686/g" src/makefile.def src/dxe/makefile.dxe' script/${version} + '' + + '' + runHook postPatch + ''; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/development/compilers/djgpp/sources.nix b/pkgs/development/compilers/djgpp/sources.nix index 8ae440409b26d..a17e34132506a 100644 --- a/pkgs/development/compilers/djgpp/sources.nix +++ b/pkgs/development/compilers/djgpp/sources.nix @@ -13,7 +13,8 @@ let djgppFtpMirror = "https://www.mirrorservice.org/sites/ftp.delorie.com/pub"; gnuFtpMirror = "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu"; in -{ fetchFromGitHub, fetchurl }: { +{ fetchFromGitHub, fetchurl }: +{ inherit gccVersion; src = fetchFromGitHub { diff --git a/pkgs/development/compilers/dotnet/8/bootstrap-sdk.nix b/pkgs/development/compilers/dotnet/8/bootstrap-sdk.nix index 5b4df9e7c494b..7a970cb4e5c84 100644 --- a/pkgs/development/compilers/dotnet/8/bootstrap-sdk.nix +++ b/pkgs/development/compilers/dotnet/8/bootstrap-sdk.nix @@ -1,174 +1,628 @@ -{ buildAspNetCore, buildNetRuntime, buildNetSdk, fetchNupkg }: +{ + buildAspNetCore, + buildNetRuntime, + buildNetSdk, + fetchNupkg, +}: # v8.0 (active) let commonPackages = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Ref"; version = "8.0.10"; hash = "sha512-jTH9mOX8W/5tZiOc2PUFxyePfG2PrkLbzfQc56BKUdPMz0HVnh4NI8XzzXXVb8xuBsi3vt99IKxAAJ7rjxvkoA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-wm6HQmklISelRc3fmi+wrOtsd0MOLZ+gmXUPBydF8pJuEeYatSSBMkcNOJqjGLdXuuMkM/Ub8T1qSNOUviutUg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Ref"; version = "8.0.10"; hash = "sha512-62Hc/ZoMyaMlUfO2WLhRIZYCbcfqo7ArXMIwevBwDf0wW+aceaSD11iS601gBcGwp/Q1Hz/ZCTUfeYvyYeSNoA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-6nQwLH8px/6F8XmHGicLZ6Bnx9clOmEbnXj6JLzKp6TkZCVdMlulIO8wVrsIfYn9UUgZ5M0FjEivcooilyvmdw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-v9n7AjgX/3+9siDoUnzaaOo4WiceOTu0P1DtD1WKD63g1HRB7X6SgjmEULG6wUhY73HuWu/mxGvRg/oMXyCCKw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-dQn8Z1iypqdntr/hfuuEt2qCdJZywJtociOEnl+jRp2wyEJcQNGBtNQfDT2LWqNj/tJjSY+a+ncuXT3UnnQvjQ=="; }) - (fetchNupkg { pname = "Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-cA9+iEQ0AikuCnRJ0ASaZbPPpVAINzbEbwR5I4fx2wrch2cdARdSwP3CQK1OAeR8IfA2EEm1jKpgT5fLJ7emHQ=="; }) - (fetchNupkg { pname = "Microsoft.NET.ILLink.Tasks"; version = "8.0.10"; hash = "sha512-N3VO3kok4zHBI6gQC0+x6e/36ebf6xa6dIEzxMnuF/GGEgjseDNBSRI6/Ta/ACRR2LzwDE1CcLp5leBzxMkyAw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "8.0.10"; + hash = "sha512-jTH9mOX8W/5tZiOc2PUFxyePfG2PrkLbzfQc56BKUdPMz0HVnh4NI8XzzXXVb8xuBsi3vt99IKxAAJ7rjxvkoA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-wm6HQmklISelRc3fmi+wrOtsd0MOLZ+gmXUPBydF8pJuEeYatSSBMkcNOJqjGLdXuuMkM/Ub8T1qSNOUviutUg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Ref"; + version = "8.0.10"; + hash = "sha512-62Hc/ZoMyaMlUfO2WLhRIZYCbcfqo7ArXMIwevBwDf0wW+aceaSD11iS601gBcGwp/Q1Hz/ZCTUfeYvyYeSNoA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-6nQwLH8px/6F8XmHGicLZ6Bnx9clOmEbnXj6JLzKp6TkZCVdMlulIO8wVrsIfYn9UUgZ5M0FjEivcooilyvmdw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-v9n7AjgX/3+9siDoUnzaaOo4WiceOTu0P1DtD1WKD63g1HRB7X6SgjmEULG6wUhY73HuWu/mxGvRg/oMXyCCKw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-dQn8Z1iypqdntr/hfuuEt2qCdJZywJtociOEnl+jRp2wyEJcQNGBtNQfDT2LWqNj/tJjSY+a+ncuXT3UnnQvjQ=="; + }) + (fetchNupkg { + pname = "Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-cA9+iEQ0AikuCnRJ0ASaZbPPpVAINzbEbwR5I4fx2wrch2cdARdSwP3CQK1OAeR8IfA2EEm1jKpgT5fLJ7emHQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "8.0.10"; + hash = "sha512-N3VO3kok4zHBI6gQC0+x6e/36ebf6xa6dIEzxMnuF/GGEgjseDNBSRI6/Ta/ACRR2LzwDE1CcLp5leBzxMkyAw=="; + }) ]; hostPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "8.0.10"; hash = "sha512-BtkyaCDhxkQs7ibV9jQlAhkjlxwOzBr03rdEfhihGgYthOiTwkoqqzeB7vxrvP+H/uJgwysggwzwSQpaNGlJlw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; + version = "8.0.10"; + hash = "sha512-BtkyaCDhxkQs7ibV9jQlAhkjlxwOzBr03rdEfhihGgYthOiTwkoqqzeB7vxrvP+H/uJgwysggwzwSQpaNGlJlw=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "8.0.10"; hash = "sha512-Jt7crQk/OPyv1hiNDqUHiSoqZnujYPBSbU8sZ1bYWRTtxzw7g6lv8SqdrYmUbAfsfleC0gC+tCi4By2VY0IWhA=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-MncgNrn5CKRG+3XKUXgoNl7dM+5RyxMp+rPD5AGBf/6o2KNLp6bdKLXGjuuDaVnbmkH8YKSJUc6lGpxuqOT4Yg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; + version = "8.0.10"; + hash = "sha512-Jt7crQk/OPyv1hiNDqUHiSoqZnujYPBSbU8sZ1bYWRTtxzw7g6lv8SqdrYmUbAfsfleC0gC+tCi4By2VY0IWhA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-MncgNrn5CKRG+3XKUXgoNl7dM+5RyxMp+rPD5AGBf/6o2KNLp6bdKLXGjuuDaVnbmkH8YKSJUc6lGpxuqOT4Yg=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "8.0.10"; hash = "sha512-l/BeXXBHSRwffmPVdY6ASNqL1Ny+WC8Ej+SQoEz3JVON9p4Ybl9xcVXx5UlMiEiwwVT+TnUH3mEjv9/cc+Qu4Q=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-sGuQ8KR1T/iSkmIiULw8qIhjh3jXdGtEfXQPFpV90k1mfXAtjg28mbmCZxx369QU9c4X805AftOHZwth6m810g=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; + version = "8.0.10"; + hash = "sha512-l/BeXXBHSRwffmPVdY6ASNqL1Ny+WC8Ej+SQoEz3JVON9p4Ybl9xcVXx5UlMiEiwwVT+TnUH3mEjv9/cc+Qu4Q=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-sGuQ8KR1T/iSkmIiULw8qIhjh3jXdGtEfXQPFpV90k1mfXAtjg28mbmCZxx369QU9c4X805AftOHZwth6m810g=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "8.0.10"; hash = "sha512-VeIp8DjQwmiW178AWs50+zRjFlh9PiVy5soW8tqapgGq7PiBxerD0si3xAnXugU7jHx0Ok8hNKPIa2AeaERWiw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; + version = "8.0.10"; + hash = "sha512-VeIp8DjQwmiW178AWs50+zRjFlh9PiVy5soW8tqapgGq7PiBxerD0si3xAnXugU7jHx0Ok8hNKPIa2AeaERWiw=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "8.0.10"; hash = "sha512-JNztsZCLyTsk8IIl9FGwHIXJOhFFa3OAWD6wQfGykGw8e18hnNrm8BZT/TkV+1npHkNRltsgC+pilCvGTFS0kw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-+z/hbOCAXri5KZHR/9r13ekpE5Yd3X0N/yIOK+ktBGXvWLdo4cZEnPL3tihsP4dAbUw6opzenRnFMu85FN7jwQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; + version = "8.0.10"; + hash = "sha512-JNztsZCLyTsk8IIl9FGwHIXJOhFFa3OAWD6wQfGykGw8e18hnNrm8BZT/TkV+1npHkNRltsgC+pilCvGTFS0kw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-+z/hbOCAXri5KZHR/9r13ekpE5Yd3X0N/yIOK+ktBGXvWLdo4cZEnPL3tihsP4dAbUw6opzenRnFMu85FN7jwQ=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "8.0.10"; hash = "sha512-f9fD4rStb9clC4Kdw2oBtCR8a6UKHrGQwexldthR9K56vUbJfytX3YYwMqfyLNhpTpDuFrKRQ8lmtudeReykvw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-RycMOl0s4egWecGU0EPcbtRrk1+rccsYFsELZQK0P+x5TGJC9aaBYf32E+hOz4RV0bFg0MGdrwTSIXig2xK65w=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; + version = "8.0.10"; + hash = "sha512-f9fD4rStb9clC4Kdw2oBtCR8a6UKHrGQwexldthR9K56vUbJfytX3YYwMqfyLNhpTpDuFrKRQ8lmtudeReykvw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-RycMOl0s4egWecGU0EPcbtRrk1+rccsYFsELZQK0P+x5TGJC9aaBYf32E+hOz4RV0bFg0MGdrwTSIXig2xK65w=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "8.0.10"; hash = "sha512-4pNmDP63npARYQmw+lIhDQOI99Euog/rynCfABdSCVj6vB1FP0puZuml+pwawbGnIoKd7ZgaBYf4bjfIj1RHPQ=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-ZNKweMNFH6zFDFs6Hc7cuu6FPDqI1eg9b6H2ztmpR7Sw5b1mp7pR0tEohWuT8fuFC6cSZpuxLwJ3LvG68fGrhw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; + version = "8.0.10"; + hash = "sha512-4pNmDP63npARYQmw+lIhDQOI99Euog/rynCfABdSCVj6vB1FP0puZuml+pwawbGnIoKd7ZgaBYf4bjfIj1RHPQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-ZNKweMNFH6zFDFs6Hc7cuu6FPDqI1eg9b6H2ztmpR7Sw5b1mp7pR0tEohWuT8fuFC6cSZpuxLwJ3LvG68fGrhw=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "8.0.10"; hash = "sha512-eGKkNO23lblqy1iU2tBS3RfOSY7C0+sgcxutwg9ewIs6ZnwkbR9Y4supxsWW4RJHkOFjs96az654VUlhd0gEOA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-KdCyl/S7WpbK4gw/E+Y32fvbrW0GnYm+gfWMqLvrVyS7tImpnyn3MXR6aI5KtQWSRSPieZ0agSSlb+lCmeq5Og=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; + version = "8.0.10"; + hash = "sha512-eGKkNO23lblqy1iU2tBS3RfOSY7C0+sgcxutwg9ewIs6ZnwkbR9Y4supxsWW4RJHkOFjs96az654VUlhd0gEOA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-KdCyl/S7WpbK4gw/E+Y32fvbrW0GnYm+gfWMqLvrVyS7tImpnyn3MXR6aI5KtQWSRSPieZ0agSSlb+lCmeq5Og=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; version = "8.0.10"; hash = "sha512-k1mXRb5ot1WesCpIbswWPJ93CyhGlrIr+AlVVnWnjuo2h1n5blsiUssuzlymZFHCJBsWlrEsIi+AF1QQwYMxzA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-AhBOcNnE54H0zeADnWjsQYnNmEGXO0uUeW3Tb/si2hH4FVsEEj45VcL72bkQwOkg/GvpC3QIhKbhJcpWvHPBAg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; + version = "8.0.10"; + hash = "sha512-k1mXRb5ot1WesCpIbswWPJ93CyhGlrIr+AlVVnWnjuo2h1n5blsiUssuzlymZFHCJBsWlrEsIi+AF1QQwYMxzA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-AhBOcNnE54H0zeADnWjsQYnNmEGXO0uUeW3Tb/si2hH4FVsEEj45VcL72bkQwOkg/GvpC3QIhKbhJcpWvHPBAg=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; version = "8.0.10"; hash = "sha512-piu7U8YtQkilUXLBckW6DK3V/WOYafIpcbuska49JEND7LOcJnwhHsurx/5E2mbYKNhw/4mSQ7mRg6gGg3cDkg=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.10"; hash = "sha512-sYBKVezo3wUeONOGX1gsLIcIbAS2gTGy1Qq5iNYhlCoBsFA0VGI5+vWOc3Y4XCoDAT/T3us23Sa1qaz0J1qkcQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; + version = "8.0.10"; + hash = "sha512-piu7U8YtQkilUXLBckW6DK3V/WOYafIpcbuska49JEND7LOcJnwhHsurx/5E2mbYKNhw/4mSQ7mRg6gGg3cDkg=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.10"; + hash = "sha512-sYBKVezo3wUeONOGX1gsLIcIbAS2gTGy1Qq5iNYhlCoBsFA0VGI5+vWOc3Y4XCoDAT/T3us23Sa1qaz0J1qkcQ=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; version = "8.0.10"; hash = "sha512-clDN1mYknwk1TDvCjCSw0MxF6TCXq37UNPfdwlIJ8IRballtIFNT8nAXE21a2uE+tyQvRRb2WmB1l8EK5Q0/OQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; + version = "8.0.10"; + hash = "sha512-clDN1mYknwk1TDvCjCSw0MxF6TCXq37UNPfdwlIJ8IRballtIFNT8nAXE21a2uE+tyQvRRb2WmB1l8EK5Q0/OQ=="; + }) ]; }; targetPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "8.0.10"; hash = "sha512-77QAZ3kJguh0yopM0rw9amHyGt5pC7fX4mS1A+U5h86xIFAqVO3EwIf/M6rewj0n2TYxjf26zm4dbdCnR9WOjw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "8.0.10"; hash = "sha512-DSJF9/jWOVIqnutDo8qHKjZS7zJA0z/ijonXqbYByMIPXR1IlLDw1imPafynCC0fOjBgR5y4R4/6xeY+lfC3Gw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "8.0.10"; hash = "sha512-+xARA3uXnKDW2XIArDA1qXNfYTGeV5bKtRPexvH1zU7sHS9+mt9IaQ6zPu96Z+gAhlmqEqcKozLMgVAJlpsFDg=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-jKI1C5RudJ7/WkxRkfF6NLRdFyQwc6OBpssmO6L3PLRRIWOiF9LZT8kIqAFlvEI4RnMWT7l3a18ZYGAbZWQo0w=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-nafxACk5Z3jdOB8CzxJF4PA65DPRdsjdpFghiTxSfRzAoPNk+WHe1YEV1lTC36O1HePQxy0p/Gv7S+xv+g/Rgg=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-zm8yoWBRxlUlLr/6e9rqJNWJCofDnv0/eAobltr/tSo8rjsZVPb9vzczdqCSPLELreqnhT6Z7wmdFpOAESQfxQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-fTMFwna/qdY28Pzg4YEGtTeduuOqzAhkEDOVOkh7sQe/VyO6E/TGIRXjenOMxZqACKGowe4lNlVwd5saBAMKfA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "8.0.10"; hash = "sha512-5dk1ER7hl9myUCaaKSGFODmsnM/XSr3Cyo13ti+yipttv/UDy5xand7/2vH+YLrasRo8lFkA269DKrRgaFUibw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; + version = "8.0.10"; + hash = "sha512-77QAZ3kJguh0yopM0rw9amHyGt5pC7fX4mS1A+U5h86xIFAqVO3EwIf/M6rewj0n2TYxjf26zm4dbdCnR9WOjw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm"; + version = "8.0.10"; + hash = "sha512-DSJF9/jWOVIqnutDo8qHKjZS7zJA0z/ijonXqbYByMIPXR1IlLDw1imPafynCC0fOjBgR5y4R4/6xeY+lfC3Gw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm"; + version = "8.0.10"; + hash = "sha512-+xARA3uXnKDW2XIArDA1qXNfYTGeV5bKtRPexvH1zU7sHS9+mt9IaQ6zPu96Z+gAhlmqEqcKozLMgVAJlpsFDg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-jKI1C5RudJ7/WkxRkfF6NLRdFyQwc6OBpssmO6L3PLRRIWOiF9LZT8kIqAFlvEI4RnMWT7l3a18ZYGAbZWQo0w=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-nafxACk5Z3jdOB8CzxJF4PA65DPRdsjdpFghiTxSfRzAoPNk+WHe1YEV1lTC36O1HePQxy0p/Gv7S+xv+g/Rgg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-zm8yoWBRxlUlLr/6e9rqJNWJCofDnv0/eAobltr/tSo8rjsZVPb9vzczdqCSPLELreqnhT6Z7wmdFpOAESQfxQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-fTMFwna/qdY28Pzg4YEGtTeduuOqzAhkEDOVOkh7sQe/VyO6E/TGIRXjenOMxZqACKGowe4lNlVwd5saBAMKfA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; + version = "8.0.10"; + hash = "sha512-5dk1ER7hl9myUCaaKSGFODmsnM/XSr3Cyo13ti+yipttv/UDy5xand7/2vH+YLrasRo8lFkA269DKrRgaFUibw=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "8.0.10"; hash = "sha512-gFxz2UvSnulSNGn/XlmCrDwY2jUkd7UtYV9vghVoaog3jCwjji4Kfd1YFTiLKYy+A5+sgIhBqala54lwo8sRKQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "8.0.10"; hash = "sha512-VEhpJyS8wwmP6rtuzobmU06QFzLyMcGfA5a9GbhC46fn84+z70nMBl15gvZPWMmcqB5VZei+DohpLlOnkX/JHg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "8.0.10"; hash = "sha512-y4+rLKkFKGFew6c5UIkXPeraVqhsnA2qNeEgEWnbYnPwLjAEORDw09peAjdxAwakHwlv/j12F7UdGs2tjCuayA=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-fC4zeYX85f4NvC8uns2wEpqU1FxuWpB3FZQySCnvy1PrrUeO5q1v82xAXYoS5PwyT+esJBOcn8zv4odLLDnOsw=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-HO31muFMnV7wl7wCJi+vIyWpDCZETjL0Nrkyq6AflGhb19jOCOUn/+lIkERWrvbpcMtnpxO+D1MvGg72VWxVeA=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-dEFPSx0rf3e1cb7FQnpczaWQdtY2MZ3so4p3PDXq+c6nJoHzQ5Go9PiDTfJInErvuHndCkgnDGPtEOXWPZXjhA=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-qJTYIaLNTVDzJDH6MuRJcF28TEiid4YGSCd7E9tLxhWtafn0N3SBOxvPkG43X8U/VAqRlnef2IZwacIBjM89cg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "8.0.10"; hash = "sha512-f1GHDkwqIUdn6QmM/daaVG7L6/LLT/kKT9TlIn4SkspwbAbhCdoMSIuii9fT6rhpKvSgM0/N1cej5p457knIjg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "8.0.10"; + hash = "sha512-gFxz2UvSnulSNGn/XlmCrDwY2jUkd7UtYV9vghVoaog3jCwjji4Kfd1YFTiLKYy+A5+sgIhBqala54lwo8sRKQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "8.0.10"; + hash = "sha512-VEhpJyS8wwmP6rtuzobmU06QFzLyMcGfA5a9GbhC46fn84+z70nMBl15gvZPWMmcqB5VZei+DohpLlOnkX/JHg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "8.0.10"; + hash = "sha512-y4+rLKkFKGFew6c5UIkXPeraVqhsnA2qNeEgEWnbYnPwLjAEORDw09peAjdxAwakHwlv/j12F7UdGs2tjCuayA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-fC4zeYX85f4NvC8uns2wEpqU1FxuWpB3FZQySCnvy1PrrUeO5q1v82xAXYoS5PwyT+esJBOcn8zv4odLLDnOsw=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-HO31muFMnV7wl7wCJi+vIyWpDCZETjL0Nrkyq6AflGhb19jOCOUn/+lIkERWrvbpcMtnpxO+D1MvGg72VWxVeA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-dEFPSx0rf3e1cb7FQnpczaWQdtY2MZ3so4p3PDXq+c6nJoHzQ5Go9PiDTfJInErvuHndCkgnDGPtEOXWPZXjhA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-qJTYIaLNTVDzJDH6MuRJcF28TEiid4YGSCd7E9tLxhWtafn0N3SBOxvPkG43X8U/VAqRlnef2IZwacIBjM89cg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; + version = "8.0.10"; + hash = "sha512-f1GHDkwqIUdn6QmM/daaVG7L6/LLT/kKT9TlIn4SkspwbAbhCdoMSIuii9fT6rhpKvSgM0/N1cej5p457knIjg=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "8.0.10"; hash = "sha512-FBW0xpiJK6Fwb6qlxNEYaMJ2klUNGCDihrW7pjr4Ly/vZLCWbN3+fvOBhr744KBFkMwzcWY+RVzlPxxKPx+H+A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "8.0.10"; hash = "sha512-m5RTYSvHMDhhekHIBOpE+ydjVh+yYZ2TCSFNXTSDHf/E/jntSL3ICXO4SU9t4iBNU/KH1hxOaZ4sEA0NBVHg4Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "8.0.10"; hash = "sha512-uh3DqyNvqgqSYYGQsZ9msABaT6DfWyxWVbXoo1aJx5+Aoph2HMd4hASlVwFK8kV7Hfxw274MOuj9X6rd6wLS3g=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-J20ErWVUMXDz6bQIkyrmKbGLcTpvgVTwxm0Ps7iFkK7LaAQL8ZWYkDzubuRu0VXRcfcnmHlxB3ccCPuUBulKWw=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-+7RMvtudiKm56zOQ21SqpdT3kX51BC7a+wOaK6weEtQEbLHFZO+G054gneIjc0o4roUkYdqdq/etuM7Bkob+OQ=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-nn4uNK3/AZQ74RImi9vUF92sm4zFxkgH6bSNioaZ0v1z2BG4ZUZPazGAO7+mvi3CzBqblwy/+6T/IaBcPslQFg=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-k3DgtNRobU6eWPriLb/jLm3dknw3HZHRh6lXLIAiquV12FdOhUfvGJG68r3YVo2tb4dOCUFKfBLElyeTho+RLQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "8.0.10"; hash = "sha512-QWgbs/CSdrSsncROqEtmkdiXBE5xLkCoF766Qv/SN9egO9TBiQ4LfMaVsoqpMPrzuUdNQ4oL0JEqz1Zi48oqYw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "8.0.10"; + hash = "sha512-FBW0xpiJK6Fwb6qlxNEYaMJ2klUNGCDihrW7pjr4Ly/vZLCWbN3+fvOBhr744KBFkMwzcWY+RVzlPxxKPx+H+A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "8.0.10"; + hash = "sha512-m5RTYSvHMDhhekHIBOpE+ydjVh+yYZ2TCSFNXTSDHf/E/jntSL3ICXO4SU9t4iBNU/KH1hxOaZ4sEA0NBVHg4Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "8.0.10"; + hash = "sha512-uh3DqyNvqgqSYYGQsZ9msABaT6DfWyxWVbXoo1aJx5+Aoph2HMd4hASlVwFK8kV7Hfxw274MOuj9X6rd6wLS3g=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-J20ErWVUMXDz6bQIkyrmKbGLcTpvgVTwxm0Ps7iFkK7LaAQL8ZWYkDzubuRu0VXRcfcnmHlxB3ccCPuUBulKWw=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-+7RMvtudiKm56zOQ21SqpdT3kX51BC7a+wOaK6weEtQEbLHFZO+G054gneIjc0o4roUkYdqdq/etuM7Bkob+OQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-nn4uNK3/AZQ74RImi9vUF92sm4zFxkgH6bSNioaZ0v1z2BG4ZUZPazGAO7+mvi3CzBqblwy/+6T/IaBcPslQFg=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-k3DgtNRobU6eWPriLb/jLm3dknw3HZHRh6lXLIAiquV12FdOhUfvGJG68r3YVo2tb4dOCUFKfBLElyeTho+RLQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; + version = "8.0.10"; + hash = "sha512-QWgbs/CSdrSsncROqEtmkdiXBE5xLkCoF766Qv/SN9egO9TBiQ4LfMaVsoqpMPrzuUdNQ4oL0JEqz1Zi48oqYw=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "8.0.10"; hash = "sha512-2uLQry2nFKlbvUp6F2WQkB03xdFE3dto/Qc/jifCS3RnBT8/Qp6xNvdlRypjlqfyKIiia6ry0ymLhGRfa3qUOQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "8.0.10"; hash = "sha512-UukhmPFuE7OSVQ+pLHZKFE5LDPUWnXMpbi3RZXebCU7xvQMUvV2px+qNkprefvFxZqq/8akyqZnNawhR2y80Sw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "8.0.10"; hash = "sha512-Oim+j+EbgEgFeOxyEZp6QlLGeVzr8Yn/hXM5Xcx/xR3fj8FrMzQlHTRYVrxuiYCqhieZap6MDBSPS6Rj9O6OGA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-h8FumxGXn+dVTj/uj++rAcp/qfmxHAL6doMtFnw+0KYYt+tbsGVdoeSBu2XkZOA9IfJrHzgDft55uTBstrjttQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-ttV8As1u0LjTs82nFDIclwpzV9M4MN59PKvSHEZ9PSmxOLXISK1Yu6pPUGn1T5zEud5oSTBZ1pwfhyeKuIxDrw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-JjoooPntqOXl6Sl4/3Vx1MtLJSsqeDqOvMXomX5qF11W8D81lk0VgJYy7OyOPhIUbsl3GIKLthrVGHcT8NnL1Q=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-WMPivnrgK8ebUiDo5kreJmZifJs32mC1w/gm5uH/1wA+N4sfBHP/5uiLKYjuLCUHWSOUDVFcnTs8SUyOVnFpCA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; + version = "8.0.10"; + hash = "sha512-2uLQry2nFKlbvUp6F2WQkB03xdFE3dto/Qc/jifCS3RnBT8/Qp6xNvdlRypjlqfyKIiia6ry0ymLhGRfa3qUOQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; + version = "8.0.10"; + hash = "sha512-UukhmPFuE7OSVQ+pLHZKFE5LDPUWnXMpbi3RZXebCU7xvQMUvV2px+qNkprefvFxZqq/8akyqZnNawhR2y80Sw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; + version = "8.0.10"; + hash = "sha512-Oim+j+EbgEgFeOxyEZp6QlLGeVzr8Yn/hXM5Xcx/xR3fj8FrMzQlHTRYVrxuiYCqhieZap6MDBSPS6Rj9O6OGA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-h8FumxGXn+dVTj/uj++rAcp/qfmxHAL6doMtFnw+0KYYt+tbsGVdoeSBu2XkZOA9IfJrHzgDft55uTBstrjttQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-ttV8As1u0LjTs82nFDIclwpzV9M4MN59PKvSHEZ9PSmxOLXISK1Yu6pPUGn1T5zEud5oSTBZ1pwfhyeKuIxDrw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-JjoooPntqOXl6Sl4/3Vx1MtLJSsqeDqOvMXomX5qF11W8D81lk0VgJYy7OyOPhIUbsl3GIKLthrVGHcT8NnL1Q=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-WMPivnrgK8ebUiDo5kreJmZifJs32mC1w/gm5uH/1wA+N4sfBHP/5uiLKYjuLCUHWSOUDVFcnTs8SUyOVnFpCA=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "8.0.10"; hash = "sha512-fzenqK18er5hw7LvJZOyoDwYbRod1v0b69czJcoGA/6REoqumLnXDgl+4glhg4aFgyam1UZeSGhuz/i+Sm4Dug=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "8.0.10"; hash = "sha512-4yUt757dCovjB9pWFOJLCSy13j8+X0nWLHbIWXIBZr3rFViTDmb1/Ee5Rmojgp47voK2BvRkDsauR79MCDXJSQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "8.0.10"; hash = "sha512-v+y1PesLbNKveNdln9wbtzXEH//rlpPTTmISuoHBJSTEvqvkQYcPAHA75FA3ZJfAHoerAZ0MilhJMQCyFyq5Vw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-v+vutaIctLzqgAslzdnF0jvajbHfCAtLwm/gKWNFP7iuSHiokMwiasxTKpiw/uBv+VUdNGmKOgViIAzYqAmCJA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-Thf8u0x5rRf+/1IRBo8HZUVLgHMN5mY97dB0x3DNeHcbWs4MM/S+1BvF7zzNueP1s2+fKci5pKNSM/PszrxS3Q=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-/FOMmkX2AagTyyP+pT3gn8LvWxvlg7pKI+kG4PvUJNbUtyB9bbkt16AmtjZUjMKcn1WVA/IhYM52cXnJbI7gsA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-5ReoWUX4NhoT/fLcdxncsFucSrAf9qml43Xmh8qOYzpj/cXqX8Jp8vmcXuyXW5SRL5IeaxROA1pekkmy1dRt0w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; + version = "8.0.10"; + hash = "sha512-fzenqK18er5hw7LvJZOyoDwYbRod1v0b69czJcoGA/6REoqumLnXDgl+4glhg4aFgyam1UZeSGhuz/i+Sm4Dug=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; + version = "8.0.10"; + hash = "sha512-4yUt757dCovjB9pWFOJLCSy13j8+X0nWLHbIWXIBZr3rFViTDmb1/Ee5Rmojgp47voK2BvRkDsauR79MCDXJSQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; + version = "8.0.10"; + hash = "sha512-v+y1PesLbNKveNdln9wbtzXEH//rlpPTTmISuoHBJSTEvqvkQYcPAHA75FA3ZJfAHoerAZ0MilhJMQCyFyq5Vw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-v+vutaIctLzqgAslzdnF0jvajbHfCAtLwm/gKWNFP7iuSHiokMwiasxTKpiw/uBv+VUdNGmKOgViIAzYqAmCJA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-Thf8u0x5rRf+/1IRBo8HZUVLgHMN5mY97dB0x3DNeHcbWs4MM/S+1BvF7zzNueP1s2+fKci5pKNSM/PszrxS3Q=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-/FOMmkX2AagTyyP+pT3gn8LvWxvlg7pKI+kG4PvUJNbUtyB9bbkt16AmtjZUjMKcn1WVA/IhYM52cXnJbI7gsA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-5ReoWUX4NhoT/fLcdxncsFucSrAf9qml43Xmh8qOYzpj/cXqX8Jp8vmcXuyXW5SRL5IeaxROA1pekkmy1dRt0w=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "8.0.10"; hash = "sha512-E5qJsr0MBnG2omiOk5GmeBBCRCized/HmpmSIAC3SGztKuz6eMSbOUcuk35kD2iH+ZVPmaRXDKClE1Qj4WMCrg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "8.0.10"; hash = "sha512-sNHnfGMGDqK6dtlnronOc2D2OteJpnTC+An+9LJy7tzNSH1IiRfD5PX0OY5DAmbpglAQ5dbIbp86M/42SVq8eQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "8.0.10"; hash = "sha512-Yb1UypJH+Vvhnlkybw1gzS4WS9tAWxQ/psn/MnRb3qf0KjQARVEYauHz3rmu3/DKS1y5LZvAcm19ek995qFoGw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-JbuWO4IcmZM3zAYbx31XOdaJkf86tD+HbgwotStsfnc67XpWywjJpIgRvTFEVA1D/qZJ7E8fxjwdKXpm3b0Gsw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-OGjSti6J8Yu+DPOeiFrzTH9yFf+W9V10gbFVExSN3YwXK+TLbx6BDqqoQXtkClPtFHVqI95dDcpOnRBfaLsTxw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-bzc9oXoUm+LJUTaU7KhPJn1mOG2diT0Tj1u+lY1P26jJmW14N5gTj7q5wyv/JQ8XkYuPnbakMyqX634+Ewqc7w=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-UkDXcCKtEP+85Px6PqnaAWBof0NmrMj+r5TntwdfCvyipcf0xQAWT6ykYzy1YXiIJB/Xdp+8W0WVPKiTcgpVfQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "8.0.10"; hash = "sha512-OgApkkQ0tw49zUlL1Zn0W5T4OmlZwXV33vtRIx48D3mjezPhYczFX2Dj8W6OCLeu3kkryKSPFb4GaMTRN1BHRQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; + version = "8.0.10"; + hash = "sha512-E5qJsr0MBnG2omiOk5GmeBBCRCized/HmpmSIAC3SGztKuz6eMSbOUcuk35kD2iH+ZVPmaRXDKClE1Qj4WMCrg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; + version = "8.0.10"; + hash = "sha512-sNHnfGMGDqK6dtlnronOc2D2OteJpnTC+An+9LJy7tzNSH1IiRfD5PX0OY5DAmbpglAQ5dbIbp86M/42SVq8eQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; + version = "8.0.10"; + hash = "sha512-Yb1UypJH+Vvhnlkybw1gzS4WS9tAWxQ/psn/MnRb3qf0KjQARVEYauHz3rmu3/DKS1y5LZvAcm19ek995qFoGw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-JbuWO4IcmZM3zAYbx31XOdaJkf86tD+HbgwotStsfnc67XpWywjJpIgRvTFEVA1D/qZJ7E8fxjwdKXpm3b0Gsw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-OGjSti6J8Yu+DPOeiFrzTH9yFf+W9V10gbFVExSN3YwXK+TLbx6BDqqoQXtkClPtFHVqI95dDcpOnRBfaLsTxw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-bzc9oXoUm+LJUTaU7KhPJn1mOG2diT0Tj1u+lY1P26jJmW14N5gTj7q5wyv/JQ8XkYuPnbakMyqX634+Ewqc7w=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-UkDXcCKtEP+85Px6PqnaAWBof0NmrMj+r5TntwdfCvyipcf0xQAWT6ykYzy1YXiIJB/Xdp+8W0WVPKiTcgpVfQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; + version = "8.0.10"; + hash = "sha512-OgApkkQ0tw49zUlL1Zn0W5T4OmlZwXV33vtRIx48D3mjezPhYczFX2Dj8W6OCLeu3kkryKSPFb4GaMTRN1BHRQ=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "8.0.10"; hash = "sha512-KmQrSBWHmNOd0xDMsM0oDKhT5zJ5gNJDDjV5F+S+FFTmImGI1O8PkXuHwJ4N7ff9553e0c1kIwiwt5dfS9R1yQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "8.0.10"; hash = "sha512-ZPrFs66uEZbdHkaAbv2ODqjuLROFtCEGnu0AmbCCvNfPh9dI35ywmDboEKE4urYeMqdi+EAPq2VjpG0N3PMy3A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "8.0.10"; hash = "sha512-0QqgTnNYbvhM5g/aMTh1epbCexRZdzQyQwmgfGJcWiqddsQ9yUfuo9dKE6jSZO4Cia5jbUDJYsZmvicblGzukg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-F6vhh3lgBpYEEGVz4Ob0751nXU1XJdJcZQYldOk1rfteUGD5vwjLRlUz/FNF998TrLslNAef8QfGRcwK4yDbgg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-GM7wSReWJRO9UllnTFdm4iFOJ8S6gLKD1/HeCQQScF/XfpZuvmU+V3nbxPoeOi3o6ror6UDgAoLzpZawawi0NQ=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-DgMv3ag+oB3rLUs2/9zu6Abpv/KvZCfNRbWNtefs8zjEEDT4NVD85dDNfXulmG5ZNKymYh/oE4SK/u+5eTBGMw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-3N45wLtwOancsvOEeku4zntYb5Atmp3+t/E2u08mkVzJ4M+kfB5t4NHlx2myd79Ur/xfNjtTUb8f9S3pNBtRRg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "8.0.10"; hash = "sha512-ctCNTU+ne/ll5/U00OXHcnsn3pnaPduJ1QR4ulihU9Jz5LzURFsOU1DyoBaRlhkpmCAjkel7boRt9wXLZkxRog=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; + version = "8.0.10"; + hash = "sha512-KmQrSBWHmNOd0xDMsM0oDKhT5zJ5gNJDDjV5F+S+FFTmImGI1O8PkXuHwJ4N7ff9553e0c1kIwiwt5dfS9R1yQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-arm64"; + version = "8.0.10"; + hash = "sha512-ZPrFs66uEZbdHkaAbv2ODqjuLROFtCEGnu0AmbCCvNfPh9dI35ywmDboEKE4urYeMqdi+EAPq2VjpG0N3PMy3A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; + version = "8.0.10"; + hash = "sha512-0QqgTnNYbvhM5g/aMTh1epbCexRZdzQyQwmgfGJcWiqddsQ9yUfuo9dKE6jSZO4Cia5jbUDJYsZmvicblGzukg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-F6vhh3lgBpYEEGVz4Ob0751nXU1XJdJcZQYldOk1rfteUGD5vwjLRlUz/FNF998TrLslNAef8QfGRcwK4yDbgg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-GM7wSReWJRO9UllnTFdm4iFOJ8S6gLKD1/HeCQQScF/XfpZuvmU+V3nbxPoeOi3o6ror6UDgAoLzpZawawi0NQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-DgMv3ag+oB3rLUs2/9zu6Abpv/KvZCfNRbWNtefs8zjEEDT4NVD85dDNfXulmG5ZNKymYh/oE4SK/u+5eTBGMw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-3N45wLtwOancsvOEeku4zntYb5Atmp3+t/E2u08mkVzJ4M+kfB5t4NHlx2myd79Ur/xfNjtTUb8f9S3pNBtRRg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; + version = "8.0.10"; + hash = "sha512-ctCNTU+ne/ll5/U00OXHcnsn3pnaPduJ1QR4ulihU9Jz5LzURFsOU1DyoBaRlhkpmCAjkel7boRt9wXLZkxRog=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "8.0.10"; hash = "sha512-LtLLJ5VE1kal9aZjf8WT8ZEnpJHHCt2wgYlcIGIiFg48MhKjS8NRgZnfLuZilk6u8lQ6vJVB3FwD+fL1wS2clQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "8.0.10"; hash = "sha512-ge/ZgANVduHB/8zdvHYmzv13y7OzkVEGmdABYC9NamGnNGNYvBhfQT2a1GX0pDzu2w5OmRJBLH3DBQFctOPABw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "8.0.10"; hash = "sha512-2x7tsitjwPXMZ5xQgme+CX8x/kpfS+P1t9nXFFl8CL/pVWE0Fj7ChZ4dwkSPFA/zky+3oNftJ7SdFjs6yzP6rw=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-reEJfxHqrChAilKFnbuxd7kH8iiLndgSsMuHq/NCB1RSuxRnG35WMv4SHO1gXbPcjJRez5wSVfdGDyj2dBioCg=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-dDyiYntefAD7AMq2ZCRRJbFwiPN8OdQ4jfPCe2GBnFKBIGnWhR4Hx8BHTNwuoLvqLL09JJ+lae9uDAGk/5+M3A=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-Zudv1u+dN0JadwODnB6MrdyOnBiog+IHnIEWvUanhgv4mfVTwNvZib8pSf16LIn20HHVC6tJNPu6YpWXWYehIA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-9Y1TCB2W7h/2GYoxI0C9SU09VBcjijiUyWA+Dwi1Kw9CvWfqruwPI5qhbFBdWifKTyOmMUqoLnYQEfftp+JIaQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "8.0.10"; hash = "sha512-rSStQsUWxolcgt/P7rMj+WtUWImPMHbknL017a7Tda84khR2mibZkOYR9uF44xO7j7uoLKwWVSHrriS0yC/CGA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "8.0.10"; + hash = "sha512-LtLLJ5VE1kal9aZjf8WT8ZEnpJHHCt2wgYlcIGIiFg48MhKjS8NRgZnfLuZilk6u8lQ6vJVB3FwD+fL1wS2clQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "8.0.10"; + hash = "sha512-ge/ZgANVduHB/8zdvHYmzv13y7OzkVEGmdABYC9NamGnNGNYvBhfQT2a1GX0pDzu2w5OmRJBLH3DBQFctOPABw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "8.0.10"; + hash = "sha512-2x7tsitjwPXMZ5xQgme+CX8x/kpfS+P1t9nXFFl8CL/pVWE0Fj7ChZ4dwkSPFA/zky+3oNftJ7SdFjs6yzP6rw=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-reEJfxHqrChAilKFnbuxd7kH8iiLndgSsMuHq/NCB1RSuxRnG35WMv4SHO1gXbPcjJRez5wSVfdGDyj2dBioCg=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-dDyiYntefAD7AMq2ZCRRJbFwiPN8OdQ4jfPCe2GBnFKBIGnWhR4Hx8BHTNwuoLvqLL09JJ+lae9uDAGk/5+M3A=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-Zudv1u+dN0JadwODnB6MrdyOnBiog+IHnIEWvUanhgv4mfVTwNvZib8pSf16LIn20HHVC6tJNPu6YpWXWYehIA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-9Y1TCB2W7h/2GYoxI0C9SU09VBcjijiUyWA+Dwi1Kw9CvWfqruwPI5qhbFBdWifKTyOmMUqoLnYQEfftp+JIaQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; + version = "8.0.10"; + hash = "sha512-rSStQsUWxolcgt/P7rMj+WtUWImPMHbknL017a7Tda84khR2mibZkOYR9uF44xO7j7uoLKwWVSHrriS0yC/CGA=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "8.0.10"; hash = "sha512-OgL6i82BRwnTG5kaUOdx1waAjw0rVL1/KqHldtRfsgo6+gsyAC2sCA8WXbXAJg/eq9/wW6IjV0a6qdfMobpk1w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "8.0.10"; hash = "sha512-5ugZdamA3a1q5PxWouxCTgZt0v5faqXzpSXFJWU+yNjT7RsRmDjKrYMg2/IYIPSJoadB+DVk4gizIlApkDrIMw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "8.0.10"; hash = "sha512-KGRJ/C2p81Q9NlUHIP98NcYUT0hxrckxWZoE8cJzp9dNPWaMfAO7OemuPBU1HsnBNEDrFRvbI2T6chw0gBRIqQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-OFP6LhDSxCwQZtkPtQpAg1kZO5tyrrw+eNziRR2hQntADHk2euR5trvSKR37Ah5fLU/hWbBDxa5nlYF5BiKbMA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-D3hpY5NnpvIg4fNVKcJYYUwxfaFY8AHTvYzwT0D0tb0qcXKIMsJEm7lRM2vsENuhHn02tWTvsyRuo5h9XmmG/g=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-pMagTteRJ2XwPeJnonPRvA5A4v3f4F+X1iu08RxPwTXVDsS4xemkm1LfZgiyPADIrAsY6DBFLXvK5fZ0uaBigA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-fprLJDM1dWKqI3n2DjCVSY8l7zBngdjnLid8HZxdHn1Hr9m57k4wcbFc/otHfnTHcYF0MXPrC6VO4CgRYFtIkA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; + version = "8.0.10"; + hash = "sha512-OgL6i82BRwnTG5kaUOdx1waAjw0rVL1/KqHldtRfsgo6+gsyAC2sCA8WXbXAJg/eq9/wW6IjV0a6qdfMobpk1w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-arm64"; + version = "8.0.10"; + hash = "sha512-5ugZdamA3a1q5PxWouxCTgZt0v5faqXzpSXFJWU+yNjT7RsRmDjKrYMg2/IYIPSJoadB+DVk4gizIlApkDrIMw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-arm64"; + version = "8.0.10"; + hash = "sha512-KGRJ/C2p81Q9NlUHIP98NcYUT0hxrckxWZoE8cJzp9dNPWaMfAO7OemuPBU1HsnBNEDrFRvbI2T6chw0gBRIqQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-OFP6LhDSxCwQZtkPtQpAg1kZO5tyrrw+eNziRR2hQntADHk2euR5trvSKR37Ah5fLU/hWbBDxa5nlYF5BiKbMA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-D3hpY5NnpvIg4fNVKcJYYUwxfaFY8AHTvYzwT0D0tb0qcXKIMsJEm7lRM2vsENuhHn02tWTvsyRuo5h9XmmG/g=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-pMagTteRJ2XwPeJnonPRvA5A4v3f4F+X1iu08RxPwTXVDsS4xemkm1LfZgiyPADIrAsY6DBFLXvK5fZ0uaBigA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-fprLJDM1dWKqI3n2DjCVSY8l7zBngdjnLid8HZxdHn1Hr9m57k4wcbFc/otHfnTHcYF0MXPrC6VO4CgRYFtIkA=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "8.0.10"; hash = "sha512-aBIdHUFn4vBEIN/v9+8ix+C/7Ljrb9zgFp6naPO37XlvGTuOgYm4tc2hfs1wbjc3VxaC2Gzc2smzUwahicAM6A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "8.0.10"; hash = "sha512-auvgyTucWFrK3TZnC6T4RfCLfePpms/UOnJks1b8hErIVOHlfTHZmsLMECKJKl3wVeFrEYfVDbzE9Ac8PDeFgw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "8.0.10"; hash = "sha512-8B6BJexY8yGK9sB6/tKWoGfqCIdOJ2NtnaoHFKB4j07VHSaNYaHrzh5HEynC4pFF6kbMsyJqs9sU9T/YGZRigw=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-ltjs90IokeIj6/Y8SdJ+IUXPYBJiruJDxYvnayPJKtDVdDUGRQNfpI9YFflgSWkoztqPN5H2OELUAiowOdxOhw=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-a1jTRbxRVMMxi0wsqlnMLEoWYm0p1T04atL0QeMe+VS78G959Thde1GckB7e6aX4tv291/br62ELG7O0yUXR4w=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-VY6rMwR9QzRKhuUVBCFSVwPBPIqH20C+F4W2R6KP0GajGfu6h1/AdtnJS0op+76fIg0qia8JFuW6DUhc3UmSLQ=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-yWJ8LOGQ1/pKyT/qHjGkU+RuWmCy9OsUe/ANtHA5kTHmY4g4RNwP8+eDW1K3+g5BESfaENlJiNiTnWwTn2CFQQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "8.0.10"; hash = "sha512-qrxC9S51t2w84jLBttmTmLmS1KjHscP31REqw8I117VnX/R7861Aabj7gg0cVz6YiGaeBqgzuUt/yBiHu18xeQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "8.0.10"; + hash = "sha512-aBIdHUFn4vBEIN/v9+8ix+C/7Ljrb9zgFp6naPO37XlvGTuOgYm4tc2hfs1wbjc3VxaC2Gzc2smzUwahicAM6A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x64"; + version = "8.0.10"; + hash = "sha512-auvgyTucWFrK3TZnC6T4RfCLfePpms/UOnJks1b8hErIVOHlfTHZmsLMECKJKl3wVeFrEYfVDbzE9Ac8PDeFgw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "8.0.10"; + hash = "sha512-8B6BJexY8yGK9sB6/tKWoGfqCIdOJ2NtnaoHFKB4j07VHSaNYaHrzh5HEynC4pFF6kbMsyJqs9sU9T/YGZRigw=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-ltjs90IokeIj6/Y8SdJ+IUXPYBJiruJDxYvnayPJKtDVdDUGRQNfpI9YFflgSWkoztqPN5H2OELUAiowOdxOhw=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-a1jTRbxRVMMxi0wsqlnMLEoWYm0p1T04atL0QeMe+VS78G959Thde1GckB7e6aX4tv291/br62ELG7O0yUXR4w=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-VY6rMwR9QzRKhuUVBCFSVwPBPIqH20C+F4W2R6KP0GajGfu6h1/AdtnJS0op+76fIg0qia8JFuW6DUhc3UmSLQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-yWJ8LOGQ1/pKyT/qHjGkU+RuWmCy9OsUe/ANtHA5kTHmY4g4RNwP8+eDW1K3+g5BESfaENlJiNiTnWwTn2CFQQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; + version = "8.0.10"; + hash = "sha512-qrxC9S51t2w84jLBttmTmLmS1KjHscP31REqw8I117VnX/R7861Aabj7gg0cVz6YiGaeBqgzuUt/yBiHu18xeQ=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "8.0.10"; hash = "sha512-NGl4nsuWJgLBQobSkbOxJgkT04uyetP/Kv8JXz7qN6MV0q+MjyhYQY29H8ODQgSMi4viOBL9KHbrTc6K+oSD7w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "8.0.10"; hash = "sha512-Fdc4ceK2VvksnIYLF7SFO6mtr3A6Ktsw8Xu46ja3BxawnHTLmgV7dY9mh0R1JgiandksQMOS6AOSjz0D9Ce78g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "8.0.10"; hash = "sha512-PmrjkpJyXstmNJCyaHwOS3WdQTGYZa3Ik/ayjg+APgNSBbcP/TBnEGg91esUmgZ5k2Gz+WGCQS6wQxATTTJcKw=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "8.0.10"; hash = "sha512-feQLgFQlSHP+zSIjLXq+n4zC3jKYRAiXPJ8iY90nk2xAfRWYIb6redRB4dUhqhv5uaCrfi8W2r0AXZX8/GEkjg=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "8.0.10"; hash = "sha512-P97h50G0e61YXisIsZOWFcE/ldXH2R5gbX+SD+6t7FgmNQwaIl80xQMjEICfJ2uk9CoYKw2jWiwjQEdqoa9g1Q=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.10"; hash = "sha512-Mp2Scz97QbDE1CKZli/Z4zDSeQGSjN4vuylZUqvLukTTGTM1xB89a0TLf5ooz6rZefyNecAY2WOP0fr+oOjpPg=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.10"; hash = "sha512-Voo3Y/uZNEaiWfePrWjKkpsgZBR1dmgwuCf/8sxMCSQ2MvVG5jYlb0z+LqQdWQnF35fPHDFOCKeXIek20hPFtA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "8.0.10"; hash = "sha512-00BocEhDPtq4wrrkK4TN4uC0JLQvLn+JZpEAanMEQzN/ZOb8pP8c4RX/jNpPP40MqNNnsNOSFh9C2LE/HPgjHA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; + version = "8.0.10"; + hash = "sha512-NGl4nsuWJgLBQobSkbOxJgkT04uyetP/Kv8JXz7qN6MV0q+MjyhYQY29H8ODQgSMi4viOBL9KHbrTc6K+oSD7w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x86"; + version = "8.0.10"; + hash = "sha512-Fdc4ceK2VvksnIYLF7SFO6mtr3A6Ktsw8Xu46ja3BxawnHTLmgV7dY9mh0R1JgiandksQMOS6AOSjz0D9Ce78g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x86"; + version = "8.0.10"; + hash = "sha512-PmrjkpJyXstmNJCyaHwOS3WdQTGYZa3Ik/ayjg+APgNSBbcP/TBnEGg91esUmgZ5k2Gz+WGCQS6wQxATTTJcKw=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.10"; + hash = "sha512-feQLgFQlSHP+zSIjLXq+n4zC3jKYRAiXPJ8iY90nk2xAfRWYIb6redRB4dUhqhv5uaCrfi8W2r0AXZX8/GEkjg=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; + version = "8.0.10"; + hash = "sha512-P97h50G0e61YXisIsZOWFcE/ldXH2R5gbX+SD+6t7FgmNQwaIl80xQMjEICfJ2uk9CoYKw2jWiwjQEdqoa9g1Q=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.10"; + hash = "sha512-Mp2Scz97QbDE1CKZli/Z4zDSeQGSjN4vuylZUqvLukTTGTM1xB89a0TLf5ooz6rZefyNecAY2WOP0fr+oOjpPg=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.10"; + hash = "sha512-Voo3Y/uZNEaiWfePrWjKkpsgZBR1dmgwuCf/8sxMCSQ2MvVG5jYlb0z+LqQdWQnF35fPHDFOCKeXIek20hPFtA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; + version = "8.0.10"; + hash = "sha512-00BocEhDPtq4wrrkK4TN4uC0JLQvLn+JZpEAanMEQzN/ZOb8pP8c4RX/jNpPP40MqNNnsNOSFh9C2LE/HPgjHA=="; + }) ]; }; -in rec { +in +rec { release_8_0 = "8.0.10"; aspnetcore_8_0 = buildAspNetCore { @@ -290,6 +744,5 @@ in rec { sdk = sdk_8_0; - sdk_8_0 = sdk_8_0_1xx; } diff --git a/pkgs/development/compilers/dotnet/8/deps.nix b/pkgs/development/compilers/dotnet/8/deps.nix index 0da151f706c45..b0c95c3c29eb2 100644 --- a/pkgs/development/compilers/dotnet/8/deps.nix +++ b/pkgs/development/compilers/dotnet/8/deps.nix @@ -1,12 +1,63 @@ -{ fetchNuGet }: [ - (fetchNuGet { hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; pname = "Newtonsoft.Json"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg"; version = "13.0.1"; }) - (fetchNuGet { hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; pname = "System.Reflection.Metadata"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/8.0.0/system.reflection.metadata.8.0.0.nupkg"; version = "8.0.0"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; sha256 = "27f0c91cca043b5aaeff96a3f7899aba3c20355dcace30db1620fdef8807bab0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.linux-arm64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "f93c9cdea2f00ebb2bb61ea5cf3efebabd457b36c128dfdfa810f2f3f7666ffa"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.linux-arm64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { hash = "sha256-mNRwvNOxuOtD8F0U6Alc6220T1BAP28lC2AeyjDW2NI="; pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.linux-x64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { hash = "sha256-i8rOlWki4EH5fm+cmUPdIivF/xnpayygHCX+Wa/FOsg="; pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.linux-x64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; sha256 = "f933bfbf0d41b6b2073ce605e4fb081c6d7253fd4ddac1bbbc542152b264ab06"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.osx-arm64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "321d0579df8fe28cf7b7a6e75d816e5e0ac076d96eb9591c2db0e2141f5d8e36"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.osx-arm64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; sha256 = "b43894455f4d6eef539f64b21eb22d54dda72afe6da0d11526c7aa1c02b179ee"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.osx-x64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) - (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; sha256 = "f0be4d7d4eed4cd405e55e5a0628adf0a60bf56d7dd390b2d34d699b7ce054c6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.osx-x64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; version = "8.0.10-servicing.24466.10"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + pname = "Newtonsoft.Json"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg"; + version = "13.0.1"; + }) + (fetchNuGet { + hash = "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="; + pname = "System.Reflection.Metadata"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/8.0.0/system.reflection.metadata.8.0.0.nupkg"; + version = "8.0.0"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; + sha256 = "27f0c91cca043b5aaeff96a3f7899aba3c20355dcace30db1620fdef8807bab0"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.linux-arm64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; + sha256 = "f93c9cdea2f00ebb2bb61ea5cf3efebabd457b36c128dfdfa810f2f3f7666ffa"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.linux-arm64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + hash = "sha256-mNRwvNOxuOtD8F0U6Alc6220T1BAP28lC2AeyjDW2NI="; + pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.linux-x64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + hash = "sha256-i8rOlWki4EH5fm+cmUPdIivF/xnpayygHCX+Wa/FOsg="; + pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.linux-x64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; + sha256 = "f933bfbf0d41b6b2073ce605e4fb081c6d7253fd4ddac1bbbc542152b264ab06"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.osx-arm64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; + sha256 = "321d0579df8fe28cf7b7a6e75d816e5e0ac076d96eb9591c2db0e2141f5d8e36"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.osx-arm64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; + sha256 = "b43894455f4d6eef539f64b21eb22d54dda72afe6da0d11526c7aa1c02b179ee"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/8.0.10-servicing.24466.10/runtime.osx-x64.microsoft.netcore.ilasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) + (fetchNuGet { + pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; + sha256 = "f0be4d7d4eed4cd405e55e5a0628adf0a60bf56d7dd390b2d34d699b7ce054c6"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/8.0.10-servicing.24466.10/runtime.osx-x64.microsoft.netcore.ildasm.8.0.10-servicing.24466.10.nupkg"; + version = "8.0.10-servicing.24466.10"; + }) ] diff --git a/pkgs/development/compilers/dotnet/9/bootstrap-sdk.nix b/pkgs/development/compilers/dotnet/9/bootstrap-sdk.nix index 1c9f412d4f910..48cc0ce458c85 100644 --- a/pkgs/development/compilers/dotnet/9/bootstrap-sdk.nix +++ b/pkgs/development/compilers/dotnet/9/bootstrap-sdk.nix @@ -1,130 +1,408 @@ -{ buildAspNetCore, buildNetRuntime, buildNetSdk, fetchNupkg }: +{ + buildAspNetCore, + buildNetRuntime, + buildNetSdk, + fetchNupkg, +}: # v9.0 (active) let commonPackages = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Ref"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-VYoUXb/87RzxdErwwqfVb8WJLl+7YL4PBxI8QY9cer25Zg85yOUxaPHLnX45QgveH1iNcEHyEr7vJW52LkyYZQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-va/LQIocBU7wyw4EXStwGTdHnrcyBSBVuRaRlNd3I2IZrFZ5QhRSEKwW2jFvSYWowt2P4nL4e/YvweFnWs8DiQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Ref"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-tJYYbEootDwmS23jQtXRN/HrkN57sLdcpjYuKjqzgOsWVhVYr+5Yq5vcuYa03RiRv/PnoOmWB6pMhQ69qfIhcA=="; }) - (fetchNupkg { pname = "Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-7gm4DUCtrapDZxO1aKiPGm/danAxKvGiCyj16+4zdgD69S0UJ0mwQw5Mn7xIhrz3/YSC/yK7ihvZ4oqc4I00aQ=="; }) - (fetchNupkg { pname = "Microsoft.NET.ILLink.Tasks"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-h08RQolDzXy4ihvbyEb0E75pozEG/tyZgPaKEfWGtEM1Byvbe4SDrQlu0G4f97h5I49L6Czy+RQ+rdnyL/XwjQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-VYoUXb/87RzxdErwwqfVb8WJLl+7YL4PBxI8QY9cer25Zg85yOUxaPHLnX45QgveH1iNcEHyEr7vJW52LkyYZQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-va/LQIocBU7wyw4EXStwGTdHnrcyBSBVuRaRlNd3I2IZrFZ5QhRSEKwW2jFvSYWowt2P4nL4e/YvweFnWs8DiQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Ref"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-tJYYbEootDwmS23jQtXRN/HrkN57sLdcpjYuKjqzgOsWVhVYr+5Yq5vcuYa03RiRv/PnoOmWB6pMhQ69qfIhcA=="; + }) + (fetchNupkg { + pname = "Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-7gm4DUCtrapDZxO1aKiPGm/danAxKvGiCyj16+4zdgD69S0UJ0mwQw5Mn7xIhrz3/YSC/yK7ihvZ4oqc4I00aQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-h08RQolDzXy4ihvbyEb0E75pozEG/tyZgPaKEfWGtEM1Byvbe4SDrQlu0G4f97h5I49L6Czy+RQ+rdnyL/XwjQ=="; + }) ]; hostPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-a0w9cqInj6szGJ+gdJsOendvS4xW2ZiXsYXRfPBHexbwYec2bFD/wFcuoPQ3n87XSdnyUk6cv3w7Njcb/wU1ew=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-a0w9cqInj6szGJ+gdJsOendvS4xW2ZiXsYXRfPBHexbwYec2bFD/wFcuoPQ3n87XSdnyUk6cv3w7Njcb/wU1ew=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-9QO5gJi33NuIawkG0H7LlE9yeHtDABCLniQzsf21x6qKBI1DtGlVPEEq05mHW4NxkV6DQlDjycifukN8UY5GzQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-aQZ+KhAuSb8x2DvsFJwvZTCkmyPvd/pu2XU4uVHuaRQ2A9wejpdCTtXeOETWkZBR42qBXmzoZiMO4JnlmwDjGA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-9QO5gJi33NuIawkG0H7LlE9yeHtDABCLniQzsf21x6qKBI1DtGlVPEEq05mHW4NxkV6DQlDjycifukN8UY5GzQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-aQZ+KhAuSb8x2DvsFJwvZTCkmyPvd/pu2XU4uVHuaRQ2A9wejpdCTtXeOETWkZBR42qBXmzoZiMO4JnlmwDjGA=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-SCiUPToHRHRVcUVV0GbyKj7kENAEKfhrdlZgPxwQNxbBHbTpg+pUtwdmZHXd4ALEx7yUYKH+gZ0NgvaxnnkA1w=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-V5hJqjyfqdo6JH0n30SZ85vdsw2ZkTeFen+N4B7Oh93PCK7GNOvW9FsjI1VPoIvygjOoPek5fQMyj6hKXbzYKQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-SCiUPToHRHRVcUVV0GbyKj7kENAEKfhrdlZgPxwQNxbBHbTpg+pUtwdmZHXd4ALEx7yUYKH+gZ0NgvaxnnkA1w=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-V5hJqjyfqdo6JH0n30SZ85vdsw2ZkTeFen+N4B7Oh93PCK7GNOvW9FsjI1VPoIvygjOoPek5fQMyj6hKXbzYKQ=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-dYeGj3yq0iyv0ynhzCnzYPTX6NzOzarCR7KJp4TvIRmAIRzQNyR3wmajXCcmA+zbxopVvPuWdV6vE2TR2gJTug=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-dYeGj3yq0iyv0ynhzCnzYPTX6NzOzarCR7KJp4TvIRmAIRzQNyR3wmajXCcmA+zbxopVvPuWdV6vE2TR2gJTug=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-H8XU5iqkZLCJYnI3BoQFSipnD4np8QV6UgG9aoF1OU7ePQ3QLbqwIrWdk2SISXJGyRWwtcZCmw0DkGU283y3Fw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-wj9IJOdrWrBcDC9edJtjIkItXcd62C/Izhq1jS1IvqBWeUSekwtKBvBxVEeKrVrSI2gdabcnUqzZDo8mF0UemQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-H8XU5iqkZLCJYnI3BoQFSipnD4np8QV6UgG9aoF1OU7ePQ3QLbqwIrWdk2SISXJGyRWwtcZCmw0DkGU283y3Fw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-wj9IJOdrWrBcDC9edJtjIkItXcd62C/Izhq1jS1IvqBWeUSekwtKBvBxVEeKrVrSI2gdabcnUqzZDo8mF0UemQ=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-Gu5AC44xJKFxLVBtQm+/aK8aXeTJadqwNlG0RiJe26u+kzZps7SU/WgCWSi5JQeMdS5tN4xOq2mDbNMx1Euzpw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-nDxzSmkIR8M33A40nE3t7Ocokyr7kwjE/20HDix5/jSqDrVXkuwrpE0RAbxlqV5m2SsQ/46vnGj8pv/z6pTfpg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-Gu5AC44xJKFxLVBtQm+/aK8aXeTJadqwNlG0RiJe26u+kzZps7SU/WgCWSi5JQeMdS5tN4xOq2mDbNMx1Euzpw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-nDxzSmkIR8M33A40nE3t7Ocokyr7kwjE/20HDix5/jSqDrVXkuwrpE0RAbxlqV5m2SsQ/46vnGj8pv/z6pTfpg=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-eGaMRTh44mmuFIsExzJmPoNk6FgM3pMsHXXcZK5x3yfj+s5Q8GiW+uQsPQvvEI/vAxqQXecaWpHNSsl95s1HCw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-94YWNVgdISC20qj+68bRSiG53bCoH0xz3LMdHPm3hl1kU0sXYIJV3m4H1MHvTIMWaDFQMChEACeTfQ4lmFe33A=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-eGaMRTh44mmuFIsExzJmPoNk6FgM3pMsHXXcZK5x3yfj+s5Q8GiW+uQsPQvvEI/vAxqQXecaWpHNSsl95s1HCw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-94YWNVgdISC20qj+68bRSiG53bCoH0xz3LMdHPm3hl1kU0sXYIJV3m4H1MHvTIMWaDFQMChEACeTfQ4lmFe33A=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-gy6X1t3U0o4TaLq95HG7+KYm1OJc3GPQBYI887/H/is64cR2uMb+05vKKWO/LWpjjk3R2G6AxIh7yIor/LrV3g=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-XlvuVxf0NHsLBNTALgTTaUgP0gdjayrZJ/5fIcY/WjfxBS/k4LTYtEPCrWHHgfSwQRtf88zxy68wU0YYNqmnOg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-gy6X1t3U0o4TaLq95HG7+KYm1OJc3GPQBYI887/H/is64cR2uMb+05vKKWO/LWpjjk3R2G6AxIh7yIor/LrV3g=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-XlvuVxf0NHsLBNTALgTTaUgP0gdjayrZJ/5fIcY/WjfxBS/k4LTYtEPCrWHHgfSwQRtf88zxy68wU0YYNqmnOg=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-uZPRPhjW7mFUVrgNo9bkD7IV/mi51JhN+tmctCClPbMvojpwwBCwRVHm+FZvuRGnohEmhulP+437gWfebKHD4Q=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-1kJfPoFkc1h1vLn8eXVYWDxGnLZgcU2QoQ+SL1FxMiUDz9jpgjS/ED5Lue28S1eqEvORhsq0hCPb5rd+hrqAJw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-uZPRPhjW7mFUVrgNo9bkD7IV/mi51JhN+tmctCClPbMvojpwwBCwRVHm+FZvuRGnohEmhulP+437gWfebKHD4Q=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-1kJfPoFkc1h1vLn8eXVYWDxGnLZgcU2QoQ+SL1FxMiUDz9jpgjS/ED5Lue28S1eqEvORhsq0hCPb5rd+hrqAJw=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-Qf8fsjuJicTADESM1q7jb/2mmd2wfz4UJwOaYm0LF3cbfxJeJ1R4Nz573lDvyzG5EpZvhqgdbIvi+Js9yPvR+w=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-uM+ZHRZaPZF9/9mPB+B1r9+p+ejsJWrZeAmS++441xiTI2WcnacgOCASqA3PaBceGHHAbWdICPJtkM8zb6cu6g=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-Qf8fsjuJicTADESM1q7jb/2mmd2wfz4UJwOaYm0LF3cbfxJeJ1R4Nz573lDvyzG5EpZvhqgdbIvi+Js9yPvR+w=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-uM+ZHRZaPZF9/9mPB+B1r9+p+ejsJWrZeAmS++441xiTI2WcnacgOCASqA3PaBceGHHAbWdICPJtkM8zb6cu6g=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-6oqxcjiVqyYQ2epUGRbWD3SFA+crSFp5htpAQPyBFN6WQCj0vuwvM15RhSTqb1J1weQ3Y4nq6sEI9FMuULbF+A=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-6oqxcjiVqyYQ2epUGRbWD3SFA+crSFp5htpAQPyBFN6WQCj0vuwvM15RhSTqb1J1weQ3Y4nq6sEI9FMuULbF+A=="; + }) ]; }; targetPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-9hLr5fWmk2ePIVEPV2Jf1BdERtIuoAm3hTs78cBAee2BMwTlFjJCBVxpCIIlIGRG2SA5iJGm5PlBg+IXe/e7Fg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-hYVPnToTQZtSZyafuFYAkvGQCkoNhjyyhbedOhNQQbKaT+OpTHEwRI78DG+E+n7+pKU2uGqzVErP79K66Dhvaw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-dvFWAmiDhmOLa7yA9uMpXOWPG+S3+OQ3uv/u8kk6EsFnjI+GqpauqwghGVamf5Sf9jMXViNJ3I3cGuGKbtQ3eQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-jnnJ7m79tcpT0KyMD5FA9Hvcju7PqO8VrtDSkrhCydJKq6f1j2tQukH4L5bx4bxdH6L7AbtZU1W6a2tOjWavjA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-9hLr5fWmk2ePIVEPV2Jf1BdERtIuoAm3hTs78cBAee2BMwTlFjJCBVxpCIIlIGRG2SA5iJGm5PlBg+IXe/e7Fg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-hYVPnToTQZtSZyafuFYAkvGQCkoNhjyyhbedOhNQQbKaT+OpTHEwRI78DG+E+n7+pKU2uGqzVErP79K66Dhvaw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-dvFWAmiDhmOLa7yA9uMpXOWPG+S3+OQ3uv/u8kk6EsFnjI+GqpauqwghGVamf5Sf9jMXViNJ3I3cGuGKbtQ3eQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-jnnJ7m79tcpT0KyMD5FA9Hvcju7PqO8VrtDSkrhCydJKq6f1j2tQukH4L5bx4bxdH6L7AbtZU1W6a2tOjWavjA=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-8P8kT37mZIlcBLFJ+ybg3IEYl0LwYxa1EHCJmqiI7BGsEMc7Bmo9V1Qu04rbXtsltQroWC5OeIb6UkvM3Q7L/g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-ittiMXCbVOvfF3Wx3wUVeRRGYkr9c4gVhFWWKNl4ESCigotKCym6/wuZ4Yh7q1CmHOzorxuuKWeW59qL6+Dmnw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-u4ST10PMetmuDLzRIrQrG4G22zKJDjTbQjHfg8GvAVrGorWb8XjeuBDRcAggo72LzqeI5O6rVyLGARoe4ozQTA=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-I4kfngubXUj0Z/2PedYhOuS7MdcgVeymGS9BSLAVwZkjxJq21YxK3B+VWqPPtjvn5CnNTx1PKWbchd8HbZ/u7g=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-8P8kT37mZIlcBLFJ+ybg3IEYl0LwYxa1EHCJmqiI7BGsEMc7Bmo9V1Qu04rbXtsltQroWC5OeIb6UkvM3Q7L/g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-ittiMXCbVOvfF3Wx3wUVeRRGYkr9c4gVhFWWKNl4ESCigotKCym6/wuZ4Yh7q1CmHOzorxuuKWeW59qL6+Dmnw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-u4ST10PMetmuDLzRIrQrG4G22zKJDjTbQjHfg8GvAVrGorWb8XjeuBDRcAggo72LzqeI5O6rVyLGARoe4ozQTA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-I4kfngubXUj0Z/2PedYhOuS7MdcgVeymGS9BSLAVwZkjxJq21YxK3B+VWqPPtjvn5CnNTx1PKWbchd8HbZ/u7g=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-lFkrconTLamWAmhwMmFGHlFVvznCfXUYAxj1UUEcAzRd2B09iX5+mJL7OdZSatJO+FwJEdLy4DJL3w/nOY344A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-x+r8ICKAP4sAZrG5eSUg1wqb5XCaSusaa8v4RtAWF3lYrlnRHPMtK4K9BUgr9D8M8Gwiy8swVXTcd95NggIJaQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-1Bz9FeS67p5Rc1h+H54fMfSb6l8uhpx1c4pdjTnU3DwVWZ+e3UE8cGi9Vj0ICDmClvKWx8WvcbkWr3yEFn6Oiw=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-EBQcA5874itepp6PYbW9kXKl6JBL9dtNTpDWyCWOv6iUZgt+coVbOVHEbBFh3keqMB5J9P1G61AW4E8TJANvIA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-lFkrconTLamWAmhwMmFGHlFVvznCfXUYAxj1UUEcAzRd2B09iX5+mJL7OdZSatJO+FwJEdLy4DJL3w/nOY344A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-x+r8ICKAP4sAZrG5eSUg1wqb5XCaSusaa8v4RtAWF3lYrlnRHPMtK4K9BUgr9D8M8Gwiy8swVXTcd95NggIJaQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-1Bz9FeS67p5Rc1h+H54fMfSb6l8uhpx1c4pdjTnU3DwVWZ+e3UE8cGi9Vj0ICDmClvKWx8WvcbkWr3yEFn6Oiw=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-EBQcA5874itepp6PYbW9kXKl6JBL9dtNTpDWyCWOv6iUZgt+coVbOVHEbBFh3keqMB5J9P1G61AW4E8TJANvIA=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-Chm/DOH8nmg/bL/OAMWcfSAT/7c5W/DW5909fpNgCRHJhztTrT61AhmDCV7Sbj9aCwp7H92lZW1Ov+jtKtJWvw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-NbqCc0FaVX/rhUe0TYnMBNjL3fqnptO6bdSfjlpjP5cfOV5c7vNcwhwl3IY3a82pFUblXOT5Ltw1s9meRlRHeQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-i7inuXamQxuvqTbjO7Ex3BWN1lambOO9LRhgomSxiRbmRj/vnArzlrIZo3XLcK+j4pvWFatzLeJ9iGSj1e3vwA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-J0fbjcCjNNxSHgGuxaV2900dDskw9YkcmHNPx3TRrj68lkrGHdOd5ArzahOGAkUT/zlrklwMFFAWfSgpl5j8TQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-Chm/DOH8nmg/bL/OAMWcfSAT/7c5W/DW5909fpNgCRHJhztTrT61AhmDCV7Sbj9aCwp7H92lZW1Ov+jtKtJWvw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-NbqCc0FaVX/rhUe0TYnMBNjL3fqnptO6bdSfjlpjP5cfOV5c7vNcwhwl3IY3a82pFUblXOT5Ltw1s9meRlRHeQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-i7inuXamQxuvqTbjO7Ex3BWN1lambOO9LRhgomSxiRbmRj/vnArzlrIZo3XLcK+j4pvWFatzLeJ9iGSj1e3vwA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-J0fbjcCjNNxSHgGuxaV2900dDskw9YkcmHNPx3TRrj68lkrGHdOd5ArzahOGAkUT/zlrklwMFFAWfSgpl5j8TQ=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-wCBrrChR7n5Lz9FvHLoCcZ8/bMBjEK35Oy5EEsKqrrLp3NM9IhPeklNnEQF5lm05i9u8fx+24faoH9bA8Eucnw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-3d3UJgKT9fT8WEceC8h8iAz3kwPIJXYNfSQykPYShUr3bpbt2lWS8Vz9eWSB2Quadi6fyMX9w4M6bDsChMO1Mw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-gVEHwf9wUNgxS2C/jd0f4xHZYHmRAmUB1A1tY1RL0fpphw/6p7ytXsQ89eh2sG1SquhznZhPPblEBfOGcs5mtw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-hUok62DuWaFEtEtQCHnOaA+T1F4IhS6DxMdJDgCF/PQ5lQlPy4T2FyYg7VFDWQbM2xm0BhD/Dc9X4fvDJDW0sw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-wCBrrChR7n5Lz9FvHLoCcZ8/bMBjEK35Oy5EEsKqrrLp3NM9IhPeklNnEQF5lm05i9u8fx+24faoH9bA8Eucnw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-3d3UJgKT9fT8WEceC8h8iAz3kwPIJXYNfSQykPYShUr3bpbt2lWS8Vz9eWSB2Quadi6fyMX9w4M6bDsChMO1Mw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-gVEHwf9wUNgxS2C/jd0f4xHZYHmRAmUB1A1tY1RL0fpphw/6p7ytXsQ89eh2sG1SquhznZhPPblEBfOGcs5mtw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-hUok62DuWaFEtEtQCHnOaA+T1F4IhS6DxMdJDgCF/PQ5lQlPy4T2FyYg7VFDWQbM2xm0BhD/Dc9X4fvDJDW0sw=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-OQoLmTaSSDEOE5AyaMaxcPyZan0jl0sBYqzL0VKX03hrDW5TU6TRwhV3IWLuMHw88+JammuRX6V8PGEL2KL0aw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-EUSs0bkXWUk9Me7Lo9ZCF4Ellid9cPKQbXv4l2+378I5pgJzL9vuz4orzyfO5W26drSXknU/zm0BEAOJU3pAmg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-3pVBqaNKhDhsAdJSd6V40vdHcQ0jZ1bH+AEWkm840yskYN1AIqA8sfFPiOdWLZnblbHG7P7Y+l25hhx4/mg0IQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-n9svtainSSp0E+pHYxg6me3qXTT0vY89OmdLFLRP1PW2/iJYUx65If9J1NzOsoBy6wnrTpiSbmODYuS5YGfU3w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-OQoLmTaSSDEOE5AyaMaxcPyZan0jl0sBYqzL0VKX03hrDW5TU6TRwhV3IWLuMHw88+JammuRX6V8PGEL2KL0aw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-EUSs0bkXWUk9Me7Lo9ZCF4Ellid9cPKQbXv4l2+378I5pgJzL9vuz4orzyfO5W26drSXknU/zm0BEAOJU3pAmg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-3pVBqaNKhDhsAdJSd6V40vdHcQ0jZ1bH+AEWkm840yskYN1AIqA8sfFPiOdWLZnblbHG7P7Y+l25hhx4/mg0IQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-n9svtainSSp0E+pHYxg6me3qXTT0vY89OmdLFLRP1PW2/iJYUx65If9J1NzOsoBy6wnrTpiSbmODYuS5YGfU3w=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-60vE1xNjUGDvGaFFyaQGAX/uboU0dG9/VU+3GbX1120S2o/WvNM5VW3zXR2yBnhjcK2kpgg6DMvOrl0MEZtBUQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-yJgKcAx5jtS0oFtIklA6H4OwDSFEhsJaorGyrIAui+z/tTl81y7i9jy3kgSMQ34dJUflZ6QwpGdUn1GAh/vfng=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-a9aDzwnog+KG4OXmxW1//6k2VNrqbNjiYxLSqp5P3DLZyY+1t4+rT4XiMt10haxouEECDQwOM52LAcjBhKhZwg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-sGYv1THJ2s16u0s+zcavMFEj+VGjPI+CYmUqM9MnUW3SRHsMyKkCj+Iy25HAmmTNLv/q3hqF/URE/rWdJvJkhQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-60vE1xNjUGDvGaFFyaQGAX/uboU0dG9/VU+3GbX1120S2o/WvNM5VW3zXR2yBnhjcK2kpgg6DMvOrl0MEZtBUQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-yJgKcAx5jtS0oFtIklA6H4OwDSFEhsJaorGyrIAui+z/tTl81y7i9jy3kgSMQ34dJUflZ6QwpGdUn1GAh/vfng=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-a9aDzwnog+KG4OXmxW1//6k2VNrqbNjiYxLSqp5P3DLZyY+1t4+rT4XiMt10haxouEECDQwOM52LAcjBhKhZwg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-sGYv1THJ2s16u0s+zcavMFEj+VGjPI+CYmUqM9MnUW3SRHsMyKkCj+Iy25HAmmTNLv/q3hqF/URE/rWdJvJkhQ=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-cK0x+Lxe3lEylQnijK9K/I9o6p4yHYI9qtrSMRAqSCoUxaRoBFLHwljaumRvCyejqRCMmYosda7z9S2rDxjBXA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-WTctjwwzqXX0zDxVkFlK4k+bhEDAUzMv1/5ikvqhfVF8uNQUHnZFTx9sXTN0msVJ5FHWuNIKrD1k06YhvVuV5A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-0LUUXfBkZ2S/5GgCl3gEPbh+fyJOipdcnyYkOKrCwZn68fMHY247FFLKthdauXsEOU5RWV4PQbjELvwD543rGA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-Kx+gvcTQmO9X35eSE9z7vOlrG2J2FFC3Uv6zOXoCtJugJqW74S6AbUP8JRMnZCNzv2cNnEK6xswyDg1Mf34sTw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-cK0x+Lxe3lEylQnijK9K/I9o6p4yHYI9qtrSMRAqSCoUxaRoBFLHwljaumRvCyejqRCMmYosda7z9S2rDxjBXA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-WTctjwwzqXX0zDxVkFlK4k+bhEDAUzMv1/5ikvqhfVF8uNQUHnZFTx9sXTN0msVJ5FHWuNIKrD1k06YhvVuV5A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-0LUUXfBkZ2S/5GgCl3gEPbh+fyJOipdcnyYkOKrCwZn68fMHY247FFLKthdauXsEOU5RWV4PQbjELvwD543rGA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-Kx+gvcTQmO9X35eSE9z7vOlrG2J2FFC3Uv6zOXoCtJugJqW74S6AbUP8JRMnZCNzv2cNnEK6xswyDg1Mf34sTw=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-2ByJFpaf+Dm+saB+NniupfwHJVbCNuaLNX+K4pH7Bz6dUYXlcWh1ja3l6G80PYJRNziyJY8fNsLhNFBnSCA39A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-tKSRJQ4E/PndHyAEKnDitBvgTnJCtzIBiw4MAim7mmdO3T3xCq3N1PP/WRST+JEMDy19tkLwClR3SqziiXPAag=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-gNMyW8t/1pBYNWwZpW7Gk4GArSEVrJOCBz8YvaHpzwk9iuVYeka4lOIvudA9drCxY5EUU1I20EJvCSycNffgsg=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-FiXMi1dtVF47L4ITblPzzCbgLY9noHwV0ZvEL30bgm4hQPSSNdELFbDAgNuAktieV3/XV7KSOQPPxlc6KEZi2w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-2ByJFpaf+Dm+saB+NniupfwHJVbCNuaLNX+K4pH7Bz6dUYXlcWh1ja3l6G80PYJRNziyJY8fNsLhNFBnSCA39A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-tKSRJQ4E/PndHyAEKnDitBvgTnJCtzIBiw4MAim7mmdO3T3xCq3N1PP/WRST+JEMDy19tkLwClR3SqziiXPAag=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-arm64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-gNMyW8t/1pBYNWwZpW7Gk4GArSEVrJOCBz8YvaHpzwk9iuVYeka4lOIvudA9drCxY5EUU1I20EJvCSycNffgsg=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-FiXMi1dtVF47L4ITblPzzCbgLY9noHwV0ZvEL30bgm4hQPSSNdELFbDAgNuAktieV3/XV7KSOQPPxlc6KEZi2w=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-8FXl5YY++/bGTAOoAS7lK53CXyc7vzLAzfmXQ3q2s4vLvrKI3720ECDnDQS9Of9P8ZLDdMwX6SeHd4RbsLMaBg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-P4A/HDIrDVLJBtBD9Eoy2DxofmLXji5zzOBA9ZEWioXurCU5ujFw2VhUiKY6qDedFsq6/1IyVGDNcesd42jgmQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-lCAvZbxLspyp1LgfAE8uCvd9muUNGK1XRAo62v7cxhMDrCopNPF4F36nRQq+LBbyijlCbXzHmB7FJ5SfcQYhfA=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-UUoAim2OxX0npr5wF3z9mLunFVVNyfadk5EyE8dkTAhiSULv4mzQhAMRLirPlnOOcvytVgrixBWmE+unUrjJrA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-8FXl5YY++/bGTAOoAS7lK53CXyc7vzLAzfmXQ3q2s4vLvrKI3720ECDnDQS9Of9P8ZLDdMwX6SeHd4RbsLMaBg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-P4A/HDIrDVLJBtBD9Eoy2DxofmLXji5zzOBA9ZEWioXurCU5ujFw2VhUiKY6qDedFsq6/1IyVGDNcesd42jgmQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-lCAvZbxLspyp1LgfAE8uCvd9muUNGK1XRAo62v7cxhMDrCopNPF4F36nRQq+LBbyijlCbXzHmB7FJ5SfcQYhfA=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-UUoAim2OxX0npr5wF3z9mLunFVVNyfadk5EyE8dkTAhiSULv4mzQhAMRLirPlnOOcvytVgrixBWmE+unUrjJrA=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "9.0.0-rc.2.24474.3"; hash = "sha512-xuLmBBnsSd915EIhwY4x8UP6LKvVrbTP5Stx6zn12ZE9wf0mzrp92o4zs9xdS+XFjV4sXgPdJ00ayj8vRtqaew=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-e0Rk0Kg5yGi/gv6pBGuGca860xeOTOMjx+A+5xvB6NLaPS7bdAuGgFRhiI0Bs1s8KcuEhnWK4EP8Z9127BR54A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-BU8bppDcPbtBi0WtF8WpGPDf10l+LwB/i/sBYmvmKtGymDkUTZ1Cx535oPA7c0vRfTYFbPZPNEZwlmtQj+gaRQ=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-rc.2.24473.5"; hash = "sha512-zIGe6kxRaO8J+OU5LLvxUO1BMu3+GuTcS87aUggVNulwyHFjm60YS69VSpQ0JyWy5/m2cNTcTgcwRNAmU6He/g=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; + version = "9.0.0-rc.2.24474.3"; + hash = "sha512-xuLmBBnsSd915EIhwY4x8UP6LKvVrbTP5Stx6zn12ZE9wf0mzrp92o4zs9xdS+XFjV4sXgPdJ00ayj8vRtqaew=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x86"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-e0Rk0Kg5yGi/gv6pBGuGca860xeOTOMjx+A+5xvB6NLaPS7bdAuGgFRhiI0Bs1s8KcuEhnWK4EP8Z9127BR54A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x86"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-BU8bppDcPbtBi0WtF8WpGPDf10l+LwB/i/sBYmvmKtGymDkUTZ1Cx535oPA7c0vRfTYFbPZPNEZwlmtQj+gaRQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0-rc.2.24473.5"; + hash = "sha512-zIGe6kxRaO8J+OU5LLvxUO1BMu3+GuTcS87aUggVNulwyHFjm60YS69VSpQ0JyWy5/m2cNTcTgcwRNAmU6He/g=="; + }) ]; }; -in rec { +in +rec { release_9_0 = "9.0.0-rc.2"; aspnetcore_9_0 = buildAspNetCore { @@ -246,6 +524,5 @@ in rec { sdk = sdk_9_0; - sdk_9_0 = sdk_9_0_1xx; } diff --git a/pkgs/development/compilers/dotnet/9/deps.nix b/pkgs/development/compilers/dotnet/9/deps.nix index 9985dd10ebad5..a798d1687b7ea 100644 --- a/pkgs/development/compilers/dotnet/9/deps.nix +++ b/pkgs/development/compilers/dotnet/9/deps.nix @@ -1,10 +1,51 @@ -{ fetchNuGet }: [ - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; sha256 = "e4b53e790874d2c549fcf7564c55b6f57ccc6bcf4b1c02e9fb346bebaf48e786"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.linux-arm64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "691680bd52ebda543f25439eb7752bc991cb1ea1989876248a4b7f147cd9ed97"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.linux-arm64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { hash = "sha256-1eNeVt7gITpoDCFaDOZGoD+3l6L94YhND7wJQGrFNM8="; pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.linux-x64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { hash = "sha256-NWPAJfFZom8WniWFENXLMTRFCPxFIFhRDYwqHvAPlHM="; pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.linux-x64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; sha256 = "1623300e5c7a63414cd09d22175b7c9bee2501aaefdd91f4dc6f3b280b32b875"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.osx-arm64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "9ee98379a6b8516014bc09a1b46d346a0de2668dbe6eab9b66b303ab69254f78"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.osx-arm64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; sha256 = "79514cc63414bbe8a67c97909643ae00b7b4d3d8043f7b32441137f1528ed959"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.osx-x64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) - (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; sha256 = "44b03353bb109721f900eb30f148002a1333ddf53961111be4fa54c3cfff26c7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.osx-x64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; version = "9.0.0-rc.2.24473.5"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; + sha256 = "e4b53e790874d2c549fcf7564c55b6f57ccc6bcf4b1c02e9fb346bebaf48e786"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.linux-arm64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; + sha256 = "691680bd52ebda543f25439eb7752bc991cb1ea1989876248a4b7f147cd9ed97"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.linux-arm64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + hash = "sha256-1eNeVt7gITpoDCFaDOZGoD+3l6L94YhND7wJQGrFNM8="; + pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.linux-x64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + hash = "sha256-NWPAJfFZom8WniWFENXLMTRFCPxFIFhRDYwqHvAPlHM="; + pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.linux-x64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; + sha256 = "1623300e5c7a63414cd09d22175b7c9bee2501aaefdd91f4dc6f3b280b32b875"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.osx-arm64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; + sha256 = "9ee98379a6b8516014bc09a1b46d346a0de2668dbe6eab9b66b303ab69254f78"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.osx-arm64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; + sha256 = "79514cc63414bbe8a67c97909643ae00b7b4d3d8043f7b32441137f1528ed959"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/9.0.0-rc.2.24473.5/runtime.osx-x64.microsoft.netcore.ilasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) + (fetchNuGet { + pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; + sha256 = "44b03353bb109721f900eb30f148002a1333ddf53961111be4fa54c3cfff26c7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/9.0.0-rc.2.24473.5/runtime.osx-x64.microsoft.netcore.ildasm.9.0.0-rc.2.24473.5.nupkg"; + version = "9.0.0-rc.2.24473.5"; + }) ] diff --git a/pkgs/development/compilers/dotnet/versions/6.0.nix b/pkgs/development/compilers/dotnet/versions/6.0.nix index 7ad4096366437..43a3d7782fe06 100644 --- a/pkgs/development/compilers/dotnet/versions/6.0.nix +++ b/pkgs/development/compilers/dotnet/versions/6.0.nix @@ -1,164 +1,578 @@ -{ buildAspNetCore, buildNetRuntime, buildNetSdk, fetchNupkg }: +{ + buildAspNetCore, + buildNetRuntime, + buildNetSdk, + fetchNupkg, +}: # v6.0 (maintenance) let commonPackages = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.36"; hash = "sha512-7hUCPQ2cFc920o+IO1kkTolILrJ1ozLiH1ppUQVFxSQ94z2A8t41KCxUOYxEHwoaDqKWJ0LKjDMSGuU113DVzA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-Ms0jj1SKpzOiIhmjRyvD5guCt7y/tU3cTjMqmiaJSEo3JPZvJXScyAOaKjcMXbCR5eAvAmfE4Gn2hnSzkh90dw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.36"; hash = "sha512-qAcjjw2vDNJrTIw7R4UWLQuvslJbUpXxTrd1ckfDpWPqE0cEehOd9CvwizbD7HADjewzVv+LKvB5aOWYnpNmKA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-CPrQHhIPxgLjXv+SYqmCrtTrcarX5vol33mjalvNDb2z7Vml7LFT7oJk/Cf+GXZq6uBeNt/GOwXnvIaYe/1chQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-cBd1pSGW7JD53svFRupX19RDqToI/p+ZVwoWW6CYmgoFcDc1Ms9JQObfO2Pam4s41xrc1hABjpwl8VVMXU9Erw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-Qv57NzPUsP3MPleNrUhisnnSaKf3EyHoiEpObs9jy/ohgo3seMDbjOq8EA1hifx5Dxiw0P3DSbVpaiCwNF5sJQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "6.0.36"; + hash = "sha512-7hUCPQ2cFc920o+IO1kkTolILrJ1ozLiH1ppUQVFxSQ94z2A8t41KCxUOYxEHwoaDqKWJ0LKjDMSGuU113DVzA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-Ms0jj1SKpzOiIhmjRyvD5guCt7y/tU3cTjMqmiaJSEo3JPZvJXScyAOaKjcMXbCR5eAvAmfE4Gn2hnSzkh90dw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Ref"; + version = "6.0.36"; + hash = "sha512-qAcjjw2vDNJrTIw7R4UWLQuvslJbUpXxTrd1ckfDpWPqE0cEehOd9CvwizbD7HADjewzVv+LKvB5aOWYnpNmKA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-CPrQHhIPxgLjXv+SYqmCrtTrcarX5vol33mjalvNDb2z7Vml7LFT7oJk/Cf+GXZq6uBeNt/GOwXnvIaYe/1chQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-cBd1pSGW7JD53svFRupX19RDqToI/p+ZVwoWW6CYmgoFcDc1Ms9JQObfO2Pam4s41xrc1hABjpwl8VVMXU9Erw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-Qv57NzPUsP3MPleNrUhisnnSaKf3EyHoiEpObs9jy/ohgo3seMDbjOq8EA1hifx5Dxiw0P3DSbVpaiCwNF5sJQ=="; + }) ]; hostPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "6.0.36"; hash = "sha512-VFKuhQzHyTnjdsv1Rmyg9HQteLw2//afI/g8OCyTesNZWSWRO4bDsrD78uZMD3y4vEbLoOP0qc+vgCe3YdbSbQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; + version = "6.0.36"; + hash = "sha512-VFKuhQzHyTnjdsv1Rmyg9HQteLw2//afI/g8OCyTesNZWSWRO4bDsrD78uZMD3y4vEbLoOP0qc+vgCe3YdbSbQ=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "6.0.36"; hash = "sha512-xdAL8+k9u+N9DzTzeALpng5956ntAzSS+/dYsXmAowVuxdlMlbiOmfDyh0V67YB87qqE08y0wBzdq+Hw3yUkaw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; + version = "6.0.36"; + hash = "sha512-xdAL8+k9u+N9DzTzeALpng5956ntAzSS+/dYsXmAowVuxdlMlbiOmfDyh0V67YB87qqE08y0wBzdq+Hw3yUkaw=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "6.0.36"; hash = "sha512-Iyu9ynAcIOoiBMLm0j/9nSl0PWQGNW/ba+87hmu90vH/8Dx02waeAcFJj+jN5xNZ4NesUCLiYt1xDyh+QeQyaw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; + version = "6.0.36"; + hash = "sha512-Iyu9ynAcIOoiBMLm0j/9nSl0PWQGNW/ba+87hmu90vH/8Dx02waeAcFJj+jN5xNZ4NesUCLiYt1xDyh+QeQyaw=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "6.0.36"; hash = "sha512-LSe8MkWFnKy7/GAYjXjtyT+hpqjspUlnppbajPw6XY5qniMzgeMMoxPs6bLaAr78/Ag9sgmDNmO/NXFCIFty6A=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; + version = "6.0.36"; + hash = "sha512-LSe8MkWFnKy7/GAYjXjtyT+hpqjspUlnppbajPw6XY5qniMzgeMMoxPs6bLaAr78/Ag9sgmDNmO/NXFCIFty6A=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "6.0.36"; hash = "sha512-O9utOLvrmAs3rsQyDxcr0c6G1PfzDRu6t+9poZRyHV0PT05Ro/MApDKgbRpVpnpczJZtxjrvyphRusKv1+Jolg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; + version = "6.0.36"; + hash = "sha512-O9utOLvrmAs3rsQyDxcr0c6G1PfzDRu6t+9poZRyHV0PT05Ro/MApDKgbRpVpnpczJZtxjrvyphRusKv1+Jolg=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "6.0.36"; hash = "sha512-Y5ChGWMkky/EUeu4GK6RmagCdmjR8HY049Tsz+HxdkO/ShOEGY6Z7KVOkRoZG/Q0vt+kmCrNDjqlZy4Bgu5QSA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; + version = "6.0.36"; + hash = "sha512-Y5ChGWMkky/EUeu4GK6RmagCdmjR8HY049Tsz+HxdkO/ShOEGY6Z7KVOkRoZG/Q0vt+kmCrNDjqlZy4Bgu5QSA=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "6.0.36"; hash = "sha512-7NLa+YPCk3zh+LGMla5Ffl2Sslis5MvHG0Ngjq1jVXHqIMukzM0FgWkhTDC5NaGM/foQOL9poMm0+v+I9ozTuA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; + version = "6.0.36"; + hash = "sha512-7NLa+YPCk3zh+LGMla5Ffl2Sslis5MvHG0Ngjq1jVXHqIMukzM0FgWkhTDC5NaGM/foQOL9poMm0+v+I9ozTuA=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "6.0.36"; hash = "sha512-fmv0OenPlfWVvYHaH8Lbe9ReSJB/X1pdxgyVqS1d8LSrRVtuCrL7Q2Xc+SqTzBCwQUSK+3kFQoS/jyVeddTyPA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; + version = "6.0.36"; + hash = "sha512-fmv0OenPlfWVvYHaH8Lbe9ReSJB/X1pdxgyVqS1d8LSrRVtuCrL7Q2Xc+SqTzBCwQUSK+3kFQoS/jyVeddTyPA=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; version = "6.0.36"; hash = "sha512-igD8pT3ADrTJnXem+aFYUvjYUVPY57YnSpeAtwbqkika0VOWMriD29pFqMFV7tM6fEiQOerRV0aE9eIhLiM+dw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; + version = "6.0.36"; + hash = "sha512-igD8pT3ADrTJnXem+aFYUvjYUVPY57YnSpeAtwbqkika0VOWMriD29pFqMFV7tM6fEiQOerRV0aE9eIhLiM+dw=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; version = "6.0.36"; hash = "sha512-LnFU9J+ymzkZnTt3Q5/zDTH3q3dNhe+HP/OT24m7Zz8q2UURRF6KRYYhpdaxVyq+P+6y2Bg+2xJedfK+LHWwMQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; + version = "6.0.36"; + hash = "sha512-LnFU9J+ymzkZnTt3Q5/zDTH3q3dNhe+HP/OT24m7Zz8q2UURRF6KRYYhpdaxVyq+P+6y2Bg+2xJedfK+LHWwMQ=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; version = "6.0.36"; hash = "sha512-GSewyPSzLVQki2kaWJ9WznyOc3+qKauTbd4M0cY3dS9Y0jlkeMMx9JvsSdUr3b9ZbcoFHs+d7800+MMbIvAWbg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; + version = "6.0.36"; + hash = "sha512-GSewyPSzLVQki2kaWJ9WznyOc3+qKauTbd4M0cY3dS9Y0jlkeMMx9JvsSdUr3b9ZbcoFHs+d7800+MMbIvAWbg=="; + }) ]; }; targetPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.36"; hash = "sha512-Zatdf57Zy27a4L6+Qd99a7BbPsV/gPKdEzULIICB/AhKka0Bq1CSJvpuLWihQwtnHBwuJi4tfKi3Ztk993Jidg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.36"; hash = "sha512-vThEWkCQrp8GzhkoeTOgU1GNlaplLcysZk1GHjbSVEHZJP/mTNjmsBL0/LHW8iorZrNbEP57qTsD7Jtk0xnxyg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.36"; hash = "sha512-Ymv7zgfCheRYpYjY6nGNM/90W8VEE6vw+gixSHhFdu5rszgqII+rwpBCBKcc5MOzYPp879wi759oy9jug2HvIg=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-/xMvX3PnWlvV03Nxt7TaWZDT8XNErkt2sE6jIYasJ9gcxzGr+bai8pj4H8ArvPjj3HsRawcsN4owkesy/9L9EQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-X8lW/sHbRXQt9uKwfOy2S6NaO0RuZF+8Ov476amVVtDEu+U0diOB1JxoilTLJcoRn9O29EISVzzA1OFgwF2KnQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-owEMJ45fgXynGJKD14wNmyVr6KfYZtLpp6Z7GQORGPibOKW/Dq5MiLdo2nKSoHPSf5KUJaRqhb+JawhoK68rXA=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-dJAjWxCDxspFxWKihDHxwl9cRZ4xWWMjCnRKDFn8KNHVdrMrtlhqhhS1iRBW9iQS/gapfsOL05dzq5eWAoaDFg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "6.0.36"; hash = "sha512-6OwlxDkPLmWojyYtMvYmqr1+b3XCo/F2vqQvkeyOXb0ix1y6qHbKNnjfcc4HPgQbeeToq4lhlp1Jvj3uY7ncJg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; + version = "6.0.36"; + hash = "sha512-Zatdf57Zy27a4L6+Qd99a7BbPsV/gPKdEzULIICB/AhKka0Bq1CSJvpuLWihQwtnHBwuJi4tfKi3Ztk993Jidg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm"; + version = "6.0.36"; + hash = "sha512-vThEWkCQrp8GzhkoeTOgU1GNlaplLcysZk1GHjbSVEHZJP/mTNjmsBL0/LHW8iorZrNbEP57qTsD7Jtk0xnxyg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm"; + version = "6.0.36"; + hash = "sha512-Ymv7zgfCheRYpYjY6nGNM/90W8VEE6vw+gixSHhFdu5rszgqII+rwpBCBKcc5MOzYPp879wi759oy9jug2HvIg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-/xMvX3PnWlvV03Nxt7TaWZDT8XNErkt2sE6jIYasJ9gcxzGr+bai8pj4H8ArvPjj3HsRawcsN4owkesy/9L9EQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-X8lW/sHbRXQt9uKwfOy2S6NaO0RuZF+8Ov476amVVtDEu+U0diOB1JxoilTLJcoRn9O29EISVzzA1OFgwF2KnQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-owEMJ45fgXynGJKD14wNmyVr6KfYZtLpp6Z7GQORGPibOKW/Dq5MiLdo2nKSoHPSf5KUJaRqhb+JawhoK68rXA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-dJAjWxCDxspFxWKihDHxwl9cRZ4xWWMjCnRKDFn8KNHVdrMrtlhqhhS1iRBW9iQS/gapfsOL05dzq5eWAoaDFg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; + version = "6.0.36"; + hash = "sha512-6OwlxDkPLmWojyYtMvYmqr1+b3XCo/F2vqQvkeyOXb0ix1y6qHbKNnjfcc4HPgQbeeToq4lhlp1Jvj3uY7ncJg=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.36"; hash = "sha512-lAAx+xfzVq7nByfQlRKcVTRElpBk6Q2RF7ulx600kH0mk1Dy0J5/0IxEkwi+K5pEgjjCrGs37Uhc82mVwF8iUQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.36"; hash = "sha512-OlDeI3Y7Po0mhbfmb2zVCxaKXhPUIFGBIqRlbv5vnC7OQohief/31EPBNC0RCaEaayRjTv7P3CckkX403Y8Ncw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.36"; hash = "sha512-B3ZtzUpX1lR7XjfLrMh+rsZr5lRlVx4r2jK0eJQCyqt/V0Imw2ebQjieoQJra5sb5VQZZcS9LxNGhC5RZOrIbQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-uFRU9M+2sbznLG5zJDONtdh+e6MzkduoEUgmE1EjHULpw25JtICwRtNOe2pIb1HmaAhqnIhFixbfBMzMCh0iBg=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-p9JqRzIRhqEzt8rUvKkX/LHks0wAX28+vmRwzI3Izvw2m1DkTulC/4/YE8kFRiZYu5qyVu3J7eQjeQJlZ9w8rw=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-h1wEpa6TXlNPyfrHw3XlGKQs8BIbKyKKEYiXfvXGnvIFReBocZ1GoL+rBG+AqB9UxwKi/ZTMyFC3edRBDKIJSg=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-nkc+N/yxkFrne90qBwWvMGqZGauty39r+pFyJL24KMm6KUNLrnn/aR+abM2Sas/B/nAhjKtxLXUU0paFR2jQUA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "6.0.36"; hash = "sha512-HDuYQ8oIFLpSfscZ9YcXp5rFifZKA6QJpFQAl6RAXE7GXs8a+hjBUPH5goI/Ms1L11T2WgpyGfap2wTJKsusUQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "6.0.36"; + hash = "sha512-lAAx+xfzVq7nByfQlRKcVTRElpBk6Q2RF7ulx600kH0mk1Dy0J5/0IxEkwi+K5pEgjjCrGs37Uhc82mVwF8iUQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "6.0.36"; + hash = "sha512-OlDeI3Y7Po0mhbfmb2zVCxaKXhPUIFGBIqRlbv5vnC7OQohief/31EPBNC0RCaEaayRjTv7P3CckkX403Y8Ncw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "6.0.36"; + hash = "sha512-B3ZtzUpX1lR7XjfLrMh+rsZr5lRlVx4r2jK0eJQCyqt/V0Imw2ebQjieoQJra5sb5VQZZcS9LxNGhC5RZOrIbQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-uFRU9M+2sbznLG5zJDONtdh+e6MzkduoEUgmE1EjHULpw25JtICwRtNOe2pIb1HmaAhqnIhFixbfBMzMCh0iBg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-p9JqRzIRhqEzt8rUvKkX/LHks0wAX28+vmRwzI3Izvw2m1DkTulC/4/YE8kFRiZYu5qyVu3J7eQjeQJlZ9w8rw=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-h1wEpa6TXlNPyfrHw3XlGKQs8BIbKyKKEYiXfvXGnvIFReBocZ1GoL+rBG+AqB9UxwKi/ZTMyFC3edRBDKIJSg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-nkc+N/yxkFrne90qBwWvMGqZGauty39r+pFyJL24KMm6KUNLrnn/aR+abM2Sas/B/nAhjKtxLXUU0paFR2jQUA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; + version = "6.0.36"; + hash = "sha512-HDuYQ8oIFLpSfscZ9YcXp5rFifZKA6QJpFQAl6RAXE7GXs8a+hjBUPH5goI/Ms1L11T2WgpyGfap2wTJKsusUQ=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.36"; hash = "sha512-c/rCzvHPIQ7Es9YECSisSXAS67S+T5BWp8AgwSGxwpEgr7z3mShbhKNsMtWE+F6kxncIwzyCFAvdKKV5zuGoOw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.36"; hash = "sha512-WRPkqMdz5pLsZTxXah0LgKwrGwDVc1jLxov4XKyqeCW1uAtPCTgf7UEAkFaFZufxmW8d+B0UbAD2u4PBCKYkJA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.36"; hash = "sha512-QOBu74LANKrjgQI6NMSSHZkungzGW+79tlOSv04HuGkphqCf330pMeCFvQn7U/i+egShqpFVZiFZDuzoTnCNjg=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-sSwbBQbY3e2ZesyIYmIfWkZtqCXCDd8SQ0s9bqHzw9eVqe+/Vic5lejXtUhjseT9WlVFezemHXVLKycKwOKZiw=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-PbQTcTomq+6jhG5Ya8EjVjhZ8mA4eeyRzIob4vhVtIuvQd+N29xaBSWLj7Ym3XqXVvw5ZYrV62Hq/DwOk8Lwlw=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-1SCZQotM+MemoSipVniSbLf2vL0G7MeGOgziY4yLNCc1G69FRbIEXKEojyUcL0vfo/iR7P0Yr2IiheUpTJUMgQ=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-Go50A8OXzH/v00zL1QaTW3Un9Ul9ks5RpdG1GN0gZFOt4p5kkmpaNcgCvdEH9Y0sTK5r2HLzqxqULUnbp89lIw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "6.0.36"; hash = "sha512-lb1/8FBLqS937W6BHeX/5sW7CeE+Ey8dt8O1+uwFaTBQHWVpN/DqNkVHlHfJw7gYJsp80I8imfQ7F5p47iEfxQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "6.0.36"; + hash = "sha512-c/rCzvHPIQ7Es9YECSisSXAS67S+T5BWp8AgwSGxwpEgr7z3mShbhKNsMtWE+F6kxncIwzyCFAvdKKV5zuGoOw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "6.0.36"; + hash = "sha512-WRPkqMdz5pLsZTxXah0LgKwrGwDVc1jLxov4XKyqeCW1uAtPCTgf7UEAkFaFZufxmW8d+B0UbAD2u4PBCKYkJA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "6.0.36"; + hash = "sha512-QOBu74LANKrjgQI6NMSSHZkungzGW+79tlOSv04HuGkphqCf330pMeCFvQn7U/i+egShqpFVZiFZDuzoTnCNjg=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-sSwbBQbY3e2ZesyIYmIfWkZtqCXCDd8SQ0s9bqHzw9eVqe+/Vic5lejXtUhjseT9WlVFezemHXVLKycKwOKZiw=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-PbQTcTomq+6jhG5Ya8EjVjhZ8mA4eeyRzIob4vhVtIuvQd+N29xaBSWLj7Ym3XqXVvw5ZYrV62Hq/DwOk8Lwlw=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-1SCZQotM+MemoSipVniSbLf2vL0G7MeGOgziY4yLNCc1G69FRbIEXKEojyUcL0vfo/iR7P0Yr2IiheUpTJUMgQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-Go50A8OXzH/v00zL1QaTW3Un9Ul9ks5RpdG1GN0gZFOt4p5kkmpaNcgCvdEH9Y0sTK5r2HLzqxqULUnbp89lIw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; + version = "6.0.36"; + hash = "sha512-lb1/8FBLqS937W6BHeX/5sW7CeE+Ey8dt8O1+uwFaTBQHWVpN/DqNkVHlHfJw7gYJsp80I8imfQ7F5p47iEfxQ=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "6.0.36"; hash = "sha512-xw8ONhkE2N0dRp1POSN34sOM75txFYmLhFuPMld1K7M9OO/Itv6l7ERLMlseta0mSxOg7pY+iaTUCKY5Oo9+8g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "6.0.36"; hash = "sha512-TGc7LuVvkAvUdwxaUHi9/m+PfLmatTTrlmlD+5o5XuKV0WUhfDZf2nuUjUhuIsx/0tnvV2ydwNhA8ajzeOWTCg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "6.0.36"; hash = "sha512-cwzTB77RuMKHyaACQQPiLkQys4d//jY1Y5UZvHYU+nm5m7OKUKPa3AXn1LfCoCvi9viDd8isi87hIil/AsPfng=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-3H7KYk8BOQIQarVFAZsFL+FJ9R3OW4E6dtnw+M0YruK0rc64IBJHFHdxDjBk4Bud8auS1QG3tjflxWcMDvsgew=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-nJ06DFHdbbvLBYCuAso3uJu1lC5SK6yk3Xtd8DDzxlPMhflblOZwMhEGzpNeyivAvAubbu57nLB4l/XMn+9aAQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-8xQWPhhZg/dxehVpWvl0gIkFOW43ZimP2KDAi/v9uerAXXG0NgAsHuWOCDi61gQ8LGHLX460KX1VE+VABQFHpA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-JVTMB8tANHOJikofW1YWgBZTVLYgZTWrvoUMNQLV71mrSVAC7z+6yyJnu89FuMEw4wmCYUTyI8RWklNqE+3fFA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; + version = "6.0.36"; + hash = "sha512-xw8ONhkE2N0dRp1POSN34sOM75txFYmLhFuPMld1K7M9OO/Itv6l7ERLMlseta0mSxOg7pY+iaTUCKY5Oo9+8g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; + version = "6.0.36"; + hash = "sha512-TGc7LuVvkAvUdwxaUHi9/m+PfLmatTTrlmlD+5o5XuKV0WUhfDZf2nuUjUhuIsx/0tnvV2ydwNhA8ajzeOWTCg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; + version = "6.0.36"; + hash = "sha512-cwzTB77RuMKHyaACQQPiLkQys4d//jY1Y5UZvHYU+nm5m7OKUKPa3AXn1LfCoCvi9viDd8isi87hIil/AsPfng=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-3H7KYk8BOQIQarVFAZsFL+FJ9R3OW4E6dtnw+M0YruK0rc64IBJHFHdxDjBk4Bud8auS1QG3tjflxWcMDvsgew=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-nJ06DFHdbbvLBYCuAso3uJu1lC5SK6yk3Xtd8DDzxlPMhflblOZwMhEGzpNeyivAvAubbu57nLB4l/XMn+9aAQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-8xQWPhhZg/dxehVpWvl0gIkFOW43ZimP2KDAi/v9uerAXXG0NgAsHuWOCDi61gQ8LGHLX460KX1VE+VABQFHpA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-JVTMB8tANHOJikofW1YWgBZTVLYgZTWrvoUMNQLV71mrSVAC7z+6yyJnu89FuMEw4wmCYUTyI8RWklNqE+3fFA=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "6.0.36"; hash = "sha512-9jbPtXNsHUDyCWC11sWWyv6ao9aLRvdKpM57sxvhjWeOiLt93QwAagV8uDQ+1ymXkL9IfautWREGntn6KaW62w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "6.0.36"; hash = "sha512-8BXWNjvA7BkhZD2dGx00Rfz7+FvjprTUnJKp3uLze83Wet0D/CcMn/22NSMq0JcG+DxulQgyQ8U88QadyQagMQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "6.0.36"; hash = "sha512-8SzE6VIFgq87LipNuj1chTzR93v1Wu5Xun7Om1tvKCIUk98ZjXhIaqtWr6r7mwm/KFiBthCDsgq26n0ffM7wrw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-QYX3vB6w0fNrSeoZrEZpm9uiKUEwDlny+yAy97mn4EA0TV0OJMPhHzbqwu/sGYtLQXki3pPPQwc0sH25px+FFQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-pdmyxOhfzGGOCgvjAqjIVHwIpaSCYqkDJ3sbAVI6Zmc4mlHp9MmiFJmQuM5HJaS0HBajhkchOPHwZ3Izf5EhBw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-7oFw+NpJU4tS+MtAODx4b3GINCxbDlEWcZsyPrlsP1dUhhKWy5Wk1f9r1253vnStUfx+UsvcMN753N/HTDq2nw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-upZ6lhYYPq5/3qAHUmQe+unfrkDqtYwWRLLwfEWsuTK6RHSkiLIkZbJ0SG9rPLFqAm4ZdxJ5AlylAjVTSYXWCw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; + version = "6.0.36"; + hash = "sha512-9jbPtXNsHUDyCWC11sWWyv6ao9aLRvdKpM57sxvhjWeOiLt93QwAagV8uDQ+1ymXkL9IfautWREGntn6KaW62w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; + version = "6.0.36"; + hash = "sha512-8BXWNjvA7BkhZD2dGx00Rfz7+FvjprTUnJKp3uLze83Wet0D/CcMn/22NSMq0JcG+DxulQgyQ8U88QadyQagMQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; + version = "6.0.36"; + hash = "sha512-8SzE6VIFgq87LipNuj1chTzR93v1Wu5Xun7Om1tvKCIUk98ZjXhIaqtWr6r7mwm/KFiBthCDsgq26n0ffM7wrw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-QYX3vB6w0fNrSeoZrEZpm9uiKUEwDlny+yAy97mn4EA0TV0OJMPhHzbqwu/sGYtLQXki3pPPQwc0sH25px+FFQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-pdmyxOhfzGGOCgvjAqjIVHwIpaSCYqkDJ3sbAVI6Zmc4mlHp9MmiFJmQuM5HJaS0HBajhkchOPHwZ3Izf5EhBw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-7oFw+NpJU4tS+MtAODx4b3GINCxbDlEWcZsyPrlsP1dUhhKWy5Wk1f9r1253vnStUfx+UsvcMN753N/HTDq2nw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-upZ6lhYYPq5/3qAHUmQe+unfrkDqtYwWRLLwfEWsuTK6RHSkiLIkZbJ0SG9rPLFqAm4ZdxJ5AlylAjVTSYXWCw=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "6.0.36"; hash = "sha512-dWFq/5WE7bNe+fYJrpzWihcBkNGM4cR4bRv23bYxmzdTV2pngiDXu1XBwUWpDgCNeL8eP0BgFOQ4Ra9NNXaLpw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "6.0.36"; hash = "sha512-V/yoD7xpW/R1jW3DDBLl7q7KCiSspzT4rCRgkMNf6CBFDEf1HzeoeHprpNbBz7NNMYKOWlG28Fm4uZ84LGX9MQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "6.0.36"; hash = "sha512-dYTLwgPcI9x7oexhWy+b/vsLfq4sBTgGKKdtWOYgAZFCXkKLOeWCtLySNSMmITrs7MtGgRyEwDpc5XIENc7U3A=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-l+iUoIzGLGskdR8tE58M6yLcvFQiuh6zl1y4xZ0NHiFMfxsprg495YAUhdRG9S+kkS099X8cj52YpfIirB2MjA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-od+3cWk88mKDInSQSI+TMuyfSjNnjv28xdQ/5QVyskE7lR+c2+Tf/z6qSsdJwNAPBvoCfbcNXf28qKVnIntvMA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-4RVDjn5CXgAA0CvavXrNNuBCvXa4awm4ZC+Fn0+G2lmmJaakN7NhhCg519M3n4CZm74pL8kZ7Kyc4ZbM/wcurA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-SrAbz7L/nFt+U9UmVs7irCspL7efzWM2x0MuCv6Yo+reF8scoSkVp6ZHfUrtG3oASJlgSUQI6nohmFZVF+q7DQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "6.0.36"; hash = "sha512-ZAhA9FAERM/iRLRBfZLCdA8BnRbH/Hh0CEe3EvmJb71gWUn7y+jMZX1zE32SiFS6HroMjvhAozyqMbdcqtF/ZA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; + version = "6.0.36"; + hash = "sha512-dWFq/5WE7bNe+fYJrpzWihcBkNGM4cR4bRv23bYxmzdTV2pngiDXu1XBwUWpDgCNeL8eP0BgFOQ4Ra9NNXaLpw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; + version = "6.0.36"; + hash = "sha512-V/yoD7xpW/R1jW3DDBLl7q7KCiSspzT4rCRgkMNf6CBFDEf1HzeoeHprpNbBz7NNMYKOWlG28Fm4uZ84LGX9MQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; + version = "6.0.36"; + hash = "sha512-dYTLwgPcI9x7oexhWy+b/vsLfq4sBTgGKKdtWOYgAZFCXkKLOeWCtLySNSMmITrs7MtGgRyEwDpc5XIENc7U3A=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-l+iUoIzGLGskdR8tE58M6yLcvFQiuh6zl1y4xZ0NHiFMfxsprg495YAUhdRG9S+kkS099X8cj52YpfIirB2MjA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-od+3cWk88mKDInSQSI+TMuyfSjNnjv28xdQ/5QVyskE7lR+c2+Tf/z6qSsdJwNAPBvoCfbcNXf28qKVnIntvMA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-4RVDjn5CXgAA0CvavXrNNuBCvXa4awm4ZC+Fn0+G2lmmJaakN7NhhCg519M3n4CZm74pL8kZ7Kyc4ZbM/wcurA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-SrAbz7L/nFt+U9UmVs7irCspL7efzWM2x0MuCv6Yo+reF8scoSkVp6ZHfUrtG3oASJlgSUQI6nohmFZVF+q7DQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; + version = "6.0.36"; + hash = "sha512-ZAhA9FAERM/iRLRBfZLCdA8BnRbH/Hh0CEe3EvmJb71gWUn7y+jMZX1zE32SiFS6HroMjvhAozyqMbdcqtF/ZA=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.36"; hash = "sha512-bBaPwnTViUOUer+qW9IB5Gzrv6Ha47od8DMiCho/6GtFjUi8NeDtj8/HFjApo3JZWBzBAW3xkK1MD5QFthDJCw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.36"; hash = "sha512-TRU5D6v6pHYNgtnGe9nH7XQnhKE/FdBcxvhWUkS8rcm7ZEYP2RYiOBXQvamgKqH3Tx04+i+2y/HurX0IlMaF0Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.36"; hash = "sha512-zPyKnjYA4/HHBEKgPPl+AvPBi61273ub52yfTNE1Pb4WkI0Xlc7Vg8aPtoux3kO+jS5IVs2MM3uCjOVLJKwD2g=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-yZfWNHUZyGFvLNxR2Mhtf9m5Z7B2ERTrTAGyGr38Zla2zcOIqbGlW6azyKvPhUGOmRfPOHdHtORocN8PQ4JTMg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-c9EQxxMOZVnRxb7t2mKquAV96q9AbGIzkXbS8/stkcWvTjdhJscPzwph07EZnjd/9l54iSjqZBgrFcAHGK7yqQ=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-vT9WNvH/Vjx8FlfMb65oL1hVuHAnXPC2ClcFMg9I+97tyGBNI2wwgp+zY3hicW410kP4oG/UbzImJaUuG+wi/A=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-s6wb85RmUkvDGhLy/E8ZSqmq2ghUKcRP36TVFWUD8j8Sv5Tf812BrW18lrqh/MvVZC2XRLoZNNmlQ5t1YoRcIg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "6.0.36"; hash = "sha512-hcK5PGxMmsIigqtDPCvC5b2YgPXJoUgw6NqFl6WR+TkMYqvpBG0MNByQGEfuVjuuIEMyRdKOYjigovg03FGTdg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; + version = "6.0.36"; + hash = "sha512-bBaPwnTViUOUer+qW9IB5Gzrv6Ha47od8DMiCho/6GtFjUi8NeDtj8/HFjApo3JZWBzBAW3xkK1MD5QFthDJCw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-arm64"; + version = "6.0.36"; + hash = "sha512-TRU5D6v6pHYNgtnGe9nH7XQnhKE/FdBcxvhWUkS8rcm7ZEYP2RYiOBXQvamgKqH3Tx04+i+2y/HurX0IlMaF0Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; + version = "6.0.36"; + hash = "sha512-zPyKnjYA4/HHBEKgPPl+AvPBi61273ub52yfTNE1Pb4WkI0Xlc7Vg8aPtoux3kO+jS5IVs2MM3uCjOVLJKwD2g=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-yZfWNHUZyGFvLNxR2Mhtf9m5Z7B2ERTrTAGyGr38Zla2zcOIqbGlW6azyKvPhUGOmRfPOHdHtORocN8PQ4JTMg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-c9EQxxMOZVnRxb7t2mKquAV96q9AbGIzkXbS8/stkcWvTjdhJscPzwph07EZnjd/9l54iSjqZBgrFcAHGK7yqQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-vT9WNvH/Vjx8FlfMb65oL1hVuHAnXPC2ClcFMg9I+97tyGBNI2wwgp+zY3hicW410kP4oG/UbzImJaUuG+wi/A=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-s6wb85RmUkvDGhLy/E8ZSqmq2ghUKcRP36TVFWUD8j8Sv5Tf812BrW18lrqh/MvVZC2XRLoZNNmlQ5t1YoRcIg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; + version = "6.0.36"; + hash = "sha512-hcK5PGxMmsIigqtDPCvC5b2YgPXJoUgw6NqFl6WR+TkMYqvpBG0MNByQGEfuVjuuIEMyRdKOYjigovg03FGTdg=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.36"; hash = "sha512-YJRtVo8VZ/K6qwuyGHlGrPfqVhBZAZ4fk6+tLNZPREZM3l3EjjcrjWat2QL2WZF71aFioZVQScTzKEMfIjOZlQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.36"; hash = "sha512-XylVsSjl1387Mz1g23ZUtPWGz/u1YBX2fd2Fldv2B6WteiIIdoLzHOmP+JeBR67WtVSUcEMrTT4NWj7xOr02Ww=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.36"; hash = "sha512-M6IcgiyppQQ5GUkSwCaOXGh7y9qOugLj+ePi4Ooi4qMqolXB56ciPZ7XJ2HxWsXg9OHmFcOYtu/7mDPGy2uodQ=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-GY7b2ozZJe0iiZ7l7qAp4xF09ZUe1Tk6EA35qnIFAEA0X3MjdRM2iU8iM6TZFXEaGycWX2FsydTKmYCGTHwTzQ=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-xuLTiyLCUp1xR+4gUhccwCedkFW94n1uQOlnlo9objTXX9GjPxpNik0UJ84zYKOnd5xxWS9zbBWxuoCVZcijBQ=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-CCVx2PYEhxrrN1SOLc7ls3Vf83zKCm707pSFjiwba/pj39BmRQNjDaLwaSl5s/HeSPnkSZ0Hz9KQpvkTmxUmvg=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-F0lCmbajEZCsNiYh7+FA3TGJjWwPq9hKWUZfnabKnMNqx8gzh+jeTWLW7t1/ab1jWvO3yhEKMQMQJXMBBfBhsg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "6.0.36"; hash = "sha512-bLfQElXz9BFta1qvXqjviTOeCenMh5S97vsdySMRP/IOMFifop+hE40LqUb5eKYoCyB3xkHFwlOKA1zlyKhz0A=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "6.0.36"; + hash = "sha512-YJRtVo8VZ/K6qwuyGHlGrPfqVhBZAZ4fk6+tLNZPREZM3l3EjjcrjWat2QL2WZF71aFioZVQScTzKEMfIjOZlQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "6.0.36"; + hash = "sha512-XylVsSjl1387Mz1g23ZUtPWGz/u1YBX2fd2Fldv2B6WteiIIdoLzHOmP+JeBR67WtVSUcEMrTT4NWj7xOr02Ww=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "6.0.36"; + hash = "sha512-M6IcgiyppQQ5GUkSwCaOXGh7y9qOugLj+ePi4Ooi4qMqolXB56ciPZ7XJ2HxWsXg9OHmFcOYtu/7mDPGy2uodQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-GY7b2ozZJe0iiZ7l7qAp4xF09ZUe1Tk6EA35qnIFAEA0X3MjdRM2iU8iM6TZFXEaGycWX2FsydTKmYCGTHwTzQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-xuLTiyLCUp1xR+4gUhccwCedkFW94n1uQOlnlo9objTXX9GjPxpNik0UJ84zYKOnd5xxWS9zbBWxuoCVZcijBQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-CCVx2PYEhxrrN1SOLc7ls3Vf83zKCm707pSFjiwba/pj39BmRQNjDaLwaSl5s/HeSPnkSZ0Hz9KQpvkTmxUmvg=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-F0lCmbajEZCsNiYh7+FA3TGJjWwPq9hKWUZfnabKnMNqx8gzh+jeTWLW7t1/ab1jWvO3yhEKMQMQJXMBBfBhsg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; + version = "6.0.36"; + hash = "sha512-bLfQElXz9BFta1qvXqjviTOeCenMh5S97vsdySMRP/IOMFifop+hE40LqUb5eKYoCyB3xkHFwlOKA1zlyKhz0A=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "6.0.36"; hash = "sha512-oqI1Ilt03mR/4Y4VDNMeYkr5hP3YafBi0h6piSLMXPTCaOgkMHsU6xSpJW5CMTwOCEwREfMZxr22g/meL0uJmg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "6.0.36"; hash = "sha512-isiVFlAPxOJDR3pbWTrdfoy7ZbLTmg4YHgg1Vzzo0S3M35mSUU4Ere286J0lrA5s/jAe6JhBSmuvCUELIfvegw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "6.0.36"; hash = "sha512-9duYa7xbMuNJG3vsFO+TNLA8Fcvs7OPonbvH812od/ujnfbeoKPsPVPxOcgJhdUbTiRS9AMTLh3R8v491smQ0A=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-2o8Lnw37R8wev0dpNIbdxlyRzCE+0nAeFXdzctGp+C9ieshr8Or6pnF1Yb4/Bscqmue+KjBbVpWqEuHyyRHP9A=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-SxUYXhhM/fGkb08i21KbXT2hyedzb+Mf3wcBmFg4NTteRdbt5KWuUD+DCe9Z6Bbmr50H8T7EgOS/QIW96HZzIA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-RRKTjZYWik95UGSRROy5BvwfpBYd+gAQi4XQUuc3vi90TQGxrz/OlPjD9bPPZ4Pr8H/PB7Y3bUrfKnmcs8OOJQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-SewnE02UhqILbpoLxVkL+FLaCCu+EJ/SmR3DwFhAwFPX+47mPB1tLYW5IBDIcT/jbo9JCQaQ+DWdaW2Ghq7m5w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; + version = "6.0.36"; + hash = "sha512-oqI1Ilt03mR/4Y4VDNMeYkr5hP3YafBi0h6piSLMXPTCaOgkMHsU6xSpJW5CMTwOCEwREfMZxr22g/meL0uJmg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-arm64"; + version = "6.0.36"; + hash = "sha512-isiVFlAPxOJDR3pbWTrdfoy7ZbLTmg4YHgg1Vzzo0S3M35mSUU4Ere286J0lrA5s/jAe6JhBSmuvCUELIfvegw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-arm64"; + version = "6.0.36"; + hash = "sha512-9duYa7xbMuNJG3vsFO+TNLA8Fcvs7OPonbvH812od/ujnfbeoKPsPVPxOcgJhdUbTiRS9AMTLh3R8v491smQ0A=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-2o8Lnw37R8wev0dpNIbdxlyRzCE+0nAeFXdzctGp+C9ieshr8Or6pnF1Yb4/Bscqmue+KjBbVpWqEuHyyRHP9A=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-SxUYXhhM/fGkb08i21KbXT2hyedzb+Mf3wcBmFg4NTteRdbt5KWuUD+DCe9Z6Bbmr50H8T7EgOS/QIW96HZzIA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-RRKTjZYWik95UGSRROy5BvwfpBYd+gAQi4XQUuc3vi90TQGxrz/OlPjD9bPPZ4Pr8H/PB7Y3bUrfKnmcs8OOJQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-SewnE02UhqILbpoLxVkL+FLaCCu+EJ/SmR3DwFhAwFPX+47mPB1tLYW5IBDIcT/jbo9JCQaQ+DWdaW2Ghq7m5w=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.36"; hash = "sha512-XS0rzgotxL8fojceQ7zeYlmVRqSqRuP3SMJymXpIS45R8dnlpEooDfjjWRMAvyWkscmAmXQRI4f/UItGsTND5g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.36"; hash = "sha512-Qpsf4A+J0o0VZk/CQ7zvIvUIv6x+g3l2SVko2K33GcMaBj44CTT9giuHIRkTkcc2mQ5t9cFZLMeWiUuBRxoPBg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.36"; hash = "sha512-SjnCMVnWxee70G6D0Pkd4ku/hkPgs6z/nK7ivfLSk12fIWb7aMtM3umXjWjDs8f0aBH8MIw+JTDObDpAKsbCKA=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-xEyxlFIb5REDd3hUOmHafhSQh1BlL9WkbZS9FWdeqPQBhA3b22Du7DJCIv0HKjEqYZIM52+bSYZP7xWM0ZAQgg=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-BUuU3zZPYIofbnQR2NLQvD4sYorgexmMGpr+I0OweCOg07wxjLRR4R6Y5e5FHcsYC43rqLVe9Aef/+8+kcH9nw=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-mgAXyAMIdlx09SyTLILzYHZBKJKpLdhGAsfhftLTkjV7dLqMa1hLeI0L4z5L0Qh45+kySfWirfLCrbXYPCoHbw=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-LUx67cKuFJR2rKoTmb/GCwSmSYFX0ZitgjxacIfkZvhcsqOu1Sj1MYNmDiNURK/tA6nAxyYd5oeLZQUd2zQJ4w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "6.0.36"; hash = "sha512-E9hCzeTTHxb8LxfTRQNcG5rXhlgsSvNDOm1c8oUjJIMG1dJkKs9x47oSQccnbhvAdoMoDUV8xKxohlFjsFPiMg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "6.0.36"; + hash = "sha512-XS0rzgotxL8fojceQ7zeYlmVRqSqRuP3SMJymXpIS45R8dnlpEooDfjjWRMAvyWkscmAmXQRI4f/UItGsTND5g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x64"; + version = "6.0.36"; + hash = "sha512-Qpsf4A+J0o0VZk/CQ7zvIvUIv6x+g3l2SVko2K33GcMaBj44CTT9giuHIRkTkcc2mQ5t9cFZLMeWiUuBRxoPBg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "6.0.36"; + hash = "sha512-SjnCMVnWxee70G6D0Pkd4ku/hkPgs6z/nK7ivfLSk12fIWb7aMtM3umXjWjDs8f0aBH8MIw+JTDObDpAKsbCKA=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-xEyxlFIb5REDd3hUOmHafhSQh1BlL9WkbZS9FWdeqPQBhA3b22Du7DJCIv0HKjEqYZIM52+bSYZP7xWM0ZAQgg=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-BUuU3zZPYIofbnQR2NLQvD4sYorgexmMGpr+I0OweCOg07wxjLRR4R6Y5e5FHcsYC43rqLVe9Aef/+8+kcH9nw=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-mgAXyAMIdlx09SyTLILzYHZBKJKpLdhGAsfhftLTkjV7dLqMa1hLeI0L4z5L0Qh45+kySfWirfLCrbXYPCoHbw=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-LUx67cKuFJR2rKoTmb/GCwSmSYFX0ZitgjxacIfkZvhcsqOu1Sj1MYNmDiNURK/tA6nAxyYd5oeLZQUd2zQJ4w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; + version = "6.0.36"; + hash = "sha512-E9hCzeTTHxb8LxfTRQNcG5rXhlgsSvNDOm1c8oUjJIMG1dJkKs9x47oSQccnbhvAdoMoDUV8xKxohlFjsFPiMg=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "6.0.36"; hash = "sha512-YKC7Jv9kh1dVCQkIGfEX4ZVk/DC+6l/X5dtWP2EFDaIJsjVZm9g+BZxL2YuD9rpuKFHevJDqliDtAq95SQxE7A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "6.0.36"; hash = "sha512-RnD5u/QM5m9s8eiI6x6b00curwmLWiubt0bp8gEKC94EHDMoziuTRLWws8TObmmqqgXNomVkWgmIFSHdMem21g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "6.0.36"; hash = "sha512-ADrfJxNefOr1UwTwblK9R+zbwgj1U79y3DFUemrjfInsM0YW5B1r/bEumz0UDeYmwkRvMbwgtBNyLEGg0d1kwQ=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "6.0.36"; hash = "sha512-cKF0mL4WOq5RnrfKNynpo3Nnjcbq5gz0yJEuJuvJMi9UILvBe1R2YKY4pgsQSMPMkZlukq1pjKQz1R8PLVewuw=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "6.0.36"; hash = "sha512-dpxFo7/E7fSsPuX9XOvN365fBjwzisqWmpRu8RJC3hT/VBWkwIlmVm/r+xFlPFDvimlSwNFsbSkRLX+1YIcEMA=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.36"; hash = "sha512-nuzHFGpbwv2owK6F/uJuj0m70BAG1NAj+ANbHyt7VKCktSI1bXLi/Fn6/7xiB7scXLcdMC6ay5cZrAlC6kSUDQ=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.36"; hash = "sha512-6myLyhUePahDenH3ew+QXNkBjBWjIs5vKI34OqGlE6Yqg+MiG9G6WkC/UnNX539C/ymgDapWqmucLUq4zUX2HA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "6.0.36"; hash = "sha512-05QcCR4RZ4ntU+Epf8Pj+6Jk0hPYtOwsw7YE0pn1TsGKA9F2eodaXyhh8Ppyq8nrnI6DqxIiNrVJX+JFPhTfZQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; + version = "6.0.36"; + hash = "sha512-YKC7Jv9kh1dVCQkIGfEX4ZVk/DC+6l/X5dtWP2EFDaIJsjVZm9g+BZxL2YuD9rpuKFHevJDqliDtAq95SQxE7A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x86"; + version = "6.0.36"; + hash = "sha512-RnD5u/QM5m9s8eiI6x6b00curwmLWiubt0bp8gEKC94EHDMoziuTRLWws8TObmmqqgXNomVkWgmIFSHdMem21g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x86"; + version = "6.0.36"; + hash = "sha512-ADrfJxNefOr1UwTwblK9R+zbwgj1U79y3DFUemrjfInsM0YW5B1r/bEumz0UDeYmwkRvMbwgtBNyLEGg0d1kwQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; + version = "6.0.36"; + hash = "sha512-cKF0mL4WOq5RnrfKNynpo3Nnjcbq5gz0yJEuJuvJMi9UILvBe1R2YKY4pgsQSMPMkZlukq1pjKQz1R8PLVewuw=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; + version = "6.0.36"; + hash = "sha512-dpxFo7/E7fSsPuX9XOvN365fBjwzisqWmpRu8RJC3hT/VBWkwIlmVm/r+xFlPFDvimlSwNFsbSkRLX+1YIcEMA=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; + version = "6.0.36"; + hash = "sha512-nuzHFGpbwv2owK6F/uJuj0m70BAG1NAj+ANbHyt7VKCktSI1bXLi/Fn6/7xiB7scXLcdMC6ay5cZrAlC6kSUDQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; + version = "6.0.36"; + hash = "sha512-6myLyhUePahDenH3ew+QXNkBjBWjIs5vKI34OqGlE6Yqg+MiG9G6WkC/UnNX539C/ymgDapWqmucLUq4zUX2HA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; + version = "6.0.36"; + hash = "sha512-05QcCR4RZ4ntU+Epf8Pj+6Jk0hPYtOwsw7YE0pn1TsGKA9F2eodaXyhh8Ppyq8nrnI6DqxIiNrVJX+JFPhTfZQ=="; + }) ]; }; -in rec { +in +rec { release_6_0 = "6.0.36"; aspnetcore_6_0 = buildAspNetCore { diff --git a/pkgs/development/compilers/dotnet/versions/7.0.nix b/pkgs/development/compilers/dotnet/versions/7.0.nix index 3ab08496f8ae9..2b3f6dfff4570 100644 --- a/pkgs/development/compilers/dotnet/versions/7.0.nix +++ b/pkgs/development/compilers/dotnet/versions/7.0.nix @@ -1,172 +1,618 @@ -{ buildAspNetCore, buildNetRuntime, buildNetSdk, fetchNupkg }: +{ + buildAspNetCore, + buildNetRuntime, + buildNetSdk, + fetchNupkg, +}: # v7.0 (eol) let commonPackages = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.20"; hash = "sha512-ySX6TZFi1eSJj3c3JIroCLzHbZkLmr+fgeQ78AUYsOUhjKKw7qliqRoMKx9Uqc/qMMkyRpSBcwfJ7X7vWYbPeQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-zIPVUsCfS9EbdvNxJ0tkV7Insj7CTpIMA+ILK9y6Tr7qqG56sgMIW+0KOJg/UPlWH/2epqsIhMWoBZWt8bZtuA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.20"; hash = "sha512-dk6z/ZqMpZ4lxVisgnPX1H+MwiUTRQHhwq3e9VMSIRL5loVdqHlZ9fRFfAejEz3U8EbvGV43Vp3OwF5R7mlTTw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-H4RtRdwUQpBk7tJFT3C/c9WNGGdAVDq9S3Mz6qYP5Sasov7NPcR2rkoTNIoo4jTt3p26vsNcb5lAiQBBptaveA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-puv59sewO3+HudFk/Fpt8x3IJuEDk5TvTSJdn/EM00P8j5AmA3WyjHA1bSSUOuyGwjxPDe9t5iYoaYDysa97mw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-7xdJGNmwiuEV8vRizwuX34ETFRuxNZZk4t+o8JmGrGDecZ1JNgzip8CUz44/AYaLztUdXv3O7xZB7OQO8AO5Kg=="; }) - (fetchNupkg { pname = "Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-4WZbJ4WKpN7BzXKIQhzNz3Srp3zhDHiv98SFGQlAzFiYp+viQ6nzD4jzax9yOkx6mDCuOsJfscEq2U/pXL+2dw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "7.0.20"; + hash = "sha512-ySX6TZFi1eSJj3c3JIroCLzHbZkLmr+fgeQ78AUYsOUhjKKw7qliqRoMKx9Uqc/qMMkyRpSBcwfJ7X7vWYbPeQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-zIPVUsCfS9EbdvNxJ0tkV7Insj7CTpIMA+ILK9y6Tr7qqG56sgMIW+0KOJg/UPlWH/2epqsIhMWoBZWt8bZtuA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Ref"; + version = "7.0.20"; + hash = "sha512-dk6z/ZqMpZ4lxVisgnPX1H+MwiUTRQHhwq3e9VMSIRL5loVdqHlZ9fRFfAejEz3U8EbvGV43Vp3OwF5R7mlTTw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-H4RtRdwUQpBk7tJFT3C/c9WNGGdAVDq9S3Mz6qYP5Sasov7NPcR2rkoTNIoo4jTt3p26vsNcb5lAiQBBptaveA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-puv59sewO3+HudFk/Fpt8x3IJuEDk5TvTSJdn/EM00P8j5AmA3WyjHA1bSSUOuyGwjxPDe9t5iYoaYDysa97mw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-7xdJGNmwiuEV8vRizwuX34ETFRuxNZZk4t+o8JmGrGDecZ1JNgzip8CUz44/AYaLztUdXv3O7xZB7OQO8AO5Kg=="; + }) + (fetchNupkg { + pname = "Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-4WZbJ4WKpN7BzXKIQhzNz3Srp3zhDHiv98SFGQlAzFiYp+viQ6nzD4jzax9yOkx6mDCuOsJfscEq2U/pXL+2dw=="; + }) ]; hostPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "7.0.20"; hash = "sha512-GJMG2UNQPuSxxStN/x1Seee4JUXwhYmn4h6/dV7xuCg7zexC6S350W5GEBqKc1kU92rD2oV75UdUkqZGimU4ug=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; + version = "7.0.20"; + hash = "sha512-GJMG2UNQPuSxxStN/x1Seee4JUXwhYmn4h6/dV7xuCg7zexC6S350W5GEBqKc1kU92rD2oV75UdUkqZGimU4ug=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "7.0.20"; hash = "sha512-hR6BQ19osMSIzMMaBC/XF9VU4yKhjjAwEp9nEBwNmOrAQfkVRwG5Td+gLhRiOMW0pY5/GjXLlwziiFQ2ksZqaQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-oGiO7TutJZb4JVoPyqGLMaDQ9oWMYg6rp+dughnnNhD4bU3xy189hWfxfMYTHZbct2vlPbSX1OlTCkhjENgpww=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; + version = "7.0.20"; + hash = "sha512-hR6BQ19osMSIzMMaBC/XF9VU4yKhjjAwEp9nEBwNmOrAQfkVRwG5Td+gLhRiOMW0pY5/GjXLlwziiFQ2ksZqaQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-oGiO7TutJZb4JVoPyqGLMaDQ9oWMYg6rp+dughnnNhD4bU3xy189hWfxfMYTHZbct2vlPbSX1OlTCkhjENgpww=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "7.0.20"; hash = "sha512-Ydi2yUhYl//LrXMYWtr4YKxwbz/M+qNI4VJG1zgLRBBu2ZLvHULKOMMtiUJYYHV692jbkENGGFUUu3E6JiCrYQ=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-sOSigEu2JZ8SuVT/34zUHiw0xiDxjsX+pRvbvXa8aXWAJwfy/CFOow2S7wD6foZA/WCg0wPeaV3ny8vWE8Nt1g=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; + version = "7.0.20"; + hash = "sha512-Ydi2yUhYl//LrXMYWtr4YKxwbz/M+qNI4VJG1zgLRBBu2ZLvHULKOMMtiUJYYHV692jbkENGGFUUu3E6JiCrYQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-sOSigEu2JZ8SuVT/34zUHiw0xiDxjsX+pRvbvXa8aXWAJwfy/CFOow2S7wD6foZA/WCg0wPeaV3ny8vWE8Nt1g=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "7.0.20"; hash = "sha512-s1fmr6tneGoM1Kx6Bd3ZXHpCBP5L24uZStqZpstEamz9SLzWAYouDgclk2hS1vrxkTEbM3tzHUtMPzBGaB0FWg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; + version = "7.0.20"; + hash = "sha512-s1fmr6tneGoM1Kx6Bd3ZXHpCBP5L24uZStqZpstEamz9SLzWAYouDgclk2hS1vrxkTEbM3tzHUtMPzBGaB0FWg=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "7.0.20"; hash = "sha512-O1I5IR+Bn3zADNEc3H6mG48hW934vx6qDb09UlBVuDHlOjkQorm99IEktZZNaWxcuOqhtEi8+1eIAVmyBy3maw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-Cf37Af+mBJseV7N6gV1mVPVu5ldPF9jkQUsu+EZNwDCrzKLslkQz06E3UiEIM3LHWh/TtIYZe393Y7M7OwKUQA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; + version = "7.0.20"; + hash = "sha512-O1I5IR+Bn3zADNEc3H6mG48hW934vx6qDb09UlBVuDHlOjkQorm99IEktZZNaWxcuOqhtEi8+1eIAVmyBy3maw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-Cf37Af+mBJseV7N6gV1mVPVu5ldPF9jkQUsu+EZNwDCrzKLslkQz06E3UiEIM3LHWh/TtIYZe393Y7M7OwKUQA=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "7.0.20"; hash = "sha512-3yOYRm4dt6x8CM9xQ153CVLQc/f5tWJSKs6t/Shq9Q8E4kE0S1hYP3i90zorOlrvwHO08wcb8pxYOo2l6PPYxw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-GYaw401lDpfW87lbZzoLiZmEG+WjCXnxkEfFi4Gs8+5YHZBAxJLV67r4ifCGt0n/TdXbxDZbZCXBT/lLzij8Pg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; + version = "7.0.20"; + hash = "sha512-3yOYRm4dt6x8CM9xQ153CVLQc/f5tWJSKs6t/Shq9Q8E4kE0S1hYP3i90zorOlrvwHO08wcb8pxYOo2l6PPYxw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-GYaw401lDpfW87lbZzoLiZmEG+WjCXnxkEfFi4Gs8+5YHZBAxJLV67r4ifCGt0n/TdXbxDZbZCXBT/lLzij8Pg=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "7.0.20"; hash = "sha512-Qzruh84k89DwZQaHiIrK5WqRD+ScoNGbX0xvG1d5OPO0fnJod/nmPhdYo/9AXobTpY9WYpfEVTcGGMjGncwfMg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; + version = "7.0.20"; + hash = "sha512-Qzruh84k89DwZQaHiIrK5WqRD+ScoNGbX0xvG1d5OPO0fnJod/nmPhdYo/9AXobTpY9WYpfEVTcGGMjGncwfMg=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "7.0.20"; hash = "sha512-H2xNMKpVvdUDRDGnEecDq84wPWhhjL+ls4W6QUOGwp6hoSMDOIXqUMPKm7gYlO4O0VCy93DYXx5aRXf9tVMVlA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-sa86jqaVkMxX80lCyNczLAs7MlIp6ZEba7kdWL3WUviPzfG38NT+KGuG4ruV0NEQZSIlrCrQzeu6iHhirIhDhA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; + version = "7.0.20"; + hash = "sha512-H2xNMKpVvdUDRDGnEecDq84wPWhhjL+ls4W6QUOGwp6hoSMDOIXqUMPKm7gYlO4O0VCy93DYXx5aRXf9tVMVlA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-sa86jqaVkMxX80lCyNczLAs7MlIp6ZEba7kdWL3WUviPzfG38NT+KGuG4ruV0NEQZSIlrCrQzeu6iHhirIhDhA=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; version = "7.0.20"; hash = "sha512-jbKk+MEWwNJ4l/ueJ8xoc/WOAnYawTohaMuRI67dMMldbsFMjtjNJXBqANioRgEJ/6648fiysvgat39io0KlBQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-38BRd1Vma9n8ggDVTJOVgJwNvLhnwvy3fOgdeLeDtwtEZ1QhE+CAgQwzuH6VNi8H10WGCP9D18f1+dw+/Wegnw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; + version = "7.0.20"; + hash = "sha512-jbKk+MEWwNJ4l/ueJ8xoc/WOAnYawTohaMuRI67dMMldbsFMjtjNJXBqANioRgEJ/6648fiysvgat39io0KlBQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-38BRd1Vma9n8ggDVTJOVgJwNvLhnwvy3fOgdeLeDtwtEZ1QhE+CAgQwzuH6VNi8H10WGCP9D18f1+dw+/Wegnw=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; version = "7.0.20"; hash = "sha512-3xM+swE86Z5Adp4LM+CeadMROSgoCdQ3i+aiiwKv5JwXESeN/1cFQgIJjuXtZAmSeaop3eu64Om1+poD2YtWbA=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.20"; hash = "sha512-aoVzNoDMrYlaBnBqsdXzpHFgzPR88j5foFnqa9w2VWyeQqqSxvBv7PCOc7yWSU+2yr5tIIr4fa1h8Ahn4+9uZQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; + version = "7.0.20"; + hash = "sha512-3xM+swE86Z5Adp4LM+CeadMROSgoCdQ3i+aiiwKv5JwXESeN/1cFQgIJjuXtZAmSeaop3eu64Om1+poD2YtWbA=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; + version = "7.0.20"; + hash = "sha512-aoVzNoDMrYlaBnBqsdXzpHFgzPR88j5foFnqa9w2VWyeQqqSxvBv7PCOc7yWSU+2yr5tIIr4fa1h8Ahn4+9uZQ=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; version = "7.0.20"; hash = "sha512-/ikA96hY3FQhOkrO7lcWmlry8e2Dq0gvDMSJ5M8A7lFFTshHL8+maXxitWXb/JGRWmA2F7s8NlIkUZOXmblV3Q=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; + version = "7.0.20"; + hash = "sha512-/ikA96hY3FQhOkrO7lcWmlry8e2Dq0gvDMSJ5M8A7lFFTshHL8+maXxitWXb/JGRWmA2F7s8NlIkUZOXmblV3Q=="; + }) ]; }; targetPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "7.0.20"; hash = "sha512-XHwBlrABxZA5+Fny0zs0gQa8OLHqWU2dCT5gtj0B3O9B5696yiH0WjSu4Af1cf9q9zBTfVOPkVh4h5etf3VUOg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "7.0.20"; hash = "sha512-c+P8/CGPeinx/ch69USopX0t4nux/JvSExuJzhlcgNoraYWJd+qfR44qZN0gdYBKIwCPem/xATze8FwxKcG4cQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "7.0.20"; hash = "sha512-y9Egnw0qVXdKRNOPKZ0amu0B0ojk95f838nEmt0A0jGyTXHHo5uXCK+DOGH7pCbeiaaZifWo5Va8CtDXSH64Qg=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-XhbUBpTDP+MVdtwLWCcTRJlhuJBHQYMvDpBAt5TvSlkZgUNeTnGTKGRjaehrA9refSi440eYlR20fDONE3RcGg=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-oRBtuytqfo8feMpWAIajol/mp0Q5clXtccQ5YiGDOvhf/OKzDquVKuLWXnoLUBPrz3wdJyfcPa/hGZZjbexKWQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-m7921DXQMDfqRICavvcOYnH+LEAS3JqE6+jOlI9lST624PLO8oWac0GrljwKkhA2QPPjNZEw8+QtACkiJ0KnYQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-JL9ppjzSerw1dmYJ1SDJ92Hfbg6G/kBRFZ3r0H+JMo0fjE03TSPmmMRPNbeaWbqeBLEOsoD9CnvVg6djdOEvTA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "7.0.20"; hash = "sha512-V6EHnxIh8o/MG/VEtWYF5yKGB4ZoXZsgMg9oSfummwThV/qP4vclU68HtoINgpJsjl01/D6q2e9eccElLCPt0A=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; + version = "7.0.20"; + hash = "sha512-XHwBlrABxZA5+Fny0zs0gQa8OLHqWU2dCT5gtj0B3O9B5696yiH0WjSu4Af1cf9q9zBTfVOPkVh4h5etf3VUOg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm"; + version = "7.0.20"; + hash = "sha512-c+P8/CGPeinx/ch69USopX0t4nux/JvSExuJzhlcgNoraYWJd+qfR44qZN0gdYBKIwCPem/xATze8FwxKcG4cQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm"; + version = "7.0.20"; + hash = "sha512-y9Egnw0qVXdKRNOPKZ0amu0B0ojk95f838nEmt0A0jGyTXHHo5uXCK+DOGH7pCbeiaaZifWo5Va8CtDXSH64Qg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-XhbUBpTDP+MVdtwLWCcTRJlhuJBHQYMvDpBAt5TvSlkZgUNeTnGTKGRjaehrA9refSi440eYlR20fDONE3RcGg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-oRBtuytqfo8feMpWAIajol/mp0Q5clXtccQ5YiGDOvhf/OKzDquVKuLWXnoLUBPrz3wdJyfcPa/hGZZjbexKWQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-m7921DXQMDfqRICavvcOYnH+LEAS3JqE6+jOlI9lST624PLO8oWac0GrljwKkhA2QPPjNZEw8+QtACkiJ0KnYQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-JL9ppjzSerw1dmYJ1SDJ92Hfbg6G/kBRFZ3r0H+JMo0fjE03TSPmmMRPNbeaWbqeBLEOsoD9CnvVg6djdOEvTA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; + version = "7.0.20"; + hash = "sha512-V6EHnxIh8o/MG/VEtWYF5yKGB4ZoXZsgMg9oSfummwThV/qP4vclU68HtoINgpJsjl01/D6q2e9eccElLCPt0A=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha512-7alEgdaS+JmhsfvgZWcOGEOWfL20TFShwkbpbRtiyXjXzMV6JHVER8s3n+tV+Bep85ME+FRwZh21YK+Nx33aZg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.20"; hash = "sha512-a+SvJNNVQMGWbTKKmDRS4Dc83WzP4REEk2doI3UjEMkFdsLbEm2Lep3vCUpb7mkkFvjYPMiFqNiNG6OGTuVaVA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha512-gxR7jFMvYM0IDe77zAE9OnCveUM5eW2poCOayo88FD82f//4/BK6sHY/gked0cu5cUMhygTmXEwr3klKrRnxgA=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-4q9Mo/KPoOkeX2gvUbgIR5Oyo+YCozXFd0rLk1+uJrZabBrzyxqs1Wdx9Iya2KrM4b5X+rSqjEZcLPZ2h2KpEQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-wB7JHQS6vd0aRwFVsLGwzjMs4n6nmt/Z5EhmESdrOoFAtRm0e3UI8nerzUa+JGInlCrZ5RT+1VAtwNNoUJ1yEg=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-krhZ6dclekB1enWxYcCeboGgk2yaJEBV5Cn5thj6Lv6KTMfpcqkIJobtAxcb6eg8qJVqRTN0DebTedR4lSFQKw=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-2gAdw0/KO7sqhe4B5bcs++sJQhv5DlNK8QFXehXVjd3P8u2wse8nSuquN9iYi/P3ztnFaJAi5yJvzNEwF+fRQw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "7.0.20"; hash = "sha512-s3xEcytFnFKyBXUWrh5GehbZ/kG5thQKn9Q6J1iNaigIEzxbaNO5vrtPSb0patwnrsltzHC7e1ETrkY6E9/jGA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "7.0.20"; + hash = "sha512-7alEgdaS+JmhsfvgZWcOGEOWfL20TFShwkbpbRtiyXjXzMV6JHVER8s3n+tV+Bep85ME+FRwZh21YK+Nx33aZg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "7.0.20"; + hash = "sha512-a+SvJNNVQMGWbTKKmDRS4Dc83WzP4REEk2doI3UjEMkFdsLbEm2Lep3vCUpb7mkkFvjYPMiFqNiNG6OGTuVaVA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "7.0.20"; + hash = "sha512-gxR7jFMvYM0IDe77zAE9OnCveUM5eW2poCOayo88FD82f//4/BK6sHY/gked0cu5cUMhygTmXEwr3klKrRnxgA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-4q9Mo/KPoOkeX2gvUbgIR5Oyo+YCozXFd0rLk1+uJrZabBrzyxqs1Wdx9Iya2KrM4b5X+rSqjEZcLPZ2h2KpEQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-wB7JHQS6vd0aRwFVsLGwzjMs4n6nmt/Z5EhmESdrOoFAtRm0e3UI8nerzUa+JGInlCrZ5RT+1VAtwNNoUJ1yEg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-krhZ6dclekB1enWxYcCeboGgk2yaJEBV5Cn5thj6Lv6KTMfpcqkIJobtAxcb6eg8qJVqRTN0DebTedR4lSFQKw=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-2gAdw0/KO7sqhe4B5bcs++sJQhv5DlNK8QFXehXVjd3P8u2wse8nSuquN9iYi/P3ztnFaJAi5yJvzNEwF+fRQw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; + version = "7.0.20"; + hash = "sha512-s3xEcytFnFKyBXUWrh5GehbZ/kG5thQKn9Q6J1iNaigIEzxbaNO5vrtPSb0patwnrsltzHC7e1ETrkY6E9/jGA=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha512-DC+IasSvYfnFkrcT3gnq08t0iVKmIPmxEFrvITw3qdwH9Y5kz9ZEI4xgcQBIbrzUcE+z/5rwWVhATcxNHgaAWw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.20"; hash = "sha512-abPlEkse/tu8w/F9YPG7fzIP+NbtfhfBrkTjCgnRUnL+HXRkn7ysrUQJ63zWlhVYWilzwTAmUlnjqBsZ+Psnzg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha512-swLcwMoZuUvAWukwmEbjr+YXYtRyeDR/hiYALZ5SVFjtyfS/FSE3IY/xbVtkEyfMFPEcRdErlDVYcJEEq0kPaQ=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-6VO37nmADf3894eVUQDS2rK2+pNC2QMgWaeVrKL4iKexXDPqa8NC+Qy+FeU2j0Ugp3+V13WFrl1+MXDXIDflcg=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-HMRw00L72Ey4bWder1PBZ9VePtd4pJThOMv2bobZrnwzav5s3dlgGjxYc1xxbhmUq0vRZVJrjNkjcM0sAVxIeA=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-1CHk19oIgLW9RKP3LX8M7SoMhdYVsQP7nnA5iuKryGeBPvpGsxGcuB50nzQgUc++PfKfKS9CNPfVGrwKhGGo6g=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-lKM4wOtXytPXxf6kQ+68Xmp2WNddKsnJw40MPuWgSYki2SnTccCaP/jI2s+9A78wqx2ycoSOhMTXM37Ee8v6wA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "7.0.20"; hash = "sha512-Co4sV6mPzPF3nh5YFe5RMDmcW7x2nluyN9hAP5zBd4w0lmyeLRxc4BxUH6aq+vgtOjjoS96nV2p2c+zS/MSiZw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "7.0.20"; + hash = "sha512-DC+IasSvYfnFkrcT3gnq08t0iVKmIPmxEFrvITw3qdwH9Y5kz9ZEI4xgcQBIbrzUcE+z/5rwWVhATcxNHgaAWw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "7.0.20"; + hash = "sha512-abPlEkse/tu8w/F9YPG7fzIP+NbtfhfBrkTjCgnRUnL+HXRkn7ysrUQJ63zWlhVYWilzwTAmUlnjqBsZ+Psnzg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "7.0.20"; + hash = "sha512-swLcwMoZuUvAWukwmEbjr+YXYtRyeDR/hiYALZ5SVFjtyfS/FSE3IY/xbVtkEyfMFPEcRdErlDVYcJEEq0kPaQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-6VO37nmADf3894eVUQDS2rK2+pNC2QMgWaeVrKL4iKexXDPqa8NC+Qy+FeU2j0Ugp3+V13WFrl1+MXDXIDflcg=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-HMRw00L72Ey4bWder1PBZ9VePtd4pJThOMv2bobZrnwzav5s3dlgGjxYc1xxbhmUq0vRZVJrjNkjcM0sAVxIeA=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-1CHk19oIgLW9RKP3LX8M7SoMhdYVsQP7nnA5iuKryGeBPvpGsxGcuB50nzQgUc++PfKfKS9CNPfVGrwKhGGo6g=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-lKM4wOtXytPXxf6kQ+68Xmp2WNddKsnJw40MPuWgSYki2SnTccCaP/jI2s+9A78wqx2ycoSOhMTXM37Ee8v6wA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; + version = "7.0.20"; + hash = "sha512-Co4sV6mPzPF3nh5YFe5RMDmcW7x2nluyN9hAP5zBd4w0lmyeLRxc4BxUH6aq+vgtOjjoS96nV2p2c+zS/MSiZw=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "7.0.20"; hash = "sha512-MEK4A+6U5zcx4iE+D6iBWHoIX/kJSSUXlXMeWNfMrE8kz2y0Rzck5/zeIXyj39vPCJmuNgmkNqJ0Bd98k94sfg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "7.0.20"; hash = "sha512-vLWNiWcEUx2WSIcM5U5kHDzxm+ITpE746cIzFc0IXY2UgLac2MNEMxmyNC+kI6rXYGwUEJwygIjZhugGanvDsA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "7.0.20"; hash = "sha512-U0enhz5LmGi8FK4Zue36ikxFnoUeBM9nH3ZUmrnyWSYT9m5+wp8Bd8I6ubebW1j8K5d744I9b5oUnNWeGLVkow=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-+mXIZIE4bpGkhlJjBKKCBIm3dJzP4n4LXpsT5Kz3WuasxdNhJ5TVVthIuLz6KKoWEpuRyplrf/rJp0RU8FqmdA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-ywvN5Qmbl94w5ZEAllIpzfHbKLdrjDz626vnr1gaocQNE3BQOi2gt8v3KgOGxevGLrQOocJ+zb1U8GYmxl/g/Q=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-5HVoAWI+7YnneMvF5n62Hp0V45YKONOvHInBQ6gw9TP89Ykf1gjwEE6zQHlpu8+lX1qcTfqWu1iC/GOoo3BshA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-Ji7Q25uFyIEAk8/+4sOmPFDa1UQmnM9bv8ROtH91vyPCZ/RHxU7qo9APSqQAkkK64jHVIDe+BSM2jlowvoGMEg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; + version = "7.0.20"; + hash = "sha512-MEK4A+6U5zcx4iE+D6iBWHoIX/kJSSUXlXMeWNfMrE8kz2y0Rzck5/zeIXyj39vPCJmuNgmkNqJ0Bd98k94sfg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; + version = "7.0.20"; + hash = "sha512-vLWNiWcEUx2WSIcM5U5kHDzxm+ITpE746cIzFc0IXY2UgLac2MNEMxmyNC+kI6rXYGwUEJwygIjZhugGanvDsA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; + version = "7.0.20"; + hash = "sha512-U0enhz5LmGi8FK4Zue36ikxFnoUeBM9nH3ZUmrnyWSYT9m5+wp8Bd8I6ubebW1j8K5d744I9b5oUnNWeGLVkow=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-+mXIZIE4bpGkhlJjBKKCBIm3dJzP4n4LXpsT5Kz3WuasxdNhJ5TVVthIuLz6KKoWEpuRyplrf/rJp0RU8FqmdA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-ywvN5Qmbl94w5ZEAllIpzfHbKLdrjDz626vnr1gaocQNE3BQOi2gt8v3KgOGxevGLrQOocJ+zb1U8GYmxl/g/Q=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-5HVoAWI+7YnneMvF5n62Hp0V45YKONOvHInBQ6gw9TP89Ykf1gjwEE6zQHlpu8+lX1qcTfqWu1iC/GOoo3BshA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-Ji7Q25uFyIEAk8/+4sOmPFDa1UQmnM9bv8ROtH91vyPCZ/RHxU7qo9APSqQAkkK64jHVIDe+BSM2jlowvoGMEg=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "7.0.20"; hash = "sha512-/Ht9KgYt/xsW8cgzCbvFjsjGElx24r55BVGsrQSA6VLJMRvrZLwU6lLFuY1x0CfF5ALs0Uva/jCxTtt+zggaYA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "7.0.20"; hash = "sha512-bCcmlaXLBmlScQ/HXkkLf1DYQtOjqet/dI8y2sNx1hu89BwEQc28inzi24PZ9GjYo3KyKvy7U17aldK8b2uYAw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "7.0.20"; hash = "sha512-4Ok+e3bc2OJ2YisrmLCMFXKZ/WD5Gyxchryl5clC4s2w2ci/kiDnKI83WL1ibNvEk5wIDRsrCQ5KXA7vYn8wyw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-itRU+NUtQU4Oe1o11E4jRkbR/DWYKn6XK52n3f50WyblkBk/wCj6C3fxZ6mMbXqcJhARy5p8X2Zs5sFJJmv43A=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-IztYZXvLb2W4eC9foR4RFkGujR/LUdDx4UEh1Dab4ImDGj4qO4eZ7OnVCYUONTudFpLGakcQj7Faaq8rA0ye5g=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-DfsYyPXF4XSnyvxsoPUsKc4S2hM3c11WxUGMJJoxuD/5AaMcaAvhkObqxXSfTXhUPHj4Jat7CxIqPMQatVLTcw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-/aMTfk42LwVNm6HxNk8ZR6yPPjIyDdNH5/zWs6uHdGL9/9U9Tx2P0ZaKmk9azt5NwDtWZqMpqyDVDb1HJbxyIg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; + version = "7.0.20"; + hash = "sha512-/Ht9KgYt/xsW8cgzCbvFjsjGElx24r55BVGsrQSA6VLJMRvrZLwU6lLFuY1x0CfF5ALs0Uva/jCxTtt+zggaYA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; + version = "7.0.20"; + hash = "sha512-bCcmlaXLBmlScQ/HXkkLf1DYQtOjqet/dI8y2sNx1hu89BwEQc28inzi24PZ9GjYo3KyKvy7U17aldK8b2uYAw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; + version = "7.0.20"; + hash = "sha512-4Ok+e3bc2OJ2YisrmLCMFXKZ/WD5Gyxchryl5clC4s2w2ci/kiDnKI83WL1ibNvEk5wIDRsrCQ5KXA7vYn8wyw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-itRU+NUtQU4Oe1o11E4jRkbR/DWYKn6XK52n3f50WyblkBk/wCj6C3fxZ6mMbXqcJhARy5p8X2Zs5sFJJmv43A=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-IztYZXvLb2W4eC9foR4RFkGujR/LUdDx4UEh1Dab4ImDGj4qO4eZ7OnVCYUONTudFpLGakcQj7Faaq8rA0ye5g=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-DfsYyPXF4XSnyvxsoPUsKc4S2hM3c11WxUGMJJoxuD/5AaMcaAvhkObqxXSfTXhUPHj4Jat7CxIqPMQatVLTcw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-/aMTfk42LwVNm6HxNk8ZR6yPPjIyDdNH5/zWs6uHdGL9/9U9Tx2P0ZaKmk9azt5NwDtWZqMpqyDVDb1HJbxyIg=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "7.0.20"; hash = "sha512-wh25bBNZosflPj2pcbIMB/fttuSFCvWn4N8XmDYd6XA91RpRk4GkZx505PmC+kpfU2FgM0N4zWgqnjcrifp6Ng=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "7.0.20"; hash = "sha512-9k+5qHlL2/uiC5/crfn+Shv/93FV1E9oLFFK6nAs+/tUXL0olwsqpyEMUAdKdAoCgiTv50GnBjX/7jlp9bMmlg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "7.0.20"; hash = "sha512-J/bFX9ai9i8S0ux0ZdnBhN+s+IFLosIBgnFvTBHuNfblPQ6R1YFsfYww5LQFI+plL8A2NcIdnBxLACrN22jwNQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-IAhdRGfxbYD1lF51SqBfDWIEvsysVWLPWELOpYPyY1CvmTPlGBh5QNanw2TLPu29eKb8k/peSVHJSOLKL8EF0w=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-LuFx7q7tmDBcHce9C460IbL6Dp78jqsxUvSUC00XfB0D4uFhBVroWhHv4BPfFQ+cU3+/XEAOgW+H388kXuwEEA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-TexO+i9DBf7QLW+JVnraEDFa3/7szqJWq5jLOskvEUBn/jrC7rLodIBr9Xm9qYeyPy2K6b31oXmVlGkPplX8PQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-Y2Jlv9Eq2tk2V7cyHW2uqVDxFlDFwANAtp0Ue3b1zxIOmI51bnXOh5d5Pjd8MYqNOsEF+Vq2xD1Sk79T/iiQZg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "7.0.20"; hash = "sha512-wIQ8KfpMjg7QOZapQ8FvJeqgzI8iyyvvdlBoibsQeuYJP9p7jc9O2BmDBolbn9fgdtKfyCIiwY2vf60Iz5SHtQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; + version = "7.0.20"; + hash = "sha512-wh25bBNZosflPj2pcbIMB/fttuSFCvWn4N8XmDYd6XA91RpRk4GkZx505PmC+kpfU2FgM0N4zWgqnjcrifp6Ng=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; + version = "7.0.20"; + hash = "sha512-9k+5qHlL2/uiC5/crfn+Shv/93FV1E9oLFFK6nAs+/tUXL0olwsqpyEMUAdKdAoCgiTv50GnBjX/7jlp9bMmlg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; + version = "7.0.20"; + hash = "sha512-J/bFX9ai9i8S0ux0ZdnBhN+s+IFLosIBgnFvTBHuNfblPQ6R1YFsfYww5LQFI+plL8A2NcIdnBxLACrN22jwNQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-IAhdRGfxbYD1lF51SqBfDWIEvsysVWLPWELOpYPyY1CvmTPlGBh5QNanw2TLPu29eKb8k/peSVHJSOLKL8EF0w=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-LuFx7q7tmDBcHce9C460IbL6Dp78jqsxUvSUC00XfB0D4uFhBVroWhHv4BPfFQ+cU3+/XEAOgW+H388kXuwEEA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-TexO+i9DBf7QLW+JVnraEDFa3/7szqJWq5jLOskvEUBn/jrC7rLodIBr9Xm9qYeyPy2K6b31oXmVlGkPplX8PQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-Y2Jlv9Eq2tk2V7cyHW2uqVDxFlDFwANAtp0Ue3b1zxIOmI51bnXOh5d5Pjd8MYqNOsEF+Vq2xD1Sk79T/iiQZg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; + version = "7.0.20"; + hash = "sha512-wIQ8KfpMjg7QOZapQ8FvJeqgzI8iyyvvdlBoibsQeuYJP9p7jc9O2BmDBolbn9fgdtKfyCIiwY2vf60Iz5SHtQ=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha512-PnxpVZP/vcYJrJFxyAafetPeEcG+jzyT7LnKkWPPDLK7geSktcfefPYsZ96AIMhs8MUeOXYUrQd3luOZUo2tJw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.20"; hash = "sha512-zskULQ4seV5+Aqj/hG1VQ5RKqGcjZi7T1ceCUHbfAJOxcVQOOcSzxGxy7+Ys2wQnhQsIjWYNIji58c5tnv/6vA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha512-+fCP5RM7V7wOodSFtnIzEsrnJUAwnVsySDZ3rR8QTn71r9L8e04rlDicaFiphr5j537pMbGvLttPBt8NbIdCgw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-aMnnB6pgXohUYPJAkZ2tZeDVrawKTjMINz618Hcj+4m7WBYvwc31/LYIhKZ0Zb3Z/6VJkmtBvKalfbkgyDGcjA=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-YYVXKrKtuFfQSnxBvrNgvWpe2FGcazsEt8P2EsyjJC7JN9DfhJtXsFz8UXCtxMlKDBYylB6UN2ROoskPQ6M+Xg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-W6XgW92qL2uwiD+JhS7BnepRaFzm4HfbzjPKGZMjtNsBzzkVKmZe0eKsTsIdS2D+eBGy9bmM610rFxyzFSLDRw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-8JJEwVHZRNmd+kiXA3lazbouUa4Y7TavnB3yjY3xHwYl+XKpCqD5OrLc5lKz49viVatasmUVfAfruCbmBxepOw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "7.0.20"; hash = "sha512-SWxn7D93qwCx9OGmKmXZu0YZ8h2hLgLyHme6dpwje1u2N3M0qffP6kHgGzR7o1ynFh/GEbkuCe0CTqbNDcHWKQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; + version = "7.0.20"; + hash = "sha512-PnxpVZP/vcYJrJFxyAafetPeEcG+jzyT7LnKkWPPDLK7geSktcfefPYsZ96AIMhs8MUeOXYUrQd3luOZUo2tJw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-arm64"; + version = "7.0.20"; + hash = "sha512-zskULQ4seV5+Aqj/hG1VQ5RKqGcjZi7T1ceCUHbfAJOxcVQOOcSzxGxy7+Ys2wQnhQsIjWYNIji58c5tnv/6vA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; + version = "7.0.20"; + hash = "sha512-+fCP5RM7V7wOodSFtnIzEsrnJUAwnVsySDZ3rR8QTn71r9L8e04rlDicaFiphr5j537pMbGvLttPBt8NbIdCgw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-aMnnB6pgXohUYPJAkZ2tZeDVrawKTjMINz618Hcj+4m7WBYvwc31/LYIhKZ0Zb3Z/6VJkmtBvKalfbkgyDGcjA=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-YYVXKrKtuFfQSnxBvrNgvWpe2FGcazsEt8P2EsyjJC7JN9DfhJtXsFz8UXCtxMlKDBYylB6UN2ROoskPQ6M+Xg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-W6XgW92qL2uwiD+JhS7BnepRaFzm4HfbzjPKGZMjtNsBzzkVKmZe0eKsTsIdS2D+eBGy9bmM610rFxyzFSLDRw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-8JJEwVHZRNmd+kiXA3lazbouUa4Y7TavnB3yjY3xHwYl+XKpCqD5OrLc5lKz49viVatasmUVfAfruCbmBxepOw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; + version = "7.0.20"; + hash = "sha512-SWxn7D93qwCx9OGmKmXZu0YZ8h2hLgLyHme6dpwje1u2N3M0qffP6kHgGzR7o1ynFh/GEbkuCe0CTqbNDcHWKQ=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha512-MJkvhC9b1UXuA2C546UKTJ+wIV5z7QQk+lsXLe8R6g9BjVvN/NUItu9H3hylGkL5Yf/oBLmlPYVUjYuy3x5/1Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.20"; hash = "sha512-aQuov94b4ppO3l5CVG0z+VDCFVNHeklnwLS7XT/AbvSyBJ6+9BFqoSWg2uZz0MGjRl0tSA9eK9A6bkoVkPi1bQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha512-+wNTFv4sHMdAc6G9qlx0GaRNbBhwW/DmN4OMQVkEDgTVCiCWg+DiFON2mffojexy7trJUl6Y3MoxYMJV9/1TUw=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-h3/RxhzpnpcVMNTHQ3hsprK/SrMMirLmyY2ynnUKJ6qAXEP8EUiHl8nlZ1bNGvansSbCltdRPO7pogiNJAEFZw=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-moo/V26Rwf4Hq3/NH6NpWy8Y5BPHVhv7V9KILHZphxM11RpKMMAsKxGkiuNWlva6l38+W8SCIP1oBePe6FBOvA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-QxXZyylVqNbTBD5uUkrxJyHPz+qylX7xXnYuiE21UqCEVG0lI78O0X/dHYY8+35sRdU13rr0vmTszB2T1soSYg=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-RICnRJ9rjyZ6ng3mQCTzKL898luIl24sUw+tm7Up27j5vieglx1gey6a1PLUBfcIVrQie9uM7tYD4oKxwn6HDw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "7.0.20"; hash = "sha512-QYu8SGNtLOlj3PKOgSOml4qLadJnfv0hG1jH2m+Si1TewLmQKjpvI0ZljoqTAOoe8U7vpSumiyqB+bPFiRvhmQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "7.0.20"; + hash = "sha512-MJkvhC9b1UXuA2C546UKTJ+wIV5z7QQk+lsXLe8R6g9BjVvN/NUItu9H3hylGkL5Yf/oBLmlPYVUjYuy3x5/1Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "7.0.20"; + hash = "sha512-aQuov94b4ppO3l5CVG0z+VDCFVNHeklnwLS7XT/AbvSyBJ6+9BFqoSWg2uZz0MGjRl0tSA9eK9A6bkoVkPi1bQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "7.0.20"; + hash = "sha512-+wNTFv4sHMdAc6G9qlx0GaRNbBhwW/DmN4OMQVkEDgTVCiCWg+DiFON2mffojexy7trJUl6Y3MoxYMJV9/1TUw=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-h3/RxhzpnpcVMNTHQ3hsprK/SrMMirLmyY2ynnUKJ6qAXEP8EUiHl8nlZ1bNGvansSbCltdRPO7pogiNJAEFZw=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-moo/V26Rwf4Hq3/NH6NpWy8Y5BPHVhv7V9KILHZphxM11RpKMMAsKxGkiuNWlva6l38+W8SCIP1oBePe6FBOvA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-QxXZyylVqNbTBD5uUkrxJyHPz+qylX7xXnYuiE21UqCEVG0lI78O0X/dHYY8+35sRdU13rr0vmTszB2T1soSYg=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-RICnRJ9rjyZ6ng3mQCTzKL898luIl24sUw+tm7Up27j5vieglx1gey6a1PLUBfcIVrQie9uM7tYD4oKxwn6HDw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; + version = "7.0.20"; + hash = "sha512-QYu8SGNtLOlj3PKOgSOml4qLadJnfv0hG1jH2m+Si1TewLmQKjpvI0ZljoqTAOoe8U7vpSumiyqB+bPFiRvhmQ=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "7.0.20"; hash = "sha512-tt3EyI0qpyqwaFqtbG9+4BP7sukzjjheZ9/Cb/uO+CXxcep/LrKJW/Wc/wBKmkkIY/NnhJQ+Kwdjs6xcHVVO+w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "7.0.20"; hash = "sha512-15hmpDKa0ap3bWF4rvM01Dy+Zn09h2h2MgeOj609P5iNZlsh7Eu8J7mQDdband/jPFZXWCV9CM4GYGPFEtKTIg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "7.0.20"; hash = "sha512-qpAjc0CKz+vt3d0eoeZsjmcnb6S6IQmGnXXjv/sfqYqkYErDlBFq448CYOcLUYWdEotInD2Qc6V7wnhs9hVgoQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-na9EJ1Gk0qpCwiDQaIWFuA3n3fhav5phIoCfN9u9WKg2TQCPGigJ5qfopqb1iHeo8q/G0CT7QtV/DdoILZFqaw=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-MuLMyS3eKS2ajo5L971Lfd2vwq7X/oFd8gAZFvPCyHGBkvCwsgJacNhujz+vIdgq3nSVqTullR03BSRPGZNddg=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-Di92c6M5r+E9UYkOhKsdPYV+w/QjmTrdS4CIooRlsSjfm3h75AsS5+0nApBnct/GJYQ4t9ZVVnbP+njoyhTXeA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-Qds42bScEWkFo+bHjyFG1PcsU8/n0phSa4LMAQBMT2CTs1/kW2o5uvPdQvnwIJ2m2qNY6vL7J/W/oePh6hGmFw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; + version = "7.0.20"; + hash = "sha512-tt3EyI0qpyqwaFqtbG9+4BP7sukzjjheZ9/Cb/uO+CXxcep/LrKJW/Wc/wBKmkkIY/NnhJQ+Kwdjs6xcHVVO+w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-arm64"; + version = "7.0.20"; + hash = "sha512-15hmpDKa0ap3bWF4rvM01Dy+Zn09h2h2MgeOj609P5iNZlsh7Eu8J7mQDdband/jPFZXWCV9CM4GYGPFEtKTIg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-arm64"; + version = "7.0.20"; + hash = "sha512-qpAjc0CKz+vt3d0eoeZsjmcnb6S6IQmGnXXjv/sfqYqkYErDlBFq448CYOcLUYWdEotInD2Qc6V7wnhs9hVgoQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-na9EJ1Gk0qpCwiDQaIWFuA3n3fhav5phIoCfN9u9WKg2TQCPGigJ5qfopqb1iHeo8q/G0CT7QtV/DdoILZFqaw=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-MuLMyS3eKS2ajo5L971Lfd2vwq7X/oFd8gAZFvPCyHGBkvCwsgJacNhujz+vIdgq3nSVqTullR03BSRPGZNddg=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-Di92c6M5r+E9UYkOhKsdPYV+w/QjmTrdS4CIooRlsSjfm3h75AsS5+0nApBnct/GJYQ4t9ZVVnbP+njoyhTXeA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-Qds42bScEWkFo+bHjyFG1PcsU8/n0phSa4LMAQBMT2CTs1/kW2o5uvPdQvnwIJ2m2qNY6vL7J/W/oePh6hGmFw=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "7.0.20"; hash = "sha512-H9YZkbflMTqW04B9XpumTZwyNaFgtNnBxCTzM93XYNFPZbE6nbhuCUz7c2bdF9M3cZJzbm/4ITWFqBLoTMrqbg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "7.0.20"; hash = "sha512-j7IIiyW2m2BNTt0MgcmhX3f4rl3F98mnStnY+13nlMzr+YC7ewI9khfIXv+bzUA3R2lyz7KghSZx9SaQGPuRbQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "7.0.20"; hash = "sha512-eiJuU57LsGAsxxkbDS4iDsSWKIJH08FcJtEIiSfPtUVN4aExj1IoLp+MWFa60QA4+hkNpqs49R+g92ye8oGoxQ=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-d54yoCNVF93swJiCHU2Kc8yD1TLZKPBcnQAgfF1+BOXkUw3nr7uKC+pwqiaWtXXwBXBiVev0lL/qmjCxBG2p/Q=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-BUi8cUz+UpLC8fZmN4qhXHHvn7FaA6iTWXHtnXodSmN3ZsNtYHbB19F5ra+LfoJZ61zThEy3Nsf6/9qY4E3qew=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-yiA3VeELW4zI+7yetMzUWkTiW+pb1nLjJY3hEZXDpVBxSgHcxdkvS4pWnBK97tS9Hujt6tfQOqDbWIj1XfBEfw=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-Q0NF8q0UKGD3V+95GvErCff7jyJPuyk8/EO3T72PNCfPr2AIGPZtqCuDYTt4xnLyXoYUxyKEqALn2mmVvO+t0w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "7.0.20"; hash = "sha512-BLtlpQCuwfaoMmOYG1VUb16L1DX+ZrKFpJ5eQ0MW36MqrzR8Id9nkyZ161xneeyhxBUfi/m5zXfP20AFQQ1uXg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "7.0.20"; + hash = "sha512-H9YZkbflMTqW04B9XpumTZwyNaFgtNnBxCTzM93XYNFPZbE6nbhuCUz7c2bdF9M3cZJzbm/4ITWFqBLoTMrqbg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x64"; + version = "7.0.20"; + hash = "sha512-j7IIiyW2m2BNTt0MgcmhX3f4rl3F98mnStnY+13nlMzr+YC7ewI9khfIXv+bzUA3R2lyz7KghSZx9SaQGPuRbQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "7.0.20"; + hash = "sha512-eiJuU57LsGAsxxkbDS4iDsSWKIJH08FcJtEIiSfPtUVN4aExj1IoLp+MWFa60QA4+hkNpqs49R+g92ye8oGoxQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-d54yoCNVF93swJiCHU2Kc8yD1TLZKPBcnQAgfF1+BOXkUw3nr7uKC+pwqiaWtXXwBXBiVev0lL/qmjCxBG2p/Q=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-BUi8cUz+UpLC8fZmN4qhXHHvn7FaA6iTWXHtnXodSmN3ZsNtYHbB19F5ra+LfoJZ61zThEy3Nsf6/9qY4E3qew=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-yiA3VeELW4zI+7yetMzUWkTiW+pb1nLjJY3hEZXDpVBxSgHcxdkvS4pWnBK97tS9Hujt6tfQOqDbWIj1XfBEfw=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-Q0NF8q0UKGD3V+95GvErCff7jyJPuyk8/EO3T72PNCfPr2AIGPZtqCuDYTt4xnLyXoYUxyKEqALn2mmVvO+t0w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; + version = "7.0.20"; + hash = "sha512-BLtlpQCuwfaoMmOYG1VUb16L1DX+ZrKFpJ5eQ0MW36MqrzR8Id9nkyZ161xneeyhxBUfi/m5zXfP20AFQQ1uXg=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "7.0.20"; hash = "sha512-s9lK1tQca5Qb4aZjEBPSGHZhDSksvfp/aj3xv8q39UqBKGtWdIAdrtcgq8qgM5nWavaCiWWW+CAEgmzFRIRpOw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "7.0.20"; hash = "sha512-/TLX02L88IqbQDFZlGVPb/KKkGf43Q7wMGTscU1LNtNSd3YNSlj+K9E8bWY+bzFSaf05qJ7Oru0npYB+5opnGg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "7.0.20"; hash = "sha512-RHIstT/YHVs1wHxZIPl16RicfJChzChOOqIdGP+UDC3Uc55E4IQ+aEJgrHTXi3xOw4RLp5zman0G0MmXCl5q3A=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "7.0.20"; hash = "sha512-x5KTZwR2UaFx+IvULmbSwEuiXfvpCZUYlm5KtRltd+M3yeFCJDqK+sLPUDnB2kywKDCJYwOdasfzjAhRa1yAeg=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "7.0.20"; hash = "sha512-CiWFBDlRFKu8sXeXrij7oLRTd2KcGkADb5MVGG+7xt5TIgiXZSfDEummipoK3v15cK3Z6eecVSulFZgEySVbwQ=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.20"; hash = "sha512-1ly66dLhrDCgk8BiO/rxDRwUT+DbOXH3kIwnO+TiMJfID+dyqfpw3ZIbeHbIxW1A5Ukexh3mcv6ndMTkbnZgog=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.20"; hash = "sha512-DrzZfs6NkL7Kqnnq3HTcl8oGnvfu6oYPKVoAgA4eXdrEIWuiDIalaD/c7lSfg13ei53tzACUTlKSy1dHGErXiA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "7.0.20"; hash = "sha512-GLCsBKRie1giQ6YrjELcvSmdEG1eeKFKn5YweCEm0e67DSZuqtJX2RxIojRV+TUvWObRPhZMM708CZ258qMr9g=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; + version = "7.0.20"; + hash = "sha512-s9lK1tQca5Qb4aZjEBPSGHZhDSksvfp/aj3xv8q39UqBKGtWdIAdrtcgq8qgM5nWavaCiWWW+CAEgmzFRIRpOw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x86"; + version = "7.0.20"; + hash = "sha512-/TLX02L88IqbQDFZlGVPb/KKkGf43Q7wMGTscU1LNtNSd3YNSlj+K9E8bWY+bzFSaf05qJ7Oru0npYB+5opnGg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x86"; + version = "7.0.20"; + hash = "sha512-RHIstT/YHVs1wHxZIPl16RicfJChzChOOqIdGP+UDC3Uc55E4IQ+aEJgrHTXi3xOw4RLp5zman0G0MmXCl5q3A=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; + version = "7.0.20"; + hash = "sha512-x5KTZwR2UaFx+IvULmbSwEuiXfvpCZUYlm5KtRltd+M3yeFCJDqK+sLPUDnB2kywKDCJYwOdasfzjAhRa1yAeg=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; + version = "7.0.20"; + hash = "sha512-CiWFBDlRFKu8sXeXrij7oLRTd2KcGkADb5MVGG+7xt5TIgiXZSfDEummipoK3v15cK3Z6eecVSulFZgEySVbwQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; + version = "7.0.20"; + hash = "sha512-1ly66dLhrDCgk8BiO/rxDRwUT+DbOXH3kIwnO+TiMJfID+dyqfpw3ZIbeHbIxW1A5Ukexh3mcv6ndMTkbnZgog=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; + version = "7.0.20"; + hash = "sha512-DrzZfs6NkL7Kqnnq3HTcl8oGnvfu6oYPKVoAgA4eXdrEIWuiDIalaD/c7lSfg13ei53tzACUTlKSy1dHGErXiA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; + version = "7.0.20"; + hash = "sha512-GLCsBKRie1giQ6YrjELcvSmdEG1eeKFKn5YweCEm0e67DSZuqtJX2RxIojRV+TUvWObRPhZMM708CZ258qMr9g=="; + }) ]; }; -in rec { +in +rec { release_7_0 = "7.0.20"; aspnetcore_7_0 = buildAspNetCore { diff --git a/pkgs/development/compilers/dotnet/versions/8.0.nix b/pkgs/development/compilers/dotnet/versions/8.0.nix index 39f5f8e436535..f705bb1da8c24 100644 --- a/pkgs/development/compilers/dotnet/versions/8.0.nix +++ b/pkgs/development/compilers/dotnet/versions/8.0.nix @@ -1,174 +1,628 @@ -{ buildAspNetCore, buildNetRuntime, buildNetSdk, fetchNupkg }: +{ + buildAspNetCore, + buildNetRuntime, + buildNetSdk, + fetchNupkg, +}: # v8.0 (active) let commonPackages = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Ref"; version = "8.0.11"; hash = "sha512-0ow+3BClZm2xlEXC7g+vr7vxmBkXnNwxjCSqhxCcPqRHkXYNW1rdHmzrCLmGYRzGFxk7wktqOUkRV0ipgSQXOw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-hRfXvd55c2xE9g3qOegrES0SkqFFKFid/wScWpANLT/yf6wEV6bn7c7cPrE/fyuw6MiaT86noYsGzj4WWezYuA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Ref"; version = "8.0.11"; hash = "sha512-oMIPTmsRuaFIosXYWzEHFCu2pQK0JdtkuQdT4j1szfZ8BVTHtYsBqWdjGV3u9uaWiJld6V7FanVVU+Z8HWFQ6Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-bknpGqBWIN0R0hiUU6VhrrCEY4T0P2F953t1AyPlt2LfzRij921w+I+zPhAlA3CRWDgq8ppX5iJTPhabnjrBSg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-QRSkkJ5ECtxL/pOBwqS2h+WY01Z5SYOLnL82cP6li8jpeP/h9TnClUjovMa5hk/ny3FM79J1cwIIwuSTGgv6kA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-mOgsZb1/yibFbb4nwVCvPk7KCa7S671zqjKdQGvwBxwr2vF20SW4Yw9me7bo9XMXHgR+25GlMnf3nKXkO/jgaw=="; }) - (fetchNupkg { pname = "Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-MrWOJYbQCVUn4yAcAfRBekLNhAs/UPNlPOUCXq/HwTX0wLqT4Rcgg5MIlzA6w3QIGmLWHMh60QOmEFdUXjwghw=="; }) - (fetchNupkg { pname = "Microsoft.NET.ILLink.Tasks"; version = "8.0.11"; hash = "sha512-BDUnx2LSv8CWK3WAbPnNWt7deVdLBn4VZ5ZNUSRg4WN/Wi1x+M4WQgd2yrW+qnSSR5ll9AKhWNUsiGVWf+OsaQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "8.0.11"; + hash = "sha512-0ow+3BClZm2xlEXC7g+vr7vxmBkXnNwxjCSqhxCcPqRHkXYNW1rdHmzrCLmGYRzGFxk7wktqOUkRV0ipgSQXOw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-hRfXvd55c2xE9g3qOegrES0SkqFFKFid/wScWpANLT/yf6wEV6bn7c7cPrE/fyuw6MiaT86noYsGzj4WWezYuA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Ref"; + version = "8.0.11"; + hash = "sha512-oMIPTmsRuaFIosXYWzEHFCu2pQK0JdtkuQdT4j1szfZ8BVTHtYsBqWdjGV3u9uaWiJld6V7FanVVU+Z8HWFQ6Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-bknpGqBWIN0R0hiUU6VhrrCEY4T0P2F953t1AyPlt2LfzRij921w+I+zPhAlA3CRWDgq8ppX5iJTPhabnjrBSg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-QRSkkJ5ECtxL/pOBwqS2h+WY01Z5SYOLnL82cP6li8jpeP/h9TnClUjovMa5hk/ny3FM79J1cwIIwuSTGgv6kA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-mOgsZb1/yibFbb4nwVCvPk7KCa7S671zqjKdQGvwBxwr2vF20SW4Yw9me7bo9XMXHgR+25GlMnf3nKXkO/jgaw=="; + }) + (fetchNupkg { + pname = "Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-MrWOJYbQCVUn4yAcAfRBekLNhAs/UPNlPOUCXq/HwTX0wLqT4Rcgg5MIlzA6w3QIGmLWHMh60QOmEFdUXjwghw=="; + }) + (fetchNupkg { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "8.0.11"; + hash = "sha512-BDUnx2LSv8CWK3WAbPnNWt7deVdLBn4VZ5ZNUSRg4WN/Wi1x+M4WQgd2yrW+qnSSR5ll9AKhWNUsiGVWf+OsaQ=="; + }) ]; hostPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "8.0.11"; hash = "sha512-vNLg/on8vgsoDhsYxvU724nX9g1vmD8/GaaTHpNr9953L3/hkmoyuXU6V4BL0iZsz/IDcRNs1cFlMqVHaDWzSw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; + version = "8.0.11"; + hash = "sha512-vNLg/on8vgsoDhsYxvU724nX9g1vmD8/GaaTHpNr9953L3/hkmoyuXU6V4BL0iZsz/IDcRNs1cFlMqVHaDWzSw=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "8.0.11"; hash = "sha512-Fwm4IFjRnNtoHDEhwHcK5esu8kxznT+aZYRe7T5/7HHwaHOZYwnwVAb+1yG9zmpWsQAwVCy2Dy98T/KuraxY2Q=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-HCYA8CKNlcAdvJ7xJYPVMFyG2ZklrC/j7HJA5iNm0yI7IOtsBbrWbYbz8glc8h6gT4FrOAPu71IUot9Iika0EQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; + version = "8.0.11"; + hash = "sha512-Fwm4IFjRnNtoHDEhwHcK5esu8kxznT+aZYRe7T5/7HHwaHOZYwnwVAb+1yG9zmpWsQAwVCy2Dy98T/KuraxY2Q=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-HCYA8CKNlcAdvJ7xJYPVMFyG2ZklrC/j7HJA5iNm0yI7IOtsBbrWbYbz8glc8h6gT4FrOAPu71IUot9Iika0EQ=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "8.0.11"; hash = "sha512-JuZSeAmow4Xx9+VUnm7TYfSUU/p7l/SjSVoQKdoLdpOHSMm/pnSEOjHc4pKmAr4G6OS3dUgVY/IZyGxtS5g9VA=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-9epOV/0PK9EYPPXLif6YwQo4O51muFM5iMVZOvOtTDYKN3MYlZcvwKMirJaAkvAhp5o71oRcfQcZc5srkvy4ZA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; + version = "8.0.11"; + hash = "sha512-JuZSeAmow4Xx9+VUnm7TYfSUU/p7l/SjSVoQKdoLdpOHSMm/pnSEOjHc4pKmAr4G6OS3dUgVY/IZyGxtS5g9VA=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-9epOV/0PK9EYPPXLif6YwQo4O51muFM5iMVZOvOtTDYKN3MYlZcvwKMirJaAkvAhp5o71oRcfQcZc5srkvy4ZA=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "8.0.11"; hash = "sha512-Cm/rntnyMTnImcRzuL5VRpgN5AaoRElhyVi9Q+askyi0GnKX0Y6YPX/xmUIQcCCTOOzz6+i8xLBb85+oemUvGA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; + version = "8.0.11"; + hash = "sha512-Cm/rntnyMTnImcRzuL5VRpgN5AaoRElhyVi9Q+askyi0GnKX0Y6YPX/xmUIQcCCTOOzz6+i8xLBb85+oemUvGA=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "8.0.11"; hash = "sha512-BSaP3Yvv5DGh/fuoefbPtstxzyz0meQ6F3p33+3HO8YJwX34hSpuINdzUVsRKNoqWbCm4pHy8DmFh0dftCEwyQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-XJDQvhTRCV/7UTck+0WHM/YdGuXqvfYXBKv6pvvy7fOqrgv96ozy6XhkAZB1FT/ernqM7C4tBviPKg6u9sWfMw=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; + version = "8.0.11"; + hash = "sha512-BSaP3Yvv5DGh/fuoefbPtstxzyz0meQ6F3p33+3HO8YJwX34hSpuINdzUVsRKNoqWbCm4pHy8DmFh0dftCEwyQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-XJDQvhTRCV/7UTck+0WHM/YdGuXqvfYXBKv6pvvy7fOqrgv96ozy6XhkAZB1FT/ernqM7C4tBviPKg6u9sWfMw=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "8.0.11"; hash = "sha512-uOEs8EvkUOrCae/OGKy4Ek6zeY6HrjN0ppOK2VmcMsiwogP3XkkLjg6/grLiGvhMXbEpXUReSSGPd1wo48W/cg=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-AjkGqrKxLuz0v+29koSdfx8l+9g8l7GCAe45nLvno1BWQaRJp0YZ0watG3Cs5UBQuOHz6QBTpxrtv21ABCn5AQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; + version = "8.0.11"; + hash = "sha512-uOEs8EvkUOrCae/OGKy4Ek6zeY6HrjN0ppOK2VmcMsiwogP3XkkLjg6/grLiGvhMXbEpXUReSSGPd1wo48W/cg=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-AjkGqrKxLuz0v+29koSdfx8l+9g8l7GCAe45nLvno1BWQaRJp0YZ0watG3Cs5UBQuOHz6QBTpxrtv21ABCn5AQ=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "8.0.11"; hash = "sha512-+ONYpLs/Awwr0JhKj0uTlzV7Dz/w8JDcMWZn/IaODTyboFafxTcQx9zBvZGs2U8pAuDig5jA19tihfZfxtqPSg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-ICRHCPlohKZNi2Kxdy7VfHVDcY8GaWg9zapIvVwPbp8y+LIjEHSYBx920gftF+3+eNlOi0Vw4WIYGkBAKhgwzA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; + version = "8.0.11"; + hash = "sha512-+ONYpLs/Awwr0JhKj0uTlzV7Dz/w8JDcMWZn/IaODTyboFafxTcQx9zBvZGs2U8pAuDig5jA19tihfZfxtqPSg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-ICRHCPlohKZNi2Kxdy7VfHVDcY8GaWg9zapIvVwPbp8y+LIjEHSYBx920gftF+3+eNlOi0Vw4WIYGkBAKhgwzA=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "8.0.11"; hash = "sha512-9UR5zvygPAvdP92H+iGKqWRyUu1xawnnDo8p1N58mUpt67y6kPdDW4lHZzZg1nn61bgDvS/Wp+jQjmb2+x7ybQ=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-sOg03F0H7CjWTTFGDNfTsPq5pkziy6GcsAqdaANeh4sGRsRAeANFBp11ewAfk8P0fZVeWoRTaPtGjCZQ9dRpoQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; + version = "8.0.11"; + hash = "sha512-9UR5zvygPAvdP92H+iGKqWRyUu1xawnnDo8p1N58mUpt67y6kPdDW4lHZzZg1nn61bgDvS/Wp+jQjmb2+x7ybQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-sOg03F0H7CjWTTFGDNfTsPq5pkziy6GcsAqdaANeh4sGRsRAeANFBp11ewAfk8P0fZVeWoRTaPtGjCZQ9dRpoQ=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; version = "8.0.11"; hash = "sha512-NXHH++Pg3fpeFWTISDya9f8JZIvxqdfE3Ebj6tWxmBu/pR5OpDiD6mEwyK6BKuANMYpEAD/mzo/tFzc51IOZEQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-NALt9Nbl6bu/f5ke11Cmc5tF8e3JkUXEzkJAfClel5zW6462xe/0WeqRrTg4MaaiDTga+ve/GYB7AXGrenyB/w=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; + version = "8.0.11"; + hash = "sha512-NXHH++Pg3fpeFWTISDya9f8JZIvxqdfE3Ebj6tWxmBu/pR5OpDiD6mEwyK6BKuANMYpEAD/mzo/tFzc51IOZEQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-NALt9Nbl6bu/f5ke11Cmc5tF8e3JkUXEzkJAfClel5zW6462xe/0WeqRrTg4MaaiDTga+ve/GYB7AXGrenyB/w=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; version = "8.0.11"; hash = "sha512-d+8q1xYCNc1PNYfHHzJJXRNHCRM/LnQlfs36LzxeaJzgx2LbBFRzxO/mUKSnDWMAP4i1P4BqqjZ7idjcIxV7uQ=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.11"; hash = "sha512-ZDOVXgkXU+RSEV7lB/WSXkUpdczXANpMGuFToyVZJCuA41DwQwCZoJfVI9cXHStQUaEGn81HOfS6GQsRmEdjGg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; + version = "8.0.11"; + hash = "sha512-d+8q1xYCNc1PNYfHHzJJXRNHCRM/LnQlfs36LzxeaJzgx2LbBFRzxO/mUKSnDWMAP4i1P4BqqjZ7idjcIxV7uQ=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; + version = "8.0.11"; + hash = "sha512-ZDOVXgkXU+RSEV7lB/WSXkUpdczXANpMGuFToyVZJCuA41DwQwCZoJfVI9cXHStQUaEGn81HOfS6GQsRmEdjGg=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; version = "8.0.11"; hash = "sha512-uEV87iNIuLAont7ESYEPOoF42ZmAlhmU20U3Lx5mwH7iaKt11VjuLeqvhxZKuSkL/ds1+ZzvLHhzAn0c2Z6JPA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; + version = "8.0.11"; + hash = "sha512-uEV87iNIuLAont7ESYEPOoF42ZmAlhmU20U3Lx5mwH7iaKt11VjuLeqvhxZKuSkL/ds1+ZzvLHhzAn0c2Z6JPA=="; + }) ]; }; targetPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "8.0.11"; hash = "sha512-qiP7GkxUqsROiAZ4NCgYbxP1PrvsTEyiNZZ1WC/MEexzj95xwTioAMbihGOzaB5neB3byZ1aZn9KZ8NA4wn6hQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "8.0.11"; hash = "sha512-ukSAJJxyz+arYNuzXsP2om0or3f+d2cu1kHvWfe79JmaBzAmT3kBObCa3tYVsrtNZ4ck2g9fN4JnV8zsFvw/bg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "8.0.11"; hash = "sha512-nATBKJ9/Suku621bOi+AVmQTRcVyyjGFOZattJROHnv3FsvrhY4hmuZXf8jNbKAgSgqYdHxLvgLX2bqBqzwKHQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-TI00Komhy29vOUv8/UC8RJNnSro7/X7rQ2J/8b4cCaVyRCYr7URV3cuuJYANasSV/lkjSoEuhpRXtnDCIUIYPQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-eLPVwuPLnr4PZagAVBlVJOH/P5QYCdb0nwbq+Y8N6pePLzeexQmKs8FrXjdWEdtDQOtsgm5Rvw/2Y9eWCXUYFA=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-FqZlpdIhuhfAgzy7VC/r7xtiMML3hERUGXQ2rWxPgTArAo7puYXfPBjROmU1JYCXiaTd7uXBbrkSaFIbl9srwQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-rs+Z0i4ZMj/9oacyL3hyKgNm/2qRtC6NfAciF+vdaG9HxmAdGTooCOYZEJutKs8KByZn80eVKtxwtPNuRV/5wQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "8.0.11"; hash = "sha512-TEN2ZHFkIvbQwl/tu7cskgdRzzrqEvhzB1zhkmtN3FKO9h2KvtQqEuOc3+sEZj2RHGqUYGFvT5JyiEp2jfK0xA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; + version = "8.0.11"; + hash = "sha512-qiP7GkxUqsROiAZ4NCgYbxP1PrvsTEyiNZZ1WC/MEexzj95xwTioAMbihGOzaB5neB3byZ1aZn9KZ8NA4wn6hQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm"; + version = "8.0.11"; + hash = "sha512-ukSAJJxyz+arYNuzXsP2om0or3f+d2cu1kHvWfe79JmaBzAmT3kBObCa3tYVsrtNZ4ck2g9fN4JnV8zsFvw/bg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm"; + version = "8.0.11"; + hash = "sha512-nATBKJ9/Suku621bOi+AVmQTRcVyyjGFOZattJROHnv3FsvrhY4hmuZXf8jNbKAgSgqYdHxLvgLX2bqBqzwKHQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-TI00Komhy29vOUv8/UC8RJNnSro7/X7rQ2J/8b4cCaVyRCYr7URV3cuuJYANasSV/lkjSoEuhpRXtnDCIUIYPQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-eLPVwuPLnr4PZagAVBlVJOH/P5QYCdb0nwbq+Y8N6pePLzeexQmKs8FrXjdWEdtDQOtsgm5Rvw/2Y9eWCXUYFA=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-FqZlpdIhuhfAgzy7VC/r7xtiMML3hERUGXQ2rWxPgTArAo7puYXfPBjROmU1JYCXiaTd7uXBbrkSaFIbl9srwQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-rs+Z0i4ZMj/9oacyL3hyKgNm/2qRtC6NfAciF+vdaG9HxmAdGTooCOYZEJutKs8KByZn80eVKtxwtPNuRV/5wQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; + version = "8.0.11"; + hash = "sha512-TEN2ZHFkIvbQwl/tu7cskgdRzzrqEvhzB1zhkmtN3FKO9h2KvtQqEuOc3+sEZj2RHGqUYGFvT5JyiEp2jfK0xA=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "8.0.11"; hash = "sha512-z6lwljPpEYS90GGVG/SA5m2oYXU4Tjo1zMnrvHaPIHeFgHvEhij9QQHs9jNqlJX7ycsCrqPAuVQ8Auc/uW+0+A=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "8.0.11"; hash = "sha512-YpkUhlr8il3zMSVx/7Q9ZFl7CS3x/tcgdSI2wAXyoKxIw6NOj1l7ilEBdq2qJ1nPZFbgc5JfTUJTBMG6ahSzsA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "8.0.11"; hash = "sha512-1A65EZfcbAjJ4sxycI+rke3saNMiWglG6NTxhZ5TEDRhlHy4l8Ft/GPnwofFBD5y8sDs5Hbs318q5XVbpqEL2A=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-J2Yd5bSkcY7V1wRXmkR8pDxbiZBoPp9NOs1j9TJbJ0fDKaGxCq0pAneU7OXt+F57BM+4ZGbF9VaYCYw9M8h1dw=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-k4fuLpGJEZF/X3kuUffTXMOUeq0JyANojJn63IpTeODTkXg17UhFgPy4CpnpHqfL+7PJYn5JHRY5WI5DZqG9vQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-RSuEuq0f1sjyXMQLoCykoFakvuztp0XsVwp1r5xTSvtUq1e5sYEIN5DK7hqFhVXCfb0TM7GkwsaHCmIAjgW7dQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-Uro1N0GVumpdj0SLieARjzuvnw+94i1TVK6jOmRZd4EZx3eJlHPD+d/HXjT4FOanVRg3LqlzjLZuMk5nNfJzHQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "8.0.11"; hash = "sha512-qB2NfZk+EYPkLCRSXhVh6xnVsTAsXGBXcB55e7nKxB8d3+LDYOcYWy0L/njBZi/3oBbEFPhwTrTfVpiHLrmigA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "8.0.11"; + hash = "sha512-z6lwljPpEYS90GGVG/SA5m2oYXU4Tjo1zMnrvHaPIHeFgHvEhij9QQHs9jNqlJX7ycsCrqPAuVQ8Auc/uW+0+A=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "8.0.11"; + hash = "sha512-YpkUhlr8il3zMSVx/7Q9ZFl7CS3x/tcgdSI2wAXyoKxIw6NOj1l7ilEBdq2qJ1nPZFbgc5JfTUJTBMG6ahSzsA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "8.0.11"; + hash = "sha512-1A65EZfcbAjJ4sxycI+rke3saNMiWglG6NTxhZ5TEDRhlHy4l8Ft/GPnwofFBD5y8sDs5Hbs318q5XVbpqEL2A=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-J2Yd5bSkcY7V1wRXmkR8pDxbiZBoPp9NOs1j9TJbJ0fDKaGxCq0pAneU7OXt+F57BM+4ZGbF9VaYCYw9M8h1dw=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-k4fuLpGJEZF/X3kuUffTXMOUeq0JyANojJn63IpTeODTkXg17UhFgPy4CpnpHqfL+7PJYn5JHRY5WI5DZqG9vQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-RSuEuq0f1sjyXMQLoCykoFakvuztp0XsVwp1r5xTSvtUq1e5sYEIN5DK7hqFhVXCfb0TM7GkwsaHCmIAjgW7dQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-Uro1N0GVumpdj0SLieARjzuvnw+94i1TVK6jOmRZd4EZx3eJlHPD+d/HXjT4FOanVRg3LqlzjLZuMk5nNfJzHQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; + version = "8.0.11"; + hash = "sha512-qB2NfZk+EYPkLCRSXhVh6xnVsTAsXGBXcB55e7nKxB8d3+LDYOcYWy0L/njBZi/3oBbEFPhwTrTfVpiHLrmigA=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "8.0.11"; hash = "sha512-U3PF933HdVRLctSZQQHKwGGMqIVRikS5KM2IgIb5KH9zoXrzZCprAXJCvrZQDoOtaKOn+euyF+gy69CveB+gOw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "8.0.11"; hash = "sha512-CYyQU33vn02h5xowEBEfRXIcLYm6GyXGhLmrDUJiHjJOZkAca1mbJZ39Fal/pEhzosnSN53Ld+HRGxe+9yijWg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "8.0.11"; hash = "sha512-gQyj1KtYGgFJWTn4tTM1bH4xvTyVyk5pLCYZHlkYmfXwo1oDVvLrXiOC3rKdHxA+c8tRePJsNDIQKIAlJlmgAg=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-bH0iaT0WlU2WXpStLFzqv2BsG8kVt5znYQ5S+7PGzZjTN8OSo9VfacgwL+NrP4yGZEir/RCqx5YRymm/ttKZUA=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-RUhpon8Kanv+g0dP7DvXMIbJbxcQCrxgZZA8C4w/eRHvprvldOW9laat2DdF+c5Yxkz4gs1rarfX5Hys3hLCqw=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-J2l2TxZcxtK8dHPdT0BZVlsf2dkPUvfq/PnkzprQBrePbvtTbpaGv6HYfShUHzUS6lAb8oPx8E36fj25T2TzYg=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-Z8yrkHD415e1ZTpXvPTG19DkfR9DBafXwx2Bqmy6adx6maWlzZqrppk7IgfmCobas4nNnI1INBKXvDxxYm4Ziw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "8.0.11"; hash = "sha512-rDMKYcBghoj2gWaUeWYZXNuNuO1HWbu9vEaHjyl6Y0o/OSIy2T3em3NZdc38OfG9dykCz4pgT9tdD6BZ7Ivwhw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "8.0.11"; + hash = "sha512-U3PF933HdVRLctSZQQHKwGGMqIVRikS5KM2IgIb5KH9zoXrzZCprAXJCvrZQDoOtaKOn+euyF+gy69CveB+gOw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "8.0.11"; + hash = "sha512-CYyQU33vn02h5xowEBEfRXIcLYm6GyXGhLmrDUJiHjJOZkAca1mbJZ39Fal/pEhzosnSN53Ld+HRGxe+9yijWg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "8.0.11"; + hash = "sha512-gQyj1KtYGgFJWTn4tTM1bH4xvTyVyk5pLCYZHlkYmfXwo1oDVvLrXiOC3rKdHxA+c8tRePJsNDIQKIAlJlmgAg=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-bH0iaT0WlU2WXpStLFzqv2BsG8kVt5znYQ5S+7PGzZjTN8OSo9VfacgwL+NrP4yGZEir/RCqx5YRymm/ttKZUA=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-RUhpon8Kanv+g0dP7DvXMIbJbxcQCrxgZZA8C4w/eRHvprvldOW9laat2DdF+c5Yxkz4gs1rarfX5Hys3hLCqw=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-J2l2TxZcxtK8dHPdT0BZVlsf2dkPUvfq/PnkzprQBrePbvtTbpaGv6HYfShUHzUS6lAb8oPx8E36fj25T2TzYg=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-Z8yrkHD415e1ZTpXvPTG19DkfR9DBafXwx2Bqmy6adx6maWlzZqrppk7IgfmCobas4nNnI1INBKXvDxxYm4Ziw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; + version = "8.0.11"; + hash = "sha512-rDMKYcBghoj2gWaUeWYZXNuNuO1HWbu9vEaHjyl6Y0o/OSIy2T3em3NZdc38OfG9dykCz4pgT9tdD6BZ7Ivwhw=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "8.0.11"; hash = "sha512-ensFnmyolPu1SHBFsxfnxrI+ldHqN6n62eS0+MXZ+kaMAfnyQtYT3u3NXWanHZHgXKdlV8+9+T2KvOpQUXdu3g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "8.0.11"; hash = "sha512-DioWImEMGjRM4UN+7on+2VK7D/kv3vVGGaPAIoLNw3JYhJylj1Y2AqSd1uwQ9a3WGU/7amRAcTMX2p1/NMxWCQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "8.0.11"; hash = "sha512-AB/BBjg1QmNjKix97nGsnyYALk3ABZAtqbkLTxKlC/GVuITZ05cQOKfKbbHLgYAiKZQtDPG/XMiEt7UTpm8BFQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-znw0LiorYDW0fCWwYQHiEwTRx5JrKrBfbPlwAKURJWq1YaLDy2eygO3hXlMdSLdMWkJlDPZpjcbqt5+mx7dBnQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-4lNoHmvKzqUpCZhUofSMITLANHj1UrAHtMHzUtcA9rHUuqi8WKOG6hAyVXp7qhNPaWTPWlwkwG1vyp89fhsqAg=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-7wyt+/TT0T2EoPpqdLUbjvoVzGyzDtArThboeX7hYdx2J0Wh2O7821XIo/1XZoGUVI72wEVxX/mvylUgsNyrWQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-O1Kw599sjBL7neUB2rQU5fNveeFLm0QbBTIvzupfmKSPpON7MI9Ir28LJqwjFbSqhdO/9SYmpeTUzAJqsbGQjw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; + version = "8.0.11"; + hash = "sha512-ensFnmyolPu1SHBFsxfnxrI+ldHqN6n62eS0+MXZ+kaMAfnyQtYT3u3NXWanHZHgXKdlV8+9+T2KvOpQUXdu3g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; + version = "8.0.11"; + hash = "sha512-DioWImEMGjRM4UN+7on+2VK7D/kv3vVGGaPAIoLNw3JYhJylj1Y2AqSd1uwQ9a3WGU/7amRAcTMX2p1/NMxWCQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; + version = "8.0.11"; + hash = "sha512-AB/BBjg1QmNjKix97nGsnyYALk3ABZAtqbkLTxKlC/GVuITZ05cQOKfKbbHLgYAiKZQtDPG/XMiEt7UTpm8BFQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-znw0LiorYDW0fCWwYQHiEwTRx5JrKrBfbPlwAKURJWq1YaLDy2eygO3hXlMdSLdMWkJlDPZpjcbqt5+mx7dBnQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-4lNoHmvKzqUpCZhUofSMITLANHj1UrAHtMHzUtcA9rHUuqi8WKOG6hAyVXp7qhNPaWTPWlwkwG1vyp89fhsqAg=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-7wyt+/TT0T2EoPpqdLUbjvoVzGyzDtArThboeX7hYdx2J0Wh2O7821XIo/1XZoGUVI72wEVxX/mvylUgsNyrWQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-O1Kw599sjBL7neUB2rQU5fNveeFLm0QbBTIvzupfmKSPpON7MI9Ir28LJqwjFbSqhdO/9SYmpeTUzAJqsbGQjw=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "8.0.11"; hash = "sha512-KvNikPRuWtyDgZkbneySfA6MjX5VUfOwfq22GK5tRKc8xOtlsv08he6zx33Q8SW4ldu8f4K4uzMkO71EdQQmkQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "8.0.11"; hash = "sha512-lPAmNTIsRdMcvaN7rjnkvVc9a56RuNrDMi3H6rKo0ZS06Njoee1BFDeQ5wuUDWnvaMxnAwxZH5wPKAvt6LdT3Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "8.0.11"; hash = "sha512-+lz9eo9eSsaPNisaAeaUM7GtSaBilFyXnOFsVqt8nIn3tR/azvXAgzNj00Zy4QLJLiDMcr27eeNp8E7LKVI1mQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-9faK+Tt1Lh0cttVCwWxL3KTW8gPyi6uGBRGtEuexwB1HlyPuiHDlXXOWMCzDKTg4Bsj2NkkgZQ6R7KlWB/0xGQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-WpEunjmasr6EtDwl/Pts5pWq4XcgdOOX+qPtXrY5h+AnvEbagGGu7yTetroVy1yWkAXfWRxC2jp1KcPq+5b1Qg=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-Wjx3q+xYAF1D62cjLodPV8k/i72yTKkQwYAUhXvlfdzddZvnkW18dWlw1twZm8TUx33JRbPAl8jokhEfnwPMQg=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-1lU3Ir0DjkJyog5r/JZrFxzhSgQh/Mgt9fA216ixJyB3hwrDoi5H6mM49ORl6Y1K5gsFZFrYgT0ieB9y7B84KQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; + version = "8.0.11"; + hash = "sha512-KvNikPRuWtyDgZkbneySfA6MjX5VUfOwfq22GK5tRKc8xOtlsv08he6zx33Q8SW4ldu8f4K4uzMkO71EdQQmkQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; + version = "8.0.11"; + hash = "sha512-lPAmNTIsRdMcvaN7rjnkvVc9a56RuNrDMi3H6rKo0ZS06Njoee1BFDeQ5wuUDWnvaMxnAwxZH5wPKAvt6LdT3Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; + version = "8.0.11"; + hash = "sha512-+lz9eo9eSsaPNisaAeaUM7GtSaBilFyXnOFsVqt8nIn3tR/azvXAgzNj00Zy4QLJLiDMcr27eeNp8E7LKVI1mQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-9faK+Tt1Lh0cttVCwWxL3KTW8gPyi6uGBRGtEuexwB1HlyPuiHDlXXOWMCzDKTg4Bsj2NkkgZQ6R7KlWB/0xGQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-WpEunjmasr6EtDwl/Pts5pWq4XcgdOOX+qPtXrY5h+AnvEbagGGu7yTetroVy1yWkAXfWRxC2jp1KcPq+5b1Qg=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-Wjx3q+xYAF1D62cjLodPV8k/i72yTKkQwYAUhXvlfdzddZvnkW18dWlw1twZm8TUx33JRbPAl8jokhEfnwPMQg=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-1lU3Ir0DjkJyog5r/JZrFxzhSgQh/Mgt9fA216ixJyB3hwrDoi5H6mM49ORl6Y1K5gsFZFrYgT0ieB9y7B84KQ=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "8.0.11"; hash = "sha512-SgTHU/z8LNomJAGsKH5HUvx5OizjB1WeqKsMzymgOubaRY7SgwH3mzrkO1ApZriU4UdDqr97pciMbxhlfaw89g=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "8.0.11"; hash = "sha512-2H8/Pdrzex0K/3zI1TMciRlgz7Z7od83gC9qk9Fm6UI8cElOjfd1uFP8Fry4hd77cfAFEGLOH08nhSYVnpMFnw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "8.0.11"; hash = "sha512-IH1SXwkdekKugXK6ODphFR1MhQKkrBjFgt4zvCeKqL38sv7pfXLmGQOYBmstdxsSbV47VXcKzoi28E2TbOVi+g=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-V4y3EK0FOhOJ0gNCgkH1zb0jajXi3G/1fTRLFjmHYwHJN1xLnEyBFcQxZ/iKXSl8KhDJIoCZhq6PgXxy5FCw6w=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-HZojWDGgsYfjMvNvwOqSI7BQrH0nn8CqHNJH29z2kv2Xf95wqAZAxOeWoURYiPINHi9MC2/zgxYOQ/OvBOHhYQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-4ejFZQ55fKOR4efL+0zdjJNJgDsMbdLq/yahNWtaowMpVaIwCkb8crxZ5GnOFJbXm1QQ6iEWfw2n8PfHhXEbDA=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-ZsS4BXtP1sl8vT9w4Zg4F1lnukUytSXjHALELUasI7tt5DthDPKfWb0ZPWxPOBIjqicx+fC6DrRlm5bLXxiAcQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "8.0.11"; hash = "sha512-ieQVL36ljos0aLxaEUEZiVcNbpHFI0jXxkN6b5PEgl7FgI23wK21DfKCDjzLmSsq5Sc9KWTsjhGVZ113gRcT6g=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; + version = "8.0.11"; + hash = "sha512-SgTHU/z8LNomJAGsKH5HUvx5OizjB1WeqKsMzymgOubaRY7SgwH3mzrkO1ApZriU4UdDqr97pciMbxhlfaw89g=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; + version = "8.0.11"; + hash = "sha512-2H8/Pdrzex0K/3zI1TMciRlgz7Z7od83gC9qk9Fm6UI8cElOjfd1uFP8Fry4hd77cfAFEGLOH08nhSYVnpMFnw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; + version = "8.0.11"; + hash = "sha512-IH1SXwkdekKugXK6ODphFR1MhQKkrBjFgt4zvCeKqL38sv7pfXLmGQOYBmstdxsSbV47VXcKzoi28E2TbOVi+g=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-V4y3EK0FOhOJ0gNCgkH1zb0jajXi3G/1fTRLFjmHYwHJN1xLnEyBFcQxZ/iKXSl8KhDJIoCZhq6PgXxy5FCw6w=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-HZojWDGgsYfjMvNvwOqSI7BQrH0nn8CqHNJH29z2kv2Xf95wqAZAxOeWoURYiPINHi9MC2/zgxYOQ/OvBOHhYQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-4ejFZQ55fKOR4efL+0zdjJNJgDsMbdLq/yahNWtaowMpVaIwCkb8crxZ5GnOFJbXm1QQ6iEWfw2n8PfHhXEbDA=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-ZsS4BXtP1sl8vT9w4Zg4F1lnukUytSXjHALELUasI7tt5DthDPKfWb0ZPWxPOBIjqicx+fC6DrRlm5bLXxiAcQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; + version = "8.0.11"; + hash = "sha512-ieQVL36ljos0aLxaEUEZiVcNbpHFI0jXxkN6b5PEgl7FgI23wK21DfKCDjzLmSsq5Sc9KWTsjhGVZ113gRcT6g=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "8.0.11"; hash = "sha512-djBsHftYzC802MFtYmZLn82/XcjKzVY+mV12PrfxrTqcyjw46HlY1ii5uJVQ0Bm4cbX7Oz1dHdzfDnpgAmQkYg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "8.0.11"; hash = "sha512-Z7XeUhut6aToHi/cclEUICL45EdVBHv/rFjSPbz3/SARoDFoKia7wl3H61vKxpodTB2HmzFVmABTrdEF8N5uoA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "8.0.11"; hash = "sha512-O0fvdSX/MwFSsueeQ7pM/jDagmwDi4V+J/utor3emVDtI8xjabav11icQJdM9HE0L62vppg1uT8IMUx9wuH1mg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-gjmmfG6V7HTSaVNvu06+NG+6/rH4Dpj7a4EM57MkRCEy3bNNVJ0S5DO8l6YveX3Ocx2k9XJtf8d2sRd9y+wyFQ=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-1in90CWWJXmQ25lJs8WLsmLTNqGhCg38qd7n1PcaJ+hGZbJDloeoxvrYgDMib94G7zkMUSCCpNQkLWdS+AZZcg=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-rqZJszTVrJ1AKSMLpg8o0lvFeJv9sYlfMWu2VGlsxnVJ7bXhx3zUTdPizpkfXLEkumsJHIyzA0dAU9JxG4aGBw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-54Y0CX4mpsMWF9gybFTYSPlRY0yp5N27pCidIxZwh1QNZRJgRadMS2J6uYKSBP5UNHxX4CZ2bP3mg/VU2YGixQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "8.0.11"; hash = "sha512-5fNhWcWZf6r9dQe/gv1nAxgyBPyXZ8I3ta8C86R3oz2+6tv2hxYDioVgnQ3/pfY2RbaRXz/bv6s3/dK6+rtQ+w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; + version = "8.0.11"; + hash = "sha512-djBsHftYzC802MFtYmZLn82/XcjKzVY+mV12PrfxrTqcyjw46HlY1ii5uJVQ0Bm4cbX7Oz1dHdzfDnpgAmQkYg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-arm64"; + version = "8.0.11"; + hash = "sha512-Z7XeUhut6aToHi/cclEUICL45EdVBHv/rFjSPbz3/SARoDFoKia7wl3H61vKxpodTB2HmzFVmABTrdEF8N5uoA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; + version = "8.0.11"; + hash = "sha512-O0fvdSX/MwFSsueeQ7pM/jDagmwDi4V+J/utor3emVDtI8xjabav11icQJdM9HE0L62vppg1uT8IMUx9wuH1mg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-gjmmfG6V7HTSaVNvu06+NG+6/rH4Dpj7a4EM57MkRCEy3bNNVJ0S5DO8l6YveX3Ocx2k9XJtf8d2sRd9y+wyFQ=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-1in90CWWJXmQ25lJs8WLsmLTNqGhCg38qd7n1PcaJ+hGZbJDloeoxvrYgDMib94G7zkMUSCCpNQkLWdS+AZZcg=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-rqZJszTVrJ1AKSMLpg8o0lvFeJv9sYlfMWu2VGlsxnVJ7bXhx3zUTdPizpkfXLEkumsJHIyzA0dAU9JxG4aGBw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-54Y0CX4mpsMWF9gybFTYSPlRY0yp5N27pCidIxZwh1QNZRJgRadMS2J6uYKSBP5UNHxX4CZ2bP3mg/VU2YGixQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; + version = "8.0.11"; + hash = "sha512-5fNhWcWZf6r9dQe/gv1nAxgyBPyXZ8I3ta8C86R3oz2+6tv2hxYDioVgnQ3/pfY2RbaRXz/bv6s3/dK6+rtQ+w=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "8.0.11"; hash = "sha512-XCnfmeGZy/faPQMhAa6ZSm2ij3s7poqYEhGdbWEds1LjqO6WBB0KkqtMiYGotZ9jJRXFbzMBXaTmAFE65iOGYA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "8.0.11"; hash = "sha512-zt3fmvA9clYIVjPsuFXfcB2nDpEkWYU2+5GsNPzTQSiyGfhWkXygGCLpbYvkpbXCH1q57Ax5Bxk/e1FR0Iipig=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "8.0.11"; hash = "sha512-dvh/3bJAzZEwKTxzhLojdmFebW/iu/+AAAJH1FiYlZsT9684etdqWWn9vfuYPwqUBBXUTNLkPMH9iRJNPtPP1g=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-IcNYQJJ/wyqMjoib08W0Rgcnk841akaWAwesG28QIElxSNC8z5yh1dSM3QtatbyOALhckoWkI5ymTyzn9SDGrA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-p4QIeC7fy4fjphQIKSQ5+ykhfVE3/b+QS1/UmVqVnU5z7ch9eUjvxlliqwTDjpqCCW0yOXuvNhw/AFPH677LTA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-Q7F6ADk8beaPyGTlVSBIRJLujUmrFOqZ9P4qnnXSUFLiOAZRTHv59KRT1en0P5L+sf0hNjI2ngDkZJ9+BwfHgw=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-grFkU1QmSjuqeclCBBPjkw/SHMIHjie0khK010q6E7GpMzmHDNas3sB/hfEeheJ9q0hkuV9eFlGkHp5abHp1kw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "8.0.11"; hash = "sha512-ha4JEhQExJugVmd4qMLi3Oot+NO5u9Vfqg5Cj/ndFoBq+qBQF88rsw0SqbmPbkpDJ9AW14sqgrWs1p4ixMIN6g=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "8.0.11"; + hash = "sha512-XCnfmeGZy/faPQMhAa6ZSm2ij3s7poqYEhGdbWEds1LjqO6WBB0KkqtMiYGotZ9jJRXFbzMBXaTmAFE65iOGYA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "8.0.11"; + hash = "sha512-zt3fmvA9clYIVjPsuFXfcB2nDpEkWYU2+5GsNPzTQSiyGfhWkXygGCLpbYvkpbXCH1q57Ax5Bxk/e1FR0Iipig=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "8.0.11"; + hash = "sha512-dvh/3bJAzZEwKTxzhLojdmFebW/iu/+AAAJH1FiYlZsT9684etdqWWn9vfuYPwqUBBXUTNLkPMH9iRJNPtPP1g=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-IcNYQJJ/wyqMjoib08W0Rgcnk841akaWAwesG28QIElxSNC8z5yh1dSM3QtatbyOALhckoWkI5ymTyzn9SDGrA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-p4QIeC7fy4fjphQIKSQ5+ykhfVE3/b+QS1/UmVqVnU5z7ch9eUjvxlliqwTDjpqCCW0yOXuvNhw/AFPH677LTA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-Q7F6ADk8beaPyGTlVSBIRJLujUmrFOqZ9P4qnnXSUFLiOAZRTHv59KRT1en0P5L+sf0hNjI2ngDkZJ9+BwfHgw=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-grFkU1QmSjuqeclCBBPjkw/SHMIHjie0khK010q6E7GpMzmHDNas3sB/hfEeheJ9q0hkuV9eFlGkHp5abHp1kw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; + version = "8.0.11"; + hash = "sha512-ha4JEhQExJugVmd4qMLi3Oot+NO5u9Vfqg5Cj/ndFoBq+qBQF88rsw0SqbmPbkpDJ9AW14sqgrWs1p4ixMIN6g=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "8.0.11"; hash = "sha512-Z1yy2Lm+mF/pNfun1zTI4WcWfkB5J80pRbRY+Bi3zpVcuTYARaCIqqYCcs+RSsdGZyIsyxY5GCVtNnnS/Mr2gw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "8.0.11"; hash = "sha512-UwOxMcccBMa+nayzQINw98K8TdOe2gtInabbUhAtPglu9mn5KFplImezdd5ZctE1YPuVrsa79abrTnY+eHdsXg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "8.0.11"; hash = "sha512-afq9u/kUUNRlECwgdngwlaCEIJVYzdKzJZfjklHK9UBoK61OpmrIhXYfhSIAr6/yOlkoWeq5Hn7uPoLEDWxwnA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-0HUP7epr4Szr5mgx0UHtU/B5o1PcC4SuJPUrmCFVkua4gZ7liNd5In0GE5Tmbt53+bqT1C3NyD6v3Rqhqzi7EQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-8m49BIg9HtqZLxXt9N8rT/NlcUlLTaQMPHYzs2LbHMrlAXDatTVxZHW9lF312BBWjn1zQfAJqMtyibQtfmVKrg=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-rCM/d2VWCY+GpW6nTlFPICc1rMyw+qM+67X7r5yJDOwGrNSqYz3xeqi7ewP+aXYmIoQV71Od+Jb86oqOB2SDXg=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-PfwwvgpVmN83swqQhY4feqInM34XqsVbOeiXlKJEOgmwyKUj0cjHVidiu4HYBhy6jcOKla2uK25KTYebKqTx2Q=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; + version = "8.0.11"; + hash = "sha512-Z1yy2Lm+mF/pNfun1zTI4WcWfkB5J80pRbRY+Bi3zpVcuTYARaCIqqYCcs+RSsdGZyIsyxY5GCVtNnnS/Mr2gw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-arm64"; + version = "8.0.11"; + hash = "sha512-UwOxMcccBMa+nayzQINw98K8TdOe2gtInabbUhAtPglu9mn5KFplImezdd5ZctE1YPuVrsa79abrTnY+eHdsXg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-arm64"; + version = "8.0.11"; + hash = "sha512-afq9u/kUUNRlECwgdngwlaCEIJVYzdKzJZfjklHK9UBoK61OpmrIhXYfhSIAr6/yOlkoWeq5Hn7uPoLEDWxwnA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-0HUP7epr4Szr5mgx0UHtU/B5o1PcC4SuJPUrmCFVkua4gZ7liNd5In0GE5Tmbt53+bqT1C3NyD6v3Rqhqzi7EQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-8m49BIg9HtqZLxXt9N8rT/NlcUlLTaQMPHYzs2LbHMrlAXDatTVxZHW9lF312BBWjn1zQfAJqMtyibQtfmVKrg=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-rCM/d2VWCY+GpW6nTlFPICc1rMyw+qM+67X7r5yJDOwGrNSqYz3xeqi7ewP+aXYmIoQV71Od+Jb86oqOB2SDXg=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-PfwwvgpVmN83swqQhY4feqInM34XqsVbOeiXlKJEOgmwyKUj0cjHVidiu4HYBhy6jcOKla2uK25KTYebKqTx2Q=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "8.0.11"; hash = "sha512-VkSu/oOIMPemlIf5ARuFXmmndocYjub5ut3/5JXAz5sSBKrpeWciGnsUDnnshaWHP3jK4JCj3TBds7heldom3Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "8.0.11"; hash = "sha512-MmTlraMVCA4AWhuhG0ceYMOOjzCFLM5sydkoAUCLh43VoQOgzHMCa6BhxSzdXdcOuJ6VTHukMG72+NEm4TvL5w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "8.0.11"; hash = "sha512-9gYW5whLNQolY5oTcOSv9cQxfHujDOOUXjorA/GMlOhTM1iXvzrBbPuWnDjFywYznZBkE0ZiYc1jVKQUKJ2D7w=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-+rAOixUutqpDATvg/QBxT1Wr5kAG0GOUWR1f3d7QjwTnzz2rQI7I2e+oDa+RYy0yMv0+Ih6AhHFuBC+52H2ZCA=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-bhY1zLDtLxQf/DRCLy/V4/tXZGeBI0rWA7epKyItxfvlhEh77GOnmIc9VGyLH4B+WXNJFfWB/rTUhWGaJyzpww=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-NOZYMy4egQP04ohvziFDIRDEm1tHyMme4SCxWKh6y3BVHZ0BoENVryLq2Ko/DqoBuMF4tDjUFPi1bcofEl7Xtg=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-wDwiNdA0vNfgwZgCe+a7FpbAiUENRcOoy3CUW7Y/5Kfc25qYWNONz9v2BfyBDLRYExth534ZpILww3QkPmsiaQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "8.0.11"; hash = "sha512-eEgNGyaapr2MeHDmvfJuVPMavmtS7XdBd8xSgKWF64Yuo7mXoCtcgWzagG7BGDg65mW2vyFKE1iidZ9viVNbAQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "8.0.11"; + hash = "sha512-VkSu/oOIMPemlIf5ARuFXmmndocYjub5ut3/5JXAz5sSBKrpeWciGnsUDnnshaWHP3jK4JCj3TBds7heldom3Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x64"; + version = "8.0.11"; + hash = "sha512-MmTlraMVCA4AWhuhG0ceYMOOjzCFLM5sydkoAUCLh43VoQOgzHMCa6BhxSzdXdcOuJ6VTHukMG72+NEm4TvL5w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "8.0.11"; + hash = "sha512-9gYW5whLNQolY5oTcOSv9cQxfHujDOOUXjorA/GMlOhTM1iXvzrBbPuWnDjFywYznZBkE0ZiYc1jVKQUKJ2D7w=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-+rAOixUutqpDATvg/QBxT1Wr5kAG0GOUWR1f3d7QjwTnzz2rQI7I2e+oDa+RYy0yMv0+Ih6AhHFuBC+52H2ZCA=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-bhY1zLDtLxQf/DRCLy/V4/tXZGeBI0rWA7epKyItxfvlhEh77GOnmIc9VGyLH4B+WXNJFfWB/rTUhWGaJyzpww=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-NOZYMy4egQP04ohvziFDIRDEm1tHyMme4SCxWKh6y3BVHZ0BoENVryLq2Ko/DqoBuMF4tDjUFPi1bcofEl7Xtg=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-wDwiNdA0vNfgwZgCe+a7FpbAiUENRcOoy3CUW7Y/5Kfc25qYWNONz9v2BfyBDLRYExth534ZpILww3QkPmsiaQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; + version = "8.0.11"; + hash = "sha512-eEgNGyaapr2MeHDmvfJuVPMavmtS7XdBd8xSgKWF64Yuo7mXoCtcgWzagG7BGDg65mW2vyFKE1iidZ9viVNbAQ=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "8.0.11"; hash = "sha512-OPIUdM0ZFxcAzoVqJIy1qr4X6Tc8jQw8J1rsjrUL5iR24YGPT1kcSyC78G4S5F7kIRykjg8bnMRgLxiJ2B3THA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "8.0.11"; hash = "sha512-KF5x+GlRfAUjPvNz02f4UrwuyWydvu8kSlKpZCxH0EArR1rOX+8jgpEZGJQxl7NzPSpbkPoRcvwTicX+s5jLrQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "8.0.11"; hash = "sha512-BlTSt0qIs80/SxvdNEtiGl+kLn1ThEcKroQtc4gqoK3FPRIOyMFBfp9qEJZnVZdcDHVt7hGN1mPKUup+Qbesxw=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "8.0.11"; hash = "sha512-gGiAe5PJBNcmIRevQZnyBBM4KOgR+oLvMPGQxOvb5nGRxCXO41LnBtTQO+iZY8A6C4nBfD5pmis4+kluDbgxuA=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "8.0.11"; hash = "sha512-hZJfqP/8rnKc3jKJVLnAvcdsJzFIkFh80eBVatyeAGjUpp1I+lbmqGgnMbsWmA0Av4kBtylpmrv09ZId1g0GjA=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.11"; hash = "sha512-UW/jpK2X+Wvpj/lymy/31jZBQK+Q7oTSeNUxMZxEiv/1sk740ah4kGYsxVSlQmx+D6M2T+Yn/JCYgCBEDaTfug=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.11"; hash = "sha512-Zxw2Fnc7jzpqT0M36wTYAeqJ1qZKXrStOBfjKY3OYMfGIsLd10dEwiHYcNAKbDlzmOFxU7UlZoxWcBCz1pMFag=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "8.0.11"; hash = "sha512-Kr/G3KP5rXMURU82OJ0jSTCweYg3vnCcUXk6D+SvR64JYEC0DC5x5nDnMLnbTulB4S4NRJvFClVwFUzTJyzc6g=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; + version = "8.0.11"; + hash = "sha512-OPIUdM0ZFxcAzoVqJIy1qr4X6Tc8jQw8J1rsjrUL5iR24YGPT1kcSyC78G4S5F7kIRykjg8bnMRgLxiJ2B3THA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x86"; + version = "8.0.11"; + hash = "sha512-KF5x+GlRfAUjPvNz02f4UrwuyWydvu8kSlKpZCxH0EArR1rOX+8jgpEZGJQxl7NzPSpbkPoRcvwTicX+s5jLrQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x86"; + version = "8.0.11"; + hash = "sha512-BlTSt0qIs80/SxvdNEtiGl+kLn1ThEcKroQtc4gqoK3FPRIOyMFBfp9qEJZnVZdcDHVt7hGN1mPKUup+Qbesxw=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; + version = "8.0.11"; + hash = "sha512-gGiAe5PJBNcmIRevQZnyBBM4KOgR+oLvMPGQxOvb5nGRxCXO41LnBtTQO+iZY8A6C4nBfD5pmis4+kluDbgxuA=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; + version = "8.0.11"; + hash = "sha512-hZJfqP/8rnKc3jKJVLnAvcdsJzFIkFh80eBVatyeAGjUpp1I+lbmqGgnMbsWmA0Av4kBtylpmrv09ZId1g0GjA=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; + version = "8.0.11"; + hash = "sha512-UW/jpK2X+Wvpj/lymy/31jZBQK+Q7oTSeNUxMZxEiv/1sk740ah4kGYsxVSlQmx+D6M2T+Yn/JCYgCBEDaTfug=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; + version = "8.0.11"; + hash = "sha512-Zxw2Fnc7jzpqT0M36wTYAeqJ1qZKXrStOBfjKY3OYMfGIsLd10dEwiHYcNAKbDlzmOFxU7UlZoxWcBCz1pMFag=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; + version = "8.0.11"; + hash = "sha512-Kr/G3KP5rXMURU82OJ0jSTCweYg3vnCcUXk6D+SvR64JYEC0DC5x5nDnMLnbTulB4S4NRJvFClVwFUzTJyzc6g=="; + }) ]; }; -in rec { +in +rec { release_8_0 = "8.0.11"; aspnetcore_8_0 = buildAspNetCore { diff --git a/pkgs/development/compilers/dotnet/versions/9.0.nix b/pkgs/development/compilers/dotnet/versions/9.0.nix index 3afb110ccbd79..2676b78f94915 100644 --- a/pkgs/development/compilers/dotnet/versions/9.0.nix +++ b/pkgs/development/compilers/dotnet/versions/9.0.nix @@ -1,130 +1,408 @@ -{ buildAspNetCore, buildNetRuntime, buildNetSdk, fetchNupkg }: +{ + buildAspNetCore, + buildNetRuntime, + buildNetSdk, + fetchNupkg, +}: # v9.0 (active) let commonPackages = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Ref"; version = "9.0.0"; hash = "sha512-Gw0hOfzWemlJgdGucGfWdU0H7kFmE57x1lFLNJddRzbGi6r5Dv4T9+ySMXHj5MEU09iBRUig6rxsGu0XDsB1ZQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-pJWUhSWVDFIk8Cq/lWdBuedQk2m+uWBqKvGCmkpTXrx+22s/qE+D5gNvqMNX55QyyERg8hK3L3wMpbFkf2Mjyw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Ref"; version = "9.0.0"; hash = "sha512-s9us2abMLwrWpH1glRbjlMhbwCLvq6MhVBwcAjCqeD36kgBT6rx8PA9Ro8W6715QvRz9luJPJLUd1A1Im5QjAA=="; }) - (fetchNupkg { pname = "Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-VlXpaCL4/ZBq1vlW/58bwm9hNd2MXRiwPXhvfclsLMJ2j6fJaaX2AmB3XsgIWYlageW0FY1v+QmyhrIfmKJGxg=="; }) - (fetchNupkg { pname = "Microsoft.NET.ILLink.Tasks"; version = "9.0.0"; hash = "sha512-xg196uBfnUmJlc5aizfTi588MyruI9Hlvaqj3mMbx1J9GfpF+t3gdWR6uKbH0lVW9oxzJ7FgX7NWZEZj33j0ag=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "9.0.0"; + hash = "sha512-Gw0hOfzWemlJgdGucGfWdU0H7kFmE57x1lFLNJddRzbGi6r5Dv4T9+ySMXHj5MEU09iBRUig6rxsGu0XDsB1ZQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-pJWUhSWVDFIk8Cq/lWdBuedQk2m+uWBqKvGCmkpTXrx+22s/qE+D5gNvqMNX55QyyERg8hK3L3wMpbFkf2Mjyw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Ref"; + version = "9.0.0"; + hash = "sha512-s9us2abMLwrWpH1glRbjlMhbwCLvq6MhVBwcAjCqeD36kgBT6rx8PA9Ro8W6715QvRz9luJPJLUd1A1Im5QjAA=="; + }) + (fetchNupkg { + pname = "Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-VlXpaCL4/ZBq1vlW/58bwm9hNd2MXRiwPXhvfclsLMJ2j6fJaaX2AmB3XsgIWYlageW0FY1v+QmyhrIfmKJGxg=="; + }) + (fetchNupkg { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "9.0.0"; + hash = "sha512-xg196uBfnUmJlc5aizfTi588MyruI9Hlvaqj3mMbx1J9GfpF+t3gdWR6uKbH0lVW9oxzJ7FgX7NWZEZj33j0ag=="; + }) ]; hostPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "9.0.0"; hash = "sha512-MkXLF7urjdN5Qk0oFktLozf9TlM4q7WP+6z4eHa2Cwu3YWWnsbkxjTg+z04nNZA9OI0LLMRrxrJyVEg5HuIrTg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; + version = "9.0.0"; + hash = "sha512-MkXLF7urjdN5Qk0oFktLozf9TlM4q7WP+6z4eHa2Cwu3YWWnsbkxjTg+z04nNZA9OI0LLMRrxrJyVEg5HuIrTg=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "9.0.0"; hash = "sha512-Dn/V8lDW3q3C/U13fkAn1wJLNgwZ6XaMcb0vOXZROW32Ae1mEk9jFOnpRNbzCpFKQUGJX6Sg8/ift5ltX3/4dQ=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-3FZilMq21HAH5zXmB0KL7WnMdqHitJLkzqw/FgEiVdG3rECHttxo09htp+jIenDs8J8HitoYW/Xw2Drm7UaU0g=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; + version = "9.0.0"; + hash = "sha512-Dn/V8lDW3q3C/U13fkAn1wJLNgwZ6XaMcb0vOXZROW32Ae1mEk9jFOnpRNbzCpFKQUGJX6Sg8/ift5ltX3/4dQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-3FZilMq21HAH5zXmB0KL7WnMdqHitJLkzqw/FgEiVdG3rECHttxo09htp+jIenDs8J8HitoYW/Xw2Drm7UaU0g=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "9.0.0"; hash = "sha512-tnBxVIvOo6DjRViwBjJcyljpsMZnM46Y1vBqM8AbMM1fO0BcKPbJS88GmnQ3q0rNWmi6G2VY7UYHl/+9phcGCA=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-m9rQyHa8k6tmG9ZV2JyXYqG8o1gEFw8uh8mP7lRKWetA1ceXjPfZUEwKBXMxa+749G2ELibL696YL2YY+Z+C0A=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; + version = "9.0.0"; + hash = "sha512-tnBxVIvOo6DjRViwBjJcyljpsMZnM46Y1vBqM8AbMM1fO0BcKPbJS88GmnQ3q0rNWmi6G2VY7UYHl/+9phcGCA=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-m9rQyHa8k6tmG9ZV2JyXYqG8o1gEFw8uh8mP7lRKWetA1ceXjPfZUEwKBXMxa+749G2ELibL696YL2YY+Z+C0A=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "9.0.0"; hash = "sha512-URG+5zlHdvC03qzMEzlb8i8bYaY5j5BaVm3u9+6qDE/1xcb0SZrzvJK2TS5UjszUmCEyYeloFDBx6FQtEk4bag=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; + version = "9.0.0"; + hash = "sha512-URG+5zlHdvC03qzMEzlb8i8bYaY5j5BaVm3u9+6qDE/1xcb0SZrzvJK2TS5UjszUmCEyYeloFDBx6FQtEk4bag=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "9.0.0"; hash = "sha512-Ycj0j/VDvek7/rM8hYldSVHtkk3UBntDz/D+iwHVF3oc3QkEyEwPQFhM9uINEFTHIR9vwRE4DdhQfTgdsvlong=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-+64gZ7mG3UKNt0ijOiYcyfVBGsFTM0n2Buyf6EFJNTExqfyaH1G/YjrVO8XM4q2KTV5MrWLSYyhIVvl/ZhaitA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; + version = "9.0.0"; + hash = "sha512-Ycj0j/VDvek7/rM8hYldSVHtkk3UBntDz/D+iwHVF3oc3QkEyEwPQFhM9uINEFTHIR9vwRE4DdhQfTgdsvlong=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-+64gZ7mG3UKNt0ijOiYcyfVBGsFTM0n2Buyf6EFJNTExqfyaH1G/YjrVO8XM4q2KTV5MrWLSYyhIVvl/ZhaitA=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "9.0.0"; hash = "sha512-kdpajBOhxRjilUH7obuBN8Vj4yTlZlhemNTJ6FTHp60hNv4cINCs7IEnvzkC9TNuDAJNJyP543y+61QpIie4Cg=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-S3FR1/F/xxAA/LkqaPT+v8lWXxFvTJsCqyhMtFgYLKlAseXtZx7KE6t6a8xEgRJ5mdjA2d+MJFijfPw7ZKfaPQ=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; + version = "9.0.0"; + hash = "sha512-kdpajBOhxRjilUH7obuBN8Vj4yTlZlhemNTJ6FTHp60hNv4cINCs7IEnvzkC9TNuDAJNJyP543y+61QpIie4Cg=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-S3FR1/F/xxAA/LkqaPT+v8lWXxFvTJsCqyhMtFgYLKlAseXtZx7KE6t6a8xEgRJ5mdjA2d+MJFijfPw7ZKfaPQ=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "9.0.0"; hash = "sha512-2xbup0BwwwyAl9zH8U4WFrs0lh+24/WOoVn3xCaFZ4dzCpScFzE0qLZNhlBkY/EuDrbpVS1xf1toWbsZGju7xw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-wMon7mG3IkoRuzmtu/XSaUA7k93y7zUp84/cIzbRPHn2kc3bpBf1ICBgEibi+buNAsicGXgDa28hEjlI9ij/vA=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; + version = "9.0.0"; + hash = "sha512-2xbup0BwwwyAl9zH8U4WFrs0lh+24/WOoVn3xCaFZ4dzCpScFzE0qLZNhlBkY/EuDrbpVS1xf1toWbsZGju7xw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-wMon7mG3IkoRuzmtu/XSaUA7k93y7zUp84/cIzbRPHn2kc3bpBf1ICBgEibi+buNAsicGXgDa28hEjlI9ij/vA=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "9.0.0"; hash = "sha512-KsYxh+x62uTiWcHcFPoB4inYAShiQoORJf8mUtqdpI1CEDgUNtnCM5jFiBiuCAekMfA9xNfy0lsU4yHyg8MjzA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-l4xnwu5ZQc+J++LyO+cMojdjQw48IdkVqgmUc+SF/U+A6t0Apj0RCtB07XLDtpFzTR9HPY5RaE38+AZhE15Uqg=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; + version = "9.0.0"; + hash = "sha512-KsYxh+x62uTiWcHcFPoB4inYAShiQoORJf8mUtqdpI1CEDgUNtnCM5jFiBiuCAekMfA9xNfy0lsU4yHyg8MjzA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-l4xnwu5ZQc+J++LyO+cMojdjQw48IdkVqgmUc+SF/U+A6t0Apj0RCtB07XLDtpFzTR9HPY5RaE38+AZhE15Uqg=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; version = "9.0.0"; hash = "sha512-JQxa7mSZVVL9H6s/R8/5UOZSe8EekbTE4u4FFVydSyxi+mqryNTGC2Cf7YgbfFzWasDEqNtoSOhqXA7MJFHlDA=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-xrNYFUC3PWZuZxiKKBF4Re/zsyrA81uLMTnEENkqPdYI6eNabAvcGsBi7wP5mfaFtRWPbete5k5S+kOlpCpw/Q=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-arm64"; + version = "9.0.0"; + hash = "sha512-JQxa7mSZVVL9H6s/R8/5UOZSe8EekbTE4u4FFVydSyxi+mqryNTGC2Cf7YgbfFzWasDEqNtoSOhqXA7MJFHlDA=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-xrNYFUC3PWZuZxiKKBF4Re/zsyrA81uLMTnEENkqPdYI6eNabAvcGsBi7wP5mfaFtRWPbete5k5S+kOlpCpw/Q=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; version = "9.0.0"; hash = "sha512-B6Noyuo7Nx6lH+scXSUE0J8IxteoJWzpdgXkb2CO3MhSeaL06KLg51q8ATxmx5gs7emHV4sHxBq87k8U7KZxuw=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0"; hash = "sha512-P59aR9VD9GjI7ONAAK1SVjEJfZEJCpLFo9CVLe8raRdmq1MWg/eQ1sXR2AR50GPmciSCBpIq8rDAYZLsCiLx6w=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x64"; + version = "9.0.0"; + hash = "sha512-B6Noyuo7Nx6lH+scXSUE0J8IxteoJWzpdgXkb2CO3MhSeaL06KLg51q8ATxmx5gs7emHV4sHxBq87k8U7KZxuw=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; + version = "9.0.0"; + hash = "sha512-P59aR9VD9GjI7ONAAK1SVjEJfZEJCpLFo9CVLe8raRdmq1MWg/eQ1sXR2AR50GPmciSCBpIq8rDAYZLsCiLx6w=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; version = "9.0.0"; hash = "sha512-19GSA4/P5CMvqjkInp7rBySTKmE1i0KjtYtYCv5TAesvFbyY+tJRQjUJsHUB1LxYqdi7MNXR6jvcW1O6x67K3g=="; }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Crossgen2.win-x86"; + version = "9.0.0"; + hash = "sha512-19GSA4/P5CMvqjkInp7rBySTKmE1i0KjtYtYCv5TAesvFbyY+tJRQjUJsHUB1LxYqdi7MNXR6jvcW1O6x67K3g=="; + }) ]; }; targetPackages = { linux-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "9.0.0"; hash = "sha512-yNSYhFO714aiRTgQz+NSxmZ8KaXGYi8MtTyP9pG8H3Q7tQOPvhd3EhJothBasIjNGHeVoedQRBGXLHWLlHr8sQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "9.0.0"; hash = "sha512-doUaAKbTQQTvU+5c0WvENx822NekyJqKlfzLhNDh7v7lC/syq9RUApQxyOffWpLa7a11L9r7yf02ZdKACXgeyA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "9.0.0"; hash = "sha512-mDuNiquAA808YwpS+Z3RKbGYnnx7VCINSEYWYNUE55HBfR+lSe7NxRB+Ed4XxVOaBbeG2aP/yqzJjKEYP7kNew=="; }) - (fetchNupkg { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-VLRDQ84utnUvatZO4YTkHJCwdWgHm7zxxNEZ0xtp52dDBye2UVcwXY1ZNrKx2vRfKi5zTLHbOi0fGTAbK+TLOw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; + version = "9.0.0"; + hash = "sha512-yNSYhFO714aiRTgQz+NSxmZ8KaXGYi8MtTyP9pG8H3Q7tQOPvhd3EhJothBasIjNGHeVoedQRBGXLHWLlHr8sQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm"; + version = "9.0.0"; + hash = "sha512-doUaAKbTQQTvU+5c0WvENx822NekyJqKlfzLhNDh7v7lC/syq9RUApQxyOffWpLa7a11L9r7yf02ZdKACXgeyA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm"; + version = "9.0.0"; + hash = "sha512-mDuNiquAA808YwpS+Z3RKbGYnnx7VCINSEYWYNUE55HBfR+lSe7NxRB+Ed4XxVOaBbeG2aP/yqzJjKEYP7kNew=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-VLRDQ84utnUvatZO4YTkHJCwdWgHm7zxxNEZ0xtp52dDBye2UVcwXY1ZNrKx2vRfKi5zTLHbOi0fGTAbK+TLOw=="; + }) ]; linux-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "9.0.0"; hash = "sha512-DyQUA+74c4fjGgqGpTnXXkT5r03GSndeem3J7F2O+WsHg7nn87KHi2LR9y8RJWXHD9ceSOVMBvTLulM+VvRuOg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "9.0.0"; hash = "sha512-f7cPFLvJA1v08v1EtfcC8bKE1WFM6AU2YhhKrid5HZLDD1e71TXFMT2eLawwsoOJxnKG+rD1ERtySgvMYPWh8Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "9.0.0"; hash = "sha512-0v/YP+0hkr7yzvzGKhNzS9/wAknQtH6uH9k04NfIp5inCjq9LxWsL+S4YCINDwVX1oVeUS//AVv2T4sDuhIzjg=="; }) - (fetchNupkg { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-J0HoXQwGxVap8DLmheMeYu+Gr7UR4k51wV+q30A9rfaT33WJoWVe/aheXdYDgkxmGnKK/Cr8ScEDtD6oS+yb/w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; + version = "9.0.0"; + hash = "sha512-DyQUA+74c4fjGgqGpTnXXkT5r03GSndeem3J7F2O+WsHg7nn87KHi2LR9y8RJWXHD9ceSOVMBvTLulM+VvRuOg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-arm64"; + version = "9.0.0"; + hash = "sha512-f7cPFLvJA1v08v1EtfcC8bKE1WFM6AU2YhhKrid5HZLDD1e71TXFMT2eLawwsoOJxnKG+rD1ERtySgvMYPWh8Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; + version = "9.0.0"; + hash = "sha512-0v/YP+0hkr7yzvzGKhNzS9/wAknQtH6uH9k04NfIp5inCjq9LxWsL+S4YCINDwVX1oVeUS//AVv2T4sDuhIzjg=="; + }) + (fetchNupkg { + pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-J0HoXQwGxVap8DLmheMeYu+Gr7UR4k51wV+q30A9rfaT33WJoWVe/aheXdYDgkxmGnKK/Cr8ScEDtD6oS+yb/w=="; + }) ]; linux-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "9.0.0"; hash = "sha512-ah1ir1EEeGSshjAkKp8lfdl44WOYXFZmcydvORnQIs3IeKCkwhQTZNkgZOwieT1NtGB0TLbc0h1FSV6sURlnuQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "9.0.0"; hash = "sha512-va4ruzadg4nK1wM8PzDoqLFTNypO0kgVVkiV7+3wKWuYflwdYwWNpae5qKjmsLB0uLNrljBT3JSErksU6YpfkQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "9.0.0"; hash = "sha512-tT2j+X8saJn9J+3iM6MoJwv5kEAhWyuwPeZZipq266YDIlwEaW2FDjoWCJJVLC3vCDidHlnTT6IKUv/LMKKpWA=="; }) - (fetchNupkg { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-DEuteVFMIIUgkI55r+/kTQq2PMcaxj0iGxLs6CG9YFbfwvHqduq7MA2pqdonhL/6Emg1qFASw9LafjaIIfBqJA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "9.0.0"; + hash = "sha512-ah1ir1EEeGSshjAkKp8lfdl44WOYXFZmcydvORnQIs3IeKCkwhQTZNkgZOwieT1NtGB0TLbc0h1FSV6sURlnuQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "9.0.0"; + hash = "sha512-va4ruzadg4nK1wM8PzDoqLFTNypO0kgVVkiV7+3wKWuYflwdYwWNpae5qKjmsLB0uLNrljBT3JSErksU6YpfkQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "9.0.0"; + hash = "sha512-tT2j+X8saJn9J+3iM6MoJwv5kEAhWyuwPeZZipq266YDIlwEaW2FDjoWCJJVLC3vCDidHlnTT6IKUv/LMKKpWA=="; + }) + (fetchNupkg { + pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-DEuteVFMIIUgkI55r+/kTQq2PMcaxj0iGxLs6CG9YFbfwvHqduq7MA2pqdonhL/6Emg1qFASw9LafjaIIfBqJA=="; + }) ]; linux-musl-arm = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "9.0.0"; hash = "sha512-cjxki6OzyNfxncBFL1NjgXruHitIQjlyxjwXewOqkNqYU2EOxyKWhcxxOzavgw00x/izuvooDrvpNari5cSJng=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "9.0.0"; hash = "sha512-PkTgJhN3fhoJuynpjWPi7JZyGgOJ5EpwKWtOUPRiXLJj2Tqp3gKMdYvZz4pjEJm6KK+T6iWyUZRUr/WYRme+UQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "9.0.0"; hash = "sha512-SgafbwsE40tFUABR9rlfA+9YQenUei89fakk0SlNHUZPX9tkhHo0A5gXY3/Sdt88HlLOUCD+pmM7Nn8R2CdbBQ=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-aLoTcH9BTv7AuFML2fiqFdha09b8ETG+OJTP5mx7ER7taT9quMoUu7WJk2L8r0k/QdBoxh5qcqLKYjRVCoQ6IQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; + version = "9.0.0"; + hash = "sha512-cjxki6OzyNfxncBFL1NjgXruHitIQjlyxjwXewOqkNqYU2EOxyKWhcxxOzavgw00x/izuvooDrvpNari5cSJng=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; + version = "9.0.0"; + hash = "sha512-PkTgJhN3fhoJuynpjWPi7JZyGgOJ5EpwKWtOUPRiXLJj2Tqp3gKMdYvZz4pjEJm6KK+T6iWyUZRUr/WYRme+UQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; + version = "9.0.0"; + hash = "sha512-SgafbwsE40tFUABR9rlfA+9YQenUei89fakk0SlNHUZPX9tkhHo0A5gXY3/Sdt88HlLOUCD+pmM7Nn8R2CdbBQ=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-aLoTcH9BTv7AuFML2fiqFdha09b8ETG+OJTP5mx7ER7taT9quMoUu7WJk2L8r0k/QdBoxh5qcqLKYjRVCoQ6IQ=="; + }) ]; linux-musl-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "9.0.0"; hash = "sha512-penFoYejLCetGFWNXlUma/LbCZKXQMzGjKaoTMLupQtvjc3ZKM/i+n7uBXbRPTd3o9kYus7fCPtNnjk9lI5cPA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "9.0.0"; hash = "sha512-nVvMcj58prH57guq7lLE6de9KgTjAt18JTu9wXTsnNwQrOyAgZevzM3OpB4clZ1aqkqCKZZ8fuMgpPEbfyaTCw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "9.0.0"; hash = "sha512-jqfZ0ZboGYYa0KWArvYaO4Ddw0TMnLDkYVHtgKVfdFlaVon+KpM96yykbqmHLr1UUkDXDHNNFtHwnpVXmbmUOw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-h/AXFI687hBz7iO1okAoLFG/r6WNvjqMvwu2IFFN+FtweYjH0MOXVR05fG5Gzqi+RhiNkcF63b6IZDcPvEBKhA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; + version = "9.0.0"; + hash = "sha512-penFoYejLCetGFWNXlUma/LbCZKXQMzGjKaoTMLupQtvjc3ZKM/i+n7uBXbRPTd3o9kYus7fCPtNnjk9lI5cPA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; + version = "9.0.0"; + hash = "sha512-nVvMcj58prH57guq7lLE6de9KgTjAt18JTu9wXTsnNwQrOyAgZevzM3OpB4clZ1aqkqCKZZ8fuMgpPEbfyaTCw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; + version = "9.0.0"; + hash = "sha512-jqfZ0ZboGYYa0KWArvYaO4Ddw0TMnLDkYVHtgKVfdFlaVon+KpM96yykbqmHLr1UUkDXDHNNFtHwnpVXmbmUOw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-h/AXFI687hBz7iO1okAoLFG/r6WNvjqMvwu2IFFN+FtweYjH0MOXVR05fG5Gzqi+RhiNkcF63b6IZDcPvEBKhA=="; + }) ]; linux-musl-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "9.0.0"; hash = "sha512-LQmhF/z9n7Bp8ygYDpY261u3BU7QscyXfLwX52TFAXaMGNCvryVW5+92TeK5wK9zorlAdZMK5+T4sEeOMMa2PA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "9.0.0"; hash = "sha512-2qPiXsxgMn//ucG3xnTJX+kkpL7/cSF6ve6G+9voJk4Y0abbr3kaJqnmuSRIFoRi6gQt73FBEB7U5mcopeidSA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "9.0.0"; hash = "sha512-7+1WIq+1cod9u6RBu0c5nxIyYhZs4PHPQ7xvFu7u67JiSk6yGZqYStoYSwphme7D6VPqsyzzSUG/92zgwNg+Bw=="; }) - (fetchNupkg { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-fYyTxX42IGf6v3qvEsIwnmFjfPCYO/yQFQizbZ64Y1GejNl6o6pwqS8BMkOQ7gV4WTaO0aQwPigPWboyCp139w=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; + version = "9.0.0"; + hash = "sha512-LQmhF/z9n7Bp8ygYDpY261u3BU7QscyXfLwX52TFAXaMGNCvryVW5+92TeK5wK9zorlAdZMK5+T4sEeOMMa2PA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; + version = "9.0.0"; + hash = "sha512-2qPiXsxgMn//ucG3xnTJX+kkpL7/cSF6ve6G+9voJk4Y0abbr3kaJqnmuSRIFoRi6gQt73FBEB7U5mcopeidSA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; + version = "9.0.0"; + hash = "sha512-7+1WIq+1cod9u6RBu0c5nxIyYhZs4PHPQ7xvFu7u67JiSk6yGZqYStoYSwphme7D6VPqsyzzSUG/92zgwNg+Bw=="; + }) + (fetchNupkg { + pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-fYyTxX42IGf6v3qvEsIwnmFjfPCYO/yQFQizbZ64Y1GejNl6o6pwqS8BMkOQ7gV4WTaO0aQwPigPWboyCp139w=="; + }) ]; osx-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "9.0.0"; hash = "sha512-x0yxetXr1TKLDGONxhE/xl9726Q9T/iVQALK0wtZMdIEES4J7XehHnzA2+jGK3vEK5ZkevAN9EE6Hoijf6+iGA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "9.0.0"; hash = "sha512-SmhcN8JXFuVkmM32zgDtMWP9GFM3kimGr5R3FqzvlLXc1LVndmdsEcvCsLhmYhjr69hPBZtIv6av/LAxiIoKMw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "9.0.0"; hash = "sha512-pc7A8emc9Rl25slknnQyYSMAyHG48JXAissa9EaOSX8xojisl/GU0sDJnWkZkrd4RERyhekpaSoHGS3znLcUUw=="; }) - (fetchNupkg { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-Zruhm/0uRZ4036v182pLQ/SvqdQ/taJ5zxErdP9LsLypFFCRLWODpQBaYX/UZgQLFtsvv5ri81UZQZboRv4TNg=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; + version = "9.0.0"; + hash = "sha512-x0yxetXr1TKLDGONxhE/xl9726Q9T/iVQALK0wtZMdIEES4J7XehHnzA2+jGK3vEK5ZkevAN9EE6Hoijf6+iGA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-arm64"; + version = "9.0.0"; + hash = "sha512-SmhcN8JXFuVkmM32zgDtMWP9GFM3kimGr5R3FqzvlLXc1LVndmdsEcvCsLhmYhjr69hPBZtIv6av/LAxiIoKMw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; + version = "9.0.0"; + hash = "sha512-pc7A8emc9Rl25slknnQyYSMAyHG48JXAissa9EaOSX8xojisl/GU0sDJnWkZkrd4RERyhekpaSoHGS3znLcUUw=="; + }) + (fetchNupkg { + pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-Zruhm/0uRZ4036v182pLQ/SvqdQ/taJ5zxErdP9LsLypFFCRLWODpQBaYX/UZgQLFtsvv5ri81UZQZboRv4TNg=="; + }) ]; osx-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "9.0.0"; hash = "sha512-8sJ5cWWtGGMG+NFNOqzzObgaBKAXrewTLMh5b0iHYIgyJ5KoVCpEQHAAe3Fa+zxdVyrmhXsRTekazgEqDKrSJA=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "9.0.0"; hash = "sha512-DryrXoJ1Y5LAwNfU06r75aak+/raphHgkNwD1Ejy1b5bIPuUDD3VJRfAl0JfWw5e8hsidiA4WEVRdl1gy5LU5w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "9.0.0"; hash = "sha512-SyLkZqTEzTI9rWVbdLeM6F2EuhImVo3HzCaqu7JrFHwRxjFvc6TYa/BxmPhbOiA0wZbIAk7B70EWPeXe/jxzVA=="; }) - (fetchNupkg { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-9hG3q82Dfu/5HDoWxGHenwMHk10wZYCXAVzxySS+yJwaM2DPhXutXNIxgzSMVGnBD3umYfzrBHUjynvei3gPPQ=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "9.0.0"; + hash = "sha512-8sJ5cWWtGGMG+NFNOqzzObgaBKAXrewTLMh5b0iHYIgyJ5KoVCpEQHAAe3Fa+zxdVyrmhXsRTekazgEqDKrSJA=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.osx-x64"; + version = "9.0.0"; + hash = "sha512-DryrXoJ1Y5LAwNfU06r75aak+/raphHgkNwD1Ejy1b5bIPuUDD3VJRfAl0JfWw5e8hsidiA4WEVRdl1gy5LU5w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "9.0.0"; + hash = "sha512-SyLkZqTEzTI9rWVbdLeM6F2EuhImVo3HzCaqu7JrFHwRxjFvc6TYa/BxmPhbOiA0wZbIAk7B70EWPeXe/jxzVA=="; + }) + (fetchNupkg { + pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-9hG3q82Dfu/5HDoWxGHenwMHk10wZYCXAVzxySS+yJwaM2DPhXutXNIxgzSMVGnBD3umYfzrBHUjynvei3gPPQ=="; + }) ]; win-arm64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "9.0.0"; hash = "sha512-APQNj5uwHVbZ28Zvrx7CLEciJrNMTHOh78lvSNp/gpXgHkD4G5yoQSC7sj/B0AqSshrDs006WaCbp3PuTrKIqw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "9.0.0"; hash = "sha512-2MkdFDpDUQFBNJsytmLbyv51Jeyl7vG4NoO1ekWAhNa+ZzwVOtgl3VJNlHgsgwGqyYc8VPmbT5ZAFrBNSR3hoQ=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "9.0.0"; hash = "sha512-mEW0ITYKnBCRuXQDvFkasb4FaeV1GHobQGb6r/DRZED/u4b7qK9QMA8jDr29LzHdfGlZJL7dsBVyUfjOAvhuxQ=="; }) - (fetchNupkg { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-w5DtpHfp82nsMcSM9lyOCEj7pxohn4b8/m4MShhA87WigKB6tVdA9j6xnjC6eX16OvKkhbQ4xJhVfzt3G1d4ng=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; + version = "9.0.0"; + hash = "sha512-APQNj5uwHVbZ28Zvrx7CLEciJrNMTHOh78lvSNp/gpXgHkD4G5yoQSC7sj/B0AqSshrDs006WaCbp3PuTrKIqw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-arm64"; + version = "9.0.0"; + hash = "sha512-2MkdFDpDUQFBNJsytmLbyv51Jeyl7vG4NoO1ekWAhNa+ZzwVOtgl3VJNlHgsgwGqyYc8VPmbT5ZAFrBNSR3hoQ=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-arm64"; + version = "9.0.0"; + hash = "sha512-mEW0ITYKnBCRuXQDvFkasb4FaeV1GHobQGb6r/DRZED/u4b7qK9QMA8jDr29LzHdfGlZJL7dsBVyUfjOAvhuxQ=="; + }) + (fetchNupkg { + pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-w5DtpHfp82nsMcSM9lyOCEj7pxohn4b8/m4MShhA87WigKB6tVdA9j6xnjC6eX16OvKkhbQ4xJhVfzt3G1d4ng=="; + }) ]; win-x64 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "9.0.0"; hash = "sha512-BSXo3XZLsboJN72at4TMCxsZL5vjW5p3dMVtqedpXkmovGakcW0loYY22aCt40JC18i6QbsqzII+/jtTFqRoJg=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "9.0.0"; hash = "sha512-7SEHvvDPaYhWyNhUAurZou1oPrTgibn2k9RBW+falSlmXPq5AIqNi4EODJUbydc1QyyD2vQjRVgXvhF6aJ9s1Q=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "9.0.0"; hash = "sha512-ugVn1CngjzNdGzUNJjzukCwrV9MDZ7DhwIQJMHjFPrF9e0SMHTx9BnY1VDqM24AByFrsyymvm1S4Vj540TpGag=="; }) - (fetchNupkg { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-ELSZhNXrn/PdJ/NBJYdDIVR3fhHY3k4y3gbRDqWwQZioJS3q9g26bvRMLC2dlXC5FhFRFuCTg4vGuK7f6JPPYw=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "9.0.0"; + hash = "sha512-BSXo3XZLsboJN72at4TMCxsZL5vjW5p3dMVtqedpXkmovGakcW0loYY22aCt40JC18i6QbsqzII+/jtTFqRoJg=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x64"; + version = "9.0.0"; + hash = "sha512-7SEHvvDPaYhWyNhUAurZou1oPrTgibn2k9RBW+falSlmXPq5AIqNi4EODJUbydc1QyyD2vQjRVgXvhF6aJ9s1Q=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "9.0.0"; + hash = "sha512-ugVn1CngjzNdGzUNJjzukCwrV9MDZ7DhwIQJMHjFPrF9e0SMHTx9BnY1VDqM24AByFrsyymvm1S4Vj540TpGag=="; + }) + (fetchNupkg { + pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-ELSZhNXrn/PdJ/NBJYdDIVR3fhHY3k4y3gbRDqWwQZioJS3q9g26bvRMLC2dlXC5FhFRFuCTg4vGuK7f6JPPYw=="; + }) ]; win-x86 = [ - (fetchNupkg { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "9.0.0"; hash = "sha512-eG/2FruILBj/2d1Viu/9gbYuwXIHGL61UKvvRCUGWIgS72E8LQgqSntuGO83LOk+aLUHVn5cXrFkb4bVTCGB7w=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "9.0.0"; hash = "sha512-mohCLeSgM6dCZB79u9Uz6qgnp7yLyEPszlHPPXI7R66mrot29ApMwDyVjFYNDv3eK/pcCHOroQKcH5qbnVr6pw=="; }) - (fetchNupkg { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "9.0.0"; hash = "sha512-CsjUwZKARvTkcPSQuMIQwaMnKnH40SJVS3F6LTWKSHvy3BXMAdnXAeB1DbAegKZyIaRrqjnIlBv9OJ7/G6V5Xw=="; }) - (fetchNupkg { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0"; hash = "sha512-PatJv/4NYdABL0jlheOf7mNhMUXgIH79pdhQz4lKFWgLnP7dmiGF102MbFwPs5X7jc1bbPAYhr5wVeLhukN7WA=="; }) + (fetchNupkg { + pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; + version = "9.0.0"; + hash = "sha512-eG/2FruILBj/2d1Viu/9gbYuwXIHGL61UKvvRCUGWIgS72E8LQgqSntuGO83LOk+aLUHVn5cXrFkb4bVTCGB7w=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Host.win-x86"; + version = "9.0.0"; + hash = "sha512-mohCLeSgM6dCZB79u9Uz6qgnp7yLyEPszlHPPXI7R66mrot29ApMwDyVjFYNDv3eK/pcCHOroQKcH5qbnVr6pw=="; + }) + (fetchNupkg { + pname = "Microsoft.NETCore.App.Runtime.win-x86"; + version = "9.0.0"; + hash = "sha512-CsjUwZKARvTkcPSQuMIQwaMnKnH40SJVS3F6LTWKSHvy3BXMAdnXAeB1DbAegKZyIaRrqjnIlBv9OJ7/G6V5Xw=="; + }) + (fetchNupkg { + pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; + version = "9.0.0"; + hash = "sha512-PatJv/4NYdABL0jlheOf7mNhMUXgIH79pdhQz4lKFWgLnP7dmiGF102MbFwPs5X7jc1bbPAYhr5wVeLhukN7WA=="; + }) ]; }; -in rec { +in +rec { release_9_0 = "9.0.0"; aspnetcore_9_0 = buildAspNetCore { diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix index 121935df5f055..57ae172518d3d 100644 --- a/pkgs/development/compilers/ecl/16.1.2.nix +++ b/pkgs/development/compilers/ecl/16.1.2.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, libtool -, autoconf -, automake -, gmp -, mpfr -, libffi -, makeWrapper -, noUnicode ? false -, gcc -, threadSupport ? false -, useBoehmgc ? true -, boehmgc +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libtool, + autoconf, + automake, + gmp, + mpfr, + libffi, + makeWrapper, + noUnicode ? false, + gcc, + threadSupport ? false, + useBoehmgc ? true, + boehmgc, }: stdenv.mkDerivation rec { @@ -25,16 +26,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-LUgrGgpPvV2IFDRRcDInnYCMtkBeIt2R721zNTRGS5k="; }; - nativeBuildInputs = [ autoconf automake makeWrapper libtool ]; - propagatedBuildInputs = [ - libffi - gmp - mpfr - gcc - ] ++ lib.optionals useBoehmgc [ - # replaces ecl's own gc which other packages can depend on, thus propagated - boehmgc + nativeBuildInputs = [ + autoconf + automake + makeWrapper + libtool ]; + propagatedBuildInputs = + [ + libffi + gmp + mpfr + gcc + ] + ++ lib.optionals useBoehmgc [ + # replaces ecl's own gc which other packages can depend on, thus propagated + boehmgc + ]; configureFlags = [ (if threadSupport then "--enable-threads" else "--disable-threads") @@ -42,8 +50,7 @@ stdenv.mkDerivation rec { "--with-gmp-libdir=${lib.getLib gmp}/lib" # -incdir, -libdir doesn't seem to be supported for libffi "--with-libffi-prefix=${lib.getDev libffi}" - ] ++ lib.optional (! noUnicode) "--enable-unicode" - ; + ] ++ lib.optional (!noUnicode) "--enable-unicode"; patches = [ (fetchpatch { @@ -65,28 +72,30 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - postInstall = '' - sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config - wrapProgram "$out/bin/ecl" \ - --prefix PATH ':' "${ - lib.makeBinPath [ - gcc # for the C compiler - gcc.bintools.bintools # for ar - ] - }" \ - '' - # ecl 16.1.2 is too old to have -libdir for libffi and boehmgc, so we need to - # use NIX_LDFLAGS_BEFORE to make gcc find these particular libraries. - # Since it is missing even the prefix flag for boehmgc we also need to inject - # the correct -I flag via NIX_CFLAGS_COMPILE. Since we have access to it, we - # create the variables with suffixSalt (which seems to be necessary for - # NIX_CFLAGS_COMPILE even). - + lib.optionalString useBoehmgc '' - --prefix NIX_CFLAGS_COMPILE_${gcc.suffixSalt} ' ' "-I${lib.getDev boehmgc}/include" \ - --prefix NIX_LDFLAGS_BEFORE_${gcc.bintools.suffixSalt} ' ' "-L${lib.getLib boehmgc}/lib" \ - '' + '' - --prefix NIX_LDFLAGS_BEFORE_${gcc.bintools.suffixSalt} ' ' "-L${lib.getLib libffi}/lib" - ''; + postInstall = + '' + sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config + wrapProgram "$out/bin/ecl" \ + --prefix PATH ':' "${ + lib.makeBinPath [ + gcc # for the C compiler + gcc.bintools.bintools # for ar + ] + }" \ + '' + # ecl 16.1.2 is too old to have -libdir for libffi and boehmgc, so we need to + # use NIX_LDFLAGS_BEFORE to make gcc find these particular libraries. + # Since it is missing even the prefix flag for boehmgc we also need to inject + # the correct -I flag via NIX_CFLAGS_COMPILE. Since we have access to it, we + # create the variables with suffixSalt (which seems to be necessary for + # NIX_CFLAGS_COMPILE even). + + lib.optionalString useBoehmgc '' + --prefix NIX_CFLAGS_COMPILE_${gcc.suffixSalt} ' ' "-I${lib.getDev boehmgc}/include" \ + --prefix NIX_LDFLAGS_BEFORE_${gcc.bintools.suffixSalt} ' ' "-L${lib.getLib boehmgc}/lib" \ + '' + + '' + --prefix NIX_LDFLAGS_BEFORE_${gcc.bintools.suffixSalt} ' ' "-L${lib.getLib libffi}/lib" + ''; meta = with lib; { description = "Lisp implementation aiming to be small, fast and easy to embed"; diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index c11f471641dad..3f74941adb725 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, libtool -, autoconf -, automake -, texinfo -, gmp -, mpfr -, libffi -, makeWrapper -, noUnicode ? false -, gcc -, threadSupport ? true -, useBoehmgc ? false -, boehmgc +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libtool, + autoconf, + automake, + texinfo, + gmp, + mpfr, + libffi, + makeWrapper, + noUnicode ? false, + gcc, + threadSupport ? true, + useBoehmgc ? false, + boehmgc, }: stdenv.mkDerivation rec { @@ -33,16 +34,18 @@ stdenv.mkDerivation rec { texinfo makeWrapper ]; - propagatedBuildInputs = [ - libffi - gmp - mpfr - gcc - # replaces ecl's own gc which other packages can depend on, thus propagated - ] ++ lib.optionals useBoehmgc [ - # replaces ecl's own gc which other packages can depend on, thus propagated - boehmgc - ]; + propagatedBuildInputs = + [ + libffi + gmp + mpfr + gcc + # replaces ecl's own gc which other packages can depend on, thus propagated + ] + ++ lib.optionals useBoehmgc [ + # replaces ecl's own gc which other packages can depend on, thus propagated + boehmgc + ]; patches = [ # https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/1 @@ -52,16 +55,19 @@ stdenv.mkDerivation rec { }) ]; - configureFlags = [ - (if threadSupport then "--enable-threads" else "--disable-threads") - "--with-gmp-incdir=${lib.getDev gmp}/include" - "--with-gmp-libdir=${lib.getLib gmp}/lib" - "--with-libffi-incdir=${lib.getDev libffi}/include" - "--with-libffi-libdir=${lib.getLib libffi}/lib" - ] ++ lib.optionals useBoehmgc [ - "--with-libgc-incdir=${lib.getDev boehmgc}/include" - "--with-libgc-libdir=${lib.getLib boehmgc}/lib" - ] ++ lib.optional (!noUnicode) "--enable-unicode"; + configureFlags = + [ + (if threadSupport then "--enable-threads" else "--disable-threads") + "--with-gmp-incdir=${lib.getDev gmp}/include" + "--with-gmp-libdir=${lib.getLib gmp}/lib" + "--with-libffi-incdir=${lib.getDev libffi}/include" + "--with-libffi-libdir=${lib.getLib libffi}/lib" + ] + ++ lib.optionals useBoehmgc [ + "--with-libgc-incdir=${lib.getDev boehmgc}/include" + "--with-libgc-libdir=${lib.getLib boehmgc}/lib" + ] + ++ lib.optional (!noUnicode) "--enable-unicode"; hardeningDisable = [ "format" ]; @@ -74,7 +80,7 @@ stdenv.mkDerivation rec { sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config wrapProgram "$out/bin/ecl" --prefix PATH ':' "${ lib.makeBinPath [ - gcc # for the C compiler + gcc # for the C compiler gcc.bintools.bintools # for ar ] }" diff --git a/pkgs/development/compilers/elm/lib/default.nix b/pkgs/development/compilers/elm/lib/default.nix index 12e0600dc2310..3b11973783226 100644 --- a/pkgs/development/compilers/elm/lib/default.nix +++ b/pkgs/development/compilers/elm/lib/default.nix @@ -1,4 +1,9 @@ -{ writeScriptBin, stdenv, lib, elm }: +{ + writeScriptBin, + stdenv, + lib, + elm, +}: let patchBinwrap = let @@ -12,32 +17,48 @@ let #! ${stdenv.shell} echo "binwrap-install called: Doing nothing" ''; - in targets: pkg: - pkg.override (old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ binwrap binwrap-install ]; + in + targets: pkg: + pkg.override (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + binwrap + binwrap-install + ]; - # Manually install targets - # by symlinking binaries into `node_modules` - postInstall = let + # Manually install targets + # by symlinking binaries into `node_modules` + postInstall = + let binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name; - in (old.postInstall or "") + '' - ${lib.concatStrings (map (module: '' + in + (old.postInstall or "") + + '' + ${lib.concatStrings ( + map (module: '' echo "linking ${binFile module}" ln -sf ${module}/bin/${binFile module} \ node_modules/${binFile module}/bin/${binFile module} - '') targets)} + '') targets + )} ''; - }); + }); - patchNpmElm = pkg: + patchNpmElm = + pkg: pkg.override (old: { - preRebuild = (old.preRebuild or "") + '' - rm node_modules/elm/install.js - echo "console.log('Nixpkgs\' version of Elm will be used');" > node_modules/elm/install.js - ''; - postInstall = (old.postInstall or "") + '' - ln -sf ${elm}/bin/elm node_modules/elm/bin/elm - ''; + preRebuild = + (old.preRebuild or "") + + '' + rm node_modules/elm/install.js + echo "console.log('Nixpkgs\' version of Elm will be used');" > node_modules/elm/install.js + ''; + postInstall = + (old.postInstall or "") + + '' + ln -sf ${elm}/bin/elm node_modules/elm/bin/elm + ''; }); in -{ inherit patchBinwrap patchNpmElm; } +{ + inherit patchBinwrap patchNpmElm; +} diff --git a/pkgs/development/compilers/elm/lib/fetchElmDeps.nix b/pkgs/development/compilers/elm/lib/fetchElmDeps.nix index 9715bfbe037d4..d1102551247d2 100644 --- a/pkgs/development/compilers/elm/lib/fetchElmDeps.nix +++ b/pkgs/development/compilers/elm/lib/fetchElmDeps.nix @@ -1,10 +1,26 @@ -{stdenv, lib, fetchurl}: +{ + stdenv, + lib, + fetchurl, +}: -{elmPackages, registryDat, elmVersion}: +{ + elmPackages, + registryDat, + elmVersion, +}: let - makeDotElm = import ./makeDotElm.nix { inherit stdenv lib fetchurl registryDat; }; + makeDotElm = import ./makeDotElm.nix { + inherit + stdenv + lib + fetchurl + registryDat + ; + }; in '' export ELM_HOME=`pwd`/.elm -'' + (makeDotElm elmVersion elmPackages) +'' ++ (makeDotElm elmVersion elmPackages) diff --git a/pkgs/development/compilers/elm/lib/makeDotElm.nix b/pkgs/development/compilers/elm/lib/makeDotElm.nix index ab62eb88e2202..9c3ea00b431ef 100644 --- a/pkgs/development/compilers/elm/lib/makeDotElm.nix +++ b/pkgs/development/compilers/elm/lib/makeDotElm.nix @@ -1,35 +1,41 @@ -{ stdenv, lib, fetchurl, registryDat }: +{ + stdenv, + lib, + fetchurl, + registryDat, +}: ver: deps: let - cmds = lib.mapAttrsToList - (name: info: - let - pkg = stdenv.mkDerivation { - name = lib.replaceStrings [ "/" ] [ "-" ] name + "-${info.version}"; + cmds = lib.mapAttrsToList ( + name: info: + let + pkg = stdenv.mkDerivation { + name = lib.replaceStrings [ "/" ] [ "-" ] name + "-${info.version}"; - src = fetchurl { - url = "https://github.com/${name}/archive/${info.version}.tar.gz"; - meta.homepage = "https://github.com/${name}/"; - inherit (info) sha256; - }; + src = fetchurl { + url = "https://github.com/${name}/archive/${info.version}.tar.gz"; + meta.homepage = "https://github.com/${name}/"; + inherit (info) sha256; + }; - dontConfigure = true; - dontBuild = true; + dontConfigure = true; + dontBuild = true; - installPhase = '' - mkdir -p $out - cp -r * $out - ''; - }; - in - '' - mkdir -p .elm/${ver}/packages/${name} - cp -R ${pkg} .elm/${ver}/packages/${name}/${info.version} - '') - deps; + installPhase = '' + mkdir -p $out + cp -r * $out + ''; + }; + in + '' + mkdir -p .elm/${ver}/packages/${name} + cp -R ${pkg} .elm/${ver}/packages/${name}/${info.version} + '' + ) deps; in -(lib.concatStrings cmds) + '' +(lib.concatStrings cmds) ++ '' mkdir -p .elm/${ver}/packages; cp ${registryDat} .elm/${ver}/packages/registry.dat; chmod -R +w .elm diff --git a/pkgs/development/compilers/elm/packages/elm-json/default.nix b/pkgs/development/compilers/elm/packages/elm-json/default.nix index bc456d2479c19..a306669f06517 100644 --- a/pkgs/development/compilers/elm/packages/elm-json/default.nix +++ b/pkgs/development/compilers/elm/packages/elm-json/default.nix @@ -1,11 +1,12 @@ -{ lib -, curl -, rustPlatform -, fetchurl -, openssl -, stdenv -, pkg-config -, darwin +{ + lib, + curl, + rustPlatform, + fetchurl, + openssl, + stdenv, + pkg-config, + darwin, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/compilers/elm/packages/elm-srcs.nix b/pkgs/development/compilers/elm/packages/elm-srcs.nix index 708d81455d693..02bb4ca70cdd7 100644 --- a/pkgs/development/compilers/elm/packages/elm-srcs.nix +++ b/pkgs/development/compilers/elm/packages/elm-srcs.nix @@ -1,72 +1,72 @@ { - "elm-explorations/markdown" = { - sha256 = "0k3110ixa4wwf3vkkdplagwah9ypr965qxr1y147rnsc1xsxmr6y"; - version = "1.0.0"; - }; + "elm-explorations/markdown" = { + sha256 = "0k3110ixa4wwf3vkkdplagwah9ypr965qxr1y147rnsc1xsxmr6y"; + version = "1.0.0"; + }; - "elm/browser" = { - sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka"; - version = "1.0.1"; - }; + "elm/browser" = { + sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka"; + version = "1.0.1"; + }; - "elm/core" = { - sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as"; - version = "1.0.2"; - }; + "elm/core" = { + sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as"; + version = "1.0.2"; + }; - "elm/html" = { - sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; - version = "1.0.0"; - }; + "elm/html" = { + sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; + version = "1.0.0"; + }; - "elm/http" = { - sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1"; - version = "2.0.0"; - }; + "elm/http" = { + sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1"; + version = "2.0.0"; + }; - "elm/json" = { - sha256 = "1a107nmm905dih4w4mjjkkpdcjbgaf5qjvr7fl30kkpkckfjjnrw"; - version = "1.1.2"; - }; + "elm/json" = { + sha256 = "1a107nmm905dih4w4mjjkkpdcjbgaf5qjvr7fl30kkpkckfjjnrw"; + version = "1.1.2"; + }; - "elm/project-metadata-utils" = { - sha256 = "1d4rd4grrnbdvj9gf00h7dr6hbkjzawgkzpizfrkp1z1pyr3mvq9"; - version = "1.0.0"; - }; + "elm/project-metadata-utils" = { + sha256 = "1d4rd4grrnbdvj9gf00h7dr6hbkjzawgkzpizfrkp1z1pyr3mvq9"; + version = "1.0.0"; + }; - "elm/svg" = { - sha256 = "1cwcj73p61q45wqwgqvrvz3aypjyy3fw732xyxdyj6s256hwkn0k"; - version = "1.0.1"; - }; + "elm/svg" = { + sha256 = "1cwcj73p61q45wqwgqvrvz3aypjyy3fw732xyxdyj6s256hwkn0k"; + version = "1.0.1"; + }; - "elm/bytes" = { - sha256 = "040d7irrawcbnq9jxhzx8p9qacdlw5bncy6lgndd6inm53rvvwbp"; - version = "1.0.7"; - }; + "elm/bytes" = { + sha256 = "040d7irrawcbnq9jxhzx8p9qacdlw5bncy6lgndd6inm53rvvwbp"; + version = "1.0.7"; + }; - "elm/file" = { - sha256 = "15vw1ilbg0msimq2k9magwigp8lwqrgvz3vk6qia6b3ldahvw8jr"; - version = "1.0.1"; - }; + "elm/file" = { + sha256 = "15vw1ilbg0msimq2k9magwigp8lwqrgvz3vk6qia6b3ldahvw8jr"; + version = "1.0.1"; + }; - "elm/parser" = { - sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512"; - version = "1.1.0"; - }; + "elm/parser" = { + sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512"; + version = "1.1.0"; + }; - "elm/time" = { - sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; - version = "1.0.0"; - }; + "elm/time" = { + sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; + version = "1.0.0"; + }; - "elm/url" = { - sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; - version = "1.0.0"; - }; + "elm/url" = { + sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; + version = "1.0.0"; + }; - "elm/virtual-dom" = { - sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg"; - version = "1.0.2"; - }; + "elm/virtual-dom" = { + sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg"; + version = "1.0.2"; + }; } diff --git a/pkgs/development/compilers/elm/packages/elm-test/default.nix b/pkgs/development/compilers/elm/packages/elm-test/default.nix index eca45395c3df2..47beae2c4918b 100644 --- a/pkgs/development/compilers/elm/packages/elm-test/default.nix +++ b/pkgs/development/compilers/elm/packages/elm-test/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/development/compilers/elm/packages/ghc8_10/default.nix b/pkgs/development/compilers/elm/packages/ghc8_10/default.nix index ef6e5142b2f1e..ff866eab7e81f 100644 --- a/pkgs/development/compilers/elm/packages/ghc8_10/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/default.nix @@ -1,12 +1,14 @@ { pkgs, lib }: -self: pkgs.haskell.packages.ghc810.override { - overrides = self: super: +self: +pkgs.haskell.packages.ghc810.override { + overrides = + self: super: let inherit (pkgs.haskell.lib.compose) justStaticExecutables overrideCabal doJailbreak; elmPkgs = rec { - elmi-to-json = justStaticExecutables (overrideCabal - (drv: { + elmi-to-json = justStaticExecutables ( + overrideCabal (drv: { version = "unstable-2021-07-19"; src = pkgs.fetchgit { url = "https://github.com/stoeffel/elmi-to-json"; @@ -25,11 +27,11 @@ self: pkgs.haskell.packages.ghc810.override { homepage = "https://github.com/stoeffel/elmi-to-json"; license = lib.licenses.bsd3; maintainers = [ lib.maintainers.turbomack ]; - }) - (self.callPackage ./elmi-to-json { })); + }) (self.callPackage ./elmi-to-json { }) + ); - elm-instrument = justStaticExecutables (overrideCabal - (drv: { + elm-instrument = justStaticExecutables ( + overrideCabal (drv: { version = "unstable-2020-03-16"; src = pkgs.fetchgit { url = "https://github.com/zwilias/elm-instrument"; @@ -58,11 +60,12 @@ self: pkgs.haskell.packages.ghc810.override { homepage = "https://github.com/zwilias/elm-instrument"; license = lib.licenses.bsd3; maintainers = [ lib.maintainers.turbomack ]; - }) - (self.callPackage ./elm-instrument { })); + }) (self.callPackage ./elm-instrument { }) + ); }; in - elmPkgs // { + elmPkgs + // { inherit elmPkgs; # We need attoparsec < 0.14 to build elm for now diff --git a/pkgs/development/compilers/elm/packages/ghc8_10/elm-instrument/default.nix b/pkgs/development/compilers/elm/packages/ghc8_10/elm-instrument/default.nix index 7f6a25905e36f..efcab21123d64 100644 --- a/pkgs/development/compilers/elm/packages/ghc8_10/elm-instrument/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/elm-instrument/default.nix @@ -1,8 +1,34 @@ -{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary -, bytestring, Cabal, cmark, containers, directory, elm-format -, fetchgit, filepath, free, HUnit, indents, json, lib, mtl -, optparse-applicative, parsec, process, QuickCheck, quickcheck-io -, split, tasty, tasty-golden, tasty-hunit, tasty-quickcheck, text +{ + mkDerivation, + ansi-terminal, + ansi-wl-pprint, + base, + binary, + bytestring, + Cabal, + cmark, + containers, + directory, + elm-format, + fetchgit, + filepath, + free, + HUnit, + indents, + json, + lib, + mtl, + optparse-applicative, + parsec, + process, + QuickCheck, + quickcheck-io, + split, + tasty, + tasty-golden, + tasty-hunit, + tasty-quickcheck, + text, }: mkDerivation { pname = "elm-instrument"; @@ -15,16 +41,48 @@ mkDerivation { }; isLibrary = true; isExecutable = true; - setupHaskellDepends = [ base Cabal directory filepath process ]; + setupHaskellDepends = [ + base + Cabal + directory + filepath + process + ]; libraryHaskellDepends = [ - ansi-terminal ansi-wl-pprint base binary bytestring containers - directory filepath free indents json mtl optparse-applicative - parsec process split text + ansi-terminal + ansi-wl-pprint + base + binary + bytestring + containers + directory + filepath + free + indents + json + mtl + optparse-applicative + parsec + process + split + text ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base cmark containers elm-format HUnit mtl parsec QuickCheck - quickcheck-io split tasty tasty-golden tasty-hunit tasty-quickcheck + base + cmark + containers + elm-format + HUnit + mtl + parsec + QuickCheck + quickcheck-io + split + tasty + tasty-golden + tasty-hunit + tasty-quickcheck text ]; homepage = "http://elm-lang.org"; diff --git a/pkgs/development/compilers/elm/packages/ghc8_10/elmi-to-json/default.nix b/pkgs/development/compilers/elm/packages/ghc8_10/elmi-to-json/default.nix index fc2c76149a1a5..5e9ba62daf331 100644 --- a/pkgs/development/compilers/elm/packages/ghc8_10/elmi-to-json/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/elmi-to-json/default.nix @@ -1,6 +1,20 @@ -{ mkDerivation, aeson, base, binary, bytestring, containers -, directory, fetchgit, filepath, ghc-prim, hpack, lib -, optparse-applicative, text, unliftio, unordered-containers +{ + mkDerivation, + aeson, + base, + binary, + bytestring, + containers, + directory, + fetchgit, + filepath, + ghc-prim, + hpack, + lib, + optparse-applicative, + text, + unliftio, + unordered-containers, }: mkDerivation { pname = "elmi-to-json"; @@ -14,8 +28,18 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base binary bytestring containers directory filepath ghc-prim - optparse-applicative text unliftio unordered-containers + aeson + base + binary + bytestring + containers + directory + filepath + ghc-prim + optparse-applicative + text + unliftio + unordered-containers ]; libraryToolDepends = [ hpack ]; executableHaskellDepends = [ base ]; diff --git a/pkgs/development/compilers/elm/packages/ghc8_10/indents/default.nix b/pkgs/development/compilers/elm/packages/ghc8_10/indents/default.nix index 85e765db3e50b..239ca059f7104 100644 --- a/pkgs/development/compilers/elm/packages/ghc8_10/indents/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc8_10/indents/default.nix @@ -1,9 +1,21 @@ -{ mkDerivation, base, concatenative, lib, mtl, parsec }: +{ + mkDerivation, + base, + concatenative, + lib, + mtl, + parsec, +}: mkDerivation { pname = "indents"; version = "0.3.3"; sha256 = "b61f51ac894609cb5571cc3ded12db5de97185a8de236c69ec24c87457109f9a"; - libraryHaskellDepends = [ base concatenative mtl parsec ]; + libraryHaskellDepends = [ + base + concatenative + mtl + parsec + ]; doCheck = false; homepage = "http://patch-tag.com/r/salazar/indents"; description = "indentation sensitive parser-combinators for parsec"; diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/default.nix b/pkgs/development/compilers/elm/packages/ghc9_2/default.nix index 6c3e23460c220..e823ea2c34438 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_2/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/default.nix @@ -1,7 +1,9 @@ { pkgs, lib }: -self: pkgs.haskell.packages.ghc92.override { - overrides = self: super: +self: +pkgs.haskell.packages.ghc92.override { + overrides = + self: super: let inherit (pkgs.haskell.lib.compose) justStaticExecutables overrideCabal doJailbreak; elmPkgs = rec { @@ -9,8 +11,8 @@ self: pkgs.haskell.packages.ghc92.override { The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: `package/nix/build.sh` */ - elm-format = justStaticExecutables (overrideCabal - (drv: { + elm-format = justStaticExecutables ( + overrideCabal (drv: { jailbreak = true; doHaddock = false; postPatch = '' @@ -25,9 +27,12 @@ self: pkgs.haskell.packages.ghc92.override { description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide"; homepage = "https://github.com/avh4/elm-format"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ avh4 turbomack ]; - }) - (self.callPackage ./elm-format/elm-format.nix { })); + maintainers = with lib.maintainers; [ + avh4 + turbomack + ]; + }) (self.callPackage ./elm-format/elm-format.nix { }) + ); }; fixHaddock = overrideCabal (_: { @@ -35,12 +40,13 @@ self: pkgs.haskell.packages.ghc92.override { doHaddock = false; }); in - elmPkgs // { + elmPkgs + // { inherit elmPkgs; # Needed for elm-format avh4-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/avh4-lib.nix { })); - elm-format-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/elm-format-lib.nix { })); + elm-format-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/elm-format-lib.nix { })); elm-format-test-lib = fixHaddock (self.callPackage ./elm-format/elm-format-test-lib.nix { }); elm-format-markdown = fixHaddock (self.callPackage ./elm-format/elm-format-markdown.nix { }); diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/avh4-lib.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/avh4-lib.nix index e320edfd11623..472afd58b6e86 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/avh4-lib.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/avh4-lib.nix @@ -1,6 +1,21 @@ -{ mkDerivation, array, base, bytestring, directory, fetchgit -, filepath, lib, mtl, pooled-io, process, relude, tasty -, tasty-discover, tasty-hspec, tasty-hunit, text +{ + mkDerivation, + array, + base, + bytestring, + directory, + fetchgit, + filepath, + lib, + mtl, + pooled-io, + process, + relude, + tasty, + tasty-discover, + tasty-hspec, + tasty-hunit, + text, }: mkDerivation { pname = "avh4-lib"; @@ -13,12 +28,31 @@ mkDerivation { }; postUnpack = "sourceRoot+=/avh4-lib; echo source root reset to $sourceRoot"; libraryHaskellDepends = [ - array base bytestring directory filepath mtl pooled-io process - relude text + array + base + bytestring + directory + filepath + mtl + pooled-io + process + relude + text ]; testHaskellDepends = [ - array base bytestring directory filepath mtl pooled-io process - relude tasty tasty-hspec tasty-hunit text + array + base + bytestring + directory + filepath + mtl + pooled-io + process + relude + tasty + tasty-hspec + tasty-hunit + text ]; testToolDepends = [ tasty-discover ]; description = "Common code for haskell projects"; diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-lib.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-lib.nix index 290534bbea9a5..823c2c3f27291 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-lib.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-lib.nix @@ -1,7 +1,26 @@ -{ mkDerivation, aeson, avh4-lib, base, bimap, binary, bytestring -, containers, elm-format-markdown, elm-format-test-lib, fetchgit -, hspec, lib, mtl, optparse-applicative, relude, split, tasty -, tasty-discover, tasty-hspec, tasty-hunit, text +{ + mkDerivation, + aeson, + avh4-lib, + base, + bimap, + binary, + bytestring, + containers, + elm-format-markdown, + elm-format-test-lib, + fetchgit, + hspec, + lib, + mtl, + optparse-applicative, + relude, + split, + tasty, + tasty-discover, + tasty-hspec, + tasty-hunit, + text, }: mkDerivation { pname = "elm-format-lib"; @@ -14,13 +33,37 @@ mkDerivation { }; postUnpack = "sourceRoot+=/elm-format-lib; echo source root reset to $sourceRoot"; libraryHaskellDepends = [ - aeson avh4-lib base bimap binary bytestring containers - elm-format-markdown mtl optparse-applicative relude text + aeson + avh4-lib + base + bimap + binary + bytestring + containers + elm-format-markdown + mtl + optparse-applicative + relude + text ]; testHaskellDepends = [ - aeson avh4-lib base bimap binary bytestring containers - elm-format-markdown elm-format-test-lib hspec mtl - optparse-applicative relude split tasty tasty-hspec tasty-hunit + aeson + avh4-lib + base + bimap + binary + bytestring + containers + elm-format-markdown + elm-format-test-lib + hspec + mtl + optparse-applicative + relude + split + tasty + tasty-hspec + tasty-hunit text ]; testToolDepends = [ tasty-discover ]; diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-markdown.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-markdown.nix index e57d2127822e7..4d3420da3f6cc 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-markdown.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-markdown.nix @@ -1,4 +1,12 @@ -{ mkDerivation, base, containers, fetchgit, lib, mtl, text }: +{ + mkDerivation, + base, + containers, + fetchgit, + lib, + mtl, + text, +}: mkDerivation { pname = "elm-format-markdown"; version = "0.0.0.1"; @@ -9,7 +17,12 @@ mkDerivation { fetchSubmodules = true; }; postUnpack = "sourceRoot+=/elm-format-markdown; echo source root reset to $sourceRoot"; - libraryHaskellDepends = [ base containers mtl text ]; + libraryHaskellDepends = [ + base + containers + mtl + text + ]; description = "Markdown parsing for Elm documentation comments"; license = lib.licenses.bsd3; } diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-test-lib.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-test-lib.nix index 43090abbeae49..c9ddc2b25293a 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-test-lib.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format-test-lib.nix @@ -1,6 +1,21 @@ -{ mkDerivation, avh4-lib, base, containers, fetchgit, filepath -, hspec, hspec-core, hspec-golden, lib, mtl, split, tasty -, tasty-discover, tasty-hspec, tasty-hunit, text +{ + mkDerivation, + avh4-lib, + base, + containers, + fetchgit, + filepath, + hspec, + hspec-core, + hspec-golden, + lib, + mtl, + split, + tasty, + tasty-discover, + tasty-hspec, + tasty-hunit, + text, }: mkDerivation { pname = "elm-format-test-lib"; @@ -13,12 +28,32 @@ mkDerivation { }; postUnpack = "sourceRoot+=/elm-format-test-lib; echo source root reset to $sourceRoot"; libraryHaskellDepends = [ - avh4-lib base containers filepath hspec hspec-core hspec-golden mtl - split tasty-hunit text + avh4-lib + base + containers + filepath + hspec + hspec-core + hspec-golden + mtl + split + tasty-hunit + text ]; testHaskellDepends = [ - avh4-lib base containers filepath hspec hspec-core hspec-golden mtl - split tasty tasty-hspec tasty-hunit text + avh4-lib + base + containers + filepath + hspec + hspec-core + hspec-golden + mtl + split + tasty + tasty-hspec + tasty-hunit + text ]; testToolDepends = [ tasty-discover ]; description = "Test helpers used by elm-format-tests and elm-refactor-tests"; diff --git a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format.nix b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format.nix index 9389a4cbb6402..7a8cf08f644d1 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_2/elm-format/elm-format.nix @@ -1,7 +1,24 @@ -{ mkDerivation, aeson, ansi-wl-pprint, avh4-lib, base, bytestring -, elm-format-lib, elm-format-test-lib, fetchgit, hspec, lib -, optparse-applicative, QuickCheck, quickcheck-io, relude, tasty -, tasty-hspec, tasty-hunit, tasty-quickcheck, text +{ + mkDerivation, + aeson, + ansi-wl-pprint, + avh4-lib, + base, + bytestring, + elm-format-lib, + elm-format-test-lib, + fetchgit, + hspec, + lib, + optparse-applicative, + QuickCheck, + quickcheck-io, + relude, + tasty, + tasty-hspec, + tasty-hunit, + tasty-quickcheck, + text, }: mkDerivation { pname = "elm-format"; @@ -15,13 +32,33 @@ mkDerivation { isLibrary = false; isExecutable = true; executableHaskellDepends = [ - aeson ansi-wl-pprint avh4-lib base bytestring elm-format-lib - optparse-applicative relude text + aeson + ansi-wl-pprint + avh4-lib + base + bytestring + elm-format-lib + optparse-applicative + relude + text ]; testHaskellDepends = [ - aeson ansi-wl-pprint avh4-lib base bytestring elm-format-lib - elm-format-test-lib hspec optparse-applicative QuickCheck - quickcheck-io relude tasty tasty-hspec tasty-hunit tasty-quickcheck + aeson + ansi-wl-pprint + avh4-lib + base + bytestring + elm-format-lib + elm-format-test-lib + hspec + optparse-applicative + QuickCheck + quickcheck-io + relude + tasty + tasty-hspec + tasty-hunit + tasty-quickcheck text ]; homepage = "https://elm-lang.org"; diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/ansi-wl-pprint/default.nix b/pkgs/development/compilers/elm/packages/ghc9_6/ansi-wl-pprint/default.nix index 272f0c520e526..53b9b6865f891 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_6/ansi-wl-pprint/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_6/ansi-wl-pprint/default.nix @@ -1,4 +1,10 @@ -{ mkDerivation, ansi-terminal, base, fetchgit, lib }: +{ + mkDerivation, + ansi-terminal, + base, + fetchgit, + lib, +}: mkDerivation { pname = "ansi-wl-pprint"; version = "0.6.8.1"; @@ -10,7 +16,10 @@ mkDerivation { }; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ ansi-terminal base ]; + libraryHaskellDepends = [ + ansi-terminal + base + ]; homepage = "http://github.com/ekmett/ansi-wl-pprint"; description = "Wadler/Leijen Pretty Printer for colored ANSI terminal output"; license = lib.licenses.bsd3; diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/default.nix b/pkgs/development/compilers/elm/packages/ghc9_6/default.nix index 9fdc0e72f1272..c9ad34e70a811 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_6/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_6/default.nix @@ -1,43 +1,51 @@ -{ pkgs, lib, makeWrapper, nodejs, fetchElmDeps }: +{ + pkgs, + lib, + makeWrapper, + nodejs, + fetchElmDeps, +}: -self: pkgs.haskell.packages.ghc96.override { - overrides = self: super: +self: +pkgs.haskell.packages.ghc96.override { + overrides = + self: super: let inherit (pkgs.haskell.lib.compose) overrideCabal; elmPkgs = rec { - elm = overrideCabal - (drv: { - # sadly with parallelism most of the time breaks compilation - enableParallelBuilding = false; - preConfigure = fetchElmDeps { - elmPackages = (import ../elm-srcs.nix); - elmVersion = drv.version; - registryDat = ../../registry.dat; - }; - buildTools = drv.buildTools or [ ] ++ [ makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/elm \ - --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} - ''; + elm = overrideCabal (drv: { + # sadly with parallelism most of the time breaks compilation + enableParallelBuilding = false; + preConfigure = fetchElmDeps { + elmPackages = (import ../elm-srcs.nix); + elmVersion = drv.version; + registryDat = ../../registry.dat; + }; + buildTools = drv.buildTools or [ ] ++ [ makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/elm \ + --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} + ''; - description = "Delightful language for reliable webapps"; - homepage = "https://elm-lang.org/"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ domenkozar turbomack ]; - }) - (self.callPackage ./elm { }); + description = "Delightful language for reliable webapps"; + homepage = "https://elm-lang.org/"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ + domenkozar + turbomack + ]; + }) (self.callPackage ./elm { }); inherit fetchElmDeps; elmVersion = elmPkgs.elm.version; }; in - elmPkgs // { + elmPkgs + // { inherit elmPkgs; - ansi-wl-pprint = overrideCabal - (drv: { - jailbreak = true; - }) - (self.callPackage ./ansi-wl-pprint { }); + ansi-wl-pprint = overrideCabal (drv: { + jailbreak = true; + }) (self.callPackage ./ansi-wl-pprint { }); }; } diff --git a/pkgs/development/compilers/elm/packages/ghc9_6/elm/default.nix b/pkgs/development/compilers/elm/packages/ghc9_6/elm/default.nix index 65f9ffe40bda4..954d15f92e741 100644 --- a/pkgs/development/compilers/elm/packages/ghc9_6/elm/default.nix +++ b/pkgs/development/compilers/elm/packages/ghc9_6/elm/default.nix @@ -1,10 +1,40 @@ -{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary -, bytestring, containers, directory, edit-distance, fetchgit -, file-embed, filelock, filepath, ghc-prim, haskeline, HTTP -, http-client, http-client-tls, http-types, language-glsl, lib, mtl -, network, parsec, process, raw-strings-qq, scientific, SHA -, snap-core, snap-server, template-haskell, time -, unordered-containers, utf8-string, vector, zip-archive +{ + mkDerivation, + ansi-terminal, + ansi-wl-pprint, + base, + binary, + bytestring, + containers, + directory, + edit-distance, + fetchgit, + file-embed, + filelock, + filepath, + ghc-prim, + haskeline, + HTTP, + http-client, + http-client-tls, + http-types, + language-glsl, + lib, + mtl, + network, + parsec, + process, + raw-strings-qq, + scientific, + SHA, + snap-core, + snap-server, + template-haskell, + time, + unordered-containers, + utf8-string, + vector, + zip-archive, }: mkDerivation { pname = "elm"; @@ -18,12 +48,39 @@ mkDerivation { isLibrary = false; isExecutable = true; executableHaskellDepends = [ - ansi-terminal ansi-wl-pprint base binary bytestring containers - directory edit-distance file-embed filelock filepath ghc-prim - haskeline HTTP http-client http-client-tls http-types language-glsl - mtl network parsec process raw-strings-qq scientific SHA snap-core - snap-server template-haskell time unordered-containers utf8-string - vector zip-archive + ansi-terminal + ansi-wl-pprint + base + binary + bytestring + containers + directory + edit-distance + file-embed + filelock + filepath + ghc-prim + haskeline + HTTP + http-client + http-client-tls + http-types + language-glsl + mtl + network + parsec + process + raw-strings-qq + scientific + SHA + snap-core + snap-server + template-haskell + time + unordered-containers + utf8-string + vector + zip-archive ]; homepage = "https://elm-lang.org"; description = "`elm` command line interface"; diff --git a/pkgs/development/compilers/elm/packages/lamdera/default.nix b/pkgs/development/compilers/elm/packages/lamdera/default.nix index 60c72eb623fa4..2deac822a95a5 100644 --- a/pkgs/development/compilers/elm/packages/lamdera/default.nix +++ b/pkgs/development/compilers/elm/packages/lamdera/default.nix @@ -1,18 +1,18 @@ -{ stdenv -, lib -, fetchurl +{ + stdenv, + lib, + fetchurl, }: let os = if stdenv.hostPlatform.isDarwin then "macos" else "linux"; arch = if stdenv.hostPlatform.isAarch64 then "arm64" else "x86_64"; - hashes = - { - "x86_64-linux" = "15a69bfa98155651749e31c68d05a04fcf48bdccb86bce77b7c8872f545cecfa"; - "aarch64-linux" = "68a16bbbd2ed0ee19c36112a4c2d0abca66cf17465747e55adf2596b0921f8d7"; - "x86_64-darwin" = "af2c63a60a689091a01bfd212e0ce141a6d7ba61d34a585d8f83159d0ed39c6f"; - "aarch64-darwin" = "06f9f7fdcbb392a0a8a5034baf915d2b95b2876255aa8df8397ddafd1e540b7a"; - }; + hashes = { + "x86_64-linux" = "15a69bfa98155651749e31c68d05a04fcf48bdccb86bce77b7c8872f545cecfa"; + "aarch64-linux" = "68a16bbbd2ed0ee19c36112a4c2d0abca66cf17465747e55adf2596b0921f8d7"; + "x86_64-darwin" = "af2c63a60a689091a01bfd212e0ce141a6d7ba61d34a585d8f83159d0ed39c6f"; + "aarch64-darwin" = "06f9f7fdcbb392a0a8a5034baf915d2b95b2876255aa8df8397ddafd1e540b7a"; + }; in stdenv.mkDerivation rec { @@ -34,7 +34,12 @@ stdenv.mkDerivation rec { homepage = "https://lamdera.com"; license = licenses.unfree; description = "Delightful platform for full-stack web apps"; - platforms = [ "aarch64-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; + platforms = [ + "aarch64-linux" + "x86_64-linux" + "aarch64-darwin" + "x86_64-darwin" + ]; maintainers = with maintainers; [ Zimmi48 ]; }; } diff --git a/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix b/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix index d3f48ae835053..45d9079105fab 100644 --- a/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix +++ b/pkgs/development/compilers/elm/packages/node/elm-pages/default.nix @@ -1,48 +1,71 @@ -{ nodePkgs, pkgs, lib, makeWrapper }: +{ + nodePkgs, + pkgs, + lib, + makeWrapper, +}: let ESBUILD_BINARY_PATH = lib.getExe ( - pkgs.esbuild.override { - buildGoModule = args: pkgs.buildGoModule (args // rec { - version = "0.21.5"; - src = pkgs.fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); - } - ); -in nodePkgs."elm-pages".overrideAttrs ( - old: { - inherit ESBUILD_BINARY_PATH; - nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ makeWrapper old.nodejs.pkgs.node-gyp-build ]; + pkgs.esbuild.override { + buildGoModule = + args: + pkgs.buildGoModule ( + args + // rec { + version = "0.21.5"; + src = pkgs.fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-FpvXWIlt67G8w3pBKZo/mcp57LunxDmRUaCU/Ne89B8="; + }; + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + } + ); + } + ); +in +nodePkgs."elm-pages".overrideAttrs (old: { + inherit ESBUILD_BINARY_PATH; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ + makeWrapper + old.nodejs.pkgs.node-gyp-build + ]; - preRebuild = '' - sed -i 's/"esbuild": "0\.19\.12"/"esbuild": "0.21.5"/' package.json - ''; + preRebuild = '' + sed -i 's/"esbuild": "0\.19\.12"/"esbuild": "0.21.5"/' package.json + ''; - # can't use `patches = [ ]` with a nodePkgs derivation; - # need to patch in one of the build phases instead. - # see upstream issue https://github.com/dillonkearns/elm-pages/issues/305 for dealing with the read-only problem - preFixup = '' - patch $out/lib/node_modules/elm-pages/generator/src/codegen.js ${./fix-read-only.patch} - patch $out/lib/node_modules/elm-pages/generator/src/init.js ${./fix-init-read-only.patch} - ''; + # can't use `patches = [ ]` with a nodePkgs derivation; + # need to patch in one of the build phases instead. + # see upstream issue https://github.com/dillonkearns/elm-pages/issues/305 for dealing with the read-only problem + preFixup = '' + patch $out/lib/node_modules/elm-pages/generator/src/codegen.js ${./fix-read-only.patch} + patch $out/lib/node_modules/elm-pages/generator/src/init.js ${./fix-init-read-only.patch} + ''; - postFixup = '' - wrapProgram $out/bin/elm-pages --prefix PATH : ${ - with pkgs.elmPackages; lib.makeBinPath [ elm elm-review elm-optimize-level-2 ] - } - ''; + postFixup = '' + wrapProgram $out/bin/elm-pages --prefix PATH : ${ + with pkgs.elmPackages; + lib.makeBinPath [ + elm + elm-review + elm-optimize-level-2 + ] + } + ''; - meta = with lib; nodePkgs."elm-pages".meta // { + meta = + with lib; + nodePkgs."elm-pages".meta + // { description = "Statically typed site generator for Elm"; homepage = "https://github.com/dillonkearns/elm-pages"; license = licenses.bsd3; - maintainers = [ maintainers.turbomack maintainers.jali-clarke ]; + maintainers = [ + maintainers.turbomack + maintainers.jali-clarke + ]; }; - } -) +}) diff --git a/pkgs/development/compilers/elm/packages/node/node-composition.nix b/pkgs/development/compilers/elm/packages/node/node-composition.nix index 0ab5a28046c29..4b9205c7508d6 100644 --- a/pkgs/development/compilers/elm/packages/node/node-composition.nix +++ b/pkgs/development/compilers/elm/packages/node/node-composition.nix @@ -1,17 +1,34 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{pkgs ? import { +{ + pkgs ? import { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: + }, + system ? builtins.currentSystem, + nodejs ? pkgs."nodejs_18", +}: let nodeEnv = import ../../../../node-packages/node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; + inherit (pkgs) + stdenv + lib + python2 + runCommand + writeTextFile + writeShellScript + ; inherit pkgs nodejs; libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null; }; in import ./node-packages.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit (pkgs) + fetchurl + nix-gitignore + stdenv + lib + fetchgit + ; inherit nodeEnv; } diff --git a/pkgs/development/compilers/elm/packages/node/node-packages.nix b/pkgs/development/compilers/elm/packages/node/node-packages.nix index a542d0e7ec4b8..da5ddb377d4df 100644 --- a/pkgs/development/compilers/elm/packages/node/node-packages.nix +++ b/pkgs/development/compilers/elm/packages/node/node-packages.nix @@ -1,6 +1,14 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}: +{ + nodeEnv, + fetchurl, + fetchgit, + nix-gitignore, + stdenv, + lib, + globalBuildInputs ? [ ], +}: let sources = { @@ -14736,38 +14744,50 @@ in sources."encodeurl-1.0.2" sources."escape-html-1.0.3" sources."etag-1.8.1" - (sources."express-4.16.3" // { - dependencies = [ - sources."body-parser-1.18.2" - sources."bytes-3.0.0" - sources."http-errors-1.6.3" - sources."iconv-lite-0.4.19" - sources."qs-6.5.1" - (sources."raw-body-2.3.2" // { - dependencies = [ - sources."depd-1.1.1" - sources."http-errors-1.6.2" - sources."setprototypeof-1.0.3" - ]; - }) - sources."setprototypeof-1.1.0" - sources."statuses-1.4.0" - ]; - }) - (sources."express-ws-2.0.0" // { - dependencies = [ - sources."ws-1.1.5" - ]; - }) + ( + sources."express-4.16.3" + // { + dependencies = [ + sources."body-parser-1.18.2" + sources."bytes-3.0.0" + sources."http-errors-1.6.3" + sources."iconv-lite-0.4.19" + sources."qs-6.5.1" + ( + sources."raw-body-2.3.2" + // { + dependencies = [ + sources."depd-1.1.1" + sources."http-errors-1.6.2" + sources."setprototypeof-1.0.3" + ]; + } + ) + sources."setprototypeof-1.1.0" + sources."statuses-1.4.0" + ]; + } + ) + ( + sources."express-ws-2.0.0" + // { + dependencies = [ + sources."ws-1.1.5" + ]; + } + ) sources."extend-3.0.2" sources."extsprintf-1.3.0" sources."fast-deep-equal-3.1.3" sources."fast-json-stable-stringify-2.1.0" - (sources."finalhandler-1.1.1" // { - dependencies = [ - sources."statuses-1.4.0" - ]; - }) + ( + sources."finalhandler-1.1.1" + // { + dependencies = [ + sources."statuses-1.4.0" + ]; + } + ) sources."find-0.2.7" sources."forever-agent-0.6.1" sources."form-data-2.3.3" @@ -14823,21 +14843,27 @@ in sources."raw-body-2.4.0" sources."readable-stream-2.0.6" sources."regenerator-runtime-0.9.6" - (sources."request-2.88.0" // { - dependencies = [ - sources."qs-6.5.3" - sources."safe-buffer-5.2.1" - ]; - }) + ( + sources."request-2.88.0" + // { + dependencies = [ + sources."qs-6.5.3" + sources."safe-buffer-5.2.1" + ]; + } + ) sources."safe-buffer-5.1.1" sources."safer-buffer-2.1.2" - (sources."send-0.16.2" // { - dependencies = [ - sources."http-errors-1.6.3" - sources."setprototypeof-1.1.0" - sources."statuses-1.4.0" - ]; - }) + ( + sources."send-0.16.2" + // { + dependencies = [ + sources."http-errors-1.6.3" + sources."setprototypeof-1.1.0" + sources."statuses-1.4.0" + ]; + } + ) sources."serve-static-1.13.2" sources."setprototypeof-1.1.1" sources."sshpk-1.18.0" @@ -14855,21 +14881,27 @@ in sources."typedarray-0.0.7" sources."ultron-1.0.2" sources."unpipe-1.0.0" - (sources."uri-js-4.4.1" // { - dependencies = [ - sources."punycode-2.3.1" - ]; - }) + ( + sources."uri-js-4.4.1" + // { + dependencies = [ + sources."punycode-2.3.1" + ]; + } + ) sources."util-deprecate-1.0.2" sources."utils-merge-1.0.1" sources."uuid-3.4.0" sources."vary-1.1.2" sources."verror-1.10.0" - (sources."ws-3.3.1" // { - dependencies = [ - sources."ultron-1.1.1" - ]; - }) + ( + sources."ws-3.3.1" + // { + dependencies = [ + sources."ultron-1.1.1" + ]; + } + ) sources."xtend-4.0.2" ]; buildInputs = globalBuildInputs; @@ -14912,11 +14944,14 @@ in sources."camelcase-5.3.1" sources."caseless-0.12.0" sources."chainsaw-0.1.0" - (sources."chalk-2.4.2" // { - dependencies = [ - sources."supports-color-5.5.0" - ]; - }) + ( + sources."chalk-2.4.2" + // { + dependencies = [ + sources."supports-color-5.5.0" + ]; + } + ) sources."chokidar-3.2.1" sources."chownr-2.0.0" sources."cliui-6.0.0" @@ -14931,30 +14966,39 @@ in sources."delayed-stream-1.0.0" sources."ecc-jsbn-0.1.2" sources."elm-0.19.1" - (sources."elm-test-0.19.1" // { - dependencies = [ - (sources."cross-spawn-7.0.0" // { - dependencies = [ - sources."which-1.3.1" - ]; - }) - sources."fs-extra-8.1.0" - sources."lodash-4.17.15" - sources."which-2.0.1" - ]; - }) - (sources."elmi-to-json-1.2.0" // { - dependencies = [ - sources."binwrap-0.2.2" - sources."chownr-1.1.4" - sources."fs-minipass-1.2.7" - sources."minipass-2.9.0" - sources."minizlib-1.3.3" - sources."mkdirp-0.5.6" - sources."tar-4.4.19" - sources."yallist-3.1.1" - ]; - }) + ( + sources."elm-test-0.19.1" + // { + dependencies = [ + ( + sources."cross-spawn-7.0.0" + // { + dependencies = [ + sources."which-1.3.1" + ]; + } + ) + sources."fs-extra-8.1.0" + sources."lodash-4.17.15" + sources."which-2.0.1" + ]; + } + ) + ( + sources."elmi-to-json-1.2.0" + // { + dependencies = [ + sources."binwrap-0.2.2" + sources."chownr-1.1.4" + sources."fs-minipass-1.2.7" + sources."minipass-2.9.0" + sources."minizlib-1.3.3" + sources."mkdirp-0.5.6" + sources."tar-4.4.19" + sources."yallist-3.1.1" + ]; + } + ) sources."emoji-regex-8.0.0" sources."escape-string-regexp-1.0.5" sources."extend-3.0.2" @@ -14964,23 +15008,29 @@ in sources."fast-uri-3.0.2" sources."fill-range-7.1.1" sources."find-0.2.9" - (sources."find-elm-dependencies-2.0.2" // { - dependencies = [ - sources."firstline-1.2.0" - sources."lodash-4.17.15" - ]; - }) + ( + sources."find-elm-dependencies-2.0.2" + // { + dependencies = [ + sources."firstline-1.2.0" + sources."lodash-4.17.15" + ]; + } + ) sources."find-parent-dir-0.3.1" sources."find-up-4.1.0" sources."firstline-2.0.2" sources."forever-agent-0.6.1" sources."form-data-2.3.3" sources."fs-extra-4.0.3" - (sources."fs-minipass-2.1.0" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) + ( + sources."fs-minipass-2.1.0" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) sources."fs.realpath-1.0.0" sources."fsevents-2.1.3" sources."get-caller-file-2.0.5" @@ -15012,33 +15062,42 @@ in sources."locate-path-5.0.0" sources."lodash-4.17.21" sources."lodash.truncate-4.4.2" - (sources."lru-cache-4.1.5" // { - dependencies = [ - sources."yallist-2.1.2" - ]; - }) + ( + sources."lru-cache-4.1.5" + // { + dependencies = [ + sources."yallist-2.1.2" + ]; + } + ) sources."mime-db-1.52.0" sources."mime-types-2.1.35" sources."minimatch-3.1.2" sources."minimist-1.2.8" sources."minipass-5.0.0" - (sources."minizlib-2.1.2" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) + ( + sources."minizlib-2.1.2" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) sources."mkdirp-1.0.4" sources."moment-2.30.1" sources."murmur-hash-js-1.0.0" sources."mustache-3.2.1" sources."nice-try-1.0.5" - (sources."node-elm-compiler-5.0.4" // { - dependencies = [ - sources."cross-spawn-6.0.5" - sources."lodash-4.17.15" - sources."path-key-2.0.1" - ]; - }) + ( + sources."node-elm-compiler-5.0.4" + // { + dependencies = [ + sources."cross-spawn-6.0.5" + sources."lodash-4.17.15" + sources."path-key-2.0.1" + ]; + } + ) sources."normalize-path-3.0.0" sources."oauth-sign-0.9.0" sources."once-1.4.0" @@ -15070,29 +15129,38 @@ in sources."set-blocking-2.0.0" sources."shebang-command-1.2.0" sources."shebang-regex-1.0.0" - (sources."slice-ansi-4.0.0" // { - dependencies = [ - sources."ansi-styles-4.3.0" - sources."color-convert-2.0.1" - sources."color-name-1.1.4" - ]; - }) + ( + sources."slice-ansi-4.0.0" + // { + dependencies = [ + sources."ansi-styles-4.3.0" + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + ]; + } + ) sources."split-1.0.1" sources."sshpk-1.18.0" sources."stealthy-require-1.1.1" sources."string-width-4.2.3" sources."strip-ansi-6.0.1" - (sources."supports-color-7.1.0" // { - dependencies = [ - sources."has-flag-4.0.0" - ]; - }) - (sources."table-6.8.2" // { - dependencies = [ - sources."ajv-8.17.1" - sources."json-schema-traverse-1.0.0" - ]; - }) + ( + sources."supports-color-7.1.0" + // { + dependencies = [ + sources."has-flag-4.0.0" + ]; + } + ) + ( + sources."table-6.8.2" + // { + dependencies = [ + sources."ajv-8.17.1" + sources."json-schema-traverse-1.0.0" + ]; + } + ) sources."tar-6.2.1" sources."temp-0.9.0" sources."through-2.3.8" @@ -15105,24 +15173,30 @@ in sources."tunnel-agent-0.6.0" sources."tweetnacl-0.14.5" sources."universalify-0.1.2" - (sources."unzip-stream-0.3.4" // { - dependencies = [ - sources."mkdirp-0.5.6" - ]; - }) + ( + sources."unzip-stream-0.3.4" + // { + dependencies = [ + sources."mkdirp-0.5.6" + ]; + } + ) sources."upgrade-1.1.0" sources."uri-js-4.4.1" sources."uuid-3.4.0" sources."verror-1.10.0" sources."which-1.3.1" sources."which-module-2.0.1" - (sources."wrap-ansi-6.2.0" // { - dependencies = [ - sources."ansi-styles-4.3.0" - sources."color-convert-2.0.1" - sources."color-name-1.1.4" - ]; - }) + ( + sources."wrap-ansi-6.2.0" + // { + dependencies = [ + sources."ansi-styles-4.3.0" + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + ]; + } + ) sources."wrappy-1.0.2" sources."xmlbuilder-13.0.2" sources."y18n-4.0.3" @@ -15164,12 +15238,15 @@ in sources."braces-3.0.3" sources."bufferutil-4.0.8" sources."bytes-3.1.2" - (sources."cacheable-request-6.1.0" // { - dependencies = [ - sources."get-stream-5.2.0" - sources."lowercase-keys-2.0.0" - ]; - }) + ( + sources."cacheable-request-6.1.0" + // { + dependencies = [ + sources."get-stream-5.2.0" + sources."lowercase-keys-2.0.0" + ]; + } + ) sources."call-bind-1.0.7" sources."chalk-3.0.0" sources."chokidar-3.6.0" @@ -15183,11 +15260,14 @@ in sources."cookie-0.6.0" sources."cookie-signature-1.0.6" sources."cross-spawn-7.0.3" - (sources."debug-2.6.9" // { - dependencies = [ - sources."ms-2.0.0" - ]; - }) + ( + sources."debug-2.6.9" + // { + dependencies = [ + sources."ms-2.0.0" + ]; + } + ) sources."decompress-response-3.3.0" sources."deep-extend-0.6.0" sources."defer-to-connect-1.1.3" @@ -15203,11 +15283,14 @@ in sources."escape-html-1.0.3" sources."etag-1.8.1" sources."express-4.21.0" - (sources."express-ws-4.0.0" // { - dependencies = [ - sources."ws-5.2.4" - ]; - }) + ( + sources."express-ws-4.0.0" + // { + dependencies = [ + sources."ws-5.2.4" + ]; + } + ) sources."fill-range-7.1.1" sources."finalhandler-1.3.1" sources."forwarded-0.2.0" @@ -15283,20 +15366,26 @@ in sources."safe-buffer-5.2.1" sources."safer-buffer-2.1.2" sources."semver-6.3.1" - (sources."send-0.19.0" // { - dependencies = [ - sources."encodeurl-1.0.2" - ]; - }) - (sources."serve-index-1.9.1" // { - dependencies = [ - sources."depd-1.1.2" - sources."http-errors-1.6.3" - sources."inherits-2.0.3" - sources."setprototypeof-1.1.0" - sources."statuses-1.5.0" - ]; - }) + ( + sources."send-0.19.0" + // { + dependencies = [ + sources."encodeurl-1.0.2" + ]; + } + ) + ( + sources."serve-index-1.9.1" + // { + dependencies = [ + sources."depd-1.1.2" + sources."http-errors-1.6.3" + sources."inherits-2.0.3" + sources."setprototypeof-1.1.0" + sources."statuses-1.5.0" + ]; + } + ) sources."serve-static-1.16.2" sources."set-function-length-1.2.2" sources."setprototypeof-1.2.0" @@ -15492,12 +15581,15 @@ in sources."readdirp-3.6.0" sources."rollup-4.22.5" sources."safer-buffer-2.1.2" - (sources."sass-1.79.3" // { - dependencies = [ - sources."chokidar-4.0.1" - sources."readdirp-4.0.1" - ]; - }) + ( + sources."sass-1.79.3" + // { + dependencies = [ + sources."chokidar-4.0.1" + sources."readdirp-4.0.1" + ]; + } + ) sources."sax-1.4.1" sources."semver-5.7.2" sources."shebang-command-2.0.0" @@ -15506,12 +15598,15 @@ in sources."source-map-0.6.1" sources."source-map-js-1.2.1" sources."source-map-support-0.5.21" - (sources."stylus-0.63.0" // { - dependencies = [ - sources."sax-1.3.0" - sources."source-map-0.7.4" - ]; - }) + ( + sources."stylus-0.63.0" + // { + dependencies = [ + sources."sax-1.3.0" + sources."source-map-0.7.4" + ]; + } + ) sources."sugarss-4.0.1" sources."terser-5.15.1" sources."tiny-decoders-7.0.1" @@ -15520,11 +15615,14 @@ in sources."typescript-4.9.3" sources."undici-types-6.19.8" sources."vite-5.2.8" - (sources."vite-plugin-elm-watch-1.3.3" // { - dependencies = [ - sources."terser-5.26.0" - ]; - }) + ( + sources."vite-plugin-elm-watch-1.3.3" + // { + dependencies = [ + sources."terser-5.26.0" + ]; + } + ) sources."which-2.0.2" sources."wrappy-1.0.2" ]; @@ -15573,11 +15671,14 @@ in sources."escape-string-regexp-1.0.5" sources."etag-1.8.1" sources."eventemitter3-3.1.2" - (sources."execa-1.0.0" // { - dependencies = [ - sources."cross-spawn-6.0.5" - ]; - }) + ( + sources."execa-1.0.0" + // { + dependencies = [ + sources."cross-spawn-6.0.5" + ]; + } + ) sources."fill-range-7.1.1" sources."finalhandler-1.1.2" sources."follow-redirects-1.15.9" @@ -15622,12 +15723,15 @@ in sources."readdirp-3.6.0" sources."requires-port-1.0.0" sources."semver-5.7.2" - (sources."send-0.17.1" // { - dependencies = [ - sources."mime-1.6.0" - sources."ms-2.1.1" - ]; - }) + ( + sources."send-0.17.1" + // { + dependencies = [ + sources."mime-1.6.0" + sources."ms-2.1.1" + ]; + } + ) sources."serve-static-1.14.1" sources."setprototypeof-1.1.1" sources."shebang-command-1.2.0" @@ -15719,11 +15823,14 @@ in sources."shebang-command-1.2.0" sources."shebang-regex-1.0.0" sources."source-map-0.7.4" - (sources."source-map-support-0.5.21" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) + ( + sources."source-map-support-0.5.21" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) sources."temp-0.9.4" sources."terser-5.3.8" sources."to-regex-range-5.0.1" @@ -15825,11 +15932,14 @@ in sources."cacheable-lookup-2.0.1" sources."cacheable-request-7.0.4" sources."caw-2.0.1" - (sources."clone-response-1.0.3" // { - dependencies = [ - sources."mimic-response-1.0.1" - ]; - }) + ( + sources."clone-response-1.0.3" + // { + dependencies = [ + sources."mimic-response-1.0.1" + ]; + } + ) sources."config-chain-1.1.13" sources."decompress-response-5.0.0" sources."defer-to-connect-2.0.1" @@ -15901,14 +16011,17 @@ in sources."balanced-match-1.0.2" sources."brace-expansion-2.0.1" sources."chalk-4.1.2" - (sources."cliui-8.0.1" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - sources."strip-ansi-6.0.1" - sources."wrap-ansi-7.0.0" - ]; - }) + ( + sources."cliui-8.0.1" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + sources."wrap-ansi-7.0.0" + ]; + } + ) sources."color-convert-2.0.1" sources."color-name-1.1.4" sources."cross-spawn-7.0.3" @@ -15938,41 +16051,56 @@ in sources."shebang-regex-3.0.0" sources."signal-exit-4.1.0" sources."string-width-5.1.2" - (sources."string-width-cjs-4.2.3" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."strip-ansi-6.0.1" - ]; - }) - (sources."strip-ansi-7.1.0" // { - dependencies = [ - sources."ansi-regex-6.1.0" - ]; - }) + ( + sources."string-width-cjs-4.2.3" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."strip-ansi-6.0.1" + ]; + } + ) + ( + sources."strip-ansi-7.1.0" + // { + dependencies = [ + sources."ansi-regex-6.1.0" + ]; + } + ) sources."strip-ansi-cjs-6.0.1" sources."supports-color-7.2.0" sources."universalify-2.0.1" sources."which-2.0.2" - (sources."wrap-ansi-8.1.0" // { - dependencies = [ - sources."ansi-styles-6.2.1" - ]; - }) - (sources."wrap-ansi-cjs-7.0.0" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - sources."strip-ansi-6.0.1" - ]; - }) + ( + sources."wrap-ansi-8.1.0" + // { + dependencies = [ + sources."ansi-styles-6.2.1" + ]; + } + ) + ( + sources."wrap-ansi-cjs-7.0.0" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + ]; + } + ) sources."y18n-5.0.8" - (sources."yargs-17.7.2" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - sources."strip-ansi-6.0.1" - ]; - }) + ( + sources."yargs-17.7.2" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + ]; + } + ) sources."yargs-parser-21.1.1" ]; buildInputs = globalBuildInputs; @@ -16008,11 +16136,14 @@ in sources."safe-buffer-5.1.2" sources."semver-6.3.1" sources."semver-regex-3.1.4" - (sources."semver-sort-1.0.0" // { - dependencies = [ - sources."semver-5.7.2" - ]; - }) + ( + sources."semver-sort-1.0.0" + // { + dependencies = [ + sources."semver-5.7.2" + ]; + } + ) sources."string_decoder-1.1.1" sources."through2-2.0.5" sources."universalify-0.1.2" @@ -16045,21 +16176,30 @@ in sources."@babel/generator-7.25.6" sources."@babel/helper-annotate-as-pure-7.24.7" sources."@babel/helper-builder-binary-assignment-operator-visitor-7.24.7" - (sources."@babel/helper-compilation-targets-7.25.2" // { - dependencies = [ - sources."semver-6.3.1" - ]; - }) - (sources."@babel/helper-create-class-features-plugin-7.25.4" // { - dependencies = [ - sources."semver-6.3.1" - ]; - }) - (sources."@babel/helper-create-regexp-features-plugin-7.25.2" // { - dependencies = [ - sources."semver-6.3.1" - ]; - }) + ( + sources."@babel/helper-compilation-targets-7.25.2" + // { + dependencies = [ + sources."semver-6.3.1" + ]; + } + ) + ( + sources."@babel/helper-create-class-features-plugin-7.25.4" + // { + dependencies = [ + sources."semver-6.3.1" + ]; + } + ) + ( + sources."@babel/helper-create-regexp-features-plugin-7.25.2" + // { + dependencies = [ + sources."semver-6.3.1" + ]; + } + ) sources."@babel/helper-environment-visitor-7.24.7" sources."@babel/helper-member-expression-to-functions-7.24.8" sources."@babel/helper-module-imports-7.24.7" @@ -16164,21 +16304,30 @@ in sources."@types/q-1.5.8" sources."@types/source-list-map-0.1.6" sources."@types/tapable-1.0.12" - (sources."@types/uglify-js-3.17.5" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) - (sources."@types/webpack-4.41.39" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) - (sources."@types/webpack-sources-3.2.3" // { - dependencies = [ - sources."source-map-0.7.4" - ]; - }) + ( + sources."@types/uglify-js-3.17.5" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."@types/webpack-4.41.39" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."@types/webpack-sources-3.2.3" + // { + dependencies = [ + sources."source-map-0.7.4" + ]; + } + ) sources."@webassemblyjs/ast-1.9.0" sources."@webassemblyjs/floating-point-hex-parser-1.9.0" sources."@webassemblyjs/helper-api-error-1.9.0" @@ -16229,23 +16378,32 @@ in sources."arraybuffer.prototype.slice-1.0.3" sources."asap-2.0.6" sources."asn1-0.2.6" - (sources."asn1.js-4.10.1" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) - (sources."assert-1.5.1" // { - dependencies = [ - sources."inherits-2.0.3" - sources."util-0.10.4" - ]; - }) + ( + sources."asn1.js-4.10.1" + // { + dependencies = [ + sources."bn.js-4.12.0" + ]; + } + ) + ( + sources."assert-1.5.1" + // { + dependencies = [ + sources."inherits-2.0.3" + sources."util-0.10.4" + ]; + } + ) sources."assert-plus-1.0.0" - (sources."assets-webpack-plugin-3.9.12" // { - dependencies = [ - sources."lodash-4.17.15" - ]; - }) + ( + sources."assets-webpack-plugin-3.9.12" + // { + dependencies = [ + sources."lodash-4.17.15" + ]; + } + ) sources."assign-symbols-1.0.0" sources."async-0.9.2" sources."async-each-1.0.6" @@ -16257,26 +16415,35 @@ in sources."aws-sign2-0.7.0" sources."aws4-1.13.2" sources."babel-extract-comments-1.0.0" - (sources."babel-loader-8.2.2" // { - dependencies = [ - sources."make-dir-3.1.0" - sources."semver-6.3.1" - ]; - }) + ( + sources."babel-loader-8.2.2" + // { + dependencies = [ + sources."make-dir-3.1.0" + sources."semver-6.3.1" + ]; + } + ) sources."babel-plugin-syntax-object-rest-spread-6.13.0" sources."babel-plugin-transform-object-rest-spread-6.26.0" - (sources."babel-runtime-6.26.0" // { - dependencies = [ - sources."regenerator-runtime-0.11.1" - ]; - }) + ( + sources."babel-runtime-6.26.0" + // { + dependencies = [ + sources."regenerator-runtime-0.11.1" + ]; + } + ) sources."babylon-6.18.0" sources."balanced-match-1.0.2" - (sources."base-0.11.2" // { - dependencies = [ - sources."define-property-1.0.0" - ]; - }) + ( + sources."base-0.11.2" + // { + dependencies = [ + sources."define-property-1.0.0" + ]; + } + ) sources."base64-js-1.5.1" sources."batch-0.6.1" sources."bcrypt-pbkdf-1.0.2" @@ -16285,18 +16452,24 @@ in sources."bindings-1.5.0" sources."bluebird-3.7.2" sources."bn.js-5.2.1" - (sources."body-parser-1.20.3" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - sources."qs-6.13.0" - ]; - }) - (sources."bonjour-3.5.0" // { - dependencies = [ - sources."deep-equal-1.1.2" - ]; - }) + ( + sources."body-parser-1.20.3" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + sources."qs-6.13.0" + ]; + } + ) + ( + sources."bonjour-3.5.0" + // { + dependencies = [ + sources."deep-equal-1.1.2" + ]; + } + ) sources."boolbase-1.0.0" sources."brace-expansion-1.1.11" sources."braces-3.0.3" @@ -16304,17 +16477,23 @@ in sources."browserify-aes-1.2.0" sources."browserify-cipher-1.0.1" sources."browserify-des-1.0.2" - (sources."browserify-rsa-4.1.1" // { - dependencies = [ - sources."safe-buffer-5.2.1" - ]; - }) - (sources."browserify-sign-4.2.3" // { - dependencies = [ - sources."hash-base-3.0.4" - sources."safe-buffer-5.2.1" - ]; - }) + ( + sources."browserify-rsa-4.1.1" + // { + dependencies = [ + sources."safe-buffer-5.2.1" + ]; + } + ) + ( + sources."browserify-sign-4.2.3" + // { + dependencies = [ + sources."hash-base-3.0.4" + sources."safe-buffer-5.2.1" + ]; + } + ) sources."browserify-zlib-0.2.0" sources."browserslist-4.24.0" sources."buffer-4.9.2" @@ -16336,42 +16515,57 @@ in sources."caniuse-lite-1.0.30001664" sources."case-sensitive-paths-webpack-plugin-2.3.0" sources."caseless-0.12.0" - (sources."chalk-2.4.2" // { - dependencies = [ - sources."escape-string-regexp-1.0.5" - ]; - }) + ( + sources."chalk-2.4.2" + // { + dependencies = [ + sources."escape-string-regexp-1.0.5" + ]; + } + ) sources."chardet-0.7.0" - (sources."chokidar-3.6.0" // { - dependencies = [ - sources."glob-parent-5.1.2" - ]; - }) + ( + sources."chokidar-3.6.0" + // { + dependencies = [ + sources."glob-parent-5.1.2" + ]; + } + ) sources."chownr-1.1.4" sources."chrome-trace-event-1.0.4" sources."cipher-base-1.0.4" - (sources."class-utils-0.3.6" // { - dependencies = [ - sources."define-property-0.2.5" - sources."is-descriptor-0.1.7" - ]; - }) - (sources."clean-css-4.2.4" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) + ( + sources."class-utils-0.3.6" + // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-descriptor-0.1.7" + ]; + } + ) + ( + sources."clean-css-4.2.4" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) sources."cli-cursor-2.1.0" sources."cli-table-0.3.4" sources."cli-width-2.2.1" - (sources."cliui-3.2.0" // { - dependencies = [ - sources."ansi-regex-2.1.1" - sources."is-fullwidth-code-point-1.0.0" - sources."string-width-1.0.2" - sources."strip-ansi-3.0.1" - ]; - }) + ( + sources."cliui-3.2.0" + // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."is-fullwidth-code-point-1.0.0" + sources."string-width-1.0.2" + sources."strip-ansi-3.0.1" + ]; + } + ) sources."coa-2.0.2" sources."code-point-at-1.1.0" sources."collection-visit-1.0.0" @@ -16387,111 +16581,144 @@ in sources."commondir-1.0.1" sources."component-emitter-1.3.1" sources."compressible-2.0.18" - (sources."compression-1.7.4" // { - dependencies = [ - sources."bytes-3.0.0" - sources."debug-2.6.9" - sources."ms-2.0.0" - ]; - }) + ( + sources."compression-1.7.4" + // { + dependencies = [ + sources."bytes-3.0.0" + sources."debug-2.6.9" + sources."ms-2.0.0" + ]; + } + ) sources."concat-map-0.0.1" sources."concat-stream-1.6.2" sources."connect-history-api-fallback-1.6.0" sources."console-browserify-1.2.0" sources."constants-browserify-1.0.0" - (sources."content-disposition-0.5.4" // { - dependencies = [ - sources."safe-buffer-5.2.1" - ]; - }) + ( + sources."content-disposition-0.5.4" + // { + dependencies = [ + sources."safe-buffer-5.2.1" + ]; + } + ) sources."content-type-1.0.5" sources."convert-source-map-1.9.0" sources."cookie-0.6.0" sources."cookie-signature-1.0.6" sources."copy-concurrently-1.0.5" sources."copy-descriptor-0.1.1" - (sources."copy-webpack-plugin-5.1.2" // { - dependencies = [ - sources."find-cache-dir-2.1.0" - sources."find-up-3.0.0" - sources."locate-path-3.0.0" - sources."p-locate-3.0.0" - sources."path-exists-3.0.0" - sources."pkg-dir-3.0.0" - sources."schema-utils-1.0.0" - ]; - }) + ( + sources."copy-webpack-plugin-5.1.2" + // { + dependencies = [ + sources."find-cache-dir-2.1.0" + sources."find-up-3.0.0" + sources."locate-path-3.0.0" + sources."p-locate-3.0.0" + sources."path-exists-3.0.0" + sources."pkg-dir-3.0.0" + sources."schema-utils-1.0.0" + ]; + } + ) sources."core-js-2.6.12" sources."core-js-compat-3.38.1" sources."core-util-is-1.0.3" sources."cosmiconfig-5.2.1" - (sources."create-ecdh-4.0.4" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + ( + sources."create-ecdh-4.0.4" + // { + dependencies = [ + sources."bn.js-4.12.0" + ]; + } + ) sources."create-hash-1.2.0" sources."create-hmac-1.1.7" sources."cross-spawn-7.0.3" sources."crypto-browserify-3.12.0" sources."css-color-names-0.0.4" - (sources."css-declaration-sorter-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."css-loader-4.3.0" // { - dependencies = [ - sources."camelcase-6.3.0" - sources."loader-utils-2.0.4" - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."semver-7.6.3" - sources."source-map-0.6.1" - ]; - }) + ( + sources."css-declaration-sorter-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."css-loader-4.3.0" + // { + dependencies = [ + sources."camelcase-6.3.0" + sources."loader-utils-2.0.4" + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."semver-7.6.3" + sources."source-map-0.6.1" + ]; + } + ) sources."css-select-4.3.0" sources."css-select-base-adapter-0.1.1" - (sources."css-tree-1.0.0-alpha.37" // { - dependencies = [ - sources."mdn-data-2.0.4" - sources."source-map-0.6.1" - ]; - }) + ( + sources."css-tree-1.0.0-alpha.37" + // { + dependencies = [ + sources."mdn-data-2.0.4" + sources."source-map-0.6.1" + ]; + } + ) sources."css-what-6.1.0" sources."cssesc-3.0.0" - (sources."cssnano-4.1.11" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."cssnano-preset-default-4.0.8" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) + ( + sources."cssnano-4.1.11" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."cssnano-preset-default-4.0.8" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) sources."cssnano-util-get-arguments-4.0.0" sources."cssnano-util-get-match-4.0.0" - (sources."cssnano-util-raw-cache-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) + ( + sources."cssnano-util-raw-cache-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) sources."cssnano-util-same-parent-4.0.1" - (sources."csso-4.2.0" // { - dependencies = [ - sources."css-tree-1.1.3" - sources."source-map-0.6.1" - ]; - }) + ( + sources."csso-4.2.0" + // { + dependencies = [ + sources."css-tree-1.1.3" + sources."source-map-0.6.1" + ]; + } + ) sources."cycle-1.0.3" sources."cyclist-1.0.2" sources."dashdash-1.14.1" @@ -16506,31 +16733,43 @@ in sources."define-data-property-1.1.4" sources."define-properties-1.2.1" sources."define-property-2.0.2" - (sources."del-4.1.1" // { - dependencies = [ - (sources."globby-6.1.0" // { - dependencies = [ - sources."pify-2.3.0" - ]; - }) - ]; - }) + ( + sources."del-4.1.1" + // { + dependencies = [ + ( + sources."globby-6.1.0" + // { + dependencies = [ + sources."pify-2.3.0" + ]; + } + ) + ]; + } + ) sources."delayed-stream-1.0.0" sources."depd-2.0.0" sources."des.js-1.1.0" sources."destroy-1.2.0" sources."detect-node-2.1.0" - (sources."detect-port-alt-1.1.6" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - ]; - }) - (sources."diffie-hellman-5.0.3" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + ( + sources."detect-port-alt-1.1.6" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + ]; + } + ) + ( + sources."diffie-hellman-5.0.3" + // { + dependencies = [ + sources."bn.js-4.12.0" + ]; + } + ) sources."dir-glob-2.2.2" sources."dns-equal-1.0.0" sources."dns-packet-1.3.4" @@ -16549,40 +16788,49 @@ in sources."ecc-jsbn-0.1.2" sources."ee-first-1.1.1" sources."electron-to-chromium-1.5.29" - (sources."elliptic-6.5.7" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + ( + sources."elliptic-6.5.7" + // { + dependencies = [ + sources."bn.js-4.12.0" + ]; + } + ) sources."elm-0.19.1-5" sources."elm-asset-webpack-loader-1.1.2" sources."elm-hot-1.1.6" sources."elm-hot-webpack-loader-1.1.7" sources."elm-solve-deps-wasm-1.0.2" - (sources."elm-test-0.19.1-revision12" // { - dependencies = [ - sources."ansi-styles-4.3.0" - sources."brace-expansion-2.0.1" - sources."chalk-4.1.2" - sources."color-convert-2.0.1" - sources."color-name-1.1.4" - sources."commander-9.5.0" - sources."glob-8.1.0" - sources."has-flag-4.0.0" - sources."minimatch-5.1.6" - sources."supports-color-7.2.0" - ]; - }) + ( + sources."elm-test-0.19.1-revision12" + // { + dependencies = [ + sources."ansi-styles-4.3.0" + sources."brace-expansion-2.0.1" + sources."chalk-4.1.2" + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + sources."commander-9.5.0" + sources."glob-8.1.0" + sources."has-flag-4.0.0" + sources."minimatch-5.1.6" + sources."supports-color-7.2.0" + ]; + } + ) sources."elm-webpack-loader-6.0.1" sources."emoji-regex-8.0.0" sources."emojis-list-3.0.0" sources."encodeurl-2.0.0" sources."end-of-stream-1.4.4" - (sources."enhanced-resolve-4.5.0" // { - dependencies = [ - sources."memory-fs-0.5.0" - ]; - }) + ( + sources."enhanced-resolve-4.5.0" + // { + dependencies = [ + sources."memory-fs-0.5.0" + ]; + } + ) sources."entities-2.2.0" sources."errno-0.1.8" sources."error-ex-1.3.2" @@ -16598,11 +16846,14 @@ in sources."escape-string-regexp-2.0.0" sources."eslint-scope-4.0.3" sources."esprima-4.0.1" - (sources."esrecurse-4.3.0" // { - dependencies = [ - sources."estraverse-5.3.0" - ]; - }) + ( + sources."esrecurse-4.3.0" + // { + dependencies = [ + sources."estraverse-5.3.0" + ]; + } + ) sources."estraverse-4.3.0" sources."esutils-2.0.3" sources."etag-1.8.1" @@ -16610,100 +16861,139 @@ in sources."events-3.3.0" sources."eventsource-0.1.6" sources."evp_bytestokey-1.0.3" - (sources."execa-1.0.0" // { - dependencies = [ - sources."cross-spawn-6.0.5" - sources."path-key-2.0.1" - sources."shebang-command-1.2.0" - sources."shebang-regex-1.0.0" - sources."which-1.3.1" - ]; - }) - (sources."expand-brackets-2.1.4" // { - dependencies = [ - sources."debug-2.6.9" - sources."define-property-0.2.5" - sources."extend-shallow-2.0.1" - sources."is-descriptor-0.1.7" - sources."ms-2.0.0" - ]; - }) + ( + sources."execa-1.0.0" + // { + dependencies = [ + sources."cross-spawn-6.0.5" + sources."path-key-2.0.1" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."which-1.3.1" + ]; + } + ) + ( + sources."expand-brackets-2.1.4" + // { + dependencies = [ + sources."debug-2.6.9" + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + sources."is-descriptor-0.1.7" + sources."ms-2.0.0" + ]; + } + ) sources."expand-tilde-2.0.2" - (sources."express-4.21.0" // { - dependencies = [ - sources."array-flatten-1.1.1" - sources."debug-2.6.9" - sources."ms-2.0.0" - sources."qs-6.13.0" - sources."safe-buffer-5.2.1" - ]; - }) + ( + sources."express-4.21.0" + // { + dependencies = [ + sources."array-flatten-1.1.1" + sources."debug-2.6.9" + sources."ms-2.0.0" + sources."qs-6.13.0" + sources."safe-buffer-5.2.1" + ]; + } + ) sources."extend-3.0.2" - (sources."extend-shallow-3.0.2" // { - dependencies = [ - sources."is-extendable-1.0.1" - ]; - }) + ( + sources."extend-shallow-3.0.2" + // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + } + ) sources."external-editor-3.1.0" - (sources."extglob-2.0.4" // { - dependencies = [ - sources."define-property-1.0.0" - sources."extend-shallow-2.0.1" - ]; - }) + ( + sources."extglob-2.0.4" + // { + dependencies = [ + sources."define-property-1.0.0" + sources."extend-shallow-2.0.1" + ]; + } + ) sources."extsprintf-1.3.0" sources."eyes-0.1.8" sources."fast-deep-equal-3.1.3" - (sources."fast-glob-2.2.7" // { - dependencies = [ - (sources."braces-2.3.2" // { - dependencies = [ - sources."extend-shallow-2.0.1" - ]; - }) - (sources."fill-range-4.0.0" // { - dependencies = [ - sources."extend-shallow-2.0.1" - ]; - }) - (sources."is-number-3.0.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."micromatch-3.1.10" - sources."to-regex-range-2.1.1" - ]; - }) + ( + sources."fast-glob-2.2.7" + // { + dependencies = [ + ( + sources."braces-2.3.2" + // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + } + ) + ( + sources."fill-range-4.0.0" + // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + } + ) + ( + sources."is-number-3.0.0" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + sources."micromatch-3.1.10" + sources."to-regex-range-2.1.1" + ]; + } + ) sources."fast-json-stable-stringify-2.1.0" sources."faye-websocket-0.11.4" sources."figgy-pudding-3.5.2" - (sources."figures-2.0.0" // { - dependencies = [ - sources."escape-string-regexp-1.0.5" - ]; - }) - (sources."file-loader-6.2.0" // { - dependencies = [ - sources."loader-utils-2.0.4" - sources."schema-utils-3.3.0" - ]; - }) + ( + sources."figures-2.0.0" + // { + dependencies = [ + sources."escape-string-regexp-1.0.5" + ]; + } + ) + ( + sources."file-loader-6.2.0" + // { + dependencies = [ + sources."loader-utils-2.0.4" + sources."schema-utils-3.3.0" + ]; + } + ) sources."file-uri-to-path-1.0.0" sources."filesize-3.6.1" sources."fill-range-7.1.1" - (sources."finalhandler-1.3.1" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - ]; - }) - (sources."find-cache-dir-3.3.2" // { - dependencies = [ - sources."make-dir-3.1.0" - sources."semver-6.3.1" - ]; - }) + ( + sources."finalhandler-1.3.1" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + ]; + } + ) + ( + sources."find-cache-dir-3.3.2" + // { + dependencies = [ + sources."make-dir-3.1.0" + sources."semver-6.3.1" + ]; + } + ) sources."find-elm-dependencies-2.0.4" sources."find-up-4.1.0" sources."firstline-1.3.1" @@ -16735,33 +17025,45 @@ in sources."get-value-2.0.6" sources."getpass-0.1.7" sources."glob-7.2.3" - (sources."glob-parent-3.1.0" // { - dependencies = [ - sources."is-glob-3.1.0" - ]; - }) + ( + sources."glob-parent-3.1.0" + // { + dependencies = [ + sources."is-glob-3.1.0" + ]; + } + ) sources."glob-to-regexp-0.3.0" sources."global-modules-1.0.0" - (sources."global-prefix-1.0.2" // { - dependencies = [ - sources."which-1.3.1" - ]; - }) + ( + sources."global-prefix-1.0.2" + // { + dependencies = [ + sources."which-1.3.1" + ]; + } + ) sources."globals-11.12.0" sources."globalthis-1.0.4" - (sources."globby-7.1.1" // { - dependencies = [ - sources."pify-3.0.0" - sources."slash-1.0.0" - ]; - }) + ( + sources."globby-7.1.1" + // { + dependencies = [ + sources."pify-3.0.0" + sources."slash-1.0.0" + ]; + } + ) sources."gopd-1.0.1" sources."graceful-fs-4.2.11" - (sources."gzip-size-5.0.0" // { - dependencies = [ - sources."pify-3.0.0" - ]; - }) + ( + sources."gzip-size-5.0.0" + // { + dependencies = [ + sources."pify-3.0.0" + ]; + } + ) sources."handle-thing-2.0.1" sources."har-schema-2.0.0" sources."har-validator-5.1.5" @@ -16773,22 +17075,31 @@ in sources."has-symbols-1.0.3" sources."has-tostringtag-1.0.2" sources."has-value-1.0.0" - (sources."has-values-1.0.0" // { - dependencies = [ - (sources."is-number-3.0.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."kind-of-4.0.0" - ]; - }) - (sources."hash-base-3.1.0" // { - dependencies = [ - sources."readable-stream-3.6.2" - sources."safe-buffer-5.2.1" - ]; - }) + ( + sources."has-values-1.0.0" + // { + dependencies = [ + ( + sources."is-number-3.0.0" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + sources."kind-of-4.0.0" + ]; + } + ) + ( + sources."hash-base-3.1.0" + // { + dependencies = [ + sources."readable-stream-3.6.2" + sources."safe-buffer-5.2.1" + ]; + } + ) sources."hash.js-1.1.7" sources."hasown-2.0.2" sources."he-1.2.0" @@ -16812,42 +17123,51 @@ in sources."https-browserify-1.0.0" sources."i-0.3.7" sources."iconv-lite-0.4.24" - (sources."icss-utils-4.1.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) + ( + sources."icss-utils-4.1.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) sources."ieee754-1.2.1" sources."iferr-0.1.5" sources."ignore-3.3.10" sources."immer-1.7.2" sources."import-fresh-2.0.0" - (sources."import-local-2.0.0" // { - dependencies = [ - sources."find-up-3.0.0" - sources."locate-path-3.0.0" - sources."p-locate-3.0.0" - sources."path-exists-3.0.0" - sources."pkg-dir-3.0.0" - ]; - }) + ( + sources."import-local-2.0.0" + // { + dependencies = [ + sources."find-up-3.0.0" + sources."locate-path-3.0.0" + sources."p-locate-3.0.0" + sources."path-exists-3.0.0" + sources."pkg-dir-3.0.0" + ]; + } + ) sources."imurmurhash-0.1.4" sources."indexes-of-1.0.1" sources."infer-owner-1.0.4" sources."inflight-1.0.6" sources."inherits-2.0.4" sources."ini-1.3.8" - (sources."inquirer-6.2.0" // { - dependencies = [ - sources."ansi-regex-3.0.1" - sources."is-fullwidth-code-point-2.0.0" - sources."mute-stream-0.0.7" - sources."string-width-2.1.1" - sources."strip-ansi-4.0.0" - ]; - }) + ( + sources."inquirer-6.2.0" + // { + dependencies = [ + sources."ansi-regex-3.0.1" + sources."is-fullwidth-code-point-2.0.0" + sources."mute-stream-0.0.7" + sources."string-width-2.1.1" + sources."strip-ansi-4.0.0" + ]; + } + ) sources."internal-ip-4.3.0" sources."internal-slot-1.0.7" sources."invert-kv-1.0.0" @@ -16910,11 +17230,14 @@ in sources."json-parse-even-better-errors-2.3.1" sources."json-schema-0.4.0" sources."json-schema-traverse-0.4.1" - (sources."json-stable-stringify-1.1.1" // { - dependencies = [ - sources."isarray-2.0.5" - ]; - }) + ( + sources."json-stable-stringify-1.1.1" + // { + dependencies = [ + sources."isarray-2.0.5" + ]; + } + ) sources."json-stringify-safe-5.0.1" sources."json3-3.3.3" sources."json5-2.2.3" @@ -16927,18 +17250,24 @@ in sources."last-call-webpack-plugin-3.0.0" sources."lcid-1.0.0" sources."lines-and-columns-1.2.4" - (sources."load-json-file-1.1.0" // { - dependencies = [ - sources."parse-json-2.2.0" - sources."pify-2.3.0" - ]; - }) + ( + sources."load-json-file-1.1.0" + // { + dependencies = [ + sources."parse-json-2.2.0" + sources."pify-2.3.0" + ]; + } + ) sources."loader-runner-2.4.0" - (sources."loader-utils-1.4.2" // { - dependencies = [ - sources."json5-1.0.2" - ]; - }) + ( + sources."loader-utils-1.4.2" + // { + dependencies = [ + sources."json5-1.0.2" + ]; + } + ) sources."locate-path-5.0.0" sources."lodash-4.17.21" sources."lodash._reinterpolate-3.0.0" @@ -16960,30 +17289,39 @@ in sources."merge2-1.4.1" sources."methods-1.1.2" sources."micromatch-4.0.8" - (sources."miller-rabin-4.0.1" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + ( + sources."miller-rabin-4.0.1" + // { + dependencies = [ + sources."bn.js-4.12.0" + ]; + } + ) sources."mime-1.6.0" sources."mime-db-1.52.0" sources."mime-types-2.1.35" sources."mimic-fn-1.2.0" - (sources."mini-css-extract-plugin-0.12.0" // { - dependencies = [ - sources."schema-utils-1.0.0" - ]; - }) + ( + sources."mini-css-extract-plugin-0.12.0" + // { + dependencies = [ + sources."schema-utils-1.0.0" + ]; + } + ) sources."minimalistic-assert-1.0.1" sources."minimalistic-crypto-utils-1.0.1" sources."minimatch-3.1.2" sources."minimist-1.2.5" sources."mississippi-3.0.0" - (sources."mixin-deep-1.3.2" // { - dependencies = [ - sources."is-extendable-1.0.1" - ]; - }) + ( + sources."mixin-deep-1.3.2" + // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + } + ) sources."mkdirp-0.5.3" sources."move-concurrently-1.0.1" sources."ms-2.1.3" @@ -16998,42 +17336,54 @@ in sources."neo-async-2.6.2" sources."nice-try-1.0.5" sources."no-case-3.0.4" - (sources."node-elm-compiler-5.0.6" // { - dependencies = [ - sources."cross-spawn-6.0.5" - sources."path-key-2.0.1" - sources."shebang-command-1.2.0" - sources."shebang-regex-1.0.0" - sources."which-1.3.1" - ]; - }) + ( + sources."node-elm-compiler-5.0.6" + // { + dependencies = [ + sources."cross-spawn-6.0.5" + sources."path-key-2.0.1" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."which-1.3.1" + ]; + } + ) sources."node-forge-0.10.0" - (sources."node-libs-browser-2.2.1" // { - dependencies = [ - sources."punycode-1.4.1" - ]; - }) + ( + sources."node-libs-browser-2.2.1" + // { + dependencies = [ + sources."punycode-1.4.1" + ]; + } + ) sources."node-releases-2.0.18" sources."normalize-package-data-2.5.0" sources."normalize-path-3.0.0" sources."normalize-range-0.1.2" sources."normalize-url-1.9.1" - (sources."npm-run-path-2.0.2" // { - dependencies = [ - sources."path-key-2.0.1" - ]; - }) + ( + sources."npm-run-path-2.0.2" + // { + dependencies = [ + sources."path-key-2.0.1" + ]; + } + ) sources."nth-check-2.1.1" sources."number-is-nan-1.0.1" sources."oauth-sign-0.9.0" sources."object-assign-4.1.1" - (sources."object-copy-0.1.0" // { - dependencies = [ - sources."define-property-0.2.5" - sources."is-descriptor-0.1.7" - sources."kind-of-3.2.2" - ]; - }) + ( + sources."object-copy-0.1.0" + // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-descriptor-0.1.7" + sources."kind-of-3.2.2" + ]; + } + ) sources."object-inspect-1.13.2" sources."object-is-1.1.6" sources."object-keys-1.1.1" @@ -17063,17 +17413,23 @@ in sources."pako-1.0.11" sources."parallel-transform-1.2.0" sources."param-case-3.0.4" - (sources."parent-module-1.0.1" // { - dependencies = [ - sources."callsites-3.1.0" - ]; - }) - (sources."parse-asn1-5.1.7" // { - dependencies = [ - sources."hash-base-3.0.4" - sources."safe-buffer-5.2.1" - ]; - }) + ( + sources."parent-module-1.0.1" + // { + dependencies = [ + sources."callsites-3.1.0" + ]; + } + ) + ( + sources."parse-asn1-5.1.7" + // { + dependencies = [ + sources."hash-base-3.0.4" + sources."safe-buffer-5.2.1" + ]; + } + ) sources."parse-json-4.0.0" sources."parse-passwd-1.0.0" sources."parseurl-1.3.3" @@ -17087,11 +17443,14 @@ in sources."path-key-3.1.1" sources."path-parse-1.0.7" sources."path-to-regexp-0.1.10" - (sources."path-type-3.0.0" // { - dependencies = [ - sources."pify-3.0.0" - ]; - }) + ( + sources."path-type-3.0.0" + // { + dependencies = [ + sources."pify-3.0.0" + ]; + } + ) sources."pbkdf2-3.1.2" sources."performance-now-2.1.0" sources."picocolors-1.1.0" @@ -17100,286 +17459,391 @@ in sources."pinkie-2.0.4" sources."pinkie-promise-2.0.1" sources."pkg-dir-4.2.0" - (sources."pkg-up-2.0.0" // { - dependencies = [ - sources."find-up-2.1.0" - sources."locate-path-2.0.0" - sources."p-limit-1.3.0" - sources."p-locate-2.0.0" - sources."p-try-1.0.0" - sources."path-exists-3.0.0" - ]; - }) + ( + sources."pkg-up-2.0.0" + // { + dependencies = [ + sources."find-up-2.1.0" + sources."locate-path-2.0.0" + sources."p-limit-1.3.0" + sources."p-locate-2.0.0" + sources."p-try-1.0.0" + sources."path-exists-3.0.0" + ]; + } + ) sources."pkginfo-0.4.1" - (sources."portfinder-1.0.32" // { - dependencies = [ - sources."async-2.6.4" - sources."debug-3.2.7" - sources."minimist-1.2.8" - sources."mkdirp-0.5.6" - ]; - }) + ( + sources."portfinder-1.0.32" + // { + dependencies = [ + sources."async-2.6.4" + sources."debug-3.2.7" + sources."minimist-1.2.8" + sources."mkdirp-0.5.6" + ]; + } + ) sources."posix-character-classes-0.1.1" sources."possible-typed-array-names-1.0.0" sources."postcss-8.4.47" - (sources."postcss-calc-7.0.5" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-colormin-4.0.3" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-convert-values-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-discard-comments-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-discard-duplicates-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-discard-empty-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-discard-overridden-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-flexbugs-fixes-4.2.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-loader-4.1.0" // { - dependencies = [ - sources."cosmiconfig-7.1.0" - sources."import-fresh-3.3.0" - sources."loader-utils-2.0.4" - sources."parse-json-5.2.0" - sources."path-type-4.0.0" - sources."resolve-from-4.0.0" - sources."schema-utils-3.3.0" - sources."semver-7.6.3" - ]; - }) - (sources."postcss-merge-longhand-4.0.11" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-merge-rules-4.0.3" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-selector-parser-3.1.2" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-minify-font-values-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-minify-gradients-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-minify-params-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-minify-selectors-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-selector-parser-3.1.2" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-modules-extract-imports-2.0.0" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-modules-local-by-default-3.0.3" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-modules-scope-2.2.0" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-modules-values-3.0.0" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-charset-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-display-values-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-positions-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-repeat-style-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-string-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-timing-functions-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-unicode-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-url-4.0.1" // { - dependencies = [ - sources."normalize-url-3.3.0" - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-normalize-whitespace-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-ordered-values-4.1.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-reduce-initial-4.0.3" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-reduce-transforms-4.0.2" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) + ( + sources."postcss-calc-7.0.5" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-colormin-4.0.3" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-convert-values-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-discard-comments-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-discard-duplicates-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-discard-empty-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-discard-overridden-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-flexbugs-fixes-4.2.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-loader-4.1.0" + // { + dependencies = [ + sources."cosmiconfig-7.1.0" + sources."import-fresh-3.3.0" + sources."loader-utils-2.0.4" + sources."parse-json-5.2.0" + sources."path-type-4.0.0" + sources."resolve-from-4.0.0" + sources."schema-utils-3.3.0" + sources."semver-7.6.3" + ]; + } + ) + ( + sources."postcss-merge-longhand-4.0.11" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-merge-rules-4.0.3" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-selector-parser-3.1.2" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-minify-font-values-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-minify-gradients-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-minify-params-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-minify-selectors-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-selector-parser-3.1.2" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-modules-extract-imports-2.0.0" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-modules-local-by-default-3.0.3" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-modules-scope-2.2.0" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-modules-values-3.0.0" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-charset-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-display-values-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-positions-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-repeat-style-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-string-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-timing-functions-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-unicode-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-url-4.0.1" + // { + dependencies = [ + sources."normalize-url-3.3.0" + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-normalize-whitespace-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-ordered-values-4.1.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-reduce-initial-4.0.3" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-reduce-transforms-4.0.2" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) sources."postcss-safe-parser-5.0.2" sources."postcss-selector-parser-6.1.2" - (sources."postcss-svgo-4.0.3" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-value-parser-3.3.1" - sources."source-map-0.6.1" - ]; - }) - (sources."postcss-unique-selectors-4.0.1" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."source-map-0.6.1" - ]; - }) + ( + sources."postcss-svgo-4.0.3" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-value-parser-3.3.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."postcss-unique-selectors-4.0.1" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."source-map-0.6.1" + ]; + } + ) sources."postcss-value-parser-4.2.0" sources."prepend-http-1.0.4" sources."pretty-bytes-5.6.0" @@ -17393,17 +17857,23 @@ in sources."prr-1.0.1" sources."pseudomap-1.0.2" sources."psl-1.9.0" - (sources."public-encrypt-4.0.3" // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) + ( + sources."public-encrypt-4.0.3" + // { + dependencies = [ + sources."bn.js-4.12.0" + ]; + } + ) sources."pump-3.0.2" - (sources."pumpify-1.5.1" // { - dependencies = [ - sources."pump-2.0.1" - ]; - }) + ( + sources."pumpify-1.5.1" + // { + dependencies = [ + sources."pump-2.0.1" + ]; + } + ) sources."punycode-2.3.1" sources."q-1.5.1" sources."qs-6.5.3" @@ -17414,58 +17884,70 @@ in sources."randomfill-1.0.4" sources."range-parser-1.2.1" sources."raw-body-2.5.2" - (sources."react-dev-utils-6.1.1" // { - dependencies = [ - sources."@babel/code-frame-7.0.0" - sources."ansi-regex-3.0.1" - sources."big.js-3.2.0" - sources."browserslist-4.1.1" - sources."chalk-2.4.1" - sources."cross-spawn-6.0.5" - sources."debug-2.6.9" - sources."emojis-list-2.1.0" - sources."escape-string-regexp-1.0.5" - sources."find-up-3.0.0" - sources."globby-8.0.1" - sources."json5-0.5.1" - sources."loader-utils-1.1.0" - sources."locate-path-3.0.0" - sources."ms-2.0.0" - sources."node-releases-1.1.77" - sources."p-locate-3.0.0" - sources."path-exists-3.0.0" - sources."path-key-2.0.1" - sources."pify-3.0.0" - sources."react-error-overlay-5.1.6" - sources."shebang-command-1.2.0" - sources."shebang-regex-1.0.0" - sources."slash-1.0.0" - sources."sockjs-client-1.1.5" - sources."strip-ansi-4.0.0" - sources."which-1.3.1" - ]; - }) + ( + sources."react-dev-utils-6.1.1" + // { + dependencies = [ + sources."@babel/code-frame-7.0.0" + sources."ansi-regex-3.0.1" + sources."big.js-3.2.0" + sources."browserslist-4.1.1" + sources."chalk-2.4.1" + sources."cross-spawn-6.0.5" + sources."debug-2.6.9" + sources."emojis-list-2.1.0" + sources."escape-string-regexp-1.0.5" + sources."find-up-3.0.0" + sources."globby-8.0.1" + sources."json5-0.5.1" + sources."loader-utils-1.1.0" + sources."locate-path-3.0.0" + sources."ms-2.0.0" + sources."node-releases-1.1.77" + sources."p-locate-3.0.0" + sources."path-exists-3.0.0" + sources."path-key-2.0.1" + sources."pify-3.0.0" + sources."react-error-overlay-5.1.6" + sources."shebang-command-1.2.0" + sources."shebang-regex-1.0.0" + sources."slash-1.0.0" + sources."sockjs-client-1.1.5" + sources."strip-ansi-4.0.0" + sources."which-1.3.1" + ]; + } + ) sources."react-error-overlay-4.0.1" sources."read-1.0.7" - (sources."read-pkg-1.1.0" // { - dependencies = [ - sources."path-type-1.1.0" - sources."pify-2.3.0" - ]; - }) - (sources."read-pkg-up-1.0.1" // { - dependencies = [ - sources."find-up-1.1.2" - sources."path-exists-2.1.0" - ]; - }) + ( + sources."read-pkg-1.1.0" + // { + dependencies = [ + sources."path-type-1.1.0" + sources."pify-2.3.0" + ]; + } + ) + ( + sources."read-pkg-up-1.0.1" + // { + dependencies = [ + sources."find-up-1.1.2" + sources."path-exists-2.1.0" + ]; + } + ) sources."readable-stream-2.3.8" sources."readdirp-3.6.0" - (sources."recursive-readdir-2.2.2" // { - dependencies = [ - sources."minimatch-3.0.4" - ]; - }) + ( + sources."recursive-readdir-2.2.2" + // { + dependencies = [ + sources."minimatch-3.0.4" + ]; + } + ) sources."regenerate-1.4.2" sources."regenerate-unicode-properties-10.2.0" sources."regenerator-runtime-0.13.11" @@ -17473,19 +17955,25 @@ in sources."regex-not-1.0.2" sources."regexp.prototype.flags-1.5.2" sources."regexpu-core-5.3.2" - (sources."regjsparser-0.9.1" // { - dependencies = [ - sources."jsesc-0.5.0" - ]; - }) + ( + sources."regjsparser-0.9.1" + // { + dependencies = [ + sources."jsesc-0.5.0" + ]; + } + ) sources."relateurl-0.2.7" sources."remove-trailing-separator-1.1.0" - (sources."renderkid-2.0.7" // { - dependencies = [ - sources."ansi-regex-2.1.1" - sources."strip-ansi-3.0.1" - ]; - }) + ( + sources."renderkid-2.0.7" + // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."strip-ansi-3.0.1" + ]; + } + ) sources."repeat-element-1.1.4" sources."repeat-string-1.6.1" sources."request-2.88.2" @@ -17507,16 +17995,22 @@ in sources."ripemd160-2.0.2" sources."run-async-2.4.1" sources."run-queue-1.0.3" - (sources."rxjs-6.6.7" // { - dependencies = [ - sources."tslib-1.14.1" - ]; - }) - (sources."safe-array-concat-1.1.2" // { - dependencies = [ - sources."isarray-2.0.5" - ]; - }) + ( + sources."rxjs-6.6.7" + // { + dependencies = [ + sources."tslib-1.14.1" + ]; + } + ) + ( + sources."safe-array-concat-1.1.2" + // { + dependencies = [ + sources."isarray-2.0.5" + ]; + } + ) sources."safe-buffer-5.1.2" sources."safe-regex-1.1.0" sources."safe-regex-test-1.0.3" @@ -17526,37 +18020,49 @@ in sources."select-hose-2.0.0" sources."selfsigned-1.10.14" sources."semver-5.7.2" - (sources."send-0.19.0" // { - dependencies = [ - (sources."debug-2.6.9" // { - dependencies = [ - sources."ms-2.0.0" - ]; - }) - sources."encodeurl-1.0.2" - ]; - }) + ( + sources."send-0.19.0" + // { + dependencies = [ + ( + sources."debug-2.6.9" + // { + dependencies = [ + sources."ms-2.0.0" + ]; + } + ) + sources."encodeurl-1.0.2" + ]; + } + ) sources."serialize-javascript-4.0.0" - (sources."serve-index-1.9.1" // { - dependencies = [ - sources."debug-2.6.9" - sources."depd-1.1.2" - sources."http-errors-1.6.3" - sources."inherits-2.0.3" - sources."ms-2.0.0" - sources."setprototypeof-1.1.0" - sources."statuses-1.5.0" - ]; - }) + ( + sources."serve-index-1.9.1" + // { + dependencies = [ + sources."debug-2.6.9" + sources."depd-1.1.2" + sources."http-errors-1.6.3" + sources."inherits-2.0.3" + sources."ms-2.0.0" + sources."setprototypeof-1.1.0" + sources."statuses-1.5.0" + ]; + } + ) sources."serve-static-1.16.2" sources."set-blocking-2.0.0" sources."set-function-length-1.2.2" sources."set-function-name-2.0.2" - (sources."set-value-2.0.1" // { - dependencies = [ - sources."extend-shallow-2.0.1" - ]; - }) + ( + sources."set-value-2.0.1" + // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + } + ) sources."setimmediate-1.0.5" sources."setprototypeof-1.2.0" sources."sha.js-2.4.11" @@ -17565,64 +18071,88 @@ in sources."shell-quote-1.6.1" sources."side-channel-1.0.6" sources."signal-exit-3.0.7" - (sources."simple-swizzle-0.2.2" // { - dependencies = [ - sources."is-arrayish-0.3.2" - ]; - }) + ( + sources."simple-swizzle-0.2.2" + // { + dependencies = [ + sources."is-arrayish-0.3.2" + ]; + } + ) sources."slash-2.0.0" - (sources."snapdragon-0.8.2" // { - dependencies = [ - sources."debug-2.6.9" - sources."define-property-0.2.5" - sources."extend-shallow-2.0.1" - sources."is-descriptor-0.1.7" - sources."ms-2.0.0" - ]; - }) - (sources."snapdragon-node-2.1.1" // { - dependencies = [ - sources."define-property-1.0.0" - ]; - }) - (sources."snapdragon-util-3.0.1" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."sockjs-0.3.20" // { - dependencies = [ - sources."faye-websocket-0.10.0" - sources."websocket-driver-0.6.5" - ]; - }) - (sources."sockjs-client-1.4.0" // { - dependencies = [ - sources."debug-3.2.7" - sources."eventsource-1.1.2" - ]; - }) + ( + sources."snapdragon-0.8.2" + // { + dependencies = [ + sources."debug-2.6.9" + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + sources."is-descriptor-0.1.7" + sources."ms-2.0.0" + ]; + } + ) + ( + sources."snapdragon-node-2.1.1" + // { + dependencies = [ + sources."define-property-1.0.0" + ]; + } + ) + ( + sources."snapdragon-util-3.0.1" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + ( + sources."sockjs-0.3.20" + // { + dependencies = [ + sources."faye-websocket-0.10.0" + sources."websocket-driver-0.6.5" + ]; + } + ) + ( + sources."sockjs-client-1.4.0" + // { + dependencies = [ + sources."debug-3.2.7" + sources."eventsource-1.1.2" + ]; + } + ) sources."sort-keys-1.1.2" sources."source-list-map-2.0.1" sources."source-map-0.5.7" sources."source-map-js-1.2.1" sources."source-map-resolve-0.5.3" - (sources."source-map-support-0.5.21" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) + ( + sources."source-map-support-0.5.21" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) sources."source-map-url-0.4.1" sources."spdx-correct-3.2.0" sources."spdx-exceptions-2.5.0" sources."spdx-expression-parse-3.0.1" sources."spdx-license-ids-3.0.20" sources."spdy-4.0.2" - (sources."spdy-transport-3.0.0" // { - dependencies = [ - sources."readable-stream-3.6.2" - ]; - }) + ( + sources."spdy-transport-3.0.0" + // { + dependencies = [ + sources."readable-stream-3.6.2" + ]; + } + ) sources."split-1.0.1" sources."split-string-3.1.0" sources."sprintf-js-1.0.3" @@ -17630,12 +18160,15 @@ in sources."ssri-6.0.2" sources."stable-0.1.8" sources."stack-trace-0.0.10" - (sources."static-extend-0.1.2" // { - dependencies = [ - sources."define-property-0.2.5" - sources."is-descriptor-0.1.7" - ]; - }) + ( + sources."static-extend-0.1.2" + // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-descriptor-0.1.7" + ]; + } + ) sources."statuses-2.0.1" sources."stream-browserify-2.0.2" sources."stream-each-1.2.3" @@ -17643,77 +18176,104 @@ in sources."stream-shift-1.0.3" sources."strict-uri-encode-1.1.0" sources."string-replace-loader-2.3.0" - (sources."string-width-4.2.3" // { - dependencies = [ - sources."strip-ansi-6.0.1" - ]; - }) + ( + sources."string-width-4.2.3" + // { + dependencies = [ + sources."strip-ansi-6.0.1" + ]; + } + ) sources."string.prototype.trim-1.2.9" sources."string.prototype.trimend-1.0.8" sources."string.prototype.trimstart-1.0.8" sources."string_decoder-1.1.1" - (sources."stringify-object-3.3.0" // { - dependencies = [ - sources."is-obj-1.0.1" - ]; - }) + ( + sources."stringify-object-3.3.0" + // { + dependencies = [ + sources."is-obj-1.0.1" + ]; + } + ) sources."strip-ansi-6.0.0" sources."strip-bom-2.0.0" sources."strip-comments-1.0.2" sources."strip-eof-1.0.0" - (sources."style-loader-1.3.0" // { - dependencies = [ - sources."loader-utils-2.0.4" - ]; - }) - (sources."stylehacks-4.0.3" // { - dependencies = [ - sources."picocolors-0.2.1" - sources."postcss-7.0.39" - sources."postcss-selector-parser-3.1.2" - sources."source-map-0.6.1" - ]; - }) + ( + sources."style-loader-1.3.0" + // { + dependencies = [ + sources."loader-utils-2.0.4" + ]; + } + ) + ( + sources."stylehacks-4.0.3" + // { + dependencies = [ + sources."picocolors-0.2.1" + sources."postcss-7.0.39" + sources."postcss-selector-parser-3.1.2" + sources."source-map-0.6.1" + ]; + } + ) sources."supports-color-5.5.0" sources."supports-preserve-symlinks-flag-1.0.0" - (sources."svgo-1.3.2" // { - dependencies = [ - sources."css-select-2.1.0" - sources."css-what-3.4.2" - (sources."dom-serializer-0.2.2" // { - dependencies = [ - sources."domelementtype-2.3.0" - ]; - }) - sources."domelementtype-1.3.1" - sources."domutils-1.7.0" - sources."nth-check-1.0.2" - ]; - }) + ( + sources."svgo-1.3.2" + // { + dependencies = [ + sources."css-select-2.1.0" + sources."css-what-3.4.2" + ( + sources."dom-serializer-0.2.2" + // { + dependencies = [ + sources."domelementtype-2.3.0" + ]; + } + ) + sources."domelementtype-1.3.1" + sources."domutils-1.7.0" + sources."nth-check-1.0.2" + ]; + } + ) sources."tapable-1.1.3" - (sources."temp-0.9.4" // { - dependencies = [ - sources."rimraf-2.6.3" - ]; - }) - (sources."terser-4.8.1" // { - dependencies = [ - sources."commander-2.20.3" - sources."source-map-0.6.1" - ]; - }) - (sources."terser-webpack-plugin-1.4.6" // { - dependencies = [ - sources."find-cache-dir-2.1.0" - sources."find-up-3.0.0" - sources."locate-path-3.0.0" - sources."p-locate-3.0.0" - sources."path-exists-3.0.0" - sources."pkg-dir-3.0.0" - sources."schema-utils-1.0.0" - sources."source-map-0.6.1" - ]; - }) + ( + sources."temp-0.9.4" + // { + dependencies = [ + sources."rimraf-2.6.3" + ]; + } + ) + ( + sources."terser-4.8.1" + // { + dependencies = [ + sources."commander-2.20.3" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."terser-webpack-plugin-1.4.6" + // { + dependencies = [ + sources."find-cache-dir-2.1.0" + sources."find-up-3.0.0" + sources."locate-path-3.0.0" + sources."p-locate-3.0.0" + sources."path-exists-3.0.0" + sources."pkg-dir-3.0.0" + sources."schema-utils-1.0.0" + sources."source-map-0.6.1" + ]; + } + ) sources."text-table-0.2.0" sources."through-2.3.8" sources."through2-2.0.5" @@ -17723,11 +18283,14 @@ in sources."tmp-0.0.33" sources."to-arraybuffer-1.0.1" sources."to-fast-properties-2.0.0" - (sources."to-object-path-0.3.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) + ( + sources."to-object-path-0.3.0" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) sources."to-regex-3.0.2" sources."to-regex-range-5.0.1" sources."toidentifier-1.0.1" @@ -17742,35 +18305,41 @@ in sources."typed-array-byte-offset-1.0.2" sources."typed-array-length-1.0.6" sources."typedarray-0.0.6" - (sources."uglify-es-3.3.10" // { - dependencies = [ - sources."commander-2.14.1" - sources."source-map-0.6.1" - ]; - }) - (sources."uglifyjs-webpack-plugin-1.3.0" // { - dependencies = [ - sources."cacache-10.0.4" - sources."find-cache-dir-1.0.0" - sources."find-up-2.1.0" - sources."locate-path-2.0.0" - sources."lru-cache-4.1.5" - sources."make-dir-1.3.0" - sources."mississippi-2.0.0" - sources."p-limit-1.3.0" - sources."p-locate-2.0.0" - sources."p-try-1.0.0" - sources."path-exists-3.0.0" - sources."pify-3.0.0" - sources."pkg-dir-2.0.0" - sources."pump-2.0.1" - sources."schema-utils-0.4.7" - sources."serialize-javascript-1.9.1" - sources."source-map-0.6.1" - sources."ssri-5.3.0" - sources."yallist-2.1.2" - ]; - }) + ( + sources."uglify-es-3.3.10" + // { + dependencies = [ + sources."commander-2.14.1" + sources."source-map-0.6.1" + ]; + } + ) + ( + sources."uglifyjs-webpack-plugin-1.3.0" + // { + dependencies = [ + sources."cacache-10.0.4" + sources."find-cache-dir-1.0.0" + sources."find-up-2.1.0" + sources."locate-path-2.0.0" + sources."lru-cache-4.1.5" + sources."make-dir-1.3.0" + sources."mississippi-2.0.0" + sources."p-limit-1.3.0" + sources."p-locate-2.0.0" + sources."p-try-1.0.0" + sources."path-exists-3.0.0" + sources."pify-3.0.0" + sources."pkg-dir-2.0.0" + sources."pump-2.0.1" + sources."schema-utils-0.4.7" + sources."serialize-javascript-1.9.1" + sources."source-map-0.6.1" + sources."ssri-5.3.0" + sources."yallist-2.1.2" + ]; + } + ) sources."unbox-primitive-1.0.2" sources."undici-types-6.19.8" sources."unicode-canonical-property-names-ecmascript-2.0.1" @@ -17785,39 +18354,54 @@ in sources."universalify-0.1.2" sources."unpipe-1.0.0" sources."unquote-1.1.1" - (sources."unset-value-1.0.0" // { - dependencies = [ - (sources."has-value-0.3.1" // { - dependencies = [ - sources."isobject-2.1.0" - ]; - }) - sources."has-values-0.1.4" - ]; - }) + ( + sources."unset-value-1.0.0" + // { + dependencies = [ + ( + sources."has-value-0.3.1" + // { + dependencies = [ + sources."isobject-2.1.0" + ]; + } + ) + sources."has-values-0.1.4" + ]; + } + ) sources."upath-1.2.0" sources."update-browserslist-db-1.1.1" sources."uri-js-4.4.1" sources."urix-0.1.0" - (sources."url-0.11.4" // { - dependencies = [ - sources."punycode-1.4.1" - sources."qs-6.13.0" - ]; - }) - (sources."url-loader-4.1.1" // { - dependencies = [ - sources."loader-utils-2.0.4" - sources."schema-utils-3.3.0" - ]; - }) + ( + sources."url-0.11.4" + // { + dependencies = [ + sources."punycode-1.4.1" + sources."qs-6.13.0" + ]; + } + ) + ( + sources."url-loader-4.1.1" + // { + dependencies = [ + sources."loader-utils-2.0.4" + sources."schema-utils-3.3.0" + ]; + } + ) sources."url-parse-1.5.10" sources."use-3.1.1" - (sources."util-0.11.1" // { - dependencies = [ - sources."inherits-2.0.3" - ]; - }) + ( + sources."util-0.11.1" + // { + dependencies = [ + sources."inherits-2.0.3" + ]; + } + ) sources."util-deprecate-1.0.2" sources."util.promisify-1.0.0" sources."utila-0.4.0" @@ -17827,126 +18411,165 @@ in sources."validate-npm-package-license-3.0.4" sources."vary-1.1.2" sources."vendors-1.0.4" - (sources."verror-1.10.0" // { - dependencies = [ - sources."core-util-is-1.0.2" - ]; - }) + ( + sources."verror-1.10.0" + // { + dependencies = [ + sources."core-util-is-1.0.2" + ]; + } + ) sources."vm-browserify-1.1.2" sources."watchpack-1.7.5" - (sources."watchpack-chokidar2-2.0.1" // { - dependencies = [ - sources."anymatch-2.0.0" - sources."binary-extensions-1.13.1" - sources."braces-2.3.2" - sources."chokidar-2.1.8" - sources."extend-shallow-2.0.1" - sources."fill-range-4.0.0" - sources."is-binary-path-1.0.1" - sources."is-extendable-1.0.1" - sources."is-number-3.0.0" - sources."kind-of-3.2.2" - (sources."micromatch-3.1.10" // { - dependencies = [ - sources."extend-shallow-3.0.2" - sources."kind-of-6.0.3" - ]; - }) - sources."normalize-path-2.1.1" - sources."readdirp-2.2.1" - sources."to-regex-range-2.1.1" - ]; - }) + ( + sources."watchpack-chokidar2-2.0.1" + // { + dependencies = [ + sources."anymatch-2.0.0" + sources."binary-extensions-1.13.1" + sources."braces-2.3.2" + sources."chokidar-2.1.8" + sources."extend-shallow-2.0.1" + sources."fill-range-4.0.0" + sources."is-binary-path-1.0.1" + sources."is-extendable-1.0.1" + sources."is-number-3.0.0" + sources."kind-of-3.2.2" + ( + sources."micromatch-3.1.10" + // { + dependencies = [ + sources."extend-shallow-3.0.2" + sources."kind-of-6.0.3" + ]; + } + ) + sources."normalize-path-2.1.1" + sources."readdirp-2.2.1" + sources."to-regex-range-2.1.1" + ]; + } + ) sources."wbuf-1.7.3" - (sources."webpack-4.44.2" // { - dependencies = [ - sources."braces-2.3.2" - sources."extend-shallow-2.0.1" - sources."fill-range-4.0.0" - sources."is-number-3.0.0" - sources."kind-of-3.2.2" - sources."micromatch-3.1.10" - sources."schema-utils-1.0.0" - sources."to-regex-range-2.1.1" - ]; - }) - (sources."webpack-dev-middleware-3.7.3" // { - dependencies = [ - sources."mime-2.6.0" - ]; - }) - (sources."webpack-dev-server-3.11.0" // { - dependencies = [ - sources."ansi-regex-4.1.1" - sources."anymatch-2.0.0" - sources."binary-extensions-1.13.1" - sources."braces-2.3.2" - sources."chokidar-2.1.8" - (sources."cliui-5.0.0" // { - dependencies = [ - sources."strip-ansi-5.2.0" - ]; - }) - sources."emoji-regex-7.0.3" - sources."extend-shallow-2.0.1" - sources."fill-range-4.0.0" - sources."find-up-3.0.0" - sources."get-caller-file-2.0.5" - sources."http-proxy-middleware-0.19.1" - sources."is-absolute-url-3.0.3" - sources."is-binary-path-1.0.1" - sources."is-extendable-1.0.1" - sources."is-fullwidth-code-point-2.0.0" - sources."is-number-3.0.0" - sources."kind-of-3.2.2" - sources."locate-path-3.0.0" - (sources."micromatch-3.1.10" // { - dependencies = [ - sources."extend-shallow-3.0.2" - sources."kind-of-6.0.3" - ]; - }) - sources."normalize-path-2.1.1" - sources."opn-5.5.0" - sources."p-locate-3.0.0" - sources."path-exists-3.0.0" - sources."readdirp-2.2.1" - sources."require-main-filename-2.0.0" - sources."schema-utils-1.0.0" - sources."semver-6.3.1" - (sources."string-width-3.1.0" // { - dependencies = [ - sources."strip-ansi-5.2.0" - ]; - }) - (sources."strip-ansi-3.0.1" // { - dependencies = [ - sources."ansi-regex-2.1.1" - ]; - }) - sources."supports-color-6.1.0" - sources."to-regex-range-2.1.1" - sources."which-module-2.0.1" - (sources."wrap-ansi-5.1.0" // { - dependencies = [ - sources."strip-ansi-5.2.0" - ]; - }) - sources."yargs-13.3.2" - sources."yargs-parser-13.1.2" - ]; - }) + ( + sources."webpack-4.44.2" + // { + dependencies = [ + sources."braces-2.3.2" + sources."extend-shallow-2.0.1" + sources."fill-range-4.0.0" + sources."is-number-3.0.0" + sources."kind-of-3.2.2" + sources."micromatch-3.1.10" + sources."schema-utils-1.0.0" + sources."to-regex-range-2.1.1" + ]; + } + ) + ( + sources."webpack-dev-middleware-3.7.3" + // { + dependencies = [ + sources."mime-2.6.0" + ]; + } + ) + ( + sources."webpack-dev-server-3.11.0" + // { + dependencies = [ + sources."ansi-regex-4.1.1" + sources."anymatch-2.0.0" + sources."binary-extensions-1.13.1" + sources."braces-2.3.2" + sources."chokidar-2.1.8" + ( + sources."cliui-5.0.0" + // { + dependencies = [ + sources."strip-ansi-5.2.0" + ]; + } + ) + sources."emoji-regex-7.0.3" + sources."extend-shallow-2.0.1" + sources."fill-range-4.0.0" + sources."find-up-3.0.0" + sources."get-caller-file-2.0.5" + sources."http-proxy-middleware-0.19.1" + sources."is-absolute-url-3.0.3" + sources."is-binary-path-1.0.1" + sources."is-extendable-1.0.1" + sources."is-fullwidth-code-point-2.0.0" + sources."is-number-3.0.0" + sources."kind-of-3.2.2" + sources."locate-path-3.0.0" + ( + sources."micromatch-3.1.10" + // { + dependencies = [ + sources."extend-shallow-3.0.2" + sources."kind-of-6.0.3" + ]; + } + ) + sources."normalize-path-2.1.1" + sources."opn-5.5.0" + sources."p-locate-3.0.0" + sources."path-exists-3.0.0" + sources."readdirp-2.2.1" + sources."require-main-filename-2.0.0" + sources."schema-utils-1.0.0" + sources."semver-6.3.1" + ( + sources."string-width-3.1.0" + // { + dependencies = [ + sources."strip-ansi-5.2.0" + ]; + } + ) + ( + sources."strip-ansi-3.0.1" + // { + dependencies = [ + sources."ansi-regex-2.1.1" + ]; + } + ) + sources."supports-color-6.1.0" + sources."to-regex-range-2.1.1" + sources."which-module-2.0.1" + ( + sources."wrap-ansi-5.1.0" + // { + dependencies = [ + sources."strip-ansi-5.2.0" + ]; + } + ) + sources."yargs-13.3.2" + sources."yargs-parser-13.1.2" + ]; + } + ) sources."webpack-log-2.0.0" - (sources."webpack-manifest-plugin-2.2.0" // { - dependencies = [ - sources."fs-extra-7.0.1" - ]; - }) - (sources."webpack-sources-1.4.3" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) + ( + sources."webpack-manifest-plugin-2.2.0" + // { + dependencies = [ + sources."fs-extra-7.0.1" + ]; + } + ) + ( + sources."webpack-sources-1.4.3" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) sources."websocket-driver-0.7.4" sources."websocket-extensions-0.1.4" sources."whatwg-fetch-3.5.0" @@ -17954,20 +18577,26 @@ in sources."which-boxed-primitive-1.0.2" sources."which-module-1.0.0" sources."which-typed-array-1.1.15" - (sources."winston-2.1.1" // { - dependencies = [ - sources."async-1.0.0" - sources."colors-1.0.3" - sources."pkginfo-0.3.1" - ]; - }) + ( + sources."winston-2.1.1" + // { + dependencies = [ + sources."async-1.0.0" + sources."colors-1.0.3" + sources."pkginfo-0.3.1" + ]; + } + ) sources."workbox-background-sync-4.3.1" sources."workbox-broadcast-update-4.3.1" - (sources."workbox-build-4.3.1" // { - dependencies = [ - sources."fs-extra-4.0.3" - ]; - }) + ( + sources."workbox-build-4.3.1" + // { + dependencies = [ + sources."fs-extra-4.0.3" + ]; + } + ) sources."workbox-cacheable-response-4.3.1" sources."workbox-core-4.3.1" sources."workbox-expiration-4.3.1" @@ -17982,14 +18611,17 @@ in sources."workbox-webpack-plugin-4.3.1" sources."workbox-window-4.3.1" sources."worker-farm-1.7.0" - (sources."wrap-ansi-2.1.0" // { - dependencies = [ - sources."ansi-regex-2.1.1" - sources."is-fullwidth-code-point-1.0.0" - sources."string-width-1.0.2" - sources."strip-ansi-3.0.1" - ]; - }) + ( + sources."wrap-ansi-2.1.0" + // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."is-fullwidth-code-point-1.0.0" + sources."string-width-1.0.2" + sources."strip-ansi-3.0.1" + ]; + } + ) sources."wrappy-1.0.2" sources."ws-6.2.3" sources."xmlbuilder-15.1.1" @@ -17997,21 +18629,27 @@ in sources."y18n-4.0.3" sources."yallist-3.1.1" sources."yaml-1.10.2" - (sources."yargs-6.6.0" // { - dependencies = [ - sources."ansi-regex-2.1.1" - sources."camelcase-3.0.0" - sources."is-fullwidth-code-point-1.0.0" - sources."string-width-1.0.2" - sources."strip-ansi-3.0.1" - sources."y18n-3.2.2" - ]; - }) - (sources."yargs-parser-4.2.1" // { - dependencies = [ - sources."camelcase-3.0.0" - ]; - }) + ( + sources."yargs-6.6.0" + // { + dependencies = [ + sources."ansi-regex-2.1.1" + sources."camelcase-3.0.0" + sources."is-fullwidth-code-point-1.0.0" + sources."string-width-1.0.2" + sources."strip-ansi-3.0.1" + sources."y18n-3.2.2" + ]; + } + ) + ( + sources."yargs-parser-4.2.1" + // { + dependencies = [ + sources."camelcase-3.0.0" + ]; + } + ) ]; buildInputs = globalBuildInputs; meta = { @@ -18037,11 +18675,14 @@ in sources."ansi-styles-5.2.0" sources."balanced-match-1.0.2" sources."brace-expansion-1.1.11" - (sources."chalk-4.1.2" // { - dependencies = [ - sources."ansi-styles-4.3.0" - ]; - }) + ( + sources."chalk-4.1.2" + // { + dependencies = [ + sources."ansi-styles-4.3.0" + ]; + } + ) sources."color-convert-2.0.1" sources."color-name-1.1.4" sources."commander-6.2.1" @@ -18109,30 +18750,42 @@ in sources."@jridgewell/source-map-0.3.6" sources."@jridgewell/sourcemap-codec-1.5.0" sources."@jridgewell/trace-mapping-0.3.25" - (sources."@jsonjoy.com/base64-1.1.2" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) - (sources."@jsonjoy.com/json-pack-1.1.0" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) - (sources."@jsonjoy.com/util-1.3.0" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) + ( + sources."@jsonjoy.com/base64-1.1.2" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) + ( + sources."@jsonjoy.com/json-pack-1.1.0" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) + ( + sources."@jsonjoy.com/util-1.3.0" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) sources."@nodelib/fs.scandir-2.1.5" sources."@nodelib/fs.stat-2.0.5" sources."@nodelib/fs.walk-1.2.8" sources."@npmcli/agent-2.2.2" - (sources."@npmcli/fs-3.1.1" // { - dependencies = [ - sources."semver-7.6.3" - ]; - }) + ( + sources."@npmcli/fs-3.1.1" + // { + dependencies = [ + sources."semver-7.6.3" + ]; + } + ) sources."@sindresorhus/is-0.14.0" sources."@sindresorhus/merge-streams-3.0.0" sources."@szmarczak/http-timer-1.1.2" @@ -18149,12 +18802,15 @@ in sources."@types/tmp-0.0.33" sources."accepts-1.3.8" sources."acorn-8.12.1" - (sources."agent-base-7.1.1" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) + ( + sources."agent-base-7.1.1" + // { + dependencies = [ + sources."debug-4.3.7" + sources."ms-2.1.3" + ]; + } + ) sources."aggregate-error-3.1.0" sources."ansi-escapes-4.3.2" sources."ansi-regex-5.0.1" @@ -18167,11 +18823,14 @@ in sources."balanced-match-1.0.2" sources."batch-0.6.1" sources."binary-extensions-2.3.0" - (sources."body-parser-1.20.3" // { - dependencies = [ - sources."on-finished-2.4.1" - ]; - }) + ( + sources."body-parser-1.20.3" + // { + dependencies = [ + sources."on-finished-2.4.1" + ]; + } + ) sources."brace-expansion-1.1.11" sources."braces-3.0.3" sources."buffer-builder-0.2.0" @@ -18179,19 +18838,25 @@ in sources."bufferutil-4.0.8" sources."busboy-1.6.0" sources."bytes-3.1.2" - (sources."cacache-18.0.4" // { - dependencies = [ - sources."brace-expansion-2.0.1" - sources."glob-10.4.5" - sources."minimatch-9.0.5" - ]; - }) - (sources."cacheable-request-6.1.0" // { - dependencies = [ - sources."get-stream-5.2.0" - sources."lowercase-keys-2.0.0" - ]; - }) + ( + sources."cacache-18.0.4" + // { + dependencies = [ + sources."brace-expansion-2.0.1" + sources."glob-10.4.5" + sources."minimatch-9.0.5" + ]; + } + ) + ( + sources."cacheable-request-6.1.0" + // { + dependencies = [ + sources."get-stream-5.2.0" + sources."lowercase-keys-2.0.0" + ]; + } + ) sources."call-bind-1.0.7" sources."chalk-3.0.0" sources."chokidar-3.6.0" @@ -18211,11 +18876,14 @@ in sources."cookie-0.6.0" sources."cookie-signature-1.2.1" sources."copy-anything-2.0.6" - (sources."cross-spawn-7.0.3" // { - dependencies = [ - sources."which-2.0.2" - ]; - }) + ( + sources."cross-spawn-7.0.3" + // { + dependencies = [ + sources."which-2.0.2" + ]; + } + ) sources."debug-2.6.9" sources."decompress-response-3.3.0" sources."deep-extend-0.6.0" @@ -18224,21 +18892,27 @@ in sources."depd-2.0.0" sources."destroy-1.2.0" sources."detect-libc-1.0.3" - (sources."devcert-1.2.2" // { - dependencies = [ - sources."debug-3.2.7" - sources."ms-2.1.3" - ]; - }) + ( + sources."devcert-1.2.2" + // { + dependencies = [ + sources."debug-3.2.7" + sources."ms-2.1.3" + ]; + } + ) sources."duplexer3-0.1.5" sources."eastasianwidth-0.2.0" sources."ee-first-1.1.1" - (sources."elm-doc-preview-5.0.5" // { - dependencies = [ - sources."commander-5.1.0" - sources."tmp-0.1.0" - ]; - }) + ( + sources."elm-doc-preview-5.0.5" + // { + dependencies = [ + sources."commander-5.1.0" + sources."tmp-0.1.0" + ]; + } + ) sources."elm-hot-1.1.6" sources."emoji-regex-9.2.2" sources."encodeurl-1.0.2" @@ -18252,30 +18926,39 @@ in sources."escape-html-1.0.3" sources."esprima-4.0.1" sources."etag-1.8.1" - (sources."express-4.21.0" // { - dependencies = [ - sources."cookie-signature-1.0.6" - sources."encodeurl-2.0.0" - sources."finalhandler-1.3.1" - sources."on-finished-2.4.1" - sources."statuses-2.0.1" - ]; - }) - (sources."express-ws-4.0.0" // { - dependencies = [ - sources."ws-5.2.4" - ]; - }) + ( + sources."express-4.21.0" + // { + dependencies = [ + sources."cookie-signature-1.0.6" + sources."encodeurl-2.0.0" + sources."finalhandler-1.3.1" + sources."on-finished-2.4.1" + sources."statuses-2.0.1" + ]; + } + ) + ( + sources."express-ws-4.0.0" + // { + dependencies = [ + sources."ws-5.2.4" + ]; + } + ) sources."extend-shallow-2.0.1" sources."fast-glob-3.3.2" sources."fastq-1.17.1" sources."fill-range-7.1.1" sources."finalhandler-1.1.2" - (sources."foreground-child-3.3.0" // { - dependencies = [ - sources."signal-exit-4.1.0" - ]; - }) + ( + sources."foreground-child-3.3.0" + // { + dependencies = [ + sources."signal-exit-4.1.0" + ]; + } + ) sources."forwarded-0.2.0" sources."fresh-0.5.2" sources."fs-extra-11.2.0" @@ -18287,11 +18970,14 @@ in sources."get-stream-4.1.0" sources."glob-7.2.3" sources."glob-parent-5.1.2" - (sources."globby-14.0.0" // { - dependencies = [ - sources."@sindresorhus/merge-streams-1.0.0" - ]; - }) + ( + sources."globby-14.0.0" + // { + dependencies = [ + sources."@sindresorhus/merge-streams-1.0.0" + ]; + } + ) sources."gopd-1.0.1" sources."got-9.6.0" sources."graceful-fs-4.2.11" @@ -18302,23 +18988,32 @@ in sources."has-symbols-1.0.3" sources."hasown-2.0.2" sources."http-cache-semantics-4.1.1" - (sources."http-errors-2.0.0" // { - dependencies = [ - sources."statuses-2.0.1" - ]; - }) - (sources."http-proxy-agent-7.0.2" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) - (sources."https-proxy-agent-7.0.5" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) + ( + sources."http-errors-2.0.0" + // { + dependencies = [ + sources."statuses-2.0.1" + ]; + } + ) + ( + sources."http-proxy-agent-7.0.2" + // { + dependencies = [ + sources."debug-4.3.7" + sources."ms-2.1.3" + ]; + } + ) + ( + sources."https-proxy-agent-7.0.5" + // { + dependencies = [ + sources."debug-4.3.7" + sources."ms-2.1.3" + ]; + } + ) sources."hyperdyperid-1.2.0" sources."iconv-lite-0.4.24" sources."ignore-5.3.2" @@ -18329,11 +19024,14 @@ in sources."inflight-1.0.6" sources."inherits-2.0.4" sources."ini-1.3.8" - (sources."ip-address-9.0.5" // { - dependencies = [ - sources."sprintf-js-1.1.3" - ]; - }) + ( + sources."ip-address-9.0.5" + // { + dependencies = [ + sources."sprintf-js-1.1.3" + ]; + } + ) sources."ipaddr.js-1.9.1" sources."is-binary-path-2.1.0" sources."is-docker-2.2.1" @@ -18357,27 +19055,36 @@ in sources."kind-of-6.0.3" sources."kleur-4.1.5" sources."latest-version-5.1.0" - (sources."less-4.2.0" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) + ( + sources."less-4.2.0" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) sources."lightningcss-1.27.0" sources."lodash-4.17.21" sources."lowercase-keys-1.0.1" sources."lru-cache-10.4.3" - (sources."make-dir-2.1.0" // { - dependencies = [ - sources."semver-5.7.2" - ]; - }) + ( + sources."make-dir-2.1.0" + // { + dependencies = [ + sources."semver-5.7.2" + ]; + } + ) sources."make-fetch-happen-13.0.1" sources."media-typer-0.3.0" - (sources."memfs-4.12.0" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) + ( + sources."memfs-4.12.0" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) sources."merge-descriptors-1.0.3" sources."merge2-1.4.1" sources."methods-1.1.2" @@ -18392,34 +19099,49 @@ in sources."minipass-7.1.2" sources."minipass-collect-2.0.1" sources."minipass-fetch-3.0.5" - (sources."minipass-flush-1.0.5" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) - (sources."minipass-pipeline-1.2.4" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) - (sources."minipass-sized-1.0.3" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) - (sources."minizlib-2.1.2" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) + ( + sources."minipass-flush-1.0.5" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) + ( + sources."minipass-pipeline-1.2.4" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) + ( + sources."minipass-sized-1.0.3" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) + ( + sources."minizlib-2.1.2" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) sources."mkdirp-0.5.6" sources."ms-2.0.0" sources."nanoid-3.3.7" - (sources."needle-3.3.1" // { - dependencies = [ - sources."iconv-lite-0.6.3" - ]; - }) + ( + sources."needle-3.3.1" + // { + dependencies = [ + sources."iconv-lite-0.6.3" + ]; + } + ) sources."negotiator-0.6.3" sources."node-gyp-build-4.8.2" sources."normalize-path-3.0.0" @@ -18468,47 +19190,65 @@ in sources."rimraf-2.7.1" sources."rollup-4.22.5" sources."run-parallel-1.2.0" - (sources."rxjs-7.8.1" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) + ( + sources."rxjs-7.8.1" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) sources."safe-buffer-5.2.1" sources."safer-buffer-2.1.2" - (sources."sass-1.79.3" // { - dependencies = [ - sources."chokidar-4.0.1" - sources."readdirp-4.0.1" - ]; - }) - (sources."sass-embedded-1.79.3" // { - dependencies = [ - sources."supports-color-8.1.1" - ]; - }) + ( + sources."sass-1.79.3" + // { + dependencies = [ + sources."chokidar-4.0.1" + sources."readdirp-4.0.1" + ]; + } + ) + ( + sources."sass-embedded-1.79.3" + // { + dependencies = [ + sources."supports-color-8.1.1" + ]; + } + ) sources."sax-1.4.1" sources."section-matter-1.0.0" sources."semver-6.3.1" - (sources."send-0.19.0" // { - dependencies = [ - sources."ms-2.1.3" - sources."on-finished-2.4.1" - sources."statuses-2.0.1" - ]; - }) - (sources."serve-index-1.9.1" // { - dependencies = [ - sources."depd-1.1.2" - sources."http-errors-1.6.3" - sources."inherits-2.0.3" - sources."setprototypeof-1.1.0" - ]; - }) - (sources."serve-static-1.16.2" // { - dependencies = [ - sources."encodeurl-2.0.0" - ]; - }) + ( + sources."send-0.19.0" + // { + dependencies = [ + sources."ms-2.1.3" + sources."on-finished-2.4.1" + sources."statuses-2.0.1" + ]; + } + ) + ( + sources."serve-index-1.9.1" + // { + dependencies = [ + sources."depd-1.1.2" + sources."http-errors-1.6.3" + sources."inherits-2.0.3" + sources."setprototypeof-1.1.0" + ]; + } + ) + ( + sources."serve-static-1.16.2" + // { + dependencies = [ + sources."encodeurl-2.0.0" + ]; + } + ) sources."set-function-length-1.2.2" sources."setprototypeof-1.2.0" sources."shebang-command-2.0.0" @@ -18518,12 +19258,15 @@ in sources."slash-5.1.0" sources."smart-buffer-4.2.0" sources."socks-2.8.3" - (sources."socks-proxy-agent-8.0.4" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) + ( + sources."socks-proxy-agent-8.0.4" + // { + dependencies = [ + sources."debug-4.3.7" + sources."ms-2.1.3" + ]; + } + ) sources."source-map-0.6.1" sources."source-map-js-1.2.1" sources."source-map-support-0.5.21" @@ -18532,61 +19275,85 @@ in sources."statuses-1.5.0" sources."streamsearch-1.1.0" sources."string-width-5.1.2" - (sources."string-width-cjs-4.2.3" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."strip-ansi-6.0.1" - ]; - }) - (sources."strip-ansi-7.1.0" // { - dependencies = [ - sources."ansi-regex-6.1.0" - ]; - }) + ( + sources."string-width-cjs-4.2.3" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."strip-ansi-6.0.1" + ]; + } + ) + ( + sources."strip-ansi-7.1.0" + // { + dependencies = [ + sources."ansi-regex-6.1.0" + ]; + } + ) sources."strip-ansi-cjs-6.0.1" sources."strip-bom-string-1.0.0" sources."strip-json-comments-2.0.1" - (sources."stylus-0.63.0" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - sources."sax-1.3.0" - sources."source-map-0.7.4" - ]; - }) + ( + sources."stylus-0.63.0" + // { + dependencies = [ + sources."debug-4.3.7" + sources."ms-2.1.3" + sources."sax-1.3.0" + sources."source-map-0.7.4" + ]; + } + ) sources."sudo-prompt-8.2.5" sources."sugarss-4.0.1" sources."supports-color-7.2.0" - (sources."tar-6.2.1" // { - dependencies = [ - (sources."fs-minipass-2.1.0" // { - dependencies = [ - sources."minipass-3.3.6" - ]; - }) - sources."minipass-5.0.0" - sources."mkdirp-1.0.4" - ]; - }) - (sources."terser-5.34.0" // { - dependencies = [ - sources."commander-2.20.3" - ]; - }) - (sources."thingies-1.21.0" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) + ( + sources."tar-6.2.1" + // { + dependencies = [ + ( + sources."fs-minipass-2.1.0" + // { + dependencies = [ + sources."minipass-3.3.6" + ]; + } + ) + sources."minipass-5.0.0" + sources."mkdirp-1.0.4" + ]; + } + ) + ( + sources."terser-5.34.0" + // { + dependencies = [ + sources."commander-2.20.3" + ]; + } + ) + ( + sources."thingies-1.21.0" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) sources."tmp-0.0.33" sources."to-readable-stream-1.0.0" sources."to-regex-range-5.0.1" sources."toidentifier-1.0.1" - (sources."tree-dump-1.0.2" // { - dependencies = [ - sources."tslib-2.7.0" - ]; - }) + ( + sources."tree-dump-1.0.2" + // { + dependencies = [ + sources."tslib-2.7.0" + ]; + } + ) sources."tslib-1.14.1" sources."type-fest-0.21.3" sources."type-is-1.6.18" @@ -18601,29 +19368,41 @@ in sources."utils-merge-1.0.1" sources."varint-6.0.0" sources."vary-1.1.2" - (sources."vite-5.4.8" // { - dependencies = [ - sources."@types/node-22.7.3" - sources."esbuild-0.21.5" - ]; - }) - (sources."which-4.0.0" // { - dependencies = [ - sources."isexe-3.1.1" - ]; - }) - (sources."wrap-ansi-8.1.0" // { - dependencies = [ - sources."ansi-styles-6.2.1" - ]; - }) - (sources."wrap-ansi-cjs-7.0.0" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - sources."strip-ansi-6.0.1" - ]; - }) + ( + sources."vite-5.4.8" + // { + dependencies = [ + sources."@types/node-22.7.3" + sources."esbuild-0.21.5" + ]; + } + ) + ( + sources."which-4.0.0" + // { + dependencies = [ + sources."isexe-3.1.1" + ]; + } + ) + ( + sources."wrap-ansi-8.1.0" + // { + dependencies = [ + sources."ansi-styles-6.2.1" + ]; + } + ) + ( + sources."wrap-ansi-cjs-7.0.0" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + ]; + } + ) sources."wrappy-1.0.2" sources."ws-7.5.10" sources."yallist-4.0.0" @@ -18647,13 +19426,16 @@ in sha512 = "so+G1hvCV85A63sQQzEhCNFNYyQVWDexXrz0TNEYg3/IIGHzN1bcRN+W4KJSvvFcmfEImzMSJ9AN20bvemU+4Q=="; }; dependencies = [ - (sources."@isaacs/cliui-8.0.2" // { - dependencies = [ - sources."ansi-styles-6.2.1" - sources."strip-ansi-7.1.0" - sources."wrap-ansi-8.1.0" - ]; - }) + ( + sources."@isaacs/cliui-8.0.2" + // { + dependencies = [ + sources."ansi-styles-6.2.1" + sources."strip-ansi-7.1.0" + sources."wrap-ansi-8.1.0" + ]; + } + ) sources."@nodelib/fs.scandir-2.1.5" sources."@nodelib/fs.stat-2.0.5" sources."@nodelib/fs.walk-1.2.8" @@ -18689,11 +19471,14 @@ in sources."concat-map-0.0.1" sources."cross-spawn-7.0.3" sources."debug-4.3.7" - (sources."decompress-response-6.0.0" // { - dependencies = [ - sources."mimic-response-3.1.0" - ]; - }) + ( + sources."decompress-response-6.0.0" + // { + dependencies = [ + sources."mimic-response-3.1.0" + ]; + } + ) sources."defaults-1.0.4" sources."defer-to-connect-2.0.1" sources."dir-glob-3.0.1" @@ -18710,12 +19495,15 @@ in sources."foreground-child-3.3.0" sources."fs-extra-9.1.0" sources."get-stream-5.2.0" - (sources."glob-10.4.5" // { - dependencies = [ - sources."brace-expansion-2.0.1" - sources."minimatch-9.0.5" - ]; - }) + ( + sources."glob-10.4.5" + // { + dependencies = [ + sources."brace-expansion-2.0.1" + sources."minimatch-9.0.5" + ]; + } + ) sources."glob-parent-5.1.2" sources."globby-13.2.2" sources."got-11.8.6" @@ -18774,11 +19562,14 @@ in sources."readdirp-3.6.0" sources."resolve-alpn-1.2.1" sources."responselike-2.0.1" - (sources."restore-cursor-3.1.0" // { - dependencies = [ - sources."signal-exit-3.0.7" - ]; - }) + ( + sources."restore-cursor-3.1.0" + // { + dependencies = [ + sources."signal-exit-3.0.7" + ]; + } + ) sources."reusify-1.0.4" sources."rimraf-5.0.10" sources."run-parallel-1.2.0" @@ -18788,27 +19579,39 @@ in sources."signal-exit-4.1.0" sources."sisteransi-1.0.5" sources."slash-4.0.0" - (sources."string-width-5.1.2" // { - dependencies = [ - sources."strip-ansi-7.1.0" - ]; - }) - (sources."string-width-cjs-4.2.3" // { - dependencies = [ - sources."emoji-regex-8.0.0" - ]; - }) + ( + sources."string-width-5.1.2" + // { + dependencies = [ + sources."strip-ansi-7.1.0" + ]; + } + ) + ( + sources."string-width-cjs-4.2.3" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + ]; + } + ) sources."string_decoder-1.3.0" - (sources."strip-ansi-6.0.1" // { - dependencies = [ - sources."ansi-regex-5.0.1" - ]; - }) - (sources."strip-ansi-cjs-6.0.1" // { - dependencies = [ - sources."ansi-regex-5.0.1" - ]; - }) + ( + sources."strip-ansi-6.0.1" + // { + dependencies = [ + sources."ansi-regex-5.0.1" + ]; + } + ) + ( + sources."strip-ansi-cjs-6.0.1" + // { + dependencies = [ + sources."ansi-regex-5.0.1" + ]; + } + ) sources."supports-color-7.2.0" sources."supports-hyperlinks-2.3.0" sources."terminal-link-2.1.1" @@ -18819,18 +19622,24 @@ in sources."util-deprecate-1.0.2" sources."wcwidth-1.0.1" sources."which-2.0.2" - (sources."wrap-ansi-7.0.0" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - ]; - }) - (sources."wrap-ansi-cjs-7.0.0" // { - dependencies = [ - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - ]; - }) + ( + sources."wrap-ansi-7.0.0" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + ]; + } + ) + ( + sources."wrap-ansi-cjs-7.0.0" + // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + ]; + } + ) sources."wrappy-1.0.2" ]; buildInputs = globalBuildInputs; diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index 4d5d69e495f7a..6a3e7738fc1d9 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, python3, nodejs, closurecompiler -, jre, binaryen -, llvmPackages -, symlinkJoin, makeWrapper, substituteAll -, buildNpmPackage -, emscripten +{ + lib, + stdenv, + fetchFromGitHub, + python3, + nodejs, + closurecompiler, + jre, + binaryen, + llvmPackages, + symlinkJoin, + makeWrapper, + substituteAll, + buildNpmPackage, + emscripten, }: stdenv.mkDerivation rec { @@ -12,7 +21,12 @@ stdenv.mkDerivation rec { llvmEnv = symlinkJoin { name = "emscripten-llvm-${version}"; - paths = with llvmPackages; [ clang-unwrapped (lib.getLib clang-unwrapped) lld llvm ]; + paths = with llvmPackages; [ + clang-unwrapped + (lib.getLib clang-unwrapped) + lld + llvm + ]; }; nodeModules = buildNpmPackage { @@ -37,7 +51,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ nodejs python3 ]; + buildInputs = [ + nodejs + python3 + ]; patches = [ (substituteAll { @@ -138,7 +155,12 @@ stdenv.mkDerivation rec { homepage = "https://github.com/emscripten-core/emscripten"; description = "LLVM-to-JavaScript Compiler"; platforms = platforms.all; - maintainers = with maintainers; [ qknight matthewbauer raitobezarius willcohen ]; + maintainers = with maintainers; [ + qknight + matthewbauer + raitobezarius + willcohen + ]; license = licenses.ncsa; }; } diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix index 71e2146a70047..d7d83405a5fe0 100644 --- a/pkgs/development/compilers/fasm/bin.nix +++ b/pkgs/development/compilers/fasm/bin.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, fetchurl }: +{ + stdenvNoCC, + lib, + fetchurl, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "fasm-bin"; @@ -23,6 +27,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = lib.licenses.bsd2; mainProgram = "fasm"; maintainers = with lib.maintainers; [ orivej ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; }) diff --git a/pkgs/development/compilers/fasm/default.nix b/pkgs/development/compilers/fasm/default.nix index f17d18bf92a62..13dde14596575 100644 --- a/pkgs/development/compilers/fasm/default.nix +++ b/pkgs/development/compilers/fasm/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fasm-bin, isx86_64 }: +{ + stdenv, + lib, + fasm-bin, + isx86_64, +}: stdenv.mkDerivation { inherit (fasm-bin) version src meta; @@ -15,7 +20,10 @@ stdenv.mkDerivation { done ''; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; installPhase = '' install -Dt $out/bin fasm tools/libc/fasm-* diff --git a/pkgs/development/compilers/fbc/default.nix b/pkgs/development/compilers/fbc/default.nix index 7f9c519703923..0b8677854a50e 100644 --- a/pkgs/development/compilers/fbc/default.nix +++ b/pkgs/development/compilers/fbc/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, buildPackages -, lib -, fetchzip -, gpm -, libffi -, libGL -, libX11 -, libXext -, libXpm -, libXrandr -, ncurses +{ + stdenv, + buildPackages, + lib, + fetchzip, + gpm, + libffi, + libGL, + libX11, + libXext, + libXpm, + libXrandr, + ncurses, }: stdenv.mkDerivation rec { @@ -34,17 +35,19 @@ stdenv.mkDerivation rec { buildPackages.libffi ]; - buildInputs = [ - ncurses - libffi - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - gpm - libGL - libX11 - libXext - libXpm - libXrandr - ]; + buildInputs = + [ + ncurses + libffi + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + gpm + libGL + libX11 + libXext + libXpm + libXrandr + ]; enableParallelBuilding = true; @@ -72,15 +75,20 @@ stdenv.mkDerivation rec { BUILD_PREFIX=${buildPackages.stdenv.cc.targetPrefix} LD=${buildPackages.stdenv.cc.targetPrefix}ld make rtlib -j$buildJobs \ "FBC=$PWD/bin/fbc${stdenv.buildPlatform.extensions.executable} -i $PWD/inc" \ - ${if (stdenv.buildPlatform == stdenv.hostPlatform) then - "BUILD_PREFIX=${buildPackages.stdenv.cc.targetPrefix} LD=${buildPackages.stdenv.cc.targetPrefix}ld" - else - "TARGET=${stdenv.hostPlatform.config}" + ${ + if (stdenv.buildPlatform == stdenv.hostPlatform) then + "BUILD_PREFIX=${buildPackages.stdenv.cc.targetPrefix} LD=${buildPackages.stdenv.cc.targetPrefix}ld" + else + "TARGET=${stdenv.hostPlatform.config}" } echo Install patched build compiler and host rtlib to local directory make install-compiler prefix=$PWD/patched-fbc - make install-rtlib prefix=$PWD/patched-fbc ${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) "TARGET=${stdenv.hostPlatform.config}"} + make install-rtlib prefix=$PWD/patched-fbc ${ + lib.optionalString ( + stdenv.buildPlatform != stdenv.hostPlatform + ) "TARGET=${stdenv.hostPlatform.config}" + } make clean echo Compile patched host everything with previous patched stage diff --git a/pkgs/development/compilers/fbc/mac-bin.nix b/pkgs/development/compilers/fbc/mac-bin.nix index 937283721817e..66f53c7bac139 100644 --- a/pkgs/development/compilers/fbc/mac-bin.nix +++ b/pkgs/development/compilers/fbc/mac-bin.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, lib -, fetchzip +{ + stdenvNoCC, + lib, + fetchzip, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index e42654c36c517..37d6f9509b49b 100644 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -3,16 +3,17 @@ # # aarch64-darwin as a host is not yet supported. # https://github.com/flutter/flutter/issues/60118 -{ lib -, runCommand -, xorg -, cacert -, unzip +{ + lib, + runCommand, + xorg, + cacert, + unzip, -, flutterPlatform -, systemPlatform -, flutter -, hash + flutterPlatform, + systemPlatform, + flutter, + hash, }: let @@ -41,42 +42,61 @@ let }; in runCommand "flutter-artifacts-${flutterPlatform}-${systemPlatform}" -{ - nativeBuildInputs = [ xorg.lndir flutter' unzip ]; + { + nativeBuildInputs = [ + xorg.lndir + flutter' + unzip + ]; - NIX_FLUTTER_TOOLS_VM_OPTIONS = "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"; - NIX_FLUTTER_OPERATING_SYSTEM = { - "x86_64-linux" = "linux"; - "aarch64-linux" = "linux"; - "x86_64-darwin" = "macos"; - "aarch64-darwin" = "macos"; - }.${systemPlatform}; + NIX_FLUTTER_TOOLS_VM_OPTIONS = "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"; + NIX_FLUTTER_OPERATING_SYSTEM = + { + "x86_64-linux" = "linux"; + "aarch64-linux" = "linux"; + "x86_64-darwin" = "macos"; + "aarch64-darwin" = "macos"; + } + .${systemPlatform}; - outputHash = hash; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; + outputHash = hash; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; - passthru = { - inherit flutterPlatform; - }; -} ('' - export FLUTTER_ROOT="$NIX_BUILD_TOP" - lndir -silent '${flutter'}' "$FLUTTER_ROOT" - rm -rf "$FLUTTER_ROOT/bin/cache" - mkdir "$FLUTTER_ROOT/bin/cache" -'' + lib.optionalString (lib.versionAtLeast flutter'.version "3.26") '' - mkdir "$FLUTTER_ROOT/bin/cache/dart-sdk" - lndir -silent '${flutter'}/bin/cache/dart-sdk' "$FLUTTER_ROOT/bin/cache/dart-sdk" -'' + '' + passthru = { + inherit flutterPlatform; + }; + } + ( + '' + export FLUTTER_ROOT="$NIX_BUILD_TOP" + lndir -silent '${flutter'}' "$FLUTTER_ROOT" + rm -rf "$FLUTTER_ROOT/bin/cache" + mkdir "$FLUTTER_ROOT/bin/cache" + '' + + lib.optionalString (lib.versionAtLeast flutter'.version "3.26") '' + mkdir "$FLUTTER_ROOT/bin/cache/dart-sdk" + lndir -silent '${flutter'}/bin/cache/dart-sdk' "$FLUTTER_ROOT/bin/cache/dart-sdk" + '' + + '' - HOME="$(mktemp -d)" flutter precache ${lib.optionalString (flutter ? engine && flutter.engine.meta.available) "--local-engine ${flutter.engine.outName}"} \ - -v '--${flutterPlatform}' ${builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove flutterPlatform flutterPlatforms))} + HOME="$(mktemp -d)" flutter precache ${ + lib.optionalString ( + flutter ? engine && flutter.engine.meta.available + ) "--local-engine ${flutter.engine.outName}" + } \ + -v '--${flutterPlatform}' ${ + builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove flutterPlatform flutterPlatforms)) + } - rm -rf "$FLUTTER_ROOT/bin/cache/lockfile" -'' + lib.optionalString (lib.versionAtLeast flutter'.version "3.26") '' - rm -rf "$FLUTTER_ROOT/bin/cache/dart-sdk" -'' + '' - find "$FLUTTER_ROOT" -type l -lname '${flutter'}/*' -delete + rm -rf "$FLUTTER_ROOT/bin/cache/lockfile" + '' + + lib.optionalString (lib.versionAtLeast flutter'.version "3.26") '' + rm -rf "$FLUTTER_ROOT/bin/cache/dart-sdk" + '' + + '' + find "$FLUTTER_ROOT" -type l -lname '${flutter'}/*' -delete - cp -r bin/cache "$out" -'') + cp -r bin/cache "$out" + '' + ) diff --git a/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix b/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix index 83257d4e34d51..0a79a707bbaa3 100644 --- a/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix +++ b/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix @@ -1,6 +1,7 @@ -{}: -{ buildInputs ? [ ] -, ... +{ }: +{ + buildInputs ? [ ], + ... }: { postPatch = '' diff --git a/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix b/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix index bc6114415b909..a06188f98e3ae 100644 --- a/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix +++ b/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix @@ -1,8 +1,10 @@ -{ gtk3 +{ + gtk3, }: -{ buildInputs ? [ ] -, ... +{ + buildInputs ? [ ], + ... }: { diff --git a/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix index 23bd8485ccffa..a98fa1ff0487d 100644 --- a/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, callPackage -, autoPatchelfHook -, src +{ + lib, + stdenv, + callPackage, + autoPatchelfHook, + src, }: (stdenv.mkDerivation { @@ -20,8 +21,10 @@ runHook postInstall ''; -}).overrideAttrs ( - if builtins.pathExists (./overrides + "/${src.flutterPlatform}.nix") - then callPackage (./overrides + "/${src.flutterPlatform}.nix") { } - else ({ ... }: { }) -) +}).overrideAttrs + ( + if builtins.pathExists (./overrides + "/${src.flutterPlatform}.nix") then + callPackage (./overrides + "/${src.flutterPlatform}.nix") { } + else + ({ ... }: { }) + ) diff --git a/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix b/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix index ae89d3720b338..e241afb208093 100644 --- a/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix +++ b/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix @@ -1,209 +1,242 @@ -{ lib -, callPackage -, runCommand -, makeWrapper -, wrapGAppsHook3 -, buildDartApplication -, cacert -, glib -, flutter -, pkg-config -, jq -, yq +{ + lib, + callPackage, + runCommand, + makeWrapper, + wrapGAppsHook3, + buildDartApplication, + cacert, + glib, + flutter, + pkg-config, + jq, + yq, }: # absolutely no mac support for now -{ pubGetScript ? null -, flutterBuildFlags ? [ ] -, targetFlutterPlatform ? "linux" -, extraWrapProgramArgs ? "" -, flutterMode ? null -, ... +{ + pubGetScript ? null, + flutterBuildFlags ? [ ], + targetFlutterPlatform ? "linux", + extraWrapProgramArgs ? "", + flutterMode ? null, + ... }@args: let hasEngine = flutter ? engine && flutter.engine != null && flutter.engine.meta.available; flutterMode = args.flutterMode or (if hasEngine then flutter.engine.runtimeMode else "release"); - flutterFlags = lib.optional hasEngine "--local-engine host_${flutterMode}${lib.optionalString (!flutter.engine.isOptimized) "_unopt"}"; - - flutterBuildFlags = [ - "--${flutterMode}" - ] ++ (args.flutterBuildFlags or []) ++ flutterFlags; - - builderArgs = rec { - universal = args // { - inherit flutterMode flutterFlags flutterBuildFlags; - - sdkSetupScript = '' - # Pub needs SSL certificates. Dart normally looks in a hardcoded path. - # https://github.com/dart-lang/sdk/blob/3.1.0/runtime/bin/security_context_linux.cc#L48 - # - # Dart does not respect SSL_CERT_FILE... - # https://github.com/dart-lang/sdk/issues/48506 - # ...and Flutter does not support --root-certs-file, so the path cannot be manually set. - # https://github.com/flutter/flutter/issues/56607 - # https://github.com/flutter/flutter/issues/113594 - # - # libredirect is of no use either, as Flutter does not pass any - # environment variables (including LD_PRELOAD) to the Pub process. - # - # Instead, Flutter is patched to allow the path to the Dart binary used for - # Pub commands to be overriden. - export NIX_FLUTTER_PUB_DART="${runCommand "dart-with-certs" { nativeBuildInputs = [ makeWrapper ]; } '' - mkdir -p "$out/bin" - makeWrapper ${flutter.dart}/bin/dart "$out/bin/dart" \ - --add-flags "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt" - ''}/bin/dart" - - export HOME="$NIX_BUILD_TOP" - flutter config $flutterFlags --no-analytics &>/dev/null # mute first-run - flutter config $flutterFlags --enable-linux-desktop >/dev/null - ''; - - pubGetScript = args.pubGetScript or "flutter${lib.optionalString hasEngine " --local-engine $flutterMode"} pub get"; - - sdkSourceBuilders = { - # https://github.com/dart-lang/pub/blob/68dc2f547d0a264955c1fa551fa0a0e158046494/lib/src/sdk/flutter.dart#L81 - "flutter" = name: runCommand "flutter-sdk-${name}" { passthru.packageRoot = "."; } '' - for path in '${flutter}/packages/${name}' '${flutter}/bin/cache/pkg/${name}'; do - if [ -d "$path" ]; then - ln -s "$path" "$out" - break - fi - done - - if [ ! -e "$out" ]; then - echo 1>&2 'The Flutter SDK does not contain the requested package: ${name}!' - exit 1 - fi + flutterFlags = lib.optional hasEngine "--local-engine host_${flutterMode}${ + lib.optionalString (!flutter.engine.isOptimized) "_unopt" + }"; + + flutterBuildFlags = + [ + "--${flutterMode}" + ] + ++ (args.flutterBuildFlags or [ ]) + ++ flutterFlags; + + builderArgs = + rec { + universal = args // { + inherit flutterMode flutterFlags flutterBuildFlags; + + sdkSetupScript = '' + # Pub needs SSL certificates. Dart normally looks in a hardcoded path. + # https://github.com/dart-lang/sdk/blob/3.1.0/runtime/bin/security_context_linux.cc#L48 + # + # Dart does not respect SSL_CERT_FILE... + # https://github.com/dart-lang/sdk/issues/48506 + # ...and Flutter does not support --root-certs-file, so the path cannot be manually set. + # https://github.com/flutter/flutter/issues/56607 + # https://github.com/flutter/flutter/issues/113594 + # + # libredirect is of no use either, as Flutter does not pass any + # environment variables (including LD_PRELOAD) to the Pub process. + # + # Instead, Flutter is patched to allow the path to the Dart binary used for + # Pub commands to be overriden. + export NIX_FLUTTER_PUB_DART="${ + runCommand "dart-with-certs" { nativeBuildInputs = [ makeWrapper ]; } '' + mkdir -p "$out/bin" + makeWrapper ${flutter.dart}/bin/dart "$out/bin/dart" \ + --add-flags "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt" + '' + }/bin/dart" + + export HOME="$NIX_BUILD_TOP" + flutter config $flutterFlags --no-analytics &>/dev/null # mute first-run + flutter config $flutterFlags --enable-linux-desktop >/dev/null ''; - # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 - "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' - for path in '${flutter.dart}/pkg/${name}'; do - if [ -d "$path" ]; then - ln -s "$path" "$out" - break - fi - done - - if [ ! -e "$out" ]; then - echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' - exit 1 + + pubGetScript = + args.pubGetScript + or "flutter${lib.optionalString hasEngine " --local-engine $flutterMode"} pub get"; + + sdkSourceBuilders = { + # https://github.com/dart-lang/pub/blob/68dc2f547d0a264955c1fa551fa0a0e158046494/lib/src/sdk/flutter.dart#L81 + "flutter" = + name: + runCommand "flutter-sdk-${name}" { passthru.packageRoot = "."; } '' + for path in '${flutter}/packages/${name}' '${flutter}/bin/cache/pkg/${name}'; do + if [ -d "$path" ]; then + ln -s "$path" "$out" + break + fi + done + + if [ ! -e "$out" ]; then + echo 1>&2 'The Flutter SDK does not contain the requested package: ${name}!' + exit 1 + fi + ''; + # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 + "dart" = + name: + runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' + for path in '${flutter.dart}/pkg/${name}'; do + if [ -d "$path" ]; then + ln -s "$path" "$out" + break + fi + done + + if [ ! -e "$out" ]; then + echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' + exit 1 + fi + ''; + }; + + extraPackageConfigSetup = '' + # https://github.com/flutter/flutter/blob/3.13.8/packages/flutter_tools/lib/src/dart/pub.dart#L755 + if [ "$('${yq}/bin/yq' '.flutter.generate // false' pubspec.yaml)" = "true" ]; then + export TEMP_PACKAGES=$(mktemp) + '${jq}/bin/jq' '.packages |= . + [{ + name: "flutter_gen", + rootUri: "flutter_gen", + languageVersion: "2.12", + }]' "$out" > "$TEMP_PACKAGES" + cp "$TEMP_PACKAGES" "$out" + rm "$TEMP_PACKAGES" + unset TEMP_PACKAGES fi ''; }; - extraPackageConfigSetup = '' - # https://github.com/flutter/flutter/blob/3.13.8/packages/flutter_tools/lib/src/dart/pub.dart#L755 - if [ "$('${yq}/bin/yq' '.flutter.generate // false' pubspec.yaml)" = "true" ]; then - export TEMP_PACKAGES=$(mktemp) - '${jq}/bin/jq' '.packages |= . + [{ - name: "flutter_gen", - rootUri: "flutter_gen", - languageVersion: "2.12", - }]' "$out" > "$TEMP_PACKAGES" - cp "$TEMP_PACKAGES" "$out" - rm "$TEMP_PACKAGES" - unset TEMP_PACKAGES - fi - ''; - }; - - linux = universal // { - outputs = universal.outputs or [ ] ++ [ "debug" ]; + linux = universal // { + outputs = universal.outputs or [ ] ++ [ "debug" ]; - nativeBuildInputs = (universal.nativeBuildInputs or [ ]) ++ [ - wrapGAppsHook3 + nativeBuildInputs = (universal.nativeBuildInputs or [ ]) ++ [ + wrapGAppsHook3 - # Flutter requires pkg-config for Linux desktop support, and many plugins - # attempt to use it. - # - # It is available to the `flutter` tool through its wrapper, but it must be - # added here as well so the setup hook adds plugin dependencies to the - # pkg-config search paths. - pkg-config - ]; + # Flutter requires pkg-config for Linux desktop support, and many plugins + # attempt to use it. + # + # It is available to the `flutter` tool through its wrapper, but it must be + # added here as well so the setup hook adds plugin dependencies to the + # pkg-config search paths. + pkg-config + ]; - buildInputs = (universal.buildInputs or [ ]) ++ [ glib ]; + buildInputs = (universal.buildInputs or [ ]) ++ [ glib ]; - dontDartBuild = true; - buildPhase = universal.buildPhase or '' - runHook preBuild + dontDartBuild = true; + buildPhase = + universal.buildPhase or '' + runHook preBuild - mkdir -p build/flutter_assets/fonts + mkdir -p build/flutter_assets/fonts - flutter build linux -v --split-debug-info="$debug" $flutterBuildFlags + flutter build linux -v --split-debug-info="$debug" $flutterBuildFlags - runHook postBuild - ''; + runHook postBuild + ''; - dontDartInstall = true; - installPhase = universal.installPhase or '' - runHook preInstall + dontDartInstall = true; + installPhase = + universal.installPhase or '' + runHook preInstall - built=build/linux/*/$flutterMode/bundle + built=build/linux/*/$flutterMode/bundle - mkdir -p $out/bin - mkdir -p $out/app - mv $built $out/app/$pname + mkdir -p $out/bin + mkdir -p $out/app + mv $built $out/app/$pname - for f in $(find $out/app/$pname -iname "*.desktop" -type f); do - install -D $f $out/share/applications/$(basename $f) - done + for f in $(find $out/app/$pname -iname "*.desktop" -type f); do + install -D $f $out/share/applications/$(basename $f) + done - for f in $(find $out/app/$pname -maxdepth 1 -type f); do - ln -s $f $out/bin/$(basename $f) - done + for f in $(find $out/app/$pname -maxdepth 1 -type f); do + ln -s $f $out/bin/$(basename $f) + done - # make *.so executable - find $out/app/$pname -iname "*.so" -type f -exec chmod +x {} + + # make *.so executable + find $out/app/$pname -iname "*.so" -type f -exec chmod +x {} + - # remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral - for f in $(find $out/app/$pname -executable -type f); do - if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also - echo "strip RPath of $f" - newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g") - patchelf --set-rpath "$newrp" "$f" - fi - done + # remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral + for f in $(find $out/app/$pname -executable -type f); do + if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also + echo "strip RPath of $f" + newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g") + patchelf --set-rpath "$newrp" "$f" + fi + done - runHook postInstall - ''; + runHook postInstall + ''; - dontWrapGApps = true; - extraWrapProgramArgs = '' - ''${gappsWrapperArgs[@]} \ - ${extraWrapProgramArgs} - ''; - }; + dontWrapGApps = true; + extraWrapProgramArgs = '' + ''${gappsWrapperArgs[@]} \ + ${extraWrapProgramArgs} + ''; + }; - web = universal // { - dontDartBuild = true; - buildPhase = universal.buildPhase or '' - runHook preBuild + web = universal // { + dontDartBuild = true; + buildPhase = + universal.buildPhase or '' + runHook preBuild - mkdir -p build/flutter_assets/fonts + mkdir -p build/flutter_assets/fonts - flutter build web -v $flutterBuildFlags + flutter build web -v $flutterBuildFlags - runHook postBuild - ''; + runHook postBuild + ''; - dontDartInstall = true; - installPhase = universal.installPhase or '' - runHook preInstall + dontDartInstall = true; + installPhase = + universal.installPhase or '' + runHook preInstall - cp -r build/web "$out" + cp -r build/web "$out" - runHook postInstall - ''; - }; - }.${targetFlutterPlatform} or (throw "Unsupported Flutter host platform: ${targetFlutterPlatform}"); + runHook postInstall + ''; + }; + } + .${targetFlutterPlatform} or (throw "Unsupported Flutter host platform: ${targetFlutterPlatform}"); - minimalFlutter = flutter.override { supportedTargetFlutterPlatforms = [ "universal" targetFlutterPlatform ]; }; + minimalFlutter = flutter.override { + supportedTargetFlutterPlatforms = [ + "universal" + targetFlutterPlatform + ]; + }; buildAppWith = flutter: buildDartApplication.override { dart = flutter; }; in -buildAppWith minimalFlutter (builderArgs // { passthru = builderArgs.passthru or { } // { multiShell = buildAppWith flutter builderArgs; }; }) +buildAppWith minimalFlutter ( + builderArgs + // { + passthru = builderArgs.passthru or { } // { + multiShell = buildAppWith flutter builderArgs; + }; + } +) diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 0a9d0feccd818..dd055799863f3 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,28 +1,52 @@ -{ useNixpkgsEngine ? false, callPackage, fetchzip, fetchFromGitHub, dart, lib, stdenv }: +{ + useNixpkgsEngine ? false, + callPackage, + fetchzip, + fetchFromGitHub, + dart, + lib, + stdenv, +}: let mkCustomFlutter = args: callPackage ./flutter.nix args; wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; - getPatches = dir: - let files = builtins.attrNames (builtins.readDir dir); - in if (builtins.pathExists dir) then map (f: dir + ("/" + f)) files else [ ]; + getPatches = + dir: + let + files = builtins.attrNames (builtins.readDir dir); + in + if (builtins.pathExists dir) then map (f: dir + ("/" + f)) files else [ ]; mkFlutter = - { version - , engineVersion - , engineSwiftShaderHash - , engineSwiftShaderRev - , engineHashes - , enginePatches - , dartVersion - , flutterHash - , dartHash - , patches - , pubspecLock - , artifactHashes - , channel + { + version, + engineVersion, + engineSwiftShaderHash, + engineSwiftShaderRev, + engineHashes, + enginePatches, + dartVersion, + flutterHash, + dartHash, + patches, + pubspecLock, + artifactHashes, + channel, }: let args = { - inherit version engineVersion engineSwiftShaderRev engineSwiftShaderHash engineHashes enginePatches patches pubspecLock artifactHashes useNixpkgsEngine channel; + inherit + version + engineVersion + engineSwiftShaderRev + engineSwiftShaderHash + engineHashes + enginePatches + patches + pubspecLock + artifactHashes + useNixpkgsEngine + channel + ; dart = dart.override { version = dartVersion; @@ -53,29 +77,41 @@ let }; }; in - (mkCustomFlutter args).overrideAttrs (prev: next: { - passthru = next.passthru // rec { - inherit wrapFlutter mkCustomFlutter mkFlutter; - buildFlutterApplication = callPackage ./build-support/build-flutter-application.nix { flutter = wrapFlutter (mkCustomFlutter args); }; - }; - }); + (mkCustomFlutter args).overrideAttrs ( + prev: next: { + passthru = next.passthru // rec { + inherit wrapFlutter mkCustomFlutter mkFlutter; + buildFlutterApplication = callPackage ./build-support/build-flutter-application.nix { + flutter = wrapFlutter (mkCustomFlutter args); + }; + }; + } + ); - flutterVersions = lib.mapAttrs' - (version: _: - let - versionDir = ./versions + "/${version}"; - data = lib.importJSON (versionDir + "/data.json"); - in - lib.nameValuePair "v${version}" (wrapFlutter (mkFlutter ({ - patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); - enginePatches = (getPatches ./engine/patches) ++ (getPatches (versionDir + "/engine/patches")); - } // data)))) - (builtins.readDir ./versions); + flutterVersions = lib.mapAttrs' ( + version: _: + let + versionDir = ./versions + "/${version}"; + data = lib.importJSON (versionDir + "/data.json"); + in + lib.nameValuePair "v${version}" ( + wrapFlutter ( + mkFlutter ( + { + patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); + enginePatches = (getPatches ./engine/patches) ++ (getPatches (versionDir + "/engine/patches")); + } + // data + ) + ) + ) + ) (builtins.readDir ./versions); stableFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "stable") flutterVersions; betaFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "beta") flutterVersions; in -flutterVersions // { +flutterVersions +// { beta = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames betaFlutterVersions))}; stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames stableFlutterVersions))}; inherit wrapFlutter mkFlutter; diff --git a/pkgs/development/compilers/flutter/engine/dart.nix b/pkgs/development/compilers/flutter/engine/dart.nix index c872113f4a90e..5d7d126cae022 100644 --- a/pkgs/development/compilers/flutter/engine/dart.nix +++ b/pkgs/development/compilers/flutter/engine/dart.nix @@ -1,13 +1,15 @@ { engine, runCommand }: -runCommand "flutter-engine-${engine.version}-dart" { - version = engine.dartSdkVersion; +runCommand "flutter-engine-${engine.version}-dart" + { + version = engine.dartSdkVersion; - inherit engine; - inherit (engine) outName; + inherit engine; + inherit (engine) outName; - meta = engine.meta // { - description = "Dart SDK compiled from the Flutter Engine"; - }; -} '' - ln -s ${engine}/out/$outName/dart-sdk $out -'' + meta = engine.meta // { + description = "Dart SDK compiled from the Flutter Engine"; + }; + } + '' + ln -s ${engine}/out/$outName/dart-sdk $out + '' diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix index fa11bfe01341a..4693062cacb84 100644 --- a/pkgs/development/compilers/flutter/engine/package.nix +++ b/pkgs/development/compilers/flutter/engine/package.nix @@ -309,35 +309,41 @@ stdenv.mkDerivation (finalAttrs: { rm src/out/run_tests.log ''; - installPhase = '' - runHook preInstall - - rm -rf $out/out/$outName/{obj,exe.unstripped,lib.unstripped,zip_archives} - rm $out/out/$outName/{args.gn,build.ninja,build.ninja.d,compile_commands.json,toolchain.ninja} - find $out/out/$outName -name '*_unittests' -delete - find $out/out/$outName -name '*_benchmarks' -delete - '' + lib.optionalString (finalAttrs.doCheck) '' - rm $out/out/$outName/{display_list_rendertests,flutter_tester} - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + rm -rf $out/out/$outName/{obj,exe.unstripped,lib.unstripped,zip_archives} + rm $out/out/$outName/{args.gn,build.ninja,build.ninja.d,compile_commands.json,toolchain.ninja} + find $out/out/$outName -name '*_unittests' -delete + find $out/out/$outName -name '*_benchmarks' -delete + '' + + lib.optionalString (finalAttrs.doCheck) '' + rm $out/out/$outName/{display_list_rendertests,flutter_tester} + '' + + '' + runHook postInstall + ''; passthru = { dart = callPackage ./dart.nix { engine = finalAttrs.finalPackage; }; }; - meta = with lib; { - # Very broken on Darwin - broken = stdenv.hostPlatform.isDarwin; - description = "The Flutter engine"; - homepage = "https://flutter.dev"; - maintainers = with maintainers; [ RossComputerGuy ]; - license = licenses.bsd3; - platforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - } // lib.optionalAttrs (lib.versionOlder flutterVersion "3.22") { hydraPlatforms = [ ]; }; + meta = + with lib; + { + # Very broken on Darwin + broken = stdenv.hostPlatform.isDarwin; + description = "The Flutter engine"; + homepage = "https://flutter.dev"; + maintainers = with maintainers; [ RossComputerGuy ]; + license = licenses.bsd3; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + } + // lib.optionalAttrs (lib.versionOlder flutterVersion "3.22") { hydraPlatforms = [ ]; }; }) diff --git a/pkgs/development/compilers/flutter/flutter-tools.nix b/pkgs/development/compilers/flutter/flutter-tools.nix index 1639d54a869e7..be00380ad91b4 100644 --- a/pkgs/development/compilers/flutter/flutter-tools.nix +++ b/pkgs/development/compilers/flutter/flutter-tools.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, systemPlatform -, buildDartApplication -, runCommand -, git -, which -, dart -, version -, flutterSrc -, patches ? [ ] -, pubspecLock +{ + lib, + stdenv, + systemPlatform, + buildDartApplication, + runCommand, + git, + which, + dart, + version, + flutterSrc, + patches ? [ ], + pubspecLock, }: buildDartApplication.override { inherit dart; } rec { @@ -24,19 +25,23 @@ buildDartApplication.override { inherit dart; } rec { inherit patches; # The given patches are made for the entire SDK source tree. prePatch = ''pushd "$NIX_BUILD_TOP/source"''; - postPatch = '' - popd - '' - # Use arm64 instead of arm64e. - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace lib/src/ios/xcodeproj.dart \ - --replace-fail arm64e arm64 - ''; + postPatch = + '' + popd + '' + # Use arm64 instead of arm64e. + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace lib/src/ios/xcodeproj.dart \ + --replace-fail arm64e arm64 + ''; # When the JIT snapshot is being built, the application needs to run. # It attempts to generate configuration files, and relies on a few external # tools. - nativeBuildInputs = [ git which ]; + nativeBuildInputs = [ + git + which + ]; preConfigure = '' export HOME=. export FLUTTER_ROOT="$NIX_BUILD_TOP/source" @@ -57,19 +62,21 @@ buildDartApplication.override { inherit dart; } rec { sdkSourceBuilders = { # https://github.com/dart-lang/pub/blob/e1fbda73d1ac597474b82882ee0bf6ecea5df108/lib/src/sdk/dart.dart#L80 - "dart" = name: runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' - for path in '${dart}/pkg/${name}'; do - if [ -d "$path" ]; then - ln -s "$path" "$out" - break - fi - done + "dart" = + name: + runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' + for path in '${dart}/pkg/${name}'; do + if [ -d "$path" ]; then + ln -s "$path" "$out" + break + fi + done - if [ ! -e "$out" ]; then - echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' - exit 1 - fi - ''; + if [ ! -e "$out" ]; then + echo 1>&2 'The Dart SDK does not contain the requested package: ${name}!' + exit 1 + fi + ''; }; inherit pubspecLock; diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 69872053952d3..89151d0e19c49 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,182 +1,205 @@ -{ useNixpkgsEngine ? false -, version -, engineVersion -, engineHashes ? {} -, engineUrl ? "https://github.com/flutter/engine.git@${engineVersion}" -, enginePatches ? [] -, engineRuntimeModes ? [ "release" "debug" ] -, engineSwiftShaderHash -, engineSwiftShaderRev -, patches -, channel -, dart -, src -, pubspecLock -, artifactHashes ? null -, lib -, stdenv -, callPackage -, makeWrapper -, darwin -, git -, which -, jq -, flutterTools ? null +{ + useNixpkgsEngine ? false, + version, + engineVersion, + engineHashes ? { }, + engineUrl ? "https://github.com/flutter/engine.git@${engineVersion}", + enginePatches ? [ ], + engineRuntimeModes ? [ + "release" + "debug" + ], + engineSwiftShaderHash, + engineSwiftShaderRev, + patches, + channel, + dart, + src, + pubspecLock, + artifactHashes ? null, + lib, + stdenv, + callPackage, + makeWrapper, + darwin, + git, + which, + jq, + flutterTools ? null, }@args: let - engine = if args.useNixpkgsEngine or false then - callPackage ./engine/default.nix { - inherit (args) dart; - dartSdkVersion = args.dart.version; - flutterVersion = version; - swiftshaderRev = engineSwiftShaderRev; - swiftshaderHash = engineSwiftShaderHash; - version = engineVersion; - hashes = engineHashes; - url = engineUrl; - patches = enginePatches; - runtimeModes = engineRuntimeModes; - } else null; - - dart = if args.useNixpkgsEngine or false then - engine.dart else args.dart; - - flutterTools = args.flutterTools or (callPackage ./flutter-tools.nix { - inherit dart version; - flutterSrc = src; - inherit patches; - inherit pubspecLock; - systemPlatform = stdenv.hostPlatform.system; - }); - - unwrapped = - stdenv.mkDerivation { - name = "flutter-${version}-unwrapped"; - inherit src patches version; - - buildInputs = [ git ]; - nativeBuildInputs = [ makeWrapper jq ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; - - preConfigure = '' - if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then - echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))." - exit 1 - fi - ''; - - postPatch = '' - patchShebangs --build ./bin/ - ''; - - buildPhase = '' - # The flutter_tools package tries to run many Git commands. In most - # cases, unexpected output is handled gracefully, but commands are never - # expected to fail completely. A blank repository needs to be created. - rm -rf .git # Remove any existing Git directory - git init -b nixpkgs - GIT_AUTHOR_NAME=Nixpkgs GIT_COMMITTER_NAME=Nixpkgs \ - GIT_AUTHOR_EMAIL= GIT_COMMITTER_EMAIL= \ - GIT_AUTHOR_DATE='1/1/1970 00:00:00 +0000' GIT_COMMITTER_DATE='1/1/1970 00:00:00 +0000' \ - git commit --allow-empty -m "Initial commit" - (. '${../../../build-support/fetchgit/deterministic-git}'; make_deterministic_repo .) - - mkdir -p bin/cache - - # Add a flutter_tools artifact stamp, and build a snapshot. - # This is the Flutter CLI application. - echo "$(git rev-parse HEAD)" > bin/cache/flutter_tools.stamp - ln -s '${flutterTools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot - - # Some of flutter_tools's dependencies contain static assets. The - # application attempts to read its own package_config.json to find these - # assets at runtime. - # TODO: Remove this once Flutter 3.24 is the lowest version in Nixpkgs. - # https://github.com/flutter/flutter/pull/150340 makes it redundant. - mkdir -p packages/flutter_tools/.dart_tool - ln -s '${flutterTools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json - - echo -n "${version}" > version - cat < bin/cache/flutter.version.json - { - "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq -r .version)", - "flutterVersion": "${version}", - "frameworkVersion": "${version}", - "channel": "${channel}", - "repositoryUrl": "https://github.com/flutter/flutter.git", - "frameworkRevision": "nixpkgs000000000000000000000000000000000", - "frameworkCommitDate": "1970-01-01 00:00:00", - "engineRevision": "${engineVersion}", - "dartSdkVersion": "${dart.version}" - } - EOF - - # Suppress a small error now that `.gradle`'s location changed. - # Location changed because of the patch "gradle-flutter-tools-wrapper.patch". - mkdir -p "$out/packages/flutter_tools/gradle/.gradle" - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out - cp -r . $out - rm -rf $out/bin/cache/dart-sdk - ln -sf ${dart} $out/bin/cache/dart-sdk - - # The regular launchers are designed to download/build/update SDK - # components, and are not very useful in Nix. - # Replace them with simple links and wrappers. - rm "$out/bin"/{dart,flutter} - ln -s "$out/bin/cache/dart-sdk/bin/dart" "$out/bin/dart" - makeShellWrapper "$out/bin/dart" "$out/bin/flutter" \ - --set-default FLUTTER_ROOT "$out" \ - --set FLUTTER_ALREADY_LOCKED true \ - --add-flags "--disable-dart-dev --packages='${flutterTools.pubcache}/package_config.json' \$NIX_FLUTTER_TOOLS_VM_OPTIONS $out/bin/cache/flutter_tools.snapshot" - - runHook postInstall - ''; - - doInstallCheck = true; - nativeInstallCheckInputs = [ which ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; - installCheckPhase = '' - runHook preInstallCheck - - export HOME="$(mktemp -d)" - $out/bin/flutter config --android-studio-dir $HOME - $out/bin/flutter config --android-sdk $HOME - $out/bin/flutter --version | fgrep -q '${builtins.substring 0 10 engineVersion}' - - runHook postInstallCheck - ''; - - passthru = { + engine = + if args.useNixpkgsEngine or false then + callPackage ./engine/default.nix { + inherit (args) dart; + dartSdkVersion = args.dart.version; + flutterVersion = version; + swiftshaderRev = engineSwiftShaderRev; + swiftshaderHash = engineSwiftShaderHash; + version = engineVersion; + hashes = engineHashes; + url = engineUrl; + patches = enginePatches; + runtimeModes = engineRuntimeModes; + } + else + null; + + dart = if args.useNixpkgsEngine or false then engine.dart else args.dart; + + flutterTools = + args.flutterTools or (callPackage ./flutter-tools.nix { + inherit dart version; + flutterSrc = src; + inherit patches; + inherit pubspecLock; + systemPlatform = stdenv.hostPlatform.system; + }); + + unwrapped = stdenv.mkDerivation { + name = "flutter-${version}-unwrapped"; + inherit src patches version; + + buildInputs = [ git ]; + nativeBuildInputs = [ + makeWrapper + jq + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; + + preConfigure = '' + if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then + echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))." + exit 1 + fi + ''; + + postPatch = '' + patchShebangs --build ./bin/ + ''; + + buildPhase = '' + # The flutter_tools package tries to run many Git commands. In most + # cases, unexpected output is handled gracefully, but commands are never + # expected to fail completely. A blank repository needs to be created. + rm -rf .git # Remove any existing Git directory + git init -b nixpkgs + GIT_AUTHOR_NAME=Nixpkgs GIT_COMMITTER_NAME=Nixpkgs \ + GIT_AUTHOR_EMAIL= GIT_COMMITTER_EMAIL= \ + GIT_AUTHOR_DATE='1/1/1970 00:00:00 +0000' GIT_COMMITTER_DATE='1/1/1970 00:00:00 +0000' \ + git commit --allow-empty -m "Initial commit" + (. '${../../../build-support/fetchgit/deterministic-git}'; make_deterministic_repo .) + + mkdir -p bin/cache + + # Add a flutter_tools artifact stamp, and build a snapshot. + # This is the Flutter CLI application. + echo "$(git rev-parse HEAD)" > bin/cache/flutter_tools.stamp + ln -s '${flutterTools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot + + # Some of flutter_tools's dependencies contain static assets. The + # application attempts to read its own package_config.json to find these + # assets at runtime. + # TODO: Remove this once Flutter 3.24 is the lowest version in Nixpkgs. + # https://github.com/flutter/flutter/pull/150340 makes it redundant. + mkdir -p packages/flutter_tools/.dart_tool + ln -s '${flutterTools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json + + echo -n "${version}" > version + cat < bin/cache/flutter.version.json + { + "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq -r .version)", + "flutterVersion": "${version}", + "frameworkVersion": "${version}", + "channel": "${channel}", + "repositoryUrl": "https://github.com/flutter/flutter.git", + "frameworkRevision": "nixpkgs000000000000000000000000000000000", + "frameworkCommitDate": "1970-01-01 00:00:00", + "engineRevision": "${engineVersion}", + "dartSdkVersion": "${dart.version}" + } + EOF + + # Suppress a small error now that `.gradle`'s location changed. + # Location changed because of the patch "gradle-flutter-tools-wrapper.patch". + mkdir -p "$out/packages/flutter_tools/gradle/.gradle" + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r . $out + rm -rf $out/bin/cache/dart-sdk + ln -sf ${dart} $out/bin/cache/dart-sdk + + # The regular launchers are designed to download/build/update SDK + # components, and are not very useful in Nix. + # Replace them with simple links and wrappers. + rm "$out/bin"/{dart,flutter} + ln -s "$out/bin/cache/dart-sdk/bin/dart" "$out/bin/dart" + makeShellWrapper "$out/bin/dart" "$out/bin/flutter" \ + --set-default FLUTTER_ROOT "$out" \ + --set FLUTTER_ALREADY_LOCKED true \ + --add-flags "--disable-dart-dev --packages='${flutterTools.pubcache}/package_config.json' \$NIX_FLUTTER_TOOLS_VM_OPTIONS $out/bin/cache/flutter_tools.snapshot" + + runHook postInstall + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ + which + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; + installCheckPhase = '' + runHook preInstallCheck + + export HOME="$(mktemp -d)" + $out/bin/flutter config --android-studio-dir $HOME + $out/bin/flutter config --android-sdk $HOME + $out/bin/flutter --version | fgrep -q '${builtins.substring 0 10 engineVersion}' + + runHook postInstallCheck + ''; + + passthru = + { # TODO: rely on engine.version instead of engineVersion - inherit dart engineVersion artifactHashes channel; + inherit + dart + engineVersion + artifactHashes + channel + ; tools = flutterTools; # The derivation containing the original Flutter SDK files. # When other derivations wrap this one, any unmodified files # found here should be included as-is, for tooling compatibility. sdk = unwrapped; - } // lib.optionalAttrs (engine != null) { + } + // lib.optionalAttrs (engine != null) { inherit engine; }; - meta = with lib; { - description = "Flutter is Google's SDK for building mobile, web and desktop with Dart"; - longDescription = '' - Flutter is Google’s UI toolkit for building beautiful, - natively compiled applications for mobile, web, and desktop from a single codebase. - ''; - homepage = "https://flutter.dev"; - license = licenses.bsd3; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; - maintainers = teams.flutter.members ++ (with maintainers; [ + meta = with lib; { + description = "Flutter is Google's SDK for building mobile, web and desktop with Dart"; + longDescription = '' + Flutter is Google’s UI toolkit for building beautiful, + natively compiled applications for mobile, web, and desktop from a single codebase. + ''; + homepage = "https://flutter.dev"; + license = licenses.bsd3; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + maintainers = + teams.flutter.members + ++ (with maintainers; [ ericdallo ]); - }; }; + }; in unwrapped diff --git a/pkgs/development/compilers/flutter/sdk-symlink.nix b/pkgs/development/compilers/flutter/sdk-symlink.nix index 98051efa56136..c171b7dbd1dac 100644 --- a/pkgs/development/compilers/flutter/sdk-symlink.nix +++ b/pkgs/development/compilers/flutter/sdk-symlink.nix @@ -1,59 +1,64 @@ -{ symlinkJoin -, makeWrapper -}: flutter: +{ + symlinkJoin, + makeWrapper, +}: +flutter: let - self = - symlinkJoin { - name = "${flutter.name}-sdk-links"; - paths = [ flutter flutter.cacheDir flutter.sdk ]; + self = symlinkJoin { + name = "${flutter.name}-sdk-links"; + paths = [ + flutter + flutter.cacheDir + flutter.sdk + ]; - nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - wrapProgram "$out/bin/flutter" \ - --set-default FLUTTER_ROOT "$out" + nativeBuildInputs = [ makeWrapper ]; + postBuild = '' + wrapProgram "$out/bin/flutter" \ + --set-default FLUTTER_ROOT "$out" - # symlinkJoin seems to be missing the .git directory for some reason. - if [ -d '${flutter.sdk}/.git' ]; then - ln -s '${flutter.sdk}/.git' "$out" - fi + # symlinkJoin seems to be missing the .git directory for some reason. + if [ -d '${flutter.sdk}/.git' ]; then + ln -s '${flutter.sdk}/.git' "$out" + fi - # For iOS/macOS builds, *.xcframework/'s from the pre-built - # artifacts are copied into each built app. However, the symlinkJoin - # means that the *.xcframework's contain symlinks into the nix store, - # which causes issues when actually running the apps. - # - # We'll fix this by only linking to an outer *.xcframework dir instead - # of trying to symlinkJoin the files inside the *.xcframework. - artifactsDir="$out/bin/cache/artifacts/engine" - shopt -s globstar - for file in "$artifactsDir"/**/*.xcframework/Info.plist; do - # Get the unwrapped path from the Info.plist inside each .xcframework - origFile="$(readlink -f "$file")" - origFrameworkDir="$(dirname "$origFile")" + # For iOS/macOS builds, *.xcframework/'s from the pre-built + # artifacts are copied into each built app. However, the symlinkJoin + # means that the *.xcframework's contain symlinks into the nix store, + # which causes issues when actually running the apps. + # + # We'll fix this by only linking to an outer *.xcframework dir instead + # of trying to symlinkJoin the files inside the *.xcframework. + artifactsDir="$out/bin/cache/artifacts/engine" + shopt -s globstar + for file in "$artifactsDir"/**/*.xcframework/Info.plist; do + # Get the unwrapped path from the Info.plist inside each .xcframework + origFile="$(readlink -f "$file")" + origFrameworkDir="$(dirname "$origFile")" - # Remove the symlinkJoin .xcframework dir and replace it with a symlink - # to the unwrapped .xcframework dir. - frameworkDir="$(dirname "$file")" - rm -r "$frameworkDir" - ln -s "$origFrameworkDir" "$frameworkDir" - done - shopt -u globstar - ''; + # Remove the symlinkJoin .xcframework dir and replace it with a symlink + # to the unwrapped .xcframework dir. + frameworkDir="$(dirname "$file")" + rm -r "$frameworkDir" + ln -s "$origFrameworkDir" "$frameworkDir" + done + shopt -u globstar + ''; - passthru = flutter.passthru // { - # Update the SDK attribute. - # This allows any modified SDK files to be included - # in future invocations. - sdk = self; - }; + passthru = flutter.passthru // { + # Update the SDK attribute. + # This allows any modified SDK files to be included + # in future invocations. + sdk = self; + }; - meta = flutter.meta // { - longDescription = '' - ${flutter.meta.longDescription} - Modified binaries are linked into the original SDK directory for use with tools that use the whole SDK. - ''; - }; + meta = flutter.meta // { + longDescription = '' + ${flutter.meta.longDescription} + Modified binaries are linked into the original SDK directory for use with tools that use the whole SDK. + ''; }; + }; in self diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 9b4123b0e7d95..57f945477f41a 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -1,50 +1,56 @@ -{ lib -, stdenv -, darwin -, callPackage -, flutter -, supportedTargetFlutterPlatforms ? [ - "universal" - "web" - ] - ++ lib.optional (stdenv.hostPlatform.isLinux && !(flutter ? engine)) "linux" - ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android" - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "macos" "ios" ] -, artifactHashes ? flutter.artifactHashes -, extraPkgConfigPackages ? [ ] -, extraLibraries ? [ ] -, extraIncludes ? [ ] -, extraCxxFlags ? [ ] -, extraCFlags ? [ ] -, extraLinkerFlags ? [ ] -, makeWrapper -, writeShellScript -, wrapGAppsHook3 -, git -, which -, pkg-config -, atk -, cairo -, gdk-pixbuf -, glib -, gtk3 -, harfbuzz -, libepoxy -, pango -, libX11 -, xorgproto -, libdeflate -, zlib -, cmake -, ninja -, clang -, symlinkJoin +{ + lib, + stdenv, + darwin, + callPackage, + flutter, + supportedTargetFlutterPlatforms ? + [ + "universal" + "web" + ] + ++ lib.optional (stdenv.hostPlatform.isLinux && !(flutter ? engine)) "linux" + ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android" + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "macos" + "ios" + ], + artifactHashes ? flutter.artifactHashes, + extraPkgConfigPackages ? [ ], + extraLibraries ? [ ], + extraIncludes ? [ ], + extraCxxFlags ? [ ], + extraCFlags ? [ ], + extraLinkerFlags ? [ ], + makeWrapper, + writeShellScript, + wrapGAppsHook3, + git, + which, + pkg-config, + atk, + cairo, + gdk-pixbuf, + glib, + gtk3, + harfbuzz, + libepoxy, + pango, + libX11, + xorgproto, + libdeflate, + zlib, + cmake, + ninja, + clang, + symlinkJoin, }: let supportsLinuxDesktopTarget = builtins.elem "linux" supportedTargetFlutterPlatforms; - flutterPlatformArtifacts = lib.genAttrs supportedTargetFlutterPlatforms (flutterPlatform: + flutterPlatformArtifacts = lib.genAttrs supportedTargetFlutterPlatforms ( + flutterPlatform: (callPackage ./artifacts/prepare-artifacts.nix { src = callPackage ./artifacts/fetch-artifacts.nix { inherit flutterPlatform; @@ -52,7 +58,8 @@ let flutter = callPackage ./wrapper.nix { inherit flutter; }; hash = artifactHashes.${flutterPlatform}.${stdenv.hostPlatform.system} or ""; }; - })); + }) + ); cacheDir = symlinkJoin { name = "flutter-cache-dir"; @@ -72,7 +79,10 @@ let ''; # Tools that the Flutter tool depends on. - tools = [ git which ]; + tools = [ + git + which + ]; # Libraries that Flutter apps depend on at runtime. appRuntimeDeps = lib.optionals supportsLinuxDesktopTarget [ @@ -92,14 +102,22 @@ let appBuildDeps = let # https://discourse.nixos.org/t/handling-transitive-c-dependencies/5942/3 - deps = pkg: builtins.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ])); + deps = + pkg: + builtins.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ])); collect = pkg: lib.unique ([ pkg ] ++ deps pkg ++ builtins.concatMap collect (deps pkg)); in builtins.concatMap collect appRuntimeDeps; # Some header files and libraries are not properly located by the Flutter SDK. # They must be manually included. - appStaticBuildDeps = (lib.optionals supportsLinuxDesktopTarget [ libX11 xorgproto zlib ]) ++ extraLibraries; + appStaticBuildDeps = + (lib.optionals supportsLinuxDesktopTarget [ + libX11 + xorgproto + zlib + ]) + ++ extraLibraries; # Tools used by the Flutter SDK to compile applications. buildTools = lib.optionals supportsLinuxDesktopTarget [ @@ -111,52 +129,76 @@ let # Nix-specific compiler configuration. pkgConfigPackages = map (lib.getOutput "dev") (appBuildDeps ++ extraPkgConfigPackages); - includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") (appStaticBuildDeps ++ extraIncludes); - linkerFlags = (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags; + includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") ( + appStaticBuildDeps ++ extraIncludes + ); + linkerFlags = + (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags; in -(callPackage ./sdk-symlink.nix { }) (stdenv.mkDerivation -{ - pname = "flutter-wrapped"; - inherit (flutter) version; - - nativeBuildInputs = [ makeWrapper ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ] - ++ lib.optionals supportsLinuxDesktopTarget [ glib wrapGAppsHook3 ]; - - passthru = flutter.passthru // { +(callPackage ./sdk-symlink.nix { }) ( + stdenv.mkDerivation { + pname = "flutter-wrapped"; inherit (flutter) version; - unwrapped = flutter; - updateScript = ./update/update.py; - inherit cacheDir; - }; - dontUnpack = true; - dontWrapGApps = true; - - installPhase = '' - runHook preInstall - - for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do - addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path" - done - - mkdir -p $out/bin - makeWrapper '${immutableFlutter}' $out/bin/flutter \ - --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ - '' + lib.optionalString (flutter ? engine && flutter.engine.meta.available) '' + nativeBuildInputs = + [ makeWrapper ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ] + ++ lib.optionals supportsLinuxDesktopTarget [ + glib + wrapGAppsHook3 + ]; + + passthru = flutter.passthru // { + inherit (flutter) version; + unwrapped = flutter; + updateScript = ./update/update.py; + inherit cacheDir; + }; + + dontUnpack = true; + dontWrapGApps = true; + + installPhase = + '' + runHook preInstall + + for path in ${ + builtins.concatStringsSep " " ( + builtins.foldl' ( + paths: pkg: + paths + ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") [ + "lib" + "share" + ]) + ) [ ] pkgConfigPackages + ) + }; do + addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path" + done + + mkdir -p $out/bin + makeWrapper '${immutableFlutter}' $out/bin/flutter \ + --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ + '' + + lib.optionalString (flutter ? engine && flutter.engine.meta.available) '' --set-default FLUTTER_ENGINE "${flutter.engine}" \ --add-flags "--local-engine-host ${flutter.engine.outName}" \ - '' + '' - --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \ - --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ - --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ - --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \ - --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \ - --prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}' \ - ''${gappsWrapperArgs[@]} - - runHook postInstall - ''; - - inherit (flutter) meta; -}) + '' + + '' + --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \ + --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ + --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ + --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \ + --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \ + --prefix LDFLAGS "''\t" '${ + builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags) + }' \ + ''${gappsWrapperArgs[@]} + + runHook postInstall + ''; + + inherit (flutter) meta; + } +) diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix index 6f8acae7f9168..488931f4d4f40 100644 --- a/pkgs/development/compilers/fpc/binary.nix +++ b/pkgs/development/compilers/fpc/binary.nix @@ -1,4 +1,11 @@ -{ stdenv, fetchurl, undmg, cpio, xar, lib }: +{ + stdenv, + fetchurl, + undmg, + cpio, + xar, + lib, +}: stdenv.mkDerivation rec { pname = "fpc-binary"; @@ -25,8 +32,8 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/project/freepascal/Mac%20OS%20X/${version}/fpc-${version}.intelarm64-macosx.dmg"; sha256 = "05d4510c8c887e3c68de20272abf62171aa5b2ef1eba6bce25e4c0bc41ba8b7d"; } - else throw "Not supported on ${stdenv.hostPlatform.system}."; - + else + throw "Not supported on ${stdenv.hostPlatform.system}."; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ undmg @@ -39,7 +46,8 @@ stdenv.mkDerivation rec { ./binary-builder.sh else if stdenv.hostPlatform.isDarwin then ./binary-builder-darwin.sh - else throw "Not supported on ${stdenv.hostPlatform}."; + else + throw "Not supported on ${stdenv.hostPlatform}."; meta = { description = "Free Pascal Compiler from a binary distribution"; diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index d44f76d618a2f..6b8fa48511c02 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -1,6 +1,27 @@ -{ lib, stdenv, fetchurl, gawk, fetchpatch, undmg, cpio, xar, libiconv }: +{ + lib, + stdenv, + fetchurl, + gawk, + fetchpatch, + undmg, + cpio, + xar, + libiconv, +}: -let startFPC = import ./binary.nix { inherit stdenv fetchurl undmg cpio xar lib; }; in +let + startFPC = import ./binary.nix { + inherit + stdenv + fetchurl + undmg + cpio + xar + lib + ; + }; +in stdenv.mkDerivation rec { version = "3.2.2"; @@ -11,20 +32,25 @@ stdenv.mkDerivation rec { sha256 = "85ef993043bb83f999e2212f1bca766eb71f6f973d362e2290475dbaaf50161f"; }; - buildInputs = [ startFPC gawk ]; + buildInputs = [ + startFPC + gawk + ]; glibc = stdenv.cc.libc.out; # Patch paths for linux systems. Other platforms will need their own patches. - patches = [ - ./mark-paths.patch # mark paths for later substitution in postPatch - ] ++ lib.optional stdenv.hostPlatform.isAarch64 (fetchpatch { - # backport upstream patch for aarch64 glibc 2.34 - url = "https://gitlab.com/freepascal.org/fpc/source/-/commit/a20a7e3497bccf3415bf47ccc55f133eb9d6d6a0.patch"; - hash = "sha256-xKTBwuOxOwX9KCazQbBNLhMXCqkuJgIFvlXewHY63GM="; - stripLen = 1; - extraPrefix = "fpcsrc/"; - }); + patches = + [ + ./mark-paths.patch # mark paths for later substitution in postPatch + ] + ++ lib.optional stdenv.hostPlatform.isAarch64 (fetchpatch { + # backport upstream patch for aarch64 glibc 2.34 + url = "https://gitlab.com/freepascal.org/fpc/source/-/commit/a20a7e3497bccf3415bf47ccc55f133eb9d6d6a0.patch"; + hash = "sha256-xKTBwuOxOwX9KCazQbBNLhMXCqkuJgIFvlXewHY63GM="; + stripLen = 1; + extraPrefix = "fpcsrc/"; + }); postPatch = '' # substitute the markers set by the mark-paths patch @@ -46,7 +72,10 @@ stdenv.mkDerivation rec { NIX_LDFLAGS="-syslibroot $SDKROOT -L${lib.getLib libiconv}/lib" ''; - makeFlags = [ "NOGDB=1" "FPC=${startFPC}/bin/fpc" ]; + makeFlags = [ + "NOGDB=1" + "FPC=${startFPC}/bin/fpc" + ]; installFlags = [ "INSTALL_PREFIX=\${out}" ]; @@ -71,7 +100,10 @@ stdenv.mkDerivation rec { description = "Free Pascal Compiler from a source distribution"; homepage = "https://www.freepascal.org"; maintainers = [ maintainers.raskin ]; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index 4cd1dd9ab2f0e..e11084a345278 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -1,8 +1,26 @@ -{ stdenv, lib, fetchurl, makeWrapper, writeText -, fpc, gtk2, glib, pango, atk, gdk-pixbuf -, libXi, xorgproto, libX11, libXext -, gdb, gnumake, binutils -, withQt ? false, qtbase ? null, libqt5pas ? null, wrapQtAppsHook ? null +{ + stdenv, + lib, + fetchurl, + makeWrapper, + writeText, + fpc, + gtk2, + glib, + pango, + atk, + gdk-pixbuf, + libXi, + xorgproto, + libX11, + libXext, + gdb, + gnumake, + binutils, + withQt ? false, + qtbase ? null, + libqt5pas ? null, + wrapQtAppsHook ? null, }: # TODO: @@ -13,15 +31,17 @@ let # as of 2.0.10 a suffix is being added. That may or may not disappear and then # come back, so just leave this here. - majorMinorPatch = v: - builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion v)); - - overrides = writeText "revision.inc" (lib.concatStringsSep "\n" (lib.mapAttrsToList (k: v: - "const ${k} = '${v}';") { - # this is technically the SVN revision but as we don't have that replace - # it with the version instead of showing "Unknown" - RevisionStr = version; - })); + majorMinorPatch = v: builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion v)); + + overrides = writeText "revision.inc" ( + lib.concatStringsSep "\n" ( + lib.mapAttrsToList (k: v: "const ${k} = '${v}';") { + # this is technically the SVN revision but as we don't have that replace + # it with the version instead of showing "Unknown" + RevisionStr = version; + } + ) + ); in stdenv.mkDerivation rec { @@ -37,13 +57,25 @@ stdenv.mkDerivation rec { cp ${overrides} ide/${overrides.name} ''; - buildInputs = [ - # we need gtk2 unconditionally as that is the default target when building applications with lazarus - fpc gtk2 glib libXi xorgproto - libX11 libXext pango atk - stdenv.cc gdk-pixbuf - ] - ++ lib.optionals withQt [ libqt5pas qtbase ]; + buildInputs = + [ + # we need gtk2 unconditionally as that is the default target when building applications with lazarus + fpc + gtk2 + glib + libXi + xorgproto + libX11 + libXext + pango + atk + stdenv.cc + gdk-pixbuf + ] + ++ lib.optionals withQt [ + libqt5pas + qtbase + ]; # Disable parallel build, errors: # Fatal: (1018) Compilation aborted @@ -64,25 +96,27 @@ stdenv.mkDerivation rec { LCL_PLATFORM = if withQt then "qt5" else "gtk2"; - NIX_LDFLAGS = lib.concatStringsSep " " ([ - "-L${lib.getLib stdenv.cc.cc}/lib" - "-lX11" - "-lXext" - "-lXi" - "-latk-1.0" - "-lc" - "-lcairo" - "-lgcc_s" - "-lgdk-x11-2.0" - "-lgdk_pixbuf-2.0" - "-lglib-2.0" - "-lgtk-x11-2.0" - "-lpango-1.0" - ] - ++ lib.optionals withQt [ - "-L${lib.getLib libqt5pas}/lib" - "-lQt5Pas" - ]); + NIX_LDFLAGS = lib.concatStringsSep " " ( + [ + "-L${lib.getLib stdenv.cc.cc}/lib" + "-lX11" + "-lXext" + "-lXi" + "-latk-1.0" + "-lc" + "-lcairo" + "-lgcc_s" + "-lgdk-x11-2.0" + "-lgdk_pixbuf-2.0" + "-lglib-2.0" + "-lgtk-x11-2.0" + "-lpango-1.0" + ] + ++ lib.optionals withQt [ + "-L${lib.getLib libqt5pas}/lib" + "-lQt5Pas" + ] + ); preBuild = '' mkdir -p $out/share "$out/lazarus" @@ -91,20 +125,29 @@ stdenv.mkDerivation rec { --replace '/usr/fpcsrc' "$out/share/fpcsrc" ''; - postInstall = let - ldFlags = ''$(echo "$NIX_LDFLAGS" | sed -re 's/-rpath [^ ]+//g')''; - in '' - wrapProgram $out/bin/startlazarus \ - --prefix NIX_LDFLAGS ' ' "${ldFlags}" \ - --prefix NIX_LDFLAGS_${binutils.suffixSalt} ' ' "${ldFlags}" \ - --prefix LCL_PLATFORM ' ' "$LCL_PLATFORM" \ - --prefix PATH ':' "${lib.makeBinPath [ fpc gdb gnumake binutils ]}" - ''; + postInstall = + let + ldFlags = ''$(echo "$NIX_LDFLAGS" | sed -re 's/-rpath [^ ]+//g')''; + in + '' + wrapProgram $out/bin/startlazarus \ + --prefix NIX_LDFLAGS ' ' "${ldFlags}" \ + --prefix NIX_LDFLAGS_${binutils.suffixSalt} ' ' "${ldFlags}" \ + --prefix LCL_PLATFORM ' ' "$LCL_PLATFORM" \ + --prefix PATH ':' "${ + lib.makeBinPath [ + fpc + gdb + gnumake + binutils + ] + }" + ''; meta = with lib; { description = "Graphical IDE for the FreePascal language"; homepage = "https://www.lazarus.freepascal.org"; - license = licenses.gpl2Plus ; + license = licenses.gpl2Plus; maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; }; diff --git a/pkgs/development/compilers/fpc/libqt5pas.nix b/pkgs/development/compilers/fpc/libqt5pas.nix index f3ddfe9edc23d..209a749846dc2 100644 --- a/pkgs/development/compilers/fpc/libqt5pas.nix +++ b/pkgs/development/compilers/fpc/libqt5pas.nix @@ -1,4 +1,11 @@ -{ mkDerivation, lib, lazarus, qmake, qtbase, qtx11extras }: +{ + mkDerivation, + lib, + lazarus, + qmake, + qtbase, + qtx11extras, +}: mkDerivation { pname = "libqt5pas"; @@ -13,7 +20,10 @@ mkDerivation { nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtx11extras ]; + buildInputs = [ + qtbase + qtx11extras + ]; meta = with lib; { description = "Free Pascal Qt5 binding library"; diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix index bcec02476fc6e..d32158784b095 100644 --- a/pkgs/development/compilers/fstar/default.nix +++ b/pkgs/development/compilers/fstar/default.nix @@ -1,13 +1,14 @@ -{ callPackage -, fetchFromGitHub -, installShellFiles -, lib -, makeWrapper -, ocamlPackages -, removeReferencesTo -, stdenv -, writeScript -, z3 +{ + callPackage, + fetchFromGitHub, + installShellFiles, + lib, + makeWrapper, + ocamlPackages, + removeReferencesTo, + stdenv, + writeScript, + z3, }: let @@ -23,7 +24,14 @@ let fstar-dune = ocamlPackages.callPackage ./dune.nix { inherit version src; }; - fstar-ulib = callPackage ./ulib.nix { inherit version src fstar-dune z3; }; + fstar-ulib = callPackage ./ulib.nix { + inherit + version + src + fstar-dune + z3 + ; + }; in @@ -76,7 +84,10 @@ stdenv.mkDerivation { homepage = "https://www.fstar-lang.org"; changelog = "https://github.com/FStarLang/FStar/raw/v${version}/CHANGES.md"; license = licenses.asl20; - maintainers = with maintainers; [ gebner pnmadelaine ]; + maintainers = with maintainers; [ + gebner + pnmadelaine + ]; mainProgram = "fstar.exe"; platforms = with platforms; darwin ++ linux; }; diff --git a/pkgs/development/compilers/fstar/dune.nix b/pkgs/development/compilers/fstar/dune.nix index 1ca476838c8bb..3bdd62e88c476 100644 --- a/pkgs/development/compilers/fstar/dune.nix +++ b/pkgs/development/compilers/fstar/dune.nix @@ -1,19 +1,20 @@ -{ batteries -, buildDunePackage -, memtrace -, menhir -, menhirLib -, pprint -, ppx_deriving -, ppx_deriving_yojson -, ppxlib -, process -, sedlex -, src -, stdint -, version -, yojson -, zarith +{ + batteries, + buildDunePackage, + memtrace, + menhir, + menhirLib, + pprint, + ppx_deriving, + ppx_deriving_yojson, + ppxlib, + process, + sedlex, + src, + stdint, + version, + yojson, + zarith, }: buildDunePackage { diff --git a/pkgs/development/compilers/fstar/ulib.nix b/pkgs/development/compilers/fstar/ulib.nix index 4390a7bdb55e3..cc7651800df2c 100644 --- a/pkgs/development/compilers/fstar/ulib.nix +++ b/pkgs/development/compilers/fstar/ulib.nix @@ -1,8 +1,9 @@ -{ fstar-dune -, src -, stdenv -, version -, z3 +{ + fstar-dune, + src, + stdenv, + version, + z3, }: stdenv.mkDerivation { diff --git a/pkgs/development/compilers/gambit/bootstrap.nix b/pkgs/development/compilers/gambit/bootstrap.nix index 708640c8719c4..47f55ba98f325 100644 --- a/pkgs/development/compilers/gambit/bootstrap.nix +++ b/pkgs/development/compilers/gambit/bootstrap.nix @@ -1,7 +1,15 @@ # This derivation is a reduced-functionality variant of Gambit stable, # used to compile the full version of Gambit stable *and* unstable. -{ gccStdenv, fetchurl, autoconf, gcc, coreutils, gambit-support, ... }: +{ + gccStdenv, + fetchurl, + autoconf, + gcc, + coreutils, + gambit-support, + ... +}: # As explained in build.nix, GCC compiles Gambit 10x faster than Clang, for code 3x better gccStdenv.mkDerivation { diff --git a/pkgs/development/compilers/gambit/build.nix b/pkgs/development/compilers/gambit/build.nix index 78c98fe50f215..2c9cdd2a66a99 100644 --- a/pkgs/development/compilers/gambit/build.nix +++ b/pkgs/development/compilers/gambit/build.nix @@ -1,11 +1,21 @@ -{ gccStdenv, lib, pkgs, - git, openssl, autoconf, coreutils, - src, version, git-version, - stampYmd ? 0, stampHms ? 0, +{ + gccStdenv, + lib, + pkgs, + git, + openssl, + autoconf, + coreutils, + src, + version, + git-version, + stampYmd ? 0, + stampHms ? 0, gambit-support, optimizationSetting ? "-O1", gambit-params ? pkgs.gambit-support.stable-params, - rev ? git-version }: + rev ? git-version, +}: # Note that according to a benchmark run by Marc Feeley on May 2018, # clang is 10x (with default settings) to 15% (with -O2) slower than GCC at compiling @@ -31,11 +41,22 @@ gccStdenv.mkDerivation rec { bootstrap = gambit-support.gambit-bootstrap; passthru = { - inherit src version git-version rev stampYmd stampHms optimizationSetting openssl; + inherit + src + version + git-version + rev + stampYmd + stampHms + optimizationSetting + openssl + ; }; - - nativeBuildInputs = [ git autoconf ]; + nativeBuildInputs = [ + git + autoconf + ]; # TODO: if/when we can get all the library packages we depend on to have static versions, # we could use something like (makeStaticLibraries openssl) to enable creation @@ -46,36 +67,38 @@ gccStdenv.mkDerivation rec { # Or wrap relevant programs to add a suitable PATH ? #runtimeDeps = [ gnused gnugrep ]; - configureFlags = [ - "--enable-targets=${gambit-params.targets}" - "--enable-single-host" - "--enable-c-opt=${optimizationSetting}" - "--enable-c-opt-rts=-O2" - "--enable-gcc-opts" - "--enable-trust-c-tco" - "--enable-shared" - "--enable-absolute-shared-libs" # Yes, NixOS will want an absolute path, and fix it. - "--enable-openssl" - "--enable-dynamic-clib" - #"--enable-default-compile-options='(compactness 9)'" # Make life easier on the JS backend - "--enable-default-runtime-options=${gambit-params.defaultRuntimeOptions}" - # "--enable-rtlib-debug" # used by Geiser, but only on recent-enough gambit, and messes js runtime - # "--enable-debug" # Nope: enables plenty of good stuff, but also the costly console.log - # "--enable-multiple-versions" # Nope, NixOS already does version multiplexing - # "--enable-guide" - # "--enable-track-scheme" - # "--enable-high-res-timing" - # "--enable-max-processors=4" - # "--enable-multiple-vms" - # "--enable-dynamic-tls" - # "--enable-multiple-threaded-vms" # when SMP branch is merged in - # "--enable-thread-system=posix" # default when --enable-multiple-vms is on. - # "--enable-profile" - # "--enable-coverage" - # "--enable-inline-jumps" - # "--enable-char-size=1" # default is 4 - # "--enable-march=native" # Nope, makes it not work on machines older than the builder - ] ++ gambit-params.extraOptions + configureFlags = + [ + "--enable-targets=${gambit-params.targets}" + "--enable-single-host" + "--enable-c-opt=${optimizationSetting}" + "--enable-c-opt-rts=-O2" + "--enable-gcc-opts" + "--enable-trust-c-tco" + "--enable-shared" + "--enable-absolute-shared-libs" # Yes, NixOS will want an absolute path, and fix it. + "--enable-openssl" + "--enable-dynamic-clib" + #"--enable-default-compile-options='(compactness 9)'" # Make life easier on the JS backend + "--enable-default-runtime-options=${gambit-params.defaultRuntimeOptions}" + # "--enable-rtlib-debug" # used by Geiser, but only on recent-enough gambit, and messes js runtime + # "--enable-debug" # Nope: enables plenty of good stuff, but also the costly console.log + # "--enable-multiple-versions" # Nope, NixOS already does version multiplexing + # "--enable-guide" + # "--enable-track-scheme" + # "--enable-high-res-timing" + # "--enable-max-processors=4" + # "--enable-multiple-vms" + # "--enable-dynamic-tls" + # "--enable-multiple-threaded-vms" # when SMP branch is merged in + # "--enable-thread-system=posix" # default when --enable-multiple-vms is on. + # "--enable-profile" + # "--enable-coverage" + # "--enable-inline-jumps" + # "--enable-char-size=1" # default is 4 + # "--enable-march=native" # Nope, makes it not work on machines older than the builder + ] + ++ gambit-params.extraOptions # TODO: pick an appropriate architecture to optimize on on x86-64? # https://gcc.gnu.org/onlinedocs/gcc-4.8.4/gcc/i386-and-x86-64-Options.html#i386-and-x86-64-Options # ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "--enable-march=core-avx2" @@ -97,8 +120,11 @@ gccStdenv.mkDerivation rec { # OS-specific paths are hardcoded in ./configure substituteInPlace config.status \ - ${lib.optionalString (gccStdenv.hostPlatform.isDarwin && !gambit-params.stable) - ''--replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}"''} \ + ${ + lib.optionalString ( + gccStdenv.hostPlatform.isDarwin && !gambit-params.stable + ) ''--replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}"'' + } \ --replace "/usr/local/opt/openssl" "${lib.getLib openssl}" ./config.status diff --git a/pkgs/development/compilers/gambit/gambit-support.nix b/pkgs/development/compilers/gambit/gambit-support.nix index 1209ca10aa161..64a9b6a2bb467 100644 --- a/pkgs/development/compilers/gambit/gambit-support.nix +++ b/pkgs/development/compilers/gambit/gambit-support.nix @@ -18,25 +18,29 @@ rec { grep -i ' version=\|echo..#define ___STAMP_VERSION' include/makefile.in # XXX DEBUG -- REMOVE ME ''; modules = true; - extraOptions = ["CFLAGS=-foptimize-sibling-calls"]; + extraOptions = [ "CFLAGS=-foptimize-sibling-calls" ]; }; unstable-params = stable-params // { stable = false; - extraOptions = []; # "CFLAGS=-foptimize-sibling-calls" not necessary in latest unstable + extraOptions = [ ]; # "CFLAGS=-foptimize-sibling-calls" not necessary in latest unstable }; - export-gambopt = params : "export GAMBOPT=${params.buildRuntimeOptions} ;"; + export-gambopt = params: "export GAMBOPT=${params.buildRuntimeOptions} ;"; - gambit-bootstrap = import ./bootstrap.nix ( pkgs ); + gambit-bootstrap = import ./bootstrap.nix (pkgs); meta = with lib; { description = "Optimizing Scheme to C compiler"; - homepage = "http://gambitscheme.org"; - license = licenses.lgpl21Only; # dual, also asl20 + homepage = "http://gambitscheme.org"; + license = licenses.lgpl21Only; # dual, also asl20 # NB regarding platforms: continuously tested on Linux x86_64 and regularly tested on macOS x86_64. # *should* work everywhere. - platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice raskin fare ]; + platforms = platforms.unix; + maintainers = with maintainers; [ + thoughtpolice + raskin + fare + ]; }; } diff --git a/pkgs/development/compilers/gambit/unstable.nix b/pkgs/development/compilers/gambit/unstable.nix index f8c19640dd58a..e1cfebb147007 100644 --- a/pkgs/development/compilers/gambit/unstable.nix +++ b/pkgs/development/compilers/gambit/unstable.nix @@ -1,4 +1,8 @@ -{ callPackage, fetchFromGitHub, gambit-support }: +{ + callPackage, + fetchFromGitHub, + gambit-support, +}: callPackage ./build.nix rec { version = "unstable-2023-12-04"; diff --git a/pkgs/development/compilers/gcc/all.nix b/pkgs/development/compilers/gcc/all.nix index 444253a378785..626aa0603f4d1 100644 --- a/pkgs/development/compilers/gcc/all.nix +++ b/pkgs/development/compilers/gcc/all.nix @@ -1,52 +1,64 @@ -{ lib -, stdenv -, pkgs -, callPackage -, isl_0_20 -, libcCross -, threadsCross -, noSysDirs -, lowPrio -, wrapCC +{ + lib, + stdenv, + pkgs, + callPackage, + isl_0_20, + libcCross, + threadsCross, + noSysDirs, + lowPrio, + wrapCC, }@args: let versions = import ./versions.nix; - gccForMajorMinorVersion = majorMinorVersion: + gccForMajorMinorVersion = + majorMinorVersion: let majorVersion = lib.versions.major majorMinorVersion; atLeast = lib.versionAtLeast majorMinorVersion; - attrName = "gcc${lib.replaceStrings ["."] [""] majorMinorVersion}"; - pkg = lowPrio (wrapCC (callPackage ./default.nix { - inherit noSysDirs; - inherit majorMinorVersion; - reproducibleBuild = true; - profiledCompiler = false; - libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then args.libcCross else null; - threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else { }; - isl = if stdenv.hostPlatform.isDarwin then null else isl_0_20; - # do not allow version skew when cross-building gcc - # - # When `gcc` is cross-built (`build` != `target` && `host` == `target`) - # `gcc` assumes that it has a compatible cross-compiler in the environment - # that can build target libraries. Version of a cross-compiler has to - # match the compiler being cross-built as libraries frequently use fresh - # compiler features, like `-std=c++26` or target-specific types like - # `_Bfloat16`. - # Version mismatch causes build failures like: - # https://github.com/NixOS/nixpkgs/issues/351905 - # - # Similar problems (but on a smaller scale) happen when a `gcc` - # cross-compiler is built (`build` == `host` && `host` != `target`) built - # by a mismatching version of a native compiler (`build` == `host` && - # `host` == `target`). - # - # Let's fix both problems by requiring the same compiler version for - # cross-case. - stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform || stdenv.hostPlatform != stdenv.targetPlatform) && stdenv.cc.isGNU then pkgs."gcc${majorVersion}Stdenv" else stdenv; - })); + attrName = "gcc${lib.replaceStrings [ "." ] [ "" ] majorMinorVersion}"; + pkg = lowPrio ( + wrapCC ( + callPackage ./default.nix { + inherit noSysDirs; + inherit majorMinorVersion; + reproducibleBuild = true; + profiledCompiler = false; + libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then args.libcCross else null; + threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else { }; + isl = if stdenv.hostPlatform.isDarwin then null else isl_0_20; + # do not allow version skew when cross-building gcc + # + # When `gcc` is cross-built (`build` != `target` && `host` == `target`) + # `gcc` assumes that it has a compatible cross-compiler in the environment + # that can build target libraries. Version of a cross-compiler has to + # match the compiler being cross-built as libraries frequently use fresh + # compiler features, like `-std=c++26` or target-specific types like + # `_Bfloat16`. + # Version mismatch causes build failures like: + # https://github.com/NixOS/nixpkgs/issues/351905 + # + # Similar problems (but on a smaller scale) happen when a `gcc` + # cross-compiler is built (`build` == `host` && `host` != `target`) built + # by a mismatching version of a native compiler (`build` == `host` && + # `host` == `target`). + # + # Let's fix both problems by requiring the same compiler version for + # cross-case. + stdenv = + if + (stdenv.targetPlatform != stdenv.buildPlatform || stdenv.hostPlatform != stdenv.targetPlatform) + && stdenv.cc.isGNU + then + pkgs."gcc${majorVersion}Stdenv" + else + stdenv; + } + ) + ); in - lib.nameValuePair attrName pkg; + lib.nameValuePair attrName pkg; in lib.listToAttrs (map gccForMajorMinorVersion versions.allMajorVersions) - diff --git a/pkgs/development/compilers/gcc/common/builder.nix b/pkgs/development/compilers/gcc/common/builder.nix index 874a43a75f820..1b3754dad6bd7 100644 --- a/pkgs/development/compilers/gcc/common/builder.nix +++ b/pkgs/development/compilers/gcc/common/builder.nix @@ -1,302 +1,317 @@ -{ lib -, stdenv -, enableMultilib -, targetConfig +{ + lib, + stdenv, + enableMultilib, + targetConfig, }: let - forceLibgccToBuildCrtStuff = - import ./libgcc-buildstuff.nix { inherit lib stdenv; }; + forceLibgccToBuildCrtStuff = import ./libgcc-buildstuff.nix { inherit lib stdenv; }; in -originalAttrs: (stdenv.mkDerivation (finalAttrs: originalAttrs // { - passthru = (originalAttrs.passthru or {}) // { inherit forceLibgccToBuildCrtStuff; }; - preUnpack = '' - oldOpts="$(shopt -po nounset)" || true - set -euo pipefail - - export NIX_FIXINC_DUMMY="$NIX_BUILD_TOP/dummy" - mkdir "$NIX_FIXINC_DUMMY" - - if test "$staticCompiler" = "1"; then - EXTRA_LDFLAGS="-static" - elif test "''${NIX_DONT_SET_RPATH-}" != "1"; then - EXTRA_LDFLAGS="-Wl,-rpath,''${!outputLib}/lib" - else - EXTRA_LDFLAGS="" - fi - - # GCC interprets empty paths as ".", which we don't want. - if test -z "''${CPATH-}"; then unset CPATH; fi - if test -z "''${LIBRARY_PATH-}"; then unset LIBRARY_PATH; fi - echo "\$CPATH is \`''${CPATH-}'" - echo "\$LIBRARY_PATH is \`''${LIBRARY_PATH-}'" - - if test "$noSysDirs" = "1"; then - - declare -g \ - EXTRA_FLAGS_FOR_BUILD EXTRA_FLAGS EXTRA_FLAGS_FOR_TARGET \ - EXTRA_LDFLAGS_FOR_BUILD EXTRA_LDFLAGS_FOR_TARGET - - # Extract flags from Bintools Wrappers - for post in '_FOR_BUILD' ""; do - curBintools="NIX_BINTOOLS''${post}" - - declare -a extraLDFlags=() - if [[ -e "''${!curBintools}/nix-support/orig-libc" ]]; then - # Figure out what extra flags when linking to pass to the gcc - # compilers being generated to make sure that they use our libc. - extraLDFlags=($(< "''${!curBintools}/nix-support/libc-ldflags") $(< "''${!curBintools}/nix-support/libc-ldflags-before" || true)) - if [ -e ''${!curBintools}/nix-support/ld-set-dynamic-linker ]; then - extraLDFlags=-dynamic-linker=$(< ''${!curBintools}/nix-support/dynamic-linker) - fi - - # The path to the Libc binaries such as `crti.o'. - libc_libdir="$(< "''${!curBintools}/nix-support/orig-libc")/lib" - else - # Hack: support impure environments. - extraLDFlags=("-L/usr/lib64" "-L/usr/lib") - libc_libdir="/usr/lib" - fi - declare -a prefixExtraLDFlags=() - prefixExtraLDFlags=("-L$libc_libdir") - nixDontSetRpathVar=NIX_DONT_SET_RPATH''${post} - if test "''${!nixDontSetRpathVar-}" != "1"; then - prefixExtraLDFlags+=("-rpath" "$libc_libdir") - fi - extraLDFlags=("''${prefixExtraLDFlags[@]}" "''${extraLDFlags[@]}") - for i in "''${extraLDFlags[@]}"; do - declare -g EXTRA_LDFLAGS''${post}+=" -Wl,$i" - done - done - - # Extract flags from CC Wrappers - for post in '_FOR_BUILD' ""; do - curCC="NIX_CC''${post}" - curFIXINC="NIX_FIXINC_DUMMY''${post}" - - declare -a extraFlags=() - if [[ -e "''${!curCC}/nix-support/orig-libc" ]]; then - # Figure out what extra compiling flags to pass to the gcc compilers - # being generated to make sure that they use our libc. - extraFlags=($(< "''${!curCC}/nix-support/libc-crt1-cflags") $(< "''${!curCC}/nix-support/libc-cflags")) - - # The path to the Libc headers - libc_devdir="$(< "''${!curCC}/nix-support/orig-libc-dev")" - - # Use *real* header files, otherwise a limits.h is generated that - # does not include Libc's limits.h (notably missing SSIZE_MAX, - # which breaks the build). - declare -g NIX_FIXINC_DUMMY''${post}="$libc_devdir/include" - else - # Hack: support impure environments. - extraFlags=("-isystem" "/usr/include") - declare -g NIX_FIXINC_DUMMY''${post}=/usr/include - fi - - extraFlags=("-I''${!curFIXINC}" "''${extraFlags[@]}") - - # BOOT_CFLAGS defaults to `-g -O2'; since we override it below, make - # sure to explictly add them so that files compiled with the bootstrap - # compiler are optimized and (optionally) contain debugging information - # (info "(gccinstall) Building"). - if test -n "''${dontStrip-}"; then - extraFlags=("-O2" "-g" "''${extraFlags[@]}") - else - # Don't pass `-g' at all; this saves space while building. - extraFlags=("-O2" "''${extraFlags[@]}") - fi - - declare -g EXTRA_FLAGS''${post}="''${extraFlags[*]}" - done - - if test -z "''${targetConfig-}"; then - # host = target, so the flags are the same - EXTRA_FLAGS_FOR_TARGET="$EXTRA_FLAGS" - EXTRA_LDFLAGS_FOR_TARGET="$EXTRA_LDFLAGS" +originalAttrs: +(stdenv.mkDerivation ( + finalAttrs: + originalAttrs + // { + passthru = (originalAttrs.passthru or { }) // { + inherit forceLibgccToBuildCrtStuff; + }; + preUnpack = '' + oldOpts="$(shopt -po nounset)" || true + set -euo pipefail + + export NIX_FIXINC_DUMMY="$NIX_BUILD_TOP/dummy" + mkdir "$NIX_FIXINC_DUMMY" + + if test "$staticCompiler" = "1"; then + EXTRA_LDFLAGS="-static" + elif test "''${NIX_DONT_SET_RPATH-}" != "1"; then + EXTRA_LDFLAGS="-Wl,-rpath,''${!outputLib}/lib" + else + EXTRA_LDFLAGS="" + fi + + # GCC interprets empty paths as ".", which we don't want. + if test -z "''${CPATH-}"; then unset CPATH; fi + if test -z "''${LIBRARY_PATH-}"; then unset LIBRARY_PATH; fi + echo "\$CPATH is \`''${CPATH-}'" + echo "\$LIBRARY_PATH is \`''${LIBRARY_PATH-}'" + + if test "$noSysDirs" = "1"; then + + declare -g \ + EXTRA_FLAGS_FOR_BUILD EXTRA_FLAGS EXTRA_FLAGS_FOR_TARGET \ + EXTRA_LDFLAGS_FOR_BUILD EXTRA_LDFLAGS_FOR_TARGET + + # Extract flags from Bintools Wrappers + for post in '_FOR_BUILD' ""; do + curBintools="NIX_BINTOOLS''${post}" + + declare -a extraLDFlags=() + if [[ -e "''${!curBintools}/nix-support/orig-libc" ]]; then + # Figure out what extra flags when linking to pass to the gcc + # compilers being generated to make sure that they use our libc. + extraLDFlags=($(< "''${!curBintools}/nix-support/libc-ldflags") $(< "''${!curBintools}/nix-support/libc-ldflags-before" || true)) + if [ -e ''${!curBintools}/nix-support/ld-set-dynamic-linker ]; then + extraLDFlags=-dynamic-linker=$(< ''${!curBintools}/nix-support/dynamic-linker) + fi + + # The path to the Libc binaries such as `crti.o'. + libc_libdir="$(< "''${!curBintools}/nix-support/orig-libc")/lib" + else + # Hack: support impure environments. + extraLDFlags=("-L/usr/lib64" "-L/usr/lib") + libc_libdir="/usr/lib" + fi + declare -a prefixExtraLDFlags=() + prefixExtraLDFlags=("-L$libc_libdir") + nixDontSetRpathVar=NIX_DONT_SET_RPATH''${post} + if test "''${!nixDontSetRpathVar-}" != "1"; then + prefixExtraLDFlags+=("-rpath" "$libc_libdir") + fi + extraLDFlags=("''${prefixExtraLDFlags[@]}" "''${extraLDFlags[@]}") + for i in "''${extraLDFlags[@]}"; do + declare -g EXTRA_LDFLAGS''${post}+=" -Wl,$i" + done + done + + # Extract flags from CC Wrappers + for post in '_FOR_BUILD' ""; do + curCC="NIX_CC''${post}" + curFIXINC="NIX_FIXINC_DUMMY''${post}" + + declare -a extraFlags=() + if [[ -e "''${!curCC}/nix-support/orig-libc" ]]; then + # Figure out what extra compiling flags to pass to the gcc compilers + # being generated to make sure that they use our libc. + extraFlags=($(< "''${!curCC}/nix-support/libc-crt1-cflags") $(< "''${!curCC}/nix-support/libc-cflags")) + + # The path to the Libc headers + libc_devdir="$(< "''${!curCC}/nix-support/orig-libc-dev")" + + # Use *real* header files, otherwise a limits.h is generated that + # does not include Libc's limits.h (notably missing SSIZE_MAX, + # which breaks the build). + declare -g NIX_FIXINC_DUMMY''${post}="$libc_devdir/include" + else + # Hack: support impure environments. + extraFlags=("-isystem" "/usr/include") + declare -g NIX_FIXINC_DUMMY''${post}=/usr/include + fi + + extraFlags=("-I''${!curFIXINC}" "''${extraFlags[@]}") + + # BOOT_CFLAGS defaults to `-g -O2'; since we override it below, make + # sure to explictly add them so that files compiled with the bootstrap + # compiler are optimized and (optionally) contain debugging information + # (info "(gccinstall) Building"). + if test -n "''${dontStrip-}"; then + extraFlags=("-O2" "-g" "''${extraFlags[@]}") + else + # Don't pass `-g' at all; this saves space while building. + extraFlags=("-O2" "''${extraFlags[@]}") + fi + + declare -g EXTRA_FLAGS''${post}="''${extraFlags[*]}" + done + + if test -z "''${targetConfig-}"; then + # host = target, so the flags are the same + EXTRA_FLAGS_FOR_TARGET="$EXTRA_FLAGS" + EXTRA_LDFLAGS_FOR_TARGET="$EXTRA_LDFLAGS" + fi + + # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find + # the startfiles. + # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx + # for the startfiles. + makeFlagsArray+=( + "BUILD_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY_FOR_BUILD" + "SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY_FOR_BUILD" + "NATIVE_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY" + + "LDFLAGS_FOR_BUILD=$EXTRA_LDFLAGS_FOR_BUILD" + #"LDFLAGS=$EXTRA_LDFLAGS" + "LDFLAGS_FOR_TARGET=$EXTRA_LDFLAGS_FOR_TARGET" + + "CFLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD" + "CXXFLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD" + "FLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD" + + # It seems there is a bug in GCC 5 + #"CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS" + #"CXXFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS" + + "CFLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" + "CXXFLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" + "FLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" + ) + + if test -z "''${targetConfig-}"; then + makeFlagsArray+=( + "BOOT_CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS" + "BOOT_LDFLAGS=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" + ) + fi + + if test "$withoutTargetLibc" == 1; then + # We don't want the gcc build to assume there will be a libc providing + # limits.h in this stage + makeFlagsArray+=( + 'LIMITS_H_TEST=false' + ) + else + makeFlagsArray+=( + 'LIMITS_H_TEST=true' + ) + fi + fi + + eval "$oldOpts" + ''; + + preConfigure = + (originalAttrs.preConfigure or "") + + '' + if test -n "$newlibSrc"; then + tar xvf "$newlibSrc" -C .. + ln -s ../newlib-*/newlib newlib + # Patch to get armvt5el working: + sed -i -e 's/ arm)/ arm*)/' newlib/configure.host fi - # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find - # the startfiles. - # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx - # for the startfiles. - makeFlagsArray+=( - "BUILD_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY_FOR_BUILD" - "SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY_FOR_BUILD" - "NATIVE_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY" - - "LDFLAGS_FOR_BUILD=$EXTRA_LDFLAGS_FOR_BUILD" - #"LDFLAGS=$EXTRA_LDFLAGS" - "LDFLAGS_FOR_TARGET=$EXTRA_LDFLAGS_FOR_TARGET" - - "CFLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD" - "CXXFLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD" - "FLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD" - - # It seems there is a bug in GCC 5 - #"CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS" - #"CXXFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS" - - "CFLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" - "CXXFLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" - "FLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" - ) - - if test -z "''${targetConfig-}"; then - makeFlagsArray+=( - "BOOT_CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS" - "BOOT_LDFLAGS=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET" - ) + # Bug - they packaged zlib + if test -d "zlib"; then + # This breaks the build without-headers, which should build only + # the target libgcc as target libraries. + # See 'configure:5370' + rm -Rf zlib fi - if test "$withoutTargetLibc" == 1; then - # We don't want the gcc build to assume there will be a libc providing - # limits.h in this stage - makeFlagsArray+=( - 'LIMITS_H_TEST=false' - ) - else - makeFlagsArray+=( - 'LIMITS_H_TEST=true' - ) + if test -n "$crossMingw" -a -n "$withoutTargetLibc"; then + mkdir -p ../mingw + # --with-build-sysroot expects that: + cp -R $libcCross/include ../mingw + configureFlags="$configureFlags --with-build-sysroot=`pwd`/.." fi - fi - - eval "$oldOpts" - ''; - - preConfigure = (originalAttrs.preConfigure or "") + '' - if test -n "$newlibSrc"; then - tar xvf "$newlibSrc" -C .. - ln -s ../newlib-*/newlib newlib - # Patch to get armvt5el working: - sed -i -e 's/ arm)/ arm*)/' newlib/configure.host - fi - - # Bug - they packaged zlib - if test -d "zlib"; then - # This breaks the build without-headers, which should build only - # the target libgcc as target libraries. - # See 'configure:5370' - rm -Rf zlib - fi - - if test -n "$crossMingw" -a -n "$withoutTargetLibc"; then - mkdir -p ../mingw - # --with-build-sysroot expects that: - cp -R $libcCross/include ../mingw - configureFlags="$configureFlags --with-build-sysroot=`pwd`/.." - fi - - # Perform the build in a different directory. - mkdir ../build - cd ../build - configureScript=../$sourceRoot/configure - ''; - - postConfigure = '' - # Avoid store paths when embedding ./configure flags into gcc. - # Mangled arguments are still useful when reporting bugs upstream. - sed -e "/TOPLEVEL_CONFIGURE_ARGUMENTS=/ s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" -i Makefile - ''; - - preInstall = '' - mkdir -p "$out/''${targetConfig}/lib" - mkdir -p "''${!outputLib}/''${targetConfig}/lib" - '' + - # if cross-compiling, link from $lib/lib to $lib/${targetConfig}. - # since native-compiles have $lib/lib as a directory (not a - # symlink), this ensures that in every case we can assume that - # $lib/lib contains the .so files - lib.optionalString (with stdenv; targetPlatform.config != hostPlatform.config) '' - ln -Ts "''${!outputLib}/''${targetConfig}/lib" $lib/lib - '' + - # Make `lib64` symlinks to `lib`. - lib.optionalString (!enableMultilib && stdenv.hostPlatform.is64bit && !stdenv.hostPlatform.isMips64n32) '' - ln -s lib "$out/''${targetConfig}/lib64" - ln -s lib "''${!outputLib}/''${targetConfig}/lib64" - '' + - # On mips platforms, gcc follows the IRIX naming convention: - # - # $PREFIX/lib = mips32 - # $PREFIX/lib32 = mips64n32 - # $PREFIX/lib64 = mips64 - # - # Make `lib32` symlinks to `lib`. - lib.optionalString (!enableMultilib && stdenv.targetPlatform.isMips64n32) '' - ln -s lib "$out/''${targetConfig}/lib32" - ln -s lib "''${!outputLib}/''${targetConfig}/lib32" - ''; - - postInstall = '' - # Move runtime libraries to lib output. - moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.so*" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.la" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dylib" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dll.a" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dll" "''${!outputLib}" - moveToOutput "share/gcc-*/python" "''${!outputLib}" - - if [ -z "$enableShared" ]; then - moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.a" "''${!outputLib}" - fi - - for i in "''${!outputLib}/''${targetConfig}"/lib/*.{la,py}; do - substituteInPlace "$i" --replace "$out" "''${!outputLib}" - done - - if [ -n "$enableMultilib" ]; then - moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.so*" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.la" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dylib" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dll.a" "''${!outputLib}" - moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dll" "''${!outputLib}" - - for i in "''${!outputLib}/''${targetConfig}"/lib64/*.{la,py}; do - substituteInPlace "$i" --replace "$out" "''${!outputLib}" - done - fi - - # Remove `fixincl' to prevent a retained dependency on the - # previous gcc. - rm -rf $out/libexec/gcc/*/*/install-tools - rm -rf $out/lib/gcc/*/*/install-tools - - # More dependencies with the previous gcc or some libs (gccbug stores the build command line) - rm -rf $out/bin/gccbug - - if type "install_name_tool"; then - for i in "''${!outputLib}"/lib/*.*.dylib "''${!outputLib}"/lib/*.so.[0-9]; do - install_name_tool -id "$i" "$i" || true - for old_path in $(otool -L "$i" | grep "$out" | awk '{print $1}'); do - new_path=`echo "$old_path" | sed "s,$out,''${!outputLib},"` - install_name_tool -change "$old_path" "$new_path" "$i" || true - done - done - fi - - # Get rid of some "fixed" header files - rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux,sys/mount.h,bits/statx.h,pthread.h} - - # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. - for i in $out/bin/*-gcc*; do - if cmp -s $out/bin/gcc $i; then - ln -sfn gcc $i - fi - done - - for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do - if cmp -s $out/bin/g++ $i; then - ln -sfn g++ $i - fi - done - # Two identical man pages are shipped (moving and compressing is done later) - for i in "$out"/share/man/man1/*g++.1; do - if test -e "$i"; then - man_prefix=`echo "$i" | sed "s,.*/\(.*\)g++.1,\1,"` - ln -sf "$man_prefix"gcc.1 "$i" - fi - done - ''; -})) + # Perform the build in a different directory. + mkdir ../build + cd ../build + configureScript=../$sourceRoot/configure + ''; + + postConfigure = '' + # Avoid store paths when embedding ./configure flags into gcc. + # Mangled arguments are still useful when reporting bugs upstream. + sed -e "/TOPLEVEL_CONFIGURE_ARGUMENTS=/ s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" -i Makefile + ''; + + preInstall = + '' + mkdir -p "$out/''${targetConfig}/lib" + mkdir -p "''${!outputLib}/''${targetConfig}/lib" + '' + + + # if cross-compiling, link from $lib/lib to $lib/${targetConfig}. + # since native-compiles have $lib/lib as a directory (not a + # symlink), this ensures that in every case we can assume that + # $lib/lib contains the .so files + lib.optionalString (with stdenv; targetPlatform.config != hostPlatform.config) '' + ln -Ts "''${!outputLib}/''${targetConfig}/lib" $lib/lib + '' + + + # Make `lib64` symlinks to `lib`. + lib.optionalString + (!enableMultilib && stdenv.hostPlatform.is64bit && !stdenv.hostPlatform.isMips64n32) + '' + ln -s lib "$out/''${targetConfig}/lib64" + ln -s lib "''${!outputLib}/''${targetConfig}/lib64" + '' + + + # On mips platforms, gcc follows the IRIX naming convention: + # + # $PREFIX/lib = mips32 + # $PREFIX/lib32 = mips64n32 + # $PREFIX/lib64 = mips64 + # + # Make `lib32` symlinks to `lib`. + lib.optionalString (!enableMultilib && stdenv.targetPlatform.isMips64n32) '' + ln -s lib "$out/''${targetConfig}/lib32" + ln -s lib "''${!outputLib}/''${targetConfig}/lib32" + ''; + + postInstall = '' + # Move runtime libraries to lib output. + moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.so*" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.la" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dylib" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dll.a" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dll" "''${!outputLib}" + moveToOutput "share/gcc-*/python" "''${!outputLib}" + + if [ -z "$enableShared" ]; then + moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.a" "''${!outputLib}" + fi + + for i in "''${!outputLib}/''${targetConfig}"/lib/*.{la,py}; do + substituteInPlace "$i" --replace "$out" "''${!outputLib}" + done + + if [ -n "$enableMultilib" ]; then + moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.so*" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.la" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dylib" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dll.a" "''${!outputLib}" + moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dll" "''${!outputLib}" + + for i in "''${!outputLib}/''${targetConfig}"/lib64/*.{la,py}; do + substituteInPlace "$i" --replace "$out" "''${!outputLib}" + done + fi + + # Remove `fixincl' to prevent a retained dependency on the + # previous gcc. + rm -rf $out/libexec/gcc/*/*/install-tools + rm -rf $out/lib/gcc/*/*/install-tools + + # More dependencies with the previous gcc or some libs (gccbug stores the build command line) + rm -rf $out/bin/gccbug + + if type "install_name_tool"; then + for i in "''${!outputLib}"/lib/*.*.dylib "''${!outputLib}"/lib/*.so.[0-9]; do + install_name_tool -id "$i" "$i" || true + for old_path in $(otool -L "$i" | grep "$out" | awk '{print $1}'); do + new_path=`echo "$old_path" | sed "s,$out,''${!outputLib},"` + install_name_tool -change "$old_path" "$new_path" "$i" || true + done + done + fi + + # Get rid of some "fixed" header files + rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux,sys/mount.h,bits/statx.h,pthread.h} + + # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. + for i in $out/bin/*-gcc*; do + if cmp -s $out/bin/gcc $i; then + ln -sfn gcc $i + fi + done + + for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do + if cmp -s $out/bin/g++ $i; then + ln -sfn g++ $i + fi + done + + # Two identical man pages are shipped (moving and compressing is done later) + for i in "$out"/share/man/man1/*g++.1; do + if test -e "$i"; then + man_prefix=`echo "$i" | sed "s,.*/\(.*\)g++.1,\1,"` + ln -sf "$man_prefix"gcc.1 "$i" + fi + done + ''; + } +)) diff --git a/pkgs/development/compilers/gcc/common/checksum.nix b/pkgs/development/compilers/gcc/common/checksum.nix index 7a20ed1b8ba36..c0e59563a515d 100644 --- a/pkgs/development/compilers/gcc/common/checksum.nix +++ b/pkgs/development/compilers/gcc/common/checksum.nix @@ -1,40 +1,51 @@ -{ lib -, stdenv -, nukeReferences -, langC -, langCC -, runtimeShell +{ + lib, + stdenv, + nukeReferences, + langC, + langCC, + runtimeShell, }: let - enableChecksum = (with stdenv; buildPlatform == hostPlatform && hostPlatform == targetPlatform) && langC && langCC && !stdenv.hostPlatform.isDarwin; + enableChecksum = + (with stdenv; buildPlatform == hostPlatform && hostPlatform == targetPlatform) + && langC + && langCC + && !stdenv.hostPlatform.isDarwin; in -(pkg: pkg.overrideAttrs (previousAttrs: lib.optionalAttrs enableChecksum { - outputs = previousAttrs.outputs ++ lib.optionals enableChecksum [ "checksum" ]; - # This is a separate phase because gcc assembles its phase scripts - # in bash instead of nix (we should fix that). - preFixupPhases = (previousAttrs.preFixupPhases or []) ++ [ "postInstallSaveChecksumPhase" ]; - # - # gcc uses an auxiliary utility `genchecksum` to md5-hash (most of) its - # `.o` and `.a` files prior to linking (in case the linker is - # nondeterministic). Since we want to compare across gccs built from two - # separate derivations, we wrap `genchecksum` with a `nuke-references` - # call. We also stash copies of the inputs to `genchecksum` in - # `$checksum/inputs/` -- this is extremely helpful for debugging since - # it's hard to get Nix to not delete the $NIX_BUILD_TOP of a successful - # build. - # - postInstallSaveChecksumPhase = '' - mv gcc/build/genchecksum gcc/build/.genchecksum-wrapped - cat > gcc/build/genchecksum <<\EOF - #!${runtimeShell} - ${nukeReferences}/bin/nuke-refs $@ - for INPUT in "$@"; do install -Dt $INPUT $checksum/inputs/; done - exec build/.genchecksum-wrapped $@ - EOF - chmod +x gcc/build/genchecksum - rm gcc/*-checksum.* - make -C gcc cc1-checksum.o cc1plus-checksum.o - install -Dt $checksum/checksums/ gcc/cc*-checksum.o - ''; -})) +( + pkg: + pkg.overrideAttrs ( + previousAttrs: + lib.optionalAttrs enableChecksum { + outputs = previousAttrs.outputs ++ lib.optionals enableChecksum [ "checksum" ]; + # This is a separate phase because gcc assembles its phase scripts + # in bash instead of nix (we should fix that). + preFixupPhases = (previousAttrs.preFixupPhases or [ ]) ++ [ "postInstallSaveChecksumPhase" ]; + # + # gcc uses an auxiliary utility `genchecksum` to md5-hash (most of) its + # `.o` and `.a` files prior to linking (in case the linker is + # nondeterministic). Since we want to compare across gccs built from two + # separate derivations, we wrap `genchecksum` with a `nuke-references` + # call. We also stash copies of the inputs to `genchecksum` in + # `$checksum/inputs/` -- this is extremely helpful for debugging since + # it's hard to get Nix to not delete the $NIX_BUILD_TOP of a successful + # build. + # + postInstallSaveChecksumPhase = '' + mv gcc/build/genchecksum gcc/build/.genchecksum-wrapped + cat > gcc/build/genchecksum <<\EOF + #!${runtimeShell} + ${nukeReferences}/bin/nuke-refs $@ + for INPUT in "$@"; do install -Dt $INPUT $checksum/inputs/; done + exec build/.genchecksum-wrapped $@ + EOF + chmod +x gcc/build/genchecksum + rm gcc/*-checksum.* + make -C gcc cc1-checksum.o cc1plus-checksum.o + install -Dt $checksum/checksums/ gcc/cc*-checksum.o + ''; + } + ) +) diff --git a/pkgs/development/compilers/gcc/common/dependencies.nix b/pkgs/development/compilers/gcc/common/dependencies.nix index f76b5fe601a96..0e29fd51e45bb 100644 --- a/pkgs/development/compilers/gcc/common/dependencies.nix +++ b/pkgs/development/compilers/gcc/common/dependencies.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, version -, buildPackages -, targetPackages -, texinfo -, which -, gettext -, gnused -, patchelf -, gmp -, mpfr -, libmpc -, libucontext ? null -, libxcrypt ? null -, darwin ? null -, isl ? null -, zlib ? null -, gnat-bootstrap ? null -, flex ? null -, perl ? null -, langAda ? false -, langGo ? false -, langRust ? false -, cargo -, withoutTargetLibc ? null -, threadsCross ? null +{ + lib, + stdenv, + version, + buildPackages, + targetPackages, + texinfo, + which, + gettext, + gnused, + patchelf, + gmp, + mpfr, + libmpc, + libucontext ? null, + libxcrypt ? null, + darwin ? null, + isl ? null, + zlib ? null, + gnat-bootstrap ? null, + flex ? null, + perl ? null, + langAda ? false, + langGo ? false, + langRust ? false, + cargo, + withoutTargetLibc ? null, + threadsCross ? null, }: let @@ -36,47 +37,55 @@ in # same for all gcc's depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ - texinfo - which - gettext - ] - ++ optionals (perl != null) [ perl ] - ++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ] - ++ optionals langAda [ gnat-bootstrap ] - ++ optionals langRust [ cargo ] - # The builder relies on GNU sed (for instance, Darwin's `sed' fails with - # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ optionals buildPlatform.isDarwin [ gnused ] - ; + nativeBuildInputs = + [ + texinfo + which + gettext + ] + ++ optionals (perl != null) [ perl ] + ++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ] + ++ optionals langAda [ gnat-bootstrap ] + ++ optionals langRust [ cargo ] + # The builder relies on GNU sed (for instance, Darwin's `sed' fails with + # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. + ++ optionals buildPlatform.isDarwin [ gnused ]; # For building runtime libs # same for all gcc's depsBuildTarget = ( - if hostPlatform == buildPlatform then [ - targetPackages.stdenv.cc.bintools # newly-built gcc will be used - ] else assert targetPlatform == hostPlatform; [ - # build != host == target - stdenv.cc - ] + if hostPlatform == buildPlatform then + [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] + else + assert targetPlatform == hostPlatform; + [ + # build != host == target + stdenv.cc + ] ) ++ optionals targetPlatform.isLinux [ patchelf ]; - buildInputs = [ - gmp - mpfr - libmpc - ] - ++ optionals (lib.versionAtLeast version "10") [ libxcrypt ] - ++ [ - targetPackages.stdenv.cc.bintools # For linking code at run-time - ] - ++ optionals (isl != null) [ isl ] - ++ optionals (zlib != null) [ zlib ] - ++ optionals (langGo && stdenv.hostPlatform.isMusl) [ libucontext ] - ++ optionals (lib.versionAtLeast version "14" && stdenv.hostPlatform.isDarwin) [ darwin.apple_sdk.frameworks.CoreServices ] - ; + buildInputs = + [ + gmp + mpfr + libmpc + ] + ++ optionals (lib.versionAtLeast version "10") [ libxcrypt ] + ++ [ + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] + ++ optionals (isl != null) [ isl ] + ++ optionals (zlib != null) [ zlib ] + ++ optionals (langGo && stdenv.hostPlatform.isMusl) [ libucontext ] + ++ optionals (lib.versionAtLeast version "14" && stdenv.hostPlatform.isDarwin) [ + darwin.apple_sdk.frameworks.CoreServices + ]; - depsTargetTarget = optionals (!withoutTargetLibc && threadsCross != { } && threadsCross.package != null) [ threadsCross.package ]; + depsTargetTarget = optionals ( + !withoutTargetLibc && threadsCross != { } && threadsCross.package != null + ) [ threadsCross.package ]; } diff --git a/pkgs/development/compilers/gcc/common/extra-target-flags.nix b/pkgs/development/compilers/gcc/common/extra-target-flags.nix index 30a24185e3b45..de1f35f7f0fec 100644 --- a/pkgs/development/compilers/gcc/common/extra-target-flags.nix +++ b/pkgs/development/compilers/gcc/common/extra-target-flags.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, withoutTargetLibc, langD ? false, libcCross, threadsCross }: +{ + lib, + stdenv, + withoutTargetLibc, + langD ? false, + libcCross, + threadsCross, +}: let inherit (stdenv) hostPlatform targetPlatform; @@ -8,26 +15,42 @@ in # For non-cross builds these flags are currently assigned in builder.sh. # It would be good to consolidate the generation of makeFlags # ({C,CXX,LD}FLAGS_FOR_{BUILD,TARGET}, etc...) at some point. - EXTRA_FLAGS_FOR_TARGET = let - mkFlags = dep: langD: lib.optionals (targetPlatform != hostPlatform && dep != null && !langD) ([ - "-O2 -idirafter ${lib.getDev dep}${dep.incdir or "/include"}" - ] ++ lib.optionals (! withoutTargetLibc) [ - "-B${lib.getLib dep}${dep.libdir or "/lib"}" - ]); - in mkFlags libcCross langD - ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null) langD) - ; + EXTRA_FLAGS_FOR_TARGET = + let + mkFlags = + dep: langD: + lib.optionals (targetPlatform != hostPlatform && dep != null && !langD) ( + [ + "-O2 -idirafter ${lib.getDev dep}${dep.incdir or "/include"}" + ] + ++ lib.optionals (!withoutTargetLibc) [ + "-B${lib.getLib dep}${dep.libdir or "/lib"}" + ] + ); + in + mkFlags libcCross langD + ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null) langD); - EXTRA_LDFLAGS_FOR_TARGET = let - mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([ - "-Wl,-L${lib.getLib dep}${dep.libdir or "/lib"}" - ] ++ (if withoutTargetLibc then [ - "-B${lib.getLib dep}${dep.libdir or "/lib"}" - ] else [ - "-Wl,-rpath,${lib.getLib dep}${dep.libdir or "/lib"}" - "-Wl,-rpath-link,${lib.getLib dep}${dep.libdir or "/lib"}" - ])); - in mkFlags libcCross - ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null)) - ; + EXTRA_LDFLAGS_FOR_TARGET = + let + mkFlags = + dep: + lib.optionals (targetPlatform != hostPlatform && dep != null) ( + [ + "-Wl,-L${lib.getLib dep}${dep.libdir or "/lib"}" + ] + ++ ( + if withoutTargetLibc then + [ + "-B${lib.getLib dep}${dep.libdir or "/lib"}" + ] + else + [ + "-Wl,-rpath,${lib.getLib dep}${dep.libdir or "/lib"}" + "-Wl,-rpath-link,${lib.getLib dep}${dep.libdir or "/lib"}" + ] + ) + ); + in + mkFlags libcCross ++ lib.optionals (!withoutTargetLibc) (mkFlags (threadsCross.package or null)); } diff --git a/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix b/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix index 991efc20eee52..5c72e0dbdf05d 100644 --- a/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix +++ b/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix @@ -1,5 +1,6 @@ -{ lib -, stdenv +{ + lib, + stdenv, }: # Trick to build a gcc that is capable of emitting shared libraries *without* having the @@ -15,9 +16,7 @@ let # glibc. At this early pre-glibc stage these files sometimes # have different names. crtstuff-ofiles = - if stdenv.targetPlatform.isPower - then "ecrti.o ecrtn.o ncrti.o ncrtn.o" - else "crti.o crtn.o"; + if stdenv.targetPlatform.isPower then "ecrti.o ecrtn.o ncrti.o ncrtn.o" else "crti.o crtn.o"; # Normally, `SHLIB_LC` is set to `-lc`, which means that # `libgcc_s.so` cannot be built until `libc.so` is available. @@ -37,17 +36,22 @@ in echo 'SHLIB_LC=${SHLIB_LC}' >> libgcc/Makefile.in '' - # Meanwhile, crt{i,n}.S are not present on certain platforms - # (e.g. LoongArch64), resulting in the following error: - # - # No rule to make target '../../../gcc-xx.x.x/libgcc/config/loongarch/crti.S', needed by 'crti.o'. Stop. - # - # For LoongArch64 and S390, a hacky workaround is to simply touch them, - # as the platform forces .init_array support. - # - # https://www.openwall.com/lists/musl/2022/11/09/3 - # - # 'parsed.cpu.family' won't be correct for every platform. -+ lib.optionalString (stdenv.targetPlatform.isLoongArch64 || stdenv.targetPlatform.isS390 || stdenv.targetPlatform.isAlpha) '' - touch libgcc/config/${stdenv.targetPlatform.parsed.cpu.family}/crt{i,n}.S -'' +# Meanwhile, crt{i,n}.S are not present on certain platforms +# (e.g. LoongArch64), resulting in the following error: +# +# No rule to make target '../../../gcc-xx.x.x/libgcc/config/loongarch/crti.S', needed by 'crti.o'. Stop. +# +# For LoongArch64 and S390, a hacky workaround is to simply touch them, +# as the platform forces .init_array support. +# +# https://www.openwall.com/lists/musl/2022/11/09/3 +# +# 'parsed.cpu.family' won't be correct for every platform. ++ + lib.optionalString + ( + stdenv.targetPlatform.isLoongArch64 || stdenv.targetPlatform.isS390 || stdenv.targetPlatform.isAlpha + ) + '' + touch libgcc/config/${stdenv.targetPlatform.parsed.cpu.family}/crt{i,n}.S + '' diff --git a/pkgs/development/compilers/gcc/common/libgcc.nix b/pkgs/development/compilers/gcc/common/libgcc.nix index adb2974cc2d59..3d4bd90677632 100644 --- a/pkgs/development/compilers/gcc/common/libgcc.nix +++ b/pkgs/development/compilers/gcc/common/libgcc.nix @@ -1,159 +1,180 @@ -{ lib -, stdenv -, version -, langC -, langCC -, langJit -, enableShared -, targetPlatform -, hostPlatform -, withoutTargetLibc -, libcCross +{ + lib, + stdenv, + version, + langC, + langCC, + langJit, + enableShared, + targetPlatform, + hostPlatform, + withoutTargetLibc, + libcCross, }: assert !stdenv.targetPlatform.hasSharedLibraries -> !enableShared; -drv: lib.pipe drv +drv: +lib.pipe drv -([ + ( + [ - (pkg: pkg.overrideAttrs (previousAttrs: - lib.optionalAttrs ( - targetPlatform != hostPlatform && - (enableShared || targetPlatform.isMinGW) && - withoutTargetLibc - ) { - makeFlags = [ "all-gcc" "all-target-libgcc" ]; - installTargets = "install-gcc install-target-libgcc"; - })) + ( + pkg: + pkg.overrideAttrs ( + previousAttrs: + lib.optionalAttrs + (targetPlatform != hostPlatform && (enableShared || targetPlatform.isMinGW) && withoutTargetLibc) + { + makeFlags = [ + "all-gcc" + "all-target-libgcc" + ]; + installTargets = "install-gcc install-target-libgcc"; + } + ) + ) -] ++ + ] + ++ -# nixpkgs did not add the "libgcc" output until gcc11. In theory -# the following condition can be changed to `true`, but that has not -# been tested. -lib.optionals (lib.versionAtLeast version "11.0") + # nixpkgs did not add the "libgcc" output until gcc11. In theory + # the following condition can be changed to `true`, but that has not + # been tested. + lib.optionals (lib.versionAtLeast version "11.0") -(let - targetPlatformSlash = - if hostPlatform == targetPlatform - then "" - else "${targetPlatform.config}/"; + ( + let + targetPlatformSlash = if hostPlatform == targetPlatform then "" else "${targetPlatform.config}/"; - # If we are building a cross-compiler and the target libc provided - # to us at build time has a libgcc, use that instead of building a - # new one. This avoids having two separate (but identical) libgcc - # outpaths in the closure of most packages, which can be confusing. - useLibgccFromTargetLibc = - libcCross != null && - libcCross?passthru.libgcc; + # If we are building a cross-compiler and the target libc provided + # to us at build time has a libgcc, use that instead of building a + # new one. This avoids having two separate (but identical) libgcc + # outpaths in the closure of most packages, which can be confusing. + useLibgccFromTargetLibc = libcCross != null && libcCross ? passthru.libgcc; - enableLibGccOutput = - (!stdenv.targetPlatform.isWindows || (with stdenv; targetPlatform == hostPlatform)) && - !langJit && - !stdenv.hostPlatform.isDarwin && - enableShared && - !useLibgccFromTargetLibc - ; + enableLibGccOutput = + (!stdenv.targetPlatform.isWindows || (with stdenv; targetPlatform == hostPlatform)) + && !langJit + && !stdenv.hostPlatform.isDarwin + && enableShared + && !useLibgccFromTargetLibc; - # For some reason libgcc_s.so has major-version "2" on m68k but - # "1" everywhere else. Might be worth changing this to "*". - libgcc_s-version-major = - if targetPlatform.isM68k - then "2" - else "1"; + # For some reason libgcc_s.so has major-version "2" on m68k but + # "1" everywhere else. Might be worth changing this to "*". + libgcc_s-version-major = if targetPlatform.isM68k then "2" else "1"; -in -[ + in + [ -(pkg: pkg.overrideAttrs (previousAttrs: lib.optionalAttrs useLibgccFromTargetLibc { - passthru = (previousAttrs.passthru or {}) // { - inherit (libcCross) libgcc; - }; -})) + ( + pkg: + pkg.overrideAttrs ( + previousAttrs: + lib.optionalAttrs useLibgccFromTargetLibc { + passthru = (previousAttrs.passthru or { }) // { + inherit (libcCross) libgcc; + }; + } + ) + ) -(pkg: pkg.overrideAttrs (previousAttrs: lib.optionalAttrs ((!langC) || langJit || enableLibGccOutput) { - outputs = previousAttrs.outputs ++ lib.optionals enableLibGccOutput [ "libgcc" ]; - # This is a separate phase because gcc assembles its phase scripts - # in bash instead of nix (we should fix that). - preFixupPhases = (previousAttrs.preFixupPhases or []) ++ lib.optionals ((!langC) || enableLibGccOutput) [ "preFixupLibGccPhase" ]; - preFixupLibGccPhase = - # delete extra/unused builds of libgcc_s in non-langC builds - # (i.e. libgccjit, gnat, etc) to avoid potential confusion - lib.optionalString (!langC) '' - rm -f $out/lib/libgcc_s.so* - '' + ( + pkg: + pkg.overrideAttrs ( + previousAttrs: + lib.optionalAttrs ((!langC) || langJit || enableLibGccOutput) { + outputs = previousAttrs.outputs ++ lib.optionals enableLibGccOutput [ "libgcc" ]; + # This is a separate phase because gcc assembles its phase scripts + # in bash instead of nix (we should fix that). + preFixupPhases = + (previousAttrs.preFixupPhases or [ ]) + ++ lib.optionals ((!langC) || enableLibGccOutput) [ "preFixupLibGccPhase" ]; + preFixupLibGccPhase = + # delete extra/unused builds of libgcc_s in non-langC builds + # (i.e. libgccjit, gnat, etc) to avoid potential confusion + lib.optionalString (!langC) '' + rm -f $out/lib/libgcc_s.so* + '' - # move `libgcc_s.so` into its own output, `$libgcc` - # We maintain $libgcc/lib/$target/ structure to make sure target - # strip runs over libgcc_s.so and remove debug references to headers: - # https://github.com/NixOS/nixpkgs/issues/316114 - + lib.optionalString enableLibGccOutput ('' - # move libgcc from lib to its own output (libgcc) - mkdir -p $libgcc/${targetPlatformSlash}lib - mv $lib/${targetPlatformSlash}lib/libgcc_s.so $libgcc/${targetPlatformSlash}lib/ - mv $lib/${targetPlatformSlash}lib/libgcc_s.so.${libgcc_s-version-major} $libgcc/${targetPlatformSlash}lib/ - ln -s $libgcc/${targetPlatformSlash}lib/libgcc_s.so $lib/${targetPlatformSlash}lib/ - ln -s $libgcc/${targetPlatformSlash}lib/libgcc_s.so.${libgcc_s-version-major} $lib/${targetPlatformSlash}lib/ - '' - + lib.optionalString (targetPlatformSlash != "") '' - ln -s ${targetPlatformSlash}lib $libgcc/lib - '' - # - # Nixpkgs ordinarily turns dynamic linking into pseudo-static linking: - # libraries are still loaded dynamically, exactly which copy of each - # library is loaded is permanently fixed at compile time (via RUNPATH). - # For libgcc_s we must revert to the "impure dynamic linking" style found - # in imperative software distributions. We must do this because - # `libgcc_s` calls `malloc()` and therefore has a `DT_NEEDED` for `libc`, - # which creates two problems: - # - # 1. A circular package dependency `glibc`<-`libgcc`<-`glibc` - # - # 2. According to the `-Wl,-rpath` flags added by Nixpkgs' `ld-wrapper`, - # the two versions of `glibc` in the cycle above are actually - # different packages. The later one is compiled by this `gcc`, but - # the earlier one was compiled by the compiler *that compiled* this - # `gcc` (usually the bootstrapFiles). In any event, the `glibc` - # dynamic loader won't honor that specificity without namespaced - # manual loads (`dlmopen()`). Once a `libc` is present in the address - # space of a process, that `libc` will be used to satisfy all - # `DT_NEEDED`s for `libc`, regardless of `RUNPATH`s. - # - # So we wipe the RUNPATH using `patchelf --set-rpath ""`. We can't use - # `patchelf --remove-rpath`, because at least as of patchelf 0.15.0 it - # will leave the old RUNPATH string in the file where the reference - # scanner can still find it: - # - # https://github.com/NixOS/patchelf/issues/453 - # - # Note: we might be using the bootstrapFiles' copy of patchelf, so we have - # to keep doing it this way until both the issue is fixed *and* all the - # bootstrapFiles are regenerated, on every platform. - # - # This patchelfing is *not* effectively equivalent to copying - # `libgcc_s` into `glibc`'s outpath. There is one minor and one - # major difference: - # - # 1. (Minor): multiple builds of `glibc` (say, with different - # overrides or parameters) will all reference a single store - # path: - # - # /nix/store/xxx...xxx-gcc-libgcc/lib/libgcc_s.so.1 - # - # This many-to-one referrer relationship will be visible in the store's - # dependency graph, and will be available to `nix-store -q` queries. - # Copying `libgcc_s` into each of its referrers would lose that - # information. - # - # 2. (Major): by referencing `libgcc_s.so.1`, rather than copying it, we - # are still able to run `nix-store -qd` on it to find out how it got - # built! Most importantly, we can see from that deriver which compiler - # was used to build it (or if it is part of the unpacked - # bootstrap-files). Copying `libgcc_s.so.1` from one outpath to - # another eliminates the ability to make these queries. - # - + '' - patchelf --set-rpath "" $libgcc/lib/libgcc_s.so.${libgcc_s-version-major} - ''); -}))])) + # move `libgcc_s.so` into its own output, `$libgcc` + # We maintain $libgcc/lib/$target/ structure to make sure target + # strip runs over libgcc_s.so and remove debug references to headers: + # https://github.com/NixOS/nixpkgs/issues/316114 + + lib.optionalString enableLibGccOutput ( + '' + # move libgcc from lib to its own output (libgcc) + mkdir -p $libgcc/${targetPlatformSlash}lib + mv $lib/${targetPlatformSlash}lib/libgcc_s.so $libgcc/${targetPlatformSlash}lib/ + mv $lib/${targetPlatformSlash}lib/libgcc_s.so.${libgcc_s-version-major} $libgcc/${targetPlatformSlash}lib/ + ln -s $libgcc/${targetPlatformSlash}lib/libgcc_s.so $lib/${targetPlatformSlash}lib/ + ln -s $libgcc/${targetPlatformSlash}lib/libgcc_s.so.${libgcc_s-version-major} $lib/${targetPlatformSlash}lib/ + '' + + lib.optionalString (targetPlatformSlash != "") '' + ln -s ${targetPlatformSlash}lib $libgcc/lib + '' + # + # Nixpkgs ordinarily turns dynamic linking into pseudo-static linking: + # libraries are still loaded dynamically, exactly which copy of each + # library is loaded is permanently fixed at compile time (via RUNPATH). + # For libgcc_s we must revert to the "impure dynamic linking" style found + # in imperative software distributions. We must do this because + # `libgcc_s` calls `malloc()` and therefore has a `DT_NEEDED` for `libc`, + # which creates two problems: + # + # 1. A circular package dependency `glibc`<-`libgcc`<-`glibc` + # + # 2. According to the `-Wl,-rpath` flags added by Nixpkgs' `ld-wrapper`, + # the two versions of `glibc` in the cycle above are actually + # different packages. The later one is compiled by this `gcc`, but + # the earlier one was compiled by the compiler *that compiled* this + # `gcc` (usually the bootstrapFiles). In any event, the `glibc` + # dynamic loader won't honor that specificity without namespaced + # manual loads (`dlmopen()`). Once a `libc` is present in the address + # space of a process, that `libc` will be used to satisfy all + # `DT_NEEDED`s for `libc`, regardless of `RUNPATH`s. + # + # So we wipe the RUNPATH using `patchelf --set-rpath ""`. We can't use + # `patchelf --remove-rpath`, because at least as of patchelf 0.15.0 it + # will leave the old RUNPATH string in the file where the reference + # scanner can still find it: + # + # https://github.com/NixOS/patchelf/issues/453 + # + # Note: we might be using the bootstrapFiles' copy of patchelf, so we have + # to keep doing it this way until both the issue is fixed *and* all the + # bootstrapFiles are regenerated, on every platform. + # + # This patchelfing is *not* effectively equivalent to copying + # `libgcc_s` into `glibc`'s outpath. There is one minor and one + # major difference: + # + # 1. (Minor): multiple builds of `glibc` (say, with different + # overrides or parameters) will all reference a single store + # path: + # + # /nix/store/xxx...xxx-gcc-libgcc/lib/libgcc_s.so.1 + # + # This many-to-one referrer relationship will be visible in the store's + # dependency graph, and will be available to `nix-store -q` queries. + # Copying `libgcc_s` into each of its referrers would lose that + # information. + # + # 2. (Major): by referencing `libgcc_s.so.1`, rather than copying it, we + # are still able to run `nix-store -qd` on it to find out how it got + # built! Most importantly, we can see from that deriver which compiler + # was used to build it (or if it is part of the unpacked + # bootstrap-files). Copying `libgcc_s.so.1` from one outpath to + # another eliminates the ability to make these queries. + # + + '' + patchelf --set-rpath "" $libgcc/lib/libgcc_s.so.${libgcc_s-version-major} + '' + ); + } + ) + ) + ] + ) + ) diff --git a/pkgs/development/compilers/gcc/common/meta.nix b/pkgs/development/compilers/gcc/common/meta.nix index 4e864f95a6114..f9af92746f0bf 100644 --- a/pkgs/development/compilers/gcc/common/meta.nix +++ b/pkgs/development/compilers/gcc/common/meta.nix @@ -1,4 +1,4 @@ -{ lib, version, }: +{ lib, version }: let inherit (lib) diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index 9bcdb3070d6b9..7c1a04435076b 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -2,15 +2,17 @@ let isAarch64Darwin = targetPlatform.isDarwin && targetPlatform.isAarch64; - gcc = targetPlatform.gcc or {}; - p = gcc - // targetPlatform.parsed.abi; -in lib.concatLists [ + gcc = targetPlatform.gcc or { }; + p = gcc // targetPlatform.parsed.abi; +in +lib.concatLists [ # --with-arch= is unknown flag on x86_64 and aarch64-darwin. (lib.optional (!targetPlatform.isx86_64 && !isAarch64Darwin && p ? arch) "--with-arch=${p.arch}") # See supported_defaults in gcc/config.gcc for architecture support. # --with-cpu on aarch64-darwin fails with "Unknown cpu used in --with-cpu=apple-a13". - (lib.optional (with targetPlatform; !isLoongArch64 && !isMips && !isRiscV && !isS390 && !isAarch64Darwin && p ? cpu) "--with-cpu=${p.cpu}") + (lib.optional ( + with targetPlatform; !isLoongArch64 && !isMips && !isRiscV && !isS390 && !isAarch64Darwin && p ? cpu + ) "--with-cpu=${p.cpu}") (lib.optional (p ? abi) "--with-abi=${p.abi}") (lib.optional (p ? fpu) "--with-fpu=${p.fpu}") (lib.optional (p ? float) "--with-float=${p.float}") @@ -18,16 +20,28 @@ in lib.concatLists [ (lib.optionals targetPlatform.isPower64 # musl explicitly rejects 128-bit long double on # powerpc64; see musl/arch/powerpc64/bits/float.h - (lib.optionals - (!targetPlatform.isMusl - && (targetPlatform.isLittleEndian || - # "... --with-long-double-format is only supported if the default cpu is power7 or newer" - # https://github.com/NixOS/nixpkgs/pull/170215#issuecomment-1202164709 - (lib.lists.elem - (lib.strings.substring 0 6 (p.cpu or "")) - [ "power7" "power8" "power9" "power1"/*0, 11, etc*/ ]))) [ - "--with-long-double-128" - "--with-long-double-format=${gcc.long-double-format or "ieee"}" - ])) + ( + lib.optionals + ( + !targetPlatform.isMusl + && ( + targetPlatform.isLittleEndian + || + # "... --with-long-double-format is only supported if the default cpu is power7 or newer" + # https://github.com/NixOS/nixpkgs/pull/170215#issuecomment-1202164709 + (lib.lists.elem (lib.strings.substring 0 6 (p.cpu or "")) [ + "power7" + "power8" + "power9" + "power1" # 0, 11, etc + ]) + ) + ) + [ + "--with-long-double-128" + "--with-long-double-format=${gcc.long-double-format or "ieee"}" + ] + ) + ) (lib.optional targetPlatform.isMips64n32 "--disable-libsanitizer") # libsanitizer does not compile on mips64n32 ] diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix index 9e1764eae916e..ca64ac375ca35 100644 --- a/pkgs/development/compilers/gcc/common/pre-configure.nix +++ b/pkgs/development/compilers/gcc/common/pre-configure.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, version, buildPlatform, hostPlatform, targetPlatform -, gnat-bootstrap ? null -, langAda ? false -, langFortran -, langJit ? false -, langGo -, withoutTargetLibc -, enableShared -, enableMultilib -, pkgsBuildTarget +{ + lib, + stdenv, + version, + buildPlatform, + hostPlatform, + targetPlatform, + gnat-bootstrap ? null, + langAda ? false, + langFortran, + langJit ? false, + langGo, + withoutTargetLibc, + enableShared, + enableMultilib, + pkgsBuildTarget, }: assert langAda -> gnat-bootstrap != null; @@ -19,7 +23,8 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" -'' + lib.optionalString langAda '' +'' ++ lib.optionalString langAda '' export PATH=${gnat-bootstrap}/bin:$PATH '' @@ -28,9 +33,12 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' # buildPlatform and emit code for the targetPlatform. The compiler # which is built alongside gfortran in this configuration doesn't # meet that need: it runs on the hostPlatform. -+ lib.optionalString (langFortran && (with stdenv; buildPlatform != hostPlatform && hostPlatform == targetPlatform)) '' - export GFORTRAN_FOR_TARGET=${pkgsBuildTarget.gfortran}/bin/${stdenv.targetPlatform.config}-gfortran -'' ++ + lib.optionalString + (langFortran && (with stdenv; buildPlatform != hostPlatform && hostPlatform == targetPlatform)) + '' + export GFORTRAN_FOR_TARGET=${pkgsBuildTarget.gfortran}/bin/${stdenv.targetPlatform.config}-gfortran + '' # NOTE 2020/3/18: This environment variable prevents configure scripts from # detecting the presence of aligned_alloc on Darwin. There are many facts that @@ -61,11 +69,13 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' # compilation even if the configure scripts did not check header presence. # + lib.optionalString (buildPlatform.isDarwin) '' - export build_configargs=ac_cv_func_aligned_alloc=no -'' + lib.optionalString (hostPlatform.isDarwin) '' - export host_configargs=ac_cv_func_aligned_alloc=no -'' + lib.optionalString (targetPlatform.isDarwin) '' - export target_configargs=ac_cv_func_aligned_alloc=no + export build_configargs=ac_cv_func_aligned_alloc=no +'' ++ lib.optionalString (hostPlatform.isDarwin) '' + export host_configargs=ac_cv_func_aligned_alloc=no +'' ++ lib.optionalString (targetPlatform.isDarwin) '' + export target_configargs=ac_cv_func_aligned_alloc=no '' # In order to properly install libgccjit on macOS Catalina, strip(1) @@ -79,20 +89,26 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' # HACK: if host and target config are the same, but the platforms are # actually different we need to convince the configure script that it # is in fact building a cross compiler although it doesn't believe it. -+ lib.optionalString (targetPlatform.config == hostPlatform.config && targetPlatform != hostPlatform) '' - substituteInPlace configure --replace is_cross_compiler=no is_cross_compiler=yes -'' ++ + lib.optionalString (targetPlatform.config == hostPlatform.config && targetPlatform != hostPlatform) + '' + substituteInPlace configure --replace is_cross_compiler=no is_cross_compiler=yes + '' # Normally (for host != target case) --without-headers automatically # enables 'inhibit_libc=true' in gcc's gcc/configure.ac. But case of # gcc->clang or dynamic->static "cross"-compilation manages to evade it: there # hostPlatform != targetPlatform, hostPlatform.config == targetPlatform.config. # We explicitly inhibit libc headers use in this case as well. -+ lib.optionalString (targetPlatform != hostPlatform && - withoutTargetLibc && - targetPlatform.config == hostPlatform.config) '' - export inhibit_libc=true -'' ++ + lib.optionalString + ( + targetPlatform != hostPlatform && withoutTargetLibc && targetPlatform.config == hostPlatform.config + ) + '' + export inhibit_libc=true + '' -+ lib.optionalString (targetPlatform != hostPlatform && withoutTargetLibc && enableShared) - (import ./libgcc-buildstuff.nix { inherit lib stdenv; }) ++ lib.optionalString (targetPlatform != hostPlatform && withoutTargetLibc && enableShared) ( + import ./libgcc-buildstuff.nix { inherit lib stdenv; } +) diff --git a/pkgs/development/compilers/gcc/common/strip-attributes.nix b/pkgs/development/compilers/gcc/common/strip-attributes.nix index f2f0efb1264a9..3871d84664959 100644 --- a/pkgs/development/compilers/gcc/common/strip-attributes.nix +++ b/pkgs/development/compilers/gcc/common/strip-attributes.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, langJit }: +{ + lib, + stdenv, + langJit, +}: { # Note [Cross-compiler stripping] @@ -29,42 +33,51 @@ # The rest of stripDebugList{Host,Target} will be populated in # postInstall to disambiguate lib/ object files. - stripDebugList = [ "bin" "libexec" ]; + stripDebugList = [ + "bin" + "libexec" + ]; stripDebugListTarget = [ stdenv.targetPlatform.config ]; - preFixup = '' - # Populate most delicated lib/ part of stripDebugList{,Target} - updateDebugListPaths() { - local oldOpts - oldOpts="$(shopt -p nullglob)" || true - shopt -s nullglob + preFixup = + '' + # Populate most delicated lib/ part of stripDebugList{,Target} + updateDebugListPaths() { + local oldOpts + oldOpts="$(shopt -p nullglob)" || true + shopt -s nullglob - pushd $out - local -ar outHostFiles=( - lib{,32,64}/*.{a,o,so*} - lib{,32,64}/gcc/${stdenv.targetPlatform.config}/*/plugin - ) - local -ar outTargetFiles=( - lib{,32,64}/gcc/${stdenv.targetPlatform.config}/*/*.{a,o,so*} - ) - popd - '' + lib.optionalString (!langJit) '' - ${/*keep indentation*/ ""} - pushd $lib - local -ar libHostFiles=( - lib{,32,64}/*.{a,o,so*} - ) - local -ar libTargetFiles=( - lib{,32,64}/${stdenv.targetPlatform.config}/*.{a,o,so*} - ) - popd + pushd $out + local -ar outHostFiles=( + lib{,32,64}/*.{a,o,so*} + lib{,32,64}/gcc/${stdenv.targetPlatform.config}/*/plugin + ) + local -ar outTargetFiles=( + lib{,32,64}/gcc/${stdenv.targetPlatform.config}/*/*.{a,o,so*} + ) + popd + '' + + lib.optionalString (!langJit) '' + ${ + # keep indentation + "" + } + pushd $lib + local -ar libHostFiles=( + lib{,32,64}/*.{a,o,so*} + ) + local -ar libTargetFiles=( + lib{,32,64}/${stdenv.targetPlatform.config}/*.{a,o,so*} + ) + popd - '' + '' - eval "$oldOpts" + '' + + '' + eval "$oldOpts" - stripDebugList="$stripDebugList ''${outHostFiles[*]} ''${libHostFiles[*]}" - stripDebugListTarget="$stripDebugListTarget ''${outTargetFiles[*]} ''${libTargetFiles[*]}" - } - updateDebugListPaths - ''; + stripDebugList="$stripDebugList ''${outHostFiles[*]} ''${libHostFiles[*]}" + stripDebugListTarget="$stripDebugListTarget ''${outTargetFiles[*]} ''${libTargetFiles[*]}" + } + updateDebugListPaths + ''; } diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix index c9989f4c1e0b3..657a0f8769782 100644 --- a/pkgs/development/compilers/gcc/patches/default.nix +++ b/pkgs/development/compilers/gcc/patches/default.nix @@ -1,27 +1,29 @@ -{ lib, stdenv -, langC -, langAda -, langObjC -, langObjCpp -, langD -, langFortran -, langGo -, reproducibleBuild -, profiledCompiler -, langJit -, staticCompiler -, enableShared -, enableLTO -, version -, fetchpatch -, majorVersion -, targetPlatform -, hostPlatform -, noSysDirs -, buildPlatform -, fetchurl -, withoutTargetLibc -, threadsCross +{ + lib, + stdenv, + langC, + langAda, + langObjC, + langObjCpp, + langD, + langFortran, + langGo, + reproducibleBuild, + profiledCompiler, + langJit, + staticCompiler, + enableShared, + enableLTO, + version, + fetchpatch, + majorVersion, + targetPlatform, + hostPlatform, + noSysDirs, + buildPlatform, + fetchurl, + withoutTargetLibc, + threadsCross, }: let @@ -35,7 +37,7 @@ let is12 = majorVersion == "12"; is11 = majorVersion == "11"; is10 = majorVersion == "10"; - is9 = majorVersion == "9"; + is9 = majorVersion == "9"; inherit (lib) optionals optional; in @@ -46,30 +48,41 @@ in # 3. Patches relevant only to gcc<12 # - ## 1. Patches relevant to gcc>=12 on every platform #################################### -[] +[ ] ++ optional (!atLeast12) ./fix-bug-80431.patch ++ optional (targetPlatform != hostPlatform) ./libstdc++-target.patch ++ optionals (noSysDirs) ( - [(if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)] ++ - ({ - "14" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch ]; - "13" = [ ./13/no-sys-dirs-riscv.patch ./13/mangle-NIX_STORE-in-__FILE__.patch ]; - "12" = [ ./no-sys-dirs-riscv.patch ./12/mangle-NIX_STORE-in-__FILE__.patch ]; - "11" = [ ./no-sys-dirs-riscv.patch ]; - "10" = [ ./no-sys-dirs-riscv.patch ]; - "9" = [ ./no-sys-dirs-riscv-gcc9.patch ]; - }."${majorVersion}" or []) + [ (if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch) ] + ++ ( + { + "14" = [ + ./13/no-sys-dirs-riscv.patch + ./13/mangle-NIX_STORE-in-__FILE__.patch + ]; + "13" = [ + ./13/no-sys-dirs-riscv.patch + ./13/mangle-NIX_STORE-in-__FILE__.patch + ]; + "12" = [ + ./no-sys-dirs-riscv.patch + ./12/mangle-NIX_STORE-in-__FILE__.patch + ]; + "11" = [ ./no-sys-dirs-riscv.patch ]; + "10" = [ ./no-sys-dirs-riscv.patch ]; + "9" = [ ./no-sys-dirs-riscv-gcc9.patch ]; + } + ."${majorVersion}" or [ ] + ) ) ++ optional (atLeast12 && langAda) ./gnat-cflags-11.patch -++ optional langFortran (if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch) +++ optional langFortran ( + if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch +) ++ [ ./ppc-musl.patch ] ++ optional langD ./libphobos.patch - - ## 2. Patches relevant to gcc>=12 on specific platforms #################################### ### Musl+Go+gcc12 @@ -112,73 +125,102 @@ in }) ] - ## Darwin # Fixes detection of Darwin on x86_64-darwin. Otherwise, GCC uses a deployment target of 10.5, which crashes ld64. -++ optional (atLeast14 && stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) ../patches/14/libgcc-darwin-detection.patch +++ optional ( + atLeast14 && stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 +) ../patches/14/libgcc-darwin-detection.patch # Fix detection of bootstrap compiler Ada support (cctools as) on Nix Darwin -++ optional (atLeast12 && stdenv.hostPlatform.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch +++ optional ( + atLeast12 && stdenv.hostPlatform.isDarwin && langAda +) ./ada-cctools-as-detection-configure.patch # Remove CoreServices on Darwin, as it is only needed for macOS SDK 14+ -++ optional (atLeast14 && stdenv.hostPlatform.isDarwin && langAda) ../patches/14/gcc-darwin-remove-coreservices.patch +++ optional ( + atLeast14 && stdenv.hostPlatform.isDarwin && langAda +) ../patches/14/gcc-darwin-remove-coreservices.patch # Use absolute path in GNAT dylib install names on Darwin -++ optionals (stdenv.hostPlatform.isDarwin && langAda) ({ - "14" = [ ../patches/14/gnat-darwin-dylib-install-name-14.patch ]; - "13" = [ ./gnat-darwin-dylib-install-name-13.patch ]; - "12" = [ ./gnat-darwin-dylib-install-name.patch ]; -}.${majorVersion} or []) +++ optionals (stdenv.hostPlatform.isDarwin && langAda) ( + { + "14" = [ ../patches/14/gnat-darwin-dylib-install-name-14.patch ]; + "13" = [ ./gnat-darwin-dylib-install-name-13.patch ]; + "12" = [ ./gnat-darwin-dylib-install-name.patch ]; + } + .${majorVersion} or [ ] +) # We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building # a foreign one: https://github.com/iains/gcc-12-branch/issues/18 -++ optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) ({ - "14" = [ (fetchpatch { - # There are no upstream release tags in https://github.com/iains/gcc-14-branch. - # 04696df09633baf97cdbbdd6e9929b9d472161d3 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-14.2.0 - name = "gcc-14-darwin-aarch64-support.patch"; - url = "https://github.com/iains/gcc-14-branch/compare/04696df09633baf97cdbbdd6e9929b9d472161d3..gcc-14.2-darwin-r0.diff"; - hash = "sha256-GEUz7KdGzd2WJ0gjX3Uddq2y9bWKdZpT3E9uZ09qLs4="; - }) ]; - "13" = [ (fetchpatch { - name = "gcc-13-darwin-aarch64-support.patch"; - url = "https://raw.githubusercontent.com/Homebrew/formula-patches/bda0faddfbfb392e7b9c9101056b2c5ab2500508/gcc/gcc-13.3.0.diff"; - sha256 = "sha256-RBTCBXIveGwuQGJLzMW/UexpUZdDgdXprp/G2NHkmQo="; - }) ]; - "12" = [ (fetchurl { - name = "gcc-12-darwin-aarch64-support.patch"; - url = "https://raw.githubusercontent.com/Homebrew/formula-patches/1ed9eaea059f1677d27382c62f21462b476b37fe/gcc/gcc-12.4.0.diff"; - sha256 = "sha256-wOjpT79lps4TKG5/E761odhLGCphBIkCbOPiQg/D1Fw="; - }) ]; - "11" = [ (fetchpatch { - # There are no upstream release tags in https://github.com/iains/gcc-11-branch. - # 5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-11.5.0 - url = "https://github.com/iains/gcc-11-branch/compare/5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6..gcc-11.5-darwin-r0.diff"; - hash = "sha256-7lH+GkgkrE6nOp9PMdIoqlQNWK31s6oW+lDt1LIkadE="; - }) ]; - "10" = [ (fetchpatch { - # There are no upstream release tags in https://github.com/iains/gcc-10-branch. - # d04fe55 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-10.5.0 - url = "https://github.com/iains/gcc-10-branch/compare/d04fe5541c53cb16d1ca5c80da044b4c7633dbc6...gcc-10-5Dr0-pre-0.diff"; - hash = "sha256-kVUHZKtYqkWIcqxHG7yAOR2B60w4KWLoxzaiFD/FWYk="; - }) ]; -}.${majorVersion} or []) +++ + optionals + ( + stdenv.hostPlatform.isDarwin + && stdenv.hostPlatform.isAarch64 + && buildPlatform == hostPlatform + && hostPlatform == targetPlatform + ) + ( + { + "14" = [ + (fetchpatch { + # There are no upstream release tags in https://github.com/iains/gcc-14-branch. + # 04696df09633baf97cdbbdd6e9929b9d472161d3 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-14.2.0 + name = "gcc-14-darwin-aarch64-support.patch"; + url = "https://github.com/iains/gcc-14-branch/compare/04696df09633baf97cdbbdd6e9929b9d472161d3..gcc-14.2-darwin-r0.diff"; + hash = "sha256-GEUz7KdGzd2WJ0gjX3Uddq2y9bWKdZpT3E9uZ09qLs4="; + }) + ]; + "13" = [ + (fetchpatch { + name = "gcc-13-darwin-aarch64-support.patch"; + url = "https://raw.githubusercontent.com/Homebrew/formula-patches/bda0faddfbfb392e7b9c9101056b2c5ab2500508/gcc/gcc-13.3.0.diff"; + sha256 = "sha256-RBTCBXIveGwuQGJLzMW/UexpUZdDgdXprp/G2NHkmQo="; + }) + ]; + "12" = [ + (fetchurl { + name = "gcc-12-darwin-aarch64-support.patch"; + url = "https://raw.githubusercontent.com/Homebrew/formula-patches/1ed9eaea059f1677d27382c62f21462b476b37fe/gcc/gcc-12.4.0.diff"; + sha256 = "sha256-wOjpT79lps4TKG5/E761odhLGCphBIkCbOPiQg/D1Fw="; + }) + ]; + "11" = [ + (fetchpatch { + # There are no upstream release tags in https://github.com/iains/gcc-11-branch. + # 5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-11.5.0 + url = "https://github.com/iains/gcc-11-branch/compare/5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6..gcc-11.5-darwin-r0.diff"; + hash = "sha256-7lH+GkgkrE6nOp9PMdIoqlQNWK31s6oW+lDt1LIkadE="; + }) + ]; + "10" = [ + (fetchpatch { + # There are no upstream release tags in https://github.com/iains/gcc-10-branch. + # d04fe55 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-10.5.0 + url = "https://github.com/iains/gcc-10-branch/compare/d04fe5541c53cb16d1ca5c80da044b4c7633dbc6...gcc-10-5Dr0-pre-0.diff"; + hash = "sha256-kVUHZKtYqkWIcqxHG7yAOR2B60w4KWLoxzaiFD/FWYk="; + }) + ]; + } + .${majorVersion} or [ ] + ) # Work around newer AvailabilityInternal.h when building older versions of GCC. -++ optionals (stdenv.hostPlatform.isDarwin) ({ - "9" = [ ../patches/9/AvailabilityInternal.h-fixincludes.patch ]; -}.${majorVersion} or []) - +++ optionals (stdenv.hostPlatform.isDarwin) ( + { + "9" = [ ../patches/9/AvailabilityInternal.h-fixincludes.patch ]; + } + .${majorVersion} or [ ] +) ## Windows # Obtain latest patch with ../update-mcfgthread-patches.sh -++ optional (!atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf") - (./. + "/${majorVersion}/Added-mcf-thread-model-support-from-mcfgthread.patch") - - - +++ optional ( + !atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf" +) (./. + "/${majorVersion}/Added-mcf-thread-model-support-from-mcfgthread.patch") ############################################################################## ## @@ -190,27 +232,25 @@ in ## ############################################################################## - - - ## gcc 11.0 and older ############################################################################## # openjdk build fails without this on -march=opteron; is upstream in gcc12 ++ optionals (is11) [ ./11/gcc-issue-103910.patch ] - - ## gcc 10.0 and older ############################################################################## ++ optional (langAda && (is9 || is10)) ./gnat-cflags.patch -++ optional (is10 && buildPlatform.system == "aarch64-darwin" && targetPlatform != buildPlatform) (fetchpatch { - url = "https://raw.githubusercontent.com/richard-vd/musl-cross-make/5e9e87f06fc3220e102c29d3413fbbffa456fcd6/patches/gcc-${version}/0008-darwin-aarch64-self-host-driver.patch"; - sha256 = "sha256-XtykrPd5h/tsnjY1wGjzSOJ+AyyNLsfnjuOZ5Ryq9vA="; -}) +++ + optional (is10 && buildPlatform.system == "aarch64-darwin" && targetPlatform != buildPlatform) + (fetchpatch { + url = "https://raw.githubusercontent.com/richard-vd/musl-cross-make/5e9e87f06fc3220e102c29d3413fbbffa456fcd6/patches/gcc-${version}/0008-darwin-aarch64-self-host-driver.patch"; + sha256 = "sha256-XtykrPd5h/tsnjY1wGjzSOJ+AyyNLsfnjuOZ5Ryq9vA="; + }) # Fix undefined symbol errors when building older versions with clang -++ optional (!atLeast11 && stdenv.cc.isClang && stdenv.hostPlatform.isDarwin) ./clang-genconditions.patch - +++ optional ( + !atLeast11 && stdenv.cc.isClang && stdenv.hostPlatform.isDarwin +) ./clang-genconditions.patch ## gcc 9.0 and older ############################################################################## diff --git a/pkgs/development/compilers/gcc/versions.nix b/pkgs/development/compilers/gcc/versions.nix index 87ebf0681299c..bbd32c21e9608 100644 --- a/pkgs/development/compilers/gcc/versions.nix +++ b/pkgs/development/compilers/gcc/versions.nix @@ -5,23 +5,26 @@ let "12" = "12.4.0"; "11" = "11.5.0"; "10" = "10.5.0"; - "9" = "9.5.0"; + "9" = "9.5.0"; }; - fromMajorMinor = majorMinorVersion: - majorMinorToVersionMap."${majorMinorVersion}"; + fromMajorMinor = majorMinorVersion: majorMinorToVersionMap."${majorMinorVersion}"; # TODO(amjoseph): convert older hashes to SRI form - srcHashForVersion = version: { - "14.2.0" = "sha256-p7Obxpy/niWCbFpgqyZHcAH3wI2FzsBLwOKcq+1vPMk="; - "13.3.0" = "sha256-CEXpYhyVQ6E/SE6UWEpJ/8ASmXDpkUYkI1/B0GGgwIM="; - "12.4.0" = "sha256-cE9lJgTMvMsUvavzR4yVEciXiLEss7v/3tNzQZFqkXU="; - "11.5.0" = "sha256-puIYaOrVRc+H8MAfhCduS1KB1nIJhZHByJYkHwk2NHg="; - "10.5.0" = "sha256-JRCVQ/30bzl8NHtdi3osflaUpaUczkucbh6opxyjB8E="; - "9.5.0" = "13ygjmd938m0wmy946pxdhz9i1wq7z4w10l6pvidak0xxxj9yxi7"; - }."${version}"; + srcHashForVersion = + version: + { + "14.2.0" = "sha256-p7Obxpy/niWCbFpgqyZHcAH3wI2FzsBLwOKcq+1vPMk="; + "13.3.0" = "sha256-CEXpYhyVQ6E/SE6UWEpJ/8ASmXDpkUYkI1/B0GGgwIM="; + "12.4.0" = "sha256-cE9lJgTMvMsUvavzR4yVEciXiLEss7v/3tNzQZFqkXU="; + "11.5.0" = "sha256-puIYaOrVRc+H8MAfhCduS1KB1nIJhZHByJYkHwk2NHg="; + "10.5.0" = "sha256-JRCVQ/30bzl8NHtdi3osflaUpaUczkucbh6opxyjB8E="; + "9.5.0" = "13ygjmd938m0wmy946pxdhz9i1wq7z4w10l6pvidak0xxxj9yxi7"; + } + ."${version}"; -in { +in +{ inherit fromMajorMinor; inherit srcHashForVersion; allMajorVersions = builtins.attrNames majorMinorToVersionMap; diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix index 64d36ea67a73c..6000560726317 100644 --- a/pkgs/development/compilers/gcl/default.nix +++ b/pkgs/development/compilers/gcl/default.nix @@ -1,11 +1,28 @@ -{ lib, stdenv, fetchurl, mpfr, m4, binutils, emacs, zlib, which -, texinfo, libX11, xorgproto, libXi, gmp -, libXext, libXt, libXaw, libXmu } : +{ + lib, + stdenv, + fetchurl, + mpfr, + m4, + binutils, + emacs, + zlib, + which, + texinfo, + libX11, + xorgproto, + libXi, + gmp, + libXext, + libXt, + libXaw, + libXmu, +}: -assert stdenv ? cc ; -assert stdenv.cc.isGNU ; -assert stdenv.cc ? libc ; -assert stdenv.cc.libc != null ; +assert stdenv ? cc; +assert stdenv.cc.isGNU; +assert stdenv.cc ? libc; +assert stdenv.cc.libc != null; stdenv.mkDerivation rec { pname = "gcl"; @@ -17,10 +34,21 @@ stdenv.mkDerivation rec { }; buildInputs = [ - mpfr m4 binutils emacs gmp - libX11 xorgproto libXi - libXext libXt libXaw libXmu - zlib which texinfo + mpfr + m4 + binutils + emacs + gmp + libX11 + xorgproto + libXi + libXext + libXt + libXaw + libXmu + zlib + which + texinfo ]; configureFlags = [ diff --git a/pkgs/development/compilers/gerbil/build.nix b/pkgs/development/compilers/gerbil/build.nix index 5ed7339c31beb..26808377b1ac5 100644 --- a/pkgs/development/compilers/gerbil/build.nix +++ b/pkgs/development/compilers/gerbil/build.nix @@ -1,21 +1,35 @@ -{ gccStdenv, lib, coreutils, - openssl, zlib, sqlite, - version, git-version, src, +{ + gccStdenv, + lib, + coreutils, + openssl, + zlib, + sqlite, + version, + git-version, + src, gambit-support, gambit-git-version, gambit-stampYmd, gambit-stampHms, - gambit-params }: + gambit-params, +}: # We use Gambit, that works 10x better with GCC than Clang. See ../gambit/build.nix -let stdenv = gccStdenv; in +let + stdenv = gccStdenv; +in stdenv.mkDerivation rec { pname = "gerbil"; inherit version; inherit src; - buildInputs_libraries = [ openssl zlib sqlite ]; + buildInputs_libraries = [ + openssl + zlib + sqlite + ]; # TODO: either fix all of Gerbil's dependencies to provide static libraries, # or give up and delete all tentative support for static libraries. @@ -41,16 +55,16 @@ stdenv.mkDerivation rec { done ''; -## TODO: make static compilation work. -## For that, get all the packages below to somehow expose static libraries, -## so we can offer users the option to statically link them into Gambit and/or Gerbil. -## Then add the following to the postPatch script above: -# cat > etc/gerbil_static_libraries.sh < etc/gerbil_static_libraries.sh < "${version-path}.ss"''} + ''echo -e '(import :clan/versioning${ + concatStringsSep "" ( + map ( + x: + let + px = x.passthru.pre-pkg; + in + optionalString (px.version-path != "") " :${px.gerbil-package}/${px.version-path}" + ) gerbilInputs + ) + })\n(register-software "${softwareName}" "v${git-version}")\n' > "${version-path}.ss"'' + } patchShebangs . ; ''; postConfigure = '' export GERBIL_BUILD_CORES=$NIX_BUILD_CORES export GERBIL_PATH=$PWD/.build - export GERBIL_LOADPATH=${gerbilLoadPath (["$out"] ++ gerbilInputs)} + export GERBIL_LOADPATH=${gerbilLoadPath ([ "$out" ] ++ gerbilInputs)} ${pkgs.gambit-support.export-gambopt gambit-params} ''; diff --git a/pkgs/development/compilers/gerbil/gerbil-utils.nix b/pkgs/development/compilers/gerbil/gerbil-utils.nix index ef6405c76304b..dcc07d6eda67f 100644 --- a/pkgs/development/compilers/gerbil/gerbil-utils.nix +++ b/pkgs/development/compilers/gerbil/gerbil-utils.nix @@ -18,9 +18,9 @@ meta = with lib; { description = "Gerbil Clan: Community curated Collection of Common Utilities"; - homepage = "https://github.com/fare/gerbil-utils"; - license = licenses.lgpl21; - platforms = platforms.unix; + homepage = "https://github.com/fare/gerbil-utils"; + license = licenses.lgpl21; + platforms = platforms.unix; maintainers = with maintainers; [ fare ]; }; } diff --git a/pkgs/development/compilers/gerbil/smug-gerbil.nix b/pkgs/development/compilers/gerbil/smug-gerbil.nix index 518ec0238f6b7..52f14ca122594 100644 --- a/pkgs/development/compilers/gerbil/smug-gerbil.nix +++ b/pkgs/development/compilers/gerbil/smug-gerbil.nix @@ -17,9 +17,9 @@ meta = with lib; { description = "Super Monadic Über Go-into : Parsers and Gerbil Scheme"; - homepage = "https://github.com/drewc/smug-gerbil"; - license = licenses.mit; - platforms = platforms.unix; + homepage = "https://github.com/drewc/smug-gerbil"; + license = licenses.mit; + platforms = platforms.unix; maintainers = with maintainers; [ fare ]; }; } diff --git a/pkgs/development/compilers/gerbil/unstable.nix b/pkgs/development/compilers/gerbil/unstable.nix index 0dd078556efba..871bbcb72242a 100644 --- a/pkgs/development/compilers/gerbil/unstable.nix +++ b/pkgs/development/compilers/gerbil/unstable.nix @@ -1,4 +1,8 @@ -{ callPackage, fetchFromGitHub, gambit-support }: +{ + callPackage, + fetchFromGitHub, + gambit-support, +}: callPackage ./build.nix rec { version = "unstable-2023-12-06"; diff --git a/pkgs/development/compilers/ghc/8.10.7-binary.nix b/pkgs/development/compilers/ghc/8.10.7-binary.nix index 20ad72462401d..5d680574ad230 100644 --- a/pkgs/development/compilers/ghc/8.10.7-binary.nix +++ b/pkgs/development/compilers/ghc/8.10.7-binary.nix @@ -1,17 +1,24 @@ -{ lib, stdenv -, fetchurl, perl, gcc -, ncurses5 -, ncurses6, gmp, libiconv, numactl -, llvmPackages -, coreutils -, rcodesign -, targetPackages +{ + lib, + stdenv, + fetchurl, + perl, + gcc, + ncurses5, + ncurses6, + gmp, + libiconv, + numactl, + llvmPackages, + coreutils, + rcodesign, + targetPackages, # minimal = true; will remove files that aren't strictly necessary for # regular builds and GHC bootstrapping. # This is "useful" for staying within hydra's output limits for at least the # aarch64-linux architecture. -, minimal ? false + minimal ? false, }: # Prebuilt only does native @@ -51,11 +58,17 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } # The i686-linux bindist provided by GHC HQ is currently built on Debian 9, # which link it against `libtinfo.so.5` (ncurses 5). # Other bindists are linked `libtinfo.so.6` (ncurses 6). - { nixPackage = ncurses5; fileToCheckFor = "libtinfo.so.5"; } + { + nixPackage = ncurses5; + fileToCheckFor = "libtinfo.so.5"; + } ]; }; x86_64-linux = { @@ -66,8 +79,14 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } ]; }; armv7l-linux = { @@ -78,8 +97,14 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } ]; }; aarch64-linux = { @@ -90,9 +115,18 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - { nixPackage = numactl; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } + { + nixPackage = numactl; + fileToCheckFor = null; + } ]; }; x86_64-darwin = { @@ -103,9 +137,18 @@ let }; exePathForLibraryCheck = null; # we don't have a library check for darwin yet archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = null; + } + { + nixPackage = libiconv; + fileToCheckFor = null; + } ]; }; aarch64-darwin = { @@ -116,9 +159,18 @@ let }; exePathForLibraryCheck = null; # we don't have a library check for darwin yet archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = null; + } + { + nixPackage = libiconv; + fileToCheckFor = null; + } ]; }; }; @@ -136,7 +188,10 @@ let # In contrast to glibc builds, the musl-bindist uses `libncursesw.so.*` # instead of `libtinfo.so.*.` - { nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; } + { + nixPackage = ncurses6; + fileToCheckFor = "libncursesw.so.6"; + } ]; isHadrian = true; }; @@ -145,32 +200,32 @@ let distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc"; - binDistUsed = ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); + binDistUsed = + ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} + or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); useLLVM = !stdenv.targetPlatform.isx86; - libPath = - lib.makeLibraryPath ( - # Add arch-specific libraries. - map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries - ); - - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" - + "LD_LIBRARY_PATH"; - - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - ++ lib.optionals useLLVM [ - (lib.getBin llvmPackages.llvm) - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; + libPath = lib.makeLibraryPath ( + # Add arch-specific libraries. + map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries + ); + + libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; + + runtimeDeps = + [ + targetPackages.stdenv.cc + targetPackages.stdenv.cc.bintools + coreutils # for cat + ] + ++ lib.optionals useLLVM [ + (lib.getBin llvmPackages.llvm) + ] + # On darwin, we need unwrapped bintools as well (for otool) + ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ + targetPackages.stdenv.cc.bintools.bintools + ]; in @@ -191,7 +246,8 @@ stdenv.mkDerivation rec { # https://gitlab.haskell.org/ghc/ghc/-/issues/20059 # and update this comment accordingly. - nativeBuildInputs = [ perl ] + nativeBuildInputs = + [ perl ] # Upstream binaries may not be linker-signed, which invalidates their signatures # because `install_name_tool` will only replace a signature if it is both # an ad hoc signature and the signature is flagged as linker-signed. @@ -211,12 +267,14 @@ stdenv.mkDerivation rec { # Verify our assumptions of which `libtinfo.so` (ncurses) version is used, # so that we know when ghc bindists upgrade that and we need to update the # version used in `libPath`. - lib.optionalString - (binDistUsed.exePathForLibraryCheck != null) + lib.optionalString (binDistUsed.exePathForLibraryCheck != null) # Note the `*` glob because some GHCs have a suffix when unpacked, e.g. # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`. # As a result, don't shell-quote this glob when splicing the string. - (let buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; in + ( + let + buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; + in lib.concatStringsSep "\n" [ ('' shopt -u nullglob @@ -225,96 +283,104 @@ stdenv.mkDerivation rec { echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; fi '') - (lib.concatMapStringsSep - "\n" - ({ fileToCheckFor, nixPackage }: - lib.optionalString (fileToCheckFor != null) '' - echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" - if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then - echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - - echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" - if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then - echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - ) - binDistUsed.archSpecificLibraries - ) - ]) + (lib.concatMapStringsSep "\n" ( + { fileToCheckFor, nixPackage }: + lib.optionalString (fileToCheckFor != null) '' + echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" + if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then + echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; + fi + + echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" + if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then + echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; + fi + '' + ) binDistUsed.archSpecificLibraries) + ] + ) # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib # during linking - + lib.optionalString stdenv.hostPlatform.isDarwin ('' - export NIX_LDFLAGS+=" -no_dtrace_dof" - # not enough room in the object files for the full path to libiconv :( - for exe in $(find . -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - '' + lib.optionalString stdenv.hostPlatform.isAarch64 '' + + lib.optionalString stdenv.hostPlatform.isDarwin ( + '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + # not enough room in the object files for the full path to libiconv :( + for exe in $(find . -type f -executable); do + isScript $exe && continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe + '' + + lib.optionalString stdenv.hostPlatform.isAarch64 '' # Resign the binary and set the linker-signed flag. Ignore failures when the file is an object file. # Object files don’t have signatures, so ignoring the failures is harmless. rcodesign sign --code-signature-flags linker-signed $exe || true - '' + '' - done - '') + + '' + + '' + done + '' + ) + + - # Some scripts used during the build need to have their shebangs patched - '' - patchShebangs ghc-${version}/utils/ - patchShebangs ghc-${version}/configure - test -d ghc-${version}/inplace/bin && \ - patchShebangs ghc-${version}/inplace/bin - '' + - # We have to patch the GMP paths for the integer-gmp package. - # Note that musl bindists do not contain them, - # see: https://gitlab.haskell.org/ghc/ghc/-/issues/20073#note_363231 - # However, musl bindists >= 8.10.6 use `integer-simple`, not `gmp`. - '' - find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Some scripts used during the build need to have their shebangs patched + '' + patchShebangs ghc-${version}/utils/ + patchShebangs ghc-${version}/configure + test -d ghc-${version}/inplace/bin && \ + patchShebangs ghc-${version}/inplace/bin + '' + + + # We have to patch the GMP paths for the integer-gmp package. + # Note that musl bindists do not contain them, + # see: https://gitlab.haskell.org/ghc/ghc/-/issues/20073#note_363231 + # However, musl bindists >= 8.10.6 use `integer-simple`, not `gmp`. + '' + find . -name integer-gmp.buildinfo \ + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' find . -name base.buildinfo \ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; - '' + - # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in - # FFI_LIB_DIR is a good indication of places it must be needed. - lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' - find . -name package.conf.in \ - -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; - '' + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -executable -exec patchelf \ - --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; - '' + - # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path - # substitution. Which can break the build if the store path / prefix happens - # to contain this string. This will be fixed with 9.4 bindists. - # https://gitlab.haskell.org/ghc/ghc/-/issues/21402 '' - # Detect hadrian Makefile by checking for the target that has the problem - if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then - echo Hadrian bindist, applying workaround for xxx path substitution. - # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch - substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0' - else - echo Not a hadrian bindist, not applying xxx path workaround. - fi - ''; + + + # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in + # FFI_LIB_DIR is a good indication of places it must be needed. + lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' + find . -name package.conf.in \ + -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; + '' + + + # Rename needed libraries and binaries, fix interpreter + lib.optionalString stdenv.hostPlatform.isLinux '' + find . -type f -executable -exec patchelf \ + --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; + '' + + + # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path + # substitution. Which can break the build if the store path / prefix happens + # to contain this string. This will be fixed with 9.4 bindists. + # https://gitlab.haskell.org/ghc/ghc/-/issues/21402 + '' + # Detect hadrian Makefile by checking for the target that has the problem + if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then + echo Hadrian bindist, applying workaround for xxx path substitution. + # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch + substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0' + else + echo Not a hadrian bindist, not applying xxx path workaround. + fi + ''; # fix for `configure: error: Your linker is affected by binutils #16177` - preConfigure = lib.optionalString - stdenv.targetPlatform.isAarch32 - "LD=ld.gold"; + preConfigure = lib.optionalString stdenv.targetPlatform.isAarch32 "LD=ld.gold"; configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-includes=${lib.getDev gmp}/include" - # Note `--with-gmp-libraries` does nothing for GHC bindists: - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 - ] ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" + configureFlags = + [ + "--with-gmp-includes=${lib.getDev gmp}/include" + # Note `--with-gmp-libraries` does nothing for GHC bindists: + # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" # From: https://github.com/NixOS/nixpkgs/pull/43369/commits ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; @@ -349,58 +415,61 @@ stdenv.mkDerivation rec { # On Linux, use patchelf to modify the executables so that they can # find editline/gmp. - postFixup = lib.optionalString stdenv.hostPlatform.isLinux - (if stdenv.hostPlatform.isAarch64 then - # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs - # are 2 directories deep from $out/lib, so pooling symlinks there makes - # a short rpath. - '' - (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) - (cd $out/lib; ln -s ${gmp.out}/lib/libgmp.so.10) - (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) - for p in $(find "$out/lib" -type f -name "*\.so*"); do - (cd $out/lib; ln -s $p) + postFixup = + lib.optionalString stdenv.hostPlatform.isLinux ( + if stdenv.hostPlatform.isAarch64 then + # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs + # are 2 directories deep from $out/lib, so pooling symlinks there makes + # a short rpath. + '' + (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) + (cd $out/lib; ln -s ${gmp.out}/lib/libgmp.so.10) + (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) + for p in $(find "$out/lib" -type f -name "*\.so*"); do + (cd $out/lib; ln -s $p) + done + + for p in $(find "$out/lib" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p + fi + done + '' + else + '' + for p in $(find "$out" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p + fi + done + '' + ) + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # not enough room in the object files for the full path to libiconv :( + for exe in $(find "$out" -type f -executable); do + isScript $exe && continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe done - for p in $(find "$out/lib" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p - fi + for file in $(find "$out" -name setup-config); do + substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" done - '' - else - '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi - done - '') + lib.optionalString stdenv.hostPlatform.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - done - - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - '' + - lib.optionalString minimal '' - # Remove profiling files - find $out -type f -name '*.p_o' -delete - find $out -type f -name '*.p_hi' -delete - find $out -type f -name '*_p.a' -delete - # `-f` because e.g. musl bindist does not have this file. - rm -f $out/lib/ghc-*/bin/ghc-iserv-prof - # Hydra will redistribute this derivation, so we have to keep the docs for - # legal reasons (retaining the legal notices etc) - # As a last resort we could unpack the docs separately and symlink them in. - # They're in $out/share/{doc,man}. - ''; + '' + + lib.optionalString minimal '' + # Remove profiling files + find $out -type f -name '*.p_o' -delete + find $out -type f -name '*.p_hi' -delete + find $out -type f -name '*_p.a' -delete + # `-f` because e.g. musl bindist does not have this file. + rm -f $out/lib/ghc-*/bin/ghc-iserv-prof + # Hydra will redistribute this derivation, so we have to keep the docs for + # legal reasons (retaining the legal notices etc) + # As a last resort we could unpack the docs separately and symlink them in. + # They're in $out/share/{doc,man}. + ''; # In nixpkgs, musl based builds currently enable `pie` hardening by default # (see `defaultHardeningFlags` in `make-derivation.nix`). @@ -426,25 +495,26 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - passthru = { - targetPrefix = ""; - enableShared = true; - - inherit llvmPackages; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - } - # We duplicate binDistUsed here since we have a sensible default even if no bindist is avaible, - # this makes sure that getting the `meta` attribute doesn't throw even on unsupported platforms. - // lib.optionalAttrs (ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}.isHadrian or false) { - # Normal GHC derivations expose the hadrian derivation used to build them - # here. In the case of bindists we just make sure that the attribute exists, - # as it is used for checking if a GHC derivation has been built with hadrian. - # The isHadrian mechanism will become obsolete with GHCs that use hadrian - # exclusively, i.e. 9.6 (and 9.4?). - hadrian = null; - }; + passthru = + { + targetPrefix = ""; + enableShared = true; + + inherit llvmPackages; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + } + # We duplicate binDistUsed here since we have a sensible default even if no bindist is avaible, + # this makes sure that getting the `meta` attribute doesn't throw even on unsupported platforms. + // lib.optionalAttrs (ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}.isHadrian or false) { + # Normal GHC derivations expose the hadrian derivation used to build them + # here. In the case of bindists we just make sure that the attribute exists, + # as it is used for checking if a GHC derivation has been built with hadrian. + # The isHadrian mechanism will become obsolete with GHCs that use hadrian + # exclusively, i.e. 9.6 (and 9.4?). + hadrian = null; + }; meta = rec { homepage = "http://haskell.org/ghc"; @@ -460,9 +530,12 @@ stdenv.mkDerivation rec { # long as the evaluator runs on a platform that supports # `pkgsMusl`. platforms = builtins.attrNames ghcBinDists.${distSetName}; - maintainers = with lib.maintainers; [ - prusnak - domenkozar - ] ++ lib.teams.haskell.members; + maintainers = + with lib.maintainers; + [ + prusnak + domenkozar + ] + ++ lib.teams.haskell.members; }; } diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 03e4facd01980..f6a4337d8622d 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -1,83 +1,106 @@ -{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages - -# build-tools -, bootPkgs -, autoreconfHook, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx -, xattr, autoSignDarwinBinariesHook -, bash - -, libiconv ? null, ncurses - -, # GHC can be built with system libffi or a bundled one. +{ + lib, + stdenv, + pkgsBuildTarget, + pkgsHostTarget, + buildPackages, + targetPackages, + + # build-tools + bootPkgs, + autoreconfHook, + autoconf, + automake, + coreutils, + fetchpatch, + fetchurl, + perl, + python3, + m4, + sphinx, + xattr, + autoSignDarwinBinariesHook, + bash, + + libiconv ? null, + ncurses, + + # GHC can be built with system libffi or a bundled one. # we explicitly use libffi-3.3 here because 3.4 removes a flag that causes # problems for ghc-8.10.7's RTS. See #324384. # Save for aarch_darwin since libffi-3.3 is broken there but the issue isn't present anyway - libffi ? null -, libffi_3_3 ? null + libffi ? null, + libffi_3_3 ? null, -, useLLVM ? !(stdenv.targetPlatform.isx86 - || stdenv.targetPlatform.isPower - || stdenv.targetPlatform.isSparc) -, # LLVM is conceptually a run-time-only dependency, but for + useLLVM ? + !(stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isPower || stdenv.targetPlatform.isSparc), + # LLVM is conceptually a run-time-only dependency, but for # non-x86, we need LLVM to bootstrap later stages, so it becomes a # build-time dependency too. - buildTargetLlvmPackages, llvmPackages + buildTargetLlvmPackages, + llvmPackages, -, # If enabled, GHC will be built with the GPL-free but slower integer-simple + # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp - && lib.meta.availableOn stdenv.targetPlatform gmp) -, gmp + enableIntegerSimple ? + !(lib.meta.availableOn stdenv.hostPlatform gmp && lib.meta.availableOn stdenv.targetPlatform gmp), + gmp, -, # If enabled, use -fPIC when compiling static libs. - enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform + # If enabled, use -fPIC when compiling static libs. + enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform, # Exceeds Hydra output limit (at the time of writing ~3GB) when cross compiled to riscv64. # A riscv64 cross-compiler fits into the limit comfortably. -, enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64 + enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64, -, # Whether to build dynamic libs for the standard library (on the target + # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt - -, # Whether to build terminfo. - enableTerminfo ? !(stdenv.targetPlatform.isWindows - # terminfo can't be built for cross - || (stdenv.buildPlatform != stdenv.hostPlatform) - || (stdenv.hostPlatform != stdenv.targetPlatform)) - -, # What flavour to build. An empty string indicates no + enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt, + + # Whether to build terminfo. + enableTerminfo ? + !( + stdenv.targetPlatform.isWindows + # terminfo can't be built for cross + || (stdenv.buildPlatform != stdenv.hostPlatform) + || (stdenv.hostPlatform != stdenv.targetPlatform) + ), + + # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. - ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) - (if useLLVM then "perf-cross" else "perf-cross-ncg") + ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) ( + if useLLVM then "perf-cross" else "perf-cross-ncg" + ), -, # Whether to build sphinx documentation. + # Whether to build sphinx documentation. enableDocs ? ( # Docs disabled if we are building on musl because it's a large task to keep # all `sphinx` dependencies building in this environment. !stdenv.buildPlatform.isMusl - ) + ), -, enableHaddockProgram ? + enableHaddockProgram ? # Disabled for cross; see note [HADDOCK_DOCS]. - (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform), -, # Whether to disable the large address space allocator + # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - disableLargeAddressSpace ? stdenv.targetPlatform.isiOS + disableLargeAddressSpace ? stdenv.targetPlatform.isiOS, -, # Whether to build an unregisterised version of GHC. + # Whether to build an unregisterised version of GHC. # GHC will normally auto-detect whether it can do a registered build, but this # option will force it to do an unregistered build when set to true. # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised - enableUnregisterised ? false + enableUnregisterised ? false, }@args: assert !enableIntegerSimple -> gmp != null; # Cross cannot currently build the `haddock` program for silly reasons, # see note [HADDOCK_DOCS]. -assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; +assert + (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) + -> !enableHaddockProgram; # GHC does not support building when all 3 platforms are different. assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform; @@ -86,58 +109,64 @@ let inherit (stdenv) buildPlatform hostPlatform targetPlatform; # TODO(@Ericson2314) Make unconditional - targetPrefix = lib.optionalString - (targetPlatform != hostPlatform) - "${targetPlatform.config}-"; - - buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif - BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} - BUILD_SPHINX_PDF = NO - - WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"} - '' + - # Note [HADDOCK_DOCS]: - # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` - # program is built (which we generally always want to have a complete GHC install) - # and whether it is run on the GHC sources to generate hyperlinked source code - # (which is impossible for cross-compilation); see: - # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 - # This implies that currently a cross-compiled GHC will never have a `haddock` - # program, so it can never generate haddocks for any packages. - # If this is solved in the future, we'd like to unconditionally - # build the haddock program (removing the `enableHaddockProgram` option). - '' - HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"} - # Build haddocks for boot packages with hyperlinking - EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump - - DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} - INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} - '' + lib.optionalString (targetPlatform != hostPlatform) '' - Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} - CrossCompilePrefix = ${targetPrefix} - '' + lib.optionalString (!enableProfiledLibs) '' - BUILD_PROF_LIBS = NO - '' + lib.optionalString enableRelocatedStaticLibs '' - GhcLibHcOpts += -fPIC - GhcRtsHcOpts += -fPIC - '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' - EXTRA_CC_OPTS += -std=gnu99 - '' - # While split sections are now enabled by default in ghc 8.8 for windows, - # they seem to lead to `too many sections` errors when building base for - # profiling. - + lib.optionalString targetPlatform.isWindows '' - SplitSections = NO - ''; + targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-"; + + buildMK = + '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif + BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} + BUILD_SPHINX_PDF = NO + + WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"} + '' + + + # Note [HADDOCK_DOCS]: + # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` + # program is built (which we generally always want to have a complete GHC install) + # and whether it is run on the GHC sources to generate hyperlinked source code + # (which is impossible for cross-compilation); see: + # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 + # This implies that currently a cross-compiled GHC will never have a `haddock` + # program, so it can never generate haddocks for any packages. + # If this is solved in the future, we'd like to unconditionally + # build the haddock program (removing the `enableHaddockProgram` option). + '' + HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"} + # Build haddocks for boot packages with hyperlinking + EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump + + DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} + INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} + '' + + lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + CrossCompilePrefix = ${targetPrefix} + '' + + lib.optionalString (!enableProfiledLibs) '' + BUILD_PROF_LIBS = NO + '' + + lib.optionalString enableRelocatedStaticLibs '' + GhcLibHcOpts += -fPIC + GhcRtsHcOpts += -fPIC + '' + + lib.optionalString targetPlatform.useAndroidPrebuilt '' + EXTRA_CC_OPTS += -std=gnu99 + '' + # While split sections are now enabled by default in ghc 8.8 for windows, + # they seem to lead to `too many sections` errors when building base for + # profiling. + + lib.optionalString targetPlatform.isWindows '' + SplitSections = NO + ''; # Splicer will pull out correct variations - libDeps = platform: lib.optional enableTerminfo ncurses - ++ [args.${libffi_name}] + libDeps = + platform: + lib.optional enableTerminfo ncurses + ++ [ args.${libffi_name} ] ++ lib.optional (!enableIntegerSimple) gmp ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; @@ -155,48 +184,54 @@ let # given `stdenv.cc` derivation, i.e. it picks the correct derivation to take # the tool from (cc, cc.bintools, cc.bintools.bintools) and adds the correct # subpath of the tool. - toolPath = name: cc: + toolPath = + name: cc: let - tools = { - "cc" = cc; - "c++" = cc; - as = cc.bintools; - - ar = cc.bintools; - ranlib = cc.bintools; - nm = cc.bintools; - readelf = cc.bintools; - objdump = cc.bintools; - - ld = cc.bintools; - "ld.gold" = cc.bintools; - - otool = cc.bintools.bintools; - - # GHC needs install_name_tool on all darwin platforms. The same one can - # be used on both platforms. It is safe to use with linker-generated - # signatures because it will update the signatures automatically after - # modifying the target binary. - install_name_tool = cc.bintools.bintools; - - # strip on darwin is wrapped to enable deterministic mode. - strip = - # TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold" - if stdenv.targetPlatform.isDarwin - then cc.bintools - else cc.bintools.bintools; - - # clang is used as an assembler on darwin with the LLVM backend - clang = cc; - }.${name}; + tools = + { + "cc" = cc; + "c++" = cc; + as = cc.bintools; + + ar = cc.bintools; + ranlib = cc.bintools; + nm = cc.bintools; + readelf = cc.bintools; + objdump = cc.bintools; + + ld = cc.bintools; + "ld.gold" = cc.bintools; + + otool = cc.bintools.bintools; + + # GHC needs install_name_tool on all darwin platforms. The same one can + # be used on both platforms. It is safe to use with linker-generated + # signatures because it will update the signatures automatically after + # modifying the target binary. + install_name_tool = cc.bintools.bintools; + + # strip on darwin is wrapped to enable deterministic mode. + strip = + # TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold" + if stdenv.targetPlatform.isDarwin then cc.bintools else cc.bintools.bintools; + + # clang is used as an assembler on darwin with the LLVM backend + clang = cc; + } + .${name}; in "${tools}/bin/${tools.targetPrefix}${name}"; # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues. # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 # see #84670 and #49071 for more background. - useLdGold = targetPlatform.linker == "gold" || - (targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl); + useLdGold = + targetPlatform.linker == "gold" + || ( + targetPlatform.linker == "bfd" + && (targetCC.bintools.bintools.hasGold or false) + && !targetPlatform.isMusl + ); # Makes debugging easier to see which variant is at play in `nix-store -q --tree`. variantSuffix = lib.concatStrings [ @@ -205,9 +240,7 @@ let ]; libffi_name = - if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 - then "libffi" - else "libffi_3_3"; + if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then "libffi" else "libffi_3_3"; # These libraries are library dependencies of the standard libraries bundled # by GHC (core libs) users will link their compiled artifacts again. Thus, @@ -226,347 +259,391 @@ let # target. targetLibs = let - basePackageSet = - if hostPlatform != targetPlatform - then targetPackages - else pkgsHostTarget; + basePackageSet = if hostPlatform != targetPlatform then targetPackages else pkgsHostTarget; in - { - inherit (basePackageSet) gmp ncurses; - # dynamic inherits are not possible in Nix - libffi = basePackageSet.${libffi_name}; - }; + { + inherit (basePackageSet) gmp ncurses; + # dynamic inherits are not possible in Nix + libffi = basePackageSet.${libffi_name}; + }; in -stdenv.mkDerivation (rec { - version = "8.10.7"; - pname = "${targetPrefix}ghc${variantSuffix}"; - - src = fetchurl { - url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; - sha256 = "e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d"; - }; - - enableParallelBuilding = true; - - outputs = [ "out" "doc" ]; - - patches = [ - # Fix docs build with sphinx >= 6.0 - # https://gitlab.haskell.org/ghc/ghc/-/issues/22766 - (fetchpatch { - name = "ghc-docs-sphinx-6.0.patch"; - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch"; - sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv"; - }) - - # See upstream patch at - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build - # from source distributions, the auto-generated configure script needs to be - # patched as well, therefore we use an in-tree patch instead of pulling the - # upstream patch. Don't forget to check backport status of the upstream patch - # when adding new GHC releases in nixpkgs. - ./respect-ar-path.patch - - # fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482 - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch"; - sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk="; - extraPrefix = "utils/haddock/"; - stripLen = 1; - }) - - # cabal passes incorrect --host= when cross-compiling - # https://github.com/haskell/cabal/issues/5887 - (fetchpatch { - url = "https://raw.githubusercontent.com/input-output-hk/haskell.nix/122bd81150386867da07fdc9ad5096db6719545a/overlays/patches/ghc/cabal-host.patch"; - sha256 = "sha256:0yd0sajgi24sc1w5m55lkg2lp6kfkgpp3lgija2c8y3cmkwfpdc1"; - }) - - # In order to build ghcjs packages, the Cabal of the ghc used for the ghcjs - # needs to be patched. Ref https://github.com/haskell/cabal/pull/7575 - (fetchpatch { - url = "https://github.com/haskell/cabal/commit/369c4a0a54ad08a9e6b0d3bd303fedd7b5e5a336.patch"; - sha256 = "120f11hwyaqa0pq9g5l1300crqij49jg0rh83hnp9sa49zfdwx1n"; - stripLen = 3; - extraPrefix = "libraries/Cabal/Cabal/"; - }) - - # We need to be able to set AR_STAGE0 and LD_STAGE0 when cross-compiling - (fetchpatch { - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/8f7dd5710b80906ea7a3e15b7bb56a883a49fed8.patch"; - hash = "sha256-C636Nq2U8YOG/av7XQmG3L1rU0bmC9/7m7Hty5pm5+s="; - }) - - # Backport part of to 8.10.7 - # The change we are interested in is that Cabal no longer sets include-dirs - # for the GHCi library delegating to the system search path or (in our case) - # cc-wrapper. Without this patch, the target libffi ends up in there (which - # we provide via --with-ffi-includes) which breaks bootstrapping e.g. when - # cross compiling GHC. Without include-dirs, cc-wrapper and splicing will - # correctly pick the suitable libffi out of the build environment. - (fetchpatch { - name = "ghci-no-libffi-include.patch"; - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/b2721819f391ab49871271283f32df54810c4387.patch"; - sha256 = "1rmv3132xhxbka97v0rx7r6larx5f5nnvs4mgm9q3rmgpjyd1vf9"; - includes = [ "libraries/ghci/ghci.cabal.in" ]; - }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Make Block.h compile with c++ compilers. Remove with the next release - (fetchpatch { - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch"; - sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5"; - }) - ] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [ - # Prevent the paths module from emitting symbols that we don't use - # when building with separate outputs. - # - # These cause problems as they're not eliminated by GHC's dead code - # elimination on aarch64-darwin. (see - # https://github.com/NixOS/nixpkgs/issues/140774 for details). - ./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch - ]; - - postPatch = "patchShebangs ."; - - # GHC is a bit confused on its cross terminology. - # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths - preConfigure = '' - for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do - export "''${env#TARGET_}=''${!env}" - done - # Stage0 (build->build) which builds stage 1 - export GHC="${bootPkgs.ghc}/bin/ghc" - # GHC is a bit confused on its cross terminology, as these would normally be - # the *host* tools. - export CC="${toolPath "cc" targetCC}" - export CXX="${toolPath "c++" targetCC}" - # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}" - export AS="${toolPath "as" targetCC}" - export AR="${toolPath "ar" targetCC}" - export NM="${toolPath "nm" targetCC}" - export RANLIB="${toolPath "ranlib" targetCC}" - export READELF="${toolPath "readelf" targetCC}" - export STRIP="${toolPath "strip" targetCC}" - export OBJDUMP="${toolPath "objdump" targetCC}" - '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' - export OTOOL="${toolPath "otool" targetCC}" - export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}" - '' + lib.optionalString useLLVM '' - export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc" - export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt" - '' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' - # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm - # The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't - # clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC - # which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand - # the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible. - # It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use - # for llc and opt which would require using a custom darwin stdenv for targetCC. - export CLANG="${ - if targetCC.isClang - then toolPath "clang" targetCC - else "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" - }" - '' + '' - # No need for absolute paths since these tools only need to work during the build - export CC_STAGE0="$CC_FOR_BUILD" - export LD_STAGE0="$LD_FOR_BUILD" - export AR_STAGE0="$AR_FOR_BUILD" - - echo -n "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - - # GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7 - export XATTR=${lib.getBin xattr}/bin/xattr - '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' - sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets - '' + lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets..." - echo "Cloning these existing '*-linux-gnu*' targets:" - grep linux-gnu llvm-targets | sed 's/^/ /' - echo "(go go gadget sed)" - sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets - echo "llvm-targets now contains these '*-linux-musl*' targets:" - grep linux-musl llvm-targets | sed 's/^/ /' - - echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" - # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) - for x in configure aclocal.m4; do - substituteInPlace $x \ - --replace '*-android*|*-gnueabi*)' \ - '*-android*|*-gnueabi*|*-musleabi*)' - done - ''; - - # Although it is usually correct to pass --host, we don't do that here because - # GHC's usage of build, host, and target is non-standard. - # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling - # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" ] - ++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target"; - - # `--with` flags for libraries needed for RTS linker - configureFlags = [ - "--datadir=$doc/share/doc/ghc" - ] ++ lib.optionals enableTerminfo [ - "--with-curses-includes=${lib.getDev targetLibs.ncurses}/include" - "--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib" - ] ++ lib.optionals (args.${libffi_name} != null) [ - "--with-system-libffi" - "--with-ffi-includes=${targetLibs.libffi.dev}/include" - "--with-ffi-libraries=${targetLibs.libffi.out}/lib" - ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetLibs.gmp.dev}/include" - "--with-gmp-libraries=${targetLibs.gmp.out}/lib" - ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" - "--with-iconv-libraries=${libiconv}/lib" - ] ++ lib.optionals (targetPlatform != hostPlatform) [ - "--enable-bootstrap-with-devel-snapshot" - ] ++ lib.optionals useLdGold [ - "CFLAGS=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ lib.optionals (disableLargeAddressSpace) [ - "--disable-large-address-space" - ] ++ lib.optionals enableUnregisterised [ - "--enable-unregisterised" - ]; - - # Make sure we never relax`$PATH` and hooks support for compatibility. - strictDeps = true; - - # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. - dontAddExtraLibs = true; - - nativeBuildInputs = [ - perl autoreconfHook autoconf automake m4 python3 - bootPkgs.alex bootPkgs.happy bootPkgs.hscolour - bootPkgs.ghc-settings-edit - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook - ] ++ lib.optionals enableDocs [ - sphinx - ]; - - # Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs. - # See also GHC, {CC,LD,AR}_STAGE0 in preConfigure. - depsBuildBuild = [ - # N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation - # dependency lists to prevent the bintools setup hook from adding ghc's - # lib directory to the linker flags. Instead we tell configure about it - # via the GHC environment variable. - buildCC - # stage0 builds terminfo unconditionally, so we always need ncurses - ncurses - ]; - # For building runtime libs - depsBuildTarget = toolsForTarget; - - # Prevent stage0 ghc from leaking into the final result. This was an issue - # with GHC 9.6. - disallowedReferences = [ - bootPkgs.ghc - ]; - - buildInputs = [ bash ] ++ (libDeps hostPlatform); - - depsTargetTarget = map lib.getDev (libDeps targetPlatform); - depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform); - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; - - checkTarget = "test"; - - hardeningDisable = - [ "format" ] - # In nixpkgs, musl based builds currently enable `pie` hardening by default - # (see `defaultHardeningFlags` in `make-derivation.nix`). - # But GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - ++ lib.optional stdenv.targetPlatform.isMusl "pie"; - - # big-parallel allows us to build with more than 2 cores on - # Hydra which already warrants a significant speedup - requiredSystemFeatures = [ "big-parallel" ]; - - postInstall = '' - settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings" - - # Make the installed GHC use the host->target tools. - ghc-settings-edit "$settingsFile" \ - "C compiler command" "${toolPath "cc" installCC}" \ - "Haskell CPP command" "${toolPath "cc" installCC}" \ - "C++ compiler command" "${toolPath "c++" installCC}" \ - "ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ - "Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ - "ar command" "${toolPath "ar" installCC}" \ - "ranlib command" "${toolPath "ranlib" installCC}" - '' - + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' - ghc-settings-edit "$settingsFile" \ - "otool command" "${toolPath "otool" installCC}" \ - "install_name_tool command" "${toolPath "install_name_tool" installCC}" - '' - + lib.optionalString useLLVM '' - ghc-settings-edit "$settingsFile" \ - "LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \ - "LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt" - '' - + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' - ghc-settings-edit "$settingsFile" \ - "LLVM clang command" "${ - # See comment for CLANG in preConfigure - if installCC.isClang - then toolPath "clang" installCC - else "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang" - }" - '' - + '' - - # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc - ''; - - passthru = { - inherit bootPkgs targetPrefix; - - inherit llvmPackages; - inherit enableShared; - - # This is used by the haskell builder to query - # the presence of the haddock program. - hasHaddock = enableHaddockProgram; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - }; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "Glasgow Haskell Compiler"; - maintainers = with lib.maintainers; [ - guibou - ] ++ lib.teams.haskell.members; - timeout = 24 * 3600; - platforms = lib.platforms.all; - inherit (bootPkgs.ghc.meta) license; - }; - -} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { - dontStrip = true; - dontPatchELF = true; - noAuditTmpdir = true; -}) +stdenv.mkDerivation ( + rec { + version = "8.10.7"; + pname = "${targetPrefix}ghc${variantSuffix}"; + + src = fetchurl { + url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d"; + }; + + enableParallelBuilding = true; + + outputs = [ + "out" + "doc" + ]; + + patches = + [ + # Fix docs build with sphinx >= 6.0 + # https://gitlab.haskell.org/ghc/ghc/-/issues/22766 + (fetchpatch { + name = "ghc-docs-sphinx-6.0.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch"; + sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv"; + }) + + # See upstream patch at + # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build + # from source distributions, the auto-generated configure script needs to be + # patched as well, therefore we use an in-tree patch instead of pulling the + # upstream patch. Don't forget to check backport status of the upstream patch + # when adding new GHC releases in nixpkgs. + ./respect-ar-path.patch + + # fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482 + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch"; + sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk="; + extraPrefix = "utils/haddock/"; + stripLen = 1; + }) + + # cabal passes incorrect --host= when cross-compiling + # https://github.com/haskell/cabal/issues/5887 + (fetchpatch { + url = "https://raw.githubusercontent.com/input-output-hk/haskell.nix/122bd81150386867da07fdc9ad5096db6719545a/overlays/patches/ghc/cabal-host.patch"; + sha256 = "sha256:0yd0sajgi24sc1w5m55lkg2lp6kfkgpp3lgija2c8y3cmkwfpdc1"; + }) + + # In order to build ghcjs packages, the Cabal of the ghc used for the ghcjs + # needs to be patched. Ref https://github.com/haskell/cabal/pull/7575 + (fetchpatch { + url = "https://github.com/haskell/cabal/commit/369c4a0a54ad08a9e6b0d3bd303fedd7b5e5a336.patch"; + sha256 = "120f11hwyaqa0pq9g5l1300crqij49jg0rh83hnp9sa49zfdwx1n"; + stripLen = 3; + extraPrefix = "libraries/Cabal/Cabal/"; + }) + + # We need to be able to set AR_STAGE0 and LD_STAGE0 when cross-compiling + (fetchpatch { + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/8f7dd5710b80906ea7a3e15b7bb56a883a49fed8.patch"; + hash = "sha256-C636Nq2U8YOG/av7XQmG3L1rU0bmC9/7m7Hty5pm5+s="; + }) + + # Backport part of to 8.10.7 + # The change we are interested in is that Cabal no longer sets include-dirs + # for the GHCi library delegating to the system search path or (in our case) + # cc-wrapper. Without this patch, the target libffi ends up in there (which + # we provide via --with-ffi-includes) which breaks bootstrapping e.g. when + # cross compiling GHC. Without include-dirs, cc-wrapper and splicing will + # correctly pick the suitable libffi out of the build environment. + (fetchpatch { + name = "ghci-no-libffi-include.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/b2721819f391ab49871271283f32df54810c4387.patch"; + sha256 = "1rmv3132xhxbka97v0rx7r6larx5f5nnvs4mgm9q3rmgpjyd1vf9"; + includes = [ "libraries/ghci/ghci.cabal.in" ]; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Make Block.h compile with c++ compilers. Remove with the next release + (fetchpatch { + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch"; + sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5"; + }) + ] + ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [ + # Prevent the paths module from emitting symbols that we don't use + # when building with separate outputs. + # + # These cause problems as they're not eliminated by GHC's dead code + # elimination on aarch64-darwin. (see + # https://github.com/NixOS/nixpkgs/issues/140774 for details). + ./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch + ]; + + postPatch = "patchShebangs ."; + + # GHC is a bit confused on its cross terminology. + # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths + preConfigure = + '' + for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do + export "''${env#TARGET_}=''${!env}" + done + # Stage0 (build->build) which builds stage 1 + export GHC="${bootPkgs.ghc}/bin/ghc" + # GHC is a bit confused on its cross terminology, as these would normally be + # the *host* tools. + export CC="${toolPath "cc" targetCC}" + export CXX="${toolPath "c++" targetCC}" + # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}" + export AS="${toolPath "as" targetCC}" + export AR="${toolPath "ar" targetCC}" + export NM="${toolPath "nm" targetCC}" + export RANLIB="${toolPath "ranlib" targetCC}" + export READELF="${toolPath "readelf" targetCC}" + export STRIP="${toolPath "strip" targetCC}" + export OBJDUMP="${toolPath "objdump" targetCC}" + '' + + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' + export OTOOL="${toolPath "otool" targetCC}" + export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}" + '' + + lib.optionalString useLLVM '' + export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc" + export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt" + '' + + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' + # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm + # The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't + # clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC + # which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand + # the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible. + # It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use + # for llc and opt which would require using a custom darwin stdenv for targetCC. + export CLANG="${ + if targetCC.isClang then + toolPath "clang" targetCC + else + "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" + }" + '' + + '' + # No need for absolute paths since these tools only need to work during the build + export CC_STAGE0="$CC_FOR_BUILD" + export LD_STAGE0="$LD_FOR_BUILD" + export AR_STAGE0="$AR_FOR_BUILD" + + echo -n "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + + # GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7 + export XATTR=${lib.getBin xattr}/bin/xattr + '' + + lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + + lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done + ''; + + # Although it is usually correct to pass --host, we don't do that here because + # GHC's usage of build, host, and target is non-standard. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ + "build" + ] ++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target"; + + # `--with` flags for libraries needed for RTS linker + configureFlags = + [ + "--datadir=$doc/share/doc/ghc" + ] + ++ lib.optionals enableTerminfo [ + "--with-curses-includes=${lib.getDev targetLibs.ncurses}/include" + "--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib" + ] + ++ lib.optionals (args.${libffi_name} != null) [ + "--with-system-libffi" + "--with-ffi-includes=${targetLibs.libffi.dev}/include" + "--with-ffi-libraries=${targetLibs.libffi.out}/lib" + ] + ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ + "--with-gmp-includes=${targetLibs.gmp.dev}/include" + "--with-gmp-libraries=${targetLibs.gmp.out}/lib" + ] + ++ + lib.optionals + (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) + [ + "--with-iconv-includes=${libiconv}/include" + "--with-iconv-libraries=${libiconv}/lib" + ] + ++ lib.optionals (targetPlatform != hostPlatform) [ + "--enable-bootstrap-with-devel-snapshot" + ] + ++ lib.optionals useLdGold [ + "CFLAGS=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" + ] + ++ lib.optionals (disableLargeAddressSpace) [ + "--disable-large-address-space" + ] + ++ lib.optionals enableUnregisterised [ + "--enable-unregisterised" + ]; + + # Make sure we never relax`$PATH` and hooks support for compatibility. + strictDeps = true; + + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + + nativeBuildInputs = + [ + perl + autoreconfHook + autoconf + automake + m4 + python3 + bootPkgs.alex + bootPkgs.happy + bootPkgs.hscolour + bootPkgs.ghc-settings-edit + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ] + ++ lib.optionals enableDocs [ + sphinx + ]; + + # Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs. + # See also GHC, {CC,LD,AR}_STAGE0 in preConfigure. + depsBuildBuild = [ + # N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation + # dependency lists to prevent the bintools setup hook from adding ghc's + # lib directory to the linker flags. Instead we tell configure about it + # via the GHC environment variable. + buildCC + # stage0 builds terminfo unconditionally, so we always need ncurses + ncurses + ]; + # For building runtime libs + depsBuildTarget = toolsForTarget; + + # Prevent stage0 ghc from leaking into the final result. This was an issue + # with GHC 9.6. + disallowedReferences = [ + bootPkgs.ghc + ]; + + buildInputs = [ bash ] ++ (libDeps hostPlatform); + + depsTargetTarget = map lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform); + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + + checkTarget = "test"; + + hardeningDisable = + [ "format" ] + # In nixpkgs, musl based builds currently enable `pie` hardening by default + # (see `defaultHardeningFlags` in `make-derivation.nix`). + # But GHC cannot currently produce outputs that are ready for `-pie` linking. + # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. + # See: + # * https://github.com/NixOS/nixpkgs/issues/129247 + # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 + ++ lib.optional stdenv.targetPlatform.isMusl "pie"; + + # big-parallel allows us to build with more than 2 cores on + # Hydra which already warrants a significant speedup + requiredSystemFeatures = [ "big-parallel" ]; + + postInstall = + '' + settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings" + + # Make the installed GHC use the host->target tools. + ghc-settings-edit "$settingsFile" \ + "C compiler command" "${toolPath "cc" installCC}" \ + "Haskell CPP command" "${toolPath "cc" installCC}" \ + "C++ compiler command" "${toolPath "c++" installCC}" \ + "ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ + "Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ + "ar command" "${toolPath "ar" installCC}" \ + "ranlib command" "${toolPath "ranlib" installCC}" + '' + + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' + ghc-settings-edit "$settingsFile" \ + "otool command" "${toolPath "otool" installCC}" \ + "install_name_tool command" "${toolPath "install_name_tool" installCC}" + '' + + lib.optionalString useLLVM '' + ghc-settings-edit "$settingsFile" \ + "LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \ + "LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt" + '' + + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' + ghc-settings-edit "$settingsFile" \ + "LLVM clang command" "${ + # See comment for CLANG in preConfigure + if installCC.isClang then + toolPath "clang" installCC + else + "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang" + }" + '' + + '' + + # Install the bash completion file. + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc + ''; + + passthru = { + inherit bootPkgs targetPrefix; + + inherit llvmPackages; + inherit enableShared; + + # This is used by the haskell builder to query + # the presence of the haddock program. + hasHaddock = enableHaddockProgram; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + }; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "Glasgow Haskell Compiler"; + maintainers = + with lib.maintainers; + [ + guibou + ] + ++ lib.teams.haskell.members; + timeout = 24 * 3600; + platforms = lib.platforms.all; + inherit (bootPkgs.ghc.meta) license; + }; + + } + // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { + dontStrip = true; + dontPatchELF = true; + noAuditTmpdir = true; + } +) diff --git a/pkgs/development/compilers/ghc/8.6.5-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix index eef0cba9f00bd..9e205aa0796d7 100644 --- a/pkgs/development/compilers/ghc/8.6.5-binary.nix +++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix @@ -1,52 +1,71 @@ -{ lib, stdenv -, fetchurl, perl, gcc -, ncurses5, ncurses6, gmp, glibc, libiconv -, llvmPackages -, coreutils -, targetPackages +{ + lib, + stdenv, + fetchurl, + perl, + gcc, + ncurses5, + ncurses6, + gmp, + glibc, + libiconv, + llvmPackages, + coreutils, + targetPackages, }: # Prebuilt only does native assert stdenv.targetPlatform == stdenv.hostPlatform; let - useLLVM = !(stdenv.targetPlatform.isx86 - || stdenv.targetPlatform.isPower - || stdenv.targetPlatform.isSparc); + useLLVM = + !(stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isPower || stdenv.targetPlatform.isSparc); - useNcurses6 = stdenv.hostPlatform.system == "x86_64-linux" - || (with stdenv.hostPlatform; isPower64 && isLittleEndian); + useNcurses6 = + stdenv.hostPlatform.system == "x86_64-linux" + || (with stdenv.hostPlatform; isPower64 && isLittleEndian); ourNcurses = if useNcurses6 then ncurses6 else ncurses5; - libPath = lib.makeLibraryPath ([ - ourNcurses gmp - ] ++ lib.optional (stdenv.hostPlatform.isDarwin) libiconv); + libPath = lib.makeLibraryPath ( + [ + ourNcurses + gmp + ] + ++ lib.optional (stdenv.hostPlatform.isDarwin) libiconv + ); - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" - + "LD_LIBRARY_PATH"; + libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; - glibcDynLinker = assert stdenv.hostPlatform.isLinux; + glibcDynLinker = + assert stdenv.hostPlatform.isLinux; if stdenv.hostPlatform.libc == "glibc" then - # Could be stdenv.cc.bintools.dynamicLinker, keeping as-is to avoid rebuild. - ''"$(cat $NIX_CC/nix-support/dynamic-linker)"'' + # Could be stdenv.cc.bintools.dynamicLinker, keeping as-is to avoid rebuild. + ''"$(cat $NIX_CC/nix-support/dynamic-linker)"'' else "${lib.getLib glibc}/lib/ld-linux*"; downloadsUrl = "https://downloads.haskell.org/ghc"; - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - ++ lib.optionals (assert useLLVM -> !(llvmPackages == null); useLLVM) [ - (lib.getBin llvmPackages.llvm) - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; + runtimeDeps = + [ + targetPackages.stdenv.cc + targetPackages.stdenv.cc.bintools + coreutils # for cat + ] + ++ + lib.optionals + ( + assert useLLVM -> !(llvmPackages == null); + useLLVM + ) + [ + (lib.getBin llvmPackages.llvm) + ] + # On darwin, we need unwrapped bintools as well (for otool) + ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ + targetPackages.stdenv.cc.bintools.bintools + ]; in @@ -55,29 +74,31 @@ stdenv.mkDerivation rec { pname = "ghc-binary"; # https://downloads.haskell.org/~ghc/8.6.5/ - src = fetchurl ({ - i686-linux = { - # Don't use the Fedora27 build (as below) because there isn't one! - url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; - sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w"; - }; - x86_64-linux = { - # This is the Fedora build because it links against ncurses6 where the - # deb9 one links against ncurses5, see here - # https://github.com/NixOS/nixpkgs/issues/85924 for a discussion - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-fedora27-linux.tar.xz"; - sha256 = "18dlqm5d028fqh6ghzn7pgjspr5smw030jjzl3kq6q1kmwzbay6g"; - }; - x86_64-darwin = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; - sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz"; - }; - powerpc64le-linux = { - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-powerpc64le-fedora29-linux.tar.xz"; - sha256 = "sha256-tWSsJdPVrCiqDyIKzpBt5DaXb3b6j951tCya584kWs4="; - }; - }.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform")); + src = fetchurl ( + { + i686-linux = { + # Don't use the Fedora27 build (as below) because there isn't one! + url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; + sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w"; + }; + x86_64-linux = { + # This is the Fedora build because it links against ncurses6 where the + # deb9 one links against ncurses5, see here + # https://github.com/NixOS/nixpkgs/issues/85924 for a discussion + url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-fedora27-linux.tar.xz"; + sha256 = "18dlqm5d028fqh6ghzn7pgjspr5smw030jjzl3kq6q1kmwzbay6g"; + }; + x86_64-darwin = { + url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; + sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz"; + }; + powerpc64le-linux = { + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-powerpc64le-fedora29-linux.tar.xz"; + sha256 = "sha256-tWSsJdPVrCiqDyIKzpBt5DaXb3b6j951tCya584kWs4="; + }; + } + .${stdenv.hostPlatform.system} or (throw "cannot bootstrap GHC on this platform") + ); nativeBuildInputs = [ perl ]; @@ -96,53 +117,61 @@ stdenv.mkDerivation rec { ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe done - '' + - - # Some scripts used during the build need to have their shebangs patched '' - patchShebangs ghc-${version}/utils/ - patchShebangs ghc-${version}/configure - test -d ghc-${version}/inplace/bin && \ - patchShebangs ghc-${version}/inplace/bin - '' + + + - # We have to patch the GMP paths for the integer-gmp package. - '' - find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Some scripts used during the build need to have their shebangs patched + '' + patchShebangs ghc-${version}/utils/ + patchShebangs ghc-${version}/configure + test -d ghc-${version}/inplace/bin && \ + patchShebangs ghc-${version}/inplace/bin + '' + + + + # We have to patch the GMP paths for the integer-gmp package. + '' + find . -name integer-gmp.buildinfo \ + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' find . -name base.buildinfo \ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; - '' + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -perm -0100 \ - -exec patchelf \ - --replace-needed libncurses${lib.optionalString stdenv.hostPlatform.is64bit "w"}.so.5 libncurses.so \ - ${ # This isn't required for x86_64-linux where we use ncurses6 - lib.optionalString (!useNcurses6) "--replace-needed libtinfo.so libtinfo.so.5" - } \ - --interpreter ${glibcDynLinker} {} \; - - sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - '' + - # We're kludging a glibc bindist into working with non-glibc... - # Here we patch up the use of `__strdup` (part of glibc binary ABI) - # to instead use `strdup` since musl doesn't provide __strdup - # (`__strdup` is defined to be an alias of `strdup` anyway[1]). - # [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html - # Use objcopy magic to make the change: - lib.optionalString stdenv.hostPlatform.isMusl '' - find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \; - ''; + '' + + + # Rename needed libraries and binaries, fix interpreter + lib.optionalString stdenv.hostPlatform.isLinux '' + find . -type f -perm -0100 \ + -exec patchelf \ + --replace-needed libncurses${lib.optionalString stdenv.hostPlatform.is64bit "w"}.so.5 libncurses.so \ + ${ + # This isn't required for x86_64-linux where we use ncurses6 + lib.optionalString (!useNcurses6) "--replace-needed libtinfo.so libtinfo.so.5" + } \ + --interpreter ${glibcDynLinker} {} \; + + sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + '' + + + # We're kludging a glibc bindist into working with non-glibc... + # Here we patch up the use of `__strdup` (part of glibc binary ABI) + # to instead use `strdup` since musl doesn't provide __strdup + # (`__strdup` is defined to be an alias of `strdup` anyway[1]). + # [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html + # Use objcopy magic to make the change: + lib.optionalString stdenv.hostPlatform.isMusl '' + find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \; + ''; configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-includes=${lib.getDev gmp}/include" - # Note `--with-gmp-libraries` does nothing for GHC bindists: - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 - ] ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" + configureFlags = + [ + "--with-gmp-includes=${lib.getDev gmp}/include" + # Note `--with-gmp-libraries` does nothing for GHC bindists: + # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; # No building is necessary, but calling make without flags ironically @@ -160,25 +189,27 @@ stdenv.mkDerivation rec { # On Linux, use patchelf to modify the executables so that they can # find editline/gmp. - postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi - done - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - done + postFixup = + lib.optionalString stdenv.hostPlatform.isLinux '' + for p in $(find "$out" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p + fi + done + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # not enough room in the object files for the full path to libiconv :( + for exe in $(find "$out" -type f -executable); do + isScript $exe && continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe + done - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - ''; + for file in $(find "$out" -name setup-config); do + substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" + done + ''; # In nixpkgs, musl based builds currently enable `pie` hardening by default # (see `defaultHardeningFlags` in `make-derivation.nix`). @@ -224,8 +255,11 @@ stdenv.mkDerivation rec { ]; # build segfaults, use ghc8107Binary which has proper musl support instead broken = stdenv.hostPlatform.isMusl; - maintainers = with lib.maintainers; [ - guibou - ] ++ lib.teams.haskell.members; + maintainers = + with lib.maintainers; + [ + guibou + ] + ++ lib.teams.haskell.members; }; } diff --git a/pkgs/development/compilers/ghc/9.2.4-binary.nix b/pkgs/development/compilers/ghc/9.2.4-binary.nix index e8c6d83ea82fe..73873ec823a06 100644 --- a/pkgs/development/compilers/ghc/9.2.4-binary.nix +++ b/pkgs/development/compilers/ghc/9.2.4-binary.nix @@ -1,16 +1,24 @@ -{ lib, stdenv -, fetchurl, perl, gcc -, ncurses5 -, ncurses6, gmp, libiconv, numactl, libffi -, llvmPackages -, coreutils -, targetPackages +{ + lib, + stdenv, + fetchurl, + perl, + gcc, + ncurses5, + ncurses6, + gmp, + libiconv, + numactl, + libffi, + llvmPackages, + coreutils, + targetPackages, # minimal = true; will remove files that aren't strictly necessary for # regular builds and GHC bootstrapping. # This is "useful" for staying within hydra's output limits for at least the # aarch64-linux architecture. -, minimal ? false + minimal ? false, }: # Prebuilt only does native @@ -50,11 +58,17 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } # The i686-linux bindist provided by GHC HQ is currently built on Debian 9, # which link it against `libtinfo.so.5` (ncurses 5). # Other bindists are linked `libtinfo.so.6` (ncurses 6). - { nixPackage = ncurses5; fileToCheckFor = "libtinfo.so.5"; } + { + nixPackage = ncurses5; + fileToCheckFor = "libtinfo.so.5"; + } ]; }; x86_64-linux = { @@ -65,8 +79,14 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } ]; }; aarch64-linux = { @@ -77,9 +97,18 @@ let }; exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - { nixPackage = numactl; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } + { + nixPackage = numactl; + fileToCheckFor = null; + } ]; }; x86_64-darwin = { @@ -90,9 +119,18 @@ let }; exePathForLibraryCheck = null; # we don't have a library check for darwin yet archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = null; + } + { + nixPackage = libiconv; + fileToCheckFor = null; + } ]; isHadrian = true; }; @@ -104,9 +142,18 @@ let }; exePathForLibraryCheck = null; # we don't have a library check for darwin yet archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = null; + } + { + nixPackage = libiconv; + fileToCheckFor = null; + } ]; isHadrian = true; }; @@ -124,7 +171,10 @@ let # We can't check the RPATH for statically linked executable exePathForLibraryCheck = null; archSpecificLibraries = [ - { nixPackage = gmp.override { withStatic = true; }; fileToCheckFor = null; } + { + nixPackage = gmp.override { withStatic = true; }; + fileToCheckFor = null; + } ]; }; }; @@ -132,41 +182,44 @@ let distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc"; - binDistUsed = ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); + binDistUsed = + ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} + or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); - gmpUsed = (builtins.head ( - builtins.filter ( - drv: lib.hasPrefix "gmp" (drv.nixPackage.name or "") - ) binDistUsed.archSpecificLibraries - )).nixPackage; + gmpUsed = + (builtins.head ( + builtins.filter ( + drv: lib.hasPrefix "gmp" (drv.nixPackage.name or "") + ) binDistUsed.archSpecificLibraries + )).nixPackage; # GHC has other native backends (like PowerPC), but here only the ones # we ship bindists for matter. - useLLVM = !(stdenv.targetPlatform.isx86 - || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)); - - libPath = - lib.makeLibraryPath ( - # Add arch-specific libraries. - map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries + useLLVM = + !( + stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin) ); - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" - + "LD_LIBRARY_PATH"; - - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - ++ lib.optionals useLLVM [ - (lib.getBin llvmPackages.llvm) - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; + libPath = lib.makeLibraryPath ( + # Add arch-specific libraries. + map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries + ); + + libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; + + runtimeDeps = + [ + targetPackages.stdenv.cc + targetPackages.stdenv.cc.bintools + coreutils # for cat + ] + ++ lib.optionals useLLVM [ + (lib.getBin llvmPackages.llvm) + ] + # On darwin, we need unwrapped bintools as well (for otool) + ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ + targetPackages.stdenv.cc.bintools.bintools + ]; in @@ -188,12 +241,14 @@ stdenv.mkDerivation rec { # Verify our assumptions of which `libtinfo.so` (ncurses) version is used, # so that we know when ghc bindists upgrade that and we need to update the # version used in `libPath`. - lib.optionalString - (binDistUsed.exePathForLibraryCheck != null) + lib.optionalString (binDistUsed.exePathForLibraryCheck != null) # Note the `*` glob because some GHCs have a suffix when unpacked, e.g. # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`. # As a result, don't shell-quote this glob when splicing the string. - (let buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; in + ( + let + buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; + in lib.concatStringsSep "\n" [ ('' shopt -u nullglob @@ -202,24 +257,22 @@ stdenv.mkDerivation rec { echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; fi '') - (lib.concatMapStringsSep - "\n" - ({ fileToCheckFor, nixPackage }: - lib.optionalString (fileToCheckFor != null) '' - echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" - if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then - echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - - echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" - if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then - echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - ) - binDistUsed.archSpecificLibraries - ) - ]) + (lib.concatMapStringsSep "\n" ( + { fileToCheckFor, nixPackage }: + lib.optionalString (fileToCheckFor != null) '' + echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" + if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then + echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; + fi + + echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" + if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then + echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; + fi + '' + ) binDistUsed.archSpecificLibraries) + ] + ) # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib # during linking + lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -230,24 +283,27 @@ stdenv.mkDerivation rec { ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe done - '' + - - # Some scripts used during the build need to have their shebangs patched - '' - patchShebangs ghc-${version}/utils/ - patchShebangs ghc-${version}/configure - test -d ghc-${version}/inplace/bin && \ - patchShebangs ghc-${version}/inplace/bin - '' + - # We have to patch the GMP paths for the integer-gmp package. '' - find . -name ghc-bignum.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${lib.getLib gmpUsed}/lib@" {} \; + + - # we need to modify the package db directly for hadrian bindists - find . -name 'ghc-bignum*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib gmpUsed}/lib' -i {} \; - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Some scripts used during the build need to have their shebangs patched + '' + patchShebangs ghc-${version}/utils/ + patchShebangs ghc-${version}/configure + test -d ghc-${version}/inplace/bin && \ + patchShebangs ghc-${version}/inplace/bin + '' + + + # We have to patch the GMP paths for the integer-gmp package. + '' + find . -name ghc-bignum.buildinfo \ + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${lib.getLib gmpUsed}/lib@" {} \; + + # we need to modify the package db directly for hadrian bindists + find . -name 'ghc-bignum*.conf' \ + -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib gmpUsed}/lib' -i {} \; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' # we need to modify the package db directly for hadrian bindists # (all darwin bindists are hadrian-based for 9.2.2) find . -name 'base*.conf' \ @@ -258,30 +314,32 @@ stdenv.mkDerivation rec { -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib libffi}/lib' \ -e 's@/Library/Developer/.*/usr/include/ffi@${lib.getDev libffi}/include@' \ -i {} \; - '' + - # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in - # FFI_LIB_DIR is a good indication of places it must be needed. - lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' - find . -name package.conf.in \ - -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; - '' + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -executable -exec patchelf \ - --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; - ''; + '' + + + # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in + # FFI_LIB_DIR is a good indication of places it must be needed. + lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' + find . -name package.conf.in \ + -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; + '' + + + # Rename needed libraries and binaries, fix interpreter + lib.optionalString stdenv.hostPlatform.isLinux '' + find . -type f -executable -exec patchelf \ + --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; + ''; # fix for `configure: error: Your linker is affected by binutils #16177` - preConfigure = lib.optionalString - stdenv.targetPlatform.isAarch32 - "LD=ld.gold"; + preConfigure = lib.optionalString stdenv.targetPlatform.isAarch32 "LD=ld.gold"; configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-includes=${lib.getDev gmpUsed}/include" - # Note `--with-gmp-libraries` does nothing for GHC bindists: - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 - ] ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" + configureFlags = + [ + "--with-gmp-includes=${lib.getDev gmpUsed}/include" + # Note `--with-gmp-libraries` does nothing for GHC bindists: + # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" # From: https://github.com/NixOS/nixpkgs/pull/43369/commits ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; @@ -316,65 +374,68 @@ stdenv.mkDerivation rec { # On Linux, use patchelf to modify the executables so that they can # find editline/gmp. - postFixup = lib.optionalString (stdenv.hostPlatform.isLinux && !(binDistUsed.isStatic or false)) - (if stdenv.hostPlatform.isAarch64 then - # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs - # are 2 directories deep from $out/lib, so pooling symlinks there makes - # a short rpath. - '' - (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) - (cd $out/lib; ln -s ${lib.getLib gmpUsed}/lib/libgmp.so.10) - (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) - for p in $(find "$out/lib" -type f -name "*\.so*"); do - (cd $out/lib; ln -s $p) + postFixup = + lib.optionalString (stdenv.hostPlatform.isLinux && !(binDistUsed.isStatic or false)) ( + if stdenv.hostPlatform.isAarch64 then + # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs + # are 2 directories deep from $out/lib, so pooling symlinks there makes + # a short rpath. + '' + (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) + (cd $out/lib; ln -s ${lib.getLib gmpUsed}/lib/libgmp.so.10) + (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) + for p in $(find "$out/lib" -type f -name "*\.so*"); do + (cd $out/lib; ln -s $p) + done + + for p in $(find "$out/lib" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p + fi + done + '' + else + '' + for p in $(find "$out" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p + fi + done + '' + ) + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # not enough room in the object files for the full path to libiconv :( + for exe in $(find "$out" -type f -executable); do + isScript $exe && continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe done - for p in $(find "$out/lib" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p - fi + for file in $(find "$out" -name setup-config); do + substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" done - '' - else - '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi - done - '') + lib.optionalString stdenv.hostPlatform.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - done - - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - '' + - lib.optionalString minimal '' - # Remove profiling files - find $out -type f -name '*.p_o' -delete - find $out -type f -name '*.p_hi' -delete - find $out -type f -name '*_p.a' -delete - # `-f` because e.g. musl bindist does not have this file. - rm -f $out/lib/ghc-*/bin/ghc-iserv-prof - # Hydra will redistribute this derivation, so we have to keep the docs for - # legal reasons (retaining the legal notices etc) - # As a last resort we could unpack the docs separately and symlink them in. - # They're in $out/share/{doc,man}. - '' - # Recache package db which needs to happen for Hadrian bindists - # where we modify the package db before installing - + '' - shopt -s nullglob - package_db=("$out"/lib/ghc-*/lib/package.conf.d "$out"/lib/ghc-*/package.conf.d) - "$out/bin/ghc-pkg" --package-db="$package_db" recache - ''; + '' + + lib.optionalString minimal '' + # Remove profiling files + find $out -type f -name '*.p_o' -delete + find $out -type f -name '*.p_hi' -delete + find $out -type f -name '*_p.a' -delete + # `-f` because e.g. musl bindist does not have this file. + rm -f $out/lib/ghc-*/bin/ghc-iserv-prof + # Hydra will redistribute this derivation, so we have to keep the docs for + # legal reasons (retaining the legal notices etc) + # As a last resort we could unpack the docs separately and symlink them in. + # They're in $out/share/{doc,man}. + '' + # Recache package db which needs to happen for Hadrian bindists + # where we modify the package db before installing + + '' + shopt -s nullglob + package_db=("$out"/lib/ghc-*/lib/package.conf.d "$out"/lib/ghc-*/package.conf.d) + "$out/bin/ghc-pkg" --package-db="$package_db" recache + ''; # In nixpkgs, musl based builds currently enable `pie` hardening by default # (see `defaultHardeningFlags` in `make-derivation.nix`). @@ -400,25 +461,26 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - passthru = { - targetPrefix = ""; - enableShared = true; - - inherit llvmPackages; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - } - # We duplicate binDistUsed here since we have a sensible default even if no bindist is avaible, - # this makes sure that getting the `meta` attribute doesn't throw even on unsupported platforms. - // lib.optionalAttrs (ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}.isHadrian or false) { - # Normal GHC derivations expose the hadrian derivation used to build them - # here. In the case of bindists we just make sure that the attribute exists, - # as it is used for checking if a GHC derivation has been built with hadrian. - # The isHadrian mechanism will become obsolete with GHCs that use hadrian - # exclusively, i.e. 9.6 (and 9.4?). - hadrian = null; - }; + passthru = + { + targetPrefix = ""; + enableShared = true; + + inherit llvmPackages; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + } + # We duplicate binDistUsed here since we have a sensible default even if no bindist is avaible, + # this makes sure that getting the `meta` attribute doesn't throw even on unsupported platforms. + // lib.optionalAttrs (ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}.isHadrian or false) { + # Normal GHC derivations expose the hadrian derivation used to build them + # here. In the case of bindists we just make sure that the attribute exists, + # as it is used for checking if a GHC derivation has been built with hadrian. + # The isHadrian mechanism will become obsolete with GHCs that use hadrian + # exclusively, i.e. 9.6 (and 9.4?). + hadrian = null; + }; meta = rec { homepage = "http://haskell.org/ghc"; diff --git a/pkgs/development/compilers/ghc/9.6.3-binary.nix b/pkgs/development/compilers/ghc/9.6.3-binary.nix index 6d8f195bb9d30..96bf217884b6a 100644 --- a/pkgs/development/compilers/ghc/9.6.3-binary.nix +++ b/pkgs/development/compilers/ghc/9.6.3-binary.nix @@ -1,16 +1,24 @@ -{ lib, stdenv -, fetchurl, perl, gcc -, ncurses5 -, ncurses6, gmp, libiconv, numactl, libffi -, llvmPackages -, coreutils -, targetPackages +{ + lib, + stdenv, + fetchurl, + perl, + gcc, + ncurses5, + ncurses6, + gmp, + libiconv, + numactl, + libffi, + llvmPackages, + coreutils, + targetPackages, # minimal = true; will remove files that aren't strictly necessary for # regular builds and GHC bootstrapping. # This is "useful" for staying within hydra's output limits for at least the # aarch64-linux architecture. -, minimal ? false + minimal ? false, }: # Prebuilt only does native @@ -50,11 +58,17 @@ let }; exePathForLibraryCheck = "bin/ghc"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } # The i686-linux bindist provided by GHC HQ is currently built on Debian 9, # which link it against `libtinfo.so.5` (ncurses 5). # Other bindists are linked `libtinfo.so.6` (ncurses 6). - { nixPackage = ncurses5; fileToCheckFor = "libtinfo.so.5"; } + { + nixPackage = ncurses5; + fileToCheckFor = "libtinfo.so.5"; + } ]; }; x86_64-linux = { @@ -65,8 +79,14 @@ let }; exePathForLibraryCheck = "bin/ghc"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } ]; }; aarch64-linux = { @@ -77,9 +97,18 @@ let }; exePathForLibraryCheck = "bin/ghc"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - { nixPackage = numactl; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libtinfo.so.6"; + } + { + nixPackage = numactl; + fileToCheckFor = null; + } ]; }; x86_64-darwin = { @@ -90,9 +119,18 @@ let }; exePathForLibraryCheck = null; # we don't have a library check for darwin yet archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = null; + } + { + nixPackage = libiconv; + fileToCheckFor = null; + } ]; }; aarch64-darwin = { @@ -103,9 +141,18 @@ let }; exePathForLibraryCheck = null; # we don't have a library check for darwin yet archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = null; + } + { + nixPackage = libiconv; + fileToCheckFor = null; + } ]; }; }; @@ -119,8 +166,14 @@ let }; exePathForLibraryCheck = "bin/ghc"; archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; } + { + nixPackage = gmp; + fileToCheckFor = null; + } + { + nixPackage = ncurses6; + fileToCheckFor = "libncursesw.so.6"; + } ]; }; }; @@ -128,41 +181,44 @@ let distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc"; - binDistUsed = ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); + binDistUsed = + ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} + or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); - gmpUsed = (builtins.head ( - builtins.filter ( - drv: lib.hasPrefix "gmp" (drv.nixPackage.name or "") - ) binDistUsed.archSpecificLibraries - )).nixPackage; + gmpUsed = + (builtins.head ( + builtins.filter ( + drv: lib.hasPrefix "gmp" (drv.nixPackage.name or "") + ) binDistUsed.archSpecificLibraries + )).nixPackage; # GHC has other native backends (like PowerPC), but here only the ones # we ship bindists for matter. - useLLVM = !(stdenv.targetPlatform.isx86 - || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)); - - libPath = - lib.makeLibraryPath ( - # Add arch-specific libraries. - map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries + useLLVM = + !( + stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin) ); - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" - + "LD_LIBRARY_PATH"; - - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - ++ lib.optionals useLLVM [ - (lib.getBin llvmPackages.llvm) - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; + libPath = lib.makeLibraryPath ( + # Add arch-specific libraries. + map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries + ); + + libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; + + runtimeDeps = + [ + targetPackages.stdenv.cc + targetPackages.stdenv.cc.bintools + coreutils # for cat + ] + ++ lib.optionals useLLVM [ + (lib.getBin llvmPackages.llvm) + ] + # On darwin, we need unwrapped bintools as well (for otool) + ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ + targetPackages.stdenv.cc.bintools.bintools + ]; in @@ -184,12 +240,14 @@ stdenv.mkDerivation rec { # Verify our assumptions of which `libtinfo.so` (ncurses) version is used, # so that we know when ghc bindists upgrade that and we need to update the # version used in `libPath`. - lib.optionalString - (binDistUsed.exePathForLibraryCheck != null) + lib.optionalString (binDistUsed.exePathForLibraryCheck != null) # Note the `*` glob because some GHCs have a suffix when unpacked, e.g. # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`. # As a result, don't shell-quote this glob when splicing the string. - (let buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; in + ( + let + buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; + in lib.concatStringsSep "\n" [ ('' shopt -u nullglob @@ -198,24 +256,22 @@ stdenv.mkDerivation rec { echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; fi '') - (lib.concatMapStringsSep - "\n" - ({ fileToCheckFor, nixPackage }: - lib.optionalString (fileToCheckFor != null) '' - echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" - if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then - echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - - echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" - if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then - echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - ) - binDistUsed.archSpecificLibraries - ) - ]) + (lib.concatMapStringsSep "\n" ( + { fileToCheckFor, nixPackage }: + lib.optionalString (fileToCheckFor != null) '' + echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" + if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then + echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; + fi + + echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" + if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then + echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; + fi + '' + ) binDistUsed.archSpecificLibraries) + ] + ) # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib # during linking + lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -244,23 +300,23 @@ stdenv.mkDerivation rec { -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib libffi}/lib' \ -e 's@/Library/Developer/.*/usr/include/ffi@${lib.getDev libffi}/include@' \ -i {} \; - '' + - # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in - # FFI_LIB_DIR is a good indication of places it must be needed. - lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' - find . -name package.conf.in \ - -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; - '' + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -executable -exec patchelf \ - --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; - ''; + '' + + + # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in + # FFI_LIB_DIR is a good indication of places it must be needed. + lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) '' + find . -name package.conf.in \ + -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; + '' + + + # Rename needed libraries and binaries, fix interpreter + lib.optionalString stdenv.hostPlatform.isLinux '' + find . -type f -executable -exec patchelf \ + --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; + ''; # fix for `configure: error: Your linker is affected by binutils #16177` - preConfigure = lib.optionalString - stdenv.targetPlatform.isAarch32 - "LD=ld.gold"; + preConfigure = lib.optionalString stdenv.targetPlatform.isAarch32 "LD=ld.gold"; # GHC has a patched config.sub and bindists' platforms should always work dontUpdateAutotoolsGnuConfigScripts = true; @@ -276,19 +332,21 @@ stdenv.mkDerivation rec { dontBuild = true; # Patch scripts to include runtime dependencies in $PATH. - postInstall = '' - for i in "$out/bin/"*; do - test ! -h "$i" || continue - isScript "$i" || continue - sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i" - done - '' + lib.optionalString stdenv.targetPlatform.isDarwin '' - # Work around building with binary GHC on Darwin due to GHC’s use of `ar -L` when it - # detects `llvm-ar` even though the resulting archives are not supported by ld64. - # https://gitlab.haskell.org/ghc/ghc/-/issues/23188 - # https://github.com/haskell/cabal/issues/8882 - sed -i -e 's/,("ar supports -L", "YES")/,("ar supports -L", "NO")/' "$out/lib/ghc-${version}/lib/settings" - ''; + postInstall = + '' + for i in "$out/bin/"*; do + test ! -h "$i" || continue + isScript "$i" || continue + sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i" + done + '' + + lib.optionalString stdenv.targetPlatform.isDarwin '' + # Work around building with binary GHC on Darwin due to GHC’s use of `ar -L` when it + # detects `llvm-ar` even though the resulting archives are not supported by ld64. + # https://gitlab.haskell.org/ghc/ghc/-/issues/23188 + # https://github.com/haskell/cabal/issues/8882 + sed -i -e 's/,("ar supports -L", "YES")/,("ar supports -L", "NO")/' "$out/lib/ghc-${version}/lib/settings" + ''; # Apparently necessary for the ghc Alpine (musl) bindist: # When we strip, and then run the @@ -308,52 +366,55 @@ stdenv.mkDerivation rec { # On Linux, use patchelf to modify the executables so that they can # find editline/gmp. - postFixup = lib.optionalString (stdenv.hostPlatform.isLinux && !(binDistUsed.isStatic or false)) - (if stdenv.hostPlatform.isAarch64 then - # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs - # are 2 directories deep from $out/lib, so pooling symlinks there makes - # a short rpath. - '' - (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) - (cd $out/lib; ln -s ${lib.getLib gmpUsed}/lib/libgmp.so.10) - (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) - for p in $(find "$out/lib" -type f -name "*\.so*"); do - (cd $out/lib; ln -s $p) + postFixup = + lib.optionalString (stdenv.hostPlatform.isLinux && !(binDistUsed.isStatic or false)) ( + if stdenv.hostPlatform.isAarch64 then + # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs + # are 2 directories deep from $out/lib, so pooling symlinks there makes + # a short rpath. + '' + (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) + (cd $out/lib; ln -s ${lib.getLib gmpUsed}/lib/libgmp.so.10) + (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) + for p in $(find "$out/lib" -type f -name "*\.so*"); do + (cd $out/lib; ln -s $p) + done + + for p in $(find "$out/lib" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p + fi + done + '' + else + '' + for p in $(find "$out" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p + fi + done + '' + ) + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # not enough room in the object files for the full path to libiconv :( + for exe in $(find "$out" -type f -executable); do + isMachO $exe || continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe done - for p in $(find "$out/lib" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p - fi - done - '' - else - '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi + for file in $(find "$out" -name setup-config); do + substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" done - '') + lib.optionalString stdenv.hostPlatform.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isMachO $exe || continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - done - - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - '' - # Recache package db which needs to happen for Hadrian bindists - # where we modify the package db before installing - + '' - package_db=("$out"/lib/ghc-*/lib/package.conf.d) - "$out/bin/ghc-pkg" --package-db="$package_db" recache - ''; + '' + # Recache package db which needs to happen for Hadrian bindists + # where we modify the package db before installing + + '' + package_db=("$out"/lib/ghc-*/lib/package.conf.d) + "$out/bin/ghc-pkg" --package-db="$package_db" recache + ''; # In nixpkgs, musl based builds currently enable `pie` hardening by default # (see `defaultHardeningFlags` in `make-derivation.nix`). diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 7593a175c77cd..d4cb0f706572a 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -1,88 +1,115 @@ -{ version -, sha256 -, url ? "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz" +{ + version, + sha256, + url ? "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz", }: -{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages - -# build-tools -, bootPkgs -, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx -, xattr, autoSignDarwinBinariesHook -, bash - -, libiconv ? null, ncurses -, glibcLocales ? null - -, # GHC can be built with system libffi or a bundled one. - libffi ? null - -, useLLVM ? !(stdenv.targetPlatform.isx86 - || stdenv.targetPlatform.isPower - || stdenv.targetPlatform.isSparc - || (lib.versionAtLeast version "9.2" && stdenv.targetPlatform.isAarch64)) -, # LLVM is conceptually a run-time-only dependency, but for +{ + lib, + stdenv, + pkgsBuildTarget, + pkgsHostTarget, + buildPackages, + targetPackages, + + # build-tools + bootPkgs, + autoconf, + automake, + coreutils, + fetchpatch, + fetchurl, + perl, + python3, + m4, + sphinx, + xattr, + autoSignDarwinBinariesHook, + bash, + + libiconv ? null, + ncurses, + glibcLocales ? null, + + # GHC can be built with system libffi or a bundled one. + libffi ? null, + + useLLVM ? + !( + stdenv.targetPlatform.isx86 + || stdenv.targetPlatform.isPower + || stdenv.targetPlatform.isSparc + || (lib.versionAtLeast version "9.2" && stdenv.targetPlatform.isAarch64) + ), + # LLVM is conceptually a run-time-only dependency, but for # non-x86, we need LLVM to bootstrap later stages, so it becomes a # build-time dependency too. - buildTargetLlvmPackages, llvmPackages + buildTargetLlvmPackages, + llvmPackages, -, # If enabled, GHC will be built with the GPL-free but slightly slower native + # If enabled, GHC will be built with the GPL-free but slightly slower native # bignum backend instead of the faster but GPLed gmp backend. - enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp - && lib.meta.availableOn stdenv.targetPlatform gmp) -, gmp + enableNativeBignum ? + !(lib.meta.availableOn stdenv.hostPlatform gmp && lib.meta.availableOn stdenv.targetPlatform gmp), + gmp, -, # If enabled, use -fPIC when compiling static libs. - enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform + # If enabled, use -fPIC when compiling static libs. + enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform, # Exceeds Hydra output limit (at the time of writing ~3GB) when cross compiled to riscv64. # A riscv64 cross-compiler fits into the limit comfortably. -, enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64 + enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64, -, # Whether to build dynamic libs for the standard library (on the target + # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic - -, # Whether to build terminfo. - enableTerminfo ? !(stdenv.targetPlatform.isWindows - # terminfo can't be built for cross - || (stdenv.buildPlatform != stdenv.hostPlatform) - || (stdenv.hostPlatform != stdenv.targetPlatform)) - -, # What flavour to build. An empty string indicates no + enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic, + + # Whether to build terminfo. + enableTerminfo ? + !( + stdenv.targetPlatform.isWindows + # terminfo can't be built for cross + || (stdenv.buildPlatform != stdenv.hostPlatform) + || (stdenv.hostPlatform != stdenv.targetPlatform) + ), + + # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. - ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) - (if useLLVM then "perf-cross" else "perf-cross-ncg") + ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) ( + if useLLVM then "perf-cross" else "perf-cross-ncg" + ), -, # Whether to build sphinx documentation. + # Whether to build sphinx documentation. enableDocs ? ( # Docs disabled if we are building on musl because it's a large task to keep # all `sphinx` dependencies building in this environment. !stdenv.buildPlatform.isMusl - ) + ), -, enableHaddockProgram ? + enableHaddockProgram ? # Disabled for cross; see note [HADDOCK_DOCS]. - (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform), -, # Whether to disable the large address space allocator + # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - disableLargeAddressSpace ? stdenv.targetPlatform.isiOS + disableLargeAddressSpace ? stdenv.targetPlatform.isiOS, -, # Whether to build an unregisterised version of GHC. + # Whether to build an unregisterised version of GHC. # GHC will normally auto-detect whether it can do a registered build, but this # option will force it to do an unregistered build when set to true. # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised # Registerised RV64 compiler produces programs that segfault # See https://gitlab.haskell.org/ghc/ghc/-/issues/23957 - enableUnregisterised ? stdenv.hostPlatform.isRiscV64 || stdenv.targetPlatform.isRiscV64 + enableUnregisterised ? stdenv.hostPlatform.isRiscV64 || stdenv.targetPlatform.isRiscV64, }: assert !enableNativeBignum -> gmp != null; # Cross cannot currently build the `haddock` program for silly reasons, # see note [HADDOCK_DOCS]. -assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; +assert + (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) + -> !enableHaddockProgram; # GHC does not support building when all 3 platforms are different. assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform; @@ -91,56 +118,62 @@ let inherit (stdenv) buildPlatform hostPlatform targetPlatform; # TODO(@Ericson2314) Make unconditional - targetPrefix = lib.optionalString - (targetPlatform != hostPlatform) - "${targetPlatform.config}-"; - - buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif - BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} - BUILD_SPHINX_PDF = NO - - WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"} - '' + - # Note [HADDOCK_DOCS]: - # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` - # program is built (which we generally always want to have a complete GHC install) - # and whether it is run on the GHC sources to generate hyperlinked source code - # (which is impossible for cross-compilation); see: - # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 - # This implies that currently a cross-compiled GHC will never have a `haddock` - # program, so it can never generate haddocks for any packages. - # If this is solved in the future, we'd like to unconditionally - # build the haddock program (removing the `enableHaddockProgram` option). - '' - HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"} - # Build haddocks for boot packages with hyperlinking - EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump - - DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} - BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"} - '' + lib.optionalString (targetPlatform != hostPlatform) '' - Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} - CrossCompilePrefix = ${targetPrefix} - '' + lib.optionalString (!enableProfiledLibs) '' - BUILD_PROF_LIBS = NO - '' + - # -fexternal-dynamic-refs apparently (because it's not clear from the documentation) - # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell. - # This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell - lib.optionalString enableRelocatedStaticLibs '' - GhcLibHcOpts += -fPIC -fexternal-dynamic-refs - GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs - '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' - EXTRA_CC_OPTS += -std=gnu99 - ''; + targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-"; + + buildMK = + '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif + BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} + BUILD_SPHINX_PDF = NO + + WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"} + '' + + + # Note [HADDOCK_DOCS]: + # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` + # program is built (which we generally always want to have a complete GHC install) + # and whether it is run on the GHC sources to generate hyperlinked source code + # (which is impossible for cross-compilation); see: + # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 + # This implies that currently a cross-compiled GHC will never have a `haddock` + # program, so it can never generate haddocks for any packages. + # If this is solved in the future, we'd like to unconditionally + # build the haddock program (removing the `enableHaddockProgram` option). + '' + HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"} + # Build haddocks for boot packages with hyperlinking + EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump + + DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} + BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"} + '' + + lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + CrossCompilePrefix = ${targetPrefix} + '' + + lib.optionalString (!enableProfiledLibs) '' + BUILD_PROF_LIBS = NO + '' + + + # -fexternal-dynamic-refs apparently (because it's not clear from the documentation) + # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell. + # This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell + lib.optionalString enableRelocatedStaticLibs '' + GhcLibHcOpts += -fPIC -fexternal-dynamic-refs + GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs + '' + + lib.optionalString targetPlatform.useAndroidPrebuilt '' + EXTRA_CC_OPTS += -std=gnu99 + ''; # Splicer will pull out correct variations - libDeps = platform: lib.optional enableTerminfo ncurses - ++ [libffi] + libDeps = + platform: + lib.optional enableTerminfo ncurses + ++ [ libffi ] ++ lib.optional (!enableNativeBignum) gmp ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; @@ -158,48 +191,54 @@ let # given `stdenv.cc` derivation, i.e. it picks the correct derivation to take # the tool from (cc, cc.bintools, cc.bintools.bintools) and adds the correct # subpath of the tool. - toolPath = name: cc: + toolPath = + name: cc: let - tools = { - "cc" = cc; - "c++" = cc; - as = cc.bintools; - - ar = cc.bintools; - ranlib = cc.bintools; - nm = cc.bintools; - readelf = cc.bintools; - objdump = cc.bintools; - - ld = cc.bintools; - "ld.gold" = cc.bintools; - - otool = cc.bintools.bintools; - - # GHC needs install_name_tool on all darwin platforms. The same one can - # be used on both platforms. It is safe to use with linker-generated - # signatures because it will update the signatures automatically after - # modifying the target binary. - install_name_tool = cc.bintools.bintools; - - # strip on darwin is wrapped to enable deterministic mode. - strip = - # TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold" - if stdenv.targetPlatform.isDarwin - then cc.bintools - else cc.bintools.bintools; - - # clang is used as an assembler on darwin with the LLVM backend - clang = cc; - }.${name}; + tools = + { + "cc" = cc; + "c++" = cc; + as = cc.bintools; + + ar = cc.bintools; + ranlib = cc.bintools; + nm = cc.bintools; + readelf = cc.bintools; + objdump = cc.bintools; + + ld = cc.bintools; + "ld.gold" = cc.bintools; + + otool = cc.bintools.bintools; + + # GHC needs install_name_tool on all darwin platforms. The same one can + # be used on both platforms. It is safe to use with linker-generated + # signatures because it will update the signatures automatically after + # modifying the target binary. + install_name_tool = cc.bintools.bintools; + + # strip on darwin is wrapped to enable deterministic mode. + strip = + # TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold" + if stdenv.targetPlatform.isDarwin then cc.bintools else cc.bintools.bintools; + + # clang is used as an assembler on darwin with the LLVM backend + clang = cc; + } + .${name}; in "${tools}/bin/${tools.targetPrefix}${name}"; # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues. # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 # see #84670 and #49071 for more background. - useLdGold = targetPlatform.linker == "gold" || - (targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl); + useLdGold = + targetPlatform.linker == "gold" + || ( + targetPlatform.linker == "bfd" + && (targetCC.bintools.bintools.hasGold or false) + && !targetPlatform.isMusl + ); # Makes debugging easier to see which variant is at play in `nix-store -q --tree`. variantSuffix = lib.concatStrings [ @@ -223,351 +262,400 @@ let # used to build stage 2 GHC itself, i.e. the core libs are both host and # target. targetLibs = { - inherit - (if hostPlatform != targetPlatform then targetPackages else pkgsHostTarget) + inherit (if hostPlatform != targetPlatform then targetPackages else pkgsHostTarget) gmp libffi - ncurses; + ncurses + ; }; in -stdenv.mkDerivation (rec { - pname = "${targetPrefix}ghc${variantSuffix}"; - inherit version; - - src = fetchurl { - inherit url sha256; - }; - - enableParallelBuilding = true; - - outputs = [ "out" "doc" ]; - - patches = lib.optionals (lib.versionOlder version "9.4") [ - # fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482 - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch"; - sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk="; - extraPrefix = "utils/haddock/"; - stripLen = 1; - }) - ] - - ++ lib.optionals (lib.versionOlder version "9.4.6") [ - # Fix docs build with sphinx >= 6.0 - # https://gitlab.haskell.org/ghc/ghc/-/issues/22766 - (fetchpatch { - name = "ghc-docs-sphinx-6.0.patch"; - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch"; - sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv"; - }) - ] - - ++ [ - # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129 - ./docs-sphinx-7.patch - ] - - ++ lib.optionals (lib.versionOlder version "9.2.2") [ - # Add flag that fixes C++ exception handling; opt-in. Merged in 9.4 and 9.2.2. - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7423 - (fetchpatch { - name = "ghc-9.0.2-fcompact-unwind.patch"; - # Note that the test suite is not packaged. - url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423"; - sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI="; - }) - ] - - ++ lib.optionals (lib.versionAtLeast version "9.2") [ - # Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs - # Can be removed if the Cabal library included with ghc backports the linked fix - (fetchpatch { - url = "https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98.patch"; - stripLen = 1; - extraPrefix = "libraries/Cabal/"; - sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY="; - }) - ] - - ++ lib.optionals (version == "9.4.6") [ - # Work around a type not being defined when including Rts.h in bytestring's cbits - # due to missing feature macros. See https://gitlab.haskell.org/ghc/ghc/-/issues/23810. - ./9.4.6-bytestring-posix-source.patch - ] - - ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [ - # Prevent the paths module from emitting symbols that we don't use - # when building with separate outputs. - # - # These cause problems as they're not eliminated by GHC's dead code - # elimination on aarch64-darwin. (see - # https://github.com/NixOS/nixpkgs/issues/140774 for details). - (if lib.versionAtLeast version "9.2" - then ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch - else ./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch) - ]; - - postPatch = "patchShebangs ."; - - # GHC needs the locale configured during the Haddock phase. - LANG = "en_US.UTF-8"; - - # GHC is a bit confused on its cross terminology. - # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths - preConfigure = '' - for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do - export "''${env#TARGET_}=''${!env}" - done - # Stage0 (build->build) which builds stage 1 - export GHC="${bootPkgs.ghc}/bin/ghc" - # GHC is a bit confused on its cross terminology, as these would normally be - # the *host* tools. - export CC="${toolPath "cc" targetCC}" - export CXX="${toolPath "c++" targetCC}" - # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}" - export AS="${toolPath "as" targetCC}" - export AR="${toolPath "ar" targetCC}" - export NM="${toolPath "nm" targetCC}" - export RANLIB="${toolPath "ranlib" targetCC}" - export READELF="${toolPath "readelf" targetCC}" - export STRIP="${toolPath "strip" targetCC}" - export OBJDUMP="${toolPath "objdump" targetCC}" - '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' - export OTOOL="${toolPath "otool" targetCC}" - export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}" - '' + lib.optionalString useLLVM '' - export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc" - export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt" - '' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' - # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm - # The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't - # clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC - # which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand - # the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible. - # It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use - # for llc and opt which would require using a custom darwin stdenv for targetCC. - export CLANG="${ - if targetCC.isClang - then toolPath "clang" targetCC - else "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" - }" - '' - + '' - # No need for absolute paths since these tools only need to work during the build - export CC_STAGE0="$CC_FOR_BUILD" - export LD_STAGE0="$LD_FOR_BUILD" - export AR_STAGE0="$AR_FOR_BUILD" - - echo -n "${buildMK}" > mk/build.mk - '' - + lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") '' - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") '' - export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "9.2") '' - - # GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7 - export XATTR=${lib.getBin xattr}/bin/xattr - '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' - sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets - '' + lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets..." - echo "Cloning these existing '*-linux-gnu*' targets:" - grep linux-gnu llvm-targets | sed 's/^/ /' - echo "(go go gadget sed)" - sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets - echo "llvm-targets now contains these '*-linux-musl*' targets:" - grep linux-musl llvm-targets | sed 's/^/ /' - - echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" - # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) - for x in configure aclocal.m4; do - substituteInPlace $x \ - --replace '*-android*|*-gnueabi*)' \ - '*-android*|*-gnueabi*|*-musleabi*)' - done - '' - # HACK: allow bootstrapping with GHC 8.10 which works fine, as we don't have - # binary 9.0 packaged. Bootstrapping with 9.2 is broken without hadrian. - + lib.optionalString (lib.versions.majorMinor version == "9.4") '' - substituteInPlace configure --replace \ - 'MinBootGhcVersion="9.0"' \ - 'MinBootGhcVersion="8.10"' - ''; - - # Although it is usually correct to pass --host, we don't do that here because - # GHC's usage of build, host, and target is non-standard. - # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling - # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" ] - ++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target"; - - # `--with` flags for libraries needed for RTS linker - configureFlags = [ - "--datadir=$doc/share/doc/ghc" - ] ++ lib.optionals enableTerminfo [ - "--with-curses-includes=${lib.getDev targetLibs.ncurses}/include" - "--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib" - ] ++ lib.optionals (libffi != null) [ - "--with-system-libffi" - "--with-ffi-includes=${targetLibs.libffi.dev}/include" - "--with-ffi-libraries=${targetLibs.libffi.out}/lib" - ] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [ - "--with-gmp-includes=${targetLibs.gmp.dev}/include" - "--with-gmp-libraries=${targetLibs.gmp.out}/lib" - ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" - "--with-iconv-libraries=${libiconv}/lib" - ] ++ lib.optionals (targetPlatform != hostPlatform) [ - "--enable-bootstrap-with-devel-snapshot" - ] ++ lib.optionals useLdGold [ - "CFLAGS=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" - "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ lib.optionals (disableLargeAddressSpace) [ - "--disable-large-address-space" - ] ++ lib.optionals enableUnregisterised [ - "--enable-unregisterised" - ]; - - # Make sure we never relax`$PATH` and hooks support for compatibility. - strictDeps = true; - - # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. - dontAddExtraLibs = true; - - nativeBuildInputs = [ - perl autoconf automake m4 python3 - bootPkgs.alex bootPkgs.happy bootPkgs.hscolour - bootPkgs.ghc-settings-edit - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook - ] ++ lib.optionals enableDocs [ - sphinx - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versions.majorMinor version == "9.0") [ - # TODO(@sternenseemann): backport addition of XATTR env var like - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447 - xattr - ]; - - # Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs. - # See also GHC, {CC,LD,AR}_STAGE0 in preConfigure. - depsBuildBuild = [ - # N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation - # dependency lists to prevent the bintools setup hook from adding ghc's - # lib directory to the linker flags. Instead we tell configure about it - # via the GHC environment variable. - buildCC - # stage0 builds terminfo unconditionally, so we always need ncurses - ncurses - ]; - # For building runtime libs - depsBuildTarget = toolsForTarget; - - # Prevent stage0 ghc from leaking into the final result. This was an issue - # with GHC 9.6. - disallowedReferences = [ - bootPkgs.ghc - ]; - - buildInputs = [ bash ] ++ (libDeps hostPlatform); - - depsTargetTarget = map lib.getDev (libDeps targetPlatform); - depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform); - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; - - checkTarget = "test"; - - hardeningDisable = - [ "format" ] - # In nixpkgs, musl based builds currently enable `pie` hardening by default - # (see `defaultHardeningFlags` in `make-derivation.nix`). - # But GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - ++ lib.optional stdenv.targetPlatform.isMusl "pie"; - - # big-parallel allows us to build with more than 2 cores on - # Hydra which already warrants a significant speedup - requiredSystemFeatures = [ "big-parallel" ]; - - postInstall = '' - settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings" - - # Make the installed GHC use the host->target tools. - ghc-settings-edit "$settingsFile" \ - "C compiler command" "${toolPath "cc" installCC}" \ - "Haskell CPP command" "${toolPath "cc" installCC}" \ - "C++ compiler command" "${toolPath "c++" installCC}" \ - "ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ - "Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ - "ar command" "${toolPath "ar" installCC}" \ - "ranlib command" "${toolPath "ranlib" installCC}" - '' - + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' - ghc-settings-edit "$settingsFile" \ - "otool command" "${toolPath "otool" installCC}" \ - "install_name_tool command" "${toolPath "install_name_tool" installCC}" - '' - + lib.optionalString useLLVM '' - ghc-settings-edit "$settingsFile" \ - "LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \ - "LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt" - '' - + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' - ghc-settings-edit "$settingsFile" \ - "LLVM clang command" "${ - # See comment for CLANG in preConfigure - if installCC.isClang - then toolPath "clang" installCC - else "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang" - }" - '' - + '' - - # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc - ''; - - passthru = { - inherit bootPkgs targetPrefix; - - inherit llvmPackages; - inherit enableShared; - - # This is used by the haskell builder to query - # the presence of the haddock program. - hasHaddock = enableHaddockProgram; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - }; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "Glasgow Haskell Compiler"; - maintainers = with lib.maintainers; [ - guibou - ] ++ lib.teams.haskell.members; - timeout = 24 * 3600; - platforms = lib.platforms.all; - inherit (bootPkgs.ghc.meta) license; - }; - -} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { - dontStrip = true; - dontPatchELF = true; - noAuditTmpdir = true; -}) +stdenv.mkDerivation ( + rec { + pname = "${targetPrefix}ghc${variantSuffix}"; + inherit version; + + src = fetchurl { + inherit url sha256; + }; + + enableParallelBuilding = true; + + outputs = [ + "out" + "doc" + ]; + + patches = + lib.optionals (lib.versionOlder version "9.4") [ + # fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482 + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch"; + sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk="; + extraPrefix = "utils/haddock/"; + stripLen = 1; + }) + ] + + ++ lib.optionals (lib.versionOlder version "9.4.6") [ + # Fix docs build with sphinx >= 6.0 + # https://gitlab.haskell.org/ghc/ghc/-/issues/22766 + (fetchpatch { + name = "ghc-docs-sphinx-6.0.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch"; + sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv"; + }) + ] + + ++ [ + # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129 + ./docs-sphinx-7.patch + ] + + ++ lib.optionals (lib.versionOlder version "9.2.2") [ + # Add flag that fixes C++ exception handling; opt-in. Merged in 9.4 and 9.2.2. + # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7423 + (fetchpatch { + name = "ghc-9.0.2-fcompact-unwind.patch"; + # Note that the test suite is not packaged. + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423"; + sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI="; + }) + ] + + ++ lib.optionals (lib.versionAtLeast version "9.2") [ + # Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs + # Can be removed if the Cabal library included with ghc backports the linked fix + (fetchpatch { + url = "https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98.patch"; + stripLen = 1; + extraPrefix = "libraries/Cabal/"; + sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY="; + }) + ] + + ++ lib.optionals (version == "9.4.6") [ + # Work around a type not being defined when including Rts.h in bytestring's cbits + # due to missing feature macros. See https://gitlab.haskell.org/ghc/ghc/-/issues/23810. + ./9.4.6-bytestring-posix-source.patch + ] + + ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [ + # Prevent the paths module from emitting symbols that we don't use + # when building with separate outputs. + # + # These cause problems as they're not eliminated by GHC's dead code + # elimination on aarch64-darwin. (see + # https://github.com/NixOS/nixpkgs/issues/140774 for details). + ( + if lib.versionAtLeast version "9.2" then + ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch + else + ./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch + ) + ]; + + postPatch = "patchShebangs ."; + + # GHC needs the locale configured during the Haddock phase. + LANG = "en_US.UTF-8"; + + # GHC is a bit confused on its cross terminology. + # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths + preConfigure = + '' + for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do + export "''${env#TARGET_}=''${!env}" + done + # Stage0 (build->build) which builds stage 1 + export GHC="${bootPkgs.ghc}/bin/ghc" + # GHC is a bit confused on its cross terminology, as these would normally be + # the *host* tools. + export CC="${toolPath "cc" targetCC}" + export CXX="${toolPath "c++" targetCC}" + # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}" + export AS="${toolPath "as" targetCC}" + export AR="${toolPath "ar" targetCC}" + export NM="${toolPath "nm" targetCC}" + export RANLIB="${toolPath "ranlib" targetCC}" + export READELF="${toolPath "readelf" targetCC}" + export STRIP="${toolPath "strip" targetCC}" + export OBJDUMP="${toolPath "objdump" targetCC}" + '' + + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' + export OTOOL="${toolPath "otool" targetCC}" + export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}" + '' + + lib.optionalString useLLVM '' + export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc" + export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt" + '' + + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' + # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm + # The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't + # clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC + # which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand + # the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible. + # It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use + # for llc and opt which would require using a custom darwin stdenv for targetCC. + export CLANG="${ + if targetCC.isClang then + toolPath "clang" targetCC + else + "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" + }" + '' + + '' + # No need for absolute paths since these tools only need to work during the build + export CC_STAGE0="$CC_FOR_BUILD" + export LD_STAGE0="$LD_FOR_BUILD" + export AR_STAGE0="$AR_FOR_BUILD" + + echo -n "${buildMK}" > mk/build.mk + '' + + lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") '' + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + + lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") '' + export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "9.2") '' + + # GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7 + export XATTR=${lib.getBin xattr}/bin/xattr + '' + + lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + + lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done + '' + # HACK: allow bootstrapping with GHC 8.10 which works fine, as we don't have + # binary 9.0 packaged. Bootstrapping with 9.2 is broken without hadrian. + + lib.optionalString (lib.versions.majorMinor version == "9.4") '' + substituteInPlace configure --replace \ + 'MinBootGhcVersion="9.0"' \ + 'MinBootGhcVersion="8.10"' + ''; + + # Although it is usually correct to pass --host, we don't do that here because + # GHC's usage of build, host, and target is non-standard. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ + "build" + ] ++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target"; + + # `--with` flags for libraries needed for RTS linker + configureFlags = + [ + "--datadir=$doc/share/doc/ghc" + ] + ++ lib.optionals enableTerminfo [ + "--with-curses-includes=${lib.getDev targetLibs.ncurses}/include" + "--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib" + ] + ++ lib.optionals (libffi != null) [ + "--with-system-libffi" + "--with-ffi-includes=${targetLibs.libffi.dev}/include" + "--with-ffi-libraries=${targetLibs.libffi.out}/lib" + ] + ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [ + "--with-gmp-includes=${targetLibs.gmp.dev}/include" + "--with-gmp-libraries=${targetLibs.gmp.out}/lib" + ] + ++ + lib.optionals + (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) + [ + "--with-iconv-includes=${libiconv}/include" + "--with-iconv-libraries=${libiconv}/lib" + ] + ++ lib.optionals (targetPlatform != hostPlatform) [ + "--enable-bootstrap-with-devel-snapshot" + ] + ++ lib.optionals useLdGold [ + "CFLAGS=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" + ] + ++ lib.optionals (disableLargeAddressSpace) [ + "--disable-large-address-space" + ] + ++ lib.optionals enableUnregisterised [ + "--enable-unregisterised" + ]; + + # Make sure we never relax`$PATH` and hooks support for compatibility. + strictDeps = true; + + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + + nativeBuildInputs = + [ + perl + autoconf + automake + m4 + python3 + bootPkgs.alex + bootPkgs.happy + bootPkgs.hscolour + bootPkgs.ghc-settings-edit + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ] + ++ lib.optionals enableDocs [ + sphinx + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versions.majorMinor version == "9.0") [ + # TODO(@sternenseemann): backport addition of XATTR env var like + # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447 + xattr + ]; + + # Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs. + # See also GHC, {CC,LD,AR}_STAGE0 in preConfigure. + depsBuildBuild = [ + # N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation + # dependency lists to prevent the bintools setup hook from adding ghc's + # lib directory to the linker flags. Instead we tell configure about it + # via the GHC environment variable. + buildCC + # stage0 builds terminfo unconditionally, so we always need ncurses + ncurses + ]; + # For building runtime libs + depsBuildTarget = toolsForTarget; + + # Prevent stage0 ghc from leaking into the final result. This was an issue + # with GHC 9.6. + disallowedReferences = [ + bootPkgs.ghc + ]; + + buildInputs = [ bash ] ++ (libDeps hostPlatform); + + depsTargetTarget = map lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform); + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + + checkTarget = "test"; + + hardeningDisable = + [ "format" ] + # In nixpkgs, musl based builds currently enable `pie` hardening by default + # (see `defaultHardeningFlags` in `make-derivation.nix`). + # But GHC cannot currently produce outputs that are ready for `-pie` linking. + # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. + # See: + # * https://github.com/NixOS/nixpkgs/issues/129247 + # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 + ++ lib.optional stdenv.targetPlatform.isMusl "pie"; + + # big-parallel allows us to build with more than 2 cores on + # Hydra which already warrants a significant speedup + requiredSystemFeatures = [ "big-parallel" ]; + + postInstall = + '' + settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings" + + # Make the installed GHC use the host->target tools. + ghc-settings-edit "$settingsFile" \ + "C compiler command" "${toolPath "cc" installCC}" \ + "Haskell CPP command" "${toolPath "cc" installCC}" \ + "C++ compiler command" "${toolPath "c++" installCC}" \ + "ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ + "Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ + "ar command" "${toolPath "ar" installCC}" \ + "ranlib command" "${toolPath "ranlib" installCC}" + '' + + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' + ghc-settings-edit "$settingsFile" \ + "otool command" "${toolPath "otool" installCC}" \ + "install_name_tool command" "${toolPath "install_name_tool" installCC}" + '' + + lib.optionalString useLLVM '' + ghc-settings-edit "$settingsFile" \ + "LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \ + "LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt" + '' + + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' + ghc-settings-edit "$settingsFile" \ + "LLVM clang command" "${ + # See comment for CLANG in preConfigure + if installCC.isClang then + toolPath "clang" installCC + else + "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang" + }" + '' + + '' + + # Install the bash completion file. + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc + ''; + + passthru = { + inherit bootPkgs targetPrefix; + + inherit llvmPackages; + inherit enableShared; + + # This is used by the haskell builder to query + # the presence of the haddock program. + hasHaddock = enableHaddockProgram; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + }; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "Glasgow Haskell Compiler"; + maintainers = + with lib.maintainers; + [ + guibou + ] + ++ lib.teams.haskell.members; + timeout = 24 * 3600; + platforms = lib.platforms.all; + inherit (bootPkgs.ghc.meta) license; + }; + + } + // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { + dontStrip = true; + dontPatchELF = true; + noAuditTmpdir = true; + } +) diff --git a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix index 8f791b73abff9..109fa38c14c5a 100644 --- a/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix +++ b/pkgs/development/compilers/ghcjs/8.10/common-overrides.nix @@ -1,20 +1,40 @@ -{ haskellLib, fetchpatch, buildPackages }: +{ + haskellLib, + fetchpatch, + buildPackages, +}: -let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak markUnbroken overrideCabal; -in self: super: { - ghcjs = overrideCabal (drv: { - # Jailbreak and patch can be dropped after https://github.com/ghcjs/ghcjs/pull/833 - jailbreak = true; - patches = drv.patches or [] ++ [ - (fetchpatch { - name = "ghcjs-aeson-2.0.patch"; - url = "https://github.com/ghcjs/ghcjs/commit/9ef1f92d740e8503d15d91699f57db147f0474cc.patch"; - sha256 = "0cgxcy6b5870bv4kj54n3bzcqinh4gl4w4r78dg43h2mblhkzbnj"; +let + inherit (haskellLib) + addBuildTools + appendConfigureFlag + dontHaddock + doJailbreak + markUnbroken + overrideCabal + ; +in +self: super: { + ghcjs = + overrideCabal + (drv: { + # Jailbreak and patch can be dropped after https://github.com/ghcjs/ghcjs/pull/833 + jailbreak = true; + patches = drv.patches or [ ] ++ [ + (fetchpatch { + name = "ghcjs-aeson-2.0.patch"; + url = "https://github.com/ghcjs/ghcjs/commit/9ef1f92d740e8503d15d91699f57db147f0474cc.patch"; + sha256 = "0cgxcy6b5870bv4kj54n3bzcqinh4gl4w4r78dg43h2mblhkzbnj"; + }) + ]; }) - ]; - }) (super.ghcjs.overrideScope (self: super: { - # Allow transformers-compat >= 0.7 - optparse-applicative = doJailbreak self.optparse-applicative_0_15_1_0; - ansi-wl-pprint = self.ansi-wl-pprint_0_6_9; - })); + ( + super.ghcjs.overrideScope ( + self: super: { + # Allow transformers-compat >= 0.7 + optparse-applicative = doJailbreak self.optparse-applicative_0_15_1_0; + ansi-wl-pprint = self.ansi-wl-pprint_0_6_9; + } + ) + ); } diff --git a/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix index c9e6d2f09cf76..3df3a42bf5c38 100644 --- a/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix +++ b/pkgs/development/compilers/ghcjs/8.10/configured-ghcjs-src.nix @@ -1,67 +1,70 @@ -{ perl -, autoconf -, automake -, python3 -, gcc -, cabal-install -, runCommand -, fetchpatch +{ + perl, + autoconf, + automake, + python3, + gcc, + cabal-install, + runCommand, + fetchpatch, -, ghc -, happy -, alex + ghc, + happy, + alex, -, ghcjsSrc -, version + ghcjsSrc, + version, }: -runCommand "configured-ghcjs-src" { - nativeBuildInputs = [ - perl - autoconf - automake - python3 - ghc - happy - alex - cabal-install - gcc - ]; +runCommand "configured-ghcjs-src" + { + nativeBuildInputs = [ + perl + autoconf + automake + python3 + ghc + happy + alex + cabal-install + gcc + ]; - inherit ghcjsSrc; + inherit ghcjsSrc; - ctimePatch = fetchpatch { - name = "ghcjs-base-ctime-64-bit.patch"; - url = "https://github.com/ghcjs/ghcjs/commit/b7711fbca7c3f43a61f1dba526e6f2a2656ef44c.patch"; - hash = "sha256-zZ3l8/5gbIGtvu0s2Xl92fEDhkhJ2c2w+5Ql5qkvr3s="; - }; -} '' - export HOME=$(pwd) - mkdir $HOME/.cabal - touch $HOME/.cabal/config - cp -r "$ghcjsSrc" "$out" - chmod -R +w "$out" - cd "$out" + ctimePatch = fetchpatch { + name = "ghcjs-base-ctime-64-bit.patch"; + url = "https://github.com/ghcjs/ghcjs/commit/b7711fbca7c3f43a61f1dba526e6f2a2656ef44c.patch"; + hash = "sha256-zZ3l8/5gbIGtvu0s2Xl92fEDhkhJ2c2w+5Ql5qkvr3s="; + }; + } + '' + export HOME=$(pwd) + mkdir $HOME/.cabal + touch $HOME/.cabal/config + cp -r "$ghcjsSrc" "$out" + chmod -R +w "$out" + cd "$out" - patch -p1 -i "$ctimePatch" + patch -p1 -i "$ctimePatch" - # TODO: Find a better way to avoid impure version numbers - sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac + # TODO: Find a better way to avoid impure version numbers + sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac - # These files are needed by ghc-boot package, and these are generated by the - # make/hadrian build system when compiling ghc. Since we dont have access to - # the generated code of the ghc while it got built, here is a little hack to - # generate these again. - runhaskell ${./generate_host_version.hs} - mkdir -p utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform - mv Host.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs - mv Version.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Version.hs + # These files are needed by ghc-boot package, and these are generated by the + # make/hadrian build system when compiling ghc. Since we dont have access to + # the generated code of the ghc while it got built, here is a little hack to + # generate these again. + runhaskell ${./generate_host_version.hs} + mkdir -p utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform + mv Host.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs + mv Version.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Version.hs - # The ghcjs has the following hardcoded paths of lib dir in its code. Patching - # these to match the path expected by the nixpkgs's generic-builder, etc. - sed -i 's/libSubDir = "lib"/libSubDir = "lib\/ghcjs-${version}"/' src-bin/Boot.hs - sed -i 's@let libDir = takeDirectory haddockPath ".." "lib"@let libDir = takeDirectory haddockPath ".." "lib/ghcjs-${version}"@' src-bin/HaddockDriver.hs + # The ghcjs has the following hardcoded paths of lib dir in its code. Patching + # these to match the path expected by the nixpkgs's generic-builder, etc. + sed -i 's/libSubDir = "lib"/libSubDir = "lib\/ghcjs-${version}"/' src-bin/Boot.hs + sed -i 's@let libDir = takeDirectory haddockPath ".." "lib"@let libDir = takeDirectory haddockPath ".." "lib/ghcjs-${version}"@' src-bin/HaddockDriver.hs - patchShebangs . - ./utils/makePackages.sh copy -'' + patchShebangs . + ./utils/makePackages.sh copy + '' diff --git a/pkgs/development/compilers/ghcjs/8.10/default.nix b/pkgs/development/compilers/ghcjs/8.10/default.nix index aea58c62b6d10..d3f74f52e86e9 100644 --- a/pkgs/development/compilers/ghcjs/8.10/default.nix +++ b/pkgs/development/compilers/ghcjs/8.10/default.nix @@ -1,24 +1,25 @@ -{ stdenv -, pkgsHostHost -, callPackage -, fetchgit -, fetchpatch -, ghcjsSrcJson ? null -, ghcjsSrc ? fetchgit (lib.importJSON ghcjsSrcJson) -, bootPkgs -, stage0 -, haskellLib -, cabal-install -, nodejs -, makeWrapper -, xorg -, gmp -, pkg-config -, gcc -, lib -, ghcjsDepOverrides ? (_:_:{}) -, linkFarm -, buildPackages +{ + stdenv, + pkgsHostHost, + callPackage, + fetchgit, + fetchpatch, + ghcjsSrcJson ? null, + ghcjsSrc ? fetchgit (lib.importJSON ghcjsSrcJson), + bootPkgs, + stage0, + haskellLib, + cabal-install, + nodejs, + makeWrapper, + xorg, + gmp, + pkg-config, + gcc, + lib, + ghcjsDepOverrides ? (_: _: { }), + linkFarm, + buildPackages, }: let @@ -29,17 +30,22 @@ let inherit (bootGhcjs) version; happy = bootPkgs.happy_1_19_12; }; - bootPkgs = bootPkgs.extend (lib.foldr lib.composeExtensions (_:_:{}) [ - (self: _: import stage0 { - inherit (passthru) configuredSrc; - inherit (self) callPackage; - }) - - (callPackage ./common-overrides.nix { - inherit haskellLib fetchpatch buildPackages; - }) - ghcjsDepOverrides - ]); + bootPkgs = bootPkgs.extend ( + lib.foldr lib.composeExtensions (_: _: { }) [ + ( + self: _: + import stage0 { + inherit (passthru) configuredSrc; + inherit (self) callPackage; + } + ) + + (callPackage ./common-overrides.nix { + inherit haskellLib fetchpatch buildPackages; + }) + ghcjsDepOverrides + ] + ); targetPrefix = ""; inherit bootGhcjs; @@ -58,14 +64,22 @@ let # This provides the stuff we need from the emsdk emsdk = linkFarm "emsdk" [ - { name = "upstream/bin"; path = buildPackages.clang + "/bin";} - { name = "upstream/emscripten"; path = buildPackages.emscripten + "/bin"; } + { + name = "upstream/bin"; + path = buildPackages.clang + "/bin"; + } + { + name = "upstream/emscripten"; + path = buildPackages.emscripten + "/bin"; + } ]; -in stdenv.mkDerivation { - name = bootGhcjs.name; - src = passthru.configuredSrc; - nativeBuildInputs = [ +in +stdenv.mkDerivation { + name = bootGhcjs.name; + src = passthru.configuredSrc; + nativeBuildInputs = + [ bootGhcjs passthru.bootPkgs.ghc cabal-install @@ -74,54 +88,55 @@ in stdenv.mkDerivation { xorg.lndir gmp pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ gcc # https://github.com/ghcjs/ghcjs/issues/663 ]; - dontConfigure = true; - dontInstall = true; + dontConfigure = true; + dontInstall = true; - # Newer versions of `config.sub` reject the `js-ghcjs` host string, but the - # older `config.sub` filed vendored within `ghc` still works - dontUpdateAutotoolsGnuConfigScripts = true; + # Newer versions of `config.sub` reject the `js-ghcjs` host string, but the + # older `config.sub` filed vendored within `ghc` still works + dontUpdateAutotoolsGnuConfigScripts = true; - buildPhase = '' - export HOME=$TMP - mkdir $HOME/.cabal - touch $HOME/.cabal/config - cd lib/boot + buildPhase = '' + export HOME=$TMP + mkdir $HOME/.cabal + touch $HOME/.cabal/config + cd lib/boot - mkdir -p $out/bin - mkdir -p $out/lib/${bootGhcjs.name} - lndir ${bootGhcjs}/bin $out/bin - chmod -R +w $out/bin - rm $out/bin/ghcjs-boot - cp ${bootGhcjs}/bin/ghcjs-boot $out/bin - rm $out/bin/haddock - cp ${bootGhcjs}/bin/haddock $out/bin - cp ${bootGhcjs}/bin/private-ghcjs-hsc2hs $out/bin/ghcjs-hsc2hs + mkdir -p $out/bin + mkdir -p $out/lib/${bootGhcjs.name} + lndir ${bootGhcjs}/bin $out/bin + chmod -R +w $out/bin + rm $out/bin/ghcjs-boot + cp ${bootGhcjs}/bin/ghcjs-boot $out/bin + rm $out/bin/haddock + cp ${bootGhcjs}/bin/haddock $out/bin + cp ${bootGhcjs}/bin/private-ghcjs-hsc2hs $out/bin/ghcjs-hsc2hs - wrapProgram $out/bin/ghcjs-boot --set ghcjs_libexecdir $out/bin + wrapProgram $out/bin/ghcjs-boot --set ghcjs_libexecdir $out/bin - wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib/${bootGhcjs.name}" - wrapProgram $out/bin/haddock --add-flags "-B$out/lib/${bootGhcjs.name}" - wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/${bootGhcjs.name}/package.conf.d" - wrapProgram $out/bin/ghcjs-hsc2hs --add-flags "-I$out/lib/${bootGhcjs.name}/include --template=$out/lib/${bootGhcjs.name}/include/template-hsc.h" + wrapProgram $out/bin/ghcjs --add-flags "-B$out/lib/${bootGhcjs.name}" + wrapProgram $out/bin/haddock --add-flags "-B$out/lib/${bootGhcjs.name}" + wrapProgram $out/bin/ghcjs-pkg --add-flags "--global-package-db=$out/lib/${bootGhcjs.name}/package.conf.d" + wrapProgram $out/bin/ghcjs-hsc2hs --add-flags "-I$out/lib/${bootGhcjs.name}/include --template=$out/lib/${bootGhcjs.name}/include/template-hsc.h" - env PATH=$out/bin:$PATH $out/bin/ghcjs-boot --with-emsdk=${emsdk} --no-haddock - ''; + env PATH=$out/bin:$PATH $out/bin/ghcjs-boot --with-emsdk=${emsdk} --no-haddock + ''; - enableParallelBuilding = true; + enableParallelBuilding = true; - inherit passthru; + inherit passthru; - meta = { - platforms = with lib.platforms; linux ++ darwin; + meta = { + platforms = with lib.platforms; linux ++ darwin; - # Hydra limits jobs to only outputting 1 gigabyte worth of files. - # GHCJS outputs over 3 gigabytes. - # https://github.com/NixOS/nixpkgs/pull/137066#issuecomment-922335563 - hydraPlatforms = lib.platforms.none; + # Hydra limits jobs to only outputting 1 gigabyte worth of files. + # GHCJS outputs over 3 gigabytes. + # https://github.com/NixOS/nixpkgs/pull/137066#issuecomment-922335563 + hydraPlatforms = lib.platforms.none; - maintainers = with lib.maintainers; [ obsidian-systems-maintenance ]; - }; - } + maintainers = with lib.maintainers; [ obsidian-systems-maintenance ]; + }; +} diff --git a/pkgs/development/compilers/ghcjs/8.10/stage0.nix b/pkgs/development/compilers/ghcjs/8.10/stage0.nix index d173d5a2e5577..30c89a1b2e197 100644 --- a/pkgs/development/compilers/ghcjs/8.10/stage0.nix +++ b/pkgs/development/compilers/ghcjs/8.10/stage0.nix @@ -2,76 +2,244 @@ { - ghcjs = callPackage - ({ mkDerivation, aeson, alex, array, attoparsec, base, base16-bytestring - , base64-bytestring, binary, bytestring, Cabal, containers - , cryptohash, data-default, deepseq, directory, executable-path - , filepath, ghc-boot, ghc-boot-th, ghc-compact, ghc-heap, ghc-paths - , ghci, happy, hashable, hpc, http-types, HUnit, lens, lib - , lifted-base, mtl, network, optparse-applicative, parallel, parsec - , process, random, safe, shelly, split, stringsearch, syb, tar - , template-haskell, terminfo, test-framework, test-framework-hunit - , text, time, transformers, unix, unix-compat, unordered-containers - , vector, wai, wai-app-static, wai-extra, wai-websockets, warp - , webdriver, websockets, wl-pprint-text, xhtml, yaml - }: - mkDerivation { - pname = "ghcjs"; - version = "8.10.7"; - src = configuredSrc + /.; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson array attoparsec base base16-bytestring base64-bytestring - binary bytestring Cabal containers cryptohash data-default deepseq - directory filepath ghc-boot ghc-boot-th ghc-compact ghc-heap - ghc-paths ghci hashable hpc lens mtl optparse-applicative parallel - parsec process safe split stringsearch syb template-haskell - terminfo text time transformers unix unordered-containers vector - wl-pprint-text yaml - ]; - libraryToolDepends = [ alex happy ]; - executableHaskellDepends = [ - aeson array base binary bytestring Cabal containers deepseq - directory executable-path filepath ghc-boot lens mtl - optparse-applicative parsec process tar terminfo text time - transformers unix unix-compat unordered-containers vector xhtml - yaml - ]; - testHaskellDepends = [ - aeson base bytestring data-default deepseq directory filepath - http-types HUnit lens lifted-base network optparse-applicative - process random shelly test-framework test-framework-hunit text time - transformers unordered-containers wai wai-app-static wai-extra - wai-websockets warp webdriver websockets yaml - ]; - description = "Haskell to JavaScript compiler"; - license = lib.licenses.mit; - }) {}; + ghcjs = callPackage ( + { + mkDerivation, + aeson, + alex, + array, + attoparsec, + base, + base16-bytestring, + base64-bytestring, + binary, + bytestring, + Cabal, + containers, + cryptohash, + data-default, + deepseq, + directory, + executable-path, + filepath, + ghc-boot, + ghc-boot-th, + ghc-compact, + ghc-heap, + ghc-paths, + ghci, + happy, + hashable, + hpc, + http-types, + HUnit, + lens, + lib, + lifted-base, + mtl, + network, + optparse-applicative, + parallel, + parsec, + process, + random, + safe, + shelly, + split, + stringsearch, + syb, + tar, + template-haskell, + terminfo, + test-framework, + test-framework-hunit, + text, + time, + transformers, + unix, + unix-compat, + unordered-containers, + vector, + wai, + wai-app-static, + wai-extra, + wai-websockets, + warp, + webdriver, + websockets, + wl-pprint-text, + xhtml, + yaml, + }: + mkDerivation { + pname = "ghcjs"; + version = "8.10.7"; + src = configuredSrc + /.; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson + array + attoparsec + base + base16-bytestring + base64-bytestring + binary + bytestring + Cabal + containers + cryptohash + data-default + deepseq + directory + filepath + ghc-boot + ghc-boot-th + ghc-compact + ghc-heap + ghc-paths + ghci + hashable + hpc + lens + mtl + optparse-applicative + parallel + parsec + process + safe + split + stringsearch + syb + template-haskell + terminfo + text + time + transformers + unix + unordered-containers + vector + wl-pprint-text + yaml + ]; + libraryToolDepends = [ + alex + happy + ]; + executableHaskellDepends = [ + aeson + array + base + binary + bytestring + Cabal + containers + deepseq + directory + executable-path + filepath + ghc-boot + lens + mtl + optparse-applicative + parsec + process + tar + terminfo + text + time + transformers + unix + unix-compat + unordered-containers + vector + xhtml + yaml + ]; + testHaskellDepends = [ + aeson + base + bytestring + data-default + deepseq + directory + filepath + http-types + HUnit + lens + lifted-base + network + optparse-applicative + process + random + shelly + test-framework + test-framework-hunit + text + time + transformers + unordered-containers + wai + wai-app-static + wai-extra + wai-websockets + warp + webdriver + websockets + yaml + ]; + description = "Haskell to JavaScript compiler"; + license = lib.licenses.mit; + } + ) { }; - ghcjs-th = callPackage - ({ mkDerivation, base, binary, bytestring, containers, ghc-prim - , ghci, lib, template-haskell + ghcjs-th = callPackage ( + { + mkDerivation, + base, + binary, + bytestring, + containers, + ghc-prim, + ghci, + lib, + template-haskell, }: mkDerivation { pname = "ghcjs-th"; version = "0.1.0.0"; src = configuredSrc + /lib/ghcjs-th; libraryHaskellDepends = [ - base binary bytestring containers ghc-prim ghci template-haskell + base + binary + bytestring + containers + ghc-prim + ghci + template-haskell ]; homepage = "https://github.com/ghcjs"; license = lib.licenses.mit; - }) {}; + } + ) { }; - ghcjs-prim = callPackage - ({ mkDerivation, base, ghc-prim, lib }: + ghcjs-prim = callPackage ( + { + mkDerivation, + base, + ghc-prim, + lib, + }: mkDerivation { pname = "ghcjs-prim"; version = "0.1.1.0"; src = ./.; - libraryHaskellDepends = [ base ghc-prim ]; + libraryHaskellDepends = [ + base + ghc-prim + ]; homepage = "https://github.com/ghcjs"; license = lib.licenses.mit; - }) {}; + } + ) { }; } diff --git a/pkgs/development/compilers/ghcjs/ghcjs-base.nix b/pkgs/development/compilers/ghcjs/ghcjs-base.nix index 9c09412b027e9..bb57c0beefcac 100644 --- a/pkgs/development/compilers/ghcjs/ghcjs-base.nix +++ b/pkgs/development/compilers/ghcjs/ghcjs-base.nix @@ -1,10 +1,35 @@ -{ mkDerivation, aeson, array, attoparsec, base, binary, bytestring -, containers, deepseq, directory, dlist, fetchFromGitHub, ghc-prim -, ghcjs-prim, hashable, HUnit, integer-gmp, primitive, QuickCheck -, quickcheck-unicode, random, scientific, test-framework -, test-framework-hunit, test-framework-quickcheck2, text, time -, transformers, unordered-containers, vector -, lib +{ + mkDerivation, + aeson, + array, + attoparsec, + base, + binary, + bytestring, + containers, + deepseq, + directory, + dlist, + fetchFromGitHub, + ghc-prim, + ghcjs-prim, + hashable, + HUnit, + integer-gmp, + primitive, + QuickCheck, + quickcheck-unicode, + random, + scientific, + test-framework, + test-framework-hunit, + test-framework-quickcheck2, + text, + time, + transformers, + unordered-containers, + vector, + lib, }: mkDerivation { pname = "ghcjs-base"; @@ -18,14 +43,43 @@ mkDerivation { sha256 = "sha256-x6eCAK1Hne0QkV3Loi9YpxbleNHU593E4AO8cbk2vUc="; }; libraryHaskellDepends = [ - aeson attoparsec base binary bytestring containers deepseq dlist - ghc-prim ghcjs-prim hashable integer-gmp primitive scientific text - time transformers unordered-containers vector + aeson + attoparsec + base + binary + bytestring + containers + deepseq + dlist + ghc-prim + ghcjs-prim + hashable + integer-gmp + primitive + scientific + text + time + transformers + unordered-containers + vector ]; testHaskellDepends = [ - array base bytestring deepseq directory ghc-prim ghcjs-prim HUnit - primitive QuickCheck quickcheck-unicode random test-framework - test-framework-hunit test-framework-quickcheck2 text + array + base + bytestring + deepseq + directory + ghc-prim + ghcjs-prim + HUnit + primitive + QuickCheck + quickcheck-unicode + random + test-framework + test-framework-hunit + test-framework-quickcheck2 + text ]; homepage = "https://github.com/ghcjs/ghcjs-base"; description = "base library for GHCJS"; diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix index 81638062e61d7..8a083a0ab3904 100644 --- a/pkgs/development/compilers/gleam/default.nix +++ b/pkgs/development/compilers/gleam/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, git -, pkg-config -, openssl -, erlang -, Security -, nix-update-script -, SystemConfiguration +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + git, + pkg-config, + openssl, + erlang, + Security, + nix-update-script, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -22,10 +23,20 @@ rustPlatform.buildRustPackage rec { hash = "sha256-r+iN6eLmy6qnrhvHKUQufd/4mvZL9TCVaqLqEPcLu1E="; }; - nativeBuildInputs = [ git pkg-config ]; + nativeBuildInputs = [ + git + pkg-config + ]; - buildInputs = [ openssl erlang ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; + buildInputs = + [ + openssl + erlang + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; cargoHash = "sha256-+kKKdNAvr8sTaFvzCCpY1bVS779DgJbHI9kUUIi4lXE="; diff --git a/pkgs/development/compilers/go/1.22.nix b/pkgs/development/compilers/go/1.22.nix index d0f0a4e7ff686..319ed5081d0cc 100644 --- a/pkgs/development/compilers/go/1.22.nix +++ b/pkgs/development/compilers/go/1.22.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, tzdata -, substituteAll -, iana-etc -, apple-sdk_11 -, xcbuild -, mailcap -, buildPackages -, pkgsBuildTarget -, threadsCross -, testers -, skopeo -, buildGo122Module +{ + lib, + stdenv, + fetchurl, + tzdata, + substituteAll, + iana-etc, + apple-sdk_11, + xcbuild, + mailcap, + buildPackages, + pkgsBuildTarget, + threadsCross, + testers, + skopeo, + buildGo122Module, }: let @@ -20,23 +21,26 @@ let skopeoTest = skopeo.override { buildGoModule = buildGo122Module; }; - goarch = platform: { - "aarch64" = "arm64"; - "arm" = "arm"; - "armv5tel" = "arm"; - "armv6l" = "arm"; - "armv7l" = "arm"; - "i686" = "386"; - "mips" = "mips"; - "mips64el" = "mips64le"; - "mipsel" = "mipsle"; - "powerpc64" = "ppc64"; - "powerpc64le" = "ppc64le"; - "riscv64" = "riscv64"; - "s390x" = "s390x"; - "x86_64" = "amd64"; - "wasm32" = "wasm"; - }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); + goarch = + platform: + { + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + "i686" = "386"; + "mips" = "mips"; + "mips64el" = "mips64le"; + "mipsel" = "mipsle"; + "powerpc64" = "ppc64"; + "powerpc64le" = "ppc64le"; + "riscv64" = "riscv64"; + "s390x" = "s390x"; + "x86_64" = "amd64"; + "wasm32" = "wasm"; + } + .${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target @@ -54,11 +58,15 @@ stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ] ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ apple-sdk_11 xcbuild ]; + depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ + apple-sdk_11 + xcbuild + ]; depsBuildTarget = lib.optional isCross targetCC; @@ -99,18 +107,12 @@ stdenv.mkDerivation (finalAttrs: { # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # to be different from CC/CXX - CC_FOR_TARGET = - if isCross then - "${targetCC}/bin/${targetCC.targetPrefix}cc" - else - null; - CXX_FOR_TARGET = - if isCross then - "${targetCC}/bin/${targetCC.targetPrefix}c++" - else - null; - - GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]); + CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; + CXX_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}c++" else null; + + GOARM = toString ( + lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ] + ); GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 # Wasi does not support CGO CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1; @@ -126,9 +128,9 @@ stdenv.mkDerivation (finalAttrs: { export PATH=$(pwd)/bin:$PATH ${lib.optionalString isCross '' - # Independent from host/target, CC should produce code for the building system. - # We only set it when cross-compiling. - export CC=${buildPackages.stdenv.cc}/bin/cc + # Independent from host/target, CC should produce code for the building system. + # We only set it when cross-compiling. + export CC=${buildPackages.stdenv.cc}/bin/cc ''} ulimit -a @@ -138,22 +140,35 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; - preInstall = '' - # Contains the wrong perl shebang when cross compiling, - # since it is not used for anything we can deleted as well. - rm src/regexp/syntax/make_perl_groups.pl - '' + (if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then '' - mv bin/*_*/* bin - rmdir bin/*_* - ${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) '' - rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} - ''} - '' else lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' - rm -rf bin/*_* - ${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) '' - rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH} - ''} - ''); + preInstall = + '' + # Contains the wrong perl shebang when cross compiling, + # since it is not used for anything we can deleted as well. + rm src/regexp/syntax/make_perl_groups.pl + '' + + ( + if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then + '' + mv bin/*_*/* bin + rmdir bin/*_* + ${lib.optionalString + (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + '' + rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} + '' + } + '' + else + lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' + rm -rf bin/*_* + ${lib.optionalString + (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + '' + rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH} + '' + } + '' + ); installPhase = '' runHook preInstall diff --git a/pkgs/development/compilers/go/1.23.nix b/pkgs/development/compilers/go/1.23.nix index 14a80eae8046d..4d056b1504493 100644 --- a/pkgs/development/compilers/go/1.23.nix +++ b/pkgs/development/compilers/go/1.23.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, tzdata -, substituteAll -, iana-etc -, apple-sdk_11 -, xcbuild -, mailcap -, buildPackages -, pkgsBuildTarget -, threadsCross -, testers -, skopeo -, buildGo123Module +{ + lib, + stdenv, + fetchurl, + tzdata, + substituteAll, + iana-etc, + apple-sdk_11, + xcbuild, + mailcap, + buildPackages, + pkgsBuildTarget, + threadsCross, + testers, + skopeo, + buildGo123Module, }: let @@ -20,23 +21,26 @@ let skopeoTest = skopeo.override { buildGoModule = buildGo123Module; }; - goarch = platform: { - "aarch64" = "arm64"; - "arm" = "arm"; - "armv5tel" = "arm"; - "armv6l" = "arm"; - "armv7l" = "arm"; - "i686" = "386"; - "mips" = "mips"; - "mips64el" = "mips64le"; - "mipsel" = "mipsle"; - "powerpc64" = "ppc64"; - "powerpc64le" = "ppc64le"; - "riscv64" = "riscv64"; - "s390x" = "s390x"; - "x86_64" = "amd64"; - "wasm32" = "wasm"; - }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); + goarch = + platform: + { + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + "i686" = "386"; + "mips" = "mips"; + "mips64el" = "mips64le"; + "mipsel" = "mipsle"; + "powerpc64" = "ppc64"; + "powerpc64le" = "ppc64le"; + "riscv64" = "riscv64"; + "s390x" = "s390x"; + "x86_64" = "amd64"; + "wasm32" = "wasm"; + } + .${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target @@ -54,11 +58,15 @@ stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ] ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ apple-sdk_11 xcbuild ]; + depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ + apple-sdk_11 + xcbuild + ]; depsBuildTarget = lib.optional isCross targetCC; @@ -99,18 +107,12 @@ stdenv.mkDerivation (finalAttrs: { # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those # to be different from CC/CXX - CC_FOR_TARGET = - if isCross then - "${targetCC}/bin/${targetCC.targetPrefix}cc" - else - null; - CXX_FOR_TARGET = - if isCross then - "${targetCC}/bin/${targetCC.targetPrefix}c++" - else - null; - - GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]); + CC_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}cc" else null; + CXX_FOR_TARGET = if isCross then "${targetCC}/bin/${targetCC.targetPrefix}c++" else null; + + GOARM = toString ( + lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ] + ); GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 # Wasi does not support CGO CGO_ENABLED = if stdenv.targetPlatform.isWasi then 0 else 1; @@ -124,9 +126,9 @@ stdenv.mkDerivation (finalAttrs: { export PATH=$(pwd)/bin:$PATH ${lib.optionalString isCross '' - # Independent from host/target, CC should produce code for the building system. - # We only set it when cross-compiling. - export CC=${buildPackages.stdenv.cc}/bin/cc + # Independent from host/target, CC should produce code for the building system. + # We only set it when cross-compiling. + export CC=${buildPackages.stdenv.cc}/bin/cc ''} ulimit -a @@ -136,22 +138,35 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; - preInstall = '' - # Contains the wrong perl shebang when cross compiling, - # since it is not used for anything we can deleted as well. - rm src/regexp/syntax/make_perl_groups.pl - '' + (if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then '' - mv bin/*_*/* bin - rmdir bin/*_* - ${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) '' - rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} - ''} - '' else lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' - rm -rf bin/*_* - ${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) '' - rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH} - ''} - ''); + preInstall = + '' + # Contains the wrong perl shebang when cross compiling, + # since it is not used for anything we can deleted as well. + rm src/regexp/syntax/make_perl_groups.pl + '' + + ( + if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then + '' + mv bin/*_*/* bin + rmdir bin/*_* + ${lib.optionalString + (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + '' + rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} + '' + } + '' + else + lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' + rm -rf bin/*_* + ${lib.optionalString + (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) + '' + rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH} + '' + } + '' + ); installPhase = '' runHook preInstall diff --git a/pkgs/development/compilers/go/binary.nix b/pkgs/development/compilers/go/binary.nix index 3c43cc4de1508..aa993542249f1 100644 --- a/pkgs/development/compilers/go/binary.nix +++ b/pkgs/development/compilers/go/binary.nix @@ -1,18 +1,25 @@ -{ lib, stdenv, fetchurl, version, hashes }: +{ + lib, + stdenv, + fetchurl, + version, + hashes, +}: let - toGoKernel = platform: - if platform.isDarwin then "darwin" - else platform.parsed.kernel.name; + toGoKernel = platform: if platform.isDarwin then "darwin" else platform.parsed.kernel.name; - toGoCPU = platform: { - "i686" = "386"; - "x86_64" = "amd64"; - "aarch64" = "arm64"; - "armv6l" = "armv6l"; - "armv7l" = "armv6l"; - "powerpc64le" = "ppc64le"; - "riscv64" = "riscv64"; - }.${platform.parsed.cpu.name} or (throw "Unsupported CPU ${platform.parsed.cpu.name}"); + toGoCPU = + platform: + { + "i686" = "386"; + "x86_64" = "amd64"; + "aarch64" = "arm64"; + "armv6l" = "armv6l"; + "armv7l" = "armv6l"; + "powerpc64le" = "ppc64le"; + "riscv64" = "riscv64"; + } + .${platform.parsed.cpu.name} or (throw "Unsupported CPU ${platform.parsed.cpu.name}"); toGoPlatform = platform: "${toGoKernel platform}-${toGoCPU platform}"; diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix index 366e2a9c17d71..ea4c6d1b282d1 100644 --- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix +++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, alsa-lib -, apple-sdk_11 -, autoPatchelfHook -, cairo -, cups -, darwinMinVersionHook -, fontconfig -, glib -, glibc -, gtk3 -, makeWrapper -, musl -, runCommandCC -, setJavaClassPath -, unzip -, xorg -, zlib +{ + lib, + stdenv, + alsa-lib, + apple-sdk_11, + autoPatchelfHook, + cairo, + cups, + darwinMinVersionHook, + fontconfig, + glib, + glibc, + gtk3, + makeWrapper, + musl, + runCommandCC, + setJavaClassPath, + unzip, + xorg, + zlib, # extra params -, extraCLibs ? [ ] -, gtkSupport ? stdenv.hostPlatform.isLinux -, useMusl ? false -, ... -} @ args: + extraCLibs ? [ ], + gtkSupport ? stdenv.hostPlatform.isLinux, + useMusl ? false, + ... +}@args: assert useMusl -> stdenv.hostPlatform.isLinux; let @@ -55,187 +56,227 @@ let ]; cLibs = lib.optionals stdenv.hostPlatform.isLinux ( - [ glibc zlib.static ] + [ + glibc + zlib.static + ] ++ lib.optionals (!useMusl) [ glibc.static ] ++ lib.optionals useMusl [ musl ] ++ extraCLibs ); # GraalVM 21.3.0+ expects musl-gcc as -musl-gcc - musl-gcc = (runCommandCC "musl-gcc" { } '' - mkdir -p $out/bin - ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc - ''); + musl-gcc = ( + runCommandCC "musl-gcc" { } '' + mkdir -p $out/bin + ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc + '' + ); binPath = lib.makeBinPath (lib.optionals useMusl [ musl-gcc ] ++ [ stdenv.cc ]); - runtimeLibraryPath = lib.makeLibraryPath - ([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]); - - graalvm-ce = stdenv.mkDerivation ({ - pname = "graalvm-ce"; - - unpackPhase = '' - runHook preUnpack - - mkdir -p "$out" - - # The tarball on Linux has the following directory structure: - # - # graalvm-ce-java11-20.3.0/* - # - # while on Darwin it looks like this: - # - # graalvm-ce-java11-20.3.0/Contents/Home/* - # - # We therefor use --strip-components=1 vs 3 depending on the platform. - tar xf "$src" -C "$out" --strip-components=${ - if stdenv.hostPlatform.isLinux then "1" else "3" - } - - # Sanity check - if [ ! -d "$out/bin" ]; then - echo "The `bin` is directory missing after extracting the graalvm" - echo "tarball, please compare the directory structure of the" - echo "tarball with what happens in the unpackPhase (in particular" - echo "with regards to the `--strip-components` flag)." - exit 1 - fi - - runHook postUnpack - ''; - - dontStrip = true; - - nativeBuildInputs = [ unzip makeWrapper ] - ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - - propagatedBuildInputs = [ setJavaClassPath zlib ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib # libasound.so wanted by lib/libjsound.so - fontconfig - (lib.getLib stdenv.cc.cc) # libstdc++.so.6 - xorg.libX11 - xorg.libXext - xorg.libXi - xorg.libXrender - xorg.libXtst - ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - (darwinMinVersionHook "11.0") - ]); - - postInstall = - let - cLibsAsFlags = (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs); - preservedNixVariables = [ - "-ENIX_BINTOOLS" - "-ENIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}" - "-ENIX_BUILD_CORES" - "-ENIX_BUILD_TOP" - "-ENIX_CC" - "-ENIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}" - "-ENIX_CFLAGS_COMPILE" - "-ENIX_HARDENING_ENABLE" - "-ENIX_LDFLAGS" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "-ELOCALE_ARCHIVE" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-EDEVELOPER_DIR" - "-EDEVELOPER_DIR_FOR_BUILD" - "-EDEVELOPER_DIR_FOR_TARGET" - "-EMACOSX_DEPLOYMENT_TARGET" - "-EMACOSX_DEPLOYMENT_TARGET_FOR_BUILD" - "-EMACOSX_DEPLOYMENT_TARGET_FOR_TARGET" - "-ENIX_APPLE_SDK_VERSION" - ]; - preservedNixVariablesAsFlags = (map (f: "--add-flags '${f}'") preservedNixVariables); - in + runtimeLibraryPath = lib.makeLibraryPath ( + [ cups ] + ++ lib.optionals gtkSupport [ + cairo + glib + gtk3 + ] + ); + + graalvm-ce = stdenv.mkDerivation ( + { + pname = "graalvm-ce"; + + unpackPhase = '' + runHook preUnpack + + mkdir -p "$out" + + # The tarball on Linux has the following directory structure: + # + # graalvm-ce-java11-20.3.0/* + # + # while on Darwin it looks like this: + # + # graalvm-ce-java11-20.3.0/Contents/Home/* + # + # We therefor use --strip-components=1 vs 3 depending on the platform. + tar xf "$src" -C "$out" --strip-components=${if stdenv.hostPlatform.isLinux then "1" else "3"} + + # Sanity check + if [ ! -d "$out/bin" ]; then + echo "The `bin` is directory missing after extracting the graalvm" + echo "tarball, please compare the directory structure of the" + echo "tarball with what happens in the unpackPhase (in particular" + echo "with regards to the `--strip-components` flag)." + exit 1 + fi + + runHook postUnpack + ''; + + dontStrip = true; + + nativeBuildInputs = [ + unzip + makeWrapper + ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; + + propagatedBuildInputs = [ + setJavaClassPath + zlib + ]; + + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib # libasound.so wanted by lib/libjsound.so + fontconfig + (lib.getLib stdenv.cc.cc) # libstdc++.so.6 + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXrender + xorg.libXtst + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + (darwinMinVersionHook "11.0") + ]); + + postInstall = + let + cLibsAsFlags = (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs); + preservedNixVariables = + [ + "-ENIX_BINTOOLS" + "-ENIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}" + "-ENIX_BUILD_CORES" + "-ENIX_BUILD_TOP" + "-ENIX_CC" + "-ENIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}" + "-ENIX_CFLAGS_COMPILE" + "-ENIX_HARDENING_ENABLE" + "-ENIX_LDFLAGS" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "-ELOCALE_ARCHIVE" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-EDEVELOPER_DIR" + "-EDEVELOPER_DIR_FOR_BUILD" + "-EDEVELOPER_DIR_FOR_TARGET" + "-EMACOSX_DEPLOYMENT_TARGET" + "-EMACOSX_DEPLOYMENT_TARGET_FOR_BUILD" + "-EMACOSX_DEPLOYMENT_TARGET_FOR_TARGET" + "-ENIX_APPLE_SDK_VERSION" + ]; + preservedNixVariablesAsFlags = (map (f: "--add-flags '${f}'") preservedNixVariables); + in '' - # jni.h expects jni_md.h to be in the header search path. - ln -sf $out/include/linux/*_md.h $out/include/ - - mkdir -p $out/share - # move files in $out like LICENSE.txt - find $out/ -maxdepth 1 -type f -exec mv {} $out/share \; - # symbolic link to $out/lib/svm/LICENSE_NATIVEIMAGE.txt - rm -f $out/LICENSE_NATIVEIMAGE.txt - - # copy-paste openjdk's preFixup - # Set JAVA_HOME automatically. - mkdir -p $out/nix-support - cat > $out/nix-support/setup-hook << EOF - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi - EOF - - wrapProgram $out/bin/native-image \ - --prefix PATH : ${binPath} \ - ${toString (cLibsAsFlags ++ preservedNixVariablesAsFlags)} + # jni.h expects jni_md.h to be in the header search path. + ln -sf $out/include/linux/*_md.h $out/include/ + + mkdir -p $out/share + # move files in $out like LICENSE.txt + find $out/ -maxdepth 1 -type f -exec mv {} $out/share \; + # symbolic link to $out/lib/svm/LICENSE_NATIVEIMAGE.txt + rm -f $out/LICENSE_NATIVEIMAGE.txt + + # copy-paste openjdk's preFixup + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook << EOF + if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi + EOF + + wrapProgram $out/bin/native-image \ + --prefix PATH : ${binPath} \ + ${toString (cLibsAsFlags ++ preservedNixVariablesAsFlags)} + ''; + + preFixup = lib.optionalString (stdenv.hostPlatform.isLinux) '' + for bin in $(find "$out/bin" -executable -type f); do + wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" + done ''; - preFixup = lib.optionalString (stdenv.hostPlatform.isLinux) '' - for bin in $(find "$out/bin" -executable -type f); do - wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" - done - ''; - - doInstallCheck = true; - installCheckPhase = '' - runHook preInstallCheck - - ${# broken in darwin - lib.optionalString stdenv.hostPlatform.isLinux '' - echo "Testing Jshell" - echo '1 + 1' | $out/bin/jshell - ''} - - echo ${lib.escapeShellArg '' - public class HelloWorld { - public static void main(String[] args) { - System.out.println("Hello World"); - } + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + ${ + # broken in darwin + lib.optionalString stdenv.hostPlatform.isLinux '' + echo "Testing Jshell" + echo '1 + 1' | $out/bin/jshell + '' } - ''} > HelloWorld.java - $out/bin/javac HelloWorld.java - # run on JVM with Graal Compiler - echo "Testing GraalVM" - $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World' + echo ${lib.escapeShellArg '' + public class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ''} > HelloWorld.java + $out/bin/javac HelloWorld.java - echo "Ahead-Of-Time compilation" - $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces -march=compatibility HelloWorld - ./helloworld | fgrep 'Hello World' + # run on JVM with Graal Compiler + echo "Testing GraalVM" + $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World' - ${# -H:+StaticExecutableWithDynamicLibC is only available in Linux - lib.optionalString (stdenv.hostPlatform.isLinux && !useMusl) '' - echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC" - $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC -march=compatibility $extraNativeImageArgs HelloWorld + echo "Ahead-Of-Time compilation" + $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces -march=compatibility HelloWorld ./helloworld | fgrep 'Hello World' - ''} - ${# --static is only available in Linux - lib.optionalString (stdenv.hostPlatform.isLinux && useMusl) '' - echo "Ahead-Of-Time compilation with --static and --libc=musl" - $out/bin/native-image $extraNativeImageArgs -march=compatibility --libc=musl --static HelloWorld - ./helloworld | fgrep 'Hello World' - ''} - - runHook postInstallCheck - ''; - - passthru = { - home = graalvm-ce; - updateScript = [ ./update.sh "graalvm-ce" ]; - } // (args.passhtru or { }); - - meta = with lib; ({ - homepage = "https://www.graalvm.org/"; - description = "High-Performance Polyglot VM"; - license = with licenses; [ upl gpl2Classpath bsd3 ]; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - mainProgram = "java"; - maintainers = with maintainers; teams.graalvm-ce.members ++ [ ]; - } // (args.meta or { })); - } // extraArgs); + ${ + # -H:+StaticExecutableWithDynamicLibC is only available in Linux + lib.optionalString (stdenv.hostPlatform.isLinux && !useMusl) '' + echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC" + $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC -march=compatibility $extraNativeImageArgs HelloWorld + ./helloworld | fgrep 'Hello World' + '' + } + + ${ + # --static is only available in Linux + lib.optionalString (stdenv.hostPlatform.isLinux && useMusl) '' + echo "Ahead-Of-Time compilation with --static and --libc=musl" + $out/bin/native-image $extraNativeImageArgs -march=compatibility --libc=musl --static HelloWorld + ./helloworld | fgrep 'Hello World' + '' + } + + runHook postInstallCheck + ''; + + passthru = { + home = graalvm-ce; + updateScript = [ + ./update.sh + "graalvm-ce" + ]; + } // (args.passhtru or { }); + + meta = + with lib; + ( + { + homepage = "https://www.graalvm.org/"; + description = "High-Performance Polyglot VM"; + license = with licenses; [ + upl + gpl2Classpath + bsd3 + ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + mainProgram = "java"; + maintainers = with maintainers; teams.graalvm-ce.members ++ [ ]; + } + // (args.meta or { }) + ); + } + // extraArgs + ); in graalvm-ce diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix index 39b4136698c79..8c5ba7d4c046a 100644 --- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix +++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, autoPatchelfHook -, darwin -, graalvm-ce -, makeWrapper -, zlib -, libxcrypt-legacy +{ + lib, + stdenv, + autoPatchelfHook, + darwin, + graalvm-ce, + makeWrapper, + zlib, + libxcrypt-legacy, # extra params -, product -, extraBuildInputs ? [ ] -, extraNativeBuildInputs ? [ ] -, ... -} @ args: + product, + extraBuildInputs ? [ ], + extraNativeBuildInputs ? [ ], + ... +}@args: let extraArgs = builtins.removeAttrs args [ @@ -29,49 +30,66 @@ let "meta" ]; in -stdenv.mkDerivation ({ - pname = product; +stdenv.mkDerivation ( + { + pname = product; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook - ++ extraNativeBuildInputs; + nativeBuildInputs = + [ makeWrapper ] + ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook + ++ extraNativeBuildInputs; - buildInputs = [ - (lib.getLib stdenv.cc.cc) # libstdc++.so.6 - zlib - libxcrypt-legacy # libcrypt.so.1 (default is .2 now) - ] - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Foundation - ++ extraBuildInputs; + buildInputs = + [ + (lib.getLib stdenv.cc.cc) # libstdc++.so.6 + zlib + libxcrypt-legacy # libcrypt.so.1 (default is .2 now) + ] + ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Foundation + ++ extraBuildInputs; - unpackPhase = '' - runHook preUnpack + unpackPhase = '' + runHook preUnpack - mkdir -p "$out" + mkdir -p "$out" - tar xf "$src" -C "$out" --strip-components=1 + tar xf "$src" -C "$out" --strip-components=1 - # Sanity check - if [ ! -d "$out/bin" ]; then - echo "The `bin` is directory missing after extracting the graalvm" - echo "tarball, please compare the directory structure of the" - echo "tarball with what happens in the unpackPhase (in particular" - echo "with regards to the `--strip-components` flag)." - exit 1 - fi + # Sanity check + if [ ! -d "$out/bin" ]; then + echo "The `bin` is directory missing after extracting the graalvm" + echo "tarball, please compare the directory structure of the" + echo "tarball with what happens in the unpackPhase (in particular" + echo "with regards to the `--strip-components` flag)." + exit 1 + fi - runHook postUnpack - ''; + runHook postUnpack + ''; - dontStrip = true; + dontStrip = true; - passthru = { - updateScript = [ ./update.sh product ]; - } // (args.passhtru or { }); + passthru = { + updateScript = [ + ./update.sh + product + ]; + } // (args.passhtru or { }); - meta = ({ - inherit (graalvm-ce.meta) homepage license sourceProvenance maintainers platforms; - description = "High-Performance Polyglot VM (Product: ${product})"; - mainProgram = "js"; - } // (args.meta or { })); -} // extraArgs) + meta = ( + { + inherit (graalvm-ce.meta) + homepage + license + sourceProvenance + maintainers + platforms + ; + description = "High-Performance Polyglot VM (Product: ${product})"; + mainProgram = "js"; + } + // (args.meta or { }) + ); + } + // extraArgs +) diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix index 2c703dd502b21..c4fc958fa8fa1 100644 --- a/pkgs/development/compilers/graalvm/community-edition/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/default.nix @@ -1,9 +1,9 @@ -{ lib -, pkgs +{ + lib, + pkgs, }: -lib.makeScope pkgs.newScope (self: -{ +lib.makeScope pkgs.newScope (self: { buildGraalvm = self.callPackage ./buildGraalvm.nix; buildGraalvmProduct = self.callPackage ./buildGraalvmProduct.nix; diff --git a/pkgs/development/compilers/graalvm/community-edition/graaljs/default.nix b/pkgs/development/compilers/graalvm/community-edition/graaljs/default.nix index ec662e156721c..5813b1acf4781 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graaljs/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graaljs/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchurl -, graalvmCEPackages +{ + stdenv, + fetchurl, + graalvmCEPackages, }: graalvmCEPackages.buildGraalvmProduct { diff --git a/pkgs/development/compilers/graalvm/community-edition/graalnodejs/default.nix b/pkgs/development/compilers/graalvm/community-edition/graalnodejs/default.nix index d98f4b0e380f4..b0e225b8fff64 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalnodejs/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalnodejs/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchurl -, graalvmCEPackages +{ + stdenv, + fetchurl, + graalvmCEPackages, }: graalvmCEPackages.buildGraalvmProduct { diff --git a/pkgs/development/compilers/graalvm/community-edition/graalpy/default.nix b/pkgs/development/compilers/graalvm/community-edition/graalpy/default.nix index e2b28500f7fe4..e00cd1568c6e9 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalpy/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalpy/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, fetchurl -, graalvmCEPackages +{ + stdenv, + fetchurl, + graalvmCEPackages, }: graalvmCEPackages.buildGraalvmProduct { diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/default.nix b/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/default.nix index b7f7db61097f2..c287da0d4092c 100644 --- a/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/graalvm-ce/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchurl -, graalvmCEPackages -, useMusl ? false +{ + stdenv, + fetchurl, + graalvmCEPackages, + useMusl ? false, }: graalvmCEPackages.buildGraalvm { diff --git a/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix b/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix index da971347652e1..a26a633262e8e 100644 --- a/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix +++ b/pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, graalvmCEPackages -, libyaml -, openssl +{ + lib, + stdenv, + fetchurl, + graalvmCEPackages, + libyaml, + openssl, }: graalvmCEPackages.buildGraalvmProduct { @@ -30,9 +31,11 @@ graalvmCEPackages.buildGraalvmProduct { export LANG=C export LC_ALL=C $out/bin/ruby -e 'puts(1 + 1)' - ${# broken in darwin with sandbox enabled + ${ + # broken in darwin with sandbox enabled lib.optionalString stdenv.hostPlatform.isLinux '' - echo '1 + 1' | $out/bin/irb - ''} + echo '1 + 1' | $out/bin/irb + '' + } ''; } diff --git a/pkgs/development/compilers/gwt/2.4.0.nix b/pkgs/development/compilers/gwt/2.4.0.nix index b769eb30463a9..03ef01b78f0fe 100644 --- a/pkgs/development/compilers/gwt/2.4.0.nix +++ b/pkgs/development/compilers/gwt/2.4.0.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "gwt-java"; diff --git a/pkgs/development/compilers/heptagon/default.nix b/pkgs/development/compilers/heptagon/default.nix index 7f9c1c849f4a5..0bfdb702aaafb 100644 --- a/pkgs/development/compilers/heptagon/default.nix +++ b/pkgs/development/compilers/heptagon/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitLab -, makeWrapper -, ocamlPackages +{ + lib, + stdenv, + fetchFromGitLab, + makeWrapper, + ocamlPackages, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/compilers/inform6/default.nix b/pkgs/development/compilers/inform6/default.nix index eafd03a02605e..49c7d2b49e4b2 100644 --- a/pkgs/development/compilers/inform6/default.nix +++ b/pkgs/development/compilers/inform6/default.nix @@ -1,10 +1,15 @@ -{ lib, stdenv, fetchurl, perl }: +{ + lib, + stdenv, + fetchurl, + perl, +}: stdenv.mkDerivation rec { pname = "inform6"; version = "6.42-r6"; - src = fetchurl { + src = fetchurl { url = "https://ifarchive.org/if-archive/infocom/compilers/inform6/source/inform-${version}.tar.gz"; sha256 = "sha256-SVsIhvlWVK0UWgyL85YuueE92CQ9RAgaUBruIOzGoww="; }; diff --git a/pkgs/development/compilers/ios-cross-compile/9.2.nix b/pkgs/development/compilers/ios-cross-compile/9.2.nix index 320cbdc41b0f0..5c77f19797ac0 100644 --- a/pkgs/development/compilers/ios-cross-compile/9.2.nix +++ b/pkgs/development/compilers/ios-cross-compile/9.2.nix @@ -1,7 +1,17 @@ -{ lib, git, clang, - fetchFromGitHub, requireFile, - openssl, xz, gnutar, - automake, autoconf, libtool, clangStdenv } : +{ + lib, + git, + clang, + fetchFromGitHub, + requireFile, + openssl, + xz, + gnutar, + automake, + autoconf, + libtool, + clangStdenv, +}: clangStdenv.mkDerivation rec { pname = "ios-cross-compile"; @@ -49,17 +59,26 @@ clangStdenv.mkDerivation rec { nix-prefetch-url file:///path/to/${name} and run this installation again. - ''; + ''; }; - nativeBuildInputs = [ autoconf automake ]; - buildInputs = [ git xz gnutar openssl libtool clang ]; + nativeBuildInputs = [ + autoconf + automake + ]; + buildInputs = [ + git + xz + gnutar + openssl + libtool + clang + ]; alt_wrapper = ./alt_wrapper.c; builder = ./9.2_builder.sh; meta = { - description = - "Provides an iOS cross compiler from 7.1 up to iOS-${version} and ldid"; + description = "Provides an iOS cross compiler from 7.1 up to iOS-${version} and ldid"; platforms = lib.platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; maintainers = with lib.maintainers; [ fxfactorial ]; license = lib.licenses.gpl2; }; diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index c98712f5d9648..7c3c7a0fdb38d 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -1,26 +1,53 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, which, m4, python3, bison, flex, llvmPackages, ncurses, tbb +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + which, + m4, + python3, + bison, + flex, + llvmPackages, + ncurses, + tbb, # the default test target is sse4, but that is not supported by all Hydra agents -, testedTargets ? if stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32 then [ "neon-i32x4" ] else [ "sse2-i32x4" ] + testedTargets ? + if stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32 then + [ "neon-i32x4" ] + else + [ "sse2-i32x4" ], }: stdenv.mkDerivation rec { - pname = "ispc"; + pname = "ispc"; version = "1.25.3"; dontFixCmake = true; # https://github.com/NixOS/nixpkgs/pull/232522#issuecomment-2133803566 src = fetchFromGitHub { - owner = pname; - repo = pname; - rev = "v${version}"; + owner = pname; + repo = pname; + rev = "v${version}"; sha256 = "sha256-baTJNfhOSYfJJnrutkW06AIMXpVP3eBpEes0GSI1yGY="; }; - nativeBuildInputs = [ cmake which m4 bison flex python3 llvmPackages.libllvm.dev tbb ]; + nativeBuildInputs = [ + cmake + which + m4 + bison + flex + python3 + llvmPackages.libllvm.dev + tbb + ]; buildInputs = with llvmPackages; [ - libllvm libclang openmp ncurses + libllvm + libclang + openmp + ncurses ]; postPatch = '' @@ -61,16 +88,32 @@ stdenv.mkDerivation rec { "-DCLANGPP_EXECUTABLE=${llvmPackages.clang}/bin/clang++" "-DISPC_INCLUDE_EXAMPLES=OFF" "-DISPC_INCLUDE_UTILS=OFF" - ("-DARM_ENABLED=" + (if stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32 then "TRUE" else "FALSE")) - ("-DX86_ENABLED=" + (if stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isx86_32 then "TRUE" else "FALSE")) + ( + "-DARM_ENABLED=" + + (if stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32 then "TRUE" else "FALSE") + ) + ( + "-DX86_ENABLED=" + + (if stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isx86_32 then "TRUE" else "FALSE") + ) ]; meta = with lib; { - homepage = "https://ispc.github.io/"; + homepage = "https://ispc.github.io/"; description = "Intel 'Single Program, Multiple Data' Compiler, a vectorised language"; mainProgram = "ispc"; - license = licenses.bsd3; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; # TODO: buildable on more platforms? - maintainers = with maintainers; [ aristid thoughtpolice athas alexfmpe ]; + license = licenses.bsd3; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; # TODO: buildable on more platforms? + maintainers = with maintainers; [ + aristid + thoughtpolice + athas + alexfmpe + ]; }; } diff --git a/pkgs/development/compilers/jetbrains-jdk/17.nix b/pkgs/development/compilers/jetbrains-jdk/17.nix index a868a441ba4c9..bb9cd0a389420 100644 --- a/pkgs/development/compilers/jetbrains-jdk/17.nix +++ b/pkgs/development/compilers/jetbrains-jdk/17.nix @@ -1,40 +1,43 @@ -{ lib -, stdenv -, fetchFromGitHub -, jetbrains -, openjdk17 -, openjdk17-bootstrap -, git -, autoconf -, unzip -, rsync -, debugBuild ? false -, withJcef ? true - -, libXdamage -, libXxf86vm -, libXrandr -, libXi -, libXcursor -, libXrender -, libX11 -, libXext -, libxcb -, nss -, nspr -, libdrm -, mesa -, wayland -, udev +{ + lib, + stdenv, + fetchFromGitHub, + jetbrains, + openjdk17, + openjdk17-bootstrap, + git, + autoconf, + unzip, + rsync, + debugBuild ? false, + withJcef ? true, + + libXdamage, + libXxf86vm, + libXrandr, + libXi, + libXcursor, + libXrender, + libX11, + libXext, + libxcb, + nss, + nspr, + libdrm, + mesa, + wayland, + udev, }: assert debugBuild -> withJcef; let - arch = { - "aarch64-linux" = "aarch64"; - "x86_64-linux" = "x64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + arch = + { + "aarch64-linux" = "aarch64"; + "x86_64-linux" = "x64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); cpu = stdenv.hostPlatform.parsed.cpu.name; in openjdk17.overrideAttrs (oldAttrs: rec { @@ -81,7 +84,9 @@ openjdk17.overrideAttrs (oldAttrs: rec { -i jb/project/tools/linux/scripts/mkimages_${arch}.sh patchShebangs . - ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${if debugBuild then "fd" else (if withJcef then "jcef" else "nomod")} + ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${ + if debugBuild then "fd" else (if withJcef then "jcef" else "nomod") + } runHook postBuild ''; @@ -99,7 +104,9 @@ openjdk17.overrideAttrs (oldAttrs: rec { mv build/linux-${cpu}-server-${buildType}/images/jdk/man build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} rm -rf build/linux-${cpu}-server-${buildType}/images/jdk mv build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} build/linux-${cpu}-server-${buildType}/images/jdk - '' + oldAttrs.installPhase + "runHook postInstall"; + '' + + oldAttrs.installPhase + + "runHook postInstall"; postInstall = lib.optionalString withJcef '' chmod +x $out/lib/openjdk/lib/chrome-sandbox @@ -109,10 +116,25 @@ openjdk17.overrideAttrs (oldAttrs: rec { postFixup = '' # Build the set of output library directories to rpath against - LIBDIRS="${lib.makeLibraryPath [ - libXdamage libXxf86vm libXrandr libXi libXcursor libXrender libX11 libXext libxcb - nss nspr libdrm mesa wayland udev - ]}" + LIBDIRS="${ + lib.makeLibraryPath [ + libXdamage + libXxf86vm + libXrandr + libXi + libXcursor + libXrender + libX11 + libXext + libxcb + nss + nspr + libdrm + mesa + wayland + udev + ] + }" for output in $outputs; do if [ "$output" = debug ]; then continue; fi LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" @@ -129,7 +151,12 @@ openjdk17.overrideAttrs (oldAttrs: rec { done ''; - nativeBuildInputs = [ git autoconf unzip rsync ] ++ oldAttrs.nativeBuildInputs; + nativeBuildInputs = [ + git + autoconf + unzip + rsync + ] ++ oldAttrs.nativeBuildInputs; meta = with lib; { description = "An OpenJDK fork to better support Jetbrains's products."; diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix index 77ac8e904d472..35f0a2722d2ae 100644 --- a/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -1,39 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, jetbrains -, jdk -, git -, autoconf -, unzip -, rsync -, debugBuild ? false -, withJcef ? true - -, libXdamage -, libXxf86vm -, libXrandr -, libXi -, libXcursor -, libXrender -, libX11 -, libXext -, libxcb -, nss -, nspr -, libdrm -, mesa -, wayland -, udev +{ + lib, + stdenv, + fetchFromGitHub, + jetbrains, + jdk, + git, + autoconf, + unzip, + rsync, + debugBuild ? false, + withJcef ? true, + + libXdamage, + libXxf86vm, + libXrandr, + libXi, + libXcursor, + libXrender, + libX11, + libXext, + libxcb, + nss, + nspr, + libdrm, + mesa, + wayland, + udev, }: assert debugBuild -> withJcef; let - arch = { - "aarch64-linux" = "aarch64"; - "x86_64-linux" = "x64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + arch = + { + "aarch64-linux" = "aarch64"; + "x86_64-linux" = "x64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); cpu = stdenv.hostPlatform.parsed.cpu.name; in jdk.overrideAttrs (oldAttrs: rec { @@ -81,7 +84,9 @@ jdk.overrideAttrs (oldAttrs: rec { -i jb/project/tools/linux/scripts/mkimages_${arch}.sh patchShebangs . - ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${if debugBuild then "fd" else (if withJcef then "jcef" else "nomod")} + ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${ + if debugBuild then "fd" else (if withJcef then "jcef" else "nomod") + } runHook postBuild ''; @@ -99,7 +104,9 @@ jdk.overrideAttrs (oldAttrs: rec { mv build/linux-${cpu}-server-${buildType}/images/jdk/man build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} rm -rf build/linux-${cpu}-server-${buildType}/images/jdk mv build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} build/linux-${cpu}-server-${buildType}/images/jdk - '' + oldAttrs.installPhase + "runHook postInstall"; + '' + + oldAttrs.installPhase + + "runHook postInstall"; postInstall = lib.optionalString withJcef '' chmod +x $out/lib/openjdk/lib/chrome-sandbox @@ -109,10 +116,25 @@ jdk.overrideAttrs (oldAttrs: rec { postFixup = '' # Build the set of output library directories to rpath against - LIBDIRS="${lib.makeLibraryPath [ - libXdamage libXxf86vm libXrandr libXi libXcursor libXrender libX11 libXext libxcb - nss nspr libdrm mesa wayland udev - ]}" + LIBDIRS="${ + lib.makeLibraryPath [ + libXdamage + libXxf86vm + libXrandr + libXi + libXcursor + libXrender + libX11 + libXext + libxcb + nss + nspr + libdrm + mesa + wayland + udev + ] + }" for output in $outputs; do if [ "$output" = debug ]; then continue; fi LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" @@ -129,7 +151,12 @@ jdk.overrideAttrs (oldAttrs: rec { done ''; - nativeBuildInputs = [ git autoconf unzip rsync ] ++ oldAttrs.nativeBuildInputs; + nativeBuildInputs = [ + git + autoconf + unzip + rsync + ] ++ oldAttrs.nativeBuildInputs; meta = with lib; { description = "OpenJDK fork to better support Jetbrains's products"; diff --git a/pkgs/development/compilers/jetbrains-jdk/jcef.nix b/pkgs/development/compilers/jetbrains-jdk/jcef.nix index 9cda4fc516237..6baef76f924a8 100644 --- a/pkgs/development/compilers/jetbrains-jdk/jcef.nix +++ b/pkgs/development/compilers/jetbrains-jdk/jcef.nix @@ -1,48 +1,49 @@ -{ fetchFromGitHub -, fetchurl -, fetchzip -, stdenv -, cmake -, python3 -, jdk -, git -, rsync -, lib -, ant -, ninja -, strip-nondeterminism -, stripJavaArchivesHook - -, debugBuild ? false - -, glib -, nss -, nspr -, atk -, at-spi2-atk -, libdrm -, libGL -, expat -, libxcb -, libxkbcommon -, libX11 -, libXcomposite -, libXdamage -, libXext -, libXfixes -, libXrandr -, mesa -, gtk3 -, pango -, cairo -, alsa-lib -, dbus -, at-spi2-core -, cups -, libxshmfence -, udev -, boost -, thrift +{ + fetchFromGitHub, + fetchurl, + fetchzip, + stdenv, + cmake, + python3, + jdk, + git, + rsync, + lib, + ant, + ninja, + strip-nondeterminism, + stripJavaArchivesHook, + + debugBuild ? false, + + glib, + nss, + nspr, + atk, + at-spi2-atk, + libdrm, + libGL, + expat, + libxcb, + libxkbcommon, + libX11, + libXcomposite, + libXdamage, + libXext, + libXfixes, + libXrandr, + mesa, + gtk3, + pango, + cairo, + alsa-lib, + dbus, + at-spi2-core, + cups, + libxshmfence, + udev, + boost, + thrift, }: assert !stdenv.hostPlatform.isDarwin; @@ -79,22 +80,26 @@ let ]; buildType = if debugBuild then "Debug" else "Release"; - platform = { - "aarch64-linux" = "linuxarm64"; - "x86_64-linux" = "linux64"; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - arches = { - "linuxarm64" = { - depsArch = "arm64"; - projectArch = "arm64"; - targetArch = "arm64"; - }; - "linux64" = { - depsArch = "amd64"; - projectArch = "x86_64"; - targetArch = "x86_64"; - }; - }.${platform}; + platform = + { + "aarch64-linux" = "linuxarm64"; + "x86_64-linux" = "linux64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + arches = + { + "linuxarm64" = { + depsArch = "arm64"; + projectArch = "arm64"; + targetArch = "arm64"; + }; + "linux64" = { + depsArch = "amd64"; + projectArch = "x86_64"; + targetArch = "x86_64"; + }; + } + .${platform}; inherit (arches) depsArch projectArch targetArch; in @@ -106,8 +111,25 @@ stdenv.mkDerivation rec { # Run `git rev-list --count HEAD` version = "867"; - nativeBuildInputs = [ cmake python3 jdk git rsync ant ninja strip-nondeterminism stripJavaArchivesHook ]; - buildInputs = [ boost libX11 libXdamage nss nspr thrift ]; + nativeBuildInputs = [ + cmake + python3 + jdk + git + rsync + ant + ninja + strip-nondeterminism + stripJavaArchivesHook + ]; + buildInputs = [ + boost + libX11 + libXdamage + nss + nspr + thrift + ]; src = fetchFromGitHub { owner = "jetbrains"; @@ -119,10 +141,12 @@ stdenv.mkDerivation rec { let # `cef_binary_${CEF_VERSION}_linux64_minimal`, where CEF_VERSION is from $src/CMakeLists.txt name = "cef_binary_122.1.9+gd14e051+chromium-122.0.6261.94_${platform}_minimal"; - hash = { - "linuxarm64" = "sha256-wABtvz0JHitlkkB748I7yr02Oxs5lXvqDfrBAQiKWHU="; - "linux64" = "sha256-qlutM0IsE1emcMe/3p7kwMIK7ou1rZGvpUkrSMVPnCc="; - }.${platform}; + hash = + { + "linuxarm64" = "sha256-wABtvz0JHitlkkB748I7yr02Oxs5lXvqDfrBAQiKWHU="; + "linux64" = "sha256-qlutM0IsE1emcMe/3p7kwMIK7ou1rZGvpUkrSMVPnCc="; + } + .${platform}; urlName = builtins.replaceStrings [ "+" ] [ "%2B" ] name; in fetchzip { @@ -173,7 +197,10 @@ stdenv.mkDerivation rec { runHook postConfigure ''; - outputs = [ "out" "unpacked" ]; + outputs = [ + "out" + "unpacked" + ]; postBuild = '' export JCEF_ROOT_DIR=$(realpath ..) @@ -183,86 +210,89 @@ stdenv.mkDerivation rec { # N.B. For new versions, manually synchronize the following # definitions with jb/tools/common/create_modules.sh to include # newly added modules - installPhase = '' - runHook preInstall - - export JCEF_ROOT_DIR=$(realpath ..) - export THRIFT_DIR="$JCEF_ROOT_DIR"/third_party/thrift - export THRIFT_JAR=libthrift-0.19.0.jar - export OUT_NATIVE_DIR=$JCEF_ROOT_DIR/jcef_build/native/${buildType} - export JB_TOOLS_DIR=$(realpath ../jb/tools) - export JB_TOOLS_OS_DIR=$JB_TOOLS_DIR/linux - export OUT_CLS_DIR=$(realpath ../out/${platform}) - export TARGET_ARCH=${targetArch} DEPS_ARCH=${depsArch} - export OS=linux - export JOGAMP_DIR="$JCEF_ROOT_DIR"/third_party/jogamp/jar - - mkdir -p $unpacked/{jogl,gluegen,jcef} - - function extract_jar { - __jar=$1 - __dst_dir=$2 - __content_dir="''${3:-.}" - __tmp=.tmp_extract_jar - rm -rf "$__tmp" && mkdir "$__tmp" - ( - cd "$__tmp" || exit 1 - jar -xf "$__jar" - ) - rm -rf "$__tmp/META-INF" - rm -rf "$__dst_dir" && mkdir "$__dst_dir" - if [ -z "$__content_dir" ] - then - cp -R "$__tmp"/* "$__dst_dir" - else - cp -R "$__tmp"/"$__content_dir"/* "$__dst_dir" - fi - rm -rf $__tmp - } - - cd $unpacked/gluegen - cp "$JOGAMP_DIR"/gluegen-rt.jar . - cp "$JB_TOOLS_DIR"/common/gluegen-module-info.java module-info.java - javac --patch-module gluegen.rt=gluegen-rt.jar module-info.java - jar uf gluegen-rt.jar module-info.class - rm module-info.class module-info.java - mkdir lib - '' - # see https://github.com/JetBrains/jcef/commit/f3b787e3326c1915d663abded7f055c0866f32ec - + lib.optionalString (platform != "linuxarm64") '' - extract_jar "$JOGAMP_DIR"/gluegen-rt-natives-"$OS"-"$DEPS_ARCH".jar lib natives/"$OS"-"$DEPS_ARCH" - '' + '' - - cd ../jogl - cp "$JOGAMP_DIR"/gluegen-rt.jar . - cp "$JOGAMP_DIR"/jogl-all.jar . - cp "$JB_TOOLS_OS_DIR"/jogl-module-info.java module-info.java - javac --module-path . --patch-module jogl.all=jogl-all.jar module-info.java - jar uf jogl-all.jar module-info.class - rm module-info.class module-info.java - mkdir lib - '' - # see https://github.com/JetBrains/jcef/commit/f3b787e3326c1915d663abded7f055c0866f32ec - + lib.optionalString (platform != "linuxarm64") '' - extract_jar "$JOGAMP_DIR"/jogl-all-natives-"$OS"-"$DEPS_ARCH".jar lib natives/"$OS"-"$DEPS_ARCH" - '' + '' - - cd ../jcef - cp "$THRIFT_DIR"/"$THRIFT_JAR" . - cp "$JB_TOOLS_DIR"/common/thrift-module-info.java module-info.java - javac --patch-module org.apache.thrift=$THRIFT_JAR module-info.java - jar uf $THRIFT_JAR module-info.class - rm module-info.class module-info.java - cp "$OUT_CLS_DIR"/jcef.jar . - mkdir lib - cp -R "$OUT_NATIVE_DIR"/* lib - - mkdir -p $out/jmods - - bash "$JB_TOOLS_DIR"/common/create_version_file.sh $out - - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + export JCEF_ROOT_DIR=$(realpath ..) + export THRIFT_DIR="$JCEF_ROOT_DIR"/third_party/thrift + export THRIFT_JAR=libthrift-0.19.0.jar + export OUT_NATIVE_DIR=$JCEF_ROOT_DIR/jcef_build/native/${buildType} + export JB_TOOLS_DIR=$(realpath ../jb/tools) + export JB_TOOLS_OS_DIR=$JB_TOOLS_DIR/linux + export OUT_CLS_DIR=$(realpath ../out/${platform}) + export TARGET_ARCH=${targetArch} DEPS_ARCH=${depsArch} + export OS=linux + export JOGAMP_DIR="$JCEF_ROOT_DIR"/third_party/jogamp/jar + + mkdir -p $unpacked/{jogl,gluegen,jcef} + + function extract_jar { + __jar=$1 + __dst_dir=$2 + __content_dir="''${3:-.}" + __tmp=.tmp_extract_jar + rm -rf "$__tmp" && mkdir "$__tmp" + ( + cd "$__tmp" || exit 1 + jar -xf "$__jar" + ) + rm -rf "$__tmp/META-INF" + rm -rf "$__dst_dir" && mkdir "$__dst_dir" + if [ -z "$__content_dir" ] + then + cp -R "$__tmp"/* "$__dst_dir" + else + cp -R "$__tmp"/"$__content_dir"/* "$__dst_dir" + fi + rm -rf $__tmp + } + + cd $unpacked/gluegen + cp "$JOGAMP_DIR"/gluegen-rt.jar . + cp "$JB_TOOLS_DIR"/common/gluegen-module-info.java module-info.java + javac --patch-module gluegen.rt=gluegen-rt.jar module-info.java + jar uf gluegen-rt.jar module-info.class + rm module-info.class module-info.java + mkdir lib + '' + # see https://github.com/JetBrains/jcef/commit/f3b787e3326c1915d663abded7f055c0866f32ec + + lib.optionalString (platform != "linuxarm64") '' + extract_jar "$JOGAMP_DIR"/gluegen-rt-natives-"$OS"-"$DEPS_ARCH".jar lib natives/"$OS"-"$DEPS_ARCH" + '' + + '' + + cd ../jogl + cp "$JOGAMP_DIR"/gluegen-rt.jar . + cp "$JOGAMP_DIR"/jogl-all.jar . + cp "$JB_TOOLS_OS_DIR"/jogl-module-info.java module-info.java + javac --module-path . --patch-module jogl.all=jogl-all.jar module-info.java + jar uf jogl-all.jar module-info.class + rm module-info.class module-info.java + mkdir lib + '' + # see https://github.com/JetBrains/jcef/commit/f3b787e3326c1915d663abded7f055c0866f32ec + + lib.optionalString (platform != "linuxarm64") '' + extract_jar "$JOGAMP_DIR"/jogl-all-natives-"$OS"-"$DEPS_ARCH".jar lib natives/"$OS"-"$DEPS_ARCH" + '' + + '' + + cd ../jcef + cp "$THRIFT_DIR"/"$THRIFT_JAR" . + cp "$JB_TOOLS_DIR"/common/thrift-module-info.java module-info.java + javac --patch-module org.apache.thrift=$THRIFT_JAR module-info.java + jar uf $THRIFT_JAR module-info.class + rm module-info.class module-info.java + cp "$OUT_CLS_DIR"/jcef.jar . + mkdir lib + cp -R "$OUT_NATIVE_DIR"/* lib + + mkdir -p $out/jmods + + bash "$JB_TOOLS_DIR"/common/create_version_file.sh $out + + runHook postInstall + ''; dontStrip = debugBuild; diff --git a/pkgs/development/compilers/julia/generic-bin.nix b/pkgs/development/compilers/julia/generic-bin.nix index f7fb2b7559c26..a7c9d323b7a8a 100644 --- a/pkgs/development/compilers/julia/generic-bin.nix +++ b/pkgs/development/compilers/julia/generic-bin.nix @@ -1,71 +1,80 @@ -{ version -, sha256 -, patches ? [ ] +{ + version, + sha256, + patches ? [ ], }: -{ autoPatchelfHook -, fetchurl -, lib -, stdenv +{ + autoPatchelfHook, + fetchurl, + lib, + stdenv, }: let - skip_tests = [ - # Test flaky on ofborg - "channels" - # Test flaky because of our RPATH patching - # https://github.com/NixOS/nixpkgs/pull/230965#issuecomment-1545336489 - "compiler/codegen" - # Test flaky - "read" - ] ++ lib.optionals (lib.versionAtLeast version "1.10") [ - # Test flaky - # https://github.com/JuliaLang/julia/issues/52739 - "REPL" - # Test flaky - "ccall" - ] ++ lib.optionals (lib.versionAtLeast version "1.11") [ - # Test flaky - # https://github.com/JuliaLang/julia/issues/54280 - "loading" - "cmdlineargs" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Test flaky on ofborg - "FileWatching" - # Test requires pbcopy - "InteractiveUtils" - # Test requires network access - "Sockets" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - # Test Failed at $out/share/julia/stdlib/v1.8/LinearAlgebra/test/blas.jl:702 - "LinearAlgebra/blas" - # Test Failed at $out/share/julia/test/misc.jl:724 - "misc" - ]; + skip_tests = + [ + # Test flaky on ofborg + "channels" + # Test flaky because of our RPATH patching + # https://github.com/NixOS/nixpkgs/pull/230965#issuecomment-1545336489 + "compiler/codegen" + # Test flaky + "read" + ] + ++ lib.optionals (lib.versionAtLeast version "1.10") [ + # Test flaky + # https://github.com/JuliaLang/julia/issues/52739 + "REPL" + # Test flaky + "ccall" + ] + ++ lib.optionals (lib.versionAtLeast version "1.11") [ + # Test flaky + # https://github.com/JuliaLang/julia/issues/54280 + "loading" + "cmdlineargs" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Test flaky on ofborg + "FileWatching" + # Test requires pbcopy + "InteractiveUtils" + # Test requires network access + "Sockets" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # Test Failed at $out/share/julia/stdlib/v1.8/LinearAlgebra/test/blas.jl:702 + "LinearAlgebra/blas" + # Test Failed at $out/share/julia/test/misc.jl:724 + "misc" + ]; in stdenv.mkDerivation { pname = "julia-bin"; inherit version patches; - src = { - x86_64-linux = fetchurl { - url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz"; - sha256 = sha256.x86_64-linux; - }; - aarch64-linux = fetchurl { - url = "https://julialang-s3.julialang.org/bin/linux/aarch64/${lib.versions.majorMinor version}/julia-${version}-linux-aarch64.tar.gz"; - sha256 = sha256.aarch64-linux; - }; - x86_64-darwin = fetchurl { - url = "https://julialang-s3.julialang.org/bin/mac/x64/${lib.versions.majorMinor version}/julia-${version}-mac64.tar.gz"; - sha256 = sha256.x86_64-darwin; - }; - aarch64-darwin = fetchurl { - url = "https://julialang-s3.julialang.org/bin/mac/aarch64/${lib.versions.majorMinor version}/julia-${version}-macaarch64.tar.gz"; - sha256 = sha256.aarch64-darwin; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + { + x86_64-linux = fetchurl { + url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz"; + sha256 = sha256.x86_64-linux; + }; + aarch64-linux = fetchurl { + url = "https://julialang-s3.julialang.org/bin/linux/aarch64/${lib.versions.majorMinor version}/julia-${version}-linux-aarch64.tar.gz"; + sha256 = sha256.aarch64-linux; + }; + x86_64-darwin = fetchurl { + url = "https://julialang-s3.julialang.org/bin/mac/x64/${lib.versions.majorMinor version}/julia-${version}-mac64.tar.gz"; + sha256 = sha256.x86_64-darwin; + }; + aarch64-darwin = fetchurl { + url = "https://julialang-s3.julialang.org/bin/mac/aarch64/${lib.versions.majorMinor version}/julia-${version}-macaarch64.tar.gz"; + sha256 = sha256.aarch64-darwin; + }; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); postPatch = '' # Julia fails to pick up our Certification Authority root certificates, but @@ -82,16 +91,19 @@ stdenv.mkDerivation { stdenv.cc.cc ]; - installPhase = '' - runHook preInstall - cp -r . $out - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - # "$out/share" is intentionally omitted since it contains - # julia package images and patchelf would break them - autoPatchelf "$out/bin" "$out/lib" "$out/libexec" - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + cp -r . $out + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # "$out/share" is intentionally omitted since it contains + # julia package images and patchelf would break them + autoPatchelf "$out/bin" "$out/lib" "$out/libexec" + '' + + '' + runHook postInstall + ''; # Breaks backtraces, etc. dontStrip = true; @@ -123,8 +135,18 @@ stdenv.mkDerivation { homepage = "https://julialang.org"; # Bundled and linked with various GPL code, although Julia itself is MIT. license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ raskin nickcao wegank thomasjm ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with lib.maintainers; [ + raskin + nickcao + wegank + thomasjm + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "julia"; }; } diff --git a/pkgs/development/compilers/koka/default.nix b/pkgs/development/compilers/koka/default.nix index 029bd88dfb0f1..67f3f931025f9 100644 --- a/pkgs/development/compilers/koka/default.nix +++ b/pkgs/development/compilers/koka/default.nix @@ -1,33 +1,34 @@ -{ stdenv -, pkgsHostTarget -, cmake -, makeWrapper -, mkDerivation -, fetchFromGitHub -, alex -, lib -, hpack -, aeson -, array -, async -, base -, bytestring -, co-log-core -, cond -, containers -, directory -, FloatingHex -, isocline -, lens -, lsp_2_4_0_0 -, mtl -, network -, network-simple -, parsec -, process -, text -, text-rope -, time +{ + stdenv, + pkgsHostTarget, + cmake, + makeWrapper, + mkDerivation, + fetchFromGitHub, + alex, + lib, + hpack, + aeson, + array, + async, + base, + bytestring, + co-log-core, + cond, + containers, + directory, + FloatingHex, + isocline, + lens, + lsp_2_4_0_0, + mtl, + network, + network-simple, + parsec, + process, + text, + text-rope, + time, }: let @@ -44,7 +45,10 @@ let inherit version; src = "${src}/kklib"; nativeBuildInputs = [ cmake ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' mkdir -p ''${!outputDev}/share/koka/v${version} cp -a ../../kklib ''${!outputDev}/share/koka/v${version} @@ -88,7 +92,10 @@ mkDerivation rec { time kklib ]; - executableToolDepends = [ alex makeWrapper ]; + executableToolDepends = [ + alex + makeWrapper + ]; postInstall = '' mkdir -p $out/share/koka/v${version} cp -a lib $out/share/koka/v${version} @@ -103,5 +110,8 @@ mkDerivation rec { homepage = "https://github.com/koka-lang/koka"; changelog = "${homepage}/blob/master/doc/spec/news.mdk"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ siraben sternenseemann ]; + maintainers = with lib.maintainers; [ + siraben + sternenseemann + ]; } diff --git a/pkgs/development/compilers/kotlin/native.nix b/pkgs/development/compilers/kotlin/native.nix index 5b54c22d3f3a9..82e31e579fae1 100644 --- a/pkgs/development/compilers/kotlin/native.nix +++ b/pkgs/development/compilers/kotlin/native.nix @@ -1,30 +1,38 @@ -{ lib -, stdenv -, fetchurl -, jre -, makeWrapper +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, }: stdenv.mkDerivation rec { pname = "kotlin-native"; version = "1.9.24"; - src = let - getArch = { - "aarch64-darwin" = "macos-aarch64"; - "x86_64-darwin" = "macos-x86_64"; - "x86_64-linux" = "linux-x86_64"; - }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); + src = + let + getArch = + { + "aarch64-darwin" = "macos-aarch64"; + "x86_64-darwin" = "macos-x86_64"; + "x86_64-linux" = "linux-x86_64"; + } + .${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported."); - getUrl = version: arch: - "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz"; + getUrl = + version: arch: + "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz"; - getHash = arch: { - "macos-aarch64" = "sha256-RGXi2SyUviH9HdMApSoBJfEdeOfnssaTnWldvGJ6ysY="; - "macos-x86_64" = "sha256-eDwbmVV0jLN5REb3D5JfDbjzUuZujxA2puw75Te1aFs="; - "linux-x86_64" = "sha256-sEvljAwLSzBxUxxpRAPxtlDnKlwH4FGQTDaQI+XcGaE="; - }.${arch}; - in + getHash = + arch: + { + "macos-aarch64" = "sha256-RGXi2SyUviH9HdMApSoBJfEdeOfnssaTnWldvGJ6ysY="; + "macos-x86_64" = "sha256-eDwbmVV0jLN5REb3D5JfDbjzUuZujxA2puw75Te1aFs="; + "linux-x86_64" = "sha256-sEvljAwLSzBxUxxpRAPxtlDnKlwH4FGQTDaQI+XcGaE="; + } + .${arch}; + in fetchurl { url = getUrl version getArch; sha256 = getHash getArch; diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix index b472eb921cfa6..cebb3614490dc 100644 --- a/pkgs/development/compilers/ligo/default.nix +++ b/pkgs/development/compilers/ligo/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitLab -, git -, coq -, ocamlPackages -, cacert -, ocaml-crunch -, jq -, mustache-go -, yaml2json -, tezos-rust-libs -, darwin +{ + stdenv, + lib, + fetchFromGitLab, + git, + coq, + ocamlPackages, + cacert, + ocaml-crunch, + jq, + mustache-go, + yaml2json, + tezos-rust-libs, + darwin, }: ocamlPackages.buildDunePackage rec { @@ -45,77 +46,80 @@ ocamlPackages.buildDunePackage rec { yaml2json ]; - buildInputs = with ocamlPackages; [ - coq - menhir - menhirLib - qcheck - ocamlgraph - bisect_ppx - decompress - fileutils - ppx_deriving - ppx_deriving_yojson - ppx_yojson_conv - ppx_expect - ppx_import - terminal_size - ocaml-recovery-parser - yojson - getopt - core - core_unix - pprint - linenoise - crunch - semver - lambda-term - tar-unix - parse-argv - hacl-star - prometheus - lwt_ppx - msgpck - # lsp - linol - linol-lwt - ocaml-lsp - # Test helpers deps - qcheck - qcheck-alcotest - alcotest-lwt - # vendored tezos' deps - aches - aches-lwt - ctypes - ctypes_stubs_js - class_group_vdf - dune-configurator - hacl-star - hacl-star-raw - lwt-canceler - ipaddr - bls12-381 - bls12-381-signature - ptime - mtime - lwt_log - secp256k1-internal - resto - resto-directory - resto-cohttp-self-serving-client - irmin-pack - ezjsonm - data-encoding - pure-splitmix - zarith_stubs_js - simple-diff - seqes - stdint - tezt - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + with ocamlPackages; + [ + coq + menhir + menhirLib + qcheck + ocamlgraph + bisect_ppx + decompress + fileutils + ppx_deriving + ppx_deriving_yojson + ppx_yojson_conv + ppx_expect + ppx_import + terminal_size + ocaml-recovery-parser + yojson + getopt + core + core_unix + pprint + linenoise + crunch + semver + lambda-term + tar-unix + parse-argv + hacl-star + prometheus + lwt_ppx + msgpck + # lsp + linol + linol-lwt + ocaml-lsp + # Test helpers deps + qcheck + qcheck-alcotest + alcotest-lwt + # vendored tezos' deps + aches + aches-lwt + ctypes + ctypes_stubs_js + class_group_vdf + dune-configurator + hacl-star + hacl-star-raw + lwt-canceler + ipaddr + bls12-381 + bls12-381-signature + ptime + mtime + lwt_log + secp256k1-internal + resto + resto-directory + resto-cohttp-self-serving-client + irmin-pack + ezjsonm + data-encoding + pure-splitmix + zarith_stubs_js + simple-diff + seqes + stdint + tezt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; nativeCheckInputs = [ cacert diff --git a/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix b/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix index 97b80ade42e1a..83c1366c344c0 100644 --- a/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix +++ b/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, lldb +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + lldb, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/compilers/llvm/multi.nix b/pkgs/development/compilers/llvm/multi.nix index 136e13ba21f5e..448ee461ad699 100644 --- a/pkgs/development/compilers/llvm/multi.nix +++ b/pkgs/development/compilers/llvm/multi.nix @@ -1,42 +1,48 @@ -{ runCommand, -clang, -gcc64, -gcc32, -glibc_multi +{ + runCommand, + clang, + gcc64, + gcc32, + glibc_multi, }: let - combine = basegcc: runCommand "combine-gcc-libc" {} '' - mkdir -p $out - cp -r ${basegcc.cc}/lib $out/lib - - chmod u+rw -R $out/lib - cp -r ${basegcc.libc}/lib/* $(ls -d $out/lib/gcc/*/*) - ''; - gcc_multi_sysroot = runCommand "gcc-multi-sysroot" { - passthru = { - inherit (gcc64) version; - lib = gcc_multi_sysroot; - }; - } '' - mkdir -p $out/lib{,64}/gcc + combine = + basegcc: + runCommand "combine-gcc-libc" { } '' + mkdir -p $out + cp -r ${basegcc.cc}/lib $out/lib + + chmod u+rw -R $out/lib + cp -r ${basegcc.libc}/lib/* $(ls -d $out/lib/gcc/*/*) + ''; + gcc_multi_sysroot = + runCommand "gcc-multi-sysroot" + { + passthru = { + inherit (gcc64) version; + lib = gcc_multi_sysroot; + }; + } + '' + mkdir -p $out/lib{,64}/gcc - ln -s ${combine gcc64}/lib/gcc/* $out/lib64/gcc/ - ln -s ${combine gcc32}/lib/gcc/* $out/lib/gcc/ - # XXX: This shouldn't be needed, clang just doesn't look for "i686-unknown" - ln -s $out/lib/gcc/i686-unknown-linux-gnu $out/lib/gcc/i686-pc-linux-gnu + ln -s ${combine gcc64}/lib/gcc/* $out/lib64/gcc/ + ln -s ${combine gcc32}/lib/gcc/* $out/lib/gcc/ + # XXX: This shouldn't be needed, clang just doesn't look for "i686-unknown" + ln -s $out/lib/gcc/i686-unknown-linux-gnu $out/lib/gcc/i686-pc-linux-gnu - # includes - mkdir -p $out/include - ln -s ${glibc_multi.dev}/include/* $out/include - ln -s ${gcc64.cc}/include/c++ $out/include/c++ + # includes + mkdir -p $out/include + ln -s ${glibc_multi.dev}/include/* $out/include + ln -s ${gcc64.cc}/include/c++ $out/include/c++ - # dynamic linkers - mkdir -p $out/lib/32 - ln -s ${glibc_multi.out}/lib/ld-linux* $out/lib - ln -s ${glibc_multi.out}/lib/32/ld-linux* $out/lib/32/ - ''; + # dynamic linkers + mkdir -p $out/lib/32 + ln -s ${glibc_multi.out}/lib/ld-linux* $out/lib + ln -s ${glibc_multi.out}/lib/32/ld-linux* $out/lib/32/ + ''; clangMulti = clang.override { # Only used for providing expected structure re:dynamic linkers, AFAIK Most @@ -51,10 +57,12 @@ let gccForLibs = gcc_multi_sysroot // { inherit (glibc_multi) libgcc; langCC = - assert (gcc64.cc.langCC != gcc32.cc.langCC) - -> throw "(gcc64.cc.langCC=${gcc64.cc.langCC}) != (gcc32.cc.langCC=${gcc32.cc.langCC})"; + assert + (gcc64.cc.langCC != gcc32.cc.langCC) + -> throw "(gcc64.cc.langCC=${gcc64.cc.langCC}) != (gcc32.cc.langCC=${gcc32.cc.langCC})"; gcc64.cc.langCC; }; }; -in clangMulti +in +clangMulti diff --git a/pkgs/development/compilers/lobster/default.nix b/pkgs/development/compilers/lobster/default.nix index 2ebe573cf513c..e54c71ebab64d 100644 --- a/pkgs/development/compilers/lobster/default.nix +++ b/pkgs/development/compilers/lobster/default.nix @@ -1,19 +1,21 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, callPackage +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + callPackage, -# Linux deps -, libGL -, xorg + # Linux deps + libGL, + xorg, -# Darwin deps -, CoreFoundation -, Cocoa -, AudioToolbox -, OpenGL -, Foundation -, ForceFeedback + # Darwin deps + CoreFoundation, + Cocoa, + AudioToolbox, + OpenGL, + Foundation, + ForceFeedback, }: stdenv.mkDerivation (finalAttrs: { @@ -28,26 +30,28 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - buildInputs = if stdenv.hostPlatform.isDarwin - then [ - CoreFoundation - Cocoa - AudioToolbox - OpenGL - Foundation - ForceFeedback - ] - else [ - libGL - xorg.libX11 - xorg.libXext - ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ + CoreFoundation + Cocoa + AudioToolbox + OpenGL + Foundation + ForceFeedback + ] + else + [ + libGL + xorg.libX11 + xorg.libXext + ]; preConfigure = '' cd dev ''; - passthru.tests.can-run-hello-world = callPackage ./test-can-run-hello-world.nix {}; + passthru.tests.can-run-hello-world = callPackage ./test-can-run-hello-world.nix { }; meta = with lib; { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/development/compilers/lobster/test-can-run-hello-world.nix b/pkgs/development/compilers/lobster/test-can-run-hello-world.nix index ceb0536b582cc..7971c9fd43398 100644 --- a/pkgs/development/compilers/lobster/test-can-run-hello-world.nix +++ b/pkgs/development/compilers/lobster/test-can-run-hello-world.nix @@ -10,4 +10,3 @@ stdenv.mkDerivation { touch $out ''; } - diff --git a/pkgs/development/compilers/matter-compiler/default.nix b/pkgs/development/compilers/matter-compiler/default.nix index 89daf7b27ebaa..b00c26c0ba5f4 100644 --- a/pkgs/development/compilers/matter-compiler/default.nix +++ b/pkgs/development/compilers/matter-compiler/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "matter_compiler"; @@ -12,9 +16,13 @@ bundlerApp { Matter Compiler is a API Blueprint AST Media Types to API Blueprint conversion tool. It composes an API blueprint from its serialzed AST media-type. ''; - homepage = "https://github.com/apiaryio/matter_compiler/"; - license = licenses.mit; - maintainers = with maintainers; [ rvlander manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/apiaryio/matter_compiler/"; + license = licenses.mit; + maintainers = with maintainers; [ + rvlander + manveru + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/compilers/matter-compiler/gemset.nix b/pkgs/development/compilers/matter-compiler/gemset.nix index 2ef9e911b8243..739f664a7dc62 100644 --- a/pkgs/development/compilers/matter-compiler/gemset.nix +++ b/pkgs/development/compilers/matter-compiler/gemset.nix @@ -1,9 +1,9 @@ { matter_compiler = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16501zdiqxk34v2d0nlbwrcrjm6g57hrsmsw0crwssn29v5zbykf"; type = "gem"; }; diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix index f26745abda34e..9e8cd70bc0752 100644 --- a/pkgs/development/compilers/mercury/default.nix +++ b/pkgs/development/compilers/mercury/default.nix @@ -1,17 +1,36 @@ -{ lib, stdenv, fetchurl, gcc, flex, bison, texinfo, jdk_headless, erlang, makeWrapper -, readline }: +{ + lib, + stdenv, + fetchurl, + gcc, + flex, + bison, + texinfo, + jdk_headless, + erlang, + makeWrapper, + readline, +}: stdenv.mkDerivation rec { pname = "mercury"; version = "22.01.8"; src = fetchurl { - url = "https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz"; + url = "https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz"; sha256 = "sha256-oJfozI7KAVLtlSfByvc+XJyD9q2h0xOiW4D+eQcvutg="; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ gcc flex bison texinfo jdk_headless erlang readline ]; + buildInputs = [ + gcc + flex + bison + texinfo + jdk_headless + erlang + readline + ]; patchPhase = '' # Fix calls to programs in /bin @@ -54,10 +73,10 @@ stdenv.mkDerivation rec { allowing modularity, separate compilation, and numerous optimization/time trade-offs. ''; - homepage = "https://mercurylang.org/"; - changelog = "https://dl.mercurylang.org/release/release-notes-${version}.html"; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.all; + homepage = "https://mercurylang.org/"; + changelog = "https://dl.mercurylang.org/release/release-notes-${version}.html"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.all; maintainers = with lib.maintainers; [ vieta ]; }; } diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix index a47228b1d0b12..51df8e7062d47 100644 --- a/pkgs/development/compilers/mezzo/default.nix +++ b/pkgs/development/compilers/mezzo/default.nix @@ -1,57 +1,83 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, camlp4, menhir -, menhirLib, yojson, ulex, pprint, fix, functory +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, + camlp4, + menhir, + menhirLib, + yojson, + ulex, + pprint, + fix, + functory, }: -if lib.versionAtLeast ocaml.version "4.06" -then throw "mezzo is not available for OCaml ${ocaml.version}" +if lib.versionAtLeast ocaml.version "4.06" then + throw "mezzo is not available for OCaml ${ocaml.version}" else -let - check-ocaml-version = lib.versionAtLeast (lib.getVersion ocaml); -in + let + check-ocaml-version = lib.versionAtLeast (lib.getVersion ocaml); + in -assert check-ocaml-version "4"; + assert check-ocaml-version "4"; -stdenv.mkDerivation { + stdenv.mkDerivation { - pname = "mezzo"; - version = "0.0.m8"; + pname = "mezzo"; + version = "0.0.m8"; - src = fetchFromGitHub { - owner = "protz"; - repo = "mezzo"; - rev = "m8"; - sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6"; - }; + src = fetchFromGitHub { + owner = "protz"; + repo = "mezzo"; + rev = "m8"; + sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6"; + }; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 menhir ]; - buildInputs = [ yojson menhirLib ulex pprint fix functory ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + camlp4 + menhir + ]; + buildInputs = [ + yojson + menhirLib + ulex + pprint + fix + functory + ocamlbuild + ]; - # Sets warning 3 as non-fatal - prePatch = lib.optionalString (check-ocaml-version "4.02") '' - substituteInPlace myocamlbuild.pre.ml \ - --replace '@1..3' '@1..2+3' - '' - # Compatibility with PPrint ≥ 20220103 - + '' - substituteInPlace typing/Fact.ml --replace PPrintOCaml PPrint.OCaml - ''; + # Sets warning 3 as non-fatal + prePatch = + lib.optionalString (check-ocaml-version "4.02") '' + substituteInPlace myocamlbuild.pre.ml \ + --replace '@1..3' '@1..2+3' + '' + # Compatibility with PPrint ≥ 20220103 + + '' + substituteInPlace typing/Fact.ml --replace PPrintOCaml PPrint.OCaml + ''; - createFindlibDestdir = true; - - postInstall = '' - mkdir $out/bin - cp mezzo $out/bin/ - ''; - - meta = with lib; { - homepage = "http://protz.github.io/mezzo/"; - description = "Programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory"; - license = licenses.gpl2; - platforms = ocaml.meta.platforms or []; - }; -} + createFindlibDestdir = true; + postInstall = '' + mkdir $out/bin + cp mezzo $out/bin/ + ''; + meta = with lib; { + homepage = "http://protz.github.io/mezzo/"; + description = "Programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory"; + license = licenses.gpl2; + platforms = ocaml.meta.platforms or [ ]; + }; + } diff --git a/pkgs/development/compilers/mint/default.nix b/pkgs/development/compilers/mint/default.nix index 5a94d35c051f6..62e19008d4680 100644 --- a/pkgs/development/compilers/mint/default.nix +++ b/pkgs/development/compilers/mint/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, crystal, openssl }: +{ + lib, + fetchFromGitHub, + crystal, + openssl, +}: crystal.buildCrystalPackage rec { version = "0.19.0"; diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix index 9b110b0a8b045..505c3fb055258 100644 --- a/pkgs/development/compilers/mit-scheme/default.nix +++ b/pkgs/development/compilers/mit-scheme/default.nix @@ -1,26 +1,27 @@ -{ fetchurl -, lib -, stdenv -, makeWrapper -, gnum4 -, texinfo -, texliveSmall -, automake -, autoconf -, libtool -, ghostscript -, ncurses -, enableX11 ? false, libX11 +{ + fetchurl, + lib, + stdenv, + makeWrapper, + gnum4, + texinfo, + texliveSmall, + automake, + autoconf, + libtool, + ghostscript, + ncurses, + enableX11 ? false, + libX11, }: let version = "12.1"; - bootstrapFromC = ! ((stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isx86_64); + bootstrapFromC = + !((stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isx86_64); - arch = if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 then - "-aarch64le" - else - "-x86-64"; + arch = + if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 then "-aarch64le" else "-x86-64"; in stdenv.mkDerivation { pname = "mit-scheme" + lib.optionalString enableX11 "-x11"; @@ -31,14 +32,16 @@ stdenv.mkDerivation { # leads to more efficient code than when building the tarball that contains # generated C code instead of those binaries. src = - if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 - then fetchurl { - url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-aarch64le.tar.gz"; - sha256 = "12ra9bc93x8g07impbd8jr6djjzwpb9qvh9zhxvvrba3332zx3vh"; - } else fetchurl { - url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz"; - sha256 = "035f92vni0vqmgj9hq2i7vwasz7crx52wll4823vhfkm1qdv5ywc"; - }; + if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 then + fetchurl { + url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-aarch64le.tar.gz"; + sha256 = "12ra9bc93x8g07impbd8jr6djjzwpb9qvh9zhxvvrba3332zx3vh"; + } + else + fetchurl { + url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz"; + sha256 = "035f92vni0vqmgj9hq2i7vwasz7crx52wll4823vhfkm1qdv5ywc"; + }; buildInputs = [ ncurses ] ++ lib.optionals enableX11 [ libX11 ]; @@ -56,23 +59,20 @@ stdenv.mkDerivation { ]; buildPhase = '' - runHook preBuild - cd src + runHook preBuild + cd src - ${if bootstrapFromC - then "./etc/make-liarc.sh --prefix=$out" - else "make compile-microcode"} + ${if bootstrapFromC then "./etc/make-liarc.sh --prefix=$out" else "make compile-microcode"} - cd ../doc + cd ../doc - make + make - cd .. + cd .. - runHook postBuild + runHook postBuild ''; - installPhase = '' runHook preInstall make prefix=$out install -C src @@ -85,7 +85,21 @@ stdenv.mkDerivation { $out/lib/mit-scheme${arch}-${version} ''; - nativeBuildInputs = [ makeWrapper gnum4 texinfo (texliveSmall.withPackages (ps: with ps; [ epsf ps.texinfo ])) automake ghostscript autoconf libtool ]; + nativeBuildInputs = [ + makeWrapper + gnum4 + texinfo + (texliveSmall.withPackages ( + ps: with ps; [ + epsf + ps.texinfo + ] + )) + automake + ghostscript + autoconf + libtool + ]; # XXX: The `check' target doesn't exist. doCheck = false; diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix index 1483bd4a15973..620e4716dd5be 100644 --- a/pkgs/development/compilers/mkcl/default.nix +++ b/pkgs/development/compilers/mkcl/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, gmp, gcc }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + makeWrapper, + gmp, + gcc, +}: stdenv.mkDerivation rec { pname = "mkcl"; diff --git a/pkgs/development/compilers/mlton/20130715.nix b/pkgs/development/compilers/mlton/20130715.nix index 90285bf089820..6cf88e34b57d9 100644 --- a/pkgs/development/compilers/mlton/20130715.nix +++ b/pkgs/development/compilers/mlton/20130715.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, patchelf, gmp }: +{ + lib, + stdenv, + fetchurl, + patchelf, + gmp, +}: let version = "20130715"; @@ -13,27 +19,33 @@ stdenv.mkDerivation rec { inherit version; binSrc = - if stdenv.hostPlatform.system == "i686-linux" then (fetchurl { - url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.x86-linux.tgz"; - sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j"; - }) - else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl { + if stdenv.hostPlatform.system == "i686-linux" then + (fetchurl { + url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.x86-linux.tgz"; + sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j"; + }) + else if stdenv.hostPlatform.system == "x86_64-linux" then + (fetchurl { url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.amd64-linux.tgz"; sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn"; - }) - else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl { + }) + else if stdenv.hostPlatform.system == "x86_64-darwin" then + (fetchurl { url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}-1.amd64-darwin.gmp-macports.tgz"; sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9"; - }) - else throw "Architecture not supported"; + }) + else + throw "Architecture not supported"; - codeSrc = - fetchurl { - url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}.src.tgz"; - sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11"; - }; + codeSrc = fetchurl { + url = "mirror://sourceforge/project/mlton/mlton/${version}/${pname}-${version}.src.tgz"; + sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11"; + }; - srcs = [ binSrc codeSrc ]; + srcs = [ + binSrc + codeSrc + ]; sourceRoot = "${pname}-${version}"; @@ -42,55 +54,61 @@ stdenv.mkDerivation rec { makeFlags = [ "all-no-docs" ]; - configurePhase = '' - # Fix paths in the source. - find . -type f | grep -v -e '\.tgz''$' | xargs sed -i "s@/usr/bin/env bash@$(type -p bash)@" - - substituteInPlace $(pwd)/Makefile --replace '/bin/cp' $(type -p cp) - substituteInPlace bin/mlton-script --replace gcc cc - substituteInPlace bin/regression --replace gcc cc - substituteInPlace lib/mlnlffi-lib/Makefile --replace gcc cc - substituteInPlace mlnlffigen/gen-cppcmd --replace gcc cc - substituteInPlace runtime/Makefile --replace gcc cc - substituteInPlace ../${usr_prefix}/bin/mlton --replace gcc cc - - # Fix paths in the binary distribution. - BIN_DIST_DIR="$(pwd)/../${usr_prefix}" - for f in "bin/mlton" "lib/mlton/platform" "lib/mlton/static-library" ; do - substituteInPlace "$BIN_DIST_DIR/$f" --replace '/${usr_prefix}/bin/env bash' $(type -p bash) - done - - substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton - '' + lib.optionalString stdenv.cc.isClang '' - sed -i "s_ patch -s -p0 safeX11 stdenv; @@ -23,16 +40,25 @@ assert unsafeStringSupport -> lib.versionAtLeast version "4.06" && lib.versionOl assert framePointerSupport -> lib.versionAtLeast version "4.01"; let - src = args.src or (fetchurl { - url = args.url or "http://caml.inria.fr/pub/distrib/ocaml-${versionNoPatch}/ocaml-${version}.tar.xz"; - inherit (args) sha256; - }); + src = + args.src or (fetchurl { + url = + args.url or "http://caml.inria.fr/pub/distrib/ocaml-${versionNoPatch}/ocaml-${version}.tar.xz"; + inherit (args) sha256; + }); in let useNativeCompilers = !stdenv.hostPlatform.isMips; - inherit (lib) optional optionals optionalString strings concatStrings; - pname = concatStrings [ "ocaml" + inherit (lib) + optional + optionals + optionalString + strings + concatStrings + ; + pname = concatStrings [ + "ocaml" (optionalString aflSupport "+afl") (optionalString spaceTimeSupport "+spacetime") (optionalString flambdaSupport "+flambda") @@ -41,126 +67,157 @@ let in let - x11env = buildEnv { name = "x11env"; paths = [libX11 xorgproto]; }; + x11env = buildEnv { + name = "x11env"; + paths = [ + libX11 + xorgproto + ]; + }; x11lib = x11env + "/lib"; x11inc = x11env + "/include"; fetchpatch' = x: if builtins.isAttrs x then fetchpatch x else x; in -stdenv.mkDerivation (args // { - - inherit pname version src; - - patches = map fetchpatch' patches; - - strictDeps = true; - - prefixKey = "-prefix "; - configureFlags = - let flags = new: old: - if lib.versionAtLeast version "4.08" - then new else old - ; in - optionals useX11 (flags - [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"] - [ "-x11lib" x11lib "-x11include" x11inc ]) - ++ optional aflSupport (flags "--with-afl" "-afl-instrument") - ++ optional flambdaSupport (flags "--enable-flambda" "-flambda") - ++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime") - ++ optional framePointerSupport (flags "--enable-frame-pointers" "-with-frame-pointers") - ++ optionals unsafeStringSupport [ - "--disable-force-safe-string" - "DEFAULT_STRING=unsafe" - ] - ++ optional (stdenv.hostPlatform.isStatic && (lib.versionOlder version "4.08")) "-no-shared-libs" - ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && lib.versionOlder version "4.08") [ - "-host ${stdenv.hostPlatform.config}" - "-target ${stdenv.targetPlatform.config}" - ]; - dontAddStaticConfigureFlags = lib.versionOlder version "4.08"; - - # on aarch64-darwin using --host and --target causes the build to invoke - # `aarch64-apple-darwin-clang` while using assembler. However, such binary - # does not exist. So, disable these configure flags on `aarch64-darwin`. - # See #144785 for details. - configurePlatforms = lib.optionals (lib.versionAtLeast version "4.08" && !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) [ "host" "target" ]; - # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together - hardeningDisable = lib.optional (lib.versionAtLeast version "4.09" && stdenv.hostPlatform.isMusl) "pie" - ++ lib.optional (lib.versionAtLeast version "5.0" && stdenv.cc.isClang) "strictoverflow" - ++ lib.optionals (args ? hardeningDisable) args.hardeningDisable; - - # Older versions have some race: - # cp: cannot stat 'boot/ocamlrun': No such file or directory - # make[2]: *** [Makefile:199: backup] Error 1 - enableParallelBuilding = lib.versionAtLeast version "4.08"; - - # Workaround missing dependencies for install parallelism: - # install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory - # make[1]: *** [Makefile:140: installopt] Error 1 - enableParallelInstalling = false; - - # Workaround lack of parallelism support among top-level targets: - # we place nixpkgs-specific targets to a separate file and set - # sequential order among them as a single rule. - makefile = ./Makefile.nixpkgs; - buildFlags = if useNativeCompilers - then [(if lib.versionOlder version "5.2" - then "nixpkgs_world_bootstrap_world_opt" - else "defaultentry")] - else ["nixpkgs_world"]; - buildInputs = optional (lib.versionOlder version "4.07") ncurses - ++ optionals useX11 [ libX11 xorgproto ]; - depsBuildBuild = lib.optionals (!stdenv.hostPlatform.isDarwin) [ binutils ]; - propagatedBuildInputs = optional spaceTimeSupport libunwind; - installTargets = [ "install" ] ++ optional useNativeCompilers "installopt"; - preConfigure = optionalString (lib.versionOlder version "4.04") '' - CAT=$(type -tp cat) - sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang - '' + optionalString (stdenv.hostPlatform.isDarwin) '' - # Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176 - # This is required for aarch64-darwin, everything else works as is. - AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c" - '' + optionalString (lib.versionOlder version "4.08" && stdenv.hostPlatform.isStatic) '' - configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r") - ''; - postBuild = '' - mkdir -p $out/include - ln -sv $out/lib/ocaml/caml $out/include/caml - ''; - - passthru = { - nativeCompilers = useNativeCompilers; - }; - - meta = with lib; { - homepage = "https://ocaml.org/"; - branch = versionNoPatch; - license = with licenses; [ - qpl /* compiler */ - lgpl2 /* library */ - ]; - description = "OCaml is an industrial-strength programming language supporting functional, imperative and object-oriented styles"; - - longDescription = '' - OCaml is a general purpose programming language with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria by a group of leading researchers, it has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. It's widely used in teaching for its power and simplicity. - - Strengths: - * A powerful type system, equipped with parametric polymorphism and type inference. For instance, the type of a collection can be parameterized by the type of its elements. This allows defining some operations over a collection independently of the type of its elements: sorting an array is one example. Furthermore, type inference allows defining such operations without having to explicitly provide the type of their parameters and result. - * User-definable algebraic data types and pattern-matching. New algebraic data types can be defined as combinations of records and sums. Functions that operate over such data structures can then be defined by pattern matching, a generalized form of the well-known switch statement, which offers a clean and elegant way of simultaneously examining and naming data. - * Automatic memory management, thanks to a fast, unobtrusive, incremental garbage collector. - * Separate compilation of standalone applications. Portable bytecode compilers allow creating stand-alone applications out of Caml Light or OCaml programs. A foreign function interface allows OCaml code to interoperate with C code when necessary. Interactive use of OCaml is also supported via a “read-evaluate-print” loop. - - In addition, OCaml features: - * A sophisticated module system, which allows organizing modules hierarchically and parameterizing a module over a number of other modules. - * An expressive object-oriented layer, featuring multiple inheritance, parametric and virtual classes. - * Efficient native code compilers. In addition to its bytecode compiler, OCaml offers a compiler that produces efficient machine code for many architectures. - - Learn more at: https://ocaml.org/learn/description.html +stdenv.mkDerivation ( + args + // { + + inherit pname version src; + + patches = map fetchpatch' patches; + + strictDeps = true; + + prefixKey = "-prefix "; + configureFlags = + let + flags = new: old: if lib.versionAtLeast version "4.08" then new else old; + in + optionals useX11 ( + flags + [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}" ] + [ "-x11lib" x11lib "-x11include" x11inc ] + ) + ++ optional aflSupport (flags "--with-afl" "-afl-instrument") + ++ optional flambdaSupport (flags "--enable-flambda" "-flambda") + ++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime") + ++ optional framePointerSupport (flags "--enable-frame-pointers" "-with-frame-pointers") + ++ optionals unsafeStringSupport [ + "--disable-force-safe-string" + "DEFAULT_STRING=unsafe" + ] + ++ optional (stdenv.hostPlatform.isStatic && (lib.versionOlder version "4.08")) "-no-shared-libs" + ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && lib.versionOlder version "4.08") [ + "-host ${stdenv.hostPlatform.config}" + "-target ${stdenv.targetPlatform.config}" + ]; + dontAddStaticConfigureFlags = lib.versionOlder version "4.08"; + + # on aarch64-darwin using --host and --target causes the build to invoke + # `aarch64-apple-darwin-clang` while using assembler. However, such binary + # does not exist. So, disable these configure flags on `aarch64-darwin`. + # See #144785 for details. + configurePlatforms = + lib.optionals + ( + lib.versionAtLeast version "4.08" + && !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + ) + [ + "host" + "target" + ]; + # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together + hardeningDisable = + lib.optional (lib.versionAtLeast version "4.09" && stdenv.hostPlatform.isMusl) "pie" + ++ lib.optional (lib.versionAtLeast version "5.0" && stdenv.cc.isClang) "strictoverflow" + ++ lib.optionals (args ? hardeningDisable) args.hardeningDisable; + + # Older versions have some race: + # cp: cannot stat 'boot/ocamlrun': No such file or directory + # make[2]: *** [Makefile:199: backup] Error 1 + enableParallelBuilding = lib.versionAtLeast version "4.08"; + + # Workaround missing dependencies for install parallelism: + # install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory + # make[1]: *** [Makefile:140: installopt] Error 1 + enableParallelInstalling = false; + + # Workaround lack of parallelism support among top-level targets: + # we place nixpkgs-specific targets to a separate file and set + # sequential order among them as a single rule. + makefile = ./Makefile.nixpkgs; + buildFlags = + if useNativeCompilers then + [ + (if lib.versionOlder version "5.2" then "nixpkgs_world_bootstrap_world_opt" else "defaultentry") + ] + else + [ "nixpkgs_world" ]; + buildInputs = + optional (lib.versionOlder version "4.07") ncurses + ++ optionals useX11 [ + libX11 + xorgproto + ]; + depsBuildBuild = lib.optionals (!stdenv.hostPlatform.isDarwin) [ binutils ]; + propagatedBuildInputs = optional spaceTimeSupport libunwind; + installTargets = [ "install" ] ++ optional useNativeCompilers "installopt"; + preConfigure = + optionalString (lib.versionOlder version "4.04") '' + CAT=$(type -tp cat) + sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang + '' + + optionalString (stdenv.hostPlatform.isDarwin) '' + # Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176 + # This is required for aarch64-darwin, everything else works as is. + AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c" + '' + + optionalString (lib.versionOlder version "4.08" && stdenv.hostPlatform.isStatic) '' + configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r") + ''; + postBuild = '' + mkdir -p $out/include + ln -sv $out/lib/ocaml/caml $out/include/caml ''; - platforms = with platforms; linux ++ darwin; - broken = stdenv.hostPlatform.isAarch64 && lib.versionOlder version (if stdenv.hostPlatform.isDarwin then "4.10" else "4.02"); - }; - -}) + passthru = { + nativeCompilers = useNativeCompilers; + }; + + meta = with lib; { + homepage = "https://ocaml.org/"; + branch = versionNoPatch; + license = with licenses; [ + qpl # compiler + lgpl2 # library + ]; + description = "OCaml is an industrial-strength programming language supporting functional, imperative and object-oriented styles"; + + longDescription = '' + OCaml is a general purpose programming language with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria by a group of leading researchers, it has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. It's widely used in teaching for its power and simplicity. + + Strengths: + * A powerful type system, equipped with parametric polymorphism and type inference. For instance, the type of a collection can be parameterized by the type of its elements. This allows defining some operations over a collection independently of the type of its elements: sorting an array is one example. Furthermore, type inference allows defining such operations without having to explicitly provide the type of their parameters and result. + * User-definable algebraic data types and pattern-matching. New algebraic data types can be defined as combinations of records and sums. Functions that operate over such data structures can then be defined by pattern matching, a generalized form of the well-known switch statement, which offers a clean and elegant way of simultaneously examining and naming data. + * Automatic memory management, thanks to a fast, unobtrusive, incremental garbage collector. + * Separate compilation of standalone applications. Portable bytecode compilers allow creating stand-alone applications out of Caml Light or OCaml programs. A foreign function interface allows OCaml code to interoperate with C code when necessary. Interactive use of OCaml is also supported via a “read-evaluate-print” loop. + + In addition, OCaml features: + * A sophisticated module system, which allows organizing modules hierarchically and parameterizing a module over a number of other modules. + * An expressive object-oriented layer, featuring multiple inheritance, parametric and virtual classes. + * Efficient native code compilers. In addition to its bytecode compiler, OCaml offers a compiler that produces efficient machine code for many architectures. + + Learn more at: https://ocaml.org/learn/description.html + ''; + + platforms = with platforms; linux ++ darwin; + broken = + stdenv.hostPlatform.isAarch64 + && lib.versionOlder version (if stdenv.hostPlatform.isDarwin then "4.10" else "4.02"); + }; + + } +) diff --git a/pkgs/development/compilers/open-watcom/bin.nix b/pkgs/development/compilers/open-watcom/bin.nix index 5e7805a31b304..b967b2752cbc3 100644 --- a/pkgs/development/compilers/open-watcom/bin.nix +++ b/pkgs/development/compilers/open-watcom/bin.nix @@ -1,4 +1,15 @@ -{ lib, stdenvNoCC, fetchurl, qemu, writeScript, writeScriptBin, ncurses, bash, coreutils, unixtools }: +{ + lib, + stdenvNoCC, + fetchurl, + qemu, + writeScript, + writeScriptBin, + ncurses, + bash, + coreutils, + unixtools, +}: let @@ -58,7 +69,10 @@ stdenvNoCC.mkDerivation rec { sha256 = "1wzkvc6ija0cjj5mcyjng5b7hnnc5axidz030c0jh05pgvi4nj7p"; }; - nativeBuildInputs = [ wrapInPlace unixtools.script ]; + nativeBuildInputs = [ + wrapInPlace + unixtools.script + ]; dontUnpack = true; dontConfigure = true; @@ -86,7 +100,10 @@ stdenvNoCC.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; homepage = "http://www.openwatcom.org/"; license = licenses.watcom; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ maintainers.blitz ]; }; } diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix index 8ad74c00ec870..f518605539f0b 100644 --- a/pkgs/development/compilers/open-watcom/v2.nix +++ b/pkgs/development/compilers/open-watcom/v2.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, unstableGitUpdater -, dosbox - -# Docs cause an immense increase in build time, up to 2 additional hours -, withDocs ? false -, ghostscript -, withGUI ? false +{ + stdenv, + lib, + fetchFromGitHub, + unstableGitUpdater, + dosbox, + + # Docs cause an immense increase in build time, up to 2 additional hours + withDocs ? false, + ghostscript, + withGUI ? false, }: stdenv.mkDerivation rec { @@ -22,30 +23,34 @@ stdenv.mkDerivation rec { hash = "sha256-rT3z0KrkCZ78SbsK2CEHfvJa1TEnRH2kwhzZhi8fZDo="; }; - postPatch = '' - patchShebangs *.sh - - for dateSource in bld/wipfc/configure; do - substituteInPlace $dateSource \ - --replace '`date ' '`date -ud "@$SOURCE_DATE_EPOCH" ' - done - - substituteInPlace bld/watcom/h/banner.h \ - --replace '__DATE__' "\"$(date -ud "@$SOURCE_DATE_EPOCH" +'%b %d %Y')\"" \ - --replace '__TIME__' "\"$(date -ud "@$SOURCE_DATE_EPOCH" +'%T')\"" - - substituteInPlace build/makeinit \ - --replace '$+$(%__CYEAR__)$-' "$(date -ud "@$SOURCE_DATE_EPOCH" +'%Y')" - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - substituteInPlace build/mif/local.mif \ - --replace '-static' "" - ''; + postPatch = + '' + patchShebangs *.sh + + for dateSource in bld/wipfc/configure; do + substituteInPlace $dateSource \ + --replace '`date ' '`date -ud "@$SOURCE_DATE_EPOCH" ' + done + + substituteInPlace bld/watcom/h/banner.h \ + --replace '__DATE__' "\"$(date -ud "@$SOURCE_DATE_EPOCH" +'%b %d %Y')\"" \ + --replace '__TIME__' "\"$(date -ud "@$SOURCE_DATE_EPOCH" +'%T')\"" + + substituteInPlace build/makeinit \ + --replace '$+$(%__CYEAR__)$-' "$(date -ud "@$SOURCE_DATE_EPOCH" +'%Y')" + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + substituteInPlace build/mif/local.mif \ + --replace '-static' "" + ''; - nativeBuildInputs = [ - dosbox - ] ++ lib.optionals withDocs [ - ghostscript - ]; + nativeBuildInputs = + [ + dosbox + ] + ++ lib.optionals withDocs [ + ghostscript + ]; configurePhase = '' runHook preConfigure @@ -96,37 +101,43 @@ stdenv.mkDerivation rec { meta = with lib; { description = "V2 fork of the Open Watcom suite of compilers and tools"; - longDescription = '' - A fork of Open Watcom: A C/C++/Fortran compiler and assembler suite - targeting a multitude of architectures (x86, IA-32, Alpha AXP, MIPS, - PowerPC) and operating systems (DOS, OS/2, Windows, Linux). - - Main differences from Open Watcom 1.9: - - - New two-phase build system - Open Watcom can be built by the host's - native C/C++ compiler or by itself - - Code generator properly initializes pointers by DLL symbol addresses - - DOS tools now support long file names (LFN) if appropriate LFN driver - is loaded by DOS - - Open Watcom is ported to 64-bit hosts (Win64, Linux x64) - - Librarian supports x64 CPU object modules and libraries - - RDOS 32-bit C run-time compact memory model libraries are fixed - - Resource compiler and Resource editors support Win64 executables - - Open Watcom text editor is now self-contained, it can be used as - standalone tool without any requirements for any additional files or - configuration - - Broken C++ compiler pre-compiled header template support is fixed - - Many C++ compiler crashes are fixed - - Debugger has no length limit for any used environment variable - '' + lib.optionalString (!withDocs) '' - - The documentation has been excluded from this build for build time reasons. It can be found here: - https://github.com/open-watcom/open-watcom-v2/wiki/Open-Watcom-Documentation - ''; + longDescription = + '' + A fork of Open Watcom: A C/C++/Fortran compiler and assembler suite + targeting a multitude of architectures (x86, IA-32, Alpha AXP, MIPS, + PowerPC) and operating systems (DOS, OS/2, Windows, Linux). + + Main differences from Open Watcom 1.9: + + - New two-phase build system - Open Watcom can be built by the host's + native C/C++ compiler or by itself + - Code generator properly initializes pointers by DLL symbol addresses + - DOS tools now support long file names (LFN) if appropriate LFN driver + is loaded by DOS + - Open Watcom is ported to 64-bit hosts (Win64, Linux x64) + - Librarian supports x64 CPU object modules and libraries + - RDOS 32-bit C run-time compact memory model libraries are fixed + - Resource compiler and Resource editors support Win64 executables + - Open Watcom text editor is now self-contained, it can be used as + standalone tool without any requirements for any additional files or + configuration + - Broken C++ compiler pre-compiled header template support is fixed + - Many C++ compiler crashes are fixed + - Debugger has no length limit for any used environment variable + '' + + lib.optionalString (!withDocs) '' + + The documentation has been excluded from this build for build time reasons. It can be found here: + https://github.com/open-watcom/open-watcom-v2/wiki/Open-Watcom-Documentation + ''; homepage = "https://open-watcom.github.io"; license = licenses.watcom; platforms = with platforms; windows ++ unix; - badPlatforms = platforms.riscv ++ [ "powerpc64-linux" "powerpc64le-linux" "mips64el-linux" ]; + badPlatforms = platforms.riscv ++ [ + "powerpc64-linux" + "powerpc64le-linux" + "mips64el-linux" + ]; maintainers = with maintainers; [ OPNA2608 ]; }; } diff --git a/pkgs/development/compilers/open-watcom/wrapper.nix b/pkgs/development/compilers/open-watcom/wrapper.nix index 95752b2c2fe43..878253f2caf36 100644 --- a/pkgs/development/compilers/open-watcom/wrapper.nix +++ b/pkgs/development/compilers/open-watcom/wrapper.nix @@ -1,46 +1,59 @@ # Arguments that this derivation gets when it is created with `callPackage` -{ stdenv -, lib -, symlinkJoin -, makeWrapper -, runCommand -, file +{ + stdenv, + lib, + symlinkJoin, + makeWrapper, + runCommand, + file, }: open-watcom: let wrapper = - {}: + { }: let - archToBindir = with stdenv.hostPlatform; if isx86 then - "bin" - else if isAarch then - "arm" - # we don't support running on AXP - # don't know what MIPS, PPC bindirs are called - else throw "Don't know where ${system} binaries are located!"; + archToBindir = + with stdenv.hostPlatform; + if isx86 then + "bin" + else if isAarch then + "arm" + # we don't support running on AXP + # don't know what MIPS, PPC bindirs are called + else + throw "Don't know where ${system} binaries are located!"; - binDirs = with stdenv.hostPlatform; if isWindows then [ - (lib.optionalString is64bit "${archToBindir}nt64") - "${archToBindir}nt" - (lib.optionalString is32bit "${archToBindir}w") - ] else if (isDarwin) then [ - (lib.optionalString is64bit "${archToBindir}o64") - # modern Darwin cannot execute 32-bit code anymore - (lib.optionalString is32bit "${archToBindir}o") - ] else [ - (lib.optionalString is64bit "${archToBindir}l64") - "${archToBindir}l" - ]; + binDirs = + with stdenv.hostPlatform; + if isWindows then + [ + (lib.optionalString is64bit "${archToBindir}nt64") + "${archToBindir}nt" + (lib.optionalString is32bit "${archToBindir}w") + ] + else if (isDarwin) then + [ + (lib.optionalString is64bit "${archToBindir}o64") + # modern Darwin cannot execute 32-bit code anymore + (lib.optionalString is32bit "${archToBindir}o") + ] + else + [ + (lib.optionalString is64bit "${archToBindir}l64") + "${archToBindir}l" + ]; # TODO # This works good enough as-is, but should really only be targetPlatform-specific # but we don't support targeting DOS, OS/2, 16-bit Windows etc Nixpkgs-wide so this needs extra logic - includeDirs = with stdenv.hostPlatform; [ - "h" - ] - ++ lib.optional isWindows "h/nt" - ++ lib.optional isLinux "lh"; + includeDirs = + with stdenv.hostPlatform; + [ + "h" + ] + ++ lib.optional isWindows "h/nt" + ++ lib.optional isLinux "lh"; listToDirs = list: lib.strings.concatMapStringsSep ":" (dir: "${placeholder "out"}/${dir}") list; name = "${open-watcom.passthru.prettyName}-${open-watcom.version}"; in @@ -72,69 +85,79 @@ let passthru = { unwrapped = open-watcom; - tests = let - wrapped = wrapper { }; - in { - simple = runCommand "${name}-test-simple" { nativeBuildInputs = [ wrapped ]; } '' - cat <test.c - #include - int main() { - printf ("Testing OpenWatcom C89 compiler.\n"); - return 0; - } - EOF - cat test.c - wcl386 -fe=test_c test.c - # Only test execution if hostPlatform is targetable - ${lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch) "./test_c"} - - cat <test.cpp - #include - #include - int main() { - std::cout << "Testing OpenWatcom C++ library implementation." << std::endl; - watcom::istring HELLO ("HELLO"); - if (HELLO != "hello") { - return 1; + tests = + let + wrapped = wrapper { }; + in + { + simple = runCommand "${name}-test-simple" { nativeBuildInputs = [ wrapped ]; } '' + cat <test.c + #include + int main() { + printf ("Testing OpenWatcom C89 compiler.\n"); + return 0; } - if (HELLO.find ("ello") != 1) { - return 2; + EOF + cat test.c + wcl386 -fe=test_c test.c + # Only test execution if hostPlatform is targetable + ${lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch) "./test_c"} + + cat <test.cpp + #include + #include + int main() { + std::cout << "Testing OpenWatcom C++ library implementation." << std::endl; + watcom::istring HELLO ("HELLO"); + if (HELLO != "hello") { + return 1; + } + if (HELLO.find ("ello") != 1) { + return 2; + } + return 0; } - return 0; - } - EOF - cat test.cpp - wcl386 -fe=test_cpp test.cpp - # Only test execution if hostPlatform is targetable - ${lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch) "./test_cpp"} - touch $out - ''; - cross = runCommand "${name}-test-cross" { nativeBuildInputs = [ wrapped file ]; } '' - cat <test.c - #include - int main() { - printf ("Testing OpenWatcom cross-compilation.\n"); - return 0; - } - EOF - cat test.c + EOF + cat test.cpp + wcl386 -fe=test_cpp test.cpp + # Only test execution if hostPlatform is targetable + ${lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch) "./test_cpp"} + touch $out + ''; + cross = + runCommand "${name}-test-cross" + { + nativeBuildInputs = [ + wrapped + file + ]; + } + '' + cat <test.c + #include + int main() { + printf ("Testing OpenWatcom cross-compilation.\n"); + return 0; + } + EOF + cat test.c - echo "Test compiling" - wcl386 -bcl=linux -fe=linux test.c - wcl386 -bcl=nt -fe=nt test.c - wcl386 -bcl=dos4g -fe=dos4g test.c - wcl -bcl=windows -fe=windows test.c - wcl -bcl=dos -fe=dos test.c + echo "Test compiling" + wcl386 -bcl=linux -fe=linux test.c + wcl386 -bcl=nt -fe=nt test.c + wcl386 -bcl=dos4g -fe=dos4g test.c + wcl -bcl=windows -fe=windows test.c + wcl -bcl=dos -fe=dos test.c - echo "Test file format" - file ./linux | grep "32-bit" | grep "Linux" - file ./nt.exe | grep "PE32" | grep "Windows" - file ./dos4g.exe | grep "MS-DOS" | grep "LE executable" - file ./windows.exe | grep "MS-DOS" | grep "Windows 3.x" - file ./dos.exe | grep "MS-DOS" | grep -v "LE" | grep -v "Windows 3.x" - touch $out - ''; - }; + echo "Test file format" + file ./linux | grep "32-bit" | grep "Linux" + file ./nt.exe | grep "PE32" | grep "Windows" + file ./dos4g.exe | grep "MS-DOS" | grep "LE executable" + file ./windows.exe | grep "MS-DOS" | grep "Windows 3.x" + file ./dos.exe | grep "MS-DOS" | grep -v "LE" | grep -v "Windows 3.x" + touch $out + ''; + }; }; inherit (open-watcom) meta; diff --git a/pkgs/development/compilers/openjdk/jre.nix b/pkgs/development/compilers/openjdk/jre.nix index da3bd16bcb544..00686803cb8f5 100644 --- a/pkgs/development/compilers/openjdk/jre.nix +++ b/pkgs/development/compilers/openjdk/jre.nix @@ -1,8 +1,9 @@ -{ stdenv -, jdk -, lib -, callPackage -, modules ? [ "java.base" ] +{ + stdenv, + jdk, + lib, + callPackage, + modules ? [ "java.base" ], }: let @@ -31,9 +32,10 @@ let passthru = { home = "${jre}"; tests = { - jre_minimal-hello = callPackage ./tests/test_jre_minimal.nix {}; - jre_minimal-hello-logging = callPackage ./tests/test_jre_minimal_with_logging.nix {}; + jre_minimal-hello = callPackage ./tests/test_jre_minimal.nix { }; + jre_minimal-hello-logging = callPackage ./tests/test_jre_minimal_with_logging.nix { }; }; }; }; -in jre +in +jre diff --git a/pkgs/development/compilers/openjdk/tests/hello-logging.nix b/pkgs/development/compilers/openjdk/tests/hello-logging.nix index 20fbb93ae2be9..49d42c077b9b4 100644 --- a/pkgs/development/compilers/openjdk/tests/hello-logging.nix +++ b/pkgs/development/compilers/openjdk/tests/hello-logging.nix @@ -1,9 +1,10 @@ -{ jdk -, jre -, pkgs +{ + jdk, + jre, + pkgs, }: -/* 'Hello world' Java application derivation for use in tests */ +# 'Hello world' Java application derivation for use in tests let source = pkgs.writeTextDir "src/Hello.java" '' import java.util.logging.Logger; @@ -18,30 +19,30 @@ let } ''; in - pkgs.stdenv.mkDerivation { - pname = "hello"; - version = "1.0.0"; - - src = source; - - buildPhase = '' - runHook preBuild - ${jdk}/bin/javac src/Hello.java - runHook postBuild - ''; - installPhase = '' - runHook preInstall - - mkdir -p $out/lib - cp src/Hello.class $out/lib - - mkdir -p $out/bin - cat >$out/bin/hello <$out/bin/hello <$out/bin/hello <$out/bin/hello </dev/stdout | grep "Hello, world!" - touch $out - '' +runCommand "test" { } '' + ${hello-logging}/bin/hello &>/dev/stdout | grep "Hello, world!" + touch $out +'' diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix index f485998d1cfaa..17df7fa6f050a 100644 --- a/pkgs/development/compilers/osl/default.nix +++ b/pkgs/development/compilers/osl/default.nix @@ -1,28 +1,30 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, clang -, libclang -, libxml2 -, zlib -, openexr -, openimageio -, llvm -, boost -, flex -, bison -, partio -, pugixml -, util-linux -, python3 +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + clang, + libclang, + libxml2, + zlib, + openexr, + openimageio, + llvm, + boost, + flex, + bison, + partio, + pugixml, + util-linux, + python3, }: let boost_static = boost.override { enableStatic = true; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "openshadinglanguage"; version = "1.13.11.0"; @@ -57,20 +59,22 @@ in stdenv.mkDerivation rec { flex ]; - buildInputs = [ - boost_static - libclang - llvm - openexr - openimageio - partio - pugixml - python3.pkgs.pybind11 - util-linux # needed just for hexdump - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libxml2 - ]; + buildInputs = + [ + boost_static + libclang + llvm + openexr + openimageio + partio + pugixml + python3.pkgs.pybind11 + util-linux # needed just for hexdump + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libxml2 + ]; postFixup = '' substituteInPlace "$out"/lib/pkgconfig/*.pc \ diff --git a/pkgs/development/compilers/p4c/default.nix b/pkgs/development/compilers/p4c/default.nix index 060e298098236..3fd3aa022c07a 100644 --- a/pkgs/development/compilers/p4c/default.nix +++ b/pkgs/development/compilers/p4c/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, boehmgc -, bison -, flex -, protobuf -, gmp -, boost -, python3 -, doxygen -, graphviz -, libbpf -, libllvm -, enableDocumentation ? true -, enableBPF ? true -, enableDPDK ? true -, enableBMV2 ? true -, enableGraphBackend ? true -, enableP4Tests ? true -, enableGTests ? true -, enableMultithreading ? false +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + boehmgc, + bison, + flex, + protobuf, + gmp, + boost, + python3, + doxygen, + graphviz, + libbpf, + libllvm, + enableDocumentation ? true, + enableBPF ? true, + enableDPDK ? true, + enableBMV2 ? true, + enableGraphBackend ? true, + enableP4Tests ? true, + enableGTests ? true, + enableMultithreading ? false, }: let toCMakeBoolean = v: if v then "ON" else "OFF"; @@ -63,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { "-DENABLE_DOCS=${toCMakeBoolean enableDocumentation}" "-DENABLE_GC=ON" "-DENABLE_GTESTS=${toCMakeBoolean enableGTests}" - "-DENABLE_PROTOBUF_STATIC=OFF" # static protobuf has been removed since 3.21.6 + "-DENABLE_PROTOBUF_STATIC=OFF" # static protobuf has been removed since 3.21.6 "-DENABLE_MULTITHREAD=${toCMakeBoolean enableMultithreading}" "-DENABLE_GMP=ON" ]; @@ -72,15 +73,22 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - bison - flex - cmake - protobuf - python3 - ] - ++ lib.optionals enableDocumentation [ doxygen graphviz ] - ++ lib.optionals enableBPF [ libllvm libbpf ]; + nativeBuildInputs = + [ + bison + flex + cmake + protobuf + python3 + ] + ++ lib.optionals enableDocumentation [ + doxygen + graphviz + ] + ++ lib.optionals enableBPF [ + libllvm + libbpf + ]; buildInputs = [ protobuf @@ -95,7 +103,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Reference compiler for the P4 programming language"; homepage = "https://github.com/p4lang/p4c"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ raitobezarius govanify ]; + maintainers = with lib.maintainers; [ + raitobezarius + govanify + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/development/compilers/pakcs/curry-frontend.nix b/pkgs/development/compilers/pakcs/curry-frontend.nix index acf658024b010..d3a144d9b3405 100644 --- a/pkgs/development/compilers/pakcs/curry-frontend.nix +++ b/pkgs/development/compilers/pakcs/curry-frontend.nix @@ -1,7 +1,24 @@ -{ mkDerivation, base, binary, bytestring, Cabal, containers -, directory, extra, file-embed, filepath, lib, mtl, network-uri -, parsec, pretty, process, set-extra, template-haskell, time -, transformers +{ + mkDerivation, + base, + binary, + bytestring, + Cabal, + containers, + directory, + extra, + file-embed, + filepath, + lib, + mtl, + network-uri, + parsec, + pretty, + process, + set-extra, + template-haskell, + time, + transformers, }: mkDerivation { pname = "curry-frontend"; @@ -11,14 +28,40 @@ mkDerivation { isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base binary bytestring containers directory extra file-embed - filepath mtl network-uri parsec pretty process set-extra - template-haskell time transformers + base + binary + bytestring + containers + directory + extra + file-embed + filepath + mtl + network-uri + parsec + pretty + process + set-extra + template-haskell + time + transformers ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base bytestring Cabal containers directory extra file-embed - filepath mtl network-uri pretty process set-extra template-haskell + base + bytestring + Cabal + containers + directory + extra + file-embed + filepath + mtl + network-uri + pretty + process + set-extra + template-haskell transformers ]; homepage = "http://curry-language.org"; diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index 625bab0cab319..7d069535774c9 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -1,7 +1,22 @@ -{ lib, stdenv, fetchurl, fetchpatch2, makeWrapper -, haskellPackages, haskell -, which, swi-prolog, rlwrap, tk -, curl, git, unzip, gnutar, coreutils, sqlite }: +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + makeWrapper, + haskellPackages, + haskell, + which, + swi-prolog, + rlwrap, + tk, + curl, + git, + unzip, + gnutar, + coreutils, + sqlite, +}: let pname = "pakcs"; @@ -14,10 +29,11 @@ let hash = "sha256-ZfQUgFqmPPCeDx/T5G/JdvYDq/7XbvsgxPcEX4y9HZ4="; }; - curry-frontend = (haskellPackages.override { - overrides = self: super: { - curry-frontend = lib.pipe (super.callPackage ./curry-frontend.nix { }) - [ haskell.lib.doJailbreak + curry-frontend = + (haskellPackages.override { + overrides = self: super: { + curry-frontend = lib.pipe (super.callPackage ./curry-frontend.nix { }) [ + haskell.lib.doJailbreak (haskell.lib.compose.overrideCabal (drv: { inherit src; postUnpack = "sourceRoot+=/frontend"; @@ -25,20 +41,27 @@ let (haskell.lib.compose.appendPatch # mtl 2.3 compatibility has been fixed upstream but it's not in # the release yet - (fetchpatch2 { - name = "fix-mtl-2.3.patch"; - url = "https://git.ps.informatik.uni-kiel.de/curry/curry-frontend/-/commit/3b26d2826141fee676da07939c2929a049279b70.diff"; - hash = "sha256-R3XjoUzAwTvDoUEAIIjmrSh2r4RHMqe00RMIs+7jFPY="; - })) + ( + fetchpatch2 { + name = "fix-mtl-2.3.patch"; + url = "https://git.ps.informatik.uni-kiel.de/curry/curry-frontend/-/commit/3b26d2826141fee676da07939c2929a049279b70.diff"; + hash = "sha256-R3XjoUzAwTvDoUEAIIjmrSh2r4RHMqe00RMIs+7jFPY="; + } + ) + ) ]; - }; - }).curry-frontend; + }; + }).curry-frontend; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version src; buildInputs = [ swi-prolog ]; - nativeBuildInputs = [ which makeWrapper ]; + nativeBuildInputs = [ + which + makeWrapper + ]; makeFlags = [ "CURRYFRONTEND=${curry-frontend}/bin/curry-frontend" @@ -56,7 +79,7 @@ in stdenv.mkDerivation { scripts/compile-all-libs.sh; do substituteInPlace $file --replace "/bin/rm" "rm" done - '' ; + ''; preBuild = '' mkdir -p $out/pakcs @@ -78,7 +101,16 @@ in stdenv.mkDerivation { # List of dependencies from currytools/cpm/src/CPM/Main.curry wrapProgram $out/pakcs/bin/cypm \ - --prefix PATH ":" "${lib.makeBinPath [ curl git unzip gnutar coreutils sqlite ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + curl + git + unzip + gnutar + coreutils + sqlite + ] + }" runHook postInstall ''; diff --git a/pkgs/development/compilers/polyml/5.6.nix b/pkgs/development/compilers/polyml/5.6.nix index ee841882833c5..1601669673ebe 100644 --- a/pkgs/development/compilers/polyml/5.6.nix +++ b/pkgs/development/compilers/polyml/5.6.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, autoreconfHook, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + fetchpatch, +}: let version = "5.6"; @@ -35,7 +41,8 @@ stdenv.mkDerivation { homepage = "https://www.polyml.org/"; license = lib.licenses.lgpl21; platforms = with lib.platforms; linux; - maintainers = [ #Add your name here! + maintainers = [ + # Add your name here! lib.maintainers.maggesi ]; }; diff --git a/pkgs/development/compilers/polyml/5.7.nix b/pkgs/development/compilers/polyml/5.7.nix index 471e8b2fd9f10..197a787594ea3 100644 --- a/pkgs/development/compilers/polyml/5.7.nix +++ b/pkgs/development/compilers/polyml/5.7.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gmp, + libffi, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "polyml"; @@ -18,7 +26,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ libffi gmp ]; + buildInputs = [ + libffi + gmp + ]; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin autoreconfHook; diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix index dd0d8f8c8e414..005605e9095af 100644 --- a/pkgs/development/compilers/ponyc/default.nix +++ b/pkgs/development/compilers/ponyc/default.nix @@ -113,25 +113,29 @@ stdenv.mkDerivation (rec { # make: *** [Makefile:222: test-full-programs-release] Killed: 9 doCheck = !stdenv.hostPlatform.isDarwin; - installPhase = '' - makeArgs=(config=release prefix=$out) - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - makeArgs+=(bits=64) - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && !lto) '' - makeArgs+=(lto=no) - '' + '' - make "''${makeArgs[@]}" install - wrapProgram $out/bin/ponyc \ - --prefix PATH ":" "${stdenv.cc}/bin" \ - --set-default CC "$CC" \ - --prefix PONYPATH : "${ - lib.makeLibraryPath [ - pcre2 - openssl - (placeholder "out") - ] - }" - ''; + installPhase = + '' + makeArgs=(config=release prefix=$out) + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + makeArgs+=(bits=64) + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && !lto) '' + makeArgs+=(lto=no) + '' + + '' + make "''${makeArgs[@]}" install + wrapProgram $out/bin/ponyc \ + --prefix PATH ":" "${stdenv.cc}/bin" \ + --set-default CC "$CC" \ + --prefix PONYPATH : "${ + lib.makeLibraryPath [ + pcre2 + openssl + (placeholder "out") + ] + }" + ''; # Stripping breaks linking for ponyc dontStrip = true; diff --git a/pkgs/development/compilers/ponyc/pony-corral.nix b/pkgs/development/compilers/ponyc/pony-corral.nix index 87dca22898f19..980b8e69d6666 100644 --- a/pkgs/development/compilers/ponyc/pony-corral.nix +++ b/pkgs/development/compilers/ponyc/pony-corral.nix @@ -33,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.ponylang.io"; changelog = "https://github.com/ponylang/corral/blob/${finalAttrs.version}/CHANGELOG.md"; license = licenses.bsd2; - maintainers = with maintainers; [ redvers numinit ]; + maintainers = with maintainers; [ + redvers + numinit + ]; inherit (ponyc.meta) platforms; }; }) diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index 8f88fed052eef..97000e8220ca7 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -1,4 +1,11 @@ -{ stdenv, pkgs, fetchurl, zlib, gmp, lib }: +{ + stdenv, + pkgs, + fetchurl, + zlib, + gmp, + lib, +}: # from justinwoo/easy-purescript-nix # https://github.com/justinwoo/easy-purescript-nix/blob/d383972c82620a712ead4033db14110497bc2c9c/purs.nix @@ -6,61 +13,69 @@ let dynamic-linker = stdenv.cc.bintools.dynamicLinker; - patchelf = libPath : + patchelf = + libPath: lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - chmod u+w $PURS - patchelf --interpreter ${dynamic-linker} --set-rpath ${libPath} $PURS - chmod u-w $PURS - ''; + chmod u+w $PURS + patchelf --interpreter ${dynamic-linker} --set-rpath ${libPath} $PURS + chmod u-w $PURS + ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "purescript"; version = "0.15.15"; # These hashes can be updated automatically by running the ./update.sh script. - src = let - url = "https://github.com/${pname}/${pname}/releases/download/v${version}/"; - sources = { - "x86_64-linux" = fetchurl { - url = url + "linux64.tar.gz"; - sha256 = "1w4jgjpfhaw3gkx9sna64lq9m030x49w4lwk01ik5ci0933imzj3"; + src = + let + url = "https://github.com/${pname}/${pname}/releases/download/v${version}/"; + sources = { + "x86_64-linux" = fetchurl { + url = url + "linux64.tar.gz"; + sha256 = "1w4jgjpfhaw3gkx9sna64lq9m030x49w4lwk01ik5ci0933imzj3"; + }; + "aarch64-linux" = fetchurl { + url = url + "linux-arm64.tar.gz"; + sha256 = "1ws5h337xq0l06zrs9010h6wj2hq5cqk5ikp9arq7hj7lxf43vn5"; + }; + "x86_64-darwin" = fetchurl { + url = url + "macos.tar.gz"; + sha256 = "178ix54k2yragcgn0j8z1cfa78s1qbh1bsx3v9jnngby8igr6yn3"; + }; + "aarch64-darwin" = fetchurl { + url = url + "macos-arm64.tar.gz"; + sha256 = "0bi231z1yhb7kjfn228wjkj6rv9lgpagz9f4djr2wy3kqgck4xg0"; + }; }; - "aarch64-linux" = fetchurl { - url = url + "linux-arm64.tar.gz"; - sha256 = "1ws5h337xq0l06zrs9010h6wj2hq5cqk5ikp9arq7hj7lxf43vn5"; - }; - "x86_64-darwin" = fetchurl { - url = url + "macos.tar.gz"; - sha256 = "178ix54k2yragcgn0j8z1cfa78s1qbh1bsx3v9jnngby8igr6yn3"; - }; - "aarch64-darwin" = fetchurl { - url = url + "macos-arm64.tar.gz"; - sha256 = "0bi231z1yhb7kjfn228wjkj6rv9lgpagz9f4djr2wy3kqgck4xg0"; - }; - }; - in + in sources.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - buildInputs = [ zlib gmp ]; + buildInputs = [ + zlib + gmp + ]; libPath = lib.makeLibraryPath buildInputs; dontStrip = true; - installPhase = '' - mkdir -p $out/bin - PURS="$out/bin/purs" + installPhase = + '' + mkdir -p $out/bin + PURS="$out/bin/purs" - install -D -m555 -T purs $PURS - ${patchelf libPath} - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - mkdir -p $out/share/bash-completion/completions - $PURS --bash-completion-script $PURS > $out/share/bash-completion/completions/purs-completion.bash - ''; + install -D -m555 -T purs $PURS + ${patchelf libPath} + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + mkdir -p $out/share/bash-completion/completions + $PURS --bash-completion-script $PURS > $out/share/bash-completion/completions/purs-completion.bash + ''; passthru = { updateScript = ./update.sh; tests = { - minimal-module = pkgs.callPackage ./test-minimal-module {}; + minimal-module = pkgs.callPackage ./test-minimal-module { }; }; }; @@ -69,8 +84,17 @@ in stdenv.mkDerivation rec { homepage = "https://www.purescript.org/"; license = licenses.bsd3; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ justinwoo mbbx6spp cdepillabout ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with maintainers; [ + justinwoo + mbbx6spp + cdepillabout + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "purs"; changelog = "https://github.com/purescript/purescript/releases/tag/v${version}"; }; diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix index 9bc694cd73f31..a8503e1b9aae8 100644 --- a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix +++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix @@ -1,6 +1,10 @@ -{ runCommand, purescript, nodejs }: +{ + runCommand, + purescript, + nodejs, +}: -runCommand "purescript-test-minimal-module" {} '' +runCommand "purescript-test-minimal-module" { } '' ${purescript}/bin/purs compile -o ./output ${./.}/Main.purs echo 'import {main} from "./output/Main/index.js"; main()' > node.mjs diff --git a/pkgs/development/compilers/reason/rtop.nix b/pkgs/development/compilers/reason/rtop.nix index 0255e57d5c47e..de47bcdad8545 100644 --- a/pkgs/development/compilers/reason/rtop.nix +++ b/pkgs/development/compilers/reason/rtop.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, reason, cppo, utop, makeWrapper }: +{ + buildDunePackage, + reason, + cppo, + utop, + makeWrapper, +}: buildDunePackage { pname = "rtop"; @@ -9,7 +15,10 @@ buildDunePackage { cppo ]; - propagatedBuildInputs = [ reason utop ]; + propagatedBuildInputs = [ + reason + utop + ]; postInstall = '' wrapProgram $out/bin/rtop \ diff --git a/pkgs/development/compilers/reason/tests/hello/default.nix b/pkgs/development/compilers/reason/tests/hello/default.nix index 42a0173a03be3..80f60afbafd3b 100644 --- a/pkgs/development/compilers/reason/tests/hello/default.nix +++ b/pkgs/development/compilers/reason/tests/hello/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, reason }: +{ + lib, + buildDunePackage, + reason, +}: buildDunePackage rec { pname = "helloreason"; diff --git a/pkgs/development/compilers/rml/default.nix b/pkgs/development/compilers/rml/default.nix index b2870cfb93d38..e5f0f64f80dd4 100644 --- a/pkgs/development/compilers/rml/default.nix +++ b/pkgs/development/compilers/rml/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, ocamlPackages +{ + lib, + stdenv, + fetchFromGitHub, + ocamlPackages, }: stdenv.mkDerivation rec { @@ -30,7 +31,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "ReactiveML: a programming language for implementing interactive systems"; homepage = "https://rml.lri.fr"; - license = with licenses; [ qpl lgpl21Plus ]; + license = with licenses; [ + qpl + lgpl21Plus + ]; maintainers = with maintainers; [ wegank ]; }; } diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix index df3b8f729f7f9..2e6aa5ca329f0 100644 --- a/pkgs/development/compilers/rust/binary.nix +++ b/pkgs/development/compilers/rust/binary.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, makeWrapper, wrapRustc, bash, curl, darwin, zlib -, autoPatchelfHook, gcc -, version -, src -, platform -, versionType +{ + lib, + stdenv, + makeWrapper, + wrapRustc, + bash, + curl, + darwin, + zlib, + autoPatchelfHook, + gcc, + version, + src, + platform, + versionType, }: let @@ -12,10 +21,7 @@ let bootstrapping = versionType == "bootstrap"; - installComponents - = "rustc,rust-std-${platform}" - + (optionalString bootstrapping ",cargo") - ; + installComponents = "rustc,rust-std-${platform}" + (optionalString bootstrapping ",cargo"); in rec { @@ -30,11 +36,15 @@ rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; description = "Safe, concurrent, practical language"; maintainers = with maintainers; [ qknight ]; - license = [ licenses.mit licenses.asl20 ]; + license = [ + licenses.mit + licenses.asl20 + ]; }; nativeBuildInputs = lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; - buildInputs = [ bash ] + buildInputs = + [ bash ] ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD) gcc.cc.lib ++ lib.optional (!stdenv.hostPlatform.isDarwin) zlib ++ lib.optional stdenv.hostPlatform.isDarwin Security; @@ -66,24 +76,47 @@ rec { tier1TargetPlatforms = [ # Platforms with host tools from # https://doc.rust-lang.org/nightly/rustc/platform-support.html - "x86_64-darwin" "i686-darwin" "aarch64-darwin" - "i686-freebsd" "x86_64-freebsd" + "x86_64-darwin" + "i686-darwin" + "aarch64-darwin" + "i686-freebsd" + "x86_64-freebsd" "x86_64-solaris" - "aarch64-linux" "armv6l-linux" "armv7l-linux" "i686-linux" - "loongarch64-linux" "powerpc64-linux" "powerpc64le-linux" - "riscv64-linux" "s390x-linux" "x86_64-linux" - "aarch64-netbsd" "armv7l-netbsd" "i686-netbsd" "powerpc-netbsd" + "aarch64-linux" + "armv6l-linux" + "armv7l-linux" + "i686-linux" + "loongarch64-linux" + "powerpc64-linux" + "powerpc64le-linux" + "riscv64-linux" + "s390x-linux" + "x86_64-linux" + "aarch64-netbsd" + "armv7l-netbsd" + "i686-netbsd" + "powerpc-netbsd" "x86_64-netbsd" - "i686-openbsd" "x86_64-openbsd" - "i686-windows" "x86_64-windows" + "i686-openbsd" + "x86_64-openbsd" + "i686-windows" + "x86_64-windows" ]; targetPlatforms = tier1TargetPlatforms ++ [ # Platforms without host tools from # https://doc.rust-lang.org/nightly/rustc/platform-support.html "armv7a-darwin" - "armv5tel-linux" "armv7a-linux" "m68k-linux" "mips-linux" - "mips64-linux" "mipsel-linux" "mips64el-linux" "riscv32-linux" - "armv6l-netbsd" "mipsel-netbsd" "riscv64-netbsd" + "armv5tel-linux" + "armv7a-linux" + "m68k-linux" + "mips-linux" + "mips64-linux" + "mipsel-linux" + "mips64el-linux" + "riscv32-linux" + "armv6l-netbsd" + "mipsel-netbsd" + "riscv64-netbsd" "x86_64-redox" "wasm32-wasi" ]; @@ -107,12 +140,17 @@ rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; description = "Rust package manager"; maintainers = with maintainers; [ qknight ]; - license = [ licenses.mit licenses.asl20 ]; + license = [ + licenses.mit + licenses.asl20 + ]; }; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; - buildInputs = [ bash ] + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; + buildInputs = + [ bash ] ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD) gcc.cc.lib ++ lib.optional stdenv.hostPlatform.isDarwin Security; diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index 97ac69270252d..e01dac1e94350 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -1,14 +1,21 @@ -{ stdenv, fetchurl, callPackage, version, hashes }: +{ + stdenv, + fetchurl, + callPackage, + version, + hashes, +}: let platform = stdenv.hostPlatform.rust.rustcTarget; src = fetchurl { - url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz"; - sha256 = hashes.${platform} or (throw "missing bootstrap url for platform ${platform}"); + url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz"; + sha256 = hashes.${platform} or (throw "missing bootstrap url for platform ${platform}"); }; -in callPackage ./binary.nix - { inherit version src platform; - versionType = "bootstrap"; - } +in +callPackage ./binary.nix { + inherit version src platform; + versionType = "bootstrap"; +} diff --git a/pkgs/development/compilers/rust/cargo-auditable-cargo-wrapper.nix b/pkgs/development/compilers/rust/cargo-auditable-cargo-wrapper.nix index 6e982aee01a33..420b3bc820526 100644 --- a/pkgs/development/compilers/rust/cargo-auditable-cargo-wrapper.nix +++ b/pkgs/development/compilers/rust/cargo-auditable-cargo-wrapper.nix @@ -1,24 +1,41 @@ -{ lib, runCommand, makeBinaryWrapper, rust-audit-info, cargo, cargo-auditable }: +{ + lib, + runCommand, + makeBinaryWrapper, + rust-audit-info, + cargo, + cargo-auditable, +}: if cargo-auditable.meta.broken then cargo else -runCommand "auditable-${cargo.name}" { - nativeBuildInputs = [ makeBinaryWrapper ]; + runCommand "auditable-${cargo.name}" + { + nativeBuildInputs = [ makeBinaryWrapper ]; - passthru.tests = runCommand "rust-audit-info-test" { - nativeBuildInputs = [ rust-audit-info ]; - } '' - rust-audit-info ${lib.getBin rust-audit-info}/bin/rust-audit-info > $out - ''; + passthru.tests = + runCommand "rust-audit-info-test" + { + nativeBuildInputs = [ rust-audit-info ]; + } + '' + rust-audit-info ${lib.getBin rust-audit-info}/bin/rust-audit-info > $out + ''; - meta = cargo-auditable.meta // { - mainProgram = "cargo"; - }; -} '' - mkdir -p $out/bin - makeWrapper ${cargo}/bin/cargo $out/bin/cargo \ - --set CARGO_AUDITABLE_IGNORE_UNSUPPORTED 1 \ - --prefix PATH : ${lib.makeBinPath [ cargo cargo-auditable ]} \ - --add-flags auditable -'' + meta = cargo-auditable.meta // { + mainProgram = "cargo"; + }; + } + '' + mkdir -p $out/bin + makeWrapper ${cargo}/bin/cargo $out/bin/cargo \ + --set CARGO_AUDITABLE_IGNORE_UNSUPPORTED 1 \ + --prefix PATH : ${ + lib.makeBinPath [ + cargo + cargo-auditable + ] + } \ + --add-flags auditable + '' diff --git a/pkgs/development/compilers/rust/cargo-auditable.nix b/pkgs/development/compilers/rust/cargo-auditable.nix index 0fa6098934c15..e058270319334 100644 --- a/pkgs/development/compilers/rust/cargo-auditable.nix +++ b/pkgs/development/compilers/rust/cargo-auditable.nix @@ -1,4 +1,12 @@ -{ lib, buildPackages, fetchFromGitHub, fetchpatch, makeRustPlatform, installShellFiles, stdenv }: +{ + lib, + buildPackages, + fetchFromGitHub, + fetchpatch, + makeRustPlatform, + installShellFiles, + stdenv, +}: let args = rec { @@ -27,7 +35,10 @@ let mainProgram = "cargo-auditable"; homepage = "https://github.com/rust-secure-code/cargo-auditable"; changelog = "https://github.com/rust-secure-code/cargo-auditable/blob/v${version}/cargo-auditable/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ figsoda ]; broken = stdenv.hostPlatform != stdenv.buildPlatform; }; @@ -40,21 +51,27 @@ let }; }; - bootstrap = rustPlatform.buildRustPackage (args // { - auditable = false; - }); + bootstrap = rustPlatform.buildRustPackage ( + args + // { + auditable = false; + } + ); in -rustPlatform.buildRustPackage.override { cargo-auditable = bootstrap; } (args // { - nativeBuildInputs = [ - installShellFiles - ]; +rustPlatform.buildRustPackage.override { cargo-auditable = bootstrap; } ( + args + // { + nativeBuildInputs = [ + installShellFiles + ]; - postInstall = '' - installManPage cargo-auditable/cargo-auditable.1 - ''; + postInstall = '' + installManPage cargo-auditable/cargo-auditable.1 + ''; - passthru = { - inherit bootstrap; - }; -}) + passthru = { + inherit bootstrap; + }; + } +) diff --git a/pkgs/development/compilers/rust/cargo_cross.nix b/pkgs/development/compilers/rust/cargo_cross.nix index ba7651e63bdbb..241fb8463f3bb 100644 --- a/pkgs/development/compilers/rust/cargo_cross.nix +++ b/pkgs/development/compilers/rust/cargo_cross.nix @@ -1,14 +1,24 @@ -{ runCommand, stdenv, lib, pkgsBuildBuild, makeShellWrapper, rustc, ... }: +{ + runCommand, + stdenv, + lib, + pkgsBuildBuild, + makeShellWrapper, + rustc, + ... +}: -runCommand "${stdenv.targetPlatform.config}-cargo-${lib.getVersion pkgsBuildBuild.cargo}" { - # Use depsBuildBuild or it tries to use target-runtimeShell - depsBuildBuild = [ makeShellWrapper ]; +runCommand "${stdenv.targetPlatform.config}-cargo-${lib.getVersion pkgsBuildBuild.cargo}" + { + # Use depsBuildBuild or it tries to use target-runtimeShell + depsBuildBuild = [ makeShellWrapper ]; - inherit (pkgsBuildBuild.cargo) meta; -} '' - mkdir -p $out/bin - ln -s ${pkgsBuildBuild.cargo}/share $out/share + inherit (pkgsBuildBuild.cargo) meta; + } + '' + mkdir -p $out/bin + ln -s ${pkgsBuildBuild.cargo}/share $out/share - makeWrapper "${pkgsBuildBuild.cargo}/bin/cargo" "$out/bin/cargo" \ - --prefix PATH : "${rustc}/bin" - '' + makeWrapper "${pkgsBuildBuild.cargo}/bin/cargo" "$out/bin/cargo" \ + --prefix PATH : "${rustc}/bin" + '' diff --git a/pkgs/development/compilers/rust/clippy.nix b/pkgs/development/compilers/rust/clippy.nix index 6a233ffe18520..42b285cd72ab6 100644 --- a/pkgs/development/compilers/rust/clippy.nix +++ b/pkgs/development/compilers/rust/clippy.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, rustPlatform, rustc, Security }: +{ + stdenv, + lib, + rustPlatform, + rustc, + Security, +}: rustPlatform.buildRustPackage { pname = "clippy"; @@ -13,8 +19,7 @@ rustPlatform.buildRustPackage { # changes hash of vendor directory otherwise dontUpdateAutotoolsGnuConfigScripts = true; - buildInputs = [ rustc.llvm ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + buildInputs = [ rustc.llvm ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; # fixes: error: the option `Z` is only accepted on the nightly compiler RUSTC_BOOTSTRAP = 1; @@ -40,7 +45,10 @@ rustPlatform.buildRustPackage { description = "Bunch of lints to catch common mistakes and improve your Rust code"; mainProgram = "cargo-clippy"; maintainers = with maintainers; [ basvandijk ] ++ teams.rust.members; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 41380005e196b..dfe97ead03ca5 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -1,10 +1,20 @@ -{ lib, buildPackages, callPackage, callPackages, cargo-auditable, config, stdenv, runCommand }@prev: +{ + lib, + buildPackages, + callPackage, + callPackages, + cargo-auditable, + config, + stdenv, + runCommand, +}@prev: -{ rustc -, cargo -, cargo-auditable ? prev.cargo-auditable -, stdenv ? prev.stdenv -, ... +{ + rustc, + cargo, + cargo-auditable ? prev.cargo-auditable, + stdenv ? prev.stdenv, + ... }: rec { @@ -13,14 +23,30 @@ rec { inherit cargo; }; - fetchCargoVendor = buildPackages.callPackage ../../../build-support/rust/fetch-cargo-vendor.nix { inherit cargo; }; + fetchCargoVendor = buildPackages.callPackage ../../../build-support/rust/fetch-cargo-vendor.nix { + inherit cargo; + }; buildRustPackage = callPackage ../../../build-support/rust/build-rust-package { - inherit stdenv cargoBuildHook cargoCheckHook cargoInstallHook cargoNextestHook cargoSetupHook - fetchCargoTarball fetchCargoVendor importCargoLock rustc cargo cargo-auditable; + inherit + stdenv + cargoBuildHook + cargoCheckHook + cargoInstallHook + cargoNextestHook + cargoSetupHook + fetchCargoTarball + fetchCargoVendor + importCargoLock + rustc + cargo + cargo-auditable + ; }; - importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix { inherit cargo; }; + importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix { + inherit cargo; + }; rustcSrc = callPackage ./rust-src.nix { inherit runCommand rustc; @@ -31,10 +57,20 @@ rec { }; # Hooks - inherit (callPackages ../../../build-support/rust/hooks { - inherit stdenv cargo rustc; - }) cargoBuildHook cargoCheckHook cargoInstallHook cargoNextestHook cargoSetupHook maturinBuildHook bindgenHook; -} // lib.optionalAttrs config.allowAliases { + inherit + (callPackages ../../../build-support/rust/hooks { + inherit stdenv cargo rustc; + }) + cargoBuildHook + cargoCheckHook + cargoInstallHook + cargoNextestHook + cargoSetupHook + maturinBuildHook + bindgenHook + ; +} +// lib.optionalAttrs config.allowAliases { rust = { rustc = lib.warn "rustPlatform.rust.rustc is deprecated. Use rustc instead." rustc; cargo = lib.warn "rustPlatform.rust.cargo is deprecated. Use cargo instead." cargo; diff --git a/pkgs/development/compilers/rust/rust-src.nix b/pkgs/development/compilers/rust/rust-src.nix index 69bdb37ac2fdb..dfc82e35c01d5 100644 --- a/pkgs/development/compilers/rust/rust-src.nix +++ b/pkgs/development/compilers/rust/rust-src.nix @@ -1,21 +1,31 @@ -{ lib, runCommand, rustc, minimalContent ? true }: +{ + lib, + runCommand, + rustc, + minimalContent ? true, +}: runCommand "rust-src" { } '' tar -xzf ${rustc.src} mv rustc-${rustc.version}-src $out - rm -rf $out/{${lib.concatStringsSep "," ([ - "ci" - "doc" - "etc" - "grammar" - "llvm-project" - "llvm-emscripten" - "rtstartup" - "rustllvm" - "test" - "vendor" - ] ++ lib.optionals minimalContent [ - "tools" - "stdarch" - ])}} + rm -rf $out/{${ + lib.concatStringsSep "," ( + [ + "ci" + "doc" + "etc" + "grammar" + "llvm-project" + "llvm-emscripten" + "rtstartup" + "rustllvm" + "test" + "vendor" + ] + ++ lib.optionals minimalContent [ + "tools" + "stdarch" + ] + ) + }} '' diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 0e999407c9d06..2641755a86d46 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,32 +1,60 @@ -{ lib, stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, targetPackages -, llvmShared, llvmSharedForBuild, llvmSharedForHost, llvmSharedForTarget, llvmPackages -, runCommandLocal, fetchurl, file, python3 -, darwin, cargo, cmake, rustc, rustfmt -, pkg-config, openssl, xz, zlib -, bintools -, libiconv -, which, libffi -, withBundledLLVM ? false -, enableRustcDev ? true -, version -, sha256 -, patches ? [] -, fd -, ripgrep -, wezterm -, firefox -, thunderbird -# This only builds std for target and reuses the rustc from build. -, fastCross -, lndir -, makeWrapper +{ + lib, + stdenv, + removeReferencesTo, + pkgsBuildBuild, + pkgsBuildHost, + pkgsBuildTarget, + targetPackages, + llvmShared, + llvmSharedForBuild, + llvmSharedForHost, + llvmSharedForTarget, + llvmPackages, + runCommandLocal, + fetchurl, + file, + python3, + darwin, + cargo, + cmake, + rustc, + rustfmt, + pkg-config, + openssl, + xz, + zlib, + bintools, + libiconv, + which, + libffi, + withBundledLLVM ? false, + enableRustcDev ? true, + version, + sha256, + patches ? [ ], + fd, + ripgrep, + wezterm, + firefox, + thunderbird, + # This only builds std for target and reuses the rustc from build. + fastCross, + lndir, + makeWrapper, }: let - inherit (lib) optionals optional optionalString concatStringsSep; + inherit (lib) + optionals + optional + optionalString + concatStringsSep + ; inherit (darwin.apple_sdk.frameworks) Security; useLLVM = stdenv.targetPlatform.useLLVM or false; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "${targetPackages.stdenv.cc.targetPrefix}rustc"; inherit version; @@ -61,20 +89,24 @@ in stdenv.mkDerivation (finalAttrs: { # but it does support checking these idiosyncratic PKG_CONFIG_${TRIPLE} # environment variables. # [1]: https://github.com/rust-lang/pkg-config-rs/issues/53 - "PKG_CONFIG_${builtins.replaceStrings ["-"] ["_"] stdenv.buildPlatform.rust.rustcTarget}" = + "PKG_CONFIG_${builtins.replaceStrings [ "-" ] [ "_" ] stdenv.buildPlatform.rust.rustcTarget}" = "${pkgsBuildHost.stdenv.cc.targetPrefix}pkg-config"; NIX_LDFLAGS = toString ( - # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch' - # This doesn't apply to cross-building for FreeBSD because the host - # uses libstdc++, but the target (used for building std) uses libc++ - optional (stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && !useLLVM) - "--push-state --as-needed -lstdc++ --pop-state" - ++ optional (stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && useLLVM) + # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch' + # This doesn't apply to cross-building for FreeBSD because the host + # uses libstdc++, but the target (used for building std) uses libc++ + optional ( + stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && !useLLVM + ) "--push-state --as-needed -lstdc++ --pop-state" + ++ + optional + (stdenv.hostPlatform.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && useLLVM) "--push-state --as-needed -L${llvmPackages.libcxx}/lib -lc++ -lc++abi -lLLVM-${lib.versions.major llvmPackages.llvm.version} --pop-state" ++ optional (stdenv.hostPlatform.isDarwin && !withBundledLLVM) "-lc++ -lc++abi" ++ optional stdenv.hostPlatform.isFreeBSD "-rpath ${llvmPackages.libunwind}/lib" - ++ optional stdenv.hostPlatform.isDarwin "-rpath ${llvmSharedForHost.lib}/lib"); + ++ optional stdenv.hostPlatform.isDarwin "-rpath ${llvmSharedForHost.lib}/lib" + ); # Increase codegen units to introduce parallelism within the compiler. RUSTFLAGS = "-Ccodegen-units=10"; @@ -82,105 +114,129 @@ in stdenv.mkDerivation (finalAttrs: { # We need rust to build rust. If we don't provide it, configure will try to download it. # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py - configureFlags = let - prefixForStdenv = stdenv: "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}"; - ccPrefixForStdenv = stdenv: "${prefixForStdenv stdenv}${if (stdenv.cc.isClang or false) then "clang" else "cc"}"; - cxxPrefixForStdenv = stdenv: "${prefixForStdenv stdenv}${if (stdenv.cc.isClang or false) then "clang++" else "c++"}"; - setBuild = "--set=target.${stdenv.buildPlatform.rust.rustcTarget}"; - setHost = "--set=target.${stdenv.hostPlatform.rust.rustcTarget}"; - setTarget = "--set=target.${stdenv.targetPlatform.rust.rustcTarget}"; - ccForBuild = ccPrefixForStdenv pkgsBuildBuild.targetPackages.stdenv; - cxxForBuild = cxxPrefixForStdenv pkgsBuildBuild.targetPackages.stdenv; - ccForHost = ccPrefixForStdenv pkgsBuildHost.targetPackages.stdenv; - cxxForHost = cxxPrefixForStdenv pkgsBuildHost.targetPackages.stdenv; - ccForTarget = ccPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv; - cxxForTarget = cxxPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv; - in [ - "--sysconfdir=${placeholder "out"}/etc" - "--release-channel=stable" - "--set=build.rustc=${rustc}/bin/rustc" - "--set=build.cargo=${cargo}/bin/cargo" - ] ++ lib.optionals (!(finalAttrs.src.passthru.isReleaseTarball or false)) [ - # release tarballs vendor the rustfmt source; when - # git-bisect'ing from upstream's git repo we must prevent - # attempts to download the missing source tarball - "--set=build.rustfmt=${rustfmt}/bin/rustfmt" - ] ++ [ - "--tools=rustc,rustdoc,rust-analyzer-proc-macro-srv" - "--enable-rpath" - "--enable-vendor" - # For Nixpkgs it makes more sense to use stdenv's linker than - # letting rustc build its own. - "--disable-lld" - "--build=${stdenv.buildPlatform.rust.rustcTargetSpec}" - "--host=${stdenv.hostPlatform.rust.rustcTargetSpec}" - # std is built for all platforms in --target. - "--target=${concatStringsSep "," ([ - stdenv.targetPlatform.rust.rustcTargetSpec - - # Other targets that don't need any extra dependencies to build. - ] ++ optionals (!fastCross) [ - "wasm32-unknown-unknown" - - # (build!=target): When cross-building a compiler we need to add - # the build platform as well so rustc can compile build.rs - # scripts. - ] ++ optionals (stdenv.buildPlatform != stdenv.targetPlatform && !fastCross) [ - stdenv.buildPlatform.rust.rustcTargetSpec - - # (host!=target): When building a cross-targeting compiler we - # need to add the host platform as well so rustc can compile - # build.rs scripts. - ] ++ optionals (stdenv.hostPlatform != stdenv.targetPlatform && !fastCross) [ - stdenv.hostPlatform.rust.rustcTargetSpec - ])}" - - "${setBuild}.cc=${ccForBuild}" - "${setHost}.cc=${ccForHost}" - "${setTarget}.cc=${ccForTarget}" - - "${setBuild}.linker=${ccForBuild}" - "${setHost}.linker=${ccForHost}" - "${setTarget}.linker=${ccForTarget}" - - "${setBuild}.cxx=${cxxForBuild}" - "${setHost}.cxx=${cxxForHost}" - "${setTarget}.cxx=${cxxForTarget}" - - "${setBuild}.crt-static=${lib.boolToString stdenv.buildPlatform.isStatic}" - "${setHost}.crt-static=${lib.boolToString stdenv.hostPlatform.isStatic}" - "${setTarget}.crt-static=${lib.boolToString stdenv.targetPlatform.isStatic}" - ] ++ optionals (!withBundledLLVM) [ - "--enable-llvm-link-shared" - "${setBuild}.llvm-config=${llvmSharedForBuild.dev}/bin/llvm-config" - "${setHost}.llvm-config=${llvmSharedForHost.dev}/bin/llvm-config" - "${setTarget}.llvm-config=${llvmSharedForTarget.dev}/bin/llvm-config" - ] ++ optionals fastCross [ - # Since fastCross only builds std, it doesn't make sense (and - # doesn't work) to build a linker. - "--disable-llvm-bitcode-linker" - ] ++ optionals (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) [ - "--enable-profiler" # build libprofiler_builtins - ] ++ optionals stdenv.buildPlatform.isMusl [ - "${setBuild}.musl-root=${pkgsBuildBuild.targetPackages.stdenv.cc.libc}" - ] ++ optionals stdenv.hostPlatform.isMusl [ - "${setHost}.musl-root=${pkgsBuildHost.targetPackages.stdenv.cc.libc}" - ] ++ optionals stdenv.targetPlatform.isMusl [ - "${setTarget}.musl-root=${pkgsBuildTarget.targetPackages.stdenv.cc.libc}" - ] ++ optionals stdenv.targetPlatform.rust.isNoStdTarget [ - "--disable-docs" - ] ++ optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - # https://github.com/rust-lang/rust/issues/92173 - "--set rust.jemalloc" - ] ++ optionals (useLLVM && !stdenv.targetPlatform.isFreeBSD) [ - # https://github.com/NixOS/nixpkgs/issues/311930 - "--llvm-libunwind=${if withBundledLLVM then "in-tree" else "system"}" - "--enable-use-libcxx" - ]; + configureFlags = + let + prefixForStdenv = stdenv: "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}"; + ccPrefixForStdenv = + stdenv: "${prefixForStdenv stdenv}${if (stdenv.cc.isClang or false) then "clang" else "cc"}"; + cxxPrefixForStdenv = + stdenv: "${prefixForStdenv stdenv}${if (stdenv.cc.isClang or false) then "clang++" else "c++"}"; + setBuild = "--set=target.${stdenv.buildPlatform.rust.rustcTarget}"; + setHost = "--set=target.${stdenv.hostPlatform.rust.rustcTarget}"; + setTarget = "--set=target.${stdenv.targetPlatform.rust.rustcTarget}"; + ccForBuild = ccPrefixForStdenv pkgsBuildBuild.targetPackages.stdenv; + cxxForBuild = cxxPrefixForStdenv pkgsBuildBuild.targetPackages.stdenv; + ccForHost = ccPrefixForStdenv pkgsBuildHost.targetPackages.stdenv; + cxxForHost = cxxPrefixForStdenv pkgsBuildHost.targetPackages.stdenv; + ccForTarget = ccPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv; + cxxForTarget = cxxPrefixForStdenv pkgsBuildTarget.targetPackages.stdenv; + in + [ + "--sysconfdir=${placeholder "out"}/etc" + "--release-channel=stable" + "--set=build.rustc=${rustc}/bin/rustc" + "--set=build.cargo=${cargo}/bin/cargo" + ] + ++ lib.optionals (!(finalAttrs.src.passthru.isReleaseTarball or false)) [ + # release tarballs vendor the rustfmt source; when + # git-bisect'ing from upstream's git repo we must prevent + # attempts to download the missing source tarball + "--set=build.rustfmt=${rustfmt}/bin/rustfmt" + ] + ++ [ + "--tools=rustc,rustdoc,rust-analyzer-proc-macro-srv" + "--enable-rpath" + "--enable-vendor" + # For Nixpkgs it makes more sense to use stdenv's linker than + # letting rustc build its own. + "--disable-lld" + "--build=${stdenv.buildPlatform.rust.rustcTargetSpec}" + "--host=${stdenv.hostPlatform.rust.rustcTargetSpec}" + # std is built for all platforms in --target. + "--target=${ + concatStringsSep "," ( + [ + stdenv.targetPlatform.rust.rustcTargetSpec + + # Other targets that don't need any extra dependencies to build. + ] + ++ optionals (!fastCross) [ + "wasm32-unknown-unknown" + + # (build!=target): When cross-building a compiler we need to add + # the build platform as well so rustc can compile build.rs + # scripts. + ] + ++ optionals (stdenv.buildPlatform != stdenv.targetPlatform && !fastCross) [ + stdenv.buildPlatform.rust.rustcTargetSpec + + # (host!=target): When building a cross-targeting compiler we + # need to add the host platform as well so rustc can compile + # build.rs scripts. + ] + ++ optionals (stdenv.hostPlatform != stdenv.targetPlatform && !fastCross) [ + stdenv.hostPlatform.rust.rustcTargetSpec + ] + ) + }" + + "${setBuild}.cc=${ccForBuild}" + "${setHost}.cc=${ccForHost}" + "${setTarget}.cc=${ccForTarget}" + + "${setBuild}.linker=${ccForBuild}" + "${setHost}.linker=${ccForHost}" + "${setTarget}.linker=${ccForTarget}" + + "${setBuild}.cxx=${cxxForBuild}" + "${setHost}.cxx=${cxxForHost}" + "${setTarget}.cxx=${cxxForTarget}" + + "${setBuild}.crt-static=${lib.boolToString stdenv.buildPlatform.isStatic}" + "${setHost}.crt-static=${lib.boolToString stdenv.hostPlatform.isStatic}" + "${setTarget}.crt-static=${lib.boolToString stdenv.targetPlatform.isStatic}" + ] + ++ optionals (!withBundledLLVM) [ + "--enable-llvm-link-shared" + "${setBuild}.llvm-config=${llvmSharedForBuild.dev}/bin/llvm-config" + "${setHost}.llvm-config=${llvmSharedForHost.dev}/bin/llvm-config" + "${setTarget}.llvm-config=${llvmSharedForTarget.dev}/bin/llvm-config" + ] + ++ optionals fastCross [ + # Since fastCross only builds std, it doesn't make sense (and + # doesn't work) to build a linker. + "--disable-llvm-bitcode-linker" + ] + ++ optionals (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) [ + "--enable-profiler" # build libprofiler_builtins + ] + ++ optionals stdenv.buildPlatform.isMusl [ + "${setBuild}.musl-root=${pkgsBuildBuild.targetPackages.stdenv.cc.libc}" + ] + ++ optionals stdenv.hostPlatform.isMusl [ + "${setHost}.musl-root=${pkgsBuildHost.targetPackages.stdenv.cc.libc}" + ] + ++ optionals stdenv.targetPlatform.isMusl [ + "${setTarget}.musl-root=${pkgsBuildTarget.targetPackages.stdenv.cc.libc}" + ] + ++ optionals stdenv.targetPlatform.rust.isNoStdTarget [ + "--disable-docs" + ] + ++ optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # https://github.com/rust-lang/rust/issues/92173 + "--set rust.jemalloc" + ] + ++ optionals (useLLVM && !stdenv.targetPlatform.isFreeBSD) [ + # https://github.com/NixOS/nixpkgs/issues/311930 + "--llvm-libunwind=${if withBundledLLVM then "in-tree" else "system"}" + "--enable-use-libcxx" + ]; # if we already have a rust compiler for build just compile the target std # library and reuse compiler - buildPhase = if fastCross then " + buildPhase = + if fastCross then + " runHook preBuild mkdir -p build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-{std,rustc}/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/ @@ -192,110 +248,145 @@ in stdenv.mkDerivation (finalAttrs: { python ./x.py --keep-stage=0 --stage=1 build library runHook postBuild - " else null; - - installPhase = if fastCross then '' - runHook preInstall - - python ./x.py --keep-stage=0 --stage=1 install library/std - mkdir -v $out/bin $doc $man - ln -s ${rustc.unwrapped}/bin/{rustc,rustdoc} $out/bin - rm -rf -v $out/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} - ln -s ${rustc.unwrapped}/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} $out/lib/rustlib/ - echo rust-std-${stdenv.hostPlatform.rust.rustcTargetSpec} >> $out/lib/rustlib/components - lndir ${rustc.doc} $doc - lndir ${rustc.man} $man - - runHook postInstall - '' else null; + " + else + null; + + installPhase = + if fastCross then + '' + runHook preInstall + + python ./x.py --keep-stage=0 --stage=1 install library/std + mkdir -v $out/bin $doc $man + ln -s ${rustc.unwrapped}/bin/{rustc,rustdoc} $out/bin + rm -rf -v $out/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} + ln -s ${rustc.unwrapped}/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} $out/lib/rustlib/ + echo rust-std-${stdenv.hostPlatform.rust.rustcTargetSpec} >> $out/lib/rustlib/components + lndir ${rustc.doc} $doc + lndir ${rustc.man} $man + + runHook postInstall + '' + else + null; # the rust build system complains that nix alters the checksums dontFixLibtool = true; inherit patches; - postPatch = '' - patchShebangs src/etc - - # rust-lld is the name rustup uses for its bundled lld, so that it - # doesn't conflict with any system lld. This is not an - # appropriate default for Nixpkgs, where there is no rust-lld. - substituteInPlace compiler/rustc_target/src/spec/*/*.rs \ - --replace-quiet '"rust-lld"' '"lld"' - - ${optionalString (!withBundledLLVM) "rm -rf src/llvm"} - - # Useful debugging parameter - # export VERBOSE=1 - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' - # See https://github.com/jemalloc/jemalloc/issues/1997 - # Using a value of 48 should work on both emulated and native x86_64-darwin. - export JEMALLOC_SYS_WITH_LG_VADDR=48 - '' + lib.optionalString (!(finalAttrs.src.passthru.isReleaseTarball or false)) '' - mkdir .cargo - cat > .cargo/config.toml <<\EOF - [source.crates-io] - replace-with = "vendored-sources" - [source.vendored-sources] - directory = "vendor" - EOF - '' + lib.optionalString (stdenv.hostPlatform.isFreeBSD) '' - # lzma-sys bundles an old version of xz that doesn't build - # on modern FreeBSD, use the system one instead - substituteInPlace src/bootstrap/src/core/build_steps/tool.rs \ - --replace 'cargo.env("LZMA_API_STATIC", "1");' ' ' - ''; + postPatch = + '' + patchShebangs src/etc + + # rust-lld is the name rustup uses for its bundled lld, so that it + # doesn't conflict with any system lld. This is not an + # appropriate default for Nixpkgs, where there is no rust-lld. + substituteInPlace compiler/rustc_target/src/spec/*/*.rs \ + --replace-quiet '"rust-lld"' '"lld"' + + ${optionalString (!withBundledLLVM) "rm -rf src/llvm"} + + # Useful debugging parameter + # export VERBOSE=1 + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' + # See https://github.com/jemalloc/jemalloc/issues/1997 + # Using a value of 48 should work on both emulated and native x86_64-darwin. + export JEMALLOC_SYS_WITH_LG_VADDR=48 + '' + + lib.optionalString (!(finalAttrs.src.passthru.isReleaseTarball or false)) '' + mkdir .cargo + cat > .cargo/config.toml <<\EOF + [source.crates-io] + replace-with = "vendored-sources" + [source.vendored-sources] + directory = "vendor" + EOF + '' + + lib.optionalString (stdenv.hostPlatform.isFreeBSD) '' + # lzma-sys bundles an old version of xz that doesn't build + # on modern FreeBSD, use the system one instead + substituteInPlace src/bootstrap/src/core/build_steps/tool.rs \ + --replace 'cargo.env("LZMA_API_STATIC", "1");' ' ' + ''; # rustc unfortunately needs cmake to compile llvm-rt but doesn't # use it for the normal build. This disables cmake in Nix. dontUseCmakeConfigure = true; - depsBuildBuild = [ pkgsBuildHost.stdenv.cc pkg-config ]; + depsBuildBuild = [ + pkgsBuildHost.stdenv.cc + pkg-config + ]; depsBuildTarget = lib.optionals stdenv.targetPlatform.isMinGW [ bintools ]; - nativeBuildInputs = [ - file python3 rustc cmake - which libffi removeReferencesTo pkg-config xz - ] - ++ optionals fastCross [ lndir makeWrapper ]; + nativeBuildInputs = + [ + file + python3 + rustc + cmake + which + libffi + removeReferencesTo + pkg-config + xz + ] + ++ optionals fastCross [ + lndir + makeWrapper + ]; - buildInputs = [ openssl ] - ++ optionals stdenv.hostPlatform.isDarwin [ libiconv Security zlib ] + buildInputs = + [ openssl ] + ++ optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + zlib + ] ++ optional (!withBundledLLVM) llvmShared.lib ++ optional (useLLVM && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD) [ llvmPackages.libunwind # Hack which is used upstream https://github.com/gentoo/gentoo/blob/master/dev-lang/rust/rust-1.78.0.ebuild#L284 - (runCommandLocal "libunwind-libgcc" {} '' + (runCommandLocal "libunwind-libgcc" { } '' mkdir -p $out/lib ln -s ${llvmPackages.libunwind}/lib/libunwind.so $out/lib/libgcc_s.so ln -s ${llvmPackages.libunwind}/lib/libunwind.so $out/lib/libgcc_s.so.1 '') ]; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; setOutputFlags = false; - postInstall = lib.optionalString (enableRustcDev && !fastCross) '' - # install rustc-dev components. Necessary to build rls, clippy... - python x.py dist rustc-dev - tar xf build/dist/rustc-dev*tar.gz - cp -r rustc-dev*/rustc-dev*/lib/* $out/lib/ - rm $out/lib/rustlib/install.log - for m in $out/lib/rustlib/manifest-rust* - do - sort --output=$m < $m - done - - '' + '' - # remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so - # and thus a transitive dependency on ncurses - find $out/lib -name "*.so" -type f -exec remove-references-to -t ${llvmShared} '{}' '+' - - # remove uninstall script that doesn't really make sense for Nix. - rm $out/lib/rustlib/uninstall.sh - ''; - - configurePlatforms = []; + postInstall = + lib.optionalString (enableRustcDev && !fastCross) '' + # install rustc-dev components. Necessary to build rls, clippy... + python x.py dist rustc-dev + tar xf build/dist/rustc-dev*tar.gz + cp -r rustc-dev*/rustc-dev*/lib/* $out/lib/ + rm $out/lib/rustlib/install.log + for m in $out/lib/rustlib/manifest-rust* + do + sort --output=$m < $m + done + + '' + + '' + # remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so + # and thus a transitive dependency on ncurses + find $out/lib -name "*.so" -type f -exec remove-references-to -t ${llvmShared} '{}' '+' + + # remove uninstall script that doesn't really make sense for Nix. + rm $out/lib/rustlib/uninstall.sh + ''; + + configurePlatforms = [ ]; enableParallelBuilding = true; @@ -316,7 +407,10 @@ in stdenv.mkDerivation (finalAttrs: { homepage = "https://www.rust-lang.org/"; description = "Safe, concurrent, practical language"; maintainers = with maintainers; [ havvy ] ++ teams.rust.members; - license = [ licenses.mit licenses.asl20 ]; + license = [ + licenses.mit + licenses.asl20 + ]; platforms = rustc.tier1TargetPlatforms; # If rustc can't target a platform, we also can't build rustc for # that platform. diff --git a/pkgs/development/compilers/rust/rustfmt.nix b/pkgs/development/compilers/rust/rustfmt.nix index 42c71513151a6..05ead37f67d3e 100644 --- a/pkgs/development/compilers/rust/rustfmt.nix +++ b/pkgs/development/compilers/rust/rustfmt.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, rustPlatform, rustc, Security, asNightly ? false }: +{ + lib, + stdenv, + rustPlatform, + rustc, + Security, + asNightly ? false, +}: rustPlatform.buildRustPackage rec { pname = "rustfmt" + lib.optionalString asNightly "-nightly"; @@ -37,8 +44,14 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Tool for formatting Rust code according to style guidelines"; homepage = "https://github.com/rust-lang-nursery/rustfmt"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; mainProgram = "rustfmt"; - maintainers = with maintainers; [ globin basvandijk ]; + maintainers = with maintainers; [ + globin + basvandijk + ]; }; } diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix index 6f9b75c1183c4..c60a5e135f6bb 100644 --- a/pkgs/development/compilers/sbcl/bootstrap.nix +++ b/pkgs/development/compilers/sbcl/bootstrap.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, makeWrapper, cfg }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + cfg, +}: stdenv.mkDerivation rec { pname = "sbcl-bootstrap"; diff --git a/pkgs/development/compilers/scala-runners/default.nix b/pkgs/development/compilers/scala-runners/default.nix index bc0756e0c11ce..9bdf63cdaf447 100644 --- a/pkgs/development/compilers/scala-runners/default.nix +++ b/pkgs/development/compilers/scala-runners/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, coursier }: +{ + stdenv, + lib, + fetchFromGitHub, + coursier, +}: stdenv.mkDerivation rec { pname = "scala-runners"; diff --git a/pkgs/development/compilers/scala/2.x.nix b/pkgs/development/compilers/scala/2.x.nix index d79e946ec7dec..0ed9ccb5cc016 100644 --- a/pkgs/development/compilers/scala/2.x.nix +++ b/pkgs/development/compilers/scala/2.x.nix @@ -1,5 +1,19 @@ -{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, writeScript -, common-updater-scripts, git, gnused, nix, nixfmt-classic, majorVersion }: +{ + stdenv, + lib, + fetchurl, + makeWrapper, + jre, + gnugrep, + coreutils, + writeScript, + common-updater-scripts, + git, + gnused, + nix, + nixfmt-classic, + majorVersion, +}: let repo = "git@github.com:scala/scala.git"; @@ -30,7 +44,8 @@ let }; }; -in with versionMap.${majorVersion}; +in +with versionMap.${majorVersion}; stdenv.mkDerivation rec { inherit version; @@ -114,6 +129,9 @@ stdenv.mkDerivation rec { license = licenses.bsd3; platforms = platforms.all; branch = versions.majorMinor version; - maintainers = with maintainers; [ nequissimus kashw2 ]; + maintainers = with maintainers; [ + nequissimus + kashw2 + ]; }; } diff --git a/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix b/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix index ccbc7d871e8a4..323918d5327e6 100644 --- a/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix +++ b/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix @@ -1,5 +1,8 @@ args: -import ../temurin-bin/jdk-darwin-base.nix ({ - name-prefix = "semeru"; - brand-name = "IBM Semeru Runtime"; -} // args) +import ../temurin-bin/jdk-darwin-base.nix ( + { + name-prefix = "semeru"; + brand-name = "IBM Semeru Runtime"; + } + // args +) diff --git a/pkgs/development/compilers/semeru-bin/jdk-darwin.nix b/pkgs/development/compilers/semeru-bin/jdk-darwin.nix index 0f6e9ca002f8b..e496be7e47edc 100644 --- a/pkgs/development/compilers/semeru-bin/jdk-darwin.nix +++ b/pkgs/development/compilers/semeru-bin/jdk-darwin.nix @@ -2,10 +2,10 @@ let sources = (lib.importJSON ./sources.json).openj9.mac; - common = opts: callPackage (import ./jdk-darwin-base.nix opts) {}; + common = opts: callPackage (import ./jdk-darwin-base.nix opts) { }; - # EOL = [ "This JDK/JRE version has reached End of Life." ]; in +# EOL = [ "This JDK/JRE version has reached End of Life." ]; { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; jre-8 = common { sourcePerArch = sources.jre.openjdk8; }; diff --git a/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix b/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix index 41879ea886817..2eff1578fc31c 100644 --- a/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix @@ -1,5 +1,8 @@ args: -import ../temurin-bin/jdk-linux-base.nix ({ - name-prefix = "semeru"; - brand-name = "IBM Semeru Runtime"; -} // args) +import ../temurin-bin/jdk-linux-base.nix ( + { + name-prefix = "semeru"; + brand-name = "IBM Semeru Runtime"; + } + // args +) diff --git a/pkgs/development/compilers/semeru-bin/jdk-linux.nix b/pkgs/development/compilers/semeru-bin/jdk-linux.nix index 16f14de26209e..8044e7de8c6ee 100644 --- a/pkgs/development/compilers/semeru-bin/jdk-linux.nix +++ b/pkgs/development/compilers/semeru-bin/jdk-linux.nix @@ -2,10 +2,10 @@ let sources = (lib.importJSON ./sources.json).openj9.linux; - common = opts: callPackage (import ./jdk-linux-base.nix opts) {}; + common = opts: callPackage (import ./jdk-linux-base.nix opts) { }; - # EOL = [ "This JDK/JRE version has reached End of Life." ]; in +# EOL = [ "This JDK/JRE version has reached End of Life." ]; { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; jre-8 = common { sourcePerArch = sources.jre.openjdk8; }; diff --git a/pkgs/development/compilers/shaderc/default.nix b/pkgs/development/compilers/shaderc/default.nix index 97c50cde91e78..cbbb42b62cfc5 100644 --- a/pkgs/development/compilers/shaderc/default.nix +++ b/pkgs/development/compilers/shaderc/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python3, autoSignDarwinBinariesHook, cctools }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + autoSignDarwinBinariesHook, + cctools, +}: # Like many google projects, shaderc doesn't gracefully support separately compiled dependencies, so we can't easily use # the versions of glslang and spirv-tools used by vulkan-loader. Exact revisions are taken from # https://github.com/google/shaderc/blob/known-good/known_good.json @@ -28,7 +36,13 @@ stdenv.mkDerivation rec { pname = "shaderc"; version = "2024.0"; - outputs = [ "out" "lib" "bin" "dev" "static" ]; + outputs = [ + "out" + "lib" + "bin" + "dev" + "static" + ]; src = fetchFromGitHub { owner = "google"; @@ -44,9 +58,15 @@ stdenv.mkDerivation rec { patchShebangs --build utils/ ''; - nativeBuildInputs = [ cmake python3 ] + nativeBuildInputs = + [ + cmake + python3 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ]; + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ]; postInstall = '' moveToOutput "lib/*.a" $static diff --git a/pkgs/development/compilers/smlnj/bootstrap.nix b/pkgs/development/compilers/smlnj/bootstrap.nix index 6aba529a8fce0..ec9db0755fdc4 100644 --- a/pkgs/development/compilers/smlnj/bootstrap.nix +++ b/pkgs/development/compilers/smlnj/bootstrap.nix @@ -2,7 +2,15 @@ # and is preserved only for pre-existing direct usage. New use cases should # just use the regular smlnj derivation. -{ lib, stdenv, fetchurl, cpio, rsync, xar, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + cpio, + rsync, + xar, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "smlnj-bootstrap"; @@ -15,7 +23,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cpio rsync ]; + buildInputs = [ + cpio + rsync + ]; unpackPhase = '' ${xar}/bin/xar -xf $src @@ -40,9 +51,9 @@ stdenv.mkDerivation rec { meta = { description = "Compiler for the Standard ML '97 programming language"; - homepage = "http://www.smlnj.org"; - license = lib.licenses.free; - platforms = lib.platforms.darwin; + homepage = "http://www.smlnj.org"; + license = lib.licenses.free; + platforms = lib.platforms.darwin; maintainers = [ lib.maintainers.jwiegley ]; mainProgram = "sml"; }; diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix index 718415a5eabd1..c7322d9ef99e5 100644 --- a/pkgs/development/compilers/smlnj/default.nix +++ b/pkgs/development/compilers/smlnj/default.nix @@ -1,47 +1,119 @@ -{ lib, stdenv, fetchurl, Libsystem }: +{ + lib, + stdenv, + fetchurl, + Libsystem, +}: let version = "110.99.6.1"; baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; - arch = if stdenv.hostPlatform.is64bit - then "64" - else "32"; + arch = if stdenv.hostPlatform.is64bit then "64" else "32"; - boot32 = { url = "${baseurl}/boot.x86-unix.tgz"; - hash = "sha256-2yBY0wGZ8B1jYC5os9SfH6eKJoWlQ4rAclBC3Pnacoc="; }; - boot64 = { url = "${baseurl}/boot.amd64-unix.tgz"; - hash = "sha256-kUabK03MdSYVRWhWKl3kS32SExUYpM3MtLU0mCxhiaQ="; }; + boot32 = { + url = "${baseurl}/boot.x86-unix.tgz"; + hash = "sha256-2yBY0wGZ8B1jYC5os9SfH6eKJoWlQ4rAclBC3Pnacoc="; + }; + boot64 = { + url = "${baseurl}/boot.amd64-unix.tgz"; + hash = "sha256-kUabK03MdSYVRWhWKl3kS32SExUYpM3MtLU0mCxhiaQ="; + }; - bootBinary = if stdenv.hostPlatform.is64bit - then boot64 - else boot32; + bootBinary = if stdenv.hostPlatform.is64bit then boot64 else boot32; sources = map fetchurl [ bootBinary - { url = "${baseurl}/config.tgz"; hash = "sha256-9BJPpa/xouqi3j39WsfzlRys4z1yxTdbYttHF5VwCVw="; } - { url = "${baseurl}/cm.tgz"; hash = "sha256-A3crC5EWX4kEB6olwdaObglQgkBBNqcBSCi/pQR5Wdw="; } - { url = "${baseurl}/compiler.tgz"; hash = "sha256-cTgkc5opaEXskdzt5yYsdjyF5m9846t2SyEiwY6W3HU="; } - { url = "${baseurl}/runtime.tgz"; hash = "sha256-JiNzfuZnp1eWQPNZBb9SPmQXtwgknpoGl+38iqUU3W4="; } - { url = "${baseurl}/system.tgz"; hash = "sha256-HUn8YCxlLe6+e5H9oMJjIoG23GBF3thMlHEkSGLZTus="; } - { url = "${baseurl}/MLRISC.tgz"; hash = "sha256-MPNpYhrbsIbVEOzJ7GIEQCm/7F/Jnxj0UXS7FeTp+7o="; } - { url = "${baseurl}/smlnj-lib.tgz"; hash = "sha256-1tp5waPl7MCWS4kIUFm/woQeeRfCjkpgSxHpGb+ymTM="; } - { url = "${baseurl}/old-basis.tgz"; hash = "sha256-I6DJRfIx+09ynFKXZ63dDWRpv0pEljWciAarK/EhQ/s="; } - { url = "${baseurl}/ckit.tgz"; hash = "sha256-vi6dSZISL+KWkpp/jxLPCNBno+qTYThvbExZ5R5L7Wc="; } - { url = "${baseurl}/nlffi.tgz"; hash = "sha256-WfYmX7dhrBqtE4juDVNyjuFtsJ1H+B7rJY2BXJYtKNM="; } - { url = "${baseurl}/cml.tgz"; hash = "sha256-5rZzp5IUj/xZX0fyeoNMohyTz1ifdY6Anu/Hg0spDQw="; } - { url = "${baseurl}/eXene.tgz"; hash = "sha256-c5QnjAQTtlBgYE6DGFMNDbu9ILSEVZgzs/u0bIowfHc="; } - { url = "${baseurl}/ml-lpt.tgz"; hash = "sha256-aRYFTEEl4td7LQ0LhsXGLtJ/ptwCDV1m9GeDtM7+vlo="; } - { url = "${baseurl}/ml-lex.tgz"; hash = "sha256-ZwO3xQUDaD2f7Tsro6kkahT7vSN1JvQbLkwY/m7xSIs="; } - { url = "${baseurl}/ml-yacc.tgz"; hash = "sha256-DBR4xmKiSA5on7+YDz7Zr8qBA6aD1fS64+g69ukSprc="; } - { url = "${baseurl}/ml-burg.tgz"; hash = "sha256-4ruWhGjxny97eUD9Gk4FakqEZzNHwJp7uSa97ET20p0="; } - { url = "${baseurl}/pgraph.tgz"; hash = "sha256-kDyaAMB6Pt3CdAna+V8aLfTx8Tj6a5vPfuSxtpga08w="; } - { url = "${baseurl}/trace-debug-profile.tgz"; hash = "sha256-AD9KWsskRkjTFYiRCIm0qj02sIBHG6HtBM5wKMBqeXY="; } - { url = "${baseurl}/heap2asm.tgz"; hash = "sha256-OHNPMErNoLpYuatgbgYlU/mMB4JXQ4aA50WZ2BHtt3I="; } - { url = "${baseurl}/smlnj-c.tgz"; hash = "sha256-Vure6h0TKqne5+5MJBX9cRkBgmrJ/kKVLUzrIIiH7lE="; } - { url = "${baseurl}/doc.tgz"; hash = "sha256-PliWxCffISPrAO7Zan33recFLRmGoqZLKHOzSEP0PEk="; } - { url = "${baseurl}/asdl.tgz"; hash = "sha256-O6/g20/hsMTG3CvMA59btjG+4UdUbGhMHkizESKJDEA="; } + { + url = "${baseurl}/config.tgz"; + hash = "sha256-9BJPpa/xouqi3j39WsfzlRys4z1yxTdbYttHF5VwCVw="; + } + { + url = "${baseurl}/cm.tgz"; + hash = "sha256-A3crC5EWX4kEB6olwdaObglQgkBBNqcBSCi/pQR5Wdw="; + } + { + url = "${baseurl}/compiler.tgz"; + hash = "sha256-cTgkc5opaEXskdzt5yYsdjyF5m9846t2SyEiwY6W3HU="; + } + { + url = "${baseurl}/runtime.tgz"; + hash = "sha256-JiNzfuZnp1eWQPNZBb9SPmQXtwgknpoGl+38iqUU3W4="; + } + { + url = "${baseurl}/system.tgz"; + hash = "sha256-HUn8YCxlLe6+e5H9oMJjIoG23GBF3thMlHEkSGLZTus="; + } + { + url = "${baseurl}/MLRISC.tgz"; + hash = "sha256-MPNpYhrbsIbVEOzJ7GIEQCm/7F/Jnxj0UXS7FeTp+7o="; + } + { + url = "${baseurl}/smlnj-lib.tgz"; + hash = "sha256-1tp5waPl7MCWS4kIUFm/woQeeRfCjkpgSxHpGb+ymTM="; + } + { + url = "${baseurl}/old-basis.tgz"; + hash = "sha256-I6DJRfIx+09ynFKXZ63dDWRpv0pEljWciAarK/EhQ/s="; + } + { + url = "${baseurl}/ckit.tgz"; + hash = "sha256-vi6dSZISL+KWkpp/jxLPCNBno+qTYThvbExZ5R5L7Wc="; + } + { + url = "${baseurl}/nlffi.tgz"; + hash = "sha256-WfYmX7dhrBqtE4juDVNyjuFtsJ1H+B7rJY2BXJYtKNM="; + } + { + url = "${baseurl}/cml.tgz"; + hash = "sha256-5rZzp5IUj/xZX0fyeoNMohyTz1ifdY6Anu/Hg0spDQw="; + } + { + url = "${baseurl}/eXene.tgz"; + hash = "sha256-c5QnjAQTtlBgYE6DGFMNDbu9ILSEVZgzs/u0bIowfHc="; + } + { + url = "${baseurl}/ml-lpt.tgz"; + hash = "sha256-aRYFTEEl4td7LQ0LhsXGLtJ/ptwCDV1m9GeDtM7+vlo="; + } + { + url = "${baseurl}/ml-lex.tgz"; + hash = "sha256-ZwO3xQUDaD2f7Tsro6kkahT7vSN1JvQbLkwY/m7xSIs="; + } + { + url = "${baseurl}/ml-yacc.tgz"; + hash = "sha256-DBR4xmKiSA5on7+YDz7Zr8qBA6aD1fS64+g69ukSprc="; + } + { + url = "${baseurl}/ml-burg.tgz"; + hash = "sha256-4ruWhGjxny97eUD9Gk4FakqEZzNHwJp7uSa97ET20p0="; + } + { + url = "${baseurl}/pgraph.tgz"; + hash = "sha256-kDyaAMB6Pt3CdAna+V8aLfTx8Tj6a5vPfuSxtpga08w="; + } + { + url = "${baseurl}/trace-debug-profile.tgz"; + hash = "sha256-AD9KWsskRkjTFYiRCIm0qj02sIBHG6HtBM5wKMBqeXY="; + } + { + url = "${baseurl}/heap2asm.tgz"; + hash = "sha256-OHNPMErNoLpYuatgbgYlU/mMB4JXQ4aA50WZ2BHtt3I="; + } + { + url = "${baseurl}/smlnj-c.tgz"; + hash = "sha256-Vure6h0TKqne5+5MJBX9cRkBgmrJ/kKVLUzrIIiH7lE="; + } + { + url = "${baseurl}/doc.tgz"; + hash = "sha256-PliWxCffISPrAO7Zan33recFLRmGoqZLKHOzSEP0PEk="; + } + { + url = "${baseurl}/asdl.tgz"; + hash = "sha256-O6/g20/hsMTG3CvMA59btjG+4UdUbGhMHkizESKJDEA="; + } ]; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "smlnj"; inherit version sources; @@ -55,14 +127,16 @@ in stdenv.mkDerivation { ./config/unpack $TMP runtime ''; - patchPhase = '' - sed -i '/^PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh - echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Locate standard headers like - substituteInPlace base/runtime/config/gen-posix-names.sh \ - --replace "\$SDK_PATH/usr" "${Libsystem}" - ''; + patchPhase = + '' + sed -i '/^PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh + echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Locate standard headers like + substituteInPlace base/runtime/config/gen-posix-names.sh \ + --replace "\$SDK_PATH/usr" "${Libsystem}" + ''; buildPhase = '' ./config/install.sh -default ${arch} @@ -80,10 +154,17 @@ in stdenv.mkDerivation { meta = { description = "Standard ML of New Jersey, a compiler"; - homepage = "http://smlnj.org"; - license = lib.licenses.bsd3; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; - maintainers = with lib.maintainers; [ skyesoss thoughtpolice ]; + homepage = "http://smlnj.org"; + license = lib.licenses.bsd3; + platforms = [ + "x86_64-linux" + "i686-linux" + "x86_64-darwin" + ]; + maintainers = with lib.maintainers; [ + skyesoss + thoughtpolice + ]; mainProgram = "sml"; # never built on x86_64-darwin since first introduction in nixpkgs broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64; diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix index d10a2cc2e5948..9a72465115af0 100644 --- a/pkgs/development/compilers/squeak/default.nix +++ b/pkgs/development/compilers/squeak/default.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, fetchzip -, autoconf -, automake -, autoreconfHook -, dos2unix -, file -, perl -, pkg-config -, alsa-lib -, coreutils -, freetype -, glib -, glibc -, gnugrep -, libGL -, libpulseaudio -, libtool -, libuuid -, openssl -, pango -, xorg -, squeakImageHash ? null -, squeakSourcesHash ? null -, squeakSourcesVersion ? null -, squeakVersion ? null -, squeakVmCommitHash ? null -, squeakVmCommitHashHash ? null -, squeakVmVersion ? null -} @ args: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + fetchzip, + autoconf, + automake, + autoreconfHook, + dos2unix, + file, + perl, + pkg-config, + alsa-lib, + coreutils, + freetype, + glib, + glibc, + gnugrep, + libGL, + libpulseaudio, + libtool, + libuuid, + openssl, + pango, + xorg, + squeakImageHash ? null, + squeakSourcesHash ? null, + squeakSourcesVersion ? null, + squeakVersion ? null, + squeakVmCommitHash ? null, + squeakVmCommitHashHash ? null, + squeakVmVersion ? null, +}@args: let inherit (builtins) elemAt toString; @@ -61,10 +62,12 @@ let squeakVmCommitHash = nullableOr args.squeakVmCommitHash or null (fetchurl { url = "https://api.github.com/repos/OpenSmalltalk/opensmalltalk-vm/commits/${squeakVmVersionRelease}"; curlOpts = "--header Accept:application/vnd.github.v3.sha"; - hash = nullableOr args.squeakVmCommitHashHash or null - "sha256-quwmhpJlb2fp0fI9b03fBxSR44j1xmHPW20wkSqTOhQ="; + hash = + nullableOr args.squeakVmCommitHashHash or null + "sha256-quwmhpJlb2fp0fI9b03fBxSR44j1xmHPW20wkSqTOhQ="; }); -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "squeak"; version = squeakVersion; @@ -76,22 +79,25 @@ in stdenv.mkDerivation { owner = "OpenSmalltalk"; repo = "opensmalltalk-vm"; rev = squeakVmVersionRelease; - hash = nullableOr args.squeakVmHash or null - "sha256-rNJn5ya+7ggC21MpwSrl2ByJDjVycONKHADboH7dQLM="; - }; - imageSrc = let - squeakImageName = "Squeak${squeakVersionBase}-${squeakImageVersion}-${toString bits}bit"; - in fetchzip { - url = "https://files.squeak.org/${squeakVersionBase}/${squeakImageName}/${squeakImageName}.zip"; - name = "source"; - stripRoot = false; - hash = nullableOr args.squeakImageHash or null - "sha256-wDuRyc/DNqG1D4DzyBkUvrzFkBlXBtbpnANZlRV/Fas="; + hash = nullableOr args.squeakVmHash or null "sha256-rNJn5ya+7ggC21MpwSrl2ByJDjVycONKHADboH7dQLM="; }; + imageSrc = + let + squeakImageName = "Squeak${squeakVersionBase}-${squeakImageVersion}-${toString bits}bit"; + in + fetchzip { + url = "https://files.squeak.org/${squeakVersionBase}/${squeakImageName}/${squeakImageName}.zip"; + name = "source"; + stripRoot = false; + hash = + nullableOr args.squeakImageHash or null + "sha256-wDuRyc/DNqG1D4DzyBkUvrzFkBlXBtbpnANZlRV/Fas="; + }; sourcesSrc = fetchurl { url = "https://files.squeak.org/sources_files/SqueakV${squeakSourcesVersion}.sources.gz"; - hash = nullableOr args.squeakSourcesHash or null - "sha256-ZViZ1VgI32LwLTEyw7utp8oaAK3UmCNJnHqsGm1IKYE="; + hash = + nullableOr args.squeakSourcesHash or null + "sha256-ZViZ1VgI32LwLTEyw7utp8oaAK3UmCNJnHqsGm1IKYE="; }; vmBuild = "linux64x64"; @@ -220,7 +226,10 @@ in stdenv.mkDerivation { ]; configureScript = "./mvm"; - installTargets = [ "install" "install-image" ]; + installTargets = [ + "install" + "install-image" + ]; postInstall = '' rm "$out/squeak" @@ -230,7 +239,10 @@ in stdenv.mkDerivation { meta = with lib; { description = "Squeak virtual machine"; homepage = "https://opensmalltalk.org/"; - license = with licenses; [ asl20 mit ]; + license = with licenses; [ + asl20 + mit + ]; maintainers = with lib.maintainers; [ ehmry ]; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix index 9336adb1cd760..4517a25b74449 100644 --- a/pkgs/development/compilers/swi-prolog/default.nix +++ b/pkgs/development/compilers/swi-prolog/default.nix @@ -1,10 +1,19 @@ { - lib, stdenv, fetchFromGitHub, - cmake, ninja, - - libxcrypt, zlib, openssl, - gmp, gperftools, readline, - libedit, libarchive, Security, + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + + libxcrypt, + zlib, + openssl, + gmp, + gperftools, + readline, + libedit, + libarchive, + Security, # optional dependencies withDb ? true, @@ -25,40 +34,48 @@ withYaml ? true, libyaml, - withGui ? false, - libX11, libXpm, libXext, libXft, libXinerama, libjpeg, libXt, libSM, freetype, fontconfig, + libX11, + libXpm, + libXext, + libXft, + libXinerama, + libjpeg, + libXt, + libSM, + freetype, + fontconfig, # gcc/g++ as runtime dependency - withNativeCompiler ? true - -# Packs must be installed from a local directory during the build, with dependencies -# resolved manually, e.g. to install the 'julian' pack, which depends on the 'delay', 'list_util' and 'typedef' packs: -# julian = pkgs.fetchzip { -# name = "swipl-pack-julian"; -# url = "https://github.com/mndrix/julian/archive/v0.1.3.zip"; -# sha256 = "1sgql7c21p3c5m14kwa0bcmlwn9fql612krn9h36gla1j9yjdfgy"; -# }; -# delay = pkgs.fetchzip { -# name = "swipl-pack-delay"; -# url = "https://github.com/mndrix/delay/archive/v0.3.3.zip"; -# sha256 = "0ira87afxnc2dnbbmgwmrr8qvary8lhzvhqwd52dccm6yqd3nybg"; -# }; -# list_util = pkgs.fetchzip { -# name = "swipl-pack-list_util"; -# url = "https://github.com/mndrix/list_util/archive/v0.13.0.zip"; -# sha256 = "0lx7vffflak0y8l8vg8k0g8qddwwn23ksbz02hi3f8rbarh1n89q"; -# }; -# typedef = builtins.fetchTarball { -# name = "swipl-pack-typedef"; -# url = "https://raw.githubusercontent.com/samer--/prolog/master/typedef/release/typedef-0.1.9.tgz"; -# sha256 = "056nqjn01g18fb1b2qivv9s7hb4azk24nx2d4kvkbmm1k91f44p3"; -# }; -# swi-prolog = pkgs.swi-prolog.override { extraPacks = map (dep-path: "'file://${dep-path}'") [ -# julian delay list_util typedef -# ]; }; -, extraPacks ? [] -, extraLibraries ? [] # removed option - see below + withNativeCompiler ? true, + + # Packs must be installed from a local directory during the build, with dependencies + # resolved manually, e.g. to install the 'julian' pack, which depends on the 'delay', 'list_util' and 'typedef' packs: + # julian = pkgs.fetchzip { + # name = "swipl-pack-julian"; + # url = "https://github.com/mndrix/julian/archive/v0.1.3.zip"; + # sha256 = "1sgql7c21p3c5m14kwa0bcmlwn9fql612krn9h36gla1j9yjdfgy"; + # }; + # delay = pkgs.fetchzip { + # name = "swipl-pack-delay"; + # url = "https://github.com/mndrix/delay/archive/v0.3.3.zip"; + # sha256 = "0ira87afxnc2dnbbmgwmrr8qvary8lhzvhqwd52dccm6yqd3nybg"; + # }; + # list_util = pkgs.fetchzip { + # name = "swipl-pack-list_util"; + # url = "https://github.com/mndrix/list_util/archive/v0.13.0.zip"; + # sha256 = "0lx7vffflak0y8l8vg8k0g8qddwwn23ksbz02hi3f8rbarh1n89q"; + # }; + # typedef = builtins.fetchTarball { + # name = "swipl-pack-typedef"; + # url = "https://raw.githubusercontent.com/samer--/prolog/master/typedef/release/typedef-0.1.9.tgz"; + # sha256 = "056nqjn01g18fb1b2qivv9s7hb4azk24nx2d4kvkbmm1k91f44p3"; + # }; + # swi-prolog = pkgs.swi-prolog.override { extraPacks = map (dep-path: "'file://${dep-path}'") [ + # julian delay list_util typedef + # ]; }; + extraPacks ? [ ], + extraLibraries ? [ ], # removed option - see below }: let @@ -68,25 +85,37 @@ let # This package provides several with* options, which replaces the old extraLibraries option. # This error should help users that still use this option find their way to these flags. # We can probably remove this after one NixOS version. - extraLibraries' = if extraLibraries == [] then [] else throw - "option 'extraLibraries' removed - use 'with*' options (e.g., 'withJava'), or overrideAttrs to inject extra build dependencies"; + extraLibraries' = + if extraLibraries == [ ] then + [ ] + else + throw "option 'extraLibraries' removed - use 'with*' options (e.g., 'withJava'), or overrideAttrs to inject extra build dependencies"; packInstall = swiplPath: pack: '' ${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/extra-pack\"), silent(true), interactive(false), git(false)])." -t "halt." ''; withGui' = withGui && !stdenv.hostPlatform.isDarwin; - optionalDependencies = [] - ++ (lib.optional withDb db) - ++ (lib.optional withJava jdk) - ++ (lib.optional withOdbc unixODBC) - ++ (lib.optional withPcre pcre2) - ++ (lib.optional withPython python3) - ++ (lib.optional withYaml libyaml) - ++ (lib.optionals withGui' [ libXt libXext libXpm libXft libXinerama - libjpeg libSM freetype fontconfig - ]) - ++ (lib.optional stdenv.hostPlatform.isDarwin Security) - ++ extraLibraries'; + optionalDependencies = + [ ] + ++ (lib.optional withDb db) + ++ (lib.optional withJava jdk) + ++ (lib.optional withOdbc unixODBC) + ++ (lib.optional withPcre pcre2) + ++ (lib.optional withPython python3) + ++ (lib.optional withYaml libyaml) + ++ (lib.optionals withGui' [ + libXt + libXext + libXpm + libXft + libXinerama + libjpeg + libSM + freetype + fontconfig + ]) + ++ (lib.optional stdenv.hostPlatform.isDarwin Security) + ++ extraLibraries'; in stdenv.mkDerivation { pname = "swi-prolog"; @@ -108,7 +137,10 @@ stdenv.mkDerivation { echo "user:file_search_path(pack, '$out/lib/swipl/extra-pack')." >> boot/init.pl ''; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ libarchive @@ -123,20 +155,19 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - cmakeFlags = [ "-DSWIPL_INSTALL_IN_LIB=ON" ] - ++ lib.optionals (!withNativeCompiler) [ - # without these options, the build will embed full compiler paths - "-DSWIPL_CC=${if stdenv.hostPlatform.isDarwin then "clang" else "gcc"}" - "-DSWIPL_CXX=${if stdenv.hostPlatform.isDarwin then "clang++" else "g++"}" - ]; + cmakeFlags = + [ "-DSWIPL_INSTALL_IN_LIB=ON" ] + ++ lib.optionals (!withNativeCompiler) [ + # without these options, the build will embed full compiler paths + "-DSWIPL_CC=${if stdenv.hostPlatform.isDarwin then "clang" else "gcc"}" + "-DSWIPL_CXX=${if stdenv.hostPlatform.isDarwin then "clang++" else "g++"}" + ]; preInstall = '' mkdir -p $out/lib/swipl/extra-pack ''; - postInstall = builtins.concatStringsSep "\n" - ( builtins.map (packInstall "$out") extraPacks - ); + postInstall = builtins.concatStringsSep "\n" (builtins.map (packInstall "$out") extraPacks); meta = { homepage = "https://www.swi-prolog.org"; @@ -144,6 +175,9 @@ stdenv.mkDerivation { license = lib.licenses.bsd2; mainProgram = "swipl"; platforms = lib.platforms.linux ++ lib.optionals (!withGui) lib.platforms.darwin; - maintainers = [ lib.maintainers.meditans lib.maintainers.matko ]; + maintainers = [ + lib.maintainers.meditans + lib.maintainers.matko + ]; }; } diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix index 3ddd48399b1a9..085f2750d5c85 100644 --- a/pkgs/development/compilers/swift/default.nix +++ b/pkgs/development/compilers/swift/default.nix @@ -1,11 +1,12 @@ -{ lib -, pkgs -, newScope -, darwin -, llvmPackages -, llvmPackages_15 -, overrideCC -, overrideLibcxx +{ + lib, + pkgs, + newScope, + darwin, + llvmPackages, + llvmPackages_15, + overrideCC, + overrideLibcxx, }: let @@ -54,13 +55,17 @@ let useSwiftDriver = false; }; - Dispatch = if stdenv.hostPlatform.isDarwin - then null # part of apple-sdk - else callPackage ./libdispatch { swift = swiftNoSwiftDriver; }; + Dispatch = + if stdenv.hostPlatform.isDarwin then + null # part of apple-sdk + else + callPackage ./libdispatch { swift = swiftNoSwiftDriver; }; - Foundation = if stdenv.hostPlatform.isDarwin - then null # part of apple-sdk - else callPackage ./foundation { swift = swiftNoSwiftDriver; }; + Foundation = + if stdenv.hostPlatform.isDarwin then + null # part of apple-sdk + else + callPackage ./foundation { swift = swiftNoSwiftDriver; }; # TODO: Apple distributes a binary XCTest with Xcode, but it is not part of # CLTools (or SUS), so would have to figure out how to fetch it. The binary @@ -98,4 +103,5 @@ let }; -in self +in +self diff --git a/pkgs/development/compilers/swift/foundation/default.nix b/pkgs/development/compilers/swift/foundation/default.nix index 98eff7a31783a..c1836607eb11f 100644 --- a/pkgs/development/compilers/swift/foundation/default.nix +++ b/pkgs/development/compilers/swift/foundation/default.nix @@ -3,22 +3,24 @@ # This is separate because the CF build is completely different and part of # stdenv. Merging the two was kept outside of the scope of Swift work. -{ lib -, stdenv -, fetchpatch -, callPackage -, cmake -, ninja -, swift -, Dispatch -, icu -, libxml2 -, curl +{ + lib, + stdenv, + fetchpatch, + callPackage, + cmake, + ninja, + swift, + Dispatch, + icu, + libxml2, + curl, }: let sources = callPackage ../sources.nix { }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "swift-corelibs-foundation"; inherit (sources) version; @@ -33,10 +35,21 @@ in stdenv.mkDerivation { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake ninja swift ]; - buildInputs = [ icu libxml2 curl ]; + nativeBuildInputs = [ + cmake + ninja + swift + ]; + buildInputs = [ + icu + libxml2 + curl + ]; propagatedBuildInputs = [ Dispatch ]; preConfigure = '' diff --git a/pkgs/development/compilers/swift/libdispatch/default.nix b/pkgs/development/compilers/swift/libdispatch/default.nix index 8478d58494831..0b326af1b33bd 100644 --- a/pkgs/development/compilers/swift/libdispatch/default.nix +++ b/pkgs/development/compilers/swift/libdispatch/default.nix @@ -1,23 +1,34 @@ -{ lib -, stdenv -, callPackage -, cmake -, ninja -, useSwift ? true, swift +{ + lib, + stdenv, + callPackage, + cmake, + ninja, + useSwift ? true, + swift, }: let sources = callPackage ../sources.nix { }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "swift-corelibs-libdispatch"; inherit (sources) version; src = sources.swift-corelibs-libdispatch; - outputs = [ "out" "dev" "man" ]; - - nativeBuildInputs = [ cmake ] - ++ lib.optionals useSwift [ ninja swift ]; + outputs = [ + "out" + "dev" + "man" + ]; + + nativeBuildInputs = + [ cmake ] + ++ lib.optionals useSwift [ + ninja + swift + ]; patches = [ ./disable-swift-overlay.patch ]; diff --git a/pkgs/development/compilers/swift/sourcekit-lsp/default.nix b/pkgs/development/compilers/swift/sourcekit-lsp/default.nix index 2d1cd6dd04405..8d425bcc6f5cc 100644 --- a/pkgs/development/compilers/swift/sourcekit-lsp/default.nix +++ b/pkgs/development/compilers/swift/sourcekit-lsp/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, callPackage -, fetchpatch -, pkg-config -, swift -, swiftpm -, swiftpm2nix -, Foundation -, XCTest -, sqlite -, ncurses -, CryptoKit -, LocalAuthentication +{ + lib, + stdenv, + callPackage, + fetchpatch, + pkg-config, + swift, + swiftpm, + swiftpm2nix, + Foundation, + XCTest, + sqlite, + ncurses, + CryptoKit, + LocalAuthentication, }: let sources = callPackage ../sources.nix { }; @@ -29,33 +30,46 @@ stdenv.mkDerivation { inherit (sources) version; src = sources.sourcekit-lsp; - nativeBuildInputs = [ pkg-config swift swiftpm ]; - buildInputs = [ - Foundation - XCTest - sqlite - ncursesInput - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CryptoKit LocalAuthentication ]; + nativeBuildInputs = [ + pkg-config + swift + swiftpm + ]; + buildInputs = + [ + Foundation + XCTest + sqlite + ncursesInput + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CryptoKit + LocalAuthentication + ]; - configurePhase = generated.configure + '' - swiftpmMakeMutable indexstore-db - patch -p1 -d .build/checkouts/indexstore-db -i ${./patches/indexstore-db-macos-target.patch} + configurePhase = + generated.configure + + '' + swiftpmMakeMutable indexstore-db + patch -p1 -d .build/checkouts/indexstore-db -i ${./patches/indexstore-db-macos-target.patch} - swiftpmMakeMutable swift-tools-support-core - patch -p1 -d .build/checkouts/swift-tools-support-core -i ${fetchpatch { - url = "https://github.com/apple/swift-tools-support-core/commit/990afca47e75cce136d2f59e464577e68a164035.patch"; - hash = "sha256-PLzWsp+syiUBHhEFS8+WyUcSae5p0Lhk7SSRdNvfouE="; - includes = [ "Sources/TSCBasic/FileSystem.swift" ]; - }} + swiftpmMakeMutable swift-tools-support-core + patch -p1 -d .build/checkouts/swift-tools-support-core -i ${ + fetchpatch { + url = "https://github.com/apple/swift-tools-support-core/commit/990afca47e75cce136d2f59e464577e68a164035.patch"; + hash = "sha256-PLzWsp+syiUBHhEFS8+WyUcSae5p0Lhk7SSRdNvfouE="; + includes = [ "Sources/TSCBasic/FileSystem.swift" ]; + } + } - # This toggles a section specific to Xcode XCTest, which doesn't work on - # Darwin, where we also use swift-corelibs-xctest. - substituteInPlace Sources/LSPTestSupport/PerfTestCase.swift \ - --replace '#if os(macOS)' '#if false' + # This toggles a section specific to Xcode XCTest, which doesn't work on + # Darwin, where we also use swift-corelibs-xctest. + substituteInPlace Sources/LSPTestSupport/PerfTestCase.swift \ + --replace '#if os(macOS)' '#if false' - # Required to link with swift-corelibs-xctest on Darwin. - export SWIFTTSC_MACOS_DEPLOYMENT_TARGET=10.12 - ''; + # Required to link with swift-corelibs-xctest on Darwin. + export SWIFTTSC_MACOS_DEPLOYMENT_TARGET=10.12 + ''; # TODO: BuildServerBuildSystemTests fails #doCheck = true; diff --git a/pkgs/development/compilers/swift/sources.nix b/pkgs/development/compilers/swift/sources.nix index 11240f767d08e..cb20a3d1b1c82 100644 --- a/pkgs/development/compilers/swift/sources.nix +++ b/pkgs/development/compilers/swift/sources.nix @@ -24,12 +24,16 @@ let }; # Create fetch derivations. - sources = lib.mapAttrs (repo: hash: fetchFromGitHub { - owner = "apple"; - inherit repo; - rev = "swift-${version}-RELEASE"; - name = "${repo}-${version}-src"; - hash = hashes.${repo}; - }) hashes; + sources = lib.mapAttrs ( + repo: hash: + fetchFromGitHub { + owner = "apple"; + inherit repo; + rev = "swift-${version}-RELEASE"; + name = "${repo}-${version}-src"; + hash = hashes.${repo}; + } + ) hashes; -in sources // { inherit version; } +in +sources // { inherit version; } diff --git a/pkgs/development/compilers/swift/swift-docc/default.nix b/pkgs/development/compilers/swift/swift-docc/default.nix index 13595882241bc..f1c1ee2dcd684 100644 --- a/pkgs/development/compilers/swift/swift-docc/default.nix +++ b/pkgs/development/compilers/swift/swift-docc/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, callPackage -, swift -, swiftpm -, swiftpm2nix -, Foundation -, XCTest -, CryptoKit -, LocalAuthentication +{ + lib, + stdenv, + callPackage, + swift, + swiftpm, + swiftpm2nix, + Foundation, + XCTest, + CryptoKit, + LocalAuthentication, }: let sources = callPackage ../sources.nix { }; @@ -22,9 +23,19 @@ stdenv.mkDerivation { # repository is not tagged. renderArtifact = sources.swift-docc-render-artifact; - nativeBuildInputs = [ swift swiftpm ]; - buildInputs = [ Foundation XCTest ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CryptoKit LocalAuthentication ]; + nativeBuildInputs = [ + swift + swiftpm + ]; + buildInputs = + [ + Foundation + XCTest + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CryptoKit + LocalAuthentication + ]; configurePhase = generated.configure; diff --git a/pkgs/development/compilers/swift/swift-driver/default.nix b/pkgs/development/compilers/swift/swift-driver/default.nix index 03c7898fe1121..52567304af316 100644 --- a/pkgs/development/compilers/swift/swift-driver/default.nix +++ b/pkgs/development/compilers/swift/swift-driver/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, callPackage -, fetchpatch -, swift -, swiftpm -, swiftpm2nix -, Foundation -, XCTest -, sqlite -, ncurses -, substituteAll +{ + lib, + stdenv, + callPackage, + fetchpatch, + swift, + swiftpm, + swiftpm2nix, + Foundation, + XCTest, + sqlite, + ncurses, + substituteAll, }: let sources = callPackage ../sources.nix { }; @@ -27,7 +28,10 @@ stdenv.mkDerivation { inherit (sources) version; src = sources.swift-driver; - nativeBuildInputs = [ swift swiftpm ]; + nativeBuildInputs = [ + swift + swiftpm + ]; buildInputs = [ Foundation XCTest @@ -52,14 +56,18 @@ stdenv.mkDerivation { }) ]; - configurePhase = generated.configure + '' - swiftpmMakeMutable swift-tools-support-core - patch -p1 -d .build/checkouts/swift-tools-support-core -i ${fetchpatch { - url = "https://github.com/apple/swift-tools-support-core/commit/990afca47e75cce136d2f59e464577e68a164035.patch"; - hash = "sha256-PLzWsp+syiUBHhEFS8+WyUcSae5p0Lhk7SSRdNvfouE="; - includes = [ "Sources/TSCBasic/FileSystem.swift" ]; - }} - ''; + configurePhase = + generated.configure + + '' + swiftpmMakeMutable swift-tools-support-core + patch -p1 -d .build/checkouts/swift-tools-support-core -i ${ + fetchpatch { + url = "https://github.com/apple/swift-tools-support-core/commit/990afca47e75cce136d2f59e464577e68a164035.patch"; + hash = "sha256-PLzWsp+syiUBHhEFS8+WyUcSae5p0Lhk7SSRdNvfouE="; + includes = [ "Sources/TSCBasic/FileSystem.swift" ]; + } + } + ''; # TODO: Tests depend on indexstore-db being provided by an existing Swift # toolchain. (ie. looks for `../lib/libIndexStore.so` relative to swiftc. diff --git a/pkgs/development/compilers/swift/swift-format/default.nix b/pkgs/development/compilers/swift/swift-format/default.nix index 3ce4c22b69700..eee7dd931026f 100644 --- a/pkgs/development/compilers/swift/swift-format/default.nix +++ b/pkgs/development/compilers/swift/swift-format/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchpatch -, callPackage -, swift -, swiftpm -, swiftpm2nix -, Foundation +{ + lib, + stdenv, + fetchpatch, + callPackage, + swift, + swiftpm, + swiftpm2nix, + Foundation, }: let sources = callPackage ../sources.nix { }; @@ -17,17 +18,24 @@ stdenv.mkDerivation { inherit (sources) version; src = sources.swift-format; - nativeBuildInputs = [ swift swiftpm ]; + nativeBuildInputs = [ + swift + swiftpm + ]; buildInputs = [ Foundation ]; - configurePhase = generated.configure + '' - swiftpmMakeMutable swift-tools-support-core - patch -p1 -d .build/checkouts/swift-tools-support-core -i ${fetchpatch { - url = "https://github.com/apple/swift-tools-support-core/commit/990afca47e75cce136d2f59e464577e68a164035.patch"; - hash = "sha256-PLzWsp+syiUBHhEFS8+WyUcSae5p0Lhk7SSRdNvfouE="; - includes = [ "Sources/TSCBasic/FileSystem.swift" ]; - }} - ''; + configurePhase = + generated.configure + + '' + swiftpmMakeMutable swift-tools-support-core + patch -p1 -d .build/checkouts/swift-tools-support-core -i ${ + fetchpatch { + url = "https://github.com/apple/swift-tools-support-core/commit/990afca47e75cce136d2f59e464577e68a164035.patch"; + hash = "sha256-PLzWsp+syiUBHhEFS8+WyUcSae5p0Lhk7SSRdNvfouE="; + includes = [ "Sources/TSCBasic/FileSystem.swift" ]; + } + } + ''; # We only install the swift-format binary, so don't need the other products. swiftpmFlags = [ "--product swift-format" ]; diff --git a/pkgs/development/compilers/swift/swiftpm/cmake-glue.nix b/pkgs/development/compilers/swift/swiftpm/cmake-glue.nix index 252040dd3ec01..1f07ed1838ed6 100644 --- a/pkgs/development/compilers/swift/swiftpm/cmake-glue.nix +++ b/pkgs/development/compilers/swift/swiftpm/cmake-glue.nix @@ -2,7 +2,11 @@ # CMake modules to link them together in a build tree. We have separate # derivations, so need a real install step. Here we provide our own minimal # CMake modules to install along with the build products. -{ lib, stdenv, swift }: +{ + lib, + stdenv, + swift, +}: let inherit (stdenv.hostPlatform) extensions; @@ -20,7 +24,8 @@ let ) ''; -in lib.mapAttrs mkInstallScript { +in +lib.mapAttrs mkInstallScript { SwiftSystem = '' add_library(SwiftSystem::SystemPackage STATIC IMPORTED) set_property(TARGET SwiftSystem::SystemPackage PROPERTY IMPORTED_LOCATION "@out@/lib/swift_static/@swiftOs@/libSystemPackage@staticLibExt@") diff --git a/pkgs/development/compilers/swift/swiftpm/default.nix b/pkgs/development/compilers/swift/swiftpm/default.nix index 52f07e3f822c1..76b2ad2d76961 100644 --- a/pkgs/development/compilers/swift/swiftpm/default.nix +++ b/pkgs/development/compilers/swift/swiftpm/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, callPackage -, fetchpatch -, cmake -, ninja -, git -, swift -, swiftpm2nix -, Foundation -, XCTest -, pkg-config -, sqlite -, ncurses -, substituteAll -, runCommandLocal -, makeWrapper -, DarwinTools # sw_vers -, cctools # vtool -, darwinMinVersionHook -, xcbuild -, CryptoKit -, LocalAuthentication +{ + lib, + stdenv, + callPackage, + fetchpatch, + cmake, + ninja, + git, + swift, + swiftpm2nix, + Foundation, + XCTest, + pkg-config, + sqlite, + ncurses, + substituteAll, + runCommandLocal, + makeWrapper, + DarwinTools, # sw_vers + cctools, # vtool + darwinMinVersionHook, + xcbuild, + CryptoKit, + LocalAuthentication, }: let @@ -81,7 +82,8 @@ let }; # Tools invoked by swiftpm at run-time. - runtimeDeps = [ git ] + runtimeDeps = + [ git ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild.xcrun # These tools are part of cctools, but adding that as a build input puts @@ -97,47 +99,57 @@ let ]; # Common attributes for the bootstrap derivations. - mkBootstrapDerivation = attrs: stdenv.mkDerivation (attrs // { - nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) - ++ [ cmake ninja swift ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ DarwinTools ]; - - buildInputs = (attrs.buildInputs or [ ]) - ++ [ Foundation ]; - - postPatch = (attrs.postPatch or "") - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # On Darwin only, Swift uses arm64 as cpu arch. - if [ -e cmake/modules/SwiftSupport.cmake ]; then - substituteInPlace cmake/modules/SwiftSupport.cmake \ - --replace '"aarch64" PARENT_SCOPE' '"arm64" PARENT_SCOPE' - fi - ''; - - postInstall = (attrs.postInstall or "") - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # The install name of libraries is incorrectly set to lib/ (via our - # CMake setup hook) instead of lib/swift/. This'd be easily fixed by - # fixDarwinDylibNames, but some builds create libraries that reference - # eachother, and we also have to fix those references. - dylibs="$(find $out/lib/swift* -name '*.dylib')" - changes="" - for dylib in $dylibs; do - changes+=" -change $(otool -D $dylib | tail -n 1) $dylib" - done - for dylib in $dylibs; do - install_name_tool -id $dylib $changes $dylib - done - ''; - - cmakeFlags = (attrs.cmakeFlags or [ ]) - ++ [ - # Some builds link to libraries within the same build. Make sure these - # create references to $out. None of our builds run their own products, - # so we don't have to account for that scenario. - "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" - ]; - }); + mkBootstrapDerivation = + attrs: + stdenv.mkDerivation ( + attrs + // { + nativeBuildInputs = + (attrs.nativeBuildInputs or [ ]) + ++ [ + cmake + ninja + swift + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ DarwinTools ]; + + buildInputs = (attrs.buildInputs or [ ]) ++ [ Foundation ]; + + postPatch = + (attrs.postPatch or "") + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # On Darwin only, Swift uses arm64 as cpu arch. + if [ -e cmake/modules/SwiftSupport.cmake ]; then + substituteInPlace cmake/modules/SwiftSupport.cmake \ + --replace '"aarch64" PARENT_SCOPE' '"arm64" PARENT_SCOPE' + fi + ''; + + postInstall = + (attrs.postInstall or "") + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # The install name of libraries is incorrectly set to lib/ (via our + # CMake setup hook) instead of lib/swift/. This'd be easily fixed by + # fixDarwinDylibNames, but some builds create libraries that reference + # eachother, and we also have to fix those references. + dylibs="$(find $out/lib/swift* -name '*.dylib')" + changes="" + for dylib in $dylibs; do + changes+=" -change $(otool -D $dylib | tail -n 1) $dylib" + done + for dylib in $dylibs; do + install_name_tool -id $dylib $changes $dylib + done + ''; + + cmakeFlags = (attrs.cmakeFlags or [ ]) ++ [ + # Some builds link to libraries within the same build. Make sure these + # create references to $out. None of our builds run their own products, + # so we don't have to account for that scenario. + "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" + ]; + } + ); # On Darwin, we only want ncurses in the linker search path, because headers # are part of libsystem. Adding its headers to the search path causes strange @@ -161,7 +173,8 @@ let name = "swift-system"; src = generated.sources.swift-system; - postInstall = cmakeGlue.SwiftSystem + postInstall = + cmakeGlue.SwiftSystem + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' # The cmake rules apparently only use the Darwin install convention. # Fix up the installation so the module can be found on non-Darwin. @@ -181,7 +194,8 @@ let sed -i -e '/BUILD_SHARED_LIBS/d' CMakeLists.txt ''; - postInstall = cmakeGlue.SwiftCollections + postInstall = + cmakeGlue.SwiftCollections + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' # The cmake rules apparently only use the Darwin install convention. # Fix up the installation so the module can be found on non-Darwin. @@ -213,32 +227,38 @@ let sqlite ]; - postInstall = cmakeGlue.TSC + '' - # Swift modules are not installed. - mkdir -p $out/${swiftModuleSubdir} - cp swift/*.swift{module,doc} $out/${swiftModuleSubdir}/ + postInstall = + cmakeGlue.TSC + + '' + # Swift modules are not installed. + mkdir -p $out/${swiftModuleSubdir} + cp swift/*.swift{module,doc} $out/${swiftModuleSubdir}/ - # Static libs are not installed. - cp lib/*.a $out/lib/ + # Static libs are not installed. + cp lib/*.a $out/lib/ - # Headers are not installed. - mkdir -p $out/include - cp -r ../Sources/TSCclibc/include $out/include/TSC - ''; + # Headers are not installed. + mkdir -p $out/include + cp -r ../Sources/TSCclibc/include $out/include/TSC + ''; }; swift-argument-parser = mkBootstrapDerivation { name = "swift-argument-parser"; src = generated.sources.swift-argument-parser; - buildInputs = [ ncursesInput sqlite ]; + buildInputs = [ + ncursesInput + sqlite + ]; cmakeFlags = [ "-DBUILD_TESTING=NO" "-DBUILD_EXAMPLES=NO" ]; - postInstall = cmakeGlue.ArgumentParser + postInstall = + cmakeGlue.ArgumentParser + lib.optionalString stdenv.hostPlatform.isLinux '' # Fix rpath so ArgumentParserToolInfo can be found. patchelf --add-rpath "$out/lib/swift/${swiftOs}" \ @@ -261,7 +281,10 @@ let src = generated.sources.swift-llbuild; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild; - buildInputs = [ ncursesInput sqlite ]; + buildInputs = [ + ncursesInput + sqlite + ]; patches = [ ./patches/llbuild-cmake-disable-rpath.patch @@ -287,14 +310,16 @@ let "-DLLBUILD_SUPPORT_BINDINGS=Swift" ]; - postInstall = cmakeGlue.LLBuild + '' - # Install module map. - cp ../products/libllbuild/include/module.modulemap $out/include + postInstall = + cmakeGlue.LLBuild + + '' + # Install module map. + cp ../products/libllbuild/include/module.modulemap $out/include - # Swift modules are not installed. - mkdir -p $out/${swiftModuleSubdir} - cp products/llbuildSwift/*.swift{module,doc} $out/${swiftModuleSubdir}/ - ''; + # Swift modules are not installed. + mkdir -p $out/${swiftModuleSubdir} + cp products/llbuildSwift/*.swift{module,doc} $out/${swiftModuleSubdir}/ + ''; }; swift-driver = mkBootstrapDerivation { @@ -315,11 +340,13 @@ let --replace CYaml "" ''; - postInstall = cmakeGlue.SwiftDriver + '' - # Swift modules are not installed. - mkdir -p $out/${swiftModuleSubdir} - cp swift/*.swift{module,doc} $out/${swiftModuleSubdir}/ - ''; + postInstall = + cmakeGlue.SwiftDriver + + '' + # Swift modules are not installed. + mkdir -p $out/${swiftModuleSubdir} + cp swift/*.swift{module,doc} $out/${swiftModuleSubdir}/ + ''; }; swift-crypto = mkBootstrapDerivation { @@ -334,122 +361,137 @@ let --replace /usr/bin/ranlib $NIX_CC/bin/ranlib ''; - postInstall = cmakeGlue.SwiftCrypto + '' - # Static libs are not installed. - cp lib/*.a $out/lib/ + postInstall = + cmakeGlue.SwiftCrypto + + '' + # Static libs are not installed. + cp lib/*.a $out/lib/ - # Headers are not installed. - cp -r ../Sources/CCryptoBoringSSL/include $out/include - ''; + # Headers are not installed. + cp -r ../Sources/CCryptoBoringSSL/include $out/include + ''; }; # Build a bootrapping swiftpm using CMake. - swiftpm-bootstrap = mkBootstrapDerivation (commonAttrs // { - pname = "swiftpm-bootstrap"; + swiftpm-bootstrap = mkBootstrapDerivation ( + commonAttrs + // { + pname = "swiftpm-bootstrap"; + + buildInputs = [ + llbuild + sqlite + swift-argument-parser + swift-collections + swift-crypto + swift-driver + swift-system + swift-tools-support-core + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (darwinMinVersionHook "10.15.4") ]; + + cmakeFlags = [ + "-DUSE_CMAKE_INSTALL=ON" + ]; - buildInputs = [ - llbuild - sqlite - swift-argument-parser - swift-collections - swift-crypto - swift-driver - swift-system - swift-tools-support-core - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (darwinMinVersionHook "10.15.4") ]; + postInstall = '' + for program in $out/bin/swift-*; do + wrapProgram $program --prefix PATH : ${lib.makeBinPath runtimeDeps} + done + ''; + } + ); - cmakeFlags = [ - "-DUSE_CMAKE_INSTALL=ON" +in +# Build the final swiftpm with the bootstrapping swiftpm. +stdenv.mkDerivation ( + commonAttrs + // { + pname = "swiftpm"; + + nativeBuildInputs = commonAttrs.nativeBuildInputs ++ [ + pkg-config + swift + swiftpm-bootstrap ]; + buildInputs = + [ + ncursesInput + sqlite + XCTest + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CryptoKit + LocalAuthentication + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ (darwinMinVersionHook "10.15.4") ]; + + configurePhase = + generated.configure + + '' + # Functionality provided by Xcode XCTest, but not available in + # swift-corelibs-xctest. + swiftpmMakeMutable swift-tools-support-core + substituteInPlace .build/checkouts/swift-tools-support-core/Sources/TSCTestSupport/XCTestCasePerf.swift \ + --replace 'canImport(Darwin)' 'false' + patch -p1 -d .build/checkouts/swift-tools-support-core -i ${swift-tools-support-core-glibc-fix} + + # Prevent a warning about SDK directories we don't have. + swiftpmMakeMutable swift-driver + patch -p1 -d .build/checkouts/swift-driver -i ${ + substituteAll { + src = ../swift-driver/patches/prevent-sdk-dirs-warnings.patch; + inherit (builtins) storeDir; + } + } + ''; - postInstall = '' - for program in $out/bin/swift-*; do - wrapProgram $program --prefix PATH : ${lib.makeBinPath runtimeDeps} + buildPhase = '' + TERM=dumb swift-build -c release + ''; + + # TODO: Tests depend on indexstore-db being provided by an existing Swift + # toolchain. (ie. looks for `../lib/libIndexStore.so` relative to swiftc. + #doCheck = true; + #checkPhase = '' + # TERM=dumb swift-test -c release + #''; + + # The following is dervied from Utilities/bootstrap, see install_swiftpm. + installPhase = '' + binPath="$(swift-build --show-bin-path -c release)" + + mkdir -p $out/bin $out/lib/swift + + cp $binPath/swift-package-manager $out/bin/swift-package + wrapProgram $out/bin/swift-package \ + --prefix PATH : ${lib.makeBinPath runtimeDeps} + for tool in swift-build swift-test swift-run swift-package-collection swift-experimental-destination; do + ln -s $out/bin/swift-package $out/bin/$tool done + + installSwiftpmModule() { + mkdir -p $out/lib/swift/pm/$2 + cp $binPath/lib$1${sharedLibraryExt} $out/lib/swift/pm/$2/ + + if [[ -f $binPath/$1.swiftinterface ]]; then + cp $binPath/$1.swiftinterface $out/lib/swift/pm/$2/ + else + cp -r $binPath/$1.swiftmodule $out/lib/swift/pm/$2/ + fi + cp $binPath/$1.swiftdoc $out/lib/swift/pm/$2/ + } + installSwiftpmModule PackageDescription ManifestAPI + installSwiftpmModule PackagePlugin PluginAPI ''; - }); -# Build the final swiftpm with the bootstrapping swiftpm. -in stdenv.mkDerivation (commonAttrs // { - pname = "swiftpm"; - - nativeBuildInputs = commonAttrs.nativeBuildInputs ++ [ - pkg-config - swift - swiftpm-bootstrap - ]; - buildInputs = [ - ncursesInput - sqlite - XCTest - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CryptoKit - LocalAuthentication - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (darwinMinVersionHook "10.15.4") ]; - - configurePhase = generated.configure + '' - # Functionality provided by Xcode XCTest, but not available in - # swift-corelibs-xctest. - swiftpmMakeMutable swift-tools-support-core - substituteInPlace .build/checkouts/swift-tools-support-core/Sources/TSCTestSupport/XCTestCasePerf.swift \ - --replace 'canImport(Darwin)' 'false' - patch -p1 -d .build/checkouts/swift-tools-support-core -i ${swift-tools-support-core-glibc-fix} - - # Prevent a warning about SDK directories we don't have. - swiftpmMakeMutable swift-driver - patch -p1 -d .build/checkouts/swift-driver -i ${substituteAll { - src = ../swift-driver/patches/prevent-sdk-dirs-warnings.patch; - inherit (builtins) storeDir; - }} - ''; - - buildPhase = '' - TERM=dumb swift-build -c release - ''; - - # TODO: Tests depend on indexstore-db being provided by an existing Swift - # toolchain. (ie. looks for `../lib/libIndexStore.so` relative to swiftc. - #doCheck = true; - #checkPhase = '' - # TERM=dumb swift-test -c release - #''; - - # The following is dervied from Utilities/bootstrap, see install_swiftpm. - installPhase = '' - binPath="$(swift-build --show-bin-path -c release)" - - mkdir -p $out/bin $out/lib/swift - - cp $binPath/swift-package-manager $out/bin/swift-package - wrapProgram $out/bin/swift-package \ - --prefix PATH : ${lib.makeBinPath runtimeDeps} - for tool in swift-build swift-test swift-run swift-package-collection swift-experimental-destination; do - ln -s $out/bin/swift-package $out/bin/$tool - done - - installSwiftpmModule() { - mkdir -p $out/lib/swift/pm/$2 - cp $binPath/lib$1${sharedLibraryExt} $out/lib/swift/pm/$2/ - - if [[ -f $binPath/$1.swiftinterface ]]; then - cp $binPath/$1.swiftinterface $out/lib/swift/pm/$2/ - else - cp -r $binPath/$1.swiftmodule $out/lib/swift/pm/$2/ - fi - cp $binPath/$1.swiftdoc $out/lib/swift/pm/$2/ - } - installSwiftpmModule PackageDescription ManifestAPI - installSwiftpmModule PackagePlugin PluginAPI - ''; - - setupHook = ./setup-hook.sh; - - meta = { - description = "Package Manager for the Swift Programming Language"; - homepage = "https://github.com/apple/swift-package-manager"; - platforms = with lib.platforms; linux ++ darwin; - license = lib.licenses.asl20; - maintainers = lib.teams.swift.members; - }; -}) + setupHook = ./setup-hook.sh; + + meta = { + description = "Package Manager for the Swift Programming Language"; + homepage = "https://github.com/apple/swift-package-manager"; + platforms = with lib.platforms; linux ++ darwin; + license = lib.licenses.asl20; + maintainers = lib.teams.swift.members; + }; + } +) diff --git a/pkgs/development/compilers/swift/swiftpm2nix/default.nix b/pkgs/development/compilers/swift/swiftpm2nix/default.nix index 461e572fe4f95..5f87f4b1f0063 100644 --- a/pkgs/development/compilers/swift/swiftpm2nix/default.nix +++ b/pkgs/development/compilers/swift/swiftpm2nix/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, callPackage, makeWrapper, jq, nurl }: +{ + lib, + stdenv, + callPackage, + makeWrapper, + jq, + nurl, +}: stdenv.mkDerivation { name = "swiftpm2nix"; @@ -10,7 +17,12 @@ stdenv.mkDerivation { installPhase = '' install -vD ${./swiftpm2nix.sh} $out/bin/swiftpm2nix wrapProgram $out/bin/$name \ - --prefix PATH : ${lib.makeBinPath [ jq nurl ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + jq + nurl + ] + } \ ''; preferLocalBuild = true; diff --git a/pkgs/development/compilers/swift/swiftpm2nix/support.nix b/pkgs/development/compilers/swift/swiftpm2nix/support.nix index 3debda233c5f4..1822c1c742a2a 100644 --- a/pkgs/development/compilers/swift/swiftpm2nix/support.nix +++ b/pkgs/development/compilers/swift/swiftpm2nix/support.nix @@ -1,11 +1,23 @@ -{ lib, fetchgit, formats }: +{ + lib, + fetchgit, + formats, +}: let - inherit (lib) concatStrings listToAttrs makeOverridable mapAttrsToList nameValuePair; + inherit (lib) + concatStrings + listToAttrs + makeOverridable + mapAttrsToList + nameValuePair + ; json = formats.json { }; -in rec { +in +rec { # Derive a pin file from workspace state. - mkPinFile = workspaceState: + mkPinFile = + workspaceState: assert workspaceState.version >= 5 && workspaceState.version <= 6; json.generate "Package.resolved" { version = 1; @@ -17,41 +29,50 @@ in rec { }; # Make packaging helpers from swiftpm2nix generated output. - helpers = generated: let - inherit (import generated) workspaceStateFile hashes; - workspaceState = lib.importJSON workspaceStateFile; - pinFile = mkPinFile workspaceState; - in rec { + helpers = + generated: + let + inherit (import generated) workspaceStateFile hashes; + workspaceState = lib.importJSON workspaceStateFile; + pinFile = mkPinFile workspaceState; + in + rec { - # Create fetch expressions for dependencies. - sources = listToAttrs ( - map (dep: nameValuePair dep.subpath (fetchgit { - url = dep.packageRef.location; - rev = dep.state.checkoutState.revision; - sha256 = hashes.${dep.subpath}; - fetchSubmodules = true; - })) workspaceState.object.dependencies - ); + # Create fetch expressions for dependencies. + sources = listToAttrs ( + map ( + dep: + nameValuePair dep.subpath (fetchgit { + url = dep.packageRef.location; + rev = dep.state.checkoutState.revision; + sha256 = hashes.${dep.subpath}; + fetchSubmodules = true; + }) + ) workspaceState.object.dependencies + ); - # Configure phase snippet for use in packaging. - configure = '' - mkdir -p .build/checkouts - ln -sf ${pinFile} ./Package.resolved - install -m 0600 ${workspaceStateFile} ./.build/workspace-state.json - '' - + concatStrings (mapAttrsToList (name: src: '' - ln -s '${src}' '.build/checkouts/${name}' - '') sources) - + '' - # Helper that makes a swiftpm dependency mutable by copying the source. - swiftpmMakeMutable() { - local orig="$(readlink .build/checkouts/$1)" - rm .build/checkouts/$1 - cp -r "$orig" .build/checkouts/$1 - chmod -R u+w .build/checkouts/$1 - } - ''; + # Configure phase snippet for use in packaging. + configure = + '' + mkdir -p .build/checkouts + ln -sf ${pinFile} ./Package.resolved + install -m 0600 ${workspaceStateFile} ./.build/workspace-state.json + '' + + concatStrings ( + mapAttrsToList (name: src: '' + ln -s '${src}' '.build/checkouts/${name}' + '') sources + ) + + '' + # Helper that makes a swiftpm dependency mutable by copying the source. + swiftpmMakeMutable() { + local orig="$(readlink .build/checkouts/$1)" + rm .build/checkouts/$1 + cp -r "$orig" .build/checkouts/$1 + chmod -R u+w .build/checkouts/$1 + } + ''; - }; + }; } diff --git a/pkgs/development/compilers/swift/wrapper/default.nix b/pkgs/development/compilers/swift/wrapper/default.nix index 2bf8ef60ebf3f..d8b08cf5e3c2d 100644 --- a/pkgs/development/compilers/swift/wrapper/default.nix +++ b/pkgs/development/compilers/swift/wrapper/default.nix @@ -1,68 +1,85 @@ -{ lib -, stdenv -, swift -, useSwiftDriver ? true, swift-driver +{ + lib, + stdenv, + swift, + useSwiftDriver ? true, + swift-driver, }: -stdenv.mkDerivation (swift._wrapperParams // { - pname = "swift-wrapper"; - inherit (swift) version meta; +stdenv.mkDerivation ( + swift._wrapperParams + // { + pname = "swift-wrapper"; + inherit (swift) version meta; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - # Wrapper and setup hook variables. - inherit swift; - inherit (swift) - swiftOs swiftArch - swiftModuleSubdir swiftLibSubdir - swiftStaticModuleSubdir swiftStaticLibSubdir; - swiftDriver = lib.optionalString useSwiftDriver "${swift-driver}/bin/swift-driver"; + # Wrapper and setup hook variables. + inherit swift; + inherit (swift) + swiftOs + swiftArch + swiftModuleSubdir + swiftLibSubdir + swiftStaticModuleSubdir + swiftStaticLibSubdir + ; + swiftDriver = lib.optionalString useSwiftDriver "${swift-driver}/bin/swift-driver"; - env.darwinMinVersion = lib.optionalString stdenv.targetPlatform.isDarwin ( - stdenv.targetPlatform.darwinMinVersion - ); + env.darwinMinVersion = lib.optionalString stdenv.targetPlatform.isDarwin ( + stdenv.targetPlatform.darwinMinVersion + ); - passAsFile = [ "buildCommand" ]; - buildCommand = '' - mkdir -p $out/bin $out/nix-support + passAsFile = [ "buildCommand" ]; + buildCommand = '' + mkdir -p $out/bin $out/nix-support - # Symlink all Swift binaries first. - # NOTE: This specifically omits clang binaries. We want to hide these for - # private use by Swift only. - ln -s -t $out/bin/ $swift/bin/swift* + # Symlink all Swift binaries first. + # NOTE: This specifically omits clang binaries. We want to hide these for + # private use by Swift only. + ln -s -t $out/bin/ $swift/bin/swift* - # Replace specific binaries with wrappers. - for executable in swift swiftc swift-frontend; do - export prog=$swift/bin/$executable - rm $out/bin/$executable - substituteAll '${./wrapper.sh}' $out/bin/$executable - chmod a+x $out/bin/$executable - done + # Replace specific binaries with wrappers. + for executable in swift swiftc swift-frontend; do + export prog=$swift/bin/$executable + rm $out/bin/$executable + substituteAll '${./wrapper.sh}' $out/bin/$executable + chmod a+x $out/bin/$executable + done - ${lib.optionalString useSwiftDriver '' - # Symlink swift-driver executables. - ln -s -t $out/bin/ ${swift-driver}/bin/* - ''} + ${lib.optionalString useSwiftDriver '' + # Symlink swift-driver executables. + ln -s -t $out/bin/ ${swift-driver}/bin/* + ''} - ln -s ${swift.man} $man + ln -s ${swift.man} $man - # This link is here because various tools (swiftpm) check for stdlib - # relative to the swift compiler. It's fine if this is for build-time - # stuff, but we should patch all cases were it would end up in an output. - ln -s ${swift.lib}/lib $out/lib + # This link is here because various tools (swiftpm) check for stdlib + # relative to the swift compiler. It's fine if this is for build-time + # stuff, but we should patch all cases were it would end up in an output. + ln -s ${swift.lib}/lib $out/lib - substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook + substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook - # Propagate any propagated inputs from the unwrapped Swift compiler, if any. - if [ -e "$swift/nix-support" ]; then - for input in "$swift/nix-support/"*propagated*; do - cp "$input" "$out/nix-support/$(basename "$input")" - done - fi - ''; + # Propagate any propagated inputs from the unwrapped Swift compiler, if any. + if [ -e "$swift/nix-support" ]; then + for input in "$swift/nix-support/"*propagated*; do + cp "$input" "$out/nix-support/$(basename "$input")" + done + fi + ''; - passthru = { - inherit swift; - inherit (swift) swiftOs swiftArch swiftModuleSubdir swiftLibSubdir; - }; -}) + passthru = { + inherit swift; + inherit (swift) + swiftOs + swiftArch + swiftModuleSubdir + swiftLibSubdir + ; + }; + } +) diff --git a/pkgs/development/compilers/swift/xctest/default.nix b/pkgs/development/compilers/swift/xctest/default.nix index f6f4cdacaed11..59390318c6c4d 100644 --- a/pkgs/development/compilers/swift/xctest/default.nix +++ b/pkgs/development/compilers/swift/xctest/default.nix @@ -1,16 +1,18 @@ -{ lib -, stdenv -, callPackage -, cmake -, ninja -, swift -, Foundation -, DarwinTools +{ + lib, + stdenv, + callPackage, + cmake, + ninja, + swift, + Foundation, + DarwinTools, }: let sources = callPackage ../sources.nix { }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "swift-corelibs-xctest"; inherit (sources) version; @@ -18,8 +20,11 @@ in stdenv.mkDerivation { outputs = [ "out" ]; - nativeBuildInputs = [ cmake ninja swift ] - ++ lib.optional stdenv.hostPlatform.isDarwin DarwinTools; # sw_vers + nativeBuildInputs = [ + cmake + ninja + swift + ] ++ lib.optional stdenv.hostPlatform.isDarwin DarwinTools; # sw_vers buildInputs = [ Foundation ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix b/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix index 836b282b0e49f..c4234ab3fda9a 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix @@ -1,32 +1,37 @@ -{ name-prefix ? "temurin" -, brand-name ? "Eclipse Temurin" -, sourcePerArch -, knownVulnerabilities ? [ ] +{ + name-prefix ? "temurin", + brand-name ? "Eclipse Temurin", + sourcePerArch, + knownVulnerabilities ? [ ], }: -{ swingSupport ? true # not used for now -, lib -, stdenv -, fetchurl -, setJavaClassPath +{ + swingSupport ? true, # not used for now + lib, + stdenv, + fetchurl, + setJavaClassPath, }: let cpuName = stdenv.hostPlatform.parsed.cpu.name; validCpuTypes = builtins.attrNames lib.systems.parse.cpuTypes; - providedCpuTypes = builtins.filter - (arch: builtins.elem arch validCpuTypes) - (builtins.attrNames sourcePerArch); + providedCpuTypes = builtins.filter (arch: builtins.elem arch validCpuTypes) ( + builtins.attrNames sourcePerArch + ); result = stdenv.mkDerivation { pname = - if sourcePerArch.packageType == "jdk" - then "${name-prefix}-bin" - else "${name-prefix}-${sourcePerArch.packageType}-bin"; - version = - sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}"); + if sourcePerArch.packageType == "jdk" then + "${name-prefix}-bin" + else + "${name-prefix}-${sourcePerArch.packageType}-bin"; + version = sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}"); src = fetchurl { - inherit (sourcePerArch.${cpuName} or (throw "unsupported system ${stdenv.hostPlatform.system}")) url sha256; + inherit (sourcePerArch.${cpuName} or (throw "unsupported system ${stdenv.hostPlatform.system}")) + url + sha256 + ; }; # See: https://github.com/NixOS/patchelf/issues/10 @@ -66,7 +71,10 @@ let meta = with lib; { license = licenses.gpl2Classpath; - sourceProvenance = with sourceTypes; [ binaryNativeCode binaryBytecode ]; + sourceProvenance = with sourceTypes; [ + binaryNativeCode + binaryBytecode + ]; description = "${brand-name}, prebuilt OpenJDK binary"; platforms = builtins.map (arch: arch + "-darwin") providedCpuTypes; # some inherit jre.meta.platforms maintainers = with maintainers; [ taku0 ] ++ lib.teams.java.members; diff --git a/pkgs/development/compilers/temurin-bin/jdk-darwin.nix b/pkgs/development/compilers/temurin-bin/jdk-darwin.nix index 8363905118f8e..1f5c42d75032e 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-darwin.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-darwin.nix @@ -4,8 +4,8 @@ let sources = (lib.importJSON ./sources.json).hotspot.mac; common = opts: callPackage (import ./jdk-darwin-base.nix opts) { }; - # EOL = [ "This JDK version has reached End of Life." ]; in +# EOL = [ "This JDK version has reached End of Life." ]; { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; jre-8 = common { sourcePerArch = sources.jre.openjdk8; }; diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix index b166d3c0738bc..581dcdcee4f34 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix @@ -1,55 +1,59 @@ -{ name-prefix ? "temurin" -, brand-name ? "Eclipse Temurin" -, sourcePerArch -, knownVulnerabilities ? [ ] +{ + name-prefix ? "temurin", + brand-name ? "Eclipse Temurin", + sourcePerArch, + knownVulnerabilities ? [ ], }: -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, makeWrapper -, setJavaClassPath +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + makeWrapper, + setJavaClassPath, # minimum dependencies -, alsa-lib -, fontconfig -, freetype -, libffi -, xorg -, zlib + alsa-lib, + fontconfig, + freetype, + libffi, + xorg, + zlib, # runtime dependencies -, cups + cups, # runtime dependencies for GTK+ Look and Feel # TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages # which should be fixable, this is a no-rebuild workaround for GHC. -, gtkSupport ? !stdenv.targetPlatform.isGhcjs -, cairo -, glib -, gtk3 + gtkSupport ? !stdenv.targetPlatform.isGhcjs, + cairo, + glib, + gtk3, }: let cpuName = stdenv.hostPlatform.parsed.cpu.name; - runtimeDependencies = [ - cups - ] ++ lib.optionals gtkSupport [ - cairo - glib - gtk3 - ]; + runtimeDependencies = + [ + cups + ] + ++ lib.optionals gtkSupport [ + cairo + glib + gtk3 + ]; runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; validCpuTypes = builtins.attrNames lib.systems.parse.cpuTypes; - providedCpuTypes = builtins.filter - (arch: builtins.elem arch validCpuTypes) - (builtins.attrNames sourcePerArch); + providedCpuTypes = builtins.filter (arch: builtins.elem arch validCpuTypes) ( + builtins.attrNames sourcePerArch + ); result = stdenv.mkDerivation { pname = - if sourcePerArch.packageType == "jdk" - then "${name-prefix}-bin" - else "${name-prefix}-${sourcePerArch.packageType}-bin"; + if sourcePerArch.packageType == "jdk" then + "${name-prefix}-bin" + else + "${name-prefix}-${sourcePerArch.packageType}-bin"; - version = - sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}"); + version = sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}"); src = fetchurl { inherit (sourcePerArch.${cpuName}) url sha256; @@ -68,7 +72,10 @@ let zlib ] ++ lib.optional stdenv.hostPlatform.isAarch32 libffi; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; # See: https://github.com/NixOS/patchelf/issues/10 dontStrip = 1; @@ -124,7 +131,10 @@ let meta = with lib; { license = licenses.gpl2Classpath; - sourceProvenance = with sourceTypes; [ binaryNativeCode binaryBytecode ]; + sourceProvenance = with sourceTypes; [ + binaryNativeCode + binaryBytecode + ]; description = "${brand-name}, prebuilt OpenJDK binary"; platforms = builtins.map (arch: arch + "-linux") providedCpuTypes; # some inherit jre.meta.platforms maintainers = with maintainers; [ taku0 ] ++ lib.teams.java.members; diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux.nix b/pkgs/development/compilers/temurin-bin/jdk-linux.nix index 2c633f150fdb0..4ed06b98198b2 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-linux.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-linux.nix @@ -1,12 +1,16 @@ -{ stdenv, lib, callPackage }: +{ + stdenv, + lib, + callPackage, +}: let variant = if stdenv.hostPlatform.isMusl then "alpine-linux" else "linux"; sources = (lib.importJSON ./sources.json).hotspot.${variant}; common = opts: callPackage (import ./jdk-linux-base.nix opts) { }; - # EOL = [ "This JDK version has reached End of Life." ]; in +# EOL = [ "This JDK version has reached End of Life." ]; { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; jre-8 = common { sourcePerArch = sources.jre.openjdk8; }; diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix index 4193ab53164c5..0a455d45ce0fc 100644 --- a/pkgs/development/compilers/terra/default.nix +++ b/pkgs/development/compilers/terra/default.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, llvmPackages_16, ncurses, cmake, libxml2 -, symlinkJoin, cudaPackages, enableCUDA ? false -, libffi, libobjc, libpfm, Cocoa, Foundation +{ + lib, + stdenv, + fetchFromGitHub, + llvmPackages_16, + ncurses, + cmake, + libxml2, + symlinkJoin, + cudaPackages, + enableCUDA ? false, + libffi, + libobjc, + libpfm, + Cocoa, + Foundation, }: let @@ -31,7 +44,8 @@ let clangVersion = llvmPackages.clang-unwrapped.version; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "terra"; version = "1.1.0"; @@ -43,30 +57,44 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ llvmMerged ncurses libffi libxml2 ] + buildInputs = + [ + llvmMerged + ncurses + libffi + libxml2 + ] ++ lib.optionals enableCUDA [ cuda ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) libpfm - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc Cocoa Foundation ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + Cocoa + Foundation + ]; - cmakeFlags = let - resourceDir = "${llvmMerged}/lib/clang/" + ( - if lib.versionOlder clangVersion "16" - then - clangVersion - else - lib.versions.major clangVersion - ); - in [ - "-DHAS_TERRA_VERSION=0" - "-DTERRA_VERSION=${version}" - "-DTERRA_LUA=luajit" - "-DTERRA_SKIP_LUA_DOWNLOAD=ON" - "-DCLANG_RESOURCE_DIR=${resourceDir}" - ] ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON"; + cmakeFlags = + let + resourceDir = + "${llvmMerged}/lib/clang/" + + (if lib.versionOlder clangVersion "16" then clangVersion else lib.versions.major clangVersion); + in + [ + "-DHAS_TERRA_VERSION=0" + "-DTERRA_VERSION=${version}" + "-DTERRA_LUA=luajit" + "-DTERRA_SKIP_LUA_DOWNLOAD=ON" + "-DCLANG_RESOURCE_DIR=${resourceDir}" + ] + ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON"; doCheck = true; hardeningDisable = [ "fortify" ]; - outputs = [ "bin" "dev" "out" "static" ]; + outputs = [ + "bin" + "dev" + "out" + "static" + ]; patches = [ ./nix-cflags.patch ]; @@ -95,7 +123,12 @@ in stdenv.mkDerivation rec { description = "Low-level counterpart to Lua"; homepage = "https://terralang.org/"; platforms = platforms.all; - maintainers = with maintainers; [ jb55 seylerius thoughtpolice elliottslaughter ]; + maintainers = with maintainers; [ + jb55 + seylerius + thoughtpolice + elliottslaughter + ]; license = licenses.mit; # never built on aarch64-darwin since first introduction in nixpkgs # Linux Aarch64 broken above LLVM11 diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix index a8dc7b319c51f..f0cbb2e8b8e87 100644 --- a/pkgs/development/compilers/teyjus/default.nix +++ b/pkgs/development/compilers/teyjus/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, flex, bison }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + flex, + bison, +}: buildDunePackage rec { pname = "teyjus"; @@ -13,7 +19,10 @@ buildDunePackage rec { strictDeps = true; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ + flex + bison + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 65eea0a48e465..1f848fe9a9a5c 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -1,11 +1,12 @@ -{ lib -, copyPkgconfigItems -, fetchFromRepoOrCz -, makePkgconfigItem -, perl -, stdenv -, texinfo -, which +{ + lib, + copyPkgconfigItems, + fetchFromRepoOrCz, + makePkgconfigItem, + perl, + stdenv, + texinfo, + which, }: stdenv.mkDerivation (finalAttrs: { @@ -18,7 +19,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jY0P2GErmo//YBaz6u4/jj/voOE3C2JaIDRmo0orXN8="; }; - outputs = [ "out" "info" "man" ]; + outputs = [ + "out" + "info" + "man" + ]; nativeBuildInputs = [ copyPkgconfigItems @@ -29,60 +34,68 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - pkgconfigItems = let - libtcc-pcitem = { - name = "libtcc"; - inherit (finalAttrs) version; - cflags = [ "-I${libtcc-pcitem.variables.includedir}" ]; - libs = [ - "-L${libtcc-pcitem.variables.libdir}" - "-Wl,--rpath ${libtcc-pcitem.variables.libdir}" - "-ltcc" - ]; - variables = { - prefix = "${placeholder "out"}"; - includedir = "${placeholder "dev"}/include"; - libdir = "${placeholder "lib"}/lib"; + pkgconfigItems = + let + libtcc-pcitem = { + name = "libtcc"; + inherit (finalAttrs) version; + cflags = [ "-I${libtcc-pcitem.variables.includedir}" ]; + libs = [ + "-L${libtcc-pcitem.variables.libdir}" + "-Wl,--rpath ${libtcc-pcitem.variables.libdir}" + "-ltcc" + ]; + variables = { + prefix = "${placeholder "out"}"; + includedir = "${placeholder "dev"}/include"; + libdir = "${placeholder "lib"}/lib"; + }; + description = "Tiny C compiler backend"; }; - description = "Tiny C compiler backend"; - }; - in [ - (makePkgconfigItem libtcc-pcitem) - ]; + in + [ + (makePkgconfigItem libtcc-pcitem) + ]; postPatch = '' patchShebangs texi2pod.pl ''; - configureFlags = [ - "--cc=$CC" - "--ar=$AR" - "--crtprefix=${lib.getLib stdenv.cc.libc}/lib" - "--sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include" - "--libpaths=${lib.getLib stdenv.cc.libc}/lib" - # build cross compilers - "--enable-cross" - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - "--config-musl" - ]; - - preConfigure = let - # To avoid "malformed 32-bit x.y.z" error on mac when using clang - versionIsClean = version: - builtins.match "^[0-9]\\.+[0-9]+\\.[0-9]+" version != null; - in '' - ${ - if stdenv.hostPlatform.isDarwin && ! versionIsClean finalAttrs.version - then "echo 'not overwriting VERSION since it would upset ld'" - else "echo ${finalAttrs.version} > VERSION" - } - configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)") - ''; + configureFlags = + [ + "--cc=$CC" + "--ar=$AR" + "--crtprefix=${lib.getLib stdenv.cc.libc}/lib" + "--sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include" + "--libpaths=${lib.getLib stdenv.cc.libc}/lib" + # build cross compilers + "--enable-cross" + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + "--config-musl" + ]; + + preConfigure = + let + # To avoid "malformed 32-bit x.y.z" error on mac when using clang + versionIsClean = version: builtins.match "^[0-9]\\.+[0-9]+\\.[0-9]+" version != null; + in + '' + ${ + if stdenv.hostPlatform.isDarwin && !versionIsClean finalAttrs.version then + "echo 'not overwriting VERSION since it would upset ld'" + else + "echo ${finalAttrs.version} > VERSION" + } + configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)") + ''; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=implicit-int" - "-Wno-error=int-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=implicit-int" + "-Wno-error=int-conversion" + ] + ); # Test segfault for static build doCheck = !stdenv.hostPlatform.isStatic; @@ -119,7 +132,10 @@ stdenv.mkDerivation (finalAttrs: { ''; license = with lib.licenses; [ lgpl21Only ]; mainProgram = "tcc"; - maintainers = with lib.maintainers; [ joachifm AndersonTorres ]; + maintainers = with lib.maintainers; [ + joachifm + AndersonTorres + ]; platforms = lib.platforms.unix; # https://www.mail-archive.com/tinycc-devel@nongnu.org/msg10199.html broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; diff --git a/pkgs/development/compilers/tinygo/default.nix b/pkgs/development/compilers/tinygo/default.nix index 339a2abb7fa5a..1829c3be1b4a8 100644 --- a/pkgs/development/compilers/tinygo/default.nix +++ b/pkgs/development/compilers/tinygo/default.nix @@ -1,22 +1,28 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, llvmPackages -, go -, xar -, binaryen -, avrdude -, gdb -, openocd -, runCommand -, tinygoTests ? [ "smoketest" ] +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + llvmPackages, + go, + xar, + binaryen, + avrdude, + gdb, + openocd, + runCommand, + tinygoTests ? [ "smoketest" ], }: let llvmMajor = lib.versions.major llvm.version; - inherit (llvmPackages) llvm clang compiler-rt lld; + inherit (llvmPackages) + llvm + clang + compiler-rt + lld + ; # only doing this because only on darwin placing clang.cc in nativeBuildInputs # doesn't build @@ -52,9 +58,14 @@ buildGoModule rec { ]; nativeCheckInputs = [ binaryen ]; - nativeBuildInputs = [ makeWrapper lld ]; - buildInputs = [ llvm clang.cc ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ xar ]; + nativeBuildInputs = [ + makeWrapper + lld + ]; + buildInputs = [ + llvm + clang.cc + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xar ]; doCheck = (stdenv.buildPlatform.canExecute stdenv.hostPlatform); inherit tinygoTests; @@ -111,8 +122,14 @@ buildGoModule rec { ''; # GDB upstream does not support ARM darwin - runtimeDeps = [ go clang.cc lld avrdude openocd binaryen ] - ++ lib.optionals (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) [ gdb ]; + runtimeDeps = [ + go + clang.cc + lld + avrdude + openocd + binaryen + ] ++ lib.optionals (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) [ gdb ]; installPhase = '' runHook preInstall @@ -120,7 +137,7 @@ buildGoModule rec { make build/release USE_SYSTEM_BINARYEN=1 wrapProgram $out/bin/tinygo \ - --prefix PATH : ${lib.makeBinPath runtimeDeps } + --prefix PATH : ${lib.makeBinPath runtimeDeps} runHook postInstall ''; @@ -129,6 +146,9 @@ buildGoModule rec { homepage = "https://tinygo.org/"; description = "Go compiler for small places"; license = licenses.bsd3; - maintainers = with maintainers; [ Madouura muscaln ]; + maintainers = with maintainers; [ + Madouura + muscaln + ]; }; } diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index f96cce8c53f1b..f916e0285dfaf 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, file, openssl, mlton -, libmysqlclient, postgresql, sqlite, gcc, icu +{ + lib, + stdenv, + fetchurl, + file, + openssl, + mlton, + libmysqlclient, + postgresql, + sqlite, + gcc, + icu, }: stdenv.mkDerivation rec { @@ -11,7 +21,14 @@ stdenv.mkDerivation rec { sha256 = "0qh6wcxfk5kf735i5gqwnkdirnnmqhnnpkfz96gz144dgz2i0c5c"; }; - buildInputs = [ openssl mlton libmysqlclient postgresql sqlite icu ]; + buildInputs = [ + openssl + mlton + libmysqlclient + postgresql + sqlite + icu + ]; prePatch = '' sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure @@ -43,9 +60,12 @@ stdenv.mkDerivation rec { meta = { description = "Advanced purely-functional web programming language"; mainProgram = "urweb"; - homepage = "http://www.impredicative.com/ur/"; - license = lib.licenses.bsd3; - platforms = lib.platforms.linux ++ lib.platforms.darwin; - maintainers = [ lib.maintainers.thoughtpolice lib.maintainers.sheganinans ]; + homepage = "http://www.impredicative.com/ur/"; + license = lib.licenses.bsd3; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + maintainers = [ + lib.maintainers.thoughtpolice + lib.maintainers.sheganinans + ]; }; } diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 96b995d64b6c3..0285a53554611 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -1,90 +1,136 @@ -{ stdenv, lib, fetchurl, pkg-config, flex, bison, libxslt, autoconf, autoreconfHook -, gnome, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll, vala, gobject-introspection +{ + stdenv, + lib, + fetchurl, + pkg-config, + flex, + bison, + libxslt, + autoconf, + autoreconfHook, + gnome, + graphviz, + glib, + libiconv, + libintl, + libtool, + expat, + substituteAll, + vala, + gobject-introspection, }: let - generic = lib.makeOverridable ({ - version, hash, - extraNativeBuildInputs ? [], - extraBuildInputs ? [], - withGraphviz ? false - }: - let - # Build vala (valadoc) without graphviz support. Inspired from the openembedded-core project. - # https://github.com/openembedded/openembedded-core/blob/a5440d4288e09d3e/meta/recipes-devtools/vala/vala/disable-graphviz.patch - graphvizPatch = - { - "0.56" = ./disable-graphviz-0.56.8.patch; - }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala"); - - disableGraphviz = !withGraphviz; - - in stdenv.mkDerivation rec { - pname = "vala"; - inherit version; - - setupHook = substituteAll { - src = ./setup-hook.sh; - apiVersion = lib.versions.majorMinor version; - }; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - inherit hash; - }; - - postPatch = '' - patchShebangs tests - ''; - - # If we're disabling graphviz, apply the patches and corresponding - # configure flag. We also need to override the path to the valac compiler - # so that it can be used to regenerate documentation. - patches = lib.optionals disableGraphviz [ graphvizPatch ]; - configureFlags = lib.optional disableGraphviz "--disable-graphviz"; - # when cross-compiling ./compiler/valac is valac for host - # so add the build vala in nativeBuildInputs - preBuild = lib.optionalString (disableGraphviz && (stdenv.buildPlatform == stdenv.hostPlatform)) "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")"; - - outputs = [ "out" "devdoc" ]; - - nativeBuildInputs = [ - pkg-config flex bison libxslt gobject-introspection - ] ++ lib.optional (stdenv.hostPlatform.isDarwin) expat - ++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ vala ] - ++ extraNativeBuildInputs; - - buildInputs = [ - glib libiconv libintl - ] ++ lib.optional (withGraphviz) graphviz - ++ extraBuildInputs; - - enableParallelBuilding = true; - - doCheck = false; # fails, requires dbus daemon - - passthru = { - updateScript = gnome.updateScript { - attrPath = - let - roundUpToEven = num: num + lib.mod num 2; - in "${pname}_${lib.versions.major version}_${builtins.toString (roundUpToEven (lib.toInt (lib.versions.minor version)))}"; - packageName = pname; - freeze = true; + generic = lib.makeOverridable ( + { + version, + hash, + extraNativeBuildInputs ? [ ], + extraBuildInputs ? [ ], + withGraphviz ? false, + }: + let + # Build vala (valadoc) without graphviz support. Inspired from the openembedded-core project. + # https://github.com/openembedded/openembedded-core/blob/a5440d4288e09d3e/meta/recipes-devtools/vala/vala/disable-graphviz.patch + graphvizPatch = + { + "0.56" = ./disable-graphviz-0.56.8.patch; + } + .${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala"); + + disableGraphviz = !withGraphviz; + + in + stdenv.mkDerivation rec { + pname = "vala"; + inherit version; + + setupHook = substituteAll { + src = ./setup-hook.sh; + apiVersion = lib.versions.majorMinor version; }; - }; - - meta = with lib; { - description = "Compiler for GObject type system"; - homepage = "https://vala.dev"; - license = licenses.lgpl21Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ antono jtojnar ] ++ teams.pantheon.members; - }; - }); - -in rec { + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + inherit hash; + }; + + postPatch = '' + patchShebangs tests + ''; + + # If we're disabling graphviz, apply the patches and corresponding + # configure flag. We also need to override the path to the valac compiler + # so that it can be used to regenerate documentation. + patches = lib.optionals disableGraphviz [ graphvizPatch ]; + configureFlags = lib.optional disableGraphviz "--disable-graphviz"; + # when cross-compiling ./compiler/valac is valac for host + # so add the build vala in nativeBuildInputs + preBuild = lib.optionalString ( + disableGraphviz && (stdenv.buildPlatform == stdenv.hostPlatform) + ) "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")"; + + outputs = [ + "out" + "devdoc" + ]; + + nativeBuildInputs = + [ + pkg-config + flex + bison + libxslt + gobject-introspection + ] + ++ lib.optional (stdenv.hostPlatform.isDarwin) expat + ++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ vala ] + ++ extraNativeBuildInputs; + + buildInputs = + [ + glib + libiconv + libintl + ] + ++ lib.optional (withGraphviz) graphviz + ++ extraBuildInputs; + + enableParallelBuilding = true; + + doCheck = false; # fails, requires dbus daemon + + passthru = { + updateScript = gnome.updateScript { + attrPath = + let + roundUpToEven = num: num + lib.mod num 2; + in + "${pname}_${lib.versions.major version}_${builtins.toString (roundUpToEven (lib.toInt (lib.versions.minor version)))}"; + packageName = pname; + freeze = true; + }; + }; + + meta = with lib; { + description = "Compiler for GObject type system"; + homepage = "https://vala.dev"; + license = licenses.lgpl21Plus; + platforms = platforms.unix; + maintainers = + with maintainers; + [ + antono + jtojnar + ] + ++ teams.pantheon.members; + }; + } + ); + +in +rec { vala_0_56 = generic { version = "0.56.17"; hash = "sha256-JhAMTk7wBJxhknXxQNl89WWIPQDHVDyCvM5aQmk07Wo="; diff --git a/pkgs/development/compilers/vyper/default.nix b/pkgs/development/compilers/vyper/default.nix index 89973eb524ee3..8f523f14735b6 100644 --- a/pkgs/development/compilers/vyper/default.nix +++ b/pkgs/development/compilers/vyper/default.nix @@ -1,18 +1,19 @@ -{ lib -, asttokens -, buildPythonPackage -, cbor2 -, fetchPypi -, git -, importlib-metadata -, packaging -, pycryptodome -, pythonOlder -, recommonmark -, setuptools-scm -, sphinx -, sphinx-rtd-theme -, writeText +{ + lib, + asttokens, + buildPythonPackage, + cbor2, + fetchPypi, + git, + importlib-metadata, + packaging, + pycryptodome, + pythonOlder, + recommonmark, + setuptools-scm, + sphinx, + sphinx-rtd-theme, + writeText, }: let diff --git a/pkgs/development/compilers/x11basic/default.nix b/pkgs/development/compilers/x11basic/default.nix index db1a0bc3ba828..e90eb300ffdc8 100644 --- a/pkgs/development/compilers/x11basic/default.nix +++ b/pkgs/development/compilers/x11basic/default.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchFromGitHub -, automake, autoconf, readline -, libX11, bluez, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + readline, + libX11, + bluez, + SDL2, }: stdenv.mkDerivation rec { @@ -14,9 +21,15 @@ stdenv.mkDerivation rec { sha256 = "1hpxzdqnjl1fiwgs2vrjg4kxm29c7pqwk3g1m4p5pm4x33a3d1q2"; }; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ - readline libX11 SDL2 bluez + readline + libX11 + SDL2 + bluez ]; preConfigure = "cd src;autoconf"; diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 617e6b862fb5a..ff0b276bebb4e 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, bison -, boost -, fetchFromGitHub -, flex -, libffi -, makeWrapper -, pkg-config -, python3 -, readline -, symlinkJoin -, tcl -, iverilog -, zlib -, yosys -, yosys-bluespec -, yosys-ghdl -, yosys-symbiflow -, enablePython ? true # enable python binding +{ + stdenv, + lib, + bison, + boost, + fetchFromGitHub, + flex, + libffi, + makeWrapper, + pkg-config, + python3, + readline, + symlinkJoin, + tcl, + iverilog, + zlib, + yosys, + yosys-bluespec, + yosys-ghdl, + yosys-symbiflow, + enablePython ? true, # enable python binding }: # NOTE: as of late 2020, yosys has switched to an automation robot that @@ -47,14 +48,17 @@ let # fasm # bluespec # ]); - withPlugins = plugins: + withPlugins = + plugins: let paths = lib.closePropagation plugins; - module_flags = with builtins; concatStringsSep " " - (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins); - in lib.appendToName "with-plugins" ( symlinkJoin { + module_flags = + with builtins; + concatStringsSep " " (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins); + in + lib.appendToName "with-plugins" (symlinkJoin { inherit (yosys) name; - paths = paths ++ [ yosys ] ; + paths = paths ++ [ yosys ]; nativeBuildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/yosys \ @@ -65,7 +69,7 @@ let allPlugins = { bluespec = yosys-bluespec; - ghdl = yosys-ghdl; + ghdl = yosys-ghdl; } // (yosys-symbiflow); boost_python = boost.override { @@ -73,15 +77,16 @@ let python = python3; }; -in stdenv.mkDerivation (finalAttrs: { - pname = "yosys"; +in +stdenv.mkDerivation (finalAttrs: { + pname = "yosys"; version = "0.47"; src = fetchFromGitHub { owner = "YosysHQ"; - repo = "yosys"; - rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-9u9aAPTZyt9vzZwryor3GRCGzs/mu2/XtM0XzV7uHfk="; + repo = "yosys"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-9u9aAPTZyt9vzZwryor3GRCGzs/mu2/XtM0XzV7uHfk="; fetchSubmodules = true; leaveDotGit = true; postFetch = '' @@ -99,18 +104,24 @@ in stdenv.mkDerivation (finalAttrs: { }; enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config bison flex ]; + nativeBuildInputs = [ + pkg-config + bison + flex + ]; propagatedBuildInputs = [ tcl readline libffi zlib - (python3.withPackages (pp: with pp; [ - click - ])) + (python3.withPackages ( + pp: with pp; [ + click + ] + )) ] ++ lib.optional enablePython boost_python; - makeFlags = [ "PREFIX=${placeholder "out"}"]; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; patches = [ ./plugin-search-dirs.patch @@ -124,19 +135,21 @@ in stdenv.mkDerivation (finalAttrs: { patchShebangs tests ./misc/yosys-config.in ''; - preBuild = '' - chmod -R u+w . - make config-${if stdenv.cc.isClang or false then "clang" else "gcc"} - - if ! grep -q "YOSYS_VER := $version" Makefile; then - echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (allegedly ${finalAttrs.version}), failing." - exit 1 - fi - '' + lib.optionalString enablePython '' - echo "ENABLE_PYOSYS := 1" >> Makefile.conf - echo "PYTHON_DESTDIR := $out/${python3.sitePackages}" >> Makefile.conf - echo "BOOST_PYTHON_LIB := -lboost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}" >> Makefile.conf - ''; + preBuild = + '' + chmod -R u+w . + make config-${if stdenv.cc.isClang or false then "clang" else "gcc"} + + if ! grep -q "YOSYS_VER := $version" Makefile; then + echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (allegedly ${finalAttrs.version}), failing." + exit 1 + fi + '' + + lib.optionalString enablePython '' + echo "ENABLE_PYOSYS := 1" >> Makefile.conf + echo "PYTHON_DESTDIR := $out/${python3.sitePackages}" >> Makefile.conf + echo "BOOST_PYTHON_LIB := -lboost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}" >> Makefile.conf + ''; preCheck = '' # autotest.sh automatically compiles a utility during startup if it's out of date. @@ -157,9 +170,13 @@ in stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Open RTL synthesis framework and tools"; - homepage = "https://yosyshq.net/yosys/"; - license = licenses.isc; - platforms = platforms.all; - maintainers = with maintainers; [ shell thoughtpolice Luflosi ]; + homepage = "https://yosyshq.net/yosys/"; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ + shell + thoughtpolice + Luflosi + ]; }; }) diff --git a/pkgs/development/compilers/yosys/plugins/bluespec.nix b/pkgs/development/compilers/yosys/plugins/bluespec.nix index 77d4ad8cf9dcd..5a1a0ce3e2105 100644 --- a/pkgs/development/compilers/yosys/plugins/bluespec.nix +++ b/pkgs/development/compilers/yosys/plugins/bluespec.nix @@ -1,5 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config -, yosys, readline, zlib, bluespec +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + yosys, + readline, + zlib, + bluespec, }: stdenv.mkDerivation { @@ -8,13 +15,18 @@ stdenv.mkDerivation { plugin = "bluespec"; src = fetchFromGitHub { - owner = "thoughtpolice"; - repo = "yosys-bluespec"; - rev = "f6f4127a4e96e18080fd5362b6769fa3e24c76b1"; + owner = "thoughtpolice"; + repo = "yosys-bluespec"; + rev = "f6f4127a4e96e18080fd5362b6769fa3e24c76b1"; sha256 = "sha256-3cNFP/k4JsgLyUQHWU10Htl2Rh0staAcA3R4piD6hDE="; }; - buildInputs = [ yosys readline zlib bluespec ]; + buildInputs = [ + yosys + readline + zlib + bluespec + ]; nativeBuildInputs = [ pkg-config ]; doCheck = true; @@ -26,8 +38,8 @@ stdenv.mkDerivation { meta = with lib; { description = "Bluespec plugin for Yosys"; - license = licenses.isc; - platforms = platforms.all; + license = licenses.isc; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/development/compilers/yosys/plugins/ghdl.nix b/pkgs/development/compilers/yosys/plugins/ghdl.nix index 2ec17f391a99e..a12fd62ca2f82 100644 --- a/pkgs/development/compilers/yosys/plugins/ghdl.nix +++ b/pkgs/development/compilers/yosys/plugins/ghdl.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, yosys -, readline -, zlib -, ghdl +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + yosys, + readline, + zlib, + ghdl, }: stdenv.mkDerivation { @@ -15,9 +16,9 @@ stdenv.mkDerivation { plugin = "ghdl"; src = fetchFromGitHub { - owner = "ghdl"; - repo = "ghdl-yosys-plugin"; - rev = "c9b05e481423c55ffcbb856fd5296701f670808c"; + owner = "ghdl"; + repo = "ghdl-yosys-plugin"; + rev = "c9b05e481423c55ffcbb856fd5296701f670808c"; sha256 = "sha256-tT2+DXUtbJIBzBUBcyG2sz+3G+dTkciLVIczcRPr0Jw="; }; @@ -39,9 +40,9 @@ stdenv.mkDerivation { meta = with lib; { description = "GHDL plugin for Yosys"; - homepage = "https://github.com/ghdl/ghdl-yosys-plugin"; - license = licenses.isc; - platforms = platforms.all; + homepage = "https://github.com/ghdl/ghdl-yosys-plugin"; + license = licenses.isc; + platforms = platforms.all; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/development/compilers/yosys/plugins/symbiflow.nix b/pkgs/development/compilers/yosys/plugins/symbiflow.nix index 2afa372b6ec40..82ff16fe5ed43 100644 --- a/pkgs/development/compilers/yosys/plugins/symbiflow.nix +++ b/pkgs/development/compilers/yosys/plugins/symbiflow.nix @@ -1,22 +1,24 @@ -{ fetchFromGitHub -, gtest -, lib -, python3 -, readline -, stdenv -, yosys -, zlib -, yosys-symbiflow -, pkg-config -}: let +{ + fetchFromGitHub, + gtest, + lib, + python3, + readline, + stdenv, + yosys, + zlib, + yosys-symbiflow, + pkg-config, +}: +let version = "1.20230906"; src = fetchFromGitHub { owner = "chipsalliance"; - repo = "yosys-f4pga-plugins"; - rev = "v${version}"; - hash = "sha256-XIn5wFw8i2njDN0Arua5BdZ0u1q6a/aJAs48YICehsc="; + repo = "yosys-f4pga-plugins"; + rev = "v${version}"; + hash = "sha256-XIn5wFw8i2njDN0Arua5BdZ0u1q6a/aJAs48YICehsc="; }; # Supported symbiflow plugins. @@ -38,62 +40,74 @@ static_gtest = gtest.overrideAttrs (old: { dontDisableStatic = true; disableHardening = [ "pie" ]; - cmakeFlags = old.cmakeFlags ++ ["-DBUILD_SHARED_LIBS=OFF"]; + cmakeFlags = old.cmakeFlags ++ [ "-DBUILD_SHARED_LIBS=OFF" ]; }); -in lib.genAttrs plugins (plugin: stdenv.mkDerivation (rec { - pname = "yosys-symbiflow-${plugin}-plugin"; - inherit src version plugin; - enableParallelBuilding = true; +in +lib.genAttrs plugins ( + plugin: + stdenv.mkDerivation (rec { + pname = "yosys-symbiflow-${plugin}-plugin"; + inherit src version plugin; + enableParallelBuilding = true; - nativeBuildInputs = [ python3 pkg-config ]; - buildInputs = [ - yosys - readline - zlib - ]; + nativeBuildInputs = [ + python3 + pkg-config + ]; + buildInputs = [ + yosys + readline + zlib + ]; - # xdc has an incorrect path to a test which has yet to be patched - doCheck = plugin != "xdc"; - nativeCheckInputs = [ static_gtest ]; + # xdc has an incorrect path to a test which has yet to be patched + doCheck = plugin != "xdc"; + nativeCheckInputs = [ static_gtest ]; - # A Makefile rule tries to wget-fetch a yosys script from github. - # Link the script from our yosys sources in preBuild instead, so that - # the Makefile rule is a no-op. - preBuild = '' - ln -s ${yosys.src}/passes/pmgen/pmgen.py pmgen.py - ''; + # A Makefile rule tries to wget-fetch a yosys script from github. + # Link the script from our yosys sources in preBuild instead, so that + # the Makefile rule is a no-op. + preBuild = '' + ln -s ${yosys.src}/passes/pmgen/pmgen.py pmgen.py + ''; - # Providing a symlink avoids the need for patching the test makefile - postUnpack = '' - mkdir -p source/third_party/googletest/build/ - ln -s ${static_gtest}/lib source/third_party/googletest/build/lib - ''; + # Providing a symlink avoids the need for patching the test makefile + postUnpack = '' + mkdir -p source/third_party/googletest/build/ + ln -s ${static_gtest}/lib source/third_party/googletest/build/lib + ''; - makeFlags = [ - "PLUGIN_LIST=${plugin}" - ]; + makeFlags = [ + "PLUGIN_LIST=${plugin}" + ]; - buildFlags = [ - "YOSYS_PLUGINS_DIR=\${out}/share/yosys/plugins/" - "YOSYS_DATA_DIR=\${out}/share/yosys/" - ]; + buildFlags = [ + "YOSYS_PLUGINS_DIR=\${out}/share/yosys/plugins/" + "YOSYS_DATA_DIR=\${out}/share/yosys/" + ]; - checkTarget = "test"; - checkFlags = [ - ( "NIX_YOSYS_PLUGIN_DIRS=\${NIX_BUILD_TOP}/source/${plugin}-plugin/build" - # sdc and xdc plugins use design introspection for their tests - + (lib.optionalString ( plugin == "sdc" || plugin == "xdc" ) - ":${yosys-symbiflow.design_introspection}/share/yosys/plugins/") - ) - ]; + checkTarget = "test"; + checkFlags = [ + ( + "NIX_YOSYS_PLUGIN_DIRS=\${NIX_BUILD_TOP}/source/${plugin}-plugin/build" + # sdc and xdc plugins use design introspection for their tests + + (lib.optionalString ( + plugin == "sdc" || plugin == "xdc" + ) ":${yosys-symbiflow.design_introspection}/share/yosys/plugins/") + ) + ]; - installFlags = buildFlags; + installFlags = buildFlags; - meta = with lib; { - description = "Symbiflow ${plugin} plugin for Yosys"; - license = licenses.isc; - platforms = platforms.all; - maintainers = with maintainers; [ ollieB thoughtpolice ]; - }; -})) + meta = with lib; { + description = "Symbiflow ${plugin} plugin for Yosys"; + license = licenses.isc; + platforms = platforms.all; + maintainers = with maintainers; [ + ollieB + thoughtpolice + ]; + }; + }) +) diff --git a/pkgs/development/compilers/zig/hook.nix b/pkgs/development/compilers/zig/hook.nix index 67cfac263a75e..99adbdeb2b7b0 100644 --- a/pkgs/development/compilers/zig/hook.nix +++ b/pkgs/development/compilers/zig/hook.nix @@ -1,6 +1,7 @@ -{ lib -, makeSetupHook -, zig +{ + lib, + makeSetupHook, + zig, }: makeSetupHook { @@ -39,7 +40,10 @@ makeSetupHook { else "-Drelease-safe=true"; in - [ "-Dcpu=baseline" releaseType ]; + [ + "-Dcpu=baseline" + releaseType + ]; }; passthru = { inherit zig; }; diff --git a/pkgs/development/compilers/zulu/11.nix b/pkgs/development/compilers/zulu/11.nix index ce4d15629b811..6f5d0b66767a3 100644 --- a/pkgs/development/compilers/zulu/11.nix +++ b/pkgs/development/compilers/zulu/11.nix @@ -1,42 +1,54 @@ -{ callPackage -, enableJavaFX ? false -, ... +{ + callPackage, + enableJavaFX ? false, + ... }@args: -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-11-lts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-linux = { - zuluVersion = "11.74.15"; - jdkVersion = "11.0.24"; - hash = - if enableJavaFX then "sha256-eP2BCD77uRmukd48+pDlIlhos9RjL9VYx8tpQdq2uNo=" - else "sha256-p6rA5pqZv2Sho+yW8IFJrAaaW72q766SLuOnRl/ZGLM="; - }; +callPackage ./common.nix ( + { + # Details from https://www.azul.com/downloads/?version=java-11-lts&package=jdk + # Note that the latest build may differ by platform + dists = { + x86_64-linux = { + zuluVersion = "11.74.15"; + jdkVersion = "11.0.24"; + hash = + if enableJavaFX then + "sha256-eP2BCD77uRmukd48+pDlIlhos9RjL9VYx8tpQdq2uNo=" + else + "sha256-p6rA5pqZv2Sho+yW8IFJrAaaW72q766SLuOnRl/ZGLM="; + }; - aarch64-linux = { - zuluVersion = "11.74.15"; - jdkVersion = "11.0.24"; - hash = - if enableJavaFX then "sha256-nAUjPk9gktO0UJk7gAKygq+ztSJY5wk+EoG1LgJidJ8=" - else "sha256-T0c+YwfEZcA3iJmBriyzxBM2SECcczG25XVApIlgM+E="; - }; + aarch64-linux = { + zuluVersion = "11.74.15"; + jdkVersion = "11.0.24"; + hash = + if enableJavaFX then + "sha256-nAUjPk9gktO0UJk7gAKygq+ztSJY5wk+EoG1LgJidJ8=" + else + "sha256-T0c+YwfEZcA3iJmBriyzxBM2SECcczG25XVApIlgM+E="; + }; - x86_64-darwin = { - zuluVersion = "11.74.15"; - jdkVersion = "11.0.24"; - hash = - if enableJavaFX then "sha256-hanQw2FWbqsmGR1WixbM0BNWGeXmS2vt9tbaaEY7D1c=" - else "sha256-CH6pVui0PInHMt+AJOE0T2hrAmEcLFRJvmR4KZuanaw="; - }; + x86_64-darwin = { + zuluVersion = "11.74.15"; + jdkVersion = "11.0.24"; + hash = + if enableJavaFX then + "sha256-hanQw2FWbqsmGR1WixbM0BNWGeXmS2vt9tbaaEY7D1c=" + else + "sha256-CH6pVui0PInHMt+AJOE0T2hrAmEcLFRJvmR4KZuanaw="; + }; - aarch64-darwin = { - zuluVersion = "11.74.15"; - jdkVersion = "11.0.24"; - hash = - if enableJavaFX then "sha256-WbzpfPgoT3CTazKBnI1Fg+q+YQP6MwCWkon6VOeLZsA=" - else "sha256-+KxFgHbBDxN1O3NCAzqqBztxXveYAjrPFVuoFL/2dRQ="; + aarch64-darwin = { + zuluVersion = "11.74.15"; + jdkVersion = "11.0.24"; + hash = + if enableJavaFX then + "sha256-WbzpfPgoT3CTazKBnI1Fg+q+YQP6MwCWkon6VOeLZsA=" + else + "sha256-+KxFgHbBDxN1O3NCAzqqBztxXveYAjrPFVuoFL/2dRQ="; + }; }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) + } + // builtins.removeAttrs args [ "callPackage" ] +) diff --git a/pkgs/development/compilers/zulu/17.nix b/pkgs/development/compilers/zulu/17.nix index 3e94e824d55d9..622f75365b4f3 100644 --- a/pkgs/development/compilers/zulu/17.nix +++ b/pkgs/development/compilers/zulu/17.nix @@ -1,42 +1,54 @@ -{ callPackage -, enableJavaFX ? false -, ... +{ + callPackage, + enableJavaFX ? false, + ... }@args: -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-17-lts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-linux = { - zuluVersion = "17.52.17"; - jdkVersion = "17.0.12"; - hash = - if enableJavaFX then "sha256-qKpkvk7/IEnlOJoy7An0AVGUXWkWeuuiQzqKKE/+Ec4=" - else "sha256-JCRcjQzkkV2G5wsoi13psbTHjxCtuw5rqT4pEAOarRk="; - }; +callPackage ./common.nix ( + { + # Details from https://www.azul.com/downloads/?version=java-17-lts&package=jdk + # Note that the latest build may differ by platform + dists = { + x86_64-linux = { + zuluVersion = "17.52.17"; + jdkVersion = "17.0.12"; + hash = + if enableJavaFX then + "sha256-qKpkvk7/IEnlOJoy7An0AVGUXWkWeuuiQzqKKE/+Ec4=" + else + "sha256-JCRcjQzkkV2G5wsoi13psbTHjxCtuw5rqT4pEAOarRk="; + }; - aarch64-linux = { - zuluVersion = "17.52.17"; - jdkVersion = "17.0.12"; - hash = - if enableJavaFX then "sha256-mpTM/43oyDsOnoZM8AW1Z7EFTznnPAnYoC+T6csc8Fw=" - else "sha256-uIz2D5WjqySy5lobuvWp3kFTGsBKhXzT56QgCGyXwSY="; - }; + aarch64-linux = { + zuluVersion = "17.52.17"; + jdkVersion = "17.0.12"; + hash = + if enableJavaFX then + "sha256-mpTM/43oyDsOnoZM8AW1Z7EFTznnPAnYoC+T6csc8Fw=" + else + "sha256-uIz2D5WjqySy5lobuvWp3kFTGsBKhXzT56QgCGyXwSY="; + }; - x86_64-darwin = { - zuluVersion = "17.52.17"; - jdkVersion = "17.0.12"; - hash = - if enableJavaFX then "sha256-jb1oPmRzlYUMONovdsHowlC44X3/PFZ8KilxSsR924U=" - else "sha256-8VlGFUhCn3NE2A42xi69KzZqu0RoGOV1ZYj8oaqCnTc="; - }; + x86_64-darwin = { + zuluVersion = "17.52.17"; + jdkVersion = "17.0.12"; + hash = + if enableJavaFX then + "sha256-jb1oPmRzlYUMONovdsHowlC44X3/PFZ8KilxSsR924U=" + else + "sha256-8VlGFUhCn3NE2A42xi69KzZqu0RoGOV1ZYj8oaqCnTc="; + }; - aarch64-darwin = { - zuluVersion = "17.52.17"; - jdkVersion = "17.0.12"; - hash = - if enableJavaFX then "sha256-rEILTKTpX8DEoOGhlrhbxpcCyF2+QrjW92h0ox9ezp0=" - else "sha256-RZ3hNQQFE+spTT9lFHLjmkolSkpHDg2Hvro6xi7uNww="; + aarch64-darwin = { + zuluVersion = "17.52.17"; + jdkVersion = "17.0.12"; + hash = + if enableJavaFX then + "sha256-rEILTKTpX8DEoOGhlrhbxpcCyF2+QrjW92h0ox9ezp0=" + else + "sha256-RZ3hNQQFE+spTT9lFHLjmkolSkpHDg2Hvro6xi7uNww="; + }; }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) + } + // builtins.removeAttrs args [ "callPackage" ] +) diff --git a/pkgs/development/compilers/zulu/21.nix b/pkgs/development/compilers/zulu/21.nix index 9e86e0bc748b9..68a80599eec7a 100644 --- a/pkgs/development/compilers/zulu/21.nix +++ b/pkgs/development/compilers/zulu/21.nix @@ -1,42 +1,54 @@ -{ callPackage -, enableJavaFX ? false -, ... +{ + callPackage, + enableJavaFX ? false, + ... }@args: -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-21-lts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-linux = { - zuluVersion = "21.36.17"; - jdkVersion = "21.0.4"; - hash = - if enableJavaFX then "sha256-Q2bdM0/a2t5aBRCIzXBlhXamf8N7wdSUsK5VhaU9DcY=" - else "sha256-MY0MLtPIdvt+oslSlFzc997PtSZMpRrs4VnmNaxT1UQ="; - }; +callPackage ./common.nix ( + { + # Details from https://www.azul.com/downloads/?version=java-21-lts&package=jdk + # Note that the latest build may differ by platform + dists = { + x86_64-linux = { + zuluVersion = "21.36.17"; + jdkVersion = "21.0.4"; + hash = + if enableJavaFX then + "sha256-Q2bdM0/a2t5aBRCIzXBlhXamf8N7wdSUsK5VhaU9DcY=" + else + "sha256-MY0MLtPIdvt+oslSlFzc997PtSZMpRrs4VnmNaxT1UQ="; + }; - aarch64-linux = { - zuluVersion = "21.36.17"; - jdkVersion = "21.0.4"; - hash = - if enableJavaFX then "sha256-BzNEcDrQo5yOWnEsJxw9JfXYdZGN6/wxnTDB0qC1i/0=" - else "sha256-2jwtfbM2cLz2ZTJEGut/M9zw0ifI2v5841zuZ/aCnEw="; - }; + aarch64-linux = { + zuluVersion = "21.36.17"; + jdkVersion = "21.0.4"; + hash = + if enableJavaFX then + "sha256-BzNEcDrQo5yOWnEsJxw9JfXYdZGN6/wxnTDB0qC1i/0=" + else + "sha256-2jwtfbM2cLz2ZTJEGut/M9zw0ifI2v5841zuZ/aCnEw="; + }; - x86_64-darwin = { - zuluVersion = "21.36.17"; - jdkVersion = "21.0.4"; - hash = - if enableJavaFX then "sha256-H3gM2XCCcuUxlAEzX6IO7Cp6NtH85PYHlH54k5XvNAc=" - else "sha256-XOdaaiR8cCm3TEynz29g/SstaM4eiVb7RI0phDFrX+o="; - }; + x86_64-darwin = { + zuluVersion = "21.36.17"; + jdkVersion = "21.0.4"; + hash = + if enableJavaFX then + "sha256-H3gM2XCCcuUxlAEzX6IO7Cp6NtH85PYHlH54k5XvNAc=" + else + "sha256-XOdaaiR8cCm3TEynz29g/SstaM4eiVb7RI0phDFrX+o="; + }; - aarch64-darwin = { - zuluVersion = "21.36.17"; - jdkVersion = "21.0.4"; - hash = - if enableJavaFX then "sha256-lLAb8MABo95A5WcayBLNvsBSdVFptnO4EmhX2gjo6r8=" - else "sha256-vCdQ+BoWbMbpwwroqrpU8lOoyOydjPwEpVX+IHEse/8="; + aarch64-darwin = { + zuluVersion = "21.36.17"; + jdkVersion = "21.0.4"; + hash = + if enableJavaFX then + "sha256-lLAb8MABo95A5WcayBLNvsBSdVFptnO4EmhX2gjo6r8=" + else + "sha256-vCdQ+BoWbMbpwwroqrpU8lOoyOydjPwEpVX+IHEse/8="; + }; }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) + } + // builtins.removeAttrs args [ "callPackage" ] +) diff --git a/pkgs/development/compilers/zulu/23.nix b/pkgs/development/compilers/zulu/23.nix index 3208944f981fc..512a0f0813d09 100644 --- a/pkgs/development/compilers/zulu/23.nix +++ b/pkgs/development/compilers/zulu/23.nix @@ -1,42 +1,54 @@ -{ callPackage -, enableJavaFX ? false -, ... +{ + callPackage, + enableJavaFX ? false, + ... }@args: -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-23-lts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-linux = { - zuluVersion = "23.28.85"; - jdkVersion = "23.0.0"; - hash = - if enableJavaFX then "sha256-HEQ0lxHsoyHG+ZWIlWsbkqMf/rauARafzWoiElRwekA=" - else "sha256-a1YPqBMaWkoruNFoSckLyx00LCOZNsowlSn2L3XCDJA="; - }; +callPackage ./common.nix ( + { + # Details from https://www.azul.com/downloads/?version=java-23-lts&package=jdk + # Note that the latest build may differ by platform + dists = { + x86_64-linux = { + zuluVersion = "23.28.85"; + jdkVersion = "23.0.0"; + hash = + if enableJavaFX then + "sha256-HEQ0lxHsoyHG+ZWIlWsbkqMf/rauARafzWoiElRwekA=" + else + "sha256-a1YPqBMaWkoruNFoSckLyx00LCOZNsowlSn2L3XCDJA="; + }; - aarch64-linux = { - zuluVersion = "23.28.85"; - jdkVersion = "23.0.0"; - hash = - if enableJavaFX then throw "JavaFX is not available for aarch64-linux" - else "sha256-/i+ch7BMAwMQ1C4e3shp9BHuQ67vVXfmIK1YKs7L24M="; - }; + aarch64-linux = { + zuluVersion = "23.28.85"; + jdkVersion = "23.0.0"; + hash = + if enableJavaFX then + throw "JavaFX is not available for aarch64-linux" + else + "sha256-/i+ch7BMAwMQ1C4e3shp9BHuQ67vVXfmIK1YKs7L24M="; + }; - x86_64-darwin = { - zuluVersion = "23.28.85"; - jdkVersion = "23.0.0"; - hash = - if enableJavaFX then "sha256-1/YmLWA/men8jMjnhkZVMf2irf6Tc/5x7UECxqKJcL4=" - else "sha256-rEr8M3KF9Z95gV8sHqi5lQD2RJjtssZx8Q8goy6danw="; - }; + x86_64-darwin = { + zuluVersion = "23.28.85"; + jdkVersion = "23.0.0"; + hash = + if enableJavaFX then + "sha256-1/YmLWA/men8jMjnhkZVMf2irf6Tc/5x7UECxqKJcL4=" + else + "sha256-rEr8M3KF9Z95gV8sHqi5lQD2RJjtssZx8Q8goy6danw="; + }; - aarch64-darwin = { - zuluVersion = "23.28.85"; - jdkVersion = "23.0.0"; - hash = - if enableJavaFX then "sha256-TumPJoHmvklMlcpF4PFY/Arcdc5fkX5z0xeIuNFxluQ=" - else "sha256-gFvfJL0RQgIOATLTMdfa+fStUCrdHYC3rxy0j5eNVDc="; + aarch64-darwin = { + zuluVersion = "23.28.85"; + jdkVersion = "23.0.0"; + hash = + if enableJavaFX then + "sha256-TumPJoHmvklMlcpF4PFY/Arcdc5fkX5z0xeIuNFxluQ=" + else + "sha256-gFvfJL0RQgIOATLTMdfa+fStUCrdHYC3rxy0j5eNVDc="; + }; }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) + } + // builtins.removeAttrs args [ "callPackage" ] +) diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix index 175519bb8ab46..03a6b1c211c40 100644 --- a/pkgs/development/compilers/zulu/8.nix +++ b/pkgs/development/compilers/zulu/8.nix @@ -1,42 +1,54 @@ -{ callPackage -, enableJavaFX ? false -, ... +{ + callPackage, + enableJavaFX ? false, + ... }@args: -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-8-lts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-linux = { - zuluVersion = "8.80.0.17"; - jdkVersion = "8.0.422"; - hash = - if enableJavaFX then "sha256-Ls2sHCtP9htBIDwq5fNDRA3/bGN0bzaMp6nNkjU1zx8=" - else "sha256-YNxnNOFvTc0S3jt4F3UREi2196W7wSBmwieNJl7qamo="; - }; +callPackage ./common.nix ( + { + # Details from https://www.azul.com/downloads/?version=java-8-lts&package=jdk + # Note that the latest build may differ by platform + dists = { + x86_64-linux = { + zuluVersion = "8.80.0.17"; + jdkVersion = "8.0.422"; + hash = + if enableJavaFX then + "sha256-Ls2sHCtP9htBIDwq5fNDRA3/bGN0bzaMp6nNkjU1zx8=" + else + "sha256-YNxnNOFvTc0S3jt4F3UREi2196W7wSBmwieNJl7qamo="; + }; - aarch64-linux = { - zuluVersion = "8.80.0.17"; - jdkVersion = "8.0.422"; - hash = - if enableJavaFX then "sha256-aVBleFrj4OpUJh82rM8XQGy9SzGqjaeOBo20nAbtpJo=" - else "sha256-C5ebWtKAyKexOuEf4yM1y5tQZ2ICxREObwvMrcz5TXE="; - }; + aarch64-linux = { + zuluVersion = "8.80.0.17"; + jdkVersion = "8.0.422"; + hash = + if enableJavaFX then + "sha256-aVBleFrj4OpUJh82rM8XQGy9SzGqjaeOBo20nAbtpJo=" + else + "sha256-C5ebWtKAyKexOuEf4yM1y5tQZ2ICxREObwvMrcz5TXE="; + }; - x86_64-darwin = { - zuluVersion = "8.80.0.17"; - jdkVersion = "8.0.422"; - hash = - if enableJavaFX then "sha256-7NB0OH194nZdpIGyX8gLxJzjJdi2UIxmGsGI5M0yqJ4=" - else "sha256-vyB1Fepnpwsi9KjwFjEF+YbiCgmqZcirZu0zmRAp8PA="; - }; + x86_64-darwin = { + zuluVersion = "8.80.0.17"; + jdkVersion = "8.0.422"; + hash = + if enableJavaFX then + "sha256-7NB0OH194nZdpIGyX8gLxJzjJdi2UIxmGsGI5M0yqJ4=" + else + "sha256-vyB1Fepnpwsi9KjwFjEF+YbiCgmqZcirZu0zmRAp8PA="; + }; - aarch64-darwin = { - zuluVersion = "8.80.0.17"; - jdkVersion = "8.0.422"; - hash = - if enableJavaFX then "sha256-JuQkY923tizx5HQo4WC3YCk75a4qHJYNRFKpZ8XES58=" - else "sha256-Q/hU2ICVwmJehrXmACm4/X48ULTqM6WSc55JDVgkBvM="; + aarch64-darwin = { + zuluVersion = "8.80.0.17"; + jdkVersion = "8.0.422"; + hash = + if enableJavaFX then + "sha256-JuQkY923tizx5HQo4WC3YCk75a4qHJYNRFKpZ8XES58=" + else + "sha256-Q/hU2ICVwmJehrXmACm4/X48ULTqM6WSc55JDVgkBvM="; + }; }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) + } + // builtins.removeAttrs args [ "callPackage" ] +) diff --git a/pkgs/development/compilers/zulu/common.nix b/pkgs/development/compilers/zulu/common.nix index 6b20c71c54381..1db9ba9b625d5 100644 --- a/pkgs/development/compilers/zulu/common.nix +++ b/pkgs/development/compilers/zulu/common.nix @@ -1,56 +1,65 @@ -{ lib -, stdenv -, fetchurl -, setJavaClassPath -, enableJavaFX ? false -, dists +{ + lib, + stdenv, + fetchurl, + setJavaClassPath, + enableJavaFX ? false, + dists, # minimum dependencies -, unzip -, autoPatchelfHook -, makeWrapper -, alsa-lib -, fontconfig -, freetype -, zlib -, xorg + unzip, + autoPatchelfHook, + makeWrapper, + alsa-lib, + fontconfig, + freetype, + zlib, + xorg, # runtime dependencies -, cups + cups, # runtime dependencies for GTK+ Look and Feel -, gtkSupport ? stdenv.hostPlatform.isLinux -, cairo -, glib -, gtk2 -, gtk3 + gtkSupport ? stdenv.hostPlatform.isLinux, + cairo, + glib, + gtk2, + gtk3, # runtime dependencies for JavaFX -, ffmpeg + ffmpeg, }: let - dist = dists.${stdenv.hostPlatform.system} - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - - arch = { - "aarch64" = "aarch64"; - "x86_64" = "x64"; - }.${stdenv.hostPlatform.parsed.cpu.name} - or (throw "Unsupported architecture: ${stdenv.hostPlatform.parsed.cpu.name}"); - - platform = { - "darwin" = "macosx"; - "linux" = "linux"; - }.${stdenv.hostPlatform.parsed.kernel.name} - or (throw "Unsupported platform: ${stdenv.hostPlatform.parsed.kernel.name}"); - - runtimeDependencies = [ - cups - ] ++ lib.optionals gtkSupport [ - cairo - glib - gtk3 - ] ++ lib.optionals (gtkSupport && lib.versionOlder dist.jdkVersion "17") [ - gtk2 - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && enableJavaFX) [ - ffmpeg.lib - ]; + dist = + dists.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + arch = + { + "aarch64" = "aarch64"; + "x86_64" = "x64"; + } + .${stdenv.hostPlatform.parsed.cpu.name} + or (throw "Unsupported architecture: ${stdenv.hostPlatform.parsed.cpu.name}"); + + platform = + { + "darwin" = "macosx"; + "linux" = "linux"; + } + .${stdenv.hostPlatform.parsed.kernel.name} + or (throw "Unsupported platform: ${stdenv.hostPlatform.parsed.kernel.name}"); + + runtimeDependencies = + [ + cups + ] + ++ lib.optionals gtkSupport [ + cairo + glib + gtk3 + ] + ++ lib.optionals (gtkSupport && lib.versionOlder dist.jdkVersion "17") [ + gtk2 + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && enableJavaFX) [ + ffmpeg.lib + ]; runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies; @@ -73,31 +82,39 @@ let curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/"; }; - nativeBuildInputs = [ - unzip - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - autoPatchelfHook - makeWrapper - ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib # libasound.so wanted by lib/libjsound.so - fontconfig - freetype - stdenv.cc.cc # libstdc++.so.6 - xorg.libX11 - xorg.libXext - xorg.libXi - xorg.libXrender - xorg.libXtst - xorg.libXxf86vm - zlib - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && enableJavaFX) runtimeDependencies; - - autoPatchelfIgnoreMissingDeps = if (stdenv.hostPlatform.isLinux && enableJavaFX) then [ - "libavcodec*.so.*" - "libavformat*.so.*" - ] else null; + nativeBuildInputs = + [ + unzip + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + makeWrapper + ]; + + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib # libasound.so wanted by lib/libjsound.so + fontconfig + freetype + stdenv.cc.cc # libstdc++.so.6 + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXrender + xorg.libXtst + xorg.libXxf86vm + zlib + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && enableJavaFX) runtimeDependencies; + + autoPatchelfIgnoreMissingDeps = + if (stdenv.hostPlatform.isLinux && enableJavaFX) then + [ + "libavcodec*.so.*" + "libavformat*.so.*" + ] + else + null; installPhase = '' mkdir -p $out @@ -115,33 +132,35 @@ let fi ''; - preFixup = '' - # Propagate the setJavaClassPath setup hook from the ${if isJdk8 then "JRE" else "JDK"} so that - # any package that depends on the ${if isJdk8 then "JRE" else "JDK"} has $CLASSPATH set up - # properly. - mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs - - # Set JAVA_HOME automatically. - cat <> $out/nix-support/setup-hook - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi - EOF - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - # We cannot use -exec since wrapProgram is a function but not a command. - # - # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it - # breaks building OpenJDK (#114495). - for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do - if patchelf --print-interpreter "$bin" &> /dev/null; then - wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" - fi - done - '' - # FIXME: move all of the above to installPhase. - + lib.optionalString stdenv.hostPlatform.isLinux '' - find "$out" -name libfontmanager.so -exec \ - patchelf --add-needed libfontconfig.so {} \; - ''; + preFixup = + '' + # Propagate the setJavaClassPath setup hook from the ${if isJdk8 then "JRE" else "JDK"} so that + # any package that depends on the ${if isJdk8 then "JRE" else "JDK"} has $CLASSPATH set up + # properly. + mkdir -p $out/nix-support + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs + + # Set JAVA_HOME automatically. + cat <> $out/nix-support/setup-hook + if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi + EOF + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # We cannot use -exec since wrapProgram is a function but not a command. + # + # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it + # breaks building OpenJDK (#114495). + for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do + if patchelf --print-interpreter "$bin" &> /dev/null; then + wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" + fi + done + '' + # FIXME: move all of the above to installPhase. + + lib.optionalString stdenv.hostPlatform.isLinux '' + find "$out" -name libfontmanager.so -exec \ + patchelf --add-needed libfontconfig.so {} \; + ''; # fixupPhase is moving the man to share/man which breaks it because it's a # relative symlink. @@ -149,11 +168,13 @@ let ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man ''; - passthru = (lib.optionalAttrs isJdk8 { - jre = jdk; - }) // { - home = jdk; - }; + passthru = + (lib.optionalAttrs isJdk8 { + jre = jdk; + }) + // { + home = jdk; + }; meta = { description = "Certified builds of OpenJDK"; @@ -166,7 +187,10 @@ let mainProgram = "java"; maintainers = [ ] ++ lib.teams.java.members; platforms = builtins.attrNames dists; - sourceProvenance = with lib.sourceTypes; [ binaryBytecode binaryNativeCode ]; + sourceProvenance = with lib.sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; }; }; in diff --git a/pkgs/development/coq-modules/Cheerios/default.nix b/pkgs/development/coq-modules/Cheerios/default.nix index ae8baba36c069..8bdcbab8370ad 100644 --- a/pkgs/development/coq-modules/Cheerios/default.nix +++ b/pkgs/development/coq-modules/Cheerios/default.nix @@ -1,16 +1,30 @@ -{ lib, mkCoqDerivation, coq, StructTact, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + StructTact, + version ? null, +}: mkCoqDerivation { - pname = "cheerios"; - owner = "uwplse"; + pname = "cheerios"; + owner = "uwplse"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.14" "8.20"; out = "20230107"; } - { case = range "8.6" "8.16"; out = "20200201"; } - ] null; - release."20230107".rev = "bad8ad2476e14df6b5a819b7aaddc27a7c53fb69"; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.14" "8.20"; + out = "20230107"; + } + { + case = range "8.6" "8.16"; + out = "20200201"; + } + ] null; + release."20230107".rev = "bad8ad2476e14df6b5a819b7aaddc27a7c53fb69"; release."20230107".sha256 = "sha256-G7a+6h4VDk7seKvFr6wy7vYqYmhUje78TYCj98wXrr8="; - release."20200201".rev = "9c7f66e57b91f706d70afa8ed99d64ed98ab367d"; + release."20200201".rev = "9c7f66e57b91f706d70afa8ed99d64ed98ab367d"; release."20200201".sha256 = "1h55s6lk47bk0lv5ralh81z55h799jbl9mhizmqwqzy57y8wqgs1"; propagatedBuildInputs = [ StructTact ]; diff --git a/pkgs/development/coq-modules/CoLoR/default.nix b/pkgs/development/coq-modules/CoLoR/default.nix index 779900d22671a..3576fbe17270b 100644 --- a/pkgs/development/coq-modules/CoLoR/default.nix +++ b/pkgs/development/coq-modules/CoLoR/default.nix @@ -1,27 +1,50 @@ -{ lib, mkCoqDerivation, coq, bignums, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + bignums, + version ? null, +}: mkCoqDerivation { pname = "color"; owner = "fblanqui"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - {case = range "8.14" "8.20"; out = "1.8.5"; } - {case = range "8.12" "8.16"; out = "1.8.2"; } - {case = range "8.10" "8.11"; out = "1.7.0"; } - {case = range "8.8" "8.9"; out = "1.6.0"; } - {case = range "8.6" "8.7"; out = "1.4.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.14" "8.20"; + out = "1.8.5"; + } + { + case = range "8.12" "8.16"; + out = "1.8.2"; + } + { + case = range "8.10" "8.11"; + out = "1.7.0"; + } + { + case = range "8.8" "8.9"; + out = "1.6.0"; + } + { + case = range "8.6" "8.7"; + out = "1.4.0"; + } + ] null; release."1.8.5".sha256 = "sha256-zKAyj6rKAasDF+iKExmpVHMe2WwgAwv2j1mmiVAl7ys="; release."1.8.4".sha256 = "sha256-WlRiaLgnFFW5AY0z6EzdP1mevNe1GHsik6wULJLN4k0="; release."1.8.3".sha256 = "sha256-mMUzIorkQ6WWQBJLk1ioUNwAdDdGHJyhenIvkAjALVU="; release."1.8.2".sha256 = "sha256:1gvx5cxm582793vxzrvsmhxif7px18h9xsb2jljy2gkphdmsnpqj"; release."1.8.1".sha256 = "0knhca9fffmyldn4q16h9265i7ih0h4jhcarq4rkn0wnn7x8w8yw"; - release."1.7.0".rev = "08b5481ed6ea1a5d2c4c068b62156f5be6d82b40"; + release."1.7.0".rev = "08b5481ed6ea1a5d2c4c068b62156f5be6d82b40"; release."1.7.0".sha256 = "1w7fmcpf0691gcwq00lm788k4ijlwz3667zj40j5jjc8j8hj7cq3"; - release."1.6.0".rev = "328aa06270584b578edc0d2925e773cced4f14c8"; + release."1.6.0".rev = "328aa06270584b578edc0d2925e773cced4f14c8"; release."1.6.0".sha256 = "07sy9kw1qlynsqy251adgi8b3hghrc9xxl2rid6c82mxfsp329sd"; - release."1.4.0".rev = "168c6b86c7d3f87ee51791f795a8828b1521589a"; + release."1.4.0".rev = "168c6b86c7d3f87ee51791f795a8828b1521589a"; release."1.4.0".sha256 = "1d2whsgs3kcg5wgampd6yaqagcpmzhgb6a0hp6qn4lbimck5dfmm"; propagatedBuildInputs = [ bignums ]; @@ -30,6 +53,9 @@ mkCoqDerivation { meta = { homepage = "https://github.com/fblanqui/color"; description = "CoLoR is a library of formal mathematical definitions and proofs of theorems on rewriting theory and termination whose correctness has been mechanically checked by the Coq proof assistant"; - maintainers = with lib.maintainers; [ jpas jwiegley ]; + maintainers = with lib.maintainers; [ + jpas + jwiegley + ]; }; } diff --git a/pkgs/development/coq-modules/HoTT/default.nix b/pkgs/development/coq-modules/HoTT/default.nix index 8652520b4a404..cfb90d806a8fa 100644 --- a/pkgs/development/coq-modules/HoTT/default.nix +++ b/pkgs/development/coq-modules/HoTT/default.nix @@ -1,13 +1,23 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "HoTT"; repo = "Coq-HoTT"; owner = "HoTT"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.20"; out = coq.coq-version; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.14" "8.20"; + out = coq.coq-version; + } + ] null; releaseRev = v: "V${v}"; release."8.14".sha256 = "sha256-7kXk2pmYsTNodHA+Qts3BoMsewvzmCbYvxw9Sgwyvq0="; release."8.15".sha256 = "sha256-JfeiRZVnrjn3SQ87y6dj9DWNwCzrkK3HBogeZARUn9g="; @@ -44,6 +54,9 @@ mkCoqDerivation { Foundations library (which has since been incorporated into the Unimath library) and also cross-pollinates with the HoTT-Agda library. ''; - maintainers = with lib.maintainers; [ alizter siddharthist ]; + maintainers = with lib.maintainers; [ + alizter + siddharthist + ]; }; } diff --git a/pkgs/development/coq-modules/ITree/default.nix b/pkgs/development/coq-modules/ITree/default.nix index 78d788b962958..b827c06ef2c89 100644 --- a/pkgs/development/coq-modules/ITree/default.nix +++ b/pkgs/development/coq-modules/ITree/default.nix @@ -1,13 +1,28 @@ -{ lib, mkCoqDerivation, coq, version ? null , paco, ExtLib }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, + paco, + ExtLib, +}: mkCoqDerivation rec { pname = "InteractionTrees"; owner = "DeepSpec"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.13" "8.20"; out = "5.2.0"; } - { case = range "8.10" "8.16"; out = "4.0.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.13" "8.20"; + out = "5.2.0"; + } + { + case = range "8.10" "8.16"; + out = "4.0.0"; + } + ] null; release."5.2.0".sha256 = "sha256-rKLz7ekZf/9xcQefBRsAdULmk81olzQ1W28y61vCDsY="; release."5.1.2".sha256 = "sha256-uKJIjNXGWl0YS0WH52Rnr9Jz98Eo2k0X0qWB9hUYJMk="; release."5.1.1".sha256 = "sha256-VlmPNwaGkdWrH7Z6DGXRosGtjuuQ+FBiGcadN2Hg5pY="; @@ -15,7 +30,10 @@ mkCoqDerivation rec { release."4.0.0".sha256 = "0h5rhndl8syc24hxq1gch86kj7mpmgr89bxp2hmf28fd7028ijsm"; release."3.2.0".sha256 = "sha256-10ckCAqSQ0I3CZKlSllI1obOgWVxDagTd7eyhrl1xpE="; releaseRev = v: "${v}"; - propagatedBuildInputs = [ ExtLib paco ]; + propagatedBuildInputs = [ + ExtLib + paco + ]; meta = { description = "Library for Representing Recursive and Impure Programs in Coq"; maintainers = with lib.maintainers; [ larsr ]; diff --git a/pkgs/development/coq-modules/InfSeqExt/default.nix b/pkgs/development/coq-modules/InfSeqExt/default.nix index cae401d8fdbf3..d36a723deabf9 100644 --- a/pkgs/development/coq-modules/InfSeqExt/default.nix +++ b/pkgs/development/coq-modules/InfSeqExt/default.nix @@ -1,15 +1,28 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "InfSeqExt"; owner = "DistributedComponents"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.9" "8.20"; out = "20230107"; } - { case = range "8.5" "8.16"; out = "20200131"; } - ] null; - release."20230107".rev = "601e89ec019501c48c27fcfc14b9a3c70456e408"; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.9" "8.20"; + out = "20230107"; + } + { + case = range "8.5" "8.16"; + out = "20200131"; + } + ] null; + release."20230107".rev = "601e89ec019501c48c27fcfc14b9a3c70456e408"; release."20230107".sha256 = "sha256-YMBzVIsLkIC+w2TeyHrKe29eWLIxrH3wIMZqhik8p9I="; - release."20200131".rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a"; + release."20200131".rev = "203d4c20211d6b17741f1fdca46dbc091f5e961a"; release."20200131".sha256 = "0xylkdmb2dqnnqinf3pigz4mf4zmczcbpjnn59g5g76m7f2cqxl0"; } diff --git a/pkgs/development/coq-modules/LibHyps/default.nix b/pkgs/development/coq-modules/LibHyps/default.nix index 63b4acdb86dbf..3ed3318a941c3 100644 --- a/pkgs/development/coq-modules/LibHyps/default.nix +++ b/pkgs/development/coq-modules/LibHyps/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "LibHyps"; diff --git a/pkgs/development/coq-modules/MenhirLib/default.nix b/pkgs/development/coq-modules/MenhirLib/default.nix index c94e0f95c49ae..5b680c73da44d 100644 --- a/pkgs/development/coq-modules/MenhirLib/default.nix +++ b/pkgs/development/coq-modules/MenhirLib/default.nix @@ -14,8 +14,14 @@ let defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.12" "8.20"; out = "20240715"; } - { case = range "8.7" "8.11"; out = "20200624"; } + { + case = range "8.12" "8.20"; + out = "20240715"; + } + { + case = range "8.7" "8.11"; + out = "20200624"; + } ] null; release = { "20240715".sha256 = "sha256-9CSxAIm0aEXkwF+aj8u/bqLG30y5eDNz65EnohJPjzI="; # coq 8.9 - 8.20 diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix index 16f4eedb5ccaa..0f70982dfaf12 100644 --- a/pkgs/development/coq-modules/QuickChick/default.nix +++ b/pkgs/development/coq-modules/QuickChick/default.nix @@ -1,53 +1,137 @@ -{ lib, mkCoqDerivation, coq, ssreflect, ExtLib, simple-io, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + ssreflect, + ExtLib, + simple-io, + version ? null, +}: -let recent = lib.versions.isGe "8.7" coq.coq-version || coq.coq-version == "dev"; in +let + recent = lib.versions.isGe "8.7" coq.coq-version || coq.coq-version == "dev"; +in (mkCoqDerivation { pname = "QuickChick"; owner = "QuickChick"; inherit version; - defaultVersion = lib.switch [ coq.coq-version ssreflect.version ] [ - { cases = [ (lib.versions.range "8.15" "8.20") lib.pred.true ]; out = "2.0.4"; } - { cases = [ (lib.versions.range "8.13" "8.17") lib.pred.true ]; out = "1.6.5"; } - { cases = [ "8.13" lib.pred.true ]; out = "1.5.0"; } - { cases = [ "8.12" lib.pred.true ]; out = "1.4.0"; } - { cases = [ "8.11" lib.pred.true ]; out = "1.3.2"; } - { cases = [ "8.10" lib.pred.true ]; out = "1.2.1"; } - { cases = [ "8.9" lib.pred.true ]; out = "1.1.0"; } - { cases = [ "8.8" lib.pred.true ]; out = "20190311"; } - { cases = [ "8.7" lib.versions.isLe "1.8" ]; out = "1.0.0"; } - { cases = [ "8.6" lib.pred.true ]; out = "20171102"; } - { cases = [ "8.5" lib.pred.true ]; out = "20170512"; } - ] null; - release."2.0.4".sha256 = "sha256-WD8B+n8gyGctHMO+M8201Ca3Uw8zCWYsOatSNGCf0/s="; - release."2.0.2".sha256 = "sha256-xxKkwDRjB8nUiXNhein1Ppn0DP5FZ13J90xUPAnQBbs="; - release."2.0.1".sha256 = "sha256-gJc+9Or6tbqE00920Il4pnEvokRoiADX6CxP/Q0QZaY="; - release."1.6.5".sha256 = "sha256-rcFyRDH8UbB9KVk10P5qjtPkWs04p78VNHkCq4mXr3U="; - release."1.6.4".sha256 = "sha256-C1060wPSU33yZAFLxGmZlAMXASnx98qz3oSLO8DO+mM="; - release."1.6.2".sha256 = "0g5q9zw3xd4zndihq96nxkq4w3dh05418wzlwdk1nnn3b6vbx6z0"; - release."1.5.0".sha256 = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dcw7hyfkw"; - release."1.4.0".sha256 = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc"; - release."1.3.2".sha256 = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs"; - release."1.2.1".sha256 = "17vz88xjzxh3q7hs6hnndw61r3hdfawxp5awqpgfaxx4w6ni8z46"; - release."1.1.0".sha256 = "1c34v1k37rk7v0xk2czv5n79mbjxjrm6nh3llg2mpfmdsqi68wf3"; - release."1.0.0".sha256 = "1gqy9a4yavd0sa7kgysf9gf2lq4p8dmn4h89y8081f2j8zli0w5y"; - release."20190311".rev = "22af9e9a223d0038f05638654422e637e863b355"; + defaultVersion = + lib.switch + [ coq.coq-version ssreflect.version ] + [ + { + cases = [ + (lib.versions.range "8.15" "8.20") + lib.pred.true + ]; + out = "2.0.4"; + } + { + cases = [ + (lib.versions.range "8.13" "8.17") + lib.pred.true + ]; + out = "1.6.5"; + } + { + cases = [ + "8.13" + lib.pred.true + ]; + out = "1.5.0"; + } + { + cases = [ + "8.12" + lib.pred.true + ]; + out = "1.4.0"; + } + { + cases = [ + "8.11" + lib.pred.true + ]; + out = "1.3.2"; + } + { + cases = [ + "8.10" + lib.pred.true + ]; + out = "1.2.1"; + } + { + cases = [ + "8.9" + lib.pred.true + ]; + out = "1.1.0"; + } + { + cases = [ + "8.8" + lib.pred.true + ]; + out = "20190311"; + } + { + cases = [ + "8.7" + lib.versions.isLe + "1.8" + ]; + out = "1.0.0"; + } + { + cases = [ + "8.6" + lib.pred.true + ]; + out = "20171102"; + } + { + cases = [ + "8.5" + lib.pred.true + ]; + out = "20170512"; + } + ] + null; + release."2.0.4".sha256 = "sha256-WD8B+n8gyGctHMO+M8201Ca3Uw8zCWYsOatSNGCf0/s="; + release."2.0.2".sha256 = "sha256-xxKkwDRjB8nUiXNhein1Ppn0DP5FZ13J90xUPAnQBbs="; + release."2.0.1".sha256 = "sha256-gJc+9Or6tbqE00920Il4pnEvokRoiADX6CxP/Q0QZaY="; + release."1.6.5".sha256 = "sha256-rcFyRDH8UbB9KVk10P5qjtPkWs04p78VNHkCq4mXr3U="; + release."1.6.4".sha256 = "sha256-C1060wPSU33yZAFLxGmZlAMXASnx98qz3oSLO8DO+mM="; + release."1.6.2".sha256 = "0g5q9zw3xd4zndihq96nxkq4w3dh05418wzlwdk1nnn3b6vbx6z0"; + release."1.5.0".sha256 = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dcw7hyfkw"; + release."1.4.0".sha256 = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc"; + release."1.3.2".sha256 = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs"; + release."1.2.1".sha256 = "17vz88xjzxh3q7hs6hnndw61r3hdfawxp5awqpgfaxx4w6ni8z46"; + release."1.1.0".sha256 = "1c34v1k37rk7v0xk2czv5n79mbjxjrm6nh3llg2mpfmdsqi68wf3"; + release."1.0.0".sha256 = "1gqy9a4yavd0sa7kgysf9gf2lq4p8dmn4h89y8081f2j8zli0w5y"; + release."20190311".rev = "22af9e9a223d0038f05638654422e637e863b355"; release."20190311".sha256 = "00rnr19lg6lg0haq1sy4ld38p7imzand6fc52fvfq27gblxkp2aq"; - release."20171102".rev = "0fdb769e1dc87a278383b44a9f5102cc7ccbafcf"; + release."20171102".rev = "0fdb769e1dc87a278383b44a9f5102cc7ccbafcf"; release."20171102".sha256 = "0fri4nih40vfb0fbr82dsi631ydkw48xszinq43lyinpknf54y17"; - release."20170512".rev = "31eb050ae5ce57ab402db9726fb7cd945a0b4d03"; + release."20170512".rev = "31eb050ae5ce57ab402db9726fb7cd945a0b4d03"; release."20170512".sha256 = "033ch10i5wmqyw8j6wnr0dlbnibgfpr1vr0c07q3yj6h23xkmqpg"; releaseRev = v: "v${v}"; - preConfigure = lib.optionalString recent - "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native"; + preConfigure = lib.optionalString recent "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native"; useDuneifVersion = v: lib.versions.isGe "2.1" v || v == "dev"; opam-name = "coq-quickchick"; mlPlugin = true; nativeBuildInputs = lib.optional recent coq.ocamlPackages.ocamlbuild; - propagatedBuildInputs = [ ssreflect ] - ++ lib.optionals recent [ ExtLib simple-io ]; + propagatedBuildInputs = + [ ssreflect ] + ++ lib.optionals recent [ + ExtLib + simple-io + ]; extraInstallFlags = [ "-f Makefile.coq" ]; enableParallelBuilding = false; @@ -56,13 +140,26 @@ let recent = lib.versions.isGe "8.7" coq.coq-version || coq.coq-version == "dev" description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck"; maintainers = with maintainers; [ jwiegley ]; }; -}).overrideAttrs (o: - let after_1_6 = lib.versions.isGe "1.6" o.version || o.version == "dev"; +}).overrideAttrs + ( + o: + let + after_1_6 = lib.versions.isGe "1.6" o.version || o.version == "dev"; after_2_1 = lib.versions.isGe "2.1" o.version || o.version == "dev"; - in { - nativeBuildInputs = o.nativeBuildInputs - ++ lib.optional after_1_6 coq.ocamlPackages.cppo - ++ lib.optional after_2_1 coq.ocamlPackages.menhir; - propagatedBuildInputs = o.propagatedBuildInputs - ++ lib.optionals after_1_6 (with coq.ocamlPackages; [ findlib zarith ]); -}) + in + { + nativeBuildInputs = + o.nativeBuildInputs + ++ lib.optional after_1_6 coq.ocamlPackages.cppo + ++ lib.optional after_2_1 coq.ocamlPackages.menhir; + propagatedBuildInputs = + o.propagatedBuildInputs + ++ lib.optionals after_1_6 ( + with coq.ocamlPackages; + [ + findlib + zarith + ] + ); + } + ) diff --git a/pkgs/development/coq-modules/StructTact/default.nix b/pkgs/development/coq-modules/StructTact/default.nix index 117f26cc6d88f..8e982d19f609c 100644 --- a/pkgs/development/coq-modules/StructTact/default.nix +++ b/pkgs/development/coq-modules/StructTact/default.nix @@ -1,18 +1,34 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "StructTact"; owner = "uwplse"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.9" "8.20"; out = "20230107"; } - { case = range "8.6" "8.16"; out = "20210328"; } - { case = range "8.5" "8.13"; out = "20181102"; } - ] null; - release."20230107".rev = "2f2ff253be29bb09f36cab96d036419b18a95b00"; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.9" "8.20"; + out = "20230107"; + } + { + case = range "8.6" "8.16"; + out = "20210328"; + } + { + case = range "8.5" "8.13"; + out = "20181102"; + } + ] null; + release."20230107".rev = "2f2ff253be29bb09f36cab96d036419b18a95b00"; release."20230107".sha256 = "sha256-4mWdnWD8m1ddgqWHqzjqclhinXJaB/YoLlmLeeL0yZA="; - release."20210328".rev = "179bd5312e9d8b63fc3f4071c628cddfc496d741"; + release."20210328".rev = "179bd5312e9d8b63fc3f4071c628cddfc496d741"; release."20210328".sha256 = "sha256:1y5r1zm3hli10ah6lnj7n8hxad6rb6rgldd0g7m2fjibzvwqzhdg"; - release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; + release."20181102".rev = "82a85b7ec07e71fa6b30cfc05f6a7bfb09ef2510"; release."20181102".sha256 = "08zry20flgj7qq37xk32kzmg4fg6d4wi9m7pf9aph8fd3j2a0b5v"; } diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix index 8cfe5e9f764e9..d82699847d01f 100644 --- a/pkgs/development/coq-modules/VST/default.nix +++ b/pkgs/development/coq-modules/VST/default.nix @@ -1,34 +1,62 @@ -{ lib, mkCoqDerivation, coq, compcert, ITree, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + compcert, + ITree, + version ? null, +}: # A few modules that are not built and installed by default # but that may be useful to some users. # They depend on ITree. -let extra_floyd_files = [ - "ASTsize.v" - "io_events.v" - "powerlater.v" - ] - # floyd/printf.v is broken in VST 2.9 - ++ lib.optional (!lib.versions.isGe "8.13" coq.coq-version) "printf.v" - ++ [ - "quickprogram.v" - ]; +let + extra_floyd_files = + [ + "ASTsize.v" + "io_events.v" + "powerlater.v" + ] + # floyd/printf.v is broken in VST 2.9 + ++ lib.optional (!lib.versions.isGe "8.13" coq.coq-version) "printf.v" + ++ [ + "quickprogram.v" + ]; in mkCoqDerivation { pname = "coq${coq.coq-version}-VST"; - namePrefix = []; - displayVersion = { coq = false; }; + namePrefix = [ ]; + displayVersion = { + coq = false; + }; owner = "PrincetonUniversity"; repo = "VST"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.15" "8.19"; out = "2.14"; } - { case = range "8.15" "8.17"; out = "2.13"; } - { case = range "8.14" "8.16"; out = "2.10"; } - { case = range "8.13" "8.15"; out = "2.9"; } - { case = range "8.12" "8.13"; out = "2.8"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.15" "8.19"; + out = "2.14"; + } + { + case = range "8.15" "8.17"; + out = "2.13"; + } + { + case = range "8.14" "8.16"; + out = "2.10"; + } + { + case = range "8.13" "8.15"; + out = "2.9"; + } + { + case = range "8.12" "8.13"; + out = "2.8"; + } + ] null; release."2.14".sha256 = "sha256-NHc1ZQ2VmXZy4lK2+mtyeNz1Qr9Nhj2QLxkPhhQB7Iw="; release."2.13".sha256 = "sha256-i6rvP3cpayBln5KHZOpeNfraYU5h0O9uciBQ4jRH4XA="; release."2.12".sha256 = "sha256-4HL0U4HA5/usKNXC0Dis1UZY/Hb/LRd2IGOrqrvdWkw="; diff --git a/pkgs/development/coq-modules/Velisarios/default.nix b/pkgs/development/coq-modules/Velisarios/default.nix index 62eb9c389abbc..2dc81cb7ad59e 100644 --- a/pkgs/development/coq-modules/Velisarios/default.nix +++ b/pkgs/development/coq-modules/Velisarios/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "Velisarios"; @@ -6,7 +11,7 @@ mkCoqDerivation { inherit version; defaultVersion = if lib.versions.range "8.6" "8.8" coq.coq-version then "20180221" else null; - release."20180221".rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b"; + release."20180221".rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b"; release."20180221".sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2"; mlPlugin = true; diff --git a/pkgs/development/coq-modules/Verdi/default.nix b/pkgs/development/coq-modules/Verdi/default.nix index b0ff84c459812..a6152a97b0eac 100644 --- a/pkgs/development/coq-modules/Verdi/default.nix +++ b/pkgs/development/coq-modules/Verdi/default.nix @@ -1,27 +1,55 @@ -{ lib, mkCoqDerivation, coq, Cheerios, InfSeqExt, ssreflect, version ? null }: - +{ + lib, + mkCoqDerivation, + coq, + Cheerios, + InfSeqExt, + ssreflect, + version ? null, +}: mkCoqDerivation { pname = "verdi"; owner = "uwplse"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.9" "8.18"; out = "20230503"; } - { case = range "8.7" "8.16"; out = "20211026"; } - { case = range "8.7" "8.14"; out = "20210524"; } - { case = range "8.7" "8.13"; out = "20200131"; } - { case = "8.6"; out = "20181102"; } - ] null; - release."20230503".rev = "76833a7b2188e99e358b8439ea6b4f38401c962a"; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.9" "8.18"; + out = "20230503"; + } + { + case = range "8.7" "8.16"; + out = "20211026"; + } + { + case = range "8.7" "8.14"; + out = "20210524"; + } + { + case = range "8.7" "8.13"; + out = "20200131"; + } + { + case = "8.6"; + out = "20181102"; + } + ] null; + release."20230503".rev = "76833a7b2188e99e358b8439ea6b4f38401c962a"; release."20230503".sha256 = "sha256-g59adl/FLMlk9vZciz2I1ZX4PDCElNOgVPCwML8E4DU="; - release."20211026".rev = "064cc4fb2347453bf695776ed820ffb5fbc1d804"; + release."20211026".rev = "064cc4fb2347453bf695776ed820ffb5fbc1d804"; release."20211026".sha256 = "sha256:13xrcyzay5sjszf5lg4s44wl9nrcz22n6gi4h95pkpj0ni5clinx"; - release."20210524".rev = "54597d8ac7ab7dd4dae683f651237644bf77701e"; + release."20210524".rev = "54597d8ac7ab7dd4dae683f651237644bf77701e"; release."20210524".sha256 = "sha256:05wb0km2jkhvi8807glxk9fi1kll4lwisiyzkxhqvymz4x6v8xqv"; - release."20200131".rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0"; + release."20200131".rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0"; release."20200131".sha256 = "1a2k19f9q5k5djbxplqmmpwck49kw3lrm3aax920h4yb40czkd8m"; - release."20181102".rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; + release."20181102".rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564"; release."20181102".sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z"; - propagatedBuildInputs = [ Cheerios InfSeqExt ssreflect ]; + propagatedBuildInputs = [ + Cheerios + InfSeqExt + ssreflect + ]; } diff --git a/pkgs/development/coq-modules/Vpl/default.nix b/pkgs/development/coq-modules/Vpl/default.nix index 6581a919b8dff..7a6b9d2ec3d68 100644 --- a/pkgs/development/coq-modules/Vpl/default.nix +++ b/pkgs/development/coq-modules/Vpl/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "Vpl"; diff --git a/pkgs/development/coq-modules/VplTactic/default.nix b/pkgs/development/coq-modules/VplTactic/default.nix index b907a10498e72..dbd930b6c1836 100644 --- a/pkgs/development/coq-modules/VplTactic/default.nix +++ b/pkgs/development/coq-modules/VplTactic/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, Vpl, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + Vpl, + version ? null, +}: mkCoqDerivation { pname = "VplTactic"; diff --git a/pkgs/development/coq-modules/aac-tactics/default.nix b/pkgs/development/coq-modules/aac-tactics/default.nix index 1dd396a826848..a5cbfa49d9380 100644 --- a/pkgs/development/coq-modules/aac-tactics/default.nix +++ b/pkgs/development/coq-modules/aac-tactics/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "aac-tactics"; @@ -25,23 +30,70 @@ mkCoqDerivation { release."8.5.0".sha256 = "sha256-7yNxJn6CH5xS5w/zsXfcZYORa6e5/qS9v8PUq2o02h4="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = "8.20"; out = "8.20.0"; } - { case = "8.19"; out = "8.19.1"; } - { case = "8.18"; out = "8.18.0"; } - { case = "8.17"; out = "8.17.0"; } - { case = "8.16"; out = "8.16.0"; } - { case = "8.15"; out = "8.15.1"; } - { case = "8.14"; out = "8.14.1"; } - { case = "8.13"; out = "8.13.2"; } - { case = "8.12"; out = "8.12.0"; } - { case = "8.11"; out = "8.11.0"; } - { case = "8.10"; out = "8.10.0"; } - { case = "8.9"; out = "8.9.0"; } - { case = "8.8"; out = "8.8.0"; } - { case = "8.6"; out = "8.6.1"; } - { case = "8.5"; out = "8.5.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = "8.20"; + out = "8.20.0"; + } + { + case = "8.19"; + out = "8.19.1"; + } + { + case = "8.18"; + out = "8.18.0"; + } + { + case = "8.17"; + out = "8.17.0"; + } + { + case = "8.16"; + out = "8.16.0"; + } + { + case = "8.15"; + out = "8.15.1"; + } + { + case = "8.14"; + out = "8.14.1"; + } + { + case = "8.13"; + out = "8.13.2"; + } + { + case = "8.12"; + out = "8.12.0"; + } + { + case = "8.11"; + out = "8.11.0"; + } + { + case = "8.10"; + out = "8.10.0"; + } + { + case = "8.9"; + out = "8.9.0"; + } + { + case = "8.8"; + out = "8.8.0"; + } + { + case = "8.6"; + out = "8.6.1"; + } + { + case = "8.5"; + out = "8.5.0"; + } + ] null; mlPlugin = true; diff --git a/pkgs/development/coq-modules/addition-chains/default.nix b/pkgs/development/coq-modules/addition-chains/default.nix index d7274e6613868..95d247f108fee 100644 --- a/pkgs/development/coq-modules/addition-chains/default.nix +++ b/pkgs/development/coq-modules/addition-chains/default.nix @@ -1,5 +1,13 @@ -{ lib, mkCoqDerivation, coq, mathcomp-ssreflect, mathcomp-algebra, mathcomp-fingroup, paramcoq -, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp-ssreflect, + mathcomp-algebra, + mathcomp-fingroup, + paramcoq, + version ? null, +}: mkCoqDerivation { pname = "addition-chains"; @@ -11,12 +19,25 @@ mkCoqDerivation { releaseRev = (v: "v${v}"); inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.13" "8.18"; out = "0.6"; } - { case = range "8.11" "8.12"; out = "0.4"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.13" "8.18"; + out = "0.6"; + } + { + case = range "8.11" "8.12"; + out = "0.4"; + } + ] null; - propagatedBuildInputs = [ mathcomp-ssreflect mathcomp-algebra mathcomp-fingroup paramcoq ]; + propagatedBuildInputs = [ + mathcomp-ssreflect + mathcomp-algebra + mathcomp-fingroup + paramcoq + ]; useDune = true; diff --git a/pkgs/development/coq-modules/async-test/default.nix b/pkgs/development/coq-modules/async-test/default.nix index a6ec799db9c59..46df8ee94086a 100644 --- a/pkgs/development/coq-modules/async-test/default.nix +++ b/pkgs/development/coq-modules/async-test/default.nix @@ -1,4 +1,12 @@ -{ lib, mkCoqDerivation, coq, itree-io, json, QuickChick, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + itree-io, + json, + QuickChick, + version ? null, +}: mkCoqDerivation { pname = "async-test"; @@ -6,16 +14,26 @@ mkCoqDerivation { repo = "coq-async-test"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.12" "8.19"; out = "0.1.0"; } + { + case = range "8.12" "8.19"; + out = "0.1.0"; + } ] null; release = { - "0.1.0".sha256 = "sha256-0DBUS20337tpBi64mlJIWTQvIAdUvWbFCM9Sat7MEA8="; + "0.1.0".sha256 = "sha256-0DBUS20337tpBi64mlJIWTQvIAdUvWbFCM9Sat7MEA8="; }; releaseRev = v: "v${v}"; - propagatedBuildInputs = [ itree-io json QuickChick ]; + propagatedBuildInputs = [ + itree-io + json + QuickChick + ]; meta = { description = "From interaction trees to asynchronous tests."; diff --git a/pkgs/development/coq-modules/atbr/default.nix b/pkgs/development/coq-modules/atbr/default.nix index e1a77312eefa2..7310e4b457027 100644 --- a/pkgs/development/coq-modules/atbr/default.nix +++ b/pkgs/development/coq-modules/atbr/default.nix @@ -1,14 +1,25 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "atbr"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.20" "8.20"; out = "8.20.0"; } + { + case = range "8.20" "8.20"; + out = "8.20.0"; + } ] null; release = { - "8.20.0".sha256 = "sha256-Okhtq6Gnq4HA3tEZJvf8JBnmk3OKdm6hC1qINmoShmo="; + "8.20.0".sha256 = "sha256-Okhtq6Gnq4HA3tEZJvf8JBnmk3OKdm6hC1qINmoShmo="; }; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/autosubst/default.nix b/pkgs/development/coq-modules/autosubst/default.nix index 7be4725255129..e5fd36cd7f057 100644 --- a/pkgs/development/coq-modules/autosubst/default.nix +++ b/pkgs/development/coq-modules/autosubst/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, mathcomp-ssreflect, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp-ssreflect, + version ? null, +}: mkCoqDerivation { pname = "autosubst"; @@ -10,18 +16,32 @@ mkCoqDerivation { release."1.9".sha256 = "sha256-XiLZjMc+1iwRGOstfLm/WQRF6FTdX6oJr5urn3wmLlA="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.20"; out = "1.9"; } - { case = range "8.14" "8.18"; out = "1.8"; } - { case = range "8.10" "8.13"; out = "1.7"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.14" "8.20"; + out = "1.9"; + } + { + case = range "8.14" "8.18"; + out = "1.8"; + } + { + case = range "8.10" "8.13"; + out = "1.7"; + } + ] null; propagatedBuildInputs = [ mathcomp-ssreflect ]; meta = with lib; { homepage = "https://www.ps.uni-saarland.de/autosubst/"; description = "Automation for de Bruijn syntax and substitution in Coq"; - maintainers = with maintainers; [ siraben jwiegley ]; + maintainers = with maintainers; [ + siraben + jwiegley + ]; license = licenses.mit; }; } diff --git a/pkgs/development/coq-modules/bbv/default.nix b/pkgs/development/coq-modules/bbv/default.nix index 340f32b830c4a..44d0b0b40ceed 100644 --- a/pkgs/development/coq-modules/bbv/default.nix +++ b/pkgs/development/coq-modules/bbv/default.nix @@ -1,15 +1,26 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "bbv"; owner = "mit-plv"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.16" "8.19"; out = "1.5"; } + { + case = range "8.16" "8.19"; + out = "1.5"; + } ] null; release = { - "1.5".sha256 = "sha256-8/VPsfhNpuYpLmLC/hWszDhgvS6n8m7BRxUlea8PSUw="; + "1.5".sha256 = "sha256-8/VPsfhNpuYpLmLC/hWszDhgvS6n8m7BRxUlea8PSUw="; }; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix index 3ff2f16700b7a..384ae1d80daeb 100644 --- a/pkgs/development/coq-modules/bignums/default.nix +++ b/pkgs/development/coq-modules/bignums/default.nix @@ -1,13 +1,26 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "bignums"; owner = "coq"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.13" "8.20"; out = "9.0.0+coq${coq.coq-version}"; } - { case = range "8.6" "8.17"; out = "${coq.coq-version}.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.13" "8.20"; + out = "9.0.0+coq${coq.coq-version}"; + } + { + case = range "8.6" "8.17"; + out = "${coq.coq-version}.0"; + } + ] null; release."9.0.0+coq8.20".sha256 = "sha256-pkvyDaMXRalc6Uu1eBTuiqTpRauRrzu946c6TavyTKY="; release."9.0.0+coq8.19".sha256 = "sha256-02uL+qWbUveHe67zKfc8w3U0iN3X2DKBsvP3pKpW8KQ="; @@ -25,14 +38,16 @@ mkCoqDerivation { release."8.12.0".sha256 = "14ijb3qy2hin3g4djx437jmnswxxq7lkfh3dwh9qvrds9a015yg8"; release."8.11.0".sha256 = "1xcd7c7qlvs0narfba6px34zq0mz8rffnhxw0kzhhg6i4iw115dp"; release."8.10.0".sha256 = "0bpb4flckn4nqxbs3wjiznyx1k7r8k93qdigp3qwmikp2lxvcbw5"; - release."8.9.0".sha256 = "03qz1w2xb2j5p06liz5yyafl0fl9vprcqm6j0iwi7rxwghl00p01"; - release."8.8.0".sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg"; - release."8.7.0".sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl"; - release."8.6.0".rev = "v8.6.0"; - release."8.6.0".sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj"; + release."8.9.0".sha256 = "03qz1w2xb2j5p06liz5yyafl0fl9vprcqm6j0iwi7rxwghl00p01"; + release."8.8.0".sha256 = "1ymxyrvjygscxkfj3qkq66skl3vdjhb670rzvsvgmwrjkrakjnfg"; + release."8.7.0".sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl"; + release."8.6.0".rev = "v8.6.0"; + release."8.6.0".sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj"; releaseRev = v: "${if lib.versions.isGe "9.0" v then "v" else "V"}${v}"; mlPlugin = true; - meta = { license = lib.licenses.lgpl2; }; + meta = { + license = lib.licenses.lgpl2; + }; } diff --git a/pkgs/development/coq-modules/category-theory/default.nix b/pkgs/development/coq-modules/category-theory/default.nix index 568a7fa2e73b2..8b51d20f46144 100644 --- a/pkgs/development/coq-modules/category-theory/default.nix +++ b/pkgs/development/coq-modules/category-theory/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, ssreflect, equations, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + ssreflect, + equations, + version ? null, +}: mkCoqDerivation { @@ -6,25 +13,42 @@ mkCoqDerivation { owner = "jwiegley"; release."1.0.0".sha256 = "sha256-qPgho4/VcL3vyMPJAMXXdqhYPEbNeXSZsoWbA/lGek4="; - release."20211213".rev = "449e30e929d56f6f90c22af2c91ffcc4d79837be"; + release."20211213".rev = "449e30e929d56f6f90c22af2c91ffcc4d79837be"; release."20211213".sha256 = "sha256:0vgfmph5l1zn6j4b851rcm43s8y9r83swsz07rpzhmfg34pk0nl0"; - release."20210730".rev = "d87937faaf7460bcd6985931ac36f551d67e11af"; + release."20210730".rev = "d87937faaf7460bcd6985931ac36f551d67e11af"; release."20210730".sha256 = "04x7433yvibxknk6gy4971yzb4saa3z4dnfy9n6irhyafzlxyf0f"; - release."20190414".rev = "706fdb4065cc2302d92ac2bce62cb59713253119"; + release."20190414".rev = "706fdb4065cc2302d92ac2bce62cb59713253119"; release."20190414".sha256 = "16lg4xs2wzbdbsn148xiacgl4wq4xwfqjnjkdhfr3w0qh1s81hay"; - release."20180709".rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead"; + release."20180709".rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead"; release."20180709".sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.17"; out = "1.0.0"; } - { case = range "8.10" "8.15"; out = "20211213"; } - { case = range "8.8" "8.9"; out = "20190414"; } - { case = range "8.6" "8.7"; out = "20180709"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.14" "8.17"; + out = "1.0.0"; + } + { + case = range "8.10" "8.15"; + out = "20211213"; + } + { + case = range "8.8" "8.9"; + out = "20190414"; + } + { + case = range "8.6" "8.7"; + out = "20180709"; + } + ] null; mlPlugin = true; - propagatedBuildInputs = [ ssreflect equations ]; + propagatedBuildInputs = [ + ssreflect + equations + ]; meta = { description = "Formalization of category theory in Coq for personal study and practical work"; diff --git a/pkgs/development/coq-modules/ceres/default.nix b/pkgs/development/coq-modules/ceres/default.nix index 2bff5224573c4..86907967f0383 100644 --- a/pkgs/development/coq-modules/ceres/default.nix +++ b/pkgs/development/coq-modules/ceres/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { @@ -7,10 +12,18 @@ mkCoqDerivation { owner = "Lysxia"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.14" "8.20"; out = "0.4.1"; } - { case = range "8.8" "8.16"; out = "0.4.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.14" "8.20"; + out = "0.4.1"; + } + { + case = range "8.8" "8.16"; + out = "0.4.0"; + } + ] null; release."0.4.1".sha256 = "sha256-9vyk8/8IVsqNyhw3WPzl8w3L9Wu7gfaMVa3n2nWjFiA="; release."0.4.0".sha256 = "sha256:0zwp3pn6fdj0qdig734zdczrls886al06mxqhhabms0jvvqijmbi"; diff --git a/pkgs/development/coq-modules/coinduction/default.nix b/pkgs/development/coq-modules/coinduction/default.nix index 3cb264378e8e3..c9792d1e960f8 100644 --- a/pkgs/development/coq-modules/coinduction/default.nix +++ b/pkgs/development/coq-modules/coinduction/default.nix @@ -1,15 +1,26 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "coinduction"; owner = "damien-pous"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.19" "8.19"; out = "1.9"; } + { + case = range "8.19" "8.19"; + out = "1.9"; + } ] null; release = { - "1.9".sha256 = "sha256-bBU+xDklnzJBeN41GarW5KXzD8eKsOYtb//ULYumwWE="; + "1.9".sha256 = "sha256-bBU+xDklnzJBeN41GarW5KXzD8eKsOYtb//ULYumwWE="; }; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix index a8edc6931a3de..4adfa5698cf86 100644 --- a/pkgs/development/coq-modules/compcert/default.nix +++ b/pkgs/development/coq-modules/compcert/default.nix @@ -1,223 +1,291 @@ -{ lib, mkCoqDerivation -, coq, flocq, MenhirLib -, ocamlPackages, fetchpatch, makeWrapper, coq2html -, stdenv, tools ? stdenv.cc -, version ? null +{ + lib, + mkCoqDerivation, + coq, + flocq, + MenhirLib, + ocamlPackages, + fetchpatch, + makeWrapper, + coq2html, + stdenv, + tools ? stdenv.cc, + version ? null, }: let -# https://compcert.org/man/manual002.html -targets = { - x86_64-linux = "x86_64-linux"; - aarch64-linux = "aarch64-linux"; - x86_64-darwin = "x86_64-macos"; - aarch64-darwin = "aarch64-macos"; - riscv32-linux = "rv32-linux"; - riscv64-linux = "rv64-linux"; -}; - -target = targets.${stdenv.hostPlatform.system} - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - -compcert = mkCoqDerivation { - - pname = "compcert"; - owner = "AbsInt"; - - inherit version; - releaseRev = v: "v${v}"; - - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.14" "8.20"; out = "3.14"; } - { case = isEq "8.13" ; out = "3.10"; } - { case = isEq "8.12" ; out = "3.9"; } - { case = range "8.8" "8.11"; out = "3.8"; } - ] null; - - release = { - "3.8".sha256 = "1gzlyxvw64ca12qql3wnq3bidcx9ygsklv9grjma3ib4hvg7vnr7"; - "3.9".sha256 = "1srcz2dqrvmbvv5cl66r34zqkm0hsbryk7gd3i9xx4slahc9zvdb"; - "3.10".sha256 = "sha256:19rmx8r8v46101ij5myfrz60arqjy7q3ra3fb8mxqqi3c8c4l4j6"; - "3.11".sha256 = "sha256-ZISs/ZAJVWtxp9+Sg5qV5Rss1gI9hK769GnBfawLa6A="; - "3.12".sha256 = "sha256-hXkQ8UnAx3k50OJGBmSm4hgrnRFCosu4+PEMrcKfmV0="; - "3.13".sha256 = "sha256-ZedxgEPr1ZgKIcyhQ6zD1l2xr6RDNNUYq/4ZyR6ojM4="; - "3.13.1".sha256 = "sha256-ldXbuzVB0Z+UVTd5S4yGSg6oRYiKbXLMmUZcQsJLcns="; - "3.14".sha256 = "sha256-QXJMpp/BaPiK5okHeo2rcmXENToXKjB51UqljMHTDgw="; + # https://compcert.org/man/manual002.html + targets = { + x86_64-linux = "x86_64-linux"; + aarch64-linux = "aarch64-linux"; + x86_64-darwin = "x86_64-macos"; + aarch64-darwin = "aarch64-macos"; + riscv32-linux = "rv32-linux"; + riscv64-linux = "rv64-linux"; }; - strictDeps = true; - - nativeBuildInputs = with ocamlPackages; [ makeWrapper ocaml findlib menhir coq coq2html ]; - buildInputs = with ocamlPackages; [ menhirLib ]; - propagatedBuildInputs = [ flocq MenhirLib ]; - - enableParallelBuilding = true; - - postPatch = '' - substituteInPlace ./configure \ - --replace \$\{toolprefix\}ar 'ar' \ - --replace '{toolprefix}gcc' '{toolprefix}cc' - ''; - - configurePhase = '' - ./configure -clightgen \ - -prefix $out \ - -coqdevdir $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ \ - -toolprefix ${tools}/bin/ \ - -use-external-Flocq \ - -use-external-MenhirLib \ - ${target} \ - ''; # don't remove the \ above, the command gets appended in override below - - installTargets = "documentation install"; - installFlags = []; # trust ./configure - preInstall = '' - mkdir -p $out/share/man - mkdir -p $man/share - ''; - postInstall = '' - # move man into place - mv $out/share/man/ $man/share/ - - # move docs into place - mkdir -p $doc/share/doc/compcert - mv doc/html $doc/share/doc/compcert/ - - # wrap ccomp to undefine _FORTIFY_SOURCE; ccomp invokes cc1 which sets - # _FORTIFY_SOURCE=2 by default, but undefines __GNUC__ (as it should), - # which causes a warning in libc. this suppresses it. - for x in ccomp clightgen; do - wrapProgram $out/bin/$x --add-flags "-U_FORTIFY_SOURCE" - done - ''; - - outputs = [ "out" "lib" "doc" "man" ]; - - meta = with lib; { - description = "Formally verified C compiler"; - homepage = "https://compcert.org"; - license = licenses.inria-compcert; - platforms = builtins.attrNames targets; - maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ]; + target = + targets.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + compcert = mkCoqDerivation { + + pname = "compcert"; + owner = "AbsInt"; + + inherit version; + releaseRev = v: "v${v}"; + + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.14" "8.20"; + out = "3.14"; + } + { + case = isEq "8.13"; + out = "3.10"; + } + { + case = isEq "8.12"; + out = "3.9"; + } + { + case = range "8.8" "8.11"; + out = "3.8"; + } + ] null; + + release = { + "3.8".sha256 = "1gzlyxvw64ca12qql3wnq3bidcx9ygsklv9grjma3ib4hvg7vnr7"; + "3.9".sha256 = "1srcz2dqrvmbvv5cl66r34zqkm0hsbryk7gd3i9xx4slahc9zvdb"; + "3.10".sha256 = "sha256:19rmx8r8v46101ij5myfrz60arqjy7q3ra3fb8mxqqi3c8c4l4j6"; + "3.11".sha256 = "sha256-ZISs/ZAJVWtxp9+Sg5qV5Rss1gI9hK769GnBfawLa6A="; + "3.12".sha256 = "sha256-hXkQ8UnAx3k50OJGBmSm4hgrnRFCosu4+PEMrcKfmV0="; + "3.13".sha256 = "sha256-ZedxgEPr1ZgKIcyhQ6zD1l2xr6RDNNUYq/4ZyR6ojM4="; + "3.13.1".sha256 = "sha256-ldXbuzVB0Z+UVTd5S4yGSg6oRYiKbXLMmUZcQsJLcns="; + "3.14".sha256 = "sha256-QXJMpp/BaPiK5okHeo2rcmXENToXKjB51UqljMHTDgw="; + }; + + strictDeps = true; + + nativeBuildInputs = with ocamlPackages; [ + makeWrapper + ocaml + findlib + menhir + coq + coq2html + ]; + buildInputs = with ocamlPackages; [ menhirLib ]; + propagatedBuildInputs = [ + flocq + MenhirLib + ]; + + enableParallelBuilding = true; + + postPatch = '' + substituteInPlace ./configure \ + --replace \$\{toolprefix\}ar 'ar' \ + --replace '{toolprefix}gcc' '{toolprefix}cc' + ''; + + configurePhase = '' + ./configure -clightgen \ + -prefix $out \ + -coqdevdir $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ \ + -toolprefix ${tools}/bin/ \ + -use-external-Flocq \ + -use-external-MenhirLib \ + ${target} \ + ''; # don't remove the \ above, the command gets appended in override below + + installTargets = "documentation install"; + installFlags = [ ]; # trust ./configure + preInstall = '' + mkdir -p $out/share/man + mkdir -p $man/share + ''; + postInstall = '' + # move man into place + mv $out/share/man/ $man/share/ + + # move docs into place + mkdir -p $doc/share/doc/compcert + mv doc/html $doc/share/doc/compcert/ + + # wrap ccomp to undefine _FORTIFY_SOURCE; ccomp invokes cc1 which sets + # _FORTIFY_SOURCE=2 by default, but undefines __GNUC__ (as it should), + # which causes a warning in libc. this suppresses it. + for x in ccomp clightgen; do + wrapProgram $out/bin/$x --add-flags "-U_FORTIFY_SOURCE" + done + ''; + + outputs = [ + "out" + "lib" + "doc" + "man" + ]; + + meta = with lib; { + description = "Formally verified C compiler"; + homepage = "https://compcert.org"; + license = licenses.inria-compcert; + platforms = builtins.attrNames targets; + maintainers = with maintainers; [ + thoughtpolice + jwiegley + vbgl + ]; + }; }; -}; -patched_compcert = compcert.overrideAttrs (o: - { - patches = with lib.versions; lib.switch [ coq.version o.version ] [ - { cases = [ (range "8.12.2" "8.13.2") "3.8" ]; - out = [ - # Support for Coq 8.12.2 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/06956421b4307054af221c118c5f59593c0e67b9.patch"; - sha256 = "1f90q6j3xfvnf3z830bkd4d8526issvmdlrjlc95bfsqs78i1yrl"; - }) - # Support for Coq 8.13.0 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/0895388e7ebf9c9f3176d225107e21968919fb97.patch"; - sha256 = "0qhkzgb2xl5kxys81pldp3mr39gd30lvr2l2wmplij319vp3xavd"; - }) - # Support for Coq 8.13.1 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/6bf310dd678285dc193798e89fc2c441d8430892.patch"; - sha256 = "026ahhvpj5pksy90f8pnxgmhgwfqk4kwyvcf8x3dsanvz98d4pj5"; - }) - # Drop support for Coq < 8.9 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/7563a5df926a4c6fb1489a7a4c847641c8a35095.patch"; - sha256 = "05vkslzy399r3dm6dmjs722rrajnyfa30xsyy3djl52isvn4gyfb"; - }) - # Support for Coq 8.13.2 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/48bc183167c4ce01a5c9ea86e49d60530adf7290.patch"; - sha256 = "0j62lppfk26d1brdp3qwll2wi4gvpx1k70qivpvby5f7dpkrkax1"; - }) - ]; - } - { cases = [ (range "8.14" "8.15") "3.10" ]; - out = [ - # Support for Coq 8.14.1 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/a79f0f99831aa0b0742bf7cce459cc9353bd7cd0.patch"; - sha256 = "sha256:0g20x8gfzvplpad9y9vr1p33k6qv6rsp691x6687v9ffvz7zsz94"; - }) - # Support for Coq 8.15.0 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/a882f78c069f7337dd9f4abff117d4df98ef38a6.patch"; - sha256 = "sha256:16i87s608fj9ni7cvd5wrd7gicqniad7w78wi26pxdy0pacl7bjg"; - }) - # Support for Coq 8.15.1 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/10a976994d7fd30d143354c289ae735d210ccc09.patch"; - sha256 = "sha256:0bg58gpkgxlmxzp6sg0dvybrfk0pxnm7qd6vxlrbsbm2w6wk03jv"; - }) - # Support for Coq 8.15.2 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/283a5be7296c4c0a94d863b427c77007ab875733.patch"; - sha256 = "sha256:1s7hvb5ii3p8kkcjlzwldvk8xc3iiibxi9935qjbrh25xi6qs66k"; - }) - ]; - } - { cases = [ (isEq "8.16") (range "3.11" "3.12") ]; - out = [ - # Support for Coq 8.16.0 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/34be08a23d18d56f2dde24fd24b6dbe3bcb01ec3.patch"; - sha256 = "sha256-a5YnftGVadVypEqrOYRRxI7YtGOEWyKnO4GqakFhvzI="; - }) - # Support for Coq 8.16.1 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/35531503b3493cb9b0ec8a8585e84928c85b4af9.patch"; - hash = "sha256-DvtYi/eiPUe8tA0EFTcCjJA0JjtVKceUsX4ZDM0pWkE="; - }) - ]; - } - { cases = [ (range "8.17" "8.19") (isEq "3.13") ]; - out = [ - # Support for Coq 8.17.0 & Coq 8.17.1 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/2e04d986bdae578186e40330842878559a550402.patch"; - hash = "sha256-2ZRAjUUSScJI8ogWFTnukCUnJdLWGvyOPyfIVlHL4ig="; - }) - # Support for Coq 8.18.0 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/28218c5663cba36c6078ca342335d4e55c412bd7.patch"; - hash = "sha256-aAatUMO26oZwFYGh1BXYWxbTuyOgU8BAKMGDS5796hM="; - }) - # MenhirLib update - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/9f3d7b6eb99377ad4689cd57563c484c57baa457.patch"; - hash = "sha256-paofdSBxP/JFoBSiO1OI+mjKRI3UCanXRh/drzYt93E="; - }) - # Support for Coq 8.19.0 & Coq 8.19.1 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/a2e4ed62fc558d565366845f9d135bd7db5e23c4.patch"; - hash = "sha256-ufk0bokuayLfkSvK3cK4E9iXU5eZpp9d/ETSa/zCfMg="; - }) - # Support for Coq 8.19.2 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/8fcfb7d2a6e9ba44003ccab0dfcc894982779af1.patch"; - hash = "sha256-m/kcnDBBPWFriipuGvKZUqLQU8/W1uqw8j4qfCwnTZk="; - }) - ]; - } - { cases = [ (range "8.19" "8.20") (isEq "3.14") ]; - out = [ - # Support for Coq 8.19.2 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/8fcfb7d2a6e9ba44003ccab0dfcc894982779af1.patch"; - hash = "sha256-m/kcnDBBPWFriipuGvKZUqLQU8/W1uqw8j4qfCwnTZk="; - }) - # Support for Coq 8.20.0 - (fetchpatch { - url = "https://github.com/AbsInt/CompCert/commit/20a5b48758bf8ac18e4c420df67017b371efc237.patch"; - hash = "sha256-TJ87CvLiAv1absGnPsTXsD/HQwKgS82loUTcosulyso="; - }) - ]; - } - ] []; - }); in -patched_compcert.overrideAttrs (o: - lib.optionalAttrs (coq.version != null && coq.version == "dev") - { configurePhase = "${o.configurePhase} -ignore-ocaml-version -ignore-coq-version"; } + patched_compcert = compcert.overrideAttrs (o: { + patches = + with lib.versions; + lib.switch [ coq.version o.version ] + [ + { + cases = [ + (range "8.12.2" "8.13.2") + "3.8" + ]; + out = [ + # Support for Coq 8.12.2 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/06956421b4307054af221c118c5f59593c0e67b9.patch"; + sha256 = "1f90q6j3xfvnf3z830bkd4d8526issvmdlrjlc95bfsqs78i1yrl"; + }) + # Support for Coq 8.13.0 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/0895388e7ebf9c9f3176d225107e21968919fb97.patch"; + sha256 = "0qhkzgb2xl5kxys81pldp3mr39gd30lvr2l2wmplij319vp3xavd"; + }) + # Support for Coq 8.13.1 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/6bf310dd678285dc193798e89fc2c441d8430892.patch"; + sha256 = "026ahhvpj5pksy90f8pnxgmhgwfqk4kwyvcf8x3dsanvz98d4pj5"; + }) + # Drop support for Coq < 8.9 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/7563a5df926a4c6fb1489a7a4c847641c8a35095.patch"; + sha256 = "05vkslzy399r3dm6dmjs722rrajnyfa30xsyy3djl52isvn4gyfb"; + }) + # Support for Coq 8.13.2 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/48bc183167c4ce01a5c9ea86e49d60530adf7290.patch"; + sha256 = "0j62lppfk26d1brdp3qwll2wi4gvpx1k70qivpvby5f7dpkrkax1"; + }) + ]; + } + { + cases = [ + (range "8.14" "8.15") + "3.10" + ]; + out = [ + # Support for Coq 8.14.1 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/a79f0f99831aa0b0742bf7cce459cc9353bd7cd0.patch"; + sha256 = "sha256:0g20x8gfzvplpad9y9vr1p33k6qv6rsp691x6687v9ffvz7zsz94"; + }) + # Support for Coq 8.15.0 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/a882f78c069f7337dd9f4abff117d4df98ef38a6.patch"; + sha256 = "sha256:16i87s608fj9ni7cvd5wrd7gicqniad7w78wi26pxdy0pacl7bjg"; + }) + # Support for Coq 8.15.1 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/10a976994d7fd30d143354c289ae735d210ccc09.patch"; + sha256 = "sha256:0bg58gpkgxlmxzp6sg0dvybrfk0pxnm7qd6vxlrbsbm2w6wk03jv"; + }) + # Support for Coq 8.15.2 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/283a5be7296c4c0a94d863b427c77007ab875733.patch"; + sha256 = "sha256:1s7hvb5ii3p8kkcjlzwldvk8xc3iiibxi9935qjbrh25xi6qs66k"; + }) + ]; + } + { + cases = [ + (isEq "8.16") + (range "3.11" "3.12") + ]; + out = [ + # Support for Coq 8.16.0 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/34be08a23d18d56f2dde24fd24b6dbe3bcb01ec3.patch"; + sha256 = "sha256-a5YnftGVadVypEqrOYRRxI7YtGOEWyKnO4GqakFhvzI="; + }) + # Support for Coq 8.16.1 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/35531503b3493cb9b0ec8a8585e84928c85b4af9.patch"; + hash = "sha256-DvtYi/eiPUe8tA0EFTcCjJA0JjtVKceUsX4ZDM0pWkE="; + }) + ]; + } + { + cases = [ + (range "8.17" "8.19") + (isEq "3.13") + ]; + out = [ + # Support for Coq 8.17.0 & Coq 8.17.1 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/2e04d986bdae578186e40330842878559a550402.patch"; + hash = "sha256-2ZRAjUUSScJI8ogWFTnukCUnJdLWGvyOPyfIVlHL4ig="; + }) + # Support for Coq 8.18.0 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/28218c5663cba36c6078ca342335d4e55c412bd7.patch"; + hash = "sha256-aAatUMO26oZwFYGh1BXYWxbTuyOgU8BAKMGDS5796hM="; + }) + # MenhirLib update + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/9f3d7b6eb99377ad4689cd57563c484c57baa457.patch"; + hash = "sha256-paofdSBxP/JFoBSiO1OI+mjKRI3UCanXRh/drzYt93E="; + }) + # Support for Coq 8.19.0 & Coq 8.19.1 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/a2e4ed62fc558d565366845f9d135bd7db5e23c4.patch"; + hash = "sha256-ufk0bokuayLfkSvK3cK4E9iXU5eZpp9d/ETSa/zCfMg="; + }) + # Support for Coq 8.19.2 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/8fcfb7d2a6e9ba44003ccab0dfcc894982779af1.patch"; + hash = "sha256-m/kcnDBBPWFriipuGvKZUqLQU8/W1uqw8j4qfCwnTZk="; + }) + ]; + } + { + cases = [ + (range "8.19" "8.20") + (isEq "3.14") + ]; + out = [ + # Support for Coq 8.19.2 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/8fcfb7d2a6e9ba44003ccab0dfcc894982779af1.patch"; + hash = "sha256-m/kcnDBBPWFriipuGvKZUqLQU8/W1uqw8j4qfCwnTZk="; + }) + # Support for Coq 8.20.0 + (fetchpatch { + url = "https://github.com/AbsInt/CompCert/commit/20a5b48758bf8ac18e4c420df67017b371efc237.patch"; + hash = "sha256-TJ87CvLiAv1absGnPsTXsD/HQwKgS82loUTcosulyso="; + }) + ]; + } + ] + [ ]; + }); +in +patched_compcert.overrideAttrs ( + o: + lib.optionalAttrs (coq.version != null && coq.version == "dev") { + configurePhase = "${o.configurePhase} -ignore-ocaml-version -ignore-coq-version"; + } ) diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix index 2d10f683cc360..f3c01cee334f7 100644 --- a/pkgs/development/coq-modules/contribs/default.nix +++ b/pkgs/development/coq-modules/contribs/default.nix @@ -1,29 +1,57 @@ -{ lib, mkCoqDerivation, coq, callPackage }: - - let mkContrib = pname: coqs: param: - let contribVersion = {version ? null}: mkCoqDerivation ({ - inherit pname version; - owner = "coq-contribs"; - mlPlugin = true; - } // lib.optionalAttrs (builtins.elem coq.coq-version coqs) ({ - defaultVersion = param.version; - release = { "${param.version}" = { inherit (param) rev sha256; }; }; - } // (removeAttrs param [ "version" "rev" "sha256" ])) - ); in - lib.makeOverridable contribVersion {} ; in { - aac-tactics = mkContrib "aac-tactics" [ "8.7" "8.8" ] { - "8.7" = { - version = "20180530"; - rev = "f01df35e1d796ce1fdc7ba3d670ce5d63c95d544"; - sha256 = "1bwvnbd5ws1plgj147blcrvyycf3gg3fz3rm2mckln8z3sfxyq2k"; - }; - "8.8" = { - version = "20180530"; - rev = "86ac28259030649ef51460e4de2441c8a1017751"; - sha256 = "09bbk2a7pn0j76mmapl583f8a20zqd3a1m9lkml8rpwml692bzi9"; - }; - }.${coq.coq-version}; + lib, + mkCoqDerivation, + coq, + callPackage, +}: + +let + mkContrib = + pname: coqs: param: + let + contribVersion = + { + version ? null, + }: + mkCoqDerivation ( + { + inherit pname version; + owner = "coq-contribs"; + mlPlugin = true; + } + // lib.optionalAttrs (builtins.elem coq.coq-version coqs) ( + { + defaultVersion = param.version; + release = { + "${param.version}" = { inherit (param) rev sha256; }; + }; + } + // (removeAttrs param [ + "version" + "rev" + "sha256" + ]) + ) + ); + in + lib.makeOverridable contribVersion { }; +in +{ + aac-tactics = + mkContrib "aac-tactics" [ "8.7" "8.8" ] + { + "8.7" = { + version = "20180530"; + rev = "f01df35e1d796ce1fdc7ba3d670ce5d63c95d544"; + sha256 = "1bwvnbd5ws1plgj147blcrvyycf3gg3fz3rm2mckln8z3sfxyq2k"; + }; + "8.8" = { + version = "20180530"; + rev = "86ac28259030649ef51460e4de2441c8a1017751"; + sha256 = "09bbk2a7pn0j76mmapl583f8a20zqd3a1m9lkml8rpwml692bzi9"; + }; + } + .${coq.coq-version}; abp = mkContrib "abp" [ "8.5" "8.6" "8.7" ] { version = "v8.6.0"; @@ -187,28 +215,31 @@ sha256 = "1ddwzg12pbzpnz3njin4zhpph92kscrbsn3bzds26yj8fp76zc33"; }; - containers = mkContrib "containers" [ "8.6" "8.7" "8.8" "8.9" ] { - "8.6" = { - version = "8.6.0"; - rev = "fa1fec7"; - sha256 = "1ns0swlr8hzb1zc7fsyd3vws1vbq0vvfxcf0lszqnca9c9hfkfy4"; - }; - "8.7" = { - version = "20180313"; - rev = "77ac16366529c9e558f70ba86f0168a76ca76b8f"; - sha256 = "01gp8injb0knaxgqsdc4x9h8714k7qxg7j5w7y6i45dnpd81ndr4"; - }; - "8.8" = { - version = "20180330"; - rev = "52b86bed1671321b25fe4d7495558f9f221b12aa"; - sha256 = "0hbnrwdgryr52170cfrlbiymr88jsyxilnpr343vnprqq3zk1xz0"; - }; - "8.9" = { - version = "20190222"; - rev = "aa33052c1edfc5a65885942a67c2773b5d96f8cc"; - sha256 = "0mjgfdr9bzsch0dlk4vq1frkaig14dqh46r54cv0l15flxapg0iw"; - }; - }.${coq.coq-version}; + containers = + mkContrib "containers" [ "8.6" "8.7" "8.8" "8.9" ] + { + "8.6" = { + version = "8.6.0"; + rev = "fa1fec7"; + sha256 = "1ns0swlr8hzb1zc7fsyd3vws1vbq0vvfxcf0lszqnca9c9hfkfy4"; + }; + "8.7" = { + version = "20180313"; + rev = "77ac16366529c9e558f70ba86f0168a76ca76b8f"; + sha256 = "01gp8injb0knaxgqsdc4x9h8714k7qxg7j5w7y6i45dnpd81ndr4"; + }; + "8.8" = { + version = "20180330"; + rev = "52b86bed1671321b25fe4d7495558f9f221b12aa"; + sha256 = "0hbnrwdgryr52170cfrlbiymr88jsyxilnpr343vnprqq3zk1xz0"; + }; + "8.9" = { + version = "20190222"; + rev = "aa33052c1edfc5a65885942a67c2773b5d96f8cc"; + sha256 = "0mjgfdr9bzsch0dlk4vq1frkaig14dqh46r54cv0l15flxapg0iw"; + }; + } + .${coq.coq-version}; continuations = mkContrib "continuations" [ ] { version = "v8.5.0-13-g6885310"; @@ -343,9 +374,9 @@ }; firing-squad = mkContrib "firing-squad" [ "8.6" ] { - version = "v8.5.0-9-gbe728cd"; - rev = "be728cddbee58088809b51c25425d2a4bdf9b823"; - sha256 = "0i0v5x6lncjasxk22pras3644ff026q8jai45dbimf2fz73312c9"; + version = "v8.5.0-9-gbe728cd"; + rev = "be728cddbee58088809b51c25425d2a4bdf9b823"; + sha256 = "0i0v5x6lncjasxk22pras3644ff026q8jai45dbimf2fz73312c9"; }; float = mkContrib "float" [ "8.7" ] { diff --git a/pkgs/development/coq-modules/coq-bits/default.nix b/pkgs/development/coq-modules/coq-bits/default.nix index cadf18df73113..6754ba4d66a78 100644 --- a/pkgs/development/coq-modules/coq-bits/default.nix +++ b/pkgs/development/coq-modules/coq-bits/default.nix @@ -1,13 +1,36 @@ -{ lib, mkCoqDerivation, coq, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp, + version ? null, +}: mkCoqDerivation { pname = "coq-bits"; repo = "bits"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.10" "8.16") (isLt "2.0") ]; out = "1.1.0"; } - { cases = [ (range "8.7" "8.15") (isLt "2.0") ]; out = "1.0.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.10" "8.16") + (isLt "2.0") + ]; + out = "1.1.0"; + } + { + cases = [ + (range "8.7" "8.15") + (isLt "2.0") + ]; + out = "1.0.0"; + } + ] + null; release."1.1.0".sha256 = "sha256-TCw1kSXeW0ysIdLeNr+EGmpGumEE9i8tinEMp57UXaE="; release."1.0.0".sha256 = "0nv5mdgrd075dpd8bc7h0xc5i95v0pkm0bfyq5rj6ii1s54dwcjl"; diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix index eacafcbe38091..4765e8fbb1deb 100644 --- a/pkgs/development/coq-modules/coq-elpi/default.nix +++ b/pkgs/development/coq-modules/coq-elpi/default.nix @@ -1,61 +1,150 @@ -{ lib, mkCoqDerivation, which, coq, version ? null }: +{ + lib, + mkCoqDerivation, + which, + coq, + version ? null, +}: let - elpi = coq.ocamlPackages.elpi.override (lib.switch coq.coq-version [ - { case = "8.11"; out = { version = "1.11.4"; };} - { case = "8.12"; out = { version = "1.12.0"; };} - { case = "8.13"; out = { version = "1.13.7"; };} - { case = "8.14"; out = { version = "1.13.7"; };} - { case = "8.15"; out = { version = "1.15.0"; };} - { case = "8.16"; out = { version = "1.17.0"; };} - { case = "8.17"; out = { version = "1.17.0"; };} - { case = "8.18"; out = { version = "1.18.1"; };} - { case = "8.19"; out = { version = "1.18.1"; };} - { case = "8.20"; out = { version = "1.19.2"; };} - ] {} ); -in (mkCoqDerivation { + elpi = coq.ocamlPackages.elpi.override ( + lib.switch coq.coq-version [ + { + case = "8.11"; + out = { + version = "1.11.4"; + }; + } + { + case = "8.12"; + out = { + version = "1.12.0"; + }; + } + { + case = "8.13"; + out = { + version = "1.13.7"; + }; + } + { + case = "8.14"; + out = { + version = "1.13.7"; + }; + } + { + case = "8.15"; + out = { + version = "1.15.0"; + }; + } + { + case = "8.16"; + out = { + version = "1.17.0"; + }; + } + { + case = "8.17"; + out = { + version = "1.17.0"; + }; + } + { + case = "8.18"; + out = { + version = "1.18.1"; + }; + } + { + case = "8.19"; + out = { + version = "1.18.1"; + }; + } + { + case = "8.20"; + out = { + version = "1.19.2"; + }; + } + ] { } + ); +in +(mkCoqDerivation { pname = "elpi"; - repo = "coq-elpi"; + repo = "coq-elpi"; owner = "LPCIC"; inherit version; defaultVersion = lib.switch coq.coq-version [ - { case = "8.20"; out = "2.2.0"; } - { case = "8.19"; out = "2.0.1"; } - { case = "8.18"; out = "2.0.0"; } - { case = "8.17"; out = "1.18.0"; } - { case = "8.16"; out = "1.15.6"; } - { case = "8.15"; out = "1.14.0"; } - { case = "8.14"; out = "1.11.2"; } - { case = "8.13"; out = "1.11.1"; } - { case = "8.12"; out = "1.8.3_8.12"; } - { case = "8.11"; out = "1.6.3_8.11"; } + { + case = "8.20"; + out = "2.2.0"; + } + { + case = "8.19"; + out = "2.0.1"; + } + { + case = "8.18"; + out = "2.0.0"; + } + { + case = "8.17"; + out = "1.18.0"; + } + { + case = "8.16"; + out = "1.15.6"; + } + { + case = "8.15"; + out = "1.14.0"; + } + { + case = "8.14"; + out = "1.11.2"; + } + { + case = "8.13"; + out = "1.11.1"; + } + { + case = "8.12"; + out = "1.8.3_8.12"; + } + { + case = "8.11"; + out = "1.6.3_8.11"; + } ] null; - release."2.2.0".sha256 = "sha256-rADEoqTXM7/TyYkUKsmCFfj6fjpWdnZEOK++5oLfC/I="; - release."2.0.1".sha256 = "sha256-cuoPsEJ+JRLVc9Golt2rJj4P7lKltTrrmQijjoViooc="; - release."2.0.0".sha256 = "sha256-A/cH324M21k3SZ7+YWXtaYEbu6dZQq3K0cb1RMKjbsM="; - release."1.19.0".sha256 = "sha256-kGoo61nJxeG/BqV+iQaV3iinwPStND+7+fYMxFkiKrQ="; - release."1.18.0".sha256 = "sha256-2fCOlhqi4YkiL5n8SYHuc3pLH+DArf9zuMH7IhpBc2Y="; - release."1.17.0".sha256 = "sha256-J8GatRKFU0ekNCG3V5dBI+FXypeHcLgC5QJYGYzFiEM="; - release."1.15.6".sha256 = "sha256-qc0q01tW8NVm83801HHOBHe/7H1/F2WGDbKO6nCXfno="; - release."1.15.1".sha256 = "sha256-NT2RlcIsFB9AvBhMxil4ZZIgx+KusMqDflj2HgQxsZg="; - release."1.14.0".sha256 = "sha256:1v2p5dlpviwzky2i14cj7gcgf8cr0j54bdm9fl5iz1ckx60j6nvp"; - release."1.13.0".sha256 = "1j7s7dlnjbw222gnbrsjgmjck1yrx7h6hwm8zikcyxi0zys17w7n"; - release."1.12.1".sha256 = "sha256-4mO6/co7NcIQSGIQJyoO8lNWXr6dqz+bIYPO/G0cPkY="; - release."1.11.2".sha256 = "0qk5cfh15y2zrja7267629dybd3irvxk1raz7z8qfir25a81ckd4"; - release."1.11.1".sha256 = "10j076vc2hdcbm15m6s7b6xdzibgfcbzlkgjnlkr2vv9k13qf8kc"; - release."1.10.1".sha256 = "1zsyx26dvj7pznfd2msl2w7zbw51q1nsdw0bdvdha6dga7ijf7xk"; - release."1.9.7".sha256 = "0rvn12h9dpk9s4pxy32p8j0a1h7ib7kg98iv1cbrdg25y5vs85n1"; - release."1.9.5".sha256 = "0gjdwmb6bvb5gh0a6ra48bz5fb3pr5kpxijb7a8mfydvar5i9qr6"; - release."1.9.4".sha256 = "0nii7238mya74f9g6147qmpg6gv6ic9b54x5v85nb6q60d9jh0jq"; - release."1.9.3".sha256 = "198irm800fx3n8n56vx1c6f626cizp1d7jfkrc6ba4iqhb62ma0z"; - release."1.9.2".sha256 = "1rr2fr8vjkc0is7vh1461aidz2iwkigdkp6bqss4hhv0c3ijnn07"; - release."1.8.3_8.12".sha256 = "15z2l4zy0qpw0ws7bvsmpmyv543aqghrfnl48nlwzn9q0v89p557"; + release."2.2.0".sha256 = "sha256-rADEoqTXM7/TyYkUKsmCFfj6fjpWdnZEOK++5oLfC/I="; + release."2.0.1".sha256 = "sha256-cuoPsEJ+JRLVc9Golt2rJj4P7lKltTrrmQijjoViooc="; + release."2.0.0".sha256 = "sha256-A/cH324M21k3SZ7+YWXtaYEbu6dZQq3K0cb1RMKjbsM="; + release."1.19.0".sha256 = "sha256-kGoo61nJxeG/BqV+iQaV3iinwPStND+7+fYMxFkiKrQ="; + release."1.18.0".sha256 = "sha256-2fCOlhqi4YkiL5n8SYHuc3pLH+DArf9zuMH7IhpBc2Y="; + release."1.17.0".sha256 = "sha256-J8GatRKFU0ekNCG3V5dBI+FXypeHcLgC5QJYGYzFiEM="; + release."1.15.6".sha256 = "sha256-qc0q01tW8NVm83801HHOBHe/7H1/F2WGDbKO6nCXfno="; + release."1.15.1".sha256 = "sha256-NT2RlcIsFB9AvBhMxil4ZZIgx+KusMqDflj2HgQxsZg="; + release."1.14.0".sha256 = "sha256:1v2p5dlpviwzky2i14cj7gcgf8cr0j54bdm9fl5iz1ckx60j6nvp"; + release."1.13.0".sha256 = "1j7s7dlnjbw222gnbrsjgmjck1yrx7h6hwm8zikcyxi0zys17w7n"; + release."1.12.1".sha256 = "sha256-4mO6/co7NcIQSGIQJyoO8lNWXr6dqz+bIYPO/G0cPkY="; + release."1.11.2".sha256 = "0qk5cfh15y2zrja7267629dybd3irvxk1raz7z8qfir25a81ckd4"; + release."1.11.1".sha256 = "10j076vc2hdcbm15m6s7b6xdzibgfcbzlkgjnlkr2vv9k13qf8kc"; + release."1.10.1".sha256 = "1zsyx26dvj7pznfd2msl2w7zbw51q1nsdw0bdvdha6dga7ijf7xk"; + release."1.9.7".sha256 = "0rvn12h9dpk9s4pxy32p8j0a1h7ib7kg98iv1cbrdg25y5vs85n1"; + release."1.9.5".sha256 = "0gjdwmb6bvb5gh0a6ra48bz5fb3pr5kpxijb7a8mfydvar5i9qr6"; + release."1.9.4".sha256 = "0nii7238mya74f9g6147qmpg6gv6ic9b54x5v85nb6q60d9jh0jq"; + release."1.9.3".sha256 = "198irm800fx3n8n56vx1c6f626cizp1d7jfkrc6ba4iqhb62ma0z"; + release."1.9.2".sha256 = "1rr2fr8vjkc0is7vh1461aidz2iwkigdkp6bqss4hhv0c3ijnn07"; + release."1.8.3_8.12".sha256 = "15z2l4zy0qpw0ws7bvsmpmyv543aqghrfnl48nlwzn9q0v89p557"; release."1.8.3_8.12".version = "1.8.3"; - release."1.8.2_8.12".sha256 = "1n6jwcdazvjgj8vsv2r9zgwpw5yqr5a1ndc2pwhmhqfl04b5dk4y"; + release."1.8.2_8.12".sha256 = "1n6jwcdazvjgj8vsv2r9zgwpw5yqr5a1ndc2pwhmhqfl04b5dk4y"; release."1.8.2_8.12".version = "1.8.2"; - release."1.8.1".sha256 = "1fbbdccdmr8g4wwpihzp4r2xacynjznf817lhijw6kqfav75zd0r"; - release."1.8.0".sha256 = "13ywjg94zkbki22hx7s4gfm9rr87r4ghsgan23xyl3l9z8q0idd1"; - release."1.7.0".sha256 = "1ws5cqr0xawv69prgygbl3q6dgglbaw0vc397h9flh90kxaqgyh8"; + release."1.8.1".sha256 = "1fbbdccdmr8g4wwpihzp4r2xacynjznf817lhijw6kqfav75zd0r"; + release."1.8.0".sha256 = "13ywjg94zkbki22hx7s4gfm9rr87r4ghsgan23xyl3l9z8q0idd1"; + release."1.7.0".sha256 = "1ws5cqr0xawv69prgygbl3q6dgglbaw0vc397h9flh90kxaqgyh8"; release."1.6.3_8.11".sha256 = "1j340cr2bv95clzzkkfmsjkklham1mj84cmiyprzwv20q89zr1hp"; release."1.6.3_8.11".version = "1.6.3"; release."1.6.2_8.11".sha256 = "06xrx0ljilwp63ik2sxxr7h617dgbch042xfcnfpy5x96br147rn"; @@ -64,23 +153,28 @@ in (mkCoqDerivation { release."1.6.1_8.11".version = "1.6.1"; release."1.6.0_8.11".sha256 = "0ahxjnzmd7kl3gl38kyjqzkfgllncr2ybnw8bvgrc6iddgga7bpq"; release."1.6.0_8.11".version = "1.6.0"; - release."1.6.0".sha256 = "0kf99i43mlf750fr7fric764mm495a53mg5kahnbp6zcjcxxrm0b"; + release."1.6.0".sha256 = "0kf99i43mlf750fr7fric764mm495a53mg5kahnbp6zcjcxxrm0b"; releaseRev = v: "v${v}"; buildFlags = [ "OCAMLWARN=" ]; mlPlugin = true; useDuneifVersion = v: lib.versions.isGe "2.2.0" v || v == "dev"; - propagatedBuildInputs = [ coq.ocamlPackages.findlib elpi ]; + propagatedBuildInputs = [ + coq.ocamlPackages.findlib + elpi + ]; meta = { description = "Coq plugin embedding ELPI"; maintainers = [ lib.maintainers.cohencyril ]; license = lib.licenses.lgpl21Plus; }; -}).overrideAttrs (o: - lib.optionalAttrs (o.version != null - && (o.version == "dev" || lib.versions.isGe "2.2.0" o.version)) - { - propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq.ocamlPackages.ppx_optcomp ]; - }) +}).overrideAttrs + ( + o: + lib.optionalAttrs (o.version != null && (o.version == "dev" || lib.versions.isGe "2.2.0" o.version)) + { + propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq.ocamlPackages.ppx_optcomp ]; + } + ) diff --git a/pkgs/development/coq-modules/coq-hammer/default.nix b/pkgs/development/coq-modules/coq-hammer/default.nix index 33785178228f7..ab7f1b2da20f3 100644 --- a/pkgs/development/coq-modules/coq-hammer/default.nix +++ b/pkgs/development/coq-modules/coq-hammer/default.nix @@ -1,9 +1,20 @@ -{ mkCoqDerivation, coq, coq-hammer-tactics, version ? null }: +{ + mkCoqDerivation, + coq, + coq-hammer-tactics, + version ? null, +}: mkCoqDerivation { inherit version; pname = "coq-hammer"; - inherit (coq-hammer-tactics) owner repo defaultVersion release releaseRev; + inherit (coq-hammer-tactics) + owner + repo + defaultVersion + release + releaseRev + ; buildFlags = [ "plugin" ]; installTargets = [ "install-plugin" ]; @@ -11,7 +22,10 @@ mkCoqDerivation { mlPlugin = true; - propagatedBuildInputs = [ coq.ocamlPackages.findlib coq-hammer-tactics ]; + propagatedBuildInputs = [ + coq.ocamlPackages.findlib + coq-hammer-tactics + ]; meta = coq-hammer-tactics.meta // { description = "General-purpose automated reasoning hammer tool for Coq"; diff --git a/pkgs/development/coq-modules/coq-hammer/tactics.nix b/pkgs/development/coq-modules/coq-hammer/tactics.nix index 27a0105833f8a..c2f7e40f1a23f 100644 --- a/pkgs/development/coq-modules/coq-hammer/tactics.nix +++ b/pkgs/development/coq-modules/coq-hammer/tactics.nix @@ -1,14 +1,33 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: let owner = "lukaszcz"; repo = "coqhammer"; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = "8.19"; out = "1.3.2+8.19"; } - { case = "8.18"; out = "1.3.2+8.18"; } - { case = "8.17"; out = "1.3.2+8.17"; } - { case = "8.16"; out = "1.3.2+8.16"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = "8.19"; + out = "1.3.2+8.19"; + } + { + case = "8.18"; + out = "1.3.2+8.18"; + } + { + case = "8.17"; + out = "1.3.2+8.17"; + } + { + case = "8.16"; + out = "1.3.2+8.16"; + } + ] null; release = { "1.3.2+8.19".sha256 = "sha256-Zd7piAWlKPAZKEz7HVWxhnzOLbA/eR9C/E0T298MJVY="; @@ -25,9 +44,21 @@ mkCoqDerivation { inherit version; pname = "coq-hammer-tactics"; - inherit owner repo defaultVersion release releaseRev; + inherit + owner + repo + defaultVersion + release + releaseRev + ; passthru = { - inherit owner repo defaultVersion release releaseRev; + inherit + owner + repo + defaultVersion + release + releaseRev + ; }; mlPlugin = true; diff --git a/pkgs/development/coq-modules/coq-haskell/default.nix b/pkgs/development/coq-modules/coq-haskell/default.nix index 7ffc29e943bda..32522e8ef3a1b 100644 --- a/pkgs/development/coq-modules/coq-haskell/default.nix +++ b/pkgs/development/coq-modules/coq-haskell/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, ssreflect, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + ssreflect, + version ? null, +}: mkCoqDerivation { @@ -6,12 +12,15 @@ mkCoqDerivation { owner = "jwiegley"; inherit version; defaultVersion = if lib.versions.range "8.5" "8.8" coq.coq-version then "20171215" else null; - release."20171215".rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; + release."20171215".rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968"; release."20171215".sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv"; mlPlugin = true; extraInstallFlags = [ "-f Makefile.coq" ]; - propagatedBuildInputs = [ coq ssreflect ]; + propagatedBuildInputs = [ + coq + ssreflect + ]; enableParallelBuilding = false; meta = { diff --git a/pkgs/development/coq-modules/coq-lsp/default.nix b/pkgs/development/coq-modules/coq-lsp/default.nix index 8103d28f86bd4..e4064be1d625b 100644 --- a/pkgs/development/coq-modules/coq-lsp/default.nix +++ b/pkgs/development/coq-modules/coq-lsp/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, serapi, makeWrapper, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + serapi, + makeWrapper, + version ? null, +}: (mkCoqDerivation rec { pname = "coq-lsp"; @@ -14,13 +21,30 @@ release."0.2.2+8.20".sha256 = "sha256-9yHisA3YJ/KuolU53qcQAjuSIAZPY+4rnkWV9dpLc6c="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = isEq "8.16"; out = "0.1.8+8.16"; } - { case = isEq "8.17"; out = "0.2.2+8.17"; } - { case = isEq "8.18"; out = "0.2.2+8.18"; } - { case = isEq "8.19"; out = "0.2.2+8.19"; } - { case = isEq "8.20"; out = "0.2.2+8.20"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = isEq "8.16"; + out = "0.1.8+8.16"; + } + { + case = isEq "8.17"; + out = "0.2.2+8.17"; + } + { + case = isEq "8.18"; + out = "0.2.2+8.18"; + } + { + case = isEq "8.19"; + out = "0.2.2+8.19"; + } + { + case = isEq "8.20"; + out = "0.2.2+8.20"; + } + ] null; nativeBuildInputs = [ makeWrapper ]; @@ -31,8 +55,13 @@ runHook postInstall ''; - propagatedBuildInputs = - with coq.ocamlPackages; [ dune-build-info menhir result uri yojson ]; + propagatedBuildInputs = with coq.ocamlPackages; [ + dune-build-info + menhir + result + uri + yojson + ]; meta = with lib; { description = "Language Server Protocol and VS Code Extension for Coq"; @@ -41,14 +70,30 @@ maintainers = with maintainers; [ alizter ]; license = licenses.lgpl21Only; }; -}).overrideAttrs (o: - with coq.ocamlPackages; - { propagatedBuildInputs = o.propagatedBuildInputs ++ - (if o.version != null && lib.versions.isLe "0.1.9+8.19" o.version && o.version != "dev" then - [ camlp-streams serapi ] - else - [ cmdliner ppx_deriving ppx_deriving_yojson ppx_import ppx_sexp_conv - ppx_compare ppx_hash sexplib ]); - - patches = lib.optional (lib.versions.isEq "0.1.8" o.version) ./coq-loader.patch; -}) +}).overrideAttrs + ( + o: with coq.ocamlPackages; { + propagatedBuildInputs = + o.propagatedBuildInputs + ++ ( + if o.version != null && lib.versions.isLe "0.1.9+8.19" o.version && o.version != "dev" then + [ + camlp-streams + serapi + ] + else + [ + cmdliner + ppx_deriving + ppx_deriving_yojson + ppx_import + ppx_sexp_conv + ppx_compare + ppx_hash + sexplib + ] + ); + + patches = lib.optional (lib.versions.isEq "0.1.8" o.version) ./coq-loader.patch; + } + ) diff --git a/pkgs/development/coq-modules/coq-record-update/default.nix b/pkgs/development/coq-modules/coq-record-update/default.nix index c189168f76e9a..ff71c5ecdc437 100644 --- a/pkgs/development/coq-modules/coq-record-update/default.nix +++ b/pkgs/development/coq-modules/coq-record-update/default.nix @@ -1,12 +1,22 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: - mkCoqDerivation rec { +mkCoqDerivation rec { pname = "coq-record-update"; owner = "tchajed"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.10" "8.20"; out = "0.3.4"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.10" "8.20"; + out = "0.3.4"; + } + ] null; release."0.3.4".sha256 = "sha256-AhEcugUiVIsgbq884Lur/bQIuGw8prk+3AlNkP1omcw="; release."0.3.3".sha256 = "sha256-HDIPeFHiC9EwhiOH7yMGJ9d2zJMhboTpRGf9kWcB9Io="; release."0.3.1".sha256 = "sha256-DyGxO2tqmYZZluXN6Oy5Tw6fuLMyuyxonj8CCToWKkk="; diff --git a/pkgs/development/coq-modules/coqeal/default.nix b/pkgs/development/coq-modules/coqeal/default.nix index a0598d0bac835..8876f02dcd7d1 100644 --- a/pkgs/development/coq-modules/coqeal/default.nix +++ b/pkgs/development/coq-modules/coqeal/default.nix @@ -1,22 +1,83 @@ -{ coq, mkCoqDerivation, mathcomp, bignums, paramcoq, multinomials, +{ + coq, + mkCoqDerivation, + mathcomp, + bignums, + paramcoq, + multinomials, mathcomp-real-closed, - lib, version ? null }: + lib, + version ? null, +}: (mkCoqDerivation { pname = "CoqEAL"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0.0") ]; out = "2.0.1"; } - { cases = [ (range "8.16" "8.17") (isGe "2.0.0") ]; out = "2.0.0"; } - { cases = [ (range "8.15" "8.18") (range "1.15.0" "1.18.0") ]; out = "1.1.3"; } - { cases = [ (range "8.13" "8.17") (range "1.13.0" "1.18.0") ]; out = "1.1.1"; } - { cases = [ (range "8.10" "8.15") (range "1.12.0" "1.18.0") ]; out = "1.1.0"; } - { cases = [ (isGe "8.10") (range "1.11.0" "1.12.0") ]; out = "1.0.5"; } - { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; } - { cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0.0") + ]; + out = "2.0.1"; + } + { + cases = [ + (range "8.16" "8.17") + (isGe "2.0.0") + ]; + out = "2.0.0"; + } + { + cases = [ + (range "8.15" "8.18") + (range "1.15.0" "1.18.0") + ]; + out = "1.1.3"; + } + { + cases = [ + (range "8.13" "8.17") + (range "1.13.0" "1.18.0") + ]; + out = "1.1.1"; + } + { + cases = [ + (range "8.10" "8.15") + (range "1.12.0" "1.18.0") + ]; + out = "1.1.0"; + } + { + cases = [ + (isGe "8.10") + (range "1.11.0" "1.12.0") + ]; + out = "1.0.5"; + } + { + cases = [ + (isGe "8.7") + "1.11.0" + ]; + out = "1.0.4"; + } + { + cases = [ + (isGe "8.7") + "1.10.0" + ]; + out = "1.0.3"; + } + ] + null; release."2.0.1".sha256 = "sha256-d/IQ4IdS2tpyPewcGobj2S6m2HU+iXQmlvR+ITNIcjI="; release."2.0.0".sha256 = "sha256-SG/KVnRJz2P+ZxkWVp1dDOnc/JVgigoexKfRUh1Y0GM"; @@ -28,13 +89,20 @@ release."1.0.4".sha256 = "1g5m26lr2lwxh6ld2gykailhay4d0ayql4bfh0aiwqpmmczmxipk"; release."1.0.3".sha256 = "0hc63ny7phzbihy8l7wxjvn3haxx8jfnhi91iw8hkq8n29i23v24"; - propagatedBuildInputs = [ mathcomp.algebra bignums paramcoq multinomials ]; + propagatedBuildInputs = [ + mathcomp.algebra + bignums + paramcoq + multinomials + ]; meta = { description = "CoqEAL - The Coq Effective Algebra Library"; license = lib.licenses.mit; }; -}).overrideAttrs (o: { - propagatedBuildInputs = o.propagatedBuildInputs - ++ lib.optional (lib.versions.isGe "1.1" o.version || o.version == "dev") mathcomp-real-closed; -}) +}).overrideAttrs + (o: { + propagatedBuildInputs = + o.propagatedBuildInputs + ++ lib.optional (lib.versions.isGe "1.1" o.version || o.version == "dev") mathcomp-real-closed; + }) diff --git a/pkgs/development/coq-modules/coqhammer/default.nix b/pkgs/development/coq-modules/coqhammer/default.nix index 2db9b6c969f08..4ce7f6633e628 100644 --- a/pkgs/development/coq-modules/coqhammer/default.nix +++ b/pkgs/development/coq-modules/coqhammer/default.nix @@ -4,22 +4,53 @@ # # ################################################################### -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { inherit version; pname = "coqhammer"; owner = "lukaszcz"; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = "8.15"; out = "1.3.2-coq8.15"; } - { case = "8.14"; out = "1.3.2-coq8.14"; } - { case = "8.13"; out = "1.3.2-coq8.13"; } - { case = "8.12"; out = "1.3.2-coq8.12"; } - { case = "8.11"; out = "1.3.2-coq8.11"; } - { case = "8.10"; out = "1.3.2-coq8.10"; } - { case = "8.9"; out = "1.1.1-coq8.9"; } - { case = "8.8"; out = "1.1-coq8.8"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = "8.15"; + out = "1.3.2-coq8.15"; + } + { + case = "8.14"; + out = "1.3.2-coq8.14"; + } + { + case = "8.13"; + out = "1.3.2-coq8.13"; + } + { + case = "8.12"; + out = "1.3.2-coq8.12"; + } + { + case = "8.11"; + out = "1.3.2-coq8.11"; + } + { + case = "8.10"; + out = "1.3.2-coq8.10"; + } + { + case = "8.9"; + out = "1.1.1-coq8.9"; + } + { + case = "8.8"; + out = "1.1-coq8.8"; + } + ] null; release."1.3.2-coq8.15".sha256 = "sha256:0n0y9wda8bx88r17ls9541ibxw013ghp73zshgb65bi7ibznbhha"; release."1.3.2-coq8.15".rev = "9a3e689036f12c09800ca3bac05054af0cc49233"; release."1.3.2-coq8.14".sha256 = "sha256:1pvs4p95lr31jb86f33p2q9v8zq3xbci1fk6s6a2g2snfxng1574"; @@ -31,23 +62,27 @@ mkCoqDerivation { release."1.3.1-coq8.12".sha256 = "0xy3vy4rv8w5ydwb9nq8y4dcimd91yr0hak2j4kn02svssg1kv1y"; release."1.3.1-coq8.11".sha256 = "0i9nlcayq0ac95vc09d1w8sd221gdjs0g215n086qscqjwimnz8j"; release."1.3.1-coq8.10".sha256 = "0aq9qwqx680lkidhb77fmyq403rvfcdxch849x1pzy6a48rz5yra"; - release."1.3-coq8.12".sha256 = "1q1y3cwhd98pkm98g71fsdjz85bfwgcz2xn7s7wwmiraifv5l6z8"; - release."1.3-coq8.11".sha256 = "08zf8qfna7b9p2myfaz4g7bas3a1q1156x78n5isqivlnqfrjc1b"; - release."1.3-coq8.10".sha256 = "1fj8497ir4m79hyrmmmmrag01001wrby0h24wv6525vz0w5py3cd"; - release."1.1.1-coq8.9" = { sha256 = "1knjmz4hr8vlp103j8n4fyb2lfxysnm512gh3m2kp85n6as6fvb9"; - rev = "f8b4d81a213aa1f25afbe53c7c9ca1b15e3d42bc"; }; - release."1.1-coq8.8" = { sha256 = "0ms086wp4jmrzyglb8wymchzyflflk01nsfsk4r6qv8rrx81nx9h"; - rev = "c3cb54b4d5f33fab372d33c7189861368a08fa22"; }; + release."1.3-coq8.12".sha256 = "1q1y3cwhd98pkm98g71fsdjz85bfwgcz2xn7s7wwmiraifv5l6z8"; + release."1.3-coq8.11".sha256 = "08zf8qfna7b9p2myfaz4g7bas3a1q1156x78n5isqivlnqfrjc1b"; + release."1.3-coq8.10".sha256 = "1fj8497ir4m79hyrmmmmrag01001wrby0h24wv6525vz0w5py3cd"; + release."1.1.1-coq8.9" = { + sha256 = "1knjmz4hr8vlp103j8n4fyb2lfxysnm512gh3m2kp85n6as6fvb9"; + rev = "f8b4d81a213aa1f25afbe53c7c9ca1b15e3d42bc"; + }; + release."1.1-coq8.8" = { + sha256 = "0ms086wp4jmrzyglb8wymchzyflflk01nsfsk4r6qv8rrx81nx9h"; + rev = "c3cb54b4d5f33fab372d33c7189861368a08fa22"; + }; - release."1.3.1-coq8.13".version = "1.3.1"; - release."1.3.1-coq8.12".version = "1.3.1"; - release."1.3.1-coq8.11".version = "1.3.1"; - release."1.3.1-coq8.10".version = "1.3.1"; - release."1.3-coq8.12".version = "1.3"; - release."1.3-coq8.11".version = "1.3"; - release."1.3-coq8.10".version = "1.3"; + release."1.3.1-coq8.13".version = "1.3.1"; + release."1.3.1-coq8.12".version = "1.3.1"; + release."1.3.1-coq8.11".version = "1.3.1"; + release."1.3.1-coq8.10".version = "1.3.1"; + release."1.3-coq8.12".version = "1.3"; + release."1.3-coq8.11".version = "1.3"; + release."1.3-coq8.10".version = "1.3"; release."1.1.1-coq8.9".version = "1.1.1"; - release."1.1-coq8.9".version = "1.1"; + release."1.1-coq8.9".version = "1.1"; releaseRev = v: "refs/tags/v${v}"; postPatch = '' diff --git a/pkgs/development/coq-modules/coqide/default.nix b/pkgs/development/coq-modules/coqide/default.nix index bf76a81e5d719..8ae04078b7711 100644 --- a/pkgs/development/coq-modules/coqide/default.nix +++ b/pkgs/development/coq-modules/coqide/default.nix @@ -1,19 +1,21 @@ -{ lib -, makeDesktopItem -, copyDesktopItems -, wrapGAppsHook3 -, glib -, adwaita-icon-theme -, mkCoqDerivation -, coq -, version ? null }: +{ + lib, + makeDesktopItem, + copyDesktopItems, + wrapGAppsHook3, + glib, + adwaita-icon-theme, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation rec { pname = "coqide"; inherit version; inherit (coq) src; - release."${coq.version}" = {}; + release."${coq.version}" = { }; defaultVersion = if lib.versions.isGe "8.14" coq.version then coq.version else null; @@ -50,7 +52,13 @@ mkCoqDerivation rec { icon = "coq"; desktopName = "CoqIDE"; comment = "Graphical interface for the Coq proof assistant"; - categories = [ "Development" "Science" "Math" "IDE" "GTK" ]; + categories = [ + "Development" + "Science" + "Math" + "IDE" + "GTK" + ]; }) ]; diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix index 2382141f2232b..1373a05b00ec1 100644 --- a/pkgs/development/coq-modules/coqprime/default.nix +++ b/pkgs/development/coq-modules/coqprime/default.nix @@ -1,25 +1,48 @@ -{ lib, mkCoqDerivation, coq, bignums, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + bignums, + version ? null, +}: mkCoqDerivation { pname = "coqprime"; owner = "thery"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.20"; out = "8.18"; } - { case = range "8.12" "8.16"; out = "8.15"; } - { case = range "8.10" "8.11"; out = "8.10"; } - { case = range "8.8" "8.9"; out = "8.8"; } - { case = "8.7"; out = "8.7.2"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.14" "8.20"; + out = "8.18"; + } + { + case = range "8.12" "8.16"; + out = "8.15"; + } + { + case = range "8.10" "8.11"; + out = "8.10"; + } + { + case = range "8.8" "8.9"; + out = "8.8"; + } + { + case = "8.7"; + out = "8.7.2"; + } + ] null; - release."8.18".sha256 = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E="; - release."8.17".sha256 = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY="; - release."8.15".sha256 = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv"; - release."8.14.1".sha256= "sha256:0dqf87xkzcpg7gglbxjyx68ad84w1w73icxgy3s7d3w563glc2p7"; - release."8.12".sha256 = "1slka4w0pya15js4drx9frj7lxyp3k2lzib8v23givzpnxs8ijdj"; - release."8.10".sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz"; - release."8.8".sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; + release."8.18".sha256 = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E="; + release."8.17".sha256 = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY="; + release."8.15".sha256 = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv"; + release."8.14.1".sha256 = "sha256:0dqf87xkzcpg7gglbxjyx68ad84w1w73icxgy3s7d3w563glc2p7"; + release."8.12".sha256 = "1slka4w0pya15js4drx9frj7lxyp3k2lzib8v23givzpnxs8ijdj"; + release."8.10".sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz"; + release."8.8".sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; release."8.7.2".sha256 = "15zlcrx06qqxjy3nhh22wzy0rb4npc8l4nx2bbsfsvrisbq1qb7k"; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/coqtail-math/default.nix b/pkgs/development/coq-modules/coqtail-math/default.nix index b43cadb918e36..fb97986b5b1dd 100644 --- a/pkgs/development/coq-modules/coqtail-math/default.nix +++ b/pkgs/development/coq-modules/coqtail-math/default.nix @@ -1,16 +1,29 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "coqtail-math"; owner = "coq-community"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.11" "8.15"; out = "8.14"; } - { case = range "8.11" "8.13"; out = "20201124"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.11" "8.15"; + out = "8.14"; + } + { + case = range "8.11" "8.13"; + out = "20201124"; + } + ] null; release."8.14".sha256 = "sha256:1k8f8idjnx0mf4z479vcx55iz42rjxrbplbznv80m2famxakq03c"; - release."20201124".rev = "5c22c3d7dcd8cf4c47cf84a281780f5915488e9e"; + release."20201124".rev = "5c22c3d7dcd8cf4c47cf84a281780f5915488e9e"; release."20201124".sha256 = "sha256-wd+Lh7dpAD4zfpyKuztDmSFEZo5ZiFrR8ti2jUCVvoQ="; mlPlugin = true; meta = with lib; { diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix index 90ea6d6294664..680e154de68a0 100644 --- a/pkgs/development/coq-modules/coquelicot/default.nix +++ b/pkgs/development/coq-modules/coquelicot/default.nix @@ -1,19 +1,45 @@ -{ lib, mkCoqDerivation, autoconf, - coq, ssreflect, version ? null }: +{ + lib, + mkCoqDerivation, + autoconf, + coq, + ssreflect, + version ? null, +}: mkCoqDerivation { pname = "coquelicot"; owner = "coquelicot"; domain = "gitlab.inria.fr"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.12" "8.20"; out = "3.4.2"; } - { case = range "8.12" "8.18"; out = "3.4.0"; } - { case = range "8.12" "8.17"; out = "3.3.0"; } - { case = range "8.8" "8.16"; out = "3.2.0"; } - { case = range "8.8" "8.13"; out = "3.1.0"; } - { case = range "8.5" "8.9"; out = "3.0.2"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.12" "8.20"; + out = "3.4.2"; + } + { + case = range "8.12" "8.18"; + out = "3.4.0"; + } + { + case = range "8.12" "8.17"; + out = "3.3.0"; + } + { + case = range "8.8" "8.16"; + out = "3.2.0"; + } + { + case = range "8.8" "8.13"; + out = "3.1.0"; + } + { + case = range "8.5" "8.9"; + out = "3.0.2"; + } + ] null; release."3.4.2".sha256 = "sha256-aBTF8ZKu67Rb3ryCqFyejUXf/65KgG8i5je/ZMFSrj4="; release."3.4.1".sha256 = "sha256-REhvIBl3EaL8CQqI34Gn7Xjf9NhPI3nrUAO26pSLbm0="; release."3.4.0".sha256 = "sha256-LIj2SwTvVBxSAO58VYCQix/uxQQe8ey6hqFOSh3PNcg="; @@ -28,7 +54,7 @@ mkCoqDerivation { propagatedBuildInputs = [ ssreflect ]; useMelquiondRemake.logpath = "Coquelicot"; - meta = with lib; { + meta = with lib; { homepage = "http://coquelicot.saclay.inria.fr/"; description = "Coq library for Reals"; license = licenses.lgpl3; diff --git a/pkgs/development/coq-modules/coqutil/default.nix b/pkgs/development/coq-modules/coqutil/default.nix index ceac4b17b4c63..53aff2a614db2 100644 --- a/pkgs/development/coq-modules/coqutil/default.nix +++ b/pkgs/development/coq-modules/coqutil/default.nix @@ -11,9 +11,17 @@ mkCoqDerivation { owner = "mit-plv"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.18" "8.20"; out = "0.0.6"; } - { case = range "8.17" "8.20"; out = "0.0.5"; } + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.18" "8.20"; + out = "0.0.6"; + } + { + case = range "8.17" "8.20"; + out = "0.0.5"; + } ] null; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/corn/default.nix b/pkgs/development/coq-modules/corn/default.nix index d1c54da398926..9689d4d5eaf25 100644 --- a/pkgs/development/coq-modules/corn/default.nix +++ b/pkgs/development/coq-modules/corn/default.nix @@ -1,15 +1,39 @@ -{ lib, mkCoqDerivation, coq, bignums, math-classes, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + bignums, + math-classes, + version ? null, +}: mkCoqDerivation rec { pname = "corn"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = (range "8.17" "8.20"); out = "8.19.0"; } - { case = (range "8.14" "8.18"); out = "8.18.0"; } - { case = (range "8.11" "8.17"); out = "8.16.0"; } - { case = (range "8.7" "8.15"); out = "8.13.0"; } - { case = "8.6"; out = "8.8.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = (range "8.17" "8.20"); + out = "8.19.0"; + } + { + case = (range "8.14" "8.18"); + out = "8.18.0"; + } + { + case = (range "8.11" "8.17"); + out = "8.16.0"; + } + { + case = (range "8.7" "8.15"); + out = "8.13.0"; + } + { + case = "8.6"; + out = "8.8.1"; + } + ] null; release = { "8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp"; "8.12.0".sha256 = "0b92vhyzn1j6cs84z2182fn82hxxj0bqq7hk6cs4awwb3vc7dkhi"; @@ -22,9 +46,12 @@ mkCoqDerivation rec { configureScript = "./configure.sh"; dontAddPrefix = true; - propagatedBuildInputs = [ bignums math-classes ]; + propagatedBuildInputs = [ + bignums + math-classes + ]; - meta = with lib; { + meta = with lib; { homepage = "http://c-corn.github.io/"; license = licenses.gpl2; description = "Coq library for constructive analysis"; diff --git a/pkgs/development/coq-modules/deriving/default.nix b/pkgs/development/coq-modules/deriving/default.nix index 6998ec4459890..e4f03c4e7253c 100644 --- a/pkgs/development/coq-modules/deriving/default.nix +++ b/pkgs/development/coq-modules/deriving/default.nix @@ -1,5 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null -, ssreflect +{ + lib, + mkCoqDerivation, + coq, + version ? null, + ssreflect, }: mkCoqDerivation { @@ -7,10 +11,27 @@ mkCoqDerivation { owner = "arthuraa"; inherit version; - defaultVersion = with lib.versions; lib.switch [coq.coq-version ssreflect.version] [ - { cases = [(range "8.17" "8.20") (isGe "2.0.0")] ; out = "0.2.0"; } - { cases = [(range "8.11" "8.20") (isLe "2.0.0")] ; out = "0.1.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version ssreflect.version ] + [ + { + cases = [ + (range "8.17" "8.20") + (isGe "2.0.0") + ]; + out = "0.2.0"; + } + { + cases = [ + (range "8.11" "8.20") + (isLe "2.0.0") + ]; + out = "0.1.1"; + } + ] + null; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix index 0ceb84095b70d..76e82bfbe1069 100644 --- a/pkgs/development/coq-modules/dpdgraph/default.nix +++ b/pkgs/development/coq-modules/dpdgraph/default.nix @@ -1,6 +1,14 @@ -{ lib, mkCoqDerivation, autoreconfHook, coq, version ? null }: +{ + lib, + mkCoqDerivation, + autoreconfHook, + coq, + version ? null, +}: -let hasWarning = lib.versionAtLeast coq.ocamlPackages.ocaml.version "4.08"; in +let + hasWarning = lib.versionAtLeast coq.ocamlPackages.ocaml.version "4.08"; +in mkCoqDerivation { pname = "dpdgraph"; @@ -8,20 +16,62 @@ mkCoqDerivation { repo = "coq-dpdgraph"; inherit version; defaultVersion = lib.switch coq.coq-version [ - { case = "8.20"; out = "1.0+8.20"; } - { case = "8.19"; out = "1.0+8.19"; } - { case = "8.18"; out = "1.0+8.18"; } - { case = "8.17"; out = "1.0+8.17"; } - { case = "8.16"; out = "1.0+8.16"; } - { case = "8.15"; out = "1.0+8.15"; } - { case = "8.14"; out = "1.0+8.14"; } - { case = "8.13"; out = "1.0+8.13"; } - { case = "8.12"; out = "0.6.8"; } - { case = "8.11"; out = "0.6.7"; } - { case = "8.10"; out = "0.6.6"; } - { case = "8.9"; out = "0.6.5"; } - { case = "8.8"; out = "0.6.3"; } - { case = "8.7"; out = "0.6.2"; } + { + case = "8.20"; + out = "1.0+8.20"; + } + { + case = "8.19"; + out = "1.0+8.19"; + } + { + case = "8.18"; + out = "1.0+8.18"; + } + { + case = "8.17"; + out = "1.0+8.17"; + } + { + case = "8.16"; + out = "1.0+8.16"; + } + { + case = "8.15"; + out = "1.0+8.15"; + } + { + case = "8.14"; + out = "1.0+8.14"; + } + { + case = "8.13"; + out = "1.0+8.13"; + } + { + case = "8.12"; + out = "0.6.8"; + } + { + case = "8.11"; + out = "0.6.7"; + } + { + case = "8.10"; + out = "0.6.6"; + } + { + case = "8.9"; + out = "0.6.5"; + } + { + case = "8.8"; + out = "0.6.3"; + } + { + case = "8.7"; + out = "0.6.2"; + } ] null; release."1.0+8.20".sha256 = "sha256-szfH/OksCH3SCbcFjwEvLwHE5avmHp1vYiJM6KAXFqs="; @@ -37,13 +87,13 @@ mkCoqDerivation { release."0.6.7".sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09"; release."0.6.6".sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w"; release."0.6.5".sha256 = "1f34z24yg05b1096gqv36jr3vffkcjkf9qncii3pzhhvagxd0w2f"; - release."0.6.3".rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; + release."0.6.3".rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; release."0.6.3".sha256 = "0c95b0bz2kjm6swr5na4gs06lxxywradszxbr5ldh2zx02r3f3rx"; - release."0.6.2".rev = "d76ddde37d918569945774733b7997e8b24daf51"; + release."0.6.2".rev = "d76ddde37d918569945774733b7997e8b24daf51"; release."0.6.2".sha256 = "04lnf4b25yarysj848cfl8pd3i3pr3818acyp9hgwdgd1rqmhjwm"; - release."0.6.1".rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; + release."0.6.1".rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; release."0.6.1".sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9"; - release."0.6".sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; + release."0.6".sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; releaseRev = v: "v${v}"; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix index b517d16ab2d47..309b44559f26b 100644 --- a/pkgs/development/coq-modules/equations/default.nix +++ b/pkgs/development/coq-modules/equations/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: (mkCoqDerivation { pname = "equations"; @@ -6,66 +11,111 @@ repo = "Coq-Equations"; inherit version; defaultVersion = lib.switch coq.coq-version [ - { case = "8.20"; out = "1.3.1+8.20"; } - { case = "8.19"; out = "1.3+8.19"; } - { case = "8.18"; out = "1.3+8.18"; } - { case = "8.17"; out = "1.3+8.17"; } - { case = "8.16"; out = "1.3+8.16"; } - { case = "8.15"; out = "1.3+8.15"; } - { case = "8.14"; out = "1.3+8.14"; } - { case = "8.13"; out = "1.3+8.13"; } - { case = "8.12"; out = "1.2.4+coq8.12"; } - { case = "8.11"; out = "1.2.4+coq8.11"; } - { case = "8.10"; out = "1.2.1+coq8.10-2"; } - { case = "8.9"; out = "1.2.1+coq8.9"; } - { case = "8.8"; out = "1.2+coq8.8"; } - { case = "8.7"; out = "1.0+coq8.7"; } - { case = "8.6"; out = "1.0+coq8.6"; } + { + case = "8.20"; + out = "1.3.1+8.20"; + } + { + case = "8.19"; + out = "1.3+8.19"; + } + { + case = "8.18"; + out = "1.3+8.18"; + } + { + case = "8.17"; + out = "1.3+8.17"; + } + { + case = "8.16"; + out = "1.3+8.16"; + } + { + case = "8.15"; + out = "1.3+8.15"; + } + { + case = "8.14"; + out = "1.3+8.14"; + } + { + case = "8.13"; + out = "1.3+8.13"; + } + { + case = "8.12"; + out = "1.2.4+coq8.12"; + } + { + case = "8.11"; + out = "1.2.4+coq8.11"; + } + { + case = "8.10"; + out = "1.2.1+coq8.10-2"; + } + { + case = "8.9"; + out = "1.2.1+coq8.9"; + } + { + case = "8.8"; + out = "1.2+coq8.8"; + } + { + case = "8.7"; + out = "1.0+coq8.7"; + } + { + case = "8.6"; + out = "1.0+coq8.6"; + } ] null; - release."1.0+coq8.6".version = "1.0"; - release."1.0+coq8.6".rev = "v1.0"; - release."1.0+coq8.6".sha256 = "19ylw9v9g35607w4hm86j7mmkghh07hmkc1ls5bqlz3dizh5q4pj"; - release."1.0+coq8.7".version = "1.0"; - release."1.0+coq8.7".rev = "v1.0-8.7"; - release."1.0+coq8.7".sha256 = "1bavg4zl1xn0jqrdq8iw7xqzdvdf39ligj9saz5m9c507zri952h"; - release."1.2+coq8.8".version = "1.2"; - release."1.2+coq8.8".rev = "v1.2-8.8"; - release."1.2+coq8.8".sha256 = "06452fyzalz7zcjjp73qb7d6xvmqb6skljkivf8pfm55fsc8s7kx"; - release."1.2.1+coq8.9".version = "1.2.1"; - release."1.2.1+coq8.9".rev = "v1.2.1-8.9"; - release."1.2.1+coq8.9".sha256 = "0d8ddj6nc6p0k25cd8fs17cq427zhzbc3v9pk2wd2fnvk70nlfij"; - release."1.2.1+coq8.10-2".version = "1.2.1"; - release."1.2.1+coq8.10-2".rev = "v1.2.1-8.10-2"; - release."1.2.1+coq8.10-2".sha256 = "0j3z4l5nrbyi9zbbyqkc6kassjanwld2188mwmrbqspaypm2ys68"; - release."1.2.3+coq8.11".version = "1.2.3"; - release."1.2.3+coq8.11".rev = "v1.2.3-8.11"; - release."1.2.3+coq8.11".sha256 = "1srxz1rws8jsh7402g2x2vcqgjbbsr64dxxj5d2zs48pmhb20csf"; - release."1.2.3+coq8.12".version = "1.2.3"; - release."1.2.3+coq8.12".rev = "v1.2.3-8.12"; - release."1.2.3+coq8.12".sha256 = "1y0jkvzyz5ssv5vby41p1i8zs7nsdc8g3pzyq73ih9jz8h252643"; - release."1.2.4+coq8.11".rev = "v1.2.4-8.11"; - release."1.2.4+coq8.11".sha256 = "01fihyav8jbjinycgjc16adpa0zy5hcav5mlkf4s9zvqxka21i52"; - release."1.2.4+coq8.12".rev = "v1.2.4-8.12"; - release."1.2.4+coq8.12".sha256 = "1n0w8is464qcq8mk2mv7amaf0khbjz5mpc9phf0rhpjm0lb22cb3"; - release."1.2.4+coq8.13".rev = "v1.2.4-8.13"; - release."1.2.4+coq8.13".sha256 = "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q"; - release."1.3+8.13".rev = "v1.3-8.13"; - release."1.3+8.13".sha256 = "1jwjbkkkk4bwf6pz4zzz8fy5bb17aqyf4smkja59rgj9ya6nrdhg"; - release."1.3+8.14".rev = "v1.3-8.14"; - release."1.3+8.14".sha256 = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv"; - release."1.3+8.15".rev = "v1.3-8.15"; - release."1.3+8.15".sha256 = "1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k"; - release."1.3+8.16".rev = "v1.3-8.16"; - release."1.3+8.16".sha256 = "sha256-zyMGeRObtSGWh7n3WCqesBZL5EgLvKwmnTy09rYpxyE="; - release."1.3+8.17".rev = "v1.3-8.17"; - release."1.3+8.17".sha256 = "sha256-yNotSIxFkhTg3reZIchGQ7cV9WmTJ7p7hPfKGBiByDw="; - release."1.3+8.18".rev = "v1.3-8.18"; - release."1.3+8.18".sha256 = "sha256-8MZO9vWdr8wlAov0lBTYMnde0RuMyhaiM99zp7Zwfao="; - release."1.3+8.19".rev = "v1.3-8.19"; - release."1.3+8.19".sha256 = "sha256-roBCWfAHDww2Z2JbV5yMI3+EOfIsv3WvxEcUbBiZBsk="; - release."1.3.1+8.20".rev = "v1.3.1-8.20"; - release."1.3.1+8.20".sha256 = "sha256-u8LB1KiACM5zVaoL7dSdHYvZgX7pf30VuqtjLLGuTzc="; + release."1.0+coq8.6".version = "1.0"; + release."1.0+coq8.6".rev = "v1.0"; + release."1.0+coq8.6".sha256 = "19ylw9v9g35607w4hm86j7mmkghh07hmkc1ls5bqlz3dizh5q4pj"; + release."1.0+coq8.7".version = "1.0"; + release."1.0+coq8.7".rev = "v1.0-8.7"; + release."1.0+coq8.7".sha256 = "1bavg4zl1xn0jqrdq8iw7xqzdvdf39ligj9saz5m9c507zri952h"; + release."1.2+coq8.8".version = "1.2"; + release."1.2+coq8.8".rev = "v1.2-8.8"; + release."1.2+coq8.8".sha256 = "06452fyzalz7zcjjp73qb7d6xvmqb6skljkivf8pfm55fsc8s7kx"; + release."1.2.1+coq8.9".version = "1.2.1"; + release."1.2.1+coq8.9".rev = "v1.2.1-8.9"; + release."1.2.1+coq8.9".sha256 = "0d8ddj6nc6p0k25cd8fs17cq427zhzbc3v9pk2wd2fnvk70nlfij"; + release."1.2.1+coq8.10-2".version = "1.2.1"; + release."1.2.1+coq8.10-2".rev = "v1.2.1-8.10-2"; + release."1.2.1+coq8.10-2".sha256 = "0j3z4l5nrbyi9zbbyqkc6kassjanwld2188mwmrbqspaypm2ys68"; + release."1.2.3+coq8.11".version = "1.2.3"; + release."1.2.3+coq8.11".rev = "v1.2.3-8.11"; + release."1.2.3+coq8.11".sha256 = "1srxz1rws8jsh7402g2x2vcqgjbbsr64dxxj5d2zs48pmhb20csf"; + release."1.2.3+coq8.12".version = "1.2.3"; + release."1.2.3+coq8.12".rev = "v1.2.3-8.12"; + release."1.2.3+coq8.12".sha256 = "1y0jkvzyz5ssv5vby41p1i8zs7nsdc8g3pzyq73ih9jz8h252643"; + release."1.2.4+coq8.11".rev = "v1.2.4-8.11"; + release."1.2.4+coq8.11".sha256 = "01fihyav8jbjinycgjc16adpa0zy5hcav5mlkf4s9zvqxka21i52"; + release."1.2.4+coq8.12".rev = "v1.2.4-8.12"; + release."1.2.4+coq8.12".sha256 = "1n0w8is464qcq8mk2mv7amaf0khbjz5mpc9phf0rhpjm0lb22cb3"; + release."1.2.4+coq8.13".rev = "v1.2.4-8.13"; + release."1.2.4+coq8.13".sha256 = "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q"; + release."1.3+8.13".rev = "v1.3-8.13"; + release."1.3+8.13".sha256 = "1jwjbkkkk4bwf6pz4zzz8fy5bb17aqyf4smkja59rgj9ya6nrdhg"; + release."1.3+8.14".rev = "v1.3-8.14"; + release."1.3+8.14".sha256 = "19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv"; + release."1.3+8.15".rev = "v1.3-8.15"; + release."1.3+8.15".sha256 = "1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k"; + release."1.3+8.16".rev = "v1.3-8.16"; + release."1.3+8.16".sha256 = "sha256-zyMGeRObtSGWh7n3WCqesBZL5EgLvKwmnTy09rYpxyE="; + release."1.3+8.17".rev = "v1.3-8.17"; + release."1.3+8.17".sha256 = "sha256-yNotSIxFkhTg3reZIchGQ7cV9WmTJ7p7hPfKGBiByDw="; + release."1.3+8.18".rev = "v1.3-8.18"; + release."1.3+8.18".sha256 = "sha256-8MZO9vWdr8wlAov0lBTYMnde0RuMyhaiM99zp7Zwfao="; + release."1.3+8.19".rev = "v1.3-8.19"; + release."1.3+8.19".sha256 = "sha256-roBCWfAHDww2Z2JbV5yMI3+EOfIsv3WvxEcUbBiZBsk="; + release."1.3.1+8.20".rev = "v1.3.1-8.20"; + release."1.3.1+8.20".sha256 = "sha256-u8LB1KiACM5zVaoL7dSdHYvZgX7pf30VuqtjLLGuTzc="; mlPlugin = true; @@ -74,6 +124,9 @@ description = "Plugin for Coq to add dependent pattern-matching"; maintainers = with maintainers; [ jwiegley ]; }; -}).overrideAttrs (o: { - preBuild = "coq_makefile -f _CoqProject -o Makefile${lib.optionalString (lib.versionAtLeast o.version "1.2.1" || o.version == "dev") ".coq"}"; -}) +}).overrideAttrs + (o: { + preBuild = "coq_makefile -f _CoqProject -o Makefile${ + lib.optionalString (lib.versionAtLeast o.version "1.2.1" || o.version == "dev") ".coq" + }"; + }) diff --git a/pkgs/development/coq-modules/extructures/default.nix b/pkgs/development/coq-modules/extructures/default.nix index ba84b953490db..e7825105762b4 100644 --- a/pkgs/development/coq-modules/extructures/default.nix +++ b/pkgs/development/coq-modules/extructures/default.nix @@ -1,6 +1,10 @@ -{ lib, mkCoqDerivation, coq, version ? null -, ssreflect -, deriving +{ + lib, + mkCoqDerivation, + coq, + version ? null, + ssreflect, + deriving, }: (mkCoqDerivation { @@ -8,12 +12,41 @@ owner = "arthuraa"; inherit version; - defaultVersion = with lib.versions; lib.switch [coq.coq-version ssreflect.version] [ - { cases = [(range "8.17" "8.20") (isGe "2.0.0") ]; out = "0.4.0"; } - { cases = [(range "8.11" "8.20") (range "1.12.0" "1.19.0") ]; out = "0.3.1"; } - { cases = [(range "8.11" "8.14") (isLe "1.12.0") ]; out = "0.3.0"; } - { cases = [(range "8.10" "8.12") (isLe "1.12.0") ]; out = "0.2.2"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version ssreflect.version ] + [ + { + cases = [ + (range "8.17" "8.20") + (isGe "2.0.0") + ]; + out = "0.4.0"; + } + { + cases = [ + (range "8.11" "8.20") + (range "1.12.0" "1.19.0") + ]; + out = "0.3.1"; + } + { + cases = [ + (range "8.11" "8.14") + (isLe "1.12.0") + ]; + out = "0.3.0"; + } + { + cases = [ + (range "8.10" "8.12") + (isLe "1.12.0") + ]; + out = "0.2.2"; + } + ] + null; releaseRev = v: "v${v}"; @@ -30,7 +63,9 @@ maintainers = [ maintainers.vbgl ]; }; -}).overrideAttrs (o: { - propagatedBuildInputs = o.propagatedBuildInputs - ++ lib.optional (lib.versionAtLeast o.version "0.3.0") deriving; -}) +}).overrideAttrs + (o: { + propagatedBuildInputs = + o.propagatedBuildInputs + ++ lib.optional (lib.versionAtLeast o.version "0.3.0") deriving; + }) diff --git a/pkgs/development/coq-modules/fiat/HEAD.nix b/pkgs/development/coq-modules/fiat/HEAD.nix index 63cc17fbbdd2f..be317a531d757 100644 --- a/pkgs/development/coq-modules/fiat/HEAD.nix +++ b/pkgs/development/coq-modules/fiat/HEAD.nix @@ -1,13 +1,21 @@ -{lib, mkCoqDerivation, coq, python27, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + python27, + version ? null, +}: mkCoqDerivation rec { pname = "fiat"; owner = "mit-plv"; repo = "fiat"; - displayVersion = { fiat = v: "unstable-${v}"; }; + displayVersion = { + fiat = v: "unstable-${v}"; + }; inherit version; defaultVersion = if coq.coq-version == "8.5" then "2016-10-24" else null; - release."2016-10-24".rev = "7feb6c64be9ebcc05924ec58fe1463e73ec8206a"; + release."2016-10-24".rev = "7feb6c64be9ebcc05924ec58fe1463e73ec8206a"; release."2016-10-24".sha256 = "16y57vibq3f5i5avgj80f4i3aw46wdwzx36k5d3pf3qk17qrlrdi"; mlPlugin = true; diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix index a7ff7044257fd..80dfdd597bf38 100644 --- a/pkgs/development/coq-modules/flocq/default.nix +++ b/pkgs/development/coq-modules/flocq/default.nix @@ -1,18 +1,45 @@ -{ lib, bash, autoconf, mkCoqDerivation, coq, version ? null }: +{ + lib, + bash, + autoconf, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "flocq"; owner = "flocq"; domain = "gitlab.inria.fr"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.20"; out = "4.2.0"; } - { case = range "8.14" "8.18"; out = "4.1.3"; } - { case = range "8.14" "8.17"; out = "4.1.1"; } - { case = range "8.14" "8.16"; out = "4.1.0"; } - { case = range "8.7" "8.15"; out = "3.4.3"; } - { case = range "8.5" "8.8"; out = "2.6.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.14" "8.20"; + out = "4.2.0"; + } + { + case = range "8.14" "8.18"; + out = "4.1.3"; + } + { + case = range "8.14" "8.17"; + out = "4.1.1"; + } + { + case = range "8.14" "8.16"; + out = "4.1.0"; + } + { + case = range "8.7" "8.15"; + out = "3.4.3"; + } + { + case = range "8.5" "8.8"; + out = "2.6.1"; + } + ] null; release."4.2.0".sha256 = "sha256-uTeo4GCs6wTLN3sLKsj0xLlt1fUDYfozXtq6iooLUgM="; release."4.1.4".sha256 = "sha256-Use6Mlx79yef1CkCPyGoOItsD69B9KR+mQArCtmre4s="; release."4.1.3".sha256 = "sha256-os3cI885xNpxI+1p5rb8fSNnxKr7SFxqh83+3AM3t4I="; @@ -24,7 +51,10 @@ mkCoqDerivation { release."2.6.1".sha256 = "0q5a038ww5dn72yvwn5298d3ridkcngb1dik8hdyr3xh7gr5qibj"; releaseRev = v: "flocq-${v}"; - nativeBuildInputs = [ bash autoconf ]; + nativeBuildInputs = [ + bash + autoconf + ]; mlPlugin = true; useMelquiondRemake.logpath = "Flocq"; diff --git a/pkgs/development/coq-modules/fourcolor/default.nix b/pkgs/development/coq-modules/fourcolor/default.nix index 53500b7f918c0..39f6b75135eb3 100644 --- a/pkgs/development/coq-modules/fourcolor/default.nix +++ b/pkgs/development/coq-modules/fourcolor/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp, + version ? null, +}: mkCoqDerivation { pname = "fourcolor"; @@ -14,17 +20,56 @@ mkCoqDerivation { release."1.4.0".sha256 = "sha256-8TtNPEbp3uLAH+MjOKiTZHOjPb3vVYlabuqsdWxbg80="; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (isGe "8.16") (isGe "2.0") ]; out = "1.4.0"; } - { cases = [ (isGe "8.16") "2.0.0" ]; out = "1.3.0"; } - { cases = [ (isGe "8.11") (range "1.12" "1.19") ]; out = "1.2.5"; } - { cases = [ (isGe "8.11") (range "1.11" "1.14") ]; out = "1.2.4"; } - { cases = [ (isLe "8.13") (lib.pred.inter (isGe "1.11.0") (isLt "1.13")) ]; out = "1.2.3"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (isGe "8.16") + (isGe "2.0") + ]; + out = "1.4.0"; + } + { + cases = [ + (isGe "8.16") + "2.0.0" + ]; + out = "1.3.0"; + } + { + cases = [ + (isGe "8.11") + (range "1.12" "1.19") + ]; + out = "1.2.5"; + } + { + cases = [ + (isGe "8.11") + (range "1.11" "1.14") + ]; + out = "1.2.4"; + } + { + cases = [ + (isLe "8.13") + (lib.pred.inter (isGe "1.11.0") (isLt "1.13")) + ]; + out = "1.2.3"; + } + ] + null; - propagatedBuildInputs = [ mathcomp.algebra mathcomp.ssreflect mathcomp.fingroup ]; + propagatedBuildInputs = [ + mathcomp.algebra + mathcomp.ssreflect + mathcomp.fingroup + ]; - meta = with lib; { + meta = with lib; { description = "Formal proof of the Four Color Theorem"; maintainers = with maintainers; [ siraben ]; license = licenses.cecill-b; diff --git a/pkgs/development/coq-modules/gaia-hydras/default.nix b/pkgs/development/coq-modules/gaia-hydras/default.nix index 7152084854b63..e50eed907e164 100644 --- a/pkgs/development/coq-modules/gaia-hydras/default.nix +++ b/pkgs/development/coq-modules/gaia-hydras/default.nix @@ -1,5 +1,13 @@ -{ lib, mkCoqDerivation, coq, hydra-battles, gaia, - mathcomp-zify, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + hydra-battles, + gaia, + mathcomp-zify, + mathcomp, + version ? null, +}: mkCoqDerivation rec { pname = "gaia-hydras"; @@ -11,10 +19,27 @@ mkCoqDerivation rec { releaseRev = (v: "v${v}"); inherit version; - defaultVersion = with lib.versions; lib.switch [coq.coq-version mathcomp.version] [ - { cases = [ (range "8.13" "8.16") (range "1.12.0" "1.18.0") ]; out = "0.9"; } - { cases = [ (range "8.13" "8.14") (range "1.12.0" "1.18.0") ]; out = "0.5"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp.version ] + [ + { + cases = [ + (range "8.13" "8.16") + (range "1.12.0" "1.18.0") + ]; + out = "0.9"; + } + { + cases = [ + (range "8.13" "8.14") + (range "1.12.0" "1.18.0") + ]; + out = "0.5"; + } + ] + null; propagatedBuildInputs = [ hydra-battles diff --git a/pkgs/development/coq-modules/gaia/default.nix b/pkgs/development/coq-modules/gaia/default.nix index 073352d1744a2..63891055f22c6 100644 --- a/pkgs/development/coq-modules/gaia/default.nix +++ b/pkgs/development/coq-modules/gaia/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp, + version ? null, +}: mkCoqDerivation { pname = "gaia"; @@ -9,18 +15,44 @@ mkCoqDerivation { release."1.14".sha256 = "sha256-wgeQC0fIN3PSmRY1K6/KTy+rJmqqxdo3Bhsz1vjVAes="; release."1.15".sha256 = "sha256:04zchnkvaq2mzpcilpspn5l947689gj3m0w20m0nd7w4drvlahnw"; release."1.17".sha256 = "sha256-2VzdopXgKS/wC5Rd1/Zlr12J5bSIGINFjG1nrMjDrGE="; - release."2.2".sha256 = "sha256-y8LlQg9d9rfPFjzS9Xu3BW/H3tPiOC+Eb/zwXJGW9d4="; + release."2.2".sha256 = "sha256-y8LlQg9d9rfPFjzS9Xu3BW/H3tPiOC+Eb/zwXJGW9d4="; releaseRev = (v: "v${v}"); inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.16" "8.20") (range "2.0" "2.2") ]; out = "2.2"; } - { cases = [ (range "8.10" "8.18") (range "1.12.0" "1.18.0") ]; out = "1.17"; } - { cases = [ (range "8.10" "8.12") "1.11.0" ]; out = "1.11"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (range "2.0" "2.2") + ]; + out = "2.2"; + } + { + cases = [ + (range "8.10" "8.18") + (range "1.12.0" "1.18.0") + ]; + out = "1.17"; + } + { + cases = [ + (range "8.10" "8.12") + "1.11.0" + ]; + out = "1.11"; + } + ] + null; - propagatedBuildInputs = - [ mathcomp.ssreflect mathcomp.algebra mathcomp.fingroup ]; + propagatedBuildInputs = [ + mathcomp.ssreflect + mathcomp.algebra + mathcomp.fingroup + ]; meta = with lib; { description = "Implementation of books from Bourbaki's Elements of Mathematics in Coq"; diff --git a/pkgs/development/coq-modules/gappalib/default.nix b/pkgs/development/coq-modules/gappalib/default.nix index 10b27aa5ca633..0a35f99511256 100644 --- a/pkgs/development/coq-modules/gappalib/default.nix +++ b/pkgs/development/coq-modules/gappalib/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, autoconf, coq, flocq, version ? null }: +{ + lib, + mkCoqDerivation, + autoconf, + coq, + flocq, + version ? null, +}: mkCoqDerivation { pname = "gappalib"; diff --git a/pkgs/development/coq-modules/goedel/default.nix b/pkgs/development/coq-modules/goedel/default.nix index 2dae5941197d1..b9ca9a4fb5a94 100644 --- a/pkgs/development/coq-modules/goedel/default.nix +++ b/pkgs/development/coq-modules/goedel/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, hydra-battles, pocklington, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + hydra-battles, + pocklington, + version ? null, +}: mkCoqDerivation { pname = "goedel"; @@ -10,11 +17,19 @@ mkCoqDerivation { release."8.13.0".sha256 = "0sqqkmj6wsk4xmhrnqkhcsbsrqjzn2gnk67nqzgrmjpw5danz8y5"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.11" "8.16"; out = "8.13.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.11" "8.16"; + out = "8.13.0"; + } + ] null; - propagatedBuildInputs = [ hydra-battles pocklington ]; + propagatedBuildInputs = [ + hydra-battles + pocklington + ]; meta = with lib; { description = "Gödel-Rosser 1st incompleteness theorem in Coq"; diff --git a/pkgs/development/coq-modules/graph-theory/default.nix b/pkgs/development/coq-modules/graph-theory/default.nix index 94e868c8ebf1c..380ee69f1f8c7 100644 --- a/pkgs/development/coq-modules/graph-theory/default.nix +++ b/pkgs/development/coq-modules/graph-theory/default.nix @@ -1,5 +1,13 @@ -{ lib, mkCoqDerivation, coq, mathcomp, mathcomp-finmap -, fourcolor, hierarchy-builder, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp, + mathcomp-finmap, + fourcolor, + hierarchy-builder, + version ? null, +}: mkCoqDerivation { pname = "graph-theory"; @@ -13,15 +21,56 @@ mkCoqDerivation { releaseRev = v: "v${v}"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.coq-version mathcomp.version ] [ - { cases = [ (range "8.16" "8.19") (range "2.0.0" "2.2.0") ]; out = "0.9.4"; } - { cases = [ (range "8.16" "8.18") (range "2.0.0" "2.1.0" ) ]; out = "0.9.3"; } - { cases = [ (range "8.14" "8.18") (range "1.13.0" "1.18.0") ]; out = "0.9.2"; } - { cases = [ (range "8.14" "8.16") (range "1.13.0" "1.14.0") ]; out = "0.9.1"; } - { cases = [ (range "8.12" "8.13") (range "1.12.0" "1.14.0") ]; out = "0.9"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp.version ] + [ + { + cases = [ + (range "8.16" "8.19") + (range "2.0.0" "2.2.0") + ]; + out = "0.9.4"; + } + { + cases = [ + (range "8.16" "8.18") + (range "2.0.0" "2.1.0") + ]; + out = "0.9.3"; + } + { + cases = [ + (range "8.14" "8.18") + (range "1.13.0" "1.18.0") + ]; + out = "0.9.2"; + } + { + cases = [ + (range "8.14" "8.16") + (range "1.13.0" "1.14.0") + ]; + out = "0.9.1"; + } + { + cases = [ + (range "8.12" "8.13") + (range "1.12.0" "1.14.0") + ]; + out = "0.9"; + } + ] + null; - propagatedBuildInputs = [ mathcomp.algebra mathcomp-finmap mathcomp.fingroup fourcolor hierarchy-builder ]; + propagatedBuildInputs = [ + mathcomp.algebra + mathcomp-finmap + mathcomp.fingroup + fourcolor + hierarchy-builder + ]; meta = with lib; { description = "Library of formalized graph theory results in Coq"; diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix index fc96b2abf98c5..0d6ef1207e990 100644 --- a/pkgs/development/coq-modules/heq/default.nix +++ b/pkgs/development/coq-modules/heq/default.nix @@ -1,10 +1,26 @@ -{lib, fetchzip, mkCoqDerivation, coq, version ? null }: +{ + lib, + fetchzip, + mkCoqDerivation, + coq, + version ? null, +}: -let fetcher = {rev, repo, owner, sha256, domain, ...}: - fetchzip { - url = "https://${domain}/${owner}/${repo}/download/${repo}-${rev}.zip"; - inherit sha256; - }; in +let + fetcher = + { + rev, + repo, + owner, + sha256, + domain, + ... + }: + fetchzip { + url = "https://${domain}/${owner}/${repo}/download/${repo}-${rev}.zip"; + inherit sha256; + }; +in mkCoqDerivation { pname = "heq"; repo = "Heq"; diff --git a/pkgs/development/coq-modules/high-school-geometry/default.nix b/pkgs/development/coq-modules/high-school-geometry/default.nix index 2f478978bd580..29351db0c3183 100644 --- a/pkgs/development/coq-modules/high-school-geometry/default.nix +++ b/pkgs/development/coq-modules/high-school-geometry/default.nix @@ -1,15 +1,34 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "high-school-geometry"; inherit version; repo = "HighSchoolGeometry"; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.16" "8.20"; out = "8.16"; } - { case = range "8.12" "8.16"; out = "8.13"; } - { case = "8.12"; out = "8.12"; } - { case = "8.11"; out = "8.11"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.16" "8.20"; + out = "8.16"; + } + { + case = range "8.12" "8.16"; + out = "8.13"; + } + { + case = "8.12"; + out = "8.12"; + } + { + case = "8.11"; + out = "8.11"; + } + ] null; release = { "8.16".sha256 = "sha256-HvUrZ6l7wCshuKUZs8rvfMkTEv+oXuogI5LICcD8Bn8="; diff --git a/pkgs/development/coq-modules/http/default.nix b/pkgs/development/coq-modules/http/default.nix index dafa5532523bc..5eb5fa79e2ef0 100644 --- a/pkgs/development/coq-modules/http/default.nix +++ b/pkgs/development/coq-modules/http/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, QuickChick, async-test, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + QuickChick, + async-test, + version ? null, +}: mkCoqDerivation { pname = "http"; @@ -6,16 +13,25 @@ mkCoqDerivation { repo = "coq-http"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.14" "8.19"; out = "0.2.1"; } + { + case = range "8.14" "8.19"; + out = "0.2.1"; + } ] null; release = { - "0.2.1".sha256 = "sha256-CIcaXEojNdajXNoMBjGlQRc1sOJSKgUlditNxbNSPgk="; + "0.2.1".sha256 = "sha256-CIcaXEojNdajXNoMBjGlQRc1sOJSKgUlditNxbNSPgk="; }; releaseRev = v: "v${v}"; - propagatedBuildInputs = [ QuickChick async-test ]; + propagatedBuildInputs = [ + QuickChick + async-test + ]; configurePhase = '' sed -e 's/^ install extract.*//' -i Makefile diff --git a/pkgs/development/coq-modules/hydra-battles/default.nix b/pkgs/development/coq-modules/hydra-battles/default.nix index 4a6823dcf4203..74f57cc77d62c 100644 --- a/pkgs/development/coq-modules/hydra-battles/default.nix +++ b/pkgs/development/coq-modules/hydra-battles/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, equations, LibHyps, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + equations, + LibHyps, + version ? null, +}: (mkCoqDerivation { pname = "hydra-battles"; @@ -11,10 +18,18 @@ releaseRev = (v: "v${v}"); inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.13" "8.16"; out = "0.9"; } - { case = range "8.11" "8.12"; out = "0.4"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.13" "8.16"; + out = "0.9"; + } + { + case = range "8.11" "8.12"; + out = "0.4"; + } + ] null; useDune = true; @@ -27,11 +42,22 @@ ordinal numbers, and a part of the so-called Ketonen and Solovay machinery (combinatorial properties of epsilon0). ''; - maintainers = with maintainers; [ siraben Zimmi48 ]; + maintainers = with maintainers; [ + siraben + Zimmi48 + ]; license = licenses.mit; platforms = platforms.unix; }; -}).overrideAttrs(o: - let inherit (o) version; in { - propagatedBuildInputs = [ equations ] ++ lib.optional (lib.versions.isGe "0.6" version || version == "dev") LibHyps; - }) +}).overrideAttrs + ( + o: + let + inherit (o) version; + in + { + propagatedBuildInputs = [ + equations + ] ++ lib.optional (lib.versions.isGe "0.6" version || version == "dev") LibHyps; + } + ) diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix index 69f65fe6c5d7d..e29863c2283c9 100644 --- a/pkgs/development/coq-modules/interval/default.nix +++ b/pkgs/development/coq-modules/interval/default.nix @@ -1,22 +1,62 @@ -{ lib, mkCoqDerivation, autoconf, coq, coquelicot, flocq, - mathcomp-ssreflect, mathcomp-fingroup, bignums ? null, gnuplot_qt, version ? null }: +{ + lib, + mkCoqDerivation, + autoconf, + coq, + coquelicot, + flocq, + mathcomp-ssreflect, + mathcomp-fingroup, + bignums ? null, + gnuplot_qt, + version ? null, +}: mkCoqDerivation rec { pname = "interval"; owner = "coqinterval"; domain = "gitlab.inria.fr"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.13" "8.20"; out = "4.11.0"; } - { case = range "8.12" "8.19"; out = "4.10.0"; } - { case = range "8.12" "8.18"; out = "4.9.0"; } - { case = range "8.12" "8.17"; out = "4.8.0"; } - { case = range "8.12" "8.16"; out = "4.6.0"; } - { case = range "8.8" "8.16"; out = "4.5.2"; } - { case = range "8.8" "8.12"; out = "4.0.0"; } - { case = range "8.7" "8.11"; out = "3.4.2"; } - { case = range "8.5" "8.6"; out = "3.3.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.13" "8.20"; + out = "4.11.0"; + } + { + case = range "8.12" "8.19"; + out = "4.10.0"; + } + { + case = range "8.12" "8.18"; + out = "4.9.0"; + } + { + case = range "8.12" "8.17"; + out = "4.8.0"; + } + { + case = range "8.12" "8.16"; + out = "4.6.0"; + } + { + case = range "8.8" "8.16"; + out = "4.5.2"; + } + { + case = range "8.8" "8.12"; + out = "4.0.0"; + } + { + case = range "8.7" "8.11"; + out = "3.4.2"; + } + { + case = range "8.5" "8.6"; + out = "3.3.0"; + } + ] null; release."4.11.0".sha256 = "sha256-vPwa4zSjyvxHLGDoNaBnHV2pb77dnQFbC50BL80fcvE="; release."4.10.0".sha256 = "sha256-MZJVoKGLXjDabdv9BuUSK1L9z1cubzC9cqVuWevKIXQ="; release."4.9.0".sha256 = "sha256-+5NppyQahcc1idGu/U3B+EIWuZz2L3/oY7dIJR6pitE="; @@ -36,8 +76,14 @@ mkCoqDerivation rec { releaseRev = v: "interval-${v}"; nativeBuildInputs = [ autoconf ]; - propagatedBuildInputs = lib.optional (lib.versions.isGe "8.6" coq.coq-version) bignums - ++ [ coquelicot flocq mathcomp-ssreflect mathcomp-fingroup ] + propagatedBuildInputs = + lib.optional (lib.versions.isGe "8.6" coq.coq-version) bignums + ++ [ + coquelicot + flocq + mathcomp-ssreflect + mathcomp-fingroup + ] ++ lib.optionals (lib.versions.isGe "4.2.0" defaultVersion) [ gnuplot_qt ]; useMelquiondRemake.logpath = "Interval"; mlPlugin = true; diff --git a/pkgs/development/coq-modules/iris-named-props/default.nix b/pkgs/development/coq-modules/iris-named-props/default.nix index 4499e435230c7..e2b6f9d7e2969 100644 --- a/pkgs/development/coq-modules/iris-named-props/default.nix +++ b/pkgs/development/coq-modules/iris-named-props/default.nix @@ -1,12 +1,23 @@ -{ lib, mkCoqDerivation, coq, version ? null, iris }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, + iris, +}: mkCoqDerivation rec { pname = "iris-named-props"; owner = "tchajed"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.16" "8.19"; out = "2023-08-14"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.16" "8.19"; + out = "2023-08-14"; + } + ] null; release."2023-08-14".sha256 = "sha256-gu9qOdHO0qJ2B9Y9Vf66q08iNJcfuECJO66fizFB08g="; release."2023-08-14".rev = "ca1871dd33649f27257a0fbf94076acc80ecffbc"; propagatedBuildInputs = [ iris ]; diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix index a8e925e98f04b..14410a8cecd03 100644 --- a/pkgs/development/coq-modules/iris/default.nix +++ b/pkgs/development/coq-modules/iris/default.nix @@ -1,19 +1,48 @@ -{ lib, mkCoqDerivation, coq, stdpp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + stdpp, + version ? null, +}: mkCoqDerivation rec { pname = "iris"; domain = "gitlab.mpi-sws.org"; owner = "iris"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.19" "8.20"; out = "4.3.0"; } - { case = range "8.18" "8.19"; out = "4.2.0"; } - { case = range "8.16" "8.18"; out = "4.1.0"; } - { case = range "8.13" "8.17"; out = "4.0.0"; } - { case = range "8.12" "8.14"; out = "3.5.0"; } - { case = range "8.11" "8.13"; out = "3.4.0"; } - { case = range "8.9" "8.10"; out = "3.3.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.19" "8.20"; + out = "4.3.0"; + } + { + case = range "8.18" "8.19"; + out = "4.2.0"; + } + { + case = range "8.16" "8.18"; + out = "4.1.0"; + } + { + case = range "8.13" "8.17"; + out = "4.0.0"; + } + { + case = range "8.12" "8.14"; + out = "3.5.0"; + } + { + case = range "8.11" "8.13"; + out = "3.4.0"; + } + { + case = range "8.9" "8.10"; + out = "3.3.0"; + } + ] null; release."4.3.0".sha256 = "sha256-3qhjiFI+A3I3fD8rFfJL5Hek77wScfn/FNNbDyGqA1k="; release."4.2.0".sha256 = "sha256-HuiHIe+5letgr1NN1biZZFq0qlWUbFmoVI7Q91+UIfM="; release."4.1.0".sha256 = "sha256-nTZUeZOXiH7HsfGbMKDE7vGrNVCkbMaWxdMWUcTUNlo="; @@ -35,6 +64,9 @@ mkCoqDerivation rec { meta = with lib; { description = "Coq development of the Iris Project"; license = licenses.bsd3; - maintainers = [ maintainers.vbgl maintainers.ineol ]; + maintainers = [ + maintainers.vbgl + maintainers.ineol + ]; }; } diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix index fd7e4fa31859d..238c89d1fd5ac 100644 --- a/pkgs/development/coq-modules/itauto/default.nix +++ b/pkgs/development/coq-modules/itauto/default.nix @@ -1,4 +1,10 @@ -{ lib, callPackage, mkCoqDerivation, coq, version ? null }: +{ + lib, + callPackage, + mkCoqDerivation, + coq, + version ? null, +}: (mkCoqDerivation rec { pname = "itauto"; @@ -14,32 +20,65 @@ release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9"; release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = isEq "8.20"; out = "8.20.0"; } - { case = isEq "8.19"; out = "8.19.0"; } - { case = isEq "8.18"; out = "8.18.0"; } - { case = isEq "8.17"; out = "8.17.0"; } - { case = isEq "8.16"; out = "8.16.0"; } - { case = isEq "8.15"; out = "8.15.0"; } - { case = isEq "8.14"; out = "8.14.0"; } - { case = isEq "8.13"; out = "8.13+no"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = isEq "8.20"; + out = "8.20.0"; + } + { + case = isEq "8.19"; + out = "8.19.0"; + } + { + case = isEq "8.18"; + out = "8.18.0"; + } + { + case = isEq "8.17"; + out = "8.17.0"; + } + { + case = isEq "8.16"; + out = "8.16.0"; + } + { + case = isEq "8.15"; + out = "8.15.0"; + } + { + case = isEq "8.14"; + out = "8.14.0"; + } + { + case = isEq "8.13"; + out = "8.13+no"; + } + ] null; mlPlugin = true; nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]); enableParallelBuilding = false; - passthru.tests.suite = callPackage ./test.nix {}; + passthru.tests.suite = callPackage ./test.nix { }; - meta = with lib; { + meta = with lib; { description = "Reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support"; maintainers = with maintainers; [ siraben ]; license = licenses.gpl3Plus; }; -}).overrideAttrs (o: lib.optionalAttrs - (o.version == "dev" || lib.versionAtLeast o.version "8.16") { - propagatedBuildInputs = [ coq.ocamlPackages.findlib ]; -} // lib.optionalAttrs - (o.version == "dev" || lib.versionAtLeast o.version "8.18") { - nativeBuildInputs = with coq.ocamlPackages; [ ocaml findlib dune_3 ]; -}) +}).overrideAttrs + ( + o: + lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.16") { + propagatedBuildInputs = [ coq.ocamlPackages.findlib ]; + } + // lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.18") { + nativeBuildInputs = with coq.ocamlPackages; [ + ocaml + findlib + dune_3 + ]; + } + ) diff --git a/pkgs/development/coq-modules/itauto/test.nix b/pkgs/development/coq-modules/itauto/test.nix index ef3a85954e61e..f442783904739 100644 --- a/pkgs/development/coq-modules/itauto/test.nix +++ b/pkgs/development/coq-modules/itauto/test.nix @@ -1,14 +1,25 @@ -{ stdenv, lib, coq, itauto }: +{ + stdenv, + lib, + coq, + itauto, +}: -let excluded = - lib.optionals (lib.versions.isEq "8.16" itauto.version) [ "arith.v" "refl_bool.v" ] -; in +let + excluded = lib.optionals (lib.versions.isEq "8.16" itauto.version) [ + "arith.v" + "refl_bool.v" + ]; +in stdenv.mkDerivation { pname = "coq${coq.coq-version}-itauto-test"; inherit (itauto) src version; - nativeCheckInputs = [ coq itauto ]; + nativeCheckInputs = [ + coq + itauto + ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/development/coq-modules/itree-io/default.nix b/pkgs/development/coq-modules/itree-io/default.nix index f708509fce7aa..d932513bbea57 100644 --- a/pkgs/development/coq-modules/itree-io/default.nix +++ b/pkgs/development/coq-modules/itree-io/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, ITree, simple-io, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + ITree, + simple-io, + version ? null, +}: mkCoqDerivation { pname = "itree-io"; @@ -6,16 +13,25 @@ mkCoqDerivation { owner = "Lysxia"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.12" "8.19"; out = "0.1.1"; } + { + case = range "8.12" "8.19"; + out = "0.1.1"; + } ] null; release = { - "0.1.1".sha256 = "sha256-IFwIj8dxW4jm2gvuUJ8LKZFSJeljp0bsn8fezxY6t2o="; + "0.1.1".sha256 = "sha256-IFwIj8dxW4jm2gvuUJ8LKZFSJeljp0bsn8fezxY6t2o="; }; releaseRev = v: "v${v}"; - propagatedBuildInputs = [ ITree simple-io ]; + propagatedBuildInputs = [ + ITree + simple-io + ]; meta = { description = "Interpret itree in the IO monad of simple-io."; diff --git a/pkgs/development/coq-modules/json/default.nix b/pkgs/development/coq-modules/json/default.nix index f30c238aafd00..3b8ccef3bb958 100644 --- a/pkgs/development/coq-modules/json/default.nix +++ b/pkgs/development/coq-modules/json/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, parsec, MenhirLib, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + parsec, + MenhirLib, + version ? null, +}: (mkCoqDerivation { pname = "json"; @@ -6,18 +13,31 @@ repo = "coq-json"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.14" "8.20"; out = "0.2.0"; } - { case = range "8.14" "8.20"; out = "0.1.3"; } + { + case = range "8.14" "8.20"; + out = "0.2.0"; + } + { + case = range "8.14" "8.20"; + out = "0.1.3"; + } ] null; release = { - "0.2.0".sha256 = "sha256-qDRTgWLUvu4x3/d3BDcqo2I4W5ZmLyRiwuY/Tm/FuKA="; - "0.1.3".sha256 = "sha256-lElAzW4IuX+BB6ngDjlyKn0MytLRfbhQanB+Lct/WR0="; + "0.2.0".sha256 = "sha256-qDRTgWLUvu4x3/d3BDcqo2I4W5ZmLyRiwuY/Tm/FuKA="; + "0.1.3".sha256 = "sha256-lElAzW4IuX+BB6ngDjlyKn0MytLRfbhQanB+Lct/WR0="; }; releaseRev = v: "v${v}"; - propagatedBuildInputs = [ parsec MenhirLib coq.ocamlPackages.menhir ]; + propagatedBuildInputs = [ + parsec + MenhirLib + coq.ocamlPackages.menhir + ]; useDuneifVersion = v: lib.versions.isGe "0.2.0" v || v == "dev"; @@ -25,6 +45,13 @@ description = "From JSON to Coq, and vice versa."; license = lib.licenses.bsd3; }; -}).overrideAttrs (o: lib.optionalAttrs (o.version != null - && lib.versions.isLt "0.2.0" o.version) - { buildFlags = [ "MENHIRFLAGS=--coq" "MENHIRFLAGS+=--coq-no-version-check" ]; }) +}).overrideAttrs + ( + o: + lib.optionalAttrs (o.version != null && lib.versions.isLt "0.2.0" o.version) { + buildFlags = [ + "MENHIRFLAGS=--coq" + "MENHIRFLAGS+=--coq-no-version-check" + ]; + } + ) diff --git a/pkgs/development/coq-modules/lemma-overloading/default.nix b/pkgs/development/coq-modules/lemma-overloading/default.nix index 8f4f12b02ba4e..58400a50e0ee8 100644 --- a/pkgs/development/coq-modules/lemma-overloading/default.nix +++ b/pkgs/development/coq-modules/lemma-overloading/default.nix @@ -1,17 +1,57 @@ -{ lib, mkCoqDerivation, coq, mathcomp-ssreflect, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp-ssreflect, + version ? null, +}: mkCoqDerivation rec { pname = "lemma-overloading"; inherit version; - defaultVersion = with lib.versions; - lib.switch [ coq.coq-version mathcomp-ssreflect.version ] [ - { cases = [ (range "8.10" "8.12") (range "1.7" "1.11") ]; out = "8.12.0"; } - { cases = [ (range "8.10" "8.11") (range "1.7" "1.11") ]; out = "8.11.0"; } - { cases = [ (range "8.8" "8.11") (range "1.7" "1.10") ]; out = "8.10.0"; } - { cases = [ (range "8.8" "8.9") (range "1.7" "1.8") ]; out = "8.9.0"; } - { cases = [ (isEq "8.8") (range "1.6.2" "1.7") ]; out = "8.8.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp-ssreflect.version ] + [ + { + cases = [ + (range "8.10" "8.12") + (range "1.7" "1.11") + ]; + out = "8.12.0"; + } + { + cases = [ + (range "8.10" "8.11") + (range "1.7" "1.11") + ]; + out = "8.11.0"; + } + { + cases = [ + (range "8.8" "8.11") + (range "1.7" "1.10") + ]; + out = "8.10.0"; + } + { + cases = [ + (range "8.8" "8.9") + (range "1.7" "1.8") + ]; + out = "8.9.0"; + } + { + cases = [ + (isEq "8.8") + (range "1.6.2" "1.7") + ]; + out = "8.8.0"; + } + ] + null; release = { "8.12.0".sha256 = "sha256-ul1IhxFwhLTy3+rmo3gvjHI3Z8A8avN0Rzq0YDy2bjs="; diff --git a/pkgs/development/coq-modules/ltac2/default.nix b/pkgs/development/coq-modules/ltac2/default.nix index 11fa1af24de60..88b52f397bae4 100644 --- a/pkgs/development/coq-modules/ltac2/default.nix +++ b/pkgs/development/coq-modules/ltac2/default.nix @@ -1,21 +1,40 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "ltac2"; owner = "coq"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = "8.10"; out = "0.3"; } - { case = "8.9"; out = "0.2"; } - { case = "8.8"; out = "0.1"; } - { case = "8.7"; out = "0.1-8.7"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = "8.10"; + out = "0.3"; + } + { + case = "8.9"; + out = "0.2"; + } + { + case = "8.8"; + out = "0.1"; + } + { + case = "8.7"; + out = "0.1-8.7"; + } + ] null; release."0.3".sha256 = "0pzs5nsakh4l8ffwgn4ryxbnxdv2x0r1i7bc598ij621haxdirrr"; release."0.2".sha256 = "0xby1kb26r9gcvk5511wqj05fqm9paynwfxlfqkmwkgnfmzk0x73"; release."0.1".sha256 = "1zz26cyv99whj7rrpgnhhm9dfqnpmrx5pqizn8ihf8jkq8d4drz7"; release."0.1-8.7".version = "0.1"; - release."0.1-8.7".rev = "v0.1-8.7"; - release."0.1-8.7".sha256 = "0l6wiwi4cvd0i324fb29i9mdh0ijlxzggw4mrjjy695l2qdnlgg0"; + release."0.1-8.7".rev = "v0.1-8.7"; + release."0.1-8.7".sha256 = "0l6wiwi4cvd0i324fb29i9mdh0ijlxzggw4mrjjy695l2qdnlgg0"; mlPlugin = true; diff --git a/pkgs/development/coq-modules/math-classes/default.nix b/pkgs/development/coq-modules/math-classes/default.nix index 5466147f01de8..246ac5c617ab2 100644 --- a/pkgs/development/coq-modules/math-classes/default.nix +++ b/pkgs/development/coq-modules/math-classes/default.nix @@ -1,15 +1,35 @@ -{ lib, mkCoqDerivation, coq, bignums, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + bignums, + version ? null, +}: mkCoqDerivation { pname = "math-classes"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.17" "8.20"; out = "8.19.0"; } - { case = range "8.12" "8.18"; out = "8.18.0"; } - { case = range "8.12" "8.17"; out = "8.17.0"; } - { case = range "8.6" "8.16"; out = "8.15.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.17" "8.20"; + out = "8.19.0"; + } + { + case = range "8.12" "8.18"; + out = "8.18.0"; + } + { + case = range "8.12" "8.17"; + out = "8.17.0"; + } + { + case = range "8.6" "8.16"; + out = "8.15.0"; + } + ] null; release."8.12.0".sha256 = "14nd6a08zncrl5yg2gzk0xf4iinwq4hxnsgm4fyv07ydbkxfb425"; release."8.13.0".sha256 = "1ln7ziivfbxzbdvlhbvyg3v30jgblncmwcsam6gg3d1zz6r7cbby"; release."8.15.0".sha256 = "10w1hm537k6jx8a8vghq1yx12rsa0sjk2ipv3scgir71ln30hllw"; @@ -22,6 +42,9 @@ mkCoqDerivation { meta = { homepage = "https://math-classes.github.io"; description = "Library of abstract interfaces for mathematical structures in Coq"; - maintainers = with lib.maintainers; [ siddharthist jwiegley ]; + maintainers = with lib.maintainers; [ + siddharthist + jwiegley + ]; }; } diff --git a/pkgs/development/coq-modules/mathcomp-abel/default.nix b/pkgs/development/coq-modules/mathcomp-abel/default.nix index c9d6a709d6a38..8da24e652d921 100644 --- a/pkgs/development/coq-modules/mathcomp-abel/default.nix +++ b/pkgs/development/coq-modules/mathcomp-abel/default.nix @@ -1,25 +1,59 @@ -{ coq, mkCoqDerivation, mathcomp, mathcomp-real-closed, lib, version ? null }: +{ + coq, + mkCoqDerivation, + mathcomp, + mathcomp-real-closed, + lib, + version ? null, +}: mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "abel"; owner = "math-comp"; inherit version; - defaultVersion = lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (lib.versions.range "8.10" "8.16") (lib.versions.range "1.12.0" "1.15.0") ]; out = "1.2.1"; } - { cases = [ (lib.versions.range "8.10" "8.15") (lib.versions.range "1.12.0" "1.14.0") ]; out = "1.2.0"; } - { cases = [ (lib.versions.range "8.10" "8.14") (lib.versions.range "1.11.0" "1.12.0") ]; out = "1.1.2"; } - ] null; + defaultVersion = + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (lib.versions.range "8.10" "8.16") + (lib.versions.range "1.12.0" "1.15.0") + ]; + out = "1.2.1"; + } + { + cases = [ + (lib.versions.range "8.10" "8.15") + (lib.versions.range "1.12.0" "1.14.0") + ]; + out = "1.2.0"; + } + { + cases = [ + (lib.versions.range "8.10" "8.14") + (lib.versions.range "1.11.0" "1.12.0") + ]; + out = "1.1.2"; + } + ] + null; release."1.2.1".sha256 = "sha256-M1q6WIPBsayHde2hwlTxylH169hcTs3OuFsEkM0e3yc="; release."1.2.0".sha256 = "1picd4m85ipj22j3b84cv8ab3330radzrhd6kp0gpxq14dhv02c2"; release."1.1.2".sha256 = "0565w713z1cwxvvdlqws2z5lgdys8lddf0vpwfdj7bpd7pq9hwxg"; release."1.0.0".sha256 = "190jd8hb8anqsvr9ysr514pm5sh8qhw4030ddykvwxx9d9q6rbp3"; - - propagatedBuildInputs = [ mathcomp.field mathcomp-real-closed ]; + propagatedBuildInputs = [ + mathcomp.field + mathcomp-real-closed + ]; meta = with lib; { description = "Abel - Galois and Abel - Ruffini Theorems"; diff --git a/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix b/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix index 3e071850e8eff..3996db951b296 100644 --- a/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix +++ b/pkgs/development/coq-modules/mathcomp-algebra-tactics/default.nix @@ -1,26 +1,68 @@ -{ lib, mkCoqDerivation, coq, mathcomp-algebra, - coq-elpi, mathcomp-zify, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp-algebra, + coq-elpi, + mathcomp-zify, + version ? null, +}: mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "algebra-tactics"; owner = "math-comp"; inherit version; - defaultVersion = with lib.versions; - lib.switch [ coq.coq-version mathcomp-algebra.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0") ]; out = "1.2.3"; } - { cases = [ (range "8.16" "8.18") (isGe "2.0") ]; out = "1.2.2"; } - { cases = [ (range "8.16" "8.19") (isGe "1.15") ]; out = "1.1.1"; } - { cases = [ (range "8.13" "8.16") (isGe "1.12") ]; out = "1.0.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp-algebra.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0") + ]; + out = "1.2.3"; + } + { + cases = [ + (range "8.16" "8.18") + (isGe "2.0") + ]; + out = "1.2.2"; + } + { + cases = [ + (range "8.16" "8.19") + (isGe "1.15") + ]; + out = "1.1.1"; + } + { + cases = [ + (range "8.13" "8.16") + (isGe "1.12") + ]; + out = "1.0.0"; + } + ] + null; release."1.0.0".sha256 = "sha256-kszARPBizWbxSQ/Iqpf2vLbxYc6AjpUCLnSNlPcNfls="; release."1.1.1".sha256 = "sha256-5wItMeeTRoJlRBH3zBNc2VUZn6pkDde60YAvXTx+J3U="; release."1.2.2".sha256 = "sha256-EU9RJGV3BvnmsX+mGH+6+MDXiGHgDI7aP5sIYiMUXTs="; release."1.2.3".sha256 = "sha256-6uc1VEfDv+fExEfBR2c0/Q/KjrkX0TbEMCLgeYcpkls="; - propagatedBuildInputs = [ mathcomp-algebra coq-elpi mathcomp-zify ]; + propagatedBuildInputs = [ + mathcomp-algebra + coq-elpi + mathcomp-zify + ]; meta = { description = "Ring and field tactics for Mathematical Components"; diff --git a/pkgs/development/coq-modules/mathcomp-analysis/default.nix b/pkgs/development/coq-modules/mathcomp-analysis/default.nix index 5949fead8b1d1..64bd6fecab88f 100644 --- a/pkgs/development/coq-modules/mathcomp-analysis/default.nix +++ b/pkgs/development/coq-modules/mathcomp-analysis/default.nix @@ -1,12 +1,18 @@ -{ lib, +{ + lib, mkCoqDerivation, - mathcomp, mathcomp-finmap, mathcomp-bigenough, + mathcomp, + mathcomp-finmap, + mathcomp-bigenough, hierarchy-builder, single ? false, - coqPackages, coq, version ? null }@args: + coqPackages, + coq, + version ? null, +}@args: let - repo = "analysis"; + repo = "analysis"; owner = "math-comp"; release."1.7.0".sha256 = "sha256-GgsMIHqLkWsPm2VyOPeZdOulkN00IoBz++qA6yE9raQ="; @@ -33,58 +39,192 @@ let release."0.3.1".sha256 = "1iad288yvrjv8ahl9v18vfblgqb1l5z6ax644w49w9hwxs93f2k8"; release."0.2.3".sha256 = "0p9mr8g1qma6h10qf7014dv98ln90dfkwn76ynagpww7qap8s966"; - defaultVersion = let inherit (lib.versions) range; in - lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.19" "8.20") (range "2.1.0" "2.2.0") ]; out = "1.7.0"; } - { cases = [ (range "8.17" "8.20") (range "2.0.0" "2.2.0") ]; out = "1.1.0"; } - { cases = [ (range "8.17" "8.19") (range "1.17.0" "1.19.0") ]; out = "0.7.0"; } - { cases = [ (range "8.17" "8.18") (range "1.15.0" "1.18.0") ]; out = "0.6.7"; } - { cases = [ (range "8.17" "8.18") (range "1.15.0" "1.18.0") ]; out = "0.6.6"; } - { cases = [ (range "8.14" "8.18") (range "1.15.0" "1.17.0") ]; out = "0.6.5"; } - { cases = [ (range "8.14" "8.18") (range "1.13.0" "1.16.0") ]; out = "0.6.1"; } - { cases = [ (range "8.14" "8.18") (range "1.13" "1.15") ]; out = "0.5.2"; } - { cases = [ (range "8.13" "8.15") (range "1.13" "1.14") ]; out = "0.5.1"; } - { cases = [ (range "8.13" "8.15") (range "1.12" "1.14") ]; out = "0.3.13"; } - { cases = [ (range "8.11" "8.14") (range "1.12" "1.13") ]; out = "0.3.10"; } - { cases = [ (range "8.10" "8.12") "1.11.0" ]; out = "0.3.3"; } - { cases = [ (range "8.10" "8.11") "1.11.0" ]; out = "0.3.1"; } - { cases = [ (range "8.8" "8.11") (range "1.8" "1.10") ]; out = "0.2.3"; } - ] null; + defaultVersion = + let + inherit (lib.versions) range; + in + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.19" "8.20") + (range "2.1.0" "2.2.0") + ]; + out = "1.7.0"; + } + { + cases = [ + (range "8.17" "8.20") + (range "2.0.0" "2.2.0") + ]; + out = "1.1.0"; + } + { + cases = [ + (range "8.17" "8.19") + (range "1.17.0" "1.19.0") + ]; + out = "0.7.0"; + } + { + cases = [ + (range "8.17" "8.18") + (range "1.15.0" "1.18.0") + ]; + out = "0.6.7"; + } + { + cases = [ + (range "8.17" "8.18") + (range "1.15.0" "1.18.0") + ]; + out = "0.6.6"; + } + { + cases = [ + (range "8.14" "8.18") + (range "1.15.0" "1.17.0") + ]; + out = "0.6.5"; + } + { + cases = [ + (range "8.14" "8.18") + (range "1.13.0" "1.16.0") + ]; + out = "0.6.1"; + } + { + cases = [ + (range "8.14" "8.18") + (range "1.13" "1.15") + ]; + out = "0.5.2"; + } + { + cases = [ + (range "8.13" "8.15") + (range "1.13" "1.14") + ]; + out = "0.5.1"; + } + { + cases = [ + (range "8.13" "8.15") + (range "1.12" "1.14") + ]; + out = "0.3.13"; + } + { + cases = [ + (range "8.11" "8.14") + (range "1.12" "1.13") + ]; + out = "0.3.10"; + } + { + cases = [ + (range "8.10" "8.12") + "1.11.0" + ]; + out = "0.3.3"; + } + { + cases = [ + (range "8.10" "8.11") + "1.11.0" + ]; + out = "0.3.1"; + } + { + cases = [ + (range "8.8" "8.11") + (range "1.8" "1.10") + ]; + out = "0.2.3"; + } + ] + null; # list of analysis packages sorted by dependency order packages = { - "classical" = []; + "classical" = [ ]; "reals" = [ "classical" ]; "experimental-reals" = [ "reals" ]; "analysis" = [ "reals" ]; "reals-stdlib" = [ "reals" ]; - "analysis-stdlib" = [ "analysis" "reals-stdlib" ]; + "analysis-stdlib" = [ + "analysis" + "reals-stdlib" + ]; }; - mathcomp_ = package: let - classical-deps = [ mathcomp.algebra mathcomp-finmap ]; + mathcomp_ = + package: + let + classical-deps = [ + mathcomp.algebra + mathcomp-finmap + ]; experimental-reals-deps = [ mathcomp-bigenough ]; - analysis-deps = [ mathcomp.field mathcomp-bigenough ]; + analysis-deps = [ + mathcomp.field + mathcomp-bigenough + ]; intra-deps = lib.optionals (package != "single") (map mathcomp_ packages.${package}); pkgpath = lib.switch package [ - { case = "single"; out = "."; } - { case = "analysis"; out = "theories"; } - { case = "experimental-reals"; out = "experimental_reals"; } - { case = "reals-stdlib"; out = "reals_stdlib"; } - { case = "analysis-stdlib"; out = "analysis_stdlib"; } + { + case = "single"; + out = "."; + } + { + case = "analysis"; + out = "theories"; + } + { + case = "experimental-reals"; + out = "experimental_reals"; + } + { + case = "reals-stdlib"; + out = "reals_stdlib"; + } + { + case = "analysis-stdlib"; + out = "analysis_stdlib"; + } ] package; - pname = if package == "single" then "mathcomp-analysis-single" - else "mathcomp-${package}"; + pname = if package == "single" then "mathcomp-analysis-single" else "mathcomp-${package}"; derivation = mkCoqDerivation ({ - inherit version pname defaultVersion release repo owner; + inherit + version + pname + defaultVersion + release + repo + owner + ; - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; propagatedBuildInputs = intra-deps - ++ lib.optionals (lib.elem package [ "classical" "single" ]) classical-deps - ++ lib.optionals (lib.elem package [ "experimental-reals" "single" ]) experimental-reals-deps - ++ lib.optionals (lib.elem package [ "analysis" "single" ]) analysis-deps; + ++ lib.optionals (lib.elem package [ + "classical" + "single" + ]) classical-deps + ++ lib.optionals (lib.elem package [ + "experimental-reals" + "single" + ]) experimental-reals-deps + ++ lib.optionals (lib.elem package [ + "analysis" + "single" + ]) analysis-deps; preBuild = '' cd ${pkgpath} @@ -93,35 +233,64 @@ let meta = { description = "Analysis library compatible with Mathematical Components"; maintainers = [ lib.maintainers.cohencyril ]; - license = lib.licenses.cecill-c; + license = lib.licenses.cecill-c; }; passthru = lib.mapAttrs (package: deps: mathcomp_ package) packages; }); - # split packages didn't exist before 0.6, so bulding nothing in that case - patched-derivation1 = derivation.overrideAttrs (o: - lib.optionalAttrs (o.pname != null && o.pname != "mathcomp-analysis" && - o.version != null && o.version != "dev" && lib.versions.isLt "0.6" o.version) - { preBuild = ""; buildPhase = "echo doing nothing"; installPhase = "echo doing nothing"; } - ); - patched-derivation2 = patched-derivation1.overrideAttrs (o: - lib.optionalAttrs (o.pname != null && o.pname == "mathcomp-analysis" && - o.version != null && o.version != "dev" && lib.versions.isLt "0.6" o.version) - { preBuild = ""; } - ); - # only packages classical and analysis existed before 1.7, so bulding nothing in that case - patched-derivation3 = patched-derivation2.overrideAttrs (o: - lib.optionalAttrs (o.pname != null && o.pname != "mathcomp-classical" && o.pname != "mathcomp-analysis" && - o.version != null && o.version != "dev" && lib.versions.isLt "1.7" o.version) - { preBuild = ""; buildPhase = "echo doing nothing"; installPhase = "echo doing nothing"; } - ); - patched-derivation = patched-derivation3.overrideAttrs (o: - lib.optionalAttrs (o.version != null - && (o.version == "dev" || lib.versions.isGe "0.3.4" o.version)) - { - propagatedBuildInputs = o.propagatedBuildInputs ++ [ hierarchy-builder ]; - } - ); - in patched-derivation; + # split packages didn't exist before 0.6, so bulding nothing in that case + patched-derivation1 = derivation.overrideAttrs ( + o: + lib.optionalAttrs + ( + o.pname != null + && o.pname != "mathcomp-analysis" + && o.version != null + && o.version != "dev" + && lib.versions.isLt "0.6" o.version + ) + { + preBuild = ""; + buildPhase = "echo doing nothing"; + installPhase = "echo doing nothing"; + } + ); + patched-derivation2 = patched-derivation1.overrideAttrs ( + o: + lib.optionalAttrs ( + o.pname != null + && o.pname == "mathcomp-analysis" + && o.version != null + && o.version != "dev" + && lib.versions.isLt "0.6" o.version + ) { preBuild = ""; } + ); + # only packages classical and analysis existed before 1.7, so bulding nothing in that case + patched-derivation3 = patched-derivation2.overrideAttrs ( + o: + lib.optionalAttrs + ( + o.pname != null + && o.pname != "mathcomp-classical" + && o.pname != "mathcomp-analysis" + && o.version != null + && o.version != "dev" + && lib.versions.isLt "1.7" o.version + ) + { + preBuild = ""; + buildPhase = "echo doing nothing"; + installPhase = "echo doing nothing"; + } + ); + patched-derivation = patched-derivation3.overrideAttrs ( + o: + lib.optionalAttrs (o.version != null && (o.version == "dev" || lib.versions.isGe "0.3.4" o.version)) + { + propagatedBuildInputs = o.propagatedBuildInputs ++ [ hierarchy-builder ]; + } + ); + in + patched-derivation; in mathcomp_ (if single then "single" else "analysis") diff --git a/pkgs/development/coq-modules/mathcomp-apery/default.nix b/pkgs/development/coq-modules/mathcomp-apery/default.nix index 8e22a6c9aeb43..390aae694fb6c 100644 --- a/pkgs/development/coq-modules/mathcomp-apery/default.nix +++ b/pkgs/development/coq-modules/mathcomp-apery/default.nix @@ -1,20 +1,46 @@ -{ coq, mkCoqDerivation, mathcomp, coqeal, mathcomp-real-closed, - mathcomp-bigenough, mathcomp-zify, mathcomp-algebra-tactics, - lib, version ? null }: +{ + coq, + mkCoqDerivation, + mathcomp, + coqeal, + mathcomp-real-closed, + mathcomp-bigenough, + mathcomp-zify, + mathcomp-algebra-tactics, + lib, + version ? null, +}: mkCoqDerivation { pname = "apery"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.13" "8.16") (range "1.12.0" "1.17.0") ]; out = "1.0.2"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.13" "8.16") + (range "1.12.0" "1.17.0") + ]; + out = "1.0.2"; + } + ] + null; release."1.0.2".sha256 = "sha256-llxyMKYvWUA7fyroG1S/jtpioAoArmarR1edi3cikcY="; - propagatedBuildInputs = [ mathcomp.field coqeal mathcomp-real-closed - mathcomp-bigenough mathcomp-zify mathcomp-algebra-tactics ]; + propagatedBuildInputs = [ + mathcomp.field + coqeal + mathcomp-real-closed + mathcomp-bigenough + mathcomp-zify + mathcomp-algebra-tactics + ]; meta = { description = "Formally verified proof in Coq, by computer algebra, that ζ(3) is irrational"; diff --git a/pkgs/development/coq-modules/mathcomp-bigenough/default.nix b/pkgs/development/coq-modules/mathcomp-bigenough/default.nix index 25b4a5a2d010a..4a79a3d95d90f 100644 --- a/pkgs/development/coq-modules/mathcomp-bigenough/default.nix +++ b/pkgs/development/coq-modules/mathcomp-bigenough/default.nix @@ -1,8 +1,17 @@ -{ coq, mkCoqDerivation, mathcomp, lib, version ? null }: +{ + coq, + mkCoqDerivation, + mathcomp, + lib, + version ? null, +}: mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "bigenough"; owner = "math-comp"; @@ -11,10 +20,18 @@ mkCoqDerivation { "1.0.1".sha256 = "sha256:02f4dv4rz72liciwxb2k7acwx6lgqz4381mqyq5854p3nbyn06aw"; }; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.10" "8.20"; out = "1.0.1"; } - { case = range "8.5" "8.14"; out = "1.0.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.10" "8.20"; + out = "1.0.1"; + } + { + case = range "8.5" "8.14"; + out = "1.0.0"; + } + ] null; propagatedBuildInputs = [ mathcomp.ssreflect ]; diff --git a/pkgs/development/coq-modules/mathcomp-finmap/default.nix b/pkgs/development/coq-modules/mathcomp-finmap/default.nix index 66d237c0a53d4..f0fb42ddae8a6 100644 --- a/pkgs/development/coq-modules/mathcomp-finmap/default.nix +++ b/pkgs/development/coq-modules/mathcomp-finmap/default.nix @@ -1,36 +1,110 @@ -{ coq, mkCoqDerivation, mathcomp, lib, version ? null }: +{ + coq, + mkCoqDerivation, + mathcomp, + lib, + version ? null, +}: mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "finmap"; owner = "math-comp"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0") ]; out = "2.1.0"; } - { cases = [ (range "8.16" "8.18") (range "2.0" "2.1") ]; out = "2.0.0"; } - { cases = [ (range "8.13" "8.20") (range "1.12" "1.19") ]; out = "1.5.2"; } - { cases = [ (isGe "8.10") (range "1.11" "1.17") ]; out = "1.5.1"; } - { cases = [ (range "8.7" "8.11") "1.11.0" ]; out = "1.5.0"; } - { cases = [ (isEq "8.11") (range "1.8" "1.10") ]; out = "1.4.0+coq-8.11"; } - { cases = [ (range "8.7" "8.11.0") (range "1.8" "1.10") ]; out = "1.4.0"; } - { cases = [ (range "8.7" "8.11.0") (range "1.8" "1.10") ]; out = "1.3.4"; } - { cases = [ (range "8.7" "8.9") "1.7.0" ]; out = "1.1.0"; } - { cases = [ (range "8.6" "8.7") (range "1.6.1" "1.7") ]; out = "1.0.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0") + ]; + out = "2.1.0"; + } + { + cases = [ + (range "8.16" "8.18") + (range "2.0" "2.1") + ]; + out = "2.0.0"; + } + { + cases = [ + (range "8.13" "8.20") + (range "1.12" "1.19") + ]; + out = "1.5.2"; + } + { + cases = [ + (isGe "8.10") + (range "1.11" "1.17") + ]; + out = "1.5.1"; + } + { + cases = [ + (range "8.7" "8.11") + "1.11.0" + ]; + out = "1.5.0"; + } + { + cases = [ + (isEq "8.11") + (range "1.8" "1.10") + ]; + out = "1.4.0+coq-8.11"; + } + { + cases = [ + (range "8.7" "8.11.0") + (range "1.8" "1.10") + ]; + out = "1.4.0"; + } + { + cases = [ + (range "8.7" "8.11.0") + (range "1.8" "1.10") + ]; + out = "1.3.4"; + } + { + cases = [ + (range "8.7" "8.9") + "1.7.0" + ]; + out = "1.1.0"; + } + { + cases = [ + (range "8.6" "8.7") + (range "1.6.1" "1.7") + ]; + out = "1.0.0"; + } + ] + null; release = { - "2.1.0".sha256 = "sha256-gh0cnhdVDyo+D5zdtxLc10kGKQLQ3ITzHnMC45mCtpY="; - "2.0.0".sha256 = "sha256-0Wr1ZUYVuZH74vawO4EZlZ+K3kq+s1xEz/BfzyKj+wk="; - "1.5.2".sha256 = "sha256-0KmmSjc2AlUo6BKr9RZ4FjL9wlGISlTGU0X1Eu7l4sw="; - "1.5.1".sha256 = "0ryfml4pf1dfya16d8ma80favasmrygvspvb923n06kfw9v986j7"; - "1.5.0".sha256 = "0vx9n1fi23592b3hv5p5ycy7mxc8qh1y5q05aksfwbzkk5zjkwnq"; - "1.4.1".sha256 = "0kx4nx24dml1igk0w0qijmw221r5bgxhwhl5qicnxp7ab3c35s8p"; + "2.1.0".sha256 = "sha256-gh0cnhdVDyo+D5zdtxLc10kGKQLQ3ITzHnMC45mCtpY="; + "2.0.0".sha256 = "sha256-0Wr1ZUYVuZH74vawO4EZlZ+K3kq+s1xEz/BfzyKj+wk="; + "1.5.2".sha256 = "sha256-0KmmSjc2AlUo6BKr9RZ4FjL9wlGISlTGU0X1Eu7l4sw="; + "1.5.1".sha256 = "0ryfml4pf1dfya16d8ma80favasmrygvspvb923n06kfw9v986j7"; + "1.5.0".sha256 = "0vx9n1fi23592b3hv5p5ycy7mxc8qh1y5q05aksfwbzkk5zjkwnq"; + "1.4.1".sha256 = "0kx4nx24dml1igk0w0qijmw221r5bgxhwhl5qicnxp7ab3c35s8p"; "1.4.0+coq-8.11".sha256 = "1fd00ihyx0kzq5fblh9vr8s5mr1kg7p6pk11c4gr8svl1n69ppmb"; - "1.4.0".sha256 = "0mp82mcmrs424ff1vj3cvd8353r9vcap027h3p0iprr1vkkwjbzd"; - "1.3.4".sha256 = "0f5a62ljhixy5d7gsnwd66gf054l26k3m79fb8nz40i2mgp6l9ii"; - "1.2.1".sha256 = "0jryb5dq8js3imbmwrxignlk5zh8gwfb1wr4b1s7jbwz410vp7zf"; - "1.1.0".sha256 = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a"; - "1.0.0".sha256 = "0sah7k9qm8sw17cgd02f0x84hki8vj8kdz7h15i7rmz08rj0whpa"; + "1.4.0".sha256 = "0mp82mcmrs424ff1vj3cvd8353r9vcap027h3p0iprr1vkkwjbzd"; + "1.3.4".sha256 = "0f5a62ljhixy5d7gsnwd66gf054l26k3m79fb8nz40i2mgp6l9ii"; + "1.2.1".sha256 = "0jryb5dq8js3imbmwrxignlk5zh8gwfb1wr4b1s7jbwz410vp7zf"; + "1.1.0".sha256 = "05df59v3na8jhpsfp7hq3niam6asgcaipg2wngnzxzqnl86srp2a"; + "1.0.0".sha256 = "0sah7k9qm8sw17cgd02f0x84hki8vj8kdz7h15i7rmz08rj0whpa"; }; propagatedBuildInputs = [ mathcomp.ssreflect ]; diff --git a/pkgs/development/coq-modules/mathcomp-infotheo/default.nix b/pkgs/development/coq-modules/mathcomp-infotheo/default.nix index 48ad46d917709..3c5bc6df6b4ea 100644 --- a/pkgs/development/coq-modules/mathcomp-infotheo/default.nix +++ b/pkgs/development/coq-modules/mathcomp-infotheo/default.nix @@ -1,20 +1,79 @@ -{ coq, mkCoqDerivation, mathcomp-analysis, mathcomp-analysis-stdlib, mathcomp-algebra-tactics, interval, lib, version ? null }: +{ + coq, + mkCoqDerivation, + mathcomp-analysis, + mathcomp-analysis-stdlib, + mathcomp-algebra-tactics, + interval, + lib, + version ? null, +}: (mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "infotheo"; owner = "affeldt-aist"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp-analysis.version] [ - { cases = [ (range "8.19" "8.20") (isGe "1.7") ]; out = "0.7.5"; } - { cases = [ (range "8.18" "8.20") (isGe "1.5") ]; out = "0.7.3"; } - { cases = [ (range "8.18" "8.19") (isGe "1.2") ]; out = "0.7.2"; } - { cases = [ (range "8.17" "8.19") (isGe "1.0") ]; out = "0.7.1"; } - { cases = [ (isGe "8.17") (range "0.6.6" "0.7.0") ]; out = "0.6.1"; } - { cases = [ (range "8.17" "8.18") (range "0.6.0" "0.6.7") ]; out = "0.5.2"; } - { cases = [ (range "8.15" "8.16") (range "0.5.4" "0.6.5") ]; out = "0.5.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp-analysis.version ] + [ + { + cases = [ + (range "8.19" "8.20") + (isGe "1.7") + ]; + out = "0.7.5"; + } + { + cases = [ + (range "8.18" "8.20") + (isGe "1.5") + ]; + out = "0.7.3"; + } + { + cases = [ + (range "8.18" "8.19") + (isGe "1.2") + ]; + out = "0.7.2"; + } + { + cases = [ + (range "8.17" "8.19") + (isGe "1.0") + ]; + out = "0.7.1"; + } + { + cases = [ + (isGe "8.17") + (range "0.6.6" "0.7.0") + ]; + out = "0.6.1"; + } + { + cases = [ + (range "8.17" "8.18") + (range "0.6.0" "0.6.7") + ]; + out = "0.5.2"; + } + { + cases = [ + (range "8.15" "8.16") + (range "0.5.4" "0.6.5") + ]; + out = "0.5.1"; + } + ] + null; release."0.7.5".sha256 = "sha256-pzPo+Acjx3vlyqOkSZQ8uT2BDLSTfbAnRm39e+/CqE0="; release."0.7.3".sha256 = "sha256-7+qPtE1KfDmo9ZsQtWMzoR2MYnFpTjFHK/yZYVm+GxA="; release."0.7.2".sha256 = "sha256-dekrdVmuTcqXXmKhIb831EKtMhbPrXHJZhzmGb9rdRo="; @@ -29,9 +88,10 @@ description = "Coq formalization of information theory and linear error-correcting codes"; license = licenses.lgpl21Plus; }; -}).overrideAttrs (o: { - propagatedBuildInputs = o.propagatedBuildInputs - ++ lib.optional (lib.versions.isGe "0.6.1" o.version || o.version == "dev") mathcomp-algebra-tactics - ++ lib.optional (lib.versions.isGe "0.7.2" o.version || o.version == "dev") interval - ; -}) +}).overrideAttrs + (o: { + propagatedBuildInputs = + o.propagatedBuildInputs + ++ lib.optional (lib.versions.isGe "0.6.1" o.version || o.version == "dev") mathcomp-algebra-tactics + ++ lib.optional (lib.versions.isGe "0.7.2" o.version || o.version == "dev") interval; + }) diff --git a/pkgs/development/coq-modules/mathcomp-real-closed/default.nix b/pkgs/development/coq-modules/mathcomp-real-closed/default.nix index 987990429f37a..07d0f15f3e709 100644 --- a/pkgs/development/coq-modules/mathcomp-real-closed/default.nix +++ b/pkgs/development/coq-modules/mathcomp-real-closed/default.nix @@ -1,9 +1,18 @@ -{ coq, mkCoqDerivation, mathcomp, mathcomp-bigenough, - lib, version ? null }: +{ + coq, + mkCoqDerivation, + mathcomp, + mathcomp-bigenough, + lib, + version ? null, +}: mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "real-closed"; owner = "math-comp"; inherit version; @@ -20,17 +29,76 @@ mkCoqDerivation { "1.0.1".sha256 = "0j81gkjbza5vg89v4n9z598mfdbql416963rj4b8fzm7dp2r4rxg"; }; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (isGe "8.17") (isGe "2.0.0") ]; out = "2.0.1"; } - { cases = [ (range "8.16" "8.19") (range "2.0.0" "2.2.0") ]; out = "2.0.0"; } - { cases = [ (range "8.13" "8.19") (range "1.13.0" "1.19.0") ]; out = "1.1.4"; } - { cases = [ (isGe "8.13") (range "1.12.0" "1.18.0") ]; out = "1.1.3"; } - { cases = [ (isGe "8.10") (range "1.12.0" "1.18.0") ]; out = "1.1.2"; } - { cases = [ (isGe "8.7") "1.11.0" ]; out = "1.1.1"; } - { cases = [ (isGe "8.7") (range "1.9.0" "1.10.0") ]; out = "1.0.4"; } - { cases = [ (isGe "8.7") "1.8.0" ]; out = "1.0.3"; } - { cases = [ (isGe "8.7") "1.7.0" ]; out = "1.0.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (isGe "8.17") + (isGe "2.0.0") + ]; + out = "2.0.1"; + } + { + cases = [ + (range "8.16" "8.19") + (range "2.0.0" "2.2.0") + ]; + out = "2.0.0"; + } + { + cases = [ + (range "8.13" "8.19") + (range "1.13.0" "1.19.0") + ]; + out = "1.1.4"; + } + { + cases = [ + (isGe "8.13") + (range "1.12.0" "1.18.0") + ]; + out = "1.1.3"; + } + { + cases = [ + (isGe "8.10") + (range "1.12.0" "1.18.0") + ]; + out = "1.1.2"; + } + { + cases = [ + (isGe "8.7") + "1.11.0" + ]; + out = "1.1.1"; + } + { + cases = [ + (isGe "8.7") + (range "1.9.0" "1.10.0") + ]; + out = "1.0.4"; + } + { + cases = [ + (isGe "8.7") + "1.8.0" + ]; + out = "1.0.3"; + } + { + cases = [ + (isGe "8.7") + "1.7.0" + ]; + out = "1.0.1"; + } + ] + null; propagatedBuildInputs = [ mathcomp.ssreflect diff --git a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix index 8195124668305..945c63657d97f 100644 --- a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix +++ b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix @@ -1,24 +1,58 @@ -{ coq, mkCoqDerivation, mathcomp-ssreflect, mathcomp-fingroup, - lib, version ? null }@args: +{ + coq, + mkCoqDerivation, + mathcomp-ssreflect, + mathcomp-fingroup, + lib, + version ? null, +}@args: mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "tarjan"; owner = "math-comp"; inherit version; - defaultVersion = with lib.versions; - lib.switch [ coq.version mathcomp-ssreflect.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0.0") ]; out = "1.0.2"; } - { cases = [ (range "8.12" "8.18") (range "1.12.0" "1.17.0") ]; out = "1.0.1"; } - { cases = [ (range "8.10" "8.16") (range "1.12.0" "1.17.0") ]; out = "1.0.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp-ssreflect.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0.0") + ]; + out = "1.0.2"; + } + { + cases = [ + (range "8.12" "8.18") + (range "1.12.0" "1.17.0") + ]; + out = "1.0.1"; + } + { + cases = [ + (range "8.10" "8.16") + (range "1.12.0" "1.17.0") + ]; + out = "1.0.0"; + } + ] + null; release."1.0.2".sha256 = "sha256-U20xgA+e9KTRdvILD1cxN6ia+dlA8uBTIbc4QlKz9ss="; release."1.0.1".sha256 = "sha256-utNjFCAqC5xOuhdyKhfMZkRYJD0xv9Gt6U3ZdQ56mek="; release."1.0.0".sha256 = "sha256:0r459r0makshzwlygw6kd4lpvdjc43b3x5y9aa8x77f2z5gymjq1"; - propagatedBuildInputs = [ mathcomp-ssreflect mathcomp-fingroup ]; + propagatedBuildInputs = [ + mathcomp-ssreflect + mathcomp-fingroup + ]; meta = { description = "Proofs of Tarjan and Kosaraju connected components algorithms"; diff --git a/pkgs/development/coq-modules/mathcomp-word/default.nix b/pkgs/development/coq-modules/mathcomp-word/default.nix index 99d0a96cf7980..8e6825979be19 100644 --- a/pkgs/development/coq-modules/mathcomp-word/default.nix +++ b/pkgs/development/coq-modules/mathcomp-word/default.nix @@ -1,16 +1,39 @@ -{ fetchurl, coq, mkCoqDerivation, mathcomp, lib, version ? null }: +{ + fetchurl, + coq, + mkCoqDerivation, + mathcomp, + lib, + version ? null, +}: let - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "word"; - fetcher = { domain, owner, repo, rev, sha256 ? null, ...}: - let prefix = "https://${domain}/${owner}/${repo}/"; in + fetcher = + { + domain, + owner, + repo, + rev, + sha256 ? null, + ... + }: + let + prefix = "https://${domain}/${owner}/${repo}/"; + in if sha256 == null then - fetchTarball { url = "${prefix}archive/refs/heads/${rev}.tar.gz"; } else - fetchurl { - url = "${prefix}releases/download/${rev}/${lib.concatStringsSep "-" (namePrefix ++ [ pname ])}-${rev}.tbz"; - inherit sha256; - }; + fetchTarball { url = "${prefix}archive/refs/heads/${rev}.tar.gz"; } + else + fetchurl { + url = "${prefix}releases/download/${rev}/${ + lib.concatStringsSep "-" (namePrefix ++ [ pname ]) + }-${rev}.tbz"; + inherit sha256; + }; in mkCoqDerivation { @@ -31,12 +54,33 @@ mkCoqDerivation { release."2.0".sha256 = "sha256-ySg3AviGGY5jXqqn1cP6lTw3aS5DhawXEwNUgj7pIjA="; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0") ]; out = "3.2"; } - { cases = [ (range "8.12" "8.20") (range "1.12" "1.19") ]; out = "2.4"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0") + ]; + out = "3.2"; + } + { + cases = [ + (range "8.12" "8.20") + (range "1.12" "1.19") + ]; + out = "2.4"; + } + ] + null; - propagatedBuildInputs = [ mathcomp.algebra mathcomp.ssreflect mathcomp.fingroup ]; + propagatedBuildInputs = [ + mathcomp.algebra + mathcomp.ssreflect + mathcomp.fingroup + ]; meta = with lib; { description = "Yet Another Coq Library on Machine Words"; diff --git a/pkgs/development/coq-modules/mathcomp-zify/default.nix b/pkgs/development/coq-modules/mathcomp-zify/default.nix index 84f5e718ed050..d6be076ba4703 100644 --- a/pkgs/development/coq-modules/mathcomp-zify/default.nix +++ b/pkgs/development/coq-modules/mathcomp-zify/default.nix @@ -1,25 +1,62 @@ -{ lib, mkCoqDerivation, coq, mathcomp-algebra, mathcomp-ssreflect, mathcomp-fingroup, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp-algebra, + mathcomp-ssreflect, + mathcomp-fingroup, + version ? null, +}: mkCoqDerivation rec { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "zify"; repo = "mczify"; owner = "math-comp"; inherit version; - defaultVersion = with lib.versions; - lib.switch [ coq.coq-version mathcomp-algebra.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0.0") ]; out = "1.5.0+2.0+8.16"; } - { cases = [ (range "8.13" "8.20") (range "1.12" "1.19.0") ]; out = "1.3.0+1.12+8.13"; } - { cases = [ (range "8.13" "8.16") (range "1.12" "1.17.0") ]; out = "1.1.0+1.12+8.13"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp-algebra.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0.0") + ]; + out = "1.5.0+2.0+8.16"; + } + { + cases = [ + (range "8.13" "8.20") + (range "1.12" "1.19.0") + ]; + out = "1.3.0+1.12+8.13"; + } + { + cases = [ + (range "8.13" "8.16") + (range "1.12" "1.17.0") + ]; + out = "1.1.0+1.12+8.13"; + } + ] + null; release."1.0.0+1.12+8.13".sha256 = "1j533vx6lacr89bj1bf15l1a0s7rvrx4l00wyjv99aczkfbz6h6k"; release."1.1.0+1.12+8.13".sha256 = "1plf4v6q5j7wvmd5gsqlpiy0vwlw6hy5daq2x42gqny23w9mi2pr"; release."1.3.0+1.12+8.13".sha256 = "sha256-ebfY8HatP4te44M6o84DSLpDCkMu4IroPCy+HqzOnTE="; release."1.5.0+2.0+8.16".sha256 = "sha256-boBYGvXdGFc6aPnjgSZYSoW4kmN5khtNrSV3DUv9DqM="; - propagatedBuildInputs = [ mathcomp-algebra mathcomp-ssreflect mathcomp-fingroup ]; + propagatedBuildInputs = [ + mathcomp-algebra + mathcomp-ssreflect + mathcomp-fingroup + ]; meta = { description = "Micromega tactics for Mathematical Components"; diff --git a/pkgs/development/coq-modules/metacoq/default.nix b/pkgs/development/coq-modules/metacoq/default.nix index 9452ac977b6fb..15c83514cce24 100644 --- a/pkgs/development/coq-modules/metacoq/default.nix +++ b/pkgs/development/coq-modules/metacoq/default.nix @@ -1,23 +1,55 @@ -{ lib, - mkCoqDerivation, single ? false, - coq, equations, version ? null }@args: +{ + lib, + mkCoqDerivation, + single ? false, + coq, + equations, + version ? null, +}@args: let - repo = "metacoq"; + repo = "metacoq"; owner = "MetaCoq"; defaultVersion = lib.switch coq.coq-version [ - { case = "8.11"; out = "1.0-beta2-8.11"; } - { case = "8.12"; out = "1.0-beta2-8.12"; } - # Do not provide 8.13 because it does not compile with equations 1.3 provided by default (only 1.2.3) - # { case = "8.13"; out = "1.0-beta2-8.13"; } - { case = "8.14"; out = "1.1-8.14"; } - { case = "8.15"; out = "1.1-8.15"; } - { case = "8.16"; out = "1.1-8.16"; } - { case = "8.17"; out = "1.3.1-8.17"; } - { case = "8.18"; out = "1.3.1-8.18"; } - { case = "8.19"; out = "1.3.2-8.19"; } - { case = "8.20"; out = "1.3.2-8.20"; } - ] null; + { + case = "8.11"; + out = "1.0-beta2-8.11"; + } + { + case = "8.12"; + out = "1.0-beta2-8.12"; + } + # Do not provide 8.13 because it does not compile with equations 1.3 provided by default (only 1.2.3) + # { case = "8.13"; out = "1.0-beta2-8.13"; } + { + case = "8.14"; + out = "1.1-8.14"; + } + { + case = "8.15"; + out = "1.1-8.15"; + } + { + case = "8.16"; + out = "1.1-8.16"; + } + { + case = "8.17"; + out = "1.3.1-8.17"; + } + { + case = "8.18"; + out = "1.3.1-8.18"; + } + { + case = "8.19"; + out = "1.3.2-8.19"; + } + { + case = "8.20"; + out = "1.3.2-8.20"; + } + ] null; release = { "1.0-beta2-8.11".sha256 = "sha256-I9YNk5Di6Udvq5/xpLSNflfjRyRH8fMnRzbo3uhpXNs="; "1.0-beta2-8.12".sha256 = "sha256-I8gpmU9rUQJh0qfp5KOgDNscVvCybm5zX4TINxO1TVA="; @@ -40,92 +72,177 @@ let # list of core metacoq packages and their dependencies packages = { - "utils" = []; - "common" = [ "utils" ]; - "template-coq" = [ "common" ]; - "pcuic" = if (lib.versionAtLeast coq.coq-version "8.17" || coq.coq-version == "dev") - then [ "common" ] - else [ "template-coq" ]; - "safechecker" = [ "pcuic" ]; - "template-pcuic" = [ "template-coq" "pcuic" ]; - "erasure" = [ "safechecker" "template-pcuic" ]; - "quotation" = [ "template-coq" "pcuic" "template-pcuic" ]; - "safechecker-plugin" = [ "template-pcuic" "safechecker" ]; - "erasure-plugin" = [ "template-pcuic" "erasure" ]; - "translations" = [ "template-coq" ]; - "all" = [ "safechecker-plugin" "erasure-plugin" "translations" "quotation" ]; + "utils" = [ ]; + "common" = [ "utils" ]; + "template-coq" = [ "common" ]; + "pcuic" = + if (lib.versionAtLeast coq.coq-version "8.17" || coq.coq-version == "dev") then + [ "common" ] + else + [ "template-coq" ]; + "safechecker" = [ "pcuic" ]; + "template-pcuic" = [ + "template-coq" + "pcuic" + ]; + "erasure" = [ + "safechecker" + "template-pcuic" + ]; + "quotation" = [ + "template-coq" + "pcuic" + "template-pcuic" + ]; + "safechecker-plugin" = [ + "template-pcuic" + "safechecker" + ]; + "erasure-plugin" = [ + "template-pcuic" + "erasure" + ]; + "translations" = [ "template-coq" ]; + "all" = [ + "safechecker-plugin" + "erasure-plugin" + "translations" + "quotation" + ]; }; template-coq = metacoq_ "template-coq"; - metacoq_ = package: let + metacoq_ = + package: + let metacoq-deps = lib.optionals (package != "single") (map metacoq_ packages.${package}); pkgpath = if package == "single" then "./" else "./${package}"; pname = if package == "all" then "metacoq" else "metacoq-${package}"; pkgallMake = '' - mkdir all - echo "all:" > all/Makefile - echo "install:" >> all/Makefile - '' ; - derivation = (mkCoqDerivation ({ - inherit version pname defaultVersion release releaseRev repo owner; + mkdir all + echo "all:" > all/Makefile + echo "install:" >> all/Makefile + ''; + derivation = + (mkCoqDerivation ( + { + inherit + version + pname + defaultVersion + release + releaseRev + repo + owner + ; - mlPlugin = true; - propagatedBuildInputs = [ equations coq.ocamlPackages.zarith ] ++ metacoq-deps; + mlPlugin = true; + propagatedBuildInputs = [ + equations + coq.ocamlPackages.zarith + ] ++ metacoq-deps; - patchPhase = if lib.versionAtLeast coq.coq-version "8.17" || coq.coq-version == "dev" then '' - patchShebangs ./configure.sh - patchShebangs ./template-coq/update_plugin.sh - patchShebangs ./template-coq/gen-src/to-lower.sh - patchShebangs ./safechecker-plugin/clean_extraction.sh - patchShebangs ./erasure-plugin/clean_extraction.sh - echo "CAMLFLAGS+=-w -60 # Unused module" >> ./safechecker/Makefile.plugin.local - sed -i -e 's/mv $i $newi;/mv $i tmp; mv tmp $newi;/' ./template-coq/gen-src/to-lower.sh ./safechecker-plugin/clean_extraction.sh ./erasure-plugin/clean_extraction.sh - '' else '' - patchShebangs ./configure.sh - patchShebangs ./template-coq/update_plugin.sh - patchShebangs ./template-coq/gen-src/to-lower.sh - patchShebangs ./pcuic/clean_extraction.sh - patchShebangs ./safechecker/clean_extraction.sh - patchShebangs ./erasure/clean_extraction.sh - echo "CAMLFLAGS+=-w -60 # Unused module" >> ./safechecker/Makefile.plugin.local - sed -i -e 's/mv $i $newi;/mv $i tmp; mv tmp $newi;/' ./template-coq/gen-src/to-lower.sh ./pcuic/clean_extraction.sh ./safechecker/clean_extraction.sh ./erasure/clean_extraction.sh - '' ; + patchPhase = + if lib.versionAtLeast coq.coq-version "8.17" || coq.coq-version == "dev" then + '' + patchShebangs ./configure.sh + patchShebangs ./template-coq/update_plugin.sh + patchShebangs ./template-coq/gen-src/to-lower.sh + patchShebangs ./safechecker-plugin/clean_extraction.sh + patchShebangs ./erasure-plugin/clean_extraction.sh + echo "CAMLFLAGS+=-w -60 # Unused module" >> ./safechecker/Makefile.plugin.local + sed -i -e 's/mv $i $newi;/mv $i tmp; mv tmp $newi;/' ./template-coq/gen-src/to-lower.sh ./safechecker-plugin/clean_extraction.sh ./erasure-plugin/clean_extraction.sh + '' + else + '' + patchShebangs ./configure.sh + patchShebangs ./template-coq/update_plugin.sh + patchShebangs ./template-coq/gen-src/to-lower.sh + patchShebangs ./pcuic/clean_extraction.sh + patchShebangs ./safechecker/clean_extraction.sh + patchShebangs ./erasure/clean_extraction.sh + echo "CAMLFLAGS+=-w -60 # Unused module" >> ./safechecker/Makefile.plugin.local + sed -i -e 's/mv $i $newi;/mv $i tmp; mv tmp $newi;/' ./template-coq/gen-src/to-lower.sh ./pcuic/clean_extraction.sh ./safechecker/clean_extraction.sh ./erasure/clean_extraction.sh + ''; - configurePhase = lib.optionalString (package == "all") pkgallMake + '' - touch ${pkgpath}/metacoq-config - '' + lib.optionalString (lib.elem package ["erasure" "template-pcuic" "quotation" "safechecker-plugin" "erasure-plugin" "translations"]) '' - echo "-I ${template-coq}/lib/coq/${coq.coq-version}/user-contrib/MetaCoq/Template/" > ${pkgpath}/metacoq-config - '' + lib.optionalString (package == "single") '' - ./configure.sh local - ''; + configurePhase = + lib.optionalString (package == "all") pkgallMake + + '' + touch ${pkgpath}/metacoq-config + '' + + + lib.optionalString + (lib.elem package [ + "erasure" + "template-pcuic" + "quotation" + "safechecker-plugin" + "erasure-plugin" + "translations" + ]) + '' + echo "-I ${template-coq}/lib/coq/${coq.coq-version}/user-contrib/MetaCoq/Template/" > ${pkgpath}/metacoq-config + '' + + lib.optionalString (package == "single") '' + ./configure.sh local + ''; - preBuild = '' - cd ${pkgpath} - '' ; + preBuild = '' + cd ${pkgpath} + ''; - meta = { - homepage = "https://metacoq.github.io/"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ cohencyril ]; - }; - } // lib.optionalAttrs (package != "single") - { passthru = lib.mapAttrs (package: deps: metacoq_ package) packages; }) - ).overrideAttrs (o: - let requiresOcamlStdlibShims = lib.versionAtLeast o.version "1.0-8.16" || - (o.version == "dev" && (lib.versionAtLeast coq.coq-version "8.16" || coq.coq-version == "dev")) ; - in - { - propagatedBuildInputs = o.propagatedBuildInputs ++ lib.optional requiresOcamlStdlibShims coq.ocamlPackages.stdlib-shims; - }); + meta = { + homepage = "https://metacoq.github.io/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ cohencyril ]; + }; + } + // lib.optionalAttrs (package != "single") { + passthru = lib.mapAttrs (package: deps: metacoq_ package) packages; + } + )).overrideAttrs + ( + o: + let + requiresOcamlStdlibShims = + lib.versionAtLeast o.version "1.0-8.16" + || (o.version == "dev" && (lib.versionAtLeast coq.coq-version "8.16" || coq.coq-version == "dev")); + in + { + propagatedBuildInputs = + o.propagatedBuildInputs + ++ lib.optional requiresOcamlStdlibShims coq.ocamlPackages.stdlib-shims; + } + ); # utils, common, template-pcuic, quotation, safechecker-plugin, and erasure-plugin # packages didn't exist before 1.2, so bulding nothing in that case - patched-derivation = derivation.overrideAttrs (o: - lib.optionalAttrs (o.pname != null && - lib.elem package [ "utils" "common" "template-pcuic" "quotation" "safechecker-plugin" "erasure-plugin" ] && - o.version != null && o.version != "dev" && lib.versions.isLt "1.2" o.version) - { patchPhase = ""; configurePhase = ""; preBuild = ""; buildPhase = "echo doing nothing"; installPhase = "echo doing nothing"; } + patched-derivation = derivation.overrideAttrs ( + o: + lib.optionalAttrs + ( + o.pname != null + && lib.elem package [ + "utils" + "common" + "template-pcuic" + "quotation" + "safechecker-plugin" + "erasure-plugin" + ] + && o.version != null + && o.version != "dev" + && lib.versions.isLt "1.2" o.version + ) + { + patchPhase = ""; + configurePhase = ""; + preBuild = ""; + buildPhase = "echo doing nothing"; + installPhase = "echo doing nothing"; + } ); - in patched-derivation; + in + patched-derivation; in metacoq_ (if single then "single" else "all") diff --git a/pkgs/development/coq-modules/metalib/default.nix b/pkgs/development/coq-modules/metalib/default.nix index 144b95cbebd43..a8a889e999b83 100644 --- a/pkgs/development/coq-modules/metalib/default.nix +++ b/pkgs/development/coq-modules/metalib/default.nix @@ -1,13 +1,26 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: (mkCoqDerivation { pname = "metalib"; owner = "plclub"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.14" "8.18"; out = "8.15"; } - { case = range "8.10" "8.13"; out = "8.10"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.14" "8.18"; + out = "8.15"; + } + { + case = range "8.10" "8.13"; + out = "8.10"; + } + ] null; releaseRev = v: "coq${v}"; release."8.15".sha256 = "0wbp058zwa4bkdjj38aysy2g1avf9nrh8q23a3dil0q00qczi616"; release."8.10".sha256 = "0wbypc05d2lqfm9qaw98ynr5yc1p0ipsvyc3bh1rk9nz7zwirmjs"; @@ -16,6 +29,7 @@ license = licenses.mit; maintainers = [ maintainers.jwiegley ]; }; -}).overrideAttrs (oldAttrs: { - sourceRoot = "${oldAttrs.src.name}/Metalib"; -}) +}).overrideAttrs + (oldAttrs: { + sourceRoot = "${oldAttrs.src.name}/Metalib"; + }) diff --git a/pkgs/development/coq-modules/mtac2/default.nix b/pkgs/development/coq-modules/mtac2/default.nix index 8c2a96b4d7815..eed638c269e43 100644 --- a/pkgs/development/coq-modules/mtac2/default.nix +++ b/pkgs/development/coq-modules/mtac2/default.nix @@ -1,12 +1,23 @@ -{ lib, mkCoqDerivation, coq, unicoq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + unicoq, + version ? null, +}: mkCoqDerivation { pname = "Mtac2"; owner = "Mtac2"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.19" "8.19"; out = "1.4-coq${coq.coq-version}"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.19" "8.19"; + out = "1.4-coq${coq.coq-version}"; + } + ] null; release."1.4-coq8.19".sha256 = "sha256-G9eK0eLyECdT20/yf8yyz7M8Xq2WnHHaHpxVGP0yTtU="; releaseRev = v: "v${v}"; mlPlugin = true; diff --git a/pkgs/development/coq-modules/multinomials/default.nix b/pkgs/development/coq-modules/multinomials/default.nix index 6b61d9545f880..78e8150aa0104 100644 --- a/pkgs/development/coq-modules/multinomials/default.nix +++ b/pkgs/development/coq-modules/multinomials/default.nix @@ -1,26 +1,108 @@ -{ coq, mkCoqDerivation, mathcomp, mathcomp-finmap, mathcomp-bigenough, - lib, version ? null, useDune ? false }@args: - mkCoqDerivation { +{ + coq, + mkCoqDerivation, + mathcomp, + mathcomp-finmap, + mathcomp-bigenough, + lib, + version ? null, + useDune ? false, +}@args: +mkCoqDerivation { - namePrefix = [ "coq" "mathcomp" ]; + namePrefix = [ + "coq" + "mathcomp" + ]; pname = "multinomials"; owner = "math-comp"; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [ - { cases = [ (range "8.17" "8.20") (isGe "2.1.0") ]; out = "2.2.0"; } - { cases = [ (range "8.16" "8.18") "2.1.0" ]; out = "2.1.0"; } - { cases = [ (range "8.16" "8.18") "2.0.0" ]; out = "2.0.0"; } - { cases = [ (isGe "8.15") (range "1.15.0" "1.19.0") ]; out = "1.6.0"; } - { cases = [ (isGe "8.10") (range "1.13.0" "1.17.0") ]; out = "1.5.6"; } - { cases = [ (range "8.10" "8.16") (range "1.12.0" "1.15.0") ]; out = "1.5.5"; } - { cases = [ (range "8.10" "8.12") "1.12.0" ]; out = "1.5.3"; } - { cases = [ (range "8.7" "8.12") "1.11.0" ]; out = "1.5.2"; } - { cases = [ (range "8.7" "8.11") (range "1.8" "1.10") ]; out = "1.5.0"; } - { cases = [ (range "8.7" "8.10") (range "1.8" "1.10") ]; out = "1.4"; } - { cases = [ "8.6" (range "1.6" "1.7") ]; out = "1.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version mathcomp.version ] + [ + { + cases = [ + (range "8.17" "8.20") + (isGe "2.1.0") + ]; + out = "2.2.0"; + } + { + cases = [ + (range "8.16" "8.18") + "2.1.0" + ]; + out = "2.1.0"; + } + { + cases = [ + (range "8.16" "8.18") + "2.0.0" + ]; + out = "2.0.0"; + } + { + cases = [ + (isGe "8.15") + (range "1.15.0" "1.19.0") + ]; + out = "1.6.0"; + } + { + cases = [ + (isGe "8.10") + (range "1.13.0" "1.17.0") + ]; + out = "1.5.6"; + } + { + cases = [ + (range "8.10" "8.16") + (range "1.12.0" "1.15.0") + ]; + out = "1.5.5"; + } + { + cases = [ + (range "8.10" "8.12") + "1.12.0" + ]; + out = "1.5.3"; + } + { + cases = [ + (range "8.7" "8.12") + "1.11.0" + ]; + out = "1.5.2"; + } + { + cases = [ + (range "8.7" "8.11") + (range "1.8" "1.10") + ]; + out = "1.5.0"; + } + { + cases = [ + (range "8.7" "8.10") + (range "1.8" "1.10") + ]; + out = "1.4"; + } + { + cases = [ + "8.6" + (range "1.6" "1.7") + ]; + out = "1.1"; + } + ] + null; release = { "2.2.0".sha256 = "sha256-Cie6paweITwPZy6ej9+qIvHFWknVR382uJPW927t/fo="; "2.1.0".sha256 = "sha256-QT91SBJ6DXhyg4j/okTvPP6yj2DnnPbnSlJ/p8pvZbY="; @@ -33,12 +115,12 @@ "1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s"; "1.5.1".sha256 = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3"; "1.5.0".sha256 = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw"; - "1.5.0".rev = "1.5"; - "1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p"; - "1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4"; - "1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq"; - "1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s"; - "1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; + "1.5.0".rev = "1.5"; + "1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p"; + "1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4"; + "1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq"; + "1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s"; + "1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; }; useDuneifVersion = lib.versions.range "1.5.3" "2.2.0"; @@ -47,12 +129,17 @@ patchShebangs configure || true ''; - propagatedBuildInputs = - [ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap mathcomp.fingroup mathcomp-bigenough ]; + propagatedBuildInputs = [ + mathcomp.ssreflect + mathcomp.algebra + mathcomp-finmap + mathcomp.fingroup + mathcomp-bigenough + ]; meta = { description = "Coq/SSReflect Library for Monoidal Rings and Multinomials"; license = lib.licenses.cecill-c; }; } -// lib.optionalAttrs (args?useDune) { inherit useDune; } +// lib.optionalAttrs (args ? useDune) { inherit useDune; } diff --git a/pkgs/development/coq-modules/odd-order/default.nix b/pkgs/development/coq-modules/odd-order/default.nix index b6770aa633def..30082aa3de121 100644 --- a/pkgs/development/coq-modules/odd-order/default.nix +++ b/pkgs/development/coq-modules/odd-order/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + mathcomp, + version ? null, +}: mkCoqDerivation { pname = "odd-order"; @@ -10,11 +15,22 @@ mkCoqDerivation { releaseRev = v: "mathcomp-odd-order.${v}"; inherit version; - defaultVersion = with lib.versions; lib.switch mathcomp.character.version [ - { case = (range "1.13.0" "1.15.0"); out = "1.14.0"; } - { case = (range "1.12.0" "1.14.0"); out = "1.13.0"; } - { case = (range "1.10.0" "1.12.0"); out = "1.12.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch mathcomp.character.version [ + { + case = (range "1.13.0" "1.15.0"); + out = "1.14.0"; + } + { + case = (range "1.12.0" "1.14.0"); + out = "1.13.0"; + } + { + case = (range "1.10.0" "1.12.0"); + out = "1.12.0"; + } + ] null; propagatedBuildInputs = [ mathcomp.character diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix index 80432fa1494ca..2881e7bab8174 100644 --- a/pkgs/development/coq-modules/paco/default.nix +++ b/pkgs/development/coq-modules/paco/default.nix @@ -1,16 +1,38 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "paco"; owner = "snu-sf"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.13" "8.20"; out = "4.2.0"; } - { case = range "8.12" "8.17"; out = "4.1.2"; } - { case = range "8.9" "8.13"; out = "4.1.1"; } - { case = range "8.6" "8.13"; out = "4.0.2"; } - { case = isEq "8.5"; out = "1.2.8"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.13" "8.20"; + out = "4.2.0"; + } + { + case = range "8.12" "8.17"; + out = "4.1.2"; + } + { + case = range "8.9" "8.13"; + out = "4.1.1"; + } + { + case = range "8.6" "8.13"; + out = "4.0.2"; + } + { + case = isEq "8.5"; + out = "1.2.8"; + } + ] null; release."4.2.0".sha256 = "sha256-YHYtiz9hium96n3owL/C99AjJAFTlTCmmb2+ttevgMY="; release."4.1.2".sha256 = "sha256:1l8mwakqp4wnppsldl8wp2j24h1jvadnvrsgf35xnvdyygypjp2v"; release."4.1.1".sha256 = "1qap8cyv649lr1s11r7h5jzdjd4hsna8kph15qy5fw24h5nx6byy"; @@ -29,6 +51,9 @@ mkCoqDerivation { meta = { homepage = "https://plv.mpi-sws.org/paco/"; description = "Coq library implementing parameterized coinduction"; - maintainers = with lib.maintainers; [ jwiegley ptival ]; + maintainers = with lib.maintainers; [ + jwiegley + ptival + ]; }; } diff --git a/pkgs/development/coq-modules/paramcoq/default.nix b/pkgs/development/coq-modules/paramcoq/default.nix index f8749c8979506..d665b0b4f6051 100644 --- a/pkgs/development/coq-modules/paramcoq/default.nix +++ b/pkgs/development/coq-modules/paramcoq/default.nix @@ -1,13 +1,28 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "paramcoq"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.10" "8.20"; out = "1.1.3+coq${coq.coq-version}"; } - { case = range "8.7" "8.13"; out = "1.1.2+coq${coq.coq-version}"; } - ] null; - displayVersion = { paramcoq = "..."; }; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.10" "8.20"; + out = "1.1.3+coq${coq.coq-version}"; + } + { + case = range "8.7" "8.13"; + out = "1.1.2+coq${coq.coq-version}"; + } + ] null; + displayVersion = { + paramcoq = "..."; + }; release."1.1.3+coq8.20".sha256 = "sha256-34xDOz/2xO39fnQW6Zb9CI2EKFuJZjrAdOpMEmwuzY0="; release."1.1.3+coq8.19".sha256 = "sha256-5NVsdLXaoz6qrr5ra5YfoHeuK4pEf8JX/X9+SZA0U+U="; release."1.1.3+coq8.18".sha256 = "sha256-hNBaj9hB+OzwXsOX+TOXtDLjA5oP4EmEgseLwxFxW+I="; @@ -23,9 +38,9 @@ mkCoqDerivation { release."1.1.2+coq8.12".sha256 = "0qd72r45if4h7c256qdfiimv75zyrs0w0xqij3m866jxaq591v4i"; release."1.1.2+coq8.11".sha256 = "09c6813988nvq4fpa45s33k70plnhxsblhm7cxxkg0i37mhvigsa"; release."1.1.2+coq8.10".sha256 = "1lq1mw15w4yky79qg3rm0mpzqi2ir51b6ak04ismrdr7ixky49y8"; - release."1.1.2+coq8.9".sha256 = "1jjzgpff09xjn9kgp7w69r096jkj0x2ksng3pawrmhmn7clwivbk"; - release."1.1.2+coq8.8".sha256 = "0rc4lshqvnfdsph98gnscvpmlirs9wx91qcvffggg73xw0p1g9s0"; - release."1.1.2+coq8.7".sha256 = "09n0ky7ldb24by7yf5j3hv410h85x50ksilf7qacl7xglj4gy5hj"; + release."1.1.2+coq8.9".sha256 = "1jjzgpff09xjn9kgp7w69r096jkj0x2ksng3pawrmhmn7clwivbk"; + release."1.1.2+coq8.8".sha256 = "0rc4lshqvnfdsph98gnscvpmlirs9wx91qcvffggg73xw0p1g9s0"; + release."1.1.2+coq8.7".sha256 = "09n0ky7ldb24by7yf5j3hv410h85x50ksilf7qacl7xglj4gy5hj"; releaseRev = v: "v${v}"; mlPlugin = true; meta = with lib; { diff --git a/pkgs/development/coq-modules/parsec/default.nix b/pkgs/development/coq-modules/parsec/default.nix index b66baa5358ce6..4f8eeebc15da7 100644 --- a/pkgs/development/coq-modules/parsec/default.nix +++ b/pkgs/development/coq-modules/parsec/default.nix @@ -1,4 +1,11 @@ -{ lib, mkCoqDerivation, coq, ceres, ExtLib, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + ceres, + ExtLib, + version ? null, +}: mkCoqDerivation { @@ -6,16 +13,33 @@ mkCoqDerivation { repo = "coq-parsec"; owner = "liyishuai"; - propagatedBuildInputs = [ ceres ExtLib ]; + propagatedBuildInputs = [ + ceres + ExtLib + ]; releaseRev = (v: "v${v}"); inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.14" "8.20"; out = "0.2.0"; } - { case = range "8.14" "8.20"; out = "0.1.2"; } - { case = range "8.12" "8.16"; out = "0.1.1"; } - { case = range "8.12" "8.13"; out = "0.1.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.14" "8.20"; + out = "0.2.0"; + } + { + case = range "8.14" "8.20"; + out = "0.1.2"; + } + { + case = range "8.12" "8.16"; + out = "0.1.1"; + } + { + case = range "8.12" "8.13"; + out = "0.1.0"; + } + ] null; release."0.2.0".sha256 = "sha256-hM6LVFQ2VQ42QeHu8Ex+oz1VvJUr+g8/nZN+bYHEljQ="; release."0.1.2".sha256 = "sha256-QN0h1CsX86DQBDsluXLtNUvMh3r60/0iDSbYam67AhA="; release."0.1.1".sha256 = "sha256:1c0l18s68pzd4c8i3jimh2yz0pqm4g38pca4bm7fr18r8xmqf189"; diff --git a/pkgs/development/coq-modules/pocklington/default.nix b/pkgs/development/coq-modules/pocklington/default.nix index 1ee80e9a4b6e1..44dff53fb1a7c 100644 --- a/pkgs/development/coq-modules/pocklington/default.nix +++ b/pkgs/development/coq-modules/pocklington/default.nix @@ -1,16 +1,26 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "pocklington"; owner = "coq-community"; - release."8.12.0".rev = "v8.12.0"; + release."8.12.0".rev = "v8.12.0"; release."8.12.0".sha256 = "sha256-0xBrw9+4g14niYdNqp0nx00fPJoSSnaDSDEaIVpPfjs="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.7" "8.18"; out = "8.12.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.7" "8.18"; + out = "8.12.0"; + } + ] null; meta = with lib; { description = "Pocklington's criterion for primality in Coq"; diff --git a/pkgs/development/coq-modules/reglang/default.nix b/pkgs/development/coq-modules/reglang/default.nix index cc42c515c09e7..3e95e1b893b10 100644 --- a/pkgs/development/coq-modules/reglang/default.nix +++ b/pkgs/development/coq-modules/reglang/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + mathcomp, + version ? null, +}: mkCoqDerivation { pname = "reglang"; @@ -11,12 +17,34 @@ mkCoqDerivation { release."1.1.2".sha256 = "sha256-SEnMilLNxh6a3oiDNGLaBr8quQ/nO2T9Fwdf/1il2Yk="; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.coq-version mathcomp.version ] [ - { cases = [ (range "8.16" "8.20") (isGe "2.0.0") ]; out = "1.2.1"; } - { cases = [ (range "8.16" "8.18") (range "2.0.0" "2.1.0") ]; out = "1.2.0"; } - { cases = [ (range "8.10" "8.20") (isLt "2.0.0") ]; out = "1.1.3"; } - ] null; - + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp.version ] + [ + { + cases = [ + (range "8.16" "8.20") + (isGe "2.0.0") + ]; + out = "1.2.1"; + } + { + cases = [ + (range "8.16" "8.18") + (range "2.0.0" "2.1.0") + ]; + out = "1.2.0"; + } + { + cases = [ + (range "8.10" "8.20") + (isLt "2.0.0") + ]; + out = "1.1.3"; + } + ] + null; propagatedBuildInputs = [ mathcomp.ssreflect ]; diff --git a/pkgs/development/coq-modules/relation-algebra/default.nix b/pkgs/development/coq-modules/relation-algebra/default.nix index 35c26573a82db..571360d9926f4 100644 --- a/pkgs/development/coq-modules/relation-algebra/default.nix +++ b/pkgs/development/coq-modules/relation-algebra/default.nix @@ -1,13 +1,17 @@ -{ lib, mkCoqDerivation, coq, aac-tactics, mathcomp, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + aac-tactics, + mathcomp, + version ? null, +}: mkCoqDerivation { pname = "relation-algebra"; owner = "damien-pous"; - releaseRev = v: - if lib.versions.range "1.7.6" "1.7.9" v - then "v.${v}" - else "v${v}"; + releaseRev = v: if lib.versions.range "1.7.6" "1.7.9" v then "v.${v}" else "v${v}"; release."1.7.11".sha256 = "sha256-ZOV0lUdduSabW9Qsz70clkO7QK/NK2STaHqBWcXb7nI="; release."1.7.10".sha256 = "sha256-h738L+dybhmWZwTSLJrhv+sB+cIbj0+62Zcy9BH5sVo="; @@ -22,23 +26,61 @@ mkCoqDerivation { release."1.7.1".sha256 = "sha256-WWVMcR6z8rT4wzZPb8SlaVWGe7NC8gScPqawd7bltQA="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = isEq "8.20"; out = "1.7.11"; } - { case = range "8.18" "8.19"; out = "1.7.10"; } - { case = isEq "8.17"; out = "1.7.9"; } - { case = isEq "8.16"; out = "1.7.8"; } - { case = isEq "8.15"; out = "1.7.7"; } - { case = isEq "8.14"; out = "1.7.6"; } - { case = isEq "8.13"; out = "1.7.5"; } - { case = isEq "8.12"; out = "1.7.4"; } - { case = isEq "8.11"; out = "1.7.3"; } - { case = isEq "8.10"; out = "1.7.2"; } - { case = isEq "8.9"; out = "1.7.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = isEq "8.20"; + out = "1.7.11"; + } + { + case = range "8.18" "8.19"; + out = "1.7.10"; + } + { + case = isEq "8.17"; + out = "1.7.9"; + } + { + case = isEq "8.16"; + out = "1.7.8"; + } + { + case = isEq "8.15"; + out = "1.7.7"; + } + { + case = isEq "8.14"; + out = "1.7.6"; + } + { + case = isEq "8.13"; + out = "1.7.5"; + } + { + case = isEq "8.12"; + out = "1.7.4"; + } + { + case = isEq "8.11"; + out = "1.7.3"; + } + { + case = isEq "8.10"; + out = "1.7.2"; + } + { + case = isEq "8.9"; + out = "1.7.1"; + } + ] null; mlPlugin = true; - propagatedBuildInputs = [ aac-tactics mathcomp.ssreflect ]; + propagatedBuildInputs = [ + aac-tactics + mathcomp.ssreflect + ]; meta = with lib; { description = "Relation algebra library for Coq"; diff --git a/pkgs/development/coq-modules/rewriter/default.nix b/pkgs/development/coq-modules/rewriter/default.nix index f5b425cd48113..15644c4dcee05 100644 --- a/pkgs/development/coq-modules/rewriter/default.nix +++ b/pkgs/development/coq-modules/rewriter/default.nix @@ -1,15 +1,26 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "rewriter"; owner = "mit-plv"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.17" "8.19"; out = "0.0.11"; } + { + case = range "8.17" "8.19"; + out = "0.0.11"; + } ] null; release = { - "0.0.11".sha256 = "sha256-aYoO08nwItlOoE5BnKRGib2Zk4Fz4Ni/L4QaqkObPow="; + "0.0.11".sha256 = "sha256-aYoO08nwItlOoE5BnKRGib2Zk4Fz4Ni/L4QaqkObPow="; }; releaseRev = v: "v${v}"; diff --git a/pkgs/development/coq-modules/semantics/default.nix b/pkgs/development/coq-modules/semantics/default.nix index 18e9171096d7b..25e7645fb7c88 100644 --- a/pkgs/development/coq-modules/semantics/default.nix +++ b/pkgs/development/coq-modules/semantics/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation rec { pname = "semantics"; @@ -14,13 +19,30 @@ mkCoqDerivation rec { release."8.6.0".sha256 = "sha256-GltkGQ3tJqUPAbdDkqqvKLLhMOap50XvGaCkjshiNdY="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.10" "8.18"; out = "8.14.0"; } - { case = "8.9"; out = "8.9.0"; } - { case = "8.8"; out = "8.8.0"; } - { case = "8.7"; out = "8.7.0"; } - { case = "8.6"; out = "8.6.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.10" "8.18"; + out = "8.14.0"; + } + { + case = "8.9"; + out = "8.9.0"; + } + { + case = "8.8"; + out = "8.8.0"; + } + { + case = "8.7"; + out = "8.7.0"; + } + { + case = "8.6"; + out = "8.6.0"; + } + ] null; mlPlugin = true; nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]); diff --git a/pkgs/development/coq-modules/serapi/default.nix b/pkgs/development/coq-modules/serapi/default.nix index 3b7cc6c73032c..757f8d325ed0a 100644 --- a/pkgs/development/coq-modules/serapi/default.nix +++ b/pkgs/development/coq-modules/serapi/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchzip, mkCoqDerivation, coq, coq-lsp, version ? null }: +{ + lib, + fetchzip, + mkCoqDerivation, + coq, + coq-lsp, + version ? null, +}: let release = { @@ -12,7 +19,7 @@ let "8.13.0+0.13.0".sha256 = "0k69907xn4k61w4mkhwf8kh8drw9pijk9ynijsppihw98j8w38fy"; "8.12.0+0.12.1".sha256 = "048x3sgcq4h845hi6hm4j4dsfca8zfj70dm42w68n63qcm6xf9hn"; "8.11.0+0.11.1".sha256 = "1phmh99yqv71vlwklqgfxiq2vj99zrzxmryj2j4qvg5vav3y3y6c"; - "8.10.0+0.7.2".sha256 = "1ljzm63hpd0ksvkyxcbh8rdf7p90vg91gb4h0zz0941v1zh40k8c"; + "8.10.0+0.7.2".sha256 = "1ljzm63hpd0ksvkyxcbh8rdf7p90vg91gb4h0zz0941v1zh40k8c"; }; in @@ -23,29 +30,61 @@ in inherit version release; defaultVersion = lib.switch coq.version [ - { case = lib.versions.isEq "8.20"; out = "8.20.0+0.20.0"; } - { case = lib.versions.isEq "8.19"; out = "8.19.0+0.19.3"; } - { case = lib.versions.isEq "8.18"; out = "8.18.0+0.18.3"; } - { case = lib.versions.isEq "8.17"; out = "8.17.0+0.17.3"; } - { case = lib.versions.isEq "8.16"; out = "8.16.0+0.16.3"; } - { case = lib.versions.isEq "8.15"; out = "8.15.0+0.15.0"; } - { case = lib.versions.isEq "8.14"; out = "8.14.0+0.14.0"; } - { case = lib.versions.isEq "8.13"; out = "8.13.0+0.13.0"; } - { case = lib.versions.isEq "8.12"; out = "8.12.0+0.12.1"; } - { case = lib.versions.isEq "8.11"; out = "8.11.0+0.11.1"; } - { case = lib.versions.isEq "8.10"; out = "8.10.0+0.7.2"; } - ] null; + { + case = lib.versions.isEq "8.20"; + out = "8.20.0+0.20.0"; + } + { + case = lib.versions.isEq "8.19"; + out = "8.19.0+0.19.3"; + } + { + case = lib.versions.isEq "8.18"; + out = "8.18.0+0.18.3"; + } + { + case = lib.versions.isEq "8.17"; + out = "8.17.0+0.17.3"; + } + { + case = lib.versions.isEq "8.16"; + out = "8.16.0+0.16.3"; + } + { + case = lib.versions.isEq "8.15"; + out = "8.15.0+0.15.0"; + } + { + case = lib.versions.isEq "8.14"; + out = "8.14.0+0.14.0"; + } + { + case = lib.versions.isEq "8.13"; + out = "8.13.0+0.13.0"; + } + { + case = lib.versions.isEq "8.12"; + out = "8.12.0+0.12.1"; + } + { + case = lib.versions.isEq "8.11"; + out = "8.11.0+0.11.1"; + } + { + case = lib.versions.isEq "8.10"; + out = "8.10.0+0.7.2"; + } + ] null; useDune = true; - propagatedBuildInputs = - with coq.ocamlPackages; [ - cmdliner - findlib # run time dependency of SerAPI - ppx_sexp_conv - ppx_hash - sexplib - ]; + propagatedBuildInputs = with coq.ocamlPackages; [ + cmdliner + findlib # run time dependency of SerAPI + ppx_sexp_conv + ppx_hash + sexplib + ]; installPhase = '' runHook preInstall @@ -57,54 +96,67 @@ in homepage = "https://github.com/ejgallego/coq-serapi"; description = "SerAPI is a library for machine-to-machine interaction with the Coq proof assistant"; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ alizter Zimmi48 ]; - }; -}).overrideAttrs(o: -if lib.versions.isLe "8.19.0+0.19.3" o.version && o.version != "dev" then - let ppx_deriving = coq.ocamlPackages.ppx_deriving.override { version = "5.2.1"; }; in - let inherit (o) version; in { - src = fetchzip { - url = - "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${ - if version == "8.11.0+0.11.1" then version - else builtins.replaceStrings [ "+" ] [ "." ] version - }.tbz"; - sha256 = release."${version}".sha256; + maintainers = with maintainers; [ + alizter + Zimmi48 + ]; }; +}).overrideAttrs + ( + o: + if lib.versions.isLe "8.19.0+0.19.3" o.version && o.version != "dev" then + let + ppx_deriving = coq.ocamlPackages.ppx_deriving.override { version = "5.2.1"; }; + in + let + inherit (o) version; + in + { + src = fetchzip { + url = "https://github.com/ejgallego/coq-serapi/releases/download/${version}/coq-serapi-${ + if version == "8.11.0+0.11.1" then version else builtins.replaceStrings [ "+" ] [ "." ] version + }.tbz"; + sha256 = release."${version}".sha256; + }; - patches = lib.optional (lib.versions.isGe "8.16" version) ./sertop.patch ++ ( - if version == "8.10.0+0.7.2" - then [ - ./8.10.0+0.7.2.patch - ] - else if version == "8.11.0+0.11.1" - then [ - ./8.11.0+0.11.1.patch - ] - else if version == "8.12.0+0.12.1" || version == "8.13.0+0.13.0" - then [ - ./8.12.0+0.12.1.patch - ] - else if version == "8.14.0+0.14.0" || version == "8.15.0+0.15.0" - then [ - ./janestreet-0.15.patch - ] - else if version == "8.16.0+0.16.3" || version == "8.17.0+0.17.0" - then [ - ./janestreet-0.16.patch - ] - else [ - ]); + patches = + lib.optional (lib.versions.isGe "8.16" version) ./sertop.patch + ++ ( + if version == "8.10.0+0.7.2" then + [ + ./8.10.0+0.7.2.patch + ] + else if version == "8.11.0+0.11.1" then + [ + ./8.11.0+0.11.1.patch + ] + else if version == "8.12.0+0.12.1" || version == "8.13.0+0.13.0" then + [ + ./8.12.0+0.12.1.patch + ] + else if version == "8.14.0+0.14.0" || version == "8.15.0+0.15.0" then + [ + ./janestreet-0.15.patch + ] + else if version == "8.16.0+0.16.3" || version == "8.17.0+0.17.0" then + [ + ./janestreet-0.16.patch + ] + else + [ + ] + ); - propagatedBuildInputs = o.propagatedBuildInputs - ++ (with coq.ocamlPackages; [ - ppx_deriving - (ppx_deriving_yojson.override { inherit ppx_deriving; }) - (ppx_import.override { inherit ppx_deriving; }) - yojson - zarith # zarith needed because of Coq - ]) - ; } -else - { propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq-lsp ]; } -) + propagatedBuildInputs = + o.propagatedBuildInputs + ++ (with coq.ocamlPackages; [ + ppx_deriving + (ppx_deriving_yojson.override { inherit ppx_deriving; }) + (ppx_import.override { inherit ppx_deriving; }) + yojson + zarith # zarith needed because of Coq + ]); + } + else + { propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq-lsp ]; } + ) diff --git a/pkgs/development/coq-modules/simple-io/default.nix b/pkgs/development/coq-modules/simple-io/default.nix index 1c96922b2efd1..6345818db5d07 100644 --- a/pkgs/development/coq-modules/simple-io/default.nix +++ b/pkgs/development/coq-modules/simple-io/default.nix @@ -1,36 +1,63 @@ -{ lib, callPackage, mkCoqDerivation, coq, ExtLib, version ? null }: +{ + lib, + callPackage, + mkCoqDerivation, + coq, + ExtLib, + version ? null, +}: (mkCoqDerivation { pname = "simple-io"; owner = "Lysxia"; repo = "coq-simple-io"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.17" "8.20"; out = "1.10.0"; } - { case = range "8.11" "8.19"; out = "1.8.0"; } - { case = range "8.7" "8.13"; out = "1.3.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.17" "8.20"; + out = "1.10.0"; + } + { + case = range "8.11" "8.19"; + out = "1.8.0"; + } + { + case = range "8.7" "8.13"; + out = "1.3.0"; + } + ] null; release."1.10.0".sha256 = "sha256-67cBhLvRMWLWBL7NXK1zZTQC4PtSKu9qtesU4SqKkOw="; release."1.8.0".sha256 = "sha256-3ADNeXrBIpYRlfUW+LkLHUWV1w1HFrVc/TZISMuwvRY="; release."1.7.0".sha256 = "sha256:1a1q9x2abx71hqvjdai3n12jxzd49mhf3nqqh3ya2ssl2lj609ci"; release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax"; mlPlugin = true; nativeBuildInputs = [ coq.ocamlPackages.cppo ]; - propagatedBuildInputs = [ ExtLib ] - ++ (with coq.ocamlPackages; [ ocaml findlib ocamlbuild ]); + propagatedBuildInputs = + [ ExtLib ] + ++ (with coq.ocamlPackages; [ + ocaml + findlib + ocamlbuild + ]); doCheck = true; checkTarget = "test"; useDuneifVersion = v: (lib.versionAtLeast v "1.10.0" || v == "dev"); - passthru.tests.HelloWorld = callPackage ./test.nix {}; + passthru.tests.HelloWorld = callPackage ./test.nix { }; meta = with lib; { description = "Purely functional IO for Coq"; license = licenses.mit; maintainers = [ maintainers.vbgl ]; }; -}).overrideAttrs (o: lib.optionalAttrs (lib.versionAtLeast o.version "1.8.0" || o.version == "dev") { - doCheck = false; -}) +}).overrideAttrs + ( + o: + lib.optionalAttrs (lib.versionAtLeast o.version "1.8.0" || o.version == "dev") { + doCheck = false; + } + ) diff --git a/pkgs/development/coq-modules/simple-io/test.nix b/pkgs/development/coq-modules/simple-io/test.nix index cd8a29b3f1f77..eabdfaa01bc83 100644 --- a/pkgs/development/coq-modules/simple-io/test.nix +++ b/pkgs/development/coq-modules/simple-io/test.nix @@ -1,9 +1,16 @@ -{ stdenv, coq, simple-io }: +{ + stdenv, + coq, + simple-io, +}: stdenv.mkDerivation { pname = "coq-simple-io-test"; inherit (simple-io) src version; - nativeCheckInputs = [ coq simple-io ]; + nativeCheckInputs = [ + coq + simple-io + ]; dontConfigure = true; dontBuild = true; doCheck = true; diff --git a/pkgs/development/coq-modules/smpl/default.nix b/pkgs/development/coq-modules/smpl/default.nix index 147c04e0c3f33..920ea748b2f10 100644 --- a/pkgs/development/coq-modules/smpl/default.nix +++ b/pkgs/development/coq-modules/smpl/default.nix @@ -1,4 +1,9 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "smpl"; @@ -12,13 +17,30 @@ mkCoqDerivation { releaseRev = v: "v${v}"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = isEq "8.15"; out = "8.15"; } - { case = isEq "8.14"; out = "8.14"; } - { case = "8.13.2"; out = "8.13"; } - { case = "8.12.2"; out = "8.12"; } - { case = "8.10.2"; out = "8.10.2"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = isEq "8.15"; + out = "8.15"; + } + { + case = isEq "8.14"; + out = "8.14"; + } + { + case = "8.13.2"; + out = "8.13"; + } + { + case = "8.12.2"; + out = "8.12"; + } + { + case = "8.10.2"; + out = "8.10.2"; + } + ] null; mlPlugin = true; diff --git a/pkgs/development/coq-modules/smtcoq/default.nix b/pkgs/development/coq-modules/smtcoq/default.nix index e8c9442540919..050a0bc1984be 100644 --- a/pkgs/development/coq-modules/smtcoq/default.nix +++ b/pkgs/development/coq-modules/smtcoq/default.nix @@ -1,4 +1,14 @@ -{ lib, pkgs, mkCoqDerivation, coq, veriT, zchaff, fetchurl, cvc5, version ? null }: +{ + lib, + pkgs, + mkCoqDerivation, + coq, + veriT, + zchaff, + fetchurl, + cvc5, + version ? null, +}: let # version of veriT that works with SMTCoq @@ -22,27 +32,60 @@ mkCoqDerivation { release."SMTCoq-2.2+8.15".sha256 = "sha256-+GYOasJ32KJyOfqJlTtFmsJ2exd6gdueKwHdeMPErTo="; release."SMTCoq-2.2+8.14".sha256 = "sha256-jqnF33E/4CqR1HSrLmUmLVCKslw9h3bbWi4YFmFYrhY="; release."SMTCoq-2.2+8.13".sha256 = "sha256-AVpKU/SLaLYnCnx6GOEPGJjwbRrp28Fs5O50kJqdclI="; - release."SMTCoq-2.1+8.16".rev = "4996c00b455bfe98400e96c954839ceea93efdf7"; + release."SMTCoq-2.1+8.16".rev = "4996c00b455bfe98400e96c954839ceea93efdf7"; release."SMTCoq-2.1+8.16".sha256 = "sha256-k53e+frUjwq+ZZKbbOKd/EfVC40QeAzB2nCsGkCKnHA="; - release."SMTCoq-2.1+8.14".rev = "e11d9b424b0113f32265bcef0ddc962361da4dae"; + release."SMTCoq-2.1+8.14".rev = "e11d9b424b0113f32265bcef0ddc962361da4dae"; release."SMTCoq-2.1+8.14".sha256 = "sha256-4a01/CRHUon2OfpagAnMaEVkBFipPX3MCVmSFS1Bnt4="; - release."SMTCoq-2.1+8.13".rev = "d02269c43739f4559d83873563ca00daad9faaf1"; + release."SMTCoq-2.1+8.13".rev = "d02269c43739f4559d83873563ca00daad9faaf1"; release."SMTCoq-2.1+8.13".sha256 = "sha256-VZetGghdr5uJWDwZWSlhYScoNEoRHIbwqwJKSQyfKKg="; releaseRev = v: v; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = isEq "8.19"; out = "SMTCoq-2.2+8.19"; } - { case = isEq "8.18"; out = "SMTCoq-2.2+8.18"; } - { case = isEq "8.17"; out = "SMTCoq-2.2+8.17"; } - { case = isEq "8.16"; out = "SMTCoq-2.2+8.16"; } - { case = isEq "8.15"; out = "SMTCoq-2.2+8.15"; } - { case = isEq "8.14"; out = "SMTCoq-2.2+8.14"; } - { case = isEq "8.13"; out = "SMTCoq-2.2+8.13"; } - ] null; - - propagatedBuildInputs = [ cvc5 veriT' zchaff ] ++ (with coq.ocamlPackages; [ findlib num zarith ]); + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = isEq "8.19"; + out = "SMTCoq-2.2+8.19"; + } + { + case = isEq "8.18"; + out = "SMTCoq-2.2+8.18"; + } + { + case = isEq "8.17"; + out = "SMTCoq-2.2+8.17"; + } + { + case = isEq "8.16"; + out = "SMTCoq-2.2+8.16"; + } + { + case = isEq "8.15"; + out = "SMTCoq-2.2+8.15"; + } + { + case = isEq "8.14"; + out = "SMTCoq-2.2+8.14"; + } + { + case = isEq "8.13"; + out = "SMTCoq-2.2+8.13"; + } + ] null; + + propagatedBuildInputs = + [ + cvc5 + veriT' + zchaff + ] + ++ (with coq.ocamlPackages; [ + findlib + num + zarith + ]); mlPlugin = true; nativeBuildInputs = (with pkgs; [ gnumake42 ]) ++ (with coq.ocamlPackages; [ ocamlbuild ]); diff --git a/pkgs/development/coq-modules/ssprove/default.nix b/pkgs/development/coq-modules/ssprove/default.nix index 08f4400b98c22..c0e5b0bf8c579 100644 --- a/pkgs/development/coq-modules/ssprove/default.nix +++ b/pkgs/development/coq-modules/ssprove/default.nix @@ -1,10 +1,14 @@ -{ lib, mkCoqDerivation, coq, version ? null -, equations -, mathcomp-ssreflect -, mathcomp-analysis -, mathcomp-experimental-reals -, extructures -, deriving +{ + lib, + mkCoqDerivation, + coq, + version ? null, + equations, + mathcomp-ssreflect, + mathcomp-analysis, + mathcomp-experimental-reals, + extructures, + deriving, }: (mkCoqDerivation { @@ -12,17 +16,34 @@ owner = "SSProve"; inherit version; - defaultVersion = with lib.versions; lib.switch [coq.coq-version mathcomp-ssreflect.version] [ - { cases = [(range "8.18" "8.20") (range "2.1.0" "2.2.0")]; out = "0.2.2"; } - # This is the original dependency: - # { cases = ["8.17" "1.18.0"]; out = "0.1.0"; } - # But it is not loadable. The math-comp nixpkgs configuration - # will always only output version 1.18.0 for Coq 8.17. - # Hence, the Coq 8.17 and math-comp 1.17.0 must be explicitly set - # to load it. - # (This version is not on the math-comp CI and hence not checked.) - { cases = ["8.17" "1.17.0"]; out = "0.1.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.coq-version mathcomp-ssreflect.version ] + [ + { + cases = [ + (range "8.18" "8.20") + (range "2.1.0" "2.2.0") + ]; + out = "0.2.2"; + } + # This is the original dependency: + # { cases = ["8.17" "1.18.0"]; out = "0.1.0"; } + # But it is not loadable. The math-comp nixpkgs configuration + # will always only output version 1.18.0 for Coq 8.17. + # Hence, the Coq 8.17 and math-comp 1.17.0 must be explicitly set + # to load it. + # (This version is not on the math-comp CI and hence not checked.) + { + cases = [ + "8.17" + "1.17.0" + ]; + out = "0.1.0"; + } + ] + null; releaseRev = v: "v${v}"; @@ -31,22 +52,26 @@ release."0.2.0".sha256 = "sha256-GDkWH0LUsW165vAUoYC5of9ndr0MbfBtmrPhsJVXi3o="; release."0.1.0".sha256 = "sha256-Yj+k+mBsudi3d6bRVlZLyM4UqQnzAX5tHvxtKoIuNTE="; - propagatedBuildInputs = [equations - mathcomp-ssreflect - mathcomp-analysis - mathcomp-experimental-reals - extructures - deriving]; + propagatedBuildInputs = [ + equations + mathcomp-ssreflect + mathcomp-analysis + mathcomp-experimental-reals + extructures + deriving + ]; meta = with lib; { description = "SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq"; license = licenses.mit; - maintainers = [ { - name = "Sebastian Ertel"; - email = "sebastian.ertel@gmail.com"; - github = "sertel"; - githubId = 3703100; - } ]; + maintainers = [ + { + name = "Sebastian Ertel"; + email = "sebastian.ertel@gmail.com"; + github = "sertel"; + githubId = 3703100; + } + ]; }; }) diff --git a/pkgs/development/coq-modules/stalmarck/default.nix b/pkgs/development/coq-modules/stalmarck/default.nix index 88ea437937268..70863c9633591 100644 --- a/pkgs/development/coq-modules/stalmarck/default.nix +++ b/pkgs/development/coq-modules/stalmarck/default.nix @@ -1,35 +1,60 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: let repo = "stalmarck"; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = isEq "8.20"; out = "8.20.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = isEq "8.20"; + out = "8.20.0"; + } + ] null; release = { "8.20.0".sha256 = "sha256-jITxQT1jLyZvWCGPnmK8i3IrwsZwMPOV0aBe9r22TIQ="; }; releaseRev = v: "v${v}"; - packages = [ "stalmarck" "stalmarck-tactic" ]; + packages = [ + "stalmarck" + "stalmarck-tactic" + ]; - stalmarck_ = package: let - pname = package; - istac = package == "stalmarck-tactic"; - propagatedBuildInputs = - lib.optional istac (stalmarck_ "stalmarck"); - description = - if istac then - "Coq tactic and verified tool for proving tautologies using Stålmarck's algorithm" - else - "A two-level approach to prove tautologies using Stålmarck's algorithm in Coq."; - in mkCoqDerivation { - inherit version pname defaultVersion release releaseRev repo - propagatedBuildInputs; + stalmarck_ = + package: + let + pname = package; + istac = package == "stalmarck-tactic"; + propagatedBuildInputs = lib.optional istac (stalmarck_ "stalmarck"); + description = + if istac then + "Coq tactic and verified tool for proving tautologies using Stålmarck's algorithm" + else + "A two-level approach to prove tautologies using Stålmarck's algorithm in Coq."; + in + mkCoqDerivation { + inherit + version + pname + defaultVersion + release + releaseRev + repo + propagatedBuildInputs + ; mlPlugin = istac; useDune = istac; - meta = { inherit description; license = lib.licenses.lgpl21Plus; }; + meta = { + inherit description; + license = lib.licenses.lgpl21Plus; + }; passthru = lib.genAttrs packages stalmarck_; }; diff --git a/pkgs/development/coq-modules/stdpp/default.nix b/pkgs/development/coq-modules/stdpp/default.nix index 509aac763b165..930d5ae87fe19 100644 --- a/pkgs/development/coq-modules/stdpp/default.nix +++ b/pkgs/development/coq-modules/stdpp/default.nix @@ -1,19 +1,47 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation rec { pname = "stdpp"; inherit version; domain = "gitlab.mpi-sws.org"; owner = "iris"; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.19" "8.20"; out = "1.11.0"; } - { case = range "8.18" "8.19"; out = "1.10.0"; } - { case = range "8.16" "8.18"; out = "1.9.0"; } - { case = range "8.13" "8.17"; out = "1.8.0"; } - { case = range "8.12" "8.14"; out = "1.6.0"; } - { case = range "8.11" "8.13"; out = "1.5.0"; } - { case = range "8.8" "8.10"; out = "1.4.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.19" "8.20"; + out = "1.11.0"; + } + { + case = range "8.18" "8.19"; + out = "1.10.0"; + } + { + case = range "8.16" "8.18"; + out = "1.9.0"; + } + { + case = range "8.13" "8.17"; + out = "1.8.0"; + } + { + case = range "8.12" "8.14"; + out = "1.6.0"; + } + { + case = range "8.11" "8.13"; + out = "1.5.0"; + } + { + case = range "8.8" "8.10"; + out = "1.4.0"; + } + ] null; release."1.11.0".sha256 = "sha256-yqnkaA5gUdZBJZ3JnvPYh11vKQRl0BAnior1yGowG7k="; release."1.10.0".sha256 = "sha256-bfynevIKxAltvt76lsqVxBmifFkzEhyX8lRgTKxr21I="; release."1.9.0".sha256 = "sha256-OXeB+XhdyzWMp5Karsz8obp0rTeMKrtG7fu/tmc9aeI="; @@ -33,6 +61,9 @@ mkCoqDerivation rec { meta = with lib; { description = "Extended “Standard Library” for Coq"; license = licenses.bsd3; - maintainers = [ maintainers.vbgl maintainers.ineol ]; + maintainers = [ + maintainers.vbgl + maintainers.ineol + ]; }; } diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix index 39e940a0b5f86..ffc71f93a6062 100644 --- a/pkgs/development/coq-modules/tlc/default.nix +++ b/pkgs/development/coq-modules/tlc/default.nix @@ -1,16 +1,37 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: (mkCoqDerivation { pname = "tlc"; owner = "charguer"; inherit version; - displayVersion = { tlc = false; }; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.13" "8.16"; out = "20211215"; } - { case = range "8.12" "8.13"; out = "20210316"; } - { case = range "8.10" "8.12"; out = "20200328"; } - { case = range "8.6" "8.12"; out = "20181116"; } - ] null; + displayVersion = { + tlc = false; + }; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.13" "8.16"; + out = "20211215"; + } + { + case = range "8.12" "8.13"; + out = "20210316"; + } + { + case = range "8.10" "8.12"; + out = "20200328"; + } + { + case = range "8.6" "8.12"; + out = "20181116"; + } + ] null; release."20211215".sha256 = "sha256:0m4d4jhdcyq8p2gpz9j3nd6jqzmz2bjmbpc0q06b38b8i550mamp"; release."20210316".sha256 = "1hlavnx20lxpf2iydbbxqmim9p8wdwv4phzp9ypij93yivih0g4a"; release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx"; @@ -22,8 +43,10 @@ license = licenses.free; maintainers = [ maintainers.vbgl ]; }; -}).overrideAttrs (x: - lib.optionalAttrs (lib.versionOlder x.version "20210316" && x.version != "dev") { - installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ]; - } -) +}).overrideAttrs + ( + x: + lib.optionalAttrs (lib.versionOlder x.version "20210316" && x.version != "dev") { + installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ]; + } + ) diff --git a/pkgs/development/coq-modules/topology/default.nix b/pkgs/development/coq-modules/topology/default.nix index d50c83f0745eb..fb0a321e0f9e9 100644 --- a/pkgs/development/coq-modules/topology/default.nix +++ b/pkgs/development/coq-modules/topology/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, zorns-lemma, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + zorns-lemma, + version ? null, +}: mkCoqDerivation rec { pname = "topology"; @@ -15,14 +21,34 @@ mkCoqDerivation rec { release."8.6.0".sha256 = "sha256-eu/dBEFo3y6vnXlJljUD4hds6+qgAPQVvsuspyGHcj8="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.12" "8.18"; out = "10.2.0"; } - { case = range "8.10" "8.16"; out = "9.0.0"; } - { case = "8.9"; out = "8.9.0"; } - { case = "8.8"; out = "8.8.0"; } - { case = "8.7"; out = "8.7.0"; } - { case = "8.6"; out = "8.6.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.12" "8.18"; + out = "10.2.0"; + } + { + case = range "8.10" "8.16"; + out = "9.0.0"; + } + { + case = "8.9"; + out = "8.9.0"; + } + { + case = "8.8"; + out = "8.8.0"; + } + { + case = "8.7"; + out = "8.7.0"; + } + { + case = "8.6"; + out = "8.6.0"; + } + ] null; propagatedBuildInputs = [ zorns-lemma ]; diff --git a/pkgs/development/coq-modules/trakt/default.nix b/pkgs/development/coq-modules/trakt/default.nix index e762a51880b24..544ca1e8111b4 100644 --- a/pkgs/development/coq-modules/trakt/default.nix +++ b/pkgs/development/coq-modules/trakt/default.nix @@ -1,4 +1,10 @@ -{ lib, mkCoqDerivation, coq, coq-elpi, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + coq-elpi, + version ? null, +}: mkCoqDerivation { pname = "trakt"; @@ -10,11 +16,25 @@ mkCoqDerivation { release."1.2+8.13".sha256 = "sha256-hozms4sPSMr4lFkJ20x+uW9Wqt067bifnPQxdGyKhQQ="; inherit version; - defaultVersion = with lib.versions; lib.switch [ coq.version ] [ - { cases = [ (range "8.15" "8.17") ]; out = "1.2"; } - { cases = [ (isEq "8.13") ]; out = "1.2+8.13"; } - { cases = [ (range "8.13" "8.17") ]; out = "1.1"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch + [ coq.version ] + [ + { + cases = [ (range "8.15" "8.17") ]; + out = "1.2"; + } + { + cases = [ (isEq "8.13") ]; + out = "1.2+8.13"; + } + { + cases = [ (range "8.13" "8.17") ]; + out = "1.1"; + } + ] + null; propagatedBuildInputs = [ coq-elpi ]; diff --git a/pkgs/development/coq-modules/unicoq/default.nix b/pkgs/development/coq-modules/unicoq/default.nix index c3167e4a9d7d4..86a0567e3a913 100644 --- a/pkgs/development/coq-modules/unicoq/default.nix +++ b/pkgs/development/coq-modules/unicoq/default.nix @@ -1,12 +1,22 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "unicoq"; owner = "unicoq"; inherit version; - defaultVersion = with lib.versions; lib.switch coq.version [ - { case = range "8.19" "8.19"; out = "1.6-${coq.coq-version}"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.version [ + { + case = range "8.19" "8.19"; + out = "1.6-${coq.coq-version}"; + } + ] null; release."1.6-8.19".sha256 = "sha256-fDk60B8AzJwiemxHGgWjNu6PTu6NcJoI9uK7Ww2AT14="; releaseRev = v: "v${v}"; mlPlugin = true; diff --git a/pkgs/development/coq-modules/vcfloat/default.nix b/pkgs/development/coq-modules/vcfloat/default.nix index cb1fa248fdc3d..7e9aca3ea7d91 100644 --- a/pkgs/development/coq-modules/vcfloat/default.nix +++ b/pkgs/development/coq-modules/vcfloat/default.nix @@ -1,27 +1,51 @@ -{ lib, mkCoqDerivation, coq, interval, compcert, flocq, bignums, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + interval, + compcert, + flocq, + bignums, + version ? null, +}: -let self = mkCoqDerivation { - pname = "vcfloat"; - owner = "VeriNum"; - inherit version; - sourceRoot = "${self.src.name}/vcfloat"; - postPatch = '' - coq_makefile -o Makefile -f _CoqProject *.v - ''; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = isEq "8.19"; out = "2.2"; } - { case = range "8.16" "8.18"; out = "2.1.1"; } - ] null; - release."2.2".sha256 = "sha256-PyMm84ZYh+dOnl8Kk2wlYsQ+S/d1Hsp6uv2twTedEPg="; - release."2.1.1".sha256 = "sha256-bd/XSQhyFUAnSm2bhZEZBWB6l4/Ptlm9JrWu6w9BOpw="; - releaseRev = v: "v${v}"; +let + self = mkCoqDerivation { + pname = "vcfloat"; + owner = "VeriNum"; + inherit version; + sourceRoot = "${self.src.name}/vcfloat"; + postPatch = '' + coq_makefile -o Makefile -f _CoqProject *.v + ''; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = isEq "8.19"; + out = "2.2"; + } + { + case = range "8.16" "8.18"; + out = "2.1.1"; + } + ] null; + release."2.2".sha256 = "sha256-PyMm84ZYh+dOnl8Kk2wlYsQ+S/d1Hsp6uv2twTedEPg="; + release."2.1.1".sha256 = "sha256-bd/XSQhyFUAnSm2bhZEZBWB6l4/Ptlm9JrWu6w9BOpw="; + releaseRev = v: "v${v}"; - propagatedBuildInputs = [ interval compcert flocq bignums ]; + propagatedBuildInputs = [ + interval + compcert + flocq + bignums + ]; - meta = { - description = "Tool for Coq proofs about floating-point round-off error"; - maintainers = with lib.maintainers; [ quinn-dougherty ]; - license = lib.licenses.lgpl3Plus; + meta = { + description = "Tool for Coq proofs about floating-point round-off error"; + maintainers = with lib.maintainers; [ quinn-dougherty ]; + license = lib.licenses.lgpl3Plus; + }; }; -}; -in self +in +self diff --git a/pkgs/development/coq-modules/waterproof/default.nix b/pkgs/development/coq-modules/waterproof/default.nix index 7d9431c25c286..61612f3cb1059 100644 --- a/pkgs/development/coq-modules/waterproof/default.nix +++ b/pkgs/development/coq-modules/waterproof/default.nix @@ -1,16 +1,27 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: mkCoqDerivation { pname = "waterproof"; owner = "impermeable"; repo = "coq-waterproof"; inherit version; - defaultVersion = let inherit (lib.versions) range; in + defaultVersion = + let + inherit (lib.versions) range; + in lib.switch coq.coq-version [ - { case = range "8.18" "8.18"; out = "2.1.1+8.18"; } + { + case = range "8.18" "8.18"; + out = "2.1.1+8.18"; + } ] null; release = { - "2.1.1+8.18".sha256 = "sha256-jYuQ9SPFRefNCUfn6+jEaJ4399EnU0gXPPkEDCpJYOI="; + "2.1.1+8.18".sha256 = "sha256-jYuQ9SPFRefNCUfn6+jEaJ4399EnU0gXPPkEDCpJYOI="; }; mlPlugin = true; diff --git a/pkgs/development/coq-modules/zorns-lemma/default.nix b/pkgs/development/coq-modules/zorns-lemma/default.nix index 438f4f9fa933b..37870d29d18a1 100644 --- a/pkgs/development/coq-modules/zorns-lemma/default.nix +++ b/pkgs/development/coq-modules/zorns-lemma/default.nix @@ -1,8 +1,13 @@ -{ lib, mkCoqDerivation, coq, version ? null }: +{ + lib, + mkCoqDerivation, + coq, + version ? null, +}: (mkCoqDerivation { pname = "zorns-lemma"; - repo = "topology"; + repo = "topology"; releaseRev = v: "v${v}"; @@ -17,15 +22,38 @@ release."8.5.0".sha256 = "sha256-mH/v02ObMjbVPYx2H+Jhz+Xp0XRKN67iMAdA1VNFzso="; inherit version; - defaultVersion = with lib.versions; lib.switch coq.coq-version [ - { case = range "8.12" "8.20"; out = "10.2.0"; } - { case = range "8.10" "8.16"; out = "9.0.0"; } - { case = "8.9"; out = "8.9.0"; } - { case = "8.8"; out = "8.8.0"; } - { case = "8.7"; out = "8.7.0"; } - { case = "8.6"; out = "8.6.0"; } - { case = "8.5"; out = "8.5.0"; } - ] null; + defaultVersion = + with lib.versions; + lib.switch coq.coq-version [ + { + case = range "8.12" "8.20"; + out = "10.2.0"; + } + { + case = range "8.10" "8.16"; + out = "9.0.0"; + } + { + case = "8.9"; + out = "8.9.0"; + } + { + case = "8.8"; + out = "8.8.0"; + } + { + case = "8.7"; + out = "8.7.0"; + } + { + case = "8.6"; + out = "8.6.0"; + } + { + case = "8.5"; + out = "8.5.0"; + } + ] null; useDuneifVersion = lib.versions.isGe "9.0"; @@ -39,4 +67,5 @@ maintainers = with maintainers; [ siraben ]; license = licenses.lgpl21Plus; }; -}).overrideAttrs({version, ...}: lib.optionalAttrs (lib.versions.isGe "9.0" version) { repo = "topology"; }) +}).overrideAttrs + ({ version, ... }: lib.optionalAttrs (lib.versions.isGe "9.0" version) { repo = "topology"; }) diff --git a/pkgs/development/cuda-modules/cudatoolkit/default.nix b/pkgs/development/cuda-modules/cudatoolkit/default.nix index 71a7451746005..6990254028699 100644 --- a/pkgs/development/cuda-modules/cudatoolkit/default.nix +++ b/pkgs/development/cuda-modules/cudatoolkit/default.nix @@ -212,36 +212,34 @@ backendStdenv.mkDerivation rec { mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64 mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64 rm $out/host-linux-x64/libstdc++.so* - ${ - lib.optionalString (lib.versionAtLeast version "11.8" && lib.versionOlder version "12") - # error: auto-patchelf could not satisfy dependency libtiff.so.5 wanted by /nix/store/.......-cudatoolkit-12.0.1/host-linux-x64/Plugins/imageformats/libqtiff.so - # we only ship libtiff.so.6, so let's use qt plugins built by Nix. - # TODO: don't copy, come up with a symlink-based "merge" - '' - rsync ${lib.getLib qt6Packages.qtimageformats}/lib/qt-6/plugins/ $out/host-linux-x64/Plugins/ -aP - '' + ${lib.optionalString (lib.versionAtLeast version "11.8" && lib.versionOlder version "12") + # error: auto-patchelf could not satisfy dependency libtiff.so.5 wanted by /nix/store/.......-cudatoolkit-12.0.1/host-linux-x64/Plugins/imageformats/libqtiff.so + # we only ship libtiff.so.6, so let's use qt plugins built by Nix. + # TODO: don't copy, come up with a symlink-based "merge" + '' + rsync ${lib.getLib qt6Packages.qtimageformats}/lib/qt-6/plugins/ $out/host-linux-x64/Plugins/ -aP + '' } - ${ - lib.optionalString (lib.versionAtLeast version "12") - # Use Qt plugins built by Nix. - '' - for qtlib in $out/host-linux-x64/Plugins/*/libq*.so; do - qtdir=$(basename $(dirname $qtlib)) - filename=$(basename $qtlib) - for qtpkgdir in ${ - lib.concatMapStringsSep " " (x: qt6Packages.${x}) [ - "qtbase" - "qtimageformats" - "qtsvg" - "qtwayland" - ] - }; do - if [ -e $qtpkgdir/lib/qt-6/plugins/$qtdir/$filename ]; then - ln -snf $qtpkgdir/lib/qt-6/plugins/$qtdir/$filename $qtlib - fi - done + ${lib.optionalString (lib.versionAtLeast version "12") + # Use Qt plugins built by Nix. + '' + for qtlib in $out/host-linux-x64/Plugins/*/libq*.so; do + qtdir=$(basename $(dirname $qtlib)) + filename=$(basename $qtlib) + for qtpkgdir in ${ + lib.concatMapStringsSep " " (x: qt6Packages.${x}) [ + "qtbase" + "qtimageformats" + "qtsvg" + "qtwayland" + ] + }; do + if [ -e $qtpkgdir/lib/qt-6/plugins/$qtdir/$filename ]; then + ln -snf $qtpkgdir/lib/qt-6/plugins/$qtdir/$filename $qtlib + fi done - '' + done + '' } rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why? diff --git a/pkgs/development/dhall-modules/Prelude.nix b/pkgs/development/dhall-modules/Prelude.nix index 320022abc0ed8..e89a47e8c1a2b 100644 --- a/pkgs/development/dhall-modules/Prelude.nix +++ b/pkgs/development/dhall-modules/Prelude.nix @@ -1,11 +1,11 @@ { buildDhallGitHubPackage }: buildDhallGitHubPackage { - name = "Prelude"; - owner = "dhall-lang"; - repo = "dhall-lang"; + name = "Prelude"; + owner = "dhall-lang"; + repo = "dhall-lang"; directory = "Prelude"; - file = "package.dhall"; - rev = "v20.1.0"; - sha256 = "04r1w7wqydmwm9mh3lz4y96a87k5kkvzsmrhbdrf0izcy5bqqv5y"; + file = "package.dhall"; + rev = "v20.1.0"; + sha256 = "04r1w7wqydmwm9mh3lz4y96a87k5kkvzsmrhbdrf0izcy5bqqv5y"; } diff --git a/pkgs/development/dhall-modules/dhall-cloudformation.nix b/pkgs/development/dhall-modules/dhall-cloudformation.nix index e99fbc3b3177c..cac5c4d447365 100644 --- a/pkgs/development/dhall-modules/dhall-cloudformation.nix +++ b/pkgs/development/dhall-modules/dhall-cloudformation.nix @@ -3,7 +3,8 @@ let version = "0.9.64"; -in buildDhallGitHubPackage { +in +buildDhallGitHubPackage { name = "cloudformation"; owner = "jcouyang"; repo = "dhall-aws-cloudformation"; diff --git a/pkgs/development/dhall-modules/dhall-kubernetes.nix b/pkgs/development/dhall-modules/dhall-kubernetes.nix index 337ae474dafd9..9f893a1f047e2 100644 --- a/pkgs/development/dhall-modules/dhall-kubernetes.nix +++ b/pkgs/development/dhall-modules/dhall-kubernetes.nix @@ -1,10 +1,10 @@ { buildDhallGitHubPackage }: buildDhallGitHubPackage { - name = "dhall-kubernetes-3.0.0"; - owner = "dhall-lang"; - repo = "dhall-kubernetes"; - file = "package.dhall"; - rev = "3c6d09a9409977cdde58a091d76a6d20509ca4b0"; + name = "dhall-kubernetes-3.0.0"; + owner = "dhall-lang"; + repo = "dhall-kubernetes"; + file = "package.dhall"; + rev = "3c6d09a9409977cdde58a091d76a6d20509ca4b0"; sha256 = "1r4awh770ghsrwabh5ddy3jpmrbigakk0h32542n1kh71w3cdq1h"; } diff --git a/pkgs/development/dhall-modules/lib.nix b/pkgs/development/dhall-modules/lib.nix index c1993d0af0203..826fea8194838 100644 --- a/pkgs/development/dhall-modules/lib.nix +++ b/pkgs/development/dhall-modules/lib.nix @@ -4,22 +4,22 @@ let # This is essentially the same thing as `lib.makeOverridable`, except storing # the override method in a method named `overridePackage` so that it's not # shadowed by the `override` method added by `callPackage` - makePackageOverridable = f: args: + makePackageOverridable = + f: args: let result = lib.makeOverridable f args; copyArgs = g: lib.setFunctionArgs g (lib.functionArgs f); - overrideWith = - update: args // (if lib.isFunction update then update args else update); + overrideWith = update: args // (if lib.isFunction update then update args else update); - overridePackage = - copyArgs (update: makePackageOverridable f (overrideWith update)); + overridePackage = copyArgs (update: makePackageOverridable f (overrideWith update)); in - result // { inherit overridePackage; }; + result // { inherit overridePackage; }; in - lib // { - inherit makePackageOverridable; - } +lib +// { + inherit makePackageOverridable; +} diff --git a/pkgs/development/em-modules/generic/default.nix b/pkgs/development/em-modules/generic/default.nix index eac0fcde53f69..c34fdaf82a594 100644 --- a/pkgs/development/em-modules/generic/default.nix +++ b/pkgs/development/em-modules/generic/default.nix @@ -1,82 +1,100 @@ -{ pkgs, lib, emscripten, python3 }: +{ + pkgs, + lib, + emscripten, + python3, +}: argsFun: let - wrapDerivation = f: - pkgs.stdenv.mkDerivation (finalAttrs: - f (lib.toFunction argsFun finalAttrs) - ); + wrapDerivation = f: pkgs.stdenv.mkDerivation (finalAttrs: f (lib.toFunction argsFun finalAttrs)); in wrapDerivation ( -{ buildInputs ? [], nativeBuildInputs ? [] - -, enableParallelBuilding ? true - -, meta ? {}, ... } @ args: - - args // { - - pname = "emscripten-${lib.getName args}"; - version = lib.getVersion args; - buildInputs = [ emscripten python3 ] ++ buildInputs; - nativeBuildInputs = [ emscripten python3 ] ++ nativeBuildInputs; - - # fake conftest results with emscripten's python magic - EMCONFIGURE_JS=2; - - # removes archive indices - dontStrip = args.dontStrip or true; - - configurePhase = args.configurePhase or '' - # FIXME: Some tests require writing at $HOME - HOME=$TMPDIR - runHook preConfigure - - emconfigure ./configure --prefix=$out - - mkdir -p .emscriptencache - export EM_CACHE=$(pwd)/.emscriptencache - - runHook postConfigure - ''; - - buildPhase = args.buildPhase or '' - runHook preBuild - - HOME=$TMPDIR - - emmake make - - runHook postBuild - ''; - - doCheck = true; - - checkPhase = args.checkPhase or '' - runHook preCheck - - echo "Please provide a test for your emscripten based library/tool, see libxml2 as an exmple on how to use emcc/node to verify your build" - echo "" - echo "In normal C 'unresolved symbols' would yield an error and a breake of execution. In contrast, in emscripten they are only a warning which is ok given that emscripten assumptions about shared libraries." - echo " -> https://github.com/kripken/emscripten/wiki/Linking" - echo "So just assume the dependencies were built using hydra, then YOU WILL NEVER see the warning and your code depending on a library will always fail!" - exit 1 - - runHook postCheck - ''; - - enableParallelBuilding = args.enableParallelBuilding or true; - - meta = { - # Add default meta information - platforms = lib.platforms.all; - # Do not build this automatically - hydraPlatforms = []; - } // meta // { - # add an extra maintainer to every package - maintainers = (meta.maintainers or []) ++ - [ lib.maintainers.qknight ]; - }; -}) + buildInputs ? [ ], + nativeBuildInputs ? [ ], + + enableParallelBuilding ? true, + + meta ? { }, + ... + }@args: + + args + // { + + pname = "emscripten-${lib.getName args}"; + version = lib.getVersion args; + buildInputs = [ + emscripten + python3 + ] ++ buildInputs; + nativeBuildInputs = [ + emscripten + python3 + ] ++ nativeBuildInputs; + + # fake conftest results with emscripten's python magic + EMCONFIGURE_JS = 2; + + # removes archive indices + dontStrip = args.dontStrip or true; + + configurePhase = + args.configurePhase or '' + # FIXME: Some tests require writing at $HOME + HOME=$TMPDIR + runHook preConfigure + + emconfigure ./configure --prefix=$out + + mkdir -p .emscriptencache + export EM_CACHE=$(pwd)/.emscriptencache + + runHook postConfigure + ''; + + buildPhase = + args.buildPhase or '' + runHook preBuild + + HOME=$TMPDIR + + emmake make + + runHook postBuild + ''; + + doCheck = true; + + checkPhase = + args.checkPhase or '' + runHook preCheck + + echo "Please provide a test for your emscripten based library/tool, see libxml2 as an exmple on how to use emcc/node to verify your build" + echo "" + echo "In normal C 'unresolved symbols' would yield an error and a breake of execution. In contrast, in emscripten they are only a warning which is ok given that emscripten assumptions about shared libraries." + echo " -> https://github.com/kripken/emscripten/wiki/Linking" + echo "So just assume the dependencies were built using hydra, then YOU WILL NEVER see the warning and your code depending on a library will always fail!" + exit 1 + + runHook postCheck + ''; + + enableParallelBuilding = args.enableParallelBuilding or true; + + meta = + { + # Add default meta information + platforms = lib.platforms.all; + # Do not build this automatically + hydraPlatforms = [ ]; + } + // meta + // { + # add an extra maintainer to every package + maintainers = (meta.maintainers or [ ]) ++ [ lib.maintainers.qknight ]; + }; + } +) diff --git a/pkgs/development/embedded/arduino/arduino-core/chrootenv.nix b/pkgs/development/embedded/arduino/arduino-core/chrootenv.nix index 6697ecc6b1924..261d217681d5b 100644 --- a/pkgs/development/embedded/arduino/arduino-core/chrootenv.nix +++ b/pkgs/development/embedded/arduino/arduino-core/chrootenv.nix @@ -1,4 +1,10 @@ -{ lib, buildFHSEnv, arduino-core-unwrapped, withGui ? false, withTeensyduino ? false }: +{ + lib, + buildFHSEnv, + arduino-core-unwrapped, + withGui ? false, + withTeensyduino ? false, +}: let arduino-unwrapped = arduino-core-unwrapped.override { inherit withGui withTeensyduino; }; in @@ -7,13 +13,16 @@ buildFHSEnv { inherit (arduino-core-unwrapped) version; targetPkgs = - pkgs: (with pkgs; [ + pkgs: + (with pkgs; [ ncurses arduino-unwrapped zlib - (python3.withPackages (p: with p; [ - pyserial - ])) + (python3.withPackages ( + p: with p; [ + pyserial + ] + )) ]); extraInstallCommands = '' diff --git a/pkgs/development/embedded/arduino/arduino-core/default.nix b/pkgs/development/embedded/arduino/arduino-core/default.nix index 43e6292143a4a..133e5b02fda6b 100644 --- a/pkgs/development/embedded/arduino/arduino-core/default.nix +++ b/pkgs/development/embedded/arduino/arduino-core/default.nix @@ -1,35 +1,36 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchurl -, jdk -, ant -, stripJavaArchivesHook -, libusb-compat-0_1 -, libusb1 -, unzip -, zlib -, ncurses -, readline -, withGui ? false -, gtk3 -, wrapGAppsHook3 -, withTeensyduino ? false - /* Packages needed for Teensyduino */ -, upx -, fontconfig -, xorg -, gcc -, atk -, glib -, pango -, gdk-pixbuf -, gtk2 -, libpng12 -, expat -, freetype -, cairo -, udev +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + jdk, + ant, + stripJavaArchivesHook, + libusb-compat-0_1, + libusb1, + unzip, + zlib, + ncurses, + readline, + withGui ? false, + gtk3, + wrapGAppsHook3, + withTeensyduino ? false, + # Packages needed for Teensyduino + upx, + fontconfig, + xorg, + gcc, + atk, + glib, + pango, + gdk-pixbuf, + gtk2, + libpng12, + expat, + freetype, + cairo, + udev, }: assert withTeensyduino -> withGui; @@ -41,11 +42,22 @@ let }; # Some .so-files are later copied from .jar-s to $HOME, so patch them beforehand patchelfInJars = - lib.optional (stdenv.hostPlatform.system == "aarch64-linux") { jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; file = "libs/linux/libjSSC-2.8_aarch64.so"; } - ++ lib.optional (builtins.match "armv[67]l-linux" stdenv.hostPlatform.system != null) { jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; file = "libs/linux/libjSSC-2.8_armhf.so"; } - ++ lib.optional (stdenv.hostPlatform.system == "x86_64-linux") { jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; file = "libs/linux/libjSSC-2.8_x86_64.so"; } - ++ lib.optional (stdenv.hostPlatform.system == "i686-linux") { jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; file = "libs/linux/libjSSC-2.8_x86.so"; } - ; + lib.optional (stdenv.hostPlatform.system == "aarch64-linux") { + jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; + file = "libs/linux/libjSSC-2.8_aarch64.so"; + } + ++ lib.optional (builtins.match "armv[67]l-linux" stdenv.hostPlatform.system != null) { + jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; + file = "libs/linux/libjSSC-2.8_armhf.so"; + } + ++ lib.optional (stdenv.hostPlatform.system == "x86_64-linux") { + jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; + file = "libs/linux/libjSSC-2.8_x86_64.so"; + } + ++ lib.optional (stdenv.hostPlatform.system == "i686-linux") { + jar = "share/arduino/lib/jssc-2.8.0-arduino4.jar"; + file = "libs/linux/libjSSC-2.8_x86.so"; + }; # abiVersion 6 is default, but we need 5 for `avrdude_bin` executable ncurses5 = ncurses.override { abiVersion = "5"; }; teensy_libpath = lib.makeLibraryPath [ @@ -71,15 +83,21 @@ let zlib ]; teensy_architecture = - if stdenv.hostPlatform.isx86_32 then "linux32" - else if stdenv.hostPlatform.isx86_64 then "linux64" - else if stdenv.hostPlatform.isAarch64 then "linuxaarch64" - else if stdenv.hostPlatform.isAarch32 then "linuxarm" - else throw "${stdenv.hostPlatform.system} is not supported in teensy"; + if stdenv.hostPlatform.isx86_32 then + "linux32" + else if stdenv.hostPlatform.isx86_64 then + "linux64" + else if stdenv.hostPlatform.isAarch64 then + "linuxaarch64" + else if stdenv.hostPlatform.isAarch32 then + "linuxarm" + else + throw "${stdenv.hostPlatform.system} is not supported in teensy"; in stdenv.mkDerivation rec { - pname = (if withTeensyduino then "teensyduino" else "arduino") + lib.optionalString (!withGui) "-core"; + pname = + (if withTeensyduino then "teensyduino" else "arduino") + lib.optionalString (!withGui) "-core"; version = "1.8.19"; src = fetchFromGitHub { @@ -92,28 +110,37 @@ stdenv.mkDerivation rec { teensyduino_version = "156"; teensyduino_src = fetchurl { url = "https://www.pjrc.com/teensy/td_${teensyduino_version}/TeensyduinoInstall.${teensy_architecture}"; - sha256 = { - linux64 = "sha256-4DbhmmYrx+rCBpDrYFaC0A88Qv9UEeNlQAkFi3zAstk="; - linux32 = "sha256-DlRPOtDxmMPv2Qzhib7vNZdKNZCxmm9YmVNnwUKXK/E="; - linuxarm = "sha256-d+DbpER/4lFPcPDFeMG5f3WaUGn8pFchdIDo7Hm0XWs="; - linuxaarch64 = "sha256-8keQzhWq7QlAGIbfHEe3lfxpJleMMvBORuPaNrLmM6Y="; - }.${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}"); + sha256 = + { + linux64 = "sha256-4DbhmmYrx+rCBpDrYFaC0A88Qv9UEeNlQAkFi3zAstk="; + linux32 = "sha256-DlRPOtDxmMPv2Qzhib7vNZdKNZCxmm9YmVNnwUKXK/E="; + linuxarm = "sha256-d+DbpER/4lFPcPDFeMG5f3WaUGn8pFchdIDo7Hm0XWs="; + linuxaarch64 = "sha256-8keQzhWq7QlAGIbfHEe3lfxpJleMMvBORuPaNrLmM6Y="; + } + .${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}"); }; # Used because teensyduino requires jars be a specific size arduino_dist_src = fetchurl { url = "https://downloads.arduino.cc/arduino-${version}-${teensy_architecture}.tar.xz"; - sha256 = { - linux64 = "sha256-62i93B0cASC+L8oTUKA+40Uxzzf1GEeyEhC25wVFvJs="; - linux32 = "sha256-wSxtx3BqXMQCeWQDK8PHkWLlQqQM1Csao8bIk98FrFg="; - linuxarm = "sha256-lJ/R1ePq7YtDk3bvloFcn8jswrJH+L63tvH5QpTqfXs="; - linuxaarch64 = "sha256-gm8cDjLKNfpcaeO7fw6Kyv1TnWV/ZmH4u++nun9X6jo="; - }.${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}"); + sha256 = + { + linux64 = "sha256-62i93B0cASC+L8oTUKA+40Uxzzf1GEeyEhC25wVFvJs="; + linux32 = "sha256-wSxtx3BqXMQCeWQDK8PHkWLlQqQM1Csao8bIk98FrFg="; + linuxarm = "sha256-lJ/R1ePq7YtDk3bvloFcn8jswrJH+L63tvH5QpTqfXs="; + linuxaarch64 = "sha256-gm8cDjLKNfpcaeO7fw6Kyv1TnWV/ZmH4u++nun9X6jo="; + } + .${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}"); }; # the glib setup hook will populate GSETTINGS_SCHEMAS_PATH, # wrapGAppHooks (among other things) adds it to XDG_DATA_DIRS # so 'save as...' works: - nativeBuildInputs = [ glib stripJavaArchivesHook wrapGAppsHook3 unzip ]; + nativeBuildInputs = [ + glib + stripJavaArchivesHook + wrapGAppsHook3 + unzip + ]; buildInputs = [ jdk ant @@ -155,7 +182,14 @@ stdenv.mkDerivation rec { javaPath = lib.makeBinPath [ jdk ]; # Everything else will be patched into rpath - rpath = lib.makeLibraryPath [ zlib libusb-compat-0_1 libusb1 readline ncurses5 stdenv.cc.cc ]; + rpath = lib.makeLibraryPath [ + zlib + libusb-compat-0_1 + libusb1 + readline + ncurses5 + stdenv.cc.cc + ]; installPhase = '' mkdir -p $out/share/arduino @@ -217,16 +251,15 @@ stdenv.mkDerivation rec { patchelf --set-rpath ${rpath}:$out/lib $file || true done - ${lib.concatMapStringsSep "\n" - ({ jar, file }: - '' - jar xvf $out/${jar} ${file} - patchelf --set-rpath $rpath ${file} - jar uvf $out/${jar} ${file} - rm -f ${file} - '' - ) - patchelfInJars} + ${lib.concatMapStringsSep "\n" ( + { jar, file }: + '' + jar xvf $out/${jar} ${file} + patchelf --set-rpath $rpath ${file} + jar uvf $out/${jar} ${file} + rm -f ${file} + '' + ) patchelfInJars} # avrdude_bin is linked against libtinfo.so.5 mkdir $out/lib/ @@ -251,6 +284,12 @@ stdenv.mkDerivation rec { binaryNativeCode ]; platforms = platforms.linux; - maintainers = with maintainers; [ antono auntie robberer bjornfor bergey ]; + maintainers = with maintainers; [ + antono + auntie + robberer + bjornfor + bergey + ]; }; } diff --git a/pkgs/development/embedded/arduino/arduino-core/downloads.nix b/pkgs/development/embedded/arduino/arduino-core/downloads.nix index 14ce93d2c50a8..b450b11378339 100644 --- a/pkgs/development/embedded/arduino/arduino-core/downloads.nix +++ b/pkgs/development/embedded/arduino/arduino-core/downloads.nix @@ -1,6 +1,7 @@ -{ fetchurl -, optionalAttrs -, system +{ + fetchurl, + optionalAttrs, + system, }: # This file preloads all the archives which Arduino's build/build.xml # would otherwise try to download itself. When updating this for a new diff --git a/pkgs/development/embedded/blisp/default.nix b/pkgs/development/embedded/blisp/default.nix index b6add8db9b8a9..d7b1b6018efc4 100644 --- a/pkgs/development/embedded/blisp/default.nix +++ b/pkgs/development/embedded/blisp/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, argtable -, cmake -, libserialport -, pkg-config -, testers -, IOKit +{ + lib, + stdenv, + fetchFromGitHub, + argtable, + cmake, + libserialport, + pkg-config, + testers, + IOKit, }: stdenv.mkDerivation (finalAttrs: { @@ -20,7 +21,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cN35VLbdQFA3KTZ8PxgpbsLGXqfFhw5eh3nEBRZqAm4="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ argtable diff --git a/pkgs/development/embedded/bossa/default.nix b/pkgs/development/embedded/bossa/default.nix index f50b91ddbb091..05c2d3faddfc1 100644 --- a/pkgs/development/embedded/bossa/default.nix +++ b/pkgs/development/embedded/bossa/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, wxGTK32 -, libX11 -, readline -, darwin -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + wxGTK32, + libX11, + readline, + darwin, + fetchpatch, }: let @@ -47,13 +48,15 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ bin2c ]; - buildInputs = [ - wxGTK32 - libX11 - readline - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ]; + buildInputs = + [ + wxGTK32 + libX11 + readline + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ]; makeFlags = [ "WXVERSION=3.2" diff --git a/pkgs/development/embedded/fpga/apio/default.nix b/pkgs/development/embedded/fpga/apio/default.nix index ef153b96ca49b..85e011d22dc16 100644 --- a/pkgs/development/embedded/fpga/apio/default.nix +++ b/pkgs/development/embedded/fpga/apio/default.nix @@ -1,17 +1,18 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, click -, semantic-version -, requests -, colorama -, pyserial -, wheel -, scons -, setuptools -, tinyprog -, flit-core -, pytestCheckHook +{ + lib, + buildPythonApplication, + fetchFromGitHub, + click, + semantic-version, + requests, + colorama, + pyserial, + wheel, + scons, + setuptools, + tinyprog, + flit-core, + pytestCheckHook, }: buildPythonApplication rec { diff --git a/pkgs/development/embedded/fpga/ecpdap/default.nix b/pkgs/development/embedded/fpga/ecpdap/default.nix index 1dfc54e9c3c6a..faa3790b34408 100644 --- a/pkgs/development/embedded/fpga/ecpdap/default.nix +++ b/pkgs/development/embedded/fpga/ecpdap/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, libusb1, AppKit }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + libusb1, + AppKit, +}: rustPlatform.buildRustPackage rec { pname = "ecpdap"; @@ -15,8 +23,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libusb1 ] - ++ lib.optional stdenv.hostPlatform.isDarwin AppKit; + buildInputs = [ libusb1 ] ++ lib.optional stdenv.hostPlatform.isDarwin AppKit; postInstall = '' mkdir -p $out/etc/udev/rules.d @@ -32,7 +39,6 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://github.com/adamgreig/ecpdap"; license = licenses.asl20; - maintainers = []; + maintainers = [ ]; }; } - diff --git a/pkgs/development/embedded/fpga/fujprog/default.nix b/pkgs/development/embedded/fpga/fujprog/default.nix index bdac1033053af..fea0900ab2af6 100644 --- a/pkgs/development/embedded/fpga/fujprog/default.nix +++ b/pkgs/development/embedded/fpga/fujprog/default.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, IOKit -, libftdi1 -, libusb-compat-0_1 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + IOKit, + libftdi1, + libusb-compat-0_1, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/embedded/platformio/chrootenv.nix b/pkgs/development/embedded/platformio/chrootenv.nix index 1921d82ae4a38..870ce06d0ede2 100644 --- a/pkgs/development/embedded/platformio/chrootenv.nix +++ b/pkgs/development/embedded/platformio/chrootenv.nix @@ -1,7 +1,12 @@ -{ lib, buildFHSEnv, platformio-core }: +{ + lib, + buildFHSEnv, + platformio-core, +}: let - pio-pkgs = pkgs: + pio-pkgs = + pkgs: let inherit (platformio-core) python; in @@ -12,7 +17,8 @@ let xdg-user-dirs ncurses udev - ]) ++ (with python.pkgs; [ + ]) + ++ (with python.pkgs; [ python setuptools pip diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix index 038efbb65bbf5..e9071fa1ab24b 100644 --- a/pkgs/development/embedded/platformio/core.nix +++ b/pkgs/development/embedded/platformio/core.nix @@ -1,15 +1,16 @@ -{ lib -, python3Packages -, fetchFromGitHub -, fetchpatch -, installShellFiles -, git -, spdx-license-list-data -, substituteAll +{ + lib, + python3Packages, + fetchFromGitHub, + fetchpatch, + installShellFiles, + git, + spdx-license-list-data, + substituteAll, }: - -with python3Packages; buildPythonApplication rec { +with python3Packages; +buildPythonApplication rec { pname = "platformio"; version = "6.1.16"; pyproject = true; @@ -22,7 +23,10 @@ with python3Packages; buildPythonApplication rec { hash = "sha256-hZgbLUk2Krynut5uD6GMxWA+95y8ONNUmv4kaAltumk="; }; - outputs = [ "out" "udev" ]; + outputs = [ + "out" + "udev" + ]; patches = [ (substituteAll { @@ -58,30 +62,32 @@ with python3Packages; buildPythonApplication rec { pythonRelaxDeps = true; - propagatedBuildInputs = [ - aiofiles - ajsonrpc - bottle - click - click-completion - colorama - git - lockfile - marshmallow - pyelftools - pyserial - requests - semantic-version - setuptools - spdx-license-list-data.json - starlette - tabulate - uvicorn - wsproto - zeroconf - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - chardet - ]; + propagatedBuildInputs = + [ + aiofiles + ajsonrpc + bottle + click + click-completion + colorama + git + lockfile + marshmallow + pyelftools + pyserial + requests + semantic-version + setuptools + spdx-license-list-data.json + starlette + tabulate + uvicorn + wsproto + zeroconf + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + chardet + ]; preCheck = '' export HOME=$(mktemp -d) @@ -135,66 +141,68 @@ with python3Packages; buildPythonApplication rec { "test_metadata_dump" ]; - pytestFlagsArray = [ - "tests" - ] ++ (map (e: "--deselect tests/${e}") [ - "commands/pkg/test_exec.py::test_pkg_specified" - "commands/pkg/test_exec.py::test_unrecognized_options" - "commands/test_ci.py::test_ci_boards" - "commands/test_ci.py::test_ci_build_dir" - "commands/test_ci.py::test_ci_keep_build_dir" - "commands/test_ci.py::test_ci_lib_and_board" - "commands/test_ci.py::test_ci_project_conf" - "commands/test_init.py::test_init_custom_framework" - "commands/test_init.py::test_init_duplicated_boards" - "commands/test_init.py::test_init_enable_auto_uploading" - "commands/test_init.py::test_init_ide_atom" - "commands/test_init.py::test_init_ide_clion" - "commands/test_init.py::test_init_ide_eclipse" - "commands/test_init.py::test_init_ide_vscode" - "commands/test_init.py::test_init_incorrect_board" - "commands/test_init.py::test_init_special_board" - "commands/test_lib.py::test_global_install_archive" - "commands/test_lib.py::test_global_install_registry" - "commands/test_lib.py::test_global_install_repository" - "commands/test_lib.py::test_global_lib_list" - "commands/test_lib.py::test_global_lib_uninstall" - "commands/test_lib.py::test_global_lib_update" - "commands/test_lib.py::test_global_lib_update_check" - "commands/test_lib.py::test_install_duplicates" - "commands/test_lib.py::test_lib_show" - "commands/test_lib.py::test_lib_stats" - "commands/test_lib.py::test_saving_deps" - "commands/test_lib.py::test_search" - "commands/test_lib.py::test_update" - "commands/test_lib_complex.py::test_global_install_archive" - "commands/test_lib_complex.py::test_global_install_registry" - "commands/test_lib_complex.py::test_global_install_repository" - "commands/test_lib_complex.py::test_global_lib_list" - "commands/test_lib_complex.py::test_global_lib_uninstall" - "commands/test_lib_complex.py::test_global_lib_update" - "commands/test_lib_complex.py::test_global_lib_update_check" - "commands/test_lib_complex.py::test_install_duplicates" - "commands/test_lib_complex.py::test_lib_show" - "commands/test_lib_complex.py::test_lib_stats" - "commands/test_lib_complex.py::test_search" - "package/test_manager.py::test_download" - "package/test_manager.py::test_install_force" - "package/test_manager.py::test_install_from_registry" - "package/test_manager.py::test_install_lib_depndencies" - "package/test_manager.py::test_registry" - "package/test_manager.py::test_uninstall" - "package/test_manager.py::test_update_with_metadata" - "package/test_manager.py::test_update_without_metadata" - "test_builder.py::test_build_flags" - "test_builder.py::test_build_unflags" - "test_builder.py::test_debug_custom_build_flags" - "test_builder.py::test_debug_default_build_flags" - "test_misc.py::test_api_cache" - "test_misc.py::test_ping_internet_ips" - "test_misc.py::test_platformio_cli" - "test_pkgmanifest.py::test_packages" - ]); + pytestFlagsArray = + [ + "tests" + ] + ++ (map (e: "--deselect tests/${e}") [ + "commands/pkg/test_exec.py::test_pkg_specified" + "commands/pkg/test_exec.py::test_unrecognized_options" + "commands/test_ci.py::test_ci_boards" + "commands/test_ci.py::test_ci_build_dir" + "commands/test_ci.py::test_ci_keep_build_dir" + "commands/test_ci.py::test_ci_lib_and_board" + "commands/test_ci.py::test_ci_project_conf" + "commands/test_init.py::test_init_custom_framework" + "commands/test_init.py::test_init_duplicated_boards" + "commands/test_init.py::test_init_enable_auto_uploading" + "commands/test_init.py::test_init_ide_atom" + "commands/test_init.py::test_init_ide_clion" + "commands/test_init.py::test_init_ide_eclipse" + "commands/test_init.py::test_init_ide_vscode" + "commands/test_init.py::test_init_incorrect_board" + "commands/test_init.py::test_init_special_board" + "commands/test_lib.py::test_global_install_archive" + "commands/test_lib.py::test_global_install_registry" + "commands/test_lib.py::test_global_install_repository" + "commands/test_lib.py::test_global_lib_list" + "commands/test_lib.py::test_global_lib_uninstall" + "commands/test_lib.py::test_global_lib_update" + "commands/test_lib.py::test_global_lib_update_check" + "commands/test_lib.py::test_install_duplicates" + "commands/test_lib.py::test_lib_show" + "commands/test_lib.py::test_lib_stats" + "commands/test_lib.py::test_saving_deps" + "commands/test_lib.py::test_search" + "commands/test_lib.py::test_update" + "commands/test_lib_complex.py::test_global_install_archive" + "commands/test_lib_complex.py::test_global_install_registry" + "commands/test_lib_complex.py::test_global_install_repository" + "commands/test_lib_complex.py::test_global_lib_list" + "commands/test_lib_complex.py::test_global_lib_uninstall" + "commands/test_lib_complex.py::test_global_lib_update" + "commands/test_lib_complex.py::test_global_lib_update_check" + "commands/test_lib_complex.py::test_install_duplicates" + "commands/test_lib_complex.py::test_lib_show" + "commands/test_lib_complex.py::test_lib_stats" + "commands/test_lib_complex.py::test_search" + "package/test_manager.py::test_download" + "package/test_manager.py::test_install_force" + "package/test_manager.py::test_install_from_registry" + "package/test_manager.py::test_install_lib_depndencies" + "package/test_manager.py::test_registry" + "package/test_manager.py::test_uninstall" + "package/test_manager.py::test_update_with_metadata" + "package/test_manager.py::test_update_without_metadata" + "test_builder.py::test_build_flags" + "test_builder.py::test_build_unflags" + "test_builder.py::test_debug_custom_build_flags" + "test_builder.py::test_debug_default_build_flags" + "test_misc.py::test_api_cache" + "test_misc.py::test_ping_internet_ips" + "test_misc.py::test_platformio_cli" + "test_pkgmanifest.py::test_packages" + ]); passthru = { python = python3Packages.python; @@ -206,7 +214,10 @@ with python3Packages; buildPythonApplication rec { downloadPage = "https://github.com/platformio/platformio-core"; homepage = "https://platformio.org"; license = licenses.asl20; - maintainers = with maintainers; [ mog makefu ]; + maintainers = with maintainers; [ + mog + makefu + ]; mainProgram = "platformio"; }; } diff --git a/pkgs/development/embedded/tytools/default.nix b/pkgs/development/embedded/tytools/default.nix index 1669ec239ac79..76ff17c0b6fec 100644 --- a/pkgs/development/embedded/tytools/default.nix +++ b/pkgs/development/embedded/tytools/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook , qtbase}: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapQtAppsHook, + qtbase, +}: stdenv.mkDerivation rec { pname = "tytools"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-MKhh0ooDZI1Ks8vVuPRiHhpOqStetGaAhE2ulvBstxA="; }; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; buildInputs = [ qtbase ]; diff --git a/pkgs/development/gnuradio-modules/mkDerivation.nix b/pkgs/development/gnuradio-modules/mkDerivation.nix index 11ac506260ad0..1f6ee5f2f1ae8 100644 --- a/pkgs/development/gnuradio-modules/mkDerivation.nix +++ b/pkgs/development/gnuradio-modules/mkDerivation.nix @@ -1,5 +1,6 @@ -{ lib -, unwrapped +{ + lib, + unwrapped, }: mkDerivation: @@ -8,24 +9,30 @@ args: # Check if it's supposed to not get built for the current gnuradio version if (builtins.hasAttr "disabled" args) && args.disabled then -let name = args.name or "${args.pname}"; in -throw "Package ${name} is incompatible with GNURadio ${unwrapped.versionAttr.major}" + let + name = args.name or "${args.pname}"; + in + throw "Package ${name} is incompatible with GNURadio ${unwrapped.versionAttr.major}" else if builtins.hasAttr "disabledForGRafter" args then -throw '' - `disabledForGRafter` is superseded by `disabled`. - Use `disabled = gnuradioAtLeast "${args.disabledForGRafter}";` instead. -'' + throw '' + `disabledForGRafter` is superseded by `disabled`. + Use `disabled = gnuradioAtLeast "${args.disabledForGRafter}";` instead. + '' else -let - args_ = { - enableParallelBuilding = args.enableParallelBuilding or true; - nativeBuildInputs = (args.nativeBuildInputs or []); - # We add gnuradio and volk itself by default - most gnuradio based packages - # will not consider it a depenency worth mentioning and it will almost - # always be needed - buildInputs = (args.buildInputs or []) ++ [ unwrapped unwrapped.volk ]; - }; -in mkDerivation (args // args_) + let + args_ = { + enableParallelBuilding = args.enableParallelBuilding or true; + nativeBuildInputs = (args.nativeBuildInputs or [ ]); + # We add gnuradio and volk itself by default - most gnuradio based packages + # will not consider it a depenency worth mentioning and it will almost + # always be needed + buildInputs = (args.buildInputs or [ ]) ++ [ + unwrapped + unwrapped.volk + ]; + }; + in + mkDerivation (args // args_) diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix index 41c4a36ec2eef..cfa7b7d335234 100644 --- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix +++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix @@ -1,10 +1,36 @@ # This file defines cabal2nix-unstable, used by maintainers/scripts/haskell/regenerate-hackage-packages.sh. -{ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal -, containers, deepseq, directory, distribution-nixpkgs, fetchzip -, filepath, hackage-db, hopenssl, hpack, language-nix, lens, lib -, monad-par, monad-par-extras, mtl, optparse-applicative, pretty -, process, split, tasty, tasty-golden, text, time, transformers -, yaml +{ + mkDerivation, + aeson, + ansi-wl-pprint, + base, + bytestring, + Cabal, + containers, + deepseq, + directory, + distribution-nixpkgs, + fetchzip, + filepath, + hackage-db, + hopenssl, + hpack, + language-nix, + lens, + lib, + monad-par, + monad-par-extras, + mtl, + optparse-applicative, + pretty, + process, + split, + tasty, + tasty-golden, + text, + time, + transformers, + yaml, }: mkDerivation { pname = "cabal2nix"; @@ -17,19 +43,60 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson ansi-wl-pprint base bytestring Cabal containers deepseq - directory distribution-nixpkgs filepath hackage-db hopenssl hpack - language-nix lens optparse-applicative pretty process split text - time transformers yaml + aeson + ansi-wl-pprint + base + bytestring + Cabal + containers + deepseq + directory + distribution-nixpkgs + filepath + hackage-db + hopenssl + hpack + language-nix + lens + optparse-applicative + pretty + process + split + text + time + transformers + yaml ]; executableHaskellDepends = [ - aeson base bytestring Cabal containers directory - distribution-nixpkgs filepath hopenssl language-nix lens monad-par - monad-par-extras mtl optparse-applicative pretty + aeson + base + bytestring + Cabal + containers + directory + distribution-nixpkgs + filepath + hopenssl + language-nix + lens + monad-par + monad-par-extras + mtl + optparse-applicative + pretty ]; testHaskellDepends = [ - base Cabal containers directory filepath language-nix lens pretty - process tasty tasty-golden + base + Cabal + containers + directory + filepath + language-nix + lens + pretty + process + tasty + tasty-golden ]; preCheck = '' export PATH="$PWD/dist/build/cabal2nix:$PATH" diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix index 2f4e085855a44..36d746e4e9871 100644 --- a/pkgs/development/haskell-modules/configuration-arm.nix +++ b/pkgs/development/haskell-modules/configuration-arm.nix @@ -27,7 +27,8 @@ in with haskellLib; -self: super: { +self: super: +{ # COMMON ARM OVERRIDES # moved here from configuration-common.nix, no reason given. @@ -39,11 +40,18 @@ self: super: { happy_1_19_12 = doDistribute (dontCheck super.happy_1_19_12); # add arm specific library - wiringPi = overrideCabal ({librarySystemDepends ? [], ...}: { - librarySystemDepends = librarySystemDepends ++ [pkgs.wiringpi]; - }) super.wiringPi; + wiringPi = overrideCabal ( + { + librarySystemDepends ? [ ], + ... + }: + { + librarySystemDepends = librarySystemDepends ++ [ pkgs.wiringpi ]; + } + ) super.wiringPi; -} // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 { +} +// lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 { # AARCH64-SPECIFIC OVERRIDES # Corrupted store path https://github.com/NixOS/nixpkgs/pull/272097#issuecomment-1848414265 @@ -108,7 +116,8 @@ self: super: { # Similar RTS issue in test suite: # rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed. # These still fail sporadically on ghc 9.2 -} // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 { +} +// lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 { # AARCH32-SPECIFIC OVERRIDES # KAT/ECB/D2 test segfaults on armv7l diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix index 33b2da04f7713..6341e1ea1043b 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix @@ -11,9 +11,7 @@ self: super: { # ghcjs does not use `llvmPackages` and exposes `null` attribute. llvmPackages = - if self.ghc.llvmPackages != null - then pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages - else null; + if self.ghc.llvmPackages != null then pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages else null; # Disable GHC 8.10.x core libraries. array = null; @@ -44,7 +42,11 @@ self: super: { stm = null; template-haskell = null; # GHC only builds terminfo if it is a native compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; @@ -62,12 +64,17 @@ self: super: { # For GHC < 9.4, some packages need data-array-byte as an extra dependency # For GHC < 9.2, os-string is not required. primitive = addBuildDepends [ self.data-array-byte ] super.primitive; - hashable = addBuildDepends [ - self.data-array-byte - self.base-orphans - ] (super.hashable.override { - os-string = null; - }); + hashable = + addBuildDepends + [ + self.data-array-byte + self.base-orphans + ] + ( + super.hashable.override { + os-string = null; + } + ); hashable-time = doDistribute (unmarkBroken super.hashable-time); # Too strict lower bounds on base @@ -92,13 +99,14 @@ self: super: { shower = doJailbreak super.shower; # hnix 0.9.0 does not provide an executable for ghc < 8.10, so define completions here for now. - hnix = self.generateOptparseApplicativeCompletions [ "hnix" ] - (overrideCabal (drv: { + hnix = self.generateOptparseApplicativeCompletions [ "hnix" ] ( + overrideCabal (drv: { # executable is allowed for ghc >= 8.10 and needs repline - executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ]; - }) super.hnix); + executableHaskellDepends = drv.executableToolDepends or [ ] ++ [ self.repline ]; + }) super.hnix + ); - haskell-language-server = throw "haskell-language-server dropped support for ghc 8.10 in version 2.3.0.0 please use a newer ghc version or an older nixpkgs version"; + haskell-language-server = throw "haskell-language-server dropped support for ghc 8.10 in version 2.3.0.0 please use a newer ghc version or an older nixpkgs version"; ghc-lib-parser = doDistribute self.ghc-lib-parser_9_2_8_20230729; ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_2_1_1; @@ -113,11 +121,13 @@ self: super: { # weeder 2.3.* no longer supports GHC 8.10 weeder = doDistribute (doJailbreak self.weeder_2_2_0); # Unnecessarily strict upper bound on lens - weeder_2_2_0 = doJailbreak (super.weeder_2_2_0.override { - # weeder < 2.6 only supports algebraic-graphs < 0.7 - # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set - algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; - }); + weeder_2_2_0 = doJailbreak ( + super.weeder_2_2_0.override { + # weeder < 2.6 only supports algebraic-graphs < 0.7 + # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set + algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; + } + ); # Uses haddock placement that isn't supported by the versions of haddock # bundled with GHC < 9.0. @@ -171,23 +181,25 @@ self: super: { http-types = dontCheck super.http-types; # Packages which need compat library for GHC < 9.6 - inherit - (lib.mapAttrs - (_: addBuildDepends [ self.foldable1-classes-compat ]) - super) + inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super) indexed-traversable these - ; + ; base-compat-batteries = addBuildDepends [ self.foldable1-classes-compat self.OneTuple ] super.base-compat-batteries; # OneTuple needs hashable (instead of ghc-prim) and foldable1-classes-compat for GHC < 9 - OneTuple = addBuildDepends [ - self.foldable1-classes-compat - self.base-orphans - ] (super.OneTuple.override { - ghc-prim = self.hashable; - }); + OneTuple = + addBuildDepends + [ + self.foldable1-classes-compat + self.base-orphans + ] + ( + super.OneTuple.override { + ghc-prim = self.hashable; + } + ); } diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix index 6fd85c971e239..865df383f05f3 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix @@ -39,7 +39,11 @@ self: super: { stm = null; template-haskell = null; # GHC only builds terminfo if it is a native compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; @@ -61,7 +65,7 @@ self: super: { unordered-containers = dontCheck super.unordered-containers; # Test suite does not compile. - data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x + data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x dates = doJailbreak super.dates; # base >=4.9 && <4.12 Diff = dontCheck super.Diff; equivalence = dontCheck super.equivalence; # test suite doesn't compile https://github.com/pa-ba/equivalence/issues/5 diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix index 45cbd487762b2..e53dab2b4b845 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix @@ -41,7 +41,11 @@ self: super: { stm = null; template-haskell = null; # GHC only builds terminfo if it is a native compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; @@ -61,12 +65,17 @@ self: super: { # For GHC < 9.4, some packages need data-array-byte as an extra dependency primitive = addBuildDepends [ self.data-array-byte ] super.primitive; # For GHC < 9.2, os-string is not required. - hashable = addBuildDepends [ - self.data-array-byte - self.base-orphans - ] (super.hashable.override { - os-string = null; - }); + hashable = + addBuildDepends + [ + self.data-array-byte + self.base-orphans + ] + ( + super.hashable.override { + os-string = null; + } + ); # Too strict lower bounds on base primitive-addr = doJailbreak super.primitive-addr; @@ -83,7 +92,7 @@ self: super: { doctest = dontCheck super.doctest; - haskell-language-server = throw "haskell-language-server has dropped support for ghc 9.0 in version 2.4.0.0, please use a newer ghc version or an older nixpkgs version"; + haskell-language-server = throw "haskell-language-server has dropped support for ghc 9.0 in version 2.4.0.0, please use a newer ghc version or an older nixpkgs version"; # Needs to use ghc-lib due to incompatible GHC ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5); @@ -106,7 +115,7 @@ self: super: { # 2021-09-18: cabal2nix does not detect the need for ghc-api-compat. hiedb = overrideCabal (old: { - libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat]; + libraryHaskellDepends = old.libraryHaskellDepends ++ [ self.ghc-api-compat ]; }) super.hiedb; # https://github.com/lspitzner/butcher/issues/7 @@ -115,17 +124,19 @@ self: super: { # We use a GHC patch to support the fix for https://github.com/fpco/inline-c/issues/127 # which means that the upstream cabal file isn't allowed to add the flag. inline-c-cpp = - (if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x) - super.inline-c-cpp; + (if isDarwin then appendConfigureFlags [ "--ghc-option=-fcompact-unwind" ] else x: x) + super.inline-c-cpp; # 2022-05-31: weeder 2.4.* requires GHC 9.2 weeder = doDistribute self.weeder_2_3_1; # Unnecessarily strict upper bound on lens - weeder_2_3_1 = doJailbreak (super.weeder_2_3_1.override { - # weeder < 2.6 only supports algebraic-graphs < 0.7 - # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set - algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; - }); + weeder_2_3_1 = doJailbreak ( + super.weeder_2_3_1.override { + # weeder < 2.6 only supports algebraic-graphs < 0.7 + # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set + algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; + } + ); # Restrictive upper bound on base and containers sv2v = doJailbreak super.sv2v; @@ -149,13 +160,10 @@ self: super: { http-types = dontCheck super.http-types; # Packages which need compat library for GHC < 9.6 - inherit - (lib.mapAttrs - (_: addBuildDepends [ self.foldable1-classes-compat ]) - super) + inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super) indexed-traversable these - ; + ; base-compat-batteries = addBuildDepends [ self.foldable1-classes-compat self.OneTuple diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.12.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.12.x.nix index adc1896306202..da44762d969e4 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.12.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.12.x.nix @@ -45,7 +45,11 @@ self: super: { system-cxx-std-lib = null; template-haskell = null; # GHC only builds terminfo if it is a native compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else haskellLib.doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + haskellLib.doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix index eb31f4582a872..d81d457418c52 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix @@ -41,7 +41,11 @@ self: super: { stm = null; template-haskell = null; # GHC only builds terminfo if it is a native compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; @@ -59,23 +63,27 @@ self: super: { # weeder >= 2.5 requires GHC 9.4 weeder = doDistribute self.weeder_2_4_1; # Allow dhall 1.42.* - weeder_2_4_1 = doJailbreak (super.weeder_2_4_1.override { - # weeder < 2.6 only supports algebraic-graphs < 0.7 - # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set - algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; - }); - + weeder_2_4_1 = doJailbreak ( + super.weeder_2_4_1.override { + # weeder < 2.6 only supports algebraic-graphs < 0.7 + # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set + algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; + } + ); haskell-language-server = lib.pipe super.haskell-language-server [ (disableCabalFlag "fourmolu") (disableCabalFlag "ormolu") (disableCabalFlag "cabal") (disableCabalFlag "stylishHaskell") - (d: d.override { - ormolu = null; - fourmolu = null; - stan = null; - }) + ( + d: + d.override { + ormolu = null; + fourmolu = null; + stan = null; + } + ) ]; # For GHC < 9.4, some packages need data-array-byte as an extra dependency @@ -115,8 +123,8 @@ self: super: { # https://github.com/fpco/inline-c/pull/131 inline-c-cpp = - (if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x) - super.inline-c-cpp; + (if isDarwin then appendConfigureFlags [ "--ghc-option=-fcompact-unwind" ] else x: x) + super.inline-c-cpp; # A given major version of ghc-exactprint only supports one version of GHC. ghc-exactprint = super.ghc-exactprint_1_5_0; @@ -125,14 +133,11 @@ self: super: { ghc-source-gen = doDistribute (unmarkBroken super.ghc-source-gen); # Packages which need compat library for GHC < 9.6 - inherit - (lib.mapAttrs - (_: addBuildDepends [ self.foldable1-classes-compat ]) - super) + inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super) indexed-traversable OneTuple these - ; + ; base-compat-batteries = addBuildDepends [ self.foldable1-classes-compat self.OneTuple diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix index 9969456cee09d..18ba0d1af60c9 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix @@ -2,16 +2,20 @@ let inherit (pkgs) fetchpatch lib; - checkAgainAfter = pkg: ver: msg: act: - if builtins.compareVersions pkg.version ver <= 0 then act + checkAgainAfter = + pkg: ver: msg: act: + if builtins.compareVersions pkg.version ver <= 0 then + act else builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this"; in with haskellLib; -self: super: let +self: super: +let jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p); -in { +in +{ llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages; # Disable GHC core libraries. @@ -46,7 +50,11 @@ in { system-cxx-std-lib = null; template-haskell = null; # GHC only builds terminfo if it is a native compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; @@ -75,7 +83,7 @@ in { # 2021-10-10: 9.2.1 is not yet supported (also no issue) testFlags = [ "--skip=/Hpack/renderCabalFile/is inverse to readCabalFile/" - ] ++ drv.testFlags or []; + ] ++ drv.testFlags or [ ]; }) (doJailbreak super.hpack); # https://github.com/sjakobi/bsb-http-chunked/issues/38 @@ -119,17 +127,14 @@ in { ormolu hlint stylish-haskell - ; + ; # Packages which need compat library for GHC < 9.6 - inherit - (lib.mapAttrs - (_: addBuildDepends [ self.foldable1-classes-compat ]) - super) + inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super) indexed-traversable OneTuple these - ; + ; base-compat-batteries = addBuildDepends [ self.foldable1-classes-compat self.OneTuple diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix index b6485a111b20e..694b21a5e4824 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix @@ -5,19 +5,25 @@ with haskellLib; let inherit (pkgs) lib; - jailbreakWhileRevision = rev: + jailbreakWhileRevision = + rev: overrideCabal (old: { - jailbreak = assert old.revision or "0" == toString rev; true; + jailbreak = + assert old.revision or "0" == toString rev; + true; }); - checkAgainAfter = pkg: ver: msg: act: - if builtins.compareVersions pkg.version ver <= 0 then act + checkAgainAfter = + pkg: ver: msg: act: + if builtins.compareVersions pkg.version ver <= 0 then + act else builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this"; jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p); in -self: super: { +self: super: +{ llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages; # Disable GHC core libraries @@ -52,7 +58,11 @@ self: super: { system-cxx-std-lib = null; template-haskell = null; # terminfo is not built if GHC is a cross compiler - terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else doDistribute self.terminfo_0_4_1_6; + terminfo = + if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then + null + else + doDistribute self.terminfo_0_4_1_6; text = null; time = null; transformers = null; @@ -99,13 +109,13 @@ self: super: { # https://github.com/kowainik/relude/issues/436 relude = dontCheck (doJailbreak super.relude); - inherit (pkgs.lib.mapAttrs (_: doJailbreak ) super) + inherit (pkgs.lib.mapAttrs (_: doJailbreak) super) ghc-trace-events - gi-cairo-connector # mtl <2.3 - ghc-prof # base <4.18 - env-guard # doctest <0.21 - package-version # doctest <0.21, tasty-hedgehog <1.4 - ; + gi-cairo-connector # mtl <2.3 + ghc-prof # base <4.18 + env-guard # doctest <0.21 + package-version # doctest <0.21, tasty-hedgehog <1.4 + ; # Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327 gtk = doJailbreak super.gtk; @@ -119,54 +129,58 @@ self: super: { # This can be removed once https://github.com/typeclasses/ascii-predicates/pull/1 # is merged and in a release that's being tracked. - ascii-predicates = appendPatch - (pkgs.fetchpatch - { url = "https://github.com/typeclasses/ascii-predicates/commit/2e6d9ed45987a8566f3a77eedf7836055c076d1a.patch"; - name = "ascii-predicates-pull-1.patch"; - relative = "ascii-predicates"; - sha256 = "sha256-4JguQFZNRQpjZThLrAo13jNeypvLfqFp6o7c1bnkmZo="; - }) - super.ascii-predicates; + ascii-predicates = appendPatch (pkgs.fetchpatch { + url = "https://github.com/typeclasses/ascii-predicates/commit/2e6d9ed45987a8566f3a77eedf7836055c076d1a.patch"; + name = "ascii-predicates-pull-1.patch"; + relative = "ascii-predicates"; + sha256 = "sha256-4JguQFZNRQpjZThLrAo13jNeypvLfqFp6o7c1bnkmZo="; + }) super.ascii-predicates; # This can be removed once https://github.com/typeclasses/ascii-numbers/pull/1 # is merged and in a release that's being tracked. - ascii-numbers = appendPatch - (pkgs.fetchpatch - { url = "https://github.com/typeclasses/ascii-numbers/commit/e9474ad91bc997891f1a46afd5d0bdf9b9f7d768.patch"; - name = "ascii-numbers-pull-1.patch"; - relative = "ascii-numbers"; - sha256 = "sha256-buw1UeW57CFefEfqdDUraSyQ+H/NvCZOv6WF2ORiYQg="; - }) - super.ascii-numbers; + ascii-numbers = appendPatch (pkgs.fetchpatch { + url = "https://github.com/typeclasses/ascii-numbers/commit/e9474ad91bc997891f1a46afd5d0bdf9b9f7d768.patch"; + name = "ascii-numbers-pull-1.patch"; + relative = "ascii-numbers"; + sha256 = "sha256-buw1UeW57CFefEfqdDUraSyQ+H/NvCZOv6WF2ORiYQg="; + }) super.ascii-numbers; # Apply patch from PR with mtl-2.3 fix. ConfigFile = overrideCabal (drv: { editedCabalFile = null; - buildDepends = drv.buildDepends or [] ++ [ self.HUnit ]; - patches = [(pkgs.fetchpatch { - # https://github.com/jgoerzen/configfile/pull/12 - name = "ConfigFile-pr-12.patch"; - url = "https://github.com/jgoerzen/configfile/compare/d0a2e654be0b73eadbf2a50661d00574ad7b6f87...83ee30b43f74d2b6781269072cf5ed0f0e00012f.patch"; - sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ="; - })]; + buildDepends = drv.buildDepends or [ ] ++ [ self.HUnit ]; + patches = [ + (pkgs.fetchpatch { + # https://github.com/jgoerzen/configfile/pull/12 + name = "ConfigFile-pr-12.patch"; + url = "https://github.com/jgoerzen/configfile/compare/d0a2e654be0b73eadbf2a50661d00574ad7b6f87...83ee30b43f74d2b6781269072cf5ed0f0e00012f.patch"; + sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ="; + }) + ]; }) super.ConfigFile; # Compatibility with core libs of GHC 9.6 # Jailbreak to lift bound on time - kqueue = doJailbreak (appendPatches [ - (pkgs.fetchpatch { - name = "kqueue-ghc-9.6.patch"; - url = "https://github.com/hesselink/kqueue/pull/10/commits/a2735e807d761410e776482ec04515d9cf76a7f5.patch"; - sha256 = "18rilz4nrwcmlvll3acjx2lp7s129pviggb8fy3hdb0z34ls5j84"; - excludes = [ ".gitignore" ]; - }) - ] super.kqueue); + kqueue = doJailbreak ( + appendPatches [ + (pkgs.fetchpatch { + name = "kqueue-ghc-9.6.patch"; + url = "https://github.com/hesselink/kqueue/pull/10/commits/a2735e807d761410e776482ec04515d9cf76a7f5.patch"; + sha256 = "18rilz4nrwcmlvll3acjx2lp7s129pviggb8fy3hdb0z34ls5j84"; + excludes = [ ".gitignore" ]; + }) + ] super.kqueue + ); # This runs into the following GHC bug currently affecting 9.6.* and 9.8.* as # well as 9.10.1: https://gitlab.haskell.org/ghc/ghc/-/issues/24432 - inherit (lib.mapAttrs (_: overrideCabal (drv: { - badPlatforms = drv.badPlatforms or [ ] ++ [ "aarch64-linux" ]; - })) super) + inherit + (lib.mapAttrs ( + _: + overrideCabal (drv: { + badPlatforms = drv.badPlatforms or [ ] ++ [ "aarch64-linux" ]; + }) + ) super) mueval lambdabot lambdabot-haskell-plugins @@ -175,13 +189,15 @@ self: super: { singletons-base = dontCheck super.singletons-base; } # super.ghc is required to break infinite recursion as Nix is strict in the attrNames -// lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && lib.versionOlder super.ghc.version "9.6.4") { - # The NCG backend for aarch64 generates invalid jumps in some situations, - # the workaround on 9.6 is to revert to the LLVM backend (which is used - # for these sorts of situations even on 9.2 and 9.4). - # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318 - inherit (lib.mapAttrs (_: self.forceLlvmCodegenBackend) super) - tls - mmark - ; -} +// + lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && lib.versionOlder super.ghc.version "9.6.4") + { + # The NCG backend for aarch64 generates invalid jumps in some situations, + # the workaround on 9.6 is to revert to the LLVM backend (which is used + # for these sorts of situations even on 9.2 and 9.4). + # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318 + inherit (lib.mapAttrs (_: self.forceLlvmCodegenBackend) super) + tls + mmark + ; + } diff --git a/pkgs/development/haskell-modules/configuration-ghcjs-8.x.nix b/pkgs/development/haskell-modules/configuration-ghcjs-8.x.nix index 3f6e399f795b8..4c532de28bf20 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs-8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs-8.x.nix @@ -5,8 +5,8 @@ { pkgs, haskellLib }: let - removeLibraryHaskellDepends = pnames: depends: - builtins.filter (e: !(builtins.elem (e.pname or "") pnames)) depends; + removeLibraryHaskellDepends = + pnames: depends: builtins.filter (e: !(builtins.elem (e.pname or "") pnames)) depends; in with haskellLib; @@ -16,13 +16,21 @@ self: super: ## GENERAL SETUP BASE PACKAGES { inherit (self.ghc.bootPkgs) - jailbreak-cabal alex happy gtk2hs-buildtools rehoo hoogle; + jailbreak-cabal + alex + happy + gtk2hs-buildtools + rehoo + hoogle + ; # Test suite fails; https://github.com/ghcjs/ghcjs-base/issues/133 - ghcjs-base = dontCheck (self.callPackage ../compilers/ghcjs/ghcjs-base.nix { - fetchFromGitHub = pkgs.buildPackages.fetchFromGitHub; - aeson = self.aeson_1_5_6_0; - }); + ghcjs-base = dontCheck ( + self.callPackage ../compilers/ghcjs/ghcjs-base.nix { + fetchFromGitHub = pkgs.buildPackages.fetchFromGitHub; + aeson = self.aeson_1_5_6_0; + } + ); # Included in ghcjs itself ghcjs-prim = null; @@ -34,7 +42,7 @@ self: super: stm = doJailbreak self.stm_2_5_3_1; exceptions = dontCheck self.exceptions_0_10_8; -## OTHER PACKAGES + ## OTHER PACKAGES # Runtime exception in tests, missing C API h$realloc base-compat-batteries = dontCheck super.base-compat-batteries; @@ -50,13 +58,22 @@ self: super: ghcjs-dom = overrideCabal (drv: { libraryHaskellDepends = with self; [ - ghcjs-base ghcjs-dom-jsffi text transformers + ghcjs-base + ghcjs-dom-jsffi + text + transformers + ]; + configureFlags = [ + "-fjsffi" + "-f-webkit" ]; - configureFlags = [ "-fjsffi" "-f-webkit" ]; }) super.ghcjs-dom; ghcjs-dom-jsffi = overrideCabal (drv: { - libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base self.text ]; + libraryHaskellDepends = (drv.libraryHaskellDepends or [ ]) ++ [ + self.ghcjs-base + self.text + ]; broken = false; }) super.ghcjs-dom-jsffi; @@ -70,7 +87,7 @@ self: super: http-types = dontCheck super.http-types; jsaddle = overrideCabal (drv: { - libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ]; + libraryHaskellDepends = (drv.libraryHaskellDepends or [ ]) ++ [ self.ghcjs-base ]; }) super.jsaddle; # Tests hang, possibly some issue with tasty and race(async) usage in the nonTerminating tests @@ -85,11 +102,13 @@ self: super: QuickCheck = dontCheck super.QuickCheck; reflex = overrideCabal (drv: { - libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ]; + libraryHaskellDepends = (drv.libraryHaskellDepends or [ ]) ++ [ self.ghcjs-base ]; }) super.reflex; reflex-dom = overrideCabal (drv: { - libraryHaskellDepends = removeLibraryHaskellDepends ["jsaddle-webkit2gtk"] (drv.libraryHaskellDepends or []); + libraryHaskellDepends = removeLibraryHaskellDepends [ "jsaddle-webkit2gtk" ] ( + drv.libraryHaskellDepends or [ ] + ); }) super.reflex-dom; # https://github.com/dreixel/syb/issues/21 diff --git a/pkgs/development/haskell-modules/configuration-tensorflow.nix b/pkgs/development/haskell-modules/configuration-tensorflow.nix index 634f521e5aa49..2f2727159449f 100644 --- a/pkgs/development/haskell-modules/configuration-tensorflow.nix +++ b/pkgs/development/haskell-modules/configuration-tensorflow.nix @@ -16,16 +16,18 @@ let fetchSubmodules = true; }; - setTensorflowSourceRoot = dir: drv: - (overrideCabal (drv: { src = tensorflow-haskell; }) drv) - .overrideAttrs (_oldAttrs: { sourceRoot = "${tensorflow-haskell.name}/${dir}"; }); + setTensorflowSourceRoot = + dir: drv: + (overrideCabal (drv: { src = tensorflow-haskell; }) drv).overrideAttrs (_oldAttrs: { + sourceRoot = "${tensorflow-haskell.name}/${dir}"; + }); in { tensorflow-proto = doJailbreak (setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto); - tensorflow = overrideCabal - (drv: { libraryHaskellDepends = drv.libraryHaskellDepends ++ [self.vector-split]; }) - (setTensorflowSourceRoot "tensorflow" super.tensorflow); + tensorflow = overrideCabal (drv: { + libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.vector-split ]; + }) (setTensorflowSourceRoot "tensorflow" super.tensorflow); tensorflow-core-ops = setTensorflowSourceRoot "tensorflow-core-ops" super.tensorflow-core-ops; diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index db247f7030527..8d34d6f4b2a8d 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -1,15 +1,21 @@ -{ pkgs, stdenv, lib, haskellLib, ghc, all-cabal-hashes -, buildHaskellPackages -, compilerConfig ? (self: super: {}) -, packageSetConfig ? (self: super: {}) -, overrides ? (self: super: {}) -, initialPackages ? import ./initial-packages.nix -, nonHackagePackages ? import ./non-hackage-packages.nix -, configurationCommon ? import ./configuration-common.nix -, configurationNix ? import ./configuration-nix.nix -, configurationArm ? import ./configuration-arm.nix -, configurationDarwin ? import ./configuration-darwin.nix -, configurationJS ? import ./configuration-ghcjs-9.x.nix +{ + pkgs, + stdenv, + lib, + haskellLib, + ghc, + all-cabal-hashes, + buildHaskellPackages, + compilerConfig ? (self: super: { }), + packageSetConfig ? (self: super: { }), + overrides ? (self: super: { }), + initialPackages ? import ./initial-packages.nix, + nonHackagePackages ? import ./non-hackage-packages.nix, + configurationCommon ? import ./configuration-common.nix, + configurationNix ? import ./configuration-nix.nix, + configurationArm ? import ./configuration-arm.nix, + configurationDarwin ? import ./configuration-darwin.nix, + configurationJS ? import ./configuration-ghcjs-9.x.nix, }: let @@ -19,33 +25,47 @@ let haskellPackages = pkgs.callPackage makePackageSet { package-set = initialPackages; - inherit stdenv haskellLib ghc extensible-self all-cabal-hashes; + inherit + stdenv + haskellLib + ghc + extensible-self + all-cabal-hashes + ; # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing here. - buildHaskellPackages = buildHaskellPackages // { __attrsFailEvaluation = true; }; + buildHaskellPackages = buildHaskellPackages // { + __attrsFailEvaluation = true; + }; }; - platformConfigurations = lib.optionals stdenv.hostPlatform.isAarch [ - (configurationArm { inherit pkgs haskellLib; }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (configurationDarwin { inherit pkgs haskellLib; }) - ] ++ lib.optionals stdenv.hostPlatform.isGhcjs [ - (configurationJS { inherit pkgs haskellLib; }) - ] - ; - - extensions = lib.composeManyExtensions ([ - (nonHackagePackages { inherit pkgs haskellLib; }) - (configurationNix { inherit pkgs haskellLib; }) - (configurationCommon { inherit pkgs haskellLib; }) - ] ++ platformConfigurations ++ [ - compilerConfig - packageSetConfig - overrides - ]); + platformConfigurations = + lib.optionals stdenv.hostPlatform.isAarch [ + (configurationArm { inherit pkgs haskellLib; }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (configurationDarwin { inherit pkgs haskellLib; }) + ] + ++ lib.optionals stdenv.hostPlatform.isGhcjs [ + (configurationJS { inherit pkgs haskellLib; }) + ]; + + extensions = lib.composeManyExtensions ( + [ + (nonHackagePackages { inherit pkgs haskellLib; }) + (configurationNix { inherit pkgs haskellLib; }) + (configurationCommon { inherit pkgs haskellLib; }) + ] + ++ platformConfigurations + ++ [ + compilerConfig + packageSetConfig + overrides + ] + ); extensible-self = makeExtensible (extends extensions haskellPackages); in - extensible-self +extensible-self diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix index eae0337effc07..d2f6beb5260c6 100644 --- a/pkgs/development/haskell-modules/generic-stack-builder.nix +++ b/pkgs/development/haskell-modules/generic-stack-builder.nix @@ -1,13 +1,22 @@ -{ stdenv, ghc, pkg-config, glibcLocales -, cacert, stack, makeSetupHook, lib }@depArgs: - -{ buildInputs ? [] -, nativeBuildInputs ? [] -, extraArgs ? [] -, LD_LIBRARY_PATH ? [] -, ghc ? depArgs.ghc -, stack ? depArgs.stack -, ... +{ + stdenv, + ghc, + pkg-config, + glibcLocales, + cacert, + stack, + makeSetupHook, + lib, +}@depArgs: + +{ + buildInputs ? [ ], + nativeBuildInputs ? [ ], + extraArgs ? [ ], + LD_LIBRARY_PATH ? [ ], + ghc ? depArgs.ghc, + stack ? depArgs.stack, + ... }@args: let @@ -20,61 +29,71 @@ let name = "stack-hook"; } ./stack-hook.sh; -in stdenv.mkDerivation (args // { +in +stdenv.mkDerivation ( + args + // { - # Doesn't work in the sandbox. Pass `--option sandbox relaxed` or - # `--option sandbox false` to be able to build this - __noChroot = true; + # Doesn't work in the sandbox. Pass `--option sandbox relaxed` or + # `--option sandbox false` to be able to build this + __noChroot = true; - buildInputs = buildInputs - ++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales; + buildInputs = buildInputs ++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales; - nativeBuildInputs = nativeBuildInputs - ++ [ ghc pkg-config stack stackHook ]; + nativeBuildInputs = nativeBuildInputs ++ [ + ghc + pkg-config + stack + stackHook + ]; - STACK_PLATFORM_VARIANT = "nix"; - STACK_IN_NIX_SHELL = 1; - STACK_IN_NIX_EXTRA_ARGS = extraArgs; + STACK_PLATFORM_VARIANT = "nix"; + STACK_IN_NIX_SHELL = 1; + STACK_IN_NIX_EXTRA_ARGS = extraArgs; - # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042. - LD_LIBRARY_PATH = lib.makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs); - # ^^^ Internally uses `getOutput "lib"` (equiv. to getLib) + # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042. + LD_LIBRARY_PATH = lib.makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs); + # ^^^ Internally uses `getOutput "lib"` (equiv. to getLib) - # Non-NixOS git needs cert - GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + # Non-NixOS git needs cert + GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - # Fixes https://github.com/commercialhaskell/stack/issues/2358 - LANG = "en_US.UTF-8"; + # Fixes https://github.com/commercialhaskell/stack/issues/2358 + LANG = "en_US.UTF-8"; - preferLocalBuild = true; + preferLocalBuild = true; - preConfigure = '' - export STACK_ROOT=$NIX_BUILD_TOP/.stack - ''; + preConfigure = '' + export STACK_ROOT=$NIX_BUILD_TOP/.stack + ''; - buildPhase = args.buildPhase or '' - runHook preBuild + buildPhase = + args.buildPhase or '' + runHook preBuild - ${stackCmd} build + ${stackCmd} build - runHook postBuild - ''; + runHook postBuild + ''; - checkPhase = args.checkPhase or '' - runHook preCheck + checkPhase = + args.checkPhase or '' + runHook preCheck - ${stackCmd} test + ${stackCmd} test - runHook postCheck - ''; + runHook postCheck + ''; - doCheck = args.doCheck or true; + doCheck = args.doCheck or true; - installPhase = args.installPhase or '' - runHook preInstall + installPhase = + args.installPhase or '' + runHook preInstall - ${stackCmd} --local-bin-path=$out/bin build --copy-bins + ${stackCmd} --local-bin-path=$out/bin build --copy-bins - runHook postInstall - ''; -}) + runHook postInstall + ''; + } +) diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix index ebd0e15c28009..9237f0fda59f7 100644 --- a/pkgs/development/haskell-modules/hoogle.nix +++ b/pkgs/development/haskell-modules/hoogle.nix @@ -2,8 +2,12 @@ # database which provides "Source" links to all specified 'packages' -- or the # current Haskell Platform if no custom package set is provided. -{ lib, stdenv, buildPackages, haskellPackages -, writeText +{ + lib, + stdenv, + buildPackages, + haskellPackages, + writeText, }: # This argument is a function which selects a list of Haskell packages from any @@ -20,30 +24,29 @@ let wrapper = ./hoogle-local-wrapper.sh; isGhcjs = ghc.isGhcjs or false; opts = lib.optionalString; - haddockExe = - if !isGhcjs - then "haddock" - else "haddock-ghcjs"; - ghcDocLibDir = - if !isGhcjs - then ghc.doc + "/share/doc/ghc*/html/libraries" - else ghc + "/doc/lib"; + haddockExe = if !isGhcjs then "haddock" else "haddock-ghcjs"; + ghcDocLibDir = if !isGhcjs then ghc.doc + "/share/doc/ghc*/html/libraries" else ghc + "/doc/lib"; # On GHCJS, use a stripped down version of GHC's prologue.txt prologue = - if !isGhcjs - then "${ghcDocLibDir}/prologue.txt" - else writeText "ghcjs-prologue.txt" '' - This index includes documentation for many Haskell modules. - ''; - - docPackages = lib.closePropagation - # we grab the doc outputs - (map (lib.getOutput "doc") packages); + if !isGhcjs then + "${ghcDocLibDir}/prologue.txt" + else + writeText "ghcjs-prologue.txt" '' + This index includes documentation for many Haskell modules. + ''; + + docPackages = + lib.closePropagation + # we grab the doc outputs + (map (lib.getOutput "doc") packages); in buildPackages.stdenv.mkDerivation { name = "hoogle-with-packages"; - buildInputs = [ghc hoogle]; + buildInputs = [ + ghc + hoogle + ]; # compiling databases takes less time than copying the results # between machines. @@ -57,16 +60,21 @@ buildPackages.stdenv.mkDerivation { inherit docPackages; - passAsFile = ["buildCommand"]; + passAsFile = [ "buildCommand" ]; buildCommand = '' - ${let # Filter out nulls here to work around https://github.com/NixOS/nixpkgs/issues/82245 - # If we don't then grabbing `p.name` here will fail. - packages' = lib.filter (p: p != null) packages; - in lib.optionalString (packages' != [] -> docPackages == []) - ("echo WARNING: localHoogle package list empty, even though" - + " the following were specified: " - + lib.concatMapStringsSep ", " (p: p.name) packages')} + ${ + let + # Filter out nulls here to work around https://github.com/NixOS/nixpkgs/issues/82245 + # If we don't then grabbing `p.name` here will fail. + packages' = lib.filter (p: p != null) packages; + in + lib.optionalString (packages' != [ ] -> docPackages == [ ]) ( + "echo WARNING: localHoogle package list empty, even though" + + " the following were specified: " + + lib.concatMapStringsSep ", " (p: p.name) packages' + ) + } mkdir -p $out/share/doc/hoogle echo importing builtin packages @@ -79,13 +87,19 @@ buildPackages.stdenv.mkDerivation { done echo importing other packages - ${lib.concatMapStringsSep "\n" (el: '' + ${lib.concatMapStringsSep "\n" + (el: '' ln -sfn ${el.haddockDir} "$out/share/doc/hoogle/${el.name}" '') - (lib.filter (el: el.haddockDir != null) - (builtins.map (p: { haddockDir = if p ? haddockDir then p.haddockDir p else null; - name = p.pname; }) - docPackages))} + ( + lib.filter (el: el.haddockDir != null) ( + builtins.map (p: { + haddockDir = if p ? haddockDir then p.haddockDir p else null; + name = p.pname; + }) docPackages + ) + ) + } echo building hoogle database hoogle generate --database $out/share/doc/hoogle/default.hoo --local=$out/share/doc/hoogle diff --git a/pkgs/development/haskell-modules/initial-packages.nix b/pkgs/development/haskell-modules/initial-packages.nix index 3bbf9c037dd49..e114980043bf1 100644 --- a/pkgs/development/haskell-modules/initial-packages.nix +++ b/pkgs/development/haskell-modules/initial-packages.nix @@ -1,2 +1,6 @@ -args@{ pkgs, lib, callPackage }: self: - (import ./hackage-packages.nix args self) +args@{ + pkgs, + lib, + callPackage, +}: +self: (import ./hackage-packages.nix args self) diff --git a/pkgs/development/haskell-modules/lib/compose.nix b/pkgs/development/haskell-modules/lib/compose.nix index cbefc44bb01d0..12b728e9d2457 100644 --- a/pkgs/development/haskell-modules/lib/compose.nix +++ b/pkgs/development/haskell-modules/lib/compose.nix @@ -4,269 +4,425 @@ rec { - /* This function takes a file like `hackage-packages.nix` and constructs - a full package set out of that. - */ + /* + This function takes a file like `hackage-packages.nix` and constructs + a full package set out of that. + */ makePackageSet = import ../make-package-set.nix; - /* The function overrideCabal lets you alter the arguments to the - mkDerivation function. - - Example: + /* + The function overrideCabal lets you alter the arguments to the + mkDerivation function. - First, note how the aeson package is constructed in hackage-packages.nix: + Example: - "aeson" = callPackage ({ mkDerivation, attoparsec, - }: - mkDerivation { - pname = "aeson"; - - homepage = "https://github.com/bos/aeson"; - }) + First, note how the aeson package is constructed in hackage-packages.nix: - The mkDerivation function of haskellPackages will take care of putting - the homepage in the right place, in meta. + "aeson" = callPackage ({ mkDerivation, attoparsec, + }: + mkDerivation { + pname = "aeson"; + + homepage = "https://github.com/bos/aeson"; + }) - > haskellPackages.aeson.meta.homepage - "https://github.com/bos/aeson" + The mkDerivation function of haskellPackages will take care of putting + the homepage in the right place, in meta. - > x = haskell.lib.compose.overrideCabal (old: { homepage = old.homepage + "#readme"; }) haskellPackages.aeson - > x.meta.homepage - "https://github.com/bos/aeson#readme" + > haskellPackages.aeson.meta.homepage + "https://github.com/bos/aeson" - */ - overrideCabal = f: drv: (drv.override (args: args // { - mkDerivation = drv: (args.mkDerivation drv).override f; - })) // { - overrideScope = scope: overrideCabal f (drv.overrideScope scope); - }; + > x = haskell.lib.compose.overrideCabal (old: { homepage = old.homepage + "#readme"; }) haskellPackages.aeson + > x.meta.homepage + "https://github.com/bos/aeson#readme" + */ + overrideCabal = + f: drv: + (drv.override ( + args: + args + // { + mkDerivation = drv: (args.mkDerivation drv).override f; + } + )) + // { + overrideScope = scope: overrideCabal f (drv.overrideScope scope); + }; # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet # Given a set whose values are either paths or version strings, produces # a package override set (i.e. (self: super: { etc. })) that sets # the packages named in the input set to the corresponding versions packageSourceOverrides = - overrides: self: super: pkgs.lib.mapAttrs (name: src: - let isPath = x: builtins.substring 0 1 (toString x) == "/"; - generateExprs = if isPath src - then self.callCabal2nix - else self.callHackage; - in generateExprs name src {}) overrides; - - /* doCoverage modifies a haskell package to enable the generation - and installation of a coverage report. - - See https://wiki.haskell.org/Haskell_program_coverage - */ - doCoverage = overrideCabal (drv: { doCoverage = true; }); - - /* dontCoverage modifies a haskell package to disable the generation - and installation of a coverage report. - */ - dontCoverage = overrideCabal (drv: { doCoverage = false; }); - - /* doHaddock modifies a haskell package to enable the generation and - installation of API documentation from code comments using the - haddock tool. - */ - doHaddock = overrideCabal (drv: { doHaddock = true; }); - - /* dontHaddock modifies a haskell package to disable the generation and - installation of API documentation from code comments using the - haddock tool. - */ - dontHaddock = overrideCabal (drv: { doHaddock = false; }); - - /* doJailbreak enables the removal of version bounds from the cabal - file. You may want to avoid this function. - - This is useful when a package reports that it can not be built - due to version mismatches. In some cases, removing the version - bounds entirely is an easy way to make a package build, but at - the risk of breaking software in non-obvious ways now or in the - future. - - Instead of jailbreaking, you can patch the cabal file. - - Note that jailbreaking at this time, doesn't lift bounds on - conditional branches. - https://github.com/peti/jailbreak-cabal/issues/7 has further details. - - */ - doJailbreak = overrideCabal (drv: { jailbreak = true; }); - - /* dontJailbreak restores the use of the version bounds the check - the use of dependencies in the package description. - */ - dontJailbreak = overrideCabal (drv: { jailbreak = false; }); - - /* doCheck enables dependency checking, compilation and execution - of test suites listed in the package description file. - */ - doCheck = overrideCabal (drv: { doCheck = true; }); - /* dontCheck disables dependency checking, compilation and execution - of test suites listed in the package description file. - */ - dontCheck = overrideCabal (drv: { doCheck = false; }); - /* The dontCheckIf variant sets doCheck = false if the condition - applies. In any other case the previously set/default value is used. - This prevents accidentally re-enabling tests in a later override. - */ + overrides: self: super: + pkgs.lib.mapAttrs ( + name: src: + let + isPath = x: builtins.substring 0 1 (toString x) == "/"; + generateExprs = if isPath src then self.callCabal2nix else self.callHackage; + in + generateExprs name src { } + ) overrides; + + /* + doCoverage modifies a haskell package to enable the generation + and installation of a coverage report. + + See https://wiki.haskell.org/Haskell_program_coverage + */ + doCoverage = overrideCabal (drv: { + doCoverage = true; + }); + + /* + dontCoverage modifies a haskell package to disable the generation + and installation of a coverage report. + */ + dontCoverage = overrideCabal (drv: { + doCoverage = false; + }); + + /* + doHaddock modifies a haskell package to enable the generation and + installation of API documentation from code comments using the + haddock tool. + */ + doHaddock = overrideCabal (drv: { + doHaddock = true; + }); + + /* + dontHaddock modifies a haskell package to disable the generation and + installation of API documentation from code comments using the + haddock tool. + */ + dontHaddock = overrideCabal (drv: { + doHaddock = false; + }); + + /* + doJailbreak enables the removal of version bounds from the cabal + file. You may want to avoid this function. + + This is useful when a package reports that it can not be built + due to version mismatches. In some cases, removing the version + bounds entirely is an easy way to make a package build, but at + the risk of breaking software in non-obvious ways now or in the + future. + + Instead of jailbreaking, you can patch the cabal file. + + Note that jailbreaking at this time, doesn't lift bounds on + conditional branches. + https://github.com/peti/jailbreak-cabal/issues/7 has further details. + */ + doJailbreak = overrideCabal (drv: { + jailbreak = true; + }); + + /* + dontJailbreak restores the use of the version bounds the check + the use of dependencies in the package description. + */ + dontJailbreak = overrideCabal (drv: { + jailbreak = false; + }); + + /* + doCheck enables dependency checking, compilation and execution + of test suites listed in the package description file. + */ + doCheck = overrideCabal (drv: { + doCheck = true; + }); + /* + dontCheck disables dependency checking, compilation and execution + of test suites listed in the package description file. + */ + dontCheck = overrideCabal (drv: { + doCheck = false; + }); + /* + The dontCheckIf variant sets doCheck = false if the condition + applies. In any other case the previously set/default value is used. + This prevents accidentally re-enabling tests in a later override. + */ dontCheckIf = condition: if condition then dontCheck else lib.id; - /* doBenchmark enables dependency checking and compilation - for benchmarks listed in the package description file. - Benchmarks are, however, not executed at the moment. - */ - doBenchmark = overrideCabal (drv: { doBenchmark = true; }); - /* dontBenchmark disables dependency checking, compilation and execution - for benchmarks listed in the package description file. - */ - dontBenchmark = overrideCabal (drv: { doBenchmark = false; }); - - /* doDistribute enables the distribution of binaries for the package - via hydra. - */ + /* + doBenchmark enables dependency checking and compilation + for benchmarks listed in the package description file. + Benchmarks are, however, not executed at the moment. + */ + doBenchmark = overrideCabal (drv: { + doBenchmark = true; + }); + /* + dontBenchmark disables dependency checking, compilation and execution + for benchmarks listed in the package description file. + */ + dontBenchmark = overrideCabal (drv: { + doBenchmark = false; + }); + + /* + doDistribute enables the distribution of binaries for the package + via hydra. + */ doDistribute = overrideCabal (drv: { # lib.platforms.all is the default value for platforms (since GHC can cross-compile) - hydraPlatforms = lib.subtractLists (drv.badPlatforms or []) - (drv.platforms or lib.platforms.all); + hydraPlatforms = lib.subtractLists (drv.badPlatforms or [ ]) (drv.platforms or lib.platforms.all); + }); + /* + dontDistribute disables the distribution of binaries for the package + via hydra. + */ + dontDistribute = overrideCabal (drv: { + hydraPlatforms = [ ]; }); - /* dontDistribute disables the distribution of binaries for the package - via hydra. - */ - dontDistribute = overrideCabal (drv: { hydraPlatforms = []; }); - /* appendConfigureFlag adds a single argument that will be passed to the - cabal configure command, after the arguments that have been defined - in the initial declaration or previous overrides. + /* + appendConfigureFlag adds a single argument that will be passed to the + cabal configure command, after the arguments that have been defined + in the initial declaration or previous overrides. - Example: + Example: - > haskell.lib.compose.appendConfigureFlag "--profiling-detail=all-functions" haskellPackages.servant - */ - appendConfigureFlag = x: appendConfigureFlags [x]; - appendConfigureFlags = xs: overrideCabal (drv: { configureFlags = (drv.configureFlags or []) ++ xs; }); + > haskell.lib.compose.appendConfigureFlag "--profiling-detail=all-functions" haskellPackages.servant + */ + appendConfigureFlag = x: appendConfigureFlags [ x ]; + appendConfigureFlags = + xs: + overrideCabal (drv: { + configureFlags = (drv.configureFlags or [ ]) ++ xs; + }); - appendBuildFlag = x: overrideCabal (drv: { buildFlags = (drv.buildFlags or []) ++ [x]; }); - appendBuildFlags = xs: overrideCabal (drv: { buildFlags = (drv.buildFlags or []) ++ xs; }); + appendBuildFlag = + x: + overrideCabal (drv: { + buildFlags = (drv.buildFlags or [ ]) ++ [ x ]; + }); + appendBuildFlags = + xs: + overrideCabal (drv: { + buildFlags = (drv.buildFlags or [ ]) ++ xs; + }); - /* removeConfigureFlag drv x is a Haskell package like drv, but with - all cabal configure arguments that are equal to x removed. + /* + removeConfigureFlag drv x is a Haskell package like drv, but with + all cabal configure arguments that are equal to x removed. - > haskell.lib.compose.removeConfigureFlag "--verbose" haskellPackages.servant - */ - removeConfigureFlag = x: overrideCabal (drv: { configureFlags = lib.remove x (drv.configureFlags or []); }); + > haskell.lib.compose.removeConfigureFlag "--verbose" haskellPackages.servant + */ + removeConfigureFlag = + x: + overrideCabal (drv: { + configureFlags = lib.remove x (drv.configureFlags or [ ]); + }); - addBuildTool = x: addBuildTools [x]; - addBuildTools = xs: overrideCabal (drv: { buildTools = (drv.buildTools or []) ++ xs; }); + addBuildTool = x: addBuildTools [ x ]; + addBuildTools = + xs: + overrideCabal (drv: { + buildTools = (drv.buildTools or [ ]) ++ xs; + }); - addExtraLibrary = x: addExtraLibraries [x]; - addExtraLibraries = xs: overrideCabal (drv: { extraLibraries = (drv.extraLibraries or []) ++ xs; }); + addExtraLibrary = x: addExtraLibraries [ x ]; + addExtraLibraries = + xs: + overrideCabal (drv: { + extraLibraries = (drv.extraLibraries or [ ]) ++ xs; + }); - addBuildDepend = x: addBuildDepends [x]; - addBuildDepends = xs: overrideCabal (drv: { buildDepends = (drv.buildDepends or []) ++ xs; }); + addBuildDepend = x: addBuildDepends [ x ]; + addBuildDepends = + xs: + overrideCabal (drv: { + buildDepends = (drv.buildDepends or [ ]) ++ xs; + }); - addTestToolDepend = x: addTestToolDepends [x]; - addTestToolDepends = xs: overrideCabal (drv: { testToolDepends = (drv.testToolDepends or []) ++ xs; }); + addTestToolDepend = x: addTestToolDepends [ x ]; + addTestToolDepends = + xs: + overrideCabal (drv: { + testToolDepends = (drv.testToolDepends or [ ]) ++ xs; + }); - addPkgconfigDepend = x: addPkgconfigDepends [x]; - addPkgconfigDepends = xs: overrideCabal (drv: { pkg-configDepends = (drv.pkg-configDepends or []) ++ xs; }); + addPkgconfigDepend = x: addPkgconfigDepends [ x ]; + addPkgconfigDepends = + xs: + overrideCabal (drv: { + pkg-configDepends = (drv.pkg-configDepends or [ ]) ++ xs; + }); - addSetupDepend = x: addSetupDepends [x]; - addSetupDepends = xs: overrideCabal (drv: { setupHaskellDepends = (drv.setupHaskellDepends or []) ++ xs; }); + addSetupDepend = x: addSetupDepends [ x ]; + addSetupDepends = + xs: + overrideCabal (drv: { + setupHaskellDepends = (drv.setupHaskellDepends or [ ]) ++ xs; + }); enableCabalFlag = x: drv: appendConfigureFlag "-f${x}" (removeConfigureFlag "-f-${x}" drv); disableCabalFlag = x: drv: appendConfigureFlag "-f-${x}" (removeConfigureFlag "-f${x}" drv); - markBroken = overrideCabal (drv: { broken = true; hydraPlatforms = []; }); - unmarkBroken = overrideCabal (drv: { broken = false; }); - markBrokenVersion = version: drv: assert drv.version == version; markBroken drv; - markUnbroken = overrideCabal (drv: { broken = false; }); - - /* disableParallelBuilding drops the -j option from the GHC - command line for the given package. This can be useful in rare - situations where parallel building of a package causes GHC to - fail for some reason. - */ - disableParallelBuilding = overrideCabal (drv: { enableParallelBuilding = false; }); - - enableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = true; }); - disableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = false; }); - - enableExecutableProfiling = overrideCabal (drv: { enableExecutableProfiling = true; }); - disableExecutableProfiling = overrideCabal (drv: { enableExecutableProfiling = false; }); - - enableSharedExecutables = overrideCabal (drv: { enableSharedExecutables = true; }); - disableSharedExecutables = overrideCabal (drv: { enableSharedExecutables = false; }); - - enableSharedLibraries = overrideCabal (drv: { enableSharedLibraries = true; }); - disableSharedLibraries = overrideCabal (drv: { enableSharedLibraries = false; }); - - enableDeadCodeElimination = overrideCabal (drv: { enableDeadCodeElimination = true; }); - disableDeadCodeElimination = overrideCabal (drv: { enableDeadCodeElimination = false; }); - - enableStaticLibraries = overrideCabal (drv: { enableStaticLibraries = true; }); - disableStaticLibraries = overrideCabal (drv: { enableStaticLibraries = false; }); - - enableSeparateBinOutput = overrideCabal (drv: { enableSeparateBinOutput = true; }); - - appendPatch = x: appendPatches [x]; - appendPatches = xs: overrideCabal (drv: { patches = (drv.patches or []) ++ xs; }); - - /* Set a specific build target instead of compiling all targets in the package. - * For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server". - * We can build only "server" and not wait on the compilation of "dev" by using setBuildTarget as follows: - * - * > setBuildTarget "server" (callCabal2nix "thePackageName" thePackageSrc {}) - * - */ - setBuildTargets = xs: overrideCabal (drv: { buildTarget = lib.concatStringsSep " " xs; }); - setBuildTarget = x: setBuildTargets [x]; - - doHyperlinkSource = overrideCabal (drv: { hyperlinkSource = true; }); - dontHyperlinkSource = overrideCabal (drv: { hyperlinkSource = false; }); - - disableHardening = flags: overrideCabal (drv: { hardeningDisable = flags; }); - - /* Let Nix strip the binary files. - * This removes debugging symbols. - */ - doStrip = overrideCabal (drv: { dontStrip = false; }); - - /* Stop Nix from stripping the binary files. - * This keeps debugging symbols. - */ - dontStrip = overrideCabal (drv: { dontStrip = true; }); - - /* Useful for debugging segfaults with gdb. - * This includes dontStrip. - */ - enableDWARFDebugging = drv: - # -g: enables debugging symbols - # --disable-*-stripping: tell GHC not to strip resulting binaries - # dontStrip: see above - appendConfigureFlag "--ghc-options=-g --disable-executable-stripping --disable-library-stripping" (dontStrip drv); - - /* Create a source distribution tarball like those found on hackage, - instead of building the package. - */ - sdistTarball = pkg: lib.overrideDerivation pkg (drv: { - name = "${drv.pname}-source-${drv.version}"; - # Since we disable the haddock phase, we also need to override the - # outputs since the separate doc output will not be produced. - outputs = ["out"]; - buildPhase = "./Setup sdist"; - haddockPhase = ":"; - checkPhase = ":"; - installPhase = "install -D dist/${drv.pname}-*.tar.gz $out/${drv.pname}-${drv.version}.tar.gz"; - fixupPhase = ":"; - }); - - /* Create a documentation tarball suitable for uploading to Hackage instead - of building the package. - */ - documentationTarball = pkg: + markBroken = overrideCabal (drv: { + broken = true; + hydraPlatforms = [ ]; + }); + unmarkBroken = overrideCabal (drv: { + broken = false; + }); + markBrokenVersion = + version: drv: + assert drv.version == version; + markBroken drv; + markUnbroken = overrideCabal (drv: { + broken = false; + }); + + /* + disableParallelBuilding drops the -j option from the GHC + command line for the given package. This can be useful in rare + situations where parallel building of a package causes GHC to + fail for some reason. + */ + disableParallelBuilding = overrideCabal (drv: { + enableParallelBuilding = false; + }); + + enableLibraryProfiling = overrideCabal (drv: { + enableLibraryProfiling = true; + }); + disableLibraryProfiling = overrideCabal (drv: { + enableLibraryProfiling = false; + }); + + enableExecutableProfiling = overrideCabal (drv: { + enableExecutableProfiling = true; + }); + disableExecutableProfiling = overrideCabal (drv: { + enableExecutableProfiling = false; + }); + + enableSharedExecutables = overrideCabal (drv: { + enableSharedExecutables = true; + }); + disableSharedExecutables = overrideCabal (drv: { + enableSharedExecutables = false; + }); + + enableSharedLibraries = overrideCabal (drv: { + enableSharedLibraries = true; + }); + disableSharedLibraries = overrideCabal (drv: { + enableSharedLibraries = false; + }); + + enableDeadCodeElimination = overrideCabal (drv: { + enableDeadCodeElimination = true; + }); + disableDeadCodeElimination = overrideCabal (drv: { + enableDeadCodeElimination = false; + }); + + enableStaticLibraries = overrideCabal (drv: { + enableStaticLibraries = true; + }); + disableStaticLibraries = overrideCabal (drv: { + enableStaticLibraries = false; + }); + + enableSeparateBinOutput = overrideCabal (drv: { + enableSeparateBinOutput = true; + }); + + appendPatch = x: appendPatches [ x ]; + appendPatches = + xs: + overrideCabal (drv: { + patches = (drv.patches or [ ]) ++ xs; + }); + + /* + Set a specific build target instead of compiling all targets in the package. + For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server". + We can build only "server" and not wait on the compilation of "dev" by using setBuildTarget as follows: + + > setBuildTarget "server" (callCabal2nix "thePackageName" thePackageSrc {}) + */ + setBuildTargets = + xs: + overrideCabal (drv: { + buildTarget = lib.concatStringsSep " " xs; + }); + setBuildTarget = x: setBuildTargets [ x ]; + + doHyperlinkSource = overrideCabal (drv: { + hyperlinkSource = true; + }); + dontHyperlinkSource = overrideCabal (drv: { + hyperlinkSource = false; + }); + + disableHardening = + flags: + overrideCabal (drv: { + hardeningDisable = flags; + }); + + /* + Let Nix strip the binary files. + This removes debugging symbols. + */ + doStrip = overrideCabal (drv: { + dontStrip = false; + }); + + /* + Stop Nix from stripping the binary files. + This keeps debugging symbols. + */ + dontStrip = overrideCabal (drv: { + dontStrip = true; + }); + + /* + Useful for debugging segfaults with gdb. + This includes dontStrip. + */ + enableDWARFDebugging = + drv: + # -g: enables debugging symbols + # --disable-*-stripping: tell GHC not to strip resulting binaries + # dontStrip: see above + appendConfigureFlag "--ghc-options=-g --disable-executable-stripping --disable-library-stripping" ( + dontStrip drv + ); + + /* + Create a source distribution tarball like those found on hackage, + instead of building the package. + */ + sdistTarball = + pkg: + lib.overrideDerivation pkg (drv: { + name = "${drv.pname}-source-${drv.version}"; + # Since we disable the haddock phase, we also need to override the + # outputs since the separate doc output will not be produced. + outputs = [ "out" ]; + buildPhase = "./Setup sdist"; + haddockPhase = ":"; + checkPhase = ":"; + installPhase = "install -D dist/${drv.pname}-*.tar.gz $out/${drv.pname}-${drv.version}.tar.gz"; + fixupPhase = ":"; + }); + + /* + Create a documentation tarball suitable for uploading to Hackage instead + of building the package. + */ + documentationTarball = + pkg: pkgs.lib.overrideDerivation pkg (drv: { name = "${drv.name}-docs"; # Like sdistTarball, disable the "doc" output here. @@ -288,97 +444,125 @@ rec { ''; }); - /* Use the gold linker. It is a linker for ELF that is designed - "to run as fast as possible on modern systems" - */ - linkWithGold = appendConfigureFlag - "--ghc-option=-optl-fuse-ld=gold --ld-option=-fuse-ld=gold --with-ld=ld.gold"; + /* + Use the gold linker. It is a linker for ELF that is designed + "to run as fast as possible on modern systems" + */ + linkWithGold = appendConfigureFlag "--ghc-option=-optl-fuse-ld=gold --ld-option=-fuse-ld=gold --with-ld=ld.gold"; - /* link executables statically against haskell libs to reduce - closure size - */ - justStaticExecutables = overrideCabal (drv: { + /* + link executables statically against haskell libs to reduce + closure size + */ + justStaticExecutables = overrideCabal (drv: { enableSharedExecutables = false; enableLibraryProfiling = drv.enableExecutableProfiling or false; isLibrary = false; doHaddock = false; - postFixup = drv.postFixup or "" + '' + postFixup = + drv.postFixup or "" + + '' - # Remove every directory which could have links to other store paths. - rm -rf $out/lib $out/nix-support $out/share/doc - ''; + # Remove every directory which could have links to other store paths. + rm -rf $out/lib $out/nix-support $out/share/doc + ''; disallowGhcReference = true; }); - /* Build a source distribution tarball instead of using the source files - directly. The effect is that the package is built as if it were published - on hackage. This can be used as a test for the source distribution, - assuming the build fails when packaging mistakes are in the cabal file. + /* + Build a source distribution tarball instead of using the source files + directly. The effect is that the package is built as if it were published + on hackage. This can be used as a test for the source distribution, + assuming the build fails when packaging mistakes are in the cabal file. - A faster implementation using `cabal-install` is available as - `buildFromCabalSdist` in your Haskell package set. - */ - buildFromSdist = pkg: overrideCabal (drv: { - src = "${sdistTarball pkg}/${pkg.pname}-${pkg.version}.tar.gz"; + A faster implementation using `cabal-install` is available as + `buildFromCabalSdist` in your Haskell package set. + */ + buildFromSdist = + pkg: + overrideCabal (drv: { + src = "${sdistTarball pkg}/${pkg.pname}-${pkg.version}.tar.gz"; - # Revising and jailbreaking the cabal file has been handled in sdistTarball - revision = null; - editedCabalFile = null; - jailbreak = false; - }) pkg; + # Revising and jailbreaking the cabal file has been handled in sdistTarball + revision = null; + editedCabalFile = null; + jailbreak = false; + }) pkg; - /* Build the package in a strict way to uncover potential problems. - This includes buildFromSdist and failOnAllWarnings. - */ + /* + Build the package in a strict way to uncover potential problems. + This includes buildFromSdist and failOnAllWarnings. + */ buildStrictly = pkg: buildFromSdist (failOnAllWarnings pkg); - /* Disable core optimizations, significantly speeds up build time */ + # Disable core optimizations, significantly speeds up build time disableOptimization = appendConfigureFlag "--disable-optimization"; - /* Turn on most of the compiler warnings and fail the build if any - of them occur. */ + /* + Turn on most of the compiler warnings and fail the build if any + of them occur. + */ failOnAllWarnings = appendConfigureFlag "--ghc-option=-Wall --ghc-option=-Werror"; - /* Add a post-build check to verify that dependencies declared in - the cabal file are actually used. + /* + Add a post-build check to verify that dependencies declared in + the cabal file are actually used. - The first attrset argument can be used to configure the strictness - of this check and a list of ignored package names that would otherwise - cause false alarms. - */ + The first attrset argument can be used to configure the strictness + of this check and a list of ignored package names that would otherwise + cause false alarms. + */ checkUnusedPackages = - { ignoreEmptyImports ? false - , ignoreMainModule ? false - , ignorePackages ? [] - } : drv : - overrideCabal (_drv: { - postBuild = - let args = lib.concatStringsSep " " ( - lib.optional ignoreEmptyImports "--ignore-empty-imports" ++ - lib.optional ignoreMainModule "--ignore-main-module" ++ - map (pkg: "--ignore-package ${pkg}") ignorePackages - ); - in "${pkgs.haskellPackages.packunused}/bin/packunused" + - lib.optionalString (args != "") " ${args}"; - }) (appendConfigureFlag "--ghc-option=-ddump-minimal-imports" drv); + { + ignoreEmptyImports ? false, + ignoreMainModule ? false, + ignorePackages ? [ ], + }: + drv: + overrideCabal (_drv: { + postBuild = + let + args = lib.concatStringsSep " " ( + lib.optional ignoreEmptyImports "--ignore-empty-imports" + ++ lib.optional ignoreMainModule "--ignore-main-module" + ++ map (pkg: "--ignore-package ${pkg}") ignorePackages + ); + in + "${pkgs.haskellPackages.packunused}/bin/packunused" + lib.optionalString (args != "") " ${args}"; + }) (appendConfigureFlag "--ghc-option=-ddump-minimal-imports" drv); buildStackProject = pkgs.callPackage ../generic-stack-builder.nix { }; - /* Add a dummy command to trigger a build despite an equivalent - earlier build that is present in the store or cache. - */ - triggerRebuild = i: overrideCabal (drv: { - postUnpack = drv.postUnpack or "" + '' - - # trigger rebuild ${toString i} - ''; - }); + /* + Add a dummy command to trigger a build despite an equivalent + earlier build that is present in the store or cache. + */ + triggerRebuild = + i: + overrideCabal (drv: { + postUnpack = + drv.postUnpack or "" + + '' + + # trigger rebuild ${toString i} + ''; + }); - /* Override the sources for the package and optionally the version. - This also takes of removing editedCabalFile. - */ - overrideSrc = { src, version ? null }: drv: - overrideCabal (_: { inherit src; version = if version == null then drv.version else version; editedCabalFile = null; }) drv; + /* + Override the sources for the package and optionally the version. + This also takes of removing editedCabalFile. + */ + overrideSrc = + { + src, + version ? null, + }: + drv: + overrideCabal (_: { + inherit src; + version = if version == null then drv.version else version; + editedCabalFile = null; + }) drv; # Get all of the build inputs of a haskell package, divided by category. getBuildInputs = p: p.getBuildInputs; @@ -392,13 +576,11 @@ rec { # nix-shell evaluation, return a nix-shell optimized environment. shellAware = p: if lib.inNixShell then p.env else p; - ghcInfo = ghc: - rec { isCross = (ghc.cross or null) != null; - isGhcjs = ghc.isGhcjs or false; - nativeGhc = if isCross || isGhcjs - then ghc.bootPkgs.ghc - else ghc; - }; + ghcInfo = ghc: rec { + isCross = (ghc.cross or null) != null; + isGhcjs = ghc.isGhcjs or false; + nativeGhc = if isCross || isGhcjs then ghc.bootPkgs.ghc else ghc; + }; ### mkDerivation helpers # These allow external users of a haskell package to extract @@ -410,11 +592,19 @@ rec { # an example of this. # Some information about which phases should be run. - controlPhases = ghc: let inherit (ghcInfo ghc) isCross; in - { doCheck ? !isCross - , doBenchmark ? false - , ... - }: { inherit doCheck doBenchmark; }; + controlPhases = + ghc: + let + inherit (ghcInfo ghc) isCross; + in + { + doCheck ? !isCross, + doBenchmark ? false, + ... + }: + { + inherit doCheck doBenchmark; + }; # Utility to convert a directory full of `cabal2nix`-generated files into a # package override set @@ -424,49 +614,53 @@ rec { { directory, ... }: self: super: - let - haskellPaths = - lib.filter (lib.hasSuffix ".nix") - (builtins.attrNames (builtins.readDir directory)); + let + haskellPaths = lib.filter (lib.hasSuffix ".nix") (builtins.attrNames (builtins.readDir directory)); - toKeyVal = file: { - name = builtins.replaceStrings [ ".nix" ] [ "" ] file; + toKeyVal = file: { + name = builtins.replaceStrings [ ".nix" ] [ "" ] file; - value = self.callPackage (directory + "/${file}") { }; - }; + value = self.callPackage (directory + "/${file}") { }; + }; - in - builtins.listToAttrs (map toKeyVal haskellPaths); + in + builtins.listToAttrs (map toKeyVal haskellPaths); /* INTERNAL function retained for backwards compatibility, use haskell.packages.*.generateOptparseApplicativeCompletions instead! */ - __generateOptparseApplicativeCompletion = exeName: overrideCabal (drv: { - postInstall = (drv.postInstall or "") + '' - bashCompDir="''${!outputBin}/share/bash-completion/completions" - zshCompDir="''${!outputBin}/share/zsh/vendor-completions" - fishCompDir="''${!outputBin}/share/fish/vendor_completions.d" - mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir" - "''${!outputBin}/bin/${exeName}" --bash-completion-script "''${!outputBin}/bin/${exeName}" >"$bashCompDir/${exeName}" - "''${!outputBin}/bin/${exeName}" --zsh-completion-script "''${!outputBin}/bin/${exeName}" >"$zshCompDir/_${exeName}" - "''${!outputBin}/bin/${exeName}" --fish-completion-script "''${!outputBin}/bin/${exeName}" >"$fishCompDir/${exeName}.fish" - - # Sanity check - grep -F ${exeName} <$bashCompDir/${exeName} >/dev/null || { - echo 'Could not find ${exeName} in completion script.' - exit 1 - } - ''; - }); + __generateOptparseApplicativeCompletion = + exeName: + overrideCabal (drv: { + postInstall = + (drv.postInstall or "") + + '' + bashCompDir="''${!outputBin}/share/bash-completion/completions" + zshCompDir="''${!outputBin}/share/zsh/vendor-completions" + fishCompDir="''${!outputBin}/share/fish/vendor_completions.d" + mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir" + "''${!outputBin}/bin/${exeName}" --bash-completion-script "''${!outputBin}/bin/${exeName}" >"$bashCompDir/${exeName}" + "''${!outputBin}/bin/${exeName}" --zsh-completion-script "''${!outputBin}/bin/${exeName}" >"$zshCompDir/_${exeName}" + "''${!outputBin}/bin/${exeName}" --fish-completion-script "''${!outputBin}/bin/${exeName}" >"$fishCompDir/${exeName}.fish" + + # Sanity check + grep -F ${exeName} <$bashCompDir/${exeName} >/dev/null || { + echo 'Could not find ${exeName} in completion script.' + exit 1 + } + ''; + }); /* Retained for backwards compatibility. Use haskell.packages.*.generateOptparseApplicativeCompletions which is cross aware instead. */ - generateOptparseApplicativeCompletions = commands: pkg: - lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2211) "haskellLib.generateOptparseApplicativeCompletions is deprecated in favor of haskellPackages.generateOptparseApplicativeCompletions. Please change ${pkg.name} to use the latter and make sure it uses its matching haskell.packages set!" + generateOptparseApplicativeCompletions = + commands: pkg: + lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2211) + "haskellLib.generateOptparseApplicativeCompletions is deprecated in favor of haskellPackages.generateOptparseApplicativeCompletions. Please change ${pkg.name} to use the latter and make sure it uses its matching haskell.packages set!" (pkgs.lib.foldr __generateOptparseApplicativeCompletion pkg commands); /* @@ -474,8 +668,10 @@ rec { Use haskell.packages.*.generateOptparseApplicativeCompletions which is cross aware instead. */ - generateOptparseApplicativeCompletion = command: pkg: - lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2211) "haskellLib.generateOptparseApplicativeCompletion is deprecated in favor of haskellPackages.generateOptparseApplicativeCompletions (plural!). Please change ${pkg.name} to use the latter and make sure it uses its matching haskell.packages set!" + generateOptparseApplicativeCompletion = + command: pkg: + lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2211) + "haskellLib.generateOptparseApplicativeCompletion is deprecated in favor of haskellPackages.generateOptparseApplicativeCompletions (plural!). Please change ${pkg.name} to use the latter and make sure it uses its matching haskell.packages set!" (__generateOptparseApplicativeCompletion command pkg); # Don't fail at configure time if there are multiple versions of the @@ -500,20 +696,30 @@ rec { # Take list of derivations and return list of the transitive dependency # closure, only taking into account buildInputs. Loosely based on # closePropagationFast. - propagatedPlainBuildInputs = drvs: + propagatedPlainBuildInputs = + drvs: builtins.map (i: i.val) ( builtins.genericClosure { - startSet = builtins.map (drv: - { key = drv.outPath; val = drv; } - ) drvs; - operator = { val, ... }: - if !lib.isDerivation val - then [ ] + startSet = builtins.map (drv: { + key = drv.outPath; + val = drv; + }) drvs; + operator = + { val, ... }: + if !lib.isDerivation val then + [ ] else - builtins.concatMap (drv: - if !lib.isDerivation drv - then [ ] - else [ { key = drv.outPath; val = drv; } ] + builtins.concatMap ( + drv: + if !lib.isDerivation drv then + [ ] + else + [ + { + key = drv.outPath; + val = drv; + } + ] ) (val.buildInputs or [ ] ++ val.propagatedBuildInputs or [ ]); } ); diff --git a/pkgs/development/haskell-modules/lib/default.nix b/pkgs/development/haskell-modules/lib/default.nix index 976e62afc630d..dc34f30a810e8 100644 --- a/pkgs/development/haskell-modules/lib/default.nix +++ b/pkgs/development/haskell-modules/lib/default.nix @@ -3,45 +3,47 @@ { pkgs, lib }: rec { - /* The same functionality as this haskell.lib, except that the derivation - being overridden is always the last parameter. This permits more natural - composition of several overrides, i.e. without having to nestle one call - between the function name and argument of another. haskell.lib.compose is - preferred for any new code. + /* + The same functionality as this haskell.lib, except that the derivation + being overridden is always the last parameter. This permits more natural + composition of several overrides, i.e. without having to nestle one call + between the function name and argument of another. haskell.lib.compose is + preferred for any new code. */ compose = import ./compose.nix { inherit pkgs lib; }; - /* This function takes a file like `hackage-packages.nix` and constructs - a full package set out of that. - */ + /* + This function takes a file like `hackage-packages.nix` and constructs + a full package set out of that. + */ makePackageSet = compose.makePackageSet; - /* The function overrideCabal lets you alter the arguments to the - mkDerivation function. - - Example: + /* + The function overrideCabal lets you alter the arguments to the + mkDerivation function. - First, note how the aeson package is constructed in hackage-packages.nix: + Example: - "aeson" = callPackage ({ mkDerivation, attoparsec, - }: - mkDerivation { - pname = "aeson"; - - homepage = "https://github.com/bos/aeson"; - }) + First, note how the aeson package is constructed in hackage-packages.nix: - The mkDerivation function of haskellPackages will take care of putting - the homepage in the right place, in meta. + "aeson" = callPackage ({ mkDerivation, attoparsec, + }: + mkDerivation { + pname = "aeson"; + + homepage = "https://github.com/bos/aeson"; + }) - > haskellPackages.aeson.meta.homepage - "https://github.com/bos/aeson" + The mkDerivation function of haskellPackages will take care of putting + the homepage in the right place, in meta. - > x = haskell.lib.overrideCabal haskellPackages.aeson (old: { homepage = old.homepage + "#readme"; }) - > x.meta.homepage - "https://github.com/bos/aeson#readme" + > haskellPackages.aeson.meta.homepage + "https://github.com/bos/aeson" - */ + > x = haskell.lib.overrideCabal haskellPackages.aeson (old: { homepage = old.homepage + "#readme"; }) + > x.meta.homepage + "https://github.com/bos/aeson#readme" + */ overrideCabal = drv: f: compose.overrideCabal f drv; # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet @@ -50,104 +52,118 @@ rec { # the packages named in the input set to the corresponding versions packageSourceOverrides = compose.packageSourceOverrides; - /* doCoverage modifies a haskell package to enable the generation - and installation of a coverage report. + /* + doCoverage modifies a haskell package to enable the generation + and installation of a coverage report. - See https://wiki.haskell.org/Haskell_program_coverage - */ + See https://wiki.haskell.org/Haskell_program_coverage + */ doCoverage = compose.doCoverage; - /* dontCoverage modifies a haskell package to disable the generation - and installation of a coverage report. - */ + /* + dontCoverage modifies a haskell package to disable the generation + and installation of a coverage report. + */ dontCoverage = compose.dontCoverage; - /* doHaddock modifies a haskell package to enable the generation and - installation of API documentation from code comments using the - haddock tool. - */ + /* + doHaddock modifies a haskell package to enable the generation and + installation of API documentation from code comments using the + haddock tool. + */ doHaddock = compose.doHaddock; - /* dontHaddock modifies a haskell package to disable the generation and - installation of API documentation from code comments using the - haddock tool. - */ + /* + dontHaddock modifies a haskell package to disable the generation and + installation of API documentation from code comments using the + haddock tool. + */ dontHaddock = compose.dontHaddock; - /* doJailbreak enables the removal of version bounds from the cabal - file. You may want to avoid this function. - - This is useful when a package reports that it can not be built - due to version mismatches. In some cases, removing the version - bounds entirely is an easy way to make a package build, but at - the risk of breaking software in non-obvious ways now or in the - future. + /* + doJailbreak enables the removal of version bounds from the cabal + file. You may want to avoid this function. - Instead of jailbreaking, you can patch the cabal file. + This is useful when a package reports that it can not be built + due to version mismatches. In some cases, removing the version + bounds entirely is an easy way to make a package build, but at + the risk of breaking software in non-obvious ways now or in the + future. - Note that jailbreaking at this time, doesn't lift bounds on - conditional branches. - https://github.com/peti/jailbreak-cabal/issues/7 has further details. + Instead of jailbreaking, you can patch the cabal file. - */ + Note that jailbreaking at this time, doesn't lift bounds on + conditional branches. + https://github.com/peti/jailbreak-cabal/issues/7 has further details. + */ doJailbreak = compose.doJailbreak; - /* dontJailbreak restores the use of the version bounds the check - the use of dependencies in the package description. - */ + /* + dontJailbreak restores the use of the version bounds the check + the use of dependencies in the package description. + */ dontJailbreak = compose.dontJailbreak; - /* doCheck enables dependency checking, compilation and execution - of test suites listed in the package description file. - */ + /* + doCheck enables dependency checking, compilation and execution + of test suites listed in the package description file. + */ doCheck = compose.doCheck; - /* dontCheck disables dependency checking, compilation and execution - of test suites listed in the package description file. - */ + /* + dontCheck disables dependency checking, compilation and execution + of test suites listed in the package description file. + */ dontCheck = compose.dontCheck; - /* The dontCheckIf variant sets doCheck = false if the condition - applies. In any other case the previously set/default value is used. - This prevents accidentally re-enabling tests in a later override. - */ + /* + The dontCheckIf variant sets doCheck = false if the condition + applies. In any other case the previously set/default value is used. + This prevents accidentally re-enabling tests in a later override. + */ dontCheckIf = drv: condition: compose.dontCheckIf condition drv; - /* doBenchmark enables dependency checking, compilation and execution - for benchmarks listed in the package description file. - */ + /* + doBenchmark enables dependency checking, compilation and execution + for benchmarks listed in the package description file. + */ doBenchmark = compose.doBenchmark; - /* dontBenchmark disables dependency checking, compilation and execution - for benchmarks listed in the package description file. - */ + /* + dontBenchmark disables dependency checking, compilation and execution + for benchmarks listed in the package description file. + */ dontBenchmark = compose.dontBenchmark; - /* doDistribute enables the distribution of binaries for the package - via hydra. - */ + /* + doDistribute enables the distribution of binaries for the package + via hydra. + */ doDistribute = compose.doDistribute; - /* dontDistribute disables the distribution of binaries for the package - via hydra. - */ + /* + dontDistribute disables the distribution of binaries for the package + via hydra. + */ dontDistribute = compose.dontDistribute; - /* appendConfigureFlag adds a single argument that will be passed to the - cabal configure command, after the arguments that have been defined - in the initial declaration or previous overrides. + /* + appendConfigureFlag adds a single argument that will be passed to the + cabal configure command, after the arguments that have been defined + in the initial declaration or previous overrides. - Example: + Example: - > haskell.lib.appendConfigureFlag haskellPackages.servant "--profiling-detail=all-functions" - */ + > haskell.lib.appendConfigureFlag haskellPackages.servant "--profiling-detail=all-functions" + */ appendConfigureFlag = drv: x: compose.appendConfigureFlag x drv; appendConfigureFlags = drv: xs: compose.appendConfigureFlags xs drv; appendBuildFlag = drv: x: compose.appendBuildFlag x drv; appendBuildFlags = drv: xs: compose.appendBuildFlags xs drv; - /* removeConfigureFlag drv x is a Haskell package like drv, but with - all cabal configure arguments that are equal to x removed. + /* + removeConfigureFlag drv x is a Haskell package like drv, but with + all cabal configure arguments that are equal to x removed. - > haskell.lib.removeConfigureFlag haskellPackages.servant "--verbose" - */ + > haskell.lib.removeConfigureFlag haskellPackages.servant "--verbose" + */ removeConfigureFlag = drv: x: compose.removeConfigureFlag x drv; addBuildTool = drv: x: compose.addBuildTool x drv; @@ -201,13 +217,13 @@ rec { appendPatch = drv: x: compose.appendPatch x drv; appendPatches = drv: xs: compose.appendPatches xs drv; - /* Set a specific build target instead of compiling all targets in the package. - * For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server". - * We can build only "server" and not wait on the compilation of "dev" by using setBuildTarget as follows: - * - * setBuildTarget (callCabal2nix "thePackageName" thePackageSrc {}) "server" - * - */ + /* + Set a specific build target instead of compiling all targets in the package. + For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server". + We can build only "server" and not wait on the compilation of "dev" by using setBuildTarget as follows: + + setBuildTarget (callCabal2nix "thePackageName" thePackageSrc {}) "server" + */ setBuildTargets = drv: xs: compose.setBuildTargets xs drv; setBuildTarget = drv: x: compose.setBuildTarget x drv; @@ -216,79 +232,93 @@ rec { disableHardening = drv: flags: compose.disableHardening flags drv; - /* Let Nix strip the binary files. - * This removes debugging symbols. - */ + /* + Let Nix strip the binary files. + This removes debugging symbols. + */ doStrip = compose.doStrip; - /* Stop Nix from stripping the binary files. - * This keeps debugging symbols. - */ + /* + Stop Nix from stripping the binary files. + This keeps debugging symbols. + */ dontStrip = compose.dontStrip; - /* Useful for debugging segfaults with gdb. - * This includes dontStrip. - */ + /* + Useful for debugging segfaults with gdb. + This includes dontStrip. + */ enableDWARFDebugging = compose.enableDWARFDebugging; - /* Create a source distribution tarball like those found on hackage, - instead of building the package. - */ + /* + Create a source distribution tarball like those found on hackage, + instead of building the package. + */ sdistTarball = compose.sdistTarball; - /* Create a documentation tarball suitable for uploading to Hackage instead - of building the package. - */ + /* + Create a documentation tarball suitable for uploading to Hackage instead + of building the package. + */ documentationTarball = compose.documentationTarball; - /* Use the gold linker. It is a linker for ELF that is designed - "to run as fast as possible on modern systems" - */ + /* + Use the gold linker. It is a linker for ELF that is designed + "to run as fast as possible on modern systems" + */ linkWithGold = compose.linkWithGold; - /* link executables statically against haskell libs to reduce - closure size - */ + /* + link executables statically against haskell libs to reduce + closure size + */ justStaticExecutables = compose.justStaticExecutables; - /* Build a source distribution tarball instead of using the source files - directly. The effect is that the package is built as if it were published - on hackage. This can be used as a test for the source distribution, - assuming the build fails when packaging mistakes are in the cabal file. - */ + /* + Build a source distribution tarball instead of using the source files + directly. The effect is that the package is built as if it were published + on hackage. This can be used as a test for the source distribution, + assuming the build fails when packaging mistakes are in the cabal file. + */ buildFromSdist = compose.buildFromSdist; - /* Build the package in a strict way to uncover potential problems. - This includes buildFromSdist and failOnAllWarnings. - */ + /* + Build the package in a strict way to uncover potential problems. + This includes buildFromSdist and failOnAllWarnings. + */ buildStrictly = compose.buildStrictly; - /* Disable core optimizations, significantly speeds up build time */ + # Disable core optimizations, significantly speeds up build time disableOptimization = compose.disableOptimization; - /* Turn on most of the compiler warnings and fail the build if any - of them occur. */ + /* + Turn on most of the compiler warnings and fail the build if any + of them occur. + */ failOnAllWarnings = compose.failOnAllWarnings; - /* Add a post-build check to verify that dependencies declared in - the cabal file are actually used. + /* + Add a post-build check to verify that dependencies declared in + the cabal file are actually used. - The first attrset argument can be used to configure the strictness - of this check and a list of ignored package names that would otherwise - cause false alarms. - */ + The first attrset argument can be used to configure the strictness + of this check and a list of ignored package names that would otherwise + cause false alarms. + */ checkUnusedPackages = compose.checkUnusedPackages; buildStackProject = compose.buildStackProject; - /* Add a dummy command to trigger a build despite an equivalent - earlier build that is present in the store or cache. - */ + /* + Add a dummy command to trigger a build despite an equivalent + earlier build that is present in the store or cache. + */ triggerRebuild = drv: i: compose.triggerRebuild i drv; - /* Override the sources for the package and optionally the version. - This also takes of removing editedCabalFile. - */ + /* + Override the sources for the package and optionally the version. + This also takes of removing editedCabalFile. + */ overrideSrc = drv: src: compose.overrideSrc src drv; # Get all of the build inputs of a haskell package, divided by category. @@ -323,9 +353,11 @@ rec { # packagesFromDirectory : { directory : Directory, ... } -> HaskellPackageOverrideSet packagesFromDirectory = compose.packagesFromDirectory; - addOptparseApplicativeCompletionScripts = exeName: pkg: - lib.warn "addOptparseApplicativeCompletionScripts is deprecated in favor of haskellPackages.generateOptparseApplicativeCompletions. Please change ${pkg.name} to use the latter and make sure it uses its matching haskell.packages set!" - (compose.__generateOptparseApplicativeCompletion exeName pkg); + addOptparseApplicativeCompletionScripts = + exeName: pkg: + lib.warn "addOptparseApplicativeCompletionScripts is deprecated in favor of haskellPackages.generateOptparseApplicativeCompletions. Please change ${pkg.name} to use the latter and make sure it uses its matching haskell.packages set!" ( + compose.__generateOptparseApplicativeCompletion exeName pkg + ); /* Modify a Haskell package to add shell completion scripts for the @@ -336,7 +368,6 @@ rec { Invocation: generateOptparseApplicativeCompletions command pkg - command: name of an executable pkg: Haskell package that builds the executables */ @@ -351,7 +382,6 @@ rec { Invocation: generateOptparseApplicativeCompletions commands pkg - commands: name of an executable pkg: Haskell package that builds the executables */ diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index b07196db9b7ff..50320b4a949b0 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -1,41 +1,42 @@ # This expression takes a file like `hackage-packages.nix` and constructs # a full package set out of that. -{ # package-set used for build tools (all of nixpkgs) - buildPackages +{ + # package-set used for build tools (all of nixpkgs) + buildPackages, -, # A haskell package set for Setup.hs, compiler plugins, and similar + # A haskell package set for Setup.hs, compiler plugins, and similar # build-time uses. - buildHaskellPackages + buildHaskellPackages, -, # package-set used for non-haskell dependencies (all of nixpkgs) - pkgs + # package-set used for non-haskell dependencies (all of nixpkgs) + pkgs, -, # stdenv provides our build and host platforms - stdenv + # stdenv provides our build and host platforms + stdenv, -, # this module provides the list of known licenses and maintainers - lib + # this module provides the list of known licenses and maintainers + lib, # needed for overrideCabal & packageSourceOverrides -, haskellLib + haskellLib, -, # hashes for downloading Hackage packages + # hashes for downloading Hackage packages # This is either a directory or a .tar.gz containing the cabal files and # hashes of Hackage as exemplified by this repository: # https://github.com/commercialhaskell/all-cabal-hashes/tree/hackage - all-cabal-hashes + all-cabal-hashes, -, # compiler to use - ghc + # compiler to use + ghc, -, # A function that takes `{ pkgs, lib, callPackage }` as the first arg and + # A function that takes `{ pkgs, lib, callPackage }` as the first arg and # `self` as second, and returns a set of haskell packages - package-set + package-set, -, # The final, fully overridden package set usable with the nixpkgs fixpoint + # The final, fully overridden package set usable with the nixpkgs fixpoint # overriding functionality - extensible-self + extensible-self, }: # return value: a function from self to the package set @@ -50,25 +51,42 @@ let mkDerivationImpl = pkgs.callPackage ./generic-builder.nix { inherit stdenv; nodejs = buildPackages.nodejs-slim; - inherit (self) buildHaskellPackages ghc ghcWithHoogle ghcWithPackages; + inherit (self) + buildHaskellPackages + ghc + ghcWithHoogle + ghcWithPackages + ; inherit (self.buildHaskellPackages) jailbreak-cabal; hscolour = overrideCabal (drv: { isLibrary = false; doHaddock = false; - hyperlinkSource = false; # Avoid depending on hscolour for this build. + hyperlinkSource = false; # Avoid depending on hscolour for this build. postFixup = "rm -rf $out/lib $out/share $out/nix-support"; }) self.buildHaskellPackages.hscolour; - cpphs = overrideCabal (drv: { - isLibrary = false; - postFixup = "rm -rf $out/lib $out/share $out/nix-support"; - }) (self.cpphs.overrideScope (self: super: { - mkDerivation = drv: super.mkDerivation (drv // { - enableSharedExecutables = false; - enableSharedLibraries = false; - doHaddock = false; - useCpphs = false; - }); - })); + cpphs = + overrideCabal + (drv: { + isLibrary = false; + postFixup = "rm -rf $out/lib $out/share $out/nix-support"; + }) + ( + self.cpphs.overrideScope ( + self: super: { + mkDerivation = + drv: + super.mkDerivation ( + drv + // { + enableSharedExecutables = false; + enableSharedLibraries = false; + doHaddock = false; + useCpphs = false; + } + ); + } + ) + ); }; mkDerivation = makeOverridable mkDerivationImpl; @@ -78,7 +96,8 @@ let # callPackage foo { bar = null; }; # # here `bar` is a manual argument. - callPackageWithScope = scope: fn: manualArgs: + callPackageWithScope = + scope: fn: manualArgs: let # this code is copied from callPackage in lib/customisation.nix # @@ -94,82 +113,113 @@ let ensureAttrs = v: if builtins.isFunction v then { __functor = _: v; } else v; # this wraps the `drv` function to add `scope` and `overrideScope` to the result. - drvScope = allArgs: ensureAttrs (drv allArgs) // { - inherit scope; - overrideScope = f: - let newScope = mkScope (fix' (extends f scope.__unfix__)); - # note that we have to be careful here: `allArgs` includes the auto-arguments that - # weren't manually specified. If we would just pass `allArgs` to the recursive call here, - # then we wouldn't look up any packages in the scope in the next interation, because it - # appears as if all arguments were already manually passed, so the scope change would do - # nothing. - in callPackageWithScope newScope drv manualArgs; - }; - in lib.makeOverridable drvScope (auto // manualArgs); + drvScope = + allArgs: + ensureAttrs (drv allArgs) + // { + inherit scope; + overrideScope = + f: + let + newScope = mkScope (fix' (extends f scope.__unfix__)); + in + # note that we have to be careful here: `allArgs` includes the auto-arguments that + # weren't manually specified. If we would just pass `allArgs` to the recursive call here, + # then we wouldn't look up any packages in the scope in the next interation, because it + # appears as if all arguments were already manually passed, so the scope change would do + # nothing. + callPackageWithScope newScope drv manualArgs; + }; + in + lib.makeOverridable drvScope (auto // manualArgs); - mkScope = scope: let + mkScope = + scope: + let ps = pkgs.__splicedPackages; - scopeSpliced = pkgs.splicePackages { - pkgsBuildBuild = scope.buildHaskellPackages.buildHaskellPackages; - pkgsBuildHost = scope.buildHaskellPackages; - pkgsBuildTarget = {}; - pkgsHostHost = {}; - pkgsHostTarget = scope; - pkgsTargetTarget = {}; - } // { - # Don't splice these - inherit (scope) ghc buildHaskellPackages; - }; - in ps // ps.xorg // ps.gnome2 // { inherit stdenv; } // scopeSpliced; + scopeSpliced = + pkgs.splicePackages { + pkgsBuildBuild = scope.buildHaskellPackages.buildHaskellPackages; + pkgsBuildHost = scope.buildHaskellPackages; + pkgsBuildTarget = { }; + pkgsHostHost = { }; + pkgsHostTarget = scope; + pkgsTargetTarget = { }; + } + // { + # Don't splice these + inherit (scope) ghc buildHaskellPackages; + }; + in + ps // ps.xorg // ps.gnome2 // { inherit stdenv; } // scopeSpliced; defaultScope = mkScope self; callPackage = drv: args: callPackageWithScope defaultScope drv args; # Use cabal2nix to create a default.nix for the package sources found at 'src'. - haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }: + haskellSrc2nix = + { + name, + src, + sha256 ? null, + extraCabal2nixOptions ? "", + }: let sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"''; - in buildPackages.runCommand "cabal2nix-${name}" { - nativeBuildInputs = [ buildPackages.cabal2nix-unwrapped ]; - preferLocalBuild = true; - allowSubstitutes = false; - LANG = "en_US.UTF-8"; - LOCALE_ARCHIVE = pkgs.lib.optionalString (buildPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive"; - } '' - export HOME="$TMP" - mkdir -p "$out" - cabal2nix --compiler=${self.ghc.haskellCompilerName} --system=${hostPlatform.config} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix" - ''; + in + buildPackages.runCommand "cabal2nix-${name}" + { + nativeBuildInputs = [ buildPackages.cabal2nix-unwrapped ]; + preferLocalBuild = true; + allowSubstitutes = false; + LANG = "en_US.UTF-8"; + LOCALE_ARCHIVE = pkgs.lib.optionalString ( + buildPlatform.libc == "glibc" + ) "${buildPackages.glibcLocales}/lib/locale/locale-archive"; + } + '' + export HOME="$TMP" + mkdir -p "$out" + cabal2nix --compiler=${self.ghc.haskellCompilerName} --system=${hostPlatform.config} ${sha256Arg} "${src}" ${extraCabal2nixOptions} > "$out/default.nix" + ''; # Given a package name and version, e.g. name = "async", version = "2.2.4", # gives its cabal file and hashes (JSON file) as discovered from the # all-cabal-hashes value. If that's a directory, it will copy the relevant # files to $out; if it's a tarball, it will extract and move them to $out. - all-cabal-hashes-component = name: version: buildPackages.runCommand "all-cabal-hashes-component-${name}-${version}" {} '' - mkdir -p $out - if [ -d ${all-cabal-hashes} ] - then - cp ${all-cabal-hashes}/${name}/${version}/${name}.json $out - cp ${all-cabal-hashes}/${name}/${version}/${name}.cabal $out - else - tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal} - mv */${name}/${version}/${name}.{json,cabal} $out - fi - ''; - - hackage2nix = name: version: let component = all-cabal-hashes-component name version; in self.haskellSrc2nix { - name = "${name}-${version}"; - sha256 = ''$(sed -e 's/.*"SHA256":"//' -e 's/".*$//' "${component}/${name}.json")''; - src = "${component}/${name}.cabal"; - }; + all-cabal-hashes-component = + name: version: + buildPackages.runCommand "all-cabal-hashes-component-${name}-${version}" { } '' + mkdir -p $out + if [ -d ${all-cabal-hashes} ] + then + cp ${all-cabal-hashes}/${name}/${version}/${name}.json $out + cp ${all-cabal-hashes}/${name}/${version}/${name}.cabal $out + else + tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal} + mv */${name}/${version}/${name}.{json,cabal} $out + fi + ''; + + hackage2nix = + name: version: + let + component = all-cabal-hashes-component name version; + in + self.haskellSrc2nix { + name = "${name}-${version}"; + sha256 = ''$(sed -e 's/.*"SHA256":"//' -e 's/".*$//' "${component}/${name}.json")''; + src = "${component}/${name}.cabal"; + }; # Adds a nix file derived from cabal2nix in the passthru of the derivation it # produces. This is useful to debug callHackage / callCabal2nix by looking at # the content of the nix file pointed by `cabal2nixDeriver`. # However, it does not keep a reference to that file, which may be garbage # collected, which may be an annoyance. - callPackageKeepDeriver = src: args: + callPackageKeepDeriver = + src: args: overrideCabal (orig: { - passthru = orig.passthru or {} // { + passthru = orig.passthru or { } // { # When using callCabal2nix or callHackage, it is often useful # to debug a failure by inspecting the Nix expression # generated by cabal2nix. This can be accessed via this @@ -178,346 +228,373 @@ let }; }) (self.callPackage src args); -in package-set { inherit pkgs lib callPackage; } self // { - - inherit mkDerivation callPackage haskellSrc2nix hackage2nix buildHaskellPackages; - - inherit (haskellLib) packageSourceOverrides; - - # callHackage :: Text -> Text -> AttrSet -> HaskellPackage - # - # e.g., while overriding a package set: - # '... foo = self.callHackage "foo" "1.5.3" {}; ...' - callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version); - - # callHackageDirect - # :: { pkg :: Text, ver :: Text, sha256 :: Text } - # -> AttrSet - # -> HaskellPackage - # - # This function does not depend on all-cabal-hashes and therefore will work - # for any version that has been released on hackage as opposed to only - # versions released before whatever version of all-cabal-hashes you happen - # to be currently using. - callHackageDirect = {pkg, ver, sha256, rev ? { revision = null; sha256 = null; }}: args: - let pkgver = "${pkg}-${ver}"; - firstRevision = self.callCabal2nix pkg (pkgs.fetchzip { - url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz"; - inherit sha256; - }) args; - in overrideCabal (orig: { - revision = rev.revision; - editedCabalFile = rev.sha256; - }) firstRevision; - - # Creates a Haskell package from a source package by calling cabal2nix on the source. - callCabal2nixWithOptions = name: src: opts: args: - let - extraCabal2nixOptions = if builtins.isString opts - then opts - else opts.extraCabal2nixOptions or ""; - srcModifier = opts.srcModifier or null; - defaultFilter = path: type: - pkgs.lib.hasSuffix ".cabal" path || - baseNameOf path == "package.yaml"; - expr = self.haskellSrc2nix { - inherit name extraCabal2nixOptions; - src = if srcModifier != null - then srcModifier src - else if pkgs.lib.canCleanSource src - then pkgs.lib.cleanSourceWith { inherit src; filter = defaultFilter; } - else src; - }; - in overrideCabal (orig: { - inherit src; - }) (callPackageKeepDeriver expr args); - - callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args; - - # : { root : Path - # , name : Defaulted String - # , source-overrides : Defaulted (Either Path VersionNumber) - # , overrides : Defaulted (HaskellPackageOverrideSet) - # , modifier : Defaulted - # , returnShellEnv : Defaulted - # , withHoogle : Defaulted - # , cabal2nixOptions : Defaulted - # } -> NixShellAwareDerivation - # - # Given a path to a haskell package directory, an optional package name - # which defaults to the base name of the path, an optional set of source - # overrides as appropriate for the 'packageSourceOverrides' function, an - # optional set of arbitrary overrides, and an optional haskell package - # modifier, return a derivation appropriate for nix-build or nix-shell to - # build that package. - # - # If 'returnShellEnv' is true this returns a derivation which will give you - # an environment suitable for developing the listed packages with an - # incremental tool like cabal-install. - # - # If 'withHoogle' is true (the default if a shell environment is requested) - # then 'ghcWithHoogle' is used to generate the derivation (instead of - # 'ghcWithPackages'), see the documentation there for more information. - # - # 'cabal2nixOptions' can contain extra command line arguments to pass to - # 'cabal2nix' when generating the package derivation, for example setting - # a cabal flag with '--flag=myflag'. - developPackage = - { root - , name ? lib.optionalString (builtins.typeOf root == "path") (builtins.baseNameOf root) - , source-overrides ? {} - , overrides ? self: super: {} - , modifier ? drv: drv - , returnShellEnv ? pkgs.lib.inNixShell - , withHoogle ? returnShellEnv - , cabal2nixOptions ? "" }: - let drv = - (extensible-self.extend - (pkgs.lib.composeExtensions - (self.packageSourceOverrides source-overrides) - overrides)) - .callCabal2nixWithOptions name root cabal2nixOptions {}; - in if returnShellEnv - then (modifier drv).envFunc {inherit withHoogle;} - else modifier drv; - - # This can be used to easily create a derivation containing GHC and the specified set of Haskell packages. - # - # Example: - # $ nix-shell -p 'haskellPackages.ghcWithPackages (hpkgs: [ hpkgs.mtl hpkgs.lens ])' - # $ ghci # in the nix-shell - # Prelude > import Control.Lens - # - # GHC is setup with a package database with all the specified Haskell packages. - # - # ghcWithPackages :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation - ghcWithPackages = buildHaskellPackages.callPackage ./with-packages-wrapper.nix { - haskellPackages = self; - inherit (self) hoogleWithPackages; - }; +in +package-set { inherit pkgs lib callPackage; } self +// { + inherit + mkDerivation + callPackage + haskellSrc2nix + hackage2nix + buildHaskellPackages + ; - # Put 'hoogle' into the derivation's PATH with a database containing all - # the package's dependencies; run 'hoogle server --local' in a shell to - # host a search engine for the dependencies. - # - # Example usage: - # $ nix-shell -p 'haskellPackages.hoogleWithPackages (p: [ p.mtl p.lens ])' - # [nix-shell] $ hoogle server - # - # hoogleWithPackages :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation - # - # To reload the Hoogle server automatically on .cabal file changes try - # this: - # echo *.cabal | entr -r -- nix-shell --run 'hoogle server --local' - hoogleWithPackages = self.callPackage ./hoogle.nix { - haskellPackages = self; - }; - hoogleLocal = - { packages ? [] }: - lib.warn "hoogleLocal is deprecated, use hoogleWithPackages instead" ( - self.hoogleWithPackages (_: packages) + inherit (haskellLib) packageSourceOverrides; + + # callHackage :: Text -> Text -> AttrSet -> HaskellPackage + # + # e.g., while overriding a package set: + # '... foo = self.callHackage "foo" "1.5.3" {}; ...' + callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version); + + # callHackageDirect + # :: { pkg :: Text, ver :: Text, sha256 :: Text } + # -> AttrSet + # -> HaskellPackage + # + # This function does not depend on all-cabal-hashes and therefore will work + # for any version that has been released on hackage as opposed to only + # versions released before whatever version of all-cabal-hashes you happen + # to be currently using. + callHackageDirect = + { + pkg, + ver, + sha256, + rev ? { + revision = null; + sha256 = null; + }, + }: + args: + let + pkgver = "${pkg}-${ver}"; + firstRevision = self.callCabal2nix pkg (pkgs.fetchzip { + url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz"; + inherit sha256; + }) args; + in + overrideCabal (orig: { + revision = rev.revision; + editedCabalFile = rev.sha256; + }) firstRevision; + + # Creates a Haskell package from a source package by calling cabal2nix on the source. + callCabal2nixWithOptions = + name: src: opts: args: + let + extraCabal2nixOptions = if builtins.isString opts then opts else opts.extraCabal2nixOptions or ""; + srcModifier = opts.srcModifier or null; + defaultFilter = path: type: pkgs.lib.hasSuffix ".cabal" path || baseNameOf path == "package.yaml"; + expr = self.haskellSrc2nix { + inherit name extraCabal2nixOptions; + src = + if srcModifier != null then + srcModifier src + else if pkgs.lib.canCleanSource src then + pkgs.lib.cleanSourceWith { + inherit src; + filter = defaultFilter; + } + else + src; + }; + in + overrideCabal (orig: { + inherit src; + }) (callPackageKeepDeriver expr args); + + callCabal2nix = + name: src: args: + self.callCabal2nixWithOptions name src "" args; + + # : { root : Path + # , name : Defaulted String + # , source-overrides : Defaulted (Either Path VersionNumber) + # , overrides : Defaulted (HaskellPackageOverrideSet) + # , modifier : Defaulted + # , returnShellEnv : Defaulted + # , withHoogle : Defaulted + # , cabal2nixOptions : Defaulted + # } -> NixShellAwareDerivation + # + # Given a path to a haskell package directory, an optional package name + # which defaults to the base name of the path, an optional set of source + # overrides as appropriate for the 'packageSourceOverrides' function, an + # optional set of arbitrary overrides, and an optional haskell package + # modifier, return a derivation appropriate for nix-build or nix-shell to + # build that package. + # + # If 'returnShellEnv' is true this returns a derivation which will give you + # an environment suitable for developing the listed packages with an + # incremental tool like cabal-install. + # + # If 'withHoogle' is true (the default if a shell environment is requested) + # then 'ghcWithHoogle' is used to generate the derivation (instead of + # 'ghcWithPackages'), see the documentation there for more information. + # + # 'cabal2nixOptions' can contain extra command line arguments to pass to + # 'cabal2nix' when generating the package derivation, for example setting + # a cabal flag with '--flag=myflag'. + developPackage = + { + root, + name ? lib.optionalString (builtins.typeOf root == "path") (builtins.baseNameOf root), + source-overrides ? { }, + overrides ? self: super: { }, + modifier ? drv: drv, + returnShellEnv ? pkgs.lib.inNixShell, + withHoogle ? returnShellEnv, + cabal2nixOptions ? "", + }: + let + drv = + (extensible-self.extend ( + pkgs.lib.composeExtensions (self.packageSourceOverrides source-overrides) overrides + )).callCabal2nixWithOptions + name + root + cabal2nixOptions + { }; + in + if returnShellEnv then (modifier drv).envFunc { inherit withHoogle; } else modifier drv; + + # This can be used to easily create a derivation containing GHC and the specified set of Haskell packages. + # + # Example: + # $ nix-shell -p 'haskellPackages.ghcWithPackages (hpkgs: [ hpkgs.mtl hpkgs.lens ])' + # $ ghci # in the nix-shell + # Prelude > import Control.Lens + # + # GHC is setup with a package database with all the specified Haskell packages. + # + # ghcWithPackages :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation + ghcWithPackages = buildHaskellPackages.callPackage ./with-packages-wrapper.nix { + haskellPackages = self; + inherit (self) hoogleWithPackages; + }; + + # Put 'hoogle' into the derivation's PATH with a database containing all + # the package's dependencies; run 'hoogle server --local' in a shell to + # host a search engine for the dependencies. + # + # Example usage: + # $ nix-shell -p 'haskellPackages.hoogleWithPackages (p: [ p.mtl p.lens ])' + # [nix-shell] $ hoogle server + # + # hoogleWithPackages :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation + # + # To reload the Hoogle server automatically on .cabal file changes try + # this: + # echo *.cabal | entr -r -- nix-shell --run 'hoogle server --local' + hoogleWithPackages = self.callPackage ./hoogle.nix { + haskellPackages = self; + }; + hoogleLocal = + { + packages ? [ ], + }: + lib.warn "hoogleLocal is deprecated, use hoogleWithPackages instead" ( + self.hoogleWithPackages (_: packages) + ); + # This is like a combination of ghcWithPackages and hoogleWithPackages. + # It provides a derivation containing both GHC and Hoogle with an index of + # the given Haskell package database. + # + # Example: + # $ nix-shell -p 'haskellPackages.ghcWithHoogle (hpkgs: [ hpkgs.conduit hpkgs.lens ])' + # + # ghcWithHoogle :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation + ghcWithHoogle = self.ghcWithPackages.override { + withHoogle = true; + }; + + # Returns a derivation whose environment contains a GHC with only + # the dependencies of packages listed in `packages`, not the + # packages themselves. Using nix-shell on this derivation will + # give you an environment suitable for developing the listed + # packages with an incremental tool like cabal-install. + # + # In addition to the "packages" arg and "withHoogle" arg, anything that + # can be passed into stdenv.mkDerivation can be included in the input attrset + # + # # default.nix + # with import {}; + # haskellPackages.extend (haskell.lib.compose.packageSourceOverrides { + # frontend = ./frontend; + # backend = ./backend; + # common = ./common; + # }) + # + # # shell.nix + # let pkgs = import {} in + # (import ./.).shellFor { + # packages = p: [p.frontend p.backend p.common]; + # withHoogle = true; + # buildInputs = [ pkgs.python pkgs.cabal-install ]; + # } + # + # -- cabal.project + # packages: + # frontend/ + # backend/ + # common/ + # + # bash$ nix-shell --run "cabal new-build all" + # bash$ nix-shell --run "python" + shellFor = + { + # Packages to create this development shell for. These are usually + # your local packages. + packages, + # Whether or not to generate a Hoogle database for all the + # dependencies. + withHoogle ? false, + # Whether or not to include benchmark dependencies of your local + # packages. You should set this to true if you have benchmarks defined + # in your local packages that you want to be able to run with cabal benchmark + doBenchmark ? false, + # An optional function that can modify the generic builder arguments + # for the fake package that shellFor uses to construct its environment. + # + # Example: + # let + # # elided... + # haskellPkgs = pkgs.haskell.packages.ghc884.override (hpArgs: { + # overrides = pkgs.lib.composeExtensions (hpArgs.overrides or (_: _: { })) ( + # _hfinal: hprev: { + # mkDerivation = args: hprev.mkDerivation ({ + # doCheck = false; + # doBenchmark = false; + # doHoogle = true; + # doHaddock = true; + # enableLibraryProfiling = false; + # enableExecutableProfiling = false; + # } // args); + # } + # ); + # }); + # in + # haskellPkgs.shellFor { + # packages = p: [ p.foo ]; + # genericBuilderArgsModifier = args: args // { doCheck = true; doBenchmark = true }; + # } + # + # This will disable tests and benchmarks for everything in "haskellPkgs" + # (which will invalidate the binary cache), and then re-enable them + # for the "shellFor" environment (ensuring that any test/benchmark + # dependencies for "foo" will be available within the nix-shell). + genericBuilderArgsModifier ? (args: args), + + # Extra dependencies, in the form of cabal2nix build attributes. + # + # An example use case is when you have Haskell scripts that use + # libraries that don't occur in your packages' dependencies. + # + # Example: + # + # extraDependencies = p: { + # libraryHaskellDepends = [ p.releaser ]; + # }; + extraDependencies ? p: { }, + ... + }@args: + let + # A list of the packages we want to build a development shell for. + # This is a list of Haskell package derivations. + selected = packages self; + + # This is a list of attribute sets, where each attribute set + # corresponds to the build inputs of one of the packages input to shellFor. + # + # Each attribute has keys like buildDepends, executableHaskellDepends, + # testPkgconfigDepends, etc. The values for the keys of the attribute + # set are lists of dependencies. + # + # Example: + # cabalDepsForSelected + # => [ + # # This may be the attribute set corresponding to the `backend` + # # package in the example above. + # { buildDepends = [ gcc ... ]; + # libraryHaskellDepends = [ lens conduit ... ]; + # ... + # } + # # This may be the attribute set corresponding to the `common` + # # package in the example above. + # { testHaskellDepends = [ tasty hspec ... ]; + # libraryHaskellDepends = [ lens aeson ]; + # benchmarkHaskellDepends = [ criterion ... ]; + # ... + # } + # ... + # ] + cabalDepsForSelected = map (p: p.getCabalDeps) selected; + + # A predicate that takes a derivation as input, and tests whether it is + # the same as any of the `selected` packages. + # + # Returns true if the input derivation is not in the list of `selected` + # packages. + # + # isNotSelected :: Derivation -> Bool + # + # Example: + # + # isNotSelected common [ frontend backend common ] + # => false + # + # isNotSelected lens [ frontend backend common ] + # => true + isNotSelected = input: pkgs.lib.all (p: input.outPath or null != p.outPath) selected; + + # A function that takes a list of list of derivations, filters out all + # the `selected` packages from each list, and concats the results. + # + # zipperCombinedPkgs :: [[Derivation]] -> [Derivation] + # + # Example: + # zipperCombinedPkgs [ [ lens conduit ] [ aeson frontend ] ] + # => [ lens conduit aeson ] + # + # Note: The reason this isn't just the function `pkgs.lib.concat` is + # that we need to be careful to remove dependencies that are in the + # `selected` packages. + # + # For instance, in the above example, if `common` is a dependency of + # `backend`, then zipperCombinedPkgs needs to be careful to filter out + # `common`, because cabal will end up ignoring that built version, + # assuming new-style commands. + zipperCombinedPkgs = vals: pkgs.lib.concatMap (drvList: pkgs.lib.filter isNotSelected drvList) vals; + + # Zip `cabalDepsForSelected` into a single attribute list, combining + # the derivations in all the individual attributes. + # + # Example: + # packageInputs + # => # Assuming the value of cabalDepsForSelected is the same as + # # the example in cabalDepsForSelected: + # { buildDepends = [ gcc ... ]; + # libraryHaskellDepends = [ lens conduit aeson ... ]; + # testHaskellDepends = [ tasty hspec ... ]; + # benchmarkHaskellDepends = [ criterion ... ]; + # ... + # } + # + # See the Note in `zipperCombinedPkgs` for what gets filtered out from + # each of these dependency lists. + packageInputs = pkgs.lib.zipAttrsWith (_name: zipperCombinedPkgs) ( + cabalDepsForSelected ++ [ (extraDependencies self) ] ); - # This is like a combination of ghcWithPackages and hoogleWithPackages. - # It provides a derivation containing both GHC and Hoogle with an index of - # the given Haskell package database. - # - # Example: - # $ nix-shell -p 'haskellPackages.ghcWithHoogle (hpkgs: [ hpkgs.conduit hpkgs.lens ])' - # - # ghcWithHoogle :: (HaskellPkgSet -> [ HaskellPkg ]) -> Derivation - ghcWithHoogle = self.ghcWithPackages.override { - withHoogle = true; - }; - # Returns a derivation whose environment contains a GHC with only - # the dependencies of packages listed in `packages`, not the - # packages themselves. Using nix-shell on this derivation will - # give you an environment suitable for developing the listed - # packages with an incremental tool like cabal-install. - # - # In addition to the "packages" arg and "withHoogle" arg, anything that - # can be passed into stdenv.mkDerivation can be included in the input attrset - # - # # default.nix - # with import {}; - # haskellPackages.extend (haskell.lib.compose.packageSourceOverrides { - # frontend = ./frontend; - # backend = ./backend; - # common = ./common; - # }) - # - # # shell.nix - # let pkgs = import {} in - # (import ./.).shellFor { - # packages = p: [p.frontend p.backend p.common]; - # withHoogle = true; - # buildInputs = [ pkgs.python pkgs.cabal-install ]; - # } - # - # -- cabal.project - # packages: - # frontend/ - # backend/ - # common/ - # - # bash$ nix-shell --run "cabal new-build all" - # bash$ nix-shell --run "python" - shellFor = - { # Packages to create this development shell for. These are usually - # your local packages. - packages - , # Whether or not to generate a Hoogle database for all the - # dependencies. - withHoogle ? false - , # Whether or not to include benchmark dependencies of your local - # packages. You should set this to true if you have benchmarks defined - # in your local packages that you want to be able to run with cabal benchmark - doBenchmark ? false - # An optional function that can modify the generic builder arguments - # for the fake package that shellFor uses to construct its environment. - # - # Example: - # let - # # elided... - # haskellPkgs = pkgs.haskell.packages.ghc884.override (hpArgs: { - # overrides = pkgs.lib.composeExtensions (hpArgs.overrides or (_: _: { })) ( - # _hfinal: hprev: { - # mkDerivation = args: hprev.mkDerivation ({ - # doCheck = false; - # doBenchmark = false; - # doHoogle = true; - # doHaddock = true; - # enableLibraryProfiling = false; - # enableExecutableProfiling = false; - # } // args); - # } - # ); - # }); - # in - # haskellPkgs.shellFor { - # packages = p: [ p.foo ]; - # genericBuilderArgsModifier = args: args // { doCheck = true; doBenchmark = true }; - # } - # - # This will disable tests and benchmarks for everything in "haskellPkgs" - # (which will invalidate the binary cache), and then re-enable them - # for the "shellFor" environment (ensuring that any test/benchmark - # dependencies for "foo" will be available within the nix-shell). - , genericBuilderArgsModifier ? (args: args) - - # Extra dependencies, in the form of cabal2nix build attributes. - # - # An example use case is when you have Haskell scripts that use - # libraries that don't occur in your packages' dependencies. - # - # Example: - # - # extraDependencies = p: { - # libraryHaskellDepends = [ p.releaser ]; - # }; - , extraDependencies ? p: {} - , ... - } @ args: - let - # A list of the packages we want to build a development shell for. - # This is a list of Haskell package derivations. - selected = packages self; - - # This is a list of attribute sets, where each attribute set - # corresponds to the build inputs of one of the packages input to shellFor. - # - # Each attribute has keys like buildDepends, executableHaskellDepends, - # testPkgconfigDepends, etc. The values for the keys of the attribute - # set are lists of dependencies. - # - # Example: - # cabalDepsForSelected - # => [ - # # This may be the attribute set corresponding to the `backend` - # # package in the example above. - # { buildDepends = [ gcc ... ]; - # libraryHaskellDepends = [ lens conduit ... ]; - # ... - # } - # # This may be the attribute set corresponding to the `common` - # # package in the example above. - # { testHaskellDepends = [ tasty hspec ... ]; - # libraryHaskellDepends = [ lens aeson ]; - # benchmarkHaskellDepends = [ criterion ... ]; - # ... - # } - # ... - # ] - cabalDepsForSelected = map (p: p.getCabalDeps) selected; - - # A predicate that takes a derivation as input, and tests whether it is - # the same as any of the `selected` packages. - # - # Returns true if the input derivation is not in the list of `selected` - # packages. - # - # isNotSelected :: Derivation -> Bool - # - # Example: - # - # isNotSelected common [ frontend backend common ] - # => false - # - # isNotSelected lens [ frontend backend common ] - # => true - isNotSelected = input: pkgs.lib.all (p: input.outPath or null != p.outPath) selected; - - # A function that takes a list of list of derivations, filters out all - # the `selected` packages from each list, and concats the results. - # - # zipperCombinedPkgs :: [[Derivation]] -> [Derivation] - # - # Example: - # zipperCombinedPkgs [ [ lens conduit ] [ aeson frontend ] ] - # => [ lens conduit aeson ] - # - # Note: The reason this isn't just the function `pkgs.lib.concat` is - # that we need to be careful to remove dependencies that are in the - # `selected` packages. - # - # For instance, in the above example, if `common` is a dependency of - # `backend`, then zipperCombinedPkgs needs to be careful to filter out - # `common`, because cabal will end up ignoring that built version, - # assuming new-style commands. - zipperCombinedPkgs = vals: - pkgs.lib.concatMap - (drvList: pkgs.lib.filter isNotSelected drvList) - vals; - - # Zip `cabalDepsForSelected` into a single attribute list, combining - # the derivations in all the individual attributes. - # - # Example: - # packageInputs - # => # Assuming the value of cabalDepsForSelected is the same as - # # the example in cabalDepsForSelected: - # { buildDepends = [ gcc ... ]; - # libraryHaskellDepends = [ lens conduit aeson ... ]; - # testHaskellDepends = [ tasty hspec ... ]; - # benchmarkHaskellDepends = [ criterion ... ]; - # ... - # } - # - # See the Note in `zipperCombinedPkgs` for what gets filtered out from - # each of these dependency lists. - packageInputs = - pkgs.lib.zipAttrsWith (_name: zipperCombinedPkgs) (cabalDepsForSelected ++ [ (extraDependencies self) ]); - - # A attribute set to pass to `haskellPackages.mkDerivation`. - # - # The important thing to note here is that all the fields from - # packageInputs are set correctly. - genericBuilderArgs = { - pname = - if pkgs.lib.length selected == 1 - then (pkgs.lib.head selected).name - else "packages"; + # A attribute set to pass to `haskellPackages.mkDerivation`. + # + # The important thing to note here is that all the fields from + # packageInputs are set correctly. + genericBuilderArgs = + { + pname = if pkgs.lib.length selected == 1 then (pkgs.lib.head selected).name else "packages"; version = "0"; license = null; } @@ -527,61 +604,74 @@ in package-set { inherit pkgs lib callPackage; } self // { doBenchmark = true; }; - # This is a pseudo Haskell package derivation that contains all the - # dependencies for the packages in `selected`. - # - # This is a derivation created with `haskellPackages.mkDerivation`. - # - # pkgWithCombinedDeps :: HaskellDerivation - pkgWithCombinedDeps = self.mkDerivation (genericBuilderArgsModifier genericBuilderArgs); - - # The derivation returned from `envFunc` for `pkgWithCombinedDeps`. - # - # This is a derivation that can be run with `nix-shell`. It provides a - # GHC with a package database with all the dependencies of our - # `selected` packages. - # - # This is a derivation created with `stdenv.mkDerivation` (not - # `haskellPackages.mkDerivation`). - # - # pkgWithCombinedDepsDevDrv :: Derivation - pkgWithCombinedDepsDevDrv = pkgWithCombinedDeps.envFunc { inherit withHoogle; }; - - mkDerivationArgs = builtins.removeAttrs args [ "genericBuilderArgsModifier" "packages" "withHoogle" "doBenchmark" "extraDependencies" ]; - - in pkgWithCombinedDepsDevDrv.overrideAttrs (old: mkDerivationArgs // { - nativeBuildInputs = old.nativeBuildInputs ++ mkDerivationArgs.nativeBuildInputs or []; - buildInputs = old.buildInputs ++ mkDerivationArgs.buildInputs or []; - }); - - ghc = ghc // { - withPackages = self.ghcWithPackages; - withHoogle = self.ghcWithHoogle; - }; + # This is a pseudo Haskell package derivation that contains all the + # dependencies for the packages in `selected`. + # + # This is a derivation created with `haskellPackages.mkDerivation`. + # + # pkgWithCombinedDeps :: HaskellDerivation + pkgWithCombinedDeps = self.mkDerivation (genericBuilderArgsModifier genericBuilderArgs); + + # The derivation returned from `envFunc` for `pkgWithCombinedDeps`. + # + # This is a derivation that can be run with `nix-shell`. It provides a + # GHC with a package database with all the dependencies of our + # `selected` packages. + # + # This is a derivation created with `stdenv.mkDerivation` (not + # `haskellPackages.mkDerivation`). + # + # pkgWithCombinedDepsDevDrv :: Derivation + pkgWithCombinedDepsDevDrv = pkgWithCombinedDeps.envFunc { inherit withHoogle; }; + + mkDerivationArgs = builtins.removeAttrs args [ + "genericBuilderArgsModifier" + "packages" + "withHoogle" + "doBenchmark" + "extraDependencies" + ]; + + in + pkgWithCombinedDepsDevDrv.overrideAttrs ( + old: + mkDerivationArgs + // { + nativeBuildInputs = old.nativeBuildInputs ++ mkDerivationArgs.nativeBuildInputs or [ ]; + buildInputs = old.buildInputs ++ mkDerivationArgs.buildInputs or [ ]; + } + ); + + ghc = ghc // { + withPackages = self.ghcWithPackages; + withHoogle = self.ghcWithHoogle; + }; - /* - Run `cabal sdist` on a source. + /* + Run `cabal sdist` on a source. - Unlike `haskell.lib.sdistTarball`, this does not require any dependencies - to be present, as it uses `cabal-install` instead of building `Setup.hs`. - This makes `cabalSdist` faster than `sdistTarball`. - */ - cabalSdist = { + Unlike `haskell.lib.sdistTarball`, this does not require any dependencies + to be present, as it uses `cabal-install` instead of building `Setup.hs`. + This makes `cabalSdist` faster than `sdistTarball`. + */ + cabalSdist = + { src, - name ? if src?name then "${src.name}-sdist.tar.gz" else "source.tar.gz" + name ? if src ? name then "${src.name}-sdist.tar.gz" else "source.tar.gz", }: - pkgs.runCommandLocal name - { - inherit src; - nativeBuildInputs = [ - buildHaskellPackages.cabal-install - - # TODO after https://github.com/haskell/cabal/issues/8352 - # remove ghc - self.ghc - ]; - dontUnpack = false; - } '' + pkgs.runCommandLocal name + { + inherit src; + nativeBuildInputs = [ + buildHaskellPackages.cabal-install + + # TODO after https://github.com/haskell/cabal/issues/8352 + # remove ghc + self.ghc + ]; + dontUnpack = false; + } + '' unpackPhase cd "''${sourceRoot:-.}" patchPhase @@ -590,63 +680,61 @@ in package-set { inherit pkgs lib callPackage; } self // { mv out/*.tar.gz $out ''; - /* - Like `haskell.lib.buildFromSdist`, but using `cabal sdist` instead of - building `./Setup`. - - Unlike `haskell.lib.buildFromSdist`, this does not require any dependencies - to be present. This makes `buildFromCabalSdist` faster than `haskell.lib.buildFromSdist`. - */ - buildFromCabalSdist = pkg: - haskellLib.overrideSrc - { - src = self.cabalSdist { inherit (pkg) src; }; - version = pkg.version; - } - pkg; - - /* - Modify a Haskell package to add shell completion scripts for the - given executables produced by it. These completion scripts will be - picked up automatically if the resulting derivation is installed, - e.g. by `nix-env -i`. - - This depends on the `--*-completion` flag `optparse-applicative` provides - automatically. Since we need to invoke installed executables, completions - are not generated if we are cross-compiling. - - commands: names of the executables built by the derivation - pkg: Haskell package that builds the executables - - Example: - generateOptparseApplicativeCompletions [ "exec1" "exec2" ] pkg - - Type: [str] -> drv -> drv - */ - generateOptparseApplicativeCompletions = - self.callPackage ( - { stdenv }: - - commands: - pkg: - - if stdenv.buildPlatform.canExecute stdenv.hostPlatform - then lib.foldr haskellLib.__generateOptparseApplicativeCompletion pkg commands - else pkg - ) { }; - - /* - Modify given Haskell package to force GHC to employ the LLVM - codegen backend when compiling. Useful when working around bugs - in a native codegen backend GHC defaults to. - - Example: - forceLlvmCodegenBackend tls - - Type: drv -> drv - */ - forceLlvmCodegenBackend = overrideCabal (drv: { - configureFlags = drv.configureFlags or [ ] ++ [ "--ghc-option=-fllvm" ]; - buildTools = drv.buildTools or [ ] ++ [ self.llvmPackages.llvm ]; - }); - } + /* + Like `haskell.lib.buildFromSdist`, but using `cabal sdist` instead of + building `./Setup`. + + Unlike `haskell.lib.buildFromSdist`, this does not require any dependencies + to be present. This makes `buildFromCabalSdist` faster than `haskell.lib.buildFromSdist`. + */ + buildFromCabalSdist = + pkg: + haskellLib.overrideSrc { + src = self.cabalSdist { inherit (pkg) src; }; + version = pkg.version; + } pkg; + + /* + Modify a Haskell package to add shell completion scripts for the + given executables produced by it. These completion scripts will be + picked up automatically if the resulting derivation is installed, + e.g. by `nix-env -i`. + + This depends on the `--*-completion` flag `optparse-applicative` provides + automatically. Since we need to invoke installed executables, completions + are not generated if we are cross-compiling. + + commands: names of the executables built by the derivation + pkg: Haskell package that builds the executables + + Example: + generateOptparseApplicativeCompletions [ "exec1" "exec2" ] pkg + + Type: [str] -> drv -> drv + */ + generateOptparseApplicativeCompletions = self.callPackage ( + { stdenv }: + + commands: pkg: + + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + lib.foldr haskellLib.__generateOptparseApplicativeCompletion pkg commands + else + pkg + ) { }; + + /* + Modify given Haskell package to force GHC to employ the LLVM + codegen backend when compiling. Useful when working around bugs + in a native codegen backend GHC defaults to. + + Example: + forceLlvmCodegenBackend tls + + Type: drv -> drv + */ + forceLlvmCodegenBackend = overrideCabal (drv: { + configureFlags = drv.configureFlags or [ ] ++ [ "--ghc-option=-fllvm" ]; + buildTools = drv.buildTools or [ ] ++ [ self.llvmPackages.llvm ]; + }); +} diff --git a/pkgs/development/haskell-modules/package-list.nix b/pkgs/development/haskell-modules/package-list.nix index 3b0efe120b0ec..dcc89bc56cd0e 100644 --- a/pkgs/development/haskell-modules/package-list.nix +++ b/pkgs/development/haskell-modules/package-list.nix @@ -1,4 +1,9 @@ -{ runCommand, haskellPackages, lib, all-cabal-hashes }: +{ + runCommand, + haskellPackages, + lib, + all-cabal-hashes, +}: let # Checks if the version looks like a Haskell PVP version which is the format # Hackage enforces. This will return false if the version strings is empty or @@ -6,13 +11,16 @@ let # (sadly there's no good way to show something useful on hackage in this case). isPvpVersion = v: builtins.match "([0-9]+)(\\.[0-9]+)*" v != null; - pkgLine = name: pkg: + pkgLine = + name: pkg: let version = pkg.version or ""; in lib.optionalString (isPvpVersion version && (pkg.meta.hydraPlatforms or null) != lib.platforms.none) ''"${name}","${version}","http://hydra.nixos.org/job/nixpkgs/trunk/haskellPackages.${name}.x86_64-linux"''; - all-haskellPackages = builtins.toFile "all-haskellPackages" (lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.mapAttrsToList pkgLine haskellPackages))); + all-haskellPackages = builtins.toFile "all-haskellPackages" ( + lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.mapAttrsToList pkgLine haskellPackages)) + ); in runCommand "hackage-package-list" { } # This command will make a join between all packages on hackage and haskellPackages.*. diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index a3ca6f5b1d2f8..020dc12651b03 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -1,14 +1,19 @@ -{ lib, stdenv, haskellPackages, symlinkJoin, makeWrapper -# GHC will have LLVM available if necessary for the respective target, -# so useLLVM only needs to be changed if -fllvm is to be used for a -# platform that has NCG support -, useLLVM ? false -, withHoogle ? false -# Whether to install `doc` outputs for GHC and all included libraries. -, installDocumentation ? true -, hoogleWithPackages -, postBuild ? "" -, ghcLibdir ? null # only used by ghcjs, when resolving plugins +{ + lib, + stdenv, + haskellPackages, + symlinkJoin, + makeWrapper, + # GHC will have LLVM available if necessary for the respective target, + # so useLLVM only needs to be changed if -fllvm is to be used for a + # platform that has NCG support + useLLVM ? false, + withHoogle ? false, + # Whether to install `doc` outputs for GHC and all included libraries. + installDocumentation ? true, + hoogleWithPackages, + postBuild ? "", + ghcLibdir ? null, # only used by ghcjs, when resolving plugins }: # This argument is a function which selects a list of Haskell packages from any @@ -42,161 +47,176 @@ selectPackages: let inherit (haskellPackages) llvmPackages ghc; - packages = selectPackages haskellPackages - ++ lib.optional withHoogle (hoogleWithPackages selectPackages); - - isGhcjs = ghc.isGhcjs or false; - isHaLVM = ghc.isHaLVM or false; - ghcCommand' = if isGhcjs then "ghcjs" else "ghc"; - ghcCommand = "${ghc.targetPrefix}${ghcCommand'}"; - ghcCommandCaps= lib.toUpper ghcCommand'; - libDir = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" - else "$out/lib/${ghc.targetPrefix}${ghc.haskellCompilerName}" - + lib.optionalString (ghc ? hadrian) "/lib"; + packages = + selectPackages haskellPackages + ++ lib.optional withHoogle (hoogleWithPackages selectPackages); + + isGhcjs = ghc.isGhcjs or false; + isHaLVM = ghc.isHaLVM or false; + ghcCommand' = if isGhcjs then "ghcjs" else "ghc"; + ghcCommand = "${ghc.targetPrefix}${ghcCommand'}"; + ghcCommandCaps = lib.toUpper ghcCommand'; + libDir = + if isHaLVM then + "$out/lib/HaLVM-${ghc.version}" + else + "$out/lib/${ghc.targetPrefix}${ghc.haskellCompilerName}" + + lib.optionalString (ghc ? hadrian) "/lib"; # Boot libraries for GHC are present in a separate directory. - bootLibDir = let arch = if stdenv.targetPlatform.isAarch64 - then "aarch64" - else "x86_64"; - platform = if stdenv.targetPlatform.isDarwin then "osx" else "linux"; - in "${ghc}/lib/${ghc.haskellCompilerName}/lib/${arch}-${platform}-${ghc.haskellCompilerName}"; - docDir = "$out/share/doc/ghc/html"; + bootLibDir = + let + arch = if stdenv.targetPlatform.isAarch64 then "aarch64" else "x86_64"; + platform = if stdenv.targetPlatform.isDarwin then "osx" else "linux"; + in + "${ghc}/lib/${ghc.haskellCompilerName}/lib/${arch}-${platform}-${ghc.haskellCompilerName}"; + docDir = "$out/share/doc/ghc/html"; packageCfgDir = "${libDir}/package.conf.d"; - paths = lib.concatLists ( - builtins.map - (pkg: [ pkg ] ++ lib.optionals installDocumentation [ (lib.getOutput "doc" pkg) ]) - (lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages)) - ); - hasLibraries = lib.any (x: x.isHaskellLibrary) paths; + paths = lib.concatLists ( + builtins.map (pkg: [ pkg ] ++ lib.optionals installDocumentation [ (lib.getOutput "doc" pkg) ]) ( + lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages) + ) + ); + hasLibraries = lib.any (x: x.isHaskellLibrary) paths; # CLang is needed on Darwin for -fllvm to work: # https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm - llvm = lib.makeBinPath - ([ llvmPackages.llvm ] - ++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang); + llvm = lib.makeBinPath ( + [ llvmPackages.llvm ] ++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang + ); in assert ghcLibdir != null -> (ghc.isGhcjs or false); -if paths == [] && !useLLVM then ghc else -symlinkJoin { - # this makes computing paths from the name attribute impossible; - # if such a feature is needed, the real compiler name should be saved - # as a dedicated drv attribute, like `compiler-name` - name = ghc.name + "-with-packages"; - paths = paths - ++ [ ghc ] - ++ lib.optionals installDocumentation [ (lib.getOutput "doc" ghc) ]; - nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - # wrap compiler executables with correct env variables - - for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do - if [[ -x "${ghc}/bin/$prg" ]]; then - rm -f $out/bin/$prg - makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ - --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"' \ - --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \ - --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \ - --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \ - --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" \ - ${lib.optionalString (ghc.isGhcjs or false) - ''--set NODE_PATH "${ghc.socket-io}/lib/node_modules"'' - } \ - ${lib.optionalString useLLVM ''--prefix "PATH" ":" "${llvm}"''} - fi - done - - for prg in runghc runhaskell; do - if [[ -x "${ghc}/bin/$prg" ]]; then - rm -f $out/bin/$prg - makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ - --add-flags "-f $out/bin/${ghcCommand}" \ - --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \ - --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \ - --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \ - --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" - fi - done - - for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do - if [[ -x "${ghc}/bin/$prg" ]]; then - rm -f $out/bin/$prg - makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "--global-package-db=${packageCfgDir}" - fi - done - - # haddock was referring to the base ghc, https://github.com/NixOS/nixpkgs/issues/36976 - if [[ -x "${ghc}/bin/haddock" ]]; then - rm -f $out/bin/haddock - makeWrapper ${ghc}/bin/haddock $out/bin/haddock \ - --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"' \ - --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" - fi - - '' + (lib.optionalString (stdenv.targetPlatform.isDarwin && !isGhcjs && !stdenv.targetPlatform.isiOS) '' - # Work around a linker limit in macOS Sierra (see generic-builder.nix): - local packageConfDir="${packageCfgDir}"; - local dynamicLinksDir="$out/lib/links"; - mkdir -p $dynamicLinksDir - # Clean up the old links that may have been (transitively) included by - # symlinkJoin: - rm -f $dynamicLinksDir/* - - # Boot libraries are located differently than other libraries since GHC 9.6, so handle them separately. - if [[ -x "${bootLibDir}" ]]; then - ln -s "${bootLibDir}"/*.dylib $dynamicLinksDir - fi - - for d in $(grep -Poz "dynamic-library-dirs:\s*\K .+\n" $packageConfDir/*|awk '{print $2}'|sort -u); do - ln -s $d/*.dylib $dynamicLinksDir - done - for f in $packageConfDir/*.conf; do - # Initially, $f is a symlink to a read-only file in one of the inputs - # (as a result of this symlinkJoin derivation). - # Replace it with a copy whose dynamic-library-dirs points to - # $dynamicLinksDir - cp $f $f-tmp - rm $f - sed "N;s,dynamic-library-dirs:\s*.*\n,dynamic-library-dirs: $dynamicLinksDir\n," $f-tmp > $f - rm $f-tmp - done - '') + '' - ${lib.optionalString hasLibraries '' - # GHC 8.10 changes. - # Instead of replacing package.cache[.lock] with the new file, - # ghc-pkg is now trying to open the file. These file are symlink - # to another nix derivation, so they are not writable. Removing - # them allow the correct behavior of ghc-pkg recache - # See: https://github.com/NixOS/nixpkgs/issues/79441 - rm ${packageCfgDir}/package.cache.lock - rm ${packageCfgDir}/package.cache - - $out/bin/${ghcCommand}-pkg recache - ''} - ${# ghcjs will read the ghc_libdir file when resolving plugins. - lib.optionalString (isGhcjs && ghcLibdir != null) '' - mkdir -p "${libDir}" - rm -f "${libDir}/ghc_libdir" - printf '%s' '${ghcLibdir}' > "${libDir}/ghc_libdir" - ''} - $out/bin/${ghcCommand}-pkg check - '' + postBuild; - preferLocalBuild = true; - passthru = { - inherit (ghc) version meta; - - # Inform users about backwards incompatibilities with <= 21.05 - override = _: throw '' - The ghc.withPackages wrapper itself can now be overridden, but no longer - the result of calling it (as before). Consequently overrides need to be - adjusted: Instead of - - (ghc.withPackages (p: [ p.my-package ])).override { withLLLVM = true; } - - use - - (ghc.withPackages.override { useLLVM = true; }) (p: [ p.my-package ]) - - Also note that withLLVM has been renamed to useLLVM for consistency with - the GHC Nix expressions.''; - }; -} +if paths == [ ] && !useLLVM then + ghc +else + symlinkJoin { + # this makes computing paths from the name attribute impossible; + # if such a feature is needed, the real compiler name should be saved + # as a dedicated drv attribute, like `compiler-name` + name = ghc.name + "-with-packages"; + paths = paths ++ [ ghc ] ++ lib.optionals installDocumentation [ (lib.getOutput "doc" ghc) ]; + nativeBuildInputs = [ makeWrapper ]; + postBuild = + '' + # wrap compiler executables with correct env variables + + for prg in ${ghcCommand} ${ghcCommand}i ${ghcCommand}-${ghc.version} ${ghcCommand}i-${ghc.version}; do + if [[ -x "${ghc}/bin/$prg" ]]; then + rm -f $out/bin/$prg + makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ + --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"' \ + --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \ + --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \ + --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \ + --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" \ + ${ + lib.optionalString (ghc.isGhcjs or false) ''--set NODE_PATH "${ghc.socket-io}/lib/node_modules"'' + } \ + ${lib.optionalString useLLVM ''--prefix "PATH" ":" "${llvm}"''} + fi + done + + for prg in runghc runhaskell; do + if [[ -x "${ghc}/bin/$prg" ]]; then + rm -f $out/bin/$prg + makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ + --add-flags "-f $out/bin/${ghcCommand}" \ + --set "NIX_${ghcCommandCaps}" "$out/bin/${ghcCommand}" \ + --set "NIX_${ghcCommandCaps}PKG" "$out/bin/${ghcCommand}-pkg" \ + --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \ + --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" + fi + done + + for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do + if [[ -x "${ghc}/bin/$prg" ]]; then + rm -f $out/bin/$prg + makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "--global-package-db=${packageCfgDir}" + fi + done + + # haddock was referring to the base ghc, https://github.com/NixOS/nixpkgs/issues/36976 + if [[ -x "${ghc}/bin/haddock" ]]; then + rm -f $out/bin/haddock + makeWrapper ${ghc}/bin/haddock $out/bin/haddock \ + --add-flags '"-B$NIX_${ghcCommandCaps}_LIBDIR"' \ + --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" + fi + + '' + + (lib.optionalString (stdenv.targetPlatform.isDarwin && !isGhcjs && !stdenv.targetPlatform.isiOS) + '' + # Work around a linker limit in macOS Sierra (see generic-builder.nix): + local packageConfDir="${packageCfgDir}"; + local dynamicLinksDir="$out/lib/links"; + mkdir -p $dynamicLinksDir + # Clean up the old links that may have been (transitively) included by + # symlinkJoin: + rm -f $dynamicLinksDir/* + + # Boot libraries are located differently than other libraries since GHC 9.6, so handle them separately. + if [[ -x "${bootLibDir}" ]]; then + ln -s "${bootLibDir}"/*.dylib $dynamicLinksDir + fi + + for d in $(grep -Poz "dynamic-library-dirs:\s*\K .+\n" $packageConfDir/*|awk '{print $2}'|sort -u); do + ln -s $d/*.dylib $dynamicLinksDir + done + for f in $packageConfDir/*.conf; do + # Initially, $f is a symlink to a read-only file in one of the inputs + # (as a result of this symlinkJoin derivation). + # Replace it with a copy whose dynamic-library-dirs points to + # $dynamicLinksDir + cp $f $f-tmp + rm $f + sed "N;s,dynamic-library-dirs:\s*.*\n,dynamic-library-dirs: $dynamicLinksDir\n," $f-tmp > $f + rm $f-tmp + done + '' + ) + + '' + ${lib.optionalString hasLibraries '' + # GHC 8.10 changes. + # Instead of replacing package.cache[.lock] with the new file, + # ghc-pkg is now trying to open the file. These file are symlink + # to another nix derivation, so they are not writable. Removing + # them allow the correct behavior of ghc-pkg recache + # See: https://github.com/NixOS/nixpkgs/issues/79441 + rm ${packageCfgDir}/package.cache.lock + rm ${packageCfgDir}/package.cache + + $out/bin/${ghcCommand}-pkg recache + ''} + ${ + # ghcjs will read the ghc_libdir file when resolving plugins. + lib.optionalString (isGhcjs && ghcLibdir != null) '' + mkdir -p "${libDir}" + rm -f "${libDir}/ghc_libdir" + printf '%s' '${ghcLibdir}' > "${libDir}/ghc_libdir" + '' + } + $out/bin/${ghcCommand}-pkg check + '' + + postBuild; + preferLocalBuild = true; + passthru = { + inherit (ghc) version meta; + + # Inform users about backwards incompatibilities with <= 21.05 + override = + _: + throw '' + The ghc.withPackages wrapper itself can now be overridden, but no longer + the result of calling it (as before). Consequently overrides need to be + adjusted: Instead of + + (ghc.withPackages (p: [ p.my-package ])).override { withLLLVM = true; } + + use + + (ghc.withPackages.override { useLLVM = true; }) (p: [ p.my-package ]) + + Also note that withLLVM has been renamed to useLLVM for consistency with + the GHC Nix expressions.''; + }; + } diff --git a/pkgs/development/idris-modules/array.nix b/pkgs/development/idris-modules/array.nix index ef8159e9a8739..a35b9c5be36ad 100644 --- a/pkgs/development/idris-modules/array.nix +++ b/pkgs/development/idris-modules/array.nix @@ -1,6 +1,7 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: build-idris-package { pname = "array"; diff --git a/pkgs/development/idris-modules/bi.nix b/pkgs/development/idris-modules/bi.nix index ec1f9a13bcddc..9ea6004049d76 100644 --- a/pkgs/development/idris-modules/bi.nix +++ b/pkgs/development/idris-modules/bi.nix @@ -1,15 +1,19 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, pruviloj -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + pruviloj, + lib, }: -build-idris-package { +build-idris-package { pname = "bi"; version = "2018-06-25"; ipkgName = "Bi"; - idrisDeps = [ contrib pruviloj ]; + idrisDeps = [ + contrib + pruviloj + ]; src = fetchFromGitHub { owner = "sbp"; diff --git a/pkgs/development/idris-modules/bifunctors.nix b/pkgs/development/idris-modules/bifunctors.nix index 8e8ae9d195f34..74ea6ece78bba 100644 --- a/pkgs/development/idris-modules/bifunctors.nix +++ b/pkgs/development/idris-modules/bifunctors.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "bifunctors"; version = "2017-02-07"; diff --git a/pkgs/development/idris-modules/build-builtin-package.nix b/pkgs/development/idris-modules/build-builtin-package.nix index fe23728e08489..a5fd167e6a520 100644 --- a/pkgs/development/idris-modules/build-builtin-package.nix +++ b/pkgs/development/idris-modules/build-builtin-package.nix @@ -1,7 +1,8 @@ # Build one of the packages that comes with idris # pname: The pname of the package # deps: The dependencies of the package -{ idris, build-idris-package }: pname: deps: +{ idris, build-idris-package }: +pname: deps: let inherit (builtins.parseDrvName idris.name) version; in diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix index b21826eac3847..30a88b810fa48 100644 --- a/pkgs/development/idris-modules/build-idris-package.nix +++ b/pkgs/development/idris-modules/build-idris-package.nix @@ -1,79 +1,99 @@ # Build an idris package -{ stdenv, lib, gmp, prelude, base, with-packages, idris }: - { idrisDeps ? [] - , noPrelude ? false - , noBase ? false - , pname - , version - , ipkgName ? pname - , extraBuildInputs ? [] - , idrisBuildOptions ? [] - , idrisTestOptions ? [] - , idrisInstallOptions ? [] - , idrisDocOptions ? [] - , ... - }@attrs: +{ + stdenv, + lib, + gmp, + prelude, + base, + with-packages, + idris, +}: +{ + idrisDeps ? [ ], + noPrelude ? false, + noBase ? false, + pname, + version, + ipkgName ? pname, + extraBuildInputs ? [ ], + idrisBuildOptions ? [ ], + idrisTestOptions ? [ ], + idrisInstallOptions ? [ ], + idrisDocOptions ? [ ], + ... +}@attrs: let - allIdrisDeps = idrisDeps - ++ lib.optional (!noPrelude) prelude - ++ lib.optional (!noBase) base; + allIdrisDeps = idrisDeps ++ lib.optional (!noPrelude) prelude ++ lib.optional (!noBase) base; idris-with-packages = with-packages allIdrisDeps; - newAttrs = builtins.removeAttrs attrs [ - "idrisDeps" "noPrelude" "noBase" - "pname" "version" "ipkgName" "extraBuildInputs" - ] // { - meta = attrs.meta // { - platforms = attrs.meta.platforms or idris.meta.platforms; + newAttrs = + builtins.removeAttrs attrs [ + "idrisDeps" + "noPrelude" + "noBase" + "pname" + "version" + "ipkgName" + "extraBuildInputs" + ] + // { + meta = attrs.meta // { + platforms = attrs.meta.platforms or idris.meta.platforms; + }; }; - }; in -stdenv.mkDerivation ({ - pname = "idris-${pname}"; - inherit version; +stdenv.mkDerivation ( + { + pname = "idris-${pname}"; + inherit version; - buildInputs = [ idris-with-packages gmp ] ++ extraBuildInputs; - propagatedBuildInputs = allIdrisDeps; + buildInputs = [ + idris-with-packages + gmp + ] ++ extraBuildInputs; + propagatedBuildInputs = allIdrisDeps; - # Some packages use the style - # opts = -i ../../path/to/package - # rather than the declarative pkgs attribute so we have to rewrite the path. - patchPhase = '' - runHook prePatch - sed -i ${ipkgName}.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g" - runHook postPatch - ''; + # Some packages use the style + # opts = -i ../../path/to/package + # rather than the declarative pkgs attribute so we have to rewrite the path. + patchPhase = '' + runHook prePatch + sed -i ${ipkgName}.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g" + runHook postPatch + ''; - buildPhase = '' - runHook preBuild - idris --build ${ipkgName}.ipkg ${lib.escapeShellArgs idrisBuildOptions} - runHook postBuild - ''; + buildPhase = '' + runHook preBuild + idris --build ${ipkgName}.ipkg ${lib.escapeShellArgs idrisBuildOptions} + runHook postBuild + ''; - checkPhase = '' - runHook preCheck - if grep -q tests ${ipkgName}.ipkg; then - idris --testpkg ${ipkgName}.ipkg ${lib.escapeShellArgs idrisTestOptions} - fi - runHook postCheck - ''; + checkPhase = '' + runHook preCheck + if grep -q tests ${ipkgName}.ipkg; then + idris --testpkg ${ipkgName}.ipkg ${lib.escapeShellArgs idrisTestOptions} + fi + runHook postCheck + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs ${lib.escapeShellArgs idrisInstallOptions} + idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs ${lib.escapeShellArgs idrisInstallOptions} - IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg ${lib.escapeShellArgs idrisDocOptions} || true + IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg ${lib.escapeShellArgs idrisDocOptions} || true - # If the ipkg file defines an executable, install that - executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true) - # $executable intentionally not quoted because it must be quoted correctly - # in the ipkg file already - if [ ! -z "$executable" ] && [ -f $executable ]; then - mkdir -p $out/bin - mv $executable $out/bin/$executable - fi + # If the ipkg file defines an executable, install that + executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true) + # $executable intentionally not quoted because it must be quoted correctly + # in the ipkg file already + if [ ! -z "$executable" ] && [ -f $executable ]; then + mkdir -p $out/bin + mv $executable $out/bin/$executable + fi - runHook postInstall - ''; + runHook postInstall + ''; -} // newAttrs) + } + // newAttrs +) diff --git a/pkgs/development/idris-modules/bytes.nix b/pkgs/development/idris-modules/bytes.nix index 0fd9b05f88d46..b14ab358b0fff 100644 --- a/pkgs/development/idris-modules/bytes.nix +++ b/pkgs/development/idris-modules/bytes.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "bytes"; version = "2018-02-10"; diff --git a/pkgs/development/idris-modules/canvas.nix b/pkgs/development/idris-modules/canvas.nix index 3c74879eab6cc..aabce4535d212 100644 --- a/pkgs/development/idris-modules/canvas.nix +++ b/pkgs/development/idris-modules/canvas.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "canvas"; version = "2017-11-09"; diff --git a/pkgs/development/idris-modules/categories.nix b/pkgs/development/idris-modules/categories.nix index 0c64218bcd82d..d26e7daebd98f 100644 --- a/pkgs/development/idris-modules/categories.nix +++ b/pkgs/development/idris-modules/categories.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "categories"; version = "2018-07-02"; diff --git a/pkgs/development/idris-modules/coda.nix b/pkgs/development/idris-modules/coda.nix index d1529ceb994e4..9fde026cee7c0 100644 --- a/pkgs/development/idris-modules/coda.nix +++ b/pkgs/development/idris-modules/coda.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "coda"; version = "2018-01-25"; diff --git a/pkgs/development/idris-modules/comonad.nix b/pkgs/development/idris-modules/comonad.nix index d7bf499ea22d2..517f934a6d64b 100644 --- a/pkgs/development/idris-modules/comonad.nix +++ b/pkgs/development/idris-modules/comonad.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "comonad"; version = "2018-02-26"; diff --git a/pkgs/development/idris-modules/composition.nix b/pkgs/development/idris-modules/composition.nix index 831a1f32655c0..834e135a81e2c 100644 --- a/pkgs/development/idris-modules/composition.nix +++ b/pkgs/development/idris-modules/composition.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, hezarfen -, lib +{ + build-idris-package, + fetchFromGitHub, + hezarfen, + lib, }: -build-idris-package { +build-idris-package { pname = "composition"; version = "2017-11-12"; diff --git a/pkgs/development/idris-modules/config.nix b/pkgs/development/idris-modules/config.nix index 53d423f728f01..9e22601f081e7 100644 --- a/pkgs/development/idris-modules/config.nix +++ b/pkgs/development/idris-modules/config.nix @@ -1,16 +1,22 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, containers -, lightyear -, test -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + containers, + lightyear, + test, + lib, }: -build-idris-package { +build-idris-package { pname = "config"; version = "2017-11-06"; - idrisDeps = [ effects containers lightyear test ]; + idrisDeps = [ + effects + containers + lightyear + test + ]; src = fetchFromGitHub { owner = "benclifford"; diff --git a/pkgs/development/idris-modules/console.nix b/pkgs/development/idris-modules/console.nix index e8c41e200db1d..c3cc91eedc955 100644 --- a/pkgs/development/idris-modules/console.nix +++ b/pkgs/development/idris-modules/console.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, idrisscript -, hrtime -, webgl -, lib +{ + build-idris-package, + fetchFromGitHub, + idrisscript, + hrtime, + webgl, + lib, }: -build-idris-package { +build-idris-package { pname = "console"; version = "2017-04-20"; - idrisDeps = [ idrisscript hrtime webgl ]; + idrisDeps = [ + idrisscript + hrtime + webgl + ]; src = fetchFromGitHub { owner = "pierrebeaucamp"; diff --git a/pkgs/development/idris-modules/containers.nix b/pkgs/development/idris-modules/containers.nix index 2b3ee40437362..d0b016d3e249a 100644 --- a/pkgs/development/idris-modules/containers.nix +++ b/pkgs/development/idris-modules/containers.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, test -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + test, + lib, }: -build-idris-package { +build-idris-package { pname = "containers"; version = "2017-09-10"; - idrisDeps = [ effects test ]; + idrisDeps = [ + effects + test + ]; src = fetchFromGitHub { owner = "jfdm"; diff --git a/pkgs/development/idris-modules/cube.nix b/pkgs/development/idris-modules/cube.nix index 09b426c961189..23934471dcb2e 100644 --- a/pkgs/development/idris-modules/cube.nix +++ b/pkgs/development/idris-modules/cube.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "cube"; version = "2017-07-05"; diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix index 38b4385ee7192..7272318511d9e 100644 --- a/pkgs/development/idris-modules/default.nix +++ b/pkgs/development/idris-modules/default.nix @@ -1,211 +1,234 @@ -{ pkgs, config, idris-no-deps, overrides ? (self: super: {}) }: let +{ + pkgs, + config, + idris-no-deps, + overrides ? (self: super: { }), +}: +let inherit (pkgs.lib) callPackageWith fix' extends; - /* Taken from haskell-modules/default.nix, should probably abstract this away */ - callPackageWithScope = scope: drv: args: (callPackageWith scope drv args) // { - overrideScope = f: callPackageWithScope (mkScope (fix' (extends f scope.__unfix__))) drv args; - }; + # Taken from haskell-modules/default.nix, should probably abstract this away + callPackageWithScope = + scope: drv: args: + (callPackageWith scope drv args) + // { + overrideScope = f: callPackageWithScope (mkScope (fix' (extends f scope.__unfix__))) drv args; + }; - mkScope = scope : pkgs // pkgs.xorg // pkgs.gnome2 // scope; + mkScope = scope: pkgs // pkgs.xorg // pkgs.gnome2 // scope; - idrisPackages = self: let - defaultScope = mkScope self; + idrisPackages = + self: + let + defaultScope = mkScope self; - callPackage = callPackageWithScope defaultScope; + callPackage = callPackageWithScope defaultScope; - builtins_ = pkgs.lib.mapAttrs self.build-builtin-package { - prelude = []; + builtins_ = pkgs.lib.mapAttrs self.build-builtin-package { + prelude = [ ]; - base = [ self.prelude ]; + base = [ self.prelude ]; - contrib = [ self.prelude self.base ]; + contrib = [ + self.prelude + self.base + ]; - effects = [ self.prelude self.base ]; + effects = [ + self.prelude + self.base + ]; - pruviloj = [ self.prelude self.base ]; - }; + pruviloj = [ + self.prelude + self.base + ]; + }; - in + in { - inherit idris-no-deps callPackage; + inherit idris-no-deps callPackage; - # Idris wrapper with specified compiler and library paths, used to build packages + # Idris wrapper with specified compiler and library paths, used to build packages - idris = pkgs.callPackage ./idris-wrapper.nix { - inherit idris-no-deps; - }; + idris = pkgs.callPackage ./idris-wrapper.nix { + inherit idris-no-deps; + }; - # Utilities for building packages + # Utilities for building packages - with-packages = callPackage ./with-packages.nix {} ; + with-packages = callPackage ./with-packages.nix { }; - build-builtin-package = callPackage ./build-builtin-package.nix {}; + build-builtin-package = callPackage ./build-builtin-package.nix { }; - build-idris-package = callPackage ./build-idris-package.nix {}; + build-idris-package = callPackage ./build-idris-package.nix { }; - # The set of libraries that comes with idris + # The set of libraries that comes with idris - builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_; + builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_; - # Libraries + # Libraries - array = callPackage ./array.nix {}; + array = callPackage ./array.nix { }; - bi = callPackage ./bi.nix {}; + bi = callPackage ./bi.nix { }; - bifunctors = callPackage ./bifunctors.nix {}; + bifunctors = callPackage ./bifunctors.nix { }; - bytes = callPackage ./bytes.nix {}; + bytes = callPackage ./bytes.nix { }; - canvas = callPackage ./canvas.nix {}; + canvas = callPackage ./canvas.nix { }; - categories = callPackage ./categories.nix {}; + categories = callPackage ./categories.nix { }; - coda = callPackage ./coda.nix {}; + coda = callPackage ./coda.nix { }; - config = callPackage ./config.nix {}; + config = callPackage ./config.nix { }; - comonad = callPackage ./comonad.nix {}; + comonad = callPackage ./comonad.nix { }; - composition = callPackage ./composition.nix {}; + composition = callPackage ./composition.nix { }; - console = callPackage ./console.nix {}; + console = callPackage ./console.nix { }; - containers = callPackage ./containers.nix {}; + containers = callPackage ./containers.nix { }; - cube = callPackage ./cube.nix {}; + cube = callPackage ./cube.nix { }; - derive = callPackage ./derive.nix {}; + derive = callPackage ./derive.nix { }; - descncrunch = callPackage ./descncrunch.nix {}; + descncrunch = callPackage ./descncrunch.nix { }; - dict = callPackage ./dict.nix {}; + dict = callPackage ./dict.nix { }; - dom = callPackage ./dom.nix {}; + dom = callPackage ./dom.nix { }; - electron = callPackage ./electron.nix {}; + electron = callPackage ./electron.nix { }; - eternal = callPackage ./eternal.nix {}; + eternal = callPackage ./eternal.nix { }; - farrp = callPackage ./farrp.nix {}; + farrp = callPackage ./farrp.nix { }; - free = callPackage ./free.nix {}; + free = callPackage ./free.nix { }; - fsm = callPackage ./fsm.nix {}; + fsm = callPackage ./fsm.nix { }; - glfw = callPackage ./glfw.nix {}; + glfw = callPackage ./glfw.nix { }; - graphviz = callPackage ./graphviz.nix {}; + graphviz = callPackage ./graphviz.nix { }; - hamt = callPackage ./hamt.nix {}; + hamt = callPackage ./hamt.nix { }; - html = callPackage ./html.nix {}; + html = callPackage ./html.nix { }; - hezarfen = callPackage ./hezarfen.nix {}; + hezarfen = callPackage ./hezarfen.nix { }; - hrtime = callPackage ./hrtime.nix {}; + hrtime = callPackage ./hrtime.nix { }; - http = callPackage ./http.nix {}; + http = callPackage ./http.nix { }; - http4idris = callPackage ./http4idris.nix {}; + http4idris = callPackage ./http4idris.nix { }; - iaia = callPackage ./iaia.nix {}; + iaia = callPackage ./iaia.nix { }; - idrishighlighter = callPackage ./idrishighlighter.nix {}; + idrishighlighter = callPackage ./idrishighlighter.nix { }; - idrisscript = callPackage ./idrisscript.nix {}; + idrisscript = callPackage ./idrisscript.nix { }; - ipkgparser = callPackage ./ipkgparser.nix {}; + ipkgparser = callPackage ./ipkgparser.nix { }; - jheiling-extras = callPackage ./jheiling-extras.nix {}; + jheiling-extras = callPackage ./jheiling-extras.nix { }; - jheiling-js = callPackage ./jheiling-js.nix {}; + jheiling-js = callPackage ./jheiling-js.nix { }; - js = callPackage ./js.nix {}; + js = callPackage ./js.nix { }; - lens = callPackage ./lens.nix {}; + lens = callPackage ./lens.nix { }; - lightyear = callPackage ./lightyear.nix {}; + lightyear = callPackage ./lightyear.nix { }; - logic = callPackage ./logic.nix {}; + logic = callPackage ./logic.nix { }; - mapping = callPackage ./mapping.nix {}; + mapping = callPackage ./mapping.nix { }; - mhd = callPackage ./mhd.nix {}; + mhd = callPackage ./mhd.nix { }; - pacman = callPackage ./pacman.nix {}; + pacman = callPackage ./pacman.nix { }; - patricia = callPackage ./patricia.nix {}; + patricia = callPackage ./patricia.nix { }; - permutations = callPackage ./permutations.nix {}; + permutations = callPackage ./permutations.nix { }; - pfds = callPackage ./pfds.nix {}; + pfds = callPackage ./pfds.nix { }; - pipes = callPackage ./pipes.nix {}; + pipes = callPackage ./pipes.nix { }; - posix = callPackage ./posix.nix {}; + posix = callPackage ./posix.nix { }; - quantities = callPackage ./quantities.nix {}; + quantities = callPackage ./quantities.nix { }; - rationals = callPackage ./rationals.nix {}; + rationals = callPackage ./rationals.nix { }; - recursion_schemes = callPackage ./recursion_schemes.nix {}; + recursion_schemes = callPackage ./recursion_schemes.nix { }; - refined = callPackage ./refined.nix {}; + refined = callPackage ./refined.nix { }; - sdl2 = callPackage ./sdl2.nix {}; + sdl2 = callPackage ./sdl2.nix { }; - semidirect = callPackage ./semidirect.nix {}; + semidirect = callPackage ./semidirect.nix { }; - setoids = callPackage ./setoids.nix {}; + setoids = callPackage ./setoids.nix { }; - smproc = callPackage ./smproc.nix {}; + smproc = callPackage ./smproc.nix { }; - snippets = callPackage ./snippets.nix {}; + snippets = callPackage ./snippets.nix { }; - software_foundations = callPackage ./software_foundations.nix {}; + software_foundations = callPackage ./software_foundations.nix { }; - specdris = callPackage ./specdris.nix {}; + specdris = callPackage ./specdris.nix { }; - tap = callPackage ./tap.nix {}; + tap = callPackage ./tap.nix { }; - test = callPackage ./test.nix {}; + test = callPackage ./test.nix { }; - tf-random = callPackage ./tfrandom.nix {}; + tf-random = callPackage ./tfrandom.nix { }; - tlhydra = callPackage ./tlhydra.nix {}; + tlhydra = callPackage ./tlhydra.nix { }; - tomladris = callPackage ./tomladris.nix {}; + tomladris = callPackage ./tomladris.nix { }; - tp = callPackage ./tp.nix {}; + tp = callPackage ./tp.nix { }; - tparsec = callPackage ./tparsec.nix {}; + tparsec = callPackage ./tparsec.nix { }; - transducers = callPackage ./transducers.nix {}; + transducers = callPackage ./transducers.nix { }; - trees = callPackage ./trees.nix {}; + trees = callPackage ./trees.nix { }; - union_type = callPackage ./union_type.nix {}; + union_type = callPackage ./union_type.nix { }; - vdom = callPackage ./vdom.nix {}; + vdom = callPackage ./vdom.nix { }; - vecspace = callPackage ./vecspace.nix {}; + vecspace = callPackage ./vecspace.nix { }; - webgl = callPackage ./webgl.nix {}; + webgl = callPackage ./webgl.nix { }; - wl-pprint = callPackage ./wl-pprint.nix {}; + wl-pprint = callPackage ./wl-pprint.nix { }; - wyvern = callPackage ./wyvern.nix {}; + wyvern = callPackage ./wyvern.nix { }; - xhr = callPackage ./xhr.nix {}; + xhr = callPackage ./xhr.nix { }; - yaml = callPackage ./yaml.nix {}; + yaml = callPackage ./yaml.nix { }; - yampa = callPackage ./yampa.nix {}; + yampa = callPackage ./yampa.nix { }; - } // builtins_ // pkgs.lib.optionalAttrs config.allowAliases { - # removed packages - protobuf = throw "idrisPackages.protobuf has been removed: abandoned by upstream"; # Added 2022-02-06 - sdl = throw "'idrisPackages.sdl' has been removed, as it was broken and unmaintained"; # added 2024-05-09 - }; -in fix' (extends overrides idrisPackages) + } + // builtins_ + // pkgs.lib.optionalAttrs config.allowAliases { + # removed packages + protobuf = throw "idrisPackages.protobuf has been removed: abandoned by upstream"; # Added 2022-02-06 + sdl = throw "'idrisPackages.sdl' has been removed, as it was broken and unmaintained"; # added 2024-05-09 + }; +in +fix' (extends overrides idrisPackages) diff --git a/pkgs/development/idris-modules/derive.nix b/pkgs/development/idris-modules/derive.nix index 1ceca662e8a33..7a36001be9ded 100644 --- a/pkgs/development/idris-modules/derive.nix +++ b/pkgs/development/idris-modules/derive.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, pruviloj -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + pruviloj, + lib, }: -build-idris-package { +build-idris-package { pname = "derive"; version = "2018-07-02"; - idrisDeps = [ contrib pruviloj ]; + idrisDeps = [ + contrib + pruviloj + ]; src = fetchFromGitHub { owner = "david-christiansen"; diff --git a/pkgs/development/idris-modules/descncrunch.nix b/pkgs/development/idris-modules/descncrunch.nix index 3c82e23ec7ecb..6ec4c9a4d7087 100644 --- a/pkgs/development/idris-modules/descncrunch.nix +++ b/pkgs/development/idris-modules/descncrunch.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, pruviloj -, lib +{ + build-idris-package, + fetchFromGitHub, + pruviloj, + lib, }: -build-idris-package { +build-idris-package { pname = "descncrunch"; version = "2017-11-15"; diff --git a/pkgs/development/idris-modules/dict.nix b/pkgs/development/idris-modules/dict.nix index 3aa15287bd8d7..f803f7f3fe334 100644 --- a/pkgs/development/idris-modules/dict.nix +++ b/pkgs/development/idris-modules/dict.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "dict"; version = "2016-12-26"; diff --git a/pkgs/development/idris-modules/dom.nix b/pkgs/development/idris-modules/dom.nix index 2698cbab48472..bcc28b5dba6a3 100644 --- a/pkgs/development/idris-modules/dom.nix +++ b/pkgs/development/idris-modules/dom.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, idrisscript -, html -, xhr -, lib +{ + build-idris-package, + fetchFromGitHub, + idrisscript, + html, + xhr, + lib, }: -build-idris-package { +build-idris-package { pname = "dom"; version = "2017-04-22"; - idrisDeps = [ idrisscript html xhr ]; + idrisDeps = [ + idrisscript + html + xhr + ]; src = fetchFromGitHub { owner = "pierrebeaucamp"; diff --git a/pkgs/development/idris-modules/electron.nix b/pkgs/development/idris-modules/electron.nix index 769b0b3fe8c05..a94526d6b0d2a 100644 --- a/pkgs/development/idris-modules/electron.nix +++ b/pkgs/development/idris-modules/electron.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, jheiling-extras -, jheiling-js -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + jheiling-extras, + jheiling-js, + lib, }: -build-idris-package { +build-idris-package { pname = "electron"; version = "2016-03-07"; - idrisDeps = [ contrib jheiling-extras jheiling-js ]; + idrisDeps = [ + contrib + jheiling-extras + jheiling-js + ]; src = fetchFromGitHub { owner = "jheiling"; diff --git a/pkgs/development/idris-modules/eternal.nix b/pkgs/development/idris-modules/eternal.nix index 9ca38907fe743..de52277821ce2 100644 --- a/pkgs/development/idris-modules/eternal.nix +++ b/pkgs/development/idris-modules/eternal.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, }: -build-idris-package { +build-idris-package { pname = "eternal"; version = "2018-07-02"; diff --git a/pkgs/development/idris-modules/farrp.nix b/pkgs/development/idris-modules/farrp.nix index 4326aeeadb6a5..19e3edd3bb900 100644 --- a/pkgs/development/idris-modules/farrp.nix +++ b/pkgs/development/idris-modules/farrp.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, }: -build-idris-package { +build-idris-package { pname = "farrp"; version = "2018-02-13"; diff --git a/pkgs/development/idris-modules/free.nix b/pkgs/development/idris-modules/free.nix index 557dc30ff96a5..38a71bdc116ec 100644 --- a/pkgs/development/idris-modules/free.nix +++ b/pkgs/development/idris-modules/free.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "free"; version = "2017-07-03"; diff --git a/pkgs/development/idris-modules/fsm.nix b/pkgs/development/idris-modules/fsm.nix index 1342e90f29bb7..047b2f3d513bf 100644 --- a/pkgs/development/idris-modules/fsm.nix +++ b/pkgs/development/idris-modules/fsm.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "fsm"; version = "2017-04-16"; diff --git a/pkgs/development/idris-modules/glfw.nix b/pkgs/development/idris-modules/glfw.nix index f67b65bb71f7d..359ba66f9f50a 100644 --- a/pkgs/development/idris-modules/glfw.nix +++ b/pkgs/development/idris-modules/glfw.nix @@ -1,10 +1,11 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib -, pkgs +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, + pkgs, }: -build-idris-package { +build-idris-package { pname = "glfw"; version = "2016-12-05"; diff --git a/pkgs/development/idris-modules/graphviz.nix b/pkgs/development/idris-modules/graphviz.nix index 28ab24a2ada62..2df9e62e3e843 100644 --- a/pkgs/development/idris-modules/graphviz.nix +++ b/pkgs/development/idris-modules/graphviz.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitLab -, lightyear -, lib +{ + build-idris-package, + fetchFromGitLab, + lightyear, + lib, }: -build-idris-package { +build-idris-package { pname = "graphviz"; version = "2017-01-16"; diff --git a/pkgs/development/idris-modules/hamt.nix b/pkgs/development/idris-modules/hamt.nix index 97a72e8c90592..4fb2db977a318 100644 --- a/pkgs/development/idris-modules/hamt.nix +++ b/pkgs/development/idris-modules/hamt.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + effects, + lib, }: -build-idris-package { +build-idris-package { pname = "hamt"; version = "2016-11-15"; - idrisDeps = [ contrib effects ]; + idrisDeps = [ + contrib + effects + ]; src = fetchFromGitHub { owner = "bamboo"; diff --git a/pkgs/development/idris-modules/hezarfen.nix b/pkgs/development/idris-modules/hezarfen.nix index 124c16759081f..66f61651a0c9a 100644 --- a/pkgs/development/idris-modules/hezarfen.nix +++ b/pkgs/development/idris-modules/hezarfen.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "hezarfen"; version = "2018-02-03"; diff --git a/pkgs/development/idris-modules/hrtime.nix b/pkgs/development/idris-modules/hrtime.nix index 3d1c0f4abf912..f373c61340742 100644 --- a/pkgs/development/idris-modules/hrtime.nix +++ b/pkgs/development/idris-modules/hrtime.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, idrisscript -, lib +{ + build-idris-package, + fetchFromGitHub, + idrisscript, + lib, }: -build-idris-package { +build-idris-package { pname = "hrtime"; version = "2017-04-16"; diff --git a/pkgs/development/idris-modules/html.nix b/pkgs/development/idris-modules/html.nix index 8eb2f7f12d754..66c97ee4671e0 100644 --- a/pkgs/development/idris-modules/html.nix +++ b/pkgs/development/idris-modules/html.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, idrisscript -, hrtime -, webgl -, lib +{ + build-idris-package, + fetchFromGitHub, + idrisscript, + hrtime, + webgl, + lib, }: -build-idris-package { +build-idris-package { pname = "html"; version = "2017-04-23"; - idrisDeps = [ idrisscript hrtime webgl ]; + idrisDeps = [ + idrisscript + hrtime + webgl + ]; src = fetchFromGitHub { owner = "pierrebeaucamp"; diff --git a/pkgs/development/idris-modules/http.nix b/pkgs/development/idris-modules/http.nix index 09e4e555264c6..63e0dfa46c3cb 100644 --- a/pkgs/development/idris-modules/http.nix +++ b/pkgs/development/idris-modules/http.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lightyear -, bytes -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lightyear, + bytes, + lib, }: -build-idris-package { +build-idris-package { pname = "http"; version = "2018-02-25"; - idrisDeps = [ contrib lightyear bytes ]; + idrisDeps = [ + contrib + lightyear + bytes + ]; src = fetchFromGitHub { owner = "uwap"; diff --git a/pkgs/development/idris-modules/http4idris.nix b/pkgs/development/idris-modules/http4idris.nix index 3e235750a6bcf..0d5f8c3c7c477 100644 --- a/pkgs/development/idris-modules/http4idris.nix +++ b/pkgs/development/idris-modules/http4idris.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "http4idris"; version = "2018-01-16"; diff --git a/pkgs/development/idris-modules/iaia.nix b/pkgs/development/idris-modules/iaia.nix index 1c631280eac95..6b8777fe9f9dd 100644 --- a/pkgs/development/idris-modules/iaia.nix +++ b/pkgs/development/idris-modules/iaia.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "iaia"; version = "2017-11-10"; diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix index da20fa7a66067..8aee1bf9fa697 100644 --- a/pkgs/development/idris-modules/idris-wrapper.nix +++ b/pkgs/development/idris-modules/idris-wrapper.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, symlinkJoin, makeWrapper, idris-no-deps, gmp }: +{ + stdenv, + lib, + symlinkJoin, + makeWrapper, + idris-no-deps, + gmp, +}: symlinkJoin { inherit (idris-no-deps) name src meta; diff --git a/pkgs/development/idris-modules/idrishighlighter.nix b/pkgs/development/idris-modules/idrishighlighter.nix index 759ea354747fd..febdda3005a43 100644 --- a/pkgs/development/idris-modules/idrishighlighter.nix +++ b/pkgs/development/idris-modules/idrishighlighter.nix @@ -1,15 +1,19 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lightyear -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + lightyear, + lib, }: -build-idris-package { +build-idris-package { pname = "idrishighlighter"; version = "2018-02-22"; ipkgName = "idris-code-highlighter"; - idrisDeps = [ effects lightyear ]; + idrisDeps = [ + effects + lightyear + ]; src = fetchFromGitHub { owner = "david-christiansen"; diff --git a/pkgs/development/idris-modules/idrisscript.nix b/pkgs/development/idris-modules/idrisscript.nix index 2a2693c623e08..dbd467743dd7d 100644 --- a/pkgs/development/idris-modules/idrisscript.nix +++ b/pkgs/development/idris-modules/idrisscript.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "idrisscript"; version = "2017-07-01"; diff --git a/pkgs/development/idris-modules/ipkgparser.nix b/pkgs/development/idris-modules/ipkgparser.nix index 4cd966d8b8513..f771898c9481f 100644 --- a/pkgs/development/idris-modules/ipkgparser.nix +++ b/pkgs/development/idris-modules/ipkgparser.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, effects -, lightyear -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + effects, + lightyear, + lib, }: -build-idris-package { +build-idris-package { pname = "ipkgparser"; version = "2017-11-14"; - idrisDeps = [ contrib effects lightyear ]; + idrisDeps = [ + contrib + effects + lightyear + ]; src = fetchFromGitHub { owner = "emptyflash"; diff --git a/pkgs/development/idris-modules/jheiling-extras.nix b/pkgs/development/idris-modules/jheiling-extras.nix index da84ea2680092..8da4d38ffc1be 100644 --- a/pkgs/development/idris-modules/jheiling-extras.nix +++ b/pkgs/development/idris-modules/jheiling-extras.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "extras"; version = "2018-03-06"; diff --git a/pkgs/development/idris-modules/jheiling-js.nix b/pkgs/development/idris-modules/jheiling-js.nix index 425acceb4e6ce..27a7dfc876d88 100644 --- a/pkgs/development/idris-modules/jheiling-js.nix +++ b/pkgs/development/idris-modules/jheiling-js.nix @@ -1,15 +1,19 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, jheiling-extras -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + jheiling-extras, + lib, }: -build-idris-package { +build-idris-package { pname = "jheiling-js"; version = "2016-03-09"; ipkgName = "js"; - idrisDeps = [ contrib jheiling-extras ]; + idrisDeps = [ + contrib + jheiling-extras + ]; src = fetchFromGitHub { owner = "jheiling"; diff --git a/pkgs/development/idris-modules/js.nix b/pkgs/development/idris-modules/js.nix index 4b96ca1a48622..51ac7f4da9a76 100644 --- a/pkgs/development/idris-modules/js.nix +++ b/pkgs/development/idris-modules/js.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, pruviloj -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + pruviloj, + lib, }: -build-idris-package { +build-idris-package { pname = "js"; version = "2018-11-27"; - idrisDeps = [ contrib pruviloj ]; + idrisDeps = [ + contrib + pruviloj + ]; src = fetchFromGitHub { owner = "rbarreiro"; diff --git a/pkgs/development/idris-modules/lens.nix b/pkgs/development/idris-modules/lens.nix index c9a8c2aa257d3..50996e783575a 100644 --- a/pkgs/development/idris-modules/lens.nix +++ b/pkgs/development/idris-modules/lens.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, bifunctors -, lib +{ + build-idris-package, + fetchFromGitHub, + bifunctors, + lib, }: -build-idris-package { +build-idris-package { pname = "lens"; version = "2017-09-25"; diff --git a/pkgs/development/idris-modules/lightyear.nix b/pkgs/development/idris-modules/lightyear.nix index e8f94a82d2f15..b021a1b73236a 100644 --- a/pkgs/development/idris-modules/lightyear.nix +++ b/pkgs/development/idris-modules/lightyear.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, }: -build-idris-package { +build-idris-package { pname = "lightyear"; version = "2017-09-10"; @@ -20,6 +21,9 @@ build-idris-package { description = "Parser combinators for Idris"; homepage = "https://github.com/ziman/lightyear"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ siddharthist brainrape ]; + maintainers = with lib.maintainers; [ + siddharthist + brainrape + ]; }; } diff --git a/pkgs/development/idris-modules/logic.nix b/pkgs/development/idris-modules/logic.nix index f20d16e9a190f..41fe075318618 100644 --- a/pkgs/development/idris-modules/logic.nix +++ b/pkgs/development/idris-modules/logic.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, bifunctors -, lib +{ + build-idris-package, + fetchFromGitHub, + bifunctors, + lib, }: -build-idris-package { +build-idris-package { pname = "logic"; version = "2016-12-02"; diff --git a/pkgs/development/idris-modules/mapping.nix b/pkgs/development/idris-modules/mapping.nix index 63b7a01bce140..a333166c308ca 100644 --- a/pkgs/development/idris-modules/mapping.nix +++ b/pkgs/development/idris-modules/mapping.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "mapping"; version = "2018-02-27"; diff --git a/pkgs/development/idris-modules/mhd.nix b/pkgs/development/idris-modules/mhd.nix index d47e0b46db35f..f41191b20da8c 100644 --- a/pkgs/development/idris-modules/mhd.nix +++ b/pkgs/development/idris-modules/mhd.nix @@ -1,16 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, effects -, libmicrohttpd -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + effects, + libmicrohttpd, + lib, }: -build-idris-package { +build-idris-package { pname = "mhd"; version = "2016-04-22"; ipkgName = "MHD"; - idrisDeps = [ contrib effects ]; + idrisDeps = [ + contrib + effects + ]; extraBuildInputs = [ libmicrohttpd ]; diff --git a/pkgs/development/idris-modules/pacman.nix b/pkgs/development/idris-modules/pacman.nix index dbc3c9ced72d1..ba13f0889d7d3 100644 --- a/pkgs/development/idris-modules/pacman.nix +++ b/pkgs/development/idris-modules/pacman.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, sdl2 -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + sdl2, + lib, }: -build-idris-package { +build-idris-package { pname = "pacman"; version = "2017-11-10"; - idrisDeps = [ contrib sdl2 ]; + idrisDeps = [ + contrib + sdl2 + ]; src = fetchFromGitHub { owner = "jdublu10"; diff --git a/pkgs/development/idris-modules/patricia.nix b/pkgs/development/idris-modules/patricia.nix index 21907f15da810..ccc3f3bc0c13a 100644 --- a/pkgs/development/idris-modules/patricia.nix +++ b/pkgs/development/idris-modules/patricia.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, specdris -, lib +{ + build-idris-package, + fetchFromGitHub, + specdris, + lib, }: -build-idris-package { +build-idris-package { pname = "patricia"; version = "2017-10-27"; diff --git a/pkgs/development/idris-modules/permutations.nix b/pkgs/development/idris-modules/permutations.nix index 6f4e299d223b3..0f448aef8e4c5 100644 --- a/pkgs/development/idris-modules/permutations.nix +++ b/pkgs/development/idris-modules/permutations.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "permutations"; version = "2018-01-19"; diff --git a/pkgs/development/idris-modules/pfds.nix b/pkgs/development/idris-modules/pfds.nix index db3004a72be01..c5711d5338862 100644 --- a/pkgs/development/idris-modules/pfds.nix +++ b/pkgs/development/idris-modules/pfds.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "pfds"; version = "2017-09-25"; diff --git a/pkgs/development/idris-modules/pipes.nix b/pkgs/development/idris-modules/pipes.nix index 1402a2facee17..e99d81bc6f675 100644 --- a/pkgs/development/idris-modules/pipes.nix +++ b/pkgs/development/idris-modules/pipes.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "pipes"; version = "2017-12-02"; diff --git a/pkgs/development/idris-modules/posix.nix b/pkgs/development/idris-modules/posix.nix index cc34c9007272f..840f50ad1451b 100644 --- a/pkgs/development/idris-modules/posix.nix +++ b/pkgs/development/idris-modules/posix.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "posix"; version = "2017-11-18"; diff --git a/pkgs/development/idris-modules/quantities.nix b/pkgs/development/idris-modules/quantities.nix index 76242c5d2299d..e4b2fa88449d8 100644 --- a/pkgs/development/idris-modules/quantities.nix +++ b/pkgs/development/idris-modules/quantities.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "quantities"; version = "2018-04-17"; diff --git a/pkgs/development/idris-modules/rationals.nix b/pkgs/development/idris-modules/rationals.nix index a220287bdbb6d..8865a5e5c97cc 100644 --- a/pkgs/development/idris-modules/rationals.nix +++ b/pkgs/development/idris-modules/rationals.nix @@ -1,7 +1,8 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: build-idris-package { pname = "rationals"; diff --git a/pkgs/development/idris-modules/recursion_schemes.nix b/pkgs/development/idris-modules/recursion_schemes.nix index 3e9510563eee9..9fee3953018ee 100644 --- a/pkgs/development/idris-modules/recursion_schemes.nix +++ b/pkgs/development/idris-modules/recursion_schemes.nix @@ -1,17 +1,24 @@ -{ build-idris-package -, fetchFromGitHub -, free -, composition -, comonad -, bifunctors -, hezarfen -, lib +{ + build-idris-package, + fetchFromGitHub, + free, + composition, + comonad, + bifunctors, + hezarfen, + lib, }: -build-idris-package { +build-idris-package { pname = "recursion_schemes"; version = "2018-01-19"; - idrisDeps = [ free composition comonad bifunctors hezarfen ]; + idrisDeps = [ + free + composition + comonad + bifunctors + hezarfen + ]; src = fetchFromGitHub { owner = "vmchale"; diff --git a/pkgs/development/idris-modules/refined.nix b/pkgs/development/idris-modules/refined.nix index c841f633b41fe..24f8a8c4899d6 100644 --- a/pkgs/development/idris-modules/refined.nix +++ b/pkgs/development/idris-modules/refined.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "refined"; version = "2017-12-28"; diff --git a/pkgs/development/idris-modules/sdl2.nix b/pkgs/development/idris-modules/sdl2.nix index 36eb7395dde1a..f1170c1032374 100644 --- a/pkgs/development/idris-modules/sdl2.nix +++ b/pkgs/development/idris-modules/sdl2.nix @@ -1,10 +1,11 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib -, pkg-config -, SDL2 -, SDL2_gfx +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, + pkg-config, + SDL2, + SDL2_gfx, }: build-idris-package rec { pname = "sdl2"; diff --git a/pkgs/development/idris-modules/semidirect.nix b/pkgs/development/idris-modules/semidirect.nix index e3ca18fd2a267..3155aa5d791ed 100644 --- a/pkgs/development/idris-modules/semidirect.nix +++ b/pkgs/development/idris-modules/semidirect.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, patricia -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + patricia, + lib, }: -build-idris-package { +build-idris-package { pname = "semidirect"; version = "2018-07-02"; - idrisDeps = [ contrib patricia ]; + idrisDeps = [ + contrib + patricia + ]; src = fetchFromGitHub { owner = "clayrat"; diff --git a/pkgs/development/idris-modules/setoids.nix b/pkgs/development/idris-modules/setoids.nix index 49e7bc5e8a0e3..f585f0d5b141a 100644 --- a/pkgs/development/idris-modules/setoids.nix +++ b/pkgs/development/idris-modules/setoids.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "setoids"; version = "2018-06-18"; diff --git a/pkgs/development/idris-modules/smproc.nix b/pkgs/development/idris-modules/smproc.nix index b3780c9af3b8e..28ab452d12cfa 100644 --- a/pkgs/development/idris-modules/smproc.nix +++ b/pkgs/development/idris-modules/smproc.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "smproc"; version = "2018-02-08"; diff --git a/pkgs/development/idris-modules/snippets.nix b/pkgs/development/idris-modules/snippets.nix index fa4f3226dcca4..e3b6ced720395 100644 --- a/pkgs/development/idris-modules/snippets.nix +++ b/pkgs/development/idris-modules/snippets.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "snippets"; version = "2018-03-17"; diff --git a/pkgs/development/idris-modules/software_foundations.nix b/pkgs/development/idris-modules/software_foundations.nix index cbbf959576f36..e1035148e7518 100644 --- a/pkgs/development/idris-modules/software_foundations.nix +++ b/pkgs/development/idris-modules/software_foundations.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, pruviloj -, lib +{ + build-idris-package, + fetchFromGitHub, + pruviloj, + lib, }: -build-idris-package { +build-idris-package { pname = "software_foundations"; version = "2017-11-04"; diff --git a/pkgs/development/idris-modules/specdris.nix b/pkgs/development/idris-modules/specdris.nix index ec692951ab755..513eb89dbdad1 100644 --- a/pkgs/development/idris-modules/specdris.nix +++ b/pkgs/development/idris-modules/specdris.nix @@ -1,7 +1,8 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, }: build-idris-package { pname = "specdris"; diff --git a/pkgs/development/idris-modules/tap.nix b/pkgs/development/idris-modules/tap.nix index 24aa3282f3198..69428159d7671 100644 --- a/pkgs/development/idris-modules/tap.nix +++ b/pkgs/development/idris-modules/tap.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "tap"; version = "2017-04-08"; diff --git a/pkgs/development/idris-modules/test.nix b/pkgs/development/idris-modules/test.nix index 9c14422cc8d28..efe069a958ed3 100644 --- a/pkgs/development/idris-modules/test.nix +++ b/pkgs/development/idris-modules/test.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + lib, }: -build-idris-package { +build-idris-package { pname = "test"; version = "2017-03-30"; diff --git a/pkgs/development/idris-modules/tfrandom.nix b/pkgs/development/idris-modules/tfrandom.nix index b07f5253005ee..bca0a7aa2b856 100644 --- a/pkgs/development/idris-modules/tfrandom.nix +++ b/pkgs/development/idris-modules/tfrandom.nix @@ -1,9 +1,10 @@ -{ lib -, build-idris-package -, fetchFromGitHub +{ + lib, + build-idris-package, + fetchFromGitHub, }: -build-idris-package { +build-idris-package { pname = "tf-random"; version = "2020-01-15"; diff --git a/pkgs/development/idris-modules/tlhydra.nix b/pkgs/development/idris-modules/tlhydra.nix index 3b33367c88904..c287a48db85bb 100644 --- a/pkgs/development/idris-modules/tlhydra.nix +++ b/pkgs/development/idris-modules/tlhydra.nix @@ -1,15 +1,20 @@ -{ build-idris-package -, fetchFromGitHub -, effects -, contrib -, lightyear -, lib +{ + build-idris-package, + fetchFromGitHub, + effects, + contrib, + lightyear, + lib, }: -build-idris-package { +build-idris-package { pname = "tlhydra"; version = "2017-13-26"; - idrisDeps = [ effects contrib lightyear ]; + idrisDeps = [ + effects + contrib + lightyear + ]; src = fetchFromGitHub { owner = "Termina1"; diff --git a/pkgs/development/idris-modules/tomladris.nix b/pkgs/development/idris-modules/tomladris.nix index 8a0e7847f5077..1d754988a1ecc 100644 --- a/pkgs/development/idris-modules/tomladris.nix +++ b/pkgs/development/idris-modules/tomladris.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lightyear -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lightyear, + lib, }: -build-idris-package { +build-idris-package { pname = "tomladris"; version = "2017-11-14"; - idrisDeps = [ lightyear contrib ]; + idrisDeps = [ + lightyear + contrib + ]; src = fetchFromGitHub { owner = "emptyflash"; @@ -21,6 +25,9 @@ build-idris-package { description = "TOML parser for Idris"; homepage = "https://github.com/emptyflash/tomladris"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ siddharthist brainrape ]; + maintainers = with lib.maintainers; [ + siddharthist + brainrape + ]; }; } diff --git a/pkgs/development/idris-modules/tp.nix b/pkgs/development/idris-modules/tp.nix index 0aedc3f485966..17352a1bc9cbf 100644 --- a/pkgs/development/idris-modules/tp.nix +++ b/pkgs/development/idris-modules/tp.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "tp"; version = "2017-08-15"; diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix index ddf24f7c9d9fc..5009f1a8de20f 100644 --- a/pkgs/development/idris-modules/tparsec.nix +++ b/pkgs/development/idris-modules/tparsec.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "tparsec"; version = "2020-02-11"; diff --git a/pkgs/development/idris-modules/transducers.nix b/pkgs/development/idris-modules/transducers.nix index 455e5c72a6442..06afdc6dc60ef 100644 --- a/pkgs/development/idris-modules/transducers.nix +++ b/pkgs/development/idris-modules/transducers.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "transducers"; version = "2017-07-28"; diff --git a/pkgs/development/idris-modules/trees.nix b/pkgs/development/idris-modules/trees.nix index 5c6e69471c789..afb2d510a3011 100644 --- a/pkgs/development/idris-modules/trees.nix +++ b/pkgs/development/idris-modules/trees.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, bi -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + bi, + lib, }: -build-idris-package { +build-idris-package { pname = "trees"; version = "2018-03-19"; - idrisDeps = [ contrib bi ]; + idrisDeps = [ + contrib + bi + ]; src = fetchFromGitHub { owner = "clayrat"; diff --git a/pkgs/development/idris-modules/union_type.nix b/pkgs/development/idris-modules/union_type.nix index 99f160a72d866..29aa772f094cc 100644 --- a/pkgs/development/idris-modules/union_type.nix +++ b/pkgs/development/idris-modules/union_type.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "union_type"; version = "2018-01-30"; diff --git a/pkgs/development/idris-modules/vdom.nix b/pkgs/development/idris-modules/vdom.nix index 9e3f151ee8915..da1fb7b944343 100644 --- a/pkgs/development/idris-modules/vdom.nix +++ b/pkgs/development/idris-modules/vdom.nix @@ -1,8 +1,9 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: -build-idris-package { +build-idris-package { pname = "vdom"; version = "0.6.0"; diff --git a/pkgs/development/idris-modules/vecspace.nix b/pkgs/development/idris-modules/vecspace.nix index dea3c9b18dd03..5eb86f536ff9a 100644 --- a/pkgs/development/idris-modules/vecspace.nix +++ b/pkgs/development/idris-modules/vecspace.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lib, }: -build-idris-package { +build-idris-package { pname = "vecspace"; version = "2018-01-12"; diff --git a/pkgs/development/idris-modules/webgl.nix b/pkgs/development/idris-modules/webgl.nix index 849cad2590c11..39bb9342847a3 100644 --- a/pkgs/development/idris-modules/webgl.nix +++ b/pkgs/development/idris-modules/webgl.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, idrisscript -, lib +{ + build-idris-package, + fetchFromGitHub, + idrisscript, + lib, }: -build-idris-package { +build-idris-package { pname = "webgl"; version = "2017-05-08"; diff --git a/pkgs/development/idris-modules/with-packages.nix b/pkgs/development/idris-modules/with-packages.nix index 55bfd8c157505..4dd4d4a836c2f 100644 --- a/pkgs/development/idris-modules/with-packages.nix +++ b/pkgs/development/idris-modules/with-packages.nix @@ -1,14 +1,21 @@ # Build a version of idris with a set of packages visible # packages: The packages visible to idris -{ lib, idris, symlinkJoin, makeWrapper }: packages: +{ + lib, + idris, + symlinkJoin, + makeWrapper, +}: +packages: -let paths = lib.closePropagation packages; +let + paths = lib.closePropagation packages; in lib.appendToName "with-packages" (symlinkJoin { inherit (idris) name; - paths = paths ++ [idris] ; + paths = paths ++ [ idris ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/idris-modules/wl-pprint.nix b/pkgs/development/idris-modules/wl-pprint.nix index a6c7b78f5527d..f39c86d021979 100644 --- a/pkgs/development/idris-modules/wl-pprint.nix +++ b/pkgs/development/idris-modules/wl-pprint.nix @@ -1,6 +1,7 @@ -{ build-idris-package -, fetchFromGitHub -, lib +{ + build-idris-package, + fetchFromGitHub, + lib, }: build-idris-package { pname = "wl-pprint"; diff --git a/pkgs/development/idris-modules/wyvern.nix b/pkgs/development/idris-modules/wyvern.nix index 3a8742d9fe5d1..32c6b0331b765 100644 --- a/pkgs/development/idris-modules/wyvern.nix +++ b/pkgs/development/idris-modules/wyvern.nix @@ -1,14 +1,18 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, effects -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + effects, + lib, }: -build-idris-package { +build-idris-package { pname = "wyvern"; version = "2017-06-26"; - idrisDeps = [ contrib effects ]; + idrisDeps = [ + contrib + effects + ]; src = fetchFromGitHub { owner = "ericqweinstein"; diff --git a/pkgs/development/idris-modules/xhr.nix b/pkgs/development/idris-modules/xhr.nix index e8dc37d439898..bd43bc7adbb03 100644 --- a/pkgs/development/idris-modules/xhr.nix +++ b/pkgs/development/idris-modules/xhr.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, idrisscript -, lib +{ + build-idris-package, + fetchFromGitHub, + idrisscript, + lib, }: -build-idris-package { +build-idris-package { pname = "xhr"; version = "2017-04-22"; diff --git a/pkgs/development/idris-modules/yaml.nix b/pkgs/development/idris-modules/yaml.nix index 2c8b8087576e0..eb4aa037de617 100644 --- a/pkgs/development/idris-modules/yaml.nix +++ b/pkgs/development/idris-modules/yaml.nix @@ -1,15 +1,19 @@ -{ build-idris-package -, fetchFromGitHub -, contrib -, lightyear -, lib +{ + build-idris-package, + fetchFromGitHub, + contrib, + lightyear, + lib, }: -build-idris-package { +build-idris-package { pname = "yaml"; version = "2018-01-25"; ipkgName = "Yaml"; - idrisDeps = [ contrib lightyear ]; + idrisDeps = [ + contrib + lightyear + ]; src = fetchFromGitHub { owner = "Heather"; diff --git a/pkgs/development/idris-modules/yampa.nix b/pkgs/development/idris-modules/yampa.nix index ae790aa4bdaa3..135a9b3bc7809 100644 --- a/pkgs/development/idris-modules/yampa.nix +++ b/pkgs/development/idris-modules/yampa.nix @@ -1,9 +1,10 @@ -{ build-idris-package -, fetchFromGitHub -, bifunctors -, lib +{ + build-idris-package, + fetchFromGitHub, + bifunctors, + lib, }: -build-idris-package { +build-idris-package { pname = "yampa"; version = "2016-07-05"; diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix index e3c17855e65d3..6be3b9a865c58 100644 --- a/pkgs/development/interpreters/acl2/default.nix +++ b/pkgs/development/interpreters/acl2/default.nix @@ -1,8 +1,25 @@ -{ lib, stdenv, callPackage, fetchFromGitHub, fetchpatch, runCommandLocal, makeWrapper, substituteAll -, sbcl, bash, which, perl, hostname -, openssl, glucose, minisat, abc-verifier, z3, python3 -, certifyBooks ? true -} @ args: +{ + lib, + stdenv, + callPackage, + fetchFromGitHub, + fetchpatch, + runCommandLocal, + makeWrapper, + substituteAll, + sbcl, + bash, + which, + perl, + hostname, + openssl, + glucose, + minisat, + abc-verifier, + z3, + python3, + certifyBooks ? true, +}@args: let # Disable immobile space so we don't run out of memory on large books, and @@ -15,7 +32,8 @@ let --add-flags "--dynamic-space-size 2000" ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "acl2"; version = "8.5"; @@ -55,29 +73,39 @@ in stdenv.mkDerivation rec { nativeBuildInputs = lib.optional certifyBooks makeWrapper; - buildInputs = [ - # ACL2 itself only needs a Common Lisp compiler/interpreter: - sbcl - ] ++ lib.optionals certifyBooks [ - # To build community books, we need Perl and a couple of utilities: - which perl hostname - # Some of the books require one or more of these external tools: - glucose minisat abc-verifier libipasir - z3 (python3.withPackages (ps: [ ps.z3-solver ])) - ]; + buildInputs = + [ + # ACL2 itself only needs a Common Lisp compiler/interpreter: + sbcl + ] + ++ lib.optionals certifyBooks [ + # To build community books, we need Perl and a couple of utilities: + which + perl + hostname + # Some of the books require one or more of these external tools: + glucose + minisat + abc-verifier + libipasir + z3 + (python3.withPackages (ps: [ ps.z3-solver ])) + ]; # NOTE: Parallel building can be memory-intensive depending on the number of # concurrent jobs. For example, this build has been seen to use >120GB of # RAM on an 85 core machine. enableParallelBuilding = true; - preConfigure = '' - # When certifying books, ACL2 doesn't like $HOME not existing. - export HOME=$(pwd)/fake-home - '' + lib.optionalString certifyBooks '' - # Some books also care about $USER being nonempty. - export USER=nobody - ''; + preConfigure = + '' + # When certifying books, ACL2 doesn't like $HOME not existing. + export HOME=$(pwd)/fake-home + '' + + lib.optionalString certifyBooks '' + # Some books also care about $USER being nonempty. + export USER=nobody + ''; postConfigure = '' # ACL2 and its books need to be built in place in the out directory because @@ -90,18 +118,23 @@ in stdenv.mkDerivation rec { ''; preBuild = "mkdir -p $HOME"; - makeFlags = [ "LISP=${sbcl}/bin/sbcl" "ACL2_MAKE_LOG=NONE" ]; + makeFlags = [ + "LISP=${sbcl}/bin/sbcl" + "ACL2_MAKE_LOG=NONE" + ]; doCheck = true; checkTarget = "mini-proveall"; - installPhase = '' - mkdir -p $out/bin - ln -s $out/share/${pname}/saved_acl2 $out/bin/${pname} - '' + lib.optionalString certifyBooks '' - ln -s $out/share/${pname}/books/build/cert.pl $out/bin/${pname}-cert - ln -s $out/share/${pname}/books/build/clean.pl $out/bin/${pname}-clean - ''; + installPhase = + '' + mkdir -p $out/bin + ln -s $out/share/${pname}/saved_acl2 $out/bin/${pname} + '' + + lib.optionalString certifyBooks '' + ln -s $out/share/${pname}/books/build/cert.pl $out/bin/${pname}-cert + ln -s $out/share/${pname}/books/build/clean.pl $out/bin/${pname}-clean + ''; preDistPhases = [ (if certifyBooks then "certifyBooksPhase" else "removeBooksPhase") ]; @@ -127,36 +160,54 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Interpreter and prover for a Lisp dialect"; mainProgram = "acl2"; - longDescription = '' - ACL2 is a logic and programming language in which you can model computer - systems, together with a tool to help you prove properties of those - models. "ACL2" denotes "A Computational Logic for Applicative Common - Lisp". - - ACL2 is part of the Boyer-Moore family of provers, for which its authors - have received the 2005 ACM Software System Award. - - This package installs the main ACL2 executable ${pname}, as well as the - build tools cert.pl and clean.pl, renamed to ${pname}-cert and - ${pname}-clean. - - '' + (if certifyBooks then '' - The community books are also included and certified with the `make - everything` target. - '' else '' - The community books are not included in this package. - ''); + longDescription = + '' + ACL2 is a logic and programming language in which you can model computer + systems, together with a tool to help you prove properties of those + models. "ACL2" denotes "A Computational Logic for Applicative Common + Lisp". + + ACL2 is part of the Boyer-Moore family of provers, for which its authors + have received the 2005 ACM Software System Award. + + This package installs the main ACL2 executable ${pname}, as well as the + build tools cert.pl and clean.pl, renamed to ${pname}-cert and + ${pname}-clean. + + '' + + ( + if certifyBooks then + '' + The community books are also included and certified with the `make + everything` target. + '' + else + '' + The community books are not included in this package. + '' + ); homepage = "https://www.cs.utexas.edu/users/moore/acl2/"; downloadPage = "https://github.com/acl2-devel/acl2-devel/releases"; - license = with licenses; [ - # ACL2 itself is bsd3 - bsd3 - ] ++ optionals certifyBooks [ - # The community books are mostly bsd3 or mit but with a few - # other things thrown in. - mit gpl2 llgpl21 cc0 publicDomain unfreeRedistributable + license = + with licenses; + [ + # ACL2 itself is bsd3 + bsd3 + ] + ++ optionals certifyBooks [ + # The community books are mostly bsd3 or mit but with a few + # other things thrown in. + mit + gpl2 + llgpl21 + cc0 + publicDomain + unfreeRedistributable + ]; + maintainers = with maintainers; [ + kini + raskin ]; - maintainers = with maintainers; [ kini raskin ]; platforms = platforms.all; broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix b/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix index e59d2ed7c176a..a2a4b159d1d9c 100644 --- a/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix +++ b/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, zlib, unzip }: +{ + lib, + stdenv, + fetchurl, + zlib, + unzip, +}: stdenv.mkDerivation rec { pname = "libipasirglucose4"; diff --git a/pkgs/development/interpreters/asmrepl/default.nix b/pkgs/development/interpreters/asmrepl/default.nix index 1c9ea6338f65b..f9c7010444812 100644 --- a/pkgs/development/interpreters/asmrepl/default.nix +++ b/pkgs/development/interpreters/asmrepl/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "asmrepl"; diff --git a/pkgs/development/interpreters/asmrepl/gemset.nix b/pkgs/development/interpreters/asmrepl/gemset.nix index a7af8d50c6859..f3455e5150234 100644 --- a/pkgs/development/interpreters/asmrepl/gemset.nix +++ b/pkgs/development/interpreters/asmrepl/gemset.nix @@ -1,20 +1,20 @@ { asmrepl = { - dependencies = ["fisk"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fisk" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10d0zvkhk3ja48vvx28hfsqfrzfl66vdpmk3gcgb5viy174c72v6"; type = "gem"; }; version = "1.0.3"; }; fisk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mq2a7hjs9xfg514ci0xw90c33rzq1y58ywpnmhp7w767ll6wldd"; type = "gem"; }; diff --git a/pkgs/development/interpreters/babashka/clojure-tools.nix b/pkgs/development/interpreters/babashka/clojure-tools.nix index 858c3eb11c211..916748365ce59 100644 --- a/pkgs/development/interpreters/babashka/clojure-tools.nix +++ b/pkgs/development/interpreters/babashka/clojure-tools.nix @@ -1,8 +1,9 @@ # This file tracks the Clojure tools version required by babashka. # See https://github.com/borkdude/deps.clj#deps_clj_tools_version for background. # The `updateScript` provided in default.nix takes care of keeping it in sync, as well. -{ clojure -, fetchurl +{ + clojure, + fetchurl, }: clojure.overrideAttrs (previousAttrs: { pname = "babashka-clojure-tools"; diff --git a/pkgs/development/interpreters/babashka/wrapped.nix b/pkgs/development/interpreters/babashka/wrapped.nix index 04be9bfd477af..cfdfc0910b6b7 100644 --- a/pkgs/development/interpreters/babashka/wrapped.nix +++ b/pkgs/development/interpreters/babashka/wrapped.nix @@ -1,12 +1,13 @@ -{ stdenvNoCC -, lib -, babashka-unwrapped -, callPackage -, makeWrapper -, installShellFiles -, rlwrap -, clojureToolsBabashka ? callPackage ./clojure-tools.nix { } -, jdkBabashka ? clojureToolsBabashka.jdk +{ + stdenvNoCC, + lib, + babashka-unwrapped, + callPackage, + makeWrapper, + installShellFiles, + rlwrap, + clojureToolsBabashka ? callPackage ./clojure-tools.nix { }, + jdkBabashka ? clojureToolsBabashka.jdk, # rlwrap is a small utility to allow the editing of keyboard input, see # https://book.babashka.org/#_repl @@ -15,7 +16,7 @@ # break some babashka scripts. For this reason, it is disabled by default. See: # https://github.com/NixOS/nixpkgs/issues/246839 # https://github.com/NixOS/nixpkgs/pull/248207 -, withRlwrap ? false + withRlwrap ? false, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "babashka"; @@ -24,10 +25,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { dontUnpack = true; dontBuild = true; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; installPhase = - let unwrapped-bin = "${babashka-unwrapped}/bin/bb"; in + let + unwrapped-bin = "${babashka-unwrapped}/bin/bb"; + in '' mkdir -p $out/clojure_tools ln -s -t $out/clojure_tools ${clojureToolsBabashka}/*.edn @@ -41,8 +47,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { installShellCompletion --cmd bb --bash ${babashka-unwrapped}/share/bash-completion/completions/bb.bash installShellCompletion --cmd bb --zsh ${babashka-unwrapped}/share/zsh/site-functions/_bb installShellCompletion --cmd bb --fish ${babashka-unwrapped}/share/fish/vendor_completions.d/bb.fish - '' + - lib.optionalString withRlwrap '' + '' + + lib.optionalString withRlwrap '' substituteInPlace $out/bin/bb \ --replace '"${unwrapped-bin}"' '"${rlwrap}/bin/rlwrap" "${unwrapped-bin}"' ''; diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix index 2f4d7f08931a8..1c7a394a04317 100644 --- a/pkgs/development/interpreters/bqn/cbqn/default.nix +++ b/pkgs/development/interpreters/bqn/cbqn/default.nix @@ -1,16 +1,17 @@ -{ lib -, callPackage -, fixDarwinDylibNames -, libffi -, mbqn-source -, pkg-config -, stdenv -# Boolean flags -, enableReplxx ? false -, enableLibcbqn ? ((stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) && !enableReplxx) -, generateBytecode ? false -# "Configurable" options -, bqn-interpreter +{ + lib, + callPackage, + fixDarwinDylibNames, + libffi, + mbqn-source, + pkg-config, + stdenv, + # Boolean flags + enableReplxx ? false, + enableLibcbqn ? ((stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) && !enableReplxx), + generateBytecode ? false, + # "Configurable" options + bqn-interpreter, }: let @@ -20,11 +21,13 @@ stdenv.mkDerivation rec { pname = "cbqn" + lib.optionalString (!generateBytecode) "-standalone"; inherit (sources.cbqn) version src; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; buildInputs = [ libffi @@ -34,24 +37,29 @@ stdenv.mkDerivation rec { "CC=${stdenv.cc.targetPrefix}cc" ]; - buildFlags = [ - # interpreter binary - "o3" - "notui=1" # display build progress in a plain-text format - "REPLXX=${if enableReplxx then "1" else "0"}" - ] ++ lib.optionals stdenv.hostPlatform.avx2Support [ - "has=avx2" - ] ++ lib.optionals enableLibcbqn [ - # embeddable interpreter as a shared lib - "shared-o3" - ]; + buildFlags = + [ + # interpreter binary + "o3" + "notui=1" # display build progress in a plain-text format + "REPLXX=${if enableReplxx then "1" else "0"}" + ] + ++ lib.optionals stdenv.hostPlatform.avx2Support [ + "has=avx2" + ] + ++ lib.optionals enableLibcbqn [ + # embeddable interpreter as a shared lib + "shared-o3" + ]; - outputs = [ - "out" - ] ++ lib.optionals enableLibcbqn [ - "lib" - "dev" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals enableLibcbqn [ + "lib" + "dev" + ]; dontConfigure = true; @@ -64,37 +72,45 @@ stdenv.mkDerivation rec { patchShebangs build/build ''; - preBuild = '' - mkdir -p build/singeliLocal/ - cp -r ${sources.singeli.src}/* build/singeliLocal/ - '' + (if generateBytecode then '' - mkdir -p build/bytecodeLocal/gen - ${bqn-interpreter} ./build/genRuntime ${mbqn-source} build/bytecodeLocal/ - '' else '' - mkdir -p build/bytecodeLocal/gen - cp -r ${sources.cbqn-bytecode.src}/* build/bytecodeLocal/ - '') - + lib.optionalString enableReplxx '' - mkdir -p build/replxxLocal/ - cp -r ${sources.replxx.src}/* build/replxxLocal/ - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin/ - cp BQN -t $out/bin/ - # note guard condition for case-insensitive filesystems - [ -e $out/bin/bqn ] || ln -s $out/bin/BQN $out/bin/bqn - [ -e $out/bin/cbqn ] || ln -s $out/bin/BQN $out/bin/cbqn - '' - + lib.optionalString enableLibcbqn '' - install -Dm644 include/bqnffi.h -t "$dev/include" - install -Dm755 libcbqn${stdenv.hostPlatform.extensions.sharedLibrary} -t "$lib/lib" - '' - + '' - runHook postInstall - ''; + preBuild = + '' + mkdir -p build/singeliLocal/ + cp -r ${sources.singeli.src}/* build/singeliLocal/ + '' + + ( + if generateBytecode then + '' + mkdir -p build/bytecodeLocal/gen + ${bqn-interpreter} ./build/genRuntime ${mbqn-source} build/bytecodeLocal/ + '' + else + '' + mkdir -p build/bytecodeLocal/gen + cp -r ${sources.cbqn-bytecode.src}/* build/bytecodeLocal/ + '' + ) + + lib.optionalString enableReplxx '' + mkdir -p build/replxxLocal/ + cp -r ${sources.replxx.src}/* build/replxxLocal/ + ''; + + installPhase = + '' + runHook preInstall + + mkdir -p $out/bin/ + cp BQN -t $out/bin/ + # note guard condition for case-insensitive filesystems + [ -e $out/bin/bqn ] || ln -s $out/bin/BQN $out/bin/bqn + [ -e $out/bin/cbqn ] || ln -s $out/bin/BQN $out/bin/cbqn + '' + + lib.optionalString enableLibcbqn '' + install -Dm644 include/bqnffi.h -t "$dev/include" + install -Dm755 libcbqn${stdenv.hostPlatform.extensions.sharedLibrary} -t "$lib/lib" + '' + + '' + runHook postInstall + ''; installCheckPhase = '' runHook preInstallCheck diff --git a/pkgs/development/interpreters/bqn/cbqn/sources.nix b/pkgs/development/interpreters/bqn/cbqn/sources.nix index 48470c50e1ba2..7d21beb8ebb0d 100644 --- a/pkgs/development/interpreters/bqn/cbqn/sources.nix +++ b/pkgs/development/interpreters/bqn/cbqn/sources.nix @@ -7,19 +7,20 @@ }: { - cbqn = let - self = { - pname = "cbqn"; - version = "0.8.0"; - - src = fetchFromGitHub { - owner = "dzaima"; - repo = "CBQN"; - rev = "v${self.version}"; - hash = "sha256-vmd7CX0jgozysmjKK0p5GM4Qd3vY71q1kcKwfr+6fkw="; + cbqn = + let + self = { + pname = "cbqn"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "dzaima"; + repo = "CBQN"; + rev = "v${self.version}"; + hash = "sha256-vmd7CX0jgozysmjKK0p5GM4Qd3vY71q1kcKwfr+6fkw="; + }; }; - }; - in + in self; cbqn-bytecode = { diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix index c0f0e2c5c2f84..ff166272e3f54 100644 --- a/pkgs/development/interpreters/clisp/default.nix +++ b/pkgs/development/interpreters/clisp/default.nix @@ -3,42 +3,55 @@ # - base (default): contains readline and i18n, regexp and syscalls modules # by default # - full: contains base plus modules in withModules -{ lib -, stdenv -, fetchFromGitLab -, autoconf269 -, automake -, libtool -, libsigsegv -, gettext -, ncurses -, pcre -, zlib -, readline -, libffi -, libffcall -, libX11 -, libXau -, libXt -, libXpm -, libXext -, xorgproto -, coreutils -# build options -, threadSupport ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) -, x11Support ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) -, dllSupport ? true -, withModules ? [ - "asdf" - "pcre" - "rawsock" - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ "bindings/glibc" "zlib" ] - ++ lib.optional x11Support "clx/new-clx" +{ + lib, + stdenv, + fetchFromGitLab, + autoconf269, + automake, + libtool, + libsigsegv, + gettext, + ncurses, + pcre, + zlib, + readline, + libffi, + libffcall, + libX11, + libXau, + libXt, + libXpm, + libXext, + xorgproto, + coreutils, + # build options + threadSupport ? (stdenv.hostPlatform.isx86 && !stdenv.hostPlatform.isDarwin), + x11Support ? (stdenv.hostPlatform.isx86 && !stdenv.hostPlatform.isDarwin), + dllSupport ? true, + withModules ? + [ + "asdf" + "pcre" + "rawsock" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "bindings/glibc" + "zlib" + ] + ++ lib.optional x11Support "clx/new-clx", }: -assert x11Support -> (libX11 != null && libXau != null && libXt != null - && libXpm != null && xorgproto != null && libXext != null); +assert + x11Support + -> ( + libX11 != null + && libXau != null + && libXt != null + && libXpm != null + && xorgproto != null + && libXext != null + ); let ffcallAvailable = stdenv.hostPlatform.isLinux && (libffcall != null); @@ -58,18 +71,28 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ autoconf269 automake libtool ]; - buildInputs = [libsigsegv] - ++ lib.optional (gettext != null) gettext - ++ lib.optional (ncurses != null) ncurses - ++ lib.optional (pcre != null) pcre - ++ lib.optional (zlib != null) zlib - ++ lib.optional (readline != null) readline - ++ lib.optional (ffcallAvailable && (libffi != null)) libffi - ++ lib.optional ffcallAvailable libffcall - ++ lib.optionals x11Support [ - libX11 libXau libXt libXpm xorgproto libXext + nativeBuildInputs = [ + autoconf269 + automake + libtool ]; + buildInputs = + [ libsigsegv ] + ++ lib.optional (gettext != null) gettext + ++ lib.optional (ncurses != null) ncurses + ++ lib.optional (pcre != null) pcre + ++ lib.optional (zlib != null) zlib + ++ lib.optional (readline != null) readline + ++ lib.optional (ffcallAvailable && (libffi != null)) libffi + ++ lib.optional ffcallAvailable libffcall + ++ lib.optionals x11Support [ + libX11 + libXau + libXt + libXpm + xorgproto + libXext + ]; patches = [ ./gnulib_aarch64.patch @@ -85,28 +108,32 @@ stdenv.mkDerivation { find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i ''; - preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ('' - ( - cd src - autoreconf -f -i -I m4 -I glm4 - ) - '' + lib.concatMapStrings (x: '' - ( - root="$PWD" - cd modules/${x} - autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4" - ) - '') (builtins.filter shouldReconfModule withModules)); + preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ( + '' + ( + cd src + autoreconf -f -i -I m4 -I glm4 + ) + '' + + lib.concatMapStrings (x: '' + ( + root="$PWD" + cd modules/${x} + autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4" + ) + '') (builtins.filter shouldReconfModule withModules) + ); - configureFlags = [ "builddir" ] - ++ lib.optional (!dllSupport) "--without-dynamic-modules" - ++ lib.optional (readline != null) "--with-readline" - # --with-dynamic-ffi can only exist with --with-ffcall - foreign.d does not compile otherwise - ++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi" - ++ lib.optional ffcallAvailable "--with-ffcall" - ++ lib.optional (!ffcallAvailable) "--without-ffcall" - ++ builtins.map (x: " --with-module=" + x) withModules - ++ lib.optional threadSupport "--with-threads=POSIX_THREADS"; + configureFlags = + [ "builddir" ] + ++ lib.optional (!dllSupport) "--without-dynamic-modules" + ++ lib.optional (readline != null) "--with-readline" + # --with-dynamic-ffi can only exist with --with-ffcall - foreign.d does not compile otherwise + ++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi" + ++ lib.optional ffcallAvailable "--with-ffcall" + ++ lib.optional (!ffcallAvailable) "--without-ffcall" + ++ builtins.map (x: " --with-module=" + x) withModules + ++ lib.optional threadSupport "--with-threads=POSIX_THREADS"; preBuild = '' sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d @@ -116,12 +143,14 @@ stdenv.mkDerivation { doCheck = true; - postInstall = - lib.optionalString (withModules != []) - (''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full'' - + lib.concatMapStrings (x: " " + x) withModules); + postInstall = lib.optionalString (withModules != [ ]) ( + ''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full'' + + lib.concatMapStrings (x: " " + x) withModules + ); - env.NIX_CFLAGS_COMPILE = "-O0 -falign-functions=${if stdenv.hostPlatform.is64bit then "8" else "4"}"; + env.NIX_CFLAGS_COMPILE = "-O0 -falign-functions=${ + if stdenv.hostPlatform.is64bit then "8" else "4" + }"; meta = { description = "ANSI Common Lisp Implementation"; diff --git a/pkgs/development/interpreters/clojure/clooj.nix b/pkgs/development/interpreters/clojure/clooj.nix index 45659d5633691..d723a12be4240 100644 --- a/pkgs/development/interpreters/clojure/clooj.nix +++ b/pkgs/development/interpreters/clojure/clooj.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "clooj"; diff --git a/pkgs/development/interpreters/clojure/obb.nix b/pkgs/development/interpreters/clojure/obb.nix index d6717c4ec701c..e367bcd72df9d 100644 --- a/pkgs/development/interpreters/clojure/obb.nix +++ b/pkgs/development/interpreters/clojure/obb.nix @@ -1,14 +1,16 @@ -{ lib -, stdenv -, babashka -, cacert -, clojure -, git -, jdk -, obb -, fetchFromGitHub -, makeWrapper -, runCommand }: +{ + lib, + stdenv, + babashka, + cacert, + clojure, + git, + jdk, + obb, + fetchFromGitHub, + makeWrapper, + runCommand, +}: stdenv.mkDerivation rec { pname = "obb"; @@ -23,7 +25,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ babashka cacert git jdk ]; + buildInputs = [ + babashka + cacert + git + jdk + ]; configurePhase = '' runHook preConfigure @@ -64,7 +71,7 @@ stdenv.mkDerivation rec { ''; passthru.tests = { - simple = runCommand "${pname}-test" {} '' + simple = runCommand "${pname}-test" { } '' [ $(${obb}/bin/obb -e '(+ 1 2)') = '3' ] touch $out ''; diff --git a/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix b/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix index f7c730c927724..0b147e630240b 100644 --- a/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix +++ b/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix @@ -5,25 +5,27 @@ # the `file` # # This function is used by `dhall-to-nixpkgs` when given a directory -lib.makePackageOverridable - ( { # Arguments passed through to `buildDhallPackage` - name - , dependencies ? [] - , source ? false +lib.makePackageOverridable ( + { + # Arguments passed through to `buildDhallPackage` + name, + dependencies ? [ ], + source ? false, - , src - , # The file to import, relative to the root directory - file ? "package.dhall" - # Set to `true` to generate documentation for the package - , document ? false - }: + src, + # The file to import, relative to the root directory + file ? "package.dhall", + # Set to `true` to generate documentation for the package + document ? false, + }: - buildDhallPackage - ( { inherit name dependencies source; + buildDhallPackage ( + { + inherit name dependencies source; - code = "${src}/${file}"; + code = "${src}/${file}"; - } - // lib.optionalAttrs document { documentationRoot = "${src}"; } - ) + } + // lib.optionalAttrs document { documentationRoot = "${src}"; } ) +) diff --git a/pkgs/development/interpreters/dhall/build-dhall-github-package.nix b/pkgs/development/interpreters/dhall/build-dhall-github-package.nix index 8f9e4d835511c..bf25b7e485a4d 100644 --- a/pkgs/development/interpreters/dhall/build-dhall-github-package.nix +++ b/pkgs/development/interpreters/dhall/build-dhall-github-package.nix @@ -1,37 +1,44 @@ -{ buildDhallPackage, fetchFromGitHub, lib }: +{ + buildDhallPackage, + fetchFromGitHub, + lib, +}: # This function is used by `dhall-to-nixpkgs` when given a GitHub repository -lib.makePackageOverridable - ( { # Arguments passed through to `buildDhallPackage` - name - , dependencies ? [] - , source ? false - - , # The directory containing the Dhall files, if other than the root of the - # repository - directory ? "" - , # The file to import, relative to the above directory - file ? "package.dhall" - # Set to `true` to generate documentation for the package - , document ? false - - # Arguments passed through to `fetchFromGitHub` - , owner - , repo - , rev - # Extra arguments passed through to `fetchFromGitHub`, such as the hash - # or `fetchSubmodules` - , ... - }@args: - - let - versionedName = "${name}-${rev}"; - - src = fetchFromGitHub ({ +lib.makePackageOverridable ( + { + # Arguments passed through to `buildDhallPackage` + name, + dependencies ? [ ], + source ? false, + + # The directory containing the Dhall files, if other than the root of the + # repository + directory ? "", + # The file to import, relative to the above directory + file ? "package.dhall", + # Set to `true` to generate documentation for the package + document ? false, + + # Arguments passed through to `fetchFromGitHub` + owner, + repo, + rev, + # Extra arguments passed through to `fetchFromGitHub`, such as the hash + # or `fetchSubmodules` + ... + }@args: + + let + versionedName = "${name}-${rev}"; + + src = fetchFromGitHub ( + { name = "${versionedName}-source"; inherit owner repo rev; - } // removeAttrs args [ + } + // removeAttrs args [ "name" "dependencies" "document" @@ -41,22 +48,24 @@ lib.makePackageOverridable "owner" "repo" "rev" - ]); + ] + ); - prefix = lib.optionalString (directory != "") "/${directory}"; + prefix = lib.optionalString (directory != "") "/${directory}"; - in - buildDhallPackage - ( { inherit dependencies source; + in + buildDhallPackage ( + { + inherit dependencies source; - name = versionedName; + name = versionedName; - code = "${src}${prefix}/${file}"; - } - // lib.optionalAttrs document - { documentationRoot = "${src}/${prefix}"; + code = "${src}${prefix}/${file}"; + } + // lib.optionalAttrs document { + documentationRoot = "${src}/${prefix}"; - baseImportUrl = "https://raw.githubusercontent.com/${owner}/${repo}/${rev}${prefix}"; - } - ) + baseImportUrl = "https://raw.githubusercontent.com/${owner}/${repo}/${rev}${prefix}"; + } ) +) diff --git a/pkgs/development/interpreters/dhall/build-dhall-package.nix b/pkgs/development/interpreters/dhall/build-dhall-package.nix index f58546a9d3c61..214fe7f92d289 100644 --- a/pkgs/development/interpreters/dhall/build-dhall-package.nix +++ b/pkgs/development/interpreters/dhall/build-dhall-package.nix @@ -1,9 +1,18 @@ -{ dhall, dhall-docs, haskell, lib, lndir, runCommand, writeText }: +{ + dhall, + dhall-docs, + haskell, + lib, + lndir, + runCommand, + writeText, +}: -{ name +{ + name, # Expressions to add to the cache before interpreting the code -, dependencies ? [] + dependencies ? [ ], # A Dhall expression # @@ -15,7 +24,7 @@ # # You can add a dependency to the cache using the preceding `dependencies` # option -, code + code, # `buildDhallPackage` can include both a "source distribution" in # `source.dhall` and a "binary distribution" in `binary.dhall`: @@ -30,19 +39,19 @@ # By default, `buildDhallPackage` only includes "binary.dhall" to conserve # space within the Nix store, but if you set the following `source` option to # `true` then the package will also include `source.dhall`. -, source ? false + source ? false, # Directory to generate documentation for (i.e. as the `--input` option to the # `dhall-docs` command.) # # If `null`, then no documentation is generated. -, documentationRoot ? null + documentationRoot ? null, # Base URL prepended to paths copied to the clipboard # # This is used in conjunction with `documentationRoot`, and is unused if # `documentationRoot` is `null`. -, baseImportUrl ? null + baseImportUrl ? null, }: let @@ -63,40 +72,42 @@ let sourceFile = "source.dhall"; in - runCommand name { inherit dependencies; } '' - set -eu +runCommand name { inherit dependencies; } '' + set -eu - mkdir -p ${cacheDhall} + mkdir -p ${cacheDhall} - for dependency in $dependencies; do - ${lndir}/bin/lndir -silent $dependency/${cacheDhall} ${cacheDhall} - done + for dependency in $dependencies; do + ${lndir}/bin/lndir -silent $dependency/${cacheDhall} ${cacheDhall} + done - export XDG_CACHE_HOME=$PWD/${cache} + export XDG_CACHE_HOME=$PWD/${cache} - mkdir -p $out/${cacheDhall} + mkdir -p $out/${cacheDhall} - ${dhallNoHTTP}/bin/dhall --alpha --file '${file}' > $out/${sourceFile} + ${dhallNoHTTP}/bin/dhall --alpha --file '${file}' > $out/${sourceFile} - SHA_HASH=$(${dhallNoHTTP}/bin/dhall hash <<< $out/${sourceFile}) + SHA_HASH=$(${dhallNoHTTP}/bin/dhall hash <<< $out/${sourceFile}) - HASH_FILE="''${SHA_HASH/sha256:/1220}" + HASH_FILE="''${SHA_HASH/sha256:/1220}" - ${dhallNoHTTP}/bin/dhall encode --file $out/${sourceFile} > $out/${cacheDhall}/$HASH_FILE + ${dhallNoHTTP}/bin/dhall encode --file $out/${sourceFile} > $out/${cacheDhall}/$HASH_FILE - echo "missing $SHA_HASH" > $out/binary.dhall + echo "missing $SHA_HASH" > $out/binary.dhall - ${lib.optionalString (!source) "rm $out/${sourceFile}"} + ${lib.optionalString (!source) "rm $out/${sourceFile}"} - ${lib.optionalString (documentationRoot != null) '' + ${lib.optionalString (documentationRoot != null) '' mkdir -p $out/${dataDhall} - XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --output-link $out/docs ${lib.cli.toGNUCommandLineShell { } { - base-import-url = baseImportUrl; + XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --output-link $out/docs ${ + lib.cli.toGNUCommandLineShell { } { + base-import-url = baseImportUrl; - input = documentationRoot; + input = documentationRoot; - package-name = name; - }} - ''} - '' + package-name = name; + } + } + ''} +'' diff --git a/pkgs/development/interpreters/dhall/build-dhall-url.nix b/pkgs/development/interpreters/dhall/build-dhall-url.nix index 6d7103f78e6fa..5ffba739be47f 100644 --- a/pkgs/development/interpreters/dhall/build-dhall-url.nix +++ b/pkgs/development/interpreters/dhall/build-dhall-url.nix @@ -1,4 +1,11 @@ -{ cacert, dhall, dhall-docs, haskell, lib, runCommand }: +{ + cacert, + dhall, + dhall-docs, + haskell, + lib, + runCommand, +}: # `buildDhallUrl` is similar to `buildDhallDirectoryPackage` or # `buildDhallGitHubPackage`, but instead builds a Nixpkgs Dhall package @@ -12,20 +19,21 @@ # # This function is primarily used by `dhall-to-nixpkgs directory --fixed-output-derivations`. -{ # URL of the input Dhall file. +{ + # URL of the input Dhall file. # example: "https://raw.githubusercontent.com/cdepillabout/example-dhall-repo/c1b0d0327146648dcf8de997b2aa32758f2ed735/example1.dhall" - url + url, # Nix hash of the input Dhall file. # example: "sha256-ZTSiQUXpPbPfPvS8OeK6dDQE6j6NbP27ho1cg9YfENI=" -, hash + hash, # Dhall hash of the input Dhall file. # example: "sha256:6534a24145e93db3df3ef4bc39e2ba743404ea3e8d6cfdbb868d5c83d61f10d2" -, dhallHash + dhallHash, # Name for this derivation. -, name ? (baseNameOf url + "-cache") + name ? (baseNameOf url + "-cache"), # `buildDhallUrl` can include both a "source distribution" in # `source.dhall` and a "binary distribution" in `binary.dhall`: @@ -40,7 +48,7 @@ # By default, `buildDhallUrl` only includes "binary.dhall" to conserve # space within the Nix store, but if you set the following `source` option to # `true` then the package will also include `source.dhall`. -, source ? false + source ? false, }: let @@ -52,8 +60,7 @@ let # The output Dhall file has all imports resolved, and then is # alpha-normalized and binary-encoded. downloadedEncodedFile = - runCommand - (baseNameOf url) + runCommand (baseNameOf url) { outputHashAlgo = null; outputHash = hash; @@ -66,19 +73,19 @@ let ${dhall}/bin/dhall --alpha --plain --file in-dhall-file | ${dhallNoHTTP}/bin/dhall encode > $out ''; - cache = ".cache"; + cache = ".cache"; - data = ".local/share"; + data = ".local/share"; - cacheDhall = "${cache}/dhall"; + cacheDhall = "${cache}/dhall"; - dataDhall = "${data}/dhall"; + dataDhall = "${data}/dhall"; - sourceFile = "source.dhall"; + sourceFile = "source.dhall"; in - runCommand name { } - ('' +runCommand name { } ( + '' set -eu mkdir -p ${cacheDhall} $out/${cacheDhall} @@ -92,7 +99,8 @@ in cp ${downloadedEncodedFile} $out/${cacheDhall}/$HASH_FILE echo "missing $SHA_HASH" > $out/binary.dhall - '' + - lib.optionalString source '' + '' + + lib.optionalString source '' ${dhallNoHTTP}/bin/dhall decode --file ${downloadedEncodedFile} > $out/${sourceFile} - '') + '' +) diff --git a/pkgs/development/interpreters/dhall/generate-dhall-directory-package.nix b/pkgs/development/interpreters/dhall/generate-dhall-directory-package.nix index 8ece89ef4f485..2d5c36657ae38 100644 --- a/pkgs/development/interpreters/dhall/generate-dhall-directory-package.nix +++ b/pkgs/development/interpreters/dhall/generate-dhall-directory-package.nix @@ -1,4 +1,8 @@ -{ dhall-nixpkgs, lib, stdenv }: +{ + dhall-nixpkgs, + lib, + stdenv, +}: # This function calls `dhall-to-nixpkgs directory --fixed-output-derivations` # within a Nix derivation. @@ -8,20 +12,21 @@ # Dhall imports protected with Dhall integrity checksinto fixed-output # derivations (with the `buildDhallUrl` function), so no unrestricted network # access is necessary. -lib.makePackageOverridable - ( { src - , # The file to import, relative to the root directory - file ? "package.dhall" - , # Set to `true` to generate documentation for the package - document ? false - }: - stdenv.mkDerivation { - name = "dhall-directory-package.nix"; +lib.makePackageOverridable ( + { + src, + # The file to import, relative to the root directory + file ? "package.dhall", + # Set to `true` to generate documentation for the package + document ? false, + }: + stdenv.mkDerivation { + name = "dhall-directory-package.nix"; - buildCommand = '' - dhall-to-nixpkgs directory --fixed-output-derivations --file "${file}" "${src}" ${lib.optionalString document "--document"} > $out - ''; + buildCommand = '' + dhall-to-nixpkgs directory --fixed-output-derivations --file "${file}" "${src}" ${lib.optionalString document "--document"} > $out + ''; - nativeBuildInputs = [ dhall-nixpkgs ]; - } - ) + nativeBuildInputs = [ dhall-nixpkgs ]; + } +) diff --git a/pkgs/development/interpreters/dzaima-apl/default.nix b/pkgs/development/interpreters/dzaima-apl/default.nix index a607fb0fefe4e..1921c3554cb95 100644 --- a/pkgs/development/interpreters/dzaima-apl/default.nix +++ b/pkgs/development/interpreters/dzaima-apl/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, jdk -, makeWrapper -, buildNativeImage ? true +{ + lib, + stdenv, + fetchFromGitHub, + jdk, + makeWrapper, + buildNativeImage ? true, }: stdenv.mkDerivation rec { @@ -28,39 +29,51 @@ stdenv.mkDerivation rec { patchShebangs --build ./build ''; - buildPhase = '' - runHook preBuild + buildPhase = + '' + runHook preBuild - ./build - '' + lib.optionalString buildNativeImage '' - native-image --report-unsupported-elements-at-runtime \ - -H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \ - -jar APL.jar dapl - '' + '' - runHook postBuild - ''; + ./build + '' + + lib.optionalString buildNativeImage '' + native-image --report-unsupported-elements-at-runtime \ + -H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \ + -jar APL.jar dapl + '' + + '' + runHook postBuild + ''; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - mkdir -p $out/bin - '' + (if buildNativeImage then '' - mv dapl $out/bin - '' else '' - mkdir -p $out/share/${pname} - mv APL.jar $out/share/${pname}/ + mkdir -p $out/bin + '' + + ( + if buildNativeImage then + '' + mv dapl $out/bin + '' + else + '' + mkdir -p $out/share/${pname} + mv APL.jar $out/share/${pname}/ - makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dapl" \ - --add-flags "-jar $out/share/${pname}/APL.jar" - '') + '' - ln -s $out/bin/dapl $out/bin/apl + makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dapl" \ + --add-flags "-jar $out/share/${pname}/APL.jar" + '' + ) + + '' + ln -s $out/bin/dapl $out/bin/apl - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { homepage = "https://github.com/dzaima/APL"; - description = "APL implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image"; + description = + "APL implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image"; license = licenses.mit; maintainers = with maintainers; [ AndersonTorres ]; inherit (jdk.meta) platforms; diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix index e1e14f14dee19..64582c98c45b6 100644 --- a/pkgs/development/interpreters/elixir/generic-builder.nix +++ b/pkgs/development/interpreters/elixir/generic-builder.nix @@ -1,27 +1,38 @@ -{ pkgs -, lib -, stdenv -, fetchFromGitHub -, erlang -, makeWrapper -, coreutils -, curl -, bash -, debugInfo ? false -} @ inputs: - -{ baseName ? "elixir" -, version -, erlang ? inputs.erlang -, minimumOTPVersion -, sha256 ? null -, rev ? "v${version}" -, src ? fetchFromGitHub { inherit rev sha256; owner = "elixir-lang"; repo = "elixir"; } -, escriptPath ? "lib/elixir/generate_app.escript" -} @ args: +{ + pkgs, + lib, + stdenv, + fetchFromGitHub, + erlang, + makeWrapper, + coreutils, + curl, + bash, + debugInfo ? false, +}@inputs: + +{ + baseName ? "elixir", + version, + erlang ? inputs.erlang, + minimumOTPVersion, + sha256 ? null, + rev ? "v${version}", + src ? fetchFromGitHub { + inherit rev sha256; + owner = "elixir-lang"; + repo = "elixir"; + }, + escriptPath ? "lib/elixir/generate_app.escript", +}@args: let - inherit (lib) getVersion versionAtLeast optional concatStringsSep; + inherit (lib) + getVersion + versionAtLeast + optional + concatStringsSep + ; in assert versionAtLeast (getVersion erlang) minimumOTPVersion; @@ -39,8 +50,7 @@ stdenv.mkDerivation ({ ERLC_OPTS = let - erlc_opts = [ "deterministic" ] - ++ optional debugInfo "debug_info"; + erlc_opts = [ "deterministic" ] ++ optional debugInfo "debug_info"; in "[${concatStringsSep "," erlc_opts}]"; @@ -59,7 +69,14 @@ stdenv.mkDerivation ({ b=$(basename $f) if [ "$b" = mix ]; then continue; fi wrapProgram $f \ - --prefix PATH ":" "${lib.makeBinPath [ erlang coreutils curl bash ]}" + --prefix PATH ":" "${ + lib.makeBinPath [ + erlang + coreutils + curl + bash + ] + }" done substituteInPlace $out/bin/mix \ diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix index 22affc8b9adde..170408d0bb9f5 100644 --- a/pkgs/development/interpreters/emilua/default.nix +++ b/pkgs/development/interpreters/emilua/default.nix @@ -22,7 +22,7 @@ cmake, asciidoctor, makeWrapper, - gitUpdater + gitUpdater, }: let @@ -107,7 +107,8 @@ stdenv.mkDerivation (self: { mesonCheckFlags = [ # Skipped test: libpsx # Known issue with no-new-privs disabled in the Nix build environment. - "--no-suite" "libpsx" + "--no-suite" + "libpsx" ]; postInstall = '' @@ -118,7 +119,7 @@ stdenv.mkDerivation (self: { ''; passthru = { - updateScript = gitUpdater {rev-prefix = "v";}; + updateScript = gitUpdater { rev-prefix = "v"; }; inherit boost; sitePackages = "lib/emilua-${(lib.concatStringsSep "." (lib.take 2 (lib.splitVersion self.version)))}"; }; @@ -128,7 +129,10 @@ stdenv.mkDerivation (self: { mainProgram = "emilua"; homepage = "https://emilua.org/"; license = licenses.boost; - maintainers = with maintainers; [ manipuladordedados lucasew ]; + maintainers = with maintainers; [ + manipuladordedados + lucasew + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 2b363d4a06e6b..499d3b7f879f0 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -1,231 +1,304 @@ -{ pkgs -, lib -, stdenv -, fetchFromGitHub -, makeWrapper -, gawk -, gnum4 -, gnused -, libxml2 -, libxslt -, ncurses -, openssl -, perl -, runtimeShell -, autoconf -, openjdk11 ? null # javacSupport -, unixODBC ? null # odbcSupport -, libGL ? null -, libGLU ? null -, wxGTK ? null -, xorg ? null -, ex_doc ? null -, parallelBuild ? false -, systemd -, wxSupport ? true -, ex_docSupport ? false -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd # systemd support in epmd +{ + pkgs, + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + gawk, + gnum4, + gnused, + libxml2, + libxslt, + ncurses, + openssl, + perl, + runtimeShell, + autoconf, + openjdk11 ? null, # javacSupport + unixODBC ? null, # odbcSupport + libGL ? null, + libGLU ? null, + wxGTK ? null, + xorg ? null, + ex_doc ? null, + parallelBuild ? false, + systemd, + wxSupport ? true, + ex_docSupport ? false, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, # systemd support in epmd # updateScript deps -, writeScript -, common-updater-scripts -, coreutils -, git -, wrapGAppsHook3 + writeScript, + common-updater-scripts, + coreutils, + git, + wrapGAppsHook3, }: -{ baseName ? "erlang" -, version -, sha256 ? null -, rev ? "OTP-${version}" -, src ? fetchFromGitHub { inherit rev sha256; owner = "erlang"; repo = "otp"; } -, enableHipe ? true -, enableDebugInfo ? false -, enableThreads ? true -, enableSmpSupport ? true -, enableKernelPoll ? true -, javacSupport ? false -, javacPackages ? [ openjdk11 ] -, odbcSupport ? false -, odbcPackages ? [ unixODBC ] -, opensslPackage ? openssl -, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 wrapGAppsHook3 ] -, preUnpack ? "" -, postUnpack ? "" -, patches ? [ ] -, patchPhase ? "" -, prePatch ? "" -, postPatch ? "" -, configureFlags ? [ ] -, configurePhase ? "" -, preConfigure ? "" -, postConfigure ? "" -, buildPhase ? "" -, preBuild ? "" -, postBuild ? "" -, installPhase ? "" -, preInstall ? "" -, postInstall ? "" -, installTargets ? if ((lib.versionOlder version "27.0") || ex_docSupport) then [ "install" "install-docs" ] else [ "install" ] -, checkPhase ? "" -, preCheck ? "" -, postCheck ? "" -, fixupPhase ? "" -, preFixup ? "" -, postFixup ? "" -, meta ? { } +{ + baseName ? "erlang", + version, + sha256 ? null, + rev ? "OTP-${version}", + src ? fetchFromGitHub { + inherit rev sha256; + owner = "erlang"; + repo = "otp"; + }, + enableHipe ? true, + enableDebugInfo ? false, + enableThreads ? true, + enableSmpSupport ? true, + enableKernelPoll ? true, + javacSupport ? false, + javacPackages ? [ openjdk11 ], + odbcSupport ? false, + odbcPackages ? [ unixODBC ], + opensslPackage ? openssl, + wxPackages ? [ + libGL + libGLU + wxGTK + xorg.libX11 + wrapGAppsHook3 + ], + preUnpack ? "", + postUnpack ? "", + patches ? [ ], + patchPhase ? "", + prePatch ? "", + postPatch ? "", + configureFlags ? [ ], + configurePhase ? "", + preConfigure ? "", + postConfigure ? "", + buildPhase ? "", + preBuild ? "", + postBuild ? "", + installPhase ? "", + preInstall ? "", + postInstall ? "", + installTargets ? + if ((lib.versionOlder version "27.0") || ex_docSupport) then + [ + "install" + "install-docs" + ] + else + [ "install" ], + checkPhase ? "", + preCheck ? "", + postCheck ? "", + fixupPhase ? "", + preFixup ? "", + postFixup ? "", + meta ? { }, }: -assert wxSupport -> (if stdenv.hostPlatform.isDarwin -then wxGTK != null -else libGL != null && libGLU != null && wxGTK != null && xorg != null); +assert + wxSupport + -> ( + if stdenv.hostPlatform.isDarwin then + wxGTK != null + else + libGL != null && libGLU != null && wxGTK != null && xorg != null + ); assert odbcSupport -> unixODBC != null; assert javacSupport -> openjdk11 != null; assert ex_docSupport -> ex_doc != null; let - inherit (lib) optional optionals optionalAttrs optionalString; + inherit (lib) + optional + optionals + optionalAttrs + optionalString + ; wxPackages2 = if stdenv.hostPlatform.isDarwin then [ wxGTK ] else wxPackages; in -stdenv.mkDerivation ({ - # name is used instead of pname to - # - not have to pass pnames as argument - # - have a separate pname for erlang (main module) - name = "${baseName}" - + optionalString javacSupport "_javac" - + optionalString odbcSupport "_odbc" - + "-${version}"; - - inherit src version; - - LANG = "C.UTF-8"; - - nativeBuildInputs = [ autoconf makeWrapper perl gnum4 libxslt libxml2 ]; - - buildInputs = [ ncurses opensslPackage ] - ++ optionals wxSupport wxPackages2 - ++ optionals odbcSupport odbcPackages - ++ optionals javacSupport javacPackages - ++ optional systemdSupport systemd - ++ optionals stdenv.hostPlatform.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [ AGL Carbon Cocoa WebKit ]); - - debugInfo = enableDebugInfo; - - # On some machines, parallel build reliably crashes on `GEN asn1ct_eval_ext.erl` step - enableParallelBuilding = parallelBuild; - - postPatch = '' - patchShebangs make - - ${postPatch} - '' + optionalString (lib.versionOlder "25" version) '' - substituteInPlace lib/os_mon/src/disksup.erl \ - --replace-fail '"sh ' '"${runtimeShell} ' - ''; - - # For OTP 27+ we need ex_doc to build the documentation - # When ex_docSupport is enabled, grab the raw ex_doc executable from the ex_doc - # derivation. Next, patch the first line to use the escript that will be - # built during the build phase of this derivation. Finally, building the - # documentation requires the erlang-logo.png asset. - preConfigure = '' - ./otp_build autoconf - '' + optionalString ex_docSupport '' - mkdir -p $out/bin - cp ${ex_doc}/bin/.ex_doc-wrapped $out/bin/ex_doc - sed -i "1 s:^.*$:#!$out/bin/escript:" $out/bin/ex_doc - export EX_DOC=$out/bin/ex_doc - - mkdir -p $out/lib/erlang/system/doc/assets - cp $src/system/doc/assets/erlang-logo.png $out/lib/erlang/system/doc/assets - ''; - - configureFlags = [ "--with-ssl=${lib.getOutput "out" opensslPackage}" ] - ++ [ "--with-ssl-incl=${lib.getDev opensslPackage}" ] # This flag was introduced in R24 - ++ optional enableThreads "--enable-threads" - ++ optional enableSmpSupport "--enable-smp-support" - ++ optional enableKernelPoll "--enable-kernel-poll" - ++ optional enableHipe "--enable-hipe" - ++ optional javacSupport "--with-javac" - ++ optional odbcSupport "--with-odbc=${unixODBC}" - ++ optional wxSupport "--enable-wx" - ++ optional systemdSupport "--enable-systemd" - ++ optional stdenv.hostPlatform.isDarwin "--enable-darwin-64bit" - # make[3]: *** [yecc.beam] Segmentation fault: 11 - ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) "--disable-jit" - ++ configureFlags; - - # install-docs will generate and install manpages and html docs - # (PDFs are generated only when fop is available). - - postInstall = '' - ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call - - ${postInstall} - ''; - - # Some erlang bin/ scripts run sed and awk - postFixup = '' - wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" - wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${lib.makeBinPath [ gnused gawk ]}" - ''; - - passthru = { - updateScript = - let major = builtins.head (builtins.splitVersion version); - in - writeScript "update.sh" '' - #!${stdenv.shell} - set -ox errexit - PATH=${lib.makeBinPath [ common-updater-scripts coreutils git gnused ]} - latest=$(list-git-tags --url=https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1) - if [ "$latest" != "${version}" ]; then - nixpkgs="$(git rev-parse --show-toplevel)" - nix_file="$nixpkgs/pkgs/development/interpreters/erlang/${major}.nix" - update-source-version ${baseName}R${major} "$latest" --version-key=version --print-changes --file="$nix_file" - else - echo "${baseName}R${major} is already up-to-date" - fi +stdenv.mkDerivation ( + { + # name is used instead of pname to + # - not have to pass pnames as argument + # - have a separate pname for erlang (main module) + name = + "${baseName}" + + optionalString javacSupport "_javac" + + optionalString odbcSupport "_odbc" + + "-${version}"; + + inherit src version; + + LANG = "C.UTF-8"; + + nativeBuildInputs = [ + autoconf + makeWrapper + perl + gnum4 + libxslt + libxml2 + ]; + + buildInputs = + [ + ncurses + opensslPackage + ] + ++ optionals wxSupport wxPackages2 + ++ optionals odbcSupport odbcPackages + ++ optionals javacSupport javacPackages + ++ optional systemdSupport systemd + ++ optionals stdenv.hostPlatform.isDarwin ( + with pkgs.darwin.apple_sdk.frameworks; + [ + AGL + Carbon + Cocoa + WebKit + ] + ); + + debugInfo = enableDebugInfo; + + # On some machines, parallel build reliably crashes on `GEN asn1ct_eval_ext.erl` step + enableParallelBuilding = parallelBuild; + + postPatch = + '' + patchShebangs make + + ${postPatch} + '' + + optionalString (lib.versionOlder "25" version) '' + substituteInPlace lib/os_mon/src/disksup.erl \ + --replace-fail '"sh ' '"${runtimeShell} ' + ''; + + # For OTP 27+ we need ex_doc to build the documentation + # When ex_docSupport is enabled, grab the raw ex_doc executable from the ex_doc + # derivation. Next, patch the first line to use the escript that will be + # built during the build phase of this derivation. Finally, building the + # documentation requires the erlang-logo.png asset. + preConfigure = + '' + ./otp_build autoconf + '' + + optionalString ex_docSupport '' + mkdir -p $out/bin + cp ${ex_doc}/bin/.ex_doc-wrapped $out/bin/ex_doc + sed -i "1 s:^.*$:#!$out/bin/escript:" $out/bin/ex_doc + export EX_DOC=$out/bin/ex_doc + + mkdir -p $out/lib/erlang/system/doc/assets + cp $src/system/doc/assets/erlang-logo.png $out/lib/erlang/system/doc/assets ''; - }; - - meta = with lib; ({ - homepage = "https://www.erlang.org/"; - downloadPage = "https://www.erlang.org/download.html"; - description = "Programming language used for massively scalable soft real-time systems"; - - longDescription = '' - Erlang is a programming language used to build massively scalable - soft real-time systems with requirements on high availability. - Some of its uses are in telecoms, banking, e-commerce, computer - telephony and instant messaging. Erlang's runtime system has - built-in support for concurrency, distribution and fault - tolerance. + + configureFlags = + [ "--with-ssl=${lib.getOutput "out" opensslPackage}" ] + ++ [ "--with-ssl-incl=${lib.getDev opensslPackage}" ] # This flag was introduced in R24 + ++ optional enableThreads "--enable-threads" + ++ optional enableSmpSupport "--enable-smp-support" + ++ optional enableKernelPoll "--enable-kernel-poll" + ++ optional enableHipe "--enable-hipe" + ++ optional javacSupport "--with-javac" + ++ optional odbcSupport "--with-odbc=${unixODBC}" + ++ optional wxSupport "--enable-wx" + ++ optional systemdSupport "--enable-systemd" + ++ optional stdenv.hostPlatform.isDarwin "--enable-darwin-64bit" + # make[3]: *** [yecc.beam] Segmentation fault: 11 + ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) "--disable-jit" + ++ configureFlags; + + # install-docs will generate and install manpages and html docs + # (PDFs are generated only when fop is available). + + postInstall = '' + ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call + + ${postInstall} ''; - platforms = platforms.unix; - maintainers = teams.beam.members; - license = licenses.asl20; - } // meta); -} -// optionalAttrs (preUnpack != "") { inherit preUnpack; } -// optionalAttrs (postUnpack != "") { inherit postUnpack; } -// optionalAttrs (patches != [ ]) { inherit patches; } -// optionalAttrs (prePatch != "") { inherit prePatch; } -// optionalAttrs (patchPhase != "") { inherit patchPhase; } -// optionalAttrs (configurePhase != "") { inherit configurePhase; } -// optionalAttrs (preConfigure != "") { inherit preConfigure; } -// optionalAttrs (postConfigure != "") { inherit postConfigure; } -// optionalAttrs (buildPhase != "") { inherit buildPhase; } -// optionalAttrs (preBuild != "") { inherit preBuild; } -// optionalAttrs (postBuild != "") { inherit postBuild; } -// optionalAttrs (checkPhase != "") { inherit checkPhase; } -// optionalAttrs (preCheck != "") { inherit preCheck; } -// optionalAttrs (postCheck != "") { inherit postCheck; } -// optionalAttrs (installPhase != "") { inherit installPhase; } -// optionalAttrs (installTargets != [ ]) { inherit installTargets; } -// optionalAttrs (preInstall != "") { inherit preInstall; } -// optionalAttrs (fixupPhase != "") { inherit fixupPhase; } -// optionalAttrs (preFixup != "") { inherit preFixup; } -// optionalAttrs (postFixup != "") { inherit postFixup; } + # Some erlang bin/ scripts run sed and awk + postFixup = '' + wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" + wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${ + lib.makeBinPath [ + gnused + gawk + ] + }" + ''; + + passthru = { + updateScript = + let + major = builtins.head (builtins.splitVersion version); + in + writeScript "update.sh" '' + #!${stdenv.shell} + set -ox errexit + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + git + gnused + ] + } + latest=$(list-git-tags --url=https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1) + if [ "$latest" != "${version}" ]; then + nixpkgs="$(git rev-parse --show-toplevel)" + nix_file="$nixpkgs/pkgs/development/interpreters/erlang/${major}.nix" + update-source-version ${baseName}R${major} "$latest" --version-key=version --print-changes --file="$nix_file" + else + echo "${baseName}R${major} is already up-to-date" + fi + ''; + }; + + meta = + with lib; + ( + { + homepage = "https://www.erlang.org/"; + downloadPage = "https://www.erlang.org/download.html"; + description = "Programming language used for massively scalable soft real-time systems"; + + longDescription = '' + Erlang is a programming language used to build massively scalable + soft real-time systems with requirements on high availability. + Some of its uses are in telecoms, banking, e-commerce, computer + telephony and instant messaging. Erlang's runtime system has + built-in support for concurrency, distribution and fault + tolerance. + ''; + + platforms = platforms.unix; + maintainers = teams.beam.members; + license = licenses.asl20; + } + // meta + ); + } + // optionalAttrs (preUnpack != "") { inherit preUnpack; } + // optionalAttrs (postUnpack != "") { inherit postUnpack; } + // optionalAttrs (patches != [ ]) { inherit patches; } + // optionalAttrs (prePatch != "") { inherit prePatch; } + // optionalAttrs (patchPhase != "") { inherit patchPhase; } + // optionalAttrs (configurePhase != "") { inherit configurePhase; } + // optionalAttrs (preConfigure != "") { inherit preConfigure; } + // optionalAttrs (postConfigure != "") { inherit postConfigure; } + // optionalAttrs (buildPhase != "") { inherit buildPhase; } + // optionalAttrs (preBuild != "") { inherit preBuild; } + // optionalAttrs (postBuild != "") { inherit postBuild; } + // optionalAttrs (checkPhase != "") { inherit checkPhase; } + // optionalAttrs (preCheck != "") { inherit preCheck; } + // optionalAttrs (postCheck != "") { inherit postCheck; } + // optionalAttrs (installPhase != "") { inherit installPhase; } + // optionalAttrs (installTargets != [ ]) { inherit installTargets; } + // optionalAttrs (preInstall != "") { inherit preInstall; } + // optionalAttrs (fixupPhase != "") { inherit fixupPhase; } + // optionalAttrs (preFixup != "") { inherit preFixup; } + // optionalAttrs (postFixup != "") { inherit postFixup; } ) diff --git a/pkgs/development/interpreters/evcxr/default.nix b/pkgs/development/interpreters/evcxr/default.nix index a95e45fc65367..8625eab28aca6 100644 --- a/pkgs/development/interpreters/evcxr/default.nix +++ b/pkgs/development/interpreters/evcxr/default.nix @@ -1,5 +1,17 @@ -{ cargo, fetchFromGitHub, makeWrapper, pkg-config, rustPlatform, lib, stdenv -, gcc, cmake, libiconv, CoreServices, Security }: +{ + cargo, + fetchFromGitHub, + makeWrapper, + pkg-config, + rustPlatform, + lib, + stdenv, + gcc, + cmake, + libiconv, + CoreServices, + Security, +}: rustPlatform.buildRustPackage rec { pname = "evcxr"; @@ -16,9 +28,16 @@ rustPlatform.buildRustPackage rec { RUST_SRC_PATH = "${rustPlatform.rustLibSrc}"; - nativeBuildInputs = [ pkg-config makeWrapper cmake ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin - [ libiconv CoreServices Security ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + cmake + ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + CoreServices + Security + ]; checkFlags = [ # test broken with rust 1.69: @@ -27,22 +46,32 @@ rustPlatform.buildRustPackage rec { "--skip=check_for_errors" ]; - postInstall = let - wrap = exe: '' - wrapProgram $out/bin/${exe} \ - --prefix PATH : ${lib.makeBinPath [ cargo gcc ]} \ - --set-default RUST_SRC_PATH "$RUST_SRC_PATH" + postInstall = + let + wrap = exe: '' + wrapProgram $out/bin/${exe} \ + --prefix PATH : ${ + lib.makeBinPath [ + cargo + gcc + ] + } \ + --set-default RUST_SRC_PATH "$RUST_SRC_PATH" + ''; + in + '' + ${wrap "evcxr"} + ${wrap "evcxr_jupyter"} + rm $out/bin/testing_runtime ''; - in '' - ${wrap "evcxr"} - ${wrap "evcxr_jupyter"} - rm $out/bin/testing_runtime - ''; meta = with lib; { description = "Evaluation context for Rust"; homepage = "https://github.com/google/evcxr"; license = licenses.asl20; - maintainers = with maintainers; [ protoben ma27 ]; + maintainers = with maintainers; [ + protoben + ma27 + ]; }; } diff --git a/pkgs/development/interpreters/falcon/default.nix b/pkgs/development/interpreters/falcon/default.nix index f7f5a54f415fa..4acd72081967d 100644 --- a/pkgs/development/interpreters/falcon/default.nix +++ b/pkgs/development/interpreters/falcon/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, pcre, zlib, sqlite }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + pcre, + zlib, + sqlite, +}: stdenv.mkDerivation { pname = "falcon"; @@ -15,8 +24,15 @@ stdenv.mkDerivation { # causing compilation to fail. env.NIX_CFLAGS_COMPILE = "-Wno-narrowing"; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ pcre zlib sqlite ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + pcre + zlib + sqlite + ]; meta = with lib; { description = "Programming language with macros and syntax at once"; diff --git a/pkgs/development/interpreters/gnudatalanguage/default.nix b/pkgs/development/interpreters/gnudatalanguage/default.nix index d9acb974df88d..f7570e745d3d6 100644 --- a/pkgs/development/interpreters/gnudatalanguage/default.nix +++ b/pkgs/development/interpreters/gnudatalanguage/default.nix @@ -1,73 +1,74 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, wrapGAppsHook3 -, readline -, ncurses -, zlib -, gsl -, openmp -, graphicsmagick -, fftw -, fftwFloat -, fftwLongDouble -, proj -, shapelib -, expat -, udunits -, eigen -, pslib -, libpng -, plplot -, libtiff -, libgeotiff -, libjpeg +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + wrapGAppsHook3, + readline, + ncurses, + zlib, + gsl, + openmp, + graphicsmagick, + fftw, + fftwFloat, + fftwLongDouble, + proj, + shapelib, + expat, + udunits, + eigen, + pslib, + libpng, + plplot, + libtiff, + libgeotiff, + libjpeg, # eccodes is broken on darwin -, enableGRIB ? stdenv.hostPlatform.isLinux -, eccodes -, enableGLPK ? stdenv.hostPlatform.isLinux -, glpk + enableGRIB ? stdenv.hostPlatform.isLinux, + eccodes, + enableGLPK ? stdenv.hostPlatform.isLinux, + glpk, # We enable it in hdf4 and use libtirpc as a dependency here from the passthru # of hdf4 -, enableLibtirpc ? stdenv.hostPlatform.isLinux -, libtirpc -, python3 -, enableMPI ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) + enableLibtirpc ? stdenv.hostPlatform.isLinux, + libtirpc, + python3, + enableMPI ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin), # Choose MPICH over OpenMPI because it currently builds on AArch and Darwin -, mpi + mpi, # Unfree optional dependency for hdf4 and hdf5 -, enableSzip ? false -, szip -, enableHDF4 ? true -, hdf4 -, hdf4-forced ? null -, enableHDF5 ? true + enableSzip ? false, + szip, + enableHDF4 ? true, + hdf4, + hdf4-forced ? null, + enableHDF5 ? true, # HDF5 format version (API version) 1.10 and 1.12 is not fully compatible # Specify if the API version should default to 1.10 # netcdf currently depends on hdf5 with `usev110Api=true` # If you wish to use HDF5 API version 1.12 (`useHdf5v110Api=false`), # you will need to turn NetCDF off. -, useHdf5v110Api ? true -, hdf5 -, hdf5-forced ? null -, enableNetCDF ? true -, netcdf -, netcdf-forced ? null -, plplot-forced ? null + useHdf5v110Api ? true, + hdf5, + hdf5-forced ? null, + enableNetCDF ? true, + netcdf, + netcdf-forced ? null, + plplot-forced ? null, # wxWidgets is preferred over X11 for this project but we only have it on Linux # and Darwin. -, enableWX ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) -, wxGTK32 -, Cocoa + enableWX ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin), + wxGTK32, + Cocoa, # X11: OFF by default for platform consistency. Use X where WX is not available -, enableXWin ? (!stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin) + enableXWin ? (!stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isDarwin), }: let hdf4-custom = - if hdf4-forced != null - then hdf4-forced + if hdf4-forced != null then + hdf4-forced else hdf4.override { uselibtirpc = enableLibtirpc; @@ -75,29 +76,32 @@ let inherit szip; }; hdf5-custom = - if hdf5-forced != null - then hdf5-forced + if hdf5-forced != null then + hdf5-forced else - hdf5.override ({ - usev110Api = useHdf5v110Api; - mpiSupport = enableMPI; - inherit mpi; - szipSupport = enableSzip; - inherit szip; - } // lib.optionalAttrs enableMPI { - cppSupport = false; - }); + hdf5.override ( + { + usev110Api = useHdf5v110Api; + mpiSupport = enableMPI; + inherit mpi; + szipSupport = enableSzip; + inherit szip; + } + // lib.optionalAttrs enableMPI { + cppSupport = false; + } + ); netcdf-custom = - if netcdf-forced != null - then netcdf-forced + if netcdf-forced != null then + netcdf-forced else netcdf.override { hdf5 = hdf5-custom; }; enablePlplotDrivers = enableWX || enableXWin; plplot-with-drivers = - if plplot-forced != null - then plplot-forced + if plplot-forced != null then + plplot-forced else plplot.override { inherit @@ -117,39 +121,41 @@ stdenv.mkDerivation rec { sha256 = "sha256-IrCLL8MQp0SkWj7sbfZlma5FrnMbgdl4E/1nPGy0Y60="; }; - buildInputs = [ - readline - ncurses - zlib - gsl - openmp - graphicsmagick - fftw - fftwFloat - fftwLongDouble - proj - shapelib - expat - mpi - udunits - eigen - pslib - libpng - libtiff - libgeotiff - libjpeg - hdf4-custom - hdf5-custom - netcdf-custom - plplot-with-drivers - ] ++ lib.optional enableXWin plplot-with-drivers.libX11 - ++ lib.optional enableGRIB eccodes - ++ lib.optional enableGLPK glpk - ++ lib.optional enableWX wxGTK32 - ++ lib.optional (enableWX && stdenv.hostPlatform.isDarwin) Cocoa - ++ lib.optional enableMPI mpi - ++ lib.optional enableLibtirpc hdf4-custom.libtirpc - ++ lib.optional enableSzip szip; + buildInputs = + [ + readline + ncurses + zlib + gsl + openmp + graphicsmagick + fftw + fftwFloat + fftwLongDouble + proj + shapelib + expat + mpi + udunits + eigen + pslib + libpng + libtiff + libgeotiff + libjpeg + hdf4-custom + hdf5-custom + netcdf-custom + plplot-with-drivers + ] + ++ lib.optional enableXWin plplot-with-drivers.libX11 + ++ lib.optional enableGRIB eccodes + ++ lib.optional enableGLPK glpk + ++ lib.optional enableWX wxGTK32 + ++ lib.optional (enableWX && stdenv.hostPlatform.isDarwin) Cocoa + ++ lib.optional enableMPI mpi + ++ lib.optional enableLibtirpc hdf4-custom.libtirpc + ++ lib.optional enableSzip szip; propagatedBuildInputs = [ (python3.withPackages (ps: with ps; [ numpy ])) @@ -159,7 +165,8 @@ stdenv.mkDerivation rec { cmake ] ++ lib.optional enableWX wrapGAppsHook3; - cmakeFlags = lib.optional (!enableHDF4) "-DHDF=OFF" + cmakeFlags = + lib.optional (!enableHDF4) "-DHDF=OFF" ++ [ (if enableHDF5 then "-DHDF5DIR=${hdf5-custom}" else "-DHDF5=OFF") ] ++ lib.optional (!enableNetCDF) "-DNETCDF=OFF" ++ lib.optional (!enablePlplotDrivers) "-DINTERACTIVE_GRAPHICS=OFF" @@ -167,8 +174,14 @@ stdenv.mkDerivation rec { ++ lib.optional (!enableGLPK) "-DGLPK=OFF" ++ lib.optional (!enableWX) "-DWXWIDGETS=OFF" ++ lib.optional enableSzip "-DSZIPDIR=${szip}" - ++ lib.optionals enableXWin [ "-DX11=ON" "-DX11DIR=${plplot-with-drivers.libX11}" ] - ++ lib.optionals enableMPI [ "-DMPI=ON" "-DMPIDIR=${mpi}" ]; + ++ lib.optionals enableXWin [ + "-DX11=ON" + "-DX11DIR=${plplot-with-drivers.libX11}" + ] + ++ lib.optionals enableMPI [ + "-DMPI=ON" + "-DMPIDIR=${mpi}" + ]; # Tests are failing on Hydra: # ./src/common/dpycmn.cpp(137): assert ""IsOk()"" failed in GetClientArea(): invalid wxDisplay object @@ -179,13 +192,15 @@ stdenv.mkDerivation rec { # https://github.com/gnudatalanguage/gdl/issues/1079 # https://github.com/gnudatalanguage/gdl/issues/460 preCheck = '' - checkFlagsArray+=("ARGS=-E '${lib.concatMapStringsSep "|" (test: test + ".pro") [ - "test_byte_conversion" - "test_bytscl" - "test_call_external" - "test_tic_toc" - "test_timestamp" - ]}'") + checkFlagsArray+=("ARGS=-E '${ + lib.concatMapStringsSep "|" (test: test + ".pro") [ + "test_byte_conversion" + "test_bytscl" + "test_call_external" + "test_tic_toc" + "test_timestamp" + ] + }'") ''; passthru = { diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix index 51ac9ba3ed58f..d5f0fe3f68002 100644 --- a/pkgs/development/interpreters/guile/1.8.nix +++ b/pkgs/development/interpreters/guile/1.8.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, buildPackages -, gawk -, gmp -, libtool -, makeWrapper -, pkg-config -, pkgsBuildBuild -, readline +{ + lib, + stdenv, + fetchurl, + buildPackages, + gawk, + gmp, + libtool, + makeWrapper, + pkg-config, + pkgsBuildBuild, + readline, }: stdenv.mkDerivation rec { @@ -20,23 +21,25 @@ stdenv.mkDerivation rec { sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; setOutputFlags = false; # $dev gets into the library otherwise # GCC 4.6 raises a number of set-but-unused warnings. - configureFlags = [ - "--disable-error-on-warning" - ] - # Guile needs patching to preset results for the configure tests about - # pthreads, which work only in native builds. - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - "--with-threads=no"; + configureFlags = + [ + "--disable-error-on-warning" + ] + # Guile needs patching to preset results for the configure tests about + # pthreads, which work only in native builds. + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--with-threads=no"; depsBuildBuild = [ buildPackages.stdenv.cc - ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - pkgsBuildBuild.guile_1_8; + ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_1_8; nativeBuildInputs = [ makeWrapper pkg-config @@ -66,16 +69,17 @@ stdenv.mkDerivation rec { sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c ''; - postInstall = '' - wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" - '' - # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for - # why `--with-libunistring-prefix' and similar options coming from - # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. - + '' - sed -i "$out/lib/pkgconfig/guile"-*.pc \ - -e "s|-lltdl|-L${libtool.lib}/lib -lltdl|g" - ''; + postInstall = + '' + wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" + '' + # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for + # why `--with-libunistring-prefix' and similar options coming from + # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. + + '' + sed -i "$out/lib/pkgconfig/guile"-*.pc \ + -e "s|-lltdl|-L${libtool.lib}/lib -lltdl|g" + ''; # One test fails. # ERROR: file: "libtest-asmobs", message: "file not found" diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix index 510834df4046b..ad542da643255 100644 --- a/pkgs/development/interpreters/guile/2.0.nix +++ b/pkgs/development/interpreters/guile/2.0.nix @@ -1,26 +1,25 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, boehmgc -, buildPackages -, coverageAnalysis ? null -, gawk -, gmp -, libffi -, libtool -, libunistring -, makeWrapper -, pkg-config -, pkgsBuildBuild -, readline +{ + lib, + stdenv, + fetchurl, + fetchpatch, + boehmgc, + buildPackages, + coverageAnalysis ? null, + gawk, + gmp, + libffi, + libtool, + libunistring, + makeWrapper, + pkg-config, + pkgsBuildBuild, + readline, }: let # Do either a coverage analysis build or a standard build. - builder = if coverageAnalysis != null - then coverageAnalysis - else stdenv.mkDerivation; + builder = if coverageAnalysis != null then coverageAnalysis else stdenv.mkDerivation; in builder rec { pname = "guile"; @@ -31,14 +30,16 @@ builder rec { sha256 = "12yqkr974y91ylgw6jnmci2v90i90s7h9vxa4zk0sai8vjnz4i1p"; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; setOutputFlags = false; # $dev gets into the library otherwise depsBuildBuild = [ buildPackages.stdenv.cc - ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - pkgsBuildBuild.guile_2_0; + ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_2_0; nativeBuildInputs = [ makeWrapper @@ -64,66 +65,72 @@ builder rec { enableParallelBuilding = true; - patches = [ - # Small fixes to Clang compiler - ./clang.patch - # Self-explanatory - ./disable-gc-sensitive-tests.patch - # Read the header of the patch to more info - ./eai_system.patch - # RISC-V endianness - ./riscv.patch - # Fixes stability issues with 00-repl-server.test - (fetchpatch { - url = "https://git.savannah.gnu.org/cgit/guile.git/patch/?id=2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4"; - sha256 = "0p6c1lmw1iniq03z7x5m65kg3lq543kgvdb4nrxsaxjqf3zhl77v"; - })] ++ - (lib.optional (coverageAnalysis != null) ./gcov-file-name.patch) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ./filter-mkostemp-darwin.patch - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; - sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; - }) - ]; + patches = + [ + # Small fixes to Clang compiler + ./clang.patch + # Self-explanatory + ./disable-gc-sensitive-tests.patch + # Read the header of the patch to more info + ./eai_system.patch + # RISC-V endianness + ./riscv.patch + # Fixes stability issues with 00-repl-server.test + (fetchpatch { + url = "https://git.savannah.gnu.org/cgit/guile.git/patch/?id=2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4"; + sha256 = "0p6c1lmw1iniq03z7x5m65kg3lq543kgvdb4nrxsaxjqf3zhl77v"; + }) + ] + ++ (lib.optional (coverageAnalysis != null) ./gcov-file-name.patch) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./filter-mkostemp-darwin.patch + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; + sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; + }) + ]; # Explicitly link against libgcc_s, to work around the infamous # "libgcc_s.so.1 must be installed for pthread_cancel to work". # don't have "libgcc_s.so.1" on darwin - LDFLAGS = lib.optionalString - (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) "-lgcc_s"; - - configureFlags = [ - "--with-libreadline-prefix" - ] ++ lib.optionals stdenv.hostPlatform.isSunOS [ - # Make sure the right is found, and not the incompatible - # /usr/include/mp.h from OpenSolaris. See - # - # for details. - "--with-libgmp-prefix=${lib.getDev gmp}" - - # Same for these (?). - "--with-libreadline-prefix=${lib.getDev readline}" - "--with-libunistring-prefix=${libunistring}" - - # See below. - "--without-threads" - ]; - - postInstall = '' - wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" - '' - # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for - # why `--with-libunistring-prefix' and similar options coming from - # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. - + '' - sed -i "$out/lib/pkgconfig/guile"-*.pc \ - -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ; - s|^Cflags:\(.*\)$|Cflags: -I${libunistring.dev}/include \1|g ; - s|-lltdl|-L${libtool.lib}/lib -lltdl|g ; - s|includedir=$out|includedir=$dev|g - " + LDFLAGS = lib.optionalString ( + !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl + ) "-lgcc_s"; + + configureFlags = + [ + "--with-libreadline-prefix" + ] + ++ lib.optionals stdenv.hostPlatform.isSunOS [ + # Make sure the right is found, and not the incompatible + # /usr/include/mp.h from OpenSolaris. See + # + # for details. + "--with-libgmp-prefix=${lib.getDev gmp}" + + # Same for these (?). + "--with-libreadline-prefix=${lib.getDev readline}" + "--with-libunistring-prefix=${libunistring}" + + # See below. + "--without-threads" + ]; + + postInstall = + '' + wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" + '' + # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for + # why `--with-libunistring-prefix' and similar options coming from + # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. + + '' + sed -i "$out/lib/pkgconfig/guile"-*.pc \ + -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ; + s|^Cflags:\(.*\)$|Cflags: -I${libunistring.dev}/include \1|g ; + s|-lltdl|-L${libtool.lib}/lib -lltdl|g ; + s|includedir=$out|includedir=$dev|g + " ''; # make check doesn't work on darwin @@ -143,14 +150,14 @@ builder rec { homepage = "https://www.gnu.org/software/guile/"; description = "Embeddable Scheme implementation"; longDescription = '' - GNU Guile is an implementation of the Scheme programming language, with - support for many SRFIs, packaged for use in a wide variety of - environments. In addition to implementing the R5RS Scheme standard and - a large subset of R6RS, Guile includes a module system, full access to - POSIX system calls, networking support, multiple threads, dynamic - linking, a foreign function call interface, and powerful string - processing. - ''; + GNU Guile is an implementation of the Scheme programming language, with + support for many SRFIs, packaged for use in a wide variety of + environments. In addition to implementing the R5RS Scheme standard and + a large subset of R6RS, Guile includes a module system, full access to + POSIX system calls, networking support, multiple threads, dynamic + linking, a foreign function call interface, and powerful string + processing. + ''; license = licenses.lgpl3Plus; maintainers = with maintainers; [ ludo ]; platforms = platforms.all; @@ -159,8 +166,8 @@ builder rec { // -(lib.optionalAttrs (!stdenv.hostPlatform.isLinux) { - # Work around . - SHELL = stdenv.shell; - CONFIG_SHELL = stdenv.shell; -}) + (lib.optionalAttrs (!stdenv.hostPlatform.isLinux) { + # Work around . + SHELL = stdenv.shell; + CONFIG_SHELL = stdenv.shell; + }) diff --git a/pkgs/development/interpreters/guile/2.2.nix b/pkgs/development/interpreters/guile/2.2.nix index 6c75540dae0c3..deb74210bdb7c 100644 --- a/pkgs/development/interpreters/guile/2.2.nix +++ b/pkgs/development/interpreters/guile/2.2.nix @@ -1,26 +1,25 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, boehmgc -, buildPackages -, coverageAnalysis ? null -, gawk -, gmp -, libffi -, libtool -, libunistring -, makeWrapper -, pkg-config -, pkgsBuildBuild -, readline +{ + lib, + stdenv, + fetchurl, + fetchpatch, + boehmgc, + buildPackages, + coverageAnalysis ? null, + gawk, + gmp, + libffi, + libtool, + libunistring, + makeWrapper, + pkg-config, + pkgsBuildBuild, + readline, }: let # Do either a coverage analysis build or a standard build. - builder = if coverageAnalysis != null - then coverageAnalysis - else stdenv.mkDerivation; + builder = if coverageAnalysis != null then coverageAnalysis else stdenv.mkDerivation; in builder rec { pname = "guile"; @@ -31,14 +30,16 @@ builder rec { sha256 = "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; setOutputFlags = false; # $dev gets into the library otherwise depsBuildBuild = [ buildPackages.stdenv.cc - ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - pkgsBuildBuild.guile_2_2; + ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_2_2; nativeBuildInputs = [ makeWrapper pkg-config @@ -69,12 +70,13 @@ builder rec { # re: https://build.opensuse.org/request/show/732638 enableParallelBuilding = false; - patches = [ - # Read the header of the patch to more info - ./eai_system.patch - ] ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch - ++ lib.optional stdenv.hostPlatform.isDarwin - (fetchpatch { + patches = + [ + # Read the header of the patch to more info + ./eai_system.patch + ] + ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch + ++ lib.optional stdenv.hostPlatform.isDarwin (fetchpatch { url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; }); @@ -83,38 +85,40 @@ builder rec { # "libgcc_s.so.1 must be installed for pthread_cancel to work". # don't have "libgcc_s.so.1" on clang - LDFLAGS = lib.optionalString - (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; - - configureFlags = [ - "--with-libreadline-prefix=${lib.getDev readline}" - ] ++ lib.optionals stdenv.hostPlatform.isSunOS [ - # Make sure the right is found, and not the incompatible - # /usr/include/mp.h from OpenSolaris. See - # - # for details. - "--with-libgmp-prefix=${lib.getDev gmp}" - - # Same for these (?). - "--with-libunistring-prefix=${libunistring}" - - # See below. - "--without-threads" - ]; - - postInstall = '' - wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" - '' - # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for - # why `--with-libunistring-prefix' and similar options coming from - # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. - + '' - sed -i "$out/lib/pkgconfig/guile"-*.pc \ - -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ; - s|^Cflags:\(.*\)$|Cflags: -I${libunistring.dev}/include \1|g ; - s|-lltdl|-L${libtool.lib}/lib -lltdl|g ; - s|includedir=$out|includedir=$dev|g - " + LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; + + configureFlags = + [ + "--with-libreadline-prefix=${lib.getDev readline}" + ] + ++ lib.optionals stdenv.hostPlatform.isSunOS [ + # Make sure the right is found, and not the incompatible + # /usr/include/mp.h from OpenSolaris. See + # + # for details. + "--with-libgmp-prefix=${lib.getDev gmp}" + + # Same for these (?). + "--with-libunistring-prefix=${libunistring}" + + # See below. + "--without-threads" + ]; + + postInstall = + '' + wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" + '' + # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for + # why `--with-libunistring-prefix' and similar options coming from + # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. + + '' + sed -i "$out/lib/pkgconfig/guile"-*.pc \ + -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ; + s|^Cflags:\(.*\)$|Cflags: -I${libunistring.dev}/include \1|g ; + s|-lltdl|-L${libtool.lib}/lib -lltdl|g ; + s|includedir=$out|includedir=$dev|g + " ''; # make check doesn't work on darwin diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix index 1eeda97b0f8bc..473c05ea8383c 100644 --- a/pkgs/development/interpreters/guile/3.0.nix +++ b/pkgs/development/interpreters/guile/3.0.nix @@ -1,28 +1,27 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, boehmgc -, buildPackages -, coverageAnalysis ? null -, gawk -, gmp -, libffi -, libtool -, libunistring -, libxcrypt -, makeWrapper -, pkg-config -, pkgsBuildBuild -, readline -, writeScript +{ + lib, + stdenv, + fetchurl, + fetchpatch, + boehmgc, + buildPackages, + coverageAnalysis ? null, + gawk, + gmp, + libffi, + libtool, + libunistring, + libxcrypt, + makeWrapper, + pkg-config, + pkgsBuildBuild, + readline, + writeScript, }: let # Do either a coverage analysis build or a standard build. - builder = if coverageAnalysis != null - then coverageAnalysis - else stdenv.mkDerivation; + builder = if coverageAnalysis != null then coverageAnalysis else stdenv.mkDerivation; in builder rec { pname = "guile"; @@ -33,38 +32,45 @@ builder rec { sha256 = "sha256-vXFoUX/VJjM0RtT3q4FlJ5JWNAlPvTcyLhfiuNjnY4g="; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; setOutputFlags = false; # $dev gets into the library otherwise depsBuildBuild = [ buildPackages.stdenv.cc - ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - pkgsBuildBuild.guile_3_0; + ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_3_0; nativeBuildInputs = [ makeWrapper pkg-config ]; - buildInputs = [ - libffi - libtool - libunistring - readline - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libxcrypt - ]; - propagatedBuildInputs = [ - boehmgc - gmp - - # These ones aren't normally needed here, but `libguile*.la' has '-l' - # flags for them without corresponding '-L' flags. Adding them here will - # add the needed `-L' flags. As for why the `.la' file lacks the `-L' - # flags, see below. - libtool - libunistring - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libxcrypt - ]; + buildInputs = + [ + libffi + libtool + libunistring + readline + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxcrypt + ]; + propagatedBuildInputs = + [ + boehmgc + gmp + + # These ones aren't normally needed here, but `libguile*.la' has '-l' + # flags for them without corresponding '-L' flags. Adding them here will + # add the needed `-L' flags. As for why the `.la' file lacks the `-L' + # flags, see below. + libtool + libunistring + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxcrypt + ]; # According to # https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.scm?h=a39207f7afd977e4e4299c6f0bb34bcb6d153818#n405 @@ -72,11 +78,12 @@ builder rec { # bit-reproducibly as long as we're not cross-compiling enableParallelBuilding = stdenv.buildPlatform == stdenv.hostPlatform; - patches = [ - ./eai_system.patch - ] ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch - ++ lib.optional stdenv.hostPlatform.isDarwin - (fetchpatch { + patches = + [ + ./eai_system.patch + ] + ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch + ++ lib.optional stdenv.hostPlatform.isDarwin (fetchpatch { url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; }); @@ -85,42 +92,44 @@ builder rec { # "libgcc_s.so.1 must be installed for pthread_cancel to work". # don't have "libgcc_s.so.1" on clang - LDFLAGS = lib.optionalString - (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; - - configureFlags = [ - "--with-libreadline-prefix=${lib.getDev readline}" - ] ++ lib.optionals stdenv.hostPlatform.isSunOS [ - # Make sure the right is found, and not the incompatible - # /usr/include/mp.h from OpenSolaris. See - # - # for details. - "--with-libgmp-prefix=${lib.getDev gmp}" - - # Same for these (?). - "--with-libunistring-prefix=${libunistring}" - - # See below. - "--without-threads" - ] - # At least on x86_64-darwin '-flto' autodetection is not correct: - # https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046193028 - ++ lib.optional (stdenv.hostPlatform.isDarwin) "--disable-lto"; - - postInstall = '' - wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" - '' - # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for - # why `--with-libunistring-prefix' and similar options coming from - # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. - + '' - sed -i "$out/lib/pkgconfig/guile"-*.pc \ - -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ; - s|-lltdl|-L${libtool.lib}/lib -lltdl|g ; - s|-lcrypt|-L${libxcrypt}/lib -lcrypt|g ; - s|^Cflags:\(.*\)$|Cflags: -I${libunistring.dev}/include \1|g ; - s|includedir=$out|includedir=$dev|g - " + LDFLAGS = lib.optionalString (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s"; + + configureFlags = + [ + "--with-libreadline-prefix=${lib.getDev readline}" + ] + ++ lib.optionals stdenv.hostPlatform.isSunOS [ + # Make sure the right is found, and not the incompatible + # /usr/include/mp.h from OpenSolaris. See + # + # for details. + "--with-libgmp-prefix=${lib.getDev gmp}" + + # Same for these (?). + "--with-libunistring-prefix=${libunistring}" + + # See below. + "--without-threads" + ] + # At least on x86_64-darwin '-flto' autodetection is not correct: + # https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046193028 + ++ lib.optional (stdenv.hostPlatform.isDarwin) "--disable-lto"; + + postInstall = + '' + wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin" + '' + # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for + # why `--with-libunistring-prefix' and similar options coming from + # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64. + + '' + sed -i "$out/lib/pkgconfig/guile"-*.pc \ + -e "s|-lunistring|-L${libunistring}/lib -lunistring|g ; + s|-lltdl|-L${libtool.lib}/lib -lltdl|g ; + s|-lcrypt|-L${libxcrypt}/lib -lcrypt|g ; + s|^Cflags:\(.*\)$|Cflags: -I${libunistring.dev}/include \1|g ; + s|includedir=$out|includedir=$dev|g + " ''; # make check doesn't work on darwin diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix index 7babe42c9458f..bdc332731296f 100644 --- a/pkgs/development/interpreters/janet/default.nix +++ b/pkgs/development/interpreters/janet/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, nix-update-script -, runCommand +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + nix-update-script, + runCommand, }: stdenv.mkDerivation (finalAttrs: { @@ -18,16 +19,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-KwuBJY3SG5Ao/sFgjrp0pzEasdI7AAWrG49uHjVA1Rs="; }; - postPatch = '' - substituteInPlace janet.1 \ - --replace /usr/local/ $out/ - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # error: Socket is not connected - substituteInPlace meson.build \ - --replace "'test/suite-ev.janet'," "" - ''; + postPatch = + '' + substituteInPlace janet.1 \ + --replace /usr/local/ $out/ + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # error: Socket is not connected + substituteInPlace meson.build \ + --replace "'test/suite-ev.janet'," "" + ''; - nativeBuildInputs = [ meson ninja ]; + nativeBuildInputs = [ + meson + ninja + ]; mesonBuildType = "release"; mesonFlags = [ "-Dgit_hash=release" ]; @@ -41,18 +47,21 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - tests.run = runCommand "janet-test-run" { - nativeBuildInputs = [finalAttrs.finalPackage]; - } '' - echo "(+ 1 2 3)" | janet | tail -n 1 > arithmeticTest.txt; - diff -U3 --color=auto <(cat arithmeticTest.txt) <(echo "6"); + tests.run = + runCommand "janet-test-run" + { + nativeBuildInputs = [ finalAttrs.finalPackage ]; + } + '' + echo "(+ 1 2 3)" | janet | tail -n 1 > arithmeticTest.txt; + diff -U3 --color=auto <(cat arithmeticTest.txt) <(echo "6"); - echo "(print \"Hello, World!\")" | janet | tail -n 2 > ioTest.txt; - diff -U3 --color=auto <(cat ioTest.txt) <(echo -e "Hello, World!\nnil"); + echo "(print \"Hello, World!\")" | janet | tail -n 2 > ioTest.txt; + diff -U3 --color=auto <(cat ioTest.txt) <(echo -e "Hello, World!\nnil"); - touch $out; - ''; - updateScript = nix-update-script {}; + touch $out; + ''; + updateScript = nix-update-script { }; }; meta = with lib; { @@ -60,7 +69,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "janet"; homepage = "https://janet-lang.org/"; license = licenses.mit; - maintainers = with maintainers; [ andrewchambers peterhoeg ]; + maintainers = with maintainers; [ + andrewchambers + peterhoeg + ]; platforms = platforms.all; }; }) diff --git a/pkgs/development/interpreters/janet/jpm.nix b/pkgs/development/interpreters/janet/jpm.nix index 31ed1e2fc1ff5..2982822bb5087 100644 --- a/pkgs/development/interpreters/janet/jpm.nix +++ b/pkgs/development/interpreters/janet/jpm.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, janet }: +{ + lib, + stdenv, + fetchFromGitHub, + janet, +}: let platformFiles = { diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index 6a8aca8ddf122..4a3a28bbb356e 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, callPackage, fetchurl, gitUpdater, mkRubyVersion, makeBinaryWrapper, jre }: +{ + lib, + stdenv, + callPackage, + fetchurl, + gitUpdater, + mkRubyVersion, + makeBinaryWrapper, + jre, +}: let # The version number here is whatever is reported by the RUBY_VERSION string @@ -61,7 +70,11 @@ stdenv.mkDerivation (finalAttrs: { description = "Ruby interpreter written in Java"; homepage = "https://www.jruby.org/"; changelog = "https://github.com/jruby/jruby/releases/tag/${finalAttrs.version}"; - license = with licenses; [ cpl10 gpl2 lgpl21 ]; + license = with licenses; [ + cpl10 + gpl2 + lgpl21 + ]; platforms = jre.meta.platforms; maintainers = [ maintainers.fzakaria ]; sourceProvenance = with sourceTypes; [ binaryBytecode ]; diff --git a/pkgs/development/interpreters/kerf/default.nix b/pkgs/development/interpreters/kerf/default.nix index e11a683082eda..6fa17490d539f 100644 --- a/pkgs/development/interpreters/kerf/default.nix +++ b/pkgs/development/interpreters/kerf/default.nix @@ -1,8 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, libedit, zlib, ncurses, expect +{ + lib, + stdenv, + fetchFromGitHub, + libedit, + zlib, + ncurses, + expect, -# darwin only below -, Accelerate, CoreGraphics, CoreVideo + # darwin only below + Accelerate, + CoreGraphics, + CoreVideo, }: stdenv.mkDerivation rec { @@ -11,32 +19,49 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "kevinlawler"; - repo = "kerf1"; - rev = "4ec5b592b310b96d33654d20d6a511e6fffc0f9d"; - hash = "sha256-0sU2zOk5I69lQyrn1g0qsae7S/IBT6eA/911qp0GNkk="; + repo = "kerf1"; + rev = "4ec5b592b310b96d33654d20d6a511e6fffc0f9d"; + hash = "sha256-0sU2zOk5I69lQyrn1g0qsae7S/IBT6eA/911qp0GNkk="; }; sourceRoot = "${src.name}/src"; - buildInputs = [ libedit zlib ncurses ] - ++ lib.optionals stdenv.hostPlatform.isDarwin ([ - Accelerate - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 /* && isDarwin */ [ - CoreGraphics CoreVideo - ]); + buildInputs = + [ + libedit + zlib + ncurses + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + [ + Accelerate + ] + ++ + lib.optionals stdenv.hostPlatform.isx86_64 # && isDarwin + [ + CoreGraphics + CoreVideo + ] + ); nativeCheckInputs = [ expect ]; doCheck = true; - makeFlags = [ "kerf" "kerf_test" ]; + makeFlags = [ + "kerf" + "kerf_test" + ]; # avoid a huge amount of warnings to make failures clearer - env.NIX_CFLAGS_COMPILE = toString (map (x: "-Wno-${x}") [ - "void-pointer-to-int-cast" - "format" - "implicit-function-declaration" - "gnu-variable-sized-type-not-at-end" - "unused-result" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-fcommon" ]); + env.NIX_CFLAGS_COMPILE = toString ( + map (x: "-Wno-${x}") [ + "void-pointer-to-int-cast" + "format" + "implicit-function-declaration" + "gnu-variable-sized-type-not-at-end" + "unused-result" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-fcommon" ] + ); patchPhase = '' substituteInPlace ./Makefile \ diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix index 908417f7c7089..a8bf4bc2faaa8 100644 --- a/pkgs/development/interpreters/lfe/generic-builder.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -1,19 +1,39 @@ -{ lib, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3, buildHex }: - -{ baseName ? "lfe" -, version -, maximumOTPVersion -, sha256 ? "" -, hash ? "" -, rev ? version -, src ? fetchFromGitHub { inherit hash rev sha256; owner = "lfe"; repo = "lfe"; } -, patches ? [] +{ + lib, + fetchFromGitHub, + erlang, + makeWrapper, + coreutils, + bash, + buildRebar3, + buildHex, +}: + +{ + baseName ? "lfe", + version, + maximumOTPVersion, + sha256 ? "", + hash ? "", + rev ? version, + src ? fetchFromGitHub { + inherit hash rev sha256; + owner = "lfe"; + repo = "lfe"; + }, + patches ? [ ], }: let inherit (lib) - assertMsg makeBinPath optionalString - getVersion versionAtLeast versionOlder versions; + assertMsg + makeBinPath + optionalString + getVersion + versionAtLeast + versionOlder + versions + ; mainVersion = versions.major (getVersion erlang); @@ -21,7 +41,7 @@ let name = "proper"; version = "1.4.0"; - sha256 = "sha256-GChYQhhb0z772pfRNKXLWgiEOE2zYRn+4OPPpIhWjLs="; + sha256 = "sha256-GChYQhhb0z772pfRNKXLWgiEOE2zYRn+4OPPpIhWjLs="; }; in @@ -34,13 +54,23 @@ buildRebar3 { inherit src version; - nativeBuildInputs = [ makeWrapper erlang ]; - beamDeps = [ proper ]; - patches = [ ./fix-rebar-config.patch ./dedup-ebins.patch ] ++ patches; - doCheck = true; + nativeBuildInputs = [ + makeWrapper + erlang + ]; + beamDeps = [ proper ]; + patches = [ + ./fix-rebar-config.patch + ./dedup-ebins.patch + ] ++ patches; + doCheck = true; checkTarget = "travis"; - makeFlags = [ "-e" "MANDB=''" "PREFIX=$$out"]; + makeFlags = [ + "-e" + "MANDB=''" + "PREFIX=$$out" + ]; # These installPhase tricks are based on Elixir's Makefile. # TODO: Make, upload, and apply a patch. @@ -67,24 +97,30 @@ buildRebar3 { # Add some stuff to PATH so the scripts can run without problems. for f in $out/bin/*; do wrapProgram $f \ - --prefix PATH ":" "${makeBinPath [ erlang coreutils bash ]}:$out/bin" + --prefix PATH ":" "${ + makeBinPath [ + erlang + coreutils + bash + ] + }:$out/bin" substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env" done ''; meta = with lib; { - description = "Best of Erlang and of Lisp; at the same time!"; + description = "Best of Erlang and of Lisp; at the same time!"; longDescription = '' LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang compiler. Code produced with it is compatible with "normal" Erlang code. An LFE evaluator and shell is also included. ''; - homepage = "https://lfe.io"; + homepage = "https://lfe.io"; downloadPage = "https://github.com/rvirding/lfe/releases"; - license = licenses.asl20; - maintainers = teams.beam.members; - platforms = platforms.unix; + license = licenses.asl20; + maintainers = teams.beam.members; + platforms = platforms.unix; }; } diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix index 3443cb0c3cf56..2120ac516a3fa 100644 --- a/pkgs/development/interpreters/love/0.10.nix +++ b/pkgs/development/interpreters/love/0.10.nix @@ -1,7 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config -, SDL2, libGLU, libGL, openal, luajit -, libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg -, libtheora, which, autoconf, automake, libtool +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + SDL2, + libGLU, + libGL, + openal, + luajit, + libdevil, + freetype, + physfs, + libmodplug, + mpg123, + libvorbis, + libogg, + libtheora, + which, + autoconf, + automake, + libtool, }: stdenv.mkDerivation rec { @@ -15,10 +33,27 @@ stdenv.mkDerivation rec { sha256 = "19yfmlcx6w8yi4ndm5lni8lrsvnn77bxw5py0dc293nzzlaqa9ym"; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; buildInputs = [ - SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123 - libvorbis libogg libtheora which libtool + SDL2 + libGLU + libGL + openal + luajit + libdevil + freetype + physfs + libmodplug + mpg123 + libvorbis + libogg + libtheora + which + libtool ]; preConfigure = "$shell ./platform/unix/automagic"; diff --git a/pkgs/development/interpreters/love/11.nix b/pkgs/development/interpreters/love/11.nix index 0f98906a542b9..785db5e9939ca 100644 --- a/pkgs/development/interpreters/love/11.nix +++ b/pkgs/development/interpreters/love/11.nix @@ -1,7 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config -, SDL2, libGLU, libGL, openal, luajit -, libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg -, libtheora, which, autoconf, automake, libtool +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + SDL2, + libGLU, + libGL, + openal, + luajit, + libdevil, + freetype, + physfs, + libmodplug, + mpg123, + libvorbis, + libogg, + libtheora, + which, + autoconf, + automake, + libtool, }: stdenv.mkDerivation rec { @@ -15,10 +33,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-wZktNh4UB3QH2wAIIlnYUlNoXbjEDwUmPnT4vesZNm0="; }; - nativeBuildInputs = [ pkg-config autoconf automake ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + ]; buildInputs = [ - SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123 - libvorbis libogg libtheora which libtool + SDL2 + libGLU + libGL + openal + luajit + libdevil + freetype + physfs + libmodplug + mpg123 + libvorbis + libogg + libtheora + which + libtool ]; preConfigure = "$shell ./platform/unix/automagic"; diff --git a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix index 263cd11dd5726..71ad7bbb0989d 100644 --- a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix +++ b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix @@ -1,69 +1,71 @@ # Generic builder for lua packages -{ lib -, lua -, wrapLua -, luarocks_bootstrap -, writeTextFile - -# Whether the derivation provides a lua module or not. -, luarocksCheckHook -, luaLib +{ + lib, + lua, + wrapLua, + luarocks_bootstrap, + writeTextFile, + + # Whether the derivation provides a lua module or not. + luarocksCheckHook, + luaLib, }: -{ pname -, version -# we need rockspecVersion to find the .rockspec even when version changes -, rockspecVersion ? version +{ + pname, + version, + # we need rockspecVersion to find the .rockspec even when version changes + rockspecVersion ? version, -# by default prefix `name` e.g. "lua5.2-${name}" -, namePrefix ? "${lua.pname}${lib.versions.majorMinor lua.version}-" + # by default prefix `name` e.g. "lua5.2-${name}" + namePrefix ? "${lua.pname}${lib.versions.majorMinor lua.version}-", -# Dependencies for building the package -, buildInputs ? [] + # Dependencies for building the package + buildInputs ? [ ], -# Dependencies needed for running the checkPhase. -# These are added to nativeBuildInputs when doCheck = true. -, nativeCheckInputs ? [] + # Dependencies needed for running the checkPhase. + # These are added to nativeBuildInputs when doCheck = true. + nativeCheckInputs ? [ ], -# propagate build dependencies so in case we have A -> B -> C, -# C can import package A propagated by B -, propagatedBuildInputs ? [] + # propagate build dependencies so in case we have A -> B -> C, + # C can import package A propagated by B + propagatedBuildInputs ? [ ], -# used to disable derivation, useful for specific lua versions -# TODO move from this setting meta.broken to a 'disabled' attribute on the -# package, then use that to skip/include in each lua${ver}Packages set? -, disabled ? false + # used to disable derivation, useful for specific lua versions + # TODO move from this setting meta.broken to a 'disabled' attribute on the + # package, then use that to skip/include in each lua${ver}Packages set? + disabled ? false, -# Additional arguments to pass to the makeWrapper function, which wraps -# generated binaries. -, makeWrapperArgs ? [] + # Additional arguments to pass to the makeWrapper function, which wraps + # generated binaries. + makeWrapperArgs ? [ ], -# Skip wrapping of lua programs altogether -, dontWrapLuaPrograms ? false -, doCheck ? false -# Non-Lua / system (e.g. C library) dependencies. Is a list of deps, where -# each dep is either a derivation, or an attribute set like -# { name = "rockspec external_dependencies key"; dep = derivation; } -# The latter is used to work-around luarocks having a problem with -# multiple-output derivations as external deps: -# https://github.com/luarocks/luarocks/issues/766 -, externalDeps ? [] + # Skip wrapping of lua programs altogether + dontWrapLuaPrograms ? false, + doCheck ? false, + # Non-Lua / system (e.g. C library) dependencies. Is a list of deps, where + # each dep is either a derivation, or an attribute set like + # { name = "rockspec external_dependencies key"; dep = derivation; } + # The latter is used to work-around luarocks having a problem with + # multiple-output derivations as external deps: + # https://github.com/luarocks/luarocks/issues/766 + externalDeps ? [ ], -# Appended to the generated luarocks config -, extraConfig ? "" + # Appended to the generated luarocks config + extraConfig ? "", -# transparent mapping nix <-> lua used as LUAROCKS_CONFIG -# Refer to https://github.com/luarocks/luarocks/wiki/Config-file-format for specs -, luarocksConfig ? {} + # transparent mapping nix <-> lua used as LUAROCKS_CONFIG + # Refer to https://github.com/luarocks/luarocks/wiki/Config-file-format for specs + luarocksConfig ? { }, -# relative to srcRoot, path to the rockspec to use when using rocks -, rockspecFilename ? null + # relative to srcRoot, path to the rockspec to use when using rocks + rockspecFilename ? null, -# must be set for packages that don't have a rock -, knownRockspec ? null - -, ... } @ attrs: + # must be set for packages that don't have a rock + knownRockspec ? null, + ... +}@attrs: # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. @@ -76,160 +78,181 @@ let # configured trees) luarocks_config = "luarocks-config.lua"; - luarocksDrv = luaLib.toLuaModule ( lua.stdenv.mkDerivation (self: attrs // { - - name = namePrefix + self.pname + "-" + self.version; - inherit rockspecVersion; - - __structuredAttrs = true; - env = { - LUAROCKS_CONFIG = self.configFile; - } // attrs.env or {}; - - generatedRockspecFilename = "./${self.pname}-${self.rockspecVersion}.rockspec"; - - nativeBuildInputs = [ - lua # for lua.h - wrapLua - luarocks_bootstrap - ]; - - inherit doCheck extraConfig rockspecFilename knownRockspec externalDeps nativeCheckInputs; - - buildInputs = let - # example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ] - externalDeps' = lib.filter (dep: !lib.isDerivation dep) self.externalDeps; - in [ luarocks_bootstrap ] - ++ buildInputs - ++ lib.optionals self.doCheck ([ luarocksCheckHook ] ++ self.nativeCheckInputs) - ++ (map (d: d.dep) externalDeps') - ; - - # propagate lua to active setup-hook in nix-shell - propagatedBuildInputs = propagatedBuildInputs ++ [ lua ]; - - # @-patterns do not capture formal argument default values, so we need to - # explicitly inherit this for it to be available as a shell variable in the - # builder - rocksSubdir = "${self.pname}-${self.version}-rocks"; - - configFile = writeTextFile { - name = self.pname + "-luarocks-config.lua"; - text = self.luarocks_content; - }; - - luarocks_content = - (lib.generators.toLua { asBindings = true; } self.luarocksConfig) + - '' - - ${self.extraConfig} - ''; - - # TODO make it the default variable - luarocksConfig = let - externalDepsGenerated = lib.filter (drv: !drv ? luaModule) - (self.nativeBuildInputs ++ self.propagatedBuildInputs ++ self.buildInputs); - - generatedConfig = luaLib.generateLuarocksConfig { - externalDeps = lib.unique (self.externalDeps ++ externalDepsGenerated); - local_cache = ""; - - # To prevent collisions when creating environments, we install the rock - # files into per-package subdirectories - rocks_subdir = self.rocksSubdir; - - # Filter out the lua derivation itself from the Lua module dependency - # closure, as it doesn't have a rock tree :) - # luaLib.hasLuaModule - requiredLuaRocks = lib.filter luaLib.hasLuaModule - (lua.pkgs.requiredLuaModules (self.nativeBuildInputs ++ self.propagatedBuildInputs)); - }; - - luarocksConfig' = lib.recursiveUpdate luarocksConfig - (lib.optionalAttrs (attrs ? extraVariables) (lib.warn "extraVariables in buildLuarocksPackage is deprecated, use luarocksConfig instead" - { - variables = attrs.extraVariables; - })) - ; - in lib.recursiveUpdate generatedConfig luarocksConfig'; - - - configurePhase = '' - runHook preConfigure - '' - + lib.optionalString (self.rockspecFilename == null) '' - rockspecFilename="${self.generatedRockspecFilename}" - '' - + lib.optionalString (self.knownRockspec != null) '' - # prevents the following type of error: - # Inconsistency between rockspec filename (42fm1b3d7iv6fcbhgm9674as3jh6y2sh-luv-1.22.0-1.rockspec) and its contents (luv-1.22.0-1.rockspec) - rockspecFilename="$TMP/$(stripHash ${self.knownRockspec})" - cp ${self.knownRockspec} "$rockspecFilename" - '' - + '' - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - source ${lua}/nix-support/utils.sh - nix_debug "Using LUAROCKS_CONFIG=$LUAROCKS_CONFIG" - - LUAROCKS_EXTRA_ARGS="" - if (( ''${NIX_DEBUG:-0} >= 1 )); then - LUAROCKS_EXTRA_ARGS=" --verbose" - fi - - runHook postBuild - ''; - - postFixup = lib.optionalString (!dontWrapLuaPrograms) '' - wrapLuaPrograms - '' + attrs.postFixup or ""; - - installPhase = '' - runHook preInstall - - # work around failing luarocks test for Write access - mkdir -p $out - - # luarocks make assumes sources are available in cwd - # After the build is complete, it also installs the rock. - # If no argument is given, it looks for a rockspec in the current directory - # but some packages have several rockspecs in their source directory so - # we force the use of the upper level since it is - # the sole rockspec in that folder - # maybe we could reestablish dependency checking via passing --rock-trees - - nix_debug "ROCKSPEC $rockspecFilename" - luarocks $LUAROCKS_EXTRA_ARGS make --deps-mode=all --tree=$out ''${rockspecFilename} - - runHook postInstall - ''; - - checkPhase = '' - runHook preCheck - luarocks test - runHook postCheck - ''; - - shellHook = '' - runHook preShell - export LUAROCKS_CONFIG="$PWD/${luarocks_config}"; - runHook postShell - ''; - - passthru = { - inherit lua; - } // attrs.passthru or { }; - - meta = { - platforms = lua.meta.platforms; - # add extra maintainer(s) to every package - maintainers = (attrs.meta.maintainers or []) ++ [ ]; - broken = disabled; - } // attrs.meta or {}; -})); + luarocksDrv = luaLib.toLuaModule ( + lua.stdenv.mkDerivation ( + self: + attrs + // { + + name = namePrefix + self.pname + "-" + self.version; + inherit rockspecVersion; + + __structuredAttrs = true; + env = { + LUAROCKS_CONFIG = self.configFile; + } // attrs.env or { }; + + generatedRockspecFilename = "./${self.pname}-${self.rockspecVersion}.rockspec"; + + nativeBuildInputs = [ + lua # for lua.h + wrapLua + luarocks_bootstrap + ]; + + inherit + doCheck + extraConfig + rockspecFilename + knownRockspec + externalDeps + nativeCheckInputs + ; + + buildInputs = + let + # example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ] + externalDeps' = lib.filter (dep: !lib.isDerivation dep) self.externalDeps; + in + [ luarocks_bootstrap ] + ++ buildInputs + ++ lib.optionals self.doCheck ([ luarocksCheckHook ] ++ self.nativeCheckInputs) + ++ (map (d: d.dep) externalDeps'); + + # propagate lua to active setup-hook in nix-shell + propagatedBuildInputs = propagatedBuildInputs ++ [ lua ]; + + # @-patterns do not capture formal argument default values, so we need to + # explicitly inherit this for it to be available as a shell variable in the + # builder + rocksSubdir = "${self.pname}-${self.version}-rocks"; + + configFile = writeTextFile { + name = self.pname + "-luarocks-config.lua"; + text = self.luarocks_content; + }; + + luarocks_content = + (lib.generators.toLua { asBindings = true; } self.luarocksConfig) + + '' + + ${self.extraConfig} + ''; + + # TODO make it the default variable + luarocksConfig = + let + externalDepsGenerated = lib.filter (drv: !drv ? luaModule) ( + self.nativeBuildInputs ++ self.propagatedBuildInputs ++ self.buildInputs + ); + + generatedConfig = luaLib.generateLuarocksConfig { + externalDeps = lib.unique (self.externalDeps ++ externalDepsGenerated); + local_cache = ""; + + # To prevent collisions when creating environments, we install the rock + # files into per-package subdirectories + rocks_subdir = self.rocksSubdir; + + # Filter out the lua derivation itself from the Lua module dependency + # closure, as it doesn't have a rock tree :) + # luaLib.hasLuaModule + requiredLuaRocks = lib.filter luaLib.hasLuaModule ( + lua.pkgs.requiredLuaModules (self.nativeBuildInputs ++ self.propagatedBuildInputs) + ); + }; + + luarocksConfig' = lib.recursiveUpdate luarocksConfig ( + lib.optionalAttrs (attrs ? extraVariables) ( + lib.warn "extraVariables in buildLuarocksPackage is deprecated, use luarocksConfig instead" { + variables = attrs.extraVariables; + } + ) + ); + in + lib.recursiveUpdate generatedConfig luarocksConfig'; + + configurePhase = + '' + runHook preConfigure + '' + + lib.optionalString (self.rockspecFilename == null) '' + rockspecFilename="${self.generatedRockspecFilename}" + '' + + lib.optionalString (self.knownRockspec != null) '' + # prevents the following type of error: + # Inconsistency between rockspec filename (42fm1b3d7iv6fcbhgm9674as3jh6y2sh-luv-1.22.0-1.rockspec) and its contents (luv-1.22.0-1.rockspec) + rockspecFilename="$TMP/$(stripHash ${self.knownRockspec})" + cp ${self.knownRockspec} "$rockspecFilename" + '' + + '' + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + source ${lua}/nix-support/utils.sh + nix_debug "Using LUAROCKS_CONFIG=$LUAROCKS_CONFIG" + + LUAROCKS_EXTRA_ARGS="" + if (( ''${NIX_DEBUG:-0} >= 1 )); then + LUAROCKS_EXTRA_ARGS=" --verbose" + fi + + runHook postBuild + ''; + + postFixup = + lib.optionalString (!dontWrapLuaPrograms) '' + wrapLuaPrograms + '' + + attrs.postFixup or ""; + + installPhase = '' + runHook preInstall + + # work around failing luarocks test for Write access + mkdir -p $out + + # luarocks make assumes sources are available in cwd + # After the build is complete, it also installs the rock. + # If no argument is given, it looks for a rockspec in the current directory + # but some packages have several rockspecs in their source directory so + # we force the use of the upper level since it is + # the sole rockspec in that folder + # maybe we could reestablish dependency checking via passing --rock-trees + + nix_debug "ROCKSPEC $rockspecFilename" + luarocks $LUAROCKS_EXTRA_ARGS make --deps-mode=all --tree=$out ''${rockspecFilename} + + runHook postInstall + ''; + + checkPhase = '' + runHook preCheck + luarocks test + runHook postCheck + ''; + + shellHook = '' + runHook preShell + export LUAROCKS_CONFIG="$PWD/${luarocks_config}"; + runHook postShell + ''; + + passthru = { + inherit lua; + } // attrs.passthru or { }; + + meta = { + platforms = lua.meta.platforms; + # add extra maintainer(s) to every package + maintainers = (attrs.meta.maintainers or [ ]) ++ [ ]; + broken = disabled; + } // attrs.meta or { }; + } + ) + ); in - luarocksDrv +luarocksDrv diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index 30ce00d44e61a..8e6b68f27a60f 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -1,80 +1,119 @@ # similar to interpreters/python/default.nix -{ stdenv, config, lib, callPackage, fetchFromGitHub, fetchurl, makeBinaryWrapper }: - +{ + stdenv, + config, + lib, + callPackage, + fetchFromGitHub, + fetchurl, + makeBinaryWrapper, +}: let # Common passthru for all lua interpreters. # copied from python passthruFun = - { executable - , luaversion - , packageOverrides - , luaOnBuildForBuild - , luaOnBuildForHost - , luaOnBuildForTarget - , luaOnHostForHost - , luaOnTargetForTarget - , luaAttr ? null - , self # is luaOnHostForTarget - }: let - luaPackages = callPackage - # Function that when called - # - imports lua-packages.nix - # - adds spliced package sets to the package set - # - applies overrides from `packageOverrides` - ({ lua, overrides, callPackage, makeScopeWithSplicing' }: let - luaPackagesFun = callPackage ../../../top-level/lua-packages.nix { + { + executable, + luaversion, + packageOverrides, + luaOnBuildForBuild, + luaOnBuildForHost, + luaOnBuildForTarget, + luaOnHostForHost, + luaOnTargetForTarget, + luaAttr ? null, + self, # is luaOnHostForTarget + }: + let + luaPackages = + callPackage + # Function that when called + # - imports lua-packages.nix + # - adds spliced package sets to the package set + # - applies overrides from `packageOverrides` + ( + { + lua, + overrides, + callPackage, + makeScopeWithSplicing', + }: + let + luaPackagesFun = callPackage ../../../top-level/lua-packages.nix { + lua = self; + }; + generatedPackages = + if (builtins.pathExists ../../lua-modules/generated-packages.nix) then + ( + final: prev: + callPackage ../../lua-modules/generated-packages.nix { inherit (final) callPackage; } final prev + ) + else + (final: prev: { }); + overriddenPackages = callPackage ../../lua-modules/overrides.nix { }; + + otherSplices = { + selfBuildBuild = luaOnBuildForBuild.pkgs; + selfBuildHost = luaOnBuildForHost.pkgs; + selfBuildTarget = luaOnBuildForTarget.pkgs; + selfHostHost = luaOnHostForHost.pkgs; + selfTargetTarget = luaOnTargetForTarget.pkgs or { }; + }; + + aliases = + final: prev: + lib.optionalAttrs config.allowAliases (import ../../lua-modules/aliases.nix lib final prev); + + extensions = lib.composeManyExtensions [ + aliases + generatedPackages + overriddenPackages + overrides + ]; + in + makeScopeWithSplicing' { + inherit otherSplices; + f = lib.extends extensions luaPackagesFun; + } + ) + { + overrides = packageOverrides; lua = self; }; - generatedPackages = if (builtins.pathExists ../../lua-modules/generated-packages.nix) then - (final: prev: callPackage ../../lua-modules/generated-packages.nix { inherit (final) callPackage; } final prev) - else (final: prev: {}); - overriddenPackages = callPackage ../../lua-modules/overrides.nix { }; - - otherSplices = { - selfBuildBuild = luaOnBuildForBuild.pkgs; - selfBuildHost = luaOnBuildForHost.pkgs; - selfBuildTarget = luaOnBuildForTarget.pkgs; - selfHostHost = luaOnHostForHost.pkgs; - selfTargetTarget = luaOnTargetForTarget.pkgs or {}; + in + rec { + buildEnv = callPackage ./wrapper.nix { + lua = self; + makeWrapper = makeBinaryWrapper; + inherit (luaPackages) requiredLuaModules; + }; + withPackages = import ./with-packages.nix { inherit buildEnv luaPackages; }; + pkgs = + let + lp = luaPackages; + in + lp + // { + luaPackages = lp.luaPackages // { + __attrsFailEvaluation = true; }; - - aliases = final: prev: - lib.optionalAttrs config.allowAliases - (import ../../lua-modules/aliases.nix lib final prev); - - extensions = lib.composeManyExtensions [ - aliases - generatedPackages - overriddenPackages - overrides - ]; - in makeScopeWithSplicing' { - inherit otherSplices; - f = lib.extends extensions luaPackagesFun; - }) - { - overrides = packageOverrides; - lua = self; - }; - in rec { - buildEnv = callPackage ./wrapper.nix { - lua = self; - makeWrapper = makeBinaryWrapper; - inherit (luaPackages) requiredLuaModules; }; - withPackages = import ./with-packages.nix { inherit buildEnv luaPackages;}; - pkgs = let lp = luaPackages; - in lp // { luaPackages = lp.luaPackages // { __attrsFailEvaluation = true; }; }; - interpreter = "${self}/bin/${executable}"; - inherit executable luaversion; - luaOnBuild = luaOnBuildForHost.override { inherit packageOverrides; self = luaOnBuild; }; + interpreter = "${self}/bin/${executable}"; + inherit executable luaversion; + luaOnBuild = luaOnBuildForHost.override { + inherit packageOverrides; + self = luaOnBuild; + }; - tests = callPackage ./tests { lua = self; inherit (luaPackages) wrapLua; }; + tests = callPackage ./tests { + lua = self; + inherit (luaPackages) wrapLua; + }; - inherit luaAttr; - }; + inherit luaAttr; + }; in @@ -89,7 +128,7 @@ rec { patches = lib.optional stdenv.hostPlatform.isDarwin ./5.4.darwin.patch; }; - lua5_4_compat = lua5_4.override({ + lua5_4_compat = lua5_4.override ({ self = lua5_4_compat; compat = true; }); @@ -101,16 +140,14 @@ rec { makeWrapper = makeBinaryWrapper; inherit passthruFun; - patches = - lib.optionals stdenv.hostPlatform.isDarwin [ ./5.2.darwin.patch ]; + patches = lib.optionals stdenv.hostPlatform.isDarwin [ ./5.2.darwin.patch ]; }; - lua5_3_compat = lua5_3.override({ + lua5_3_compat = lua5_3.override ({ self = lua5_3_compat; compat = true; }); - lua5_2 = callPackage ./interpreter.nix { self = lua5_2; version = "5.2.4"; @@ -122,25 +159,30 @@ rec { ] ++ lib.optional stdenv.hostPlatform.isDarwin ./5.2.darwin.patch; }; - lua5_2_compat = lua5_2.override({ + lua5_2_compat = lua5_2.override ({ self = lua5_2_compat; compat = true; }); - lua5_1 = callPackage ./interpreter.nix { self = lua5_1; version = "5.1.5"; hash = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333"; makeWrapper = makeBinaryWrapper; inherit passthruFun; - patches = (lib.optional stdenv.hostPlatform.isDarwin ./5.1.darwin.patch) - ++ [ ./CVE-2014-5461.patch ]; + patches = (lib.optional stdenv.hostPlatform.isDarwin ./5.1.darwin.patch) ++ [ + ./CVE-2014-5461.patch + ]; }; luajit_2_0 = import ../luajit/2.0.nix { self = luajit_2_0; - inherit callPackage fetchFromGitHub lib passthruFun; + inherit + callPackage + fetchFromGitHub + lib + passthruFun + ; }; luajit_2_1 = import ../luajit/2.1.nix { diff --git a/pkgs/development/interpreters/lua-5/hooks/default.nix b/pkgs/development/interpreters/lua-5/hooks/default.nix index 5f935626fec45..cdc44e344d628 100644 --- a/pkgs/development/interpreters/lua-5/hooks/default.nix +++ b/pkgs/development/interpreters/lua-5/hooks/default.nix @@ -1,25 +1,31 @@ # Hooks for building lua packages. -{ lua -, lib -, makeSetupHook -, runCommand +{ + lua, + lib, + makeSetupHook, + runCommand, }: let callPackage = lua.pkgs.callPackage; -in { +in +{ - luarocksCheckHook = callPackage ({ luarocks }: + luarocksCheckHook = callPackage ( + { luarocks }: makeSetupHook { name = "luarocks-check-hook"; propagatedBuildInputs = [ luarocks ]; - } ./luarocks-check-hook.sh) {}; + } ./luarocks-check-hook.sh + ) { }; # luarocks installs data in a non-overridable location. Until a proper luarocks patch, # we move the files around ourselves - luarocksMoveDataFolder = callPackage ({ }: + luarocksMoveDataFolder = callPackage ( + { }: makeSetupHook { name = "luarocks-move-rock"; propagatedBuildInputs = [ ]; - } ./luarocks-move-data.sh) {}; + } ./luarocks-move-data.sh + ) { }; } diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix index 082fa879e2f7d..54435308d1c18 100644 --- a/pkgs/development/interpreters/lua-5/interpreter.nix +++ b/pkgs/development/interpreters/lua-5/interpreter.nix @@ -1,176 +1,233 @@ -{ lib, stdenv, fetchurl, readline -, compat ? false -, makeWrapper -, self -, packageOverrides ? (final: prev: {}) -, substituteAll -, pkgsBuildBuild -, pkgsBuildHost -, pkgsBuildTarget -, pkgsHostHost -, pkgsTargetTarget -, version -, hash -, passthruFun -, patches ? [] -, postConfigure ? null -, postBuild ? null -, staticOnly ? stdenv.hostPlatform.isStatic -, luaAttr ? "lua${lib.versions.major version}_${lib.versions.minor version}" -} @ inputs: - -stdenv.mkDerivation (finalAttrs: +{ + lib, + stdenv, + fetchurl, + readline, + compat ? false, + makeWrapper, + self, + packageOverrides ? (final: prev: { }), + substituteAll, + pkgsBuildBuild, + pkgsBuildHost, + pkgsBuildTarget, + pkgsHostHost, + pkgsTargetTarget, + version, + hash, + passthruFun, + patches ? [ ], + postConfigure ? null, + postBuild ? null, + staticOnly ? stdenv.hostPlatform.isStatic, + luaAttr ? "lua${lib.versions.major version}_${lib.versions.minor version}", +}@inputs: + +stdenv.mkDerivation ( + finalAttrs: let luaPackages = self.pkgs; luaversion = lib.versions.majorMinor finalAttrs.version; - plat = if (stdenv.hostPlatform.isLinux && lib.versionOlder self.luaversion "5.4") then "linux" - else if (stdenv.hostPlatform.isLinux && lib.versionAtLeast self.luaversion "5.4") then "linux-readline" - else if stdenv.hostPlatform.isDarwin then "macosx" - else if stdenv.hostPlatform.isMinGW then "mingw" - else if stdenv.hostPlatform.isFreeBSD then "freebsd" - else if stdenv.hostPlatform.isSunOS then "solaris" - else if stdenv.hostPlatform.isBSD then "bsd" - else if stdenv.hostPlatform.isUnix then "posix" - else "generic"; - - compatFlags = if (lib.versionOlder self.luaversion "5.3") then " -DLUA_COMPAT_ALL" - else if (lib.versionOlder self.luaversion "5.4") then " -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2" - else " -DLUA_COMPAT_5_3"; + plat = + if (stdenv.hostPlatform.isLinux && lib.versionOlder self.luaversion "5.4") then + "linux" + else if (stdenv.hostPlatform.isLinux && lib.versionAtLeast self.luaversion "5.4") then + "linux-readline" + else if stdenv.hostPlatform.isDarwin then + "macosx" + else if stdenv.hostPlatform.isMinGW then + "mingw" + else if stdenv.hostPlatform.isFreeBSD then + "freebsd" + else if stdenv.hostPlatform.isSunOS then + "solaris" + else if stdenv.hostPlatform.isBSD then + "bsd" + else if stdenv.hostPlatform.isUnix then + "posix" + else + "generic"; + + compatFlags = + if (lib.versionOlder self.luaversion "5.3") then + " -DLUA_COMPAT_ALL" + else if (lib.versionOlder self.luaversion "5.4") then + " -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2" + else + " -DLUA_COMPAT_5_3"; in { - pname = "lua"; - inherit version; - outputs = [ "out" "doc" ]; - - src = fetchurl { - url = "https://www.lua.org/ftp/lua-${finalAttrs.version}.tar.gz"; - sha256 = hash; - }; - - LuaPathSearchPaths = luaPackages.luaLib.luaPathList; - LuaCPathSearchPaths = luaPackages.luaLib.luaCPathList; - setupHook = builtins.toFile "lua-setup-hook" '' + pname = "lua"; + inherit version; + outputs = [ + "out" + "doc" + ]; + + src = fetchurl { + url = "https://www.lua.org/ftp/lua-${finalAttrs.version}.tar.gz"; + sha256 = hash; + }; + + LuaPathSearchPaths = luaPackages.luaLib.luaPathList; + LuaCPathSearchPaths = luaPackages.luaLib.luaCPathList; + setupHook = builtins.toFile "lua-setup-hook" '' source @out@/nix-support/utils.sh addEnvHooks "$hostOffset" luaEnvHook + ''; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ readline ]; + + inherit patches; + + postPatch = + '' + sed -i "s@#define LUA_ROOT[[:space:]]*\"/usr/local/\"@#define LUA_ROOT \"$out/\"@g" src/luaconf.h + + # abort if patching didn't work + grep $out src/luaconf.h + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin && !staticOnly) '' + # Add a target for a shared library to the Makefile. + sed -e '1s/^/LUA_SO = liblua.so/' \ + -e 's/ALL_T *= */&$(LUA_SO) /' \ + -i src/Makefile + cat ${./lua-dso.make} >> src/Makefile ''; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ readline ]; - - inherit patches; - - postPatch = '' - sed -i "s@#define LUA_ROOT[[:space:]]*\"/usr/local/\"@#define LUA_ROOT \"$out/\"@g" src/luaconf.h - - # abort if patching didn't work - grep $out src/luaconf.h - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin && !staticOnly) '' - # Add a target for a shared library to the Makefile. - sed -e '1s/^/LUA_SO = liblua.so/' \ - -e 's/ALL_T *= */&$(LUA_SO) /' \ - -i src/Makefile - cat ${./lua-dso.make} >> src/Makefile - '' ; - - # see configurePhase for additional flags (with space) - makeFlags = [ - "INSTALL_TOP=${placeholder "out"}" - "INSTALL_MAN=${placeholder "out"}/share/man/man1" - "R=${version}" - "LDFLAGS=-fPIC" - "V=${luaversion}" - "PLAT=${plat}" - "CC=${stdenv.cc.targetPrefix}cc" - "RANLIB=${stdenv.cc.targetPrefix}ranlib" - # Lua links with readline wich depends on ncurses. For some reason when - # building pkgsStatic.lua it fails because symbols from ncurses are not - # found. Adding ncurses here fixes the problem. - "MYLIBS=-lncurses" - ]; - - configurePhase = '' - runHook preConfigure - - makeFlagsArray+=(CFLAGS='-O2 -fPIC${lib.optionalString compat compatFlags} $(${ - if lib.versionAtLeast luaversion "5.2" then "SYSCFLAGS" else "MYCFLAGS"})' ) - makeFlagsArray+=(${lib.optionalString stdenv.hostPlatform.isDarwin "CC=\"$CC\""}${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.cc.targetPrefix}ar rcu'"}) - - installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \ - TO_LIB="${if stdenv.hostPlatform.isDarwin then "liblua.${finalAttrs.version}.dylib" - else ("liblua.a" + lib.optionalString (!staticOnly) " liblua.so liblua.so.${luaversion} liblua.so.${finalAttrs.version}" )}" ) - - runHook postConfigure - ''; - inherit postConfigure; - - inherit postBuild; - - postInstall = '' - mkdir -p "$out/nix-support" "$out/share/doc/lua" "$out/lib/pkgconfig" - cp ${substituteAll { - src = ./utils.sh; - luapathsearchpaths=lib.escapeShellArgs finalAttrs.LuaPathSearchPaths; - luacpathsearchpaths=lib.escapeShellArgs finalAttrs.LuaCPathSearchPaths; - }} $out/nix-support/utils.sh - mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/" - rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua - mkdir -p "$out/lib/pkgconfig" - - cat >"$out/lib/pkgconfig/lua.pc" <"$out/lib/pkgconfig/lua.pc" < require('http.request') # stdin:1: module 'http.request' not found: - checkSetupHook = pkgs.runCommandLocal "test-${lua.name}-setup-hook" ({ - nativeBuildInputs = [lua]; - buildInputs = [ lua.pkgs.http ]; - meta.platforms = lua.meta.platforms; - }) ('' - ${lua}/bin/lua -e "require'http.request'" - touch $out - ''); - - checkRelativeImports = pkgs.runCommandLocal "test-${lua.name}-relative-imports" ({ - }) ('' - source ${./assert.sh} - - lua_vanilla_package_path="$(${lua}/bin/lua -e "print(package.path)")" - lua_with_module_package_path="$(${luaWithModule}/bin/lua -e "print(package.path)")" - - assertStringContains "$lua_vanilla_package_path" "./?.lua" - assertStringContains "$lua_vanilla_package_path" "./?/init.lua" - - assertStringContains "$lua_with_module_package_path" "./?.lua" - assertStringContains "$lua_with_module_package_path" "./?/init.lua" - - touch $out - ''); - - - /* - Check that a lua package's propagatedBuildInputs end up in LUA_PATH - */ - checkPropagatedBuildInputs = pkgs.runCommandLocal "test-${lua.name}-setup-hook" ({ - # lua-curl is a propagatedBuildInput of rest-nvim has - buildInputs = [ lua.pkgs.rest-nvim ]; - }) ('' - ${lua}/bin/lua -e "require'cURL'" - touch $out - ''); + checkSetupHook = + pkgs.runCommandLocal "test-${lua.name}-setup-hook" + ({ + nativeBuildInputs = [ lua ]; + buildInputs = [ lua.pkgs.http ]; + meta.platforms = lua.meta.platforms; + }) + ('' + ${lua}/bin/lua -e "require'http.request'" + touch $out + ''); + + checkRelativeImports = + pkgs.runCommandLocal "test-${lua.name}-relative-imports" + ({ + }) + ('' + source ${./assert.sh} + + lua_vanilla_package_path="$(${lua}/bin/lua -e "print(package.path)")" + lua_with_module_package_path="$(${luaWithModule}/bin/lua -e "print(package.path)")" + + assertStringContains "$lua_vanilla_package_path" "./?.lua" + assertStringContains "$lua_vanilla_package_path" "./?/init.lua" + + assertStringContains "$lua_with_module_package_path" "./?.lua" + assertStringContains "$lua_with_module_package_path" "./?/init.lua" + + touch $out + ''); + + # Check that a lua package's propagatedBuildInputs end up in LUA_PATH + checkPropagatedBuildInputs = + pkgs.runCommandLocal "test-${lua.name}-setup-hook" + ({ + # lua-curl is a propagatedBuildInput of rest-nvim has + buildInputs = [ lua.pkgs.rest-nvim ]; + }) + ('' + ${lua}/bin/lua -e "require'cURL'" + touch $out + ''); }) diff --git a/pkgs/development/interpreters/lua-5/with-packages.nix b/pkgs/development/interpreters/lua-5/with-packages.nix index 0e0fbd3973583..79633b3559bf5 100644 --- a/pkgs/development/interpreters/lua-5/with-packages.nix +++ b/pkgs/development/interpreters/lua-5/with-packages.nix @@ -1,4 +1,8 @@ { buildEnv, luaPackages }: # this is a function that returns a function that returns an environment -f: let packages = f luaPackages; in buildEnv.override { extraLibs = packages; } +f: +let + packages = f luaPackages; +in +buildEnv.override { extraLibs = packages; } diff --git a/pkgs/development/interpreters/lua-5/wrap-lua.nix b/pkgs/development/interpreters/lua-5/wrap-lua.nix index 1b9409ff948e7..1f074b04425dc 100644 --- a/pkgs/development/interpreters/lua-5/wrap-lua.nix +++ b/pkgs/development/interpreters/lua-5/wrap-lua.nix @@ -1,6 +1,7 @@ -{ lua -, makeSetupHook -, makeWrapper +{ + lua, + makeSetupHook, + makeWrapper, }: # defined in trivial-builders diff --git a/pkgs/development/interpreters/lua-5/wrapper.nix b/pkgs/development/interpreters/lua-5/wrapper.nix index 6eb94b60360bb..02e4a4e640556 100644 --- a/pkgs/development/interpreters/lua-5/wrapper.nix +++ b/pkgs/development/interpreters/lua-5/wrapper.nix @@ -1,78 +1,88 @@ -{ lib, stdenv, lua, buildEnv, makeWrapper -, extraLibs ? [] -, extraOutputsToInstall ? [] -, postBuild ? "" -, ignoreCollisions ? false -, requiredLuaModules -, makeWrapperArgs ? [] +{ + lib, + stdenv, + lua, + buildEnv, + makeWrapper, + extraLibs ? [ ], + extraOutputsToInstall ? [ ], + postBuild ? "", + ignoreCollisions ? false, + requiredLuaModules, + makeWrapperArgs ? [ ], }: # Create a lua executable that knows about additional packages. let - env = let - paths = [ lua ] ++ requiredLuaModules extraLibs; - in buildEnv { - name = "${lua.name}-env"; + env = + let + paths = [ lua ] ++ requiredLuaModules extraLibs; + in + buildEnv { + name = "${lua.name}-env"; - inherit paths; - inherit ignoreCollisions; - extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall; + inherit paths; + inherit ignoreCollisions; + extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall; - nativeBuildInputs = [ - makeWrapper - ]; + nativeBuildInputs = [ + makeWrapper + ]; - # we create wrapper for the binaries in the different packages - postBuild = '' - source ${lua}/nix-support/utils.sh - if [ -L "$out/bin" ]; then - unlink "$out/bin" - fi - mkdir -p "$out/bin" + # we create wrapper for the binaries in the different packages + postBuild = + '' + source ${lua}/nix-support/utils.sh + if [ -L "$out/bin" ]; then + unlink "$out/bin" + fi + mkdir -p "$out/bin" - buildLuaPath "$out" + buildLuaPath "$out" - # take every binary from lua packages and put them into the env - for path in ${lib.concatStringsSep " " paths}; do - nix_debug "looking for binaries in path = $path" - if [ -d "$path/bin" ]; then - cd "$path/bin" - for prg in *; do - if [ -f "$prg" ]; then - rm -f "$out/bin/$prg" - if [ -x "$prg" ]; then - nix_debug "Making wrapper $prg" - makeWrapper "$path/bin/$prg" "$out/bin/$prg" \ - --set-default LUA_PATH ";;" \ - --suffix LUA_PATH ';' "$LUA_PATH" \ - --set-default LUA_CPATH ";;" \ - --suffix LUA_CPATH ';' "$LUA_CPATH" \ - ${lib.concatStringsSep " " makeWrapperArgs} - fi + # take every binary from lua packages and put them into the env + for path in ${lib.concatStringsSep " " paths}; do + nix_debug "looking for binaries in path = $path" + if [ -d "$path/bin" ]; then + cd "$path/bin" + for prg in *; do + if [ -f "$prg" ]; then + rm -f "$out/bin/$prg" + if [ -x "$prg" ]; then + nix_debug "Making wrapper $prg" + makeWrapper "$path/bin/$prg" "$out/bin/$prg" \ + --set-default LUA_PATH ";;" \ + --suffix LUA_PATH ';' "$LUA_PATH" \ + --set-default LUA_CPATH ";;" \ + --suffix LUA_CPATH ';' "$LUA_CPATH" \ + ${lib.concatStringsSep " " makeWrapperArgs} + fi + fi + done fi done - fi - done - '' + postBuild; + '' + + postBuild; - inherit (lua) meta; + inherit (lua) meta; - passthru = lua.passthru // { - interpreter = "${env}/bin/lua"; - inherit lua; - luaPath = lua.pkgs.luaLib.genLuaPathAbsStr env; - luaCpath = lua.pkgs.luaLib.genLuaCPathAbsStr env; - env = stdenv.mkDerivation { - name = "interactive-${lua.name}-environment"; - nativeBuildInputs = [ env ]; + passthru = lua.passthru // { + interpreter = "${env}/bin/lua"; + inherit lua; + luaPath = lua.pkgs.luaLib.genLuaPathAbsStr env; + luaCpath = lua.pkgs.luaLib.genLuaCPathAbsStr env; + env = stdenv.mkDerivation { + name = "interactive-${lua.name}-environment"; + nativeBuildInputs = [ env ]; - buildCommand = '' - echo >&2 "" - echo >&2 "*** lua 'env' attributes are intended for interactive nix-shell sessions, not for building! ***" - echo >&2 "" - exit 1 - ''; + buildCommand = '' + echo >&2 "" + echo >&2 "*** lua 'env' attributes are intended for interactive nix-shell sessions, not for building! ***" + echo >&2 "" + exit 1 + ''; + }; + }; }; - }; - }; -in env +in +env diff --git a/pkgs/development/interpreters/luajit/2.0.nix b/pkgs/development/interpreters/luajit/2.0.nix index c70b6809d1df9..0b52ff6111911 100644 --- a/pkgs/development/interpreters/luajit/2.0.nix +++ b/pkgs/development/interpreters/luajit/2.0.nix @@ -1,4 +1,10 @@ -{ self, callPackage, fetchFromGitHub, lib, passthruFun }: +{ + self, + callPackage, + fetchFromGitHub, + lib, + passthruFun, +}: callPackage ./default.nix { # The patch version is the timestamp of the git commit, @@ -14,8 +20,9 @@ callPackage ./default.nix { extraMeta = { # this isn't precise but it at least stops the useless Hydra build - platforms = lib.filter (p: !lib.hasPrefix "aarch64-" p) - (lib.platforms.linux ++ lib.platforms.darwin); + platforms = lib.filter (p: !lib.hasPrefix "aarch64-" p) ( + lib.platforms.linux ++ lib.platforms.darwin + ); }; inherit self passthruFun; } diff --git a/pkgs/development/interpreters/luajit/2.1.nix b/pkgs/development/interpreters/luajit/2.1.nix index 90d7769e1d57d..c151512edd1a9 100644 --- a/pkgs/development/interpreters/luajit/2.1.nix +++ b/pkgs/development/interpreters/luajit/2.1.nix @@ -1,4 +1,9 @@ -{ self, callPackage, fetchFromGitHub, passthruFun }: +{ + self, + callPackage, + fetchFromGitHub, + passthruFun, +}: callPackage ./default.nix { # The patch version is the timestamp of the git commit, diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 22574dd2b389c..147884c59f012 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -1,38 +1,39 @@ -{ lib -, stdenv -, buildPackages -, version -, src -, substituteAll -, extraMeta ? { } -, self -, packageOverrides ? (final: prev: {}) -, pkgsBuildBuild -, pkgsBuildHost -, pkgsBuildTarget -, pkgsHostHost -, pkgsTargetTarget -, passthruFun -, enableFFI ? true -, enableJIT ? true -, enableJITDebugModule ? enableJIT -, enableGC64 ? true -, enable52Compat ? false -, enableValgrindSupport ? false -, valgrind ? null -, enableGDBJITSupport ? false -, enableAPICheck ? false -, enableVMAssertions ? false -, enableRegisterAllocationRandomization ? false -, useSystemMalloc ? false -# Upstream generates randomized string id's by default for security reasons -# https://github.com/LuaJIT/LuaJIT/issues/626. Deterministic string id's should -# never be needed for correctness (that should be fixed in the lua code), -# but may be helpful when you want to embed jit-compiled raw lua blobs in -# binaries that you want to be reproducible. -, deterministicStringIds ? false -, luaAttr ? "luajit_${lib.versions.major version}_${lib.versions.minor version}" -} @ inputs: +{ + lib, + stdenv, + buildPackages, + version, + src, + substituteAll, + extraMeta ? { }, + self, + packageOverrides ? (final: prev: { }), + pkgsBuildBuild, + pkgsBuildHost, + pkgsBuildTarget, + pkgsHostHost, + pkgsTargetTarget, + passthruFun, + enableFFI ? true, + enableJIT ? true, + enableJITDebugModule ? enableJIT, + enableGC64 ? true, + enable52Compat ? false, + enableValgrindSupport ? false, + valgrind ? null, + enableGDBJITSupport ? false, + enableAPICheck ? false, + enableVMAssertions ? false, + enableRegisterAllocationRandomization ? false, + useSystemMalloc ? false, + # Upstream generates randomized string id's by default for security reasons + # https://github.com/LuaJIT/LuaJIT/issues/626. Deterministic string id's should + # never be needed for correctness (that should be fixed in the lua code), + # but may be helpful when you want to embed jit-compiled raw lua blobs in + # binaries that you want to be reproducible. + deterministicStringIds ? false, + luaAttr ? "luajit_${lib.versions.major version}_${lib.versions.minor version}", +}@inputs: assert enableJITDebugModule -> enableJIT; assert enableGDBJITSupport -> enableJIT; assert enableValgrindSupport -> valgrind != null; @@ -51,16 +52,17 @@ let ++ lib.optional enableAPICheck "-DLUAJIT_USE_APICHECK" ++ lib.optional enableVMAssertions "-DLUAJIT_USE_ASSERT" ++ lib.optional enableRegisterAllocationRandomization "-DLUAJIT_RANDOM_RA" - ++ lib.optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0" - ; + ++ lib.optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0"; # LuaJIT requires build for 32bit architectures to be build on x86 not x86_64 # TODO support also other build architectures. The ideal way would be to use # stdenv_32bit but that doesn't work due to host platform mismatch: # https://github.com/NixOS/nixpkgs/issues/212494 - buildStdenv = if buildPackages.stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.is32bit - then buildPackages.pkgsi686Linux.buildPackages.stdenv - else buildPackages.stdenv; + buildStdenv = + if buildPackages.stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.is32bit then + buildPackages.pkgsi686Linux.buildPackages.stdenv + else + buildPackages.stdenv; in stdenv.mkDerivation (finalAttrs: { @@ -85,23 +87,27 @@ stdenv.mkDerivation (finalAttrs: { buildFlags = [ "amalg" # Build highly optimized version ]; - makeFlags = [ - "PREFIX=$(out)" - "DEFAULT_CC=cc" - "CROSS=${stdenv.cc.targetPrefix}" - "HOST_CC=${buildStdenv.cc}/bin/cc" - ] ++ lib.optional enableJITDebugModule "INSTALL_LJLIBD=$(INSTALL_LMOD)" + makeFlags = + [ + "PREFIX=$(out)" + "DEFAULT_CC=cc" + "CROSS=${stdenv.cc.targetPrefix}" + "HOST_CC=${buildStdenv.cc}/bin/cc" + ] + ++ lib.optional enableJITDebugModule "INSTALL_LJLIBD=$(INSTALL_LMOD)" ++ lib.optional stdenv.hostPlatform.isStatic "BUILDMODE=static"; enableParallelBuilding = true; env.NIX_CFLAGS_COMPILE = toString XCFLAGS; postInstall = '' mkdir -p $out/nix-support - cp ${substituteAll { - src = ../lua-5/utils.sh; - luapathsearchpaths=lib.escapeShellArgs finalAttrs.LuaPathSearchPaths; - luacpathsearchpaths=lib.escapeShellArgs finalAttrs.LuaCPathSearchPaths; - }} $out/nix-support/utils.sh + cp ${ + substituteAll { + src = ../lua-5/utils.sh; + luapathsearchpaths = lib.escapeShellArgs finalAttrs.LuaPathSearchPaths; + luacpathsearchpaths = lib.escapeShellArgs finalAttrs.LuaCPathSearchPaths; + } + } $out/nix-support/utils.sh ( cd "$out/include"; ln -s luajit-*/* . ) ln -s "$out"/bin/luajit-* "$out"/bin/lua if [[ ! -e "$out"/bin/luajit ]]; then @@ -109,39 +115,57 @@ stdenv.mkDerivation (finalAttrs: { fi ''; - LuaPathSearchPaths = luaPackages.luaLib.luaPathList; - LuaCPathSearchPaths = luaPackages.luaLib.luaCPathList; + LuaPathSearchPaths = luaPackages.luaLib.luaPathList; + LuaCPathSearchPaths = luaPackages.luaLib.luaCPathList; setupHook = builtins.toFile "lua-setup-hook" '' - source @out@/nix-support/utils.sh - addEnvHooks "$hostOffset" luaEnvHook - ''; + source @out@/nix-support/utils.sh + addEnvHooks "$hostOffset" luaEnvHook + ''; # copied from python - passthru = let - # When we override the interpreter we also need to override the spliced versions of the interpreter - inputs' = lib.filterAttrs (n: v: ! lib.isDerivation v && n != "passthruFun") inputs; - override = attr: let lua = attr.override (inputs' // { self = lua; }); in lua; - in passthruFun rec { - inherit self packageOverrides luaAttr; - inherit (finalAttrs) luaversion; - executable = "lua"; - luaOnBuildForBuild = override pkgsBuildBuild.${luaAttr}; - luaOnBuildForHost = override pkgsBuildHost.${luaAttr}; - luaOnBuildForTarget = override pkgsBuildTarget.${luaAttr}; - luaOnHostForHost = override pkgsHostHost.${luaAttr}; - luaOnTargetForTarget = lib.optionalAttrs (lib.hasAttr luaAttr pkgsTargetTarget) (override pkgsTargetTarget.${luaAttr}); - }; + passthru = + let + # When we override the interpreter we also need to override the spliced versions of the interpreter + inputs' = lib.filterAttrs (n: v: !lib.isDerivation v && n != "passthruFun") inputs; + override = + attr: + let + lua = attr.override (inputs' // { self = lua; }); + in + lua; + in + passthruFun rec { + inherit self packageOverrides luaAttr; + inherit (finalAttrs) luaversion; + executable = "lua"; + luaOnBuildForBuild = override pkgsBuildBuild.${luaAttr}; + luaOnBuildForHost = override pkgsBuildHost.${luaAttr}; + luaOnBuildForTarget = override pkgsBuildTarget.${luaAttr}; + luaOnHostForHost = override pkgsHostHost.${luaAttr}; + luaOnTargetForTarget = lib.optionalAttrs (lib.hasAttr luaAttr pkgsTargetTarget) ( + override pkgsTargetTarget.${luaAttr} + ); + }; - meta = with lib; { - description = "High-performance JIT compiler for Lua 5.1"; - homepage = "https://luajit.org/"; - license = licenses.mit; - platforms = platforms.linux ++ platforms.darwin; - badPlatforms = [ - "riscv64-linux" "riscv64-linux" # See https://github.com/LuaJIT/LuaJIT/issues/628 - "powerpc64le-linux" # `#error "No support for PPC64"` - ]; - maintainers = with maintainers; [ thoughtpolice smironov vcunat lblasc ]; - } // extraMeta; + meta = + with lib; + { + description = "High-performance JIT compiler for Lua 5.1"; + homepage = "https://luajit.org/"; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + badPlatforms = [ + "riscv64-linux" + "riscv64-linux" # See https://github.com/LuaJIT/LuaJIT/issues/628 + "powerpc64le-linux" # `#error "No support for PPC64"` + ]; + maintainers = with maintainers; [ + thoughtpolice + smironov + vcunat + lblasc + ]; + } + // extraMeta; }) diff --git a/pkgs/development/interpreters/luajit/openresty.nix b/pkgs/development/interpreters/luajit/openresty.nix index 372d9233bf1fc..5a1397ec3da15 100644 --- a/pkgs/development/interpreters/luajit/openresty.nix +++ b/pkgs/development/interpreters/luajit/openresty.nix @@ -1,4 +1,9 @@ -{ self, callPackage, fetchFromGitHub, passthruFun }: +{ + self, + callPackage, + fetchFromGitHub, + passthruFun, +}: callPackage ./default.nix rec { version = "2.1-20220915"; diff --git a/pkgs/development/interpreters/octave/build-octave-package.nix b/pkgs/development/interpreters/octave/build-octave-package.nix index 30f9bc3b5e1ce..43760c6c511e3 100644 --- a/pkgs/development/interpreters/octave/build-octave-package.nix +++ b/pkgs/development/interpreters/octave/build-octave-package.nix @@ -4,52 +4,55 @@ # additional configuration provided, and the namePrefix to use (based on the # pname and version of Octave), the octave package, etc. -{ lib -, stdenv -, config -, octave -, texinfo -, computeRequiredOctavePackages -, writeRequiredOctavePackagesHook +{ + lib, + stdenv, + config, + octave, + texinfo, + computeRequiredOctavePackages, + writeRequiredOctavePackagesHook, }: # The inner function contains information required to build the individual # libraries. -{ fullLibName ? "${attrs.pname}-${attrs.version}" +{ + fullLibName ? "${attrs.pname}-${attrs.version}", -, src + src, -, dontPatch ? false -, patches ? [] -, patchPhase ? "" + dontPatch ? false, + patches ? [ ], + patchPhase ? "", -, enableParallelBuilding ? true -# Build-time dependencies for the package, which were compiled for the system compiling this. -, nativeBuildInputs ? [] + enableParallelBuilding ? true, + # Build-time dependencies for the package, which were compiled for the system compiling this. + nativeBuildInputs ? [ ], -# Build-time dependencies for the package, which may not have been compiled for the system compiling this. -, buildInputs ? [] + # Build-time dependencies for the package, which may not have been compiled for the system compiling this. + buildInputs ? [ ], -# Propagate build dependencies so in case we have A -> B -> C, -# C can import package A propagated by B -# Run-time dependencies for the package. -, propagatedBuildInputs ? [] + # Propagate build dependencies so in case we have A -> B -> C, + # C can import package A propagated by B + # Run-time dependencies for the package. + propagatedBuildInputs ? [ ], -# Octave packages that are required at runtime for this one. -# These behave similarly to propagatedBuildInputs, where if -# package A is needed by B, and C needs B, then C also requires A. -# The main difference between these and propagatedBuildInputs is -# during the package's installation into octave, where all -# requiredOctavePackages are ALSO installed into octave. -, requiredOctavePackages ? [] + # Octave packages that are required at runtime for this one. + # These behave similarly to propagatedBuildInputs, where if + # package A is needed by B, and C needs B, then C also requires A. + # The main difference between these and propagatedBuildInputs is + # during the package's installation into octave, where all + # requiredOctavePackages are ALSO installed into octave. + requiredOctavePackages ? [ ], -, preBuild ? "" + preBuild ? "", -, meta ? {} + meta ? { }, -, passthru ? {} + passthru ? { }, -, ... } @ attrs: + ... +}@attrs: let requiredOctavePackages' = computeRequiredOctavePackages requiredOctavePackages; @@ -59,16 +62,14 @@ let nativeBuildInputs' = [ octave writeRequiredOctavePackagesHook - ] - ++ nativeBuildInputs; + ] ++ nativeBuildInputs; passthru' = { updateScript = [ ../../../../maintainers/scripts/update-octave-packages (builtins.unsafeGetAttrPos "pname" octave.pkgs.${attrs.pname}).file ]; - } - // passthru; + } // passthru; # This step is required because when # a = { test = [ "a" "b" ]; }; b = { test = [ "c" "d" ]; }; @@ -76,60 +77,68 @@ let # This used to mean that if a package defined extra nativeBuildInputs, it # would override the ones for building an Octave package (the hook and Octave # itself, causing everything to fail. - attrs' = builtins.removeAttrs attrs [ "nativeBuildInputs" "passthru" ]; + attrs' = builtins.removeAttrs attrs [ + "nativeBuildInputs" + "passthru" + ]; -in stdenv.mkDerivation ({ - packageName = "${fullLibName}"; - # The name of the octave package ends up being - # "octave-version-package-version" - name = "${octave.pname}-${octave.version}-${fullLibName}"; +in +stdenv.mkDerivation ( + { + packageName = "${fullLibName}"; + # The name of the octave package ends up being + # "octave-version-package-version" + name = "${octave.pname}-${octave.version}-${fullLibName}"; - # This states that any package built with the function that this returns - # will be an octave package. This is used for ensuring other octave - # packages are installed into octave during the environment building phase. - isOctavePackage = true; + # This states that any package built with the function that this returns + # will be an octave package. This is used for ensuring other octave + # packages are installed into octave during the environment building phase. + isOctavePackage = true; - OCTAVE_HISTFILE = "/dev/null"; + OCTAVE_HISTFILE = "/dev/null"; - inherit src; + inherit src; - inherit dontPatch patches patchPhase; + inherit dontPatch patches patchPhase; - dontConfigure = true; + dontConfigure = true; - enableParallelBuilding = enableParallelBuilding; + enableParallelBuilding = enableParallelBuilding; - requiredOctavePackages = requiredOctavePackages'; + requiredOctavePackages = requiredOctavePackages'; - nativeBuildInputs = nativeBuildInputs'; + nativeBuildInputs = nativeBuildInputs'; - buildInputs = buildInputs ++ requiredOctavePackages'; + buildInputs = buildInputs ++ requiredOctavePackages'; - propagatedBuildInputs = propagatedBuildInputs ++ [ texinfo ]; + propagatedBuildInputs = propagatedBuildInputs ++ [ texinfo ]; - preBuild = if preBuild == "" then - '' - # This trickery is needed because Octave expects a single directory inside - # at the top-most level of the tarball. - tar --transform 's,^,${fullLibName}/,' -cz * -f ${fullLibName}.tar.gz - '' - else - preBuild; + preBuild = + if preBuild == "" then + '' + # This trickery is needed because Octave expects a single directory inside + # at the top-most level of the tarball. + tar --transform 's,^,${fullLibName}/,' -cz * -f ${fullLibName}.tar.gz + '' + else + preBuild; - buildPhase = '' - runHook preBuild + buildPhase = '' + runHook preBuild - mkdir -p $out - octave-cli --eval "pkg build $out ${fullLibName}.tar.gz" + mkdir -p $out + octave-cli --eval "pkg build $out ${fullLibName}.tar.gz" - runHook postBuild - ''; + runHook postBuild + ''; - # We don't install here, because that's handled when we build the environment - # together with Octave. - dontInstall = true; + # We don't install here, because that's handled when we build the environment + # together with Octave. + dontInstall = true; - passthru = passthru'; + passthru = passthru'; - inherit meta; -} // attrs') + inherit meta; + } + // attrs' +) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 72895919383db..25be9fc6f2e6f 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,76 +1,80 @@ -{ stdenv -, pkgs -, lib -, fetchurl -, gfortran -, ncurses -, perl -, flex -, texinfo -, qhull -, libsndfile -, portaudio -, libX11 -, graphicsmagick -, pcre2 -, pkg-config -, libGL -, libGLU -, fltk -# Both are needed for discrete Fourier transform -, fftw -, fftwSinglePrec -, zlib -, curl -, rapidjson -, blas, lapack -# These 3 should use the same lapack and blas as the above, see code prepending -, qrupdate, arpack, suitesparse -# If set to true, the above 5 deps are overridden to use the blas and lapack -# with 64 bit indexes support. If all are not compatible, the build will fail. -, use64BitIdx ? false -, libwebp -, gl2ps -, ghostscript -, hdf5 -, glpk -, gnuplot -# - Include support for GNU readline: -, enableReadline ? true -, readline -# - Build Java interface: -, enableJava ? true -, jdk -, python3 -, sundials -# - Packages required for building extra packages. -, newScope -, callPackage -, makeSetupHook -, makeWrapper -# - Build Octave Qt GUI: -, enableQt ? false -, libsForQt5 -, libiconv -, darwin +{ + stdenv, + pkgs, + lib, + fetchurl, + gfortran, + ncurses, + perl, + flex, + texinfo, + qhull, + libsndfile, + portaudio, + libX11, + graphicsmagick, + pcre2, + pkg-config, + libGL, + libGLU, + fltk, + # Both are needed for discrete Fourier transform + fftw, + fftwSinglePrec, + zlib, + curl, + rapidjson, + blas, + lapack, + # These 3 should use the same lapack and blas as the above, see code prepending + qrupdate, + arpack, + suitesparse, + # If set to true, the above 5 deps are overridden to use the blas and lapack + # with 64 bit indexes support. If all are not compatible, the build will fail. + use64BitIdx ? false, + libwebp, + gl2ps, + ghostscript, + hdf5, + glpk, + gnuplot, + # - Include support for GNU readline: + enableReadline ? true, + readline, + # - Build Java interface: + enableJava ? true, + jdk, + python3, + sundials, + # - Packages required for building extra packages. + newScope, + callPackage, + makeSetupHook, + makeWrapper, + # - Build Octave Qt GUI: + enableQt ? false, + libsForQt5, + libiconv, + darwin, }: let # Not always evaluated - blas' = if use64BitIdx then - blas.override { - isILP64 = true; - } - else - blas - ; - lapack' = if use64BitIdx then - lapack.override { - isILP64 = true; - } - else - lapack - ; + blas' = + if use64BitIdx then + blas.override { + isILP64 = true; + } + else + blas; + lapack' = + if use64BitIdx then + lapack.override { + isILP64 = true; + } + else + lapack; qrupdate' = qrupdate.override { # If use64BitIdx is false, this override doesn't evaluate to a new # derivation, as blas and lapack are not overridden. @@ -82,26 +86,28 @@ let lapack = lapack'; }; # We keep the option to not enable suitesparse support by putting it null - suitesparse' = if suitesparse != null then - suitesparse.override { - blas = blas'; - lapack = lapack'; - } - else - null - ; + suitesparse' = + if suitesparse != null then + suitesparse.override { + blas = blas'; + lapack = lapack'; + } + else + null; # To avoid confusion later in passthru allPkgs = pkgs; -in stdenv.mkDerivation (finalAttrs: { - version = "9.2.0"; - pname = "octave"; +in +stdenv.mkDerivation (finalAttrs: { + version = "9.2.0"; + pname = "octave"; - src = fetchurl { - url = "mirror://gnu/octave/octave-${finalAttrs.version}.tar.gz"; - sha256 = "sha256-BjZVSwWZaZfkMcqtRCLAA4bS18aJAEcnAP7PX/63yZE="; - }; + src = fetchurl { + url = "mirror://gnu/octave/octave-${finalAttrs.version}.tar.gz"; + sha256 = "sha256-BjZVSwWZaZfkMcqtRCLAA4bS18aJAEcnAP7PX/63yZE="; + }; - buildInputs = [ + buildInputs = + [ readline ncurses perl @@ -130,40 +136,49 @@ in stdenv.mkDerivation (finalAttrs: { sundials gnuplot python3 - ] ++ lib.optionals enableQt [ + ] + ++ lib.optionals enableQt [ libsForQt5.qtbase libsForQt5.qtsvg libsForQt5.qscintilla - ] ++ lib.optionals (enableJava) [ + ] + ++ lib.optionals (enableJava) [ jdk - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libGL libGLU libX11 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libGL + libGLU + libX11 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Accelerate darwin.apple_sdk.frameworks.Cocoa ]; - nativeBuildInputs = [ + nativeBuildInputs = + [ pkg-config gfortran texinfo - ] ++ lib.optionals enableQt [ + ] + ++ lib.optionals enableQt [ libsForQt5.wrapQtAppsHook libsForQt5.qtscript libsForQt5.qttools ]; - doCheck = !stdenv.hostPlatform.isDarwin; + doCheck = !stdenv.hostPlatform.isDarwin; - enableParallelBuilding = true; + enableParallelBuilding = true; - # Fix linker error on Darwin (see https://trac.macports.org/ticket/61865) - NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-lobjc"; + # Fix linker error on Darwin (see https://trac.macports.org/ticket/61865) + NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-lobjc"; - # See https://savannah.gnu.org/bugs/?50339 - F77_INTEGER_8_FLAG = lib.optionalString use64BitIdx "-fdefault-integer-8"; + # See https://savannah.gnu.org/bugs/?50339 + F77_INTEGER_8_FLAG = lib.optionalString use64BitIdx "-fdefault-integer-8"; - configureFlags = [ + configureFlags = + [ "--with-blas=blas" "--with-lapack=lapack" (if use64BitIdx then "--enable-64" else "--disable-64") @@ -171,51 +186,58 @@ in stdenv.mkDerivation (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--enable-link-all-dependencies" ] ++ lib.optionals enableReadline [ "--enable-readline" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--with-x=no" ] - ++ lib.optionals enableQt [ "--with-qt=5" ] - ; + ++ lib.optionals enableQt [ "--with-qt=5" ]; - # Keep a copy of the octave tests detailed results in the output - # derivation, because someone may care - postInstall = '' - cp test/fntests.log $out/share/octave/octave-${finalAttrs.version}-fntests.log || true - ''; + # Keep a copy of the octave tests detailed results in the output + # derivation, because someone may care + postInstall = '' + cp test/fntests.log $out/share/octave/octave-${finalAttrs.version}-fntests.log || true + ''; - passthru = rec { - sitePath = "share/octave/${finalAttrs.version}/site"; - octPkgsPath = "share/octave/octave_packages"; - blas = blas'; - lapack = lapack'; - qrupdate = qrupdate'; - arpack = arpack'; - suitesparse = suitesparse'; - octavePackages = import ../../../top-level/octave-packages.nix { - pkgs = allPkgs; - inherit lib stdenv fetchurl newScope; - octave = finalAttrs.finalPackage; - }; - wrapOctave = callPackage ./wrap-octave.nix { - octave = finalAttrs.finalPackage; - inherit (allPkgs) makeSetupHook makeWrapper; - }; - inherit fftw fftwSinglePrec; - inherit portaudio; - inherit jdk; - python = python3; - inherit enableQt enableReadline enableJava; - buildEnv = callPackage ./build-env.nix { - octave = finalAttrs.finalPackage; - inherit wrapOctave; - inherit (octavePackages) computeRequiredOctavePackages; - }; - withPackages = import ./with-packages.nix { inherit buildEnv octavePackages; }; - pkgs = octavePackages; - interpreter = "${finalAttrs.finalPackage}/bin/octave"; + passthru = rec { + sitePath = "share/octave/${finalAttrs.version}/site"; + octPkgsPath = "share/octave/octave_packages"; + blas = blas'; + lapack = lapack'; + qrupdate = qrupdate'; + arpack = arpack'; + suitesparse = suitesparse'; + octavePackages = import ../../../top-level/octave-packages.nix { + pkgs = allPkgs; + inherit + lib + stdenv + fetchurl + newScope + ; + octave = finalAttrs.finalPackage; }; - - meta = { - homepage = "https://www.gnu.org/software/octave/"; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ raskin doronbehar ]; - description = "Scientific Programming Language"; + wrapOctave = callPackage ./wrap-octave.nix { + octave = finalAttrs.finalPackage; + inherit (allPkgs) makeSetupHook makeWrapper; }; - }) + inherit fftw fftwSinglePrec; + inherit portaudio; + inherit jdk; + python = python3; + inherit enableQt enableReadline enableJava; + buildEnv = callPackage ./build-env.nix { + octave = finalAttrs.finalPackage; + inherit wrapOctave; + inherit (octavePackages) computeRequiredOctavePackages; + }; + withPackages = import ./with-packages.nix { inherit buildEnv octavePackages; }; + pkgs = octavePackages; + interpreter = "${finalAttrs.finalPackage}/bin/octave"; + }; + + meta = { + homepage = "https://www.gnu.org/software/octave/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + raskin + doronbehar + ]; + description = "Scientific Programming Language"; + }; +}) diff --git a/pkgs/development/interpreters/octave/hooks/default.nix b/pkgs/development/interpreters/octave/hooks/default.nix index f47560921af3c..8e7acafd8489c 100644 --- a/pkgs/development/interpreters/octave/hooks/default.nix +++ b/pkgs/development/interpreters/octave/hooks/default.nix @@ -1,13 +1,16 @@ # Hooks for building Octave packages. -{ octave -, lib -, callPackage -, makeSetupHook +{ + octave, + lib, + callPackage, + makeSetupHook, }: rec { - writeRequiredOctavePackagesHook = callPackage ({ }: + writeRequiredOctavePackagesHook = callPackage ( + { }: makeSetupHook { name = "write-required-octave-packages-hook"; - } ./write-required-octave-packages-hook.sh) {}; + } ./write-required-octave-packages-hook.sh + ) { }; } diff --git a/pkgs/development/interpreters/octave/with-packages.nix b/pkgs/development/interpreters/octave/with-packages.nix index f00befbb00d45..dc2467d2c1bea 100644 --- a/pkgs/development/interpreters/octave/with-packages.nix +++ b/pkgs/development/interpreters/octave/with-packages.nix @@ -3,4 +3,8 @@ # Takes the buildEnv defined for Octave and the set of octavePackages, and returns # a function, which when given a function whose return value is a list of extra # packages to install, builds and returns that environment. -f: let packages = f octavePackages; in buildEnv.override { extraLibs = packages; } +f: +let + packages = f octavePackages; +in +buildEnv.override { extraLibs = packages; } diff --git a/pkgs/development/interpreters/octave/wrap-octave.nix b/pkgs/development/interpreters/octave/wrap-octave.nix index 18a532226efe6..905ba06a50446 100644 --- a/pkgs/development/interpreters/octave/wrap-octave.nix +++ b/pkgs/development/interpreters/octave/wrap-octave.nix @@ -1,6 +1,7 @@ -{ octave -, makeSetupHook -, makeWrapper +{ + octave, + makeSetupHook, + makeWrapper, }: # Defined in trivial-builders diff --git a/pkgs/development/interpreters/perl/wrapper.nix b/pkgs/development/interpreters/perl/wrapper.nix index f86808306c55d..8321f85ef39bc 100644 --- a/pkgs/development/interpreters/perl/wrapper.nix +++ b/pkgs/development/interpreters/perl/wrapper.nix @@ -1,53 +1,68 @@ -{ lib, perl, buildEnv, makeBinaryWrapper, stdenv -, extraLibs ? [] -, extraOutputsToInstall ? [] -, postBuild ? "" -, ignoreCollisions ? false -, requiredPerlModules +{ + lib, + perl, + buildEnv, + makeBinaryWrapper, + stdenv, + extraLibs ? [ ], + extraOutputsToInstall ? [ ], + postBuild ? "", + ignoreCollisions ? false, + requiredPerlModules, }: # Create a perl executable that knows about additional packages. let - env = let - paths = requiredPerlModules (extraLibs ++ [ perl ] ); - in buildEnv { - name = "${perl.name}-env"; + env = + let + paths = requiredPerlModules (extraLibs ++ [ perl ]); + in + buildEnv { + name = "${perl.name}-env"; - inherit paths; - inherit ignoreCollisions; - extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall; + inherit paths; + inherit ignoreCollisions; + extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall; - # TODO: remove stdenv.cc as soon as it is added to propagatedNativeBuildInputs of makeBinaryWrapper - nativeBuildInputs = [ makeBinaryWrapper stdenv.cc ]; + # TODO: remove stdenv.cc as soon as it is added to propagatedNativeBuildInputs of makeBinaryWrapper + nativeBuildInputs = [ + makeBinaryWrapper + stdenv.cc + ]; - # we create wrapper for the binaries in the different packages - postBuild = '' - if [ -L "$out/bin" ]; then - unlink "$out/bin" - fi - mkdir -p "$out/bin" + # we create wrapper for the binaries in the different packages + postBuild = + '' + if [ -L "$out/bin" ]; then + unlink "$out/bin" + fi + mkdir -p "$out/bin" - # take every binary from perl packages and put them into the env - for path in ${lib.concatStringsSep " " paths}; do - if [ -d "$path/bin" ]; then - cd "$path/bin" - for prg in *; do - if [ -f "$prg" ]; then - rm -f "$out/bin/$prg" - if [ -x "$prg" ]; then - makeWrapper "$path/bin/$prg" "$out/bin/$prg" --suffix PERL5LIB ':' "$out/${perl.libPrefix}" - fi + # take every binary from perl packages and put them into the env + for path in ${lib.concatStringsSep " " paths}; do + if [ -d "$path/bin" ]; then + cd "$path/bin" + for prg in *; do + if [ -f "$prg" ]; then + rm -f "$out/bin/$prg" + if [ -x "$prg" ]; then + makeWrapper "$path/bin/$prg" "$out/bin/$prg" --suffix PERL5LIB ':' "$out/${perl.libPrefix}" + fi + fi + done fi done - fi - done - '' + postBuild; + '' + + postBuild; - meta = perl.meta // { outputsToInstall = ["out"]; }; # remove "man" from meta.outputsToInstall. pkgs.buildEnv produces no "man", it puts everything to "out" + meta = perl.meta // { + outputsToInstall = [ "out" ]; + }; # remove "man" from meta.outputsToInstall. pkgs.buildEnv produces no "man", it puts everything to "out" - passthru = perl.passthru // { - interpreter = "${env}/bin/perl"; - inherit perl; + passthru = perl.passthru // { + interpreter = "${env}/bin/perl"; + inherit perl; + }; }; - }; -in env +in +env diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix index 51610fb409851..84e22ab8b12f4 100644 --- a/pkgs/development/interpreters/php/8.1.nix +++ b/pkgs/development/interpreters/php/8.1.nix @@ -1,52 +1,59 @@ { callPackage, fetchpatch, ... }@_args: let - base = callPackage ./generic.nix ((removeAttrs _args [ "fetchpatch" ]) // { - version = "8.1.31"; - hash = "sha256-CzmCizRRUcrxt5XZ9LkjyYhyMXdsMwdt/J2QpEOQ0Nw="; - }); + base = callPackage ./generic.nix ( + (removeAttrs _args [ "fetchpatch" ]) + // { + version = "8.1.31"; + hash = "sha256-CzmCizRRUcrxt5XZ9LkjyYhyMXdsMwdt/J2QpEOQ0Nw="; + } + ); in -base.withExtensions ({ all, ... }: with all; ([ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - imap - intl - ldap - mbstring - mysqli - mysqlnd - opcache - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib -])) +base.withExtensions ( + { all, ... }: + with all; + ([ + bcmath + calendar + curl + ctype + dom + exif + fileinfo + filter + ftp + gd + gettext + gmp + iconv + imap + intl + ldap + mbstring + mysqli + mysqlnd + opcache + openssl + pcntl + pdo + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + posix + readline + session + simplexml + sockets + soap + sodium + sysvsem + sqlite3 + tokenizer + xmlreader + xmlwriter + zip + zlib + ]) +) diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix index 4fdcf60354f57..6f80ac7be89d5 100644 --- a/pkgs/development/interpreters/php/8.2.nix +++ b/pkgs/development/interpreters/php/8.2.nix @@ -1,52 +1,59 @@ { callPackage, ... }@_args: let - base = callPackage ./generic.nix (_args // { - version = "8.2.26"; - hash = "sha256-vlfDR9RRyQW8tDNoMqhk2ZKN0OIJibhycF/qC6ZHbGs="; - }); + base = callPackage ./generic.nix ( + _args + // { + version = "8.2.26"; + hash = "sha256-vlfDR9RRyQW8tDNoMqhk2ZKN0OIJibhycF/qC6ZHbGs="; + } + ); in -base.withExtensions ({ all, ... }: with all; ([ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - imap - intl - ldap - mbstring - mysqli - mysqlnd - opcache - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib -])) +base.withExtensions ( + { all, ... }: + with all; + ([ + bcmath + calendar + curl + ctype + dom + exif + fileinfo + filter + ftp + gd + gettext + gmp + iconv + imap + intl + ldap + mbstring + mysqli + mysqlnd + opcache + openssl + pcntl + pdo + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + posix + readline + session + simplexml + sockets + soap + sodium + sysvsem + sqlite3 + tokenizer + xmlreader + xmlwriter + zip + zlib + ]) +) diff --git a/pkgs/development/interpreters/php/8.3.nix b/pkgs/development/interpreters/php/8.3.nix index c51dd4d014154..abae36f9a5ed3 100644 --- a/pkgs/development/interpreters/php/8.3.nix +++ b/pkgs/development/interpreters/php/8.3.nix @@ -1,52 +1,59 @@ { callPackage, ... }@_args: let - base = callPackage ./generic.nix (_args // { - version = "8.3.14"; - hash = "sha256-9W+mac5MAUUqKSH0ADTXedjCuX0HSUk61HgYE7kiHPg="; - }); + base = callPackage ./generic.nix ( + _args + // { + version = "8.3.14"; + hash = "sha256-9W+mac5MAUUqKSH0ADTXedjCuX0HSUk61HgYE7kiHPg="; + } + ); in -base.withExtensions ({ all, ... }: with all; ([ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - imap - intl - ldap - mbstring - mysqli - mysqlnd - opcache - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib -])) +base.withExtensions ( + { all, ... }: + with all; + ([ + bcmath + calendar + curl + ctype + dom + exif + fileinfo + filter + ftp + gd + gettext + gmp + iconv + imap + intl + ldap + mbstring + mysqli + mysqlnd + opcache + openssl + pcntl + pdo + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + posix + readline + session + simplexml + sockets + soap + sodium + sysvsem + sqlite3 + tokenizer + xmlreader + xmlwriter + zip + zlib + ]) +) diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix index a9d808641916d..34f654db50841 100644 --- a/pkgs/development/interpreters/php/generic.nix +++ b/pkgs/development/interpreters/php/generic.nix @@ -3,63 +3,65 @@ let generic = - { callPackage - , lib - , stdenv - , nixosTests - , tests - , fetchurl - , makeBinaryWrapper - , symlinkJoin - , writeText - , autoconf - , automake - , bison - , flex - , libtool - , pkg-config - , re2c - , apacheHttpd - , libargon2 - , libxml2 - , pcre2 - , systemd - , system-sendmail - , valgrind - , xcbuild - , writeShellScript - , common-updater-scripts - , curl - , jq - - , version - , phpSrc ? null - , hash ? null - , extraPatches ? [ ] - , packageOverrides ? (final: prev: { }) - , phpAttrsOverrides ? (final: prev: { }) - , pearInstallPhar ? (callPackage ./install-pear-nozlib-phar.nix { }) + { + callPackage, + lib, + stdenv, + nixosTests, + tests, + fetchurl, + makeBinaryWrapper, + symlinkJoin, + writeText, + autoconf, + automake, + bison, + flex, + libtool, + pkg-config, + re2c, + apacheHttpd, + libargon2, + libxml2, + pcre2, + systemd, + system-sendmail, + valgrind, + xcbuild, + writeShellScript, + common-updater-scripts, + curl, + jq, + + version, + phpSrc ? null, + hash ? null, + extraPatches ? [ ], + packageOverrides ? (final: prev: { }), + phpAttrsOverrides ? (final: prev: { }), + pearInstallPhar ? (callPackage ./install-pear-nozlib-phar.nix { }), # Sapi flags - , cgiSupport ? true - , cliSupport ? true - , fpmSupport ? true - , pearSupport ? true - , pharSupport ? true - , phpdbgSupport ? true + cgiSupport ? true, + cliSupport ? true, + fpmSupport ? true, + pearSupport ? true, + pharSupport ? true, + phpdbgSupport ? true, # Misc flags - , apxs2Support ? false - , argon2Support ? true - , cgotoSupport ? false - , embedSupport ? false - , staticSupport ? false - , ipv6Support ? true - , zendSignalsSupport ? true - , zendMaxExecutionTimersSupport ? false - , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd - , valgrindSupport ? !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind - , ztsSupport ? apxs2Support + apxs2Support ? false, + argon2Support ? true, + cgotoSupport ? false, + embedSupport ? false, + staticSupport ? false, + ipv6Support ? true, + zendSignalsSupport ? true, + zendMaxExecutionTimersSupport ? false, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + valgrindSupport ? + !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind, + ztsSupport ? apxs2Support, }@args: let @@ -71,122 +73,145 @@ let # extensions functions in its closure. This is necessary for # consecutive calls to buildEnv and overrides to work as # expected. - mkBuildEnv = prevArgs: prevExtensionFunctions: lib.makeOverridable ( - { extensions ? ({ enabled, ... }: enabled), extraConfig ? "", ... }@innerArgs: - let - allArgs = args // prevArgs // innerArgs; - filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ]; - php = generic filteredArgs; - - php-packages = (callPackage ../../../top-level/php-packages.nix { - phpPackage = phpWithExtensions; - }).overrideScope packageOverrides; - - allExtensionFunctions = prevExtensionFunctions ++ [ extensions ]; - enabledExtensions = - builtins.foldl' - (enabled: f: - f { inherit enabled; all = php-packages.extensions; }) - [ ] - allExtensionFunctions; - - getExtName = ext: ext.extensionName; - - # Recursively get a list of all internal dependencies - # for a list of extensions. - getDepsRecursively = extensions: - let - deps = lib.concatMap - (ext: (ext.internalDeps or [ ]) ++ (ext.peclDeps or [ ])) - extensions; - in - if ! (deps == [ ]) then - deps ++ (getDepsRecursively deps) - else - deps; - - # Generate extension load configuration snippets from the - # extension parameter. This is an attrset suitable for use - # with textClosureList, which is used to put the strings in - # the right order - if a plugin which is dependent on - # another plugin is placed before its dependency, it will - # fail to load. - extensionTexts = - lib.listToAttrs - (map - (ext: - let - extName = getExtName ext; - phpDeps = (ext.internalDeps or [ ]) ++ (ext.peclDeps or [ ]); - type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; - in - lib.nameValuePair extName { - text = "${type}=${ext}/lib/php/extensions/${extName}.so"; - deps = map getExtName phpDeps; - }) - (enabledExtensions ++ (getDepsRecursively enabledExtensions))); - - extNames = map getExtName enabledExtensions; - extraInit = writeText "php-extra-init-${version}.ini" '' - ${lib.concatStringsSep "\n" - (lib.textClosureList extensionTexts extNames)} - ${extraConfig} - ''; - - phpWithExtensions = symlinkJoin { - name = "php-with-extensions-${version}"; - inherit (php) version; - nativeBuildInputs = [ makeBinaryWrapper ]; - passthru = php.passthru // { - buildEnv = mkBuildEnv allArgs allExtensionFunctions; - withExtensions = mkWithExtensions allArgs allExtensionFunctions; - overrideAttrs = - f: + mkBuildEnv = + prevArgs: prevExtensionFunctions: + lib.makeOverridable ( + { + extensions ? ({ enabled, ... }: enabled), + extraConfig ? "", + ... + }@innerArgs: + let + allArgs = args // prevArgs // innerArgs; + filteredArgs = builtins.removeAttrs allArgs [ + "extensions" + "extraConfig" + ]; + php = generic filteredArgs; + + php-packages = + (callPackage ../../../top-level/php-packages.nix { + phpPackage = phpWithExtensions; + }).overrideScope + packageOverrides; + + allExtensionFunctions = prevExtensionFunctions ++ [ extensions ]; + enabledExtensions = builtins.foldl' ( + enabled: f: + f { + inherit enabled; + all = php-packages.extensions; + } + ) [ ] allExtensionFunctions; + + getExtName = ext: ext.extensionName; + + # Recursively get a list of all internal dependencies + # for a list of extensions. + getDepsRecursively = + extensions: + let + deps = lib.concatMap (ext: (ext.internalDeps or [ ]) ++ (ext.peclDeps or [ ])) extensions; + in + if !(deps == [ ]) then deps ++ (getDepsRecursively deps) else deps; + + # Generate extension load configuration snippets from the + # extension parameter. This is an attrset suitable for use + # with textClosureList, which is used to put the strings in + # the right order - if a plugin which is dependent on + # another plugin is placed before its dependency, it will + # fail to load. + extensionTexts = lib.listToAttrs ( + map ( + ext: let - phpAttrsOverrides = filteredArgs.phpAttrsOverrides or (final: prev: { }); - newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) (lib.toExtension f); - php = generic (filteredArgs // { phpAttrsOverrides = newPhpAttrsOverrides; }); + extName = getExtName ext; + phpDeps = (ext.internalDeps or [ ]) ++ (ext.peclDeps or [ ]); + type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; in - php.buildEnv { inherit extensions extraConfig; }; - phpIni = "${phpWithExtensions}/lib/php.ini"; - unwrapped = php; - # Select the right php tests for the php version - tests = { - nixos = lib.recurseIntoAttrs nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}"; - package = tests.php; - }; - inherit (php-packages) extensions buildPecl mkComposerRepository mkComposerVendor buildComposerProject buildComposerProject2 buildComposerWithPlugin composerHooks composerHooks2 mkExtension; - packages = php-packages.tools; - meta = php.meta // { - outputsToInstall = [ "out" ]; + lib.nameValuePair extName { + text = "${type}=${ext}/lib/php/extensions/${extName}.so"; + deps = map getExtName phpDeps; + } + ) (enabledExtensions ++ (getDepsRecursively enabledExtensions)) + ); + + extNames = map getExtName enabledExtensions; + extraInit = writeText "php-extra-init-${version}.ini" '' + ${lib.concatStringsSep "\n" (lib.textClosureList extensionTexts extNames)} + ${extraConfig} + ''; + + phpWithExtensions = symlinkJoin { + name = "php-with-extensions-${version}"; + inherit (php) version; + nativeBuildInputs = [ makeBinaryWrapper ]; + passthru = php.passthru // { + buildEnv = mkBuildEnv allArgs allExtensionFunctions; + withExtensions = mkWithExtensions allArgs allExtensionFunctions; + overrideAttrs = + f: + let + phpAttrsOverrides = filteredArgs.phpAttrsOverrides or (final: prev: { }); + newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) ( + lib.toExtension f + ); + php = generic (filteredArgs // { phpAttrsOverrides = newPhpAttrsOverrides; }); + in + php.buildEnv { inherit extensions extraConfig; }; + phpIni = "${phpWithExtensions}/lib/php.ini"; + unwrapped = php; + # Select the right php tests for the php version + tests = { + nixos = + lib.recurseIntoAttrs + nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}"; + package = tests.php; + }; + inherit (php-packages) + extensions + buildPecl + mkComposerRepository + mkComposerVendor + buildComposerProject + buildComposerProject2 + buildComposerWithPlugin + composerHooks + composerHooks2 + mkExtension + ; + packages = php-packages.tools; + meta = php.meta // { + outputsToInstall = [ "out" ]; + }; }; + paths = [ php ]; + postBuild = '' + ln -s ${extraInit} $out/lib/php.ini + + if test -e $out/bin/php; then + wrapProgram $out/bin/php --set-default PHP_INI_SCAN_DIR $out/lib + fi + + if test -e $out/bin/php-fpm; then + wrapProgram $out/bin/php-fpm --set-default PHP_INI_SCAN_DIR $out/lib + fi + + if test -e $out/bin/phpdbg; then + wrapProgram $out/bin/phpdbg --set-default PHP_INI_SCAN_DIR $out/lib + fi + + if test -e $out/bin/php-cgi; then + wrapProgram $out/bin/php-cgi --set-default PHP_INI_SCAN_DIR $out/lib + fi + ''; }; - paths = [ php ]; - postBuild = '' - ln -s ${extraInit} $out/lib/php.ini - - if test -e $out/bin/php; then - wrapProgram $out/bin/php --set-default PHP_INI_SCAN_DIR $out/lib - fi + in + phpWithExtensions + ); - if test -e $out/bin/php-fpm; then - wrapProgram $out/bin/php-fpm --set-default PHP_INI_SCAN_DIR $out/lib - fi - - if test -e $out/bin/phpdbg; then - wrapProgram $out/bin/phpdbg --set-default PHP_INI_SCAN_DIR $out/lib - fi - - if test -e $out/bin/php-cgi; then - wrapProgram $out/bin/php-cgi --set-default PHP_INI_SCAN_DIR $out/lib - fi - ''; - }; - in - phpWithExtensions - ); - - mkWithExtensions = prevArgs: prevExtensionFunctions: extensions: + mkWithExtensions = + prevArgs: prevExtensionFunctions: extensions: mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; }; defaultPhpSrc = fetchurl { @@ -203,8 +228,15 @@ let enableParallelBuilding = true; - nativeBuildInputs = [ autoconf automake bison flex libtool pkg-config re2c ] - ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; + nativeBuildInputs = [ + autoconf + automake + bison + flex + libtool + pkg-config + re2c + ] ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; buildInputs = # PCRE extension @@ -217,8 +249,7 @@ let ++ lib.optional apxs2Support apacheHttpd ++ lib.optional argon2Support libargon2 ++ lib.optional systemdSupport systemd - ++ lib.optional valgrindSupport valgrind - ; + ++ lib.optional valgrindSupport valgrind; CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11"; SKIP_PERF_SENSITIVE = 1; @@ -234,11 +265,14 @@ let ++ lib.optional (!cgiSupport) "--disable-cgi" ++ lib.optional (!cliSupport) "--disable-cli" ++ lib.optional fpmSupport "--enable-fpm" - ++ lib.optionals pearSupport [ "--with-pear" "--enable-xml" "--with-libxml" ] + ++ lib.optionals pearSupport [ + "--with-pear" + "--enable-xml" + "--with-libxml" + ] ++ lib.optional pharSupport "--enable-phar" ++ lib.optional (!phpdbgSupport) "--disable-phpdbg" - # Misc flags ++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs" ++ lib.optional argon2Support "--with-password-argon2=${libargon2}" @@ -249,13 +283,11 @@ let ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}" ++ lib.optional ztsSupport "--enable-zts" ++ lib.optional staticSupport "--enable-static" - ++ lib.optional (!zendSignalsSupport) ["--disable-zend-signals"] + ++ lib.optional (!zendSignalsSupport) [ "--disable-zend-signals" ] ++ lib.optional zendMaxExecutionTimersSupport "--enable-zend-max-execution-timers" - # Sendmail - ++ [ "PROG_SENDMAIL=${system-sendmail}/bin/sendmail" ] - ; + ++ [ "PROG_SENDMAIL=${system-sendmail}/bin/sendmail" ]; hardeningDisable = [ "bindnow" ]; @@ -276,7 +308,8 @@ let if [ -f "scripts/dev/genfiles" ]; then ./scripts/dev/genfiles fi - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace configure --replace-fail "-lstdc++" "-lc++" ''; @@ -304,26 +337,39 @@ let src = if phpSrc == null then defaultPhpSrc else phpSrc; - patches = lib.optionals (lib.versionOlder version "8.4") [ - ./fix-paths-php7.patch - ] ++ lib.optionals (lib.versionAtLeast version "8.4") [ - ./fix-paths-php84.patch - ] ++ extraPatches; + patches = + lib.optionals (lib.versionOlder version "8.4") [ + ./fix-paths-php7.patch + ] + ++ lib.optionals (lib.versionAtLeast version "8.4") [ + ./fix-paths-php84.patch + ] + ++ extraPatches; separateDebugInfo = true; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; passthru = { updateScript = let script = writeShellScript "php${lib.versions.major version}${lib.versions.minor version}-update-script" '' set -o errexit - PATH=${lib.makeBinPath [ common-updater-scripts curl jq ]} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + curl + jq + ] + } new_version=$(curl --silent "https://www.php.net/releases/active" | jq --raw-output '."${lib.versions.major version}"."${lib.versions.majorMinor version}".version') update-source-version "$UPDATE_NIX_ATTR_PATH.unwrapped" "$new_version" "--file=$1" ''; - in [ + in + [ script # Passed as an argument so that update.nix can ensure it does not become a store path. (./. + "/${lib.versions.majorMinor version}.nix") @@ -333,7 +379,9 @@ let overrideAttrs = f: let - newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) (lib.toExtension f); + newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) ( + lib.toExtension f + ); php = generic (args // { phpAttrsOverrides = newPhpAttrsOverrides; }); in php; @@ -347,7 +395,10 @@ let mainProgram = "php"; maintainers = teams.php.members; platforms = platforms.all; - outputsToInstall = [ "out" "dev" ]; + outputsToInstall = [ + "out" + "dev" + ]; }; }; final = attrs // (lib.toExtension phpAttrsOverrides) final attrs; diff --git a/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix b/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix index 9de0ec4418628..36d168f48d67d 100644 --- a/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix +++ b/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix @@ -1,5 +1,5 @@ { - fetchurl + fetchurl, }: fetchurl { diff --git a/pkgs/development/interpreters/python/conda/default.nix b/pkgs/development/interpreters/python/conda/default.nix index 77bda13f266c4..a3c3cd30ceb83 100644 --- a/pkgs/development/interpreters/python/conda/default.nix +++ b/pkgs/development/interpreters/python/conda/default.nix @@ -1,25 +1,29 @@ -{ pkgs }: { +{ pkgs }: +{ # List of libraries that are needed for conda binary packages. # When installing a conda binary package, just extend # the `buildInputs` with `condaAutopatchLibs`. - condaPatchelfLibs = builtins.map (p: p.lib or p) ([ - pkgs.alsa-lib - pkgs.cups - pkgs.gcc-unwrapped - pkgs.libGL - ] ++ (with pkgs.xorg; [ - libSM - libICE - libX11 - libXau - libXdamage - libXi - libXrender - libXrandr - libXcomposite - libXcursor - libXtst - libXScrnSaver]) + condaPatchelfLibs = builtins.map (p: p.lib or p) ( + [ + pkgs.alsa-lib + pkgs.cups + pkgs.gcc-unwrapped + pkgs.libGL + ] + ++ (with pkgs.xorg; [ + libSM + libICE + libX11 + libXau + libXdamage + libXi + libXrender + libXrandr + libXcomposite + libXcursor + libXtst + libXScrnSaver + ]) ); } diff --git a/pkgs/development/interpreters/python/cpython/docs/3.10-texinfo.nix b/pkgs/development/interpreters/python/cpython/docs/3.10-texinfo.nix index 35664e17cd685..fba3ae04e9cd4 100644 --- a/pkgs/development/interpreters/python/cpython/docs/3.10-texinfo.nix +++ b/pkgs/development/interpreters/python/cpython/docs/3.10-texinfo.nix @@ -1,6 +1,10 @@ # This file was generated and will be overwritten by ./generate.sh -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: stdenv.mkDerivation { pname = "python310-docs-texinfo"; diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index b4f7ca9cd8374..38afdb3026b9c 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -1,4 +1,5 @@ -self: dontUse: with self; +self: dontUse: +with self; let inherit (python) pythonOnBuildForHost; @@ -7,180 +8,257 @@ let pythonSitePackages = python.sitePackages; pythonCheckInterpreter = python.interpreter; setuppy = ../run_setup.py; -in { - makePythonHook = let - defaultArgs = { passthru.provides.setupHook = true; }; - in args: pkgs.makeSetupHook (lib.recursiveUpdate defaultArgs args); +in +{ + makePythonHook = + let + defaultArgs = { + passthru.provides.setupHook = true; + }; + in + args: pkgs.makeSetupHook (lib.recursiveUpdate defaultArgs args); - condaInstallHook = callPackage ({ makePythonHook, gnutar, lbzip2 }: + condaInstallHook = callPackage ( + { + makePythonHook, + gnutar, + lbzip2, + }: makePythonHook { name = "conda-install-hook"; - propagatedBuildInputs = [ gnutar lbzip2 ]; + propagatedBuildInputs = [ + gnutar + lbzip2 + ]; substitutions = { inherit pythonSitePackages; }; - } ./conda-install-hook.sh) {}; + } ./conda-install-hook.sh + ) { }; - condaUnpackHook = callPackage ({ makePythonHook }: + condaUnpackHook = callPackage ( + { makePythonHook }: makePythonHook { name = "conda-unpack-hook"; - propagatedBuildInputs = []; - } ./conda-unpack-hook.sh) {}; + propagatedBuildInputs = [ ]; + } ./conda-unpack-hook.sh + ) { }; - eggBuildHook = callPackage ({ makePythonHook }: + eggBuildHook = callPackage ( + { makePythonHook }: makePythonHook { name = "egg-build-hook.sh"; propagatedBuildInputs = [ ]; - } ./egg-build-hook.sh) {}; + } ./egg-build-hook.sh + ) { }; - eggInstallHook = callPackage ({ makePythonHook, setuptools }: + eggInstallHook = callPackage ( + { makePythonHook, setuptools }: makePythonHook { name = "egg-install-hook.sh"; propagatedBuildInputs = [ setuptools ]; substitutions = { inherit pythonInterpreter pythonSitePackages; }; - } ./egg-install-hook.sh) {}; + } ./egg-install-hook.sh + ) { }; - eggUnpackHook = callPackage ({ makePythonHook, }: + eggUnpackHook = callPackage ( + { makePythonHook }: makePythonHook { name = "egg-unpack-hook.sh"; propagatedBuildInputs = [ ]; - } ./egg-unpack-hook.sh) {}; + } ./egg-unpack-hook.sh + ) { }; - pipBuildHook = callPackage ({ makePythonHook, pip, wheel }: + pipBuildHook = callPackage ( + { + makePythonHook, + pip, + wheel, + }: makePythonHook { name = "pip-build-hook.sh"; - propagatedBuildInputs = [ pip wheel ]; + propagatedBuildInputs = [ + pip + wheel + ]; substitutions = { inherit pythonInterpreter pythonSitePackages; }; - } ./pip-build-hook.sh) {}; + } ./pip-build-hook.sh + ) { }; - pypaBuildHook = callPackage ({ makePythonHook, build, wheel }: - makePythonHook { - name = "pypa-build-hook.sh"; - propagatedBuildInputs = [ wheel ]; - substitutions = { - inherit build; - }; - # A test to ensure that this hook never propagates any of its dependencies - # into the build environment. - # This prevents false positive alerts raised by catchConflictsHook. - # Such conflicts don't happen within the standard nixpkgs python package - # set, but in downstream projects that build packages depending on other - # versions of this hook's dependencies. - passthru.tests = callPackage ./pypa-build-hook-test.nix { - inherit pythonOnBuildForHost; + pypaBuildHook = + callPackage + ( + { + makePythonHook, + build, + wheel, + }: + makePythonHook { + name = "pypa-build-hook.sh"; + propagatedBuildInputs = [ wheel ]; + substitutions = { + inherit build; + }; + # A test to ensure that this hook never propagates any of its dependencies + # into the build environment. + # This prevents false positive alerts raised by catchConflictsHook. + # Such conflicts don't happen within the standard nixpkgs python package + # set, but in downstream projects that build packages depending on other + # versions of this hook's dependencies. + passthru.tests = callPackage ./pypa-build-hook-test.nix { + inherit pythonOnBuildForHost; + }; + } ./pypa-build-hook.sh + ) + { + inherit (pythonOnBuildForHost.pkgs) build; }; - } ./pypa-build-hook.sh) { - inherit (pythonOnBuildForHost.pkgs) build; - }; - pipInstallHook = callPackage ({ makePythonHook, pip }: + pipInstallHook = callPackage ( + { makePythonHook, pip }: makePythonHook { name = "pip-install-hook"; propagatedBuildInputs = [ pip ]; substitutions = { inherit pythonInterpreter pythonSitePackages; }; - } ./pip-install-hook.sh) {}; + } ./pip-install-hook.sh + ) { }; - pypaInstallHook = callPackage ({ makePythonHook, installer }: - makePythonHook { - name = "pypa-install-hook"; - propagatedBuildInputs = [ installer ]; - substitutions = { - inherit pythonInterpreter pythonSitePackages; + pypaInstallHook = + callPackage + ( + { makePythonHook, installer }: + makePythonHook { + name = "pypa-install-hook"; + propagatedBuildInputs = [ installer ]; + substitutions = { + inherit pythonInterpreter pythonSitePackages; + }; + } ./pypa-install-hook.sh + ) + { + inherit (pythonOnBuildForHost.pkgs) installer; }; - } ./pypa-install-hook.sh) { - inherit (pythonOnBuildForHost.pkgs) installer; - }; - pytestCheckHook = callPackage ({ makePythonHook, pytest }: + pytestCheckHook = callPackage ( + { makePythonHook, pytest }: makePythonHook { name = "pytest-check-hook"; propagatedBuildInputs = [ pytest ]; substitutions = { inherit pythonCheckInterpreter; }; - } ./pytest-check-hook.sh) {}; + } ./pytest-check-hook.sh + ) { }; - pythonCatchConflictsHook = callPackage ({ makePythonHook, setuptools }: + pythonCatchConflictsHook = callPackage ( + { makePythonHook, setuptools }: makePythonHook { name = "python-catch-conflicts-hook"; - substitutions = let - useLegacyHook = lib.versionOlder python.pythonVersion "3"; - in { - inherit pythonInterpreter pythonSitePackages; - catchConflicts = if useLegacyHook then - ../catch_conflicts/catch_conflicts_py2.py - else - ../catch_conflicts/catch_conflicts.py; - } // lib.optionalAttrs useLegacyHook { - inherit setuptools; - }; + substitutions = + let + useLegacyHook = lib.versionOlder python.pythonVersion "3"; + in + { + inherit pythonInterpreter pythonSitePackages; + catchConflicts = + if useLegacyHook then + ../catch_conflicts/catch_conflicts_py2.py + else + ../catch_conflicts/catch_conflicts.py; + } + // lib.optionalAttrs useLegacyHook { + inherit setuptools; + }; passthru.tests = import ./python-catch-conflicts-hook-tests.nix { inherit pythonOnBuildForHost runCommand; inherit lib; inherit (pkgs) coreutils gnugrep writeShellScript; }; - } ./python-catch-conflicts-hook.sh) {}; + } ./python-catch-conflicts-hook.sh + ) { }; - pythonImportsCheckHook = callPackage ({ makePythonHook }: + pythonImportsCheckHook = callPackage ( + { makePythonHook }: makePythonHook { name = "python-imports-check-hook.sh"; substitutions = { inherit pythonCheckInterpreter pythonSitePackages; }; - } ./python-imports-check-hook.sh) {}; + } ./python-imports-check-hook.sh + ) { }; - pythonNamespacesHook = callPackage ({ makePythonHook, buildPackages }: + pythonNamespacesHook = callPackage ( + { makePythonHook, buildPackages }: makePythonHook { name = "python-namespaces-hook.sh"; substitutions = { inherit pythonSitePackages; inherit (buildPackages) findutils; }; - } ./python-namespaces-hook.sh) {}; + } ./python-namespaces-hook.sh + ) { }; - pythonOutputDistHook = callPackage ({ makePythonHook }: + pythonOutputDistHook = callPackage ( + { makePythonHook }: makePythonHook { name = "python-output-dist-hook"; - } ./python-output-dist-hook.sh ) {}; + } ./python-output-dist-hook.sh + ) { }; - pythonRecompileBytecodeHook = callPackage ({ makePythonHook }: + pythonRecompileBytecodeHook = callPackage ( + { makePythonHook }: makePythonHook { name = "python-recompile-bytecode-hook"; substitutions = { inherit pythonInterpreter pythonSitePackages; - compileArgs = lib.concatStringsSep " " (["-q" "-f" "-i -"] ++ lib.optionals isPy3k ["-j $NIX_BUILD_CORES"]); + compileArgs = lib.concatStringsSep " " ( + [ + "-q" + "-f" + "-i -" + ] + ++ lib.optionals isPy3k [ "-j $NIX_BUILD_CORES" ] + ); bytecodeName = if isPy3k then "__pycache__" else "*.pyc"; }; - } ./python-recompile-bytecode-hook.sh ) {}; + } ./python-recompile-bytecode-hook.sh + ) { }; - pythonRelaxDepsHook = callPackage ({ makePythonHook, wheel }: + pythonRelaxDepsHook = callPackage ( + { makePythonHook, wheel }: makePythonHook { name = "python-relax-deps-hook"; substitutions = { inherit pythonInterpreter pythonSitePackages wheel; }; - } ./python-relax-deps-hook.sh) {}; + } ./python-relax-deps-hook.sh + ) { }; - pythonRemoveBinBytecodeHook = callPackage ({ makePythonHook }: + pythonRemoveBinBytecodeHook = callPackage ( + { makePythonHook }: makePythonHook { name = "python-remove-bin-bytecode-hook"; - } ./python-remove-bin-bytecode-hook.sh) {}; + } ./python-remove-bin-bytecode-hook.sh + ) { }; - pythonRemoveTestsDirHook = callPackage ({ makePythonHook }: + pythonRemoveTestsDirHook = callPackage ( + { makePythonHook }: makePythonHook { name = "python-remove-tests-dir-hook"; substitutions = { inherit pythonSitePackages; }; - } ./python-remove-tests-dir-hook.sh) {}; + } ./python-remove-tests-dir-hook.sh + ) { }; - pythonRuntimeDepsCheckHook = callPackage ({ makePythonHook, packaging }: + pythonRuntimeDepsCheckHook = callPackage ( + { makePythonHook, packaging }: makePythonHook { name = "python-runtime-deps-check-hook.sh"; propagatedBuildInputs = [ packaging ]; @@ -188,66 +266,91 @@ in { inherit pythonInterpreter pythonSitePackages; hook = ./python-runtime-deps-check-hook.py; }; - } ./python-runtime-deps-check-hook.sh) {}; + } ./python-runtime-deps-check-hook.sh + ) { }; - setuptoolsBuildHook = callPackage ({ makePythonHook, setuptools, wheel }: + setuptoolsBuildHook = callPackage ( + { + makePythonHook, + setuptools, + wheel, + }: makePythonHook { name = "setuptools-build-hook"; - propagatedBuildInputs = [ setuptools wheel ]; + propagatedBuildInputs = [ + setuptools + wheel + ]; substitutions = { inherit pythonInterpreter setuppy; # python2.pkgs.setuptools does not support parallelism setuptools_has_parallel = setuptools != null && lib.versionAtLeast setuptools.version "69"; }; - } ./setuptools-build-hook.sh) {}; + } ./setuptools-build-hook.sh + ) { }; setuptoolsCheckHook = throw "The setuptoolsCheckHook has been removed, since the test command has been removed in setuptools 72.0"; - setuptoolsRustBuildHook = callPackage ({ makePythonHook, setuptools-rust }: - makePythonHook { - name = "setuptools-rust-setup-hook"; - propagatedBuildInputs = [ setuptools-rust ]; - substitutions = { - pyLibDir = "${python}/lib/${python.libPrefix}"; - cargoBuildTarget = stdenv.hostPlatform.rust.rustcTargetSpec; - cargoLinkerVar = stdenv.hostPlatform.rust.cargoEnvVarTarget; - targetLinker = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; - }; - } ./setuptools-rust-hook.sh) {}; - - unittestCheckHook = callPackage ({ makePythonHook }: + setuptoolsRustBuildHook = callPackage ( + { makePythonHook, setuptools-rust }: makePythonHook { - name = "unittest-check-hook"; + name = "setuptools-rust-setup-hook"; + propagatedBuildInputs = [ setuptools-rust ]; substitutions = { - inherit pythonCheckInterpreter; + pyLibDir = "${python}/lib/${python.libPrefix}"; + cargoBuildTarget = stdenv.hostPlatform.rust.rustcTargetSpec; + cargoLinkerVar = stdenv.hostPlatform.rust.cargoEnvVarTarget; + targetLinker = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; }; - } ./unittest-check-hook.sh) {}; + } ./setuptools-rust-hook.sh + ) { }; - venvShellHook = disabledIf (!isPy3k) (callPackage ({ makePythonHook, ensureNewerSourcesForZipFilesHook }: + unittestCheckHook = callPackage ( + { makePythonHook }: makePythonHook { - name = "venv-shell-hook"; - propagatedBuildInputs = [ ensureNewerSourcesForZipFilesHook ]; + name = "unittest-check-hook"; substitutions = { - inherit pythonInterpreter; + inherit pythonCheckInterpreter; }; - } ./venv-shell-hook.sh) {}); + } ./unittest-check-hook.sh + ) { }; + + venvShellHook = disabledIf (!isPy3k) ( + callPackage ( + { makePythonHook, ensureNewerSourcesForZipFilesHook }: + makePythonHook { + name = "venv-shell-hook"; + propagatedBuildInputs = [ ensureNewerSourcesForZipFilesHook ]; + substitutions = { + inherit pythonInterpreter; + }; + } ./venv-shell-hook.sh + ) { } + ); - wheelUnpackHook = callPackage ({ makePythonHook, wheel }: + wheelUnpackHook = callPackage ( + { makePythonHook, wheel }: makePythonHook { name = "wheel-unpack-hook.sh"; propagatedBuildInputs = [ wheel ]; - } ./wheel-unpack-hook.sh) {}; + } ./wheel-unpack-hook.sh + ) { }; wrapPython = callPackage ../wrap-python.nix { inherit (pkgs.buildPackages) makeWrapper; }; - sphinxHook = callPackage ({ makePythonHook, installShellFiles }: + sphinxHook = callPackage ( + { makePythonHook, installShellFiles }: makePythonHook { name = "python${python.pythonVersion}-sphinx-hook"; - propagatedBuildInputs = [ pythonOnBuildForHost.pkgs.sphinx installShellFiles ]; + propagatedBuildInputs = [ + pythonOnBuildForHost.pkgs.sphinx + installShellFiles + ]; substitutions = { sphinxBuild = "${pythonOnBuildForHost.pkgs.sphinx}/bin/sphinx-build"; }; - } ./sphinx-hook.sh) {}; + } ./sphinx-hook.sh + ) { }; } diff --git a/pkgs/development/interpreters/python/hooks/pypa-build-hook-test.nix b/pkgs/development/interpreters/python/hooks/pypa-build-hook-test.nix index f862429d3987b..9a9fea7bce05c 100644 --- a/pkgs/development/interpreters/python/hooks/pypa-build-hook-test.nix +++ b/pkgs/development/interpreters/python/hooks/pypa-build-hook-test.nix @@ -1,19 +1,21 @@ -{ pythonOnBuildForHost, runCommand }: { - dont-propagate-conflicting-deps = let - # customize a package so that its store paths differs - mkConflict = pkg: pkg.overrideAttrs { some_modification = true; }; - # minimal pyproject.toml for the example project - pyprojectToml = builtins.toFile "pyproject.toml" '' - [project] - name = "my-project" - version = "1.0.0" - ''; - # the source of the example project - projectSource = runCommand "my-project-source" {} '' - mkdir -p $out/src/my_project - cp ${pyprojectToml} $out/pyproject.toml - touch $out/src/my_project/__init__.py - ''; +{ pythonOnBuildForHost, runCommand }: +{ + dont-propagate-conflicting-deps = + let + # customize a package so that its store paths differs + mkConflict = pkg: pkg.overrideAttrs { some_modification = true; }; + # minimal pyproject.toml for the example project + pyprojectToml = builtins.toFile "pyproject.toml" '' + [project] + name = "my-project" + version = "1.0.0" + ''; + # the source of the example project + projectSource = runCommand "my-project-source" { } '' + mkdir -p $out/src/my_project + cp ${pyprojectToml} $out/pyproject.toml + touch $out/src/my_project/__init__.py + ''; in # this build must never triger conflicts pythonOnBuildForHost.pkgs.buildPythonPackage { diff --git a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix index 2a77ef015015e..dfa237c96174e 100644 --- a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix +++ b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix @@ -1,4 +1,12 @@ -{ lib, pythonOnBuildForHost, runCommand, writeShellScript, coreutils, gnugrep }: let +{ + lib, + pythonOnBuildForHost, + runCommand, + writeShellScript, + coreutils, + gnugrep, +}: +let pythonPkgs = pythonOnBuildForHost.pkgs; @@ -8,52 +16,61 @@ customize = pkg: pkg.overrideAttrs { some_modification = true; }; # generates minimal pyproject.toml - pyprojectToml = pname: builtins.toFile "pyproject.toml" '' - [project] - name = "${pname}" - version = "1.0.0" - ''; + pyprojectToml = + pname: + builtins.toFile "pyproject.toml" '' + [project] + name = "${pname}" + version = "1.0.0" + ''; # generates source for a python project - projectSource = pname: runCommand "my-project-source" {} '' - mkdir -p $out/src - cp ${pyprojectToml pname} $out/pyproject.toml - touch $out/src/__init__.py - ''; + projectSource = + pname: + runCommand "my-project-source" { } '' + mkdir -p $out/src + cp ${pyprojectToml pname} $out/pyproject.toml + touch $out/src/__init__.py + ''; # helper to reduce boilerplate - generatePythonPackage = args: pythonPkgs.buildPythonPackage ( - { - version = "1.0.0"; - src = runCommand "my-project-source" {} '' - mkdir -p $out/src - cp ${pyprojectToml args.pname} $out/pyproject.toml - touch $out/src/__init__.py - ''; - pyproject = true; - catchConflicts = true; - buildInputs = [ pythonPkgs.setuptools ]; - } - // args - ); + generatePythonPackage = + args: + pythonPkgs.buildPythonPackage ( + { + version = "1.0.0"; + src = runCommand "my-project-source" { } '' + mkdir -p $out/src + cp ${pyprojectToml args.pname} $out/pyproject.toml + touch $out/src/__init__.py + ''; + pyproject = true; + catchConflicts = true; + buildInputs = [ pythonPkgs.setuptools ]; + } + // args + ); # in order to test for a failing build, wrap it in a shell script - expectFailure = build: errorMsg: lib.overrideDerivation build (old: { - builder = writeShellScript "test-for-failure" '' - export PATH=${coreutils}/bin:${gnugrep}/bin:$PATH - ${old.builder} "$@" > ./log 2>&1 - status=$? - cat ./log - if [ $status -eq 0 ] || ! grep -q "${errorMsg}" ./log; then - echo "The build should have failed with '${errorMsg}', but it didn't" - exit 1 - else - echo "The build failed as expected with: ${errorMsg}" - mkdir -p $out - fi - ''; - }); -in { + expectFailure = + build: errorMsg: + lib.overrideDerivation build (old: { + builder = writeShellScript "test-for-failure" '' + export PATH=${coreutils}/bin:${gnugrep}/bin:$PATH + ${old.builder} "$@" > ./log 2>&1 + status=$? + cat ./log + if [ $status -eq 0 ] || ! grep -q "${errorMsg}" ./log; then + echo "The build should have failed with '${errorMsg}', but it didn't" + exit 1 + else + echo "The build failed as expected with: ${errorMsg}" + mkdir -p $out + fi + ''; + }); +in +{ ### TEST CASES @@ -61,55 +78,53 @@ in { # This derivation has runtime dependencies on custom versions of multiple build tools. # This scenario is relevant for lang2nix tools which do not override the nixpkgs fix-point. # see https://github.com/NixOS/nixpkgs/issues/283695 - ignores-build-time-deps = - generatePythonPackage { - pname = "ignores-build-time-deps"; - buildInputs = [ - pythonPkgs.build - pythonPkgs.packaging - pythonPkgs.setuptools - pythonPkgs.wheel - ]; - propagatedBuildInputs = [ - # Add customized versions of build tools as runtime deps - (customize pythonPkgs.packaging) - (customize pythonPkgs.setuptools) - (customize pythonPkgs.wheel) - ]; - }; + ignores-build-time-deps = generatePythonPackage { + pname = "ignores-build-time-deps"; + buildInputs = [ + pythonPkgs.build + pythonPkgs.packaging + pythonPkgs.setuptools + pythonPkgs.wheel + ]; + propagatedBuildInputs = [ + # Add customized versions of build tools as runtime deps + (customize pythonPkgs.packaging) + (customize pythonPkgs.setuptools) + (customize pythonPkgs.wheel) + ]; + }; # multi-output derivation with dependency on itself must not crash - cyclic-dependencies = - generatePythonPackage { - pname = "cyclic-dependencies"; - preFixup = '' - propagatedBuildInputs+=("$out") - ''; - }; + cyclic-dependencies = generatePythonPackage { + pname = "cyclic-dependencies"; + preFixup = '' + propagatedBuildInputs+=("$out") + ''; + }; # Simplest test case that should trigger a conflict - catches-simple-conflict = let - # this build must fail due to conflicts - package = pythonPkgs.buildPythonPackage rec { - pname = "catches-simple-conflict"; - version = "0.0.0"; - src = projectSource pname; - pyproject = true; - catchConflicts = true; - buildInputs = [ - pythonPkgs.setuptools - ]; - # depend on two different versions of packaging - # (an actual runtime dependency conflict) - propagatedBuildInputs = [ - pythonPkgs.packaging - (customize pythonPkgs.packaging) - ]; - }; - in + catches-simple-conflict = + let + # this build must fail due to conflicts + package = pythonPkgs.buildPythonPackage rec { + pname = "catches-simple-conflict"; + version = "0.0.0"; + src = projectSource pname; + pyproject = true; + catchConflicts = true; + buildInputs = [ + pythonPkgs.setuptools + ]; + # depend on two different versions of packaging + # (an actual runtime dependency conflict) + propagatedBuildInputs = [ + pythonPkgs.packaging + (customize pythonPkgs.packaging) + ]; + }; + in expectFailure package "Found duplicated packages in closure for dependency 'packaging'"; - /* More complex test case with a transitive conflict @@ -121,27 +136,31 @@ in { └── dep2 └── leaf (customized version -> conflicting) */ - catches-transitive-conflict = let - # package depending on both dependency1 and dependency2 - toplevel = generatePythonPackage { - pname = "catches-transitive-conflict"; - propagatedBuildInputs = [ dep1 dep2 ]; - }; - # dep1 package depending on leaf - dep1 = generatePythonPackage { - pname = "dependency1"; - propagatedBuildInputs = [ leaf ]; - }; - # dep2 package depending on conflicting version of leaf - dep2 = generatePythonPackage { - pname = "dependency2"; - propagatedBuildInputs = [ (customize leaf) ]; - }; - # some leaf package - leaf = generatePythonPackage { - pname = "leaf"; - }; - in + catches-transitive-conflict = + let + # package depending on both dependency1 and dependency2 + toplevel = generatePythonPackage { + pname = "catches-transitive-conflict"; + propagatedBuildInputs = [ + dep1 + dep2 + ]; + }; + # dep1 package depending on leaf + dep1 = generatePythonPackage { + pname = "dependency1"; + propagatedBuildInputs = [ leaf ]; + }; + # dep2 package depending on conflicting version of leaf + dep2 = generatePythonPackage { + pname = "dependency2"; + propagatedBuildInputs = [ (customize leaf) ]; + }; + # some leaf package + leaf = generatePythonPackage { + pname = "leaf"; + }; + in expectFailure toplevel "Found duplicated packages in closure for dependency 'leaf'"; /* @@ -158,31 +177,36 @@ in { └── dep3 └── leaf (customized version -> conflicting) */ - catches-conflict-multiple-chains = let - # package depending on dependency1, dependency2 and dependency3 - toplevel = generatePythonPackage { - pname = "catches-conflict-multiple-chains"; - propagatedBuildInputs = [ dep1 dep2 dep3 ]; - }; - # dep1 package depending on leaf - dep1 = generatePythonPackage { - pname = "dependency1"; - propagatedBuildInputs = [ leaf ]; - }; - # dep2 package depending on leaf - dep2 = generatePythonPackage { - pname = "dependency2"; - propagatedBuildInputs = [ leaf ]; - }; - # dep3 package depending on conflicting version of leaf - dep3 = generatePythonPackage { - pname = "dependency3"; - propagatedBuildInputs = [ (customize leaf) ]; - }; - # some leaf package - leaf = generatePythonPackage { - pname = "leaf"; - }; - in + catches-conflict-multiple-chains = + let + # package depending on dependency1, dependency2 and dependency3 + toplevel = generatePythonPackage { + pname = "catches-conflict-multiple-chains"; + propagatedBuildInputs = [ + dep1 + dep2 + dep3 + ]; + }; + # dep1 package depending on leaf + dep1 = generatePythonPackage { + pname = "dependency1"; + propagatedBuildInputs = [ leaf ]; + }; + # dep2 package depending on leaf + dep2 = generatePythonPackage { + pname = "dependency2"; + propagatedBuildInputs = [ leaf ]; + }; + # dep3 package depending on conflicting version of leaf + dep3 = generatePythonPackage { + pname = "dependency3"; + propagatedBuildInputs = [ (customize leaf) ]; + }; + # some leaf package + leaf = generatePythonPackage { + pname = "leaf"; + }; + in expectFailure toplevel "Found duplicated packages in closure for dependency 'leaf'"; } diff --git a/pkgs/development/interpreters/python/manylinux/default.nix b/pkgs/development/interpreters/python/manylinux/default.nix index ba20c0d3a4cda..4b7110bab4135 100644 --- a/pkgs/development/interpreters/python/manylinux/default.nix +++ b/pkgs/development/interpreters/python/manylinux/default.nix @@ -2,75 +2,87 @@ let # Create a derivation that links all desired manylinux libraries - createManyLinuxPackage = name: libs: let - drvs = lib.unique (lib.attrValues libs); - names = lib.attrNames libs; - in pkgs.runCommand name { - buildInputs = drvs; - } '' - mkdir -p $out/lib - num_found=0 + createManyLinuxPackage = + name: libs: + let + drvs = lib.unique (lib.attrValues libs); + names = lib.attrNames libs; + in + pkgs.runCommand name + { + buildInputs = drvs; + } + '' + mkdir -p $out/lib + num_found=0 - IFS=: - export DESIRED_LIBRARIES=${lib.concatStringsSep ":" names} - export LIBRARY_PATH=${lib.makeLibraryPath drvs} - for desired in $DESIRED_LIBRARIES; do - for path in $LIBRARY_PATH; do - if [ -e $path/$desired ]; then - echo "FOUND $path/$desired" - ln -s $path/$desired $out/lib/$desired - num_found=$((num_found+1)) - break - fi - done - done + IFS=: + export DESIRED_LIBRARIES=${lib.concatStringsSep ":" names} + export LIBRARY_PATH=${lib.makeLibraryPath drvs} + for desired in $DESIRED_LIBRARIES; do + for path in $LIBRARY_PATH; do + if [ -e $path/$desired ]; then + echo "FOUND $path/$desired" + ln -s $path/$desired $out/lib/$desired + num_found=$((num_found+1)) + break + fi + done + done - num_desired=${toString (lib.length names)} - echo "Found $num_found of $num_desired libraries" - if [ "$num_found" -ne "$num_desired" ]; then - echo "Error: not all desired libraries were found" - exit 1 - fi - ''; + num_desired=${toString (lib.length names)} + echo "Found $num_found of $num_desired libraries" + if [ "$num_found" -ne "$num_desired" ]; then + echo "Error: not all desired libraries were found" + exit 1 + fi + ''; getLibOutputs = lib.mapAttrs (k: v: lib.getLib v); # https://www.python.org/dev/peps/pep-0599/ - manylinux2014Libs = getLibOutputs(with pkgs; { - "libgcc_s.so.1" = glibc; - "libstdc++.so.6" = stdenv.cc.cc; - "libm.so.6" = glibc; - "libdl.so.2" = glibc; - "librt.so.1" = glibc; - "libc.so.6" = glibc; - "libnsl.so.1" = glibc; - "libutil.so.1" = glibc; - "libpthread.so.0" = glibc; - "libresolv.so.2" = glibc; - "libX11.so.6" = xorg.libX11; - "libXext.so.6" = xorg.libXext; - "libXrender.so.1" = xorg.libXrender; - "libICE.so.6" = xorg.libICE; - "libSM.so.6" = xorg.libSM; - "libGL.so.1" = libGL; - "libgobject-2.0.so.0" = glib; - "libgthread-2.0.so.0" = glib; - "libglib-2.0.so.0" = glib; - "libz.so.1" = zlib; - "libexpat.so.1" = expat; - }); + manylinux2014Libs = getLibOutputs ( + with pkgs; + { + "libgcc_s.so.1" = glibc; + "libstdc++.so.6" = stdenv.cc.cc; + "libm.so.6" = glibc; + "libdl.so.2" = glibc; + "librt.so.1" = glibc; + "libc.so.6" = glibc; + "libnsl.so.1" = glibc; + "libutil.so.1" = glibc; + "libpthread.so.0" = glibc; + "libresolv.so.2" = glibc; + "libX11.so.6" = xorg.libX11; + "libXext.so.6" = xorg.libXext; + "libXrender.so.1" = xorg.libXrender; + "libICE.so.6" = xorg.libICE; + "libSM.so.6" = xorg.libSM; + "libGL.so.1" = libGL; + "libgobject-2.0.so.0" = glib; + "libgthread-2.0.so.0" = glib; + "libglib-2.0.so.0" = glib; + "libz.so.1" = zlib; + "libexpat.so.1" = expat; + } + ); # https://www.python.org/dev/peps/pep-0571/ manylinux2010Libs = manylinux2014Libs; # https://www.python.org/dev/peps/pep-0513/ - manylinux1Libs = getLibOutputs(manylinux2010Libs // (with pkgs; { - "libpanelw.so.5" = ncurses5; - "libncursesw.so.5" = ncurses5; - "libcrypt.so.1" = libxcrypt; - })); + manylinux1Libs = getLibOutputs ( + manylinux2010Libs + // (with pkgs; { + "libpanelw.so.5" = ncurses5; + "libncursesw.so.5" = ncurses5; + "libcrypt.so.1" = libxcrypt; + }) + ); -in { +in +{ # List of libraries that are needed for manylinux compatibility. # When using a wheel that is manylinux1 compatible, just extend # the `buildInputs` with one of these `manylinux` lists. diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 2337b2eaa7c7f..2287cec672bcb 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -1,45 +1,63 @@ # Generic builder. -{ lib -, config -, python -, wrapPython -, unzip -, ensureNewerSourcesForZipFilesHook -# Whether the derivation provides a Python module or not. -, toPythonModule -, namePrefix -, update-python-libraries -, setuptools -, pypaBuildHook -, pypaInstallHook -, pythonCatchConflictsHook -, pythonImportsCheckHook -, pythonNamespacesHook -, pythonOutputDistHook -, pythonRelaxDepsHook -, pythonRemoveBinBytecodeHook -, pythonRemoveTestsDirHook -, pythonRuntimeDepsCheckHook -, setuptoolsBuildHook -, wheelUnpackHook -, eggUnpackHook -, eggBuildHook -, eggInstallHook +{ + lib, + config, + python, + wrapPython, + unzip, + ensureNewerSourcesForZipFilesHook, + # Whether the derivation provides a Python module or not. + toPythonModule, + namePrefix, + update-python-libraries, + setuptools, + pypaBuildHook, + pypaInstallHook, + pythonCatchConflictsHook, + pythonImportsCheckHook, + pythonNamespacesHook, + pythonOutputDistHook, + pythonRelaxDepsHook, + pythonRemoveBinBytecodeHook, + pythonRemoveTestsDirHook, + pythonRuntimeDepsCheckHook, + setuptoolsBuildHook, + wheelUnpackHook, + eggUnpackHook, + eggBuildHook, + eggInstallHook, }: let inherit (builtins) unsafeGetAttrPos; inherit (lib) - elem optionalString max stringLength fixedWidthString getName - optional optionals optionalAttrs hasSuffix escapeShellArgs - extendDerivation head splitString isBool; - - leftPadName = name: against: let + elem + optionalString + max + stringLength + fixedWidthString + getName + optional + optionals + optionalAttrs + hasSuffix + escapeShellArgs + extendDerivation + head + splitString + isBool + ; + + leftPadName = + name: against: + let len = max (stringLength name) (stringLength against); - in fixedWidthString len " " name; + in + fixedWidthString len " " name; - isPythonModule = drv: + isPythonModule = + drv: # all pythonModules have the pythonModule attribute (drv ? "pythonModule") # Some pythonModules are turned in to a pythonApplication by setting the field to false @@ -47,121 +65,152 @@ let isMismatchedPython = drv: drv.pythonModule != python; - withDistOutput' = lib.flip elem ["pyproject" "setuptools" "wheel"]; - - isBootstrapInstallPackage' = lib.flip elem [ "flit-core" "installer" ]; + withDistOutput' = lib.flip elem [ + "pyproject" + "setuptools" + "wheel" + ]; - isBootstrapPackage' = lib.flip elem ([ - "build" "packaging" "pyproject-hooks" "wheel" - ] ++ optionals (python.pythonOlder "3.11") [ - "tomli" - ]); + isBootstrapInstallPackage' = lib.flip elem [ + "flit-core" + "installer" + ]; - isSetuptoolsDependency' = lib.flip elem [ "setuptools" "wheel" ]; + isBootstrapPackage' = lib.flip elem ( + [ + "build" + "packaging" + "pyproject-hooks" + "wheel" + ] + ++ optionals (python.pythonOlder "3.11") [ + "tomli" + ] + ); + + isSetuptoolsDependency' = lib.flip elem [ + "setuptools" + "wheel" + ]; cleanAttrs = lib.flip removeAttrs [ - "disabled" "checkPhase" "checkInputs" "nativeCheckInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "pyproject" "format" - "disabledTestPaths" "disabledTests" "pytestFlagsArray" "unittestFlagsArray" "outputs" "stdenv" - "dependencies" "optional-dependencies" "build-system" + "disabled" + "checkPhase" + "checkInputs" + "nativeCheckInputs" + "doCheck" + "doInstallCheck" + "dontWrapPythonPrograms" + "catchConflicts" + "pyproject" + "format" + "disabledTestPaths" + "disabledTests" + "pytestFlagsArray" + "unittestFlagsArray" + "outputs" + "stdenv" + "dependencies" + "optional-dependencies" + "build-system" ]; in -{ name ? "${attrs.pname}-${attrs.version}" +{ + name ? "${attrs.pname}-${attrs.version}", -# Build-time dependencies for the package -, nativeBuildInputs ? [] + # Build-time dependencies for the package + nativeBuildInputs ? [ ], -# Run-time dependencies for the package -, buildInputs ? [] + # Run-time dependencies for the package + buildInputs ? [ ], -# Dependencies needed for running the checkPhase. -# These are added to buildInputs when doCheck = true. -, checkInputs ? [] -, nativeCheckInputs ? [] + # Dependencies needed for running the checkPhase. + # These are added to buildInputs when doCheck = true. + checkInputs ? [ ], + nativeCheckInputs ? [ ], -# propagate build dependencies so in case we have A -> B -> C, -# C can import package A propagated by B -, propagatedBuildInputs ? [] + # propagate build dependencies so in case we have A -> B -> C, + # C can import package A propagated by B + propagatedBuildInputs ? [ ], -# Python module dependencies. -# These are named after PEP-621. -, dependencies ? [] -, optional-dependencies ? {} + # Python module dependencies. + # These are named after PEP-621. + dependencies ? [ ], + optional-dependencies ? { }, -# Python PEP-517 build systems. -, build-system ? [] + # Python PEP-517 build systems. + build-system ? [ ], -# DEPRECATED: use propagatedBuildInputs -, pythonPath ? [] + # DEPRECATED: use propagatedBuildInputs + pythonPath ? [ ], -# Enabled to detect some (native)BuildInputs mistakes -, strictDeps ? true + # Enabled to detect some (native)BuildInputs mistakes + strictDeps ? true, -, outputs ? [ "out" ] + outputs ? [ "out" ], -# used to disable derivation, useful for specific python versions -, disabled ? false + # used to disable derivation, useful for specific python versions + disabled ? false, -# Raise an error if two packages are installed with the same name -# TODO: For cross we probably need a different PYTHONPATH, or not -# add the runtime deps until after buildPhase. -, catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform) + # Raise an error if two packages are installed with the same name + # TODO: For cross we probably need a different PYTHONPATH, or not + # add the runtime deps until after buildPhase. + catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform), -# Additional arguments to pass to the makeWrapper function, which wraps -# generated binaries. -, makeWrapperArgs ? [] + # Additional arguments to pass to the makeWrapper function, which wraps + # generated binaries. + makeWrapperArgs ? [ ], -# Skip wrapping of python programs altogether -, dontWrapPythonPrograms ? false + # Skip wrapping of python programs altogether + dontWrapPythonPrograms ? false, -# Don't use Pip to install a wheel -# Note this is actually a variable for the pipInstallPhase in pip's setupHook. -# It's included here to prevent an infinite recursion. -, dontUsePipInstall ? false + # Don't use Pip to install a wheel + # Note this is actually a variable for the pipInstallPhase in pip's setupHook. + # It's included here to prevent an infinite recursion. + dontUsePipInstall ? false, -# Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs -, permitUserSite ? false + # Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs + permitUserSite ? false, -# Remove bytecode from bin folder. -# When a Python script has the extension `.py`, bytecode is generated -# Typically, executables in bin have no extension, so no bytecode is generated. -# However, some packages do provide executables with extensions, and thus bytecode is generated. -, removeBinBytecode ? true + # Remove bytecode from bin folder. + # When a Python script has the extension `.py`, bytecode is generated + # Typically, executables in bin have no extension, so no bytecode is generated. + # However, some packages do provide executables with extensions, and thus bytecode is generated. + removeBinBytecode ? true, -# pyproject = true <-> format = "pyproject" -# pyproject = false <-> format = "other" -# https://github.com/NixOS/nixpkgs/issues/253154 -, pyproject ? null + # pyproject = true <-> format = "pyproject" + # pyproject = false <-> format = "other" + # https://github.com/NixOS/nixpkgs/issues/253154 + pyproject ? null, -# Several package formats are supported. -# "setuptools" : Install a common setuptools/distutils based package. This builds a wheel. -# "wheel" : Install from a pre-compiled wheel. -# "pyproject": Install a package using a ``pyproject.toml`` file (PEP517). This builds a wheel. -# "egg": Install a package from an egg. -# "other" : Provide your own buildPhase and installPhase. -, format ? null + # Several package formats are supported. + # "setuptools" : Install a common setuptools/distutils based package. This builds a wheel. + # "wheel" : Install from a pre-compiled wheel. + # "pyproject": Install a package using a ``pyproject.toml`` file (PEP517). This builds a wheel. + # "egg": Install a package from an egg. + # "other" : Provide your own buildPhase and installPhase. + format ? null, -, meta ? {} + meta ? { }, -, doCheck ? true + doCheck ? true, -, disabledTestPaths ? [] + disabledTestPaths ? [ ], -# Allow passing in a custom stdenv to buildPython* -, stdenv ? python.stdenv + # Allow passing in a custom stdenv to buildPython* + stdenv ? python.stdenv, -, ... } @ attrs: + ... +}@attrs: assert (pyproject != null) -> (format == null); let format' = if pyproject != null then - if pyproject then - "pyproject" - else - "other" + if pyproject then "pyproject" else "other" else if format != null then format else @@ -169,45 +218,52 @@ let withDistOutput = withDistOutput' format'; - validatePythonMatches = let - throwMismatch = attrName: drv: let - myName = "'${namePrefix}${name}'"; - theirName = "'${drv.name}'"; - optionalLocation = let - pos = unsafeGetAttrPos (if attrs ? "pname" then "pname" else "name") attrs; - in optionalString (pos != null) " at ${pos.file}:${toString pos.line}:${toString pos.column}"; - in throw '' - Python version mismatch in ${myName}: + validatePythonMatches = + let + throwMismatch = + attrName: drv: + let + myName = "'${namePrefix}${name}'"; + theirName = "'${drv.name}'"; + optionalLocation = + let + pos = unsafeGetAttrPos (if attrs ? "pname" then "pname" else "name") attrs; + in + optionalString (pos != null) " at ${pos.file}:${toString pos.line}:${toString pos.column}"; + in + throw '' + Python version mismatch in ${myName}: - The Python derivation ${myName} depends on a Python derivation - named ${theirName}, but the two derivations use different versions - of Python: + The Python derivation ${myName} depends on a Python derivation + named ${theirName}, but the two derivations use different versions + of Python: - ${leftPadName myName theirName} uses ${python} - ${leftPadName theirName myName} uses ${toString drv.pythonModule} + ${leftPadName myName theirName} uses ${python} + ${leftPadName theirName myName} uses ${toString drv.pythonModule} - Possible solutions: + Possible solutions: - * If ${theirName} is a Python library, change the reference to ${theirName} - in the ${attrName} of ${myName} to use a ${theirName} built from the same - version of Python + * If ${theirName} is a Python library, change the reference to ${theirName} + in the ${attrName} of ${myName} to use a ${theirName} built from the same + version of Python - * If ${theirName} is used as a tool during the build, move the reference to - ${theirName} in ${myName} from ${attrName} to nativeBuildInputs + * If ${theirName} is used as a tool during the build, move the reference to + ${theirName} in ${myName} from ${attrName} to nativeBuildInputs - * If ${theirName} provides executables that are called at run time, pass its - bin path to makeWrapperArgs: + * If ${theirName} provides executables that are called at run time, pass its + bin path to makeWrapperArgs: - makeWrapperArgs = [ "--prefix PATH : ''${lib.makeBinPath [ ${getName drv } ] }" ]; + makeWrapperArgs = [ "--prefix PATH : ''${lib.makeBinPath [ ${getName drv} ] }" ]; - ${optionalLocation} - ''; + ${optionalLocation} + ''; - checkDrv = attrName: drv: - if (isPythonModule drv) && (isMismatchedPython drv) then throwMismatch attrName drv - else drv; + checkDrv = + attrName: drv: + if (isPythonModule drv) && (isMismatchedPython drv) then throwMismatch attrName drv else drv; - in attrName: inputs: map (checkDrv attrName) inputs; + in + attrName: inputs: map (checkDrv attrName) inputs; isBootstrapInstallPackage = isBootstrapInstallPackage' (attrs.pname or null); @@ -216,137 +272,183 @@ let isSetuptoolsDependency = isSetuptoolsDependency' (attrs.pname or null); # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. - self = toPythonModule (stdenv.mkDerivation ((cleanAttrs attrs) // { - - name = namePrefix + name; - - nativeBuildInputs = [ - python - wrapPython - ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, flit, ...)? - pythonRemoveTestsDirHook - ] ++ optionals (catchConflicts && !isBootstrapPackage && !isSetuptoolsDependency) [ - # - # 1. When building a package that is also part of the bootstrap chain, we - # must ignore conflicts after installation, because there will be one with - # the package in the bootstrap. - # - # 2. When a package is a dependency of setuptools, we must ignore conflicts - # because the hook that checks for conflicts uses setuptools. - # - pythonCatchConflictsHook - ] ++ optionals (attrs ? pythonRelaxDeps || attrs ? pythonRemoveDeps) [ - pythonRelaxDepsHook - ] ++ optionals removeBinBytecode [ - pythonRemoveBinBytecodeHook - ] ++ optionals (hasSuffix "zip" (attrs.src.name or "")) [ - unzip - ] ++ optionals (format' == "setuptools") [ - setuptoolsBuildHook - ] ++ optionals (format' == "pyproject") [( - if isBootstrapPackage then - pypaBuildHook.override { - inherit (python.pythonOnBuildForHost.pkgs.bootstrap) build; - wheel = null; + self = toPythonModule ( + stdenv.mkDerivation ( + (cleanAttrs attrs) + // { + + name = namePrefix + name; + + nativeBuildInputs = + [ + python + wrapPython + ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, flit, ...)? + pythonRemoveTestsDirHook + ] + ++ optionals (catchConflicts && !isBootstrapPackage && !isSetuptoolsDependency) [ + # + # 1. When building a package that is also part of the bootstrap chain, we + # must ignore conflicts after installation, because there will be one with + # the package in the bootstrap. + # + # 2. When a package is a dependency of setuptools, we must ignore conflicts + # because the hook that checks for conflicts uses setuptools. + # + pythonCatchConflictsHook + ] + ++ optionals (attrs ? pythonRelaxDeps || attrs ? pythonRemoveDeps) [ + pythonRelaxDepsHook + ] + ++ optionals removeBinBytecode [ + pythonRemoveBinBytecodeHook + ] + ++ optionals (hasSuffix "zip" (attrs.src.name or "")) [ + unzip + ] + ++ optionals (format' == "setuptools") [ + setuptoolsBuildHook + ] + ++ optionals (format' == "pyproject") [ + ( + if isBootstrapPackage then + pypaBuildHook.override { + inherit (python.pythonOnBuildForHost.pkgs.bootstrap) build; + wheel = null; + } + else + pypaBuildHook + ) + ( + if isBootstrapPackage then + pythonRuntimeDepsCheckHook.override { + inherit (python.pythonOnBuildForHost.pkgs.bootstrap) packaging; + } + else + pythonRuntimeDepsCheckHook + ) + ] + ++ optionals (format' == "wheel") [ + wheelUnpackHook + ] + ++ optionals (format' == "egg") [ + eggUnpackHook + eggBuildHook + eggInstallHook + ] + ++ optionals (format' != "other") [ + ( + if isBootstrapInstallPackage then + pypaInstallHook.override { + inherit (python.pythonOnBuildForHost.pkgs.bootstrap) installer; + } + else + pypaInstallHook + ) + ] + ++ optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ + # This is a test, however, it should be ran independent of the checkPhase and checkInputs + pythonImportsCheckHook + ] + ++ optionals (python.pythonAtLeast "3.3") [ + # Optionally enforce PEP420 for python3 + pythonNamespacesHook + ] + ++ optionals withDistOutput [ + pythonOutputDistHook + ] + ++ nativeBuildInputs + ++ build-system; + + buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath); + + propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" ( + propagatedBuildInputs + ++ dependencies + ++ [ + # we propagate python even for packages transformed with 'toPythonApplication' + # this pollutes the PATH but avoids rebuilds + # see https://github.com/NixOS/nixpkgs/issues/170887 for more context + python + ] + ); + + inherit strictDeps; + + LANG = "${if python.stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8"; + + # Python packages don't have a checkPhase, only an installCheckPhase + doCheck = false; + doInstallCheck = attrs.doCheck or true; + nativeInstallCheckInputs = nativeCheckInputs; + installCheckInputs = checkInputs; + + postFixup = + optionalString (!dontWrapPythonPrograms) '' + wrapPythonPrograms + '' + + attrs.postFixup or ""; + + # Python packages built through cross-compilation are always for the host platform. + disallowedReferences = optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ + python.pythonOnBuildForHost + ]; + + outputs = outputs ++ optional withDistOutput "dist"; + + passthru = + attrs.passthru or { } + // { + updateScript = + let + filename = head (splitString ":" self.meta.position); + in + attrs.passthru.updateScript or [ + update-python-libraries + filename + ]; + } + // optionalAttrs (dependencies != [ ]) { + inherit dependencies; + } + // optionalAttrs (optional-dependencies != { }) { + inherit optional-dependencies; + } + // optionalAttrs (build-system != [ ]) { + inherit build-system; + }; + + meta = { + # default to python's platforms + platforms = python.meta.platforms; + isBuildPythonPackage = python.meta.platforms; + } // meta; + } + // optionalAttrs (attrs ? checkPhase) { + # If given use the specified checkPhase, otherwise use the setup hook. + # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. + installCheckPhase = attrs.checkPhase; + } + // optionalAttrs (attrs.doCheck or true) ( + optionalAttrs (disabledTestPaths != [ ]) { + disabledTestPaths = escapeShellArgs disabledTestPaths; + } + // optionalAttrs (attrs ? disabledTests) { + # `escapeShellArgs` should be used as well as `disabledTestPaths`, + # but some packages rely on existing raw strings. + disabledTests = attrs.disabledTests; } - else - pypaBuildHook - ) ( - if isBootstrapPackage then - pythonRuntimeDepsCheckHook.override { - inherit (python.pythonOnBuildForHost.pkgs.bootstrap) packaging; + // optionalAttrs (attrs ? pytestFlagsArray) { + pytestFlagsArray = attrs.pytestFlagsArray; } - else - pythonRuntimeDepsCheckHook - )] ++ optionals (format' == "wheel") [ - wheelUnpackHook - ] ++ optionals (format' == "egg") [ - eggUnpackHook eggBuildHook eggInstallHook - ] ++ optionals (format' != "other") [( - if isBootstrapInstallPackage then - pypaInstallHook.override { - inherit (python.pythonOnBuildForHost.pkgs.bootstrap) installer; + // optionalAttrs (attrs ? unittestFlagsArray) { + unittestFlagsArray = attrs.unittestFlagsArray; } - else - pypaInstallHook - )] ++ optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ - # This is a test, however, it should be ran independent of the checkPhase and checkInputs - pythonImportsCheckHook - ] ++ optionals (python.pythonAtLeast "3.3") [ - # Optionally enforce PEP420 for python3 - pythonNamespacesHook - ] ++ optionals withDistOutput [ - pythonOutputDistHook - ] ++ nativeBuildInputs ++ build-system; - - buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath); - - propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" (propagatedBuildInputs ++ dependencies ++ [ - # we propagate python even for packages transformed with 'toPythonApplication' - # this pollutes the PATH but avoids rebuilds - # see https://github.com/NixOS/nixpkgs/issues/170887 for more context - python - ]); - - inherit strictDeps; - - LANG = "${if python.stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8"; - - # Python packages don't have a checkPhase, only an installCheckPhase - doCheck = false; - doInstallCheck = attrs.doCheck or true; - nativeInstallCheckInputs = nativeCheckInputs; - installCheckInputs = checkInputs; - - postFixup = optionalString (!dontWrapPythonPrograms) '' - wrapPythonPrograms - '' + attrs.postFixup or ""; - - # Python packages built through cross-compilation are always for the host platform. - disallowedReferences = optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ python.pythonOnBuildForHost ]; - - outputs = outputs ++ optional withDistOutput "dist"; - - passthru = attrs.passthru or { } - // { - updateScript = let - filename = head (splitString ":" self.meta.position); - in attrs.passthru.updateScript or [ update-python-libraries filename ]; - } - // optionalAttrs (dependencies != []) { - inherit dependencies; - } - // optionalAttrs (optional-dependencies != {}) { - inherit optional-dependencies; - } - // optionalAttrs (build-system != []) { - inherit build-system; - }; - - meta = { - # default to python's platforms - platforms = python.meta.platforms; - isBuildPythonPackage = python.meta.platforms; - } // meta; - } // optionalAttrs (attrs?checkPhase) { - # If given use the specified checkPhase, otherwise use the setup hook. - # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. - installCheckPhase = attrs.checkPhase; - } // optionalAttrs (attrs.doCheck or true) ( - optionalAttrs (disabledTestPaths != []) { - disabledTestPaths = escapeShellArgs disabledTestPaths; - } // optionalAttrs (attrs ? disabledTests) { - # `escapeShellArgs` should be used as well as `disabledTestPaths`, - # but some packages rely on existing raw strings. - disabledTests = attrs.disabledTests; - } // optionalAttrs (attrs ? pytestFlagsArray) { - pytestFlagsArray = attrs.pytestFlagsArray; - } // optionalAttrs (attrs ? unittestFlagsArray) { - unittestFlagsArray = attrs.unittestFlagsArray; - } - ))); - -in extendDerivation - (disabled -> throw "${name} not supported for interpreter ${python.executable}") - { } - self + ) + ) + ); + +in +extendDerivation ( + disabled -> throw "${name} not supported for interpreter ${python.executable}" +) { } self diff --git a/pkgs/development/interpreters/python/passthrufun.nix b/pkgs/development/interpreters/python/passthrufun.nix index a4de1ecd3b2b6..fde2bab1e86c2 100644 --- a/pkgs/development/interpreters/python/passthrufun.nix +++ b/pkgs/development/interpreters/python/passthrufun.nix @@ -1,101 +1,152 @@ -{ lib, stdenv, callPackage, pythonPackagesExtensions, config, makeScopeWithSplicing', ... }: +{ + lib, + stdenv, + callPackage, + pythonPackagesExtensions, + config, + makeScopeWithSplicing', + ... +}: -{ implementation -, libPrefix -, executable -, sourceVersion -, pythonVersion -, packageOverrides -, sitePackages -, hasDistutilsCxxPatch -, pythonOnBuildForBuild -, pythonOnBuildForHost -, pythonOnBuildForTarget -, pythonOnHostForHost -, pythonOnTargetForTarget -, pythonAttr ? null -, self # is pythonOnHostForTarget -}: let - pythonPackages = let - ensurePythonModules = items: let - exceptions = [ - stdenv - ]; - providesSetupHook = lib.attrByPath [ "provides" "setupHook"] false; - valid = value: pythonPackages.hasPythonModule value || providesSetupHook value || lib.elem value exceptions; - func = name: value: - if lib.isDerivation value then - lib.extendDerivation (valid value || throw "${name} should use `buildPythonPackage` or `toPythonModule` if it is to be part of the Python packages set.") {} value - else - value; - in lib.mapAttrs func items; - in ensurePythonModules (callPackage - # Function that when called - # - imports python-packages.nix - # - adds spliced package sets to the package set - # - applies overrides from `packageOverrides` and `pythonPackagesOverlays`. - ({ pkgs, stdenv, python, overrides }: let - pythonPackagesFun = import ./python-packages-base.nix { - inherit stdenv pkgs lib; - python = self; - }; - otherSplices = { - selfBuildBuild = pythonOnBuildForBuild.pkgs; - selfBuildHost = pythonOnBuildForHost.pkgs; - selfBuildTarget = pythonOnBuildForTarget.pkgs; - selfHostHost = pythonOnHostForHost.pkgs; - selfTargetTarget = pythonOnTargetForTarget.pkgs or {}; # There is no Python TargetTarget. - }; - hooks = import ./hooks/default.nix; - keep = self: hooks self {}; - optionalExtensions = cond: as: lib.optionals cond as; - pythonExtension = import ../../../top-level/python-packages.nix; - python2Extension = import ../../../top-level/python2-packages.nix; - extensions = lib.composeManyExtensions ([ - hooks - pythonExtension - ] ++ (optionalExtensions (!self.isPy3k) [ - python2Extension - ]) ++ pythonPackagesExtensions ++ [ - overrides - ]); - aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super); - in makeScopeWithSplicing' { - inherit otherSplices keep; - f = lib.extends (lib.composeExtensions aliases extensions) pythonPackagesFun; - }) { - overrides = packageOverrides; - python = self; - }); - pythonOnBuildForHost_overridden = - pythonOnBuildForHost.override { inherit packageOverrides; self = pythonOnBuildForHost_overridden; }; -in rec { - isPy27 = pythonVersion == "2.7"; - isPy37 = pythonVersion == "3.7"; - isPy38 = pythonVersion == "3.8"; - isPy39 = pythonVersion == "3.9"; - isPy310 = pythonVersion == "3.10"; - isPy311 = pythonVersion == "3.11"; - isPy312 = pythonVersion == "3.12"; - isPy2 = lib.strings.substring 0 1 pythonVersion == "2"; - isPy3 = lib.strings.substring 0 1 pythonVersion == "3"; - isPy3k = isPy3; - isPyPy = lib.hasInfix "pypy" interpreter; +{ + implementation, + libPrefix, + executable, + sourceVersion, + pythonVersion, + packageOverrides, + sitePackages, + hasDistutilsCxxPatch, + pythonOnBuildForBuild, + pythonOnBuildForHost, + pythonOnBuildForTarget, + pythonOnHostForHost, + pythonOnTargetForTarget, + pythonAttr ? null, + self, # is pythonOnHostForTarget +}: +let + pythonPackages = + let + ensurePythonModules = + items: + let + exceptions = [ + stdenv + ]; + providesSetupHook = lib.attrByPath [ "provides" "setupHook" ] false; + valid = + value: pythonPackages.hasPythonModule value || providesSetupHook value || lib.elem value exceptions; + func = + name: value: + if lib.isDerivation value then + lib.extendDerivation ( + valid value + || throw "${name} should use `buildPythonPackage` or `toPythonModule` if it is to be part of the Python packages set." + ) { } value + else + value; + in + lib.mapAttrs func items; + in + ensurePythonModules ( + callPackage + # Function that when called + # - imports python-packages.nix + # - adds spliced package sets to the package set + # - applies overrides from `packageOverrides` and `pythonPackagesOverlays`. + ( + { + pkgs, + stdenv, + python, + overrides, + }: + let + pythonPackagesFun = import ./python-packages-base.nix { + inherit stdenv pkgs lib; + python = self; + }; + otherSplices = { + selfBuildBuild = pythonOnBuildForBuild.pkgs; + selfBuildHost = pythonOnBuildForHost.pkgs; + selfBuildTarget = pythonOnBuildForTarget.pkgs; + selfHostHost = pythonOnHostForHost.pkgs; + selfTargetTarget = pythonOnTargetForTarget.pkgs or { }; # There is no Python TargetTarget. + }; + hooks = import ./hooks/default.nix; + keep = self: hooks self { }; + optionalExtensions = cond: as: lib.optionals cond as; + pythonExtension = import ../../../top-level/python-packages.nix; + python2Extension = import ../../../top-level/python2-packages.nix; + extensions = lib.composeManyExtensions ( + [ + hooks + pythonExtension + ] + ++ (optionalExtensions (!self.isPy3k) [ + python2Extension + ]) + ++ pythonPackagesExtensions + ++ [ + overrides + ] + ); + aliases = + self: super: + lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super); + in + makeScopeWithSplicing' { + inherit otherSplices keep; + f = lib.extends (lib.composeExtensions aliases extensions) pythonPackagesFun; + } + ) + { + overrides = packageOverrides; + python = self; + } + ); + pythonOnBuildForHost_overridden = pythonOnBuildForHost.override { + inherit packageOverrides; + self = pythonOnBuildForHost_overridden; + }; +in +rec { + isPy27 = pythonVersion == "2.7"; + isPy37 = pythonVersion == "3.7"; + isPy38 = pythonVersion == "3.8"; + isPy39 = pythonVersion == "3.9"; + isPy310 = pythonVersion == "3.10"; + isPy311 = pythonVersion == "3.11"; + isPy312 = pythonVersion == "3.12"; + isPy2 = lib.strings.substring 0 1 pythonVersion == "2"; + isPy3 = lib.strings.substring 0 1 pythonVersion == "3"; + isPy3k = isPy3; + isPyPy = lib.hasInfix "pypy" interpreter; - buildEnv = callPackage ./wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; - withPackages = import ./with-packages.nix { inherit buildEnv pythonPackages;}; - pkgs = pythonPackages; - interpreter = "${self}/bin/${executable}"; - inherit executable implementation libPrefix pythonVersion sitePackages; - inherit sourceVersion; - pythonAtLeast = lib.versionAtLeast pythonVersion; - pythonOlder = lib.versionOlder pythonVersion; - inherit hasDistutilsCxxPatch; - pythonOnBuildForHost = pythonOnBuildForHost_overridden; + buildEnv = callPackage ./wrapper.nix { + python = self; + inherit (pythonPackages) requiredPythonModules; + }; + withPackages = import ./with-packages.nix { inherit buildEnv pythonPackages; }; + pkgs = pythonPackages; + interpreter = "${self}/bin/${executable}"; + inherit + executable + implementation + libPrefix + pythonVersion + sitePackages + ; + inherit sourceVersion; + pythonAtLeast = lib.versionAtLeast pythonVersion; + pythonOlder = lib.versionOlder pythonVersion; + inherit hasDistutilsCxxPatch; + pythonOnBuildForHost = pythonOnBuildForHost_overridden; - tests = callPackage ./tests.nix { - python = self; - }; + tests = callPackage ./tests.nix { + python = self; + }; - inherit pythonAttr; + inherit pythonAttr; } diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index 1b10b44fb2433..19c230a0b94ec 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -1,7 +1,8 @@ -{ pkgs -, stdenv -, lib -, python +{ + pkgs, + stdenv, + lib, + python, }: self: @@ -13,47 +14,61 @@ let # Derivations built with `buildPythonPackage` can already be overridden with `override`, `overrideAttrs`, and `overrideDerivation`. # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`. - makeOverridablePythonPackage = f: lib.mirrorFunctionArgs f (origArgs: - let - args = lib.fix (lib.extends - (_: previousAttrs: { - passthru = (previousAttrs.passthru or { }) // { - overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); - }; - }) - (_: origArgs)); - result = f args; - overrideWith = newArgs: args // (if pkgs.lib.isFunction newArgs then newArgs args else newArgs); - in - if builtins.isAttrs result then result - else if builtins.isFunction result then { - overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); - __functor = self: result; - } - else result); - - mkPythonDerivation = if python.isPy3k then - ./mk-python-derivation.nix - else - ./python2/mk-python-derivation.nix; - - buildPythonPackage = makeOverridablePythonPackage (callPackage mkPythonDerivation { - inherit namePrefix; # We want Python libraries to be named like e.g. "python3.6-${name}" - inherit toPythonModule; # Libraries provide modules - }); - - buildPythonApplication = makeOverridablePythonPackage (callPackage mkPythonDerivation { - namePrefix = ""; # Python applications should not have any prefix - toPythonModule = x: x; # Application does not provide modules. - }); + makeOverridablePythonPackage = + f: + lib.mirrorFunctionArgs f ( + origArgs: + let + args = lib.fix ( + lib.extends (_: previousAttrs: { + passthru = (previousAttrs.passthru or { }) // { + overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); + }; + }) (_: origArgs) + ); + result = f args; + overrideWith = newArgs: args // (if pkgs.lib.isFunction newArgs then newArgs args else newArgs); + in + if builtins.isAttrs result then + result + else if builtins.isFunction result then + { + overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); + __functor = self: result; + } + else + result + ); + + mkPythonDerivation = + if python.isPy3k then ./mk-python-derivation.nix else ./python2/mk-python-derivation.nix; + + buildPythonPackage = makeOverridablePythonPackage ( + callPackage mkPythonDerivation { + inherit namePrefix; # We want Python libraries to be named like e.g. "python3.6-${name}" + inherit toPythonModule; # Libraries provide modules + } + ); + + buildPythonApplication = makeOverridablePythonPackage ( + callPackage mkPythonDerivation { + namePrefix = ""; # Python applications should not have any prefix + toPythonModule = x: x; # Application does not provide modules. + } + ); # Check whether a derivation provides a Python module. - hasPythonModule = drv: drv?pythonModule && drv.pythonModule == python; + hasPythonModule = drv: drv ? pythonModule && drv.pythonModule == python; # Get list of required Python modules given a list of derivations. - requiredPythonModules = drvs: let - modules = lib.filter hasPythonModule drvs; - in lib.unique ([python] ++ modules ++ lib.concatLists (lib.catAttrs "requiredPythonModules" modules)); + requiredPythonModules = + drvs: + let + modules = lib.filter hasPythonModule drvs; + in + lib.unique ( + [ python ] ++ modules ++ lib.concatLists (lib.catAttrs "requiredPythonModules" modules) + ); # Create a PYTHONPATH from a list of derivations. This function recurses into the items to find derivations # providing Python modules. @@ -66,23 +81,24 @@ let mkPythonMetaPackage = callPackage ./meta-package.nix { }; # Convert derivation to a Python module. - toPythonModule = drv: - drv.overrideAttrs( oldAttrs: { + toPythonModule = + drv: + drv.overrideAttrs (oldAttrs: { # Use passthru in order to prevent rebuilds when possible. - passthru = (oldAttrs.passthru or {})// { + passthru = (oldAttrs.passthru or { }) // { pythonModule = python; pythonPath = [ ]; # Deprecated, for compatibility. - requiredPythonModules = - builtins.addErrorContext - "while calculating requiredPythonModules for ${drv.name or drv.pname}:" - (requiredPythonModules drv.propagatedBuildInputs); + requiredPythonModules = builtins.addErrorContext "while calculating requiredPythonModules for ${drv.name or drv.pname}:" ( + requiredPythonModules drv.propagatedBuildInputs + ); }; }); # Convert a Python library to an application. - toPythonApplication = drv: - drv.overrideAttrs( oldAttrs: { - passthru = (oldAttrs.passthru or {}) // { + toPythonApplication = + drv: + drv.overrideAttrs (oldAttrs: { + passthru = (oldAttrs.passthru or { }) // { # Remove Python prefix from name so we have a "normal" name. # While the prefix shows up in the store path, it won't be # used by `nix-env`. @@ -91,15 +107,38 @@ let }; }); - disabled = drv: throw "${removePythonPrefix (drv.pname or drv.name)} not supported for interpreter ${python.executable}"; + disabled = + drv: + throw "${ + removePythonPrefix (drv.pname or drv.name) + } not supported for interpreter ${python.executable}"; disabledIf = x: drv: if x then disabled drv else drv; -in { +in +{ inherit lib pkgs stdenv; - inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy312 isPy3k isPyPy pythonAtLeast pythonOlder; + inherit (python.passthru) + isPy27 + isPy37 + isPy38 + isPy39 + isPy310 + isPy311 + isPy312 + isPy3k + isPyPy + pythonAtLeast + pythonOlder + ; inherit buildPythonPackage buildPythonApplication; - inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf; + inherit + hasPythonModule + requiredPythonModules + makePythonPath + disabled + disabledIf + ; inherit toPythonModule toPythonApplication; inherit mkPythonMetaPackage mkPythonEditablePackage; @@ -107,5 +146,7 @@ in { # Don't take pythonPackages from "global" pkgs scope to avoid mixing python versions. # Prevent `pkgs/top-level/release-attrpaths-superset.nix` from recursing more than one level here. - pythonPackages = self // { __attrsFailEvaluation = true; }; + pythonPackages = self // { + __attrsFailEvaluation = true; + }; } diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 427c942410705..5bdfa4cd29921 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -1,243 +1,301 @@ # Generic builder only used for EOL and deprecated Python 2. -{ lib -, config -, python -, wrapPython -, unzip -, ensureNewerSourcesForZipFilesHook -# Whether the derivation provides a Python module or not. -, toPythonModule -, namePrefix -, update-python-libraries -, setuptools -, pipBuildHook -, pipInstallHook -, pythonCatchConflictsHook -, pythonImportsCheckHook -, pythonOutputDistHook -, pythonRemoveBinBytecodeHook -, pythonRemoveTestsDirHook -, setuptoolsBuildHook -, wheelUnpackHook -, eggUnpackHook -, eggBuildHook -, eggInstallHook +{ + lib, + config, + python, + wrapPython, + unzip, + ensureNewerSourcesForZipFilesHook, + # Whether the derivation provides a Python module or not. + toPythonModule, + namePrefix, + update-python-libraries, + setuptools, + pipBuildHook, + pipInstallHook, + pythonCatchConflictsHook, + pythonImportsCheckHook, + pythonOutputDistHook, + pythonRemoveBinBytecodeHook, + pythonRemoveTestsDirHook, + setuptoolsBuildHook, + wheelUnpackHook, + eggUnpackHook, + eggBuildHook, + eggInstallHook, }: -{ name ? "${attrs.pname}-${attrs.version}" +{ + name ? "${attrs.pname}-${attrs.version}", -# Build-time dependencies for the package -, nativeBuildInputs ? [] + # Build-time dependencies for the package + nativeBuildInputs ? [ ], -# Run-time dependencies for the package -, buildInputs ? [] + # Run-time dependencies for the package + buildInputs ? [ ], -# Dependencies needed for running the checkPhase. -# These are added to buildInputs when doCheck = true. -, checkInputs ? [] -, nativeCheckInputs ? [] + # Dependencies needed for running the checkPhase. + # These are added to buildInputs when doCheck = true. + checkInputs ? [ ], + nativeCheckInputs ? [ ], -# propagate build dependencies so in case we have A -> B -> C, -# C can import package A propagated by B -, propagatedBuildInputs ? [] + # propagate build dependencies so in case we have A -> B -> C, + # C can import package A propagated by B + propagatedBuildInputs ? [ ], -# DEPRECATED: use propagatedBuildInputs -, pythonPath ? [] + # DEPRECATED: use propagatedBuildInputs + pythonPath ? [ ], -# Enabled to detect some (native)BuildInputs mistakes -, strictDeps ? true + # Enabled to detect some (native)BuildInputs mistakes + strictDeps ? true, -, outputs ? [ "out" ] + outputs ? [ "out" ], -# used to disable derivation, useful for specific python versions -, disabled ? false + # used to disable derivation, useful for specific python versions + disabled ? false, -# Raise an error if two packages are installed with the same name -# TODO: For cross we probably need a different PYTHONPATH, or not -# add the runtime deps until after buildPhase. -, catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform) + # Raise an error if two packages are installed with the same name + # TODO: For cross we probably need a different PYTHONPATH, or not + # add the runtime deps until after buildPhase. + catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform), -# Additional arguments to pass to the makeWrapper function, which wraps -# generated binaries. -, makeWrapperArgs ? [] + # Additional arguments to pass to the makeWrapper function, which wraps + # generated binaries. + makeWrapperArgs ? [ ], -# Skip wrapping of python programs altogether -, dontWrapPythonPrograms ? false + # Skip wrapping of python programs altogether + dontWrapPythonPrograms ? false, -# Don't use Pip to install a wheel -# Note this is actually a variable for the pipInstallPhase in pip's setupHook. -# It's included here to prevent an infinite recursion. -, dontUsePipInstall ? false + # Don't use Pip to install a wheel + # Note this is actually a variable for the pipInstallPhase in pip's setupHook. + # It's included here to prevent an infinite recursion. + dontUsePipInstall ? false, -# Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs -, permitUserSite ? false + # Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs + permitUserSite ? false, -# Remove bytecode from bin folder. -# When a Python script has the extension `.py`, bytecode is generated -# Typically, executables in bin have no extension, so no bytecode is generated. -# However, some packages do provide executables with extensions, and thus bytecode is generated. -, removeBinBytecode ? true + # Remove bytecode from bin folder. + # When a Python script has the extension `.py`, bytecode is generated + # Typically, executables in bin have no extension, so no bytecode is generated. + # However, some packages do provide executables with extensions, and thus bytecode is generated. + removeBinBytecode ? true, -# Several package formats are supported. -# "setuptools" : Install a common setuptools/distutils based package. This builds a wheel. -# "wheel" : Install from a pre-compiled wheel. -# "pyproject": Install a package using a ``pyproject.toml`` file (PEP517). This builds a wheel. -# "egg": Install a package from an egg. -# "other" : Provide your own buildPhase and installPhase. -, format ? "setuptools" + # Several package formats are supported. + # "setuptools" : Install a common setuptools/distutils based package. This builds a wheel. + # "wheel" : Install from a pre-compiled wheel. + # "pyproject": Install a package using a ``pyproject.toml`` file (PEP517). This builds a wheel. + # "egg": Install a package from an egg. + # "other" : Provide your own buildPhase and installPhase. + format ? "setuptools", -, meta ? {} + meta ? { }, -, passthru ? {} + passthru ? { }, -, doCheck ? true + doCheck ? true, -, disabledTestPaths ? [] + disabledTestPaths ? [ ], -, ... } @ attrs: + ... +}@attrs: let inherit (python) stdenv; - withDistOutput = lib.elem format ["pyproject" "setuptools" "wheel"]; + withDistOutput = lib.elem format [ + "pyproject" + "setuptools" + "wheel" + ]; name_ = name; - validatePythonMatches = attrName: let - isPythonModule = drv: - # all pythonModules have the pythonModule attribute - (drv ? "pythonModule") - # Some pythonModules are turned in to a pythonApplication by setting the field to false - && (!builtins.isBool drv.pythonModule); - isMismatchedPython = drv: drv.pythonModule != python; + validatePythonMatches = + attrName: + let + isPythonModule = + drv: + # all pythonModules have the pythonModule attribute + (drv ? "pythonModule") + # Some pythonModules are turned in to a pythonApplication by setting the field to false + && (!builtins.isBool drv.pythonModule); + isMismatchedPython = drv: drv.pythonModule != python; - optionalLocation = let - pos = builtins.unsafeGetAttrPos (if attrs ? "pname" then "pname" else "name") attrs; - in lib.optionalString (pos != null) " at ${pos.file}:${toString pos.line}:${toString pos.column}"; + optionalLocation = + let + pos = builtins.unsafeGetAttrPos (if attrs ? "pname" then "pname" else "name") attrs; + in + lib.optionalString (pos != null) " at ${pos.file}:${toString pos.line}:${toString pos.column}"; - leftPadName = name: against: let - len = lib.max (lib.stringLength name) (lib.stringLength against); - in lib.strings.fixedWidthString len " " name; + leftPadName = + name: against: + let + len = lib.max (lib.stringLength name) (lib.stringLength against); + in + lib.strings.fixedWidthString len " " name; - throwMismatch = drv: let - myName = "'${namePrefix}${name}'"; - theirName = "'${drv.name}'"; - in throw '' - Python version mismatch in ${myName}: + throwMismatch = + drv: + let + myName = "'${namePrefix}${name}'"; + theirName = "'${drv.name}'"; + in + throw '' + Python version mismatch in ${myName}: - The Python derivation ${myName} depends on a Python derivation - named ${theirName}, but the two derivations use different versions - of Python: + The Python derivation ${myName} depends on a Python derivation + named ${theirName}, but the two derivations use different versions + of Python: - ${leftPadName myName theirName} uses ${python} - ${leftPadName theirName myName} uses ${toString drv.pythonModule} + ${leftPadName myName theirName} uses ${python} + ${leftPadName theirName myName} uses ${toString drv.pythonModule} - Possible solutions: + Possible solutions: - * If ${theirName} is a Python library, change the reference to ${theirName} - in the ${attrName} of ${myName} to use a ${theirName} built from the same - version of Python + * If ${theirName} is a Python library, change the reference to ${theirName} + in the ${attrName} of ${myName} to use a ${theirName} built from the same + version of Python - * If ${theirName} is used as a tool during the build, move the reference to - ${theirName} in ${myName} from ${attrName} to nativeBuildInputs + * If ${theirName} is used as a tool during the build, move the reference to + ${theirName} in ${myName} from ${attrName} to nativeBuildInputs - * If ${theirName} provides executables that are called at run time, pass its - bin path to makeWrapperArgs: + * If ${theirName} provides executables that are called at run time, pass its + bin path to makeWrapperArgs: - makeWrapperArgs = [ "--prefix PATH : ''${lib.makeBinPath [ ${lib.getName drv } ] }" ]; + makeWrapperArgs = [ "--prefix PATH : ''${lib.makeBinPath [ ${lib.getName drv} ] }" ]; - ${optionalLocation} - ''; + ${optionalLocation} + ''; - checkDrv = drv: - if (isPythonModule drv) && (isMismatchedPython drv) - then throwMismatch drv - else drv; + checkDrv = drv: if (isPythonModule drv) && (isMismatchedPython drv) then throwMismatch drv else drv; - in inputs: builtins.map (checkDrv) inputs; + in + inputs: builtins.map (checkDrv) inputs; # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. - self = toPythonModule (stdenv.mkDerivation ((builtins.removeAttrs attrs [ - "disabled" "checkPhase" "checkInputs" "nativeCheckInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "format" - "disabledTestPaths" "outputs" - ]) // { - - name = namePrefix + name_; - - nativeBuildInputs = [ - python - wrapPython - ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, ...)? - pythonRemoveTestsDirHook - ] ++ lib.optionals catchConflicts [ - pythonCatchConflictsHook - ] ++ lib.optionals removeBinBytecode [ - pythonRemoveBinBytecodeHook - ] ++ lib.optionals (lib.hasSuffix "zip" (attrs.src.name or "")) [ - unzip - ] ++ lib.optionals (format == "setuptools") [ - setuptoolsBuildHook - ] ++ lib.optionals (format == "pyproject") [( - pipBuildHook - )] ++ lib.optionals (format == "wheel") [ - wheelUnpackHook - ] ++ lib.optionals (format == "egg") [ - eggUnpackHook eggBuildHook eggInstallHook - ] ++ lib.optionals (format != "other") [( - pipInstallHook - )] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ - # This is a test, however, it should be ran independent of the checkPhase and checkInputs - pythonImportsCheckHook - ] ++ lib.optionals withDistOutput [ - pythonOutputDistHook - ] ++ nativeBuildInputs; - - buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath); - - propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" (propagatedBuildInputs ++ [ - # we propagate python even for packages transformed with 'toPythonApplication' - # this pollutes the PATH but avoids rebuilds - # see https://github.com/NixOS/nixpkgs/issues/170887 for more context - python - ]); - - inherit strictDeps; - - LANG = "${if python.stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8"; - - # Python packages don't have a checkPhase, only an installCheckPhase - doCheck = false; - doInstallCheck = attrs.doCheck or true; - nativeInstallCheckInputs = nativeCheckInputs; - installCheckInputs = checkInputs; - - postFixup = lib.optionalString (!dontWrapPythonPrograms) '' - wrapPythonPrograms - '' + attrs.postFixup or ""; - - # Python packages built through cross-compilation are always for the host platform. - disallowedReferences = lib.optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ python.pythonOnBuildForHost ]; - - outputs = outputs ++ lib.optional withDistOutput "dist"; - - meta = { - # default to python's platforms - platforms = python.meta.platforms; - isBuildPythonPackage = python.meta.platforms; - } // meta; - } // lib.optionalAttrs (attrs?checkPhase) { - # If given use the specified checkPhase, otherwise use the setup hook. - # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. - installCheckPhase = attrs.checkPhase; - } // lib.optionalAttrs (disabledTestPaths != []) { - disabledTestPaths = lib.escapeShellArgs disabledTestPaths; - })); - - passthru.updateScript = let + self = toPythonModule ( + stdenv.mkDerivation ( + (builtins.removeAttrs attrs [ + "disabled" + "checkPhase" + "checkInputs" + "nativeCheckInputs" + "doCheck" + "doInstallCheck" + "dontWrapPythonPrograms" + "catchConflicts" + "format" + "disabledTestPaths" + "outputs" + ]) + // { + + name = namePrefix + name_; + + nativeBuildInputs = + [ + python + wrapPython + ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, ...)? + pythonRemoveTestsDirHook + ] + ++ lib.optionals catchConflicts [ + pythonCatchConflictsHook + ] + ++ lib.optionals removeBinBytecode [ + pythonRemoveBinBytecodeHook + ] + ++ lib.optionals (lib.hasSuffix "zip" (attrs.src.name or "")) [ + unzip + ] + ++ lib.optionals (format == "setuptools") [ + setuptoolsBuildHook + ] + ++ lib.optionals (format == "pyproject") [ + (pipBuildHook) + ] + ++ lib.optionals (format == "wheel") [ + wheelUnpackHook + ] + ++ lib.optionals (format == "egg") [ + eggUnpackHook + eggBuildHook + eggInstallHook + ] + ++ lib.optionals (format != "other") [ + (pipInstallHook) + ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ + # This is a test, however, it should be ran independent of the checkPhase and checkInputs + pythonImportsCheckHook + ] + ++ lib.optionals withDistOutput [ + pythonOutputDistHook + ] + ++ nativeBuildInputs; + + buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath); + + propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" ( + propagatedBuildInputs + ++ [ + # we propagate python even for packages transformed with 'toPythonApplication' + # this pollutes the PATH but avoids rebuilds + # see https://github.com/NixOS/nixpkgs/issues/170887 for more context + python + ] + ); + + inherit strictDeps; + + LANG = "${if python.stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8"; + + # Python packages don't have a checkPhase, only an installCheckPhase + doCheck = false; + doInstallCheck = attrs.doCheck or true; + nativeInstallCheckInputs = nativeCheckInputs; + installCheckInputs = checkInputs; + + postFixup = + lib.optionalString (!dontWrapPythonPrograms) '' + wrapPythonPrograms + '' + + attrs.postFixup or ""; + + # Python packages built through cross-compilation are always for the host platform. + disallowedReferences = lib.optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ + python.pythonOnBuildForHost + ]; + + outputs = outputs ++ lib.optional withDistOutput "dist"; + + meta = { + # default to python's platforms + platforms = python.meta.platforms; + isBuildPythonPackage = python.meta.platforms; + } // meta; + } + // lib.optionalAttrs (attrs ? checkPhase) { + # If given use the specified checkPhase, otherwise use the setup hook. + # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. + installCheckPhase = attrs.checkPhase; + } + // lib.optionalAttrs (disabledTestPaths != [ ]) { + disabledTestPaths = lib.escapeShellArgs disabledTestPaths; + } + ) + ); + + passthru.updateScript = + let filename = builtins.head (lib.splitString ":" self.meta.position); - in attrs.passthru.updateScript or [ update-python-libraries filename ]; -in lib.extendDerivation - (disabled -> throw "${name} not supported for interpreter ${python.executable}") - passthru - self + in + attrs.passthru.updateScript or [ + update-python-libraries + filename + ]; +in +lib.extendDerivation ( + disabled -> throw "${name} not supported for interpreter ${python.executable}" +) passthru self diff --git a/pkgs/development/interpreters/python/rustpython/default.nix b/pkgs/development/interpreters/python/rustpython/default.nix index b63afe38148ee..bfd763a82578e 100644 --- a/pkgs/development/interpreters/python/rustpython/default.nix +++ b/pkgs/development/interpreters/python/rustpython/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, SystemConfiguration -, python3 +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + SystemConfiguration, + python3, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/interpreters/python/setup-hook.nix b/pkgs/development/interpreters/python/setup-hook.nix index 8cfb9dd46784d..364048484825b 100644 --- a/pkgs/development/interpreters/python/setup-hook.nix +++ b/pkgs/development/interpreters/python/setup-hook.nix @@ -4,13 +4,16 @@ sitePackages: let hook = ./setup-hook.sh; -in runCommand "python-setup-hook.sh" { - strictDeps = true; - env = { - inherit sitePackages; - }; -} '' - cp ${hook} hook.sh - substituteAllInPlace hook.sh - mv hook.sh $out -'' +in +runCommand "python-setup-hook.sh" + { + strictDeps = true; + env = { + inherit sitePackages; + }; + } + '' + cp ${hook} hook.sh + substituteAllInPlace hook.sh + mv hook.sh $out + '' diff --git a/pkgs/development/interpreters/python/tests/test_cpython_gdb/default.nix b/pkgs/development/interpreters/python/tests/test_cpython_gdb/default.nix index 3d3bf549d91c1..80cb870f4551f 100644 --- a/pkgs/development/interpreters/python/tests/test_cpython_gdb/default.nix +++ b/pkgs/development/interpreters/python/tests/test_cpython_gdb/default.nix @@ -1,4 +1,9 @@ -{ interpreter, gdb, writeText, runCommand }: +{ + interpreter, + gdb, + writeText, + runCommand, +}: let crashme-py = writeText "crashme.py" '' @@ -9,7 +14,8 @@ let sentinel_foo_bar() ''; -in runCommand "python-gdb" {} '' +in +runCommand "python-gdb" { } '' # test that gdb is able to recover the python stack frame of this segfault ${gdb}/bin/gdb -batch -ex 'set debug-file-directory ${interpreter.debug}/lib/debug' \ -ex 'source ${interpreter}/share/gdb/libpython.py' \ diff --git a/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix b/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix index 2030fab173a51..d7fb0f7479377 100644 --- a/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix +++ b/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix @@ -1,14 +1,23 @@ -{ interpreter, writeText, runCommand }: +{ + interpreter, + writeText, + runCommand, +}: let - python = let - packageOverrides = self: super: { - typeddep = self.callPackage ./typeddep {}; + python = + let + packageOverrides = self: super: { + typeddep = self.callPackage ./typeddep { }; + }; + in + interpreter.override { + inherit packageOverrides; + self = python; }; - in interpreter.override {inherit packageOverrides; self = python;}; - pythonEnv = python.withPackages(ps: [ + pythonEnv = python.withPackages (ps: [ ps.typeddep ps.mypy ]); @@ -19,7 +28,8 @@ let print(s) ''; -in runCommand "${interpreter.name}-site-prefix-mypy-test" {} '' +in +runCommand "${interpreter.name}-site-prefix-mypy-test" { } '' ${pythonEnv}/bin/mypy ${pythonScript} touch $out '' diff --git a/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix b/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix index fcb17dcbca381..d82f4e45cf7b8 100644 --- a/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix +++ b/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix @@ -1,5 +1,8 @@ -{ lib, buildPythonPackage, pythonOlder }: - +{ + lib, + buildPythonPackage, + pythonOlder, +}: buildPythonPackage { diff --git a/pkgs/development/interpreters/python/tests/test_tkinter/default.nix b/pkgs/development/interpreters/python/tests/test_tkinter/default.nix index 67e67d2d1e97e..21dc379d26ca4 100644 --- a/pkgs/development/interpreters/python/tests/test_tkinter/default.nix +++ b/pkgs/development/interpreters/python/tests/test_tkinter/default.nix @@ -1,8 +1,12 @@ -{ interpreter, writeText, runCommand }: +{ + interpreter, + writeText, + runCommand, +}: let - pythonEnv = interpreter.withPackages(ps: [ + pythonEnv = interpreter.withPackages (ps: [ ps.tkinter ]); @@ -11,7 +15,8 @@ let print(tkinter) ''; -in runCommand "${interpreter.name}-tkinter-test" {} '' +in +runCommand "${interpreter.name}-tkinter-test" { } '' ${pythonEnv}/bin/python ${pythonScript} touch $out '' diff --git a/pkgs/development/interpreters/python/with-packages.nix b/pkgs/development/interpreters/python/with-packages.nix index e1de0b2ee4cad..cd745ef5a3d0f 100644 --- a/pkgs/development/interpreters/python/with-packages.nix +++ b/pkgs/development/interpreters/python/with-packages.nix @@ -1,3 +1,7 @@ { buildEnv, pythonPackages }: -f: let packages = f pythonPackages; in buildEnv.override { extraLibs = packages; } +f: +let + packages = f pythonPackages; +in +buildEnv.override { extraLibs = packages; } diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix index 0a1ee9065a0a8..fcd29b19d91d3 100644 --- a/pkgs/development/interpreters/rakudo/default.nix +++ b/pkgs/development/interpreters/rakudo/default.nix @@ -1,4 +1,14 @@ -{ stdenv, fetchFromGitHub, perl, icu, zlib, gmp, lib, nqp, removeReferencesTo }: +{ + stdenv, + fetchFromGitHub, + perl, + icu, + zlib, + gmp, + lib, + nqp, + removeReferencesTo, +}: stdenv.mkDerivation rec { pname = "rakudo"; @@ -15,7 +25,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ removeReferencesTo ]; - buildInputs = [ icu zlib gmp perl ]; + buildInputs = [ + icu + zlib + gmp + perl + ]; configureScript = "perl ./Configure.pl"; configureFlags = [ "--backends=moar" @@ -32,6 +47,9 @@ stdenv.mkDerivation rec { homepage = "https://rakudo.org"; license = licenses.artistic2; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice sgo ]; + maintainers = with maintainers; [ + thoughtpolice + sgo + ]; }; } diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix index 5537f13041d7d..9a09ff2483958 100644 --- a/pkgs/development/interpreters/rakudo/moarvm.nix +++ b/pkgs/development/interpreters/rakudo/moarvm.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, perl -, CoreServices -, ApplicationServices +{ + lib, + stdenv, + fetchFromGitHub, + perl, + CoreServices, + ApplicationServices, }: stdenv.mkDerivation rec { @@ -19,18 +20,25 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - postPatch = '' - patchShebangs . - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace Configure.pl \ - --replace '`/usr/bin/arch`' '"${stdenv.hostPlatform.darwinArch}"' \ - --replace '/usr/bin/arch' "$(type -P true)" \ - --replace '/usr/' '/nope/' - substituteInPlace 3rdparty/dyncall/configure \ - --replace '`sw_vers -productVersion`' '"11.0"' - ''; + postPatch = + '' + patchShebangs . + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Configure.pl \ + --replace '`/usr/bin/arch`' '"${stdenv.hostPlatform.darwinArch}"' \ + --replace '/usr/bin/arch' "$(type -P true)" \ + --replace '/usr/' '/nope/' + substituteInPlace 3rdparty/dyncall/configure \ + --replace '`sw_vers -productVersion`' '"11.0"' + ''; - buildInputs = [ perl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ApplicationServices ]; + buildInputs = + [ perl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + ApplicationServices + ]; doCheck = false; # MoarVM does not come with its own test suite configureScript = "${perl}/bin/perl ./Configure.pl"; @@ -39,7 +47,10 @@ stdenv.mkDerivation rec { description = "VM with adaptive optimization and JIT compilation, built for Rakudo"; homepage = "https://moarvm.org"; license = licenses.artistic2; - maintainers = with maintainers; [ thoughtpolice sgo ]; + maintainers = with maintainers; [ + thoughtpolice + sgo + ]; mainProgram = "moar"; platforms = platforms.unix; }; diff --git a/pkgs/development/interpreters/rakudo/nqp.nix b/pkgs/development/interpreters/rakudo/nqp.nix index 499e7cda3e280..97471042402ac 100644 --- a/pkgs/development/interpreters/rakudo/nqp.nix +++ b/pkgs/development/interpreters/rakudo/nqp.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, perl, lib, moarvm }: +{ + stdenv, + fetchFromGitHub, + perl, + lib, + moarvm, +}: stdenv.mkDerivation rec { pname = "nqp"; @@ -38,6 +44,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Raku/nqp"; license = licenses.artistic2; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice sgo ]; + maintainers = with maintainers; [ + thoughtpolice + sgo + ]; }; } diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix index abeb5ebb4cbba..927c59d9bb239 100644 --- a/pkgs/development/interpreters/rakudo/zef.nix +++ b/pkgs/development/interpreters/rakudo/zef.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rakudo -, makeBinaryWrapper +{ + lib, + stdenv, + fetchFromGitHub, + rakudo, + makeBinaryWrapper, }: stdenv.mkDerivation (finalAttrs: { @@ -35,16 +36,16 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - postFixup ='' + postFixup = '' wrapProgram $out/bin/zef --prefix RAKUDOLIB , "inst#$out" ''; meta = { description = "Raku / Perl6 Module Management"; - homepage = "https://github.com/ugexe/zef"; - license = lib.licenses.artistic2; + homepage = "https://github.com/ugexe/zef"; + license = lib.licenses.artistic2; mainProgram = "zef"; maintainers = with lib.maintainers; [ sgo ]; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; }; }) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 11778cce06af7..7834d4292939e 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -1,303 +1,425 @@ -{ stdenv, buildPackages, lib -, fetchurl, fetchpatch, fetchFromSavannah -, zlib, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison -, autoconf, libiconv, libobjc, libunwind, Foundation -, buildEnv, bundler, bundix, cargo, rustPlatform, rustc -, makeBinaryWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo -, openssl -, linuxPackages, libsystemtap -, gitUpdater -} @ args: +{ + stdenv, + buildPackages, + lib, + fetchurl, + fetchpatch, + fetchFromSavannah, + zlib, + gdbm, + ncurses, + readline, + groff, + libyaml, + libffi, + jemalloc, + autoreconfHook, + bison, + autoconf, + libiconv, + libobjc, + libunwind, + Foundation, + buildEnv, + bundler, + bundix, + cargo, + rustPlatform, + rustc, + makeBinaryWrapper, + buildRubyGem, + defaultGemConfig, + removeReferencesTo, + openssl, + linuxPackages, + libsystemtap, + gitUpdater, +}@args: let op = lib.optional; ops = lib.optionals; opString = lib.optionalString; config = import ./config.nix { inherit fetchFromSavannah; }; - rubygems = import ./rubygems { inherit stdenv lib fetchurl gitUpdater; }; + rubygems = import ./rubygems { + inherit + stdenv + lib + fetchurl + gitUpdater + ; + }; # Contains the ruby version heuristics rubyVersion = import ./ruby-version.nix { inherit lib; }; - generic = { version, hash, cargoHash ? null }: let - ver = version; - atLeast31 = lib.versionAtLeast ver.majMin "3.1"; - atLeast32 = lib.versionAtLeast ver.majMin "3.2"; - # https://github.com/ruby/ruby/blob/v3_2_2/yjit.h#L21 - yjitSupported = atLeast32 && (stdenv.hostPlatform.isx86_64 || (!stdenv.hostPlatform.isWindows && stdenv.hostPlatform.isAarch64)); - rubyDrv = lib.makeOverridable ( - { stdenv, buildPackages, lib - , fetchurl, fetchpatch, fetchFromSavannah - , rubygemsSupport ? true - , zlib, zlibSupport ? true - , openssl, opensslSupport ? true - , gdbm, gdbmSupport ? true - , ncurses, readline, cursesSupport ? true - , groff, docSupport ? true - , libyaml, yamlSupport ? true - , libffi, fiddleSupport ? true - , jemalloc, jemallocSupport ? false - , linuxPackages, systemtap ? linuxPackages.systemtap, libsystemtap, dtraceSupport ? false - # By default, ruby has 3 observed references to stdenv.cc: - # - # - If you run: - # ruby -e "puts RbConfig::CONFIG['configure_args']" - # - In: - # $out/${passthru.libPath}/${stdenv.hostPlatform.system}/rbconfig.rb - # Or (usually): - # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb - # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib - , removeReferencesTo, jitSupport ? yjitSupport - , cargo, rustPlatform, rustc, yjitSupport ? yjitSupported - , autoreconfHook, bison, autoconf - , buildEnv, bundler, bundix - , libiconv, libobjc, libunwind, Foundation - , makeBinaryWrapper, buildRubyGem, defaultGemConfig - , baseRuby ? buildPackages.ruby.override { - docSupport = false; - rubygemsSupport = false; - } - , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform - , gitUpdater - }: - stdenv.mkDerivation ( finalAttrs: { - pname = "ruby"; - inherit version; - - src = fetchurl { - url = "https://cache.ruby-lang.org/pub/ruby/${ver.majMin}/ruby-${ver}.tar.gz"; - inherit hash; - }; - - # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. - NROFF = if docSupport then "${groff}/bin/nroff" else null; - - outputs = [ "out" ] ++ lib.optional docSupport "devdoc"; - - strictDeps = true; - - nativeBuildInputs = [ autoreconfHook bison removeReferencesTo ] - ++ (op docSupport groff) - ++ (ops (dtraceSupport && stdenv.hostPlatform.isLinux) [ systemtap libsystemtap ]) - ++ ops yjitSupport [ rustPlatform.cargoSetupHook cargo rustc ] - ++ op useBaseRuby baseRuby; - buildInputs = [ autoconf ] - ++ (op fiddleSupport libffi) - ++ (ops cursesSupport [ ncurses readline ]) - ++ (op zlibSupport zlib) - ++ (op opensslSupport openssl) - ++ (op gdbmSupport gdbm) - ++ (op yamlSupport libyaml) - # Looks like ruby fails to build on darwin without readline even if curses - # support is not enabled, so add readline to the build inputs if curses - # support is disabled (if it's enabled, we already have it) and we're - # running on darwin - ++ op (!cursesSupport && stdenv.hostPlatform.isDarwin) readline - ++ ops stdenv.hostPlatform.isDarwin [ libiconv libobjc libunwind Foundation ]; - propagatedBuildInputs = op jemallocSupport jemalloc; - - enableParallelBuilding = true; - # /build/ruby-2.7.7/lib/fileutils.rb:882:in `chmod': - # No such file or directory @ apply2files - ...-ruby-2.7.7-devdoc/share/ri/2.7.0/system/ARGF/inspect-i.ri (Errno::ENOENT) - # make: *** [uncommon.mk:373: do-install-all] Error 1 - enableParallelInstalling = false; - - patches = op (lib.versionOlder ver.majMin "3.1") ./do-not-regenerate-revision.h.patch - ++ op useBaseRuby ( - if atLeast32 then ./do-not-update-gems-baseruby-3.2.patch - else ./do-not-update-gems-baseruby.patch - ) - ++ ops (ver.majMin == "3.0") [ - # Ruby 3.0 adds `-fdeclspec` to $CC instead of $CFLAGS. Fixed in later versions. - (fetchpatch { - url = "https://github.com/ruby/ruby/commit/0acc05caf7518cd0d63ab02bfa036455add02346.patch"; - hash = "sha256-43hI9L6bXfeujgmgKFVmiWhg7OXvshPCCtQ4TxqK1zk="; - }) - ] - ++ ops atLeast31 [ - # When using a baseruby, ruby always sets "libdir" to the build - # directory, which nix rejects due to a reference in to /build/ in - # the final product. Removing this reference doesn't seem to break - # anything and fixes cross compliation. - ./dont-refer-to-build-dir.patch - ]; - - cargoRoot = opString yjitSupport "yjit"; - - cargoDeps = if yjitSupport then rustPlatform.fetchCargoTarball { - inherit (finalAttrs) src; - sourceRoot = "${finalAttrs.pname}-${version}/${finalAttrs.cargoRoot}"; - hash = assert cargoHash != null; cargoHash; - } else null; - - postUnpack = opString rubygemsSupport '' - rm -rf $sourceRoot/{lib,test}/rubygems* - cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib - ''; - - postPatch = '' - sed -i configure.ac -e '/config.guess/d' - cp --remove-destination ${config}/config.guess tool/ - cp --remove-destination ${config}/config.sub tool/ - ''; - - configureFlags = [ - (lib.enableFeature (!stdenv.hostPlatform.isStatic) "shared") - (lib.enableFeature true "pthread") - (lib.withFeatureAs true "soname" "ruby-${version}") - (lib.withFeatureAs useBaseRuby "baseruby" "${baseRuby}/bin/ruby") - (lib.enableFeature dtraceSupport "dtrace") - (lib.enableFeature jitSupport "jit-support") - (lib.enableFeature yjitSupport "yjit") - (lib.enableFeature docSupport "install-doc") - (lib.withFeature jemallocSupport "jemalloc") - (lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri") - # ruby enables -O3 for gcc, however our compiler hardening wrapper - # overrides that by enabling `-O2` which is the minimum optimization - # needed for `_FORTIFY_SOURCE`. - ] ++ lib.optional stdenv.cc.isGNU "CFLAGS=-O3" ++ [ - ] ++ ops stdenv.hostPlatform.isDarwin [ - # on darwin, we have /usr/include/tk.h -- so the configure script detects - # that tk is installed - "--with-out-ext=tk" - # on yosemite, "generating encdb.h" will hang for a very long time without this flag - "--with-setjmp-type=setjmp" - ] ++ ops stdenv.hostPlatform.isFreeBSD [ - "rb_cv_gnu_qsort_r=no" - "rb_cv_bsd_qsort_r=yes" - ]; - - preConfigure = opString docSupport '' - # rdoc creates XDG_DATA_DIR (defaulting to $HOME/.local/share) even if - # it's not going to be used. - export HOME=$TMPDIR - ''; - - # fails with "16993 tests, 2229489 assertions, 105 failures, 14 errors, 89 skips" - # mostly TZ- and patch-related tests - # TZ- failures are caused by nix sandboxing, I didn't investigate others - doCheck = false; - - preInstall = '' - # Ruby installs gems here itself now. - mkdir -pv "$out/${finalAttrs.passthru.gemPath}" - export GEM_HOME="$out/${finalAttrs.passthru.gemPath}" - ''; - - installFlags = lib.optional docSupport "install-doc"; - # Bundler tries to create this directory - postInstall = '' - rbConfig=$(find $out/lib/ruby -name rbconfig.rb) - # Remove references to the build environment from the closure - sed -i '/^ CONFIG\["\(BASERUBY\|SHELL\|GREP\|EGREP\|MKDIR_P\|MAKEDIRS\|INSTALL\)"\]/d' $rbConfig - # Remove unnecessary groff reference from runtime closure, since it's big - sed -i '/NROFF/d' $rbConfig - ${ - lib.optionalString (!jitSupport) '' - # Get rid of the CC runtime dependency - remove-references-to \ - -t ${stdenv.cc} \ - $out/lib/libruby* - remove-references-to \ - -t ${stdenv.cc} \ - $rbConfig - sed -i '/CC_VERSION_MESSAGE/d' $rbConfig - '' - } - - # Allow to override compiler. This is important for cross compiling as - # we need to set a compiler that is different from the build one. - sed -i "$rbConfig" \ - -e 's/CONFIG\["CC"\] = "\(.*\)"/CONFIG["CC"] = if ENV["CC"].nil? || ENV["CC"].empty? then "\1" else ENV["CC"] end/' \ - -e 's/CONFIG\["CXX"\] = "\(.*\)"/CONFIG["CXX"] = if ENV["CXX"].nil? || ENV["CXX"].empty? then "\1" else ENV["CXX"] end/' - - # Remove unnecessary external intermediate files created by gems - extMakefiles=$(find $out/${finalAttrs.passthru.gemPath} -name Makefile) - for makefile in $extMakefiles; do - make -C "$(dirname "$makefile")" distclean - done - find "$out/${finalAttrs.passthru.gemPath}" \( -name gem_make.out -o -name mkmf.log -o -name exts.mk \) -delete + generic = + { + version, + hash, + cargoHash ? null, + }: + let + ver = version; + atLeast31 = lib.versionAtLeast ver.majMin "3.1"; + atLeast32 = lib.versionAtLeast ver.majMin "3.2"; + # https://github.com/ruby/ruby/blob/v3_2_2/yjit.h#L21 + yjitSupported = + atLeast32 + && ( + stdenv.hostPlatform.isx86_64 || (!stdenv.hostPlatform.isWindows && stdenv.hostPlatform.isAarch64) + ); + rubyDrv = lib.makeOverridable ( + { + stdenv, + buildPackages, + lib, + fetchurl, + fetchpatch, + fetchFromSavannah, + rubygemsSupport ? true, + zlib, + zlibSupport ? true, + openssl, + opensslSupport ? true, + gdbm, + gdbmSupport ? true, + ncurses, + readline, + cursesSupport ? true, + groff, + docSupport ? true, + libyaml, + yamlSupport ? true, + libffi, + fiddleSupport ? true, + jemalloc, + jemallocSupport ? false, + linuxPackages, + systemtap ? linuxPackages.systemtap, + libsystemtap, + dtraceSupport ? false, + # By default, ruby has 3 observed references to stdenv.cc: + # + # - If you run: + # ruby -e "puts RbConfig::CONFIG['configure_args']" + # - In: + # $out/${passthru.libPath}/${stdenv.hostPlatform.system}/rbconfig.rb + # Or (usually): + # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb + # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib + removeReferencesTo, + jitSupport ? yjitSupport, + cargo, + rustPlatform, + rustc, + yjitSupport ? yjitSupported, + autoreconfHook, + bison, + autoconf, + buildEnv, + bundler, + bundix, + libiconv, + libobjc, + libunwind, + Foundation, + makeBinaryWrapper, + buildRubyGem, + defaultGemConfig, + baseRuby ? buildPackages.ruby.override { + docSupport = false; + rubygemsSupport = false; + }, + useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform, + gitUpdater, + }: + stdenv.mkDerivation (finalAttrs: { + pname = "ruby"; + inherit version; + + src = fetchurl { + url = "https://cache.ruby-lang.org/pub/ruby/${ver.majMin}/ruby-${ver}.tar.gz"; + inherit hash; + }; + + # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. + NROFF = if docSupport then "${groff}/bin/nroff" else null; + + outputs = [ "out" ] ++ lib.optional docSupport "devdoc"; + + strictDeps = true; + + nativeBuildInputs = + [ + autoreconfHook + bison + removeReferencesTo + ] + ++ (op docSupport groff) + ++ (ops (dtraceSupport && stdenv.hostPlatform.isLinux) [ + systemtap + libsystemtap + ]) + ++ ops yjitSupport [ + rustPlatform.cargoSetupHook + cargo + rustc + ] + ++ op useBaseRuby baseRuby; + buildInputs = + [ autoconf ] + ++ (op fiddleSupport libffi) + ++ (ops cursesSupport [ + ncurses + readline + ]) + ++ (op zlibSupport zlib) + ++ (op opensslSupport openssl) + ++ (op gdbmSupport gdbm) + ++ (op yamlSupport libyaml) + # Looks like ruby fails to build on darwin without readline even if curses + # support is not enabled, so add readline to the build inputs if curses + # support is disabled (if it's enabled, we already have it) and we're + # running on darwin + ++ op (!cursesSupport && stdenv.hostPlatform.isDarwin) readline + ++ ops stdenv.hostPlatform.isDarwin [ + libiconv + libobjc + libunwind + Foundation + ]; + propagatedBuildInputs = op jemallocSupport jemalloc; + + enableParallelBuilding = true; + # /build/ruby-2.7.7/lib/fileutils.rb:882:in `chmod': + # No such file or directory @ apply2files - ...-ruby-2.7.7-devdoc/share/ri/2.7.0/system/ARGF/inspect-i.ri (Errno::ENOENT) + # make: *** [uncommon.mk:373: do-install-all] Error 1 + enableParallelInstalling = false; + + patches = + op (lib.versionOlder ver.majMin "3.1") ./do-not-regenerate-revision.h.patch + ++ op useBaseRuby ( + if atLeast32 then ./do-not-update-gems-baseruby-3.2.patch else ./do-not-update-gems-baseruby.patch + ) + ++ ops (ver.majMin == "3.0") [ + # Ruby 3.0 adds `-fdeclspec` to $CC instead of $CFLAGS. Fixed in later versions. + (fetchpatch { + url = "https://github.com/ruby/ruby/commit/0acc05caf7518cd0d63ab02bfa036455add02346.patch"; + hash = "sha256-43hI9L6bXfeujgmgKFVmiWhg7OXvshPCCtQ4TxqK1zk="; + }) + ] + ++ ops atLeast31 [ + # When using a baseruby, ruby always sets "libdir" to the build + # directory, which nix rejects due to a reference in to /build/ in + # the final product. Removing this reference doesn't seem to break + # anything and fixes cross compliation. + ./dont-refer-to-build-dir.patch + ]; + + cargoRoot = opString yjitSupport "yjit"; + + cargoDeps = + if yjitSupport then + rustPlatform.fetchCargoTarball { + inherit (finalAttrs) src; + sourceRoot = "${finalAttrs.pname}-${version}/${finalAttrs.cargoRoot}"; + hash = + assert cargoHash != null; + cargoHash; + } + else + null; + + postUnpack = opString rubygemsSupport '' + rm -rf $sourceRoot/{lib,test}/rubygems* + cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib + ''; + + postPatch = '' + sed -i configure.ac -e '/config.guess/d' + cp --remove-destination ${config}/config.guess tool/ + cp --remove-destination ${config}/config.sub tool/ + ''; + + configureFlags = + [ + (lib.enableFeature (!stdenv.hostPlatform.isStatic) "shared") + (lib.enableFeature true "pthread") + (lib.withFeatureAs true "soname" "ruby-${version}") + (lib.withFeatureAs useBaseRuby "baseruby" "${baseRuby}/bin/ruby") + (lib.enableFeature dtraceSupport "dtrace") + (lib.enableFeature jitSupport "jit-support") + (lib.enableFeature yjitSupport "yjit") + (lib.enableFeature docSupport "install-doc") + (lib.withFeature jemallocSupport "jemalloc") + (lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri") + # ruby enables -O3 for gcc, however our compiler hardening wrapper + # overrides that by enabling `-O2` which is the minimum optimization + # needed for `_FORTIFY_SOURCE`. + ] + ++ lib.optional stdenv.cc.isGNU "CFLAGS=-O3" + ++ [ + ] + ++ ops stdenv.hostPlatform.isDarwin [ + # on darwin, we have /usr/include/tk.h -- so the configure script detects + # that tk is installed + "--with-out-ext=tk" + # on yosemite, "generating encdb.h" will hang for a very long time without this flag + "--with-setjmp-type=setjmp" + ] + ++ ops stdenv.hostPlatform.isFreeBSD [ + "rb_cv_gnu_qsort_r=no" + "rb_cv_bsd_qsort_r=yes" + ]; + + preConfigure = opString docSupport '' + # rdoc creates XDG_DATA_DIR (defaulting to $HOME/.local/share) even if + # it's not going to be used. + export HOME=$TMPDIR + ''; + + # fails with "16993 tests, 2229489 assertions, 105 failures, 14 errors, 89 skips" + # mostly TZ- and patch-related tests + # TZ- failures are caused by nix sandboxing, I didn't investigate others + doCheck = false; + + preInstall = '' + # Ruby installs gems here itself now. + mkdir -pv "$out/${finalAttrs.passthru.gemPath}" + export GEM_HOME="$out/${finalAttrs.passthru.gemPath}" + ''; + + installFlags = lib.optional docSupport "install-doc"; # Bundler tries to create this directory - mkdir -p $out/nix-support - cat > $out/nix-support/setup-hook <&2 - false - fi - - fallback_cc=$(unset CC; $out/bin/ruby -rrbconfig -e 'puts RbConfig::CONFIG["CC"]') - if [[ "$fallback_cc" != "$CC" ]]; then - echo "CC='$fallback_cc' should be '$CC' by default" >&2 - false - fi - ''; - doInstallCheck = true; - - disallowedRequisites = op (!jitSupport) stdenv.cc - ++ op useBaseRuby baseRuby; - - meta = with lib; { - description = "Object-oriented language for quick and easy programming"; - homepage = "https://www.ruby-lang.org/"; - license = licenses.ruby; - maintainers = with maintainers; [ manveru ]; - platforms = platforms.all; - mainProgram = "ruby"; - knownVulnerabilities = op (lib.versionOlder ver.majMin "3.0") "This Ruby release has reached its end of life. See https://www.ruby-lang.org/en/downloads/branches/."; - }; - - passthru = rec { - version = ver; - rubyEngine = "ruby"; - libPath = "lib/${rubyEngine}/${ver.libDir}"; - gemPath = "lib/${rubyEngine}/gems/${ver.libDir}"; - devEnv = import ./dev.nix { - inherit buildEnv bundler bundix; - ruby = finalAttrs.finalPackage; + postInstall = + '' + rbConfig=$(find $out/lib/ruby -name rbconfig.rb) + # Remove references to the build environment from the closure + sed -i '/^ CONFIG\["\(BASERUBY\|SHELL\|GREP\|EGREP\|MKDIR_P\|MAKEDIRS\|INSTALL\)"\]/d' $rbConfig + # Remove unnecessary groff reference from runtime closure, since it's big + sed -i '/NROFF/d' $rbConfig + ${lib.optionalString (!jitSupport) '' + # Get rid of the CC runtime dependency + remove-references-to \ + -t ${stdenv.cc} \ + $out/lib/libruby* + remove-references-to \ + -t ${stdenv.cc} \ + $rbConfig + sed -i '/CC_VERSION_MESSAGE/d' $rbConfig + ''} + + # Allow to override compiler. This is important for cross compiling as + # we need to set a compiler that is different from the build one. + sed -i "$rbConfig" \ + -e 's/CONFIG\["CC"\] = "\(.*\)"/CONFIG["CC"] = if ENV["CC"].nil? || ENV["CC"].empty? then "\1" else ENV["CC"] end/' \ + -e 's/CONFIG\["CXX"\] = "\(.*\)"/CONFIG["CXX"] = if ENV["CXX"].nil? || ENV["CXX"].empty? then "\1" else ENV["CXX"] end/' + + # Remove unnecessary external intermediate files created by gems + extMakefiles=$(find $out/${finalAttrs.passthru.gemPath} -name Makefile) + for makefile in $extMakefiles; do + make -C "$(dirname "$makefile")" distclean + done + find "$out/${finalAttrs.passthru.gemPath}" \( -name gem_make.out -o -name mkmf.log -o -name exts.mk \) -delete + # Bundler tries to create this directory + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook <&2 + false + fi + + fallback_cc=$(unset CC; $out/bin/ruby -rrbconfig -e 'puts RbConfig::CONFIG["CC"]') + if [[ "$fallback_cc" != "$CC" ]]; then + echo "CC='$fallback_cc' should be '$CC' by default" >&2 + false + fi + ''; + doInstallCheck = true; + + disallowedRequisites = op (!jitSupport) stdenv.cc ++ op useBaseRuby baseRuby; + + meta = with lib; { + description = "Object-oriented language for quick and easy programming"; + homepage = "https://www.ruby-lang.org/"; + license = licenses.ruby; + maintainers = with maintainers; [ manveru ]; + platforms = platforms.all; + mainProgram = "ruby"; + knownVulnerabilities = op (lib.versionOlder ver.majMin "3.0") "This Ruby release has reached its end of life. See https://www.ruby-lang.org/en/downloads/branches/."; }; - inherit rubygems; - inherit (import ../../ruby-modules/with-packages { - inherit lib stdenv makeBinaryWrapper buildRubyGem buildEnv; - gemConfig = defaultGemConfig; - ruby = finalAttrs.finalPackage; - }) withPackages buildGems gems; - } // lib.optionalAttrs useBaseRuby { - inherit baseRuby; - }; - } ) - ) args; in rubyDrv; - -in { + passthru = + rec { + version = ver; + rubyEngine = "ruby"; + libPath = "lib/${rubyEngine}/${ver.libDir}"; + gemPath = "lib/${rubyEngine}/gems/${ver.libDir}"; + devEnv = import ./dev.nix { + inherit buildEnv bundler bundix; + ruby = finalAttrs.finalPackage; + }; + + inherit rubygems; + inherit + (import ../../ruby-modules/with-packages { + inherit + lib + stdenv + makeBinaryWrapper + buildRubyGem + buildEnv + ; + gemConfig = defaultGemConfig; + ruby = finalAttrs.finalPackage; + }) + withPackages + buildGems + gems + ; + } + // lib.optionalAttrs useBaseRuby { + inherit baseRuby; + }; + }) + ) args; + in + rubyDrv; + +in +{ mkRubyVersion = rubyVersion; mkRuby = generic; diff --git a/pkgs/development/interpreters/ruby/dev.nix b/pkgs/development/interpreters/ruby/dev.nix index dea21118b2001..cd37d3a324e8e 100644 --- a/pkgs/development/interpreters/ruby/dev.nix +++ b/pkgs/development/interpreters/ruby/dev.nix @@ -1,8 +1,14 @@ -/* An environment for development that bundles ruby, bundler and bundix - together. This avoids version conflicts where each is using a different - version of each-other. +/* + An environment for development that bundles ruby, bundler and bundix + together. This avoids version conflicts where each is using a different + version of each-other. */ -{ buildEnv, ruby, bundler, bundix }: +{ + buildEnv, + ruby, + bundler, + bundix, +}: let bundler_ = bundler.override { ruby = ruby; diff --git a/pkgs/development/interpreters/ruby/ruby-version.nix b/pkgs/development/interpreters/ruby/ruby-version.nix index 57fa60aea28c0..8b8bebc9ec42d 100644 --- a/pkgs/development/interpreters/ruby/ruby-version.nix +++ b/pkgs/development/interpreters/ruby/ruby-version.nix @@ -3,61 +3,89 @@ let # The returned set should be immutable - rubyVersion = major: minor: tiny: tail: - rec { - inherit major minor tiny tail; + rubyVersion = major: minor: tiny: tail: rec { + inherit + major + minor + tiny + tail + ; - # Contains the patch number "223" if tail is "p223" or null - patchLevel = - let - p = lib.removePrefix "p" tail; - isPosInt = num: - 0 == lib.stringLength - (lib.replaceStrings - ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"] - ["" "" "" "" "" "" "" "" "" "" ] - num); - in - if lib.hasPrefix "p" tail && isPosInt p then p - else null; + # Contains the patch number "223" if tail is "p223" or null + patchLevel = + let + p = lib.removePrefix "p" tail; + isPosInt = + num: + 0 == lib.stringLength ( + lib.replaceStrings + [ + "0" + "1" + "2" + "3" + "4" + "5" + "6" + "7" + "8" + "9" + ] + [ + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + ] + num + ); + in + if lib.hasPrefix "p" tail && isPosInt p then p else null; - # Shortcuts - majMin = "${major}.${minor}"; - majMinTiny = "${major}.${minor}.${tiny}"; + # Shortcuts + majMin = "${major}.${minor}"; + majMinTiny = "${major}.${minor}.${tiny}"; - # Ruby separates lib and gem folders by ABI version which isn't very - # consistent. - libDir = - if lib.versionAtLeast majMinTiny "2.1.0" then - "${majMin}.0" - else if lib.versionAtLeast majMinTiny "2.0.0" then - "2.0.0" - else if lib.versionAtLeast majMinTiny "1.9.1" then - "1.9.1" - else - throw "version ${majMinTiny} is not supported"; + # Ruby separates lib and gem folders by ABI version which isn't very + # consistent. + libDir = + if lib.versionAtLeast majMinTiny "2.1.0" then + "${majMin}.0" + else if lib.versionAtLeast majMinTiny "2.0.0" then + "2.0.0" + else if lib.versionAtLeast majMinTiny "1.9.1" then + "1.9.1" + else + throw "version ${majMinTiny} is not supported"; - # How ruby releases are tagged on github.com/ruby/ruby - gitTag = - let - base = "v${major}_${minor}_${tiny}"; - in - if patchLevel != null then - "${base}_${patchLevel}" - else - if tail != "" then - "${base}_${tail}" - else - base; + # How ruby releases are tagged on github.com/ruby/ruby + gitTag = + let + base = "v${major}_${minor}_${tiny}"; + in + if patchLevel != null then + "${base}_${patchLevel}" + else if tail != "" then + "${base}_${tail}" + else + base; - # Implements the builtins.toString interface. - __toString = self: - self.majMinTiny + ( - if self.patchLevel != null then - "-p${self.patchLevel}" - else - lib.optionalString (self.tail != "") "-${self.tail}" - ); - }; + # Implements the builtins.toString interface. + __toString = + self: + self.majMinTiny + + ( + if self.patchLevel != null then + "-p${self.patchLevel}" + else + lib.optionalString (self.tail != "") "-${self.tail}" + ); + }; in - rubyVersion +rubyVersion diff --git a/pkgs/development/interpreters/ruby/rubygems/default.nix b/pkgs/development/interpreters/ruby/rubygems/default.nix index 9c56917ef5f29..3269f4cdf2bf6 100644 --- a/pkgs/development/interpreters/ruby/rubygems/default.nix +++ b/pkgs/development/interpreters/ruby/rubygems/default.nix @@ -36,7 +36,10 @@ stdenv.mkDerivation rec { description = "Package management framework for Ruby"; changelog = "https://github.com/rubygems/rubygems/blob/v${version}/CHANGELOG.md"; homepage = "https://rubygems.org/"; - license = with licenses; [ mit /* or */ ruby ]; + license = with licenses; [ + mit # or + ruby + ]; mainProgram = "gem"; maintainers = with maintainers; [ zimbatm ]; }; diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix index 5feca82f6cf13..ba6861839386e 100644 --- a/pkgs/development/interpreters/spidermonkey/common.nix +++ b/pkgs/development/interpreters/spidermonkey/common.nix @@ -1,124 +1,139 @@ { version, hash }: -{ callPackage -, lib -, stdenv -, fetchurl -, fetchpatch - -# build time -, buildPackages -, cargo -, m4 -, perl -, pkg-config -, python3 -, python39 -, python311 -, rust-cbindgen -, rustPlatform -, rustc -, which -, zip -, autoconf213 -, yasm -, xcbuild - -# runtime -, icu -, icu67 -, nspr -, readline -, zlib -, libobjc -, libiconv +{ + callPackage, + lib, + stdenv, + fetchurl, + fetchpatch, + + # build time + buildPackages, + cargo, + m4, + perl, + pkg-config, + python3, + python39, + python311, + rust-cbindgen, + rustPlatform, + rustc, + which, + zip, + autoconf213, + yasm, + xcbuild, + + # runtime + icu, + icu67, + nspr, + readline, + zlib, + libobjc, + libiconv, }: stdenv.mkDerivation (finalAttrs: rec { pname = "spidermonkey"; inherit version; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"; inherit hash; }; - patches = lib.optionals (lib.versionOlder version "91") [ - # Fix build failure on armv7l using Debian patch - # Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1526653 - (fetchpatch { - url = "https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d.patch"; - hash = "sha512-K8U3Qyo7g4si2r/8kJdXyRoTrDHAY48x/YJ7YL+YBwlpfNQcHxX+EZvhRzW8FHYW+f7kOnJu9QykhE8PhSQ9zQ=="; - }) - - # Remove this when updating to 79 - The patches are already applied upstream - # https://bugzilla.mozilla.org/show_bug.cgi?id=1318905 - - # Combination of 3 changesets, modified to apply on 78: - # - https://hg.mozilla.org/mozilla-central/rev/06d7e1b6b7e7 - # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c - # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33 - ./add-riscv64-support.patch - ] ++ lib.optionals (lib.versionAtLeast version "102" && lib.versionOlder version "128") [ - # use pkg-config at all systems - ./always-check-for-pkg-config.patch - ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch - ] ++ lib.optionals (lib.versionAtLeast version "128") [ - # rebased version of the above 2 patches - ./always-check-for-pkg-config-128.patch - ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch - ] ++ lib.optionals (lib.versionAtLeast version "91" && stdenv.hostPlatform.system == "i686-linux") [ - # Fixes i686 build, https://bugzilla.mozilla.org/show_bug.cgi?id=1729459 - ./fix-float-i686.patch - ] ++ lib.optionals (lib.versionAtLeast version "91" && lib.versionOlder version "102") [ - # Fix 91 compatibility with python311 - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/mozjs91/raw/e3729167646775e60a3d8c602c0412e04f206baf/f/0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch"; - hash = "sha256-WgDIBidB9XNQ/+HacK7jxWnjOF8PEUt5eB0+Aubtl48="; - }) - ]; - - nativeBuildInputs = [ - cargo - m4 - perl - pkg-config - # 78 requires python up to 3.9 - # 91 does not build with python 3.12: ModuleNotFoundError: No module named 'six.moves' - # 102 does not build with python 3.12: ModuleNotFoundError: No module named 'distutils' - ( - if lib.versionOlder version "91" then - python39 - else if lib.versionOlder version "115" then - python311 - else - python3 - ) - rustc - rustc.llvmPackages.llvm # for llvm-objdump - which - zip - ] ++ lib.optionals (lib.versionAtLeast version "128") [ - rust-cbindgen - rustPlatform.bindgenHook - ] ++ lib.optionals (lib.versionOlder version "91") [ - autoconf213 - yasm # to buid icu? seems weird - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - xcbuild - ]; - - buildInputs = [ - (if lib.versionOlder version "91" then icu67 else icu) - nspr - readline - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libobjc - libiconv - ]; + patches = + lib.optionals (lib.versionOlder version "91") [ + # Fix build failure on armv7l using Debian patch + # Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1526653 + (fetchpatch { + url = "https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d.patch"; + hash = "sha512-K8U3Qyo7g4si2r/8kJdXyRoTrDHAY48x/YJ7YL+YBwlpfNQcHxX+EZvhRzW8FHYW+f7kOnJu9QykhE8PhSQ9zQ=="; + }) + + # Remove this when updating to 79 - The patches are already applied upstream + # https://bugzilla.mozilla.org/show_bug.cgi?id=1318905 + + # Combination of 3 changesets, modified to apply on 78: + # - https://hg.mozilla.org/mozilla-central/rev/06d7e1b6b7e7 + # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c + # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33 + ./add-riscv64-support.patch + ] + ++ lib.optionals (lib.versionAtLeast version "102" && lib.versionOlder version "128") [ + # use pkg-config at all systems + ./always-check-for-pkg-config.patch + ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch + ] + ++ lib.optionals (lib.versionAtLeast version "128") [ + # rebased version of the above 2 patches + ./always-check-for-pkg-config-128.patch + ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch + ] + ++ lib.optionals (lib.versionAtLeast version "91" && stdenv.hostPlatform.system == "i686-linux") [ + # Fixes i686 build, https://bugzilla.mozilla.org/show_bug.cgi?id=1729459 + ./fix-float-i686.patch + ] + ++ lib.optionals (lib.versionAtLeast version "91" && lib.versionOlder version "102") [ + # Fix 91 compatibility with python311 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/mozjs91/raw/e3729167646775e60a3d8c602c0412e04f206baf/f/0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch"; + hash = "sha256-WgDIBidB9XNQ/+HacK7jxWnjOF8PEUt5eB0+Aubtl48="; + }) + ]; + + nativeBuildInputs = + [ + cargo + m4 + perl + pkg-config + # 78 requires python up to 3.9 + # 91 does not build with python 3.12: ModuleNotFoundError: No module named 'six.moves' + # 102 does not build with python 3.12: ModuleNotFoundError: No module named 'distutils' + ( + if lib.versionOlder version "91" then + python39 + else if lib.versionOlder version "115" then + python311 + else + python3 + ) + rustc + rustc.llvmPackages.llvm # for llvm-objdump + which + zip + ] + ++ lib.optionals (lib.versionAtLeast version "128") [ + rust-cbindgen + rustPlatform.bindgenHook + ] + ++ lib.optionals (lib.versionOlder version "91") [ + autoconf213 + yasm # to buid icu? seems weird + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + xcbuild + ]; + + buildInputs = + [ + (if lib.versionOlder version "91" then icu67 else icu) + nspr + readline + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + libiconv + ]; depsBuildBuild = [ buildPackages.stdenv.cc @@ -126,29 +141,32 @@ stdenv.mkDerivation (finalAttrs: rec { setOutputFlags = false; # Configure script only understands --includedir - configureFlags = [ - "--with-intl-api" - "--with-system-icu" - "--with-system-nspr" - "--with-system-zlib" - # Fedora and Arch disable optimize, but it doesn't seme to be necessary - # It turns on -O3 which some gcc version had a problem with: - # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e - "--enable-optimize" - "--enable-readline" - "--enable-release" - "--enable-shared-js" - ] ++ lib.optionals (lib.versionAtLeast version "91") [ - "--disable-debug" - ] ++ [ - "--disable-jemalloc" - "--disable-strip" - "--disable-tests" - # Spidermonkey seems to use different host/build terminology for cross - # compilation here. - "--host=${stdenv.buildPlatform.config}" - "--target=${stdenv.hostPlatform.config}" - ]; + configureFlags = + [ + "--with-intl-api" + "--with-system-icu" + "--with-system-nspr" + "--with-system-zlib" + # Fedora and Arch disable optimize, but it doesn't seme to be necessary + # It turns on -O3 which some gcc version had a problem with: + # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e + "--enable-optimize" + "--enable-readline" + "--enable-release" + "--enable-shared-js" + ] + ++ lib.optionals (lib.versionAtLeast version "91") [ + "--disable-debug" + ] + ++ [ + "--disable-jemalloc" + "--disable-strip" + "--disable-tests" + # Spidermonkey seems to use different host/build terminology for cross + # compilation here. + "--host=${stdenv.buildPlatform.config}" + "--target=${stdenv.hostPlatform.config}" + ]; # mkDerivation by default appends --build/--host to configureFlags when cross compiling # These defaults are bogus for Spidermonkey - avoid passing them by providing an empty list @@ -158,7 +176,9 @@ stdenv.mkDerivation (finalAttrs: rec { # cc-rs insists on using -mabi=lp64 (soft-float) for riscv64, # while we have a double-float toolchain - env.NIX_CFLAGS_COMPILE = lib.optionalString (with stdenv.hostPlatform; isRiscV && is64bit && lib.versionOlder version "91") "-mabi=lp64d"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + with stdenv.hostPlatform; isRiscV && is64bit && lib.versionOlder version "91" + ) "-mabi=lp64d"; postPatch = lib.optionalString (lib.versionOlder version "102") '' # This patch is a manually applied fix of @@ -170,32 +190,39 @@ stdenv.mkDerivation (finalAttrs: rec { "class JS_PUBLIC_API SharedArrayRawBufferRefs {" ''; - preConfigure = lib.optionalString (lib.versionAtLeast version "128") '' - export MOZBUILD_STATE_PATH=$TMPDIR/mozbuild - '' + lib.optionalString (lib.versionOlder version "91") '' - export CXXFLAGS="-fpermissive" - '' + '' - export LIBXUL_DIST=$out - export PYTHON="${buildPackages.python3.interpreter}" - '' + lib.optionalString (lib.versionAtLeast version "91") '' - export M4=m4 - export AWK=awk - export AS=$CC - export AC_MACRODIR=$PWD/build/autoconf/ - - '' + lib.optionalString (lib.versionAtLeast version "91" && lib.versionOlder version "115") '' - pushd js/src - sh ../../build/autoconf/autoconf.sh --localdir=$PWD configure.in > configure - chmod +x configure - popd - '' + lib.optionalString (lib.versionAtLeast version "115") '' - patchShebangs build/cargo-linker - '' + '' - # We can't build in js/src/, so create a build dir - mkdir obj - cd obj/ - configureScript=../js/src/configure - ''; + preConfigure = + lib.optionalString (lib.versionAtLeast version "128") '' + export MOZBUILD_STATE_PATH=$TMPDIR/mozbuild + '' + + lib.optionalString (lib.versionOlder version "91") '' + export CXXFLAGS="-fpermissive" + '' + + '' + export LIBXUL_DIST=$out + export PYTHON="${buildPackages.python3.interpreter}" + '' + + lib.optionalString (lib.versionAtLeast version "91") '' + export M4=m4 + export AWK=awk + export AS=$CC + export AC_MACRODIR=$PWD/build/autoconf/ + + '' + + lib.optionalString (lib.versionAtLeast version "91" && lib.versionOlder version "115") '' + pushd js/src + sh ../../build/autoconf/autoconf.sh --localdir=$PWD configure.in > configure + chmod +x configure + popd + '' + + lib.optionalString (lib.versionAtLeast version "115") '' + patchShebangs build/cargo-linker + '' + + '' + # We can't build in js/src/, so create a build dir + mkdir obj + cd obj/ + configureScript=../js/src/configure + ''; # Remove unnecessary static lib preFixup = '' @@ -212,7 +239,11 @@ stdenv.mkDerivation (finalAttrs: rec { description = "Mozilla's JavaScript engine written in C/C++"; homepage = "https://spidermonkey.dev/"; license = licenses.mpl20; # TODO: MPL/GPL/LGPL tri-license for 78. - maintainers = with maintainers; [ abbradar lostnet catap ]; + maintainers = with maintainers; [ + abbradar + lostnet + catap + ]; broken = stdenv.hostPlatform.isDarwin && versionAtLeast version "115"; # Requires SDK 13.3 (see #242666). platforms = platforms.unix; }; diff --git a/pkgs/development/interpreters/spidermonkey/test.nix b/pkgs/development/interpreters/spidermonkey/test.nix index c3ef92bebfa8f..3ac48a89b6829 100644 --- a/pkgs/development/interpreters/spidermonkey/test.nix +++ b/pkgs/development/interpreters/spidermonkey/test.nix @@ -1,10 +1,12 @@ { runCommand, spidermonkey }: -runCommand "spidermonkey-test-run" { - nativeBuildInputs = [ - spidermonkey - ]; -} '' - diff -U3 --color=auto <(js <(echo "console.log('Hello, world\!')")) <(echo 'Hello, world!') - touch $out -'' +runCommand "spidermonkey-test-run" + { + nativeBuildInputs = [ + spidermonkey + ]; + } + '' + diff -U3 --color=auto <(js <(echo "console.log('Hello, world\!')")) <(echo 'Hello, world!') + touch $out + '' diff --git a/pkgs/development/interpreters/supercollider/wrapper.nix b/pkgs/development/interpreters/supercollider/wrapper.nix index e9e97f2b98de9..01f3c592ad9b8 100644 --- a/pkgs/development/interpreters/supercollider/wrapper.nix +++ b/pkgs/development/interpreters/supercollider/wrapper.nix @@ -1,4 +1,9 @@ -{ symlinkJoin, makeWrapper, supercollider, plugins }: +{ + symlinkJoin, + makeWrapper, + supercollider, + plugins, +}: symlinkJoin { name = "supercollider-with-plugins-${supercollider.version}"; diff --git a/pkgs/development/interpreters/tcl/8.5.nix b/pkgs/development/interpreters/tcl/8.5.nix index 7676fbfc187d4..6a8e2391751c1 100644 --- a/pkgs/development/interpreters/tcl/8.5.nix +++ b/pkgs/development/interpreters/tcl/8.5.nix @@ -1,13 +1,16 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - release = "8.5"; - version = "${release}.19"; +callPackage ./generic.nix ( + args + // rec { + release = "8.5"; + version = "${release}.19"; - # Note: when updating, the hash in pkgs/development/libraries/tk/8.5.nix must also be updated! + # Note: when updating, the hash in pkgs/development/libraries/tk/8.5.nix must also be updated! - src = fetchurl { - url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz"; - sha256 = "066vlr9k5f44w9gl9382hlxnryq00d5p6c7w5vq1fgc7v9b49w6k"; - }; -}) + src = fetchurl { + url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz"; + sha256 = "066vlr9k5f44w9gl9382hlxnryq00d5p6c7w5vq1fgc7v9b49w6k"; + }; + } +) diff --git a/pkgs/development/interpreters/tcl/8.6.nix b/pkgs/development/interpreters/tcl/8.6.nix index 9da653b2f761d..1c6217e79d527 100644 --- a/pkgs/development/interpreters/tcl/8.6.nix +++ b/pkgs/development/interpreters/tcl/8.6.nix @@ -1,13 +1,16 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - release = "8.6"; - version = "${release}.15"; +callPackage ./generic.nix ( + args + // rec { + release = "8.6"; + version = "${release}.15"; - # Note: when updating, the hash in pkgs/development/libraries/tk/8.6.nix must also be updated! + # Note: when updating, the hash in pkgs/development/libraries/tk/8.6.nix must also be updated! - src = fetchurl { - url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz"; - sha256 = "sha256-hh4Vl1Py4vvW7BSEEDcVsL5WvjNXUiuFjTy7X4k//vE="; - }; -}) + src = fetchurl { + url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz"; + sha256 = "sha256-hh4Vl1Py4vvW7BSEEDcVsL5WvjNXUiuFjTy7X4k//vE="; + }; + } +) diff --git a/pkgs/development/interpreters/tcl/generic.nix b/pkgs/development/interpreters/tcl/generic.nix index 7746034c357dc..86bc54b9ceb3d 100644 --- a/pkgs/development/interpreters/tcl/generic.nix +++ b/pkgs/development/interpreters/tcl/generic.nix @@ -1,53 +1,68 @@ -{ lib, stdenv, callPackage, makeSetupHook, runCommand -, tzdata, zip, zlib +{ + lib, + stdenv, + callPackage, + makeSetupHook, + runCommand, + tzdata, + zip, + zlib, -# Version specific stuff -, release, version, src -, ... + # Version specific stuff + release, + version, + src, + ... }: let - baseInterp = - stdenv.mkDerivation rec { - pname = "tcl"; - inherit version src; + baseInterp = stdenv.mkDerivation rec { + pname = "tcl"; + inherit version src; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - setOutputFlags = false; + setOutputFlags = false; - postPatch = '' - substituteInPlace library/clock.tcl \ - --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \ - --replace "/usr/share/lib/zoneinfo" "" \ - --replace "/usr/lib/zoneinfo" "" \ - --replace "/usr/local/etc/zoneinfo" "" - ''; + postPatch = '' + substituteInPlace library/clock.tcl \ + --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \ + --replace "/usr/share/lib/zoneinfo" "" \ + --replace "/usr/lib/zoneinfo" "" \ + --replace "/usr/local/etc/zoneinfo" "" + ''; - nativeBuildInputs = lib.optionals (lib.versionAtLeast version "9.0") [ - # Only used to detect the presence of zlib. Could be replaced with a stub. - zip - ]; + nativeBuildInputs = lib.optionals (lib.versionAtLeast version "9.0") [ + # Only used to detect the presence of zlib. Could be replaced with a stub. + zip + ]; - buildInputs = lib.optionals (lib.versionAtLeast version "9.0") [ - zlib - ]; + buildInputs = lib.optionals (lib.versionAtLeast version "9.0") [ + zlib + ]; - preConfigure = '' - cd unix - ''; + preConfigure = '' + cd unix + ''; - # Note: pre-9.0 flags are temporarily interspersed to avoid a mass rebuild. - configureFlags = lib.optionals (lib.versionOlder version "9.0") [ + # Note: pre-9.0 flags are temporarily interspersed to avoid a mass rebuild. + configureFlags = + lib.optionals (lib.versionOlder version "9.0") [ "--enable-threads" - ] ++ [ + ] + ++ [ # Note: using $out instead of $man to prevent a runtime dependency on $man. "--mandir=${placeholder "out"}/share/man" - ] ++ lib.optionals (lib.versionOlder version "9.0") [ + ] + ++ lib.optionals (lib.versionOlder version "9.0") [ "--enable-man-symlinks" # Don't install tzdata because NixOS already has a more up-to-date copy. "--with-tzdata=no" - ] ++ lib.optionals (lib.versionAtLeast version "9.0") [ + ] + ++ lib.optionals (lib.versionAtLeast version "9.0") [ # By default, tcl libraries get zipped and embedded into libtcl*.so, # which gets `zipfs mount`ed at runtime. This is fragile (for example # stripping the .so removes the zip trailer), so we install them as @@ -56,52 +71,60 @@ let # however according to my benchmarks on fast storage and warm cache # tcl built with --disable-zipfs actually starts in half the time. "--disable-zipfs" - ] ++ [ + ] + ++ [ "tcl_cv_strtod_unbroken=ok" - ] ++ lib.optional stdenv.hostPlatform.is64bit "--enable-64bit"; + ] + ++ lib.optional stdenv.hostPlatform.is64bit "--enable-64bit"; - enableParallelBuilding = true; + enableParallelBuilding = true; - postInstall = let + postInstall = + let dllExtension = stdenv.hostPlatform.extensions.sharedLibrary; - in '' + in + '' make install-private-headers ln -s $out/bin/tclsh${release} $out/bin/tclsh ln -s $out/lib/libtcl${release}${dllExtension} $out/lib/libtcl${dllExtension} ''; - meta = with lib; { - description = "Tcl scripting language"; - homepage = "https://www.tcl.tk/"; - license = licenses.tcltk; - platforms = platforms.all; - maintainers = with maintainers; [ agbrooks ]; - }; + meta = with lib; { + description = "Tcl scripting language"; + homepage = "https://www.tcl.tk/"; + license = licenses.tcltk; + platforms = platforms.all; + maintainers = with maintainers; [ agbrooks ]; + }; - passthru = rec { - inherit release version; - libPrefix = "tcl${release}"; - libdir = "lib/${libPrefix}"; - tclPackageHook = callPackage ({ buildPackages }: makeSetupHook { + passthru = rec { + inherit release version; + libPrefix = "tcl${release}"; + libdir = "lib/${libPrefix}"; + tclPackageHook = callPackage ( + { buildPackages }: + makeSetupHook { name = "tcl-package-hook"; propagatedBuildInputs = [ buildPackages.makeBinaryWrapper ]; meta = { inherit (meta) maintainers platforms; }; - } ./tcl-package-hook.sh) {}; - # verify that Tcl's clock library can access tzdata - tests.tzdata = runCommand "${pname}-test-tzdata" {} '' - ${baseInterp}/bin/tclsh <(echo "set t [clock scan {2004-10-30 05:00:00} \ - -format {%Y-%m-%d %H:%M:%S} \ - -timezone :America/New_York]") > $out - ''; - }; + } ./tcl-package-hook.sh + ) { }; + # verify that Tcl's clock library can access tzdata + tests.tzdata = runCommand "${pname}-test-tzdata" { } '' + ${baseInterp}/bin/tclsh <(echo "set t [clock scan {2004-10-30 05:00:00} \ + -format {%Y-%m-%d %H:%M:%S} \ + -timezone :America/New_York]") > $out + ''; }; + }; mkTclDerivation = callPackage ./mk-tcl-derivation.nix { tcl = baseInterp; }; -in baseInterp.overrideAttrs (self: { - passthru = self.passthru // { - inherit mkTclDerivation; - }; +in +baseInterp.overrideAttrs (self: { + passthru = self.passthru // { + inherit mkTclDerivation; + }; }) diff --git a/pkgs/development/interpreters/tcl/mk-tcl-derivation.nix b/pkgs/development/interpreters/tcl/mk-tcl-derivation.nix index 57d60f0f2a65b..b17d4514dfe27 100644 --- a/pkgs/development/interpreters/tcl/mk-tcl-derivation.nix +++ b/pkgs/development/interpreters/tcl/mk-tcl-derivation.nix @@ -1,30 +1,33 @@ # Generic builder for tcl packages/applications, generally based on mk-python-derivation.nix -{ tcl -, lib -, makeWrapper -, runCommand -, writeScript +{ + tcl, + lib, + makeWrapper, + runCommand, + writeScript, }: -{ buildInputs ? [] -, nativeBuildInputs ? [] -, propagatedBuildInputs ? [] -, checkInputs ? [] -, nativeCheckInputs ? [] +{ + buildInputs ? [ ], + nativeBuildInputs ? [ ], + propagatedBuildInputs ? [ ], + checkInputs ? [ ], + nativeCheckInputs ? [ ], -# true if we should skip the configuration phase altogether -, dontConfigure ? false + # true if we should skip the configuration phase altogether + dontConfigure ? false, -# Extra flags passed to configure step -, configureFlags ? [] + # Extra flags passed to configure step + configureFlags ? [ ], -# Whether or not we should add common Tcl-related configure flags -, addTclConfigureFlags ? true + # Whether or not we should add common Tcl-related configure flags + addTclConfigureFlags ? true, -, meta ? {} -, passthru ? {} -, doCheck ? true -, ... } @ attrs: + meta ? { }, + passthru ? { }, + doCheck ? true, + ... +}@attrs: let inherit (tcl) stdenv; @@ -36,36 +39,49 @@ let "--exec-prefix=${placeholder "out"}" ]; - self = (stdenv.mkDerivation ((builtins.removeAttrs attrs [ - "addTclConfigureFlags" "checkPhase" "checkInputs" "nativeCheckInputs" "doCheck" - ]) // { - - buildInputs = buildInputs ++ [ tcl.tclPackageHook ]; - nativeBuildInputs = nativeBuildInputs ++ [ makeWrapper tcl ]; - propagatedBuildInputs = propagatedBuildInputs ++ [ tcl ]; - - TCLSH = "${getBin tcl}/bin/tclsh"; - - # Run tests after install, at which point we've done all TCLLIBPATH setup - doCheck = false; - doInstallCheck = attrs.doCheck or (attrs.doInstallCheck or false); - installCheckInputs = checkInputs ++ (attrs.installCheckInputs or []); - nativeInstallCheckInputs = nativeCheckInputs ++ (attrs.nativeInstallCheckInputs or []); - - # Add typical values expected by TEA for configureFlags - configureFlags = - if (!dontConfigure && addTclConfigureFlags) - then (configureFlags ++ defaultTclPkgConfigureFlags) - else configureFlags; - - meta = { - platforms = tcl.meta.platforms; - } // meta; - - - } // optionalAttrs (attrs?checkPhase) { - installCheckPhase = attrs.checkPhase; - } - )); - -in lib.extendDerivation true passthru self + self = ( + stdenv.mkDerivation ( + (builtins.removeAttrs attrs [ + "addTclConfigureFlags" + "checkPhase" + "checkInputs" + "nativeCheckInputs" + "doCheck" + ]) + // { + + buildInputs = buildInputs ++ [ tcl.tclPackageHook ]; + nativeBuildInputs = nativeBuildInputs ++ [ + makeWrapper + tcl + ]; + propagatedBuildInputs = propagatedBuildInputs ++ [ tcl ]; + + TCLSH = "${getBin tcl}/bin/tclsh"; + + # Run tests after install, at which point we've done all TCLLIBPATH setup + doCheck = false; + doInstallCheck = attrs.doCheck or (attrs.doInstallCheck or false); + installCheckInputs = checkInputs ++ (attrs.installCheckInputs or [ ]); + nativeInstallCheckInputs = nativeCheckInputs ++ (attrs.nativeInstallCheckInputs or [ ]); + + # Add typical values expected by TEA for configureFlags + configureFlags = + if (!dontConfigure && addTclConfigureFlags) then + (configureFlags ++ defaultTclPkgConfigureFlags) + else + configureFlags; + + meta = { + platforms = tcl.meta.platforms; + } // meta; + + } + // optionalAttrs (attrs ? checkPhase) { + installCheckPhase = attrs.checkPhase; + } + ) + ); + +in +lib.extendDerivation true passthru self diff --git a/pkgs/development/interpreters/wamr/default.nix b/pkgs/development/interpreters/wamr/default.nix index f8c5814df92ef..2375774f1b358 100644 --- a/pkgs/development/interpreters/wamr/default.nix +++ b/pkgs/development/interpreters/wamr/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -21,13 +22,17 @@ stdenv.mkDerivation (finalAttrs: { "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinSdkVersion}" ]; - sourceRoot = let - platform = if stdenv.hostPlatform.isLinux then - "linux" - else if stdenv.hostPlatform.isDarwin then - "darwin" - else throw "unsupported platform"; - in "${finalAttrs.src.name}/product-mini/platforms/${platform}"; + sourceRoot = + let + platform = + if stdenv.hostPlatform.isLinux then + "linux" + else if stdenv.hostPlatform.isDarwin then + "darwin" + else + throw "unsupported platform"; + in + "${finalAttrs.src.name}/product-mini/platforms/${platform}"; meta = with lib; { description = "WebAssembly Micro Runtime"; diff --git a/pkgs/development/interpreters/wasmer/default.nix b/pkgs/development/interpreters/wasmer/default.nix index 7c1a8c19a802d..8e68316f6b1a1 100644 --- a/pkgs/development/interpreters/wasmer/default.nix +++ b/pkgs/development/interpreters/wasmer/default.nix @@ -33,13 +33,16 @@ rustPlatform.buildRustPackage rec { ]; # check references to `compiler_features` in Makefile on update - buildFeatures = [ - "cranelift" - "wasmer-artifact-create" - "static-artifact-create" - "wasmer-artifact-load" - "static-artifact-load" - ] ++ lib.optional withLLVM "llvm" ++ lib.optional withSinglepass "singlepass"; + buildFeatures = + [ + "cranelift" + "wasmer-artifact-create" + "static-artifact-create" + "wasmer-artifact-load" + "static-artifact-load" + ] + ++ lib.optional withLLVM "llvm" + ++ lib.optional withSinglepass "singlepass"; cargoBuildFlags = [ "--manifest-path" diff --git a/pkgs/development/interpreters/wavm/default.nix b/pkgs/development/interpreters/wavm/default.nix index feedb88acaa3c..82ee3fee4eb62 100644 --- a/pkgs/development/interpreters/wavm/default.nix +++ b/pkgs/development/interpreters/wavm/default.nix @@ -1,7 +1,8 @@ -{ lib -, llvmPackages -, fetchFromGitHub -, cmake +{ + lib, + llvmPackages, + fetchFromGitHub, + cmake, }: llvmPackages.stdenv.mkDerivation (finalAttrs: { @@ -15,7 +16,10 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: { hash = "sha256-SHz+oOOkwvVZucJYFSyZc3MnOAy1VatspmZmOAXYAWA="; }; - nativeBuildInputs = [ cmake llvmPackages.llvm ]; + nativeBuildInputs = [ + cmake + llvmPackages.llvm + ]; meta = with lib; { description = "WebAssembly Virtual Machine"; diff --git a/pkgs/development/julia-modules/default.nix b/pkgs/development/julia-modules/default.nix index 6b5531ac5690f..01cabdb1eb426 100644 --- a/pkgs/development/julia-modules/default.nix +++ b/pkgs/development/julia-modules/default.nix @@ -1,75 +1,95 @@ -{ callPackage -, fetchgit -, fontconfig -, git -, lib -, makeWrapper -, python3 -, runCommand -, system -, writeText -, writeTextFile - -# Artifacts dependencies -, fetchurl -, glibc -, pkgs -, stdenv - -, julia - -# Special registry which is equal to JuliaRegistries/General, but every Versions.toml -# entry is augmented with a Nix sha256 hash -, augmentedRegistry ? callPackage ./registry.nix {} - -# Other overridable arguments -, extraLibs ? [] -, juliaCpuTarget ? null -, makeTransitiveDependenciesImportable ? false # Used to support symbol indexing -, makeWrapperArgs ? "" -, packageOverrides ? {} -, precompile ? true -, setDefaultDepot ? true +{ + callPackage, + fetchgit, + fontconfig, + git, + lib, + makeWrapper, + python3, + runCommand, + system, + writeText, + writeTextFile, + + # Artifacts dependencies + fetchurl, + glibc, + pkgs, + stdenv, + + julia, + + # Special registry which is equal to JuliaRegistries/General, but every Versions.toml + # entry is augmented with a Nix sha256 hash + augmentedRegistry ? callPackage ./registry.nix { }, + + # Other overridable arguments + extraLibs ? [ ], + juliaCpuTarget ? null, + makeTransitiveDependenciesImportable ? false, # Used to support symbol indexing + makeWrapperArgs ? "", + packageOverrides ? { }, + precompile ? true, + setDefaultDepot ? true, }: packageNames: let - util = callPackage ./util.nix {}; + util = callPackage ./util.nix { }; # Some Julia packages require access to Python. Provide a Nixpkgs version so it # doesn't try to install its own. - pythonToUse = let - extraPythonPackages = ((callPackage ./extra-python-packages.nix { inherit python3; }).getExtraPythonPackages packageNames); - in (if extraPythonPackages == [] then python3 - else util.addPackagesToPython python3 (map (pkg: lib.getAttr pkg python3.pkgs) extraPythonPackages)); + pythonToUse = + let + extraPythonPackages = ( + (callPackage ./extra-python-packages.nix { inherit python3; }).getExtraPythonPackages packageNames + ); + in + ( + if extraPythonPackages == [ ] then + python3 + else + util.addPackagesToPython python3 (map (pkg: lib.getAttr pkg python3.pkgs) extraPythonPackages) + ); # Start by wrapping Julia so it has access to Python and any other extra libs. # Also, prevent various packages (CondaPkg.jl, PythonCall.jl) from trying to do network calls. - juliaWrapped = runCommand "julia-${julia.version}-wrapped" { nativeBuildInputs = [makeWrapper]; inherit makeWrapperArgs; } '' - mkdir -p $out/bin - makeWrapper ${julia}/bin/julia $out/bin/julia \ - --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLibs}" \ - --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf \ - --set PYTHONHOME "${pythonToUse}" \ - --prefix PYTHONPATH : "${pythonToUse}/${pythonToUse.sitePackages}" \ - --set PYTHON ${pythonToUse}/bin/python $makeWrapperArgs \ - --set JULIA_CONDAPKG_OFFLINE yes \ - --set JULIA_CONDAPKG_BACKEND Null \ - --set JULIA_PYTHONCALL_EXE "@PyCall" - ''; + juliaWrapped = + runCommand "julia-${julia.version}-wrapped" + { + nativeBuildInputs = [ makeWrapper ]; + inherit makeWrapperArgs; + } + '' + mkdir -p $out/bin + makeWrapper ${julia}/bin/julia $out/bin/julia \ + --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLibs}" \ + --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf \ + --set PYTHONHOME "${pythonToUse}" \ + --prefix PYTHONPATH : "${pythonToUse}/${pythonToUse.sitePackages}" \ + --set PYTHON ${pythonToUse}/bin/python $makeWrapperArgs \ + --set JULIA_CONDAPKG_OFFLINE yes \ + --set JULIA_CONDAPKG_BACKEND Null \ + --set JULIA_PYTHONCALL_EXE "@PyCall" + ''; # If our closure ends up with certain packages, add others. packageImplications = { # Because we want to put PythonCall in PyCall mode so it doesn't try to download # Python packages - PythonCall = ["PyCall"]; + PythonCall = [ "PyCall" ]; }; # Invoke Julia resolution logic to determine the full dependency closure packageOverridesRepoified = lib.mapAttrs util.repoifySimple packageOverrides; closureYaml = callPackage ./package-closure.nix { - inherit augmentedRegistry julia packageNames packageImplications; + inherit + augmentedRegistry + julia + packageNames + packageImplications + ; packageOverrides = packageOverridesRepoified; }; @@ -83,13 +103,26 @@ let # }; # ... # } - dependencies = runCommand "julia-sources.nix" { buildInputs = [(python3.withPackages (ps: with ps; [toml pyyaml])) git]; } '' - python ${./python}/sources_nix.py \ - "${augmentedRegistry}" \ - '${lib.generators.toJSON {} packageOverridesRepoified}' \ - "${closureYaml}" \ - "$out" - ''; + dependencies = + runCommand "julia-sources.nix" + { + buildInputs = [ + (python3.withPackages ( + ps: with ps; [ + toml + pyyaml + ] + )) + git + ]; + } + '' + python ${./python}/sources_nix.py \ + "${augmentedRegistry}" \ + '${lib.generators.toJSON { } packageOverridesRepoified}' \ + "${closureYaml}" \ + "$out" + ''; # Import the Nix file from the previous step (IFD) and turn each dependency repo into # a dummy Git repository, as Julia expects. Format the results as a YAML map from @@ -100,100 +133,163 @@ let # } # This is also the point where we apply the packageOverrides. dependencyUuidToInfo = import dependencies { inherit fetchgit; }; - fillInOverrideSrc = uuid: info: - if lib.hasAttr info.name packageOverrides then (info // { src = lib.getAttr info.name packageOverrides; }) else info; - dependencyUuidToRepo = lib.mapAttrs util.repoifyInfo (lib.mapAttrs fillInOverrideSrc dependencyUuidToInfo); + fillInOverrideSrc = + uuid: info: + if lib.hasAttr info.name packageOverrides then + (info // { src = lib.getAttr info.name packageOverrides; }) + else + info; + dependencyUuidToRepo = lib.mapAttrs util.repoifyInfo ( + lib.mapAttrs fillInOverrideSrc dependencyUuidToInfo + ); dependencyUuidToRepoYaml = writeTextFile { name = "dependency-uuid-to-repo.yml"; - text = lib.generators.toYAML {} dependencyUuidToRepo; + text = lib.generators.toYAML { } dependencyUuidToRepo; }; # Given the augmented registry, closure info yaml, and dependency path yaml, construct a complete # Julia registry containing all the necessary packages dependencyUuidToInfoYaml = writeTextFile { name = "dependency-uuid-to-info.yml"; - text = lib.generators.toYAML {} dependencyUuidToInfo; + text = lib.generators.toYAML { } dependencyUuidToInfo; }; - fillInOverrideSrc' = uuid: info: - if lib.hasAttr info.name packageOverridesRepoified then (info // { src = lib.getAttr info.name packageOverridesRepoified; }) else info; - overridesOnly = lib.mapAttrs fillInOverrideSrc' (lib.filterAttrs (uuid: info: info.src == null) dependencyUuidToInfo); - minimalRegistry = runCommand "minimal-julia-registry" { buildInputs = [(python3.withPackages (ps: with ps; [toml pyyaml])) git]; } '' - python ${./python}/minimal_registry.py \ - "${augmentedRegistry}" \ - "${closureYaml}" \ - '${lib.generators.toJSON {} overridesOnly}' \ - "${dependencyUuidToRepoYaml}" \ - "$out" - ''; + fillInOverrideSrc' = + uuid: info: + if lib.hasAttr info.name packageOverridesRepoified then + (info // { src = lib.getAttr info.name packageOverridesRepoified; }) + else + info; + overridesOnly = lib.mapAttrs fillInOverrideSrc' ( + lib.filterAttrs (uuid: info: info.src == null) dependencyUuidToInfo + ); + minimalRegistry = + runCommand "minimal-julia-registry" + { + buildInputs = [ + (python3.withPackages ( + ps: with ps; [ + toml + pyyaml + ] + )) + git + ]; + } + '' + python ${./python}/minimal_registry.py \ + "${augmentedRegistry}" \ + "${closureYaml}" \ + '${lib.generators.toJSON { } overridesOnly}' \ + "${dependencyUuidToRepoYaml}" \ + "$out" + ''; # Next, deal with artifacts. Scan each artifacts file individually and generate a Nix file that # produces the desired Overrides.toml. - artifactsNix = runCommand "julia-artifacts.nix" { buildInputs = [(python3.withPackages (ps: with ps; [toml pyyaml]))]; } '' - python ${./python}/extract_artifacts.py \ - "${dependencyUuidToRepoYaml}" \ - "${closureYaml}" \ - "${juliaWrapped}/bin/julia" \ - "${if lib.versionAtLeast julia.version "1.7" then ./extract_artifacts.jl else ./extract_artifacts_16.jl}" \ - '${lib.generators.toJSON {} (import ./extra-libs.nix)}' \ - '${lib.generators.toJSON {} (stdenv.hostPlatform.isDarwin)}' \ - "$out" - ''; + artifactsNix = + runCommand "julia-artifacts.nix" + { + buildInputs = [ + (python3.withPackages ( + ps: with ps; [ + toml + pyyaml + ] + )) + ]; + } + '' + python ${./python}/extract_artifacts.py \ + "${dependencyUuidToRepoYaml}" \ + "${closureYaml}" \ + "${juliaWrapped}/bin/julia" \ + "${ + if lib.versionAtLeast julia.version "1.7" then ./extract_artifacts.jl else ./extract_artifacts_16.jl + }" \ + '${lib.generators.toJSON { } (import ./extra-libs.nix)}' \ + '${lib.generators.toJSON { } (stdenv.hostPlatform.isDarwin)}' \ + "$out" + ''; # Import the artifacts Nix to build Overrides.toml (IFD) - artifacts = import artifactsNix ({ - inherit lib fetchurl pkgs stdenv; - } // lib.optionalAttrs (!stdenv.targetPlatform.isDarwin) { - inherit glibc; - }); + artifacts = import artifactsNix ( + { + inherit + lib + fetchurl + pkgs + stdenv + ; + } + // lib.optionalAttrs (!stdenv.targetPlatform.isDarwin) { + inherit glibc; + } + ); overridesJson = writeTextFile { name = "Overrides.json"; - text = lib.generators.toJSON {} artifacts; + text = lib.generators.toJSON { } artifacts; }; - overridesToml = runCommand "Overrides.toml" { buildInputs = [(python3.withPackages (ps: with ps; [toml]))]; } '' - python ${./python}/format_overrides.py \ - "${overridesJson}" \ - "$out" - ''; + overridesToml = + runCommand "Overrides.toml" { buildInputs = [ (python3.withPackages (ps: with ps; [ toml ])) ]; } + '' + python ${./python}/format_overrides.py \ + "${overridesJson}" \ + "$out" + ''; # Build a Julia project and depot. The project contains Project.toml/Manifest.toml, while the # depot contains package build products (including the precompiled libraries, if precompile=true) projectAndDepot = callPackage ./depot.nix { - inherit closureYaml extraLibs juliaCpuTarget overridesToml packageImplications precompile; + inherit + closureYaml + extraLibs + juliaCpuTarget + overridesToml + packageImplications + precompile + ; julia = juliaWrapped; registry = minimalRegistry; - packageNames = if makeTransitiveDependenciesImportable - then lib.mapAttrsToList (uuid: info: info.name) dependencyUuidToInfo - else packageNames; + packageNames = + if makeTransitiveDependenciesImportable then + lib.mapAttrsToList (uuid: info: info.name) dependencyUuidToInfo + else + packageNames; }; in -runCommand "julia-${julia.version}-env" { - nativeBuildInputs = [makeWrapper]; - - passthru = { - inherit julia; - inherit juliaWrapped; - inherit (julia) pname version meta; - - # Expose the steps we used along the way in case the user wants to use them, for example to build - # expressions and build them separately to avoid IFD. - inherit dependencies; - inherit closureYaml; - inherit dependencyUuidToInfoYaml; - inherit dependencyUuidToRepoYaml; - inherit minimalRegistry; - inherit artifactsNix; - inherit overridesJson; - inherit overridesToml; - inherit projectAndDepot; - }; -} ('' - mkdir -p $out/bin - makeWrapper ${juliaWrapped}/bin/julia $out/bin/julia \ - --suffix JULIA_DEPOT_PATH : "${projectAndDepot}/depot" \ - --set-default JULIA_PROJECT "${projectAndDepot}/project" \ - --set-default JULIA_LOAD_PATH '@:${projectAndDepot}/project/Project.toml:@v#.#:@stdlib' -'' + lib.optionalString setDefaultDepot '' - sed -i '2 i\JULIA_DEPOT_PATH=''${JULIA_DEPOT_PATH-"$HOME/.julia"}' $out/bin/julia -'') +runCommand "julia-${julia.version}-env" + { + nativeBuildInputs = [ makeWrapper ]; + + passthru = { + inherit julia; + inherit juliaWrapped; + inherit (julia) pname version meta; + + # Expose the steps we used along the way in case the user wants to use them, for example to build + # expressions and build them separately to avoid IFD. + inherit dependencies; + inherit closureYaml; + inherit dependencyUuidToInfoYaml; + inherit dependencyUuidToRepoYaml; + inherit minimalRegistry; + inherit artifactsNix; + inherit overridesJson; + inherit overridesToml; + inherit projectAndDepot; + }; + } + ( + '' + mkdir -p $out/bin + makeWrapper ${juliaWrapped}/bin/julia $out/bin/julia \ + --suffix JULIA_DEPOT_PATH : "${projectAndDepot}/depot" \ + --set-default JULIA_PROJECT "${projectAndDepot}/project" \ + --set-default JULIA_LOAD_PATH '@:${projectAndDepot}/project/Project.toml:@v#.#:@stdlib' + '' + + lib.optionalString setDefaultDepot '' + sed -i '2 i\JULIA_DEPOT_PATH=''${JULIA_DEPOT_PATH-"$HOME/.julia"}' $out/bin/julia + '' + ) diff --git a/pkgs/development/julia-modules/depot.nix b/pkgs/development/julia-modules/depot.nix index 29a4925000039..6047dc4c86f4b 100644 --- a/pkgs/development/julia-modules/depot.nix +++ b/pkgs/development/julia-modules/depot.nix @@ -1,21 +1,22 @@ -{ lib -, runCommand - -, cacert -, curl -, git -, julia -, python3 -, stdenv - -, closureYaml -, extraLibs -, juliaCpuTarget -, overridesToml -, packageImplications -, packageNames -, precompile -, registry +{ + lib, + runCommand, + + cacert, + curl, + git, + julia, + python3, + stdenv, + + closureYaml, + extraLibs, + juliaCpuTarget, + overridesToml, + packageImplications, + packageNames, + precompile, + registry, }: let @@ -26,91 +27,106 @@ let # to use a file or directory of certificate authority roots, but your environment specifies one via the SSL_CERT_FILE # variable. If you believe your system's root certificates are safe to use, you can `export JULIA_SSL_CA_ROOTS_PATH=""` # in your environment to use those instead.) - setJuliaSslCaRootsPath = if stdenv.targetPlatform.isDarwin - then ''export JULIA_SSL_CA_ROOTS_PATH=""'' - else ''export JULIA_SSL_CA_ROOTS_PATH="${cacert}/etc/ssl/certs/ca-bundle.crt"''; + setJuliaSslCaRootsPath = + if stdenv.targetPlatform.isDarwin then + ''export JULIA_SSL_CA_ROOTS_PATH=""'' + else + ''export JULIA_SSL_CA_ROOTS_PATH="${cacert}/etc/ssl/certs/ca-bundle.crt"''; in -runCommand "julia-depot" { - nativeBuildInputs = [curl git julia (python3.withPackages (ps: with ps; [pyyaml]))] ++ extraLibs; - inherit precompile registry; -} ('' - export HOME=$(pwd) - - echo "Building Julia depot and project with the following inputs" - echo "Julia: ${julia}" - echo "Registry: $registry" - echo "Overrides ${overridesToml}" - - mkdir -p $out/project - export JULIA_PROJECT="$out/project" - - mkdir -p $out/depot/artifacts - export JULIA_DEPOT_PATH="$out/depot" - cp ${overridesToml} $out/depot/artifacts/Overrides.toml - - # These can be useful to debug problems - # export JULIA_DEBUG=Pkg - # export JULIA_DEBUG=loading - - ${setJuliaSslCaRootsPath} - - # Only precompile if configured to below - export JULIA_PKG_PRECOMPILE_AUTO=0 -'' + lib.optionalString (juliaCpuTarget != null) '' - export JULIA_CPU_TARGET="${juliaCpuTarget}" -'' + '' - # Prevent a warning where Julia tries to download package server info - export JULIA_PKG_SERVER="" - - # See if we need to add any extra package names based on the closure - # and the packageImplications. We're using the full closure YAML here since - # it's available, which is slightly weird, but it should work just as well - # for finding the extra packages we need to add - python ${./python}/find_package_implications.py "${closureYaml}" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt - - # Work around new git security features added in git 2.44.1 - # See https://github.com/NixOS/nixpkgs/issues/315890 - git config --global --add safe.directory '*' - - # Tell Julia to use the Git binary we provide, rather than internal libgit2. - export JULIA_PKG_USE_CLI_GIT="true" - - # At time of writing, this appears to be the only way to turn precompiling's - # terminal output into standard logging, so opportunistically do that. - # (Note this is different from JULIA_CI). - export CI=true - - julia -e ' \ - import Pkg - import Pkg.Types: PRESERVE_NONE - - Pkg.Registry.add(Pkg.RegistrySpec(path="${registry}")) - - input = ${lib.generators.toJSON {} packageNames} ::Vector{String} +runCommand "julia-depot" + { + nativeBuildInputs = [ + curl + git + julia + (python3.withPackages (ps: with ps; [ pyyaml ])) + ] ++ extraLibs; + inherit precompile registry; + } + ( + '' + export HOME=$(pwd) + + echo "Building Julia depot and project with the following inputs" + echo "Julia: ${julia}" + echo "Registry: $registry" + echo "Overrides ${overridesToml}" + + mkdir -p $out/project + export JULIA_PROJECT="$out/project" + + mkdir -p $out/depot/artifacts + export JULIA_DEPOT_PATH="$out/depot" + cp ${overridesToml} $out/depot/artifacts/Overrides.toml + + # These can be useful to debug problems + # export JULIA_DEBUG=Pkg + # export JULIA_DEBUG=loading + + ${setJuliaSslCaRootsPath} + + # Only precompile if configured to below + export JULIA_PKG_PRECOMPILE_AUTO=0 + '' + + lib.optionalString (juliaCpuTarget != null) '' + export JULIA_CPU_TARGET="${juliaCpuTarget}" + '' + + '' + # Prevent a warning where Julia tries to download package server info + export JULIA_PKG_SERVER="" + + # See if we need to add any extra package names based on the closure + # and the packageImplications. We're using the full closure YAML here since + # it's available, which is slightly weird, but it should work just as well + # for finding the extra packages we need to add + python ${./python}/find_package_implications.py "${closureYaml}" '${ + lib.generators.toJSON { } packageImplications + }' extra_package_names.txt + + # Work around new git security features added in git 2.44.1 + # See https://github.com/NixOS/nixpkgs/issues/315890 + git config --global --add safe.directory '*' + + # Tell Julia to use the Git binary we provide, rather than internal libgit2. + export JULIA_PKG_USE_CLI_GIT="true" + + # At time of writing, this appears to be the only way to turn precompiling's + # terminal output into standard logging, so opportunistically do that. + # (Note this is different from JULIA_CI). + export CI=true + + julia -e ' \ + import Pkg + import Pkg.Types: PRESERVE_NONE + + Pkg.Registry.add(Pkg.RegistrySpec(path="${registry}")) + + input = ${lib.generators.toJSON { } packageNames} ::Vector{String} + + if isfile("extra_package_names.txt") + append!(input, readlines("extra_package_names.txt")) + end - if isfile("extra_package_names.txt") - append!(input, readlines("extra_package_names.txt")) - end + input = unique(input) - input = unique(input) + if !isempty(input) + println("Adding packages: " * join(input, " ")) + Pkg.add(input; preserve=PRESERVE_NONE) + Pkg.instantiate() - if !isempty(input) - println("Adding packages: " * join(input, " ")) - Pkg.add(input; preserve=PRESERVE_NONE) - Pkg.instantiate() + if "precompile" in keys(ENV) && ENV["precompile"] != "0" && ENV["precompile"] != "" + if isdefined(Sys, :CPU_NAME) + println("Precompiling with CPU_NAME = " * Sys.CPU_NAME) + end - if "precompile" in keys(ENV) && ENV["precompile"] != "0" && ENV["precompile"] != "" - if isdefined(Sys, :CPU_NAME) - println("Precompiling with CPU_NAME = " * Sys.CPU_NAME) + Pkg.precompile() + end end - Pkg.precompile() - end - end - - # Remove the registry to save space - Pkg.Registry.rm("General") - ' -'') + # Remove the registry to save space + Pkg.Registry.rm("General") + ' + '' + ) diff --git a/pkgs/development/julia-modules/extra-libs.nix b/pkgs/development/julia-modules/extra-libs.nix index 815c67ac7a7dc..b08412657e92c 100644 --- a/pkgs/development/julia-modules/extra-libs.nix +++ b/pkgs/development/julia-modules/extra-libs.nix @@ -7,9 +7,9 @@ # Needs access to dbus or you get "Cannot find libdbus-1 in your system" # Repro: build environment with ["Plots"] # > using Plots; plot(cos, 0, 2pi) - "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" = ["dbus.lib"]; + "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" = [ "dbus.lib" ]; # Qt6Base_jll # Same reason as Qt5Base_jll - "c0090381-4147-56d7-9ebc-da0b1113ec56" = ["dbus.lib"]; + "c0090381-4147-56d7-9ebc-da0b1113ec56" = [ "dbus.lib" ]; } diff --git a/pkgs/development/julia-modules/extra-python-packages.nix b/pkgs/development/julia-modules/extra-python-packages.nix index 14731fb9de350..76913ac48aa79 100644 --- a/pkgs/development/julia-modules/extra-python-packages.nix +++ b/pkgs/development/julia-modules/extra-python-packages.nix @@ -1,19 +1,24 @@ -{ lib -, python3 +{ + lib, + python3, }: # This file contains an extra mapping from Julia packages to the Python packages they depend on. rec { packageMapping = { - ExcelFiles = ["xlrd"]; - PyPlot = ["matplotlib"]; - PythonPlot = ["matplotlib"]; - SymPy = ["sympy"]; + ExcelFiles = [ "xlrd" ]; + PyPlot = [ "matplotlib" ]; + PythonPlot = [ "matplotlib" ]; + SymPy = [ "sympy" ]; }; - getExtraPythonPackages = names: lib.concatMap (name: let - allCandidates = if lib.hasAttr name packageMapping then lib.getAttr name packageMapping else []; - in - lib.filter (x: lib.hasAttr x python3.pkgs) allCandidates - ) names; + getExtraPythonPackages = + names: + lib.concatMap ( + name: + let + allCandidates = if lib.hasAttr name packageMapping then lib.getAttr name packageMapping else [ ]; + in + lib.filter (x: lib.hasAttr x python3.pkgs) allCandidates + ) names; } diff --git a/pkgs/development/julia-modules/package-closure.nix b/pkgs/development/julia-modules/package-closure.nix index 8bc9e2774d81f..a393a2f494270 100644 --- a/pkgs/development/julia-modules/package-closure.nix +++ b/pkgs/development/julia-modules/package-closure.nix @@ -1,12 +1,13 @@ -{ lib -, julia -, python3 -, runCommand - -, augmentedRegistry -, packageNames -, packageOverrides -, packageImplications +{ + lib, + julia, + python3, + runCommand, + + augmentedRegistry, + packageNames, + packageOverrides, + packageImplications, }: let @@ -16,7 +17,7 @@ let import Pkg.Types: Context, PackageSpec - input = ${lib.generators.toJSON {} packageNames} + input = ${lib.generators.toJSON { } packageNames} if isfile("extra_package_names.txt") append!(input, readlines("extra_package_names.txt")) @@ -30,7 +31,11 @@ let ctx = Context() - overrides = Dict{String, String}(${builtins.concatStringsSep ", " (lib.mapAttrsToList (name: path: ''"${name}" => "${path}"'') packageOverrides)}) + overrides = Dict{String, String}(${ + builtins.concatStringsSep ", " ( + lib.mapAttrsToList (name: path: ''"${name}" => "${path}"'') packageOverrides + ) + }) ${builtins.readFile ./resolve_packages.jl} open(ENV["out"], "w") do io @@ -49,25 +54,34 @@ let ''; in -runCommand "julia-package-closure.yml" { buildInputs = [julia (python3.withPackages (ps: with ps; [pyyaml]))]; } '' - mkdir home - export HOME=$(pwd)/home +runCommand "julia-package-closure.yml" + { + buildInputs = [ + julia + (python3.withPackages (ps: with ps; [ pyyaml ])) + ]; + } + '' + mkdir home + export HOME=$(pwd)/home - echo "Resolving Julia packages with the following inputs" - echo "Julia: ${julia}" - echo "Registry: ${augmentedRegistry}" + echo "Resolving Julia packages with the following inputs" + echo "Julia: ${julia}" + echo "Registry: ${augmentedRegistry}" - # Prevent a warning where Julia tries to download package server info - export JULIA_PKG_SERVER="" + # Prevent a warning where Julia tries to download package server info + export JULIA_PKG_SERVER="" - julia -e '${juliaExpression packageNames}'; - - # See if we need to add any extra package names based on the closure - # and the packageImplications - python ${./python}/find_package_implications.py "$out" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt - - if [ -f extra_package_names.txt ]; then - echo "Re-resolving with additional package names" julia -e '${juliaExpression packageNames}'; - fi -'' + + # See if we need to add any extra package names based on the closure + # and the packageImplications + python ${./python}/find_package_implications.py "$out" '${ + lib.generators.toJSON { } packageImplications + }' extra_package_names.txt + + if [ -f extra_package_names.txt ]; then + echo "Re-resolving with additional package names" + julia -e '${juliaExpression packageNames}'; + fi + '' diff --git a/pkgs/development/julia-modules/tests/julia-top-n/default.nix b/pkgs/development/julia-modules/tests/julia-top-n/default.nix index 9e42e19dd309b..2db0c2f2ed47c 100644 --- a/pkgs/development/julia-modules/tests/julia-top-n/default.nix +++ b/pkgs/development/julia-modules/tests/julia-top-n/default.nix @@ -1,5 +1,14 @@ -{ mkDerivation, aeson, base, filepath, lib, optparse-applicative -, sandwich, text, unliftio, yaml +{ + mkDerivation, + aeson, + base, + filepath, + lib, + optparse-applicative, + sandwich, + text, + unliftio, + yaml, }: mkDerivation { pname = "julia-top-n"; @@ -17,7 +26,13 @@ mkDerivation { isLibrary = false; isExecutable = true; executableHaskellDepends = [ - aeson base filepath optparse-applicative sandwich text unliftio + aeson + base + filepath + optparse-applicative + sandwich + text + unliftio yaml ]; license = lib.licenses.bsd3; diff --git a/pkgs/development/julia-modules/tests/top-julia-packages.nix b/pkgs/development/julia-modules/tests/top-julia-packages.nix index 3c50b5eed676c..3a3a9f13a2f4b 100644 --- a/pkgs/development/julia-modules/tests/top-julia-packages.nix +++ b/pkgs/development/julia-modules/tests/top-julia-packages.nix @@ -1,4 +1,4 @@ -with import ../../../../. {}; +with import ../../../../. { }; let package-requests = stdenv.mkDerivation { @@ -6,7 +6,11 @@ let __impure = true; - buildInputs = [cacert gzip wget]; + buildInputs = [ + cacert + gzip + wget + ]; buildCommand = '' wget https://julialang-logs.s3.amazonaws.com/public_outputs/current/package_requests.csv.gz @@ -15,13 +19,22 @@ let ''; }; - registry = callPackage ../registry.nix {}; + registry = callPackage ../registry.nix { }; in -runCommand "top-julia-packages.yaml" { - __impure = true; - nativeBuildInputs = [(python3.withPackages (ps: with ps; [pyyaml toml]))]; -} '' - python ${./process_top_n.py} ${package-requests} ${registry} > $out -'' +runCommand "top-julia-packages.yaml" + { + __impure = true; + nativeBuildInputs = [ + (python3.withPackages ( + ps: with ps; [ + pyyaml + toml + ] + )) + ]; + } + '' + python ${./process_top_n.py} ${package-requests} ${registry} > $out + '' diff --git a/pkgs/development/julia-modules/util.nix b/pkgs/development/julia-modules/util.nix index 0c01fcbe82863..d70bdc48bffa7 100644 --- a/pkgs/development/julia-modules/util.nix +++ b/pkgs/development/julia-modules/util.nix @@ -1,5 +1,6 @@ -{ git -, runCommand +{ + git, + runCommand, }: { @@ -7,15 +8,19 @@ # a) python3 # b) python3.withPackages (ps: [...]) # See https://github.com/NixOS/nixpkgs/pull/97467#issuecomment-689315186 - addPackagesToPython = python: packages: - if python ? "env" then python.override (old: { - extraLibs = old.extraLibs ++ packages; - }) - else python.withPackages (ps: packages); + addPackagesToPython = + python: packages: + if python ? "env" then + python.override (old: { + extraLibs = old.extraLibs ++ packages; + }) + else + python.withPackages (ps: packages); # Convert an ordinary source checkout into a repo with a single commit - repoifySimple = name: path: - runCommand ''${name}-repoified'' {buildInputs = [git];} '' + repoifySimple = + name: path: + runCommand ''${name}-repoified'' { buildInputs = [ git ]; } '' mkdir -p $out cp -r ${path}/. $out cd $out @@ -29,8 +34,9 @@ ''; # Convert an dependency source info into a repo with a single commit - repoifyInfo = uuid: info: - runCommand ''julia-${info.name}-${info.version}'' {buildInputs = [git];} '' + repoifyInfo = + uuid: info: + runCommand ''julia-${info.name}-${info.version}'' { buildInputs = [ git ]; } '' mkdir -p $out cp -r ${info.src}/. $out cd $out diff --git a/pkgs/development/libraries/CGAL/4.nix b/pkgs/development/libraries/CGAL/4.nix index d04a7bccded6f..5d6ca6e89fbe7 100644 --- a/pkgs/development/libraries/CGAL/4.nix +++ b/pkgs/development/libraries/CGAL/4.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, boost, gmp, mpfr }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + boost, + gmp, + mpfr, +}: stdenv.mkDerivation rec { version = "4.14.3"; @@ -30,7 +39,11 @@ stdenv.mkDerivation rec { # note: optional component libCGAL_ImageIO would need zlib and opengl; # there are also libCGAL_Qt{3,4} omitted ATM - buildInputs = [ boost gmp mpfr ]; + buildInputs = [ + boost + gmp + mpfr + ]; nativeBuildInputs = [ cmake ]; doCheck = false; @@ -38,7 +51,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Computational Geometry Algorithms Library"; homepage = "http://cgal.org"; - license = with licenses; [ gpl3Plus lgpl3Plus]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; platforms = platforms.all; maintainers = [ maintainers.raskin ]; }; diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix index 3c0ba58041a4d..2615fc73d02d1 100644 --- a/pkgs/development/libraries/CGAL/default.nix +++ b/pkgs/development/libraries/CGAL/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchurl -, cmake -, boost -, gmp -, mpfr +{ + lib, + stdenv, + fetchurl, + cmake, + boost, + gmp, + mpfr, }: stdenv.mkDerivation rec { @@ -17,7 +19,11 @@ stdenv.mkDerivation rec { # note: optional component libCGAL_ImageIO would need zlib and opengl; # there are also libCGAL_Qt{3,4} omitted ATM - buildInputs = [ boost gmp mpfr ]; + buildInputs = [ + boost + gmp + mpfr + ]; nativeBuildInputs = [ cmake ]; patches = [ ./cgal_path.patch ]; @@ -27,7 +33,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Computational Geometry Algorithms Library"; homepage = "http://cgal.org"; - license = with licenses; [ gpl3Plus lgpl3Plus]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; platforms = platforms.all; maintainers = [ maintainers.raskin ]; }; diff --git a/pkgs/development/libraries/abseil-cpp/202103.nix b/pkgs/development/libraries/abseil-cpp/202103.nix index ec43a98c0497e..823e816e03fdb 100644 --- a/pkgs/development/libraries/abseil-cpp/202103.nix +++ b/pkgs/development/libraries/abseil-cpp/202103.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, static ? stdenv.hostPlatform.isStatic -, cxxStandard ? null +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + static ? stdenv.hostPlatform.isStatic, + cxxStandard ? null, }: stdenv.mkDerivation rec { @@ -18,38 +19,43 @@ stdenv.mkDerivation rec { sha256 = "sha256-fcxPhuI2eL/fnd6nT11p8DpUNwGNaXZmd03yOiZcOT0="; }; - patches = [ - # Use CMAKE_INSTALL_FULL_{LIBDIR,INCLUDEDIR} - # https://github.com/abseil/abseil-cpp/pull/963 - (fetchpatch { - url = "https://github.com/abseil/abseil-cpp/commit/5bfa70c75e621c5d5ec095c8c4c0c050dcb2957e.patch"; - sha256 = "0nhjxqfxpi2pkfinnqvd5m4npf9l1kg39mjx9l3087ajhadaywl5"; - }) + patches = + [ + # Use CMAKE_INSTALL_FULL_{LIBDIR,INCLUDEDIR} + # https://github.com/abseil/abseil-cpp/pull/963 + (fetchpatch { + url = "https://github.com/abseil/abseil-cpp/commit/5bfa70c75e621c5d5ec095c8c4c0c050dcb2957e.patch"; + sha256 = "0nhjxqfxpi2pkfinnqvd5m4npf9l1kg39mjx9l3087ajhadaywl5"; + }) - # Bacport gcc-13 fix: - # https://github.com/abseil/abseil-cpp/pull/1187 - (fetchpatch { - name = "gcc-13.patch"; - url = "https://github.com/abseil/abseil-cpp/commit/36a4b073f1e7e02ed7d1ac140767e36f82f09b7c.patch"; - hash = "sha256-aA7mwGEtv/cQINcawjkukmCvfNuqwUeDFssSiNKPdgg="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isLoongArch64 [ - # https://github.com/abseil/abseil-cpp/pull/1110 - (fetchpatch { - url = "https://github.com/abseil/abseil-cpp/commit/808bc202fc13e85a7948db0d7fb58f0f051200b1.patch"; - sha256 = "sha256-ayY/aV/xWOdEyFSDqV7B5WDGvZ0ASr/aeBeYwP5RZVc="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Don’t propagate the path to CoreFoundation. Otherwise, it’s impossible to build packages - # that require a different SDK other than the default one. - ./cmake-core-foundation.patch - ]; + # Bacport gcc-13 fix: + # https://github.com/abseil/abseil-cpp/pull/1187 + (fetchpatch { + name = "gcc-13.patch"; + url = "https://github.com/abseil/abseil-cpp/commit/36a4b073f1e7e02ed7d1ac140767e36f82f09b7c.patch"; + hash = "sha256-aA7mwGEtv/cQINcawjkukmCvfNuqwUeDFssSiNKPdgg="; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isLoongArch64 [ + # https://github.com/abseil/abseil-cpp/pull/1110 + (fetchpatch { + url = "https://github.com/abseil/abseil-cpp/commit/808bc202fc13e85a7948db0d7fb58f0f051200b1.patch"; + sha256 = "sha256-ayY/aV/xWOdEyFSDqV7B5WDGvZ0ASr/aeBeYwP5RZVc="; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Don’t propagate the path to CoreFoundation. Otherwise, it’s impossible to build packages + # that require a different SDK other than the default one. + ./cmake-core-foundation.patch + ]; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" - ] ++ lib.optionals (cxxStandard != null) [ - "-DCMAKE_CXX_STANDARD=${cxxStandard}" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" + ] + ++ lib.optionals (cxxStandard != null) [ + "-DCMAKE_CXX_STANDARD=${cxxStandard}" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/accounts-qt/default.nix b/pkgs/development/libraries/accounts-qt/default.nix index e96c4b0aca813..9b4a4f4a1728a 100644 --- a/pkgs/development/libraries/accounts-qt/default.nix +++ b/pkgs/development/libraries/accounts-qt/default.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchFromGitLab, gitUpdater, doxygen, glib, libaccounts-glib, pkg-config, qmake, qtbase, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + doxygen, + glib, + libaccounts-glib, + pkg-config, + qmake, + qtbase, + wrapQtAppsHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "accounts-qt"; @@ -12,9 +24,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-mPZgD4r7vlUP6wklvZVknGqTXZBckSOtNzK7p6e2qSA="; }; - propagatedBuildInputs = [ glib libaccounts-glib ]; + propagatedBuildInputs = [ + glib + libaccounts-glib + ]; buildInputs = [ qtbase ]; - nativeBuildInputs = [ doxygen pkg-config qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + doxygen + pkg-config + qmake + wrapQtAppsHook + ]; # remove forbidden references to /build preFixup = '' diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index d4c1956914b9d..4ed011a71cc7c 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, gettext, attr }: +{ + lib, + stdenv, + fetchurl, + gettext, + attr, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -14,7 +20,13 @@ stdenv.mkDerivation rec { hash = "sha256-XyvbrWKXB6p9hcYj+ZSqih0t7FWnPeUgW6wL9gWKL3w="; }; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; nativeBuildInputs = [ gettext ]; buildInputs = [ attr ]; diff --git a/pkgs/development/libraries/agda/1lab/default.nix b/pkgs/development/libraries/agda/1lab/default.nix index b9cea79b582a7..e21e9537f7597 100644 --- a/pkgs/development/libraries/agda/1lab/default.nix +++ b/pkgs/development/libraries/agda/1lab/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDerivation, fetchFromGitHub }: +{ + lib, + mkDerivation, + fetchFromGitHub, +}: mkDerivation rec { pname = "1lab"; @@ -33,8 +37,7 @@ mkDerivation rec { everythingFile = "_build/all-pages.agda"; meta = with lib; { - description = - "A formalised, cross-linked reference resource for mathematics done in Homotopy Type Theory "; + description = "A formalised, cross-linked reference resource for mathematics done in Homotopy Type Theory "; homepage = src.meta.homepage; license = licenses.agpl3Only; platforms = platforms.unix; diff --git a/pkgs/development/libraries/agda/agda-categories/default.nix b/pkgs/development/libraries/agda/agda-categories/default.nix index cb0d12a3edfb2..60a74c353f3ea 100644 --- a/pkgs/development/libraries/agda/agda-categories/default.nix +++ b/pkgs/development/libraries/agda/agda-categories/default.nix @@ -1,4 +1,9 @@ -{ lib, mkDerivation, fetchFromGitHub, standard-library }: +{ + lib, + mkDerivation, + fetchFromGitHub, + standard-library, +}: mkDerivation rec { version = "0.2.0"; @@ -33,6 +38,9 @@ mkDerivation rec { description = "New Categories library"; license = licenses.bsd3; platforms = platforms.unix; - maintainers = with maintainers; [ alexarice turion ]; + maintainers = with maintainers; [ + alexarice + turion + ]; }; } diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix index 661ffd71f839c..4150941f09cbe 100644 --- a/pkgs/development/libraries/agda/agda-prelude/default.nix +++ b/pkgs/development/libraries/agda/agda-prelude/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDerivation, fetchFromGitHub }: +{ + lib, + mkDerivation, + fetchFromGitHub, +}: mkDerivation rec { version = "unstable-2024-08-22"; @@ -23,6 +27,10 @@ mkDerivation rec { description = "Programming library for Agda"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = with maintainers; [ mudri alexarice turion ]; + maintainers = with maintainers; [ + mudri + alexarice + turion + ]; }; } diff --git a/pkgs/development/libraries/agda/agdarsec/default.nix b/pkgs/development/libraries/agda/agdarsec/default.nix index 34730ae17f4e2..257172ad31782 100644 --- a/pkgs/development/libraries/agda/agdarsec/default.nix +++ b/pkgs/development/libraries/agda/agdarsec/default.nix @@ -1,5 +1,9 @@ -{ lib, mkDerivation, fetchFromGitHub -, standard-library }: +{ + lib, + mkDerivation, + fetchFromGitHub, + standard-library, +}: mkDerivation rec { pname = "agdarsec"; @@ -14,7 +18,10 @@ mkDerivation rec { everythingFile = "./index.agda"; - includePaths = [ "src" "examples" ]; + includePaths = [ + "src" + "examples" + ]; buildInputs = [ standard-library ]; diff --git a/pkgs/development/libraries/agda/cubical/default.nix b/pkgs/development/libraries/agda/cubical/default.nix index 3747535bec9d3..8d33b36c55eda 100644 --- a/pkgs/development/libraries/agda/cubical/default.nix +++ b/pkgs/development/libraries/agda/cubical/default.nix @@ -1,4 +1,9 @@ -{ lib, mkDerivation, fetchFromGitHub, ghc }: +{ + lib, + mkDerivation, + fetchFromGitHub, + ghc, +}: mkDerivation rec { pname = "cubical"; @@ -21,11 +26,15 @@ mkDerivation rec { ''; meta = with lib; { - description = - "A cubical type theory library for use with the Agda compiler"; + description = "A cubical type theory library for use with the Agda compiler"; homepage = src.meta.homepage; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ alexarice ryanorendorff ncfavier phijor ]; + maintainers = with maintainers; [ + alexarice + ryanorendorff + ncfavier + phijor + ]; }; } diff --git a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix index c91896993ce5b..40ec014ca1296 100644 --- a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix +++ b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, lib, mkDerivation, standard-library }: +{ + fetchFromGitHub, + lib, + mkDerivation, + standard-library, +}: mkDerivation rec { version = "0.5.0"; diff --git a/pkgs/development/libraries/agda/generic/default.nix b/pkgs/development/libraries/agda/generic/default.nix index 855dd0f33c516..4f2a787dc6672 100644 --- a/pkgs/development/libraries/agda/generic/default.nix +++ b/pkgs/development/libraries/agda/generic/default.nix @@ -1,4 +1,9 @@ -{ lib, mkDerivation, fetchFromGitHub, standard-library }: +{ + lib, + mkDerivation, + fetchFromGitHub, + standard-library, +}: mkDerivation rec { pname = "generic"; @@ -23,11 +28,13 @@ mkDerivation rec { meta = with lib; { # Remove if a version compatible with agda 2.6.2 is made broken = true; - description = - "A library for doing generic programming in Agda"; + description = "A library for doing generic programming in Agda"; homepage = src.meta.homepage; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ alexarice turion ]; + maintainers = with maintainers; [ + alexarice + turion + ]; }; } diff --git a/pkgs/development/libraries/agda/generics/default.nix b/pkgs/development/libraries/agda/generics/default.nix index 12815a3617bc6..71219e334612c 100644 --- a/pkgs/development/libraries/agda/generics/default.nix +++ b/pkgs/development/libraries/agda/generics/default.nix @@ -1,4 +1,9 @@ -{ lib, mkDerivation, fetchFromGitHub, standard-library }: +{ + lib, + mkDerivation, + fetchFromGitHub, + standard-library, +}: mkDerivation rec { pname = "generics"; @@ -18,8 +23,7 @@ mkDerivation rec { # everythingFile = "./README.agda"; meta = with lib; { - description = - "Library for datatype-generic programming in Agda"; + description = "Library for datatype-generic programming in Agda"; homepage = src.meta.homepage; license = licenses.mit; platforms = platforms.unix; diff --git a/pkgs/development/libraries/agda/iowa-stdlib/default.nix b/pkgs/development/libraries/agda/iowa-stdlib/default.nix index 1383cff9e55a3..55505f0edf42d 100644 --- a/pkgs/development/libraries/agda/iowa-stdlib/default.nix +++ b/pkgs/development/libraries/agda/iowa-stdlib/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDerivation, fetchFromGitHub }: +{ + lib, + mkDerivation, + fetchFromGitHub, +}: mkDerivation (rec { version = "1.5.0"; @@ -6,7 +10,7 @@ mkDerivation (rec { src = fetchFromGitHub { owner = "cedille"; - repo = "ial"; + repo = "ial"; rev = "v${version}"; sha256 = "0dlis6v6nzbscf713cmwlx8h9n2gxghci8y21qak3hp18gkxdp0g"; }; @@ -26,6 +30,9 @@ mkDerivation (rec { platforms = lib.platforms.unix; # broken since Agda 2.6.1 broken = true; - maintainers = with lib.maintainers; [ alexarice turion ]; + maintainers = with lib.maintainers; [ + alexarice + turion + ]; }; }) diff --git a/pkgs/development/libraries/agda/standard-library/default.nix b/pkgs/development/libraries/agda/standard-library/default.nix index 02f0eb327077e..a9315c34274ce 100644 --- a/pkgs/development/libraries/agda/standard-library/default.nix +++ b/pkgs/development/libraries/agda/standard-library/default.nix @@ -1,4 +1,10 @@ -{ lib, mkDerivation, fetchFromGitHub, ghcWithPackages, nixosTests }: +{ + lib, + mkDerivation, + fetchFromGitHub, + ghcWithPackages, + nixosTests, +}: mkDerivation rec { pname = "standard-library"; @@ -11,7 +17,7 @@ mkDerivation rec { hash = "sha256-4HfwNAkIhk1yC/oSxZ30xilzUM5/22nzbUSqTjcW5Ng="; }; - nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ]; + nativeBuildInputs = [ (ghcWithPackages (self: [ self.filemanip ])) ]; preConfigure = '' runhaskell GenerateEverything.hs --include-deprecated # We will only build/consider Everything.agda, in particular we don't want Everything*.agda @@ -25,6 +31,11 @@ mkDerivation rec { description = "Standard library for use with the Agda compiler"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = with maintainers; [ jwiegley mudri alexarice turion ]; + maintainers = with maintainers; [ + jwiegley + mudri + alexarice + turion + ]; }; } diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix index 06d32b07baf2e..d004915e04f1f 100644 --- a/pkgs/development/libraries/agg/default.nix +++ b/pkgs/development/libraries/agg/default.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkg-config -, freetype, SDL, libX11 }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + libtool, + pkg-config, + freetype, + SDL, + libX11, +}: stdenv.mkDerivation rec { pname = "agg"; @@ -14,12 +24,14 @@ stdenv.mkDerivation rec { automake libtool ]; - buildInputs = [ - freetype - SDL - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - ]; + buildInputs = + [ + freetype + SDL + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + ]; postPatch = '' substituteInPlace include/agg_renderer_outline_aa.h \ @@ -32,14 +44,16 @@ stdenv.mkDerivation rec { sh autogen.sh ''; - configureFlags = [ - (lib.enableFeature stdenv.hostPlatform.isLinux "platform") - (lib.enableFeature (!stdenv.hostPlatform.isDarwin) "sdltest") - "--enable-examples=no" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--x-includes=${lib.getDev libX11}/include" - "--x-libraries=${lib.getLib libX11}/lib" - ]; + configureFlags = + [ + (lib.enableFeature stdenv.hostPlatform.isLinux "platform") + (lib.enableFeature (!stdenv.hostPlatform.isDarwin) "sdltest") + "--enable-examples=no" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--x-includes=${lib.getDev libX11}/include" + "--x-libraries=${lib.getLib libX11}/lib" + ]; NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix index b5fedecf0e813..091edf3494127 100644 --- a/pkgs/development/libraries/alembic/default.nix +++ b/pkgs/development/libraries/alembic/default.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openexr, hdf5-threadsafe }: - -stdenv.mkDerivation rec { + lib, + stdenv, + fetchFromGitHub, + cmake, + openexr, + hdf5-threadsafe, +}: + +stdenv.mkDerivation rec { pname = "alembic"; version = "1.8.8"; @@ -13,14 +19,22 @@ stdenv.mkDerivation rec }; # note: out is unused (but required for outputDoc anyway) - outputs = [ "bin" "dev" "out" "lib" ]; + outputs = [ + "bin" + "dev" + "out" + "lib" + ]; # Prevent cycle between bin and dev (only occurs on Darwin for some reason) propagatedBuildOutputs = [ "lib" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ openexr hdf5-threadsafe ]; + buildInputs = [ + openexr + hdf5-threadsafe + ]; # These flags along with the postPatch step ensure that all artifacts end up # in the correct output without needing to move anything @@ -57,6 +71,9 @@ stdenv.mkDerivation rec homepage = "http://alembic.io/"; license = licenses.bsd3; platforms = platforms.all; - maintainers = with maintainers; [ guibou tmarkus ]; + maintainers = with maintainers; [ + guibou + tmarkus + ]; }; } diff --git a/pkgs/development/libraries/alkimia/default.nix b/pkgs/development/libraries/alkimia/default.nix index d5c89209ce5da..681b81ba9639a 100644 --- a/pkgs/development/libraries/alkimia/default.nix +++ b/pkgs/development/libraries/alkimia/default.nix @@ -1,6 +1,17 @@ -{ mkDerivation, fetchurl, lib -, extra-cmake-modules, doxygen, graphviz, qtbase, qtwebengine, mpir -, kdelibs4support, plasma-framework, knewstuff, kpackage +{ + mkDerivation, + fetchurl, + lib, + extra-cmake-modules, + doxygen, + graphviz, + qtbase, + qtwebengine, + mpir, + kdelibs4support, + plasma-framework, + knewstuff, + kpackage, }: mkDerivation rec { @@ -12,12 +23,23 @@ mkDerivation rec { sha256 = "sha256-z4Ru6HucxjD1jgvdIzNCloELo7zBdR/i9HIhYYl+4zo="; }; - nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ]; + nativeBuildInputs = [ + extra-cmake-modules + doxygen + graphviz + ]; # qtwebengine is not a mandatory dependency, but it adds some features # we might need for alkimia's dependents. See: # https://github.com/KDE/alkimia/blob/v8.1.2/CMakeLists.txt#L124 - buildInputs = [ qtbase qtwebengine kdelibs4support plasma-framework knewstuff kpackage ]; + buildInputs = [ + qtbase + qtwebengine + kdelibs4support + plasma-framework + knewstuff + kpackage + ]; propagatedBuildInputs = [ mpir ]; meta = { diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix index be521257f1955..c729bd547ab68 100644 --- a/pkgs/development/libraries/allegro/default.nix +++ b/pkgs/development/libraries/allegro/default.nix @@ -1,11 +1,30 @@ -{ lib, stdenv, fetchurl, texinfo6_5, libXext, xorgproto, libX11 -, libXpm, libXt, libXcursor, alsa-lib, cmake, zlib, libpng, libvorbis -, libXxf86dga, libXxf86misc -, libXxf86vm, openal, libGLU, libGL }: +{ + lib, + stdenv, + fetchurl, + texinfo6_5, + libXext, + xorgproto, + libX11, + libXpm, + libXt, + libXcursor, + alsa-lib, + cmake, + zlib, + libpng, + libvorbis, + libXxf86dga, + libXxf86misc, + libXxf86vm, + openal, + libGLU, + libGL, +}: stdenv.mkDerivation rec { pname = "allegro"; - version="4.4.3.1"; + version = "4.4.3.1"; src = fetchurl { url = "https://github.com/liballeg/allegro5/releases/download/${version}/${pname}-${version}.tar.gz"; @@ -19,9 +38,23 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ - texinfo6_5 libXext xorgproto libX11 libXpm libXt libXcursor - alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc - libXxf86vm openal libGLU libGL + texinfo6_5 + libXext + xorgproto + libX11 + libXpm + libXt + libXcursor + alsa-lib + zlib + libpng + libvorbis + libXxf86dga + libXxf86misc + libXxf86vm + openal + libGLU + libGL ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/libraries/applet-window-appmenu/default.nix b/pkgs/development/libraries/applet-window-appmenu/default.nix index 09185bfb3c26d..ea4507b52d0b2 100644 --- a/pkgs/development/libraries/applet-window-appmenu/default.nix +++ b/pkgs/development/libraries/applet-window-appmenu/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, kcoreaddons -, kdeclarative -, kdecoration -, plasma-framework -, plasma-workspace -, libSM -, qtx11extras -, kwindowsystem -, libdbusmenu -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + kcoreaddons, + kdeclarative, + kdecoration, + plasma-framework, + plasma-workspace, + libSM, + qtx11extras, + kwindowsystem, + libdbusmenu, + wrapQtAppsHook, }: stdenv.mkDerivation { diff --git a/pkgs/development/libraries/applet-window-buttons/default.nix b/pkgs/development/libraries/applet-window-buttons/default.nix index 4f605b8af98b6..ed67ddd197af6 100644 --- a/pkgs/development/libraries/applet-window-buttons/default.nix +++ b/pkgs/development/libraries/applet-window-buttons/default.nix @@ -1,13 +1,14 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fetchpatch -, cmake -, extra-cmake-modules -, kcoreaddons -, kdeclarative -, kdecoration -, plasma-framework +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + cmake, + extra-cmake-modules, + kcoreaddons, + kdeclarative, + kdecoration, + plasma-framework, }: mkDerivation rec { diff --git a/pkgs/development/libraries/appstream/qt.nix b/pkgs/development/libraries/appstream/qt.nix index 4699c7ce934ec..d79db8c3c6400 100644 --- a/pkgs/development/libraries/appstream/qt.nix +++ b/pkgs/development/libraries/appstream/qt.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, appstream, qtbase, qttools, nixosTests }: +{ + lib, + stdenv, + appstream, + qtbase, + qttools, + nixosTests, +}: # TODO: look into using the libraries from the regular appstream derivation as we keep duplicates here @@ -9,9 +16,16 @@ stdenv.mkDerivation { pname = "appstream-qt"; inherit (appstream) version src; - outputs = [ "out" "dev" "installedTests" ]; + outputs = [ + "out" + "dev" + "installedTests" + ]; - buildInputs = appstream.buildInputs ++ [ appstream qtbase ]; + buildInputs = appstream.buildInputs ++ [ + appstream + qtbase + ]; nativeBuildInputs = appstream.nativeBuildInputs ++ [ qttools ]; @@ -41,5 +55,5 @@ stdenv.mkDerivation { meta = appstream.meta // { description = "Software metadata handling library - Qt"; - }; + }; } diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix index 7d127f9367c0f..5df85f8b53676 100644 --- a/pkgs/development/libraries/apr/default.nix +++ b/pkgs/development/libraries/apr/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, buildPackages, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + buildPackages, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "apr"; @@ -18,42 +24,46 @@ stdenv.mkDerivation rec { rm test/testsock.* ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputBin = "dev"; - preConfigure = - '' - configureFlagsArray+=("--with-installbuilddir=$dev/share/build") - ''; + preConfigure = '' + configureFlagsArray+=("--with-installbuilddir=$dev/share/build") + ''; - configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # For cross builds, provide answers to the configure time tests. - # These answers are valid on x86_64-linux and aarch64-linux. - "ac_cv_file__dev_zero=yes" - "ac_cv_func_setpgrp_void=yes" - "apr_cv_tcp_nodelay_with_cork=yes" - "ac_cv_define_PTHREAD_PROCESS_SHARED=yes" - "apr_cv_process_shared_works=yes" - "apr_cv_mutex_robust_shared=yes" - "ap_cv_atomic_builtins=yes" - "apr_cv_mutex_recursive=yes" - "apr_cv_epoll=yes" - "apr_cv_epoll_create1=yes" - "apr_cv_dup3=yes" - "apr_cv_accept4=yes" - "apr_cv_sock_cloexec=yes" - "ac_cv_struct_rlimit=yes" - "ac_cv_func_sem_open=yes" - "ac_cv_negative_eai=yes" - "apr_cv_gai_addrconfig=yes" - "ac_cv_o_nonblock_inherited=no" - "apr_cv_pthreads_lib=-lpthread" - "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc" - ] ++ lib.optionals (stdenv.hostPlatform.system == "i686-cygwin") [ - # Including the Windows headers breaks unistd.h. - # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2 - "ac_cv_header_windows_h=no" - ]; + configureFlags = + lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # For cross builds, provide answers to the configure time tests. + # These answers are valid on x86_64-linux and aarch64-linux. + "ac_cv_file__dev_zero=yes" + "ac_cv_func_setpgrp_void=yes" + "apr_cv_tcp_nodelay_with_cork=yes" + "ac_cv_define_PTHREAD_PROCESS_SHARED=yes" + "apr_cv_process_shared_works=yes" + "apr_cv_mutex_robust_shared=yes" + "ap_cv_atomic_builtins=yes" + "apr_cv_mutex_recursive=yes" + "apr_cv_epoll=yes" + "apr_cv_epoll_create1=yes" + "apr_cv_dup3=yes" + "apr_cv_accept4=yes" + "apr_cv_sock_cloexec=yes" + "ac_cv_struct_rlimit=yes" + "ac_cv_func_sem_open=yes" + "ac_cv_negative_eai=yes" + "apr_cv_gai_addrconfig=yes" + "ac_cv_o_nonblock_inherited=no" + "apr_cv_pthreads_lib=-lpthread" + "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc" + ] + ++ lib.optionals (stdenv.hostPlatform.system == "i686-cygwin") [ + # Including the Windows headers breaks unistd.h. + # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2 + "ac_cv_header_windows_h=no" + ]; # - Update libtool for macOS 11 support # - Regenerate for cross fix patch diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix index 2b9f1a5913feb..07ee1aef910c9 100644 --- a/pkgs/development/libraries/aqbanking/default.nix +++ b/pkgs/development/libraries/aqbanking/default.nix @@ -1,10 +1,22 @@ -{ lib, stdenv, fetchurl, gmp, gwenhywfar, libtool, libxml2, libxslt -, pkg-config, gettext, xmlsec, zlib +{ + lib, + stdenv, + fetchurl, + gmp, + gwenhywfar, + libtool, + libxml2, + libxslt, + pkg-config, + gettext, + xmlsec, + zlib, }: let inherit ((import ./sources.nix).aqbanking) hash releaseId version; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "aqbanking"; inherit version; @@ -23,14 +35,25 @@ in stdenv.mkDerivation rec { }' configure ''; - buildInputs = [ gmp gwenhywfar libtool libxml2 libxslt xmlsec zlib ]; + buildInputs = [ + gmp + gwenhywfar + libtool + libxml2 + libxslt + xmlsec + zlib + ]; - nativeBuildInputs = [ pkg-config gettext ]; + nativeBuildInputs = [ + pkg-config + gettext + ]; meta = with lib; { description = "Interface to banking tasks, file formats and country information"; homepage = "https://www.aquamaniac.de/rdm/"; - hydraPlatforms = []; + hydraPlatforms = [ ]; license = licenses.gpl2Plus; maintainers = [ ]; platforms = platforms.linux; diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix index ff0e55a446dbd..a779438003320 100644 --- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix +++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix @@ -1,18 +1,29 @@ -{ lib, stdenv, fetchurl, gnutls, openssl, libgcrypt, libgpg-error, pkg-config, gettext -, which +{ + lib, + stdenv, + fetchurl, + gnutls, + openssl, + libgcrypt, + libgpg-error, + pkg-config, + gettext, + which, -# GUI support -, gtk3, qt5 + # GUI support + gtk3, + qt5, -, pluginSearchPaths ? [ + pluginSearchPaths ? [ "/run/current-system/sw/lib/gwenhywfar/plugins" ".nix-profile/lib/gwenhywfar/plugins" - ] + ], }: let inherit ((import ./sources.nix).gwenhywfar) hash releaseId version; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gwenhywfar"; inherit version; @@ -30,32 +41,48 @@ in stdenv.mkDerivation rec { configureFlagsArray+=("--with-guis=gtk3 qt5") ''; - postPatch = let - isRelative = path: builtins.substring 0 1 path != "/"; - mkSearchPath = path: '' - p; g; s,\,"${path}",g; - '' + lib.optionalString (isRelative path) '' - s/AddPath(\(.*\));/AddRelPath(\1, GWEN_PathManager_RelModeHome);/g - ''; + postPatch = + let + isRelative = path: builtins.substring 0 1 path != "/"; + mkSearchPath = + path: + '' + p; g; s,\,"${path}",g; + '' + + lib.optionalString (isRelative path) '' + s/AddPath(\(.*\));/AddRelPath(\1, GWEN_PathManager_RelModeHome);/g + ''; - in '' - sed -i -e '/GWEN_PathManager_DefinePath.*GWEN_PM_PLUGINDIR/,/^#endif/ { - /^#if/,/^#endif/ { - H; /^#endif/ { - ${lib.concatMapStrings mkSearchPath pluginSearchPaths} + in + '' + sed -i -e '/GWEN_PathManager_DefinePath.*GWEN_PM_PLUGINDIR/,/^#endif/ { + /^#if/,/^#endif/ { + H; /^#endif/ { + ${lib.concatMapStrings mkSearchPath pluginSearchPaths} + } } - } - }' src/gwenhywfar.c + }' src/gwenhywfar.c - # Strip off the effective SO version from the path so that for example - # "lib/gwenhywfar/plugins/60" becomes just "lib/gwenhywfar/plugins". - sed -i -e '/^gwenhywfar_plugindir=/s,/\''${GWENHYWFAR_SO_EFFECTIVE},,' \ - configure - ''; + # Strip off the effective SO version from the path so that for example + # "lib/gwenhywfar/plugins/60" becomes just "lib/gwenhywfar/plugins". + sed -i -e '/^gwenhywfar_plugindir=/s,/\''${GWENHYWFAR_SO_EFFECTIVE},,' \ + configure + ''; - nativeBuildInputs = [ pkg-config gettext which ]; + nativeBuildInputs = [ + pkg-config + gettext + which + ]; - buildInputs = [ gtk3 qt5.qtbase gnutls openssl libgcrypt libgpg-error ]; + buildInputs = [ + gtk3 + qt5.qtbase + gnutls + openssl + libgcrypt + libgpg-error + ]; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/aqbanking/libchipcard.nix b/pkgs/development/libraries/aqbanking/libchipcard.nix index 9190e1ad9b797..e9b85f1db8de2 100644 --- a/pkgs/development/libraries/aqbanking/libchipcard.nix +++ b/pkgs/development/libraries/aqbanking/libchipcard.nix @@ -1,8 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, gwenhywfar, pcsclite, zlib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gwenhywfar, + pcsclite, + zlib, +}: let inherit ((import ./sources.nix).libchipcard) hash releaseId version; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "libchipcard"; inherit version; @@ -13,7 +22,11 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gwenhywfar pcsclite zlib ]; + buildInputs = [ + gwenhywfar + pcsclite + zlib + ]; makeFlags = [ "crypttokenplugindir=$(out)/lib/gwenhywfar/plugins/ct" ]; diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix index eb928f99e88a7..c33e6f4cbfe25 100644 --- a/pkgs/development/libraries/arrayfire/default.nix +++ b/pkgs/development/libraries/arrayfire/default.nix @@ -1,35 +1,36 @@ -{ blas -, boost -, clblast -, cmake -, config -, cudaPackages -, fetchFromGitHub -, fftw -, fftwFloat -, fmt_9 -, forge -, freeimage -, gtest -, lapack -, lib -, libGL -, mesa -, ocl-icd -, opencl-clhpp -, pkg-config -, python3 -, span-lite -, stdenv +{ + blas, + boost, + clblast, + cmake, + config, + cudaPackages, + fetchFromGitHub, + fftw, + fftwFloat, + fmt_9, + forge, + freeimage, + gtest, + lapack, + lib, + libGL, + mesa, + ocl-icd, + opencl-clhpp, + pkg-config, + python3, + span-lite, + stdenv, # NOTE: We disable tests by default, because they cannot be run easily on # non-NixOS systems when either CUDA or OpenCL support is enabled (CUDA and # OpenCL need access to drivers that are installed outside of Nix on # non-NixOS systems). -, doCheck ? false -, cpuSupport ? true -, cudaSupport ? config.cudaSupport + doCheck ? false, + cpuSupport ? true, + cudaSupport ? config.cudaSupport, # OpenCL needs mesa which is broken on Darwin -, openclSupport ? !stdenv.hostPlatform.isDarwin + openclSupport ? !stdenv.hostPlatform.isDarwin, # This argument lets one run CUDA & OpenCL tests on non-NixOS systems by # telling Nix where to find the drivers. If you know the version of the # Nvidia driver that is installed on your system, you can do: @@ -48,8 +49,8 @@ # }) # { libsOnly = true; }; # } -, nvidiaComputeDrivers ? null -, fetchpatch + nvidiaComputeDrivers ? null, + fetchpatch, }: # ArrayFire compiles with 64-bit BLAS, but some tests segfault or throw @@ -106,28 +107,30 @@ stdenv.mkDerivation rec { hash = "sha256-GSUdHtvV/97RyDKy8i+ticnSlQCubGGWHg4Oo+YAr8Y="; }; - cmakeFlags = [ - "-DBUILD_TESTING=ON" - # We do not build examples, because building tests already takes long enough... - "-DAF_BUILD_EXAMPLES=OFF" - # No need to build forge, because it's a separate package - "-DAF_BUILD_FORGE=OFF" - "-DAF_COMPUTE_LIBRARY='FFTW/LAPACK/BLAS'" - # Prevent ArrayFire from trying to download some matrices from the Internet - "-DAF_TEST_WITH_MTX_FILES=OFF" - # Have to use the header-only version, because we're not using the version - # from Nixpkgs. Otherwise, libaf.so won't be able to find the shared - # library, because ArrayFire's CMake files do not run the install step of - # spdlog. - "-DAF_WITH_SPDLOG_HEADER_ONLY=ON" - (if cpuSupport then "-DAF_BUILD_CPU=ON" else "-DAF_BUILD_CPU=OFF") - (if openclSupport then "-DAF_BUILD_OPENCL=ON" else "-DAF_BUILD_OPENCL=OFF") - (if cudaSupport then "-DAF_BUILD_CUDA=ON" else "-DAF_BUILD_CUDA=OFF") - ] ++ lib.optionals cudaSupport [ - # ArrayFire use deprecated FindCUDA in their CMake files, so we help CMake - # locate cudatoolkit. - "-DCUDA_LIBRARIES_PATH=${cudaPackages.cudatoolkit}/lib" - ]; + cmakeFlags = + [ + "-DBUILD_TESTING=ON" + # We do not build examples, because building tests already takes long enough... + "-DAF_BUILD_EXAMPLES=OFF" + # No need to build forge, because it's a separate package + "-DAF_BUILD_FORGE=OFF" + "-DAF_COMPUTE_LIBRARY='FFTW/LAPACK/BLAS'" + # Prevent ArrayFire from trying to download some matrices from the Internet + "-DAF_TEST_WITH_MTX_FILES=OFF" + # Have to use the header-only version, because we're not using the version + # from Nixpkgs. Otherwise, libaf.so won't be able to find the shared + # library, because ArrayFire's CMake files do not run the install step of + # spdlog. + "-DAF_WITH_SPDLOG_HEADER_ONLY=ON" + (if cpuSupport then "-DAF_BUILD_CPU=ON" else "-DAF_BUILD_CPU=OFF") + (if openclSupport then "-DAF_BUILD_OPENCL=ON" else "-DAF_BUILD_OPENCL=OFF") + (if cudaSupport then "-DAF_BUILD_CUDA=ON" else "-DAF_BUILD_CUDA=OFF") + ] + ++ lib.optionals cudaSupport [ + # ArrayFire use deprecated FindCUDA in their CMake files, so we help CMake + # locate cudatoolkit. + "-DCUDA_LIBRARIES_PATH=${cudaPackages.cudatoolkit}/lib" + ]; # ArrayFire have a repo with assets for the examples. Since we don't build # the examples anyway, remove the dependency on assets. @@ -165,55 +168,64 @@ stdenv.mkDerivation rec { checkPhase = let LD_LIBRARY_PATH = builtins.concatStringsSep ":" ( - [ "${forge}/lib" "${freeimage}/lib" ] + [ + "${forge}/lib" + "${freeimage}/lib" + ] ++ lib.optional cudaSupport "${cudaPackages.cudatoolkit}/lib64" # On non-NixOS systems, help the tests find Nvidia drivers ++ lib.optional (nvidiaComputeDrivers != null) "${nvidiaComputeDrivers}/lib" ); ctestFlags = builtins.concatStringsSep " " ( # We have to run with "-j1" otherwise various segfaults occur on non-NixOS systems. - [ "--output-on-errors" "-j1" ] + [ + "--output-on-errors" + "-j1" + ] # See https://github.com/arrayfire/arrayfire/issues/3484 ++ lib.optional openclSupport "-E '(inverse_dense|cholesky_dense)'" ); in '' export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} - '' + - # On non-NixOS systems, help the tests find Nvidia drivers - lib.optionalString (openclSupport && nvidiaComputeDrivers != null) '' - export OCL_ICD_VENDORS=${nvidiaComputeDrivers}/etc/OpenCL/vendors - '' + '' + '' + + + # On non-NixOS systems, help the tests find Nvidia drivers + lib.optionalString (openclSupport && nvidiaComputeDrivers != null) '' + export OCL_ICD_VENDORS=${nvidiaComputeDrivers}/etc/OpenCL/vendors + '' + + '' # Note: for debugging, enable AF_TRACE=all AF_PRINT_ERRORS=1 ctest ${ctestFlags} ''; - buildInputs = [ - blas - boost.dev - boost.out - clblast - fftw - fftwFloat - # We need fmt_9 because ArrayFire fails to compile with newer versions. - fmt_9 - forge - freeimage - gtest - lapack - libGL - ocl-icd - opencl-clhpp - span-lite - ] - ++ lib.optionals cudaSupport [ - cudaPackages.cudatoolkit - cudaPackages.cudnn - cudaPackages.cuda_cccl - ] - ++ lib.optionals openclSupport [ - mesa - ]; + buildInputs = + [ + blas + boost.dev + boost.out + clblast + fftw + fftwFloat + # We need fmt_9 because ArrayFire fails to compile with newer versions. + fmt_9 + forge + freeimage + gtest + lapack + libGL + ocl-icd + opencl-clhpp + span-lite + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cudatoolkit + cudaPackages.cudnn + cudaPackages.cuda_cccl + ] + ++ lib.optionals openclSupport [ + mesa + ]; nativeBuildInputs = [ cmake @@ -229,6 +241,9 @@ stdenv.mkDerivation rec { license = licenses.bsd3; homepage = "https://arrayfire.com/"; platforms = platforms.linux; - maintainers = with maintainers; [ chessai twesterhout ]; + maintainers = with maintainers; [ + chessai + twesterhout + ]; }; } diff --git a/pkgs/development/libraries/asio/1.10.nix b/pkgs/development/libraries/asio/1.10.nix index f63fbbd495cb7..1a283bc77f1eb 100644 --- a/pkgs/development/libraries/asio/1.10.nix +++ b/pkgs/development/libraries/asio/1.10.nix @@ -1,6 +1,9 @@ -{callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // { - version = "1.10.8"; - sha256 = "0jgdl4fxw0hwy768rl3lhdc0czz7ak7czf3dg10j21pdpfpfvpi6"; -}) +callPackage ./generic.nix ( + args + // { + version = "1.10.8"; + sha256 = "0jgdl4fxw0hwy768rl3lhdc0czz7ak7czf3dg10j21pdpfpfvpi6"; + } +) diff --git a/pkgs/development/libraries/asio/default.nix b/pkgs/development/libraries/asio/default.nix index 4df73c752e5d4..5508f848cc689 100644 --- a/pkgs/development/libraries/asio/default.nix +++ b/pkgs/development/libraries/asio/default.nix @@ -1,6 +1,9 @@ -{callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // { - version = "1.24.0"; - sha256 = "sha256-iXaBLCShGGAPb88HGiBgZjCmmv5MCr7jsN6lKOaCxYU="; -}) +callPackage ./generic.nix ( + args + // { + version = "1.24.0"; + sha256 = "sha256-iXaBLCShGGAPb88HGiBgZjCmmv5MCr7jsN6lKOaCxYU="; + } +) diff --git a/pkgs/development/libraries/asio/generic.nix b/pkgs/development/libraries/asio/generic.nix index 44dd9e056874d..d3ab8aa40038a 100644 --- a/pkgs/development/libraries/asio/generic.nix +++ b/pkgs/development/libraries/asio/generic.nix @@ -1,5 +1,12 @@ -{lib, stdenv, fetchurl, boost, openssl -, version, sha256, ... +{ + lib, + stdenv, + fetchurl, + boost, + openssl, + version, + sha256, + ... }: stdenv.mkDerivation { diff --git a/pkgs/development/libraries/aspell/aspell-with-dicts.nix b/pkgs/development/libraries/aspell/aspell-with-dicts.nix index fae94dbf08d2b..a66e86bf77f90 100644 --- a/pkgs/development/libraries/aspell/aspell-with-dicts.nix +++ b/pkgs/development/libraries/aspell/aspell-with-dicts.nix @@ -5,10 +5,11 @@ # dependency by another derivation, the passed dictionaries will be # missing. However, invoking aspell directly should be fine. -{ aspell -, aspellDicts -, makeWrapper -, buildEnv +{ + aspell, + aspellDicts, + makeWrapper, + buildEnv, }: f: @@ -17,7 +18,8 @@ let # Dictionaries we want dicts = f aspellDicts; -in buildEnv { +in +buildEnv { name = "aspell-env"; nativeBuildInputs = [ makeWrapper ]; paths = [ aspell ] ++ dicts; diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix index 8c152d32ef6c3..2cc9ff68f7df9 100644 --- a/pkgs/development/libraries/aspell/default.nix +++ b/pkgs/development/libraries/aspell/default.nix @@ -1,9 +1,17 @@ -{ lib, stdenv, fetchurl, fetchzip, perl, ncurses +{ + lib, + stdenv, + fetchurl, + fetchzip, + perl, + ncurses, # for tests -, aspell, glibc, runCommand + aspell, + glibc, + runCommand, -, searchNixProfiles ? true + searchNixProfiles ? true, }: let @@ -34,7 +42,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ perl ]; - buildInputs = [ ncurses perl ]; + buildInputs = [ + ncurses + perl + ]; doCheck = true; @@ -53,16 +64,19 @@ stdenv.mkDerivation rec { ''; passthru.tests = { - uses-curses = runCommand "${pname}-curses" { - buildInputs = [ glibc ]; - } '' - if ! ldd ${aspell}/bin/aspell | grep -q ${ncurses} - then - echo "Test failure: It does not look like aspell picked up the curses dependency." - exit 1 - fi - touch $out - ''; + uses-curses = + runCommand "${pname}-curses" + { + buildInputs = [ glibc ]; + } + '' + if ! ldd ${aspell}/bin/aspell | grep -q ${ncurses} + then + echo "Test failure: It does not look like aspell picked up the curses dependency." + exit 1 + fi + touch $out + ''; }; meta = { diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix index 5958d23e2f261..4874bb653eb8e 100644 --- a/pkgs/development/libraries/aspell/dictionaries.nix +++ b/pkgs/development/libraries/aspell/dictionaries.nix @@ -1,185 +1,231 @@ -{lib, stdenv, fetchurl, aspell, which, writeScript}: - -/* HOWTO: - - * Add some of these to your profile or systemPackages. - - ~~~~ - environment.systemPackages = [ - aspell - aspellDicts.en - aspellDicts.en-computers - aspellDicts.en-science - ]; - ~~~~ - - * Rebuild and switch to the new profile. - * Add something like +{ + lib, + stdenv, + fetchurl, + aspell, + which, + writeScript, +}: + +/* + HOWTO: + + * Add some of these to your profile or systemPackages. + + ~~~~ + environment.systemPackages = [ + aspell + aspellDicts.en + aspellDicts.en-computers + aspellDicts.en-science + ]; + ~~~~ - ~~~~ - master en_US - extra-dicts en-computers.rws - add-extra-dicts en_US-science.rws - ~~~~ + * Rebuild and switch to the new profile. + * Add something like - to `/etc/aspell.conf` or `~/.aspell.conf`. - * Check that `aspell -a` starts without errors. - * (optional) Check your config with `aspell dump config | grep -vE '^(#|$)'`. - * Enjoy. + ~~~~ + master en_US + extra-dicts en-computers.rws + add-extra-dicts en_US-science.rws + ~~~~ + to `/etc/aspell.conf` or `~/.aspell.conf`. + * Check that `aspell -a` starts without errors. + * (optional) Check your config with `aspell dump config | grep -vE '^(#|$)'`. + * Enjoy. */ let - /* Function to compile an Aspell dictionary. Fortunately, they all - build in the exact same way. */ + /* + Function to compile an Aspell dictionary. Fortunately, they all + build in the exact same way. + */ buildDict = - {shortName, fullName, ...}@args: + { shortName, fullName, ... }@args: - stdenv.mkDerivation ({ - pname = "aspell-dict-${shortName}"; + stdenv.mkDerivation ( + { + pname = "aspell-dict-${shortName}"; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ aspell which ]; + nativeBuildInputs = [ + aspell + which + ]; - dontAddPrefix = true; + dontAddPrefix = true; - configurePlatforms = [ ]; + configurePlatforms = [ ]; - preBuild = "makeFlagsArray=(dictdir=$out/lib/aspell datadir=$out/lib/aspell)"; - - meta = { - description = "Aspell dictionary for ${fullName}"; - platforms = lib.platforms.all; - } // (args.meta or {}); - } // removeAttrs args [ "meta" ]); + preBuild = "makeFlagsArray=(dictdir=$out/lib/aspell datadir=$out/lib/aspell)"; + meta = { + description = "Aspell dictionary for ${fullName}"; + platforms = lib.platforms.all; + } // (args.meta or { }); + } + // removeAttrs args [ "meta" ] + ); buildOfficialDict = - {language, version, filename, fullName, sha256, ...}@args: - let buildArgs = { - shortName = "${language}"; - - src = fetchurl { - url = "mirror://gnu/aspell/dict/${language}/${filename}-${language}-${version}.tar.bz2"; - inherit sha256; - }; - - /* Remove any instances of u-deva.cmap and u-deva.cset since - they are included in the main aspell package and can - cause conflicts otherwise. */ - postInstall = '' - rm -f $out/lib/aspell/u-deva.{cmap,cset} - ''; - - passthru.updateScript = writeScript "update-aspellDict-${language}" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p nix curl gnused common-updater-scripts - set -eu -o pipefail - - # List tarballs in the dictionary's subdirectory via HTTPS and - # the simple list method of Apache's mod_autoindex. - # - # Catalan dictionary has an exception where an earlier version - # compares as newer because the versioning scheme has changed. - versions=$( - echo '['; - curl -s 'https://ftp.gnu.org/gnu/aspell/dict/${language}/?F=0' | \ - sed -r 's/.* href="${filename}-${language}-([A-Za-z0-9_+.-]+)\.tar\.bz2".*/"\1"/;t;d' | \ - if [ '${language}' = "ca" ]; then grep -v 20040130-1; else cat; fi; \ - echo ']') - - # Sort versions in descending order using Nix's and take the first as the latest. - sortVersions="(with builtins; head (sort (a: b: compareVersions a b > 0) $versions))" - # nix-instantiate outputs Nix strings (with quotes), so remove them to get - # a result similar to `nix eval --raw`. - latestVersion=$(nix-instantiate --eval --expr "$sortVersions" | tr -d '"') - - update-source-version aspellDicts.${language} "$latestVersion" - ''; - - meta = { - homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html"; - } // (args.meta or {}); - - } // lib.optionalAttrs (lib.elem language [ "is" "nb" ]) { - # These have Windows-1251 encoded non-ASCII characters, - # so need some special handling. - unpackPhase = '' - runHook preUnpack - - tar -xf $src --strip-components=1 || true - - runHook postUnpack - ''; - - postPatch = lib.getAttr language { - is = '' - cp icelandic.alias íslenska.alias - sed -i 's/ .slenska\.alias/ íslenska.alias/g' Makefile.pre - ''; - nb = '' - cp bokmal.alias bokmål.alias - sed -i 's/ bokm.l\.alias/ bokmål.alias/g' Makefile.pre - ''; - }; - } // removeAttrs args [ "language" "filename" "sha256" "meta" ]; - in buildDict buildArgs; + { + language, + version, + filename, + fullName, + sha256, + ... + }@args: + let + buildArgs = + { + shortName = "${language}"; + + src = fetchurl { + url = "mirror://gnu/aspell/dict/${language}/${filename}-${language}-${version}.tar.bz2"; + inherit sha256; + }; + + /* + Remove any instances of u-deva.cmap and u-deva.cset since + they are included in the main aspell package and can + cause conflicts otherwise. + */ + postInstall = '' + rm -f $out/lib/aspell/u-deva.{cmap,cset} + ''; + + passthru.updateScript = writeScript "update-aspellDict-${language}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p nix curl gnused common-updater-scripts + set -eu -o pipefail + + # List tarballs in the dictionary's subdirectory via HTTPS and + # the simple list method of Apache's mod_autoindex. + # + # Catalan dictionary has an exception where an earlier version + # compares as newer because the versioning scheme has changed. + versions=$( + echo '['; + curl -s 'https://ftp.gnu.org/gnu/aspell/dict/${language}/?F=0' | \ + sed -r 's/.* href="${filename}-${language}-([A-Za-z0-9_+.-]+)\.tar\.bz2".*/"\1"/;t;d' | \ + if [ '${language}' = "ca" ]; then grep -v 20040130-1; else cat; fi; \ + echo ']') + + # Sort versions in descending order using Nix's and take the first as the latest. + sortVersions="(with builtins; head (sort (a: b: compareVersions a b > 0) $versions))" + # nix-instantiate outputs Nix strings (with quotes), so remove them to get + # a result similar to `nix eval --raw`. + latestVersion=$(nix-instantiate --eval --expr "$sortVersions" | tr -d '"') + + update-source-version aspellDicts.${language} "$latestVersion" + ''; + + meta = { + homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html"; + } // (args.meta or { }); - /* Function to compile txt dict files into Aspell dictionaries. */ - buildTxtDict = - {langInputs ? [], ...}@args: - buildDict ({ - propagatedUserEnvPackages = langInputs; - - preBuild = '' - # Aspell can't handle multiple data-dirs - # Copy everything we might possibly need - ${lib.concatMapStringsSep "\n" (p: '' - cp -a ${p}/lib/aspell/* . - '') ([ aspell ] ++ langInputs)} - export ASPELL_CONF="data-dir $(pwd)" - - aspell-create() { - target=$1 - shift - echo building $target - aspell create "$@" master ./$target.rws } + // + lib.optionalAttrs + (lib.elem language [ + "is" + "nb" + ]) + { + # These have Windows-1251 encoded non-ASCII characters, + # so need some special handling. + unpackPhase = '' + runHook preUnpack + + tar -xf $src --strip-components=1 || true + + runHook postUnpack + ''; + + postPatch = lib.getAttr language { + is = '' + cp icelandic.alias íslenska.alias + sed -i 's/ .slenska\.alias/ íslenska.alias/g' Makefile.pre + ''; + nb = '' + cp bokmal.alias bokmål.alias + sed -i 's/ bokm.l\.alias/ bokmål.alias/g' Makefile.pre + ''; + }; + } + // removeAttrs args [ + "language" + "filename" + "sha256" + "meta" + ]; + in + buildDict buildArgs; + + # Function to compile txt dict files into Aspell dictionaries. + buildTxtDict = + { + langInputs ? [ ], + ... + }@args: + buildDict ( + { + propagatedUserEnvPackages = langInputs; + + preBuild = '' + # Aspell can't handle multiple data-dirs + # Copy everything we might possibly need + ${lib.concatMapStringsSep "\n" (p: '' + cp -a ${p}/lib/aspell/* . + '') ([ aspell ] ++ langInputs)} + export ASPELL_CONF="data-dir $(pwd)" + + aspell-create() { + target=$1 + shift + echo building $target + aspell create "$@" master ./$target.rws + } + + words-only() { + awk -F'\t' '{print $1}' | sort | uniq + } + + # drop comments + aspell-affix() { + words-only \ + | grep -a -v '#' \ + | aspell-create "$@" + } + + # Hack: drop comments and words with affixes + aspell-plain() { + words-only \ + | grep -a -v '#' \ + | grep -a -v '/' \ + | aspell-create "$@" + } + + aspell-install() { + install -d $out/lib/aspell + for a in "$@"; do + echo installing $a + install -t $out/lib/aspell $a.rws + done + } + ''; - words-only() { - awk -F'\t' '{print $1}' | sort | uniq - } - - # drop comments - aspell-affix() { - words-only \ - | grep -a -v '#' \ - | aspell-create "$@" - } - - # Hack: drop comments and words with affixes - aspell-plain() { - words-only \ - | grep -a -v '#' \ - | grep -a -v '/' \ - | aspell-create "$@" - } - - aspell-install() { - install -d $out/lib/aspell - for a in "$@"; do - echo installing $a - install -t $out/lib/aspell $a.rws - done - } - ''; - - dontUnpack = true; - } // args); + dontUnpack = true; + } + // args + ); -in rec { +in +rec { ### Languages diff --git a/pkgs/development/libraries/atkmm/2.36.nix b/pkgs/development/libraries/atkmm/2.36.nix index 600ae449fd329..609c56331b047 100644 --- a/pkgs/development/libraries/atkmm/2.36.nix +++ b/pkgs/development/libraries/atkmm/2.36.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, atk, glibmm_2_68, pkg-config, gnome, meson, ninja, python3 }: +{ + lib, + stdenv, + fetchurl, + atk, + glibmm_2_68, + pkg-config, + gnome, + meson, + ninja, + python3, +}: stdenv.mkDerivation rec { pname = "atkmm"; @@ -9,11 +20,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-bsJk6qDE3grbcgLGABcL3pp/vk1Ga/vpQOr3+qpsWXQ="; }; - outputs = [ "out" "dev" ]; - - propagatedBuildInputs = [ atk glibmm_2_68 ]; - - nativeBuildInputs = [ pkg-config meson ninja python3 ]; + outputs = [ + "out" + "dev" + ]; + + propagatedBuildInputs = [ + atk + glibmm_2_68 + ]; + + nativeBuildInputs = [ + pkg-config + meson + ninja + python3 + ]; doCheck = true; diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix index a22e3fec16a67..3858fd287adf0 100644 --- a/pkgs/development/libraries/atkmm/default.nix +++ b/pkgs/development/libraries/atkmm/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, atk, glibmm, pkg-config, gnome, meson, ninja, python3 }: +{ + lib, + stdenv, + fetchurl, + atk, + glibmm, + pkg-config, + gnome, + meson, + ninja, + python3, +}: stdenv.mkDerivation rec { pname = "atkmm"; @@ -9,11 +20,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-ChQqgSj4PAAe+4AU7kY+mnZgVO+EaGr5UxNeBNKP2rM="; }; - outputs = [ "out" "dev" ]; - - propagatedBuildInputs = [ atk glibmm ]; - - nativeBuildInputs = [ pkg-config meson python3 ninja ]; + outputs = [ + "out" + "dev" + ]; + + propagatedBuildInputs = [ + atk + glibmm + ]; + + nativeBuildInputs = [ + pkg-config + meson + python3 + ninja + ]; doCheck = true; diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index dfc8a5cdb82b3..0b82272007c2f 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, gettext }: +{ + lib, + stdenv, + fetchurl, + gettext, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -14,7 +19,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-Ob9nRS+kHQlIwhl2AQU/SLPXigKTiXNDMqYwmmgMbIc="; }; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/development/libraries/audio/cubeb/default.nix b/pkgs/development/libraries/audio/cubeb/default.nix index 478e8478382a1..9c7e3a5c79b68 100644 --- a/pkgs/development/libraries/audio/cubeb/default.nix +++ b/pkgs/development/libraries/audio/cubeb/default.nix @@ -1,18 +1,23 @@ -{ lib, stdenv, fetchFromGitHub -, cmake -, pkg-config -, alsa-lib -, jack2 -, libpulseaudio -, sndio -, speexdsp -, AudioUnit -, CoreAudio -, CoreServices -, lazyLoad ? !stdenv.hostPlatform.isDarwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + alsa-lib, + jack2, + libpulseaudio, + sndio, + speexdsp, + AudioUnit, + CoreAudio, + CoreServices, + lazyLoad ? !stdenv.hostPlatform.isDarwin, }: -assert lib.assertMsg (stdenv.hostPlatform.isDarwin -> !lazyLoad) "cubeb: lazyLoad is inert on Darwin"; +assert lib.assertMsg ( + stdenv.hostPlatform.isDarwin -> !lazyLoad +) "cubeb: lazyLoad is inert on Darwin"; let backendLibs = [ @@ -22,7 +27,8 @@ let sndio ]; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "cubeb"; version = "unstable-2022-10-18"; @@ -38,10 +44,18 @@ in stdenv.mkDerivation { pkg-config ]; - buildInputs = [ speexdsp ] ++ ( - if stdenv.hostPlatform.isDarwin then [ AudioUnit CoreAudio CoreServices ] - else backendLibs - ); + buildInputs = + [ speexdsp ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ + AudioUnit + CoreAudio + CoreServices + ] + else + backendLibs + ); cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" diff --git a/pkgs/development/libraries/audio/libbass/default.nix b/pkgs/development/libraries/audio/libbass/default.nix index 364ba305d5c1f..e3774f939de17 100644 --- a/pkgs/development/libraries/audio/libbass/default.nix +++ b/pkgs/development/libraries/audio/libbass/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, unzip, fetchurl }: +{ + lib, + stdenv, + unzip, + fetchurl, +}: # Upstream changes files in-place, to update: # 1. Check latest version at http://www.un4seen.com/ @@ -62,38 +67,45 @@ let }; }; - dropBass = name: bass: stdenv.mkDerivation { - pname = "lib${name}"; - inherit (bass) version; + dropBass = + name: bass: + stdenv.mkDerivation { + pname = "lib${name}"; + inherit (bass) version; - src = fetchurl { - inherit (bass) hash url; - }; - - unpackCmd = '' - mkdir out - ${unzip}/bin/unzip $curSrc -d out - ''; + src = fetchurl { + inherit (bass) hash url; + }; - lpropagatedBuildInputs = [ unzip ]; - dontBuild = true; - installPhase = - let so = - if bass.so ? ${stdenv.hostPlatform.system} then bass.so.${stdenv.hostPlatform.system} - else throw "${name} not packaged for ${stdenv.hostPlatform.system} (yet)."; - in '' - mkdir -p $out/{lib,include} - install -m644 -t $out/lib/ ${so} - install -m644 -t $out/include/ ${bass.h} + unpackCmd = '' + mkdir out + ${unzip}/bin/unzip $curSrc -d out ''; - meta = with lib; { - description = "Shareware audio library"; - homepage = "https://www.un4seen.com/"; - license = licenses.unfreeRedistributable; - platforms = builtins.attrNames bass.so; - maintainers = with maintainers; [ jacekpoz ]; + lpropagatedBuildInputs = [ unzip ]; + dontBuild = true; + installPhase = + let + so = + if bass.so ? ${stdenv.hostPlatform.system} then + bass.so.${stdenv.hostPlatform.system} + else + throw "${name} not packaged for ${stdenv.hostPlatform.system} (yet)."; + in + '' + mkdir -p $out/{lib,include} + install -m644 -t $out/lib/ ${so} + install -m644 -t $out/include/ ${bass.h} + ''; + + meta = with lib; { + description = "Shareware audio library"; + homepage = "https://www.un4seen.com/"; + license = licenses.unfreeRedistributable; + platforms = builtins.attrNames bass.so; + maintainers = with maintainers; [ jacekpoz ]; + }; }; - }; -in lib.mapAttrs dropBass allBass +in +lib.mapAttrs dropBass allBass diff --git a/pkgs/development/libraries/audio/rtaudio/default.nix b/pkgs/development/libraries/audio/rtaudio/default.nix index 8c1bc7356db13..e289cc2c3f9f3 100644 --- a/pkgs/development/libraries/audio/rtaudio/default.nix +++ b/pkgs/development/libraries/audio/rtaudio/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, config -, fetchFromGitHub -, cmake -, pkg-config -, alsaSupport ? stdenv.hostPlatform.isLinux -, alsa-lib -, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux -, libpulseaudio -, jackSupport ? true -, jack -, coreaudioSupport ? stdenv.hostPlatform.isDarwin -, CoreAudio +{ + stdenv, + lib, + config, + fetchFromGitHub, + cmake, + pkg-config, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, + libpulseaudio, + jackSupport ? true, + jack, + coreaudioSupport ? stdenv.hostPlatform.isDarwin, + CoreAudio, }: stdenv.mkDerivation rec { @@ -26,9 +27,13 @@ stdenv.mkDerivation rec { sha256 = "0xvahlfj3ysgsjsp53q81hayzw7f99n1g214gh7dwdr52kv2l987"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = lib.optional alsaSupport alsa-lib + buildInputs = + lib.optional alsaSupport alsa-lib ++ lib.optional pulseaudioSupport libpulseaudio ++ lib.optional jackSupport jack ++ lib.optional coreaudioSupport CoreAudio; diff --git a/pkgs/development/libraries/audio/rtmidi/default.nix b/pkgs/development/libraries/audio/rtmidi/default.nix index c881e45ae559e..79bf235d6833b 100644 --- a/pkgs/development/libraries/audio/rtmidi/default.nix +++ b/pkgs/development/libraries/audio/rtmidi/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, alsaSupport ? stdenv.hostPlatform.isLinux -, alsa-lib -, jackSupport ? true -, jack -, coremidiSupport ? stdenv.hostPlatform.isDarwin -, CoreMIDI -, CoreAudio -, CoreServices +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + alsaSupport ? stdenv.hostPlatform.isLinux, + alsa-lib, + jackSupport ? true, + jack, + coremidiSupport ? stdenv.hostPlatform.isDarwin, + CoreMIDI, + CoreAudio, + CoreServices, }: stdenv.mkDerivation rec { @@ -40,11 +41,19 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = lib.optional alsaSupport alsa-lib + buildInputs = + lib.optional alsaSupport alsa-lib ++ lib.optional jackSupport jack - ++ lib.optionals coremidiSupport [ CoreMIDI CoreAudio CoreServices ]; + ++ lib.optionals coremidiSupport [ + CoreMIDI + CoreAudio + CoreServices + ]; cmakeFlags = [ "-DRTMIDI_API_ALSA=${if alsaSupport then "ON" else "OFF"}" diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix index 3a65f2535b7c5..6fc2379753329 100644 --- a/pkgs/development/libraries/audiofile/default.nix +++ b/pkgs/development/libraries/audiofile/default.nix @@ -1,8 +1,21 @@ -{ stdenv, lib, fetchurl, fetchpatch, alsa-lib, AudioUnit, CoreServices }: +{ + stdenv, + lib, + fetchurl, + fetchpatch, + alsa-lib, + AudioUnit, + CoreServices, +}: let - fetchDebianPatch = { name, debname, sha256 }: + fetchDebianPatch = + { + name, + debname, + sha256, + }: fetchpatch { inherit sha256 name; url = "https://salsa.debian.org/multimedia-team/audiofile/raw/debian/0.3.6-4/debian/patches/${debname}"; @@ -17,8 +30,10 @@ stdenv.mkDerivation rec { buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices AudioUnit + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + AudioUnit ]; src = fetchurl { @@ -26,7 +41,11 @@ stdenv.mkDerivation rec { sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind"; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; # std::unary_function has been removed in c++17 makeFlags = [ "CXXFLAGS=-std=c++11" ]; @@ -89,9 +108,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library for reading and writing audio files in various formats"; - homepage = "http://www.68k.org/~michael/audiofile/"; - license = licenses.lgpl21Plus; + homepage = "http://www.68k.org/~michael/audiofile/"; + license = licenses.lgpl21Plus; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix index 366f5f290abf6..8416743b732ed 100644 --- a/pkgs/development/libraries/avahi/default.nix +++ b/pkgs/development/libraries/avahi/default.nix @@ -1,25 +1,26 @@ -{ fetchurl -, fetchpatch -, lib -, config -, stdenv -, pkg-config -, libdaemon -, dbus -, libpcap -, expat -, gettext -, glib -, libiconv -, libevent -, nixosTests -, gtk3Support ? false -, gtk3 -, qt5 -, qt5Support ? false -, withLibdnssdCompat ? false -, python ? null -, withPython ? false +{ + fetchurl, + fetchpatch, + lib, + config, + stdenv, + pkg-config, + libdaemon, + dbus, + libpcap, + expat, + gettext, + glib, + libiconv, + libevent, + nixosTests, + gtk3Support ? false, + gtk3, + qt5, + qt5Support ? false, + withLibdnssdCompat ? false, + python ? null, + withPython ? false, }: stdenv.mkDerivation rec { @@ -31,7 +32,11 @@ stdenv.mkDerivation rec { sha256 = "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6"; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; patches = [ # CVE-2021-36217 / CVE-2021-3502 @@ -117,7 +122,10 @@ stdenv.mkDerivation rec { name = "core-no-longer-supply-bogus-services-to-callbacks.patch"; url = "https://github.com/avahi/avahi/commit/93b14365c1c1e04efd1a890e8caa01a2a514bfd8.patch"; sha256 = "sha256-VBm8vsBZkTbbWAK8FI71SL89lZuYd1yFNoB5o+FvlEU="; - excludes = [ ".github/workflows/smoke-tests.sh" "fuzz/fuzz-packet.c" ]; + excludes = [ + ".github/workflows/smoke-tests.sh" + "fuzz/fuzz-packet.c" + ]; }) ]; @@ -131,47 +139,57 @@ stdenv.mkDerivation rec { glib ]; - buildInputs = [ - libdaemon - dbus - glib - expat - libiconv - libevent - ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - libpcap - ] ++ lib.optionals gtk3Support [ - gtk3 - ] ++ lib.optionals qt5Support [ - qt5 - ]; + buildInputs = + [ + libdaemon + dbus + glib + expat + libiconv + libevent + ] + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + libpcap + ] + ++ lib.optionals gtk3Support [ + gtk3 + ] + ++ lib.optionals qt5Support [ + qt5 + ]; - propagatedBuildInputs = lib.optionals withPython (with python.pkgs; [ - python - pygobject3 - dbus-python - ]); + propagatedBuildInputs = lib.optionals withPython ( + with python.pkgs; + [ + python + pygobject3 + dbus-python + ] + ); - configureFlags = [ - "--disable-gdbm" - "--disable-mono" - # Use non-deprecated path https://github.com/lathiat/avahi/pull/376 - "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d" - (lib.enableFeature gtk3Support "gtk3") - (lib.enableFeature qt5Support "qt5") - (lib.enableFeature withPython "python") - "--localstatedir=/var" - "--runstatedir=/run" - "--sysconfdir=/etc" - "--with-distro=${with stdenv.hostPlatform; if isBSD then parsed.kernel.name else "none"}" - # A systemd unit is provided by the avahi-daemon NixOS module - "--with-systemdsystemunitdir=no" - ] ++ lib.optionals withLibdnssdCompat [ - "--enable-compat-libdns_sd" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # autoipd won't build on darwin - "--disable-autoipd" - ]; + configureFlags = + [ + "--disable-gdbm" + "--disable-mono" + # Use non-deprecated path https://github.com/lathiat/avahi/pull/376 + "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d" + (lib.enableFeature gtk3Support "gtk3") + (lib.enableFeature qt5Support "qt5") + (lib.enableFeature withPython "python") + "--localstatedir=/var" + "--runstatedir=/run" + "--sysconfdir=/etc" + "--with-distro=${with stdenv.hostPlatform; if isBSD then parsed.kernel.name else "none"}" + # A systemd unit is provided by the avahi-daemon NixOS module + "--with-systemdsystemunitdir=no" + ] + ++ lib.optionals withLibdnssdCompat [ + "--enable-compat-libdns_sd" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # autoipd won't build on darwin + "--disable-autoipd" + ]; installFlags = [ # Override directories to install into the package. @@ -202,7 +220,10 @@ stdenv.mkDerivation rec { homepage = "http://avahi.org"; license = licenses.lgpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ lovek323 globin ]; + maintainers = with maintainers; [ + lovek323 + globin + ]; longDescription = '' Avahi is a system which facilitates service discovery on a local diff --git a/pkgs/development/libraries/aws-c-cal/default.nix b/pkgs/development/libraries/aws-c-cal/default.nix index caf0ce60cdb2d..a407faec05efe 100644 --- a/pkgs/development/libraries/aws-c-cal/default.nix +++ b/pkgs/development/libraries/aws-c-cal/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, nix, openssl, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + aws-c-common, + nix, + openssl, + Security, +}: stdenv.mkDerivation (finalAttrs: { pname = "aws-c-cal"; @@ -18,7 +27,10 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = [ aws-c-common openssl ]; + buildInputs = [ + aws-c-common + openssl + ]; propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; diff --git a/pkgs/development/libraries/aws-c-io/default.nix b/pkgs/development/libraries/aws-c-io/default.nix index 2b3019d48cfa7..f97c2def0aabf 100644 --- a/pkgs/development/libraries/aws-c-io/default.nix +++ b/pkgs/development/libraries/aws-c-io/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, aws-c-cal, aws-c-common, nix, s2n-tls, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + aws-c-cal, + aws-c-common, + nix, + s2n-tls, + Security, +}: stdenv.mkDerivation rec { pname = "aws-c-io"; @@ -13,7 +23,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ aws-c-cal aws-c-common s2n-tls ]; + buildInputs = [ + aws-c-cal + aws-c-common + s2n-tls + ]; propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/bashup-events/3.2.nix b/pkgs/development/libraries/bashup-events/3.2.nix index f7e88c3825110..bc60859adef99 100644 --- a/pkgs/development/libraries/bashup-events/3.2.nix +++ b/pkgs/development/libraries/bashup-events/3.2.nix @@ -18,7 +18,12 @@ callPackage ./generic.nix { }; keep = { # allow vars in eval - eval = [ "e" "f" "q" "r" ]; + eval = [ + "e" + "f" + "q" + "r" + ]; # allow vars executed as commands "$f" = true; "$n" = true; diff --git a/pkgs/development/libraries/bashup-events/4.4.nix b/pkgs/development/libraries/bashup-events/4.4.nix index f880009ea71ad..063108f32e33d 100644 --- a/pkgs/development/libraries/bashup-events/4.4.nix +++ b/pkgs/development/libraries/bashup-events/4.4.nix @@ -12,7 +12,11 @@ callPackage ./generic.nix { }; keep = { # allow vars in eval - eval = [ "e" "bashup_ev" "n" ]; + eval = [ + "e" + "bashup_ev" + "n" + ]; # allow vars executed as commands "$f" = true; "$n" = true; diff --git a/pkgs/development/libraries/bashup-events/generic.nix b/pkgs/development/libraries/bashup-events/generic.nix index eb54d79e6fadf..f91179ff5a23e 100644 --- a/pkgs/development/libraries/bashup-events/generic.nix +++ b/pkgs/development/libraries/bashup-events/generic.nix @@ -1,35 +1,34 @@ { # general - lib -, resholve -, bash -, doCheck ? true -, doInstallCheck ? true + lib, + resholve, + bash, + doCheck ? true, + doInstallCheck ? true, # variant-specific -, variant -, version -, branch -, src -, fake ? false -, keep + variant, + version, + branch, + src, + fake ? false, + keep, }: let # extracting this so that it's trivial to test in other shells - installCheck = shell: - '' - echo "testing bashup.events in ${shell}" - ${shell} <<'EOF' - source $out/bin/bashup.events - neat(){ - echo $0: Hi from event \'test event\'. I can have both $1 and $2 arguments. - exit 0 - } - event on "test event" @2 neat curried - echo event registered - event emit "test event" runtime - exit 1 # fail if emitting event didn't exit clean - EOF - ''; + installCheck = shell: '' + echo "testing bashup.events in ${shell}" + ${shell} <<'EOF' + source $out/bin/bashup.events + neat(){ + echo $0: Hi from event \'test event\'. I can have both $1 and $2 arguments. + exit 0 + } + event on "test event" @2 neat curried + echo event registered + event emit "test event" runtime + exit 1 # fail if emitting event didn't exit clean + EOF + ''; in resholve.mkDerivation rec { diff --git a/pkgs/development/libraries/boost/1.77.nix b/pkgs/development/libraries/boost/1.77.nix index 72663044d9c93..998107521e223 100644 --- a/pkgs/development/libraries/boost/1.77.nix +++ b/pkgs/development/libraries/boost/1.77.nix @@ -1,15 +1,19 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "1.77.0"; - - src = fetchurl { - urls = [ - "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - ]; - # SHA256 from http://www.boost.org/users/history/version_1_77_0.html - sha256 = "sha256-/J+F/AMOIzFCkIJBr3qEbmBjCqc4jeml+vsfOiaECFQ="; - }; -}) +callPackage ./generic.nix ( + args + // rec { + version = "1.77.0"; + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_77_0.html + sha256 = "sha256-/J+F/AMOIzFCkIJBr3qEbmBjCqc4jeml+vsfOiaECFQ="; + }; + } +) diff --git a/pkgs/development/libraries/boost/1.78.nix b/pkgs/development/libraries/boost/1.78.nix index 53a3f300a792b..3e95cf95a5ea6 100644 --- a/pkgs/development/libraries/boost/1.78.nix +++ b/pkgs/development/libraries/boost/1.78.nix @@ -1,15 +1,19 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "1.78.0"; - - src = fetchurl { - urls = [ - "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - ]; - # SHA256 from http://www.boost.org/users/history/version_1_78_0.html - sha256 = "8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc"; - }; -}) +callPackage ./generic.nix ( + args + // rec { + version = "1.78.0"; + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_78_0.html + sha256 = "8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc"; + }; + } +) diff --git a/pkgs/development/libraries/boost/1.79.nix b/pkgs/development/libraries/boost/1.79.nix index 91e13edf2265a..c9bbce8f40b78 100644 --- a/pkgs/development/libraries/boost/1.79.nix +++ b/pkgs/development/libraries/boost/1.79.nix @@ -1,14 +1,19 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "1.79.0"; +callPackage ./generic.nix ( + args + // rec { + version = "1.79.0"; - src = fetchurl { - urls = [ - "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - ]; - # SHA256 from http://www.boost.org/users/history/version_1_79_0.html - sha256 = "475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39"; - }; -}) + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_79_0.html + sha256 = "475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39"; + }; + } +) diff --git a/pkgs/development/libraries/boost/1.80.nix b/pkgs/development/libraries/boost/1.80.nix index 79281cd1c70a0..46376b14d5726 100644 --- a/pkgs/development/libraries/boost/1.80.nix +++ b/pkgs/development/libraries/boost/1.80.nix @@ -1,14 +1,19 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "1.80.0"; +callPackage ./generic.nix ( + args + // rec { + version = "1.80.0"; - src = fetchurl { - urls = [ - "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - ]; - # SHA256 from http://www.boost.org/users/history/version_1_80_0.html - sha256 = "1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0"; - }; -}) + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_80_0.html + sha256 = "1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0"; + }; + } +) diff --git a/pkgs/development/libraries/boost/1.84.nix b/pkgs/development/libraries/boost/1.84.nix index bfcfdfbfd7cfd..79cf7fa099f1c 100644 --- a/pkgs/development/libraries/boost/1.84.nix +++ b/pkgs/development/libraries/boost/1.84.nix @@ -1,14 +1,19 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "1.84.0"; +callPackage ./generic.nix ( + args + // rec { + version = "1.84.0"; - src = fetchurl { - urls = [ - "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - ]; - # SHA256 from http://www.boost.org/users/history/version_1_84_0.html - sha256 = "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454"; - }; -}) + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_84_0.html + sha256 = "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454"; + }; + } +) diff --git a/pkgs/development/libraries/boost/1.85.nix b/pkgs/development/libraries/boost/1.85.nix index a95789800e1bd..45eefa25413c7 100644 --- a/pkgs/development/libraries/boost/1.85.nix +++ b/pkgs/development/libraries/boost/1.85.nix @@ -1,14 +1,19 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "1.85.0"; +callPackage ./generic.nix ( + args + // rec { + version = "1.85.0"; - src = fetchurl { - urls = [ - "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" - ]; - # SHA256 from http://www.boost.org/users/history/version_1_85_0.html - sha256 = "7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617"; - }; -}) + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${ + builtins.replaceStrings [ "." ] [ "_" ] version + }.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_85_0.html + sha256 = "7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617"; + }; + } +) diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix index 8e1b3593162d8..59123eb779c4c 100644 --- a/pkgs/development/libraries/boost/default.nix +++ b/pkgs/development/libraries/boost/default.nix @@ -1,12 +1,15 @@ -{ lib -, callPackage -, boost-build -, fetchurl +{ + lib, + callPackage, + boost-build, + fetchurl, }: let - makeBoost = file: - lib.fix (self: + makeBoost = + file: + lib.fix ( + self: callPackage file { boost-build = boost-build.override { # useBoost allows us passing in src and version from @@ -15,7 +18,8 @@ let }; } ); -in { +in +{ boost177 = makeBoost ./1.77.nix; boost178 = makeBoost ./1.78.nix; boost179 = makeBoost ./1.79.nix; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 94ee8c236423f..d7182414f7338 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -1,31 +1,52 @@ -{ lib, stdenv, icu, expat, zlib, bzip2, zstd, xz, python ? null, fixDarwinDylibNames, libiconv, libxcrypt -, makePkgconfigItem -, copyPkgconfigItems -, boost-build -, fetchpatch -, which -, toolset ? /**/ if stdenv.cc.isClang then "clang" - else if stdenv.cc.isGNU then "gcc" - else null -, enableRelease ? true -, enableDebug ? false -, enableSingleThreaded ? false -, enableMultiThreaded ? true -, enableShared ? !(with stdenv.hostPlatform; isStatic || isMinGW) # problems for now -, enableStatic ? !enableShared -, enablePython ? false -, enableNumpy ? false -, enableIcu ? stdenv.hostPlatform == stdenv.buildPlatform -, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic)) -, patches ? [] -, boostBuildPatches ? [] -, useMpi ? false -, mpi -, extraB2Args ? [] - -# Attributes inherit from specific versions -, version, src -, ... +{ + lib, + stdenv, + icu, + expat, + zlib, + bzip2, + zstd, + xz, + python ? null, + fixDarwinDylibNames, + libiconv, + libxcrypt, + makePkgconfigItem, + copyPkgconfigItems, + boost-build, + fetchpatch, + which, + toolset ? + if stdenv.cc.isClang then + "clang" + else if stdenv.cc.isGNU then + "gcc" + else + null, + enableRelease ? true, + enableDebug ? false, + enableSingleThreaded ? false, + enableMultiThreaded ? true, + enableShared ? !(with stdenv.hostPlatform; isStatic || isMinGW), # problems for now + enableStatic ? !enableShared, + enablePython ? false, + enableNumpy ? false, + enableIcu ? stdenv.hostPlatform == stdenv.buildPlatform, + taggedLayout ? ( + (enableRelease && enableDebug) + || (enableSingleThreaded && enableMultiThreaded) + || (enableShared && enableStatic) + ), + patches ? [ ], + boostBuildPatches ? [ ], + useMpi ? false, + mpi, + extraB2Args ? [ ], + + # Attributes inherit from specific versions + version, + src, + ... }: # We must build at least one type of libraries @@ -35,66 +56,94 @@ assert enableNumpy -> enablePython; let - variant = lib.concatStringsSep "," - (lib.optional enableRelease "release" ++ - lib.optional enableDebug "debug"); + variant = lib.concatStringsSep "," ( + lib.optional enableRelease "release" ++ lib.optional enableDebug "debug" + ); - threading = lib.concatStringsSep "," - (lib.optional enableSingleThreaded "single" ++ - lib.optional enableMultiThreaded "multi"); + threading = lib.concatStringsSep "," ( + lib.optional enableSingleThreaded "single" ++ lib.optional enableMultiThreaded "multi" + ); - link = lib.concatStringsSep "," - (lib.optional enableShared "shared" ++ - lib.optional enableStatic "static"); + link = lib.concatStringsSep "," ( + lib.optional enableShared "shared" ++ lib.optional enableStatic "static" + ); runtime-link = if enableShared then "shared" else "static"; # To avoid library name collisions layout = if taggedLayout then "tagged" else "system"; - needUserConfig = stdenv.hostPlatform != stdenv.buildPlatform || useMpi || (stdenv.hostPlatform.isDarwin && enableShared); - - b2Args = lib.concatStringsSep " " ([ - "--includedir=$dev/include" - "--libdir=$out/lib" - "-j$NIX_BUILD_CORES" - "--layout=${layout}" - "variant=${variant}" - "threading=${threading}" - "link=${link}" - "-sEXPAT_INCLUDE=${expat.dev}/include" - "-sEXPAT_LIBPATH=${expat.out}/lib" - - # TODO: make this unconditional - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform || - # required on mips; see 61d9f201baeef4c4bb91ad8a8f5f89b747e0dfe4 - (stdenv.hostPlatform.isMips && lib.versionAtLeast version "1.79")) [ - "address-model=${toString stdenv.hostPlatform.parsed.cpu.bits}" - "architecture=${if stdenv.hostPlatform.isMips64 - then if lib.versionOlder version "1.78" then "mips1" else "mips" - else if stdenv.hostPlatform.isS390 then "s390x" - else toString stdenv.hostPlatform.parsed.cpu.family}" - # env in host triplet for Mach-O is "macho", but boost binary format for Mach-O is "mach-o" - "binary-format=${if stdenv.hostPlatform.isMacho then "mach-o" - else toString stdenv.hostPlatform.parsed.kernel.execFormat.name}" - "target-os=${toString stdenv.hostPlatform.parsed.kernel.name}" - - # adapted from table in boost manual - # https://www.boost.org/doc/libs/1_66_0/libs/context/doc/html/context/architectures.html - "abi=${if stdenv.hostPlatform.parsed.cpu.family == "arm" then "aapcs" - else if stdenv.hostPlatform.isWindows then "ms" - else if stdenv.hostPlatform.isMips32 then "o32" - else if stdenv.hostPlatform.isMips64n64 then "n64" - else "sysv"}" - ] ++ lib.optional (link != "static") "runtime-link=${runtime-link}" + needUserConfig = + stdenv.hostPlatform != stdenv.buildPlatform + || useMpi + || (stdenv.hostPlatform.isDarwin && enableShared); + + b2Args = lib.concatStringsSep " " ( + [ + "--includedir=$dev/include" + "--libdir=$out/lib" + "-j$NIX_BUILD_CORES" + "--layout=${layout}" + "variant=${variant}" + "threading=${threading}" + "link=${link}" + "-sEXPAT_INCLUDE=${expat.dev}/include" + "-sEXPAT_LIBPATH=${expat.out}/lib" + + # TODO: make this unconditional + ] + ++ + lib.optionals + ( + stdenv.hostPlatform != stdenv.buildPlatform + || + # required on mips; see 61d9f201baeef4c4bb91ad8a8f5f89b747e0dfe4 + (stdenv.hostPlatform.isMips && lib.versionAtLeast version "1.79") + ) + [ + "address-model=${toString stdenv.hostPlatform.parsed.cpu.bits}" + "architecture=${ + if stdenv.hostPlatform.isMips64 then + if lib.versionOlder version "1.78" then "mips1" else "mips" + else if stdenv.hostPlatform.isS390 then + "s390x" + else + toString stdenv.hostPlatform.parsed.cpu.family + }" + # env in host triplet for Mach-O is "macho", but boost binary format for Mach-O is "mach-o" + "binary-format=${ + if stdenv.hostPlatform.isMacho then + "mach-o" + else + toString stdenv.hostPlatform.parsed.kernel.execFormat.name + }" + "target-os=${toString stdenv.hostPlatform.parsed.kernel.name}" + + # adapted from table in boost manual + # https://www.boost.org/doc/libs/1_66_0/libs/context/doc/html/context/architectures.html + "abi=${ + if stdenv.hostPlatform.parsed.cpu.family == "arm" then + "aapcs" + else if stdenv.hostPlatform.isWindows then + "ms" + else if stdenv.hostPlatform.isMips32 then + "o32" + else if stdenv.hostPlatform.isMips64n64 then + "n64" + else + "sysv" + }" + ] + ++ lib.optional (link != "static") "runtime-link=${runtime-link}" ++ lib.optional (variant == "release") "debug-symbols=off" ++ lib.optional (toolset != null) "toolset=${toolset}" ++ lib.optional (!enablePython) "--without-python" ++ lib.optional needUserConfig "--user-config=user-config.jam" ++ lib.optional (stdenv.buildPlatform.isDarwin && stdenv.hostPlatform.isLinux) "pch=off" ++ lib.optionals stdenv.hostPlatform.isMinGW [ - "threadapi=win32" - ] ++ extraB2Args + "threadapi=win32" + ] + ++ extraB2Args ); in @@ -104,54 +153,55 @@ stdenv.mkDerivation { inherit src version; - patchFlags = []; - - patches = patches - ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-no-system-python.patch - ++ [ ./cmake-paths-173.patch ] - ++ lib.optional (version == "1.77.0") (fetchpatch { - url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch"; - relative = "include"; - sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4="; - }) - # Fixes ABI detection - ++ lib.optional (version == "1.83.0") (fetchpatch { - url = "https://github.com/boostorg/context/commit/6fa6d5c50d120e69b2d8a1c0d2256ee933e94b3b.patch"; - stripLen = 1; - extraPrefix = "libs/context/"; - sha256 = "sha256-bCfLL7bD1Rn4Ie/P3X+nIcgTkbXdCX6FW7B9lHsmVW8="; - }) - # This fixes another issue regarding ill-formed constant expressions, which is a default error - # in clang 16 and will be a hard error in clang 17. - ++ lib.optional (lib.versionOlder version "1.80") (fetchpatch { - url = "https://github.com/boostorg/log/commit/77f1e20bd69c2e7a9e25e6a9818ae6105f7d070c.patch"; - relative = "include"; - hash = "sha256-6qOiGJASm33XzwoxVZfKJd7sTlQ5yd+MMFQzegXm5RI="; - }) - ++ lib.optionals (lib.versionOlder version "1.81") [ - # libc++ 15 dropped support for `std::unary_function` and `std::binary_function` in C++17+. - # C++17 is the default for clang 16, but clang 15 is also affected in that language mode. - # This patch is for Boost 1.80, but it also applies to earlier versions. - (fetchpatch { - url = "https://www.boost.org/patches/1_80_0/0005-config-libcpp15.patch"; - hash = "sha256-ULFMzKphv70unvPZ3o4vSP/01/xbSM9a2TlIV67eXDQ="; - }) - # This fixes another ill-formed contant expressions issue flagged by clang 16. - (fetchpatch { - url = "https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a.patch"; + patchFlags = [ ]; + + patches = + patches + ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-no-system-python.patch + ++ [ ./cmake-paths-173.patch ] + ++ lib.optional (version == "1.77.0") (fetchpatch { + url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch"; relative = "include"; - hash = "sha256-dq4SVgxkPJSC7Fvr59VGnXkM4Lb09kYDaBksCHo9C0s="; + sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4="; }) - # This fixes an issue in Python 3.11 about Py_TPFLAGS_HAVE_GC - (fetchpatch { - name = "python311-compatibility.patch"; - url = "https://github.com/boostorg/python/commit/a218babc8daee904a83f550fb66e5cb3f1cb3013.patch"; - hash = "sha256-IHxLtJBx0xSy7QEr8FbCPofsjcPuSYzgtPwDlx1JM+4="; + # Fixes ABI detection + ++ lib.optional (version == "1.83.0") (fetchpatch { + url = "https://github.com/boostorg/context/commit/6fa6d5c50d120e69b2d8a1c0d2256ee933e94b3b.patch"; stripLen = 1; - extraPrefix = "libs/python/"; + extraPrefix = "libs/context/"; + sha256 = "sha256-bCfLL7bD1Rn4Ie/P3X+nIcgTkbXdCX6FW7B9lHsmVW8="; }) - ] - ++ lib.optional (lib.versionAtLeast version "1.81" && stdenv.cc.isClang) ./fix-clang-target.patch; + # This fixes another issue regarding ill-formed constant expressions, which is a default error + # in clang 16 and will be a hard error in clang 17. + ++ lib.optional (lib.versionOlder version "1.80") (fetchpatch { + url = "https://github.com/boostorg/log/commit/77f1e20bd69c2e7a9e25e6a9818ae6105f7d070c.patch"; + relative = "include"; + hash = "sha256-6qOiGJASm33XzwoxVZfKJd7sTlQ5yd+MMFQzegXm5RI="; + }) + ++ lib.optionals (lib.versionOlder version "1.81") [ + # libc++ 15 dropped support for `std::unary_function` and `std::binary_function` in C++17+. + # C++17 is the default for clang 16, but clang 15 is also affected in that language mode. + # This patch is for Boost 1.80, but it also applies to earlier versions. + (fetchpatch { + url = "https://www.boost.org/patches/1_80_0/0005-config-libcpp15.patch"; + hash = "sha256-ULFMzKphv70unvPZ3o4vSP/01/xbSM9a2TlIV67eXDQ="; + }) + # This fixes another ill-formed contant expressions issue flagged by clang 16. + (fetchpatch { + url = "https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a.patch"; + relative = "include"; + hash = "sha256-dq4SVgxkPJSC7Fvr59VGnXkM4Lb09kYDaBksCHo9C0s="; + }) + # This fixes an issue in Python 3.11 about Py_TPFLAGS_HAVE_GC + (fetchpatch { + name = "python311-compatibility.patch"; + url = "https://github.com/boostorg/python/commit/a218babc8daee904a83f550fb66e5cb3f1cb3013.patch"; + hash = "sha256-IHxLtJBx0xSy7QEr8FbCPofsjcPuSYzgtPwDlx1JM+4="; + stripLen = 1; + extraPrefix = "libs/python/"; + }) + ] + ++ lib.optional (lib.versionAtLeast version "1.81" && stdenv.cc.isClang) ./fix-clang-target.patch; meta = with lib; { homepage = "http://boost.org/"; @@ -169,51 +219,52 @@ stdenv.mkDerivation { inherit boostBuildPatches; }; - preConfigure = lib.optionalString useMpi '' - cat << EOF >> user-config.jam - using mpi : ${lib.getDev mpi}/bin/mpiCC ; - EOF - '' - # On darwin we need to add the `$out/lib` to the libraries' rpath explicitly, - # otherwise the dynamic linker is unable to resolve the reference to @rpath - # when the boost libraries want to load each other at runtime. - + lib.optionalString (stdenv.hostPlatform.isDarwin && enableShared) '' - cat << EOF >> user-config.jam - using clang-darwin : : ${stdenv.cc.targetPrefix}c++ - : "-rpath $out/lib/" - $AR - $RANLIB - ; - EOF - '' - # b2 has trouble finding the correct compiler and tools for cross compilation - # since it apparently ignores $CC, $AR etc. Thus we need to set everything - # in user-config.jam. To keep things simple we just set everything in an - # uniform way for clang and gcc (which works thanks to our cc-wrapper). - # We pass toolset later which will make b2 invoke everything in the right - # way -- the other toolset in user-config.jam will be ignored. - + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - cat << EOF >> user-config.jam - using gcc : cross : ${stdenv.cc.targetPrefix}c++ - : $AR - $RANLIB - ; - - using clang : cross : ${stdenv.cc.targetPrefix}c++ - : $AR - $RANLIB - ; - EOF - '' - # b2 needs to be explicitly told how to find Python when cross-compiling - + lib.optionalString enablePython '' - cat << EOF >> user-config.jam - using python : : ${python.interpreter} - : ${python}/include/python${python.pythonVersion} - : ${python}/lib - ; - EOF - ''; + preConfigure = + lib.optionalString useMpi '' + cat << EOF >> user-config.jam + using mpi : ${lib.getDev mpi}/bin/mpiCC ; + EOF + '' + # On darwin we need to add the `$out/lib` to the libraries' rpath explicitly, + # otherwise the dynamic linker is unable to resolve the reference to @rpath + # when the boost libraries want to load each other at runtime. + + lib.optionalString (stdenv.hostPlatform.isDarwin && enableShared) '' + cat << EOF >> user-config.jam + using clang-darwin : : ${stdenv.cc.targetPrefix}c++ + : "-rpath $out/lib/" + $AR + $RANLIB + ; + EOF + '' + # b2 has trouble finding the correct compiler and tools for cross compilation + # since it apparently ignores $CC, $AR etc. Thus we need to set everything + # in user-config.jam. To keep things simple we just set everything in an + # uniform way for clang and gcc (which works thanks to our cc-wrapper). + # We pass toolset later which will make b2 invoke everything in the right + # way -- the other toolset in user-config.jam will be ignored. + + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + cat << EOF >> user-config.jam + using gcc : cross : ${stdenv.cc.targetPrefix}c++ + : $AR + $RANLIB + ; + + using clang : cross : ${stdenv.cc.targetPrefix}c++ + : $AR + $RANLIB + ; + EOF + '' + # b2 needs to be explicitly told how to find Python when cross-compiling + + lib.optionalString enablePython '' + cat << EOF >> user-config.jam + using python : : ${python.interpreter} + : ${python}/include/python${python.pythonVersion} + : ${python}/lib + ; + EOF + ''; env = { NIX_CFLAGS_LINK = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names"; @@ -236,24 +287,38 @@ stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ which boost-build copyPkgconfigItems ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ expat zlib bzip2 libiconv ] + nativeBuildInputs = [ + which + boost-build + copyPkgconfigItems + ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + buildInputs = + [ + expat + zlib + bzip2 + libiconv + ] ++ lib.optional (lib.versionAtLeast version "1.69") zstd ++ [ xz ] ++ lib.optional enableIcu icu - ++ lib.optionals enablePython [ libxcrypt python ] + ++ lib.optionals enablePython [ + libxcrypt + python + ] ++ lib.optional enableNumpy python.pkgs.numpy; configureScript = "./bootstrap.sh"; - configurePlatforms = []; + configurePlatforms = [ ]; dontDisableStatic = true; dontAddStaticConfigureFlags = true; - configureFlags = [ - "--includedir=$(dev)/include" - "--libdir=$(out)/lib" - "--with-bjam=b2" # prevent bootstrapping b2 in configurePhase - ] ++ lib.optional (toolset != null) "--with-toolset=${toolset}" + configureFlags = + [ + "--includedir=$(dev)/include" + "--libdir=$(out)/lib" + "--with-bjam=b2" # prevent bootstrapping b2 in configurePhase + ] + ++ lib.optional (toolset != null) "--with-toolset=${toolset}" ++ [ (if enableIcu then "--with-icu=${icu.dev}" else "--without-icu") ]; buildPhase = '' @@ -275,14 +340,19 @@ stdenv.mkDerivation { runHook postInstall ''; - postFixup = '' - # Make boost header paths relative so that they are not runtime dependencies - cd "$dev" && find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \ - -exec sed '1s/^\xef\xbb\xbf//;1i#line 1 "{}"' -i '{}' \; - '' + lib.optionalString stdenv.hostPlatform.isMinGW '' - $RANLIB "$out/lib/"*.a - ''; - - outputs = [ "out" "dev" ]; + postFixup = + '' + # Make boost header paths relative so that they are not runtime dependencies + cd "$dev" && find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \ + -exec sed '1s/^\xef\xbb\xbf//;1i#line 1 "{}"' -i '{}' \; + '' + + lib.optionalString stdenv.hostPlatform.isMinGW '' + $RANLIB "$out/lib/"*.a + ''; + + outputs = [ + "out" + "dev" + ]; setOutputFlags = false; } diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix index acc2d96caf4a7..197d9313de27a 100644 --- a/pkgs/development/libraries/box2d/default.nix +++ b/pkgs/development/libraries/box2d/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libGLU -, libGL -, libglut -, libX11 -, libXcursor -, libXinerama -, libXrandr -, xorgproto -, libXi -, pkg-config -, Carbon -, Cocoa -, Kernel -, OpenGL -, settingsFile ? "include/box2d/b2_settings.h" +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libGLU, + libGL, + libglut, + libX11, + libXcursor, + libXinerama, + libXrandr, + xorgproto, + libXi, + pkg-config, + Carbon, + Cocoa, + Kernel, + OpenGL, + settingsFile ? "include/box2d/b2_settings.h", }: let @@ -34,22 +35,30 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-yvhpgiZpjTPeSY7Ma1bh4LwIokUUKB10v2WHlamL9D8="; }; - nativeBuildInputs = [ cmake pkg-config ]; - - buildInputs = [ - libGLU - libGL - libglut - libX11 - libXcursor - libXinerama - libXrandr - xorgproto - libXi - ] ++ optionals stdenv.hostPlatform.isDarwin [ - Carbon Cocoa Kernel OpenGL + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + libGLU + libGL + libglut + libX11 + libXcursor + libXinerama + libXrandr + xorgproto + libXi + ] + ++ optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + Kernel + OpenGL + ]; + cmakeFlags = [ (cmakeBool "BOX2D_BUILD_UNIT_TESTS" finalAttrs.finalPackage.doCheck) ]; diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix index 4a161423c7d3f..63be83763eb29 100644 --- a/pkgs/development/libraries/bullet/default.nix +++ b/pkgs/development/libraries/bullet/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libGLU -, libGL -, libglut -, Cocoa -, OpenGL +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libGLU, + libGL, + libglut, + Cocoa, + OpenGL, }: stdenv.mkDerivation rec { @@ -21,34 +22,45 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libGLU libGL libglut ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa OpenGL ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libGL + libglut + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + OpenGL + ]; - postPatch = '' - substituteInPlace examples/ThirdPartyLibs/Gwen/CMakeLists.txt \ - --replace "-DGLEW_STATIC" "-DGLEW_STATIC -Wno-narrowing" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i 's/FIND_PACKAGE(OpenGL)//' CMakeLists.txt - sed -i 's/FIND_LIBRARY(COCOA_LIBRARY Cocoa)//' CMakeLists.txt - ''; + postPatch = + '' + substituteInPlace examples/ThirdPartyLibs/Gwen/CMakeLists.txt \ + --replace "-DGLEW_STATIC" "-DGLEW_STATIC -Wno-narrowing" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + sed -i 's/FIND_PACKAGE(OpenGL)//' CMakeLists.txt + sed -i 's/FIND_LIBRARY(COCOA_LIBRARY Cocoa)//' CMakeLists.txt + ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DBUILD_CPU_DEMOS=OFF" - "-DINSTALL_EXTRA_LIBS=ON" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DOPENGL_FOUND=true" - "-DOPENGL_LIBRARIES=${OpenGL}/Library/Frameworks/OpenGL.framework" - "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks/OpenGL.framework" - "-DOPENGL_gl_LIBRARY=${OpenGL}/Library/Frameworks/OpenGL.framework" - "-DCOCOA_LIBRARY=${Cocoa}/Library/Frameworks/Cocoa.framework" - "-DBUILD_BULLET2_DEMOS=OFF" - "-DBUILD_UNIT_TESTS=OFF" - "-DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_CPU_DEMOS=OFF" + "-DINSTALL_EXTRA_LIBS=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DOPENGL_FOUND=true" + "-DOPENGL_LIBRARIES=${OpenGL}/Library/Frameworks/OpenGL.framework" + "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks/OpenGL.framework" + "-DOPENGL_gl_LIBRARY=${OpenGL}/Library/Frameworks/OpenGL.framework" + "-DCOCOA_LIBRARY=${Cocoa}/Library/Frameworks/Cocoa.framework" + "-DBUILD_BULLET2_DEMOS=OFF" + "-DBUILD_UNIT_TESTS=OFF" + "-DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF" + ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang - "-Wno-error=argument-outside-range -Wno-error=c++11-narrowing"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=argument-outside-range -Wno-error=c++11-narrowing"; meta = with lib; { description = "Professional free 3D Game Multiphysics Library"; diff --git a/pkgs/development/libraries/bullet/roboschool-fork.nix b/pkgs/development/libraries/bullet/roboschool-fork.nix index bcc963f5b466c..94ce4a3f865d0 100644 --- a/pkgs/development/libraries/bullet/roboschool-fork.nix +++ b/pkgs/development/libraries/bullet/roboschool-fork.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, libglut -, Cocoa, OpenGL +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libGLU, + libGL, + libglut, + Cocoa, + OpenGL, }: stdenv.mkDerivation { @@ -18,8 +26,16 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libGLU libGL libglut ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa OpenGL ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libGL + libglut + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + OpenGL + ]; patches = [ ./gwen-narrowing.patch ]; @@ -28,19 +44,21 @@ stdenv.mkDerivation { sed -i 's/FIND_LIBRARY(COCOA_LIBRARY Cocoa)//' CMakeLists.txt ''; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DBUILD_CPU_DEMOS=OFF" - "-DINSTALL_EXTRA_LIBS=ON" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DOPENGL_FOUND=true" - "-DOPENGL_LIBRARIES=${OpenGL}/Library/Frameworks/OpenGL.framework" - "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks/OpenGL.framework" - "-DOPENGL_gl_LIBRARY=${OpenGL}/Library/Frameworks/OpenGL.framework" - "-DCOCOA_LIBRARY=${Cocoa}/Library/Frameworks/Cocoa.framework" - "-DBUILD_BULLET2_DEMOS=OFF" - "-DBUILD_UNIT_TESTS=OFF" - ]; + cmakeFlags = + [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_CPU_DEMOS=OFF" + "-DINSTALL_EXTRA_LIBS=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DOPENGL_FOUND=true" + "-DOPENGL_LIBRARIES=${OpenGL}/Library/Frameworks/OpenGL.framework" + "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks/OpenGL.framework" + "-DOPENGL_gl_LIBRARY=${OpenGL}/Library/Frameworks/OpenGL.framework" + "-DCOCOA_LIBRARY=${Cocoa}/Library/Frameworks/Cocoa.framework" + "-DBUILD_BULLET2_DEMOS=OFF" + "-DBUILD_UNIT_TESTS=OFF" + ]; meta = with lib; { description = "Professional free 3D Game Multiphysics Library"; diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index 32184e9c6d38e..913c65e93f972 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -1,9 +1,14 @@ -{ lib, stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook -, withCMake ? true, cmake - -# sensitive downstream packages -, curl -, grpc # consumes cmake config +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + withCMake ? true, + cmake, + + # sensitive downstream packages + curl, + grpc, # consumes cmake config }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -17,18 +22,26 @@ stdenv.mkDerivation rec { src = fetchurl { # Note: tag name varies in some versions, e.g. v1.30.0, c-ares-1_17_0. - url = "https://github.com/c-ares/${pname}/releases/download/cares-${builtins.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.gz"; + url = "https://github.com/c-ares/${pname}/releases/download/cares-${ + builtins.replaceStrings [ "." ] [ "_" ] version + }/${pname}-${version}.tar.gz"; hash = "sha256-CnK+ZpWZVcQ+KvL70DQY6Cor1UZGBOyaYhR+N6zrQgs="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] ++ lib.optionals withCMake [ cmake ]; - cmakeFlags = [] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "-DCARES_SHARED=OFF" - "-DCARES_STATIC=ON" - ]; + cmakeFlags = + [ ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "-DCARES_SHARED=OFF" + "-DCARES_STATIC=ON" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/c-blosc/1.nix b/pkgs/development/libraries/c-blosc/1.nix index aac58606cf458..745521a686b76 100644 --- a/pkgs/development/libraries/c-blosc/1.nix +++ b/pkgs/development/libraries/c-blosc/1.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + testers, -, static ? stdenv.hostPlatform.isStatic + static ? stdenv.hostPlatform.isStatic, -, lz4 -, zlib -, zstd + lz4, + zlib, + zstd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/c-blosc/2.nix b/pkgs/development/libraries/c-blosc/2.nix index 170638c3c3e6b..518dd25e06ea5 100644 --- a/pkgs/development/libraries/c-blosc/2.nix +++ b/pkgs/development/libraries/c-blosc/2.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + testers, -, static ? stdenv.hostPlatform.isStatic + static ? stdenv.hostPlatform.isStatic, -, lz4 -, zlib-ng -, zstd + lz4, + zlib-ng, + zstd, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix index 4ebe3622af4c9..f5281cf832aba 100644 --- a/pkgs/development/libraries/c-blosc/default.nix +++ b/pkgs/development/libraries/c-blosc/default.nix @@ -1,4 +1,5 @@ -{ callPackage }: { - c-blosc = callPackage ./1.nix {}; - c-blosc2 = callPackage ./2.nix {}; +{ callPackage }: +{ + c-blosc = callPackage ./1.nix { }; + c-blosc2 = callPackage ./2.nix { }; } diff --git a/pkgs/development/libraries/cairomm/1.16.nix b/pkgs/development/libraries/cairomm/1.16.nix index cd561d0091876..9ffbc38316a38 100644 --- a/pkgs/development/libraries/cairomm/1.16.nix +++ b/pkgs/development/libraries/cairomm/1.16.nix @@ -1,21 +1,25 @@ -{ stdenv -, lib -, fetchurl -, boost -, meson -, ninja -, pkg-config -, cairo -, fontconfig -, libsigcxx30 -, ApplicationServices +{ + stdenv, + lib, + fetchurl, + boost, + meson, + ninja, + pkg-config, + cairo, + fontconfig, + libsigcxx30, + ApplicationServices, }: stdenv.mkDerivation rec { pname = "cairomm"; version = "1.18.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://www.cairographics.org/releases/cairomm-${version}.tar.xz"; @@ -28,12 +32,14 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - boost # for tests - fontconfig - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - ]; + buildInputs = + [ + boost # for tests + fontconfig + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + ]; propagatedBuildInputs = [ cairo @@ -50,7 +56,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C++ bindings for the Cairo vector graphics library"; homepage = "https://www.cairographics.org/"; - license = with licenses; [ lgpl2Plus mpl10 ]; + license = with licenses; [ + lgpl2Plus + mpl10 + ]; maintainers = teams.gnome.members; platforms = platforms.unix; }; diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix index 382770e144f56..6c7046a15e537 100644 --- a/pkgs/development/libraries/cairomm/default.nix +++ b/pkgs/development/libraries/cairomm/default.nix @@ -1,21 +1,25 @@ -{ fetchurl -, stdenv -, lib -, pkg-config -, darwin -, boost -, cairo -, fontconfig -, libsigcxx -, meson -, ninja +{ + fetchurl, + stdenv, + lib, + pkg-config, + darwin, + boost, + cairo, + fontconfig, + libsigcxx, + meson, + ninja, }: stdenv.mkDerivation rec { pname = "cairomm"; version = "1.14.5"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://www.cairographics.org/releases/cairomm-${version}.tar.xz"; @@ -28,12 +32,17 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - boost # for tests - fontconfig - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - ApplicationServices - ]); + buildInputs = + [ + boost # for tests + fontconfig + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + ApplicationServices + ] + ); propagatedBuildInputs = [ cairo @@ -49,7 +58,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C++ bindings for the Cairo vector graphics library"; homepage = "https://www.cairographics.org/"; - license = with licenses; [ lgpl2Plus mpl10 ]; + license = with licenses; [ + lgpl2Plus + mpl10 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/capstone/4.nix b/pkgs/development/libraries/capstone/4.nix index 836bb47568c34..d16356dc274d3 100644 --- a/pkgs/development/libraries/capstone/4.nix +++ b/pkgs/development/libraries/capstone/4.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, fixDarwinDylibNames +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fixDarwinDylibNames, }: stdenv.mkDerivation rec { @@ -16,20 +17,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g="; }; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; doCheck = true; meta = { description = "Advanced disassembly library"; - homepage = "http://www.capstone-engine.org"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ thoughtpolice ris ]; + homepage = "http://www.capstone-engine.org"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ + thoughtpolice + ris + ]; mainProgram = "cstool"; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix index 8873286d912a2..d4490dce441e7 100644 --- a/pkgs/development/libraries/capstone/default.nix +++ b/pkgs/development/libraries/capstone/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, fixDarwinDylibNames +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fixDarwinDylibNames, }: stdenv.mkDerivation rec { @@ -16,24 +17,31 @@ stdenv.mkDerivation rec { hash = "sha256-LZ10czBn5oaKMHQ8xguC6VZa7wvEgPRu6oWt/22QaDs="; }; - cmakeFlags = [ - (lib.cmakeBool "BUILD_SHARED_LIBS" true) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (lib.cmakeBool "CAPSTONE_BUILD_MACOS_THIN" true) ]; + cmakeFlags = + [ + (lib.cmakeBool "BUILD_SHARED_LIBS" true) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ (lib.cmakeBool "CAPSTONE_BUILD_MACOS_THIN" true) ]; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ]; doCheck = true; meta = { description = "Advanced disassembly library"; - homepage = "http://www.capstone-engine.org"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ thoughtpolice ris ]; + homepage = "http://www.capstone-engine.org"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ + thoughtpolice + ris + ]; mainProgram = "cstool"; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/cassandra-cpp-driver/default.nix b/pkgs/development/libraries/cassandra-cpp-driver/default.nix index 4e8175d0585ac..ff9e0dd77e4dd 100644 --- a/pkgs/development/libraries/cassandra-cpp-driver/default.nix +++ b/pkgs/development/libraries/cassandra-cpp-driver/default.nix @@ -1,41 +1,54 @@ -{ fetchFromGitHub -, lib -, stdenv -, cmake -, zlib -, libuv -, openssl -, pkg-config -, examples ? false -}: stdenv.mkDerivation rec { - pname = "cassandra-cpp-driver"; - version = "2.17.1"; +{ + fetchFromGitHub, + lib, + stdenv, + cmake, + zlib, + libuv, + openssl, + pkg-config, + examples ? false, +}: +stdenv.mkDerivation rec { + pname = "cassandra-cpp-driver"; + version = "2.17.1"; - src = fetchFromGitHub { - owner = "datastax"; - repo = "cpp-driver"; - rev = "refs/tags/${version}"; - sha256 = "sha256-GuvmKHJknudyn7ahrn/8+kKUA4NW5UjCfkYoX3aTE+Q="; - }; + src = fetchFromGitHub { + owner = "datastax"; + repo = "cpp-driver"; + rev = "refs/tags/${version}"; + sha256 = "sha256-GuvmKHJknudyn7ahrn/8+kKUA4NW5UjCfkYoX3aTE+Q="; + }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ zlib libuv openssl.dev ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + zlib + libuv + openssl.dev + ]; - cmakeFlags = (lib.attrsets.mapAttrsToList - (name: value: "-DCASS_BUILD_${name}:BOOL=${if value then "ON" else "OFF"}") { + cmakeFlags = + (lib.attrsets.mapAttrsToList + (name: value: "-DCASS_BUILD_${name}:BOOL=${if value then "ON" else "OFF"}") + { EXAMPLES = examples; - }) ++ [ "-DLIBUV_INCLUDE_DIR=${lib.getDev libuv}/include" ]; + } + ) + ++ [ "-DLIBUV_INCLUDE_DIR=${lib.getDev libuv}/include" ]; - meta = with lib; { - description = "DataStax CPP cassandra driver"; - longDescription = '' - A modern, feature-rich and highly tunable C/C++ client - library for Apache Cassandra 2.1+ using exclusively Cassandra’s - binary protocol and Cassandra Query Language v3. - ''; - license = with licenses; [ asl20 ]; - platforms = platforms.x86_64; - homepage = "https://docs.datastax.com/en/developer/cpp-driver/"; - maintainers = [ maintainers.npatsakula ]; - }; + meta = with lib; { + description = "DataStax CPP cassandra driver"; + longDescription = '' + A modern, feature-rich and highly tunable C/C++ client + library for Apache Cassandra 2.1+ using exclusively Cassandra’s + binary protocol and Cassandra Query Language v3. + ''; + license = with licenses; [ asl20 ]; + platforms = platforms.x86_64; + homepage = "https://docs.datastax.com/en/developer/cpp-driver/"; + maintainers = [ maintainers.npatsakula ]; + }; } diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix index b005dc3f81166..c9b8058542001 100644 --- a/pkgs/development/libraries/catch2/3.nix +++ b/pkgs/development/libraries/catch2/3.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, }: stdenv.mkDerivation rec { @@ -22,22 +23,26 @@ stdenv.mkDerivation rec { hardeningDisable = [ "trivialautovarinit" ]; - cmakeFlags = [ - "-DCATCH_DEVELOPMENT_BUILD=ON" - "-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && doCheck) [ - # test has a faulty path normalization technique that won't work in - # our darwin build environment https://github.com/catchorg/Catch2/issues/1691 - "-DCMAKE_CTEST_ARGUMENTS=-E;ApprovalTests" - ]; - - env = lib.optionalAttrs stdenv.hostPlatform.isx86_32 { - # Tests fail on x86_32 if compiled with x87 floats: https://github.com/catchorg/Catch2/issues/2796 - NIX_CFLAGS_COMPILE = "-msse2 -mfpmath=sse"; - } // lib.optionalAttrs (stdenv.hostPlatform.isRiscV || stdenv.hostPlatform.isAarch32) { - # Build failure caused by -Werror: https://github.com/catchorg/Catch2/issues/2808 - NIX_CFLAGS_COMPILE = "-Wno-error=cast-align"; - }; + cmakeFlags = + [ + "-DCATCH_DEVELOPMENT_BUILD=ON" + "-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && doCheck) [ + # test has a faulty path normalization technique that won't work in + # our darwin build environment https://github.com/catchorg/Catch2/issues/1691 + "-DCMAKE_CTEST_ARGUMENTS=-E;ApprovalTests" + ]; + + env = + lib.optionalAttrs stdenv.hostPlatform.isx86_32 { + # Tests fail on x86_32 if compiled with x87 floats: https://github.com/catchorg/Catch2/issues/2796 + NIX_CFLAGS_COMPILE = "-msse2 -mfpmath=sse"; + } + // lib.optionalAttrs (stdenv.hostPlatform.isRiscV || stdenv.hostPlatform.isAarch32) { + # Build failure caused by -Werror: https://github.com/catchorg/Catch2/issues/2808 + NIX_CFLAGS_COMPILE = "-Wno-error=cast-align"; + }; doCheck = true; diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix index 0f79f7679834d..4e1a8816cd7bc 100644 --- a/pkgs/development/libraries/catch2/default.nix +++ b/pkgs/development/libraries/catch2/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "catch2"; @@ -8,7 +13,7 @@ stdenv.mkDerivation rec { owner = "catchorg"; repo = "Catch2"; rev = "v${version}"; - sha256="sha256-XnT2ziES94Y4uzWmaxSw7nWegJFQjAqFUG8PkwK5nLU="; + sha256 = "sha256-XnT2ziES94Y4uzWmaxSw7nWegJFQjAqFUG8PkwK5nLU="; }; nativeBuildInputs = [ cmake ]; @@ -19,7 +24,10 @@ stdenv.mkDerivation rec { description = "Multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C)"; homepage = "http://catch-lib.net"; license = licenses.boost; - maintainers = with maintainers; [ edwtjo knedlsepp ]; + maintainers = with maintainers; [ + edwtjo + knedlsepp + ]; platforms = with platforms; unix ++ windows; }; } diff --git a/pkgs/development/libraries/cctz/default.nix b/pkgs/development/libraries/cctz/default.nix index 4ad0bf6b8034c..2786ea7b1dca7 100644 --- a/pkgs/development/libraries/cctz/default.nix +++ b/pkgs/development/libraries/cctz/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, Foundation }: +{ + lib, + stdenv, + fetchFromGitHub, + Foundation, +}: stdenv.mkDerivation rec { pname = "cctz"; @@ -15,7 +20,8 @@ stdenv.mkDerivation rec { buildInputs = lib.optional stdenv.hostPlatform.isDarwin Foundation; - installTargets = [ "install_hdrs" ] + installTargets = + [ "install_hdrs" ] ++ lib.optional (!stdenv.hostPlatform.isStatic) "install_shared_lib" ++ lib.optional stdenv.hostPlatform.isStatic "install_lib"; diff --git a/pkgs/development/libraries/celt/0.5.1.nix b/pkgs/development/libraries/celt/0.5.1.nix index 759dd6254b4ef..ce69981e82e65 100644 --- a/pkgs/development/libraries/celt/0.5.1.nix +++ b/pkgs/development/libraries/celt/0.5.1.nix @@ -1,17 +1,20 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "0.5.1.3"; +callPackage ./generic.nix ( + args + // rec { + version = "0.5.1.3"; - src = fetchurl { - url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz"; - sha256 = "0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw"; - }; + src = fetchurl { + url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz"; + sha256 = "0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw"; + }; - # Don't build tests due to badness with ec_ilog - prePatch = '' - substituteInPlace Makefile.in \ - --replace 'SUBDIRS = libcelt tests' \ - 'SUBDIRS = libcelt' - ''; -}) + # Don't build tests due to badness with ec_ilog + prePatch = '' + substituteInPlace Makefile.in \ + --replace 'SUBDIRS = libcelt tests' \ + 'SUBDIRS = libcelt' + ''; + } +) diff --git a/pkgs/development/libraries/celt/0.7.nix b/pkgs/development/libraries/celt/0.7.nix index 2092941dc7610..5b17c0b0618e9 100644 --- a/pkgs/development/libraries/celt/0.7.nix +++ b/pkgs/development/libraries/celt/0.7.nix @@ -1,10 +1,13 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "0.7.1"; +callPackage ./generic.nix ( + args + // rec { + version = "0.7.1"; - src = fetchurl { - url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz"; - sha256 = "0rihjgzrqcprsv8a1pmiglwik7xqbs2yw3fwd6gb28chnpgy5w4k"; - }; -}) + src = fetchurl { + url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz"; + sha256 = "0rihjgzrqcprsv8a1pmiglwik7xqbs2yw3fwd6gb28chnpgy5w4k"; + }; + } +) diff --git a/pkgs/development/libraries/celt/default.nix b/pkgs/development/libraries/celt/default.nix index 3071b5d7c6bb2..66bafff16584c 100644 --- a/pkgs/development/libraries/celt/default.nix +++ b/pkgs/development/libraries/celt/default.nix @@ -1,10 +1,13 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, ... }@args: -callPackage ./generic.nix (args // rec { - version = "0.11.3"; +callPackage ./generic.nix ( + args + // rec { + version = "0.11.3"; - src = fetchurl { - url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz"; - sha256 = "0dh893wqbh0q4a0x1xyqryykmnhpv7mkblpch019s04a99fq2r3y"; - }; -}) + src = fetchurl { + url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz"; + sha256 = "0dh893wqbh0q4a0x1xyqryykmnhpv7mkblpch019s04a99fq2r3y"; + }; + } +) diff --git a/pkgs/development/libraries/celt/generic.nix b/pkgs/development/libraries/celt/generic.nix index 1ddc016d66b1c..46a92edc2f762 100644 --- a/pkgs/development/libraries/celt/generic.nix +++ b/pkgs/development/libraries/celt/generic.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, version, src -, liboggSupport ? true, libogg ? null # if disabled only the library will be built -, prePatch ? "" -, ... +{ + lib, + stdenv, + version, + src, + liboggSupport ? true, + libogg ? null, # if disabled only the library will be built + prePatch ? "", + ... }: # The celt codec has been deprecated and is now a part of the opus codec @@ -12,20 +17,25 @@ stdenv.mkDerivation { inherit src; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; inherit prePatch; - buildInputs = [] - ++ lib.optional liboggSupport libogg; + buildInputs = [ ] ++ lib.optional liboggSupport libogg; doCheck = false; # fails meta = with lib; { description = "Ultra-low delay audio codec"; - homepage = "https://gitlab.xiph.org/xiph/celt"; # http://www.celt-codec.org/ is gone - license = licenses.bsd2; - maintainers = with maintainers; [ codyopel raskin ]; - platforms = platforms.unix; + homepage = "https://gitlab.xiph.org/xiph/celt"; # http://www.celt-codec.org/ is gone + license = licenses.bsd2; + maintainers = with maintainers; [ + codyopel + raskin + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/ceres-solver/default.nix b/pkgs/development/libraries/ceres-solver/default.nix index da5afde02627a..4917724278c38 100644 --- a/pkgs/development/libraries/ceres-solver/default.nix +++ b/pkgs/development/libraries/ceres-solver/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, blas -, cmake -, eigen -, gflags -, glog -, suitesparse -, metis -, runTests ? false -, enableStatic ? stdenv.hostPlatform.isStatic -, withBlas ? true +{ + lib, + stdenv, + fetchurl, + blas, + cmake, + eigen, + gflags, + glog, + suitesparse, + metis, + runTests ? false, + enableStatic ? stdenv.hostPlatform.isStatic, + withBlas ? true, }: # gflags is required to run tests @@ -25,12 +26,23 @@ stdenv.mkDerivation rec { sha256 = "sha256-99dO7N4K7XW/xR7EjJHQH+Fqa/FrzhmHpwcyhnAeL8Y="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; buildInputs = lib.optional runTests gflags; - propagatedBuildInputs = [ eigen glog ] - ++ lib.optionals withBlas [ blas suitesparse metis ]; + propagatedBuildInputs = + [ + eigen + glog + ] + ++ lib.optionals withBlas [ + blas + suitesparse + metis + ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if enableStatic then "OFF" else "ON"}" diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix index 82aca7c4ec013..e8ea400c958b8 100644 --- a/pkgs/development/libraries/check/default.nix +++ b/pkgs/development/libraries/check/default.nix @@ -1,5 +1,8 @@ -{ fetchurl, lib, stdenv -, CoreServices +{ + fetchurl, + lib, + stdenv, + CoreServices, }: stdenv.mkDerivation rec { @@ -12,7 +15,9 @@ stdenv.mkDerivation rec { }; # fortify breaks the libcompat vsnprintf implementation - hardeningDisable = lib.optionals (stdenv.hostPlatform.isMusl && (stdenv.hostPlatform != stdenv.buildPlatform)) [ "fortify" ]; + hardeningDisable = lib.optionals ( + stdenv.hostPlatform.isMusl && (stdenv.hostPlatform != stdenv.buildPlatform) + ) [ "fortify" ]; # Test can randomly fail: https://hydra.nixos.org/build/7243912 doCheck = false; diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix index 6fc4ac289677a..f24d0f36400a5 100644 --- a/pkgs/development/libraries/clucene-core/2.x.nix +++ b/pkgs/development/libraries/clucene-core/2.x.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, fetchpatch, cmake, boost, zlib}: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + boost, + zlib, +}: stdenv.mkDerivation rec { pname = "clucene-core"; @@ -11,44 +19,51 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost zlib ]; - - cmakeFlags = [ - "-DBUILD_CONTRIBS=ON" - "-DBUILD_CONTRIBS_LIB=ON" - "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-D_CL_HAVE_GCC_ATOMIC_FUNCTIONS=0" - "-D_CL_HAVE_NAMESPACES_EXITCODE=0" - "-D_CL_HAVE_NAMESPACES_EXITCODE__TRYRUN_OUTPUT=" - "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE=0" - "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE__TRYRUN_OUTPUT=" - "-D_CL_HAVE_TRY_BLOCKS_EXITCODE=0" - "-D_CL_HAVE_TRY_BLOCKS_EXITCODE__TRYRUN_OUTPUT=" - "-D_CL_HAVE_PTHREAD_MUTEX_RECURSIVE=0" - "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE=0" - "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE__TRYRUN_OUTPUT=" + buildInputs = [ + boost + zlib ]; - patches = [ - # From debian - ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch - ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch - ./Install-contribs-lib.patch - # From arch - ./fix-missing-include-time.patch + cmakeFlags = + [ + "-DBUILD_CONTRIBS=ON" + "-DBUILD_CONTRIBS_LIB=ON" + "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-D_CL_HAVE_GCC_ATOMIC_FUNCTIONS=0" + "-D_CL_HAVE_NAMESPACES_EXITCODE=0" + "-D_CL_HAVE_NAMESPACES_EXITCODE__TRYRUN_OUTPUT=" + "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE=0" + "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE__TRYRUN_OUTPUT=" + "-D_CL_HAVE_TRY_BLOCKS_EXITCODE=0" + "-D_CL_HAVE_TRY_BLOCKS_EXITCODE__TRYRUN_OUTPUT=" + "-D_CL_HAVE_PTHREAD_MUTEX_RECURSIVE=0" + "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE=0" + "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE__TRYRUN_OUTPUT=" + ]; - # required for darwin and linux-musl - ./pthread-include.patch - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ./fix-darwin.patch + patches = + [ + # From debian + ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch + ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch + ./Install-contribs-lib.patch + # From arch + ./fix-missing-include-time.patch - # see https://bugs.gentoo.org/869170 - (fetchpatch { - url = "https://869170.bugs.gentoo.org/attachment.cgi?id=858825"; - hash = "sha256-TbAfBKdXh+1HepZc8J6OhK1XGwhwBCMvO8QBDsad998="; - }) - ]; + # required for darwin and linux-musl + ./pthread-include.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./fix-darwin.patch + + # see https://bugs.gentoo.org/869170 + (fetchpatch { + url = "https://869170.bugs.gentoo.org/attachment.cgi?id=858825"; + hash = "sha256-TbAfBKdXh+1HepZc8J6OhK1XGwhwBCMvO8QBDsad998="; + }) + ]; # see https://github.com/macports/macports-ports/commit/236d43f2450c6be52dc42fd3a2bbabbaa5136201 postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -76,6 +91,9 @@ stdenv.mkDerivation rec { ''; homepage = "https://clucene.sourceforge.net"; platforms = platforms.unix; - license = with licenses; [ asl20 lgpl2 ]; + license = with licenses; [ + asl20 + lgpl2 + ]; }; } diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix index e741893168a93..11cdf0b4f7fdd 100644 --- a/pkgs/development/libraries/clutter-gst/default.nix +++ b/pkgs/development/libraries/clutter-gst/default.nix @@ -1,10 +1,26 @@ -{ fetchurl, fetchpatch, lib, stdenv, pkg-config, clutter, gtk3, glib, cogl, gnome, gdk-pixbuf, gobject-introspection }: +{ + fetchurl, + fetchpatch, + lib, + stdenv, + pkg-config, + clutter, + gtk3, + glib, + cogl, + gnome, + gdk-pixbuf, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "clutter-gst"; version = "3.0.27"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -22,8 +38,18 @@ stdenv.mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ pkg-config glib gobject-introspection ]; - propagatedBuildInputs = [ clutter gtk3 glib cogl gdk-pixbuf ]; + nativeBuildInputs = [ + pkg-config + glib + gobject-introspection + ]; + propagatedBuildInputs = [ + clutter + gtk3 + glib + cogl + gdk-pixbuf + ]; postBuild = "rm -rf $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index db34dc1669b18..be83ec2d8ac92 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/pkgs/development/libraries/cogl/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libGL -, glib -, gdk-pixbuf -, xorg -, libintl -, pangoSupport ? true -, pango -, cairo -, gobject-introspection -, wayland -, gnome -, mesa -, automake -, autoconf -, gstreamerSupport ? true -, gst_all_1 -, harfbuzz -, OpenGL +{ + lib, + stdenv, + fetchurl, + pkg-config, + libGL, + glib, + gdk-pixbuf, + xorg, + libintl, + pangoSupport ? true, + pango, + cairo, + gobject-introspection, + wayland, + gnome, + mesa, + automake, + autoconf, + gstreamerSupport ? true, + gst_all_1, + harfbuzz, + OpenGL, }: stdenv.mkDerivation rec { @@ -40,59 +41,84 @@ stdenv.mkDerivation rec { ./patches/gnome_bugzilla_787443_361056_deepin.patch ]; - outputs = [ "out" "dev" ]; - - nativeBuildInputs = [ pkg-config libintl automake autoconf gobject-introspection ]; + outputs = [ + "out" + "dev" + ]; - configureFlags = [ - "--enable-introspection" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "--enable-kms-egl-platform" - "--enable-wayland-egl-platform" - "--enable-wayland-egl-server" - "--enable-gles1" - "--enable-gles2" - # Force linking against libGL. - # Otherwise, it tries to load it from the runtime library path. - "LIBS=-lGL" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--disable-glx" - "--without-x" - ] ++ lib.optionals gstreamerSupport [ - "--enable-cogl-gst" + nativeBuildInputs = [ + pkg-config + libintl + automake + autoconf + gobject-introspection ]; + configureFlags = + [ + "--enable-introspection" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "--enable-kms-egl-platform" + "--enable-wayland-egl-platform" + "--enable-wayland-egl-server" + "--enable-gles1" + "--enable-gles2" + # Force linking against libGL. + # Otherwise, it tries to load it from the runtime library path. + "LIBS=-lGL" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-glx" + "--without-x" + ] + ++ lib.optionals gstreamerSupport [ + "--enable-cogl-gst" + ]; + # TODO: this shouldn't propagate so many things # especially not gobject-introspection - propagatedBuildInputs = [ - glib - gdk-pixbuf - gobject-introspection - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - wayland - mesa - libGL - xorg.libXrandr - xorg.libXfixes - xorg.libXcomposite - xorg.libXdamage - ] ++ lib.optionals gstreamerSupport [ - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - ]; + propagatedBuildInputs = + [ + glib + gdk-pixbuf + gobject-introspection + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + wayland + mesa + libGL + xorg.libXrandr + xorg.libXfixes + xorg.libXcomposite + xorg.libXdamage + ] + ++ lib.optionals gstreamerSupport [ + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + ]; - buildInputs = lib.optionals pangoSupport [ pango cairo harfbuzz ] + buildInputs = + lib.optionals pangoSupport [ + pango + cairo + harfbuzz + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenGL ]; - env = { - COGL_PANGO_DEP_CFLAGS = toString (lib.optionals (stdenv.hostPlatform.isDarwin && pangoSupport) [ - "-I${pango.dev}/include/pango-1.0" - "-I${cairo.dev}/include/cairo" - "-I${harfbuzz.dev}/include/harfbuzz" - ]); - } // lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; - }; + env = + { + COGL_PANGO_DEP_CFLAGS = toString ( + lib.optionals (stdenv.hostPlatform.isDarwin && pangoSupport) [ + "-I${pango.dev}/include/pango-1.0" + "-I${cairo.dev}/include/cairo" + "-I${harfbuzz.dev}/include/harfbuzz" + ] + ); + } + // lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; #doCheck = true; # all tests fail (no idea why) @@ -115,6 +141,11 @@ stdenv.mkDerivation rec { ''; platforms = platforms.unix; - license = with licenses; [ mit bsd3 publicDomain sgi-b-20 ]; + license = with licenses; [ + mit + bsd3 + publicDomain + sgi-b-20 + ]; }; } diff --git a/pkgs/development/libraries/ctranslate2/default.nix b/pkgs/development/libraries/ctranslate2/default.nix index 6d287b869ff32..2422540de7ff4 100644 --- a/pkgs/development/libraries/ctranslate2/default.nix +++ b/pkgs/development/libraries/ctranslate2/default.nix @@ -1,22 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, darwin # Accelerate -, llvmPackages # openmp -, withMkl ? false, mkl -, withCUDA ? false -, withCuDNN ? false -, cudaPackages -# Enabling both withOneDNN and withOpenblas is broken -# https://github.com/OpenNMT/CTranslate2/issues/1294 -, withOneDNN ? false, oneDNN -, withOpenblas ? true, openblas -, withRuy ? true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + darwin, # Accelerate + llvmPackages, # openmp + withMkl ? false, + mkl, + withCUDA ? false, + withCuDNN ? false, + cudaPackages, + # Enabling both withOneDNN and withOpenblas is broken + # https://github.com/OpenNMT/CTranslate2/issues/1294 + withOneDNN ? false, + oneDNN, + withOpenblas ? true, + openblas, + withRuy ? true, -# passthru tests -, libretranslate -, wyoming-faster-whisper + # passthru tests + libretranslate, + wyoming-faster-whisper, }: let @@ -34,11 +38,13 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals withCUDA [ - cudaPackages.cuda_nvcc - ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals withCUDA [ + cudaPackages.cuda_nvcc + ]; cmakeFlags = [ # https://opennmt.net/CTranslate2/installation.html#build-options @@ -51,35 +57,41 @@ stdenv.mkDerivation rec { "-DWITH_OPENBLAS=${cmakeBool withOpenblas}" "-DWITH_RUY=${cmakeBool withRuy}" "-DWITH_MKL=${cmakeBool withMkl}" - ] - ++ lib.optional stdenv.hostPlatform.isDarwin "-DWITH_ACCELERATE=ON"; + ] ++ lib.optional stdenv.hostPlatform.isDarwin "-DWITH_ACCELERATE=ON"; - buildInputs = lib.optionals withMkl [ - mkl - ] ++ lib.optionals withCUDA [ - cudaPackages.cuda_cccl # required by the fp16 headers in cudart - cudaPackages.cuda_cudart - cudaPackages.libcublas - cudaPackages.libcurand - ] ++ lib.optionals (withCUDA && withCuDNN) [ - cudaPackages.cudnn - ] ++ lib.optionals withOneDNN [ - oneDNN - ] ++ lib.optionals withOpenblas [ - openblas - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.openmp - darwin.apple_sdk.frameworks.Accelerate - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - darwin.apple_sdk.frameworks.CoreGraphics - darwin.apple_sdk.frameworks.CoreVideo - ]; + buildInputs = + lib.optionals withMkl [ + mkl + ] + ++ lib.optionals withCUDA [ + cudaPackages.cuda_cccl # required by the fp16 headers in cudart + cudaPackages.cuda_cudart + cudaPackages.libcublas + cudaPackages.libcurand + ] + ++ lib.optionals (withCUDA && withCuDNN) [ + cudaPackages.cudnn + ] + ++ lib.optionals withOneDNN [ + oneDNN + ] + ++ lib.optionals withOpenblas [ + openblas + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.openmp + darwin.apple_sdk.frameworks.Accelerate + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + darwin.apple_sdk.frameworks.CoreGraphics + darwin.apple_sdk.frameworks.CoreVideo + ]; passthru.tests = { inherit libretranslate wyoming-faster-whisper - ; + ; }; meta = with lib; { @@ -88,9 +100,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/OpenNMT/CTranslate2"; changelog = "https://github.com/OpenNMT/CTranslate2/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ hexa misuzu ]; - broken = - (lib.versionOlder cudaPackages.cudaVersion "11.4") - || !(withCuDNN -> withCUDA); + maintainers = with maintainers; [ + hexa + misuzu + ]; + broken = (lib.versionOlder cudaPackages.cudaVersion "11.4") || !(withCuDNN -> withCUDA); }; } diff --git a/pkgs/development/libraries/cxxtest/default.nix b/pkgs/development/libraries/cxxtest/default.nix index 545aa4bc0e0c1..ae1e9c302000d 100644 --- a/pkgs/development/libraries/cxxtest/default.nix +++ b/pkgs/development/libraries/cxxtest/default.nix @@ -1,4 +1,8 @@ -{ lib, python3Packages, fetchFromGitHub }: +{ + lib, + python3Packages, + fetchFromGitHub, +}: python3Packages.buildPythonApplication rec { pname = "cxxtest"; diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix index 81705374381e7..b91ec5dd5b6a1 100644 --- a/pkgs/development/libraries/db/db-4.8.nix +++ b/pkgs/development/libraries/db/db-4.8.nix @@ -1,14 +1,23 @@ -{ lib, stdenv, fetchurl, autoreconfHook, ... } @ args: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + ... +}@args: -import ./generic.nix (args // { - version = "4.8.30"; - sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"; - extraPatches = [ - ./clang-4.8.patch - ./CVE-2017-10140-4.8-cwd-db_config.patch - ./darwin-mutexes-4.8.patch - ]; +import ./generic.nix ( + args + // { + version = "4.8.30"; + sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"; + extraPatches = [ + ./clang-4.8.patch + ./CVE-2017-10140-4.8-cwd-db_config.patch + ./darwin-mutexes-4.8.patch + ]; - drvArgs.hardeningDisable = [ "format" ]; - drvArgs.doCheck = false; -}) + drvArgs.hardeningDisable = [ "format" ]; + drvArgs.doCheck = false; + } +) diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix index 2362cc9eecb0d..77e9a1a04269c 100644 --- a/pkgs/development/libraries/db/db-5.3.nix +++ b/pkgs/development/libraries/db/db-5.3.nix @@ -1,11 +1,20 @@ -{ lib, stdenv, fetchurl, autoreconfHook, ... } @ args: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + ... +}@args: -import ./generic.nix (args // { - version = "5.3.28"; - sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"; - extraPatches = [ - ./clang-5.3.patch - ./CVE-2017-10140-cwd-db_config.patch - ./darwin-mutexes.patch - ]; -}) +import ./generic.nix ( + args + // { + version = "5.3.28"; + sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"; + extraPatches = [ + ./clang-5.3.patch + ./CVE-2017-10140-cwd-db_config.patch + ./darwin-mutexes.patch + ]; + } +) diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix index d92d28d094e61..f720ca1806392 100644 --- a/pkgs/development/libraries/db/db-6.0.nix +++ b/pkgs/development/libraries/db/db-6.0.nix @@ -1,12 +1,21 @@ -{ lib, stdenv, fetchurl, autoreconfHook, ... } @ args: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + ... +}@args: -import ./generic.nix (args // { - version = "6.0.30"; - sha256 = "1lhglbvg65j5slrlv7qv4vi3cvd7kjywa07gq1abzschycf4p3k0"; - license = lib.licenses.agpl3Only; - extraPatches = [ - ./clang-6.0.patch - ./CVE-2017-10140-cwd-db_config.patch - ./darwin-mutexes.patch - ]; -}) +import ./generic.nix ( + args + // { + version = "6.0.30"; + sha256 = "1lhglbvg65j5slrlv7qv4vi3cvd7kjywa07gq1abzschycf4p3k0"; + license = lib.licenses.agpl3Only; + extraPatches = [ + ./clang-6.0.patch + ./CVE-2017-10140-cwd-db_config.patch + ./darwin-mutexes.patch + ]; + } +) diff --git a/pkgs/development/libraries/db/db-6.2.nix b/pkgs/development/libraries/db/db-6.2.nix index fd5a53253522f..2f573aaca1e9c 100644 --- a/pkgs/development/libraries/db/db-6.2.nix +++ b/pkgs/development/libraries/db/db-6.2.nix @@ -1,12 +1,21 @@ -{ lib, stdenv, fetchurl, autoreconfHook, ... } @ args: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + ... +}@args: -import ./generic.nix (args // { - version = "6.2.32"; - sha256 = "1yx8wzhch5wwh016nh0kfxvknjkafv6ybkqh6nh7lxx50jqf5id9"; - license = lib.licenses.agpl3Only; - extraPatches = [ - ./clang-6.0.patch - ./CVE-2017-10140-cwd-db_config.patch - ./darwin-mutexes.patch - ]; -}) +import ./generic.nix ( + args + // { + version = "6.2.32"; + sha256 = "1yx8wzhch5wwh016nh0kfxvknjkafv6ybkqh6nh7lxx50jqf5id9"; + license = lib.licenses.agpl3Only; + extraPatches = [ + ./clang-6.0.patch + ./CVE-2017-10140-cwd-db_config.patch + ./darwin-mutexes.patch + ]; + } +) diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix index 936aed633a449..cc91c7e360494 100644 --- a/pkgs/development/libraries/db/generic.nix +++ b/pkgs/development/libraries/db/generic.nix @@ -1,95 +1,111 @@ -{ lib, stdenv, fetchurl, autoreconfHook -, cxxSupport ? true -, compat185 ? true -, dbmSupport ? false - -# Options from inherited versions -, version, sha256 -, extraPatches ? [ ] -, license ? lib.licenses.sleepycat -, drvArgs ? {} +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + cxxSupport ? true, + compat185 ? true, + dbmSupport ? false, + + # Options from inherited versions + version, + sha256, + extraPatches ? [ ], + license ? lib.licenses.sleepycat, + drvArgs ? { }, }: -stdenv.mkDerivation (rec { - pname = "db"; - inherit version; - - src = fetchurl { - url = "https://download.oracle.com/berkeley-db/${pname}-${version}.tar.gz"; - sha256 = sha256; - }; - - # The provided configure script features `main` returning implicit `int`, which causes - # configure checks to work incorrectly with clang 16. - nativeBuildInputs = [ autoreconfHook ]; - - patches = extraPatches; - - outputs = [ "bin" "out" "dev" ]; - - # Required when regenerated the configure script to make sure the vendored macros are found. - autoreconfFlags = [ "-fi" "-Iaclocal" "-Iaclocal_java" ]; - - preAutoreconf = '' - pushd dist - # Upstream’s `dist/s_config` cats everything into `aclocal.m4`, but that doesn’t work with - # autoreconfHook, so cat `config.m4` to another file. Otherwise, it won’t be found by `aclocal`. - cat aclocal/config.m4 >> aclocal/options.m4 - ''; - - # This isn’t pretty. The version information is kept separate from the configure script. - # After the configure script is regenerated, the version information has to be replaced with the - # contents of `dist/RELEASE`. - postAutoreconf = '' - ( - declare -a vars=( - "DB_VERSION_FAMILY" - "DB_VERSION_RELEASE" - "DB_VERSION_MAJOR" - "DB_VERSION_MINOR" - "DB_VERSION_PATCH" - "DB_VERSION_STRING" - "DB_VERSION_FULL_STRING" - "DB_VERSION_UNIQUE_NAME" - "DB_VERSION" +stdenv.mkDerivation ( + rec { + pname = "db"; + inherit version; + + src = fetchurl { + url = "https://download.oracle.com/berkeley-db/${pname}-${version}.tar.gz"; + sha256 = sha256; + }; + + # The provided configure script features `main` returning implicit `int`, which causes + # configure checks to work incorrectly with clang 16. + nativeBuildInputs = [ autoreconfHook ]; + + patches = extraPatches; + + outputs = [ + "bin" + "out" + "dev" + ]; + + # Required when regenerated the configure script to make sure the vendored macros are found. + autoreconfFlags = [ + "-fi" + "-Iaclocal" + "-Iaclocal_java" + ]; + + preAutoreconf = '' + pushd dist + # Upstream’s `dist/s_config` cats everything into `aclocal.m4`, but that doesn’t work with + # autoreconfHook, so cat `config.m4` to another file. Otherwise, it won’t be found by `aclocal`. + cat aclocal/config.m4 >> aclocal/options.m4 + ''; + + # This isn’t pretty. The version information is kept separate from the configure script. + # After the configure script is regenerated, the version information has to be replaced with the + # contents of `dist/RELEASE`. + postAutoreconf = '' + ( + declare -a vars=( + "DB_VERSION_FAMILY" + "DB_VERSION_RELEASE" + "DB_VERSION_MAJOR" + "DB_VERSION_MINOR" + "DB_VERSION_PATCH" + "DB_VERSION_STRING" + "DB_VERSION_FULL_STRING" + "DB_VERSION_UNIQUE_NAME" + "DB_VERSION" + ) + source RELEASE + for var in "''${vars[@]}"; do + sed -e "s/__EDIT_''${var}__/''${!var}/g" -i configure + done ) - source RELEASE - for var in "''${vars[@]}"; do - sed -e "s/__EDIT_''${var}__/''${!var}/g" -i configure - done - ) - popd - ''; - - configureFlags = - [ - (if cxxSupport then "--enable-cxx" else "--disable-cxx") - (if compat185 then "--enable-compat185" else "--disable-compat185") - ] - ++ lib.optional dbmSupport "--enable-dbm" - ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; - - preConfigure = '' - cd build_unix - configureScript=../dist/configure - ''; - - postInstall = '' - rm -rf $out/docs - ''; - - enableParallelBuilding = true; - - doCheck = true; - - checkPhase = '' - make examples_c examples_cxx - ''; - - meta = with lib; { - homepage = "https://www.oracle.com/database/technologies/related/berkeleydb.html"; - description = "Berkeley DB"; - license = license; - platforms = platforms.unix; - }; -} // drvArgs) + popd + ''; + + configureFlags = + [ + (if cxxSupport then "--enable-cxx" else "--disable-cxx") + (if compat185 then "--enable-compat185" else "--disable-compat185") + ] + ++ lib.optional dbmSupport "--enable-dbm" + ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; + + preConfigure = '' + cd build_unix + configureScript=../dist/configure + ''; + + postInstall = '' + rm -rf $out/docs + ''; + + enableParallelBuilding = true; + + doCheck = true; + + checkPhase = '' + make examples_c examples_cxx + ''; + + meta = with lib; { + homepage = "https://www.oracle.com/database/technologies/related/berkeleydb.html"; + description = "Berkeley DB"; + license = license; + platforms = platforms.unix; + }; + } + // drvArgs +) diff --git a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix index f47c91ca3eafe..f5cad9f4bf7af 100644 --- a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix +++ b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, mono, dbus-sharp-1_0 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + mono, + dbus-sharp-1_0, +}: stdenv.mkDerivation rec { pname = "dbus-sharp-glib"; @@ -12,8 +20,14 @@ stdenv.mkDerivation rec { sha256 = "0z8ylzby8n5sar7aywc8rngd9ap5qqznadsscp5v34cacdfz1gxm"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ mono dbus-sharp-1_0 ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + mono + dbus-sharp-1_0 + ]; dontStrip = true; diff --git a/pkgs/development/libraries/dbus-sharp-glib/default.nix b/pkgs/development/libraries/dbus-sharp-glib/default.nix index 65cd890436638..9e5762e6cd526 100644 --- a/pkgs/development/libraries/dbus-sharp-glib/default.nix +++ b/pkgs/development/libraries/dbus-sharp-glib/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, mono, dbus-sharp-2_0, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + mono, + dbus-sharp-2_0, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "dbus-sharp-glib"; @@ -12,8 +20,14 @@ stdenv.mkDerivation rec { sha256 = "0i39kfg731as6j0hlmasgj8dyw5xsak7rl2dlimi1naphhffwzm8"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ mono dbus-sharp-2_0 ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = [ + mono + dbus-sharp-2_0 + ]; dontStrip = true; diff --git a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix index eb1b20e29eb10..55a9ddbc727c2 100644 --- a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix +++ b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchFromGitHub, pkg-config, mono, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + mono, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "dbus-sharp"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "13qlqx9wqahfpzzl59157cjxprqcx2bd40w5gb2bs3vdx058p562"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ mono ]; dontStrip = true; diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix index c64d7bbef9922..ba20951653eb2 100644 --- a/pkgs/development/libraries/dbus-sharp/default.nix +++ b/pkgs/development/libraries/dbus-sharp/default.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchFromGitHub, pkg-config, mono4, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + mono4, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "dbus-sharp"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "1g5lblrvkd0wnhfzp326by6n3a9mj2bj7a7646g0ziwgsxp5w6y7"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; # Use msbuild when https://github.com/NixOS/nixpkgs/pull/43680 is merged # See: https://github.com/NixOS/nixpkgs/pull/46060 diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 017c83c5b11d8..7170dd4dcdbd7 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, expat -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal -, systemdMinimal -, audit -, libapparmor -, dbus -, docbook_xml_dtd_44 -, docbook-xsl-nons -, xmlto -, autoreconfHook -, autoconf-archive -, x11Support ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) -, xorg +{ + stdenv, + lib, + fetchurl, + pkg-config, + expat, + enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, + systemdMinimal, + audit, + libapparmor, + dbus, + docbook_xml_dtd_44, + docbook-xsl-nons, + xmlto, + autoreconfHook, + autoconf-archive, + x11Support ? (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin), + xorg, }: stdenv.mkDerivation rec { @@ -28,21 +29,30 @@ stdenv.mkDerivation rec { patches = lib.optional stdenv.hostPlatform.isSunOS ./implement-getgrouplist.patch; - postPatch = '' - substituteInPlace bus/Makefile.am \ - --replace 'install-data-hook:' 'disabled:' \ - --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus' ':' - substituteInPlace tools/Makefile.am \ - --replace 'install-data-local:' 'disabled:' \ - --replace 'installcheck-local:' 'disabled:' - '' + /* cleanup of runtime references */ '' - substituteInPlace ./dbus/dbus-sysdeps-unix.c \ - --replace 'DBUS_BINDIR "/dbus-launch"' "\"$lib/bin/dbus-launch\"" - substituteInPlace ./tools/dbus-launch.c \ - --replace 'DBUS_DAEMONDIR"/dbus-daemon"' '"/run/current-system/sw/bin/dbus-daemon"' - ''; - - outputs = [ "out" "dev" "lib" "doc" "man" ]; + postPatch = + '' + substituteInPlace bus/Makefile.am \ + --replace 'install-data-hook:' 'disabled:' \ + --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus' ':' + substituteInPlace tools/Makefile.am \ + --replace 'install-data-local:' 'disabled:' \ + --replace 'installcheck-local:' 'disabled:' + '' + # cleanup of runtime references + + '' + substituteInPlace ./dbus/dbus-sysdeps-unix.c \ + --replace 'DBUS_BINDIR "/dbus-launch"' "\"$lib/bin/dbus-launch\"" + substituteInPlace ./tools/dbus-launch.c \ + --replace 'DBUS_DAEMONDIR"/dbus-daemon"' '"/run/current-system/sw/bin/dbus-daemon"' + ''; + + outputs = [ + "out" + "dev" + "lib" + "doc" + "man" + ]; separateDebugInfo = true; strictDeps = true; @@ -60,32 +70,44 @@ stdenv.mkDerivation rec { ]; buildInputs = - lib.optionals x11Support (with xorg; [ - libX11 - libICE - libSM - ]) ++ lib.optional enableSystemd systemdMinimal - ++ lib.optionals stdenv.hostPlatform.isLinux [ audit libapparmor ]; + lib.optionals x11Support ( + with xorg; + [ + libX11 + libICE + libSM + ] + ) + ++ lib.optional enableSystemd systemdMinimal + ++ lib.optionals stdenv.hostPlatform.isLinux [ + audit + libapparmor + ]; # ToDo: optional selinux? __darwinAllowLocalNetworking = true; - configureFlags = [ - "--enable-user-session" - "--enable-xml-docs" - "--libexecdir=${placeholder "out"}/libexec" - "--datadir=/etc" - "--localstatedir=/var" - "--runstatedir=/run" - "--sysconfdir=/etc" - "--with-session-socket-dir=/tmp" - "--with-system-pid-file=/run/dbus/pid" - "--with-system-socket=/run/dbus/system_bus_socket" - "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" - "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user" - ] ++ lib.optional (!x11Support) "--without-x" - ++ lib.optionals stdenv.hostPlatform.isLinux [ "--enable-apparmor" "--enable-libaudit" ] - ++ lib.optionals enableSystemd [ "SYSTEMCTL=${systemdMinimal}/bin/systemctl" ]; + configureFlags = + [ + "--enable-user-session" + "--enable-xml-docs" + "--libexecdir=${placeholder "out"}/libexec" + "--datadir=/etc" + "--localstatedir=/var" + "--runstatedir=/run" + "--sysconfdir=/etc" + "--with-session-socket-dir=/tmp" + "--with-system-pid-file=/run/dbus/pid" + "--with-system-socket=/run/dbus/system_bus_socket" + "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user" + ] + ++ lib.optional (!x11Support) "--without-x" + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--enable-apparmor" + "--enable-libaudit" + ] + ++ lib.optionals enableSystemd [ "SYSTEMCTL=${systemdMinimal}/bin/systemctl" ]; NIX_CFLAGS_LINK = lib.optionalString (!stdenv.hostPlatform.isDarwin) "-Wl,--as-needed"; diff --git a/pkgs/development/libraries/dbus/make-dbus-conf.nix b/pkgs/development/libraries/dbus/make-dbus-conf.nix index d6e3e86200cf0..1b98e3db03763 100644 --- a/pkgs/development/libraries/dbus/make-dbus-conf.nix +++ b/pkgs/development/libraries/dbus/make-dbus-conf.nix @@ -1,17 +1,19 @@ -{ runCommand -, libxslt -, dbus -, findXMLCatalogs -, serviceDirectories ? [] -, suidHelper ? "/var/setuid-wrappers/dbus-daemon-launch-helper" -, apparmor ? "disabled" # one of enabled, disabled, required +{ + runCommand, + libxslt, + dbus, + findXMLCatalogs, + serviceDirectories ? [ ], + suidHelper ? "/var/setuid-wrappers/dbus-daemon-launch-helper", + apparmor ? "disabled", # one of enabled, disabled, required }: -/* DBus has two configuration parsers -- normal and "trivial", which is used - * for suid helper. Unfortunately the latter doesn't support - * directive. That means that we can't just place our configuration to - * *-local.conf -- it needs to be in the main configuration file. - */ +/* + DBus has two configuration parsers -- normal and "trivial", which is used + for suid helper. Unfortunately the latter doesn't support + directive. That means that we can't just place our configuration to + *-local.conf -- it needs to be in the main configuration file. +*/ runCommand "dbus-1" { inherit serviceDirectories suidHelper apparmor; diff --git a/pkgs/development/libraries/dee/default.nix b/pkgs/development/libraries/dee/default.nix index 14d8247f0a201..160263e8c4755 100644 --- a/pkgs/development/libraries/dee/default.nix +++ b/pkgs/development/libraries/dee/default.nix @@ -1,21 +1,27 @@ -{ lib, stdenv -, fetchgit -, fetchpatch -, pkg-config -, glib -, icu -, gobject-introspection -, dbus-glib -, vala -, python3 -, autoreconfHook +{ + lib, + stdenv, + fetchgit, + fetchpatch, + pkg-config, + glib, + icu, + gobject-introspection, + dbus-glib, + vala, + python3, + autoreconfHook, }: stdenv.mkDerivation rec { pname = "dee"; version = "unstable-2017-06-16"; - outputs = [ "out" "dev" "py" ]; + outputs = [ + "out" + "dev" + "py" + ]; src = fetchgit { url = "https://git.launchpad.net/ubuntu/+source/dee"; diff --git a/pkgs/development/libraries/discord-rpc/default.nix b/pkgs/development/libraries/discord-rpc/default.nix index 05837c823c564..c9c007adb8c69 100644 --- a/pkgs/development/libraries/discord-rpc/default.nix +++ b/pkgs/development/libraries/discord-rpc/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, rapidjson -, AppKit -, buildExamples ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + rapidjson, + AppKit, + buildExamples ? false, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/dotnetfx35/default.nix b/pkgs/development/libraries/dotnetfx35/default.nix index a3045949c6cac..73e6fa003090f 100644 --- a/pkgs/development/libraries/dotnetfx35/default.nix +++ b/pkgs/development/libraries/dotnetfx35/default.nix @@ -1,4 +1,4 @@ -{stdenv}: +{ stdenv }: let windir = "/cygdrive/c/WINDOWS"; diff --git a/pkgs/development/libraries/dotnetfx40/default.nix b/pkgs/development/libraries/dotnetfx40/default.nix index 379be1bdc26d4..7ca67f186ac8b 100644 --- a/pkgs/development/libraries/dotnetfx40/default.nix +++ b/pkgs/development/libraries/dotnetfx40/default.nix @@ -1,4 +1,4 @@ -{stdenv}: +{ stdenv }: let windir = "/cygdrive/c/WINDOWS"; diff --git a/pkgs/development/libraries/draco/default.nix b/pkgs/development/libraries/draco/default.nix index 677c7e636986d..daf0116b06e24 100644 --- a/pkgs/development/libraries/draco/default.nix +++ b/pkgs/development/libraries/draco/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, cmake -, python3 -, gtest -, withAnimation ? true -, withTranscoder ? true -, eigen -, ghc_filesystem -, tinygltf +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + cmake, + python3, + gtest, + withAnimation ? true, + withTranscoder ? true, + eigen, + ghc_filesystem, + tinygltf, }: let @@ -33,22 +34,32 @@ stdenv.mkDerivation (finalAttrs: { --replace "^Clang" "^AppleClang" ''; - buildInputs = [ gtest ] - ++ lib.optionals withTranscoder [ eigen ghc_filesystem tinygltf ]; + buildInputs = + [ gtest ] + ++ lib.optionals withTranscoder [ + eigen + ghc_filesystem + tinygltf + ]; - nativeBuildInputs = [ cmake python3 ]; - - cmakeFlags = [ - "-DDRACO_ANIMATION_ENCODING=${cmakeBool withAnimation}" - "-DDRACO_GOOGLETEST_PATH=${gtest}" - "-DBUILD_SHARED_LIBS=${cmakeBool true}" - "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}" - ] ++ lib.optionals withTranscoder [ - "-DDRACO_EIGEN_PATH=${eigen}/include/eigen3" - "-DDRACO_FILESYSTEM_PATH=${ghc_filesystem}" - "-DDRACO_TINYGLTF_PATH=${tinygltf}" + nativeBuildInputs = [ + cmake + python3 ]; + cmakeFlags = + [ + "-DDRACO_ANIMATION_ENCODING=${cmakeBool withAnimation}" + "-DDRACO_GOOGLETEST_PATH=${gtest}" + "-DBUILD_SHARED_LIBS=${cmakeBool true}" + "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}" + ] + ++ lib.optionals withTranscoder [ + "-DDRACO_EIGEN_PATH=${eigen}/include/eigen3" + "-DDRACO_FILESYSTEM_PATH=${ghc_filesystem}" + "-DDRACO_TINYGLTF_PATH=${tinygltf}" + ]; + CXXFLAGS = [ # error: expected ')' before 'value' in 'explicit GltfValue(uint8_t value)' "-include cstdint" diff --git a/pkgs/development/libraries/draco/tinygltf.nix b/pkgs/development/libraries/draco/tinygltf.nix index 4f965c6538501..bce14b2d65d09 100644 --- a/pkgs/development/libraries/draco/tinygltf.nix +++ b/pkgs/development/libraries/draco/tinygltf.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, nix-update-script -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/dxflib/default.nix b/pkgs/development/libraries/dxflib/default.nix index a90820c02cb9f..acee812f5e8ba 100644 --- a/pkgs/development/libraries/dxflib/default.nix +++ b/pkgs/development/libraries/dxflib/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, qmake +{ + lib, + stdenv, + fetchurl, + qmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix index 3266304366a6c..969d6abf64ae2 100644 --- a/pkgs/development/libraries/eccodes/default.nix +++ b/pkgs/development/libraries/eccodes/default.nix @@ -1,17 +1,18 @@ -{ fetchurl -, lib -, stdenv -, cmake -, netcdf -, openjpeg -, libaec -, libpng -, gfortran -, perl -, enablePython ? false -, pythonPackages -, enablePosixThreads ? false -, enableOpenMPThreads ? false +{ + fetchurl, + lib, + stdenv, + cmake, + netcdf, + openjpeg, + libaec, + libpng, + gfortran, + perl, + enablePython ? false, + pythonPackages, + enablePosixThreads ? false, + enableOpenMPThreads ? false, }: stdenv.mkDerivation rec { @@ -38,7 +39,11 @@ stdenv.mkDerivation rec { --replace '$'{CMAKE_INSTALL_PREFIX}/'$'{INSTALL_INCLUDE_DIR} '$'{'$'{PROJECT_NAME}_FULL_INSTALL_INCLUDE_DIR} ''; - nativeBuildInputs = [ cmake gfortran perl ]; + nativeBuildInputs = [ + cmake + gfortran + perl + ]; buildInputs = [ netcdf diff --git a/pkgs/development/libraries/eigen/2.0.nix b/pkgs/development/libraries/eigen/2.0.nix index a163359463675..37f1017a2531d 100644 --- a/pkgs/development/libraries/eigen/2.0.nix +++ b/pkgs/development/libraries/eigen/2.0.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, cmake }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, +}: stdenv.mkDerivation rec { pname = "eigen"; @@ -17,7 +22,10 @@ stdenv.mkDerivation rec { homepage = "https://eigen.tuxfamily.org"; description = "C++ template library for linear algebra: vectors, matrices, and related algorithms"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ sander raskin ]; + maintainers = with maintainers; [ + sander + raskin + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix index 65493e661beb6..e612add0c7b1e 100644 --- a/pkgs/development/libraries/eigen/default.nix +++ b/pkgs/development/libraries/eigen/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { @@ -40,7 +41,10 @@ stdenv.mkDerivation rec { homepage = "https://eigen.tuxfamily.org"; description = "C++ template library for linear algebra: vectors, matrices, and related algorithms"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ sander raskin ]; + maintainers = with maintainers; [ + sander + raskin + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/embree/2.x.nix b/pkgs/development/libraries/embree/2.x.nix index 45f423659195f..c3a0adf867e9c 100644 --- a/pkgs/development/libraries/embree/2.x.nix +++ b/pkgs/development/libraries/embree/2.x.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, ispc, tbb, glfw, -openimageio, libjpeg, libpng, libpthreadstubs, libX11 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + ispc, + tbb, + glfw, + openimageio, + libjpeg, + libpng, + libpthreadstubs, + libX11, }: stdenv.mkDerivation { @@ -15,8 +27,20 @@ stdenv.mkDerivation { cmakeFlags = [ "-DEMBREE_TUTORIALS=OFF" ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ ispc tbb glfw openimageio libjpeg libpng libX11 libpthreadstubs ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + ispc + tbb + glfw + openimageio + libjpeg + libpng + libX11 + libpthreadstubs + ]; meta = with lib; { description = "High performance ray tracing kernels from Intel"; homepage = "https://embree.github.io/"; diff --git a/pkgs/development/libraries/embree/default.nix b/pkgs/development/libraries/embree/default.nix index f45ea3dc7d3d0..03f2a348f11d9 100644 --- a/pkgs/development/libraries/embree/default.nix +++ b/pkgs/development/libraries/embree/default.nix @@ -1,5 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, ispc, tbb, glfw, - openimageio, libjpeg, libpng, libpthreadstubs, libX11, glib }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + ispc, + tbb, + glfw, + openimageio, + libjpeg, + libpng, + libpthreadstubs, + libX11, + glib, +}: stdenv.mkDerivation rec { pname = "embree"; @@ -28,14 +42,28 @@ stdenv.mkDerivation rec { "-DTBB_INCLUDE_DIR=${tbb.dev}/include" ]; - nativeBuildInputs = [ ispc pkg-config cmake ]; - buildInputs = [ tbb glfw openimageio libjpeg libpng libX11 libpthreadstubs ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ glib ]; + nativeBuildInputs = [ + ispc + pkg-config + cmake + ]; + buildInputs = [ + tbb + glfw + openimageio + libjpeg + libpng + libX11 + libpthreadstubs + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ glib ]; meta = with lib; { description = "High performance ray tracing kernels from Intel"; homepage = "https://embree.github.io/"; - maintainers = with maintainers; [ hodapp gebner ]; + maintainers = with maintainers; [ + hodapp + gebner + ]; license = licenses.asl20; platforms = platforms.unix; }; diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix index d2f6036437fbe..99eedc81ebba3 100644 --- a/pkgs/development/libraries/enchant/2.x.nix +++ b/pkgs/development/libraries/enchant/2.x.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchurl -, aspell -, groff -, pkg-config -, glib -, hunspell -, hspell -, nuspell -, unittest-cpp +{ + stdenv, + lib, + fetchurl, + aspell, + groff, + pkg-config, + glib, + hunspell, + hspell, + nuspell, + unittest-cpp, -, withHspell ? true -, withAspell ? true -, withHunspell ? true -, withNuspell ? true -, withAppleSpell ? stdenv.hostPlatform.isDarwin + withHspell ? true, + withAspell ? true, + withHunspell ? true, + withNuspell ? true, + withAppleSpell ? stdenv.hostPlatform.isDarwin, -, Cocoa + Cocoa, }: assert withAppleSpell -> stdenv.hostPlatform.isDarwin; @@ -25,7 +26,10 @@ stdenv.mkDerivation rec { pname = "enchant"; version = "2.6.9"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://github.com/rrthomas/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz"; @@ -39,26 +43,32 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - glib - ] ++ lib.optionals withHunspell [ - hunspell - ] ++ lib.optionals withNuspell [ - nuspell - ] ++ lib.optionals withAppleSpell [ - Cocoa - ]; + buildInputs = + [ + glib + ] + ++ lib.optionals withHunspell [ + hunspell + ] + ++ lib.optionals withNuspell [ + nuspell + ] + ++ lib.optionals withAppleSpell [ + Cocoa + ]; checkInputs = [ unittest-cpp ]; # libtool puts these to .la files - propagatedBuildInputs = lib.optionals withHspell [ - hspell - ] ++ lib.optionals withAspell [ - aspell - ]; + propagatedBuildInputs = + lib.optionals withHspell [ + hspell + ] + ++ lib.optionals withAspell [ + aspell + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix index 76ed20495725c..8e589d0ec81d0 100644 --- a/pkgs/development/libraries/farstream/default.nix +++ b/pkgs/development/libraries/farstream/default.nix @@ -1,24 +1,29 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, libnice -, pkg-config -, autoreconfHook -, gstreamer -, gst-plugins-base -, gupnp-igd -, gobject-introspection -, gst-plugins-good -, gst-plugins-bad -, gst-libav -, python3 +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libnice, + pkg-config, + autoreconfHook, + gstreamer, + gst-plugins-base, + gupnp-igd, + gobject-introspection, + gst-plugins-good, + gst-plugins-bad, + gst-libav, + python3, }: stdenv.mkDerivation rec { pname = "farstream"; version = "0.2.9"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://www.freedesktop.org/software/farstream/releases/farstream/${pname}-${version}.tar.gz"; diff --git a/pkgs/development/libraries/flatbuffers/default.nix b/pkgs/development/libraries/flatbuffers/default.nix index 58ea13a50b92f..2dfabd5ad6433 100644 --- a/pkgs/development/libraries/flatbuffers/default.nix +++ b/pkgs/development/libraries/flatbuffers/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { hash = "sha256-uE9CQnhzVgOweYLhWPn2hvzXHyBbFiFVESJ1AEM3BmA="; }; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ + cmake + python3 + ]; cmakeFlags = [ "-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" diff --git a/pkgs/development/libraries/flint/3.nix b/pkgs/development/libraries/flint/3.nix index 60321984d3165..2f046777a7945 100644 --- a/pkgs/development/libraries/flint/3.nix +++ b/pkgs/development/libraries/flint/3.nix @@ -1,20 +1,25 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, gmp -, mpfr -, ntl -, autoconf -, automake -, gettext -, libtool -, openblas ? null, blas, lapack -, withBlas ? true -, withNtl ? true +{ + lib, + stdenv, + fetchpatch, + fetchurl, + gmp, + mpfr, + ntl, + autoconf, + automake, + gettext, + libtool, + openblas ? null, + blas, + lapack, + withBlas ? true, + withNtl ? true, }: -assert withBlas -> openblas != null && blas.implementation == "openblas" && lapack.implementation == "openblas"; +assert + withBlas + -> openblas != null && blas.implementation == "openblas" && lapack.implementation == "openblas"; stdenv.mkDerivation rec { pname = "flint3"; @@ -43,13 +48,16 @@ stdenv.mkDerivation rec { mpfr ]; - buildInputs = [ - gmp - ] ++ lib.optionals withBlas [ - openblas - ] ++ lib.optionals withNtl [ - ntl - ]; + buildInputs = + [ + gmp + ] + ++ lib.optionals withBlas [ + openblas + ] + ++ lib.optionals withNtl [ + ntl + ]; # We're not using autoreconfHook because flint's bootstrap # script calls autoreconf, among other things. @@ -58,14 +66,17 @@ stdenv.mkDerivation rec { ./bootstrap.sh ''; - configureFlags = [ - "--with-gmp=${gmp}" - "--with-mpfr=${mpfr}" - ] ++ lib.optionals withBlas [ - "--with-blas=${openblas}" - ] ++ lib.optionals withNtl [ - "--with-ntl=${ntl}" - ]; + configureFlags = + [ + "--with-gmp=${gmp}" + "--with-mpfr=${mpfr}" + ] + ++ lib.optionals withBlas [ + "--with-blas=${openblas}" + ] + ++ lib.optionals withNtl [ + "--with-ntl=${ntl}" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/flint/default.nix b/pkgs/development/libraries/flint/default.nix index eeb928be8710d..daeba16167983 100644 --- a/pkgs/development/libraries/flint/default.nix +++ b/pkgs/development/libraries/flint/default.nix @@ -1,14 +1,19 @@ -{ lib -, stdenv -, fetchurl -, gmp -, mpfr -, ntl -, openblas ? null, blas, lapack -, withBlas ? true +{ + lib, + stdenv, + fetchurl, + gmp, + mpfr, + ntl, + openblas ? null, + blas, + lapack, + withBlas ? true, }: -assert withBlas -> openblas != null && blas.implementation == "openblas" && lapack.implementation == "openblas"; +assert + withBlas + -> openblas != null && blas.implementation == "openblas" && lapack.implementation == "openblas"; stdenv.mkDerivation rec { pname = "flint"; @@ -19,25 +24,29 @@ stdenv.mkDerivation rec { sha256 = "sha256-L8CQ1RAzyTII5sENQGOXpTyYOuU0O5WOsl9ypXpM52o="; }; - buildInputs = [ - gmp - mpfr - ntl - ] ++ lib.optionals withBlas [ - openblas - ]; + buildInputs = + [ + gmp + mpfr + ntl + ] + ++ lib.optionals withBlas [ + openblas + ]; propagatedBuildInputs = [ mpfr # flint.h includes mpfr.h ]; - configureFlags = [ - "--with-gmp=${gmp}" - "--with-mpfr=${mpfr}" - "--with-ntl=${ntl}" - ] ++ lib.optionals withBlas [ - "--with-blas=${openblas}" - ]; + configureFlags = + [ + "--with-gmp=${gmp}" + "--with-mpfr=${mpfr}" + "--with-ntl=${ntl}" + ] + ++ lib.optionals withBlas [ + "--with-blas=${openblas}" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/fltk/common.nix b/pkgs/development/libraries/fltk/common.nix index 43776d5918b61..19ac830983371 100644 --- a/pkgs/development/libraries/fltk/common.nix +++ b/pkgs/development/libraries/fltk/common.nix @@ -1,44 +1,49 @@ -{ version, rev, sha256 }: - -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, zlib -, libjpeg -, libpng -, fontconfig -, freetype -, libX11 -, libXext -, libXinerama -, libXfixes -, libXcursor -, libXft -, libXrender -, ApplicationServices -, Carbon -, Cocoa - -, withGL ? true -, libGL -, libGLU -, glew -, OpenGL - -, withCairo ? true -, cairo - -, withPango ? (lib.strings.versionAtLeast version "1.4" && stdenv.hostPlatform.isLinux) -, pango - -, withDocs ? true -, doxygen -, graphviz - -, withExamples ? (stdenv.buildPlatform == stdenv.hostPlatform) -, withShared ? true +{ + version, + rev, + sha256, +}: + +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + zlib, + libjpeg, + libpng, + fontconfig, + freetype, + libX11, + libXext, + libXinerama, + libXfixes, + libXcursor, + libXft, + libXrender, + ApplicationServices, + Carbon, + Cocoa, + + withGL ? true, + libGL, + libGLU, + glew, + OpenGL, + + withCairo ? true, + cairo, + + withPango ? (lib.strings.versionAtLeast version "1.4" && stdenv.hostPlatform.isLinux), + pango, + + withDocs ? true, + doxygen, + graphviz, + + withExamples ? (stdenv.buildPlatform == stdenv.hostPlatform), + withShared ? true, }: let @@ -54,9 +59,7 @@ stdenv.mkDerivation rec { inherit rev sha256; }; - outputs = [ "out" ] - ++ lib.optional withExamples "bin" - ++ lib.optional withDocs "doc"; + outputs = [ "out" ] ++ lib.optional withExamples "bin" ++ lib.optional withDocs "doc"; # Manually move example & test binaries to $bin to avoid cyclic dependencies on dev binaries outputBin = lib.optionalString withExamples "out"; @@ -69,48 +72,60 @@ stdenv.mkDerivation rec { patchShebangs documentation/make_* ''; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals withDocs [ - doxygen - graphviz - ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - Carbon - ] ++ lib.optionals (withGL && !stdenv.hostPlatform.isDarwin) [ - libGL - libGLU - ] ++ lib.optionals (withExamples && withGL) [ - glew - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - fontconfig - ]; - - propagatedBuildInputs = [ - zlib - libjpeg - libpng - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - freetype - libX11 - libXext - libXinerama - libXfixes - libXcursor - libXft - libXrender - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ] ++ lib.optionals (withGL && stdenv.hostPlatform.isDarwin) [ - OpenGL - ] ++ lib.optionals withCairo [ - cairo - ] ++ lib.optionals withPango [ - pango - ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals withDocs [ + doxygen + graphviz + ]; + + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + Carbon + ] + ++ lib.optionals (withGL && !stdenv.hostPlatform.isDarwin) [ + libGL + libGLU + ] + ++ lib.optionals (withExamples && withGL) [ + glew + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + fontconfig + ]; + + propagatedBuildInputs = + [ + zlib + libjpeg + libpng + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + freetype + libX11 + libXext + libXinerama + libXfixes + libXcursor + libXft + libXrender + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ] + ++ lib.optionals (withGL && stdenv.hostPlatform.isDarwin) [ + OpenGL + ] + ++ lib.optionals withCairo [ + cairo + ] + ++ lib.optionals withPango [ + pango + ]; cmakeFlags = [ # Common @@ -162,30 +177,32 @@ stdenv.mkDerivation rec { make docs ''; - postInstall = lib.optionalString withExamples '' - mkdir -p $bin/bin - mv bin/{test,examples}/* $bin/bin/ - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Library/Frameworks - mv $out{,/Library/Frameworks}/FLTK.framework - - moveAppBundles() { - echo "Moving and symlinking $1" - appname="$(basename "$1")" - binname="$(basename "$(find "$1"/Contents/MacOS/ -type f -executable | head -n1)")" - curpath="$(dirname "$1")" - - mkdir -p "$curpath"/../Applications/ - mv "$1" "$curpath"/../Applications/ - [ -f "$curpath"/"$binname" ] && rm "$curpath"/"$binname" - ln -s ../Applications/"$appname"/Contents/MacOS/"$binname" "$curpath"/"$binname" - } - - rm $out/bin/fluid.icns - for app in $out/bin/*.app ${lib.optionalString withExamples "$bin/bin/*.app"}; do - moveAppBundles "$app" - done - ''; + postInstall = + lib.optionalString withExamples '' + mkdir -p $bin/bin + mv bin/{test,examples}/* $bin/bin/ + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Library/Frameworks + mv $out{,/Library/Frameworks}/FLTK.framework + + moveAppBundles() { + echo "Moving and symlinking $1" + appname="$(basename "$1")" + binname="$(basename "$(find "$1"/Contents/MacOS/ -type f -executable | head -n1)")" + curpath="$(dirname "$1")" + + mkdir -p "$curpath"/../Applications/ + mv "$1" "$curpath"/../Applications/ + [ -f "$curpath"/"$binname" ] && rm "$curpath"/"$binname" + ln -s ../Applications/"$appname"/Contents/MacOS/"$binname" "$curpath"/"$binname" + } + + rm $out/bin/fluid.icns + for app in $out/bin/*.app ${lib.optionalString withExamples "$bin/bin/*.app"}; do + moveAppBundles "$app" + done + ''; postFixup = '' substituteInPlace $out/bin/fltk-config \ diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index 4f7f3c0fe1e99..c7f14c8d86d4c 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -1,26 +1,34 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, python3 -, freetype -, expat -, libxslt -, gperf -, dejavu_fonts -, autoreconfHook -, CoreFoundation -, testers +{ + stdenv, + lib, + fetchurl, + pkg-config, + python3, + freetype, + expat, + libxslt, + gperf, + dejavu_fonts, + autoreconfHook, + CoreFoundation, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "fontconfig"; version = "2.15.0"; - outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config + outputs = [ + "bin" + "dev" + "lib" + "out" + ]; # $out contains all the config src = fetchurl { - url = with finalAttrs; "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz"; + url = + with finalAttrs; + "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz"; hash = "sha256-Y6BljQ4G4PqIYQZFK1jvBPIfWCAuoCqUw53g0zNdfA4="; }; @@ -45,15 +53,17 @@ stdenv.mkDerivation (finalAttrs: { sed -i '/check_PROGRAMS += test-crbug1004254/d' test/Makefile.am ''; - configureFlags = [ - "--sysconfdir=/etc" - "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" - "--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/ - # just <1MB; this is what you get when loading config fails for some reason - "--with-default-fonts=${dejavu_fonts.minimal}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" - ]; + configureFlags = + [ + "--sysconfdir=/etc" + "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" + "--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/ + # just <1MB; this is what you get when loading config fails for some reason + "--with-default-fonts=${dejavu_fonts.minimal}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix index 47884b9c3b928..a1ac7d1b98594 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix +++ b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix @@ -1,4 +1,9 @@ -{ runCommand, lib, fontconfig, fontDirectories }: +{ + runCommand, + lib, + fontconfig, + fontDirectories, +}: runCommand "fc-cache" { diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix index 669b66267f879..d88b07ef8af1d 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix @@ -1,26 +1,44 @@ -{ runCommand, stdenv, lib, libxslt, fontconfig, dejavu_fonts }: +{ + runCommand, + stdenv, + lib, + libxslt, + fontconfig, + dejavu_fonts, +}: -let fontconfig_ = fontconfig; in +let + fontconfig_ = fontconfig; +in { - fontconfig ? fontconfig_ + fontconfig ? fontconfig_, # an array of fonts, e.g. `[ pkgs.dejavu_fonts.minimal ]` - , fontDirectories - , impureFontDirectories ? [ - # nix user profile - "~/.nix-profile/lib/X11/fonts" "~/.nix-profile/share/fonts" - ] - ++ lib.optional stdenv.hostPlatform.isDarwin "~/Library/Fonts" - ++ [ - # FHS paths for non-NixOS platforms - "/usr/share/fonts" "/usr/local/share/fonts" - ] - # darwin paths - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "/Library/Fonts" "/System/Library/Fonts" ] - # nix default profile - ++ [ "/nix/var/nix/profiles/default/lib/X11/fonts" "/nix/var/nix/profiles/default/share/fonts" ] + fontDirectories, + impureFontDirectories ? + [ + # nix user profile + "~/.nix-profile/lib/X11/fonts" + "~/.nix-profile/share/fonts" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "~/Library/Fonts" + ++ [ + # FHS paths for non-NixOS platforms + "/usr/share/fonts" + "/usr/local/share/fonts" + ] + # darwin paths + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "/Library/Fonts" + "/System/Library/Fonts" + ] + # nix default profile + ++ [ + "/nix/var/nix/profiles/default/lib/X11/fonts" + "/nix/var/nix/profiles/default/share/fonts" + ], # to include custom config - , includes ? ["/etc/fonts/conf.d"] + includes ? [ "/etc/fonts/conf.d" ], }: runCommand "fonts.conf" diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix index e10d01d2c8421..cfe531ccfa7b1 100644 --- a/pkgs/development/libraries/fox/fox-1.6.nix +++ b/pkgs/development/libraries/fox/fox-1.6.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, libpng -, libjpeg -, libtiff -, zlib -, bzip2 -, libXcursor -, libXrandr -, libGLU -, libGL -, libXext -, libXft -, libXfixes -, mesa -, xinput -, CoreServices +{ + lib, + stdenv, + fetchurl, + libpng, + libjpeg, + libtiff, + zlib, + bzip2, + libXcursor, + libXrandr, + libGLU, + libGL, + libXext, + libXft, + libXfixes, + mesa, + xinput, + CoreServices, }: stdenv.mkDerivation rec { @@ -28,8 +29,19 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr - libXext libXft libGLU libGL libXfixes xinput + libpng + libjpeg + libtiff + zlib + bzip2 + libXcursor + libXrandr + libXext + libXft + libGLU + libGL + libXfixes + xinput ] ++ lib.optional stdenv.hostPlatform.isDarwin CoreServices; doCheck = true; @@ -43,11 +55,11 @@ stdenv.mkDerivation rec { branch = "1.6"; description = "C++ based class library for building Graphical User Interfaces"; longDescription = '' - FOX stands for Free Objects for X. - It is a C++ based class library for building Graphical User Interfaces. - Initially, it was developed for LINUX, but the scope of this project has in the course of time become somewhat more ambitious. - Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms. - ''; + FOX stands for Free Objects for X. + It is a C++ based class library for building Graphical User Interfaces. + Initially, it was developed for LINUX, but the scope of this project has in the course of time become somewhat more ambitious. + Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms. + ''; homepage = "http://fox-toolkit.org"; license = lib.licenses.lgpl3; maintainers = [ ]; diff --git a/pkgs/development/libraries/fplll/20160331.nix b/pkgs/development/libraries/fplll/20160331.nix index 6bb9570d998a9..3936797241d67 100644 --- a/pkgs/development/libraries/fplll/20160331.nix +++ b/pkgs/development/libraries/fplll/20160331.nix @@ -1,5 +1,14 @@ -{lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook -, gmp, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + gettext, + autoreconfHook, + gmp, + mpfr, }: stdenv.mkDerivation rec { pname = "fplll"; @@ -10,12 +19,21 @@ stdenv.mkDerivation rec { rev = "11dea26c2f9396ffb7a7191aa371343f1f74c5c3"; sha256 = "1clxch9hbr30w6s84m2mprxv58adhg5qw6sa2p3jr1cy4r7r59ib"; }; - nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook]; - buildInputs = [gmp mpfr]; + nativeBuildInputs = [ + autoconf + automake + libtool + gettext + autoreconfHook + ]; + buildInputs = [ + gmp + mpfr + ]; meta = { description = "Lattice algorithms using floating-point arithmetic"; license = lib.licenses.lgpl21Plus; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix index 5e2268199496b..aa27ad68e4f27 100644 --- a/pkgs/development/libraries/fplll/default.nix +++ b/pkgs/development/libraries/fplll/default.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, pkg-config -, gettext -, autoreconfHook -, gmp -, mpfr +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + gettext, + autoreconfHook, + gmp, + mpfr, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix index dd63935b23fd6..cd58f37d4937e 100644 --- a/pkgs/development/libraries/freeimage/default.nix +++ b/pkgs/development/libraries/freeimage/default.nix @@ -1,7 +1,21 @@ -{ lib, stdenv, fetchsvn, cctools, libtiff -, libpng, zlib, libwebp, libraw, openexr, openjpeg -, libjpeg, jxrlib, pkg-config -, fixDarwinDylibNames, autoSignDarwinBinariesHook }: +{ + lib, + stdenv, + fetchsvn, + cctools, + libtiff, + libpng, + zlib, + libwebp, + libraw, + openexr, + openjpeg, + libjpeg, + jxrlib, + pkg-config, + fixDarwinDylibNames, + autoSignDarwinBinariesHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "freeimage"; @@ -24,26 +38,43 @@ stdenv.mkDerivation (finalAttrs: { ./libtiff-4.4.0.diff ]; - postPatch = '' - # To support cross compilation, use the correct `pkg-config`. - substituteInPlace Makefile.fip \ - --replace "pkg-config" "$PKG_CONFIG" - substituteInPlace Makefile.gnu \ - --replace "pkg-config" "$PKG_CONFIG" - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' - # Upstream Makefile hardcodes i386 and x86_64 architectures only - substituteInPlace Makefile.osx --replace "x86_64" "arm64" - ''; + postPatch = + '' + # To support cross compilation, use the correct `pkg-config`. + substituteInPlace Makefile.fip \ + --replace "pkg-config" "$PKG_CONFIG" + substituteInPlace Makefile.gnu \ + --replace "pkg-config" "$PKG_CONFIG" + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' + # Upstream Makefile hardcodes i386 and x86_64 architectures only + substituteInPlace Makefile.osx --replace "x86_64" "arm64" + ''; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - cctools - fixDarwinDylibNames - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + fixDarwinDylibNames + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + autoSignDarwinBinariesHook + ]; + buildInputs = [ + libtiff + libtiff.dev_private + libpng + zlib + libwebp + libraw + openexr + openjpeg + libjpeg + libjpeg.dev_private + jxrlib ]; - buildInputs = [ libtiff libtiff.dev_private libpng zlib libwebp libraw openexr openjpeg libjpeg libjpeg.dev_private jxrlib ]; postBuild = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' make -f Makefile.fip @@ -52,19 +83,22 @@ stdenv.mkDerivation (finalAttrs: { INCDIR = "${placeholder "out"}/include"; INSTALLDIR = "${placeholder "out"}/lib"; - preInstall = '' - mkdir -p $INCDIR $INSTALLDIR - '' - # Workaround for Makefiles.osx not using ?= - + lib.optionalString stdenv.hostPlatform.isDarwin '' - makeFlagsArray+=( "INCDIR=$INCDIR" "INSTALLDIR=$INSTALLDIR" ) - ''; + preInstall = + '' + mkdir -p $INCDIR $INSTALLDIR + '' + # Workaround for Makefiles.osx not using ?= + + lib.optionalString stdenv.hostPlatform.isDarwin '' + makeFlagsArray+=( "INCDIR=$INCDIR" "INSTALLDIR=$INSTALLDIR" ) + ''; - postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - make -f Makefile.fip install - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - ln -s $out/lib/libfreeimage.3.dylib $out/lib/libfreeimage.dylib - ''; + postInstall = + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + make -f Makefile.fip install + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + ln -s $out/lib/libfreeimage.3.dylib $out/lib/libfreeimage.dylib + ''; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix index f58785c1e1bd8..08c6b5a3a810c 100644 --- a/pkgs/development/libraries/freenect/default.nix +++ b/pkgs/development/libraries/freenect/default.nix @@ -1,6 +1,18 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libusb1, pkg-config, libglut, libGLU, libGL, libXi, libXmu -, GLUT, Cocoa - }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libusb1, + pkg-config, + libglut, + libGLU, + libGL, + libXi, + libXmu, + GLUT, + Cocoa, +}: stdenv.mkDerivation rec { pname = "freenect"; @@ -13,21 +25,44 @@ stdenv.mkDerivation rec { sha256 = "sha256-PpJGFWrlQ5sK7TJxQNoPujw1MxWRjphvblwOqnF+mSg="; }; - buildInputs = [ libusb1 libglut libGLU libGL libXi libXmu ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ GLUT Cocoa ]; + buildInputs = + [ + libusb1 + libglut + libGLU + libGL + libXi + libXmu + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + GLUT + Cocoa + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; # see https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=libfreenect&id=0d17db49ba64bcb9e3a4eed61cf55c9a5ceb97f1 - patchPhase = lib.concatMapStrings (x: '' - substituteInPlace ${x} --replace "{GLUT_LIBRARY}" "{GLUT_LIBRARIES}" - '') [ "examples/CMakeLists.txt" "wrappers/cpp/CMakeLists.txt" ]; + patchPhase = + lib.concatMapStrings + (x: '' + substituteInPlace ${x} --replace "{GLUT_LIBRARY}" "{GLUT_LIBRARIES}" + '') + [ + "examples/CMakeLists.txt" + "wrappers/cpp/CMakeLists.txt" + ]; meta = { description = "Drivers and libraries for the Xbox Kinect device on Windows, Linux, and macOS"; homepage = "http://openkinect.org"; - license = with lib.licenses; [ gpl2 asl20 ]; + license = with lib.licenses; [ + gpl2 + asl20 + ]; maintainers = with lib.maintainers; [ bennofs ]; - platforms = with lib.platforms; linux ++ darwin ; + platforms = with lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/development/libraries/futuresql/default.nix b/pkgs/development/libraries/futuresql/default.nix index ed6a7033909ad..dddddd97ae676 100644 --- a/pkgs/development/libraries/futuresql/default.nix +++ b/pkgs/development/libraries/futuresql/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, qtbase }: +{ + stdenv, + lib, + fetchurl, + cmake, + extra-cmake-modules, + qtbase, +}: stdenv.mkDerivation rec { pname = "futuresql"; version = "0.1.1"; @@ -8,9 +15,12 @@ stdenv.mkDerivation rec { hash = "sha256-5E7Y1alhizynuimD7ZxfdXLm4KWxmflIaINLccy+vUM="; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; buildInputs = [ qtbase ]; - cmakeFlags = ["-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}"]; + cmakeFlags = [ "-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}" ]; # a library, nothing to wrap dontWrapQtApps = true; diff --git a/pkgs/development/libraries/g2o/default.nix b/pkgs/development/libraries/g2o/default.nix index 6f6560ea9f3f1..0503edc339991 100644 --- a/pkgs/development/libraries/g2o/default.nix +++ b/pkgs/development/libraries/g2o/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, eigen, suitesparse, blas -, lapack, libGLU, qtbase, libqglviewer, spdlog }: +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + cmake, + eigen, + suitesparse, + blas, + lapack, + libGLU, + qtbase, + libqglviewer, + spdlog, +}: mkDerivation rec { pname = "g2o"; @@ -15,31 +28,48 @@ mkDerivation rec { # Removes a reference to gcc that is only used in a debug message patches = [ ./remove-compiler-reference.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; separateDebugInfo = true; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen suitesparse blas lapack libGLU qtbase libqglviewer ]; + buildInputs = [ + eigen + suitesparse + blas + lapack + libGLU + qtbase + libqglviewer + ]; propagatedBuildInputs = [ spdlog ]; dontWrapQtApps = true; - cmakeFlags = [ - # Detection script is broken - "-DQGLVIEWER_INCLUDE_DIR=${libqglviewer}/include/QGLViewer" - "-DG2O_BUILD_EXAMPLES=OFF" - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - "-DDO_SSE_AUTODETECT=OFF" - "-DDISABLE_SSE3=${ if stdenv.hostPlatform.sse3Support then "OFF" else "ON"}" - "-DDISABLE_SSE4_1=${if stdenv.hostPlatform.sse4_1Support then "OFF" else "ON"}" - "-DDISABLE_SSE4_2=${if stdenv.hostPlatform.sse4_2Support then "OFF" else "ON"}" - "-DDISABLE_SSE4_A=${if stdenv.hostPlatform.sse4_aSupport then "OFF" else "ON"}" - ]; + cmakeFlags = + [ + # Detection script is broken + "-DQGLVIEWER_INCLUDE_DIR=${libqglviewer}/include/QGLViewer" + "-DG2O_BUILD_EXAMPLES=OFF" + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + "-DDO_SSE_AUTODETECT=OFF" + "-DDISABLE_SSE3=${if stdenv.hostPlatform.sse3Support then "OFF" else "ON"}" + "-DDISABLE_SSE4_1=${if stdenv.hostPlatform.sse4_1Support then "OFF" else "ON"}" + "-DDISABLE_SSE4_2=${if stdenv.hostPlatform.sse4_2Support then "OFF" else "ON"}" + "-DDISABLE_SSE4_A=${if stdenv.hostPlatform.sse4_aSupport then "OFF" else "ON"}" + ]; meta = with lib; { description = "General Framework for Graph Optimization"; homepage = "https://github.com/RainerKuemmerle/g2o"; - license = with licenses; [ bsd3 lgpl3 gpl3 ]; + license = with licenses; [ + bsd3 + lgpl3 + gpl3 + ]; maintainers = with maintainers; [ lopsided98 ]; platforms = platforms.all; # fatal error: 'qglviewer.h' file not found diff --git a/pkgs/development/libraries/gamenetworkingsockets/default.nix b/pkgs/development/libraries/gamenetworkingsockets/default.nix index 3927e6e428a80..247d5d76b4a48 100644 --- a/pkgs/development/libraries/gamenetworkingsockets/default.nix +++ b/pkgs/development/libraries/gamenetworkingsockets/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, go, protobuf, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + go, + protobuf, + openssl, +}: stdenv.mkDerivation rec { pname = "GameNetworkingSockets"; @@ -11,7 +20,11 @@ stdenv.mkDerivation rec { sha256 = "12741wmpvy7mcvqqmjg4a7ph75rwliwgclhk4imjijqf2qkvsphd"; }; - nativeBuildInputs = [ cmake ninja go ]; + nativeBuildInputs = [ + cmake + ninja + go + ]; cmakeFlags = [ "-G Ninja" ]; diff --git a/pkgs/development/libraries/gcc/libgcc/default.nix b/pkgs/development/libraries/gcc/libgcc/default.nix index 600ca69f46d04..79d24de0da7df 100644 --- a/pkgs/development/libraries/gcc/libgcc/default.nix +++ b/pkgs/development/libraries/gcc/libgcc/default.nix @@ -1,6 +1,10 @@ -{ lib, stdenvNoLibs, buildPackages -, gcc, glibc -, libiberty +{ + lib, + stdenvNoLibs, + buildPackages, + gcc, + glibc, + libiberty, }: let @@ -20,11 +24,15 @@ let "--with-build-sysroot=/" ]; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "libgcc"; inherit (gcc.cc) src version; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -45,85 +53,91 @@ in stdenv.mkDerivation (finalAttrs: { hardeningDisable = [ "pie" ]; preConfigure = - '' - # Drop in libiberty, as external builds are not expected - cd "$buildRoot" - ( - mkdir -p build-${stdenv.buildPlatform.config}/libiberty/ - cd build-${stdenv.buildPlatform.config}/libiberty/ - ln -s ${buildPackages.libiberty}/lib/libiberty.a ./ - ) - mkdir -p "$buildRoot/gcc" - cd "$buildRoot/gcc" - ( - # We "shift" the tools over to fake platforms perspective from the previous stage. + '' + # Drop in libiberty, as external builds are not expected + cd "$buildRoot" + ( + mkdir -p build-${stdenv.buildPlatform.config}/libiberty/ + cd build-${stdenv.buildPlatform.config}/libiberty/ + ln -s ${buildPackages.libiberty}/lib/libiberty.a ./ + ) + mkdir -p "$buildRoot/gcc" + cd "$buildRoot/gcc" + ( + # We "shift" the tools over to fake platforms perspective from the previous stage. + export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD + export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD + export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD + export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD + export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD + + export AS=$AS_FOR_BUILD + export CC=$CC_FOR_BUILD + export CPP=$CPP_FOR_BUILD + export CXX=$CXX_FOR_BUILD + export LD=$LD_FOR_BUILD + + export AS_FOR_TARGET=${stdenv.cc}/bin/$AS + export CC_FOR_TARGET=${stdenv.cc}/bin/$CC + export CPP_FOR_TARGET=${stdenv.cc}/bin/$CPP + export LD_FOR_TARGET=${stdenv.cc.bintools}/bin/$LD + + # We define GENERATOR_FILE so nothing bothers looking for GNU GMP. + export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1' + + "$sourceRoot/../gcc/configure" ${lib.concatStringsSep " " gccConfigureFlags} + + # We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built. + sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile + + make \ + config.h \ + libgcc.mvars \ + tconfig.h \ + tm.h \ + options.h \ + insn-constants.h \ + '' + + lib.optionalString stdenv.targetPlatform.isM68k '' + sysroot-suffix.h \ + '' + + lib.optionalString stdenv.targetPlatform.isAarch32 '' + arm-isa.h \ + arm-cpu.h \ + '' + + '' + insn-modes.h + ) + mkdir -p "$buildRoot/gcc/include" + + # Preparing to configure + build libgcc itself + mkdir -p "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgcc" + cd "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgcc" + configureScript=$sourceRoot/configure + chmod +x "$configureScript" + export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD - export AS=$AS_FOR_BUILD - export CC=$CC_FOR_BUILD - export CPP=$CPP_FOR_BUILD - export CXX=$CXX_FOR_BUILD - export LD=$LD_FOR_BUILD - - export AS_FOR_TARGET=${stdenv.cc}/bin/$AS - export CC_FOR_TARGET=${stdenv.cc}/bin/$CC - export CPP_FOR_TARGET=${stdenv.cc}/bin/$CPP - export LD_FOR_TARGET=${stdenv.cc.bintools}/bin/$LD - - # We define GENERATOR_FILE so nothing bothers looking for GNU GMP. - export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1' - - "$sourceRoot/../gcc/configure" ${lib.concatStringsSep " " gccConfigureFlags} - - # We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built. - sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile - - make \ - config.h \ - libgcc.mvars \ - tconfig.h \ - tm.h \ - options.h \ - insn-constants.h \ - '' + lib.optionalString stdenv.targetPlatform.isM68k '' - sysroot-suffix.h \ - '' + lib.optionalString stdenv.targetPlatform.isAarch32 '' - arm-isa.h \ - arm-cpu.h \ - '' + '' - insn-modes.h - ) - mkdir -p "$buildRoot/gcc/include" - - # Preparing to configure + build libgcc itself - mkdir -p "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgcc" - cd "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgcc" - configureScript=$sourceRoot/configure - chmod +x "$configureScript" - - export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD - export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD - export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD - export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD - export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD - - export AS=${stdenv.cc}/bin/$AS - export CC=${stdenv.cc}/bin/$CC - export CPP=${stdenv.cc}/bin/$CPP - export CXX=${stdenv.cc}/bin/$CXX - export LD=${stdenv.cc.bintools}/bin/$LD - - export AS_FOR_TARGET=${stdenv.cc}/bin/$AS_FOR_TARGET - export CC_FOR_TARGET=${stdenv.cc}/bin/$CC_FOR_TARGET - export CPP_FOR_TARGET=${stdenv.cc}/bin/$CPP_FOR_TARGET - export LD_FOR_TARGET=${stdenv.cc.bintools}/bin/$LD_FOR_TARGET - ''; + export AS=${stdenv.cc}/bin/$AS + export CC=${stdenv.cc}/bin/$CC + export CPP=${stdenv.cc}/bin/$CPP + export CXX=${stdenv.cc}/bin/$CXX + export LD=${stdenv.cc.bintools}/bin/$LD + + export AS_FOR_TARGET=${stdenv.cc}/bin/$AS_FOR_TARGET + export CC_FOR_TARGET=${stdenv.cc}/bin/$CC_FOR_TARGET + export CPP_FOR_TARGET=${stdenv.cc}/bin/$CPP_FOR_TARGET + export LD_FOR_TARGET=${stdenv.cc.bintools}/bin/$LD_FOR_TARGET + ''; - configurePlatforms = [ "build" "host" ]; + configurePlatforms = [ + "build" + "host" + ]; configureFlags = [ "cross_compiling=true" "--disable-gcov" diff --git a/pkgs/development/libraries/gcr/4.nix b/pkgs/development/libraries/gcr/4.nix index b99c5f9eaa490..d534840887eea 100644 --- a/pkgs/development/libraries/gcr/4.nix +++ b/pkgs/development/libraries/gcr/4.nix @@ -1,35 +1,41 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, gettext -, gnupg -, p11-kit -, glib -, libgcrypt -, libtasn1 -, gtk4 -, pango -, libsecret -, openssh -, systemd -, gobject-introspection -, wrapGAppsHook4 -, vala -, gi-docgen -, gnome -, python3 -, shared-mime-info -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + gettext, + gnupg, + p11-kit, + glib, + libgcrypt, + libtasn1, + gtk4, + pango, + libsecret, + openssh, + systemd, + gobject-introspection, + wrapGAppsHook4, + vala, + gi-docgen, + gnome, + python3, + shared-mime-info, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, }: stdenv.mkDerivation rec { pname = "gcr"; version = "4.3.0"; - outputs = [ "out" "bin" "dev" "devdoc" ]; + outputs = [ + "out" + "bin" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -51,16 +57,18 @@ stdenv.mkDerivation rec { shared-mime-info ]; - buildInputs = [ - libgcrypt - libtasn1 - pango - libsecret - openssh - gtk4 - ] ++ lib.optionals systemdSupport [ - systemd - ]; + buildInputs = + [ + libgcrypt + libtasn1 + pango + libsecret + openssh + gtk4 + ] + ++ lib.optionals systemdSupport [ + systemd + ]; propagatedBuildInputs = [ glib diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix index db31927b7a70a..518f403076cfa 100644 --- a/pkgs/development/libraries/gcr/default.nix +++ b/pkgs/development/libraries/gcr/default.nix @@ -1,34 +1,40 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, gettext -, gnupg -, p11-kit -, glib -, libgcrypt -, libtasn1 -, gtk3 -, pango -, libsecret -, openssh -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -, gobject-introspection -, wrapGAppsHook3 -, gi-docgen -, vala -, gnome -, python3 -, shared-mime-info +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + gettext, + gnupg, + p11-kit, + glib, + libgcrypt, + libtasn1, + gtk3, + pango, + libsecret, + openssh, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + gobject-introspection, + wrapGAppsHook3, + gi-docgen, + vala, + gnome, + python3, + shared-mime-info, }: stdenv.mkDerivation rec { pname = "gcr"; version = "3.41.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -51,15 +57,17 @@ stdenv.mkDerivation rec { openssh ]; - buildInputs = [ - libgcrypt - libtasn1 - pango - libsecret - openssh - ] ++ lib.optionals (systemdSupport) [ - systemd - ]; + buildInputs = + [ + libgcrypt + libtasn1 + pango + libsecret + openssh + ] + ++ lib.optionals (systemdSupport) [ + systemd + ]; propagatedBuildInputs = [ glib @@ -71,14 +79,16 @@ stdenv.mkDerivation rec { python3 ]; - mesonFlags = [ - # We are still using ssh-agent from gnome-keyring. - # https://github.com/NixOS/nixpkgs/issues/140824 - "-Dssh_agent=false" - "-Dgpg_path=${lib.getBin gnupg}/bin/gpg" - ] ++ lib.optionals (!systemdSupport) [ - "-Dsystemd=disabled" - ]; + mesonFlags = + [ + # We are still using ssh-agent from gnome-keyring. + # https://github.com/NixOS/nixpkgs/issues/140824 + "-Dssh_agent=false" + "-Dgpg_path=${lib.getBin gnupg}/bin/gpg" + ] + ++ lib.optionals (!systemdSupport) [ + "-Dsystemd=disabled" + ]; doCheck = false; # fails 21 out of 603 tests, needs dbus daemon diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix index 6b1a471d4aac3..d7b50cce5d527 100644 --- a/pkgs/development/libraries/gd/default.nix +++ b/pkgs/development/libraries/gd/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoconf -, automake -, pkg-config -, zlib -, libpng -, libjpeg -, libwebp -, libtiff -, withXorg ? true -, libXpm -, libavif -, fontconfig -, freetype +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoconf, + automake, + pkg-config, + zlib, + libpng, + libjpeg, + libwebp, + libtiff, + withXorg ? true, + libXpm, + libavif, + fontconfig, + freetype, }: stdenv.mkDerivation rec { @@ -27,7 +28,8 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch { # included in > 2.3.3 + (fetchpatch { + # included in > 2.3.3 name = "restore-GD_FLIP.patch"; url = "https://github.com/libgd/libgd/commit/f4bc1f5c26925548662946ed7cfa473c190a104a.diff"; sha256 = "XRXR3NOkbEub3Nybaco2duQk0n8vxif5mTl2AUacn9w="; @@ -36,18 +38,39 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - configureFlags = [ - "--enable-gd-formats" - ] + configureFlags = + [ + "--enable-gd-formats" + ] # -pthread gets passed to clang, causing warnings ++ lib.optional stdenv.hostPlatform.isDarwin "--enable-werror=no"; - nativeBuildInputs = [ autoconf automake pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; - buildInputs = [ zlib freetype libpng libjpeg libwebp libtiff libavif ] - ++ lib.optionals withXorg [ fontconfig libXpm ]; + buildInputs = + [ + zlib + freetype + libpng + libjpeg + libwebp + libtiff + libavif + ] + ++ lib.optionals withXorg [ + fontconfig + libXpm + ]; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; postFixup = '' moveToOutput "bin/gdlib-config" $dev diff --git a/pkgs/development/libraries/gdal/tests.nix b/pkgs/development/libraries/gdal/tests.nix index e6d7673014035..7b648fefa9e91 100644 --- a/pkgs/development/libraries/gdal/tests.nix +++ b/pkgs/development/libraries/gdal/tests.nix @@ -1,4 +1,10 @@ -{ runCommand, gdal, jdk, lib, testers }: +{ + runCommand, + gdal, + jdk, + lib, + testers, +}: let inherit (gdal) pname version; diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index b7ba122453629..37e90255a403f 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -1,42 +1,52 @@ -{ stdenv -, fetchurl -, nixosTests -, fixDarwinDylibNames -, meson -, ninja -, pkg-config -, gettext -, python3 -, docutils -, gi-docgen -, glib -, libtiff -, libjpeg -, libpng -, gnome -, doCheck ? false -, makeWrapper -, lib -, testers -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, gobject-introspection +{ + stdenv, + fetchurl, + nixosTests, + fixDarwinDylibNames, + meson, + ninja, + pkg-config, + gettext, + python3, + docutils, + gi-docgen, + glib, + libtiff, + libjpeg, + libpng, + gnome, + doCheck ? false, + makeWrapper, + lib, + testers, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + gobject-introspection, }: stdenv.mkDerivation (finalAttrs: { pname = "gdk-pixbuf"; version = "2.42.12"; - outputs = [ "out" "dev" "man" ] + outputs = + [ + "out" + "dev" + "man" + ] ++ lib.optional withIntrospection "devdoc" ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests"; - src = let - inherit (finalAttrs) pname version; - in fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-uVBbNEW5p+SM7TR2DDvLc+lm3zrJTJWhSMtmmrdI48c="; - }; + src = + let + inherit (finalAttrs) pname version; + in + fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + hash = "sha256-uVBbNEW5p+SM7TR2DDvLc+lm3zrJTJWhSMtmmrdI48c="; + }; patches = [ # Move installed tests to a separate output @@ -50,23 +60,26 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - python3 - makeWrapper - glib - - # for man pages - docutils - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ] ++ lib.optionals withIntrospection [ - gi-docgen - gobject-introspection - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gettext + python3 + makeWrapper + glib + + # for man pages + docutils + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ] + ++ lib.optionals withIntrospection [ + gi-docgen + gobject-introspection + ]; propagatedBuildInputs = [ glib @@ -105,14 +118,16 @@ stdenv.mkDerivation (finalAttrs: { moveToOutput "bin" "$dev" moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' # meson erroneously installs loaders with .dylib extension on Darwin. # Their @rpath has to be replaced before gdk-pixbuf-query-loaders looks at them. for f in $out/${finalAttrs.passthru.moduleDir}/*.dylib; do install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f mv $f ''${f%.dylib}.so done - '' + lib.optionalString withIntrospection '' + '' + + lib.optionalString withIntrospection '' # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ ${stdenv.hostPlatform.emulator buildPackages} $dev/bin/gdk-pixbuf-query-loaders --update-cache ''; diff --git a/pkgs/development/libraries/gdk-pixbuf/xlib.nix b/pkgs/development/libraries/gdk-pixbuf/xlib.nix index 0e0e2108da8dd..61a4c4c2ef646 100644 --- a/pkgs/development/libraries/gdk-pixbuf/xlib.nix +++ b/pkgs/development/libraries/gdk-pixbuf/xlib.nix @@ -1,20 +1,26 @@ -{ lib, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, docbook-xsl-nons -, docbook_xml_dtd_43 -, gtk-doc -, gdk-pixbuf -, libX11 +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + docbook-xsl-nons, + docbook_xml_dtd_43, + gtk-doc, + gdk-pixbuf, + libX11, }: stdenv.mkDerivation rec { pname = "gdk-pixbuf-xlib"; version = "2.40.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitLab { domain = "gitlab.gnome.org"; diff --git a/pkgs/development/libraries/gecode/3.nix b/pkgs/development/libraries/gecode/3.nix index 1d6f158b52f2b..b171d53d8d778 100644 --- a/pkgs/development/libraries/gecode/3.nix +++ b/pkgs/development/libraries/gecode/3.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, perl +{ + lib, + stdenv, + fetchurl, + fetchpatch, + perl, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix index 57bac22951394..078d21d87c6af 100644 --- a/pkgs/development/libraries/gecode/default.nix +++ b/pkgs/development/libraries/gecode/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, bison -, flex -, perl -, gmp -, mpfr -, qtbase -, enableGist ? true +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + bison, + flex, + perl, + gmp, + mpfr, + qtbase, + enableGist ? true, }: stdenv.mkDerivation rec { @@ -28,9 +29,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; dontWrapQtApps = true; - nativeBuildInputs = [ bison flex ]; - buildInputs = [ perl gmp mpfr ] - ++ lib.optional enableGist qtbase; + nativeBuildInputs = [ + bison + flex + ]; + buildInputs = [ + perl + gmp + mpfr + ] ++ lib.optional enableGist qtbase; meta = with lib; { license = licenses.mit; diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix index 9bd0633e3d1b5..bfdd37d93746b 100644 --- a/pkgs/development/libraries/gensio/default.nix +++ b/pkgs/development/libraries/gensio/default.nix @@ -1,10 +1,11 @@ -{ autoreconfHook -, fetchFromGitHub -, lib -, nix-update-script -, openssl -, pkg-config -, stdenv +{ + autoreconfHook, + fetchFromGitHub, + lib, + nix-update-script, + openssl, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { @@ -26,7 +27,10 @@ stdenv.mkDerivation rec { "--with-python=no" ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ openssl ]; diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix index cdb1a0a43e81b..e9ff8223501a2 100644 --- a/pkgs/development/libraries/geoip/default.nix +++ b/pkgs/development/libraries/geoip/default.nix @@ -1,19 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, drvName ? "geoip" +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + drvName ? "geoip", # in geoipDatabase, you can insert a package defining # "${geoipDatabase}/share/GeoIP" e.g. geolite-legacy -, geoipDatabase ? "/var/lib/geoip-databases" + geoipDatabase ? "/var/lib/geoip-databases", }: let dataDir = - if lib.isDerivation geoipDatabase - then "${toString geoipDatabase}/share/GeoIP" - else geoipDatabase; + if lib.isDerivation geoipDatabase then "${toString geoipDatabase}/share/GeoIP" else geoipDatabase; in stdenv.mkDerivation rec { @@ -44,7 +43,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "API for GeoIP/Geolocation databases"; - maintainers = with maintainers; [ thoughtpolice raskin ]; + maintainers = with maintainers; [ + thoughtpolice + raskin + ]; license = licenses.lgpl21; platforms = platforms.unix; homepage = "https://www.maxmind.com"; diff --git a/pkgs/development/libraries/geos/3.9.nix b/pkgs/development/libraries/geos/3.9.nix index b2cf3e8f96292..70cfa917993b0 100644 --- a/pkgs/development/libraries/geos/3.9.nix +++ b/pkgs/development/libraries/geos/3.9.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, cmake -, testers +{ + lib, + stdenv, + fetchurl, + cmake, + testers, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index 2e63196b04207..fef2d09b6bad3 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, callPackage -, fetchurl -, testers - -, cmake +{ + lib, + stdenv, + callPackage, + fetchurl, + testers, + + cmake, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/geos/tests.nix b/pkgs/development/libraries/geos/tests.nix index ad9ab883db2d2..7f6e1c6dd007e 100644 --- a/pkgs/development/libraries/geos/tests.nix +++ b/pkgs/development/libraries/geos/tests.nix @@ -3,13 +3,12 @@ let inherit (geos) pname; in -runCommand "${pname}-tests" { meta.timeout = 60; } - '' - ${geos}/bin/geosop \ - --explode \ - --format wkt \ - polygonize \ - -a "MULTILINESTRING ((200 100, 100 100, 200 200), (200 200, 200 100), (200 200, 300 100, 200 100))" \ - | grep 'POLYGON ((200 100, 100 100, 200 200, 200 100))' - touch $out - '' +runCommand "${pname}-tests" { meta.timeout = 60; } '' + ${geos}/bin/geosop \ + --explode \ + --format wkt \ + polygonize \ + -a "MULTILINESTRING ((200 100, 100 100, 200 200), (200 200, 200 100), (200 200, 300 100, 200 100))" \ + | grep 'POLYGON ((200 100, 100 100, 200 200, 200 100))' + touch $out +'' diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix index b85dc689d96cf..3be26afe3e528 100644 --- a/pkgs/development/libraries/getdns/default.nix +++ b/pkgs/development/libraries/getdns/default.nix @@ -1,19 +1,40 @@ # Getdns and Stubby are released together, see https://getdnsapi.net/releases/ -{ lib, stdenv, fetchurl, cmake, darwin, doxygen, libidn2, libyaml, openssl -, systemd, unbound, yq }: +{ + lib, + stdenv, + fetchurl, + cmake, + darwin, + doxygen, + libidn2, + libyaml, + openssl, + systemd, + unbound, + yq, +}: let metaCommon = { - maintainers = with lib.maintainers; [ leenaars ehmry ]; + maintainers = with lib.maintainers; [ + leenaars + ehmry + ]; license = lib.licenses.bsd3; platforms = lib.platforms.all; }; -in rec { +in +rec { getdns = stdenv.mkDerivation rec { pname = "getdns"; version = "1.7.3"; - outputs = [ "out" "dev" "lib" "man" ]; + outputs = [ + "out" + "dev" + "lib" + "man" + ]; src = fetchurl { url = "https://getdnsapi.net/releases/${pname}-${lib.concatStringsSep "-" (lib.splitVersion version)}/${pname}-${version}.tar.gz"; @@ -21,9 +42,16 @@ in rec { sha256 = "f1404ca250f02e37a118aa00cf0ec2cbe11896e060c6d369c6761baea7d55a2c"; }; - nativeBuildInputs = [ cmake doxygen ]; + nativeBuildInputs = [ + cmake + doxygen + ]; - buildInputs = [ libidn2 openssl unbound ]; + buildInputs = [ + libidn2 + openssl + unbound + ]; # https://github.com/getdnsapi/getdns/issues/517 postPatch = '' @@ -54,15 +82,27 @@ in rec { stubby = stdenv.mkDerivation rec { pname = "stubby"; version = "0.4.3"; - outputs = [ "out" "man" "stubbyExampleJson" ]; + outputs = [ + "out" + "man" + "stubbyExampleJson" + ]; inherit (getdns) src; sourceRoot = "${getdns.pname}-${getdns.version}/stubby"; - nativeBuildInputs = [ cmake doxygen yq ]; - - buildInputs = [ getdns libyaml openssl systemd ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.Security ]; + nativeBuildInputs = [ + cmake + doxygen + yq + ]; + + buildInputs = [ + getdns + libyaml + openssl + systemd + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.Security ]; postInstall = '' rm -r $out/share/doc diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 0518a40c29301..c923994f6a189 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, libiconv, bash, updateAutotoolsGnuConfigScriptsHook +{ + stdenv, + lib, + fetchurl, + libiconv, + bash, + updateAutotoolsGnuConfigScriptsHook, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -21,45 +27,56 @@ stdenv.mkDerivation rec { ./0001-msginit-Do-not-use-POT-Creation-Date.patch ]; - outputs = [ "out" "man" "doc" "info" ]; + outputs = [ + "out" + "man" + "doc" + "info" + ]; hardeningDisable = [ "format" ]; LDFLAGS = lib.optionalString stdenv.hostPlatform.isSunOS "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec"; - configureFlags = [ - "--disable-csharp" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - # On cross building, gettext supposes that the wchar.h from libc - # does not fulfill gettext needs, so it tries to work with its - # own wchar.h file, which does not cope well with the system's - # wchar.h and stddef.h (gcc-4.3 - glibc-2.9) - "gl_cv_func_wcwidth_works=yes" - ]; - - postPatch = '' - substituteAllInPlace gettext-runtime/src/gettext.sh.in - substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd - substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd - substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd - '' + lib.optionalString stdenv.hostPlatform.isCygwin '' - sed -i -e "s/\(cldr_plurals_LDADD = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in - sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in - '' + lib.optionalString stdenv.hostPlatform.isMinGW '' - sed -i "s/@GNULIB_CLOSE@/1/" */*/unistd.in.h - ''; + configureFlags = + [ + "--disable-csharp" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # On cross building, gettext supposes that the wchar.h from libc + # does not fulfill gettext needs, so it tries to work with its + # own wchar.h file, which does not cope well with the system's + # wchar.h and stddef.h (gcc-4.3 - glibc-2.9) + "gl_cv_func_wcwidth_works=yes" + ]; + + postPatch = + '' + substituteAllInPlace gettext-runtime/src/gettext.sh.in + substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd + substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd + substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd + '' + + lib.optionalString stdenv.hostPlatform.isCygwin '' + sed -i -e "s/\(cldr_plurals_LDADD = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in + sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in + '' + + lib.optionalString stdenv.hostPlatform.isMinGW '' + sed -i "s/@GNULIB_CLOSE@/1/" */*/unistd.in.h + ''; strictDeps = true; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isMinGW) [ - bash - ] - ++ lib.optionals (!stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isCygwin) [ - # HACK, see #10874 (and 14664) - libiconv - ]; + buildInputs = + lib.optionals (!stdenv.hostPlatform.isMinGW) [ + bash + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isCygwin) [ + # HACK, see #10874 (and 14664) + libiconv + ]; setupHooks = [ ../../../build-support/setup-hooks/role.bash diff --git a/pkgs/development/libraries/givaro/3.7.nix b/pkgs/development/libraries/givaro/3.7.nix index 7d7d414dfb274..e3472d2d0bf75 100644 --- a/pkgs/development/libraries/givaro/3.7.nix +++ b/pkgs/development/libraries/givaro/3.7.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchurl, automake, autoconf, libtool, autoreconfHook, gmpxx}: +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + libtool, + autoreconfHook, + gmpxx, +}: stdenv.mkDerivation rec { pname = "givaro"; version = "3.7.2"; @@ -6,12 +15,19 @@ stdenv.mkDerivation rec { url = "https://forge.imag.fr/frs/download.php/370/givaro-${version}.tar.gz"; sha256 = "0lf5cnbyr27fw7klc3zabkb1979dn67jmrjz6pa3jzw2ng74x9b3"; }; - nativeBuildInputs = [ autoreconfHook autoconf automake ]; - buildInputs = [libtool gmpxx]; + nativeBuildInputs = [ + autoreconfHook + autoconf + automake + ]; + buildInputs = [ + libtool + gmpxx + ]; meta = { description = "C++ library for arithmetic and algebraic computations"; license = lib.licenses.cecill-b; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/givaro/3.nix b/pkgs/development/libraries/givaro/3.nix index f03fef8aac163..605ce04e7d2a7 100644 --- a/pkgs/development/libraries/givaro/3.nix +++ b/pkgs/development/libraries/givaro/3.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchurl, automake, autoconf, libtool, autoreconfHook, gmpxx}: +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + libtool, + autoreconfHook, + gmpxx, +}: stdenv.mkDerivation rec { pname = "givaro"; version = "3.8.0"; @@ -6,12 +15,19 @@ stdenv.mkDerivation rec { url = "https://forge.imag.fr/frs/download.php/592/givaro-${version}.tar.gz"; sha256 = "1822ksv8653a84hvcz0vxl3nk8dqz7d41ys8rplq0zjjmvb2i5yq"; }; - nativeBuildInputs = [ autoreconfHook autoconf automake ]; - buildInputs = [libtool gmpxx]; + nativeBuildInputs = [ + autoreconfHook + autoconf + automake + ]; + buildInputs = [ + libtool + gmpxx + ]; meta = { description = "C++ library for arithmetic and algebraic computations"; license = lib.licenses.cecill-b; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix index a77cc10e2e36f..44ef1637443fb 100644 --- a/pkgs/development/libraries/givaro/default.nix +++ b/pkgs/development/libraries/givaro/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, automake -, autoconf -, libtool -, autoreconfHook -, gmpxx +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + automake, + autoconf, + libtool, + autoreconfHook, + gmpxx, }: stdenv.mkDerivation rec { pname = "givaro"; @@ -34,23 +35,29 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook autoconf automake ]; - buildInputs = [libtool]; + nativeBuildInputs = [ + autoreconfHook + autoconf + automake + ]; + buildInputs = [ libtool ]; propagatedBuildInputs = [ gmpxx ]; - configureFlags = [ - "--without-archnative" - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - # disable SIMD instructions (which are enabled *when available* by default) - "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" - "--${if stdenv.hostPlatform.ssse3Support then "enable" else "disable"}-ssse3" - "--${if stdenv.hostPlatform.sse4_1Support then "enable" else "disable"}-sse41" - "--${if stdenv.hostPlatform.sse4_2Support then "enable" else "disable"}-sse42" - "--${if stdenv.hostPlatform.avxSupport then "enable" else "disable"}-avx" - "--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2" - "--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma" - "--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4" - ]; + configureFlags = + [ + "--without-archnative" + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + # disable SIMD instructions (which are enabled *when available* by default) + "--${if stdenv.hostPlatform.sse3Support then "enable" else "disable"}-sse3" + "--${if stdenv.hostPlatform.ssse3Support then "enable" else "disable"}-ssse3" + "--${if stdenv.hostPlatform.sse4_1Support then "enable" else "disable"}-sse41" + "--${if stdenv.hostPlatform.sse4_2Support then "enable" else "disable"}-sse42" + "--${if stdenv.hostPlatform.avxSupport then "enable" else "disable"}-avx" + "--${if stdenv.hostPlatform.avx2Support then "enable" else "disable"}-avx2" + "--${if stdenv.hostPlatform.fmaSupport then "enable" else "disable"}-fma" + "--${if stdenv.hostPlatform.fma4Support then "enable" else "disable"}-fma4" + ]; # On darwin, tests are linked to dylib in the nix store, so we need to make # sure tests run after installPhase. @@ -62,7 +69,7 @@ stdenv.mkDerivation rec { description = "C++ library for arithmetic and algebraic computations"; mainProgram = "givaro-config"; license = lib.licenses.cecill-b; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/glew/1.10.nix b/pkgs/development/libraries/glew/1.10.nix index a675eebaa3428..f6198467aeecf 100644 --- a/pkgs/development/libraries/glew/1.10.nix +++ b/pkgs/development/libraries/glew/1.10.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchurl, libGLU, libXmu, libXi, libXext -, AGL, OpenGL -, testers -, mesa +{ + lib, + stdenv, + fetchurl, + libGLU, + libXmu, + libXi, + libXext, + AGL, + OpenGL, + testers, + mesa, }: stdenv.mkDerivation (finalAttrs: { @@ -13,15 +21,26 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r"; }; - buildInputs = if stdenv.hostPlatform.isDarwin then [ AGL ] else [ libXmu libXi libXext ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ AGL ] + else + [ + libXmu + libXi + libXext + ]; propagatedBuildInputs = if stdenv.hostPlatform.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patchPhase = '' sed -i 's|lib64|lib|' config/Makefile.linux ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile + sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile ''} ''; @@ -51,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: { description = "OpenGL extension loading library for C(++)"; homepage = "https://glew.sourceforge.net/"; license = licenses.free; # different files under different licenses - #["BSD" "GLX" "SGI-B" "GPL2"] + #["BSD" "GLX" "SGI-B" "GPL2"] pkgConfigModules = [ "glew" ]; inherit (mesa.meta) platforms; }; diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix index 8d68ad0867644..00a148c9df28e 100644 --- a/pkgs/development/libraries/glew/default.nix +++ b/pkgs/development/libraries/glew/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, cmake -, libGLU -, libXmu -, libXi -, libXext -, OpenGL -, enableEGL ? (!stdenv.hostPlatform.isDarwin) -, testers -, mesa +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + libGLU, + libXmu, + libXi, + libXext, + OpenGL, + enableEGL ? (!stdenv.hostPlatform.isDarwin), + testers, + mesa, }: stdenv.mkDerivation (finalAttrs: { @@ -22,7 +23,11 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "1qak8f7g1iswgswrgkzc7idk7jmqgwrs58fhg2ai007v7j4q5z6l"; }; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; patches = [ # https://github.com/nigels-com/glew/pull/342 @@ -40,7 +45,11 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ libXmu libXi libXext ]; + buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libXmu + libXi + libXext + ]; propagatedBuildInputs = if stdenv.hostPlatform.isDarwin then [ OpenGL ] else [ libGLU ]; # GL/glew.h includes GL/glu.h cmakeDir = "cmake"; @@ -71,12 +80,15 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "OpenGL extension loading library for C/C++"; homepage = "https://glew.sourceforge.net/"; - license = with licenses; [ /* modified bsd */ free mit gpl2Only ]; # For full details, see https://github.com/nigels-com/glew#copyright-and-licensing + license = with licenses; [ + # modified bsd + free + mit + gpl2Only + ]; # For full details, see https://github.com/nigels-com/glew#copyright-and-licensing pkgConfigModules = [ "glew" ]; - platforms = with platforms; - if enableEGL then - subtractLists darwin mesa.meta.platforms - else - mesa.meta.platforms; + platforms = + with platforms; + if enableEGL then subtractLists darwin mesa.meta.platforms else mesa.meta.platforms; }; }) diff --git a/pkgs/development/libraries/glfw/2.x.nix b/pkgs/development/libraries/glfw/2.x.nix index 545e7a418a5f5..cef83c64cad5d 100644 --- a/pkgs/development/libraries/glfw/2.x.nix +++ b/pkgs/development/libraries/glfw/2.x.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libGLU, libGL, libX11, libXext }: +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + libX11, + libXext, +}: stdenv.mkDerivation rec { pname = "glfw"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i"; }; - buildInputs = [ libGLU libGL libX11 libXext ]; + buildInputs = [ + libGLU + libGL + libX11 + libXext + ]; buildPhase = '' make x11 diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 09dde042848b4..fd9050525f96b 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -1,4 +1,5 @@ -/* Build configuration used to build glibc, Info files, and locale +/* + Build configuration used to build glibc, Info files, and locale information. Note that this derivation has multiple outputs and does not respect the @@ -22,26 +23,30 @@ # cgit) that are needed here should be included directly in Nixpkgs as # files. -{ stdenv, lib -, buildPackages -, fetchurl -, linuxHeaders ? null -, gd ? null, libpng ? null -, libidn2 -, bison -, python3Minimal +{ + stdenv, + lib, + buildPackages, + fetchurl, + linuxHeaders ? null, + gd ? null, + libpng ? null, + libidn2, + bison, + python3Minimal, }: -{ pname -, withLinuxHeaders ? false -, profilingLibraries ? false -, withGd ? false -, enableCET ? false -, enableCETRuntimeDefault ? false -, extraBuildInputs ? [] -, extraNativeBuildInputs ? [] -, ... -} @ args: +{ + pname, + withLinuxHeaders ? false, + profilingLibraries ? false, + withGd ? false, + enableCET ? false, + enableCETRuntimeDefault ? false, + extraBuildInputs ? [ ], + extraNativeBuildInputs ? [ ], + ... +}@args: let version = "2.40"; @@ -53,248 +58,297 @@ assert withLinuxHeaders -> linuxHeaders != null; assert withGd -> gd != null && libpng != null; assert enableCET == false -> !enableCETRuntimeDefault; -stdenv.mkDerivation ({ - version = version + patchSuffix; - - enableParallelBuilding = true; - - patches = - [ - /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. - $ git fetch --all -p && git checkout origin/release/2.39/master && git describe - glibc-2.40-36-g7073164add - $ git show --minimal --reverse glibc-2.40.. ':!ADVISORIES' > 2.40-master.patch - - To compare the archive contents zdiff can be used. - $ diff -u 2.40-master.patch ../nixpkgs/pkgs/development/libraries/glibc/2.40-master.patch - - Please note that each commit has changes to the file ADVISORIES excluded since - that conflicts with the directory advisories/ making cross-builds from - hosts with case-insensitive file-systems impossible. - */ - ./2.40-master.patch - - /* Allow NixOS and Nix to handle the locale-archive. */ - ./nix-locale-archive.patch - - /* Don't use /etc/ld.so.cache, for non-NixOS systems. */ - ./dont-use-system-ld-so-cache.patch - - /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload. */ - ./dont-use-system-ld-so-preload.patch - - /* The command "getconf CS_PATH" returns the default search path - "/bin:/usr/bin", which is inappropriate on NixOS machines. This - patch extends the search path by "/run/current-system/sw/bin". */ - ./fix_path_attribute_in_getconf.patch - - ./fix-x64-abi.patch - - /* https://github.com/NixOS/nixpkgs/pull/137601 */ - ./nix-nss-open-files.patch - - ./0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch - - /* Patch derived from archlinux, - https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/blob/e54d98e2d1aae4930ecad9404ef12234922d9dfd/reenable_DT_HASH.patch - - See also https://github.com/ValveSoftware/Proton/issues/6051 - & https://github.com/NixOS/nixpkgs/pull/188492#issuecomment-1233802991 +stdenv.mkDerivation ( + { + version = version + patchSuffix; + + enableParallelBuilding = true; + + patches = + [ + /* + No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. + $ git fetch --all -p && git checkout origin/release/2.39/master && git describe + glibc-2.40-36-g7073164add + $ git show --minimal --reverse glibc-2.40.. ':!ADVISORIES' > 2.40-master.patch + + To compare the archive contents zdiff can be used. + $ diff -u 2.40-master.patch ../nixpkgs/pkgs/development/libraries/glibc/2.40-master.patch + + Please note that each commit has changes to the file ADVISORIES excluded since + that conflicts with the directory advisories/ making cross-builds from + hosts with case-insensitive file-systems impossible. + */ + ./2.40-master.patch + + # Allow NixOS and Nix to handle the locale-archive. + ./nix-locale-archive.patch + + # Don't use /etc/ld.so.cache, for non-NixOS systems. + ./dont-use-system-ld-so-cache.patch + + # Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload. + ./dont-use-system-ld-so-preload.patch + + /* + The command "getconf CS_PATH" returns the default search path + "/bin:/usr/bin", which is inappropriate on NixOS machines. This + patch extends the search path by "/run/current-system/sw/bin". + */ + ./fix_path_attribute_in_getconf.patch + + ./fix-x64-abi.patch + + # https://github.com/NixOS/nixpkgs/pull/137601 + ./nix-nss-open-files.patch + + ./0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch + + /* + Patch derived from archlinux, + https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/blob/e54d98e2d1aae4930ecad9404ef12234922d9dfd/reenable_DT_HASH.patch + + See also https://github.com/ValveSoftware/Proton/issues/6051 + & https://github.com/NixOS/nixpkgs/pull/188492#issuecomment-1233802991 + */ + ./reenable_DT_HASH.patch + ] + /* + NVCC does not support ARM intrinsics. Since is pulled in by almost + every HPC piece of software, without this patch CUDA compilation on ARM + is effectively broken. See + https://forums.developer.nvidia.com/t/nvcc-fails-to-build-with-arm-neon-instructions-cpp-vs-cu/248355/2. */ - ./reenable_DT_HASH.patch - ] - /* NVCC does not support ARM intrinsics. Since is pulled in by almost - every HPC piece of software, without this patch CUDA compilation on ARM - is effectively broken. See - https://forums.developer.nvidia.com/t/nvcc-fails-to-build-with-arm-neon-instructions-cpp-vs-cu/248355/2. - */ - ++ ( - let - isAarch64 = stdenv.buildPlatform.isAarch64 || stdenv.hostPlatform.isAarch64; - isLinux = stdenv.buildPlatform.isLinux || stdenv.hostPlatform.isLinux; - in - lib.optional (isAarch64 && isLinux) ./0001-aarch64-math-vector.h-add-NVCC-include-guard.patch - ) - ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch - ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch - ++ lib.optional enableCETRuntimeDefault ./2.39-revert-cet-default-disable.patch; - - postPatch = - '' - # Needed for glibc to build with the gnumake 3.82 - # http://comments.gmane.org/gmane.linux.lfs.support/31227 - sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile - - # nscd needs libgcc, and we don't want it dynamically linked - # because we don't want it to depend on bootstrap-tools libs. - echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile - - # Ensure that `__nss_files_fopen` can still be wrapped by `libredirect`. - sed -i -e '/libc_hidden_def (__nss_files_fopen)/d' nss/nss_files_fopen.c - sed -i -e '/libc_hidden_proto (__nss_files_fopen)/d' include/nss_files.h - '' - # FIXME: find a solution for infinite recursion in cross builds. - # For now it's hopefully acceptable that IDN from libc doesn't reliably work. - + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' - - # Ensure that libidn2 is found. - patch -p 1 <> nscd/Makefile + + # Ensure that `__nss_files_fopen` can still be wrapped by `libredirect`. + sed -i -e '/libc_hidden_def (__nss_files_fopen)/d' nss/nss_files_fopen.c + sed -i -e '/libc_hidden_proto (__nss_files_fopen)/d' include/nss_files.h + '' + # FIXME: find a solution for infinite recursion in cross builds. + # For now it's hopefully acceptable that IDN from libc doesn't reliably work. + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + + # Ensure that libidn2 is found. + patch -p 1 < config.cache << "EOF" + libc_cv_forced_unwind=yes + libc_cv_c_cleanup=yes + libc_cv_gnu89_inline=yes + EOF + + # ./configure has logic like + # + # AR=`$CC -print-prog-name=ar` + # + # This searches various directories in the gcc and its wrapper. In nixpkgs, + # this returns the bare string "ar", which is build ar. This can result as + # a build failure with the following message: + # + # libc_pic.a: error adding symbols: archive has no index; run ranlib to add one + # + # (Observed cross compiling from aarch64-linux -> armv7l-linux). + # + # Nixpkgs passes a correct value for AR and friends, so to use the correct + # set of tools, we only need to delete this special handling. + sed -i \ + -e '/^AR=/d' \ + -e '/^AS=/d' \ + -e '/^LD=/d' \ + -e '/^OBJCOPY=/d' \ + -e '/^OBJDUMP=/d' \ + $configureScript + ''; + + preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH"; + + doCheck = false; # fails + + meta = + with lib; + { + homepage = "https://www.gnu.org/software/libc/"; + description = "GNU C Library"; + + longDescription = '' + Any Unix-like operating system needs a C library: the library which + defines the "system calls" and other basic facilities such as + open, malloc, printf, exit... + + The GNU C library is used as the C library in the GNU system and + most systems with the Linux kernel. + ''; + + license = licenses.lgpl2Plus; + + maintainers = with maintainers; [ + ma27 + connorbaker + ]; + platforms = platforms.linux; + } + // (args.meta or { }); } - - - '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig" - - cat > config.cache << "EOF" - libc_cv_forced_unwind=yes - libc_cv_c_cleanup=yes - libc_cv_gnu89_inline=yes - EOF - - # ./configure has logic like - # - # AR=`$CC -print-prog-name=ar` - # - # This searches various directories in the gcc and its wrapper. In nixpkgs, - # this returns the bare string "ar", which is build ar. This can result as - # a build failure with the following message: - # - # libc_pic.a: error adding symbols: archive has no index; run ranlib to add one - # - # (Observed cross compiling from aarch64-linux -> armv7l-linux). - # - # Nixpkgs passes a correct value for AR and friends, so to use the correct - # set of tools, we only need to delete this special handling. - sed -i \ - -e '/^AR=/d' \ - -e '/^AS=/d' \ - -e '/^LD=/d' \ - -e '/^OBJCOPY=/d' \ - -e '/^OBJDUMP=/d' \ - $configureScript - ''; - - preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH"; - - doCheck = false; # fails - - meta = with lib; { - homepage = "https://www.gnu.org/software/libc/"; - description = "GNU C Library"; - - longDescription = '' - Any Unix-like operating system needs a C library: the library which - defines the "system calls" and other basic facilities such as - open, malloc, printf, exit... - - The GNU C library is used as the C library in the GNU system and - most systems with the Linux kernel. - ''; - - license = licenses.lgpl2Plus; - - maintainers = with maintainers; [ ma27 connorbaker ]; - platforms = platforms.linux; - } // (args.meta or {}); -}) +) diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 532dfd58900f4..46d28aea307c8 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -1,11 +1,14 @@ -{ lib, stdenv, callPackage -, withLinuxHeaders ? true -, profilingLibraries ? false -, withGd ? false -, enableCET ? if stdenv.hostPlatform.isx86_64 then "permissive" else false -, enableCETRuntimeDefault ? false -, pkgsBuildBuild -, libgcc +{ + lib, + stdenv, + callPackage, + withLinuxHeaders ? true, + profilingLibraries ? false, + withGd ? false, + enableCET ? if stdenv.hostPlatform.isx86_64 then "permissive" else false, + enableCETRuntimeDefault ? false, + pkgsBuildBuild, + libgcc, }: let @@ -17,9 +20,19 @@ let in (callPackage ./common.nix { inherit stdenv; } { - inherit withLinuxHeaders withGd profilingLibraries enableCET enableCETRuntimeDefault; - pname = "glibc" + lib.optionalString withGd "-gd" + lib.optionalString (stdenv.cc.isGNU && libgcc==null) "-nolibgcc"; -}).overrideAttrs(previousAttrs: { + inherit + withLinuxHeaders + withGd + profilingLibraries + enableCET + enableCETRuntimeDefault + ; + pname = + "glibc" + + lib.optionalString withGd "-gd" + + lib.optionalString (stdenv.cc.isGNU && libgcc == null) "-nolibgcc"; +}).overrideAttrs + (previousAttrs: { # Note: # Things you write here override, and do not add to, @@ -47,29 +60,36 @@ in # The pie, stackprotector and fortify hardening flags are autodetected by # glibc and enabled by default if supported. Setting it for every gcc # invocation does not work. - hardeningDisable = [ "fortify" "pie" "stackprotector" ]; + hardeningDisable = [ + "fortify" + "pie" + "stackprotector" + ]; env = (previousAttrs.env or { }) // { - NIX_CFLAGS_COMPILE = (previousAttrs.env.NIX_CFLAGS_COMPILE or "") + lib.concatStringsSep " " - (builtins.concatLists [ - (lib.optionals withGd gdCflags) - # Fix -Werror build failure when building glibc with musl with GCC >= 8, see: - # https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798 - (lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias") - (lib.optionals ((stdenv.hostPlatform != stdenv.buildPlatform) || stdenv.hostPlatform.isMusl) [ - # Ignore "error: '__EI___errno_location' specifies less restrictive attributes than its target '__errno_location'" - # New warning as of GCC 9 - # Same for musl: https://github.com/NixOS/nixpkgs/issues/78805 - "-Wno-error=missing-attributes" - ]) - (lib.optionals (stdenv.hostPlatform.isPower64) [ - # Do not complain about the Processor Specific ABI (i.e. the - # choice to use IEEE-standard `long double`). We pass this - # flag in order to mute a `-Werror=psabi` passed by glibc; - # hopefully future glibc releases will not pass that flag. - "-Wno-error=psabi" - ]) - ]); + NIX_CFLAGS_COMPILE = + (previousAttrs.env.NIX_CFLAGS_COMPILE or "") + + lib.concatStringsSep " " ( + builtins.concatLists [ + (lib.optionals withGd gdCflags) + # Fix -Werror build failure when building glibc with musl with GCC >= 8, see: + # https://github.com/NixOS/nixpkgs/pull/68244#issuecomment-544307798 + (lib.optional stdenv.hostPlatform.isMusl "-Wno-error=attribute-alias") + (lib.optionals ((stdenv.hostPlatform != stdenv.buildPlatform) || stdenv.hostPlatform.isMusl) [ + # Ignore "error: '__EI___errno_location' specifies less restrictive attributes than its target '__errno_location'" + # New warning as of GCC 9 + # Same for musl: https://github.com/NixOS/nixpkgs/issues/78805 + "-Wno-error=missing-attributes" + ]) + (lib.optionals (stdenv.hostPlatform.isPower64) [ + # Do not complain about the Processor Specific ABI (i.e. the + # choice to use IEEE-standard `long double`). We pass this + # flag in order to mute a `-Werror=psabi` passed by glibc; + # hopefully future glibc releases will not pass that flag. + "-Wno-error=psabi" + ]) + ] + ); }; # glibc needs to `dlopen()` `libgcc_s.so` but does not link @@ -88,98 +108,109 @@ in # gcc.libgcc, since the path will be embedded in the resulting binary. # makeFlags = - (previousAttrs.makeFlags or []) + (previousAttrs.makeFlags or [ ]) ++ lib.optionals (libgcc != null) [ "user-defined-trusted-dirs=${libgcc}/lib" ]; - postInstall = previousAttrs.postInstall + (if stdenv.buildPlatform.canExecute stdenv.hostPlatform then '' - echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED - make -j''${NIX_BUILD_CORES:-1} localedata/install-locales - '' else lib.optionalString stdenv.buildPlatform.isLinux - # This is based on http://www.linuxfromscratch.org/lfs/view/development/chapter06/glibc.html - # Instead of using their patch to build a build-native localedef, - # we simply use the one from pkgsBuildBuild. - # - # Note that we can't use pkgsBuildHost (aka buildPackages) here, because - # that will cause an eval-time infinite recursion: "buildPackages.glibc - # depended on buildPackages.libgcc, which, since it's GCC, depends on the - # target's bintools, which depend on the target's glibc, which, again, - # depends on buildPackages.glibc, causing an infinute recursion when - # evaluating buildPackages.glibc when glibc hasn't come from stdenv - # (e.g. on musl)." https://github.com/NixOS/nixpkgs/pull/259964 - '' - pushd ../glibc-2*/localedata - export I18NPATH=$PWD GCONV_PATH=$PWD/../iconvdata - mkdir -p $NIX_BUILD_TOP/${pkgsBuildBuild.glibc}/lib/locale - ${lib.getBin pkgsBuildBuild.glibc}/bin/localedef \ - --alias-file=../intl/locale.alias \ - -i locales/C \ - -f charmaps/UTF-8 \ - --prefix $NIX_BUILD_TOP \ - ${if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" then - "--little-endian" - else - "--big-endian"} \ - C.UTF-8 - cp -r $NIX_BUILD_TOP/${pkgsBuildBuild.glibc}/lib/locale $out/lib - popd - '') + '' - - test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache - - if test -n "$linuxHeaders"; then - # Include the Linux kernel headers in Glibc, except the `scsi' - # subdirectory, which Glibc provides itself. - (cd $dev/include && \ - ln -sv $(ls -d $linuxHeaders/include/* | grep -v scsi\$) .) - fi - - # Fix for NIXOS-54 (ldd not working on x86_64). Make a symlink - # "lib64" to "lib". - if test -n "$is64bit"; then - ln -s lib $out/lib64 - fi - - # Get rid of more unnecessary stuff. - rm -rf $out/var $bin/bin/sln - - # Backwards-compatibility to fix e.g. - # "configure: error: Pthreads are required to build libgomp" during `gcc`-build - # because it's not actually needed anymore to link against `pthreads` since - # it's now part of `libc.so.6` itself, but the gcc build breaks if - # this doesn't work. - ln -sf $out/lib/libpthread.so.0 $out/lib/libpthread.so - ln -sf $out/lib/librt.so.1 $out/lib/librt.so - ln -sf $out/lib/libdl.so.2 $out/lib/libdl.so - test -f $out/lib/libutil.so.1 && ln -sf $out/lib/libutil.so.1 $out/lib/libutil.so - touch $out/lib/libpthread.a - - # Put libraries for static linking in a separate output. Note - # that libc_nonshared.a and libpthread_nonshared.a are required - # for dynamically-linked applications. - mkdir -p $static/lib - mv $out/lib/*.a $static/lib - mv $static/lib/lib*_nonshared.a $out/lib - # If libutil.so.1 is missing, libutil.a is required. - test -f $out/lib/libutil.so.1 || mv $static/lib/libutil.a $out/lib - # Some of *.a files are linker scripts where moving broke the paths. - sed "/^GROUP/s|$out/lib/lib|$static/lib/lib|g" \ - -i "$static"/lib/*.a - - # Work around a Nix bug: hard links across outputs cause a build failure. - cp $bin/bin/getconf $bin/bin/getconf_ - mv $bin/bin/getconf_ $bin/bin/getconf - ''; + postInstall = + previousAttrs.postInstall + + ( + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + '' + echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED + make -j''${NIX_BUILD_CORES:-1} localedata/install-locales + '' + else + lib.optionalString stdenv.buildPlatform.isLinux + # This is based on http://www.linuxfromscratch.org/lfs/view/development/chapter06/glibc.html + # Instead of using their patch to build a build-native localedef, + # we simply use the one from pkgsBuildBuild. + # + # Note that we can't use pkgsBuildHost (aka buildPackages) here, because + # that will cause an eval-time infinite recursion: "buildPackages.glibc + # depended on buildPackages.libgcc, which, since it's GCC, depends on the + # target's bintools, which depend on the target's glibc, which, again, + # depends on buildPackages.glibc, causing an infinute recursion when + # evaluating buildPackages.glibc when glibc hasn't come from stdenv + # (e.g. on musl)." https://github.com/NixOS/nixpkgs/pull/259964 + '' + pushd ../glibc-2*/localedata + export I18NPATH=$PWD GCONV_PATH=$PWD/../iconvdata + mkdir -p $NIX_BUILD_TOP/${pkgsBuildBuild.glibc}/lib/locale + ${lib.getBin pkgsBuildBuild.glibc}/bin/localedef \ + --alias-file=../intl/locale.alias \ + -i locales/C \ + -f charmaps/UTF-8 \ + --prefix $NIX_BUILD_TOP \ + ${ + if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian" then + "--little-endian" + else + "--big-endian" + } \ + C.UTF-8 + cp -r $NIX_BUILD_TOP/${pkgsBuildBuild.glibc}/lib/locale $out/lib + popd + '' + ) + + '' + + test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache + + if test -n "$linuxHeaders"; then + # Include the Linux kernel headers in Glibc, except the `scsi' + # subdirectory, which Glibc provides itself. + (cd $dev/include && \ + ln -sv $(ls -d $linuxHeaders/include/* | grep -v scsi\$) .) + fi + + # Fix for NIXOS-54 (ldd not working on x86_64). Make a symlink + # "lib64" to "lib". + if test -n "$is64bit"; then + ln -s lib $out/lib64 + fi + + # Get rid of more unnecessary stuff. + rm -rf $out/var $bin/bin/sln + + # Backwards-compatibility to fix e.g. + # "configure: error: Pthreads are required to build libgomp" during `gcc`-build + # because it's not actually needed anymore to link against `pthreads` since + # it's now part of `libc.so.6` itself, but the gcc build breaks if + # this doesn't work. + ln -sf $out/lib/libpthread.so.0 $out/lib/libpthread.so + ln -sf $out/lib/librt.so.1 $out/lib/librt.so + ln -sf $out/lib/libdl.so.2 $out/lib/libdl.so + test -f $out/lib/libutil.so.1 && ln -sf $out/lib/libutil.so.1 $out/lib/libutil.so + touch $out/lib/libpthread.a + + # Put libraries for static linking in a separate output. Note + # that libc_nonshared.a and libpthread_nonshared.a are required + # for dynamically-linked applications. + mkdir -p $static/lib + mv $out/lib/*.a $static/lib + mv $static/lib/lib*_nonshared.a $out/lib + # If libutil.so.1 is missing, libutil.a is required. + test -f $out/lib/libutil.so.1 || mv $static/lib/libutil.a $out/lib + # Some of *.a files are linker scripts where moving broke the paths. + sed "/^GROUP/s|$out/lib/lib|$static/lib/lib|g" \ + -i "$static"/lib/*.a + + # Work around a Nix bug: hard links across outputs cause a build failure. + cp $bin/bin/getconf $bin/bin/getconf_ + mv $bin/bin/getconf_ $bin/bin/getconf + ''; separateDebugInfo = true; passthru = - (previousAttrs.passthru or {}) + (previousAttrs.passthru or { }) // lib.optionalAttrs (libgcc != null) { inherit libgcc; }; - meta = (previousAttrs.meta or {}) // { description = "GNU C Library"; }; -}) - + meta = (previousAttrs.meta or { }) // { + description = "GNU C Library"; + }; + }) diff --git a/pkgs/development/libraries/glibc/info.nix b/pkgs/development/libraries/glibc/info.nix index d643d8a6ba09f..380ee25907a20 100644 --- a/pkgs/development/libraries/glibc/info.nix +++ b/pkgs/development/libraries/glibc/info.nix @@ -1,13 +1,20 @@ -{ callPackage, texinfo, perl }: +{ + callPackage, + texinfo, + perl, +}: -callPackage ./common.nix {} { +callPackage ./common.nix { } { pname = "glibc-info"; outputs = [ "out" ]; configureFlags = [ "--enable-add-ons" ]; - extraNativeBuildInputs = [ texinfo perl ]; + extraNativeBuildInputs = [ + texinfo + perl + ]; makeFlags = [ "info" ]; diff --git a/pkgs/development/libraries/glibc/multi.nix b/pkgs/development/libraries/glibc/multi.nix index 5cd48958ec2ca..002c5aa35fb37 100644 --- a/pkgs/development/libraries/glibc/multi.nix +++ b/pkgs/development/libraries/glibc/multi.nix @@ -1,5 +1,8 @@ -{ lib -, runCommand, glibc, glibc32 +{ + lib, + runCommand, + glibc, + glibc32, }: let @@ -9,9 +12,13 @@ in runCommand "${nameVersion.name}-multi-${nameVersion.version}" # out as the first output is an exception exclusive to glibc { - outputs = [ "out" "bin" "dev" ]; # TODO: no static version here (yet) + outputs = [ + "out" + "bin" + "dev" + ]; # TODO: no static version here (yet) passthru = { - libgcc = lib.lists.filter (x: x!=null) [ + libgcc = lib.lists.filter (x: x != null) [ (glibc64.libgcc or null) (glibc32.libgcc or null) ]; diff --git a/pkgs/development/libraries/glibmm/2.68.nix b/pkgs/development/libraries/glibmm/2.68.nix index 0427280fcc428..cb7054fe3398d 100644 --- a/pkgs/development/libraries/glibmm/2.68.nix +++ b/pkgs/development/libraries/glibmm/2.68.nix @@ -1,21 +1,25 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gnum4 -, glib -, libsigcxx30 -, gnome -, Cocoa -, meson -, ninja +{ + lib, + stdenv, + fetchurl, + pkg-config, + gnum4, + glib, + libsigcxx30, + gnome, + Cocoa, + meson, + ninja, }: stdenv.mkDerivation rec { pname = "glibmm"; version = "2.82.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix index 668f60ec10ec3..732c3d77c4e25 100644 --- a/pkgs/development/libraries/glibmm/default.nix +++ b/pkgs/development/libraries/glibmm/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, gnum4, glib, libsigcxx, gnome, darwin, meson, ninja }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gnum4, + glib, + libsigcxx, + gnome, + darwin, + meson, + ninja, +}: stdenv.mkDerivation rec { pname = "glibmm"; @@ -9,7 +21,10 @@ stdenv.mkDerivation rec { hash = "sha256-/gLB5fWCWUDYK1a27DGhLAbAXBWDz+Yvk00HY+HlQrM="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson @@ -19,10 +34,16 @@ stdenv.mkDerivation rec { glib # for glib-compile-schemas ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Cocoa - ]); - propagatedBuildInputs = [ glib libsigcxx ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Cocoa + ] + ); + propagatedBuildInputs = [ + glib + libsigcxx + ]; doCheck = false; # fails. one test needs the net, another /etc/fstab @@ -41,7 +62,7 @@ stdenv.mkDerivation rec { license = licenses.lgpl2Plus; - maintainers = with maintainers; [raskin]; + maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/gmime/2.nix b/pkgs/development/libraries/gmime/2.nix index e004437a77644..313a2a8f1c518 100644 --- a/pkgs/development/libraries/gmime/2.nix +++ b/pkgs/development/libraries/gmime/2.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, zlib, gnupg, libgpg-error, gobject-introspection }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + zlib, + gnupg, + libgpg-error, + gobject-introspection, +}: stdenv.mkDerivation rec { version = "2.6.23"; @@ -9,13 +19,25 @@ stdenv.mkDerivation rec { sha256 = "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config gobject-introspection ]; - propagatedBuildInputs = [ glib zlib libgpg-error ]; - configureFlags = [ - "--enable-introspection=yes" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "ac_cv_have_iconv_detect_h=yes" ]; + nativeBuildInputs = [ + pkg-config + gobject-introspection + ]; + propagatedBuildInputs = [ + glib + zlib + libgpg-error + ]; + configureFlags = + [ + "--enable-introspection=yes" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "ac_cv_have_iconv_detect_h=yes" ]; postPatch = '' substituteInPlace tests/testsuite.c \ @@ -27,7 +49,9 @@ stdenv.mkDerivation rec { ''; preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - cp ${if stdenv.hostPlatform.isMusl then ./musl-iconv-detect.h else ./iconv-detect.h} ./iconv-detect.h + cp ${ + if stdenv.hostPlatform.isMusl then ./musl-iconv-detect.h else ./iconv-detect.h + } ./iconv-detect.h ''; nativeCheckInputs = [ gnupg ]; diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix index 2700dad0db09b..00dbd620e3f22 100644 --- a/pkgs/development/libraries/gmp/4.3.2.nix +++ b/pkgs/development/libraries/gmp/4.3.2.nix @@ -1,78 +1,95 @@ -{ lib, stdenv, fetchurl, m4, cxx ? true }: +{ + lib, + stdenv, + fetchurl, + m4, + cxx ? true, +}: -let self = stdenv.mkDerivation rec { - pname = "gmp"; - version = "4.3.2"; +let + self = stdenv.mkDerivation rec { + pname = "gmp"; + version = "4.3.2"; - src = fetchurl { - url = "mirror://gnu/gmp/gmp-${version}.tar.bz2"; - sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck"; - }; + src = fetchurl { + url = "mirror://gnu/gmp/gmp-${version}.tar.bz2"; + sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck"; + }; - #outputs TODO: split $cxx due to libstdc++ dependency - # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added - # - see #5855 for related discussion - outputs = [ "out" "dev" "info" ]; - passthru.static = self.out; + #outputs TODO: split $cxx due to libstdc++ dependency + # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added + # - see #5855 for related discussion + outputs = [ + "out" + "dev" + "info" + ]; + passthru.static = self.out; - nativeBuildInputs = [ m4 ]; + nativeBuildInputs = [ m4 ]; - # Prevent the build system from using sub-architecture-specific - # instructions (e.g., SSE2 on i686). - # - # This is not a problem for Apple machines, which are all alike. In - # addition, `configfsf.guess' would return `i386-apple-darwin10.2.0' on - # `x86_64-darwin', leading to a 32-bit ABI build, which is undesirable. - preConfigure = - if !stdenv.hostPlatform.isDarwin - then "ln -sf configfsf.guess config.guess" - else ''echo "Darwin host is `./config.guess`."''; + # Prevent the build system from using sub-architecture-specific + # instructions (e.g., SSE2 on i686). + # + # This is not a problem for Apple machines, which are all alike. In + # addition, `configfsf.guess' would return `i386-apple-darwin10.2.0' on + # `x86_64-darwin', leading to a 32-bit ABI build, which is undesirable. + preConfigure = + if !stdenv.hostPlatform.isDarwin then + "ln -sf configfsf.guess config.guess" + else + ''echo "Darwin host is `./config.guess`."''; - configureFlags = [ - (lib.enableFeature cxx "cxx") - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "ac_cv_build=x86_64-apple-darwin13.4.0" - "ac_cv_host=x86_64-apple-darwin13.4.0" - ]; + configureFlags = + [ + (lib.enableFeature cxx "cxx") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "ac_cv_build=x86_64-apple-darwin13.4.0" + "ac_cv_host=x86_64-apple-darwin13.4.0" + ]; - # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8. - # Newer versions of GMP don't have that issue anymore. - doCheck = false; + # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8. + # Newer versions of GMP don't have that issue anymore. + doCheck = false; - meta = { - branch = "4"; - description = "GNU multiple precision arithmetic library"; + meta = { + branch = "4"; + description = "GNU multiple precision arithmetic library"; - longDescription = '' - GMP is a free library for arbitrary precision arithmetic, operating - on signed integers, rational numbers, and floating point numbers. - There is no practical limit to the precision except the ones implied - by the available memory in the machine GMP runs on. GMP has a rich - set of functions, and the functions have a regular interface. + longDescription = '' + GMP is a free library for arbitrary precision arithmetic, operating + on signed integers, rational numbers, and floating point numbers. + There is no practical limit to the precision except the ones implied + by the available memory in the machine GMP runs on. GMP has a rich + set of functions, and the functions have a regular interface. - The main target applications for GMP are cryptography applications - and research, Internet security applications, algebra systems, - computational algebra research, etc. + The main target applications for GMP are cryptography applications + and research, Internet security applications, algebra systems, + computational algebra research, etc. - GMP is carefully designed to be as fast as possible, both for small - operands and for huge operands. The speed is achieved by using - fullwords as the basic arithmetic type, by using fast algorithms, - with highly optimised assembly code for the most common inner loops - for a lot of CPUs, and by a general emphasis on speed. + GMP is carefully designed to be as fast as possible, both for small + operands and for huge operands. The speed is achieved by using + fullwords as the basic arithmetic type, by using fast algorithms, + with highly optimised assembly code for the most common inner loops + for a lot of CPUs, and by a general emphasis on speed. - GMP is faster than any other bignum library. The advantage for GMP - increases with the operand sizes for many operations, since GMP uses - asymptotically faster algorithms. + GMP is faster than any other bignum library. The advantage for GMP + increases with the operand sizes for many operations, since GMP uses + asymptotically faster algorithms. ''; - homepage = "https://gmplib.org/"; - license = lib.licenses.lgpl3Plus; + homepage = "https://gmplib.org/"; + license = lib.licenses.lgpl3Plus; - maintainers = [ ]; - platforms = lib.platforms.all; - badPlatforms = [ "x86_64-darwin" ]; - # never built on aarch64-darwin, aarch64-linux since first introduction in nixpkgs - broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); + maintainers = [ ]; + platforms = lib.platforms.all; + badPlatforms = [ "x86_64-darwin" ]; + # never built on aarch64-darwin, aarch64-linux since first introduction in nixpkgs + broken = + (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); + }; }; -}; - in self +in +self diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index 458c7928c00e1..2e3fdc5320592 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -1,7 +1,11 @@ -{ lib, stdenv, fetchurl, m4 -, cxx ? !stdenv.hostPlatform.useAndroidPrebuilt && !stdenv.hostPlatform.isWasm -, buildPackages -, withStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchurl, + m4, + cxx ? !stdenv.hostPlatform.useAndroidPrebuilt && !stdenv.hostPlatform.isWasm, + buildPackages, + withStatic ? stdenv.hostPlatform.isStatic, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -9,85 +13,99 @@ # cgit) that are needed here should be included directly in Nixpkgs as # files. -let inherit (lib) optional; in - -let self = stdenv.mkDerivation rec { - pname = "gmp${lib.optionalString cxx "-with-cxx"}"; - version = "6.3.0"; - - src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv - urls = [ "mirror://gnu/gmp/gmp-${version}.tar.bz2" "ftp://ftp.gmplib.org/pub/gmp-${version}/gmp-${version}.tar.bz2" ]; - hash = "sha256-rCghGnz7YJuuLiyNYFjWbI/pZDT3QM9v4uR7AA0cIMs="; - }; - - #outputs TODO: split $cxx due to libstdc++ dependency - # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added - # - see #5855 for related discussion - outputs = [ "out" "dev" "info" ]; - passthru.static = self.out; - - strictDeps = true; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ m4 ]; - - configureFlags = [ - "--with-pic" - (lib.enableFeature cxx "cxx") - # Build a "fat binary", with routines for several sub-architectures - # (x86), except on Solaris where some tests crash with "Memory fault". - # See , for instance. - # - # no darwin because gmp uses ASM that clang doesn't like - (lib.enableFeature (!stdenv.hostPlatform.isSunOS && stdenv.hostPlatform.isx86) "fat") - # The config.guess in GMP tries to runtime-detect various - # ARM optimization flags via /proc/cpuinfo (and is also - # broken on multicore CPUs). Avoid this impurity. - "--build=${stdenv.buildPlatform.config}" - ] ++ optional (cxx && stdenv.hostPlatform.isDarwin) "CPPFLAGS=-fexceptions" - ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.is64bit) "ABI=64" - # to build a .dll on windows, we need --disable-static + --enable-shared - # see https://gmplib.org/manual/Notes-for-Particular-Systems.html - ++ optional (!withStatic && stdenv.hostPlatform.isWindows) "--disable-static --enable-shared" - ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "--disable-assembly"; - - doCheck = true; # not cross; - - dontDisableStatic = withStatic; - - enableParallelBuilding = true; - - meta = with lib; { - homepage = "https://gmplib.org/"; - description = "GNU multiple precision arithmetic library"; - license = with licenses; [ - lgpl3Only - gpl2Only +let + inherit (lib) optional; +in + +let + self = stdenv.mkDerivation rec { + pname = "gmp${lib.optionalString cxx "-with-cxx"}"; + version = "6.3.0"; + + src = fetchurl { + # we need to use bz2, others aren't in bootstrapping stdenv + urls = [ + "mirror://gnu/gmp/gmp-${version}.tar.bz2" + "ftp://ftp.gmplib.org/pub/gmp-${version}/gmp-${version}.tar.bz2" + ]; + hash = "sha256-rCghGnz7YJuuLiyNYFjWbI/pZDT3QM9v4uR7AA0cIMs="; + }; + + #outputs TODO: split $cxx due to libstdc++ dependency + # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added + # - see #5855 for related discussion + outputs = [ + "out" + "dev" + "info" ]; - - longDescription = '' - GMP is a free library for arbitrary precision arithmetic, operating - on signed integers, rational numbers, and floating point numbers. - There is no practical limit to the precision except the ones implied - by the available memory in the machine GMP runs on. GMP has a rich - set of functions, and the functions have a regular interface. - - The main target applications for GMP are cryptography applications - and research, Internet security applications, algebra systems, - computational algebra research, etc. - - GMP is carefully designed to be as fast as possible, both for small - operands and for huge operands. The speed is achieved by using - fullwords as the basic arithmetic type, by using fast algorithms, - with highly optimised assembly code for the most common inner loops - for a lot of CPUs, and by a general emphasis on speed. - - GMP is faster than any other bignum library. The advantage for GMP - increases with the operand sizes for many operations, since GMP uses - asymptotically faster algorithms. - ''; - - platforms = platforms.all; - maintainers = [ ]; + passthru.static = self.out; + + strictDeps = true; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ m4 ]; + + configureFlags = + [ + "--with-pic" + (lib.enableFeature cxx "cxx") + # Build a "fat binary", with routines for several sub-architectures + # (x86), except on Solaris where some tests crash with "Memory fault". + # See , for instance. + # + # no darwin because gmp uses ASM that clang doesn't like + (lib.enableFeature (!stdenv.hostPlatform.isSunOS && stdenv.hostPlatform.isx86) "fat") + # The config.guess in GMP tries to runtime-detect various + # ARM optimization flags via /proc/cpuinfo (and is also + # broken on multicore CPUs). Avoid this impurity. + "--build=${stdenv.buildPlatform.config}" + ] + ++ optional (cxx && stdenv.hostPlatform.isDarwin) "CPPFLAGS=-fexceptions" + ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.is64bit) "ABI=64" + # to build a .dll on windows, we need --disable-static + --enable-shared + # see https://gmplib.org/manual/Notes-for-Particular-Systems.html + ++ optional (!withStatic && stdenv.hostPlatform.isWindows) "--disable-static --enable-shared" + ++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "--disable-assembly"; + + doCheck = true; # not cross; + + dontDisableStatic = withStatic; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://gmplib.org/"; + description = "GNU multiple precision arithmetic library"; + license = with licenses; [ + lgpl3Only + gpl2Only + ]; + + longDescription = '' + GMP is a free library for arbitrary precision arithmetic, operating + on signed integers, rational numbers, and floating point numbers. + There is no practical limit to the precision except the ones implied + by the available memory in the machine GMP runs on. GMP has a rich + set of functions, and the functions have a regular interface. + + The main target applications for GMP are cryptography applications + and research, Internet security applications, algebra systems, + computational algebra research, etc. + + GMP is carefully designed to be as fast as possible, both for small + operands and for huge operands. The speed is achieved by using + fullwords as the basic arithmetic type, by using fast algorithms, + with highly optimised assembly code for the most common inner loops + for a lot of CPUs, and by a general emphasis on speed. + + GMP is faster than any other bignum library. The advantage for GMP + increases with the operand sizes for many operations, since GMP uses + asymptotically faster algorithms. + ''; + + platforms = platforms.all; + maintainers = [ ]; + }; }; -}; - in self +in +self diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 925db88c9d011..24732a588525f 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -1,27 +1,28 @@ -{ stdenv -, lib -, fetchurl -, glib -, flex -, bison -, meson -, ninja -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_45 -, pkg-config -, libffi -, python3 -, cctools -, cairo -, gnome -, substituteAll -, buildPackages -, gobject-introspection-unwrapped -, nixStoreDir ? builtins.storeDir -, x11Support ? true -, testers -, propagateFullGlib ? true +{ + stdenv, + lib, + fetchurl, + glib, + flex, + bison, + meson, + ninja, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_45, + pkg-config, + libffi, + python3, + cctools, + cairo, + gnome, + substituteAll, + buildPackages, + gobject-introspection-unwrapped, + nixStoreDir ? builtins.storeDir, + x11Support ? true, + testers, + propagateFullGlib ? true, }: # now that gobject-introspection creates large .gir files (eg gtk3 case) @@ -44,7 +45,12 @@ stdenv.mkDerivation (finalAttrs: { # outputs TODO: share/gobject-introspection-1.0/tests is needed during build # by pygobject3 (and maybe others), but it's only searched in $out - outputs = [ "out" "dev" "devdoc" "man" ]; + outputs = [ + "out" + "dev" + "devdoc" + "man" + ]; outputBin = "dev"; src = fetchurl { @@ -52,39 +58,43 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-D1pMGQhCS/JrxB6TYRaMNjaFCA+9uHoZbIkchAHKLwk="; }; - patches = [ - # Make g-ir-scanner put absolute path to GIR files it generates - # so that programs can just dlopen them without having to muck - # with LD_LIBRARY_PATH environment variable. - (substituteAll { - src = ./absolute_shlib_path.patch; - inherit nixStoreDir; - }) - ] ++ lib.optionals x11Support [ - # Hardcode the cairo shared library path in the Cairo gir shipped with this package. - # https://github.com/NixOS/nixpkgs/issues/34080 - (substituteAll { - src = ./absolute_gir_path.patch; - cairoLib = "${lib.getLib cairo}/lib"; - }) - ]; + patches = + [ + # Make g-ir-scanner put absolute path to GIR files it generates + # so that programs can just dlopen them without having to muck + # with LD_LIBRARY_PATH environment variable. + (substituteAll { + src = ./absolute_shlib_path.patch; + inherit nixStoreDir; + }) + ] + ++ lib.optionals x11Support [ + # Hardcode the cairo shared library path in the Cairo gir shipped with this package. + # https://github.com/NixOS/nixpkgs/issues/34080 + (substituteAll { + src = ./absolute_gir_path.patch; + cairoLib = "${lib.getLib cairo}/lib"; + }) + ]; strictDeps = true; - nativeBuildInputs = [ - meson - ninja - pkg-config - flex - bison - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_45 - # Build definition checks for the Python modules needed at runtime by importing them. - (buildPackages.python3.withPackages pythonModules) - finalAttrs.setupHook # move .gir files - # can't use canExecute, we need prebuilt when cross - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ gobject-introspection-unwrapped ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + flex + bison + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_45 + # Build definition checks for the Python modules needed at runtime by importing them. + (buildPackages.python3.withPackages pythonModules) + finalAttrs.setupHook # move .gir files + # can't use canExecute, we need prebuilt when cross + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ gobject-introspection-unwrapped ]; buildInputs = [ (python3.withPackages pythonModules) @@ -99,23 +109,28 @@ stdenv.mkDerivation (finalAttrs: { (if propagateFullGlib then glib else glib') ]; - mesonFlags = [ - "--datadir=${placeholder "dev"}/share" - "-Dcairo=disabled" - "-Dgtk_doc=${lib.boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "-Dgi_cross_ldd_wrapper=${substituteAll { - name = "g-ir-scanner-lddwrapper"; - isExecutable = true; - src = ./wrappers/g-ir-scanner-lddwrapper.sh; - inherit (buildPackages) bash; - buildlddtree = "${buildPackages.pax-utils}/bin/lddtree"; - }}" - "-Dgi_cross_binary_wrapper=${stdenv.hostPlatform.emulator buildPackages}" - # can't use canExecute, we need prebuilt when cross - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-Dgi_cross_use_prebuilt_gi=true" - ]; + mesonFlags = + [ + "--datadir=${placeholder "dev"}/share" + "-Dcairo=disabled" + "-Dgtk_doc=${lib.boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}" + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "-Dgi_cross_ldd_wrapper=${ + substituteAll { + name = "g-ir-scanner-lddwrapper"; + isExecutable = true; + src = ./wrappers/g-ir-scanner-lddwrapper.sh; + inherit (buildPackages) bash; + buildlddtree = "${buildPackages.pax-utils}/bin/lddtree"; + } + }" + "-Dgi_cross_binary_wrapper=${stdenv.hostPlatform.emulator buildPackages}" + # can't use canExecute, we need prebuilt when cross + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "-Dgi_cross_use_prebuilt_gi=true" + ]; doCheck = !stdenv.hostPlatform.isAarch64; @@ -159,11 +174,19 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Middleware layer between C libraries and language bindings"; homepage = "https://gi.readthedocs.io/"; - maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 artturin ]); + maintainers = + teams.gnome.members + ++ (with maintainers; [ + lovek323 + artturin + ]); pkgConfigModules = [ "gobject-introspection-1.0" ]; platforms = platforms.unix; badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ]; - license = with licenses; [ gpl2 lgpl2 ]; + license = with licenses; [ + gpl2 + lgpl2 + ]; longDescription = '' GObject introspection is a middleware layer between C libraries (using diff --git a/pkgs/development/libraries/gobject-introspection/wrapper.nix b/pkgs/development/libraries/gobject-introspection/wrapper.nix index 5d6547a2b67d9..a89963ea2f432 100644 --- a/pkgs/development/libraries/gobject-introspection/wrapper.nix +++ b/pkgs/development/libraries/gobject-introspection/wrapper.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, buildPackages -, targetPackages -, gobject-introspection-unwrapped -, ... +{ + lib, + stdenv, + buildPackages, + targetPackages, + gobject-introspection-unwrapped, + ... }@_args: # to build, run @@ -15,94 +16,101 @@ let # ensure that `.override` works - args = builtins.removeAttrs _args [ "buildPackages" "targetPackages" "gobject-introspection-unwrapped" ]; + args = builtins.removeAttrs _args [ + "buildPackages" + "targetPackages" + "gobject-introspection-unwrapped" + ]; # passing this stdenv to `targetPackages...` breaks due to splicing not working in `.override`` argsForTarget = builtins.removeAttrs args [ "stdenv" ]; overriddenUnwrappedGir = gobject-introspection-unwrapped.override args; # if we have targetPackages.gobject-introspection then propagate that overridenTargetUnwrappedGir = - if targetPackages ? gobject-introspection-unwrapped - then targetPackages.gobject-introspection-unwrapped.override argsForTarget - else overriddenUnwrappedGir; + if targetPackages ? gobject-introspection-unwrapped then + targetPackages.gobject-introspection-unwrapped.override argsForTarget + else + overriddenUnwrappedGir; in # wrap both pkgsCrossX.buildPackages.gobject-introspection and {pkgs,pkgsSomethingExecutableOnBuildSystem).buildPackages.gobject-introspection -if (!stdenv.hostPlatform.canExecute stdenv.targetPlatform) && stdenv.targetPlatform.emulatorAvailable buildPackages +if + (!stdenv.hostPlatform.canExecute stdenv.targetPlatform) + && stdenv.targetPlatform.emulatorAvailable buildPackages then - overriddenUnwrappedGir.overrideAttrs - (previousAttrs: - { + overriddenUnwrappedGir.overrideAttrs (previousAttrs: { - pname = "gobject-introspection-wrapped"; - passthru = previousAttrs.passthru // { - unwrapped = overriddenUnwrappedGir; - }; - dontStrip = true; - depsTargetTargetPropagated = [ overridenTargetUnwrappedGir ]; - buildCommand = '' - eval fixupPhase - ${lib.concatMapStrings (output: '' - mkdir -p ${"$" + "${output}"} - ${lib.getExe buildPackages.xorg.lndir} ${overriddenUnwrappedGir.${output}} ${"$" + "${output}"} - '') overriddenUnwrappedGir.outputs} - - cp $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped - cp $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped - - ( - rm "$dev/bin/g-ir-compiler" - rm "$dev/bin/g-ir-scanner" - export bash="${buildPackages.bash}" - export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)} - export emulatorwrapper="$dev/bin/g-ir-scanner-qemuwrapper" - export buildlddtree="${buildPackages.pax-utils}/bin/lddtree" - - export targetgir="${lib.getDev overridenTargetUnwrappedGir}" - - substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler" - substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner" - substituteAll "${./wrappers/g-ir-scanner-lddwrapper.sh}" "$dev/bin/g-ir-scanner-lddwrapper" - substituteAll "${./wrappers/g-ir-scanner-qemuwrapper.sh}" "$dev/bin/g-ir-scanner-qemuwrapper" - chmod +x $dev/bin/g-ir-compiler - chmod +x $dev/bin/g-ir-scanner* - ) - '' - # when cross-compiling and using the wrapper then when a package looks up the g_ir_X - # variable with pkg-config they'll get the host version which can't be run - # override the variable to use the absolute path to g_ir_X in PATH which can be run - + '' - cat >> $dev/nix-support/setup-hook <<-'EOF' - override-pkg-config-gir-variables() { - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_SCANNER="$(type -p g-ir-scanner)" - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_COMPILER="$(type -p g-ir-compiler)" - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_GENERATE="$(type -p g-ir-generate)" - export PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_SCANNER - export PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_COMPILER - export PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_GENERATE - } - - preConfigureHooks+=(override-pkg-config-gir-variables) - EOF - ''; - }) -else - overriddenUnwrappedGir.overrideAttrs (previousAttrs: - { - pname = "gobject-introspection-wrapped"; - passthru = previousAttrs.passthru // { - unwrapped = overriddenUnwrappedGir; - }; - dontStrip = true; - # Conditional is for `pkgsCross.x86_64-freebsd.pkgsBuildHost.gobject-introspection` `error: Don't know how to run x86_64-unknown-freebsd executables.` - # `pkgsCross.x86_64-freebsd.buildPackages.python3.withPackages (pp: [ pp.pygobject3 ])` - # Using the python module does not need this propagation - depsTargetTargetPropagated = lib.optionals (stdenv.targetPlatform.emulatorAvailable buildPackages) [ overridenTargetUnwrappedGir ]; - buildCommand = '' + pname = "gobject-introspection-wrapped"; + passthru = previousAttrs.passthru // { + unwrapped = overriddenUnwrappedGir; + }; + dontStrip = true; + depsTargetTargetPropagated = [ overridenTargetUnwrappedGir ]; + buildCommand = + '' eval fixupPhase ${lib.concatMapStrings (output: '' mkdir -p ${"$" + "${output}"} ${lib.getExe buildPackages.xorg.lndir} ${overriddenUnwrappedGir.${output}} ${"$" + "${output}"} '') overriddenUnwrappedGir.outputs} + + cp $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped + cp $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped + + ( + rm "$dev/bin/g-ir-compiler" + rm "$dev/bin/g-ir-scanner" + export bash="${buildPackages.bash}" + export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)} + export emulatorwrapper="$dev/bin/g-ir-scanner-qemuwrapper" + export buildlddtree="${buildPackages.pax-utils}/bin/lddtree" + + export targetgir="${lib.getDev overridenTargetUnwrappedGir}" + + substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler" + substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner" + substituteAll "${./wrappers/g-ir-scanner-lddwrapper.sh}" "$dev/bin/g-ir-scanner-lddwrapper" + substituteAll "${./wrappers/g-ir-scanner-qemuwrapper.sh}" "$dev/bin/g-ir-scanner-qemuwrapper" + chmod +x $dev/bin/g-ir-compiler + chmod +x $dev/bin/g-ir-scanner* + ) + '' + # when cross-compiling and using the wrapper then when a package looks up the g_ir_X + # variable with pkg-config they'll get the host version which can't be run + # override the variable to use the absolute path to g_ir_X in PATH which can be run + + '' + cat >> $dev/nix-support/setup-hook <<-'EOF' + override-pkg-config-gir-variables() { + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_SCANNER="$(type -p g-ir-scanner)" + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_COMPILER="$(type -p g-ir-compiler)" + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_GENERATE="$(type -p g-ir-generate)" + export PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_SCANNER + export PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_COMPILER + export PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_G_IR_GENERATE + } + + preConfigureHooks+=(override-pkg-config-gir-variables) + EOF ''; - }) + }) +else + overriddenUnwrappedGir.overrideAttrs (previousAttrs: { + pname = "gobject-introspection-wrapped"; + passthru = previousAttrs.passthru // { + unwrapped = overriddenUnwrappedGir; + }; + dontStrip = true; + # Conditional is for `pkgsCross.x86_64-freebsd.pkgsBuildHost.gobject-introspection` `error: Don't know how to run x86_64-unknown-freebsd executables.` + # `pkgsCross.x86_64-freebsd.buildPackages.python3.withPackages (pp: [ pp.pygobject3 ])` + # Using the python module does not need this propagation + depsTargetTargetPropagated = lib.optionals (stdenv.targetPlatform.emulatorAvailable buildPackages) [ + overridenTargetUnwrappedGir + ]; + buildCommand = '' + eval fixupPhase + ${lib.concatMapStrings (output: '' + mkdir -p ${"$" + "${output}"} + ${lib.getExe buildPackages.xorg.lndir} ${overriddenUnwrappedGir.${output}} ${"$" + "${output}"} + '') overriddenUnwrappedGir.outputs} + ''; + }) diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix index 2066b1b72ec56..9d0007b1ff288 100644 --- a/pkgs/development/libraries/goocanvas/2.x.nix +++ b/pkgs/development/libraries/goocanvas/2.x.nix @@ -1,18 +1,45 @@ -{ lib, stdenv, fetchurl, pkg-config, gettext, gtk-doc, gobject-introspection, python3, gtk3, cairo, glib, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gtk-doc, + gobject-introspection, + python3, + gtk3, + cairo, + glib, + gnome, +}: stdenv.mkDerivation rec { pname = "goocanvas"; version = "2.0.4"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/goocanvas/2.0/${pname}-${version}.tar.xz"; sha256 = "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67"; }; - nativeBuildInputs = [ pkg-config gettext gtk-doc python3 gobject-introspection ]; - buildInputs = [ gtk3 cairo glib ]; + nativeBuildInputs = [ + pkg-config + gettext + gtk-doc + python3 + gobject-introspection + ]; + buildInputs = [ + gtk3 + cairo + glib + ]; configureFlags = [ "--disable-python" diff --git a/pkgs/development/libraries/goocanvas/3.x.nix b/pkgs/development/libraries/goocanvas/3.x.nix index 4058412d83055..d1f6aaee52a84 100644 --- a/pkgs/development/libraries/goocanvas/3.x.nix +++ b/pkgs/development/libraries/goocanvas/3.x.nix @@ -1,22 +1,27 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gettext -, gobject-introspection -, gtk-doc -, python3 -, cairo -, gtk3 -, glib -, gnome +{ + lib, + stdenv, + fetchurl, + pkg-config, + gettext, + gobject-introspection, + gtk-doc, + python3, + cairo, + gtk3, + glib, + gnome, }: stdenv.mkDerivation rec { pname = "goocanvas"; version = "3.0.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/goocanvas/${lib.versions.majorMinor version}/goocanvas-${version}.tar.xz"; diff --git a/pkgs/development/libraries/goocanvas/default.nix b/pkgs/development/libraries/goocanvas/default.nix index 47ff343ffb630..6e4655a872e31 100644 --- a/pkgs/development/libraries/goocanvas/default.nix +++ b/pkgs/development/libraries/goocanvas/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, gtk2, cairo, glib, pkg-config, gnome }: +{ + lib, + stdenv, + fetchurl, + gtk2, + cairo, + glib, + pkg-config, + gnome, +}: stdenv.mkDerivation rec { pname = "goocanvas"; @@ -10,7 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 cairo glib ]; + buildInputs = [ + gtk2 + cairo + glib + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix index b115e1c8d7b60..f5db48e14988a 100644 --- a/pkgs/development/libraries/grantlee/5/default.nix +++ b/pkgs/development/libraries/grantlee/5/default.nix @@ -1,4 +1,11 @@ -{ mkDerivation, lib, fetchFromGitHub, qtbase, qtscript, cmake }: +{ + mkDerivation, + lib, + fetchFromGitHub, + qtbase, + qtscript, + cmake, +}: mkDerivation rec { pname = "grantlee"; @@ -12,7 +19,10 @@ mkDerivation rec { sha256 = "sha256-enP7b6A7Ndew2LJH569fN3IgPu2/KL5rCmU/jmKb9sY="; }; - buildInputs = [ qtbase qtscript ]; + buildInputs = [ + qtbase + qtscript + ]; nativeBuildInputs = [ cmake ]; patches = [ @@ -20,7 +30,10 @@ mkDerivation rec { ./grantlee-no-canonicalize-filepath.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postFixup = # Disabuse CMake of the notion that libraries are in $dev '' diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix index 2d1a87ab0b3ef..982023d53f3d8 100644 --- a/pkgs/development/libraries/grantlee/default.nix +++ b/pkgs/development/libraries/grantlee/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, qtbase, cmake, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchFromGitHub, + qtbase, + cmake, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "grantlee"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { hash = "sha256-enP7b6A7Ndew2LJH569fN3IgPu2/KL5rCmU/jmKb9sY="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ qtbase ]; meta = { diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix index 803ab5e96dc5d..119932528cef0 100644 --- a/pkgs/development/libraries/gsettings-qt/default.nix +++ b/pkgs/development/libraries/gsettings-qt/default.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config -, qmake, qtbase, qtdeclarative, wrapQtAppsHook -, glib, gobject-introspection -, gitUpdater +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + qmake, + qtbase, + qtdeclarative, + wrapQtAppsHook, + glib, + gobject-introspection, + gitUpdater, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/gsignond/default.nix b/pkgs/development/libraries/gsignond/default.nix index 6c1ee550f797d..f3f992ea8dac0 100644 --- a/pkgs/development/libraries/gsignond/default.nix +++ b/pkgs/development/libraries/gsignond/default.nix @@ -1,68 +1,93 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, glib, glib-networking -, sqlite, gobject-introspection, vala, gtk-doc, libsecret, docbook_xsl -, docbook_xml_dtd_43, docbook_xml_dtd_45, glibcLocales, makeWrapper -, symlinkJoin, gsignondPlugins, plugins }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + glib, + glib-networking, + sqlite, + gobject-introspection, + vala, + gtk-doc, + libsecret, + docbook_xsl, + docbook_xml_dtd_43, + docbook_xml_dtd_45, + glibcLocales, + makeWrapper, + symlinkJoin, + gsignondPlugins, + plugins, +}: let -unwrapped = stdenv.mkDerivation rec { - pname = "gsignond"; - version = "1.2.0"; + unwrapped = stdenv.mkDerivation rec { + pname = "gsignond"; + version = "1.2.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; - src = fetchFromGitLab { - owner = "accounts-sso"; - repo = pname; - rev = version; - sha256 = "17cpil3lpijgyj2z5c41vhb7fpk17038k5ggyw9p6049jrlf423m"; - }; + src = fetchFromGitLab { + owner = "accounts-sso"; + repo = pname; + rev = version; + sha256 = "17cpil3lpijgyj2z5c41vhb7fpk17038k5ggyw9p6049jrlf423m"; + }; - nativeBuildInputs = [ - docbook_xml_dtd_43 - docbook_xml_dtd_45 - docbook_xsl - glibcLocales - gobject-introspection - gtk-doc - meson - ninja - pkg-config - vala - ]; + nativeBuildInputs = [ + docbook_xml_dtd_43 + docbook_xml_dtd_45 + docbook_xsl + glibcLocales + gobject-introspection + gtk-doc + meson + ninja + pkg-config + vala + ]; - buildInputs = [ - glib - glib-networking - libsecret - ]; + buildInputs = [ + glib + glib-networking + libsecret + ]; - propagatedBuildInputs = [ sqlite ]; + propagatedBuildInputs = [ sqlite ]; - mesonFlags = [ - "-Dbus_type=session" - "-Dextension=desktop" - ]; + mesonFlags = [ + "-Dbus_type=session" + "-Dextension=desktop" + ]; - LC_ALL = "en_US.UTF-8"; + LC_ALL = "en_US.UTF-8"; - patches = [ - ./conf.patch - ./plugin-load-env.patch - ]; + patches = [ + ./conf.patch + ./plugin-load-env.patch + ]; - meta = with lib; { - description = "D-Bus service which performs user authentication on behalf of its clients"; - mainProgram = "gsignond"; - homepage = "https://gitlab.com/accounts-sso/gsignond"; - license = licenses.lgpl21Plus; - maintainers = [ ]; - platforms = platforms.linux; + meta = with lib; { + description = "D-Bus service which performs user authentication on behalf of its clients"; + mainProgram = "gsignond"; + homepage = "https://gitlab.com/accounts-sso/gsignond"; + license = licenses.lgpl21Plus; + maintainers = [ ]; + platforms = platforms.linux; + }; }; -}; - -in if plugins == [] then unwrapped - else import ./wrapper.nix { - inherit makeWrapper symlinkJoin plugins; - gsignond = unwrapped; - } +in +if plugins == [ ] then + unwrapped +else + import ./wrapper.nix { + inherit makeWrapper symlinkJoin plugins; + gsignond = unwrapped; + } diff --git a/pkgs/development/libraries/gsignond/plugins/lastfm.nix b/pkgs/development/libraries/gsignond/plugins/lastfm.nix index 8ba7c0483dc6d..9f55e89e32b64 100644 --- a/pkgs/development/libraries/gsignond/plugins/lastfm.nix +++ b/pkgs/development/libraries/gsignond/plugins/lastfm.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, vala, glib, gsignond, json-glib, libsoup_2_4, gobject-introspection }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + vala, + glib, + gsignond, + json-glib, + libsoup_2_4, + gobject-introspection, +}: stdenv.mkDerivation { pname = "gsignond-plugin-lastfm"; diff --git a/pkgs/development/libraries/gsignond/plugins/mail.nix b/pkgs/development/libraries/gsignond/plugins/mail.nix index d9012a3aa7981..610f3e100de2f 100644 --- a/pkgs/development/libraries/gsignond/plugins/mail.nix +++ b/pkgs/development/libraries/gsignond/plugins/mail.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, vala, glib, gsignond, gobject-introspection }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + vala, + glib, + gsignond, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "gsignond-plugin-mail"; diff --git a/pkgs/development/libraries/gsignond/plugins/oauth.nix b/pkgs/development/libraries/gsignond/plugins/oauth.nix index 0261c39a8740b..a26ce6caa1c6b 100644 --- a/pkgs/development/libraries/gsignond/plugins/oauth.nix +++ b/pkgs/development/libraries/gsignond/plugins/oauth.nix @@ -1,6 +1,23 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, glib, gsignond, check -, json-glib, libsoup_2_4, gnutls, gtk-doc, docbook_xml_dtd_43, docbook_xml_dtd_45 -, docbook_xsl, glibcLocales, gobject-introspection }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + glib, + gsignond, + check, + json-glib, + libsoup_2_4, + gnutls, + gtk-doc, + docbook_xml_dtd_43, + docbook_xml_dtd_45, + docbook_xsl, + glibcLocales, + gobject-introspection, +}: stdenv.mkDerivation { pname = "gsignond-plugin-oauth"; diff --git a/pkgs/development/libraries/gsignond/plugins/sasl.nix b/pkgs/development/libraries/gsignond/plugins/sasl.nix index 3154f92b596f6..5a89d996743ab 100644 --- a/pkgs/development/libraries/gsignond/plugins/sasl.nix +++ b/pkgs/development/libraries/gsignond/plugins/sasl.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, glib, gsignond, gsasl, check -, gtk-doc, docbook_xml_dtd_43, docbook_xml_dtd_45, docbook_xsl, glibcLocales, gobject-introspection }: +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + meson, + ninja, + glib, + gsignond, + gsasl, + check, + gtk-doc, + docbook_xml_dtd_43, + docbook_xml_dtd_45, + docbook_xsl, + glibcLocales, + gobject-introspection, +}: stdenv.mkDerivation { pname = "gsignond-plugin-sasl"; diff --git a/pkgs/development/libraries/gsignond/wrapper.nix b/pkgs/development/libraries/gsignond/wrapper.nix index 9b31a2213ceb1..ab7f6b9817df6 100644 --- a/pkgs/development/libraries/gsignond/wrapper.nix +++ b/pkgs/development/libraries/gsignond/wrapper.nix @@ -1,4 +1,9 @@ -{ makeWrapper, symlinkJoin, gsignond, plugins }: +{ + makeWrapper, + symlinkJoin, + gsignond, + plugins, +}: symlinkJoin { name = "gsignond-with-plugins-${gsignond.version}"; diff --git a/pkgs/development/libraries/gsmlib/default.nix b/pkgs/development/libraries/gsmlib/default.nix index 5b3672650f197..673ede3f9d571 100644 --- a/pkgs/development/libraries/gsmlib/default.nix +++ b/pkgs/development/libraries/gsmlib/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "gsmlib"; version = "unstable-2017-10-06"; diff --git a/pkgs/development/libraries/gssdp/1.6.nix b/pkgs/development/libraries/gssdp/1.6.nix index d52c90b41b916..54eb043b65ed9 100644 --- a/pkgs/development/libraries/gssdp/1.6.nix +++ b/pkgs/development/libraries/gssdp/1.6.nix @@ -1,25 +1,30 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, pandoc -, gi-docgen -, python3 -, libsoup_3 -, glib -, gnome -, gssdp-tools +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + pandoc, + gi-docgen, + python3, + libsoup_3, + glib, + gnome, + gssdp-tools, }: stdenv.mkDerivation rec { pname = "gssdp"; version = "1.6.3"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix index d3ecb89139474..ff30e8748643a 100644 --- a/pkgs/development/libraries/gssdp/default.nix +++ b/pkgs/development/libraries/gssdp/default.nix @@ -1,28 +1,33 @@ -{ stdenv -, lib -, fetchpatch2 -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gi-docgen -, python3 -, libsoup_2_4 -, glib -, gnome -, gssdp-tools -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages +{ + stdenv, + lib, + fetchpatch2, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gi-docgen, + python3, + libsoup_2_4, + glib, + gnome, + gssdp-tools, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, }: stdenv.mkDerivation rec { pname = "gssdp"; version = "1.4.1"; - outputs = [ "out" "dev" ] - ++ lib.optionals withIntrospection [ "devdoc" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals withIntrospection [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -43,17 +48,19 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - glib - python3 - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala - gi-docgen - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + glib + python3 + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + vala + gi-docgen + ]; buildInputs = [ libsoup_2_4 diff --git a/pkgs/development/libraries/gssdp/tools.nix b/pkgs/development/libraries/gssdp/tools.nix index 1d5d25e6ef4ff..7708bb6991a27 100644 --- a/pkgs/development/libraries/gssdp/tools.nix +++ b/pkgs/development/libraries/gssdp/tools.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, substituteAll -, meson -, ninja -, pkg-config -, wrapGAppsHook4 -, gssdp_1_6 -, gtk4 -, libsoup_3 +{ + stdenv, + lib, + substituteAll, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + gssdp_1_6, + gtk4, + libsoup_3, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index cee836e86ac92..20331b598bc7f 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, callPackage -, AVFoundation -, AudioToolbox -, Cocoa -, CoreFoundation -, CoreMedia -, CoreServices -, CoreVideo -, DiskArbitration -, Foundation -, IOKit -, MediaToolbox -, OpenGL -, Security -, SystemConfiguration -, VideoToolbox -, xpc -, ipu6ep-camera-hal -, ipu6epmtl-camera-hal +{ + stdenv, + callPackage, + AVFoundation, + AudioToolbox, + Cocoa, + CoreFoundation, + CoreMedia, + CoreServices, + CoreVideo, + DiskArbitration, + Foundation, + IOKit, + MediaToolbox, + OpenGL, + Security, + SystemConfiguration, + VideoToolbox, + xpc, + ipu6ep-camera-hal, + ipu6epmtl-camera-hal, }: { @@ -31,7 +32,18 @@ gst-plugins-good = callPackage ./good { inherit Cocoa; }; - gst-plugins-bad = callPackage ./bad { inherit AudioToolbox AVFoundation Cocoa CoreMedia CoreVideo Foundation MediaToolbox VideoToolbox; }; + gst-plugins-bad = callPackage ./bad { + inherit + AudioToolbox + AVFoundation + Cocoa + CoreMedia + CoreVideo + Foundation + MediaToolbox + VideoToolbox + ; + }; gst-plugins-ugly = callPackage ./ugly { inherit CoreFoundation DiskArbitration IOKit; }; diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix index 40186664284ee..462a75392cca0 100644 --- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix +++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, file -, glibmm -, gst_all_1 -, gnome +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + file, + glibmm, + gst_all_1, + gnome, }: stdenv.mkDerivation rec { @@ -26,7 +27,10 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix index 4bbb20c6e41a4..d92d5b1a903d1 100644 --- a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix +++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, gst_all_1 -, ipu6-camera-hal -, libdrm -, libva +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gst_all_1, + ipu6-camera-hal, + libdrm, + libva, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/gstreamer/rs/default.nix b/pkgs/development/libraries/gstreamer/rs/default.nix index 187d1a0486979..2721cf46dddf6 100644 --- a/pkgs/development/libraries/gstreamer/rs/default.nix +++ b/pkgs/development/libraries/gstreamer/rs/default.nix @@ -1,39 +1,40 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchFromGitHub -, fetchpatch -, rustPlatform -, meson -, ninja -, python3 -, pkg-config -, rustc -, cargo -, cargo-c -, lld -, nasm -, gstreamer -, gst-plugins-base -, gst-plugins-bad -, gtk4 -, cairo -, csound -, dav1d -, libsodium -, libwebp -, openssl -, pango -, Security -, SystemConfiguration -, gst-plugins-good -, nix-update-script -# specifies a limited subset of plugins to build (the default `null` means all plugins supported on the stdenv platform) -, plugins ? null -, withGtkPlugins ? true -# Checks meson.is_cross_build(), so even canExecute isn't enough. -, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform && plugins == null -, hotdoc +{ + lib, + stdenv, + fetchFromGitLab, + fetchFromGitHub, + fetchpatch, + rustPlatform, + meson, + ninja, + python3, + pkg-config, + rustc, + cargo, + cargo-c, + lld, + nasm, + gstreamer, + gst-plugins-base, + gst-plugins-bad, + gtk4, + cairo, + csound, + dav1d, + libsodium, + libwebp, + openssl, + pango, + Security, + SystemConfiguration, + gst-plugins-good, + nix-update-script, + # specifies a limited subset of plugins to build (the default `null` means all plugins supported on the stdenv platform) + plugins ? null, + withGtkPlugins ? true, + # Checks meson.is_cross_build(), so even canExecute isn't enough. + enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform && plugins == null, + hotdoc, }: let @@ -64,8 +65,24 @@ let raptorq = [ ]; reqwest = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; rtp = [ ]; - webrtc = [ gst-plugins-bad openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; - webrtchttp = [ gst-plugins-bad openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; + webrtc = + [ + gst-plugins-bad + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; + webrtchttp = + [ + gst-plugins-bad + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; # text textahead = [ ]; @@ -106,30 +123,37 @@ let webp = [ libwebp ]; }; - selectedPlugins = if plugins != null then lib.unique (lib.sort lib.lessThan plugins) else lib.subtractLists ( - [ - "csound" # tests have weird failure on x86, does not currently work on arm or darwin - "livesync" # tests have suspicious intermittent failure, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/357 - ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ - "raptorq" # pointer alignment failure in tests on aarch64 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "reqwest" # tests hang on darwin - "threadshare" # tests cannot bind to localhost on darwin - "webp" # not supported on darwin (upstream crate issue) - ] ++ lib.optionals (!gst-plugins-base.glEnabled || !withGtkPlugins) [ - # these require gstreamer-gl - "gtk4" - "livesync" - "fallbackswitch" - "togglerecord" - ] - ) (lib.attrNames validPlugins); + selectedPlugins = + if plugins != null then + lib.unique (lib.sort lib.lessThan plugins) + else + lib.subtractLists ( + [ + "csound" # tests have weird failure on x86, does not currently work on arm or darwin + "livesync" # tests have suspicious intermittent failure, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/357 + ] + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + "raptorq" # pointer alignment failure in tests on aarch64 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "reqwest" # tests hang on darwin + "threadshare" # tests cannot bind to localhost on darwin + "webp" # not supported on darwin (upstream crate issue) + ] + ++ lib.optionals (!gst-plugins-base.glEnabled || !withGtkPlugins) [ + # these require gstreamer-gl + "gtk4" + "livesync" + "fallbackswitch" + "togglerecord" + ] + ) (lib.attrNames validPlugins); invalidPlugins = lib.subtractLists (lib.attrNames validPlugins) selectedPlugins; # TODO: figure out what must be done about this upstream - related lu-zero/cargo-c#323 lu-zero/cargo-c#138 cargo-c' = (cargo-c.__spliced.buildHost or cargo-c).overrideAttrs (oldAttrs: { - patches = (oldAttrs.patches or []) ++ [ + patches = (oldAttrs.patches or [ ]) ++ [ (fetchpatch { name = "cargo-c-test-rlib-fix.patch"; url = "https://github.com/lu-zero/cargo-c/commit/8421f2da07cd066d2ae8afbb027760f76dc9ee6c.diff"; @@ -139,14 +163,19 @@ let ]; }); in - assert lib.assertMsg (invalidPlugins == []) - "Invalid gst-plugins-rs plugin${lib.optionalString (lib.length invalidPlugins > 1) "s"}: ${lib.concatStringsSep ", " invalidPlugins}"; +assert lib.assertMsg (invalidPlugins == [ ]) + "Invalid gst-plugins-rs plugin${ + lib.optionalString (lib.length invalidPlugins > 1) "s" + }: ${lib.concatStringsSep ", " invalidPlugins}"; stdenv.mkDerivation (finalAttrs: { pname = "gst-plugins-rs"; version = "0.12.8"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -189,22 +218,25 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ - rustPlatform.cargoSetupHook - meson - ninja - python3 - python3.pkgs.tomli - pkg-config - rustc - cargo - cargo-c' - nasm - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - lld - ] ++ lib.optionals enableDocumentation [ - hotdoc - ]; + nativeBuildInputs = + [ + rustPlatform.cargoSetupHook + meson + ninja + python3 + python3.pkgs.tomli + pkg-config + rustc + cargo + cargo-c' + nasm + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + lld + ] + ++ lib.optionals enableDocumentation [ + hotdoc + ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; @@ -218,9 +250,7 @@ stdenv.mkDerivation (finalAttrs: { gst-plugins-bad ]; - mesonFlags = ( - map (plugin: lib.mesonEnable plugin true) selectedPlugins - ) ++ [ + mesonFlags = (map (plugin: lib.mesonEnable plugin true) selectedPlugins) ++ [ (lib.mesonOption "sodium-source" "system") (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) (lib.mesonEnable "doc" enableDocumentation) @@ -232,19 +262,25 @@ stdenv.mkDerivation (finalAttrs: { doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; # csound lib dir must be manually specified for it to build - preConfigure = '' - export CARGO_BUILD_JOBS=$NIX_BUILD_CORES + preConfigure = + '' + export CARGO_BUILD_JOBS=$NIX_BUILD_CORES - patchShebangs dependencies.py - '' + lib.optionalString (lib.elem "csound" selectedPlugins) '' - export CSOUND_LIB_DIR=${lib.getLib csound}/lib - ''; + patchShebangs dependencies.py + '' + + lib.optionalString (lib.elem "csound" selectedPlugins) '' + export CSOUND_LIB_DIR=${lib.getLib csound}/lib + ''; # give meson longer before timing out for tests - mesonCheckFlags = [ "--verbose" "--timeout-multiplier" "12" ]; + mesonCheckFlags = [ + "--verbose" + "--timeout-multiplier" + "12" + ]; - doInstallCheck = (lib.elem "webp" selectedPlugins) && !stdenv.hostPlatform.isStatic && - stdenv.hostPlatform.isElf; + doInstallCheck = + (lib.elem "webp" selectedPlugins) && !stdenv.hostPlatform.isStatic && stdenv.hostPlatform.isElf; installCheckPhase = '' runHook preInstallCheck readelf -a $out/lib/gstreamer-1.0/libgstrswebp.so | grep -F 'Shared library: [libwebpdemux.so' @@ -254,14 +290,22 @@ stdenv.mkDerivation (finalAttrs: { passthru.updateScript = nix-update-script { # use numbered releases rather than gstreamer-* releases # this matches upstream's recommendation: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/470#note_2202772 - extraArgs = [ "--version-regex" "([0-9.]+)" ]; + extraArgs = [ + "--version-regex" + "([0-9.]+)" + ]; }; meta = with lib; { description = "GStreamer plugins written in Rust"; mainProgram = "gst-webrtc-signalling-server"; homepage = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"; - license = with licenses; [ mpl20 asl20 mit lgpl21Plus ]; + license = with licenses; [ + mpl20 + asl20 + mit + lgpl21Plus + ]; platforms = platforms.unix; maintainers = [ ]; }; diff --git a/pkgs/development/libraries/gstreamer/viperfx/default.nix b/pkgs/development/libraries/gstreamer/viperfx/default.nix index 0f8e8914e2e9c..4fe8ad109c088 100644 --- a/pkgs/development/libraries/gstreamer/viperfx/default.nix +++ b/pkgs/development/libraries/gstreamer/viperfx/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, wrapGAppsHook3 -, gst_all_1 -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + wrapGAppsHook3, + gst_all_1, + cmake, }: stdenv.mkDerivation rec { pname = "gst-plugins-viperfx"; @@ -17,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-0so4jV56nl3tZHuZpvtyMrpOZ4tNJ59Pyj6zbV5bJ5Y="; }; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook3 + ]; propagatedBuildInputs = [ gst_all_1.gstreamer diff --git a/pkgs/development/libraries/gtk-mac-integration/default.nix b/pkgs/development/libraries/gtk-mac-integration/default.nix index 7dd08878bce18..383fab6b5f68d 100644 --- a/pkgs/development/libraries/gtk-mac-integration/default.nix +++ b/pkgs/development/libraries/gtk-mac-integration/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, glib, gtk-doc, gtk, gobject-introspection }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + glib, + gtk-doc, + gtk, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "gtk-mac-integration"; @@ -12,7 +22,12 @@ stdenv.mkDerivation rec { sha256 = "0sc0m3p8r5xfh5i4d7dg72kfixx9yi4f800y43bszyr88y52jkga"; }; - nativeBuildInputs = [ autoreconfHook pkg-config gtk-doc gobject-introspection ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + gtk-doc + gobject-introspection + ]; buildInputs = [ glib ]; propagatedBuildInputs = [ gtk ]; diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix index 1331fcff0e656..120b39ced22a2 100644 --- a/pkgs/development/libraries/gtk-sharp/2.0.nix +++ b/pkgs/development/libraries/gtk-sharp/2.0.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, pkg-config -, mono -, glib -, pango -, gtk2 -, libxml2 -, monoDLLFixer -, autoconf -, automake -, libtool -, which -, fetchpatch +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + mono, + glib, + pango, + gtk2, + libxml2, + monoDLLFixer, + autoconf, + automake, + libtool, + which, + fetchpatch, }: stdenv.mkDerivation rec { @@ -43,10 +44,19 @@ stdenv.mkDerivation rec { popd ''; - nativeBuildInputs = [ pkg-config autoconf automake libtool which ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + libtool + which + ]; buildInputs = [ - mono glib pango gtk2 + mono + glib + pango + gtk2 libxml2 ]; @@ -54,9 +64,11 @@ stdenv.mkDerivation rec { ./bootstrap-${lib.versions.majorMinor version} ''; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=int-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=int-conversion" + ] + ); dontStrip = true; diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix index 8b594a00a7e56..98ccf2a111dea 100644 --- a/pkgs/development/libraries/gtk-sharp/3.0.nix +++ b/pkgs/development/libraries/gtk-sharp/3.0.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, mono -, glib -, pango -, gtk3 -, libxml2 -, monoDLLFixer +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + mono, + glib, + pango, + gtk3, + libxml2, + monoDLLFixer, }: stdenv.mkDerivation rec { @@ -22,7 +24,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - mono glib pango gtk3 + mono + glib + pango + gtk3 libxml2 ]; diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index 7d11b671b1b7c..9b1a3fc32439f 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -1,33 +1,34 @@ -{ config -, lib -, stdenv -, fetchurl -, fetchpatch -, atk -, buildPackages -, cairo -, cups -, gdk-pixbuf -, gettext -, glib -, gobject-introspection -, libXcomposite -, libXcursor -, libXdamage -, libXi -, libXinerama -, libXrandr -, libXrender -, pango -, perl -, pkg-config -, substituteAll -, testers -, AppKit -, Cocoa -, gdktarget ? if stdenv.hostPlatform.isDarwin then "quartz" else "x11" -, cupsSupport ? config.gtk2.cups or stdenv.hostPlatform.isLinux -, xineramaSupport ? stdenv.hostPlatform.isLinux +{ + config, + lib, + stdenv, + fetchurl, + fetchpatch, + atk, + buildPackages, + cairo, + cups, + gdk-pixbuf, + gettext, + glib, + gobject-introspection, + libXcomposite, + libXcursor, + libXdamage, + libXi, + libXinerama, + libXrandr, + libXrender, + pango, + perl, + pkg-config, + substituteAll, + testers, + AppKit, + Cocoa, + gdktarget ? if stdenv.hostPlatform.isDarwin then "quartz" else "x11", + cupsSupport ? config.gtk2.cups or stdenv.hostPlatform.isLinux, + xineramaSupport ? stdenv.hostPlatform.isLinux, }: let @@ -46,10 +47,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-rCrHV/WULTGKMRpUsMgLXvKV8pnCpzxjL2v7H/Scxto="; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; - setupHooks = [ + setupHooks = [ ./hooks/drop-icon-theme-cache.sh gtkCleanImmodulesCache ]; @@ -61,60 +66,66 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - patches = [ - ./patches/2.0-immodules.cache.patch - ./patches/gtk2-theme-paths.patch - (fetchpatch { - # https://gitlab.gnome.org/GNOME/gtk/-/issues/6786 - name = "CVE-2024-6655.patch"; - url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/3bbf0b6176d42836d23c36a6ac410e807ec0a7a7.patch"; - hash = "sha256-mstOPk9NNpUwScrdEbvGhmAv8jlds3SBdj53T0q33vM="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ./patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch - ./patches/2.0-darwin-x11.patch - # Fixes an incompatible function pointer conversion and implicit int errors with clang 16. - ./patches/2.0-clang.patch - ]; + patches = + [ + ./patches/2.0-immodules.cache.patch + ./patches/gtk2-theme-paths.patch + (fetchpatch { + # https://gitlab.gnome.org/GNOME/gtk/-/issues/6786 + name = "CVE-2024-6655.patch"; + url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/3bbf0b6176d42836d23c36a6ac410e807ec0a7a7.patch"; + hash = "sha256-mstOPk9NNpUwScrdEbvGhmAv8jlds3SBdj53T0q33vM="; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch + ./patches/2.0-darwin-x11.patch + # Fixes an incompatible function pointer conversion and implicit int errors with clang 16. + ./patches/2.0-clang.patch + ]; - propagatedBuildInputs = [ - atk - cairo - gdk-pixbuf - glib - pango - ] ++ lib.optionals (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) [ - libXcomposite - libXcursor - libXi - libXrandr - libXrender - ] ++ lib.optional xineramaSupport libXinerama - ++ lib.optional cupsSupport cups - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libXdamage - AppKit - Cocoa - ]; + propagatedBuildInputs = + [ + atk + cairo + gdk-pixbuf + glib + pango + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) [ + libXcomposite + libXcursor + libXi + libXrandr + libXrender + ] + ++ lib.optional xineramaSupport libXinerama + ++ lib.optional cupsSupport cups + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libXdamage + AppKit + Cocoa + ]; - preConfigure = - lib.optionalString (stdenv.hostPlatform.isDarwin - && lib.versionAtLeast - stdenv.hostPlatform.darwinMinVersion "11") - "MACOSX_DEPLOYMENT_TARGET=10.16"; - - configureFlags = [ - "--sysconfdir=/etc" - "--with-gdktarget=${gdktarget}" - "--with-xinput=yes" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--disable-glibtest" - "--disable-introspection" - "--disable-visibility" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "ac_cv_path_GTK_UPDATE_ICON_CACHE=${buildPackages.gtk2}/bin/gtk-update-icon-cache" - "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" - ]; + preConfigure = lib.optionalString ( + stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" + ) "MACOSX_DEPLOYMENT_TARGET=10.16"; + + configureFlags = + [ + "--sysconfdir=/etc" + "--with-gdktarget=${gdktarget}" + "--with-xinput=yes" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--disable-glibtest" + "--disable-introspection" + "--disable-visibility" + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "ac_cv_path_GTK_UPDATE_ICON_CACHE=${buildPackages.gtk2}/bin/gtk-update-icon-cache" + "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" + ]; env = lib.optionalAttrs stdenv.cc.isGNU { NIX_CFLAGS_COMPILE = toString [ @@ -159,14 +170,19 @@ stdenv.mkDerivation (finalAttrs: { ''; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${finalAttrs.version}/NEWS"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ lovek323 raskin ]; - platforms = lib.platforms.all; - pkgConfigModules = [ - "gdk-2.0" - "gtk+-2.0" - ] ++ lib.optionals (gdktarget == "x11") [ - "gdk-x11-2.0" - "gtk+-x11-2.0" + maintainers = with lib.maintainers; [ + lovek323 + raskin ]; + platforms = lib.platforms.all; + pkgConfigModules = + [ + "gdk-2.0" + "gtk+-2.0" + ] + ++ lib.optionals (gdktarget == "x11") [ + "gdk-x11-2.0" + "gtk+-x11-2.0" + ]; }; }) diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix index faba68ede1482..8c06d3818aa10 100644 --- a/pkgs/development/libraries/gtkd/default.nix +++ b/pkgs/development/libraries/gtkd/default.nix @@ -1,9 +1,28 @@ -{ lib, stdenv, fetchzip, atk, cairo, dcompiler, gdk-pixbuf, gst_all_1, librsvg -, glib, gtk3, gtksourceview4, libgda, libpeas, pango, pkg-config, which, vte }: +{ + lib, + stdenv, + fetchzip, + atk, + cairo, + dcompiler, + gdk-pixbuf, + gst_all_1, + librsvg, + glib, + gtk3, + gtksourceview4, + libgda, + libpeas, + pango, + pkg-config, + which, + vte, +}: let inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gtkd"; version = "3.10.0"; @@ -13,10 +32,25 @@ in stdenv.mkDerivation rec { stripRoot = false; }; - nativeBuildInputs = [ dcompiler pkg-config which ]; + nativeBuildInputs = [ + dcompiler + pkg-config + which + ]; propagatedBuildInputs = [ - atk cairo gdk-pixbuf glib gstreamer gst-plugins-base gtk3 gtksourceview4 - libgda libpeas librsvg pango vte + atk + cairo + gdk-pixbuf + glib + gstreamer + gst-plugins-base + gtk3 + gtksourceview4 + libgda + libpeas + librsvg + pango + vte ]; postPatch = '' @@ -105,7 +139,7 @@ in stdenv.mkDerivation rec { --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib ''; - makeFlags = [ + makeFlags = [ "prefix=${placeholder "out"}" "PKG_CONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config" ]; diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix index 284ee83c2d4f4..02da63e967926 100644 --- a/pkgs/development/libraries/gtkmm/2.x.nix +++ b/pkgs/development/libraries/gtkmm/2.x.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, glibmm, cairomm, pangomm, atkmm }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + glibmm, + cairomm, + pangomm, + atkmm, +}: stdenv.mkDerivation rec { pname = "gtkmm"; @@ -9,11 +19,20 @@ stdenv.mkDerivation rec { sha256 = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ glibmm gtk2 atkmm cairomm pangomm ]; + propagatedBuildInputs = [ + glibmm + gtk2 + atkmm + cairomm + pangomm + ]; doCheck = true; diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index c09f05b437723..b3dcf101f559e 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -1,4 +1,21 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, gtk3, glibmm, cairomm, pangomm, atkmm, libepoxy, gnome, glib, gdk-pixbuf }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + python3, + gtk3, + glibmm, + cairomm, + pangomm, + atkmm, + libepoxy, + gnome, + glib, + gdk-pixbuf, +}: stdenv.mkDerivation rec { pname = "gtkmm"; @@ -9,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "MNW/5ARXHOVmqOk4yLrBdXZCDrUI8eJXg32mPxStRM4="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config @@ -21,7 +41,13 @@ stdenv.mkDerivation rec { ]; buildInputs = [ libepoxy ]; - propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ]; + propagatedBuildInputs = [ + glibmm + gtk3 + atkmm + cairomm + pangomm + ]; # https://bugzilla.gnome.org/show_bug.cgi?id=764521 doCheck = false; diff --git a/pkgs/development/libraries/gtkmm/4.x.nix b/pkgs/development/libraries/gtkmm/4.x.nix index c1b0be342f805..75a54e47625db 100644 --- a/pkgs/development/libraries/gtkmm/4.x.nix +++ b/pkgs/development/libraries/gtkmm/4.x.nix @@ -1,26 +1,30 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, python3 -, gtk4 -, glib -, glibmm_2_68 -, cairomm_1_16 -, pangomm_2_48 -, libepoxy -, gnome -, makeFontsConf -, xvfb-run +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + python3, + gtk4, + glib, + glibmm_2_68, + cairomm_1_16, + pangomm_2_48, + libepoxy, + gnome, + makeFontsConf, + xvfb-run, }: stdenv.mkDerivation rec { pname = "gtkmm"; version = "4.16.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -46,7 +50,7 @@ stdenv.mkDerivation rec { pangomm_2_48 ]; - nativeCheckInputs = lib.optionals (!stdenv.hostPlatform.isDarwin)[ + nativeCheckInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ xvfb-run ]; diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix index 9defccd8de650..e3f4c1793f795 100644 --- a/pkgs/development/libraries/gtksourceview/3.x.nix +++ b/pkgs/development/libraries/gtksourceview/3.x.nix @@ -1,18 +1,37 @@ -{ lib, stdenv, fetchurl, pkg-config, atk, cairo, glib, gtk3, pango, vala -, libxml2, perl, intltool, gettext, gobject-introspection, dbus, xvfb-run, shared-mime-info -, testers +{ + lib, + stdenv, + fetchurl, + pkg-config, + atk, + cairo, + glib, + gtk3, + pango, + vala, + libxml2, + perl, + intltool, + gettext, + gobject-introspection, + dbus, + xvfb-run, + shared-mime-info, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "3.24.11"; - src = let - inherit (finalAttrs) pname version; - in fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1zbpj283b5ycz767hqz5kdq02wzsga65pp4fykvhg8xj6x50f6v9"; - }; + src = + let + inherit (finalAttrs) pname version; + in + fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1zbpj283b5ycz767hqz5kdq02wzsga65pp4fykvhg8xj6x50f6v9"; + }; propagatedBuildInputs = [ # Required by gtksourceview-3.0.pc @@ -21,13 +40,32 @@ stdenv.mkDerivation (finalAttrs: { shared-mime-info ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config intltool perl gobject-introspection vala ]; + nativeBuildInputs = [ + pkg-config + intltool + perl + gobject-introspection + vala + ]; - nativeCheckInputs = [ xvfb-run dbus ]; + nativeCheckInputs = [ + xvfb-run + dbus + ]; - buildInputs = [ atk cairo glib pango libxml2 gettext ]; + buildInputs = [ + atk + cairo + glib + pango + libxml2 + gettext + ]; preBuild = '' substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share" diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix index 1b427957c811a..e29f0ccdf0c85 100644 --- a/pkgs/development/libraries/gtksourceview/4.x.nix +++ b/pkgs/development/libraries/gtksourceview/4.x.nix @@ -1,40 +1,46 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch2 -, meson -, ninja -, pkg-config -, atk -, cairo -, glib -, gtk3 -, pango -, fribidi -, vala -, libxml2 -, perl -, gettext -, gnome -, gobject-introspection -, dbus -, xvfb-run -, shared-mime-info -, testers +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + meson, + ninja, + pkg-config, + atk, + cairo, + glib, + gtk3, + pango, + fribidi, + vala, + libxml2, + perl, + gettext, + gnome, + gobject-introspection, + dbus, + xvfb-run, + shared-mime-info, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "4.8.4"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - src = let - inherit (finalAttrs) pname version; - in fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "fsnRj7KD0fhKOj7/O3pysJoQycAGWXs/uru1lYQgqH0="; - }; + src = + let + inherit (finalAttrs) pname version; + in + fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "fsnRj7KD0fhKOj7/O3pysJoQycAGWXs/uru1lYQgqH0="; + }; patches = [ # By default, the library loads syntaxes from XDG_DATA_DIRS and user directory diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix index d83c019379e45..8c1b6b46aa7bd 100644 --- a/pkgs/development/libraries/gtksourceview/5.x.nix +++ b/pkgs/development/libraries/gtksourceview/5.x.nix @@ -1,32 +1,37 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, glib -, pcre2 -, gtk4 -, pango -, fribidi -, vala -, gi-docgen -, libxml2 -, perl -, gettext -, gnome -, gobject-introspection -, dbus -, xvfb-run -, shared-mime-info -, testers +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + glib, + pcre2, + gtk4, + pango, + fribidi, + vala, + gi-docgen, + libxml2, + perl, + gettext, + gnome, + gobject-introspection, + dbus, + xvfb-run, + shared-mime-info, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "gtksourceview"; version = "5.14.2"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/gtksourceview/${lib.versions.majorMinor finalAttrs.version}/gtksourceview-${finalAttrs.version}.tar.xz"; @@ -41,7 +46,9 @@ stdenv.mkDerivation (finalAttrs: { ]; # The 10.12 SDK used by x86_64-darwin requires defining `_POSIX_C_SOURCE` to use `strnlen`. - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) "-D_POSIX_C_SOURCE=200809L"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 + ) "-D_POSIX_C_SOURCE=200809L"; nativeBuildInputs = [ meson diff --git a/pkgs/development/libraries/gtksourceviewmm/4.x.nix b/pkgs/development/libraries/gtksourceviewmm/4.x.nix index d6e7dfd3db56e..021dde6d02a5b 100644 --- a/pkgs/development/libraries/gtksourceviewmm/4.x.nix +++ b/pkgs/development/libraries/gtksourceviewmm/4.x.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, gtkmm3, glibmm, gtksourceview4, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtkmm3, + glibmm, + gtksourceview4, + gnome, +}: stdenv.mkDerivation rec { pname = "gtksourceviewmm"; @@ -18,7 +27,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ glibmm gtkmm3 gtksourceview4 ]; + propagatedBuildInputs = [ + glibmm + gtkmm3 + gtksourceview4 + ]; meta = with lib; { platforms = platforms.linux; @@ -28,4 +41,3 @@ stdenv.mkDerivation rec { maintainers = teams.gnome.members; }; } - diff --git a/pkgs/development/libraries/gtksourceviewmm/default.nix b/pkgs/development/libraries/gtksourceviewmm/default.nix index ec13965129291..975ac5bf685f5 100644 --- a/pkgs/development/libraries/gtksourceviewmm/default.nix +++ b/pkgs/development/libraries/gtksourceviewmm/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, gtkmm3, glibmm, gtksourceview3, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtkmm3, + glibmm, + gtksourceview3, + gnome, +}: stdenv.mkDerivation rec { pname = "gtksourceviewmm"; @@ -18,7 +27,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glibmm gtkmm3 gtksourceview3 ]; + buildInputs = [ + glibmm + gtkmm3 + gtksourceview3 + ]; meta = with lib; { platforms = platforms.unix; @@ -28,4 +41,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.juliendehos ]; }; } - diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix index 7e75108b1a3ec..2c9fcafad2015 100644 --- a/pkgs/development/libraries/gtkspell/3.nix +++ b/pkgs/development/libraries/gtkspell/3.nix @@ -1,18 +1,43 @@ -{lib, stdenv, fetchurl, gtk3, aspell, pkg-config, enchant, isocodes, intltool, gobject-introspection, vala}: +{ + lib, + stdenv, + fetchurl, + gtk3, + aspell, + pkg-config, + enchant, + isocodes, + intltool, + gobject-introspection, + vala, +}: stdenv.mkDerivation rec { pname = "gtkspell"; version = "3.0.10"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.xz"; sha256 = "0cjp6xdcnzh6kka42w9g0w2ihqjlq8yl8hjm9wsfnixk6qwgch5h"; }; - nativeBuildInputs = [ pkg-config intltool gobject-introspection vala ]; - buildInputs = [ aspell gtk3 enchant isocodes ]; + nativeBuildInputs = [ + pkg-config + intltool + gobject-introspection + vala + ]; + buildInputs = [ + aspell + gtk3 + enchant + isocodes + ]; propagatedBuildInputs = [ enchant ]; configureFlags = [ diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix index eb8b1363c32b7..b663839ac53c1 100644 --- a/pkgs/development/libraries/gtkspell/default.nix +++ b/pkgs/development/libraries/gtkspell/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, autoreconfHook -, docbook_xsl -, gtk-doc -, intltool -, pkg-config -, aspell -, enchant -, gtk2 +{ + stdenv, + lib, + fetchurl, + fetchpatch, + autoreconfHook, + docbook_xsl, + gtk-doc, + intltool, + pkg-config, + aspell, + enchant, + gtk2, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/gupnp/1.6.nix b/pkgs/development/libraries/gupnp/1.6.nix index 46714e2e25bd6..9f454b72cca11 100644 --- a/pkgs/development/libraries/gupnp/1.6.nix +++ b/pkgs/development/libraries/gupnp/1.6.nix @@ -1,24 +1,29 @@ -{ stdenv -, lib -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gi-docgen -, glib -, gssdp_1_6 -, libsoup_3 -, libxml2 -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gi-docgen, + glib, + gssdp_1_6, + libsoup_3, + libxml2, + gnome, }: stdenv.mkDerivation rec { pname = "gupnp"; version = "1.6.7"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -53,7 +58,8 @@ stdenv.mkDerivation rec { mesonCheckFlags = [ # The service-proxy test takes 28s on ofborg, which is too close to the time limit. - "--timeout-multiplier" "2" + "--timeout-multiplier" + "2" ]; postFixup = '' diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index 4835047a3edd0..52e09d2c916e8 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -1,30 +1,33 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch2 -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 -, docbook_xml_dtd_45 -, glib -, gssdp -, libsoup_2_4 -, libxml2 -, libuuid -, gnome +{ + stdenv, + lib, + fetchurl, + fetchpatch2, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + docbook_xml_dtd_45, + glib, + gssdp, + libsoup_2_4, + libxml2, + libuuid, + gnome, }: stdenv.mkDerivation rec { pname = "gupnp"; version = "1.4.4"; - outputs = [ "out" "dev" ] - ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/development/libraries/hamlib/default.nix index 2089050552e7e..94292e5fb6476 100644 --- a/pkgs/development/libraries/hamlib/default.nix +++ b/pkgs/development/libraries/hamlib/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchurl -, perl -, swig -, gd -, ncurses -, python311 -, libxml2 -, tcl -, libusb-compat-0_1 -, pkg-config -, boost -, libtool -, pythonBindings ? true -, tclBindings ? true -, perlBindings ? stdenv.buildPlatform == stdenv.hostPlatform -, buildPackages +{ + lib, + stdenv, + fetchurl, + perl, + swig, + gd, + ncurses, + python311, + libxml2, + tcl, + libusb-compat-0_1, + pkg-config, + boost, + libtool, + pythonBindings ? true, + tclBindings ? true, + perlBindings ? stdenv.buildPlatform == stdenv.hostPlatform, + buildPackages, }: let python3 = python311; # needs distutils and imp @@ -31,40 +32,54 @@ stdenv.mkDerivation rec { strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ - swig - pkg-config - libtool - ] ++ lib.optionals pythonBindings [ python3 ] + nativeBuildInputs = + [ + swig + pkg-config + libtool + ] + ++ lib.optionals pythonBindings [ python3 ] ++ lib.optionals tclBindings [ tcl ] ++ lib.optionals perlBindings [ perl ]; - buildInputs = [ - gd - libxml2 - libusb-compat-0_1 - boost - ] ++ lib.optionals pythonBindings [ python3 ncurses ] + buildInputs = + [ + gd + libxml2 + libusb-compat-0_1 + boost + ] + ++ lib.optionals pythonBindings [ + python3 + ncurses + ] ++ lib.optionals tclBindings [ tcl ]; - - configureFlags = [ - "CC_FOR_BUILD=${stdenv.cc.targetPrefix}cc" - ] ++ lib.optionals perlBindings [ "--with-perl-binding" ] - ++ lib.optionals tclBindings [ "--with-tcl-binding" "--with-tcl=${tcl}/lib/" ] + configureFlags = + [ + "CC_FOR_BUILD=${stdenv.cc.targetPrefix}cc" + ] + ++ lib.optionals perlBindings [ "--with-perl-binding" ] + ++ lib.optionals tclBindings [ + "--with-tcl-binding" + "--with-tcl=${tcl}/lib/" + ] ++ lib.optionals pythonBindings [ "--with-python-binding" ]; meta = with lib; { description = "Runtime library to control radio transceivers and receivers"; longDescription = '' - Hamlib provides a standardized programming interface that applications - can use to send the appropriate commands to a radio. + Hamlib provides a standardized programming interface that applications + can use to send the appropriate commands to a radio. - Also included in the package is a simple radio control program 'rigctl', - which lets one control a radio transceiver or receiver, either from - command line interface or in a text-oriented interactive interface. + Also included in the package is a simple radio control program 'rigctl', + which lets one control a radio transceiver or receiver, either from + command line interface or in a text-oriented interactive interface. ''; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; homepage = "https://hamlib.sourceforge.net"; maintainers = with maintainers; [ relrod ]; platforms = with platforms; unix; diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 1ff6d193268e7..d724e06433a4b 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,34 +1,37 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, glib -, freetype -, libintl -, meson -, ninja -, gobject-introspection -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, icu -, graphite2 -, harfbuzz # The icu variant uses and propagates the non-icu one. -, ApplicationServices -, CoreText -, withCoreText ? false -, withIcu ? false # recommended by upstream as default, but most don't needed and it's big -, withGraphite2 ? true # it is small and major distros do include it -, python3 -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -# for passthru.tests -, gimp -, gtk3 -, gtk4 -, mapnik -, qt5 -, testers +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + freetype, + libintl, + meson, + ninja, + gobject-introspection, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + icu, + graphite2, + harfbuzz, # The icu variant uses and propagates the non-icu one. + ApplicationServices, + CoreText, + withCoreText ? false, + withIcu ? false, # recommended by upstream as default, but most don't needed and it's big + withGraphite2 ? true, # it is small and major distros do include it + python3, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_43, + # for passthru.tests + gimp, + gtk3, + gtk4, + mapnik, + qt5, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -40,15 +43,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-sssTvTUZBMuQOPkH3A3uCuBxJwYSQv41VrJ5XE6XSPw="; }; - postPatch = '' - patchShebangs src/*.py test - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # ApplicationServices.framework headers have cast-align warnings. - substituteInPlace src/hb.hh \ - --replace '#pragma GCC diagnostic error "-Wcast-align"' "" - ''; + postPatch = + '' + patchShebangs src/*.py test + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # ApplicationServices.framework headers have cast-align warnings. + substituteInPlace src/hb.hh \ + --replace '#pragma GCC diagnostic error "-Wcast-align"' "" + ''; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; mesonFlags = [ @@ -82,11 +91,22 @@ stdenv.mkDerivation (finalAttrs: { docbook_xml_dtd_43 ] ++ lib.optional withIntrospection gobject-introspection; - buildInputs = [ glib freetype ] - ++ lib.optionals withCoreText [ ApplicationServices CoreText ]; + buildInputs = + [ + glib + freetype + ] + ++ lib.optionals withCoreText [ + ApplicationServices + CoreText + ]; - propagatedBuildInputs = lib.optional withGraphite2 graphite2 - ++ lib.optionals withIcu [ icu harfbuzz ]; + propagatedBuildInputs = + lib.optional withGraphite2 graphite2 + ++ lib.optionals withIcu [ + icu + harfbuzz + ]; doCheck = true; @@ -101,7 +121,12 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru.tests = { - inherit gimp gtk3 gtk4 mapnik; + inherit + gimp + gtk3 + gtk4 + mapnik + ; inherit (qt5) qtbase; pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; diff --git a/pkgs/development/libraries/herqq/default.nix b/pkgs/development/libraries/herqq/default.nix index de446eb9527de..d994c290486d8 100644 --- a/pkgs/development/libraries/herqq/default.nix +++ b/pkgs/development/libraries/herqq/default.nix @@ -1,13 +1,26 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qtmultimedia, qtbase }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtmultimedia, + qtbase, +}: mkDerivation rec { version = "unstable-20-06-26"; pname = "herqq"; nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtmultimedia ]; + buildInputs = [ + qtbase + qtmultimedia + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; sourceRoot = "${src.name}/herqq"; src = fetchFromGitHub { diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix index 6e537e8b74fbd..831f3fec8b90a 100644 --- a/pkgs/development/libraries/hidapi/default.nix +++ b/pkgs/development/libraries/hidapi/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, libusb1 -, udev -, Cocoa -, IOKit -, testers +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + udev, + Cocoa, + IOKit, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -21,13 +22,22 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-p3uzBq5VxxQbVuy1lEHEEQdxXwnhQgJDIyAAWjVWNIg="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libusb1 udev ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libusb1 + udev + ]; enableParallelBuilding = true; - propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa IOKit ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + IOKit + ]; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; @@ -36,13 +46,18 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/libusb/hidapi"; maintainers = with maintainers; [ prusnak ]; # You can choose between GPLv3, BSD or HIDAPI license (even more liberal) - license = with licenses; [ bsd3 /* or */ gpl3Only ] ; - pkgConfigModules = lib.optionals stdenv.hostPlatform.isDarwin [ - "hidapi" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "hidapi-hidraw" - "hidapi-libusb" + license = with licenses; [ + bsd3 # or + gpl3Only ]; + pkgConfigModules = + lib.optionals stdenv.hostPlatform.isDarwin [ + "hidapi" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "hidapi-hidraw" + "hidapi-libusb" + ]; platforms = platforms.unix ++ platforms.windows; }; }) diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix index d31e57b6c2285..79315f1826890 100644 --- a/pkgs/development/libraries/hivex/default.nix +++ b/pkgs/development/libraries/hivex/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper, perlPackages -, ocamlPackages, libxml2, libintl +{ + lib, + stdenv, + fetchurl, + pkg-config, + autoreconfHook, + makeWrapper, + perlPackages, + ocamlPackages, + libxml2, + libintl, }: stdenv.mkDerivation rec { @@ -19,13 +28,26 @@ stdenv.mkDerivation rec { ''; strictDeps = true; - nativeBuildInputs = [ autoreconfHook makeWrapper perlPackages.perl pkg-config ] - ++ (with ocamlPackages; [ ocaml findlib ]); - buildInputs = [ - libxml2 - ] - ++ (with perlPackages; [ perl IOStringy ]) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libintl ]; + nativeBuildInputs = + [ + autoreconfHook + makeWrapper + perlPackages.perl + pkg-config + ] + ++ (with ocamlPackages; [ + ocaml + findlib + ]); + buildInputs = + [ + libxml2 + ] + ++ (with perlPackages; [ + perl + IOStringy + ]) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libintl ]; enableParallelBuilding = true; @@ -42,7 +64,7 @@ stdenv.mkDerivation rec { description = "Windows registry hive extraction library"; license = licenses.lgpl2Only; homepage = "https://github.com/libguestfs/hivex"; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [ offline ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/hpx/default.nix b/pkgs/development/libraries/hpx/default.nix index 843fc1991f279..2e13c016433e8 100644 --- a/pkgs/development/libraries/hpx/default.nix +++ b/pkgs/development/libraries/hpx/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, asio -, boost -, cmake -, hwloc -, gperftools -, pkg-config -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + asio, + boost, + cmake, + hwloc, + gperftools, + pkg-config, + python3, }: stdenv.mkDerivation rec { @@ -22,8 +23,16 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = [ hwloc ]; - buildInputs = [ asio boost gperftools ]; - nativeBuildInputs = [ cmake pkg-config python3 ]; + buildInputs = [ + asio + boost + gperftools + ]; + nativeBuildInputs = [ + cmake + pkg-config + python3 + ]; strictDeps = true; diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix index cead584b83ea1..df8b97149d9c3 100644 --- a/pkgs/development/libraries/hspell/default.nix +++ b/pkgs/development/libraries/hspell/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, zlib, buildPackages }: +{ + lib, + stdenv, + fetchurl, + perl, + zlib, + buildPackages, +}: stdenv.mkDerivation rec { name = "${passthru.pname}-${passthru.version}"; @@ -15,7 +22,7 @@ stdenv.mkDerivation rec { hash = "sha256-cxD11YdA0h1tIVwReWWGAu99qXqBa8FJfIdkvpeqvqM="; }; - patches = [./remove-shared-library-checks.patch]; + patches = [ ./remove-shared-library-checks.patch ]; postPatch = "patchShebangs ."; preBuild = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' make CC=${buildPackages.stdenv.cc}/bin/cc find_sizes @@ -30,7 +37,10 @@ stdenv.mkDerivation rec { postInstall = '' patchShebangs --update $out/bin/multispell ''; - nativeBuildInputs = [ perl zlib ]; + nativeBuildInputs = [ + perl + zlib + ]; buildInputs = [ perl ]; strictDeps = true; diff --git a/pkgs/development/libraries/hspell/dicts.nix b/pkgs/development/libraries/hspell/dicts.nix index 8b629d9b61946..a2a47c5aef1a4 100644 --- a/pkgs/development/libraries/hspell/dicts.nix +++ b/pkgs/development/libraries/hspell/dicts.nix @@ -1,15 +1,33 @@ -{ lib, stdenv, hspell }: +{ + lib, + stdenv, + hspell, +}: let - dict = variant: a: stdenv.mkDerivation ({ - inherit (hspell) version src patches postPatch nativeBuildInputs; - buildFlags = [ variant ]; - - meta = hspell.meta // { - broken = true; - description = "${variant} Hebrew dictionary"; - } // (lib.optionalAttrs (a ? meta) a.meta); - } // (removeAttrs a ["meta"])); + dict = + variant: a: + stdenv.mkDerivation ( + { + inherit (hspell) + version + src + patches + postPatch + nativeBuildInputs + ; + buildFlags = [ variant ]; + + meta = + hspell.meta + // { + broken = true; + description = "${variant} Hebrew dictionary"; + } + // (lib.optionalAttrs (a ? meta) a.meta); + } + // (removeAttrs a [ "meta" ]) + ); in { recurseForDerivations = true; diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix index 4e704a4859132..0644c6b6e984d 100644 --- a/pkgs/development/libraries/hunspell/default.nix +++ b/pkgs/development/libraries/hunspell/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, readline, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + readline, + autoreconfHook, +}: stdenv.mkDerivation rec { version = "1.7.2"; @@ -11,9 +18,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-x2FXxnVIqsf5/UEQcvchAndXBv/3mW8Z55djQAFgNA8="; }; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + ]; - buildInputs = [ ncurses readline ]; + buildInputs = [ + ncurses + readline + ]; nativeBuildInputs = [ autoreconfHook ]; patches = [ @@ -26,7 +41,10 @@ stdenv.mkDerivation rec { autoreconfFlags = [ "-vfi" ]; - configureFlags = [ "--with-ui" "--with-readline" ]; + configureFlags = [ + "--with-ui" + "--with-readline" + ]; hardeningDisable = [ "format" ]; @@ -54,7 +72,11 @@ stdenv.mkDerivation rec { * Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO. ''; platforms = platforms.all; - license = with licenses; [ gpl2 lgpl21 mpl11 ]; + license = with licenses; [ + gpl2 + lgpl21 + mpl11 + ]; maintainers = [ ]; }; } diff --git a/pkgs/development/libraries/hunspell/dictionaries-chromium.nix b/pkgs/development/libraries/hunspell/dictionaries-chromium.nix index e22c8c0a52c51..6e2bac906eeeb 100644 --- a/pkgs/development/libraries/hunspell/dictionaries-chromium.nix +++ b/pkgs/development/libraries/hunspell/dictionaries-chromium.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchgit }: +{ + lib, + stdenv, + fetchgit, +}: let - mkDictFromChromium = { shortName, dictFileName, shortDescription }: + mkDictFromChromium = + { + shortName, + dictFileName, + shortDescription, + }: stdenv.mkDerivation { pname = "hunspell-dict-${shortName}-chromium"; version = "115.0.5790.170"; @@ -35,7 +44,12 @@ let See https://www.chromium.org/developers/how-tos/editing-the-spell-checking-dictionaries/ ''; - license = with lib.licenses; [ gpl2 lgpl21 mpl11 lgpl3 ]; + license = with lib.licenses; [ + gpl2 + lgpl21 + mpl11 + lgpl3 + ]; maintainers = with lib.maintainers; [ networkexception ]; platforms = lib.platforms.all; }; @@ -43,7 +57,7 @@ let in rec { - /* ENGLISH */ + # ENGLISH en_US = en-us; en-us = mkDictFromChromium { @@ -59,7 +73,7 @@ rec { shortDescription = "English (United Kingdom)"; }; - /* GERMAN */ + # GERMAN de_DE = de-de; de-de = mkDictFromChromium { @@ -68,7 +82,7 @@ rec { shortDescription = "German (Germany)"; }; - /* FRENCH */ + # FRENCH fr_FR = fr-fr; fr-fr = mkDictFromChromium { diff --git a/pkgs/development/libraries/hyphen/default.nix b/pkgs/development/libraries/hyphen/default.nix index 85bee97a76d55..daa3f86b2e6de 100644 --- a/pkgs/development/libraries/hyphen/default.nix +++ b/pkgs/development/libraries/hyphen/default.nix @@ -1,19 +1,31 @@ -{ lib, stdenv, fetchurl, perl, ... }: +{ + lib, + stdenv, + fetchurl, + perl, + ... +}: let version = "2.8.8"; - folder = with builtins; - let parts = splitVersion version; - in concatStringsSep "." [ (elemAt parts 0) (elemAt parts 1) ]; -in stdenv.mkDerivation rec { + folder = + with builtins; + let + parts = splitVersion version; + in + concatStringsSep "." [ + (elemAt parts 0) + (elemAt parts 1) + ]; +in +stdenv.mkDerivation rec { pname = "hyphen"; inherit version; nativeBuildInputs = [ perl ]; src = fetchurl { - url = - "https://sourceforge.net/projects/hunspell/files/Hyphen/${folder}/${pname}-${version}.tar.gz"; + url = "https://sourceforge.net/projects/hunspell/files/Hyphen/${folder}/${pname}-${version}.tar.gz"; sha256 = "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"; }; @@ -34,7 +46,11 @@ in stdenv.mkDerivation rec { mainProgram = "substrings.pl"; homepage = "https://sourceforge.net/projects/hunspell/files/Hyphen/"; platforms = platforms.all; - license = with licenses; [ gpl2 lgpl21 mpl11 ]; + license = with licenses; [ + gpl2 + lgpl21 + mpl11 + ]; maintainers = with maintainers; [ Br1ght0ne ]; }; } diff --git a/pkgs/development/libraries/hyphen/dictionaries.nix b/pkgs/development/libraries/hyphen/dictionaries.nix index 49d314095c577..7eabf1f985aac 100644 --- a/pkgs/development/libraries/hyphen/dictionaries.nix +++ b/pkgs/development/libraries/hyphen/dictionaries.nix @@ -1,7 +1,12 @@ -/* hyphen dictionaries */ - -{ hyphen, stdenv, lib, fetchgit, fetchurl }: +# hyphen dictionaries +{ + hyphen, + stdenv, + lib, + fetchgit, + fetchurl, +}: let libreofficeRepository = "https://anongit.freedesktop.org/git/libreoffice/dictionaries.git"; @@ -9,7 +14,13 @@ let libreofficeSubdir = "de"; mkDictFromLibreofficeGit = - { subdir, shortName, shortDescription, dictFileName, readmeFileName }: + { + subdir, + shortName, + shortDescription, + dictFileName, + readmeFileName, + }: stdenv.mkDerivation rec { version = "24.8"; pname = "hyphen-dict-${shortName}-libreoffice"; @@ -41,16 +52,21 @@ let in rec { - /* ENGLISH */ + # ENGLISH en_US = en-us; en-us = stdenv.mkDerivation rec { nativeBuildInputs = hyphen.nativeBuildInputs; version = hyphen.version; pname = "hyphen-dict-en-us"; - src = hyphen.src; + src = hyphen.src; meta = { - inherit (hyphen.meta) homepage platforms license maintainers; + inherit (hyphen.meta) + homepage + platforms + license + maintainers + ; description = "Hyphen dictionary for English (United States)"; }; installPhase = '' @@ -60,7 +76,7 @@ rec { ''; }; - /* GERMAN */ + # GERMAN de_DE = de-de; de-de = mkDictFromLibreofficeGit { diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix index e5fc14bb9cc9d..f2348a4772852 100644 --- a/pkgs/development/libraries/icu/default.nix +++ b/pkgs/development/libraries/icu/default.nix @@ -1,8 +1,25 @@ -{ stdenv, lib, fetchurl, fetchpatch, fixDarwinDylibNames, testers, buildPackages, updateAutotoolsGnuConfigScriptsHook }: +{ + stdenv, + lib, + fetchurl, + fetchpatch, + fixDarwinDylibNames, + testers, + buildPackages, + updateAutotoolsGnuConfigScriptsHook, +}: let make-icu = (import ./make-icu.nix) { - inherit stdenv lib buildPackages fetchurl fixDarwinDylibNames testers updateAutotoolsGnuConfigScriptsHook; + inherit + stdenv + lib + buildPackages + fetchurl + fixDarwinDylibNames + testers + updateAutotoolsGnuConfigScriptsHook + ; }; in { diff --git a/pkgs/development/libraries/icu/make-icu.nix b/pkgs/development/libraries/icu/make-icu.nix index d7fe46041607e..26058b27579e3 100644 --- a/pkgs/development/libraries/icu/make-icu.nix +++ b/pkgs/development/libraries/icu/make-icu.nix @@ -1,6 +1,20 @@ -{ stdenv, lib, buildPackages, fetchurl, fixDarwinDylibNames, testers, updateAutotoolsGnuConfigScriptsHook }: - -{ version, hash, patches ? [], patchFlags ? [], withStatic ? stdenv.hostPlatform.isStatic }: +{ + stdenv, + lib, + buildPackages, + fetchurl, + fixDarwinDylibNames, + testers, + updateAutotoolsGnuConfigScriptsHook, +}: + +{ + version, + hash, + patches ? [ ], + patchFlags ? [ ], + withStatic ? stdenv.hostPlatform.isStatic, +}: let # Cross-compiled icu4c requires a build-root of a native compile @@ -14,7 +28,9 @@ let baseAttrs = { src = fetchurl { - url = "https://github.com/unicode-org/icu/releases/download/release-${release}/icu4c-${lib.replaceStrings [ "." ] [ "_" ] version}-src.tgz"; + url = "https://github.com/unicode-org/icu/releases/download/release-${release}/icu4c-${ + lib.replaceStrings [ "." ] [ "_" ] version + }-src.tgz"; inherit hash; }; @@ -24,27 +40,37 @@ let ''; # https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27 - postPatch = if (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl") && lib.versionOlder version "62.1" - then "substituteInPlace i18n/digitlst.cpp --replace '' ''" - else null; # won't find locale_t on darwin + postPatch = + if + (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl") + && lib.versionOlder version "62.1" + then + "substituteInPlace i18n/digitlst.cpp --replace '' ''" + else + null; # won't find locale_t on darwin inherit patchFlags patches; - preConfigure = '' - sed -i -e "s|/bin/sh|${stdenv.shell}|" configure + preConfigure = + '' + sed -i -e "s|/bin/sh|${stdenv.shell}|" configure - # $(includedir) is different from $(prefix)/include due to multiple outputs - sed -i -e 's|^\(CPPFLAGS = .*\) -I\$(prefix)/include|\1 -I$(includedir)|' config/Makefile.inc.in - '' + lib.optionalString stdenv.hostPlatform.isAarch32 '' - # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch - sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux - ''; + # $(includedir) is different from $(prefix)/include due to multiple outputs + sed -i -e 's|^\(CPPFLAGS = .*\) -I\$(prefix)/include|\1 -I$(includedir)|' config/Makefile.inc.in + '' + + lib.optionalString stdenv.hostPlatform.isAarch32 '' + # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch + sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux + ''; dontDisableStatic = withStatic; - configureFlags = [ "--disable-debug" ] + configureFlags = + [ "--disable-debug" ] ++ lib.optional (stdenv.hostPlatform.isFreeBSD || stdenv.hostPlatform.isDarwin) "--enable-rpath" - ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--with-cross-build=${nativeBuildRoot}" + ++ lib.optional ( + stdenv.buildPlatform != stdenv.hostPlatform + ) "--with-cross-build=${nativeBuildRoot}" ++ lib.optional withStatic "--enable-static"; enableParallelBuilding = true; @@ -65,33 +91,52 @@ let realAttrs = baseAttrs // { inherit pname version; - outputs = [ "out" "dev" ] ++ lib.optional withStatic "static"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withStatic "static"; outputBin = "dev"; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] ++ + nativeBuildInputs = + [ updateAutotoolsGnuConfigScriptsHook ] + ++ # FIXME: This fixes dylib references in the dylibs themselves, but # not in the programs in $out/bin. lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - # remove dependency on bootstrap-tools in early stdenv build - postInstall = lib.optionalString withStatic '' - mkdir -p $static/lib - mv -v lib/*.a $static/lib - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${lib.versions.majorMinor version}/pkgdata.inc - '' + (let - replacements = [ - { from = "\${prefix}/include"; to = "${placeholder "dev"}/include"; } # --cppflags-searchpath - { from = "\${pkglibdir}/Makefile.inc"; to = "${placeholder "dev"}/lib/icu/Makefile.inc"; } # --incfile - { from = "\${pkglibdir}/pkgdata.inc"; to = "${placeholder "dev"}/lib/icu/pkgdata.inc"; } # --incpkgdatafile - ]; - in '' - rm $out/share/icu/${lib.versions.majorMinor version}/install-sh $out/share/icu/${lib.versions.majorMinor version}/mkinstalldirs # Avoid having a runtime dependency on bash - - substituteInPlace "$dev/bin/icu-config" \ - ${lib.concatMapStringsSep " " (r: "--replace '${r.from}' '${r.to}'") replacements} - ''); + postInstall = + lib.optionalString withStatic '' + mkdir -p $static/lib + mv -v lib/*.a $static/lib + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${lib.versions.majorMinor version}/pkgdata.inc + '' + + ( + let + replacements = [ + { + from = "\${prefix}/include"; + to = "${placeholder "dev"}/include"; + } # --cppflags-searchpath + { + from = "\${pkglibdir}/Makefile.inc"; + to = "${placeholder "dev"}/lib/icu/Makefile.inc"; + } # --incfile + { + from = "\${pkglibdir}/pkgdata.inc"; + to = "${placeholder "dev"}/lib/icu/pkgdata.inc"; + } # --incpkgdatafile + ]; + in + '' + rm $out/share/icu/${lib.versions.majorMinor version}/install-sh $out/share/icu/${lib.versions.majorMinor version}/mkinstalldirs # Avoid having a runtime dependency on bash + + substituteInPlace "$dev/bin/icu-config" \ + ${lib.concatMapStringsSep " " (r: "--replace '${r.from}' '${r.to}'") replacements} + '' + ); postFixup = ''moveToOutput lib/icu "$dev" ''; }; @@ -100,11 +145,13 @@ let pname = pname + "-build-root"; inherit version; - preConfigure = baseAttrs.preConfigure + '' - mkdir build - cd build - configureScript=../configure - ''; + preConfigure = + baseAttrs.preConfigure + + '' + mkdir build + cd build + configureScript=../configure + ''; postBuild = '' cd .. @@ -114,9 +161,15 @@ let ''; }; - mkWithAttrs = attrs: stdenv.mkDerivation (finalAttrs: attrs // { - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - passthru.buildRootOnly = mkWithAttrs buildRootOnlyAttrs; - }); + mkWithAttrs = + attrs: + stdenv.mkDerivation ( + finalAttrs: + attrs + // { + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + passthru.buildRootOnly = mkWithAttrs buildRootOnlyAttrs; + } + ); in - mkWithAttrs realAttrs +mkWithAttrs realAttrs diff --git a/pkgs/development/libraries/iksemel/default.nix b/pkgs/development/libraries/iksemel/default.nix index 6ba64dcaa5888..440790d97ec9c 100644 --- a/pkgs/development/libraries/iksemel/default.nix +++ b/pkgs/development/libraries/iksemel/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, autoreconfHook, libtool, pkg-config, gnutls, fetchFromGitHub, texinfo }: +{ + lib, + stdenv, + autoreconfHook, + libtool, + pkg-config, + gnutls, + fetchFromGitHub, + texinfo, +}: stdenv.mkDerivation rec { pname = "iksemel"; @@ -11,7 +20,12 @@ stdenv.mkDerivation rec { sha256 = "1xv302p344hnpxqcgs3z6wwxhrik39ckgfw5cjyrw0dkf316z9yh"; }; - nativeBuildInputs = [ pkg-config autoreconfHook libtool texinfo ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + libtool + texinfo + ]; buildInputs = [ gnutls ]; meta = with lib; { diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix index 16f9976e2df5b..562fdd1dbd57d 100644 --- a/pkgs/development/libraries/imgui/default.nix +++ b/pkgs/development/libraries/imgui/default.nix @@ -15,7 +15,8 @@ vulkan-loader, # NOTE: Not coming from vcpkg - IMGUI_LINK_GLVND ? !stdenv.hostPlatform.isWindows && (IMGUI_BUILD_OPENGL2_BINDING || IMGUI_BUILD_OPENGL3_BINDING), + IMGUI_LINK_GLVND ? + !stdenv.hostPlatform.isWindows && (IMGUI_BUILD_OPENGL2_BINDING || IMGUI_BUILD_OPENGL3_BINDING), # The intent is to mirror vcpkg's flags[^1], # but we only actually support Linux and glfw3 until someone contributes the rest @@ -33,8 +34,7 @@ IMGUI_BUILD_OPENGL3_BINDING ? IMGUI_BUILD_SDL2_BINDING || IMGUI_BUILD_GLFW_BINDING || IMGUI_BUILD_GLUT_BINDING, IMGUI_BUILD_OSX_BINDING ? stdenv.hostPlatform.isDarwin, - IMGUI_BUILD_SDL2_BINDING ? - !IMGUI_BUILD_GLFW_BINDING && !stdenv.hostPlatform.isDarwin, + IMGUI_BUILD_SDL2_BINDING ? !IMGUI_BUILD_GLFW_BINDING && !stdenv.hostPlatform.isDarwin, IMGUI_BUILD_SDL2_RENDERER_BINDING ? IMGUI_BUILD_SDL2_BINDING, IMGUI_BUILD_VULKAN_BINDING ? false, IMGUI_BUILD_WIN32_BINDING ? false, diff --git a/pkgs/development/libraries/indicator-application/gtk2.nix b/pkgs/development/libraries/indicator-application/gtk2.nix index 9fe3575b7bc2a..d0f5b42cce47c 100644 --- a/pkgs/development/libraries/indicator-application/gtk2.nix +++ b/pkgs/development/libraries/indicator-application/gtk2.nix @@ -1,7 +1,18 @@ -{ stdenv, fetchurl, lib, file -, pkg-config, autoconf -, glib, dbus-glib, json-glib -, gtk2, libindicator-gtk2, libdbusmenu-gtk2, libappindicator-gtk2 }: +{ + stdenv, + fetchurl, + lib, + file, + pkg-config, + autoconf, + glib, + dbus-glib, + json-glib, + gtk2, + libindicator-gtk2, + libdbusmenu-gtk2, + libappindicator-gtk2, +}: stdenv.mkDerivation rec { pname = "indicator-application-gtk2"; @@ -12,11 +23,19 @@ stdenv.mkDerivation rec { sha256 = "1xqsb6c1pwawabw854f7aybjrgyhc2r1316i9lyjspci51zk5m7v"; }; - nativeBuildInputs = [ pkg-config autoconf ]; + nativeBuildInputs = [ + pkg-config + autoconf + ]; buildInputs = [ - glib dbus-glib json-glib - gtk2 libindicator-gtk2 libdbusmenu-gtk2 libappindicator-gtk2 + glib + dbus-glib + json-glib + gtk2 + libindicator-gtk2 + libdbusmenu-gtk2 + libappindicator-gtk2 ]; postPatch = '' diff --git a/pkgs/development/libraries/indicator-application/gtk3.nix b/pkgs/development/libraries/indicator-application/gtk3.nix index 8947e33e9001a..d61baaacb77b0 100644 --- a/pkgs/development/libraries/indicator-application/gtk3.nix +++ b/pkgs/development/libraries/indicator-application/gtk3.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchbzr -, pkg-config, systemd, autoreconfHook -, glib, dbus-glib, json-glib -, gtk3, libindicator-gtk3, libdbusmenu-gtk3, libappindicator-gtk3 }: +{ + lib, + stdenv, + fetchbzr, + pkg-config, + systemd, + autoreconfHook, + glib, + dbus-glib, + json-glib, + gtk3, + libindicator-gtk3, + libdbusmenu-gtk3, + libappindicator-gtk3, +}: stdenv.mkDerivation rec { pname = "indicator-application"; @@ -15,11 +26,20 @@ stdenv.mkDerivation rec { sha256 = "1f0jdyqqb5g86zdpbcyn16x94yjigsfiv2kf73dvni5rp1vafbq1"; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ - glib dbus-glib json-glib systemd - gtk3 libindicator-gtk3 libdbusmenu-gtk3 libappindicator-gtk3 + glib + dbus-glib + json-glib + systemd + gtk3 + libindicator-gtk3 + libdbusmenu-gtk3 + libappindicator-gtk3 ]; postPatch = '' diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix index 0bbed96ca3af7..71d0e2f5408d0 100644 --- a/pkgs/development/libraries/ipu6-camera-hal/default.nix +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -1,30 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -# build -, cmake -, pkg-config + # build + cmake, + pkg-config, -# runtime -, expat -, ipu6-camera-bins -, libtool -, gst_all_1 -, libdrm + # runtime + expat, + ipu6-camera-bins, + libtool, + gst_all_1, + libdrm, -# Pick one of -# - ipu6 (Tiger Lake) -# - ipu6ep (Alder Lake) -# - ipu6epmtl (Meteor Lake) -, ipuVersion ? "ipu6" + # Pick one of + # - ipu6 (Tiger Lake) + # - ipu6ep (Alder Lake) + # - ipu6epmtl (Meteor Lake) + ipuVersion ? "ipu6", }: let - ipuTarget = { - "ipu6" = "ipu_tgl"; - "ipu6ep" = "ipu_adl"; - "ipu6epmtl" = "ipu_mtl"; - }.${ipuVersion}; + ipuTarget = + { + "ipu6" = "ipu_tgl"; + "ipu6ep" = "ipu_adl"; + "ipu6epmtl" = "ipu_mtl"; + } + .${ipuVersion}; in stdenv.mkDerivation { pname = "${ipuVersion}-camera-hal"; @@ -42,7 +45,6 @@ stdenv.mkDerivation { pkg-config ]; - cmakeFlags = [ "-DIPU_VER=${ipuVersion}" "-DTARGET_SUFFIX=-${ipuVersion}" diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix index 6711622a2eb8b..20250668eba61 100644 --- a/pkgs/development/libraries/irrlicht/default.nix +++ b/pkgs/development/libraries/irrlicht/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchzip, libGLU, libGL, libXrandr, libX11, libXxf86vm, zlib }: +{ + lib, + stdenv, + fetchzip, + libGLU, + libGL, + libXrandr, + libX11, + libXxf86vm, + zlib, +}: let common = import ./common.nix { inherit fetchzip; }; @@ -10,12 +20,14 @@ stdenv.mkDerivation rec { src = common.src; - postPatch = '' - sed -ie '/sys\/sysctl.h/d' source/Irrlicht/COSOperator.cpp - '' + lib.optionalString stdenv.hostPlatform.isAarch64 '' - substituteInPlace source/Irrlicht/Makefile \ - --replace "-DIRRLICHT_EXPORTS=1" "-DIRRLICHT_EXPORTS=1 -DPNG_ARM_NEON_OPT=0" - ''; + postPatch = + '' + sed -ie '/sys\/sysctl.h/d' source/Irrlicht/COSOperator.cpp + '' + + lib.optionalString stdenv.hostPlatform.isAarch64 '' + substituteInPlace source/Irrlicht/Makefile \ + --replace "-DIRRLICHT_EXPORTS=1" "-DIRRLICHT_EXPORTS=1 -DPNG_ARM_NEON_OPT=0" + ''; preConfigure = '' cd source/Irrlicht @@ -33,7 +45,11 @@ stdenv.mkDerivation rec { ''; buildInputs = [ - libGLU libGL libXrandr libX11 libXxf86vm + libGLU + libGL + libXrandr + libX11 + libXxf86vm ] ++ lib.optional stdenv.hostPlatform.isAarch64 zlib; meta = { diff --git a/pkgs/development/libraries/irrlicht/mac.nix b/pkgs/development/libraries/irrlicht/mac.nix index 06a5dfa5e9aad..62ff5042a772c 100644 --- a/pkgs/development/libraries/irrlicht/mac.nix +++ b/pkgs/development/libraries/irrlicht/mac.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchzip, fetchFromGitHub, cmake, Cocoa, OpenGL, IOKit }: +{ + lib, + stdenv, + fetchzip, + fetchFromGitHub, + cmake, + Cocoa, + OpenGL, + IOKit, +}: let common = import ./common.nix { inherit fetchzip; }; @@ -32,7 +41,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ OpenGL Cocoa IOKit ]; + buildInputs = [ + OpenGL + Cocoa + IOKit + ]; meta = { homepage = "https://irrlicht.sourceforge.net/"; diff --git a/pkgs/development/libraries/isa-l/default.nix b/pkgs/development/libraries/isa-l/default.nix index 6a53990b78235..ea4a682f05f64 100644 --- a/pkgs/development/libraries/isa-l/default.nix +++ b/pkgs/development/libraries/isa-l/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, runCommand, autoreconfHook, nix, nasm }: +{ + lib, + stdenv, + fetchFromGitHub, + runCommand, + autoreconfHook, + nix, + nasm, +}: stdenv.mkDerivation (finalAttrs: { pname = "isa-l"; @@ -11,7 +19,10 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-eM1K3uObb4eZq0nSfafltp5DuZIDwknUYj9CdLn14lY="; }; - nativeBuildInputs = [ nasm autoreconfHook ]; + nativeBuildInputs = [ + nasm + autoreconfHook + ]; preConfigure = '' export AS=nasm @@ -19,37 +30,43 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - igzip = runCommand "test-isa-l-igzip" { - nativeBuildInputs = [ - finalAttrs.finalPackage - ]; - sample = runCommand "nixpkgs-lib.nar" { - nativeBuildInputs = [ nix ]; - } '' - nix nar --extra-experimental-features nix-command pack ${../../../../lib} > "$out" - ''; - meta = { - description = "Cross validation of igzip provided by isa-l with gzip"; - }; - } '' - HASH_ORIGINAL="$(cat "$sample" | sha256sum | cut -d" " -f1)" - HASH_COMPRESSION_TEST="$(igzip -c "$sample" | gzip -d -c | sha256sum | cut -d" " -f1)" - HASH_DECOMPRESSION_TEST="$(gzip -c "$sample" | igzip -d -c | sha256sum | cut -d" " -f1)" - if [[ "$HASH_COMPRESSION_TEST" != "$HASH_ORIGINAL" ]] || [[ "$HASH_DECOMPRESSION_TEST" != "$HASH_ORIGINAL" ]]; then - if [[ "HASH_COMPRESSION_TEST" != "$HASH_ORIGINAL" ]]; then - echo "The igzip-compressed file does not decompress to the original file." 1>&2 - fi - if [[ "HASH_DECOMPRESSION_TEST" != "$HASH_ORIGINAL" ]]; then - echo "igzip does not decompress the gzip-compressed archive to the original file." 1>&2 - fi - echo "SHA256 checksums:" 1>&2 - printf ' original file:\t%s\n' "$HASH_ORIGINAL" 1>&2 - printf ' compression test:\t%s\n' "$HASH_COMPRESSION_TEST" 1>&2 - printf ' decompression test:\t%s\n' "$HASH_DECOMPRESSION_TEST" 1>&2 - exit 1 - fi - touch "$out" - ''; + igzip = + runCommand "test-isa-l-igzip" + { + nativeBuildInputs = [ + finalAttrs.finalPackage + ]; + sample = + runCommand "nixpkgs-lib.nar" + { + nativeBuildInputs = [ nix ]; + } + '' + nix nar --extra-experimental-features nix-command pack ${../../../../lib} > "$out" + ''; + meta = { + description = "Cross validation of igzip provided by isa-l with gzip"; + }; + } + '' + HASH_ORIGINAL="$(cat "$sample" | sha256sum | cut -d" " -f1)" + HASH_COMPRESSION_TEST="$(igzip -c "$sample" | gzip -d -c | sha256sum | cut -d" " -f1)" + HASH_DECOMPRESSION_TEST="$(gzip -c "$sample" | igzip -d -c | sha256sum | cut -d" " -f1)" + if [[ "$HASH_COMPRESSION_TEST" != "$HASH_ORIGINAL" ]] || [[ "$HASH_DECOMPRESSION_TEST" != "$HASH_ORIGINAL" ]]; then + if [[ "HASH_COMPRESSION_TEST" != "$HASH_ORIGINAL" ]]; then + echo "The igzip-compressed file does not decompress to the original file." 1>&2 + fi + if [[ "HASH_DECOMPRESSION_TEST" != "$HASH_ORIGINAL" ]]; then + echo "igzip does not decompress the gzip-compressed archive to the original file." 1>&2 + fi + echo "SHA256 checksums:" 1>&2 + printf ' original file:\t%s\n' "$HASH_ORIGINAL" 1>&2 + printf ' compression test:\t%s\n' "$HASH_COMPRESSION_TEST" 1>&2 + printf ' decompression test:\t%s\n' "$HASH_DECOMPRESSION_TEST" 1>&2 + exit 1 + fi + touch "$out" + ''; }; }; diff --git a/pkgs/development/libraries/jabcode/default.nix b/pkgs/development/libraries/jabcode/default.nix index d735937b934d1..ddfec0814ca07 100644 --- a/pkgs/development/libraries/jabcode/default.nix +++ b/pkgs/development/libraries/jabcode/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, fetchFromGitHub -, lib -, subproject ? "library" # one of "library", "reader" or "writer" -, zlib -, libpng -, libtiff -, jabcode +{ + stdenv, + fetchFromGitHub, + lib, + subproject ? "library", # one of "library", "reader" or "writer" + zlib, + libpng, + libtiff, + jabcode, }: let subdir = lib.getAttr subproject { @@ -24,20 +25,25 @@ stdenv.mkDerivation rec { hash = "sha256-GjRkDWefQFdT4i9hRcQhYsY4beMUIXxy38I5lsQytyA="; }; - nativeBuildInputs = - [ zlib libpng libtiff ] - ++ lib.optionals (subproject != "library") [ jabcode ]; + nativeBuildInputs = [ + zlib + libpng + libtiff + ] ++ lib.optionals (subproject != "library") [ jabcode ]; preConfigure = "cd src/${subdir}"; installPhase = - if subproject == "library" then '' - mkdir -p $out/lib - cp build/* $out/lib - '' else '' - mkdir -p $out/bin - cp -RT bin $out/bin - ''; + if subproject == "library" then + '' + mkdir -p $out/lib + cp build/* $out/lib + '' + else + '' + mkdir -p $out/bin + cp -RT bin $out/bin + ''; meta = with lib; { description = "High-capacity 2D color bar code (${subproject})"; diff --git a/pkgs/development/libraries/java/cup/default.nix b/pkgs/development/libraries/java/cup/default.nix index 65df9d6cfa22d..219bbd5908c57 100644 --- a/pkgs/development/libraries/java/cup/default.nix +++ b/pkgs/development/libraries/java/cup/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, ant -, jdk -, makeWrapper -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchurl, + ant, + jdk, + makeWrapper, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/java/libmatthew-java/default.nix b/pkgs/development/libraries/java/libmatthew-java/default.nix index 6f736403e0565..60bc1231f5ff0 100644 --- a/pkgs/development/libraries/java/libmatthew-java/default.nix +++ b/pkgs/development/libraries/java/libmatthew-java/default.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, jdk}: +{ + lib, + stdenv, + fetchurl, + jdk, +}: stdenv.mkDerivation rec { pname = "libmatthew-java"; @@ -8,8 +13,8 @@ stdenv.mkDerivation rec { url = "https://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-${version}.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-${version}.tar.gz"; sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85"; }; - JAVA_HOME=jdk; - PREFIX="\${out}"; + JAVA_HOME = jdk; + PREFIX = "\${out}"; buildInputs = [ jdk ]; meta = with lib; { diff --git a/pkgs/development/libraries/java/rhino/default.nix b/pkgs/development/libraries/java/rhino/default.nix index 7d51386c589ce..e31665b2ef7ad 100644 --- a/pkgs/development/libraries/java/rhino/default.nix +++ b/pkgs/development/libraries/java/rhino/default.nix @@ -1,7 +1,15 @@ -{ fetchurl, lib, stdenv, unzip, ant, javac, jvm }: +{ + fetchurl, + lib, + stdenv, + unzip, + ant, + javac, + jvm, +}: let - xbeans = fetchurl { + xbeans = fetchurl { url = "http://archive.apache.org/dist/xmlbeans/binaries/xmlbeans-2.2.0.zip"; sha256 = "1pb08d9j81d0wz5wj31idz198iwhqb7mch872n08jh1354rjlqwk"; }; @@ -17,29 +25,34 @@ stdenv.mkDerivation rec { patches = [ ./gcj-type-mismatch.patch ]; - hardeningDisable = [ "fortify" "format" ]; + hardeningDisable = [ + "fortify" + "format" + ]; - preConfigure = - '' - find -name \*.jar -or -name \*.class -exec rm -v {} \; + preConfigure = '' + find -name \*.jar -or -name \*.class -exec rm -v {} \; - # The build process tries to download it by itself. - mkdir -p "build/tmp-xbean" - ln -sv "${xbeans}" "build/tmp-xbean/xbean.zip" - ''; + # The build process tries to download it by itself. + mkdir -p "build/tmp-xbean" + ln -sv "${xbeans}" "build/tmp-xbean/xbean.zip" + ''; nativeBuildInputs = [ unzip ]; - buildInputs = [ ant javac jvm ]; + buildInputs = [ + ant + javac + jvm + ]; buildPhase = "ant jar"; - doCheck = false; + doCheck = false; # FIXME: Install javadoc as well. - installPhase = - '' - mkdir -p "$out/share/java" - cp -v *.jar "$out/share/java" - ''; + installPhase = '' + mkdir -p "$out/share/java" + cp -v *.jar "$out/share/java" + ''; meta = with lib; { description = "Implementation of JavaScript written in Java"; @@ -52,7 +65,10 @@ stdenv.mkDerivation rec { homepage = "http://www.mozilla.org/rhino/"; - license = with licenses; [ mpl11 /* or */ gpl2Plus ]; + license = with licenses; [ + mpl11 # or + gpl2Plus + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index cb6df7e5558b8..15f6d104a2209 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -1,58 +1,74 @@ -{ lib -, stdenv -, fetchurl -, unzip -, jre -, jre8 -, genericUpdater -, writeShellScript -, common-updater-scripts -, gnused +{ + lib, + stdenv, + fetchurl, + unzip, + jre, + jre8, + genericUpdater, + writeShellScript, + common-updater-scripts, + gnused, }: let inherit (lib.versions) major majorMinor splitVersion; inherit (lib.strings) concatStringsSep versionAtLeast; - common = { pname, version, src, description, java ? jre - , prog ? null, jar ? null, license ? lib.licenses.mpl20 - , updateScript ? null }: - stdenv.mkDerivation (finalAttrs: let - mainProgram = if prog == null then pname else prog; - jar' = if jar == null then pname else jar; - in { - inherit pname version src; + common = + { + pname, + version, + src, + description, + java ? jre, + prog ? null, + jar ? null, + license ? lib.licenses.mpl20, + updateScript ? null, + }: + stdenv.mkDerivation ( + finalAttrs: + let + mainProgram = if prog == null then pname else prog; + jar' = if jar == null then pname else jar; + in + { + inherit pname version src; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; - buildCommand = '' - unzip $src -d $out - mkdir -p $out/bin $out/share $out/share/java - cp -s "$out"/*.jar "$out/share/java/" # */ - rm -rf $out/notices - mv $out/doc $out/share - cat > $out/bin/${mainProgram} < $out/bin/${mainProgram} < withOpenLDAP) '' @@ -57,7 +58,12 @@ stdenv.mkDerivation { hash = "sha256-WA3lo3eD05l7zKuKEVxudMmiG7OvjK/calaUzPQ2pWs="; }; - outputs = [ "out" "dev" "man" "info" ]; + outputs = [ + "out" + "dev" + "man" + "info" + ]; nativeBuildInputs = [ autoreconfHook @@ -70,8 +76,17 @@ stdenv.mkDerivation { texinfo ]; - buildInputs = [ db libedit pam ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ CoreFoundation Security SystemConfiguration ] + buildInputs = + [ + db + libedit + pam + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + CoreFoundation + Security + SystemConfiguration + ] ++ lib.optionals (withCJSON) [ cjson ] ++ lib.optionals (withCapNG) [ libcap_ng ] ++ lib.optionals (withMicroHTTPD) [ libmicrohttpd ] @@ -87,27 +102,33 @@ stdenv.mkDerivation { which ]; - configureFlags = [ - "--with-hdbdir=/var/lib/heimdal" - - "--with-libedit-include=${libedit.dev}/include" - "--with-libedit-lib=${libedit}/lib" - "--with-berkeley-db-include=${db.dev}/include" - "--with-berkeley-db" - - "--without-x" - "--disable-afs-string-to-key" - ] ++ lib.optionals (withCapNG) [ - "--with-capng" - ] ++ lib.optionals (withCJSON) [ - "--with-cjson=${cjson}" - ] ++ lib.optionals (withOpenLDAP) [ - "--with-openldap=${openldap.dev}" - ] ++ lib.optionals (withOpenLDAPAsHDBModule) [ - "--enable-hdb-openldap-module" - ] ++ lib.optionals (withSQLite3) [ - "--with-sqlite3=${sqlite.dev}" - ]; + configureFlags = + [ + "--with-hdbdir=/var/lib/heimdal" + + "--with-libedit-include=${libedit.dev}/include" + "--with-libedit-lib=${libedit}/lib" + "--with-berkeley-db-include=${db.dev}/include" + "--with-berkeley-db" + + "--without-x" + "--disable-afs-string-to-key" + ] + ++ lib.optionals (withCapNG) [ + "--with-capng" + ] + ++ lib.optionals (withCJSON) [ + "--with-cjson=${cjson}" + ] + ++ lib.optionals (withOpenLDAP) [ + "--with-openldap=${openldap.dev}" + ] + ++ lib.optionals (withOpenLDAPAsHDBModule) [ + "--enable-hdb-openldap-module" + ] + ++ lib.optionals (withSQLite3) [ + "--with-sqlite3=${sqlite.dev}" + ]; patches = [ # Proposed @ https://github.com/heimdal/heimdal/pull/1262 diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index cf429432c447e..7a4df60f0ae5b 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -1,30 +1,34 @@ -{ lib -, stdenv -, fetchurl -, bootstrap_cmds -, byacc # can also use bison, but byacc has fewer dependencies -, darwin -, keyutils -, openssl -, perl -, pkg-config - -# for passthru.tests -, bind -, curl -, nixosTests -, openssh -, postgresql -, python3 - -# Extra Arguments -, withLdap ? false, openldap -, withLibedit ? true, libedit -, withVerto ? false, libverto - -# This is called "staticOnly" because krb5 does not support -# builting both static and shared, see below. -, staticOnly ? false +{ + lib, + stdenv, + fetchurl, + bootstrap_cmds, + byacc, # can also use bison, but byacc has fewer dependencies + darwin, + keyutils, + openssl, + perl, + pkg-config, + + # for passthru.tests + bind, + curl, + nixosTests, + openssh, + postgresql, + python3, + + # Extra Arguments + withLdap ? false, + openldap, + withLibedit ? true, + libedit, + withVerto ? false, + libverto, + + # This is called "staticOnly" because krb5 does not support + # builting both static and shared, see below. + staticOnly ? false, }: stdenv.mkDerivation rec { @@ -36,7 +40,11 @@ stdenv.mkDerivation rec { hash = "sha256-t6TNXq1n+wi5gLIavRUP9yF+heoyDJ7QxtrdMEhArTU="; }; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; # While "out" acts as the bin output, most packages only care about the lib output. # We set prefix such that all the pkg-config configuration stays inside the dev and lib outputs. @@ -47,7 +55,8 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-fcommon"; }; - configureFlags = [ + configureFlags = + [ "--localstatedir=/var/lib" (lib.withFeature withLdap "ldap") (lib.withFeature withLibedit "libedit") @@ -55,42 +64,64 @@ stdenv.mkDerivation rec { ] # krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time. # See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737 - ++ lib.optionals staticOnly [ "--enable-static" "--disable-shared" ] + ++ lib.optionals staticOnly [ + "--enable-static" + "--disable-shared" + ] ++ lib.optional stdenv.hostPlatform.isFreeBSD ''WARN_CFLAGS='' - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) - [ "krb5_cv_attr_constructor_destructor=yes,yes" - "ac_cv_func_regcomp=yes" - "ac_cv_printf_positional=yes" - ]; - - nativeBuildInputs = [ byacc perl pkg-config ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "krb5_cv_attr_constructor_destructor=yes,yes" + "ac_cv_func_regcomp=yes" + "ac_cv_printf_positional=yes" + ]; + + nativeBuildInputs = + [ + byacc + perl + pkg-config + ] # Provides the mig command used by the build scripts ++ lib.optional stdenv.hostPlatform.isDarwin bootstrap_cmds; - buildInputs = [ openssl ] - ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "bionic" && !(stdenv.hostPlatform.useLLVM or false)) [ keyutils ] + buildInputs = + [ openssl ] + ++ lib.optionals ( + stdenv.hostPlatform.isLinux + && stdenv.hostPlatform.libc != "bionic" + && !(stdenv.hostPlatform.useLLVM or false) + ) [ keyutils ] ++ lib.optionals withLdap [ openldap ] ++ lib.optionals withLibedit [ libedit ] ++ lib.optionals withVerto [ libverto ]; - propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk; [ - libs.xpc - frameworks.Kerberos - ]); + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk; + [ + libs.xpc + frameworks.Kerberos + ] + ); sourceRoot = "krb5-${version}/src"; - postPatch = '' - substituteInPlace config/shlib.conf \ - --replace "'ld " "'${stdenv.cc.targetPrefix}ld " - '' - # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion - # necessary for FreeBSD code path in configure - + '' - substituteInPlace ./config/config.guess --replace-fail /usr/bin/uname uname - ''; - - libFolders = [ "util" "include" "lib" "build-tools" ]; + postPatch = + '' + substituteInPlace config/shlib.conf \ + --replace "'ld " "'${stdenv.cc.targetPrefix}ld " + '' + # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion + # necessary for FreeBSD code path in configure + + '' + substituteInPlace ./config/config.guess --replace-fail /usr/bin/uname uname + ''; + + libFolders = [ + "util" + "include" + "lib" + "build-tools" + ]; # To avoid cyclic outputs, we can't let lib depend on out in any way. Unfortunately, the configure # options don't give us enough granularity to specify that, so we have to override the generated diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix index 38b1dafa00663..258326091b97e 100644 --- a/pkgs/development/libraries/keybinder/default.nix +++ b/pkgs/development/libraries/keybinder/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, gnome-common -, gtk-doc, gtk2, lua, gobject-introspection +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + gnome-common, + gtk-doc, + gtk2, + lua, + gobject-introspection, }: stdenv.mkDerivation rec { @@ -13,10 +24,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-elL6DZtzCwAtoyGZYP0jAma6tHPks2KAtrziWtBENGU="; }; - nativeBuildInputs = [ pkg-config autoconf automake gobject-introspection ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + gobject-introspection + ]; buildInputs = [ - libtool gnome-common gtk-doc gtk2 + libtool + gnome-common + gtk-doc + gtk2 lua ]; diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix index 3ee266ee3a18a..6b95c5b46b243 100644 --- a/pkgs/development/libraries/keybinder3/default.nix +++ b/pkgs/development/libraries/keybinder3/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, gnome-common -, gtk-doc, gtk3, libX11, libXext, libXrender, gobject-introspection +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + gnome-common, + gtk-doc, + gtk3, + libX11, + libXext, + libXrender, + gobject-introspection, }: stdenv.mkDerivation rec { @@ -24,7 +37,10 @@ stdenv.mkDerivation rec { gobject-introspection ]; buildInputs = [ - gtk3 libX11 libXext libXrender + gtk3 + libX11 + libXext + libXrender ]; preConfigure = '' diff --git a/pkgs/development/libraries/kf5gpgmepp/default.nix b/pkgs/development/libraries/kf5gpgmepp/default.nix index 5fa51987eaa7a..5a4a7d70e0229 100644 --- a/pkgs/development/libraries/kf5gpgmepp/default.nix +++ b/pkgs/development/libraries/kf5gpgmepp/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchgit, cmake, extra-cmake-modules, qtbase, boost, gpgme }: +{ + mkDerivation, + lib, + fetchgit, + cmake, + extra-cmake-modules, + qtbase, + boost, + gpgme, +}: mkDerivation { pname = "kf5gpgmepp"; @@ -10,7 +19,11 @@ mkDerivation { sha256 = "02ck2l3s8s7xh44blqaqnc5k49ccicdnzvhiwa67a3zgicz5i0vh"; }; - buildInputs = [ extra-cmake-modules qtbase boost ]; + buildInputs = [ + extra-cmake-modules + qtbase + boost + ]; propagatedBuildInputs = [ gpgme ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/kimageannotator/default.nix b/pkgs/development/libraries/kimageannotator/default.nix index e179cb0f6c52a..ea46ff3f11552 100644 --- a/pkgs/development/libraries/kimageannotator/default.nix +++ b/pkgs/development/libraries/kimageannotator/default.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, qttools, qtbase, qtsvg, kcolorpicker }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qttools, + qtbase, + qtsvg, + kcolorpicker, +}: let isQt6 = lib.versions.major qtbase.version == "6"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "kimageannotator"; version = "0.7.1"; @@ -13,8 +23,14 @@ in stdenv.mkDerivation rec { hash = "sha256-LFou8gTF/XDBLNQbA4uurYJHQl7yOTKe2OGklUsmPrg="; }; - nativeBuildInputs = [ cmake qttools ]; - buildInputs = [ qtbase qtsvg ]; + nativeBuildInputs = [ + cmake + qttools + ]; + buildInputs = [ + qtbase + qtsvg + ]; propagatedBuildInputs = [ kcolorpicker ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/kirigami-addons/default.nix b/pkgs/development/libraries/kirigami-addons/default.nix index 403267a4eb56e..ed67dcb791629 100644 --- a/pkgs/development/libraries/kirigami-addons/default.nix +++ b/pkgs/development/libraries/kirigami-addons/default.nix @@ -1,13 +1,14 @@ -{ lib -, mkDerivation -, fetchFromGitLab +{ + lib, + mkDerivation, + fetchFromGitLab, -, cmake -, extra-cmake-modules + cmake, + extra-cmake-modules, -, ki18n -, kirigami2 -, qtquickcontrols2 + ki18n, + kirigami2, + qtquickcontrols2, }: mkDerivation rec { @@ -41,4 +42,3 @@ mkDerivation rec { maintainers = with maintainers; [ matthiasbeyer ]; }; } - diff --git a/pkgs/development/libraries/kompute/default.nix b/pkgs/development/libraries/kompute/default.nix index ced30a87dbfa7..3639166560416 100644 --- a/pkgs/development/libraries/kompute/default.nix +++ b/pkgs/development/libraries/kompute/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, vulkan-headers -, vulkan-loader -, fmt -, glslang -, ninja +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + vulkan-headers, + vulkan-loader, + fmt, + glslang, + ninja, }: stdenv.mkDerivation rec { @@ -39,9 +40,16 @@ stdenv.mkDerivation rec { "-DKOMPUTE_ENABLE_SPDLOG=1" ]; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; buildInputs = [ fmt ]; - propagatedBuildInputs = [ glslang vulkan-headers vulkan-loader ]; + propagatedBuildInputs = [ + glslang + vulkan-headers + vulkan-loader + ]; meta = with lib; { description = "General purpose GPU compute framework built on Vulkan"; diff --git a/pkgs/development/libraries/kpeoplevcard/default.nix b/pkgs/development/libraries/kpeoplevcard/default.nix index 689b7c9869b69..834556e3e1ca2 100644 --- a/pkgs/development/libraries/kpeoplevcard/default.nix +++ b/pkgs/development/libraries/kpeoplevcard/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchurl -, cmake -, pkg-config -, wrapQtAppsHook -, extra-cmake-modules -, kcoreaddons -, kpeople -, kcontacts +{ + stdenv, + lib, + fetchurl, + cmake, + pkg-config, + wrapQtAppsHook, + extra-cmake-modules, + kcoreaddons, + kpeople, + kcontacts, }: stdenv.mkDerivation (finalAttrs: { @@ -34,9 +35,8 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Pulseaudio bindings for Qt"; - homepage = "https://github.com/KDE/kpeoplevcard"; - license = with licenses; [ lgpl2 ]; + homepage = "https://github.com/KDE/kpeoplevcard"; + license = with licenses; [ lgpl2 ]; maintainers = with maintainers; [ doronbehar ]; }; }) - diff --git a/pkgs/development/libraries/kproperty/default.nix b/pkgs/development/libraries/kproperty/default.nix index 6187d201f2598..b1a9aaa2c6e4b 100644 --- a/pkgs/development/libraries/kproperty/default.nix +++ b/pkgs/development/libraries/kproperty/default.nix @@ -1,8 +1,14 @@ { - mkDerivation, lib, fetchurl, + mkDerivation, + lib, + fetchurl, extra-cmake-modules, - qtbase, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, - qttools + qtbase, + kconfig, + kcoreaddons, + kwidgetsaddons, + kguiaddons, + qttools, }: mkDerivation rec { @@ -16,7 +22,13 @@ mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ kconfig kcoreaddons kwidgetsaddons kguiaddons qttools ]; + buildInputs = [ + kconfig + kcoreaddons + kwidgetsaddons + kguiaddons + qttools + ]; propagatedBuildInputs = [ qtbase ]; diff --git a/pkgs/development/libraries/kquickimageedit/default.nix b/pkgs/development/libraries/kquickimageedit/default.nix index cd43904a123e9..358105ed2c1b2 100644 --- a/pkgs/development/libraries/kquickimageedit/default.nix +++ b/pkgs/development/libraries/kquickimageedit/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, extra-cmake-modules -, qtbase -, qtdeclarative +{ + lib, + stdenv, + fetchFromGitLab, + extra-cmake-modules, + qtbase, + qtdeclarative, }: stdenv.mkDerivation rec { @@ -19,8 +20,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase qtdeclarative ]; - cmakeFlags = ["-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}"]; + buildInputs = [ + qtbase + qtdeclarative + ]; + cmakeFlags = [ "-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}" ]; dontWrapQtApps = true; meta = with lib; { diff --git a/pkgs/development/libraries/kreport/default.nix b/pkgs/development/libraries/kreport/default.nix index 19f2b89a56e04..ec2d52647523a 100644 --- a/pkgs/development/libraries/kreport/default.nix +++ b/pkgs/development/libraries/kreport/default.nix @@ -1,7 +1,17 @@ { - mkDerivation, lib, fetchurl, + mkDerivation, + lib, + fetchurl, extra-cmake-modules, - qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python3 + qtdeclarative, + qtwebkit, + kconfig, + kcoreaddons, + kwidgetsaddons, + kguiaddons, + kproperty, + marble, + python3, }: mkDerivation rec { @@ -15,7 +25,17 @@ mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtdeclarative qtwebkit kconfig kcoreaddons kwidgetsaddons kguiaddons kproperty marble python3 ]; + buildInputs = [ + qtdeclarative + qtwebkit + kconfig + kcoreaddons + kwidgetsaddons + kguiaddons + kproperty + marble + python3 + ]; meta = with lib; { description = "Framework for creation and generation of reports in multiple formats"; diff --git a/pkgs/development/libraries/ktextaddons/default.nix b/pkgs/development/libraries/ktextaddons/default.nix index 15286ff162cc9..a0ce40842593a 100644 --- a/pkgs/development/libraries/ktextaddons/default.nix +++ b/pkgs/development/libraries/ktextaddons/default.nix @@ -1,4 +1,16 @@ -{ lib, mkDerivation, fetchurl, cmake, extra-cmake-modules, karchive, kconfigwidgets, kcoreaddons, ki18n, kxmlgui, qtkeychain }: +{ + lib, + mkDerivation, + fetchurl, + cmake, + extra-cmake-modules, + karchive, + kconfigwidgets, + kcoreaddons, + ki18n, + kxmlgui, + qtkeychain, +}: mkDerivation rec { pname = "ktextaddons"; version = "1.3.2"; @@ -8,8 +20,18 @@ mkDerivation rec { hash = "sha256-mB7Hh2Ljrg8D2GxDyHCa1s6CVmg5DDkhwafEqtSqUeM="; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; - buildInputs = [ karchive kconfigwidgets kcoreaddons ki18n kxmlgui qtkeychain ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = [ + karchive + kconfigwidgets + kcoreaddons + ki18n + kxmlgui + qtkeychain + ]; meta = with lib; { description = "Various text handling addons for KDE applications"; diff --git a/pkgs/development/libraries/kuserfeedback/default.nix b/pkgs/development/libraries/kuserfeedback/default.nix index 5e1fe28297fdd..f0114c8e274a6 100644 --- a/pkgs/development/libraries/kuserfeedback/default.nix +++ b/pkgs/development/libraries/kuserfeedback/default.nix @@ -1,8 +1,9 @@ -{ lib -, mkDerivation -, fetchurl -, extra-cmake-modules -, qttools +{ + lib, + mkDerivation, + fetchurl, + extra-cmake-modules, + qttools, }: mkDerivation rec { pname = "kuserfeedback"; @@ -13,7 +14,10 @@ mkDerivation rec { hash = "sha256-JSMIuCLdRpDqhasWiMmw2lUSl4rGtDX3ell5/B0v/RM="; }; - nativeBuildInputs = [ extra-cmake-modules qttools ]; + nativeBuildInputs = [ + extra-cmake-modules + qttools + ]; meta = with lib; { license = [ licenses.mit ]; diff --git a/pkgs/development/libraries/kweathercore/default.nix b/pkgs/development/libraries/kweathercore/default.nix index 6c957b6fc9e5d..69fd778b59a55 100644 --- a/pkgs/development/libraries/kweathercore/default.nix +++ b/pkgs/development/libraries/kweathercore/default.nix @@ -1,10 +1,11 @@ -{ mkDerivation -, lib -, fetchFromGitLab -, extra-cmake-modules -, kholidays -, ki18n -, qtlocation +{ + mkDerivation, + lib, + fetchFromGitLab, + extra-cmake-modules, + kholidays, + ki18n, + qtlocation, }: mkDerivation rec { diff --git a/pkgs/development/libraries/l-smash/default.nix b/pkgs/development/libraries/l-smash/default.nix index 1439c1046fe2b..1ccac4b6fa759 100644 --- a/pkgs/development/libraries/l-smash/default.nix +++ b/pkgs/development/libraries/l-smash/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, which }: +{ + lib, + stdenv, + fetchFromGitHub, + which, +}: stdenv.mkDerivation rec { pname = "l-smash"; diff --git a/pkgs/development/libraries/languagemachines/frog.nix b/pkgs/development/libraries/languagemachines/frog.nix index fffc7d8da23a4..d9864573c3b58 100644 --- a/pkgs/development/libraries/languagemachines/frog.nix +++ b/pkgs/development/libraries/languagemachines/frog.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, fetchurl -, automake, autoconf, bzip2, libtar, libtool, pkg-config, autoconf-archive -, libxml2, icu -, languageMachines +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + bzip2, + libtar, + libtool, + pkg-config, + autoconf-archive, + libxml2, + icu, + languageMachines, }: let @@ -11,18 +21,29 @@ in stdenv.mkDerivation { pname = "frog"; version = release.version; - src = fetchurl { inherit (release) url sha256; - name = "frog-v${release.version}.tar.gz"; }; - nativeBuildInputs = [ pkg-config automake autoconf ]; - buildInputs = [ bzip2 libtar libtool autoconf-archive - libxml2 icu - languageMachines.ticcutils - languageMachines.timbl - languageMachines.mbt - languageMachines.libfolia - languageMachines.ucto - languageMachines.frogdata - ]; + src = fetchurl { + inherit (release) url sha256; + name = "frog-v${release.version}.tar.gz"; + }; + nativeBuildInputs = [ + pkg-config + automake + autoconf + ]; + buildInputs = [ + bzip2 + libtar + libtool + autoconf-archive + libxml2 + icu + languageMachines.ticcutils + languageMachines.timbl + languageMachines.mbt + languageMachines.libfolia + languageMachines.ucto + languageMachines.frogdata + ]; preConfigure = '' sh bootstrap.sh @@ -39,9 +60,9 @@ stdenv.mkDerivation { meta = with lib; { description = "Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch"; - homepage = "https://languagemachines.github.io/frog"; - license = licenses.gpl3; - platforms = platforms.all; + homepage = "https://languagemachines.github.io/frog"; + license = licenses.gpl3; + platforms = platforms.all; maintainers = with maintainers; [ roberth ]; longDescription = '' diff --git a/pkgs/development/libraries/languagemachines/frogdata.nix b/pkgs/development/libraries/languagemachines/frogdata.nix index 5b1b07e792772..76ff3c1f4f188 100644 --- a/pkgs/development/libraries/languagemachines/frogdata.nix +++ b/pkgs/development/libraries/languagemachines/frogdata.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl -, automake, autoconf, libtool, pkg-config, autoconf-archive +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + libtool, + pkg-config, + autoconf-archive, }: let @@ -9,11 +16,19 @@ in stdenv.mkDerivation { pname = "frogdata"; version = release.version; - src = fetchurl { inherit (release) url sha256; - name = "frogdata-${release.version}.tar.gz"; }; - nativeBuildInputs = [ pkg-config automake autoconf ]; - buildInputs = [ libtool autoconf-archive - ]; + src = fetchurl { + inherit (release) url sha256; + name = "frogdata-${release.version}.tar.gz"; + }; + nativeBuildInputs = [ + pkg-config + automake + autoconf + ]; + buildInputs = [ + libtool + autoconf-archive + ]; preConfigure = '' sh bootstrap.sh @@ -21,9 +36,9 @@ stdenv.mkDerivation { meta = with lib; { description = "Data for Frog, a Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch"; - homepage = "https://languagemachines.github.io/frog"; - license = licenses.gpl3; - platforms = platforms.all; + homepage = "https://languagemachines.github.io/frog"; + license = licenses.gpl3; + platforms = platforms.all; maintainers = with maintainers; [ roberth ]; }; diff --git a/pkgs/development/libraries/languagemachines/libfolia.nix b/pkgs/development/libraries/languagemachines/libfolia.nix index 76bdcb7b9ba54..33d71bef3bebe 100644 --- a/pkgs/development/libraries/languagemachines/libfolia.nix +++ b/pkgs/development/libraries/languagemachines/libfolia.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl -, automake, autoconf, libtool, pkg-config, autoconf-archive -, libxml2, icu, bzip2, libtar -, languageMachines }: +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + libtool, + pkg-config, + autoconf-archive, + libxml2, + icu, + bzip2, + libtar, + languageMachines, +}: let release = lib.importJSON ./release-info/LanguageMachines-libfolia.json; @@ -10,10 +21,24 @@ in stdenv.mkDerivation { pname = "libfolia"; version = release.version; - src = fetchurl { inherit (release) url sha256; - name = "libfolia-${release.version}.tar.gz"; }; - nativeBuildInputs = [ pkg-config automake autoconf ]; - buildInputs = [ bzip2 libtool autoconf-archive libtar libxml2 icu languageMachines.ticcutils ]; + src = fetchurl { + inherit (release) url sha256; + name = "libfolia-${release.version}.tar.gz"; + }; + nativeBuildInputs = [ + pkg-config + automake + autoconf + ]; + buildInputs = [ + bzip2 + libtool + autoconf-archive + libtar + libxml2 + icu + languageMachines.ticcutils + ]; preConfigure = "sh bootstrap.sh"; # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554 @@ -22,9 +47,9 @@ stdenv.mkDerivation { meta = with lib; { description = "C++ API for FoLiA documents; an XML-based linguistic annotation format"; mainProgram = "folialint"; - homepage = "https://proycon.github.io/folia/"; - license = licenses.gpl3; - platforms = platforms.all; + homepage = "https://proycon.github.io/folia/"; + license = licenses.gpl3; + platforms = platforms.all; maintainers = with maintainers; [ roberth ]; longDescription = '' diff --git a/pkgs/development/libraries/languagemachines/mbt.nix b/pkgs/development/libraries/languagemachines/mbt.nix index 9556c1d567011..51238615f9e9c 100644 --- a/pkgs/development/libraries/languagemachines/mbt.nix +++ b/pkgs/development/libraries/languagemachines/mbt.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchurl -, automake, autoconf, bzip2, libtar, libtool, pkg-config, autoconf-archive -, libxml2 -, languageMachines +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, + bzip2, + libtar, + libtool, + pkg-config, + autoconf-archive, + libxml2, + languageMachines, }: let @@ -11,14 +20,24 @@ in stdenv.mkDerivation { pname = "mbt"; version = release.version; - src = fetchurl { inherit (release) url sha256; - name = "mbt-${release.version}.tar.gz"; }; - nativeBuildInputs = [ pkg-config automake autoconf ]; - buildInputs = [ bzip2 libtar libtool autoconf-archive - libxml2 - languageMachines.ticcutils - languageMachines.timbl - ]; + src = fetchurl { + inherit (release) url sha256; + name = "mbt-${release.version}.tar.gz"; + }; + nativeBuildInputs = [ + pkg-config + automake + autoconf + ]; + buildInputs = [ + bzip2 + libtar + libtool + autoconf-archive + libxml2 + languageMachines.ticcutils + languageMachines.timbl + ]; patches = [ ./mbt-add-libxml2-dep.patch ]; preConfigure = '' sh bootstrap.sh @@ -26,9 +45,9 @@ stdenv.mkDerivation { meta = with lib; { description = "Memory Based Tagger"; - homepage = "https://languagemachines.github.io/mbt/"; - license = licenses.gpl3; - platforms = platforms.all; + homepage = "https://languagemachines.github.io/mbt/"; + license = licenses.gpl3; + platforms = platforms.all; maintainers = with maintainers; [ roberth ]; longDescription = '' diff --git a/pkgs/development/libraries/languagemachines/test.nix b/pkgs/development/libraries/languagemachines/test.nix index 26fff825a151d..57965a758311b 100644 --- a/pkgs/development/libraries/languagemachines/test.nix +++ b/pkgs/development/libraries/languagemachines/test.nix @@ -1,8 +1,9 @@ -{ runCommand -, languageMachines +{ + runCommand, + languageMachines, }: -runCommand "frog-test" {} '' +runCommand "frog-test" { } '' ${languageMachines.frog}/bin/frog >$out <. -, gtkSupport ? true, glib, gtk3 -, videoSupport ? true, libmpeg2 +{ + lib, + stdenv, + fetchurl, + fetchpatch2, + substituteAll, + libtool, + gettext, + zlib, + bzip2, + flac, + libvorbis, + exiv2, + libgsf, + pkg-config, + rpmSupport ? stdenv.hostPlatform.isLinux, + rpm, + gstreamerSupport ? true, + gst_all_1, + # ^ Needed e.g. for proper id3 and FLAC support. + # Set to `false` to decrease package closure size by about 87 MB (53%). + gstPlugins ? ( + gst: [ + gst.gst-plugins-base + gst.gst-plugins-good + ] + ), + # If an application needs additional gstreamer plugins it can also make them + # available by adding them to the environment variable + # GST_PLUGIN_SYSTEM_PATH_1_0, e.g. like this: + # postInstall = '' + # wrapProgram $out/bin/extract --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" + # ''; + # See also . + gtkSupport ? true, + glib, + gtk3, + videoSupport ? true, + libmpeg2, }: stdenv.mkDerivation rec { @@ -26,23 +48,25 @@ stdenv.mkDerivation rec { hash = "sha256-u48xLFHSAlciQ/ETxrYtghAwGrMMuu5gT5g32HjN91U="; }; - patches = [ - # 0008513: test_exiv2 fails with Exiv2 0.28 - # https://bugs.gnunet.org/view.php?id=8513 - (fetchpatch2 { - url = "https://sources.debian.org/data/main/libe/libextractor/1%3A1.13-4/debian/patches/exiv2-0.28.diff"; - hash = "sha256-Re5iwlSyEpWu3PcHibaRKSfmdyHSZGMOdMZ6svTofvs="; - }) - ] ++ lib.optionals gstreamerSupport [ + patches = + [ + # 0008513: test_exiv2 fails with Exiv2 0.28 + # https://bugs.gnunet.org/view.php?id=8513 + (fetchpatch2 { + url = "https://sources.debian.org/data/main/libe/libextractor/1%3A1.13-4/debian/patches/exiv2-0.28.diff"; + hash = "sha256-Re5iwlSyEpWu3PcHibaRKSfmdyHSZGMOdMZ6svTofvs="; + }) + ] + ++ lib.optionals gstreamerSupport [ - # Libraries cannot be wrapped so we need to hardcode the plug-in paths. - (substituteAll { - src = ./gst-hardcode-plugins.patch; - load_gst_plugins = lib.concatMapStrings - (plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'') - (gstPlugins gst_all_1); - }) - ]; + # Libraries cannot be wrapped so we need to hardcode the plug-in paths. + (substituteAll { + src = ./gst-hardcode-plugins.patch; + load_gst_plugins = lib.concatMapStrings ( + plugin: ''gst_registry_scan_path(gst_registry_get(), "${lib.getLib plugin}/lib/gstreamer-1.0");'' + ) (gstPlugins gst_all_1); + }) + ]; preConfigure = '' echo "patching installation directory in \`extractor.c'..." @@ -53,13 +77,23 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = - [ libtool gettext zlib bzip2 flac libvorbis exiv2 - libgsf - ] ++ lib.optionals rpmSupport [ rpm ] - ++ lib.optionals gstreamerSupport - ([ gst_all_1.gstreamer ] ++ gstPlugins gst_all_1) - ++ lib.optionals gtkSupport [ glib gtk3 ] - ++ lib.optionals videoSupport [ libmpeg2 ]; + [ + libtool + gettext + zlib + bzip2 + flac + libvorbis + exiv2 + libgsf + ] + ++ lib.optionals rpmSupport [ rpm ] + ++ lib.optionals gstreamerSupport ([ gst_all_1.gstreamer ] ++ gstPlugins gst_all_1) + ++ lib.optionals gtkSupport [ + glib + gtk3 + ] + ++ lib.optionals videoSupport [ libmpeg2 ]; # Checks need to be run after "make install", otherwise plug-ins are not in # the search path, etc. diff --git a/pkgs/development/libraries/libffi/3.3.nix b/pkgs/development/libraries/libffi/3.3.nix index d8dd3fa47d5c8..f4e9d81dd6fcd 100644 --- a/pkgs/development/libraries/libffi/3.3.nix +++ b/pkgs/development/libraries/libffi/3.3.nix @@ -1,7 +1,10 @@ -{ lib, stdenv, fetchurl +{ + lib, + stdenv, + fetchurl, -, doCheck ? true # test suite depends on dejagnu which cannot be used during bootstrapping -, dejagnu + doCheck ? true, # test suite depends on dejagnu which cannot be used during bootstrapping + dejagnu, }: stdenv.mkDerivation rec { @@ -13,9 +16,14 @@ stdenv.mkDerivation rec { hash = "sha256-cvunkicD3fp6Ao1ROsFahcjVTI1n9V+lpIAohdxlIFY="; }; - patches = []; + patches = [ ]; - outputs = [ "out" "dev" "man" "info" ]; + outputs = [ + "out" + "dev" + "man" + "info" + ]; configureFlags = [ "--with-gcc-arch=generic" # no detection of -march= or -mtune= diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index 021776ed38568..aaaddd7c896b8 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -1,11 +1,14 @@ -{ lib, stdenv, fetchurl +{ + lib, + stdenv, + fetchurl, # test suite depends on dejagnu which cannot be used during bootstrapping # dejagnu also requires tcl which can't be built statically at the moment -, doCheck ? !(stdenv.hostPlatform.isStatic) -, dejagnu -, nix-update-script -, testers + doCheck ? !(stdenv.hostPlatform.isStatic), + dejagnu, + nix-update-script, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -13,7 +16,9 @@ stdenv.mkDerivation (finalAttrs: { version = "3.4.6"; src = fetchurl { - url = with finalAttrs; "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz"; + url = + with finalAttrs; + "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz"; hash = "sha256-sN6p3yPIY6elDoJUQPPr/6vWXfFJcQjl1Dd0eEOJWk4="; }; @@ -28,11 +33,19 @@ stdenv.mkDerivation (finalAttrs: { ]; strictDeps = true; - outputs = [ "out" "dev" "man" "info" ]; + outputs = [ + "out" + "dev" + "man" + "info" + ]; enableParallelBuilding = true; - configurePlatforms = [ "build" "host" ]; + configurePlatforms = [ + "build" + "host" + ]; configureFlags = [ "--with-gcc-arch=generic" # no detection of -march= or -mtune= diff --git a/pkgs/development/libraries/libfive/default.nix b/pkgs/development/libraries/libfive/default.nix index 9e71c5beaa5bc..143a4b4c88736 100644 --- a/pkgs/development/libraries/libfive/default.nix +++ b/pkgs/development/libraries/libfive/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, wrapQtAppsHook -, fetchFromGitHub -, unstableGitUpdater -, cmake -, ninja -, pkg-config -, eigen -, zlib -, libpng -, boost -, guile -, python -, qtbase -, darwin +{ + lib, + stdenv, + wrapQtAppsHook, + fetchFromGitHub, + unstableGitUpdater, + cmake, + ninja, + pkg-config, + eigen, + zlib, + libpng, + boost, + guile, + python, + qtbase, + darwin, }: stdenv.mkDerivation { @@ -27,9 +28,22 @@ stdenv.mkDerivation { hash = "sha256-bA+4wGAygdbHcOMGFwNyzn2daQ8E7NeOTUF2Tr3RQww="; }; - nativeBuildInputs = [ wrapQtAppsHook cmake ninja pkg-config python.pkgs.pythonImportsCheckHook ]; - buildInputs = [ eigen zlib libpng boost guile python qtbase ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk_11_0.frameworks.Cocoa ]; + nativeBuildInputs = [ + wrapQtAppsHook + cmake + ninja + pkg-config + python.pkgs.pythonImportsCheckHook + ]; + buildInputs = [ + eigen + zlib + libpng + boost + guile + python + qtbase + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk_11_0.frameworks.Cocoa ]; preConfigure = '' substituteInPlace studio/src/guile/interpreter.cpp \ @@ -55,39 +69,45 @@ stdenv.mkDerivation { export XDG_CACHE_HOME=$(mktemp -d)/.cache ''; - cmakeFlags = [ - "-DGUILE_CCACHE_DIR=${placeholder "out"}/${guile.siteCcacheDir}" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11") [ - # warning: 'aligned_alloc' is only available on macOS 10.15 or newer - "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15" - ]; + cmakeFlags = + [ + "-DGUILE_CCACHE_DIR=${placeholder "out"}/${guile.siteCcacheDir}" + ] + ++ lib.optionals + (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11") + [ + # warning: 'aligned_alloc' is only available on macOS 10.15 or newer + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15" + ]; env = lib.optionalAttrs stdenv.cc.isClang { NIX_CFLAGS_COMPILE = "-Wno-error=enum-constexpr-conversion"; }; - postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' - # No rules to install the mac app, so do it manually. - mkdir -p $out/Applications - cp -r studio/Studio.app $out/Applications/Studio.app + postInstall = + lib.optionalString stdenv.hostPlatform.isDarwin '' + # No rules to install the mac app, so do it manually. + mkdir -p $out/Applications + cp -r studio/Studio.app $out/Applications/Studio.app - install_name_tool -add_rpath $out/lib $out/Applications/Studio.app/Contents/MacOS/Studio + install_name_tool -add_rpath $out/lib $out/Applications/Studio.app/Contents/MacOS/Studio - makeWrapper $out/Applications/Studio.app/Contents/MacOS/Studio $out/bin/Studio - '' + '' - # Link "Studio" binary to "libfive-studio" to be more obvious: - ln -s "$out/bin/Studio" "$out/bin/libfive-studio" + makeWrapper $out/Applications/Studio.app/Contents/MacOS/Studio $out/bin/Studio + '' + + '' + # Link "Studio" binary to "libfive-studio" to be more obvious: + ln -s "$out/bin/Studio" "$out/bin/libfive-studio" - # Create links since libfive looks for the library in a specific path. - mkdir -p "$out/${python.sitePackages}/libfive/src" - ln -s "$out"/lib/libfive.* "$out/${python.sitePackages}/libfive/src/" - mkdir -p "$out/${python.sitePackages}/libfive/stdlib" - ln -s "$out"/lib/libfive-stdlib.* "$out/${python.sitePackages}/libfive/stdlib/" + # Create links since libfive looks for the library in a specific path. + mkdir -p "$out/${python.sitePackages}/libfive/src" + ln -s "$out"/lib/libfive.* "$out/${python.sitePackages}/libfive/src/" + mkdir -p "$out/${python.sitePackages}/libfive/stdlib" + ln -s "$out"/lib/libfive-stdlib.* "$out/${python.sitePackages}/libfive/stdlib/" - # Create links so Studio can find the bindings. - mkdir -p "$out/libfive/bind" - ln -s "$out/${python.sitePackages}" "$out/libfive/bind/python" - ''; + # Create links so Studio can find the bindings. + mkdir -p "$out/libfive/bind" + ln -s "$out/${python.sitePackages}" "$out/libfive/bind/python" + ''; pythonImportsCheck = [ "libfive" @@ -103,8 +123,15 @@ stdenv.mkDerivation { meta = with lib; { description = "Infrastructure for solid modeling with F-Reps in C, C++, and Guile"; homepage = "https://libfive.com/"; - maintainers = with maintainers; [ hodapp kovirobi wulfsta ]; - license = with licenses; [ mpl20 gpl2Plus ]; + maintainers = with maintainers; [ + hodapp + kovirobi + wulfsta + ]; + license = with licenses; [ + mpl20 + gpl2Plus + ]; platforms = with platforms; all; }; } diff --git a/pkgs/development/libraries/libfreefare/default.nix b/pkgs/development/libraries/libfreefare/default.nix index 90e6f29c9d6ed..3bbfb5f6834f5 100644 --- a/pkgs/development/libraries/libfreefare/default.nix +++ b/pkgs/development/libraries/libfreefare/default.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libnfc, openssl -, libobjc ? null -, IOKit, Security +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + libnfc, + openssl, + libobjc ? null, + IOKit, + Security, }: stdenv.mkDerivation { @@ -12,14 +20,26 @@ stdenv.mkDerivation { sha256 = "0r5wfvwgf35lb1v65wavnwz2wlfyfdims6a9xpslf4lsm4a1v8xz"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ libnfc openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = + [ + libnfc + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; meta = with lib; { description = "Libfreefare project aims to provide a convenient API for MIFARE card manipulations"; license = licenses.lgpl3; homepage = "https://github.com/nfc-tools/libfreefare"; - maintainers = with maintainers; [bobvanderlinden]; + maintainers = with maintainers; [ bobvanderlinden ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix index 18dab4e340da2..0936316bbca42 100644 --- a/pkgs/development/libraries/libftdi/default.nix +++ b/pkgs/development/libraries/libftdi/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, libusb-compat-0_1 -, Security -, IOKit -, libobjc +{ + lib, + stdenv, + fetchurl, + libusb-compat-0_1, + Security, + IOKit, + libobjc, }: stdenv.mkDerivation rec { @@ -16,7 +17,13 @@ stdenv.mkDerivation rec { sha256 = "13l39f6k6gff30hsgh0wa2z422g9pyl91rh8a8zz6f34k2sxaxii"; }; - buildInputs = [ libusb-compat-0_1 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc Security IOKit ]; + buildInputs = + [ libusb-compat-0_1 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + Security + IOKit + ]; propagatedBuildInputs = [ libusb-compat-0_1 ]; diff --git a/pkgs/development/libraries/libgcrypt/1.8.nix b/pkgs/development/libraries/libgcrypt/1.8.nix index 720c376d02636..51da7d0ccc03f 100644 --- a/pkgs/development/libraries/libgcrypt/1.8.nix +++ b/pkgs/development/libraries/libgcrypt/1.8.nix @@ -1,13 +1,15 @@ -{ lib -, stdenv -, fetchurl -, libgpg-error -, enableCapabilities ? false, libcap -, buildPackages -# for passthru.tests -, gnupg -, libotr -, rsyslog +{ + lib, + stdenv, + fetchurl, + libgpg-error, + enableCapabilities ? false, + libcap, + buildPackages, + # for passthru.tests + gnupg, + libotr, + rsyslog, }: assert enableCapabilities -> stdenv.hostPlatform.isLinux; @@ -21,7 +23,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-aJaRVQH5UeI9AtywRTRpwswiqk13oAH/c6JkfC0p590="; }; - outputs = [ "out" "dev" "info" ]; + outputs = [ + "out" + "dev" + "info" + ]; outputBin = "dev"; # The CPU Jitter random number generator must not be compiled with @@ -31,17 +37,22 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; - buildInputs = [ libgpg-error ] - ++ lib.optional enableCapabilities libcap; + buildInputs = [ libgpg-error ] ++ lib.optional enableCapabilities libcap; strictDeps = true; - configureFlags = [ "--with-libgpg-error-prefix=${libgpg-error.dev}" ] - ++ lib.optional (stdenv.hostPlatform.isMusl || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--disable-asm"; # for darwin see https://dev.gnupg.org/T5157 + configureFlags = + [ "--with-libgpg-error-prefix=${libgpg-error.dev}" ] + ++ lib.optional ( + stdenv.hostPlatform.isMusl || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + ) "--disable-asm"; # for darwin see https://dev.gnupg.org/T5157 # Necessary to generate correct assembly when compiling for aarch32 on # aarch64 - configurePlatforms = [ "host" "build" ]; + configurePlatforms = [ + "host" + "build" + ]; postConfigure = '' sed -i configure \ @@ -50,11 +61,13 @@ stdenv.mkDerivation rec { # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config - postFixup = '' - sed -i 's,#include ,#include "${libgpg-error.dev}/include/gpg-error.h",g' "$dev/include/gcrypt.h" - '' + lib.optionalString enableCapabilities '' - sed -i 's,\(-lcap\),-L${libcap.lib}/lib \1,' $out/lib/libgcrypt.la - ''; + postFixup = + '' + sed -i 's,#include ,#include "${libgpg-error.dev}/include/gpg-error.h",g' "$dev/include/gcrypt.h" + '' + + lib.optionalString enableCapabilities '' + sed -i 's,\(-lcap\),-L${libcap.lib}/lib \1,' $out/lib/libgcrypt.la + ''; doCheck = true; diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index ad360dab55ca2..4ac7d48213e2a 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -1,14 +1,16 @@ -{ lib -, stdenv -, fetchurl -, gettext -, libgpg-error -, enableCapabilities ? false, libcap -, buildPackages -# for passthru.tests -, gnupg -, libotr -, rsyslog +{ + lib, + stdenv, + fetchurl, + gettext, + libgpg-error, + enableCapabilities ? false, + libcap, + buildPackages, + # for passthru.tests + gnupg, + libotr, + rsyslog, }: assert enableCapabilities -> stdenv.hostPlatform.isLinux; @@ -22,7 +24,13 @@ stdenv.mkDerivation rec { hash = "sha256-iwhwiXrFrGfe1Wjc+t9Flpz6imvrD9YK8qnq3Coycqo="; }; - outputs = [ "bin" "lib" "dev" "info" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "info" + "out" + ]; # The CPU Jitter random number generator must not be compiled with # optimizations and the optimize -O0 pragma only works for gcc. @@ -31,20 +39,29 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; - buildInputs = [ libgpg-error ] + buildInputs = + [ libgpg-error ] ++ lib.optional stdenv.hostPlatform.isDarwin gettext ++ lib.optional enableCapabilities libcap; strictDeps = true; - configureFlags = [ "--with-libgpg-error-prefix=${libgpg-error.dev}" ] - ++ lib.optional (stdenv.hostPlatform.isMusl || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--disable-asm" # for darwin see https://dev.gnupg.org/T5157 - # Fix undefined reference errors with version script under LLVM. - ++ lib.optional (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "LDFLAGS=-Wl,--undefined-version"; + configureFlags = + [ "--with-libgpg-error-prefix=${libgpg-error.dev}" ] + ++ lib.optional ( + stdenv.hostPlatform.isMusl || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + ) "--disable-asm" # for darwin see https://dev.gnupg.org/T5157 + # Fix undefined reference errors with version script under LLVM. + ++ lib.optional ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) "LDFLAGS=-Wl,--undefined-version"; # Necessary to generate correct assembly when compiling for aarch32 on # aarch64 - configurePlatforms = [ "host" "build" ]; + configurePlatforms = [ + "host" + "build" + ]; postConfigure = '' sed -i configure \ @@ -55,18 +72,20 @@ stdenv.mkDerivation rec { # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config - postFixup = '' - sed -i 's,#include ,#include "${libgpg-error.dev}/include/gpg-error.h",g' "$dev/include/gcrypt.h" - '' - # The `libgcrypt-config` script references $dev and in the $dev output, the - # stdenv automagically puts the $bin output into propagatedBuildInputs. This - # would cause a cycle. This is a weird tool anyways, so let's stuff it in $dev - # instead. - + '' - moveToOutput bin/libgcrypt-config $dev - '' + lib.optionalString enableCapabilities '' - sed -i 's,\(-lcap\),-L${libcap.lib}/lib \1,' $lib/lib/libgcrypt.la - ''; + postFixup = + '' + sed -i 's,#include ,#include "${libgpg-error.dev}/include/gpg-error.h",g' "$dev/include/gcrypt.h" + '' + # The `libgcrypt-config` script references $dev and in the $dev output, the + # stdenv automagically puts the $bin output into propagatedBuildInputs. This + # would cause a cycle. This is a weird tool anyways, so let's stuff it in $dev + # instead. + + '' + moveToOutput bin/libgcrypt-config $dev + '' + + lib.optionalString enableCapabilities '' + sed -i 's,\(-lcap\),-L${libcap.lib}/lib \1,' $lib/lib/libgcrypt.la + ''; # TODO: figure out why this is even necessary and why the missing dylib only crashes # random instead of every test diff --git a/pkgs/development/libraries/libgda/6.x.nix b/pkgs/development/libraries/libgda/6.x.nix index 72f4741fd2e76..f0f23ec7953b9 100644 --- a/pkgs/development/libraries/libgda/6.x.nix +++ b/pkgs/development/libraries/libgda/6.x.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, intltool -, meson -, ninja -, itstool -, libxml2 -, python3 -, gtk3 -, json-glib -, isocodes -, openssl -, gnome -, gobject-introspection -, vala -, libgee -, sqlite -, gtk-doc -, yelp-tools -, mysqlSupport ? false -, libmysqlclient ? null -, postgresSupport ? false -, postgresql ? null +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + intltool, + meson, + ninja, + itstool, + libxml2, + python3, + gtk3, + json-glib, + isocodes, + openssl, + gnome, + gobject-introspection, + vala, + libgee, + sqlite, + gtk-doc, + yelp-tools, + mysqlSupport ? false, + libmysqlclient ? null, + postgresSupport ? false, + postgresql ? null, }: assert mysqlSupport -> libmysqlclient != null; @@ -72,18 +73,21 @@ stdenv.mkDerivation rec { yelp-tools ]; - buildInputs = [ - gtk3 - json-glib - isocodes - openssl - libgee - sqlite - ] ++ lib.optionals mysqlSupport [ - libmysqlclient - ] ++ lib.optionals postgresSupport [ - postgresql - ]; + buildInputs = + [ + gtk3 + json-glib + isocodes + openssl + libgee + sqlite + ] + ++ lib.optionals mysqlSupport [ + libmysqlclient + ] + ++ lib.optionals postgresSupport [ + postgresql + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types"; diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix index b6a64c4b7a3fb..cc0306810d5eb 100644 --- a/pkgs/development/libraries/libgda/default.nix +++ b/pkgs/development/libraries/libgda/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, intltool -, itstool -, libxml2 -, gtk3 -, openssl -, gnome -, gobject-introspection -, vala -, libgee -, fetchpatch -, autoreconfHook -, gtk-doc -, autoconf-archive -, yelp-tools -, mysqlSupport ? false -, libmysqlclient -, postgresSupport ? false -, postgresql +{ + lib, + stdenv, + fetchurl, + pkg-config, + intltool, + itstool, + libxml2, + gtk3, + openssl, + gnome, + gobject-introspection, + vala, + libgee, + fetchpatch, + autoreconfHook, + gtk-doc, + autoconf-archive, + yelp-tools, + mysqlSupport ? false, + libmysqlclient, + postgresSupport ? false, + postgresql, }: stdenv.mkDerivation rec { @@ -56,15 +57,18 @@ stdenv.mkDerivation rec { yelp-tools ]; - buildInputs = [ - gtk3 - openssl - libgee - ] ++ lib.optionals mysqlSupport [ - libmysqlclient - ] ++ lib.optionals postgresSupport [ - postgresql - ]; + buildInputs = + [ + gtk3 + openssl + libgee + ] + ++ lib.optionals mysqlSupport [ + libmysqlclient + ] + ++ lib.optionals postgresSupport [ + postgresql + ]; propagatedBuildInputs = [ libxml2 diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix index 63efe5430537f..58afe09e7cd4b 100644 --- a/pkgs/development/libraries/libgdiplus/default.nix +++ b/pkgs/development/libraries/libgdiplus/default.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, fetchzip, pkg-config, glib, cairo, Carbon, fontconfig -, libtiff, giflib, libjpeg, libpng -, libXrender, libexif, autoreconfHook }: +{ + lib, + stdenv, + fetchzip, + pkg-config, + glib, + cairo, + Carbon, + fontconfig, + libtiff, + giflib, + libjpeg, + libpng, + libXrender, + libexif, + autoreconfHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "libgdiplus"; @@ -20,21 +34,33 @@ stdenv.mkDerivation (finalAttrs: { NIX_LDFLAGS = "-lgif"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; hardeningDisable = [ "format" ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; configureFlags = lib.optional stdenv.cc.isClang "--host=${stdenv.hostPlatform.system}"; enableParallelBuilding = true; - buildInputs = - [ glib cairo fontconfig libtiff giflib - libjpeg libpng libXrender libexif - ] - ++ lib.optional stdenv.hostPlatform.isDarwin Carbon; + buildInputs = [ + glib + cairo + fontconfig + libtiff + giflib + libjpeg + libpng + libXrender + libexif + ] ++ lib.optional stdenv.hostPlatform.isDarwin Carbon; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so diff --git a/pkgs/development/libraries/libgnome-games-support/2.0.nix b/pkgs/development/libraries/libgnome-games-support/2.0.nix index bc8da8045899a..300375c1843f7 100644 --- a/pkgs/development/libraries/libgnome-games-support/2.0.nix +++ b/pkgs/development/libraries/libgnome-games-support/2.0.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, glib -, gobject-introspection -, gtk4 -, libgee -, gettext -, vala -, gnome -, libintl -, meson -, ninja +{ + stdenv, + lib, + fetchurl, + pkg-config, + glib, + gobject-introspection, + gtk4, + libgee, + gettext, + vala, + gnome, + libintl, + meson, + ninja, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libgnome-games-support/default.nix b/pkgs/development/libraries/libgnome-games-support/default.nix index bdbdc10f514c8..2deaadd37839f 100644 --- a/pkgs/development/libraries/libgnome-games-support/default.nix +++ b/pkgs/development/libraries/libgnome-games-support/default.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, glib -, gtk3 -, libgee -, gettext -, vala -, gnome -, libintl -, meson -, ninja +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gtk3, + libgee, + gettext, + vala, + gnome, + libintl, + meson, + ninja, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix index 5d4e0253be8dc..ead4701576c79 100644 --- a/pkgs/development/libraries/libgpod/default.nix +++ b/pkgs/development/libraries/libgpod/default.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, perlPackages -, intltool -, autoreconfHook -, pkg-config -, glib -, libxml2 -, sqlite -, sg3_utils -, gdk-pixbuf -, taglib -, libimobiledevice -, monoSupport ? false -, mono -, gtk-sharp-2_0 +{ + stdenv, + lib, + fetchurl, + fetchpatch, + perlPackages, + intltool, + autoreconfHook, + pkg-config, + glib, + libxml2, + sqlite, + sg3_utils, + gdk-pixbuf, + taglib, + libimobiledevice, + monoSupport ? false, + mono, + gtk-sharp-2_0, }: stdenv.mkDerivation rec { @@ -27,7 +28,10 @@ stdenv.mkDerivation rec { hash = "sha256-Y4p5WdBOlfHmKrrQK9M3AuTo3++YSFrH2dUDlcN+lV0="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = [ (fetchpatch { @@ -50,8 +54,16 @@ stdenv.mkDerivation rec { dontStrip = monoSupport; - nativeBuildInputs = [ autoreconfHook intltool pkg-config ] - ++ (with perlPackages; [ perl XMLParser ]) + nativeBuildInputs = + [ + autoreconfHook + intltool + pkg-config + ] + ++ (with perlPackages; [ + perl + XMLParser + ]) ++ lib.optional monoSupport mono; buildInputs = [ diff --git a/pkgs/development/libraries/libgrss/default.nix b/pkgs/development/libraries/libgrss/default.nix index d2ac5a83602a2..73b22e6c9035d 100644 --- a/pkgs/development/libraries/libgrss/default.nix +++ b/pkgs/development/libraries/libgrss/default.nix @@ -1,13 +1,32 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, vala, gobject-introspection, gtk-doc -, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup_2_4, gnome, buildPackages -, Foundation, AppKit +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + vala, + gobject-introspection, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + glib, + libxml2, + libsoup_2_4, + gnome, + buildPackages, + Foundation, + AppKit, }: stdenv.mkDerivation rec { pname = "libgrss"; version = "0.7.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -32,20 +51,24 @@ stdenv.mkDerivation rec { docbook_xml_dtd_412 ]; - buildInputs = [ - glib - libxml2 - libsoup_2_4 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Foundation - AppKit - ]; + buildInputs = + [ + glib + libxml2 + libsoup_2_4 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + AppKit + ]; - configureFlags = [ - "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" - ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ - "--enable-gtk-doc" - ]; + configureFlags = + [ + "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" + ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ + "--enable-gtk-doc" + ]; doCheck = true; diff --git a/pkgs/development/libraries/libhandy/0.x.nix b/pkgs/development/libraries/libhandy/0.x.nix index c20a8382b5d08..9df815ce2e6c5 100644 --- a/pkgs/development/libraries/libhandy/0.x.nix +++ b/pkgs/development/libraries/libhandy/0.x.nix @@ -1,15 +1,32 @@ -{ lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, gobject-introspection, vala -, gtk-doc, docbook_xsl, docbook_xml_dtd_43 -, gtk3, gnome-desktop -, dbus, xvfb-run, libxml2 -, hicolor-icon-theme +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_43, + gtk3, + gnome-desktop, + dbus, + xvfb-run, + libxml2, + hicolor-icon-theme, }: stdenv.mkDerivation rec { pname = "libhandy"; version = "0.0.13"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; src = fetchFromGitLab { @@ -21,11 +38,26 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja pkg-config gobject-introspection vala libxml2 - gtk-doc docbook_xsl docbook_xml_dtd_43 + meson + ninja + pkg-config + gobject-introspection + vala + libxml2 + gtk-doc + docbook_xsl + docbook_xml_dtd_43 + ]; + buildInputs = [ + gnome-desktop + gtk3 + libxml2 + ]; + nativeCheckInputs = [ + dbus + xvfb-run + hicolor-icon-theme ]; - buildInputs = [ gnome-desktop gtk3 libxml2 ]; - nativeCheckInputs = [ dbus xvfb-run hicolor-icon-theme ]; mesonFlags = [ "-Dgtk_doc=true" diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix index 829de78a6aeb3..9853dcbd3ff75 100644 --- a/pkgs/development/libraries/libhandy/default.nix +++ b/pkgs/development/libraries/libhandy/default.nix @@ -1,40 +1,43 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gobject-introspection -, vala -, gi-docgen -, glib -, gsettings-desktop-schemas -, gtk3 -, enableGlade ? false -, glade -, xvfb-run -, gdk-pixbuf -, librsvg -, libxml2 -, hicolor-icon-theme -, at-spi2-atk -, at-spi2-core -, gnome -, libhandy -, runCommand +{ + lib, + stdenv, + fetchurl, + meson, + ninja, + pkg-config, + gobject-introspection, + vala, + gi-docgen, + glib, + gsettings-desktop-schemas, + gtk3, + enableGlade ? false, + glade, + xvfb-run, + gdk-pixbuf, + librsvg, + libxml2, + hicolor-icon-theme, + at-spi2-atk, + at-spi2-core, + gnome, + libhandy, + runCommand, }: stdenv.mkDerivation rec { pname = "libhandy"; version = "1.8.3"; - outputs = [ - "out" - "dev" - "devdoc" - ] ++ lib.optionals enableGlade [ - "glade" - ]; + outputs = + [ + "out" + "dev" + "devdoc" + ] + ++ lib.optionals enableGlade [ + "glade" + ]; outputBin = "dev"; src = fetchurl { @@ -46,23 +49,27 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - gobject-introspection - gi-docgen - meson - ninja - pkg-config - vala - ] ++ lib.optionals enableGlade [ - libxml2 # for xmllint - ]; - - buildInputs = [ - gdk-pixbuf - gtk3 - ] ++ lib.optionals enableGlade [ - glade - ]; + nativeBuildInputs = + [ + gobject-introspection + gi-docgen + meson + ninja + pkg-config + vala + ] + ++ lib.optionals enableGlade [ + libxml2 # for xmllint + ]; + + buildInputs = + [ + gdk-pixbuf + gtk3 + ] + ++ lib.optionals enableGlade [ + glade + ]; nativeCheckInputs = [ xvfb-run @@ -90,15 +97,17 @@ stdenv.mkDerivation rec { # Disable portal since we cannot run it in tests. HDY_DISABLE_PORTAL=1 - "XDG_DATA_DIRS=${lib.concatStringsSep ":" [ - # HdySettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme. - # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name. - # See hdy_settings_constructed function in https://gitlab.gnome.org/GNOME/libhandy/-/commit/bb68249b005c445947bfb2bee66c91d0fe9c41a4 - (glib.getSchemaDataDirPath gsettings-desktop-schemas) - - # Some tests require icons - "${hicolor-icon-theme}/share" - ]}" + "XDG_DATA_DIRS=${ + lib.concatStringsSep ":" [ + # HdySettings needs to be initialized from “org.gnome.desktop.interface” GSettings schema when portal is not used for color scheme. + # It will not actually be used since the “color-scheme” key will only have been introduced in GNOME 42, falling back to detecting theme name. + # See hdy_settings_constructed function in https://gitlab.gnome.org/GNOME/libhandy/-/commit/bb68249b005c445947bfb2bee66c91d0fe9c41a4 + (glib.getSchemaDataDirPath gsettings-desktop-schemas) + + # Some tests require icons + "${hicolor-icon-theme}/share" + ] + }" ) env "''${testEnvironment[@]}" xvfb-run \ meson test --print-errorlogs @@ -111,23 +120,26 @@ stdenv.mkDerivation rec { moveToOutput "share/doc" "$devdoc" ''; - passthru = { - updateScript = gnome.updateScript { - packageName = pname; - versionPolicy = "odd-unstable"; + passthru = + { + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "odd-unstable"; + }; + } + // lib.optionalAttrs (!enableGlade) { + glade = + let + libhandyWithGlade = libhandy.override { + enableGlade = true; + }; + in + runCommand "${libhandy.name}-glade" { } '' + cp -r "${libhandyWithGlade.glade}" "$out" + chmod -R +w "$out" + sed -e "s#${libhandyWithGlade.out}#${libhandy.out}#g" -e "s#${libhandyWithGlade.glade}#$out#g" -i $(find "$out" -type f) + ''; }; - } // lib.optionalAttrs (!enableGlade) { - glade = - let - libhandyWithGlade = libhandy.override { - enableGlade = true; - }; - in runCommand "${libhandy.name}-glade" {} '' - cp -r "${libhandyWithGlade.glade}" "$out" - chmod -R +w "$out" - sed -e "s#${libhandyWithGlade.out}#${libhandy.out}#g" -e "s#${libhandyWithGlade.glade}#$out#g" -i $(find "$out" -type f) - ''; - }; meta = with lib; { changelog = "https://gitlab.gnome.org/GNOME/libhandy/-/tags/${version}"; diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix index 3cf0e799cb7ed..507d0d9f5f555 100644 --- a/pkgs/development/libraries/libiconv/default.nix +++ b/pkgs/development/libraries/libiconv/default.nix @@ -1,93 +1,102 @@ -{ fetchurl, stdenv, lib -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !stdenv.hostPlatform.isStatic -, enableDarwinABICompat ? false +{ + fetchurl, + stdenv, + lib, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, + enableDarwinABICompat ? false, }: # assert !stdenv.hostPlatform.isLinux || stdenv.hostPlatform != stdenv.buildPlatform; # TODO: improve on cross -stdenv.mkDerivation (rec { - pname = "libiconv"; - version = "1.17"; +stdenv.mkDerivation ( + rec { + pname = "libiconv"; + version = "1.17"; - src = fetchurl { - url = "mirror://gnu/libiconv/${pname}-${version}.tar.gz"; - sha256 = "sha256-j3QhO1YjjIWlClMp934GGYdx5w3Zpzl3n0wC9l2XExM="; - }; + src = fetchurl { + url = "mirror://gnu/libiconv/${pname}-${version}.tar.gz"; + sha256 = "sha256-j3QhO1YjjIWlClMp934GGYdx5w3Zpzl3n0wC9l2XExM="; + }; - enableParallelBuilding = true; + enableParallelBuilding = true; - setupHooks = [ - ../../../build-support/setup-hooks/role.bash - ./setup-hook.sh - ]; + setupHooks = [ + ../../../build-support/setup-hooks/role.bash + ./setup-hook.sh + ]; - postPatch = - lib.optionalString ((stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isMinGW) || stdenv.cc.nativeLibc) + postPatch = + lib.optionalString + ( + (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isMinGW) || stdenv.cc.nativeLibc + ) + '' + sed '/^_GL_WARN_ON_USE (gets/d' -i srclib/stdio.in.h + '' + + lib.optionalString (!enableShared) '' + sed -i -e '/preload/d' Makefile.in '' - sed '/^_GL_WARN_ON_USE (gets/d' -i srclib/stdio.in.h - '' - + lib.optionalString (!enableShared) '' - sed -i -e '/preload/d' Makefile.in - '' - # The system libiconv is based on libiconv 1.11 with some ABI differences. The following changes - # build a compatible libiconv on Darwin, allowing it to be sustituted in place of the system one - # using `install_name_tool`. This removes the need to for a separate, Darwin-specific libiconv - # derivation and allows Darwin to benefit from upstream updates and fixes. - + lib.optionalString enableDarwinABICompat '' - for iconv_h_in in iconv.h.in iconv.h.build.in; do - substituteInPlace "include/$iconv_h_in" \ - --replace-fail "#define iconv libiconv" "" \ - --replace-fail "#define iconv_close libiconv_close" "" \ - --replace-fail "#define iconv_open libiconv_open" "" \ - --replace-fail "#define iconv_open_into libiconv_open_into" "" \ - --replace-fail "#define iconvctl libiconvctl" "" \ - --replace-fail "#define iconvlist libiconvlist" "" - done - ''; + # The system libiconv is based on libiconv 1.11 with some ABI differences. The following changes + # build a compatible libiconv on Darwin, allowing it to be sustituted in place of the system one + # using `install_name_tool`. This removes the need to for a separate, Darwin-specific libiconv + # derivation and allows Darwin to benefit from upstream updates and fixes. + + lib.optionalString enableDarwinABICompat '' + for iconv_h_in in iconv.h.in iconv.h.build.in; do + substituteInPlace "include/$iconv_h_in" \ + --replace-fail "#define iconv libiconv" "" \ + --replace-fail "#define iconv_close libiconv_close" "" \ + --replace-fail "#define iconv_open libiconv_open" "" \ + --replace-fail "#define iconv_open_into libiconv_open_into" "" \ + --replace-fail "#define iconvctl libiconvctl" "" \ + --replace-fail "#define iconvlist libiconvlist" "" + done + ''; - # This is hacky, but `libiconv.dylib` needs to reexport `libcharset.dylib` to match the behavior - # of the system libiconv on Darwin. Trying to do this by modifying the `Makefile` results in an - # error linking `iconv` because `libcharset.dylib` is not at its final path yet. Avoid the error - # by building without the reexport then clean and rebuild `libiconv.dylib` with the reexport. - # - # For an explanation why `libcharset.dylib` is reexported, see: - # https://github.com/apple-oss-distributions/libiconv/blob/a167071feb7a83a01b27ec8d238590c14eb6faff/xcodeconfig/libiconv.xcconfig - postBuild = lib.optionalString enableDarwinABICompat '' - make clean -C lib - NIX_CFLAGS_COMPILE+=" -Wl,-reexport-lcharset -L. " make -C lib -j$NIX_BUILD_CORES SHELL=$SHELL - ''; + # This is hacky, but `libiconv.dylib` needs to reexport `libcharset.dylib` to match the behavior + # of the system libiconv on Darwin. Trying to do this by modifying the `Makefile` results in an + # error linking `iconv` because `libcharset.dylib` is not at its final path yet. Avoid the error + # by building without the reexport then clean and rebuild `libiconv.dylib` with the reexport. + # + # For an explanation why `libcharset.dylib` is reexported, see: + # https://github.com/apple-oss-distributions/libiconv/blob/a167071feb7a83a01b27ec8d238590c14eb6faff/xcodeconfig/libiconv.xcconfig + postBuild = lib.optionalString enableDarwinABICompat '' + make clean -C lib + NIX_CFLAGS_COMPILE+=" -Wl,-reexport-lcharset -L. " make -C lib -j$NIX_BUILD_CORES SHELL=$SHELL + ''; - configureFlags = [ - (lib.enableFeature enableStatic "static") - (lib.enableFeature enableShared "shared") - ] ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; + configureFlags = [ + (lib.enableFeature enableStatic "static") + (lib.enableFeature enableShared "shared") + ] ++ lib.optional stdenv.hostPlatform.isFreeBSD "--with-pic"; - passthru = { inherit setupHooks; }; + passthru = { inherit setupHooks; }; - meta = { - description = "Iconv(3) implementation"; + meta = { + description = "Iconv(3) implementation"; - longDescription = '' - Some programs, like mailers and web browsers, must be able to convert - between a given text encoding and the user's encoding. Other programs - internally store strings in Unicode, to facilitate internal processing, - and need to convert between internal string representation (Unicode) - and external string representation (a traditional encoding) when they - are doing I/O. GNU libiconv is a conversion library for both kinds of - applications. - ''; + longDescription = '' + Some programs, like mailers and web browsers, must be able to convert + between a given text encoding and the user's encoding. Other programs + internally store strings in Unicode, to facilitate internal processing, + and need to convert between internal string representation (Unicode) + and external string representation (a traditional encoding) when they + are doing I/O. GNU libiconv is a conversion library for both kinds of + applications. + ''; - homepage = "https://www.gnu.org/software/libiconv/"; - license = lib.licenses.lgpl2Plus; + homepage = "https://www.gnu.org/software/libiconv/"; + license = lib.licenses.lgpl2Plus; - maintainers = [ ]; - mainProgram = "iconv"; + maintainers = [ ]; + mainProgram = "iconv"; - # This library is not needed on GNU platforms. - hydraPlatforms = with lib.platforms; cygwin ++ darwin ++ freebsd; - }; -} // lib.optionalAttrs (stdenv.hostPlatform.libc == "bionic") { - # https://github.com/NixOS/nixpkgs/pull/192630#discussion_r978985593 - hardeningDisable = [ "fortify" ]; -}) + # This library is not needed on GNU platforms. + hydraPlatforms = with lib.platforms; cygwin ++ darwin ++ freebsd; + }; + } + // lib.optionalAttrs (stdenv.hostPlatform.libc == "bionic") { + # https://github.com/NixOS/nixpkgs/pull/192630#discussion_r978985593 + hardeningDisable = [ "fortify" ]; + } +) diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index 90c7198757c70..03bed5005db29 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, libiconv, libunistring, help2man, texinfo, buildPackages }: +{ + fetchurl, + lib, + stdenv, + libiconv, + libunistring, + help2man, + texinfo, + buildPackages, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -16,13 +25,22 @@ stdenv.mkDerivation rec { strictDeps = true; # Beware: non-bootstrap libidn2 is overridden by ./hack.nix - outputs = [ "bin" "dev" "out" "info" "devdoc" ]; + outputs = [ + "bin" + "dev" + "out" + "info" + "devdoc" + ]; enableParallelBuilding = true; # The above patch causes the documentation to be regenerated, so the # documentation tools are required. - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ help2man texinfo ]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + help2man + texinfo + ]; buildInputs = [ libunistring ] ++ lib.optional stdenv.hostPlatform.isDarwin libiconv; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -40,7 +58,11 @@ stdenv.mkDerivation rec { ''; mainProgram = "idn2"; - license = with lib.licenses; [ lgpl3Plus gpl2Plus gpl3Plus ]; + license = with lib.licenses; [ + lgpl3Plus + gpl2Plus + gpl3Plus + ]; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ fpletz ]; }; diff --git a/pkgs/development/libraries/libidn2/no-bootstrap-reference.nix b/pkgs/development/libraries/libidn2/no-bootstrap-reference.nix index 216beb5c48bda..7c01fddb75bd8 100644 --- a/pkgs/development/libraries/libidn2/no-bootstrap-reference.nix +++ b/pkgs/development/libraries/libidn2/no-bootstrap-reference.nix @@ -1,10 +1,20 @@ -{ stdenv, lib, libidn2, libunistring, runCommandLocal, patchelf }: +{ + stdenv, + lib, + libidn2, + libunistring, + runCommandLocal, + patchelf, +}: # Construct a copy of libidn2.* where all (transitive) libc references (in .bin) # get replaced by a new one, so that there's no reference to bootstrap tools. -runCommandLocal - "${libidn2.pname}-${libidn2.version}" +runCommandLocal "${libidn2.pname}-${libidn2.version}" { - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; passthru = { inherit (libidn2) out info devdoc; # no need to touch these store paths }; @@ -15,8 +25,13 @@ runCommandLocal chmod +w "$bin"/bin/* patchelf \ --set-interpreter '${stdenv.cc.bintools.dynamicLinker}' \ - --set-rpath '${lib.concatMapStringsSep ":" (p: lib.getLib p + "/lib") - [ stdenv.cc.libc libunistring libidn2 ]}' \ + --set-rpath '${ + lib.concatMapStringsSep ":" (p: lib.getLib p + "/lib") [ + stdenv.cc.libc + libunistring + libidn2 + ] + }' \ "$bin"/bin/* cp -r '${libidn2.dev}' "$dev" @@ -28,4 +43,3 @@ runCommandLocal ln -s '${libidn2.out}' "$out" # it's hard to be without any $out '' - diff --git a/pkgs/development/libraries/libiio/default.nix b/pkgs/development/libraries/libiio/default.nix index 023dfce86bf57..ce75d6c0fe83e 100644 --- a/pkgs/development/libraries/libiio/default.nix +++ b/pkgs/development/libraries/libiio/default.nix @@ -1,26 +1,32 @@ -{ stdenv -, fetchFromGitHub -, cmake -, flex -, bison -, libxml2 -, pythonSupport ? stdenv.hostPlatform.hasSharedLibraries, python -, libusb1 -, avahiSupport ? true, avahi -, libaio -, runtimeShell -, lib -, pkg-config -, CFNetwork -, CoreServices +{ + stdenv, + fetchFromGitHub, + cmake, + flex, + bison, + libxml2, + pythonSupport ? stdenv.hostPlatform.hasSharedLibraries, + python, + libusb1, + avahiSupport ? true, + avahi, + libaio, + runtimeShell, + lib, + pkg-config, + CFNetwork, + CoreServices, }: stdenv.mkDerivation rec { pname = "libiio"; version = "0.24"; - outputs = [ "out" "lib" "dev" ] - ++ lib.optional pythonSupport "python"; + outputs = [ + "out" + "lib" + "dev" + ] ++ lib.optional pythonSupport "python"; src = fetchFromGitHub { owner = "analogdevicesinc"; @@ -33,42 +39,57 @@ stdenv.mkDerivation rec { # fixed properly patches = [ ./cmake-fix-libxml2-find-package.patch ]; - nativeBuildInputs = [ - cmake - flex - bison - pkg-config - ] ++ lib.optionals pythonSupport ([ - python - ] ++ lib.optional python.isPy3k python.pkgs.setuptools); + nativeBuildInputs = + [ + cmake + flex + bison + pkg-config + ] + ++ lib.optionals pythonSupport ( + [ + python + ] + ++ lib.optional python.isPy3k python.pkgs.setuptools + ); - buildInputs = [ - libxml2 - libusb1 - ] ++ lib.optional avahiSupport avahi + buildInputs = + [ + libxml2 + libusb1 + ] + ++ lib.optional avahiSupport avahi ++ lib.optional stdenv.hostPlatform.isLinux libaio - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CFNetwork CoreServices ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CFNetwork + CoreServices + ]; - cmakeFlags = [ - "-DUDEV_RULES_INSTALL_DIR=${placeholder "out"}/lib/udev/rules.d" - # osx framework is disabled, - # the linux-like directory structure is used for proper output splitting - "-DOSX_PACKAGE=off" - "-DOSX_FRAMEWORK=off" - ] ++ lib.optionals pythonSupport [ - "-DPython_EXECUTABLE=${python.pythonOnBuildForHost.interpreter}" - "-DPYTHON_BINDINGS=on" - ] ++ lib.optionals (!avahiSupport) [ - "-DHAVE_DNS_SD=OFF" - ]; + cmakeFlags = + [ + "-DUDEV_RULES_INSTALL_DIR=${placeholder "out"}/lib/udev/rules.d" + # osx framework is disabled, + # the linux-like directory structure is used for proper output splitting + "-DOSX_PACKAGE=off" + "-DOSX_FRAMEWORK=off" + ] + ++ lib.optionals pythonSupport [ + "-DPython_EXECUTABLE=${python.pythonOnBuildForHost.interpreter}" + "-DPYTHON_BINDINGS=on" + ] + ++ lib.optionals (!avahiSupport) [ + "-DHAVE_DNS_SD=OFF" + ]; - postPatch = '' - substituteInPlace libiio.rules.cmakein \ - --replace /bin/sh ${runtimeShell} - '' + lib.optionalString pythonSupport '' - # Hardcode path to the shared library into the bindings. - sed "s#@libiio@#$lib/lib/libiio${stdenv.hostPlatform.extensions.sharedLibrary}#g" ${./hardcode-library-path.patch} | patch -p1 - ''; + postPatch = + '' + substituteInPlace libiio.rules.cmakein \ + --replace /bin/sh ${runtimeShell} + '' + + lib.optionalString pythonSupport '' + # Hardcode path to the shared library into the bindings. + sed "s#@libiio@#$lib/lib/libiio${stdenv.hostPlatform.extensions.sharedLibrary}#g" ${./hardcode-library-path.patch} | patch -p1 + ''; postInstall = lib.optionalString pythonSupport '' # Move Python bindings into a separate output. diff --git a/pkgs/development/libraries/libimobiledevice/default.nix b/pkgs/development/libraries/libimobiledevice/default.nix index 88b9391d4bdbb..416ebdb1e21a4 100644 --- a/pkgs/development/libraries/libimobiledevice/default.nix +++ b/pkgs/development/libraries/libimobiledevice/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, openssl -, libgcrypt -, libplist -, libtasn1 -, libusbmuxd -, libimobiledevice-glue -, SystemConfiguration -, CoreFoundation -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + openssl, + libgcrypt, + libplist, + libtasn1, + libusbmuxd, + libimobiledevice-glue, + SystemConfiguration, + CoreFoundation, + unstableGitUpdater, }: stdenv.mkDerivation rec { @@ -47,20 +48,24 @@ stdenv.mkDerivation rec { pkg-config ]; - propagatedBuildInputs = [ - openssl - libgcrypt - libplist - libtasn1 - libusbmuxd - libimobiledevice-glue - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - SystemConfiguration - CoreFoundation - ]; - + propagatedBuildInputs = + [ + openssl + libgcrypt + libplist + libtasn1 + libusbmuxd + libimobiledevice-glue + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + SystemConfiguration + CoreFoundation + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libint/default.nix b/pkgs/development/libraries/libint/default.nix index 73e400810f619..04510dc5bca01 100644 --- a/pkgs/development/libraries/libint/default.nix +++ b/pkgs/development/libraries/libint/default.nix @@ -1,63 +1,64 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, libtool -, python3 -, perl -, gmpxx -, mpfr -, boost -, eigen -, gfortran -, cmake -, enableFMA ? stdenv.hostPlatform.fmaSupport -, enableFortran ? true -, enableSSE ? (!enableFortran) && stdenv.hostPlatform.isx86_64 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + python3, + perl, + gmpxx, + mpfr, + boost, + eigen, + gfortran, + cmake, + enableFMA ? stdenv.hostPlatform.fmaSupport, + enableFortran ? true, + enableSSE ? (!enableFortran) && stdenv.hostPlatform.isx86_64, # Maximum angular momentum of basis functions # 7 is required for def2/J auxiliary basis on 3d metals upwards -, maxAm ? 7 + maxAm ? 7, # ERI derivative order for 4-, 3- and 2-centre ERIs. # 2nd derivatives are defaults and allow gradients Hessians with density fitting # Setting them to zero disables derivatives. -, eriDeriv ? 2 -, eri3Deriv ? 2 -, eri2Deriv ? 2 + eriDeriv ? 2, + eri3Deriv ? 2, + eri2Deriv ? 2, # Angular momentum for derivatives of ERIs. Takes a list of length $DERIV_ORD+1. # Starting from index 0, each index i specifies the supported angular momentum # for the derivative order i, e.g. [6,5,4] supports ERIs for l=6, their first # derivatives for l=5 and their second derivatives for l=4. -, eriAm ? (builtins.genList (i: maxAm - 1 - i) (eriDeriv + 1)) -, eri3Am ? (builtins.genList (i: maxAm - i) (eri2Deriv + 1)) -, eri2Am ? (builtins.genList (i: maxAm - i) (eri2Deriv + 1)) + eriAm ? (builtins.genList (i: maxAm - 1 - i) (eriDeriv + 1)), + eri3Am ? (builtins.genList (i: maxAm - i) (eri2Deriv + 1)), + eri2Am ? (builtins.genList (i: maxAm - i) (eri2Deriv + 1)), # Same as above for optimised code. Higher optimisations take a long time. -, eriOptAm ? (builtins.genList (i: maxAm - 3 - i) (eriDeriv + 1)) -, eri3OptAm ? (builtins.genList (i: maxAm - 3 - i) (eri2Deriv + 1)) -, eri2OptAm ? (builtins.genList (i: maxAm - 3 - i) (eri2Deriv + 1)) + eriOptAm ? (builtins.genList (i: maxAm - 3 - i) (eriDeriv + 1)), + eri3OptAm ? (builtins.genList (i: maxAm - 3 - i) (eri2Deriv + 1)), + eri2OptAm ? (builtins.genList (i: maxAm - 3 - i) (eri2Deriv + 1)), # One-Electron integrals of all kinds including multipole integrals. # Libint does not build them and their derivatives by default. -, enableOneBody ? false -, oneBodyDerivOrd ? 2 -, multipoleOrd ? 4 # Maximum order of multipole integrals, 4=octopoles + enableOneBody ? false, + oneBodyDerivOrd ? 2, + multipoleOrd ? 4, # Maximum order of multipole integrals, 4=octopoles # Whether to enable generic code if angular momentum is unsupported -, enableGeneric ? true + enableGeneric ? true, # Support integrals over contracted Gaussian -, enableContracted ? true + enableContracted ? true, # Spherical harmonics/Cartesian orbital conventions -, cartGaussOrd ? "standard" # Ordering of Cartesian basis functions, "standard" is CCA -, shGaussOrd ? "standard" # Ordering of spherical harmonic basis functions. "standard" is -l to +l, "guassian" is 0, 1, -1, 2, -2, ... -, shellSet ? "standard" -, eri3PureSh ? false # Transformation of 3-centre ERIs into spherical harmonics -, eri2PureSh ? false # Transformation of 2-centre ERIs into spherical harmonics + cartGaussOrd ? "standard", # Ordering of Cartesian basis functions, "standard" is CCA + shGaussOrd ? "standard", # Ordering of spherical harmonic basis functions. "standard" is -l to +l, "guassian" is 0, 1, -1, 2, -2, ... + shellSet ? "standard", + eri3PureSh ? false, # Transformation of 3-centre ERIs into spherical harmonics + eri2PureSh ? false, # Transformation of 2-centre ERIs into spherical harmonics }: # Check that Fortran bindings are not used together with SIMD real type @@ -73,39 +74,57 @@ assert (eri3Deriv >= 0 && eri3Deriv <= 4); # Ensure valid arguments for generated angular momenta in ERI derivatives are used. assert ( - builtins.length eriAm == eriDeriv + 1 && - builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eriAm) + builtins.length eriAm == eriDeriv + 1 + && builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eriAm) ); assert ( - builtins.length eri3Am == eriDeriv + 1 && - builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri3Am) + builtins.length eri3Am == eriDeriv + 1 + && builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri3Am) ); assert ( - builtins.length eri2Am == eriDeriv + 1 && - builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri2Am) + builtins.length eri2Am == eriDeriv + 1 + && builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri2Am) ); # Ensure valid arguments for generated angular momenta in optimised ERI derivatives are used. assert ( - builtins.length eriOptAm == eriDeriv + 1 && - builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eriOptAm) + builtins.length eriOptAm == eriDeriv + 1 + && builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eriOptAm) ); assert ( - builtins.length eri3OptAm == eriDeriv + 1 && - builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri3OptAm) + builtins.length eri3OptAm == eriDeriv + 1 + && builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri3OptAm) ); assert ( - builtins.length eri2OptAm == eriDeriv + 1 && - builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri2OptAm) + builtins.length eri2OptAm == eriDeriv + 1 + && builtins.foldl' (a: b: a && b) true (builtins.map (a: a <= maxAm && a >= 0) eri2OptAm) ); # Ensure a valid derivative order for one-electron integrals assert (oneBodyDerivOrd >= 0 && oneBodyDerivOrd <= 4); # Check that valid basis shell orders are used, see https://github.com/evaleev/libint/wiki -assert (builtins.elem cartGaussOrd [ "standard" "intv3" "gamess" "orca" "bagel" ]); -assert (builtins.elem shGaussOrd [ "standard" "gaussian" ]); -assert (builtins.elem shellSet [ "standard" "orca" ]); +assert ( + builtins.elem cartGaussOrd [ + "standard" + "intv3" + "gamess" + "orca" + "bagel" + ] +); +assert ( + builtins.elem shGaussOrd [ + "standard" + "gaussian" + ] +); +assert ( + builtins.elem shellSet [ + "standard" + "orca" + ] +); let pname = "libint"; @@ -114,8 +133,14 @@ let meta = { description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions"; homepage = "https://github.com/evaleev/libint"; - license = with lib.licenses; [ lgpl3Only gpl3Only ]; - maintainers = with lib.maintainers; [ markuskowa sheepforce ]; + license = with lib.licenses; [ + lgpl3Only + gpl3Only + ]; + maintainers = with lib.maintainers; [ + markuskowa + sheepforce + ]; platforms = [ "x86_64-linux" ]; }; @@ -153,34 +178,37 @@ let gmpxx ] ++ lib.optional enableFortran gfortran; - buildInputs = [ boost eigen ]; - - configureFlags = [ - "--with-max-am=${builtins.toString maxAm}" - "--with-eri-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eriAm)}" - "--with-eri3-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri3Am)}" - "--with-eri2-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri2Am)}" - "--with-eri-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eriOptAm)}" - "--with-eri3-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri3OptAm)}" - "--with-eri2-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri2OptAm)}" - "--with-cartgauss-ordering=${cartGaussOrd}" - "--with-shgauss-ordering=${shGaussOrd}" - "--with-shell-set=${shellSet}" - ] - ++ lib.optional enableFMA "--enable-fma" - ++ lib.optional (eriDeriv > 0) "--enable-eri=${builtins.toString eriDeriv}" - ++ lib.optional (eri2Deriv > 0) "--enable-eri2=${builtins.toString eri2Deriv}" - ++ lib.optional (eri3Deriv > 0) "--enable-eri3=${builtins.toString eri3Deriv}" - ++ lib.optionals enableOneBody [ - "--enable-1body=${builtins.toString oneBodyDerivOrd}" - "--enable-1body-property-derivs" - ] - ++ lib.optional (multipoleOrd > 0) "--with-multipole-max-order=${builtins.toString multipoleOrd}" - ++ lib.optional enableGeneric "--enable-generic" - ++ lib.optional enableContracted "--enable-contracted-ints" - ++ lib.optional eri3PureSh "--enable-eri3-pure-sh" - ++ lib.optional eri2PureSh "--enable-eri2-pure-sh" - ; + buildInputs = [ + boost + eigen + ]; + + configureFlags = + [ + "--with-max-am=${builtins.toString maxAm}" + "--with-eri-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eriAm)}" + "--with-eri3-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri3Am)}" + "--with-eri2-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri2Am)}" + "--with-eri-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eriOptAm)}" + "--with-eri3-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri3OptAm)}" + "--with-eri2-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri2OptAm)}" + "--with-cartgauss-ordering=${cartGaussOrd}" + "--with-shgauss-ordering=${shGaussOrd}" + "--with-shell-set=${shellSet}" + ] + ++ lib.optional enableFMA "--enable-fma" + ++ lib.optional (eriDeriv > 0) "--enable-eri=${builtins.toString eriDeriv}" + ++ lib.optional (eri2Deriv > 0) "--enable-eri2=${builtins.toString eri2Deriv}" + ++ lib.optional (eri3Deriv > 0) "--enable-eri3=${builtins.toString eri3Deriv}" + ++ lib.optionals enableOneBody [ + "--enable-1body=${builtins.toString oneBodyDerivOrd}" + "--enable-1body-property-derivs" + ] + ++ lib.optional (multipoleOrd > 0) "--with-multipole-max-order=${builtins.toString multipoleOrd}" + ++ lib.optional enableGeneric "--enable-generic" + ++ lib.optional enableContracted "--enable-contracted-ints" + ++ lib.optional eri3PureSh "--enable-eri3-pure-sh" + ++ lib.optional eri2PureSh "--enable-eri2-pure-sh"; preConfigure = '' ./autogen.sh @@ -208,15 +236,20 @@ let cmake ] ++ lib.optional enableFortran gfortran; - buildInputs = [ boost eigen ]; + buildInputs = [ + boost + eigen + ]; # Default is just "double", but SSE2 is available on all x86_64 CPUs. # AVX support is advertised, but does not work. # Fortran interface is incompatible with changing the LIBINT2_REALTYPE. - cmakeFlags = [ - "-DLIBINT2_SHGAUSS_ORDERING=${shGaussOrd}" - ] ++ lib.optional enableFortran "-DENABLE_FORTRAN=ON" - ++ lib.optional enableSSE "-DLIBINT2_REALTYPE=libint2::simd::VectorSSEDouble"; + cmakeFlags = + [ + "-DLIBINT2_SHGAUSS_ORDERING=${shGaussOrd}" + ] + ++ lib.optional enableFortran "-DENABLE_FORTRAN=ON" + ++ lib.optional enableSSE "-DLIBINT2_REALTYPE=libint2::simd::VectorSSEDouble"; # Can only build in the source-tree. A lot of preprocessing magic fails otherwise. dontUseCmakeBuildDir = true; diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix index c059d619ccae2..fea90d439c24f 100644 --- a/pkgs/development/libraries/libiodbc/default.nix +++ b/pkgs/development/libraries/libiodbc/default.nix @@ -1,5 +1,13 @@ -{ config, lib, stdenv, fetchurl, pkg-config, gtk2, Carbon -, useGTK ? config.libiodbc.gtk or false }: +{ + config, + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + Carbon, + useGTK ? config.libiodbc.gtk or false, +}: stdenv.mkDerivation rec { pname = "libiodbc"; @@ -11,13 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals useGTK [ gtk2 ] - ++ lib.optional stdenv.hostPlatform.isDarwin Carbon; + buildInputs = lib.optionals useGTK [ gtk2 ] ++ lib.optional stdenv.hostPlatform.isDarwin Carbon; - preBuild = - '' - export NIX_LDFLAGS_BEFORE="-rpath $out/lib" - ''; + preBuild = '' + export NIX_LDFLAGS_BEFORE="-rpath $out/lib" + ''; meta = with lib; { description = "iODBC driver manager"; diff --git a/pkgs/development/libraries/libirc/default.nix b/pkgs/development/libraries/libirc/default.nix index 368cd7e1d8591..962a4d041e793 100644 --- a/pkgs/development/libraries/libirc/default.nix +++ b/pkgs/development/libraries/libirc/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, qtbase }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, +}: stdenv.mkDerivation rec { pname = "libirc"; diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix index 060839326b157..4fb1af2a14d62 100644 --- a/pkgs/development/libraries/liblastfm/default.nix +++ b/pkgs/development/libraries/liblastfm/default.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, which, cmake -, fftwSinglePrec, libsamplerate, qtbase -, darwin }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + pkg-config, + which, + cmake, + fftwSinglePrec, + libsamplerate, + qtbase, + darwin, +}: stdenv.mkDerivation rec { pname = "liblastfm-unstable"; @@ -13,17 +23,28 @@ stdenv.mkDerivation rec { sha256 = "1crih9xxf3rb109aqw12bjqv47z28lvlk2dpvyym5shf82nz6yd0"; }; - patches = [(fetchpatch { - url = "https://github.com/lastfm/liblastfm/commit/9c5d072b55f2863310e40291677e6397e9cbc3c2.patch"; - name = "0001-Remove-deprecated-staging-server-and-fix-test-for-QT5-at-Ubuntu-19.10.patch"; - sha256 = "04r14prydxshjgfws3pjajjmp2msszhjjs1mjh8s66yg29vq620l"; - })]; + patches = [ + (fetchpatch { + url = "https://github.com/lastfm/liblastfm/commit/9c5d072b55f2863310e40291677e6397e9cbc3c2.patch"; + name = "0001-Remove-deprecated-staging-server-and-fix-test-for-QT5-at-Ubuntu-19.10.patch"; + sha256 = "04r14prydxshjgfws3pjajjmp2msszhjjs1mjh8s66yg29vq620l"; + }) + ]; - nativeBuildInputs = [ pkg-config which cmake ]; - buildInputs = [ fftwSinglePrec libsamplerate qtbase ] - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration; + nativeBuildInputs = [ + pkg-config + which + cmake + ]; + buildInputs = [ + fftwSinglePrec + libsamplerate + qtbase + ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") "-std=c++11"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11" + ) "-std=c++11"; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/libliftoff/generic.nix b/pkgs/development/libraries/libliftoff/generic.nix index 5e846cd6eb2b4..e2998ee8f39c7 100644 --- a/pkgs/development/libraries/libliftoff/generic.nix +++ b/pkgs/development/libraries/libliftoff/generic.nix @@ -1,16 +1,24 @@ -{ lib, stdenv -, meson, pkg-config, ninja -, libdrm -, version -, src -, patches +{ + lib, + stdenv, + meson, + pkg-config, + ninja, + libdrm, + version, + src, + patches, }: stdenv.mkDerivation (finalAttrs: { pname = "libliftoff"; inherit version src patches; - nativeBuildInputs = [ meson pkg-config ninja ]; + nativeBuildInputs = [ + meson + pkg-config + ninja + ]; buildInputs = [ libdrm ]; @@ -22,9 +30,12 @@ stdenv.mkDerivation (finalAttrs: { on them, and libliftoff will pick planes for these layers if possible. ''; inherit (finalAttrs.src.meta) homepage; - changelog = "https://gitlab.freedesktop.org/emersion/libliftoff/-/tags/v${finalAttrs.version}"; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ primeos Scrumplex ]; + changelog = "https://gitlab.freedesktop.org/emersion/libliftoff/-/tags/v${finalAttrs.version}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + primeos + Scrumplex + ]; }; }) diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix index f2f6497b676b9..3062a91186cc0 100644 --- a/pkgs/development/libraries/liblqr-1/default.nix +++ b/pkgs/development/libraries/liblqr-1/default.nix @@ -1,10 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, Carbon, AppKit }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + glib, + Carbon, + AppKit, +}: stdenv.mkDerivation rec { pname = "liblqr-1"; version = "0.4.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "carlobaldassi"; @@ -14,13 +25,19 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Carbon AppKit ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + AppKit + ]; propagatedBuildInputs = [ glib ]; meta = with lib; { homepage = "http://liblqr.wikidot.com"; description = "Seam-carving C/C++ library called Liquid Rescaling"; platforms = platforms.all; - license = with licenses; [ gpl3 lgpl3 ]; + license = with licenses; [ + gpl3 + lgpl3 + ]; }; } diff --git a/pkgs/development/libraries/libmicrohttpd/0.9.77.nix b/pkgs/development/libraries/libmicrohttpd/0.9.77.nix index 189b691e0b60e..9099de95bd820 100644 --- a/pkgs/development/libraries/libmicrohttpd/0.9.77.nix +++ b/pkgs/development/libraries/libmicrohttpd/0.9.77.nix @@ -1,6 +1,6 @@ { callPackage, fetchurl }: -callPackage ./generic.nix ( rec { +callPackage ./generic.nix (rec { version = "0.9.77"; src = fetchurl { diff --git a/pkgs/development/libraries/libmicrohttpd/generic.nix b/pkgs/development/libraries/libmicrohttpd/generic.nix index 45736cea1e951..7b2743ea1ac2f 100644 --- a/pkgs/development/libraries/libmicrohttpd/generic.nix +++ b/pkgs/development/libraries/libmicrohttpd/generic.nix @@ -1,12 +1,35 @@ -{ lib, stdenv, libgcrypt, curl, gnutls, pkg-config, libiconv, libintl, version, src, meta ? {} }: +{ + lib, + stdenv, + libgcrypt, + curl, + gnutls, + pkg-config, + libiconv, + libintl, + version, + src, + meta ? { }, +}: stdenv.mkDerivation (finalAttrs: { pname = "libmicrohttpd"; inherit version src; - outputs = [ "out" "dev" "devdoc" "info" ]; + outputs = [ + "out" + "dev" + "devdoc" + "info" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libgcrypt curl gnutls libiconv libintl ]; + buildInputs = [ + libgcrypt + curl + gnutls + libiconv + libintl + ]; preCheck = '' # Since `localhost' can't be resolved in a chroot, work around it. @@ -16,19 +39,22 @@ stdenv.mkDerivation (finalAttrs: { # Disabled because the tests can time-out. doCheck = false; - meta = with lib; { - description = "Embeddable HTTP server library"; + meta = + with lib; + { + description = "Embeddable HTTP server library"; - longDescription = '' - GNU libmicrohttpd is a small C library that is supposed to make - it easy to run an HTTP server as part of another application. - ''; + longDescription = '' + GNU libmicrohttpd is a small C library that is supposed to make + it easy to run an HTTP server as part of another application. + ''; - license = licenses.lgpl2Plus; + license = licenses.lgpl2Plus; - homepage = "https://www.gnu.org/software/libmicrohttpd/"; + homepage = "https://www.gnu.org/software/libmicrohttpd/"; - maintainers = with maintainers; [ fpletz ]; - platforms = platforms.unix; - } // meta; + maintainers = with maintainers; [ fpletz ]; + platforms = platforms.unix; + } + // meta; }) diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix index 6e3f7eee3c578..aac1dc74aff52 100644 --- a/pkgs/development/libraries/libmikmod/default.nix +++ b/pkgs/development/libraries/libmikmod/default.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, fetchurl, texinfo, alsa-lib, libpulseaudio, CoreAudio }: +{ + lib, + stdenv, + fetchurl, + texinfo, + alsa-lib, + libpulseaudio, + CoreAudio, +}: let inherit (lib) optional optionalString; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "libmikmod"; version = "3.3.11.1"; @@ -12,13 +21,17 @@ in stdenv.mkDerivation rec { sha256 = "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd"; }; - buildInputs = [ texinfo ] + buildInputs = + [ texinfo ] ++ optional stdenv.hostPlatform.isLinux alsa-lib ++ optional stdenv.hostPlatform.isDarwin CoreAudio; - propagatedBuildInputs = - optional stdenv.hostPlatform.isLinux libpulseaudio; + propagatedBuildInputs = optional stdenv.hostPlatform.isLinux libpulseaudio; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; NIX_LDFLAGS = optionalString stdenv.hostPlatform.isLinux "-lasound"; @@ -29,10 +42,13 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Library for playing tracker music module files"; mainProgram = "libmikmod-config"; - homepage = "https://mikmod.shlomifish.org/"; - license = licenses.lgpl2Plus; - maintainers = with maintainers; [ astsmtl lovek323 ]; - platforms = platforms.unix; + homepage = "https://mikmod.shlomifish.org/"; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ + astsmtl + lovek323 + ]; + platforms = platforms.unix; longDescription = '' A library for playing tracker music module files supporting many formats, diff --git a/pkgs/development/libraries/libmongocrypt/default.nix b/pkgs/development/libraries/libmongocrypt/default.nix index 0c887527307fb..5792903067d59 100644 --- a/pkgs/development/libraries/libmongocrypt/default.nix +++ b/pkgs/development/libraries/libmongocrypt/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, mongoc -, openssl -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + mongoc, + openssl, + darwin, }: stdenv.mkDerivation rec { @@ -29,13 +30,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - mongoc - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Security + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + mongoc + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Security + ]; cmakeFlags = [ # all three of these are required to use system libbson diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix index 14a6cc16c8371..8b6a622965c80 100644 --- a/pkgs/development/libraries/libmusicbrainz/5.x.nix +++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix @@ -1,17 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, neon, libdiscid, libxml2, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + neon, + libdiscid, + libxml2, + pkg-config, +}: stdenv.mkDerivation rec { version = "5.1.0"; pname = "libmusicbrainz"; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ neon libdiscid libxml2 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + neon + libdiscid + libxml2 + ]; src = fetchFromGitHub { - owner = "metabrainz"; - repo = "libmusicbrainz"; + owner = "metabrainz"; + repo = "libmusicbrainz"; sha256 = "0ah9kaf3g3iv1cps2vs1hs33nfbjfx1xscpjgxr1cg28p4ri6jhq"; - rev = "release-${version}"; + rev = "release-${version}"; }; patches = [ @@ -26,7 +43,7 @@ stdenv.mkDerivation rec { }) ]; - dontUseCmakeBuildDir=true; + dontUseCmakeBuildDir = true; meta = with lib; { homepage = "http://musicbrainz.org/doc/libmusicbrainz"; diff --git a/pkgs/development/libraries/libmusicbrainz/default.nix b/pkgs/development/libraries/libmusicbrainz/default.nix index a77d64ffddce3..d5df1f1132227 100644 --- a/pkgs/development/libraries/libmusicbrainz/default.nix +++ b/pkgs/development/libraries/libmusicbrainz/default.nix @@ -1,11 +1,21 @@ -{ lib, stdenv, fetchurl, cmake, neon, libdiscid }: +{ + lib, + stdenv, + fetchurl, + cmake, + neon, + libdiscid, +}: stdenv.mkDerivation rec { pname = "libmusicbrainz"; version = "3.0.3"; nativeBuildInputs = [ cmake ]; - buildInputs = [ neon libdiscid ]; + buildInputs = [ + neon + libdiscid + ]; src = fetchurl { url = "ftp://ftp.musicbrainz.org/pub/musicbrainz/${pname}-${version}.tar.gz"; diff --git a/pkgs/development/libraries/libopenshot-audio/default.nix b/pkgs/development/libraries/libopenshot-audio/default.nix index 9dfa5e09eddb1..4a63de87e643a 100644 --- a/pkgs/development/libraries/libopenshot-audio/default.nix +++ b/pkgs/development/libraries/libopenshot-audio/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, cmake -, doxygen -, libX11 -, libXcursor -, libXext -, libXft -, libXinerama -, libXrandr -, pkg-config -, zlib -, Accelerate -, AGL -, Cocoa -, Foundation +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + cmake, + doxygen, + libX11, + libXcursor, + libXext, + libXft, + libXinerama, + libXrandr, + pkg-config, + zlib, + Accelerate, + AGL, + Cocoa, + Foundation, }: stdenv.mkDerivation (finalAttrs: { @@ -40,22 +41,29 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ (if stdenv.hostPlatform.isDarwin then [ - Accelerate - AGL - Cocoa - Foundation - zlib - ] else [ - libX11 - libXcursor - libXext - libXft - libXinerama - libXrandr - ]); + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ ( + if stdenv.hostPlatform.isDarwin then + [ + Accelerate + AGL + Cocoa + Foundation + zlib + ] + else + [ + libX11 + libXcursor + libXext + libXft + libXinerama + libXrandr + ] + ); strictDeps = true; diff --git a/pkgs/development/libraries/libopenshot/default.nix b/pkgs/development/libraries/libopenshot/default.nix index 564ad3ac911a9..478e5e50ade89 100644 --- a/pkgs/development/libraries/libopenshot/default.nix +++ b/pkgs/development/libraries/libopenshot/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, cmake -, cppzmq -, doxygen -, ffmpeg -, imagemagick -, jsoncpp -, libopenshot-audio -, llvmPackages -, pkg-config -, python3 -, qtbase -, qtmultimedia -, swig -, zeromq +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + cmake, + cppzmq, + doxygen, + ffmpeg, + imagemagick, + jsoncpp, + libopenshot-audio, + llvmPackages, + pkg-config, + python3, + qtbase, + qtmultimedia, + swig, + zeromq, }: stdenv.mkDerivation (finalAttrs: { @@ -41,21 +42,24 @@ stdenv.mkDerivation (finalAttrs: { swig ]; - buildInputs = [ - cppzmq - ffmpeg - imagemagick - jsoncpp - libopenshot-audio - python3 - qtbase - qtmultimedia - zeromq - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.openmp - ]; + buildInputs = + [ + cppzmq + ffmpeg + imagemagick + jsoncpp + libopenshot-audio + python3 + qtbase + qtmultimedia + zeromq + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.openmp + ]; strictDeps = true; diff --git a/pkgs/development/libraries/libosmscout/default.nix b/pkgs/development/libraries/libosmscout/default.nix index c33b8881a03af..5df2831aa051f 100644 --- a/pkgs/development/libraries/libosmscout/default.nix +++ b/pkgs/development/libraries/libosmscout/default.nix @@ -1,5 +1,14 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkg-config -, marisa, qttools, qtlocation }: +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + marisa, + qttools, + qtlocation, +}: mkDerivation rec { pname = "libosmscout"; @@ -24,8 +33,15 @@ mkDerivation rec { cmakeFlags = [ "-DOSMSCOUT_BUILD_TESTS=OFF" ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ marisa qttools qtlocation ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + marisa + qttools + qtlocation + ]; meta = with lib; { description = "Simple, high-level interfaces for offline location and POI lokup, rendering and routing functionalities based on OpenStreetMap (OSM) data"; diff --git a/pkgs/development/libraries/libpeas/default.nix b/pkgs/development/libraries/libpeas/default.nix index 71996ce7f81be..df0398797df0d 100644 --- a/pkgs/development/libraries/libpeas/default.nix +++ b/pkgs/development/libraries/libpeas/default.nix @@ -1,26 +1,31 @@ -{ stdenv -, lib -, fetchurl -, substituteAll -, meson -, ninja -, pkg-config -, gettext -, gi-docgen -, gnome -, glib -, gtk3 -, gobject-introspection -, python3 -, ncurses -, wrapGAppsHook3 +{ + stdenv, + lib, + fetchurl, + substituteAll, + meson, + ninja, + pkg-config, + gettext, + gi-docgen, + gnome, + glib, + gtk3, + gobject-introspection, + python3, + ncurses, + wrapGAppsHook3, }: stdenv.mkDerivation rec { pname = "libpeas"; version = "1.36.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index 57b75a949b7d6..9e508efcec84e 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, zlib, apngSupport ? true -, testers +{ + lib, + stdenv, + fetchurl, + zlib, + apngSupport ? true, + testers, }: assert zlib != null; @@ -12,7 +17,8 @@ let }; whenPatched = lib.optionalString apngSupport; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "libpng" + whenPatched "-apng"; version = "1.6.43"; @@ -20,13 +26,18 @@ in stdenv.mkDerivation (finalAttrs: { url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz"; hash = "sha256-alygZSOSotfJ2yrltAIQhDwLvAgcvUEIJasAzFnxSmw="; }; - postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1" - + lib.optionalString stdenv.hostPlatform.isFreeBSD '' + postPatch = + whenPatched "gunzip < ${patch_src} | patch -Np1" + + lib.optionalString stdenv.hostPlatform.isFreeBSD '' - sed -i 1i'int feenableexcept(int __mask);' contrib/libtests/pngvalid.c - ''; + sed -i 1i'int feenableexcept(int __mask);' contrib/libtests/pngvalid.c + ''; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; outputBin = "dev"; propagatedBuildInputs = [ zlib ]; @@ -40,11 +51,15 @@ in stdenv.mkDerivation (finalAttrs: { }; meta = with lib; { - description = "Official reference implementation for the PNG file format" + whenPatched " with animation patch"; + description = + "Official reference implementation for the PNG file format" + whenPatched " with animation patch"; homepage = "http://www.libpng.org/pub/png/libpng.html"; changelog = "https://github.com/pnggroup/libpng/blob/v${finalAttrs.version}/CHANGES"; license = licenses.libpng2; - pkgConfigModules = [ "libpng" "libpng16" ]; + pkgConfigModules = [ + "libpng" + "libpng16" + ]; platforms = platforms.all; maintainers = with maintainers; [ vcunat ]; }; diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix index 436b4d7ecfbe7..bb9d490b6fc71 100644 --- a/pkgs/development/libraries/libproxy/default.nix +++ b/pkgs/development/libraries/libproxy/default.nix @@ -1,28 +1,33 @@ -{ lib -, _experimental-update-script-combinators -, curl -, darwin -, duktape -, fetchFromGitHub -, gi-docgen -, gitUpdater -, glib -, gobject-introspection -, gsettings-desktop-schemas -, makeHardcodeGsettingsPatch -, meson -, ninja -, pkg-config -, stdenv -, substituteAll -, vala +{ + lib, + _experimental-update-script-combinators, + curl, + darwin, + duktape, + fetchFromGitHub, + gi-docgen, + gitUpdater, + glib, + gobject-introspection, + gsettings-desktop-schemas, + makeHardcodeGsettingsPatch, + meson, + ninja, + pkg-config, + stdenv, + substituteAll, + vala, }: stdenv.mkDerivation (finalAttrs: { pname = "libproxy"; version = "0.5.9"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitHub { owner = "libproxy"; @@ -31,20 +36,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Z70TjLk5zulyYMAK+uMDhpsdvLa6m25pY8jahUA6ASE="; }; - patches = [ - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - # Disable schema presence detection, it would fail because it cannot be autopatched, - # and it will be hardcoded by the next patch anyway. - ./skip-gsettings-detection.patch + patches = + [ + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # Disable schema presence detection, it would fail because it cannot be autopatched, + # and it will be hardcoded by the next patch anyway. + ./skip-gsettings-detection.patch - # Hardcode path to Settings schemas for GNOME & related desktops. - # Otherwise every app using libproxy would need to be wrapped individually. - (substituteAll { - src = ./hardcode-gsettings.patch; - gds = glib.getSchemaPath gsettings-desktop-schemas; - }) - ]; + # Hardcode path to Settings schemas for GNOME & related desktops. + # Otherwise every app using libproxy would need to be wrapped individually. + (substituteAll { + src = ./hardcode-gsettings.patch; + gds = glib.getSchemaPath gsettings-desktop-schemas; + }) + ]; postPatch = '' # Fix running script that will try to install git hooks. @@ -68,23 +74,31 @@ stdenv.mkDerivation (finalAttrs: { vala ]; - buildInputs = [ - curl - duktape - ] ++ (if stdenv.hostPlatform.isDarwin then (with darwin.apple_sdk.frameworks; [ - Foundation - ]) else [ - glib - gsettings-desktop-schemas - ]); + buildInputs = + [ + curl + duktape + ] + ++ ( + if stdenv.hostPlatform.isDarwin then + (with darwin.apple_sdk.frameworks; [ + Foundation + ]) + else + [ + glib + gsettings-desktop-schemas + ] + ); - mesonFlags = [ - # Prevent installing commit hook. - "-Drelease=true" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-Dconfig-gnome=false" - ]; + mesonFlags = + [ + # Prevent installing commit hook. + "-Drelease=true" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-Dconfig-gnome=false" + ]; doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/development/libraries/libpulsar/default.nix b/pkgs/development/libraries/libpulsar/default.nix index f083ef0414570..3aec246ce3280 100644 --- a/pkgs/development/libraries/libpulsar/default.nix +++ b/pkgs/development/libraries/libpulsar/default.nix @@ -1,25 +1,26 @@ -{ lib -, asioSupport ? true -, asio -, boost180 -, log4cxxSupport ? false -, log4cxx -, snappySupport ? false -, snappy -, zlibSupport ? true -, zlib -, zstdSupport ? true -, zstd -, gtest -, gtestSupport ? false -, cmake -, curl -, fetchFromGitHub -, protobuf -, jsoncpp -, openssl -, pkg-config -, stdenv +{ + lib, + asioSupport ? true, + asio, + boost180, + log4cxxSupport ? false, + log4cxx, + snappySupport ? false, + snappy, + zlibSupport ? true, + zlib, + zstdSupport ? true, + zstd, + gtest, + gtestSupport ? false, + cmake, + curl, + fetchFromGitHub, + protobuf, + jsoncpp, + openssl, + pkg-config, + stdenv, }: let @@ -35,7 +36,8 @@ let */ enableCmakeFeature = p: if (p == null || p == false) then "OFF" else "ON"; - defaultOptionals = [ protobuf ] + defaultOptionals = + [ protobuf ] ++ lib.optional snappySupport snappy.dev ++ lib.optional zlibSupport zlib ++ lib.optional zstdSupport zstd @@ -55,12 +57,19 @@ stdenv.mkDerivation (finalAttrs: rec { hash = "sha256-P1LhUH7V3EtWBXwPHQdN11mCjuyUyVdrtZsUItvC8xU="; }; - nativeBuildInputs = [ cmake pkg-config ] + nativeBuildInputs = + [ + cmake + pkg-config + ] ++ defaultOptionals ++ lib.optional gtestSupport gtest.dev; - buildInputs = [ jsoncpp openssl curl ] - ++ defaultOptionals; + buildInputs = [ + jsoncpp + openssl + curl + ] ++ defaultOptionals; cmakeFlags = [ "-DBUILD_TESTS=${enableCmakeFeature gtestSupport}" @@ -86,6 +95,9 @@ stdenv.mkDerivation (finalAttrs: rec { changelog = "https://github.com/apache/pulsar-client-cpp/releases/tag/v${version}"; platforms = platforms.all; license = licenses.asl20; - maintainers = with maintainers; [ corbanr gaelreyrol ]; + maintainers = with maintainers; [ + corbanr + gaelreyrol + ]; }; }) diff --git a/pkgs/development/libraries/libqaccessibilityclient/default.nix b/pkgs/development/libraries/libqaccessibilityclient/default.nix index 0d518a48308de..beb1442951fa8 100644 --- a/pkgs/development/libraries/libqaccessibilityclient/default.nix +++ b/pkgs/development/libraries/libqaccessibilityclient/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, qtbase, extra-cmake-modules }: +{ + lib, + stdenv, + fetchurl, + cmake, + qtbase, + extra-cmake-modules, +}: stdenv.mkDerivation rec { pname = "libqaccessibilityclient"; @@ -9,11 +16,17 @@ stdenv.mkDerivation rec { hash = "sha256-TFDESGItycUEHtENp9h7Pk5xzLSdSDGoSSEdQjxfXTM="; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; buildInputs = [ qtbase ]; - cmakeFlags = ["-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}"]; + cmakeFlags = [ "-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}" ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; dontWrapQtApps = true; @@ -21,7 +34,10 @@ stdenv.mkDerivation rec { description = "Accessibilty tools helper library, used e.g. by screen readers"; homepage = "https://github.com/KDE/libqaccessibilityclient"; maintainers = with maintainers; [ artturin ]; - license = with licenses; [ lgpl3Only /* or */ lgpl21Only ]; + license = with licenses; [ + lgpl3Only # or + lgpl21Only + ]; platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libqofono/default.nix b/pkgs/development/libraries/libqofono/default.nix index f337de228a3e4..b79252cbbb5c4 100644 --- a/pkgs/development/libraries/libqofono/default.nix +++ b/pkgs/development/libraries/libqofono/default.nix @@ -1,12 +1,13 @@ -{ lib -, substituteAll -, mkDerivation -, fetchFromGitHub -, gitUpdater -, mobile-broadband-provider-info -, qmake -, qtbase -, qtdeclarative +{ + lib, + substituteAll, + mkDerivation, + fetchFromGitHub, + gitUpdater, + mobile-broadband-provider-info, + qmake, + qtbase, + qtdeclarative, }: mkDerivation rec { diff --git a/pkgs/development/libraries/libqtdbusmock/default.nix b/pkgs/development/libraries/libqtdbusmock/default.nix index 44532a0b9dae3..c5fcb384530f2 100644 --- a/pkgs/development/libraries/libqtdbusmock/default.nix +++ b/pkgs/development/libraries/libqtdbusmock/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitLab -, testers -, cmake -, cmake-extras -, dbus -, dbus-test-runner -, gtest -, libqtdbustest -, networkmanager -, pkg-config -, procps -, python3 -, qtbase +{ + stdenv, + lib, + fetchFromGitLab, + testers, + cmake, + cmake-extras, + dbus, + dbus-test-runner, + gtest, + libqtdbustest, + networkmanager, + pkg-config, + procps, + python3, + qtbase, }: stdenv.mkDerivation (finalAttrs: { @@ -26,13 +27,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-hVw2HnIHlA7vvt0Sr6F2qVhvBZ33aCeqb9vgbu3rgBo="; }; - postPatch = '' - # Workaround for "error: expected unqualified-id before 'public'" on "**signals" - sed -i -e '/add_definitions/a -DQT_NO_KEYWORDS' CMakeLists.txt - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - # Don't build tests when we're not running them - sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt - ''; + postPatch = + '' + # Workaround for "error: expected unqualified-id before 'public'" on "**signals" + sed -i -e '/add_definitions/a -DQT_NO_KEYWORDS' CMakeLists.txt + '' + + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + # Don't build tests when we're not running them + sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt + ''; strictDeps = true; @@ -52,9 +55,11 @@ stdenv.mkDerivation (finalAttrs: { dbus dbus-test-runner procps - (python3.withPackages (ps: with ps; [ - python-dbusmock - ])) + (python3.withPackages ( + ps: with ps; [ + python-dbusmock + ] + )) ]; checkInputs = [ diff --git a/pkgs/development/libraries/libqtdbustest/default.nix b/pkgs/development/libraries/libqtdbustest/default.nix index ab07a6577b833..756fa756c3966 100644 --- a/pkgs/development/libraries/libqtdbustest/default.nix +++ b/pkgs/development/libraries/libqtdbustest/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, testers -, cmake -, cmake-extras -, dbus -, dbus-test-runner -, gtest -, pkg-config -, procps -, python3 -, qtbase +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + testers, + cmake, + cmake-extras, + dbus, + dbus-test-runner, + gtest, + pkg-config, + procps, + python3, + qtbase, }: stdenv.mkDerivation (finalAttrs: { @@ -45,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - postPatch = lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + postPatch = lib.optionalString (!finalAttrs.finalPackage.doCheck) '' # Don't build tests when we're not running them sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt ''; @@ -64,9 +65,11 @@ stdenv.mkDerivation (finalAttrs: { dbus dbus-test-runner procps - (python3.withPackages (ps: with ps; [ - python-dbusmock - ])) + (python3.withPackages ( + ps: with ps; [ + python-dbusmock + ] + )) ]; checkInputs = [ diff --git a/pkgs/development/libraries/libquotient/default.nix b/pkgs/development/libraries/libquotient/default.nix index 916fa4a3847e7..fcec989390b8f 100644 --- a/pkgs/development/libraries/libquotient/default.nix +++ b/pkgs/development/libraries/libquotient/default.nix @@ -1,12 +1,26 @@ -{ stdenv, lib, fetchFromGitHub, cmake, olm, openssl, qtbase, qtmultimedia, qtkeychain }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + olm, + openssl, + qtbase, + qtmultimedia, + qtkeychain, +}: let isQt6 = lib.versions.major qtbase.version == "6"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "libquotient"; version = "0.8.2"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "quotient-im"; @@ -17,7 +31,13 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ qtbase qtkeychain olm openssl qtmultimedia ]; + propagatedBuildInputs = [ + qtbase + qtkeychain + olm + openssl + qtmultimedia + ]; cmakeFlags = [ "-DQuotient_ENABLE_E2EE=ON" @@ -42,6 +62,9 @@ in stdenv.mkDerivation rec { description = "Qt5/Qt6 library to write cross-platform clients for Matrix"; homepage = "https://quotient-im.github.io/libQuotient/"; license = licenses.lgpl21; - maintainers = with maintainers; [ colemickens matthiasbeyer ]; + maintainers = with maintainers; [ + colemickens + matthiasbeyer + ]; }; } diff --git a/pkgs/development/libraries/librasterlite2/default.nix b/pkgs/development/libraries/librasterlite2/default.nix index d933baafdfff0..f5a2ed24d2bc3 100644 --- a/pkgs/development/libraries/librasterlite2/default.nix +++ b/pkgs/development/libraries/librasterlite2/default.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, validatePkgConfig -, cairo -, curl -, fontconfig -, freetype -, freexl -, geos -, giflib -, libgeotiff -, libjpeg -, libpng -, librttopo -, libspatialite -, libtiff -, libwebp -, libxml2 -, lz4 -, minizip -, openjpeg -, pixman -, proj -, sqlite -, zstd -, ApplicationServices +{ + lib, + stdenv, + fetchurl, + pkg-config, + validatePkgConfig, + cairo, + curl, + fontconfig, + freetype, + freexl, + geos, + giflib, + libgeotiff, + libjpeg, + libpng, + librttopo, + libspatialite, + libtiff, + libwebp, + libxml2, + lz4, + minizip, + openjpeg, + pixman, + proj, + sqlite, + zstd, + ApplicationServices, }: stdenv.mkDerivation rec { @@ -83,7 +84,11 @@ stdenv.mkDerivation rec { description = "Advanced library supporting raster handling methods"; homepage = "https://www.gaia-gis.it/fossil/librasterlite2"; # They allow any of these - license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + mpl11 + ]; platforms = platforms.unix; maintainers = with maintainers; [ sikmir ]; }; diff --git a/pkgs/development/libraries/librdf/raptor.nix b/pkgs/development/libraries/librdf/raptor.nix index 2afdb5d32bede..1225af7f67e42 100644 --- a/pkgs/development/libraries/librdf/raptor.nix +++ b/pkgs/development/libraries/librdf/raptor.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libxml2, curl }: +{ + lib, + stdenv, + fetchurl, + libxml2, + curl, +}: stdenv.mkDerivation rec { pname = "raptor"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "db3172d6f3c432623ed87d7d609161973d2f7098e3d2233d0702fbcc22cfd8ca"; }; - buildInputs = [ libxml2 curl ]; + buildInputs = [ + libxml2 + curl + ]; preBuild = '' sed -e '/curl\/types/d' -i src/*.c src/*.h @@ -18,7 +27,10 @@ stdenv.mkDerivation rec { meta = { description = "RDF Parser Toolkit"; homepage = "https://librdf.org/raptor"; - license = with lib.licenses; [ lgpl21 asl20 ]; + license = with lib.licenses; [ + lgpl21 + asl20 + ]; maintainers = [ lib.maintainers.marcweber ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix index eace8af8156cf..baad5320b2508 100644 --- a/pkgs/development/libraries/librdf/raptor2.nix +++ b/pkgs/development/libraries/librdf/raptor2.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, libxml2 -, curl -, libxslt -, pkg-config -, cmake -, fetchFromGitHub -, perl -, bison -, flex -, fetchpatch -, static ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + libxml2, + curl, + libxslt, + pkg-config, + cmake, + fetchFromGitHub, + perl, + bison, + flex, + fetchpatch, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { pname = "raptor2"; version = "2.0.16"; - underscoredVersion = lib.strings.replaceStrings ["."] ["_"] version; + underscoredVersion = lib.strings.replaceStrings [ "." ] [ "_" ] version; src = fetchFromGitHub { owner = "dajobe"; @@ -40,7 +41,13 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config cmake perl bison flex ]; + nativeBuildInputs = [ + pkg-config + cmake + perl + bison + flex + ]; buildInputs = [ curl libxml2 @@ -51,7 +58,10 @@ stdenv.mkDerivation rec { description = "RDF Parser Toolkit"; mainProgram = "rapper"; homepage = "https://librdf.org/raptor"; - license = with lib.licenses; [ lgpl21 asl20 ]; + license = with lib.licenses; [ + lgpl21 + asl20 + ]; maintainers = with lib.maintainers; [ marcweber ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix index 8d935bb085305..f8af85bfb50eb 100644 --- a/pkgs/development/libraries/librdf/rasqal.nix +++ b/pkgs/development/libraries/librdf/rasqal.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, librdf_raptor2, gmp, pkg-config, pcre, libxml2, perl }: +{ + lib, + stdenv, + fetchurl, + librdf_raptor2, + gmp, + pkg-config, + pcre, + libxml2, + perl, +}: stdenv.mkDerivation rec { pname = "rasqal"; @@ -11,7 +21,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gmp pcre libxml2 ]; + buildInputs = [ + gmp + pcre + libxml2 + ]; propagatedBuildInputs = [ librdf_raptor2 ]; @@ -24,7 +38,10 @@ stdenv.mkDerivation rec { meta = { description = "Library that handles Resource Description Framework (RDF)"; homepage = "https://librdf.org/rasqal"; - license = with lib.licenses; [ lgpl21 asl20 ]; + license = with lib.licenses; [ + lgpl21 + asl20 + ]; maintainers = with lib.maintainers; [ marcweber ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix index 252a5037f77cf..ceac892f99344 100644 --- a/pkgs/development/libraries/librdf/redland.nix +++ b/pkgs/development/libraries/librdf/redland.nix @@ -1,9 +1,24 @@ -{ lib, stdenv, fetchurl, pkg-config, openssl, libxslt, perl -, curl, pcre, libxml2, librdf_rasqal, gmp -, libmysqlclient, withMysql ? false -, postgresql, withPostgresql ? false -, sqlite, withSqlite ? true -, db, withBdb ? false +{ + lib, + stdenv, + fetchurl, + pkg-config, + openssl, + libxslt, + perl, + curl, + pcre, + libxml2, + librdf_rasqal, + gmp, + libmysqlclient, + withMysql ? false, + postgresql, + withPostgresql ? false, + sqlite, + withSqlite ? true, + db, + withBdb ? false, }: stdenv.mkDerivation rec { @@ -15,9 +30,20 @@ stdenv.mkDerivation rec { sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681"; }; - nativeBuildInputs = [ perl pkg-config ]; + nativeBuildInputs = [ + perl + pkg-config + ]; - buildInputs = [ openssl libxslt curl pcre libxml2 gmp ] + buildInputs = + [ + openssl + libxslt + curl + pcre + libxml2 + gmp + ] ++ lib.optional withMysql libmysqlclient ++ lib.optional withSqlite sqlite ++ lib.optional withPostgresql postgresql diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix index 0924285cae879..9e0492c802b32 100644 --- a/pkgs/development/libraries/libressl/default.nix +++ b/pkgs/development/libraries/libressl/default.nix @@ -1,105 +1,124 @@ -{ stdenv -, fetchurl -, lib -, cmake -, cacert -, fetchpatch -, buildShared ? !stdenv.hostPlatform.isStatic +{ + stdenv, + fetchurl, + lib, + cmake, + cacert, + fetchpatch, + buildShared ? !stdenv.hostPlatform.isStatic, }: let - ldLibPathEnvName = if stdenv.hostPlatform.isDarwin - then "DYLD_LIBRARY_PATH" - else "LD_LIBRARY_PATH"; + ldLibPathEnvName = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; generic = - { version - , hash - , patches ? [] - , knownVulnerabilities ? [] - }: stdenv.mkDerivation rec - { - pname = "libressl"; - inherit version; - - src = fetchurl { - url = "mirror://openbsd/LibreSSL/${pname}-${version}.tar.gz"; - inherit hash; + { + version, + hash, + patches ? [ ], + knownVulnerabilities ? [ ], + }: + stdenv.mkDerivation rec { + pname = "libressl"; + inherit version; + + src = fetchurl { + url = "mirror://openbsd/LibreSSL/${pname}-${version}.tar.gz"; + inherit hash; + }; + + nativeBuildInputs = [ cmake ]; + + cmakeFlags = [ + "-DENABLE_NC=ON" + # Ensure that the output libraries do not require an executable stack. + # Without this define, assembly files in libcrypto do not include a + # .note.GNU-stack section, and if that section is missing from any object, + # the linker will make the stack executable. + "-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK" + # libressl will append this to the regular prefix for libdir + "-DCMAKE_INSTALL_LIBDIR=lib" + ] ++ lib.optional buildShared "-DBUILD_SHARED_LIBS=ON"; + + # The autoconf build is broken as of 2.9.1, resulting in the following error: + # libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'. + # Fortunately LibreSSL provides a CMake build as well, so opt for CMake by + # removing ./configure pre-config. + preConfigure = '' + rm configure + substituteInPlace CMakeLists.txt \ + --replace 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \ + --replace 'libdir \''${exec_prefix}' 'libdir \''${prefix}' + ''; + + inherit patches; + + # Since 2.9.x the default location can't be configured from the build using + # DEFAULT_CA_FILE anymore, instead we have to patch the default value. + postPatch = '' + patchShebangs tests/ + ${lib.optionalString (lib.versionAtLeast version "2.9.2") '' + substituteInPlace ./tls/tls_config.c --replace '"/etc/ssl/cert.pem"' '"${cacert}/etc/ssl/certs/ca-bundle.crt"' + ''} + ''; + + doCheck = !(stdenv.hostPlatform.isPower64 || stdenv.hostPlatform.isRiscV); + preCheck = '' + export PREVIOUS_${ldLibPathEnvName}=$${ldLibPathEnvName} + export ${ldLibPathEnvName}="$${ldLibPathEnvName}:$(realpath tls/):$(realpath ssl/):$(realpath crypto/)" + ''; + postCheck = '' + export ${ldLibPathEnvName}=$PREVIOUS_${ldLibPathEnvName} + ''; + + outputs = [ + "bin" + "dev" + "out" + "man" + "nc" + ]; + + postFixup = '' + moveToOutput "bin/nc" "$nc" + moveToOutput "bin/openssl" "$bin" + moveToOutput "bin/ocspcheck" "$bin" + moveToOutput "share/man/man1/nc.1.gz" "$nc" + ''; + + meta = with lib; { + description = "Free TLS/SSL implementation"; + homepage = "https://www.libressl.org"; + license = with licenses; [ + publicDomain + bsdOriginal + bsd0 + bsd3 + gpl3 + isc + openssl + ]; + platforms = platforms.all; + maintainers = with maintainers; [ + thoughtpolice + fpletz + ]; + inherit knownVulnerabilities; + + # OpenBSD believes that PowerPC should be always-big-endian; + # this assumption seems to have propagated into recent + # releases of libressl. Since libressl is aliased to many + # other packages (e.g. netcat) it's important to fail early + # here, otherwise it's very difficult to figure out why + # libressl is getting dragged into a failing build. + badPlatforms = with lib.systems.inspect.patterns; [ + (lib.recursiveUpdate isPower64 isLittleEndian) + ]; + }; }; - nativeBuildInputs = [ cmake ]; - - cmakeFlags = [ - "-DENABLE_NC=ON" - # Ensure that the output libraries do not require an executable stack. - # Without this define, assembly files in libcrypto do not include a - # .note.GNU-stack section, and if that section is missing from any object, - # the linker will make the stack executable. - "-DCMAKE_C_FLAGS=-DHAVE_GNU_STACK" - # libressl will append this to the regular prefix for libdir - "-DCMAKE_INSTALL_LIBDIR=lib" - ] ++ lib.optional buildShared "-DBUILD_SHARED_LIBS=ON"; - - # The autoconf build is broken as of 2.9.1, resulting in the following error: - # libressl-2.9.1/tls/.libs/libtls.a', needed by 'handshake_table'. - # Fortunately LibreSSL provides a CMake build as well, so opt for CMake by - # removing ./configure pre-config. - preConfigure = '' - rm configure - substituteInPlace CMakeLists.txt \ - --replace 'exec_prefix \''${prefix}' "exec_prefix ${placeholder "bin"}" \ - --replace 'libdir \''${exec_prefix}' 'libdir \''${prefix}' - ''; - - inherit patches; - - # Since 2.9.x the default location can't be configured from the build using - # DEFAULT_CA_FILE anymore, instead we have to patch the default value. - postPatch = '' - patchShebangs tests/ - ${lib.optionalString (lib.versionAtLeast version "2.9.2") '' - substituteInPlace ./tls/tls_config.c --replace '"/etc/ssl/cert.pem"' '"${cacert}/etc/ssl/certs/ca-bundle.crt"' - ''} - ''; - - doCheck = !(stdenv.hostPlatform.isPower64 || stdenv.hostPlatform.isRiscV); - preCheck = '' - export PREVIOUS_${ldLibPathEnvName}=$${ldLibPathEnvName} - export ${ldLibPathEnvName}="$${ldLibPathEnvName}:$(realpath tls/):$(realpath ssl/):$(realpath crypto/)" - ''; - postCheck = '' - export ${ldLibPathEnvName}=$PREVIOUS_${ldLibPathEnvName} - ''; - - outputs = [ "bin" "dev" "out" "man" "nc" ]; - - postFixup = '' - moveToOutput "bin/nc" "$nc" - moveToOutput "bin/openssl" "$bin" - moveToOutput "bin/ocspcheck" "$bin" - moveToOutput "share/man/man1/nc.1.gz" "$nc" - ''; - - meta = with lib; { - description = "Free TLS/SSL implementation"; - homepage = "https://www.libressl.org"; - license = with licenses; [ publicDomain bsdOriginal bsd0 bsd3 gpl3 isc openssl ]; - platforms = platforms.all; - maintainers = with maintainers; [ thoughtpolice fpletz ]; - inherit knownVulnerabilities; - - # OpenBSD believes that PowerPC should be always-big-endian; - # this assumption seems to have propagated into recent - # releases of libressl. Since libressl is aliased to many - # other packages (e.g. netcat) it's important to fail early - # here, otherwise it's very difficult to figure out why - # libressl is getting dragged into a failing build. - badPlatforms = with lib.systems.inspect.patterns; - [ (lib.recursiveUpdate isPower64 isLittleEndian) ]; - }; - }; - -in { +in +{ libressl_3_6 = generic { version = "3.6.3"; hash = "sha256-h7G7426e7I0K5fBMg9NrLFsOWBeEx+sIFwJe0p6t6jc="; diff --git a/pkgs/development/libraries/librest/1.0.nix b/pkgs/development/libraries/librest/1.0.nix index eff390cb2031a..4024ecd8a8843 100644 --- a/pkgs/development/libraries/librest/1.0.nix +++ b/pkgs/development/libraries/librest/1.0.nix @@ -1,24 +1,29 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, meson -, ninja -, pkg-config -, gi-docgen -, glib -, json-glib -, libsoup_3 -, libxml2 -, gobject-introspection -, gnome +{ + lib, + stdenv, + fetchpatch, + fetchurl, + meson, + ninja, + pkg-config, + gi-docgen, + glib, + json-glib, + libsoup_3, + libxml2, + gobject-introspection, + gnome, }: stdenv.mkDerivation rec { pname = "rest"; version = "0.9.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/development/libraries/librest/default.nix b/pkgs/development/libraries/librest/default.nix index 22e5309591058..c932f59d0d127 100644 --- a/pkgs/development/libraries/librest/default.nix +++ b/pkgs/development/libraries/librest/default.nix @@ -1,36 +1,43 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, glib -, libsoup_2_4 -, libxml2 -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_412 -, gnome +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libsoup_2_4, + libxml2, + gobject-introspection, + gtk-doc, + docbook-xsl-nons, + docbook_xml_dtd_412, + gnome, }: stdenv.mkDerivation rec { pname = "rest"; version = "0.8.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9"; }; - nativeBuildInputs = [ - pkg-config - gobject-introspection - ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_412 - ]; + nativeBuildInputs = + [ + pkg-config + gobject-introspection + ] + ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_412 + ]; propagatedBuildInputs = [ glib diff --git a/pkgs/development/libraries/librsb/default.nix b/pkgs/development/libraries/librsb/default.nix index 4a995cbbe89db..ee2258597e971 100644 --- a/pkgs/development/libraries/librsb/default.nix +++ b/pkgs/development/libraries/librsb/default.nix @@ -1,17 +1,23 @@ -{ lib, stdenv, fetchurl -, gfortran -, pkg-config, libtool -, m4, gnum4 -, file -# Memory Hierarchy (End-user can provide this.) -, memHierarchy ? "" -# Headers/Libraries -, blas, zlib -# RPC headers (rpc/xdr.h) -, openmpi -, help2man -, doxygen -, octave +{ + lib, + stdenv, + fetchurl, + gfortran, + pkg-config, + libtool, + m4, + gnum4, + file, + # Memory Hierarchy (End-user can provide this.) + memHierarchy ? "", + # Headers/Libraries + blas, + zlib, + # RPC headers (rpc/xdr.h) + openmpi, + help2man, + doxygen, + octave, }: stdenv.mkDerivation rec { @@ -39,17 +45,26 @@ stdenv.mkDerivation rec { ]; # Ensure C/Fortran code is position-independent. - env.NIX_CFLAGS_COMPILE = toString [ "-fPIC" "-Ofast" ]; - FCFLAGS = [ "-fPIC" "-Ofast" ]; + env.NIX_CFLAGS_COMPILE = toString [ + "-fPIC" + "-Ofast" + ]; + FCFLAGS = [ + "-fPIC" + "-Ofast" + ]; enableParallelBuilding = true; nativeBuildInputs = [ gfortran - pkg-config libtool - m4 gnum4 + pkg-config + libtool + m4 + gnum4 file - blas zlib + blas + zlib openmpi octave help2man # Turn "--help" into a man-page diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 3d7a8bf8e5bab..7a71acada5044 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -1,52 +1,60 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, glib -, gdk-pixbuf -, installShellFiles -, pango -, cairo -, libxml2 -, bzip2 -, libintl -, ApplicationServices -, Foundation -, libobjc -, rustPlatform -, rustc -, cargo-auditable-cargo-wrapper -, gi-docgen -, python3Packages -, gnome -, vala -, writeScript -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, buildPackages -, gobject-introspection -, _experimental-update-script-combinators -, common-updater-scripts -, jq -, nix - -# for passthru.tests -, enlightenment -, ffmpeg -, gegl -, gimp -, imagemagick -, imlib2 -, vips -, xfce +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gdk-pixbuf, + installShellFiles, + pango, + cairo, + libxml2, + bzip2, + libintl, + ApplicationServices, + Foundation, + libobjc, + rustPlatform, + rustc, + cargo-auditable-cargo-wrapper, + gi-docgen, + python3Packages, + gnome, + vala, + writeScript, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + buildPackages, + gobject-introspection, + _experimental-update-script-combinators, + common-updater-scripts, + jq, + nix, + + # for passthru.tests + enlightenment, + ffmpeg, + gegl, + gimp, + imagemagick, + imlib2, + vips, + xfce, }: stdenv.mkDerivation (finalAttrs: { pname = "librsvg"; version = "2.58.3"; - outputs = [ "out" "dev" ] ++ lib.optionals withIntrospection [ - "devdoc" - ]; + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals withIntrospection [ + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/librsvg/${lib.versions.majorMinor finalAttrs.version}/librsvg-${finalAttrs.version}.tar.xz"; @@ -67,31 +75,35 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - gdk-pixbuf - installShellFiles - pkg-config - rustc - cargo-auditable-cargo-wrapper - python3Packages.docutils - vala - rustPlatform.cargoSetupHook - ] ++ lib.optionals withIntrospection [ - gobject-introspection - gi-docgen - ]; - - buildInputs = [ - libxml2 - bzip2 - pango - libintl - vala # for share/vala/Makefile.vapigen - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - Foundation - libobjc - ]; + nativeBuildInputs = + [ + gdk-pixbuf + installShellFiles + pkg-config + rustc + cargo-auditable-cargo-wrapper + python3Packages.docutils + vala + rustPlatform.cargoSetupHook + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + gi-docgen + ]; + + buildInputs = + [ + libxml2 + bzip2 + pango + libintl + vala # for share/vala/Makefile.vapigen + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + Foundation + libobjc + ]; propagatedBuildInputs = [ glib @@ -99,13 +111,17 @@ stdenv.mkDerivation (finalAttrs: { cairo ]; - configureFlags = [ - (lib.enableFeature withIntrospection "introspection") - (lib.enableFeature withIntrospection "vala") + configureFlags = + [ + (lib.enableFeature withIntrospection "introspection") + (lib.enableFeature withIntrospection "vala") - "--enable-always-build-tests" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-Bsymbolic" - ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "RUST_TARGET=${stdenv.hostPlatform.rust.rustcTarget}"; + "--enable-always-build-tests" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-Bsymbolic" + ++ lib.optional ( + stdenv.buildPlatform != stdenv.hostPlatform + ) "RUST_TARGET=${stdenv.hostPlatform.rust.rustcTarget}"; doCheck = false; # all tests fail on libtool-generated rsvg-convert not being able to find coreutils @@ -126,28 +142,39 @@ stdenv.mkDerivation (finalAttrs: { # relevant loader.cache here. # The loaders.cache can be used by setting GDK_PIXBUF_MODULE_FILE to # point to this file in a wrapper. - postConfigure = '' - GDK_PIXBUF=$out/lib/gdk-pixbuf-2.0/2.10.0 - mkdir -p $GDK_PIXBUF/loaders - sed -i gdk-pixbuf-loader/Makefile \ - -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \ - -e "s#gdk_pixbuf_cache_file = .*#gdk_pixbuf_cache_file = $GDK_PIXBUF/loaders.cache#" \ - -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" - - # Fix thumbnailer path - sed -e "s#@bindir@\(/gdk-pixbuf-thumbnailer\)#${gdk-pixbuf}/bin\1#g" \ - -i gdk-pixbuf-loader/librsvg.thumbnailer.in - - # 'error: linker `cc` not found' when cross-compiling - export RUSTFLAGS="-Clinker=$CC" - '' + lib.optionalString ((stdenv.buildPlatform != stdenv.hostPlatform) && (stdenv.hostPlatform.emulatorAvailable buildPackages)) '' - # the replacement is the native conditional - substituteInPlace gdk-pixbuf-loader/Makefile \ - --replace 'RUN_QUERY_LOADER_TEST = false' 'RUN_QUERY_LOADER_TEST = test -z "$(DESTDIR)"' \ - ''; + postConfigure = + '' + GDK_PIXBUF=$out/lib/gdk-pixbuf-2.0/2.10.0 + mkdir -p $GDK_PIXBUF/loaders + sed -i gdk-pixbuf-loader/Makefile \ + -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \ + -e "s#gdk_pixbuf_cache_file = .*#gdk_pixbuf_cache_file = $GDK_PIXBUF/loaders.cache#" \ + -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" + + # Fix thumbnailer path + sed -e "s#@bindir@\(/gdk-pixbuf-thumbnailer\)#${gdk-pixbuf}/bin\1#g" \ + -i gdk-pixbuf-loader/librsvg.thumbnailer.in + + # 'error: linker `cc` not found' when cross-compiling + export RUSTFLAGS="-Clinker=$CC" + '' + + + lib.optionalString + ( + (stdenv.buildPlatform != stdenv.hostPlatform) + && (stdenv.hostPlatform.emulatorAvailable buildPackages) + ) + '' + # the replacement is the native conditional + substituteInPlace gdk-pixbuf-loader/Makefile \ + --replace 'RUN_QUERY_LOADER_TEST = false' 'RUN_QUERY_LOADER_TEST = test -z "$(DESTDIR)"' \ + ''; # Not generated when cross compiling. - postInstall = let emulator = stdenv.hostPlatform.emulator buildPackages; in + postInstall = + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) '' # Merge gdkpixbuf and librsvg loaders cat ${lib.getLib gdk-pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $GDK_PIXBUF/loaders.cache > $GDK_PIXBUF/loaders.cache.tmp @@ -176,11 +203,13 @@ stdenv.mkDerivation (finalAttrs: { "sh" "-c" '' - PATH=${lib.makeBinPath [ - common-updater-scripts - jq - nix - ]} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + jq + nix + ] + } update-source-version librsvg --ignore-same-version --source-key=cargoDeps > /dev/null '' ]; @@ -198,7 +227,8 @@ stdenv.mkDerivation (finalAttrs: { gimp imagemagick imlib2 - vips; + vips + ; inherit (enlightenment) efl; inherit (xfce) xfwm4; ffmpeg = ffmpeg.override { withSvg = true; }; diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix index ec4da5a34784e..f50d40bf8e2f6 100644 --- a/pkgs/development/libraries/libsamplerate/default.nix +++ b/pkgs/development/libraries/libsamplerate/default.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config, libsndfile, ApplicationServices, Carbon, CoreServices }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libsndfile, + ApplicationServices, + Carbon, + CoreServices, +}: let inherit (lib) optionals optionalString; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "libsamplerate"; version = "0.2.2"; @@ -13,12 +23,19 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libsndfile ] - ++ optionals stdenv.hostPlatform.isDarwin [ ApplicationServices CoreServices ]; + buildInputs = + [ libsndfile ] + ++ optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + CoreServices + ]; configureFlags = [ "--disable-fftw" ]; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; postConfigure = optionalString stdenv.hostPlatform.isDarwin '' # need headers from the Carbon.framework in /System/Library/Frameworks to @@ -28,11 +45,11 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Sample Rate Converter for audio"; - homepage = "https://libsndfile.github.io/libsamplerate/"; - license = licenses.bsd2; + homepage = "https://libsndfile.github.io/libsamplerate/"; + license = licenses.bsd2; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.all; + platforms = platforms.all; # Linker is unhappy with the `.def` file. - broken = stdenv.hostPlatform.isMinGW; + broken = stdenv.hostPlatform.isMinGW; }; } diff --git a/pkgs/development/libraries/libsbsms/common.nix b/pkgs/development/libraries/libsbsms/common.nix index 7215c23667b8b..358710b795017 100644 --- a/pkgs/development/libraries/libsbsms/common.nix +++ b/pkgs/development/libraries/libsbsms/common.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, pname -, version -, url -, sha256 -, homepage +{ + lib, + stdenv, + fetchurl, + substituteAll, + pname, + version, + url, + sha256, + homepage, }: stdenv.mkDerivation rec { @@ -29,7 +30,7 @@ stdenv.mkDerivation rec { meta = { inherit homepage; description = "Subband sinusoidal modeling library for time stretching and pitch scaling audio"; - maintainers = with lib.maintainers; [ yuu ]; + maintainers = with lib.maintainers; [ yuu ]; license = lib.licenses.gpl2; platforms = lib.platforms.all; }; diff --git a/pkgs/development/libraries/libsigcxx/3.0.nix b/pkgs/development/libraries/libsigcxx/3.0.nix index 672cb984b8ee4..4e1a656def5a1 100644 --- a/pkgs/development/libraries/libsigcxx/3.0.nix +++ b/pkgs/development/libraries/libsigcxx/3.0.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, gnome +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + gnome, }: stdenv.mkDerivation rec { @@ -16,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "w9I7N9/W458uCfCRt3sVQfv6F8Twtr9cibrvcikIDhc="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix index 7e2746fb7f4c6..cfac1918e8073 100644 --- a/pkgs/development/libraries/libsigcxx/default.nix +++ b/pkgs/development/libraries/libsigcxx/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + gnome, +}: stdenv.mkDerivation rec { pname = "libsigc++"; @@ -9,9 +17,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-qdvuMjNR0Qm3ruB0qcuJyj57z4rY7e8YUfTPNZvVCEM="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config meson ninja ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; doCheck = true; diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index ad3ab58b0e13f..0c91b3e13d8bd 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -1,15 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, autogen, pkg-config, python3 -, flac, lame, libmpg123, libogg, libopus, libvorbis -, alsa-lib, Carbon, AudioToolbox +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + autogen, + pkg-config, + python3, + flac, + lame, + libmpg123, + libogg, + libopus, + libvorbis, + alsa-lib, + Carbon, + AudioToolbox, -# for passthru.tests -, audacity -, freeswitch -, gst_all_1 -, libsamplerate -, moc -, pipewire -, pulseaudio + # for passthru.tests + audacity, + freeswitch, + gst_all_1, + libsamplerate, + moc, + pipewire, + pulseaudio, }: stdenv.mkDerivation rec { @@ -23,21 +37,42 @@ stdenv.mkDerivation rec { hash = "sha256-MOOX/O0UaoeMaQPW9PvvE0izVp+6IoE5VbtTx0RvMkI="; }; - nativeBuildInputs = [ autoreconfHook autogen pkg-config python3 ]; - buildInputs = [ flac lame libmpg123 libogg libopus libvorbis ] + nativeBuildInputs = [ + autoreconfHook + autogen + pkg-config + python3 + ]; + buildInputs = + [ + flac + lame + libmpg123 + libogg + libopus + libvorbis + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon AudioToolbox ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + AudioToolbox + ]; enableParallelBuilding = true; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; # need headers from the Carbon.framework in /System/Library/Frameworks to # compile this on darwin -- not sure how to handle - preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin - '' - NIX_CFLAGS_COMPILE+=" -I$SDKROOT/System/Library/Frameworks/Carbon.framework/Versions/A/Headers" - ''; + preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' + NIX_CFLAGS_COMPILE+=" -I$SDKROOT/System/Library/Frameworks/Carbon.framework/Versions/A/Headers" + ''; # Needed on Darwin. NIX_CFLAGS_LINK = "-logg -lvorbis"; @@ -57,21 +92,23 @@ stdenv.mkDerivation rec { libsamplerate moc pipewire - pulseaudio; + pulseaudio + ; inherit (python3.pkgs) soundfile - wavefile; + wavefile + ; inherit (gst_all_1) gst-plugins-bad; lame = (lame.override { sndfileFileIOSupport = true; }); }; meta = with lib; { description = "C library for reading and writing files containing sampled sound"; - homepage = "https://libsndfile.github.io/libsndfile/"; - changelog = "https://github.com/libsndfile/libsndfile/releases/tag/${version}"; - license = licenses.lgpl2Plus; + homepage = "https://libsndfile.github.io/libsndfile/"; + changelog = "https://github.com/libsndfile/libsndfile/releases/tag/${version}"; + license = licenses.lgpl2Plus; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.all; + platforms = platforms.all; longDescription = '' Libsndfile is a C library for reading and writing files containing diff --git a/pkgs/development/libraries/libsoundio/default.nix b/pkgs/development/libraries/libsoundio/default.nix index c4b5016282723..6dab2ea2c6f0a 100644 --- a/pkgs/development/libraries/libsoundio/default.nix +++ b/pkgs/development/libraries/libsoundio/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, libjack2, libpulseaudio, AudioUnit }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + alsa-lib, + libjack2, + libpulseaudio, + AudioUnit, +}: stdenv.mkDerivation rec { version = "2.0.0"; @@ -13,8 +22,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ libjack2 ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio alsa-lib ] + buildInputs = + [ libjack2 ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libpulseaudio + alsa-lib + ] ++ lib.optional stdenv.hostPlatform.isDarwin AudioUnit; cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix index 2aff5ca603773..b9ace3b528abf 100644 --- a/pkgs/development/libraries/libsoup/3.x.nix +++ b/pkgs/development/libraries/libsoup/3.x.nix @@ -1,29 +1,35 @@ -{ stdenv -, lib -, fetchurl -, glib -, meson -, ninja -, pkg-config -, gnome -, libsysprof-capture -, sqlite -, buildPackages -, gobject-introspection -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, vala -, libpsl -, python3 -, gi-docgen -, brotli -, libnghttp2 +{ + stdenv, + lib, + fetchurl, + glib, + meson, + ninja, + pkg-config, + gnome, + libsysprof-capture, + sqlite, + buildPackages, + gobject-introspection, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + vala, + libpsl, + python3, + gi-docgen, + brotli, + libnghttp2, }: stdenv.mkDerivation rec { pname = "libsoup"; version = "3.6.0"; - outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -34,27 +40,31 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - glib - python3 - ] ++ lib.optionals withIntrospection [ - gi-docgen - gobject-introspection - vala - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + glib + python3 + ] + ++ lib.optionals withIntrospection [ + gi-docgen + gobject-introspection + vala + ]; - buildInputs = [ - sqlite - libpsl - glib.out - brotli - libnghttp2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libsysprof-capture - ]; + buildInputs = + [ + sqlite + libpsl + glib.out + brotli + libnghttp2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libsysprof-capture + ]; propagatedBuildInputs = [ glib diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index a88cd93553269..1598b773339b2 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -1,28 +1,34 @@ -{ stdenv -, lib -, fetchurl -, glib -, libxml2 -, meson -, ninja -, pkg-config -, gnome -, libsysprof-capture -, gobject-introspection -, vala -, libpsl -, brotli -, gnomeSupport ? true -, sqlite -, buildPackages -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages +{ + stdenv, + lib, + fetchurl, + glib, + libxml2, + meson, + ninja, + pkg-config, + gnome, + libsysprof-capture, + gobject-introspection, + vala, + libpsl, + brotli, + gnomeSupport ? true, + sqlite, + buildPackages, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, }: stdenv.mkDerivation rec { pname = "libsoup"; version = "2.74.3"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -33,40 +39,46 @@ stdenv.mkDerivation rec { pkg-config ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - glib - ] ++ lib.optionals withIntrospection [ - gobject-introspection - vala - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + glib + ] + ++ lib.optionals withIntrospection [ + gobject-introspection + vala + ]; - buildInputs = [ - sqlite - libpsl - glib.out - brotli - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libsysprof-capture - ]; + buildInputs = + [ + sqlite + libpsl + glib.out + brotli + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libsysprof-capture + ]; propagatedBuildInputs = [ glib libxml2 ]; - mesonFlags = [ - "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency - "-Dgssapi=disabled" - "-Dvapi=${if withIntrospection then "enabled" else "disabled"}" - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" - "-Dgnome=${lib.boolToString gnomeSupport}" - "-Dntlm=disabled" - ] ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ - "-Dsysprof=disabled" - ]; + mesonFlags = + [ + "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency + "-Dgssapi=disabled" + "-Dvapi=${if withIntrospection then "enabled" else "disabled"}" + "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" + "-Dgnome=${lib.boolToString gnomeSupport}" + "-Dntlm=disabled" + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + "-Dsysprof=disabled" + ]; env.NIX_CFLAGS_COMPILE = "-lpthread"; diff --git a/pkgs/development/libraries/libstatgrab/default.nix b/pkgs/development/libraries/libstatgrab/default.nix index 9b45ffb58ce7b..3dd55d1e690ad 100644 --- a/pkgs/development/libraries/libstatgrab/default.nix +++ b/pkgs/development/libraries/libstatgrab/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, IOKit +{ + lib, + stdenv, + fetchurl, + IOKit, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libticalcs2/default.nix b/pkgs/development/libraries/libticalcs2/default.nix index c114ce5e3e3b1..0fae58094f4aa 100644 --- a/pkgs/development/libraries/libticalcs2/default.nix +++ b/pkgs/development/libraries/libticalcs2/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, autoreconfHook -, glib -, libticonv -, libtifiles2 -, libticables2 -, xz -, bzip2 -, acl -, libobjc +{ + stdenv, + lib, + fetchurl, + pkg-config, + autoreconfHook, + glib, + libticonv, + libtifiles2, + libticables2, + xz, + bzip2, + acl, + libobjc, }: stdenv.mkDerivation rec { @@ -26,25 +27,31 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - glib - libticonv - libtifiles2 - libticables2 - xz - bzip2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - acl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libobjc - ]; + buildInputs = + [ + glib + libticonv + libtifiles2 + libticables2 + xz + bzip2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + acl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + ]; meta = with lib; { changelog = "http://lpg.ticalc.org/prj_tilp/news.html"; description = "This library is part of the TiLP framework"; homepage = "http://lpg.ticalc.org/prj_tilp/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ siraben clevor ]; + maintainers = with maintainers; [ + siraben + clevor + ]; platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/development/libraries/libubox/default.nix b/pkgs/development/libraries/libubox/default.nix index 1a3a89a2d71d1..c001668c428ec 100644 --- a/pkgs/development/libraries/libubox/default.nix +++ b/pkgs/development/libraries/libubox/default.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchgit, cmake, pkg-config, json_c, with_lua ? false, lua5_1, with_ustream_ssl ? false, ustream-ssl }: +{ + stdenv, + lib, + fetchgit, + cmake, + pkg-config, + json_c, + with_lua ? false, + lua5_1, + with_ustream_ssl ? false, + ustream-ssl, +}: stdenv.mkDerivation { pname = "libubox"; @@ -10,10 +21,17 @@ stdenv.mkDerivation { hash = "sha256-QgpORITt6MYgfzUpaI2T0Ge2a0iVHjDhdYI/nZ2HbJ8="; }; - cmakeFlags = [ "-DBUILD_EXAMPLES=OFF" (if with_lua then "-DLUAPATH=${placeholder "out"}/lib/lua" else "-DBUILD_LUA=OFF") ]; + cmakeFlags = [ + "-DBUILD_EXAMPLES=OFF" + (if with_lua then "-DLUAPATH=${placeholder "out"}/lib/lua" else "-DBUILD_LUA=OFF") + ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ json_c ] ++ lib.optional with_lua lua5_1 ++ lib.optional with_ustream_ssl ustream-ssl; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ json_c ] ++ lib.optional with_lua lua5_1 ++ lib.optional with_ustream_ssl ustream-ssl; postInstall = lib.optionalString with_ustream_ssl '' for fin in $(find ${ustream-ssl} -type f); do @@ -22,15 +40,20 @@ stdenv.mkDerivation { done ''; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - "-Wno-error=gnu-folding-constant" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "-Wno-error=gnu-folding-constant" + ] + ); meta = with lib; { description = "C utility functions for OpenWrt"; homepage = "https://git.openwrt.org/?p=project/libubox.git;a=summary"; license = licenses.isc; - maintainers = with maintainers; [ fpletz mkg20001 ]; + maintainers = with maintainers; [ + fpletz + mkg20001 + ]; mainProgram = "jshn"; platforms = platforms.all; }; diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix index 77197986343f6..c3726929f9dfd 100644 --- a/pkgs/development/libraries/libui/default.nix +++ b/pkgs/development/libraries/libui/default.nix @@ -1,53 +1,69 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gtk3, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + gtk3, + Cocoa, +}: let - backend = if stdenv.hostPlatform.isDarwin then "darwin" else "unix"; + backend = if stdenv.hostPlatform.isDarwin then "darwin" else "unix"; in stdenv.mkDerivation rec { pname = "libui"; - version = "4.1a"; - src = fetchFromGitHub { - owner = "andlabs"; - repo = "libui"; - rev = "alpha4.1"; + version = "4.1a"; + src = fetchFromGitHub { + owner = "andlabs"; + repo = "libui"; + rev = "alpha4.1"; sha256 = "0bm6xvqk4drg2kw6d304x6mlfal7gh8mbl5a9f0509smmdzgdkwm"; }; - nativeBuildInputs = [ cmake pkg-config ]; - propagatedBuildInputs = lib.optional stdenv.hostPlatform.isLinux gtk3 + nativeBuildInputs = [ + cmake + pkg-config + ]; + propagatedBuildInputs = + lib.optional stdenv.hostPlatform.isLinux gtk3 ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt ''; - installPhase = '' - mkdir -p $out/{include,lib} - mkdir -p $out/lib/pkgconfig - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - mv ./out/libui.so.0 $out/lib/ - ln -s $out/lib/libui.so.0 $out/lib/libui.so - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mv ./out/libui.A.dylib $out/lib/ - ln -s $out/lib/libui.A.dylib $out/lib/libui.dylib - '' + '' - cp $src/ui.h $out/include - cp $src/ui_${backend}.h $out/include + installPhase = + '' + mkdir -p $out/{include,lib} + mkdir -p $out/lib/pkgconfig + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + mv ./out/libui.so.0 $out/lib/ + ln -s $out/lib/libui.so.0 $out/lib/libui.so + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mv ./out/libui.A.dylib $out/lib/ + ln -s $out/lib/libui.A.dylib $out/lib/libui.dylib + '' + + '' + cp $src/ui.h $out/include + cp $src/ui_${backend}.h $out/include - cp ${./libui.pc} $out/lib/pkgconfig/libui.pc - substituteInPlace $out/lib/pkgconfig/libui.pc \ - --subst-var-by out $out \ - --subst-var-by version "${version}" - ''; + cp ${./libui.pc} $out/lib/pkgconfig/libui.pc + substituteInPlace $out/lib/pkgconfig/libui.pc \ + --subst-var-by out $out \ + --subst-var-by version "${version}" + ''; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -id $out/lib/libui.A.dylib $out/lib/libui.A.dylib ''; meta = with lib; { - homepage = "https://github.com/andlabs/libui"; + homepage = "https://github.com/andlabs/libui"; description = "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports"; - license = licenses.mit; - platforms = platforms.unix; + license = licenses.mit; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/libuiohook/default.nix b/pkgs/development/libraries/libuiohook/default.nix index 7d58b78149584..e39c2addfac43 100644 --- a/pkgs/development/libraries/libuiohook/default.nix +++ b/pkgs/development/libraries/libuiohook/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, nixosTests -, cmake -, pkg-config -, AppKit -, ApplicationServices -, Carbon -, libX11 -, libxkbcommon -, xinput -, xorg +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, + cmake, + pkg-config, + AppKit, + ApplicationServices, + Carbon, + libX11, + libxkbcommon, + xinput, + xorg, }: stdenv.mkDerivation rec { @@ -24,27 +25,39 @@ stdenv.mkDerivation rec { sha256 = "1qlz55fp4i9dd8sdwmy1m8i4i1jy1s09cpmlxzrgf7v34w72ncm7"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = - if stdenv.hostPlatform.isDarwin then [ AppKit ApplicationServices Carbon ] - else [ - libX11 - libxkbcommon - xinput - ] ++ - (with xorg; [ - libXau - libXdmcp - libXi - libXinerama - libXt - libXtst - libXext - libxkbfile - ]); + if stdenv.hostPlatform.isDarwin then + [ + AppKit + ApplicationServices + Carbon + ] + else + [ + libX11 + libxkbcommon + xinput + ] + ++ (with xorg; [ + libXau + libXdmcp + libXi + libXinerama + libXt + libXtst + libXext + libxkbfile + ]); - outputs = [ "out" "test" ]; + outputs = [ + "out" + "test" + ]; # We build the tests, but they're only installed when using the "test" output. # This will produce a "uiohook_tests" binary which can be run to test the diff --git a/pkgs/development/libraries/libunique/3.x.nix b/pkgs/development/libraries/libunique/3.x.nix index e5e6b21c1b999..56c2db308652f 100644 --- a/pkgs/development/libraries/libunique/3.x.nix +++ b/pkgs/development/libraries/libunique/3.x.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl, pkg-config -, dbus, dbus-glib, gtk3, gobject-introspection -, gtk-doc, docbook_xml_dtd_45, docbook_xsl -, libxslt, libxml2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + dbus, + dbus-glib, + gtk3, + gobject-introspection, + gtk-doc, + docbook_xml_dtd_45, + docbook_xsl, + libxslt, + libxml2, +}: stdenv.mkDerivation rec { @@ -16,8 +27,20 @@ stdenv.mkDerivation rec { sha256 = "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"; }; - nativeBuildInputs = [ pkg-config gobject-introspection ]; - buildInputs = [ dbus dbus-glib gtk3 gtk-doc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ]; + nativeBuildInputs = [ + pkg-config + gobject-introspection + ]; + buildInputs = [ + dbus + dbus-glib + gtk3 + gtk-doc + docbook_xml_dtd_45 + docbook_xsl + libxslt + libxml2 + ]; meta = { homepage = "https://gitlab.gnome.org/Archive/unique"; diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix index 2e9f2a8a12047..a8fa987f673af 100644 --- a/pkgs/development/libraries/libunique/default.nix +++ b/pkgs/development/libraries/libunique/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, gtk2, dbus-glib }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + gtk2, + dbus-glib, +}: stdenv.mkDerivation rec { pname = "libunique"; @@ -26,7 +34,11 @@ stdenv.mkDerivation rec { ] ++ [ ./gcc7-bug.patch ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib gtk2 dbus-glib ]; + buildInputs = [ + glib + gtk2 + dbus-glib + ]; doCheck = true; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index abf5f0df25589..cdd93f551920d 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -4,7 +4,7 @@ stdenv, libiconv, updateAutotoolsGnuConfigScriptsHook, - darwin + darwin, }: # Note: this package is used for bootstrapping fetchurl, and thus diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix index 6f491a5c527f0..f0f7de192f448 100644 --- a/pkgs/development/libraries/libunwind/default.nix +++ b/pkgs/development/libraries/libunwind/default.nix @@ -1,6 +1,12 @@ -{ stdenv, lib, fetchpatch, fetchFromGitHub, autoreconfHook, buildPackages -, xz -, testers +{ + stdenv, + lib, + fetchpatch, + fetchFromGitHub, + autoreconfHook, + buildPackages, + xz, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -19,30 +25,39 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9oBZimCXonNN++jJs3emp9w+q1aj3eNzvSKPgh92itA="; }); - postPatch = if (stdenv.cc.isClang || stdenv.hostPlatform.isStatic) then '' - substituteInPlace configure.ac --replace "-lgcc_s" "" - '' else lib.optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace configure.ac --replace "-lgcc_s" "-lgcc_eh" - ''; + postPatch = + if (stdenv.cc.isClang || stdenv.hostPlatform.isStatic) then + '' + substituteInPlace configure.ac --replace "-lgcc_s" "" + '' + else + lib.optionalString stdenv.hostPlatform.isMusl '' + substituteInPlace configure.ac --replace "-lgcc_s" "-lgcc_eh" + ''; nativeBuildInputs = [ autoreconfHook ]; - outputs = [ "out" "dev" "devman" ]; - - configureFlags = [ - # Starting from 1.8.1 libunwind installs testsuite by default. - # As we don't run the tests we disable it (this also fixes circular - # reference install failure). - "--disable-tests" - # Without latex2man, no man pages are installed despite being - # prebuilt in the source tarball. - "LATEX2MAN=${buildPackages.coreutils}/bin/true" - ] - # See https://github.com/libunwind/libunwind/issues/693 - ++ lib.optionals (with stdenv.hostPlatform; isAarch64 && isMusl && !isStatic) [ - "CFLAGS=-mno-outline-atomics" + outputs = [ + "out" + "dev" + "devman" ]; + configureFlags = + [ + # Starting from 1.8.1 libunwind installs testsuite by default. + # As we don't run the tests we disable it (this also fixes circular + # reference install failure). + "--disable-tests" + # Without latex2man, no man pages are installed despite being + # prebuilt in the source tarball. + "LATEX2MAN=${buildPackages.coreutils}/bin/true" + ] + # See https://github.com/libunwind/libunwind/issues/693 + ++ lib.optionals (with stdenv.hostPlatform; isAarch64 && isMusl && !isStatic) [ + "CFLAGS=-mno-outline-atomics" + ]; + propagatedBuildInputs = [ xz ]; postInstall = '' @@ -62,9 +77,33 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.nongnu.org/libunwind"; description = "Portable and efficient API to determine the call-chain of a program"; maintainers = with maintainers; [ orivej ]; - pkgConfigModules = [ "libunwind" "libunwind-coredump" "libunwind-generic" "libunwind-ptrace" "libunwind-setjmp" ]; + pkgConfigModules = [ + "libunwind" + "libunwind-coredump" + "libunwind-generic" + "libunwind-ptrace" + "libunwind-setjmp" + ]; # https://github.com/libunwind/libunwind#libunwind - platforms = [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-freebsd" "i686-linux" "loongarch64-linux" "mips64el-linux" "mipsel-linux" "powerpc64-linux" "powerpc64le-linux" "riscv64-linux" "s390x-linux" "x86_64-freebsd" "x86_64-linux" "x86_64-solaris" ]; + platforms = [ + "aarch64-linux" + "armv5tel-linux" + "armv6l-linux" + "armv7a-linux" + "armv7l-linux" + "i686-freebsd" + "i686-linux" + "loongarch64-linux" + "mips64el-linux" + "mipsel-linux" + "powerpc64-linux" + "powerpc64le-linux" + "riscv64-linux" + "s390x-linux" + "x86_64-freebsd" + "x86_64-linux" + "x86_64-solaris" + ]; license = licenses.mit; }; }) diff --git a/pkgs/development/libraries/libusb-compat/0.1.nix b/pkgs/development/libraries/libusb-compat/0.1.nix index 841e781dfd5f9..904848cf78fbf 100644 --- a/pkgs/development/libraries/libusb-compat/0.1.nix +++ b/pkgs/development/libraries/libusb-compat/0.1.nix @@ -1,16 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libusb1 +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libusb1, }: stdenv.mkDerivation rec { pname = "libusb-compat"; version = "0.1.8"; - outputs = [ "out" "dev" ]; # get rid of propagating systemd closure + outputs = [ + "out" + "dev" + ]; # get rid of propagating systemd closure outputBin = "dev"; src = fetchFromGitHub { @@ -22,7 +26,10 @@ stdenv.mkDerivation rec { patches = lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = [ libusb1 ]; diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index f0be68faae8f2..a02047b552c9f 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,17 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, doxygen -, pkg-config -, enableUdev ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isStatic && !stdenv.hostPlatform.isAndroid -, udev -, libobjc -, IOKit -, Security -, withExamples ? false -, withStatic ? false -, withDocs ? stdenv.buildPlatform.canExecute stdenv.hostPlatform +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + doxygen, + pkg-config, + enableUdev ? + stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isStatic && !stdenv.hostPlatform.isAndroid, + udev, + libobjc, + IOKit, + Security, + withExamples ? false, + withStatic ? false, + withDocs ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: stdenv.mkDerivation rec { @@ -25,15 +27,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-OtzYxWwiba0jRK9X+4deWWDDTeZWlysEt0qMyGUarDo="; }; - outputs = [ "out" "dev" ] ++ lib.optionals withDocs [ "doc" ]; + outputs = [ + "out" + "dev" + ] ++ lib.optionals withDocs [ "doc" ]; nativeBuildInputs = [ pkg-config autoreconfHook ] ++ lib.optionals withDocs [ doxygen ]; propagatedBuildInputs = - lib.optional enableUdev udev ++ - lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit Security ]; + lib.optional enableUdev udev + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + IOKit + Security + ]; dontDisableStatic = withStatic; @@ -68,6 +77,9 @@ stdenv.mkDerivation rec { ''; platforms = platforms.all; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ prusnak realsnick ]; + maintainers = with maintainers; [ + prusnak + realsnick + ]; }; } diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 2b8020d430934..fe0a33bb48b83 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoconf -, automake -, darwin -, libtool -, pkg-config -, pkgsStatic - -# for passthru.tests -, bind -, cmake -, knot-resolver -, sbclPackages -, luajitPackages -, mosquitto -, neovim -, nodejs -, ocamlPackages -, python3 -, testers +{ + stdenv, + lib, + fetchFromGitHub, + autoconf, + automake, + darwin, + libtool, + pkg-config, + pkgsStatic, + + # for passthru.tests + bind, + cmake, + knot-resolver, + sbclPackages, + luajitPackages, + mosquitto, + neovim, + nodejs, + ocamlPackages, + python3, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -33,66 +34,125 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-U68BmIQNpmIy3prS7LkYl+wvDJQNikoeFiKh50yQFoA="; }; - outputs = [ "out" "dev" ]; - - postPatch = let - toDisable = [ - "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent - "tcp_connect_timeout" # tries to reach out to 8.8.8.8 - "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces - "getaddrinfo_fail" "getaddrinfo_fail_sync" "tcp_connect6_link_local" - "threadpool_multiple_event_loops" # times out on slow machines - "get_passwd" # passed on NixOS but failed on other Linuxes - "tcp_writealot" "udp_multicast_join" "udp_multicast_join6" "metrics_pool_events" # times out sometimes - "fs_fstat" # https://github.com/libuv/libuv/issues/2235#issuecomment-1012086927 - - # Assertion failed in test/test-tcp-bind6-error.c on line 60: r == UV_EADDRINUSE - # Assertion failed in test/test-tcp-bind-error.c on line 99: r == UV_EADDRINUSE - "tcp_bind6_error_addrinuse" "tcp_bind_error_addrinuse_listen" - # https://github.com/libuv/libuv/pull/4075#issuecomment-1935572237 - "thread_priority" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Sometimes: timeout (no output), failed uv_listen. Someone - # should report these failures to libuv team. There tests should - # be much more robust. - "process_title" "emfile" "poll_duplex" "poll_unidirectional" - "ipc_listen_before_write" "ipc_listen_after_write" "ipc_tcp_connection" - "tcp_alloc_cb_fail" "tcp_ping_pong" "tcp_ref3" "tcp_ref4" - "tcp_bind6_error_inval" "tcp_bind6_error_addrinuse" "tcp_read_stop" - "tcp_unexpected_read" "tcp_write_to_half_open_connection" - "tcp_oob" "tcp_close_accept" "tcp_create_early_accept" - "tcp_create_early" "tcp_close" "tcp_bind_error_inval" - "tcp_bind_error_addrinuse" "tcp_shutdown_after_write" - "tcp_open" "tcp_write_queue_order" "tcp_try_write" "tcp_writealot" - "multiple_listen" "delayed_accept" "udp_recv_in_a_row" - "shutdown_close_tcp" "shutdown_eof" "shutdown_twice" "callback_stack" - "tty_pty" "condvar_5" "hrtime" "udp_multicast_join" - # Tests that fail when sandboxing is enabled. - "fs_event_close_in_callback" "fs_event_watch_dir" "fs_event_error_reporting" - "fs_event_watch_dir_recursive" "fs_event_watch_file" - "fs_event_watch_file_current_dir" "fs_event_watch_file_exact_path" - "process_priority" "udp_create_early_bad_bind" - "fs_event_watch_delete_dir" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ - # fail on macos < 10.15 (starting in libuv 1.47.0) - "fs_write_alotof_bufs_with_offset" "fs_write_multiple_bufs" "fs_read_bufs" - ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ - # I observe this test failing with some regularity on ARMv7: - # https://github.com/libuv/libuv/issues/1871 - "shutdown_close_pipe" - ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ - # EOPNOTSUPP when performed in jailed build env - "tcp_reuseport" "udp_reuseport" - # Fails when built on non-nix FreeBSD - # https://github.com/libuv/libuv/issues/4606 - "fs_event_watch_delete_dir" - ]; - tdRegexp = lib.concatStringsSep "\\|" toDisable; - in lib.optionalString (finalAttrs.finalPackage.doCheck) '' + outputs = [ + "out" + "dev" + ]; + + postPatch = + let + toDisable = + [ + "getnameinfo_basic" + "udp_send_hang_loop" # probably network-dependent + "tcp_connect_timeout" # tries to reach out to 8.8.8.8 + "spawn_setuid_fails" + "spawn_setgid_fails" + "fs_chown" # user namespaces + "getaddrinfo_fail" + "getaddrinfo_fail_sync" + "tcp_connect6_link_local" + "threadpool_multiple_event_loops" # times out on slow machines + "get_passwd" # passed on NixOS but failed on other Linuxes + "tcp_writealot" + "udp_multicast_join" + "udp_multicast_join6" + "metrics_pool_events" # times out sometimes + "fs_fstat" # https://github.com/libuv/libuv/issues/2235#issuecomment-1012086927 + + # Assertion failed in test/test-tcp-bind6-error.c on line 60: r == UV_EADDRINUSE + # Assertion failed in test/test-tcp-bind-error.c on line 99: r == UV_EADDRINUSE + "tcp_bind6_error_addrinuse" + "tcp_bind_error_addrinuse_listen" + # https://github.com/libuv/libuv/pull/4075#issuecomment-1935572237 + "thread_priority" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Sometimes: timeout (no output), failed uv_listen. Someone + # should report these failures to libuv team. There tests should + # be much more robust. + "process_title" + "emfile" + "poll_duplex" + "poll_unidirectional" + "ipc_listen_before_write" + "ipc_listen_after_write" + "ipc_tcp_connection" + "tcp_alloc_cb_fail" + "tcp_ping_pong" + "tcp_ref3" + "tcp_ref4" + "tcp_bind6_error_inval" + "tcp_bind6_error_addrinuse" + "tcp_read_stop" + "tcp_unexpected_read" + "tcp_write_to_half_open_connection" + "tcp_oob" + "tcp_close_accept" + "tcp_create_early_accept" + "tcp_create_early" + "tcp_close" + "tcp_bind_error_inval" + "tcp_bind_error_addrinuse" + "tcp_shutdown_after_write" + "tcp_open" + "tcp_write_queue_order" + "tcp_try_write" + "tcp_writealot" + "multiple_listen" + "delayed_accept" + "udp_recv_in_a_row" + "shutdown_close_tcp" + "shutdown_eof" + "shutdown_twice" + "callback_stack" + "tty_pty" + "condvar_5" + "hrtime" + "udp_multicast_join" + # Tests that fail when sandboxing is enabled. + "fs_event_close_in_callback" + "fs_event_watch_dir" + "fs_event_error_reporting" + "fs_event_watch_dir_recursive" + "fs_event_watch_file" + "fs_event_watch_file_current_dir" + "fs_event_watch_file_exact_path" + "process_priority" + "udp_create_early_bad_bind" + "fs_event_watch_delete_dir" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # fail on macos < 10.15 (starting in libuv 1.47.0) + "fs_write_alotof_bufs_with_offset" + "fs_write_multiple_bufs" + "fs_read_bufs" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + # I observe this test failing with some regularity on ARMv7: + # https://github.com/libuv/libuv/issues/1871 + "shutdown_close_pipe" + ] + ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + # EOPNOTSUPP when performed in jailed build env + "tcp_reuseport" + "udp_reuseport" + # Fails when built on non-nix FreeBSD + # https://github.com/libuv/libuv/issues/4606 + "fs_event_watch_delete_dir" + ]; + tdRegexp = lib.concatStringsSep "\\|" toDisable; + in + lib.optionalString (finalAttrs.finalPackage.doCheck) '' sed '/${tdRegexp}/d' -i test/test-list.h ''; - nativeBuildInputs = [ automake autoconf libtool pkg-config ]; + nativeBuildInputs = [ + automake + autoconf + libtool + pkg-config + ]; # This is part of the Darwin bootstrap, so we don’t always get # `libutil.dylib` automatically propagated through the SDK. @@ -118,7 +178,14 @@ stdenv.mkDerivation (finalAttrs: { __darwinAllowLocalNetworking = true; passthru.tests = { - inherit bind cmake knot-resolver mosquitto neovim nodejs; + inherit + bind + cmake + knot-resolver + mosquitto + neovim + nodejs + ; inherit (sbclPackages) cl-libuv; luajit-libluv = luajitPackages.libluv; luajit-luv = luajitPackages.luv; @@ -131,12 +198,18 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Multi-platform support library with a focus on asynchronous I/O"; - homepage = "https://libuv.org/"; - changelog = "https://github.com/libuv/libuv/blob/v${finalAttrs.version}/ChangeLog"; + homepage = "https://libuv.org/"; + changelog = "https://github.com/libuv/libuv/blob/v${finalAttrs.version}/ChangeLog"; pkgConfigModules = [ "libuv" ]; maintainers = [ ]; - platforms = platforms.all; - license = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ]; + platforms = platforms.all; + license = with licenses; [ + mit + isc + bsd2 + bsd3 + cc-by-40 + ]; }; }) diff --git a/pkgs/development/libraries/libva/1.nix b/pkgs/development/libraries/libva/1.nix index 15e4d0a9e8017..05680090878ac 100644 --- a/pkgs/development/libraries/libva/1.nix +++ b/pkgs/development/libraries/libva/1.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, libX11 -, pkg-config -, libXext -, libdrm -, libXfixes -, wayland -, wayland-scanner -, libffi -, libGL -, mesa -, minimal ? false -, libva1-minimal +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + libX11, + pkg-config, + libXext, + libdrm, + libXfixes, + wayland, + wayland-scanner, + libffi, + libGL, + mesa, + minimal ? false, + libva1-minimal, }: stdenv.mkDerivation rec { @@ -28,16 +29,35 @@ stdenv.mkDerivation rec { sha256 = "sha256-ur59cqdZqXIY2dDUSie9XsxyRomVBxIW2IVKAgWYC38="; }; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config wayland-scanner ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + wayland-scanner + ]; - buildInputs = [ libdrm ] - ++ lib.optionals (!minimal) [ libva1-minimal libX11 libXext libXfixes wayland libffi libGL ]; + buildInputs = + [ libdrm ] + ++ lib.optionals (!minimal) [ + libva1-minimal + libX11 + libXext + libXfixes + wayland + libffi + libGL + ]; # TODO: share libs between minimal and !minimal - perhaps just symlink them # Add FHS paths for non-NixOS applications. - configureFlags = lib.optionals stdenv.hostPlatform.isLinux [ "--with-drivers-path=${mesa.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" ] + configureFlags = + lib.optionals stdenv.hostPlatform.isLinux [ + "--with-drivers-path=${mesa.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" + ] ++ lib.optionals (!minimal) [ "--enable-glx" ]; installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ]; diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index f88404682b44c..9fd523a70610c 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -1,15 +1,27 @@ -{ stdenv, lib, fetchFromGitHub, meson, pkg-config, ninja, wayland-scanner -, libdrm -, minimal ? false -, libX11, libXext, libXfixes, wayland, libffi, libGL -, mesa -# for passthru.tests -, intel-compute-runtime -, intel-media-driver -, mpv -, intel-vaapi-driver -, vlc -, testers +{ + stdenv, + lib, + fetchFromGitHub, + meson, + pkg-config, + ninja, + wayland-scanner, + libdrm, + minimal ? false, + libX11, + libXext, + libXfixes, + wayland, + libffi, + libGL, + mesa, + # for passthru.tests + intel-compute-runtime, + intel-media-driver, + mpv, + intel-vaapi-driver, + vlc, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -17,37 +29,60 @@ stdenv.mkDerivation (finalAttrs: { version = "2.22.0"; src = fetchFromGitHub { - owner = "intel"; - repo = "libva"; - rev = finalAttrs.version; + owner = "intel"; + repo = "libva"; + rev = finalAttrs.version; sha256 = "sha256-0eOYxyMt2M2lkhoWOhoUQgP/1LYY3QQqSF5TdRUuCbs="; }; - outputs = [ "dev" "out" ]; + outputs = [ + "dev" + "out" + ]; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson pkg-config ninja ] - ++ lib.optional (!minimal) wayland-scanner; + nativeBuildInputs = [ + meson + pkg-config + ninja + ] ++ lib.optional (!minimal) wayland-scanner; - buildInputs = [ libdrm ] - ++ lib.optionals (!minimal) [ libX11 libXext libXfixes wayland libffi libGL ]; + buildInputs = + [ libdrm ] + ++ lib.optionals (!minimal) [ + libX11 + libXext + libXfixes + wayland + libffi + libGL + ]; mesonFlags = lib.optionals stdenv.hostPlatform.isLinux [ # Add FHS and Debian paths for non-NixOS applications "-Ddriverdir=${mesa.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/i386-linux-gnu/dri" ]; - env = lib.optionalAttrs (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") { - NIX_LDFLAGS = "--undefined-version"; - } // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { - NIX_CFLAGS_COMPILE = "-DHAVE_SECURE_GETENV"; - }; + env = + lib.optionalAttrs (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") + { + NIX_LDFLAGS = "--undefined-version"; + } + // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { + NIX_CFLAGS_COMPILE = "-DHAVE_SECURE_GETENV"; + }; passthru.tests = { # other drivers depending on libva and selected application users. # Please get a confirmation from the maintainer before adding more applications. - inherit intel-compute-runtime intel-media-driver intel-vaapi-driver mpv vlc; + inherit + intel-compute-runtime + intel-media-driver + intel-vaapi-driver + mpv + vlc + ; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; @@ -63,9 +98,16 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://raw.githubusercontent.com/intel/libva/${finalAttrs.version}/NEWS"; license = licenses.mit; maintainers = with maintainers; [ SuperSandro2000 ]; - pkgConfigModules = [ "libva" "libva-drm" ] ++ lib.optionals (!minimal) [ - "libva-glx" "libva-wayland" "libva-x11" - ]; + pkgConfigModules = + [ + "libva" + "libva-drm" + ] + ++ lib.optionals (!minimal) [ + "libva-glx" + "libva-wayland" + "libva-x11" + ]; platforms = platforms.unix; badPlatforms = [ # Mandatory libva shared library. diff --git a/pkgs/development/libraries/libva/utils.nix b/pkgs/development/libraries/libva/utils.nix index 96373327ca0ed..1be8fd098fce1 100644 --- a/pkgs/development/libraries/libva/utils.nix +++ b/pkgs/development/libraries/libva/utils.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config -, libdrm, libva, libX11, libXext, libXfixes, wayland +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + libdrm, + libva, + libX11, + libXext, + libXfixes, + wayland, }: stdenv.mkDerivation rec { @@ -7,15 +18,26 @@ stdenv.mkDerivation rec { version = "2.22.0"; src = fetchFromGitHub { - owner = "intel"; - repo = "libva-utils"; - rev = version; + owner = "intel"; + repo = "libva-utils"; + rev = version; sha256 = "sha256-CmhdhNNRO2j8lH7awp9YiKWMvV17GTBsXdrNY06jT2w="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; - buildInputs = [ libdrm libva libX11 libXext libXfixes wayland ]; + buildInputs = [ + libdrm + libva + libX11 + libXext + libXfixes + wayland + ]; meta = with lib; { description = "Collection of utilities and examples for VA-API"; diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix index e6b5bf4acb5b6..29dd629480010 100644 --- a/pkgs/development/libraries/libvncserver/default.nix +++ b/pkgs/development/libraries/libvncserver/default.nix @@ -1,22 +1,26 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libjpeg -, openssl -, zlib -, libgcrypt -, libpng -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd -, Carbon +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libjpeg, + openssl, + zlib, + libgcrypt, + libpng, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + Carbon, }: stdenv.mkDerivation rec { pname = "libvncserver"; version = "0.9.14"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "LibVNC"; @@ -38,16 +42,19 @@ stdenv.mkDerivation rec { "-DWITH_SYSTEMD=${if withSystemd then "ON" else "OFF"}" ]; - buildInputs = [ - libjpeg - openssl - libgcrypt - libpng - ] ++ lib.optionals withSystemd [ - systemd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon - ]; + buildInputs = + [ + libjpeg + openssl + libgcrypt + libpng + ] + ++ lib.optionals withSystemd [ + systemd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + ]; propagatedBuildInputs = [ zlib diff --git a/pkgs/development/libraries/libwnck/2.nix b/pkgs/development/libraries/libwnck/2.nix index 890b1a7651a8b..5a15b05cee6a4 100644 --- a/pkgs/development/libraries/libwnck/2.nix +++ b/pkgs/development/libraries/libwnck/2.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, xorg }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk2, + intltool, + xorg, +}: stdenv.mkDerivation rec { pname = "libwnck"; @@ -9,11 +17,22 @@ stdenv.mkDerivation rec { sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3"; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ gtk2 xorg.libX11 xorg.libXres ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + gtk2 + xorg.libX11 + xorg.libXres + ]; # ?another optional: startup-notification configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix index 25b2be3db4a29..853b3f45ddf07 100644 --- a/pkgs/development/libraries/libwnck/default.nix +++ b/pkgs/development/libraries/libwnck/default.nix @@ -1,30 +1,35 @@ -{ stdenv -, lib -, fetchurl -, meson -, mesonEmulatorHook -, ninja -, pkg-config -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 -, libX11 -, glib -, gtk3 -, pango -, cairo -, libXres -, libstartup_notification -, gettext -, gobject-introspection -, gnome +{ + stdenv, + lib, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + pkg-config, + gtk-doc, + docbook_xsl, + docbook_xml_dtd_412, + libX11, + glib, + gtk3, + pango, + cairo, + libXres, + libstartup_notification, + gettext, + gobject-introspection, + gnome, }: stdenv.mkDerivation rec { pname = "libwnck"; version = "43.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputBin = "dev"; src = fetchurl { @@ -32,18 +37,20 @@ stdenv.mkDerivation rec { sha256 = "Y0tFh7c2ekk9OBjEtXdA2sBhU8+PJc1k9a8WtlfdaEU="; }; - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - gobject-introspection - gtk-doc - docbook_xsl - docbook_xml_dtd_412 - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + gettext + gobject-introspection + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; buildInputs = [ libX11 diff --git a/pkgs/development/libraries/libwpd/0.8.nix b/pkgs/development/libraries/libwpd/0.8.nix index abac656f8e473..5c5e7307192ba 100644 --- a/pkgs/development/libraries/libwpd/0.8.nix +++ b/pkgs/development/libraries/libwpd/0.8.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, libgsf, libxml2, bzip2 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + glib, + libgsf, + libxml2, + bzip2, +}: stdenv.mkDerivation rec { pname = "libwpd"; @@ -11,14 +20,24 @@ stdenv.mkDerivation rec { patches = [ ./gcc-0.8.patch ]; - buildInputs = [ glib libgsf libxml2 ]; + buildInputs = [ + glib + libgsf + libxml2 + ]; - nativeBuildInputs = [ pkg-config bzip2 ]; + nativeBuildInputs = [ + pkg-config + bzip2 + ]; meta = with lib; { description = "Library for importing WordPerfect documents"; homepage = "https://libwpd.sourceforge.net"; - license = with licenses; [ lgpl21 mpl20 ]; + license = with licenses; [ + lgpl21 + mpl20 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix index 0aa0b746978c8..4ed68e09b4a76 100644 --- a/pkgs/development/libraries/libwpd/default.nix +++ b/pkgs/development/libraries/libwpd/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, zlib, pkg-config, glib, libgsf, libxml2, librevenge, boost }: +{ + lib, + stdenv, + fetchurl, + zlib, + pkg-config, + glib, + libgsf, + libxml2, + librevenge, + boost, +}: stdenv.mkDerivation rec { pname = "libwpd"; @@ -11,7 +22,14 @@ stdenv.mkDerivation rec { patches = [ ./gcc-1.0.patch ]; - buildInputs = [ glib libgsf libxml2 zlib librevenge boost ]; + buildInputs = [ + glib + libgsf + libxml2 + zlib + librevenge + boost + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/libraries/libwpe/default.nix b/pkgs/development/libraries/libwpe/default.nix index c78ee91a20926..ece4d3997a51d 100644 --- a/pkgs/development/libraries/libwpe/default.nix +++ b/pkgs/development/libraries/libwpe/default.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchurl -, meson -, pkg-config -, libxkbcommon -, libGL -, ninja -, libX11 +{ + stdenv, + lib, + fetchurl, + meson, + pkg-config, + libxkbcommon, + libGL, + ninja, + libX11, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libwpe/fdo.nix b/pkgs/development/libraries/libwpe/fdo.nix index d4e743ee28556..b7f09b7ebb7b6 100644 --- a/pkgs/development/libraries/libwpe/fdo.nix +++ b/pkgs/development/libraries/libwpe/fdo.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchurl -, meson -, pkg-config -, ninja -, wayland-scanner -, wayland -, libepoxy -, glib -, libwpe -, libxkbcommon -, libGL -, libX11 - }: +{ + stdenv, + lib, + fetchurl, + meson, + pkg-config, + ninja, + wayland-scanner, + wayland, + libepoxy, + glib, + libwpe, + libxkbcommon, + libGL, + libX11, +}: stdenv.mkDerivation rec { pname = "wpebackend-fdo"; diff --git a/pkgs/development/libraries/libxcrypt/default.nix b/pkgs/development/libraries/libxcrypt/default.nix index efd3acb643fbe..571f18db3c4f8 100644 --- a/pkgs/development/libraries/libxcrypt/default.nix +++ b/pkgs/development/libraries/libxcrypt/default.nix @@ -1,9 +1,13 @@ -{ lib, stdenv, fetchurl, perl -# Update the enabled crypt scheme ids in passthru when the enabled hashes change -, enableHashes ? "strong" -, nixosTests -, runCommand -, python3 +{ + lib, + stdenv, + fetchurl, + perl, + # Update the enabled crypt scheme ids in passthru when the enabled hashes change + enableHashes ? "strong", + nixosTests, + runCommand, + python3, }: stdenv.mkDerivation (finalAttrs: { @@ -34,18 +38,18 @@ stdenv.mkDerivation (finalAttrs: { "--disable-werror" ]; - makeFlags = let - lld17Plus = stdenv.cc.bintools.isLLVM - && lib.versionAtLeast stdenv.cc.bintools.version "17"; - in [] + makeFlags = + let + lld17Plus = stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17"; + in + [ ] # fixes: can't build x86_64-w64-mingw32 shared library unless -no-undefined is specified ++ lib.optionals stdenv.hostPlatform.isWindows [ "LDFLAGS+=-no-undefined" ] # lld 17 sets `--no-undefined-version` by default and `libxcrypt`'s # version script unconditionally lists legacy compatibility symbols, even # when not exported: https://github.com/besser82/libxcrypt/issues/181 - ++ lib.optionals lld17Plus [ "LDFLAGS+=-Wl,--undefined-version" ] - ; + ++ lib.optionals lld17Plus [ "LDFLAGS+=-Wl,--undefined-version" ]; nativeBuildInputs = [ perl @@ -60,19 +64,28 @@ stdenv.mkDerivation (finalAttrs: { inherit (nixosTests) login shadow; passthruMatches = runCommand "libxcrypt-test-passthru-matches" { } '' - ${python3.interpreter} "${./check_passthru_matches.py}" ${lib.escapeShellArgs ([ finalAttrs.src enableHashes "--" ] ++ finalAttrs.passthru.enabledCryptSchemeIds)} + ${python3.interpreter} "${./check_passthru_matches.py}" ${ + lib.escapeShellArgs ( + [ + finalAttrs.src + enableHashes + "--" + ] + ++ finalAttrs.passthru.enabledCryptSchemeIds + ) + } touch "$out" ''; }; enabledCryptSchemeIds = [ # https://github.com/besser82/libxcrypt/blob/v4.4.35/lib/hashes.conf - "y" # yescrypt - "gy" # gost_yescrypt - "7" # scrypt - "2b" # bcrypt - "2y" # bcrypt_y - "2a" # bcrypt_a - "6" # sha512crypt + "y" # yescrypt + "gy" # gost_yescrypt + "7" # scrypt + "2b" # bcrypt + "2y" # bcrypt_y + "2a" # bcrypt_a + "6" # sha512crypt ]; }; @@ -81,7 +94,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Extended crypt library for descrypt, md5crypt, bcrypt, and others"; homepage = "https://github.com/besser82/libxcrypt/"; platforms = platforms.all; - maintainers = with maintainers; [ dottedmag hexa ]; + maintainers = with maintainers; [ + dottedmag + hexa + ]; license = licenses.lgpl21Plus; }; }) diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 6924c71fab662..b696dbffcefc9 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,32 +1,45 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, autoreconfHook -, libintl -, python -, gettext -, ncurses -, findXMLCatalogs -, libiconv -# Python limits cross-compilation to an allowlist of host OSes. -# https://github.com/python/cpython/blob/dfad678d7024ab86d265d84ed45999e031a03691/configure.ac#L534-L562 -, pythonSupport ? enableShared && - (stdenv.hostPlatform == stdenv.buildPlatform || stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isWasi) -, icuSupport ? false -, icu -, enableShared ? !stdenv.hostPlatform.isMinGW && !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared -, gnome -, testers -, enableHttp ? false +{ + stdenv, + lib, + fetchurl, + pkg-config, + autoreconfHook, + libintl, + python, + gettext, + ncurses, + findXMLCatalogs, + libiconv, + # Python limits cross-compilation to an allowlist of host OSes. + # https://github.com/python/cpython/blob/dfad678d7024ab86d265d84ed45999e031a03691/configure.ac#L534-L562 + pythonSupport ? + enableShared + && ( + stdenv.hostPlatform == stdenv.buildPlatform + || stdenv.hostPlatform.isCygwin + || stdenv.hostPlatform.isLinux + || stdenv.hostPlatform.isWasi + ), + icuSupport ? false, + icu, + enableShared ? !stdenv.hostPlatform.isMinGW && !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, + gnome, + testers, + enableHttp ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "libxml2"; version = "2.13.4"; - outputs = [ "bin" "dev" "out" "devdoc" ] + outputs = + [ + "bin" + "dev" + "out" + "devdoc" + ] ++ lib.optional pythonSupport "py" ++ lib.optional (enableStatic && enableShared) "static"; outputMan = "bin"; @@ -43,23 +56,30 @@ stdenv.mkDerivation (finalAttrs: { autoreconfHook ]; - buildInputs = lib.optionals pythonSupport [ - python - ] ++ lib.optionals (pythonSupport && python?isPy2 && python.isPy2) [ - gettext - ] ++ lib.optionals (pythonSupport && python?isPy3 && python.isPy3) [ - ncurses - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && pythonSupport && python?isPy2 && python.isPy2) [ - libintl - ]; - - propagatedBuildInputs = [ - findXMLCatalogs - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ] ++ lib.optionals icuSupport [ - icu - ]; + buildInputs = + lib.optionals pythonSupport [ + python + ] + ++ lib.optionals (pythonSupport && python ? isPy2 && python.isPy2) [ + gettext + ] + ++ lib.optionals (pythonSupport && python ? isPy3 && python.isPy3) [ + ncurses + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && pythonSupport && python ? isPy2 && python.isPy2) [ + libintl + ]; + + propagatedBuildInputs = + [ + findXMLCatalogs + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ] + ++ lib.optionals icuSupport [ + icu + ]; configureFlags = [ "--exec-prefix=${placeholder "dev"}" @@ -77,9 +97,7 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - doCheck = - (stdenv.hostPlatform == stdenv.buildPlatform) && - stdenv.hostPlatform.libc != "musl"; + doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && stdenv.hostPlatform.libc != "musl"; preCheck = lib.optional stdenv.hostPlatform.isDarwin '' export DYLD_LIBRARY_PATH="$PWD/.libs:$DYLD_LIBRARY_PATH" ''; @@ -92,12 +110,14 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace python/libxml2mod.la --replace-fail "$dev/${python.sitePackages}" "$py/${python.sitePackages}" ''; - postFixup = '' - moveToOutput bin/xml2-config "$dev" - moveToOutput lib/xml2Conf.sh "$dev" - '' + lib.optionalString (enableStatic && enableShared) '' - moveToOutput lib/libxml2.a "$static" - ''; + postFixup = + '' + moveToOutput bin/xml2-config "$dev" + moveToOutput lib/xml2Conf.sh "$dev" + '' + + lib.optionalString (enableStatic && enableShared) '' + moveToOutput lib/libxml2.a "$static" + ''; passthru = { inherit pythonSupport; diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix index 5d55e242f0064..d2739a61551a7 100644 --- a/pkgs/development/libraries/libxmlxx/default.nix +++ b/pkgs/development/libraries/libxmlxx/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, glibmm, perl, gnome }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libxml2, + glibmm, + perl, + gnome, +}: stdenv.mkDerivation rec { pname = "libxml++"; @@ -14,11 +23,20 @@ stdenv.mkDerivation rec { "CXXFLAGS=-std=c++11" ]; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; - nativeBuildInputs = [ pkg-config perl ]; + nativeBuildInputs = [ + pkg-config + perl + ]; - propagatedBuildInputs = [ libxml2 glibmm ]; + propagatedBuildInputs = [ + libxml2 + glibmm + ]; passthru = { updateScript = gnome.updateScript { diff --git a/pkgs/development/libraries/liquid-dsp/default.nix b/pkgs/development/libraries/liquid-dsp/default.nix index 0700b645e30ab..2540eb9520f7f 100644 --- a/pkgs/development/libraries/liquid-dsp/default.nix +++ b/pkgs/development/libraries/liquid-dsp/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, cctools -, autoSignDarwinBinariesHook -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + cctools, + autoSignDarwinBinariesHook, + fixDarwinDylibNames, }: stdenv.mkDerivation rec { @@ -20,8 +21,13 @@ stdenv.mkDerivation rec { configureFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "LIBTOOL=${cctools}/bin/libtool" ]; - nativeBuildInputs = [ autoreconfHook ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools autoSignDarwinBinariesHook fixDarwinDylibNames ]; + nativeBuildInputs = + [ autoreconfHook ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + autoSignDarwinBinariesHook + fixDarwinDylibNames + ]; meta = { homepage = "https://liquidsdr.org/"; diff --git a/pkgs/development/libraries/luabind/default.nix b/pkgs/development/libraries/luabind/default.nix index a6ce0903469d7..e498602061c53 100644 --- a/pkgs/development/libraries/luabind/default.nix +++ b/pkgs/development/libraries/luabind/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, lua, boost, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + lua, + boost, + cmake, +}: stdenv.mkDerivation rec { pname = "luabind"; @@ -21,7 +28,7 @@ stdenv.mkDerivation rec { inherit lua; }; - patches = [./0.9.1-discover-luajit.patch]; + patches = [ ./0.9.1-discover-luajit.patch ]; meta = { homepage = "https://github.com/Oberon00/luabind"; diff --git a/pkgs/development/libraries/luksmeta/default.nix b/pkgs/development/libraries/luksmeta/default.nix index 976f6f188269e..0968c5374a8f1 100644 --- a/pkgs/development/libraries/luksmeta/default.nix +++ b/pkgs/development/libraries/luksmeta/default.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, asciidoc -, cryptsetup +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + asciidoc, + cryptsetup, }: stdenv.mkDerivation rec { @@ -13,7 +19,11 @@ stdenv.mkDerivation rec { sha256 = "10nslwk7m1qwskd12c204ipa3cbad0q6fn0v084z2f7q6xxbkd2d"; }; - nativeBuildInputs = [ autoreconfHook pkg-config asciidoc ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + asciidoc + ]; buildInputs = [ cryptsetup ]; meta = { diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix index 1381a48315df4..60708ed7a4a25 100644 --- a/pkgs/development/libraries/mailcore2/default.nix +++ b/pkgs/development/libraries/mailcore2/default.nix @@ -1,6 +1,20 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libetpan, icu, cyrus_sasl, libctemplate -, libuchardet, pkg-config, glib, html-tidy, libxml2, libuuid, openssl -, darwin +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libetpan, + icu, + cyrus_sasl, + libctemplate, + libuchardet, + pkg-config, + glib, + html-tidy, + libxml2, + libuuid, + openssl, + darwin, }: stdenv.mkDerivation rec { @@ -9,38 +23,51 @@ stdenv.mkDerivation rec { version = "0.6.4"; src = fetchFromGitHub { - owner = "MailCore"; - repo = "mailcore2"; - rev = version; + owner = "MailCore"; + repo = "mailcore2"; + rev = version; sha256 = "0a69q11z194fdfwyazjyyylx57sqs9j4lz7jwh5qcws8syqgb23z"; }; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - libetpan cyrus_sasl libctemplate libuchardet - html-tidy libxml2 openssl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - glib - icu - libuuid - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Foundation + nativeBuildInputs = [ + cmake + pkg-config ]; + buildInputs = + [ + libetpan + cyrus_sasl + libctemplate + libuchardet + html-tidy + libxml2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + glib + icu + libuuid + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace " icule iculx" "" \ - --replace "tidy/tidy.h" "tidy.h" \ - --replace "/usr/include/tidy" "${html-tidy}/include" \ - --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2" - substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \ - --replace buffio.h tidybuffio.h - substituteInPlace src/core/basetypes/MCString.cpp \ - --replace "xmlErrorPtr" "const xmlError *" - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - substituteInPlace src/core/basetypes/MCICUTypes.h \ - --replace "__CHAR16_TYPE__ UChar" "char16_t UChar" - ''; + postPatch = + '' + substituteInPlace CMakeLists.txt \ + --replace " icule iculx" "" \ + --replace "tidy/tidy.h" "tidy.h" \ + --replace "/usr/include/tidy" "${html-tidy}/include" \ + --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2" + substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \ + --replace buffio.h tidybuffio.h + substituteInPlace src/core/basetypes/MCString.cpp \ + --replace "xmlErrorPtr" "const xmlError *" + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + substituteInPlace src/core/basetypes/MCICUTypes.h \ + --replace "__CHAR16_TYPE__ UChar" "char16_t UChar" + ''; cmakeFlags = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "-DBUILD_SHARED_LIBS=ON" @@ -64,9 +91,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP"; - homepage = "http://libmailcore.com"; - license = licenses.bsd3; + homepage = "http://libmailcore.com"; + license = licenses.bsd3; maintainers = [ ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/malcontent/ui.nix b/pkgs/development/libraries/malcontent/ui.nix index cf421bd11c198..3e76f3a2e7f30 100644 --- a/pkgs/development/libraries/malcontent/ui.nix +++ b/pkgs/development/libraries/malcontent/ui.nix @@ -1,21 +1,23 @@ -{ lib, stdenv -, meson -, ninja -, pkg-config -, gobject-introspection -, itstool -, wrapGAppsHook4 -, glib -, accountsservice -, dbus -, flatpak -, malcontent -, gtk4 -, libadwaita -, appstream -, desktop-file-utils -, polkit -, glib-testing +{ + lib, + stdenv, + meson, + ninja, + pkg-config, + gobject-introspection, + itstool, + wrapGAppsHook4, + glib, + accountsservice, + dbus, + flatpak, + malcontent, + gtk4, + libadwaita, + appstream, + desktop-file-utils, + polkit, + glib-testing, }: stdenv.mkDerivation rec { @@ -23,7 +25,11 @@ stdenv.mkDerivation rec { inherit (malcontent) version src; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; patches = [ # Allow installing installed tests to a separate output. diff --git a/pkgs/development/libraries/mapbox-gl-native/default.nix b/pkgs/development/libraries/mapbox-gl-native/default.nix index 01d51bdf7461a..0f106cfe4cb69 100644 --- a/pkgs/development/libraries/mapbox-gl-native/default.nix +++ b/pkgs/development/libraries/mapbox-gl-native/default.nix @@ -1,5 +1,16 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkg-config -, qtbase, curl, libuv, glfw3, rapidjson }: +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + qtbase, + curl, + libuv, + glfw3, + rapidjson, +}: mkDerivation rec { pname = "mapbox-gl-native"; @@ -47,8 +58,17 @@ mkDerivation rec { rm -r vendor/mapbox-base/extras/rapidjson ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ curl libuv glfw3 qtbase rapidjson ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + curl + libuv + glfw3 + qtbase + rapidjson + ]; cmakeFlags = [ "-DMBGL_WITH_QT=ON" @@ -63,7 +83,10 @@ mkDerivation rec { description = "Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL"; homepage = "https://mapbox.com/mobile"; license = licenses.bsd2; - maintainers = with maintainers; [ Thra11 dotlambda ]; + maintainers = with maintainers; [ + Thra11 + dotlambda + ]; platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/maplibre-gl-native/default.nix b/pkgs/development/libraries/maplibre-gl-native/default.nix index 3b2e988d47953..047a358254eb3 100644 --- a/pkgs/development/libraries/maplibre-gl-native/default.nix +++ b/pkgs/development/libraries/maplibre-gl-native/default.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fetchpatch -, fetchpatch2 -, cmake -, pkg-config -, qtbase -, curl -, libuv -, glfw3 -, rapidjson -, stdenv +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + fetchpatch2, + cmake, + pkg-config, + qtbase, + curl, + libuv, + glfw3, + rapidjson, + stdenv, }: mkDerivation rec { @@ -62,10 +63,12 @@ mkDerivation rec { "-DMBGL_WITH_QT_HEADLESS=OFF" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but problematic with some old GCCs - "-Wno-error=use-after-free" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs + "-Wno-error=use-after-free" + ] + ); meta = with lib; { description = "Open-source alternative to Mapbox GL Native"; diff --git a/pkgs/development/libraries/maui-core/default.nix b/pkgs/development/libraries/maui-core/default.nix index 901b26f4e646a..4a5658fa26587 100644 --- a/pkgs/development/libraries/maui-core/default.nix +++ b/pkgs/development/libraries/maui-core/default.nix @@ -1,12 +1,13 @@ -{ lib -, mkDerivation -, libcanberra -, pulseaudio -, fetchFromGitHub -, cmake -, extra-cmake-modules -, kio -, kidletime +{ + lib, + mkDerivation, + libcanberra, + pulseaudio, + fetchFromGitHub, + cmake, + extra-cmake-modules, + kio, + kidletime, }: mkDerivation rec { diff --git a/pkgs/development/libraries/mbedtls/generic.nix b/pkgs/development/libraries/mbedtls/generic.nix index 14545a2710fc1..d2a0206dde2db 100644 --- a/pkgs/development/libraries/mbedtls/generic.nix +++ b/pkgs/development/libraries/mbedtls/generic.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, version -, hash -, patches ? [] -, fetchFromGitHub +{ + lib, + stdenv, + version, + hash, + patches ? [ ], + fetchFromGitHub, -, cmake -, ninja -, perl # Project uses Perl for scripting and testing -, python3 + cmake, + ninja, + perl, # Project uses Perl for scripting and testing + python3, -, enableThreading ? true # Threading can be disabled to increase security https://tls.mbed.org/kb/development/thread-safety-and-multi-threading + enableThreading ? true, # Threading can be disabled to increase security https://tls.mbed.org/kb/development/thread-safety-and-multi-threading }: stdenv.mkDerivation rec { @@ -28,7 +29,12 @@ stdenv.mkDerivation rec { inherit patches; - nativeBuildInputs = [ cmake ninja perl python3 ]; + nativeBuildInputs = [ + cmake + ninja + perl + python3 + ]; strictDeps = true; @@ -47,9 +53,11 @@ stdenv.mkDerivation rec { "-DGEN_FILES=off" ]; - env = lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) { - NIX_CFLAGS_COMPILE = "-Wno-error=calloc-transposed-args"; - }; + env = + lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) + { + NIX_CFLAGS_COMPILE = "-Wno-error=calloc-transposed-args"; + }; doCheck = true; @@ -61,7 +69,10 @@ stdenv.mkDerivation rec { homepage = "https://www.trustedfirmware.org/projects/mbed-tls/"; changelog = "https://github.com/Mbed-TLS/mbedtls/blob/${pname}-${version}/ChangeLog"; description = "Portable cryptographic and TLS library, formerly known as PolarSSL"; - license = [ licenses.asl20 /* or */ licenses.gpl2Plus ]; + license = [ + licenses.asl20 # or + licenses.gpl2Plus + ]; platforms = platforms.all; maintainers = with maintainers; [ raphaelr ]; }; diff --git a/pkgs/development/libraries/medfile/default.nix b/pkgs/development/libraries/medfile/default.nix index 296317788d217..91a935bb99d9f 100644 --- a/pkgs/development/libraries/medfile/default.nix +++ b/pkgs/development/libraries/medfile/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, cmake, hdf5 }: +{ + lib, + stdenv, + fetchurl, + cmake, + hdf5, +}: stdenv.mkDerivation (finalAttrs: { pname = "medfile"; @@ -9,28 +15,34 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Jn520MZ+xRwQ4xmUhOwVCLqo1e2EXGKK32YFKdzno9Q="; }; - outputs = [ "out" "doc" "dev" ]; - - postPatch = '' - # Patch cmake and source files to work with hdf5 - substituteInPlace config/cmake_files/medMacros.cmake --replace-fail \ - "IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 12 OR NOT HDF_VERSION_RELEASE_REF GREATER 0)" \ - "IF (HDF5_VERSION VERSION_LESS 1.12.0)" - substituteInPlace src/*/*.c --replace-warn \ - "#if H5_VERS_MINOR > 12" \ - "#if H5_VERS_MINOR > 14" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Some medfile test files #define _a, which - # breaks system header files that use _a as a function parameter - substituteInPlace tests/c/*.c \ - --replace-warn "_a" "_A" \ - --replace-warn "_b" "_B" - # Fix compiler errors in test files - substituteInPlace tests/c/*.c \ - --replace-warn "med_Bool" "med_bool" \ - --replace-warn "med_Axis_type" "med_axis_type" \ - --replace-warn "med_Access_mode" "med_access_mode" - ''; + outputs = [ + "out" + "doc" + "dev" + ]; + + postPatch = + '' + # Patch cmake and source files to work with hdf5 + substituteInPlace config/cmake_files/medMacros.cmake --replace-fail \ + "IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 12 OR NOT HDF_VERSION_RELEASE_REF GREATER 0)" \ + "IF (HDF5_VERSION VERSION_LESS 1.12.0)" + substituteInPlace src/*/*.c --replace-warn \ + "#if H5_VERS_MINOR > 12" \ + "#if H5_VERS_MINOR > 14" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Some medfile test files #define _a, which + # breaks system header files that use _a as a function parameter + substituteInPlace tests/c/*.c \ + --replace-warn "_a" "_A" \ + --replace-warn "_b" "_B" + # Fix compiler errors in test files + substituteInPlace tests/c/*.c \ + --replace-warn "med_Bool" "med_bool" \ + --replace-warn "med_Axis_type" "med_axis_type" \ + --replace-warn "med_Access_mode" "med_access_mode" + ''; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix index 03efb5d57a703..b388622a959a2 100644 --- a/pkgs/development/libraries/mediastreamer/default.nix +++ b/pkgs/development/libraries/mediastreamer/default.nix @@ -1,25 +1,26 @@ -{ bctoolbox -, bzrtp -, cmake -, fetchFromGitLab -, fetchpatch2 -, ffmpeg -, glew -, gsm -, lib -, libX11 -, libXext -, libopus -, libpulseaudio -, libv4l -, libvpx -, ortp -, python3 -, qtbase -, qtdeclarative -, speex -, srtp -, stdenv +{ + bctoolbox, + bzrtp, + cmake, + fetchFromGitLab, + fetchpatch2, + ffmpeg, + glew, + gsm, + lib, + libX11, + libXext, + libopus, + libpulseaudio, + libv4l, + libvpx, + ortp, + python3, + qtbase, + qtdeclarative, + speex, + srtp, + stdenv, }: stdenv.mkDerivation rec { @@ -75,9 +76,9 @@ stdenv.mkDerivation rec { srtp # Optional - gsm # GSM audio codec - libopus # Opus audio codec - libvpx # VP8 video codec + gsm # GSM audio codec + libopus # Opus audio codec + libvpx # VP8 video codec ]; strictDeps = true; diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix index 7c987f6422691..67b063ec21292 100644 --- a/pkgs/development/libraries/mediastreamer/msopenh264.nix +++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix @@ -1,9 +1,10 @@ -{ cmake -, fetchFromGitLab -, mediastreamer -, openh264 -, lib -, stdenv +{ + cmake, + fetchFromGitLab, + mediastreamer, + openh264, + lib, + stdenv, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ mediastreamer openh264 ]; + buildInputs = [ + mediastreamer + openh264 + ]; # Do not build static libraries cmakeFlags = [ diff --git a/pkgs/development/libraries/memorymapping/default.nix b/pkgs/development/libraries/memorymapping/default.nix index 1b3c17bc4f8c6..eb0bb5d6e768e 100644 --- a/pkgs/development/libraries/memorymapping/default.nix +++ b/pkgs/development/libraries/memorymapping/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "memorymapping"; diff --git a/pkgs/development/libraries/memstream/default.nix b/pkgs/development/libraries/memstream/default.nix index 7877718e6d358..11c4f4d9fa830 100644 --- a/pkgs/development/libraries/memstream/default.nix +++ b/pkgs/development/libraries/memstream/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "memstream"; diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 6c349d679871b..8bc0715eb2c29 100644 --- a/pkgs/development/libraries/mesa/common.nix +++ b/pkgs/development/libraries/mesa/common.nix @@ -30,6 +30,10 @@ rec { changelog = "https://docs.mesa3d.org/relnotes/${version}.html"; license = with lib.licenses; [ mit ]; # X11 variant, in most files platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ k900 primeos vcunat ]; # Help is welcome :) + maintainers = with lib.maintainers; [ + k900 + primeos + vcunat + ]; # Help is welcome :) }; } diff --git a/pkgs/development/libraries/mesa/darwin.nix b/pkgs/development/libraries/mesa/darwin.nix index 5be2a27f74e98..b59fbba15b213 100644 --- a/pkgs/development/libraries/mesa/darwin.nix +++ b/pkgs/development/libraries/mesa/darwin.nix @@ -17,14 +17,23 @@ }: let common = import ./common.nix { inherit lib fetchFromGitLab; }; -in stdenv.mkDerivation { - inherit (common) pname version src meta; +in +stdenv.mkDerivation { + inherit (common) + pname + version + src + meta + ; patches = [ ./darwin-build-fix.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ bison @@ -39,7 +48,7 @@ in stdenv.mkDerivation { ]; buildInputs = [ - libxml2 # should be propagated from libllvm + libxml2 # should be propagated from libllvm llvmPackages.libllvm Xplugin xorg.libX11 diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix index c3fa57204987e..e4fe44e0ccea1 100644 --- a/pkgs/development/libraries/mlt/default.nix +++ b/pkgs/development/libraries/mlt/default.nix @@ -1,42 +1,43 @@ -{ config -, lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, which -, ffmpeg -, fftw -, frei0r -, libdv -, libjack2 -, libsamplerate -, libvorbis -, libxml2 -, makeWrapper -, movit -, opencv4 -, rtaudio -, rubberband -, sox -, vid-stab -, darwin -, cudaSupport ? config.cudaSupport -, cudaPackages ? { } -, enableJackrack ? stdenv.hostPlatform.isLinux -, glib -, ladspa-sdk -, ladspaPlugins -, enablePython ? false -, python3 -, swig -, qt ? null -, enableSDL1 ? stdenv.hostPlatform.isLinux -, SDL -, enableSDL2 ? true -, SDL2 -, gitUpdater -, libarchive +{ + config, + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + which, + ffmpeg, + fftw, + frei0r, + libdv, + libjack2, + libsamplerate, + libvorbis, + libxml2, + makeWrapper, + movit, + opencv4, + rtaudio, + rubberband, + sox, + vid-stab, + darwin, + cudaSupport ? config.cudaSupport, + cudaPackages ? { }, + enableJackrack ? stdenv.hostPlatform.isLinux, + glib, + ladspa-sdk, + ladspaPlugins, + enablePython ? false, + python3, + swig, + qt ? null, + enableSDL1 ? stdenv.hostPlatform.isLinux, + SDL, + enableSDL2 ? true, + SDL2, + gitUpdater, + libarchive, }: stdenv.mkDerivation rec { @@ -54,67 +55,84 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ - cmake - pkg-config - which - makeWrapper - ] ++ lib.optionals cudaSupport [ - cudaPackages.cuda_nvcc - ] ++ lib.optionals enablePython [ - python3 - swig - ] ++ lib.optionals (qt != null) [ - qt.wrapQtAppsHook - ]; - - buildInputs = [ - (opencv4.override { inherit ffmpeg; }) - ffmpeg - fftw - frei0r - libdv - libjack2 - libsamplerate - libvorbis - libxml2 - movit - rtaudio - rubberband - sox - vid-stab - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Accelerate - ] ++ lib.optionals cudaSupport [ - cudaPackages.cuda_cudart - ] ++ lib.optionals enableJackrack [ - glib - ladspa-sdk - ladspaPlugins - ] ++ lib.optionals (qt != null) [ - qt.qtbase - qt.qtsvg - (qt.qt5compat or null) - libarchive - ] ++ lib.optionals enableSDL1 [ - SDL - ] ++ lib.optionals enableSDL2 [ - SDL2 - ]; + nativeBuildInputs = + [ + cmake + pkg-config + which + makeWrapper + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cuda_nvcc + ] + ++ lib.optionals enablePython [ + python3 + swig + ] + ++ lib.optionals (qt != null) [ + qt.wrapQtAppsHook + ]; - outputs = [ "out" "dev" ]; + buildInputs = + [ + (opencv4.override { inherit ffmpeg; }) + ffmpeg + fftw + frei0r + libdv + libjack2 + libsamplerate + libvorbis + libxml2 + movit + rtaudio + rubberband + sox + vid-stab + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Accelerate + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cuda_cudart + ] + ++ lib.optionals enableJackrack [ + glib + ladspa-sdk + ladspaPlugins + ] + ++ lib.optionals (qt != null) [ + qt.qtbase + qt.qtsvg + (qt.qt5compat or null) + libarchive + ] + ++ lib.optionals enableSDL1 [ + SDL + ] + ++ lib.optionals enableSDL2 [ + SDL2 + ]; - cmakeFlags = [ - # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ - "-DCMAKE_SKIP_BUILD_RPATH=ON" - "-DMOD_OPENCV=ON" - ] ++ lib.optionals enablePython [ - "-DSWIG_PYTHON=ON" - ] ++ lib.optionals (qt != null) [ - "-DMOD_QT${lib.versions.major qt.qtbase.version}=ON" - "-DMOD_GLAXNIMATE${if lib.versions.major qt.qtbase.version == "5" then "" else "_QT6"}=ON" + outputs = [ + "out" + "dev" ]; + cmakeFlags = + [ + # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ + "-DCMAKE_SKIP_BUILD_RPATH=ON" + "-DMOD_OPENCV=ON" + ] + ++ lib.optionals enablePython [ + "-DSWIG_PYTHON=ON" + ] + ++ lib.optionals (qt != null) [ + "-DMOD_QT${lib.versions.major qt.qtbase.version}=ON" + "-DMOD_GLAXNIMATE${if lib.versions.major qt.qtbase.version == "5" then "" else "_QT6"}=ON" + ]; + preFixup = '' wrapProgram $out/bin/melt \ --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 \ @@ -139,7 +157,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open source multimedia framework, designed for television broadcasting"; homepage = "https://www.mltframework.org/"; - license = with licenses; [ lgpl21Plus gpl2Plus ]; + license = with licenses; [ + lgpl21Plus + gpl2Plus + ]; maintainers = [ ]; platforms = platforms.unix; }; diff --git a/pkgs/development/libraries/mongoc/default.nix b/pkgs/development/libraries/mongoc/default.nix index 577ca980cbf21..650dd92551895 100644 --- a/pkgs/development/libraries/mongoc/default.nix +++ b/pkgs/development/libraries/mongoc/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, openssl -, zlib -, zstd -, icu -, cyrus_sasl -, snappy -, darwin +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + openssl, + zlib, + zstd, + icu, + cyrus_sasl, + snappy, + darwin, }: stdenv.mkDerivation rec { @@ -28,16 +29,18 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - openssl - zlib - zstd - icu - cyrus_sasl - snappy - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Security - ]; + buildInputs = + [ + openssl + zlib + zstd + icu + cyrus_sasl + snappy + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.Security + ]; cmakeFlags = [ "-DBUILD_VERSION=${version}" diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix index d52eadbba6cd7..e7d326e446ac0 100644 --- a/pkgs/development/libraries/mygui/default.nix +++ b/pkgs/development/libraries/mygui/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, boost -, freetype -, libuuid -, ois -, withOgre ? false -, ogre -, libGL -, libGLU -, libX11 -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + boost, + freetype, + libuuid, + ois, + withOgre ? false, + ogre, + libGL, + libGLU, + libX11, + Cocoa, }: let @@ -38,21 +39,26 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - boost - freetype - libuuid - ois - ] ++ lib.optionals withOgre [ - ogre - ] ++ lib.optionals (!withOgre && stdenv.hostPlatform.isLinux) [ - libGL - libGLU - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libX11 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ]; + buildInputs = + [ + boost + freetype + libuuid + ois + ] + ++ lib.optionals withOgre [ + ogre + ] + ++ lib.optionals (!withOgre && stdenv.hostPlatform.isLinux) [ + libGL + libGLU + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libX11 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ]; # Tools are disabled due to compilation failures. cmakeFlags = [ diff --git a/pkgs/development/libraries/mypaint-brushes/1.0.nix b/pkgs/development/libraries/mypaint-brushes/1.0.nix index 73acfd9287f71..885dd5e5137db 100644 --- a/pkgs/development/libraries/mypaint-brushes/1.0.nix +++ b/pkgs/development/libraries/mypaint-brushes/1.0.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, autoconf -, automake -, fetchFromGitHub -, pkg-config +{ + lib, + stdenv, + autoconf, + automake, + fetchFromGitHub, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/mypaint-brushes/default.nix b/pkgs/development/libraries/mypaint-brushes/default.nix index acdee52b85ef7..a8ca5edacc7e9 100644 --- a/pkgs/development/libraries/mypaint-brushes/default.nix +++ b/pkgs/development/libraries/mypaint-brushes/default.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, autoconf -, automake -, fetchFromGitHub -, pkg-config +{ + lib, + stdenv, + autoconf, + automake, + fetchFromGitHub, + pkg-config, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/ndi/default.nix b/pkgs/development/libraries/ndi/default.nix index 78a4f808b4c3e..316a1583ee892 100644 --- a/pkgs/development/libraries/ndi/default.nix +++ b/pkgs/development/libraries/ndi/default.nix @@ -1,13 +1,24 @@ -{ lib, stdenv, fetchurl, avahi, obs-studio-plugins }: +{ + lib, + stdenv, + fetchurl, + avahi, + obs-studio-plugins, +}: let versionJSON = lib.importJSON ./version.json; ndiPlatform = - if stdenv.hostPlatform.isAarch64 then "aarch64-rpi4-linux-gnueabi" - else if stdenv.hostPlatform.isAarch32 then "arm-rpi2-linux-gnueabihf" - else if stdenv.hostPlatform.isx86_64 then "x86_64-linux-gnu" - else if stdenv.hostPlatform.isi686 then "i686-linux-gnu" - else throw "unsupported platform for NDI SDK"; + if stdenv.hostPlatform.isAarch64 then + "aarch64-rpi4-linux-gnueabi" + else if stdenv.hostPlatform.isAarch32 then + "arm-rpi2-linux-gnueabihf" + else if stdenv.hostPlatform.isx86_64 then + "x86_64-linux-gnu" + else if stdenv.hostPlatform.isi686 then + "i686-linux-gnu" + else + throw "unsupported platform for NDI SDK"; in stdenv.mkDerivation rec { pname = "ndi"; @@ -61,8 +72,13 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://ndi.video/ndi-sdk/"; description = "NDI Software Developer Kit"; - platforms = ["x86_64-linux" "i686-linux" "aarch64-linux" "armv7l-linux"]; - hydraPlatforms = []; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "armv7l-linux" + ]; + hydraPlatforms = [ ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; }; diff --git a/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix b/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix index a07a692f295e6..92e3b9d571f2b 100644 --- a/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix +++ b/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix @@ -1,4 +1,10 @@ -{ mkDerivation, lib, fetchFromGitLab, qmake, qtbase }: +{ + mkDerivation, + lib, + fetchFromGitLab, + qmake, + qtbase, +}: mkDerivation rec { pname = "nemo-qml-plugin-dbus"; diff --git a/pkgs/development/libraries/netcdf-fortran/default.nix b/pkgs/development/libraries/netcdf-fortran/default.nix index d9a80768bb614..aacafb1e674f2 100644 --- a/pkgs/development/libraries/netcdf-fortran/default.nix +++ b/pkgs/development/libraries/netcdf-fortran/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, netcdf, hdf5, curl, gfortran, CoreFoundation, CoreServices, SystemConfiguration }: +{ + lib, + stdenv, + fetchFromGitHub, + netcdf, + hdf5, + curl, + gfortran, + CoreFoundation, + CoreServices, + SystemConfiguration, +}: stdenv.mkDerivation rec { pname = "netcdf-fortran"; version = "4.4.5"; @@ -11,16 +22,23 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ gfortran ]; - buildInputs = [ netcdf hdf5 curl ] + buildInputs = + [ + netcdf + hdf5 + curl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation CoreServices SystemConfiguration ]; - env.NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-F${CoreServices}/Library/Frameworks" - "-F${SystemConfiguration}/Library/Frameworks" - ]); + env.NIX_LDFLAGS = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-F${CoreServices}/Library/Frameworks" + "-F${SystemConfiguration}/Library/Frameworks" + ] + ); doCheck = true; FFLAGS = [ "-std=legacy" ]; diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix index b1cf1f5f6bfe9..2ce64e94121f3 100644 --- a/pkgs/development/libraries/nettle/generic.nix +++ b/pkgs/development/libraries/nettle/generic.nix @@ -1,7 +1,13 @@ -{ lib, stdenv, buildPackages, gmp, gnum4 - -# Version specific args -, version, src +{ + lib, + stdenv, + buildPackages, + gmp, + gnum4, + + # Version specific args + version, + src, }: stdenv.mkDerivation { @@ -9,7 +15,10 @@ stdenv.mkDerivation { inherit version src; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputBin = "dev"; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -29,40 +38,39 @@ stdenv.mkDerivation { enableParallelBuilding = true; - patches = lib.optional (stdenv.hostPlatform.system == "i686-cygwin") - ./cygwin.patch; + patches = lib.optional (stdenv.hostPlatform.system == "i686-cygwin") ./cygwin.patch; meta = with lib; { description = "Cryptographic library"; longDescription = '' - Nettle is a cryptographic library that is designed to fit - easily in more or less any context: In crypto toolkits for - object-oriented languages (C++, Python, Pike, ...), in - applications like LSH or GNUPG, or even in kernel space. In - most contexts, you need more than the basic cryptographic - algorithms, you also need some way to keep track of available - algorithms, their properties and variants. You often have - some algorithm selection process, often dictated by a protocol - you want to implement. - - And as the requirements of applications differ in subtle and - not so subtle ways, an API that fits one application well can - be a pain to use in a different context. And that is why - there are so many different cryptographic libraries around. - - Nettle tries to avoid this problem by doing one thing, the - low-level crypto stuff, and providing a simple but general - interface to it. In particular, Nettle doesn't do algorithm - selection. It doesn't do memory allocation. It doesn't do any - I/O. - ''; - - license = licenses.gpl2Plus; - - homepage = "https://www.lysator.liu.se/~nisse/nettle/"; - - platforms = platforms.all; - maintainers = [ maintainers.vcunat ]; + Nettle is a cryptographic library that is designed to fit + easily in more or less any context: In crypto toolkits for + object-oriented languages (C++, Python, Pike, ...), in + applications like LSH or GNUPG, or even in kernel space. In + most contexts, you need more than the basic cryptographic + algorithms, you also need some way to keep track of available + algorithms, their properties and variants. You often have + some algorithm selection process, often dictated by a protocol + you want to implement. + + And as the requirements of applications differ in subtle and + not so subtle ways, an API that fits one application well can + be a pain to use in a different context. And that is why + there are so many different cryptographic libraries around. + + Nettle tries to avoid this problem by doing one thing, the + low-level crypto stuff, and providing a simple but general + interface to it. In particular, Nettle doesn't do algorithm + selection. It doesn't do memory allocation. It doesn't do any + I/O. + ''; + + license = licenses.gpl2Plus; + + homepage = "https://www.lysator.liu.se/~nisse/nettle/"; + + platforms = platforms.all; + maintainers = [ maintainers.vcunat ]; }; } diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix index d8adcf63b19db..4e6f408acc338 100644 --- a/pkgs/development/libraries/newt/default.nix +++ b/pkgs/development/libraries/newt/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, stdenv, slang, popt, python }: +{ + lib, + fetchurl, + stdenv, + slang, + popt, + python, +}: let pythonIncludePath = "${lib.getDev python}/include/python"; @@ -26,7 +33,10 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ python ]; - buildInputs = [ slang popt ]; + buildInputs = [ + slang + popt + ]; NIX_LDFLAGS = "-lncurses"; diff --git a/pkgs/development/libraries/nghttp3/default.nix b/pkgs/development/libraries/nghttp3/default.nix index d6fa71d590ea9..c7d53e0160dc9 100644 --- a/pkgs/development/libraries/nghttp3/default.nix +++ b/pkgs/development/libraries/nghttp3/default.nix @@ -1,7 +1,10 @@ -{ lib, stdenv, fetchFromGitHub -, cmake -, CoreServices -, curlHTTP3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + CoreServices, + curlHTTP3, }: stdenv.mkDerivation rec { @@ -16,7 +19,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ cmake ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix index 4995d98adca76..1e1f5f01c3821 100644 --- a/pkgs/development/libraries/nlopt/default.nix +++ b/pkgs/development/libraries/nlopt/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, octave ? null, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + octave ? null, + libiconv, +}: stdenv.mkDerivation rec { pname = "nlopt"; @@ -14,18 +21,20 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; buildInputs = [ octave ]; - configureFlags = [ - "--with-cxx" - "--enable-shared" - "--with-pic" - "--without-guile" - "--without-python" - "--without-matlab" - ] ++ lib.optionals (octave != null) [ - "--with-octave" - "M_INSTALL_DIR=$(out)/${octave.sitePath}/m" - "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct" - ]; + configureFlags = + [ + "--with-cxx" + "--enable-shared" + "--with-pic" + "--without-guile" + "--without-python" + "--without-matlab" + ] + ++ lib.optionals (octave != null) [ + "--with-octave" + "M_INSTALL_DIR=$(out)/${octave.sitePath}/m" + "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct" + ]; postFixup = '' substituteInPlace $out/lib/cmake/nlopt/NLoptLibraryDepends.cmake --replace \ diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 1f126d256870c..e8cf01bb7a7ec 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, CoreServices -, buildPackages -, nixosTests +{ + lib, + stdenv, + fetchurl, + CoreServices, + buildPackages, + nixosTests, }: stdenv.mkDerivation rec { @@ -19,15 +20,20 @@ stdenv.mkDerivation rec { ./0001-Makefile-use-SOURCE_DATE_EPOCH-for-reproducibility.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputBin = "dev"; - preConfigure = '' - cd nspr - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace configure --replace '@executable_path/' "$out/lib/" - substituteInPlace configure.in --replace '@executable_path/' "$out/lib/" - ''; + preConfigure = + '' + cd nspr + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace configure --replace '@executable_path/' "$out/lib/" + substituteInPlace configure.in --replace '@executable_path/' "$out/lib/" + ''; HOST_CC = "cc"; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -52,7 +58,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://firefox-source-docs.mozilla.org/nspr/index.html"; description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions"; - maintainers = with maintainers; [ ajs124 hexa ]; + maintainers = with maintainers; [ + ajs124 + hexa + ]; platforms = platforms.all; license = licenses.mpl20; }; diff --git a/pkgs/development/libraries/nss/generic.nix b/pkgs/development/libraries/nss/generic.nix index 9e54ddda866f7..38741f23a1214 100644 --- a/pkgs/development/libraries/nss/generic.nix +++ b/pkgs/development/libraries/nss/generic.nix @@ -1,22 +1,23 @@ { version, hash }: -{ lib -, stdenv -, fetchFromGitHub -, nspr -, perl -, zlib -, sqlite -, ninja -, cctools -, fixDarwinDylibNames -, buildPackages -, useP11kit ? true -, p11-kit -, # allow FIPS mode. Note that this makes the output non-reproducible. +{ + lib, + stdenv, + fetchFromGitHub, + nspr, + perl, + zlib, + sqlite, + ninja, + cctools, + fixDarwinDylibNames, + buildPackages, + useP11kit ? true, + p11-kit, + # allow FIPS mode. Note that this makes the output non-reproducible. # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Tech_Notes/nss_tech_note6 - enableFIPS ? false -, nixosTests -, nss_latest + enableFIPS ? false, + nixosTests, + nss_latest, }: let @@ -29,16 +30,27 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "nss-dev"; repo = "nss"; - rev = "NSS_${lib.replaceStrings ["."] ["_"] version}_RTM"; + rev = "NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM"; inherit hash; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ perl ninja (buildPackages.python3.withPackages (ps: with ps; [ gyp ])) ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools fixDarwinDylibNames ]; - - buildInputs = [ zlib sqlite ]; + nativeBuildInputs = + [ + perl + ninja + (buildPackages.python3.withPackages (ps: with ps; [ gyp ])) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + fixDarwinDylibNames + ]; + + buildInputs = [ + zlib + sqlite + ]; propagatedBuildInputs = [ nspr ]; @@ -48,33 +60,43 @@ stdenv.mkDerivation rec { ./fix-cross-compilation.patch ]; - postPatch = '' - patchShebangs . + postPatch = + '' + patchShebangs . - for f in coreconf/config.gypi build.sh; do - substituteInPlace "$f" --replace "/usr/bin/env" "${buildPackages.coreutils}/bin/env" - done + for f in coreconf/config.gypi build.sh; do + substituteInPlace "$f" --replace "/usr/bin/env" "${buildPackages.coreutils}/bin/env" + done - substituteInPlace coreconf/config.gypi --replace "/usr/bin/grep" "${buildPackages.coreutils}/bin/env grep" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)" - substituteInPlace coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'" - ''; + substituteInPlace coreconf/config.gypi --replace "/usr/bin/grep" "${buildPackages.coreutils}/bin/env grep" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)" + substituteInPlace coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'" + ''; - outputs = [ "out" "dev" "tools" ]; + outputs = [ + "out" + "dev" + "tools" + ]; buildPhase = let - getArch = platform: - if platform.isx86_64 then "x64" - else if platform.isx86_32 then "ia32" - else if platform.isAarch32 then "arm" - else if platform.isAarch64 then "arm64" + getArch = + platform: + if platform.isx86_64 then + "x64" + else if platform.isx86_32 then + "ia32" + else if platform.isAarch32 then + "arm" + else if platform.isAarch64 then + "arm64" else if platform.isPower && platform.is64bit then - ( - if platform.isLittleEndian then "ppc64le" else "ppc64" - ) - else platform.parsed.cpu.name; + (if platform.isLittleEndian then "ppc64le" else "ppc64") + else + platform.parsed.cpu.name; # yes, this is correct. nixpkgs uses "host" for the platform the binary will run on whereas nss uses "host" for the platform that the build is running on target = getArch stdenv.hostPlatform; host = getArch stdenv.buildPlatform; @@ -99,14 +121,18 @@ stdenv.mkDerivation rec { runHook postBuild ''; - env.NIX_CFLAGS_COMPILE = toString ([ - "-Wno-error" - "-DNIX_NSS_LIBDIR=\"${placeholder "out"}/lib/\"" - ] ++ lib.optionals stdenv.hostPlatform.is64bit [ - "-DNSS_USE_64=1" - ] ++ lib.optionals stdenv.hostPlatform.isILP32 [ - "-DNS_PTR_LE_32=1" # See RNG_RandomUpdate() in drdbg.c - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-Wno-error" + "-DNIX_NSS_LIBDIR=\"${placeholder "out"}/lib/\"" + ] + ++ lib.optionals stdenv.hostPlatform.is64bit [ + "-DNSS_USE_64=1" + ] + ++ lib.optionals stdenv.hostPlatform.isILP32 [ + "-DNS_PTR_LE_32=1" # See RNG_RandomUpdate() in drdbg.c + ] + ); installPhase = '' runHook preInstall @@ -152,19 +178,26 @@ stdenv.mkDerivation rec { isCross = stdenv.hostPlatform != stdenv.buildPlatform; nss = if isCross then buildPackages.nss.tools else "$out"; in - (lib.optionalString enableFIPS ('' - for libname in freebl3 nssdbm3 softokn3 - do libfile="$out/lib/lib$libname${stdenv.hostPlatform.extensions.sharedLibrary}"'' + - (if stdenv.hostPlatform.isDarwin - then '' - DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \ - '' else '' - LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \ - '') + '' - ${nss}/bin/shlibsign -v -i "$libfile" - done - '')) + - '' + (lib.optionalString enableFIPS ( + '' + for libname in freebl3 nssdbm3 softokn3 + do libfile="$out/lib/lib$libname${stdenv.hostPlatform.extensions.sharedLibrary}"'' + + ( + if stdenv.hostPlatform.isDarwin then + '' + DYLD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \ + '' + else + '' + LD_LIBRARY_PATH=$out/lib:${nspr.out}/lib \ + '' + ) + + '' + ${nss}/bin/shlibsign -v -i "$libfile" + done + '' + )) + + '' moveToOutput bin "$tools" moveToOutput bin/nss-config "$dev" moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example @@ -175,17 +208,22 @@ stdenv.mkDerivation rec { passthru.updateScript = ./update.sh; - passthru.tests = lib.optionalAttrs (lib.versionOlder version nss_latest.version) { - inherit (nixosTests) firefox-esr-115; - } // lib.optionalAttrs (lib.versionAtLeast version nss_latest.version) { - inherit (nixosTests) firefox; - }; + passthru.tests = + lib.optionalAttrs (lib.versionOlder version nss_latest.version) { + inherit (nixosTests) firefox-esr-115; + } + // lib.optionalAttrs (lib.versionAtLeast version nss_latest.version) { + inherit (nixosTests) firefox; + }; meta = with lib; { homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"; description = "Set of libraries for development of security-enabled client and server applications"; changelog = "https://github.com/nss-dev/nss/blob/master/doc/rst/releases/nss_${underscoreVersion}.rst"; - maintainers = with maintainers; [ hexa ajs124 ]; + maintainers = with maintainers; [ + hexa + ajs124 + ]; license = licenses.mpl20; platforms = platforms.all; }; diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix index b2bd4de93f033..f2e7309b09edf 100644 --- a/pkgs/development/libraries/nuspell/default.nix +++ b/pkgs/development/libraries/nuspell/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pandoc, pkg-config, icu, catch2_3 }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pandoc, + pkg-config, + icu, + catch2_3, +}: stdenv.mkDerivation rec { pname = "nuspell"; @@ -11,14 +20,22 @@ stdenv.mkDerivation rec { hash = "sha256-U/lHSxpKsBnamf4ikE2aIjEPSU5fxjtuSmhZR0jxMAI="; }; - nativeBuildInputs = [ cmake pandoc pkg-config ]; + nativeBuildInputs = [ + cmake + pandoc + pkg-config + ]; buildInputs = [ catch2_3 ]; propagatedBuildInputs = [ icu ]; cmakeFlags = [ "-DBUILD_TESTING=YES" ]; doCheck = true; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; meta = with lib; { description = "Free and open source C++ spell checking library"; diff --git a/pkgs/development/libraries/nuspell/wrapper.nix b/pkgs/development/libraries/nuspell/wrapper.nix index b3a929545f24f..4bb97e623d38f 100644 --- a/pkgs/development/libraries/nuspell/wrapper.nix +++ b/pkgs/development/libraries/nuspell/wrapper.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, nuspell, makeWrapper, dicts ? [] }: +{ + stdenv, + lib, + nuspell, + makeWrapper, + dicts ? [ ], +}: let searchPath = lib.makeSearchPath "share/hunspell" dicts; @@ -9,5 +15,5 @@ stdenv.mkDerivation { buildCommand = '' makeWrapper ${nuspell}/bin/nuspell $out/bin/nuspell --prefix DICPATH : ${lib.escapeShellArg searchPath} ''; - meta = removeAttrs nuspell.meta ["outputsToInstall"]; + meta = removeAttrs nuspell.meta [ "outputsToInstall" ]; } diff --git a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix index aa8f6a16c4429..89eee7dbf8d57 100644 --- a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix +++ b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, fetchFromGitHub -, lib -, meson -, ninja -, pkg-config -, libdrm -, libGL -, gst_all_1 -, nv-codec-headers-11 -, libva -, addDriverRunpath +{ + stdenv, + fetchFromGitHub, + lib, + meson, + ninja, + pkg-config, + libdrm, + libGL, + gst_all_1, + nv-codec-headers-11, + libva, + addDriverRunpath, }: stdenv.mkDerivation rec { @@ -47,11 +48,11 @@ stdenv.mkDerivation rec { addDriverRunpath "$out/lib/dri/nvidia_drv_video.so" ''; - meta = with lib;{ + meta = with lib; { homepage = "https://github.com/elFarto/nvidia-vaapi-driver"; description = "VA-API implemention using NVIDIA's NVDEC"; changelog = "https://github.com/elFarto/nvidia-vaapi-driver/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers;[ nickcao ]; + maintainers = with maintainers; [ nickcao ]; }; } diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix index e24fdd9c12a51..9a74cf86576c5 100644 --- a/pkgs/development/libraries/ogre/default.nix +++ b/pkgs/development/libraries/ogre/default.nix @@ -1,114 +1,130 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, unzip -, SDL2 -, boost -, freetype -, libpng -, ois -, pugixml -, zziplib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + unzip, + SDL2, + boost, + freetype, + libpng, + ois, + pugixml, + zziplib, # linux -, libglut -, libGL -, libGLU -, libICE -, libSM -, libX11 -, libXaw -, libXmu -, libXrandr -, libXrender -, libXt -, libXxf86vm -, xorgproto + libglut, + libGL, + libGLU, + libICE, + libSM, + libX11, + libXaw, + libXmu, + libXrandr, + libXrender, + libXt, + libXxf86vm, + xorgproto, # darwin -, darwin + darwin, # optional -, withNvidiaCg ? false -, nvidia_cg_toolkit -, withSamples ? false + withNvidiaCg ? false, + nvidia_cg_toolkit, + withSamples ? false, }: let - common = { version, hash, imguiVersion, imguiHash }: - let - imgui.src = fetchFromGitHub { - owner = "ocornut"; - repo = "imgui"; - rev = "v${imguiVersion}"; - hash = imguiHash; - }; - in - stdenv.mkDerivation { - pname = "ogre"; - inherit version; + common = + { + version, + hash, + imguiVersion, + imguiHash, + }: + let + imgui.src = fetchFromGitHub { + owner = "ocornut"; + repo = "imgui"; + rev = "v${imguiVersion}"; + hash = imguiHash; + }; + in + stdenv.mkDerivation { + pname = "ogre"; + inherit version; - src = fetchFromGitHub { - owner = "OGRECave"; - repo = "ogre"; - rev = "v${version}"; - inherit hash; - }; + src = fetchFromGitHub { + owner = "OGRECave"; + repo = "ogre"; + rev = "v${version}"; + inherit hash; + }; - postPatch = '' - mkdir -p build - cp -R ${imgui.src} build/imgui-${imguiVersion} - chmod -R u+w build/imgui-${imguiVersion} - ''; + postPatch = '' + mkdir -p build + cp -R ${imgui.src} build/imgui-${imguiVersion} + chmod -R u+w build/imgui-${imguiVersion} + ''; - nativeBuildInputs = [ - cmake - pkg-config - unzip - ]; + nativeBuildInputs = [ + cmake + pkg-config + unzip + ]; - buildInputs = [ - SDL2 - boost - freetype - libpng - ois - pugixml - zziplib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libglut - libGL - libGLU - libICE - libSM - libX11 - libXaw - libXmu - libXrandr - libXrender - libXt - libXxf86vm - xorgproto - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - ] ++ lib.optionals withNvidiaCg [ - nvidia_cg_toolkit - ]; + buildInputs = + [ + SDL2 + boost + freetype + libpng + ois + pugixml + zziplib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libglut + libGL + libGLU + libICE + libSM + libX11 + libXaw + libXmu + libXrandr + libXrender + libXt + libXxf86vm + xorgproto + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ] + ++ lib.optionals withNvidiaCg [ + nvidia_cg_toolkit + ]; - cmakeFlags = [ - (lib.cmakeBool "OGRE_BUILD_DEPENDENCIES" false) - (lib.cmakeBool "OGRE_BUILD_SAMPLES" withSamples) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.cmakeBool "OGRE_BUILD_LIBS_AS_FRAMEWORKS" false) - ]; + cmakeFlags = + [ + (lib.cmakeBool "OGRE_BUILD_DEPENDENCIES" false) + (lib.cmakeBool "OGRE_BUILD_SAMPLES" withSamples) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.cmakeBool "OGRE_BUILD_LIBS_AS_FRAMEWORKS" false) + ]; - meta = { - description = "3D Object-Oriented Graphics Rendering Engine"; - homepage = "https://www.ogre3d.org/"; - maintainers = with lib.maintainers; [ raskin wegank ]; - platforms = lib.platforms.unix; - license = lib.licenses.mit; + meta = { + description = "3D Object-Oriented Graphics Rendering Engine"; + homepage = "https://www.ogre3d.org/"; + maintainers = with lib.maintainers; [ + raskin + wegank + ]; + platforms = lib.platforms.unix; + license = lib.licenses.mit; + }; }; - }; in { ogre_14 = common { diff --git a/pkgs/development/libraries/ois/default.nix b/pkgs/development/libraries/ois/default.nix index 435509dee2160..b6ddc5ebbf632 100644 --- a/pkgs/development/libraries/ois/default.nix +++ b/pkgs/development/libraries/ois/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libX11, Cocoa, IOKit, Kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + libX11, + Cocoa, + IOKit, + Kernel, +}: stdenv.mkDerivation rec { pname = "ois"; @@ -13,8 +22,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libX11 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa IOKit Kernel ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ libX11 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + IOKit + Kernel + ]; cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" diff --git a/pkgs/development/libraries/okapi/default.nix b/pkgs/development/libraries/okapi/default.nix index 06f980e718c85..e3a71e97f55fb 100644 --- a/pkgs/development/libraries/okapi/default.nix +++ b/pkgs/development/libraries/okapi/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchurl, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchurl, + Security, +}: rustPlatform.buildRustPackage rec { pname = "okapi"; diff --git a/pkgs/development/libraries/oneDNN/2.nix b/pkgs/development/libraries/oneDNN/2.nix index 8851b09214f1f..5bd3c88a75eab 100644 --- a/pkgs/development/libraries/oneDNN/2.nix +++ b/pkgs/development/libraries/oneDNN/2.nix @@ -1,7 +1,8 @@ -{ cmake -, fetchFromGitHub -, lib -, stdenv +{ + cmake, + fetchFromGitHub, + lib, + stdenv, }: # This was originally called mkl-dnn, then it was renamed to dnnl, and it has @@ -18,7 +19,11 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-oMPBORAdL2rk2ewyUrInYVHYBRvuvNX4p4rwykO3Rhs="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; nativeBuildInputs = [ cmake ]; @@ -39,7 +44,10 @@ stdenv.mkDerivation (finalAttrs: { description = "oneAPI Deep Neural Network Library (oneDNN)"; homepage = "https://01.org/oneDNN"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ alexarice bhipple ]; + maintainers = with lib.maintainers; [ + alexarice + bhipple + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix index 15a33af177cee..a5d2f85e0dc26 100644 --- a/pkgs/development/libraries/openal-soft/default.nix +++ b/pkgs/development/libraries/openal-soft/default.nix @@ -1,9 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, removeReferencesTo -, alsaSupport ? !stdenv.hostPlatform.isDarwin, alsa-lib -, dbusSupport ? !stdenv.hostPlatform.isDarwin, dbus -, pipewireSupport ? !stdenv.hostPlatform.isDarwin, pipewire -, pulseSupport ? !stdenv.hostPlatform.isDarwin, libpulseaudio -, CoreServices, AudioUnit, AudioToolbox +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + removeReferencesTo, + alsaSupport ? !stdenv.hostPlatform.isDarwin, + alsa-lib, + dbusSupport ? !stdenv.hostPlatform.isDarwin, + dbus, + pipewireSupport ? !stdenv.hostPlatform.isDarwin, + pipewire, + pulseSupport ? !stdenv.hostPlatform.isDarwin, + libpulseaudio, + CoreServices, + AudioUnit, + AudioToolbox, }: stdenv.mkDerivation rec { @@ -29,22 +41,33 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ cmake pkg-config removeReferencesTo ]; + nativeBuildInputs = [ + cmake + pkg-config + removeReferencesTo + ]; - buildInputs = lib.optional alsaSupport alsa-lib + buildInputs = + lib.optional alsaSupport alsa-lib ++ lib.optional dbusSupport dbus ++ lib.optional pipewireSupport pipewire ++ lib.optional pulseSupport libpulseaudio - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices AudioUnit AudioToolbox ]; - - cmakeFlags = [ - # Automatically links dependencies without having to rely on dlopen, thus - # removes the need for NIX_LDFLAGS. - "-DALSOFT_DLOPEN=OFF" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - # https://github.com/NixOS/nixpkgs/issues/183774 - "-DOSS_INCLUDE_DIR=${stdenv.cc.libc}/include" - ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + AudioUnit + AudioToolbox + ]; + + cmakeFlags = + [ + # Automatically links dependencies without having to rely on dlopen, thus + # removes the need for NIX_LDFLAGS. + "-DALSOFT_DLOPEN=OFF" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # https://github.com/NixOS/nixpkgs/issues/183774 + "-DOSS_INCLUDE_DIR=${stdenv.cc.libc}/include" + ]; postInstall = lib.optional pipewireSupport '' remove-references-to -t ${pipewire.dev} $(readlink -f $out/lib/*.so) @@ -54,7 +77,7 @@ stdenv.mkDerivation rec { description = "OpenAL alternative"; homepage = "https://openal-soft.org/"; license = licenses.lgpl2; - maintainers = with maintainers; [ftrvxmtrx]; + maintainers = with maintainers; [ ftrvxmtrx ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/openbabel/2.nix b/pkgs/development/libraries/openbabel/2.nix index b27960779cad0..90b27abf02d6a 100644 --- a/pkgs/development/libraries/openbabel/2.nix +++ b/pkgs/development/libraries/openbabel/2.nix @@ -1,4 +1,17 @@ -{stdenv, lib, fetchFromGitHub, fetchpatch, cmake, zlib, libxml2, eigen, python3, cairo, pcre, pkg-config }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + zlib, + libxml2, + eigen, + python3, + cairo, + pcre, + pkg-config, +}: stdenv.mkDerivation rec { pname = "openbabel"; @@ -7,7 +20,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "openbabel"; repo = "openbabel"; - rev = "openbabel-${lib.replaceStrings ["."] ["-"] version}"; + rev = "openbabel-${lib.replaceStrings [ "." ] [ "-" ] version}"; sha256 = "sha256-+pXsWMzex7rB1mm6dnTHzAcyw9jImgx1OZuLeCvbeJ0="; }; @@ -23,11 +36,21 @@ stdenv.mkDerivation rec { sed '1i#include ' -i include/openbabel/obutil.h # gcc12 ''; - buildInputs = [ zlib libxml2 eigen python3 cairo pcre ]; + buildInputs = [ + zlib + libxml2 + eigen + python3 + cairo + pcre + ]; cmakeFlags = [ "-DCMAKE_CXX_STANDARD=14" ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; meta = with lib; { description = "Toolbox designed to speak the many languages of chemical data"; diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix index c08053d6786b6..1b81bfa775203 100644 --- a/pkgs/development/libraries/openbabel/default.nix +++ b/pkgs/development/libraries/openbabel/default.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, perl -, zlib -, libxml2 -, eigen -, python -, cairo -, pcre -, pkg-config -, swig -, rapidjson -, boost -, maeparser -, coordgenlibs +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + perl, + zlib, + libxml2, + eigen, + python, + cairo, + pcre, + pkg-config, + swig, + rapidjson, + boost, + maeparser, + coordgenlibs, }: stdenv.mkDerivation rec { @@ -32,9 +33,25 @@ stdenv.mkDerivation rec { sed '1i#include ' -i include/openbabel/obutil.h # gcc12 ''; - buildInputs = [ perl zlib libxml2 eigen python cairo pcre swig rapidjson boost maeparser coordgenlibs ]; + buildInputs = [ + perl + zlib + libxml2 + eigen + python + cairo + pcre + swig + rapidjson + boost + maeparser + coordgenlibs + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; preConfigure = '' cmakeFlagsArray+=( diff --git a/pkgs/development/libraries/opencolorio/1.x.nix b/pkgs/development/libraries/opencolorio/1.x.nix index 7d1839163efc2..4ac41482037fb 100644 --- a/pkgs/development/libraries/opencolorio/1.x.nix +++ b/pkgs/development/libraries/opencolorio/1.x.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, fetchFromGitHub, cmake, boost, pkg-config, lcms2, tinyxml, git }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + boost, + pkg-config, + lcms2, + tinyxml, + git, +}: stdenv.mkDerivation rec { pname = "opencolorio"; @@ -11,26 +21,41 @@ stdenv.mkDerivation rec { sha256 = "12srvxca51czpfjl0gabpidj9n84mw78ivxy5w75qhq2mmc798sb"; }; - outputs = [ "bin" "out" "dev" ]; + outputs = [ + "bin" + "out" + "dev" + ]; # TODO: Investigate whether git can be dropped: It's only used to apply patches - nativeBuildInputs = [ cmake pkg-config git ]; + nativeBuildInputs = [ + cmake + pkg-config + git + ]; - buildInputs = [ lcms2 tinyxml ] ++ lib.optional stdenv.hostPlatform.isDarwin boost; + buildInputs = [ + lcms2 + tinyxml + ] ++ lib.optional stdenv.hostPlatform.isDarwin boost; postPatch = '' substituteInPlace src/core/CMakeLists.txt --replace "-Werror" "" substituteInPlace src/pyglue/CMakeLists.txt --replace "-Werror" "" ''; - cmakeFlags = [ - "-DUSE_EXTERNAL_LCMS=ON" - "-DUSE_EXTERNAL_TINYXML=ON" - # External yaml-cpp 0.6.* not compatible: https://github.com/imageworks/OpenColorIO/issues/517 - "-DUSE_EXTERNAL_YAML=OFF" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "-DOCIO_USE_BOOST_PTR=ON" + cmakeFlags = + [ + "-DUSE_EXTERNAL_LCMS=ON" + "-DUSE_EXTERNAL_TINYXML=ON" + # External yaml-cpp 0.6.* not compatible: https://github.com/imageworks/OpenColorIO/issues/517 + "-DUSE_EXTERNAL_YAML=OFF" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "-DOCIO_USE_BOOST_PTR=ON" ++ lib.optional (!stdenv.hostPlatform.isx86) "-DOCIO_USE_SSE=OFF" - ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-DCMAKE_OSX_ARCHITECTURES=arm64"; + ++ lib.optional ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-DCMAKE_OSX_ARCHITECTURES=arm64"; postInstall = '' moveToOutput bin "$bin" diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix index 4bc1f410872e6..df4887e799b86 100644 --- a/pkgs/development/libraries/opencolorio/default.nix +++ b/pkgs/development/libraries/opencolorio/default.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, expat -, yaml-cpp -, pystring -, imath -, minizip-ng -# Only required on Linux -, glew -, libglut -# Only required on Darwin -, Carbon -, GLUT -, Cocoa -# Python bindings -, pythonBindings ? true # Python bindings -, python3Packages -# Build apps -, buildApps ? true # Utility applications -, lcms2 -, openexr_3 +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + expat, + yaml-cpp, + pystring, + imath, + minizip-ng, + # Only required on Linux + glew, + libglut, + # Only required on Darwin + Carbon, + GLUT, + Cocoa, + # Python bindings + pythonBindings ? true, # Python bindings + python3Packages, + # Build apps + buildApps ? true, # Utility applications + lcms2, + openexr_3, }: stdenv.mkDerivation rec { @@ -51,27 +52,41 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ cmake ]; - buildInputs = [ - expat - yaml-cpp - pystring - imath - minizip-ng - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ glew libglut ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon GLUT Cocoa ] - ++ lib.optionals pythonBindings [ python3Packages.python python3Packages.pybind11 ] + buildInputs = + [ + expat + yaml-cpp + pystring + imath + minizip-ng + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + glew + libglut + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + GLUT + Cocoa + ] + ++ lib.optionals pythonBindings [ + python3Packages.python + python3Packages.pybind11 + ] ++ lib.optionals buildApps [ lcms2 openexr_3 ]; - cmakeFlags = [ - "-DOCIO_INSTALL_EXT_PACKAGES=NONE" - "-DOCIO_USE_SSE2NEON=OFF" - # GPU test fails with: libglut (GPU tests): failed to open display '' - "-DOCIO_BUILD_GPU_TESTS=OFF" - "-Dminizip-ng_INCLUDE_DIR=${minizip-ng}/include/minizip-ng" - ] ++ lib.optional (!pythonBindings) "-DOCIO_BUILD_PYTHON=OFF" + cmakeFlags = + [ + "-DOCIO_INSTALL_EXT_PACKAGES=NONE" + "-DOCIO_USE_SSE2NEON=OFF" + # GPU test fails with: libglut (GPU tests): failed to open display '' + "-DOCIO_BUILD_GPU_TESTS=OFF" + "-Dminizip-ng_INCLUDE_DIR=${minizip-ng}/include/minizip-ng" + ] + ++ lib.optional (!pythonBindings) "-DOCIO_BUILD_PYTHON=OFF" ++ lib.optional (!buildApps) "-DOCIO_BUILD_APPS=OFF"; # precision issues on non-x86 diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix index 5aea0da273808..b4b2c5a66c98e 100644 --- a/pkgs/development/libraries/opencsg/default.nix +++ b/pkgs/development/libraries/opencsg/default.nix @@ -1,5 +1,18 @@ -{lib, stdenv, fetchurl, libGLU, libGL, libglut, glew, libXmu, libXext, libX11 -, qmake, GLUT, fixDarwinDylibNames }: +{ + lib, + stdenv, + fetchurl, + libGLU, + libGL, + libglut, + glew, + libXmu, + libXext, + libX11, + qmake, + GLUT, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { version = "1.6.0"; @@ -9,11 +22,18 @@ stdenv.mkDerivation rec { hash = "sha256-v4+4Dj4M4R2H3XjdFaDehy27iXLYf1+Jz/xGHvrUe+g="; }; - nativeBuildInputs = [ qmake ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ qmake ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ glew ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libGLU libGL libglut libXmu libXext libX11 ] + buildInputs = + [ glew ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libGL + libglut + libXmu + libXext + libX11 + ] ++ lib.optional stdenv.hostPlatform.isDarwin GLUT; doCheck = false; @@ -23,13 +43,15 @@ stdenv.mkDerivation rec { qmakeFlags=("''${qmakeFlags[@]}" "INSTALLDIR=$out") ''; - postInstall = '' - install -D copying.txt "$out/share/doc/opencsg/copying.txt" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv $out/bin/*.app $out/Applications - rmdir $out/bin || true - ''; + postInstall = + '' + install -D copying.txt "$out/share/doc/opencsg/copying.txt" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + mv $out/bin/*.app $out/Applications + rmdir $out/bin || true + ''; dontWrapQtApps = true; @@ -50,4 +72,3 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; }; } - diff --git a/pkgs/development/libraries/opencv/libstdcxx-test.nix b/pkgs/development/libraries/opencv/libstdcxx-test.nix index d8cc483da9a89..63516f642ba53 100644 --- a/pkgs/development/libraries/opencv/libstdcxx-test.nix +++ b/pkgs/development/libraries/opencv/libstdcxx-test.nix @@ -1,17 +1,22 @@ -{ python3Packages, runCommand, attrName }: +{ + python3Packages, + runCommand, + attrName, +}: runCommand "${python3Packages.${attrName}.name}-libstdcxx-test" -{ - nativeBuildInputs = [ - (python3Packages.python.withPackages (ps: [ - (ps.${attrName}.override { enableCuda = true; }) - ps.scikit-image - ])) - ]; -} '' - python << EOF - import cv2 - from skimage.transform import pyramid_reduce - EOF - touch $out -'' + { + nativeBuildInputs = [ + (python3Packages.python.withPackages (ps: [ + (ps.${attrName}.override { enableCuda = true; }) + ps.scikit-image + ])) + ]; + } + '' + python << EOF + import cv2 + from skimage.transform import pyramid_reduce + EOF + touch $out + '' diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix index a79759be24f22..84dc7fb990e79 100644 --- a/pkgs/development/libraries/openexr/default.nix +++ b/pkgs/development/libraries/openexr/default.nix @@ -1,17 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, zlib -, ilmbase -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + zlib, + ilmbase, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { pname = "openexr"; version = "2.5.10"; - outputs = [ "bin" "dev" "out" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "doc" + ]; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; @@ -54,7 +60,10 @@ stdenv.mkDerivation rec { ] ++ lib.optional stdenv.hostPlatform.isStatic "-DCMAKE_SKIP_RPATH=ON"; nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ ilmbase zlib ]; + propagatedBuildInputs = [ + ilmbase + zlib + ]; # https://github.com/AcademySoftwareFoundation/openexr/issues/1400 # https://github.com/AcademySoftwareFoundation/openexr/issues/1281 diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix index 1b0f4b229d36f..ee13f76d7feed 100644 --- a/pkgs/development/libraries/openscenegraph/default.nix +++ b/pkgs/development/libraries/openscenegraph/default.nix @@ -1,29 +1,68 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, pkg-config, doxygen, - libX11, libXinerama, libXrandr, libGLU, libGL, - glib, libxml2, pcre, zlib, - AGL, Accelerate, Carbon, Cocoa, Foundation, +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + fetchurl, + cmake, + pkg-config, + doxygen, + libX11, + libXinerama, + libXrandr, + libGLU, + libGL, + glib, + libxml2, + pcre, + zlib, + AGL, + Accelerate, + Carbon, + Cocoa, + Foundation, boost, - jpegSupport ? true, libjpeg, - exrSupport ? false, openexr_3, - gifSupport ? true, giflib, - pngSupport ? true, libpng, - tiffSupport ? true, libtiff, - gdalSupport ? false, gdal, - curlSupport ? true, curl, - colladaSupport ? false, opencollada, - opencascadeSupport ? false, opencascade-occt, - ffmpegSupport ? false, ffmpeg, - nvttSupport ? false, nvidia-texture-tools, - freetypeSupport ? true, freetype, - svgSupport ? false, librsvg, - pdfSupport ? false, poppler, - vncSupport ? false, libvncserver, - lasSupport ? false, libLAS, - luaSupport ? false, lua, - sdlSupport ? false, SDL2, - restSupport ? false, asio, + jpegSupport ? true, + libjpeg, + exrSupport ? false, + openexr_3, + gifSupport ? true, + giflib, + pngSupport ? true, + libpng, + tiffSupport ? true, + libtiff, + gdalSupport ? false, + gdal, + curlSupport ? true, + curl, + colladaSupport ? false, + opencollada, + opencascadeSupport ? false, + opencascade-occt, + ffmpegSupport ? false, + ffmpeg, + nvttSupport ? false, + nvidia-texture-tools, + freetypeSupport ? true, + freetype, + svgSupport ? false, + librsvg, + pdfSupport ? false, + poppler, + vncSupport ? false, + libvncserver, + lasSupport ? false, + libLAS, + luaSupport ? false, + lua, + sdlSupport ? false, + SDL2, + restSupport ? false, + asio, withApps ? false, - withExamples ? false, fltk, + withExamples ? false, + fltk, }: stdenv.mkDerivation rec { @@ -37,13 +76,27 @@ stdenv.mkDerivation rec { sha256 = "00i14h82qg3xzcyd8p02wrarnmby3aiwmz0z43l50byc9f8i05n1"; }; - nativeBuildInputs = [ pkg-config cmake doxygen ]; + nativeBuildInputs = [ + pkg-config + cmake + doxygen + ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libX11 libXinerama libXrandr libGLU libGL - ] ++ [ - glib libxml2 pcre zlib - ] ++ lib.optional jpegSupport libjpeg + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libX11 + libXinerama + libXrandr + libGLU + libGL + ] + ++ [ + glib + libxml2 + pcre + zlib + ] + ++ lib.optional jpegSupport libjpeg ++ lib.optional exrSupport openexr_3 ++ lib.optional gifSupport giflib ++ lib.optional pngSupport libpng @@ -63,10 +116,15 @@ stdenv.mkDerivation rec { ++ lib.optional sdlSupport SDL2 ++ lib.optional restSupport asio ++ lib.optionals withExamples [ fltk ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AGL Accelerate Carbon Cocoa Foundation ] - ++ lib.optional (restSupport || colladaSupport) boost - ; + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AGL + Accelerate + Carbon + Cocoa + Foundation + ] + ++ lib.optional (restSupport || colladaSupport) boost; patches = [ (fetchpatch { @@ -81,12 +139,17 @@ stdenv.mkDerivation rec { }) ]; - cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON"; + cmakeFlags = + lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" + ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON"; meta = with lib; { description = "3D graphics toolkit"; homepage = "http://www.openscenegraph.org/"; - maintainers = with maintainers; [ aanderse raskin ]; + maintainers = with maintainers; [ + aanderse + raskin + ]; platforms = with platforms; linux ++ darwin; license = "OpenSceneGraph Public License - free LGPL-based license"; }; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 3dee6474adee2..f0cf68f8b6aa6 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, fetchurl, buildPackages, perl, coreutils, writeShellScript -, makeBinaryWrapper -, withCryptodev ? false, cryptodev -, withZlib ? false, zlib -, enableSSL2 ? false -, enableSSL3 ? false -, enableMD2 ? false -, enableKTLS ? stdenv.hostPlatform.isLinux -, static ? stdenv.hostPlatform.isStatic -# path to openssl.cnf file. will be placed in $etc/etc/ssl/openssl.cnf to replace the default -, conf ? null -, removeReferencesTo -, testers +{ + lib, + stdenv, + fetchurl, + buildPackages, + perl, + coreutils, + writeShellScript, + makeBinaryWrapper, + withCryptodev ? false, + cryptodev, + withZlib ? false, + zlib, + enableSSL2 ? false, + enableSSL3 ? false, + enableMD2 ? false, + enableKTLS ? stdenv.hostPlatform.isLinux, + static ? stdenv.hostPlatform.isStatic, + # path to openssl.cnf file. will be placed in $etc/etc/ssl/openssl.cnf to replace the default + conf ? null, + removeReferencesTo, + testers, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -19,245 +28,290 @@ # files. let - common = { version, hash, patches ? [], withDocs ? false, extraMeta ? {} }: - stdenv.mkDerivation (finalAttrs: { - pname = "openssl"; - inherit version; - - src = fetchurl { - url = if lib.versionOlder version "3.0" then - let - versionFixed = builtins.replaceStrings ["."] ["_"] version; - in - "https://github.com/openssl/openssl/releases/download/OpenSSL_${versionFixed}/openssl-${version}.tar.gz" - else - "https://github.com/openssl/openssl/releases/download/openssl-${version}/openssl-${version}.tar.gz"; - inherit hash; - }; - - inherit patches; - - postPatch = '' - patchShebangs Configure - '' + lib.optionalString (lib.versionOlder version "1.1.1") '' - patchShebangs test/* - for a in test/t* ; do - substituteInPlace "$a" \ - --replace /bin/rm rm - done - '' - # config is a configure script which is not installed. - + lib.optionalString (lib.versionAtLeast version "1.1.1") '' - substituteInPlace config --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env' - '' + lib.optionalString (lib.versionAtLeast version "1.1.1" && stdenv.hostPlatform.isMusl) '' - substituteInPlace crypto/async/arch/async_posix.h \ - --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \ - '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0' - '' - # Move ENGINESDIR into OPENSSLDIR for static builds, in order to move - # it to the separate etc output. - + lib.optionalString static '' - substituteInPlace Configurations/unix-Makefile.tmpl \ - --replace 'ENGINESDIR=$(libdir)/engines-{- $sover_dirname -}' \ - 'ENGINESDIR=$(OPENSSLDIR)/engines-{- $sover_dirname -}' - ''; - - outputs = [ "bin" "dev" "out" "man" ] - ++ lib.optional withDocs "doc" - # Separate output for the runtime dependencies of the static build. - # Specifically, move OPENSSLDIR into this output, as its path will be - # compiled into 'libcrypto.a'. This makes it a runtime dependency of - # any package that statically links openssl, so we want to keep that - # output minimal. - ++ lib.optional static "etc"; - setOutputFlags = false; - separateDebugInfo = - !stdenv.hostPlatform.isDarwin && - !(stdenv.hostPlatform.useLLVM or false) && - stdenv.cc.isGNU; - - nativeBuildInputs = - lib.optional (!stdenv.hostPlatform.isWindows) makeBinaryWrapper - ++ [ perl ] - ++ lib.optionals static [ removeReferencesTo ]; - buildInputs = lib.optional withCryptodev cryptodev - ++ lib.optional withZlib zlib; - - # TODO(@Ericson2314): Improve with mass rebuild - configurePlatforms = []; - configureScript = { - armv5tel-linux = "./Configure linux-armv4 -march=armv5te"; - armv6l-linux = "./Configure linux-armv4 -march=armv6"; - armv7l-linux = "./Configure linux-armv4 -march=armv7-a"; - x86_64-darwin = "./Configure darwin64-x86_64-cc"; - aarch64-darwin = "./Configure darwin64-arm64-cc"; - x86_64-linux = "./Configure linux-x86_64"; - x86_64-solaris = "./Configure solaris64-x86_64-gcc"; - powerpc64-linux = "./Configure linux-ppc64"; - riscv32-linux = "./Configure ${if lib.versionAtLeast version "3.2" then "linux32-riscv32" else "linux-latomic"}"; - riscv64-linux = "./Configure linux64-riscv64"; - }.${stdenv.hostPlatform.system} or ( - if stdenv.hostPlatform == stdenv.buildPlatform - then "./config" - else if stdenv.hostPlatform.isBSD - then if stdenv.hostPlatform.isx86_64 then "./Configure BSD-x86_64" - else if stdenv.hostPlatform.isx86_32 - then "./Configure BSD-x86" + lib.optionalString stdenv.hostPlatform.isElf "-elf" - else "./Configure BSD-generic${toString stdenv.hostPlatform.parsed.cpu.bits}" - else if stdenv.hostPlatform.isMinGW - then "./Configure mingw${lib.optionalString - (stdenv.hostPlatform.parsed.cpu.bits != 32) - (toString stdenv.hostPlatform.parsed.cpu.bits)}" - else if stdenv.hostPlatform.isLinux - then if stdenv.hostPlatform.isx86_64 then "./Configure linux-x86_64" - else if stdenv.hostPlatform.isMicroBlaze then "./Configure linux-latomic" - else if stdenv.hostPlatform.isMips32 then "./Configure linux-mips32" - else if stdenv.hostPlatform.isMips64n32 then "./Configure linux-mips64" - else if stdenv.hostPlatform.isMips64n64 then "./Configure linux64-mips64" - else "./Configure linux-generic${toString stdenv.hostPlatform.parsed.cpu.bits}" - else if stdenv.hostPlatform.isiOS - then "./Configure ios${toString stdenv.hostPlatform.parsed.cpu.bits}-cross" - else - throw "Not sure what configuration to use for ${stdenv.hostPlatform.config}" - ); - - # OpenSSL doesn't like the `--enable-static` / `--disable-shared` flags. - dontAddStaticConfigureFlags = true; - configureFlags = [ - "shared" # "shared" builds both shared and static libraries - "--libdir=lib" - (if !static then - "--openssldir=etc/ssl" - else - # Move OPENSSLDIR to the 'etc' output for static builds. Prepend '/.' - # to the path to make it appear absolute before variable expansion, - # else the 'prefix' would be prepended to it. - "--openssldir=/.$(etc)/etc/ssl" - ) - ] ++ lib.optionals withCryptodev [ - "-DHAVE_CRYPTODEV" - "-DUSE_CRYPTODEV_DIGESTS" - ] ++ lib.optional enableMD2 "enable-md2" - ++ lib.optional enableSSL2 "enable-ssl2" - ++ lib.optional enableSSL3 "enable-ssl3" - # We select KTLS here instead of the configure-time detection (which we patch out). - # KTLS should work on FreeBSD 13+ as well, so we could enable it if someone tests it. - ++ lib.optional (lib.versionAtLeast version "3.0.0" && enableKTLS) "enable-ktls" - ++ lib.optional (lib.versionAtLeast version "1.1.1" && stdenv.hostPlatform.isAarch64) "no-afalgeng" - # OpenSSL needs a specific `no-shared` configure flag. - # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options - # for a comprehensive list of configuration options. - ++ lib.optional (lib.versionAtLeast version "1.1.1" && static) "no-shared" - ++ lib.optional (lib.versionAtLeast version "3.0.0" && static) "no-module" - # This introduces a reference to the CTLOG_FILE which is undesired when - # trying to build binaries statically. - ++ lib.optional static "no-ct" - ++ lib.optional withZlib "zlib" - # /dev/crypto support has been dropped in OpenBSD 5.7. - # - # OpenBSD's ports does this too, - # https://github.com/openbsd/ports/blob/a1147500c76970fea22947648fb92a093a529d7c/security/openssl/3.3/Makefile#L25. - # - # https://github.com/openssl/openssl/pull/10565 indicated the - # intent was that this would be configured properly automatically, - # but that doesn't appear to be the case. - ++ lib.optional stdenv.hostPlatform.isOpenBSD "no-devcryptoeng" - ++ lib.optionals (stdenv.hostPlatform.isMips && stdenv.hostPlatform ? gcc.arch) [ - # This is necessary in order to avoid openssl adding -march - # flags which ultimately conflict with those added by - # cc-wrapper. Openssl assumes that it can scan CFLAGS to - # detect any -march flags, using this perl code: - # - # && !grep { $_ =~ /-m(ips|arch=)/ } (@{$config{CFLAGS}}) - # - # The following bogus CFLAGS environment variable triggers the - # the code above, inhibiting `./Configure` from adding the - # conflicting flags. - "CFLAGS=-march=${stdenv.hostPlatform.gcc.arch}" - ]; - - makeFlags = [ - "MANDIR=$(man)/share/man" - # This avoids conflicts between man pages of openssl subcommands (for - # example 'ts' and 'err') man pages and their equivalent top-level - # command in other packages (respectively man-pages and moreutils). - # This is done in ubuntu and archlinux, and possiibly many other distros. - "MANSUFFIX=ssl" - ]; - - enableParallelBuilding = true; - - postInstall = - (if static then '' - # OPENSSLDIR has a reference to self - remove-references-to -t $out $out/lib/*.a - '' else '' - # If we're building dynamic libraries, then don't install static - # libraries. - if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then - rm "$out/lib/"*.a - fi - - # 'etc' is a separate output on static builds only. - etc=$out - '') + '' - mkdir -p $bin - mv $out/bin $bin/bin - - '' + lib.optionalString (!stdenv.hostPlatform.isWindows) - # makeWrapper is broken for windows cross (https://github.com/NixOS/nixpkgs/issues/120726) - '' - # c_rehash is a legacy perl script with the same functionality - # as `openssl rehash` - # this wrapper script is created to maintain backwards compatibility without - # depending on perl - makeWrapper $bin/bin/openssl $bin/bin/c_rehash \ - --add-flags "rehash" - '' + '' - - mkdir $dev - mv $out/include $dev/ - - # remove dependency on Perl at runtime - rm -r $etc/etc/ssl/misc - - rmdir $etc/etc/ssl/{certs,private} - '' + lib.optionalString (conf != null) '' - cat ${conf} > $etc/etc/ssl/openssl.cnf - ''; - - postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) '' - # Check to make sure the main output and the static runtime dependencies - # don't depend on perl - if grep -r '${buildPackages.perl}' $out $etc; then - echo "Found an erroneous dependency on perl ^^^" >&2 - exit 1 - fi - '' + lib.optionalString (lib.versionAtLeast version "3.3.0") '' - # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config. - # pkg-config gets its paths fixed correctly - rm -rf $dev/lib/cmake - ''; - - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - - meta = { - homepage = "https://www.openssl.org/"; - changelog = "https://github.com/openssl/openssl/blob/openssl-${version}/CHANGES.md"; - description = "Cryptographic library that implements the SSL and TLS protocols"; - license = lib.licenses.openssl; - mainProgram = "openssl"; - maintainers = with lib.maintainers; [ thillux ] ++ lib.teams.stridtech.members; - pkgConfigModules = [ - "libcrypto" - "libssl" - "openssl" + common = + { + version, + hash, + patches ? [ ], + withDocs ? false, + extraMeta ? { }, + }: + stdenv.mkDerivation (finalAttrs: { + pname = "openssl"; + inherit version; + + src = fetchurl { + url = + if lib.versionOlder version "3.0" then + let + versionFixed = builtins.replaceStrings [ "." ] [ "_" ] version; + in + "https://github.com/openssl/openssl/releases/download/OpenSSL_${versionFixed}/openssl-${version}.tar.gz" + else + "https://github.com/openssl/openssl/releases/download/openssl-${version}/openssl-${version}.tar.gz"; + inherit hash; + }; + + inherit patches; + + postPatch = + '' + patchShebangs Configure + '' + + lib.optionalString (lib.versionOlder version "1.1.1") '' + patchShebangs test/* + for a in test/t* ; do + substituteInPlace "$a" \ + --replace /bin/rm rm + done + '' + # config is a configure script which is not installed. + + lib.optionalString (lib.versionAtLeast version "1.1.1") '' + substituteInPlace config --replace '/usr/bin/env' '${buildPackages.coreutils}/bin/env' + '' + + lib.optionalString (lib.versionAtLeast version "1.1.1" && stdenv.hostPlatform.isMusl) '' + substituteInPlace crypto/async/arch/async_posix.h \ + --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \ + '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0' + '' + # Move ENGINESDIR into OPENSSLDIR for static builds, in order to move + # it to the separate etc output. + + lib.optionalString static '' + substituteInPlace Configurations/unix-Makefile.tmpl \ + --replace 'ENGINESDIR=$(libdir)/engines-{- $sover_dirname -}' \ + 'ENGINESDIR=$(OPENSSLDIR)/engines-{- $sover_dirname -}' + ''; + + outputs = + [ + "bin" + "dev" + "out" + "man" + ] + ++ lib.optional withDocs "doc" + # Separate output for the runtime dependencies of the static build. + # Specifically, move OPENSSLDIR into this output, as its path will be + # compiled into 'libcrypto.a'. This makes it a runtime dependency of + # any package that statically links openssl, so we want to keep that + # output minimal. + ++ lib.optional static "etc"; + setOutputFlags = false; + separateDebugInfo = + !stdenv.hostPlatform.isDarwin && !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU; + + nativeBuildInputs = + lib.optional (!stdenv.hostPlatform.isWindows) makeBinaryWrapper + ++ [ perl ] + ++ lib.optionals static [ removeReferencesTo ]; + buildInputs = lib.optional withCryptodev cryptodev ++ lib.optional withZlib zlib; + + # TODO(@Ericson2314): Improve with mass rebuild + configurePlatforms = [ ]; + configureScript = + { + armv5tel-linux = "./Configure linux-armv4 -march=armv5te"; + armv6l-linux = "./Configure linux-armv4 -march=armv6"; + armv7l-linux = "./Configure linux-armv4 -march=armv7-a"; + x86_64-darwin = "./Configure darwin64-x86_64-cc"; + aarch64-darwin = "./Configure darwin64-arm64-cc"; + x86_64-linux = "./Configure linux-x86_64"; + x86_64-solaris = "./Configure solaris64-x86_64-gcc"; + powerpc64-linux = "./Configure linux-ppc64"; + riscv32-linux = "./Configure ${ + if lib.versionAtLeast version "3.2" then "linux32-riscv32" else "linux-latomic" + }"; + riscv64-linux = "./Configure linux64-riscv64"; + } + .${stdenv.hostPlatform.system} or ( + if stdenv.hostPlatform == stdenv.buildPlatform then + "./config" + else if stdenv.hostPlatform.isBSD then + if stdenv.hostPlatform.isx86_64 then + "./Configure BSD-x86_64" + else if stdenv.hostPlatform.isx86_32 then + "./Configure BSD-x86" + lib.optionalString stdenv.hostPlatform.isElf "-elf" + else + "./Configure BSD-generic${toString stdenv.hostPlatform.parsed.cpu.bits}" + else if stdenv.hostPlatform.isMinGW then + "./Configure mingw${ + lib.optionalString (stdenv.hostPlatform.parsed.cpu.bits != 32) ( + toString stdenv.hostPlatform.parsed.cpu.bits + ) + }" + else if stdenv.hostPlatform.isLinux then + if stdenv.hostPlatform.isx86_64 then + "./Configure linux-x86_64" + else if stdenv.hostPlatform.isMicroBlaze then + "./Configure linux-latomic" + else if stdenv.hostPlatform.isMips32 then + "./Configure linux-mips32" + else if stdenv.hostPlatform.isMips64n32 then + "./Configure linux-mips64" + else if stdenv.hostPlatform.isMips64n64 then + "./Configure linux64-mips64" + else + "./Configure linux-generic${toString stdenv.hostPlatform.parsed.cpu.bits}" + else if stdenv.hostPlatform.isiOS then + "./Configure ios${toString stdenv.hostPlatform.parsed.cpu.bits}-cross" + else + throw "Not sure what configuration to use for ${stdenv.hostPlatform.config}" + ); + + # OpenSSL doesn't like the `--enable-static` / `--disable-shared` flags. + dontAddStaticConfigureFlags = true; + configureFlags = + [ + "shared" # "shared" builds both shared and static libraries + "--libdir=lib" + ( + if !static then + "--openssldir=etc/ssl" + else + # Move OPENSSLDIR to the 'etc' output for static builds. Prepend '/.' + # to the path to make it appear absolute before variable expansion, + # else the 'prefix' would be prepended to it. + "--openssldir=/.$(etc)/etc/ssl" + ) + ] + ++ lib.optionals withCryptodev [ + "-DHAVE_CRYPTODEV" + "-DUSE_CRYPTODEV_DIGESTS" + ] + ++ lib.optional enableMD2 "enable-md2" + ++ lib.optional enableSSL2 "enable-ssl2" + ++ lib.optional enableSSL3 "enable-ssl3" + # We select KTLS here instead of the configure-time detection (which we patch out). + # KTLS should work on FreeBSD 13+ as well, so we could enable it if someone tests it. + ++ lib.optional (lib.versionAtLeast version "3.0.0" && enableKTLS) "enable-ktls" + ++ lib.optional (lib.versionAtLeast version "1.1.1" && stdenv.hostPlatform.isAarch64) "no-afalgeng" + # OpenSSL needs a specific `no-shared` configure flag. + # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options + # for a comprehensive list of configuration options. + ++ lib.optional (lib.versionAtLeast version "1.1.1" && static) "no-shared" + ++ lib.optional (lib.versionAtLeast version "3.0.0" && static) "no-module" + # This introduces a reference to the CTLOG_FILE which is undesired when + # trying to build binaries statically. + ++ lib.optional static "no-ct" + ++ lib.optional withZlib "zlib" + # /dev/crypto support has been dropped in OpenBSD 5.7. + # + # OpenBSD's ports does this too, + # https://github.com/openbsd/ports/blob/a1147500c76970fea22947648fb92a093a529d7c/security/openssl/3.3/Makefile#L25. + # + # https://github.com/openssl/openssl/pull/10565 indicated the + # intent was that this would be configured properly automatically, + # but that doesn't appear to be the case. + ++ lib.optional stdenv.hostPlatform.isOpenBSD "no-devcryptoeng" + ++ lib.optionals (stdenv.hostPlatform.isMips && stdenv.hostPlatform ? gcc.arch) [ + # This is necessary in order to avoid openssl adding -march + # flags which ultimately conflict with those added by + # cc-wrapper. Openssl assumes that it can scan CFLAGS to + # detect any -march flags, using this perl code: + # + # && !grep { $_ =~ /-m(ips|arch=)/ } (@{$config{CFLAGS}}) + # + # The following bogus CFLAGS environment variable triggers the + # the code above, inhibiting `./Configure` from adding the + # conflicting flags. + "CFLAGS=-march=${stdenv.hostPlatform.gcc.arch}" + ]; + + makeFlags = [ + "MANDIR=$(man)/share/man" + # This avoids conflicts between man pages of openssl subcommands (for + # example 'ts' and 'err') man pages and their equivalent top-level + # command in other packages (respectively man-pages and moreutils). + # This is done in ubuntu and archlinux, and possiibly many other distros. + "MANSUFFIX=ssl" ]; - platforms = lib.platforms.all; - } // extraMeta; - }); -in { + enableParallelBuilding = true; + + postInstall = + ( + if static then + '' + # OPENSSLDIR has a reference to self + remove-references-to -t $out $out/lib/*.a + '' + else + '' + # If we're building dynamic libraries, then don't install static + # libraries. + if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then + rm "$out/lib/"*.a + fi + + # 'etc' is a separate output on static builds only. + etc=$out + '' + ) + + '' + mkdir -p $bin + mv $out/bin $bin/bin + + '' + + + lib.optionalString (!stdenv.hostPlatform.isWindows) + # makeWrapper is broken for windows cross (https://github.com/NixOS/nixpkgs/issues/120726) + '' + # c_rehash is a legacy perl script with the same functionality + # as `openssl rehash` + # this wrapper script is created to maintain backwards compatibility without + # depending on perl + makeWrapper $bin/bin/openssl $bin/bin/c_rehash \ + --add-flags "rehash" + '' + + '' + + mkdir $dev + mv $out/include $dev/ + + # remove dependency on Perl at runtime + rm -r $etc/etc/ssl/misc + + rmdir $etc/etc/ssl/{certs,private} + '' + + lib.optionalString (conf != null) '' + cat ${conf} > $etc/etc/ssl/openssl.cnf + ''; + + postFixup = + lib.optionalString (!stdenv.hostPlatform.isWindows) '' + # Check to make sure the main output and the static runtime dependencies + # don't depend on perl + if grep -r '${buildPackages.perl}' $out $etc; then + echo "Found an erroneous dependency on perl ^^^" >&2 + exit 1 + fi + '' + + lib.optionalString (lib.versionAtLeast version "3.3.0") '' + # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config. + # pkg-config gets its paths fixed correctly + rm -rf $dev/lib/cmake + ''; + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = { + homepage = "https://www.openssl.org/"; + changelog = "https://github.com/openssl/openssl/blob/openssl-${version}/CHANGES.md"; + description = "Cryptographic library that implements the SSL and TLS protocols"; + license = lib.licenses.openssl; + mainProgram = "openssl"; + maintainers = with lib.maintainers; [ thillux ] ++ lib.teams.stridtech.members; + pkgConfigModules = [ + "libcrypto" + "libssl" + "openssl" + ]; + platforms = lib.platforms.all; + } // extraMeta; + }); + +in +{ # intended version "policy": # - 1.1 as long as some package exists, which does not build without it # (tracking issue: https://github.com/NixOS/nixpkgs/issues/269713) @@ -277,9 +331,9 @@ in { patches = [ ./1.1/nix-ssl-cert-file.patch - (if stdenv.hostPlatform.isDarwin - then ./use-etc-ssl-certs-darwin.patch - else ./use-etc-ssl-certs.patch) + ( + if stdenv.hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch + ) ]; withDocs = true; extraMeta = { @@ -300,9 +354,9 @@ in { # This patch disables build-time detection. ./3.0/openssl-disable-kernel-detection.patch - (if stdenv.hostPlatform.isDarwin - then ./use-etc-ssl-certs-darwin.patch - else ./use-etc-ssl-certs.patch) + ( + if stdenv.hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch + ) ]; withDocs = true; @@ -323,9 +377,12 @@ in { # This patch disables build-time detection. ./3.0/openssl-disable-kernel-detection.patch - (if stdenv.hostPlatform.isDarwin - then ./3.3/use-etc-ssl-certs-darwin.patch - else ./3.3/use-etc-ssl-certs.patch) + ( + if stdenv.hostPlatform.isDarwin then + ./3.3/use-etc-ssl-certs-darwin.patch + else + ./3.3/use-etc-ssl-certs.patch + ) ]; withDocs = true; diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix index d7718eb1eee40..b92a0601a8be3 100644 --- a/pkgs/development/libraries/openvdb/default.nix +++ b/pkgs/development/libraries/openvdb/default.nix @@ -1,11 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, jemalloc, c-blosc, tbb, zlib }: - -stdenv.mkDerivation rec { + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + jemalloc, + c-blosc, + tbb, + zlib, +}: + +stdenv.mkDerivation rec { pname = "openvdb"; version = "12.0.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; @@ -16,14 +28,30 @@ stdenv.mkDerivation rec nativeBuildInputs = [ cmake ]; - buildInputs = [ boost tbb jemalloc c-blosc zlib ]; + buildInputs = [ + boost + tbb + jemalloc + c-blosc + zlib + ]; - cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" "-DOPENVDB_BUILD_NANOVDB=ON"]; + cmakeFlags = [ + "-DOPENVDB_CORE_STATIC=OFF" + "-DOPENVDB_BUILD_NANOVDB=ON" + ]; # error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer - env = lib.optionalAttrs (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13" && lib.versionAtLeast tbb.version "2021.8.0") { - NIX_CFLAGS_COMPILE = "-faligned-allocation"; - }; + env = + lib.optionalAttrs + ( + stdenv.hostPlatform.isDarwin + && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13" + && lib.versionAtLeast tbb.version "2021.8.0" + ) + { + NIX_CFLAGS_COMPILE = "-faligned-allocation"; + }; postFixup = '' substituteInPlace $dev/lib/cmake/OpenVDB/FindOpenVDB.cmake \ diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index fcdf8f27f9811..0e1c425cbad4a 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -1,35 +1,46 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, cairo -, harfbuzz -, libintl -, libthai -, darwin -, fribidi -, gnome -, gi-docgen -, makeFontsConf -, freefont_ttf -, meson -, ninja -, glib -, python3 -, x11Support? !stdenv.hostPlatform.isDarwin, libXft -, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages -, buildPackages, gobject-introspection -, testers +{ + lib, + stdenv, + fetchurl, + pkg-config, + cairo, + harfbuzz, + libintl, + libthai, + darwin, + fribidi, + gnome, + gi-docgen, + makeFontsConf, + freefont_ttf, + meson, + ninja, + glib, + python3, + x11Support ? !stdenv.hostPlatform.isDarwin, + libXft, + withIntrospection ? + lib.meta.availableOn stdenv.hostPlatform gobject-introspection + && stdenv.hostPlatform.emulatorAvailable buildPackages, + buildPackages, + gobject-introspection, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "pango"; version = "1.54.0"; - outputs = [ "bin" "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; + outputs = [ + "bin" + "out" + "dev" + ] ++ lib.optional withIntrospection "devdoc"; src = fetchurl { - url = with finalAttrs; "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + url = + with finalAttrs; + "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; hash = "sha256-ip7tdQIe5zTX/A/fOmXDu6Ud/v5K5RqbQUpgxwstHtg="; }; @@ -37,34 +48,44 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - meson ninja - glib # for glib-mkenum - pkg-config - python3 - ] ++ lib.optionals withIntrospection [ - gi-docgen - gobject-introspection - ]; + nativeBuildInputs = + [ + meson + ninja + glib # for glib-mkenum + pkg-config + python3 + ] + ++ lib.optionals withIntrospection [ + gi-docgen + gobject-introspection + ]; - buildInputs = [ - fribidi - libthai - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - ApplicationServices - Carbon - CoreGraphics - CoreText - ]); - - propagatedBuildInputs = [ - cairo - glib - libintl - harfbuzz - ] ++ lib.optionals x11Support [ - libXft - ]; + buildInputs = + [ + fribidi + libthai + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + ApplicationServices + Carbon + CoreGraphics + CoreText + ] + ); + + propagatedBuildInputs = + [ + cairo + glib + libintl + harfbuzz + ] + ++ lib.optionals x11Support [ + libXft + ]; mesonFlags = [ (lib.mesonBool "documentation" withIntrospection) diff --git a/pkgs/development/libraries/pangolin/default.nix b/pkgs/development/libraries/pangolin/default.nix index f15a7dfe44900..c53c31e32c1eb 100644 --- a/pkgs/development/libraries/pangolin/default.nix +++ b/pkgs/development/libraries/pangolin/default.nix @@ -1,6 +1,20 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew -, xorg, ffmpeg, libjpeg, libpng, libtiff, eigen -, Carbon, Cocoa +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + doxygen, + libGL, + glew, + xorg, + ffmpeg, + libjpeg, + libpng, + libtiff, + eigen, + Carbon, + Cocoa, }: stdenv.mkDerivation rec { @@ -14,19 +28,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-B5YuNcJZHjR3dlVs66rySi68j29O3iMtlQvCjTUZBeY="; }; - nativeBuildInputs = [ cmake pkg-config doxygen ]; + nativeBuildInputs = [ + cmake + pkg-config + doxygen + ]; - buildInputs = [ - libGL - glew - xorg.libX11 - ffmpeg - libjpeg - libpng - libtiff - eigen - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ]; + buildInputs = + [ + libGL + glew + xorg.libX11 + ffmpeg + libjpeg + libpng + libtiff + eigen + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + ]; # The tests use cmake's findPackage to find the installed version of # pangolin, which isn't what we want (or available). @@ -47,7 +69,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/stevenlovegrove/Pangolin"; license = lib.licenses.mit; - maintainers = []; + maintainers = [ ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/development/libraries/pangomm/2.42.nix b/pkgs/development/libraries/pangomm/2.42.nix index ebbaee6685630..e855aeb3659b0 100644 --- a/pkgs/development/libraries/pangomm/2.42.nix +++ b/pkgs/development/libraries/pangomm/2.42.nix @@ -1,9 +1,21 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, pango, glibmm, cairomm, gnome -, ApplicationServices }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + python3, + pango, + glibmm, + cairomm, + gnome, + ApplicationServices, +}: stdenv.mkDerivation rec { pname = "pangomm"; - version= "2.42.2"; + version = "2.42.2"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -19,12 +31,26 @@ stdenv.mkDerivation rec { ./2.42.2-add-missing-include-attrlist.cc.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config meson ninja python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices + nativeBuildInputs = + [ + pkg-config + meson + ninja + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + ]; + propagatedBuildInputs = [ + pango + glibmm + cairomm ]; - propagatedBuildInputs = [ pango glibmm cairomm ]; doCheck = true; @@ -37,12 +63,19 @@ stdenv.mkDerivation rec { }; meta = with lib; { - broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; + broken = + (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; description = "C++ interface to the Pango text rendering library"; - homepage = "https://www.pango.org/"; - license = with licenses; [ lgpl2 lgpl21 ]; - maintainers = with maintainers; [ lovek323 raskin ]; - platforms = platforms.unix; + homepage = "https://www.pango.org/"; + license = with licenses; [ + lgpl2 + lgpl21 + ]; + maintainers = with maintainers; [ + lovek323 + raskin + ]; + platforms = platforms.unix; longDescription = '' Pango is a library for laying out and rendering of text, with an diff --git a/pkgs/development/libraries/pangomm/2.48.nix b/pkgs/development/libraries/pangomm/2.48.nix index 92acaf32c09c3..748b961c65316 100644 --- a/pkgs/development/libraries/pangomm/2.48.nix +++ b/pkgs/development/libraries/pangomm/2.48.nix @@ -1,36 +1,42 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, meson -, ninja -, python3 -, pango -, glibmm_2_68 -, cairomm_1_16 -, gnome -, ApplicationServices +{ + stdenv, + lib, + fetchurl, + pkg-config, + meson, + ninja, + python3, + pango, + glibmm_2_68, + cairomm_1_16, + gnome, + ApplicationServices, }: stdenv.mkDerivation rec { pname = "pangomm"; - version= "2.54.0"; + version = "2.54.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; hash = "sha256-Slsf0bfEehr0UnfqgrWr6sqOCPsQon2qY5TPiNdOes8="; }; - nativeBuildInputs = [ - pkg-config - meson - ninja - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices - ]; + nativeBuildInputs = + [ + pkg-config + meson + ninja + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + ]; propagatedBuildInputs = [ pango @@ -59,7 +65,12 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.pango.org/"; license = licenses.lgpl21Plus; - maintainers = teams.gnome.members ++ (with maintainers; [ lovek323 raskin ]); + maintainers = + teams.gnome.members + ++ (with maintainers; [ + lovek323 + raskin + ]); platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix index 65dede46ee9eb..9504a5ba9d190 100644 --- a/pkgs/development/libraries/pangomm/default.nix +++ b/pkgs/development/libraries/pangomm/default.nix @@ -1,21 +1,47 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, pango, glibmm, cairomm, gnome -, ApplicationServices }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + python3, + pango, + glibmm, + cairomm, + gnome, + ApplicationServices, +}: stdenv.mkDerivation rec { pname = "pangomm"; - version= "2.46.4"; + version = "2.46.4"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "sha256-uSAWZhUmQk3kuTd/FRL1l4H0H7FsnAJn1hM7oc1o2yI="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config meson ninja python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ApplicationServices + nativeBuildInputs = + [ + pkg-config + meson + ninja + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + ]; + propagatedBuildInputs = [ + pango + glibmm + cairomm ]; - propagatedBuildInputs = [ pango glibmm cairomm ]; doCheck = true; @@ -29,10 +55,16 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C++ interface to the Pango text rendering library"; - homepage = "https://www.pango.org/"; - license = with licenses; [ lgpl2 lgpl21 ]; - maintainers = with maintainers; [ lovek323 raskin ]; - platforms = platforms.unix; + homepage = "https://www.pango.org/"; + license = with licenses; [ + lgpl2 + lgpl21 + ]; + maintainers = with maintainers; [ + lovek323 + raskin + ]; + platforms = platforms.unix; longDescription = '' Pango is a library for laying out and rendering of text, with an diff --git a/pkgs/development/libraries/pc-ble-driver/default.nix b/pkgs/development/libraries/pc-ble-driver/default.nix index 0391b72ada89a..fd298709181e3 100644 --- a/pkgs/development/libraries/pc-ble-driver/default.nix +++ b/pkgs/development/libraries/pc-ble-driver/default.nix @@ -1,7 +1,15 @@ -{ lib, stdenv, fetchpatch, fetchFromGitHub -, cmake, git -, asio, catch2, spdlog -, IOKit, udev +{ + lib, + stdenv, + fetchpatch, + fetchFromGitHub, + cmake, + git, + asio, + catch2, + spdlog, + IOKit, + udev, }: stdenv.mkDerivation rec { @@ -21,29 +29,41 @@ stdenv.mkDerivation rec { url = "https://github.com/NordicSemiconductor/pc-ble-driver/commit/76a6b31dba7a13ceae40587494cbfa01a29192f4.patch"; hash = "sha256-bvK1BXjdlhIXV8R4PiCGaq8oSLzgjMmTgAwssm8N2sk="; }) - # Fix build with GCC 11 + # Fix build with GCC 11 (fetchpatch { url = "https://github.com/NordicSemiconductor/pc-ble-driver/commit/37258e65bdbcd0b4369ae448faf650dd181816ec.patch"; hash = "sha256-gOdzIW8YJQC+PE4FJd644I1+I7CMcBY8wpF6g02eI5g="; }) ]; - cmakeFlags = [ - "-DNRF_BLE_DRIVER_VERSION=${version}" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - "-DARCH=arm64" - ]; + cmakeFlags = + [ + "-DNRF_BLE_DRIVER_VERSION=${version}" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + "-DARCH=arm64" + ]; - nativeBuildInputs = [ cmake git ]; - buildInputs = [ asio catch2 spdlog ]; + nativeBuildInputs = [ + cmake + git + ]; + buildInputs = [ + asio + catch2 + spdlog + ]; - propagatedBuildInputs = [ + propagatedBuildInputs = + [ - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - IOKit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - udev - ]; + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + udev + ]; meta = with lib; { description = "Desktop library for Bluetooth low energy development"; diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix index 41639d300ecdc..7f2b0e9f1c9e0 100644 --- a/pkgs/development/libraries/pcl/default.nix +++ b/pkgs/development/libraries/pcl/default.nix @@ -1,25 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapQtAppsHook -, cmake -, qhull -, flann -, boost -, vtk -, eigen -, pkg-config -, qtbase -, libusb1 -, libpcap -, libtiff -, libXt -, libpng -, Cocoa -, AGL -, OpenGL -, config -, cudaSupport ? config.cudaSupport, cudaPackages +{ + lib, + stdenv, + fetchFromGitHub, + wrapQtAppsHook, + cmake, + qhull, + flann, + boost, + vtk, + eigen, + pkg-config, + qtbase, + libusb1, + libpcap, + libtiff, + libXt, + libpng, + Cocoa, + AGL, + OpenGL, + config, + cudaSupport ? config.cudaSupport, + cudaPackages, }: stdenv.mkDerivation rec { @@ -43,17 +45,20 @@ stdenv.mkDerivation rec { pkg-config cmake wrapQtAppsHook - ] - ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc ]; + ] ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc ]; - buildInputs = [ - eigen - libusb1 - libpcap - qtbase - libXt - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa AGL ]; + buildInputs = + [ + eigen + libusb1 + libpcap + qtbase + libXt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + AGL + ]; propagatedBuildInputs = [ boost @@ -64,9 +69,11 @@ stdenv.mkDerivation rec { vtk ]; - cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" - ] ++ lib.optionals cudaSupport [ "-DWITH_CUDA=true" ]; + cmakeFlags = + lib.optionals stdenv.hostPlatform.isDarwin [ + "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" + ] + ++ lib.optionals cudaSupport [ "-DWITH_CUDA=true" ]; meta = { homepage = "https://pointclouds.org/"; diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 58873ae875570..7a49561e7a4fa 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,14 +1,26 @@ -{ lib, stdenv, fetchurl, fetchpatch, updateAutotoolsGnuConfigScriptsHook -, pcre, windows ? null +{ + lib, + stdenv, + fetchurl, + fetchpatch, + updateAutotoolsGnuConfigScriptsHook, + pcre, + windows ? null, # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51 -, enableJit ? !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) -, variant ? null + enableJit ? !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64), + variant ? null, }: -assert lib.elem variant [ null "cpp" "pcre16" "pcre32" ]; +assert lib.elem variant [ + null + "cpp" + "pcre16" + "pcre32" +]; stdenv.mkDerivation rec { - pname = "pcre" + pname = + "pcre" + lib.optionalString (variant == "cpp") "-cpp" + lib.optionalString (variant != "cpp" && variant != null) variant; version = "8.45"; @@ -18,14 +30,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-Ta5v3NK7C7bDe1+Xwzwr6VTadDmFNpzdrDVG4yGL/7g="; }; - outputs = [ "bin" "dev" "out" "doc" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "doc" + "man" + ]; hardeningDisable = lib.optional enableJit "shadowstack"; - configureFlags = [ - "--enable-unicode-properties" - "--disable-cpp" - ] ++ lib.optional enableJit "--enable-jit=auto" + configureFlags = + [ + "--enable-unicode-properties" + "--disable-cpp" + ] + ++ lib.optional enableJit "--enable-jit=auto" ++ lib.optional (variant != null) "--enable-${variant}"; patches = [ @@ -48,15 +68,18 @@ stdenv.mkDerivation rec { patchShebangs RunGrepTest ''; - doCheck = !(with stdenv.hostPlatform; isCygwin || isFreeBSD) && stdenv.hostPlatform == stdenv.buildPlatform; - # XXX: test failure on Cygwin - # we are running out of stack on both freeBSDs on Hydra + doCheck = + !(with stdenv.hostPlatform; isCygwin || isFreeBSD) && stdenv.hostPlatform == stdenv.buildPlatform; + # XXX: test failure on Cygwin + # we are running out of stack on both freeBSDs on Hydra - postFixup = '' - moveToOutput bin/pcre-config "$dev" - '' + lib.optionalString (variant != null) '' - ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.{so.*.*.*,*dylib,*a} - ''; + postFixup = + '' + moveToOutput bin/pcre-config "$dev" + '' + + lib.optionalString (variant != null) '' + ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.{so.*.*.*,*dylib,*a} + ''; meta = { homepage = "http://www.pcre.org/"; diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix index a61a13590d165..3667510d9a100 100644 --- a/pkgs/development/libraries/pcre2/default.nix +++ b/pkgs/development/libraries/pcre2/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, updateAutotoolsGnuConfigScriptsHook -, withJitSealloc ? true +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + withJitSealloc ? true, }: stdenv.mkDerivation rec { @@ -16,16 +17,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - configureFlags = [ - "--enable-pcre2-16" - "--enable-pcre2-32" - # only enable jit on supported platforms which excludes Apple Silicon, see https://github.com/zherczeg/sljit/issues/51 - "--enable-jit=${if stdenv.hostPlatform.isS390x then "no" else "auto"}" - ] - # fix pcre jit in systemd units that set MemoryDenyWriteExecute=true like gitea - ++ lib.optional withJitSealloc "--enable-jit-sealloc"; + configureFlags = + [ + "--enable-pcre2-16" + "--enable-pcre2-32" + # only enable jit on supported platforms which excludes Apple Silicon, see https://github.com/zherczeg/sljit/issues/51 + "--enable-jit=${if stdenv.hostPlatform.isS390x then "no" else "auto"}" + ] + # fix pcre jit in systemd units that set MemoryDenyWriteExecute=true like gitea + ++ lib.optional withJitSealloc "--enable-jit-sealloc"; - outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ]; + outputs = [ + "bin" + "dev" + "out" + "doc" + "man" + "devdoc" + ]; postFixup = '' moveToOutput bin/pcre2-config "$dev" diff --git a/pkgs/development/libraries/pdfhummus/default.nix b/pkgs/development/libraries/pdfhummus/default.nix index 96d2887452d6a..64fef66edde1c 100644 --- a/pkgs/development/libraries/pdfhummus/default.nix +++ b/pkgs/development/libraries/pdfhummus/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, zlib -, freetype -, libjpeg -, libtiff -, libpng +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + zlib, + freetype, + libjpeg, + libtiff, + libpng, }: stdenv.mkDerivation rec { @@ -53,4 +54,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ rewine ]; }; } - diff --git a/pkgs/development/libraries/phonetisaurus/default.nix b/pkgs/development/libraries/phonetisaurus/default.nix index 9ba00833d623b..91a2f38011532 100644 --- a/pkgs/development/libraries/phonetisaurus/default.nix +++ b/pkgs/development/libraries/phonetisaurus/default.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, openfst -, pkg-config -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + openfst, + pkg-config, + python3, }: stdenv.mkDerivation rec { @@ -20,7 +22,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ python3 openfst ]; + buildInputs = [ + python3 + openfst + ]; meta = with lib; { description = "Framework for Grapheme-to-phoneme models for speech recognition using the OpenFst framework"; diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix index a94234aec41bf..9b4579318d976 100644 --- a/pkgs/development/libraries/phonon/backends/gstreamer.nix +++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix @@ -1,6 +1,17 @@ -{ stdenv, lib, fetchurl, fetchpatch, cmake, gst_all_1, phonon, pkg-config -, extra-cmake-modules, qttools, qtbase, qtx11extras -, debug ? false +{ + stdenv, + lib, + fetchurl, + fetchpatch, + cmake, + gst_all_1, + phonon, + pkg-config, + extra-cmake-modules, + qttools, + qtbase, + qtx11extras, + debug ? false, }: stdenv.mkDerivation rec { @@ -26,17 +37,21 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; - env.NIX_CFLAGS_COMPILE = let - gstPluginPaths = lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0" - (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gst-plugins-bad - gst-libav - ]); - in toString [ + env.NIX_CFLAGS_COMPILE = + let + gstPluginPaths = lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0" ( + with gst_all_1; + [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + gst-libav + ] + ); + in + toString [ # This flag should be picked up through pkg-config, but it isn't. "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include" diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix index a50a07dde1a14..b8c8c5faa1856 100644 --- a/pkgs/development/libraries/phonon/backends/vlc.nix +++ b/pkgs/development/libraries/phonon/backends/vlc.nix @@ -1,6 +1,16 @@ -{ stdenv, lib, fetchurl, cmake, phonon, pkg-config, libvlc -, extra-cmake-modules, qttools, qtbase, qtx11extras -, debug ? false +{ + stdenv, + lib, + fetchurl, + cmake, + phonon, + pkg-config, + libvlc, + extra-cmake-modules, + qttools, + qtbase, + qtx11extras, + debug ? false, }: stdenv.mkDerivation rec { @@ -35,6 +45,9 @@ stdenv.mkDerivation rec { # Dev repo is at https://invent.kde.org/libraries/phonon-vlc description = "GStreamer backend for Phonon"; platforms = platforms.linux; - license = with licenses; [ bsd3 lgpl21Plus ]; + license = with licenses; [ + bsd3 + lgpl21Plus + ]; }; } diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix index 58cd0245d0524..8a523f78a3956 100644 --- a/pkgs/development/libraries/phonon/default.nix +++ b/pkgs/development/libraries/phonon/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchurl -, cmake -, libGLU -, libGL -, pkg-config -, libpulseaudio -, extra-cmake-modules -, qtbase -, qttools -, debug ? false +{ + stdenv, + lib, + fetchurl, + cmake, + libGLU, + libGL, + pkg-config, + libpulseaudio, + extra-cmake-modules, + qtbase, + qttools, + debug ? false, }: let @@ -49,13 +50,19 @@ stdenv.mkDerivation rec { extra-cmake-modules ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - env.NIX_CFLAGS_COMPILE = toString ([ - "-fPIC" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=enum-constexpr-conversion" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-fPIC" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=enum-constexpr-conversion" + ] + ); cmakeBuildType = if debug then "Debug" else "Release"; diff --git a/pkgs/development/libraries/physics/applgrid/default.nix b/pkgs/development/libraries/physics/applgrid/default.nix index b083f278af9d1..7a0ae2cbdf122 100644 --- a/pkgs/development/libraries/physics/applgrid/default.nix +++ b/pkgs/development/libraries/physics/applgrid/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, gfortran, hoppet, lhapdf, root5, zlib, Cocoa }: +{ + lib, + stdenv, + fetchurl, + gfortran, + hoppet, + lhapdf, + root5, + zlib, + Cocoa, +}: stdenv.mkDerivation rec { pname = "applgrid"; @@ -12,19 +22,26 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gfortran ]; # For some reason zlib was only needed after bump to gfortran8 - buildInputs = [ hoppet lhapdf root5 zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + buildInputs = [ + hoppet + lhapdf + root5 + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; patches = [ ./bad_code.patch ]; - preConfigure = '' - substituteInPlace src/Makefile.in \ - --replace "-L\$(subst /libgfortran.a, ,\$(FRTLIB) )" "-L${gfortran.cc.lib}/lib" - '' + (lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace src/Makefile.in \ - --replace "gfortran -print-file-name=libgfortran.a" "gfortran -print-file-name=libgfortran.dylib" - ''); + preConfigure = + '' + substituteInPlace src/Makefile.in \ + --replace "-L\$(subst /libgfortran.a, ,\$(FRTLIB) )" "-L${gfortran.cc.lib}/lib" + '' + + (lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace src/Makefile.in \ + --replace "gfortran -print-file-name=libgfortran.a" "gfortran -print-file-name=libgfortran.dylib" + ''); enableParallelBuilding = false; # broken @@ -37,9 +54,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "APPLgrid project provides a fast and flexible way to reproduce the results of full NLO calculations with any input parton distribution set in only a few milliseconds rather than the weeks normally required to gain adequate statistics"; - license = licenses.gpl3; - homepage = "http://applgrid.hepforge.org"; - platforms = platforms.unix; + license = licenses.gpl3; + homepage = "http://applgrid.hepforge.org"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/development/libraries/physics/hepmc3/default.nix b/pkgs/development/libraries/physics/hepmc3/default.nix index 5294f18661e31..6598cd520b9a7 100644 --- a/pkgs/development/libraries/physics/hepmc3/default.nix +++ b/pkgs/development/libraries/physics/hepmc3/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, cmake -, coreutils -, python -, root +{ + lib, + stdenv, + fetchurl, + cmake, + coreutils, + python, + root, }: let @@ -25,26 +26,29 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake - ] - ++ lib.optional withPython python.pkgs.pythonImportsCheckHook; + ] ++ lib.optional withPython python.pkgs.pythonImportsCheckHook; buildInputs = [ root_py - ] - ++ lib.optional withPython python; + ] ++ lib.optional withPython python; # error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.0' - preConfigure = lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' - MACOSX_DEPLOYMENT_TARGET=10.16 - ''; + preConfigure = + lib.optionalString + (stdenv.hostPlatform.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") + '' + MACOSX_DEPLOYMENT_TARGET=10.16 + ''; - cmakeFlags = [ - "-DHEPMC3_CXX_STANDARD=17" - "-DHEPMC3_ENABLE_PYTHON=${if withPython then "ON" else "OFF"}" - ] ++ lib.optionals withPython [ - "-DHEPMC3_PYTHON_VERSIONS=${if python.isPy3k then "3.X" else "2.X"}" - "-DHEPMC3_Python_SITEARCH${pythonVersion}=${placeholder "out"}/${python.sitePackages}" - ]; + cmakeFlags = + [ + "-DHEPMC3_CXX_STANDARD=17" + "-DHEPMC3_ENABLE_PYTHON=${if withPython then "ON" else "OFF"}" + ] + ++ lib.optionals withPython [ + "-DHEPMC3_PYTHON_VERSIONS=${if python.isPy3k then "3.X" else "2.X"}" + "-DHEPMC3_Python_SITEARCH${pythonVersion}=${placeholder "out"}/${python.sitePackages}" + ]; postInstall = '' substituteInPlace "$out"/bin/HepMC3-config \ diff --git a/pkgs/development/libraries/physics/lhapdf/default.nix b/pkgs/development/libraries/physics/lhapdf/default.nix index 26ca234c520c7..bb2bc4e8a72e8 100644 --- a/pkgs/development/libraries/physics/lhapdf/default.nix +++ b/pkgs/development/libraries/physics/lhapdf/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, python, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + python, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "lhapdf"; @@ -15,8 +21,11 @@ stdenv.mkDerivation rec { substituteInPlace src/GridPDF.cc --replace '#include ' '#include ' ''; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optionals (python != null && lib.versionAtLeast python.version "3.10") [ python.pkgs.cython ]; + nativeBuildInputs = + [ makeWrapper ] + ++ lib.optionals (python != null && lib.versionAtLeast python.version "3.10") [ + python.pkgs.cython + ]; buildInputs = [ python ]; configureFlags = lib.optionals (python == null) [ "--disable-python" ]; @@ -37,9 +46,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "General purpose interpolator, used for evaluating Parton Distribution Functions from discretised data files"; - license = licenses.gpl2; - homepage = "http://lhapdf.hepforge.org"; - platforms = platforms.unix; + license = licenses.gpl2; + homepage = "http://lhapdf.hepforge.org"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix index 286cf8355b64c..01bf108689599 100644 --- a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix +++ b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let - mkPdfSet = name: sha256: + mkPdfSet = + name: sha256: stdenv.mkDerivation { inherit name; @@ -20,1350 +25,1350 @@ let setupHook = ./pdfset-hook.sh; }; in - lib.mapAttrs mkPdfSet { - "ABMP15_3_nnlo" = "028q5xixxjxhb8sr7l5v5mwh9mkszm5m59fgnpb69yxvv40a70v0"; - "ABMP15_4_nnlo" = "11zjp4dxmgp69kdkmdwqkpsajvwjrbwylmwgs56mgjb0vgb8wk0i"; - "ABMP15_5_nnlo" = "0z47g5fwh53gg5ws5bbip5q2m5mm7vl09q2w58g6ah9dk25r10ll"; - "ABMP16_3_nlo" = "1ylppc7clyk74mr7qgk0r2cknj2m58y38r3h1dfhjjjmdkw1g1sn"; - "ABMP16_3_nnlo" = "0bwirm3wqyjj6i3asya7kjmmjhqi69l1rnc6gnq7v136ajmv96y0"; - "ABMP16_4_nlo" = "0wx00x98wgvhwsj2fg4kp76n9fhv2s5mbar75dsp6xs4v0d1w1g3"; - "ABMP16_4_nnlo" = "1cw52ijyrhgvyqc28pp278bavy9acvs6qywysgc7qjifygb14mca"; - "ABMP16_5_nlo" = "0s7yz85fjfkmmxj3xdkhz5658n3nx8rr4yjz4hrqbcy00zdcscr2"; - "ABMP16_5_nnlo" = "0iyypvj4645g7nh8w6v88pz37p81bxilgc4p7wlkaa90hiq0wrk0"; - "ABMP16als112_5_nnlo" = "17kg6gvl09p5gm99yb9d8hkl1q51904qflsziv3r5ybxs18ym5g8"; - "ABMP16als113_5_nnlo" = "1gaiyq70zxx7c7c0gkkad3ygbhdwc563al2a6ksy78q8is3bhdy9"; - "ABMP16als114_5_nlo" = "0vnwbz6v2d02d5r34ysd7b4d22h948f3zri2n3yj93k6za9y42gw"; - "ABMP16als114_5_nnlo" = "1gd41d8ay8i8m35qfqsm96jcv8vx6hpdsrdzsj415f4zpw5j29fm"; - "ABMP16als115_5_nlo" = "0pyk43d6v3hzcq487nzj5awd2zhcjbg9ak0pcs1lykhvxwm227hz"; - "ABMP16als115_5_nnlo" = "0i70z8i0qgzr875szdh8sa6x3xcdkvrfsba97a6ha7b6km4p1yjk"; - "ABMP16als116_5_nlo" = "0nyrcb3hbzngj5j3yhpwlnz8a7dx7higngzmp26kmcrr4bmhiq6w"; - "ABMP16als116_5_nnlo" = "11rph6vmmvvsi8msfp2agb7747n7xjgxb7z766i5jkvnggbmz75m"; - "ABMP16als117_5_nlo" = "1pfjdxxdwrwz5n5206jcv61l8ycliwigqgram6hlm8ibl9a828cy"; - "ABMP16als117_5_nnlo" = "1sz9hy2m983aiwyssg60v4kq1zvz4xxvbzrgsdik1qv13bj4wx9w"; - "ABMP16als118_5_nlo" = "0ddaf2a7v3kdynsmls6zxld9zflv9m8qkp8gibc5xd6vqsg64f8x"; - "ABMP16als118_5_nnlo" = "1slvr5ygwwryk63mah45xp5x31qwrf0gkrnh4p9fvl4rdkji6z0z"; - "ABMP16als119_5_nlo" = "1brv76x4z0r0vrxr51gqvfzn4d03srhvab6dmxhhj3sy23qnbxg5"; - "ABMP16als119_5_nnlo" = "1iqs1bi8r22awflf698cj39q8s2w86fwvdfgqb6sr8csm36ih6qp"; - "ABMP16als120_5_nlo" = "133vy2zhvh49fa9xkp889mxy6xbriv10q8r4lx74wb9d1kqwfx81"; - "ABMP16als120_5_nnlo" = "051bqfyh2017vnvlisvkm1ik6x7n829p8205f5algsw7wi1s7b9v"; - "ABMP16als121_5_nlo" = "1l41qgba24rslg6ascsn1i0y0y0d7yh6hszhclxqyn07gzwq7p78"; - "ABMP16als122_5_nlo" = "1ivy4m9fah8i0ipfxfq8caxa7pz8y86wgrqydg9wal9qin8n8xcd"; - "ABMP16als123_5_nlo" = "0gcf7dqr1gzjfa6iy0qzivyibw72qpagfda0a5aksd0h6aap5mxc"; - "ABMP16free_3_nlo" = "1hxlbmc2kzd8yai7ipyc95khdsawdcnzxzr0vkk3h42fxczx9y6q"; - "ABMP16free_4_nlo" = "1ckwbyj18bgvpv16r6lx3866ca4frq6rxmzvz14ak6h8mpwvcnmq"; - "ABMP16free_5_nlo" = "0sbkrn3g4048bn0y5bm6dqpn1za3761n6x40k7i4pdi0b1g7zlc0"; - "ATLAS-epWZ12-EIG" = "010ddmyfrmscgd1xdjsxsjc773jlvbh3s6mjbwk9zd298i3bf4kx"; - "ATLAS-epWZ12-VAR" = "1r9ip8549dzhs02skm8v00g6nsh7q1rwd3syz3bd6cl4sqhs0k37"; - "ATLAS-epWZ16-EIG" = "0b1zzp8p0kh4xjn76nm6waqlvdpqvnwyqsnnqdp2n7b9r9ssryyf"; - "ATLAS-epWZ16-THEO" = "0b0wqa203b2x159y54xhf9yh34lkchp48vp9693k51g9aznx8gjm"; - "ATLAS-epWZ16-VAR" = "1zkhlv8yxfla46gj57119w9prsd3zyy5vg275bayfwa6b71gmc0b"; - "ATLAS-epWZtop18-EIG" = "069rysd9mf3cshx7xkcv7735ydh2g6szvljbfkcqwckaqjg2x3v5"; - "ATLAS-epWZtop18-VAR" = "0hpyp52dwl8fnw47pyw8g7fsz97wr6sk4yli6sx0zbj8yy2j28yj"; - "ATLASepWZVjet20-EIG" = "0lvd3zkmisx95rbjx7r9wkk0s0mxvaybp3pk66sxrxf1bj1l9r52"; - "ATLASepWZVjet20-MOD" = "1iyb50isdsy3a5wnlm0185z9bfs6nxwlcl1aqlh4h3j1dbmz4ba9"; - "ATLASepWZVjet20-PAR" = "1kfqii7sbcs8zdsyd9kiy3r233nawc9yfc23fb6ql0xcwfzpyb1d"; - "CJ12max" = "1vk2zkaiqbl6fixaxy7mrggmmxv7lvnw736lxm5sh25dapg6s8ag"; - "CJ12mid" = "0s2558ihypn0l9qqx25qwnawbc7fkbi2wwwhbyb108rjk2klaf8v"; - "CJ12min" = "1kdla638m3axr65ndid9irmqhby4gl084r297xw3jxxlrb0b7hj9"; - "CJ15lo" = "0hww26wbcb3i61z41s518gj41mn5gcikb08pdzyb5vyrl63b39bf"; - "CJ15nlo" = "0acmyr5zpb7yzs2pikhgf8nx8l7csmai4sv361l7x3miqir56ss4"; - "CSKK_nnlo_EIG" = "0fdc2a7xax7xl5n5f3ff5dcf7zbpk43z4kfy3ffij2qykrwfx7bp"; - "CSKK_nnlo_THEO" = "0srs535f9xydqfzyy208304yxah1rg1r5ilx8hk9nvgaiy7kwnvq"; - "CSKK_nnlo_VAR" = "1iyiam3kbjrckh0sw290hwi04h5cqif081afgd16f0a44wbcjsi1"; - "CT09MC1" = "18ap08vh1f4ivibq5z57wv7lwvw1pzwl865xznzzcr0jy4f59103"; - "CT09MC2" = "04yxg4bl0dcgh6hb9g223wm084w0q1y2lbd4z7w8vmvvvn579ij8"; - "CT09MCS" = "01vjpdgy79gvk3w4blwjgfqpf50mjdi5kmfcgnlnwxp5q0804pgf"; - "CT10" = "17glhnqj4yknqy70zs7m097n1qq9fqljj3mna6qxchmgql04dvxw"; - "CT10as" = "1709bb3ky4mpn4cgx9lda8swmvb2pl70ly1gzk4ahgsflkb8iaj3"; - "CT10f3" = "0ijrx0wm03r0yg6f0n4vwp1c3kypdjpmmnv12gk79y193bfk362l"; - "CT10f4" = "14icbh8lg9290wfalr1bsx0zff1df19x0qrjqh8n0y9ckqmkbh6l"; - "CT10nlo" = "14ib003sxpxc8awywjckbw124aqhmi70wg4hlwc2nvdh46sqk11b"; - "CT10nlo_as_0112" = "0n2abywijgjys56kz5qm30arh3v5k685l0gayl4mdablbw0ccaca"; - "CT10nlo_as_0113" = "123kbzzfjlparffgmqpimygzjcn0wi1vnyrkjfjn2kwcdjazz8dp"; - "CT10nlo_as_0114" = "17lgcbf7914dfb89d4v8fal69zq7gmadvha8gpz0wfw4p0pq765b"; - "CT10nlo_as_0115" = "0rgpc3mcsd18yg4j41k9hhvbjbi3d1zrd9fq1314m4qvviq6d9j7"; - "CT10nlo_as_0116" = "15xyhmipv9xbiz3jaqdj59nyczn35nq14183xz4py68l2v20smqi"; - "CT10nlo_as_0117" = "1qf9azafrwqpyp5flc912g2frfpi899vb032yrrgqj2l1flg474x"; - "CT10nlo_as_0118" = "1jra85s6df6vvmljkf8gg2jkj3r6b1yl6aidzlm3j59di0fk9xp8"; - "CT10nlo_as_0119" = "0y7k0w592j777jpbrh8v2zh1l6n38xbxjvyiv5x4pvwi6zrp9ppf"; - "CT10nlo_as_0120" = "0mh1hdmic5c3krlb1xypy0n6r86r7da0ay9183xwb68d1kh4j630"; - "CT10nlo_as_0121" = "1gwvgj3bwv8fz8mbmgnfsy0bvsm4h9d898mf1kcaaivh56sfial8"; - "CT10nlo_as_0122" = "1jkkqcmjynd30paxc9z9gpmxkfhs6ad3x5sms5980jx291rc8hgd"; - "CT10nlo_as_0123" = "0gppcp49275pg3yv37mzkx7az6298wwy7gqla3gzxfzlas0ybg0b"; - "CT10nlo_as_0124" = "1irl19q4wyw36dwhln1m4y7y40by5xgdjqpgj7sqaix8jvijc9bz"; - "CT10nlo_as_0125" = "17c6n2prdsry2phqmaykrf1yc02mvhacb87r7yl0nhkhx80kysk2"; - "CT10nlo_as_0126" = "183p4fd85zs2c1j0zwfsa08wq6v780xvwbg44bpm52m4ih1dgqy3"; - "CT10nlo_as_0127" = "1vcpadkf90x9qiqaplc25hld7qljk5d3lzs1dssqi5fh1kci8qd1"; - "CT10nlo_nf3" = "1dfzas3z075riwx26bkmvjck42pjgbm32d1flg5rccsxjn4pmmm0"; - "CT10nlo_nf4" = "0npv1h5gi2vhgxzcbcsl740z2p7j9p8pg3jwfb0yz88wlbj5bkah"; - "CT10nnlo" = "1la35l1b3hxdkihh9vkibfh68rghcfgq48q27x2b05dfhcvcz9lz"; - "CT10nnlo_as_0110" = "0j1f6lbjhwcpgfb8kwzsij0hfmzb3dggi6zwwv9f2w39ax2rfb8i"; - "CT10nnlo_as_0111" = "1519hvpi1zrjk8p31ksna39n9l8v02ggj5q775q243p9qyfayxlf"; - "CT10nnlo_as_0112" = "0asnbr0va5p1j81kmv8ar267aciap638kcb48cs5ghz9fvhxp197"; - "CT10nnlo_as_0113" = "1j5cfbv1d5q2hscyrvig6xkk7gfv4x5cxn1142qmd8pdm9ky2fdb"; - "CT10nnlo_as_0114" = "03rkvf4ljv7bnzp0fyyrypbbx4rxd1y6id3dfvg4w22s65kp0csm"; - "CT10nnlo_as_0115" = "1d8rkwvnymx4pi0v1s2vbc880mggdmfnzjppd7fghjqj4lkkanyi"; - "CT10nnlo_as_0116" = "039i2bq4xr6hlvg0syzmyfv4lm7lrwr59myrhd609dybiky4aqd8"; - "CT10nnlo_as_0117" = "0q3a5lbpxh24zv7ypbc680kqrkwy5m7xbgx5v44b6cdzlib6lvsn"; - "CT10nnlo_as_0118" = "0b11mpgrkqn2n37asg8qg3qmhdhbr8lmj8qjixxpca0h1j7m71a5"; - "CT10nnlo_as_0119" = "1j411yqrlbhqmby8mplgghmb4zxclf1h3pdsffx9iv8sq1q6dy2i"; - "CT10nnlo_as_0120" = "1djf9qfqrywpsyv0w6igidg9a4ca739dvqgc7qz7qg2bpclbaly9"; - "CT10nnlo_as_0121" = "0nlm5iwcvb02fd7kan4yp60qbc0fgir4dii3xg03n42xzqixy2qm"; - "CT10nnlo_as_0122" = "1kwq04i5ln8wv32vf4akjnzid3jdq67zccfg7xriqrwd9367x5kv"; - "CT10nnlo_as_0123" = "0w4fmsmyci09v0cxnmhdbqxv3xq3wa9ma7m4g39sg2gdsxqz1rgd"; - "CT10nnlo_as_0124" = "0yzrj1pdigssi39z21k9jxbiahhc1785rjxhq7xl8zx38paspbg7"; - "CT10nnlo_as_0125" = "0qvdvj3wkbkw0b0zv79ybds2pk5z9kbriwsm5ffpnycrfkzrm2kd"; - "CT10nnlo_as_0126" = "1cf8bqi1g4c3xqg5k9m4fa8v8bcnwkzblmfn7zc396pgbzhhz610"; - "CT10nnlo_as_0127" = "0zknrx60h8jdf2pfg2zq6xk73hn86gcv69ml78ik5ms0y5gp21av"; - "CT10nnlo_as_0128" = "09yn8l3nv29frj3xn9pafiz2iamccp8ii8j7hmp63iaji6c7m5fg"; - "CT10nnlo_as_0129" = "1ypq63r5myz2phn4y5sbb5dbxvycwis8jixjl0n95xmqlx5zhixi"; - "CT10nnlo_as_0130" = "0ilr6ijbbh1zki66ma006h1qhdq7wmzm0ipki78bk01jnr5yl5sg"; - "CT10w" = "1qkwz1drbkxcb4gskkfn0r7fsa6g9hjlc8716m633x35kha1v52j"; - "CT10was" = "00s4n3nkngwyhh82l132v88c4jgkg03ff4x7m7nna21lvkv4wkb3"; - "CT10wf3" = "1r43pzb1291bjcmahgfh0f86pvb3nhdpxw7gikqmypdmck0n2mqf"; - "CT10wf4" = "18bf9k0jp95y9yz0m896sdzy9q1fyp0r4f5hrv4jq4d1z84zdis5"; - "CT10wnlo" = "17wsw6p0h618q68swn9mjsahfyqikjgsiykiby7y27ryairv709n"; - "CT10wnlo_as_0112" = "0p7mh56zyqh9i72llbmjchwm50ifa358snd8i1nqr3r6lr5265hb"; - "CT10wnlo_as_0113" = "0nl4lk3cscsn6p50b3qqaabqfnkn5xgjmcxvfrr1n4njh411kmln"; - "CT10wnlo_as_0114" = "1vck1i34dspbzskzpbqxbq11gp79drlrik52waklvsl5110xawnv"; - "CT10wnlo_as_0115" = "070cl0prprqqkkzwxnvyw7r4ivvs8slb98v5yza0gvpwck0blnzn"; - "CT10wnlo_as_0116" = "0v50pyjqpcrarbx886la0hr6vwvnavsldm9amcdp1vlck5w8mmg9"; - "CT10wnlo_as_0117" = "108sb5h79mpgkvdzqlx830dykba5kw9zqgxa60i7bcyjnv0277si"; - "CT10wnlo_as_0118" = "0zf335291hwfmdbhgl5v2y5pbc9slm7dmjfkijdv0jm33drpkcg2"; - "CT10wnlo_as_0119" = "0kvwc0k5y51p4qvlb6hhxvn9c2n8x0xn0xyp5zkz75ad3vaz9yvn"; - "CT10wnlo_as_0120" = "0yvbcni3xf718xild7s9g6cxw7dwa38f4iqdm5z7dd9ahxyw9rxv"; - "CT10wnlo_as_0121" = "1z0mlrbdn8a9n6h0jpha3p1lqz4iamrwa80svqn9y4qii9h5pjkn"; - "CT10wnlo_as_0122" = "1dh5czjvyjnwlzc14vz91693pr3nyls5g926g347rdrkqkjq8dcz"; - "CT10wnlo_as_0123" = "0nf7qpgb83ahm5dkzr10xafhcx4lvb3zlxnz70jczl1jd4v2cld9"; - "CT10wnlo_as_0124" = "14h07z06csxb6v6ai1w5ba0kygnsrzdwxr2nx1kcn93axcsqqbhv"; - "CT10wnlo_as_0125" = "0g0w6mwy5y4l36cn4z8gfmigzharyn5xqk5ricasracrnf7ydix2"; - "CT10wnlo_as_0126" = "0dbkkyimpll9r3979vbk4xqi5cfhzr6b28x6j73fbxxxi1xfavl5"; - "CT10wnlo_as_0127" = "1svmgs55kg74rifjyns38lggv1c18mzmpmvsv116rrllklb19pfp"; - "CT10wnlo_nf3" = "1m13if0d9xijq695x41snpwwrsgs5a0jvil6j2ww8cspc33d7vr3"; - "CT10wnlo_nf4" = "1b9lz23rn2w7fqwxxgf6fcg620ac58dnb1ssj3ml3vfn7z88yx43"; - "CT14MC1nlo" = "0z82q7xr9agq8iyw7w2rcclh27mry5snn5jswn3cxpgnalls50rx"; - "CT14MC1nnlo" = "0fj6hjdv82fp4iv7iyk9gna7sksnpkgqx0bsrl2wjbigm4ys031g"; - "CT14MC2nlo" = "1x6a6js1jpvkykagz6w3klh6hb2wf56r3kh65i6qlnzak4m7b8sq"; - "CT14MC2nnlo" = "0hbdz8agjm16mm51hclpl2nsa5ji88zpqdsn682xgihq64kahsnb"; - "CT14llo" = "0sz2ni8xcjjg8034qjrhb77ak1akzlf5fwq00qs9c196lk5b2x7s"; - "CT14llo_NF3" = "07zzs3jprh0haqx5bcsii213m99m2nh9vki76d9cbhicyzx23pc1"; - "CT14llo_NF4" = "0bxkw5qms6dpab0zf1hhd8dllrjip2izbv23aqpg72d5rqxb6ny4"; - "CT14llo_NF6" = "060fx2xrc90id3nb7rlmrvkxlyafx3g7nhdb5jmbr3hxwrzrq674"; - "CT14lo" = "0y36qkjqd75zf1w1hs1q51qxgin7sm3bhmcbwczwrb17c3vb4m2m"; - "CT14lo_NF3" = "06iad9lrpxsy0d365vrjv6gjlgggakylrmj1px17y6s796jq6c6g"; - "CT14lo_NF4" = "18c03j26mbapjidq01s4yrfdh0i7j75gbswdhwcllwdvcg3gnki1"; - "CT14lo_NF6" = "09ncggqnqcdpzakm16dzxd6ikay9gd5k8si80k52hrr9m2gf36ci"; - "CT14nlo" = "137i0n7g9rgfsf5rx65d50njwsqawprazp5an513kmz1cwq0cqmd"; - "CT14nlo_NF3" = "0pmamazh9i8pahalasr7mwx67ixbgrbsh8004grg0cimr2y4iwjj"; - "CT14nlo_NF4" = "1k7sy8lpzkwy0dc4ig9i9134k854fk0r0lann6pj3jsxs0l6h5km"; - "CT14nlo_NF6" = "1gfwr0sjbq41gx3057hqy8v6ysivjf1xrh6fp3qqn6m13gy2kbas"; - "CT14nlo_as_0111" = "0kgg9r635grdwp152ylzklawzy8nf2ywlp75bjc1yyagg765k6jv"; - "CT14nlo_as_0112" = "0j0bxx0gjdnj41gjasgd153gd811wyhsza56fvzrpka820bkk6rg"; - "CT14nlo_as_0113" = "06if5wk1asazvff57ah944mnzkh5460yqkkwcs8zhnwx2kbq9v85"; - "CT14nlo_as_0114" = "1szy7jwjvdvqqpjvcra1f0wn8qgrja6wx4kwcq9vf60pns7mzk7v"; - "CT14nlo_as_0115" = "1kkahzmrbdr7s06v093arnss0xpxv7byqqx2f5aqh4fzimwp9n7v"; - "CT14nlo_as_0116" = "0qpkmmpq1b33grf85jzkanwpa02j1cam39pkxchql95hv2jlgw4l"; - "CT14nlo_as_0117" = "0381620r6h9s2qby52jvys4z8m6jfafa5qnia2fq3q1pc0xp1q2p"; - "CT14nlo_as_0118" = "13hgxmjx6bv7njb6jdlypy1z61nqf5m5bavxsbrmwwfxlsl4jdzn"; - "CT14nlo_as_0119" = "06pjl10js0xq7p14ifjn7xhndxyb39sxyc9ksd6wx55i6zyqf08l"; - "CT14nlo_as_0120" = "1wyygxxjlcsh1qg6npk5szfbf59k4j80hnxnxhah9x9wrg5kg9j2"; - "CT14nlo_as_0121" = "064afbxxqx4rsa3l73rki8wxa08a1rb53qyf3nwwjb4zb426jfgg"; - "CT14nlo_as_0122" = "172xvndzcm8s4hzjgrq3szg6j7z4s2f4pgr07vr178zvn9986ham"; - "CT14nlo_as_0123" = "0q2dansvna4p04ilb1sajz3s5mi89jgd8badqh6r72g26s96dman"; - "CT14nnlo" = "1y3gd5wzpwv024xcrn70bz6h62n96mgqqwyl5r7q6czw0is52dzq"; - "CT14nnloIC" = "1wnpwy0mz0c5y29wi497jcn5k47bndd0h65d6a18qcfk0l15rfzx"; - "CT14nnlo_NF3" = "0ijns9bjkw8zcinba7rflc7ic03mn5701lqfrxqjyq4q6kh8fia7"; - "CT14nnlo_NF4" = "0fhyzaxnm17pi7wfh5hwaic9q4y0hb05ripd6r648wnnhhi353xy"; - "CT14nnlo_NF6" = "1dvabji3vrqk8ngln72xqiahm8fai3klgv5yz64b3bfxcr04wmg9"; - "CT14nnlo_as_0111" = "1hl88j40czr73h9fbz0zbliawlqwng7ikrmq01hsfns190axm8w9"; - "CT14nnlo_as_0112" = "1w9344v9ihr0w8vrfhhxn81gcnr0qm6ihwwijvcdds09jpdlp6vr"; - "CT14nnlo_as_0113" = "11symfb1ljislbksrars1k766fa2n1inbarzbw3kp01vxpw8gxf5"; - "CT14nnlo_as_0114" = "1s1zz0ibr72jvx9c7w3kcryiywnmg264gprn020yxl9sqfzm0kzz"; - "CT14nnlo_as_0115" = "19c4c4s7djav1zai2nlxbvy8fzg8hqlynri1y4hyhc8hhl00lwb4"; - "CT14nnlo_as_0116" = "1shjwky7jjwcci0frra2lfc0wycvza7na89c4bsqiksnk413v2z3"; - "CT14nnlo_as_0117" = "1mp5xxv810khs59zg4kfsdj5qp6ny0878fbz7jf101mpyhdawf0m"; - "CT14nnlo_as_0118" = "1mvyv13agnmc2c47i9yl8ki5d0qac3l6ipn3nf5rwxjgah495rv6"; - "CT14nnlo_as_0119" = "02b14lrx3zpbl5s4nj1rvh30i9xdji37yvvg2xwjiw3i56vl8b2l"; - "CT14nnlo_as_0120" = "0wf29wz9k2v39pbzh91bxwifbs4cn0gsnjdzm24cpgq7bnhyszn3"; - "CT14nnlo_as_0121" = "1w12xmxqclrrwvfb2g3zvivkq858n0lpp0bzfibvh4wamdyyx3an"; - "CT14nnlo_as_0122" = "1hgghn4ad7fj3ya17qnka3xcwz7sp4fl0vpcbqkrs9mbbz570fjc"; - "CT14nnlo_as_0123" = "0m66gwhw2n668sg4srq683qbavwabrk4f4vfcsbppzbcgm7i4yz7"; - "CT14qed_inc_neutron" = "0ph835nfx98i74nncmspj7qb5798yciq76hqvc505n5zd0hwp87x"; - "CT14qed_inc_proton" = "0gv0rlr6l62gidqp02ifn75d1ribvbihgpaqc92fww73zwilr7l0"; - "CT14qed_neutron" = "0ck1vmqk17i7rq42hra79cz2rm8ngxv4da6dvz62l6m2nrga3l2k"; - "CT14qed_proton" = "1gijxkq5gpsljijblzd13kgr7xjjvnjv18v02jivylf73igsakd7"; - "CT18ANLO" = "16lbhgkbiym3njiffxdcm3hf7kkm33hyj2w1hwgb3mvxx2sja31c"; - "CT18ANLO_as_0110" = "1lkxicxmphi4mdc23vig4a5l4gp0n53jblzsl7bvrixbkhd5arv8"; - "CT18ANLO_as_0111" = "1jk8siawnpnclgjc0jhx89ipym0jp94mrklwkn0awh0hgqxd26ra"; - "CT18ANLO_as_0112" = "0rpfx10b5hjwzmlqzkk1zkk38ysn5jfgipk71zl5da6qk1ih5v2s"; - "CT18ANLO_as_0113" = "0chhqgjddrb731y6haa94yypki6pzpjq5rvja61gfbghbvnc02fs"; - "CT18ANLO_as_0114" = "0nvl1a588jvmh7a7przrzpvf9prrpvv610jmsnfrcp4i98ipdn1p"; - "CT18ANLO_as_0115" = "1f757zlavyjxjwyda8rnkzg9kagmciywvvvdcsbks9ij3m4fcw5z"; - "CT18ANLO_as_0116" = "13bdsnwkqzjq63m02vmb7z03rx6chcyy3br4m52gja0qz03rxhyj"; - "CT18ANLO_as_0117" = "0w5pmqry5rd5jsfwiv43cy5z3hlk7gzllnk0vn1qgsjrgd284hj9"; - "CT18ANLO_as_0118" = "1g137nw812zqdkr97hdwvfi4c4bxfazy1wyk30gwgrhqs6xdsmyp"; - "CT18ANLO_as_0119" = "06pjg9nsq6pvda1yg6lg2qi15i3h2radampgk23rbz9g6zn5hw39"; - "CT18ANLO_as_0120" = "0jh6f5jj81sppv5fhm8ccgzwpacfr1nql3r5466z0bl201fc9x6x"; - "CT18ANLO_as_0121" = "0jh4x2y4rcp3l825dl3a89apmb0f94jrk0pl93lv8xg34f8jrb2i"; - "CT18ANLO_as_0122" = "0ma8r5vgdw9hj6cafkj8fbpq8i18cbild4aw4q9lrsszwwcrlv9i"; - "CT18ANLO_as_0123" = "1mv75gga1gdmnwkaxc0c89jxgapc38376xv5yxfqy2dn03pad9im"; - "CT18ANLO_as_0124" = "0913a748xm6lbdci8vicz08h323hbkc4z1bjq1wq8qfrl1cx02ic"; - "CT18ANNLO" = "1kbsbvvkkchhwwjdrj4d91lbykid4dcy4ghanpdd9x0nfm5b4sgk"; - "CT18ANNLO_as_0110" = "1inx20r83pfmwxfhyy3hhj2csp016d9cnald1rf8vl9riqxvx0j4"; - "CT18ANNLO_as_0111" = "0zzi0b27xp4xykbwd2y7l2ka1k4kfvhaq7y2w82fky2b842ixsmg"; - "CT18ANNLO_as_0112" = "0y031rslsmwxs76rz184mrjb07pdcxrf07yl5yab1y24vymqj4dy"; - "CT18ANNLO_as_0113" = "1pgrcb6sbahl2jf3v08bki28w9x0ag5n3zj1fi0jc69fxwgkczzq"; - "CT18ANNLO_as_0114" = "0ifzf428gxlmhc8wvpj3qaqr0cl6pripiabmnb5av43d5avwhagr"; - "CT18ANNLO_as_0115" = "1bxf5rs33kfl3q570wm49ad0drlanzq8wkrbd85qjlvyhy52j8vs"; - "CT18ANNLO_as_0116" = "0l43qn45wfj2lljpp8kri1n2p99lxj3gbbqh2p2s7v0my5ds5p06"; - "CT18ANNLO_as_0117" = "0nfh9y2w8lvlqbghxx4i7j7gxq5bm67h3vz1wajg86zndarkq6mz"; - "CT18ANNLO_as_0118" = "0m8s96rgnnl5xk7g3l2pf5qx7dwb8kgn18b9nyr8cyqxn90mh3vr"; - "CT18ANNLO_as_0119" = "1lpkcrcfmn0kc9g21ca90j1shcf3ii89yrr17rgwynmylwvizs2y"; - "CT18ANNLO_as_0120" = "0lmn2p57k7yvr5mpzykljhkpnb1c71f4ya2s4zbp2x84fqfg5wbk"; - "CT18ANNLO_as_0121" = "0arbvp0sc67fsf7slhlv96iwq89yjqqkv84pf76fqdvrrjsmyn61"; - "CT18ANNLO_as_0122" = "1nbkgb0wmjh2bfx944sqb810sn4bb0ppxgv2aw2y93jbfyx7x4ry"; - "CT18ANNLO_as_0123" = "1rlxn70mc299v596y0dwp9a1pdy1yz0r8367cjw5l97y46yxhjrh"; - "CT18ANNLO_as_0124" = "0sfkvhyxp9sqf75wj91h9h59vcs2y2n4qchsg0marjy849xxh6qb"; - "CT18NLO" = "04y2p6vz484l3yv6381pfavqs3xh78h3jn6bg7ncp5vywwqp44n9"; - "CT18NLO_as_0110" = "0nrydk44sp7hgabn6xk6r2hnkir7mgddcsbbnqmpwmq3x0xz27pn"; - "CT18NLO_as_0111" = "17xwzcj4n1bmfwz02n2g8afzxc4lp5diij00f2w50pqh2w7vj6g9"; - "CT18NLO_as_0112" = "0a6lsmpz3c1z7dm593nb3r9q7dgpskkls2i6wpdlrrg6s6cr8rmq"; - "CT18NLO_as_0113" = "1kwz9yp0vzyiwy9avxjwibdc6jla32vddf23pvfiv0qjcwfnp6ii"; - "CT18NLO_as_0114" = "161q98jr59vn1qldhd83qxx0qjq1rahgamwfqd3hw6dn6wy39970"; - "CT18NLO_as_0115" = "1dp0683zfn7mg0bj1l5m7i9kdbyxjl0ahhwppvgi5gs5kbmhbs9n"; - "CT18NLO_as_0116" = "0hpi5s175cpz251nav0v34l6qsfqj6181mhhp80kghyyvl7l22sw"; - "CT18NLO_as_0117" = "1v32wxdsvms23sghcszw6csd08kw0xppjzwjnbdsc8k6w67r546m"; - "CT18NLO_as_0118" = "1vd7vc7f49in1i5398p12b9vklxbsif89wv2q93k6m91kb38rm45"; - "CT18NLO_as_0119" = "1h0dlys71cngsxl9dj9l5amikxrvzzb7bins2a6wn6s7zgfyvlck"; - "CT18NLO_as_0120" = "126jfwml027mnpbr6ad7s8d94j3n1sv6fbdy5r5vcb64nyncjach"; - "CT18NLO_as_0121" = "1khffdgqdfl1g4cxp4fnyb900722s6pwzys7cdxmwhzi9f0rwgw8"; - "CT18NLO_as_0122" = "1w7q35igi7fnkrwnr1dnfq646qicz4549c6ddqbkyil10arvq7fk"; - "CT18NLO_as_0123" = "1bl6rf69gjnblvfdh5p8flax9qb65vk25hcfjw2r7qwdz3dxs6sr"; - "CT18NLO_as_0124" = "18mhpn4l3qqg9v79z2vz4jc8w3za726fndfl6sbc9mf94jy72chm"; - "CT18NNLO" = "1shkah5ma0hp101aklkz2p8n9y4i4sv6zwa5ifzyj3bgz1020l5f"; - "CT18NNLO_as_0110" = "0v7nsjcm1q7hgj726zlvfydl3arqkwyddd20z3g0nwdqcimv3qs9"; - "CT18NNLO_as_0111" = "118444ygv03ryhbb28njbsayvv0rdlcb9djja6p62kk6rnbwi1wz"; - "CT18NNLO_as_0112" = "0djxkvwk628sxgf62bff40m2m6vgzs08jss61f90rscvj6gxid5b"; - "CT18NNLO_as_0113" = "1xg7qs33h8zgj4007r8g4drhm95551slhwv62dzyv9pwy5vrvgdn"; - "CT18NNLO_as_0114" = "0i1g7kwfs39ps9ml0ckkcq7x4g1n764q1r06ilq7bci3m073cffn"; - "CT18NNLO_as_0115" = "16q0hc3p0325bq9zgskkpf9qfyhmz9q0rk3b0jrzpc0d4vk7b5r5"; - "CT18NNLO_as_0116" = "1mhnx8szpp4sfy592f8vzvjlzr9y46qndv3c42hf0jsygx5pc5cr"; - "CT18NNLO_as_0117" = "1bmcnjfzwf4bl70qyx6csix3ps46pd32yb2h33y2f144vp8bmkpg"; - "CT18NNLO_as_0118" = "1r1dmj42qrqprhq06i0h4kpjc1riql963n32icl0mfwjq9wpfa0g"; - "CT18NNLO_as_0119" = "1rxyd21h407zmjn3nnr4cqvinw2nwcdhid6cbr0wif8p2b3gasic"; - "CT18NNLO_as_0120" = "1llhnfijc7v6v4dkbsfgj2c3m0y4q42mvaynz06v2j3aqv3wzhza"; - "CT18NNLO_as_0121" = "19dqq2jz5daq59gv2zdvygyvwi9sx6i3ih82yl82yy82gbw2568h"; - "CT18NNLO_as_0122" = "0p8w4ypaxrpsyz3dn7f0964wgvd30iy4r1haa88hqwx74qrkb4pc"; - "CT18NNLO_as_0123" = "1c1sw5md5xp8l6b3qxbnf994kz2rd60p4bl3s3l2af7f77w57wfv"; - "CT18NNLO_as_0124" = "0ldf7dnzdlwqh0gmb6an0b8cwcjpkiaih49aa77j2irw2yja5p41"; - "CT18XNLO" = "1k0cli4j0z5hj24pk9f78flhlvsdfya51hgh90jv4myniapk616l"; - "CT18XNLO_as_0110" = "07k9ga6n2gf9qz0flvrd4if0mssddrq1bbk0rpxsy8wfp41cjsl8"; - "CT18XNLO_as_0111" = "1ysz50r2nc57c7srgqw1dcvyfr9h578dkz24sbimxq54akp9jkxy"; - "CT18XNLO_as_0112" = "11wvnvsc6a5c2ygq39avai4xk2mrnfnvi4fqzmkjdcm0kby0swpb"; - "CT18XNLO_as_0113" = "0cyv8y2m3514np7f3fwpf3g1mzy2cz905sc5lrjqff5djwjc23yg"; - "CT18XNLO_as_0114" = "16vj7hhg3psmyr4vqvy8mz4bg7rp6jc6b64n2dfpq5jvb15w2fbv"; - "CT18XNLO_as_0115" = "0ylw7d9g041fgrjfvq0i0ycpxwbm3s4jdgm5mkjk6yj0s4mrrqcy"; - "CT18XNLO_as_0116" = "0mcfgih55zja7k0cdi1yd7gx1gjr6cpzz28gz4fxyxi2l4paxh2k"; - "CT18XNLO_as_0117" = "0klzf5bchabcjc0c8h6f09g37jy6vwrpq7q8iwrfcmar2slx26r2"; - "CT18XNLO_as_0118" = "0hd1bhlkmnchcv0xbrqjc3paa7fqp249sxi9hg71x3qbh03ab036"; - "CT18XNLO_as_0119" = "1xlxw18hcsv7bij4dvnj9dfm8sai5xm9jggb8g7flmvkmcskgzmg"; - "CT18XNLO_as_0120" = "1ixdg56qgm5701al85zkp81xx3h9hsipqka8l3sh0ghp563qxk32"; - "CT18XNLO_as_0121" = "1msa7pp1a77wmvxa9mhr0sgjj4yv1msb0igqj53ahzgisyl3lnml"; - "CT18XNLO_as_0122" = "1kin5bf9bcxadqibqfzb03bxdrj759mlgpbpjvvpxg4ishj0b7yv"; - "CT18XNLO_as_0123" = "1mir3cpvbc30l3m84j1ql1d8phrx7nf0qd5xbq9jfl4gx1kjfw8c"; - "CT18XNLO_as_0124" = "0ims3sl32rria896ckm9fg5dsmbf6ivcfl3drnqpl328ynrkbzlr"; - "CT18XNNLO" = "0j7bwzkhax4cm3wnbhqdv48j4wha9zdd7v77ihlgcvcmk79rx1fa"; - "CT18XNNLO_as_0110" = "1cxlps6kvm08lkgvrqjd8080ykc1dvd56986iwwzd0s6whlpfsi0"; - "CT18XNNLO_as_0111" = "0bbp4qz3n9pwcfn6m623q2qqmx2wcgpy6759wzwpjnifym832j95"; - "CT18XNNLO_as_0112" = "16p36jf8c8pliaxd6s30cmmmxg9slnmb2527vnwkka0kp9qw3ffq"; - "CT18XNNLO_as_0113" = "15d4qx8x56kcg6p8980bslhfilkld8yf1mwpdzyf8v8ns50wrbw5"; - "CT18XNNLO_as_0114" = "1zsfys0xkgf8zlbzzjmh1wvzxwjqi4rvgik26s5y4ibr68gshvaj"; - "CT18XNNLO_as_0115" = "1x00d2q2lnl5w0l052v9cvkywav26b4r072dpn1jiak6n52yqqaw"; - "CT18XNNLO_as_0116" = "1gm9m0rl9vghswcb4xgp54lc3h8wkh6c077625m9y0166xbv5x2d"; - "CT18XNNLO_as_0117" = "0630arl5qwjhxw0avzlc0mr4hwi09ki8xfn4zvfccgpy2nd85q5b"; - "CT18XNNLO_as_0118" = "1nx75pf5krazrk3ff3lb6zjnxz2qmffrk5vcf06iq5qci9zi5l0q"; - "CT18XNNLO_as_0119" = "0dzjj9f2qkpwfr9pm3pfj6jw5ih2jis8wzc8d0vyh5mm084jlk6a"; - "CT18XNNLO_as_0120" = "17pp23l0brnd0phq23888qbkf1c5j1lcskrbm3v3f2cd8p7jcvvw"; - "CT18XNNLO_as_0121" = "0hlfx8zsxc1x6glny4cp2vpba8jgjix9cpsfixff9vkbqpm2ppk0"; - "CT18XNNLO_as_0122" = "1918l55khrfyb3lcxsbbf9w6v8j54klszl2c32nmna0apf8zc3qm"; - "CT18XNNLO_as_0123" = "02kak35pj6c4hml75na7452ryashfclglhahclzkpq8gs72l5w91"; - "CT18XNNLO_as_0124" = "03wym12nvwdcr13dz6d2gr4bz3csffnn21zfdld42fsyq4glx431"; - "CT18ZNLO" = "0iv8laks2ymn5fygk6k9lxm3s7fld5g292n9bfkhn3nmcfxczi03"; - "CT18ZNLO_as_0110" = "1d0j9nmn9mk90698pxqlpgz7c7cyxswc88n89cr2h8mgcg2w8g2v"; - "CT18ZNLO_as_0111" = "17l7j1j2x529mhk0andkdh83k9z6kg9v3ccfna08i7d4iilsdfrs"; - "CT18ZNLO_as_0112" = "1b8mi0jwln2wvysrkbm1fvay053d17dzvlj9fkz36xmr03bv5mvj"; - "CT18ZNLO_as_0113" = "13dkpjvh5a3p565mhpxqnhijl3jd2zr03np5psknvl121gr007fk"; - "CT18ZNLO_as_0114" = "0drryvq2x42xpf9bmd6n4vz1f8ddh83c3rynnzm54qssxmfkb073"; - "CT18ZNLO_as_0115" = "1wdj056rf02jksa2l2panvkijvvwr6rsb8kh3g2bvx0yjhff8g1c"; - "CT18ZNLO_as_0116" = "1ibf0841irsa4vq9sg0kvrhvakyyshpvs38frz9v3zjbc012cldz"; - "CT18ZNLO_as_0117" = "0l2nabywfsvb1sk44rqgrwf8h0lxkz8qf6pmzr8jc3zhq1fv04sl"; - "CT18ZNLO_as_0118" = "0dnksqqshxqr0y3qr3diyvhfq1jxy1x0hrjw8xk76jzm61xi96x1"; - "CT18ZNLO_as_0119" = "0qljv4d1qfc9rx3p4a8dghij11dv1mi03y30wdilfxrf98znvdyj"; - "CT18ZNLO_as_0120" = "1w0p5gai8qhfjh4jxhyl26xrp8n210cp2a7zjd4id1s4pcvpzvn7"; - "CT18ZNLO_as_0121" = "1ija1nqc4pbprcc3ddhl9rxxbaxngjr256zxiy7gg3wmg6364hjl"; - "CT18ZNLO_as_0122" = "0d7h3vli13m1pm5w91js8skv198aqz9kjkx7w0sa4v2vhvz1rdyh"; - "CT18ZNLO_as_0123" = "14cl8fmkl6jav7byqwcfa1z2ml6lnn6pzp0w4nqy75gc7wxsba0m"; - "CT18ZNLO_as_0124" = "18riha0fflfbsgh7nnc3ghm8cpzpcss0z6l48d28bbq0i7caqad7"; - "CT18ZNNLO" = "0zsqrpab6vgcinsxjq3rqdadig5flxzk61wc1aa9rwnkbpm1paa5"; - "CT18ZNNLO_as_0110" = "06qzlfshx8gwrhnmjfvz6sxq7h2is1dqvx5sz8jxrr1gl7gl92h9"; - "CT18ZNNLO_as_0111" = "08k101cn9x9y44zcpn6iql85qqx89rv7xjhvak4y6s309p9rlnzi"; - "CT18ZNNLO_as_0112" = "1c72mz93kha8mdfdcwj8fs8dqqylxmmc4vs7fjf9h7xbrqzmss7m"; - "CT18ZNNLO_as_0113" = "0z7s1kmlrv99r5mb6p1xwrydx0s896kr3va0ld3gq39a0f6bqvfz"; - "CT18ZNNLO_as_0114" = "0ir6n8i170czq7h3badim28540478cq5fb5vv4kdi0ncypsasr4d"; - "CT18ZNNLO_as_0115" = "0dncvhp99v5s9746ql37gdm65byih9ppg30c77k50i2485a1zfap"; - "CT18ZNNLO_as_0116" = "0qihfcsgxv66l781dmvmmpbr0s0c52s90jfmz5y52gyy1lplw569"; - "CT18ZNNLO_as_0117" = "0agqd4vgj53w9p7ghfkrskqyvg7lw5g9ilj0fid0jia8adfh58xp"; - "CT18ZNNLO_as_0118" = "07y1l00igx7d2yaj9gi60fvqz1p8f8z44fmxm84fpjikajabff5v"; - "CT18ZNNLO_as_0119" = "16nnwwj16c8fmqh5mwnihzvbgfj3cnvw01i1il1gr0g4zqpn0yhi"; - "CT18ZNNLO_as_0120" = "0yy0lxwm41aa727wdrq27l6ih7fdaqwiy4bkrbh0zrns0km9r958"; - "CT18ZNNLO_as_0121" = "0yg70dx2wi9wf5914shfqaf2j90dnkfnbp1pq2jzxd0h0sxhlphj"; - "CT18ZNNLO_as_0122" = "1bd4193ggv4nb48d0mw2n93ia30h4myfy197k9b0m3qc90xjq77z"; - "CT18ZNNLO_as_0123" = "0r2vri1brq0xcrpj0cg9hf9kwhkh2czmimrsg5bfvx35adiiis19"; - "CT18ZNNLO_as_0124" = "1wq0nz9jfb5fmzwnnh0xyra2j62kb5xpmh2nyy8ih4lvxhgi16mg"; - "EPPS16_B_90CL_Au_hess" = "0ab3pnv8fq45mdp29m6lfmrhhnr88k6qvkq6lwxmn17k39v8j9w4"; - "EPPS16_B_90CL_Pb_hess" = "1cjc79sygpxnir3qw9n6cdwvd3flfn11ajqs5y64svrpsqcx5ng0"; - "EPPS16_B_c_90CL_Au_hess" = "1ijvnglq4wrjhhvksyd60s7c6nv50vwyk5vd8c3gs0qr8yz1fk69"; - "EPPS16_B_c_90CL_Pb_hess" = "1347cqsfkim0xcds5imxmsdxh8x0h2n97x5zwpf035rbdk5mkr4n"; - "EPPS16_B_d_90CL_Au_hess" = "088jrj6xf1ph19sypa5dizllydfzi6ikxq2gisdlxpj1qnwjymsg"; - "EPPS16_B_d_90CL_Pb_hess" = "0x12r31l0nvqsc2ml1zkil0w1iji52xgbnxn3wss9pnmswrf3cah"; - "EPPS16_B_u_90CL_Au_hess" = "1pq7agglirpk2w566c1ql15ps1aglmnph2p2dfa535zlv89s7c0d"; - "EPPS16_B_u_90CL_Pb_hess" = "137jkcbikmcjaxp8rpr5j193cmr329mcvyy7j0s0a6ynglhpr76k"; - "EPPS16_D_90CL_Au_hess" = "01ggm0xxwd3nc95cjcf36sy0pdb0xvk6bkiaq328w2sfajccr5mk"; - "EPPS16_D_90CL_Pb_hess" = "1z3zam84m2kbs7zinn87xhlca90d5zwk8j72yj19nx3r92brnq8h"; - "EPPS16_D_c_90CL_Au_hess" = "18sviyvm3rm9n7x79w1sx8j9mcc6dnc2il8hsw2avjgy2aqmwj87"; - "EPPS16_D_c_90CL_Pb_hess" = "1ryv83iq1lrphgxvdsmh70j6iky993sax0s9cfrswpjyl2pcilq2"; - "EPPS16_D_d_90CL_Au_hess" = "15j6s9mj1ci9wjgsfhbxfikcyxc5pilv56cyzxjhgjhfgwvi1xyz"; - "EPPS16_D_d_90CL_Pb_hess" = "1qjyb57fhf6d3g7l48jcl6jizj2c5g63xahzanrmkm9r538hvhcc"; - "EPPS16_D_u_90CL_Au_hess" = "0jjk2rccvv0ngxn7wf33j21y72wvs4dhwl56yhmf7bfzd6v70rp2"; - "EPPS16_D_u_90CL_Pb_hess" = "09npz68wwvcsvd6h8lsgmlr19l0af4h4rppcd6jlwd88c2zpb3r3"; - "EPPS16_Jpsi_90CL_Au_hess" = "0msvkihdmhap0bbiydxbp552k1sgk20wadvc2s2h9jldakdx0pk9"; - "EPPS16_Jpsi_90CL_Pb_hess" = "13vc490k1769gbph3xn1lffj0ilvhz78by3lhw45lwkra4vx5zp4"; - "EPPS16_Jpsi_c_90CL_Au_hess" = "069lzrnm5kx56rblr4lxqvr014nrf2yyf1iw42s37q2xsxpjip87"; - "EPPS16_Jpsi_c_90CL_Pb_hess" = "1895iqzmcnaqkidcy96z4766wppycp1riwg9clg71cb404wz74as"; - "EPPS16_Jpsi_d_90CL_Au_hess" = "0ndh23dyaszam144dsdbg4281c61vai8avgi4y7x8kb0paha4icm"; - "EPPS16_Jpsi_d_90CL_Pb_hess" = "0xflijnwabg931z19v8c18dzh1lbqivkg94kpwm8j135ya1vpmm2"; - "EPPS16_Jpsi_u_90CL_Au_hess" = "1hagv9akwm337kq3kvkpkdkcpnic7klnigh9pyif1gm16i1q40jf"; - "EPPS16_Jpsi_u_90CL_Pb_hess" = "0dw68rky105lyaagkzkmfx6l9jk763m293m7s972jhnl5037bj74"; - "EPPS16nlo_CT14nlo_Ag108" = "1p7gckhv44h04rvknd6fdizy9c1jqfwic7ppf0ra14ic8wp1g7wg"; - "EPPS16nlo_CT14nlo_Al27" = "0hxyakfgknmixxndfj14i44afp5gcfz9afjvjdaj702sv42a7qa8"; - "EPPS16nlo_CT14nlo_Au197" = "1g272110y3a1fr6raxdfhagn68i0lcnwbdhiiqg4j6wb6v4m3p6i"; - "EPPS16nlo_CT14nlo_Be9" = "0zxsdmvz919ajwwb917613byshhpr876jcg9kik0pkz8c4ddr2z0"; - "EPPS16nlo_CT14nlo_C12" = "0mjmjk9n36aikhm8i6zwzfszyb5zcy1syn13vs2rm12x535j6dm5"; - "EPPS16nlo_CT14nlo_Ca40" = "18vd67splj75sjijfvhyq0q6068yr8l083sczamwpmy8z3l798ih"; - "EPPS16nlo_CT14nlo_Cu64" = "0g64gpc5cssmwl1sn7cl0ramsg2zfq7snr9bzr41q2dznbvqahgd"; - "EPPS16nlo_CT14nlo_Fe56" = "0dxfzpx99ha9g27bxx6xzxxh87va91qqwq6hnz1qsligjfx7q4yz"; - "EPPS16nlo_CT14nlo_He4" = "1ln5kz3270kyx6m3ji6q5xyp5a23f3kbwh9z9dmdwwsw7q9n8way"; - "EPPS16nlo_CT14nlo_Li6" = "04rviiml0rnym9qppsczcydw37r923ljx8hj63vv6dxng0g617qb"; - "EPPS16nlo_CT14nlo_Pb208" = "1b2zibpigdvvkg29zh7zm32jpdr2prm35jasafh17pfpwlfc55mb"; - "EPPS16nlo_CT14nlo_Pt195" = "14v1gicvm8i8z9d98rlv5rbhaglkbi9fhs3z465p4d764al6znnc"; - "EPPS16nlo_CT14nlo_Sn119" = "10nxn6rdp7svsrkdcdwxryjmirn1s871yj1w493adpfcy3chqw9k"; - "EPPS16nlo_CT14nlo_W184" = "1x8ndmkzmnl79vz1bgi9972190x03asvgnls6qiz746xl37q4ky7"; - "GKG18_DPDF_FitA_LO" = "0ql03hp30wfaw9gfyska0v5vf4p3n2dsxvkapjqnyfl01ad6vjw2"; - "GKG18_DPDF_FitA_NLO" = "0n9khzvhyxfwbl758vzy8jgyqkgcgl328m657vlami3w22hmpbrz"; - "GKG18_DPDF_FitB_LO" = "0s15ia8mcn00xl28rhdxjigpq0ai80a831366sx0w7qx44bb5n0p"; - "GKG18_DPDF_FitB_NLO" = "0qlv7p1fx3gq2cqrvamlpn6r54nssbk7rrx1znhfdzx3x9v1ii1q"; - "GRVPI0" = "0i5icsw9hf4jm25d0szxqc3r1131n417lv8b4gslg93xqj4ry1hf"; - "GRVPI1" = "05j3mcrb0sq4nzv7y0k68f2m3v8vnd13mzbhq43gjq712cbj126p"; - "H1PDF2017" = "10yfikq1mlw6bzhbvwblajicpqzhi06gl1aabhxr6mcf9vby4zw8"; - "HERAPDF15LO_EIG" = "12cqj3vqwi86sfgxkiwbd7rnpw1awnbqbc852b0x32d9j18nz9c2"; - "HERAPDF15NLO_ALPHAS" = "06yiid611zi5i9snqrkjr3g4z2n1gwkvqjs606ha0b4nrwlpnkhc"; - "HERAPDF15NLO_EIG" = "0h5brmk7w70dgbwhjikfpprni924c2f3kxsmxzcm2qlrlgj0nswd"; - "HERAPDF15NLO_VAR" = "049bfsgkcfnz4z7vzkl4vr6ivp9kvak2f07nmarm8q2wwd6pjjqy"; - "HERAPDF15NNLO_ALPHAS" = "09qf93b336yak3aqnfqlvz5j6xvvrsqkc4ag41xh4prpswj8fmrc"; - "HERAPDF15NNLO_EIG" = "1yf48sr7nak6lph2s1vd3s91mrw0da9kjxlvqzcg3n9j48l3f3r0"; - "HERAPDF15NNLO_VAR" = "0di4b75ag82iysyrv5wfvn8728jdi8mkq96ycpq534078ps2n3bd"; - "HERAPDF20_AG_NLO_EIG" = "0jr2s4dj5w9xwidrqbqi8af2dqycm4vr36qy3x5javllp4dn04cr"; - "HERAPDF20_AG_NNLO_EIG" = "11cdhjwz4qm2hxf8i5kl38ny4nbsrd2vf3jkwz17lrgls716wh00"; - "HERAPDF20_HiQ2_NLO_EIG" = "09wwkv8lk7gy14avvamk3sqdsvig2bvnzha5d4v5s2ln7g6g7vhq"; - "HERAPDF20_HiQ2_NLO_VAR" = "1cgprisw1bksi8nryqqsy6ac097ywxdgj5yg796izari7j72p4bh"; - "HERAPDF20_HiQ2_NNLO_EIG" = "05670fr76fx14gp4ywywz71scr6f25jk14i4k84gpcb2l6rnbv9g"; - "HERAPDF20_HiQ2_NNLO_VAR" = "15nxgq5hy6ncvqma6ai8k7601bfw97p0h9db2gqbbyyvxf2ldnc7"; - "HERAPDF20_Jets_NLO_EIG" = "1c2n2cn9l8x9jc8c4dh2whgz3378nnnvb3448cgpv0qfm589ygxy"; - "HERAPDF20_Jets_NLO_VAR_Duv" = "0z2pkmlpffy29x2bh0086m1ybbb94x507fkr4khmdb4d0h33ppdw"; - "HERAPDF20_Jets_NLO_VAR_fsdn" = "1ya4hbr3shjggpqi6h3g9j3jnbmmgrva2djbsaxgp7icii39yf1a"; - "HERAPDF20_Jets_NLO_VAR_fshdn" = "1sl2sq27xx40mj4zn00vc44k3vf1yxb7fwpqp0p3lqlp9gcwlycp"; - "HERAPDF20_Jets_NLO_VAR_fshup" = "0qs8g45s70d0l3g7xh0bqhk65ac9g003bjpacd9v97gzpm6jvr45"; - "HERAPDF20_Jets_NLO_VAR_fsup" = "17ix21qwjkp9gy9gvn3143d8ganzg9r78n6q47wdfxh12jzvgc7k"; - "HERAPDF20_Jets_NLO_VAR_haddn" = "15rbsdddm5ayg5r0gljxxcmrrvzhfdr44ky2d6a70wjr2g6lc5yc"; - "HERAPDF20_Jets_NLO_VAR_hadup" = "1x3rnr2hkcfglpmv732blziygzvdlw2rkks1ap9majnayh01vvfk"; - "HERAPDF20_Jets_NLO_VAR_mbdn" = "1fi0rp4gpqj7yjmv6b68ac7m8v4f9m4q9kd6nq4ndk2gp11i6799"; - "HERAPDF20_Jets_NLO_VAR_mbup" = "062dfx73lihlhndn5xjlsimfxalxbfhn1xyqzbk7bsqj9mffmwli"; - "HERAPDF20_Jets_NLO_VAR_mcdn" = "092hwkx9kliib8lf405sy9bvxg6xgydnsxl92yjqwyicajihhij4"; - "HERAPDF20_Jets_NLO_VAR_mcup" = "0qcirk0sqnkfyb3pdxlpkl51pbj2gybw7kgw9xzmj4j3jdg2zjqg"; - "HERAPDF20_Jets_NLO_VAR_q0dn" = "1xv319ai4pwy1mcy6i3wk3mp4nkdpjb2zcnz17gxvdx2l6z1bz5m"; - "HERAPDF20_Jets_NLO_VAR_q0up" = "0bfsqx23jsrjjsczl5j90hp3njvlwaw8mypj1si83mr1z0s9q4rx"; - "HERAPDF20_Jets_NLO_VAR_q2mdn" = "16qfw118c3lh91zsg2nb49xjynbd9w1rh4y5ybr35v38i4acpdab"; - "HERAPDF20_Jets_NLO_VAR_q2mup" = "1q80h7r0cklpz1jam3nzxs7h3i8jpgpc03l7c3g4mkz61ynh0ida"; - "HERAPDF20_LO_EIG" = "1r6ylwi2yszsk5dmw27734s0ghkvdawmqa6fik1k3j82d9s22mkl"; - "HERAPDF20_NLO_ALPHAS_110" = "0zmmg0k33bf52skbz42cgxdjw0ap33fyf0h1kfd9ciw4gra2rakn"; - "HERAPDF20_NLO_ALPHAS_111" = "1mlc33kfs4zlmn305hifjh2d85byvym1mzdj9bc3nlypv4zcszlf"; - "HERAPDF20_NLO_ALPHAS_112" = "0wswbdmkyv0a6fw531s1s7jnskzxsvwh9bydvgiav53pfpibsyx6"; - "HERAPDF20_NLO_ALPHAS_113" = "0qx7kh3cmqz59sm6vjcvi2hj5c7d816mc7jfhqr03hvavqcsla14"; - "HERAPDF20_NLO_ALPHAS_114" = "1n2434j9gvdz24h30sng8z5jmc9hhnm9nbr3hi82n6ssnwabsl97"; - "HERAPDF20_NLO_ALPHAS_115" = "05wk9glb6xpg5n689slihcfkdvm3kgwpxw8dxp4rp8zyvrsh6l6f"; - "HERAPDF20_NLO_ALPHAS_116" = "133vvg5bh1lx6zcacnaphkj11608wafim4rb6lcqx4mkpxabmzxa"; - "HERAPDF20_NLO_ALPHAS_117" = "18n1s7qqzf67lg8gphpm606dvz802i6xmlz5if5jdhjz8r3qklzf"; - "HERAPDF20_NLO_ALPHAS_118" = "07xj5j7k54bwi9xq51cf8zanqlkjcbdrvw9k8ch3h40bk961c5pz"; - "HERAPDF20_NLO_ALPHAS_119" = "0njyfp84kf51m9rw9z3d3figp23043p5ml7cdb45dvh9hbpssh40"; - "HERAPDF20_NLO_ALPHAS_120" = "02paa7bng9nycd8dd2zf2099592mbaz8c4a5hamcmvzqfz0sdy7d"; - "HERAPDF20_NLO_ALPHAS_121" = "07hmbvpm96pm5yp9bsx9aksznksh6k4qrw0k28bns0wjn75khxsl"; - "HERAPDF20_NLO_ALPHAS_122" = "1pjn3h1wr6l6sy7kjvk72qc409dr939z787q2qbaph7xh5rf7k2s"; - "HERAPDF20_NLO_ALPHAS_123" = "09hz6pw4nklwf94krna7g80659v9c2c0f5rf99mnx900xyhk7pxa"; - "HERAPDF20_NLO_ALPHAS_124" = "1d9gmc3g0j32kgwyfddmx9f3gxwrgnq3xcbrabdx9cw554ysd6sg"; - "HERAPDF20_NLO_ALPHAS_125" = "0mi2q9yhkcdpj7336kbs1vw4zvm8c9fryz0c7hdj246kj26rb0mv"; - "HERAPDF20_NLO_ALPHAS_126" = "067rng6gv24qf1j8lz37115mc42k8wjpzrfcw4jw2d1yg22ci0lb"; - "HERAPDF20_NLO_ALPHAS_127" = "0v3xcdr8wsradqf3bzayvvlsdjzr54qa2kbqb5pyvfi3rafrwrmi"; - "HERAPDF20_NLO_ALPHAS_128" = "0ywnd9c6bq5bp02s3b3pql8a74wm472p11alqi4b4pmlzphzk1ix"; - "HERAPDF20_NLO_ALPHAS_129" = "055ya2wxscbzp2w3zx2a5xgs94wl60bm6c2vxrs2rgnab72382j9"; - "HERAPDF20_NLO_ALPHAS_130" = "0k91azhwxrfni5yfasn83f67ma9w8fax2k1k9xc8pvgmbh3c14wi"; - "HERAPDF20_NLO_EIG" = "1ryamdwblj1ysbha672q2z9qai62h6cibb0laizfq2nq4j4ml3vz"; - "HERAPDF20_NLO_FF3A_EIG" = "1fs6ldnwflmn5ysqkq9aky2xskd0dvq372h48x89h4vmsvd302wn"; - "HERAPDF20_NLO_FF3A_VAR" = "0jd9wgrhchqjcjrkh5hjx7x8agm43jq5p8dmyvk0rniz9zybx64d"; - "HERAPDF20_NLO_FF3B_EIG" = "0r04zjfaaq686g3bd6c753vkcwsbgdcfzr67ngm7vsz27zscbjbz"; - "HERAPDF20_NLO_FF3B_VAR" = "12qrfld8958gvk9c2q8l0mvccx6wkrgnsiapgzl37s6s6zcgid10"; - "HERAPDF20_NLO_VAR" = "0q5ih9ac3z6n158h6q149h0ggkfjrdn5rqwf7nzi3j50fhs63swj"; - "HERAPDF20_NNLO_ALPHAS_110" = "1828i4ybdzs7zj62lzsifgshxdas81vjvhfg86ixry4xqkfprlfg"; - "HERAPDF20_NNLO_ALPHAS_111" = "011d1a900jjpa78ph05sdy353gfmrr8azpngcf0cjigcn4fwdna6"; - "HERAPDF20_NNLO_ALPHAS_112" = "0xb2bnigwlhs0vs3fwzsz66zidchwgs97kn6vjfhxnik8xdfkyb8"; - "HERAPDF20_NNLO_ALPHAS_113" = "13b8gh0qwpy574ra6184vgff3wba0blr44lxj56xrkaql9zi1jx1"; - "HERAPDF20_NNLO_ALPHAS_114" = "09n30p5pbw2wyjss2jjz1h4nl9scin42s91sxdcrwinnc3y5n1in"; - "HERAPDF20_NNLO_ALPHAS_115" = "0nlimqmfhx2ijx48ylciih5diwlsb5zzkli82rgnnxci3r4ycjq4"; - "HERAPDF20_NNLO_ALPHAS_116" = "0nr8svx60zrf42nxg74v0h759y9lwg54892xpdmswg7mw0nwcrm9"; - "HERAPDF20_NNLO_ALPHAS_117" = "0xiqdr2r5dyyp5q56b3w04wy3raqrh1mjsv1fm05xswxn2xwyhlq"; - "HERAPDF20_NNLO_ALPHAS_118" = "0d0w0f077g11s4clx1556y9xx5nn1dgm8zcp0bk92v4lapngf33c"; - "HERAPDF20_NNLO_ALPHAS_119" = "1w9nl0pnfc1cii4knmqdq4cnh6shhhgj8pg4a42bx20lvqc3aqgb"; - "HERAPDF20_NNLO_ALPHAS_120" = "1lksn0rcxq2scwpnps8dawlzijhvwbg0pn2is4r29igbqck2jvb3"; - "HERAPDF20_NNLO_ALPHAS_121" = "03d58rbibvgcvmsw86q3030qnw5nnvq8p6diqscd9srb8br06p8m"; - "HERAPDF20_NNLO_ALPHAS_122" = "0541yx5fcadw7rggpypd8kg393m5hwzsw5jangsmsrsby1rc2m4a"; - "HERAPDF20_NNLO_ALPHAS_123" = "1ckc8s04jf7x19xpwwb8g60likrlz3dp91qzaafljvbd9b27aa61"; - "HERAPDF20_NNLO_ALPHAS_124" = "13dx2wh0dhxsjjk6ak7wy1gr8g297dpc9xvkxvb5ayd0rzmhjlwb"; - "HERAPDF20_NNLO_ALPHAS_125" = "0yh6jakycsqhh4h6jqrilw1afmk1jkcq2px978z4qcz4y0m6bx4a"; - "HERAPDF20_NNLO_ALPHAS_126" = "0045sa1kl4w75ja6an38i2a3fi78q6xg22av536l9h1c8j82ql13"; - "HERAPDF20_NNLO_ALPHAS_127" = "1f5l9cy59dc3rc9xqrsq85g0mbhyaqkbpzi40f3gjg6bxjlgb4rx"; - "HERAPDF20_NNLO_ALPHAS_128" = "1c2pbd4zam5av582r777197638l6i5a0chmw9ci7l05lzm19nzmi"; - "HERAPDF20_NNLO_ALPHAS_129" = "1aipmxxn7s1r66m6gmrjgr2yca7sxvpf8r86s4a5j768akkgmlld"; - "HERAPDF20_NNLO_ALPHAS_130" = "1g2q3438bivd20i685jmx565cq108yv72vhxmpmhysh4qwvwpqqw"; - "HERAPDF20_NNLO_EIG" = "12zn49jx7qjr8apgpbhknzll4vwlz3x9y1ai908ix2h86pgap2ml"; - "HERAPDF20_NNLO_VAR" = "152h21khvkhxwx87c5lqwzpakmahcpj1ixw6kgl0wrrwjknvfgxn"; - "JAM19FF_kaon_nlo" = "05mcahzr0k5w0hqfbn902lmkwxlkbf8wrk6akpqnfsyqpbmhja5k"; - "JAM19FF_pion_nlo" = "06krcf0c9jbbpwf1rk1xd5z7rz904ji984xz05kv9p1j1vgk0ha0"; - "JAM19PDF_proton_nlo" = "1zrcijik60rci6km5d8pn8ivww8w3v8pb1m5dshqjs51lhf56ayp"; - "JAM20-SIDIS_FF_hadron_nlo" = "0bx3igckr2dszxskz5f952vl0q7kwvxgyb28yksjk75325dp2f9c"; - "JAM20-SIDIS_FF_kaon_nlo" = "060r6ah5843vm1r3rhjvlgp7w45z39cqgibfc2g2m1q7mwjqccjy"; - "JAM20-SIDIS_FF_pion_nlo" = "0fpkbl5fw76wgk8l599kf51mqa0fy92bq9ksfjfks0c4m6ah1g5i"; - "JAM20-SIDIS_PDF_proton_nlo" = "1g1g9n2ij58yzvgrw8g1f8jbqyhj9yvbvl9iqjxllkhkb2zbllpl"; - "JAM21PionPDFnlo" = "0zn7p9ny6072dkhsiaq64f2gdzpqbqc06d9a21rvvg3cgsba9jg3"; - "JAM21PionPDFnlo_pT" = "1wxpkk1wzx1z1kwxfj6kz14pxlckb96aqaq2fa4sf1a0ph1ibrc8"; - "JAM21PionPDFnlonll_cosine" = "0nbmdc0744kl6r7r9lfs20gffpjyxpcfpkp7f336fn1mcl89wggn"; - "JAM21PionPDFnlonll_double_Mellin" = "1n8fqar0dddc92054kg3pl1xlh6z7smm3glv5fvfxr933bxli5g8"; - "JAM21PionPDFnlonll_expansion" = "0dmmalgmp4xjwimyfx0sa8yafzzm0xzqk557qwkli3ramzwrwy8p"; - "JR14NLO08FF" = "16azkqxf1yw1j32ay6j01gf8n9n7qm56jh4yzgjag0zdhm01lbip"; - "JR14NLO08VF" = "1ilw38pp4vy8c8v1glfi4ixca73wjkdg3di1wh9p8xqrifdb096p"; - "JR14NNLO08FF" = "1w0pywmjb4xi7bsvv1mdd4q2adf1g7khspfbkphmlh8zipx29nxx"; - "JR14NNLO08VF" = "0kzszj1r141fcg9vbf53480224nxcc5wfk9zmpmzbmrxzi0w127r"; - "JR14NNLO20FF" = "0wc3qib90dpd1wgiymrn5lzwhqmh58ji2s92vpj2v9v4spws7pdq"; - "JR14NNLO20VF" = "18l4ipn80gmh9kdw7a1k49fwgbl7b1frgc0hsa04vbwnv6hm73hn"; - "LUXlep-NNPDF31_nlo_as_0118_luxqed" = "09ch6mjfn6rjsd31jfb59j92ngqiy0x19qamyxh0jwk0sbyr1dpw"; - "LUXqed17_plus_PDF4LHC15_nnlo_100" = "18y3pa6gjmcv2s21si9a5dvbq6xxqphbqz5qiy39c62g2zf8512c"; - "LUXqed17_plus_PDF4LHC15_nnlo_30" = "1bnwlxr8p4xmr36zd2flhqssil6w7jh50k46j0mxfnd8jgxgwn6n"; - "LUXqed_plus_PDF4LHC15_nnlo_100" = "08jzl4wcsrr9agycq1r5kd5bqxsx4b637nxk34s82vs7vwpq7qib"; - "MAPFF10NLOPIm" = "0w875dh5klqgggcr84g0g7qmh4q2xim8nrf0xdnfc665xww7v4my"; - "MAPFF10NLOPIp" = "1493k3p7b03sw0n7va60vqxcry2b3xgpww6fnk2gx8b4w1632yn2"; - "MAPFF10NLOPIsum" = "0x6sashkhg1hs7wy6fyln12s1f4yavvc90zv4k7rclbah4hr75wm"; - "METAv10LHC" = "1vn4wnx1blz6wylbzirswdqqf0knmyh1pcfh62wvj695mh7i0w16"; - "METAv10LHCH" = "1p4wy7m1ksz0r1fylwz3cbq7jl8s58v817n3d898l83ic2ghp4vj"; - "METAv10LHCHfull" = "1w623939fjdyx1316rxyaavf6kmxff19himr00br57jrw3v49nfg"; - "METAv10LHCas0116" = "0y1l6djkmx8zcsii9j9krwhvgh071a9y5d4m1rkqpbqf6dnq9kll"; - "METAv10LHCas0120" = "1g1izkf3j0vdrjskbjzh8lzsdn1bqssidr0gsapyzlx0dzc2ixdp"; - "MMHT2014lo68cl" = "03wrjv448zdqblv4zx5b2p4m0nj8h4igabh8pzskj0327w7g91lm"; - "MMHT2014lo_asmzsmallrange" = "16ki4aib5dslb7lx6w9nzx18nh0sgh41zbiw4hszf2qxn3asdyhz"; - "MMHT2014nlo68cl" = "039zw5zrzm661bgjv7d0imzhfv3j3ixnrssi13ynfpin9v2izy6g"; - "MMHT2014nlo68cl_nf3" = "0bjmng4ifdswi88kf59zzxpdq8ka80m01208nb2ij3dkpw0n5hnf"; - "MMHT2014nlo68cl_nf4" = "01g0bbfwxaqhgpv0yz17fvwa4q1a1vh9867kp9fyavn600kd91ds"; - "MMHT2014nlo68cl_nf4as5" = "1wdrk7b1hs6s8f2gxp7b3c1qrxvncs41h4aph1dhf8zffn3653yy"; - "MMHT2014nlo68clas118" = "1nv7h2j31z061mgph5154qgxn8rl5sdgwzzs3d3clxfshh5gcccn"; - "MMHT2014nlo68clas118_nf3" = "1d7k0vablssy1vfimsvxdiklaachw44lg37fgj1im52k81qxzd3n"; - "MMHT2014nlo68clas118_nf4" = "1s8gv434b4mz6y5rv4kms69ghliafcmih09icj4qwk66hj7pn5lj"; - "MMHT2014nlo68clas118_nf4as5" = "00zvf9zkrp9lk9psqvzsn04l1rw1xmq37bd2c8mqc2px3zdq9q0f"; - "MMHT2014nlo_asmzlargerange" = "186jz5r74qas28x04daqkxhs5p31i68hhy8a7q6lzd5nh42x6kk0"; - "MMHT2014nlo_asmzsmallrange" = "1x347h5g8d2k73wg6naj6zs7m2glankiwjgzy0gmmrnz3pyryq6x"; - "MMHT2014nlo_asmzsmallrange_nf3" = "0ckw5971pwvvix8idw2m6j7w6bjivqpa1ynm6ml0bhc75cmm6l4i"; - "MMHT2014nlo_asmzsmallrange_nf4" = "1asnk3pl3dw1sh76k0s95jb57cv5k90zjgpbkr3nnrbhvnkizl5a"; - "MMHT2014nlo_mbrange_nf3" = "0bghvriw01jxmzcm9isz7in43ph7vz6zzr0rmmi81snrwvg8918h"; - "MMHT2014nlo_mbrange_nf4" = "1gad7269hz4jj3946yyqzmcx3zyxx2p4r0h88x3lfrm0rd0fg00d"; - "MMHT2014nlo_mbrange_nf5" = "03id7bfds16kbnd0nwjla8sn4pl3q3qa5v0a3pykdwj14k9igi3n"; - "MMHT2014nlo_mcrange_nf3" = "1zfmdclsgwf6517v88zg34wby40606sspcghh4yahc2bbznd6a63"; - "MMHT2014nlo_mcrange_nf4" = "0hzhkv81a0z3ichj5kfhwnhc720xw48h63llijl0pcfv8qqpvl19"; - "MMHT2014nlo_mcrange_nf5" = "148hg5dc60yhfmwsm0svasxc7l1py6ggj7lzv0mrshl07rwfh62a"; - "MMHT2014nloas118_mbrange_nf3" = "03w1wish6ig3mw9j195rakxsjr7gr46qz8dh009sigqcgp3s9fad"; - "MMHT2014nloas118_mbrange_nf4" = "1lbj3r1bbxx2y1ybnxpd0cw7jzkdz0rb1grn1pmwmrl0l13s7j59"; - "MMHT2014nloas118_mbrange_nf5" = "12q0gkqzhxqwrvy8lpg66ldsxnwr8id6jv6k4dj6f0p93qif5wr8"; - "MMHT2014nloas118_mcrange_nf3" = "093yh7wa3p4028x5zxw15pwkrkjxzfl7kcdm7jqlf08zwm52clyx"; - "MMHT2014nloas118_mcrange_nf4" = "0q0y77i0fgdvjk9y76kqzxpn22jbzsh64qbx8186ri9fqzfi868i"; - "MMHT2014nloas118_mcrange_nf5" = "187wsfm49ack0jh9rwy5h29b1511b17myqn28bm6nbn7r4rfvnkz"; - "MMHT2014nnlo68cl" = "0sss77zwv94vcy4ghv6493vbw08xwm264dk081w34jc4ifa0vg90"; - "MMHT2014nnlo68cl_nf3" = "06paq3nzs87babpksabnkqi38gvvyfvpqlh8p18140zrdpdffaj2"; - "MMHT2014nnlo68cl_nf4" = "0lbqpdy66v3ns6ax9vj1ix4wjn2pwlw5y1z26hlbrxz3l8hbizg1"; - "MMHT2014nnlo68cl_nf4as5" = "1bh5nsral3lrlqq6afvq9ahkfmhfw3mq0m0qcvsx4ma5jx5rv7dv"; - "MMHT2014nnlo_asmzlargerange" = "00l2jqccsl3jfwdj7lndr4b5cpx44krjvnm3h0hjw6hkv4irxb5s"; - "MMHT2014nnlo_asmzsmallrange" = "1x36pv9nhj74whibb16bc414ypcks6nd1s7q1jc0fb7ndf5rijy6"; - "MMHT2014nnlo_asmzsmallrange_nf3" = "0svpc51n25cbz2b43zbd60bfckrlz3q2jn3x668xnha9qsd3c2vq"; - "MMHT2014nnlo_asmzsmallrange_nf4" = "15jggp2nbm828nprxyyinmp7kfxngpm0apg446hvwd8hg7blb1a4"; - "MMHT2014nnlo_mbrange_nf3" = "0r9gi5cw76zn0lq3fcs7s2xxh6jl9y5vdv31bhv6mac9jmhjb458"; - "MMHT2014nnlo_mbrange_nf4" = "190wva3k49mymflbm1v5xd449j38jm7ylfcdiflym8pgkdvwcgyl"; - "MMHT2014nnlo_mbrange_nf5" = "19mnv9nz01lmbiv01qmflhg24kldhqpmcc8mgp7bnkhicgivb5ib"; - "MMHT2014nnlo_mcrange_nf3" = "0zskxladqr40v6wqafbl1pl04vq43babqf437c4xxg4sz9435l3l"; - "MMHT2014nnlo_mcrange_nf4" = "0sny8r9zap8gnjh9id1klr59d9hs0bb40pf8hpy8q5pg6052vx3q"; - "MMHT2014nnlo_mcrange_nf5" = "1l340c1x4fz647bhybrvbb6z00mla81b78jfqpnwd4vwfxnqmq9y"; - "MMHT2015qed_nlo" = "130fmxnaashvwwaaiz5b787ldz8l78ar5h2h038xvisdjkxvdqni"; - "MMHT2015qed_nlo_elastic" = "1whplgg2s55wjii1hd32hzd5wsqbgvjjbnfw4fzjmnx4vwn63n2j"; - "MMHT2015qed_nlo_inelastic" = "1b24flby6n9q2cg4haldmjs8ql35lhlw0bgynwja1v2n0fbf550y"; - "MMHT2015qed_nnlo" = "1ypqiz0yz6hnxfml7ym83k4qqvqsbl39abbr38galns8xzzpi03m"; - "MMHT2015qed_nnlo_elastic" = "17in1cz5j7mm9qjk8i27fif6x276lcqmccl7kfz8a5yn73xxzja4"; - "MMHT2015qed_nnlo_inelastic" = "1ngk4p7w8l8b8sfg6hlm8ypxz97i1iwzlrc48szy7bi99kn8rmy1"; - "MRST2004qed_neutron" = "12vna0ic6gh313k22b44b0k9kd939v7zjl2hj65k1075j23mq425"; - "MRST2004qed_proton" = "10z0cr8pnr0lfxxi916naiz381a2cqn461jblfzvvddwqmqbllbc"; - "MRST2007lomod" = "13ar6hzw9al20zlm8lg0hvwmgrmv0dbam820gm36rj8p7i33qlr6"; - "MRSTMCal" = "0kbyp4rypw8jm28zfpvf0grvfvxmsrp3grwsmfxpa2c38x6la3rq"; - "MSHT20lo_as130" = "0ivjvqabk9jnrlrczjlqywmijx5ql8wy579j77qkl1vhv7sqccm1"; - "MSHT20nlo_as118" = "1qwbwcq8p4hrprz4ib18mp5142b0lbyyzc1bf5a4iq5jjvi5qm93"; - "MSHT20nlo_as120" = "10y1a6iryahrafzdqskypjrnad6xxq08gm72pa9yc61xdy6andc6"; - "MSHT20nlo_as120_mbrange_nf3" = "0548pw6lkwwqhlrg7c4cyqh76bcyz78yh06fs7crdbx7hfl47cj7"; - "MSHT20nlo_as120_mbrange_nf4" = "0pg49mad4845llj49a1piaggd8wpwb2s4ar7jydlhrv7im886by4"; - "MSHT20nlo_as120_mbrange_nf5" = "0148agm89p7pwzdfjk8gjdaicll30xhz6sawca632kp5qwyd4g3d"; - "MSHT20nlo_as120_mcrange_nf3" = "187hgg8klk5jhcadiy8viyrfi0jfb3i18jckv6d7nsapixz1wgkz"; - "MSHT20nlo_as120_mcrange_nf4" = "12pjy0igjcsih100g238v143kq5cjjm5a13cghcipgcz2w4ldglf"; - "MSHT20nlo_as120_mcrange_nf5" = "00mipn9ndnw1k4nx6pmxb95wddmh98hg9k0317vlirxrf2n2jy7g"; - "MSHT20nlo_as120_nf3" = "1zy0j9qc28xpav3gx24r6r02zfz49r11ic66hkyq83d3q3fj751b"; - "MSHT20nlo_as120_nf4" = "0fpyf9s9ppb6w49chsmb2xfp9gwkx3ky9v8gwwqxli9fpzsc2ywn"; - "MSHT20nlo_as_largerange" = "1f57dvxas2c6qnv38ysnsyf0y8imafnrxkcqh3b0an19mkln5mmg"; - "MSHT20nlo_as_smallrange" = "1rygvj33g84whl24kgpqa47g11c48l93jlnpzqq8f5zr1ijqcq7i"; - "MSHT20nlo_as_smallrange_nf3" = "1d6cr1akc25mwfyghvn1986i60l76fxb8fd02h7f4pl4lmnn6i8n"; - "MSHT20nlo_as_smallrange_nf4" = "08js1l5g6knjx3813i0rf34xfjkbn3mdsrbawzkn00vf49xzcxdj"; - "MSHT20nlo_mbrange_nf3" = "1bwl4inshg5h3sslss4lgvcqahb5q0n794ag73hyacxd1kmx7d2z"; - "MSHT20nlo_mbrange_nf4" = "1sm995pzzr601wcs4rjgjs6alm74vc23szgmkqa5dvxghw7x8w55"; - "MSHT20nlo_mbrange_nf5" = "1sal7iqma7770593ifxypl9zapvba693asc8m2fjsbgpbfjjid60"; - "MSHT20nlo_mcrange_nf3" = "0lmv6m8m7zv0s8kjfm8parr9xlfy39dhwxn71z33f5x6cyp08zlg"; - "MSHT20nlo_mcrange_nf4" = "0875zfv0dws8n44fqawa1jp5p8b9vky8yyq48wijhrcph8qbxbrx"; - "MSHT20nlo_mcrange_nf5" = "0qjvam29zwibx54fgijry58vdwqkiwyavdwn736bmckjycncnv8p"; - "MSHT20nlo_nf3" = "1v0mzsa2sxp0g3m3d8yqcs7dgi74am6cpx79f341ahpwybz5x829"; - "MSHT20nlo_nf4" = "1lyii55adqaah6sm8b778q8scaq5yjycq3s8jdi3k48z8m23zqng"; - "MSHT20nnlo_as118" = "1yz0003ixjg97974648qba5d37vb4fhzzmq4k9xh4c37pnc3kgyn"; - "MSHT20nnlo_as_largerange" = "014a9x6zsw3w7b6w3v6lg8qxdjicxslr79bnagi6ci0skqs2v7z9"; - "MSHT20nnlo_as_smallrange" = "1bv7cbdynp6dm5c9v7r32gqy1lch4428apw426pr0d7xpm0abnxv"; - "MSHT20nnlo_as_smallrange_nf3" = "0n1j9dd069qdmgmd85m7wp29g96cnbgsdxrvlh6y51q063lkqbwb"; - "MSHT20nnlo_as_smallrange_nf4" = "1jkdl3rd933czz753qbi7yvszg376r6bvwq2inqbslnzfkfav5bh"; - "MSHT20nnlo_mbrange_nf3" = "095zcxhpfhlsb67ki4j6a8z4d1r5hzx92xlzprwkwd4v5ya4f732"; - "MSHT20nnlo_mbrange_nf4" = "1114z5a0pk9svps918zifff23difxf37rbmr3jnzxnyp1vfgzws7"; - "MSHT20nnlo_mbrange_nf5" = "12i6m01bmnzqadi6jg5gmah1jliq4wr4p0vpjgmpgyagsk4drx4b"; - "MSHT20nnlo_mcrange_nf3" = "01wq537083dr9ibiahwdwdaxj0j2ys211m478w9wgvihdjjvjvvv"; - "MSHT20nnlo_mcrange_nf4" = "04abrnlnbr94lksn29w9ws9a3b6sqkqvi9awmbk4715dxk2amnpk"; - "MSHT20nnlo_mcrange_nf5" = "0za255xi66a1mfch2b91qqmsr305m0kvs4rzvqlzf7k0v141j90y"; - "MSHT20nnlo_nf3" = "10yx59r32q4rl0yn4gpc29z8xskbvizkdr7k219qf16lnv892jpa"; - "MSHT20nnlo_nf4" = "17d10rba8b0aqi1npnx93j1995has5sw2l4izd6lly3yhjynbgp6"; - "MSHT20qed_nnlo" = "05c2hjgysyvkcyqg1lq3y00hqixgc8w984zivxkr76nj5csyf6m3"; - "MSHT20qed_nnlo_elastic" = "0in0y27gn4k9h6ya77krhizv8rg3i6s3d6h4bk0fhz91hbi4l3gh"; - "MSHT20qed_nnlo_inelastic" = "0vna0gbadf92w3xngb8gnsxd3lil8m029as8260wlki2axm4gqlw"; - "MSHT20qed_nnlo_neutron" = "1hiq7m8j7736477vfs18mqwhkxyvjmcrs7jiqysa8v6rmhb4bali"; - "MSHT20qed_nnlo_neutron_elastic" = "06dbvsysszpbvabgafb569vq88q1sm9mvz1iwv1m2b9vzin2ixiy"; - "MSHT20qed_nnlo_neutron_inelastic" = "0gfh6nhl4vq4qz1jhnv5vhhz4h4wlkwgj4ffjqll6jqa5anfhbqr"; - "MSTW2008CPdeutnlo68cl" = "1x2y7hl8ckplx175bp3wi04xafm44dd7vzfgnmvvai1x0072xi51"; - "MSTW2008CPdeutnnlo68cl" = "1szsdqjkmny30mpw4pdzi97vj7i55agxm285dvnkzp06ycgp1ld3"; - "MSTW2008lo68cl" = "0j12mv286r4ds9v7piqh4n44yjnc51hm74lqa4vv5xznxhibng7l"; - "MSTW2008lo68cl_nf3" = "1s5z55b2aj37bx0p305lcgrdclgvyl99xgfrl0rhmdgr2byg33wi"; - "MSTW2008lo68cl_nf4" = "0m539ihcz3dxy4gpfbam5badhhsimywlbgnczbybph8yn1118j9r"; - "MSTW2008lo68cl_nf4as5" = "0vl1q7xnr425sscbk4djqi56jbpzpi8l3z2nknfqiy3l7ykg23ng"; - "MSTW2008lo90cl" = "0af5j0s1i8yn0mjs4nb77migihw643lhd7dfl184v6wik3031yg3"; - "MSTW2008lo90cl_nf3" = "1a6kc1lgswjk800jzcqlbpwzz4rs3g6agckhnlr8cizmp9p7risk"; - "MSTW2008lo90cl_nf4" = "1bdjl58gslhw539650qwi7vbvsr22hpxpca17rkbqz9szh0ljhym"; - "MSTW2008lo90cl_nf4as5" = "1crsm7dfcs0fn1i2ng18wy23z2ap01xr2rsnafqlra0q135m6hfp"; - "MSTW2008nlo68cl" = "0pdvb5nshjjw7ddmdmj1v88m3jlk3vwfnab0pf2kf8hfx10hbv4q"; - "MSTW2008nlo68cl_asmz+68cl" = "0gwmxs0f7raxvmpn12zavzqsrp3x0a82y1vq2kf9p9fq17in55yn"; - "MSTW2008nlo68cl_asmz+68clhalf" = "1rmda4zpm6cs9kyxkhwpz38iv6g259156bmka4dc4zyfg1lcw85d"; - "MSTW2008nlo68cl_asmz-68cl" = "15mmdnd3wwlrs5pwwhfa9f88vjpgza8vwxwxpyadxsmhx9jk79hy"; - "MSTW2008nlo68cl_asmz-68clhalf" = "0dd7llc6ip6myy2yvf16riqs334f20l8wkmkksq53xngmz9qf263"; - "MSTW2008nlo68cl_nf3" = "1j82imyylvnf3x39x1mb19hhp2nbcq2lk82hf7sj72c557l3qpjk"; - "MSTW2008nlo68cl_nf4" = "08f008by768c8v3cmrsbgxpglqdj58nwwf22dmk2mbf2jq449s0n"; - "MSTW2008nlo68cl_nf4as5" = "0hrqmmnp20vpj6dpz3bvm531i0pvl06als8irqz91cknv6zsvxf9"; - "MSTW2008nlo90cl" = "1d3p4cialrngci9kn7225zcmyrr547dskzi74dfgdhbqc0256a2r"; - "MSTW2008nlo90cl_asmz+90cl" = "19cd358yqklc8bxv0mg69cq3sf6zah7di0q9ilfqbiddmw1flw3p"; - "MSTW2008nlo90cl_asmz+90clhalf" = "0ngn8f149agvmc54nrxjxqa0rifbd8a1hbcgpa443l75bmd9sqcp"; - "MSTW2008nlo90cl_asmz-90cl" = "0fnqj7ywnp9nz5733ggjwmhxpy15zs2xgxjz7ixmql5mmaz3sxb6"; - "MSTW2008nlo90cl_asmz-90clhalf" = "1jrp9q8li7a4bwhgh7q9h9zc0sdhck957zn14q9ca9kjsflyb9f5"; - "MSTW2008nlo90cl_nf3" = "02ihabrcgp474wkq4w2fshpiqdznjaxyg5vawv52yj6hxifyy5a9"; - "MSTW2008nlo90cl_nf4" = "1wrdl79qy8mimqk48705f3sd651zy130k1dmvvzwvdsjd9y8q58w"; - "MSTW2008nlo90cl_nf4as5" = "18d1pvijcyfxkipmd2v2zrkxdbhxygkcyn3p8vz0vzq5q7s1s7r2"; - "MSTW2008nlo_asmzrange" = "161364fvc8w8ggad58r1c58b0kngqa1bjpabaqi5cigmzazj3rl8"; - "MSTW2008nlo_mbrange" = "1b7z4mm3f8wjjbxb8hs8l7kclh1yfz5yffzdsch2i09c7wh79616"; - "MSTW2008nlo_mbrange_nf4" = "02s7ljzwamsha87i6nsd4kdfb9ky4k6m8xpqa1iz9wgrcy4pmw5p"; - "MSTW2008nlo_mcrange" = "1bndxfi27r8k0m4r26bfsflbbrjc4s2vp5ixy7qidkw33g6mqh96"; - "MSTW2008nlo_mcrange_fixasmz" = "10s2sfhdx5668cffwb0sbh5m54zq0inmpfnhkj0zk9ij4f5y815f"; - "MSTW2008nlo_mcrange_fixasmz_nf3" = "0zwnicbmmqbak5sw92njpmvxpjnnhwl1ggvlj8q39hn5w5kdy1kq"; - "MSTW2008nlo_mcrange_nf3" = "01mlzqwk30glr95g7n2y3yvvy7s6mkbdb5cqwl1m7k8d6m18n49g"; - "MSTW2008nnlo68cl" = "0y6lv1wkhydfnlakjrrrjapxaapa0bcbmfx0w9c4psgy156kv1fv"; - "MSTW2008nnlo68cl_asmz+68cl" = "0fhkbkshrc29kz0fc9vi2dqsg6irjm4sfw4sp0s4wkj766wg19nz"; - "MSTW2008nnlo68cl_asmz+68clhalf" = "1z0fplsv1fij4fgrz7npr34hcmc2qkf7g398bq1smvb6b2qy5jb8"; - "MSTW2008nnlo68cl_asmz-68cl" = "1qhjhdzpy67665ccwv0n3g7jlyb2vfk60cphjr0jb1adgv9fxa7q"; - "MSTW2008nnlo68cl_asmz-68clhalf" = "0rlsis3r7l32jdiq2yhx1mz7q6qlzlsrarljvrmxf0g0g2d8nr4c"; - "MSTW2008nnlo68cl_nf3" = "07nrz7afd1mcsqc3lqv9vk2phs1nfxdl63qh1bc0g7nznxwmmn97"; - "MSTW2008nnlo68cl_nf4" = "1kd62hzk2p3q56kj79bs101arp55ajlyhwwa3vq3yp37i3ynz9ds"; - "MSTW2008nnlo68cl_nf4as5" = "0x19rq5k9c97vzskqppf4k0fjahwiw2c1nb6iy5c2fq8mj1pz2gj"; - "MSTW2008nnlo90cl" = "13xqlfys37b8chinah2yqmzd0clzli06p7vjk30ha22wgwm02dq3"; - "MSTW2008nnlo90cl_asmz+90cl" = "0pd6imc3hvq7vgyv1db9y8rvpgz4ffwqv6rqzp27c7ipxg0wjyz0"; - "MSTW2008nnlo90cl_asmz+90clhalf" = "1xn52ppixjg22ybd8ggf0azb3zg5zyilqjss033g0k9crq4a6y2v"; - "MSTW2008nnlo90cl_asmz-90cl" = "10wxgh52zs0fp0bwd0b6csnz9x6mvp45gvjhk0y1dhgfwbcvw9y9"; - "MSTW2008nnlo90cl_asmz-90clhalf" = "1kmvp1yfgsx4jhsjc4drg82cq4xs6as4grwrymfkrqnvhcg86vap"; - "MSTW2008nnlo90cl_nf3" = "0vw0cmszwp49fsskacccl921za88cl5cfy0sqckgxzs4hx21x43n"; - "MSTW2008nnlo90cl_nf4" = "1b3fy8mfclgsmvpyzfs34fjry6djmkjcjppdxni1ipjyp1bcaia3"; - "MSTW2008nnlo90cl_nf4as5" = "05phi752spikwq74i0hfid7lsqi51hdvwxm520kdmbdz2pblbz4f"; - "MSTW2008nnlo_asmzrange" = "1nj68qhvlsqi7299d9rrsmq7pr6bdil4gzr6yla2cgn4wwiggdwn"; - "MSTW2008nnlo_mbrange" = "0jnmy4i593wz80lbm0r0cwdj9xw496p3in0lq8ksr4yjwz0agpbk"; - "MSTW2008nnlo_mbrange_nf4" = "0lw3p4q0ixj7plcmwqh43lfgv1i7ljar3f3k1v6f0imyvz8swfgr"; - "MSTW2008nnlo_mcrange" = "17v549iq2wn5zvxfdvq8pf5f7zvgnpa72i6gxvxzfqwkji7mv522"; - "MSTW2008nnlo_mcrange_fixasmz" = "05c8z2q2866550clx2mwb1jvhpn0agkyg82vvrswi3h4hgkvlfjx"; - "MSTW2008nnlo_mcrange_fixasmz_nf3" = "0r86xsl1wfphwdj2hhlilkwc2949m7bcn42dms14g7w45i24g6id"; - "MSTW2008nnlo_mcrange_nf3" = "1c9lsggncwghvw9mgd18h50ljrnlpp1p5r2zlzf8z3g8i4f3aaih"; - "NNFF10_KAm_lo" = "19wn44svz61lhk33kzc6id18w6qbkw4bfnwncar19phrjjp965v6"; - "NNFF10_KAm_nlo" = "191db9pj5yspiqc7598r147j9wvfc4s6cm0q805m5vmzpfg2cgr6"; - "NNFF10_KAm_nnlo" = "1hm8vhk1p31zdn72bgcyyq0w5qii1ba0cf81wjlbhwv4fadfd4sy"; - "NNFF10_KAp_lo" = "13yas11c7xxij45zrd3r6njjvx33kn9lg8i28ki0y4nw6ss21w3b"; - "NNFF10_KAp_nlo" = "1jza83klbcb3j2pcg2xhgj2imh4llb6hsfkbfj294q0isqypgzsv"; - "NNFF10_KAp_nnlo" = "0xwl34a31ajxwlgx6bhzzyf9b2xiq7bpv51p4zi6k1xihs91vwzc"; - "NNFF10_KAsum_lo" = "128cj81qp09hn99dnkm9q06wf2dr7xjq9qmwvrmdizrd8cwfa4l1"; - "NNFF10_KAsum_nlo" = "19pglfl1i5qg8sj3hg0qnhr1f66isfbrv7f901hnxniibbdjxib2"; - "NNFF10_KAsum_nnlo" = "1769ybc49a94appmiw0bbn3kkvcpw82sggxgvvda5jq9m36m9yzb"; - "NNFF10_PIm_lo" = "095xl0cs6p5z44hydfa963ylxvzqxdwwj1n8jn7n0c48rwssx357"; - "NNFF10_PIm_nlo" = "1fn8863092fn4aqacprbsdxlgz27q6pam08pccwq9ps0dwjn7cc5"; - "NNFF10_PIm_nnlo" = "0j4p50k821pphy8i6s73h3c29d7jb3bp5s4l8rl3bfb0nfx4p6hq"; - "NNFF10_PIp_lo" = "0hhw2ympx1a8d3sl953k27yzww0j2f5m9b865gv1ybb3l9ccv1i6"; - "NNFF10_PIp_nlo" = "18k3s7i1xvh8717n5cdllbb6zs8svh2bkw0k2zf4ql5ijiypvc10"; - "NNFF10_PIp_nnlo" = "16mywhpc3439dpk2c1i6gxrv9khyyg0kl4gsc41qyi3r4d7k6n2c"; - "NNFF10_PIsum_lo" = "1yh3hxfmgzgpwqidmzlc189syjbsj4vyswc4kch7yykxw4dqf6sa"; - "NNFF10_PIsum_nlo" = "12rgg0nc9rjvwfpf0y9kl1w9814a4pv4b17p46h8qm6kfyqqwjia"; - "NNFF10_PIsum_nnlo" = "19iz4q31apgm2il9478c7zmmc6kgz2wyp84qja761jvyl6z0img5"; - "NNFF10_PRm_lo" = "0c5pavhf5flx2nmld2dprgp1lsbvsrjw5mqdzvgkks7ibvq0ap5j"; - "NNFF10_PRm_nlo" = "0nfwhp9hacnm95w2qa5hvmfwaj7drc0w7lxqw1lrdp074bpd0ma3"; - "NNFF10_PRm_nnlo" = "084dz4xxmydf71vkhcrmj03jkwyj56jxvmbzm22mdh2dxmkz3l1g"; - "NNFF10_PRp_lo" = "014m0vjzrr4rbi84qxzmrym07kc4wax29fs66mfxkmrimxpb9l21"; - "NNFF10_PRp_nlo" = "0lrzw2618kgk7vsksbr1qxqc4h9lza573bz6208hwdgkmh7awasc"; - "NNFF10_PRp_nnlo" = "0bv07hh5rxvqw58jcam3piiiy19w325nrwivrifyv5wii8sybz8r"; - "NNFF10_PRsum_lo" = "1a9m77rl49wzzgdkr6x618bzcm2p50f915bbggknx5xjw550dqd1"; - "NNFF10_PRsum_nlo" = "1qambqywda7lvvkd6kx2r1g60v6lnqcamdd51396id33fvw3k45h"; - "NNFF10_PRsum_nnlo" = "1kijaxw6v1w33q6l89raz7ic59zcmd3nx5djp83lyg134a15crmw"; - "NNFF11_HadronSum_nlo" = "1n9fb71kl7y8rp1smyal28wdvdx1b410mhqkxmavnr1fs85hkh85"; - "NNPDF21_lo_as_0119_100" = "19qw2hp1yk82qgcrpx8wp2fg8wklaj6rr653m6mndhhr0aa0w80v"; - "NNPDF21_lo_as_0130_100" = "0p5cw77dg5pkhl3d0y6r3k8vhw4m467wf3gd8kp2l5vcbdwb4izv"; - "NNPDF21_lostar_as_0119_100" = "0i23axf0xl11nb2dn6p34bnm1xfisnn3a82db9dz863n60gqb5x4"; - "NNPDF21_lostar_as_0130_100" = "1aka01747071l53jx4v7rgmfj5danzjillbwincgi1b28mw78yhq"; - "NNPDF23_lo_as_0119_qed" = "02d85an11mr66yg3vi5fq4919ymbrh9h8b8qzzzm9dvfarzmbwxi"; - "NNPDF23_lo_as_0130_qed" = "0qsxxw3nds42924xqnhs56wmd8ihmrip28glj47q9r9i3kgw3lv0"; - "NNPDF23_nlo_FFN_NF4_as_0116" = "1d5wccg8l5xmdr8pvks6851zxrlgq1rk2y5dgp10k6r108059rgn"; - "NNPDF23_nlo_FFN_NF4_as_0116_mc" = "1sc13cqah6di97fmlnb6qw454jyrp0i9jv2pfxvi8ix2vzd6km00"; - "NNPDF23_nlo_FFN_NF4_as_0117" = "1gkzb46fnf9k97fgbbxljdnklffwnxmg58z01x55iklq4sn2aww3"; - "NNPDF23_nlo_FFN_NF4_as_0117_mc" = "0nc3fx9ggqybymw5kglwq3kmznc9hm28sp58gs1l4gwx3xiy0bj6"; - "NNPDF23_nlo_FFN_NF4_as_0118" = "1zlcqh0nfy8yf2cnzs0iy615nbmhpa2zh4carvifcqd4lv4azkp6"; - "NNPDF23_nlo_FFN_NF4_as_0118_mc" = "0518z8jakc9r74kzanraf2n8haminfipp2rvr1288ymhsl5bxyp0"; - "NNPDF23_nlo_FFN_NF4_as_0119" = "1k5mcql2411020m6vq26ck8ig3q01j79ndjgci2biq743m8nlvm2"; - "NNPDF23_nlo_FFN_NF4_as_0119_mc" = "06yv9mwgvhag5442581r7by3nsxcy7c76llgaalphbzszqr2vy0p"; - "NNPDF23_nlo_FFN_NF4_as_0120" = "1m97g47p44vq3izjji6agwmj2fwdvgddzy8w40mqqbr9fk19lbyi"; - "NNPDF23_nlo_FFN_NF4_as_0120_mc" = "0bjllckv61jc1y6f8c1gqdh36r15glqn8fqp99q0kckaxyszy5vw"; - "NNPDF23_nlo_FFN_NF5_as_0116" = "0x4kjj791hkwng4l5dvch8z0ig1nkliirlz9mkv02g54qrilnkmy"; - "NNPDF23_nlo_FFN_NF5_as_0116_mc" = "055clf0m8l8gnby2lgwh4wkyqciskwp54y34vb1kwfbhdf71zmnj"; - "NNPDF23_nlo_FFN_NF5_as_0117" = "1cplvrizlsjcixsjzlm2drssbjsrzj9bvq0k5mnv79r3p1xdp997"; - "NNPDF23_nlo_FFN_NF5_as_0117_mc" = "17nic3kw991dbrhyjyxpk0zzv8rjh0r0whd6nl8v6wsf5q5h0ny2"; - "NNPDF23_nlo_FFN_NF5_as_0118" = "07fgr71x2zk2ywcbnw0ikv0p9kzsmd83kdidfs49vm7azcbm0qfw"; - "NNPDF23_nlo_FFN_NF5_as_0118_mc" = "0s365gsidichyj9x5926q1gm0x1bp52chv7fkpirflrrsywf0lc3"; - "NNPDF23_nlo_FFN_NF5_as_0119" = "1qspxbwswz7ssqj2rx2jdg0bkj8prawwshvjd26ifz9i0l9qnqc0"; - "NNPDF23_nlo_FFN_NF5_as_0119_mc" = "0aqyhrcrzs3kqhj1hndilpibvdwfw9qhg1x0cypx97h16n37j46x"; - "NNPDF23_nlo_FFN_NF5_as_0120" = "1k9savpyg2iqr1ab4i5y7q1qhd8zxq413040h2v46jl8mp7x6bjn"; - "NNPDF23_nlo_FFN_NF5_as_0120_mc" = "01g7mh7v62s47cwdf6ws6j37gxl4mrb26ivdzzwmhy6ydiw8ka53"; - "NNPDF23_nlo_as_0114" = "0mmq32kddspgpacx2qj086das9z2bxh3l37qvp9yf84gqzjj7mml"; - "NNPDF23_nlo_as_0115" = "0jn1gv137d2x3vxq7ny0qc0hnfmcd4hs3cxkyn7j26w7p59q81x7"; - "NNPDF23_nlo_as_0116" = "1mnq360acd5vfwz9z8fzynldchkqrfiqhsxvi3s9a263h3p44bsa"; - "NNPDF23_nlo_as_0116_mc" = "0ngw2hls52bax6dmis3nfa2ix8q8nh2d9mwjax4cjdkmmf7rdn2g"; - "NNPDF23_nlo_as_0117" = "01wkq68b8zl3mznzvc4p7p9b4ik2bnqgjq97mw2287i448mnj9jn"; - "NNPDF23_nlo_as_0117_mc" = "1s2g55240gh9j32ach9rban0iw4hjmw5haj1c21wgyh4nqiqlfwr"; - "NNPDF23_nlo_as_0117_qed" = "1l2rbxn9fw72nmhqazfkh568q4df0q2jp0pn0fj368wdpf36fk0b"; - "NNPDF23_nlo_as_0117_qed_neutron" = "17rpz4bdp3fxvafiz32aawxw64prkhqwqpnfnbqsigcslm18bwnc"; - "NNPDF23_nlo_as_0118" = "01kax3g4d8nd6n1gip70d02kl3kvbqib93b99xgwc1f0np85p3r0"; - "NNPDF23_nlo_as_0118_mc" = "0qhs7r4zzw68grrmfh7qdad49w4y4mvf55qnp86piri5vi8lklwk"; - "NNPDF23_nlo_as_0118_qed" = "10xfv8nkg2jjy3yg9m9gakz6lixdvmahdy1z12znqyr1br57bdhy"; - "NNPDF23_nlo_as_0118_qed_neutron" = "1zffxfykx2v3dniypsvyyqbz5pb4dcww653amaxv96hplw3fvr0h"; - "NNPDF23_nlo_as_0119" = "1v24iwddahxy6sd43bxv6ywf8n7302qkwl9hv7d074q1d932kgr1"; - "NNPDF23_nlo_as_0119_mc" = "0l95fgr5bwhsh0h3qqlnx9czkgmrf5y084zlzk3qhix3ldh8zbp4"; - "NNPDF23_nlo_as_0119_qed" = "0rayscazcacy89lzg0ynpwrl9g4pnjwwp0l0vwc3gjz9cwznmwsk"; - "NNPDF23_nlo_as_0119_qed_mc" = "1cc3candpavcfbv681zpg8gmwbh3g14vqkhs2s6v7rr9xhx6zqv1"; - "NNPDF23_nlo_as_0119_qed_neutron" = "12h4x97yglcklrvwh937xa5bgqahq949a5wm3nyjbvrfsw9n330i"; - "NNPDF23_nlo_as_0120" = "0f8lwydw45vy7c0mqmz60hpc0b40czx0gx35liyrhcbjvj9129m7"; - "NNPDF23_nlo_as_0120_mc" = "0kqiizf0c0mbdavnv7ivk89kga84j7p7xprqi10589ggplchx8ag"; - "NNPDF23_nlo_as_0121" = "17603srm35158sdwrqijyxm614splx7k6bjyzphgvznnkwpgi0i3"; - "NNPDF23_nlo_as_0122" = "0c16498ngx436k9mb8fwkhhvcbdyjd4m0jh54v2n1dl354jz60sm"; - "NNPDF23_nlo_as_0123" = "1j6d7k8d04gfx532iipd4vzm0nldbvy86pg8asgv4xrh80c1zslc"; - "NNPDF23_nlo_as_0124" = "0dwv41kc9qsvvp22gvxi56gj13dnklgfp4ndrm0475q6gvfz25ak"; - "NNPDF23_nlo_collider_as_0116" = "1hl7xw8jz0gijxh9cjkxv1rb1xncb1622ghf6wnsaarlqr4947ky"; - "NNPDF23_nlo_collider_as_0117" = "08krhmjbgza9f4mbq7cdj9g7hh260aaniqqi5awbgp7idbn3nccj"; - "NNPDF23_nlo_collider_as_0118" = "17645h9l8z8nk7pdaxdhvcfmcvi8ib8yylhiijkkw9yrywb5pakm"; - "NNPDF23_nlo_collider_as_0119" = "0csf74lpxgzg48v6962falxd8n2nc9xdrqnxxwadqqyrnrfs06dw"; - "NNPDF23_nlo_collider_as_0120" = "17xqx8hnwy7a67ah0ds8m3nv3cbq20vri83nlwahwfsbig7w505x"; - "NNPDF23_nlo_noLHC_as_0116" = "02nhh7n2qzx3ak7ih2d3vw3a4dffxbbpv9wrh2yhz30zbrqqlzv2"; - "NNPDF23_nlo_noLHC_as_0117" = "14j8hx346krwbi2fyyk77k60d7dlk2xlsc6zd543y03jdpk4ahlx"; - "NNPDF23_nlo_noLHC_as_0118" = "0vwi6h1fkwjg28p2f3br1g601i8ca4dpfjs9vxg80kjzkif6k310"; - "NNPDF23_nlo_noLHC_as_0119" = "02l15h62gn0njnj459pkp3k1nhiaivlknmbxb3giqpg6wmm2m9y1"; - "NNPDF23_nlo_noLHC_as_0120" = "13lxmwmywg7wrwhgp0cb41b42479fgfa1bz3aqkbrnf6gi6pviln"; - "NNPDF23_nnlo_FFN_NF4_as_0116" = "0j4ng2vl955vnq40zv5v9sb0wk8qari61v7995p2l0sxz268sz50"; - "NNPDF23_nnlo_FFN_NF4_as_0117" = "1wjqlv6mbl2lgvwr5av47amrs8gnqkpkxzq91jvpaxkya3bmglc3"; - "NNPDF23_nnlo_FFN_NF4_as_0118" = "113s8lxrmif79c6f11pnk5jz7q4lq7108gcfx84nanpksr9dmi6m"; - "NNPDF23_nnlo_FFN_NF4_as_0119" = "1688qacmp9kl50q1vzffcprf9ydbi2bb2brc68jvid5f7bjkyfmw"; - "NNPDF23_nnlo_FFN_NF4_as_0120" = "1i3cjnz5zgk8jw5jcrqy6kxx1i5v2a2lgy2fdck3j19cvn0iqqr9"; - "NNPDF23_nnlo_FFN_NF5_as_0116" = "0v6ap405v9zapbi5sqldvs5lyhz5wsh4cxl8ssxj0l4789qm24hb"; - "NNPDF23_nnlo_FFN_NF5_as_0117" = "153f95cqd0hkxfy9p81mf2dfdp13h3fhhp0qyxmiknhqm10ykdxq"; - "NNPDF23_nnlo_FFN_NF5_as_0118" = "0fch9i9qj1k8h3sdwfdcd75idi0bv2q7a338dvj4697xqpxf2mj4"; - "NNPDF23_nnlo_FFN_NF5_as_0119" = "03r72mrbvy9jkkbmgvp2776xxgjx0jyxsv4bvpxmhscpym9mjvq7"; - "NNPDF23_nnlo_FFN_NF5_as_0120" = "0rsflim77kdp849pg6f87rq6j0wirj4gayvrnvi4xvfjlk1mxkll"; - "NNPDF23_nnlo_as_0114" = "1p32hw48zwmvj9i5iyg9pqhf11zwf7m7g5q8prfj8825dvsgql94"; - "NNPDF23_nnlo_as_0115" = "0smmwd7xla73sb3bci46grj1kfd751pybkf7fz3w3qdkp5jjglqp"; - "NNPDF23_nnlo_as_0116" = "14blxcfb2jbdgwh73f2spvqxy5dhn5v6ygwi346dzwswipwbixir"; - "NNPDF23_nnlo_as_0117" = "0di0a5dkskalllnh90ngfb046z5hm9ihjra1r1ck06v9ryam2w9c"; - "NNPDF23_nnlo_as_0117_qed" = "0dvzz7ac45j4m655k0i3ycy6xwfm6y6801qsb5bgp1kdv7g2pj3z"; - "NNPDF23_nnlo_as_0117_qed_neutron" = "0v05yw5nc1r7vh8sjag4fmdklkn4jmcdpsmgvwm7sblgfc6gnssm"; - "NNPDF23_nnlo_as_0118" = "14p9y1ryc1j26gl01sn60pmrfpnkm81bhark2g98xz8dmfmjp7iq"; - "NNPDF23_nnlo_as_0118_qed" = "15mcq4q20ijmf06pcc626jlk22fm8c473p4i80bmi27h5x2pl56i"; - "NNPDF23_nnlo_as_0118_qed_neutron" = "15vsjjc1i2x6lb0603h6knj68si8cvxml2xk97pw343qn3p8h4ka"; - "NNPDF23_nnlo_as_0119" = "1qzap9zlpwyyshh8hc0gm82y9rl9hpy232j03gd6vwmcw5pgm2d2"; - "NNPDF23_nnlo_as_0119_qed" = "1cqvdmq0hm9rh6749bn08i6c94gshpjafmwv8siizdlm8v9af442"; - "NNPDF23_nnlo_as_0119_qed_mc" = "0a77i8grscxwnybgikik94ldiddrif3yy6d4bqb6x1aj4hr9i5ag"; - "NNPDF23_nnlo_as_0119_qed_neutron" = "182jqm5019n94givs4rwblpz02hp90mbizp0b5svrxf21zdyrmbx"; - "NNPDF23_nnlo_as_0120" = "1v8ykgxnqbvfra57xpamhgbcjvj89dndhk62pmji004gvqpmwi61"; - "NNPDF23_nnlo_as_0121" = "1fv1m86ya7zi77ajd8r1nls2zcr7n6s3wqrdiwq5ikxidqxc6cgy"; - "NNPDF23_nnlo_as_0122" = "0bn6bmvs8w9qsqcpq8y8a7w64xbkvrqwiikm5shjprwqy9xbspyf"; - "NNPDF23_nnlo_as_0123" = "0w7sqyyf98ymxpgqfh8gr9g1pdwr2pw12zc8gqykn5nkjbbmijgy"; - "NNPDF23_nnlo_as_0124" = "1hilgda0gqyj81a5h0mxrl5g9ahlm1n6mhd3ajkicxz2fvxm2n1l"; - "NNPDF23_nnlo_collider_as_0116" = "07m2jwjwzjc4bdsx9dkrp41qn04f9z3k2m6n4q308hwdq9lmcm99"; - "NNPDF23_nnlo_collider_as_0117" = "0i4kggkkkp407r33a2nsdy329zxpx8h6dq0h0wwpvq1kmyrjk6i4"; - "NNPDF23_nnlo_collider_as_0118" = "027wlw7lk04grz5qavyymj21ik4zr9fy9yk2kwjc9gx2ycp3sj2z"; - "NNPDF23_nnlo_collider_as_0119" = "0jq3q3sh1p8rn1qap77794v9hh3j0b7pmfl24wxvpc4dly4al0vs"; - "NNPDF23_nnlo_collider_as_0120" = "1s0jic8amasmxczdflbbhn6071nx8cxr3ynfrinllp36d92pmgsx"; - "NNPDF23_nnlo_noLHC_as_0116" = "0jzn78p2gygsqip50jfnnrmwl7issbp4vzpf71cbvj39ihsmavy0"; - "NNPDF23_nnlo_noLHC_as_0117" = "0zns2yy50c0bm91y8xaafmzhgx1wafvmv39cykw7xwsnkgclh487"; - "NNPDF23_nnlo_noLHC_as_0118" = "0v5bdc8d9w5g606h42rpn6zw31y1a5nk9akgfd1lyrhilvh7ayck"; - "NNPDF23_nnlo_noLHC_as_0119" = "1zacfd5jc5wvcig0g8g4jkr77zcxvzcvppa4ci81c1n8d0whnr5s"; - "NNPDF23_nnlo_noLHC_as_0120" = "1lx7m8ajwvhkzxck2ngxng1g90fpay5r5iwdnk2w7xgp1hb1ayc3"; - "NNPDF30_lo_as_0118" = "12adhizxskpjzdr6inc2hi6bxrs8ns3bnyihz09hfh9q53d5ayik"; - "NNPDF30_lo_as_0118_nf_3" = "1gjaiwqdhlswf1qmw39xr6g0w4bnnbinfpwl9c37jnggk6dxwdjz"; - "NNPDF30_lo_as_0118_nf_4" = "121xn280f5xx04q0rr4ina9iqzbc1v8cay78km836kqvgb3pcpyx"; - "NNPDF30_lo_as_0118_nf_6" = "1s77g0bf1qjb9rn1svnpfx10laxx87lw660ark9fhhx14zgybs3i"; - "NNPDF30_lo_as_0130" = "0nvpwbmdzm8fn4wlb2rhzar71kk4myfddpqsqhd7wb1fqxkj5b7y"; - "NNPDF30_lo_as_0130_nf_3" = "10diiahiy3yk6y7m1r4bd6nr1kf4mnccgj5qyq2lw49highn4s8k"; - "NNPDF30_lo_as_0130_nf_4" = "0j3b3rj5pr2ws3yaq6h74hhsjy7lv3d2x5nryc55q22xfkgf451i"; - "NNPDF30_lo_as_0130_nf_6" = "0w7k4a9ir4xvfh3v6dba70rhwkkq7qk16z178wld26zl6a7gw1hk"; - "NNPDF30_nlo_as_0115" = "15g9alyc317qydqy3g7sqlh6pc4pxn3xmhmzv9lcw2ghg3gn35fi"; - "NNPDF30_nlo_as_0115_nf_3" = "05b5xl89jvk6bgp86yl5hwdh3x8211czdsbianqkfix35rqrvlx3"; - "NNPDF30_nlo_as_0115_nf_4" = "02p9lhvricjl5r79pkcm2fv14p9gw1d2qizka4w254ang3i1hcm0"; - "NNPDF30_nlo_as_0115_nf_6" = "1iabf2qszv1270ac2sr2bqs7rb3gm58fj388saqbhnra4p2kv9fw"; - "NNPDF30_nlo_as_0117" = "01my1m7vx7yax8ldnjp7s1mz1w3x3m0h1gdd8mamfrvphaghwp4x"; - "NNPDF30_nlo_as_0117_atlas" = "0vjfh6kihsypvkpg3fwqf96kd2ldq0azcl72ia6w1nr52rsqc27l"; - "NNPDF30_nlo_as_0117_cms" = "1sbaq99731ihrkp9a2fj6lxj9dr2c9j4vp2335249nrkinfpf4mq"; - "NNPDF30_nlo_as_0117_cons" = "14qwjsa633v3h0sbizmhifrwdm7fmglyk608lq4ims8y7nn491nq"; - "NNPDF30_nlo_as_0117_hera" = "05gs9ril5vkm7xrnz5pvjd6pk8ivgk0bl4bh45gx658fgg2snhiy"; - "NNPDF30_nlo_as_0117_nf_3" = "0jc8p8h9pny0l7j3hv55iwaw684ymj0hl62d6bxlvw8sqvhxcqyl"; - "NNPDF30_nlo_as_0117_nf_4" = "0a37b46ach3m0gqniwk79qk963w0m96dknda2rhp1glpg5xdxl0z"; - "NNPDF30_nlo_as_0117_nf_6" = "1hjj6k5g2fia7xq5piy0dhsqs9lwriasmppjwil9wxnwklnwmr2m"; - "NNPDF30_nlo_as_0117_nojet" = "0z3s8ixmq2l4znv2dn0dcz9rq5f9b3jgnlwmvjzcab3wvj1za687"; - "NNPDF30_nlo_as_0117_nolhc" = "1x9nbnxm72wzaky4rvlrq1kmqs86ypphqwvsng33n0zdd9yr82pr"; - "NNPDF30_nlo_as_0118" = "0b51qb2i3h9d7hrviarfszwljsy88m8ibzgz7dd5gn88k9kardrm"; - "NNPDF30_nlo_as_0118_1000" = "17yla3w0rqy1a5hxq3bfq94ddda2qv6zzj76lfrm4zahl6m02kdy"; - "NNPDF30_nlo_as_0118_atlas" = "034h2wgakbm3mx70034nwb44ii38rca7xv3az3fhcnjbpg9vnf0p"; - "NNPDF30_nlo_as_0118_cms" = "08g9315fpc4khwfjf76vvyqa9nannvwq0bpc42f9f7yc0pck71qa"; - "NNPDF30_nlo_as_0118_cons" = "1lw0fhy9gwk3zr7vq7qh9p6zprbyd4faln3npnxs2snncic1mnz6"; - "NNPDF30_nlo_as_0118_hera" = "1833gd9h3gg75hblxf5qh5hp61k7n9vavb91ll9lbqmcbfr34aas"; - "NNPDF30_nlo_as_0118_hera_1000" = "0lljb96d3q25yw3fz3cbk2in90q6srpc4alkz95nyrvgp25xgbgy"; - "NNPDF30_nlo_as_0118_hessian" = "0h8d2zc02ccr1rmlsf4xd5a41irbs9q9wx68caj2xy0i7qr8rsmp"; - "NNPDF30_nlo_as_0118_mc" = "12nnyzh2f6mv4gq4x4b8nlqx34lbj5y2y60zivfdbcpyg2spj5y8"; - "NNPDF30_nlo_as_0118_nf_3" = "10f5md8bhf44n5x6r7ln8c58a9ylm4mfgxg30vd0d8mvjc3zpsng"; - "NNPDF30_nlo_as_0118_nf_4" = "0q14zqkzqy2hgh8wli5db7dsqgsljgbc717da661wj8kqa23w4r4"; - "NNPDF30_nlo_as_0118_nf_6" = "08ajfn1r27hdarff464j2gpi7ffjjxs6pwzh3vil8lpjij5y7d4l"; - "NNPDF30_nlo_as_0118_nojet" = "0zzzk72n7nq1mcaalbv7mpfpb9kh095j0zazbzfjf2k6r3p0v082"; - "NNPDF30_nlo_as_0118_nolhc" = "1p7iac75znr1li8qg9xf1my37i70flhvjkfjmrb5b0h3hk9agb1r"; - "NNPDF30_nlo_as_0118_nolhc_1000" = "04mgjfq1ncy90gqljfdzw1iwzav5infkfv7zj2rid088n3qfs91p"; - "NNPDF30_nlo_as_0119" = "0p0kgw17c97p99zy3ffr6g7pphhc8ccdhcq4iip5drqm4hc6nb58"; - "NNPDF30_nlo_as_0119_atlas" = "1hpx2jm4y6kz9b4j42ags98j115hd2s41km670979z9zxmj2qm5q"; - "NNPDF30_nlo_as_0119_cms" = "1j0135mxdiyn22iqrmg0d44w2w7ql1cdacprxgdz4jfb0ppn68rx"; - "NNPDF30_nlo_as_0119_cons" = "00qvhq9ypqv62zvlg32k3x5gibl5jh0b78hyrpvxf1l3y2b77nw1"; - "NNPDF30_nlo_as_0119_hera" = "008f4m8p9gi4w61mgjiqqpw346rgqxaayc1rncy2fggl4gs64yi1"; - "NNPDF30_nlo_as_0119_nf_3" = "1bh0sl8pjy5n90j5dz9c80n3vy21hdsv8vxwbqkq0b2lkv8gzw5g"; - "NNPDF30_nlo_as_0119_nf_4" = "0swgnmbxz0g3ziib1992s0454jfsdi7l0x3lrvs5qzzjk6rg6qgd"; - "NNPDF30_nlo_as_0119_nf_6" = "001awj8h76wybmxj9vvkxgqixzak4zbhsvjmj2lscb2v5qq3y68r"; - "NNPDF30_nlo_as_0119_nojet" = "1x961nmad1rxmf4yzbz2drpi5hfac2ag1bs1jbvvlw3p04xr2c38"; - "NNPDF30_nlo_as_0119_nolhc" = "1yx6f4n577zqwhp0i440r6zk06702jg4kkib9nmgws3jl5f28big"; - "NNPDF30_nlo_as_0121" = "10k01z1amzp3jmfvfb2snrm8d04vr31kly1m30pw4fv0qn78idlw"; - "NNPDF30_nlo_as_0121_nf_3" = "1gb40ycnf42fkrbdwfhb8wp56nmzxyi7fzbqgvlkby7pn86m2f7m"; - "NNPDF30_nlo_as_0121_nf_4" = "18ywp6b9f83rxmh7gfn648wslvvf5g4ffm83rradp308smr1sv6p"; - "NNPDF30_nlo_as_0121_nf_6" = "12dps7n3glrzwb8vsfghwbvnh1yyxvjnvqfilbrrcy0dm3sams7b"; - "NNPDF30_nlo_nf_4_pdfas" = "0hrx872m52bb894c32jrvlvm9lcpy3yllj5ps52nmywqd8n1simj"; - "NNPDF30_nlo_nf_5_pdfas" = "0q25jxvwpz8inkax0j2zq9pj8swqfn4jmkhs4ibkl6xs78bhjfb8"; - "NNPDF30_nnlo_as_0115" = "03apmzw7krj77zdyl6sxwqg5fyv3vicp8iax445qdx8ld9kv225w"; - "NNPDF30_nnlo_as_0115_nf_3" = "08y1gjzkpnjn6mn247n7a9ya8z6pml3602p08rjha4ljggxhyffq"; - "NNPDF30_nnlo_as_0115_nf_4" = "19mjfk1rib9dxbsn0473ggi6akwv1zs9y3q9nzjg47mdjqlspb2q"; - "NNPDF30_nnlo_as_0115_nf_6" = "1zcjjbjwjgbkrhgh0kira7wzwmy5vvi1n15wycg33yk09m06db6b"; - "NNPDF30_nnlo_as_0117" = "1225gj4ihmphnfav2h38rz17lj1dyi9j1lazqlwww8vizl8933bz"; - "NNPDF30_nnlo_as_0117_atlas" = "0i9nc7q1cwl8cxxaj1xaz28wmj09q5bjmh19p1fcbcln7hklvj5x"; - "NNPDF30_nnlo_as_0117_cms" = "01ffhsw191nrr58x6wnjizx7bbijkknicvgk73pjbwyr67gfj581"; - "NNPDF30_nnlo_as_0117_cons" = "1blfi0p231r5j34wspk192fmbv34gbvx3bkisjh7wxpiab80qdws"; - "NNPDF30_nnlo_as_0117_hera" = "0ds02aj1q6y4dndfk9l9fyxci0dhpwr7jx1jq1qb9g5bb7bbhzz1"; - "NNPDF30_nnlo_as_0117_nf_3" = "087rz8bz3j2h7yk7rknlqz3rpbczgx2r2zdag8pjccdqi9jnk9pg"; - "NNPDF30_nnlo_as_0117_nf_4" = "1w44bwx6m6g8r990vl6f505bgf3v583mi19r0nfh2pahx2k2djaw"; - "NNPDF30_nnlo_as_0117_nf_6" = "1l7gwbsl2haqaj6hqsnnqwrnxrkdv1h63qbs7iwfdq6474ndzwsf"; - "NNPDF30_nnlo_as_0117_nojet" = "1nmv44arab9gfhs02jf4zijdb0644pvdmi6k809bxbfhir9sry8v"; - "NNPDF30_nnlo_as_0117_nolhc" = "0zn2b05jv9da7394in14mswvma48y26lvpw7rwh7wmyw323rxpfv"; - "NNPDF30_nnlo_as_0118" = "09xxi0vq90n9vfzq72c0mbf4yz4zif3kl6xwcjdb8r620ihwrnfw"; - "NNPDF30_nnlo_as_0118_1000" = "1iy5inrsfpn70w65hy42pmz0630pbrgg4l48qgsamcjgqdhd3n84"; - "NNPDF30_nnlo_as_0118_atlas" = "013jm6f2hnmzc2di7spf6zp31fwhm6c9sddwql36hww63w8sys71"; - "NNPDF30_nnlo_as_0118_cms" = "1w0ax68rg5877s35zlg13c451fcz2rij4adzwhz4yf4skkbgflng"; - "NNPDF30_nnlo_as_0118_cons" = "1qniswwj6cmcs7bm4n11jx2disqcwszl08cb7im824nvrcjka2pg"; - "NNPDF30_nnlo_as_0118_hera" = "05j5yrra93dxh1nah19hszd0q3pj4zfica8a7vm5akbfn02rccj6"; - "NNPDF30_nnlo_as_0118_hera_1000" = "0ssiw9fk5fqwg77rbycrxrclldws35n6gj4a4sj6d9yc87vz1g7z"; - "NNPDF30_nnlo_as_0118_hessian" = "1hb32bamwlx5il8g2sf5gy6xjr7r4rky7xgvdhf5ndq7v3n1ncx1"; - "NNPDF30_nnlo_as_0118_mc" = "1gxl4c5z2vh382y8l2kpr8vy4fqvbxvrw6xjc6dp229ak89cd6c2"; - "NNPDF30_nnlo_as_0118_nf_3" = "0iccjcds9j9pp8s3mwrshhzl5anklax4rgcwm5im90hipj450rgj"; - "NNPDF30_nnlo_as_0118_nf_4" = "002r0179jsl0l43psvw3hd1drg9fcrlzw57sbyndlswvq4zkyzyc"; - "NNPDF30_nnlo_as_0118_nf_6" = "1mwh2dxymayxa2khxjfxqmbhaj85jdnz548wmq6fyrxr63cfmw07"; - "NNPDF30_nnlo_as_0118_nojet" = "0nly14fxfww78qihrd8b6wk3da24x5sxkb13h8l2cgdxkq90fxbd"; - "NNPDF30_nnlo_as_0118_nolhc" = "11yvr5h66v37376d5p2m2g8fajdycv9baqq6mjfphf4a2abrl7m5"; - "NNPDF30_nnlo_as_0118_nolhc_1000" = "1bi0mxs6v1izlbvich55vi7qab72v1sizd4wj13787w47ffqm89p"; - "NNPDF30_nnlo_as_0119" = "11bvbqqjbyz0vjd4kh5qyd0a4rb62l103n10d1cyffgdfxxsk8f9"; - "NNPDF30_nnlo_as_0119_atlas" = "1fm46crfparx2swpxnyscpwqgicxb4skhclnc5xaijcpzraflzp7"; - "NNPDF30_nnlo_as_0119_cms" = "0i2d4wq7bsbfp8hqdr88nbii980zhfmpg6758czz7swd5yv8076a"; - "NNPDF30_nnlo_as_0119_cons" = "0v54zyz410rg3wcdw44japzynzvvrbjrspk91d0129rdv2xz51cg"; - "NNPDF30_nnlo_as_0119_hera" = "09w3krirq117cnhfkxlb8pld3xb5g2r3nhgc11v3ksavq746jhvk"; - "NNPDF30_nnlo_as_0119_nf_3" = "1k00h1c0lv6884lb02qmqki7sfmxkqpj88fkvf057frk120f59ah"; - "NNPDF30_nnlo_as_0119_nf_4" = "0pqjvaw2ad3g9zzjdyhh72580jrj4p8hxlvy9h6q9hhpwdihnnmh"; - "NNPDF30_nnlo_as_0119_nf_6" = "096fc9958s3z559knxqccwj3vylxviq2g58rwirj3qdjvy96y2cc"; - "NNPDF30_nnlo_as_0119_nojet" = "0l5crj00jm2vxgyr5nhs6h1n64xnxwpanrsjk8f8qfis37s68ar7"; - "NNPDF30_nnlo_as_0119_nolhc" = "1nl4gkjjz3kpq1sbzqk2d0d50vmb3ks7j5z14hqf9dib2xr39jl1"; - "NNPDF30_nnlo_as_0121" = "1c0ddbjskxw4rq1p8sp63vayxkvcnls062qp16wvrrbw7zkj1jaa"; - "NNPDF30_nnlo_as_0121_nf_3" = "1sj9g0wg6x2cvwp45i726dcs44hpqjiqa011xzindnjh8cq7m6xn"; - "NNPDF30_nnlo_as_0121_nf_4" = "1j4khzpw52vc26n7a95xg1wyqz720fnz2kbb8l9a5bsbmxmaa7xv"; - "NNPDF30_nnlo_as_0121_nf_6" = "1kln7zjgl0hwl621wnhhsih0m8f9ir2i8ligfg2s0qp8s3787lrg"; - "NNPDF30_nnlo_nf_4_pdfas" = "0s460v9712ahz09fhzhlnsnkl9arsy3l82g1z6xjz4la8fwkr9wq"; - "NNPDF30_nnlo_nf_5_pdfas" = "1vjfm9j39m4389b0r51axlbzdbkpk2vbs3vks3yqcr3hr09g9myk"; - "NNPDF31_lo_as_0118" = "1jq8ad68kym717qinwdldvrjnry9sfsfq7lvfv6ipm1sdzixqm96"; - "NNPDF31_lo_as_0130" = "1lg49cbg43yrpb7fgqfk0d55m28rrw781mks3zn9m24fv0hiyzqp"; - "NNPDF31_lo_pch_as_0118" = "0xm3fyvrm77hd2layrfwc74vncc470gvf7hx8nzd2sw3ai1g9h7x"; - "NNPDF31_lo_pch_as_0130" = "18fip94c0ywzj543qq154z2wnllbn8jw61nx6l8v9wmg2sdzi6zi"; - "NNPDF31_nlo_as_0116" = "0i6bpa2wf52vsc6x5nlsmncal1ghqpsyz7pya2a2zg0k7z6dfcsp"; - "NNPDF31_nlo_as_0118" = "0vwbgaxs5gj5cnyncmc7m3650pd6bplwdga3fnyy1vrrh3mpsngh"; - "NNPDF31_nlo_as_0118_1000" = "0ql0phs563ck7bx7cm5x242icfb2jrlsxhsv80m0hxyr3fhyc06h"; - "NNPDF31_nlo_as_0118_C1p6" = "0nn6krh6vk8rxiwhpnn3nbxian8hw8d1vq31ywh9560hbi3vpcrl"; - "NNPDF31_nlo_as_0118_hessian" = "10v2ayms2mhm9zi7k0fw9rshawc7njdlbjs8rfg5hiqn1adss4w3"; - "NNPDF31_nlo_as_0118_luxqed" = "19fdqxfmx8kzcgq13dk4k1nhkgqpnm5xgahp13hwz1i2vcp6xq87"; - "NNPDF31_nlo_as_0118_mc" = "1yw21cs6p85ij8lm9k0cvlm651a3x9f73f23ysxjgh1r5kqnhz9y"; - "NNPDF31_nlo_as_0118_nf_4" = "0qywlyd34yqb2r8ch9wjimyfi1jr3rdhxliwrmns0558hbd47a3z"; - "NNPDF31_nlo_as_0118_nf_6" = "1pb22z2s0ir130dk5pkxwyid37i6mf8jpr7k7nlfi45gl9zy5ldd"; - "NNPDF31_nlo_as_0120" = "1b5wsab66karm1ay5vxpjw21g2ywhnzqnlahxnvnaf80izha35hl"; - "NNPDF31_nlo_hessian_pdfas" = "0sxka18qp99gjj9abml2ba4877zavijmjfzg6m0qczx9m8v9m3xg"; - "NNPDF31_nlo_pch_as_0116" = "1wqpq2qj5czvcj754nd6c7rrss8skjx58vp2gj2bc5n95jv1qazn"; - "NNPDF31_nlo_pch_as_0118" = "113xpp3xvpfpivlj6p7av4czfbfnh6bk2kd4d2635ddvy0clqkpf"; - "NNPDF31_nlo_pch_as_0118_1000" = "1sbjqkwq7iy7fnk3r9ga1rzadzy8x3ld933vcih87is09bzg5rfl"; - "NNPDF31_nlo_pch_as_0118_hessian" = "0xmz2hc3n8alhf210axv3amf7klhbyl1dd1z2yyx6c3pcvcrf80m"; - "NNPDF31_nlo_pch_as_0118_mc" = "1w1jifp5f7ypf5xqdw1mkx1d6shknryhqzk8rk8naf37bms68mfn"; - "NNPDF31_nlo_pch_as_0118_nf_3" = "0m7rq7k8x6bsakkw3kmcicq04c39flrw1axv72dqaf9xci9w3pii"; - "NNPDF31_nlo_pch_as_0118_nf_4" = "0k77chw866shjkc0ml6kb4az75sdcvdd897r8d56jl72d2lkxp3m"; - "NNPDF31_nlo_pch_as_0118_nf_6" = "0bdc60dxj7jmqacbbaxp2m9qzg82r6pgn7h9pi2k15d07qm6fc4d"; - "NNPDF31_nlo_pch_as_0120" = "15s1b5w52c3q1nfzckdxmdwrnxw08pprmphc1p33am9v7cwwq2jk"; - "NNPDF31_nlo_pch_hessian_pdfas" = "0qdswml17bg68y67yw2zbwwp233nxpd1qpc23rqjwyzk2r7qk9bg"; - "NNPDF31_nlo_pch_pdfas" = "196pcdwsi5p9g88g1c8958qkdj6qmzvl7rsg3j8zll6274m42s4c"; - "NNPDF31_nlo_pdfas" = "1as7bkp56pwpn2vinxdnhzlnvnxx5ng0mlpmwzz5n7gsinyaz1x9"; - "NNPDF31_nnlo_as_0108" = "03kg0i43wxf794c4xhvismks6c7nw9hq9ihn58sz628lqcjmsccq"; - "NNPDF31_nnlo_as_0110" = "04a5gf6nyd58h9sad8zv46vmb074dx7j19r23lbc9w1di23sk104"; - "NNPDF31_nnlo_as_0112" = "1xkjjm49nlm72f4l3ynrm4g2ayzask22saaf6p1p61lx0jv1hjyd"; - "NNPDF31_nnlo_as_0114" = "1j4q47qscyw52swmnn0a3lr0avfsjvy20ca50xfhjsvla6wd9lpg"; - "NNPDF31_nnlo_as_0116" = "1k2d4jzg5jfs6f2mscpvalmh7i5fypx98lnb5wjycprlwd3nr3i9"; - "NNPDF31_nnlo_as_0117" = "0b6d1xlq4qwjalvrc7ppavw44w5zf0fn3rbsvh3k4qy9r19wk5fb"; - "NNPDF31_nnlo_as_0118" = "1bw2ksmxdfbwdcimc0ld87hanbqy514sridrcarqwgqh9yv5n0qp"; - "NNPDF31_nnlo_as_0118_1000" = "026d0xygh046y10jxsfc91hr4qxgark12m393r0afip69dzdsrx0"; - "NNPDF31_nnlo_as_0118_CMSW1" = "0vqjyziilfzi0gz3a2rv0i6hk3ri3krc2zcdjwfa61z1mg5syi4a"; - "NNPDF31_nnlo_as_0118_CMSW1_hessian_100" = "1jc8k64pj1mfcw8v9qq9v8m222d09bgfkla7viqzzzbdhy5f6yy1"; - "NNPDF31_nnlo_as_0118_CMSW2" = "14acp7w3sx5v4ly5wa32vpsk8xw2rh8g5gl7x3f72c0s5jcs4n81"; - "NNPDF31_nnlo_as_0118_CMSW2_hessian_100" = "0ykaw8x0i6k8vlbms2inm9zm860apsi5mf4wkxha416v4chrpd04"; - "NNPDF31_nnlo_as_0118_CMSW3" = "1snkandx6apar3sp0c182n770rxn2s64pc07h5k18627cnvpzing"; - "NNPDF31_nnlo_as_0118_CMSW3_hessian_100" = "03n59yvpgciipkv3k0yr0ab3myhx263n90ah3q3h8hdszkf80ri1"; - "NNPDF31_nnlo_as_0118_CMSW4" = "1zpnvawdj20izx0mx9a3xz0d0an6i65axbzg5z7fkiq0p09rfx70"; - "NNPDF31_nnlo_as_0118_CMSW4_hessian_100" = "1qczy2935iq2h4mfq0mv53v2vlfsyvhkff36c5dkdlkrzfkvpl8x"; - "NNPDF31_nnlo_as_0118_collider" = "1y2axnkjwx7yg301mj1yx1x937j7mhsnbbdpip94pl3vm5hz10dk"; - "NNPDF31_nnlo_as_0118_hessian" = "0jvzl1bs0mh9c7ypkdgw0s06qn9jkww1d124lc7aq48w1g4n0zyy"; - "NNPDF31_nnlo_as_0118_luxqed" = "10fwxncr1y7hnja5nxywldpkzrijxz5ayldqjc21jamyhyj3qsh7"; - "NNPDF31_nnlo_as_0118_mc" = "0sg939j6xn7d5g46547np3123srgz44h9clh29ybl5cnmccv23cl"; - "NNPDF31_nnlo_as_0118_mc_138" = "1kbxhjzrr4802kcpi7m2g2dx4ywvs9rqjispjwbjc60rqkqispyv"; - "NNPDF31_nnlo_as_0118_mc_164" = "0i9yxnbps63nz6ala4jk6qmpxlg6p46w6jja8qn73hp0n69w2acz"; - "NNPDF31_nnlo_as_0118_mc_hessian_pdfas" = "1b9ijn595qfq32yz9rlnn2br7lssbk8ka39ripfcfyf33v9sv460"; - "NNPDF31_nnlo_as_0118_nf_4" = "0l796ns5xm0biyl0jra5z6y7vddv52v48wlbdywsq54082scfpl0"; - "NNPDF31_nnlo_as_0118_nf_4_mc_hessian" = "1bw0x75pah1kp387s8m0rv2qc54k5pbncbv507d5278hhfsn68qa"; - "NNPDF31_nnlo_as_0118_nf_6" = "0dbxxk0p001sk6sb9nf5ipzi39w65vf4c4g8cbhll7p4fqi8f8dy"; - "NNPDF31_nnlo_as_0118_noLHC" = "18y9mnp1gmvdbikgfdybw8wz2w5x60wk8lya13g7z6nhbfs08qa4"; - "NNPDF31_nnlo_as_0118_noZpt" = "1jwhkz8b1x6a2qi62jvprcp1rmcq5aq7s31qhw0skcpx8r6r6gnb"; - "NNPDF31_nnlo_as_0118_nojets" = "1bg714agc25p7zw2yydvl340sns7fhszpbphzap6fc0jsg511zh5"; - "NNPDF31_nnlo_as_0118_notop" = "1v675r4qk0wz1hg000fw79nmf1zjqi2ghvgjgs7hyzzbh5g4l3ds"; - "NNPDF31_nnlo_as_0118_proton" = "0ipsp8kk59fb3w9d1y4pq85f4fl6789rypjfbpp44gcy8hzshbm7"; - "NNPDF31_nnlo_as_0118_wEMC" = "0savd87jahlac4ag3qfamhnpa7mpnm00j104f3ci17gdax1sds50"; - "NNPDF31_nnlo_as_0119" = "1s7ildlffbh6cpmzlmafxzbbrlgggfqxsv4qic99yvgqvdgqar8w"; - "NNPDF31_nnlo_as_0120" = "1z6lqcq1dgvqnpwlfymlf9yhcaqc2p8ny7wv4xs57639dsp5xarb"; - "NNPDF31_nnlo_as_0122" = "0482r1hip6c4kpq24xzi8nw8awky0669k4plgpgv0av12l4bh9c9"; - "NNPDF31_nnlo_as_0124" = "0cf3djgs4gayzwy8p0qvynripz3hxd3866m8ldlhxnjmcsgcps11"; - "NNPDF31_nnlo_hessian_pdfas" = "1m5wdnj7hvg2a51w1qmhm934glhjf9db0x5nry5blp90y5x0v185"; - "NNPDF31_nnlo_pch_as_0116" = "1i8yzqywg4hcf53vcp25fg8llybis3pz6xbp5ajpyjvrvsgii1pc"; - "NNPDF31_nnlo_pch_as_0118" = "01rsx0ss67772b20dnnw463328pgbd57d8zcj3lqymlb4a6fq8f7"; - "NNPDF31_nnlo_pch_as_0118_1000" = "187xkvp7y1wssgpb21r1w4yxn6m1280jac9nmiavrma06jfd57c1"; - "NNPDF31_nnlo_pch_as_0118_hessian" = "0fs5d450hc15hqs6xv9nxfsnhwszmg9ybjypgwa9kn4s4kkaz1wl"; - "NNPDF31_nnlo_pch_as_0118_mc" = "06vgb01l1yigln7cn9y3lslg35grwvydpd8g04xn4pj4pj2vjrs0"; - "NNPDF31_nnlo_pch_as_0118_mc_138" = "0za3v1mg8gb631039kg5mkr9zhn390dkyim9p663srpk85j7h5g5"; - "NNPDF31_nnlo_pch_as_0118_mc_164" = "1xc02sbmhyjr4gjwim4p0gg90zh26zdmnz89395pxzbq2navcraz"; - "NNPDF31_nnlo_pch_as_0118_nf_3" = "14xb6m1wqc5f7xjiklwnshn7ljrlg6kmbzr2rib44pgbj6pnl2xn"; - "NNPDF31_nnlo_pch_as_0118_nf_4" = "1sg823n82j9ijqx4ldysh0g53pjzn4sysvag837ywfyns4p5qy9k"; - "NNPDF31_nnlo_pch_as_0118_nf_6" = "14ls2yd1n2pqvdvq18qmhizms3a8pwqvksdkvwn0m1379lkss106"; - "NNPDF31_nnlo_pch_as_0120" = "09zc56cmpj9iw0qp2bm9a8d86r0mdagg1vrpf2xqza4fr841r5km"; - "NNPDF31_nnlo_pch_hessian_pdfas" = "08baysni2lhbpr1scx7h0zf64gyncj2ahcv4y86142gl4zqrafvp"; - "NNPDF31_nnlo_pch_pdfas" = "09mw3gr7dz0vwdnralaplvlz2c464lmdizf673xsb0wlm12pqf6g"; - "NNPDF31_nnlo_pdfas" = "0l92q3xhdk5nrnhkmrirxnvplj531rdpnblnacd759cl4hgxcs2q"; - "NNPDF40_lo_as_01180" = "0m630n5i7s0qnlxzk6ka43qfp6ipz2jgzr7ys42hdb66kg3z5lkc"; - "NNPDF40_lo_pch_as_01180" = "0wrvmcgdaipi7vy7j85yszaa3c57hs3xll9lfn9cdbjscvmsx6x5"; - "NNPDF40_nlo_as_01170" = "14j21qryc25k1jk4ypdcr3cgfkhyy4hsb57hy8x5pggfwc2w3f36"; - "NNPDF40_nlo_as_01180" = "0399bnxvgl2h2ini198jmzjjb179f6dpxfv5x8imlfl515llivx2"; - "NNPDF40_nlo_as_01180_nf_4" = "01kwziiyg8vbl26znv7khqdckm501d7ccxlkq1y0cd9s1f5ff8xi"; - "NNPDF40_nlo_as_01180_nf_6" = "1gv8anb3vqpzdymp9g69702x64pbh6l2rn9257hdpz4i4m98rsjy"; - "NNPDF40_nlo_as_01190" = "0wf8p2i4mxs3hkqvxg1clj082yinbdgccr6qx5kbwkzsck4yybar"; - "NNPDF40_nlo_nf_4_pdfas" = "1ia9glingyds6bj6yxy867ahriqdhfkxczzc4nki933h6jbj74bf"; - "NNPDF40_nlo_pch_as_01180" = "0gad0hjq9kwiymc9pljj4z52jsg794m3knb38zj9icgjk0p9lwxm"; - "NNPDF40_nlo_pch_as_01180_nf_3" = "15j3vvc0vaf13d8cnyr4h7gwb7iznrcajnw59ryx6ksz7cn84sy4"; - "NNPDF40_nnlo_as_01160" = "0y9115xlg14m1ahfffiam4zp0axga86bhzfxf0xiaxb36yzbmdhw"; - "NNPDF40_nnlo_as_01170" = "1h6if1zw9dqlfnn7glbl5flj792i7fqiy7pprhwk93k4snh3800i"; - "NNPDF40_nnlo_as_01175" = "1dkzzhmkmzm92gmb83lyirj3clicrg70h5grzh0j8nfcw0xlz4rm"; - "NNPDF40_nnlo_as_01180" = "1bhysjkji0k7xy9njarkfvxff05kjl1byhkknxv0875p2znzkpva"; - "NNPDF40_nnlo_as_01180_1000" = "04yai94qwd7187wg26icwf2wbwi20747l6zikd66ygsz9n34xn9y"; - "NNPDF40_nnlo_as_01180_hessian" = "0cmpqgaz341hif0gdkzq8mnfh9apxn1zxjwa12fk5svbig9i1a81"; - "NNPDF40_nnlo_as_01180_nf_4" = "1aj5y3fyvna2jwxbsrgr2cbc452aprxnwv78vh3ph20jlnww20pd"; - "NNPDF40_nnlo_as_01180_nf_6" = "0bf6s6s0w7l592bm87mazwff05d8s4qlblzl9yj91am3xlv0cvn1"; - "NNPDF40_nnlo_as_01185" = "0y1xn9qcv2l81sbz9rayzrpd1bjsdyixr42lzfgmqbq45sw2m04n"; - "NNPDF40_nnlo_as_01190" = "1ibz4yfrw1n8plq4gi03yxi9afaca2yprxfk2y9lvbkycn608d0q"; - "NNPDF40_nnlo_as_01200" = "1cfcn819aali7ylv9y6yb2ggqy0yghyj0dys9lf9gv5wiqjwh5q2"; - "NNPDF40_nnlo_hessian_pdfas" = "1b5jvhdk7fmnz8gl38i3408h2qrqcsr7s9v7bh6ilc7x52xsg65k"; - "NNPDF40_nnlo_nf_4_pdfas" = "1ssp315xcqpc4md5gijbi2c02r6hpazp8yw1661r4m7xy5qm62wc"; - "NNPDF40_nnlo_pch_as_01180" = "173l2178plrir9fb3bq17l4dw5qfy9clic4m54wqg7y3r71bmv7p"; - "NNPDF40_nnlo_pch_as_01180_nf_3" = "1mh0pl1f1ayx1fjj0q1fw9s7wc7gmj7a46jli87s4g5nxrhyki9f"; - "NNPDF40_nnlo_pdfas" = "16d81h0pzxzgwwrfjghmradx4bijf08xbrdn79y9bxf6czacm8n6"; - "NNPDFpol10_100" = "0r5qfa8cyanalphgjdsh57s3viqv9i10v51p1pyamj1f90gb9pr8"; - "NNPDFpol11_100" = "0nny1lpw37jcillpfxjx82hq7wlzp4yksxialmc2ivr192qqdda8"; - "PDF4LHC15_nlo_100" = "0m9d4zy7608iryqy1ypgkr1d3yhw2wv1nrrc70zrfih7x0fp7lz7"; - "PDF4LHC15_nlo_100_pdfas" = "05wyqyh9y32sxflq69igcnnsl0ifnkyw3vnnnjn6kscl8h8hs7lp"; - "PDF4LHC15_nlo_30" = "05n0i1mr7v7ssvxvdmv9fn621rinl08frz71apjj7wfdm7s7bk72"; - "PDF4LHC15_nlo_30_pdfas" = "0xi4xydx0x4ina0wmqv9jf4978xhd8x0l91dwfxh5vy39r5x4lm4"; - "PDF4LHC15_nlo_asvar" = "14hdgj5g8ia7y6hi40zbh925dacrk7hd6cli6lkhlqzxl755nbs3"; - "PDF4LHC15_nlo_mc" = "09p7y0z04r6wdkf8gi3yj85qk5hmp0mmhab8c7a7lly4731fyf42"; - "PDF4LHC15_nlo_mc_pdfas" = "0sds9rkvbjkk7pardwq959qqbrvgwswxmsqcfppky2p0qmdsjs0s"; - "PDF4LHC15_nlo_nf4_30" = "1ysy6dqlacg4bwb2f16p1aza5gwm9qnhmc0g0mhsdw4d2i4ml5yg"; - "PDF4LHC15_nnlo_100" = "1gcq3qrf39dhq2pmpjrj3z0i0ycrk76mjdwmgfvzdxysp530ax54"; - "PDF4LHC15_nnlo_100_pdfas" = "16r8far43ymsd64a4bbqlj56qvbjmcyxbawv4lkfxysjvbydxj4w"; - "PDF4LHC15_nnlo_30" = "10cm4wa0mk34rnvsr5q8g9w7fs9cblsryms2nl370wdvcrhzsxph"; - "PDF4LHC15_nnlo_30_pdfas" = "13xln0y8l0qcj9951glj4f1kqfaagj8gwkxzlvdkgjnj1scdy6yj"; - "PDF4LHC15_nnlo_asvar" = "03fh1jcbmvla7n2jj3zq4ibwvq66h0rniply7h93d94zawcgsy4v"; - "PDF4LHC15_nnlo_mc" = "0c6nfkv3x1p5iw514knjvqcs1dcaryf74qqg1za8x234yr5ndi3p"; - "PDF4LHC15_nnlo_mc_pdfas" = "0l8hlcz69cdii7mpgargi9nsx7iy746nad5pnn7pvycrc40marij"; - "PDF4LHC21_40" = "037bs1l7zr3z8zi6wzh5kxgml84bl64258fr2sm0dzv9yxh8lvp5"; - "PDF4LHC21_40_nf4" = "0m2ki4qmgl1ggim2inlgynjzqr4ya3qgjph63jf72kia8ks2hfl0"; - "PDF4LHC21_40_pdfas" = "0pigpix2x2bv1a5ib17zjlfjqygjpjra0pgvmf6knm7mbgwxhqm3"; - "PDF4LHC21_40_pdfas_nf4" = "0dayiilh94cszqiphr487589qacawfp4za2cngr3da03yg1aswbd"; - "PDF4LHC21_mc" = "17fbwk7fp2m3fd0xzp94sp7m0mmjmzakg870rbhg8vi88bimmwry"; - "PDF4LHC21_mc_nf4" = "1n7h45yxw2mwppf6zblc8v415khy9vgrackmbfkm5lb9c79faas6"; - "PDF4LHC21_mc_pdfas" = "1pn9a7z0xl1bn18z461j90sjglccswimm4p23nyq0fxal5ziidbl"; - "PDF4LHC21_mc_pdfas_nf4" = "1andl5n1lw5iyd337czph5abd0sqc3l90b21g67af96am5pprcpk"; - "TUJU19_nlo_119_50" = "1q1dhsxz1kq75rpzv6gg6p6bzvvv0d44pc4y3wsiy9g14aff85vq"; - "TUJU19_nlo_12_6" = "006j6y4xbjss9apzagjcc3r1z6s61a1hzafhcyriiffqhn8bg50k"; - "TUJU19_nlo_131_54" = "0ymf35alyar6fwagmdny2zz2aag576f38kail7gh2lvqpmjmv6np"; - "TUJU19_nlo_197_79" = "0rq57sjcwljz8fz2m5bz0hm1670jp080zawmavmagmzvmyxbpnpj"; - "TUJU19_nlo_1_1" = "0fp4syfjgl0y58hrr3g515j96yp7ncbrnzj1h7i5h3fphxzayhcz"; - "TUJU19_nlo_208_82" = "16g5fjpa1r6pml6jnmzikwafdc0vgj8j3b0ivjz0bsqxms66msg9"; - "TUJU19_nlo_27_13" = "1ffipy7g22mjbhy7wpjipfka84k4iw52bni4gw2a6aan5qljlcii"; - "TUJU19_nlo_2_1" = "1l17drwy3vv8s7g9fdivxs2z6m88h7fpamnr5y0y6nbkh6bja2s6"; - "TUJU19_nlo_3_2" = "1qm010yjnj9amj2j89v6s5s42q18q8b6md35c9mbv88ibqbsdnvn"; - "TUJU19_nlo_40_20" = "0xylrincss1ijkfxnk7hl72c1rzpzm14hcarddh9pd57z7i1gv4c"; - "TUJU19_nlo_4_2" = "0adqxh47pnhgmq9r89wcqaldfrqll5gpjzqncqd5ba8301i3d98m"; - "TUJU19_nlo_56_26" = "04q8c3gkbxib5fz20f7rwn33sqapcmsj6fwwihi6ca8n1rl6hw6h"; - "TUJU19_nlo_64_29" = "1yyl70v8s16s2v630wamyfk8lwdw53cbp5hipgwdw1sfs33pj1mj"; - "TUJU19_nlo_7_3" = "17qfnf8bv6c5q6xkl68c6n1gxp81gang5w71gvn9m5d6pn2wiicj"; - "TUJU19_nnlo_119_50" = "186fja2z84csh6zsp0lpy5mch5swmwaf7mvq8kf073jxlrkrws42"; - "TUJU19_nnlo_12_6" = "0k5q6a8jidhmnjgll1l71dxx85lzd7w4v9bsmi42qladkd71vblv"; - "TUJU19_nnlo_131_54" = "0inwqb1v390xkjzhc7gy4hng07jzbbhpq99f4zpkzx115xs57l74"; - "TUJU19_nnlo_197_79" = "09c9b1kqzw28rqgxfxq2mvwna8yb6f2y90332f05jpvfk3mmr7n2"; - "TUJU19_nnlo_1_1" = "0qmvcbsyi333b9dd42xjdq62a7dfa3hvfcbk48fg4m179mzhp588"; - "TUJU19_nnlo_208_82" = "1xpwnl342g8ahhp3lm7p2xhzlx5qzhjvz6g1w1nqrd818w3994zn"; - "TUJU19_nnlo_27_13" = "18fsbp1nh4zx2wgg9r7ian0mvhvf4y8ssqv33vqvn0vwk7gqw7jf"; - "TUJU19_nnlo_2_1" = "1p0b74w1a9906lqbxbc8dkk5bcdhnbqc82lnhsr4qfi8sxih2l9i"; - "TUJU19_nnlo_3_2" = "132w4cv8r7958sad6jakfppsywifwzzacsfyn81qvv76xzc2hm3w"; - "TUJU19_nnlo_40_20" = "0fkbwxh0smj1icjfn58fsfh52ny35pmqjs7cs3qnw6dk5p95qx6k"; - "TUJU19_nnlo_4_2" = "12vm0dl8ylz38zzi6rsyy24h3yg30nq6l464nl5fr6jdkvkbz2f0"; - "TUJU19_nnlo_56_26" = "1kqc6v6qq6wl3nls31gn5nrzwfl9kshm2bbak771c3xvjsgvjpdy"; - "TUJU19_nnlo_64_29" = "166k8swsysr7x5rgivi6k04q4p8njb2ny7xj7xjqhkgxrznc8jzq"; - "TUJU19_nnlo_7_3" = "0q9vswr0s3k15abghx3cccf1ays0601n1438pwqgd5xz8981ngm5"; - "abkm09_3_nlo" = "0h268l7j1zkxm2nacari10f86lpha511xhgrg0q9r8hc47sw2vxs"; - "abkm09_3_nnlo" = "1gzhvblckskscql53pfxp79qclhhhhm45sqjhc9jrm1bp3x52w8i"; - "abkm09_4_nlo" = "0yq3gy0qgnk5dh0hh3ldrf5bqzx5wpkhw509nvz5arlh0bfwhyg4"; - "abkm09_4_nnlo" = "1b8470v2n5v87mmhp2dhmfh7iv3280ad67z2vyl0sfv87iic409j"; - "abkm09_5_nlo" = "1nhck955mw94h3pyhm2vd3q60qxwsmclkfqdscp06fc3avyvrzfv"; - "abkm09_5_nnlo" = "0wklkcjknn7ys1akg56zxdrkd7ardlc5qnbjq51mva1nf2bxk0np"; - "abm11_3n_nlo" = "06r54q3ph851a0hyn4di1ifwjmdkdklf3wlsdpz7qn0w4w3xcg29"; - "abm11_3n_nnlo" = "03rgkj2hyn3zmj8yxllfnc2iqr12j8shjcpdjka33v270lim3gq2"; - "abm11_4n_nlo" = "02r9ba7rz8f5438rfckzny5amnq9qjgl164x8il6xqh5crxn4vb3"; - "abm11_4n_nnlo" = "0z6a9wxy6018qm9nyyip9wdq46j7rh2if5xch19h4qx20gx6m48a"; - "abm11_5n_as_nlo" = "0x2w81w9cz955k9dd45872k98my57w83cjdsv4gvjb64d1hsygzq"; - "abm11_5n_as_nnlo" = "0091vwjkc686d1dnfn2dpa7jb56p8gli2z687fpx5f8yhjzpbh80"; - "abm11_5n_nlo" = "1bpf37mg5wgcf1id2am98l5mj162xrnb8k16ppfx3qxlakp0iabl"; - "abm11_5n_nnlo" = "1mpk322mqs078pk2nxxk8fa29ka6cxzsf65ffiny38678djmfqd2"; - "abm12lhc_3_nnlo" = "09k90vhjq7p0i0aaq2697pq2dc86bkmnv4q8zyqxjp3wnqx1v95f"; - "abm12lhc_4_nnlo" = "1hciv1z9b5fiz7swv21gr0rshijj9yj2n8x4l54v9g0jyd061jaz"; - "abm12lhc_5_nnlo" = "00xxkrhbfkxhg33mkpwwk5nsdp4nmi0zmllx5z5ygxl24rinsq9j"; - "cteq61" = "14hbc855b3wsjk7ypg86md46cjm1bj7n4hins9nr8kgzs69i6vss"; - "cteq66" = "09i69ac3gkrai5jmazjyjvi5sl8k2vm48m90ijn6pl24p31qf68y"; - "cteq6l1" = "1b5m7g7wawk72h76l9yr3gx3n67jggna1004lwffvj43gffwkjap"; - "nCTEQ15FullNuc_108_54" = "107klcpsr9d4dwavcqqs3849k90mdb3bdjam3pd79cmsy7ncr2hf"; - "nCTEQ15FullNuc_119_59" = "14az155s3xfl8nscwpajzwj0dy94dadc4qdc64njlg3xlnxsgxy7"; - "nCTEQ15FullNuc_12_6" = "14z11wyzclx5k6dl46zr0jp6mja178bvd547cqqfy811nbzmmri3"; - "nCTEQ15FullNuc_131_54" = "1984nphc6sqizaq1c1laphw3hdvkp5k7sy7g563wq18578fifbmk"; - "nCTEQ15FullNuc_14_7" = "11i2xcd6ncp2aqw3y8pgcp63zkaj383ciwvqpzmjnqraiqqqa77i"; - "nCTEQ15FullNuc_184_74" = "1m311m5bkzq00qf117dli9xrmcmx8qqh716wff1yj8ri4c4h9m8x"; - "nCTEQ15FullNuc_197_79" = "0vi29fdxaj7fnpc01k3y2ylb7ngpdnmbnzgxdnr6p9bj5wfa69z5"; - "nCTEQ15FullNuc_197_98" = "0qjkdfgpbcmwc39wzyfb07wrqnkkwn7v8235y1m25x4wy5bbpjbg"; - "nCTEQ15FullNuc_1_1" = "0nx1n814mkikd01pxmpndk2qxpwqwd55cbn6z1kgxm8qlhhhd2zw"; - "nCTEQ15FullNuc_207_103" = "09py38s7shcyy07p5mxfiil5wlxijzbv9k4l3x0g1v191k0vi3m6"; - "nCTEQ15FullNuc_208_82" = "1c9r5wr43291rw965axdzpshzjhnynsrlf28kfr17v7vpd9dykl4"; - "nCTEQ15FullNuc_20_10" = "19vhxi7ch9vxa1vyjpxknk69hnnm2n5wpz4qybg1cznk59dvpi28"; - "nCTEQ15FullNuc_27_13" = "09pflgyxl2ydzrmys7rv0mmvl32z3dmdx63wpilrw592aa70bc2i"; - "nCTEQ15FullNuc_3_2" = "1l2js36nh4jawwkpiq386blgwbmgi9ccvvzbwq92jb5kpd2fvh7z"; - "nCTEQ15FullNuc_40_18" = "11pw23fbrz97i9278cxrvc0a4wbdyhz788axq8jn7yka9mg9kch6"; - "nCTEQ15FullNuc_40_20" = "0raiqn6w90n17irf4l197my77999ygqwhim9lnjqgbn68yjqfqf3"; - "nCTEQ15FullNuc_4_2" = "0fip3n3pjd94rz3f4gcv2szrx5k72m5b8xcmsgjfd1671r5kmlkd"; - "nCTEQ15FullNuc_56_26" = "13msj49c1lfisgcigvc4wr32w597jwir8cggrcdq74b0d0ab85ch"; - "nCTEQ15FullNuc_64_32" = "1spgcb340nz8by8051hngnh6pa1wjf19vi5a40xr8gyprdzhwb4a"; - "nCTEQ15FullNuc_6_3" = "0v5yabjw3xkjq5c1zjqmj3wwb7yz1blkprxnrpvai54v17w3sk3r"; - "nCTEQ15FullNuc_7_3" = "1ncarbncfkqk6l3rx3zg34a3sj7mpm2diqsafyldpn92cw66bcs2"; - "nCTEQ15FullNuc_84_42" = "1z719mcx5lnx2ciwlnxxhgc4s00jrr9sfrxcimh69sj14hmzgx0d"; - "nCTEQ15FullNuc_9_4" = "180ipb4m2zy54h7n4s0jwqk9k6562bygvnv7mg9dp2f7vf5317a1"; - "nCTEQ15HIX_108_47" = "0iqv6rsvvr5mqiaddn2cs6psrslw6ncqxca993v0z0hng9ahnnwd"; - "nCTEQ15HIX_119_50" = "0gxdr596gk69sb76r90p5ksvx9bk4axj21qrsyxjf1bmgdg2rv72"; - "nCTEQ15HIX_12_6" = "0vkkz3hq0irvfb08cpdijfvv17bcvzaba5c1bf8kwx1i2zl5s6xz"; - "nCTEQ15HIX_131_54" = "0pbm6390cdglxqzrpl2slv65m943m32i10c49pf70fg68x3l2dff"; - "nCTEQ15HIX_14_7" = "1yshwpa3zzzmf7s5v3c3130ysm1wciicz202hrraz4px102h8a06"; - "nCTEQ15HIX_184_74" = "1wy1691pc776kv456cbjl5x5rg2z7cycyfny24caq1qvjifvbr94"; - "nCTEQ15HIX_197_79" = "0ckbp8cw49ch78q4nsm1fccn6nizpipdp8q85nnipql53xsnr4zm"; - "nCTEQ15HIX_1_1" = "13sfws9cmrsnp26mx4m2n03gary2m10l67bd8xic8pykgpr8c695"; - "nCTEQ15HIX_208_82" = "0fqvzpqszkyqb4f2y44hrdj7rvadbqj6y8fzkl9xzk432lalm8w5"; - "nCTEQ15HIX_27_13" = "0z356q82x6cm52f3qym7vkajlkf2amkz87as0jvfiygvi4gnilcn"; - "nCTEQ15HIX_2_1" = "117dgz8nx1j64xgqlp40zmgpg0z8b0p1j75d1llvshmksba43avb"; - "nCTEQ15HIX_3_2" = "1k1hxpcg39hrh629ml2kwnhir6pq41rpic48njq2lagmrcdpbn52"; - "nCTEQ15HIX_40_20" = "0q1ggww4a5cdf802737kh7igb0br3q50xw205v4b5p7v237wsiym"; - "nCTEQ15HIX_4_2" = "0n9zf4yxvp3b3ryxbkdw0yilsb21nrjh40ms883d6j42slzhf37f"; - "nCTEQ15HIX_56_26" = "1z39vjgp6jryvqaxv6jq05jj0lfxsj212g17amch65pgxm4l7cwg"; - "nCTEQ15HIX_64_29" = "1iy1g1226irrjxz9wwabwd6x0712dm1aap7ka6fy9wwwbn87f6d8"; - "nCTEQ15HIX_6_3" = "0ljq0h0cdwbfvlpd40v2nypklimw4hh6k999mnyxqfvq47m13ffl"; - "nCTEQ15HIX_7_3" = "1y9k2snzymzgs26ayfn2c8n6isqzqq14pzf05xvlxmc3k1fbsfyx"; - "nCTEQ15HIX_84_36" = "130g553b22s7plgy51n56az05v1pnfgrg5knpg1knx8xr8a9xhh5"; - "nCTEQ15HIX_9_4" = "05igk9g2i1gm7d7npdwd7y3k7xf39scx1mwiw4m39b52kbq7kszp"; - "nCTEQ15HIX_FullNuc_108_47" = "1h2x2h2n02nwinf8ba3yyqa61384p4g29ib8vnrzwzc7q34940i0"; - "nCTEQ15HIX_FullNuc_119_50" = "0m5z036py2m1863k62pzysjdr92dhyiwmb8lxgky5skd7514rrsd"; - "nCTEQ15HIX_FullNuc_12_6" = "13rsl7lczf5qzjgy8m3dp4f1gyib2ffvf86iwci91sq51sma5kk9"; - "nCTEQ15HIX_FullNuc_131_54" = "1bsi3y6b7sxykwablgghqc89s3vxrvjr9y4bvhwcm21c2i4y6vbp"; - "nCTEQ15HIX_FullNuc_14_7" = "0w93qfiqdnzvrry9ddpbqcy6y16sszxfmvvgdy6r8i8py8dzfkyr"; - "nCTEQ15HIX_FullNuc_184_74" = "1q93f9rvlc4z3hzfhdmmxlyqfschrf99a0xyrc78rq1z2pfgmm9b"; - "nCTEQ15HIX_FullNuc_197_79" = "0kb2lnvh8mq25i5pkfis86ggs0s6hmpmyqqgimhcsamk8xnf2pcv"; - "nCTEQ15HIX_FullNuc_1_1" = "1nk792chip0iamc6dlqgqqlc2qlxlbgvgnhsvbmzkmmzvp2ji961"; - "nCTEQ15HIX_FullNuc_208_82" = "1l038nhnwc0pd7sq4yki3sjrrn66bsvqkvba2j3kf4f852gsyswr"; - "nCTEQ15HIX_FullNuc_27_13" = "1gdb09429xn5n07qqjch9x1cnq4xinf05wla8fsq69qr7bcdq9mp"; - "nCTEQ15HIX_FullNuc_2_1" = "0fnbpwv8qzgchc2r2gcjgw9yh4r94vm1rzbwj1f6ahbwrsl4rfp3"; - "nCTEQ15HIX_FullNuc_3_2" = "1r1s7ljwa169nbgc1439cj0gkaqza6ilx3x4gyq2jg9byz30khzx"; - "nCTEQ15HIX_FullNuc_40_20" = "13p7mnh2h8abih8y24rfapnrsd036pc8xy8qm82j8g4bk0j5jacx"; - "nCTEQ15HIX_FullNuc_4_2" = "0j1w7d11ybmpfci79lz99i94szxf5xn6z4kxvh8hly3qlcgn636j"; - "nCTEQ15HIX_FullNuc_56_26" = "08wds8afv0fzlaxck5i2d3pzvi5nqnc1jmq58fpnc7i0g238wl8k"; - "nCTEQ15HIX_FullNuc_64_29" = "0w4hn5iwqa65lnf6mhihx5qrq4wpcqw04ii3jphy79l58j3i1iam"; - "nCTEQ15HIX_FullNuc_6_3" = "1ki2cfsg0wmvfkzv2j9akiyl4d4b8v3d6f65iryxakjkhqj6vvgx"; - "nCTEQ15HIX_FullNuc_7_3" = "14mx5lh278p3zdc572bhxw9sc6n7ga0ak0ch85h3lx9zwg2a1m5i"; - "nCTEQ15HIX_FullNuc_84_36" = "0hyxyhb2mn64fwmijigw8m3v5zlj52hf2hicvx4gcq0lw063jxj4"; - "nCTEQ15HIX_FullNuc_9_4" = "17pydzll5lgs974gz4bchl2wxc9ixfpnqjrsidzksl4jf03gn77z"; - "nCTEQ15WZSIH_108_54" = "02z08pzvl8fa0bi6ddrlbknj0iryimw02r40z0nn7p8xf99qabhz"; - "nCTEQ15WZSIH_119_59" = "0r03k6j6nd2mvdkidw4gx1xm1s9hil9z5kanxsn2hzp30ab971db"; - "nCTEQ15WZSIH_12_6" = "00d4lis1qas1k8yzfb3dbqgvy9ynv7h9lx67ys3mj1ws5fqyn5al"; - "nCTEQ15WZSIH_131_54" = "10frai6qmzvp8xpkanl1qlpnc6chf6k5j70f4pw4abw8ycbjymij"; - "nCTEQ15WZSIH_14_7" = "02qd5x041p6n8rzv5l446481jb9vkc5nrc018vcg41735azr0d0p"; - "nCTEQ15WZSIH_16_8" = "164ciyxkrxp33r5nrkl86gq0jvdzm90hf602raamn1b5l5yrnadl"; - "nCTEQ15WZSIH_184_74" = "00nrwb8q6sa3zwbdc9mx4jz5ndibml84lfz8gad9vhy20zayyh3q"; - "nCTEQ15WZSIH_197_79" = "03hzr05vhb0l58iv9c2743c688ygagy1bi5a7zqn8nilsmykbvag"; - "nCTEQ15WZSIH_197_98" = "1mdlhp643z0gkjpj2jdi5zdd4qxxjqsy93rkv69cn1x5abawdl8l"; - "nCTEQ15WZSIH_1_1" = "13wskph284niaxqx92yaa4jg749ry6y98ds1ifvwc9970iccdnk2"; - "nCTEQ15WZSIH_207_103" = "0mpc6msqqjbcs756zd426xgzxmmmcmk8cp8wh2mpagib1drrg1x8"; - "nCTEQ15WZSIH_208_82" = "130bs9y9337pmgwi1ix0ar2xvhfhl4rs0626kbin5yrxhdy7rpha"; - "nCTEQ15WZSIH_27_13" = "1r01sbzixlrqxkjp9kx3s4zgsd48myivyc70p7ha83i1qrq50g7w"; - "nCTEQ15WZSIH_2_1" = "1qlh3zxbg13sq187k1fmssan00ifmqr0q2l7i45vc8jz3mk70098"; - "nCTEQ15WZSIH_3_1" = "057zyvlxz3hwlwgydccl2y124bvc6iwqqgav2jqw0r53a39rc25g"; - "nCTEQ15WZSIH_40_20" = "11psi56yk2yd75v396j68hfdacsnxvng2bw4v9g4afbjv9697jgr"; - "nCTEQ15WZSIH_4_2" = "0g4rvlgksw5gf6a7zh7yzsi2sq5jqkwbrx6d7jgz7zpg8jkg4qrz"; - "nCTEQ15WZSIH_56_26" = "12d0bj92b615kzadxwivp1q0j906m2rlcxfflwgwg21sv9axhi4l"; - "nCTEQ15WZSIH_56_28" = "12yx9v87y59qf14005fmj55n38xnhlvc7qgcrgfsicmdbx3ncm5x"; - "nCTEQ15WZSIH_64_32" = "02w3a4sbygc72acxnfc6lhird4nxcgq5dprfldg10h7f9lr7441y"; - "nCTEQ15WZSIH_6_3" = "05x3cknlnc1kbqnmi3hk6fjgx07dhl7b36rg3abaqn4yg65i79sj"; - "nCTEQ15WZSIH_7_3" = "0d6cmpv6csysr96knip033mw7sg56ls1gcq8gvz2qy7isj167gx7"; - "nCTEQ15WZSIH_84_42" = "15zva7n91p6s98kkhcfsvws20s26fl1bvjql8m1n1c2d5pr29wj5"; - "nCTEQ15WZSIH_9_4" = "04cs89s2m99p31jkc2k4f5i5rr0l4fpa6a41d59zvknhgfy74yvw"; - "nCTEQ15WZSIH_FullNuc_108_54" = "1wk8vhhlzj3wrb994s66q5zmwxhcy9vxpyks36s3jr5729jxk1j1"; - "nCTEQ15WZSIH_FullNuc_119_59" = "1rrkj7inah6bg03mmxgza39z40ghdr8km9hy5v5b69bvqcyr42a3"; - "nCTEQ15WZSIH_FullNuc_12_6" = "14wgacbimifnaji6byq1cds9zz266a63bvv616b0n06391plvzff"; - "nCTEQ15WZSIH_FullNuc_131_54" = "0k6gncwq4l5avlnr4qpvakklysi6g855yqksylc42ndlgjm4jxfy"; - "nCTEQ15WZSIH_FullNuc_14_7" = "1mlffwsn3f942flxvvi0rp63xlcrq88ir9vffmkzh3br3qpm4q41"; - "nCTEQ15WZSIH_FullNuc_16_8" = "1ga0kijnlzjz98j32bakcan89bfhbhq8y08d84d90xpgaqkpb9z2"; - "nCTEQ15WZSIH_FullNuc_184_74" = "1nhly8065kabzjjkapr75vafx46f1zl21xc6fdcv15a2qwx54n0p"; - "nCTEQ15WZSIH_FullNuc_197_79" = "0l9c684f427b8hhwm68swh78n6104nbpdxq6v50zipwc6df0j6w9"; - "nCTEQ15WZSIH_FullNuc_197_98" = "0vc285bd21arpmaykb6baspzr8ak42yx9h4j0sx2vj07l648g5hi"; - "nCTEQ15WZSIH_FullNuc_1_1" = "13gbjq46f5cdpdr902nxv261hqw041f7ryxbwgvxr3k2zm7h8fw0"; - "nCTEQ15WZSIH_FullNuc_207_103" = "08m08pcz0f72nd7zcrvi8cl5va49djlvdff1w4is4gmsb44khyv2"; - "nCTEQ15WZSIH_FullNuc_208_82" = "04x5icmidi1p3j8bdarl3sj0ak6g2ygyc5wmkkn9g80qqn4mxwva"; - "nCTEQ15WZSIH_FullNuc_27_13" = "0x4iv1kxb5lp514qm1nr3k32m68aw7sgy12nhdjhy2dv018snd8n"; - "nCTEQ15WZSIH_FullNuc_2_1" = "177qv17wv15sr1zcm2p6av20h32cjkspf4jj3jvvvgvks947n7dl"; - "nCTEQ15WZSIH_FullNuc_3_1" = "0aawk1ppg3nhl5n6gpdi6l1rw53l2x2sv3fwjz5821b6d7cmb9f6"; - "nCTEQ15WZSIH_FullNuc_40_20" = "1271dlp580a5gm29sv6b8plpc8d06j57x2xrfjyp7kafxa1158ii"; - "nCTEQ15WZSIH_FullNuc_4_2" = "0sv20zpzbinrz5biia1g3jzgyq0wbqaqrmrhhcyg2yxg9z48vgca"; - "nCTEQ15WZSIH_FullNuc_56_26" = "1wz1vwy2q85qz85kdy9gzzhnvv0jy4iazzavf9janz2xzw7833gg"; - "nCTEQ15WZSIH_FullNuc_56_28" = "01y0f2bz5yxmfd719fq8s1i3q5wb0dd81l0qkllpa961db83zmz2"; - "nCTEQ15WZSIH_FullNuc_64_32" = "1a93nqx26pj9kyvy66dmm4ib2pl5qwf03420q84zdl1hlcgaszzc"; - "nCTEQ15WZSIH_FullNuc_6_3" = "157j927a4x53gcam5kmpcpkyk76qgdlszxa4bcj9wlqrygwxsk3k"; - "nCTEQ15WZSIH_FullNuc_7_3" = "0l369wpd3gcb6i452w2hsjvidz80xl623xf1g1p8d2485nrvh6jm"; - "nCTEQ15WZSIH_FullNuc_84_42" = "1nikb7yk35s27g43k1wlgcfxqfyjf40csn8a6aiabliqdfjacaqv"; - "nCTEQ15WZSIH_FullNuc_9_4" = "0nnxf32kllwvm3fyjlswnyjx8cpsanx15qwsn03z6d67wx2f87sw"; - "nCTEQ15WZ_108_47" = "0v1s95f0wxyz73pfv5z6hc4mslxb7ml6imjmkhn2p9yx5mvk94qf"; - "nCTEQ15WZ_108_54" = "0zqw1p1sls58v7aacmwamlic0vsjyjijfam6bas5lh92rrmcf9h6"; - "nCTEQ15WZ_119_50" = "1wwx1rsjhd8rqrvyq68r70issnsby8zrlr8d76br3622mxqr83a7"; - "nCTEQ15WZ_119_59" = "11hckxdqyfrbsv3lc12q8zjysr2nw9mhx438ff13azp93ha7h1v6"; - "nCTEQ15WZ_12_6" = "0naqqy223p6gyw2r1qy5fs185dhmxzmb3zmkx3bbccqnspk7qcnz"; - "nCTEQ15WZ_131_54" = "0fi4sjv7rs90yac1zmnlf38dv5ry9zwzxrjwakpzh00irxw0cz8r"; - "nCTEQ15WZ_14_7" = "1k4sc588n3rd8fvcvwhxzc405iqj28xzv7y1md45kz1c7m6qy4cj"; - "nCTEQ15WZ_16_8" = "0ndjlgbggbk3zk5bm9nm726ci1v8b3qfy3gag14jmp7q780zyhmy"; - "nCTEQ15WZ_184_74" = "08cdkqbjihls2sg4waj9rxg7nvs0mjzxfv3dx1jppiw6f7ljjzrr"; - "nCTEQ15WZ_197_79" = "0ss7wgvx8rv03x1g10c516i0yd65njc7qjh19maij49aizf1fd4l"; - "nCTEQ15WZ_197_98" = "0vlyjqlj9plniim0z7mdhia307i296iha94l8b3iqgzyp9553gly"; - "nCTEQ15WZ_1_0" = "13wnm5sz1sf3hng70j8d3ml53knrx9b7wrg2h6x947jl51flrkh4"; - "nCTEQ15WZ_1_1" = "0pllq4zdgjaklad9j87vilx8gapzfhjh478gcw479ahgjcbbbxxp"; - "nCTEQ15WZ_207_103" = "088d8sr9mq9q4bi0ipxznbm3k2b2k347bj9k5fxsb27f4dl5d0jp"; - "nCTEQ15WZ_207_82" = "0cxagqav2q6kwq83syiad67nmzzkmrg9q0hlshbz6bjlcqmdi4jr"; - "nCTEQ15WZ_208_82" = "1c7vacsr2m6r7dy1b439c46xgxjqvq1gj9y68p2vargm5az444sz"; - "nCTEQ15WZ_20_10" = "1y38sqjgsjrfhmyhf688jir2hgkk871sjz8dm89lm5g7m5c1mgmq"; - "nCTEQ15WZ_27_13" = "0gb2zg5j3jcqjisa3nzsbif4rfi8vshl5vq2vq93d2132qgpzq3l"; - "nCTEQ15WZ_2_1" = "04nhmrvy2m4a2i8b5qadsg8h51k171df1kb7mdqn3hjzga7lg0j7"; - "nCTEQ15WZ_3_1" = "00aansn8jjh8yqyhr2fx8h453nahrdf8j1j0qgny1n1mhad4mc56"; - "nCTEQ15WZ_3_2" = "1pk6gp5a1g15zn5w00l89liz4w7w4xsmpcdk4x50vc7k5phy6vj7"; - "nCTEQ15WZ_40_18" = "0m58lby911lxqy6rvvs959qg5gjbppnfxl34hn81glc0lr90qiz6"; - "nCTEQ15WZ_40_20" = "0dnk9yikivxd557bpi9j7dbpwkf4sk49bg8lf0lxf86bdmi2l330"; - "nCTEQ15WZ_4_2" = "00rr4qwwp7i419sy5wr6f2lz82121ilrvvj0js45bvcqknx26c7i"; - "nCTEQ15WZ_56_26" = "09qjjavqjwrh9adkz6yhcjjiy55dg6c7imnbsi8qxi8xspz8nqq3"; - "nCTEQ15WZ_56_28" = "0pdqsrj4dphjb50r3v95wp1drc8rkdgsbisgg430dj9xaa703ijr"; - "nCTEQ15WZ_64_29" = "1qjvvfzv5nfjp1k1kdv2kz5pjssr2avrnjlxznqvlxwgs7rv8p7v"; - "nCTEQ15WZ_64_32" = "172whqdyyvqxyr3lijw2v45y8nvc0vk7z47i9xfmcydi2qfz8g3s"; - "nCTEQ15WZ_6_3" = "0kr0cf8aqwsn4x8kjwihsynvb99i8bdp4g91digbgcfpp02jyvgd"; - "nCTEQ15WZ_7_3" = "1c76h9xfflfihqyxi9a6dlmg1gwwr2wh93mfac3a3jnx73981gq3"; - "nCTEQ15WZ_84_36" = "1cvykpl9r41dwahjv3kik98y6sx53wiyyzywqc87mhnlx1x5876f"; - "nCTEQ15WZ_84_42" = "1jslkk9wc0fzbm6s5czpmaf004pndwc2ggwnxgkga2idn45204xz"; - "nCTEQ15WZ_9_4" = "0farphic6jyzc5x3ja715wdmvv5rfcgil1c49i8fxqlap5mlgv89"; - "nCTEQ15WZ_9_4_iso" = "01zxmn50r14n1a5gq75pia8mz4ibyqhyjl5d31kv3h69xgdrlizc"; - "nCTEQ15WZ_FullNuc_108_47" = "0yl5ll4j3mr6nhiz9ynn9w3hybgwdypg0b8zwsxz1rjcr3c8bmz5"; - "nCTEQ15WZ_FullNuc_108_54" = "1c8cdilw9n91apqj9lrv9j6hf6mcg3ndndchc96d5svrqlqk4fg6"; - "nCTEQ15WZ_FullNuc_119_50" = "19lb71cmmi4fvpb0bxmz0ipjlzg6b5hrlwiml4bj5r65km46whyk"; - "nCTEQ15WZ_FullNuc_119_59" = "0r9cwy2znpl59ynv2av6whjl3igm4b19rzh6sjqsm6a85d5jjdpc"; - "nCTEQ15WZ_FullNuc_12_6" = "1972j8lziq1ckwq2s7qpcf9g7mg3762kfrnbdjf4ilfw5b2b9i9n"; - "nCTEQ15WZ_FullNuc_131_54" = "06w9yl6a11ir8qjyxaakyzs8b51hf3jhm8nj5nvrh4f6cicp1g66"; - "nCTEQ15WZ_FullNuc_14_7" = "095x9pphc9lx71hlhpwcb71p8wx3b1pnv6qd3s6992visismyb02"; - "nCTEQ15WZ_FullNuc_16_8" = "005h4mbf9c7d9w61pmgghpxb5yh63i6cbyxyylngznbbbaxggjcc"; - "nCTEQ15WZ_FullNuc_184_74" = "0niyiq85bmbr596gfrsmf79rksql7n2gqdxw72yrki5ywc3iy4sr"; - "nCTEQ15WZ_FullNuc_197_79" = "0vbgg6m0b1wlrsx2c5xxga0crz0nwvcq9a88f032yjzihh6rscjd"; - "nCTEQ15WZ_FullNuc_197_98" = "0sf4q5bb4b44zkbxq51pf0xhpldr5dj5d0gqpqs40qkdlmkb9z7k"; - "nCTEQ15WZ_FullNuc_1_0" = "1il9j3ggn9kc8k8jpql46lw5c9lq45ngaip45vqppgvl3zcrc4fv"; - "nCTEQ15WZ_FullNuc_1_1" = "0nxvm11qlapnpdkkymqhy86axcvcx84r9hk0dswa2ji5gmk18jww"; - "nCTEQ15WZ_FullNuc_207_103" = "05qqg6ckkhv30nfbs5rdpiwz7dkgywjrd8a9gr3skvlayj2bisni"; - "nCTEQ15WZ_FullNuc_207_82" = "0s27py7i2h0va79q9ivmgrpwk5pxrjx9csyad76fc7pmvi4xsgjl"; - "nCTEQ15WZ_FullNuc_208_82" = "1xygz9px4jwz3vkbx86384775vhiqqv5l2rp2qi42zy8y8ijwaqd"; - "nCTEQ15WZ_FullNuc_20_10" = "06bgr8r6pz8cpvqbncjaazxw7j2qzhh183brs7r5mi6yckg318gz"; - "nCTEQ15WZ_FullNuc_27_13" = "1qrs82jscmxyhqkd4fa2kjglzgig23kqwc7r2n8p23352ggcsn9x"; - "nCTEQ15WZ_FullNuc_2_1" = "0jxam0p1ypd3x8l83d2f14h2av9wk1r69prfhl6pgd6pdh3nx2gh"; - "nCTEQ15WZ_FullNuc_3_1" = "0kjgsiidi33p442bpp1g6sss62qn4pj90ag4hcmdqsdf5m9vpc5s"; - "nCTEQ15WZ_FullNuc_3_2" = "0srxdvk5jh4ga4r8hniikzanfa8fh65xc4g51arxwd9sda4n0mqb"; - "nCTEQ15WZ_FullNuc_40_18" = "1x7d1cpglijq4rag57m8sp6qyzn3c7r3zs5z9jqarsaqc9wv2ypw"; - "nCTEQ15WZ_FullNuc_40_20" = "1l58bvdhqs9i4mgc39dw9c13rsh5vq5vh6zq8xk35150cbysiwza"; - "nCTEQ15WZ_FullNuc_4_2" = "0s1zdn5r9hk7bjk2ggn7bhrzq2iaxspdhmwi9rq1xbsk7n8k3wif"; - "nCTEQ15WZ_FullNuc_56_26" = "15ilca90cvw7p3w1xr15jynqnvnyw8zhpydhyq11x1kc647bgirm"; - "nCTEQ15WZ_FullNuc_56_28" = "16bs4yq4jr4y3431csabgps6330gcw1ymgm2161z4nmmyp988w1g"; - "nCTEQ15WZ_FullNuc_64_29" = "17wqyn8g5zbrm6ywvqn2y5kphy9xwbgijwlzxsni5k821nzmjyxn"; - "nCTEQ15WZ_FullNuc_64_32" = "0ivyka1g2cj6ign8wm28pzim3saas3bvnxqhixxkr91m1gl40b86"; - "nCTEQ15WZ_FullNuc_6_3" = "00v5wydvrvw1fgbzc436cap7amk8yr7dj5wf3ykyd6415vxmlzl3"; - "nCTEQ15WZ_FullNuc_7_3" = "06z2p0gx988q5w4d3c0qx6pj7lp6mqlz1qrnwy5lf4i4i4vcqkkx"; - "nCTEQ15WZ_FullNuc_84_36" = "0rfn82f8f9f6bgngrs67maip2kfhy42i4ppa904d7dspyqkgfa31"; - "nCTEQ15WZ_FullNuc_84_42" = "14lyhhc5jwccqnz85msaqzdx7cn2vxkvm2l9mf1p2kmgy7p5jis3"; - "nCTEQ15WZ_FullNuc_9_4" = "1895lr4yydzk4cry5wnjhpl6gs2kcspjlm2mv2y00sb7gzinjs94"; - "nCTEQ15WZ_FullNuc_9_4_iso" = "0kvjk4wvw98w7y02ishjacn9frncspl6rsxlzcd4y2pdk1ckr29i"; - "nCTEQ15_108_54" = "1bjx2d61qjhabfx28pfi64hf8br4gl67nzir3ygdpwdcah4k6lz8"; - "nCTEQ15_119_59" = "0g7wffsyjh84r2wv8w67skx8gwdb3clv9c1dlpijwqmpkcm3b8q5"; - "nCTEQ15_12_6" = "1xnnqp38zz3b61jb38hz54wv09w06fwwnb66sf93r1agcajvv1vi"; - "nCTEQ15_131_54" = "062sg81yrrdsc376gpq01xzsb6114sp6814ah9jbrd08qqxh04p2"; - "nCTEQ15_14_7" = "164p2fhlsmkcc6fibi28lysbfn8q5vds4f0k0kppi96absgrfa70"; - "nCTEQ15_184_74" = "1zqyvla6dj93cgfjw5z97b6wh6qy8pkrvcbwirjva769210rax75"; - "nCTEQ15_197_79" = "0mp1gddlwxk2vdyhra5lafvblc82g6n2p19lmjwkmnrmjqdqsz12"; - "nCTEQ15_197_98" = "0z2ymk9y0syzqj88mnr2kjn104602ajg17s31d9vi29lggy4cn44"; - "nCTEQ15_1_1" = "14dlybcc038ssv2xbyhing27b9zx07nkqvgf66ysbb83ym5dvibs"; - "nCTEQ15_207_103" = "1zpxky925n9jssdr036dyax8wxa0d478l4mjl50bjmzqhr8wl7hv"; - "nCTEQ15_208_82" = "01jf2mrknx5igs0cvhm7xr25gr6z93bvj12cbq53k15fk5niyglv"; - "nCTEQ15_20_10" = "1vhk2lmpf5kci9173v5qh2gsz7zghvjb11x1mln8yqcdxaq4az8x"; - "nCTEQ15_27_13" = "1md9xv99m6jcdqldhbbypdix581nmhpyanvr049l5c1a2ab5nbpa"; - "nCTEQ15_3_2" = "0nq1aj4hxjih4z4xlhjfbza2dp2fyhwbccjgmgh2za5y7rzgz9fk"; - "nCTEQ15_40_18" = "1gb4kfs207izq4dij9pqbmwm10vx6f1h7pdnf749jysmf6nayndh"; - "nCTEQ15_40_20" = "0b44nkk315a9zaq3280wmsj67rkxw4jyk9v37s859fikr5v7s0sv"; - "nCTEQ15_4_2" = "0c8r4vq3phi40v5h4p3nm7by72pz27zqwd67z9slmf1jy1yilnly"; - "nCTEQ15_56_26" = "0ndyjjh7sxnhkamx182rpax0kcc2iqzwnmh391m5wh629zk0av8i"; - "nCTEQ15_64_32" = "0ixbr2d30v6slqvp6gpry1159rx5m4hd1msymgli1w9k7pp7xjz5"; - "nCTEQ15_6_3" = "14ars149pssaiyhaln9zm7vz3wzj2597cy2xasyhlrfqhlgrq056"; - "nCTEQ15_7_3" = "13b9wbm2hqx4lixq3dad1y3cr6didcch8kg7mqm9lgbism7dwaqw"; - "nCTEQ15_84_42" = "12vkqpvjjyh0x0hbn7r4gx5za01yqs9a7lqirdxd15k04fp5rnjr"; - "nCTEQ15_9_4" = "1rkxhxwp0v9dm6f71c5635ihlspfx0sj666maif4iaw1sf4hazln"; - "nCTEQ15_B_90CL_Au_hess" = "13sdn1ng4nd6935dksk7jin8yilp29zys3d0jvf7m7vx8gyxi187"; - "nCTEQ15_B_90CL_Pb_hess" = "1j11x8y5sbs5lz4z06wcl702ijvh1bcb4i222jdcq9gh9j40xn17"; - "nCTEQ15_B_c_90CL_Au_hess" = "0k0pn3yqb632j254h8w9wbdvcasnfxr7d9g47drqw3f4w1as3s16"; - "nCTEQ15_B_c_90CL_Pb_hess" = "0gvvwnc298qgxhpj4wgnzcrgz0wqlj5r7sfsl1fj21zhm3kc45jl"; - "nCTEQ15_B_d_90CL_Au_hess" = "0lzfa2gsl5cs2i6y833lhvf2pifzkysj9jgq22v9iyyz5q0nbsh4"; - "nCTEQ15_B_d_90CL_Pb_hess" = "0zp7dirc2l42f9zjyq1a2qbnir1bbj1firmg3s856mn7sp3p4i0k"; - "nCTEQ15_B_u_90CL_Au_hess" = "1w2ifnl9waqvsaz1yg696mmqxcijm2bphq8zp3rcbimck3rmr978"; - "nCTEQ15_B_u_90CL_Pb_hess" = "0j95dg6kyvd30qgivd9495glcd152cr1j3zh1cg76s6sdzfkhvs5"; - "nCTEQ15_D_90CL_Au_hess" = "0y3n008i22g9ny0v8z6hyc47730xb6qldkpall6p8icn8yzfdga9"; - "nCTEQ15_D_90CL_Pb_hess" = "0mp1plqxsd6j0ybnf7yrl4hgl68a85q56vdjhs911xah1bgrpix1"; - "nCTEQ15_D_c_90CL_Au_hess" = "1xk6ngc488n9immd9nbv8ygvxav5n7b7902k44rkxnw42kbx2c4m"; - "nCTEQ15_D_c_90CL_Pb_hess" = "1ldig46l08n00jvj0dl36jsnpjl2ycv3jdr9d9g375rwgv671kad"; - "nCTEQ15_D_d_90CL_Au_hess" = "059fz4rfhydnk25hmabavwi346cy2hzxaw2ciq8jx64fmawb3v79"; - "nCTEQ15_D_d_90CL_Pb_hess" = "0zgs89yjypn2sd97948z2r78sydadivvw6wy7pwi3a5b0yx1zpzn"; - "nCTEQ15_D_u_90CL_Au_hess" = "0j8sfih3r2wps1l7vapnllh88ibw7672f646m5p67aw5k2an4f8j"; - "nCTEQ15_D_u_90CL_Pb_hess" = "0d2nxsabard1yq8f2v9a7kwk0fzv549hx1k15k0dfif9523i6xqf"; - "nCTEQ15_Jpsi_90CL_Au_hess" = "0x75jizpqi8vss62xb2913vdhvckq2b468iqxd0ggr0fic1f8q9a"; - "nCTEQ15_Jpsi_90CL_Pb_hess" = "09a9s6gmf7q9rk8c88iskra5kxaiz131s5650964znxv29lpzlqm"; - "nCTEQ15_Jpsi_c_90CL_Au_hess" = "0mh3ikdkca7xc5bc2knjbyr7dkgbydnaa4i1gqln0i29b89j5nw0"; - "nCTEQ15_Jpsi_c_90CL_Pb_hess" = "1gs39gla77sqgry1799l9kapc1c48pzxgfba6p70fdbwdac45n3j"; - "nCTEQ15_Jpsi_d_90CL_Au_hess" = "1qn4f4nn8avjrsdqgab25053zadwx7vlr27w8bsmcxg25si104y9"; - "nCTEQ15_Jpsi_d_90CL_Pb_hess" = "107w4yiv6dl8gqfx0mpbnii06wzf15ih2kqmb8hkmz988x49l65q"; - "nCTEQ15_Jpsi_u_90CL_Au_hess" = "1mdm8qlzkyzrszsng49ns9hq7zdqaal61vbi64449fkvmxd0a7mk"; - "nCTEQ15_Jpsi_u_90CL_Pb_hess" = "1y0bcr3g9znjz2c3s4487yjl1ipf0ls05krfpdn8gcsxymf4cirm"; - "nCTEQ15npFullNuc_108_54" = "1g8id10rpys9566r8h92diqrr43mww6q8nhvlns0kfjkvkr22m9y"; - "nCTEQ15npFullNuc_119_59" = "0df499pvfls1281zkvngrhicnc0ac0bfwamzs027k7f2y6ygkfb4"; - "nCTEQ15npFullNuc_12_6" = "0mb3zixcikagsqzpxb7jzrcg05dln37d7anz5359ssjyd6p1mqyi"; - "nCTEQ15npFullNuc_131_54" = "0i83f1wg81nr742jf9407w7fbknigz6pyx64h7p65x82s4wmj9gf"; - "nCTEQ15npFullNuc_14_7" = "1k2554rg82msxzkarjx85p6di3kmfqxmbfxpasi1x74laz38663n"; - "nCTEQ15npFullNuc_184_74" = "1pnl4y2arxf87b1pp95b9jajzlqdyzs7mv82xhmw9fcn9yliy5s0"; - "nCTEQ15npFullNuc_197_79" = "0d5c6g4185k6pwm5bs5fqlwc97l0gvf6bhk9l8a5vc039dggsgkj"; - "nCTEQ15npFullNuc_197_98" = "0ql9xnwggsqibld13yisvsdkkymzph8wnqffnxhlyp5digwhl64v"; - "nCTEQ15npFullNuc_1_1" = "1fq80hzfy16gs00knvl0g0yqrys27vzyk8h5jzs1ra981zgcw1zp"; - "nCTEQ15npFullNuc_207_103" = "04bg7hnngfsckk92gdrxbrxhsbb1ac1s7dscj7ycdy64fxn4lq8x"; - "nCTEQ15npFullNuc_208_82" = "0f9ddimq9av2jr3yr15n630bi30bxh5nxrsbrcfw9cx8dwnjscwb"; - "nCTEQ15npFullNuc_20_10" = "03dv3z7j69l97xacd38wbp7iyyi36g0bbc2xmxhm3l64rjs21bmz"; - "nCTEQ15npFullNuc_27_13" = "03lb2dznl5dpv0cwsl08dlrh7x26yi9acx3n70imr13gspfxp8ag"; - "nCTEQ15npFullNuc_3_2" = "0rqjxc8q53jndxjrxd293r1m8gin3vif33jzr35y2ail9bhkjyzp"; - "nCTEQ15npFullNuc_40_18" = "1827gpzdrxdkg9ikk7pjgv9h983mwzk21p60635l1zhwby5p4mn6"; - "nCTEQ15npFullNuc_40_20" = "11mjdibgypwpphm1wmf4z311wg4lp37010vwyys8q6d927jzikn2"; - "nCTEQ15npFullNuc_4_2" = "12gx03drv7hnmsgk6sni7mc7c4rbpag5gn2czyha1n19v13rry93"; - "nCTEQ15npFullNuc_56_26" = "1hq6qv19gqzjv57msdajb9kc0lv5jvl3b6x2fc905lg0dc7h2ab5"; - "nCTEQ15npFullNuc_64_32" = "15gq3l91p69dba5gfxvh7j4npwl7rwkakjnsv9lx84hvys7hgba9"; - "nCTEQ15npFullNuc_6_3" = "1gcxs7vcjcdyniczd1rprvzlc1p9yf08sy1fcrny2jfbxkfndqwx"; - "nCTEQ15npFullNuc_7_3" = "09kwf5kbshw4pwh6iilqy1mzgvlg83jhakmvvgz27f569f20ci68"; - "nCTEQ15npFullNuc_84_42" = "0ah349jih2ia0x14mnrygzzw38prfgcmbxyw1hdvzqvgk73wazwa"; - "nCTEQ15npFullNuc_9_4" = "0gsh5jmyn7jlasp9ixx7imvkbp5rxmvfa480vy0bnxwjwz0924ia"; - "nCTEQ15np_108_54" = "16hsl5ihcbx7wvrabrff5h422zfhlfrpskn5dy8s1phhla4r4ff3"; - "nCTEQ15np_119_59" = "1bwhbfhw5xyb1dm18vxm095l1d9l9v0yl072qdbb6z9l29pa71dp"; - "nCTEQ15np_12_6" = "0zv9g7r648f1h1f9qifii0mk2afdvphbfib3hp2sf960zb0d0nsv"; - "nCTEQ15np_131_54" = "19sn6ig1c5smxi845qyflrrqaivm4pphwbxpz2zd9r0qhn032mlm"; - "nCTEQ15np_14_7" = "07pyaik3h2yi05hn49fv3x191i4x6429bb6kywy999bzfrkjndcp"; - "nCTEQ15np_184_74" = "1s2vmirmi1npw3pkxpzxjf9i69gmrl1dqrm2s0cfzl6286h87scb"; - "nCTEQ15np_197_79" = "0p7lnffr4gy8qad8nsm6qfaw05s9pndkw0n9yb6v5i6mqg0j3cgd"; - "nCTEQ15np_197_98" = "0vmjvjqkdn5cixsnvl9lvg07lrq17yw5pf2mdbzkrrfblqki6g0x"; - "nCTEQ15np_1_1" = "1fndfff1lialb2qy08qp44w4605j9c2acrwpdb16k3awj88kx7mf"; - "nCTEQ15np_207_103" = "1fcaw2hqxnzhs9glrh9lxvpfh0sn3mwahgd8d7hnfikrw93v0sbz"; - "nCTEQ15np_208_82" = "0glf5nw1mr42icmbcjliz627nlsb7a5hyp591ng9y7dh41hxr01w"; - "nCTEQ15np_20_10" = "1ka5hnq9cmr4l12ajmw4fpgdzcf0pjlw2pk4lkw6ai1h5h5absa5"; - "nCTEQ15np_27_13" = "02dmzdqqh58h7232s2hcjnpd76rll8vxynq1bx059mvxak5lr5kw"; - "nCTEQ15np_3_2" = "0jxg5f5n4yp4zbdkm9y7xd40m89pbw5687hz7mylpn9n3phsi58y"; - "nCTEQ15np_40_18" = "0yp65xq318qw6xh3wm0n4s4a3s4ahvl14kq3cmwq9b954c5a5vkl"; - "nCTEQ15np_40_20" = "1c367xb361p5mdwyda5iwswg7wb6s6gjibdv27n2kq41p1qp41y0"; - "nCTEQ15np_4_2" = "04q9gq8163lhfjrrp0ysqyb5sx2nkw5mpz70daqnxvybavbkg7mm"; - "nCTEQ15np_56_26" = "1qgh3g6xwk9jc6sd7kjj89w8mr89bhpdaiml5g7lvdqn39l95ng6"; - "nCTEQ15np_64_32" = "02966xmh15i7kg9iif19p5c27rv369yikpm1xqclf8dz45a7xsry"; - "nCTEQ15np_6_3" = "1rr7wr9wwsjfgnrnfvm7nrplhb38zym6qiyg2sagq7saw6kqpprz"; - "nCTEQ15np_7_3" = "0ndqi05g88b769p1chfc6maz6wvs33rx45r4k8f68n79yy6kvrh1"; - "nCTEQ15np_84_42" = "0v968jw1m9ky1mh82w1bjidvg7r7cx23bnpv0vr4c1kqz0n5hb5s"; - "nCTEQ15np_9_4" = "0akxbyrs4y8gmnjiwma8z8ryrzmaw6dj148iq7ihsllwar3hp3p0"; - "nNNPDF10_nlo_as_0118_Ag108" = "1xqhzgvkicxd9wy4lnhqw6brsksxqsq429r6bb0ghn1ll5ln4qzx"; - "nNNPDF10_nlo_as_0118_Al27" = "0z836h7a5abbwq988zdvvf8yhr92krzzmys6lkkgkcffdf2pc0zq"; - "nNNPDF10_nlo_as_0118_Au197" = "1f6vn6n0zz8wml8zn7n2n6wj5y41yanw9b9av51m5kiq4n1r9lrk"; - "nNNPDF10_nlo_as_0118_Be9" = "1jy2cix4gkx648dypdqfj7xi8gdlflh20xlasmwl78av5j7s7rs5"; - "nNNPDF10_nlo_as_0118_C12" = "1c6fvp82cs3464akqf0skrqpcvyp75yqp39zxafzgbqd4wc3pv9f"; - "nNNPDF10_nlo_as_0118_Ca40" = "0r903a01085yhfagnljvjaqfn190r3q0ggvx87kh54xsbv1wkvbl"; - "nNNPDF10_nlo_as_0118_Cu64" = "1vq8a6drcp606fkx8mml2qq37if59cakmcq73y4n7c7swp6q51r3"; - "nNNPDF10_nlo_as_0118_D2" = "07kjzhyh6n6723h2fylgwm7w7ljxz4m6fs9bgwjxp987i00msrra"; - "nNNPDF10_nlo_as_0118_Fe56" = "1smkjmymykhlp0vvlpsp6p6p44pw5aa705sw9lcyxmg8ccy9kmpj"; - "nNNPDF10_nlo_as_0118_He4" = "0mdxsh41m0vzcdq4axvz81m9ra0p6dff88k09gjb4adx9vv52mjc"; - "nNNPDF10_nlo_as_0118_Li6" = "1hrryxhhg9xxg817brrd39k5wz6iq1fv6z8sdabrpxn0nwr1bj7r"; - "nNNPDF10_nlo_as_0118_N1" = "01h7g4w3nc09jyi7g8j5yx2yzqair3ysbx9rx244k1rjx6jppian"; - "nNNPDF10_nlo_as_0118_N14" = "1ny3znivkkl7xhdw8pxkdadwc957236rh60wviiyw4cdqjb6a3iq"; - "nNNPDF10_nlo_as_0118_Pb208" = "066w59xm6lkwrm3glssc6n3qyvv38mx47mkx39p8z9r2spb8igks"; - "nNNPDF10_nlo_as_0118_Sn119" = "1mqx7wj095v0799wxbvfxvb6bl1qh5wdkf14a8gqsj0f5qjnpmyw"; - "nNNPDF10_nlo_as_0118_Xe131" = "0mz9fgxfyx1asi2vxs1xfwn8z51z08naiq1ycl77f4yp6wim6s54"; - "nNNPDF10_nnlo_as_0118_Ag108" = "08vy16fskrvc62y3h0hsikmi6q86njwfm2msmajxbd7vzcv5wkkn"; - "nNNPDF10_nnlo_as_0118_Al27" = "0vm95lawgsncsx10ypy99746sz34y6shblkj9pgn6si2cy8gpcwp"; - "nNNPDF10_nnlo_as_0118_Au197" = "0b3ld033f2hwjaqp5p5pzmmzfid8hl416a1q8fc0zmd2lfiamsac"; - "nNNPDF10_nnlo_as_0118_Be9" = "10skffir8hqfv2wj01ghc14lfs516kmh59q3v48nw3a724kxr93a"; - "nNNPDF10_nnlo_as_0118_C12" = "12rrpcq9bvwcncj1hk28wkym5zzdjkf0d0pdj1nx9asm6vpbjsdv"; - "nNNPDF10_nnlo_as_0118_Ca40" = "0k914fnqsv45f16s6zmdwbnbnhj5lxnrk9pbnnaap4vk7vx7101j"; - "nNNPDF10_nnlo_as_0118_Cu64" = "137n1nsq75g0n4hmbqfl1gihngfrz0rqd2gwj24m5byhbylwlg83"; - "nNNPDF10_nnlo_as_0118_D2" = "0xa17gjjh0mphg1h711vb6p2pjln0lqy7401lamnib2z7p7mss0m"; - "nNNPDF10_nnlo_as_0118_Fe56" = "0h0qwbckdcppqgbhfy3kyy9p4nryh3p45sjmlxhm94mlznipjwrd"; - "nNNPDF10_nnlo_as_0118_He4" = "022h44i8k2ybvm9lkgc4lkcv4z7r0xzlrq2bxyqkfmpp5fpp7gkw"; - "nNNPDF10_nnlo_as_0118_Li6" = "11bci8mnv57a583ayrpvvnz4lsxz43z23iqgqjc3b3rychgiz57a"; - "nNNPDF10_nnlo_as_0118_N1" = "174gscxa2acqpgf2mks5xpim1jcpb0vg76pggxazm376vyyjk883"; - "nNNPDF10_nnlo_as_0118_N14" = "1g2gwnbfzlfa094px1rnjgk8py8qzwq7bi68n7p49bqjj88km3av"; - "nNNPDF10_nnlo_as_0118_Pb208" = "0bdi3z36ckf788v3ld3ngvchyxzsxcfl9fj7rzs2lwkg80rclgd9"; - "nNNPDF10_nnlo_as_0118_Sn119" = "0k7lnr1ils38sqybipmf13n582wb0cf9rr288ibrbmx15rkk5c3w"; - "nNNPDF10_nnlo_as_0118_Xe131" = "17k1afk6j53nl83ixyy6nyds3wy5agacdyn62bwp7ykfs8x97s4n"; - "nNNPDF20_nlo_as_0118_Ag108" = "1fb2h6752vn0v66h12dhhk2izxjs4b10mdqx17djrvpkzl97hf8d"; - "nNNPDF20_nlo_as_0118_Al27" = "1lfkg84hf0chgk0qzp45ch23pzjixkzxxh3x7xphcmnpri4cgl3r"; - "nNNPDF20_nlo_as_0118_Au197" = "08ll61b96iggm1qnr9q2qdzyxasxn9mlshnxz7kzigfsnqqnkfbw"; - "nNNPDF20_nlo_as_0118_Be9" = "1g4vlr9p6i6n87bx6w2i5d4qkhymldkyxj1i2qnl8v467vhsz6la"; - "nNNPDF20_nlo_as_0118_C12" = "15366p04rh31nnd6zxcmcs9ki5fwzn8d8cvzms45apnw928k6pqn"; - "nNNPDF20_nlo_as_0118_Ca40" = "1abxkr4r5psi6n8rrsbf97gwwkh1dg9jqfd46hn2725r22c6k8l4"; - "nNNPDF20_nlo_as_0118_Cu64" = "1nkkiwx22b649pmyfykn2ggdq99y985mnkv3fnkm8i43scwbswvb"; - "nNNPDF20_nlo_as_0118_D2" = "0gvf9qqgr4ixm9cf2654xyvkc624k5ijqwdds61frljlhd49yqm1"; - "nNNPDF20_nlo_as_0118_Fe56" = "1ci132hc8mpsj0zjr9fichnkapagjs6q9pqli0yzgnnv6l2aih3a"; - "nNNPDF20_nlo_as_0118_He4" = "1phq7m6lbx87s4whs2xygigq7fz1qhzj3nd9anx5r67w7q99rcad"; - "nNNPDF20_nlo_as_0118_Li6" = "0pwdqrmivpm0j7hrg6h2qqshpna2vjlslxnz0sd100kc3lfq7xab"; - "nNNPDF20_nlo_as_0118_N1" = "09y7pd3nnys49w25gb4524x5xkahillvaypjgncbn8n5x1a11nsr"; - "nNNPDF20_nlo_as_0118_N14" = "0nb3kcmhbyncp9frs27ww550mjl3f7yiahyyrm3aik93ycpm16n7"; - "nNNPDF20_nlo_as_0118_O16" = "1wmi63l6cpj3nx0vwiqaa1pfw0im5ps96g7842428skzrg0q4yx3"; - "nNNPDF20_nlo_as_0118_Pb208" = "1rwb7vca0y1aj38mz8m3wg07q9hq66qd5j3y6hs9bh0jz6hkifzh"; - "nNNPDF20_nlo_as_0118_Sn119" = "1dan86ckd5padipp4x12x8msfg5p97b8hwxm78gfyf88kq725m6z"; - "nNNPDF20_nlo_as_0118_W184" = "0wzd8vw2svf3mzpyy1wryr5jz3anhykp5z3cx4hdljprws2b8nll"; - "nNNPDF20_nlo_as_0118_Xe131" = "1a62qi3qy5kli9q80p2w80mj5v3ps2g6p40zxlgm65q5mphkx1qi"; - "nNNPDF30_nlo_as_0118_A108_Z54" = "0n67w44rmz5s6cg2h58d8sf51dsfd0i5g09dh08mgfcn640bqlqw"; - "nNNPDF30_nlo_as_0118_A119_Z59" = "1zj5gn5021ig0j6p7jpyy683avg0890blmr90yjm6skqzxfjq48i"; - "nNNPDF30_nlo_as_0118_A12_Z6" = "0jvaq9a1w19dybv2hzvn8swk4i4z16lab9yfhbywq0vixyfn1swd"; - "nNNPDF30_nlo_as_0118_A131_Z54" = "01mcqnixjw5m9di508aq8fp74f3aqnvhc1bjirfvi3ca0jz0c1jz"; - "nNNPDF30_nlo_as_0118_A14_Z7" = "0hqpni9fxbf5qfamcirglr04cbwx58pwylqh8hqm3vc03ap3nmjd"; - "nNNPDF30_nlo_as_0118_A16_Z8" = "0f0h3hckxg4xgfd6ldblavhcidzdy2b5660a5nvv96y63sdsx2x4"; - "nNNPDF30_nlo_as_0118_A184_Z74" = "01jsbla72c3b6gbc7w4nx5bb5ws3g864avznb9vxmmk3prib7n8x"; - "nNNPDF30_nlo_as_0118_A197_Z79" = "1gm7nx0cn3lmjlsy6c7dr5vzyfmi1fcdib9656d4039m0ningrhg"; - "nNNPDF30_nlo_as_0118_A208_Z82" = "0r1spnj4qmjwpjybqv9aa6w3wybvgk4qzivzwz4s9bacz0kb3z4n"; - "nNNPDF30_nlo_as_0118_A27_Z13" = "17vmr3pwjp1prb83yngada7sw8553sv39dnncksabnklfp1l5x59"; - "nNNPDF30_nlo_as_0118_A2_Z1" = "1g97mc7c14hnkfsfvg4n9jmb4l461i9lka643s626hw0gcq053f5"; - "nNNPDF30_nlo_as_0118_A31_Z15" = "0h5rx9113yq6jw1l2alwyvw77vv733y5mcpa3m9773s7y61w3fpk"; - "nNNPDF30_nlo_as_0118_A40_Z20" = "1937kk4039hi9cslw4417174s83rs4n9vm16ay70pp1c8bcqzp6l"; - "nNNPDF30_nlo_as_0118_A4_Z2" = "147npkmbvzk6j95hnnil6jafc2gxjqavaawl9cilr93f9h64w54w"; - "nNNPDF30_nlo_as_0118_A56_Z26" = "06dxsapqirmajh107j24b3w2nhqz39gs9c2pglq71fc53i0fra5a"; - "nNNPDF30_nlo_as_0118_A64_Z29" = "1drvfd3i1drrb15m3vk9sm2lzx2x01da44gdq3wbc90nxvzc7d56"; - "nNNPDF30_nlo_as_0118_A6_Z3" = "0zp1cixj6ixayzdra2i5qyfn2b6y6qfxd5d1l101n8sgf4bdh6fb"; - "nNNPDF30_nlo_as_0118_A9_Z4" = "07i30jk29cgdbdk4n5acdki5aihaki5w0mqibjww1hy7mwh4y45w"; - "nNNPDF30_nlo_as_0118_p" = "0k4bs4zhlm7l14mbd2q9n0n7rdnpqwgnfwj289ql62v3kh8mnn18"; - "xFitterPI_NLO_EIG" = "1v6mfhmcrmdvica0wlc2ilfca1srxc7vjyli113wjvpd7wfpnvj5"; - "xFitterPI_NLO_VAR" = "09mlsww89hhm2s96rlkqbkfwwf9qkblw7n3nnrgas6l1kn2hxq1i"; - } +lib.mapAttrs mkPdfSet { + "ABMP15_3_nnlo" = "028q5xixxjxhb8sr7l5v5mwh9mkszm5m59fgnpb69yxvv40a70v0"; + "ABMP15_4_nnlo" = "11zjp4dxmgp69kdkmdwqkpsajvwjrbwylmwgs56mgjb0vgb8wk0i"; + "ABMP15_5_nnlo" = "0z47g5fwh53gg5ws5bbip5q2m5mm7vl09q2w58g6ah9dk25r10ll"; + "ABMP16_3_nlo" = "1ylppc7clyk74mr7qgk0r2cknj2m58y38r3h1dfhjjjmdkw1g1sn"; + "ABMP16_3_nnlo" = "0bwirm3wqyjj6i3asya7kjmmjhqi69l1rnc6gnq7v136ajmv96y0"; + "ABMP16_4_nlo" = "0wx00x98wgvhwsj2fg4kp76n9fhv2s5mbar75dsp6xs4v0d1w1g3"; + "ABMP16_4_nnlo" = "1cw52ijyrhgvyqc28pp278bavy9acvs6qywysgc7qjifygb14mca"; + "ABMP16_5_nlo" = "0s7yz85fjfkmmxj3xdkhz5658n3nx8rr4yjz4hrqbcy00zdcscr2"; + "ABMP16_5_nnlo" = "0iyypvj4645g7nh8w6v88pz37p81bxilgc4p7wlkaa90hiq0wrk0"; + "ABMP16als112_5_nnlo" = "17kg6gvl09p5gm99yb9d8hkl1q51904qflsziv3r5ybxs18ym5g8"; + "ABMP16als113_5_nnlo" = "1gaiyq70zxx7c7c0gkkad3ygbhdwc563al2a6ksy78q8is3bhdy9"; + "ABMP16als114_5_nlo" = "0vnwbz6v2d02d5r34ysd7b4d22h948f3zri2n3yj93k6za9y42gw"; + "ABMP16als114_5_nnlo" = "1gd41d8ay8i8m35qfqsm96jcv8vx6hpdsrdzsj415f4zpw5j29fm"; + "ABMP16als115_5_nlo" = "0pyk43d6v3hzcq487nzj5awd2zhcjbg9ak0pcs1lykhvxwm227hz"; + "ABMP16als115_5_nnlo" = "0i70z8i0qgzr875szdh8sa6x3xcdkvrfsba97a6ha7b6km4p1yjk"; + "ABMP16als116_5_nlo" = "0nyrcb3hbzngj5j3yhpwlnz8a7dx7higngzmp26kmcrr4bmhiq6w"; + "ABMP16als116_5_nnlo" = "11rph6vmmvvsi8msfp2agb7747n7xjgxb7z766i5jkvnggbmz75m"; + "ABMP16als117_5_nlo" = "1pfjdxxdwrwz5n5206jcv61l8ycliwigqgram6hlm8ibl9a828cy"; + "ABMP16als117_5_nnlo" = "1sz9hy2m983aiwyssg60v4kq1zvz4xxvbzrgsdik1qv13bj4wx9w"; + "ABMP16als118_5_nlo" = "0ddaf2a7v3kdynsmls6zxld9zflv9m8qkp8gibc5xd6vqsg64f8x"; + "ABMP16als118_5_nnlo" = "1slvr5ygwwryk63mah45xp5x31qwrf0gkrnh4p9fvl4rdkji6z0z"; + "ABMP16als119_5_nlo" = "1brv76x4z0r0vrxr51gqvfzn4d03srhvab6dmxhhj3sy23qnbxg5"; + "ABMP16als119_5_nnlo" = "1iqs1bi8r22awflf698cj39q8s2w86fwvdfgqb6sr8csm36ih6qp"; + "ABMP16als120_5_nlo" = "133vy2zhvh49fa9xkp889mxy6xbriv10q8r4lx74wb9d1kqwfx81"; + "ABMP16als120_5_nnlo" = "051bqfyh2017vnvlisvkm1ik6x7n829p8205f5algsw7wi1s7b9v"; + "ABMP16als121_5_nlo" = "1l41qgba24rslg6ascsn1i0y0y0d7yh6hszhclxqyn07gzwq7p78"; + "ABMP16als122_5_nlo" = "1ivy4m9fah8i0ipfxfq8caxa7pz8y86wgrqydg9wal9qin8n8xcd"; + "ABMP16als123_5_nlo" = "0gcf7dqr1gzjfa6iy0qzivyibw72qpagfda0a5aksd0h6aap5mxc"; + "ABMP16free_3_nlo" = "1hxlbmc2kzd8yai7ipyc95khdsawdcnzxzr0vkk3h42fxczx9y6q"; + "ABMP16free_4_nlo" = "1ckwbyj18bgvpv16r6lx3866ca4frq6rxmzvz14ak6h8mpwvcnmq"; + "ABMP16free_5_nlo" = "0sbkrn3g4048bn0y5bm6dqpn1za3761n6x40k7i4pdi0b1g7zlc0"; + "ATLAS-epWZ12-EIG" = "010ddmyfrmscgd1xdjsxsjc773jlvbh3s6mjbwk9zd298i3bf4kx"; + "ATLAS-epWZ12-VAR" = "1r9ip8549dzhs02skm8v00g6nsh7q1rwd3syz3bd6cl4sqhs0k37"; + "ATLAS-epWZ16-EIG" = "0b1zzp8p0kh4xjn76nm6waqlvdpqvnwyqsnnqdp2n7b9r9ssryyf"; + "ATLAS-epWZ16-THEO" = "0b0wqa203b2x159y54xhf9yh34lkchp48vp9693k51g9aznx8gjm"; + "ATLAS-epWZ16-VAR" = "1zkhlv8yxfla46gj57119w9prsd3zyy5vg275bayfwa6b71gmc0b"; + "ATLAS-epWZtop18-EIG" = "069rysd9mf3cshx7xkcv7735ydh2g6szvljbfkcqwckaqjg2x3v5"; + "ATLAS-epWZtop18-VAR" = "0hpyp52dwl8fnw47pyw8g7fsz97wr6sk4yli6sx0zbj8yy2j28yj"; + "ATLASepWZVjet20-EIG" = "0lvd3zkmisx95rbjx7r9wkk0s0mxvaybp3pk66sxrxf1bj1l9r52"; + "ATLASepWZVjet20-MOD" = "1iyb50isdsy3a5wnlm0185z9bfs6nxwlcl1aqlh4h3j1dbmz4ba9"; + "ATLASepWZVjet20-PAR" = "1kfqii7sbcs8zdsyd9kiy3r233nawc9yfc23fb6ql0xcwfzpyb1d"; + "CJ12max" = "1vk2zkaiqbl6fixaxy7mrggmmxv7lvnw736lxm5sh25dapg6s8ag"; + "CJ12mid" = "0s2558ihypn0l9qqx25qwnawbc7fkbi2wwwhbyb108rjk2klaf8v"; + "CJ12min" = "1kdla638m3axr65ndid9irmqhby4gl084r297xw3jxxlrb0b7hj9"; + "CJ15lo" = "0hww26wbcb3i61z41s518gj41mn5gcikb08pdzyb5vyrl63b39bf"; + "CJ15nlo" = "0acmyr5zpb7yzs2pikhgf8nx8l7csmai4sv361l7x3miqir56ss4"; + "CSKK_nnlo_EIG" = "0fdc2a7xax7xl5n5f3ff5dcf7zbpk43z4kfy3ffij2qykrwfx7bp"; + "CSKK_nnlo_THEO" = "0srs535f9xydqfzyy208304yxah1rg1r5ilx8hk9nvgaiy7kwnvq"; + "CSKK_nnlo_VAR" = "1iyiam3kbjrckh0sw290hwi04h5cqif081afgd16f0a44wbcjsi1"; + "CT09MC1" = "18ap08vh1f4ivibq5z57wv7lwvw1pzwl865xznzzcr0jy4f59103"; + "CT09MC2" = "04yxg4bl0dcgh6hb9g223wm084w0q1y2lbd4z7w8vmvvvn579ij8"; + "CT09MCS" = "01vjpdgy79gvk3w4blwjgfqpf50mjdi5kmfcgnlnwxp5q0804pgf"; + "CT10" = "17glhnqj4yknqy70zs7m097n1qq9fqljj3mna6qxchmgql04dvxw"; + "CT10as" = "1709bb3ky4mpn4cgx9lda8swmvb2pl70ly1gzk4ahgsflkb8iaj3"; + "CT10f3" = "0ijrx0wm03r0yg6f0n4vwp1c3kypdjpmmnv12gk79y193bfk362l"; + "CT10f4" = "14icbh8lg9290wfalr1bsx0zff1df19x0qrjqh8n0y9ckqmkbh6l"; + "CT10nlo" = "14ib003sxpxc8awywjckbw124aqhmi70wg4hlwc2nvdh46sqk11b"; + "CT10nlo_as_0112" = "0n2abywijgjys56kz5qm30arh3v5k685l0gayl4mdablbw0ccaca"; + "CT10nlo_as_0113" = "123kbzzfjlparffgmqpimygzjcn0wi1vnyrkjfjn2kwcdjazz8dp"; + "CT10nlo_as_0114" = "17lgcbf7914dfb89d4v8fal69zq7gmadvha8gpz0wfw4p0pq765b"; + "CT10nlo_as_0115" = "0rgpc3mcsd18yg4j41k9hhvbjbi3d1zrd9fq1314m4qvviq6d9j7"; + "CT10nlo_as_0116" = "15xyhmipv9xbiz3jaqdj59nyczn35nq14183xz4py68l2v20smqi"; + "CT10nlo_as_0117" = "1qf9azafrwqpyp5flc912g2frfpi899vb032yrrgqj2l1flg474x"; + "CT10nlo_as_0118" = "1jra85s6df6vvmljkf8gg2jkj3r6b1yl6aidzlm3j59di0fk9xp8"; + "CT10nlo_as_0119" = "0y7k0w592j777jpbrh8v2zh1l6n38xbxjvyiv5x4pvwi6zrp9ppf"; + "CT10nlo_as_0120" = "0mh1hdmic5c3krlb1xypy0n6r86r7da0ay9183xwb68d1kh4j630"; + "CT10nlo_as_0121" = "1gwvgj3bwv8fz8mbmgnfsy0bvsm4h9d898mf1kcaaivh56sfial8"; + "CT10nlo_as_0122" = "1jkkqcmjynd30paxc9z9gpmxkfhs6ad3x5sms5980jx291rc8hgd"; + "CT10nlo_as_0123" = "0gppcp49275pg3yv37mzkx7az6298wwy7gqla3gzxfzlas0ybg0b"; + "CT10nlo_as_0124" = "1irl19q4wyw36dwhln1m4y7y40by5xgdjqpgj7sqaix8jvijc9bz"; + "CT10nlo_as_0125" = "17c6n2prdsry2phqmaykrf1yc02mvhacb87r7yl0nhkhx80kysk2"; + "CT10nlo_as_0126" = "183p4fd85zs2c1j0zwfsa08wq6v780xvwbg44bpm52m4ih1dgqy3"; + "CT10nlo_as_0127" = "1vcpadkf90x9qiqaplc25hld7qljk5d3lzs1dssqi5fh1kci8qd1"; + "CT10nlo_nf3" = "1dfzas3z075riwx26bkmvjck42pjgbm32d1flg5rccsxjn4pmmm0"; + "CT10nlo_nf4" = "0npv1h5gi2vhgxzcbcsl740z2p7j9p8pg3jwfb0yz88wlbj5bkah"; + "CT10nnlo" = "1la35l1b3hxdkihh9vkibfh68rghcfgq48q27x2b05dfhcvcz9lz"; + "CT10nnlo_as_0110" = "0j1f6lbjhwcpgfb8kwzsij0hfmzb3dggi6zwwv9f2w39ax2rfb8i"; + "CT10nnlo_as_0111" = "1519hvpi1zrjk8p31ksna39n9l8v02ggj5q775q243p9qyfayxlf"; + "CT10nnlo_as_0112" = "0asnbr0va5p1j81kmv8ar267aciap638kcb48cs5ghz9fvhxp197"; + "CT10nnlo_as_0113" = "1j5cfbv1d5q2hscyrvig6xkk7gfv4x5cxn1142qmd8pdm9ky2fdb"; + "CT10nnlo_as_0114" = "03rkvf4ljv7bnzp0fyyrypbbx4rxd1y6id3dfvg4w22s65kp0csm"; + "CT10nnlo_as_0115" = "1d8rkwvnymx4pi0v1s2vbc880mggdmfnzjppd7fghjqj4lkkanyi"; + "CT10nnlo_as_0116" = "039i2bq4xr6hlvg0syzmyfv4lm7lrwr59myrhd609dybiky4aqd8"; + "CT10nnlo_as_0117" = "0q3a5lbpxh24zv7ypbc680kqrkwy5m7xbgx5v44b6cdzlib6lvsn"; + "CT10nnlo_as_0118" = "0b11mpgrkqn2n37asg8qg3qmhdhbr8lmj8qjixxpca0h1j7m71a5"; + "CT10nnlo_as_0119" = "1j411yqrlbhqmby8mplgghmb4zxclf1h3pdsffx9iv8sq1q6dy2i"; + "CT10nnlo_as_0120" = "1djf9qfqrywpsyv0w6igidg9a4ca739dvqgc7qz7qg2bpclbaly9"; + "CT10nnlo_as_0121" = "0nlm5iwcvb02fd7kan4yp60qbc0fgir4dii3xg03n42xzqixy2qm"; + "CT10nnlo_as_0122" = "1kwq04i5ln8wv32vf4akjnzid3jdq67zccfg7xriqrwd9367x5kv"; + "CT10nnlo_as_0123" = "0w4fmsmyci09v0cxnmhdbqxv3xq3wa9ma7m4g39sg2gdsxqz1rgd"; + "CT10nnlo_as_0124" = "0yzrj1pdigssi39z21k9jxbiahhc1785rjxhq7xl8zx38paspbg7"; + "CT10nnlo_as_0125" = "0qvdvj3wkbkw0b0zv79ybds2pk5z9kbriwsm5ffpnycrfkzrm2kd"; + "CT10nnlo_as_0126" = "1cf8bqi1g4c3xqg5k9m4fa8v8bcnwkzblmfn7zc396pgbzhhz610"; + "CT10nnlo_as_0127" = "0zknrx60h8jdf2pfg2zq6xk73hn86gcv69ml78ik5ms0y5gp21av"; + "CT10nnlo_as_0128" = "09yn8l3nv29frj3xn9pafiz2iamccp8ii8j7hmp63iaji6c7m5fg"; + "CT10nnlo_as_0129" = "1ypq63r5myz2phn4y5sbb5dbxvycwis8jixjl0n95xmqlx5zhixi"; + "CT10nnlo_as_0130" = "0ilr6ijbbh1zki66ma006h1qhdq7wmzm0ipki78bk01jnr5yl5sg"; + "CT10w" = "1qkwz1drbkxcb4gskkfn0r7fsa6g9hjlc8716m633x35kha1v52j"; + "CT10was" = "00s4n3nkngwyhh82l132v88c4jgkg03ff4x7m7nna21lvkv4wkb3"; + "CT10wf3" = "1r43pzb1291bjcmahgfh0f86pvb3nhdpxw7gikqmypdmck0n2mqf"; + "CT10wf4" = "18bf9k0jp95y9yz0m896sdzy9q1fyp0r4f5hrv4jq4d1z84zdis5"; + "CT10wnlo" = "17wsw6p0h618q68swn9mjsahfyqikjgsiykiby7y27ryairv709n"; + "CT10wnlo_as_0112" = "0p7mh56zyqh9i72llbmjchwm50ifa358snd8i1nqr3r6lr5265hb"; + "CT10wnlo_as_0113" = "0nl4lk3cscsn6p50b3qqaabqfnkn5xgjmcxvfrr1n4njh411kmln"; + "CT10wnlo_as_0114" = "1vck1i34dspbzskzpbqxbq11gp79drlrik52waklvsl5110xawnv"; + "CT10wnlo_as_0115" = "070cl0prprqqkkzwxnvyw7r4ivvs8slb98v5yza0gvpwck0blnzn"; + "CT10wnlo_as_0116" = "0v50pyjqpcrarbx886la0hr6vwvnavsldm9amcdp1vlck5w8mmg9"; + "CT10wnlo_as_0117" = "108sb5h79mpgkvdzqlx830dykba5kw9zqgxa60i7bcyjnv0277si"; + "CT10wnlo_as_0118" = "0zf335291hwfmdbhgl5v2y5pbc9slm7dmjfkijdv0jm33drpkcg2"; + "CT10wnlo_as_0119" = "0kvwc0k5y51p4qvlb6hhxvn9c2n8x0xn0xyp5zkz75ad3vaz9yvn"; + "CT10wnlo_as_0120" = "0yvbcni3xf718xild7s9g6cxw7dwa38f4iqdm5z7dd9ahxyw9rxv"; + "CT10wnlo_as_0121" = "1z0mlrbdn8a9n6h0jpha3p1lqz4iamrwa80svqn9y4qii9h5pjkn"; + "CT10wnlo_as_0122" = "1dh5czjvyjnwlzc14vz91693pr3nyls5g926g347rdrkqkjq8dcz"; + "CT10wnlo_as_0123" = "0nf7qpgb83ahm5dkzr10xafhcx4lvb3zlxnz70jczl1jd4v2cld9"; + "CT10wnlo_as_0124" = "14h07z06csxb6v6ai1w5ba0kygnsrzdwxr2nx1kcn93axcsqqbhv"; + "CT10wnlo_as_0125" = "0g0w6mwy5y4l36cn4z8gfmigzharyn5xqk5ricasracrnf7ydix2"; + "CT10wnlo_as_0126" = "0dbkkyimpll9r3979vbk4xqi5cfhzr6b28x6j73fbxxxi1xfavl5"; + "CT10wnlo_as_0127" = "1svmgs55kg74rifjyns38lggv1c18mzmpmvsv116rrllklb19pfp"; + "CT10wnlo_nf3" = "1m13if0d9xijq695x41snpwwrsgs5a0jvil6j2ww8cspc33d7vr3"; + "CT10wnlo_nf4" = "1b9lz23rn2w7fqwxxgf6fcg620ac58dnb1ssj3ml3vfn7z88yx43"; + "CT14MC1nlo" = "0z82q7xr9agq8iyw7w2rcclh27mry5snn5jswn3cxpgnalls50rx"; + "CT14MC1nnlo" = "0fj6hjdv82fp4iv7iyk9gna7sksnpkgqx0bsrl2wjbigm4ys031g"; + "CT14MC2nlo" = "1x6a6js1jpvkykagz6w3klh6hb2wf56r3kh65i6qlnzak4m7b8sq"; + "CT14MC2nnlo" = "0hbdz8agjm16mm51hclpl2nsa5ji88zpqdsn682xgihq64kahsnb"; + "CT14llo" = "0sz2ni8xcjjg8034qjrhb77ak1akzlf5fwq00qs9c196lk5b2x7s"; + "CT14llo_NF3" = "07zzs3jprh0haqx5bcsii213m99m2nh9vki76d9cbhicyzx23pc1"; + "CT14llo_NF4" = "0bxkw5qms6dpab0zf1hhd8dllrjip2izbv23aqpg72d5rqxb6ny4"; + "CT14llo_NF6" = "060fx2xrc90id3nb7rlmrvkxlyafx3g7nhdb5jmbr3hxwrzrq674"; + "CT14lo" = "0y36qkjqd75zf1w1hs1q51qxgin7sm3bhmcbwczwrb17c3vb4m2m"; + "CT14lo_NF3" = "06iad9lrpxsy0d365vrjv6gjlgggakylrmj1px17y6s796jq6c6g"; + "CT14lo_NF4" = "18c03j26mbapjidq01s4yrfdh0i7j75gbswdhwcllwdvcg3gnki1"; + "CT14lo_NF6" = "09ncggqnqcdpzakm16dzxd6ikay9gd5k8si80k52hrr9m2gf36ci"; + "CT14nlo" = "137i0n7g9rgfsf5rx65d50njwsqawprazp5an513kmz1cwq0cqmd"; + "CT14nlo_NF3" = "0pmamazh9i8pahalasr7mwx67ixbgrbsh8004grg0cimr2y4iwjj"; + "CT14nlo_NF4" = "1k7sy8lpzkwy0dc4ig9i9134k854fk0r0lann6pj3jsxs0l6h5km"; + "CT14nlo_NF6" = "1gfwr0sjbq41gx3057hqy8v6ysivjf1xrh6fp3qqn6m13gy2kbas"; + "CT14nlo_as_0111" = "0kgg9r635grdwp152ylzklawzy8nf2ywlp75bjc1yyagg765k6jv"; + "CT14nlo_as_0112" = "0j0bxx0gjdnj41gjasgd153gd811wyhsza56fvzrpka820bkk6rg"; + "CT14nlo_as_0113" = "06if5wk1asazvff57ah944mnzkh5460yqkkwcs8zhnwx2kbq9v85"; + "CT14nlo_as_0114" = "1szy7jwjvdvqqpjvcra1f0wn8qgrja6wx4kwcq9vf60pns7mzk7v"; + "CT14nlo_as_0115" = "1kkahzmrbdr7s06v093arnss0xpxv7byqqx2f5aqh4fzimwp9n7v"; + "CT14nlo_as_0116" = "0qpkmmpq1b33grf85jzkanwpa02j1cam39pkxchql95hv2jlgw4l"; + "CT14nlo_as_0117" = "0381620r6h9s2qby52jvys4z8m6jfafa5qnia2fq3q1pc0xp1q2p"; + "CT14nlo_as_0118" = "13hgxmjx6bv7njb6jdlypy1z61nqf5m5bavxsbrmwwfxlsl4jdzn"; + "CT14nlo_as_0119" = "06pjl10js0xq7p14ifjn7xhndxyb39sxyc9ksd6wx55i6zyqf08l"; + "CT14nlo_as_0120" = "1wyygxxjlcsh1qg6npk5szfbf59k4j80hnxnxhah9x9wrg5kg9j2"; + "CT14nlo_as_0121" = "064afbxxqx4rsa3l73rki8wxa08a1rb53qyf3nwwjb4zb426jfgg"; + "CT14nlo_as_0122" = "172xvndzcm8s4hzjgrq3szg6j7z4s2f4pgr07vr178zvn9986ham"; + "CT14nlo_as_0123" = "0q2dansvna4p04ilb1sajz3s5mi89jgd8badqh6r72g26s96dman"; + "CT14nnlo" = "1y3gd5wzpwv024xcrn70bz6h62n96mgqqwyl5r7q6czw0is52dzq"; + "CT14nnloIC" = "1wnpwy0mz0c5y29wi497jcn5k47bndd0h65d6a18qcfk0l15rfzx"; + "CT14nnlo_NF3" = "0ijns9bjkw8zcinba7rflc7ic03mn5701lqfrxqjyq4q6kh8fia7"; + "CT14nnlo_NF4" = "0fhyzaxnm17pi7wfh5hwaic9q4y0hb05ripd6r648wnnhhi353xy"; + "CT14nnlo_NF6" = "1dvabji3vrqk8ngln72xqiahm8fai3klgv5yz64b3bfxcr04wmg9"; + "CT14nnlo_as_0111" = "1hl88j40czr73h9fbz0zbliawlqwng7ikrmq01hsfns190axm8w9"; + "CT14nnlo_as_0112" = "1w9344v9ihr0w8vrfhhxn81gcnr0qm6ihwwijvcdds09jpdlp6vr"; + "CT14nnlo_as_0113" = "11symfb1ljislbksrars1k766fa2n1inbarzbw3kp01vxpw8gxf5"; + "CT14nnlo_as_0114" = "1s1zz0ibr72jvx9c7w3kcryiywnmg264gprn020yxl9sqfzm0kzz"; + "CT14nnlo_as_0115" = "19c4c4s7djav1zai2nlxbvy8fzg8hqlynri1y4hyhc8hhl00lwb4"; + "CT14nnlo_as_0116" = "1shjwky7jjwcci0frra2lfc0wycvza7na89c4bsqiksnk413v2z3"; + "CT14nnlo_as_0117" = "1mp5xxv810khs59zg4kfsdj5qp6ny0878fbz7jf101mpyhdawf0m"; + "CT14nnlo_as_0118" = "1mvyv13agnmc2c47i9yl8ki5d0qac3l6ipn3nf5rwxjgah495rv6"; + "CT14nnlo_as_0119" = "02b14lrx3zpbl5s4nj1rvh30i9xdji37yvvg2xwjiw3i56vl8b2l"; + "CT14nnlo_as_0120" = "0wf29wz9k2v39pbzh91bxwifbs4cn0gsnjdzm24cpgq7bnhyszn3"; + "CT14nnlo_as_0121" = "1w12xmxqclrrwvfb2g3zvivkq858n0lpp0bzfibvh4wamdyyx3an"; + "CT14nnlo_as_0122" = "1hgghn4ad7fj3ya17qnka3xcwz7sp4fl0vpcbqkrs9mbbz570fjc"; + "CT14nnlo_as_0123" = "0m66gwhw2n668sg4srq683qbavwabrk4f4vfcsbppzbcgm7i4yz7"; + "CT14qed_inc_neutron" = "0ph835nfx98i74nncmspj7qb5798yciq76hqvc505n5zd0hwp87x"; + "CT14qed_inc_proton" = "0gv0rlr6l62gidqp02ifn75d1ribvbihgpaqc92fww73zwilr7l0"; + "CT14qed_neutron" = "0ck1vmqk17i7rq42hra79cz2rm8ngxv4da6dvz62l6m2nrga3l2k"; + "CT14qed_proton" = "1gijxkq5gpsljijblzd13kgr7xjjvnjv18v02jivylf73igsakd7"; + "CT18ANLO" = "16lbhgkbiym3njiffxdcm3hf7kkm33hyj2w1hwgb3mvxx2sja31c"; + "CT18ANLO_as_0110" = "1lkxicxmphi4mdc23vig4a5l4gp0n53jblzsl7bvrixbkhd5arv8"; + "CT18ANLO_as_0111" = "1jk8siawnpnclgjc0jhx89ipym0jp94mrklwkn0awh0hgqxd26ra"; + "CT18ANLO_as_0112" = "0rpfx10b5hjwzmlqzkk1zkk38ysn5jfgipk71zl5da6qk1ih5v2s"; + "CT18ANLO_as_0113" = "0chhqgjddrb731y6haa94yypki6pzpjq5rvja61gfbghbvnc02fs"; + "CT18ANLO_as_0114" = "0nvl1a588jvmh7a7przrzpvf9prrpvv610jmsnfrcp4i98ipdn1p"; + "CT18ANLO_as_0115" = "1f757zlavyjxjwyda8rnkzg9kagmciywvvvdcsbks9ij3m4fcw5z"; + "CT18ANLO_as_0116" = "13bdsnwkqzjq63m02vmb7z03rx6chcyy3br4m52gja0qz03rxhyj"; + "CT18ANLO_as_0117" = "0w5pmqry5rd5jsfwiv43cy5z3hlk7gzllnk0vn1qgsjrgd284hj9"; + "CT18ANLO_as_0118" = "1g137nw812zqdkr97hdwvfi4c4bxfazy1wyk30gwgrhqs6xdsmyp"; + "CT18ANLO_as_0119" = "06pjg9nsq6pvda1yg6lg2qi15i3h2radampgk23rbz9g6zn5hw39"; + "CT18ANLO_as_0120" = "0jh6f5jj81sppv5fhm8ccgzwpacfr1nql3r5466z0bl201fc9x6x"; + "CT18ANLO_as_0121" = "0jh4x2y4rcp3l825dl3a89apmb0f94jrk0pl93lv8xg34f8jrb2i"; + "CT18ANLO_as_0122" = "0ma8r5vgdw9hj6cafkj8fbpq8i18cbild4aw4q9lrsszwwcrlv9i"; + "CT18ANLO_as_0123" = "1mv75gga1gdmnwkaxc0c89jxgapc38376xv5yxfqy2dn03pad9im"; + "CT18ANLO_as_0124" = "0913a748xm6lbdci8vicz08h323hbkc4z1bjq1wq8qfrl1cx02ic"; + "CT18ANNLO" = "1kbsbvvkkchhwwjdrj4d91lbykid4dcy4ghanpdd9x0nfm5b4sgk"; + "CT18ANNLO_as_0110" = "1inx20r83pfmwxfhyy3hhj2csp016d9cnald1rf8vl9riqxvx0j4"; + "CT18ANNLO_as_0111" = "0zzi0b27xp4xykbwd2y7l2ka1k4kfvhaq7y2w82fky2b842ixsmg"; + "CT18ANNLO_as_0112" = "0y031rslsmwxs76rz184mrjb07pdcxrf07yl5yab1y24vymqj4dy"; + "CT18ANNLO_as_0113" = "1pgrcb6sbahl2jf3v08bki28w9x0ag5n3zj1fi0jc69fxwgkczzq"; + "CT18ANNLO_as_0114" = "0ifzf428gxlmhc8wvpj3qaqr0cl6pripiabmnb5av43d5avwhagr"; + "CT18ANNLO_as_0115" = "1bxf5rs33kfl3q570wm49ad0drlanzq8wkrbd85qjlvyhy52j8vs"; + "CT18ANNLO_as_0116" = "0l43qn45wfj2lljpp8kri1n2p99lxj3gbbqh2p2s7v0my5ds5p06"; + "CT18ANNLO_as_0117" = "0nfh9y2w8lvlqbghxx4i7j7gxq5bm67h3vz1wajg86zndarkq6mz"; + "CT18ANNLO_as_0118" = "0m8s96rgnnl5xk7g3l2pf5qx7dwb8kgn18b9nyr8cyqxn90mh3vr"; + "CT18ANNLO_as_0119" = "1lpkcrcfmn0kc9g21ca90j1shcf3ii89yrr17rgwynmylwvizs2y"; + "CT18ANNLO_as_0120" = "0lmn2p57k7yvr5mpzykljhkpnb1c71f4ya2s4zbp2x84fqfg5wbk"; + "CT18ANNLO_as_0121" = "0arbvp0sc67fsf7slhlv96iwq89yjqqkv84pf76fqdvrrjsmyn61"; + "CT18ANNLO_as_0122" = "1nbkgb0wmjh2bfx944sqb810sn4bb0ppxgv2aw2y93jbfyx7x4ry"; + "CT18ANNLO_as_0123" = "1rlxn70mc299v596y0dwp9a1pdy1yz0r8367cjw5l97y46yxhjrh"; + "CT18ANNLO_as_0124" = "0sfkvhyxp9sqf75wj91h9h59vcs2y2n4qchsg0marjy849xxh6qb"; + "CT18NLO" = "04y2p6vz484l3yv6381pfavqs3xh78h3jn6bg7ncp5vywwqp44n9"; + "CT18NLO_as_0110" = "0nrydk44sp7hgabn6xk6r2hnkir7mgddcsbbnqmpwmq3x0xz27pn"; + "CT18NLO_as_0111" = "17xwzcj4n1bmfwz02n2g8afzxc4lp5diij00f2w50pqh2w7vj6g9"; + "CT18NLO_as_0112" = "0a6lsmpz3c1z7dm593nb3r9q7dgpskkls2i6wpdlrrg6s6cr8rmq"; + "CT18NLO_as_0113" = "1kwz9yp0vzyiwy9avxjwibdc6jla32vddf23pvfiv0qjcwfnp6ii"; + "CT18NLO_as_0114" = "161q98jr59vn1qldhd83qxx0qjq1rahgamwfqd3hw6dn6wy39970"; + "CT18NLO_as_0115" = "1dp0683zfn7mg0bj1l5m7i9kdbyxjl0ahhwppvgi5gs5kbmhbs9n"; + "CT18NLO_as_0116" = "0hpi5s175cpz251nav0v34l6qsfqj6181mhhp80kghyyvl7l22sw"; + "CT18NLO_as_0117" = "1v32wxdsvms23sghcszw6csd08kw0xppjzwjnbdsc8k6w67r546m"; + "CT18NLO_as_0118" = "1vd7vc7f49in1i5398p12b9vklxbsif89wv2q93k6m91kb38rm45"; + "CT18NLO_as_0119" = "1h0dlys71cngsxl9dj9l5amikxrvzzb7bins2a6wn6s7zgfyvlck"; + "CT18NLO_as_0120" = "126jfwml027mnpbr6ad7s8d94j3n1sv6fbdy5r5vcb64nyncjach"; + "CT18NLO_as_0121" = "1khffdgqdfl1g4cxp4fnyb900722s6pwzys7cdxmwhzi9f0rwgw8"; + "CT18NLO_as_0122" = "1w7q35igi7fnkrwnr1dnfq646qicz4549c6ddqbkyil10arvq7fk"; + "CT18NLO_as_0123" = "1bl6rf69gjnblvfdh5p8flax9qb65vk25hcfjw2r7qwdz3dxs6sr"; + "CT18NLO_as_0124" = "18mhpn4l3qqg9v79z2vz4jc8w3za726fndfl6sbc9mf94jy72chm"; + "CT18NNLO" = "1shkah5ma0hp101aklkz2p8n9y4i4sv6zwa5ifzyj3bgz1020l5f"; + "CT18NNLO_as_0110" = "0v7nsjcm1q7hgj726zlvfydl3arqkwyddd20z3g0nwdqcimv3qs9"; + "CT18NNLO_as_0111" = "118444ygv03ryhbb28njbsayvv0rdlcb9djja6p62kk6rnbwi1wz"; + "CT18NNLO_as_0112" = "0djxkvwk628sxgf62bff40m2m6vgzs08jss61f90rscvj6gxid5b"; + "CT18NNLO_as_0113" = "1xg7qs33h8zgj4007r8g4drhm95551slhwv62dzyv9pwy5vrvgdn"; + "CT18NNLO_as_0114" = "0i1g7kwfs39ps9ml0ckkcq7x4g1n764q1r06ilq7bci3m073cffn"; + "CT18NNLO_as_0115" = "16q0hc3p0325bq9zgskkpf9qfyhmz9q0rk3b0jrzpc0d4vk7b5r5"; + "CT18NNLO_as_0116" = "1mhnx8szpp4sfy592f8vzvjlzr9y46qndv3c42hf0jsygx5pc5cr"; + "CT18NNLO_as_0117" = "1bmcnjfzwf4bl70qyx6csix3ps46pd32yb2h33y2f144vp8bmkpg"; + "CT18NNLO_as_0118" = "1r1dmj42qrqprhq06i0h4kpjc1riql963n32icl0mfwjq9wpfa0g"; + "CT18NNLO_as_0119" = "1rxyd21h407zmjn3nnr4cqvinw2nwcdhid6cbr0wif8p2b3gasic"; + "CT18NNLO_as_0120" = "1llhnfijc7v6v4dkbsfgj2c3m0y4q42mvaynz06v2j3aqv3wzhza"; + "CT18NNLO_as_0121" = "19dqq2jz5daq59gv2zdvygyvwi9sx6i3ih82yl82yy82gbw2568h"; + "CT18NNLO_as_0122" = "0p8w4ypaxrpsyz3dn7f0964wgvd30iy4r1haa88hqwx74qrkb4pc"; + "CT18NNLO_as_0123" = "1c1sw5md5xp8l6b3qxbnf994kz2rd60p4bl3s3l2af7f77w57wfv"; + "CT18NNLO_as_0124" = "0ldf7dnzdlwqh0gmb6an0b8cwcjpkiaih49aa77j2irw2yja5p41"; + "CT18XNLO" = "1k0cli4j0z5hj24pk9f78flhlvsdfya51hgh90jv4myniapk616l"; + "CT18XNLO_as_0110" = "07k9ga6n2gf9qz0flvrd4if0mssddrq1bbk0rpxsy8wfp41cjsl8"; + "CT18XNLO_as_0111" = "1ysz50r2nc57c7srgqw1dcvyfr9h578dkz24sbimxq54akp9jkxy"; + "CT18XNLO_as_0112" = "11wvnvsc6a5c2ygq39avai4xk2mrnfnvi4fqzmkjdcm0kby0swpb"; + "CT18XNLO_as_0113" = "0cyv8y2m3514np7f3fwpf3g1mzy2cz905sc5lrjqff5djwjc23yg"; + "CT18XNLO_as_0114" = "16vj7hhg3psmyr4vqvy8mz4bg7rp6jc6b64n2dfpq5jvb15w2fbv"; + "CT18XNLO_as_0115" = "0ylw7d9g041fgrjfvq0i0ycpxwbm3s4jdgm5mkjk6yj0s4mrrqcy"; + "CT18XNLO_as_0116" = "0mcfgih55zja7k0cdi1yd7gx1gjr6cpzz28gz4fxyxi2l4paxh2k"; + "CT18XNLO_as_0117" = "0klzf5bchabcjc0c8h6f09g37jy6vwrpq7q8iwrfcmar2slx26r2"; + "CT18XNLO_as_0118" = "0hd1bhlkmnchcv0xbrqjc3paa7fqp249sxi9hg71x3qbh03ab036"; + "CT18XNLO_as_0119" = "1xlxw18hcsv7bij4dvnj9dfm8sai5xm9jggb8g7flmvkmcskgzmg"; + "CT18XNLO_as_0120" = "1ixdg56qgm5701al85zkp81xx3h9hsipqka8l3sh0ghp563qxk32"; + "CT18XNLO_as_0121" = "1msa7pp1a77wmvxa9mhr0sgjj4yv1msb0igqj53ahzgisyl3lnml"; + "CT18XNLO_as_0122" = "1kin5bf9bcxadqibqfzb03bxdrj759mlgpbpjvvpxg4ishj0b7yv"; + "CT18XNLO_as_0123" = "1mir3cpvbc30l3m84j1ql1d8phrx7nf0qd5xbq9jfl4gx1kjfw8c"; + "CT18XNLO_as_0124" = "0ims3sl32rria896ckm9fg5dsmbf6ivcfl3drnqpl328ynrkbzlr"; + "CT18XNNLO" = "0j7bwzkhax4cm3wnbhqdv48j4wha9zdd7v77ihlgcvcmk79rx1fa"; + "CT18XNNLO_as_0110" = "1cxlps6kvm08lkgvrqjd8080ykc1dvd56986iwwzd0s6whlpfsi0"; + "CT18XNNLO_as_0111" = "0bbp4qz3n9pwcfn6m623q2qqmx2wcgpy6759wzwpjnifym832j95"; + "CT18XNNLO_as_0112" = "16p36jf8c8pliaxd6s30cmmmxg9slnmb2527vnwkka0kp9qw3ffq"; + "CT18XNNLO_as_0113" = "15d4qx8x56kcg6p8980bslhfilkld8yf1mwpdzyf8v8ns50wrbw5"; + "CT18XNNLO_as_0114" = "1zsfys0xkgf8zlbzzjmh1wvzxwjqi4rvgik26s5y4ibr68gshvaj"; + "CT18XNNLO_as_0115" = "1x00d2q2lnl5w0l052v9cvkywav26b4r072dpn1jiak6n52yqqaw"; + "CT18XNNLO_as_0116" = "1gm9m0rl9vghswcb4xgp54lc3h8wkh6c077625m9y0166xbv5x2d"; + "CT18XNNLO_as_0117" = "0630arl5qwjhxw0avzlc0mr4hwi09ki8xfn4zvfccgpy2nd85q5b"; + "CT18XNNLO_as_0118" = "1nx75pf5krazrk3ff3lb6zjnxz2qmffrk5vcf06iq5qci9zi5l0q"; + "CT18XNNLO_as_0119" = "0dzjj9f2qkpwfr9pm3pfj6jw5ih2jis8wzc8d0vyh5mm084jlk6a"; + "CT18XNNLO_as_0120" = "17pp23l0brnd0phq23888qbkf1c5j1lcskrbm3v3f2cd8p7jcvvw"; + "CT18XNNLO_as_0121" = "0hlfx8zsxc1x6glny4cp2vpba8jgjix9cpsfixff9vkbqpm2ppk0"; + "CT18XNNLO_as_0122" = "1918l55khrfyb3lcxsbbf9w6v8j54klszl2c32nmna0apf8zc3qm"; + "CT18XNNLO_as_0123" = "02kak35pj6c4hml75na7452ryashfclglhahclzkpq8gs72l5w91"; + "CT18XNNLO_as_0124" = "03wym12nvwdcr13dz6d2gr4bz3csffnn21zfdld42fsyq4glx431"; + "CT18ZNLO" = "0iv8laks2ymn5fygk6k9lxm3s7fld5g292n9bfkhn3nmcfxczi03"; + "CT18ZNLO_as_0110" = "1d0j9nmn9mk90698pxqlpgz7c7cyxswc88n89cr2h8mgcg2w8g2v"; + "CT18ZNLO_as_0111" = "17l7j1j2x529mhk0andkdh83k9z6kg9v3ccfna08i7d4iilsdfrs"; + "CT18ZNLO_as_0112" = "1b8mi0jwln2wvysrkbm1fvay053d17dzvlj9fkz36xmr03bv5mvj"; + "CT18ZNLO_as_0113" = "13dkpjvh5a3p565mhpxqnhijl3jd2zr03np5psknvl121gr007fk"; + "CT18ZNLO_as_0114" = "0drryvq2x42xpf9bmd6n4vz1f8ddh83c3rynnzm54qssxmfkb073"; + "CT18ZNLO_as_0115" = "1wdj056rf02jksa2l2panvkijvvwr6rsb8kh3g2bvx0yjhff8g1c"; + "CT18ZNLO_as_0116" = "1ibf0841irsa4vq9sg0kvrhvakyyshpvs38frz9v3zjbc012cldz"; + "CT18ZNLO_as_0117" = "0l2nabywfsvb1sk44rqgrwf8h0lxkz8qf6pmzr8jc3zhq1fv04sl"; + "CT18ZNLO_as_0118" = "0dnksqqshxqr0y3qr3diyvhfq1jxy1x0hrjw8xk76jzm61xi96x1"; + "CT18ZNLO_as_0119" = "0qljv4d1qfc9rx3p4a8dghij11dv1mi03y30wdilfxrf98znvdyj"; + "CT18ZNLO_as_0120" = "1w0p5gai8qhfjh4jxhyl26xrp8n210cp2a7zjd4id1s4pcvpzvn7"; + "CT18ZNLO_as_0121" = "1ija1nqc4pbprcc3ddhl9rxxbaxngjr256zxiy7gg3wmg6364hjl"; + "CT18ZNLO_as_0122" = "0d7h3vli13m1pm5w91js8skv198aqz9kjkx7w0sa4v2vhvz1rdyh"; + "CT18ZNLO_as_0123" = "14cl8fmkl6jav7byqwcfa1z2ml6lnn6pzp0w4nqy75gc7wxsba0m"; + "CT18ZNLO_as_0124" = "18riha0fflfbsgh7nnc3ghm8cpzpcss0z6l48d28bbq0i7caqad7"; + "CT18ZNNLO" = "0zsqrpab6vgcinsxjq3rqdadig5flxzk61wc1aa9rwnkbpm1paa5"; + "CT18ZNNLO_as_0110" = "06qzlfshx8gwrhnmjfvz6sxq7h2is1dqvx5sz8jxrr1gl7gl92h9"; + "CT18ZNNLO_as_0111" = "08k101cn9x9y44zcpn6iql85qqx89rv7xjhvak4y6s309p9rlnzi"; + "CT18ZNNLO_as_0112" = "1c72mz93kha8mdfdcwj8fs8dqqylxmmc4vs7fjf9h7xbrqzmss7m"; + "CT18ZNNLO_as_0113" = "0z7s1kmlrv99r5mb6p1xwrydx0s896kr3va0ld3gq39a0f6bqvfz"; + "CT18ZNNLO_as_0114" = "0ir6n8i170czq7h3badim28540478cq5fb5vv4kdi0ncypsasr4d"; + "CT18ZNNLO_as_0115" = "0dncvhp99v5s9746ql37gdm65byih9ppg30c77k50i2485a1zfap"; + "CT18ZNNLO_as_0116" = "0qihfcsgxv66l781dmvmmpbr0s0c52s90jfmz5y52gyy1lplw569"; + "CT18ZNNLO_as_0117" = "0agqd4vgj53w9p7ghfkrskqyvg7lw5g9ilj0fid0jia8adfh58xp"; + "CT18ZNNLO_as_0118" = "07y1l00igx7d2yaj9gi60fvqz1p8f8z44fmxm84fpjikajabff5v"; + "CT18ZNNLO_as_0119" = "16nnwwj16c8fmqh5mwnihzvbgfj3cnvw01i1il1gr0g4zqpn0yhi"; + "CT18ZNNLO_as_0120" = "0yy0lxwm41aa727wdrq27l6ih7fdaqwiy4bkrbh0zrns0km9r958"; + "CT18ZNNLO_as_0121" = "0yg70dx2wi9wf5914shfqaf2j90dnkfnbp1pq2jzxd0h0sxhlphj"; + "CT18ZNNLO_as_0122" = "1bd4193ggv4nb48d0mw2n93ia30h4myfy197k9b0m3qc90xjq77z"; + "CT18ZNNLO_as_0123" = "0r2vri1brq0xcrpj0cg9hf9kwhkh2czmimrsg5bfvx35adiiis19"; + "CT18ZNNLO_as_0124" = "1wq0nz9jfb5fmzwnnh0xyra2j62kb5xpmh2nyy8ih4lvxhgi16mg"; + "EPPS16_B_90CL_Au_hess" = "0ab3pnv8fq45mdp29m6lfmrhhnr88k6qvkq6lwxmn17k39v8j9w4"; + "EPPS16_B_90CL_Pb_hess" = "1cjc79sygpxnir3qw9n6cdwvd3flfn11ajqs5y64svrpsqcx5ng0"; + "EPPS16_B_c_90CL_Au_hess" = "1ijvnglq4wrjhhvksyd60s7c6nv50vwyk5vd8c3gs0qr8yz1fk69"; + "EPPS16_B_c_90CL_Pb_hess" = "1347cqsfkim0xcds5imxmsdxh8x0h2n97x5zwpf035rbdk5mkr4n"; + "EPPS16_B_d_90CL_Au_hess" = "088jrj6xf1ph19sypa5dizllydfzi6ikxq2gisdlxpj1qnwjymsg"; + "EPPS16_B_d_90CL_Pb_hess" = "0x12r31l0nvqsc2ml1zkil0w1iji52xgbnxn3wss9pnmswrf3cah"; + "EPPS16_B_u_90CL_Au_hess" = "1pq7agglirpk2w566c1ql15ps1aglmnph2p2dfa535zlv89s7c0d"; + "EPPS16_B_u_90CL_Pb_hess" = "137jkcbikmcjaxp8rpr5j193cmr329mcvyy7j0s0a6ynglhpr76k"; + "EPPS16_D_90CL_Au_hess" = "01ggm0xxwd3nc95cjcf36sy0pdb0xvk6bkiaq328w2sfajccr5mk"; + "EPPS16_D_90CL_Pb_hess" = "1z3zam84m2kbs7zinn87xhlca90d5zwk8j72yj19nx3r92brnq8h"; + "EPPS16_D_c_90CL_Au_hess" = "18sviyvm3rm9n7x79w1sx8j9mcc6dnc2il8hsw2avjgy2aqmwj87"; + "EPPS16_D_c_90CL_Pb_hess" = "1ryv83iq1lrphgxvdsmh70j6iky993sax0s9cfrswpjyl2pcilq2"; + "EPPS16_D_d_90CL_Au_hess" = "15j6s9mj1ci9wjgsfhbxfikcyxc5pilv56cyzxjhgjhfgwvi1xyz"; + "EPPS16_D_d_90CL_Pb_hess" = "1qjyb57fhf6d3g7l48jcl6jizj2c5g63xahzanrmkm9r538hvhcc"; + "EPPS16_D_u_90CL_Au_hess" = "0jjk2rccvv0ngxn7wf33j21y72wvs4dhwl56yhmf7bfzd6v70rp2"; + "EPPS16_D_u_90CL_Pb_hess" = "09npz68wwvcsvd6h8lsgmlr19l0af4h4rppcd6jlwd88c2zpb3r3"; + "EPPS16_Jpsi_90CL_Au_hess" = "0msvkihdmhap0bbiydxbp552k1sgk20wadvc2s2h9jldakdx0pk9"; + "EPPS16_Jpsi_90CL_Pb_hess" = "13vc490k1769gbph3xn1lffj0ilvhz78by3lhw45lwkra4vx5zp4"; + "EPPS16_Jpsi_c_90CL_Au_hess" = "069lzrnm5kx56rblr4lxqvr014nrf2yyf1iw42s37q2xsxpjip87"; + "EPPS16_Jpsi_c_90CL_Pb_hess" = "1895iqzmcnaqkidcy96z4766wppycp1riwg9clg71cb404wz74as"; + "EPPS16_Jpsi_d_90CL_Au_hess" = "0ndh23dyaszam144dsdbg4281c61vai8avgi4y7x8kb0paha4icm"; + "EPPS16_Jpsi_d_90CL_Pb_hess" = "0xflijnwabg931z19v8c18dzh1lbqivkg94kpwm8j135ya1vpmm2"; + "EPPS16_Jpsi_u_90CL_Au_hess" = "1hagv9akwm337kq3kvkpkdkcpnic7klnigh9pyif1gm16i1q40jf"; + "EPPS16_Jpsi_u_90CL_Pb_hess" = "0dw68rky105lyaagkzkmfx6l9jk763m293m7s972jhnl5037bj74"; + "EPPS16nlo_CT14nlo_Ag108" = "1p7gckhv44h04rvknd6fdizy9c1jqfwic7ppf0ra14ic8wp1g7wg"; + "EPPS16nlo_CT14nlo_Al27" = "0hxyakfgknmixxndfj14i44afp5gcfz9afjvjdaj702sv42a7qa8"; + "EPPS16nlo_CT14nlo_Au197" = "1g272110y3a1fr6raxdfhagn68i0lcnwbdhiiqg4j6wb6v4m3p6i"; + "EPPS16nlo_CT14nlo_Be9" = "0zxsdmvz919ajwwb917613byshhpr876jcg9kik0pkz8c4ddr2z0"; + "EPPS16nlo_CT14nlo_C12" = "0mjmjk9n36aikhm8i6zwzfszyb5zcy1syn13vs2rm12x535j6dm5"; + "EPPS16nlo_CT14nlo_Ca40" = "18vd67splj75sjijfvhyq0q6068yr8l083sczamwpmy8z3l798ih"; + "EPPS16nlo_CT14nlo_Cu64" = "0g64gpc5cssmwl1sn7cl0ramsg2zfq7snr9bzr41q2dznbvqahgd"; + "EPPS16nlo_CT14nlo_Fe56" = "0dxfzpx99ha9g27bxx6xzxxh87va91qqwq6hnz1qsligjfx7q4yz"; + "EPPS16nlo_CT14nlo_He4" = "1ln5kz3270kyx6m3ji6q5xyp5a23f3kbwh9z9dmdwwsw7q9n8way"; + "EPPS16nlo_CT14nlo_Li6" = "04rviiml0rnym9qppsczcydw37r923ljx8hj63vv6dxng0g617qb"; + "EPPS16nlo_CT14nlo_Pb208" = "1b2zibpigdvvkg29zh7zm32jpdr2prm35jasafh17pfpwlfc55mb"; + "EPPS16nlo_CT14nlo_Pt195" = "14v1gicvm8i8z9d98rlv5rbhaglkbi9fhs3z465p4d764al6znnc"; + "EPPS16nlo_CT14nlo_Sn119" = "10nxn6rdp7svsrkdcdwxryjmirn1s871yj1w493adpfcy3chqw9k"; + "EPPS16nlo_CT14nlo_W184" = "1x8ndmkzmnl79vz1bgi9972190x03asvgnls6qiz746xl37q4ky7"; + "GKG18_DPDF_FitA_LO" = "0ql03hp30wfaw9gfyska0v5vf4p3n2dsxvkapjqnyfl01ad6vjw2"; + "GKG18_DPDF_FitA_NLO" = "0n9khzvhyxfwbl758vzy8jgyqkgcgl328m657vlami3w22hmpbrz"; + "GKG18_DPDF_FitB_LO" = "0s15ia8mcn00xl28rhdxjigpq0ai80a831366sx0w7qx44bb5n0p"; + "GKG18_DPDF_FitB_NLO" = "0qlv7p1fx3gq2cqrvamlpn6r54nssbk7rrx1znhfdzx3x9v1ii1q"; + "GRVPI0" = "0i5icsw9hf4jm25d0szxqc3r1131n417lv8b4gslg93xqj4ry1hf"; + "GRVPI1" = "05j3mcrb0sq4nzv7y0k68f2m3v8vnd13mzbhq43gjq712cbj126p"; + "H1PDF2017" = "10yfikq1mlw6bzhbvwblajicpqzhi06gl1aabhxr6mcf9vby4zw8"; + "HERAPDF15LO_EIG" = "12cqj3vqwi86sfgxkiwbd7rnpw1awnbqbc852b0x32d9j18nz9c2"; + "HERAPDF15NLO_ALPHAS" = "06yiid611zi5i9snqrkjr3g4z2n1gwkvqjs606ha0b4nrwlpnkhc"; + "HERAPDF15NLO_EIG" = "0h5brmk7w70dgbwhjikfpprni924c2f3kxsmxzcm2qlrlgj0nswd"; + "HERAPDF15NLO_VAR" = "049bfsgkcfnz4z7vzkl4vr6ivp9kvak2f07nmarm8q2wwd6pjjqy"; + "HERAPDF15NNLO_ALPHAS" = "09qf93b336yak3aqnfqlvz5j6xvvrsqkc4ag41xh4prpswj8fmrc"; + "HERAPDF15NNLO_EIG" = "1yf48sr7nak6lph2s1vd3s91mrw0da9kjxlvqzcg3n9j48l3f3r0"; + "HERAPDF15NNLO_VAR" = "0di4b75ag82iysyrv5wfvn8728jdi8mkq96ycpq534078ps2n3bd"; + "HERAPDF20_AG_NLO_EIG" = "0jr2s4dj5w9xwidrqbqi8af2dqycm4vr36qy3x5javllp4dn04cr"; + "HERAPDF20_AG_NNLO_EIG" = "11cdhjwz4qm2hxf8i5kl38ny4nbsrd2vf3jkwz17lrgls716wh00"; + "HERAPDF20_HiQ2_NLO_EIG" = "09wwkv8lk7gy14avvamk3sqdsvig2bvnzha5d4v5s2ln7g6g7vhq"; + "HERAPDF20_HiQ2_NLO_VAR" = "1cgprisw1bksi8nryqqsy6ac097ywxdgj5yg796izari7j72p4bh"; + "HERAPDF20_HiQ2_NNLO_EIG" = "05670fr76fx14gp4ywywz71scr6f25jk14i4k84gpcb2l6rnbv9g"; + "HERAPDF20_HiQ2_NNLO_VAR" = "15nxgq5hy6ncvqma6ai8k7601bfw97p0h9db2gqbbyyvxf2ldnc7"; + "HERAPDF20_Jets_NLO_EIG" = "1c2n2cn9l8x9jc8c4dh2whgz3378nnnvb3448cgpv0qfm589ygxy"; + "HERAPDF20_Jets_NLO_VAR_Duv" = "0z2pkmlpffy29x2bh0086m1ybbb94x507fkr4khmdb4d0h33ppdw"; + "HERAPDF20_Jets_NLO_VAR_fsdn" = "1ya4hbr3shjggpqi6h3g9j3jnbmmgrva2djbsaxgp7icii39yf1a"; + "HERAPDF20_Jets_NLO_VAR_fshdn" = "1sl2sq27xx40mj4zn00vc44k3vf1yxb7fwpqp0p3lqlp9gcwlycp"; + "HERAPDF20_Jets_NLO_VAR_fshup" = "0qs8g45s70d0l3g7xh0bqhk65ac9g003bjpacd9v97gzpm6jvr45"; + "HERAPDF20_Jets_NLO_VAR_fsup" = "17ix21qwjkp9gy9gvn3143d8ganzg9r78n6q47wdfxh12jzvgc7k"; + "HERAPDF20_Jets_NLO_VAR_haddn" = "15rbsdddm5ayg5r0gljxxcmrrvzhfdr44ky2d6a70wjr2g6lc5yc"; + "HERAPDF20_Jets_NLO_VAR_hadup" = "1x3rnr2hkcfglpmv732blziygzvdlw2rkks1ap9majnayh01vvfk"; + "HERAPDF20_Jets_NLO_VAR_mbdn" = "1fi0rp4gpqj7yjmv6b68ac7m8v4f9m4q9kd6nq4ndk2gp11i6799"; + "HERAPDF20_Jets_NLO_VAR_mbup" = "062dfx73lihlhndn5xjlsimfxalxbfhn1xyqzbk7bsqj9mffmwli"; + "HERAPDF20_Jets_NLO_VAR_mcdn" = "092hwkx9kliib8lf405sy9bvxg6xgydnsxl92yjqwyicajihhij4"; + "HERAPDF20_Jets_NLO_VAR_mcup" = "0qcirk0sqnkfyb3pdxlpkl51pbj2gybw7kgw9xzmj4j3jdg2zjqg"; + "HERAPDF20_Jets_NLO_VAR_q0dn" = "1xv319ai4pwy1mcy6i3wk3mp4nkdpjb2zcnz17gxvdx2l6z1bz5m"; + "HERAPDF20_Jets_NLO_VAR_q0up" = "0bfsqx23jsrjjsczl5j90hp3njvlwaw8mypj1si83mr1z0s9q4rx"; + "HERAPDF20_Jets_NLO_VAR_q2mdn" = "16qfw118c3lh91zsg2nb49xjynbd9w1rh4y5ybr35v38i4acpdab"; + "HERAPDF20_Jets_NLO_VAR_q2mup" = "1q80h7r0cklpz1jam3nzxs7h3i8jpgpc03l7c3g4mkz61ynh0ida"; + "HERAPDF20_LO_EIG" = "1r6ylwi2yszsk5dmw27734s0ghkvdawmqa6fik1k3j82d9s22mkl"; + "HERAPDF20_NLO_ALPHAS_110" = "0zmmg0k33bf52skbz42cgxdjw0ap33fyf0h1kfd9ciw4gra2rakn"; + "HERAPDF20_NLO_ALPHAS_111" = "1mlc33kfs4zlmn305hifjh2d85byvym1mzdj9bc3nlypv4zcszlf"; + "HERAPDF20_NLO_ALPHAS_112" = "0wswbdmkyv0a6fw531s1s7jnskzxsvwh9bydvgiav53pfpibsyx6"; + "HERAPDF20_NLO_ALPHAS_113" = "0qx7kh3cmqz59sm6vjcvi2hj5c7d816mc7jfhqr03hvavqcsla14"; + "HERAPDF20_NLO_ALPHAS_114" = "1n2434j9gvdz24h30sng8z5jmc9hhnm9nbr3hi82n6ssnwabsl97"; + "HERAPDF20_NLO_ALPHAS_115" = "05wk9glb6xpg5n689slihcfkdvm3kgwpxw8dxp4rp8zyvrsh6l6f"; + "HERAPDF20_NLO_ALPHAS_116" = "133vvg5bh1lx6zcacnaphkj11608wafim4rb6lcqx4mkpxabmzxa"; + "HERAPDF20_NLO_ALPHAS_117" = "18n1s7qqzf67lg8gphpm606dvz802i6xmlz5if5jdhjz8r3qklzf"; + "HERAPDF20_NLO_ALPHAS_118" = "07xj5j7k54bwi9xq51cf8zanqlkjcbdrvw9k8ch3h40bk961c5pz"; + "HERAPDF20_NLO_ALPHAS_119" = "0njyfp84kf51m9rw9z3d3figp23043p5ml7cdb45dvh9hbpssh40"; + "HERAPDF20_NLO_ALPHAS_120" = "02paa7bng9nycd8dd2zf2099592mbaz8c4a5hamcmvzqfz0sdy7d"; + "HERAPDF20_NLO_ALPHAS_121" = "07hmbvpm96pm5yp9bsx9aksznksh6k4qrw0k28bns0wjn75khxsl"; + "HERAPDF20_NLO_ALPHAS_122" = "1pjn3h1wr6l6sy7kjvk72qc409dr939z787q2qbaph7xh5rf7k2s"; + "HERAPDF20_NLO_ALPHAS_123" = "09hz6pw4nklwf94krna7g80659v9c2c0f5rf99mnx900xyhk7pxa"; + "HERAPDF20_NLO_ALPHAS_124" = "1d9gmc3g0j32kgwyfddmx9f3gxwrgnq3xcbrabdx9cw554ysd6sg"; + "HERAPDF20_NLO_ALPHAS_125" = "0mi2q9yhkcdpj7336kbs1vw4zvm8c9fryz0c7hdj246kj26rb0mv"; + "HERAPDF20_NLO_ALPHAS_126" = "067rng6gv24qf1j8lz37115mc42k8wjpzrfcw4jw2d1yg22ci0lb"; + "HERAPDF20_NLO_ALPHAS_127" = "0v3xcdr8wsradqf3bzayvvlsdjzr54qa2kbqb5pyvfi3rafrwrmi"; + "HERAPDF20_NLO_ALPHAS_128" = "0ywnd9c6bq5bp02s3b3pql8a74wm472p11alqi4b4pmlzphzk1ix"; + "HERAPDF20_NLO_ALPHAS_129" = "055ya2wxscbzp2w3zx2a5xgs94wl60bm6c2vxrs2rgnab72382j9"; + "HERAPDF20_NLO_ALPHAS_130" = "0k91azhwxrfni5yfasn83f67ma9w8fax2k1k9xc8pvgmbh3c14wi"; + "HERAPDF20_NLO_EIG" = "1ryamdwblj1ysbha672q2z9qai62h6cibb0laizfq2nq4j4ml3vz"; + "HERAPDF20_NLO_FF3A_EIG" = "1fs6ldnwflmn5ysqkq9aky2xskd0dvq372h48x89h4vmsvd302wn"; + "HERAPDF20_NLO_FF3A_VAR" = "0jd9wgrhchqjcjrkh5hjx7x8agm43jq5p8dmyvk0rniz9zybx64d"; + "HERAPDF20_NLO_FF3B_EIG" = "0r04zjfaaq686g3bd6c753vkcwsbgdcfzr67ngm7vsz27zscbjbz"; + "HERAPDF20_NLO_FF3B_VAR" = "12qrfld8958gvk9c2q8l0mvccx6wkrgnsiapgzl37s6s6zcgid10"; + "HERAPDF20_NLO_VAR" = "0q5ih9ac3z6n158h6q149h0ggkfjrdn5rqwf7nzi3j50fhs63swj"; + "HERAPDF20_NNLO_ALPHAS_110" = "1828i4ybdzs7zj62lzsifgshxdas81vjvhfg86ixry4xqkfprlfg"; + "HERAPDF20_NNLO_ALPHAS_111" = "011d1a900jjpa78ph05sdy353gfmrr8azpngcf0cjigcn4fwdna6"; + "HERAPDF20_NNLO_ALPHAS_112" = "0xb2bnigwlhs0vs3fwzsz66zidchwgs97kn6vjfhxnik8xdfkyb8"; + "HERAPDF20_NNLO_ALPHAS_113" = "13b8gh0qwpy574ra6184vgff3wba0blr44lxj56xrkaql9zi1jx1"; + "HERAPDF20_NNLO_ALPHAS_114" = "09n30p5pbw2wyjss2jjz1h4nl9scin42s91sxdcrwinnc3y5n1in"; + "HERAPDF20_NNLO_ALPHAS_115" = "0nlimqmfhx2ijx48ylciih5diwlsb5zzkli82rgnnxci3r4ycjq4"; + "HERAPDF20_NNLO_ALPHAS_116" = "0nr8svx60zrf42nxg74v0h759y9lwg54892xpdmswg7mw0nwcrm9"; + "HERAPDF20_NNLO_ALPHAS_117" = "0xiqdr2r5dyyp5q56b3w04wy3raqrh1mjsv1fm05xswxn2xwyhlq"; + "HERAPDF20_NNLO_ALPHAS_118" = "0d0w0f077g11s4clx1556y9xx5nn1dgm8zcp0bk92v4lapngf33c"; + "HERAPDF20_NNLO_ALPHAS_119" = "1w9nl0pnfc1cii4knmqdq4cnh6shhhgj8pg4a42bx20lvqc3aqgb"; + "HERAPDF20_NNLO_ALPHAS_120" = "1lksn0rcxq2scwpnps8dawlzijhvwbg0pn2is4r29igbqck2jvb3"; + "HERAPDF20_NNLO_ALPHAS_121" = "03d58rbibvgcvmsw86q3030qnw5nnvq8p6diqscd9srb8br06p8m"; + "HERAPDF20_NNLO_ALPHAS_122" = "0541yx5fcadw7rggpypd8kg393m5hwzsw5jangsmsrsby1rc2m4a"; + "HERAPDF20_NNLO_ALPHAS_123" = "1ckc8s04jf7x19xpwwb8g60likrlz3dp91qzaafljvbd9b27aa61"; + "HERAPDF20_NNLO_ALPHAS_124" = "13dx2wh0dhxsjjk6ak7wy1gr8g297dpc9xvkxvb5ayd0rzmhjlwb"; + "HERAPDF20_NNLO_ALPHAS_125" = "0yh6jakycsqhh4h6jqrilw1afmk1jkcq2px978z4qcz4y0m6bx4a"; + "HERAPDF20_NNLO_ALPHAS_126" = "0045sa1kl4w75ja6an38i2a3fi78q6xg22av536l9h1c8j82ql13"; + "HERAPDF20_NNLO_ALPHAS_127" = "1f5l9cy59dc3rc9xqrsq85g0mbhyaqkbpzi40f3gjg6bxjlgb4rx"; + "HERAPDF20_NNLO_ALPHAS_128" = "1c2pbd4zam5av582r777197638l6i5a0chmw9ci7l05lzm19nzmi"; + "HERAPDF20_NNLO_ALPHAS_129" = "1aipmxxn7s1r66m6gmrjgr2yca7sxvpf8r86s4a5j768akkgmlld"; + "HERAPDF20_NNLO_ALPHAS_130" = "1g2q3438bivd20i685jmx565cq108yv72vhxmpmhysh4qwvwpqqw"; + "HERAPDF20_NNLO_EIG" = "12zn49jx7qjr8apgpbhknzll4vwlz3x9y1ai908ix2h86pgap2ml"; + "HERAPDF20_NNLO_VAR" = "152h21khvkhxwx87c5lqwzpakmahcpj1ixw6kgl0wrrwjknvfgxn"; + "JAM19FF_kaon_nlo" = "05mcahzr0k5w0hqfbn902lmkwxlkbf8wrk6akpqnfsyqpbmhja5k"; + "JAM19FF_pion_nlo" = "06krcf0c9jbbpwf1rk1xd5z7rz904ji984xz05kv9p1j1vgk0ha0"; + "JAM19PDF_proton_nlo" = "1zrcijik60rci6km5d8pn8ivww8w3v8pb1m5dshqjs51lhf56ayp"; + "JAM20-SIDIS_FF_hadron_nlo" = "0bx3igckr2dszxskz5f952vl0q7kwvxgyb28yksjk75325dp2f9c"; + "JAM20-SIDIS_FF_kaon_nlo" = "060r6ah5843vm1r3rhjvlgp7w45z39cqgibfc2g2m1q7mwjqccjy"; + "JAM20-SIDIS_FF_pion_nlo" = "0fpkbl5fw76wgk8l599kf51mqa0fy92bq9ksfjfks0c4m6ah1g5i"; + "JAM20-SIDIS_PDF_proton_nlo" = "1g1g9n2ij58yzvgrw8g1f8jbqyhj9yvbvl9iqjxllkhkb2zbllpl"; + "JAM21PionPDFnlo" = "0zn7p9ny6072dkhsiaq64f2gdzpqbqc06d9a21rvvg3cgsba9jg3"; + "JAM21PionPDFnlo_pT" = "1wxpkk1wzx1z1kwxfj6kz14pxlckb96aqaq2fa4sf1a0ph1ibrc8"; + "JAM21PionPDFnlonll_cosine" = "0nbmdc0744kl6r7r9lfs20gffpjyxpcfpkp7f336fn1mcl89wggn"; + "JAM21PionPDFnlonll_double_Mellin" = "1n8fqar0dddc92054kg3pl1xlh6z7smm3glv5fvfxr933bxli5g8"; + "JAM21PionPDFnlonll_expansion" = "0dmmalgmp4xjwimyfx0sa8yafzzm0xzqk557qwkli3ramzwrwy8p"; + "JR14NLO08FF" = "16azkqxf1yw1j32ay6j01gf8n9n7qm56jh4yzgjag0zdhm01lbip"; + "JR14NLO08VF" = "1ilw38pp4vy8c8v1glfi4ixca73wjkdg3di1wh9p8xqrifdb096p"; + "JR14NNLO08FF" = "1w0pywmjb4xi7bsvv1mdd4q2adf1g7khspfbkphmlh8zipx29nxx"; + "JR14NNLO08VF" = "0kzszj1r141fcg9vbf53480224nxcc5wfk9zmpmzbmrxzi0w127r"; + "JR14NNLO20FF" = "0wc3qib90dpd1wgiymrn5lzwhqmh58ji2s92vpj2v9v4spws7pdq"; + "JR14NNLO20VF" = "18l4ipn80gmh9kdw7a1k49fwgbl7b1frgc0hsa04vbwnv6hm73hn"; + "LUXlep-NNPDF31_nlo_as_0118_luxqed" = "09ch6mjfn6rjsd31jfb59j92ngqiy0x19qamyxh0jwk0sbyr1dpw"; + "LUXqed17_plus_PDF4LHC15_nnlo_100" = "18y3pa6gjmcv2s21si9a5dvbq6xxqphbqz5qiy39c62g2zf8512c"; + "LUXqed17_plus_PDF4LHC15_nnlo_30" = "1bnwlxr8p4xmr36zd2flhqssil6w7jh50k46j0mxfnd8jgxgwn6n"; + "LUXqed_plus_PDF4LHC15_nnlo_100" = "08jzl4wcsrr9agycq1r5kd5bqxsx4b637nxk34s82vs7vwpq7qib"; + "MAPFF10NLOPIm" = "0w875dh5klqgggcr84g0g7qmh4q2xim8nrf0xdnfc665xww7v4my"; + "MAPFF10NLOPIp" = "1493k3p7b03sw0n7va60vqxcry2b3xgpww6fnk2gx8b4w1632yn2"; + "MAPFF10NLOPIsum" = "0x6sashkhg1hs7wy6fyln12s1f4yavvc90zv4k7rclbah4hr75wm"; + "METAv10LHC" = "1vn4wnx1blz6wylbzirswdqqf0knmyh1pcfh62wvj695mh7i0w16"; + "METAv10LHCH" = "1p4wy7m1ksz0r1fylwz3cbq7jl8s58v817n3d898l83ic2ghp4vj"; + "METAv10LHCHfull" = "1w623939fjdyx1316rxyaavf6kmxff19himr00br57jrw3v49nfg"; + "METAv10LHCas0116" = "0y1l6djkmx8zcsii9j9krwhvgh071a9y5d4m1rkqpbqf6dnq9kll"; + "METAv10LHCas0120" = "1g1izkf3j0vdrjskbjzh8lzsdn1bqssidr0gsapyzlx0dzc2ixdp"; + "MMHT2014lo68cl" = "03wrjv448zdqblv4zx5b2p4m0nj8h4igabh8pzskj0327w7g91lm"; + "MMHT2014lo_asmzsmallrange" = "16ki4aib5dslb7lx6w9nzx18nh0sgh41zbiw4hszf2qxn3asdyhz"; + "MMHT2014nlo68cl" = "039zw5zrzm661bgjv7d0imzhfv3j3ixnrssi13ynfpin9v2izy6g"; + "MMHT2014nlo68cl_nf3" = "0bjmng4ifdswi88kf59zzxpdq8ka80m01208nb2ij3dkpw0n5hnf"; + "MMHT2014nlo68cl_nf4" = "01g0bbfwxaqhgpv0yz17fvwa4q1a1vh9867kp9fyavn600kd91ds"; + "MMHT2014nlo68cl_nf4as5" = "1wdrk7b1hs6s8f2gxp7b3c1qrxvncs41h4aph1dhf8zffn3653yy"; + "MMHT2014nlo68clas118" = "1nv7h2j31z061mgph5154qgxn8rl5sdgwzzs3d3clxfshh5gcccn"; + "MMHT2014nlo68clas118_nf3" = "1d7k0vablssy1vfimsvxdiklaachw44lg37fgj1im52k81qxzd3n"; + "MMHT2014nlo68clas118_nf4" = "1s8gv434b4mz6y5rv4kms69ghliafcmih09icj4qwk66hj7pn5lj"; + "MMHT2014nlo68clas118_nf4as5" = "00zvf9zkrp9lk9psqvzsn04l1rw1xmq37bd2c8mqc2px3zdq9q0f"; + "MMHT2014nlo_asmzlargerange" = "186jz5r74qas28x04daqkxhs5p31i68hhy8a7q6lzd5nh42x6kk0"; + "MMHT2014nlo_asmzsmallrange" = "1x347h5g8d2k73wg6naj6zs7m2glankiwjgzy0gmmrnz3pyryq6x"; + "MMHT2014nlo_asmzsmallrange_nf3" = "0ckw5971pwvvix8idw2m6j7w6bjivqpa1ynm6ml0bhc75cmm6l4i"; + "MMHT2014nlo_asmzsmallrange_nf4" = "1asnk3pl3dw1sh76k0s95jb57cv5k90zjgpbkr3nnrbhvnkizl5a"; + "MMHT2014nlo_mbrange_nf3" = "0bghvriw01jxmzcm9isz7in43ph7vz6zzr0rmmi81snrwvg8918h"; + "MMHT2014nlo_mbrange_nf4" = "1gad7269hz4jj3946yyqzmcx3zyxx2p4r0h88x3lfrm0rd0fg00d"; + "MMHT2014nlo_mbrange_nf5" = "03id7bfds16kbnd0nwjla8sn4pl3q3qa5v0a3pykdwj14k9igi3n"; + "MMHT2014nlo_mcrange_nf3" = "1zfmdclsgwf6517v88zg34wby40606sspcghh4yahc2bbznd6a63"; + "MMHT2014nlo_mcrange_nf4" = "0hzhkv81a0z3ichj5kfhwnhc720xw48h63llijl0pcfv8qqpvl19"; + "MMHT2014nlo_mcrange_nf5" = "148hg5dc60yhfmwsm0svasxc7l1py6ggj7lzv0mrshl07rwfh62a"; + "MMHT2014nloas118_mbrange_nf3" = "03w1wish6ig3mw9j195rakxsjr7gr46qz8dh009sigqcgp3s9fad"; + "MMHT2014nloas118_mbrange_nf4" = "1lbj3r1bbxx2y1ybnxpd0cw7jzkdz0rb1grn1pmwmrl0l13s7j59"; + "MMHT2014nloas118_mbrange_nf5" = "12q0gkqzhxqwrvy8lpg66ldsxnwr8id6jv6k4dj6f0p93qif5wr8"; + "MMHT2014nloas118_mcrange_nf3" = "093yh7wa3p4028x5zxw15pwkrkjxzfl7kcdm7jqlf08zwm52clyx"; + "MMHT2014nloas118_mcrange_nf4" = "0q0y77i0fgdvjk9y76kqzxpn22jbzsh64qbx8186ri9fqzfi868i"; + "MMHT2014nloas118_mcrange_nf5" = "187wsfm49ack0jh9rwy5h29b1511b17myqn28bm6nbn7r4rfvnkz"; + "MMHT2014nnlo68cl" = "0sss77zwv94vcy4ghv6493vbw08xwm264dk081w34jc4ifa0vg90"; + "MMHT2014nnlo68cl_nf3" = "06paq3nzs87babpksabnkqi38gvvyfvpqlh8p18140zrdpdffaj2"; + "MMHT2014nnlo68cl_nf4" = "0lbqpdy66v3ns6ax9vj1ix4wjn2pwlw5y1z26hlbrxz3l8hbizg1"; + "MMHT2014nnlo68cl_nf4as5" = "1bh5nsral3lrlqq6afvq9ahkfmhfw3mq0m0qcvsx4ma5jx5rv7dv"; + "MMHT2014nnlo_asmzlargerange" = "00l2jqccsl3jfwdj7lndr4b5cpx44krjvnm3h0hjw6hkv4irxb5s"; + "MMHT2014nnlo_asmzsmallrange" = "1x36pv9nhj74whibb16bc414ypcks6nd1s7q1jc0fb7ndf5rijy6"; + "MMHT2014nnlo_asmzsmallrange_nf3" = "0svpc51n25cbz2b43zbd60bfckrlz3q2jn3x668xnha9qsd3c2vq"; + "MMHT2014nnlo_asmzsmallrange_nf4" = "15jggp2nbm828nprxyyinmp7kfxngpm0apg446hvwd8hg7blb1a4"; + "MMHT2014nnlo_mbrange_nf3" = "0r9gi5cw76zn0lq3fcs7s2xxh6jl9y5vdv31bhv6mac9jmhjb458"; + "MMHT2014nnlo_mbrange_nf4" = "190wva3k49mymflbm1v5xd449j38jm7ylfcdiflym8pgkdvwcgyl"; + "MMHT2014nnlo_mbrange_nf5" = "19mnv9nz01lmbiv01qmflhg24kldhqpmcc8mgp7bnkhicgivb5ib"; + "MMHT2014nnlo_mcrange_nf3" = "0zskxladqr40v6wqafbl1pl04vq43babqf437c4xxg4sz9435l3l"; + "MMHT2014nnlo_mcrange_nf4" = "0sny8r9zap8gnjh9id1klr59d9hs0bb40pf8hpy8q5pg6052vx3q"; + "MMHT2014nnlo_mcrange_nf5" = "1l340c1x4fz647bhybrvbb6z00mla81b78jfqpnwd4vwfxnqmq9y"; + "MMHT2015qed_nlo" = "130fmxnaashvwwaaiz5b787ldz8l78ar5h2h038xvisdjkxvdqni"; + "MMHT2015qed_nlo_elastic" = "1whplgg2s55wjii1hd32hzd5wsqbgvjjbnfw4fzjmnx4vwn63n2j"; + "MMHT2015qed_nlo_inelastic" = "1b24flby6n9q2cg4haldmjs8ql35lhlw0bgynwja1v2n0fbf550y"; + "MMHT2015qed_nnlo" = "1ypqiz0yz6hnxfml7ym83k4qqvqsbl39abbr38galns8xzzpi03m"; + "MMHT2015qed_nnlo_elastic" = "17in1cz5j7mm9qjk8i27fif6x276lcqmccl7kfz8a5yn73xxzja4"; + "MMHT2015qed_nnlo_inelastic" = "1ngk4p7w8l8b8sfg6hlm8ypxz97i1iwzlrc48szy7bi99kn8rmy1"; + "MRST2004qed_neutron" = "12vna0ic6gh313k22b44b0k9kd939v7zjl2hj65k1075j23mq425"; + "MRST2004qed_proton" = "10z0cr8pnr0lfxxi916naiz381a2cqn461jblfzvvddwqmqbllbc"; + "MRST2007lomod" = "13ar6hzw9al20zlm8lg0hvwmgrmv0dbam820gm36rj8p7i33qlr6"; + "MRSTMCal" = "0kbyp4rypw8jm28zfpvf0grvfvxmsrp3grwsmfxpa2c38x6la3rq"; + "MSHT20lo_as130" = "0ivjvqabk9jnrlrczjlqywmijx5ql8wy579j77qkl1vhv7sqccm1"; + "MSHT20nlo_as118" = "1qwbwcq8p4hrprz4ib18mp5142b0lbyyzc1bf5a4iq5jjvi5qm93"; + "MSHT20nlo_as120" = "10y1a6iryahrafzdqskypjrnad6xxq08gm72pa9yc61xdy6andc6"; + "MSHT20nlo_as120_mbrange_nf3" = "0548pw6lkwwqhlrg7c4cyqh76bcyz78yh06fs7crdbx7hfl47cj7"; + "MSHT20nlo_as120_mbrange_nf4" = "0pg49mad4845llj49a1piaggd8wpwb2s4ar7jydlhrv7im886by4"; + "MSHT20nlo_as120_mbrange_nf5" = "0148agm89p7pwzdfjk8gjdaicll30xhz6sawca632kp5qwyd4g3d"; + "MSHT20nlo_as120_mcrange_nf3" = "187hgg8klk5jhcadiy8viyrfi0jfb3i18jckv6d7nsapixz1wgkz"; + "MSHT20nlo_as120_mcrange_nf4" = "12pjy0igjcsih100g238v143kq5cjjm5a13cghcipgcz2w4ldglf"; + "MSHT20nlo_as120_mcrange_nf5" = "00mipn9ndnw1k4nx6pmxb95wddmh98hg9k0317vlirxrf2n2jy7g"; + "MSHT20nlo_as120_nf3" = "1zy0j9qc28xpav3gx24r6r02zfz49r11ic66hkyq83d3q3fj751b"; + "MSHT20nlo_as120_nf4" = "0fpyf9s9ppb6w49chsmb2xfp9gwkx3ky9v8gwwqxli9fpzsc2ywn"; + "MSHT20nlo_as_largerange" = "1f57dvxas2c6qnv38ysnsyf0y8imafnrxkcqh3b0an19mkln5mmg"; + "MSHT20nlo_as_smallrange" = "1rygvj33g84whl24kgpqa47g11c48l93jlnpzqq8f5zr1ijqcq7i"; + "MSHT20nlo_as_smallrange_nf3" = "1d6cr1akc25mwfyghvn1986i60l76fxb8fd02h7f4pl4lmnn6i8n"; + "MSHT20nlo_as_smallrange_nf4" = "08js1l5g6knjx3813i0rf34xfjkbn3mdsrbawzkn00vf49xzcxdj"; + "MSHT20nlo_mbrange_nf3" = "1bwl4inshg5h3sslss4lgvcqahb5q0n794ag73hyacxd1kmx7d2z"; + "MSHT20nlo_mbrange_nf4" = "1sm995pzzr601wcs4rjgjs6alm74vc23szgmkqa5dvxghw7x8w55"; + "MSHT20nlo_mbrange_nf5" = "1sal7iqma7770593ifxypl9zapvba693asc8m2fjsbgpbfjjid60"; + "MSHT20nlo_mcrange_nf3" = "0lmv6m8m7zv0s8kjfm8parr9xlfy39dhwxn71z33f5x6cyp08zlg"; + "MSHT20nlo_mcrange_nf4" = "0875zfv0dws8n44fqawa1jp5p8b9vky8yyq48wijhrcph8qbxbrx"; + "MSHT20nlo_mcrange_nf5" = "0qjvam29zwibx54fgijry58vdwqkiwyavdwn736bmckjycncnv8p"; + "MSHT20nlo_nf3" = "1v0mzsa2sxp0g3m3d8yqcs7dgi74am6cpx79f341ahpwybz5x829"; + "MSHT20nlo_nf4" = "1lyii55adqaah6sm8b778q8scaq5yjycq3s8jdi3k48z8m23zqng"; + "MSHT20nnlo_as118" = "1yz0003ixjg97974648qba5d37vb4fhzzmq4k9xh4c37pnc3kgyn"; + "MSHT20nnlo_as_largerange" = "014a9x6zsw3w7b6w3v6lg8qxdjicxslr79bnagi6ci0skqs2v7z9"; + "MSHT20nnlo_as_smallrange" = "1bv7cbdynp6dm5c9v7r32gqy1lch4428apw426pr0d7xpm0abnxv"; + "MSHT20nnlo_as_smallrange_nf3" = "0n1j9dd069qdmgmd85m7wp29g96cnbgsdxrvlh6y51q063lkqbwb"; + "MSHT20nnlo_as_smallrange_nf4" = "1jkdl3rd933czz753qbi7yvszg376r6bvwq2inqbslnzfkfav5bh"; + "MSHT20nnlo_mbrange_nf3" = "095zcxhpfhlsb67ki4j6a8z4d1r5hzx92xlzprwkwd4v5ya4f732"; + "MSHT20nnlo_mbrange_nf4" = "1114z5a0pk9svps918zifff23difxf37rbmr3jnzxnyp1vfgzws7"; + "MSHT20nnlo_mbrange_nf5" = "12i6m01bmnzqadi6jg5gmah1jliq4wr4p0vpjgmpgyagsk4drx4b"; + "MSHT20nnlo_mcrange_nf3" = "01wq537083dr9ibiahwdwdaxj0j2ys211m478w9wgvihdjjvjvvv"; + "MSHT20nnlo_mcrange_nf4" = "04abrnlnbr94lksn29w9ws9a3b6sqkqvi9awmbk4715dxk2amnpk"; + "MSHT20nnlo_mcrange_nf5" = "0za255xi66a1mfch2b91qqmsr305m0kvs4rzvqlzf7k0v141j90y"; + "MSHT20nnlo_nf3" = "10yx59r32q4rl0yn4gpc29z8xskbvizkdr7k219qf16lnv892jpa"; + "MSHT20nnlo_nf4" = "17d10rba8b0aqi1npnx93j1995has5sw2l4izd6lly3yhjynbgp6"; + "MSHT20qed_nnlo" = "05c2hjgysyvkcyqg1lq3y00hqixgc8w984zivxkr76nj5csyf6m3"; + "MSHT20qed_nnlo_elastic" = "0in0y27gn4k9h6ya77krhizv8rg3i6s3d6h4bk0fhz91hbi4l3gh"; + "MSHT20qed_nnlo_inelastic" = "0vna0gbadf92w3xngb8gnsxd3lil8m029as8260wlki2axm4gqlw"; + "MSHT20qed_nnlo_neutron" = "1hiq7m8j7736477vfs18mqwhkxyvjmcrs7jiqysa8v6rmhb4bali"; + "MSHT20qed_nnlo_neutron_elastic" = "06dbvsysszpbvabgafb569vq88q1sm9mvz1iwv1m2b9vzin2ixiy"; + "MSHT20qed_nnlo_neutron_inelastic" = "0gfh6nhl4vq4qz1jhnv5vhhz4h4wlkwgj4ffjqll6jqa5anfhbqr"; + "MSTW2008CPdeutnlo68cl" = "1x2y7hl8ckplx175bp3wi04xafm44dd7vzfgnmvvai1x0072xi51"; + "MSTW2008CPdeutnnlo68cl" = "1szsdqjkmny30mpw4pdzi97vj7i55agxm285dvnkzp06ycgp1ld3"; + "MSTW2008lo68cl" = "0j12mv286r4ds9v7piqh4n44yjnc51hm74lqa4vv5xznxhibng7l"; + "MSTW2008lo68cl_nf3" = "1s5z55b2aj37bx0p305lcgrdclgvyl99xgfrl0rhmdgr2byg33wi"; + "MSTW2008lo68cl_nf4" = "0m539ihcz3dxy4gpfbam5badhhsimywlbgnczbybph8yn1118j9r"; + "MSTW2008lo68cl_nf4as5" = "0vl1q7xnr425sscbk4djqi56jbpzpi8l3z2nknfqiy3l7ykg23ng"; + "MSTW2008lo90cl" = "0af5j0s1i8yn0mjs4nb77migihw643lhd7dfl184v6wik3031yg3"; + "MSTW2008lo90cl_nf3" = "1a6kc1lgswjk800jzcqlbpwzz4rs3g6agckhnlr8cizmp9p7risk"; + "MSTW2008lo90cl_nf4" = "1bdjl58gslhw539650qwi7vbvsr22hpxpca17rkbqz9szh0ljhym"; + "MSTW2008lo90cl_nf4as5" = "1crsm7dfcs0fn1i2ng18wy23z2ap01xr2rsnafqlra0q135m6hfp"; + "MSTW2008nlo68cl" = "0pdvb5nshjjw7ddmdmj1v88m3jlk3vwfnab0pf2kf8hfx10hbv4q"; + "MSTW2008nlo68cl_asmz+68cl" = "0gwmxs0f7raxvmpn12zavzqsrp3x0a82y1vq2kf9p9fq17in55yn"; + "MSTW2008nlo68cl_asmz+68clhalf" = "1rmda4zpm6cs9kyxkhwpz38iv6g259156bmka4dc4zyfg1lcw85d"; + "MSTW2008nlo68cl_asmz-68cl" = "15mmdnd3wwlrs5pwwhfa9f88vjpgza8vwxwxpyadxsmhx9jk79hy"; + "MSTW2008nlo68cl_asmz-68clhalf" = "0dd7llc6ip6myy2yvf16riqs334f20l8wkmkksq53xngmz9qf263"; + "MSTW2008nlo68cl_nf3" = "1j82imyylvnf3x39x1mb19hhp2nbcq2lk82hf7sj72c557l3qpjk"; + "MSTW2008nlo68cl_nf4" = "08f008by768c8v3cmrsbgxpglqdj58nwwf22dmk2mbf2jq449s0n"; + "MSTW2008nlo68cl_nf4as5" = "0hrqmmnp20vpj6dpz3bvm531i0pvl06als8irqz91cknv6zsvxf9"; + "MSTW2008nlo90cl" = "1d3p4cialrngci9kn7225zcmyrr547dskzi74dfgdhbqc0256a2r"; + "MSTW2008nlo90cl_asmz+90cl" = "19cd358yqklc8bxv0mg69cq3sf6zah7di0q9ilfqbiddmw1flw3p"; + "MSTW2008nlo90cl_asmz+90clhalf" = "0ngn8f149agvmc54nrxjxqa0rifbd8a1hbcgpa443l75bmd9sqcp"; + "MSTW2008nlo90cl_asmz-90cl" = "0fnqj7ywnp9nz5733ggjwmhxpy15zs2xgxjz7ixmql5mmaz3sxb6"; + "MSTW2008nlo90cl_asmz-90clhalf" = "1jrp9q8li7a4bwhgh7q9h9zc0sdhck957zn14q9ca9kjsflyb9f5"; + "MSTW2008nlo90cl_nf3" = "02ihabrcgp474wkq4w2fshpiqdznjaxyg5vawv52yj6hxifyy5a9"; + "MSTW2008nlo90cl_nf4" = "1wrdl79qy8mimqk48705f3sd651zy130k1dmvvzwvdsjd9y8q58w"; + "MSTW2008nlo90cl_nf4as5" = "18d1pvijcyfxkipmd2v2zrkxdbhxygkcyn3p8vz0vzq5q7s1s7r2"; + "MSTW2008nlo_asmzrange" = "161364fvc8w8ggad58r1c58b0kngqa1bjpabaqi5cigmzazj3rl8"; + "MSTW2008nlo_mbrange" = "1b7z4mm3f8wjjbxb8hs8l7kclh1yfz5yffzdsch2i09c7wh79616"; + "MSTW2008nlo_mbrange_nf4" = "02s7ljzwamsha87i6nsd4kdfb9ky4k6m8xpqa1iz9wgrcy4pmw5p"; + "MSTW2008nlo_mcrange" = "1bndxfi27r8k0m4r26bfsflbbrjc4s2vp5ixy7qidkw33g6mqh96"; + "MSTW2008nlo_mcrange_fixasmz" = "10s2sfhdx5668cffwb0sbh5m54zq0inmpfnhkj0zk9ij4f5y815f"; + "MSTW2008nlo_mcrange_fixasmz_nf3" = "0zwnicbmmqbak5sw92njpmvxpjnnhwl1ggvlj8q39hn5w5kdy1kq"; + "MSTW2008nlo_mcrange_nf3" = "01mlzqwk30glr95g7n2y3yvvy7s6mkbdb5cqwl1m7k8d6m18n49g"; + "MSTW2008nnlo68cl" = "0y6lv1wkhydfnlakjrrrjapxaapa0bcbmfx0w9c4psgy156kv1fv"; + "MSTW2008nnlo68cl_asmz+68cl" = "0fhkbkshrc29kz0fc9vi2dqsg6irjm4sfw4sp0s4wkj766wg19nz"; + "MSTW2008nnlo68cl_asmz+68clhalf" = "1z0fplsv1fij4fgrz7npr34hcmc2qkf7g398bq1smvb6b2qy5jb8"; + "MSTW2008nnlo68cl_asmz-68cl" = "1qhjhdzpy67665ccwv0n3g7jlyb2vfk60cphjr0jb1adgv9fxa7q"; + "MSTW2008nnlo68cl_asmz-68clhalf" = "0rlsis3r7l32jdiq2yhx1mz7q6qlzlsrarljvrmxf0g0g2d8nr4c"; + "MSTW2008nnlo68cl_nf3" = "07nrz7afd1mcsqc3lqv9vk2phs1nfxdl63qh1bc0g7nznxwmmn97"; + "MSTW2008nnlo68cl_nf4" = "1kd62hzk2p3q56kj79bs101arp55ajlyhwwa3vq3yp37i3ynz9ds"; + "MSTW2008nnlo68cl_nf4as5" = "0x19rq5k9c97vzskqppf4k0fjahwiw2c1nb6iy5c2fq8mj1pz2gj"; + "MSTW2008nnlo90cl" = "13xqlfys37b8chinah2yqmzd0clzli06p7vjk30ha22wgwm02dq3"; + "MSTW2008nnlo90cl_asmz+90cl" = "0pd6imc3hvq7vgyv1db9y8rvpgz4ffwqv6rqzp27c7ipxg0wjyz0"; + "MSTW2008nnlo90cl_asmz+90clhalf" = "1xn52ppixjg22ybd8ggf0azb3zg5zyilqjss033g0k9crq4a6y2v"; + "MSTW2008nnlo90cl_asmz-90cl" = "10wxgh52zs0fp0bwd0b6csnz9x6mvp45gvjhk0y1dhgfwbcvw9y9"; + "MSTW2008nnlo90cl_asmz-90clhalf" = "1kmvp1yfgsx4jhsjc4drg82cq4xs6as4grwrymfkrqnvhcg86vap"; + "MSTW2008nnlo90cl_nf3" = "0vw0cmszwp49fsskacccl921za88cl5cfy0sqckgxzs4hx21x43n"; + "MSTW2008nnlo90cl_nf4" = "1b3fy8mfclgsmvpyzfs34fjry6djmkjcjppdxni1ipjyp1bcaia3"; + "MSTW2008nnlo90cl_nf4as5" = "05phi752spikwq74i0hfid7lsqi51hdvwxm520kdmbdz2pblbz4f"; + "MSTW2008nnlo_asmzrange" = "1nj68qhvlsqi7299d9rrsmq7pr6bdil4gzr6yla2cgn4wwiggdwn"; + "MSTW2008nnlo_mbrange" = "0jnmy4i593wz80lbm0r0cwdj9xw496p3in0lq8ksr4yjwz0agpbk"; + "MSTW2008nnlo_mbrange_nf4" = "0lw3p4q0ixj7plcmwqh43lfgv1i7ljar3f3k1v6f0imyvz8swfgr"; + "MSTW2008nnlo_mcrange" = "17v549iq2wn5zvxfdvq8pf5f7zvgnpa72i6gxvxzfqwkji7mv522"; + "MSTW2008nnlo_mcrange_fixasmz" = "05c8z2q2866550clx2mwb1jvhpn0agkyg82vvrswi3h4hgkvlfjx"; + "MSTW2008nnlo_mcrange_fixasmz_nf3" = "0r86xsl1wfphwdj2hhlilkwc2949m7bcn42dms14g7w45i24g6id"; + "MSTW2008nnlo_mcrange_nf3" = "1c9lsggncwghvw9mgd18h50ljrnlpp1p5r2zlzf8z3g8i4f3aaih"; + "NNFF10_KAm_lo" = "19wn44svz61lhk33kzc6id18w6qbkw4bfnwncar19phrjjp965v6"; + "NNFF10_KAm_nlo" = "191db9pj5yspiqc7598r147j9wvfc4s6cm0q805m5vmzpfg2cgr6"; + "NNFF10_KAm_nnlo" = "1hm8vhk1p31zdn72bgcyyq0w5qii1ba0cf81wjlbhwv4fadfd4sy"; + "NNFF10_KAp_lo" = "13yas11c7xxij45zrd3r6njjvx33kn9lg8i28ki0y4nw6ss21w3b"; + "NNFF10_KAp_nlo" = "1jza83klbcb3j2pcg2xhgj2imh4llb6hsfkbfj294q0isqypgzsv"; + "NNFF10_KAp_nnlo" = "0xwl34a31ajxwlgx6bhzzyf9b2xiq7bpv51p4zi6k1xihs91vwzc"; + "NNFF10_KAsum_lo" = "128cj81qp09hn99dnkm9q06wf2dr7xjq9qmwvrmdizrd8cwfa4l1"; + "NNFF10_KAsum_nlo" = "19pglfl1i5qg8sj3hg0qnhr1f66isfbrv7f901hnxniibbdjxib2"; + "NNFF10_KAsum_nnlo" = "1769ybc49a94appmiw0bbn3kkvcpw82sggxgvvda5jq9m36m9yzb"; + "NNFF10_PIm_lo" = "095xl0cs6p5z44hydfa963ylxvzqxdwwj1n8jn7n0c48rwssx357"; + "NNFF10_PIm_nlo" = "1fn8863092fn4aqacprbsdxlgz27q6pam08pccwq9ps0dwjn7cc5"; + "NNFF10_PIm_nnlo" = "0j4p50k821pphy8i6s73h3c29d7jb3bp5s4l8rl3bfb0nfx4p6hq"; + "NNFF10_PIp_lo" = "0hhw2ympx1a8d3sl953k27yzww0j2f5m9b865gv1ybb3l9ccv1i6"; + "NNFF10_PIp_nlo" = "18k3s7i1xvh8717n5cdllbb6zs8svh2bkw0k2zf4ql5ijiypvc10"; + "NNFF10_PIp_nnlo" = "16mywhpc3439dpk2c1i6gxrv9khyyg0kl4gsc41qyi3r4d7k6n2c"; + "NNFF10_PIsum_lo" = "1yh3hxfmgzgpwqidmzlc189syjbsj4vyswc4kch7yykxw4dqf6sa"; + "NNFF10_PIsum_nlo" = "12rgg0nc9rjvwfpf0y9kl1w9814a4pv4b17p46h8qm6kfyqqwjia"; + "NNFF10_PIsum_nnlo" = "19iz4q31apgm2il9478c7zmmc6kgz2wyp84qja761jvyl6z0img5"; + "NNFF10_PRm_lo" = "0c5pavhf5flx2nmld2dprgp1lsbvsrjw5mqdzvgkks7ibvq0ap5j"; + "NNFF10_PRm_nlo" = "0nfwhp9hacnm95w2qa5hvmfwaj7drc0w7lxqw1lrdp074bpd0ma3"; + "NNFF10_PRm_nnlo" = "084dz4xxmydf71vkhcrmj03jkwyj56jxvmbzm22mdh2dxmkz3l1g"; + "NNFF10_PRp_lo" = "014m0vjzrr4rbi84qxzmrym07kc4wax29fs66mfxkmrimxpb9l21"; + "NNFF10_PRp_nlo" = "0lrzw2618kgk7vsksbr1qxqc4h9lza573bz6208hwdgkmh7awasc"; + "NNFF10_PRp_nnlo" = "0bv07hh5rxvqw58jcam3piiiy19w325nrwivrifyv5wii8sybz8r"; + "NNFF10_PRsum_lo" = "1a9m77rl49wzzgdkr6x618bzcm2p50f915bbggknx5xjw550dqd1"; + "NNFF10_PRsum_nlo" = "1qambqywda7lvvkd6kx2r1g60v6lnqcamdd51396id33fvw3k45h"; + "NNFF10_PRsum_nnlo" = "1kijaxw6v1w33q6l89raz7ic59zcmd3nx5djp83lyg134a15crmw"; + "NNFF11_HadronSum_nlo" = "1n9fb71kl7y8rp1smyal28wdvdx1b410mhqkxmavnr1fs85hkh85"; + "NNPDF21_lo_as_0119_100" = "19qw2hp1yk82qgcrpx8wp2fg8wklaj6rr653m6mndhhr0aa0w80v"; + "NNPDF21_lo_as_0130_100" = "0p5cw77dg5pkhl3d0y6r3k8vhw4m467wf3gd8kp2l5vcbdwb4izv"; + "NNPDF21_lostar_as_0119_100" = "0i23axf0xl11nb2dn6p34bnm1xfisnn3a82db9dz863n60gqb5x4"; + "NNPDF21_lostar_as_0130_100" = "1aka01747071l53jx4v7rgmfj5danzjillbwincgi1b28mw78yhq"; + "NNPDF23_lo_as_0119_qed" = "02d85an11mr66yg3vi5fq4919ymbrh9h8b8qzzzm9dvfarzmbwxi"; + "NNPDF23_lo_as_0130_qed" = "0qsxxw3nds42924xqnhs56wmd8ihmrip28glj47q9r9i3kgw3lv0"; + "NNPDF23_nlo_FFN_NF4_as_0116" = "1d5wccg8l5xmdr8pvks6851zxrlgq1rk2y5dgp10k6r108059rgn"; + "NNPDF23_nlo_FFN_NF4_as_0116_mc" = "1sc13cqah6di97fmlnb6qw454jyrp0i9jv2pfxvi8ix2vzd6km00"; + "NNPDF23_nlo_FFN_NF4_as_0117" = "1gkzb46fnf9k97fgbbxljdnklffwnxmg58z01x55iklq4sn2aww3"; + "NNPDF23_nlo_FFN_NF4_as_0117_mc" = "0nc3fx9ggqybymw5kglwq3kmznc9hm28sp58gs1l4gwx3xiy0bj6"; + "NNPDF23_nlo_FFN_NF4_as_0118" = "1zlcqh0nfy8yf2cnzs0iy615nbmhpa2zh4carvifcqd4lv4azkp6"; + "NNPDF23_nlo_FFN_NF4_as_0118_mc" = "0518z8jakc9r74kzanraf2n8haminfipp2rvr1288ymhsl5bxyp0"; + "NNPDF23_nlo_FFN_NF4_as_0119" = "1k5mcql2411020m6vq26ck8ig3q01j79ndjgci2biq743m8nlvm2"; + "NNPDF23_nlo_FFN_NF4_as_0119_mc" = "06yv9mwgvhag5442581r7by3nsxcy7c76llgaalphbzszqr2vy0p"; + "NNPDF23_nlo_FFN_NF4_as_0120" = "1m97g47p44vq3izjji6agwmj2fwdvgddzy8w40mqqbr9fk19lbyi"; + "NNPDF23_nlo_FFN_NF4_as_0120_mc" = "0bjllckv61jc1y6f8c1gqdh36r15glqn8fqp99q0kckaxyszy5vw"; + "NNPDF23_nlo_FFN_NF5_as_0116" = "0x4kjj791hkwng4l5dvch8z0ig1nkliirlz9mkv02g54qrilnkmy"; + "NNPDF23_nlo_FFN_NF5_as_0116_mc" = "055clf0m8l8gnby2lgwh4wkyqciskwp54y34vb1kwfbhdf71zmnj"; + "NNPDF23_nlo_FFN_NF5_as_0117" = "1cplvrizlsjcixsjzlm2drssbjsrzj9bvq0k5mnv79r3p1xdp997"; + "NNPDF23_nlo_FFN_NF5_as_0117_mc" = "17nic3kw991dbrhyjyxpk0zzv8rjh0r0whd6nl8v6wsf5q5h0ny2"; + "NNPDF23_nlo_FFN_NF5_as_0118" = "07fgr71x2zk2ywcbnw0ikv0p9kzsmd83kdidfs49vm7azcbm0qfw"; + "NNPDF23_nlo_FFN_NF5_as_0118_mc" = "0s365gsidichyj9x5926q1gm0x1bp52chv7fkpirflrrsywf0lc3"; + "NNPDF23_nlo_FFN_NF5_as_0119" = "1qspxbwswz7ssqj2rx2jdg0bkj8prawwshvjd26ifz9i0l9qnqc0"; + "NNPDF23_nlo_FFN_NF5_as_0119_mc" = "0aqyhrcrzs3kqhj1hndilpibvdwfw9qhg1x0cypx97h16n37j46x"; + "NNPDF23_nlo_FFN_NF5_as_0120" = "1k9savpyg2iqr1ab4i5y7q1qhd8zxq413040h2v46jl8mp7x6bjn"; + "NNPDF23_nlo_FFN_NF5_as_0120_mc" = "01g7mh7v62s47cwdf6ws6j37gxl4mrb26ivdzzwmhy6ydiw8ka53"; + "NNPDF23_nlo_as_0114" = "0mmq32kddspgpacx2qj086das9z2bxh3l37qvp9yf84gqzjj7mml"; + "NNPDF23_nlo_as_0115" = "0jn1gv137d2x3vxq7ny0qc0hnfmcd4hs3cxkyn7j26w7p59q81x7"; + "NNPDF23_nlo_as_0116" = "1mnq360acd5vfwz9z8fzynldchkqrfiqhsxvi3s9a263h3p44bsa"; + "NNPDF23_nlo_as_0116_mc" = "0ngw2hls52bax6dmis3nfa2ix8q8nh2d9mwjax4cjdkmmf7rdn2g"; + "NNPDF23_nlo_as_0117" = "01wkq68b8zl3mznzvc4p7p9b4ik2bnqgjq97mw2287i448mnj9jn"; + "NNPDF23_nlo_as_0117_mc" = "1s2g55240gh9j32ach9rban0iw4hjmw5haj1c21wgyh4nqiqlfwr"; + "NNPDF23_nlo_as_0117_qed" = "1l2rbxn9fw72nmhqazfkh568q4df0q2jp0pn0fj368wdpf36fk0b"; + "NNPDF23_nlo_as_0117_qed_neutron" = "17rpz4bdp3fxvafiz32aawxw64prkhqwqpnfnbqsigcslm18bwnc"; + "NNPDF23_nlo_as_0118" = "01kax3g4d8nd6n1gip70d02kl3kvbqib93b99xgwc1f0np85p3r0"; + "NNPDF23_nlo_as_0118_mc" = "0qhs7r4zzw68grrmfh7qdad49w4y4mvf55qnp86piri5vi8lklwk"; + "NNPDF23_nlo_as_0118_qed" = "10xfv8nkg2jjy3yg9m9gakz6lixdvmahdy1z12znqyr1br57bdhy"; + "NNPDF23_nlo_as_0118_qed_neutron" = "1zffxfykx2v3dniypsvyyqbz5pb4dcww653amaxv96hplw3fvr0h"; + "NNPDF23_nlo_as_0119" = "1v24iwddahxy6sd43bxv6ywf8n7302qkwl9hv7d074q1d932kgr1"; + "NNPDF23_nlo_as_0119_mc" = "0l95fgr5bwhsh0h3qqlnx9czkgmrf5y084zlzk3qhix3ldh8zbp4"; + "NNPDF23_nlo_as_0119_qed" = "0rayscazcacy89lzg0ynpwrl9g4pnjwwp0l0vwc3gjz9cwznmwsk"; + "NNPDF23_nlo_as_0119_qed_mc" = "1cc3candpavcfbv681zpg8gmwbh3g14vqkhs2s6v7rr9xhx6zqv1"; + "NNPDF23_nlo_as_0119_qed_neutron" = "12h4x97yglcklrvwh937xa5bgqahq949a5wm3nyjbvrfsw9n330i"; + "NNPDF23_nlo_as_0120" = "0f8lwydw45vy7c0mqmz60hpc0b40czx0gx35liyrhcbjvj9129m7"; + "NNPDF23_nlo_as_0120_mc" = "0kqiizf0c0mbdavnv7ivk89kga84j7p7xprqi10589ggplchx8ag"; + "NNPDF23_nlo_as_0121" = "17603srm35158sdwrqijyxm614splx7k6bjyzphgvznnkwpgi0i3"; + "NNPDF23_nlo_as_0122" = "0c16498ngx436k9mb8fwkhhvcbdyjd4m0jh54v2n1dl354jz60sm"; + "NNPDF23_nlo_as_0123" = "1j6d7k8d04gfx532iipd4vzm0nldbvy86pg8asgv4xrh80c1zslc"; + "NNPDF23_nlo_as_0124" = "0dwv41kc9qsvvp22gvxi56gj13dnklgfp4ndrm0475q6gvfz25ak"; + "NNPDF23_nlo_collider_as_0116" = "1hl7xw8jz0gijxh9cjkxv1rb1xncb1622ghf6wnsaarlqr4947ky"; + "NNPDF23_nlo_collider_as_0117" = "08krhmjbgza9f4mbq7cdj9g7hh260aaniqqi5awbgp7idbn3nccj"; + "NNPDF23_nlo_collider_as_0118" = "17645h9l8z8nk7pdaxdhvcfmcvi8ib8yylhiijkkw9yrywb5pakm"; + "NNPDF23_nlo_collider_as_0119" = "0csf74lpxgzg48v6962falxd8n2nc9xdrqnxxwadqqyrnrfs06dw"; + "NNPDF23_nlo_collider_as_0120" = "17xqx8hnwy7a67ah0ds8m3nv3cbq20vri83nlwahwfsbig7w505x"; + "NNPDF23_nlo_noLHC_as_0116" = "02nhh7n2qzx3ak7ih2d3vw3a4dffxbbpv9wrh2yhz30zbrqqlzv2"; + "NNPDF23_nlo_noLHC_as_0117" = "14j8hx346krwbi2fyyk77k60d7dlk2xlsc6zd543y03jdpk4ahlx"; + "NNPDF23_nlo_noLHC_as_0118" = "0vwi6h1fkwjg28p2f3br1g601i8ca4dpfjs9vxg80kjzkif6k310"; + "NNPDF23_nlo_noLHC_as_0119" = "02l15h62gn0njnj459pkp3k1nhiaivlknmbxb3giqpg6wmm2m9y1"; + "NNPDF23_nlo_noLHC_as_0120" = "13lxmwmywg7wrwhgp0cb41b42479fgfa1bz3aqkbrnf6gi6pviln"; + "NNPDF23_nnlo_FFN_NF4_as_0116" = "0j4ng2vl955vnq40zv5v9sb0wk8qari61v7995p2l0sxz268sz50"; + "NNPDF23_nnlo_FFN_NF4_as_0117" = "1wjqlv6mbl2lgvwr5av47amrs8gnqkpkxzq91jvpaxkya3bmglc3"; + "NNPDF23_nnlo_FFN_NF4_as_0118" = "113s8lxrmif79c6f11pnk5jz7q4lq7108gcfx84nanpksr9dmi6m"; + "NNPDF23_nnlo_FFN_NF4_as_0119" = "1688qacmp9kl50q1vzffcprf9ydbi2bb2brc68jvid5f7bjkyfmw"; + "NNPDF23_nnlo_FFN_NF4_as_0120" = "1i3cjnz5zgk8jw5jcrqy6kxx1i5v2a2lgy2fdck3j19cvn0iqqr9"; + "NNPDF23_nnlo_FFN_NF5_as_0116" = "0v6ap405v9zapbi5sqldvs5lyhz5wsh4cxl8ssxj0l4789qm24hb"; + "NNPDF23_nnlo_FFN_NF5_as_0117" = "153f95cqd0hkxfy9p81mf2dfdp13h3fhhp0qyxmiknhqm10ykdxq"; + "NNPDF23_nnlo_FFN_NF5_as_0118" = "0fch9i9qj1k8h3sdwfdcd75idi0bv2q7a338dvj4697xqpxf2mj4"; + "NNPDF23_nnlo_FFN_NF5_as_0119" = "03r72mrbvy9jkkbmgvp2776xxgjx0jyxsv4bvpxmhscpym9mjvq7"; + "NNPDF23_nnlo_FFN_NF5_as_0120" = "0rsflim77kdp849pg6f87rq6j0wirj4gayvrnvi4xvfjlk1mxkll"; + "NNPDF23_nnlo_as_0114" = "1p32hw48zwmvj9i5iyg9pqhf11zwf7m7g5q8prfj8825dvsgql94"; + "NNPDF23_nnlo_as_0115" = "0smmwd7xla73sb3bci46grj1kfd751pybkf7fz3w3qdkp5jjglqp"; + "NNPDF23_nnlo_as_0116" = "14blxcfb2jbdgwh73f2spvqxy5dhn5v6ygwi346dzwswipwbixir"; + "NNPDF23_nnlo_as_0117" = "0di0a5dkskalllnh90ngfb046z5hm9ihjra1r1ck06v9ryam2w9c"; + "NNPDF23_nnlo_as_0117_qed" = "0dvzz7ac45j4m655k0i3ycy6xwfm6y6801qsb5bgp1kdv7g2pj3z"; + "NNPDF23_nnlo_as_0117_qed_neutron" = "0v05yw5nc1r7vh8sjag4fmdklkn4jmcdpsmgvwm7sblgfc6gnssm"; + "NNPDF23_nnlo_as_0118" = "14p9y1ryc1j26gl01sn60pmrfpnkm81bhark2g98xz8dmfmjp7iq"; + "NNPDF23_nnlo_as_0118_qed" = "15mcq4q20ijmf06pcc626jlk22fm8c473p4i80bmi27h5x2pl56i"; + "NNPDF23_nnlo_as_0118_qed_neutron" = "15vsjjc1i2x6lb0603h6knj68si8cvxml2xk97pw343qn3p8h4ka"; + "NNPDF23_nnlo_as_0119" = "1qzap9zlpwyyshh8hc0gm82y9rl9hpy232j03gd6vwmcw5pgm2d2"; + "NNPDF23_nnlo_as_0119_qed" = "1cqvdmq0hm9rh6749bn08i6c94gshpjafmwv8siizdlm8v9af442"; + "NNPDF23_nnlo_as_0119_qed_mc" = "0a77i8grscxwnybgikik94ldiddrif3yy6d4bqb6x1aj4hr9i5ag"; + "NNPDF23_nnlo_as_0119_qed_neutron" = "182jqm5019n94givs4rwblpz02hp90mbizp0b5svrxf21zdyrmbx"; + "NNPDF23_nnlo_as_0120" = "1v8ykgxnqbvfra57xpamhgbcjvj89dndhk62pmji004gvqpmwi61"; + "NNPDF23_nnlo_as_0121" = "1fv1m86ya7zi77ajd8r1nls2zcr7n6s3wqrdiwq5ikxidqxc6cgy"; + "NNPDF23_nnlo_as_0122" = "0bn6bmvs8w9qsqcpq8y8a7w64xbkvrqwiikm5shjprwqy9xbspyf"; + "NNPDF23_nnlo_as_0123" = "0w7sqyyf98ymxpgqfh8gr9g1pdwr2pw12zc8gqykn5nkjbbmijgy"; + "NNPDF23_nnlo_as_0124" = "1hilgda0gqyj81a5h0mxrl5g9ahlm1n6mhd3ajkicxz2fvxm2n1l"; + "NNPDF23_nnlo_collider_as_0116" = "07m2jwjwzjc4bdsx9dkrp41qn04f9z3k2m6n4q308hwdq9lmcm99"; + "NNPDF23_nnlo_collider_as_0117" = "0i4kggkkkp407r33a2nsdy329zxpx8h6dq0h0wwpvq1kmyrjk6i4"; + "NNPDF23_nnlo_collider_as_0118" = "027wlw7lk04grz5qavyymj21ik4zr9fy9yk2kwjc9gx2ycp3sj2z"; + "NNPDF23_nnlo_collider_as_0119" = "0jq3q3sh1p8rn1qap77794v9hh3j0b7pmfl24wxvpc4dly4al0vs"; + "NNPDF23_nnlo_collider_as_0120" = "1s0jic8amasmxczdflbbhn6071nx8cxr3ynfrinllp36d92pmgsx"; + "NNPDF23_nnlo_noLHC_as_0116" = "0jzn78p2gygsqip50jfnnrmwl7issbp4vzpf71cbvj39ihsmavy0"; + "NNPDF23_nnlo_noLHC_as_0117" = "0zns2yy50c0bm91y8xaafmzhgx1wafvmv39cykw7xwsnkgclh487"; + "NNPDF23_nnlo_noLHC_as_0118" = "0v5bdc8d9w5g606h42rpn6zw31y1a5nk9akgfd1lyrhilvh7ayck"; + "NNPDF23_nnlo_noLHC_as_0119" = "1zacfd5jc5wvcig0g8g4jkr77zcxvzcvppa4ci81c1n8d0whnr5s"; + "NNPDF23_nnlo_noLHC_as_0120" = "1lx7m8ajwvhkzxck2ngxng1g90fpay5r5iwdnk2w7xgp1hb1ayc3"; + "NNPDF30_lo_as_0118" = "12adhizxskpjzdr6inc2hi6bxrs8ns3bnyihz09hfh9q53d5ayik"; + "NNPDF30_lo_as_0118_nf_3" = "1gjaiwqdhlswf1qmw39xr6g0w4bnnbinfpwl9c37jnggk6dxwdjz"; + "NNPDF30_lo_as_0118_nf_4" = "121xn280f5xx04q0rr4ina9iqzbc1v8cay78km836kqvgb3pcpyx"; + "NNPDF30_lo_as_0118_nf_6" = "1s77g0bf1qjb9rn1svnpfx10laxx87lw660ark9fhhx14zgybs3i"; + "NNPDF30_lo_as_0130" = "0nvpwbmdzm8fn4wlb2rhzar71kk4myfddpqsqhd7wb1fqxkj5b7y"; + "NNPDF30_lo_as_0130_nf_3" = "10diiahiy3yk6y7m1r4bd6nr1kf4mnccgj5qyq2lw49highn4s8k"; + "NNPDF30_lo_as_0130_nf_4" = "0j3b3rj5pr2ws3yaq6h74hhsjy7lv3d2x5nryc55q22xfkgf451i"; + "NNPDF30_lo_as_0130_nf_6" = "0w7k4a9ir4xvfh3v6dba70rhwkkq7qk16z178wld26zl6a7gw1hk"; + "NNPDF30_nlo_as_0115" = "15g9alyc317qydqy3g7sqlh6pc4pxn3xmhmzv9lcw2ghg3gn35fi"; + "NNPDF30_nlo_as_0115_nf_3" = "05b5xl89jvk6bgp86yl5hwdh3x8211czdsbianqkfix35rqrvlx3"; + "NNPDF30_nlo_as_0115_nf_4" = "02p9lhvricjl5r79pkcm2fv14p9gw1d2qizka4w254ang3i1hcm0"; + "NNPDF30_nlo_as_0115_nf_6" = "1iabf2qszv1270ac2sr2bqs7rb3gm58fj388saqbhnra4p2kv9fw"; + "NNPDF30_nlo_as_0117" = "01my1m7vx7yax8ldnjp7s1mz1w3x3m0h1gdd8mamfrvphaghwp4x"; + "NNPDF30_nlo_as_0117_atlas" = "0vjfh6kihsypvkpg3fwqf96kd2ldq0azcl72ia6w1nr52rsqc27l"; + "NNPDF30_nlo_as_0117_cms" = "1sbaq99731ihrkp9a2fj6lxj9dr2c9j4vp2335249nrkinfpf4mq"; + "NNPDF30_nlo_as_0117_cons" = "14qwjsa633v3h0sbizmhifrwdm7fmglyk608lq4ims8y7nn491nq"; + "NNPDF30_nlo_as_0117_hera" = "05gs9ril5vkm7xrnz5pvjd6pk8ivgk0bl4bh45gx658fgg2snhiy"; + "NNPDF30_nlo_as_0117_nf_3" = "0jc8p8h9pny0l7j3hv55iwaw684ymj0hl62d6bxlvw8sqvhxcqyl"; + "NNPDF30_nlo_as_0117_nf_4" = "0a37b46ach3m0gqniwk79qk963w0m96dknda2rhp1glpg5xdxl0z"; + "NNPDF30_nlo_as_0117_nf_6" = "1hjj6k5g2fia7xq5piy0dhsqs9lwriasmppjwil9wxnwklnwmr2m"; + "NNPDF30_nlo_as_0117_nojet" = "0z3s8ixmq2l4znv2dn0dcz9rq5f9b3jgnlwmvjzcab3wvj1za687"; + "NNPDF30_nlo_as_0117_nolhc" = "1x9nbnxm72wzaky4rvlrq1kmqs86ypphqwvsng33n0zdd9yr82pr"; + "NNPDF30_nlo_as_0118" = "0b51qb2i3h9d7hrviarfszwljsy88m8ibzgz7dd5gn88k9kardrm"; + "NNPDF30_nlo_as_0118_1000" = "17yla3w0rqy1a5hxq3bfq94ddda2qv6zzj76lfrm4zahl6m02kdy"; + "NNPDF30_nlo_as_0118_atlas" = "034h2wgakbm3mx70034nwb44ii38rca7xv3az3fhcnjbpg9vnf0p"; + "NNPDF30_nlo_as_0118_cms" = "08g9315fpc4khwfjf76vvyqa9nannvwq0bpc42f9f7yc0pck71qa"; + "NNPDF30_nlo_as_0118_cons" = "1lw0fhy9gwk3zr7vq7qh9p6zprbyd4faln3npnxs2snncic1mnz6"; + "NNPDF30_nlo_as_0118_hera" = "1833gd9h3gg75hblxf5qh5hp61k7n9vavb91ll9lbqmcbfr34aas"; + "NNPDF30_nlo_as_0118_hera_1000" = "0lljb96d3q25yw3fz3cbk2in90q6srpc4alkz95nyrvgp25xgbgy"; + "NNPDF30_nlo_as_0118_hessian" = "0h8d2zc02ccr1rmlsf4xd5a41irbs9q9wx68caj2xy0i7qr8rsmp"; + "NNPDF30_nlo_as_0118_mc" = "12nnyzh2f6mv4gq4x4b8nlqx34lbj5y2y60zivfdbcpyg2spj5y8"; + "NNPDF30_nlo_as_0118_nf_3" = "10f5md8bhf44n5x6r7ln8c58a9ylm4mfgxg30vd0d8mvjc3zpsng"; + "NNPDF30_nlo_as_0118_nf_4" = "0q14zqkzqy2hgh8wli5db7dsqgsljgbc717da661wj8kqa23w4r4"; + "NNPDF30_nlo_as_0118_nf_6" = "08ajfn1r27hdarff464j2gpi7ffjjxs6pwzh3vil8lpjij5y7d4l"; + "NNPDF30_nlo_as_0118_nojet" = "0zzzk72n7nq1mcaalbv7mpfpb9kh095j0zazbzfjf2k6r3p0v082"; + "NNPDF30_nlo_as_0118_nolhc" = "1p7iac75znr1li8qg9xf1my37i70flhvjkfjmrb5b0h3hk9agb1r"; + "NNPDF30_nlo_as_0118_nolhc_1000" = "04mgjfq1ncy90gqljfdzw1iwzav5infkfv7zj2rid088n3qfs91p"; + "NNPDF30_nlo_as_0119" = "0p0kgw17c97p99zy3ffr6g7pphhc8ccdhcq4iip5drqm4hc6nb58"; + "NNPDF30_nlo_as_0119_atlas" = "1hpx2jm4y6kz9b4j42ags98j115hd2s41km670979z9zxmj2qm5q"; + "NNPDF30_nlo_as_0119_cms" = "1j0135mxdiyn22iqrmg0d44w2w7ql1cdacprxgdz4jfb0ppn68rx"; + "NNPDF30_nlo_as_0119_cons" = "00qvhq9ypqv62zvlg32k3x5gibl5jh0b78hyrpvxf1l3y2b77nw1"; + "NNPDF30_nlo_as_0119_hera" = "008f4m8p9gi4w61mgjiqqpw346rgqxaayc1rncy2fggl4gs64yi1"; + "NNPDF30_nlo_as_0119_nf_3" = "1bh0sl8pjy5n90j5dz9c80n3vy21hdsv8vxwbqkq0b2lkv8gzw5g"; + "NNPDF30_nlo_as_0119_nf_4" = "0swgnmbxz0g3ziib1992s0454jfsdi7l0x3lrvs5qzzjk6rg6qgd"; + "NNPDF30_nlo_as_0119_nf_6" = "001awj8h76wybmxj9vvkxgqixzak4zbhsvjmj2lscb2v5qq3y68r"; + "NNPDF30_nlo_as_0119_nojet" = "1x961nmad1rxmf4yzbz2drpi5hfac2ag1bs1jbvvlw3p04xr2c38"; + "NNPDF30_nlo_as_0119_nolhc" = "1yx6f4n577zqwhp0i440r6zk06702jg4kkib9nmgws3jl5f28big"; + "NNPDF30_nlo_as_0121" = "10k01z1amzp3jmfvfb2snrm8d04vr31kly1m30pw4fv0qn78idlw"; + "NNPDF30_nlo_as_0121_nf_3" = "1gb40ycnf42fkrbdwfhb8wp56nmzxyi7fzbqgvlkby7pn86m2f7m"; + "NNPDF30_nlo_as_0121_nf_4" = "18ywp6b9f83rxmh7gfn648wslvvf5g4ffm83rradp308smr1sv6p"; + "NNPDF30_nlo_as_0121_nf_6" = "12dps7n3glrzwb8vsfghwbvnh1yyxvjnvqfilbrrcy0dm3sams7b"; + "NNPDF30_nlo_nf_4_pdfas" = "0hrx872m52bb894c32jrvlvm9lcpy3yllj5ps52nmywqd8n1simj"; + "NNPDF30_nlo_nf_5_pdfas" = "0q25jxvwpz8inkax0j2zq9pj8swqfn4jmkhs4ibkl6xs78bhjfb8"; + "NNPDF30_nnlo_as_0115" = "03apmzw7krj77zdyl6sxwqg5fyv3vicp8iax445qdx8ld9kv225w"; + "NNPDF30_nnlo_as_0115_nf_3" = "08y1gjzkpnjn6mn247n7a9ya8z6pml3602p08rjha4ljggxhyffq"; + "NNPDF30_nnlo_as_0115_nf_4" = "19mjfk1rib9dxbsn0473ggi6akwv1zs9y3q9nzjg47mdjqlspb2q"; + "NNPDF30_nnlo_as_0115_nf_6" = "1zcjjbjwjgbkrhgh0kira7wzwmy5vvi1n15wycg33yk09m06db6b"; + "NNPDF30_nnlo_as_0117" = "1225gj4ihmphnfav2h38rz17lj1dyi9j1lazqlwww8vizl8933bz"; + "NNPDF30_nnlo_as_0117_atlas" = "0i9nc7q1cwl8cxxaj1xaz28wmj09q5bjmh19p1fcbcln7hklvj5x"; + "NNPDF30_nnlo_as_0117_cms" = "01ffhsw191nrr58x6wnjizx7bbijkknicvgk73pjbwyr67gfj581"; + "NNPDF30_nnlo_as_0117_cons" = "1blfi0p231r5j34wspk192fmbv34gbvx3bkisjh7wxpiab80qdws"; + "NNPDF30_nnlo_as_0117_hera" = "0ds02aj1q6y4dndfk9l9fyxci0dhpwr7jx1jq1qb9g5bb7bbhzz1"; + "NNPDF30_nnlo_as_0117_nf_3" = "087rz8bz3j2h7yk7rknlqz3rpbczgx2r2zdag8pjccdqi9jnk9pg"; + "NNPDF30_nnlo_as_0117_nf_4" = "1w44bwx6m6g8r990vl6f505bgf3v583mi19r0nfh2pahx2k2djaw"; + "NNPDF30_nnlo_as_0117_nf_6" = "1l7gwbsl2haqaj6hqsnnqwrnxrkdv1h63qbs7iwfdq6474ndzwsf"; + "NNPDF30_nnlo_as_0117_nojet" = "1nmv44arab9gfhs02jf4zijdb0644pvdmi6k809bxbfhir9sry8v"; + "NNPDF30_nnlo_as_0117_nolhc" = "0zn2b05jv9da7394in14mswvma48y26lvpw7rwh7wmyw323rxpfv"; + "NNPDF30_nnlo_as_0118" = "09xxi0vq90n9vfzq72c0mbf4yz4zif3kl6xwcjdb8r620ihwrnfw"; + "NNPDF30_nnlo_as_0118_1000" = "1iy5inrsfpn70w65hy42pmz0630pbrgg4l48qgsamcjgqdhd3n84"; + "NNPDF30_nnlo_as_0118_atlas" = "013jm6f2hnmzc2di7spf6zp31fwhm6c9sddwql36hww63w8sys71"; + "NNPDF30_nnlo_as_0118_cms" = "1w0ax68rg5877s35zlg13c451fcz2rij4adzwhz4yf4skkbgflng"; + "NNPDF30_nnlo_as_0118_cons" = "1qniswwj6cmcs7bm4n11jx2disqcwszl08cb7im824nvrcjka2pg"; + "NNPDF30_nnlo_as_0118_hera" = "05j5yrra93dxh1nah19hszd0q3pj4zfica8a7vm5akbfn02rccj6"; + "NNPDF30_nnlo_as_0118_hera_1000" = "0ssiw9fk5fqwg77rbycrxrclldws35n6gj4a4sj6d9yc87vz1g7z"; + "NNPDF30_nnlo_as_0118_hessian" = "1hb32bamwlx5il8g2sf5gy6xjr7r4rky7xgvdhf5ndq7v3n1ncx1"; + "NNPDF30_nnlo_as_0118_mc" = "1gxl4c5z2vh382y8l2kpr8vy4fqvbxvrw6xjc6dp229ak89cd6c2"; + "NNPDF30_nnlo_as_0118_nf_3" = "0iccjcds9j9pp8s3mwrshhzl5anklax4rgcwm5im90hipj450rgj"; + "NNPDF30_nnlo_as_0118_nf_4" = "002r0179jsl0l43psvw3hd1drg9fcrlzw57sbyndlswvq4zkyzyc"; + "NNPDF30_nnlo_as_0118_nf_6" = "1mwh2dxymayxa2khxjfxqmbhaj85jdnz548wmq6fyrxr63cfmw07"; + "NNPDF30_nnlo_as_0118_nojet" = "0nly14fxfww78qihrd8b6wk3da24x5sxkb13h8l2cgdxkq90fxbd"; + "NNPDF30_nnlo_as_0118_nolhc" = "11yvr5h66v37376d5p2m2g8fajdycv9baqq6mjfphf4a2abrl7m5"; + "NNPDF30_nnlo_as_0118_nolhc_1000" = "1bi0mxs6v1izlbvich55vi7qab72v1sizd4wj13787w47ffqm89p"; + "NNPDF30_nnlo_as_0119" = "11bvbqqjbyz0vjd4kh5qyd0a4rb62l103n10d1cyffgdfxxsk8f9"; + "NNPDF30_nnlo_as_0119_atlas" = "1fm46crfparx2swpxnyscpwqgicxb4skhclnc5xaijcpzraflzp7"; + "NNPDF30_nnlo_as_0119_cms" = "0i2d4wq7bsbfp8hqdr88nbii980zhfmpg6758czz7swd5yv8076a"; + "NNPDF30_nnlo_as_0119_cons" = "0v54zyz410rg3wcdw44japzynzvvrbjrspk91d0129rdv2xz51cg"; + "NNPDF30_nnlo_as_0119_hera" = "09w3krirq117cnhfkxlb8pld3xb5g2r3nhgc11v3ksavq746jhvk"; + "NNPDF30_nnlo_as_0119_nf_3" = "1k00h1c0lv6884lb02qmqki7sfmxkqpj88fkvf057frk120f59ah"; + "NNPDF30_nnlo_as_0119_nf_4" = "0pqjvaw2ad3g9zzjdyhh72580jrj4p8hxlvy9h6q9hhpwdihnnmh"; + "NNPDF30_nnlo_as_0119_nf_6" = "096fc9958s3z559knxqccwj3vylxviq2g58rwirj3qdjvy96y2cc"; + "NNPDF30_nnlo_as_0119_nojet" = "0l5crj00jm2vxgyr5nhs6h1n64xnxwpanrsjk8f8qfis37s68ar7"; + "NNPDF30_nnlo_as_0119_nolhc" = "1nl4gkjjz3kpq1sbzqk2d0d50vmb3ks7j5z14hqf9dib2xr39jl1"; + "NNPDF30_nnlo_as_0121" = "1c0ddbjskxw4rq1p8sp63vayxkvcnls062qp16wvrrbw7zkj1jaa"; + "NNPDF30_nnlo_as_0121_nf_3" = "1sj9g0wg6x2cvwp45i726dcs44hpqjiqa011xzindnjh8cq7m6xn"; + "NNPDF30_nnlo_as_0121_nf_4" = "1j4khzpw52vc26n7a95xg1wyqz720fnz2kbb8l9a5bsbmxmaa7xv"; + "NNPDF30_nnlo_as_0121_nf_6" = "1kln7zjgl0hwl621wnhhsih0m8f9ir2i8ligfg2s0qp8s3787lrg"; + "NNPDF30_nnlo_nf_4_pdfas" = "0s460v9712ahz09fhzhlnsnkl9arsy3l82g1z6xjz4la8fwkr9wq"; + "NNPDF30_nnlo_nf_5_pdfas" = "1vjfm9j39m4389b0r51axlbzdbkpk2vbs3vks3yqcr3hr09g9myk"; + "NNPDF31_lo_as_0118" = "1jq8ad68kym717qinwdldvrjnry9sfsfq7lvfv6ipm1sdzixqm96"; + "NNPDF31_lo_as_0130" = "1lg49cbg43yrpb7fgqfk0d55m28rrw781mks3zn9m24fv0hiyzqp"; + "NNPDF31_lo_pch_as_0118" = "0xm3fyvrm77hd2layrfwc74vncc470gvf7hx8nzd2sw3ai1g9h7x"; + "NNPDF31_lo_pch_as_0130" = "18fip94c0ywzj543qq154z2wnllbn8jw61nx6l8v9wmg2sdzi6zi"; + "NNPDF31_nlo_as_0116" = "0i6bpa2wf52vsc6x5nlsmncal1ghqpsyz7pya2a2zg0k7z6dfcsp"; + "NNPDF31_nlo_as_0118" = "0vwbgaxs5gj5cnyncmc7m3650pd6bplwdga3fnyy1vrrh3mpsngh"; + "NNPDF31_nlo_as_0118_1000" = "0ql0phs563ck7bx7cm5x242icfb2jrlsxhsv80m0hxyr3fhyc06h"; + "NNPDF31_nlo_as_0118_C1p6" = "0nn6krh6vk8rxiwhpnn3nbxian8hw8d1vq31ywh9560hbi3vpcrl"; + "NNPDF31_nlo_as_0118_hessian" = "10v2ayms2mhm9zi7k0fw9rshawc7njdlbjs8rfg5hiqn1adss4w3"; + "NNPDF31_nlo_as_0118_luxqed" = "19fdqxfmx8kzcgq13dk4k1nhkgqpnm5xgahp13hwz1i2vcp6xq87"; + "NNPDF31_nlo_as_0118_mc" = "1yw21cs6p85ij8lm9k0cvlm651a3x9f73f23ysxjgh1r5kqnhz9y"; + "NNPDF31_nlo_as_0118_nf_4" = "0qywlyd34yqb2r8ch9wjimyfi1jr3rdhxliwrmns0558hbd47a3z"; + "NNPDF31_nlo_as_0118_nf_6" = "1pb22z2s0ir130dk5pkxwyid37i6mf8jpr7k7nlfi45gl9zy5ldd"; + "NNPDF31_nlo_as_0120" = "1b5wsab66karm1ay5vxpjw21g2ywhnzqnlahxnvnaf80izha35hl"; + "NNPDF31_nlo_hessian_pdfas" = "0sxka18qp99gjj9abml2ba4877zavijmjfzg6m0qczx9m8v9m3xg"; + "NNPDF31_nlo_pch_as_0116" = "1wqpq2qj5czvcj754nd6c7rrss8skjx58vp2gj2bc5n95jv1qazn"; + "NNPDF31_nlo_pch_as_0118" = "113xpp3xvpfpivlj6p7av4czfbfnh6bk2kd4d2635ddvy0clqkpf"; + "NNPDF31_nlo_pch_as_0118_1000" = "1sbjqkwq7iy7fnk3r9ga1rzadzy8x3ld933vcih87is09bzg5rfl"; + "NNPDF31_nlo_pch_as_0118_hessian" = "0xmz2hc3n8alhf210axv3amf7klhbyl1dd1z2yyx6c3pcvcrf80m"; + "NNPDF31_nlo_pch_as_0118_mc" = "1w1jifp5f7ypf5xqdw1mkx1d6shknryhqzk8rk8naf37bms68mfn"; + "NNPDF31_nlo_pch_as_0118_nf_3" = "0m7rq7k8x6bsakkw3kmcicq04c39flrw1axv72dqaf9xci9w3pii"; + "NNPDF31_nlo_pch_as_0118_nf_4" = "0k77chw866shjkc0ml6kb4az75sdcvdd897r8d56jl72d2lkxp3m"; + "NNPDF31_nlo_pch_as_0118_nf_6" = "0bdc60dxj7jmqacbbaxp2m9qzg82r6pgn7h9pi2k15d07qm6fc4d"; + "NNPDF31_nlo_pch_as_0120" = "15s1b5w52c3q1nfzckdxmdwrnxw08pprmphc1p33am9v7cwwq2jk"; + "NNPDF31_nlo_pch_hessian_pdfas" = "0qdswml17bg68y67yw2zbwwp233nxpd1qpc23rqjwyzk2r7qk9bg"; + "NNPDF31_nlo_pch_pdfas" = "196pcdwsi5p9g88g1c8958qkdj6qmzvl7rsg3j8zll6274m42s4c"; + "NNPDF31_nlo_pdfas" = "1as7bkp56pwpn2vinxdnhzlnvnxx5ng0mlpmwzz5n7gsinyaz1x9"; + "NNPDF31_nnlo_as_0108" = "03kg0i43wxf794c4xhvismks6c7nw9hq9ihn58sz628lqcjmsccq"; + "NNPDF31_nnlo_as_0110" = "04a5gf6nyd58h9sad8zv46vmb074dx7j19r23lbc9w1di23sk104"; + "NNPDF31_nnlo_as_0112" = "1xkjjm49nlm72f4l3ynrm4g2ayzask22saaf6p1p61lx0jv1hjyd"; + "NNPDF31_nnlo_as_0114" = "1j4q47qscyw52swmnn0a3lr0avfsjvy20ca50xfhjsvla6wd9lpg"; + "NNPDF31_nnlo_as_0116" = "1k2d4jzg5jfs6f2mscpvalmh7i5fypx98lnb5wjycprlwd3nr3i9"; + "NNPDF31_nnlo_as_0117" = "0b6d1xlq4qwjalvrc7ppavw44w5zf0fn3rbsvh3k4qy9r19wk5fb"; + "NNPDF31_nnlo_as_0118" = "1bw2ksmxdfbwdcimc0ld87hanbqy514sridrcarqwgqh9yv5n0qp"; + "NNPDF31_nnlo_as_0118_1000" = "026d0xygh046y10jxsfc91hr4qxgark12m393r0afip69dzdsrx0"; + "NNPDF31_nnlo_as_0118_CMSW1" = "0vqjyziilfzi0gz3a2rv0i6hk3ri3krc2zcdjwfa61z1mg5syi4a"; + "NNPDF31_nnlo_as_0118_CMSW1_hessian_100" = "1jc8k64pj1mfcw8v9qq9v8m222d09bgfkla7viqzzzbdhy5f6yy1"; + "NNPDF31_nnlo_as_0118_CMSW2" = "14acp7w3sx5v4ly5wa32vpsk8xw2rh8g5gl7x3f72c0s5jcs4n81"; + "NNPDF31_nnlo_as_0118_CMSW2_hessian_100" = "0ykaw8x0i6k8vlbms2inm9zm860apsi5mf4wkxha416v4chrpd04"; + "NNPDF31_nnlo_as_0118_CMSW3" = "1snkandx6apar3sp0c182n770rxn2s64pc07h5k18627cnvpzing"; + "NNPDF31_nnlo_as_0118_CMSW3_hessian_100" = "03n59yvpgciipkv3k0yr0ab3myhx263n90ah3q3h8hdszkf80ri1"; + "NNPDF31_nnlo_as_0118_CMSW4" = "1zpnvawdj20izx0mx9a3xz0d0an6i65axbzg5z7fkiq0p09rfx70"; + "NNPDF31_nnlo_as_0118_CMSW4_hessian_100" = "1qczy2935iq2h4mfq0mv53v2vlfsyvhkff36c5dkdlkrzfkvpl8x"; + "NNPDF31_nnlo_as_0118_collider" = "1y2axnkjwx7yg301mj1yx1x937j7mhsnbbdpip94pl3vm5hz10dk"; + "NNPDF31_nnlo_as_0118_hessian" = "0jvzl1bs0mh9c7ypkdgw0s06qn9jkww1d124lc7aq48w1g4n0zyy"; + "NNPDF31_nnlo_as_0118_luxqed" = "10fwxncr1y7hnja5nxywldpkzrijxz5ayldqjc21jamyhyj3qsh7"; + "NNPDF31_nnlo_as_0118_mc" = "0sg939j6xn7d5g46547np3123srgz44h9clh29ybl5cnmccv23cl"; + "NNPDF31_nnlo_as_0118_mc_138" = "1kbxhjzrr4802kcpi7m2g2dx4ywvs9rqjispjwbjc60rqkqispyv"; + "NNPDF31_nnlo_as_0118_mc_164" = "0i9yxnbps63nz6ala4jk6qmpxlg6p46w6jja8qn73hp0n69w2acz"; + "NNPDF31_nnlo_as_0118_mc_hessian_pdfas" = "1b9ijn595qfq32yz9rlnn2br7lssbk8ka39ripfcfyf33v9sv460"; + "NNPDF31_nnlo_as_0118_nf_4" = "0l796ns5xm0biyl0jra5z6y7vddv52v48wlbdywsq54082scfpl0"; + "NNPDF31_nnlo_as_0118_nf_4_mc_hessian" = "1bw0x75pah1kp387s8m0rv2qc54k5pbncbv507d5278hhfsn68qa"; + "NNPDF31_nnlo_as_0118_nf_6" = "0dbxxk0p001sk6sb9nf5ipzi39w65vf4c4g8cbhll7p4fqi8f8dy"; + "NNPDF31_nnlo_as_0118_noLHC" = "18y9mnp1gmvdbikgfdybw8wz2w5x60wk8lya13g7z6nhbfs08qa4"; + "NNPDF31_nnlo_as_0118_noZpt" = "1jwhkz8b1x6a2qi62jvprcp1rmcq5aq7s31qhw0skcpx8r6r6gnb"; + "NNPDF31_nnlo_as_0118_nojets" = "1bg714agc25p7zw2yydvl340sns7fhszpbphzap6fc0jsg511zh5"; + "NNPDF31_nnlo_as_0118_notop" = "1v675r4qk0wz1hg000fw79nmf1zjqi2ghvgjgs7hyzzbh5g4l3ds"; + "NNPDF31_nnlo_as_0118_proton" = "0ipsp8kk59fb3w9d1y4pq85f4fl6789rypjfbpp44gcy8hzshbm7"; + "NNPDF31_nnlo_as_0118_wEMC" = "0savd87jahlac4ag3qfamhnpa7mpnm00j104f3ci17gdax1sds50"; + "NNPDF31_nnlo_as_0119" = "1s7ildlffbh6cpmzlmafxzbbrlgggfqxsv4qic99yvgqvdgqar8w"; + "NNPDF31_nnlo_as_0120" = "1z6lqcq1dgvqnpwlfymlf9yhcaqc2p8ny7wv4xs57639dsp5xarb"; + "NNPDF31_nnlo_as_0122" = "0482r1hip6c4kpq24xzi8nw8awky0669k4plgpgv0av12l4bh9c9"; + "NNPDF31_nnlo_as_0124" = "0cf3djgs4gayzwy8p0qvynripz3hxd3866m8ldlhxnjmcsgcps11"; + "NNPDF31_nnlo_hessian_pdfas" = "1m5wdnj7hvg2a51w1qmhm934glhjf9db0x5nry5blp90y5x0v185"; + "NNPDF31_nnlo_pch_as_0116" = "1i8yzqywg4hcf53vcp25fg8llybis3pz6xbp5ajpyjvrvsgii1pc"; + "NNPDF31_nnlo_pch_as_0118" = "01rsx0ss67772b20dnnw463328pgbd57d8zcj3lqymlb4a6fq8f7"; + "NNPDF31_nnlo_pch_as_0118_1000" = "187xkvp7y1wssgpb21r1w4yxn6m1280jac9nmiavrma06jfd57c1"; + "NNPDF31_nnlo_pch_as_0118_hessian" = "0fs5d450hc15hqs6xv9nxfsnhwszmg9ybjypgwa9kn4s4kkaz1wl"; + "NNPDF31_nnlo_pch_as_0118_mc" = "06vgb01l1yigln7cn9y3lslg35grwvydpd8g04xn4pj4pj2vjrs0"; + "NNPDF31_nnlo_pch_as_0118_mc_138" = "0za3v1mg8gb631039kg5mkr9zhn390dkyim9p663srpk85j7h5g5"; + "NNPDF31_nnlo_pch_as_0118_mc_164" = "1xc02sbmhyjr4gjwim4p0gg90zh26zdmnz89395pxzbq2navcraz"; + "NNPDF31_nnlo_pch_as_0118_nf_3" = "14xb6m1wqc5f7xjiklwnshn7ljrlg6kmbzr2rib44pgbj6pnl2xn"; + "NNPDF31_nnlo_pch_as_0118_nf_4" = "1sg823n82j9ijqx4ldysh0g53pjzn4sysvag837ywfyns4p5qy9k"; + "NNPDF31_nnlo_pch_as_0118_nf_6" = "14ls2yd1n2pqvdvq18qmhizms3a8pwqvksdkvwn0m1379lkss106"; + "NNPDF31_nnlo_pch_as_0120" = "09zc56cmpj9iw0qp2bm9a8d86r0mdagg1vrpf2xqza4fr841r5km"; + "NNPDF31_nnlo_pch_hessian_pdfas" = "08baysni2lhbpr1scx7h0zf64gyncj2ahcv4y86142gl4zqrafvp"; + "NNPDF31_nnlo_pch_pdfas" = "09mw3gr7dz0vwdnralaplvlz2c464lmdizf673xsb0wlm12pqf6g"; + "NNPDF31_nnlo_pdfas" = "0l92q3xhdk5nrnhkmrirxnvplj531rdpnblnacd759cl4hgxcs2q"; + "NNPDF40_lo_as_01180" = "0m630n5i7s0qnlxzk6ka43qfp6ipz2jgzr7ys42hdb66kg3z5lkc"; + "NNPDF40_lo_pch_as_01180" = "0wrvmcgdaipi7vy7j85yszaa3c57hs3xll9lfn9cdbjscvmsx6x5"; + "NNPDF40_nlo_as_01170" = "14j21qryc25k1jk4ypdcr3cgfkhyy4hsb57hy8x5pggfwc2w3f36"; + "NNPDF40_nlo_as_01180" = "0399bnxvgl2h2ini198jmzjjb179f6dpxfv5x8imlfl515llivx2"; + "NNPDF40_nlo_as_01180_nf_4" = "01kwziiyg8vbl26znv7khqdckm501d7ccxlkq1y0cd9s1f5ff8xi"; + "NNPDF40_nlo_as_01180_nf_6" = "1gv8anb3vqpzdymp9g69702x64pbh6l2rn9257hdpz4i4m98rsjy"; + "NNPDF40_nlo_as_01190" = "0wf8p2i4mxs3hkqvxg1clj082yinbdgccr6qx5kbwkzsck4yybar"; + "NNPDF40_nlo_nf_4_pdfas" = "1ia9glingyds6bj6yxy867ahriqdhfkxczzc4nki933h6jbj74bf"; + "NNPDF40_nlo_pch_as_01180" = "0gad0hjq9kwiymc9pljj4z52jsg794m3knb38zj9icgjk0p9lwxm"; + "NNPDF40_nlo_pch_as_01180_nf_3" = "15j3vvc0vaf13d8cnyr4h7gwb7iznrcajnw59ryx6ksz7cn84sy4"; + "NNPDF40_nnlo_as_01160" = "0y9115xlg14m1ahfffiam4zp0axga86bhzfxf0xiaxb36yzbmdhw"; + "NNPDF40_nnlo_as_01170" = "1h6if1zw9dqlfnn7glbl5flj792i7fqiy7pprhwk93k4snh3800i"; + "NNPDF40_nnlo_as_01175" = "1dkzzhmkmzm92gmb83lyirj3clicrg70h5grzh0j8nfcw0xlz4rm"; + "NNPDF40_nnlo_as_01180" = "1bhysjkji0k7xy9njarkfvxff05kjl1byhkknxv0875p2znzkpva"; + "NNPDF40_nnlo_as_01180_1000" = "04yai94qwd7187wg26icwf2wbwi20747l6zikd66ygsz9n34xn9y"; + "NNPDF40_nnlo_as_01180_hessian" = "0cmpqgaz341hif0gdkzq8mnfh9apxn1zxjwa12fk5svbig9i1a81"; + "NNPDF40_nnlo_as_01180_nf_4" = "1aj5y3fyvna2jwxbsrgr2cbc452aprxnwv78vh3ph20jlnww20pd"; + "NNPDF40_nnlo_as_01180_nf_6" = "0bf6s6s0w7l592bm87mazwff05d8s4qlblzl9yj91am3xlv0cvn1"; + "NNPDF40_nnlo_as_01185" = "0y1xn9qcv2l81sbz9rayzrpd1bjsdyixr42lzfgmqbq45sw2m04n"; + "NNPDF40_nnlo_as_01190" = "1ibz4yfrw1n8plq4gi03yxi9afaca2yprxfk2y9lvbkycn608d0q"; + "NNPDF40_nnlo_as_01200" = "1cfcn819aali7ylv9y6yb2ggqy0yghyj0dys9lf9gv5wiqjwh5q2"; + "NNPDF40_nnlo_hessian_pdfas" = "1b5jvhdk7fmnz8gl38i3408h2qrqcsr7s9v7bh6ilc7x52xsg65k"; + "NNPDF40_nnlo_nf_4_pdfas" = "1ssp315xcqpc4md5gijbi2c02r6hpazp8yw1661r4m7xy5qm62wc"; + "NNPDF40_nnlo_pch_as_01180" = "173l2178plrir9fb3bq17l4dw5qfy9clic4m54wqg7y3r71bmv7p"; + "NNPDF40_nnlo_pch_as_01180_nf_3" = "1mh0pl1f1ayx1fjj0q1fw9s7wc7gmj7a46jli87s4g5nxrhyki9f"; + "NNPDF40_nnlo_pdfas" = "16d81h0pzxzgwwrfjghmradx4bijf08xbrdn79y9bxf6czacm8n6"; + "NNPDFpol10_100" = "0r5qfa8cyanalphgjdsh57s3viqv9i10v51p1pyamj1f90gb9pr8"; + "NNPDFpol11_100" = "0nny1lpw37jcillpfxjx82hq7wlzp4yksxialmc2ivr192qqdda8"; + "PDF4LHC15_nlo_100" = "0m9d4zy7608iryqy1ypgkr1d3yhw2wv1nrrc70zrfih7x0fp7lz7"; + "PDF4LHC15_nlo_100_pdfas" = "05wyqyh9y32sxflq69igcnnsl0ifnkyw3vnnnjn6kscl8h8hs7lp"; + "PDF4LHC15_nlo_30" = "05n0i1mr7v7ssvxvdmv9fn621rinl08frz71apjj7wfdm7s7bk72"; + "PDF4LHC15_nlo_30_pdfas" = "0xi4xydx0x4ina0wmqv9jf4978xhd8x0l91dwfxh5vy39r5x4lm4"; + "PDF4LHC15_nlo_asvar" = "14hdgj5g8ia7y6hi40zbh925dacrk7hd6cli6lkhlqzxl755nbs3"; + "PDF4LHC15_nlo_mc" = "09p7y0z04r6wdkf8gi3yj85qk5hmp0mmhab8c7a7lly4731fyf42"; + "PDF4LHC15_nlo_mc_pdfas" = "0sds9rkvbjkk7pardwq959qqbrvgwswxmsqcfppky2p0qmdsjs0s"; + "PDF4LHC15_nlo_nf4_30" = "1ysy6dqlacg4bwb2f16p1aza5gwm9qnhmc0g0mhsdw4d2i4ml5yg"; + "PDF4LHC15_nnlo_100" = "1gcq3qrf39dhq2pmpjrj3z0i0ycrk76mjdwmgfvzdxysp530ax54"; + "PDF4LHC15_nnlo_100_pdfas" = "16r8far43ymsd64a4bbqlj56qvbjmcyxbawv4lkfxysjvbydxj4w"; + "PDF4LHC15_nnlo_30" = "10cm4wa0mk34rnvsr5q8g9w7fs9cblsryms2nl370wdvcrhzsxph"; + "PDF4LHC15_nnlo_30_pdfas" = "13xln0y8l0qcj9951glj4f1kqfaagj8gwkxzlvdkgjnj1scdy6yj"; + "PDF4LHC15_nnlo_asvar" = "03fh1jcbmvla7n2jj3zq4ibwvq66h0rniply7h93d94zawcgsy4v"; + "PDF4LHC15_nnlo_mc" = "0c6nfkv3x1p5iw514knjvqcs1dcaryf74qqg1za8x234yr5ndi3p"; + "PDF4LHC15_nnlo_mc_pdfas" = "0l8hlcz69cdii7mpgargi9nsx7iy746nad5pnn7pvycrc40marij"; + "PDF4LHC21_40" = "037bs1l7zr3z8zi6wzh5kxgml84bl64258fr2sm0dzv9yxh8lvp5"; + "PDF4LHC21_40_nf4" = "0m2ki4qmgl1ggim2inlgynjzqr4ya3qgjph63jf72kia8ks2hfl0"; + "PDF4LHC21_40_pdfas" = "0pigpix2x2bv1a5ib17zjlfjqygjpjra0pgvmf6knm7mbgwxhqm3"; + "PDF4LHC21_40_pdfas_nf4" = "0dayiilh94cszqiphr487589qacawfp4za2cngr3da03yg1aswbd"; + "PDF4LHC21_mc" = "17fbwk7fp2m3fd0xzp94sp7m0mmjmzakg870rbhg8vi88bimmwry"; + "PDF4LHC21_mc_nf4" = "1n7h45yxw2mwppf6zblc8v415khy9vgrackmbfkm5lb9c79faas6"; + "PDF4LHC21_mc_pdfas" = "1pn9a7z0xl1bn18z461j90sjglccswimm4p23nyq0fxal5ziidbl"; + "PDF4LHC21_mc_pdfas_nf4" = "1andl5n1lw5iyd337czph5abd0sqc3l90b21g67af96am5pprcpk"; + "TUJU19_nlo_119_50" = "1q1dhsxz1kq75rpzv6gg6p6bzvvv0d44pc4y3wsiy9g14aff85vq"; + "TUJU19_nlo_12_6" = "006j6y4xbjss9apzagjcc3r1z6s61a1hzafhcyriiffqhn8bg50k"; + "TUJU19_nlo_131_54" = "0ymf35alyar6fwagmdny2zz2aag576f38kail7gh2lvqpmjmv6np"; + "TUJU19_nlo_197_79" = "0rq57sjcwljz8fz2m5bz0hm1670jp080zawmavmagmzvmyxbpnpj"; + "TUJU19_nlo_1_1" = "0fp4syfjgl0y58hrr3g515j96yp7ncbrnzj1h7i5h3fphxzayhcz"; + "TUJU19_nlo_208_82" = "16g5fjpa1r6pml6jnmzikwafdc0vgj8j3b0ivjz0bsqxms66msg9"; + "TUJU19_nlo_27_13" = "1ffipy7g22mjbhy7wpjipfka84k4iw52bni4gw2a6aan5qljlcii"; + "TUJU19_nlo_2_1" = "1l17drwy3vv8s7g9fdivxs2z6m88h7fpamnr5y0y6nbkh6bja2s6"; + "TUJU19_nlo_3_2" = "1qm010yjnj9amj2j89v6s5s42q18q8b6md35c9mbv88ibqbsdnvn"; + "TUJU19_nlo_40_20" = "0xylrincss1ijkfxnk7hl72c1rzpzm14hcarddh9pd57z7i1gv4c"; + "TUJU19_nlo_4_2" = "0adqxh47pnhgmq9r89wcqaldfrqll5gpjzqncqd5ba8301i3d98m"; + "TUJU19_nlo_56_26" = "04q8c3gkbxib5fz20f7rwn33sqapcmsj6fwwihi6ca8n1rl6hw6h"; + "TUJU19_nlo_64_29" = "1yyl70v8s16s2v630wamyfk8lwdw53cbp5hipgwdw1sfs33pj1mj"; + "TUJU19_nlo_7_3" = "17qfnf8bv6c5q6xkl68c6n1gxp81gang5w71gvn9m5d6pn2wiicj"; + "TUJU19_nnlo_119_50" = "186fja2z84csh6zsp0lpy5mch5swmwaf7mvq8kf073jxlrkrws42"; + "TUJU19_nnlo_12_6" = "0k5q6a8jidhmnjgll1l71dxx85lzd7w4v9bsmi42qladkd71vblv"; + "TUJU19_nnlo_131_54" = "0inwqb1v390xkjzhc7gy4hng07jzbbhpq99f4zpkzx115xs57l74"; + "TUJU19_nnlo_197_79" = "09c9b1kqzw28rqgxfxq2mvwna8yb6f2y90332f05jpvfk3mmr7n2"; + "TUJU19_nnlo_1_1" = "0qmvcbsyi333b9dd42xjdq62a7dfa3hvfcbk48fg4m179mzhp588"; + "TUJU19_nnlo_208_82" = "1xpwnl342g8ahhp3lm7p2xhzlx5qzhjvz6g1w1nqrd818w3994zn"; + "TUJU19_nnlo_27_13" = "18fsbp1nh4zx2wgg9r7ian0mvhvf4y8ssqv33vqvn0vwk7gqw7jf"; + "TUJU19_nnlo_2_1" = "1p0b74w1a9906lqbxbc8dkk5bcdhnbqc82lnhsr4qfi8sxih2l9i"; + "TUJU19_nnlo_3_2" = "132w4cv8r7958sad6jakfppsywifwzzacsfyn81qvv76xzc2hm3w"; + "TUJU19_nnlo_40_20" = "0fkbwxh0smj1icjfn58fsfh52ny35pmqjs7cs3qnw6dk5p95qx6k"; + "TUJU19_nnlo_4_2" = "12vm0dl8ylz38zzi6rsyy24h3yg30nq6l464nl5fr6jdkvkbz2f0"; + "TUJU19_nnlo_56_26" = "1kqc6v6qq6wl3nls31gn5nrzwfl9kshm2bbak771c3xvjsgvjpdy"; + "TUJU19_nnlo_64_29" = "166k8swsysr7x5rgivi6k04q4p8njb2ny7xj7xjqhkgxrznc8jzq"; + "TUJU19_nnlo_7_3" = "0q9vswr0s3k15abghx3cccf1ays0601n1438pwqgd5xz8981ngm5"; + "abkm09_3_nlo" = "0h268l7j1zkxm2nacari10f86lpha511xhgrg0q9r8hc47sw2vxs"; + "abkm09_3_nnlo" = "1gzhvblckskscql53pfxp79qclhhhhm45sqjhc9jrm1bp3x52w8i"; + "abkm09_4_nlo" = "0yq3gy0qgnk5dh0hh3ldrf5bqzx5wpkhw509nvz5arlh0bfwhyg4"; + "abkm09_4_nnlo" = "1b8470v2n5v87mmhp2dhmfh7iv3280ad67z2vyl0sfv87iic409j"; + "abkm09_5_nlo" = "1nhck955mw94h3pyhm2vd3q60qxwsmclkfqdscp06fc3avyvrzfv"; + "abkm09_5_nnlo" = "0wklkcjknn7ys1akg56zxdrkd7ardlc5qnbjq51mva1nf2bxk0np"; + "abm11_3n_nlo" = "06r54q3ph851a0hyn4di1ifwjmdkdklf3wlsdpz7qn0w4w3xcg29"; + "abm11_3n_nnlo" = "03rgkj2hyn3zmj8yxllfnc2iqr12j8shjcpdjka33v270lim3gq2"; + "abm11_4n_nlo" = "02r9ba7rz8f5438rfckzny5amnq9qjgl164x8il6xqh5crxn4vb3"; + "abm11_4n_nnlo" = "0z6a9wxy6018qm9nyyip9wdq46j7rh2if5xch19h4qx20gx6m48a"; + "abm11_5n_as_nlo" = "0x2w81w9cz955k9dd45872k98my57w83cjdsv4gvjb64d1hsygzq"; + "abm11_5n_as_nnlo" = "0091vwjkc686d1dnfn2dpa7jb56p8gli2z687fpx5f8yhjzpbh80"; + "abm11_5n_nlo" = "1bpf37mg5wgcf1id2am98l5mj162xrnb8k16ppfx3qxlakp0iabl"; + "abm11_5n_nnlo" = "1mpk322mqs078pk2nxxk8fa29ka6cxzsf65ffiny38678djmfqd2"; + "abm12lhc_3_nnlo" = "09k90vhjq7p0i0aaq2697pq2dc86bkmnv4q8zyqxjp3wnqx1v95f"; + "abm12lhc_4_nnlo" = "1hciv1z9b5fiz7swv21gr0rshijj9yj2n8x4l54v9g0jyd061jaz"; + "abm12lhc_5_nnlo" = "00xxkrhbfkxhg33mkpwwk5nsdp4nmi0zmllx5z5ygxl24rinsq9j"; + "cteq61" = "14hbc855b3wsjk7ypg86md46cjm1bj7n4hins9nr8kgzs69i6vss"; + "cteq66" = "09i69ac3gkrai5jmazjyjvi5sl8k2vm48m90ijn6pl24p31qf68y"; + "cteq6l1" = "1b5m7g7wawk72h76l9yr3gx3n67jggna1004lwffvj43gffwkjap"; + "nCTEQ15FullNuc_108_54" = "107klcpsr9d4dwavcqqs3849k90mdb3bdjam3pd79cmsy7ncr2hf"; + "nCTEQ15FullNuc_119_59" = "14az155s3xfl8nscwpajzwj0dy94dadc4qdc64njlg3xlnxsgxy7"; + "nCTEQ15FullNuc_12_6" = "14z11wyzclx5k6dl46zr0jp6mja178bvd547cqqfy811nbzmmri3"; + "nCTEQ15FullNuc_131_54" = "1984nphc6sqizaq1c1laphw3hdvkp5k7sy7g563wq18578fifbmk"; + "nCTEQ15FullNuc_14_7" = "11i2xcd6ncp2aqw3y8pgcp63zkaj383ciwvqpzmjnqraiqqqa77i"; + "nCTEQ15FullNuc_184_74" = "1m311m5bkzq00qf117dli9xrmcmx8qqh716wff1yj8ri4c4h9m8x"; + "nCTEQ15FullNuc_197_79" = "0vi29fdxaj7fnpc01k3y2ylb7ngpdnmbnzgxdnr6p9bj5wfa69z5"; + "nCTEQ15FullNuc_197_98" = "0qjkdfgpbcmwc39wzyfb07wrqnkkwn7v8235y1m25x4wy5bbpjbg"; + "nCTEQ15FullNuc_1_1" = "0nx1n814mkikd01pxmpndk2qxpwqwd55cbn6z1kgxm8qlhhhd2zw"; + "nCTEQ15FullNuc_207_103" = "09py38s7shcyy07p5mxfiil5wlxijzbv9k4l3x0g1v191k0vi3m6"; + "nCTEQ15FullNuc_208_82" = "1c9r5wr43291rw965axdzpshzjhnynsrlf28kfr17v7vpd9dykl4"; + "nCTEQ15FullNuc_20_10" = "19vhxi7ch9vxa1vyjpxknk69hnnm2n5wpz4qybg1cznk59dvpi28"; + "nCTEQ15FullNuc_27_13" = "09pflgyxl2ydzrmys7rv0mmvl32z3dmdx63wpilrw592aa70bc2i"; + "nCTEQ15FullNuc_3_2" = "1l2js36nh4jawwkpiq386blgwbmgi9ccvvzbwq92jb5kpd2fvh7z"; + "nCTEQ15FullNuc_40_18" = "11pw23fbrz97i9278cxrvc0a4wbdyhz788axq8jn7yka9mg9kch6"; + "nCTEQ15FullNuc_40_20" = "0raiqn6w90n17irf4l197my77999ygqwhim9lnjqgbn68yjqfqf3"; + "nCTEQ15FullNuc_4_2" = "0fip3n3pjd94rz3f4gcv2szrx5k72m5b8xcmsgjfd1671r5kmlkd"; + "nCTEQ15FullNuc_56_26" = "13msj49c1lfisgcigvc4wr32w597jwir8cggrcdq74b0d0ab85ch"; + "nCTEQ15FullNuc_64_32" = "1spgcb340nz8by8051hngnh6pa1wjf19vi5a40xr8gyprdzhwb4a"; + "nCTEQ15FullNuc_6_3" = "0v5yabjw3xkjq5c1zjqmj3wwb7yz1blkprxnrpvai54v17w3sk3r"; + "nCTEQ15FullNuc_7_3" = "1ncarbncfkqk6l3rx3zg34a3sj7mpm2diqsafyldpn92cw66bcs2"; + "nCTEQ15FullNuc_84_42" = "1z719mcx5lnx2ciwlnxxhgc4s00jrr9sfrxcimh69sj14hmzgx0d"; + "nCTEQ15FullNuc_9_4" = "180ipb4m2zy54h7n4s0jwqk9k6562bygvnv7mg9dp2f7vf5317a1"; + "nCTEQ15HIX_108_47" = "0iqv6rsvvr5mqiaddn2cs6psrslw6ncqxca993v0z0hng9ahnnwd"; + "nCTEQ15HIX_119_50" = "0gxdr596gk69sb76r90p5ksvx9bk4axj21qrsyxjf1bmgdg2rv72"; + "nCTEQ15HIX_12_6" = "0vkkz3hq0irvfb08cpdijfvv17bcvzaba5c1bf8kwx1i2zl5s6xz"; + "nCTEQ15HIX_131_54" = "0pbm6390cdglxqzrpl2slv65m943m32i10c49pf70fg68x3l2dff"; + "nCTEQ15HIX_14_7" = "1yshwpa3zzzmf7s5v3c3130ysm1wciicz202hrraz4px102h8a06"; + "nCTEQ15HIX_184_74" = "1wy1691pc776kv456cbjl5x5rg2z7cycyfny24caq1qvjifvbr94"; + "nCTEQ15HIX_197_79" = "0ckbp8cw49ch78q4nsm1fccn6nizpipdp8q85nnipql53xsnr4zm"; + "nCTEQ15HIX_1_1" = "13sfws9cmrsnp26mx4m2n03gary2m10l67bd8xic8pykgpr8c695"; + "nCTEQ15HIX_208_82" = "0fqvzpqszkyqb4f2y44hrdj7rvadbqj6y8fzkl9xzk432lalm8w5"; + "nCTEQ15HIX_27_13" = "0z356q82x6cm52f3qym7vkajlkf2amkz87as0jvfiygvi4gnilcn"; + "nCTEQ15HIX_2_1" = "117dgz8nx1j64xgqlp40zmgpg0z8b0p1j75d1llvshmksba43avb"; + "nCTEQ15HIX_3_2" = "1k1hxpcg39hrh629ml2kwnhir6pq41rpic48njq2lagmrcdpbn52"; + "nCTEQ15HIX_40_20" = "0q1ggww4a5cdf802737kh7igb0br3q50xw205v4b5p7v237wsiym"; + "nCTEQ15HIX_4_2" = "0n9zf4yxvp3b3ryxbkdw0yilsb21nrjh40ms883d6j42slzhf37f"; + "nCTEQ15HIX_56_26" = "1z39vjgp6jryvqaxv6jq05jj0lfxsj212g17amch65pgxm4l7cwg"; + "nCTEQ15HIX_64_29" = "1iy1g1226irrjxz9wwabwd6x0712dm1aap7ka6fy9wwwbn87f6d8"; + "nCTEQ15HIX_6_3" = "0ljq0h0cdwbfvlpd40v2nypklimw4hh6k999mnyxqfvq47m13ffl"; + "nCTEQ15HIX_7_3" = "1y9k2snzymzgs26ayfn2c8n6isqzqq14pzf05xvlxmc3k1fbsfyx"; + "nCTEQ15HIX_84_36" = "130g553b22s7plgy51n56az05v1pnfgrg5knpg1knx8xr8a9xhh5"; + "nCTEQ15HIX_9_4" = "05igk9g2i1gm7d7npdwd7y3k7xf39scx1mwiw4m39b52kbq7kszp"; + "nCTEQ15HIX_FullNuc_108_47" = "1h2x2h2n02nwinf8ba3yyqa61384p4g29ib8vnrzwzc7q34940i0"; + "nCTEQ15HIX_FullNuc_119_50" = "0m5z036py2m1863k62pzysjdr92dhyiwmb8lxgky5skd7514rrsd"; + "nCTEQ15HIX_FullNuc_12_6" = "13rsl7lczf5qzjgy8m3dp4f1gyib2ffvf86iwci91sq51sma5kk9"; + "nCTEQ15HIX_FullNuc_131_54" = "1bsi3y6b7sxykwablgghqc89s3vxrvjr9y4bvhwcm21c2i4y6vbp"; + "nCTEQ15HIX_FullNuc_14_7" = "0w93qfiqdnzvrry9ddpbqcy6y16sszxfmvvgdy6r8i8py8dzfkyr"; + "nCTEQ15HIX_FullNuc_184_74" = "1q93f9rvlc4z3hzfhdmmxlyqfschrf99a0xyrc78rq1z2pfgmm9b"; + "nCTEQ15HIX_FullNuc_197_79" = "0kb2lnvh8mq25i5pkfis86ggs0s6hmpmyqqgimhcsamk8xnf2pcv"; + "nCTEQ15HIX_FullNuc_1_1" = "1nk792chip0iamc6dlqgqqlc2qlxlbgvgnhsvbmzkmmzvp2ji961"; + "nCTEQ15HIX_FullNuc_208_82" = "1l038nhnwc0pd7sq4yki3sjrrn66bsvqkvba2j3kf4f852gsyswr"; + "nCTEQ15HIX_FullNuc_27_13" = "1gdb09429xn5n07qqjch9x1cnq4xinf05wla8fsq69qr7bcdq9mp"; + "nCTEQ15HIX_FullNuc_2_1" = "0fnbpwv8qzgchc2r2gcjgw9yh4r94vm1rzbwj1f6ahbwrsl4rfp3"; + "nCTEQ15HIX_FullNuc_3_2" = "1r1s7ljwa169nbgc1439cj0gkaqza6ilx3x4gyq2jg9byz30khzx"; + "nCTEQ15HIX_FullNuc_40_20" = "13p7mnh2h8abih8y24rfapnrsd036pc8xy8qm82j8g4bk0j5jacx"; + "nCTEQ15HIX_FullNuc_4_2" = "0j1w7d11ybmpfci79lz99i94szxf5xn6z4kxvh8hly3qlcgn636j"; + "nCTEQ15HIX_FullNuc_56_26" = "08wds8afv0fzlaxck5i2d3pzvi5nqnc1jmq58fpnc7i0g238wl8k"; + "nCTEQ15HIX_FullNuc_64_29" = "0w4hn5iwqa65lnf6mhihx5qrq4wpcqw04ii3jphy79l58j3i1iam"; + "nCTEQ15HIX_FullNuc_6_3" = "1ki2cfsg0wmvfkzv2j9akiyl4d4b8v3d6f65iryxakjkhqj6vvgx"; + "nCTEQ15HIX_FullNuc_7_3" = "14mx5lh278p3zdc572bhxw9sc6n7ga0ak0ch85h3lx9zwg2a1m5i"; + "nCTEQ15HIX_FullNuc_84_36" = "0hyxyhb2mn64fwmijigw8m3v5zlj52hf2hicvx4gcq0lw063jxj4"; + "nCTEQ15HIX_FullNuc_9_4" = "17pydzll5lgs974gz4bchl2wxc9ixfpnqjrsidzksl4jf03gn77z"; + "nCTEQ15WZSIH_108_54" = "02z08pzvl8fa0bi6ddrlbknj0iryimw02r40z0nn7p8xf99qabhz"; + "nCTEQ15WZSIH_119_59" = "0r03k6j6nd2mvdkidw4gx1xm1s9hil9z5kanxsn2hzp30ab971db"; + "nCTEQ15WZSIH_12_6" = "00d4lis1qas1k8yzfb3dbqgvy9ynv7h9lx67ys3mj1ws5fqyn5al"; + "nCTEQ15WZSIH_131_54" = "10frai6qmzvp8xpkanl1qlpnc6chf6k5j70f4pw4abw8ycbjymij"; + "nCTEQ15WZSIH_14_7" = "02qd5x041p6n8rzv5l446481jb9vkc5nrc018vcg41735azr0d0p"; + "nCTEQ15WZSIH_16_8" = "164ciyxkrxp33r5nrkl86gq0jvdzm90hf602raamn1b5l5yrnadl"; + "nCTEQ15WZSIH_184_74" = "00nrwb8q6sa3zwbdc9mx4jz5ndibml84lfz8gad9vhy20zayyh3q"; + "nCTEQ15WZSIH_197_79" = "03hzr05vhb0l58iv9c2743c688ygagy1bi5a7zqn8nilsmykbvag"; + "nCTEQ15WZSIH_197_98" = "1mdlhp643z0gkjpj2jdi5zdd4qxxjqsy93rkv69cn1x5abawdl8l"; + "nCTEQ15WZSIH_1_1" = "13wskph284niaxqx92yaa4jg749ry6y98ds1ifvwc9970iccdnk2"; + "nCTEQ15WZSIH_207_103" = "0mpc6msqqjbcs756zd426xgzxmmmcmk8cp8wh2mpagib1drrg1x8"; + "nCTEQ15WZSIH_208_82" = "130bs9y9337pmgwi1ix0ar2xvhfhl4rs0626kbin5yrxhdy7rpha"; + "nCTEQ15WZSIH_27_13" = "1r01sbzixlrqxkjp9kx3s4zgsd48myivyc70p7ha83i1qrq50g7w"; + "nCTEQ15WZSIH_2_1" = "1qlh3zxbg13sq187k1fmssan00ifmqr0q2l7i45vc8jz3mk70098"; + "nCTEQ15WZSIH_3_1" = "057zyvlxz3hwlwgydccl2y124bvc6iwqqgav2jqw0r53a39rc25g"; + "nCTEQ15WZSIH_40_20" = "11psi56yk2yd75v396j68hfdacsnxvng2bw4v9g4afbjv9697jgr"; + "nCTEQ15WZSIH_4_2" = "0g4rvlgksw5gf6a7zh7yzsi2sq5jqkwbrx6d7jgz7zpg8jkg4qrz"; + "nCTEQ15WZSIH_56_26" = "12d0bj92b615kzadxwivp1q0j906m2rlcxfflwgwg21sv9axhi4l"; + "nCTEQ15WZSIH_56_28" = "12yx9v87y59qf14005fmj55n38xnhlvc7qgcrgfsicmdbx3ncm5x"; + "nCTEQ15WZSIH_64_32" = "02w3a4sbygc72acxnfc6lhird4nxcgq5dprfldg10h7f9lr7441y"; + "nCTEQ15WZSIH_6_3" = "05x3cknlnc1kbqnmi3hk6fjgx07dhl7b36rg3abaqn4yg65i79sj"; + "nCTEQ15WZSIH_7_3" = "0d6cmpv6csysr96knip033mw7sg56ls1gcq8gvz2qy7isj167gx7"; + "nCTEQ15WZSIH_84_42" = "15zva7n91p6s98kkhcfsvws20s26fl1bvjql8m1n1c2d5pr29wj5"; + "nCTEQ15WZSIH_9_4" = "04cs89s2m99p31jkc2k4f5i5rr0l4fpa6a41d59zvknhgfy74yvw"; + "nCTEQ15WZSIH_FullNuc_108_54" = "1wk8vhhlzj3wrb994s66q5zmwxhcy9vxpyks36s3jr5729jxk1j1"; + "nCTEQ15WZSIH_FullNuc_119_59" = "1rrkj7inah6bg03mmxgza39z40ghdr8km9hy5v5b69bvqcyr42a3"; + "nCTEQ15WZSIH_FullNuc_12_6" = "14wgacbimifnaji6byq1cds9zz266a63bvv616b0n06391plvzff"; + "nCTEQ15WZSIH_FullNuc_131_54" = "0k6gncwq4l5avlnr4qpvakklysi6g855yqksylc42ndlgjm4jxfy"; + "nCTEQ15WZSIH_FullNuc_14_7" = "1mlffwsn3f942flxvvi0rp63xlcrq88ir9vffmkzh3br3qpm4q41"; + "nCTEQ15WZSIH_FullNuc_16_8" = "1ga0kijnlzjz98j32bakcan89bfhbhq8y08d84d90xpgaqkpb9z2"; + "nCTEQ15WZSIH_FullNuc_184_74" = "1nhly8065kabzjjkapr75vafx46f1zl21xc6fdcv15a2qwx54n0p"; + "nCTEQ15WZSIH_FullNuc_197_79" = "0l9c684f427b8hhwm68swh78n6104nbpdxq6v50zipwc6df0j6w9"; + "nCTEQ15WZSIH_FullNuc_197_98" = "0vc285bd21arpmaykb6baspzr8ak42yx9h4j0sx2vj07l648g5hi"; + "nCTEQ15WZSIH_FullNuc_1_1" = "13gbjq46f5cdpdr902nxv261hqw041f7ryxbwgvxr3k2zm7h8fw0"; + "nCTEQ15WZSIH_FullNuc_207_103" = "08m08pcz0f72nd7zcrvi8cl5va49djlvdff1w4is4gmsb44khyv2"; + "nCTEQ15WZSIH_FullNuc_208_82" = "04x5icmidi1p3j8bdarl3sj0ak6g2ygyc5wmkkn9g80qqn4mxwva"; + "nCTEQ15WZSIH_FullNuc_27_13" = "0x4iv1kxb5lp514qm1nr3k32m68aw7sgy12nhdjhy2dv018snd8n"; + "nCTEQ15WZSIH_FullNuc_2_1" = "177qv17wv15sr1zcm2p6av20h32cjkspf4jj3jvvvgvks947n7dl"; + "nCTEQ15WZSIH_FullNuc_3_1" = "0aawk1ppg3nhl5n6gpdi6l1rw53l2x2sv3fwjz5821b6d7cmb9f6"; + "nCTEQ15WZSIH_FullNuc_40_20" = "1271dlp580a5gm29sv6b8plpc8d06j57x2xrfjyp7kafxa1158ii"; + "nCTEQ15WZSIH_FullNuc_4_2" = "0sv20zpzbinrz5biia1g3jzgyq0wbqaqrmrhhcyg2yxg9z48vgca"; + "nCTEQ15WZSIH_FullNuc_56_26" = "1wz1vwy2q85qz85kdy9gzzhnvv0jy4iazzavf9janz2xzw7833gg"; + "nCTEQ15WZSIH_FullNuc_56_28" = "01y0f2bz5yxmfd719fq8s1i3q5wb0dd81l0qkllpa961db83zmz2"; + "nCTEQ15WZSIH_FullNuc_64_32" = "1a93nqx26pj9kyvy66dmm4ib2pl5qwf03420q84zdl1hlcgaszzc"; + "nCTEQ15WZSIH_FullNuc_6_3" = "157j927a4x53gcam5kmpcpkyk76qgdlszxa4bcj9wlqrygwxsk3k"; + "nCTEQ15WZSIH_FullNuc_7_3" = "0l369wpd3gcb6i452w2hsjvidz80xl623xf1g1p8d2485nrvh6jm"; + "nCTEQ15WZSIH_FullNuc_84_42" = "1nikb7yk35s27g43k1wlgcfxqfyjf40csn8a6aiabliqdfjacaqv"; + "nCTEQ15WZSIH_FullNuc_9_4" = "0nnxf32kllwvm3fyjlswnyjx8cpsanx15qwsn03z6d67wx2f87sw"; + "nCTEQ15WZ_108_47" = "0v1s95f0wxyz73pfv5z6hc4mslxb7ml6imjmkhn2p9yx5mvk94qf"; + "nCTEQ15WZ_108_54" = "0zqw1p1sls58v7aacmwamlic0vsjyjijfam6bas5lh92rrmcf9h6"; + "nCTEQ15WZ_119_50" = "1wwx1rsjhd8rqrvyq68r70issnsby8zrlr8d76br3622mxqr83a7"; + "nCTEQ15WZ_119_59" = "11hckxdqyfrbsv3lc12q8zjysr2nw9mhx438ff13azp93ha7h1v6"; + "nCTEQ15WZ_12_6" = "0naqqy223p6gyw2r1qy5fs185dhmxzmb3zmkx3bbccqnspk7qcnz"; + "nCTEQ15WZ_131_54" = "0fi4sjv7rs90yac1zmnlf38dv5ry9zwzxrjwakpzh00irxw0cz8r"; + "nCTEQ15WZ_14_7" = "1k4sc588n3rd8fvcvwhxzc405iqj28xzv7y1md45kz1c7m6qy4cj"; + "nCTEQ15WZ_16_8" = "0ndjlgbggbk3zk5bm9nm726ci1v8b3qfy3gag14jmp7q780zyhmy"; + "nCTEQ15WZ_184_74" = "08cdkqbjihls2sg4waj9rxg7nvs0mjzxfv3dx1jppiw6f7ljjzrr"; + "nCTEQ15WZ_197_79" = "0ss7wgvx8rv03x1g10c516i0yd65njc7qjh19maij49aizf1fd4l"; + "nCTEQ15WZ_197_98" = "0vlyjqlj9plniim0z7mdhia307i296iha94l8b3iqgzyp9553gly"; + "nCTEQ15WZ_1_0" = "13wnm5sz1sf3hng70j8d3ml53knrx9b7wrg2h6x947jl51flrkh4"; + "nCTEQ15WZ_1_1" = "0pllq4zdgjaklad9j87vilx8gapzfhjh478gcw479ahgjcbbbxxp"; + "nCTEQ15WZ_207_103" = "088d8sr9mq9q4bi0ipxznbm3k2b2k347bj9k5fxsb27f4dl5d0jp"; + "nCTEQ15WZ_207_82" = "0cxagqav2q6kwq83syiad67nmzzkmrg9q0hlshbz6bjlcqmdi4jr"; + "nCTEQ15WZ_208_82" = "1c7vacsr2m6r7dy1b439c46xgxjqvq1gj9y68p2vargm5az444sz"; + "nCTEQ15WZ_20_10" = "1y38sqjgsjrfhmyhf688jir2hgkk871sjz8dm89lm5g7m5c1mgmq"; + "nCTEQ15WZ_27_13" = "0gb2zg5j3jcqjisa3nzsbif4rfi8vshl5vq2vq93d2132qgpzq3l"; + "nCTEQ15WZ_2_1" = "04nhmrvy2m4a2i8b5qadsg8h51k171df1kb7mdqn3hjzga7lg0j7"; + "nCTEQ15WZ_3_1" = "00aansn8jjh8yqyhr2fx8h453nahrdf8j1j0qgny1n1mhad4mc56"; + "nCTEQ15WZ_3_2" = "1pk6gp5a1g15zn5w00l89liz4w7w4xsmpcdk4x50vc7k5phy6vj7"; + "nCTEQ15WZ_40_18" = "0m58lby911lxqy6rvvs959qg5gjbppnfxl34hn81glc0lr90qiz6"; + "nCTEQ15WZ_40_20" = "0dnk9yikivxd557bpi9j7dbpwkf4sk49bg8lf0lxf86bdmi2l330"; + "nCTEQ15WZ_4_2" = "00rr4qwwp7i419sy5wr6f2lz82121ilrvvj0js45bvcqknx26c7i"; + "nCTEQ15WZ_56_26" = "09qjjavqjwrh9adkz6yhcjjiy55dg6c7imnbsi8qxi8xspz8nqq3"; + "nCTEQ15WZ_56_28" = "0pdqsrj4dphjb50r3v95wp1drc8rkdgsbisgg430dj9xaa703ijr"; + "nCTEQ15WZ_64_29" = "1qjvvfzv5nfjp1k1kdv2kz5pjssr2avrnjlxznqvlxwgs7rv8p7v"; + "nCTEQ15WZ_64_32" = "172whqdyyvqxyr3lijw2v45y8nvc0vk7z47i9xfmcydi2qfz8g3s"; + "nCTEQ15WZ_6_3" = "0kr0cf8aqwsn4x8kjwihsynvb99i8bdp4g91digbgcfpp02jyvgd"; + "nCTEQ15WZ_7_3" = "1c76h9xfflfihqyxi9a6dlmg1gwwr2wh93mfac3a3jnx73981gq3"; + "nCTEQ15WZ_84_36" = "1cvykpl9r41dwahjv3kik98y6sx53wiyyzywqc87mhnlx1x5876f"; + "nCTEQ15WZ_84_42" = "1jslkk9wc0fzbm6s5czpmaf004pndwc2ggwnxgkga2idn45204xz"; + "nCTEQ15WZ_9_4" = "0farphic6jyzc5x3ja715wdmvv5rfcgil1c49i8fxqlap5mlgv89"; + "nCTEQ15WZ_9_4_iso" = "01zxmn50r14n1a5gq75pia8mz4ibyqhyjl5d31kv3h69xgdrlizc"; + "nCTEQ15WZ_FullNuc_108_47" = "0yl5ll4j3mr6nhiz9ynn9w3hybgwdypg0b8zwsxz1rjcr3c8bmz5"; + "nCTEQ15WZ_FullNuc_108_54" = "1c8cdilw9n91apqj9lrv9j6hf6mcg3ndndchc96d5svrqlqk4fg6"; + "nCTEQ15WZ_FullNuc_119_50" = "19lb71cmmi4fvpb0bxmz0ipjlzg6b5hrlwiml4bj5r65km46whyk"; + "nCTEQ15WZ_FullNuc_119_59" = "0r9cwy2znpl59ynv2av6whjl3igm4b19rzh6sjqsm6a85d5jjdpc"; + "nCTEQ15WZ_FullNuc_12_6" = "1972j8lziq1ckwq2s7qpcf9g7mg3762kfrnbdjf4ilfw5b2b9i9n"; + "nCTEQ15WZ_FullNuc_131_54" = "06w9yl6a11ir8qjyxaakyzs8b51hf3jhm8nj5nvrh4f6cicp1g66"; + "nCTEQ15WZ_FullNuc_14_7" = "095x9pphc9lx71hlhpwcb71p8wx3b1pnv6qd3s6992visismyb02"; + "nCTEQ15WZ_FullNuc_16_8" = "005h4mbf9c7d9w61pmgghpxb5yh63i6cbyxyylngznbbbaxggjcc"; + "nCTEQ15WZ_FullNuc_184_74" = "0niyiq85bmbr596gfrsmf79rksql7n2gqdxw72yrki5ywc3iy4sr"; + "nCTEQ15WZ_FullNuc_197_79" = "0vbgg6m0b1wlrsx2c5xxga0crz0nwvcq9a88f032yjzihh6rscjd"; + "nCTEQ15WZ_FullNuc_197_98" = "0sf4q5bb4b44zkbxq51pf0xhpldr5dj5d0gqpqs40qkdlmkb9z7k"; + "nCTEQ15WZ_FullNuc_1_0" = "1il9j3ggn9kc8k8jpql46lw5c9lq45ngaip45vqppgvl3zcrc4fv"; + "nCTEQ15WZ_FullNuc_1_1" = "0nxvm11qlapnpdkkymqhy86axcvcx84r9hk0dswa2ji5gmk18jww"; + "nCTEQ15WZ_FullNuc_207_103" = "05qqg6ckkhv30nfbs5rdpiwz7dkgywjrd8a9gr3skvlayj2bisni"; + "nCTEQ15WZ_FullNuc_207_82" = "0s27py7i2h0va79q9ivmgrpwk5pxrjx9csyad76fc7pmvi4xsgjl"; + "nCTEQ15WZ_FullNuc_208_82" = "1xygz9px4jwz3vkbx86384775vhiqqv5l2rp2qi42zy8y8ijwaqd"; + "nCTEQ15WZ_FullNuc_20_10" = "06bgr8r6pz8cpvqbncjaazxw7j2qzhh183brs7r5mi6yckg318gz"; + "nCTEQ15WZ_FullNuc_27_13" = "1qrs82jscmxyhqkd4fa2kjglzgig23kqwc7r2n8p23352ggcsn9x"; + "nCTEQ15WZ_FullNuc_2_1" = "0jxam0p1ypd3x8l83d2f14h2av9wk1r69prfhl6pgd6pdh3nx2gh"; + "nCTEQ15WZ_FullNuc_3_1" = "0kjgsiidi33p442bpp1g6sss62qn4pj90ag4hcmdqsdf5m9vpc5s"; + "nCTEQ15WZ_FullNuc_3_2" = "0srxdvk5jh4ga4r8hniikzanfa8fh65xc4g51arxwd9sda4n0mqb"; + "nCTEQ15WZ_FullNuc_40_18" = "1x7d1cpglijq4rag57m8sp6qyzn3c7r3zs5z9jqarsaqc9wv2ypw"; + "nCTEQ15WZ_FullNuc_40_20" = "1l58bvdhqs9i4mgc39dw9c13rsh5vq5vh6zq8xk35150cbysiwza"; + "nCTEQ15WZ_FullNuc_4_2" = "0s1zdn5r9hk7bjk2ggn7bhrzq2iaxspdhmwi9rq1xbsk7n8k3wif"; + "nCTEQ15WZ_FullNuc_56_26" = "15ilca90cvw7p3w1xr15jynqnvnyw8zhpydhyq11x1kc647bgirm"; + "nCTEQ15WZ_FullNuc_56_28" = "16bs4yq4jr4y3431csabgps6330gcw1ymgm2161z4nmmyp988w1g"; + "nCTEQ15WZ_FullNuc_64_29" = "17wqyn8g5zbrm6ywvqn2y5kphy9xwbgijwlzxsni5k821nzmjyxn"; + "nCTEQ15WZ_FullNuc_64_32" = "0ivyka1g2cj6ign8wm28pzim3saas3bvnxqhixxkr91m1gl40b86"; + "nCTEQ15WZ_FullNuc_6_3" = "00v5wydvrvw1fgbzc436cap7amk8yr7dj5wf3ykyd6415vxmlzl3"; + "nCTEQ15WZ_FullNuc_7_3" = "06z2p0gx988q5w4d3c0qx6pj7lp6mqlz1qrnwy5lf4i4i4vcqkkx"; + "nCTEQ15WZ_FullNuc_84_36" = "0rfn82f8f9f6bgngrs67maip2kfhy42i4ppa904d7dspyqkgfa31"; + "nCTEQ15WZ_FullNuc_84_42" = "14lyhhc5jwccqnz85msaqzdx7cn2vxkvm2l9mf1p2kmgy7p5jis3"; + "nCTEQ15WZ_FullNuc_9_4" = "1895lr4yydzk4cry5wnjhpl6gs2kcspjlm2mv2y00sb7gzinjs94"; + "nCTEQ15WZ_FullNuc_9_4_iso" = "0kvjk4wvw98w7y02ishjacn9frncspl6rsxlzcd4y2pdk1ckr29i"; + "nCTEQ15_108_54" = "1bjx2d61qjhabfx28pfi64hf8br4gl67nzir3ygdpwdcah4k6lz8"; + "nCTEQ15_119_59" = "0g7wffsyjh84r2wv8w67skx8gwdb3clv9c1dlpijwqmpkcm3b8q5"; + "nCTEQ15_12_6" = "1xnnqp38zz3b61jb38hz54wv09w06fwwnb66sf93r1agcajvv1vi"; + "nCTEQ15_131_54" = "062sg81yrrdsc376gpq01xzsb6114sp6814ah9jbrd08qqxh04p2"; + "nCTEQ15_14_7" = "164p2fhlsmkcc6fibi28lysbfn8q5vds4f0k0kppi96absgrfa70"; + "nCTEQ15_184_74" = "1zqyvla6dj93cgfjw5z97b6wh6qy8pkrvcbwirjva769210rax75"; + "nCTEQ15_197_79" = "0mp1gddlwxk2vdyhra5lafvblc82g6n2p19lmjwkmnrmjqdqsz12"; + "nCTEQ15_197_98" = "0z2ymk9y0syzqj88mnr2kjn104602ajg17s31d9vi29lggy4cn44"; + "nCTEQ15_1_1" = "14dlybcc038ssv2xbyhing27b9zx07nkqvgf66ysbb83ym5dvibs"; + "nCTEQ15_207_103" = "1zpxky925n9jssdr036dyax8wxa0d478l4mjl50bjmzqhr8wl7hv"; + "nCTEQ15_208_82" = "01jf2mrknx5igs0cvhm7xr25gr6z93bvj12cbq53k15fk5niyglv"; + "nCTEQ15_20_10" = "1vhk2lmpf5kci9173v5qh2gsz7zghvjb11x1mln8yqcdxaq4az8x"; + "nCTEQ15_27_13" = "1md9xv99m6jcdqldhbbypdix581nmhpyanvr049l5c1a2ab5nbpa"; + "nCTEQ15_3_2" = "0nq1aj4hxjih4z4xlhjfbza2dp2fyhwbccjgmgh2za5y7rzgz9fk"; + "nCTEQ15_40_18" = "1gb4kfs207izq4dij9pqbmwm10vx6f1h7pdnf749jysmf6nayndh"; + "nCTEQ15_40_20" = "0b44nkk315a9zaq3280wmsj67rkxw4jyk9v37s859fikr5v7s0sv"; + "nCTEQ15_4_2" = "0c8r4vq3phi40v5h4p3nm7by72pz27zqwd67z9slmf1jy1yilnly"; + "nCTEQ15_56_26" = "0ndyjjh7sxnhkamx182rpax0kcc2iqzwnmh391m5wh629zk0av8i"; + "nCTEQ15_64_32" = "0ixbr2d30v6slqvp6gpry1159rx5m4hd1msymgli1w9k7pp7xjz5"; + "nCTEQ15_6_3" = "14ars149pssaiyhaln9zm7vz3wzj2597cy2xasyhlrfqhlgrq056"; + "nCTEQ15_7_3" = "13b9wbm2hqx4lixq3dad1y3cr6didcch8kg7mqm9lgbism7dwaqw"; + "nCTEQ15_84_42" = "12vkqpvjjyh0x0hbn7r4gx5za01yqs9a7lqirdxd15k04fp5rnjr"; + "nCTEQ15_9_4" = "1rkxhxwp0v9dm6f71c5635ihlspfx0sj666maif4iaw1sf4hazln"; + "nCTEQ15_B_90CL_Au_hess" = "13sdn1ng4nd6935dksk7jin8yilp29zys3d0jvf7m7vx8gyxi187"; + "nCTEQ15_B_90CL_Pb_hess" = "1j11x8y5sbs5lz4z06wcl702ijvh1bcb4i222jdcq9gh9j40xn17"; + "nCTEQ15_B_c_90CL_Au_hess" = "0k0pn3yqb632j254h8w9wbdvcasnfxr7d9g47drqw3f4w1as3s16"; + "nCTEQ15_B_c_90CL_Pb_hess" = "0gvvwnc298qgxhpj4wgnzcrgz0wqlj5r7sfsl1fj21zhm3kc45jl"; + "nCTEQ15_B_d_90CL_Au_hess" = "0lzfa2gsl5cs2i6y833lhvf2pifzkysj9jgq22v9iyyz5q0nbsh4"; + "nCTEQ15_B_d_90CL_Pb_hess" = "0zp7dirc2l42f9zjyq1a2qbnir1bbj1firmg3s856mn7sp3p4i0k"; + "nCTEQ15_B_u_90CL_Au_hess" = "1w2ifnl9waqvsaz1yg696mmqxcijm2bphq8zp3rcbimck3rmr978"; + "nCTEQ15_B_u_90CL_Pb_hess" = "0j95dg6kyvd30qgivd9495glcd152cr1j3zh1cg76s6sdzfkhvs5"; + "nCTEQ15_D_90CL_Au_hess" = "0y3n008i22g9ny0v8z6hyc47730xb6qldkpall6p8icn8yzfdga9"; + "nCTEQ15_D_90CL_Pb_hess" = "0mp1plqxsd6j0ybnf7yrl4hgl68a85q56vdjhs911xah1bgrpix1"; + "nCTEQ15_D_c_90CL_Au_hess" = "1xk6ngc488n9immd9nbv8ygvxav5n7b7902k44rkxnw42kbx2c4m"; + "nCTEQ15_D_c_90CL_Pb_hess" = "1ldig46l08n00jvj0dl36jsnpjl2ycv3jdr9d9g375rwgv671kad"; + "nCTEQ15_D_d_90CL_Au_hess" = "059fz4rfhydnk25hmabavwi346cy2hzxaw2ciq8jx64fmawb3v79"; + "nCTEQ15_D_d_90CL_Pb_hess" = "0zgs89yjypn2sd97948z2r78sydadivvw6wy7pwi3a5b0yx1zpzn"; + "nCTEQ15_D_u_90CL_Au_hess" = "0j8sfih3r2wps1l7vapnllh88ibw7672f646m5p67aw5k2an4f8j"; + "nCTEQ15_D_u_90CL_Pb_hess" = "0d2nxsabard1yq8f2v9a7kwk0fzv549hx1k15k0dfif9523i6xqf"; + "nCTEQ15_Jpsi_90CL_Au_hess" = "0x75jizpqi8vss62xb2913vdhvckq2b468iqxd0ggr0fic1f8q9a"; + "nCTEQ15_Jpsi_90CL_Pb_hess" = "09a9s6gmf7q9rk8c88iskra5kxaiz131s5650964znxv29lpzlqm"; + "nCTEQ15_Jpsi_c_90CL_Au_hess" = "0mh3ikdkca7xc5bc2knjbyr7dkgbydnaa4i1gqln0i29b89j5nw0"; + "nCTEQ15_Jpsi_c_90CL_Pb_hess" = "1gs39gla77sqgry1799l9kapc1c48pzxgfba6p70fdbwdac45n3j"; + "nCTEQ15_Jpsi_d_90CL_Au_hess" = "1qn4f4nn8avjrsdqgab25053zadwx7vlr27w8bsmcxg25si104y9"; + "nCTEQ15_Jpsi_d_90CL_Pb_hess" = "107w4yiv6dl8gqfx0mpbnii06wzf15ih2kqmb8hkmz988x49l65q"; + "nCTEQ15_Jpsi_u_90CL_Au_hess" = "1mdm8qlzkyzrszsng49ns9hq7zdqaal61vbi64449fkvmxd0a7mk"; + "nCTEQ15_Jpsi_u_90CL_Pb_hess" = "1y0bcr3g9znjz2c3s4487yjl1ipf0ls05krfpdn8gcsxymf4cirm"; + "nCTEQ15npFullNuc_108_54" = "1g8id10rpys9566r8h92diqrr43mww6q8nhvlns0kfjkvkr22m9y"; + "nCTEQ15npFullNuc_119_59" = "0df499pvfls1281zkvngrhicnc0ac0bfwamzs027k7f2y6ygkfb4"; + "nCTEQ15npFullNuc_12_6" = "0mb3zixcikagsqzpxb7jzrcg05dln37d7anz5359ssjyd6p1mqyi"; + "nCTEQ15npFullNuc_131_54" = "0i83f1wg81nr742jf9407w7fbknigz6pyx64h7p65x82s4wmj9gf"; + "nCTEQ15npFullNuc_14_7" = "1k2554rg82msxzkarjx85p6di3kmfqxmbfxpasi1x74laz38663n"; + "nCTEQ15npFullNuc_184_74" = "1pnl4y2arxf87b1pp95b9jajzlqdyzs7mv82xhmw9fcn9yliy5s0"; + "nCTEQ15npFullNuc_197_79" = "0d5c6g4185k6pwm5bs5fqlwc97l0gvf6bhk9l8a5vc039dggsgkj"; + "nCTEQ15npFullNuc_197_98" = "0ql9xnwggsqibld13yisvsdkkymzph8wnqffnxhlyp5digwhl64v"; + "nCTEQ15npFullNuc_1_1" = "1fq80hzfy16gs00knvl0g0yqrys27vzyk8h5jzs1ra981zgcw1zp"; + "nCTEQ15npFullNuc_207_103" = "04bg7hnngfsckk92gdrxbrxhsbb1ac1s7dscj7ycdy64fxn4lq8x"; + "nCTEQ15npFullNuc_208_82" = "0f9ddimq9av2jr3yr15n630bi30bxh5nxrsbrcfw9cx8dwnjscwb"; + "nCTEQ15npFullNuc_20_10" = "03dv3z7j69l97xacd38wbp7iyyi36g0bbc2xmxhm3l64rjs21bmz"; + "nCTEQ15npFullNuc_27_13" = "03lb2dznl5dpv0cwsl08dlrh7x26yi9acx3n70imr13gspfxp8ag"; + "nCTEQ15npFullNuc_3_2" = "0rqjxc8q53jndxjrxd293r1m8gin3vif33jzr35y2ail9bhkjyzp"; + "nCTEQ15npFullNuc_40_18" = "1827gpzdrxdkg9ikk7pjgv9h983mwzk21p60635l1zhwby5p4mn6"; + "nCTEQ15npFullNuc_40_20" = "11mjdibgypwpphm1wmf4z311wg4lp37010vwyys8q6d927jzikn2"; + "nCTEQ15npFullNuc_4_2" = "12gx03drv7hnmsgk6sni7mc7c4rbpag5gn2czyha1n19v13rry93"; + "nCTEQ15npFullNuc_56_26" = "1hq6qv19gqzjv57msdajb9kc0lv5jvl3b6x2fc905lg0dc7h2ab5"; + "nCTEQ15npFullNuc_64_32" = "15gq3l91p69dba5gfxvh7j4npwl7rwkakjnsv9lx84hvys7hgba9"; + "nCTEQ15npFullNuc_6_3" = "1gcxs7vcjcdyniczd1rprvzlc1p9yf08sy1fcrny2jfbxkfndqwx"; + "nCTEQ15npFullNuc_7_3" = "09kwf5kbshw4pwh6iilqy1mzgvlg83jhakmvvgz27f569f20ci68"; + "nCTEQ15npFullNuc_84_42" = "0ah349jih2ia0x14mnrygzzw38prfgcmbxyw1hdvzqvgk73wazwa"; + "nCTEQ15npFullNuc_9_4" = "0gsh5jmyn7jlasp9ixx7imvkbp5rxmvfa480vy0bnxwjwz0924ia"; + "nCTEQ15np_108_54" = "16hsl5ihcbx7wvrabrff5h422zfhlfrpskn5dy8s1phhla4r4ff3"; + "nCTEQ15np_119_59" = "1bwhbfhw5xyb1dm18vxm095l1d9l9v0yl072qdbb6z9l29pa71dp"; + "nCTEQ15np_12_6" = "0zv9g7r648f1h1f9qifii0mk2afdvphbfib3hp2sf960zb0d0nsv"; + "nCTEQ15np_131_54" = "19sn6ig1c5smxi845qyflrrqaivm4pphwbxpz2zd9r0qhn032mlm"; + "nCTEQ15np_14_7" = "07pyaik3h2yi05hn49fv3x191i4x6429bb6kywy999bzfrkjndcp"; + "nCTEQ15np_184_74" = "1s2vmirmi1npw3pkxpzxjf9i69gmrl1dqrm2s0cfzl6286h87scb"; + "nCTEQ15np_197_79" = "0p7lnffr4gy8qad8nsm6qfaw05s9pndkw0n9yb6v5i6mqg0j3cgd"; + "nCTEQ15np_197_98" = "0vmjvjqkdn5cixsnvl9lvg07lrq17yw5pf2mdbzkrrfblqki6g0x"; + "nCTEQ15np_1_1" = "1fndfff1lialb2qy08qp44w4605j9c2acrwpdb16k3awj88kx7mf"; + "nCTEQ15np_207_103" = "1fcaw2hqxnzhs9glrh9lxvpfh0sn3mwahgd8d7hnfikrw93v0sbz"; + "nCTEQ15np_208_82" = "0glf5nw1mr42icmbcjliz627nlsb7a5hyp591ng9y7dh41hxr01w"; + "nCTEQ15np_20_10" = "1ka5hnq9cmr4l12ajmw4fpgdzcf0pjlw2pk4lkw6ai1h5h5absa5"; + "nCTEQ15np_27_13" = "02dmzdqqh58h7232s2hcjnpd76rll8vxynq1bx059mvxak5lr5kw"; + "nCTEQ15np_3_2" = "0jxg5f5n4yp4zbdkm9y7xd40m89pbw5687hz7mylpn9n3phsi58y"; + "nCTEQ15np_40_18" = "0yp65xq318qw6xh3wm0n4s4a3s4ahvl14kq3cmwq9b954c5a5vkl"; + "nCTEQ15np_40_20" = "1c367xb361p5mdwyda5iwswg7wb6s6gjibdv27n2kq41p1qp41y0"; + "nCTEQ15np_4_2" = "04q9gq8163lhfjrrp0ysqyb5sx2nkw5mpz70daqnxvybavbkg7mm"; + "nCTEQ15np_56_26" = "1qgh3g6xwk9jc6sd7kjj89w8mr89bhpdaiml5g7lvdqn39l95ng6"; + "nCTEQ15np_64_32" = "02966xmh15i7kg9iif19p5c27rv369yikpm1xqclf8dz45a7xsry"; + "nCTEQ15np_6_3" = "1rr7wr9wwsjfgnrnfvm7nrplhb38zym6qiyg2sagq7saw6kqpprz"; + "nCTEQ15np_7_3" = "0ndqi05g88b769p1chfc6maz6wvs33rx45r4k8f68n79yy6kvrh1"; + "nCTEQ15np_84_42" = "0v968jw1m9ky1mh82w1bjidvg7r7cx23bnpv0vr4c1kqz0n5hb5s"; + "nCTEQ15np_9_4" = "0akxbyrs4y8gmnjiwma8z8ryrzmaw6dj148iq7ihsllwar3hp3p0"; + "nNNPDF10_nlo_as_0118_Ag108" = "1xqhzgvkicxd9wy4lnhqw6brsksxqsq429r6bb0ghn1ll5ln4qzx"; + "nNNPDF10_nlo_as_0118_Al27" = "0z836h7a5abbwq988zdvvf8yhr92krzzmys6lkkgkcffdf2pc0zq"; + "nNNPDF10_nlo_as_0118_Au197" = "1f6vn6n0zz8wml8zn7n2n6wj5y41yanw9b9av51m5kiq4n1r9lrk"; + "nNNPDF10_nlo_as_0118_Be9" = "1jy2cix4gkx648dypdqfj7xi8gdlflh20xlasmwl78av5j7s7rs5"; + "nNNPDF10_nlo_as_0118_C12" = "1c6fvp82cs3464akqf0skrqpcvyp75yqp39zxafzgbqd4wc3pv9f"; + "nNNPDF10_nlo_as_0118_Ca40" = "0r903a01085yhfagnljvjaqfn190r3q0ggvx87kh54xsbv1wkvbl"; + "nNNPDF10_nlo_as_0118_Cu64" = "1vq8a6drcp606fkx8mml2qq37if59cakmcq73y4n7c7swp6q51r3"; + "nNNPDF10_nlo_as_0118_D2" = "07kjzhyh6n6723h2fylgwm7w7ljxz4m6fs9bgwjxp987i00msrra"; + "nNNPDF10_nlo_as_0118_Fe56" = "1smkjmymykhlp0vvlpsp6p6p44pw5aa705sw9lcyxmg8ccy9kmpj"; + "nNNPDF10_nlo_as_0118_He4" = "0mdxsh41m0vzcdq4axvz81m9ra0p6dff88k09gjb4adx9vv52mjc"; + "nNNPDF10_nlo_as_0118_Li6" = "1hrryxhhg9xxg817brrd39k5wz6iq1fv6z8sdabrpxn0nwr1bj7r"; + "nNNPDF10_nlo_as_0118_N1" = "01h7g4w3nc09jyi7g8j5yx2yzqair3ysbx9rx244k1rjx6jppian"; + "nNNPDF10_nlo_as_0118_N14" = "1ny3znivkkl7xhdw8pxkdadwc957236rh60wviiyw4cdqjb6a3iq"; + "nNNPDF10_nlo_as_0118_Pb208" = "066w59xm6lkwrm3glssc6n3qyvv38mx47mkx39p8z9r2spb8igks"; + "nNNPDF10_nlo_as_0118_Sn119" = "1mqx7wj095v0799wxbvfxvb6bl1qh5wdkf14a8gqsj0f5qjnpmyw"; + "nNNPDF10_nlo_as_0118_Xe131" = "0mz9fgxfyx1asi2vxs1xfwn8z51z08naiq1ycl77f4yp6wim6s54"; + "nNNPDF10_nnlo_as_0118_Ag108" = "08vy16fskrvc62y3h0hsikmi6q86njwfm2msmajxbd7vzcv5wkkn"; + "nNNPDF10_nnlo_as_0118_Al27" = "0vm95lawgsncsx10ypy99746sz34y6shblkj9pgn6si2cy8gpcwp"; + "nNNPDF10_nnlo_as_0118_Au197" = "0b3ld033f2hwjaqp5p5pzmmzfid8hl416a1q8fc0zmd2lfiamsac"; + "nNNPDF10_nnlo_as_0118_Be9" = "10skffir8hqfv2wj01ghc14lfs516kmh59q3v48nw3a724kxr93a"; + "nNNPDF10_nnlo_as_0118_C12" = "12rrpcq9bvwcncj1hk28wkym5zzdjkf0d0pdj1nx9asm6vpbjsdv"; + "nNNPDF10_nnlo_as_0118_Ca40" = "0k914fnqsv45f16s6zmdwbnbnhj5lxnrk9pbnnaap4vk7vx7101j"; + "nNNPDF10_nnlo_as_0118_Cu64" = "137n1nsq75g0n4hmbqfl1gihngfrz0rqd2gwj24m5byhbylwlg83"; + "nNNPDF10_nnlo_as_0118_D2" = "0xa17gjjh0mphg1h711vb6p2pjln0lqy7401lamnib2z7p7mss0m"; + "nNNPDF10_nnlo_as_0118_Fe56" = "0h0qwbckdcppqgbhfy3kyy9p4nryh3p45sjmlxhm94mlznipjwrd"; + "nNNPDF10_nnlo_as_0118_He4" = "022h44i8k2ybvm9lkgc4lkcv4z7r0xzlrq2bxyqkfmpp5fpp7gkw"; + "nNNPDF10_nnlo_as_0118_Li6" = "11bci8mnv57a583ayrpvvnz4lsxz43z23iqgqjc3b3rychgiz57a"; + "nNNPDF10_nnlo_as_0118_N1" = "174gscxa2acqpgf2mks5xpim1jcpb0vg76pggxazm376vyyjk883"; + "nNNPDF10_nnlo_as_0118_N14" = "1g2gwnbfzlfa094px1rnjgk8py8qzwq7bi68n7p49bqjj88km3av"; + "nNNPDF10_nnlo_as_0118_Pb208" = "0bdi3z36ckf788v3ld3ngvchyxzsxcfl9fj7rzs2lwkg80rclgd9"; + "nNNPDF10_nnlo_as_0118_Sn119" = "0k7lnr1ils38sqybipmf13n582wb0cf9rr288ibrbmx15rkk5c3w"; + "nNNPDF10_nnlo_as_0118_Xe131" = "17k1afk6j53nl83ixyy6nyds3wy5agacdyn62bwp7ykfs8x97s4n"; + "nNNPDF20_nlo_as_0118_Ag108" = "1fb2h6752vn0v66h12dhhk2izxjs4b10mdqx17djrvpkzl97hf8d"; + "nNNPDF20_nlo_as_0118_Al27" = "1lfkg84hf0chgk0qzp45ch23pzjixkzxxh3x7xphcmnpri4cgl3r"; + "nNNPDF20_nlo_as_0118_Au197" = "08ll61b96iggm1qnr9q2qdzyxasxn9mlshnxz7kzigfsnqqnkfbw"; + "nNNPDF20_nlo_as_0118_Be9" = "1g4vlr9p6i6n87bx6w2i5d4qkhymldkyxj1i2qnl8v467vhsz6la"; + "nNNPDF20_nlo_as_0118_C12" = "15366p04rh31nnd6zxcmcs9ki5fwzn8d8cvzms45apnw928k6pqn"; + "nNNPDF20_nlo_as_0118_Ca40" = "1abxkr4r5psi6n8rrsbf97gwwkh1dg9jqfd46hn2725r22c6k8l4"; + "nNNPDF20_nlo_as_0118_Cu64" = "1nkkiwx22b649pmyfykn2ggdq99y985mnkv3fnkm8i43scwbswvb"; + "nNNPDF20_nlo_as_0118_D2" = "0gvf9qqgr4ixm9cf2654xyvkc624k5ijqwdds61frljlhd49yqm1"; + "nNNPDF20_nlo_as_0118_Fe56" = "1ci132hc8mpsj0zjr9fichnkapagjs6q9pqli0yzgnnv6l2aih3a"; + "nNNPDF20_nlo_as_0118_He4" = "1phq7m6lbx87s4whs2xygigq7fz1qhzj3nd9anx5r67w7q99rcad"; + "nNNPDF20_nlo_as_0118_Li6" = "0pwdqrmivpm0j7hrg6h2qqshpna2vjlslxnz0sd100kc3lfq7xab"; + "nNNPDF20_nlo_as_0118_N1" = "09y7pd3nnys49w25gb4524x5xkahillvaypjgncbn8n5x1a11nsr"; + "nNNPDF20_nlo_as_0118_N14" = "0nb3kcmhbyncp9frs27ww550mjl3f7yiahyyrm3aik93ycpm16n7"; + "nNNPDF20_nlo_as_0118_O16" = "1wmi63l6cpj3nx0vwiqaa1pfw0im5ps96g7842428skzrg0q4yx3"; + "nNNPDF20_nlo_as_0118_Pb208" = "1rwb7vca0y1aj38mz8m3wg07q9hq66qd5j3y6hs9bh0jz6hkifzh"; + "nNNPDF20_nlo_as_0118_Sn119" = "1dan86ckd5padipp4x12x8msfg5p97b8hwxm78gfyf88kq725m6z"; + "nNNPDF20_nlo_as_0118_W184" = "0wzd8vw2svf3mzpyy1wryr5jz3anhykp5z3cx4hdljprws2b8nll"; + "nNNPDF20_nlo_as_0118_Xe131" = "1a62qi3qy5kli9q80p2w80mj5v3ps2g6p40zxlgm65q5mphkx1qi"; + "nNNPDF30_nlo_as_0118_A108_Z54" = "0n67w44rmz5s6cg2h58d8sf51dsfd0i5g09dh08mgfcn640bqlqw"; + "nNNPDF30_nlo_as_0118_A119_Z59" = "1zj5gn5021ig0j6p7jpyy683avg0890blmr90yjm6skqzxfjq48i"; + "nNNPDF30_nlo_as_0118_A12_Z6" = "0jvaq9a1w19dybv2hzvn8swk4i4z16lab9yfhbywq0vixyfn1swd"; + "nNNPDF30_nlo_as_0118_A131_Z54" = "01mcqnixjw5m9di508aq8fp74f3aqnvhc1bjirfvi3ca0jz0c1jz"; + "nNNPDF30_nlo_as_0118_A14_Z7" = "0hqpni9fxbf5qfamcirglr04cbwx58pwylqh8hqm3vc03ap3nmjd"; + "nNNPDF30_nlo_as_0118_A16_Z8" = "0f0h3hckxg4xgfd6ldblavhcidzdy2b5660a5nvv96y63sdsx2x4"; + "nNNPDF30_nlo_as_0118_A184_Z74" = "01jsbla72c3b6gbc7w4nx5bb5ws3g864avznb9vxmmk3prib7n8x"; + "nNNPDF30_nlo_as_0118_A197_Z79" = "1gm7nx0cn3lmjlsy6c7dr5vzyfmi1fcdib9656d4039m0ningrhg"; + "nNNPDF30_nlo_as_0118_A208_Z82" = "0r1spnj4qmjwpjybqv9aa6w3wybvgk4qzivzwz4s9bacz0kb3z4n"; + "nNNPDF30_nlo_as_0118_A27_Z13" = "17vmr3pwjp1prb83yngada7sw8553sv39dnncksabnklfp1l5x59"; + "nNNPDF30_nlo_as_0118_A2_Z1" = "1g97mc7c14hnkfsfvg4n9jmb4l461i9lka643s626hw0gcq053f5"; + "nNNPDF30_nlo_as_0118_A31_Z15" = "0h5rx9113yq6jw1l2alwyvw77vv733y5mcpa3m9773s7y61w3fpk"; + "nNNPDF30_nlo_as_0118_A40_Z20" = "1937kk4039hi9cslw4417174s83rs4n9vm16ay70pp1c8bcqzp6l"; + "nNNPDF30_nlo_as_0118_A4_Z2" = "147npkmbvzk6j95hnnil6jafc2gxjqavaawl9cilr93f9h64w54w"; + "nNNPDF30_nlo_as_0118_A56_Z26" = "06dxsapqirmajh107j24b3w2nhqz39gs9c2pglq71fc53i0fra5a"; + "nNNPDF30_nlo_as_0118_A64_Z29" = "1drvfd3i1drrb15m3vk9sm2lzx2x01da44gdq3wbc90nxvzc7d56"; + "nNNPDF30_nlo_as_0118_A6_Z3" = "0zp1cixj6ixayzdra2i5qyfn2b6y6qfxd5d1l101n8sgf4bdh6fb"; + "nNNPDF30_nlo_as_0118_A9_Z4" = "07i30jk29cgdbdk4n5acdki5aihaki5w0mqibjww1hy7mwh4y45w"; + "nNNPDF30_nlo_as_0118_p" = "0k4bs4zhlm7l14mbd2q9n0n7rdnpqwgnfwj289ql62v3kh8mnn18"; + "xFitterPI_NLO_EIG" = "1v6mfhmcrmdvica0wlc2ilfca1srxc7vjyli113wjvpd7wfpnvj5"; + "xFitterPI_NLO_VAR" = "09mlsww89hhm2s96rlkqbkfwwf9qkblw7n3nnrgas6l1kn2hxq1i"; +} diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix index d5e54847d9225..2cf2c89db87e9 100644 --- a/pkgs/development/libraries/physics/pythia/default.nix +++ b/pkgs/development/libraries/physics/pythia/default.nix @@ -1,26 +1,51 @@ -{ lib, stdenv, fetchurl, boost, fastjet, fixDarwinDylibNames, hepmc, lhapdf, rsync, zlib }: +{ + lib, + stdenv, + fetchurl, + boost, + fastjet, + fixDarwinDylibNames, + hepmc, + lhapdf, + rsync, + zlib, +}: stdenv.mkDerivation rec { pname = "pythia"; version = "8.312"; src = fetchurl { - url = "https://pythia.org/download/pythia83/pythia${builtins.replaceStrings ["."] [""] version}.tgz"; + url = "https://pythia.org/download/pythia83/pythia${ + builtins.replaceStrings [ "." ] [ "" ] version + }.tgz"; sha256 = "sha256-utmOKWe2hwRsRWjJCR1jCgwxtih0XAIamUq6TR1Q+Oo="; }; - nativeBuildInputs = [ rsync ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; - buildInputs = [ boost fastjet hepmc zlib lhapdf ]; + nativeBuildInputs = [ rsync ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; + buildInputs = [ + boost + fastjet + hepmc + zlib + lhapdf + ]; - configureFlags = [ - "--enable-shared" - "--with-lhapdf6=${lhapdf}" - ] ++ (if lib.versions.major hepmc.version == "3" then [ - "--with-hepmc3=${hepmc}" - ] else [ - "--with-hepmc2=${hepmc}" - ]); + configureFlags = + [ + "--enable-shared" + "--with-lhapdf6=${lhapdf}" + ] + ++ ( + if lib.versions.major hepmc.version == "3" then + [ + "--with-hepmc3=${hepmc}" + ] + else + [ + "--with-hepmc2=${hepmc}" + ] + ); enableParallelBuilding = true; diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix index 55d2de981e72d..adf5ae595efe7 100644 --- a/pkgs/development/libraries/physics/rivet/default.nix +++ b/pkgs/development/libraries/physics/rivet/default.nix @@ -1,4 +1,23 @@ -{ lib, stdenv, fetchurl, fastjet, fastjet-contrib, ghostscript, hdf5, hepmc3, highfive, imagemagick, less, pkg-config, python3, rsync, texliveBasic, yoda, which, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + fastjet, + fastjet-contrib, + ghostscript, + hdf5, + hepmc3, + highfive, + imagemagick, + less, + pkg-config, + python3, + rsync, + texliveBasic, + yoda, + which, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "rivet"; @@ -9,25 +28,42 @@ stdenv.mkDerivation rec { hash = "sha256-ZaOzb0K/94LtJ2eTDmaeCbFAiZYF15cvyPd3hbSogsA="; }; - latex = texliveBasic.withPackages (ps: with ps; [ - collection-pstricks - collection-fontsrecommended - l3kernel - l3packages - mathastext - pgf - relsize - sansmath - sfmath - siunitx - xcolor - xkeyval - xstring - ]); + latex = texliveBasic.withPackages ( + ps: with ps; [ + collection-pstricks + collection-fontsrecommended + l3kernel + l3packages + mathastext + pgf + relsize + sansmath + sfmath + siunitx + xcolor + xkeyval + xstring + ] + ); - nativeBuildInputs = [ rsync makeWrapper pkg-config ]; - buildInputs = [ hepmc3 highfive imagemagick python3 latex python3.pkgs.yoda ]; - propagatedBuildInputs = [ hdf5 fastjet fastjet-contrib ]; + nativeBuildInputs = [ + rsync + makeWrapper + pkg-config + ]; + buildInputs = [ + hepmc3 + highfive + imagemagick + python3 + latex + python3.pkgs.yoda + ]; + propagatedBuildInputs = [ + hdf5 + fastjet + fastjet-contrib + ]; preConfigure = '' substituteInPlace configure \ @@ -35,7 +71,9 @@ stdenv.mkDerivation rec { substituteInPlace bin/rivet-build.in \ --replace-fail 'num_jobs=$(getconf _NPROCESSORS_ONLN)' 'num_jobs=''${NIX_BUILD_CORES:-$(getconf _NPROCESSORS_ONLN)}' \ --replace-fail 'which' '"${which}/bin/which"' \ - --replace-fail 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"} #' \ + --replace-fail 'mycxx=' 'mycxx=${stdenv.cc}/bin/${ + if stdenv.cc.isClang or false then "clang++" else "g++" + } #' \ --replace-fail 'mycxxflags="' "mycxxflags=\"$NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE $NIX_CFLAGS_LINK " ''; @@ -73,9 +111,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Framework for comparison of experimental measurements from high-energy particle colliders to theory predictions"; - license = licenses.gpl3; - homepage = "https://rivet.hepforge.org"; - platforms = platforms.unix; + license = licenses.gpl3; + homepage = "https://rivet.hepforge.org"; + platforms = platforms.unix; maintainers = with maintainers; [ veprbl ]; }; } diff --git a/pkgs/development/libraries/physics/yoda/default.nix b/pkgs/development/libraries/physics/yoda/default.nix index b8eb2168db050..746286254daed 100644 --- a/pkgs/development/libraries/physics/yoda/default.nix +++ b/pkgs/development/libraries/physics/yoda/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, python -, root -, makeWrapper -, zlib -, withRootSupport ? false +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + python, + root, + makeWrapper, + zlib, + withRootSupport ? false, }: stdenv.mkDerivation rec { @@ -26,14 +27,17 @@ stdenv.mkDerivation rec { makeWrapper ]; - buildInputs = [ - python - ] ++ (with python.pkgs; [ - numpy - matplotlib - ]) ++ lib.optionals withRootSupport [ - root - ]; + buildInputs = + [ + python + ] + ++ (with python.pkgs; [ + numpy + matplotlib + ]) + ++ lib.optionals withRootSupport [ + root + ]; propagatedBuildInputs = [ zlib diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index f8735c294a071..c7bdcdff2454d 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -1,63 +1,64 @@ -{ stdenv -, lib -, fetchFromGitLab -, python3 -, meson -, ninja -, elogind -, systemd -, enableSystemd ? true # enableSystemd=false maintained by maintainers.qyliss. -, pkg-config -, docutils -, doxygen -, graphviz -, glib -, dbus -, alsa-lib -, libjack2 -, libusb1 -, udev -, libsndfile -, vulkanSupport ? true -, vulkan-headers -, vulkan-loader -, webrtc-audio-processing -, webrtc-audio-processing_1 -, ncurses -, readline # meson can't find <7 as those versions don't have a .pc file -, lilv -, makeFontsConf -, nixosTests -, valgrind -, libcamera -, libdrm -, gst_all_1 -, ffmpeg -, bluez -, sbc -, libfreeaptx -, liblc3 -, fdk_aac -, libopus -, ldacbt -, modemmanager -, libpulseaudio -, zeroconfSupport ? true -, avahi -, raopSupport ? true -, openssl -, rocSupport ? true -, roc-toolkit -, x11Support ? true -, libcanberra -, xorg -, libmysofa -, ffadoSupport ? x11Support && lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform -, ffado -, libselinux +{ + stdenv, + lib, + fetchFromGitLab, + python3, + meson, + ninja, + elogind, + systemd, + enableSystemd ? true, # enableSystemd=false maintained by maintainers.qyliss. + pkg-config, + docutils, + doxygen, + graphviz, + glib, + dbus, + alsa-lib, + libjack2, + libusb1, + udev, + libsndfile, + vulkanSupport ? true, + vulkan-headers, + vulkan-loader, + webrtc-audio-processing, + webrtc-audio-processing_1, + ncurses, + readline, # meson can't find <7 as those versions don't have a .pc file + lilv, + makeFontsConf, + nixosTests, + valgrind, + libcamera, + libdrm, + gst_all_1, + ffmpeg, + bluez, + sbc, + libfreeaptx, + liblc3, + fdk_aac, + libopus, + ldacbt, + modemmanager, + libpulseaudio, + zeroconfSupport ? true, + avahi, + raopSupport ? true, + openssl, + rocSupport ? true, + roc-toolkit, + x11Support ? true, + libcanberra, + xorg, + libmysofa, + ffadoSupport ? x11Support && lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform, + ffado, + libselinux, }: -stdenv.mkDerivation(finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "pipewire"; version = "1.2.6"; @@ -97,42 +98,65 @@ stdenv.mkDerivation(finalAttrs: { glib ]; - buildInputs = [ - alsa-lib - bluez - dbus - fdk_aac - ffmpeg - glib - gst_all_1.gst-plugins-base - gst_all_1.gstreamer - libcamera - libjack2 - libfreeaptx - liblc3 - libmysofa - libopus - libpulseaudio - libusb1 - libselinux - libsndfile - lilv - modemmanager - ncurses - readline - sbc - ] ++ (if enableSystemd then [ systemd ] else [ elogind udev ]) - ++ (if lib.meta.availableOn stdenv.hostPlatform webrtc-audio-processing_1 then [ webrtc-audio-processing_1 ] else [ webrtc-audio-processing ]) - ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform ldacbt) ldacbt - ++ lib.optional zeroconfSupport avahi - ++ lib.optional raopSupport openssl - ++ lib.optional rocSupport roc-toolkit - ++ lib.optionals vulkanSupport [ libdrm vulkan-headers vulkan-loader ] - ++ lib.optionals x11Support [ libcanberra xorg.libX11 xorg.libXfixes ] - ++ lib.optional ffadoSupport ffado; + buildInputs = + [ + alsa-lib + bluez + dbus + fdk_aac + ffmpeg + glib + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + libcamera + libjack2 + libfreeaptx + liblc3 + libmysofa + libopus + libpulseaudio + libusb1 + libselinux + libsndfile + lilv + modemmanager + ncurses + readline + sbc + ] + ++ ( + if enableSystemd then + [ systemd ] + else + [ + elogind + udev + ] + ) + ++ ( + if lib.meta.availableOn stdenv.hostPlatform webrtc-audio-processing_1 then + [ webrtc-audio-processing_1 ] + else + [ webrtc-audio-processing ] + ) + ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform ldacbt) ldacbt + ++ lib.optional zeroconfSupport avahi + ++ lib.optional raopSupport openssl + ++ lib.optional rocSupport roc-toolkit + ++ lib.optionals vulkanSupport [ + libdrm + vulkan-headers + vulkan-loader + ] + ++ lib.optionals x11Support [ + libcanberra + xorg.libX11 + xorg.libXfixes + ] + ++ lib.optional ffadoSupport ffado; # Valgrind binary is required for running one optional test. - nativeCheckInputs = lib.optional (lib.meta.availableOn stdenv.hostPlatform valgrind) valgrind; + nativeCheckInputs = lib.optional (lib.meta.availableOn stdenv.hostPlatform valgrind) valgrind; mesonFlags = [ (lib.mesonEnable "docs" true) @@ -201,6 +225,9 @@ stdenv.mkDerivation(finalAttrs: { homepage = "https://pipewire.org/"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ kranzes k900 ]; + maintainers = with maintainers; [ + kranzes + k900 + ]; }; }) diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix index 23d4691850404..958f0d52ab0ec 100644 --- a/pkgs/development/libraries/pipewire/wireplumber.nix +++ b/pkgs/development/libraries/pipewire/wireplumber.nix @@ -1,32 +1,36 @@ -{ lib -, stdenv -, fetchFromGitLab -, nix-update-script -# base build deps -, meson -, pkg-config -, ninja -# docs build deps -, python3 -, doxygen -, graphviz -# GI build deps -, gobject-introspection -# runtime deps -, glib -, systemd -, lua5_4 -, pipewire -# options -, enableDocs ? true -, enableGI ? true +{ + lib, + stdenv, + fetchFromGitLab, + nix-update-script, + # base build deps + meson, + pkg-config, + ninja, + # docs build deps + python3, + doxygen, + graphviz, + # GI build deps + gobject-introspection, + # runtime deps + glib, + systemd, + lua5_4, + pipewire, + # options + enableDocs ? true, + enableGI ? true, }: stdenv.mkDerivation rec { pname = "wireplumber"; version = "0.5.7"; - outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc"; + outputs = [ + "out" + "dev" + ] ++ lib.optional enableDocs "doc"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; @@ -36,21 +40,31 @@ stdenv.mkDerivation rec { hash = "sha256-KZ4ECpDZhTBQKylJwP3OcsyjZ1ktqwWUZFg9j9KvNsM="; }; - nativeBuildInputs = [ - meson - pkg-config - ninja - ] ++ lib.optionals enableDocs [ - graphviz - ] ++ lib.optionals enableGI [ - gobject-introspection - ] ++ lib.optionals (enableDocs || enableGI) [ - doxygen - (python3.pythonOnBuildForHost.withPackages (ps: with ps; - lib.optionals enableDocs [ sphinx sphinx-rtd-theme breathe ] - ++ lib.optionals enableGI [ lxml ] - )) - ]; + nativeBuildInputs = + [ + meson + pkg-config + ninja + ] + ++ lib.optionals enableDocs [ + graphviz + ] + ++ lib.optionals enableGI [ + gobject-introspection + ] + ++ lib.optionals (enableDocs || enableGI) [ + doxygen + (python3.pythonOnBuildForHost.withPackages ( + ps: + with ps; + lib.optionals enableDocs [ + sphinx + sphinx-rtd-theme + breathe + ] + ++ lib.optionals enableGI [ lxml ] + )) + ]; buildInputs = [ glib diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix index e0121a04e3539..f29f2c2ddc56e 100644 --- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix +++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix @@ -1,8 +1,9 @@ -{ mkDerivation -, fetchurl -, lib -, extra-cmake-modules -, qtbase +{ + mkDerivation, + fetchurl, + lib, + extra-cmake-modules, + qtbase, }: mkDerivation rec { diff --git a/pkgs/development/libraries/podofo/0.10.x.nix b/pkgs/development/libraries/podofo/0.10.x.nix index fdc42bc0f5653..a1d2022325446 100644 --- a/pkgs/development/libraries/podofo/0.10.x.nix +++ b/pkgs/development/libraries/podofo/0.10.x.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, expat -, fontconfig -, freetype -, libidn -, libjpeg -, libpng -, libtiff -, libxml2 -, lua5 -, openssl -, pkg-config -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + expat, + fontconfig, + freetype, + libidn, + libjpeg, + libpng, + libtiff, + libxml2, + lua5, + openssl, + pkg-config, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ZY+kyimLzAeEgvDaflXM7MbyzsGgivOnG1aBD9/ozbk="; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; nativeBuildInputs = [ cmake @@ -57,7 +62,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/podofo/podofo"; description = "Library to work with the PDF file format"; platforms = lib.platforms.all; - license = with lib.licenses; [ gpl2Plus lgpl2Plus ]; + license = with lib.licenses; [ + gpl2Plus + lgpl2Plus + ]; maintainers = [ ]; }; }) diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix index 598366dc6eb84..c49c31be88227 100644 --- a/pkgs/development/libraries/podofo/default.nix +++ b/pkgs/development/libraries/podofo/default.nix @@ -1,5 +1,19 @@ -{ lib, stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig -, openssl, libpng, lua5, pkg-config, libidn, expat +{ + lib, + stdenv, + fetchurl, + cmake, + zlib, + freetype, + libjpeg, + libtiff, + fontconfig, + openssl, + libpng, + lua5, + pkg-config, + libidn, + expat, }: stdenv.mkDerivation rec { @@ -11,12 +25,29 @@ stdenv.mkDerivation rec { sha256 = "sha256-XeYH4V8ZK4rZBzgwB1nYjeoPXM3OO/AASKDJMrxkUVQ="; }; - outputs = [ "out" "dev" "lib" ]; + outputs = [ + "out" + "dev" + "lib" + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng - libidn expat lua5 ]; + buildInputs = [ + zlib + freetype + libjpeg + libtiff + fontconfig + openssl + libpng + libidn + expat + lua5 + ]; cmakeFlags = [ "-DPODOFO_BUILD_SHARED=ON" @@ -37,6 +68,9 @@ stdenv.mkDerivation rec { homepage = "https://podofo.sourceforge.net"; description = "Library to work with the PDF file format"; platforms = platforms.all; - license = with licenses; [ gpl2Plus lgpl2Plus ]; + license = with licenses; [ + gpl2Plus + lgpl2Plus + ]; }; } diff --git a/pkgs/development/libraries/polkit-qt-1/default.nix b/pkgs/development/libraries/polkit-qt-1/default.nix index 0fb66ccc7c3d5..ff18b348a592f 100644 --- a/pkgs/development/libraries/polkit-qt-1/default.nix +++ b/pkgs/development/libraries/polkit-qt-1/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, mkDerivation -, fetchurl -, cmake -, pkg-config -, polkit -, glib -, pcre -, libselinux -, libsepol -, util-linux +{ + stdenv, + lib, + mkDerivation, + fetchurl, + cmake, + pkg-config, + polkit, + glib, + pcre, + libselinux, + libsepol, + util-linux, }: mkDerivation rec { @@ -21,13 +22,22 @@ mkDerivation rec { sha256 = "sha256-LrDyJEWIgpX/or+8DDaThHoPlzu2sMPkzOAhi+fjkH4="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ - glib - pcre - polkit - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libselinux libsepol util-linux ]; + buildInputs = + [ + glib + pcre + polkit + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libselinux + libsepol + util-linux + ]; meta = with lib; { description = "Qt wrapper around PolKit"; diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 368c5a06a463f..a0153c459fa4f 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,39 +1,46 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitLab -, fetchpatch -, cairo -, cmake -, boost -, curl -, fontconfig -, freetype -, lcms -, libiconv -, libintl -, libjpeg -, ninja -, openjpeg -, pkg-config -, python3 -, zlib -, withData ? true, poppler_data -, qt5Support ? false, qt6Support ? false, qtbase ? null -, introspectionSupport ? false, gobject-introspection ? null -, gpgmeSupport ? false, gpgme ? null -, utils ? false, nss ? null -, minimal ? false -, suffix ? "glib" - -# for passthru.tests -, cups-filters -, gdal -, gegl -, inkscape -, pdfslicer -, scribus -, vips +{ + lib, + stdenv, + fetchurl, + fetchFromGitLab, + fetchpatch, + cairo, + cmake, + boost, + curl, + fontconfig, + freetype, + lcms, + libiconv, + libintl, + libjpeg, + ninja, + openjpeg, + pkg-config, + python3, + zlib, + withData ? true, + poppler_data, + qt5Support ? false, + qt6Support ? false, + qtbase ? null, + introspectionSupport ? false, + gobject-introspection ? null, + gpgmeSupport ? false, + gpgme ? null, + utils ? false, + nss ? null, + minimal ? false, + suffix ? "glib", + + # for passthru.tests + cups-filters, + gdal, + gegl, + inkscape, + pdfslicer, + scribus, + vips, }: let @@ -55,7 +62,10 @@ stdenv.mkDerivation (finalAttrs: rec { pname = "poppler-${suffix}"; version = "24.02.0"; # beware: updates often break cups-filters build, check scribus too! - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz"; @@ -78,49 +88,58 @@ stdenv.mkDerivation (finalAttrs: rec { python3 ]; - buildInputs = [ - boost - libiconv - libintl - ] ++ lib.optionals withData [ - poppler_data - ]; + buildInputs = + [ + boost + libiconv + libintl + ] + ++ lib.optionals withData [ + poppler_data + ]; # TODO: reduce propagation to necessary libs - propagatedBuildInputs = [ - zlib - freetype - fontconfig - libjpeg - openjpeg - ] ++ lib.optionals (!minimal) [ - cairo - lcms - curl - nss - ] ++ lib.optionals (qt5Support || qt6Support) [ - qtbase - ] ++ lib.optionals introspectionSupport [ - gobject-introspection - ] ++ lib.optionals gpgmeSupport [ - gpgme - ]; - - cmakeFlags = [ - (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS" - (mkFlag (!minimal) "GLIB") - (mkFlag (!minimal) "CPP") - (mkFlag (!minimal) "LIBCURL") - (mkFlag (!minimal) "LCMS") - (mkFlag (!minimal) "LIBTIFF") - (mkFlag (!minimal) "NSS3") - (mkFlag utils "UTILS") - (mkFlag qt5Support "QT5") - (mkFlag qt6Support "QT6") - (mkFlag gpgmeSupport "GPGME") - ] ++ lib.optionals finalAttrs.finalPackage.doCheck [ - "-DTESTDATADIR=${testData}" - ]; + propagatedBuildInputs = + [ + zlib + freetype + fontconfig + libjpeg + openjpeg + ] + ++ lib.optionals (!minimal) [ + cairo + lcms + curl + nss + ] + ++ lib.optionals (qt5Support || qt6Support) [ + qtbase + ] + ++ lib.optionals introspectionSupport [ + gobject-introspection + ] + ++ lib.optionals gpgmeSupport [ + gpgme + ]; + + cmakeFlags = + [ + (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS" + (mkFlag (!minimal) "GLIB") + (mkFlag (!minimal) "CPP") + (mkFlag (!minimal) "LIBCURL") + (mkFlag (!minimal) "LCMS") + (mkFlag (!minimal) "LIBTIFF") + (mkFlag (!minimal) "NSS3") + (mkFlag utils "UTILS") + (mkFlag qt5Support "QT5") + (mkFlag qt6Support "QT6") + (mkFlag gpgmeSupport "GPGME") + ] + ++ lib.optionals finalAttrs.finalPackage.doCheck [ + "-DTESTDATADIR=${testData}" + ]; disallowedReferences = lib.optional finalAttrs.finalPackage.doCheck testData; dontWrapQtApps = true; @@ -151,13 +170,13 @@ stdenv.mkDerivation (finalAttrs: rec { cups-filters inkscape scribus - ; + ; inherit gegl pdfslicer vips - ; + ; gdal = gdal.override { usePoppler = true; }; python-poppler-qt5 = python3.pkgs.poppler-qt5; }; diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix index e16562d85eb11..99b1f8154cd34 100644 --- a/pkgs/development/libraries/portaudio/default.nix +++ b/pkgs/development/libraries/portaudio/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, alsa-lib -, libjack2 -, pkg-config -, which +{ + lib, + stdenv, + fetchurl, + alsa-lib, + libjack2, + pkg-config, + which, }: stdenv.mkDerivation rec { @@ -17,12 +18,18 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ pkg-config which ]; - buildInputs = - [ libjack2 ] - ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform alsa-lib) [ alsa-lib ]; + nativeBuildInputs = [ + pkg-config + which + ]; + buildInputs = [ + libjack2 + ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform alsa-lib) [ alsa-lib ]; - configureFlags = [ "--disable-mac-universal" "--enable-cxx" ]; + configureFlags = [ + "--disable-mac-universal" + "--enable-cxx" + ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=nullability-inferred-on-nested-type -Wno-error=nullability-completeness-on-arrays -Wno-error=implicit-const-int-float-conversion"; @@ -39,22 +46,25 @@ stdenv.mkDerivation rec { ''; # not sure why, but all the headers seem to be installed by the make install - installPhase = '' - make install - '' + lib.optionalString (lib.meta.availableOn stdenv.hostPlatform alsa-lib) '' - # fixup .pc file to find alsa library - sed -i "s|-lasound|-L${alsa-lib.out}/lib -lasound|" "$out/lib/pkgconfig/"*.pc - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - cp include/pa_mac_core.h $out/include/pa_mac_core.h - ''; + installPhase = + '' + make install + '' + + lib.optionalString (lib.meta.availableOn stdenv.hostPlatform alsa-lib) '' + # fixup .pc file to find alsa library + sed -i "s|-lasound|-L${alsa-lib.out}/lib -lasound|" "$out/lib/pkgconfig/"*.pc + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp include/pa_mac_core.h $out/include/pa_mac_core.h + ''; meta = with lib; { description = "Portable cross-platform Audio API"; - homepage = "https://www.portaudio.com/"; + homepage = "https://www.portaudio.com/"; # Not exactly a bsd license, but alike - license = licenses.mit; + license = licenses.mit; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; + platforms = platforms.unix; }; passthru = { diff --git a/pkgs/development/libraries/portmidi/default.nix b/pkgs/development/libraries/portmidi/default.nix index eac2a369fd0b0..9afbb6018aebf 100644 --- a/pkgs/development/libraries/portmidi/default.nix +++ b/pkgs/development/libraries/portmidi/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, unzip, cmake, alsa-lib, Carbon, CoreAudio, CoreFoundation, CoreMIDI, CoreServices }: +{ + lib, + stdenv, + fetchFromGitHub, + unzip, + cmake, + alsa-lib, + Carbon, + CoreAudio, + CoreFoundation, + CoreMIDI, + CoreServices, +}: stdenv.mkDerivation rec { pname = "portmidi"; @@ -22,16 +34,29 @@ stdenv.mkDerivation rec { ./missing-header.diff ]; - postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in '' - ln -s libportmidi${ext} "$out/lib/libporttime${ext}" - ''; + postInstall = + let + ext = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + ln -s libportmidi${ext} "$out/lib/libporttime${ext}" + ''; - nativeBuildInputs = [ unzip cmake ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon CoreAudio CoreFoundation CoreMIDI CoreServices + nativeBuildInputs = [ + unzip + cmake ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + CoreAudio + CoreFoundation + CoreMIDI + CoreServices + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/libraries/proj/7.nix b/pkgs/development/libraries/proj/7.nix index cfd1156388024..19f205df4b72c 100644 --- a/pkgs/development/libraries/proj/7.nix +++ b/pkgs/development/libraries/proj/7.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, sqlite -, libtiff -, curl -, gtest -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + sqlite, + libtiff, + curl, + gtest, + fetchpatch, }: stdenv.mkDerivation rec { @@ -22,7 +23,8 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchpatch { # https://github.com/OSGeo/PROJ/issues/2557 + (fetchpatch { + # https://github.com/OSGeo/PROJ/issues/2557 name = "gie_self_tests-fail.diff"; # included in >= 8.0.1 url = "https://github.com/OSGeo/PROJ/commit/6f1a3c4648bf06862dca0b3725cbb3b7ee0284e3.diff"; sha256 = "0gapny0a9c3r0x9szjgn86sspjrrf4vwbija77b17w6ci5cq4pdf"; @@ -35,11 +37,21 @@ stdenv.mkDerivation rec { --replace "MAJOR 7 MINOR 2 PATCH 0" "MAJOR 7 MINOR 2 PATCH 1" ''; - outputs = [ "out" "dev"]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ sqlite libtiff curl ]; + buildInputs = [ + sqlite + libtiff + curl + ]; nativeCheckInputs = [ gtest ]; diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix index f2833cedc805b..e9a9caff159f1 100644 --- a/pkgs/development/libraries/proj/default.nix +++ b/pkgs/development/libraries/proj/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, buildPackages -, callPackage -, sqlite -, libtiff -, curl -, gtest -, nlohmann_json -, python3 -, cacert +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + buildPackages, + callPackage, + sqlite, + libtiff, + curl, + gtest, + nlohmann_json, + python3, + cacert, }: stdenv.mkDerivation (finalAttrs: { @@ -30,13 +31,27 @@ stdenv.mkDerivation (finalAttrs: { ./only-add-curl-for-static-builds.patch ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ sqlite libtiff curl nlohmann_json ]; + buildInputs = [ + sqlite + libtiff + curl + nlohmann_json + ]; - nativeCheckInputs = [ cacert gtest ]; + nativeCheckInputs = [ + cacert + gtest + ]; cmakeFlags = [ "-DUSE_EXTERNAL_GTEST=ON" @@ -53,11 +68,11 @@ stdenv.mkDerivation (finalAttrs: { let libPathEnvVar = if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; in - '' - export HOME=$TMPDIR - export TMP=$TMPDIR - export ${libPathEnvVar}=$PWD/lib - ''; + '' + export HOME=$TMPDIR + export TMP=$TMPDIR + export ${libPathEnvVar}=$PWD/lib + ''; doCheck = true; diff --git a/pkgs/development/libraries/proj/tests.nix b/pkgs/development/libraries/proj/tests.nix index 38126f06dd4d6..93ec7e17a72b4 100644 --- a/pkgs/development/libraries/proj/tests.nix +++ b/pkgs/development/libraries/proj/tests.nix @@ -3,9 +3,8 @@ let inherit (proj) pname; in -runCommand "${pname}-tests" { meta.timeout = 60; } - '' - ${proj}/bin/projinfo EPSG:4326 \ - | grep '+proj=longlat +datum=WGS84 +no_defs +type=crs' - touch $out - '' +runCommand "${pname}-tests" { meta.timeout = 60; } '' + ${proj}/bin/projinfo EPSG:4326 \ + | grep '+proj=longlat +datum=WGS84 +no_defs +type=crs' + touch $out +'' diff --git a/pkgs/development/libraries/prometheus-client-c/default.nix b/pkgs/development/libraries/prometheus-client-c/default.nix index 4d695eff64085..340a87666c148 100644 --- a/pkgs/development/libraries/prometheus-client-c/default.nix +++ b/pkgs/development/libraries/prometheus-client-c/default.nix @@ -1,15 +1,18 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, libmicrohttpd +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + libmicrohttpd, }: let build = - { pname - , subdir - , buildInputs ? [ ] - , description + { + pname, + subdir, + buildInputs ? [ ], + description, }: stdenv.mkDerivation rec { inherit pname; @@ -29,18 +32,14 @@ let patches = [ # Required so CMAKE_INSTALL_PREFIX is honored, otherwise it # installs headers in /usr/include (absolute) - ( - fetchpatch { - url = "https://github.com/digitalocean/prometheus-client-c/commit/5fcedeb506b7d47dd7bab35797f2c3f23db6fe10.patch"; - sha256 = "10hzg8v5jcgxz224kdq0nha9vs78wz098b0ys7gig2iwgrg018fy"; - } - ) - ( - fetchpatch { - url = "https://github.com/digitalocean/prometheus-client-c/commit/0c15e7e45ad0c3726593591fdd7d8f2fde845fe3.patch"; - sha256 = "06899v1xz3lpsdxww4p3q7pv8nrymnibncdc472056znr5fidlp0"; - } - ) + (fetchpatch { + url = "https://github.com/digitalocean/prometheus-client-c/commit/5fcedeb506b7d47dd7bab35797f2c3f23db6fe10.patch"; + sha256 = "10hzg8v5jcgxz224kdq0nha9vs78wz098b0ys7gig2iwgrg018fy"; + }) + (fetchpatch { + url = "https://github.com/digitalocean/prometheus-client-c/commit/0c15e7e45ad0c3726593591fdd7d8f2fde845fe3.patch"; + sha256 = "06899v1xz3lpsdxww4p3q7pv8nrymnibncdc472056znr5fidlp0"; + }) ]; # Workaround build failure on -fno-common toolchains like upstream @@ -72,7 +71,10 @@ rec { libpromhttp = build { pname = "libpromhttp"; subdir = "promhttp"; - buildInputs = [ libmicrohttpd libprom ]; + buildInputs = [ + libmicrohttpd + libprom + ]; description = "Prometheus HTTP Endpoint in C"; }; } diff --git a/pkgs/development/libraries/pulseaudio-qt/default.nix b/pkgs/development/libraries/pulseaudio-qt/default.nix index 0db185b20b707..9bc5141eeb6e7 100644 --- a/pkgs/development/libraries/pulseaudio-qt/default.nix +++ b/pkgs/development/libraries/pulseaudio-qt/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchurl -, cmake -, pkg-config -, extra-cmake-modules -, wrapQtAppsHook -, pulseaudio +{ + stdenv, + lib, + fetchurl, + cmake, + pkg-config, + extra-cmake-modules, + wrapQtAppsHook, + pulseaudio, }: stdenv.mkDerivation (finalAttrs: { @@ -30,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Pulseaudio bindings for Qt"; - homepage = "https://invent.kde.org/libraries/pulseaudio-qt"; - license = with licenses; [ lgpl2 ]; + homepage = "https://invent.kde.org/libraries/pulseaudio-qt"; + license = with licenses; [ lgpl2 ]; maintainers = with maintainers; [ doronbehar ]; }; }) diff --git a/pkgs/development/libraries/pyotherside/default.nix b/pkgs/development/libraries/pyotherside/default.nix index f99f1927295aa..39afc2e4a11a0 100644 --- a/pkgs/development/libraries/pyotherside/default.nix +++ b/pkgs/development/libraries/pyotherside/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub -, python3, qmake, qtbase, qtquickcontrols, qtsvg, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + qmake, + qtbase, + qtquickcontrols, + qtsvg, + ncurses, +}: stdenv.mkDerivation rec { pname = "pyotherside"; @@ -14,7 +23,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qmake ]; buildInputs = [ - python3 qtbase qtquickcontrols qtsvg ncurses + python3 + qtbase + qtquickcontrols + qtsvg + ncurses ]; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/qca/default.nix b/pkgs/development/libraries/qca/default.nix index a8651c9c2a5f3..1f9524357c346 100644 --- a/pkgs/development/libraries/qca/default.nix +++ b/pkgs/development/libraries/qca/default.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, fetchurl, cmake, openssl, pkg-config, qtbase, qt5compat ? null }: +{ + lib, + stdenv, + fetchurl, + cmake, + openssl, + pkg-config, + qtbase, + qt5compat ? null, +}: let isQt6 = lib.versions.major qtbase.version == "6"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "qca"; version = "2.3.9"; @@ -11,8 +21,15 @@ in stdenv.mkDerivation rec { sha256 = "sha256-xVXVKYzde2uv4rH5YQbzDPpUOiPUWdUMipHqwzxHbk4="; }; - buildInputs = [ openssl qtbase qt5compat ]; - nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ + openssl + qtbase + qt5compat + ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/qcoro/default.nix b/pkgs/development/libraries/qcoro/default.nix index 877292493dba9..92818b35571be 100644 --- a/pkgs/development/libraries/qcoro/default.nix +++ b/pkgs/development/libraries/qcoro/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libpthreadstubs -, qtbase -, qtwebsockets -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libpthreadstubs, + qtbase, + qtwebsockets, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -19,7 +20,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-teRuWtNR8r/MHZhqphazr7Jmn43qsHGv9eXOGrhSND0="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ wrapQtAppsHook diff --git a/pkgs/development/libraries/qdjango/default.nix b/pkgs/development/libraries/qdjango/default.nix index 8036373a826ad..128b4fbb08a96 100644 --- a/pkgs/development/libraries/qdjango/default.nix +++ b/pkgs/development/libraries/qdjango/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, testers -, doxygen -, qmake +{ + stdenv, + lib, + fetchFromGitHub, + testers, + doxygen, + qmake, }: stdenv.mkDerivation (finalAttrs: { @@ -17,18 +18,24 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-5MfRfsIlv73VMvKMBCLviXFovyGH0On5ukLIEy7zwkk="; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - postPatch = '' - # HTML docs depend on regular docs - substituteInPlace qdjango.pro \ - --replace 'dist.depends = docs' 'htmldocs.depends = docs' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # tst_Auth:constIterator (tests/db/auth/tst_auth.cpp:624) fails on Darwin? - # QVERIFY(&*(it += 2) == 0) evals to false - substituteInPlace tests/db/db.pro \ - --replace 'auth' "" - ''; + postPatch = + '' + # HTML docs depend on regular docs + substituteInPlace qdjango.pro \ + --replace 'dist.depends = docs' 'htmldocs.depends = docs' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # tst_Auth:constIterator (tests/db/auth/tst_auth.cpp:624) fails on Darwin? + # QVERIFY(&*(it += 2) == 0) evals to false + substituteInPlace tests/db/db.pro \ + --replace 'auth' "" + ''; qmakeFlags = [ # Uses Qt testing infrastructure via QMake CONFIG testcase, diff --git a/pkgs/development/libraries/qgnomeplatform/default.nix b/pkgs/development/libraries/qgnomeplatform/default.nix index 6e489f69b72c6..1872366217302 100644 --- a/pkgs/development/libraries/qgnomeplatform/default.nix +++ b/pkgs/development/libraries/qgnomeplatform/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script -, cmake -, pkg-config -, adwaita-qt -, adwaita-qt6 -, glib -, gtk3 -, qtbase -, qtwayland -, substituteAll -, gsettings-desktop-schemas -, useQt6 ? false +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + cmake, + pkg-config, + adwaita-qt, + adwaita-qt6, + glib, + gtk3, + qtbase, + qtwayland, + substituteAll, + gsettings-desktop-schemas, + useQt6 ? false, }: stdenv.mkDerivation rec { @@ -43,26 +44,31 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - glib - gtk3 - qtbase - qtwayland - ] ++ lib.optionals (!useQt6) [ - adwaita-qt - ] ++ lib.optionals useQt6 [ - adwaita-qt6 - ]; + buildInputs = + [ + glib + gtk3 + qtbase + qtwayland + ] + ++ lib.optionals (!useQt6) [ + adwaita-qt + ] + ++ lib.optionals useQt6 [ + adwaita-qt6 + ]; # Qt setup hook complains about missing `wrapQtAppsHook` otherwise. dontWrapQtApps = true; - cmakeFlags = [ - "-DGLIB_SCHEMAS_DIR=${glib.getSchemaPath gsettings-desktop-schemas}" - "-DQT_PLUGINS_DIR=${placeholder "out"}/${qtbase.qtPluginPrefix}" - ] ++ lib.optionals useQt6 [ - "-DUSE_QT6=true" - ]; + cmakeFlags = + [ + "-DGLIB_SCHEMAS_DIR=${glib.getSchemaPath gsettings-desktop-schemas}" + "-DQT_PLUGINS_DIR=${placeholder "out"}/${qtbase.qtPluginPrefix}" + ] + ++ lib.optionals useQt6 [ + "-DUSE_QT6=true" + ]; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/development/libraries/qjson/default.nix b/pkgs/development/libraries/qjson/default.nix index 4308b46c5c1fd..4edb927e22135 100644 --- a/pkgs/development/libraries/qjson/default.nix +++ b/pkgs/development/libraries/qjson/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, qtbase }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, +}: stdenv.mkDerivation rec { version = "0.9.0"; diff --git a/pkgs/development/libraries/qmarkdowntextedit/default.nix b/pkgs/development/libraries/qmarkdowntextedit/default.nix index f3ac9693807b7..77534706d2434 100644 --- a/pkgs/development/libraries/qmarkdowntextedit/default.nix +++ b/pkgs/development/libraries/qmarkdowntextedit/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake +{ + lib, + stdenv, + fetchFromGitHub, + qmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/qmenumodel/default.nix b/pkgs/development/libraries/qmenumodel/default.nix index c2b5e61b9d3b5..16e23abcc34a1 100644 --- a/pkgs/development/libraries/qmenumodel/default.nix +++ b/pkgs/development/libraries/qmenumodel/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, gitUpdater -, testers -, cmake -, cmake-extras -, dbus -, dbus-test-runner -, glib -, pkg-config -, python3 -, qtbase -, qtdeclarative -, gobject-introspection +{ + stdenv, + lib, + fetchFromGitHub, + gitUpdater, + testers, + cmake, + cmake-extras, + dbus, + dbus-test-runner, + glib, + pkg-config, + python3, + qtbase, + qtdeclarative, + gobject-introspection, }: stdenv.mkDerivation (finalAttrs: { @@ -26,18 +27,23 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-zbKAfq9R5fD2IqVYOAhy903QX1TDom9m6Ib2qpkFMak="; }; - outputs = [ "out" "dev" ]; - - postPatch = '' - substituteInPlace libqmenumodel/src/qmenumodel.pc.in \ - --replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" "\''${prefix}/lib" \ - --replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" "\''${prefix}/include" + outputs = [ + "out" + "dev" + ]; - substituteInPlace libqmenumodel/QMenuModel/CMakeLists.txt \ - --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - '' + lib.optionalString finalAttrs.finalPackage.doCheck '' - patchShebangs tests/{client,script}/*.py - ''; + postPatch = + '' + substituteInPlace libqmenumodel/src/qmenumodel.pc.in \ + --replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" "\''${prefix}/lib" \ + --replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" "\''${prefix}/include" + + substituteInPlace libqmenumodel/QMenuModel/CMakeLists.txt \ + --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + '' + + lib.optionalString finalAttrs.finalPackage.doCheck '' + patchShebangs tests/{client,script}/*.py + ''; strictDeps = true; @@ -57,10 +63,12 @@ stdenv.mkDerivation (finalAttrs: { dbus dbus-test-runner gobject-introspection - (python3.withPackages (ps: with ps; [ - dbus-python - pygobject3 - ])) + (python3.withPackages ( + ps: with ps; [ + dbus-python + pygobject3 + ] + )) ]; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix index 7f7613d7f05fa..5f6cf45351f22 100644 --- a/pkgs/development/libraries/qmlbox2d/default.nix +++ b/pkgs/development/libraries/qmlbox2d/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, qtbase, qtdeclarative, fetchFromGitHub, cmake, pkg-config, box2d }: +{ + lib, + stdenv, + qtbase, + qtdeclarative, + fetchFromGitHub, + cmake, + pkg-config, + box2d, +}: let inherit (lib) cmakeBool; @@ -34,9 +43,16 @@ stdenv.mkDerivation { dontWrapQtApps = true; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ box2d' qtbase qtdeclarative ]; + buildInputs = [ + box2d' + qtbase + qtdeclarative + ]; cmakeFlags = [ (cmakeBool "USE_SYSTEM_BOX2D" true) diff --git a/pkgs/development/libraries/qmltermwidget/default.nix b/pkgs/development/libraries/qmltermwidget/default.nix index 6ba9418a6e205..e496a537c9268 100644 --- a/pkgs/development/libraries/qmltermwidget/default.nix +++ b/pkgs/development/libraries/qmltermwidget/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, qmake -, qtbase -, qtmultimedia -, utmp +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + qmake, + qtbase, + qtmultimedia, + utmp, }: stdenv.mkDerivation { diff --git a/pkgs/development/libraries/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix index 51e91499cbdba..2ba063f56ea77 100644 --- a/pkgs/development/libraries/qoauth/default.nix +++ b/pkgs/development/libraries/qoauth/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, qtbase, qmake, qca-qt5 }: +{ + lib, + stdenv, + fetchFromGitHub, + qtbase, + qmake, + qca-qt5, +}: stdenv.mkDerivation rec { pname = "qoauth"; @@ -18,7 +25,10 @@ stdenv.mkDerivation rec { -e '/features.path =/ s|$$\[QMAKE_MKSPECS\]|$$NIX_OUTPUT_DEV/mkspecs|' ''; - buildInputs = [ qtbase qca-qt5 ]; + buildInputs = [ + qtbase + qca-qt5 + ]; nativeBuildInputs = [ qmake ]; env.NIX_CFLAGS_COMPILE = "-I${qca-qt5}/include/Qca-qt5/QtCrypto"; diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix index 0d8df9b316b8b..abeecc0782f37 100644 --- a/pkgs/development/libraries/qscintilla/default.nix +++ b/pkgs/development/libraries/qscintilla/default.nix @@ -1,21 +1,19 @@ -{ stdenv -, lib -, fetchurl -, unzip -, qtbase -, qtmacextras ? null -, qmake -, fixDarwinDylibNames -, darwin +{ + stdenv, + lib, + fetchurl, + unzip, + qtbase, + qtmacextras ? null, + qmake, + fixDarwinDylibNames, + darwin, }: let - stdenv' = if stdenv.hostPlatform.isDarwin then - darwin.apple_sdk_11_0.stdenv - else - stdenv - ; -in stdenv'.mkDerivation rec { + stdenv' = if stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; +in +stdenv'.mkDerivation rec { pname = "qscintilla-qt5"; version = "2.13.2"; @@ -30,8 +28,10 @@ in stdenv'.mkDerivation rec { propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras ]; - nativeBuildInputs = [ unzip qmake ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; + nativeBuildInputs = [ + unzip + qmake + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; # Make sure that libqscintilla2.so is available in $out/lib since it is expected # by some packages such as sqlitebrowser diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index b94be6d893d20..60cccd443308e 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -1,24 +1,41 @@ /* + # Updates -# Updates - -Run `./fetch.sh` to update package sources from Git. -Check for any minor version changes. - + Run `./fetch.sh` to update package sources from Git. + Check for any minor version changes. */ -{ makeScopeWithSplicing', generateSplicesForMkScope -, lib, stdenv, fetchurl, fetchgit, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper -, bison, cups ? null, harfbuzz, libGL, perl, python3 -, gstreamer, gst-plugins-base, gtk3, dconf -, llvmPackages_15, overrideSDK, overrideLibcxx -, darwin +{ + makeScopeWithSplicing', + generateSplicesForMkScope, + lib, + stdenv, + fetchurl, + fetchgit, + fetchpatch, + fetchFromGitHub, + makeSetupHook, + makeWrapper, + bison, + cups ? null, + harfbuzz, + libGL, + perl, + python3, + gstreamer, + gst-plugins-base, + gtk3, + dconf, + llvmPackages_15, + overrideSDK, + overrideLibcxx, + darwin, # options -, developerBuild ? false -, decryptSslTraffic ? false -, debug ? false -, config + developerBuild ? false, + decryptSslTraffic ? false, + debug ? false, + config, }: let @@ -170,67 +187,84 @@ let hash = "sha256-B/z/+tai01RU/bAJSCp5a0/dGI8g36nwso8MiJv27YM="; }) ]; - qtwebengine = [ - ./qtwebengine-link-pulseaudio.patch - # Fixes Chromium build failure with Ninja 1.12. - # See: https://bugreports.qt.io/browse/QTBUG-124375 - # Backport of: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=a766045f65f934df3b5f1aa63bc86fbb3e003a09 - ./qtwebengine-ninja-1.12.patch - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ./qtwebengine-darwin-no-platform-check.patch - ./qtwebengine-mac-dont-set-dsymutil-path.patch - ./qtwebengine-darwin-checks.patch - ]; - qtwebkit = [ - (fetchpatch { - name = "qtwebkit-python39-json.patch"; - url = "https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd.patch"; - sha256 = "yCX/UL666BPxjnxT6rIsUrJsPcSWHhZwMFJfuHhbkhk="; - }) - (fetchpatch { - name = "qtwebkit-bison-3.7-build.patch"; - url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch"; - sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n"; - }) - (fetchpatch { - name = "qtwebkit-glib-2.68.patch"; - url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch"; - sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0"; - }) - (fetchpatch { - name = "qtwebkit-darwin-handle.patch"; - url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch"; - sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE="; - }) - (fetchpatch { - name = "qtwebkit-libxml2-api-change.patch"; - url = "https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b.patch"; - sha256 = "WZEj+UuKhgJBM7auhND3uddk1wWdTY728jtiWVe7CSI="; - }) - ./qtwebkit.patch - ./qtwebkit-icu68.patch - ./qtwebkit-cstdint.patch - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ./qtwebkit-darwin-no-readline.patch - ./qtwebkit-darwin-no-qos-classes.patch - ]; + qtwebengine = + [ + ./qtwebengine-link-pulseaudio.patch + # Fixes Chromium build failure with Ninja 1.12. + # See: https://bugreports.qt.io/browse/QTBUG-124375 + # Backport of: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=a766045f65f934df3b5f1aa63bc86fbb3e003a09 + ./qtwebengine-ninja-1.12.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./qtwebengine-darwin-no-platform-check.patch + ./qtwebengine-mac-dont-set-dsymutil-path.patch + ./qtwebengine-darwin-checks.patch + ]; + qtwebkit = + [ + (fetchpatch { + name = "qtwebkit-python39-json.patch"; + url = "https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd.patch"; + sha256 = "yCX/UL666BPxjnxT6rIsUrJsPcSWHhZwMFJfuHhbkhk="; + }) + (fetchpatch { + name = "qtwebkit-bison-3.7-build.patch"; + url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch"; + sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n"; + }) + (fetchpatch { + name = "qtwebkit-glib-2.68.patch"; + url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch"; + sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0"; + }) + (fetchpatch { + name = "qtwebkit-darwin-handle.patch"; + url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch"; + sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE="; + }) + (fetchpatch { + name = "qtwebkit-libxml2-api-change.patch"; + url = "https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b.patch"; + sha256 = "WZEj+UuKhgJBM7auhND3uddk1wWdTY728jtiWVe7CSI="; + }) + ./qtwebkit.patch + ./qtwebkit-icu68.patch + ./qtwebkit-cstdint.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./qtwebkit-darwin-no-readline.patch + ./qtwebkit-darwin-no-qos-classes.patch + ]; qttools = [ ./qttools.patch ]; }; - addPackages = self: + addPackages = + self: let qtModule = callPackage ../qtModule.nix { inherit patches; # Use a variant of mkDerivation that does not include wrapQtApplications # to avoid cyclic dependencies between Qt modules. - mkDerivation = - (callPackage ../mkDerivation.nix { wrapQtAppsHook = null; }) stdenv.mkDerivation; + mkDerivation = (callPackage ../mkDerivation.nix { wrapQtAppsHook = null; }) stdenv.mkDerivation; }; - callPackage = self.newScope { inherit qtCompatVersion qtModule srcs stdenv; }; - in { + callPackage = self.newScope { + inherit + qtCompatVersion + qtModule + srcs + stdenv + ; + }; + in + { - inherit callPackage qtCompatVersion qtModule srcs; + inherit + callPackage + qtCompatVersion + qtModule + srcs + ; mkDerivationWith = callPackage ../mkDerivation.nix { }; @@ -239,48 +273,54 @@ let qtbase = callPackage ../modules/qtbase.nix { inherit (srcs.qtbase) src version; patches = patches.qtbase; - inherit bison cups harfbuzz libGL; - withGtk3 = !stdenv.hostPlatform.isDarwin; inherit dconf gtk3; + inherit + bison + cups + harfbuzz + libGL + ; + withGtk3 = !stdenv.hostPlatform.isDarwin; + inherit dconf gtk3; inherit developerBuild decryptSslTraffic; }; - qt3d = callPackage ../modules/qt3d.nix {}; - qtcharts = callPackage ../modules/qtcharts.nix {}; + qt3d = callPackage ../modules/qt3d.nix { }; + qtcharts = callPackage ../modules/qtcharts.nix { }; qtconnectivity = callPackage ../modules/qtconnectivity.nix { }; - qtdatavis3d = callPackage ../modules/qtdatavis3d.nix {}; - qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; - qtdoc = callPackage ../modules/qtdoc.nix {}; + qtdatavis3d = callPackage ../modules/qtdatavis3d.nix { }; + qtdeclarative = callPackage ../modules/qtdeclarative.nix { }; + qtdoc = callPackage ../modules/qtdoc.nix { }; qtgamepad = callPackage ../modules/qtgamepad.nix { }; - qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; - qtimageformats = callPackage ../modules/qtimageformats.nix {}; - qtlocation = callPackage ../modules/qtlocation.nix {}; - qtlottie = callPackage ../modules/qtlottie.nix {}; - qtmacextras = callPackage ../modules/qtmacextras.nix {}; + qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix { }; + qtimageformats = callPackage ../modules/qtimageformats.nix { }; + qtlocation = callPackage ../modules/qtlocation.nix { }; + qtlottie = callPackage ../modules/qtlottie.nix { }; + qtmacextras = callPackage ../modules/qtmacextras.nix { }; qtmultimedia = callPackage ../modules/qtmultimedia.nix { inherit gstreamer gst-plugins-base; }; - qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {}; - qtpim = callPackage ../modules/qtpim.nix {}; - qtpositioning = callPackage ../modules/qtpositioning.nix {}; + qtnetworkauth = callPackage ../modules/qtnetworkauth.nix { }; + qtpim = callPackage ../modules/qtpim.nix { }; + qtpositioning = callPackage ../modules/qtpositioning.nix { }; qtpurchasing = callPackage ../modules/qtpurchasing.nix { }; qtquick1 = null; qtquick3d = callPackage ../modules/qtquick3d.nix { }; - qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {}; - qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {}; - qtremoteobjects = callPackage ../modules/qtremoteobjects.nix {}; - qtscript = callPackage ../modules/qtscript.nix {}; - qtsensors = callPackage ../modules/qtsensors.nix {}; - qtserialbus = callPackage ../modules/qtserialbus.nix {}; - qtserialport = callPackage ../modules/qtserialport.nix {}; - qtspeech = callPackage ../modules/qtspeech.nix {}; - qtsvg = callPackage ../modules/qtsvg.nix {}; - qtsystems = callPackage ../modules/qtsystems.nix {}; - qtscxml = callPackage ../modules/qtscxml.nix {}; - qttools = callPackage ../modules/qttools.nix {}; - qttranslations = callPackage ../modules/qttranslations.nix {}; - qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {}; - qtwayland = callPackage ../modules/qtwayland.nix {}; - qtwebchannel = callPackage ../modules/qtwebchannel.nix {}; + qtquickcontrols = callPackage ../modules/qtquickcontrols.nix { }; + qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix { }; + qtremoteobjects = callPackage ../modules/qtremoteobjects.nix { }; + qtscript = callPackage ../modules/qtscript.nix { }; + qtsensors = callPackage ../modules/qtsensors.nix { }; + qtserialbus = callPackage ../modules/qtserialbus.nix { }; + qtserialport = callPackage ../modules/qtserialport.nix { }; + qtspeech = callPackage ../modules/qtspeech.nix { }; + qtsvg = callPackage ../modules/qtsvg.nix { }; + qtsystems = callPackage ../modules/qtsystems.nix { }; + qtscxml = callPackage ../modules/qtscxml.nix { }; + qttools = callPackage ../modules/qttools.nix { }; + qttranslations = callPackage ../modules/qttranslations.nix { }; + qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix { }; + qtwayland = callPackage ../modules/qtwayland.nix { }; + qtwebchannel = callPackage ../modules/qtwebchannel.nix { }; qtwebengine = callPackage ../modules/qtwebengine.nix { # The version of Chromium used by Qt WebEngine 5.15.x does not build with clang 16 due # to the following errors: @@ -296,41 +336,83 @@ let inherit (darwin) bootstrap_cmds; python = python3; }; - qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {}; + qtwebglplugin = callPackage ../modules/qtwebglplugin.nix { }; qtwebkit = callPackage ../modules/qtwebkit.nix { }; - qtwebsockets = callPackage ../modules/qtwebsockets.nix {}; + qtwebsockets = callPackage ../modules/qtwebsockets.nix { }; qtwebview = callPackage ../modules/qtwebview.nix { }; - qtx11extras = callPackage ../modules/qtx11extras.nix {}; - qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; + qtx11extras = callPackage ../modules/qtx11extras.nix { }; + qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix { }; - env = callPackage ../qt-env.nix {}; - full = callPackage ({ env, qtbase }: env "qt-full-${qtbase.version}") { } - # `with self` is ok to use here because having these spliced is unnecessary - (with self; [ - qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects - qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 - qtscript qtsensors qtserialport qtsvg qttools qttranslations - qtvirtualkeyboard qtwebchannel qtwebengine qtwebsockets - qtwebview qtx11extras qtxmlpatterns qtlottie qtdatavis3d - ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) qtwayland - ++ lib.optional (stdenv.hostPlatform.isDarwin) qtmacextras); + env = callPackage ../qt-env.nix { }; + full = + callPackage ({ env, qtbase }: env "qt-full-${qtbase.version}") { } + # `with self` is ok to use here because having these spliced is unnecessary + ( + with self; + [ + qt3d + qtcharts + qtconnectivity + qtdeclarative + qtdoc + qtgraphicaleffects + qtimageformats + qtlocation + qtmultimedia + qtquickcontrols + qtquickcontrols2 + qtscript + qtsensors + qtserialport + qtsvg + qttools + qttranslations + qtvirtualkeyboard + qtwebchannel + qtwebengine + qtwebsockets + qtwebview + qtx11extras + qtxmlpatterns + qtlottie + qtdatavis3d + ] + ++ lib.optional (!stdenv.hostPlatform.isDarwin) qtwayland + ++ lib.optional (stdenv.hostPlatform.isDarwin) qtmacextras + ); - qmake = callPackage ({ qtbase }: makeSetupHook { - name = "qmake-hook"; - ${if stdenv.buildPlatform == stdenv.hostPlatform - then "propagatedBuildInputs" - else "depsTargetTargetPropagated"} = [ qtbase.dev ]; - substitutions = { - inherit debug; - fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; - }; - } ../hooks/qmake-hook.sh) { }; + qmake = callPackage ( + { qtbase }: + makeSetupHook { + name = "qmake-hook"; + ${ + if stdenv.buildPlatform == stdenv.hostPlatform then + "propagatedBuildInputs" + else + "depsTargetTargetPropagated" + } = + [ qtbase.dev ]; + substitutions = { + inherit debug; + fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; + }; + } ../hooks/qmake-hook.sh + ) { }; - wrapQtAppsHook = callPackage ({ makeBinaryWrapper, qtbase, qtwayland }: makeSetupHook { - name = "wrap-qt5-apps-hook"; - propagatedBuildInputs = [ qtbase.dev makeBinaryWrapper ] - ++ lib.optional stdenv.hostPlatform.isLinux qtwayland.dev; - } ../hooks/wrap-qt-apps-hook.sh) { }; + wrapQtAppsHook = callPackage ( + { + makeBinaryWrapper, + qtbase, + qtwayland, + }: + makeSetupHook { + name = "wrap-qt5-apps-hook"; + propagatedBuildInputs = [ + qtbase.dev + makeBinaryWrapper + ] ++ lib.optional stdenv.hostPlatform.isLinux qtwayland.dev; + } ../hooks/wrap-qt-apps-hook.sh + ) { }; }; baseScope = makeScopeWithSplicing' { @@ -338,17 +420,20 @@ let f = addPackages; }; - bootstrapScope = baseScope.overrideScope(final: prev: { - qtbase = prev.qtbase.override { qttranslations = null; }; - qtdeclarative = null; - }); + bootstrapScope = baseScope.overrideScope ( + final: prev: { + qtbase = prev.qtbase.override { qttranslations = null; }; + qtdeclarative = null; + } + ); - finalScope = baseScope.overrideScope(final: prev: { - # qttranslations causes eval-time infinite recursion when - # cross-compiling; disabled for now. - qttranslations = - if stdenv.buildPlatform == stdenv.hostPlatform - then bootstrapScope.qttranslations - else null; - }); -in finalScope + finalScope = baseScope.overrideScope ( + final: prev: { + # qttranslations causes eval-time infinite recursion when + # cross-compiling; disabled for now. + qttranslations = + if stdenv.buildPlatform == stdenv.hostPlatform then bootstrapScope.qttranslations else null; + } + ); +in +finalScope diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix index 8de92625f8a51..b94e400bdf7b5 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix @@ -1,19 +1,22 @@ -{ lib, fetchgit, fetchFromGitHub }: +{ + lib, + fetchgit, + fetchFromGitHub, +}: let version = "5.15.15"; - mk = name: args: - { - inherit version; - src = fetchgit { - inherit (args) url rev sha256; - fetchLFS = false; - fetchSubmodules = true; - deepClone = false; - leaveDotGit = false; - }; + mk = name: args: { + inherit version; + src = fetchgit { + inherit (args) url rev sha256; + fetchLFS = false; + fetchSubmodules = true; + deepClone = false; + leaveDotGit = false; }; + }; in lib.mapAttrs mk (lib.importJSON ./srcs-generated.json) // { diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix index a90e229e688d0..1bcba44204eb0 100644 --- a/pkgs/development/libraries/qt-5/mkDerivation.nix +++ b/pkgs/development/libraries/qt-5/mkDerivation.nix @@ -7,7 +7,7 @@ args: let args_ = { - nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ wrapQtAppsHook ]; + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ wrapQtAppsHook ]; }; in diff --git a/pkgs/development/libraries/qt-5/modules/qt3d.nix b/pkgs/development/libraries/qt-5/modules/qt3d.nix index c54f4b7d7b48e..f8fd88c1fc809 100644 --- a/pkgs/development/libraries/qt-5/modules/qt3d.nix +++ b/pkgs/development/libraries/qt-5/modules/qt3d.nix @@ -1,9 +1,24 @@ -{ lib, stdenv, qtModule, qtbase, qtdeclarative }: +{ + lib, + stdenv, + qtModule, + qtbase, + qtdeclarative, +}: qtModule { pname = "qt3d"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; - outputs = [ "out" "dev" "bin" ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; + outputs = [ + "out" + "dev" + "bin" + ]; # error: use of undeclared identifier 'stat64' - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "-Dstat64=stat"; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 + ) "-Dstat64=stat"; } diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 49912da2b1678..77c435f2e36a2 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -1,42 +1,91 @@ -{ stdenv, lib -, src, patches, version, qtCompatVersion - -, coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3 -, which +{ + stdenv, + lib, + src, + patches, + version, + qtCompatVersion, + + coreutils, + bison, + flex, + gdb, + gperf, + lndir, + perl, + pkg-config, + python3, + which, # darwin support -, apple-sdk_13, darwinMinVersionHook, xcbuild - -, dbus, fontconfig, freetype, glib, harfbuzz, icu, libdrm, libX11, libXcomposite -, libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng , libxcb -, libxkbcommon, libxml2, libxslt, openssl, pcre2, sqlite, udev, xcbutil -, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm , zlib, at-spi2-core + apple-sdk_13, + darwinMinVersionHook, + xcbuild, + + dbus, + fontconfig, + freetype, + glib, + harfbuzz, + icu, + libdrm, + libX11, + libXcomposite, + libXcursor, + libXext, + libXi, + libXrender, + libinput, + libjpeg, + libpng, + libxcb, + libxkbcommon, + libxml2, + libxslt, + openssl, + pcre2, + sqlite, + udev, + xcbutil, + xcbutilimage, + xcbutilkeysyms, + xcbutilrenderutil, + xcbutilwm, + zlib, + at-spi2-core, # optional dependencies -, cups ? null, postgresql ? null -, withGtk3 ? false, dconf, gtk3 -, withQttranslation ? true, qttranslations ? null + cups ? null, + postgresql ? null, + withGtk3 ? false, + dconf, + gtk3, + withQttranslation ? true, + qttranslations ? null, # options -, libGLSupported ? !stdenv.hostPlatform.isDarwin -, libGL + libGLSupported ? !stdenv.hostPlatform.isDarwin, + libGL, # qmake detection for libmysqlclient does not seem to work when cross compiling -, mysqlSupport ? stdenv.hostPlatform == stdenv.buildPlatform -, libmysqlclient -, buildExamples ? false -, buildTests ? false -, debug ? false -, developerBuild ? false -, decryptSslTraffic ? false -, testers -, buildPackages + mysqlSupport ? stdenv.hostPlatform == stdenv.buildPlatform, + libmysqlclient, + buildExamples ? false, + buildTests ? false, + debug ? false, + developerBuild ? false, + decryptSslTraffic ? false, + testers, + buildPackages, }: let debugSymbols = debug || developerBuild; - qtPlatformCross = plat: with plat; - if isLinux - then "linux-generic-g++" - else throw "Please add a qtPlatformCross entry for ${plat.config}"; + qtPlatformCross = + plat: + with plat; + if isLinux then + "linux-generic-g++" + else + throw "Please add a qtPlatformCross entry for ${plat.config}"; # Per https://doc.qt.io/qt-5/macos.html#supported-versions: deployment target = 10.13, build SDK = 13.x or 14.x. # Despite advertising support for the macOS 14 SDK, the build system sets the maximum to 13 and complains @@ -48,395 +97,503 @@ let ]; in -stdenv.mkDerivation (finalAttrs: ({ - pname = "qtbase"; - inherit qtCompatVersion src version; - debug = debugSymbols; - - propagatedBuildInputs = [ - libxml2 libxslt openssl sqlite zlib - - # Text rendering - harfbuzz icu - - # Image formats - libjpeg libpng - pcre2 - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) ( - [ - dbus glib udev - - # Text rendering - fontconfig freetype - - libdrm - - # X11 libs - libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil - xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm - ] ++ lib.optional libGLSupported libGL - ); - - buildInputs = [ python3 at-spi2-core ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) - ( - [ libinput ] - ++ lib.optional withGtk3 gtk3 - ) - ++ lib.optional stdenv.hostPlatform.isDarwin darwinVersionInputs - ++ lib.optional developerBuild gdb - ++ lib.optional (cups != null) cups - ++ lib.optional (mysqlSupport) libmysqlclient - ++ lib.optional (postgresql != null) postgresql; - - nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; - - } // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { - # `qtbase` expects to find `cc` (with no prefix) in the - # `$PATH`, so the following is needed even if - # `stdenv.buildPlatform.canExecute stdenv.hostPlatform` - depsBuildBuild = [ buildPackages.stdenv.cc ]; - } // { - - propagatedNativeBuildInputs = [ lndir ]; - - # libQt5Core links calls CoreFoundation APIs that call into the system ICU. Binaries linked - # against it will crash during build unless they can access `/usr/share/icu/icudtXXl.dat`. - propagatedSandboxProfile = lib.optionalString stdenv.hostPlatform.isDarwin '' - (allow file-read* (subpath "/usr/share/icu")) - ''; - - enableParallelBuilding = true; - - outputs = [ "bin" "dev" "out" ]; - - inherit patches; - - fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; - fix_qt_module_paths = ../hooks/fix-qt-module-paths.sh; - preHook = '' - . "$fix_qt_builtin_paths" - . "$fix_qt_module_paths" - . ${../hooks/move-qt-dev-tools.sh} - . ${../hooks/fix-qmake-libtool.sh} - ''; - - postPatch = '' - for prf in qml_plugin.prf qt_plugin.prf qt_docs.prf qml_module.prf create_cmake.prf; do - substituteInPlace "mkspecs/features/$prf" \ - --subst-var qtPluginPrefix \ - --subst-var qtQmlPrefix \ - --subst-var qtDocPrefix - done - - substituteInPlace configure --replace /bin/pwd pwd - substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls - sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i mkspecs/*/*.conf - - sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5Config.cmake.in - sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake - sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in - sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in - - # https://bugs.gentoo.org/803470 - sed -i 's/-lpthread/-pthread/' mkspecs/common/linux.conf src/corelib/configure.json - - patchShebangs ./bin - '' + ( - if stdenv.hostPlatform.isDarwin then '' - for file in \ - configure \ - mkspecs/features/mac/asset_catalogs.prf \ - mkspecs/features/mac/default_pre.prf \ - mkspecs/features/mac/sdk.mk \ - mkspecs/features/mac/sdk.prf - do - substituteInPlace "$file" \ - --replace-quiet /usr/bin/xcode-select '${lib.getExe' xcbuild "xcode-select"}' \ - --replace-quiet /usr/bin/xcrun '${lib.getExe' xcbuild "xcrun"}' \ - --replace-quiet /usr/libexec/PlistBuddy '${lib.getExe' xcbuild "PlistBuddy"}' - done - - substituteInPlace configure \ - --replace-fail /System/Library/Frameworks/Cocoa.framework "$SDKROOT/System/Library/Frameworks/Cocoa.framework" - - substituteInPlace mkspecs/common/macx.conf \ - --replace-fail 'CONFIG += ' 'CONFIG += no_default_rpath ' \ - --replace-fail \ - 'QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13' \ - 'QMAKE_MACOSX_DEPLOYMENT_TARGET = ${deploymentTarget}' - '' else lib.optionalString libGLSupported '' - sed -i mkspecs/common/linux.conf \ - -e "/^QMAKE_INCDIR_OPENGL/ s|$|${lib.getDev libGL}/include|" \ - -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${lib.getLib libGL}/lib|" - '' + lib.optionalString (stdenv.hostPlatform.isx86_32 && stdenv.cc.isGNU) '' - sed -i mkspecs/common/gcc-base-unix.conf \ - -e "/^QMAKE_LFLAGS_SHLIB/ s/-shared/-shared -static-libgcc/" - '' - ); - - qtPluginPrefix = "lib/qt-${qtCompatVersion}/plugins"; - qtQmlPrefix = "lib/qt-${qtCompatVersion}/qml"; - qtDocPrefix = "share/doc/qt-${qtCompatVersion}"; - - setOutputFlags = false; - preConfigure = '' - export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" - - NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\"" - - # paralellize compilation of qtmake, which happens within ./configure - export MAKEFLAGS+=" -j$NIX_BUILD_CORES" - - ./bin/syncqt.pl -version $version - '' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - # QT's configure script will refuse to use pkg-config unless these two environment variables are set - export PKG_CONFIG_SYSROOT_DIR=/ - export PKG_CONFIG_LIBDIR=${lib.getLib pkg-config}/lib - echo "QMAKE_LFLAGS=''${LDFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf - echo "QMAKE_CFLAGS=''${CFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf - echo "QMAKE_CXXFLAGS=''${CXXFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf - ''; - - postConfigure = '' - qmakeCacheInjectNixOutputs() { - local cache="$1/.qmake.stash" - echo "qmakeCacheInjectNixOutputs: $cache" - if ! [ -f "$cache" ]; then - echo >&2 "qmakeCacheInjectNixOutputs: WARNING: $cache does not exist" - fi - cat >>"$cache" <> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf + echo "QMAKE_CFLAGS=''${CFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf + echo "QMAKE_CXXFLAGS=''${CXXFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf + ''; + + postConfigure = '' + qmakeCacheInjectNixOutputs() { + local cache="$1/.qmake.stash" + echo "qmakeCacheInjectNixOutputs: $cache" + if ! [ -f "$cache" ]; then + echo >&2 "qmakeCacheInjectNixOutputs: WARNING: $cache does not exist" + fi + cat >>"$cache" <> src/core/config/mac_osx.pri + echo "LIBS += -lavformat -lavcodec -lavutil" >> src/core/core_common.pri + '') + + postPatch; + + env = + { + NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "-w " + ] + ++ lib.optionals stdenv.cc.isGNU [ + # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit + "-Wno-class-memaccess" + ] + ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [ + # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940 + # TODO: investigate and fix properly + "-march=westmere" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-elaborated-enum-base" + ] + ); } - patch -p1 < ${ - (fetchpatch { # support for building with python 3.12 - name = "python312-six.patch"; - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/raw/6b0c0e76e0934db2f84be40cb5978cee47266e78/python3.12-six.patch"; - hash = "sha256-YgP9Sq5+zTC+U7+0hQjZokwb+fytk0UEIJztUXFhTkI="; - }) - } - - # Manually fix unsupported shebangs - substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ - --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true - - # TODO: be more precise - patchShebangs . - ) - '' - # Prevent Chromium build script from making the path to `clang` relative to - # the build directory. `clang_base_path` is the value of `QMAKE_CLANG_DIR` - # from `src/core/config/mac_osx.pri`. - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace ./src/3rdparty/chromium/build/toolchain/mac/BUILD.gn \ - --replace 'prefix = rebase_path("$clang_base_path/bin/", root_build_dir)' 'prefix = "$clang_base_path/bin/"' - '' - # Patch library paths in Qt sources - + '' - sed -i \ - -e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \ - -e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \ - -e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \ - src/core/web_engine_library_info.cpp - '' - # Patch library paths in Chromium sources - + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \ - src/3rdparty/chromium/device/udev_linux/udev?_loader.cc - - sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \ - src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc - '' + lib.optionalString stdenv.hostPlatform.isDarwin ('' - substituteInPlace src/buildtools/config/mac_osx.pri \ - --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"' - - # Use system ffmpeg - echo "gn_args += use_system_ffmpeg=true" >> src/core/config/mac_osx.pri - echo "LIBS += -lavformat -lavcodec -lavutil" >> src/core/core_common.pri - '') + postPatch; - - env = { - NIX_CFLAGS_COMPILE = - toString ( - lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-w " - ] ++ lib.optionals stdenv.cc.isGNU [ - # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit - "-Wno-class-memaccess" - ] ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [ - # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940 - # TODO: investigate and fix properly - "-march=westmere" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-elaborated-enum-base" - ]); - } // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { - NIX_CFLAGS_LINK = "-Wl,--no-warn-search-mismatch"; - "NIX_CFLAGS_LINK_${buildPackages.stdenv.cc.suffixSalt}" = "-Wl,--no-warn-search-mismatch"; - }; - - preConfigure = '' - export NINJAFLAGS=-j$NIX_BUILD_CORES - - if [ -d "$PWD/tools/qmake" ]; then - QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH" - fi - '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - export QMAKE_CC=$CC - export QMAKE_CXX=$CXX - export QMAKE_LINK=$CXX - export QMAKE_AR=$AR - ''; - - qmakeFlags = [ "--" "-system-ffmpeg" ] - ++ lib.optional (pipewireSupport && stdenv.buildPlatform == stdenv.hostPlatform) "-webengine-webrtc-pipewire" - ++ lib.optional enableProprietaryCodecs "-proprietary-codecs"; - - propagatedBuildInputs = [ - qtdeclarative qtquickcontrols qtlocation qtwebchannel - - # Image formats - libjpeg libpng libtiff libwebp - - # Video formats - srtp libvpx - - # Audio formats - libopus - - # Text rendering - harfbuzz icu - - libevent - ffmpeg - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - dbus zlib minizip snappy nss protobuf jsoncpp - - # Audio formats - alsa-lib - pulseaudio - - # Text rendering - fontconfig freetype - - libcap - pciutils - - # X11 libs - xorg.xrandr libXScrnSaver libXcursor libXrandr xorg.libpciaccess libXtst - xorg.libXcomposite xorg.libXdamage libdrm xorg.libxkbfile - - ] ++ lib.optionals pipewireSupport [ - # Pipewire - pipewire - ] - - # FIXME These dependencies shouldn't be needed but can't find a way - # around it. Chromium pulls this in while bootstrapping GN. - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools.libtool ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - cups - - # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py` - # to get some information about the host platform. - (writeScriptBin "sw_vers" '' - #!${stdenv.shell} - - while [ $# -gt 0 ]; do - case "$1" in - -buildVersion) echo "17E199";; - *) break ;; - - esac - shift - done - '') - ]; - - dontUseNinjaBuild = true; - dontUseNinjaInstall = true; - - postInstall = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - mkdir -p $out/libexec - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - cat > $out/libexec/qt.conf < $out/libexec/qt.conf </dev/null \ - && ! grep -q -F "''${version%%-*}" .qmake.conf 2>/dev/null - then - echo >&2 "error: could not find version ''${version%%-*} in .qmake.conf" - echo >&2 "hint: check .qmake.conf and update the package version in Nixpkgs" - exit 1 - fi - - if [[ -z "$dontSyncQt" && -f sync.profile ]]; then - syncqt.pl -version "''${version%%-*}" - fi - ''; - - dontWrapQtApps = args.dontWrapQtApps or true; - - postFixup = '' - if [ -d "''${!outputDev}/lib/pkgconfig" ]; then - find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do - sed -i "$pc" \ - -e "/^prefix=/ c prefix=''${!outputLib}" \ - -e "/^exec_prefix=/ c exec_prefix=''${!outputBin}" \ - -e "/^includedir=/ c includedir=''${!outputDev}/include" - done - fi - - moveQtDevTools - - ${args.postFixup or ""} - ''; - - meta = { - homepage = "https://www.qt.io"; - description = "Cross-platform application framework for C++"; - license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ]; - maintainers = with maintainers; [ qknight ttuegel periklis bkchr ]; - platforms = platforms.unix; - } // (args.meta or {}); -}) +mkDerivation ( + args + // { + inherit pname version src; + patches = (args.patches or [ ]) ++ (patches.${pname} or [ ]); + + buildInputs = + args.buildInputs or [ ] + # Per https://doc.qt.io/qt-5/macos.html#supported-versions + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_13 + (darwinMinVersionHook "10.13") + ]; + + nativeBuildInputs = + (args.nativeBuildInputs or [ ]) + ++ [ + perl + qmake + ] + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + pkgsHostTarget.qt5.qtbase.dev + ]; + propagatedBuildInputs = + (lib.warnIf (args ? qtInputs) "qt5.qtModule's qtInputs argument is deprecated" args.qtInputs or [ ]) + ++ (args.propagatedBuildInputs or [ ]); + } + // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { + depsBuildBuild = [ buildPackages.stdenv.cc ] ++ (args.depsBuildBuild or [ ]); + } + // { + + outputs = + args.outputs or [ + "out" + "dev" + ]; + setOutputFlags = args.setOutputFlags or false; + + preHook = '' + . ${./hooks/move-qt-dev-tools.sh} + . ${./hooks/fix-qt-builtin-paths.sh} + ''; + + preConfigure = + '' + ${args.preConfigure or ""} + + fixQtBuiltinPaths . '*.pr?' + '' + + + lib.optionalString (builtins.compareVersions "5.15.0" version <= 0) + # Note: We use ${version%%-*} to remove any tag from the end of the version + # string. Version tags are added by Nixpkgs maintainers and not reflected in + # the source version. + '' + if [[ -z "$dontCheckQtModuleVersion" ]] \ + && grep -q '^MODULE_VERSION' .qmake.conf 2>/dev/null \ + && ! grep -q -F "''${version%%-*}" .qmake.conf 2>/dev/null + then + echo >&2 "error: could not find version ''${version%%-*} in .qmake.conf" + echo >&2 "hint: check .qmake.conf and update the package version in Nixpkgs" + exit 1 + fi + + if [[ -z "$dontSyncQt" && -f sync.profile ]]; then + syncqt.pl -version "''${version%%-*}" + fi + ''; + + dontWrapQtApps = args.dontWrapQtApps or true; + + postFixup = '' + if [ -d "''${!outputDev}/lib/pkgconfig" ]; then + find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do + sed -i "$pc" \ + -e "/^prefix=/ c prefix=''${!outputLib}" \ + -e "/^exec_prefix=/ c exec_prefix=''${!outputBin}" \ + -e "/^includedir=/ c includedir=''${!outputDev}/include" + done + fi + + moveQtDevTools + + ${args.postFixup or ""} + ''; + + meta = { + homepage = "https://www.qt.io"; + description = "Cross-platform application framework for C++"; + license = with licenses; [ + fdl13Plus + gpl2Plus + lgpl21Plus + lgpl3Plus + ]; + maintainers = with maintainers; [ + qknight + ttuegel + periklis + bkchr + ]; + platforms = platforms.unix; + } // (args.meta or { }); + } +) diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 96a498c5f195f..bfa2de2e529ab 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -1,21 +1,22 @@ -{ newScope -, lib -, stdenv -, generateSplicesForMkScope -, makeScopeWithSplicing' -, fetchurl -, fetchpatch2 -, makeSetupHook -, makeWrapper -, runCommand -, gst_all_1 -, libglvnd -, darwin -, apple-sdk_15 -, darwinMinVersionHook -, buildPackages -, python3 -, config +{ + newScope, + lib, + stdenv, + generateSplicesForMkScope, + makeScopeWithSplicing', + fetchurl, + fetchpatch2, + makeSetupHook, + makeWrapper, + runCommand, + gst_all_1, + libglvnd, + darwin, + apple-sdk_15, + darwinMinVersionHook, + buildPackages, + python3, + config, }: let @@ -24,7 +25,8 @@ let mirror = "mirror://qt"; }; - addPackages = self: + addPackages = + self: let callPackage = self.newScope ({ inherit (self) qtModule; @@ -39,14 +41,17 @@ let (darwinMinVersionHook "12.0") ]; - onlyPluginsAndQml = drv: let - drv' = drv.__spliced.targetTarget or drv; - inherit (self.qtbase) qtPluginPrefix qtQmlPrefix; - in (runCommand "${drv'.name}-only-plugins-qml" { } '' + onlyPluginsAndQml = + drv: + let + drv' = drv.__spliced.targetTarget or drv; + inherit (self.qtbase) qtPluginPrefix qtQmlPrefix; + in + (runCommand "${drv'.name}-only-plugins-qml" { } '' mkdir -p $(dirname "$out/${qtPluginPrefix}") test -d "${drv'}/${qtPluginPrefix}" && ln -s "${drv'}/${qtPluginPrefix}" "$out/${qtPluginPrefix}" || true test -d "${drv'}/${qtQmlPrefix}" && ln -s "${drv'}/${qtQmlPrefix}" "$out/${qtQmlPrefix}" || true - ''); + ''); in { @@ -86,49 +91,57 @@ let ]; }; env = callPackage ./qt-env.nix { }; - full = callPackage - ({ env, qtbase }: env "qt-full-${qtbase.version}" + full = callPackage ( + { env, qtbase }: + env "qt-full-${qtbase.version}" # `with self` is ok to use here because having these spliced is unnecessary - (with self;[ - qt3d - qt5compat - qtcharts - qtconnectivity - qtdatavis3d - qtdeclarative - qtdoc - qtgraphs - qtgrpc - qthttpserver - qtimageformats - qtlanguageserver - qtlocation - qtlottie - qtmultimedia - qtmqtt - qtnetworkauth - qtpositioning - qtsensors - qtserialbus - qtserialport - qtshadertools - qtspeech - qtquick3d - qtquick3dphysics - qtquickeffectmaker - qtquicktimeline - qtremoteobjects - qtsvg - qtscxml - qttools - qttranslations - qtvirtualkeyboard - qtwebchannel - qtwebengine - qtwebsockets - qtwebview - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ qtwayland libglvnd ])) - { }; + ( + with self; + [ + qt3d + qt5compat + qtcharts + qtconnectivity + qtdatavis3d + qtdeclarative + qtdoc + qtgraphs + qtgrpc + qthttpserver + qtimageformats + qtlanguageserver + qtlocation + qtlottie + qtmultimedia + qtmqtt + qtnetworkauth + qtpositioning + qtsensors + qtserialbus + qtserialport + qtshadertools + qtspeech + qtquick3d + qtquick3dphysics + qtquickeffectmaker + qtquicktimeline + qtremoteobjects + qtsvg + qtscxml + qttools + qttranslations + qtvirtualkeyboard + qtwebchannel + qtwebengine + qtwebsockets + qtwebview + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + qtwayland + libglvnd + ] + ) + ) { }; qt3d = callPackage ./modules/qt3d.nix { }; qt5compat = callPackage ./modules/qt5compat.nix { }; @@ -145,7 +158,13 @@ let qtlocation = callPackage ./modules/qtlocation.nix { }; qtlottie = callPackage ./modules/qtlottie.nix { }; qtmultimedia = callPackage ./modules/qtmultimedia.nix { - inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi; + inherit (gst_all_1) + gstreamer + gst-plugins-base + gst-plugins-good + gst-libav + gst-vaapi + ; }; qtmqtt = callPackage ./modules/qtmqtt.nix { }; qtnetworkauth = callPackage ./modules/qtnetworkauth.nix { }; @@ -173,41 +192,46 @@ let qtwebsockets = callPackage ./modules/qtwebsockets.nix { }; qtwebview = callPackage ./modules/qtwebview.nix { }; - wrapQtAppsHook = callPackage - ({ makeBinaryWrapper, qtwayland, qtbase }: - makeSetupHook - { - name = "wrap-qt6-apps-hook"; - propagatedBuildInputs = [ makeBinaryWrapper ]; - depsTargetTargetPropagated = [ + wrapQtAppsHook = callPackage ( + { + makeBinaryWrapper, + qtwayland, + qtbase, + }: + makeSetupHook { + name = "wrap-qt6-apps-hook"; + propagatedBuildInputs = [ makeBinaryWrapper ]; + depsTargetTargetPropagated = + [ (onlyPluginsAndQml qtbase) - ] ++ lib.optionals (lib.meta.availableOn stdenv.targetPlatform qtwayland) [ + ] + ++ lib.optionals (lib.meta.availableOn stdenv.targetPlatform qtwayland) [ (onlyPluginsAndQml qtwayland) ]; - } ./hooks/wrap-qt-apps-hook.sh) - { }; + } ./hooks/wrap-qt-apps-hook.sh + ) { }; - wrapQtAppsNoGuiHook = callPackage - ({ makeBinaryWrapper, qtbase }: makeSetupHook - { - name = "wrap-qt6-apps-no-gui-hook"; - propagatedBuildInputs = [ makeBinaryWrapper ]; - depsTargetTargetPropagated = [ - (onlyPluginsAndQml qtbase) - ]; - } ./hooks/wrap-qt-apps-hook.sh) - { }; + wrapQtAppsNoGuiHook = callPackage ( + { makeBinaryWrapper, qtbase }: + makeSetupHook { + name = "wrap-qt6-apps-no-gui-hook"; + propagatedBuildInputs = [ makeBinaryWrapper ]; + depsTargetTargetPropagated = [ + (onlyPluginsAndQml qtbase) + ]; + } ./hooks/wrap-qt-apps-hook.sh + ) { }; - qmake = callPackage - ({ qtbase }: makeSetupHook - { - name = "qmake6-hook"; - propagatedBuildInputs = [ qtbase.dev ]; - substitutions = { - fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh; - }; - } ./hooks/qmake-hook.sh) - { }; + qmake = callPackage ( + { qtbase }: + makeSetupHook { + name = "qmake6-hook"; + propagatedBuildInputs = [ qtbase.dev ]; + substitutions = { + fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh; + }; + } ./hooks/qmake-hook.sh + ) { }; }; baseScope = makeScopeWithSplicing' { @@ -215,13 +239,17 @@ let f = addPackages; }; - bootstrapScope = baseScope.overrideScope (final: prev: { - qtbase = prev.qtbase.override { qttranslations = null; }; - qtdeclarative = null; - }); + bootstrapScope = baseScope.overrideScope ( + final: prev: { + qtbase = prev.qtbase.override { qttranslations = null; }; + qtdeclarative = null; + } + ); - finalScope = baseScope.overrideScope (final: prev: { - qttranslations = bootstrapScope.qttranslations; - }); + finalScope = baseScope.overrideScope ( + final: prev: { + qttranslations = bootstrapScope.qttranslations; + } + ); in finalScope diff --git a/pkgs/development/libraries/qt-6/modules/qt3d.nix b/pkgs/development/libraries/qt-6/modules/qt3d.nix index f1df7f6fc254f..4260bf3979a48 100644 --- a/pkgs/development/libraries/qt-6/modules/qt3d.nix +++ b/pkgs/development/libraries/qt-6/modules/qt3d.nix @@ -1,11 +1,17 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtmultimedia -, assimp +{ + qtModule, + qtbase, + qtdeclarative, + qtmultimedia, + assimp, }: qtModule { pname = "qt3d"; - propagatedBuildInputs = [ qtbase qtdeclarative qtmultimedia assimp ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + qtmultimedia + assimp + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qt5compat.nix b/pkgs/development/libraries/qt-6/modules/qt5compat.nix index d2049d7fc3e5b..333f66e16a33d 100644 --- a/pkgs/development/libraries/qt-6/modules/qt5compat.nix +++ b/pkgs/development/libraries/qt-6/modules/qt5compat.nix @@ -1,13 +1,21 @@ -{ qtModule -, qtbase -, qtdeclarative -, libiconv -, icu -, openssl +{ + qtModule, + qtbase, + qtdeclarative, + libiconv, + icu, + openssl, }: qtModule { pname = "qt5compat"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; - buildInputs = [ libiconv icu openssl ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; + buildInputs = [ + libiconv + icu + openssl + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix index 9df79ccc89be8..90a09ad165f12 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix @@ -1,87 +1,88 @@ -{ stdenv -, lib -, src -, patches ? [ ] -, version -, bison -, flex -, gperf -, lndir -, perl -, pkg-config -, which -, cmake -, ninja -, xmlstarlet -, libproxy -, xorg -, zstd -, double-conversion -, util-linux -, systemd -, systemdSupport ? stdenv.hostPlatform.isLinux -, libb2 -, md4c -, mtdev -, lksctp-tools -, libselinux -, libsepol -, vulkan-headers -, vulkan-loader -, libthai -, libdrm -, libdatrie -, lttng-ust -, libepoxy -, dbus -, fontconfig -, freetype -, glib -, harfbuzz -, icu -, libX11 -, libXcomposite -, libXext -, libXi -, libXrender -, libinput -, libjpeg -, libpng -, libxcb -, libxkbcommon -, libxml2 -, libxslt -, openssl -, pcre -, pcre2 -, sqlite -, udev -, xcbutil -, xcbutilimage -, xcbutilkeysyms -, xcbutilrenderutil -, xcbutilwm -, zlib -, at-spi2-core -, unixODBC -, unixODBCDrivers +{ + stdenv, + lib, + src, + patches ? [ ], + version, + bison, + flex, + gperf, + lndir, + perl, + pkg-config, + which, + cmake, + ninja, + xmlstarlet, + libproxy, + xorg, + zstd, + double-conversion, + util-linux, + systemd, + systemdSupport ? stdenv.hostPlatform.isLinux, + libb2, + md4c, + mtdev, + lksctp-tools, + libselinux, + libsepol, + vulkan-headers, + vulkan-loader, + libthai, + libdrm, + libdatrie, + lttng-ust, + libepoxy, + dbus, + fontconfig, + freetype, + glib, + harfbuzz, + icu, + libX11, + libXcomposite, + libXext, + libXi, + libXrender, + libinput, + libjpeg, + libpng, + libxcb, + libxkbcommon, + libxml2, + libxslt, + openssl, + pcre, + pcre2, + sqlite, + udev, + xcbutil, + xcbutilimage, + xcbutilkeysyms, + xcbutilrenderutil, + xcbutilwm, + zlib, + at-spi2-core, + unixODBC, + unixODBCDrivers, # darwin -, moveBuildTree -, darwinVersionInputs -, xcbuild + moveBuildTree, + darwinVersionInputs, + xcbuild, # mingw -, pkgsBuildBuild + pkgsBuildBuild, # optional dependencies -, cups -, libmysqlclient -, postgresql -, withGtk3 ? false -, dconf -, gtk3 + cups, + libmysqlclient, + postgresql, + withGtk3 ? false, + dconf, + gtk3, # options -, libGLSupported ? stdenv.hostPlatform.isLinux -, libGL -, qttranslations ? null + libGLSupported ? stdenv.hostPlatform.isLinux, + libGL, + qttranslations ? null, }: let @@ -92,88 +93,111 @@ stdenv.mkDerivation rec { inherit src version; - propagatedBuildInputs = [ - libxml2 - libxslt - openssl - sqlite - zlib - # Text rendering - harfbuzz - icu - # Image formats - libjpeg - libpng - pcre2 - pcre - zstd - libb2 - md4c - double-conversion - ] ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ - libproxy - dbus - glib - # unixODBC drivers - unixODBC - unixODBCDrivers.psql - unixODBCDrivers.sqlite - unixODBCDrivers.mariadb - ] ++ lib.optionals systemdSupport [ - systemd - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - util-linux - mtdev - lksctp-tools - libselinux - libsepol - lttng-ust - vulkan-headers - vulkan-loader - libthai - libdrm - libdatrie - udev - # Text rendering - fontconfig - freetype - # X11 libs - libX11 - libXcomposite - libXext - libXi - libXrender - libxcb - libxkbcommon - xcbutil - xcbutilimage - xcbutilkeysyms - xcbutilrenderutil - xcbutilwm - xorg.libXdmcp - xorg.libXtst - xorg.xcbutilcursor - libepoxy - ] ++ lib.optionals libGLSupported [ - libGL - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - vulkan-headers - vulkan-loader - ] ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups; + propagatedBuildInputs = + [ + libxml2 + libxslt + openssl + sqlite + zlib + # Text rendering + harfbuzz + icu + # Image formats + libjpeg + libpng + pcre2 + pcre + zstd + libb2 + md4c + double-conversion + ] + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ + libproxy + dbus + glib + # unixODBC drivers + unixODBC + unixODBCDrivers.psql + unixODBCDrivers.sqlite + unixODBCDrivers.mariadb + ] + ++ lib.optionals systemdSupport [ + systemd + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + util-linux + mtdev + lksctp-tools + libselinux + libsepol + lttng-ust + vulkan-headers + vulkan-loader + libthai + libdrm + libdatrie + udev + # Text rendering + fontconfig + freetype + # X11 libs + libX11 + libXcomposite + libXext + libXi + libXrender + libxcb + libxkbcommon + xcbutil + xcbutilimage + xcbutilkeysyms + xcbutilrenderutil + xcbutilwm + xorg.libXdmcp + xorg.libXtst + xorg.xcbutilcursor + libepoxy + ] + ++ lib.optionals libGLSupported [ + libGL + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + vulkan-headers + vulkan-loader + ] + ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups; - buildInputs = lib.optionals (lib.meta.availableOn stdenv.hostPlatform at-spi2-core) [ - at-spi2-core - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libinput) [ - libinput - ] ++ lib.optionals stdenv.hostPlatform.isDarwin darwinVersionInputs - ++ lib.optional withGtk3 gtk3 - ++ lib.optional (libmysqlclient != null && !stdenv.hostPlatform.isMinGW) libmysqlclient - ++ lib.optional (postgresql != null && lib.meta.availableOn stdenv.hostPlatform postgresql) postgresql; + buildInputs = + lib.optionals (lib.meta.availableOn stdenv.hostPlatform at-spi2-core) [ + at-spi2-core + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libinput) [ + libinput + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin darwinVersionInputs + ++ lib.optional withGtk3 gtk3 + ++ lib.optional (libmysqlclient != null && !stdenv.hostPlatform.isMinGW) libmysqlclient + ++ lib.optional ( + postgresql != null && lib.meta.availableOn stdenv.hostPlatform postgresql + ) postgresql; - nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; + nativeBuildInputs = [ + bison + flex + gperf + lndir + perl + pkg-config + which + cmake + xmlstarlet + ninja + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; - propagatedNativeBuildInputs = [ lndir ] + propagatedNativeBuildInputs = + [ lndir ] # I’m not sure if this is necessary, but the macOS mkspecs stuff # tries to call `xcrun xcodebuild`, so better safe than sorry. ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; @@ -215,41 +239,52 @@ stdenv.mkDerivation rec { qtPluginPrefix = "lib/qt-6/plugins"; qtQmlPrefix = "lib/qt-6/qml"; - cmakeFlags = [ - "-DQT_EMBED_TOOLCHAIN_COMPILER=OFF" - "-DINSTALL_PLUGINSDIR=${qtPluginPrefix}" - "-DINSTALL_QMLDIR=${qtQmlPrefix}" - "-DQT_FEATURE_libproxy=ON" - "-DQT_FEATURE_system_sqlite=ON" - "-DQT_FEATURE_openssl_linked=ON" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "-DQT_FEATURE_sctp=ON" - "-DQT_FEATURE_journald=${if systemdSupport then "ON" else "OFF"}" - "-DQT_FEATURE_vulkan=ON" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DQT_FEATURE_rpath=OFF" - ] ++ lib.optionals isCrossBuild [ - "-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}" - "-DQt6HostInfo_DIR=${pkgsBuildBuild.qt6.qtbase}/lib/cmake/Qt6HostInfo" - ] - ++ lib.optional (qttranslations != null && !isCrossBuild) "-DINSTALL_TRANSLATIONSDIR=${qttranslations}/translations"; + cmakeFlags = + [ + "-DQT_EMBED_TOOLCHAIN_COMPILER=OFF" + "-DINSTALL_PLUGINSDIR=${qtPluginPrefix}" + "-DINSTALL_QMLDIR=${qtQmlPrefix}" + "-DQT_FEATURE_libproxy=ON" + "-DQT_FEATURE_system_sqlite=ON" + "-DQT_FEATURE_openssl_linked=ON" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "-DQT_FEATURE_sctp=ON" + "-DQT_FEATURE_journald=${if systemdSupport then "ON" else "OFF"}" + "-DQT_FEATURE_vulkan=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DQT_FEATURE_rpath=OFF" + ] + ++ lib.optionals isCrossBuild [ + "-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}" + "-DQt6HostInfo_DIR=${pkgsBuildBuild.qt6.qtbase}/lib/cmake/Qt6HostInfo" + ] + ++ lib.optional ( + qttranslations != null && !isCrossBuild + ) "-DINSTALL_TRANSLATIONSDIR=${qttranslations}/translations"; env.NIX_CFLAGS_COMPILE = "-DNIXPKGS_QT_PLUGIN_PREFIX=\"${qtPluginPrefix}\""; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; separateDebugInfo = true; moveToDev = false; - postFixup = '' - moveToOutput "mkspecs/modules" "$dev" - fixQtModulePaths "$dev/mkspecs/modules" - fixQtBuiltinPaths "$out" '*.pr?' - '' + lib.optionalString stdenv.hostPlatform.isLinux '' + postFixup = + '' + moveToOutput "mkspecs/modules" "$dev" + fixQtModulePaths "$dev/mkspecs/modules" + fixQtBuiltinPaths "$out" '*.pr?' + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' - # FIXME: not sure why this isn't added automatically? - patchelf --add-rpath "${libmysqlclient}/lib/mariadb" $out/${qtPluginPrefix}/sqldrivers/libqsqlmysql.so - ''; + # FIXME: not sure why this isn't added automatically? + patchelf --add-rpath "${libmysqlclient}/lib/mariadb" $out/${qtPluginPrefix}/sqldrivers/libqsqlmysql.so + ''; dontWrapQtApps = true; @@ -258,8 +293,17 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.qt.io/"; description = "Cross-platform application framework for C++"; - license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ]; - maintainers = with maintainers; [ milahu nickcao LunNova ]; + license = with licenses; [ + fdl13Plus + gpl2Plus + lgpl21Plus + lgpl3Plus + ]; + maintainers = with maintainers; [ + milahu + nickcao + LunNova + ]; platforms = platforms.unix ++ platforms.windows; }; } diff --git a/pkgs/development/libraries/qt-6/modules/qtcharts.nix b/pkgs/development/libraries/qt-6/modules/qtcharts.nix index e9b6c8d6b33fa..8701933d9bd90 100644 --- a/pkgs/development/libraries/qt-6/modules/qtcharts.nix +++ b/pkgs/development/libraries/qt-6/modules/qtcharts.nix @@ -1,9 +1,13 @@ -{ qtModule -, qtbase -, qtdeclarative +{ + qtModule, + qtbase, + qtdeclarative, }: qtModule { pname = "qtcharts"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix b/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix index 8a48c84904352..627454f85a517 100644 --- a/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix @@ -1,10 +1,11 @@ -{ qtModule -, lib -, stdenv -, qtbase -, qtdeclarative -, bluez -, pkg-config +{ + qtModule, + lib, + stdenv, + qtbase, + qtdeclarative, + bluez, + pkg-config, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix b/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix index e6c12508c9d0f..4e3eca80a9ed4 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix +++ b/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix @@ -1,9 +1,13 @@ -{ qtModule -, qtbase -, qtdeclarative +{ + qtModule, + qtbase, + qtdeclarative, }: qtModule { pname = "qtdatavis3d"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix index 42f5bfd76b88b..4247ae42fc6ab 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix @@ -1,18 +1,24 @@ -{ qtModule -, qtbase -, qtlanguageserver -, qtshadertools -, openssl -, stdenv -, lib -, pkgsBuildBuild -, fetchpatch2 +{ + qtModule, + qtbase, + qtlanguageserver, + qtshadertools, + openssl, + stdenv, + lib, + pkgsBuildBuild, + fetchpatch2, }: qtModule { pname = "qtdeclarative"; - propagatedBuildInputs = [ qtbase qtlanguageserver qtshadertools openssl ]; + propagatedBuildInputs = [ + qtbase + qtlanguageserver + qtshadertools + openssl + ]; strictDeps = true; patches = [ @@ -39,13 +45,14 @@ qtModule { }) ]; - cmakeFlags = [ - "-DQt6ShaderToolsTools_DIR=${pkgsBuildBuild.qt6.qtshadertools}/lib/cmake/Qt6ShaderTools" - # for some reason doesn't get found automatically on Darwin - "-DPython_EXECUTABLE=${lib.getExe pkgsBuildBuild.python3}" - ] - # Conditional is required to prevent infinite recursion during a cross build - ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "-DQt6QmlTools_DIR=${pkgsBuildBuild.qt6.qtdeclarative}/lib/cmake/Qt6QmlTools" - ]; + cmakeFlags = + [ + "-DQt6ShaderToolsTools_DIR=${pkgsBuildBuild.qt6.qtshadertools}/lib/cmake/Qt6ShaderTools" + # for some reason doesn't get found automatically on Darwin + "-DPython_EXECUTABLE=${lib.getExe pkgsBuildBuild.python3}" + ] + # Conditional is required to prevent infinite recursion during a cross build + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + "-DQt6QmlTools_DIR=${pkgsBuildBuild.qt6.qtdeclarative}/lib/cmake/Qt6QmlTools" + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtdoc.nix b/pkgs/development/libraries/qt-6/modules/qtdoc.nix index 555108caa01a5..fa091d4c6da6b 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdoc.nix +++ b/pkgs/development/libraries/qt-6/modules/qtdoc.nix @@ -1,7 +1,8 @@ -{ qtModule -, qtdeclarative -, qtbase -, qttools +{ + qtModule, + qtdeclarative, + qtbase, + qttools, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtgraphs.nix b/pkgs/development/libraries/qt-6/modules/qtgraphs.nix index 5cafb8d8d7fde..5de167cc9c36c 100644 --- a/pkgs/development/libraries/qt-6/modules/qtgraphs.nix +++ b/pkgs/development/libraries/qt-6/modules/qtgraphs.nix @@ -1,8 +1,9 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtquick3d -, qtquicktimeline +{ + qtModule, + qtbase, + qtdeclarative, + qtquick3d, + qtquicktimeline, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtgrpc.nix b/pkgs/development/libraries/qt-6/modules/qtgrpc.nix index 09ff7ee89196c..b344321d11db1 100644 --- a/pkgs/development/libraries/qt-6/modules/qtgrpc.nix +++ b/pkgs/development/libraries/qt-6/modules/qtgrpc.nix @@ -1,12 +1,19 @@ -{ qtModule -, qtbase -, qtdeclarative -, protobuf -, grpc +{ + qtModule, + qtbase, + qtdeclarative, + protobuf, + grpc, }: qtModule { pname = "qtgrpc"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; - buildInputs = [ protobuf grpc ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; + buildInputs = [ + protobuf + grpc + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qthttpserver.nix b/pkgs/development/libraries/qt-6/modules/qthttpserver.nix index cf32c8a7ea76a..8a1f85d1aee17 100644 --- a/pkgs/development/libraries/qt-6/modules/qthttpserver.nix +++ b/pkgs/development/libraries/qt-6/modules/qthttpserver.nix @@ -1,9 +1,13 @@ -{ qtModule -, qtbase -, qtwebsockets +{ + qtModule, + qtbase, + qtwebsockets, }: qtModule { pname = "qthttpserver"; - propagatedBuildInputs = [ qtbase qtwebsockets ]; + propagatedBuildInputs = [ + qtbase + qtwebsockets + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtimageformats.nix b/pkgs/development/libraries/qt-6/modules/qtimageformats.nix index 50420aaa7e451..e5977e22e230c 100644 --- a/pkgs/development/libraries/qt-6/modules/qtimageformats.nix +++ b/pkgs/development/libraries/qt-6/modules/qtimageformats.nix @@ -1,13 +1,19 @@ -{ qtModule -, qtbase -, libwebp -, jasper -, libmng -, libtiff +{ + qtModule, + qtbase, + libwebp, + jasper, + libmng, + libtiff, }: qtModule { pname = "qtimageformats"; propagatedBuildInputs = [ qtbase ]; - buildInputs = [ libwebp jasper libmng libtiff ]; + buildInputs = [ + libwebp + jasper + libmng + libtiff + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix b/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix index b45ab11fc3ffb..74596e538b816 100644 --- a/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix +++ b/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix @@ -1,5 +1,6 @@ -{ qtModule -, qtbase +{ + qtModule, + qtbase, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtlocation.nix b/pkgs/development/libraries/qt-6/modules/qtlocation.nix index 12fa89b9aaead..120b05b0b1939 100644 --- a/pkgs/development/libraries/qt-6/modules/qtlocation.nix +++ b/pkgs/development/libraries/qt-6/modules/qtlocation.nix @@ -1,10 +1,15 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtpositioning +{ + qtModule, + qtbase, + qtdeclarative, + qtpositioning, }: qtModule { pname = "qtlocation"; - propagatedBuildInputs = [ qtbase qtdeclarative qtpositioning ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + qtpositioning + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtlottie.nix b/pkgs/development/libraries/qt-6/modules/qtlottie.nix index 4231fcb26b1c9..c1cefda1984cc 100644 --- a/pkgs/development/libraries/qt-6/modules/qtlottie.nix +++ b/pkgs/development/libraries/qt-6/modules/qtlottie.nix @@ -1,9 +1,13 @@ -{ qtModule -, qtbase -, qtdeclarative +{ + qtModule, + qtbase, + qtdeclarative, }: qtModule { pname = "qtlottie"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtmqtt.nix b/pkgs/development/libraries/qt-6/modules/qtmqtt.nix index 80eef148701ac..e9e638e976454 100644 --- a/pkgs/development/libraries/qt-6/modules/qtmqtt.nix +++ b/pkgs/development/libraries/qt-6/modules/qtmqtt.nix @@ -1,6 +1,7 @@ -{ qtModule -, fetchFromGitHub -, qtbase +{ + qtModule, + fetchFromGitHub, + qtbase, }: qtModule rec { diff --git a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix index ae02112475f03..2a76d72166786 100644 --- a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix @@ -1,54 +1,77 @@ -{ qtModule -, lib -, stdenv -, qtbase -, qtdeclarative -, qtquick3d -, qtshadertools -, qtsvg -, pkg-config -, alsa-lib -, gstreamer -, gst-plugins-base -, gst-plugins-good -, gst-libav -, gst-vaapi -, ffmpeg -, libva -, libpulseaudio -, wayland -, libXrandr -, elfutils -, libunwind -, orc -, pkgsBuildBuild +{ + qtModule, + lib, + stdenv, + qtbase, + qtdeclarative, + qtquick3d, + qtshadertools, + qtsvg, + pkg-config, + alsa-lib, + gstreamer, + gst-plugins-base, + gst-plugins-good, + gst-libav, + gst-vaapi, + ffmpeg, + libva, + libpulseaudio, + wayland, + libXrandr, + elfutils, + libunwind, + orc, + pkgsBuildBuild, }: qtModule { pname = "qtmultimedia"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ffmpeg ] - ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ libunwind orc ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio alsa-lib wayland libXrandr libva ] + buildInputs = + [ ffmpeg ] + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ + libunwind + orc + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libpulseaudio + alsa-lib + wayland + libXrandr + libva + ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ elfutils ]; - propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools ] + propagatedBuildInputs = + [ + qtbase + qtdeclarative + qtsvg + qtshadertools + ] ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ qtquick3d ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]; + ++ lib.optionals stdenv.hostPlatform.isLinux [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-libav + gst-vaapi + ]; - patches = [ - ../patches/fix-qtgui-include-incorrect-case.patch - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - ../patches/qtmultimedia-windows-no-uppercase-libs.patch - ../patches/qtmultimedia-windows-resolve-function-name.patch - ]; + patches = + [ + ../patches/fix-qtgui-include-incorrect-case.patch + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + ../patches/qtmultimedia-windows-no-uppercase-libs.patch + ../patches/qtmultimedia-windows-resolve-function-name.patch + ]; cmakeFlags = [ "-DENABLE_DYNAMIC_RESOLVE_VAAPI_SYMBOLS=0" "-DQt6ShaderToolsTools_DIR=${pkgsBuildBuild.qt6.qtshadertools}/lib/cmake/Qt6ShaderToolsTools" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin - "-include AudioToolbox/AudioToolbox.h"; - NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin - "-framework AudioToolbox"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-include AudioToolbox/AudioToolbox.h"; + NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework AudioToolbox"; } diff --git a/pkgs/development/libraries/qt-6/modules/qtpositioning.nix b/pkgs/development/libraries/qt-6/modules/qtpositioning.nix index 20f059976323c..f0f8a3f525be4 100644 --- a/pkgs/development/libraries/qt-6/modules/qtpositioning.nix +++ b/pkgs/development/libraries/qt-6/modules/qtpositioning.nix @@ -1,14 +1,19 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtserialport -, pkg-config -, openssl +{ + qtModule, + qtbase, + qtdeclarative, + qtserialport, + pkg-config, + openssl, }: qtModule { pname = "qtpositioning"; - propagatedBuildInputs = [ qtbase qtdeclarative qtserialport ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + qtserialport + ]; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtquick3d.nix b/pkgs/development/libraries/qt-6/modules/qtquick3d.nix index 1c84856c0c129..40b95dfb95882 100644 --- a/pkgs/development/libraries/qt-6/modules/qtquick3d.nix +++ b/pkgs/development/libraries/qt-6/modules/qtquick3d.nix @@ -1,11 +1,15 @@ -{ qtModule -, qtbase -, qtdeclarative -, openssl +{ + qtModule, + qtbase, + qtdeclarative, + openssl, }: qtModule { pname = "qtquick3d"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; buildInputs = [ openssl ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtquick3dphysics.nix b/pkgs/development/libraries/qt-6/modules/qtquick3dphysics.nix index e9363f75ebbe0..6c74677b337ca 100644 --- a/pkgs/development/libraries/qt-6/modules/qtquick3dphysics.nix +++ b/pkgs/development/libraries/qt-6/modules/qtquick3dphysics.nix @@ -1,14 +1,19 @@ -{ qtModule -, lib -, stdenv -, qtbase -, qtquick3d +{ + qtModule, + lib, + stdenv, + qtbase, + qtquick3d, }: qtModule { pname = "qtquick3dphysics"; - propagatedBuildInputs = [ qtbase qtquick3d ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) - "-faligned-allocation"; + propagatedBuildInputs = [ + qtbase + qtquick3d + ]; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 + ) "-faligned-allocation"; meta.mainProgram = "cooker"; } diff --git a/pkgs/development/libraries/qt-6/modules/qtquickeffectmaker.nix b/pkgs/development/libraries/qt-6/modules/qtquickeffectmaker.nix index 085ce493de610..f71c891e5f8f4 100644 --- a/pkgs/development/libraries/qt-6/modules/qtquickeffectmaker.nix +++ b/pkgs/development/libraries/qt-6/modules/qtquickeffectmaker.nix @@ -1,10 +1,14 @@ -{ qtModule -, qtbase -, qtquick3d +{ + qtModule, + qtbase, + qtquick3d, }: qtModule { pname = "qtquickeffectmaker"; - propagatedBuildInputs = [ qtbase qtquick3d ]; + propagatedBuildInputs = [ + qtbase + qtquick3d + ]; meta.mainProgram = "qqem"; } diff --git a/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix b/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix index 9ac9c1f093934..59c774b9abb58 100644 --- a/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix +++ b/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix @@ -1,9 +1,13 @@ -{ qtModule -, qtbase -, qtdeclarative +{ + qtModule, + qtbase, + qtdeclarative, }: qtModule { pname = "qtquicktimeline"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix b/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix index 1fd3b1b7a2534..42ad13e3a8fed 100644 --- a/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix +++ b/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix @@ -1,9 +1,13 @@ -{ qtModule -, qtbase -, qtdeclarative +{ + qtModule, + qtbase, + qtdeclarative, }: qtModule { pname = "qtremoteobjects"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtscxml.nix b/pkgs/development/libraries/qt-6/modules/qtscxml.nix index ece975f59e8db..a0a821a302e00 100644 --- a/pkgs/development/libraries/qt-6/modules/qtscxml.nix +++ b/pkgs/development/libraries/qt-6/modules/qtscxml.nix @@ -1,6 +1,13 @@ -{ qtModule, qtbase, qtdeclarative }: +{ + qtModule, + qtbase, + qtdeclarative, +}: qtModule { pname = "qtscxml"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtsensors.nix b/pkgs/development/libraries/qt-6/modules/qtsensors.nix index bc49c7a77f583..888136e3b9ae2 100644 --- a/pkgs/development/libraries/qt-6/modules/qtsensors.nix +++ b/pkgs/development/libraries/qt-6/modules/qtsensors.nix @@ -1,10 +1,15 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtsvg +{ + qtModule, + qtbase, + qtdeclarative, + qtsvg, }: qtModule { pname = "qtsensors"; - propagatedBuildInputs = [ qtbase qtdeclarative qtsvg ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + qtsvg + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtserialbus.nix b/pkgs/development/libraries/qt-6/modules/qtserialbus.nix index 59033f421cc25..5276b2e5d55a4 100644 --- a/pkgs/development/libraries/qt-6/modules/qtserialbus.nix +++ b/pkgs/development/libraries/qt-6/modules/qtserialbus.nix @@ -1,7 +1,14 @@ -{ qtModule, qtbase, qtserialport }: +{ + qtModule, + qtbase, + qtserialport, +}: qtModule { pname = "qtserialbus"; - propagatedBuildInputs = [ qtbase qtserialport ]; + propagatedBuildInputs = [ + qtbase + qtserialport + ]; meta.mainProgram = "canbusutil"; } diff --git a/pkgs/development/libraries/qt-6/modules/qtserialport.nix b/pkgs/development/libraries/qt-6/modules/qtserialport.nix index 00f668ef5631d..74b647c6dfcc7 100644 --- a/pkgs/development/libraries/qt-6/modules/qtserialport.nix +++ b/pkgs/development/libraries/qt-6/modules/qtserialport.nix @@ -1,9 +1,10 @@ -{ qtModule -, stdenv -, lib -, qtbase -, udev -, pkg-config +{ + qtModule, + stdenv, + lib, + qtbase, + udev, + pkg-config, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtshadertools.nix b/pkgs/development/libraries/qt-6/modules/qtshadertools.nix index ce0f381028c51..0d8c8111f3280 100644 --- a/pkgs/development/libraries/qt-6/modules/qtshadertools.nix +++ b/pkgs/development/libraries/qt-6/modules/qtshadertools.nix @@ -1,8 +1,9 @@ -{ qtModule -, qtbase -, stdenv -, lib -, pkgsBuildBuild +{ + qtModule, + qtbase, + stdenv, + lib, + pkgsBuildBuild, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtspeech.nix b/pkgs/development/libraries/qt-6/modules/qtspeech.nix index 828f34bb72b9e..4867bcaf7ee9a 100644 --- a/pkgs/development/libraries/qt-6/modules/qtspeech.nix +++ b/pkgs/development/libraries/qt-6/modules/qtspeech.nix @@ -1,17 +1,25 @@ -{ qtModule -, lib -, stdenv -, qtbase -, qtmultimedia -, pkg-config -, flite -, alsa-lib -, speechd-minimal +{ + qtModule, + lib, + stdenv, + qtbase, + qtmultimedia, + pkg-config, + flite, + alsa-lib, + speechd-minimal, }: qtModule { pname = "qtspeech"; nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ flite alsa-lib speechd-minimal ]; - propagatedBuildInputs = [ qtbase qtmultimedia ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + flite + alsa-lib + speechd-minimal + ]; + propagatedBuildInputs = [ + qtbase + qtmultimedia + ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtsvg.nix b/pkgs/development/libraries/qt-6/modules/qtsvg.nix index 3d7df288839ad..068a2ddc3469a 100644 --- a/pkgs/development/libraries/qt-6/modules/qtsvg.nix +++ b/pkgs/development/libraries/qt-6/modules/qtsvg.nix @@ -1,24 +1,28 @@ -{ qtModule -, qtbase -, libwebp -, jasper -, libmng -, zlib -, pkg-config -, lib -, stdenv +{ + qtModule, + qtbase, + libwebp, + jasper, + libmng, + zlib, + pkg-config, + lib, + stdenv, }: qtModule { pname = "qtsvg"; propagatedBuildInputs = [ qtbase ]; - buildInputs = [ - libwebp - ] ++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - jasper - ] ++ [ - libmng - zlib - ]; + buildInputs = + [ + libwebp + ] + ++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + jasper + ] + ++ [ + libmng + zlib + ]; nativeBuildInputs = [ pkg-config ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qttools.nix b/pkgs/development/libraries/qt-6/modules/qttools.nix index f13500d65464f..ffdf7ec695f68 100644 --- a/pkgs/development/libraries/qt-6/modules/qttools.nix +++ b/pkgs/development/libraries/qt-6/modules/qttools.nix @@ -1,12 +1,13 @@ -{ qtModule -, stdenv -, lib -, qtbase -, qtdeclarative -, cups -, llvmPackages -# clang-based c++ parser for qdoc and lupdate -, withClang ? false +{ + qtModule, + stdenv, + lib, + qtbase, + qtdeclarative, + cups, + llvmPackages, + # clang-based c++ parser for qdoc and lupdate + withClang ? false, }: qtModule { @@ -15,8 +16,10 @@ qtModule { llvmPackages.libclang llvmPackages.llvm ]; - propagatedBuildInputs = [ qtbase qtdeclarative ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ cups ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cups ]; patches = [ ../patches/qttools-paths.patch ]; diff --git a/pkgs/development/libraries/qt-6/modules/qttranslations.nix b/pkgs/development/libraries/qt-6/modules/qttranslations.nix index 61c642de10850..7b6457d8abc00 100644 --- a/pkgs/development/libraries/qt-6/modules/qttranslations.nix +++ b/pkgs/development/libraries/qt-6/modules/qttranslations.nix @@ -1,5 +1,6 @@ -{ qtModule -, qttools +{ + qtModule, + qttools, }: qtModule { diff --git a/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix b/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix index 9f067900dc068..4c9f449f5a198 100644 --- a/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix +++ b/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix @@ -1,13 +1,19 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtsvg -, hunspell -, pkg-config +{ + qtModule, + qtbase, + qtdeclarative, + qtsvg, + hunspell, + pkg-config, }: qtModule { pname = "qtvirtualkeyboard"; - propagatedBuildInputs = [ qtbase qtdeclarative qtsvg hunspell ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + qtsvg + hunspell + ]; nativeBuildInputs = [ pkg-config ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtwayland.nix b/pkgs/development/libraries/qt-6/modules/qtwayland.nix index d3d55685f5fb0..5bcfd9b66c9cc 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwayland.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwayland.nix @@ -1,11 +1,12 @@ -{ lib -, qtModule -, qtbase -, qtdeclarative -, wayland -, wayland-scanner -, pkg-config -, libdrm +{ + lib, + qtModule, + qtbase, + qtdeclarative, + wayland, + wayland-scanner, + pkg-config, + libdrm, }: qtModule { @@ -13,9 +14,19 @@ qtModule { # wayland-scanner needs to be propagated as both build # (for the wayland-scanner binary) and host (for the # actual wayland.xml protocol definition) - propagatedBuildInputs = [ qtbase qtdeclarative wayland-scanner ]; - propagatedNativeBuildInputs = [ wayland wayland-scanner ]; - buildInputs = [ wayland libdrm ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + wayland-scanner + ]; + propagatedNativeBuildInputs = [ + wayland + wayland-scanner + ]; + buildInputs = [ + wayland + libdrm + ]; nativeBuildInputs = [ pkg-config ]; # Replace vendored wayland.xml with our matching version diff --git a/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix b/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix index bf0ba0f633858..b60e802312e30 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix @@ -1,12 +1,17 @@ -{ qtModule -, qtbase -, qtdeclarative -, qtwebsockets -, openssl +{ + qtModule, + qtbase, + qtdeclarative, + qtwebsockets, + openssl, }: qtModule { pname = "qtwebchannel"; - propagatedBuildInputs = [ qtbase qtdeclarative qtwebsockets ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + qtwebsockets + ]; buildInputs = [ openssl ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix b/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix index c3a346a8d78a6..11264a48858cf 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix @@ -1,11 +1,15 @@ -{ qtModule -, qtbase -, qtdeclarative -, openssl +{ + qtModule, + qtbase, + qtdeclarative, + openssl, }: qtModule { pname = "qtwebsockets"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; buildInputs = [ openssl ]; } diff --git a/pkgs/development/libraries/qt-6/modules/qtwebview.nix b/pkgs/development/libraries/qt-6/modules/qtwebview.nix index 149ccc2a7ea13..56f5aa6a70729 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebview.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebview.nix @@ -1,12 +1,14 @@ -{ lib -, stdenv -, qtModule -, qtdeclarative -, qtwebengine +{ + lib, + stdenv, + qtModule, + qtdeclarative, + qtwebengine, }: qtModule { pname = "qtwebview"; - propagatedBuildInputs = [ qtdeclarative ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ qtwebengine ]; + propagatedBuildInputs = [ + qtdeclarative + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ qtwebengine ]; } diff --git a/pkgs/development/libraries/qt-6/qt-env.nix b/pkgs/development/libraries/qt-6/qt-env.nix index c754c75cc2763..113e57e3588bb 100644 --- a/pkgs/development/libraries/qt-6/qt-env.nix +++ b/pkgs/development/libraries/qt-6/qt-env.nix @@ -1,11 +1,23 @@ -{ buildEnv, qtbase }: name: paths: +{ buildEnv, qtbase }: +name: paths: buildEnv { inherit name; paths = [ qtbase ] ++ paths; - pathsToLink = [ "/metatypes" "/bin" "/mkspecs" "/include" "/lib" "/share" "/libexec" ]; - extraOutputsToInstall = [ "out" "dev" ]; + pathsToLink = [ + "/metatypes" + "/bin" + "/mkspecs" + "/include" + "/lib" + "/share" + "/libexec" + ]; + extraOutputsToInstall = [ + "out" + "dev" + ]; postBuild = '' for f in qmake qmake6; do diff --git a/pkgs/development/libraries/qt-6/qtModule.nix b/pkgs/development/libraries/qt-6/qtModule.nix index 8b09c8cb19b8b..afcabcd02dc06 100644 --- a/pkgs/development/libraries/qt-6/qtModule.nix +++ b/pkgs/development/libraries/qt-6/qtModule.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, darwinVersionInputs -, cmake -, ninja -, perl -, moveBuildTree -, srcs -, patches ? [ ] +{ + lib, + stdenv, + darwinVersionInputs, + cmake, + ninja, + perl, + moveBuildTree, + srcs, + patches ? [ ], }: args: @@ -16,34 +17,60 @@ let version = args.version or srcs.${pname}.version; src = args.src or srcs.${pname}.src; in -stdenv.mkDerivation (args // { - inherit pname version src; - patches = args.patches or patches.${pname} or [ ]; +stdenv.mkDerivation ( + args + // { + inherit pname version src; + patches = args.patches or patches.${pname} or [ ]; - buildInputs = - args.buildInputs or [ ] - ++ lib.optionals stdenv.hostPlatform.isDarwin darwinVersionInputs; - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ cmake ninja perl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; - propagatedBuildInputs = - (lib.warnIf (args ? qtInputs) "qt6.qtModule's qtInputs argument is deprecated" args.qtInputs or []) ++ - (args.propagatedBuildInputs or []); + buildInputs = + args.buildInputs or [ ] + ++ lib.optionals stdenv.hostPlatform.isDarwin darwinVersionInputs; + nativeBuildInputs = + (args.nativeBuildInputs or [ ]) + ++ [ + cmake + ninja + perl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; + propagatedBuildInputs = + (lib.warnIf (args ? qtInputs) "qt6.qtModule's qtInputs argument is deprecated" args.qtInputs or [ ]) + ++ (args.propagatedBuildInputs or [ ]); - moveToDev = false; + moveToDev = false; - outputs = args.outputs or [ "out" "dev" ]; - separateDebugInfo = args.separateDebugInfo or true; + outputs = + args.outputs or [ + "out" + "dev" + ]; + separateDebugInfo = args.separateDebugInfo or true; - dontWrapQtApps = args.dontWrapQtApps or true; -}) // { - meta = with lib; let - pos = builtins.unsafeGetAttrPos "pname" args; - in { - homepage = "https://www.qt.io/"; - description = "Cross-platform application framework for C++"; - license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ]; - maintainers = with maintainers; [ milahu nickcao ]; - platforms = platforms.unix; - position = "${pos.file}:${toString pos.line}"; - } // (args.meta or { }); + dontWrapQtApps = args.dontWrapQtApps or true; + } +) +// { + meta = + with lib; + let + pos = builtins.unsafeGetAttrPos "pname" args; + in + { + homepage = "https://www.qt.io/"; + description = "Cross-platform application framework for C++"; + license = with licenses; [ + fdl13Plus + gpl2Plus + lgpl21Plus + lgpl3Plus + ]; + maintainers = with maintainers; [ + milahu + nickcao + ]; + platforms = platforms.unix; + position = "${pos.file}:${toString pos.line}"; + } + // (args.meta or { }); } diff --git a/pkgs/development/libraries/qtdbusextended/default.nix b/pkgs/development/libraries/qtdbusextended/default.nix index 22fa37611dd58..c1cc09b29bc15 100644 --- a/pkgs/development/libraries/qtdbusextended/default.nix +++ b/pkgs/development/libraries/qtdbusextended/default.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, fetchFromGitHub -, qmake -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitHub, + qmake, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/qtfeedback/default.nix b/pkgs/development/libraries/qtfeedback/default.nix index 285a81ae1ac46..182b709103326 100644 --- a/pkgs/development/libraries/qtfeedback/default.nix +++ b/pkgs/development/libraries/qtfeedback/default.nix @@ -1,16 +1,20 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, perl -, qmake -, qtdeclarative +{ + lib, + mkDerivation, + fetchFromGitHub, + perl, + qmake, + qtdeclarative, }: mkDerivation rec { pname = "qtfeedback"; version = "unstable-2018-09-03"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "qt"; @@ -41,7 +45,13 @@ mkDerivation rec { meta = with lib; { description = "Qt Tactile Feedback"; homepage = "https://github.com/qt/qtfeedback"; - license = with licenses; [ lgpl3Only /* or */ gpl2Plus ]; - maintainers = with maintainers; [ dotlambda OPNA2608 ]; + license = with licenses; [ + lgpl3Only # or + gpl2Plus + ]; + maintainers = with maintainers; [ + dotlambda + OPNA2608 + ]; }; } diff --git a/pkgs/development/libraries/qtforkawesome/default.nix b/pkgs/development/libraries/qtforkawesome/default.nix index 432023a2ac65c..795f344443690 100644 --- a/pkgs/development/libraries/qtforkawesome/default.nix +++ b/pkgs/development/libraries/qtforkawesome/default.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qttools -, perl -, cpp-utilities -, qtutilities -, qtbase +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qttools, + perl, + cpp-utilities, + qtutilities, + qtbase, }: let @@ -16,7 +17,8 @@ let rev = "1.2.0"; sha256 = "sha256-zG6/0dWjU7/y/oDZuSEv+54Mchng64LVyV8bluskYzc="; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "qtforkawesome"; version = "0.1.0"; @@ -55,7 +57,6 @@ in stdenv.mkDerivation (finalAttrs: { description = "Library that bundles ForkAwesome for use within Qt applications"; license = licenses.gpl2Plus; maintainers = with maintainers; [ doronbehar ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = platforms.linux ++ platforms.darwin; }; }) - diff --git a/pkgs/development/libraries/qtinstaller/default.nix b/pkgs/development/libraries/qtinstaller/default.nix index 0fd21a1a29680..c551ff49889bb 100644 --- a/pkgs/development/libraries/qtinstaller/default.nix +++ b/pkgs/development/libraries/qtinstaller/default.nix @@ -1,9 +1,19 @@ -{ stdenv, fetchurl, qtdeclarative , qttools, qtbase, qmake }: +{ + stdenv, + fetchurl, + qtdeclarative, + qttools, + qtbase, + qmake, +}: stdenv.mkDerivation rec { pname = "qtinstaller"; - propagatedBuildInputs = [ qtdeclarative qttools ]; + propagatedBuildInputs = [ + qtdeclarative + qttools + ]; nativeBuildInputs = [ qmake ]; version = "2.0.3"; @@ -13,7 +23,11 @@ stdenv.mkDerivation rec { name = "qt-installer-framework-opensource-src-${version}.tar.gz"; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; setOutputFlags = false; NIX_QT_SUBMODULE = true; diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix index b6744692bbe88..d865b183f9caf 100644 --- a/pkgs/development/libraries/qtkeychain/default.nix +++ b/pkgs/development/libraries/qtkeychain/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, qtbase -, qttools -, CoreFoundation -, Security -, libsecret +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + qtbase, + qttools, + CoreFoundation, + Security, + libsecret, }: stdenv.mkDerivation rec { @@ -28,16 +29,19 @@ stdenv.mkDerivation rec { "-DQT_TRANSLATIONS_DIR=share/qt/translations" ]; - nativeBuildInputs = [ cmake ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ] # for finding libsecret + nativeBuildInputs = [ cmake ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ] # for finding libsecret ; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ] - ++ [ qtbase qttools ] + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ] + ++ [ + qtbase + qttools + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreFoundation - Security - ]; + CoreFoundation + Security + ]; doInstallCheck = true; diff --git a/pkgs/development/libraries/qtmpris/default.nix b/pkgs/development/libraries/qtmpris/default.nix index ef595efa731d3..6bc94edeb30e4 100644 --- a/pkgs/development/libraries/qtmpris/default.nix +++ b/pkgs/development/libraries/qtmpris/default.nix @@ -1,8 +1,9 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, qmake -, qtbase +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, }: mkDerivation rec { diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix index 7005c781e2a65..9caa9b5af4de8 100644 --- a/pkgs/development/libraries/qtpbfimageplugin/default.nix +++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtbase, protobuf }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + protobuf, +}: stdenv.mkDerivation rec { pname = "qtpbfimageplugin"; @@ -12,20 +19,25 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase protobuf ]; + buildInputs = [ + qtbase + protobuf + ]; dontWrapQtApps = true; - postPatch = '' - # Fix plugin dir - substituteInPlace pbfplugin.pro \ - --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Fix darwin build - substituteInPlace pbfplugin.pro \ - --replace '$$PROTOBUF/include' '${protobuf}/include' \ - --replace '$$PROTOBUF/lib/libprotobuf-lite.a' '${protobuf}/lib/libprotobuf-lite.dylib' - ''; + postPatch = + '' + # Fix plugin dir + substituteInPlace pbfplugin.pro \ + --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Fix darwin build + substituteInPlace pbfplugin.pro \ + --replace '$$PROTOBUF/include' '${protobuf}/include' \ + --replace '$$PROTOBUF/lib/libprotobuf-lite.a' '${protobuf}/lib/libprotobuf-lite.dylib' + ''; meta = with lib; { description = "Qt image plugin for displaying Mapbox vector tiles"; diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix index ebc7bc0819337..b46c7b5220189 100644 --- a/pkgs/development/libraries/qtstyleplugins/default.nix +++ b/pkgs/development/libraries/qtstyleplugins/default.nix @@ -1,4 +1,12 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake, pkg-config, gtk2 }: +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + qmake, + pkg-config, + gtk2, +}: mkDerivation { pname = "qtstyleplugins"; @@ -24,7 +32,10 @@ mkDerivation { }) ]; - nativeBuildInputs = [ pkg-config qmake ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; buildInputs = [ gtk2 ]; meta = with lib; { diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix index abeb58a808941..f9d0db450273d 100644 --- a/pkgs/development/libraries/qtutilities/default.nix +++ b/pkgs/development/libraries/qtutilities/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qttools -, cpp-utilities -, qtbase +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qttools, + cpp-utilities, + qtbase, }: stdenv.mkDerivation (finalAttrs: { @@ -39,6 +40,6 @@ stdenv.mkDerivation (finalAttrs: { description = "Common Qt related C++ classes and routines used by @Martchus' applications such as dialogs, widgets and models Topics"; license = licenses.gpl2Plus; maintainers = with maintainers; [ doronbehar ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = platforms.linux ++ platforms.darwin; }; }) diff --git a/pkgs/development/libraries/qtwebkit-plugins/default.nix b/pkgs/development/libraries/qtwebkit-plugins/default.nix index dd6a7606f6e24..9d2541c0b7214 100644 --- a/pkgs/development/libraries/qtwebkit-plugins/default.nix +++ b/pkgs/development/libraries/qtwebkit-plugins/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtwebkit, hunspell }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtwebkit, + hunspell, +}: stdenv.mkDerivation { pname = "qtwebkit-plugins"; @@ -13,7 +20,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ qmake ]; - buildInputs = [ qtwebkit hunspell ]; + buildInputs = [ + qtwebkit + hunspell + ]; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix index b2fcad6cab877..6acf4f1c60a16 100644 --- a/pkgs/development/libraries/quazip/default.nix +++ b/pkgs/development/libraries/quazip/default.nix @@ -1,4 +1,13 @@ -{ fetchFromGitHub, lib, stdenv, zlib, qtbase, qt5compat ? null, cmake, fixDarwinDylibNames }: +{ + fetchFromGitHub, + lib, + stdenv, + zlib, + qtbase, + qt5compat ? null, + cmake, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "quazip"; @@ -11,14 +20,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-JPpkYvndjDcHVChAyWhpb/XiUPu/qHqDZFh5XmonXMs="; }; - buildInputs = [ zlib qtbase ]; + buildInputs = [ + zlib + qtbase + ]; propagatedBuildInputs = [ qt5compat ]; - nativeBuildInputs = [ cmake ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; dontWrapQtApps = true; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Provides access to ZIP archives from Qt programs"; diff --git a/pkgs/development/libraries/quickflux/default.nix b/pkgs/development/libraries/quickflux/default.nix index 3ab3058b478e7..be38b2f1b01a0 100644 --- a/pkgs/development/libraries/quickflux/default.nix +++ b/pkgs/development/libraries/quickflux/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qtbase -, qtquickcontrols2 +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qtbase, + qtquickcontrols2, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/qwlroots/default.nix b/pkgs/development/libraries/qwlroots/default.nix index 190a13e15a27d..6dfed9551920d 100644 --- a/pkgs/development/libraries/qwlroots/default.nix +++ b/pkgs/development/libraries/qwlroots/default.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, wrapQtAppsHook -, wayland-scanner -, qtbase -, wayland -, wayland-protocols -, wlr-protocols -, pixman -, mesa -, vulkan-loader -, libinput -, xorg -, seatd -, wlroots +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + wrapQtAppsHook, + wayland-scanner, + qtbase, + wayland, + wayland-protocols, + wlr-protocols, + pixman, + mesa, + vulkan-loader, + libinput, + xorg, + seatd, + wlroots, }: stdenv.mkDerivation (finalAttrs: { @@ -62,9 +63,12 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Qt and QML bindings for wlroots"; homepage = "https://github.com/vioken/qwlroots"; - license = with lib.licenses; [ gpl3Only lgpl3Only asl20 ]; + license = with lib.licenses; [ + gpl3Only + lgpl3Only + asl20 + ]; platforms = wlroots.meta.platforms; maintainers = with lib.maintainers; [ rewine ]; }; }) - diff --git a/pkgs/development/libraries/qwt/6_1.nix b/pkgs/development/libraries/qwt/6_1.nix index 4e3a179e75207..bf5a4c35a7029 100644 --- a/pkgs/development/libraries/qwt/6_1.nix +++ b/pkgs/development/libraries/qwt/6_1.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }: +{ + lib, + stdenv, + fetchurl, + qtbase, + qtsvg, + qttools, + qmake, +}: stdenv.mkDerivation rec { pname = "qwt"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-mUYNMcEV7kEXsBddiF9HwsWQ14QgbwmBXcBY++Xt4fY="; }; - propagatedBuildInputs = [ qtbase qtsvg qttools ]; + propagatedBuildInputs = [ + qtbase + qtsvg + qttools + ]; nativeBuildInputs = [ qmake ]; postPatch = '' diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix index 814e8f0252c1b..7ff4c929e4868 100644 --- a/pkgs/development/libraries/qwt/default.nix +++ b/pkgs/development/libraries/qwt/default.nix @@ -1,17 +1,33 @@ -{ lib, stdenv, fetchurl, qtbase, qtsvg, qttools, qmake, fixDarwinDylibNames }: +{ + lib, + stdenv, + fetchurl, + qtbase, + qtsvg, + qttools, + qmake, + fixDarwinDylibNames, +}: stdenv.mkDerivation rec { pname = "qwt"; version = "6.3.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchurl { url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2"; sha256 = "sha256-3LCFiWwoquxVGMvAjA7itOYK2nrJKdgmOfYYmFGmEpo="; }; - propagatedBuildInputs = [ qtbase qtsvg qttools ]; + propagatedBuildInputs = [ + qtbase + qtsvg + qttools + ]; nativeBuildInputs = [ qmake ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; postPatch = '' diff --git a/pkgs/development/libraries/qxlsx/default.nix b/pkgs/development/libraries/qxlsx/default.nix index 45324d97e5a74..fa9d291a67590 100644 --- a/pkgs/development/libraries/qxlsx/default.nix +++ b/pkgs/development/libraries/qxlsx/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, }: stdenv.mkDerivation rec { @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; - meta = with lib;{ + meta = with lib; { description = "Excel file(*.xlsx) reader/writer library using Qt 5 or 6"; homepage = "https://qtexcel.github.io/QXlsx"; license = licenses.mit; diff --git a/pkgs/development/libraries/qzxing/default.nix b/pkgs/development/libraries/qzxing/default.nix index 4cb224e2c040f..e8ac307dfe0f3 100644 --- a/pkgs/development/libraries/qzxing/default.nix +++ b/pkgs/development/libraries/qzxing/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchFromGitHub -, nix-update-script -, testers -, qmake -, qtmultimedia +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + testers, + qmake, + qtmultimedia, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/rabbitmq-java-client/default.nix b/pkgs/development/libraries/rabbitmq-java-client/default.nix index 92aee32c38d1c..ad21dff6609bc 100644 --- a/pkgs/development/libraries/rabbitmq-java-client/default.nix +++ b/pkgs/development/libraries/rabbitmq-java-client/default.nix @@ -1,4 +1,13 @@ -{ fetchurl, lib, stdenv, ant, jdk, jre, python2, makeWrapper }: +{ + fetchurl, + lib, + stdenv, + ant, + jdk, + jre, + python2, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "rabbitmq-java-client"; @@ -10,7 +19,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ant jdk python2 ]; + buildInputs = [ + ant + jdk + python2 + ]; buildPhase = "ant dist"; @@ -28,9 +41,12 @@ stdenv.mkDerivation rec { homepage = "https://www.rabbitmq.com/java-client.html"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # source bundles dependencies as jars + binaryBytecode # source bundles dependencies as jars + ]; + license = with licenses; [ + mpl11 + gpl2 ]; - license = with licenses; [ mpl11 gpl2 ]; platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/randomx/default.nix b/pkgs/development/libraries/randomx/default.nix index 4e85b3688ab7e..75e72e16fbc12 100644 --- a/pkgs/development/libraries/randomx/default.nix +++ b/pkgs/development/libraries/randomx/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "randomX"; diff --git a/pkgs/development/libraries/readline/7.0.nix b/pkgs/development/libraries/readline/7.0.nix index 3b643a9e15fe5..273f8fdd75430 100644 --- a/pkgs/development/libraries/readline/7.0.nix +++ b/pkgs/development/libraries/readline/7.0.nix @@ -1,4 +1,8 @@ -{ fetchurl, lib, stdenv, ncurses +{ + fetchurl, + lib, + stdenv, + ncurses, }: stdenv.mkDerivation rec { @@ -10,28 +14,35 @@ stdenv.mkDerivation rec { sha256 = "0d13sg9ksf982rrrmv5mb6a2p4ys9rvg9r71d6il0vr8hmql63bm"; }; - outputs = [ "out" "dev" "man" "doc" "info" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + "info" + ]; strictDeps = true; propagatedBuildInputs = [ ncurses ]; patchFlags = [ "-p0" ]; - upstreamPatches = - (let - patch = nr: sha256: - fetchurl { - url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline70-${nr}"; - inherit sha256; - }; - in - import ./readline-7.0-patches.nix patch); - - patches = - [ ./link-against-ncurses.patch - ./no-arch_only-6.3.patch - ] - ++ upstreamPatches; + upstreamPatches = ( + let + patch = + nr: sha256: + fetchurl { + url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline70-${nr}"; + inherit sha256; + }; + in + import ./readline-7.0-patches.nix patch + ); + + patches = [ + ./link-against-ncurses.patch + ./no-arch_only-6.3.patch + ] ++ upstreamPatches; meta = with lib; { description = "Library for interactive line editing"; diff --git a/pkgs/development/libraries/readline/readline-7.0-patches.nix b/pkgs/development/libraries/readline/readline-7.0-patches.nix index c34ef2bf97bbe..c4c95d91a0e9e 100644 --- a/pkgs/development/libraries/readline/readline-7.0-patches.nix +++ b/pkgs/development/libraries/readline/readline-7.0-patches.nix @@ -1,9 +1,9 @@ # Automatically generated by `update-patch-set.sh'; do not edit. patch: [ -(patch "001" "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs") -(patch "002" "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7") -(patch "003" "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy") -(patch "004" "0r3bbaf12iz8m02z6p3fzww2m365fhn71xmzab2p62gj54s6h9gr") -(patch "005" "0lxpa4f72y2nsgj6fgrhjk2nmmxvccys6aciwfxwchb5f21rq5fa") + (patch "001" "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs") + (patch "002" "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7") + (patch "003" "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy") + (patch "004" "0r3bbaf12iz8m02z6p3fzww2m365fhn71xmzab2p62gj54s6h9gr") + (patch "005" "0lxpa4f72y2nsgj6fgrhjk2nmmxvccys6aciwfxwchb5f21rq5fa") ] diff --git a/pkgs/development/libraries/readline/readline-8.2-patches.nix b/pkgs/development/libraries/readline/readline-8.2-patches.nix index 37f9aeb8f7f72..7d98ff1fc71fd 100644 --- a/pkgs/development/libraries/readline/readline-8.2-patches.nix +++ b/pkgs/development/libraries/readline/readline-8.2-patches.nix @@ -1,17 +1,17 @@ # Automatically generated by `update-patch-set.sh'; do not edit. patch: [ -(patch "001" "1xxgfgr6hn3ads8m8xsrdi1kbx1f3s69k0danpd9x4haqhg7zydv") -(patch "002" "0ly0siy6qy3l7hv12847adpfa34yq1w4qz9qkw6vrxv25j106rg0") -(patch "003" "1c5cwvvkx9mfmpaapymq9cavmzh4fnagkjlchsqx4vml8sx8gx94") -(patch "004" "1b15sndx9v5vj3x1f3h73099nlagknx4rbfpd5ldrbw2xgm2wmvr") -(patch "005" "16ac25jz1a1mgkpfp1sydqf6qpsfh0s0dcmrnjpqbhg5va3s6av2") -(patch "006" "18gmh6y3klh0vv28cyqz4is3rlb32pl7f1kf5r482kfjq3w5zd67") -(patch "007" "1xmnpahs983n4w0gn3j0wr8nh1dpva33yj7fvfmhm46ph2wsa4ar") -(patch "008" "0smjjzhwxi2ibpdisnk53lh1pzgka6rhlqyh3662xy69v34ysxx1") -(patch "009" "05m1fwbs7mbs3pz3pg87gbbayandrrcgaqawzliqb6g1jbk8b61x") -(patch "010" "0k3vyrjs2g6y2cfs03l2gp37fhxgqpiwvxb1c7z4q88cbb32x3km") -(patch "011" "1msdahvz56l9m5m69a87zp2c7qrfv0dxwd09rj1697isgy83s0g0") -(patch "012" "1lybzig73pqpcbw79im0kn6299lkcbnh24yigygn5jm2sj7dz2kc") -(patch "013" "1a48lyrhvn6nbj5qhradfpbbs3md5maz7wb32yvaghvfgnak990y") + (patch "001" "1xxgfgr6hn3ads8m8xsrdi1kbx1f3s69k0danpd9x4haqhg7zydv") + (patch "002" "0ly0siy6qy3l7hv12847adpfa34yq1w4qz9qkw6vrxv25j106rg0") + (patch "003" "1c5cwvvkx9mfmpaapymq9cavmzh4fnagkjlchsqx4vml8sx8gx94") + (patch "004" "1b15sndx9v5vj3x1f3h73099nlagknx4rbfpd5ldrbw2xgm2wmvr") + (patch "005" "16ac25jz1a1mgkpfp1sydqf6qpsfh0s0dcmrnjpqbhg5va3s6av2") + (patch "006" "18gmh6y3klh0vv28cyqz4is3rlb32pl7f1kf5r482kfjq3w5zd67") + (patch "007" "1xmnpahs983n4w0gn3j0wr8nh1dpva33yj7fvfmhm46ph2wsa4ar") + (patch "008" "0smjjzhwxi2ibpdisnk53lh1pzgka6rhlqyh3662xy69v34ysxx1") + (patch "009" "05m1fwbs7mbs3pz3pg87gbbayandrrcgaqawzliqb6g1jbk8b61x") + (patch "010" "0k3vyrjs2g6y2cfs03l2gp37fhxgqpiwvxb1c7z4q88cbb32x3km") + (patch "011" "1msdahvz56l9m5m69a87zp2c7qrfv0dxwd09rj1697isgy83s0g0") + (patch "012" "1lybzig73pqpcbw79im0kn6299lkcbnh24yigygn5jm2sj7dz2kc") + (patch "013" "1a48lyrhvn6nbj5qhradfpbbs3md5maz7wb32yvaghvfgnak990y") ] diff --git a/pkgs/development/libraries/rlottie-qml/default.nix b/pkgs/development/libraries/rlottie-qml/default.nix index 5154c816624e7..7a71fa3295d7c 100644 --- a/pkgs/development/libraries/rlottie-qml/default.nix +++ b/pkgs/development/libraries/rlottie-qml/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, cmake -, qtbase -, qtdeclarative -, qtmultimedia -, quazip -, rlottie +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + cmake, + qtbase, + qtdeclarative, + qtmultimedia, + quazip, + rlottie, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/rnnoise-plugin/default.nix b/pkgs/development/libraries/rnnoise-plugin/default.nix index 4cf983add42b0..98cf154ec1e68 100644 --- a/pkgs/development/libraries/rnnoise-plugin/default.nix +++ b/pkgs/development/libraries/rnnoise-plugin/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, freetype -, gtk3-x11 -, pcre -, pkg-config -, webkitgtk_4_0 -, xorg -, WebKit -, MetalKit -, CoreAudioKit -, simd +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + freetype, + gtk3-x11, + pcre, + pkg-config, + webkitgtk_4_0, + xorg, + WebKit, + MetalKit, + CoreAudioKit, + simd, }: stdenv.mkDerivation rec { pname = "rnnoise-plugin"; @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-sfwHd5Fl2DIoGuPDjELrPp5KpApZJKzQikCJmCzhtY8="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; patches = lib.optionals stdenv.hostPlatform.isDarwin [ # Ubsan seems to be broken on aarch64-darwin, it produces linker errors similar to https://github.com/NixOS/nixpkgs/issues/140751 @@ -38,9 +42,11 @@ stdenv.mkDerivation rec { pcre xorg.libX11 xorg.libXrandr - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ webkitgtk_4_0 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ WebKit MetalKit CoreAudioKit @@ -52,6 +58,10 @@ stdenv.mkDerivation rec { homepage = "https://github.com/werman/noise-suppression-for-voice"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ panaeon henrikolsson sciencentistguy ]; + maintainers = with maintainers; [ + panaeon + henrikolsson + sciencentistguy + ]; }; } diff --git a/pkgs/development/libraries/rure/default.nix b/pkgs/development/libraries/rure/default.nix index 308eb41d1a902..58cce26b19ea3 100644 --- a/pkgs/development/libraries/rure/default.nix +++ b/pkgs/development/libraries/rure/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchCrate -, fixDarwinDylibNames +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + fixDarwinDylibNames, }: let @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage { cargoLock.lockFile = ./Cargo.lock; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; # Headers are not handled by cargo nor buildRustPackage postInstall = '' diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix index 698ac7986204f..8298aa6a6a2b4 100644 --- a/pkgs/development/libraries/schroedinger/default.nix +++ b/pkgs/development/libraries/schroedinger/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, orc, pkg-config, fetchpatch, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + orc, + pkg-config, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "schroedinger"; @@ -9,9 +17,16 @@ stdenv.mkDerivation rec { sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy"; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; buildInputs = [ orc ]; doCheck = (!stdenv.hostPlatform.isDarwin); @@ -28,7 +43,11 @@ stdenv.mkDerivation rec { description = "Implementation of the Dirac video codec in ANSI C"; homepage = "https://sourceforge.net/projects/schrodinger/"; maintainers = [ ]; - license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ]; + license = [ + licenses.mpl11 + licenses.lgpl2 + licenses.mit + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix index 3591a86dbb701..6840b2f353d2b 100644 --- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix +++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix @@ -1,5 +1,14 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, - qtbase, cfitsio, gsl, wcslib, withTester ? false }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + qtbase, + cfitsio, + gsl, + wcslib, + withTester ? false, +}: mkDerivation rec { pname = "stellarsolver"; @@ -14,7 +23,12 @@ mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ qtbase cfitsio gsl wcslib ]; + buildInputs = [ + qtbase + cfitsio + gsl + wcslib + ]; cmakeFlags = [ "-DBUILD_TESTER=${if withTester then "on" else "off"}" diff --git a/pkgs/development/libraries/science/biology/mirtk/default.nix b/pkgs/development/libraries/science/biology/mirtk/default.nix index 979f3589b3302..a1444db5b40ab 100644 --- a/pkgs/development/libraries/science/biology/mirtk/default.nix +++ b/pkgs/development/libraries/science/biology/mirtk/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, python3 -, boost -, eigen -, libGLU -, fltk -, itk -, vtk -, zlib -, tbb +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + python3, + boost, + eigen, + libGLU, + fltk, + itk, + vtk, + zlib, + tbb, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix b/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix index f0d23b7e2e257..c362a76b22269 100644 --- a/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix +++ b/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix @@ -1,9 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, eigen, libGL, spglib -, mmtf-cpp, glew, python3, libarchive, libmsym, msgpack, qttools, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + zlib, + eigen, + libGL, + spglib, + mmtf-cpp, + glew, + python3, + libarchive, + libmsym, + msgpack, + qttools, + wrapQtAppsHook, }: let - pythonWP = python3.withPackages (p: with p; [ openbabel-bindings numpy ]); + pythonWP = python3.withPackages ( + p: with p; [ + openbabel-bindings + numpy + ] + ); # Pure data repositories moleculesRepo = fetchFromGitHub { @@ -25,7 +46,8 @@ let hash = "sha256-Valc5zwlaZ//eDupFouCfWCeID7/4ObU1SDLFJ/mo/g="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "avogadrolibs"; version = "1.99.0"; diff --git a/pkgs/development/libraries/science/chemistry/molequeue/default.nix b/pkgs/development/libraries/science/chemistry/molequeue/default.nix index 5cd8669c5597d..4ac575e752389 100644 --- a/pkgs/development/libraries/science/chemistry/molequeue/default.nix +++ b/pkgs/development/libraries/science/chemistry/molequeue/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, qttools, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qttools, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "molequeue"; diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix index 79be07ccf959d..ac2d3b1b8b9e8 100644 --- a/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix +++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, gfortran -, meson -, ninja -, pkg-config -, mctc-lib -, mstore -, toml-f -, blas +{ + stdenv, + lib, + fetchFromGitHub, + gfortran, + meson, + ninja, + pkg-config, + mctc-lib, + mstore, + toml-f, + blas, }: assert !blas.isILP64; @@ -24,11 +25,24 @@ stdenv.mkDerivation rec { hash = "sha256-c4xctcMcPQ70ippqbwtinygmnZ5en6ZGF5/v0ZWtzys="; }; - nativeBuildInputs = [ gfortran meson ninja pkg-config ]; - - buildInputs = [ mctc-lib mstore toml-f blas ]; - - outputs = [ "out" "dev" ]; + nativeBuildInputs = [ + gfortran + meson + ninja + pkg-config + ]; + + buildInputs = [ + mctc-lib + mstore + toml-f + blas + ]; + + outputs = [ + "out" + "dev" + ]; doCheck = true; preCheck = '' @@ -38,7 +52,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Reimplementation of the DFT-D3 program"; mainProgram = "s-dftd3"; - license = with licenses; [ lgpl3Only gpl3Only ]; + license = with licenses; [ + lgpl3Only + gpl3Only + ]; homepage = "https://github.com/dftd3/simple-dftd3"; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix b/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix index 267ac53d75d1b..8fe3ef70ef2ad 100644 --- a/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix +++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix @@ -1,16 +1,22 @@ -{ buildPythonPackage -, simple-dftd3 -, cffi -, numpy -, toml -, qcengine -, pyscf -, ase -, pytestCheckHook +{ + buildPythonPackage, + simple-dftd3, + cffi, + numpy, + toml, + qcengine, + pyscf, + ase, + pytestCheckHook, }: buildPythonPackage { - inherit (simple-dftd3) pname version src meta; + inherit (simple-dftd3) + pname + version + src + meta + ; # pytest is also required for installation, not only testing nativeBuildInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/libraries/science/chemistry/tblite/default.nix b/pkgs/development/libraries/science/chemistry/tblite/default.nix index 4f8c43a08e497..aab92c46c25a7 100644 --- a/pkgs/development/libraries/science/chemistry/tblite/default.nix +++ b/pkgs/development/libraries/science/chemistry/tblite/default.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, gfortran -, meson -, ninja -, pkg-config -, blas -, lapack -, mctc-lib -, mstore -, toml-f -, multicharge -, dftd4 -, simple-dftd3 +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + gfortran, + meson, + ninja, + pkg-config, + blas, + lapack, + mctc-lib, + mstore, + toml-f, + multicharge, + dftd4, + simple-dftd3, }: assert !blas.isILP64 && !lapack.isILP64; @@ -55,7 +56,10 @@ stdenv.mkDerivation rec { simple-dftd3 ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; doCheck = true; preCheck = '' @@ -65,7 +69,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Light-weight tight-binding framework"; mainProgram = "tblite"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; homepage = "https://github.com/tblite/tblite"; platforms = platforms.linux; maintainers = [ maintainers.sheepforce ]; diff --git a/pkgs/development/libraries/science/chemistry/tblite/python.nix b/pkgs/development/libraries/science/chemistry/tblite/python.nix index cfe8668204e27..2f6563295624d 100644 --- a/pkgs/development/libraries/science/chemistry/tblite/python.nix +++ b/pkgs/development/libraries/science/chemistry/tblite/python.nix @@ -1,38 +1,46 @@ -{ lib -, buildPythonPackage -, pythonAtLeast -, fetchpatch -, meson -, ninja -, pkg-config -, tblite -, numpy -, simple-dftd3 -, cffi -, gfortran -, blas -, lapack -, mctc-lib -, mstore -, toml-f -, multicharge -, dftd4 -, setuptools +{ + lib, + buildPythonPackage, + pythonAtLeast, + fetchpatch, + meson, + ninja, + pkg-config, + tblite, + numpy, + simple-dftd3, + cffi, + gfortran, + blas, + lapack, + mctc-lib, + mstore, + toml-f, + multicharge, + dftd4, + setuptools, }: buildPythonPackage { - inherit (tblite) pname version src meta; + inherit (tblite) + pname + version + src + meta + ; - nativeBuildInputs = [ - tblite - meson - ninja - pkg-config - gfortran - mctc-lib - ] ++ lib.optionals (pythonAtLeast "3.12") [ - setuptools - ]; + nativeBuildInputs = + [ + tblite + meson + ninja + pkg-config + gfortran + mctc-lib + ] + ++ lib.optionals (pythonAtLeast "3.12") [ + setuptools + ]; buildInputs = [ tblite @@ -46,8 +54,12 @@ buildPythonPackage { dftd4 ]; - propagatedBuildInputs = [ tblite simple-dftd3 cffi numpy ]; - + propagatedBuildInputs = [ + tblite + simple-dftd3 + cffi + numpy + ]; patches = [ # Add multicharge to the meson deps; otherwise we get missing mod_multicharge errors @@ -61,6 +73,9 @@ buildPythonPackage { ]; format = "other"; - pythonImportsCheck = [ "tblite" "tblite.interface" ]; + pythonImportsCheck = [ + "tblite" + "tblite.interface" + ]; mesonFlags = [ "-Dpython=true" ]; } diff --git a/pkgs/development/libraries/science/electronics/qcsxcad/default.nix b/pkgs/development/libraries/science/electronics/qcsxcad/default.nix index 6ac453aec2c03..25d739f739de2 100644 --- a/pkgs/development/libraries/science/electronics/qcsxcad/default.nix +++ b/pkgs/development/libraries/science/electronics/qcsxcad/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, csxcad -, tinyxml -, vtkWithQt5 -, qtbase +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + csxcad, + tinyxml, + vtkWithQt5, + qtbase, }: mkDerivation { @@ -19,7 +20,10 @@ mkDerivation { hash = "sha256-kc9Vnx6jGiQC2K88ZH00b61D/DbWxAIZZwYCsINqtrY="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/development/libraries/science/math/clblas/default.nix b/pkgs/development/libraries/science/math/clblas/default.nix index 17dddf9018199..8bd4297fb95bc 100644 --- a/pkgs/development/libraries/science/math/clblas/default.nix +++ b/pkgs/development/libraries/science/math/clblas/default.nix @@ -1,14 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, gfortran -, blas -, boost -, python3 -, ocl-icd -, opencl-headers -, Accelerate, CoreGraphics, CoreVideo, OpenCL +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + gfortran, + blas, + boost, + python3, + ocl-icd, + opencl-headers, + Accelerate, + CoreGraphics, + CoreVideo, + OpenCL, }: stdenv.mkDerivation rec { @@ -39,21 +44,28 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ - "-DBUILD_TEST=OFF" + "-DBUILD_TEST=OFF" ]; - nativeBuildInputs = [ cmake gfortran python3 ]; - buildInputs = [ - blas - boost - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - ocl-icd - opencl-headers - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Accelerate - CoreGraphics - CoreVideo + nativeBuildInputs = [ + cmake + gfortran + python3 ]; + buildInputs = + [ + blas + boost + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + ocl-icd + opencl-headers + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + CoreGraphics + CoreVideo + ]; propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ OpenCL ]; diff --git a/pkgs/development/libraries/science/math/libtorch/bin.nix b/pkgs/development/libraries/science/math/libtorch/bin.nix index 8cbe481207e2d..5118017b247da 100644 --- a/pkgs/development/libraries/science/math/libtorch/bin.nix +++ b/pkgs/development/libraries/science/math/libtorch/bin.nix @@ -1,16 +1,17 @@ -{ callPackage -, stdenv -, fetchzip -, lib -, libcxx -, llvmPackages -, config +{ + callPackage, + stdenv, + fetchzip, + lib, + libcxx, + llvmPackages, + config, -, addDriverRunpath -, patchelf -, fixDarwinDylibNames + addDriverRunpath, + patchelf, + fixDarwinDylibNames, -, cudaSupport ? config.cudaSupport + cudaSupport ? config.cudaSupport, }: let @@ -24,15 +25,18 @@ let srcs = import ./binary-hashes.nix version; unavailable = throw "libtorch is not available for this platform"; libcxx-for-libtorch = if stdenv.hostPlatform.isDarwin then libcxx else (lib.getLib stdenv.cc.cc); -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit version; pname = "libtorch"; src = fetchzip srcs."${stdenv.hostPlatform.system}-${device}" or unavailable; nativeBuildInputs = - if stdenv.hostPlatform.isDarwin then [ fixDarwinDylibNames ] - else [ patchelf ] ++ lib.optionals cudaSupport [ addDriverRunpath ]; + if stdenv.hostPlatform.isDarwin then + [ fixDarwinDylibNames ] + else + [ patchelf ] ++ lib.optionals cudaSupport [ addDriverRunpath ]; dontBuild = true; dontConfigure = true; @@ -58,38 +62,44 @@ in stdenv.mkDerivation { --replace \''${_IMPORT_PREFIX}/lib "$out/lib" \ ''; - postFixup = let - rpath = lib.makeLibraryPath [ stdenv.cc.cc ]; - in lib.optionalString stdenv.hostPlatform.isLinux '' - find $out/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do - echo "setting rpath for $lib..." - patchelf --set-rpath "${rpath}:$out/lib" "$lib" - ${lib.optionalString cudaSupport '' - addDriverRunpath "$lib" - ''} - done - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - for f in $out/lib/*.dylib; do - otool -L $f - done - for f in $out/lib/*.dylib; do - if otool -L $f | grep "@rpath/libomp.dylib" >& /dev/null; then - install_name_tool -change "@rpath/libomp.dylib" ${llvmPackages.openmp}/lib/libomp.dylib $f - fi - install_name_tool -id $out/lib/$(basename $f) $f || true - for rpath in $(otool -L $f | grep rpath | awk '{print $1}');do - install_name_tool -change $rpath $out/lib/$(basename $rpath) $f + postFixup = + let + rpath = lib.makeLibraryPath [ stdenv.cc.cc ]; + in + lib.optionalString stdenv.hostPlatform.isLinux '' + find $out/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do + echo "setting rpath for $lib..." + patchelf --set-rpath "${rpath}:$out/lib" "$lib" + ${lib.optionalString cudaSupport '' + addDriverRunpath "$lib" + ''} done - if otool -L $f | grep /usr/lib/libc++ >& /dev/null; then - install_name_tool -change /usr/lib/libc++.1.dylib ${libcxx-for-libtorch.outPath}/lib/libc++.1.0.dylib $f - fi - done - for f in $out/lib/*.dylib; do - otool -L $f - done - ''; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for f in $out/lib/*.dylib; do + otool -L $f + done + for f in $out/lib/*.dylib; do + if otool -L $f | grep "@rpath/libomp.dylib" >& /dev/null; then + install_name_tool -change "@rpath/libomp.dylib" ${llvmPackages.openmp}/lib/libomp.dylib $f + fi + install_name_tool -id $out/lib/$(basename $f) $f || true + for rpath in $(otool -L $f | grep rpath | awk '{print $1}');do + install_name_tool -change $rpath $out/lib/$(basename $rpath) $f + done + if otool -L $f | grep /usr/lib/libc++ >& /dev/null; then + install_name_tool -change /usr/lib/libc++.1.dylib ${libcxx-for-libtorch.outPath}/lib/libc++.1.0.dylib $f + fi + done + for f in $out/lib/*.dylib; do + otool -L $f + done + ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; passthru.tests.cmake = callPackage ./test { inherit cudaSupport; diff --git a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix index 4f6350d931165..9d6e860e3d0be 100644 --- a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix +++ b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix @@ -1,4 +1,5 @@ -version: builtins.getAttr version { +version: +builtins.getAttr version { "2.5.0" = { aarch64-darwin-cpu = { name = "libtorch-macos-arm64-2.5.0.zip"; diff --git a/pkgs/development/libraries/science/math/libtorch/test/default.nix b/pkgs/development/libraries/science/math/libtorch/test/default.nix index a4b8c2f79140d..01ae0e7d2c975 100644 --- a/pkgs/development/libraries/science/math/libtorch/test/default.nix +++ b/pkgs/development/libraries/science/math/libtorch/test/default.nix @@ -1,29 +1,36 @@ -{ lib -, stdenv -, cmake -, libtorch-bin -, linkFarm -, symlinkJoin - -, cudaSupport -, cudaPackages ? {} +{ + lib, + stdenv, + cmake, + libtorch-bin, + linkFarm, + symlinkJoin, + + cudaSupport, + cudaPackages ? { }, }: let inherit (cudaPackages) cudatoolkit cudnn; cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; - paths = [ cudatoolkit.out cudatoolkit.lib ]; + paths = [ + cudatoolkit.out + cudatoolkit.lib + ]; }; # We do not have access to /run/opengl-driver/lib in the sandbox, # so use a stub instead. - cudaStub = linkFarm "cuda-stub" [{ - name = "libcuda.so.1"; - path = "${cudatoolkit}/lib/stubs/libcuda.so"; - }]; + cudaStub = linkFarm "cuda-stub" [ + { + name = "libcuda.so.1"; + path = "${cudatoolkit}/lib/stubs/libcuda.so"; + } + ]; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "libtorch-test"; version = libtorch-bin.version; @@ -37,11 +44,9 @@ in stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - buildInputs = [ libtorch-bin ] ++ - lib.optionals cudaSupport [ cudnn ]; + buildInputs = [ libtorch-bin ] ++ lib.optionals cudaSupport [ cudnn ]; - cmakeFlags = lib.optionals cudaSupport - [ "-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit_joined}" ]; + cmakeFlags = lib.optionals cudaSupport [ "-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit_joined}" ]; doCheck = true; @@ -49,9 +54,11 @@ in stdenv.mkDerivation { touch $out ''; - checkPhase = lib.optionalString cudaSupport '' - LD_LIBRARY_PATH=${cudaStub}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \ - '' + '' - ./test - ''; + checkPhase = + lib.optionalString cudaSupport '' + LD_LIBRARY_PATH=${cudaStub}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \ + '' + + '' + ./test + ''; } diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix index 9eb410595974d..e23728abf203d 100644 --- a/pkgs/development/libraries/science/math/magma/default.nix +++ b/pkgs/development/libraries/science/math/magma/default.nix @@ -1,6 +1,7 @@ -args@{ callPackage -, lib -, ... +args@{ + callPackage, + lib, + ... }: # Type aliases @@ -16,11 +17,14 @@ let computeName = version: "magma_${strings.replaceStrings [ "." ] [ "_" ] version}"; # buildMagmaPackage :: Release -> Derivation - buildMagmaPackage = magmaRelease: callPackage ./generic.nix ( - (builtins.removeAttrs args [ "callPackage" ]) // { - inherit magmaRelease; - } - ); + buildMagmaPackage = + magmaRelease: + callPackage ./generic.nix ( + (builtins.removeAttrs args [ "callPackage" ]) + // { + inherit magmaRelease; + } + ); # Reverse the list to have the latest release first # magmaReleases :: List Release @@ -50,4 +54,3 @@ let in builds - diff --git a/pkgs/development/libraries/science/math/magma/generic.nix b/pkgs/development/libraries/science/math/magma/generic.nix index b1b2b80be0fc6..9cd9446798179 100644 --- a/pkgs/development/libraries/science/math/magma/generic.nix +++ b/pkgs/development/libraries/science/math/magma/generic.nix @@ -5,41 +5,44 @@ # supportedGpuTargets: List String # } -{ autoPatchelfHook -, blas -, cmake -, cudaPackages_11 ? null -, cudaPackages -, cudaSupport ? config.cudaSupport -, fetchurl -, gfortran -, gpuTargets ? [ ] # Non-CUDA targets, that is HIP -, rocmPackages_5 -, lapack -, lib -, libpthreadstubs -, magmaRelease -, ninja -, python3 -, config +{ + autoPatchelfHook, + blas, + cmake, + cudaPackages_11 ? null, + cudaPackages, + cudaSupport ? config.cudaSupport, + fetchurl, + gfortran, + gpuTargets ? [ ], # Non-CUDA targets, that is HIP + rocmPackages_5, + lapack, + lib, + libpthreadstubs, + magmaRelease, + ninja, + python3, + config, # At least one back-end has to be enabled, # and we can't default to CUDA since it's unfree -, rocmSupport ? !cudaSupport -, static ? stdenv.hostPlatform.isStatic -, stdenv + rocmSupport ? !cudaSupport, + static ? stdenv.hostPlatform.isStatic, + stdenv, }: - let - inherit (lib) getLib lists strings trivial; + inherit (lib) + getLib + lists + strings + trivial + ; inherit (magmaRelease) version hash supportedGpuTargets; # Per https://icl.utk.edu/magma/downloads, support for CUDA 12 wasn't added until 2.7.1. # If we're building a version prior to that, use the latest release of the 11.x series. effectiveCudaPackages = - if strings.versionOlder version "2.7.1" - then cudaPackages_11 - else cudaPackages; + if strings.versionOlder version "2.7.1" then cudaPackages_11 else cudaPackages; inherit (effectiveCudaPackages) cudaAtLeast flags cudaOlder; @@ -62,17 +65,16 @@ let unsupportedCustomGpuTargets = lists.subtractLists supportedCustomGpuTargets gpuTargets; # Use trivial.warnIf to print a warning if any unsupported GPU targets are specified. - gpuArchWarner = supported: unsupported: - trivial.throwIf (supported == [ ]) - ( - "No supported GPU targets specified. Requested GPU targets: " - + strings.concatStringsSep ", " unsupported - ) - supported; + gpuArchWarner = + supported: unsupported: + trivial.throwIf (supported == [ ]) ( + "No supported GPU targets specified. Requested GPU targets: " + + strings.concatStringsSep ", " unsupported + ) supported; gpuTargetString = strings.concatStringsSep "," ( if gpuTargets != [ ] then - # If gpuTargets is specified, it always takes priority. + # If gpuTargets is specified, it always takes priority. gpuArchWarner supportedCustomGpuTargets unsupportedCustomGpuTargets else if rocmSupport then gpuArchWarner supportedRocmArches unsupportedRocmArches @@ -108,7 +110,10 @@ stdenv.mkDerivation { # Magma doesn't have anything which could be run under doCheck, but it does build test suite executables. # These are moved to $test/bin/ and $test/lib/ in postInstall. - outputs = ["out" "test"]; + outputs = [ + "out" + "test" + ]; # Fixup for the python test runners postPatch = '' @@ -119,57 +124,71 @@ stdenv.mkDerivation { "print(f\"{cmdp} doesn't exist (original name: {cmd}, precision: {precision})\", file=sys.stderr)" ''; - nativeBuildInputs = [ - autoPatchelfHook - cmake - ninja - gfortran - ] ++ lists.optionals cudaSupport [ - effectiveCudaPackages.cuda_nvcc - ]; - - buildInputs = [ - libpthreadstubs - lapack - blas - python3 - (getLib gfortran.cc) # libgfortran.so - ] ++ lists.optionals cudaSupport (with effectiveCudaPackages; [ - cuda_cudart # cuda_runtime.h - libcublas # cublas_v2.h - libcusparse # cusparse.h - ] ++ lists.optionals (cudaOlder "11.8") [ - cuda_nvprof # - ] ++ lists.optionals (cudaAtLeast "11.8") [ - cuda_profiler_api # - ] ++ lists.optionals (cudaAtLeast "12.0") [ - cuda_cccl # - ]) ++ lists.optionals rocmSupport [ - rocmPackages.clr - rocmPackages.hipblas - rocmPackages.hipsparse - rocmPackages.llvm.openmp - ]; - - cmakeFlags = [ - (strings.cmakeFeature "GPU_TARGET" gpuTargetString) - (strings.cmakeBool "MAGMA_ENABLE_CUDA" cudaSupport) - (strings.cmakeBool "MAGMA_ENABLE_HIP" rocmSupport) - (strings.cmakeBool "BUILD_SHARED_LIBS" (!static)) - # Set the Fortran name mangling scheme explicitly. We must set FORTRAN_CONVENTION manually because it will - # otherwise not be set in NVCC_FLAGS or DEVCCFLAGS (which we cannot modify). - # See https://github.com/NixOS/nixpkgs/issues/281656#issuecomment-1902931289 - (strings.cmakeBool "USE_FORTRAN" true) - (strings.cmakeFeature "CMAKE_C_FLAGS" "-DADD_") - (strings.cmakeFeature "CMAKE_CXX_FLAGS" "-DADD_") - (strings.cmakeFeature "FORTRAN_CONVENTION" "-DADD_") - ] ++ lists.optionals cudaSupport [ - (strings.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString) - (strings.cmakeFeature "MIN_ARCH" minArch) # Disarms magma's asserts - ] ++ lists.optionals rocmSupport [ - (strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/hipcc") - (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/hipcc") - ]; + nativeBuildInputs = + [ + autoPatchelfHook + cmake + ninja + gfortran + ] + ++ lists.optionals cudaSupport [ + effectiveCudaPackages.cuda_nvcc + ]; + + buildInputs = + [ + libpthreadstubs + lapack + blas + python3 + (getLib gfortran.cc) # libgfortran.so + ] + ++ lists.optionals cudaSupport ( + with effectiveCudaPackages; + [ + cuda_cudart # cuda_runtime.h + libcublas # cublas_v2.h + libcusparse # cusparse.h + ] + ++ lists.optionals (cudaOlder "11.8") [ + cuda_nvprof # + ] + ++ lists.optionals (cudaAtLeast "11.8") [ + cuda_profiler_api # + ] + ++ lists.optionals (cudaAtLeast "12.0") [ + cuda_cccl # + ] + ) + ++ lists.optionals rocmSupport [ + rocmPackages.clr + rocmPackages.hipblas + rocmPackages.hipsparse + rocmPackages.llvm.openmp + ]; + + cmakeFlags = + [ + (strings.cmakeFeature "GPU_TARGET" gpuTargetString) + (strings.cmakeBool "MAGMA_ENABLE_CUDA" cudaSupport) + (strings.cmakeBool "MAGMA_ENABLE_HIP" rocmSupport) + (strings.cmakeBool "BUILD_SHARED_LIBS" (!static)) + # Set the Fortran name mangling scheme explicitly. We must set FORTRAN_CONVENTION manually because it will + # otherwise not be set in NVCC_FLAGS or DEVCCFLAGS (which we cannot modify). + # See https://github.com/NixOS/nixpkgs/issues/281656#issuecomment-1902931289 + (strings.cmakeBool "USE_FORTRAN" true) + (strings.cmakeFeature "CMAKE_C_FLAGS" "-DADD_") + (strings.cmakeFeature "CMAKE_CXX_FLAGS" "-DADD_") + (strings.cmakeFeature "FORTRAN_CONVENTION" "-DADD_") + ] + ++ lists.optionals cudaSupport [ + (strings.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString) + (strings.cmakeFeature "MIN_ARCH" minArch) # Disarms magma's asserts + ] + ++ lists.optionals rocmSupport [ + (strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/hipcc") + (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/hipcc") + ]; # Magma doesn't have a test suite we can easily run, just loose executables, all of which require a GPU. doCheck = false; diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 54b4f7cabd92a..0a81f0f8af393 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -1,39 +1,46 @@ -{ lib, stdenv, fetchFromGitHub, perl, which -# Most packages depending on openblas expect integer width to match -# pointer width, but some expect to use 32-bit integers always -# (for compatibility with reference BLAS). -, blas64 ? null -# Multi-threaded applications must not call a threaded OpenBLAS -# (the only exception is when an application uses OpenMP as its -# *only* form of multi-threading). See -# https://github.com/OpenMathLib/OpenBLAS/wiki/Faq/4bded95e8dc8aadc70ce65267d1093ca7bdefc4c#multi-threaded -# https://github.com/OpenMathLib/OpenBLAS/issues/2543 -# This flag builds a single-threaded OpenBLAS using the flags -# stated in thre. -, singleThreaded ? false -, buildPackages -# Select a specific optimization target (other than the default) -# See https://github.com/OpenMathLib/OpenBLAS/blob/develop/TargetList.txt -, target ? null -# Select whether DYNAMIC_ARCH is enabled or not. -, dynamicArch ? null -# enable AVX512 optimized kernels. -# These kernels have been a source of trouble in the past. -# Use with caution. -, enableAVX512 ? false -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !stdenv.hostPlatform.isStatic - -# for passthru.tests -, ceres-solver -, giac -, octave -, opencv -, python3 -, openmp ? null +{ + lib, + stdenv, + fetchFromGitHub, + perl, + which, + # Most packages depending on openblas expect integer width to match + # pointer width, but some expect to use 32-bit integers always + # (for compatibility with reference BLAS). + blas64 ? null, + # Multi-threaded applications must not call a threaded OpenBLAS + # (the only exception is when an application uses OpenMP as its + # *only* form of multi-threading). See + # https://github.com/OpenMathLib/OpenBLAS/wiki/Faq/4bded95e8dc8aadc70ce65267d1093ca7bdefc4c#multi-threaded + # https://github.com/OpenMathLib/OpenBLAS/issues/2543 + # This flag builds a single-threaded OpenBLAS using the flags + # stated in thre. + singleThreaded ? false, + buildPackages, + # Select a specific optimization target (other than the default) + # See https://github.com/OpenMathLib/OpenBLAS/blob/develop/TargetList.txt + target ? null, + # Select whether DYNAMIC_ARCH is enabled or not. + dynamicArch ? null, + # enable AVX512 optimized kernels. + # These kernels have been a source of trouble in the past. + # Use with caution. + enableAVX512 ? false, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, + + # for passthru.tests + ceres-solver, + giac, + octave, + opencv, + python3, + openmp ? null, }: -let blas64_ = blas64; in +let + blas64_ = blas64; +in let setTarget = x: if target == null then x else target; @@ -127,21 +134,23 @@ in let config = configs.${stdenv.hostPlatform.system} - or (throw "unsupported system: ${stdenv.hostPlatform.system}"); + or (throw "unsupported system: ${stdenv.hostPlatform.system}"); in let - blas64 = - if blas64_ != null - then blas64_ - else lib.hasPrefix "x86_64" stdenv.hostPlatform.system; + blas64 = if blas64_ != null then blas64_ else lib.hasPrefix "x86_64" stdenv.hostPlatform.system; # Convert flag values to format OpenBLAS's build expects. # `toString` is almost what we need other than bools, # which we need to map {true -> 1, false -> 0} # (`toString` produces empty string `""` for false instead of `0`) - mkMakeFlagValue = val: - if !builtins.isBool val then toString val - else if val then "1" else "0"; + mkMakeFlagValue = + val: + if !builtins.isBool val then + toString val + else if val then + "1" + else + "0"; mkMakeFlagsFromConfig = lib.mapAttrsToList (var: val: "${var}=${mkMakeFlagValue val}"); shlibExt = stdenv.hostPlatform.extensions.sharedLibrary; @@ -151,7 +160,10 @@ stdenv.mkDerivation rec { pname = "openblas"; version = "0.3.28"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "OpenMathLib"; @@ -173,18 +185,22 @@ stdenv.mkDerivation rec { # In either case, OpenBLAS must only be used by trusted code--it is # inherently unsuitable for security-conscious applications--so there should # be no objection to disabling these hardening measures. - hardeningDisable = [ - # don't modify or move the stack - "stackprotector" "pic" - # don't alter index arithmetic - "strictoverflow" - # don't interfere with dynamic target detection - "relro" "bindnow" - ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ - # "__builtin_clear_padding not supported for variable length aggregates" - # in aarch64-specific code - "trivialautovarinit" - ]; + hardeningDisable = + [ + # don't modify or move the stack + "stackprotector" + "pic" + # don't alter index arithmetic + "strictoverflow" + # don't interfere with dynamic target detection + "relro" + "bindnow" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + # "__builtin_clear_padding not supported for variable length aggregates" + # in aarch64-specific code + "trivialautovarinit" + ]; nativeBuildInputs = [ perl @@ -200,74 +216,90 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - makeFlags = mkMakeFlagsFromConfig (config // { - FC = "${stdenv.cc.targetPrefix}gfortran"; - CC = "${stdenv.cc.targetPrefix}${if stdenv.cc.isClang then "clang" else "cc"}"; - PREFIX = placeholder "out"; - OPENBLAS_INCLUDE_DIR = "${placeholder "dev"}/include"; - NUM_THREADS = 64; - INTERFACE64 = blas64; - NO_STATIC = !enableStatic; - NO_SHARED = !enableShared; - CROSS = stdenv.hostPlatform != stdenv.buildPlatform; - HOSTCC = "cc"; - # Makefile.system only checks defined status - # This seems to be a bug in the openblas Makefile: - # on x86_64 it expects NO_BINARY_MODE= - # but on aarch64 it expects NO_BINARY_MODE=0 - NO_BINARY_MODE = if stdenv.hostPlatform.isx86_64 - then toString (stdenv.hostPlatform != stdenv.buildPlatform) - else stdenv.hostPlatform != stdenv.buildPlatform; - # This disables automatic build job count detection (which honours neither enableParallelBuilding nor NIX_BUILD_CORES) - # and uses the main make invocation's job count, falling back to 1 if no parallelism is used. - # https://github.com/OpenMathLib/OpenBLAS/blob/v0.3.20/getarch.c#L1781-L1792 - MAKE_NB_JOBS = 0; - } // (lib.optionalAttrs stdenv.cc.isClang { - LDFLAGS = "-L${lib.getLib buildPackages.gfortran.cc}/lib"; # contains `libgfortran.so`; building with clang needs this, gcc has it implicit - }) // (lib.optionalAttrs singleThreaded { - # As described on https://github.com/OpenMathLib/OpenBLAS/wiki/Faq/4bded95e8dc8aadc70ce65267d1093ca7bdefc4c#multi-threaded - USE_THREAD = false; - USE_LOCKING = true; # available with openblas >= 0.3.7 - USE_OPENMP = false; # openblas will refuse building with both USE_OPENMP=1 and USE_THREAD=0 - })); + makeFlags = mkMakeFlagsFromConfig ( + config + // { + FC = "${stdenv.cc.targetPrefix}gfortran"; + CC = "${stdenv.cc.targetPrefix}${if stdenv.cc.isClang then "clang" else "cc"}"; + PREFIX = placeholder "out"; + OPENBLAS_INCLUDE_DIR = "${placeholder "dev"}/include"; + NUM_THREADS = 64; + INTERFACE64 = blas64; + NO_STATIC = !enableStatic; + NO_SHARED = !enableShared; + CROSS = stdenv.hostPlatform != stdenv.buildPlatform; + HOSTCC = "cc"; + # Makefile.system only checks defined status + # This seems to be a bug in the openblas Makefile: + # on x86_64 it expects NO_BINARY_MODE= + # but on aarch64 it expects NO_BINARY_MODE=0 + NO_BINARY_MODE = + if stdenv.hostPlatform.isx86_64 then + toString (stdenv.hostPlatform != stdenv.buildPlatform) + else + stdenv.hostPlatform != stdenv.buildPlatform; + # This disables automatic build job count detection (which honours neither enableParallelBuilding nor NIX_BUILD_CORES) + # and uses the main make invocation's job count, falling back to 1 if no parallelism is used. + # https://github.com/OpenMathLib/OpenBLAS/blob/v0.3.20/getarch.c#L1781-L1792 + MAKE_NB_JOBS = 0; + } + // (lib.optionalAttrs stdenv.cc.isClang { + LDFLAGS = "-L${lib.getLib buildPackages.gfortran.cc}/lib"; # contains `libgfortran.so`; building with clang needs this, gcc has it implicit + }) + // (lib.optionalAttrs singleThreaded { + # As described on https://github.com/OpenMathLib/OpenBLAS/wiki/Faq/4bded95e8dc8aadc70ce65267d1093ca7bdefc4c#multi-threaded + USE_THREAD = false; + USE_LOCKING = true; # available with openblas >= 0.3.7 + USE_OPENMP = false; # openblas will refuse building with both USE_OPENMP=1 and USE_THREAD=0 + }) + ); doCheck = true; checkTarget = "tests"; - postInstall = '' - # Write pkgconfig aliases. Upstream report: - # https://github.com/OpenMathLib/OpenBLAS/issues/1740 - for alias in blas cblas lapack; do - cat < $out/lib/pkgconfig/$alias.pc -Name: $alias -Version: ${version} -Description: $alias provided by the OpenBLAS package. -Cflags: -I$dev/include -Libs: -L$out/lib -lopenblas -EOF - done - - # Setup symlinks for blas / lapack - '' + lib.optionalString enableShared '' - ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt} - ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt} - ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt} - ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt} - '' + lib.optionalString (stdenv.hostPlatform.isLinux && enableShared) '' - ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}.3 - ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}.3 - ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt}.3 - ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt}.3 - '' + lib.optionalString enableStatic '' - ln -s $out/lib/libopenblas.a $out/lib/libblas.a - ln -s $out/lib/libopenblas.a $out/lib/libcblas.a - ln -s $out/lib/libopenblas.a $out/lib/liblapack.a - ln -s $out/lib/libopenblas.a $out/lib/liblapacke.a - ''; + postInstall = + '' + # Write pkgconfig aliases. Upstream report: + # https://github.com/OpenMathLib/OpenBLAS/issues/1740 + for alias in blas cblas lapack; do + cat < $out/lib/pkgconfig/$alias.pc + Name: $alias + Version: ${version} + Description: $alias provided by the OpenBLAS package. + Cflags: -I$dev/include + Libs: -L$out/lib -lopenblas + EOF + done + + # Setup symlinks for blas / lapack + '' + + lib.optionalString enableShared '' + ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt} + ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt} + ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt} + ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt} + '' + + lib.optionalString (stdenv.hostPlatform.isLinux && enableShared) '' + ln -s $out/lib/libopenblas${shlibExt} $out/lib/libblas${shlibExt}.3 + ln -s $out/lib/libopenblas${shlibExt} $out/lib/libcblas${shlibExt}.3 + ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapack${shlibExt}.3 + ln -s $out/lib/libopenblas${shlibExt} $out/lib/liblapacke${shlibExt}.3 + '' + + lib.optionalString enableStatic '' + ln -s $out/lib/libopenblas.a $out/lib/libblas.a + ln -s $out/lib/libopenblas.a $out/lib/libcblas.a + ln -s $out/lib/libopenblas.a $out/lib/liblapack.a + ln -s $out/lib/libopenblas.a $out/lib/liblapacke.a + ''; passthru.tests = { inherit (python3.pkgs) numpy scipy scikit-learn; - inherit ceres-solver giac octave opencv; + inherit + ceres-solver + giac + octave + opencv + ; }; meta = with lib; { diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix index 4589f6f1ec4ba..c460694da0fed 100644 --- a/pkgs/development/libraries/science/math/or-tools/default.nix +++ b/pkgs/development/libraries/science/math/or-tools/default.nix @@ -1,22 +1,23 @@ -{ abseil-cpp -, bzip2 -, cbc -, cmake -, DarwinTools # sw_vers -, eigen -, ensureNewerSourcesForZipFilesHook -, fetchFromGitHub -, substituteAll -, glpk -, lib -, pkg-config -, protobuf -, python -, re2 -, stdenv -, swig -, unzip -, zlib +{ + abseil-cpp, + bzip2, + cbc, + cmake, + DarwinTools, # sw_vers + eigen, + ensureNewerSourcesForZipFilesHook, + fetchFromGitHub, + substituteAll, + glpk, + lib, + pkg-config, + protobuf, + python, + re2, + stdenv, + swig, + unzip, + zlib, }: let @@ -70,20 +71,23 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ - cmake - ensureNewerSourcesForZipFilesHook - pkg-config - python.pythonOnBuildForHost - swig - unzip - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - DarwinTools - ] ++ (with python.pythonOnBuildForHost.pkgs; [ - pip - mypy-protobuf - mypy - ]); + nativeBuildInputs = + [ + cmake + ensureNewerSourcesForZipFilesHook + pkg-config + python.pythonOnBuildForHost + swig + unzip + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + DarwinTools + ] + ++ (with python.pythonOnBuildForHost.pkgs; [ + pip + mypy-protobuf + mypy + ]); buildInputs = [ abseil-cpp bzip2 @@ -135,7 +139,10 @@ stdenv.mkDerivation rec { pip install --prefix="$python" python/ ''; - outputs = [ "out" "python" ]; + outputs = [ + "out" + "python" + ]; meta = with lib; { homepage = "https://github.com/google/or-tools"; diff --git a/pkgs/development/libraries/science/math/p4est-sc/default.nix b/pkgs/development/libraries/science/math/p4est-sc/default.nix index 3ac61e5c2b360..bab98a1e1cfb4 100644 --- a/pkgs/development/libraries/science/math/p4est-sc/default.nix +++ b/pkgs/development/libraries/science/math/p4est-sc/default.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, mpiCheckPhaseHook -, autoreconfHook, pkg-config -, p4est-sc-debugEnable ? true, p4est-sc-mpiSupport ? true -, mpi, zlib +{ + lib, + stdenv, + fetchFromGitHub, + mpiCheckPhaseHook, + autoreconfHook, + pkg-config, + p4est-sc-debugEnable ? true, + p4est-sc-mpiSupport ? true, + mpi, + zlib, }: let @@ -22,8 +29,11 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - propagatedNativeBuildInputs = lib.optional mpiSupport mpi ; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + propagatedNativeBuildInputs = lib.optional mpiSupport mpi; propagatedBuildInputs = [ zlib ]; inherit debugEnable mpiSupport; @@ -35,10 +45,10 @@ stdenv.mkDerivation { ${lib.optionalString mpiSupport "unset CC"} ''; - configureFlags = [ "--enable-pthread=-pthread" ] + configureFlags = + [ "--enable-pthread=-pthread" ] ++ lib.optional debugEnable "--enable-debug" - ++ lib.optional mpiSupport "--enable-mpi" - ; + ++ lib.optional mpiSupport "--enable-mpi"; dontDisableStatic = true; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/science/math/p4est/default.nix b/pkgs/development/libraries/science/math/p4est/default.nix index 1218c695590ed..4f2e1bcc159c4 100644 --- a/pkgs/development/libraries/science/math/p4est/default.nix +++ b/pkgs/development/libraries/science/math/p4est/default.nix @@ -1,10 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, p4est-withMetis ? true, metis -, p4est-sc +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + p4est-withMetis ? true, + metis, + p4est-sc, }: let @@ -25,7 +27,10 @@ stdenv.mkDerivation { }; strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; propagatedBuildInputs = [ p4est-sc ]; buildInputs = lib.optional withMetis metis; inherit debugEnable mpiSupport withMetis; @@ -41,12 +46,15 @@ stdenv.mkDerivation { unset CC ''; - configureFlags = p4est-sc.configureFlags - ++ [ "--with-sc=${p4est-sc}" ] - ++ lib.optional withMetis "--with-metis" - ; + configureFlags = + p4est-sc.configureFlags ++ [ "--with-sc=${p4est-sc}" ] ++ lib.optional withMetis "--with-metis"; - inherit (p4est-sc) makeFlags dontDisableStatic enableParallelBuilding doCheck; + inherit (p4est-sc) + makeFlags + dontDisableStatic + enableParallelBuilding + doCheck + ; meta = { branch = "prev3-develop"; diff --git a/pkgs/development/libraries/science/math/suitesparse/4.2.nix b/pkgs/development/libraries/science/math/suitesparse/4.2.nix index c87bc4d31a8c2..67f580b145dcf 100644 --- a/pkgs/development/libraries/science/math/suitesparse/4.2.nix +++ b/pkgs/development/libraries/science/math/suitesparse/4.2.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, gfortran, blas, lapack }: +{ + lib, + stdenv, + fetchurl, + gfortran, + blas, + lapack, +}: let int_t = if blas.isILP64 then "int64_t" else "int32_t"; @@ -7,12 +14,15 @@ stdenv.mkDerivation rec { version = "4.2.1"; pname = "suitesparse"; src = fetchurl { - url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ; + url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz"; sha256 = "1ga69637x7kdkiy3w3lq9dvva7220bdangv2lch2wx1hpi83h0p8"; }; nativeBuildInputs = [ gfortran ]; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; preConfigure = '' mkdir -p $out/lib @@ -36,7 +46,11 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html"; description = "Suite of sparse matrix algorithms"; - license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ]; + license = with licenses; [ + bsd2 + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ ttuegel ]; platforms = with platforms; unix; }; diff --git a/pkgs/development/libraries/science/math/suitesparse/4.4.nix b/pkgs/development/libraries/science/math/suitesparse/4.4.nix index ef859cfc1ca2a..98a1d4599f4c5 100644 --- a/pkgs/development/libraries/science/math/suitesparse/4.4.nix +++ b/pkgs/development/libraries/science/math/suitesparse/4.4.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl, gfortran, blas, lapack -, config -, enableCuda ? config.cudaSupport, cudatoolkit +{ + lib, + stdenv, + fetchurl, + gfortran, + blas, + lapack, + config, + enableCuda ? config.cudaSupport, + cudatoolkit, }: let @@ -16,35 +23,36 @@ stdenv.mkDerivation rec { sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj"; }; - preConfigure = '' - mkdir -p $out/lib - mkdir -p $out/include + preConfigure = + '' + mkdir -p $out/lib + mkdir -p $out/include - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's/METIS .*$/METIS =/' \ - -e 's/METIS_PATH .*$/METIS_PATH =/' \ - -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \ - -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/' - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/' - '' - + lib.optionalString enableCuda '' - sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ - -e 's|^[[:space:]]*\(CUDA_ROOT =\)|CUDA_ROOT = ${cudatoolkit}|' \ - -e 's|^[[:space:]]*\(GPU_BLAS_PATH =\)|GPU_BLAS_PATH = $(CUDA_ROOT)|' \ - -e 's|^[[:space:]]*\(GPU_CONFIG =\)|GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=$(NIX_BUILD_CORES) |' \ - -e 's|^[[:space:]]*\(CUDA_PATH =\)|CUDA_PATH = $(CUDA_ROOT)|' \ - -e 's|^[[:space:]]*\(CUDART_LIB =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \ - -e 's|^[[:space:]]*\(CUBLAS_LIB =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \ - -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \ - -e 's|^[[:space:]]*\(NV20 =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \ - -e 's|^[[:space:]]*\(NV30 =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \ - -e 's|^[[:space:]]*\(NV35 =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \ - -e 's|^[[:space:]]*\(NVCC =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \ - -e 's|^[[:space:]]*\(NVCCFLAGS =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|' - ''; + sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ + -e 's/METIS .*$/METIS =/' \ + -e 's/METIS_PATH .*$/METIS_PATH =/' \ + -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \ + -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ + -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/' + '' + + lib.optionalString enableCuda '' + sed -i "SuiteSparse_config/SuiteSparse_config.mk" \ + -e 's|^[[:space:]]*\(CUDA_ROOT =\)|CUDA_ROOT = ${cudatoolkit}|' \ + -e 's|^[[:space:]]*\(GPU_BLAS_PATH =\)|GPU_BLAS_PATH = $(CUDA_ROOT)|' \ + -e 's|^[[:space:]]*\(GPU_CONFIG =\)|GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=$(NIX_BUILD_CORES) |' \ + -e 's|^[[:space:]]*\(CUDA_PATH =\)|CUDA_PATH = $(CUDA_ROOT)|' \ + -e 's|^[[:space:]]*\(CUDART_LIB =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \ + -e 's|^[[:space:]]*\(CUBLAS_LIB =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \ + -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \ + -e 's|^[[:space:]]*\(NV20 =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \ + -e 's|^[[:space:]]*\(NV30 =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \ + -e 's|^[[:space:]]*\(NV35 =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \ + -e 's|^[[:space:]]*\(NVCC =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \ + -e 's|^[[:space:]]*\(NVCCFLAGS =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|' + ''; makeFlags = [ "PREFIX=\"$(out)\"" @@ -63,7 +71,11 @@ stdenv.mkDerivation rec { for i in "$out"/lib/lib*.a; do ar -x $i done - ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.hostPlatform.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lblas ${lib.optionalString enableCuda "-lcublas"} + ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${ + if enableCuda then "nvcc" else "cc" + } *.o ${ + if stdenv.hostPlatform.isDarwin then "-dynamiclib" else "--shared" + } -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lblas ${lib.optionalString enableCuda "-lcublas"} ) for i in umfpack cholmod amd camd colamd spqr; do ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT} @@ -87,12 +99,19 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ gfortran ]; - buildInputs = [ blas lapack ]; + buildInputs = [ + blas + lapack + ]; meta = with lib; { homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html"; description = "Suite of sparse matrix algorithms"; - license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ]; + license = with licenses; [ + bsd2 + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ ttuegel ]; platforms = with platforms; unix; }; diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix index 28909f53fecbb..c840b25345c3d 100644 --- a/pkgs/development/libraries/science/math/suitesparse/default.nix +++ b/pkgs/development/libraries/science/math/suitesparse/default.nix @@ -1,22 +1,29 @@ -{ lib, stdenv -, fetchFromGitHub -, gfortran -, blas, lapack -, metis -, fixDarwinDylibNames -, gmp -, mpfr -, config -, enableCuda ? config.cudaSupport -, cudaPackages -, openmp ? null +{ + lib, + stdenv, + fetchFromGitHub, + gfortran, + blas, + lapack, + metis, + fixDarwinDylibNames, + gmp, + mpfr, + config, + enableCuda ? config.cudaSupport, + cudaPackages, + openmp ? null, }: stdenv.mkDerivation rec { pname = "suitesparse"; version = "5.13.0"; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; src = fetchFromGitHub { owner = "DrTimothyAldenDavis"; @@ -25,51 +32,62 @@ stdenv.mkDerivation rec { sha256 = "sha256-Anen1YtXsSPhk8DpA4JtADIz9m8oXFl9umlkb4iImf8="; }; - nativeBuildInputs = [ - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ] ++ lib.optionals enableCuda [ - cudaPackages.cuda_nvcc - ]; + nativeBuildInputs = + [ + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ] + ++ lib.optionals enableCuda [ + cudaPackages.cuda_nvcc + ]; # Use compatible indexing for lapack and blas used - buildInputs = assert (blas.isILP64 == lapack.isILP64); [ - blas lapack - metis - (lib.getLib gfortran.cc) - gmp - mpfr - ] ++ lib.optionals stdenv.cc.isClang [ - openmp - ] ++ lib.optionals enableCuda [ - cudaPackages.cuda_cudart - cudaPackages.cuda_cccl - cudaPackages.libcublas - ]; + buildInputs = + assert (blas.isILP64 == lapack.isILP64); + [ + blas + lapack + metis + (lib.getLib gfortran.cc) + gmp + mpfr + ] + ++ lib.optionals stdenv.cc.isClang [ + openmp + ] + ++ lib.optionals enableCuda [ + cudaPackages.cuda_cudart + cudaPackages.cuda_cccl + cudaPackages.libcublas + ]; preConfigure = '' # Mongoose and GraphBLAS are packaged separately sed -i "Makefile" -e '/GraphBLAS\|Mongoose/d' ''; - makeFlags = [ - "INSTALL=${placeholder "out"}" - "INSTALL_INCLUDE=${placeholder "dev"}/include" - "JOBS=$(NIX_BUILD_CORES)" - "MY_METIS_LIB=-lmetis" - ] ++ lib.optionals blas.isILP64 [ - "CFLAGS=-DBLAS64" - ] ++ lib.optionals enableCuda [ - "CUDA_PATH=${cudaPackages.cuda_nvcc}" - "CUDART_LIB=${lib.getLib cudaPackages.cuda_cudart}/lib/libcudart.so" - "CUBLAS_LIB=${lib.getLib cudaPackages.libcublas}/lib/libcublas.so" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Unless these are set, the build will attempt to use `Accelerate` on darwin, see: - # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v5.13.0/SuiteSparse_config/SuiteSparse_config.mk#L368 - "BLAS=-lblas" - "LAPACK=-llapack" - ] - ; + makeFlags = + [ + "INSTALL=${placeholder "out"}" + "INSTALL_INCLUDE=${placeholder "dev"}/include" + "JOBS=$(NIX_BUILD_CORES)" + "MY_METIS_LIB=-lmetis" + ] + ++ lib.optionals blas.isILP64 [ + "CFLAGS=-DBLAS64" + ] + ++ lib.optionals enableCuda [ + "CUDA_PATH=${cudaPackages.cuda_nvcc}" + "CUDART_LIB=${lib.getLib cudaPackages.cuda_cudart}/lib/libcudart.so" + "CUBLAS_LIB=${lib.getLib cudaPackages.libcublas}/lib/libcublas.so" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Unless these are set, the build will attempt to use `Accelerate` on darwin, see: + # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v5.13.0/SuiteSparse_config/SuiteSparse_config.mk#L368 + "BLAS=-lblas" + "LAPACK=-llapack" + ]; env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { # Ensure that there is enough space for the `fixDarwinDylibNames` hook to @@ -85,7 +103,11 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://faculty.cse.tamu.edu/davis/suitesparse.html"; description = "Suite of sparse matrix algorithms"; - license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ]; + license = with licenses; [ + bsd2 + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ ttuegel ]; platforms = with platforms; unix; }; diff --git a/pkgs/development/libraries/science/math/tensorrt/extension.nix b/pkgs/development/libraries/science/math/tensorrt/extension.nix index 7db869a2c1698..19bf7e086d2a9 100644 --- a/pkgs/development/libraries/science/math/tensorrt/extension.nix +++ b/pkgs/development/libraries/science/math/tensorrt/extension.nix @@ -1,54 +1,77 @@ -final: prev: let +final: prev: +let inherit (final) callPackage; - inherit (prev) cudatoolkit cudaVersion lib pkgs; + inherit (prev) + cudatoolkit + cudaVersion + lib + pkgs + ; ### TensorRT - buildTensorRTPackage = args: - callPackage ./generic.nix { } args; + buildTensorRTPackage = args: callPackage ./generic.nix { } args; - toUnderscore = str: lib.replaceStrings ["."] ["_"] str; + toUnderscore = str: lib.replaceStrings [ "." ] [ "_" ] str; majorMinorPatch = str: lib.concatStringsSep "." (lib.take 3 (lib.splitVersion str)); - tensorRTPackages = let - # Check whether a file is supported for our cuda version - isSupported = fileData: lib.elem cudaVersion fileData.supportedCudaVersions; - # Return the first file that is supported. In practice there should only ever be one anyway. - supportedFile = files: lib.findFirst isSupported null files; + tensorRTPackages = + let + # Check whether a file is supported for our cuda version + isSupported = fileData: lib.elem cudaVersion fileData.supportedCudaVersions; + # Return the first file that is supported. In practice there should only ever be one anyway. + supportedFile = files: lib.findFirst isSupported null files; - # Compute versioned attribute name to be used in this package set - computeName = version: "tensorrt_${toUnderscore version}"; + # Compute versioned attribute name to be used in this package set + computeName = version: "tensorrt_${toUnderscore version}"; - # Supported versions with versions as keys and file as value - supportedVersions = lib.recursiveUpdate - { - tensorrt = { - enable = false; - fileVersionCuda = null; - fileVersionCudnn = null; - fullVersion = "0.0.0"; - sha256 = null; - tarball = null; - supportedCudaVersions = [ ]; - }; - } - (lib.mapAttrs' (version: attrs: lib.nameValuePair (computeName version) attrs) - (lib.filterAttrs (version: file: file != null) (lib.mapAttrs (version: files: supportedFile files) tensorRTVersions))); + # Supported versions with versions as keys and file as value + supportedVersions = + lib.recursiveUpdate + { + tensorrt = { + enable = false; + fileVersionCuda = null; + fileVersionCudnn = null; + fullVersion = "0.0.0"; + sha256 = null; + tarball = null; + supportedCudaVersions = [ ]; + }; + } + ( + lib.mapAttrs' (version: attrs: lib.nameValuePair (computeName version) attrs) ( + lib.filterAttrs (version: file: file != null) ( + lib.mapAttrs (version: files: supportedFile files) tensorRTVersions + ) + ) + ); - # Add all supported builds as attributes - allBuilds = lib.mapAttrs (name: file: buildTensorRTPackage (lib.removeAttrs file ["fileVersionCuda"])) supportedVersions; + # Add all supported builds as attributes + allBuilds = lib.mapAttrs ( + name: file: buildTensorRTPackage (lib.removeAttrs file [ "fileVersionCuda" ]) + ) supportedVersions; - # Set the default attributes, e.g. tensorrt = tensorrt_8_4; - defaultName = computeName tensorRTDefaultVersion; - defaultBuild = lib.optionalAttrs (allBuilds ? ${defaultName}) { tensorrt = allBuilds.${computeName tensorRTDefaultVersion}; }; - in { - inherit buildTensorRTPackage; - } // allBuilds // defaultBuild; + # Set the default attributes, e.g. tensorrt = tensorrt_8_4; + defaultName = computeName tensorRTDefaultVersion; + defaultBuild = lib.optionalAttrs (allBuilds ? ${defaultName}) { + tensorrt = allBuilds.${computeName tensorRTDefaultVersion}; + }; + in + { + inherit buildTensorRTPackage; + } + // allBuilds + // defaultBuild; tarballURL = - {fullVersion, fileVersionCuda, fileVersionCudnn ? null} : + { + fullVersion, + fileVersionCuda, + fileVersionCudnn ? null, + }: "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}" + lib.optionalString (fileVersionCudnn != null) ".cudnn${fileVersionCudnn}" + ".tar.gz"; @@ -60,7 +83,10 @@ final: prev: let fullVersion = "8.6.1.6"; sha256 = "sha256-D4FXpfxTKZQ7M4uJNZE3M1CvqQyoEjnNrddYDNHrolQ="; tarball = tarballURL { inherit fileVersionCuda fullVersion; }; - supportedCudaVersions = [ "12.0" "12.1" ]; + supportedCudaVersions = [ + "12.0" + "12.1" + ]; } ]; "8.5.3" = [ @@ -70,7 +96,17 @@ final: prev: let fullVersion = "8.5.3.1"; sha256 = "sha256-BNeuOYvPTUAfGxI0DVsNrX6Z/FAB28+SE0ptuGu7YDY="; tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; - supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; + supportedCudaVersions = [ + "11.0" + "11.1" + "11.2" + "11.3" + "11.4" + "11.5" + "11.6" + "11.7" + "11.8" + ]; } rec { fileVersionCuda = "10.2"; @@ -88,7 +124,17 @@ final: prev: let fullVersion = "8.5.2.2"; sha256 = "sha256-Ov5irNS/JETpEz01FIFNMs9YVmjGHL7lSXmDpgCdgao="; tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; - supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; + supportedCudaVersions = [ + "11.0" + "11.1" + "11.2" + "11.3" + "11.4" + "11.5" + "11.6" + "11.7" + "11.8" + ]; } rec { fileVersionCuda = "10.2"; @@ -106,7 +152,17 @@ final: prev: let fullVersion = "8.5.1.7"; sha256 = "sha256-Ocx/B3BX0TY3lOj/UcTPIaXb7M8RFrACC6Da4PMGMHY="; tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; - supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; + supportedCudaVersions = [ + "11.0" + "11.1" + "11.2" + "11.3" + "11.4" + "11.5" + "11.6" + "11.7" + "11.8" + ]; } rec { fileVersionCuda = "10.2"; @@ -124,7 +180,15 @@ final: prev: let fullVersion = "8.4.0.6"; sha256 = "sha256-DNgHHXF/G4cK2nnOWImrPXAkOcNW6Wy+8j0LRpAH/LQ="; tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; - supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" ]; + supportedCudaVersions = [ + "11.0" + "11.1" + "11.2" + "11.3" + "11.4" + "11.5" + "11.6" + ]; } rec { fileVersionCuda = "10.2"; @@ -138,19 +202,22 @@ final: prev: let }; # Default attributes - tensorRTDefaultVersion = { - "10.2" = "8.4.0"; - "11.0" = "8.4.0"; - "11.1" = "8.4.0"; - "11.2" = "8.4.0"; - "11.3" = "8.4.0"; - "11.4" = "8.4.0"; - "11.5" = "8.4.0"; - "11.6" = "8.4.0"; - "11.7" = "8.5.3"; - "11.8" = "8.5.3"; - "12.0" = "8.6.1"; - "12.1" = "8.6.1"; - }.${cudaVersion} or "8.4.0"; + tensorRTDefaultVersion = + { + "10.2" = "8.4.0"; + "11.0" = "8.4.0"; + "11.1" = "8.4.0"; + "11.2" = "8.4.0"; + "11.3" = "8.4.0"; + "11.4" = "8.4.0"; + "11.5" = "8.4.0"; + "11.6" = "8.4.0"; + "11.7" = "8.5.3"; + "11.8" = "8.5.3"; + "12.0" = "8.6.1"; + "12.1" = "8.6.1"; + } + .${cudaVersion} or "8.4.0"; -in tensorRTPackages +in +tensorRTPackages diff --git a/pkgs/development/libraries/science/math/trilinos/default.nix b/pkgs/development/libraries/science/math/trilinos/default.nix index 8e461f1caf24c..e4c7f587eaef5 100644 --- a/pkgs/development/libraries/science/math/trilinos/default.nix +++ b/pkgs/development/libraries/science/math/trilinos/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, blas -, boost -, cmake -, gfortran -, lapack -, mpi -, suitesparse -, swig -, withMPI ? false +{ + stdenv, + lib, + fetchFromGitHub, + blas, + boost, + cmake, + gfortran, + lapack, + mpi, + suitesparse, + swig, + withMPI ? false, }: # NOTE: Not all packages are enabled. We specifically enable the ones @@ -70,17 +71,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-Nqjr7RAlUHm6vs87a1P84Y7BIZEL0Vs/A1Z6dykfv+o="; }; - nativeBuildInputs = [ cmake gfortran swig ]; + nativeBuildInputs = [ + cmake + gfortran + swig + ]; - buildInputs = [ blas boost lapack suitesparse ] ++ lib.optionals withMPI [ mpi ]; + buildInputs = [ + blas + boost + lapack + suitesparse + ] ++ lib.optionals withMPI [ mpi ]; preConfigure = - if withMPI then '' - cmakeFlagsArray+=(${flagsBase} ${flagsParallel}) - '' - else '' - cmakeFlagsArray+=(${flagsBase}) - ''; + if withMPI then + '' + cmakeFlagsArray+=(${flagsBase} ${flagsParallel}) + '' + else + '' + cmakeFlagsArray+=(${flagsBase}) + ''; passthru = { inherit withMPI; diff --git a/pkgs/development/libraries/science/networking/ns-3/default.nix b/pkgs/development/libraries/science/networking/ns-3/default.nix index efcfa99be0e06..a69b6c27b6b0f 100644 --- a/pkgs/development/libraries/science/networking/ns-3/default.nix +++ b/pkgs/development/libraries/science/networking/ns-3/default.nix @@ -1,56 +1,64 @@ -{ stdenv -, fetchFromGitLab -, python -, libxml2 -, sqlite +{ + stdenv, + fetchFromGitLab, + python, + libxml2, + sqlite, -, boost -, gtk3-x11 -, root -, glib -, gsl + boost, + gtk3-x11, + root, + glib, + gsl, -, cmake -, pkg-config + cmake, + pkg-config, + libpcap, -, libpcap + jansson, -, jansson - -, harfbuzz -, freetype + harfbuzz, + freetype, # for binding generation -, castxml ? null -, cppyy ? null + castxml ? null, + cppyy ? null, # can take a long time, generates > 30000 images/graphs -, enableDoxygen ? false + enableDoxygen ? false, # very long -, withManual ? false -, doxygen ? null -, graphviz ? null -, imagemagick ? null + withManual ? false, + doxygen ? null, + graphviz ? null, + imagemagick ? null, # for manual, tetex is used to get the eps2pdf binary # texlive to get latexmk. building manual still fails though -, dia -, tetex ? null -, ghostscript ? null -, texliveMedium ? null + dia, + tetex ? null, + ghostscript ? null, + texliveMedium ? null, # generates python bindings -, pythonSupport ? true -, ncurses ? null + pythonSupport ? true, + ncurses ? null, -, lib + lib, }: let - pythonEnv = python.withPackages (ps: + pythonEnv = python.withPackages ( + ps: lib.optional withManual ps.sphinx - ++ lib.optionals pythonSupport (with ps;[ pybindgen pygccxml cppyy]) + ++ lib.optionals pythonSupport ( + with ps; + [ + pybindgen + pygccxml + cppyy + ] + ) ); in stdenv.mkDerivation rec { @@ -64,29 +72,47 @@ stdenv.mkDerivation rec { hash = "sha256-2d8xCCfxRpcCZgt7ne17F7cUo/wIxLyvjQs3izNUnmY="; }; - nativeBuildInputs = [ cmake pkg-config pythonEnv ]; + nativeBuildInputs = [ + cmake + pkg-config + pythonEnv + ]; outputs = [ "out" ]; # ncurses is a hidden dependency of waf when checking python - buildInputs = lib.optionals pythonSupport [ castxml ncurses ] - ++ lib.optionals enableDoxygen [ doxygen graphviz imagemagick ] - ++ lib.optionals withManual [ dia tetex ghostscript imagemagick texliveMedium ] + buildInputs = + lib.optionals pythonSupport [ + castxml + ncurses + ] + ++ lib.optionals enableDoxygen [ + doxygen + graphviz + imagemagick + ] + ++ lib.optionals withManual [ + dia + tetex + ghostscript + imagemagick + texliveMedium + ] ++ [ - libxml2 - pythonEnv - sqlite.dev - gsl - boost - root # provides cppyy - glib.out - glib.dev - libpcap - gtk3-x11.dev - harfbuzz - freetype - jansson - ]; + libxml2 + pythonEnv + sqlite.dev + gsl + boost + root # provides cppyy + glib.out + glib.dev + libpcap + gtk3-x11.dev + harfbuzz + freetype + jansson + ]; propagatedBuildInputs = [ pythonEnv ]; @@ -103,15 +129,16 @@ stdenv.mkDerivation rec { doCheck = false; - buildTargets = "build" - + lib.optionalString enableDoxygen " doxygen" - + lib.optionalString withManual "sphinx"; + buildTargets = + "build" + lib.optionalString enableDoxygen " doxygen" + lib.optionalString withManual "sphinx"; # to prevent fatal error: 'backward_warning.h' file not found CXXFLAGS = "-D_GLIBCXX_PERMIT_BACKWARD_HASH"; # Make generated python bindings discoverable in customized python environment - passthru = { pythonModule = python; }; + passthru = { + pythonModule = python; + }; cmakeFlags = [ "-DPython3_LIBRARY_DIRS=${pythonEnv}/lib" @@ -124,19 +151,26 @@ stdenv.mkDerivation rec { "-DNS3_ASSERT=ON" "-DNS3_GTK3=ON" "-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" - ] - ++ lib.optional doCheck "-DNS3_TESTS=ON"; + ] ++ lib.optional doCheck "-DNS3_TESTS=ON"; # strictoverflow prevents clang from discovering pyembed when bindings - hardeningDisable = [ "fortify" "strictoverflow" ]; + hardeningDisable = [ + "fortify" + "strictoverflow" + ]; meta = with lib; { homepage = "http://www.nsnam.org"; license = licenses.gpl3; description = "Discrete time event network simulator"; platforms = with platforms; unix; - maintainers = with maintainers; [ teto rgrunbla ]; + maintainers = with maintainers; [ + teto + rgrunbla + ]; # never built on aarch64-darwin since first introduction in nixpkgs - broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); + broken = + (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); }; } diff --git a/pkgs/development/libraries/sfml/default.nix b/pkgs/development/libraries/sfml/default.nix index 2b28228c5f57e..21c9927ee6201 100644 --- a/pkgs/development/libraries/sfml/default.nix +++ b/pkgs/development/libraries/sfml/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, libX11 -, freetype -, libjpeg -, openal -, flac -, libvorbis -, glew -, libXrandr -, libXrender -, udev -, xcbutilimage -, IOKit -, Foundation -, AppKit -, OpenAL +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + libX11, + freetype, + libjpeg, + openal, + flac, + libvorbis, + glew, + libXrandr, + libXrender, + udev, + xcbutilimage, + IOKit, + Foundation, + AppKit, + OpenAL, }: stdenv.mkDerivation rec { @@ -44,10 +45,28 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ freetype libjpeg openal flac libvorbis glew ] + buildInputs = + [ + freetype + libjpeg + openal + flac + libvorbis + glew + ] ++ lib.optional stdenv.hostPlatform.isLinux udev - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ libX11 libXrandr libXrender xcbutilimage ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit Foundation AppKit OpenAL ]; + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libX11 + libXrandr + libXrender + xcbutilimage + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + Foundation + AppKit + OpenAL + ]; cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes" diff --git a/pkgs/development/libraries/signond/default.nix b/pkgs/development/libraries/signond/default.nix index 5e9e538553136..f6992e249dcf2 100644 --- a/pkgs/development/libraries/signond/default.nix +++ b/pkgs/development/libraries/signond/default.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitLab, qmake, qtbase, wrapQtAppsHook, doxygen }: +{ + stdenv, + lib, + fetchFromGitLab, + qmake, + qtbase, + wrapQtAppsHook, + doxygen, +}: stdenv.mkDerivation { pname = "signond"; diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix index d2a4206e7dc1a..7289820b60df1 100644 --- a/pkgs/development/libraries/silgraphite/graphite2.nix +++ b/pkgs/development/libraries/silgraphite/graphite2.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, llvmPackages -, fetchurl -, pkg-config -, freetype -, cmake -, static ? stdenv.hostPlatform.isStatic -, testers +{ + lib, + stdenv, + llvmPackages, + fetchurl, + pkg-config, + freetype, + cmake, + static ? stdenv.hostPlatform.isStatic, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -14,18 +15,28 @@ stdenv.mkDerivation (finalAttrs: { pname = "graphite2"; src = fetchurl { - url = with finalAttrs; "https://github.com/silnrsi/graphite/releases/download/${version}/${pname}-${version}.tgz"; + url = + with finalAttrs; + "https://github.com/silnrsi/graphite/releases/download/${version}/${pname}-${version}.tgz"; sha256 = "1790ajyhk0ax8xxamnrk176gc9gvhadzy78qia4rd8jzm89ir7gr"; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ freetype ] - ++ lib.optional (stdenv.targetPlatform.useLLVM or false) - (llvmPackages.compiler-rt.override { + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = + [ freetype ] + ++ lib.optional (stdenv.targetPlatform.useLLVM or false) ( + llvmPackages.compiler-rt.override { doFakeLibgcc = true; - }); + } + ); patches = lib.optionals stdenv.hostPlatform.isDarwin [ ./macosx.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix index c17064729f961..a0bf151938b84 100644 --- a/pkgs/development/libraries/simpleitk/default.nix +++ b/pkgs/development/libraries/simpleitk/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, swig -, lua -, elastix -, itk +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + swig, + lua, + elastix, + itk, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/slib/default.nix b/pkgs/development/libraries/slib/default.nix index 84b21e2c4fa9c..393bf516118e5 100644 --- a/pkgs/development/libraries/slib/default.nix +++ b/pkgs/development/libraries/slib/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, scheme, texinfo, unzip }: +{ + lib, + stdenv, + fetchurl, + scheme, + texinfo, + unzip, +}: stdenv.mkDerivation rec { pname = "slib"; @@ -19,7 +26,11 @@ stdenv.mkDerivation rec { --replace " clrnamdb.scm" "" ''; - nativeBuildInputs = [ scheme texinfo unzip ]; + nativeBuildInputs = [ + scheme + texinfo + unzip + ]; buildInputs = [ scheme ]; postInstall = '' diff --git a/pkgs/development/libraries/soci/bc-soci.nix b/pkgs/development/libraries/soci/bc-soci.nix index a3c967d80fe40..f8442371a6f71 100644 --- a/pkgs/development/libraries/soci/bc-soci.nix +++ b/pkgs/development/libraries/soci/bc-soci.nix @@ -1,10 +1,11 @@ -{ cmake -, fetchFromGitLab -, fetchpatch -, sqlite -, boost -, lib -, stdenv +{ + cmake, + fetchFromGitLab, + fetchpatch, + sqlite, + boost, + lib, + stdenv, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/soci/default.nix b/pkgs/development/libraries/soci/default.nix index 3ba387436e764..7f4e7e01d1e90 100644 --- a/pkgs/development/libraries/soci/default.nix +++ b/pkgs/development/libraries/soci/default.nix @@ -1,11 +1,13 @@ -{ cmake -, fetchFromGitHub -, fetchpatch -, sqlite -, postgresql -, boost -, darwin -, lib, stdenv +{ + cmake, + fetchFromGitHub, + fetchpatch, + sqlite, + postgresql, + boost, + darwin, + lib, + stdenv, }: let inherit (darwin.apple_sdk_11_0.frameworks) Kerberos; @@ -30,16 +32,22 @@ stdenv.mkDerivation rec { ]; # Do not build static libraries - cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" "-DSOCI_TESTS=off" ]; + cmakeFlags = [ + "-DSOCI_STATIC=OFF" + "-DCMAKE_CXX_STANDARD=11" + "-DSOCI_TESTS=off" + ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ - sqlite - postgresql - boost - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Kerberos - ]; + buildInputs = + [ + sqlite + postgresql + boost + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Kerberos + ]; meta = with lib; { description = "Database access library for C++"; diff --git a/pkgs/development/libraries/sofia-sip/default.nix b/pkgs/development/libraries/sofia-sip/default.nix index 7b33ed04871f2..8555b4e9617af 100644 --- a/pkgs/development/libraries/sofia-sip/default.nix +++ b/pkgs/development/libraries/sofia-sip/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, glib, openssl, pkg-config, autoreconfHook, SystemConfiguration }: +{ + lib, + stdenv, + fetchFromGitHub, + glib, + openssl, + pkg-config, + autoreconfHook, + SystemConfiguration, +}: stdenv.mkDerivation rec { pname = "sofia-sip"; @@ -11,8 +20,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-7QmK2UxEO5lC0KBDWB3bwKTy0Nc7WrdTLjoQYzezoaY="; }; - buildInputs = [ glib openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin SystemConfiguration; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + glib + openssl + ] ++ lib.optional stdenv.hostPlatform.isDarwin SystemConfiguration; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; meta = with lib; { description = "Open-source SIP User-Agent library, compliant with the IETF RFC3261 specification"; diff --git a/pkgs/development/libraries/soil/default.nix b/pkgs/development/libraries/soil/default.nix index 39a64c84ddcdc..e8f8e75f8fd8d 100644 --- a/pkgs/development/libraries/soil/default.nix +++ b/pkgs/development/libraries/soil/default.nix @@ -1,8 +1,10 @@ -{ stdenv, lib -, Carbon -, fetchzip -, libGL -, libX11 +{ + stdenv, + lib, + Carbon, + fetchzip, + libGL, + libX11, }: stdenv.mkDerivation { @@ -14,12 +16,16 @@ stdenv.mkDerivation { sha256 = "1c05nwbnfdgwaz8ywn7kg2xrcvrcbpdyhcfkkiiwk69zvil0pbgd"; }; - buildInputs = if stdenv.hostPlatform.isDarwin then [ - Carbon - ] else [ - libGL - libX11 - ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ + Carbon + ] + else + [ + libGL + libX11 + ]; buildPhase = '' cd src diff --git a/pkgs/development/libraries/soqt/default.nix b/pkgs/development/libraries/soqt/default.nix index 14ff1ee1356fe..151025b4d879a 100644 --- a/pkgs/development/libraries/soqt/default.nix +++ b/pkgs/development/libraries/soqt/default.nix @@ -1,4 +1,12 @@ -{ fetchFromGitHub, lib, stdenv, coin3d, qtbase, cmake, pkg-config }: +{ + fetchFromGitHub, + lib, + stdenv, + coin3d, + qtbase, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "soqt"; @@ -13,9 +21,15 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ coin3d qtbase ]; + buildInputs = [ + coin3d + qtbase + ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; dontWrapQtApps = true; diff --git a/pkgs/development/libraries/spandsp/3.nix b/pkgs/development/libraries/spandsp/3.nix index 772388405c49f..eedc5c38b527a 100644 --- a/pkgs/development/libraries/spandsp/3.nix +++ b/pkgs/development/libraries/spandsp/3.nix @@ -1,8 +1,9 @@ -{ fetchFromGitHub -, callPackage +{ + fetchFromGitHub, + callPackage, }: -(callPackage ./common.nix {}).overrideAttrs(previousAttrs: { +(callPackage ./common.nix { }).overrideAttrs (previousAttrs: { version = "3.0.0"; src = fetchFromGitHub { owner = "freeswitch"; diff --git a/pkgs/development/libraries/spandsp/common.nix b/pkgs/development/libraries/spandsp/common.nix index 61439924b749d..7abfee0668c5d 100644 --- a/pkgs/development/libraries/spandsp/common.nix +++ b/pkgs/development/libraries/spandsp/common.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, audiofile -, libtiff -, buildPackages -, fetchpatch -, autoreconfHook +{ + lib, + stdenv, + audiofile, + libtiff, + buildPackages, + fetchpatch, + autoreconfHook, }: stdenv.mkDerivation (finalAttrs: { @@ -18,11 +19,17 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ autoreconfHook ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; - propagatedBuildInputs = [ audiofile libtiff ]; + propagatedBuildInputs = [ + audiofile + libtiff + ]; configureFlags = [ # This flag is required to prevent linking error in the cross-compilation case. diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index 38e250ddef907..991b9cd8ba17c 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -1,8 +1,9 @@ -{ fetchurl -, callPackage +{ + fetchurl, + callPackage, }: -(callPackage ./common.nix {}).overrideAttrs(_: rec { +(callPackage ./common.nix { }).overrideAttrs (_: rec { version = "0.0.6"; src = fetchurl { url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix index 1dbaa016cbbfe..6ee5391451c72 100644 --- a/pkgs/development/libraries/speech-tools/default.nix +++ b/pkgs/development/libraries/speech-tools/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, ncurses -, alsa-lib -, CoreServices -, AudioUnit -, Cocoa +{ + lib, + stdenv, + fetchurl, + fetchpatch, + ncurses, + alsa-lib, + CoreServices, + AudioUnit, + Cocoa, }: stdenv.mkDerivation rec { @@ -26,17 +27,23 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ - ncurses - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - AudioUnit - Cocoa - ]; + buildInputs = + [ + ncurses + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + AudioUnit + Cocoa + ]; - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "CXX=${stdenv.cc.targetPrefix}c++" + ]; # Workaround build failure on -fno-common toolchains: # ld: libestools.a(editline.o):(.bss+0x28): multiple definition of diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index 9e3f97b034485..3803fd0b7d2a4 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, fftw -, speexdsp -, withFft ? !stdenv.hostPlatform.isMinGW +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + fftw, + speexdsp, + withFft ? !stdenv.hostPlatform.isMinGW, }: stdenv.mkDerivation rec { @@ -21,11 +22,17 @@ stdenv.mkDerivation rec { sed -i '/AC_CONFIG_MACRO_DIR/i PKG_PROG_PKG_CONFIG' configure.ac ''; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = lib.optionals withFft [ fftw ] - ++ [ speexdsp ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = lib.optionals withFft [ fftw ] ++ [ speexdsp ]; # TODO: Remove this will help with immediate backward compatibility propagatedBuildInputs = [ speexdsp ]; diff --git a/pkgs/development/libraries/speexdsp/default.nix b/pkgs/development/libraries/speexdsp/default.nix index e3452beab870d..58f049a233fa0 100644 --- a/pkgs/development/libraries/speexdsp/default.nix +++ b/pkgs/development/libraries/speexdsp/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, fftw -, withFftw3 ? (!stdenv.hostPlatform.isMinGW) +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + fftw, + withFftw3 ? (!stdenv.hostPlatform.isMinGW), }: stdenv.mkDerivation rec { @@ -19,12 +20,20 @@ stdenv.mkDerivation rec { patches = [ ./build-fix.patch ]; postPatch = "sed '3i#include ' -i ./include/speex/speexdsp_config_types.h.in"; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = lib.optionals withFftw3 [ fftw ]; - configureFlags = lib.optionals withFftw3 [ "--with-fft=gpl-fftw3" ] + configureFlags = + lib.optionals withFftw3 [ "--with-fft=gpl-fftw3" ] ++ lib.optional stdenv.hostPlatform.isAarch64 "--disable-neon"; meta = with lib; { diff --git a/pkgs/development/libraries/spglib/default.nix b/pkgs/development/libraries/spglib/default.nix index 75634072b8ec7..539c2cb58332e 100644 --- a/pkgs/development/libraries/spglib/default.nix +++ b/pkgs/development/libraries/spglib/default.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, cmake, gfortran, gtest, openmp }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + gfortran, + gtest, + openmp, +}: stdenv.mkDerivation rec { pname = "spglib"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-/PG+ewlxIyf5Au2kVvsAYCfGZgUOOEpA1uATu15ut+M="; }; - nativeBuildInputs = [ cmake gfortran gtest ]; + nativeBuildInputs = [ + cmake + gfortran + gtest + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ openmp ]; diff --git a/pkgs/development/libraries/sqlite/sqlar.nix b/pkgs/development/libraries/sqlite/sqlar.nix index 9063879b7e379..7b6b41c7900de 100644 --- a/pkgs/development/libraries/sqlite/sqlar.nix +++ b/pkgs/development/libraries/sqlite/sqlar.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchurl, fuse, zlib -, withFuse ? true }: +{ + lib, + stdenv, + fetchurl, + fuse, + zlib, + withFuse ? true, +}: stdenv.mkDerivation { pname = "sqlar"; @@ -15,17 +21,20 @@ stdenv.mkDerivation { --replace 'gcc' '${stdenv.cc.targetPrefix}cc' ''; - buildInputs = [ zlib ] - ++ lib.optional withFuse fuse; + buildInputs = [ zlib ] ++ lib.optional withFuse fuse; - buildFlags = [ "CFLAGS=-Wno-error" "sqlar" ] - ++ lib.optional withFuse "sqlarfs"; + buildFlags = [ + "CFLAGS=-Wno-error" + "sqlar" + ] ++ lib.optional withFuse "sqlarfs"; - installPhase = '' - install -D -t $out/bin sqlar - '' + lib.optionalString withFuse '' - install -D -t $out/bin sqlarfs - ''; + installPhase = + '' + install -D -t $out/bin sqlar + '' + + lib.optionalString withFuse '' + install -D -t $out/bin sqlarfs + ''; meta = with lib; { homepage = "https://sqlite.org/sqlar"; diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 6a6752c3eb93e..4086db31f0141 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -1,20 +1,25 @@ -{ lib, stdenv -, cmake -, fetchurl -, python -, blas -, lapack -, gfortran -, suitesparse -, lapackSupport ? true -, kluSupport ? true +{ + lib, + stdenv, + cmake, + fetchurl, + python, + blas, + lapack, + gfortran, + suitesparse, + lapackSupport ? true, + kluSupport ? true, }: stdenv.mkDerivation rec { pname = "sundials"; version = "7.1.1"; - outputs = [ "out" "examples" ]; + outputs = [ + "out" + "examples" + ]; src = fetchurl { url = "https://github.com/LLNL/sundials/releases/download/v${version}/sundials-${version}.tar.gz"; @@ -26,49 +31,56 @@ stdenv.mkDerivation rec { gfortran ]; - buildInputs = [ - python - ] - ++ lib.optionals (lapackSupport) - # Check that the same index size is used for both libraries - (assert (blas.isILP64 == lapack.isILP64); [ - blas - lapack - ]) - # KLU support is based on Suitesparse. It is tested upstream according to the - # section 1.1.4.2 of INSTALL_GUIDE.pdf found in the source tarball. - ++ lib.optionals (kluSupport) [ - suitesparse - ]; + buildInputs = + [ + python + ] + ++ + lib.optionals (lapackSupport) + # Check that the same index size is used for both libraries + ( + assert (blas.isILP64 == lapack.isILP64); + [ + blas + lapack + ] + ) + # KLU support is based on Suitesparse. It is tested upstream according to the + # section 1.1.4.2 of INSTALL_GUIDE.pdf found in the source tarball. + ++ lib.optionals (kluSupport) [ + suitesparse + ]; - cmakeFlags = [ - "-DEXAMPLES_INSTALL_PATH=${placeholder "examples"}/share/examples" - ] ++ lib.optionals (lapackSupport) [ - "-DENABLE_LAPACK=ON" - "-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" - ] ++ lib.optionals (kluSupport) [ - "-DENABLE_KLU=ON" - "-DKLU_INCLUDE_DIR=${suitesparse.dev}/include" - "-DKLU_LIBRARY_DIR=${suitesparse}/lib" - ] ++ [( - # Use the correct index type according to lapack and blas used. They are - # already supposed to be compatible but we check both for extra safety. 64 - # should be the default but we prefer to be explicit, for extra safety. - if blas.isILP64 then - "-DSUNDIALS_INDEX_SIZE=64" - else - "-DSUNDIALS_INDEX_SIZE=32" - )] - ; + cmakeFlags = + [ + "-DEXAMPLES_INSTALL_PATH=${placeholder "examples"}/share/examples" + ] + ++ lib.optionals (lapackSupport) [ + "-DENABLE_LAPACK=ON" + "-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" + ] + ++ lib.optionals (kluSupport) [ + "-DENABLE_KLU=ON" + "-DKLU_INCLUDE_DIR=${suitesparse.dev}/include" + "-DKLU_LIBRARY_DIR=${suitesparse}/lib" + ] + ++ [ + ( + # Use the correct index type according to lapack and blas used. They are + # already supposed to be compatible but we check both for extra safety. 64 + # should be the default but we prefer to be explicit, for extra safety. + if blas.isILP64 then "-DSUNDIALS_INDEX_SIZE=64" else "-DSUNDIALS_INDEX_SIZE=32" + ) + ]; doCheck = true; checkTarget = "test"; meta = with lib; { description = "Suite of nonlinear differential/algebraic equation solvers"; - homepage = "https://computing.llnl.gov/projects/sundials"; - platforms = platforms.all; + homepage = "https://computing.llnl.gov/projects/sundials"; + platforms = platforms.all; maintainers = with maintainers; [ idontgetoutmuch ]; - license = licenses.bsd3; + license = licenses.bsd3; }; } diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix index 9520f9a8404e5..e006abaef2188 100644 --- a/pkgs/development/libraries/tachyon/default.nix +++ b/pkgs/development/libraries/tachyon/default.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, Carbon -, libjpeg -, libpng -, withJpegSupport ? true # support jpeg output -, withPngSupport ? true # support png output +{ + lib, + stdenv, + fetchurl, + Carbon, + libjpeg, + libpng, + withJpegSupport ? true, # support jpeg output + withPngSupport ? true, # support png output }: stdenv.mkDerivation rec { @@ -14,36 +16,55 @@ stdenv.mkDerivation rec { url = "http://jedi.ks.uiuc.edu/~johns/tachyon/files/${version}/${pname}-${version}.tar.gz"; sha256 = "sha256-CSA8ECMRFJ9d9cw2dAn5bHJXQmZtGcJNtbqZTVqBpvU="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon - ] ++ lib.optionals withJpegSupport [ - libjpeg - ] ++ lib.optionals withPngSupport [ - libpng - ]; - preBuild = '' - cd unix - '' + lib.optionalString withJpegSupport '' - export USEJPEG=" -DUSEJPEG" - export JPEGLIB=" -ljpeg" - '' + lib.optionalString withPngSupport '' - export USEPNG=" -DUSEPNG" - export PNGLIB=" -lpng -lz" - ''; - arch = if stdenv.hostPlatform.system == "x86_64-linux" then "linux-64-thr" else - if stdenv.hostPlatform.system == "i686-linux" then "linux-thr" else - # 2021-03-29: multithread (-DTHR -D_REENTRANT) was disabled on linux-arm - # because it caused Sage's 3D plotting tests to hang indefinitely. - # see https://github.com/NixOS/nixpkgs/pull/117465 - if stdenv.hostPlatform.system == "aarch64-linux" then "linux-arm" else - if stdenv.hostPlatform.system == "armv7l-linux" then "linux-arm" else - if stdenv.hostPlatform.system == "aarch64-darwin" then "macosx" else - if stdenv.hostPlatform.system == "x86_64-darwin" then "macosx-thr" else - if stdenv.hostPlatform.system == "i686-darwin" then "macosx-64-thr" else - if stdenv.hostPlatform.system == "i686-cygwin" then "win32" else - if stdenv.hostPlatform.system == "x86_64-freebsd" then "bsd" else - if stdenv.hostPlatform.system == "x686-freebsd" then "bsd" else - throw "Don't know what arch to select for tachyon build"; + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + ] + ++ lib.optionals withJpegSupport [ + libjpeg + ] + ++ lib.optionals withPngSupport [ + libpng + ]; + preBuild = + '' + cd unix + '' + + lib.optionalString withJpegSupport '' + export USEJPEG=" -DUSEJPEG" + export JPEGLIB=" -ljpeg" + '' + + lib.optionalString withPngSupport '' + export USEPNG=" -DUSEPNG" + export PNGLIB=" -lpng -lz" + ''; + arch = + if stdenv.hostPlatform.system == "x86_64-linux" then + "linux-64-thr" + else if stdenv.hostPlatform.system == "i686-linux" then + "linux-thr" + else + # 2021-03-29: multithread (-DTHR -D_REENTRANT) was disabled on linux-arm + # because it caused Sage's 3D plotting tests to hang indefinitely. + # see https://github.com/NixOS/nixpkgs/pull/117465 + if stdenv.hostPlatform.system == "aarch64-linux" then + "linux-arm" + else if stdenv.hostPlatform.system == "armv7l-linux" then + "linux-arm" + else if stdenv.hostPlatform.system == "aarch64-darwin" then + "macosx" + else if stdenv.hostPlatform.system == "x86_64-darwin" then + "macosx-thr" + else if stdenv.hostPlatform.system == "i686-darwin" then + "macosx-64-thr" + else if stdenv.hostPlatform.system == "i686-cygwin" then + "win32" + else if stdenv.hostPlatform.system == "x86_64-freebsd" then + "bsd" + else if stdenv.hostPlatform.system == "x686-freebsd" then + "bsd" + else + throw "Don't know what arch to select for tachyon build"; makeFlags = [ arch ]; patches = [ @@ -72,7 +93,7 @@ stdenv.mkDerivation rec { description = "Parallel / Multiprocessor Ray Tracing System"; mainProgram = "tachyon"; license = lib.licenses.bsd3; - maintainers = [lib.maintainers.raskin]; + maintainers = [ lib.maintainers.raskin ]; platforms = with lib.platforms; linux ++ cygwin ++ darwin; homepage = "http://jedi.ks.uiuc.edu/~johns/tachyon/"; }; diff --git a/pkgs/development/libraries/tbb/2020_3.nix b/pkgs/development/libraries/tbb/2020_3.nix index c7e1e9127630b..0399aa4c165fd 100644 --- a/pkgs/development/libraries/tbb/2020_3.nix +++ b/pkgs/development/libraries/tbb/2020_3.nix @@ -1,16 +1,20 @@ -{ lib -, stdenv -, fetchpatch -, fetchurl -, fetchFromGitHub -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchpatch, + fetchurl, + fetchFromGitHub, + fixDarwinDylibNames, }: stdenv.mkDerivation rec { pname = "tbb"; version = "2020.3"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "oneapi-src"; @@ -48,20 +52,31 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = (lib.optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]); - - makeFlags = lib.optionals stdenv.cc.isClang [ - "compiler=clang" - ] ++ (lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) - (if stdenv.hostPlatform.isAarch64 then "arch=arm64" - else if stdenv.hostPlatform.isx86_64 then "arch=intel64" - else if stdenv.hostPlatform.isi686 then "arch=ia32" - else throw "Unsupported cross architecture")); + nativeBuildInputs = ( + lib.optionals stdenv.hostPlatform.isDarwin [ + fixDarwinDylibNames + ] + ); + + makeFlags = + lib.optionals stdenv.cc.isClang [ + "compiler=clang" + ] + ++ (lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) ( + if stdenv.hostPlatform.isAarch64 then + "arch=arm64" + else if stdenv.hostPlatform.isx86_64 then + "arch=intel64" + else if stdenv.hostPlatform.isi686 then + "arch=ia32" + else + throw "Unsupported cross architecture" + )); # Fix undefined reference errors with version script under LLVM. - NIX_LDFLAGS = lib.optionalString (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "--undefined-version"; + NIX_LDFLAGS = lib.optionalString ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) "--undefined-version"; enableParallelBuilding = true; @@ -76,22 +91,24 @@ stdenv.mkDerivation rec { runHook postInstall ''; - postInstall = let - pcTemplate = fetchurl { - url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in"; - sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI="; - }; - in '' - # Generate pkg-config file based on upstream template. - # It should not be necessary with tbb after 2021.2. - mkdir -p "$out/lib/pkgconfig" - substitute "${pcTemplate}" "$out/lib/pkgconfig/tbb.pc" \ - --subst-var-by CMAKE_INSTALL_PREFIX "$out" \ - --subst-var-by CMAKE_INSTALL_LIBDIR "lib" \ - --subst-var-by CMAKE_INSTALL_INCLUDEDIR "include" \ - --subst-var-by TBB_VERSION "${version}" \ - --subst-var-by TBB_LIB_NAME "tbb" - ''; + postInstall = + let + pcTemplate = fetchurl { + url = "https://github.com/oneapi-src/oneTBB/raw/478de5b1887c928e52f029d706af6ea640a877be/integration/pkg-config/tbb.pc.in"; + sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI="; + }; + in + '' + # Generate pkg-config file based on upstream template. + # It should not be necessary with tbb after 2021.2. + mkdir -p "$out/lib/pkgconfig" + substitute "${pcTemplate}" "$out/lib/pkgconfig/tbb.pc" \ + --subst-var-by CMAKE_INSTALL_PREFIX "$out" \ + --subst-var-by CMAKE_INSTALL_LIBDIR "lib" \ + --subst-var-by CMAKE_INSTALL_INCLUDEDIR "include" \ + --subst-var-by TBB_VERSION "${version}" \ + --subst-var-by TBB_LIB_NAME "tbb" + ''; meta = with lib; { description = "Intel Thread Building Blocks C++ Library"; @@ -106,6 +123,9 @@ stdenv.mkDerivation rec { details and threading mechanisms for scalability and performance. ''; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice tmarkus ]; + maintainers = with maintainers; [ + thoughtpolice + tmarkus + ]; }; } diff --git a/pkgs/development/libraries/tbb/2021_5.nix b/pkgs/development/libraries/tbb/2021_5.nix index 90e7aa2a9f2f3..b17ce8a760fcd 100644 --- a/pkgs/development/libraries/tbb/2021_5.nix +++ b/pkgs/development/libraries/tbb/2021_5.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { pname = "tbb"; version = "2021.5.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "oneapi-src"; @@ -42,16 +46,24 @@ stdenv.mkDerivation rec { # Fix build with modern gcc # In member function 'void std::__atomic_base<_IntTp>::store(__int_type, std::memory_order) [with _ITp = bool]', - NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-error=array-bounds" "-Wno-error=stringop-overflow" "-Wno-address" ] ++ - # error: variable 'val' set but not used - lib.optionals stdenv.cc.isClang [ "-Wno-error=unused-but-set-variable" ] ++ - # Workaround for gcc-12 ICE when using -O3 - # https://gcc.gnu.org/PR108854 - lib.optionals (stdenv.cc.isGNU && stdenv.hostPlatform.isx86_32) [ "-O2" ]; + NIX_CFLAGS_COMPILE = + lib.optionals stdenv.cc.isGNU [ + "-Wno-error=array-bounds" + "-Wno-error=stringop-overflow" + "-Wno-address" + ] + ++ + # error: variable 'val' set but not used + lib.optionals stdenv.cc.isClang [ "-Wno-error=unused-but-set-variable" ] + ++ + # Workaround for gcc-12 ICE when using -O3 + # https://gcc.gnu.org/PR108854 + lib.optionals (stdenv.cc.isGNU && stdenv.hostPlatform.isx86_32) [ "-O2" ]; # Fix undefined reference errors with version script under LLVM. - NIX_LDFLAGS = lib.optionalString (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "--undefined-version"; - + NIX_LDFLAGS = lib.optionalString ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) "--undefined-version"; meta = with lib; { description = "Intel Thread Building Blocks C++ Library"; @@ -66,6 +78,9 @@ stdenv.mkDerivation rec { details and threading mechanisms for scalability and performance. ''; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice tmarkus ]; + maintainers = with maintainers; [ + thoughtpolice + tmarkus + ]; }; } diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix index c5c4a6275b5b6..a27ff43e241fb 100644 --- a/pkgs/development/libraries/tbb/default.nix +++ b/pkgs/development/libraries/tbb/default.nix @@ -1,15 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, }: stdenv.mkDerivation rec { pname = "tbb"; version = "2021.11.0"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "oneapi-src"; @@ -32,15 +36,23 @@ stdenv.mkDerivation rec { # Fix build with modern gcc # In member function 'void std::__atomic_base<_IntTp>::store(__int_type, std::memory_order) [with _ITp = bool]', - NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-error=array-bounds" "-Wno-error=stringop-overflow" ] ++ - # error: variable 'val' set but not used - lib.optionals stdenv.cc.isClang [ "-Wno-error=unused-but-set-variable" ] ++ - # Workaround for gcc-12 ICE when using -O3 - # https://gcc.gnu.org/PR108854 - lib.optionals (stdenv.cc.isGNU && stdenv.hostPlatform.isx86_32) [ "-O2" ]; + NIX_CFLAGS_COMPILE = + lib.optionals stdenv.cc.isGNU [ + "-Wno-error=array-bounds" + "-Wno-error=stringop-overflow" + ] + ++ + # error: variable 'val' set but not used + lib.optionals stdenv.cc.isClang [ "-Wno-error=unused-but-set-variable" ] + ++ + # Workaround for gcc-12 ICE when using -O3 + # https://gcc.gnu.org/PR108854 + lib.optionals (stdenv.cc.isGNU && stdenv.hostPlatform.isx86_32) [ "-O2" ]; # Fix undefined reference errors with version script under LLVM. - NIX_LDFLAGS = lib.optionalString (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "--undefined-version"; + NIX_LDFLAGS = lib.optionalString ( + stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17" + ) "--undefined-version"; # Disable failing test on musl # test/conformance/conformance_resumable_tasks.cpp:37:24: error: ‘suspend’ is not a member of ‘tbb::v1::task’; did you mean ‘tbb::detail::r1::suspend’? @@ -62,6 +74,9 @@ stdenv.mkDerivation rec { details and threading mechanisms for scalability and performance. ''; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice tmarkus ]; + maintainers = with maintainers; [ + thoughtpolice + tmarkus + ]; }; } diff --git a/pkgs/development/libraries/tclap/1.2.nix b/pkgs/development/libraries/tclap/1.2.nix index cdb2b5193291f..a586e69091937 100644 --- a/pkgs/development/libraries/tclap/1.2.nix +++ b/pkgs/development/libraries/tclap/1.2.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "tclap"; diff --git a/pkgs/development/libraries/tclap/1.4.nix b/pkgs/development/libraries/tclap/1.4.nix index 7a0b576596331..2daa837ad5140 100644 --- a/pkgs/development/libraries/tclap/1.4.nix +++ b/pkgs/development/libraries/tclap/1.4.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchgit -, cmake -, doxygen -, python3 +{ + lib, + stdenv, + fetchgit, + cmake, + doxygen, + python3, }: stdenv.mkDerivation { pname = "tclap"; diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix index 605da19f77fc0..d8468027985ca 100644 --- a/pkgs/development/libraries/telepathy/qt/default.nix +++ b/pkgs/development/libraries/telepathy/qt/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, cmake -, qtbase -, pkg-config -, python3Packages -, dbus-glib -, dbus -, telepathy-farstream -, telepathy-glib +{ + lib, + stdenv, + fetchurl, + cmake, + qtbase, + pkg-config, + python3Packages, + dbus-glib, + dbus, + telepathy-farstream, + telepathy-glib, }: let @@ -23,10 +24,21 @@ stdenv.mkDerivation rec { sha256 = "bf8e2a09060addb80475a4938105b9b41d9e6837999b7a00e5351783857e18ad"; }; - nativeBuildInputs = [ cmake pkg-config python ]; - propagatedBuildInputs = [ qtbase telepathy-farstream telepathy-glib ]; + nativeBuildInputs = [ + cmake + pkg-config + python + ]; + propagatedBuildInputs = [ + qtbase + telepathy-farstream + telepathy-glib + ]; buildInputs = [ dbus-glib ]; - nativeCheckInputs = [ dbus dbus-python ]; + nativeCheckInputs = [ + dbus + dbus-python + ]; # No point in building tests if they are not run # On 0.9.7, they do not even build with QT4 diff --git a/pkgs/development/libraries/tinyxml/2.6.2.nix b/pkgs/development/libraries/tinyxml/2.6.2.nix index 456fd7fe2dd90..f70142b6b2d4f 100644 --- a/pkgs/development/libraries/tinyxml/2.6.2.nix +++ b/pkgs/development/libraries/tinyxml/2.6.2.nix @@ -1,9 +1,16 @@ -{ lib, stdenv, fetchurl, fetchpatch, unzip }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + unzip, +}: let version = "2.6.2"; SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "tinyxml"; inherit version; @@ -38,8 +45,7 @@ in stdenv.mkDerivation { hardeningDisable = [ "format" ]; - env.NIX_CFLAGS_COMPILE = - lib.optionalString stdenv.hostPlatform.isDarwin "-mmacosx-version-min=10.9"; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-mmacosx-version-min=10.9"; nativeBuildInputs = [ unzip ]; buildPhase = '' @@ -65,22 +71,24 @@ in stdenv.mkDerivation { fi ''; - installPhase = '' - mkdir -pv $out/include/ - mkdir -pv $out/lib/pkgconfig/ - mkdir -pv $out/share/doc/tinyxml/ + installPhase = + '' + mkdir -pv $out/include/ + mkdir -pv $out/lib/pkgconfig/ + mkdir -pv $out/share/doc/tinyxml/ - cp -v libtinyxml${SHLIB_EXT} $out/lib/ - cp -v *.h $out/include/ + cp -v libtinyxml${SHLIB_EXT} $out/lib/ + cp -v *.h $out/include/ - substituteInPlace tinyxml.pc --replace "@out@" "$out" - substituteInPlace tinyxml.pc --replace "@version@" "${version}" - cp -v tinyxml.pc $out/lib/pkgconfig/ + substituteInPlace tinyxml.pc --replace "@out@" "$out" + substituteInPlace tinyxml.pc --replace "@version@" "${version}" + cp -v tinyxml.pc $out/lib/pkgconfig/ - cp -v docs/* $out/share/doc/tinyxml/ - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id $out/lib/libtinyxml.dylib $out/lib/libtinyxml.dylib - ''; + cp -v docs/* $out/share/doc/tinyxml/ + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id $out/lib/libtinyxml.dylib $out/lib/libtinyxml.dylib + ''; meta = { description = "Simple, small, C++ XML parser that can be easily integrating into other programs"; diff --git a/pkgs/development/libraries/tk/8.5.nix b/pkgs/development/libraries/tk/8.5.nix index ad0013060ff63..77c8a1a1f0a5c 100644 --- a/pkgs/development/libraries/tk/8.5.nix +++ b/pkgs/development/libraries/tk/8.5.nix @@ -1,28 +1,32 @@ -{ lib -, stdenv -, callPackage -, fetchurl -, fetchpatch -, tcl -, ... -} @ args: +{ + lib, + stdenv, + callPackage, + fetchurl, + fetchpatch, + tcl, + ... +}@args: -callPackage ./generic.nix (args // { +callPackage ./generic.nix ( + args + // { - src = fetchurl { - url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz"; - sha256 = "1yhgcalldrjlc5q614rlzg1crgd3b52dhrk1pncdaxvl2vgg2yj0"; - }; + src = fetchurl { + url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz"; + sha256 = "1yhgcalldrjlc5q614rlzg1crgd3b52dhrk1pncdaxvl2vgg2yj0"; + }; - patches = lib.optionals stdenv.hostPlatform.isDarwin [ - # Define MODULE_SCOPE before including tkPort.h - # https://core.tcl-lang.org/tk/info/dba9f5ce3b - (fetchpatch { - name = "module_scope.patch"; - url = "https://core.tcl-lang.org/tk/vpatch?from=ef6c6960c53ea30c&to=9b8aa74eebed509a"; - extraPrefix = ""; - sha256 = "0crhf4zrzdpc1jdgyv6l6mxqgmny12r3i39y1i0j8q3pbqkd04bv"; - }) - ]; + patches = lib.optionals stdenv.hostPlatform.isDarwin [ + # Define MODULE_SCOPE before including tkPort.h + # https://core.tcl-lang.org/tk/info/dba9f5ce3b + (fetchpatch { + name = "module_scope.patch"; + url = "https://core.tcl-lang.org/tk/vpatch?from=ef6c6960c53ea30c&to=9b8aa74eebed509a"; + extraPrefix = ""; + sha256 = "0crhf4zrzdpc1jdgyv6l6mxqgmny12r3i39y1i0j8q3pbqkd04bv"; + }) + ]; -}) + } +) diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix index 84028762dbba9..bb5f3e97da647 100644 --- a/pkgs/development/libraries/tk/8.6.nix +++ b/pkgs/development/libraries/tk/8.6.nix @@ -1,18 +1,22 @@ -{ callPackage -, fetchurl -, tcl -, ... -} @ args: +{ + callPackage, + fetchurl, + tcl, + ... +}@args: -callPackage ./generic.nix (args // { +callPackage ./generic.nix ( + args + // { - src = fetchurl { - url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz"; - sha256 = "sha256-VQlp81N5+VKzAg86t7ndW/0Rwe98m3xqdfXEmsp5P+w="; - }; + src = fetchurl { + url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz"; + sha256 = "sha256-VQlp81N5+VKzAg86t7ndW/0Rwe98m3xqdfXEmsp5P+w="; + }; - patches = [ - ./tk-8_6_13-find-library.patch - ]; + patches = [ + ./tk-8_6_13-find-library.patch + ]; -}) + } +) diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix index c1f3aeb7a34a8..5604a3b19a74e 100644 --- a/pkgs/development/libraries/tpm2-tss/default.nix +++ b/pkgs/development/libraries/tpm2-tss/default.nix @@ -1,8 +1,23 @@ -{ stdenv, lib, fetchFromGitHub -, autoreconfHook, autoconf-archive, pkg-config, doxygen, perl -, openssl, json_c, curl, libgcrypt -, cmocka, uthash, swtpm, iproute2, procps, which -, libuuid +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + pkg-config, + doxygen, + perl, + openssl, + json_c, + curl, + libgcrypt, + cmocka, + uthash, + swtpm, + iproute2, + procps, + which, + libuuid, }: let # Avoid a circular dependency on Linux systems (systemd depends on tpm2-tss, @@ -24,23 +39,42 @@ stdenv.mkDerivation rec { hash = "sha256-BP28utEUI9g1VNv3lCXuiKrDtEImFQxxZfIjLiE3Wr8="; }; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; nativeBuildInputs = [ - autoreconfHook autoconf-archive pkg-config doxygen perl + autoreconfHook + autoconf-archive + pkg-config + doxygen + perl ]; - buildInputs = [ - openssl json_c curl libgcrypt uthash libuuid - ] - # cmocka is checked in the configure script - # when unit and/or integration testing is enabled - # cmocka doesn't build with pkgsStatic, and we don't need it anyway - # when tests are not run - ++ lib.optional doInstallCheck cmocka; + buildInputs = + [ + openssl + json_c + curl + libgcrypt + uthash + libuuid + ] + # cmocka is checked in the configure script + # when unit and/or integration testing is enabled + # cmocka doesn't build with pkgsStatic, and we don't need it anyway + # when tests are not run + ++ lib.optional doInstallCheck cmocka; nativeInstallCheckInputs = [ - cmocka which openssl procps_pkg iproute2 swtpm + cmocka + which + openssl + procps_pkg + iproute2 + swtpm ]; strictDeps = true; diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index b5b7e78e32a6b..38d0d8ff4f7f8 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -1,4 +1,23 @@ -{ fetchurl, stdenv, unixODBC, cmake, mariadb, sqlite, zlib, libxml2, dpkg, lib, openssl, libkrb5, libuuid, patchelf, libiconv, fixDarwinDylibNames, fetchFromGitHub, psqlodbc }: +{ + fetchurl, + stdenv, + unixODBC, + cmake, + mariadb, + sqlite, + zlib, + libxml2, + dpkg, + lib, + openssl, + libkrb5, + libuuid, + patchelf, + libiconv, + fixDarwinDylibNames, + fetchFromGitHub, + psqlodbc, +}: # Each of these ODBC drivers can be configured in your odbcinst.ini file using # the various passthru and meta values. Of note are: @@ -16,7 +35,10 @@ # '' { - psql = psqlodbc.override { withUnixODBC = true; withLibiodbc = false; }; + psql = psqlodbc.override { + withUnixODBC = true; + withLibiodbc = false; + }; mariadb = stdenv.mkDerivation rec { pname = "mariadb-connector-odbc"; @@ -38,8 +60,12 @@ ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ unixODBC openssl libiconv zlib ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libkrb5 ]; + buildInputs = [ + unixODBC + openssl + libiconv + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libkrb5 ]; cmakeFlags = [ "-DWITH_EXTERNAL_ZLIB=ON" @@ -83,7 +109,10 @@ }; nativeBuildInputs = [ cmake ]; - buildInputs = [ unixODBC mariadb ]; + buildInputs = [ + unixODBC + mariadb + ]; cmakeFlags = [ "-DWITH_UNIXODBC=1" ]; @@ -111,9 +140,17 @@ sha256 = "0dgsj28sc7f7aprmdd0n5a1rmcx6pv7170c8dfjl0x1qsjxim6hs"; }; - buildInputs = [ unixODBC sqlite zlib libxml2 ]; + buildInputs = [ + unixODBC + sqlite + zlib + libxml2 + ]; - configureFlags = [ "--with-odbc=${unixODBC}" "--with-sqlite3=${sqlite.dev}" ]; + configureFlags = [ + "--with-odbc=${unixODBC}" + "--with-sqlite3=${sqlite.dev}" + ]; installTargets = [ "install-3" ]; @@ -151,7 +188,10 @@ sha256 = "0vwirnp56jibm3qf0kmi4jnz1w7xfhnsfr8imr0c9hg6av4sk3a6"; }; - nativeBuildInputs = [ dpkg patchelf ]; + nativeBuildInputs = [ + dpkg + patchelf + ]; unpackPhase = "dpkg -x $src ./"; buildPhase = ""; @@ -163,7 +203,15 @@ ''; postFixup = '' - patchelf --set-rpath ${lib.makeLibraryPath [ unixODBC openssl libkrb5 libuuid stdenv.cc.cc ]} \ + patchelf --set-rpath ${ + lib.makeLibraryPath [ + unixODBC + openssl + libkrb5 + libuuid + stdenv.cc.cc + ] + } \ $out/lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional} ''; @@ -184,7 +232,7 @@ }; }; - msodbcsql18 = stdenv.mkDerivation(finalAttrs: { + msodbcsql18 = stdenv.mkDerivation (finalAttrs: { pname = "msodbcsql${finalAttrs.versionMajor}"; version = "${finalAttrs.versionMajor}.${finalAttrs.versionMinor}.${finalAttrs.versionAdditional}${finalAttrs.versionSuffix}"; @@ -194,23 +242,26 @@ versionSuffix = lib.optionalString stdenv.hostPlatform.isLinux "-1"; src = fetchurl { - url = { - x86_64-linux = "https://packages.microsoft.com/debian/11/prod/pool/main/m/msodbcsql${finalAttrs.versionMajor}/msodbcsql${finalAttrs.versionMajor}_${finalAttrs.version}_amd64.deb"; - aarch64-linux = "https://packages.microsoft.com/debian/11/prod/pool/main/m/msodbcsql${finalAttrs.versionMajor}/msodbcsql${finalAttrs.versionMajor}_${finalAttrs.version}_arm64.deb"; - x86_64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/msodbcsql${finalAttrs.versionMajor}-${finalAttrs.version}-amd64.tar.gz"; - aarch64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/msodbcsql${finalAttrs.versionMajor}-${finalAttrs.version}-arm64.tar.gz"; - }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); - hash = { - x86_64-linux = "sha256:1f0rmh1aynf1sqmjclbsyh2wz5jby0fixrwz71zp6impxpwvil52"; - aarch64-linux = "sha256:0zphnbvkqdbkcv6lvv63p7pyl68h5bs2dy6vv44wm6bi89svms4a"; - x86_64-darwin = "sha256:1fn80byn1yihflznxcm9cpj42mpllnz54apnk9n46vzm2ng2lj6d"; - aarch64-darwin = "sha256:116xl8r2apr5b48jnq6myj9fwqs88yccw5176yfyzh4534fznj5x"; - }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + url = + { + x86_64-linux = "https://packages.microsoft.com/debian/11/prod/pool/main/m/msodbcsql${finalAttrs.versionMajor}/msodbcsql${finalAttrs.versionMajor}_${finalAttrs.version}_amd64.deb"; + aarch64-linux = "https://packages.microsoft.com/debian/11/prod/pool/main/m/msodbcsql${finalAttrs.versionMajor}/msodbcsql${finalAttrs.versionMajor}_${finalAttrs.version}_arm64.deb"; + x86_64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/msodbcsql${finalAttrs.versionMajor}-${finalAttrs.version}-amd64.tar.gz"; + aarch64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/msodbcsql${finalAttrs.versionMajor}-${finalAttrs.version}-arm64.tar.gz"; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + hash = + { + x86_64-linux = "sha256:1f0rmh1aynf1sqmjclbsyh2wz5jby0fixrwz71zp6impxpwvil52"; + aarch64-linux = "sha256:0zphnbvkqdbkcv6lvv63p7pyl68h5bs2dy6vv44wm6bi89svms4a"; + x86_64-darwin = "sha256:1fn80byn1yihflznxcm9cpj42mpllnz54apnk9n46vzm2ng2lj6d"; + aarch64-darwin = "sha256:116xl8r2apr5b48jnq6myj9fwqs88yccw5176yfyzh4534fznj5x"; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); }; nativeBuildInputs = - if stdenv.hostPlatform.isDarwin - then + if stdenv.hostPlatform.isDarwin then [ # Fix up the names encoded into the dylib, and make them absolute. fixDarwinDylibNames @@ -226,8 +277,7 @@ ''; installPhase = - if stdenv.hostPlatform.isDarwin - then + if stdenv.hostPlatform.isDarwin then '' mkdir -p $out tar xf $src --strip-components=1 -C $out @@ -248,14 +298,27 @@ ''; postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf --set-rpath ${lib.makeLibraryPath [ unixODBC openssl libkrb5 libuuid stdenv.cc.cc ]} \ + patchelf --set-rpath ${ + lib.makeLibraryPath [ + unixODBC + openssl + libkrb5 + libuuid + stdenv.cc.cc + ] + } \ $out/${finalAttrs.passthru.driver} ''; # see the top of the file for an explanation passthru = { fancyName = "ODBC Driver ${finalAttrs.versionMajor} for SQL Server"; - driver = "lib/libmsodbcsql${if stdenv.hostPlatform.isDarwin then ".${finalAttrs.versionMajor}.dylib" else "-${finalAttrs.versionMajor}.${finalAttrs.versionMinor}.so.${finalAttrs.versionAdditional}"}"; + driver = "lib/libmsodbcsql${ + if stdenv.hostPlatform.isDarwin then + ".${finalAttrs.versionMajor}.dylib" + else + "-${finalAttrs.versionMajor}.${finalAttrs.versionMinor}.so.${finalAttrs.versionAdditional}" + }"; }; meta = with lib; { diff --git a/pkgs/development/libraries/unqlite/default.nix b/pkgs/development/libraries/unqlite/default.nix index c0e405c8849c9..471cbcc347f0f 100644 --- a/pkgs/development/libraries/unqlite/default.nix +++ b/pkgs/development/libraries/unqlite/default.nix @@ -1,6 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "unqlite"; diff --git a/pkgs/development/libraries/ustream-ssl/default.nix b/pkgs/development/libraries/ustream-ssl/default.nix index 4bee9d4f31558..e618431bb01c6 100644 --- a/pkgs/development/libraries/ustream-ssl/default.nix +++ b/pkgs/development/libraries/ustream-ssl/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchgit -, cmake -, pkg-config -, libubox-nossl -, ssl_implementation -, additional_buildInputs ? [ ] +{ + stdenv, + lib, + fetchgit, + cmake, + pkg-config, + libubox-nossl, + ssl_implementation, + additional_buildInputs ? [ ], }: stdenv.mkDerivation { @@ -22,13 +23,18 @@ stdenv.mkDerivation { sed -r \ -e "s|ubox_include_dir libubox/ustream.h|ubox_include_dir libubox/ustream.h HINTS ${libubox-nossl}/include|g" \ -e "s|ubox_library NAMES ubox|ubox_library NAMES ubox HINTS ${libubox-nossl}/lib|g" \ - -e "s|^ FIND_LIBRARY\((.+)\)| FIND_LIBRARY\(\1 HINTS ${if ssl_implementation ? lib then ssl_implementation.lib else ssl_implementation.out}\)|g" \ + -e "s|^ FIND_LIBRARY\((.+)\)| FIND_LIBRARY\(\1 HINTS ${ + if ssl_implementation ? lib then ssl_implementation.lib else ssl_implementation.out + }\)|g" \ -i CMakeLists.txt ''; cmakeFlags = [ "-D${lib.toUpper ssl_implementation.pname}=ON" ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ ssl_implementation ] ++ additional_buildInputs; passthru = { @@ -39,7 +45,10 @@ stdenv.mkDerivation { description = "ustream SSL wrapper"; homepage = "https://git.openwrt.org/?p=project/ustream-ssl.git;a=summary"; license = licenses.isc; - maintainers = with maintainers; [ fpletz mkg20001 ]; + maintainers = with maintainers; [ + fpletz + mkg20001 + ]; platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index b6b2d4e6298f8..335c6fd4f6c69 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -1,9 +1,17 @@ -{ stdenv, lib, fetchgit -, gn, ninja, python3, glib, pkg-config, icu -, xcbuild -, fetchpatch -, llvmPackages -, symlinkJoin +{ + stdenv, + lib, + fetchgit, + gn, + ninja, + python3, + glib, + pkg-config, + icu, + xcbuild, + fetchpatch, + llvmPackages, + symlinkJoin, }: # Use update.sh to update all checksums. @@ -21,38 +29,38 @@ let # This data is from the DEPS file in the root of a V8 checkout. deps = { "base/trace_event/common" = fetchgit { - url = "${git_url}/chromium/src/base/trace_event/common.git"; - rev = "7f36dbc19d31e2aad895c60261ca8f726442bfbb"; + url = "${git_url}/chromium/src/base/trace_event/common.git"; + rev = "7f36dbc19d31e2aad895c60261ca8f726442bfbb"; sha256 = "01b2fhbxznqbakxv42ivrzg6w8l7i9yrd9nf72d6p5xx9dm993j4"; }; "build" = fetchgit { - url = "${git_url}/chromium/src/build.git"; - rev = "cf325916d58a194a935c26a56fcf6b525d1e2bf4"; + url = "${git_url}/chromium/src/build.git"; + rev = "cf325916d58a194a935c26a56fcf6b525d1e2bf4"; sha256 = "1ix4h1cpx9bvgln8590xh7lllhsd9w1hd5k9l1gx5yxxrmywd3s4"; }; "third_party/googletest/src" = fetchgit { - url = "${git_url}/external/github.com/google/googletest.git"; - rev = "16f637fbf4ffc3f7a01fa4eceb7906634565242f"; + url = "${git_url}/external/github.com/google/googletest.git"; + rev = "16f637fbf4ffc3f7a01fa4eceb7906634565242f"; sha256 = "11012k3c3mxzdwcw2iparr9lrckafpyhqzclsj26hmfbgbdi0rrh"; }; "third_party/icu" = fetchgit { - url = "${git_url}/chromium/deps/icu.git"; - rev = "eedbaf76e49d28465d9119b10c30b82906e606ff"; + url = "${git_url}/chromium/deps/icu.git"; + rev = "eedbaf76e49d28465d9119b10c30b82906e606ff"; sha256 = "0mppvx7wf9zlqjsfaa1cf06brh1fjb6nmiib0lhbb9hd55mqjdjj"; }; "third_party/zlib" = fetchgit { - url = "${git_url}/chromium/src/third_party/zlib.git"; - rev = "6da1d53b97c89b07e47714d88cab61f1ce003c68"; + url = "${git_url}/chromium/src/third_party/zlib.git"; + rev = "6da1d53b97c89b07e47714d88cab61f1ce003c68"; sha256 = "0v7ylmbwfwv6w6wp29qdf77kjjnfr2xzin08n0v1yvbhs01h5ppy"; }; "third_party/jinja2" = fetchgit { - url = "${git_url}/chromium/src/third_party/jinja2.git"; - rev = "ee69aa00ee8536f61db6a451f3858745cf587de6"; + url = "${git_url}/chromium/src/third_party/jinja2.git"; + rev = "ee69aa00ee8536f61db6a451f3858745cf587de6"; sha256 = "1fsnd5h0gisfp8bdsfd81kk5v4mkqf8z368c7qlm1qcwc4ri4x7a"; }; "third_party/markupsafe" = fetchgit { - url = "${git_url}/chromium/src/third_party/markupsafe.git"; - rev = "1b882ef6372b58bfd55a3285f37ed801be9137cd"; + url = "${git_url}/chromium/src/third_party/markupsafe.git"; + rev = "1b882ef6372b58bfd55a3285f37ed801be9137cd"; sha256 = "1jnjidbh03lhfaawimkjxbprmsgz4snr0jl06630dyd41zkdw5kr"; }; }; @@ -83,7 +91,7 @@ stdenv.mkDerivation rec { # gcc-13 build fix for mixxign includes (fetchpatch { name = "gcc-13.patch"; - url = "https://chromium.googlesource.com/v8/v8/+/c2792e58035fcbaa16d0cb70998852fbeb5df4cc^!?format=TEXT"; + url = "https://chromium.googlesource.com/v8/v8/+/c2792e58035fcbaa16d0cb70998852fbeb5df4cc^!?format=TEXT"; decode = "base64 -d"; hash = "sha256-hoPAkSaCmzXflPFXaKUwVPLECMpt6N6/8m8mBSTAHbU="; }) @@ -96,7 +104,8 @@ stdenv.mkDerivation rec { lib.mapAttrsToList (n: v: '' mkdir -p $sourceRoot/${n} cp -r ${v}/* $sourceRoot/${n} - '') deps)} + '') deps + )} chmod u+w -R . ''; @@ -121,48 +130,67 @@ stdenv.mkDerivation rec { sed '1i#include ' -i src/heap/cppgc/prefinalizer-handler.h # gcc12 ''; - llvmCcAndBintools = symlinkJoin { name = "llvmCcAndBintools"; paths = [ stdenv.cc llvmPackages.llvm ]; }; - - gnFlags = [ - "use_custom_libcxx=false" - "is_clang=${lib.boolToString stdenv.cc.isClang}" - "use_sysroot=false" - # "use_system_icu=true" - "clang_use_chrome_plugins=false" - "is_component_build=false" - "v8_use_external_startup_data=false" - "v8_monolithic=true" - "is_debug=true" - "is_official_build=false" - "treat_warnings_as_errors=false" - "v8_enable_i18n_support=true" - "use_gold=false" - # ''custom_toolchain="//build/toolchain/linux/unbundle:default"'' - ''host_toolchain="//build/toolchain/linux/unbundle:default"'' - ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"'' - ] ++ lib.optional stdenv.cc.isClang ''clang_base_path="${llvmCcAndBintools}"'' - ++ lib.optional stdenv.hostPlatform.isDarwin ''use_lld=false''; - - env.NIX_CFLAGS_COMPILE = toString ([ - "-O2" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=enum-constexpr-conversion" - ]); + llvmCcAndBintools = symlinkJoin { + name = "llvmCcAndBintools"; + paths = [ + stdenv.cc + llvmPackages.llvm + ]; + }; + + gnFlags = + [ + "use_custom_libcxx=false" + "is_clang=${lib.boolToString stdenv.cc.isClang}" + "use_sysroot=false" + # "use_system_icu=true" + "clang_use_chrome_plugins=false" + "is_component_build=false" + "v8_use_external_startup_data=false" + "v8_monolithic=true" + "is_debug=true" + "is_official_build=false" + "treat_warnings_as_errors=false" + "v8_enable_i18n_support=true" + "use_gold=false" + # ''custom_toolchain="//build/toolchain/linux/unbundle:default"'' + ''host_toolchain="//build/toolchain/linux/unbundle:default"'' + ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"'' + ] + ++ lib.optional stdenv.cc.isClang ''clang_base_path="${llvmCcAndBintools}"'' + ++ lib.optional stdenv.hostPlatform.isDarwin ''use_lld=false''; + + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-O2" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=enum-constexpr-conversion" + ] + ); FORCE_MAC_SDK_MIN = stdenv.hostPlatform.sdkVer or "10.12"; - nativeBuildInputs = [ - myGn - ninja - pkg-config - python3 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - xcbuild - llvmPackages.llvm - python3.pkgs.setuptools + nativeBuildInputs = + [ + myGn + ninja + pkg-config + python3 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + xcbuild + llvmPackages.llvm + python3.pkgs.setuptools + ]; + buildInputs = [ + glib + icu ]; - buildInputs = [ glib icu ]; - ninjaFlags = [ ":d8" "v8_monolith" ]; + ninjaFlags = [ + ":d8" + "v8_monolith" + ]; enableParallelBuilding = true; @@ -187,7 +215,10 @@ stdenv.mkDerivation rec { homepage = "https://v8.dev/"; description = "Google's open source JavaScript engine"; mainProgram = "d8"; - maintainers = with maintainers; [ proglodyte matthewbauer ]; + maintainers = with maintainers; [ + proglodyte + matthewbauer + ]; platforms = platforms.unix; license = licenses.bsd3; knownVulnerabilities = [ "Severely outdated with multiple publicly known vulnerabilities" ]; diff --git a/pkgs/development/libraries/valhalla/default.nix b/pkgs/development/libraries/valhalla/default.nix index 3a699cd0823da..387362906e2ed 100644 --- a/pkgs/development/libraries/valhalla/default.nix +++ b/pkgs/development/libraries/valhalla/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, pkg-config -, boost -, curl -, geos -, libspatialite -, luajit -, prime-server -, protobuf -, python3 -, sqlite -, zeromq -, zlib -, testers +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + boost, + curl, + geos, + libspatialite, + luajit, + prime-server, + protobuf, + python3, + sqlite, + zeromq, + zlib, + testers, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/libraries/vc/0.7.nix b/pkgs/development/libraries/vc/0.7.nix index fa0e6feb7df76..c894dc31de22d 100644 --- a/pkgs/development/libraries/vc/0.7.nix +++ b/pkgs/development/libraries/vc/0.7.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "Vc"; @@ -28,6 +33,8 @@ stdenv.mkDerivation rec { platforms = platforms.all; maintainers = with maintainers; [ abbradar ]; # never built on aarch64-darwin since first introduction in nixpkgs - broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); + broken = + (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) + || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); }; } diff --git a/pkgs/development/libraries/vc/default.nix b/pkgs/development/libraries/vc/default.nix index 6eb3c3db64278..8ff1ccd81d53d 100644 --- a/pkgs/development/libraries/vc/default.nix +++ b/pkgs/development/libraries/vc/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "Vc"; diff --git a/pkgs/development/libraries/vid-stab/default.nix b/pkgs/development/libraries/vid-stab/default.nix index a1eb5cf53e5da..dcc4779090b26 100644 --- a/pkgs/development/libraries/vid-stab/default.nix +++ b/pkgs/development/libraries/vid-stab/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, openmp }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + openmp, +}: stdenv.mkDerivation rec { pname = "vid.stab"; diff --git a/pkgs/development/libraries/vmmlib/default.nix b/pkgs/development/libraries/vmmlib/default.nix index 71b540b01ca7f..8283a89095c5f 100644 --- a/pkgs/development/libraries/vmmlib/default.nix +++ b/pkgs/development/libraries/vmmlib/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, lapack -, Accelerate, CoreGraphics, CoreVideo +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + boost, + lapack, + Accelerate, + CoreGraphics, + CoreVideo, }: stdenv.mkDerivation rec { @@ -14,12 +23,23 @@ stdenv.mkDerivation rec { }; patches = [ - ./disable-cpack.patch #disable the need of cpack/rpm + ./disable-cpack.patch # disable the need of cpack/rpm ]; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ boost lapack ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Accelerate CoreGraphics CoreVideo ]; + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = + [ + boost + lapack + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + CoreGraphics + CoreVideo + ]; doCheck = !stdenv.hostPlatform.isDarwin; @@ -38,9 +58,9 @@ stdenv.mkDerivation rec { computations and frustum culling classes, and spatial data structures ''; - license = licenses.bsd2; - homepage = "https://github.com/VMML/vmmlib/"; + license = licenses.bsd2; + homepage = "https://github.com/VMML/vmmlib/"; maintainers = [ maintainers.adev ]; - platforms = platforms.all; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/vtk/generic.nix b/pkgs/development/libraries/vtk/generic.nix index 91c210814a895..c67b4b843aad2 100644 --- a/pkgs/development/libraries/vtk/generic.nix +++ b/pkgs/development/libraries/vtk/generic.nix @@ -1,9 +1,30 @@ -{ majorVersion, minorVersion, sourceSha256, patchesToFetch ? [] }: -{ stdenv, lib, fetchurl, cmake, libGLU, libGL, libX11, xorgproto, libXt, libpng, libtiff -, fetchpatch -, enableQt ? false, qtx11extras, qttools, qtdeclarative, qtEnv -, enablePython ? false, python ? throw "vtk: Python support requested, but no python interpreter was given." -, enableEgl ? false +{ + majorVersion, + minorVersion, + sourceSha256, + patchesToFetch ? [ ], +}: +{ + stdenv, + lib, + fetchurl, + cmake, + libGLU, + libGL, + libX11, + xorgproto, + libXt, + libpng, + libtiff, + fetchpatch, + enableQt ? false, + qtx11extras, + qttools, + qtdeclarative, + qtEnv, + enablePython ? false, + python ? throw "vtk: Python support requested, but no python interpreter was given.", + enableEgl ? false, }: let @@ -12,10 +33,9 @@ let version = "${majorVersion}.${minorVersion}"; pythonMajor = lib.substring 0 1 python.pythonVersion; -in stdenv.mkDerivation { - pname = "vtk" - + optionalString enableEgl "-egl" - + optionalString enableQt "-qvtk"; +in +stdenv.mkDerivation { + pname = "vtk" + optionalString enableEgl "-egl" + optionalString enableQt "-qvtk"; inherit version; src = fetchurl { @@ -25,31 +45,46 @@ in stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - buildInputs = [ libpng libtiff ] - ++ optionals enableQt [ (qtEnv "qvtk-qt-env" [ qtx11extras qttools qtdeclarative ]) ] + buildInputs = + [ + libpng + libtiff + ] + ++ optionals enableQt [ + (qtEnv "qvtk-qt-env" [ + qtx11extras + qttools + qtdeclarative + ]) + ] ++ optionals stdenv.hostPlatform.isLinux [ libGLU xorgproto libXt - ] ++ optionals enablePython [ + ] + ++ optionals enablePython [ python ]; - propagatedBuildInputs = optionals stdenv.hostPlatform.isLinux [ libX11 libGL ]; - # see https://github.com/NixOS/nixpkgs/pull/178367#issuecomment-1238827254 + propagatedBuildInputs = optionals stdenv.hostPlatform.isLinux [ + libX11 + libGL + ]; + # see https://github.com/NixOS/nixpkgs/pull/178367#issuecomment-1238827254 patches = map fetchpatch patchesToFetch; # GCC 13: error: 'int64_t' in namespace 'std' does not name a type - postPatch = '' - sed '1i#include ' \ - -i ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp \ - -i IO/Image/vtkSEPReader.h - '' - + optionalString stdenv.hostPlatform.isDarwin '' - sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-${majorVersion}|' ./Parallel/Core/CMakeLists.txt - sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c - sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c - ''; + postPatch = + '' + sed '1i#include ' \ + -i ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp \ + -i IO/Image/vtkSEPReader.h + '' + + optionalString stdenv.hostPlatform.isDarwin '' + sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-${majorVersion}|' ./Parallel/Core/CMakeLists.txt + sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c + sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c + ''; dontWrapQtApps = true; @@ -58,23 +93,27 @@ in stdenv.mkDerivation { # built and requiring one of the shared objects. # At least, we use -fPIC for other packages to be able to use this in shared # objects. - cmakeFlags = [ - "-DCMAKE_C_FLAGS=-fPIC" - "-DCMAKE_CXX_FLAGS=-fPIC" - "-DVTK_MODULE_USE_EXTERNAL_vtkpng=ON" - "-DVTK_MODULE_USE_EXTERNAL_vtktiff=1" - "-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "-DOPENGL_INCLUDE_DIR=${libGL}/include" - (lib.cmakeBool "VTK_OPENGL_HAS_EGL" enableEgl) - ] ++ [ - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_BINDIR=bin" - "-DVTK_VERSIONED_INSTALL=OFF" - ] ++ optionals enableQt [ - "-DVTK_GROUP_ENABLE_Qt:STRING=YES" - ] + cmakeFlags = + [ + "-DCMAKE_C_FLAGS=-fPIC" + "-DCMAKE_CXX_FLAGS=-fPIC" + "-DVTK_MODULE_USE_EXTERNAL_vtkpng=ON" + "-DVTK_MODULE_USE_EXTERNAL_vtktiff=1" + "-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "-DOPENGL_INCLUDE_DIR=${libGL}/include" + (lib.cmakeBool "VTK_OPENGL_HAS_EGL" enableEgl) + ] + ++ [ + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_BINDIR=bin" + "-DVTK_VERSIONED_INSTALL=OFF" + ] + ++ optionals enableQt [ + "-DVTK_GROUP_ENABLE_Qt:STRING=YES" + ] ++ optionals enablePython [ "-DVTK_WRAP_PYTHON:BOOL=ON" "-DVTK_PYTHON_VERSION:STRING=${pythonMajor}" @@ -95,7 +134,10 @@ in stdenv.mkDerivation { description = "Open source libraries for 3D computer graphics, image processing and visualization"; homepage = "https://www.vtk.org/"; license = licenses.bsd3; - maintainers = with maintainers; [ knedlsepp tfmoraes ]; + maintainers = with maintainers; [ + knedlsepp + tfmoraes + ]; platforms = platforms.unix; badPlatforms = optionals enableEgl platforms.darwin; }; diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix index d48dc790424ad..b44f50c8b381c 100644 --- a/pkgs/development/libraries/vulkan-headers/default.nix +++ b/pkgs/development/libraries/vulkan-headers/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, +}: stdenv.mkDerivation rec { pname = "vulkan-headers"; version = "1.3.296.0"; @@ -6,7 +12,10 @@ stdenv.mkDerivation rec { # Adding `ninja` here to enable Ninja backend. Otherwise on gcc-14 or # later the build fails as: # modules are not supported by this generator: Unix Makefiles - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; # TODO: investigate why isn't found cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-DVULKAN_HEADERS_ENABLE_MODULE=OFF" ]; @@ -22,9 +31,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Vulkan Header files and API registry"; - homepage = "https://www.lunarg.com"; - platforms = platforms.unix ++ platforms.windows; - license = licenses.asl20; + homepage = "https://www.lunarg.com"; + platforms = platforms.unix ++ platforms.windows; + license = licenses.asl20; maintainers = [ maintainers.ralith ]; }; } diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix index c0714a78556a3..3fafb7e14f4cc 100644 --- a/pkgs/development/libraries/wasilibc/default.nix +++ b/pkgs/development/libraries/wasilibc/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, buildPackages -, fetchFromGitHub -, lib -, firefox-unwrapped -, firefox-esr-unwrapped +{ + stdenv, + buildPackages, + fetchFromGitHub, + lib, + firefox-unwrapped, + firefox-esr-unwrapped, }: let @@ -21,7 +22,11 @@ stdenv.mkDerivation { fetchSubmodules = true; }; - outputs = [ "out" "dev" "share" ]; + outputs = [ + "out" + "dev" + "share" + ]; # clang-13: error: argument unused during compilation: '-rtlib=compiler-rt' [-Werror,-Wunused-command-line-argument] postPatch = '' @@ -62,7 +67,13 @@ stdenv.mkDerivation { description = "WASI libc implementation for WebAssembly"; homepage = "https://wasi.dev"; platforms = platforms.wasi; - maintainers = with maintainers; [ matthewbauer rvolosatovs ]; - license = with licenses; [ asl20-llvm mit ]; + maintainers = with maintainers; [ + matthewbauer + rvolosatovs + ]; + license = with licenses; [ + asl20-llvm + mit + ]; }; } diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 72ba54250b511..518fd31e2ffa8 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, meson -, pkg-config -, ninja -, wayland-scanner -, withTests ? stdenv.hostPlatform.isLinux -, libffi -, epoll-shim -, withDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform -, graphviz-nox -, doxygen -, libxslt -, xmlto -, python3 -, docbook_xsl -, docbook_xml_dtd_45 -, docbook_xml_dtd_42 -, testers +{ + lib, + stdenv, + fetchurl, + meson, + pkg-config, + ninja, + wayland-scanner, + withTests ? stdenv.hostPlatform.isLinux, + libffi, + epoll-shim, + withDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, + graphviz-nox, + doxygen, + libxslt, + xmlto, + python3, + docbook_xsl, + docbook_xml_dtd_45, + docbook_xml_dtd_42, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -25,7 +26,9 @@ stdenv.mkDerivation (finalAttrs: { version = "1.23.1"; src = fetchurl { - url = with finalAttrs; "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${version}/downloads/${pname}-${version}.tar.xz"; + url = + with finalAttrs; + "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${version}/downloads/${pname}-${version}.tar.xz"; hash = "sha256-hk+yqDmeLQ7DnVbp2bdTwJN3W+rcYCLOgfRBkpqB5e0="; }; @@ -33,15 +36,25 @@ stdenv.mkDerivation (finalAttrs: { ./darwin.patch ]; - postPatch = lib.optionalString withDocumentation '' - patchShebangs doc/doxygen/gen-doxygen.py - '' + lib.optionalString stdenv.hostPlatform.isStatic '' - # delete line containing os-wrappers-test, disables - # the building of os-wrappers-test - sed -i '/os-wrappers-test/d' tests/meson.build - ''; + postPatch = + lib.optionalString withDocumentation '' + patchShebangs doc/doxygen/gen-doxygen.py + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + # delete line containing os-wrappers-test, disables + # the building of os-wrappers-test + sed -i '/os-wrappers-test/d' tests/meson.build + ''; - outputs = [ "out" "dev" ] ++ lib.optionals withDocumentation [ "doc" "man" ]; + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals withDocumentation [ + "doc" + "man" + ]; separateDebugInfo = true; mesonFlags = [ @@ -54,30 +67,35 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - nativeBuildInputs = [ - meson - pkg-config - ninja - wayland-scanner - ] ++ lib.optionals withDocumentation [ - (graphviz-nox.override { pango = null; }) # To avoid an infinite recursion - doxygen - libxslt - xmlto - python3 - docbook_xml_dtd_45 - docbook_xsl - ]; + nativeBuildInputs = + [ + meson + pkg-config + ninja + wayland-scanner + ] + ++ lib.optionals withDocumentation [ + (graphviz-nox.override { pango = null; }) # To avoid an infinite recursion + doxygen + libxslt + xmlto + python3 + docbook_xml_dtd_45 + docbook_xsl + ]; - buildInputs = [ - libffi - ] ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ - epoll-shim - ] ++ lib.optionals withDocumentation [ - docbook_xsl - docbook_xml_dtd_45 - docbook_xml_dtd_42 - ]; + buildInputs = + [ + libffi + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + epoll-shim + ] + ++ lib.optionals withDocumentation [ + docbook_xsl + docbook_xml_dtd_45 + docbook_xml_dtd_42 + ]; passthru = { tests.pkg-config = testers.hasPkgConfigModules { @@ -99,7 +117,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://wayland.freedesktop.org/"; license = licenses.mit; # Expat version platforms = platforms.unix; - maintainers = with maintainers; [ primeos codyopel qyliss ]; + maintainers = with maintainers; [ + primeos + codyopel + qyliss + ]; pkgConfigModules = [ "wayland-client" "wayland-cursor" diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix index 76976be200b54..82f41bdf30ca3 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -1,17 +1,27 @@ -{ lib, stdenv, fetchurl -, pkg-config -, meson, ninja, wayland-scanner -, python3, wayland -, gitUpdater, testers +{ + lib, + stdenv, + fetchurl, + pkg-config, + meson, + ninja, + wayland-scanner, + python3, + wayland, + gitUpdater, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "wayland-protocols"; version = "1.38"; - doCheck = stdenv.hostPlatform == stdenv.buildPlatform && - # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48 - stdenv.hostPlatform.linker == "bfd" && lib.meta.availableOn stdenv.hostPlatform wayland; + doCheck = + stdenv.hostPlatform == stdenv.buildPlatform + && + # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48 + stdenv.hostPlatform.linker == "bfd" + && lib.meta.availableOn stdenv.hostPlatform wayland; src = fetchurl { url = "https://gitlab.freedesktop.org/wayland/${finalAttrs.pname}/-/releases/${finalAttrs.version}/downloads/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; @@ -23,7 +33,11 @@ stdenv.mkDerivation (finalAttrs: { ''; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja wayland-scanner ]; + nativeBuildInputs = [ + meson + ninja + wayland-scanner + ]; nativeCheckInputs = [ python3 ]; checkInputs = [ wayland ]; @@ -38,9 +52,9 @@ stdenv.mkDerivation (finalAttrs: { protocol either in Wayland core, or some other protocol in wayland-protocols. ''; - homepage = "https://gitlab.freedesktop.org/wayland/wayland-protocols"; - license = lib.licenses.mit; # Expat version - platforms = lib.platforms.all; + homepage = "https://gitlab.freedesktop.org/wayland/wayland-protocols"; + license = lib.licenses.mit; # Expat version + platforms = lib.platforms.all; maintainers = with lib.maintainers; [ primeos ]; pkgConfigModules = [ "wayland-protocols" ]; }; diff --git a/pkgs/development/libraries/waylandpp/default.nix b/pkgs/development/libraries/waylandpp/default.nix index 7eeeb2467edde..fbb0d0dad266f 100644 --- a/pkgs/development/libraries/waylandpp/default.nix +++ b/pkgs/development/libraries/waylandpp/default.nix @@ -1,17 +1,19 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, makeFontsConf -, pkg-config -, pugixml -, wayland -, libGL -, libffi -, buildPackages -, docSupport ? true -, doxygen -, graphviz +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + makeFontsConf, + pkg-config, + pugixml, + wayland, + libGL, + libffi, + buildPackages, + docSupport ? true, + doxygen, + graphviz, }: stdenv.mkDerivation rec { @@ -37,19 +39,46 @@ stdenv.mkDerivation rec { }) ]; - cmakeFlags = [ - "-DCMAKE_INSTALL_DATADIR=${placeholder "dev"}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++" - ]; + cmakeFlags = + [ + "-DCMAKE_INSTALL_DATADIR=${placeholder "dev"}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++" + ]; # Complains about not being able to find the fontconfig config file otherwise - FONTCONFIG_FILE = lib.optional docSupport (makeFontsConf { fontDirectories = [ ]; }); + FONTCONFIG_FILE = lib.optional docSupport (makeFontsConf { + fontDirectories = [ ]; + }); - nativeBuildInputs = [ cmake pkg-config ] ++ lib.optionals docSupport [ doxygen graphviz ]; - buildInputs = [ pugixml wayland libGL libffi ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals docSupport [ + doxygen + graphviz + ]; + buildInputs = [ + pugixml + wayland + libGL + libffi + ]; - outputs = [ "bin" "dev" "lib" "out" ] ++ lib.optionals docSupport [ "doc" "devman" ]; + outputs = + [ + "bin" + "dev" + "lib" + "out" + ] + ++ lib.optionals docSupport [ + "doc" + "devman" + ]; # Resolves the warning "Fontconfig error: No writable cache directories" preBuild = '' @@ -60,7 +89,10 @@ stdenv.mkDerivation rec { description = "Wayland C++ binding"; mainProgram = "wayland-scanner++"; homepage = "https://github.com/NilsBrause/waylandpp/"; - license = with lib.licenses; [ bsd2 hpnd ]; + license = with lib.licenses; [ + bsd2 + hpnd + ]; maintainers = with lib.maintainers; [ minijackson ]; }; } diff --git a/pkgs/development/libraries/waylib/default.nix b/pkgs/development/libraries/waylib/default.nix index d3ae7273fae8c..bc8d9025dbfdf 100644 --- a/pkgs/development/libraries/waylib/default.nix +++ b/pkgs/development/libraries/waylib/default.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, pkg-config -, wayland-scanner -, wrapQtAppsHook -, qtbase -, qtdeclarative -, qwlroots -, wayland -, wayland-protocols -, wlr-protocols -, pixman -, libdrm -, libinput +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + wayland-scanner, + wrapQtAppsHook, + qtbase, + qtdeclarative, + qwlroots, + wayland, + wayland-protocols, + wlr-protocols, + pixman, + libdrm, + libinput, }: stdenv.mkDerivation (finalAttrs: { @@ -54,14 +55,20 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = { description = "Wrapper for wlroots based on Qt"; homepage = "https://github.com/vioken/waylib"; - license = with lib.licenses; [ gpl3Only lgpl3Only asl20 ]; + license = with lib.licenses; [ + gpl3Only + lgpl3Only + asl20 + ]; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ rewine ]; }; }) - diff --git a/pkgs/development/libraries/wayqt/default.nix b/pkgs/development/libraries/wayqt/default.nix index 47e11c9f10d0a..86fa6cd203258 100644 --- a/pkgs/development/libraries/wayqt/default.nix +++ b/pkgs/development/libraries/wayqt/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitLab -, substituteAll -, meson -, pkg-config -, qttools -, ninja -, qtbase -, qtwayland -, wayland +{ + stdenv, + lib, + fetchFromGitLab, + substituteAll, + meson, + pkg-config, + qttools, + ninja, + qtbase, + qtwayland, + wayland, }: stdenv.mkDerivation (finalAttrs: { @@ -49,7 +50,10 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = { homepage = "https://gitlab.com/desktop-frameworks/wayqt"; diff --git a/pkgs/development/libraries/webkit2-sharp/default.nix b/pkgs/development/libraries/webkit2-sharp/default.nix index 6407a8709f6e8..78b89397b76da 100644 --- a/pkgs/development/libraries/webkit2-sharp/default.nix +++ b/pkgs/development/libraries/webkit2-sharp/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { ''; ac_cv_path_MONODOCER = "no"; - installFlags = ["GAPIXMLDIR=/tmp/gapixml"]; + installFlags = [ "GAPIXMLDIR=/tmp/gapixml" ]; passthru = { inherit webkitgtk; diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 153ba7901460d..9a48e668b5488 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -1,88 +1,98 @@ -{ lib -, clangStdenv -, buildPackages -, runCommand -, fetchurl -, perl -, python3 -, ruby -, gi-docgen -, bison -, gperf -, cmake -, ninja -, pkg-config -, gettext -, gobject-introspection -, gnutls -, libgcrypt -, libgpg-error -, gtk3 -, wayland -, wayland-protocols -, wayland-scanner -, libwebp -, enchant2 -, xorg -, libxkbcommon -, libavif -, libepoxy -, libjxl -, at-spi2-core -, cairo -, libxml2 -, libsoup -, libsecret -, libxslt -, harfbuzz -, hyphen -, libsysprof-capture -, libpthreadstubs -, nettle -, libtasn1 -, p11-kit -, libidn -, libedit -, readline -, apple_sdk -, libGL -, libGLU -, mesa -, libintl -, lcms2 -, libmanette -, geoclue2 -, flite -, fontconfig -, freetype -, openssl -, sqlite -, gst-plugins-base -, gst-plugins-bad -, woff2 -, bubblewrap -, libseccomp -, libbacktrace -, systemd -, xdg-dbus-proxy -, substituteAll -, glib -, unifdef -, addDriverRunpath -, enableGeoLocation ? true -, enableExperimental ? false -, withLibsecret ? true -, systemdSupport ? lib.meta.availableOn clangStdenv.hostPlatform systemd -, testers +{ + lib, + clangStdenv, + buildPackages, + runCommand, + fetchurl, + perl, + python3, + ruby, + gi-docgen, + bison, + gperf, + cmake, + ninja, + pkg-config, + gettext, + gobject-introspection, + gnutls, + libgcrypt, + libgpg-error, + gtk3, + wayland, + wayland-protocols, + wayland-scanner, + libwebp, + enchant2, + xorg, + libxkbcommon, + libavif, + libepoxy, + libjxl, + at-spi2-core, + cairo, + libxml2, + libsoup, + libsecret, + libxslt, + harfbuzz, + hyphen, + libsysprof-capture, + libpthreadstubs, + nettle, + libtasn1, + p11-kit, + libidn, + libedit, + readline, + apple_sdk, + libGL, + libGLU, + mesa, + libintl, + lcms2, + libmanette, + geoclue2, + flite, + fontconfig, + freetype, + openssl, + sqlite, + gst-plugins-base, + gst-plugins-bad, + woff2, + bubblewrap, + libseccomp, + libbacktrace, + systemd, + xdg-dbus-proxy, + substituteAll, + glib, + unifdef, + addDriverRunpath, + enableGeoLocation ? true, + enableExperimental ? false, + withLibsecret ? true, + systemdSupport ? lib.meta.availableOn clangStdenv.hostPlatform systemd, + testers, }: # https://webkitgtk.org/2024/10/04/webkitgtk-2.46.html recommends building with clang. clangStdenv.mkDerivation (finalAttrs: { pname = "webkitgtk"; version = "2.46.4"; - name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "6.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}"; + name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${ + if lib.versionAtLeast gtk3.version "4.0" then + "6.0" + else + "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}" + }"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; # https://github.com/NixOS/nixpkgs/issues/153528 # Can't be linked within a 4GB address space. @@ -109,93 +119,111 @@ clangStdenv.mkDerivation (finalAttrs: { cmakeFlags+=" -DCMAKE_IGNORE_PATH=${lib.getBin gettext}/bin" ''; - nativeBuildInputs = [ - bison - cmake - gettext - gobject-introspection - gperf - ninja - perl - perl.pkgs.FileCopyRecursive # used by copy-user-interface-resources.pl - pkg-config - python3 - ruby - gi-docgen - glib # for gdbus-codegen - unifdef - ] ++ lib.optionals clangStdenv.hostPlatform.isLinux [ - wayland-scanner - ]; + nativeBuildInputs = + [ + bison + cmake + gettext + gobject-introspection + gperf + ninja + perl + perl.pkgs.FileCopyRecursive # used by copy-user-interface-resources.pl + pkg-config + python3 + ruby + gi-docgen + glib # for gdbus-codegen + unifdef + ] + ++ lib.optionals clangStdenv.hostPlatform.isLinux [ + wayland-scanner + ]; - buildInputs = [ - at-spi2-core - cairo # required even when using skia - enchant2 - libavif - libepoxy - libjxl - gnutls - gst-plugins-bad - gst-plugins-base - harfbuzz - hyphen - libGL - libGLU - mesa # for libEGL headers - libgcrypt - libgpg-error - libidn - libintl - lcms2 - libpthreadstubs - libsysprof-capture - libtasn1 - libwebp - libxkbcommon - libxml2 - libxslt - libbacktrace - nettle - p11-kit - sqlite - woff2 - ] ++ lib.optionals clangStdenv.hostPlatform.isBigEndian [ - # https://bugs.webkit.org/show_bug.cgi?id=274032 - fontconfig - freetype - ] ++ lib.optionals clangStdenv.hostPlatform.isDarwin [ - libedit - readline - ] ++ lib.optional (clangStdenv.hostPlatform.isDarwin && lib.versionOlder clangStdenv.hostPlatform.darwinSdkVersion "11.0") ( - # this can likely be removed as: - # "libproc.h is included in the 10.12 SDK Libsystem and should be identical to this one." - # but the package is marked broken on darwin so unable to test + buildInputs = + [ + at-spi2-core + cairo # required even when using skia + enchant2 + libavif + libepoxy + libjxl + gnutls + gst-plugins-bad + gst-plugins-base + harfbuzz + hyphen + libGL + libGLU + mesa # for libEGL headers + libgcrypt + libgpg-error + libidn + libintl + lcms2 + libpthreadstubs + libsysprof-capture + libtasn1 + libwebp + libxkbcommon + libxml2 + libxslt + libbacktrace + nettle + p11-kit + sqlite + woff2 + ] + ++ lib.optionals clangStdenv.hostPlatform.isBigEndian [ + # https://bugs.webkit.org/show_bug.cgi?id=274032 + fontconfig + freetype + ] + ++ lib.optionals clangStdenv.hostPlatform.isDarwin [ + libedit + readline + ] + ++ + lib.optional + ( + clangStdenv.hostPlatform.isDarwin + && lib.versionOlder clangStdenv.hostPlatform.darwinSdkVersion "11.0" + ) + ( + # this can likely be removed as: + # "libproc.h is included in the 10.12 SDK Libsystem and should be identical to this one." + # but the package is marked broken on darwin so unable to test - # Pull a header that contains a definition of proc_pid_rusage(). - # (We pick just that one because using the other headers from `sdk` is not - # compatible with our C++ standard library. This header is already in - # the standard library on aarch64) - runCommand "webkitgtk_headers" { } '' - install -Dm444 "${lib.getDev apple_sdk.sdk}"/include/libproc.h "$out"/include/libproc.h - '' - ) ++ lib.optionals clangStdenv.hostPlatform.isLinux [ - libseccomp - libmanette - wayland - xorg.libX11 - ] ++ lib.optionals systemdSupport [ - systemd - ] ++ lib.optionals enableGeoLocation [ - geoclue2 - ] ++ lib.optionals enableExperimental [ - flite - openssl - ] ++ lib.optionals withLibsecret [ - libsecret - ] ++ lib.optionals (lib.versionAtLeast gtk3.version "4.0") [ - wayland-protocols - ]; + # Pull a header that contains a definition of proc_pid_rusage(). + # (We pick just that one because using the other headers from `sdk` is not + # compatible with our C++ standard library. This header is already in + # the standard library on aarch64) + runCommand "webkitgtk_headers" { } '' + install -Dm444 "${lib.getDev apple_sdk.sdk}"/include/libproc.h "$out"/include/libproc.h + '' + ) + ++ lib.optionals clangStdenv.hostPlatform.isLinux [ + libseccomp + libmanette + wayland + xorg.libX11 + ] + ++ lib.optionals systemdSupport [ + systemd + ] + ++ lib.optionals enableGeoLocation [ + geoclue2 + ] + ++ lib.optionals enableExperimental [ + flite + openssl + ] + ++ lib.optionals withLibsecret [ + libsecret + ] + ++ lib.optionals (lib.versionAtLeast gtk3.version "4.0") [ + wayland-protocols + ]; propagatedBuildInputs = [ gtk3 @@ -212,12 +240,14 @@ clangStdenv.mkDerivation (finalAttrs: { "-DUSE_SOUP2=${cmakeBool (lib.versions.major libsoup.version == "2")}" "-DUSE_LIBSECRET=${cmakeBool withLibsecret}" "-DENABLE_EXPERIMENTAL_FEATURES=${cmakeBool enableExperimental}" - ] ++ lib.optionals clangStdenv.hostPlatform.isLinux [ + ] + ++ lib.optionals clangStdenv.hostPlatform.isLinux [ # Have to be explicitly specified when cross. # https://github.com/WebKit/WebKit/commit/a84036c6d1d66d723f217a4c29eee76f2039a353 "-DBWRAP_EXECUTABLE=${lib.getExe bubblewrap}" "-DDBUS_PROXY_EXECUTABLE=${lib.getExe xdg-dbus-proxy}" - ] ++ lib.optionals clangStdenv.hostPlatform.isDarwin [ + ] + ++ lib.optionals clangStdenv.hostPlatform.isDarwin [ "-DENABLE_GAMEPAD=OFF" "-DENABLE_GTKDOC=OFF" "-DENABLE_MINIBROWSER=OFF" @@ -225,9 +255,11 @@ clangStdenv.mkDerivation (finalAttrs: { "-DENABLE_X11_TARGET=OFF" "-DUSE_APPLE_ICU=OFF" "-DUSE_OPENGL_OR_ES=OFF" - ] ++ lib.optionals (lib.versionOlder gtk3.version "4.0") [ + ] + ++ lib.optionals (lib.versionOlder gtk3.version "4.0") [ "-DUSE_GTK4=OFF" - ] ++ lib.optionals (!systemdSupport) [ + ] + ++ lib.optionals (!systemdSupport) [ "-DENABLE_JOURNALD_LOG=OFF" ]; diff --git a/pkgs/development/libraries/webrtc-audio-processing/default.nix b/pkgs/development/libraries/webrtc-audio-processing/default.nix index 4f5c7bbdcb100..a7ed8c8ea0a20 100644 --- a/pkgs/development/libraries/webrtc-audio-processing/default.nix +++ b/pkgs/development/libraries/webrtc-audio-processing/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchurl -, darwin -, abseil-cpp -, meson -, ninja -, pkg-config +{ + lib, + stdenv, + fetchFromGitLab, + fetchurl, + darwin, + abseil-cpp, + meson, + ninja, + pkg-config, }: stdenv.mkDerivation rec { @@ -30,7 +31,10 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ meson @@ -42,7 +46,13 @@ stdenv.mkDerivation rec { abseil-cpp ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Foundation ]); + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + ApplicationServices + Foundation + ] + ); env = lib.optionalAttrs stdenv.hostPlatform.isx86_32 { # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5 @@ -53,11 +63,19 @@ stdenv.mkDerivation rec { homepage = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing"; description = "More Linux packaging friendly copy of the AudioProcessing module from the WebRTC project"; license = licenses.bsd3; - platforms = intersectLists - # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/master/meson.build - (platforms.darwin ++ platforms.linux ++ platforms.windows) - # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/master/webrtc/rtc_base/system/arch.h - (platforms.arm ++ platforms.aarch64 ++ platforms.mips ++ platforms.power ++ platforms.riscv ++ platforms.x86); + platforms = + intersectLists + # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/master/meson.build + (platforms.darwin ++ platforms.linux ++ platforms.windows) + # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/master/webrtc/rtc_base/system/arch.h + ( + platforms.arm + ++ platforms.aarch64 + ++ platforms.mips + ++ platforms.power + ++ platforms.riscv + ++ platforms.x86 + ); # BE platforms are unsupported # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/31 badPlatforms = platforms.bigEndian; diff --git a/pkgs/development/libraries/wiiuse/default.nix b/pkgs/development/libraries/wiiuse/default.nix index b3fe943494534..2f4222de053ed 100644 --- a/pkgs/development/libraries/wiiuse/default.nix +++ b/pkgs/development/libraries/wiiuse/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, bluez -, libobjc -, Foundation -, IOBluetooth +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + bluez, + libobjc, + Foundation, + IOBluetooth, }: stdenv.mkDerivation rec { @@ -21,8 +22,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ bluez ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc Foundation IOBluetooth ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ bluez ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + Foundation + IOBluetooth + ]; propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ bluez ]; diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix index 19a8ae3d3957e..5433a09dc9559 100644 --- a/pkgs/development/libraries/wildmidi/default.nix +++ b/pkgs/development/libraries/wildmidi/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, writeTextFile, cmake, alsa-lib, OpenAL, CoreAudioKit, freepats }: +{ + lib, + stdenv, + fetchFromGitHub, + writeTextFile, + cmake, + alsa-lib, + OpenAL, + CoreAudioKit, + freepats, +}: let defaultCfgPath = "${placeholder "out"}/etc/wildmidi/wildmidi.cfg"; @@ -16,11 +26,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals stdenv.buildPlatform.isLinux [ - alsa-lib stdenv.cc.libc/*couldn't find libm*/ - ] ++ lib.optionals stdenv.buildPlatform.isDarwin [ - OpenAL CoreAudioKit - ]; + buildInputs = + lib.optionals stdenv.buildPlatform.isLinux [ + alsa-lib + stdenv.cc.libc # couldn't find libm + ] + ++ lib.optionals stdenv.buildPlatform.isDarwin [ + OpenAL + CoreAudioKit + ]; preConfigure = '' # https://github.com/Mindwerks/wildmidi/issues/236 @@ -33,18 +47,20 @@ stdenv.mkDerivation rec { "-DWILDMIDI_CFG=${defaultCfgPath}" ]; - postInstall = let - defaultCfg = writeTextFile { - name = "wildmidi.cfg"; - text = '' - dir ${freepats} - source ${freepats}/freepats.cfg - ''; - }; - in '' - mkdir -p "$(dirname ${defaultCfgPath})" - ln -s ${defaultCfg} ${defaultCfgPath} - ''; + postInstall = + let + defaultCfg = writeTextFile { + name = "wildmidi.cfg"; + text = '' + dir ${freepats} + source ${freepats}/freepats.cfg + ''; + }; + in + '' + mkdir -p "$(dirname ${defaultCfgPath})" + ln -s ${defaultCfg} ${defaultCfgPath} + ''; meta = with lib; { description = "Software MIDI player and library"; diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 7f6213c7df187..1e8192dcb6379 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -1,37 +1,46 @@ -{ lib -, stdenv -, fetchFromGitLab -, meson -, ninja -, pkg-config -, wayland-scanner -, libGL -, wayland -, wayland-protocols -, libinput -, libxkbcommon -, pixman -, libcap -, mesa -, xorg -, libpng -, ffmpeg -, hwdata -, seatd -, vulkan-loader -, glslang -, libliftoff -, libdisplay-info -, lcms2 -, nixosTests -, testers - -, enableXWayland ? true -, xwayland ? null +{ + lib, + stdenv, + fetchFromGitLab, + meson, + ninja, + pkg-config, + wayland-scanner, + libGL, + wayland, + wayland-protocols, + libinput, + libxkbcommon, + pixman, + libcap, + mesa, + xorg, + libpng, + ffmpeg, + hwdata, + seatd, + vulkan-loader, + glslang, + libliftoff, + libdisplay-info, + lcms2, + nixosTests, + testers, + + enableXWayland ? true, + xwayland ? null, }: let - generic = { version, hash, extraBuildInputs ? [ ], extraNativeBuildInputs ? [ ], patches ? [ ], postPatch ? "" }: + generic = + { + version, + hash, + extraBuildInputs ? [ ], + extraNativeBuildInputs ? [ ], + patches ? [ ], + postPatch ? "", + }: stdenv.mkDerivation (finalAttrs: { pname = "wlroots"; inherit version; @@ -49,38 +58,45 @@ let inherit patches postPatch; # $out for the library and $examples for the example programs (in examples): - outputs = [ "out" "examples" ]; + outputs = [ + "out" + "examples" + ]; strictDeps = true; depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ meson ninja pkg-config wayland-scanner glslang ] - ++ extraNativeBuildInputs; - - buildInputs = [ - libGL - libcap - libinput - libpng - libxkbcommon - mesa - pixman - seatd - vulkan-loader - wayland - wayland-protocols - xorg.libX11 - xorg.xcbutilerrors - xorg.xcbutilimage - xorg.xcbutilrenderutil - xorg.xcbutilwm - ] - ++ lib.optional finalAttrs.enableXWayland xwayland - ++ extraBuildInputs; - - mesonFlags = - lib.optional (!finalAttrs.enableXWayland) "-Dxwayland=disabled" - ; + nativeBuildInputs = [ + meson + ninja + pkg-config + wayland-scanner + glslang + ] ++ extraNativeBuildInputs; + + buildInputs = + [ + libGL + libcap + libinput + libpng + libxkbcommon + mesa + pixman + seatd + vulkan-loader + wayland + wayland-protocols + xorg.libX11 + xorg.xcbutilerrors + xorg.xcbutilimage + xorg.xcbutilrenderutil + xorg.xcbutilwm + ] + ++ lib.optional finalAttrs.enableXWayland xwayland + ++ extraBuildInputs; + + mesonFlags = lib.optional (!finalAttrs.enableXWayland) "-Dxwayland=disabled"; postFixup = '' # Install ALL example programs to $examples: @@ -112,11 +128,18 @@ let changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}"; license = lib.licenses.mit; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ primeos synthetica rewine ]; + maintainers = with lib.maintainers; [ + primeos + synthetica + rewine + ]; pkgConfigModules = [ - (if lib.versionOlder finalAttrs.version "0.18" - then "wlroots" - else "wlroots-${lib.versions.majorMinor finalAttrs.version}") + ( + if lib.versionOlder finalAttrs.version "0.18" then + "wlroots" + else + "wlroots-${lib.versions.majorMinor finalAttrs.version}" + ) ]; }; }); diff --git a/pkgs/development/libraries/wlroots/protocols.nix b/pkgs/development/libraries/wlroots/protocols.nix index c928da147e126..898513a9d4f17 100644 --- a/pkgs/development/libraries/wlroots/protocols.nix +++ b/pkgs/development/libraries/wlroots/protocols.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, wayland-scanner }: +{ + lib, + stdenv, + fetchFromGitLab, + wayland-scanner, +}: stdenv.mkDerivation { pname = "wlr-protocols"; @@ -24,7 +29,10 @@ stdenv.mkDerivation { doCheck = true; checkTarget = "check"; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = with lib; { description = "Wayland roots protocol extensions"; @@ -35,9 +43,9 @@ stdenv.mkDerivation { extend the functionality of some other protocol either in Wayland core, or some other protocol in wayland-protocols. ''; - homepage = "https://gitlab.freedesktop.org/wlroots/wlr-protocols"; - license = licenses.mit; # See file headers - platforms = platforms.linux; + homepage = "https://gitlab.freedesktop.org/wlroots/wlr-protocols"; + license = licenses.mit; # See file headers + platforms = platforms.linux; maintainers = with maintainers; [ Scrumplex ]; }; } diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix index 0a8202839c364..549231806144a 100644 --- a/pkgs/development/libraries/wolfssl/default.nix +++ b/pkgs/development/libraries/wolfssl/default.nix @@ -1,17 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, Security -, autoreconfHook -, util-linux -, openssl -, cacert -# The primary --enable-XXX variant. 'all' enables most features, but causes build-errors for some software, -# requiring to build a special variant for that software. Example: 'haproxy' -, variant ? "all" -, extraConfigureFlags ? [] -, enableARMCryptoExtensions ? stdenv.hostPlatform.isAarch64 && ((builtins.match "^.*\\+crypto.*$" stdenv.hostPlatform.gcc.arch) != null) -, enableLto ? !(stdenv.hostPlatform.isStatic || stdenv.cc.isClang) +{ + lib, + stdenv, + fetchFromGitHub, + Security, + autoreconfHook, + util-linux, + openssl, + cacert, + # The primary --enable-XXX variant. 'all' enables most features, but causes build-errors for some software, + # requiring to build a special variant for that software. Example: 'haproxy' + variant ? "all", + extraConfigureFlags ? [ ], + enableARMCryptoExtensions ? + stdenv.hostPlatform.isAarch64 + && ((builtins.match "^.*\\+crypto.*$" stdenv.hostPlatform.gcc.arch) != null), + enableLto ? !(stdenv.hostPlatform.isStatic || stdenv.cc.isClang), }: stdenv.mkDerivation (finalAttrs: { pname = "wolfssl-${variant}"; @@ -31,37 +34,45 @@ stdenv.mkDerivation (finalAttrs: { --replace '"linux-gnu"' '"linux-"' ''; - configureFlags = [ - "--enable-${variant}" - "--enable-reproducible-build" - ] ++ lib.optionals (variant == "all") [ - # Extra feature flags to add while building the 'all' variant. - # Since they conflict while building other variants, only specify them for this one. - "--enable-pkcs11" - "--enable-writedup" - "--enable-base64encode" - ] ++ [ - # We're not on tiny embedded machines. - # Increase TLS session cache from 33 sessions to 20k. - "--enable-bigcache" + configureFlags = + [ + "--enable-${variant}" + "--enable-reproducible-build" + ] + ++ lib.optionals (variant == "all") [ + # Extra feature flags to add while building the 'all' variant. + # Since they conflict while building other variants, only specify them for this one. + "--enable-pkcs11" + "--enable-writedup" + "--enable-base64encode" + ] + ++ [ + # We're not on tiny embedded machines. + # Increase TLS session cache from 33 sessions to 20k. + "--enable-bigcache" - # Use WolfSSL's Single Precision Math with timing-resistant cryptography. - "--enable-sp=yes${lib.optionalString (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch) ",asm"}" - "--enable-sp-math-all" - "--enable-harden" - ] ++ lib.optionals (stdenv.hostPlatform.isx86_64) [ - # Enable AVX/AVX2/AES-NI instructions, gated by runtime detection via CPUID. - "--enable-intelasm" - "--enable-aesni" - ] ++ lib.optionals (stdenv.hostPlatform.isAarch64) [ - # No runtime detection under ARM and no platform function checks like for X86. - (if enableARMCryptoExtensions - then "--enable-armasm=inline" - else "--disable-armasm") - ] ++ extraConfigureFlags; + # Use WolfSSL's Single Precision Math with timing-resistant cryptography. + "--enable-sp=yes${ + lib.optionalString (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch) ",asm" + }" + "--enable-sp-math-all" + "--enable-harden" + ] + ++ lib.optionals (stdenv.hostPlatform.isx86_64) [ + # Enable AVX/AVX2/AES-NI instructions, gated by runtime detection via CPUID. + "--enable-intelasm" + "--enable-aesni" + ] + ++ lib.optionals (stdenv.hostPlatform.isAarch64) [ + # No runtime detection under ARM and no platform function checks like for X86. + (if enableARMCryptoExtensions then "--enable-armasm=inline" else "--disable-armasm") + ] + ++ extraConfigureFlags; # Breaks tls13 tests on aarch64-darwin. - hardeningDisable = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ "zerocallusedregs" ]; + hardeningDisable = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + "zerocallusedregs" + ]; # LTO should help with the C implementations. env.NIX_CFLAGS_COMPILE = lib.optionalString enableLto "-flto"; @@ -108,6 +119,9 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/wolfSSL/wolfssl/releases/tag/v${finalAttrs.version}-stable"; platforms = platforms.all; license = licenses.gpl2Plus; - maintainers = with maintainers; [ fab vifino ]; + maintainers = with maintainers; [ + fab + vifino + ]; }; }) diff --git a/pkgs/development/libraries/wxSVG/default.nix b/pkgs/development/libraries/wxSVG/default.nix index a1a08d3eb1d79..6cccca05c7935 100644 --- a/pkgs/development/libraries/wxSVG/default.nix +++ b/pkgs/development/libraries/wxSVG/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchurl -, cairo -, expat -, ffmpeg -, libexif -, pango -, pkg-config -, wxGTK -, darwin +{ + lib, + stdenv, + fetchurl, + cairo, + expat, + ffmpeg, + libexif, + pango, + pkg-config, + wxGTK, + darwin, }: let diff --git a/pkgs/development/libraries/wxsqlite3/default.nix b/pkgs/development/libraries/wxsqlite3/default.nix index f06af1417de8c..d2c019b43ae2a 100644 --- a/pkgs/development/libraries/wxsqlite3/default.nix +++ b/pkgs/development/libraries/wxsqlite3/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, wxGTK -, sqlite -, Cocoa -, setfile -, rez -, derez +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + wxGTK, + sqlite, + Cocoa, + setfile, + rez, + derez, }: stdenv.mkDerivation rec { @@ -23,14 +24,26 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ sqlite wxGTK ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ Cocoa setfile rez derez ]; + buildInputs = + [ + sqlite + wxGTK + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + Cocoa + setfile + rez + derez + ]; meta = with lib; { homepage = "https://utelle.github.io/wxsqlite3/"; description = "C++ wrapper around the public domain SQLite 3.x for wxWidgets"; platforms = platforms.unix; maintainers = [ ]; - license = with licenses; [ lgpl3Plus gpl3Plus ]; + license = with licenses; [ + lgpl3Plus + gpl3Plus + ]; }; } diff --git a/pkgs/development/libraries/wxsqliteplus/default.nix b/pkgs/development/libraries/wxsqliteplus/default.nix index 2d980c69cbe63..0120571bb09b7 100644 --- a/pkgs/development/libraries/wxsqliteplus/default.nix +++ b/pkgs/development/libraries/wxsqliteplus/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, wxGTK, wxsqlite3, sqlite, Cocoa, setfile }: +{ + lib, + stdenv, + fetchFromGitHub, + wxGTK, + wxsqlite3, + sqlite, + Cocoa, + setfile, +}: stdenv.mkDerivation rec { pname = "wxsqliteplus"; @@ -15,26 +24,36 @@ stdenv.mkDerivation rec { sed -i '/WX_CLEAR_ARRAY/s/$/;/' src/{createtable,sqlite3table}.cpp ''; - buildInputs = [ wxGTK wxsqlite3 sqlite ] ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; + buildInputs = [ + wxGTK + wxsqlite3 + sqlite + ] ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; - makeFlags = [ - "LDFLAGS=-L${wxsqlite3}/lib" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "SETFILE=${setfile}/bin/SetFile" - ]; + makeFlags = + [ + "LDFLAGS=-L${wxsqlite3}/lib" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "SETFILE=${setfile}/bin/SetFile" + ]; preBuild = '' sed -ie 's|all: $(LIBPREFIX)wxsqlite$(LIBEXT)|all: |g' Makefile sed -ie 's|wxsqliteplus$(EXEEXT): $(WXSQLITEPLUS_OBJECTS) $(LIBPREFIX)wxsqlite$(LIBEXT)|wxsqliteplus$(EXEEXT): $(WXSQLITEPLUS_OBJECTS) |g' Makefile - sed -ie 's|-lwxsqlite |-lwxcode_${if stdenv.hostPlatform.isDarwin then "osx_cocoau_wxsqlite3-3.2.0" else "gtk3u_wxsqlite3-3.2"} |g' Makefile + sed -ie 's|-lwxsqlite |-lwxcode_${ + if stdenv.hostPlatform.isDarwin then "osx_cocoau_wxsqlite3-3.2.0" else "gtk3u_wxsqlite3-3.2" + } |g' Makefile ''; - installPhase = '' - install -D ${lib.optionalString stdenv.hostPlatform.isDarwin "wxsqliteplus.app/Contents/MacOS/"}wxsqliteplus $out/bin/wxsqliteplus - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv wxsqliteplus.app $out/Applications/ - ''; + installPhase = + '' + install -D ${lib.optionalString stdenv.hostPlatform.isDarwin "wxsqliteplus.app/Contents/MacOS/"}wxsqliteplus $out/bin/wxsqliteplus + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + mv wxsqliteplus.app $out/Applications/ + ''; meta = with lib; { description = "Simple SQLite database browser built with wxWidgets"; diff --git a/pkgs/development/libraries/wxwidgets/wxGTK31.nix b/pkgs/development/libraries/wxwidgets/wxGTK31.nix index 1379a15801e6c..1c72e919aed53 100644 --- a/pkgs/development/libraries/wxwidgets/wxGTK31.nix +++ b/pkgs/development/libraries/wxwidgets/wxGTK31.nix @@ -1,35 +1,36 @@ -{ lib -, stdenv -, fetchFromGitHub -, curl -, gst_all_1 -, gtk3 -, libGL -, libGLU -, libSM -, libXinerama -, libXtst -, libXxf86vm -, pkg-config -, xorgproto -, compat28 ? false -, compat30 ? true -, unicode ? true -, withCurl ? false -, withPrivateFonts ? false -, withEGL ? true -, withMesa ? !stdenv.hostPlatform.isDarwin -, withWebKit ? stdenv.hostPlatform.isDarwin -, webkitgtk_4_0 -, setfile -, AGL -, Carbon -, Cocoa -, Kernel -, QTKit -, AVFoundation -, AVKit -, WebKit +{ + lib, + stdenv, + fetchFromGitHub, + curl, + gst_all_1, + gtk3, + libGL, + libGLU, + libSM, + libXinerama, + libXtst, + libXxf86vm, + pkg-config, + xorgproto, + compat28 ? false, + compat30 ? true, + unicode ? true, + withCurl ? false, + withPrivateFonts ? false, + withEGL ? true, + withMesa ? !stdenv.hostPlatform.isDarwin, + withWebKit ? stdenv.hostPlatform.isDarwin, + webkitgtk_4_0, + setfile, + AGL, + Carbon, + Cocoa, + Kernel, + QTKit, + AVFoundation, + AVKit, + WebKit, }: stdenv.mkDerivation rec { @@ -51,71 +52,79 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - gst_all_1.gst-plugins-base - gst_all_1.gstreamer - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - gtk3 - libSM - libXinerama - libXtst - libXxf86vm - xorgproto - ] - ++ lib.optional withCurl curl - ++ lib.optional withMesa libGLU - ++ lib.optional (withWebKit && !stdenv.hostPlatform.isDarwin) webkitgtk_4_0 - ++ lib.optional (withWebKit && stdenv.hostPlatform.isDarwin) WebKit - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - setfile - Carbon - Cocoa - Kernel - QTKit - AVFoundation - AVKit - WebKit - ]; + buildInputs = + [ + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + gtk3 + libSM + libXinerama + libXtst + libXxf86vm + xorgproto + ] + ++ lib.optional withCurl curl + ++ lib.optional withMesa libGLU + ++ lib.optional (withWebKit && !stdenv.hostPlatform.isDarwin) webkitgtk_4_0 + ++ lib.optional (withWebKit && stdenv.hostPlatform.isDarwin) WebKit + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + setfile + Carbon + Cocoa + Kernel + QTKit + AVFoundation + AVKit + WebKit + ]; propagatedBuildInputs = lib.optional stdenv.hostPlatform.isDarwin AGL; - configureFlags = [ - "--disable-precomp-headers" - # This is the default option, but be explicit - "--disable-monolithic" - "--enable-mediactrl" - (if compat28 then "--enable-compat28" else "--disable-compat28") - (if compat30 then "--enable-compat30" else "--disable-compat30") - ] - ++ lib.optional (!withEGL) "--disable-glcanvasegl" - ++ lib.optional unicode "--enable-unicode" - ++ lib.optional withCurl "--enable-webrequest" - ++ lib.optional withPrivateFonts "--enable-privatefonts" - ++ lib.optional withMesa "--with-opengl" - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--with-osx_cocoa" - "--with-libiconv" - ] ++ lib.optionals withWebKit [ - "--enable-webview" - "--enable-webviewwebkit" - ]; + configureFlags = + [ + "--disable-precomp-headers" + # This is the default option, but be explicit + "--disable-monolithic" + "--enable-mediactrl" + (if compat28 then "--enable-compat28" else "--disable-compat28") + (if compat30 then "--enable-compat30" else "--disable-compat30") + ] + ++ lib.optional (!withEGL) "--disable-glcanvasegl" + ++ lib.optional unicode "--enable-unicode" + ++ lib.optional withCurl "--enable-webrequest" + ++ lib.optional withPrivateFonts "--enable-privatefonts" + ++ lib.optional withMesa "--with-opengl" + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--with-osx_cocoa" + "--with-libiconv" + ] + ++ lib.optionals withWebKit [ + "--enable-webview" + "--enable-webviewwebkit" + ]; - SEARCH_LIB = lib.optionalString (!stdenv.hostPlatform.isDarwin) "${libGLU.out}/lib ${libGL.out}/lib "; + SEARCH_LIB = lib.optionalString ( + !stdenv.hostPlatform.isDarwin + ) "${libGLU.out}/lib ${libGL.out}/lib "; - preConfigure = '' - substituteInPlace configure --replace \ - 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' - substituteInPlace configure --replace \ - 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB=' - substituteInPlace configure --replace \ - /usr /no-such-path - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace configure --replace \ - 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \ - 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"' - substituteInPlace configure --replace \ - "-framework System" "-lSystem" - ''; + preConfigure = + '' + substituteInPlace configure --replace \ + 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' + substituteInPlace configure --replace \ + 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB=' + substituteInPlace configure --replace \ + /usr /no-such-path + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace configure --replace \ + 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \ + 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"' + substituteInPlace configure --replace \ + "-framework System" "-lSystem" + ''; postInstall = " pushd $out/include diff --git a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix index 4ac58c3f3d0a6..a13169f25da5e 100644 --- a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix +++ b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix @@ -1,27 +1,45 @@ -{ lib, stdenv, fetchgit, autoconf, automake, libtool, pkg-config -, xorg, gnum4, libxcb, gperf }: +{ + lib, + stdenv, + fetchgit, + autoconf, + automake, + libtool, + pkg-config, + xorg, + gnum4, + libxcb, + gperf, +}: stdenv.mkDerivation { pname = "xcb-util-cursor-0.1.1-3-unstable"; version = "2017-04-05"; src = fetchgit { - url = "http://anongit.freedesktop.org/git/xcb/util-cursor.git"; - rev = "f03cc278c6cce0cf721adf9c3764d3c5fba63392"; + url = "http://anongit.freedesktop.org/git/xcb/util-cursor.git"; + rev = "f03cc278c6cce0cf721adf9c3764d3c5fba63392"; sha256 = "127zfmihd8nqlj8jjaja06xb84xdgl263w0av1xnprx05mkbkcyc"; }; meta = with lib; { description = "XCB cursor library (libxcursor port)"; - homepage = "https://cgit.freedesktop.org/xcb/util-cursor"; - license = licenses.mit; + homepage = "https://cgit.freedesktop.org/xcb/util-cursor"; + license = licenses.mit; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = platforms.linux ++ platforms.darwin; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ autoconf automake pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; buildInputs = [ gnum4 gperf diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix index 6275dafd6bcd7..b492fba90534d 100644 --- a/pkgs/development/libraries/xdg-desktop-portal/default.nix +++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix @@ -1,42 +1,46 @@ -{ lib -, fetchFromGitHub -, flatpak -, fuse3 -, bubblewrap -, docbook_xml_dtd_412 -, docbook_xml_dtd_43 -, docbook_xsl -, docutils -, systemdMinimal -, geoclue2 -, glib -, gsettings-desktop-schemas -, json-glib -, libportal -, libxml2 -, meson -, ninja -, nixosTests -, pipewire -, gdk-pixbuf -, librsvg -, gobject-introspection -, python3 -, pkg-config -, stdenv -, runCommand -, wrapGAppsHook3 -, xmlto -, bash -, enableGeoLocation ? true -, enableSystemd ? true +{ + lib, + fetchFromGitHub, + flatpak, + fuse3, + bubblewrap, + docbook_xml_dtd_412, + docbook_xml_dtd_43, + docbook_xsl, + docutils, + systemdMinimal, + geoclue2, + glib, + gsettings-desktop-schemas, + json-glib, + libportal, + libxml2, + meson, + ninja, + nixosTests, + pipewire, + gdk-pixbuf, + librsvg, + gobject-introspection, + python3, + pkg-config, + stdenv, + runCommand, + wrapGAppsHook3, + xmlto, + bash, + enableGeoLocation ? true, + enableSystemd ? true, }: stdenv.mkDerivation (finalAttrs: { pname = "xdg-desktop-portal"; version = "1.18.4"; - outputs = [ "out" "installedTests" ]; + outputs = [ + "out" + "installedTests" + ]; src = fetchFromGitHub { owner = "flatpak"; @@ -89,30 +93,35 @@ stdenv.mkDerivation (finalAttrs: { xmlto ]; - buildInputs = [ - flatpak - fuse3 - bubblewrap - glib - gsettings-desktop-schemas - json-glib - libportal - pipewire - - # For icon validator - gdk-pixbuf - librsvg - - # For document-fuse installed test. - (python3.withPackages (pp: with pp; [ - pygobject3 - ])) - bash - ] ++ lib.optionals enableGeoLocation [ - geoclue2 - ] ++ lib.optionals enableSystemd [ - systemdMinimal # libsystemd - ]; + buildInputs = + [ + flatpak + fuse3 + bubblewrap + glib + gsettings-desktop-schemas + json-glib + libportal + pipewire + + # For icon validator + gdk-pixbuf + librsvg + + # For document-fuse installed test. + (python3.withPackages ( + pp: with pp; [ + pygobject3 + ] + )) + bash + ] + ++ lib.optionals enableGeoLocation [ + geoclue2 + ] + ++ lib.optionals enableSystemd [ + systemdMinimal # libsystemd + ]; nativeCheckInputs = [ gobject-introspection @@ -122,16 +131,19 @@ stdenv.mkDerivation (finalAttrs: { python3.pkgs.dbus-python ]; - mesonFlags = [ - "--sysconfdir=/etc" - "-Dinstalled-tests=true" - "-Dinstalled_test_prefix=${placeholder "installedTests"}" - (lib.mesonEnable "systemd" enableSystemd) - ] ++ lib.optionals (!enableGeoLocation) [ - "-Dgeoclue=disabled" - ] ++ lib.optionals (!finalAttrs.finalPackage.doCheck) [ - "-Dpytest=disabled" - ]; + mesonFlags = + [ + "--sysconfdir=/etc" + "-Dinstalled-tests=true" + "-Dinstalled_test_prefix=${placeholder "installedTests"}" + (lib.mesonEnable "systemd" enableSystemd) + ] + ++ lib.optionals (!enableGeoLocation) [ + "-Dgeoclue=disabled" + ] + ++ lib.optionals (!finalAttrs.finalPackage.doCheck) [ + "-Dpytest=disabled" + ]; strictDeps = true; @@ -148,20 +160,22 @@ stdenv.mkDerivation (finalAttrs: { export TEST_IN_CI=1 ''; - postFixup = let - documentFuse = "${placeholder "installedTests"}/libexec/installed-tests/xdg-desktop-portal/test-document-fuse.py"; - testPortals = "${placeholder "installedTests"}/libexec/installed-tests/xdg-desktop-portal/test-portals"; - - in '' - if [ -x '${documentFuse}' ] ; then - wrapGApp '${documentFuse}' - wrapGApp '${testPortals}' - # (xdg-desktop-portal:995): xdg-desktop-portal-WARNING **: 21:21:55.673: Failed to get GeoClue client: Timeout was reached - # xdg-desktop-portal:ERROR:../tests/location.c:22:location_cb: 'res' should be TRUE - # https://github.com/flatpak/xdg-desktop-portal/blob/1d6dfb57067dec182b546dfb60c87aa3452c77ed/tests/location.c#L21 - rm $installedTests/share/installed-tests/xdg-desktop-portal/test-portals-location.test - fi - ''; + postFixup = + let + documentFuse = "${placeholder "installedTests"}/libexec/installed-tests/xdg-desktop-portal/test-document-fuse.py"; + testPortals = "${placeholder "installedTests"}/libexec/installed-tests/xdg-desktop-portal/test-portals"; + + in + '' + if [ -x '${documentFuse}' ] ; then + wrapGApp '${documentFuse}' + wrapGApp '${testPortals}' + # (xdg-desktop-portal:995): xdg-desktop-portal-WARNING **: 21:21:55.673: Failed to get GeoClue client: Timeout was reached + # xdg-desktop-portal:ERROR:../tests/location.c:22:location_cb: 'res' should be TRUE + # https://github.com/flatpak/xdg-desktop-portal/blob/1d6dfb57067dec182b546dfb60c87aa3452c77ed/tests/location.c#L21 + rm $installedTests/share/installed-tests/xdg-desktop-portal/test-portals-location.test + fi + ''; passthru = { tests = { diff --git a/pkgs/development/libraries/xsd/default.nix b/pkgs/development/libraries/xsd/default.nix index dd50c68574c4d..14600a773bf8c 100644 --- a/pkgs/development/libraries/xsd/default.nix +++ b/pkgs/development/libraries/xsd/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, xercesc }: +{ + lib, + stdenv, + fetchurl, + xercesc, +}: let in diff --git a/pkgs/development/libraries/yaml-cpp/0.3.0.nix b/pkgs/development/libraries/yaml-cpp/0.3.0.nix index 7e244261005e3..e1103c33a036b 100644 --- a/pkgs/development/libraries/yaml-cpp/0.3.0.nix +++ b/pkgs/development/libraries/yaml-cpp/0.3.0.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + cmake, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/yaml-cpp/default.nix b/pkgs/development/libraries/yaml-cpp/default.nix index f87849b58c722..75941866b6044 100644 --- a/pkgs/development/libraries/yaml-cpp/default.nix +++ b/pkgs/development/libraries/yaml-cpp/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, cmake -, static ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + cmake, + static ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/yubico-pam/default.nix b/pkgs/development/libraries/yubico-pam/default.nix index e60008994b031..646188c4c6948 100644 --- a/pkgs/development/libraries/yubico-pam/default.nix +++ b/pkgs/development/libraries/yubico-pam/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, asciidoc -, libxslt -, docbook_xsl -, pam -, yubikey-personalization -, libyubikey -, libykclient -, CoreServices -, SystemConfiguration +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + asciidoc, + libxslt, + docbook_xsl, + pam, + yubikey-personalization, + libyubikey, + libykclient, + CoreServices, + SystemConfiguration, }: stdenv.mkDerivation rec { @@ -24,9 +25,24 @@ stdenv.mkDerivation rec { sha256 = "0hb773zlf11xz4bwmsqv2mq5d4aq2g0crdr5cp9xwc4ivi5gd4kg"; }; - nativeBuildInputs = [ autoreconfHook pkg-config asciidoc libxslt docbook_xsl ]; - buildInputs = [ pam yubikey-personalization libyubikey libykclient ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices SystemConfiguration ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + asciidoc + libxslt + docbook_xsl + ]; + buildInputs = + [ + pam + yubikey-personalization + libyubikey + libykclient + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + SystemConfiguration + ]; meta = with lib; { description = "Yubico PAM module"; diff --git a/pkgs/development/libraries/zint/default.nix b/pkgs/development/libraries/zint/default.nix index e6f40879a9cee..8badae678e115 100644 --- a/pkgs/development/libraries/zint/default.nix +++ b/pkgs/development/libraries/zint/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, wrapQtAppsHook -, cmake -, qtbase -, qtsvg -, qttools -, testers -, zint +{ + lib, + stdenv, + fetchFromGitHub, + wrapQtAppsHook, + cmake, + qtbase, + qtsvg, + qttools, + testers, + zint, }: stdenv.mkDerivation rec { @@ -21,11 +22,21 @@ stdenv.mkDerivation rec { hash = "sha256-/ILq/7A8Lffe2NuiABiV3KeYXapuL1SO55Qk3wXfC/8="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; - buildInputs = [ qtbase qtsvg qttools ]; + buildInputs = [ + qtbase + qtsvg + qttools + ]; cmakeFlags = [ "-DZINT_QT6:BOOL=ON" ]; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 23795b6aab40d..47b038358a32a 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchurl -, shared ? !stdenv.hostPlatform.isStatic -, static ? true -# If true, a separate .static ouput is created and the .a is moved there. -# In this case `pkg-config` auto detection does not currently work if the -# .static output is given as `buildInputs` to another package (#66461), because -# the `.pc` file lists only the main output's lib dir. -# If false, and if `{ static = true; }`, the .a stays in the main output. -, splitStaticOutput ? shared && static -, testers -, minizip +{ + lib, + stdenv, + fetchurl, + shared ? !stdenv.hostPlatform.isStatic, + static ? true, + # If true, a separate .static ouput is created and the .a is moved there. + # In this case `pkg-config` auto detection does not currently work if the + # .static output is given as `buildInputs` to another package (#66461), because + # the `.pc` file lists only the main output's lib dir. + # If false, and if `{ static = true; }`, the .a stays in the main output. + splitStaticOutput ? shared && static, + testers, + minizip, }: # Without either the build will actually still succeed because the build @@ -27,17 +29,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "zlib"; version = "1.3.1"; - src = let - inherit (finalAttrs) version; - in fetchurl { - urls = [ - # This URL works for 1.2.13 only; hopefully also for future releases. - "https://github.com/madler/zlib/releases/download/v${version}/zlib-${version}.tar.gz" - # Stable archive path, but captcha can be encountered, causing hash mismatch. - "https://www.zlib.net/fossils/zlib-${version}.tar.gz" - ]; - hash = "sha256-mpOyt9/ax3zrpaVYpYDnRmfdb+3kWFuR7vtg8Dty3yM="; - }; + src = + let + inherit (finalAttrs) version; + in + fetchurl { + urls = [ + # This URL works for 1.2.13 only; hopefully also for future releases. + "https://github.com/madler/zlib/releases/download/v${version}/zlib-${version}.tar.gz" + # Stable archive path, but captcha can be encountered, causing hash mismatch. + "https://www.zlib.net/fossils/zlib-${version}.tar.gz" + ]; + hash = "sha256-mpOyt9/ax3zrpaVYpYDnRmfdb+3kWFuR7vtg8Dty3yM="; + }; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace configure \ @@ -47,8 +51,10 @@ stdenv.mkDerivation (finalAttrs: { ''; strictDeps = true; - outputs = [ "out" "dev" ] - ++ lib.optional splitStaticOutput "static"; + outputs = [ + "out" + "dev" + ] ++ lib.optional splitStaticOutput "static"; setOutputFlags = false; outputDoc = "dev"; # single tiny man3 page @@ -70,8 +76,7 @@ stdenv.mkDerivation (finalAttrs: { # `--static --shared`, `--shared` and giving nothing. # Of these, we choose `--static --shared`, for clarity and simpler # conditions. - configureFlags = lib.optional static "--static" - ++ lib.optional shared "--shared"; + configureFlags = lib.optional static "--static" ++ lib.optional shared "--shared"; # We do the right thing manually, above, so don't need these. dontDisableStatic = true; dontAddStaticConfigureFlags = true; @@ -84,38 +89,41 @@ stdenv.mkDerivation (finalAttrs: { # here (in case zlib ever switches to autoconf in the future), # but we don't do it simply to avoid mass rebuilds. - postInstall = lib.optionalString splitStaticOutput '' - moveToOutput lib/libz.a "$static" - '' + postInstall = + lib.optionalString splitStaticOutput '' + moveToOutput lib/libz.a "$static" + '' # jww (2015-01-06): Sometimes this library install as a .so, even on # Darwin; others time it installs as a .dylib. I haven't yet figured out # what causes this difference. - + lib.optionalString stdenv.hostPlatform.isDarwin '' - for file in $out/lib/*.so* $out/lib/*.dylib* ; do - ${stdenv.cc.bintools.targetPrefix}install_name_tool -id "$file" $file - done - '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for file in $out/lib/*.so* $out/lib/*.dylib* ; do + ${stdenv.cc.bintools.targetPrefix}install_name_tool -id "$file" $file + done + '' # Non-typical naming confuses libtool which then refuses to use zlib's DLL # in some cases, e.g. when compiling libpng. - + lib.optionalString (stdenv.hostPlatform.isMinGW && shared) '' - ln -s zlib1.dll $out/bin/libz.dll - ''; - - env = lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { - # As zlib takes part in the stdenv building, we don't want references - # to the bootstrap-tools libgcc (as uses to happen on arm/mips) - NIX_CFLAGS_COMPILE = "-static-libgcc"; - } // lib.optionalAttrs (stdenv.hostPlatform.linker == "lld") { - # lld 16 enables --no-undefined-version by defualt - # This makes configure think it can't build dynamic libraries - # this may be removed when a version is packaged with https://github.com/madler/zlib/issues/960 fixed - NIX_LDFLAGS = "--undefined-version"; - }; + + lib.optionalString (stdenv.hostPlatform.isMinGW && shared) '' + ln -s zlib1.dll $out/bin/libz.dll + ''; + + env = + lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + # As zlib takes part in the stdenv building, we don't want references + # to the bootstrap-tools libgcc (as uses to happen on arm/mips) + NIX_CFLAGS_COMPILE = "-static-libgcc"; + } + // lib.optionalAttrs (stdenv.hostPlatform.linker == "lld") { + # lld 16 enables --no-undefined-version by defualt + # This makes configure think it can't build dynamic libraries + # this may be removed when a version is packaged with https://github.com/madler/zlib/issues/960 fixed + NIX_LDFLAGS = "--undefined-version"; + }; # We don't strip on static cross-compilation because of reports that native # stripping corrupted the target library; see commit 12e960f5 for the report. dontStrip = stdenv.hostPlatform != stdenv.buildPlatform && static; - configurePlatforms = []; + configurePlatforms = [ ]; installFlags = lib.optionals stdenv.hostPlatform.isMinGW [ "BINARY_PATH=$(out)/bin" @@ -126,15 +134,19 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; doCheck = true; - makeFlags = [ - "PREFIX=${stdenv.cc.targetPrefix}" - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - "-f" "win32/Makefile.gcc" - ] ++ lib.optionals shared [ - # Note that as of writing (zlib 1.2.11), this flag only has an effect - # for Windows as it is specific to `win32/Makefile.gcc`. - "SHARED_MODE=1" - ]; + makeFlags = + [ + "PREFIX=${stdenv.cc.targetPrefix}" + ] + ++ lib.optionals stdenv.hostPlatform.isMinGW [ + "-f" + "win32/Makefile.gcc" + ] + ++ lib.optionals shared [ + # Note that as of writing (zlib 1.2.11), this flag only has an effect + # for Windows as it is specific to `win32/Makefile.gcc`. + "SHARED_MODE=1" + ]; passthru.tests = { pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; diff --git a/pkgs/development/lisp-modules/asdf/2.26.nix b/pkgs/development/lisp-modules/asdf/2.26.nix index dbf81bb76a5f7..eceb9c175a18f 100644 --- a/pkgs/development/lisp-modules/asdf/2.26.nix +++ b/pkgs/development/lisp-modules/asdf/2.26.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, texinfo, texLive, perl }: +{ + lib, + stdenv, + fetchurl, + texinfo, + texLive, + perl, +}: stdenv.mkDerivation rec { pname = "asdf"; diff --git a/pkgs/development/lisp-modules/asdf/3.1.nix b/pkgs/development/lisp-modules/asdf/3.1.nix index cda5d46131a09..4346f68ea79e6 100644 --- a/pkgs/development/lisp-modules/asdf/3.1.nix +++ b/pkgs/development/lisp-modules/asdf/3.1.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, texinfo, texLive, perl }: +{ + lib, + stdenv, + fetchurl, + texinfo, + texLive, + perl, +}: stdenv.mkDerivation rec { pname = "asdf"; diff --git a/pkgs/development/lisp-modules/asdf/3.3.nix b/pkgs/development/lisp-modules/asdf/3.3.nix index 3981ed272a236..f82a42d68b015 100644 --- a/pkgs/development/lisp-modules/asdf/3.3.nix +++ b/pkgs/development/lisp-modules/asdf/3.3.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, texinfo, texLive, perl }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + texinfo, + texLive, + perl, +}: stdenv.mkDerivation rec { pname = "asdf"; diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix index 78d49a9178985..9729d6d62c2d0 100644 --- a/pkgs/development/lisp-modules/asdf/default.nix +++ b/pkgs/development/lisp-modules/asdf/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, texinfo, texLive, perl }: +{ + lib, + stdenv, + fetchurl, + texinfo, + texLive, + perl, +}: stdenv.mkDerivation rec { pname = "asdf"; diff --git a/pkgs/development/lisp-modules/imported.nix b/pkgs/development/lisp-modules/imported.nix index e788bd8bf2048..fb4b99e34c548 100644 --- a/pkgs/development/lisp-modules/imported.nix +++ b/pkgs/development/lisp-modules/imported.nix @@ -1,74290 +1,107740 @@ - # This file was auto-generated by nix-quicklisp.lisp -{ runCommand, pkgs, lib, fetchzip, build-asdf-system, ... }: +{ + runCommand, + pkgs, + lib, + fetchzip, + build-asdf-system, + ... +}: let - inherit (builtins) getAttr; + inherit (builtins) getAttr; -# Ensures that every non-slashy `system` exists in a unique .asd file. -# (Think cl-async-base being declared in cl-async.asd upstream) -# -# This is required because we're building and loading a system called -# `system`, not `asd`, so otherwise `system` would not be loadable -# without building and loading `asd` first. -# - createAsd = { url, sha256, asd, system }: - let - src = fetchzip { inherit url sha256; }; - in - if asd == system - then src - else runCommand "source" {} '' - mkdir -pv $out - cp -r ${src}/* $out - find $out -name "${asd}.asd" | while read f; do mv -fv $f $(dirname $f)/${system}.asd || true; done - ''; -in lib.makeScope pkgs.newScope (self: { - _1am = (build-asdf-system { - pname = "1am"; - version = "20141106-git"; - asds = [ "1am" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/1am/2014-11-06/1am-20141106-git.tgz"; - sha256 = "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"; - system = "1am"; - asd = "1am"; - }); - systems = [ "1am" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _2d-array = (build-asdf-system { - pname = "2d-array"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "2d-array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "2d-array"; - asd = "2d-array"; - }); - systems = [ "2d-array" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _2d-array-test = (build-asdf-system { - pname = "2d-array-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "2d-array-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "2d-array-test"; - asd = "2d-array-test"; - }); - systems = [ "2d-array-test" ]; - lispLibs = [ (getAttr "_2d-array" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3b-bmfont = (build-asdf-system { - pname = "3b-bmfont"; - version = "20241012-git"; - asds = [ "3b-bmfont" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3b-bmfont/2024-10-12/3b-bmfont-20241012-git.tgz"; - sha256 = "1zmkmhw8ma2j8p6crw0x6am6fx95rxkb1n3fqlgvs2rxdk273dan"; - system = "3b-bmfont"; - asd = "3b-bmfont"; - }); - systems = [ "3b-bmfont" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3b-hdr = (build-asdf-system { - pname = "3b-hdr"; - version = "20200925-git"; - asds = [ "3b-hdr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3b-hdr/2020-09-25/3b-hdr-20200925-git.tgz"; - sha256 = "0bvpdzz88xjwvqapjnkdr44ds3gh5xl3r6r1c2y7x9d6lnvc38jq"; - system = "3b-hdr"; - asd = "3b-hdr"; - }); - systems = [ "3b-hdr" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3b-swf = (build-asdf-system { - pname = "3b-swf"; - version = "20120107-git"; - asds = [ "3b-swf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3b-swf/2012-01-07/3b-swf-20120107-git.tgz"; - sha256 = "1d74045b6zfxjf0as8n5ji14j5cxsdi3qkqkzcdy3i83whbxkcbm"; - system = "3b-swf"; - asd = "3b-swf"; - }); - systems = [ "3b-swf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "chipz" self) (getAttr "cl-jpeg" self) (getAttr "cxml" self) (getAttr "flexi-streams" self) (getAttr "ieee-floats" self) (getAttr "salza2" self) (getAttr "vecto" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3b-swf-swc = (build-asdf-system { - pname = "3b-swf-swc"; - version = "20120107-git"; - asds = [ "3b-swf-swc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3b-swf/2012-01-07/3b-swf-20120107-git.tgz"; - sha256 = "1d74045b6zfxjf0as8n5ji14j5cxsdi3qkqkzcdy3i83whbxkcbm"; - system = "3b-swf-swc"; - asd = "3b-swf-swc"; - }); - systems = [ "3b-swf-swc" ]; - lispLibs = [ (getAttr "_3b-swf" self) (getAttr "cxml" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bgl-shader = (build-asdf-system { - pname = "3bgl-shader"; - version = "20241012-git"; - asds = [ "3bgl-shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bgl-shader/2024-10-12/3bgl-shader-20241012-git.tgz"; - sha256 = "06v9a3m0cwhj2m5nz20shzgz3362sd7bv011rlknm4nz6i4q5bzz"; - system = "3bgl-shader"; - asd = "3bgl-shader"; - }); - systems = [ "3bgl-shader" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bgl-shader-example = (build-asdf-system { - pname = "3bgl-shader-example"; - version = "20241012-git"; - asds = [ "3bgl-shader-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bgl-shader/2024-10-12/3bgl-shader-20241012-git.tgz"; - sha256 = "06v9a3m0cwhj2m5nz20shzgz3362sd7bv011rlknm4nz6i4q5bzz"; - system = "3bgl-shader-example"; - asd = "3bgl-shader-example"; - }); - systems = [ "3bgl-shader-example" ]; - lispLibs = [ (getAttr "_3bgl-shader" self) (getAttr "cl-glu" self) (getAttr "cl-glut" self) (getAttr "mathkit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd = (build-asdf-system { - pname = "3bmd"; - version = "20241012-git"; - asds = [ "3bmd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd"; - asd = "3bmd"; - }); - systems = [ "3bmd" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-ext-code-blocks = (build-asdf-system { - pname = "3bmd-ext-code-blocks"; - version = "20241012-git"; - asds = [ "3bmd-ext-code-blocks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-ext-code-blocks"; - asd = "3bmd-ext-code-blocks"; - }); - systems = [ "3bmd-ext-code-blocks" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "alexandria" self) (getAttr "colorize" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-ext-definition-lists = (build-asdf-system { - pname = "3bmd-ext-definition-lists"; - version = "20241012-git"; - asds = [ "3bmd-ext-definition-lists" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-ext-definition-lists"; - asd = "3bmd-ext-definition-lists"; - }); - systems = [ "3bmd-ext-definition-lists" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "alexandria" self) (getAttr "colorize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-ext-math = (build-asdf-system { - pname = "3bmd-ext-math"; - version = "20241012-git"; - asds = [ "3bmd-ext-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-ext-math"; - asd = "3bmd-ext-math"; - }); - systems = [ "3bmd-ext-math" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "esrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-ext-tables = (build-asdf-system { - pname = "3bmd-ext-tables"; - version = "20241012-git"; - asds = [ "3bmd-ext-tables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-ext-tables"; - asd = "3bmd-ext-tables"; - }); - systems = [ "3bmd-ext-tables" ]; - lispLibs = [ (getAttr "_3bmd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-ext-wiki-links = (build-asdf-system { - pname = "3bmd-ext-wiki-links"; - version = "20241012-git"; - asds = [ "3bmd-ext-wiki-links" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-ext-wiki-links"; - asd = "3bmd-ext-wiki-links"; - }); - systems = [ "3bmd-ext-wiki-links" ]; - lispLibs = [ (getAttr "_3bmd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-tests = (build-asdf-system { - pname = "3bmd-tests"; - version = "20241012-git"; - asds = [ "3bmd-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-tests"; - asd = "3bmd-tests"; - }); - systems = [ "3bmd-tests" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-youtube = (build-asdf-system { - pname = "3bmd-youtube"; - version = "20241012-git"; - asds = [ "3bmd-youtube" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-youtube"; - asd = "3bmd-youtube"; - }); - systems = [ "3bmd-youtube" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "esrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bmd-youtube-tests = (build-asdf-system { - pname = "3bmd-youtube-tests"; - version = "20241012-git"; - asds = [ "3bmd-youtube-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; - sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; - system = "3bmd-youtube-tests"; - asd = "3bmd-youtube-tests"; - }); - systems = [ "3bmd-youtube-tests" ]; - lispLibs = [ (getAttr "_3bmd-youtube" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3bz = (build-asdf-system { - pname = "3bz"; - version = "20230618-git"; - asds = [ "3bz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3bz/2023-06-18/3bz-20230618-git.tgz"; - sha256 = "0qdnxj2sn185l0jnp4zjlh5la14pxkgp1hmcyw4d2zwx30sc37p7"; - system = "3bz"; - asd = "3bz"; - }); - systems = [ "3bz" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "mmap" self) (getAttr "nibbles" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-math = (build-asdf-system { - pname = "3d-math"; - version = "20241012-git"; - asds = [ "3d-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-math/2024-10-12/3d-math-20241012-git.tgz"; - sha256 = "01xnzizy76ypypzpqrg9fwnxfl5mlldc554b0791rsckkhh35xvd"; - system = "3d-math"; - asd = "3d-math"; - }); - systems = [ "3d-math" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "type-templates" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-math-test = (build-asdf-system { - pname = "3d-math-test"; - version = "20241012-git"; - asds = [ "3d-math-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-math/2024-10-12/3d-math-20241012-git.tgz"; - sha256 = "01xnzizy76ypypzpqrg9fwnxfl5mlldc554b0791rsckkhh35xvd"; - system = "3d-math-test"; - asd = "3d-math-test"; - }); - systems = [ "3d-math-test" ]; - lispLibs = [ (getAttr "_3d-math" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-matrices = (build-asdf-system { - pname = "3d-matrices"; - version = "20231021-git"; - asds = [ "3d-matrices" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-matrices/2023-10-21/3d-matrices-20231021-git.tgz"; - sha256 = "0kn68awww0h8gwiqih8a65d2p34q3qh4z5ji2g5ja99vgpr1498q"; - system = "3d-matrices"; - asd = "3d-matrices"; - }); - systems = [ "3d-matrices" ]; - lispLibs = [ (getAttr "_3d-vectors" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-matrices-test = (build-asdf-system { - pname = "3d-matrices-test"; - version = "20231021-git"; - asds = [ "3d-matrices-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-matrices/2023-10-21/3d-matrices-20231021-git.tgz"; - sha256 = "0kn68awww0h8gwiqih8a65d2p34q3qh4z5ji2g5ja99vgpr1498q"; - system = "3d-matrices-test"; - asd = "3d-matrices-test"; - }); - systems = [ "3d-matrices-test" ]; - lispLibs = [ (getAttr "_3d-matrices" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-quaternions = (build-asdf-system { - pname = "3d-quaternions"; - version = "20231021-git"; - asds = [ "3d-quaternions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-quaternions/2023-10-21/3d-quaternions-20231021-git.tgz"; - sha256 = "1m72g2rn1n5xsqaa50qbj6hcp8b4gk7xsld4qaly788bwscparl8"; - system = "3d-quaternions"; - asd = "3d-quaternions"; - }); - systems = [ "3d-quaternions" ]; - lispLibs = [ (getAttr "_3d-matrices" self) (getAttr "_3d-vectors" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-quaternions-test = (build-asdf-system { - pname = "3d-quaternions-test"; - version = "20231021-git"; - asds = [ "3d-quaternions-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-quaternions/2023-10-21/3d-quaternions-20231021-git.tgz"; - sha256 = "1m72g2rn1n5xsqaa50qbj6hcp8b4gk7xsld4qaly788bwscparl8"; - system = "3d-quaternions-test"; - asd = "3d-quaternions-test"; - }); - systems = [ "3d-quaternions-test" ]; - lispLibs = [ (getAttr "_3d-quaternions" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-spaces = (build-asdf-system { - pname = "3d-spaces"; - version = "20241012-git"; - asds = [ "3d-spaces" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-spaces/2024-10-12/3d-spaces-20241012-git.tgz"; - sha256 = "170f2hyvrf3mvkfg9mj7rg2zafcnqbm9h9c29y716ppq1vk1pxhc"; - system = "3d-spaces"; - asd = "3d-spaces"; - }); - systems = [ "3d-spaces" ]; - lispLibs = [ (getAttr "_3d-math" self) (getAttr "documentation-utils" self) (getAttr "for" self) (getAttr "trivial-extensible-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-spaces-test = (build-asdf-system { - pname = "3d-spaces-test"; - version = "20241012-git"; - asds = [ "3d-spaces-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-spaces/2024-10-12/3d-spaces-20241012-git.tgz"; - sha256 = "170f2hyvrf3mvkfg9mj7rg2zafcnqbm9h9c29y716ppq1vk1pxhc"; - system = "3d-spaces-test"; - asd = "3d-spaces-test"; - }); - systems = [ "3d-spaces-test" ]; - lispLibs = [ (getAttr "_3d-spaces" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-transforms = (build-asdf-system { - pname = "3d-transforms"; - version = "20231021-git"; - asds = [ "3d-transforms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-transforms/2023-10-21/3d-transforms-20231021-git.tgz"; - sha256 = "0876pih289fgn8maclihiz9xl66zbi4nbznpdq2xpfbsr1k4sihy"; - system = "3d-transforms"; - asd = "3d-transforms"; - }); - systems = [ "3d-transforms" ]; - lispLibs = [ (getAttr "_3d-matrices" self) (getAttr "_3d-quaternions" self) (getAttr "_3d-vectors" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-transforms-test = (build-asdf-system { - pname = "3d-transforms-test"; - version = "20231021-git"; - asds = [ "3d-transforms-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-transforms/2023-10-21/3d-transforms-20231021-git.tgz"; - sha256 = "0876pih289fgn8maclihiz9xl66zbi4nbznpdq2xpfbsr1k4sihy"; - system = "3d-transforms-test"; - asd = "3d-transforms-test"; - }); - systems = [ "3d-transforms-test" ]; - lispLibs = [ (getAttr "_3d-transforms" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-vectors = (build-asdf-system { - pname = "3d-vectors"; - version = "20231021-git"; - asds = [ "3d-vectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-vectors/2023-10-21/3d-vectors-20231021-git.tgz"; - sha256 = "0y3iwb0bvxf8ixgsbg3idlx91k3lim9na53fasb4scnhlmpsbk28"; - system = "3d-vectors"; - asd = "3d-vectors"; - }); - systems = [ "3d-vectors" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _3d-vectors-test = (build-asdf-system { - pname = "3d-vectors-test"; - version = "20231021-git"; - asds = [ "3d-vectors-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/3d-vectors/2023-10-21/3d-vectors-20231021-git.tgz"; - sha256 = "0y3iwb0bvxf8ixgsbg3idlx91k3lim9na53fasb4scnhlmpsbk28"; - system = "3d-vectors-test"; - asd = "3d-vectors-test"; - }); - systems = [ "3d-vectors-test" ]; - lispLibs = [ (getAttr "_3d-vectors" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-asdf-system = (build-asdf-system { - pname = "40ants-asdf-system"; - version = "20241012-git"; - asds = [ "40ants-asdf-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; - sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; - system = "40ants-asdf-system"; - asd = "40ants-asdf-system"; - }); - systems = [ "40ants-asdf-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-asdf-system-ci = (build-asdf-system { - pname = "40ants-asdf-system-ci"; - version = "20241012-git"; - asds = [ "40ants-asdf-system-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; - sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; - system = "40ants-asdf-system-ci"; - asd = "40ants-asdf-system-ci"; - }); - systems = [ "40ants-asdf-system-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-asdf-system-tests = (build-asdf-system { - pname = "40ants-asdf-system-tests"; - version = "20241012-git"; - asds = [ "40ants-asdf-system-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; - sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; - system = "40ants-asdf-system-tests"; - asd = "40ants-asdf-system-tests"; - }); - systems = [ "40ants-asdf-system-tests" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-ci = (build-asdf-system { - pname = "40ants-ci"; - version = "20241012-git"; - asds = [ "40ants-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ci/2024-10-12/ci-20241012-git.tgz"; - sha256 = "0fmy1302c89qbhn4zc58cydcv8qc3qrl6cjbf2fy53sphnmj0wgm"; - system = "40ants-ci"; - asd = "40ants-ci"; - }); - systems = [ "40ants-ci" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-ci-docs = (build-asdf-system { - pname = "40ants-ci-docs"; - version = "20241012-git"; - asds = [ "40ants-ci-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ci/2024-10-12/ci-20241012-git.tgz"; - sha256 = "0fmy1302c89qbhn4zc58cydcv8qc3qrl6cjbf2fy53sphnmj0wgm"; - system = "40ants-ci-docs"; - asd = "40ants-ci-docs"; - }); - systems = [ "40ants-ci-docs" ]; - lispLibs = [ (getAttr "_40ants-ci" self) (getAttr "_40ants-doc" self) (getAttr "_40ants-logging-docs" self) (getAttr "docs-config" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-ci-tests = (build-asdf-system { - pname = "40ants-ci-tests"; - version = "20241012-git"; - asds = [ "40ants-ci-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ci/2024-10-12/ci-20241012-git.tgz"; - sha256 = "0fmy1302c89qbhn4zc58cydcv8qc3qrl6cjbf2fy53sphnmj0wgm"; - system = "40ants-ci-tests"; - asd = "40ants-ci-tests"; - }); - systems = [ "40ants-ci-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-doc = (build-asdf-system { - pname = "40ants-doc"; - version = "20241012-git"; - asds = [ "40ants-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/doc/2024-10-12/doc-20241012-git.tgz"; - sha256 = "1vkczfcdgg1dmzb5jzxvc50kywbz7il130qrj0smlg1grwgw10a2"; - system = "40ants-doc"; - asd = "40ants-doc"; - }); - systems = [ "40ants-doc" ]; - lispLibs = [ (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-doc-full = (build-asdf-system { - pname = "40ants-doc-full"; - version = "20241012-git"; - asds = [ "40ants-doc-full" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/doc/2024-10-12/doc-20241012-git.tgz"; - sha256 = "1vkczfcdgg1dmzb5jzxvc50kywbz7il130qrj0smlg1grwgw10a2"; - system = "40ants-doc-full"; - asd = "40ants-doc-full"; - }); - systems = [ "40ants-doc-full" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "common-doc" self) (getAttr "common-html" self) (getAttr "commondoc-markdown" self) (getAttr "dexador" self) (getAttr "docs-config" self) (getAttr "fare-utils" self) (getAttr "jonathan" self) (getAttr "lass" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "slynk" self) (getAttr "spinneret" self) (getAttr "stem" self) (getAttr "str" self) (getAttr "swank" self) (getAttr "tmpdir" self) (getAttr "which" self) (getAttr "xml-emitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-doc-test = (build-asdf-system { - pname = "40ants-doc-test"; - version = "20241012-git"; - asds = [ "40ants-doc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/doc/2024-10-12/doc-20241012-git.tgz"; - sha256 = "1vkczfcdgg1dmzb5jzxvc50kywbz7il130qrj0smlg1grwgw10a2"; - system = "40ants-doc-test"; - asd = "40ants-doc-test"; - }); - systems = [ "40ants-doc-test" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "common-doc" self) (getAttr "common-html" self) (getAttr "commondoc-markdown" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-logging = (build-asdf-system { - pname = "40ants-logging"; - version = "20241012-git"; - asds = [ "40ants-logging" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; - sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; - system = "40ants-logging"; - asd = "40ants-logging"; - }); - systems = [ "40ants-logging" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "global-vars" self) (getAttr "log4cl-extras" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-logging-ci = (build-asdf-system { - pname = "40ants-logging-ci"; - version = "20241012-git"; - asds = [ "40ants-logging-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; - sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; - system = "40ants-logging-ci"; - asd = "40ants-logging-ci"; - }); - systems = [ "40ants-logging-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-logging-docs = (build-asdf-system { - pname = "40ants-logging-docs"; - version = "20241012-git"; - asds = [ "40ants-logging-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; - sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; - system = "40ants-logging-docs"; - asd = "40ants-logging-docs"; - }); - systems = [ "40ants-logging-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "_40ants-logging" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-logging-example = (build-asdf-system { - pname = "40ants-logging-example"; - version = "20241012-git"; - asds = [ "40ants-logging-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; - sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; - system = "40ants-logging-example"; - asd = "40ants-logging-example"; - }); - systems = [ "40ants-logging-example" ]; - lispLibs = [ (getAttr "_40ants-logging" self) (getAttr "_40ants-slynk" self) (getAttr "defmain" self) (getAttr "log4cl" self) (getAttr "log4cl-extras" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-logging-tests = (build-asdf-system { - pname = "40ants-logging-tests"; - version = "20241012-git"; - asds = [ "40ants-logging-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; - sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; - system = "40ants-logging-tests"; - asd = "40ants-logging-tests"; - }); - systems = [ "40ants-logging-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-slynk = (build-asdf-system { - pname = "40ants-slynk"; - version = "20241012-git"; - asds = [ "40ants-slynk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; - sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; - system = "40ants-slynk"; - asd = "40ants-slynk"; - }); - systems = [ "40ants-slynk" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "_40ants-logging" self) (getAttr "global-vars" self) (getAttr "log4cl" self) (getAttr "slynk" self) (getAttr "slynk-macrostep" self) (getAttr "slynk-named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-slynk-ci = (build-asdf-system { - pname = "40ants-slynk-ci"; - version = "20241012-git"; - asds = [ "40ants-slynk-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; - sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; - system = "40ants-slynk-ci"; - asd = "40ants-slynk-ci"; - }); - systems = [ "40ants-slynk-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-slynk-docs = (build-asdf-system { - pname = "40ants-slynk-docs"; - version = "20241012-git"; - asds = [ "40ants-slynk-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; - sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; - system = "40ants-slynk-docs"; - asd = "40ants-slynk-docs"; - }); - systems = [ "40ants-slynk-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "_40ants-slynk" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - _40ants-slynk-tests = (build-asdf-system { - pname = "40ants-slynk-tests"; - version = "20241012-git"; - asds = [ "40ants-slynk-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; - sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; - system = "40ants-slynk-tests"; - asd = "40ants-slynk-tests"; - }); - systems = [ "40ants-slynk-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - a-cl-cairo2-loader = (build-asdf-system { - pname = "a-cl-cairo2-loader"; - version = "20211020-git"; - asds = [ "a-cl-cairo2-loader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; - sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; - system = "a-cl-cairo2-loader"; - asd = "a-cl-cairo2-loader"; - }); - systems = [ "a-cl-cairo2-loader" ]; - lispLibs = [ (getAttr "cl-cairo2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - a-cl-logger = (build-asdf-system { - pname = "a-cl-logger"; - version = "20220331-git"; - asds = [ "a-cl-logger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/a-cl-logger/2022-03-31/a-cl-logger-20220331-git.tgz"; - sha256 = "0vhhbnh4akxh0ivqh8r0f2djv2nbf3l9hbbi0b5fdk9bdpziqkb4"; - system = "a-cl-logger"; - asd = "a-cl-logger"; - }); - systems = [ "a-cl-logger" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-json" self) (getAttr "closer-mop" self) (getAttr "exit-hooks" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "osicat" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - a-cl-logger-logstash = (build-asdf-system { - pname = "a-cl-logger-logstash"; - version = "20220331-git"; - asds = [ "a-cl-logger-logstash" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/a-cl-logger/2022-03-31/a-cl-logger-20220331-git.tgz"; - sha256 = "0vhhbnh4akxh0ivqh8r0f2djv2nbf3l9hbbi0b5fdk9bdpziqkb4"; - system = "a-cl-logger-logstash"; - asd = "a-cl-logger-logstash"; - }); - systems = [ "a-cl-logger-logstash" ]; - lispLibs = [ (getAttr "a-cl-logger" self) (getAttr "cl-json" self) (getAttr "zmq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - a-cl-logger-tests = (build-asdf-system { - pname = "a-cl-logger-tests"; - version = "20220331-git"; - asds = [ "a-cl-logger-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/a-cl-logger/2022-03-31/a-cl-logger-20220331-git.tgz"; - sha256 = "0vhhbnh4akxh0ivqh8r0f2djv2nbf3l9hbbi0b5fdk9bdpziqkb4"; - system = "a-cl-logger-tests"; - asd = "a-cl-logger"; - }); - systems = [ "a-cl-logger-tests" ]; - lispLibs = [ (getAttr "a-cl-logger" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aabbcc = (build-asdf-system { - pname = "aabbcc"; - version = "20200427-git"; - asds = [ "aabbcc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "aabbcc"; - asd = "aabbcc"; - }); - systems = [ "aabbcc" ]; - lispLibs = [ (getAttr "quads" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - able = (build-asdf-system { - pname = "able"; - version = "20171227-git"; - asds = [ "able" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/able/2017-12-27/able-20171227-git.tgz"; - sha256 = "1fbcmr6hy7bwlnsnrml3j4b2jkkj8ddxw27l8hr2z6l3fi3qw4hh"; - system = "able"; - asd = "able"; - }); - systems = [ "able" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "ltk" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - abnf = (build-asdf-system { - pname = "abnf"; - version = "20200325-git"; - asds = [ "abnf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-abnf/2020-03-25/cl-abnf-20200325-git.tgz"; - sha256 = "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"; - system = "abnf"; - asd = "abnf"; - }); - systems = [ "abnf" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "esrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - abstract-classes = (build-asdf-system { - pname = "abstract-classes"; - version = "20190307-hg"; - asds = [ "abstract-classes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-abstract-classes/2019-03-07/cl-abstract-classes-20190307-hg.tgz"; - sha256 = "0q03j3ksgn56j9xvs3d3hhasplj3hvg488f4cx1z97nlyqxr5w1d"; - system = "abstract-classes"; - asd = "abstract-classes"; - }); - systems = [ "abstract-classes" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - access = (build-asdf-system { - pname = "access"; - version = "20241012-git"; - asds = [ "access" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/access/2024-10-12/access-20241012-git.tgz"; - sha256 = "0zdjqhb9rvnlq6nzmsp7372gi91k1rq9bz510m6hcki7g3r01iv5"; - system = "access"; - asd = "access"; - }); - systems = [ "access" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "iterate" self) ]; - meta = {}; - }); - acclimation = (build-asdf-system { - pname = "acclimation"; - version = "20241012-git"; - asds = [ "acclimation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/acclimation/2024-10-12/acclimation-20241012-git.tgz"; - sha256 = "1rp4794czi01hlv67mgykxym1hqsyn04ldgwiqjwf4lj5d3p7aj4"; - system = "acclimation"; - asd = "acclimation"; - }); - systems = [ "acclimation" ]; - lispLibs = [ ]; - meta = {}; - }); - acclimation-temperature = (build-asdf-system { - pname = "acclimation-temperature"; - version = "20241012-git"; - asds = [ "acclimation-temperature" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/acclimation/2024-10-12/acclimation-20241012-git.tgz"; - sha256 = "1rp4794czi01hlv67mgykxym1hqsyn04ldgwiqjwf4lj5d3p7aj4"; - system = "acclimation-temperature"; - asd = "acclimation-temperature"; - }); - systems = [ "acclimation-temperature" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - acl-compat = (build-asdf-system { - pname = "acl-compat"; - version = "20190813-git"; - asds = [ "acl-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; - sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; - system = "acl-compat"; - asd = "acl-compat"; - }); - systems = [ "acl-compat" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "ironclad" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - acm-random = (build-asdf-system { - pname = "acm-random"; - version = "20191007-git"; - asds = [ "acm-random" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; - sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; - system = "acm-random"; - asd = "acm-random"; - }); - systems = [ "acm-random" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "random" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - acm-random-test = (build-asdf-system { - pname = "acm-random-test"; - version = "20191007-git"; - asds = [ "acm-random-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; - sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; - system = "acm-random-test"; - asd = "acm-random-test"; - }); - systems = [ "acm-random-test" ]; - lispLibs = [ (getAttr "acm-random" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - action-list = (build-asdf-system { - pname = "action-list"; - version = "20241012-git"; - asds = [ "action-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/action-list/2024-10-12/action-list-20241012-git.tgz"; - sha256 = "0ky38svlm0xhgsmh5maqj314q4wl3apg7532q8apy37axg1y3xvh"; - system = "action-list"; - asd = "action-list"; - }); - systems = [ "action-list" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-extensible-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - add-two = (build-asdf-system { - pname = "add-two"; - version = "20241012-git"; - asds = [ "add-two" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/whereiseveryone.command-line-args/2024-10-12/whereiseveryone.command-line-args-20241012-git.tgz"; - sha256 = "140xnz2v0v3hfg3dp2fhidw8ns6lxd3a5knm07wqdp48ksg119wy"; - system = "add-two"; - asd = "add-two"; - }); - systems = [ "add-two" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "whereiseveryone_dot_command-line-args" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adhoc = (build-asdf-system { - pname = "adhoc"; - version = "20241012-git"; - asds = [ "adhoc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adhoc/2024-10-12/adhoc-20241012-git.tgz"; - sha256 = "1h7mnwybapxzpv0zlwr1mr91lsd7wiv722ifa21gczllvrg5qai6"; - system = "adhoc"; - asd = "adhoc"; - }); - systems = [ "adhoc" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adhoc-tests = (build-asdf-system { - pname = "adhoc-tests"; - version = "20241012-git"; - asds = [ "adhoc-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adhoc/2024-10-12/adhoc-20241012-git.tgz"; - sha256 = "1h7mnwybapxzpv0zlwr1mr91lsd7wiv722ifa21gczllvrg5qai6"; - system = "adhoc-tests"; - asd = "adhoc-tests"; - }); - systems = [ "adhoc-tests" ]; - lispLibs = [ (getAttr "adhoc" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adjuvant = (build-asdf-system { - pname = "adjuvant"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "adjuvant" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "adjuvant"; - asd = "adjuvant"; - }); - systems = [ "adjuvant" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adjuvant-test = (build-asdf-system { - pname = "adjuvant-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "adjuvant-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "adjuvant-test"; - asd = "adjuvant-test"; - }); - systems = [ "adjuvant-test" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adopt = (build-asdf-system { - pname = "adopt"; - version = "20241012-hg"; - asds = [ "adopt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adopt/2024-10-12/adopt-20241012-hg.tgz"; - sha256 = "1q36b9bp76daprnhd97h00x56kccmii8pc9w2ra6yihkfbcas41q"; - system = "adopt"; - asd = "adopt"; - }); - systems = [ "adopt" ]; - lispLibs = [ (getAttr "bobbin" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adopt-subcommands = (build-asdf-system { - pname = "adopt-subcommands"; - version = "v0.2.2"; - asds = [ "adopt-subcommands" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adopt-subcommands/2021-05-31/adopt-subcommands-v0.2.2.tgz"; - sha256 = "0q35s3ihhlshakjalq5pgf14x502qnj8jimim8yf7bp1p9sn83h8"; - system = "adopt-subcommands"; - asd = "adopt-subcommands"; - }); - systems = [ "adopt-subcommands" ]; - lispLibs = [ (getAttr "adopt" self) (getAttr "bobbin" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adopt-subcommands-test = (build-asdf-system { - pname = "adopt-subcommands-test"; - version = "v0.2.2"; - asds = [ "adopt-subcommands-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adopt-subcommands/2021-05-31/adopt-subcommands-v0.2.2.tgz"; - sha256 = "0q35s3ihhlshakjalq5pgf14x502qnj8jimim8yf7bp1p9sn83h8"; - system = "adopt-subcommands-test"; - asd = "adopt-subcommands-test"; - }); - systems = [ "adopt-subcommands-test" ]; - lispLibs = [ (getAttr "adopt-subcommands" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adp = (build-asdf-system { - pname = "adp"; - version = "20241012-git"; - asds = [ "adp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adp/2024-10-12/adp-20241012-git.tgz"; - sha256 = "04h91m2x1vcn8iidhx1y2cwb8j55siiifhx1ksy7hyn9hf39b2kv"; - system = "adp"; - asd = "adp"; - }); - systems = [ "adp" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "named-readtables" self) (getAttr "scribble" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adp-github = (build-asdf-system { - pname = "adp-github"; - version = "20241012-git"; - asds = [ "adp-github" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adp-github/2024-10-12/adp-github-20241012-git.tgz"; - sha256 = "1g33l2k6pc5m8d0d3dl4rf8p364563jpyk22rywrh5188m9nayjc"; - system = "adp-github"; - asd = "adp-github"; - }); - systems = [ "adp-github" ]; - lispLibs = [ (getAttr "adp" self) (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "trivial-arguments" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - adp-plain = (build-asdf-system { - pname = "adp-plain"; - version = "20241012-git"; - asds = [ "adp-plain" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/adp-plain/2024-10-12/adp-plain-20241012-git.tgz"; - sha256 = "0dnfx7hhdibkg0qphs3wsfll2kmpkfpg4hxfjv2paxnsmqdhspnz"; - system = "adp-plain"; - asd = "adp-plain"; - }); - systems = [ "adp-plain" ]; - lispLibs = [ (getAttr "adp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - advanced-readtable = (build-asdf-system { - pname = "advanced-readtable"; - version = "20130720-git"; - asds = [ "advanced-readtable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/advanced-readtable/2013-07-20/advanced-readtable-20130720-git.tgz"; - sha256 = "0dgm3lp9s6792g22swcb085f67q68jsyqj71vicb1wdr9qslvgwm"; - system = "advanced-readtable"; - asd = "advanced-readtable"; - }); - systems = [ "advanced-readtable" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aether = (build-asdf-system { - pname = "aether"; - version = "v1.1.0"; - asds = [ "aether" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aether/2021-12-09/aether-v1.1.0.tgz"; - sha256 = "0q60gc4lsxpvv4g572mnhpzkziq1412k1q0xm4y2d1zigryg30bb"; - system = "aether"; - asd = "aether"; - }); - systems = [ "aether" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-heap" self) (getAttr "global-vars" self) (getAttr "policy-cond" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aether-tests = (build-asdf-system { - pname = "aether-tests"; - version = "v1.1.0"; - asds = [ "aether-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aether/2021-12-09/aether-v1.1.0.tgz"; - sha256 = "0q60gc4lsxpvv4g572mnhpzkziq1412k1q0xm4y2d1zigryg30bb"; - system = "aether-tests"; - asd = "aether-tests"; - }); - systems = [ "aether-tests" ]; - lispLibs = [ (getAttr "aether" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - agnostic-lizard = (build-asdf-system { - pname = "agnostic-lizard"; - version = "20241012-git"; - asds = [ "agnostic-lizard" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/agnostic-lizard/2024-10-12/agnostic-lizard-20241012-git.tgz"; - sha256 = "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr"; - system = "agnostic-lizard"; - asd = "agnostic-lizard"; - }); - systems = [ "agnostic-lizard" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - agnostic-lizard-debugger-prototype = (build-asdf-system { - pname = "agnostic-lizard-debugger-prototype"; - version = "20241012-git"; - asds = [ "agnostic-lizard-debugger-prototype" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/agnostic-lizard/2024-10-12/agnostic-lizard-20241012-git.tgz"; - sha256 = "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr"; - system = "agnostic-lizard-debugger-prototype"; - asd = "agnostic-lizard-debugger-prototype"; - }); - systems = [ "agnostic-lizard-debugger-prototype" ]; - lispLibs = [ (getAttr "agnostic-lizard" self) (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - agutil = (build-asdf-system { - pname = "agutil"; - version = "20210531-git"; - asds = [ "agutil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/agutil/2021-05-31/agutil-20210531-git.tgz"; - sha256 = "10lccrqkaqq0h1p79gjqsqk1nqa6c25n0w7pj39y2gs14s5qr5q9"; - system = "agutil"; - asd = "agutil"; - }); - systems = [ "agutil" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "optima" self) ]; - meta = {}; - }); - alexa = (build-asdf-system { - pname = "alexa"; - version = "20180831-git"; - asds = [ "alexa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/alexa/2018-08-31/alexa-20180831-git.tgz"; - sha256 = "1y9jyz9gfmd02h492kf7v3mmpbhc0yfh4ka2rzd1vczq6fl8qgqv"; - system = "alexa"; - asd = "alexa"; - }); - systems = [ "alexa" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - alexa-tests = (build-asdf-system { - pname = "alexa-tests"; - version = "20180831-git"; - asds = [ "alexa-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/alexa/2018-08-31/alexa-20180831-git.tgz"; - sha256 = "1y9jyz9gfmd02h492kf7v3mmpbhc0yfh4ka2rzd1vczq6fl8qgqv"; - system = "alexa-tests"; - asd = "alexa-tests"; - }); - systems = [ "alexa-tests" ]; - lispLibs = [ (getAttr "alexa" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - alexandria = (build-asdf-system { - pname = "alexandria"; - version = "20241012-git"; - asds = [ "alexandria" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/alexandria/2024-10-12/alexandria-20241012-git.tgz"; - sha256 = "0jq0n59s0r9yl374f0zpdnaflb5g853yqvax7ka8rnypspyykwdw"; - system = "alexandria"; - asd = "alexandria"; - }); - systems = [ "alexandria" ]; - lispLibs = [ ]; - meta = {}; - }); - alexandria_plus = (build-asdf-system { - pname = "alexandria+"; - version = "20241012-git"; - asds = [ "alexandria+" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/alexandria-plus/2024-10-12/alexandria-plus-20241012-git.tgz"; - sha256 = "05j88i289nx2dgc8r3n3h8x3ma31gk8xk2bpvxc5y9yzfl2mp0hk"; - system = "alexandria+"; - asd = "alexandria+"; - }); - systems = [ "alexandria+" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - algebraic-data-library = (build-asdf-system { - pname = "algebraic-data-library"; - version = "20180831-git"; - asds = [ "algebraic-data-library" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/algebraic-data-library/2018-08-31/algebraic-data-library-20180831-git.tgz"; - sha256 = "0mmakfdwgfjl812ydzbbl81lkv41zfnqhw9ydjk1w63lq8c11cmn"; - system = "algebraic-data-library"; - asd = "algebraic-data-library"; - }); - systems = [ "algebraic-data-library" ]; - lispLibs = [ (getAttr "cl-algebraic-data-type" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - allioli = (build-asdf-system { - pname = "allioli"; - version = "20241012-git"; - asds = [ "allioli" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/allioli/2024-10-12/allioli-20241012-git.tgz"; - sha256 = "00504wf4rxrwpc171czlk56zzbf798c39jzhbipm7ba3iz28qkai"; - system = "allioli"; - asd = "allioli"; - }); - systems = [ "allioli" ]; - lispLibs = [ (getAttr "fare-quasiquote-extras" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - also-alsa = (build-asdf-system { - pname = "also-alsa"; - version = "20231021-git"; - asds = [ "also-alsa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/also-alsa/2023-10-21/also-alsa-20231021-git.tgz"; - sha256 = "17xvq04nnw2kmxvahj56ja5k21d3wg3fzclbfm36fn641lr6l7dx"; - system = "also-alsa"; - asd = "also-alsa"; - }); - systems = [ "also-alsa" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - alternate-asdf-system-connections = (build-asdf-system { - pname = "alternate-asdf-system-connections"; - version = "20241012-git"; - asds = [ "alternate-asdf-system-connections" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/alternate-asdf-system-connections/2024-10-12/alternate-asdf-system-connections-20241012-git.tgz"; - sha256 = "0wlmr29a8azs5kjvwdaqmfn2iwqid0f659cmj34ywchgxahdr6p6"; - system = "alternate-asdf-system-connections"; - asd = "alternate-asdf-system-connections"; - }); - systems = [ "alternate-asdf-system-connections" ]; - lispLibs = [ (getAttr "asdf-system-connections" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - amazon-ecs = (build-asdf-system { - pname = "amazon-ecs"; - version = "20110418-git"; - asds = [ "amazon-ecs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/amazon-ecs/2011-04-18/amazon-ecs-20110418-git.tgz"; - sha256 = "1gi3ybfkdfqvgmwgf0l77xpp5xgmkbycdpz6kn79vm0iga3kd2mz"; - system = "amazon-ecs"; - asd = "amazon-ecs"; - }); - systems = [ "amazon-ecs" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "net-telent-date" self) (getAttr "parse-number" self) (getAttr "trivial-http" self) (getAttr "xml-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - amb = (build-asdf-system { - pname = "amb"; - version = "20230214-git"; - asds = [ "amb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/amb/2023-02-14/amb-20230214-git.tgz"; - sha256 = "014vpsqxjnsr0x2zql6xpz0kh448p3lqw521amsf6700jqa2s1wp"; - system = "amb"; - asd = "amb"; - }); - systems = [ "amb" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - anaphora = (build-asdf-system { - pname = "anaphora"; - version = "20220220-git"; - asds = [ "anaphora" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/anaphora/2022-02-20/anaphora-20220220-git.tgz"; - sha256 = "1ds5ab0rzkrhfl29xpvmvyxmkdyj9mi19p330pz603lx95njjc0b"; - system = "anaphora"; - asd = "anaphora"; - }); - systems = [ "anaphora" ]; - lispLibs = [ ]; - meta = {}; - }); - anaphoric-variants = (build-asdf-system { - pname = "anaphoric-variants"; - version = "1.0.1"; - asds = [ "anaphoric-variants" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/anaphoric-variants/2012-10-13/anaphoric-variants-1.0.1.tgz"; - sha256 = "02ms01w09b9bzsdsr0icd3ggyl86kyxk164kf0759k2k9y6kjsp5"; - system = "anaphoric-variants"; - asd = "anaphoric-variants"; - }); - systems = [ "anaphoric-variants" ]; - lispLibs = [ (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - anatevka = (build-asdf-system { - pname = "anatevka"; - version = "v1.0.1"; - asds = [ "anatevka" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/anatevka/2024-10-12/anatevka-v1.0.1.tgz"; - sha256 = "1cxrbbb947pccy6532cxqrdlkfpm0m6z135mnyaiplfsd77jy772"; - system = "anatevka"; - asd = "anatevka"; - }); - systems = [ "anatevka" ]; - lispLibs = [ (getAttr "aether" self) (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - anatevka-tests = (build-asdf-system { - pname = "anatevka-tests"; - version = "v1.0.1"; - asds = [ "anatevka-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/anatevka/2024-10-12/anatevka-v1.0.1.tgz"; - sha256 = "1cxrbbb947pccy6532cxqrdlkfpm0m6z135mnyaiplfsd77jy772"; - system = "anatevka-tests"; - asd = "anatevka-tests"; - }); - systems = [ "anatevka-tests" ]; - lispLibs = [ (getAttr "anatevka" self) (getAttr "closer-mop" self) (getAttr "fiasco" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ansi-escape = (build-asdf-system { - pname = "ansi-escape"; - version = "20241012-git"; - asds = [ "ansi-escape" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; - sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; - system = "ansi-escape"; - asd = "ansi-escape"; - }); - systems = [ "ansi-escape" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ansi-escape-test = (build-asdf-system { - pname = "ansi-escape-test"; - version = "20241012-git"; - asds = [ "ansi-escape-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; - sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; - system = "ansi-escape-test"; - asd = "ansi-escape-test"; - }); - systems = [ "ansi-escape-test" ]; - lispLibs = [ (getAttr "ansi-escape" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ansi-test-harness = (build-asdf-system { - pname = "ansi-test-harness"; - version = "20231021-git"; - asds = [ "ansi-test-harness" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ansi-test-harness/2023-10-21/ansi-test-harness-20231021-git.tgz"; - sha256 = "168q2358ag5lf7k8378462279q0izllbwqr1axljm0nsn6d4g0yl"; - system = "ansi-test-harness"; - asd = "ansi-test-harness"; - }); - systems = [ "ansi-test-harness" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - antik = (build-asdf-system { - pname = "antik"; - version = "master-df14cb8c-git"; - asds = [ "antik" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; - sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; - system = "antik"; - asd = "antik"; - }); - systems = [ "antik" ]; - lispLibs = [ (getAttr "gsll" self) (getAttr "physical-dimension" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - antik-base = (build-asdf-system { - pname = "antik-base"; - version = "master-df14cb8c-git"; - asds = [ "antik-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; - sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; - system = "antik-base"; - asd = "antik-base"; - }); - systems = [ "antik-base" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "lisp-unit" self) (getAttr "metabang-bind" self) (getAttr "named-readtables" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - anypool = (build-asdf-system { - pname = "anypool"; - version = "20241012-git"; - asds = [ "anypool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/anypool/2024-10-12/anypool-20241012-git.tgz"; - sha256 = "1ffssc5fzh7gj0z94xxfb3mk5cwja65lrhxyfgib15a6yxqf1kk1"; - system = "anypool"; - asd = "anypool"; - }); - systems = [ "anypool" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-speedy-queue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aplesque = (build-asdf-system { - pname = "aplesque"; - version = "20241012-git"; - asds = [ "aplesque" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "aplesque"; - asd = "aplesque"; - }); - systems = [ "aplesque" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "array-operations" self) (getAttr "cl-ppcre" self) (getAttr "lparallel" self) (getAttr "parse-number" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - application = (build-asdf-system { - pname = "application"; - version = "20200427-git"; - asds = [ "application" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "application"; - asd = "application"; - }); - systems = [ "application" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-opengl" self) (getAttr "deflazy" self) (getAttr "glhelp" self) (getAttr "scratch-buffer" self) (getAttr "utility" self) (getAttr "window" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - apply-argv = (build-asdf-system { - pname = "apply-argv"; - version = "20150608-git"; - asds = [ "apply-argv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/apply-argv/2015-06-08/apply-argv-20150608-git.tgz"; - sha256 = "19qj847vyawjgm5iwk96469c0plnxj37948ac1bcd86hgpbm75w0"; - system = "apply-argv"; - asd = "apply-argv"; - }); - systems = [ "apply-argv" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - apply-argv-tests = (build-asdf-system { - pname = "apply-argv-tests"; - version = "20150608-git"; - asds = [ "apply-argv-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/apply-argv/2015-06-08/apply-argv-20150608-git.tgz"; - sha256 = "19qj847vyawjgm5iwk96469c0plnxj37948ac1bcd86hgpbm75w0"; - system = "apply-argv-tests"; - asd = "apply-argv"; - }); - systems = [ "apply-argv-tests" ]; - lispLibs = [ (getAttr "apply-argv" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april = (build-asdf-system { - pname = "april"; - version = "20241012-git"; - asds = [ "april" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april"; - asd = "april"; - }); - systems = [ "april" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "aplesque" self) (getAttr "array-operations" self) (getAttr "cl-ppcre" self) (getAttr "cl-unicode" self) (getAttr "lparallel" self) (getAttr "parse-number" self) (getAttr "prove" self) (getAttr "random-state" self) (getAttr "simple-date-time" self) (getAttr "symbol-munger" self) (getAttr "trivia" self) (getAttr "varray" self) (getAttr "vex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-demo_dot_cnn = (build-asdf-system { - pname = "april-demo.cnn"; - version = "20241012-git"; - asds = [ "april-demo.cnn" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-demo.cnn"; - asd = "april-demo.cnn"; - }); - systems = [ "april-demo.cnn" ]; - lispLibs = [ (getAttr "april" self) (getAttr "lisp-binary" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-demo_dot_fnn = (build-asdf-system { - pname = "april-demo.fnn"; - version = "20241012-git"; - asds = [ "april-demo.fnn" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-demo.fnn"; - asd = "april-demo.fnn"; - }); - systems = [ "april-demo.fnn" ]; - lispLibs = [ (getAttr "april" self) (getAttr "april-lib_dot_dfns_dot_array" self) (getAttr "lisp-binary" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-lib_dot_dfns_dot_array = (build-asdf-system { - pname = "april-lib.dfns.array"; - version = "20241012-git"; - asds = [ "april-lib.dfns.array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-lib.dfns.array"; - asd = "april-lib.dfns.array"; - }); - systems = [ "april-lib.dfns.array" ]; - lispLibs = [ (getAttr "april" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-lib_dot_dfns_dot_graph = (build-asdf-system { - pname = "april-lib.dfns.graph"; - version = "20241012-git"; - asds = [ "april-lib.dfns.graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-lib.dfns.graph"; - asd = "april-lib.dfns.graph"; - }); - systems = [ "april-lib.dfns.graph" ]; - lispLibs = [ (getAttr "april" self) (getAttr "april-lib_dot_dfns_dot_array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-lib_dot_dfns_dot_numeric = (build-asdf-system { - pname = "april-lib.dfns.numeric"; - version = "20241012-git"; - asds = [ "april-lib.dfns.numeric" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-lib.dfns.numeric"; - asd = "april-lib.dfns.numeric"; - }); - systems = [ "april-lib.dfns.numeric" ]; - lispLibs = [ (getAttr "april" self) (getAttr "april-lib_dot_dfns_dot_graph" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-lib_dot_dfns_dot_power = (build-asdf-system { - pname = "april-lib.dfns.power"; - version = "20241012-git"; - asds = [ "april-lib.dfns.power" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-lib.dfns.power"; - asd = "april-lib.dfns.power"; - }); - systems = [ "april-lib.dfns.power" ]; - lispLibs = [ (getAttr "april" self) (getAttr "april-lib_dot_dfns_dot_array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-lib_dot_dfns_dot_string = (build-asdf-system { - pname = "april-lib.dfns.string"; - version = "20241012-git"; - asds = [ "april-lib.dfns.string" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-lib.dfns.string"; - asd = "april-lib.dfns.string"; - }); - systems = [ "april-lib.dfns.string" ]; - lispLibs = [ (getAttr "april" self) (getAttr "april-lib_dot_dfns_dot_array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-lib_dot_dfns_dot_tree = (build-asdf-system { - pname = "april-lib.dfns.tree"; - version = "20241012-git"; - asds = [ "april-lib.dfns.tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-lib.dfns.tree"; - asd = "april-lib.dfns.tree"; - }); - systems = [ "april-lib.dfns.tree" ]; - lispLibs = [ (getAttr "april" self) (getAttr "april-lib_dot_dfns_dot_array" self) (getAttr "april-lib_dot_dfns_dot_power" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - april-xt_dot_uzuki = (build-asdf-system { - pname = "april-xt.uzuki"; - version = "20241012-git"; - asds = [ "april-xt.uzuki" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "april-xt.uzuki"; - asd = "april-xt.uzuki"; - }); - systems = [ "april-xt.uzuki" ]; - lispLibs = [ (getAttr "april" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arc-compat = (build-asdf-system { - pname = "arc-compat"; - version = "20241012-git"; - asds = [ "arc-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arc-compat/2024-10-12/arc-compat-20241012-git.tgz"; - sha256 = "1wmq5mvlkvdbl4562p3n7x8bhv3swjj0yqbly07y8mv0snasns8d"; - system = "arc-compat"; - asd = "arc-compat"; - }); - systems = [ "arc-compat" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "fiveam" self) (getAttr "ironclad" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_builder-protocol = (build-asdf-system { - pname = "architecture.builder-protocol"; - version = "20241012-git"; - asds = [ "architecture.builder-protocol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; - sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; - system = "architecture.builder-protocol"; - asd = "architecture.builder-protocol"; - }); - systems = [ "architecture.builder-protocol" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_builder-protocol_dot_inspection = (build-asdf-system { - pname = "architecture.builder-protocol.inspection"; - version = "20241012-git"; - asds = [ "architecture.builder-protocol.inspection" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; - sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; - system = "architecture.builder-protocol.inspection"; - asd = "architecture.builder-protocol.inspection"; - }); - systems = [ "architecture.builder-protocol.inspection" ]; - lispLibs = [ (getAttr "architecture_dot_builder-protocol" self) (getAttr "clouseau" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_builder-protocol_dot_json = (build-asdf-system { - pname = "architecture.builder-protocol.json"; - version = "20241012-git"; - asds = [ "architecture.builder-protocol.json" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; - sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; - system = "architecture.builder-protocol.json"; - asd = "architecture.builder-protocol.json"; - }); - systems = [ "architecture.builder-protocol.json" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_builder-protocol" self) (getAttr "cl-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_builder-protocol_dot_print-tree = (build-asdf-system { - pname = "architecture.builder-protocol.print-tree"; - version = "20241012-git"; - asds = [ "architecture.builder-protocol.print-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; - sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; - system = "architecture.builder-protocol.print-tree"; - asd = "architecture.builder-protocol.print-tree"; - }); - systems = [ "architecture.builder-protocol.print-tree" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_builder-protocol" self) (getAttr "utilities_dot_print-tree" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_builder-protocol_dot_universal-builder = (build-asdf-system { - pname = "architecture.builder-protocol.universal-builder"; - version = "20241012-git"; - asds = [ "architecture.builder-protocol.universal-builder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; - sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; - system = "architecture.builder-protocol.universal-builder"; - asd = "architecture.builder-protocol.universal-builder"; - }); - systems = [ "architecture.builder-protocol.universal-builder" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_builder-protocol" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_builder-protocol_dot_xpath = (build-asdf-system { - pname = "architecture.builder-protocol.xpath"; - version = "20241012-git"; - asds = [ "architecture.builder-protocol.xpath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; - sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; - system = "architecture.builder-protocol.xpath"; - asd = "architecture.builder-protocol.xpath"; - }); - systems = [ "architecture.builder-protocol.xpath" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_builder-protocol" self) (getAttr "xpath" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_service-provider = (build-asdf-system { - pname = "architecture.service-provider"; - version = "20191007-git"; - asds = [ "architecture.service-provider" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz"; - sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm"; - system = "architecture.service-provider"; - asd = "architecture.service-provider"; - }); - systems = [ "architecture.service-provider" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "let-plus" self) (getAttr "more-conditions" self) (getAttr "utilities_dot_print-items" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - architecture_dot_service-provider-and-hooks = (build-asdf-system { - pname = "architecture.service-provider-and-hooks"; - version = "20191007-git"; - asds = [ "architecture.service-provider-and-hooks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz"; - sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm"; - system = "architecture.service-provider-and-hooks"; - asd = "architecture.service-provider-and-hooks"; - }); - systems = [ "architecture.service-provider-and-hooks" ]; - lispLibs = [ (getAttr "architecture_dot_service-provider" self) (getAttr "cl-hooks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - archive = (build-asdf-system { - pname = "archive"; - version = "20160318-git"; - asds = [ "archive" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/archive/2016-03-18/archive-20160318-git.tgz"; - sha256 = "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"; - system = "archive"; - asd = "archive"; - }); - systems = [ "archive" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arith = (build-asdf-system { - pname = "arith"; - version = "20170830-git"; - asds = [ "arith" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paren-test/2017-08-30/paren-test-20170830-git.tgz"; - sha256 = "0b2d3kcv3n4b0dm67pzhxx8wxjsgnb32bw2dsprblc7149gaczdr"; - system = "arith"; - asd = "arith"; - }); - systems = [ "arith" ]; - lispLibs = [ (getAttr "paren-files" self) (getAttr "paren-test" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arithmetic-operators-as-words = (build-asdf-system { - pname = "arithmetic-operators-as-words"; - version = "20200610-git"; - asds = [ "arithmetic-operators-as-words" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arithmetic-operators-as-words/2020-06-10/arithmetic-operators-as-words-20200610-git.tgz"; - sha256 = "1bcfkbq3kqns2ng0cdmj81c72j63641pqlskg4xrzkgkh25bhkks"; - system = "arithmetic-operators-as-words"; - asd = "arithmetic-operators-as-words"; - }); - systems = [ "arithmetic-operators-as-words" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arnesi = (build-asdf-system { - pname = "arnesi"; - version = "20170403-git"; - asds = [ "arnesi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arnesi/2017-04-03/arnesi-20170403-git.tgz"; - sha256 = "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"; - system = "arnesi"; - asd = "arnesi"; - }); - systems = [ "arnesi" ]; - lispLibs = [ (getAttr "collectors" self) ]; - meta = {}; - }); - array-operations = (build-asdf-system { - pname = "array-operations"; - version = "1.2.1"; - asds = [ "array-operations" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/array-operations/2023-10-21/array-operations-1.2.1.tgz"; - sha256 = "06zg7ds7c1vi59zxzrd52a9zfpw8x0jsf1hqcdgaz8s3dcfma3mn"; - system = "array-operations"; - asd = "array-operations"; - }); - systems = [ "array-operations" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "let-plus" self) ]; - meta = {}; - }); - array-utils = (build-asdf-system { - pname = "array-utils"; - version = "20241012-git"; - asds = [ "array-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/array-utils/2024-10-12/array-utils-20241012-git.tgz"; - sha256 = "0rya7k9sfpyrn5vrn12wywpgsr2f0pmcywv51ixzb0sv8ska0mhs"; - system = "array-utils"; - asd = "array-utils"; - }); - systems = [ "array-utils" ]; - lispLibs = [ ]; - meta = {}; - }); - array-utils-test = (build-asdf-system { - pname = "array-utils-test"; - version = "20241012-git"; - asds = [ "array-utils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/array-utils/2024-10-12/array-utils-20241012-git.tgz"; - sha256 = "0rya7k9sfpyrn5vrn12wywpgsr2f0pmcywv51ixzb0sv8ska0mhs"; - system = "array-utils-test"; - asd = "array-utils-test"; - }); - systems = [ "array-utils-test" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arrival = (build-asdf-system { - pname = "arrival"; - version = "20211209-git"; - asds = [ "arrival" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arrival/2021-12-09/arrival-20211209-git.tgz"; - sha256 = "1iwdk5fdismw91ln5wdnn8c8xv06fbgiwbvdj2gy2hpp8f3qk00b"; - system = "arrival"; - asd = "arrival"; - }); - systems = [ "arrival" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "trivia" self) (getAttr "trivia_dot_quasiquote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arrow-macros = (build-asdf-system { - pname = "arrow-macros"; - version = "20241012-git"; - asds = [ "arrow-macros" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arrow-macros/2024-10-12/arrow-macros-20241012-git.tgz"; - sha256 = "0q4vpysk4h9ghs5zmnzzilky9jyz7i8n0x0p98nq528crbrkh6c4"; - system = "arrow-macros"; - asd = "arrow-macros"; - }); - systems = [ "arrow-macros" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arrow-macros-test = (build-asdf-system { - pname = "arrow-macros-test"; - version = "20241012-git"; - asds = [ "arrow-macros-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arrow-macros/2024-10-12/arrow-macros-20241012-git.tgz"; - sha256 = "0q4vpysk4h9ghs5zmnzzilky9jyz7i8n0x0p98nq528crbrkh6c4"; - system = "arrow-macros-test"; - asd = "arrow-macros-test"; - }); - systems = [ "arrow-macros-test" ]; - lispLibs = [ (getAttr "arrow-macros" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - arrows = (build-asdf-system { - pname = "arrows"; - version = "20181018-git"; - asds = [ "arrows" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/arrows/2018-10-18/arrows-20181018-git.tgz"; - sha256 = "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"; - system = "arrows"; - asd = "arrows"; - }); - systems = [ "arrows" ]; - lispLibs = [ ]; - meta = {}; - }); - ascii-strings = (build-asdf-system { - pname = "ascii-strings"; - version = "20211209-git"; - asds = [ "ascii-strings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; - sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; - system = "ascii-strings"; - asd = "ascii-strings"; - }); - systems = [ "ascii-strings" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asd-generator = (build-asdf-system { - pname = "asd-generator"; - version = "20190107-git"; - asds = [ "asd-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asd-generator/2019-01-07/asd-generator-20190107-git.tgz"; - sha256 = "0yiybl7b9x1f85v0drj0yw9821y3yfhya4n6gycnv5vvx6jp9by4"; - system = "asd-generator"; - asd = "asd-generator"; - }); - systems = [ "asd-generator" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "iterate" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asd-generator-test = (build-asdf-system { - pname = "asd-generator-test"; - version = "20190107-git"; - asds = [ "asd-generator-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asd-generator/2019-01-07/asd-generator-20190107-git.tgz"; - sha256 = "0yiybl7b9x1f85v0drj0yw9821y3yfhya4n6gycnv5vvx6jp9by4"; - system = "asd-generator-test"; - asd = "asd-generator-test"; - }); - systems = [ "asd-generator-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-dependency-graph = (build-asdf-system { - pname = "asdf-dependency-graph"; - version = "20230618-git"; - asds = [ "asdf-dependency-graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-dependency-graph/2023-06-18/asdf-dependency-graph-20230618-git.tgz"; - sha256 = "1m3cgjmr5fzyas33gjnahcbjiiksr02h2lwdxxl35y2dbip8pygp"; - system = "asdf-dependency-graph"; - asd = "asdf-dependency-graph"; - }); - systems = [ "asdf-dependency-graph" ]; - lispLibs = [ (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-dependency-grovel = (build-asdf-system { - pname = "asdf-dependency-grovel"; - version = "20170403-git"; - asds = [ "asdf-dependency-grovel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-dependency-grovel/2017-04-03/asdf-dependency-grovel-20170403-git.tgz"; - sha256 = "1y4kdqsda4ira4r9dws6kxzzv6mg45q3lkmb2c9mg9q7ksc5glif"; - system = "asdf-dependency-grovel"; - asd = "asdf-dependency-grovel"; - }); - systems = [ "asdf-dependency-grovel" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-driver = (build-asdf-system { - pname = "asdf-driver"; - version = "3.3.7"; - asds = [ "asdf-driver" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uiop/2024-10-12/uiop-3.3.7.tgz"; - sha256 = "0xvzxglkf9hlly7if0l307k31kwglk2ay4k393545c1l5l1ac584"; - system = "asdf-driver"; - asd = "asdf-driver"; - }); - systems = [ "asdf-driver" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-encodings = (build-asdf-system { - pname = "asdf-encodings"; - version = "20191007-git"; - asds = [ "asdf-encodings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-encodings/2019-10-07/asdf-encodings-20191007-git.tgz"; - sha256 = "1yn77nhrz5w2s7nlafxjnk9j8fsrz7ivrm7nbj4r726bwc5knky6"; - system = "asdf-encodings"; - asd = "asdf-encodings"; - }); - systems = [ "asdf-encodings" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-finalizers = (build-asdf-system { - pname = "asdf-finalizers"; - version = "20221106-git"; - asds = [ "asdf-finalizers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-finalizers/2022-11-06/asdf-finalizers-20221106-git.tgz"; - sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"; - system = "asdf-finalizers"; - asd = "asdf-finalizers"; - }); - systems = [ "asdf-finalizers" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-linguist = (build-asdf-system { - pname = "asdf-linguist"; - version = "20150923-git"; - asds = [ "asdf-linguist" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-linguist/2015-09-23/asdf-linguist-20150923-git.tgz"; - sha256 = "14jaqmxxh70f1jf58mxb117951iql2sjxymmbjyqniqwazznbd9a"; - system = "asdf-linguist"; - asd = "asdf-linguist"; - }); - systems = [ "asdf-linguist" ]; - lispLibs = [ (getAttr "inferior-shell" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-manager = (build-asdf-system { - pname = "asdf-manager"; - version = "20160208-git"; - asds = [ "asdf-manager" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-manager/2016-02-08/asdf-manager-20160208-git.tgz"; - sha256 = "0jw7d0vg13v1l1fwwhsw04n6w3c49vsbmq6vrlrkh95aayc5413w"; - system = "asdf-manager"; - asd = "asdf-manager"; - }); - systems = [ "asdf-manager" ]; - lispLibs = [ (getAttr "trivial-download" self) (getAttr "trivial-extract" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-manager-test = (build-asdf-system { - pname = "asdf-manager-test"; - version = "20160208-git"; - asds = [ "asdf-manager-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-manager/2016-02-08/asdf-manager-20160208-git.tgz"; - sha256 = "0jw7d0vg13v1l1fwwhsw04n6w3c49vsbmq6vrlrkh95aayc5413w"; - system = "asdf-manager-test"; - asd = "asdf-manager-test"; - }); - systems = [ "asdf-manager-test" ]; - lispLibs = [ (getAttr "asdf-manager" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-nst = (build-asdf-system { - pname = "asdf-nst"; - version = "20210807-git"; - asds = [ "asdf-nst" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "asdf-nst"; - asd = "asdf-nst"; - }); - systems = [ "asdf-nst" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asdf-package-system = (build-asdf-system { - pname = "asdf-package-system"; - version = "20150608-git"; - asds = [ "asdf-package-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-package-system/2015-06-08/asdf-package-system-20150608-git.tgz"; - sha256 = "1q4qgvbl64c4zdbq91by1la8licdgam7ybnhvg2bixdhq4v693sj"; - system = "asdf-package-system"; - asd = "asdf-package-system"; - }); - systems = [ "asdf-package-system" ]; - lispLibs = [ ]; - meta = {}; - }); - asdf-system-connections = (build-asdf-system { - pname = "asdf-system-connections"; - version = "20170124-git"; - asds = [ "asdf-system-connections" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz"; - sha256 = "06kg0m8bv383qq3r34x0f8hz6p6zxcw02qn7kj960vcnrp5a5b3y"; - system = "asdf-system-connections"; - asd = "asdf-system-connections"; - }); - systems = [ "asdf-system-connections" ]; - lispLibs = [ ]; - meta = {}; - }); - asdf-viz = (build-asdf-system { - pname = "asdf-viz"; - version = "20200610-git"; - asds = [ "asdf-viz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-viz/2020-06-10/asdf-viz-20200610-git.tgz"; - sha256 = "1hj9ac1m2kz8x65n62gd1s2k2x9pip9a85pnmib53qsks3a9sc4z"; - system = "asdf-viz"; - asd = "asdf-viz"; - }); - systems = [ "asdf-viz" ]; - lispLibs = [ (getAttr "cl-dot" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "swank" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aserve = (build-asdf-system { - pname = "aserve"; - version = "20190813-git"; - asds = [ "aserve" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; - sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; - system = "aserve"; - asd = "aserve"; - }); - systems = [ "aserve" ]; - lispLibs = [ (getAttr "acl-compat" self) (getAttr "htmlgen" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asn1 = (build-asdf-system { - pname = "asn1"; - version = "20220331-git"; - asds = [ "asn1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asn1/2022-03-31/asn1-20220331-git.tgz"; - sha256 = "16gs4xznmg19ii0cg7g2yxrk9ls5vah8ynjj80s99rv8wi3789z1"; - system = "asn1"; - asd = "asn1"; - }); - systems = [ "asn1" ]; - lispLibs = [ (getAttr "fast-io" self) (getAttr "ironclad" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - assert-p = (build-asdf-system { - pname = "assert-p"; - version = "20200610-git"; - asds = [ "assert-p" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/assert-p/2020-06-10/assert-p-20200610-git.tgz"; - sha256 = "1x24rkqkqiw8zd26swi9rmhfplkmr5scz3bhjwccah9d2s36b1xs"; - system = "assert-p"; - asd = "assert-p"; - }); - systems = [ "assert-p" ]; - lispLibs = [ (getAttr "assertion-error" self) (getAttr "simplet-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - assertion-error = (build-asdf-system { - pname = "assertion-error"; - version = "20191227-git"; - asds = [ "assertion-error" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/assertion-error/2019-12-27/assertion-error-20191227-git.tgz"; - sha256 = "0ix23kkakmf4nwx852zsssb831jvajr3qyppqfyks7y1ls617svn"; - system = "assertion-error"; - asd = "assertion-error"; - }); - systems = [ "assertion-error" ]; - lispLibs = [ (getAttr "dissect" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - assoc-utils = (build-asdf-system { - pname = "assoc-utils"; - version = "20241012-git"; - asds = [ "assoc-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/assoc-utils/2024-10-12/assoc-utils-20241012-git.tgz"; - sha256 = "0rgfv9qni9dnmm3qnaf1x67h0z38vw2zbmbsdk3a4x5s8ckxln6r"; - system = "assoc-utils"; - asd = "assoc-utils"; - }); - systems = [ "assoc-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - assoc-utils-test = (build-asdf-system { - pname = "assoc-utils-test"; - version = "20241012-git"; - asds = [ "assoc-utils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/assoc-utils/2024-10-12/assoc-utils-20241012-git.tgz"; - sha256 = "0rgfv9qni9dnmm3qnaf1x67h0z38vw2zbmbsdk3a4x5s8ckxln6r"; - system = "assoc-utils-test"; - asd = "assoc-utils-test"; - }); - systems = [ "assoc-utils-test" ]; - lispLibs = [ (getAttr "assoc-utils" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - asteroids = (build-asdf-system { - pname = "asteroids"; - version = "20191007-git"; - asds = [ "asteroids" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asteroids/2019-10-07/asteroids-20191007-git.tgz"; - sha256 = "1wdzwpizgy477ny6pxjshj3q25phdxsjfq8cvrbx0x7k5w8fkg50"; - system = "asteroids"; - asd = "asteroids"; - }); - systems = [ "asteroids" ]; - lispLibs = [ (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-gfx" self) (getAttr "lispbuilder-sdl-mixer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - astonish = (build-asdf-system { - pname = "astonish"; - version = "20210124-git"; - asds = [ "astonish" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/astonish/2021-01-24/astonish-20210124-git.tgz"; - sha256 = "14qphx97q4gqcc71figc6r3cgy89rn9c43sh35fzxkln9ydk2pr6"; - system = "astonish"; - asd = "astonish"; - }); - systems = [ "astonish" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - async-process = (build-asdf-system { - pname = "async-process"; - version = "20241012-git"; - asds = [ "async-process" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/async-process/2024-10-12/async-process-20241012-git.tgz"; - sha256 = "0691z0vs5c65m24p1yi12iy27j59layzvzyy1yl19704x05442qh"; - system = "async-process"; - asd = "async-process"; - }); - systems = [ "async-process" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - atdoc = (build-asdf-system { - pname = "atdoc"; - version = "20120305-git"; - asds = [ "atdoc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/atdoc/2012-03-05/atdoc-20120305-git.tgz"; - sha256 = "1w54phadjj00sy5qz5n0hmhzyjrx26h9hw06756zdpfbzk4f5il6"; - system = "atdoc"; - asd = "atdoc"; - }); - systems = [ "atdoc" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "cxml" self) (getAttr "split-sequence" self) (getAttr "swank" self) (getAttr "xuriella" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - atomics = (build-asdf-system { - pname = "atomics"; - version = "20241012-git"; - asds = [ "atomics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/atomics/2024-10-12/atomics-20241012-git.tgz"; - sha256 = "1ah6fgvfva0axnhj4sp1qy6gjyw41fkhpnv998di0wbp6hls8j39"; - system = "atomics"; - asd = "atomics"; - }); - systems = [ "atomics" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - atomics-test = (build-asdf-system { - pname = "atomics-test"; - version = "20241012-git"; - asds = [ "atomics-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/atomics/2024-10-12/atomics-20241012-git.tgz"; - sha256 = "1ah6fgvfva0axnhj4sp1qy6gjyw41fkhpnv998di0wbp6hls8j39"; - system = "atomics-test"; - asd = "atomics-test"; - }); - systems = [ "atomics-test" ]; - lispLibs = [ (getAttr "atomics" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - audio-tag = (build-asdf-system { - pname = "audio-tag"; - version = "20210531-git"; - asds = [ "audio-tag" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/audio-tag/2021-05-31/audio-tag-20210531-git.tgz"; - sha256 = "1k9152wakazr34q4q5x8zzv3mjjkf0n9xdg7c2qqwigwws0ysgzh"; - system = "audio-tag"; - asd = "audio-tag"; - }); - systems = [ "audio-tag" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - authenticated-encryption = (build-asdf-system { - pname = "authenticated-encryption"; - version = "20181018-git"; - asds = [ "authenticated-encryption" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/authenticated-encryption/2018-10-18/authenticated-encryption-20181018-git.tgz"; - sha256 = "0cvl4g0g59z5dicg7q3f9hhqshz2m0a6l2fzic75c3yv28q8m2vr"; - system = "authenticated-encryption"; - asd = "authenticated-encryption"; - }); - systems = [ "authenticated-encryption" ]; - lispLibs = [ (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - authenticated-encryption-test = (build-asdf-system { - pname = "authenticated-encryption-test"; - version = "20181018-git"; - asds = [ "authenticated-encryption-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/authenticated-encryption/2018-10-18/authenticated-encryption-20181018-git.tgz"; - sha256 = "0cvl4g0g59z5dicg7q3f9hhqshz2m0a6l2fzic75c3yv28q8m2vr"; - system = "authenticated-encryption-test"; - asd = "authenticated-encryption-test"; - }); - systems = [ "authenticated-encryption-test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "authenticated-encryption" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - auto-restart = (build-asdf-system { - pname = "auto-restart"; - version = "20241012-git"; - asds = [ "auto-restart" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/auto-restart/2024-10-12/auto-restart-20241012-git.tgz"; - sha256 = "1kz50w4x7glin8fyrfysazz07r4rrk90daml35yrwnz08vi3dfw7"; - system = "auto-restart"; - asd = "auto-restart"; - }); - systems = [ "auto-restart" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - autoexport = (build-asdf-system { - pname = "autoexport"; - version = "20211020-git"; - asds = [ "autoexport" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/autoexport/2021-10-20/autoexport-20211020-git.tgz"; - sha256 = "15kzq4hfsracxapxik3i6sxqqnwl7cb9lisgk9krrsk13d97l844"; - system = "autoexport"; - asd = "autoexport"; - }); - systems = [ "autoexport" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - automaton = (build-asdf-system { - pname = "automaton"; - version = "20241012-git"; - asds = [ "automaton" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "automaton"; - asd = "automaton"; - }); - systems = [ "automaton" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - avatar-api = (build-asdf-system { - pname = "avatar-api"; - version = "20150608-git"; - asds = [ "avatar-api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/avatar-api/2015-06-08/avatar-api-20150608-git.tgz"; - sha256 = "026s8m0bl13iqyakfxc6zwacvpj2bxxipms1kl3k9ql99yn8imvr"; - system = "avatar-api"; - asd = "avatar-api"; - }); - systems = [ "avatar-api" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "crypto-shortcuts" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - avatar-api-test = (build-asdf-system { - pname = "avatar-api-test"; - version = "20150608-git"; - asds = [ "avatar-api-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/avatar-api/2015-06-08/avatar-api-20150608-git.tgz"; - sha256 = "026s8m0bl13iqyakfxc6zwacvpj2bxxipms1kl3k9ql99yn8imvr"; - system = "avatar-api-test"; - asd = "avatar-api-test"; - }); - systems = [ "avatar-api-test" ]; - lispLibs = [ (getAttr "avatar-api" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - avl-tree = (build-asdf-system { - pname = "avl-tree"; - version = "20220707-git"; - asds = [ "avl-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/avl-tree/2022-07-07/avl-tree-20220707-git.tgz"; - sha256 = "1xvh5rpz0kwzx42jrnh3kgqa87z5kmgd7f3fkkydiqj04hknsj7k"; - system = "avl-tree"; - asd = "avl-tree"; - }); - systems = [ "avl-tree" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aws-foundation = (build-asdf-system { - pname = "aws-foundation"; - version = "20180711-git"; - asds = [ "aws-foundation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aws-foundation/2018-07-11/aws-foundation-20180711-git.tgz"; - sha256 = "1f5af22qw583frqjhnkf9wcccdkkpjiv0bbnlqqk7fxzm9pqpvhb"; - system = "aws-foundation"; - asd = "aws-foundation"; - }); - systems = [ "aws-foundation" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-json" self) (getAttr "cl-json-helper" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aws-sdk = (build-asdf-system { - pname = "aws-sdk"; - version = "20241012-git"; - asds = [ "aws-sdk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aws-sdk-lisp/2024-10-12/aws-sdk-lisp-20241012-git.tgz"; - sha256 = "0iqm441fr1qx5py7cvrv4jl9zgfsm813igwvq3rj90606g6lyxjc"; - system = "aws-sdk"; - asd = "aws-sdk"; - }); - systems = [ "aws-sdk" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "assoc-utils" self) (getAttr "aws-sign4" self) (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "kebab" self) (getAttr "local-time" self) (getAttr "parser_dot_ini" self) (getAttr "quri" self) (getAttr "trivial-timeout" self) (getAttr "trivial-types" self) (getAttr "xmls" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aws-sign4 = (build-asdf-system { - pname = "aws-sign4"; - version = "20201220-git"; - asds = [ "aws-sign4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz"; - sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk"; - system = "aws-sign4"; - asd = "aws-sign4"; - }); - systems = [ "aws-sign4" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "local-time" self) (getAttr "secret-values" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aws-sign4-example = (build-asdf-system { - pname = "aws-sign4-example"; - version = "20201220-git"; - asds = [ "aws-sign4-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz"; - sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk"; - system = "aws-sign4-example"; - asd = "aws-sign4"; - }); - systems = [ "aws-sign4-example" ]; - lispLibs = [ (getAttr "aws-sign4" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - aws-sign4-tests = (build-asdf-system { - pname = "aws-sign4-tests"; - version = "20201220-git"; - asds = [ "aws-sign4-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz"; - sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk"; - system = "aws-sign4-tests"; - asd = "aws-sign4"; - }); - systems = [ "aws-sign4-tests" ]; - lispLibs = [ (getAttr "aws-sign4" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ayah-captcha = (build-asdf-system { - pname = "ayah-captcha"; - version = "20180228-git"; - asds = [ "ayah-captcha" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ayah-captcha/2018-02-28/ayah-captcha-20180228-git.tgz"; - sha256 = "1l9zg0hj5cd1yda1nnab7byrgkakh5vn3qcd4lmfidbijk6kiamw"; - system = "ayah-captcha"; - asd = "ayah-captcha"; - }); - systems = [ "ayah-captcha" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ayah-captcha-demo = (build-asdf-system { - pname = "ayah-captcha-demo"; - version = "20180228-git"; - asds = [ "ayah-captcha-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ayah-captcha/2018-02-28/ayah-captcha-20180228-git.tgz"; - sha256 = "1l9zg0hj5cd1yda1nnab7byrgkakh5vn3qcd4lmfidbijk6kiamw"; - system = "ayah-captcha-demo"; - asd = "ayah-captcha-demo"; - }); - systems = [ "ayah-captcha-demo" ]; - lispLibs = [ (getAttr "ayah-captcha" self) (getAttr "cl-who" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - babel = (build-asdf-system { - pname = "babel"; - version = "20241012-git"; - asds = [ "babel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"; - sha256 = "0359bj3yr6frybcmg8qr5vi4q8hzbsb7hmvxdc0jgkfz3c33q667"; - system = "babel"; - asd = "babel"; - }); - systems = [ "babel" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - babel-streams = (build-asdf-system { - pname = "babel-streams"; - version = "20241012-git"; - asds = [ "babel-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"; - sha256 = "0359bj3yr6frybcmg8qr5vi4q8hzbsb7hmvxdc0jgkfz3c33q667"; - system = "babel-streams"; - asd = "babel-streams"; - }); - systems = [ "babel-streams" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - babel-tests = (build-asdf-system { - pname = "babel-tests"; - version = "20241012-git"; - asds = [ "babel-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"; - sha256 = "0359bj3yr6frybcmg8qr5vi4q8hzbsb7hmvxdc0jgkfz3c33q667"; - system = "babel-tests"; - asd = "babel-tests"; - }); - systems = [ "babel-tests" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - babylon = (build-asdf-system { - pname = "babylon"; - version = "20231021-git"; - asds = [ "babylon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/babylon/2023-10-21/babylon-20231021-git.tgz"; - sha256 = "14k9kvcfyfpn74l5ij5mdc7zlj9vnlnig8piqw0wm5gq9pxmhydg"; - system = "babylon"; - asd = "babylon"; - }); - systems = [ "babylon" ]; - lispLibs = [ (getAttr "fare-quasiquote-extras" self) (getAttr "fmcs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - base = (build-asdf-system { - pname = "base"; - version = "master-fe503896-git"; - asds = [ "base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "base"; - asd = "base"; - }); - systems = [ "base" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - base-blobs = (build-asdf-system { - pname = "base-blobs"; - version = "stable-git"; - asds = [ "base-blobs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/base-blobs/2020-10-16/base-blobs-stable-git.tgz"; - sha256 = "06m8rvczj309wq8by697gvrklhff5mnn5n5sky7i11bnszrxysys"; - system = "base-blobs"; - asd = "base-blobs"; - }); - systems = [ "base-blobs" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - base64 = (build-asdf-system { - pname = "base64"; - version = "20181018-git"; - asds = [ "base64" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/base64/2018-10-18/base64-20181018-git.tgz"; - sha256 = "0qkqcrgmcqshcsnzn4pcyk8d1j9c7pks2qf51p1hfybz5shxkqkh"; - system = "base64"; - asd = "base64"; - }); - systems = [ "base64" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - basic-binary-ipc = (build-asdf-system { - pname = "basic-binary-ipc"; - version = "20211209-git"; - asds = [ "basic-binary-ipc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/basic-binary-ipc/2021-12-09/basic-binary-ipc-20211209-git.tgz"; - sha256 = "0bsxy27mnmzr6vys96cs2is57zvk0n9hlif9llnp4q9m2wzycbwm"; - system = "basic-binary-ipc"; - asd = "basic-binary-ipc"; - }); - systems = [ "basic-binary-ipc" ]; - lispLibs = [ (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - basic-binary-ipc-tests = (build-asdf-system { - pname = "basic-binary-ipc-tests"; - version = "20211209-git"; - asds = [ "basic-binary-ipc-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/basic-binary-ipc/2021-12-09/basic-binary-ipc-20211209-git.tgz"; - sha256 = "0bsxy27mnmzr6vys96cs2is57zvk0n9hlif9llnp4q9m2wzycbwm"; - system = "basic-binary-ipc-tests"; - asd = "basic-binary-ipc-tests"; - }); - systems = [ "basic-binary-ipc-tests" ]; - lispLibs = [ (getAttr "basic-binary-ipc" self) (getAttr "bordeaux-threads" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bdef = (build-asdf-system { - pname = "bdef"; - version = "20241012-git"; - asds = [ "bdef" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bdef/2024-10-12/bdef-20241012-git.tgz"; - sha256 = "16jz9fxxjcpnmhx0yagv8xs7l0b7qh8yx7i7p8fnlxz3pn7726y6"; - system = "bdef"; - asd = "bdef"; - }); - systems = [ "bdef" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "eager-future2" self) (getAttr "jsown" self) (getAttr "mutility" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - beast = (build-asdf-system { - pname = "beast"; - version = "20211020-hg"; - asds = [ "beast" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/beast/2021-10-20/beast-20211020-hg.tgz"; - sha256 = "0rb7yxr4clsdbgyjz9d8inxgj7zs0knrngl7gb6b8ky1vyrv12k4"; - system = "beast"; - asd = "beast"; - }); - systems = [ "beast" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - beirc = (build-asdf-system { - pname = "beirc"; - version = "20150505-git"; - asds = [ "beirc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/beirc/2015-05-05/beirc-20150505-git.tgz"; - sha256 = "1jmxihxln51vxy85r3zx0gfrzs9ng8nmj87j5ws1fg8bwv8b2zc4"; - system = "beirc"; - asd = "beirc"; - }); - systems = [ "beirc" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-irc" self) (getAttr "cl-ppcre" self) (getAttr "mcclim" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bencode = (build-asdf-system { - pname = "bencode"; - version = "20180228-git"; - asds = [ "bencode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bencode/2018-02-28/cl-bencode-20180228-git.tgz"; - sha256 = "02n9cv5jbgzjwmw11c1a557r62m4i4gmmx38csscbq0cv6vzys1j"; - system = "bencode"; - asd = "bencode"; - }); - systems = [ "bencode" ]; - lispLibs = [ (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bencode-test = (build-asdf-system { - pname = "bencode-test"; - version = "20180228-git"; - asds = [ "bencode-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bencode/2018-02-28/cl-bencode-20180228-git.tgz"; - sha256 = "02n9cv5jbgzjwmw11c1a557r62m4i4gmmx38csscbq0cv6vzys1j"; - system = "bencode-test"; - asd = "bencode"; - }); - systems = [ "bencode-test" ]; - lispLibs = [ (getAttr "bencode" self) (getAttr "check-it" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bermuda = (build-asdf-system { - pname = "bermuda"; - version = "20150608-git"; - asds = [ "bermuda" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pal/2015-06-08/pal-20150608-git.tgz"; - sha256 = "0kn6jxirrn7wzqymzsi0kx2ivl0nrrcgbl4dm1714s48qw0jwhcw"; - system = "bermuda"; - asd = "bermuda"; - }); - systems = [ "bermuda" ]; - lispLibs = [ (getAttr "pal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bert = (build-asdf-system { - pname = "bert"; - version = "20141106-git"; - asds = [ "bert" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bert/2014-11-06/cl-bert-20141106-git.tgz"; - sha256 = "18cyk63dmcqqwsld4h65mzscgjsc085ws69z097naqm1r70kkygr"; - system = "bert"; - asd = "bert"; - }); - systems = [ "bert" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "erlang-term" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bibtex = (build-asdf-system { - pname = "bibtex"; - version = "20181210-git"; - asds = [ "bibtex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bibtex/2018-12-10/cl-bibtex-20181210-git.tgz"; - sha256 = "1rb4yf1z0vvl6z4kyj0s81kq1pvxwpvbgiaraqllgj1wpf51m78h"; - system = "bibtex"; - asd = "bibtex"; - }); - systems = [ "bibtex" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - big-string = (build-asdf-system { - pname = "big-string"; - version = "20230618-git"; - asds = [ "big-string" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/big-string/2023-06-18/big-string-20230618-git.tgz"; - sha256 = "03w0y3x9sm0fv0dclmrnh55i83nviz7pw7mdg6di05gw03bnslrc"; - system = "big-string"; - asd = "big-string"; - }); - systems = [ "big-string" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bike-internals = (build-asdf-system { - pname = "bike-internals"; - version = "20241012-git"; - asds = [ "bike-internals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bike/2024-10-12/bike-20241012-git.tgz"; - sha256 = "0ssv4n39wl3i0r8gy2sg6rxfz571jcfsd6db9ndy13drqnhyda6s"; - system = "bike-internals"; - asd = "bike-internals"; - }); - systems = [ "bike-internals" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "flexi-streams" self) (getAttr "global-vars" self) (getAttr "split-sequence" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binary-io = (build-asdf-system { - pname = "binary-io"; - version = "20201016-git"; - asds = [ "binary-io" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binary-io/2020-10-16/binary-io-20201016-git.tgz"; - sha256 = "0gxnl12nydh8aslw78jc4cmq8licj342y2f04jalqb4d9m9jbri2"; - system = "binary-io"; - asd = "binary-io"; - }); - systems = [ "binary-io" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "ieee-floats" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binary-lass = (build-asdf-system { - pname = "binary-lass"; - version = "20241012-git"; - asds = [ "binary-lass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lass/2024-10-12/lass-20241012-git.tgz"; - sha256 = "1b6a3v763i5fcdxczffd59kh4m73p4ilz6az85apd22apc8lr80z"; - system = "binary-lass"; - asd = "binary-lass"; - }); - systems = [ "binary-lass" ]; - lispLibs = [ (getAttr "lass" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binary-parser = (build-asdf-system { - pname = "binary-parser"; - version = "20230214-git"; - asds = [ "binary-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binary-parser/2023-02-14/binary-parser-20230214-git.tgz"; - sha256 = "06lq5iv0ap6qnsrc73rmnr9qirllyz4yxsvimj6ny5wl2hn8i9jl"; - system = "binary-parser"; - asd = "binary-parser"; - }); - systems = [ "binary-parser" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bitio" self) (getAttr "chipz" self) (getAttr "fast-io" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binary-search-tree = (build-asdf-system { - pname = "binary-search-tree"; - version = "20220707-git"; - asds = [ "binary-search-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binary-search-tree/2022-07-07/binary-search-tree-20220707-git.tgz"; - sha256 = "1k7p5dgziwni5yma7q3sbnr23kk2730vzb7ap6knnazpp0smgclf"; - system = "binary-search-tree"; - asd = "binary-search-tree"; - }); - systems = [ "binary-search-tree" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binary-structures = (build-asdf-system { - pname = "binary-structures"; - version = "20241012-git"; - asds = [ "binary-structures" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binary-structures/2024-10-12/binary-structures-20241012-git.tgz"; - sha256 = "1ygfa4xgd0wliggmmxlqqh9nd7hfsgjwl168l8s9r595vx6fnzmb"; - system = "binary-structures"; - asd = "binary-structures"; - }); - systems = [ "binary-structures" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "form-fiddle" self) (getAttr "nibbles" self) (getAttr "trivial-extensible-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binary-types = (build-asdf-system { - pname = "binary-types"; - version = "20130615-git"; - asds = [ "binary-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binary-types/2013-06-15/binary-types-20130615-git.tgz"; - sha256 = "1bh65p9vg2kgh4m8q1a4jiyncnp5prdzh0d0l4pzh3jvfhgbm0gh"; - system = "binary-types"; - asd = "binary-types"; - }); - systems = [ "binary-types" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binascii = (build-asdf-system { - pname = "binascii"; - version = "20150709-git"; - asds = [ "binascii" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binascii/2015-07-09/binascii-20150709-git.tgz"; - sha256 = "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7"; - system = "binascii"; - asd = "binascii"; - }); - systems = [ "binascii" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binascii-tests = (build-asdf-system { - pname = "binascii-tests"; - version = "20150709-git"; - asds = [ "binascii-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binascii/2015-07-09/binascii-20150709-git.tgz"; - sha256 = "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7"; - system = "binascii-tests"; - asd = "binascii"; - }); - systems = [ "binascii-tests" ]; - lispLibs = [ (getAttr "binascii" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binding-arrows = (build-asdf-system { - pname = "binding-arrows"; - version = "20241012-git"; - asds = [ "binding-arrows" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binding-arrows/2024-10-12/binding-arrows-20241012-git.tgz"; - sha256 = "0kzybw5qlb49czh9v2lnxniz9jzqx306a6lnarfv59x48a7cch22"; - system = "binding-arrows"; - asd = "binding-arrows"; - }); - systems = [ "binding-arrows" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binding-knx = (build-asdf-system { - pname = "binding-knx"; - version = "20241012-git"; - asds = [ "binding-knx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chipi/2024-10-12/chipi-20241012-git.tgz"; - sha256 = "0xpfclvl5v031cjnjvr3bcfc87rayw624m9yrw35f5r31p8m283g"; - system = "binding-knx"; - asd = "binding-knx"; - }); - systems = [ "binding-knx" ]; - lispLibs = [ (getAttr "chipi" self) (getAttr "knx-conn" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binfix = (build-asdf-system { - pname = "binfix"; - version = "20190813-git"; - asds = [ "binfix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binfix/2019-08-13/binfix-20190813-git.tgz"; - sha256 = "07925kj32y7ppwmz62c08gd0s6yp12s6nz1wh0pzh0ccq9nwgzhz"; - system = "binfix"; - asd = "binfix"; - }); - systems = [ "binfix" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - binomial-heap = (build-asdf-system { - pname = "binomial-heap"; - version = "20130420-git"; - asds = [ "binomial-heap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binomial-heap/2013-04-20/binomial-heap-20130420-git.tgz"; - sha256 = "1d4jrlkdjdppnvqpqkr7i7djpgmrvrbky4pc1pxvqci5jx7xlkk6"; - system = "binomial-heap"; - asd = "binomial-heap"; - }); - systems = [ "binomial-heap" ]; - lispLibs = [ ]; - meta = {}; - }); - binpack = (build-asdf-system { - pname = "binpack"; - version = "20230214-git"; - asds = [ "binpack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binpack/2023-02-14/binpack-20230214-git.tgz"; - sha256 = "0cfflx7aqmkzsljjaw0dwk49ii0vxm7d07s4gyrszb7zbpmz0jri"; - system = "binpack"; - asd = "binpack"; - }); - systems = [ "binpack" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - binpack-test = (build-asdf-system { - pname = "binpack-test"; - version = "20230214-git"; - asds = [ "binpack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/binpack/2023-02-14/binpack-20230214-git.tgz"; - sha256 = "0cfflx7aqmkzsljjaw0dwk49ii0vxm7d07s4gyrszb7zbpmz0jri"; - system = "binpack-test"; - asd = "binpack-test"; - }); - systems = [ "binpack-test" ]; - lispLibs = [ (getAttr "binpack" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - birch = (build-asdf-system { - pname = "birch"; - version = "20241012-git"; - asds = [ "birch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/birch/2024-10-12/birch-20241012-git.tgz"; - sha256 = "1b24xng92ra7420s3zy44pybk4h7xg4kjwdk35arl46badgi28r1"; - system = "birch"; - asd = "birch"; - }); - systems = [ "birch" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl_plus_ssl" self) (getAttr "flexi-streams" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - birch_dot_test = (build-asdf-system { - pname = "birch.test"; - version = "20241012-git"; - asds = [ "birch.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/birch/2024-10-12/birch-20241012-git.tgz"; - sha256 = "1b24xng92ra7420s3zy44pybk4h7xg4kjwdk35arl46badgi28r1"; - system = "birch.test"; - asd = "birch.test"; - }); - systems = [ "birch.test" ]; - lispLibs = [ (getAttr "birch" self) (getAttr "flexi-streams" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bit-ops = (build-asdf-system { - pname = "bit-ops"; - version = "20180228-git"; - asds = [ "bit-ops" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bit-ops/2018-02-28/bit-ops-20180228-git.tgz"; - sha256 = "0rwmm438bgxfl5ab1vnrsxgimxnr3d5kjv9a0yzmlnbg9i2hyhz7"; - system = "bit-ops"; - asd = "bit-ops"; - }); - systems = [ "bit-ops" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "immutable-struct" self) (getAttr "iterate" self) (getAttr "lisp-namespace" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bit-ops_dot_test = (build-asdf-system { - pname = "bit-ops.test"; - version = "20180228-git"; - asds = [ "bit-ops.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bit-ops/2018-02-28/bit-ops-20180228-git.tgz"; - sha256 = "0rwmm438bgxfl5ab1vnrsxgimxnr3d5kjv9a0yzmlnbg9i2hyhz7"; - system = "bit-ops.test"; - asd = "bit-ops.test"; - }); - systems = [ "bit-ops.test" ]; - lispLibs = [ (getAttr "bit-ops" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bit-smasher = (build-asdf-system { - pname = "bit-smasher"; - version = "20221106-git"; - asds = [ "bit-smasher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bit-smasher/2022-11-06/bit-smasher-20221106-git.tgz"; - sha256 = "1dad4x9sjq45zz8rys6rflsklmw77631r3k4g248ynmaqkdaqjyd"; - system = "bit-smasher"; - asd = "bit-smasher"; - }); - systems = [ "bit-smasher" ]; - lispLibs = [ (getAttr "cl-base58" self) (getAttr "cl-base64" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bit-smasher-test = (build-asdf-system { - pname = "bit-smasher-test"; - version = "20221106-git"; - asds = [ "bit-smasher-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bit-smasher/2022-11-06/bit-smasher-20221106-git.tgz"; - sha256 = "1dad4x9sjq45zz8rys6rflsklmw77631r3k4g248ynmaqkdaqjyd"; - system = "bit-smasher-test"; - asd = "bit-smasher-test"; - }); - systems = [ "bit-smasher-test" ]; - lispLibs = [ (getAttr "bit-smasher" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bitfield = (build-asdf-system { - pname = "bitfield"; - version = "20211230-git"; - asds = [ "bitfield" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bitfield/2021-12-30/bitfield-20211230-git.tgz"; - sha256 = "1137kdj5imc5gj9g6hj4w6ksqnqppgm3knzv7j2f8r5qpfl8rfl2"; - system = "bitfield"; - asd = "bitfield"; - }); - systems = [ "bitfield" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bitfield-schema = (build-asdf-system { - pname = "bitfield-schema"; - version = "20120107-git"; - asds = [ "bitfield-schema" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bitfield-schema/2012-01-07/bitfield-schema-20120107-git.tgz"; - sha256 = "08xkl7rbfhrx8vj98zj1lmhv6pfg2f5gk14xj7qys7mkj2iv4li6"; - system = "bitfield-schema"; - asd = "bitfield-schema"; - }); - systems = [ "bitfield-schema" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bitio = (build-asdf-system { - pname = "bitio"; - version = "20220220-git"; - asds = [ "bitio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bitio/2022-02-20/bitio-20220220-git.tgz"; - sha256 = "0z2yn19nxg46j274nxzry255z86p0y3p68s1f2sg7rx9y2nx3rjg"; - system = "bitio"; - asd = "bitio"; - }); - systems = [ "bitio" ]; - lispLibs = [ (getAttr "checkl" self) (getAttr "cl-package-locks" self) (getAttr "fast-io" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bk-tree = (build-asdf-system { - pname = "bk-tree"; - version = "20130420-git"; - asds = [ "bk-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bk-tree/2013-04-20/bk-tree-20130420-git.tgz"; - sha256 = "1nrz6fwzvkzvs6ipc5rgas77p5hv5bnaw2in5760v240gg7lxqzz"; - system = "bk-tree"; - asd = "bk-tree"; - }); - systems = [ "bk-tree" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_data_dot_impex = (build-asdf-system { - pname = "bknr.data.impex"; - version = "20220220-git"; - asds = [ "bknr.data.impex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.data.impex"; - asd = "bknr.data.impex"; - }); - systems = [ "bknr.data.impex" ]; - lispLibs = [ (getAttr "bknr_dot_datastore" self) (getAttr "bknr_dot_impex" self) (getAttr "bknr_dot_indices" self) (getAttr "bknr_dot_utils" self) (getAttr "cl-interpol" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_datastore = (build-asdf-system { - pname = "bknr.datastore"; - version = "20220220-git"; - asds = [ "bknr.datastore" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.datastore"; - asd = "bknr.datastore"; - }); - systems = [ "bknr.datastore" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bknr_dot_indices" self) (getAttr "bknr_dot_utils" self) (getAttr "cl-interpol" self) (getAttr "closer-mop" self) (getAttr "trivial-utf-8" self) (getAttr "unit-test" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_impex = (build-asdf-system { - pname = "bknr.impex"; - version = "20220220-git"; - asds = [ "bknr.impex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.impex"; - asd = "bknr.impex"; - }); - systems = [ "bknr.impex" ]; - lispLibs = [ (getAttr "bknr_dot_indices" self) (getAttr "bknr_dot_utils" self) (getAttr "bknr_dot_xml" self) (getAttr "cl-interpol" self) (getAttr "closer-mop" self) (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_indices = (build-asdf-system { - pname = "bknr.indices"; - version = "20220220-git"; - asds = [ "bknr.indices" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.indices"; - asd = "bknr.indices"; - }); - systems = [ "bknr.indices" ]; - lispLibs = [ (getAttr "bknr_dot_skip-list" self) (getAttr "bknr_dot_utils" self) (getAttr "cl-interpol" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_modules = (build-asdf-system { - pname = "bknr.modules"; - version = "20140713-git"; - asds = [ "bknr.modules" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; - sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; - system = "bknr.modules"; - asd = "bknr.modules"; - }); - systems = [ "bknr.modules" ]; - lispLibs = [ (getAttr "bknr_dot_utils" self) (getAttr "bknr_dot_web" self) (getAttr "cl-gd" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "cl-smtp" self) (getAttr "closer-mop" self) (getAttr "cxml" self) (getAttr "md5" self) (getAttr "parenscript" self) (getAttr "puri" self) (getAttr "stem" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_skip-list = (build-asdf-system { - pname = "bknr.skip-list"; - version = "20220220-git"; - asds = [ "bknr.skip-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.skip-list"; - asd = "bknr.skip-list"; - }); - systems = [ "bknr.skip-list" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_skip-list_dot_test = (build-asdf-system { - pname = "bknr.skip-list.test"; - version = "20220220-git"; - asds = [ "bknr.skip-list.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.skip-list.test"; - asd = "bknr.skip-list"; - }); - systems = [ "bknr.skip-list.test" ]; - lispLibs = [ (getAttr "bknr_dot_skip-list" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_utils = (build-asdf-system { - pname = "bknr.utils"; - version = "20220220-git"; - asds = [ "bknr.utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.utils"; - asd = "bknr.utils"; - }); - systems = [ "bknr.utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "md5" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_web = (build-asdf-system { - pname = "bknr.web"; - version = "20140713-git"; - asds = [ "bknr.web" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; - sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; - system = "bknr.web"; - asd = "bknr.web"; - }); - systems = [ "bknr.web" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bknr_dot_data_dot_impex" self) (getAttr "bknr_dot_datastore" self) (getAttr "bknr_dot_utils" self) (getAttr "bknr_dot_xml" self) (getAttr "cl-gd" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) (getAttr "md5" self) (getAttr "parenscript" self) (getAttr "puri" self) (getAttr "unit-test" self) (getAttr "usocket" self) (getAttr "xhtmlgen" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bknr_dot_xml = (build-asdf-system { - pname = "bknr.xml"; - version = "20220220-git"; - asds = [ "bknr.xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; - sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; - system = "bknr.xml"; - asd = "bknr.xml"; - }); - systems = [ "bknr.xml" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - black-tie = (build-asdf-system { - pname = "black-tie"; - version = "20220707-git"; - asds = [ "black-tie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/black-tie/2022-07-07/black-tie-20220707-git.tgz"; - sha256 = "0a1zczxp4wkqs4cmwc4rnsgwwc2h4zqmg58cjykfzz4jh31fa43a"; - system = "black-tie"; - asd = "black-tie"; - }); - systems = [ "black-tie" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blackbird = (build-asdf-system { - pname = "blackbird"; - version = "20241012-git"; - asds = [ "blackbird" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/blackbird/2024-10-12/blackbird-20241012-git.tgz"; - sha256 = "0bqg8sn816qfar410w2c2k07vqh9sig8zbkvlmwj1bk33snvmam8"; - system = "blackbird"; - asd = "blackbird"; - }); - systems = [ "blackbird" ]; - lispLibs = [ (getAttr "vom" self) ]; - meta = {}; - }); - blackbird-test = (build-asdf-system { - pname = "blackbird-test"; - version = "20241012-git"; - asds = [ "blackbird-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/blackbird/2024-10-12/blackbird-20241012-git.tgz"; - sha256 = "0bqg8sn816qfar410w2c2k07vqh9sig8zbkvlmwj1bk33snvmam8"; - system = "blackbird-test"; - asd = "blackbird-test"; - }); - systems = [ "blackbird-test" ]; - lispLibs = [ (getAttr "blackbird" self) (getAttr "cl-async" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blas = (build-asdf-system { - pname = "blas"; - version = "20231021-git"; - asds = [ "blas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "blas"; - asd = "blas"; - }); - systems = [ "blas" ]; - lispLibs = [ (getAttr "blas-complex" self) (getAttr "blas-package" self) (getAttr "blas-real" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blas-complex = (build-asdf-system { - pname = "blas-complex"; - version = "20231021-git"; - asds = [ "blas-complex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "blas-complex"; - asd = "blas-complex"; - }); - systems = [ "blas-complex" ]; - lispLibs = [ (getAttr "blas-real" self) (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blas-hompack = (build-asdf-system { - pname = "blas-hompack"; - version = "20231021-git"; - asds = [ "blas-hompack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "blas-hompack"; - asd = "blas-hompack"; - }); - systems = [ "blas-hompack" ]; - lispLibs = [ (getAttr "blas-package" self) (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blas-package = (build-asdf-system { - pname = "blas-package"; - version = "20231021-git"; - asds = [ "blas-package" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "blas-package"; - asd = "blas-package"; - }); - systems = [ "blas-package" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blas-real = (build-asdf-system { - pname = "blas-real"; - version = "20231021-git"; - asds = [ "blas-real" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "blas-real"; - asd = "blas-real"; - }); - systems = [ "blas-real" ]; - lispLibs = [ (getAttr "blas-hompack" self) (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - blocks-world = (build-asdf-system { - pname = "blocks-world"; - version = "20120305-git"; - asds = [ "blocks-world" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/atdoc/2012-03-05/atdoc-20120305-git.tgz"; - sha256 = "1w54phadjj00sy5qz5n0hmhzyjrx26h9hw06756zdpfbzk4f5il6"; - system = "blocks-world"; - asd = "blocks-world"; - }); - systems = [ "blocks-world" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bmas = (build-asdf-system { - pname = "bmas"; - version = "20241012-git"; - asds = [ "bmas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bmas/2024-10-12/cl-bmas-20241012-git.tgz"; - sha256 = "1j4wniwcxz4kqzw7q3ac8rpz2xhd0qfdgl5dylswh02ifdgq9z4m"; - system = "bmas"; - asd = "bmas"; - }); - systems = [ "bmas" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-autowrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bmp-test = (build-asdf-system { - pname = "bmp-test"; - version = "20211020-git"; - asds = [ "bmp-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; - sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; - system = "bmp-test"; - asd = "bmp-test"; - }); - systems = [ "bmp-test" ]; - lispLibs = [ (getAttr "png" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bnf = (build-asdf-system { - pname = "bnf"; - version = "20220220-git"; - asds = [ "bnf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bnf/2022-02-20/bnf-20220220-git.tgz"; - sha256 = "1kr6k9qs9bbza591hi1c2mlxqd5yz3nrvyd3cw7139iz1z2m7dbg"; - system = "bnf"; - asd = "bnf"; - }); - systems = [ "bnf" ]; - lispLibs = [ (getAttr "trestrul" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bnf_dot_test = (build-asdf-system { - pname = "bnf.test"; - version = "20220220-git"; - asds = [ "bnf.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bnf/2022-02-20/bnf-20220220-git.tgz"; - sha256 = "1kr6k9qs9bbza591hi1c2mlxqd5yz3nrvyd3cw7139iz1z2m7dbg"; - system = "bnf.test"; - asd = "bnf.test"; - }); - systems = [ "bnf.test" ]; - lispLibs = [ (getAttr "bnf" self) (getAttr "jingoh" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bobbin = (build-asdf-system { - pname = "bobbin"; - version = "20201016-hg"; - asds = [ "bobbin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bobbin/2020-10-16/bobbin-20201016-hg.tgz"; - sha256 = "1yvx7d0cx5b119r4aays2rck33088bp7spaydnvkc329hfq1ahc2"; - system = "bobbin"; - asd = "bobbin"; - }); - systems = [ "bobbin" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-blobs-support = (build-asdf-system { - pname = "bodge-blobs-support"; - version = "stable-git"; - asds = [ "bodge-blobs-support" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-blobs-support/2020-10-16/bodge-blobs-support-stable-git.tgz"; - sha256 = "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"; - system = "bodge-blobs-support"; - asd = "bodge-blobs-support"; - }); - systems = [ "bodge-blobs-support" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-chipmunk = (build-asdf-system { - pname = "bodge-chipmunk"; - version = "stable-git"; - asds = [ "bodge-chipmunk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-chipmunk/2020-10-16/bodge-chipmunk-stable-git.tgz"; - sha256 = "06zkia7rrhn1961jmayyvdbbbnf2rnr84lbd1x6gq8psfb2rif2f"; - system = "bodge-chipmunk"; - asd = "bodge-chipmunk"; - }); - systems = [ "bodge-chipmunk" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-c-ref" self) (getAttr "claw" self) (getAttr "claw-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-concurrency = (build-asdf-system { - pname = "bodge-concurrency"; - version = "stable-git"; - asds = [ "bodge-concurrency" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-concurrency/2020-10-16/bodge-concurrency-stable-git.tgz"; - sha256 = "06v2h7vassp5v50qsqxkmshcrlrzlhqaga4z7lnidfniw7f8d5vd"; - system = "bodge-concurrency"; - asd = "bodge-concurrency"; - }); - systems = [ "bodge-concurrency" ]; - lispLibs = [ (getAttr "bodge-memory" self) (getAttr "bodge-queue" self) (getAttr "bodge-utilities" self) (getAttr "bordeaux-threads" self) (getAttr "cl-flow" self) (getAttr "cl-muth" self) (getAttr "simple-flow-dispatcher" self) (getAttr "trivial-main-thread" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-glad = (build-asdf-system { - pname = "bodge-glad"; - version = "stable-git"; - asds = [ "bodge-glad" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-glad/2020-10-16/bodge-glad-stable-git.tgz"; - sha256 = "0ghrg0z5pj36igp5wpvp1iwnvjbca3wfb60kvirhv3l9ww51jg9g"; - system = "bodge-glad"; - asd = "bodge-glad"; - }); - systems = [ "bodge-glad" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-glfw = (build-asdf-system { - pname = "bodge-glfw"; - version = "stable-git"; - asds = [ "bodge-glfw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-glfw/2020-10-16/bodge-glfw-stable-git.tgz"; - sha256 = "1xjg75grndl2mbfql1g2qgx810kg6wxrnhxb406m9lisd112i0m8"; - system = "bodge-glfw"; - asd = "bodge-glfw"; - }); - systems = [ "bodge-glfw" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-c-ref" self) (getAttr "claw" self) (getAttr "claw-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-heap = (build-asdf-system { - pname = "bodge-heap"; - version = "stable-git"; - asds = [ "bodge-heap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-heap/2020-10-16/bodge-heap-stable-git.tgz"; - sha256 = "1ngi9ccr9iz93mm3b4hgh2fj39vqpjrpkcfza5vly16z3r7gxca4"; - system = "bodge-heap"; - asd = "bodge-heap"; - }); - systems = [ "bodge-heap" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-host = (build-asdf-system { - pname = "bodge-host"; - version = "stable-git"; - asds = [ "bodge-host" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-host/2021-12-09/bodge-host-stable-git.tgz"; - sha256 = "0piayirpbh91klrk3pg0g1vxhlk8yxvbr2wv923awdalwy0fn73n"; - system = "bodge-host"; - asd = "bodge-host"; - }); - systems = [ "bodge-host" ]; - lispLibs = [ (getAttr "bodge-concurrency" self) (getAttr "bodge-glfw" self) (getAttr "bodge-libc-essentials" self) (getAttr "bodge-math" self) (getAttr "bodge-utilities" self) (getAttr "cffi-c-ref" self) (getAttr "float-features" self) (getAttr "glfw-blob" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-libc-essentials = (build-asdf-system { - pname = "bodge-libc-essentials"; - version = "stable-git"; - asds = [ "bodge-libc-essentials" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-libc-essentials/2020-10-16/bodge-libc-essentials-stable-git.tgz"; - sha256 = "1nkjhkaap78xk9rkvnnnkchphiz0qwrsfp4jsvcl6mvv3rb4gp2k"; - system = "bodge-libc-essentials"; - asd = "bodge-libc-essentials"; - }); - systems = [ "bodge-libc-essentials" ]; - lispLibs = [ (getAttr "claw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-math = (build-asdf-system { - pname = "bodge-math"; - version = "stable-git"; - asds = [ "bodge-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-math/2020-10-16/bodge-math-stable-git.tgz"; - sha256 = "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"; - system = "bodge-math"; - asd = "bodge-math"; - }); - systems = [ "bodge-math" ]; - lispLibs = [ (getAttr "bodge-utilities" self) (getAttr "rtg-math" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-memory = (build-asdf-system { - pname = "bodge-memory"; - version = "stable-git"; - asds = [ "bodge-memory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-memory/2020-10-16/bodge-memory-stable-git.tgz"; - sha256 = "19fn3dw5z6f2kpar0jx7ysy5zvqjv7yv0ca7njgaam3p891yy2j9"; - system = "bodge-memory"; - asd = "bodge-memory"; - }); - systems = [ "bodge-memory" ]; - lispLibs = [ (getAttr "bodge-utilities" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-nanovg = (build-asdf-system { - pname = "bodge-nanovg"; - version = "stable-git"; - asds = [ "bodge-nanovg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-nanovg/2020-10-16/bodge-nanovg-stable-git.tgz"; - sha256 = "0cg4rlsddjrn0ps891n29xnd14xiis20ka5gafbz9npbj6nrc4v1"; - system = "bodge-nanovg"; - asd = "bodge-nanovg"; - }); - systems = [ "bodge-nanovg" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-c-ref" self) (getAttr "claw" self) (getAttr "claw-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-nuklear = (build-asdf-system { - pname = "bodge-nuklear"; - version = "stable-git"; - asds = [ "bodge-nuklear" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-nuklear/2020-10-16/bodge-nuklear-stable-git.tgz"; - sha256 = "15q89dz2zi99yyxhb90wyydy24y2lj5xm2mzh1mrw4v8rz9aqhc2"; - system = "bodge-nuklear"; - asd = "bodge-nuklear"; - }); - systems = [ "bodge-nuklear" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-c-ref" self) (getAttr "claw" self) (getAttr "claw-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-ode = (build-asdf-system { - pname = "bodge-ode"; - version = "stable-git"; - asds = [ "bodge-ode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-ode/2020-10-16/bodge-ode-stable-git.tgz"; - sha256 = "1c051ljn5x7ssysia7lil0ykjdnbx8dfkr45ck77plv39acgicbs"; - system = "bodge-ode"; - asd = "bodge-ode"; - }); - systems = [ "bodge-ode" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-c-ref" self) (getAttr "claw" self) (getAttr "claw-utils" self) (getAttr "float-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-openal = (build-asdf-system { - pname = "bodge-openal"; - version = "stable-git"; - asds = [ "bodge-openal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-openal/2020-10-16/bodge-openal-stable-git.tgz"; - sha256 = "0051pwifygj1ijv5b39ldmfrka2yrj8rpap04bw3w9cckbkp6bnw"; - system = "bodge-openal"; - asd = "bodge-openal"; - }); - systems = [ "bodge-openal" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "claw" self) (getAttr "claw-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-queue = (build-asdf-system { - pname = "bodge-queue"; - version = "stable-git"; - asds = [ "bodge-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-queue/2020-10-16/bodge-queue-stable-git.tgz"; - sha256 = "0f4252i8pfy5s4v7w1bpjawysn4cw7di405mqsx2h7skv27hvpz6"; - system = "bodge-queue"; - asd = "bodge-queue"; - }); - systems = [ "bodge-queue" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-sndfile = (build-asdf-system { - pname = "bodge-sndfile"; - version = "stable-git"; - asds = [ "bodge-sndfile" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-sndfile/2020-10-16/bodge-sndfile-stable-git.tgz"; - sha256 = "0chdasp4zvr5n34x037lhymh90wg5xwbpr5flwj8aw0cw2nlg485"; - system = "bodge-sndfile"; - asd = "bodge-sndfile"; - }); - systems = [ "bodge-sndfile" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bodge-libc-essentials" self) (getAttr "cffi" self) (getAttr "cffi-c-ref" self) (getAttr "claw" self) (getAttr "claw-utils" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bodge-utilities = (build-asdf-system { - pname = "bodge-utilities"; - version = "stable-git"; - asds = [ "bodge-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bodge-utilities/2022-07-07/bodge-utilities-stable-git.tgz"; - sha256 = "0jmz7zb5ahg2kfd5nrh9nb7dda5szamjv7iv9skgcvf7rwn8qf0g"; - system = "bodge-utilities"; - asd = "bodge-utilities"; - }); - systems = [ "bodge-utilities" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "claw" self) (getAttr "dissect" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "split-sequence" self) (getAttr "static-vectors" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bordeaux-fft = (build-asdf-system { - pname = "bordeaux-fft"; - version = "20150608-http"; - asds = [ "bordeaux-fft" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bordeaux-fft/2015-06-08/bordeaux-fft-20150608-http.tgz"; - sha256 = "0kmz0wv34p8wixph5i6vj6p60xa48fflh9aq6kismlb0q4a1amp3"; - system = "bordeaux-fft"; - asd = "bordeaux-fft"; - }); - systems = [ "bordeaux-fft" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bordeaux-threads = (build-asdf-system { - pname = "bordeaux-threads"; - version = "v0.9.4"; - asds = [ "bordeaux-threads" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bordeaux-threads/2024-10-12/bordeaux-threads-v0.9.4.tgz"; - sha256 = "1ds1aa3rd38hq5i1nwd9qi8icxmdag0shcwwsf7km91v9214385d"; - system = "bordeaux-threads"; - asd = "bordeaux-threads"; - }); - systems = [ "bordeaux-threads" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "global-vars" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - bourbaki = (build-asdf-system { - pname = "bourbaki"; - version = "20110110-http"; - asds = [ "bourbaki" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bourbaki/2011-01-10/bourbaki-20110110-http.tgz"; - sha256 = "0d222kjk1h60467bkjpxglds3gykily5pyrnb45yvx86shkiv4lp"; - system = "bourbaki"; - asd = "bourbaki"; - }); - systems = [ "bourbaki" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bp = (build-asdf-system { - pname = "bp"; - version = "20231021-git"; - asds = [ "bp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bp/2023-10-21/bp-20231021-git.tgz"; - sha256 = "1l58bf2fq0807id4cs39sajsfw0z7zz4gxb2vpcvfa9nxcbyziqx"; - system = "bp"; - asd = "bp"; - }); - systems = [ "bp" ]; - lispLibs = [ (getAttr "aserve" self) (getAttr "cffi" self) (getAttr "ironclad" self) (getAttr "jsown" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bst = (build-asdf-system { - pname = "bst"; - version = "20221106-git"; - asds = [ "bst" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bst/2022-11-06/bst-20221106-git.tgz"; - sha256 = "0y052jf3gkqhb7rfx72961kg42dnqhmizk7cxlv87d1jr2906d1d"; - system = "bst"; - asd = "bst"; - }); - systems = [ "bst" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bt-semaphore = (build-asdf-system { - pname = "bt-semaphore"; - version = "20180711-git"; - asds = [ "bt-semaphore" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bt-semaphore/2018-07-11/bt-semaphore-20180711-git.tgz"; - sha256 = "0rl7yp36225z975hg069pywwlpchwn4086cgxwsi2db5mhghpr7l"; - system = "bt-semaphore"; - asd = "bt-semaphore"; - }); - systems = [ "bt-semaphore" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bt-semaphore-test = (build-asdf-system { - pname = "bt-semaphore-test"; - version = "20180711-git"; - asds = [ "bt-semaphore-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bt-semaphore/2018-07-11/bt-semaphore-20180711-git.tgz"; - sha256 = "0rl7yp36225z975hg069pywwlpchwn4086cgxwsi2db5mhghpr7l"; - system = "bt-semaphore-test"; - asd = "bt-semaphore-test"; - }); - systems = [ "bt-semaphore-test" ]; - lispLibs = [ (getAttr "bt-semaphore" self) (getAttr "clunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - btrie = (build-asdf-system { - pname = "btrie"; - version = "20140713-git"; - asds = [ "btrie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/btrie/2014-07-13/btrie-20140713-git.tgz"; - sha256 = "0f1rs2zlpi2bcyba951h3cnyz2mfsxr2i6icmqbam5acqjdrmp30"; - system = "btrie"; - asd = "btrie"; - }); - systems = [ "btrie" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "lift" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - btrie-tests = (build-asdf-system { - pname = "btrie-tests"; - version = "20140713-git"; - asds = [ "btrie-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/btrie/2014-07-13/btrie-20140713-git.tgz"; - sha256 = "0f1rs2zlpi2bcyba951h3cnyz2mfsxr2i6icmqbam5acqjdrmp30"; - system = "btrie-tests"; - asd = "btrie"; - }); - systems = [ "btrie-tests" ]; - lispLibs = [ (getAttr "btrie" self) (getAttr "lift" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bubble-operator-upwards = (build-asdf-system { - pname = "bubble-operator-upwards"; - version = "1.1"; - asds = [ "bubble-operator-upwards" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bubble-operator-upwards/2023-10-21/bubble-operator-upwards_1.1.tgz"; - sha256 = "1k6rvhlx4z0xb460dyg6blvqkwxakvqxslky69ld8p2yni1qar5p"; - system = "bubble-operator-upwards"; - asd = "bubble-operator-upwards"; - }); - systems = [ "bubble-operator-upwards" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bubble-operator-upwards__tests = (build-asdf-system { - pname = "bubble-operator-upwards_tests"; - version = "1.1"; - asds = [ "bubble-operator-upwards_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bubble-operator-upwards/2023-10-21/bubble-operator-upwards_1.1.tgz"; - sha256 = "1k6rvhlx4z0xb460dyg6blvqkwxakvqxslky69ld8p2yni1qar5p"; - system = "bubble-operator-upwards_tests"; - asd = "bubble-operator-upwards_tests"; - }); - systems = [ "bubble-operator-upwards_tests" ]; - lispLibs = [ (getAttr "bubble-operator-upwards" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - buildapp = (build-asdf-system { - pname = "buildapp"; - version = "1.5.6"; - asds = [ "buildapp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildapp/2015-12-18/buildapp-1.5.6.tgz"; - sha256 = "020ipjfqa3l8skd97cj5kq837wgpj28ygfxnkv64cnjrlbnzh161"; - system = "buildapp"; - asd = "buildapp"; - }); - systems = [ "buildapp" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - buildnode = (build-asdf-system { - pname = "buildnode"; - version = "20170403-git"; - asds = [ "buildnode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode"; - asd = "buildnode"; - }); - systems = [ "buildnode" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "closure-html" self) (getAttr "collectors" self) (getAttr "cxml" self) (getAttr "flexi-streams" self) (getAttr "iterate" self) (getAttr "split-sequence" self) (getAttr "swank" self) (getAttr "symbol-munger" self) ]; - meta = {}; - }); - buildnode-excel = (build-asdf-system { - pname = "buildnode-excel"; - version = "20170403-git"; - asds = [ "buildnode-excel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode-excel"; - asd = "buildnode-excel"; - }); - systems = [ "buildnode-excel" ]; - lispLibs = [ (getAttr "buildnode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - buildnode-html5 = (build-asdf-system { - pname = "buildnode-html5"; - version = "20170403-git"; - asds = [ "buildnode-html5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode-html5"; - asd = "buildnode-html5"; - }); - systems = [ "buildnode-html5" ]; - lispLibs = [ (getAttr "buildnode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - buildnode-kml = (build-asdf-system { - pname = "buildnode-kml"; - version = "20170403-git"; - asds = [ "buildnode-kml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode-kml"; - asd = "buildnode-kml"; - }); - systems = [ "buildnode-kml" ]; - lispLibs = [ (getAttr "buildnode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - buildnode-test = (build-asdf-system { - pname = "buildnode-test"; - version = "20170403-git"; - asds = [ "buildnode-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode-test"; - asd = "buildnode"; - }); - systems = [ "buildnode-test" ]; - lispLibs = [ (getAttr "buildnode" self) (getAttr "buildnode-xhtml" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - buildnode-xhtml = (build-asdf-system { - pname = "buildnode-xhtml"; - version = "20170403-git"; - asds = [ "buildnode-xhtml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode-xhtml"; - asd = "buildnode-xhtml"; - }); - systems = [ "buildnode-xhtml" ]; - lispLibs = [ (getAttr "buildnode" self) ]; - meta = {}; - }); - buildnode-xul = (build-asdf-system { - pname = "buildnode-xul"; - version = "20170403-git"; - asds = [ "buildnode-xul" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; - sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; - system = "buildnode-xul"; - asd = "buildnode-xul"; - }); - systems = [ "buildnode-xul" ]; - lispLibs = [ (getAttr "buildnode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - burgled-batteries = (build-asdf-system { - pname = "burgled-batteries"; - version = "20160825-git"; - asds = [ "burgled-batteries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/burgled-batteries/2016-08-25/burgled-batteries-20160825-git.tgz"; - sha256 = "080ff1yrmfb87pqq1jqr35djjkh3fh8i6cbhv3d1md5qy7hhgdaj"; - system = "burgled-batteries"; - asd = "burgled-batteries"; - }); - systems = [ "burgled-batteries" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-fad" self) (getAttr "parse-declarations-1_dot_0" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - burgled-batteries-tests = (build-asdf-system { - pname = "burgled-batteries-tests"; - version = "20160825-git"; - asds = [ "burgled-batteries-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/burgled-batteries/2016-08-25/burgled-batteries-20160825-git.tgz"; - sha256 = "080ff1yrmfb87pqq1jqr35djjkh3fh8i6cbhv3d1md5qy7hhgdaj"; - system = "burgled-batteries-tests"; - asd = "burgled-batteries-tests"; - }); - systems = [ "burgled-batteries-tests" ]; - lispLibs = [ (getAttr "burgled-batteries" self) (getAttr "cl-quickcheck" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - burgled-batteries_dot_syntax = (build-asdf-system { - pname = "burgled-batteries.syntax"; - version = "20210531-git"; - asds = [ "burgled-batteries.syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/burgled-batteries.syntax/2021-05-31/burgled-batteries.syntax-20210531-git.tgz"; - sha256 = "1hx8w74cgx1qbk6r2p7lzygjqxs5mzxh7w73zrmdibny64akir9a"; - system = "burgled-batteries.syntax"; - asd = "burgled-batteries.syntax"; - }); - systems = [ "burgled-batteries.syntax" ]; - lispLibs = [ (getAttr "burgled-batteries" self) (getAttr "esrap" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - burgled-batteries_dot_syntax-test = (build-asdf-system { - pname = "burgled-batteries.syntax-test"; - version = "20210531-git"; - asds = [ "burgled-batteries.syntax-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/burgled-batteries.syntax/2021-05-31/burgled-batteries.syntax-20210531-git.tgz"; - sha256 = "1hx8w74cgx1qbk6r2p7lzygjqxs5mzxh7w73zrmdibny64akir9a"; - system = "burgled-batteries.syntax-test"; - asd = "burgled-batteries.syntax-test"; - }); - systems = [ "burgled-batteries.syntax-test" ]; - lispLibs = [ (getAttr "burgled-batteries_dot_syntax" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bus = (build-asdf-system { - pname = "bus"; - version = "master-fe503896-git"; - asds = [ "bus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "bus"; - asd = "bus"; - }); - systems = [ "bus" ]; - lispLibs = [ (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bytecurry_dot_asdf-ext = (build-asdf-system { - pname = "bytecurry.asdf-ext"; - version = "20150505-git"; - asds = [ "bytecurry.asdf-ext" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bytecurry.asdf-ext/2015-05-05/bytecurry.asdf-ext-20150505-git.tgz"; - sha256 = "07w2lz9mq35sgzzvmz9084l1sia40zkhlvfblkpzxfwyzr6cxrxa"; - system = "bytecurry.asdf-ext"; - asd = "bytecurry.asdf-ext"; - }); - systems = [ "bytecurry.asdf-ext" ]; - lispLibs = [ (getAttr "asdf-package-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - bytecurry_dot_mocks = (build-asdf-system { - pname = "bytecurry.mocks"; - version = "20200325-git"; - asds = [ "bytecurry.mocks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bytecurry.mocks/2020-03-25/bytecurry.mocks-20200325-git.tgz"; - sha256 = "0md2j6iggmfm1v7nzcmz7f0xy2jxrsg77iszpisdzmwnijfy8ks0"; - system = "bytecurry.mocks"; - asd = "bytecurry.mocks"; - }); - systems = [ "bytecurry.mocks" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "bytecurry_dot_asdf-ext" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - c2ffi-blob = (build-asdf-system { - pname = "c2ffi-blob"; - version = "stable-git"; - asds = [ "c2ffi-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/c2ffi-blob/2020-10-16/c2ffi-blob-stable-git.tgz"; - sha256 = "1rk89nycdvcb4a50zm3wdmrbz8w5xk4jgvjg2wib1dnslwnwdivc"; - system = "c2ffi-blob"; - asd = "c2ffi-blob"; - }); - systems = [ "c2ffi-blob" ]; - lispLibs = [ (getAttr "claw-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cacau = (build-asdf-system { - pname = "cacau"; - version = "20200610-git"; - asds = [ "cacau" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; - sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; - system = "cacau"; - asd = "cacau"; - }); - systems = [ "cacau" ]; - lispLibs = [ (getAttr "assertion-error" self) (getAttr "eventbus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cacau-asdf = (build-asdf-system { - pname = "cacau-asdf"; - version = "20200610-git"; - asds = [ "cacau-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; - sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; - system = "cacau-asdf"; - asd = "cacau-asdf"; - }); - systems = [ "cacau-asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cacau-examples-asdf-integration = (build-asdf-system { - pname = "cacau-examples-asdf-integration"; - version = "20200610-git"; - asds = [ "cacau-examples-asdf-integration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; - sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; - system = "cacau-examples-asdf-integration"; - asd = "cacau-examples-asdf-integration"; - }); - systems = [ "cacau-examples-asdf-integration" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cacau-examples-asdf-integration-test = (build-asdf-system { - pname = "cacau-examples-asdf-integration-test"; - version = "20200610-git"; - asds = [ "cacau-examples-asdf-integration-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; - sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; - system = "cacau-examples-asdf-integration-test"; - asd = "cacau-examples-asdf-integration-test"; - }); - systems = [ "cacau-examples-asdf-integration-test" ]; - lispLibs = [ (getAttr "assert-p" self) (getAttr "cacau" self) (getAttr "cacau-asdf" self) (getAttr "cacau-examples-asdf-integration" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cacau-test = (build-asdf-system { - pname = "cacau-test"; - version = "20200610-git"; - asds = [ "cacau-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; - sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; - system = "cacau-test"; - asd = "cacau-test"; - }); - systems = [ "cacau-test" ]; - lispLibs = [ (getAttr "assert-p" self) (getAttr "cacau" self) (getAttr "cacau-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cache-while = (build-asdf-system { - pname = "cache-while"; - version = "20210807-git"; - asds = [ "cache-while" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cache-while/2021-08-07/cache-while-20210807-git.tgz"; - sha256 = "1qil68rfn5irmkb0jk1f6g1zy80wgc3skl8cr4rfgh7ywgm5izx3"; - system = "cache-while"; - asd = "cache-while"; - }); - systems = [ "cache-while" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cacle = (build-asdf-system { - pname = "cacle"; - version = "20190521-git"; - asds = [ "cacle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cacle/2019-05-21/cacle-20190521-git.tgz"; - sha256 = "0h0dk0sfkfl8g0sbrs76ydb9l4znssqhx8nc5k1sg7zxpni5a4qy"; - system = "cacle"; - asd = "cacle"; - }); - systems = [ "cacle" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - calispel = (build-asdf-system { - pname = "calispel"; - version = "20170830-git"; - asds = [ "calispel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/calispel/2017-08-30/calispel-20170830-git.tgz"; - sha256 = "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"; - system = "calispel"; - asd = "calispel"; - }); - systems = [ "calispel" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "jpl-queues" self) (getAttr "jpl-util" self) ]; - meta = {}; - }); - calispel-test = (build-asdf-system { - pname = "calispel-test"; - version = "20170830-git"; - asds = [ "calispel-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/calispel/2017-08-30/calispel-20170830-git.tgz"; - sha256 = "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"; - system = "calispel-test"; - asd = "calispel"; - }); - systems = [ "calispel-test" ]; - lispLibs = [ (getAttr "calispel" self) (getAttr "eager-future2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - calm = (build-asdf-system { - pname = "calm"; - version = "20241012-git"; - asds = [ "calm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/calm/2024-10-12/calm-20241012-git.tgz"; - sha256 = "0c8d7aagx02cqk42pyj62hpqz3yarncigsw0g2ccc64sk74v67js"; - system = "calm"; - asd = "calm"; - }); - systems = [ "calm" ]; - lispLibs = [ (getAttr "bt-semaphore" self) (getAttr "cl-cairo2" self) (getAttr "cl-gobject-introspection" self) (getAttr "sdl2" self) (getAttr "sdl2-image" self) (getAttr "sdl2-mixer" self) (getAttr "str" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cambl = (build-asdf-system { - pname = "cambl"; - version = "20181210-git"; - asds = [ "cambl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz"; - sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"; - system = "cambl"; - asd = "cambl"; - }); - systems = [ "cambl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-containers" self) (getAttr "fprog" self) (getAttr "local-time" self) (getAttr "periods" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cambl-test = (build-asdf-system { - pname = "cambl-test"; - version = "20181210-git"; - asds = [ "cambl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz"; - sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"; - system = "cambl-test"; - asd = "cambl-test"; - }); - systems = [ "cambl-test" ]; - lispLibs = [ (getAttr "cambl" self) (getAttr "xlunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - camera-matrix = (build-asdf-system { - pname = "camera-matrix"; - version = "20200427-git"; - asds = [ "camera-matrix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "camera-matrix"; - asd = "camera-matrix"; - }); - systems = [ "camera-matrix" ]; - lispLibs = [ (getAttr "nsb-cga" self) (getAttr "uncommon-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - can = (build-asdf-system { - pname = "can"; - version = "20180328-git"; - asds = [ "can" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/can/2018-03-28/can-20180328-git.tgz"; - sha256 = "0m3lqc56aw46cj2z379a19fh7f1h0vaxn78xpvbxq3bwar46jzqh"; - system = "can"; - asd = "can"; - }); - systems = [ "can" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - can-test = (build-asdf-system { - pname = "can-test"; - version = "20180328-git"; - asds = [ "can-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/can/2018-03-28/can-20180328-git.tgz"; - sha256 = "0m3lqc56aw46cj2z379a19fh7f1h0vaxn78xpvbxq3bwar46jzqh"; - system = "can-test"; - asd = "can-test"; - }); - systems = [ "can-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "can" self) (getAttr "mito" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - canonicalized-initargs = (build-asdf-system { - pname = "canonicalized-initargs"; - version = "2.0"; - asds = [ "canonicalized-initargs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/canonicalized-initargs/2021-04-11/canonicalized-initargs_2.0.tgz"; - sha256 = "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq"; - system = "canonicalized-initargs"; - asd = "canonicalized-initargs"; - }); - systems = [ "canonicalized-initargs" ]; - lispLibs = [ (getAttr "cesdi" self) (getAttr "closer-mop" self) (getAttr "compatible-metaclasses" self) (getAttr "enhanced-defclass" self) (getAttr "enhanced-typep" self) (getAttr "object-class" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - canonicalized-initargs__tests = (build-asdf-system { - pname = "canonicalized-initargs_tests"; - version = "2.0"; - asds = [ "canonicalized-initargs_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/canonicalized-initargs/2021-04-11/canonicalized-initargs_2.0.tgz"; - sha256 = "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq"; - system = "canonicalized-initargs_tests"; - asd = "canonicalized-initargs_tests"; - }); - systems = [ "canonicalized-initargs_tests" ]; - lispLibs = [ (getAttr "canonicalized-initargs" self) (getAttr "enhanced-boolean" self) (getAttr "enhanced-eval-when" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - capstone = (build-asdf-system { - pname = "capstone"; - version = "20220331-git"; - asds = [ "capstone" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-capstone/2022-03-31/cl-capstone-20220331-git.tgz"; - sha256 = "1jbhp1sf7mr6yrqkdyjl93m1dl901ka6gkgdj20nv2bgp400ycmp"; - system = "capstone"; - asd = "capstone"; - }); - systems = [ "capstone" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "gt" self) (getAttr "static-vectors" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caramel = (build-asdf-system { - pname = "caramel"; - version = "20130420-git"; - asds = [ "caramel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caramel/2013-04-20/caramel-20130420-git.tgz"; - sha256 = "08kyjxd8hyk5xnnq0p0w4aqpvisv278h38pqjkz04a032dn5b87a"; - system = "caramel"; - asd = "caramel"; - }); - systems = [ "caramel" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "buildnode" self) (getAttr "closure-html" self) (getAttr "css-selectors" self) (getAttr "cxml" self) (getAttr "cxml-dom" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cardioex = (build-asdf-system { - pname = "cardioex"; - version = "20211020-git"; - asds = [ "cardioex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cardiogram/2021-10-20/cardiogram-20211020-git.tgz"; - sha256 = "08kqcj3c4vkx5s6ba9m67xh7w7paaavp2ds072crp1x7pjkh4n5i"; - system = "cardioex"; - asd = "cardioex"; - }); - systems = [ "cardioex" ]; - lispLibs = [ (getAttr "cardiogram" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cardiogram = (build-asdf-system { - pname = "cardiogram"; - version = "20211020-git"; - asds = [ "cardiogram" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cardiogram/2021-10-20/cardiogram-20211020-git.tgz"; - sha256 = "08kqcj3c4vkx5s6ba9m67xh7w7paaavp2ds072crp1x7pjkh4n5i"; - system = "cardiogram"; - asd = "cardiogram"; - }); - systems = [ "cardiogram" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cari3s = (build-asdf-system { - pname = "cari3s"; - version = "20231021-git"; - asds = [ "cari3s" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cari3s/2023-10-21/cari3s-20231021-git.tgz"; - sha256 = "1q977ykj4fb095ilr1x4g0nrhqmipcgmdxbxn4gmlksg457sb4lm"; - system = "cari3s"; - asd = "cari3s"; - }); - systems = [ "cari3s" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "closer-mop" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "documentation-utils" self) (getAttr "drakma" self) (getAttr "pango-markup" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - carrier = (build-asdf-system { - pname = "carrier"; - version = "20241012-git"; - asds = [ "carrier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/carrier/2024-10-12/carrier-20241012-git.tgz"; - sha256 = "04w6hzqqbcvi8niqj35xz098gjfg4pdv6fbihfbna3c5v7q59gr1"; - system = "carrier"; - asd = "carrier"; - }); - systems = [ "carrier" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "blackbird" self) (getAttr "cl-async" self) (getAttr "cl-async-ssl" self) (getAttr "cl-cookie" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cartesian-product-switch = (build-asdf-system { - pname = "cartesian-product-switch"; - version = "2.0"; - asds = [ "cartesian-product-switch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cartesian-product-switch/2012-09-09/cartesian-product-switch-2.0.tgz"; - sha256 = "18cxslj2753k6h666j0mmzg0h0z9l6ddi24gqls6h5d5svd7l3xk"; - system = "cartesian-product-switch"; - asd = "cartesian-product-switch"; - }); - systems = [ "cartesian-product-switch" ]; - lispLibs = [ (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman-middleware-dbimanager = (build-asdf-system { - pname = "caveman-middleware-dbimanager"; - version = "20241012-git"; - asds = [ "caveman-middleware-dbimanager" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; - sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; - system = "caveman-middleware-dbimanager"; - asd = "caveman-middleware-dbimanager"; - }); - systems = [ "caveman-middleware-dbimanager" ]; - lispLibs = [ (getAttr "dbi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2 = (build-asdf-system { - pname = "caveman2"; - version = "20241012-git"; - asds = [ "caveman2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; - sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; - system = "caveman2"; - asd = "caveman2"; - }); - systems = [ "caveman2" ]; - lispLibs = [ (getAttr "cl-project" self) (getAttr "cl-syntax-annot" self) (getAttr "dbi" self) (getAttr "lack-request" self) (getAttr "lack-response" self) (getAttr "myway" self) (getAttr "ningle" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2-db = (build-asdf-system { - pname = "caveman2-db"; - version = "20241012-git"; - asds = [ "caveman2-db" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; - sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; - system = "caveman2-db"; - asd = "caveman2-db"; - }); - systems = [ "caveman2-db" ]; - lispLibs = [ (getAttr "caveman-middleware-dbimanager" self) (getAttr "dbi" self) (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2-test = (build-asdf-system { - pname = "caveman2-test"; - version = "20241012-git"; - asds = [ "caveman2-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; - sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; - system = "caveman2-test"; - asd = "caveman2-test"; - }); - systems = [ "caveman2-test" ]; - lispLibs = [ (getAttr "caveman2" self) (getAttr "dexador" self) (getAttr "lack-component" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-types" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2-widgets = (build-asdf-system { - pname = "caveman2-widgets"; - version = "20180228-git"; - asds = [ "caveman2-widgets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman2-widgets/2018-02-28/caveman2-widgets-20180228-git.tgz"; - sha256 = "1rzb868m3f28z1hcr3nzlprgqqq1kwg3qyh24p36fv76b4g96wkq"; - system = "caveman2-widgets"; - asd = "caveman2-widgets"; - }); - systems = [ "caveman2-widgets" ]; - lispLibs = [ (getAttr "caveman2" self) (getAttr "moptilities" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2-widgets-bootstrap = (build-asdf-system { - pname = "caveman2-widgets-bootstrap"; - version = "20180228-git"; - asds = [ "caveman2-widgets-bootstrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman2-widgets-bootstrap/2018-02-28/caveman2-widgets-bootstrap-20180228-git.tgz"; - sha256 = "1xh3x7r7givxxyrkh4ngx098s35qz98gcz7yjyf4dp0psfkk65xj"; - system = "caveman2-widgets-bootstrap"; - asd = "caveman2-widgets-bootstrap"; - }); - systems = [ "caveman2-widgets-bootstrap" ]; - lispLibs = [ (getAttr "caveman2" self) (getAttr "caveman2-widgets" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2-widgets-bootstrap-test = (build-asdf-system { - pname = "caveman2-widgets-bootstrap-test"; - version = "20180228-git"; - asds = [ "caveman2-widgets-bootstrap-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman2-widgets-bootstrap/2018-02-28/caveman2-widgets-bootstrap-20180228-git.tgz"; - sha256 = "1xh3x7r7givxxyrkh4ngx098s35qz98gcz7yjyf4dp0psfkk65xj"; - system = "caveman2-widgets-bootstrap-test"; - asd = "caveman2-widgets-bootstrap-test"; - }); - systems = [ "caveman2-widgets-bootstrap-test" ]; - lispLibs = [ (getAttr "caveman2-widgets-bootstrap" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - caveman2-widgets-test = (build-asdf-system { - pname = "caveman2-widgets-test"; - version = "20180228-git"; - asds = [ "caveman2-widgets-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/caveman2-widgets/2018-02-28/caveman2-widgets-20180228-git.tgz"; - sha256 = "1rzb868m3f28z1hcr3nzlprgqqq1kwg3qyh24p36fv76b4g96wkq"; - system = "caveman2-widgets-test"; - asd = "caveman2-widgets-test"; - }); - systems = [ "caveman2-widgets-test" ]; - lispLibs = [ (getAttr "caveman2-widgets" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cblas = (build-asdf-system { - pname = "cblas"; - version = "20221106-git"; - asds = [ "cblas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cblas/2022-11-06/cl-cblas-20221106-git.tgz"; - sha256 = "1bd2w51r71pgm6sc6m2fms4j1bbnli023j4w3rbxw9cln0g7badp"; - system = "cblas"; - asd = "cblas"; - }); - systems = [ "cblas" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-autowrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cbor = (build-asdf-system { - pname = "cbor"; - version = "20241012-git"; - asds = [ "cbor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cbor/2024-10-12/cbor-20241012-git.tgz"; - sha256 = "0bkjfi449m651hbsm39dc9863mcry3ynz1j59wb2kl8zwxm1qg2r"; - system = "cbor"; - asd = "cbor"; - }); - systems = [ "cbor" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "ieee-floats" self) (getAttr "local-time" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ccl-compat = (build-asdf-system { - pname = "ccl-compat"; - version = "20171130-git"; - asds = [ "ccl-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ccl-compat/2017-11-30/ccl-compat-20171130-git.tgz"; - sha256 = "15402373wprmyx4l7zgpv64vj3c11xvxnnpzqbmq4j6rljpb40da"; - system = "ccl-compat"; - asd = "ccl-compat"; - }); - systems = [ "ccl-compat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ccldoc = (build-asdf-system { - pname = "ccldoc"; - version = "20241012-git"; - asds = [ "ccldoc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ccldoc/2024-10-12/ccldoc-20241012-git.tgz"; - sha256 = "15pc25pwnlg2lhzxniln53fr2i2cqa6fpr60nv4i1743x9ahp35l"; - system = "ccldoc"; - asd = "ccldoc"; - }); - systems = [ "ccldoc" ]; - lispLibs = [ (getAttr "ccl-compat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ccldoc-docbook = (build-asdf-system { - pname = "ccldoc-docbook"; - version = "20241012-git"; - asds = [ "ccldoc-docbook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ccldoc/2024-10-12/ccldoc-20241012-git.tgz"; - sha256 = "15pc25pwnlg2lhzxniln53fr2i2cqa6fpr60nv4i1743x9ahp35l"; - system = "ccldoc-docbook"; - asd = "ccldoc-docbook"; - }); - systems = [ "ccldoc-docbook" ]; - lispLibs = [ (getAttr "ccldoc" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ccldoc-libraries = (build-asdf-system { - pname = "ccldoc-libraries"; - version = "20241012-git"; - asds = [ "ccldoc-libraries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ccldoc/2024-10-12/ccldoc-20241012-git.tgz"; - sha256 = "15pc25pwnlg2lhzxniln53fr2i2cqa6fpr60nv4i1743x9ahp35l"; - system = "ccldoc-libraries"; - asd = "ccldoc-libraries"; - }); - systems = [ "ccldoc-libraries" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "s-xml" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ceigen-lite = (build-asdf-system { - pname = "ceigen-lite"; - version = "20241012-git"; - asds = [ "ceigen-lite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ceigen-lite/2024-10-12/cl-ceigen-lite-20241012-git.tgz"; - sha256 = "0k2b6x913mnv1f5712xvvv7d6j3lrja4isjg6cyad694py59d09q"; - system = "ceigen-lite"; - asd = "ceigen-lite"; - }); - systems = [ "ceigen-lite" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-autowrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cells = (build-asdf-system { - pname = "cells"; - version = "20230618-git"; - asds = [ "cells" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cells/2023-06-18/cells-20230618-git.tgz"; - sha256 = "1mh14g8x2mpb8qdngqxgnkawqbv4xxxr3bgn01jm5d6c8jn6ph3f"; - system = "cells"; - asd = "cells"; - }); - systems = [ "cells" ]; - lispLibs = [ (getAttr "utils-kt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cells-test = (build-asdf-system { - pname = "cells-test"; - version = "20230618-git"; - asds = [ "cells-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cells/2023-06-18/cells-20230618-git.tgz"; - sha256 = "1mh14g8x2mpb8qdngqxgnkawqbv4xxxr3bgn01jm5d6c8jn6ph3f"; - system = "cells-test"; - asd = "cells-test"; - }); - systems = [ "cells-test" ]; - lispLibs = [ (getAttr "cells" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cephes = (build-asdf-system { - pname = "cephes"; - version = "20241012-git"; - asds = [ "cephes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cephes.cl/2024-10-12/cephes.cl-20241012-git.tgz"; - sha256 = "1p0npidiy9zjb90gyihdmx0nmm87a5akph1jhs6y7z50fx8470hb"; - system = "cephes"; - asd = "cephes"; - }); - systems = [ "cephes" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl = (build-asdf-system { - pname = "cepl"; - version = "release-quicklisp-543c9fc1-git"; - asds = [ "cepl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl/2024-10-12/cepl-release-quicklisp-543c9fc1-git.tgz"; - sha256 = "0g5frci6ljmy6pyyrjhh2kw894l3fl3wsz27k75xw49cd8xm24mh"; - system = "cepl"; - asd = "cepl"; - }); - systems = [ "cepl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cepl_dot_build" self) (getAttr "cffi" self) (getAttr "cl-opengl" self) (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "float-features" self) (getAttr "ieee-floats" self) (getAttr "split-sequence" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_build = (build-asdf-system { - pname = "cepl.build"; - version = "release-quicklisp-543c9fc1-git"; - asds = [ "cepl.build" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl/2024-10-12/cepl-release-quicklisp-543c9fc1-git.tgz"; - sha256 = "0g5frci6ljmy6pyyrjhh2kw894l3fl3wsz27k75xw49cd8xm24mh"; - system = "cepl.build"; - asd = "cepl.build"; - }); - systems = [ "cepl.build" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_camera = (build-asdf-system { - pname = "cepl.camera"; - version = "release-quicklisp-1292212a-git"; - asds = [ "cepl.camera" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.camera/2018-02-28/cepl.camera-release-quicklisp-1292212a-git.tgz"; - sha256 = "0z73f95bxr2vn47g8qrvf9gzy1my25mkg7hl7kpib21yahfpzzvb"; - system = "cepl.camera"; - asd = "cepl.camera"; - }); - systems = [ "cepl.camera" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "cepl_dot_spaces" self) (getAttr "rtg-math" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_devil = (build-asdf-system { - pname = "cepl.devil"; - version = "release-quicklisp-ea5f8514-git"; - asds = [ "cepl.devil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.devil/2018-02-28/cepl.devil-release-quicklisp-ea5f8514-git.tgz"; - sha256 = "1b64vfjchkwppcp3j4krwx2x9nj29llisqy1yc9ncbnmi9xs38a0"; - system = "cepl.devil"; - asd = "cepl.devil"; - }); - systems = [ "cepl.devil" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "cl-devil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_drm-gbm = (build-asdf-system { - pname = "cepl.drm-gbm"; - version = "20190521-git"; - asds = [ "cepl.drm-gbm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.drm-gbm/2019-05-21/cepl.drm-gbm-20190521-git.tgz"; - sha256 = "00csd2f6z13rjqipaf02w87phn2xynmzf1jcrrshbibs204m4nmy"; - system = "cepl.drm-gbm"; - asd = "cepl.drm-gbm"; - }); - systems = [ "cepl.drm-gbm" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "cl-drm" self) (getAttr "cl-egl" self) (getAttr "cl-gbm" self) (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_glop = (build-asdf-system { - pname = "cepl.glop"; - version = "release-quicklisp-8ec09801-git"; - asds = [ "cepl.glop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.glop/2018-02-28/cepl.glop-release-quicklisp-8ec09801-git.tgz"; - sha256 = "1dq727v2s22yna6ycxxs79pg13b0cyh1lfrk6hsb6vizgiks20jw"; - system = "cepl.glop"; - asd = "cepl.glop"; - }); - systems = [ "cepl.glop" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "glop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_sdl2 = (build-asdf-system { - pname = "cepl.sdl2"; - version = "release-quicklisp-6da5a030-git"; - asds = [ "cepl.sdl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.sdl2/2018-02-28/cepl.sdl2-release-quicklisp-6da5a030-git.tgz"; - sha256 = "0lz8yxm1g2ch0w779lhrs2xkfciy3iz6viz7cdgyd2824isvinjf"; - system = "cepl.sdl2"; - asd = "cepl.sdl2"; - }); - systems = [ "cepl.sdl2" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "sdl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_sdl2-image = (build-asdf-system { - pname = "cepl.sdl2-image"; - version = "release-quicklisp-94a77649-git"; - asds = [ "cepl.sdl2-image" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.sdl2-image/2018-02-28/cepl.sdl2-image-release-quicklisp-94a77649-git.tgz"; - sha256 = "16dzjk2q658xr1v9rk2iny70rjhxbgi4lcp59s5mkdfs2k3a2637"; - system = "cepl.sdl2-image"; - asd = "cepl.sdl2-image"; - }); - systems = [ "cepl.sdl2-image" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "sdl2" self) (getAttr "sdl2-image" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_sdl2-ttf = (build-asdf-system { - pname = "cepl.sdl2-ttf"; - version = "release-quicklisp-11b498a3-git"; - asds = [ "cepl.sdl2-ttf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.sdl2-ttf/2018-01-31/cepl.sdl2-ttf-release-quicklisp-11b498a3-git.tgz"; - sha256 = "1fxj3rdv2rlyks00h18dpd42xywgnydgyvb1s4d67hjk7fl19a5p"; - system = "cepl.sdl2-ttf"; - asd = "cepl.sdl2-ttf"; - }); - systems = [ "cepl.sdl2-ttf" ]; - lispLibs = [ (getAttr "cepl_dot_sdl2" self) (getAttr "rtg-math" self) (getAttr "sdl2-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_skitter_dot_glop = (build-asdf-system { - pname = "cepl.skitter.glop"; - version = "release-quicklisp-f52b9240-git"; - asds = [ "cepl.skitter.glop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.skitter/2018-02-28/cepl.skitter-release-quicklisp-f52b9240-git.tgz"; - sha256 = "1xz53q8klzrd7cr586jd16pypxgpy68vlvfirqhlv6jc7k99sjvs"; - system = "cepl.skitter.glop"; - asd = "cepl.skitter.glop"; - }); - systems = [ "cepl.skitter.glop" ]; - lispLibs = [ (getAttr "cepl_dot_glop" self) (getAttr "skitter_dot_glop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_skitter_dot_sdl2 = (build-asdf-system { - pname = "cepl.skitter.sdl2"; - version = "release-quicklisp-f52b9240-git"; - asds = [ "cepl.skitter.sdl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.skitter/2018-02-28/cepl.skitter-release-quicklisp-f52b9240-git.tgz"; - sha256 = "1xz53q8klzrd7cr586jd16pypxgpy68vlvfirqhlv6jc7k99sjvs"; - system = "cepl.skitter.sdl2"; - asd = "cepl.skitter.sdl2"; - }); - systems = [ "cepl.skitter.sdl2" ]; - lispLibs = [ (getAttr "cepl_dot_sdl2" self) (getAttr "skitter_dot_sdl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cepl_dot_spaces = (build-asdf-system { - pname = "cepl.spaces"; - version = "release-quicklisp-c7f83f26-git"; - asds = [ "cepl.spaces" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cepl.spaces/2018-03-28/cepl.spaces-release-quicklisp-c7f83f26-git.tgz"; - sha256 = "0z74ipd4j2spjwl6h625azdczpds3v44iin77q685ldx9rwx3k8y"; - system = "cepl.spaces"; - asd = "cepl.spaces"; - }); - systems = [ "cepl.spaces" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "documentation-utils" self) (getAttr "fn" self) (getAttr "rtg-math" self) (getAttr "rtg-math_dot_vari" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ceramic = (build-asdf-system { - pname = "ceramic"; - version = "20210807-git"; - asds = [ "ceramic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ceramic/2021-08-07/ceramic-20210807-git.tgz"; - sha256 = "0hd553gj4cwmli45pfwhqpz7sg6kzn31iv8akaxr5ba3hssa1aap"; - system = "ceramic"; - asd = "ceramic"; - }); - systems = [ "ceramic" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "clack-handler-hunchentoot" self) (getAttr "copy-directory" self) (getAttr "electron-tools" self) (getAttr "external-program" self) (getAttr "remote-js" self) (getAttr "trivial-build" self) (getAttr "trivial-compress" self) (getAttr "trivial-download" self) (getAttr "trivial-exe" self) (getAttr "trivial-extract" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ceramic-test-app = (build-asdf-system { - pname = "ceramic-test-app"; - version = "20210807-git"; - asds = [ "ceramic-test-app" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ceramic/2021-08-07/ceramic-20210807-git.tgz"; - sha256 = "0hd553gj4cwmli45pfwhqpz7sg6kzn31iv8akaxr5ba3hssa1aap"; - system = "ceramic-test-app"; - asd = "ceramic-test-app"; - }); - systems = [ "ceramic-test-app" ]; - lispLibs = [ (getAttr "ceramic" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cerberus = (build-asdf-system { - pname = "cerberus"; - version = "20241012-git"; - asds = [ "cerberus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cerberus/2024-10-12/cerberus-20241012-git.tgz"; - sha256 = "131x0raccj5majd72hmmlp67dsj2zdizm2xzdhw6s0jbxjbhdgfs"; - system = "cerberus"; - asd = "cerberus"; - }); - systems = [ "cerberus" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "flexi-streams" self) (getAttr "glass" self) (getAttr "ironclad" self) (getAttr "nibbles" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cerberus-kdc = (build-asdf-system { - pname = "cerberus-kdc"; - version = "20241012-git"; - asds = [ "cerberus-kdc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cerberus/2024-10-12/cerberus-20241012-git.tgz"; - sha256 = "131x0raccj5majd72hmmlp67dsj2zdizm2xzdhw6s0jbxjbhdgfs"; - system = "cerberus-kdc"; - asd = "cerberus"; - }); - systems = [ "cerberus-kdc" ]; - lispLibs = [ (getAttr "cerberus" self) (getAttr "frpc" self) (getAttr "pounds" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cesdi = (build-asdf-system { - pname = "cesdi"; - version = "1.0.1"; - asds = [ "cesdi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cesdi/2020-07-15/cesdi_1.0.1.tgz"; - sha256 = "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9"; - system = "cesdi"; - asd = "cesdi"; - }); - systems = [ "cesdi" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cesdi__tests = (build-asdf-system { - pname = "cesdi_tests"; - version = "1.0.1"; - asds = [ "cesdi_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cesdi/2020-07-15/cesdi_1.0.1.tgz"; - sha256 = "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9"; - system = "cesdi_tests"; - asd = "cesdi_tests"; - }); - systems = [ "cesdi_tests" ]; - lispLibs = [ (getAttr "cesdi" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cf = (build-asdf-system { - pname = "cf"; - version = "20241012-git"; - asds = [ "cf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cf/2024-10-12/cl-cf-20241012-git.tgz"; - sha256 = "1w4asb8v81q2rf8fhhq88c2ib4ax5fbm0655kvdpfvkz1457yi25"; - system = "cf"; - asd = "cf"; - }); - systems = [ "cf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cf-tests = (build-asdf-system { - pname = "cf-tests"; - version = "20241012-git"; - asds = [ "cf-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cf/2024-10-12/cl-cf-20241012-git.tgz"; - sha256 = "1w4asb8v81q2rf8fhhq88c2ib4ax5fbm0655kvdpfvkz1457yi25"; - system = "cf-tests"; - asd = "cf-tests"; - }); - systems = [ "cf-tests" ]; - lispLibs = [ (getAttr "cf" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi = (build-asdf-system { - pname = "cffi"; - version = "20241012-git"; - asds = [ "cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi"; - asd = "cffi"; - }); - systems = [ "cffi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - cffi-c-ref = (build-asdf-system { - pname = "cffi-c-ref"; - version = "stable-git"; - asds = [ "cffi-c-ref" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi-c-ref/2020-10-16/cffi-c-ref-stable-git.tgz"; - sha256 = "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"; - system = "cffi-c-ref"; - asd = "cffi-c-ref"; - }); - systems = [ "cffi-c-ref" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-examples = (build-asdf-system { - pname = "cffi-examples"; - version = "20241012-git"; - asds = [ "cffi-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi-examples"; - asd = "cffi-examples"; - }); - systems = [ "cffi-examples" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-grovel = (build-asdf-system { - pname = "cffi-grovel"; - version = "20241012-git"; - asds = [ "cffi-grovel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi-grovel"; - asd = "cffi-grovel"; - }); - systems = [ "cffi-grovel" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-toolchain" self) ]; - meta = {}; - }); - cffi-libffi = (build-asdf-system { - pname = "cffi-libffi"; - version = "20241012-git"; - asds = [ "cffi-libffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi-libffi"; - asd = "cffi-libffi"; - }); - systems = [ "cffi-libffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-object = (build-asdf-system { - pname = "cffi-object"; - version = "20241012-git"; - asds = [ "cffi-object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi-object/2024-10-12/cffi-object-20241012-git.tgz"; - sha256 = "0hdxy2lqf0q04j57y6plnlh2v6w7y7prsypxk9f4vdlnp2ah3lln"; - system = "cffi-object"; - asd = "cffi-object"; - }); - systems = [ "cffi-object" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-object_dot_ops = (build-asdf-system { - pname = "cffi-object.ops"; - version = "20241012-git"; - asds = [ "cffi-object.ops" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi-object/2024-10-12/cffi-object-20241012-git.tgz"; - sha256 = "0hdxy2lqf0q04j57y6plnlh2v6w7y7prsypxk9f4vdlnp2ah3lln"; - system = "cffi-object.ops"; - asd = "cffi-object.ops"; - }); - systems = [ "cffi-object.ops" ]; - lispLibs = [ (getAttr "cffi-object" self) (getAttr "cffi-ops" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-ops = (build-asdf-system { - pname = "cffi-ops"; - version = "20241012-git"; - asds = [ "cffi-ops" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi-ops/2024-10-12/cffi-ops-20241012-git.tgz"; - sha256 = "0hi3svwfb7m1wq892wlrsgj52jkh3x6msnimax28221baj6g64gg"; - system = "cffi-ops"; - asd = "cffi-ops"; - }); - systems = [ "cffi-ops" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arrow-macros" self) (getAttr "cffi" self) (getAttr "trivial-macroexpand-all" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-tests = (build-asdf-system { - pname = "cffi-tests"; - version = "20241012-git"; - asds = [ "cffi-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi-tests"; - asd = "cffi-tests"; - }); - systems = [ "cffi-tests" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi-grovel" self) (getAttr "cffi-libffi" self) (getAttr "rt" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cffi-toolchain = (build-asdf-system { - pname = "cffi-toolchain"; - version = "20241012-git"; - asds = [ "cffi-toolchain" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi-toolchain"; - asd = "cffi-toolchain"; - }); - systems = [ "cffi-toolchain" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = {}; - }); - cffi-uffi-compat = (build-asdf-system { - pname = "cffi-uffi-compat"; - version = "20241012-git"; - asds = [ "cffi-uffi-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; - sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; - system = "cffi-uffi-compat"; - asd = "cffi-uffi-compat"; - }); - systems = [ "cffi-uffi-compat" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = {}; - }); - chain = (build-asdf-system { - pname = "chain"; - version = "20211209-git"; - asds = [ "chain" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chain/2021-12-09/chain-20211209-git.tgz"; - sha256 = "0x8b2cbp1xq61fpbk0mqwbksnfynlgai3782rafsywka8rgfhmjh"; - system = "chain"; - asd = "chain"; - }); - systems = [ "chain" ]; - lispLibs = [ (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chameleon = (build-asdf-system { - pname = "chameleon"; - version = "v2.1.1"; - asds = [ "chameleon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chameleon/2022-02-20/chameleon-v2.1.1.tgz"; - sha256 = "1bqminvhx3hlqzxvy2a105gm9d2dxl5cy6ls5rm9wmkvw7gyza6c"; - system = "chameleon"; - asd = "chameleon"; - }); - systems = [ "chameleon" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chancery = (build-asdf-system { - pname = "chancery"; - version = "20201016-hg"; - asds = [ "chancery" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chancery/2020-10-16/chancery-20201016-hg.tgz"; - sha256 = "1g0jgrih7q14gizy481j9z2s15pmv6iwymnpddbyqfja9miv61lw"; - system = "chancery"; - asd = "chancery"; - }); - systems = [ "chancery" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chancery_dot_test = (build-asdf-system { - pname = "chancery.test"; - version = "20201016-hg"; - asds = [ "chancery.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chancery/2020-10-16/chancery-20201016-hg.tgz"; - sha256 = "1g0jgrih7q14gizy481j9z2s15pmv6iwymnpddbyqfja9miv61lw"; - system = "chancery.test"; - asd = "chancery.test"; - }); - systems = [ "chancery.test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "chancery" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - changed-stream = (build-asdf-system { - pname = "changed-stream"; - version = "20130128-git"; - asds = [ "changed-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/changed-stream/2013-01-28/changed-stream-20130128-git.tgz"; - sha256 = "1cll7xclg9jr55swhi3g6z567bxvb9kmljh67091xazcfacz732i"; - system = "changed-stream"; - asd = "changed-stream"; - }); - systems = [ "changed-stream" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - changed-stream_dot_test = (build-asdf-system { - pname = "changed-stream.test"; - version = "20130128-git"; - asds = [ "changed-stream.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/changed-stream/2013-01-28/changed-stream-20130128-git.tgz"; - sha256 = "1cll7xclg9jr55swhi3g6z567bxvb9kmljh67091xazcfacz732i"; - system = "changed-stream.test"; - asd = "changed-stream.test"; - }); - systems = [ "changed-stream.test" ]; - lispLibs = [ (getAttr "changed-stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chanl = (build-asdf-system { - pname = "chanl"; - version = "20241012-git"; - asds = [ "chanl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chanl/2024-10-12/chanl-20241012-git.tgz"; - sha256 = "1gyvsajvqjzfmcbccnysw7qyvhyqdlfcwl57lhsfwz9gif50y1fw"; - system = "chanl"; - asd = "chanl"; - }); - systems = [ "chanl" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = {}; - }); - character-modifier-bits = (build-asdf-system { - pname = "character-modifier-bits"; - version = "20200427-git"; - asds = [ "character-modifier-bits" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "character-modifier-bits"; - asd = "character-modifier-bits"; - }); - systems = [ "character-modifier-bits" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - charje_dot_documentation = (build-asdf-system { - pname = "charje.documentation"; - version = "20241012-git"; - asds = [ "charje.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/charje.documentation/2024-10-12/charje.documentation-20241012-git.tgz"; - sha256 = "0rdfi4sj5ad6krwypmsr934ic6y5xlj6iixdwwxrxj9fihfq47zb"; - system = "charje.documentation"; - asd = "charje.documentation"; - }); - systems = [ "charje.documentation" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cheat-js = (build-asdf-system { - pname = "cheat-js"; - version = "20121013-git"; - asds = [ "cheat-js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cheat-js/2012-10-13/cheat-js-20121013-git.tgz"; - sha256 = "1h73kx0iii4y4gslz6f8kvf980bnypsras6xj38apm0fcwm93w03"; - system = "cheat-js"; - asd = "cheat-js"; - }); - systems = [ "cheat-js" ]; - lispLibs = [ (getAttr "cl-uglify-js" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - check-bnf = (build-asdf-system { - pname = "check-bnf"; - version = "20220707-git"; - asds = [ "check-bnf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/check-bnf/2022-07-07/check-bnf-20220707-git.tgz"; - sha256 = "1dpp0xzj51a7fg9yw0xsipnsa54xj1axvkk55n0yxq9yv9ih3rb0"; - system = "check-bnf"; - asd = "check-bnf"; - }); - systems = [ "check-bnf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "matrix-case" self) (getAttr "millet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - check-bnf_dot_test = (build-asdf-system { - pname = "check-bnf.test"; - version = "20220707-git"; - asds = [ "check-bnf.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/check-bnf/2022-07-07/check-bnf-20220707-git.tgz"; - sha256 = "1dpp0xzj51a7fg9yw0xsipnsa54xj1axvkk55n0yxq9yv9ih3rb0"; - system = "check-bnf.test"; - asd = "check-bnf.test"; - }); - systems = [ "check-bnf.test" ]; - lispLibs = [ (getAttr "check-bnf" self) (getAttr "jingoh" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - check-it = (build-asdf-system { - pname = "check-it"; - version = "20150709-git"; - asds = [ "check-it" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/check-it/2015-07-09/check-it-20150709-git.tgz"; - sha256 = "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"; - system = "check-it"; - asd = "check-it"; - }); - systems = [ "check-it" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "optima" self) ]; - meta = {}; - }); - check-it-test = (build-asdf-system { - pname = "check-it-test"; - version = "20150709-git"; - asds = [ "check-it-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/check-it/2015-07-09/check-it-20150709-git.tgz"; - sha256 = "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"; - system = "check-it-test"; - asd = "check-it"; - }); - systems = [ "check-it-test" ]; - lispLibs = [ (getAttr "check-it" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - checkl = (build-asdf-system { - pname = "checkl"; - version = "20180328-git"; - asds = [ "checkl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz"; - sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"; - system = "checkl"; - asd = "checkl"; - }); - systems = [ "checkl" ]; - lispLibs = [ (getAttr "marshal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - checkl-docs = (build-asdf-system { - pname = "checkl-docs"; - version = "20180328-git"; - asds = [ "checkl-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz"; - sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"; - system = "checkl-docs"; - asd = "checkl-docs"; - }); - systems = [ "checkl-docs" ]; - lispLibs = [ (getAttr "checkl" self) (getAttr "cl-gendoc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - checkl-test = (build-asdf-system { - pname = "checkl-test"; - version = "20180328-git"; - asds = [ "checkl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz"; - sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"; - system = "checkl-test"; - asd = "checkl-test"; - }); - systems = [ "checkl-test" ]; - lispLibs = [ (getAttr "checkl" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chemical-compounds = (build-asdf-system { - pname = "chemical-compounds"; - version = "1.0.2"; - asds = [ "chemical-compounds" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chemical-compounds/2011-10-01/chemical-compounds-1.0.2.tgz"; - sha256 = "047z1lab08y4nsb32rnzqfpb6akyhibzjgmmr1bnwrh9pmhv3s2k"; - system = "chemical-compounds"; - asd = "chemical-compounds"; - }); - systems = [ "chemical-compounds" ]; - lispLibs = [ (getAttr "periodic-table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chillax = (build-asdf-system { - pname = "chillax"; - version = "20150302-git"; - asds = [ "chillax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; - sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; - system = "chillax"; - asd = "chillax"; - }); - systems = [ "chillax" ]; - lispLibs = [ (getAttr "chillax_dot_core" self) (getAttr "chillax_dot_yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chillax_dot_core = (build-asdf-system { - pname = "chillax.core"; - version = "20150302-git"; - asds = [ "chillax.core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; - sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; - system = "chillax.core"; - asd = "chillax.core"; - }); - systems = [ "chillax.core" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chillax_dot_jsown = (build-asdf-system { - pname = "chillax.jsown"; - version = "20150302-git"; - asds = [ "chillax.jsown" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; - sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; - system = "chillax.jsown"; - asd = "chillax.jsown"; - }); - systems = [ "chillax.jsown" ]; - lispLibs = [ (getAttr "chillax_dot_core" self) (getAttr "jsown" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chillax_dot_view-server = (build-asdf-system { - pname = "chillax.view-server"; - version = "20150302-git"; - asds = [ "chillax.view-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; - sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; - system = "chillax.view-server"; - asd = "chillax.view-server"; - }); - systems = [ "chillax.view-server" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chillax_dot_yason = (build-asdf-system { - pname = "chillax.yason"; - version = "20150302-git"; - asds = [ "chillax.yason" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; - sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; - system = "chillax.yason"; - asd = "chillax.yason"; - }); - systems = [ "chillax.yason" ]; - lispLibs = [ (getAttr "chillax_dot_core" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chipi = (build-asdf-system { - pname = "chipi"; - version = "20241012-git"; - asds = [ "chipi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chipi/2024-10-12/chipi-20241012-git.tgz"; - sha256 = "0xpfclvl5v031cjnjvr3bcfc87rayw624m9yrw35f5r31p8m283g"; - system = "chipi"; - asd = "chipi"; - }); - systems = [ "chipi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "binding-arrows" self) (getAttr "cl-cron" self) (getAttr "drakma" self) (getAttr "local-time" self) (getAttr "parse-float" self) (getAttr "sento" self) (getAttr "timer-wheel" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chipi-web = (build-asdf-system { - pname = "chipi-web"; - version = "20241012-git"; - asds = [ "chipi-web" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chipi/2024-10-12/chipi-20241012-git.tgz"; - sha256 = "0xpfclvl5v031cjnjvr3bcfc87rayw624m9yrw35f5r31p8m283g"; - system = "chipi-web"; - asd = "chipi-web"; - }); - systems = [ "chipi-web" ]; - lispLibs = [ (getAttr "chipi" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "marshal" self) (getAttr "snooze" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chipmunk-blob = (build-asdf-system { - pname = "chipmunk-blob"; - version = "stable-git"; - asds = [ "chipmunk-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chipmunk-blob/2020-10-16/chipmunk-blob-stable-git.tgz"; - sha256 = "0kdi1al1cn90hzjfnjhkxp3k5ibp6l73k3m04mkpzkzpjy7jc80d"; - system = "chipmunk-blob"; - asd = "chipmunk-blob"; - }); - systems = [ "chipmunk-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chipz = (build-asdf-system { - pname = "chipz"; - version = "20230618-git"; - asds = [ "chipz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chipz/2023-06-18/chipz-20230618-git.tgz"; - sha256 = "04ysl1lz47dd8p1cbm637kpyf84hl74xvcdpqhdyxwh4n97csm5h"; - system = "chipz"; - asd = "chipz"; - }); - systems = [ "chipz" ]; - lispLibs = [ ]; - meta = {}; - }); - chirp = (build-asdf-system { - pname = "chirp"; - version = "20231021-git"; - asds = [ "chirp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; - sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; - system = "chirp"; - asd = "chirp"; - }); - systems = [ "chirp" ]; - lispLibs = [ (getAttr "chirp-drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chirp-core = (build-asdf-system { - pname = "chirp-core"; - version = "20231021-git"; - asds = [ "chirp-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; - sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; - system = "chirp-core"; - asd = "chirp-core"; - }); - systems = [ "chirp-core" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "local-time" self) (getAttr "split-sequence" self) (getAttr "uuid" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chirp-dexador = (build-asdf-system { - pname = "chirp-dexador"; - version = "20231021-git"; - asds = [ "chirp-dexador" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; - sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; - system = "chirp-dexador"; - asd = "chirp-dexador"; - }); - systems = [ "chirp-dexador" ]; - lispLibs = [ (getAttr "chirp-core" self) (getAttr "dexador" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chirp-drakma = (build-asdf-system { - pname = "chirp-drakma"; - version = "20231021-git"; - asds = [ "chirp-drakma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; - sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; - system = "chirp-drakma"; - asd = "chirp-drakma"; - }); - systems = [ "chirp-drakma" ]; - lispLibs = [ (getAttr "chirp-core" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chlorophyll = (build-asdf-system { - pname = "chlorophyll"; - version = "20231021-git"; - asds = [ "chlorophyll" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chlorophyll/2023-10-21/chlorophyll-20231021-git.tgz"; - sha256 = "0q681pbcx4vcshrlligd5h07kakbjprb0kpf48z4glswy59vg8mg"; - system = "chlorophyll"; - asd = "chlorophyll"; - }); - systems = [ "chlorophyll" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chlorophyll-test = (build-asdf-system { - pname = "chlorophyll-test"; - version = "20231021-git"; - asds = [ "chlorophyll-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chlorophyll/2023-10-21/chlorophyll-20231021-git.tgz"; - sha256 = "0q681pbcx4vcshrlligd5h07kakbjprb0kpf48z4glswy59vg8mg"; - system = "chlorophyll-test"; - asd = "chlorophyll-test"; - }); - systems = [ "chlorophyll-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "chlorophyll" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chrome-native-messaging = (build-asdf-system { - pname = "chrome-native-messaging"; - version = "20150302-git"; - asds = [ "chrome-native-messaging" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chrome-native-messaging/2015-03-02/chrome-native-messaging-20150302-git.tgz"; - sha256 = "1fw02w5brpwa0kl7sx5b13fbcfv1ny8rwcj11ayj2q528i2xmpx5"; - system = "chrome-native-messaging"; - asd = "chrome-native-messaging"; - }); - systems = [ "chrome-native-messaging" ]; - lispLibs = [ (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chronicity = (build-asdf-system { - pname = "chronicity"; - version = "20190202-git"; - asds = [ "chronicity" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chronicity/2019-02-02/chronicity-20190202-git.tgz"; - sha256 = "1h5dlgvccffd8sqszqwilscysklzfcp374zl48rq14ywgv3rnwhl"; - system = "chronicity"; - asd = "chronicity"; - }); - systems = [ "chronicity" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chronicity-test = (build-asdf-system { - pname = "chronicity-test"; - version = "20190202-git"; - asds = [ "chronicity-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chronicity/2019-02-02/chronicity-20190202-git.tgz"; - sha256 = "1h5dlgvccffd8sqszqwilscysklzfcp374zl48rq14ywgv3rnwhl"; - system = "chronicity-test"; - asd = "chronicity-test"; - }); - systems = [ "chronicity-test" ]; - lispLibs = [ (getAttr "chronicity" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chtml-matcher = (build-asdf-system { - pname = "chtml-matcher"; - version = "20111001-git"; - asds = [ "chtml-matcher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chtml-matcher/2011-10-01/chtml-matcher-20111001-git.tgz"; - sha256 = "1q1ksy2w0c4dcmq8543scl11x4crh1m5w29p1wjpqhxk826jx7fd"; - system = "chtml-matcher"; - asd = "chtml-matcher"; - }); - systems = [ "chtml-matcher" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closure-html" self) (getAttr "f-underscore" self) (getAttr "stdutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - chunga = (build-asdf-system { - pname = "chunga"; - version = "20241012-git"; - asds = [ "chunga" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/chunga/2024-10-12/chunga-20241012-git.tgz"; - sha256 = "17jswsp31dh1jpg2n60nn34wxf4z6vvxjq1avy50z9fnzywvikyi"; - system = "chunga"; - asd = "chunga"; - }); - systems = [ "chunga" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - ci-utils = (build-asdf-system { - pname = "ci-utils"; - version = "20241012-git"; - asds = [ "ci-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ci-utils/2024-10-12/ci-utils-20241012-git.tgz"; - sha256 = "1wrr1v2r7kd668hyz54x28xh153l2qkl1gra3bk4wmqi3x7xyxdg"; - system = "ci-utils"; - asd = "ci-utils"; - }); - systems = [ "ci-utils" ]; - lispLibs = [ (getAttr "ci-utils-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ci-utils-features = (build-asdf-system { - pname = "ci-utils-features"; - version = "20241012-git"; - asds = [ "ci-utils-features" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ci-utils/2024-10-12/ci-utils-20241012-git.tgz"; - sha256 = "1wrr1v2r7kd668hyz54x28xh153l2qkl1gra3bk4wmqi3x7xyxdg"; - system = "ci-utils-features"; - asd = "ci-utils-features"; - }); - systems = [ "ci-utils-features" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ciao = (build-asdf-system { - pname = "ciao"; - version = "20241012-git"; - asds = [ "ciao" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ciao/2024-10-12/ciao-20241012-git.tgz"; - sha256 = "1x443k02kl5iyq6awv2vqm08d9x9f92hjivqv2c5xdamki7y513s"; - system = "ciao"; - asd = "ciao"; - }); - systems = [ "ciao" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "dexador" self) (getAttr "hunchentoot" self) (getAttr "trivial-open-browser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - circular-streams = (build-asdf-system { - pname = "circular-streams"; - version = "20161204-git"; - asds = [ "circular-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz"; - sha256 = "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"; - system = "circular-streams"; - asd = "circular-streams"; - }); - systems = [ "circular-streams" ]; - lispLibs = [ (getAttr "fast-io" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - circular-streams-test = (build-asdf-system { - pname = "circular-streams-test"; - version = "20161204-git"; - asds = [ "circular-streams-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz"; - sha256 = "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"; - system = "circular-streams-test"; - asd = "circular-streams-test"; - }); - systems = [ "circular-streams-test" ]; - lispLibs = [ (getAttr "circular-streams" self) (getAttr "cl-test-more" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - city-hash = (build-asdf-system { - pname = "city-hash"; - version = "20200925-git"; - asds = [ "city-hash" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/city-hash/2020-09-25/city-hash-20200925-git.tgz"; - sha256 = "10ksl402aa37sn78hnvlvpqibr66qzpjvf2x4a789gnl411cf44a"; - system = "city-hash"; - asd = "city-hash"; - }); - systems = [ "city-hash" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "nibbles" self) (getAttr "swap-bytes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - city-hash-test = (build-asdf-system { - pname = "city-hash-test"; - version = "20200925-git"; - asds = [ "city-hash-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/city-hash/2020-09-25/city-hash-20200925-git.tgz"; - sha256 = "10ksl402aa37sn78hnvlvpqibr66qzpjvf2x4a789gnl411cf44a"; - system = "city-hash-test"; - asd = "city-hash-test"; - }); - systems = [ "city-hash-test" ]; - lispLibs = [ (getAttr "city-hash" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ckr-tables = (build-asdf-system { - pname = "ckr-tables"; - version = "20241012-git"; - asds = [ "ckr-tables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-critic/2024-10-12/lisp-critic-20241012-git.tgz"; - sha256 = "19czs2m8h3kgwjd10pdk9r5kazbgly8g82a5q3bs7pqkja42i7x7"; - system = "ckr-tables"; - asd = "ckr-tables"; - }); - systems = [ "ckr-tables" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl_plus_ssl = (build-asdf-system { - pname = "cl+ssl"; - version = "20231021-git"; - asds = [ "cl+ssl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl+ssl/2023-10-21/cl+ssl-20231021-git.tgz"; - sha256 = "0v0kx2m5355jkdshmj0z923c5rlvdl2n11rb3hjbv3kssdfsbs0s"; - system = "cl+ssl"; - asd = "cl+ssl"; - }); - systems = [ "cl+ssl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "flexi-streams" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-gray-streams" self) (getAttr "usocket" self) ]; - meta = {}; - }); - cl_plus_ssl_dot_test = (build-asdf-system { - pname = "cl+ssl.test"; - version = "20231021-git"; - asds = [ "cl+ssl.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl+ssl/2023-10-21/cl+ssl-20231021-git.tgz"; - sha256 = "0v0kx2m5355jkdshmj0z923c5rlvdl2n11rb3hjbv3kssdfsbs0s"; - system = "cl+ssl.test"; - asd = "cl+ssl.test"; - }); - systems = [ "cl+ssl.test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-coveralls" self) (getAttr "fiveam" self) (getAttr "trivial-sockets" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-6502 = (build-asdf-system { - pname = "cl-6502"; - version = "20241012-git"; - asds = [ "cl-6502" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-6502/2024-10-12/cl-6502-20241012-git.tgz"; - sha256 = "1cj38bi12i7ji3m8dd8gxb17dlna2v8s3b3h6b0a9pvmv6wchpmz"; - system = "cl-6502"; - asd = "cl-6502"; - }); - systems = [ "cl-6502" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-aa = (build-asdf-system { - pname = "cl-aa"; - version = "20241012-git"; - asds = [ "cl-aa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; - sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; - system = "cl-aa"; - asd = "cl-aa"; - }); - systems = [ "cl-aa" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-aa-misc = (build-asdf-system { - pname = "cl-aa-misc"; - version = "20241012-git"; - asds = [ "cl-aa-misc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; - sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; - system = "cl-aa-misc"; - asd = "cl-aa-misc"; - }); - systems = [ "cl-aa-misc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-acronyms = (build-asdf-system { - pname = "cl-acronyms"; - version = "20150302-git"; - asds = [ "cl-acronyms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-acronyms/2015-03-02/cl-acronyms-20150302-git.tgz"; - sha256 = "1b827g6n87i81wbqzvmlq0yn41kfa502v5ssbh2wh1b4xznhn8cc"; - system = "cl-acronyms"; - asd = "cl-acronyms"; - }); - systems = [ "cl-acronyms" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-actors = (build-asdf-system { - pname = "cl-actors"; - version = "20191130-git"; - asds = [ "cl-actors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-lisp-actors/2019-11-30/common-lisp-actors-20191130-git.tgz"; - sha256 = "0snf91yivxq6jcbvm3l6b05lcka7jrzciqd4m841amghfw32clfn"; - system = "cl-actors"; - asd = "cl-actors"; - }); - systems = [ "cl-actors" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-advice = (build-asdf-system { - pname = "cl-advice"; - version = "20230214-git"; - asds = [ "cl-advice" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-advice/2023-02-14/cl-advice-20230214-git.tgz"; - sha256 = "038fhy7chgn9racrcikqncyiq5yqngs6d5ahxz7jkypixcdz48jx"; - system = "cl-advice"; - asd = "cl-advice"; - }); - systems = [ "cl-advice" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-advice-tests = (build-asdf-system { - pname = "cl-advice-tests"; - version = "20230214-git"; - asds = [ "cl-advice-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-advice/2023-02-14/cl-advice-20230214-git.tgz"; - sha256 = "038fhy7chgn9racrcikqncyiq5yqngs6d5ahxz7jkypixcdz48jx"; - system = "cl-advice-tests"; - asd = "cl-advice-tests"; - }); - systems = [ "cl-advice-tests" ]; - lispLibs = [ (getAttr "cl-advice" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-alc = (build-asdf-system { - pname = "cl-alc"; - version = "20221106-git"; - asds = [ "cl-alc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; - sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; - system = "cl-alc"; - asd = "cl-alc"; - }); - systems = [ "cl-alc" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-openal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-algebraic-data-type = (build-asdf-system { - pname = "cl-algebraic-data-type"; - version = "20241012-git"; - asds = [ "cl-algebraic-data-type" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-algebraic-data-type/2024-10-12/cl-algebraic-data-type-20241012-git.tgz"; - sha256 = "02bfx9g4267f7f85banmfy15adyvlzaz3flia8zmhlzhpx7j4bj6"; - system = "cl-algebraic-data-type"; - asd = "cl-algebraic-data-type"; - }); - systems = [ "cl-algebraic-data-type" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "global-vars" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-all = (build-asdf-system { - pname = "cl-all"; - version = "20241012-git"; - asds = [ "cl-all" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-all/2024-10-12/cl-all-20241012-git.tgz"; - sha256 = "02n30b3yp949fxwnb9wr3m9hd5h1kcmxcbjc8c5fj4ihphf8sd7d"; - system = "cl-all"; - asd = "cl-all"; - }); - systems = [ "cl-all" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-alut = (build-asdf-system { - pname = "cl-alut"; - version = "20221106-git"; - asds = [ "cl-alut" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; - sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; - system = "cl-alut"; - asd = "cl-alut"; - }); - systems = [ "cl-alut" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-openal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-amqp = (build-asdf-system { - pname = "cl-amqp"; - version = "v0.4.1"; - asds = [ "cl-amqp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-amqp/2019-10-08/cl-amqp-v0.4.1.tgz"; - sha256 = "1ggd77ckfr54z7z5yi8d04k310x2dhf53qija8dzjhk1r9py20vz"; - system = "cl-amqp"; - asd = "cl-amqp"; - }); - systems = [ "cl-amqp" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "collectors" self) (getAttr "fast-io" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "nibbles" self) (getAttr "trivial-utf-8" self) (getAttr "wu-decimal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-amqp_dot_test = (build-asdf-system { - pname = "cl-amqp.test"; - version = "v0.4.1"; - asds = [ "cl-amqp.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-amqp/2019-10-08/cl-amqp-v0.4.1.tgz"; - sha256 = "1ggd77ckfr54z7z5yi8d04k310x2dhf53qija8dzjhk1r9py20vz"; - system = "cl-amqp.test"; - asd = "cl-amqp.test"; - }); - systems = [ "cl-amqp.test" ]; - lispLibs = [ (getAttr "cl-amqp" self) (getAttr "cl-interpol" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana = (build-asdf-system { - pname = "cl-ana"; - version = "20220707-git"; - asds = [ "cl-ana" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana"; - asd = "cl-ana"; - }); - systems = [ "cl-ana" ]; - lispLibs = [ (getAttr "cl-ana_dot_array-utils" self) (getAttr "cl-ana_dot_binary-tree" self) (getAttr "cl-ana_dot_calculus" self) (getAttr "cl-ana_dot_clos-utils" self) (getAttr "cl-ana_dot_columnar-table" self) (getAttr "cl-ana_dot_csv-table" self) (getAttr "cl-ana_dot_error-propogation" self) (getAttr "cl-ana_dot_file-utils" self) (getAttr "cl-ana_dot_fitting" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_hash-table-utils" self) (getAttr "cl-ana_dot_hdf-table" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_int-char" self) (getAttr "cl-ana_dot_linear-algebra" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_lorentz" self) (getAttr "cl-ana_dot_makeres" self) (getAttr "cl-ana_dot_makeres-block" self) (getAttr "cl-ana_dot_makeres-branch" self) (getAttr "cl-ana_dot_makeres-graphviz" self) (getAttr "cl-ana_dot_makeres-macro" self) (getAttr "cl-ana_dot_makeres-progress" self) (getAttr "cl-ana_dot_makeres-table" self) (getAttr "cl-ana_dot_makeres-utils" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "cl-ana_dot_ntuple-table" self) (getAttr "cl-ana_dot_package-utils" self) (getAttr "cl-ana_dot_pathname-utils" self) (getAttr "cl-ana_dot_plotting" self) (getAttr "cl-ana_dot_quantity" self) (getAttr "cl-ana_dot_reusable-table" self) (getAttr "cl-ana_dot_serialization" self) (getAttr "cl-ana_dot_spline" self) (getAttr "cl-ana_dot_statistical-learning" self) (getAttr "cl-ana_dot_statistics" self) (getAttr "cl-ana_dot_table" self) (getAttr "cl-ana_dot_table-utils" self) (getAttr "cl-ana_dot_table-viewing" self) (getAttr "cl-ana_dot_tensor" self) ]; - meta = {}; - }); - cl-ana_dot_array-utils = (build-asdf-system { - pname = "cl-ana.array-utils"; - version = "20220707-git"; - asds = [ "cl-ana.array-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.array-utils"; - asd = "cl-ana.array-utils"; - }); - systems = [ "cl-ana.array-utils" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_binary-tree = (build-asdf-system { - pname = "cl-ana.binary-tree"; - version = "20220707-git"; - asds = [ "cl-ana.binary-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.binary-tree"; - asd = "cl-ana.binary-tree"; - }); - systems = [ "cl-ana.binary-tree" ]; - lispLibs = [ (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_calculus = (build-asdf-system { - pname = "cl-ana.calculus"; - version = "20220707-git"; - asds = [ "cl-ana.calculus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.calculus"; - asd = "cl-ana.calculus"; - }); - systems = [ "cl-ana.calculus" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_linear-algebra" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_clos-utils = (build-asdf-system { - pname = "cl-ana.clos-utils"; - version = "20220707-git"; - asds = [ "cl-ana.clos-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.clos-utils"; - asd = "cl-ana.clos-utils"; - }); - systems = [ "cl-ana.clos-utils" ]; - lispLibs = [ (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_tensor" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_columnar-table = (build-asdf-system { - pname = "cl-ana.columnar-table"; - version = "20220707-git"; - asds = [ "cl-ana.columnar-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.columnar-table"; - asd = "cl-ana.columnar-table"; - }); - systems = [ "cl-ana.columnar-table" ]; - lispLibs = [ (getAttr "cl-ana_dot_reusable-table" self) (getAttr "cl-ana_dot_table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_csv-table = (build-asdf-system { - pname = "cl-ana.csv-table"; - version = "20220707-git"; - asds = [ "cl-ana.csv-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.csv-table"; - asd = "cl-ana.csv-table"; - }); - systems = [ "cl-ana.csv-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "antik" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_table" self) (getAttr "cl-csv" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_error-propogation = (build-asdf-system { - pname = "cl-ana.error-propogation"; - version = "20220707-git"; - asds = [ "cl-ana.error-propogation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.error-propogation"; - asd = "cl-ana.error-propogation"; - }); - systems = [ "cl-ana.error-propogation" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_math-functions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_file-utils = (build-asdf-system { - pname = "cl-ana.file-utils"; - version = "20220707-git"; - asds = [ "cl-ana.file-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.file-utils"; - asd = "cl-ana.file-utils"; - }); - systems = [ "cl-ana.file-utils" ]; - lispLibs = [ (getAttr "external-program" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_fitting = (build-asdf-system { - pname = "cl-ana.fitting"; - version = "20220707-git"; - asds = [ "cl-ana.fitting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.fitting"; - asd = "cl-ana.fitting"; - }); - systems = [ "cl-ana.fitting" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_error-propogation" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "gsll" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_functional-utils = (build-asdf-system { - pname = "cl-ana.functional-utils"; - version = "20220707-git"; - asds = [ "cl-ana.functional-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.functional-utils"; - asd = "cl-ana.functional-utils"; - }); - systems = [ "cl-ana.functional-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_generic-math = (build-asdf-system { - pname = "cl-ana.generic-math"; - version = "20220707-git"; - asds = [ "cl-ana.generic-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.generic-math"; - asd = "cl-ana.generic-math"; - }); - systems = [ "cl-ana.generic-math" ]; - lispLibs = [ (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_package-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_gnuplot-interface = (build-asdf-system { - pname = "cl-ana.gnuplot-interface"; - version = "20220707-git"; - asds = [ "cl-ana.gnuplot-interface" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.gnuplot-interface"; - asd = "cl-ana.gnuplot-interface"; - }); - systems = [ "cl-ana.gnuplot-interface" ]; - lispLibs = [ (getAttr "external-program" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_gsl-cffi = (build-asdf-system { - pname = "cl-ana.gsl-cffi"; - version = "20220707-git"; - asds = [ "cl-ana.gsl-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.gsl-cffi"; - asd = "cl-ana.gsl-cffi"; - }); - systems = [ "cl-ana.gsl-cffi" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_hash-table-utils = (build-asdf-system { - pname = "cl-ana.hash-table-utils"; - version = "20220707-git"; - asds = [ "cl-ana.hash-table-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.hash-table-utils"; - asd = "cl-ana.hash-table-utils"; - }); - systems = [ "cl-ana.hash-table-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_hdf-cffi = (build-asdf-system { - pname = "cl-ana.hdf-cffi"; - version = "20220707-git"; - asds = [ "cl-ana.hdf-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.hdf-cffi"; - asd = "cl-ana.hdf-cffi"; - }); - systems = [ "cl-ana.hdf-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_hdf-table = (build-asdf-system { - pname = "cl-ana.hdf-table"; - version = "20220707-git"; - asds = [ "cl-ana.hdf-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.hdf-table"; - asd = "cl-ana.hdf-table"; - }); - systems = [ "cl-ana.hdf-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_binary-tree" self) (getAttr "cl-ana_dot_hdf-typespec" self) (getAttr "cl-ana_dot_hdf-utils" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_memoization" self) (getAttr "cl-ana_dot_table" self) (getAttr "cl-ana_dot_typed-table" self) (getAttr "cl-ana_dot_typespec" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_hdf-typespec = (build-asdf-system { - pname = "cl-ana.hdf-typespec"; - version = "20220707-git"; - asds = [ "cl-ana.hdf-typespec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.hdf-typespec"; - asd = "cl-ana.hdf-typespec"; - }); - systems = [ "cl-ana.hdf-typespec" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ana_dot_hdf-cffi" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_memoization" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_typespec" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_hdf-utils = (build-asdf-system { - pname = "cl-ana.hdf-utils"; - version = "20220707-git"; - asds = [ "cl-ana.hdf-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.hdf-utils"; - asd = "cl-ana.hdf-utils"; - }); - systems = [ "cl-ana.hdf-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ana_dot_hdf-cffi" self) (getAttr "cl-ana_dot_hdf-typespec" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_memoization" self) (getAttr "cl-ana_dot_pathname-utils" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_typespec" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_histogram = (build-asdf-system { - pname = "cl-ana.histogram"; - version = "20220707-git"; - asds = [ "cl-ana.histogram" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.histogram"; - asd = "cl-ana.histogram"; - }); - systems = [ "cl-ana.histogram" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_binary-tree" self) (getAttr "cl-ana_dot_clos-utils" self) (getAttr "cl-ana_dot_fitting" self) (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_hash-table-utils" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_tensor" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_int-char = (build-asdf-system { - pname = "cl-ana.int-char"; - version = "20220707-git"; - asds = [ "cl-ana.int-char" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.int-char"; - asd = "cl-ana.int-char"; - }); - systems = [ "cl-ana.int-char" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_linear-algebra = (build-asdf-system { - pname = "cl-ana.linear-algebra"; - version = "20220707-git"; - asds = [ "cl-ana.linear-algebra" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.linear-algebra"; - asd = "cl-ana.linear-algebra"; - }); - systems = [ "cl-ana.linear-algebra" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "cl-ana_dot_tensor" self) (getAttr "gsll" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_list-utils = (build-asdf-system { - pname = "cl-ana.list-utils"; - version = "20220707-git"; - asds = [ "cl-ana.list-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.list-utils"; - asd = "cl-ana.list-utils"; - }); - systems = [ "cl-ana.list-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_string-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_lorentz = (build-asdf-system { - pname = "cl-ana.lorentz"; - version = "20220707-git"; - asds = [ "cl-ana.lorentz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.lorentz"; - asd = "cl-ana.lorentz"; - }); - systems = [ "cl-ana.lorentz" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_linear-algebra" self) (getAttr "cl-ana_dot_tensor" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_macro-utils = (build-asdf-system { - pname = "cl-ana.macro-utils"; - version = "20220707-git"; - asds = [ "cl-ana.macro-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.macro-utils"; - asd = "cl-ana.macro-utils"; - }); - systems = [ "cl-ana.macro-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres = (build-asdf-system { - pname = "cl-ana.makeres"; - version = "20220707-git"; - asds = [ "cl-ana.makeres" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres"; - asd = "cl-ana.makeres"; - }); - systems = [ "cl-ana.makeres" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_error-propogation" self) (getAttr "cl-ana_dot_file-utils" self) (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_hash-table-utils" self) (getAttr "cl-ana_dot_hdf-utils" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_memoization" self) (getAttr "cl-ana_dot_pathname-utils" self) (getAttr "cl-ana_dot_plotting" self) (getAttr "cl-ana_dot_reusable-table" self) (getAttr "cl-ana_dot_serialization" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_table" self) (getAttr "cl-fad" self) (getAttr "external-program" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-block = (build-asdf-system { - pname = "cl-ana.makeres-block"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-block" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-block"; - asd = "cl-ana.makeres-block"; - }); - systems = [ "cl-ana.makeres-block" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_makeres" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-branch = (build-asdf-system { - pname = "cl-ana.makeres-branch"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-branch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-branch"; - asd = "cl-ana.makeres-branch"; - }); - systems = [ "cl-ana.makeres-branch" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_hash-table-utils" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_makeres" self) (getAttr "cl-ana_dot_map" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-graphviz = (build-asdf-system { - pname = "cl-ana.makeres-graphviz"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-graphviz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-graphviz"; - asd = "cl-ana.makeres-graphviz"; - }); - systems = [ "cl-ana.makeres-graphviz" ]; - lispLibs = [ (getAttr "cl-ana_dot_makeres" self) (getAttr "external-program" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-macro = (build-asdf-system { - pname = "cl-ana.makeres-macro"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-macro" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-macro"; - asd = "cl-ana.makeres-macro"; - }); - systems = [ "cl-ana.makeres-macro" ]; - lispLibs = [ (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_makeres" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-progress = (build-asdf-system { - pname = "cl-ana.makeres-progress"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-progress" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-progress"; - asd = "cl-ana.makeres-progress"; - }); - systems = [ "cl-ana.makeres-progress" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_makeres" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-table = (build-asdf-system { - pname = "cl-ana.makeres-table"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-table"; - asd = "cl-ana.makeres-table"; - }); - systems = [ "cl-ana.makeres-table" ]; - lispLibs = [ (getAttr "cl-ana_dot_csv-table" self) (getAttr "cl-ana_dot_hash-table-utils" self) (getAttr "cl-ana_dot_hdf-table" self) (getAttr "cl-ana_dot_hdf-utils" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_makeres" self) (getAttr "cl-ana_dot_makeres-macro" self) (getAttr "cl-ana_dot_memoization" self) (getAttr "cl-ana_dot_ntuple-table" self) (getAttr "cl-ana_dot_reusable-table" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_makeres-utils = (build-asdf-system { - pname = "cl-ana.makeres-utils"; - version = "20220707-git"; - asds = [ "cl-ana.makeres-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.makeres-utils"; - asd = "cl-ana.makeres-utils"; - }); - systems = [ "cl-ana.makeres-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_file-utils" self) (getAttr "cl-ana_dot_fitting" self) (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_makeres" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_pathname-utils" self) (getAttr "cl-ana_dot_plotting" self) (getAttr "cl-ana_dot_reusable-table" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_map = (build-asdf-system { - pname = "cl-ana.map"; - version = "20220707-git"; - asds = [ "cl-ana.map" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.map"; - asd = "cl-ana.map"; - }); - systems = [ "cl-ana.map" ]; - lispLibs = [ (getAttr "cl-ana_dot_hash-table-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_math-functions = (build-asdf-system { - pname = "cl-ana.math-functions"; - version = "20220707-git"; - asds = [ "cl-ana.math-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.math-functions"; - asd = "cl-ana.math-functions"; - }); - systems = [ "cl-ana.math-functions" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "gsll" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_memoization = (build-asdf-system { - pname = "cl-ana.memoization"; - version = "20220707-git"; - asds = [ "cl-ana.memoization" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.memoization"; - asd = "cl-ana.memoization"; - }); - systems = [ "cl-ana.memoization" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_ntuple-table = (build-asdf-system { - pname = "cl-ana.ntuple-table"; - version = "20220707-git"; - asds = [ "cl-ana.ntuple-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.ntuple-table"; - asd = "cl-ana.ntuple-table"; - }); - systems = [ "cl-ana.ntuple-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ana_dot_gsl-cffi" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_table" self) (getAttr "cl-ana_dot_typed-table" self) (getAttr "cl-ana_dot_typespec" self) (getAttr "gsll" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_package-utils = (build-asdf-system { - pname = "cl-ana.package-utils"; - version = "20220707-git"; - asds = [ "cl-ana.package-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.package-utils"; - asd = "cl-ana.package-utils"; - }); - systems = [ "cl-ana.package-utils" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_pathname-utils = (build-asdf-system { - pname = "cl-ana.pathname-utils"; - version = "20220707-git"; - asds = [ "cl-ana.pathname-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.pathname-utils"; - asd = "cl-ana.pathname-utils"; - }); - systems = [ "cl-ana.pathname-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_plotting = (build-asdf-system { - pname = "cl-ana.plotting"; - version = "20220707-git"; - asds = [ "cl-ana.plotting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.plotting"; - asd = "cl-ana.plotting"; - }); - systems = [ "cl-ana.plotting" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_error-propogation" self) (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_gnuplot-interface" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "cl-ana_dot_pathname-utils" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_tensor" self) (getAttr "external-program" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_quantity = (build-asdf-system { - pname = "cl-ana.quantity"; - version = "20220707-git"; - asds = [ "cl-ana.quantity" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.quantity"; - asd = "cl-ana.quantity"; - }); - systems = [ "cl-ana.quantity" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_error-propogation" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "cl-ana_dot_symbol-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_reusable-table = (build-asdf-system { - pname = "cl-ana.reusable-table"; - version = "20220707-git"; - asds = [ "cl-ana.reusable-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.reusable-table"; - asd = "cl-ana.reusable-table"; - }); - systems = [ "cl-ana.reusable-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_serialization = (build-asdf-system { - pname = "cl-ana.serialization"; - version = "20220707-git"; - asds = [ "cl-ana.serialization" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.serialization"; - asd = "cl-ana.serialization"; - }); - systems = [ "cl-ana.serialization" ]; - lispLibs = [ (getAttr "cl-ana_dot_error-propogation" self) (getAttr "cl-ana_dot_hdf-table" self) (getAttr "cl-ana_dot_hdf-utils" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_int-char" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_typespec" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_spline = (build-asdf-system { - pname = "cl-ana.spline"; - version = "20220707-git"; - asds = [ "cl-ana.spline" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.spline"; - asd = "cl-ana.spline"; - }); - systems = [ "cl-ana.spline" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-ana_dot_fitting" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "cl-ana_dot_tensor" self) (getAttr "gsll" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_statistical-learning = (build-asdf-system { - pname = "cl-ana.statistical-learning"; - version = "20220707-git"; - asds = [ "cl-ana.statistical-learning" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.statistical-learning"; - asd = "cl-ana.statistical-learning"; - }); - systems = [ "cl-ana.statistical-learning" ]; - lispLibs = [ (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_linear-algebra" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_math-functions" self) (getAttr "cl-ana_dot_statistics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_statistics = (build-asdf-system { - pname = "cl-ana.statistics"; - version = "20220707-git"; - asds = [ "cl-ana.statistics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.statistics"; - asd = "cl-ana.statistics"; - }); - systems = [ "cl-ana.statistics" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_map" self) (getAttr "cl-ana_dot_math-functions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_string-utils = (build-asdf-system { - pname = "cl-ana.string-utils"; - version = "20220707-git"; - asds = [ "cl-ana.string-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.string-utils"; - asd = "cl-ana.string-utils"; - }); - systems = [ "cl-ana.string-utils" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_symbol-utils = (build-asdf-system { - pname = "cl-ana.symbol-utils"; - version = "20220707-git"; - asds = [ "cl-ana.symbol-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.symbol-utils"; - asd = "cl-ana.symbol-utils"; - }); - systems = [ "cl-ana.symbol-utils" ]; - lispLibs = [ (getAttr "cl-ana_dot_list-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_table = (build-asdf-system { - pname = "cl-ana.table"; - version = "20220707-git"; - asds = [ "cl-ana.table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.table"; - asd = "cl-ana.table"; - }); - systems = [ "cl-ana.table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_functional-utils" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_table-utils = (build-asdf-system { - pname = "cl-ana.table-utils"; - version = "20220707-git"; - asds = [ "cl-ana.table-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.table-utils"; - asd = "cl-ana.table-utils"; - }); - systems = [ "cl-ana.table-utils" ]; - lispLibs = [ (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_hash-table-utils" self) (getAttr "cl-ana_dot_statistics" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_table-viewing = (build-asdf-system { - pname = "cl-ana.table-viewing"; - version = "20220707-git"; - asds = [ "cl-ana.table-viewing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.table-viewing"; - asd = "cl-ana.table-viewing"; - }); - systems = [ "cl-ana.table-viewing" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_histogram" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_plotting" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_tensor = (build-asdf-system { - pname = "cl-ana.tensor"; - version = "20220707-git"; - asds = [ "cl-ana.tensor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.tensor"; - asd = "cl-ana.tensor"; - }); - systems = [ "cl-ana.tensor" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_generic-math" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_macro-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_typed-table = (build-asdf-system { - pname = "cl-ana.typed-table"; - version = "20220707-git"; - asds = [ "cl-ana.typed-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.typed-table"; - asd = "cl-ana.typed-table"; - }); - systems = [ "cl-ana.typed-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_table" self) (getAttr "cl-ana_dot_typespec" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ana_dot_typespec = (build-asdf-system { - pname = "cl-ana.typespec"; - version = "20220707-git"; - asds = [ "cl-ana.typespec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; - sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; - system = "cl-ana.typespec"; - asd = "cl-ana.typespec"; - }); - systems = [ "cl-ana.typespec" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ana_dot_int-char" self) (getAttr "cl-ana_dot_list-utils" self) (getAttr "cl-ana_dot_memoization" self) (getAttr "cl-ana_dot_string-utils" self) (getAttr "cl-ana_dot_symbol-utils" self) (getAttr "cl-ana_dot_tensor" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-android = (build-asdf-system { - pname = "cl-android"; - version = "20150804-git"; - asds = [ "cl-android" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sl4a/2015-08-04/cl-sl4a-20150804-git.tgz"; - sha256 = "0lqla60apkc8xfiyi43w18dldf0m8z5q290wv3d89qf0n9gwk3cr"; - system = "cl-android"; - asd = "cl-android"; - }); - systems = [ "cl-android" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-annot = (build-asdf-system { - pname = "cl-annot"; - version = "20150608-git"; - asds = [ "cl-annot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-annot/2015-06-08/cl-annot-20150608-git.tgz"; - sha256 = "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"; - system = "cl-annot"; - asd = "cl-annot"; - }); - systems = [ "cl-annot" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - cl-annot-prove = (build-asdf-system { - pname = "cl-annot-prove"; - version = "20150923-git"; - asds = [ "cl-annot-prove" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-annot-prove/2015-09-23/cl-annot-prove-20150923-git.tgz"; - sha256 = "000nlxxs1id1pccp3y5s9xnm76fc5r87q0bxmjrpklxwwf5y8wwy"; - system = "cl-annot-prove"; - asd = "cl-annot-prove"; - }); - systems = [ "cl-annot-prove" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) (getAttr "prove" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-annot-prove-test = (build-asdf-system { - pname = "cl-annot-prove-test"; - version = "20150923-git"; - asds = [ "cl-annot-prove-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-annot-prove/2015-09-23/cl-annot-prove-20150923-git.tgz"; - sha256 = "000nlxxs1id1pccp3y5s9xnm76fc5r87q0bxmjrpklxwwf5y8wwy"; - system = "cl-annot-prove-test"; - asd = "cl-annot-prove-test"; - }); - systems = [ "cl-annot-prove-test" ]; - lispLibs = [ (getAttr "cl-annot-prove" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-annot-revisit = (build-asdf-system { - pname = "cl-annot-revisit"; - version = "20221106-git"; - asds = [ "cl-annot-revisit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-annot-revisit/2022-11-06/cl-annot-revisit-20221106-git.tgz"; - sha256 = "0jlllgq14bi1rddzlmq9wfs4vb24apgqz17wfd79kjjcmnzzjp4m"; - system = "cl-annot-revisit"; - asd = "cl-annot-revisit"; - }); - systems = [ "cl-annot-revisit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-annot-revisit-compat = (build-asdf-system { - pname = "cl-annot-revisit-compat"; - version = "20221106-git"; - asds = [ "cl-annot-revisit-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-annot-revisit/2022-11-06/cl-annot-revisit-20221106-git.tgz"; - sha256 = "0jlllgq14bi1rddzlmq9wfs4vb24apgqz17wfd79kjjcmnzzjp4m"; - system = "cl-annot-revisit-compat"; - asd = "cl-annot-revisit-compat"; - }); - systems = [ "cl-annot-revisit-compat" ]; - lispLibs = [ (getAttr "cl-annot-revisit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-annot-revisit-test = (build-asdf-system { - pname = "cl-annot-revisit-test"; - version = "20221106-git"; - asds = [ "cl-annot-revisit-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-annot-revisit/2022-11-06/cl-annot-revisit-20221106-git.tgz"; - sha256 = "0jlllgq14bi1rddzlmq9wfs4vb24apgqz17wfd79kjjcmnzzjp4m"; - system = "cl-annot-revisit-test"; - asd = "cl-annot-revisit-test"; - }); - systems = [ "cl-annot-revisit-test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "cl-annot-revisit" self) (getAttr "cl-annot-revisit-compat" self) (getAttr "trivial-macroexpand-all" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-anonfun = (build-asdf-system { - pname = "cl-anonfun"; - version = "20111203-git"; - asds = [ "cl-anonfun" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-anonfun/2011-12-03/cl-anonfun-20111203-git.tgz"; - sha256 = "086x2vjvasdy9bhikvdzx34nrq008c0sfkq3ncv0i9mhfk5xwp2j"; - system = "cl-anonfun"; - asd = "cl-anonfun"; - }); - systems = [ "cl-anonfun" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-ansi-term = (build-asdf-system { - pname = "cl-ansi-term"; - version = "20241012-git"; - asds = [ "cl-ansi-term" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ansi-term/2024-10-12/cl-ansi-term-20241012-git.tgz"; - sha256 = "01nrlyb8lqca9z16ndlyy22wqy83ixcr02yibfypj255x6xbql1x"; - system = "cl-ansi-term"; - asd = "cl-ansi-term"; - }); - systems = [ "cl-ansi-term" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ansi-text = (build-asdf-system { - pname = "cl-ansi-text"; - version = "20211020-git"; - asds = [ "cl-ansi-text" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz"; - sha256 = "0nk7ajqfa937w1iy3zy86jjbw8yffm05cqs4wxkgl97v6kmmya14"; - system = "cl-ansi-text"; - asd = "cl-ansi-text"; - }); - systems = [ "cl-ansi-text" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-colors2" self) ]; - meta = {}; - }); - cl-ansi-text_dot_test = (build-asdf-system { - pname = "cl-ansi-text.test"; - version = "20211020-git"; - asds = [ "cl-ansi-text.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz"; - sha256 = "0nk7ajqfa937w1iy3zy86jjbw8yffm05cqs4wxkgl97v6kmmya14"; - system = "cl-ansi-text.test"; - asd = "cl-ansi-text.test"; - }); - systems = [ "cl-ansi-text.test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ansi-text" self) (getAttr "cl-colors2" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-apertium-stream = (build-asdf-system { - pname = "cl-apertium-stream"; - version = "20230618-git"; - asds = [ "cl-apertium-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-apertium-stream-parser/2023-06-18/cl-apertium-stream-parser-20230618-git.tgz"; - sha256 = "1f3v5pgar83iw443haa4nlzy1qvr55xxqggq9klvsji1a3jdypqy"; - system = "cl-apertium-stream"; - asd = "cl-apertium-stream"; - }); - systems = [ "cl-apertium-stream" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "esrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-apple-plist = (build-asdf-system { - pname = "cl-apple-plist"; - version = "20111105-git"; - asds = [ "cl-apple-plist" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-apple-plist/2011-11-05/cl-apple-plist-20111105-git.tgz"; - sha256 = "104j5lvvp7apdx59kbwc6kpa8b82y20w03627ml91lpbqk9bq63f"; - system = "cl-apple-plist"; - asd = "cl-apple-plist"; - }); - systems = [ "cl-apple-plist" ]; - lispLibs = [ (getAttr "html-encode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-arff-parser = (build-asdf-system { - pname = "cl-arff-parser"; - version = "20130421-git"; - asds = [ "cl-arff-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-arff-parser/2013-04-21/cl-arff-parser-20130421-git.tgz"; - sha256 = "0rn76r48b2y2richfy3si4r8kbwkvm7q15g34sxi0fkfmx15z4jx"; - system = "cl-arff-parser"; - asd = "cl-arff-parser"; - }); - systems = [ "cl-arff-parser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-argparse = (build-asdf-system { - pname = "cl-argparse"; - version = "20210531-git"; - asds = [ "cl-argparse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-argparse/2021-05-31/cl-argparse-20210531-git.tgz"; - sha256 = "05vy2iaqr7yiaw0ykzwm0ml0mil5qagy87b8hqx4vvb3lq1qpn14"; - system = "cl-argparse"; - asd = "cl-argparse"; - }); - systems = [ "cl-argparse" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-aristid = (build-asdf-system { - pname = "cl-aristid"; - version = "20200925-git"; - asds = [ "cl-aristid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-aristid/2020-09-25/cl-aristid-20200925-git.tgz"; - sha256 = "0k573k3wydy6dd5pmvqdxmlwk0n5kq2wsk86syddhqyjgx2jmw98"; - system = "cl-aristid"; - asd = "cl-aristid"; - }); - systems = [ "cl-aristid" ]; - lispLibs = [ (getAttr "cl-colors" self) (getAttr "cl-svg" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-arxiv-api = (build-asdf-system { - pname = "cl-arxiv-api"; - version = "20170403-git"; - asds = [ "cl-arxiv-api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-arxiv-api/2017-04-03/cl-arxiv-api-20170403-git.tgz"; - sha256 = "1id95gszqxmmjydv1vjv2vyxz0svqvnx74bmgy63xnajb4kfnpq3"; - system = "cl-arxiv-api"; - asd = "cl-arxiv-api"; - }); - systems = [ "cl-arxiv-api" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "iterate" self) (getAttr "trivial-http" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ascii-art = (build-asdf-system { - pname = "cl-ascii-art"; - version = "20171019-git"; - asds = [ "cl-ascii-art" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ascii-art/2017-10-19/cl-ascii-art-20171019-git.tgz"; - sha256 = "03d3bd8m7dd2l4170vky8y8ini3giqhjpd06rlswz287mkvzq8aa"; - system = "cl-ascii-art"; - asd = "cl-ascii-art"; - }); - systems = [ "cl-ascii-art" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ansi-text" self) (getAttr "cl-ppcre" self) (getAttr "inferior-shell" self) (getAttr "iterate" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ascii-table = (build-asdf-system { - pname = "cl-ascii-table"; - version = "20200610-git"; - asds = [ "cl-ascii-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ascii-table/2020-06-10/cl-ascii-table-20200610-git.tgz"; - sha256 = "1nclyypd2p06hyfydcv16m9lbj1xmrpmf00wp8mfyhwimv021zlp"; - system = "cl-ascii-table"; - asd = "cl-ascii-table"; - }); - systems = [ "cl-ascii-table" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-aseprite = (build-asdf-system { - pname = "cl-aseprite"; - version = "20241012-git"; - asds = [ "cl-aseprite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-aseprite/2024-10-12/cl-aseprite-20241012-git.tgz"; - sha256 = "0xjrfi232d0my4ncafp1l2yfas8nj0k8nsbppkq70anic5ihbhch"; - system = "cl-aseprite"; - asd = "cl-aseprite"; - }); - systems = [ "cl-aseprite" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "chipz" self) (getAttr "let-plus" self) (getAttr "lisp-binary" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-association-rules = (build-asdf-system { - pname = "cl-association-rules"; - version = "20170403-git"; - asds = [ "cl-association-rules" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-association-rules/2017-04-03/cl-association-rules-20170403-git.tgz"; - sha256 = "1d4sg9j30ydk1m17byacww8l2x9ggb82iay507g08ij0jxdky86z"; - system = "cl-association-rules"; - asd = "cl-association-rules"; - }); - systems = [ "cl-association-rules" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-association-rules-tests = (build-asdf-system { - pname = "cl-association-rules-tests"; - version = "20170403-git"; - asds = [ "cl-association-rules-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-association-rules/2017-04-03/cl-association-rules-20170403-git.tgz"; - sha256 = "1d4sg9j30ydk1m17byacww8l2x9ggb82iay507g08ij0jxdky86z"; - system = "cl-association-rules-tests"; - asd = "cl-association-rules"; - }); - systems = [ "cl-association-rules-tests" ]; - lispLibs = [ (getAttr "cl-association-rules" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-astar = (build-asdf-system { - pname = "cl-astar"; - version = "20241012-git"; - asds = [ "cl-astar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-astar/2024-10-12/cl-astar-20241012-git.tgz"; - sha256 = "0fdwyg3xnj5sxn4cqycydg0cp1l3ii0brk7ad1sh28m703zmndxv"; - system = "cl-astar"; - asd = "cl-astar"; - }); - systems = [ "cl-astar" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "float-features" self) (getAttr "let-plus" self) (getAttr "trivial-adjust-simple-array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-async = (build-asdf-system { - pname = "cl-async"; - version = "20241012-git"; - asds = [ "cl-async" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; - sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; - system = "cl-async"; - asd = "cl-async"; - }); - systems = [ "cl-async" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cl-async-base" self) (getAttr "cl-async-util" self) (getAttr "cl-libuv" self) (getAttr "cl-ppcre" self) (getAttr "static-vectors" self) (getAttr "trivial-features" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - cl-async-await = (build-asdf-system { - pname = "cl-async-await"; - version = "20201016-git"; - asds = [ "cl-async-await" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async-await/2020-10-16/cl-async-await-20201016-git.tgz"; - sha256 = "1slhn9z4hljvad3hd8jmvw4q4m6310s04yh3212wvbfar8q0yasj"; - system = "cl-async-await"; - asd = "cl-async-await"; - }); - systems = [ "cl-async-await" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "simple-actors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-async-base = (build-asdf-system { - pname = "cl-async-base"; - version = "20241012-git"; - asds = [ "cl-async-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; - sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; - system = "cl-async-base"; - asd = "cl-async"; - }); - systems = [ "cl-async-base" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-libuv" self) ]; - meta = {}; - }); - cl-async-future = (build-asdf-system { - pname = "cl-async-future"; - version = "20150113-git"; - asds = [ "cl-async-future" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async-future/2015-01-13/cl-async-future-20150113-git.tgz"; - sha256 = "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"; - system = "cl-async-future"; - asd = "cl-async-future"; - }); - systems = [ "cl-async-future" ]; - lispLibs = [ (getAttr "blackbird" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-async-repl = (build-asdf-system { - pname = "cl-async-repl"; - version = "20241012-git"; - asds = [ "cl-async-repl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; - sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; - system = "cl-async-repl"; - asd = "cl-async-repl"; - }); - systems = [ "cl-async-repl" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-async" self) ]; - meta = {}; - }); - cl-async-ssl = (build-asdf-system { - pname = "cl-async-ssl"; - version = "20241012-git"; - asds = [ "cl-async-ssl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; - sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; - system = "cl-async-ssl"; - asd = "cl-async-ssl"; - }); - systems = [ "cl-async-ssl" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-async" self) (getAttr "vom" self) ]; - meta = {}; - }); - cl-async-test = (build-asdf-system { - pname = "cl-async-test"; - version = "20241012-git"; - asds = [ "cl-async-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; - sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; - system = "cl-async-test"; - asd = "cl-async-test"; - }); - systems = [ "cl-async-test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-async" self) (getAttr "cl-async-ssl" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-async-util = (build-asdf-system { - pname = "cl-async-util"; - version = "20241012-git"; - asds = [ "cl-async-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; - sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; - system = "cl-async-util"; - asd = "cl-async"; - }); - systems = [ "cl-async-util" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-async-base" self) (getAttr "cl-libuv" self) (getAttr "cl-ppcre" self) (getAttr "fast-io" self) (getAttr "vom" self) ]; - meta = {}; - }); - cl-aubio = (build-asdf-system { - pname = "cl-aubio"; - version = "20200427-git"; - asds = [ "cl-aubio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-aubio/2020-04-27/cl-aubio-20200427-git.tgz"; - sha256 = "1xyflxy46z4487dbnizhv058y2mdka9iyikl097m60w42blidpn3"; - system = "cl-aubio"; - asd = "cl-aubio"; - }); - systems = [ "cl-aubio" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-authorize-net = (build-asdf-system { - pname = "cl-authorize-net"; - version = "20150113-git"; - asds = [ "cl-authorize-net" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz"; - sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr"; - system = "cl-authorize-net"; - asd = "cl-authorize-net"; - }); - systems = [ "cl-authorize-net" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-creditcard" self) (getAttr "drakma" self) (getAttr "split-sequence" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-authorize-net-tests = (build-asdf-system { - pname = "cl-authorize-net-tests"; - version = "20150113-git"; - asds = [ "cl-authorize-net-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz"; - sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr"; - system = "cl-authorize-net-tests"; - asd = "cl-authorize-net"; - }); - systems = [ "cl-authorize-net-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-authorize-net" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-autorepo = (build-asdf-system { - pname = "cl-autorepo"; - version = "20180711-git"; - asds = [ "cl-autorepo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-autorepo/2018-07-11/cl-autorepo-20180711-git.tgz"; - sha256 = "01hpg3r3493mri44kxp8sjy8i5kfvjklmnksvm0727i6bhpf8cz9"; - system = "cl-autorepo"; - asd = "cl-autorepo"; - }); - systems = [ "cl-autorepo" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-autowrap = (build-asdf-system { - pname = "cl-autowrap"; - version = "20241012-git"; - asds = [ "cl-autowrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-autowrap/2024-10-12/cl-autowrap-20241012-git.tgz"; - sha256 = "1sfvhyrwm9dhxi0y42xp7mx8mvs6lmq3bzxdx34frxni5srcgly0"; - system = "cl-autowrap"; - asd = "cl-autowrap"; - }); - systems = [ "cl-autowrap" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "defpackage-plus" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-autowrap-test = (build-asdf-system { - pname = "cl-autowrap-test"; - version = "20241012-git"; - asds = [ "cl-autowrap-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-autowrap/2024-10-12/cl-autowrap-20241012-git.tgz"; - sha256 = "1sfvhyrwm9dhxi0y42xp7mx8mvs6lmq3bzxdx34frxni5srcgly0"; - system = "cl-autowrap-test"; - asd = "cl-autowrap-test"; - }); - systems = [ "cl-autowrap-test" ]; - lispLibs = [ (getAttr "cl-autowrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-azure = (build-asdf-system { - pname = "cl-azure"; - version = "20160825-git"; - asds = [ "cl-azure" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-azure/2016-08-25/cl-azure-20160825-git.tgz"; - sha256 = "19sgzbvgs1f1h3qhx11xhpia2x3n8x729h9fsqkc7fap0ak1h31d"; - system = "cl-azure"; - asd = "cl-azure"; - }); - systems = [ "cl-azure" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "ironclad" self) (getAttr "puri" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-base16 = (build-asdf-system { - pname = "cl-base16"; - version = "20200925-git"; - asds = [ "cl-base16" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-base16/2020-09-25/cl-base16-20200925-git.tgz"; - sha256 = "0m7ndmk4xhizn3q3ywjvw8sg4pfgp6lrd0wac5d1bf7wbw6afh5q"; - system = "cl-base16"; - asd = "cl-base16"; - }); - systems = [ "cl-base16" ]; - lispLibs = [ (getAttr "cl-mustache" self) (getAttr "cl-slug" self) (getAttr "cl-yaml" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-base32 = (build-asdf-system { - pname = "cl-base32"; - version = "20241012-git"; - asds = [ "cl-base32" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-base32/2024-10-12/cl-base32-20241012-git.tgz"; - sha256 = "0kc0rxwx2ak5kvrzl8y8x3csm0d6appi5k0as2jgm3ig5vgcs5cn"; - system = "cl-base32"; - asd = "cl-base32"; - }); - systems = [ "cl-base32" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-base58 = (build-asdf-system { - pname = "cl-base58"; - version = "20150113-git"; - asds = [ "cl-base58" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-base58/2015-01-13/cl-base58-20150113-git.tgz"; - sha256 = "01wiiyz1jzxx3zhxi2hpq5n8hv28g1mn0adk793vwjzh4v5bi5zz"; - system = "cl-base58"; - asd = "cl-base58"; - }); - systems = [ "cl-base58" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-base58-test = (build-asdf-system { - pname = "cl-base58-test"; - version = "20150113-git"; - asds = [ "cl-base58-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-base58/2015-01-13/cl-base58-20150113-git.tgz"; - sha256 = "01wiiyz1jzxx3zhxi2hpq5n8hv28g1mn0adk793vwjzh4v5bi5zz"; - system = "cl-base58-test"; - asd = "cl-base58-test"; - }); - systems = [ "cl-base58-test" ]; - lispLibs = [ (getAttr "cl-base58" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-base64 = (build-asdf-system { - pname = "cl-base64"; - version = "20201016-git"; - asds = [ "cl-base64" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-base64/2020-10-16/cl-base64-20201016-git.tgz"; - sha256 = "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"; - system = "cl-base64"; - asd = "cl-base64"; - }); - systems = [ "cl-base64" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-bayesnet = (build-asdf-system { - pname = "cl-bayesnet"; - version = "20130420-git"; - asds = [ "cl-bayesnet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bayesnet/2013-04-20/cl-bayesnet-20130420-git.tgz"; - sha256 = "02as2isvgm89qpyj49ccs1cg4fl9iswxi26w4j0svsha0q1dh5m8"; - system = "cl-bayesnet"; - asd = "cl-bayesnet"; - }); - systems = [ "cl-bayesnet" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "s-xml" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bcrypt = (build-asdf-system { - pname = "cl-bcrypt"; - version = "20231021-git"; - asds = [ "cl-bcrypt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bcrypt/2023-10-21/cl-bcrypt-20231021-git.tgz"; - sha256 = "0mfs1jwf1xi6za61hfc7dgf1g5lqqsqdclnnspncvdg6l137013n"; - system = "cl-bcrypt"; - asd = "cl-bcrypt"; - }); - systems = [ "cl-bcrypt" ]; - lispLibs = [ (getAttr "binascii" self) (getAttr "cl-ppcre" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bcrypt_dot_test = (build-asdf-system { - pname = "cl-bcrypt.test"; - version = "20231021-git"; - asds = [ "cl-bcrypt.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bcrypt/2023-10-21/cl-bcrypt-20231021-git.tgz"; - sha256 = "0mfs1jwf1xi6za61hfc7dgf1g5lqqsqdclnnspncvdg6l137013n"; - system = "cl-bcrypt.test"; - asd = "cl-bcrypt.test"; - }); - systems = [ "cl-bcrypt.test" ]; - lispLibs = [ (getAttr "cl-bcrypt" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-beanstalk = (build-asdf-system { - pname = "cl-beanstalk"; - version = "20220707-git"; - asds = [ "cl-beanstalk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-beanstalk/2022-07-07/cl-beanstalk-20220707-git.tgz"; - sha256 = "0vca8dw2l765m7g7xcpzi80m8f3145hhshh8ym602336fhiz61q1"; - system = "cl-beanstalk"; - asd = "cl-beanstalk"; - }); - systems = [ "cl-beanstalk" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bip39 = (build-asdf-system { - pname = "cl-bip39"; - version = "20180711-git"; - asds = [ "cl-bip39" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bip39/2018-07-11/cl-bip39-20180711-git.tgz"; - sha256 = "04h4lhppvavvqknp11gaj4ka2wpn9i883w1w27llblkg2vnn0816"; - system = "cl-bip39"; - asd = "cl-bip39"; - }); - systems = [ "cl-bip39" ]; - lispLibs = [ (getAttr "ironclad" self) (getAttr "secure-random" self) (getAttr "split-sequence" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bloggy = (build-asdf-system { - pname = "cl-bloggy"; - version = "20211020-git"; - asds = [ "cl-bloggy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bloggy/2021-10-20/cl-bloggy-20211020-git.tgz"; - sha256 = "1clz2a0s3g3jbsrpypb4byb432l0yb4658riqs6ckin57c4bzxc8"; - system = "cl-bloggy"; - asd = "cl-bloggy"; - }); - systems = [ "cl-bloggy" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "do-urlencode" self) (getAttr "hunchentoot" self) (getAttr "lass" self) (getAttr "local-time" self) (getAttr "lorem-ipsum" self) (getAttr "spinneret" self) (getAttr "str" self) (getAttr "xml-emitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bloom = (build-asdf-system { - pname = "cl-bloom"; - version = "20180228-git"; - asds = [ "cl-bloom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bloom/2018-02-28/cl-bloom-20180228-git.tgz"; - sha256 = "1ircc5sa0a2xlx0fca0is6inwrk311hbj8jx6r4sas5pfv78k4am"; - system = "cl-bloom"; - asd = "cl-bloom"; - }); - systems = [ "cl-bloom" ]; - lispLibs = [ (getAttr "cl-murmurhash" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bloom-filter = (build-asdf-system { - pname = "cl-bloom-filter"; - version = "20221106-git"; - asds = [ "cl-bloom-filter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bloom-filter/2022-11-06/cl-bloom-filter-20221106-git.tgz"; - sha256 = "1s9m617fh3krh2klc2nx7jf89nk43cvvrnvqrhvw9jprw7gqanvq"; - system = "cl-bloom-filter"; - asd = "cl-bloom-filter"; - }); - systems = [ "cl-bloom-filter" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bmp = (build-asdf-system { - pname = "cl-bmp"; - version = "20241012-git"; - asds = [ "cl-bmp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bmp/2024-10-12/cl-bmp-20241012-git.tgz"; - sha256 = "1mcayxjppka40q9xx1qwdvrjjblclnggnicg70i95xqnv5sdwdhz"; - system = "cl-bmp"; - asd = "cl-bmp"; - }); - systems = [ "cl-bmp" ]; - lispLibs = [ (getAttr "binary-structures" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bnf = (build-asdf-system { - pname = "cl-bnf"; - version = "20241012-git"; - asds = [ "cl-bnf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bnf/2024-10-12/cl-bnf-20241012-git.tgz"; - sha256 = "0aa7hnkj71f37lxzlhsppwcmk3yv42hclq08c4jrdnv8jmdb8r0l"; - system = "cl-bnf"; - asd = "cl-bnf"; - }); - systems = [ "cl-bnf" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "utf8-input-stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bnf-examples = (build-asdf-system { - pname = "cl-bnf-examples"; - version = "20241012-git"; - asds = [ "cl-bnf-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bnf/2024-10-12/cl-bnf-20241012-git.tgz"; - sha256 = "0aa7hnkj71f37lxzlhsppwcmk3yv42hclq08c4jrdnv8jmdb8r0l"; - system = "cl-bnf-examples"; - asd = "cl-bnf-examples"; - }); - systems = [ "cl-bnf-examples" ]; - lispLibs = [ (getAttr "cl-bnf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bnf-tests = (build-asdf-system { - pname = "cl-bnf-tests"; - version = "20241012-git"; - asds = [ "cl-bnf-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bnf/2024-10-12/cl-bnf-20241012-git.tgz"; - sha256 = "0aa7hnkj71f37lxzlhsppwcmk3yv42hclq08c4jrdnv8jmdb8r0l"; - system = "cl-bnf-tests"; - asd = "cl-bnf-tests"; - }); - systems = [ "cl-bnf-tests" ]; - lispLibs = [ (getAttr "cl-bnf" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bootstrap = (build-asdf-system { - pname = "cl-bootstrap"; - version = "20180831-git"; - asds = [ "cl-bootstrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz"; - sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry"; - system = "cl-bootstrap"; - asd = "cl-bootstrap"; - }); - systems = [ "cl-bootstrap" ]; - lispLibs = [ (getAttr "cl-who" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bootstrap-demo = (build-asdf-system { - pname = "cl-bootstrap-demo"; - version = "20180831-git"; - asds = [ "cl-bootstrap-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz"; - sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry"; - system = "cl-bootstrap-demo"; - asd = "cl-bootstrap-demo"; - }); - systems = [ "cl-bootstrap-demo" ]; - lispLibs = [ (getAttr "cl-bootstrap" self) (getAttr "cl-who" self) (getAttr "hunchentoot" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bootstrap-test = (build-asdf-system { - pname = "cl-bootstrap-test"; - version = "20180831-git"; - asds = [ "cl-bootstrap-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz"; - sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry"; - system = "cl-bootstrap-test"; - asd = "cl-bootstrap-test"; - }); - systems = [ "cl-bootstrap-test" ]; - lispLibs = [ (getAttr "cl-bootstrap" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bplustree = (build-asdf-system { - pname = "cl-bplustree"; - version = "20180328-git"; - asds = [ "cl-bplustree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bplustree/2018-03-28/cl-bplustree-20180328-git.tgz"; - sha256 = "1d9pm9fi9bhh73bhcgig0wq5i4fvc4551kxvny3di6x6yr7j2kbl"; - system = "cl-bplustree"; - asd = "cl-bplustree"; - }); - systems = [ "cl-bplustree" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bplustree-test = (build-asdf-system { - pname = "cl-bplustree-test"; - version = "20180328-git"; - asds = [ "cl-bplustree-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bplustree/2018-03-28/cl-bplustree-20180328-git.tgz"; - sha256 = "1d9pm9fi9bhh73bhcgig0wq5i4fvc4551kxvny3di6x6yr7j2kbl"; - system = "cl-bplustree-test"; - asd = "cl-bplustree"; - }); - systems = [ "cl-bplustree-test" ]; - lispLibs = [ (getAttr "cl-bplustree" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-brewer-ci = (build-asdf-system { - pname = "cl-brewer-ci"; - version = "20241012-git"; - asds = [ "cl-brewer-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; - sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; - system = "cl-brewer-ci"; - asd = "cl-brewer-ci"; - }); - systems = [ "cl-brewer-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-brewer-deploy-hooks = (build-asdf-system { - pname = "cl-brewer-deploy-hooks"; - version = "20241012-git"; - asds = [ "cl-brewer-deploy-hooks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; - sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; - system = "cl-brewer-deploy-hooks"; - asd = "cl-brewer-deploy-hooks"; - }); - systems = [ "cl-brewer-deploy-hooks" ]; - lispLibs = [ (getAttr "deploy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-brewer-tests = (build-asdf-system { - pname = "cl-brewer-tests"; - version = "20241012-git"; - asds = [ "cl-brewer-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; - sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; - system = "cl-brewer-tests"; - asd = "cl-brewer-tests"; - }); - systems = [ "cl-brewer-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-buchberger = (build-asdf-system { - pname = "cl-buchberger"; - version = "20241012-git"; - asds = [ "cl-buchberger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-buchberger/2024-10-12/cl-buchberger-20241012-git.tgz"; - sha256 = "0hn340y52xfgj788zh449jrh7blfv6yqfnkmqg2vghy92s8jcr1i"; - system = "cl-buchberger"; - asd = "cl-buchberger"; - }); - systems = [ "cl-buchberger" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-bus = (build-asdf-system { - pname = "cl-bus"; - version = "20211209-git"; - asds = [ "cl-bus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-bus/2021-12-09/cl-bus-20211209-git.tgz"; - sha256 = "1galzqm1qv2slibn3awfyxnmlslxmzw09a8fidmbdy1r0ppp5r7z"; - system = "cl-bus"; - asd = "cl-bus"; - }); - systems = [ "cl-bus" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ca = (build-asdf-system { - pname = "cl-ca"; - version = "20161204-git"; - asds = [ "cl-ca" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ca/2016-12-04/cl-ca-20161204-git.tgz"; - sha256 = "0kpwpxw3c8q7b2ajyj9rzhs1r1h6kipdm9qjkgsn0sqrmx9acfnz"; - system = "cl-ca"; - asd = "cl-ca"; - }); - systems = [ "cl-ca" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cache-tables = (build-asdf-system { - pname = "cl-cache-tables"; - version = "20171019-git"; - asds = [ "cl-cache-tables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cache-tables/2017-10-19/cl-cache-tables-20171019-git.tgz"; - sha256 = "008m7v39mq2475y1f4if5iazb15rm02g22id4q4qgig1zx2vfpg1"; - system = "cl-cache-tables"; - asd = "cl-cache-tables"; - }); - systems = [ "cl-cache-tables" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cache-tables-tests = (build-asdf-system { - pname = "cl-cache-tables-tests"; - version = "20171019-git"; - asds = [ "cl-cache-tables-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cache-tables/2017-10-19/cl-cache-tables-20171019-git.tgz"; - sha256 = "008m7v39mq2475y1f4if5iazb15rm02g22id4q4qgig1zx2vfpg1"; - system = "cl-cache-tables-tests"; - asd = "cl-cache-tables"; - }); - systems = [ "cl-cache-tables-tests" ]; - lispLibs = [ (getAttr "cl-cache-tables" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cairo2 = (build-asdf-system { - pname = "cl-cairo2"; - version = "20211020-git"; - asds = [ "cl-cairo2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; - sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; - system = "cl-cairo2"; - asd = "cl-cairo2"; - }); - systems = [ "cl-cairo2" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-colors" self) (getAttr "cl-utilities" self) (getAttr "metabang-bind" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - cl-cairo2-demos = (build-asdf-system { - pname = "cl-cairo2-demos"; - version = "20211020-git"; - asds = [ "cl-cairo2-demos" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; - sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; - system = "cl-cairo2-demos"; - asd = "cl-cairo2-demos"; - }); - systems = [ "cl-cairo2-demos" ]; - lispLibs = [ (getAttr "cl-cairo2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cairo2-xlib = (build-asdf-system { - pname = "cl-cairo2-xlib"; - version = "20211020-git"; - asds = [ "cl-cairo2-xlib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; - sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; - system = "cl-cairo2-xlib"; - asd = "cl-cairo2-xlib"; - }); - systems = [ "cl-cairo2-xlib" ]; - lispLibs = [ (getAttr "cl-cairo2" self) (getAttr "cl-freetype2" self) ]; - meta = {}; - }); - cl-case-control = (build-asdf-system { - pname = "cl-case-control"; - version = "20141106-git"; - asds = [ "cl-case-control" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-case-control/2014-11-06/cl-case-control-20141106-git.tgz"; - sha256 = "0510m1dfz4abw3s7w0axr1b1nsmi72avr850r0sn6p2pq091pc71"; - system = "cl-case-control"; - asd = "cl-case-control"; - }); - systems = [ "cl-case-control" ]; - lispLibs = [ (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-catmull-rom-spline = (build-asdf-system { - pname = "cl-catmull-rom-spline"; - version = "20220220-git"; - asds = [ "cl-catmull-rom-spline" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-catmull-rom-spline/2022-02-20/cl-catmull-rom-spline-20220220-git.tgz"; - sha256 = "0702swja11zpfdx04l0901ipvi0acg17mk9ryvhibnbzq70npyjs"; - system = "cl-catmull-rom-spline"; - asd = "cl-catmull-rom-spline"; - }); - systems = [ "cl-catmull-rom-spline" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cerf = (build-asdf-system { - pname = "cl-cerf"; - version = "20210531-git"; - asds = [ "cl-cerf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cerf/2021-05-31/cl-cerf-20210531-git.tgz"; - sha256 = "0n1b6ig1d0dqkjn06iqsk0m4y7j7msi2gcq7niivcwc4s0ry0ljn"; - system = "cl-cerf"; - asd = "cl-cerf"; - }); - systems = [ "cl-cerf" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-libffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cffi-gtk = (build-asdf-system { - pname = "cl-cffi-gtk"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk"; - asd = "cl-cffi-gtk"; - }); - systems = [ "cl-cffi-gtk" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-cairo" self) (getAttr "cl-cffi-gtk-gdk" self) (getAttr "cl-cffi-gtk-gdk-pixbuf" self) (getAttr "cl-cffi-gtk-gio" self) (getAttr "cl-cffi-gtk-glib" self) (getAttr "cl-cffi-gtk-gobject" self) (getAttr "cl-cffi-gtk-pango" self) ]; - meta = {}; - }); - cl-cffi-gtk-cairo = (build-asdf-system { - pname = "cl-cffi-gtk-cairo"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-cairo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-cairo"; - asd = "cl-cffi-gtk-cairo"; - }); - systems = [ "cl-cffi-gtk-cairo" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-glib" self) ]; - meta = {}; - }); - cl-cffi-gtk-demo-cairo = (build-asdf-system { - pname = "cl-cffi-gtk-demo-cairo"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-demo-cairo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-demo-cairo"; - asd = "cl-cffi-gtk-demo-cairo"; - }); - systems = [ "cl-cffi-gtk-demo-cairo" ]; - lispLibs = [ (getAttr "cl-cffi-gtk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cffi-gtk-demo-glib = (build-asdf-system { - pname = "cl-cffi-gtk-demo-glib"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-demo-glib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-demo-glib"; - asd = "cl-cffi-gtk-demo-glib"; - }); - systems = [ "cl-cffi-gtk-demo-glib" ]; - lispLibs = [ (getAttr "cl-cffi-gtk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cffi-gtk-demo-gobject = (build-asdf-system { - pname = "cl-cffi-gtk-demo-gobject"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-demo-gobject" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-demo-gobject"; - asd = "cl-cffi-gtk-demo-gobject"; - }); - systems = [ "cl-cffi-gtk-demo-gobject" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-gobject" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cffi-gtk-example-gtk = (build-asdf-system { - pname = "cl-cffi-gtk-example-gtk"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-example-gtk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-example-gtk"; - asd = "cl-cffi-gtk-example-gtk"; - }); - systems = [ "cl-cffi-gtk-example-gtk" ]; - lispLibs = [ (getAttr "cl-cffi-gtk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cffi-gtk-gdk = (build-asdf-system { - pname = "cl-cffi-gtk-gdk"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-gdk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-gdk"; - asd = "cl-cffi-gtk-gdk"; - }); - systems = [ "cl-cffi-gtk-gdk" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-cairo" self) (getAttr "cl-cffi-gtk-gdk-pixbuf" self) (getAttr "cl-cffi-gtk-gio" self) (getAttr "cl-cffi-gtk-glib" self) (getAttr "cl-cffi-gtk-gobject" self) (getAttr "cl-cffi-gtk-pango" self) ]; - meta = {}; - }); - cl-cffi-gtk-gdk-pixbuf = (build-asdf-system { - pname = "cl-cffi-gtk-gdk-pixbuf"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-gdk-pixbuf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-gdk-pixbuf"; - asd = "cl-cffi-gtk-gdk-pixbuf"; - }); - systems = [ "cl-cffi-gtk-gdk-pixbuf" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-glib" self) (getAttr "cl-cffi-gtk-gobject" self) ]; - meta = {}; - }); - cl-cffi-gtk-gio = (build-asdf-system { - pname = "cl-cffi-gtk-gio"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-gio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-gio"; - asd = "cl-cffi-gtk-gio"; - }); - systems = [ "cl-cffi-gtk-gio" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-glib" self) (getAttr "cl-cffi-gtk-gobject" self) ]; - meta = {}; - }); - cl-cffi-gtk-glib = (build-asdf-system { - pname = "cl-cffi-gtk-glib"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-glib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-glib"; - asd = "cl-cffi-gtk-glib"; - }); - systems = [ "cl-cffi-gtk-glib" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "iterate" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - cl-cffi-gtk-gobject = (build-asdf-system { - pname = "cl-cffi-gtk-gobject"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-gobject" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-gobject"; - asd = "cl-cffi-gtk-gobject"; - }); - systems = [ "cl-cffi-gtk-gobject" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-glib" self) (getAttr "closer-mop" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - cl-cffi-gtk-opengl-demo = (build-asdf-system { - pname = "cl-cffi-gtk-opengl-demo"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-opengl-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-opengl-demo"; - asd = "cl-cffi-gtk-opengl-demo"; - }); - systems = [ "cl-cffi-gtk-opengl-demo" ]; - lispLibs = [ (getAttr "cl-cffi-gtk" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cffi-gtk-pango = (build-asdf-system { - pname = "cl-cffi-gtk-pango"; - version = "20230214-git"; - asds = [ "cl-cffi-gtk-pango" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; - sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; - system = "cl-cffi-gtk-pango"; - asd = "cl-cffi-gtk-pango"; - }); - systems = [ "cl-cffi-gtk-pango" ]; - lispLibs = [ (getAttr "cl-cffi-gtk-cairo" self) (getAttr "cl-cffi-gtk-glib" self) (getAttr "cl-cffi-gtk-gobject" self) ]; - meta = {}; - }); - cl-change-case = (build-asdf-system { - pname = "cl-change-case"; - version = "20231021-git"; - asds = [ "cl-change-case" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-change-case/2023-10-21/cl-change-case-20231021-git.tgz"; - sha256 = "0g17n80jmaiyqsx8r35v6p0axb03s6j9wywlf8qkvw8rm848pp7s"; - system = "cl-change-case"; - asd = "cl-change-case"; - }); - systems = [ "cl-change-case" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-ppcre-unicode" self) ]; - meta = {}; - }); - cl-charms = (build-asdf-system { - pname = "cl-charms"; - version = "20230618-git"; - asds = [ "cl-charms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; - sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; - system = "cl-charms"; - asd = "cl-charms"; - }); - systems = [ "cl-charms" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-charms-marquee = (build-asdf-system { - pname = "cl-charms-marquee"; - version = "20230618-git"; - asds = [ "cl-charms-marquee" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; - sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; - system = "cl-charms-marquee"; - asd = "cl-charms-marquee"; - }); - systems = [ "cl-charms-marquee" ]; - lispLibs = [ (getAttr "cl-charms" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-charms-paint = (build-asdf-system { - pname = "cl-charms-paint"; - version = "20230618-git"; - asds = [ "cl-charms-paint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; - sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; - system = "cl-charms-paint"; - asd = "cl-charms-paint"; - }); - systems = [ "cl-charms-paint" ]; - lispLibs = [ (getAttr "cl-charms" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-charms-timer = (build-asdf-system { - pname = "cl-charms-timer"; - version = "20230618-git"; - asds = [ "cl-charms-timer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; - sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; - system = "cl-charms-timer"; - asd = "cl-charms-timer"; - }); - systems = [ "cl-charms-timer" ]; - lispLibs = [ (getAttr "cl-charms" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-clblas = (build-asdf-system { - pname = "cl-clblas"; - version = "20181018-git"; - asds = [ "cl-clblas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clblas/2018-10-18/cl-clblas-20181018-git.tgz"; - sha256 = "0cn4hvywaw97ccnj2wxjf20lh7h7n5fs6rq6kgjyfs9cxcixmvrj"; - system = "cl-clblas"; - asd = "cl-clblas"; - }); - systems = [ "cl-clblas" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-clblas-test = (build-asdf-system { - pname = "cl-clblas-test"; - version = "20181018-git"; - asds = [ "cl-clblas-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clblas/2018-10-18/cl-clblas-20181018-git.tgz"; - sha256 = "0cn4hvywaw97ccnj2wxjf20lh7h7n5fs6rq6kgjyfs9cxcixmvrj"; - system = "cl-clblas-test"; - asd = "cl-clblas-test"; - }); - systems = [ "cl-clblas-test" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-clblas" self) (getAttr "cl-oclapi" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cli = (build-asdf-system { - pname = "cl-cli"; - version = "20151218-git"; - asds = [ "cl-cli" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cli/2015-12-18/cl-cli-20151218-git.tgz"; - sha256 = "0zlifq55r78vfdlqf8jy6rkny73438f1i9cp9a8vybmila5dij3q"; - system = "cl-cli"; - asd = "cl-cli"; - }); - systems = [ "cl-cli" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = {}; - }); - cl-clsparse = (build-asdf-system { - pname = "cl-clsparse"; - version = "20190813-git"; - asds = [ "cl-clsparse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clsparse/2019-08-13/cl-clsparse-20190813-git.tgz"; - sha256 = "0cmmwx2ka1jp5711x21knw3zi6kcpkpcs39dm62w82s97bv794gz"; - system = "cl-clsparse"; - asd = "cl-clsparse"; - }); - systems = [ "cl-clsparse" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-libffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cognito = (build-asdf-system { - pname = "cl-cognito"; - version = "20181210-git"; - asds = [ "cl-cognito" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cognito/2018-12-10/cl-cognito-20181210-git.tgz"; - sha256 = "0zy4yg4zggvxwbvkjkd89d2ps236kz6pvz90zn6gzq812wnidsd3"; - system = "cl-cognito"; - asd = "cl-cognito"; - }); - systems = [ "cl-cognito" ]; - lispLibs = [ (getAttr "aws-foundation" self) (getAttr "cl-base64" self) (getAttr "cl-json-helper" self) (getAttr "ironclad" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-coinpayments = (build-asdf-system { - pname = "cl-coinpayments"; - version = "20210807-git"; - asds = [ "cl-coinpayments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-coinpayments/2021-08-07/cl-coinpayments-20210807-git.tgz"; - sha256 = "1vgsh95vjqqg0a6lqg1ivs36yjx6ck8cqhsmlr5l3ldfd8yr65q7"; - system = "cl-coinpayments"; - asd = "cl-coinpayments"; - }); - systems = [ "cl-coinpayments" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-collider = (build-asdf-system { - pname = "cl-collider"; - version = "20241012-git"; - asds = [ "cl-collider" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-collider/2024-10-12/cl-collider-20241012-git.tgz"; - sha256 = "0h0fyx7glxnzwyam2aflma6003h8fcvcf5nj5f7svarw9brcc2xa"; - system = "cl-collider"; - asd = "cl-collider"; - }); - systems = [ "cl-collider" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "named-readtables" self) (getAttr "pileup" self) (getAttr "sc-osc" self) (getAttr "simple-inferiors" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-colors = (build-asdf-system { - pname = "cl-colors"; - version = "20180328-git"; - asds = [ "cl-colors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-colors/2018-03-28/cl-colors-20180328-git.tgz"; - sha256 = "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"; - system = "cl-colors"; - asd = "cl-colors"; - }); - systems = [ "cl-colors" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "let-plus" self) ]; - meta = {}; - }); - cl-colors-tests = (build-asdf-system { - pname = "cl-colors-tests"; - version = "20180328-git"; - asds = [ "cl-colors-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-colors/2018-03-28/cl-colors-20180328-git.tgz"; - sha256 = "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"; - system = "cl-colors-tests"; - asd = "cl-colors"; - }); - systems = [ "cl-colors-tests" ]; - lispLibs = [ (getAttr "cl-colors" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-colors2 = (build-asdf-system { - pname = "cl-colors2"; - version = "20241012-git"; - asds = [ "cl-colors2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-colors2/2024-10-12/cl-colors2-20241012-git.tgz"; - sha256 = "053bidgbqziv5visdq09gy8zf30cvqh1w06l23yygn1yrg7m7302"; - system = "cl-colors2"; - asd = "cl-colors2"; - }); - systems = [ "cl-colors2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "parse-number" self) ]; - meta = {}; - }); - cl-concord = (build-asdf-system { - pname = "cl-concord"; - version = "20241012-git"; - asds = [ "cl-concord" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-concord/2024-10-12/cl-concord-20241012-git.tgz"; - sha256 = "01i13lp3z2v2w165h0xh72r1vyfbjr6k1gwk4hff1rf2yx2yg9k1"; - system = "cl-concord"; - asd = "cl-concord"; - }); - systems = [ "cl-concord" ]; - lispLibs = [ (getAttr "cl-redis" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-conllu = (build-asdf-system { - pname = "cl-conllu"; - version = "20211209-git"; - asds = [ "cl-conllu" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-conllu/2021-12-09/cl-conllu-20211209-git.tgz"; - sha256 = "0n69k0apifnirs2g3rfdsxiwy6dimd9qqxaqywaingvbd7yn42jn"; - system = "cl-conllu"; - asd = "cl-conllu"; - }); - systems = [ "cl-conllu" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-log" self) (getAttr "cl-markup" self) (getAttr "cl-ppcre" self) (getAttr "lispbuilder-lexer" self) (getAttr "optima_dot_ppcre" self) (getAttr "split-sequence" self) (getAttr "uuid" self) (getAttr "wilbur" self) (getAttr "xmls" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-conspack = (build-asdf-system { - pname = "cl-conspack"; - version = "20230214-git"; - asds = [ "cl-conspack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-conspack/2023-02-14/cl-conspack-20230214-git.tgz"; - sha256 = "0y5wp5c89ph44k2xjppy1c1jf2ac3q9yrk22da2rkwnbxn0h1a8d"; - system = "cl-conspack"; - asd = "cl-conspack"; - }); - systems = [ "cl-conspack" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "fast-io" self) (getAttr "ieee-floats" self) (getAttr "trivial-garbage" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-conspack-test = (build-asdf-system { - pname = "cl-conspack-test"; - version = "20230214-git"; - asds = [ "cl-conspack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-conspack/2023-02-14/cl-conspack-20230214-git.tgz"; - sha256 = "0y5wp5c89ph44k2xjppy1c1jf2ac3q9yrk22da2rkwnbxn0h1a8d"; - system = "cl-conspack-test"; - asd = "cl-conspack-test"; - }); - systems = [ "cl-conspack-test" ]; - lispLibs = [ (getAttr "cl-conspack" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cont = (build-asdf-system { - pname = "cl-cont"; - version = "20110219-darcs"; - asds = [ "cl-cont" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cont/2011-02-19/cl-cont-20110219-darcs.tgz"; - sha256 = "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"; - system = "cl-cont"; - asd = "cl-cont"; - }); - systems = [ "cl-cont" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cont-test = (build-asdf-system { - pname = "cl-cont-test"; - version = "20110219-darcs"; - asds = [ "cl-cont-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cont/2011-02-19/cl-cont-20110219-darcs.tgz"; - sha256 = "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"; - system = "cl-cont-test"; - asd = "cl-cont-test"; - }); - systems = [ "cl-cont-test" ]; - lispLibs = [ (getAttr "cl-cont" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-containers = (build-asdf-system { - pname = "cl-containers"; - version = "20241012-git"; - asds = [ "cl-containers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-containers/2024-10-12/cl-containers-20241012-git.tgz"; - sha256 = "0xpa5yhsndh33cs4q6vgjc8jxwlmv8lxkg4bamfi0f3ad4smi7zl"; - system = "cl-containers"; - asd = "cl-containers"; - }); - systems = [ "cl-containers" ]; - lispLibs = [ (getAttr "asdf-system-connections" self) (getAttr "metatilities-base" self) ]; - meta = {}; - }); - cl-containers-test = (build-asdf-system { - pname = "cl-containers-test"; - version = "20241012-git"; - asds = [ "cl-containers-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-containers/2024-10-12/cl-containers-20241012-git.tgz"; - sha256 = "0xpa5yhsndh33cs4q6vgjc8jxwlmv8lxkg4bamfi0f3ad4smi7zl"; - system = "cl-containers-test"; - asd = "cl-containers-test"; - }); - systems = [ "cl-containers-test" ]; - lispLibs = [ (getAttr "cl-containers" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cookie = (build-asdf-system { - pname = "cl-cookie"; - version = "20241012-git"; - asds = [ "cl-cookie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cookie/2024-10-12/cl-cookie-20241012-git.tgz"; - sha256 = "172lw0sm6i9nvlx0iv0851rsm5pc28xqqf6a75pwv1fvr6srq8qh"; - system = "cl-cookie"; - asd = "cl-cookie"; - }); - systems = [ "cl-cookie" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "proc-parse" self) (getAttr "quri" self) ]; - meta = {}; - }); - cl-cookie-test = (build-asdf-system { - pname = "cl-cookie-test"; - version = "20241012-git"; - asds = [ "cl-cookie-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cookie/2024-10-12/cl-cookie-20241012-git.tgz"; - sha256 = "172lw0sm6i9nvlx0iv0851rsm5pc28xqqf6a75pwv1fvr6srq8qh"; - system = "cl-cookie-test"; - asd = "cl-cookie-test"; - }); - systems = [ "cl-cookie-test" ]; - lispLibs = [ (getAttr "cl-cookie" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-coroutine = (build-asdf-system { - pname = "cl-coroutine"; - version = "20160929-git"; - asds = [ "cl-coroutine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-coroutine/2016-09-29/cl-coroutine-20160929-git.tgz"; - sha256 = "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"; - system = "cl-coroutine"; - asd = "cl-coroutine"; - }); - systems = [ "cl-coroutine" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-cont" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-coroutine-test = (build-asdf-system { - pname = "cl-coroutine-test"; - version = "20160929-git"; - asds = [ "cl-coroutine-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-coroutine/2016-09-29/cl-coroutine-20160929-git.tgz"; - sha256 = "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"; - system = "cl-coroutine-test"; - asd = "cl-coroutine-test"; - }); - systems = [ "cl-coroutine-test" ]; - lispLibs = [ (getAttr "cl-coroutine" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-coveralls = (build-asdf-system { - pname = "cl-coveralls"; - version = "20210411-git"; - asds = [ "cl-coveralls" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-coveralls/2021-04-11/cl-coveralls-20210411-git.tgz"; - sha256 = "1n4jks92827xbi2zzy6gsx3r2gl97difl04da9wz94n9rjj3bcz0"; - system = "cl-coveralls"; - asd = "cl-coveralls"; - }); - systems = [ "cl-coveralls" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "lquery" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-coveralls-test = (build-asdf-system { - pname = "cl-coveralls-test"; - version = "20210411-git"; - asds = [ "cl-coveralls-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-coveralls/2021-04-11/cl-coveralls-20210411-git.tgz"; - sha256 = "1n4jks92827xbi2zzy6gsx3r2gl97difl04da9wz94n9rjj3bcz0"; - system = "cl-coveralls-test"; - asd = "cl-coveralls-test"; - }); - systems = [ "cl-coveralls-test" ]; - lispLibs = [ (getAttr "cl-coveralls" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-covid19 = (build-asdf-system { - pname = "cl-covid19"; - version = "20220331-git"; - asds = [ "cl-covid19" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-covid19/2022-03-31/cl-covid19-20220331-git.tgz"; - sha256 = "0nxdharz29nrdylrwnhgdayfsfwm0vd5g487mi4i5lly8q0i9vl0"; - system = "cl-covid19"; - asd = "cl-covid19"; - }); - systems = [ "cl-covid19" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ascii-table" self) (getAttr "cl-csv" self) (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_dbi" self) (getAttr "cl-migratum_dot_provider_dot_local-path" self) (getAttr "dexador" self) (getAttr "djula" self) (getAttr "jonathan" self) (getAttr "quri" self) (getAttr "tmpdir" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cpu-affinity = (build-asdf-system { - pname = "cl-cpu-affinity"; - version = "20210411-git"; - asds = [ "cl-cpu-affinity" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "cl-cpu-affinity"; - asd = "cl-cpu-affinity"; - }); - systems = [ "cl-cpu-affinity" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cpus = (build-asdf-system { - pname = "cl-cpus"; - version = "20230618-git"; - asds = [ "cl-cpus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cpus/2023-06-18/cl-cpus-20230618-git.tgz"; - sha256 = "1gxyb85hpjmhz7vhny9cscrzldx06f7c5q93pl1qs0s3b7avh5vd"; - system = "cl-cpus"; - asd = "cl-cpus"; - }); - systems = [ "cl-cpus" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cram = (build-asdf-system { - pname = "cl-cram"; - version = "20230618-git"; - asds = [ "cl-cram" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cram/2023-06-18/cl-cram-20230618-git.tgz"; - sha256 = "139p4hbb6ac57ay5vgr969d3rki9ypk9ninaqm5vkax2hcx7mq3i"; - system = "cl-cram"; - asd = "cl-cram"; - }); - systems = [ "cl-cram" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-crc64 = (build-asdf-system { - pname = "cl-crc64"; - version = "20140713-git"; - asds = [ "cl-crc64" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-crc64/2014-07-13/cl-crc64-20140713-git.tgz"; - sha256 = "1cqky5ps28r49z6ib4vjwfjpq3ml81p2ayf0nqppf2lc4vf3kb20"; - system = "cl-crc64"; - asd = "cl-crc64"; - }); - systems = [ "cl-crc64" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-creditcard = (build-asdf-system { - pname = "cl-creditcard"; - version = "20150113-git"; - asds = [ "cl-creditcard" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz"; - sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr"; - system = "cl-creditcard"; - asd = "cl-creditcard"; - }); - systems = [ "cl-creditcard" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cron = (build-asdf-system { - pname = "cl-cron"; - version = "20231021-git"; - asds = [ "cl-cron" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cron/2023-10-21/cl-cron-20231021-git.tgz"; - sha256 = "0l1jg2sqdqniaqsaywy0ar49m10gzls8i31gpxmd7c4yzazy4fib"; - system = "cl-cron"; - asd = "cl-cron"; - }); - systems = [ "cl-cron" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-css = (build-asdf-system { - pname = "cl-css"; - version = "20140914-git"; - asds = [ "cl-css" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-css/2014-09-14/cl-css-20140914-git.tgz"; - sha256 = "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"; - system = "cl-css"; - asd = "cl-css"; - }); - systems = [ "cl-css" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-csv = (build-asdf-system { - pname = "cl-csv"; - version = "20241012-git"; - asds = [ "cl-csv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-csv/2024-10-12/cl-csv-20241012-git.tgz"; - sha256 = "0pb89l3bi2cnk7sav2w0dmlvjxij1wpy3w6n9c4b6imjs0pznrxi"; - system = "cl-csv"; - asd = "cl-csv"; - }); - systems = [ "cl-csv" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "iterate" self) ]; - meta = {}; - }); - cl-csv-clsql = (build-asdf-system { - pname = "cl-csv-clsql"; - version = "20241012-git"; - asds = [ "cl-csv-clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-csv/2024-10-12/cl-csv-20241012-git.tgz"; - sha256 = "0pb89l3bi2cnk7sav2w0dmlvjxij1wpy3w6n9c4b6imjs0pznrxi"; - system = "cl-csv-clsql"; - asd = "cl-csv-clsql"; - }); - systems = [ "cl-csv-clsql" ]; - lispLibs = [ (getAttr "cl-csv" self) (getAttr "clsql-helper" self) (getAttr "data-table-clsql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-csv-data-table = (build-asdf-system { - pname = "cl-csv-data-table"; - version = "20241012-git"; - asds = [ "cl-csv-data-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-csv/2024-10-12/cl-csv-20241012-git.tgz"; - sha256 = "0pb89l3bi2cnk7sav2w0dmlvjxij1wpy3w6n9c4b6imjs0pznrxi"; - system = "cl-csv-data-table"; - asd = "cl-csv-data-table"; - }); - systems = [ "cl-csv-data-table" ]; - lispLibs = [ (getAttr "cl-csv" self) (getAttr "data-table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cuda = (build-asdf-system { - pname = "cl-cuda"; - version = "20210807-git"; - asds = [ "cl-cuda" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; - sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; - system = "cl-cuda"; - asd = "cl-cuda"; - }); - systems = [ "cl-cuda" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-pattern" self) (getAttr "cl-ppcre" self) (getAttr "cl-reexport" self) (getAttr "external-program" self) (getAttr "osicat" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - cl-cuda-examples = (build-asdf-system { - pname = "cl-cuda-examples"; - version = "20210807-git"; - asds = [ "cl-cuda-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; - sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; - system = "cl-cuda-examples"; - asd = "cl-cuda-examples"; - }); - systems = [ "cl-cuda-examples" ]; - lispLibs = [ (getAttr "cl-cuda" self) (getAttr "imago" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cuda-interop = (build-asdf-system { - pname = "cl-cuda-interop"; - version = "20210807-git"; - asds = [ "cl-cuda-interop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; - sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; - system = "cl-cuda-interop"; - asd = "cl-cuda-interop"; - }); - systems = [ "cl-cuda-interop" ]; - lispLibs = [ (getAttr "cl-cuda" self) (getAttr "cl-glu" self) (getAttr "cl-glut" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cuda-interop-examples = (build-asdf-system { - pname = "cl-cuda-interop-examples"; - version = "20210807-git"; - asds = [ "cl-cuda-interop-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; - sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; - system = "cl-cuda-interop-examples"; - asd = "cl-cuda-interop-examples"; - }); - systems = [ "cl-cuda-interop-examples" ]; - lispLibs = [ (getAttr "cl-cuda-interop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-cuda-misc = (build-asdf-system { - pname = "cl-cuda-misc"; - version = "20210807-git"; - asds = [ "cl-cuda-misc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; - sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; - system = "cl-cuda-misc"; - asd = "cl-cuda-misc"; - }); - systems = [ "cl-cuda-misc" ]; - lispLibs = [ (getAttr "cl-emb" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-custom-hash-table = (build-asdf-system { - pname = "cl-custom-hash-table"; - version = "20241012-git"; - asds = [ "cl-custom-hash-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-custom-hash-table/2024-10-12/cl-custom-hash-table-20241012-git.tgz"; - sha256 = "1sb5anv9kh7wv165nra95v0qkk1gvp3mn461zi7m0fla1290g598"; - system = "cl-custom-hash-table"; - asd = "cl-custom-hash-table"; - }); - systems = [ "cl-custom-hash-table" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-custom-hash-table-test = (build-asdf-system { - pname = "cl-custom-hash-table-test"; - version = "20241012-git"; - asds = [ "cl-custom-hash-table-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-custom-hash-table/2024-10-12/cl-custom-hash-table-20241012-git.tgz"; - sha256 = "1sb5anv9kh7wv165nra95v0qkk1gvp3mn461zi7m0fla1290g598"; - system = "cl-custom-hash-table-test"; - asd = "cl-custom-hash-table-test"; - }); - systems = [ "cl-custom-hash-table-test" ]; - lispLibs = [ (getAttr "cl-custom-hash-table" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-data-structures = (build-asdf-system { - pname = "cl-data-structures"; - version = "20241012-git"; - asds = [ "cl-data-structures" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-data-structures/2024-10-12/cl-data-structures-20241012-git.tgz"; - sha256 = "0h49h1x9dgr53imj0r4lgx0zvdsv3mnh7lyayzy9hlysy2ixp425"; - system = "cl-data-structures"; - asd = "cl-data-structures"; - }); - systems = [ "cl-data-structures" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "documentation-utils-extensions" self) (getAttr "flexichain" self) (getAttr "iterate" self) (getAttr "lparallel" self) (getAttr "metabang-bind" self) (getAttr "more-conditions" self) (getAttr "serapeum" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-data-structures-tests = (build-asdf-system { - pname = "cl-data-structures-tests"; - version = "20241012-git"; - asds = [ "cl-data-structures-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-data-structures/2024-10-12/cl-data-structures-20241012-git.tgz"; - sha256 = "0h49h1x9dgr53imj0r4lgx0zvdsv3mnh7lyayzy9hlysy2ixp425"; - system = "cl-data-structures-tests"; - asd = "cl-data-structures-tests"; - }); - systems = [ "cl-data-structures-tests" ]; - lispLibs = [ (getAttr "cl-data-structures" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-date-time-parser = (build-asdf-system { - pname = "cl-date-time-parser"; - version = "20140713-git"; - asds = [ "cl-date-time-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-date-time-parser/2014-07-13/cl-date-time-parser-20140713-git.tgz"; - sha256 = "0dswpbbb57jm609xxfah25dxxhjzc7qh5lr1a1ffkpms84l0r7m5"; - system = "cl-date-time-parser"; - asd = "cl-date-time-parser"; - }); - systems = [ "cl-date-time-parser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "parse-float" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dbi = (build-asdf-system { - pname = "cl-dbi"; - version = "20241012-git"; - asds = [ "cl-dbi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; - sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; - system = "cl-dbi"; - asd = "cl-dbi"; - }); - systems = [ "cl-dbi" ]; - lispLibs = [ (getAttr "dbi" self) ]; - meta = {}; - }); - cl-debug-print = (build-asdf-system { - pname = "cl-debug-print"; - version = "20210807-git"; - asds = [ "cl-debug-print" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz"; - sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh"; - system = "cl-debug-print"; - asd = "cl-debug-print"; - }); - systems = [ "cl-debug-print" ]; - lispLibs = [ (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-debug-print-test = (build-asdf-system { - pname = "cl-debug-print-test"; - version = "20210807-git"; - asds = [ "cl-debug-print-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz"; - sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh"; - system = "cl-debug-print-test"; - asd = "cl-debug-print-test"; - }); - systems = [ "cl-debug-print-test" ]; - lispLibs = [ (getAttr "cl-debug-print" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dejavu = (build-asdf-system { - pname = "cl-dejavu"; - version = "20210124-git"; - asds = [ "cl-dejavu" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dejavu/2021-01-24/cl-dejavu-20210124-git.tgz"; - sha256 = "1lbxiq21bxj8r11c58cqskgn8gnl2p8q1ydkhdsv7i7xnhv2y7r0"; - system = "cl-dejavu"; - asd = "cl-dejavu"; - }); - systems = [ "cl-dejavu" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-devil = (build-asdf-system { - pname = "cl-devil"; - version = "20150302-git"; - asds = [ "cl-devil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz"; - sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf"; - system = "cl-devil"; - asd = "cl-devil"; - }); - systems = [ "cl-devil" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-diceware = (build-asdf-system { - pname = "cl-diceware"; - version = "20150923-git"; - asds = [ "cl-diceware" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-diceware/2015-09-23/cl-diceware-20150923-git.tgz"; - sha256 = "0560ji51ksp8kngn2pyi41vw9zlnwiqj64ici43lzjx0qgv5v84l"; - system = "cl-diceware"; - asd = "cl-diceware"; - }); - systems = [ "cl-diceware" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-difflib = (build-asdf-system { - pname = "cl-difflib"; - version = "20130128-git"; - asds = [ "cl-difflib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-difflib/2013-01-28/cl-difflib-20130128-git.tgz"; - sha256 = "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"; - system = "cl-difflib"; - asd = "cl-difflib"; - }); - systems = [ "cl-difflib" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-difflib-tests = (build-asdf-system { - pname = "cl-difflib-tests"; - version = "20130128-git"; - asds = [ "cl-difflib-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-difflib/2013-01-28/cl-difflib-20130128-git.tgz"; - sha256 = "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"; - system = "cl-difflib-tests"; - asd = "cl-difflib-tests"; - }); - systems = [ "cl-difflib-tests" ]; - lispLibs = [ (getAttr "cl-difflib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-digraph = (build-asdf-system { - pname = "cl-digraph"; - version = "20241012-hg"; - asds = [ "cl-digraph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-digraph/2024-10-12/cl-digraph-20241012-hg.tgz"; - sha256 = "18avbb608rv5radbczilfzb2857wz7pad49hwhr5za5qycjam8ss"; - system = "cl-digraph"; - asd = "cl-digraph"; - }); - systems = [ "cl-digraph" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-digraph_dot_dot = (build-asdf-system { - pname = "cl-digraph.dot"; - version = "20241012-hg"; - asds = [ "cl-digraph.dot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-digraph/2024-10-12/cl-digraph-20241012-hg.tgz"; - sha256 = "18avbb608rv5radbczilfzb2857wz7pad49hwhr5za5qycjam8ss"; - system = "cl-digraph.dot"; - asd = "cl-digraph.dot"; - }); - systems = [ "cl-digraph.dot" ]; - lispLibs = [ (getAttr "cl-digraph" self) (getAttr "cl-dot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-digraph_dot_test = (build-asdf-system { - pname = "cl-digraph.test"; - version = "20241012-hg"; - asds = [ "cl-digraph.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-digraph/2024-10-12/cl-digraph-20241012-hg.tgz"; - sha256 = "18avbb608rv5radbczilfzb2857wz7pad49hwhr5za5qycjam8ss"; - system = "cl-digraph.test"; - asd = "cl-digraph.test"; - }); - systems = [ "cl-digraph.test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "alexandria" self) (getAttr "cl-digraph" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-diskspace = (build-asdf-system { - pname = "cl-diskspace"; - version = "20220331-git"; - asds = [ "cl-diskspace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-diskspace/2022-03-31/cl-diskspace-20220331-git.tgz"; - sha256 = "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"; - system = "cl-diskspace"; - asd = "cl-diskspace"; - }); - systems = [ "cl-diskspace" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-disque = (build-asdf-system { - pname = "cl-disque"; - version = "20171227-git"; - asds = [ "cl-disque" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-disque/2017-12-27/cl-disque-20171227-git.tgz"; - sha256 = "0z26ls9vzlq43fwn307nb7xvqck5h3l9yygf93b0filki83krg3s"; - system = "cl-disque"; - asd = "cl-disque"; - }); - systems = [ "cl-disque" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "rutils" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-disque-test = (build-asdf-system { - pname = "cl-disque-test"; - version = "20171227-git"; - asds = [ "cl-disque-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-disque/2017-12-27/cl-disque-20171227-git.tgz"; - sha256 = "0z26ls9vzlq43fwn307nb7xvqck5h3l9yygf93b0filki83krg3s"; - system = "cl-disque-test"; - asd = "cl-disque-test"; - }); - systems = [ "cl-disque-test" ]; - lispLibs = [ (getAttr "cl-disque" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-djula-svg = (build-asdf-system { - pname = "cl-djula-svg"; - version = "20221106-git"; - asds = [ "cl-djula-svg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-djula-svg/2022-11-06/cl-djula-svg-20221106-git.tgz"; - sha256 = "1jxgngr51ars234by4vnczfqmkwi2iy94sdxnj3pkjrdximy5any"; - system = "cl-djula-svg"; - asd = "cl-djula-svg"; - }); - systems = [ "cl-djula-svg" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-djula-tailwind = (build-asdf-system { - pname = "cl-djula-tailwind"; - version = "20221106-git"; - asds = [ "cl-djula-tailwind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-djula-tailwind/2022-11-06/cl-djula-tailwind-20221106-git.tgz"; - sha256 = "059mfgh53gpj74rgr7b61fnm24bwx8hdrw15mjk687y9sna3avda"; - system = "cl-djula-tailwind"; - asd = "cl-djula-tailwind"; - }); - systems = [ "cl-djula-tailwind" ]; - lispLibs = [ (getAttr "cl-css" self) (getAttr "cl-minify-css" self) (getAttr "cl-ppcre" self) (getAttr "djula" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dot = (build-asdf-system { - pname = "cl-dot"; - version = "20241012-git"; - asds = [ "cl-dot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dot/2024-10-12/cl-dot-20241012-git.tgz"; - sha256 = "1874jsc51pkyh6rz27qdhhsdyzx1mr7zx7v65m849wp49qlxs1ya"; - system = "cl-dot"; - asd = "cl-dot"; - }); - systems = [ "cl-dot" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-dotenv = (build-asdf-system { - pname = "cl-dotenv"; - version = "20181018-git"; - asds = [ "cl-dotenv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dotenv/2018-10-18/cl-dotenv-20181018-git.tgz"; - sha256 = "0cdbk886aizsnqqs3z4jfn8nyrnxj4yb3y00av49xc4h83h6xn53"; - system = "cl-dotenv"; - asd = "cl-dotenv"; - }); - systems = [ "cl-dotenv" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dotenv-test = (build-asdf-system { - pname = "cl-dotenv-test"; - version = "20181018-git"; - asds = [ "cl-dotenv-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dotenv/2018-10-18/cl-dotenv-20181018-git.tgz"; - sha256 = "0cdbk886aizsnqqs3z4jfn8nyrnxj4yb3y00av49xc4h83h6xn53"; - system = "cl-dotenv-test"; - asd = "cl-dotenv-test"; - }); - systems = [ "cl-dotenv-test" ]; - lispLibs = [ (getAttr "cl-dotenv" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-drawille = (build-asdf-system { - pname = "cl-drawille"; - version = "20210807-git"; - asds = [ "cl-drawille" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-drawille/2021-08-07/cl-drawille-20210807-git.tgz"; - sha256 = "0wmiz0c7h2zsfj7inzzn8jivnfsc94rq8pczfi44h36n2jg6hdys"; - system = "cl-drawille"; - asd = "cl-drawille"; - }); - systems = [ "cl-drawille" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-drm = (build-asdf-system { - pname = "cl-drm"; - version = "20161204-git"; - asds = [ "cl-drm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-drm/2016-12-04/cl-drm-20161204-git.tgz"; - sha256 = "018jsdi9hs71x14mq18k08hwrgdvvbc2yqbqww6gara0bg9cl3l6"; - system = "cl-drm"; - asd = "cl-drm"; - }); - systems = [ "cl-drm" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dropbox = (build-asdf-system { - pname = "cl-dropbox"; - version = "20150608-git"; - asds = [ "cl-dropbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dropbox/2015-06-08/cl-dropbox-20150608-git.tgz"; - sha256 = "09giwr1wlz42flrpy71gv60p53nixjk9jaj4lirgf59dkh718f9x"; - system = "cl-dropbox"; - asd = "cl-dropbox"; - }); - systems = [ "cl-dropbox" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "cl-oauth" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dsl = (build-asdf-system { - pname = "cl-dsl"; - version = "20130720-git"; - asds = [ "cl-dsl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dsl/2013-07-20/cl-dsl-20130720-git.tgz"; - sha256 = "1bj5yp20r8z6gi6rpf88kpy4i06c8i2d3cg5sjlq7d1ninkb4gg4"; - system = "cl-dsl"; - asd = "cl-dsl"; - }); - systems = [ "cl-dsl" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-dsl-tests = (build-asdf-system { - pname = "cl-dsl-tests"; - version = "20130720-git"; - asds = [ "cl-dsl-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dsl/2013-07-20/cl-dsl-20130720-git.tgz"; - sha256 = "1bj5yp20r8z6gi6rpf88kpy4i06c8i2d3cg5sjlq7d1ninkb4gg4"; - system = "cl-dsl-tests"; - asd = "cl-dsl"; - }); - systems = [ "cl-dsl-tests" ]; - lispLibs = [ (getAttr "cl-dsl" self) (getAttr "eos" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-durian = (build-asdf-system { - pname = "cl-durian"; - version = "20150608-git"; - asds = [ "cl-durian" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-durian/2015-06-08/cl-durian-20150608-git.tgz"; - sha256 = "0s89gr5gwwkyirrv7l5fzk9ws7fhy087c3myksblsh00z1xcrvng"; - system = "cl-durian"; - asd = "cl-durian"; - }); - systems = [ "cl-durian" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-earley-parser = (build-asdf-system { - pname = "cl-earley-parser"; - version = "20211020-git"; - asds = [ "cl-earley-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-earley-parser/2021-10-20/cl-earley-parser-20211020-git.tgz"; - sha256 = "1pkry3ynxn2y3nf13lc3zjqgf4hx43d9zb0w0m34s51xd4xp2h1x"; - system = "cl-earley-parser"; - asd = "cl-earley-parser"; - }); - systems = [ "cl-earley-parser" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ecma-48 = (build-asdf-system { - pname = "cl-ecma-48"; - version = "20200218-http"; - asds = [ "cl-ecma-48" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ecma-48/2020-02-18/cl-ecma-48-20200218-http.tgz"; - sha256 = "1y3srzahci25qp959b87m82d1i1i8jmq039yp9nf0hifxyhw6dgy"; - system = "cl-ecma-48"; - asd = "cl-ecma-48"; - }); - systems = [ "cl-ecma-48" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-egl = (build-asdf-system { - pname = "cl-egl"; - version = "20190521-git"; - asds = [ "cl-egl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-egl/2019-05-21/cl-egl-20190521-git.tgz"; - sha256 = "19shhzmdc9f1128slc9m4ns6zraka99awqgb4dkrwzgv7w3miqfl"; - system = "cl-egl"; - asd = "cl-egl"; - }); - systems = [ "cl-egl" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-elastic = (build-asdf-system { - pname = "cl-elastic"; - version = "20200218-git"; - asds = [ "cl-elastic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-elastic/2020-02-18/cl-elastic-20200218-git.tgz"; - sha256 = "107ha226n3mxzvm0cp8kvgybcv4rr0b4lwik4f4j7lrhz6xvnncq"; - system = "cl-elastic"; - asd = "cl-elastic"; - }); - systems = [ "cl-elastic" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "named-readtables" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-elastic-test = (build-asdf-system { - pname = "cl-elastic-test"; - version = "20200218-git"; - asds = [ "cl-elastic-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-elastic/2020-02-18/cl-elastic-20200218-git.tgz"; - sha256 = "107ha226n3mxzvm0cp8kvgybcv4rr0b4lwik4f4j7lrhz6xvnncq"; - system = "cl-elastic-test"; - asd = "cl-elastic-test"; - }); - systems = [ "cl-elastic-test" ]; - lispLibs = [ (getAttr "cl-elastic" self) (getAttr "named-readtables" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-emacs-if = (build-asdf-system { - pname = "cl-emacs-if"; - version = "20120305-git"; - asds = [ "cl-emacs-if" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-emacs-if/2012-03-05/cl-emacs-if-20120305-git.tgz"; - sha256 = "0br3jvihq24ymqjn2r2qnl3l099r329bsqh18nmkk3yw3kclrcfv"; - system = "cl-emacs-if"; - asd = "cl-emacs-if"; - }); - systems = [ "cl-emacs-if" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-emb = (build-asdf-system { - pname = "cl-emb"; - version = "20190521-git"; - asds = [ "cl-emb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-emb/2019-05-21/cl-emb-20190521-git.tgz"; - sha256 = "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"; - system = "cl-emb"; - asd = "cl-emb"; - }); - systems = [ "cl-emb" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = {}; - }); - cl-emoji = (build-asdf-system { - pname = "cl-emoji"; - version = "20200218-git"; - asds = [ "cl-emoji" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-emoji/2020-02-18/cl-emoji-20200218-git.tgz"; - sha256 = "1v91kzx42qyjm936frvfsr0cgnj9g197x78xlda6x7x6xri2r9gm"; - system = "cl-emoji"; - asd = "cl-emoji"; - }); - systems = [ "cl-emoji" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-emoji-test = (build-asdf-system { - pname = "cl-emoji-test"; - version = "20200218-git"; - asds = [ "cl-emoji-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-emoji/2020-02-18/cl-emoji-20200218-git.tgz"; - sha256 = "1v91kzx42qyjm936frvfsr0cgnj9g197x78xlda6x7x6xri2r9gm"; - system = "cl-emoji-test"; - asd = "cl-emoji-test"; - }); - systems = [ "cl-emoji-test" ]; - lispLibs = [ (getAttr "cl-emoji" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-env = (build-asdf-system { - pname = "cl-env"; - version = "20180430-git"; - asds = [ "cl-env" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-env/2018-04-30/cl-env-20180430-git.tgz"; - sha256 = "1r0d004gr1za9ib53jhxkx315wd4av0ar2063dcvs9g4nahk2d07"; - system = "cl-env"; - asd = "cl-env"; - }); - systems = [ "cl-env" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-environments = (build-asdf-system { - pname = "cl-environments"; - version = "20241012-git"; - asds = [ "cl-environments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-environments/2024-10-12/cl-environments-20241012-git.tgz"; - sha256 = "0pafk4c0qdzqp0l23fi1pgrqycbcrwm51wq0x0jvr7975yfx2lim"; - system = "cl-environments"; - asd = "cl-environments"; - }); - systems = [ "cl-environments" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "collectors" self) (getAttr "optima" self) (getAttr "parse-declarations-1_dot_0" self) ]; - meta = {}; - }); - cl-etcd = (build-asdf-system { - pname = "cl-etcd"; - version = "20230214-git"; - asds = [ "cl-etcd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-etcd/2023-02-14/cl-etcd-20230214-git.tgz"; - sha256 = "0bals10r07prxvjxd744vz02ri72isf168lkhrx9qkc96hd214ah"; - system = "cl-etcd"; - asd = "cl-etcd"; - }); - systems = [ "cl-etcd" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "async-process" self) (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "split-sequence" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-events = (build-asdf-system { - pname = "cl-events"; - version = "20160318-git"; - asds = [ "cl-events" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-events/2016-03-18/cl-events-20160318-git.tgz"; - sha256 = "1r847q1bwblnb2395dsydylr9nxgjx7gdwc9dx1051zhvi9in36g"; - system = "cl-events"; - asd = "cl-events"; - }); - systems = [ "cl-events" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "blackbird" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-events_dot_test = (build-asdf-system { - pname = "cl-events.test"; - version = "20160318-git"; - asds = [ "cl-events.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-events/2016-03-18/cl-events-20160318-git.tgz"; - sha256 = "1r847q1bwblnb2395dsydylr9nxgjx7gdwc9dx1051zhvi9in36g"; - system = "cl-events.test"; - asd = "cl-events.test"; - }); - systems = [ "cl-events.test" ]; - lispLibs = [ (getAttr "cl-events" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ewkb = (build-asdf-system { - pname = "cl-ewkb"; - version = "20110619-git"; - asds = [ "cl-ewkb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ewkb/2011-06-19/cl-ewkb-20110619-git.tgz"; - sha256 = "1mk5j34m9gkwl7c4d464l42gclxlrcpifp2nq41z3fsfl8badn6w"; - system = "cl-ewkb"; - asd = "cl-ewkb"; - }); - systems = [ "cl-ewkb" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "ieee-floats" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ewkb-tests = (build-asdf-system { - pname = "cl-ewkb-tests"; - version = "20110619-git"; - asds = [ "cl-ewkb-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ewkb/2011-06-19/cl-ewkb-20110619-git.tgz"; - sha256 = "1mk5j34m9gkwl7c4d464l42gclxlrcpifp2nq41z3fsfl8badn6w"; - system = "cl-ewkb-tests"; - asd = "cl-ewkb"; - }); - systems = [ "cl-ewkb-tests" ]; - lispLibs = [ (getAttr "cl-ewkb" self) (getAttr "postmodern" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-factoring = (build-asdf-system { - pname = "cl-factoring"; - version = "20221106-git"; - asds = [ "cl-factoring" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-factoring/2022-11-06/cl-factoring-20221106-git.tgz"; - sha256 = "0vn3kb8mmi93pr76lx1mbwp7qc2krzb0ayzcrffwq2aw2q201fhd"; - system = "cl-factoring"; - asd = "cl-factoring"; - }); - systems = [ "cl-factoring" ]; - lispLibs = [ (getAttr "cl-primality" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fad = (build-asdf-system { - pname = "cl-fad"; - version = "20220220-git"; - asds = [ "cl-fad" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fad/2022-02-20/cl-fad-20220220-git.tgz"; - sha256 = "0a1xqldrq170lflnns3xp6swpnvsvllf5vq0h7sz8jqh4riqlny6"; - system = "cl-fad"; - asd = "cl-fad"; - }); - systems = [ "cl-fad" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) ]; - meta = {}; - }); - cl-fam = (build-asdf-system { - pname = "cl-fam"; - version = "20121125-git"; - asds = [ "cl-fam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fam/2012-11-25/cl-fam-20121125-git.tgz"; - sha256 = "1imv87imhxvigghx3l28kbsldz6hpqd32280wjwffqwvadhx0gng"; - system = "cl-fam"; - asd = "cl-fam"; - }); - systems = [ "cl-fam" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fast-ecs = (build-asdf-system { - pname = "cl-fast-ecs"; - version = "20241012-git"; - asds = [ "cl-fast-ecs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fast-ecs/2024-10-12/cl-fast-ecs-20241012-git.tgz"; - sha256 = "0hwprzq6dnbfh4y08db615gzpdpr8vphy27whgsjhyg980503hxv"; - system = "cl-fast-ecs"; - asd = "cl-fast-ecs"; - }); - systems = [ "cl-fast-ecs" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fastcgi = (build-asdf-system { - pname = "cl-fastcgi"; - version = "20241012-git"; - asds = [ "cl-fastcgi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fastcgi/2024-10-12/cl-fastcgi-20241012-git.tgz"; - sha256 = "0hf6a8jrz8dx91px8q4201k3y919ls7cgn4qjmkqxqhjk2gxy5k7"; - system = "cl-fastcgi"; - asd = "cl-fastcgi"; - }); - systems = [ "cl-fastcgi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fbclient = (build-asdf-system { - pname = "cl-fbclient"; - version = "20140113-git"; - asds = [ "cl-fbclient" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fbclient/2014-01-13/cl-fbclient-20140113-git.tgz"; - sha256 = "1q2dwizrjnal3fdcdgim4kdq0dma71p3s8w6i8bjkg4fs49k5p9j"; - system = "cl-fbclient"; - asd = "cl-fbclient"; - }); - systems = [ "cl-fbclient" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fbx = (build-asdf-system { - pname = "cl-fbx"; - version = "20241012-git"; - asds = [ "cl-fbx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fbx/2024-10-12/cl-fbx-20241012-git.tgz"; - sha256 = "1g6s3ili3fcxy37g34ykmf2zc6nm70sh5q0diqbikikaly8kfi50"; - system = "cl-fbx"; - asd = "cl-fbx"; - }); - systems = [ "cl-fbx" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "float-features" self) (getAttr "static-vectors" self) (getAttr "trivial-extensible-sequences" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-feedparser = (build-asdf-system { - pname = "cl-feedparser"; - version = "20230618-git"; - asds = [ "cl-feedparser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-feedparser/2023-06-18/cl-feedparser-20230618-git.tgz"; - sha256 = "18cl4318g8szhdsqvg68ajry91m1hn0znmsqd0r2ikq6l5wpixmb"; - system = "cl-feedparser"; - asd = "cl-feedparser"; - }); - systems = [ "cl-feedparser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "asdf-package-system" self) (getAttr "cl-html5-parser" self) (getAttr "cl-ppcre" self) (getAttr "fset" self) (getAttr "fxml" self) (getAttr "local-time" self) (getAttr "net-telent-date" self) (getAttr "plump" self) (getAttr "quri" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-feedparser-tests = (build-asdf-system { - pname = "cl-feedparser-tests"; - version = "20230618-git"; - asds = [ "cl-feedparser-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-feedparser/2023-06-18/cl-feedparser-20230618-git.tgz"; - sha256 = "18cl4318g8szhdsqvg68ajry91m1hn0znmsqd0r2ikq6l5wpixmb"; - system = "cl-feedparser-tests"; - asd = "cl-feedparser-tests"; - }); - systems = [ "cl-feedparser-tests" ]; - lispLibs = [ (getAttr "cl-feedparser" self) (getAttr "fiveam" self) (getAttr "fxml" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fix = (build-asdf-system { - pname = "cl-fix"; - version = "20230214-git"; - asds = [ "cl-fix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fix/2023-02-14/cl-fix-20230214-git.tgz"; - sha256 = "0hw9sms558vn964sw5bav74wmfahf066nqj1xyd6b3f1lz3jarbb"; - system = "cl-fix"; - asd = "cl-fix"; - }); - systems = [ "cl-fix" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arrow-macros" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "parse-number" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fixtures = (build-asdf-system { - pname = "cl-fixtures"; - version = "20200325-git"; - asds = [ "cl-fixtures" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fixtures/2020-03-25/cl-fixtures-20200325-git.tgz"; - sha256 = "01z8brw32lv8lqn6r9srwrna5gkd4cyncpbpg6pc0khgdxzpzaag"; - system = "cl-fixtures"; - asd = "cl-fixtures"; - }); - systems = [ "cl-fixtures" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fixtures-test = (build-asdf-system { - pname = "cl-fixtures-test"; - version = "20200325-git"; - asds = [ "cl-fixtures-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fixtures/2020-03-25/cl-fixtures-20200325-git.tgz"; - sha256 = "01z8brw32lv8lqn6r9srwrna5gkd4cyncpbpg6pc0khgdxzpzaag"; - system = "cl-fixtures-test"; - asd = "cl-fixtures-test"; - }); - systems = [ "cl-fixtures-test" ]; - lispLibs = [ (getAttr "cl-fixtures" self) (getAttr "incf-cl" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "rutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-flac = (build-asdf-system { - pname = "cl-flac"; - version = "20231021-git"; - asds = [ "cl-flac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-flac/2023-10-21/cl-flac-20231021-git.tgz"; - sha256 = "1p6hrg9j58yyml78l82zd6p33apbbnbw24slxw876n2j30qiyc84"; - system = "cl-flac"; - asd = "cl-flac"; - }); - systems = [ "cl-flac" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-flow = (build-asdf-system { - pname = "cl-flow"; - version = "stable-git"; - asds = [ "cl-flow" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-flow/2022-07-07/cl-flow-stable-git.tgz"; - sha256 = "0mh9g0zj2kwnsq31zg4af5k9jvfbwp28zx02f0r1jlg2rha87vlg"; - system = "cl-flow"; - asd = "cl-flow"; - }); - systems = [ "cl-flow" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-muth" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-flowd = (build-asdf-system { - pname = "cl-flowd"; - version = "20140713-git"; - asds = [ "cl-flowd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-flowd/2014-07-13/cl-flowd-20140713-git.tgz"; - sha256 = "0qppiqgy4fgvkm519bqjrw1mfp90q8fs1spvawf24d1nzslf51pj"; - system = "cl-flowd"; - asd = "cl-flowd"; - }); - systems = [ "cl-flowd" ]; - lispLibs = [ (getAttr "cl-annot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fluent-logger = (build-asdf-system { - pname = "cl-fluent-logger"; - version = "20241012-git"; - asds = [ "cl-fluent-logger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fluent-logger/2024-10-12/cl-fluent-logger-20241012-git.tgz"; - sha256 = "0dqmx28d49fraqymrvaxq19d1x5nd6sb30bza7s9vgcyz404hzg4"; - system = "cl-fluent-logger"; - asd = "cl-fluent-logger"; - }); - systems = [ "cl-fluent-logger" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "chanl" self) (getAttr "cl-messagepack" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "pack" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fluiddb = (build-asdf-system { - pname = "cl-fluiddb"; - version = "20130312-git"; - asds = [ "cl-fluiddb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz"; - sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb"; - system = "cl-fluiddb"; - asd = "cl-fluiddb"; - }); - systems = [ "cl-fluiddb" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-json" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fluiddb-test = (build-asdf-system { - pname = "cl-fluiddb-test"; - version = "20130312-git"; - asds = [ "cl-fluiddb-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz"; - sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb"; - system = "cl-fluiddb-test"; - asd = "cl-fluiddb-test"; - }); - systems = [ "cl-fluiddb-test" ]; - lispLibs = [ (getAttr "cl-fluiddb" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fluidinfo = (build-asdf-system { - pname = "cl-fluidinfo"; - version = "20130312-git"; - asds = [ "cl-fluidinfo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz"; - sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb"; - system = "cl-fluidinfo"; - asd = "cl-fluidinfo"; - }); - systems = [ "cl-fluidinfo" ]; - lispLibs = [ (getAttr "cl-fluiddb" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fond = (build-asdf-system { - pname = "cl-fond"; - version = "20191130-git"; - asds = [ "cl-fond" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fond/2019-11-30/cl-fond-20191130-git.tgz"; - sha256 = "03ygcw1azb44bhdsqcq99xi4ci0by76ap5jf5l2d1vfxq04v8grq"; - system = "cl-fond"; - asd = "cl-fond"; - }); - systems = [ "cl-fond" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-opengl" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-form-types = (build-asdf-system { - pname = "cl-form-types"; - version = "20241012-git"; - asds = [ "cl-form-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-form-types/2024-10-12/cl-form-types-20241012-git.tgz"; - sha256 = "1qc9dy9ji14nz5k2i17idbfks3ddwrwy9bf60rq95pnngkzqs3d1"; - system = "cl-form-types"; - asd = "cl-form-types"; - }); - systems = [ "cl-form-types" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "cl-environments" self) (getAttr "introspect-environment" self) (getAttr "optima" self) ]; - meta = {}; - }); - cl-forms = (build-asdf-system { - pname = "cl-forms"; - version = "20241012-git"; - asds = [ "cl-forms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms"; - asd = "cl-forms"; - }); - systems = [ "cl-forms" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "clavier" self) (getAttr "fmt" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "str" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-forms_dot_demo = (build-asdf-system { - pname = "cl-forms.demo"; - version = "20241012-git"; - asds = [ "cl-forms.demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms.demo"; - asd = "cl-forms.demo"; - }); - systems = [ "cl-forms.demo" ]; - lispLibs = [ (getAttr "cl-css" self) (getAttr "cl-forms" self) (getAttr "cl-forms_dot_djula" self) (getAttr "cl-forms_dot_test" self) (getAttr "cl-forms_dot_who" self) (getAttr "cl-forms_dot_who_dot_bootstrap" self) (getAttr "cl-who" self) (getAttr "djula" self) (getAttr "hunchentoot" self) (getAttr "trivial-open-browser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-forms_dot_djula = (build-asdf-system { - pname = "cl-forms.djula"; - version = "20241012-git"; - asds = [ "cl-forms.djula" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms.djula"; - asd = "cl-forms.djula"; - }); - systems = [ "cl-forms.djula" ]; - lispLibs = [ (getAttr "cl-forms" self) (getAttr "cl-forms_dot_who" self) (getAttr "djula" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-forms_dot_peppol = (build-asdf-system { - pname = "cl-forms.peppol"; - version = "20241012-git"; - asds = [ "cl-forms.peppol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms.peppol"; - asd = "cl-forms.peppol"; - }); - systems = [ "cl-forms.peppol" ]; - lispLibs = [ (getAttr "cl-forms" self) (getAttr "peppol" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-forms_dot_test = (build-asdf-system { - pname = "cl-forms.test"; - version = "20241012-git"; - asds = [ "cl-forms.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms.test"; - asd = "cl-forms.test"; - }); - systems = [ "cl-forms.test" ]; - lispLibs = [ (getAttr "cl-forms" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-forms_dot_who = (build-asdf-system { - pname = "cl-forms.who"; - version = "20241012-git"; - asds = [ "cl-forms.who" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms.who"; - asd = "cl-forms.who"; - }); - systems = [ "cl-forms.who" ]; - lispLibs = [ (getAttr "cl-forms" self) (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-forms_dot_who_dot_bootstrap = (build-asdf-system { - pname = "cl-forms.who.bootstrap"; - version = "20241012-git"; - asds = [ "cl-forms.who.bootstrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; - sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; - system = "cl-forms.who.bootstrap"; - asd = "cl-forms.who.bootstrap"; - }); - systems = [ "cl-forms.who.bootstrap" ]; - lispLibs = [ (getAttr "cl-forms_dot_who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-freeimage = (build-asdf-system { - pname = "cl-freeimage"; - version = "20170403-git"; - asds = [ "cl-freeimage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-freeimage/2017-04-03/cl-freeimage-20170403-git.tgz"; - sha256 = "1333i8sh670nkb0c35xp511xjlafn5zh8a6gk3wnh19gffvj63hq"; - system = "cl-freeimage"; - asd = "cl-freeimage"; - }); - systems = [ "cl-freeimage" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-freetype2 = (build-asdf-system { - pname = "cl-freetype2"; - version = "20241012-git"; - asds = [ "cl-freetype2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-freetype2/2024-10-12/cl-freetype2-20241012-git.tgz"; - sha256 = "00lkmawhjgqzfrsaaqmnffm7mmn3b31gzwz8g51kdjm9s16vwpjs"; - system = "cl-freetype2"; - asd = "cl-freetype2"; - }); - systems = [ "cl-freetype2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - cl-freetype2-tests = (build-asdf-system { - pname = "cl-freetype2-tests"; - version = "20241012-git"; - asds = [ "cl-freetype2-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-freetype2/2024-10-12/cl-freetype2-20241012-git.tgz"; - sha256 = "00lkmawhjgqzfrsaaqmnffm7mmn3b31gzwz8g51kdjm9s16vwpjs"; - system = "cl-freetype2-tests"; - asd = "cl-freetype2-tests"; - }); - systems = [ "cl-freetype2-tests" ]; - lispLibs = [ (getAttr "cl-freetype2" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fsnotify = (build-asdf-system { - pname = "cl-fsnotify"; - version = "20150302-git"; - asds = [ "cl-fsnotify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fsnotify/2015-03-02/cl-fsnotify-20150302-git.tgz"; - sha256 = "0693ga1xqcvi89j3aw0lmyi3a1yl3hrfwli2jiwxv0mgpcaxz0yr"; - system = "cl-fsnotify"; - asd = "cl-fsnotify"; - }); - systems = [ "cl-fsnotify" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ftp = (build-asdf-system { - pname = "cl-ftp"; - version = "20150608-http"; - asds = [ "cl-ftp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ftp/2015-06-08/cl-ftp-20150608-http.tgz"; - sha256 = "1m955rjpaynybzmb9q631mll764hm06lydvhra50mfjj75ynwsvw"; - system = "cl-ftp"; - asd = "cl-ftp"; - }); - systems = [ "cl-ftp" ]; - lispLibs = [ (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-fuse = (build-asdf-system { - pname = "cl-fuse"; - version = "20200925-git"; - asds = [ "cl-fuse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fuse/2020-09-25/cl-fuse-20200925-git.tgz"; - sha256 = "1qxvf8ybn0v1hiaz11k1h47y0dksj8ah9v8jdfrjp9ad1rrrnxqs"; - system = "cl-fuse"; - asd = "cl-fuse"; - }); - systems = [ "cl-fuse" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-utilities" self) (getAttr "iterate" self) (getAttr "trivial-backtrace" self) (getAttr "trivial-utf-8" self) ]; - meta = {}; - }); - cl-fuse-meta-fs = (build-asdf-system { - pname = "cl-fuse-meta-fs"; - version = "20190710-git"; - asds = [ "cl-fuse-meta-fs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2019-07-10/cl-fuse-meta-fs-20190710-git.tgz"; - sha256 = "1wbi7lvczfn09qb72rg1bps9w51mz42dwa7lyjl2hp8lbwc2a5a9"; - system = "cl-fuse-meta-fs"; - asd = "cl-fuse-meta-fs"; - }); - systems = [ "cl-fuse-meta-fs" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-fuse" self) (getAttr "iterate" self) (getAttr "pcall" self) ]; - meta = {}; - }); - cl-fuzz = (build-asdf-system { - pname = "cl-fuzz"; - version = "20181018-git"; - asds = [ "cl-fuzz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fuzz/2018-10-18/cl-fuzz-20181018-git.tgz"; - sha256 = "1zvlh0nh4iip75p6dblx5kajqaa3hhv6mdjbx9cids8491r388rz"; - system = "cl-fuzz"; - asd = "cl-fuzz"; - }); - systems = [ "cl-fuzz" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - cl-fxml = (build-asdf-system { - pname = "cl-fxml"; - version = "20220331-git"; - asds = [ "cl-fxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-fxml/2022-03-31/cl-fxml-20220331-git.tgz"; - sha256 = "0i5w3z0rgyi42rlhvf92k95w6bajf3m1x9g4zprwf602kp7abr3c"; - system = "cl-fxml"; - asd = "cl-fxml"; - }); - systems = [ "cl-fxml" ]; - lispLibs = [ (getAttr "agnostic-lizard" self) (getAttr "alexandria" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gamepad = (build-asdf-system { - pname = "cl-gamepad"; - version = "20241012-git"; - asds = [ "cl-gamepad" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gamepad/2024-10-12/cl-gamepad-20241012-git.tgz"; - sha256 = "015qx89rnkkqaa6qsl78zvb3sb1m4xdgjpgzn5ip5i27gw94770g"; - system = "cl-gamepad"; - asd = "cl-gamepad"; - }); - systems = [ "cl-gamepad" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gap-buffer = (build-asdf-system { - pname = "cl-gap-buffer"; - version = "20230618-git"; - asds = [ "cl-gap-buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gap-buffer/2023-06-18/cl-gap-buffer-20230618-git.tgz"; - sha256 = "0dzwhzv139z9pspnh1krnldnk4nfrj8f5khh08085xkc5bgg1jfv"; - system = "cl-gap-buffer"; - asd = "cl-gap-buffer"; - }); - systems = [ "cl-gap-buffer" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gbm = (build-asdf-system { - pname = "cl-gbm"; - version = "20180430-git"; - asds = [ "cl-gbm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gbm/2018-04-30/cl-gbm-20180430-git.tgz"; - sha256 = "14bshi7q1hhyag8va9javjjn5cnhmwyjlw8vvvb4fyzfspz3kpdx"; - system = "cl-gbm"; - asd = "cl-gbm"; - }); - systems = [ "cl-gbm" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gcrypt = (build-asdf-system { - pname = "cl-gcrypt"; - version = "20211209-git"; - asds = [ "cl-gcrypt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gcrypt/2021-12-09/cl-gcrypt-20211209-git.tgz"; - sha256 = "1f4gx5ssirr4f3n68i2da6ad7hbhgsk18zv0gfqy3q635zai0z3w"; - system = "cl-gcrypt"; - asd = "cl-gcrypt"; - }); - systems = [ "cl-gcrypt" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gcrypt-test = (build-asdf-system { - pname = "cl-gcrypt-test"; - version = "20211209-git"; - asds = [ "cl-gcrypt-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gcrypt/2021-12-09/cl-gcrypt-20211209-git.tgz"; - sha256 = "1f4gx5ssirr4f3n68i2da6ad7hbhgsk18zv0gfqy3q635zai0z3w"; - system = "cl-gcrypt-test"; - asd = "cl-gcrypt-test"; - }); - systems = [ "cl-gcrypt-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cl-gcrypt" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gd = (build-asdf-system { - pname = "cl-gd"; - version = "20201220-git"; - asds = [ "cl-gd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gd/2020-12-20/cl-gd-20201220-git.tgz"; - sha256 = "1wa6nv5bdf0v38hzr6cfadkk6mhvvnj9lpl9igcxygdjbnn2a3y6"; - system = "cl-gd"; - asd = "cl-gd"; - }); - systems = [ "cl-gd" ]; - lispLibs = [ (getAttr "uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gd-test = (build-asdf-system { - pname = "cl-gd-test"; - version = "20201220-git"; - asds = [ "cl-gd-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gd/2020-12-20/cl-gd-20201220-git.tgz"; - sha256 = "1wa6nv5bdf0v38hzr6cfadkk6mhvvnj9lpl9igcxygdjbnn2a3y6"; - system = "cl-gd-test"; - asd = "cl-gd-test"; - }); - systems = [ "cl-gd-test" ]; - lispLibs = [ (getAttr "cl-gd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gdata = (build-asdf-system { - pname = "cl-gdata"; - version = "20171130-git"; - asds = [ "cl-gdata" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gdata/2017-11-30/cl-gdata-20171130-git.tgz"; - sha256 = "0x2sq03nacjbq7p9baxlhr7bb0xg7v1ljq7qj1b3xrd4rbcibxi9"; - system = "cl-gdata"; - asd = "cl-gdata"; - }); - systems = [ "cl-gdata" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "gzip-stream" self) (getAttr "local-time" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) (getAttr "string-case" self) (getAttr "trivial-utf-8" self) (getAttr "url-rewrite" self) (getAttr "xpath" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gearman = (build-asdf-system { - pname = "cl-gearman"; - version = "20211020-git"; - asds = [ "cl-gearman" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gearman/2021-10-20/cl-gearman-20211020-git.tgz"; - sha256 = "0cnkpqn43p55xlhdi8bws2ssa1ahvzbgggh3pam0zbqma2m525j6"; - system = "cl-gearman"; - asd = "cl-gearman"; - }); - systems = [ "cl-gearman" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gearman-test = (build-asdf-system { - pname = "cl-gearman-test"; - version = "20211020-git"; - asds = [ "cl-gearman-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gearman/2021-10-20/cl-gearman-20211020-git.tgz"; - sha256 = "0cnkpqn43p55xlhdi8bws2ssa1ahvzbgggh3pam0zbqma2m525j6"; - system = "cl-gearman-test"; - asd = "cl-gearman-test"; - }); - systems = [ "cl-gearman-test" ]; - lispLibs = [ (getAttr "cl-gearman" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gendoc = (build-asdf-system { - pname = "cl-gendoc"; - version = "20180831-git"; - asds = [ "cl-gendoc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gendoc/2018-08-31/cl-gendoc-20180831-git.tgz"; - sha256 = "19f8fmz2hj332kh3y3fbil2dchpckdsqci6ljhadymd8p2h6w4ws"; - system = "cl-gendoc"; - asd = "cl-gendoc"; - }); - systems = [ "cl-gendoc" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gendoc-docs = (build-asdf-system { - pname = "cl-gendoc-docs"; - version = "20180831-git"; - asds = [ "cl-gendoc-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gendoc/2018-08-31/cl-gendoc-20180831-git.tgz"; - sha256 = "19f8fmz2hj332kh3y3fbil2dchpckdsqci6ljhadymd8p2h6w4ws"; - system = "cl-gendoc-docs"; - asd = "cl-gendoc"; - }); - systems = [ "cl-gendoc-docs" ]; - lispLibs = [ (getAttr "cl-gendoc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gene-searcher = (build-asdf-system { - pname = "cl-gene-searcher"; - version = "20111001-git"; - asds = [ "cl-gene-searcher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gene-searcher/2011-10-01/cl-gene-searcher-20111001-git.tgz"; - sha256 = "0n8p6yk600h7m050bjxazmcxdrcfrkcklrcj8ncflyshm72qv1yk"; - system = "cl-gene-searcher"; - asd = "cl-gene-searcher"; - }); - systems = [ "cl-gene-searcher" ]; - lispLibs = [ (getAttr "clsql-sqlite3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-generator = (build-asdf-system { - pname = "cl-generator"; - version = "20221106-git"; - asds = [ "cl-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-generator/2022-11-06/cl-generator-20221106-git.tgz"; - sha256 = "0aa5prw6f4fqw9j8m6kvdb3h3lqyvi15dd1l6437p9408mmyxk30"; - system = "cl-generator"; - asd = "cl-generator"; - }); - systems = [ "cl-generator" ]; - lispLibs = [ (getAttr "cl-cont" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-generator-test = (build-asdf-system { - pname = "cl-generator-test"; - version = "20221106-git"; - asds = [ "cl-generator-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-generator/2022-11-06/cl-generator-20221106-git.tgz"; - sha256 = "0aa5prw6f4fqw9j8m6kvdb3h3lqyvi15dd1l6437p9408mmyxk30"; - system = "cl-generator-test"; - asd = "cl-generator-test"; - }); - systems = [ "cl-generator-test" ]; - lispLibs = [ (getAttr "cl-generator" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-geocode = (build-asdf-system { - pname = "cl-geocode"; - version = "20190813-git"; - asds = [ "cl-geocode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-geocode/2019-08-13/cl-geocode-20190813-git.tgz"; - sha256 = "17z0v29rrhsfjikg4sn9ynxckh5i3ahjn7c8qs381n1p9fbd668l"; - system = "cl-geocode"; - asd = "cl-geocode"; - }); - systems = [ "cl-geocode" ]; - lispLibs = [ (getAttr "acl-compat" self) (getAttr "aserve" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-geoip = (build-asdf-system { - pname = "cl-geoip"; - version = "20130615-git"; - asds = [ "cl-geoip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-geoip/2013-06-15/cl-geoip-20130615-git.tgz"; - sha256 = "0ys8wysppx06j3s0dc9lc9zjizr1fmj388fiigyn1wrdyyka41y2"; - system = "cl-geoip"; - asd = "cl-geoip"; - }); - systems = [ "cl-geoip" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-geometry = (build-asdf-system { - pname = "cl-geometry"; - version = "20160531-git"; - asds = [ "cl-geometry" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-geometry/2016-05-31/cl-geometry-20160531-git.tgz"; - sha256 = "188xrd8plvc34gz7q01zmkdrzxbpwzln103l5dl78pa4a6vzz34h"; - system = "cl-geometry"; - asd = "cl-geometry"; - }); - systems = [ "cl-geometry" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "trees" self) ]; - meta = {}; - }); - cl-geometry-tests = (build-asdf-system { - pname = "cl-geometry-tests"; - version = "20160531-git"; - asds = [ "cl-geometry-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-geometry/2016-05-31/cl-geometry-20160531-git.tgz"; - sha256 = "188xrd8plvc34gz7q01zmkdrzxbpwzln103l5dl78pa4a6vzz34h"; - system = "cl-geometry-tests"; - asd = "cl-geometry-tests"; - }); - systems = [ "cl-geometry-tests" ]; - lispLibs = [ (getAttr "cl-geometry" self) (getAttr "iterate" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-geos = (build-asdf-system { - pname = "cl-geos"; - version = "20180711-git"; - asds = [ "cl-geos" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-geos/2018-07-11/cl-geos-20180711-git.tgz"; - sha256 = "0igq2c1p82pbkyc7zg90fm3lbsmhwnfmb3q8jc8baklb958555ck"; - system = "cl-geos"; - asd = "cl-geos"; - }); - systems = [ "cl-geos" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) (getAttr "xarray" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-getopt = (build-asdf-system { - pname = "cl-getopt"; - version = "20211209-git"; - asds = [ "cl-getopt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-getopt/2021-12-09/cl-getopt-20211209-git.tgz"; - sha256 = "16qkpg2qln7q9j5614py00zwsnmxcy3xcmhb4m8f0w0zbnpvkjxl"; - system = "cl-getopt"; - asd = "cl-getopt"; - }); - systems = [ "cl-getopt" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-getx = (build-asdf-system { - pname = "cl-getx"; - version = "20200925-git"; - asds = [ "cl-getx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-getx/2020-09-25/cl-getx-20200925-git.tgz"; - sha256 = "07gi346vqrhnbkdk4l6g06z4shhnx7f4l44jgayzfdd0xkv02brv"; - system = "cl-getx"; - asd = "cl-getx"; - }); - systems = [ "cl-getx" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gimei = (build-asdf-system { - pname = "cl-gimei"; - version = "20211020-git"; - asds = [ "cl-gimei" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gimei/2021-10-20/cl-gimei-20211020-git.tgz"; - sha256 = "1405qbqrrrmanmg2dl7yfdj8z4vcsj1silpsa7i1y00pd18xgk8q"; - system = "cl-gimei"; - asd = "cl-gimei"; - }); - systems = [ "cl-gimei" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-yaml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gio = (build-asdf-system { - pname = "cl-gio"; - version = "20231021-git"; - asds = [ "cl-gio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glib/2023-10-21/cl-glib-20231021-git.tgz"; - sha256 = "07y8hpvdl490p8j4k8y47raqqwnpym9scz7jlg2f1jx897dkssjb"; - system = "cl-gio"; - asd = "cl-gio"; - }); - systems = [ "cl-gio" ]; - lispLibs = [ (getAttr "cl-gobject-introspection-wrapper" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gists = (build-asdf-system { - pname = "cl-gists"; - version = "20231021-git"; - asds = [ "cl-gists" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gists/2023-10-21/cl-gists-20231021-git.tgz"; - sha256 = "0kza5y6jckvydaw9bw8va5kli5d3ybyvil6w2bhf411crd2z15vc"; - system = "cl-gists"; - asd = "cl-gists"; - }); - systems = [ "cl-gists" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "babel" self) (getAttr "dexador" self) (getAttr "local-time" self) (getAttr "quri" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-git = (build-asdf-system { - pname = "cl-git"; - version = "20230618-git"; - asds = [ "cl-git" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-git/2023-06-18/cl-git-20230618-git.tgz"; - sha256 = "13h7n3nbpf2qq0vq0dz33r0468baskw83pjfxb3hik4rllrv04h6"; - system = "cl-git"; - asd = "cl-git"; - }); - systems = [ "cl-git" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-fad" self) (getAttr "closer-mop" self) (getAttr "flexi-streams" self) (getAttr "local-time" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-github-v3 = (build-asdf-system { - pname = "cl-github-v3"; - version = "20241012-git"; - asds = [ "cl-github-v3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-github-v3/2024-10-12/cl-github-v3-20241012-git.tgz"; - sha256 = "0ayhnildyjjmnyk0a1sx7qxg6vq9kcggaprqf37s5qi4kadvcsr2"; - system = "cl-github-v3"; - asd = "cl-github-v3"; - }); - systems = [ "cl-github-v3" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw = (build-asdf-system { - pname = "cl-glfw"; - version = "20150302-git"; - asds = [ "cl-glfw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw"; - asd = "cl-glfw"; - }); - systems = [ "cl-glfw" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-glfw-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-ftgl = (build-asdf-system { - pname = "cl-glfw-ftgl"; - version = "20150302-git"; - asds = [ "cl-glfw-ftgl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-ftgl"; - asd = "cl-glfw-ftgl"; - }); - systems = [ "cl-glfw-ftgl" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-glu = (build-asdf-system { - pname = "cl-glfw-glu"; - version = "20150302-git"; - asds = [ "cl-glfw-glu" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-glu"; - asd = "cl-glfw-glu"; - }); - systems = [ "cl-glfw-glu" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-glfw-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-3dfx__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-3dfx_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-3dfx_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-3dfx_multisample"; - asd = "cl-glfw-opengl-3dfx_multisample"; - }); - systems = [ "cl-glfw-opengl-3dfx_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-3dfx__tbuffer = (build-asdf-system { - pname = "cl-glfw-opengl-3dfx_tbuffer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-3dfx_tbuffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-3dfx_tbuffer"; - asd = "cl-glfw-opengl-3dfx_tbuffer"; - }); - systems = [ "cl-glfw-opengl-3dfx_tbuffer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-3dfx__texture__compression__fxt1 = (build-asdf-system { - pname = "cl-glfw-opengl-3dfx_texture_compression_fxt1"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-3dfx_texture_compression_fxt1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-3dfx_texture_compression_fxt1"; - asd = "cl-glfw-opengl-3dfx_texture_compression_fxt1"; - }); - systems = [ "cl-glfw-opengl-3dfx_texture_compression_fxt1" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__blend__minmax__factor = (build-asdf-system { - pname = "cl-glfw-opengl-amd_blend_minmax_factor"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_blend_minmax_factor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_blend_minmax_factor"; - asd = "cl-glfw-opengl-amd_blend_minmax_factor"; - }); - systems = [ "cl-glfw-opengl-amd_blend_minmax_factor" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__depth__clamp__separate = (build-asdf-system { - pname = "cl-glfw-opengl-amd_depth_clamp_separate"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_depth_clamp_separate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_depth_clamp_separate"; - asd = "cl-glfw-opengl-amd_depth_clamp_separate"; - }); - systems = [ "cl-glfw-opengl-amd_depth_clamp_separate" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__draw__buffers__blend = (build-asdf-system { - pname = "cl-glfw-opengl-amd_draw_buffers_blend"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_draw_buffers_blend" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_draw_buffers_blend"; - asd = "cl-glfw-opengl-amd_draw_buffers_blend"; - }); - systems = [ "cl-glfw-opengl-amd_draw_buffers_blend" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__multi__draw__indirect = (build-asdf-system { - pname = "cl-glfw-opengl-amd_multi_draw_indirect"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_multi_draw_indirect" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_multi_draw_indirect"; - asd = "cl-glfw-opengl-amd_multi_draw_indirect"; - }); - systems = [ "cl-glfw-opengl-amd_multi_draw_indirect" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__name__gen__delete = (build-asdf-system { - pname = "cl-glfw-opengl-amd_name_gen_delete"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_name_gen_delete" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_name_gen_delete"; - asd = "cl-glfw-opengl-amd_name_gen_delete"; - }); - systems = [ "cl-glfw-opengl-amd_name_gen_delete" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__performance__monitor = (build-asdf-system { - pname = "cl-glfw-opengl-amd_performance_monitor"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_performance_monitor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_performance_monitor"; - asd = "cl-glfw-opengl-amd_performance_monitor"; - }); - systems = [ "cl-glfw-opengl-amd_performance_monitor" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__sample__positions = (build-asdf-system { - pname = "cl-glfw-opengl-amd_sample_positions"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_sample_positions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_sample_positions"; - asd = "cl-glfw-opengl-amd_sample_positions"; - }); - systems = [ "cl-glfw-opengl-amd_sample_positions" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__seamless__cubemap__per__texture = (build-asdf-system { - pname = "cl-glfw-opengl-amd_seamless_cubemap_per_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_seamless_cubemap_per_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_seamless_cubemap_per_texture"; - asd = "cl-glfw-opengl-amd_seamless_cubemap_per_texture"; - }); - systems = [ "cl-glfw-opengl-amd_seamless_cubemap_per_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-amd__vertex__shader__tesselator = (build-asdf-system { - pname = "cl-glfw-opengl-amd_vertex_shader_tesselator"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-amd_vertex_shader_tesselator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-amd_vertex_shader_tesselator"; - asd = "cl-glfw-opengl-amd_vertex_shader_tesselator"; - }); - systems = [ "cl-glfw-opengl-amd_vertex_shader_tesselator" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__aux__depth__stencil = (build-asdf-system { - pname = "cl-glfw-opengl-apple_aux_depth_stencil"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_aux_depth_stencil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_aux_depth_stencil"; - asd = "cl-glfw-opengl-apple_aux_depth_stencil"; - }); - systems = [ "cl-glfw-opengl-apple_aux_depth_stencil" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__client__storage = (build-asdf-system { - pname = "cl-glfw-opengl-apple_client_storage"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_client_storage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_client_storage"; - asd = "cl-glfw-opengl-apple_client_storage"; - }); - systems = [ "cl-glfw-opengl-apple_client_storage" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__element__array = (build-asdf-system { - pname = "cl-glfw-opengl-apple_element_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_element_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_element_array"; - asd = "cl-glfw-opengl-apple_element_array"; - }); - systems = [ "cl-glfw-opengl-apple_element_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__fence = (build-asdf-system { - pname = "cl-glfw-opengl-apple_fence"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_fence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_fence"; - asd = "cl-glfw-opengl-apple_fence"; - }); - systems = [ "cl-glfw-opengl-apple_fence" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__float__pixels = (build-asdf-system { - pname = "cl-glfw-opengl-apple_float_pixels"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_float_pixels" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_float_pixels"; - asd = "cl-glfw-opengl-apple_float_pixels"; - }); - systems = [ "cl-glfw-opengl-apple_float_pixels" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__flush__buffer__range = (build-asdf-system { - pname = "cl-glfw-opengl-apple_flush_buffer_range"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_flush_buffer_range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_flush_buffer_range"; - asd = "cl-glfw-opengl-apple_flush_buffer_range"; - }); - systems = [ "cl-glfw-opengl-apple_flush_buffer_range" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__object__purgeable = (build-asdf-system { - pname = "cl-glfw-opengl-apple_object_purgeable"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_object_purgeable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_object_purgeable"; - asd = "cl-glfw-opengl-apple_object_purgeable"; - }); - systems = [ "cl-glfw-opengl-apple_object_purgeable" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__rgb__422 = (build-asdf-system { - pname = "cl-glfw-opengl-apple_rgb_422"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_rgb_422" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_rgb_422"; - asd = "cl-glfw-opengl-apple_rgb_422"; - }); - systems = [ "cl-glfw-opengl-apple_rgb_422" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__row__bytes = (build-asdf-system { - pname = "cl-glfw-opengl-apple_row_bytes"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_row_bytes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_row_bytes"; - asd = "cl-glfw-opengl-apple_row_bytes"; - }); - systems = [ "cl-glfw-opengl-apple_row_bytes" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__specular__vector = (build-asdf-system { - pname = "cl-glfw-opengl-apple_specular_vector"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_specular_vector" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_specular_vector"; - asd = "cl-glfw-opengl-apple_specular_vector"; - }); - systems = [ "cl-glfw-opengl-apple_specular_vector" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__texture__range = (build-asdf-system { - pname = "cl-glfw-opengl-apple_texture_range"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_texture_range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_texture_range"; - asd = "cl-glfw-opengl-apple_texture_range"; - }); - systems = [ "cl-glfw-opengl-apple_texture_range" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__transform__hint = (build-asdf-system { - pname = "cl-glfw-opengl-apple_transform_hint"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_transform_hint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_transform_hint"; - asd = "cl-glfw-opengl-apple_transform_hint"; - }); - systems = [ "cl-glfw-opengl-apple_transform_hint" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__vertex__array__object = (build-asdf-system { - pname = "cl-glfw-opengl-apple_vertex_array_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_vertex_array_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_vertex_array_object"; - asd = "cl-glfw-opengl-apple_vertex_array_object"; - }); - systems = [ "cl-glfw-opengl-apple_vertex_array_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__vertex__array__range = (build-asdf-system { - pname = "cl-glfw-opengl-apple_vertex_array_range"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_vertex_array_range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_vertex_array_range"; - asd = "cl-glfw-opengl-apple_vertex_array_range"; - }); - systems = [ "cl-glfw-opengl-apple_vertex_array_range" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__vertex__program__evaluators = (build-asdf-system { - pname = "cl-glfw-opengl-apple_vertex_program_evaluators"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_vertex_program_evaluators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_vertex_program_evaluators"; - asd = "cl-glfw-opengl-apple_vertex_program_evaluators"; - }); - systems = [ "cl-glfw-opengl-apple_vertex_program_evaluators" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-apple__ycbcr__422 = (build-asdf-system { - pname = "cl-glfw-opengl-apple_ycbcr_422"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-apple_ycbcr_422" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-apple_ycbcr_422"; - asd = "cl-glfw-opengl-apple_ycbcr_422"; - }); - systems = [ "cl-glfw-opengl-apple_ycbcr_422" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__blend__func__extended = (build-asdf-system { - pname = "cl-glfw-opengl-arb_blend_func_extended"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_blend_func_extended" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_blend_func_extended"; - asd = "cl-glfw-opengl-arb_blend_func_extended"; - }); - systems = [ "cl-glfw-opengl-arb_blend_func_extended" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__color__buffer__float = (build-asdf-system { - pname = "cl-glfw-opengl-arb_color_buffer_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_color_buffer_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_color_buffer_float"; - asd = "cl-glfw-opengl-arb_color_buffer_float"; - }); - systems = [ "cl-glfw-opengl-arb_color_buffer_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__copy__buffer = (build-asdf-system { - pname = "cl-glfw-opengl-arb_copy_buffer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_copy_buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_copy_buffer"; - asd = "cl-glfw-opengl-arb_copy_buffer"; - }); - systems = [ "cl-glfw-opengl-arb_copy_buffer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__depth__buffer__float = (build-asdf-system { - pname = "cl-glfw-opengl-arb_depth_buffer_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_depth_buffer_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_depth_buffer_float"; - asd = "cl-glfw-opengl-arb_depth_buffer_float"; - }); - systems = [ "cl-glfw-opengl-arb_depth_buffer_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__depth__clamp = (build-asdf-system { - pname = "cl-glfw-opengl-arb_depth_clamp"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_depth_clamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_depth_clamp"; - asd = "cl-glfw-opengl-arb_depth_clamp"; - }); - systems = [ "cl-glfw-opengl-arb_depth_clamp" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__depth__texture = (build-asdf-system { - pname = "cl-glfw-opengl-arb_depth_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_depth_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_depth_texture"; - asd = "cl-glfw-opengl-arb_depth_texture"; - }); - systems = [ "cl-glfw-opengl-arb_depth_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__draw__buffers = (build-asdf-system { - pname = "cl-glfw-opengl-arb_draw_buffers"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_draw_buffers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_draw_buffers"; - asd = "cl-glfw-opengl-arb_draw_buffers"; - }); - systems = [ "cl-glfw-opengl-arb_draw_buffers" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__draw__buffers__blend = (build-asdf-system { - pname = "cl-glfw-opengl-arb_draw_buffers_blend"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_draw_buffers_blend" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_draw_buffers_blend"; - asd = "cl-glfw-opengl-arb_draw_buffers_blend"; - }); - systems = [ "cl-glfw-opengl-arb_draw_buffers_blend" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__draw__elements__base__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-arb_draw_elements_base_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_draw_elements_base_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_draw_elements_base_vertex"; - asd = "cl-glfw-opengl-arb_draw_elements_base_vertex"; - }); - systems = [ "cl-glfw-opengl-arb_draw_elements_base_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__draw__indirect = (build-asdf-system { - pname = "cl-glfw-opengl-arb_draw_indirect"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_draw_indirect" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_draw_indirect"; - asd = "cl-glfw-opengl-arb_draw_indirect"; - }); - systems = [ "cl-glfw-opengl-arb_draw_indirect" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__draw__instanced = (build-asdf-system { - pname = "cl-glfw-opengl-arb_draw_instanced"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_draw_instanced" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_draw_instanced"; - asd = "cl-glfw-opengl-arb_draw_instanced"; - }); - systems = [ "cl-glfw-opengl-arb_draw_instanced" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__es2__compatibility = (build-asdf-system { - pname = "cl-glfw-opengl-arb_es2_compatibility"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_es2_compatibility" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_es2_compatibility"; - asd = "cl-glfw-opengl-arb_es2_compatibility"; - }); - systems = [ "cl-glfw-opengl-arb_es2_compatibility" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__fragment__program = (build-asdf-system { - pname = "cl-glfw-opengl-arb_fragment_program"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_fragment_program" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_fragment_program"; - asd = "cl-glfw-opengl-arb_fragment_program"; - }); - systems = [ "cl-glfw-opengl-arb_fragment_program" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__fragment__shader = (build-asdf-system { - pname = "cl-glfw-opengl-arb_fragment_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_fragment_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_fragment_shader"; - asd = "cl-glfw-opengl-arb_fragment_shader"; - }); - systems = [ "cl-glfw-opengl-arb_fragment_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__framebuffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-arb_framebuffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_framebuffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_framebuffer_object"; - asd = "cl-glfw-opengl-arb_framebuffer_object"; - }); - systems = [ "cl-glfw-opengl-arb_framebuffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__framebuffer__object__deprecated = (build-asdf-system { - pname = "cl-glfw-opengl-arb_framebuffer_object_deprecated"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_framebuffer_object_deprecated" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_framebuffer_object_deprecated"; - asd = "cl-glfw-opengl-arb_framebuffer_object_deprecated"; - }); - systems = [ "cl-glfw-opengl-arb_framebuffer_object_deprecated" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__framebuffer__srgb = (build-asdf-system { - pname = "cl-glfw-opengl-arb_framebuffer_srgb"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_framebuffer_srgb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_framebuffer_srgb"; - asd = "cl-glfw-opengl-arb_framebuffer_srgb"; - }); - systems = [ "cl-glfw-opengl-arb_framebuffer_srgb" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__geometry__shader4 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_geometry_shader4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_geometry_shader4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_geometry_shader4"; - asd = "cl-glfw-opengl-arb_geometry_shader4"; - }); - systems = [ "cl-glfw-opengl-arb_geometry_shader4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__get__program__binary = (build-asdf-system { - pname = "cl-glfw-opengl-arb_get_program_binary"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_get_program_binary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_get_program_binary"; - asd = "cl-glfw-opengl-arb_get_program_binary"; - }); - systems = [ "cl-glfw-opengl-arb_get_program_binary" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__gpu__shader5 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_gpu_shader5"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_gpu_shader5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_gpu_shader5"; - asd = "cl-glfw-opengl-arb_gpu_shader5"; - }); - systems = [ "cl-glfw-opengl-arb_gpu_shader5" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__gpu__shader__fp64 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_gpu_shader_fp64"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_gpu_shader_fp64" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_gpu_shader_fp64"; - asd = "cl-glfw-opengl-arb_gpu_shader_fp64"; - }); - systems = [ "cl-glfw-opengl-arb_gpu_shader_fp64" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__half__float__pixel = (build-asdf-system { - pname = "cl-glfw-opengl-arb_half_float_pixel"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_half_float_pixel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_half_float_pixel"; - asd = "cl-glfw-opengl-arb_half_float_pixel"; - }); - systems = [ "cl-glfw-opengl-arb_half_float_pixel" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__half__float__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-arb_half_float_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_half_float_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_half_float_vertex"; - asd = "cl-glfw-opengl-arb_half_float_vertex"; - }); - systems = [ "cl-glfw-opengl-arb_half_float_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__imaging = (build-asdf-system { - pname = "cl-glfw-opengl-arb_imaging"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_imaging" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_imaging"; - asd = "cl-glfw-opengl-arb_imaging"; - }); - systems = [ "cl-glfw-opengl-arb_imaging" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__imaging__deprecated = (build-asdf-system { - pname = "cl-glfw-opengl-arb_imaging_deprecated"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_imaging_deprecated" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_imaging_deprecated"; - asd = "cl-glfw-opengl-arb_imaging_deprecated"; - }); - systems = [ "cl-glfw-opengl-arb_imaging_deprecated" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__instanced__arrays = (build-asdf-system { - pname = "cl-glfw-opengl-arb_instanced_arrays"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_instanced_arrays" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_instanced_arrays"; - asd = "cl-glfw-opengl-arb_instanced_arrays"; - }); - systems = [ "cl-glfw-opengl-arb_instanced_arrays" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__map__buffer__range = (build-asdf-system { - pname = "cl-glfw-opengl-arb_map_buffer_range"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_map_buffer_range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_map_buffer_range"; - asd = "cl-glfw-opengl-arb_map_buffer_range"; - }); - systems = [ "cl-glfw-opengl-arb_map_buffer_range" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__matrix__palette = (build-asdf-system { - pname = "cl-glfw-opengl-arb_matrix_palette"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_matrix_palette" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_matrix_palette"; - asd = "cl-glfw-opengl-arb_matrix_palette"; - }); - systems = [ "cl-glfw-opengl-arb_matrix_palette" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-arb_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_multisample"; - asd = "cl-glfw-opengl-arb_multisample"; - }); - systems = [ "cl-glfw-opengl-arb_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__multitexture = (build-asdf-system { - pname = "cl-glfw-opengl-arb_multitexture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_multitexture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_multitexture"; - asd = "cl-glfw-opengl-arb_multitexture"; - }); - systems = [ "cl-glfw-opengl-arb_multitexture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__occlusion__query = (build-asdf-system { - pname = "cl-glfw-opengl-arb_occlusion_query"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_occlusion_query" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_occlusion_query"; - asd = "cl-glfw-opengl-arb_occlusion_query"; - }); - systems = [ "cl-glfw-opengl-arb_occlusion_query" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__occlusion__query2 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_occlusion_query2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_occlusion_query2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_occlusion_query2"; - asd = "cl-glfw-opengl-arb_occlusion_query2"; - }); - systems = [ "cl-glfw-opengl-arb_occlusion_query2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__pixel__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-arb_pixel_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_pixel_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_pixel_buffer_object"; - asd = "cl-glfw-opengl-arb_pixel_buffer_object"; - }); - systems = [ "cl-glfw-opengl-arb_pixel_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__point__parameters = (build-asdf-system { - pname = "cl-glfw-opengl-arb_point_parameters"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_point_parameters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_point_parameters"; - asd = "cl-glfw-opengl-arb_point_parameters"; - }); - systems = [ "cl-glfw-opengl-arb_point_parameters" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__point__sprite = (build-asdf-system { - pname = "cl-glfw-opengl-arb_point_sprite"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_point_sprite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_point_sprite"; - asd = "cl-glfw-opengl-arb_point_sprite"; - }); - systems = [ "cl-glfw-opengl-arb_point_sprite" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__provoking__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-arb_provoking_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_provoking_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_provoking_vertex"; - asd = "cl-glfw-opengl-arb_provoking_vertex"; - }); - systems = [ "cl-glfw-opengl-arb_provoking_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__robustness = (build-asdf-system { - pname = "cl-glfw-opengl-arb_robustness"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_robustness" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_robustness"; - asd = "cl-glfw-opengl-arb_robustness"; - }); - systems = [ "cl-glfw-opengl-arb_robustness" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__sample__shading = (build-asdf-system { - pname = "cl-glfw-opengl-arb_sample_shading"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_sample_shading" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_sample_shading"; - asd = "cl-glfw-opengl-arb_sample_shading"; - }); - systems = [ "cl-glfw-opengl-arb_sample_shading" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__sampler__objects = (build-asdf-system { - pname = "cl-glfw-opengl-arb_sampler_objects"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_sampler_objects" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_sampler_objects"; - asd = "cl-glfw-opengl-arb_sampler_objects"; - }); - systems = [ "cl-glfw-opengl-arb_sampler_objects" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__seamless__cube__map = (build-asdf-system { - pname = "cl-glfw-opengl-arb_seamless_cube_map"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_seamless_cube_map" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_seamless_cube_map"; - asd = "cl-glfw-opengl-arb_seamless_cube_map"; - }); - systems = [ "cl-glfw-opengl-arb_seamless_cube_map" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__separate__shader__objects = (build-asdf-system { - pname = "cl-glfw-opengl-arb_separate_shader_objects"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_separate_shader_objects" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_separate_shader_objects"; - asd = "cl-glfw-opengl-arb_separate_shader_objects"; - }); - systems = [ "cl-glfw-opengl-arb_separate_shader_objects" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__shader__objects = (build-asdf-system { - pname = "cl-glfw-opengl-arb_shader_objects"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_shader_objects" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_shader_objects"; - asd = "cl-glfw-opengl-arb_shader_objects"; - }); - systems = [ "cl-glfw-opengl-arb_shader_objects" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__shader__subroutine = (build-asdf-system { - pname = "cl-glfw-opengl-arb_shader_subroutine"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_shader_subroutine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_shader_subroutine"; - asd = "cl-glfw-opengl-arb_shader_subroutine"; - }); - systems = [ "cl-glfw-opengl-arb_shader_subroutine" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__shading__language__100 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_shading_language_100"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_shading_language_100" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_shading_language_100"; - asd = "cl-glfw-opengl-arb_shading_language_100"; - }); - systems = [ "cl-glfw-opengl-arb_shading_language_100" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__shading__language__include = (build-asdf-system { - pname = "cl-glfw-opengl-arb_shading_language_include"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_shading_language_include" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_shading_language_include"; - asd = "cl-glfw-opengl-arb_shading_language_include"; - }); - systems = [ "cl-glfw-opengl-arb_shading_language_include" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__shadow = (build-asdf-system { - pname = "cl-glfw-opengl-arb_shadow"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_shadow" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_shadow"; - asd = "cl-glfw-opengl-arb_shadow"; - }); - systems = [ "cl-glfw-opengl-arb_shadow" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__shadow__ambient = (build-asdf-system { - pname = "cl-glfw-opengl-arb_shadow_ambient"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_shadow_ambient" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_shadow_ambient"; - asd = "cl-glfw-opengl-arb_shadow_ambient"; - }); - systems = [ "cl-glfw-opengl-arb_shadow_ambient" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__tessellation__shader = (build-asdf-system { - pname = "cl-glfw-opengl-arb_tessellation_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_tessellation_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_tessellation_shader"; - asd = "cl-glfw-opengl-arb_tessellation_shader"; - }); - systems = [ "cl-glfw-opengl-arb_tessellation_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__border__clamp = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_border_clamp"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_border_clamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_border_clamp"; - asd = "cl-glfw-opengl-arb_texture_border_clamp"; - }); - systems = [ "cl-glfw-opengl-arb_texture_border_clamp" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_buffer_object"; - asd = "cl-glfw-opengl-arb_texture_buffer_object"; - }); - systems = [ "cl-glfw-opengl-arb_texture_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__buffer__object__rgb32 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_buffer_object_rgb32"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_buffer_object_rgb32" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_buffer_object_rgb32"; - asd = "cl-glfw-opengl-arb_texture_buffer_object_rgb32"; - }); - systems = [ "cl-glfw-opengl-arb_texture_buffer_object_rgb32" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__compression = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_compression"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_compression" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_compression"; - asd = "cl-glfw-opengl-arb_texture_compression"; - }); - systems = [ "cl-glfw-opengl-arb_texture_compression" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__compression__bptc = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_compression_bptc"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_compression_bptc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_compression_bptc"; - asd = "cl-glfw-opengl-arb_texture_compression_bptc"; - }); - systems = [ "cl-glfw-opengl-arb_texture_compression_bptc" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__compression__rgtc = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_compression_rgtc"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_compression_rgtc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_compression_rgtc"; - asd = "cl-glfw-opengl-arb_texture_compression_rgtc"; - }); - systems = [ "cl-glfw-opengl-arb_texture_compression_rgtc" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__cube__map = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_cube_map"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_cube_map" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_cube_map"; - asd = "cl-glfw-opengl-arb_texture_cube_map"; - }); - systems = [ "cl-glfw-opengl-arb_texture_cube_map" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__cube__map__array = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_cube_map_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_cube_map_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_cube_map_array"; - asd = "cl-glfw-opengl-arb_texture_cube_map_array"; - }); - systems = [ "cl-glfw-opengl-arb_texture_cube_map_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__env__combine = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_env_combine"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_env_combine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_env_combine"; - asd = "cl-glfw-opengl-arb_texture_env_combine"; - }); - systems = [ "cl-glfw-opengl-arb_texture_env_combine" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__env__dot3 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_env_dot3"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_env_dot3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_env_dot3"; - asd = "cl-glfw-opengl-arb_texture_env_dot3"; - }); - systems = [ "cl-glfw-opengl-arb_texture_env_dot3" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__float = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_float"; - asd = "cl-glfw-opengl-arb_texture_float"; - }); - systems = [ "cl-glfw-opengl-arb_texture_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__gather = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_gather"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_gather" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_gather"; - asd = "cl-glfw-opengl-arb_texture_gather"; - }); - systems = [ "cl-glfw-opengl-arb_texture_gather" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__mirrored__repeat = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_mirrored_repeat"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_mirrored_repeat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_mirrored_repeat"; - asd = "cl-glfw-opengl-arb_texture_mirrored_repeat"; - }); - systems = [ "cl-glfw-opengl-arb_texture_mirrored_repeat" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_multisample"; - asd = "cl-glfw-opengl-arb_texture_multisample"; - }); - systems = [ "cl-glfw-opengl-arb_texture_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__rectangle = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_rectangle"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_rectangle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_rectangle"; - asd = "cl-glfw-opengl-arb_texture_rectangle"; - }); - systems = [ "cl-glfw-opengl-arb_texture_rectangle" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__rg = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_rg"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_rg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_rg"; - asd = "cl-glfw-opengl-arb_texture_rg"; - }); - systems = [ "cl-glfw-opengl-arb_texture_rg" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__rgb10__a2ui = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_rgb10_a2ui"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_rgb10_a2ui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_rgb10_a2ui"; - asd = "cl-glfw-opengl-arb_texture_rgb10_a2ui"; - }); - systems = [ "cl-glfw-opengl-arb_texture_rgb10_a2ui" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__texture__swizzle = (build-asdf-system { - pname = "cl-glfw-opengl-arb_texture_swizzle"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_texture_swizzle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_texture_swizzle"; - asd = "cl-glfw-opengl-arb_texture_swizzle"; - }); - systems = [ "cl-glfw-opengl-arb_texture_swizzle" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__timer__query = (build-asdf-system { - pname = "cl-glfw-opengl-arb_timer_query"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_timer_query" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_timer_query"; - asd = "cl-glfw-opengl-arb_timer_query"; - }); - systems = [ "cl-glfw-opengl-arb_timer_query" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__transform__feedback2 = (build-asdf-system { - pname = "cl-glfw-opengl-arb_transform_feedback2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_transform_feedback2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_transform_feedback2"; - asd = "cl-glfw-opengl-arb_transform_feedback2"; - }); - systems = [ "cl-glfw-opengl-arb_transform_feedback2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__transpose__matrix = (build-asdf-system { - pname = "cl-glfw-opengl-arb_transpose_matrix"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_transpose_matrix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_transpose_matrix"; - asd = "cl-glfw-opengl-arb_transpose_matrix"; - }); - systems = [ "cl-glfw-opengl-arb_transpose_matrix" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__uniform__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-arb_uniform_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_uniform_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_uniform_buffer_object"; - asd = "cl-glfw-opengl-arb_uniform_buffer_object"; - }); - systems = [ "cl-glfw-opengl-arb_uniform_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__array__bgra = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_array_bgra"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_array_bgra" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_array_bgra"; - asd = "cl-glfw-opengl-arb_vertex_array_bgra"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_array_bgra" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__array__object = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_array_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_array_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_array_object"; - asd = "cl-glfw-opengl-arb_vertex_array_object"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_array_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__attrib__64bit = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_attrib_64bit"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_attrib_64bit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_attrib_64bit"; - asd = "cl-glfw-opengl-arb_vertex_attrib_64bit"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_attrib_64bit" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__blend = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_blend"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_blend" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_blend"; - asd = "cl-glfw-opengl-arb_vertex_blend"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_blend" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_buffer_object"; - asd = "cl-glfw-opengl-arb_vertex_buffer_object"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__program = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_program"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_program" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_program"; - asd = "cl-glfw-opengl-arb_vertex_program"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_program" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__shader = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_shader"; - asd = "cl-glfw-opengl-arb_vertex_shader"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__vertex__type__2__10__10__10__rev = (build-asdf-system { - pname = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev"; - asd = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev"; - }); - systems = [ "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__viewport__array = (build-asdf-system { - pname = "cl-glfw-opengl-arb_viewport_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_viewport_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_viewport_array"; - asd = "cl-glfw-opengl-arb_viewport_array"; - }); - systems = [ "cl-glfw-opengl-arb_viewport_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-arb__window__pos = (build-asdf-system { - pname = "cl-glfw-opengl-arb_window_pos"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-arb_window_pos" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-arb_window_pos"; - asd = "cl-glfw-opengl-arb_window_pos"; - }); - systems = [ "cl-glfw-opengl-arb_window_pos" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__draw__buffers = (build-asdf-system { - pname = "cl-glfw-opengl-ati_draw_buffers"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_draw_buffers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_draw_buffers"; - asd = "cl-glfw-opengl-ati_draw_buffers"; - }); - systems = [ "cl-glfw-opengl-ati_draw_buffers" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__element__array = (build-asdf-system { - pname = "cl-glfw-opengl-ati_element_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_element_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_element_array"; - asd = "cl-glfw-opengl-ati_element_array"; - }); - systems = [ "cl-glfw-opengl-ati_element_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__envmap__bumpmap = (build-asdf-system { - pname = "cl-glfw-opengl-ati_envmap_bumpmap"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_envmap_bumpmap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_envmap_bumpmap"; - asd = "cl-glfw-opengl-ati_envmap_bumpmap"; - }); - systems = [ "cl-glfw-opengl-ati_envmap_bumpmap" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__fragment__shader = (build-asdf-system { - pname = "cl-glfw-opengl-ati_fragment_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_fragment_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_fragment_shader"; - asd = "cl-glfw-opengl-ati_fragment_shader"; - }); - systems = [ "cl-glfw-opengl-ati_fragment_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__map__object__buffer = (build-asdf-system { - pname = "cl-glfw-opengl-ati_map_object_buffer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_map_object_buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_map_object_buffer"; - asd = "cl-glfw-opengl-ati_map_object_buffer"; - }); - systems = [ "cl-glfw-opengl-ati_map_object_buffer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__meminfo = (build-asdf-system { - pname = "cl-glfw-opengl-ati_meminfo"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_meminfo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_meminfo"; - asd = "cl-glfw-opengl-ati_meminfo"; - }); - systems = [ "cl-glfw-opengl-ati_meminfo" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__pixel__format__float = (build-asdf-system { - pname = "cl-glfw-opengl-ati_pixel_format_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_pixel_format_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_pixel_format_float"; - asd = "cl-glfw-opengl-ati_pixel_format_float"; - }); - systems = [ "cl-glfw-opengl-ati_pixel_format_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__pn__triangles = (build-asdf-system { - pname = "cl-glfw-opengl-ati_pn_triangles"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_pn_triangles" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_pn_triangles"; - asd = "cl-glfw-opengl-ati_pn_triangles"; - }); - systems = [ "cl-glfw-opengl-ati_pn_triangles" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__separate__stencil = (build-asdf-system { - pname = "cl-glfw-opengl-ati_separate_stencil"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_separate_stencil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_separate_stencil"; - asd = "cl-glfw-opengl-ati_separate_stencil"; - }); - systems = [ "cl-glfw-opengl-ati_separate_stencil" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__text__fragment__shader = (build-asdf-system { - pname = "cl-glfw-opengl-ati_text_fragment_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_text_fragment_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_text_fragment_shader"; - asd = "cl-glfw-opengl-ati_text_fragment_shader"; - }); - systems = [ "cl-glfw-opengl-ati_text_fragment_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__texture__env__combine3 = (build-asdf-system { - pname = "cl-glfw-opengl-ati_texture_env_combine3"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_texture_env_combine3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_texture_env_combine3"; - asd = "cl-glfw-opengl-ati_texture_env_combine3"; - }); - systems = [ "cl-glfw-opengl-ati_texture_env_combine3" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__texture__float = (build-asdf-system { - pname = "cl-glfw-opengl-ati_texture_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_texture_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_texture_float"; - asd = "cl-glfw-opengl-ati_texture_float"; - }); - systems = [ "cl-glfw-opengl-ati_texture_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__texture__mirror__once = (build-asdf-system { - pname = "cl-glfw-opengl-ati_texture_mirror_once"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_texture_mirror_once" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_texture_mirror_once"; - asd = "cl-glfw-opengl-ati_texture_mirror_once"; - }); - systems = [ "cl-glfw-opengl-ati_texture_mirror_once" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__vertex__array__object = (build-asdf-system { - pname = "cl-glfw-opengl-ati_vertex_array_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_vertex_array_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_vertex_array_object"; - asd = "cl-glfw-opengl-ati_vertex_array_object"; - }); - systems = [ "cl-glfw-opengl-ati_vertex_array_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__vertex__attrib__array__object = (build-asdf-system { - pname = "cl-glfw-opengl-ati_vertex_attrib_array_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_vertex_attrib_array_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_vertex_attrib_array_object"; - asd = "cl-glfw-opengl-ati_vertex_attrib_array_object"; - }); - systems = [ "cl-glfw-opengl-ati_vertex_attrib_array_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ati__vertex__streams = (build-asdf-system { - pname = "cl-glfw-opengl-ati_vertex_streams"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ati_vertex_streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ati_vertex_streams"; - asd = "cl-glfw-opengl-ati_vertex_streams"; - }); - systems = [ "cl-glfw-opengl-ati_vertex_streams" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-core = (build-asdf-system { - pname = "cl-glfw-opengl-core"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-core"; - asd = "cl-glfw-opengl-core"; - }); - systems = [ "cl-glfw-opengl-core" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-glfw-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__422__pixels = (build-asdf-system { - pname = "cl-glfw-opengl-ext_422_pixels"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_422_pixels" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_422_pixels"; - asd = "cl-glfw-opengl-ext_422_pixels"; - }); - systems = [ "cl-glfw-opengl-ext_422_pixels" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__abgr = (build-asdf-system { - pname = "cl-glfw-opengl-ext_abgr"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_abgr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_abgr"; - asd = "cl-glfw-opengl-ext_abgr"; - }); - systems = [ "cl-glfw-opengl-ext_abgr" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__bgra = (build-asdf-system { - pname = "cl-glfw-opengl-ext_bgra"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_bgra" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_bgra"; - asd = "cl-glfw-opengl-ext_bgra"; - }); - systems = [ "cl-glfw-opengl-ext_bgra" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__bindable__uniform = (build-asdf-system { - pname = "cl-glfw-opengl-ext_bindable_uniform"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_bindable_uniform" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_bindable_uniform"; - asd = "cl-glfw-opengl-ext_bindable_uniform"; - }); - systems = [ "cl-glfw-opengl-ext_bindable_uniform" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__blend__color = (build-asdf-system { - pname = "cl-glfw-opengl-ext_blend_color"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_blend_color" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_blend_color"; - asd = "cl-glfw-opengl-ext_blend_color"; - }); - systems = [ "cl-glfw-opengl-ext_blend_color" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__blend__equation__separate = (build-asdf-system { - pname = "cl-glfw-opengl-ext_blend_equation_separate"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_blend_equation_separate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_blend_equation_separate"; - asd = "cl-glfw-opengl-ext_blend_equation_separate"; - }); - systems = [ "cl-glfw-opengl-ext_blend_equation_separate" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__blend__func__separate = (build-asdf-system { - pname = "cl-glfw-opengl-ext_blend_func_separate"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_blend_func_separate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_blend_func_separate"; - asd = "cl-glfw-opengl-ext_blend_func_separate"; - }); - systems = [ "cl-glfw-opengl-ext_blend_func_separate" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__blend__minmax = (build-asdf-system { - pname = "cl-glfw-opengl-ext_blend_minmax"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_blend_minmax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_blend_minmax"; - asd = "cl-glfw-opengl-ext_blend_minmax"; - }); - systems = [ "cl-glfw-opengl-ext_blend_minmax" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__blend__subtract = (build-asdf-system { - pname = "cl-glfw-opengl-ext_blend_subtract"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_blend_subtract" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_blend_subtract"; - asd = "cl-glfw-opengl-ext_blend_subtract"; - }); - systems = [ "cl-glfw-opengl-ext_blend_subtract" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__clip__volume__hint = (build-asdf-system { - pname = "cl-glfw-opengl-ext_clip_volume_hint"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_clip_volume_hint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_clip_volume_hint"; - asd = "cl-glfw-opengl-ext_clip_volume_hint"; - }); - systems = [ "cl-glfw-opengl-ext_clip_volume_hint" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__cmyka = (build-asdf-system { - pname = "cl-glfw-opengl-ext_cmyka"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_cmyka" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_cmyka"; - asd = "cl-glfw-opengl-ext_cmyka"; - }); - systems = [ "cl-glfw-opengl-ext_cmyka" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__color__subtable = (build-asdf-system { - pname = "cl-glfw-opengl-ext_color_subtable"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_color_subtable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_color_subtable"; - asd = "cl-glfw-opengl-ext_color_subtable"; - }); - systems = [ "cl-glfw-opengl-ext_color_subtable" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__compiled__vertex__array = (build-asdf-system { - pname = "cl-glfw-opengl-ext_compiled_vertex_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_compiled_vertex_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_compiled_vertex_array"; - asd = "cl-glfw-opengl-ext_compiled_vertex_array"; - }); - systems = [ "cl-glfw-opengl-ext_compiled_vertex_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__convolution = (build-asdf-system { - pname = "cl-glfw-opengl-ext_convolution"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_convolution" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_convolution"; - asd = "cl-glfw-opengl-ext_convolution"; - }); - systems = [ "cl-glfw-opengl-ext_convolution" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__coordinate__frame = (build-asdf-system { - pname = "cl-glfw-opengl-ext_coordinate_frame"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_coordinate_frame" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_coordinate_frame"; - asd = "cl-glfw-opengl-ext_coordinate_frame"; - }); - systems = [ "cl-glfw-opengl-ext_coordinate_frame" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__copy__texture = (build-asdf-system { - pname = "cl-glfw-opengl-ext_copy_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_copy_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_copy_texture"; - asd = "cl-glfw-opengl-ext_copy_texture"; - }); - systems = [ "cl-glfw-opengl-ext_copy_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__cull__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-ext_cull_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_cull_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_cull_vertex"; - asd = "cl-glfw-opengl-ext_cull_vertex"; - }); - systems = [ "cl-glfw-opengl-ext_cull_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__depth__bounds__test = (build-asdf-system { - pname = "cl-glfw-opengl-ext_depth_bounds_test"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_depth_bounds_test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_depth_bounds_test"; - asd = "cl-glfw-opengl-ext_depth_bounds_test"; - }); - systems = [ "cl-glfw-opengl-ext_depth_bounds_test" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__direct__state__access = (build-asdf-system { - pname = "cl-glfw-opengl-ext_direct_state_access"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_direct_state_access" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_direct_state_access"; - asd = "cl-glfw-opengl-ext_direct_state_access"; - }); - systems = [ "cl-glfw-opengl-ext_direct_state_access" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__draw__buffers2 = (build-asdf-system { - pname = "cl-glfw-opengl-ext_draw_buffers2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_draw_buffers2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_draw_buffers2"; - asd = "cl-glfw-opengl-ext_draw_buffers2"; - }); - systems = [ "cl-glfw-opengl-ext_draw_buffers2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__draw__instanced = (build-asdf-system { - pname = "cl-glfw-opengl-ext_draw_instanced"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_draw_instanced" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_draw_instanced"; - asd = "cl-glfw-opengl-ext_draw_instanced"; - }); - systems = [ "cl-glfw-opengl-ext_draw_instanced" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__draw__range__elements = (build-asdf-system { - pname = "cl-glfw-opengl-ext_draw_range_elements"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_draw_range_elements" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_draw_range_elements"; - asd = "cl-glfw-opengl-ext_draw_range_elements"; - }); - systems = [ "cl-glfw-opengl-ext_draw_range_elements" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__fog__coord = (build-asdf-system { - pname = "cl-glfw-opengl-ext_fog_coord"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_fog_coord" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_fog_coord"; - asd = "cl-glfw-opengl-ext_fog_coord"; - }); - systems = [ "cl-glfw-opengl-ext_fog_coord" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__framebuffer__blit = (build-asdf-system { - pname = "cl-glfw-opengl-ext_framebuffer_blit"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_framebuffer_blit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_framebuffer_blit"; - asd = "cl-glfw-opengl-ext_framebuffer_blit"; - }); - systems = [ "cl-glfw-opengl-ext_framebuffer_blit" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__framebuffer__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-ext_framebuffer_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_framebuffer_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_framebuffer_multisample"; - asd = "cl-glfw-opengl-ext_framebuffer_multisample"; - }); - systems = [ "cl-glfw-opengl-ext_framebuffer_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__framebuffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-ext_framebuffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_framebuffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_framebuffer_object"; - asd = "cl-glfw-opengl-ext_framebuffer_object"; - }); - systems = [ "cl-glfw-opengl-ext_framebuffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__framebuffer__srgb = (build-asdf-system { - pname = "cl-glfw-opengl-ext_framebuffer_srgb"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_framebuffer_srgb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_framebuffer_srgb"; - asd = "cl-glfw-opengl-ext_framebuffer_srgb"; - }); - systems = [ "cl-glfw-opengl-ext_framebuffer_srgb" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__geometry__shader4 = (build-asdf-system { - pname = "cl-glfw-opengl-ext_geometry_shader4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_geometry_shader4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_geometry_shader4"; - asd = "cl-glfw-opengl-ext_geometry_shader4"; - }); - systems = [ "cl-glfw-opengl-ext_geometry_shader4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__gpu__program__parameters = (build-asdf-system { - pname = "cl-glfw-opengl-ext_gpu_program_parameters"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_gpu_program_parameters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_gpu_program_parameters"; - asd = "cl-glfw-opengl-ext_gpu_program_parameters"; - }); - systems = [ "cl-glfw-opengl-ext_gpu_program_parameters" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__gpu__shader4 = (build-asdf-system { - pname = "cl-glfw-opengl-ext_gpu_shader4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_gpu_shader4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_gpu_shader4"; - asd = "cl-glfw-opengl-ext_gpu_shader4"; - }); - systems = [ "cl-glfw-opengl-ext_gpu_shader4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__histogram = (build-asdf-system { - pname = "cl-glfw-opengl-ext_histogram"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_histogram" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_histogram"; - asd = "cl-glfw-opengl-ext_histogram"; - }); - systems = [ "cl-glfw-opengl-ext_histogram" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__index__array__formats = (build-asdf-system { - pname = "cl-glfw-opengl-ext_index_array_formats"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_index_array_formats" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_index_array_formats"; - asd = "cl-glfw-opengl-ext_index_array_formats"; - }); - systems = [ "cl-glfw-opengl-ext_index_array_formats" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__index__func = (build-asdf-system { - pname = "cl-glfw-opengl-ext_index_func"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_index_func" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_index_func"; - asd = "cl-glfw-opengl-ext_index_func"; - }); - systems = [ "cl-glfw-opengl-ext_index_func" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__index__material = (build-asdf-system { - pname = "cl-glfw-opengl-ext_index_material"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_index_material" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_index_material"; - asd = "cl-glfw-opengl-ext_index_material"; - }); - systems = [ "cl-glfw-opengl-ext_index_material" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__light__texture = (build-asdf-system { - pname = "cl-glfw-opengl-ext_light_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_light_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_light_texture"; - asd = "cl-glfw-opengl-ext_light_texture"; - }); - systems = [ "cl-glfw-opengl-ext_light_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__multi__draw__arrays = (build-asdf-system { - pname = "cl-glfw-opengl-ext_multi_draw_arrays"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_multi_draw_arrays" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_multi_draw_arrays"; - asd = "cl-glfw-opengl-ext_multi_draw_arrays"; - }); - systems = [ "cl-glfw-opengl-ext_multi_draw_arrays" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-ext_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_multisample"; - asd = "cl-glfw-opengl-ext_multisample"; - }); - systems = [ "cl-glfw-opengl-ext_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__packed__depth__stencil = (build-asdf-system { - pname = "cl-glfw-opengl-ext_packed_depth_stencil"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_packed_depth_stencil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_packed_depth_stencil"; - asd = "cl-glfw-opengl-ext_packed_depth_stencil"; - }); - systems = [ "cl-glfw-opengl-ext_packed_depth_stencil" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__packed__float = (build-asdf-system { - pname = "cl-glfw-opengl-ext_packed_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_packed_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_packed_float"; - asd = "cl-glfw-opengl-ext_packed_float"; - }); - systems = [ "cl-glfw-opengl-ext_packed_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__packed__pixels = (build-asdf-system { - pname = "cl-glfw-opengl-ext_packed_pixels"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_packed_pixels" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_packed_pixels"; - asd = "cl-glfw-opengl-ext_packed_pixels"; - }); - systems = [ "cl-glfw-opengl-ext_packed_pixels" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__paletted__texture = (build-asdf-system { - pname = "cl-glfw-opengl-ext_paletted_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_paletted_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_paletted_texture"; - asd = "cl-glfw-opengl-ext_paletted_texture"; - }); - systems = [ "cl-glfw-opengl-ext_paletted_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__pixel__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-ext_pixel_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_pixel_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_pixel_buffer_object"; - asd = "cl-glfw-opengl-ext_pixel_buffer_object"; - }); - systems = [ "cl-glfw-opengl-ext_pixel_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__pixel__transform = (build-asdf-system { - pname = "cl-glfw-opengl-ext_pixel_transform"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_pixel_transform" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_pixel_transform"; - asd = "cl-glfw-opengl-ext_pixel_transform"; - }); - systems = [ "cl-glfw-opengl-ext_pixel_transform" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__point__parameters = (build-asdf-system { - pname = "cl-glfw-opengl-ext_point_parameters"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_point_parameters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_point_parameters"; - asd = "cl-glfw-opengl-ext_point_parameters"; - }); - systems = [ "cl-glfw-opengl-ext_point_parameters" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__polygon__offset = (build-asdf-system { - pname = "cl-glfw-opengl-ext_polygon_offset"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_polygon_offset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_polygon_offset"; - asd = "cl-glfw-opengl-ext_polygon_offset"; - }); - systems = [ "cl-glfw-opengl-ext_polygon_offset" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__provoking__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-ext_provoking_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_provoking_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_provoking_vertex"; - asd = "cl-glfw-opengl-ext_provoking_vertex"; - }); - systems = [ "cl-glfw-opengl-ext_provoking_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__secondary__color = (build-asdf-system { - pname = "cl-glfw-opengl-ext_secondary_color"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_secondary_color" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_secondary_color"; - asd = "cl-glfw-opengl-ext_secondary_color"; - }); - systems = [ "cl-glfw-opengl-ext_secondary_color" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__separate__shader__objects = (build-asdf-system { - pname = "cl-glfw-opengl-ext_separate_shader_objects"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_separate_shader_objects" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_separate_shader_objects"; - asd = "cl-glfw-opengl-ext_separate_shader_objects"; - }); - systems = [ "cl-glfw-opengl-ext_separate_shader_objects" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__separate__specular__color = (build-asdf-system { - pname = "cl-glfw-opengl-ext_separate_specular_color"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_separate_specular_color" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_separate_specular_color"; - asd = "cl-glfw-opengl-ext_separate_specular_color"; - }); - systems = [ "cl-glfw-opengl-ext_separate_specular_color" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__shader__image__load__store = (build-asdf-system { - pname = "cl-glfw-opengl-ext_shader_image_load_store"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_shader_image_load_store" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_shader_image_load_store"; - asd = "cl-glfw-opengl-ext_shader_image_load_store"; - }); - systems = [ "cl-glfw-opengl-ext_shader_image_load_store" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__stencil__clear__tag = (build-asdf-system { - pname = "cl-glfw-opengl-ext_stencil_clear_tag"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_stencil_clear_tag" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_stencil_clear_tag"; - asd = "cl-glfw-opengl-ext_stencil_clear_tag"; - }); - systems = [ "cl-glfw-opengl-ext_stencil_clear_tag" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__stencil__two__side = (build-asdf-system { - pname = "cl-glfw-opengl-ext_stencil_two_side"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_stencil_two_side" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_stencil_two_side"; - asd = "cl-glfw-opengl-ext_stencil_two_side"; - }); - systems = [ "cl-glfw-opengl-ext_stencil_two_side" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__stencil__wrap = (build-asdf-system { - pname = "cl-glfw-opengl-ext_stencil_wrap"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_stencil_wrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_stencil_wrap"; - asd = "cl-glfw-opengl-ext_stencil_wrap"; - }); - systems = [ "cl-glfw-opengl-ext_stencil_wrap" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__subtexture = (build-asdf-system { - pname = "cl-glfw-opengl-ext_subtexture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_subtexture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_subtexture"; - asd = "cl-glfw-opengl-ext_subtexture"; - }); - systems = [ "cl-glfw-opengl-ext_subtexture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture"; - asd = "cl-glfw-opengl-ext_texture"; - }); - systems = [ "cl-glfw-opengl-ext_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture3d = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture3d"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture3d" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture3d"; - asd = "cl-glfw-opengl-ext_texture3d"; - }); - systems = [ "cl-glfw-opengl-ext_texture3d" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__array = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_array"; - asd = "cl-glfw-opengl-ext_texture_array"; - }); - systems = [ "cl-glfw-opengl-ext_texture_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_buffer_object"; - asd = "cl-glfw-opengl-ext_texture_buffer_object"; - }); - systems = [ "cl-glfw-opengl-ext_texture_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__compression__latc = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_compression_latc"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_compression_latc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_compression_latc"; - asd = "cl-glfw-opengl-ext_texture_compression_latc"; - }); - systems = [ "cl-glfw-opengl-ext_texture_compression_latc" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__compression__rgtc = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_compression_rgtc"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_compression_rgtc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_compression_rgtc"; - asd = "cl-glfw-opengl-ext_texture_compression_rgtc"; - }); - systems = [ "cl-glfw-opengl-ext_texture_compression_rgtc" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__compression__s3tc = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_compression_s3tc"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_compression_s3tc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_compression_s3tc"; - asd = "cl-glfw-opengl-ext_texture_compression_s3tc"; - }); - systems = [ "cl-glfw-opengl-ext_texture_compression_s3tc" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__cube__map = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_cube_map"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_cube_map" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_cube_map"; - asd = "cl-glfw-opengl-ext_texture_cube_map"; - }); - systems = [ "cl-glfw-opengl-ext_texture_cube_map" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__env__combine = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_env_combine"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_env_combine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_env_combine"; - asd = "cl-glfw-opengl-ext_texture_env_combine"; - }); - systems = [ "cl-glfw-opengl-ext_texture_env_combine" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__env__dot3 = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_env_dot3"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_env_dot3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_env_dot3"; - asd = "cl-glfw-opengl-ext_texture_env_dot3"; - }); - systems = [ "cl-glfw-opengl-ext_texture_env_dot3" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__filter__anisotropic = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_filter_anisotropic"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_filter_anisotropic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_filter_anisotropic"; - asd = "cl-glfw-opengl-ext_texture_filter_anisotropic"; - }); - systems = [ "cl-glfw-opengl-ext_texture_filter_anisotropic" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__integer = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_integer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_integer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_integer"; - asd = "cl-glfw-opengl-ext_texture_integer"; - }); - systems = [ "cl-glfw-opengl-ext_texture_integer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__lod__bias = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_lod_bias"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_lod_bias" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_lod_bias"; - asd = "cl-glfw-opengl-ext_texture_lod_bias"; - }); - systems = [ "cl-glfw-opengl-ext_texture_lod_bias" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__mirror__clamp = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_mirror_clamp"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_mirror_clamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_mirror_clamp"; - asd = "cl-glfw-opengl-ext_texture_mirror_clamp"; - }); - systems = [ "cl-glfw-opengl-ext_texture_mirror_clamp" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__object = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_object"; - asd = "cl-glfw-opengl-ext_texture_object"; - }); - systems = [ "cl-glfw-opengl-ext_texture_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__perturb__normal = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_perturb_normal"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_perturb_normal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_perturb_normal"; - asd = "cl-glfw-opengl-ext_texture_perturb_normal"; - }); - systems = [ "cl-glfw-opengl-ext_texture_perturb_normal" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__shared__exponent = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_shared_exponent"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_shared_exponent" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_shared_exponent"; - asd = "cl-glfw-opengl-ext_texture_shared_exponent"; - }); - systems = [ "cl-glfw-opengl-ext_texture_shared_exponent" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__snorm = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_snorm"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_snorm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_snorm"; - asd = "cl-glfw-opengl-ext_texture_snorm"; - }); - systems = [ "cl-glfw-opengl-ext_texture_snorm" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__srgb = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_srgb"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_srgb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_srgb"; - asd = "cl-glfw-opengl-ext_texture_srgb"; - }); - systems = [ "cl-glfw-opengl-ext_texture_srgb" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__srgb__decode = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_srgb_decode"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_srgb_decode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_srgb_decode"; - asd = "cl-glfw-opengl-ext_texture_srgb_decode"; - }); - systems = [ "cl-glfw-opengl-ext_texture_srgb_decode" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__texture__swizzle = (build-asdf-system { - pname = "cl-glfw-opengl-ext_texture_swizzle"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_texture_swizzle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_texture_swizzle"; - asd = "cl-glfw-opengl-ext_texture_swizzle"; - }); - systems = [ "cl-glfw-opengl-ext_texture_swizzle" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__timer__query = (build-asdf-system { - pname = "cl-glfw-opengl-ext_timer_query"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_timer_query" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_timer_query"; - asd = "cl-glfw-opengl-ext_timer_query"; - }); - systems = [ "cl-glfw-opengl-ext_timer_query" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__transform__feedback = (build-asdf-system { - pname = "cl-glfw-opengl-ext_transform_feedback"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_transform_feedback" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_transform_feedback"; - asd = "cl-glfw-opengl-ext_transform_feedback"; - }); - systems = [ "cl-glfw-opengl-ext_transform_feedback" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__vertex__array = (build-asdf-system { - pname = "cl-glfw-opengl-ext_vertex_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_vertex_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_vertex_array"; - asd = "cl-glfw-opengl-ext_vertex_array"; - }); - systems = [ "cl-glfw-opengl-ext_vertex_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__vertex__array__bgra = (build-asdf-system { - pname = "cl-glfw-opengl-ext_vertex_array_bgra"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_vertex_array_bgra" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_vertex_array_bgra"; - asd = "cl-glfw-opengl-ext_vertex_array_bgra"; - }); - systems = [ "cl-glfw-opengl-ext_vertex_array_bgra" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__vertex__attrib__64bit = (build-asdf-system { - pname = "cl-glfw-opengl-ext_vertex_attrib_64bit"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_vertex_attrib_64bit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_vertex_attrib_64bit"; - asd = "cl-glfw-opengl-ext_vertex_attrib_64bit"; - }); - systems = [ "cl-glfw-opengl-ext_vertex_attrib_64bit" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__vertex__shader = (build-asdf-system { - pname = "cl-glfw-opengl-ext_vertex_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_vertex_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_vertex_shader"; - asd = "cl-glfw-opengl-ext_vertex_shader"; - }); - systems = [ "cl-glfw-opengl-ext_vertex_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ext__vertex__weighting = (build-asdf-system { - pname = "cl-glfw-opengl-ext_vertex_weighting"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ext_vertex_weighting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ext_vertex_weighting"; - asd = "cl-glfw-opengl-ext_vertex_weighting"; - }); - systems = [ "cl-glfw-opengl-ext_vertex_weighting" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-gremedy__frame__terminator = (build-asdf-system { - pname = "cl-glfw-opengl-gremedy_frame_terminator"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-gremedy_frame_terminator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-gremedy_frame_terminator"; - asd = "cl-glfw-opengl-gremedy_frame_terminator"; - }); - systems = [ "cl-glfw-opengl-gremedy_frame_terminator" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-gremedy__string__marker = (build-asdf-system { - pname = "cl-glfw-opengl-gremedy_string_marker"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-gremedy_string_marker" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-gremedy_string_marker"; - asd = "cl-glfw-opengl-gremedy_string_marker"; - }); - systems = [ "cl-glfw-opengl-gremedy_string_marker" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-hp__convolution__border__modes = (build-asdf-system { - pname = "cl-glfw-opengl-hp_convolution_border_modes"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-hp_convolution_border_modes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-hp_convolution_border_modes"; - asd = "cl-glfw-opengl-hp_convolution_border_modes"; - }); - systems = [ "cl-glfw-opengl-hp_convolution_border_modes" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-hp__image__transform = (build-asdf-system { - pname = "cl-glfw-opengl-hp_image_transform"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-hp_image_transform" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-hp_image_transform"; - asd = "cl-glfw-opengl-hp_image_transform"; - }); - systems = [ "cl-glfw-opengl-hp_image_transform" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-hp__occlusion__test = (build-asdf-system { - pname = "cl-glfw-opengl-hp_occlusion_test"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-hp_occlusion_test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-hp_occlusion_test"; - asd = "cl-glfw-opengl-hp_occlusion_test"; - }); - systems = [ "cl-glfw-opengl-hp_occlusion_test" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-hp__texture__lighting = (build-asdf-system { - pname = "cl-glfw-opengl-hp_texture_lighting"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-hp_texture_lighting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-hp_texture_lighting"; - asd = "cl-glfw-opengl-hp_texture_lighting"; - }); - systems = [ "cl-glfw-opengl-hp_texture_lighting" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ibm__cull__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-ibm_cull_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ibm_cull_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ibm_cull_vertex"; - asd = "cl-glfw-opengl-ibm_cull_vertex"; - }); - systems = [ "cl-glfw-opengl-ibm_cull_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ibm__multimode__draw__arrays = (build-asdf-system { - pname = "cl-glfw-opengl-ibm_multimode_draw_arrays"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ibm_multimode_draw_arrays" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ibm_multimode_draw_arrays"; - asd = "cl-glfw-opengl-ibm_multimode_draw_arrays"; - }); - systems = [ "cl-glfw-opengl-ibm_multimode_draw_arrays" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ibm__rasterpos__clip = (build-asdf-system { - pname = "cl-glfw-opengl-ibm_rasterpos_clip"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ibm_rasterpos_clip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ibm_rasterpos_clip"; - asd = "cl-glfw-opengl-ibm_rasterpos_clip"; - }); - systems = [ "cl-glfw-opengl-ibm_rasterpos_clip" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ibm__texture__mirrored__repeat = (build-asdf-system { - pname = "cl-glfw-opengl-ibm_texture_mirrored_repeat"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ibm_texture_mirrored_repeat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ibm_texture_mirrored_repeat"; - asd = "cl-glfw-opengl-ibm_texture_mirrored_repeat"; - }); - systems = [ "cl-glfw-opengl-ibm_texture_mirrored_repeat" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ibm__vertex__array__lists = (build-asdf-system { - pname = "cl-glfw-opengl-ibm_vertex_array_lists"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ibm_vertex_array_lists" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ibm_vertex_array_lists"; - asd = "cl-glfw-opengl-ibm_vertex_array_lists"; - }); - systems = [ "cl-glfw-opengl-ibm_vertex_array_lists" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ingr__blend__func__separate = (build-asdf-system { - pname = "cl-glfw-opengl-ingr_blend_func_separate"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ingr_blend_func_separate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ingr_blend_func_separate"; - asd = "cl-glfw-opengl-ingr_blend_func_separate"; - }); - systems = [ "cl-glfw-opengl-ingr_blend_func_separate" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ingr__color__clamp = (build-asdf-system { - pname = "cl-glfw-opengl-ingr_color_clamp"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ingr_color_clamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ingr_color_clamp"; - asd = "cl-glfw-opengl-ingr_color_clamp"; - }); - systems = [ "cl-glfw-opengl-ingr_color_clamp" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-ingr__interlace__read = (build-asdf-system { - pname = "cl-glfw-opengl-ingr_interlace_read"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-ingr_interlace_read" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-ingr_interlace_read"; - asd = "cl-glfw-opengl-ingr_interlace_read"; - }); - systems = [ "cl-glfw-opengl-ingr_interlace_read" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-intel__parallel__arrays = (build-asdf-system { - pname = "cl-glfw-opengl-intel_parallel_arrays"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-intel_parallel_arrays" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-intel_parallel_arrays"; - asd = "cl-glfw-opengl-intel_parallel_arrays"; - }); - systems = [ "cl-glfw-opengl-intel_parallel_arrays" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__pack__invert = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_pack_invert"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_pack_invert" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_pack_invert"; - asd = "cl-glfw-opengl-mesa_pack_invert"; - }); - systems = [ "cl-glfw-opengl-mesa_pack_invert" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__packed__depth__stencil = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_packed_depth_stencil"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_packed_depth_stencil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_packed_depth_stencil"; - asd = "cl-glfw-opengl-mesa_packed_depth_stencil"; - }); - systems = [ "cl-glfw-opengl-mesa_packed_depth_stencil" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__program__debug = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_program_debug"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_program_debug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_program_debug"; - asd = "cl-glfw-opengl-mesa_program_debug"; - }); - systems = [ "cl-glfw-opengl-mesa_program_debug" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__resize__buffers = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_resize_buffers"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_resize_buffers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_resize_buffers"; - asd = "cl-glfw-opengl-mesa_resize_buffers"; - }); - systems = [ "cl-glfw-opengl-mesa_resize_buffers" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__shader__debug = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_shader_debug"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_shader_debug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_shader_debug"; - asd = "cl-glfw-opengl-mesa_shader_debug"; - }); - systems = [ "cl-glfw-opengl-mesa_shader_debug" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__trace = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_trace"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_trace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_trace"; - asd = "cl-glfw-opengl-mesa_trace"; - }); - systems = [ "cl-glfw-opengl-mesa_trace" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__window__pos = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_window_pos"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_window_pos" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_window_pos"; - asd = "cl-glfw-opengl-mesa_window_pos"; - }); - systems = [ "cl-glfw-opengl-mesa_window_pos" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesa__ycbcr__texture = (build-asdf-system { - pname = "cl-glfw-opengl-mesa_ycbcr_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesa_ycbcr_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesa_ycbcr_texture"; - asd = "cl-glfw-opengl-mesa_ycbcr_texture"; - }); - systems = [ "cl-glfw-opengl-mesa_ycbcr_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-mesax__texture__stack = (build-asdf-system { - pname = "cl-glfw-opengl-mesax_texture_stack"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-mesax_texture_stack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-mesax_texture_stack"; - asd = "cl-glfw-opengl-mesax_texture_stack"; - }); - systems = [ "cl-glfw-opengl-mesax_texture_stack" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__conditional__render = (build-asdf-system { - pname = "cl-glfw-opengl-nv_conditional_render"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_conditional_render" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_conditional_render"; - asd = "cl-glfw-opengl-nv_conditional_render"; - }); - systems = [ "cl-glfw-opengl-nv_conditional_render" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__copy__depth__to__color = (build-asdf-system { - pname = "cl-glfw-opengl-nv_copy_depth_to_color"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_copy_depth_to_color" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_copy_depth_to_color"; - asd = "cl-glfw-opengl-nv_copy_depth_to_color"; - }); - systems = [ "cl-glfw-opengl-nv_copy_depth_to_color" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__copy__image = (build-asdf-system { - pname = "cl-glfw-opengl-nv_copy_image"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_copy_image" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_copy_image"; - asd = "cl-glfw-opengl-nv_copy_image"; - }); - systems = [ "cl-glfw-opengl-nv_copy_image" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__depth__buffer__float = (build-asdf-system { - pname = "cl-glfw-opengl-nv_depth_buffer_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_depth_buffer_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_depth_buffer_float"; - asd = "cl-glfw-opengl-nv_depth_buffer_float"; - }); - systems = [ "cl-glfw-opengl-nv_depth_buffer_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__depth__clamp = (build-asdf-system { - pname = "cl-glfw-opengl-nv_depth_clamp"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_depth_clamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_depth_clamp"; - asd = "cl-glfw-opengl-nv_depth_clamp"; - }); - systems = [ "cl-glfw-opengl-nv_depth_clamp" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__evaluators = (build-asdf-system { - pname = "cl-glfw-opengl-nv_evaluators"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_evaluators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_evaluators"; - asd = "cl-glfw-opengl-nv_evaluators"; - }); - systems = [ "cl-glfw-opengl-nv_evaluators" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__explicit__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-nv_explicit_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_explicit_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_explicit_multisample"; - asd = "cl-glfw-opengl-nv_explicit_multisample"; - }); - systems = [ "cl-glfw-opengl-nv_explicit_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__fence = (build-asdf-system { - pname = "cl-glfw-opengl-nv_fence"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_fence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_fence"; - asd = "cl-glfw-opengl-nv_fence"; - }); - systems = [ "cl-glfw-opengl-nv_fence" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__float__buffer = (build-asdf-system { - pname = "cl-glfw-opengl-nv_float_buffer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_float_buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_float_buffer"; - asd = "cl-glfw-opengl-nv_float_buffer"; - }); - systems = [ "cl-glfw-opengl-nv_float_buffer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__fog__distance = (build-asdf-system { - pname = "cl-glfw-opengl-nv_fog_distance"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_fog_distance" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_fog_distance"; - asd = "cl-glfw-opengl-nv_fog_distance"; - }); - systems = [ "cl-glfw-opengl-nv_fog_distance" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__fragment__program = (build-asdf-system { - pname = "cl-glfw-opengl-nv_fragment_program"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_fragment_program" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_fragment_program"; - asd = "cl-glfw-opengl-nv_fragment_program"; - }); - systems = [ "cl-glfw-opengl-nv_fragment_program" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__fragment__program2 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_fragment_program2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_fragment_program2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_fragment_program2"; - asd = "cl-glfw-opengl-nv_fragment_program2"; - }); - systems = [ "cl-glfw-opengl-nv_fragment_program2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__framebuffer__multisample__coverage = (build-asdf-system { - pname = "cl-glfw-opengl-nv_framebuffer_multisample_coverage"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_framebuffer_multisample_coverage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_framebuffer_multisample_coverage"; - asd = "cl-glfw-opengl-nv_framebuffer_multisample_coverage"; - }); - systems = [ "cl-glfw-opengl-nv_framebuffer_multisample_coverage" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__geometry__program4 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_geometry_program4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_geometry_program4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_geometry_program4"; - asd = "cl-glfw-opengl-nv_geometry_program4"; - }); - systems = [ "cl-glfw-opengl-nv_geometry_program4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__gpu__program4 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_gpu_program4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_gpu_program4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_gpu_program4"; - asd = "cl-glfw-opengl-nv_gpu_program4"; - }); - systems = [ "cl-glfw-opengl-nv_gpu_program4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__gpu__program5 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_gpu_program5"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_gpu_program5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_gpu_program5"; - asd = "cl-glfw-opengl-nv_gpu_program5"; - }); - systems = [ "cl-glfw-opengl-nv_gpu_program5" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__gpu__shader5 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_gpu_shader5"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_gpu_shader5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_gpu_shader5"; - asd = "cl-glfw-opengl-nv_gpu_shader5"; - }); - systems = [ "cl-glfw-opengl-nv_gpu_shader5" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__half__float = (build-asdf-system { - pname = "cl-glfw-opengl-nv_half_float"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_half_float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_half_float"; - asd = "cl-glfw-opengl-nv_half_float"; - }); - systems = [ "cl-glfw-opengl-nv_half_float" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__light__max__exponent = (build-asdf-system { - pname = "cl-glfw-opengl-nv_light_max_exponent"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_light_max_exponent" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_light_max_exponent"; - asd = "cl-glfw-opengl-nv_light_max_exponent"; - }); - systems = [ "cl-glfw-opengl-nv_light_max_exponent" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__multisample__coverage = (build-asdf-system { - pname = "cl-glfw-opengl-nv_multisample_coverage"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_multisample_coverage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_multisample_coverage"; - asd = "cl-glfw-opengl-nv_multisample_coverage"; - }); - systems = [ "cl-glfw-opengl-nv_multisample_coverage" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__multisample__filter__hint = (build-asdf-system { - pname = "cl-glfw-opengl-nv_multisample_filter_hint"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_multisample_filter_hint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_multisample_filter_hint"; - asd = "cl-glfw-opengl-nv_multisample_filter_hint"; - }); - systems = [ "cl-glfw-opengl-nv_multisample_filter_hint" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__occlusion__query = (build-asdf-system { - pname = "cl-glfw-opengl-nv_occlusion_query"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_occlusion_query" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_occlusion_query"; - asd = "cl-glfw-opengl-nv_occlusion_query"; - }); - systems = [ "cl-glfw-opengl-nv_occlusion_query" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__packed__depth__stencil = (build-asdf-system { - pname = "cl-glfw-opengl-nv_packed_depth_stencil"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_packed_depth_stencil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_packed_depth_stencil"; - asd = "cl-glfw-opengl-nv_packed_depth_stencil"; - }); - systems = [ "cl-glfw-opengl-nv_packed_depth_stencil" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__parameter__buffer__object = (build-asdf-system { - pname = "cl-glfw-opengl-nv_parameter_buffer_object"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_parameter_buffer_object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_parameter_buffer_object"; - asd = "cl-glfw-opengl-nv_parameter_buffer_object"; - }); - systems = [ "cl-glfw-opengl-nv_parameter_buffer_object" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__pixel__data__range = (build-asdf-system { - pname = "cl-glfw-opengl-nv_pixel_data_range"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_pixel_data_range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_pixel_data_range"; - asd = "cl-glfw-opengl-nv_pixel_data_range"; - }); - systems = [ "cl-glfw-opengl-nv_pixel_data_range" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__point__sprite = (build-asdf-system { - pname = "cl-glfw-opengl-nv_point_sprite"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_point_sprite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_point_sprite"; - asd = "cl-glfw-opengl-nv_point_sprite"; - }); - systems = [ "cl-glfw-opengl-nv_point_sprite" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__present__video = (build-asdf-system { - pname = "cl-glfw-opengl-nv_present_video"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_present_video" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_present_video"; - asd = "cl-glfw-opengl-nv_present_video"; - }); - systems = [ "cl-glfw-opengl-nv_present_video" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__primitive__restart = (build-asdf-system { - pname = "cl-glfw-opengl-nv_primitive_restart"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_primitive_restart" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_primitive_restart"; - asd = "cl-glfw-opengl-nv_primitive_restart"; - }); - systems = [ "cl-glfw-opengl-nv_primitive_restart" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__register__combiners = (build-asdf-system { - pname = "cl-glfw-opengl-nv_register_combiners"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_register_combiners" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_register_combiners"; - asd = "cl-glfw-opengl-nv_register_combiners"; - }); - systems = [ "cl-glfw-opengl-nv_register_combiners" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__register__combiners2 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_register_combiners2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_register_combiners2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_register_combiners2"; - asd = "cl-glfw-opengl-nv_register_combiners2"; - }); - systems = [ "cl-glfw-opengl-nv_register_combiners2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__shader__buffer__load = (build-asdf-system { - pname = "cl-glfw-opengl-nv_shader_buffer_load"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_shader_buffer_load" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_shader_buffer_load"; - asd = "cl-glfw-opengl-nv_shader_buffer_load"; - }); - systems = [ "cl-glfw-opengl-nv_shader_buffer_load" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__shader__buffer__store = (build-asdf-system { - pname = "cl-glfw-opengl-nv_shader_buffer_store"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_shader_buffer_store" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_shader_buffer_store"; - asd = "cl-glfw-opengl-nv_shader_buffer_store"; - }); - systems = [ "cl-glfw-opengl-nv_shader_buffer_store" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__tessellation__program5 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_tessellation_program5"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_tessellation_program5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_tessellation_program5"; - asd = "cl-glfw-opengl-nv_tessellation_program5"; - }); - systems = [ "cl-glfw-opengl-nv_tessellation_program5" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texgen__emboss = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texgen_emboss"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texgen_emboss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texgen_emboss"; - asd = "cl-glfw-opengl-nv_texgen_emboss"; - }); - systems = [ "cl-glfw-opengl-nv_texgen_emboss" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texgen__reflection = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texgen_reflection"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texgen_reflection" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texgen_reflection"; - asd = "cl-glfw-opengl-nv_texgen_reflection"; - }); - systems = [ "cl-glfw-opengl-nv_texgen_reflection" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__barrier = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_barrier"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_barrier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_barrier"; - asd = "cl-glfw-opengl-nv_texture_barrier"; - }); - systems = [ "cl-glfw-opengl-nv_texture_barrier" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__env__combine4 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_env_combine4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_env_combine4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_env_combine4"; - asd = "cl-glfw-opengl-nv_texture_env_combine4"; - }); - systems = [ "cl-glfw-opengl-nv_texture_env_combine4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__expand__normal = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_expand_normal"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_expand_normal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_expand_normal"; - asd = "cl-glfw-opengl-nv_texture_expand_normal"; - }); - systems = [ "cl-glfw-opengl-nv_texture_expand_normal" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_multisample"; - asd = "cl-glfw-opengl-nv_texture_multisample"; - }); - systems = [ "cl-glfw-opengl-nv_texture_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__rectangle = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_rectangle"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_rectangle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_rectangle"; - asd = "cl-glfw-opengl-nv_texture_rectangle"; - }); - systems = [ "cl-glfw-opengl-nv_texture_rectangle" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__shader = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_shader"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_shader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_shader"; - asd = "cl-glfw-opengl-nv_texture_shader"; - }); - systems = [ "cl-glfw-opengl-nv_texture_shader" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__shader2 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_shader2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_shader2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_shader2"; - asd = "cl-glfw-opengl-nv_texture_shader2"; - }); - systems = [ "cl-glfw-opengl-nv_texture_shader2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__texture__shader3 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_texture_shader3"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_texture_shader3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_texture_shader3"; - asd = "cl-glfw-opengl-nv_texture_shader3"; - }); - systems = [ "cl-glfw-opengl-nv_texture_shader3" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__transform__feedback = (build-asdf-system { - pname = "cl-glfw-opengl-nv_transform_feedback"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_transform_feedback" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_transform_feedback"; - asd = "cl-glfw-opengl-nv_transform_feedback"; - }); - systems = [ "cl-glfw-opengl-nv_transform_feedback" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__transform__feedback2 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_transform_feedback2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_transform_feedback2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_transform_feedback2"; - asd = "cl-glfw-opengl-nv_transform_feedback2"; - }); - systems = [ "cl-glfw-opengl-nv_transform_feedback2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__array__range = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_array_range"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_array_range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_array_range"; - asd = "cl-glfw-opengl-nv_vertex_array_range"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_array_range" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__array__range2 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_array_range2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_array_range2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_array_range2"; - asd = "cl-glfw-opengl-nv_vertex_array_range2"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_array_range2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__attrib__integer__64bit = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_attrib_integer_64bit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit"; - asd = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_attrib_integer_64bit" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__buffer__unified__memory = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_buffer_unified_memory"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_buffer_unified_memory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_buffer_unified_memory"; - asd = "cl-glfw-opengl-nv_vertex_buffer_unified_memory"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_buffer_unified_memory" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__program = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_program"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_program" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_program"; - asd = "cl-glfw-opengl-nv_vertex_program"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_program" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__program2__option = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_program2_option"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_program2_option" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_program2_option"; - asd = "cl-glfw-opengl-nv_vertex_program2_option"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_program2_option" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__program3 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_program3"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_program3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_program3"; - asd = "cl-glfw-opengl-nv_vertex_program3"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_program3" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-nv__vertex__program4 = (build-asdf-system { - pname = "cl-glfw-opengl-nv_vertex_program4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-nv_vertex_program4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-nv_vertex_program4"; - asd = "cl-glfw-opengl-nv_vertex_program4"; - }); - systems = [ "cl-glfw-opengl-nv_vertex_program4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-oes__read__format = (build-asdf-system { - pname = "cl-glfw-opengl-oes_read_format"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-oes_read_format" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-oes_read_format"; - asd = "cl-glfw-opengl-oes_read_format"; - }); - systems = [ "cl-glfw-opengl-oes_read_format" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-oml__interlace = (build-asdf-system { - pname = "cl-glfw-opengl-oml_interlace"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-oml_interlace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-oml_interlace"; - asd = "cl-glfw-opengl-oml_interlace"; - }); - systems = [ "cl-glfw-opengl-oml_interlace" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-oml__resample = (build-asdf-system { - pname = "cl-glfw-opengl-oml_resample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-oml_resample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-oml_resample"; - asd = "cl-glfw-opengl-oml_resample"; - }); - systems = [ "cl-glfw-opengl-oml_resample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-oml__subsample = (build-asdf-system { - pname = "cl-glfw-opengl-oml_subsample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-oml_subsample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-oml_subsample"; - asd = "cl-glfw-opengl-oml_subsample"; - }); - systems = [ "cl-glfw-opengl-oml_subsample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-pgi__misc__hints = (build-asdf-system { - pname = "cl-glfw-opengl-pgi_misc_hints"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-pgi_misc_hints" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-pgi_misc_hints"; - asd = "cl-glfw-opengl-pgi_misc_hints"; - }); - systems = [ "cl-glfw-opengl-pgi_misc_hints" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-pgi__vertex__hints = (build-asdf-system { - pname = "cl-glfw-opengl-pgi_vertex_hints"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-pgi_vertex_hints" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-pgi_vertex_hints"; - asd = "cl-glfw-opengl-pgi_vertex_hints"; - }); - systems = [ "cl-glfw-opengl-pgi_vertex_hints" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-rend__screen__coordinates = (build-asdf-system { - pname = "cl-glfw-opengl-rend_screen_coordinates"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-rend_screen_coordinates" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-rend_screen_coordinates"; - asd = "cl-glfw-opengl-rend_screen_coordinates"; - }); - systems = [ "cl-glfw-opengl-rend_screen_coordinates" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-s3__s3tc = (build-asdf-system { - pname = "cl-glfw-opengl-s3_s3tc"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-s3_s3tc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-s3_s3tc"; - asd = "cl-glfw-opengl-s3_s3tc"; - }); - systems = [ "cl-glfw-opengl-s3_s3tc" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgi__color__table = (build-asdf-system { - pname = "cl-glfw-opengl-sgi_color_table"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgi_color_table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgi_color_table"; - asd = "cl-glfw-opengl-sgi_color_table"; - }); - systems = [ "cl-glfw-opengl-sgi_color_table" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgi__depth__pass__instrument = (build-asdf-system { - pname = "cl-glfw-opengl-sgi_depth_pass_instrument"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgi_depth_pass_instrument" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgi_depth_pass_instrument"; - asd = "cl-glfw-opengl-sgi_depth_pass_instrument"; - }); - systems = [ "cl-glfw-opengl-sgi_depth_pass_instrument" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__detail__texture = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_detail_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_detail_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_detail_texture"; - asd = "cl-glfw-opengl-sgis_detail_texture"; - }); - systems = [ "cl-glfw-opengl-sgis_detail_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__fog__function = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_fog_function"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_fog_function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_fog_function"; - asd = "cl-glfw-opengl-sgis_fog_function"; - }); - systems = [ "cl-glfw-opengl-sgis_fog_function" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__multisample = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_multisample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_multisample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_multisample"; - asd = "cl-glfw-opengl-sgis_multisample"; - }); - systems = [ "cl-glfw-opengl-sgis_multisample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__pixel__texture = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_pixel_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_pixel_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_pixel_texture"; - asd = "cl-glfw-opengl-sgis_pixel_texture"; - }); - systems = [ "cl-glfw-opengl-sgis_pixel_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__point__parameters = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_point_parameters"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_point_parameters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_point_parameters"; - asd = "cl-glfw-opengl-sgis_point_parameters"; - }); - systems = [ "cl-glfw-opengl-sgis_point_parameters" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__sharpen__texture = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_sharpen_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_sharpen_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_sharpen_texture"; - asd = "cl-glfw-opengl-sgis_sharpen_texture"; - }); - systems = [ "cl-glfw-opengl-sgis_sharpen_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__texture4d = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_texture4d"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_texture4d" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_texture4d"; - asd = "cl-glfw-opengl-sgis_texture4d"; - }); - systems = [ "cl-glfw-opengl-sgis_texture4d" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__texture__color__mask = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_texture_color_mask"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_texture_color_mask" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_texture_color_mask"; - asd = "cl-glfw-opengl-sgis_texture_color_mask"; - }); - systems = [ "cl-glfw-opengl-sgis_texture_color_mask" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__texture__filter4 = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_texture_filter4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_texture_filter4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_texture_filter4"; - asd = "cl-glfw-opengl-sgis_texture_filter4"; - }); - systems = [ "cl-glfw-opengl-sgis_texture_filter4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgis__texture__select = (build-asdf-system { - pname = "cl-glfw-opengl-sgis_texture_select"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgis_texture_select" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgis_texture_select"; - asd = "cl-glfw-opengl-sgis_texture_select"; - }); - systems = [ "cl-glfw-opengl-sgis_texture_select" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__async = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_async"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_async" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_async"; - asd = "cl-glfw-opengl-sgix_async"; - }); - systems = [ "cl-glfw-opengl-sgix_async" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__depth__texture = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_depth_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_depth_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_depth_texture"; - asd = "cl-glfw-opengl-sgix_depth_texture"; - }); - systems = [ "cl-glfw-opengl-sgix_depth_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__flush__raster = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_flush_raster"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_flush_raster" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_flush_raster"; - asd = "cl-glfw-opengl-sgix_flush_raster"; - }); - systems = [ "cl-glfw-opengl-sgix_flush_raster" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__fog__scale = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_fog_scale"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_fog_scale" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_fog_scale"; - asd = "cl-glfw-opengl-sgix_fog_scale"; - }); - systems = [ "cl-glfw-opengl-sgix_fog_scale" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__fragment__lighting = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_fragment_lighting"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_fragment_lighting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_fragment_lighting"; - asd = "cl-glfw-opengl-sgix_fragment_lighting"; - }); - systems = [ "cl-glfw-opengl-sgix_fragment_lighting" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__framezoom = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_framezoom"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_framezoom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_framezoom"; - asd = "cl-glfw-opengl-sgix_framezoom"; - }); - systems = [ "cl-glfw-opengl-sgix_framezoom" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__igloo__interface = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_igloo_interface"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_igloo_interface" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_igloo_interface"; - asd = "cl-glfw-opengl-sgix_igloo_interface"; - }); - systems = [ "cl-glfw-opengl-sgix_igloo_interface" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__instruments = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_instruments"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_instruments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_instruments"; - asd = "cl-glfw-opengl-sgix_instruments"; - }); - systems = [ "cl-glfw-opengl-sgix_instruments" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__line__quality__hint = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_line_quality_hint"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_line_quality_hint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_line_quality_hint"; - asd = "cl-glfw-opengl-sgix_line_quality_hint"; - }); - systems = [ "cl-glfw-opengl-sgix_line_quality_hint" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__list__priority = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_list_priority"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_list_priority" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_list_priority"; - asd = "cl-glfw-opengl-sgix_list_priority"; - }); - systems = [ "cl-glfw-opengl-sgix_list_priority" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__pixel__texture = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_pixel_texture"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_pixel_texture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_pixel_texture"; - asd = "cl-glfw-opengl-sgix_pixel_texture"; - }); - systems = [ "cl-glfw-opengl-sgix_pixel_texture" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__polynomial__ffd = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_polynomial_ffd"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_polynomial_ffd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_polynomial_ffd"; - asd = "cl-glfw-opengl-sgix_polynomial_ffd"; - }); - systems = [ "cl-glfw-opengl-sgix_polynomial_ffd" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__reference__plane = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_reference_plane"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_reference_plane" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_reference_plane"; - asd = "cl-glfw-opengl-sgix_reference_plane"; - }); - systems = [ "cl-glfw-opengl-sgix_reference_plane" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__resample = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_resample"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_resample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_resample"; - asd = "cl-glfw-opengl-sgix_resample"; - }); - systems = [ "cl-glfw-opengl-sgix_resample" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__scalebias__hint = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_scalebias_hint"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_scalebias_hint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_scalebias_hint"; - asd = "cl-glfw-opengl-sgix_scalebias_hint"; - }); - systems = [ "cl-glfw-opengl-sgix_scalebias_hint" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__shadow = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_shadow"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_shadow" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_shadow"; - asd = "cl-glfw-opengl-sgix_shadow"; - }); - systems = [ "cl-glfw-opengl-sgix_shadow" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__shadow__ambient = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_shadow_ambient"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_shadow_ambient" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_shadow_ambient"; - asd = "cl-glfw-opengl-sgix_shadow_ambient"; - }); - systems = [ "cl-glfw-opengl-sgix_shadow_ambient" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__slim = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_slim"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_slim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_slim"; - asd = "cl-glfw-opengl-sgix_slim"; - }); - systems = [ "cl-glfw-opengl-sgix_slim" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__sprite = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_sprite"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_sprite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_sprite"; - asd = "cl-glfw-opengl-sgix_sprite"; - }); - systems = [ "cl-glfw-opengl-sgix_sprite" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__tag__sample__buffer = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_tag_sample_buffer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_tag_sample_buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_tag_sample_buffer"; - asd = "cl-glfw-opengl-sgix_tag_sample_buffer"; - }); - systems = [ "cl-glfw-opengl-sgix_tag_sample_buffer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__texture__coordinate__clamp = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_texture_coordinate_clamp"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_texture_coordinate_clamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_texture_coordinate_clamp"; - asd = "cl-glfw-opengl-sgix_texture_coordinate_clamp"; - }); - systems = [ "cl-glfw-opengl-sgix_texture_coordinate_clamp" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__texture__lod__bias = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_texture_lod_bias"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_texture_lod_bias" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_texture_lod_bias"; - asd = "cl-glfw-opengl-sgix_texture_lod_bias"; - }); - systems = [ "cl-glfw-opengl-sgix_texture_lod_bias" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__texture__multi__buffer = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_texture_multi_buffer"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_texture_multi_buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_texture_multi_buffer"; - asd = "cl-glfw-opengl-sgix_texture_multi_buffer"; - }); - systems = [ "cl-glfw-opengl-sgix_texture_multi_buffer" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sgix__ycrcba = (build-asdf-system { - pname = "cl-glfw-opengl-sgix_ycrcba"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sgix_ycrcba" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sgix_ycrcba"; - asd = "cl-glfw-opengl-sgix_ycrcba"; - }); - systems = [ "cl-glfw-opengl-sgix_ycrcba" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sun__convolution__border__modes = (build-asdf-system { - pname = "cl-glfw-opengl-sun_convolution_border_modes"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sun_convolution_border_modes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sun_convolution_border_modes"; - asd = "cl-glfw-opengl-sun_convolution_border_modes"; - }); - systems = [ "cl-glfw-opengl-sun_convolution_border_modes" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sun__global__alpha = (build-asdf-system { - pname = "cl-glfw-opengl-sun_global_alpha"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sun_global_alpha" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sun_global_alpha"; - asd = "cl-glfw-opengl-sun_global_alpha"; - }); - systems = [ "cl-glfw-opengl-sun_global_alpha" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sun__mesh__array = (build-asdf-system { - pname = "cl-glfw-opengl-sun_mesh_array"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sun_mesh_array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sun_mesh_array"; - asd = "cl-glfw-opengl-sun_mesh_array"; - }); - systems = [ "cl-glfw-opengl-sun_mesh_array" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sun__slice__accum = (build-asdf-system { - pname = "cl-glfw-opengl-sun_slice_accum"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sun_slice_accum" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sun_slice_accum"; - asd = "cl-glfw-opengl-sun_slice_accum"; - }); - systems = [ "cl-glfw-opengl-sun_slice_accum" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sun__triangle__list = (build-asdf-system { - pname = "cl-glfw-opengl-sun_triangle_list"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sun_triangle_list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sun_triangle_list"; - asd = "cl-glfw-opengl-sun_triangle_list"; - }); - systems = [ "cl-glfw-opengl-sun_triangle_list" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sun__vertex = (build-asdf-system { - pname = "cl-glfw-opengl-sun_vertex"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sun_vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sun_vertex"; - asd = "cl-glfw-opengl-sun_vertex"; - }); - systems = [ "cl-glfw-opengl-sun_vertex" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-sunx__constant__data = (build-asdf-system { - pname = "cl-glfw-opengl-sunx_constant_data"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-sunx_constant_data" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-sunx_constant_data"; - asd = "cl-glfw-opengl-sunx_constant_data"; - }); - systems = [ "cl-glfw-opengl-sunx_constant_data" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__1__0 = (build-asdf-system { - pname = "cl-glfw-opengl-version_1_0"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_1_0" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_1_0"; - asd = "cl-glfw-opengl-version_1_0"; - }); - systems = [ "cl-glfw-opengl-version_1_0" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__1__1 = (build-asdf-system { - pname = "cl-glfw-opengl-version_1_1"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_1_1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_1_1"; - asd = "cl-glfw-opengl-version_1_1"; - }); - systems = [ "cl-glfw-opengl-version_1_1" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__1__2 = (build-asdf-system { - pname = "cl-glfw-opengl-version_1_2"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_1_2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_1_2"; - asd = "cl-glfw-opengl-version_1_2"; - }); - systems = [ "cl-glfw-opengl-version_1_2" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__1__3 = (build-asdf-system { - pname = "cl-glfw-opengl-version_1_3"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_1_3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_1_3"; - asd = "cl-glfw-opengl-version_1_3"; - }); - systems = [ "cl-glfw-opengl-version_1_3" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__1__4 = (build-asdf-system { - pname = "cl-glfw-opengl-version_1_4"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_1_4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_1_4"; - asd = "cl-glfw-opengl-version_1_4"; - }); - systems = [ "cl-glfw-opengl-version_1_4" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__1__5 = (build-asdf-system { - pname = "cl-glfw-opengl-version_1_5"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_1_5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_1_5"; - asd = "cl-glfw-opengl-version_1_5"; - }); - systems = [ "cl-glfw-opengl-version_1_5" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__2__0 = (build-asdf-system { - pname = "cl-glfw-opengl-version_2_0"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_2_0" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_2_0"; - asd = "cl-glfw-opengl-version_2_0"; - }); - systems = [ "cl-glfw-opengl-version_2_0" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-version__2__1 = (build-asdf-system { - pname = "cl-glfw-opengl-version_2_1"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-version_2_1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-version_2_1"; - asd = "cl-glfw-opengl-version_2_1"; - }); - systems = [ "cl-glfw-opengl-version_2_1" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-win__phong__shading = (build-asdf-system { - pname = "cl-glfw-opengl-win_phong_shading"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-win_phong_shading" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-win_phong_shading"; - asd = "cl-glfw-opengl-win_phong_shading"; - }); - systems = [ "cl-glfw-opengl-win_phong_shading" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-opengl-win__specular__fog = (build-asdf-system { - pname = "cl-glfw-opengl-win_specular_fog"; - version = "20150302-git"; - asds = [ "cl-glfw-opengl-win_specular_fog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-opengl-win_specular_fog"; - asd = "cl-glfw-opengl-win_specular_fog"; - }); - systems = [ "cl-glfw-opengl-win_specular_fog" ]; - lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw-types = (build-asdf-system { - pname = "cl-glfw-types"; - version = "20150302-git"; - asds = [ "cl-glfw-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; - sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; - system = "cl-glfw-types"; - asd = "cl-glfw-types"; - }); - systems = [ "cl-glfw-types" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw3 = (build-asdf-system { - pname = "cl-glfw3"; - version = "20210531-git"; - asds = [ "cl-glfw3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw3/2021-05-31/cl-glfw3-20210531-git.tgz"; - sha256 = "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"; - system = "cl-glfw3"; - asd = "cl-glfw3"; - }); - systems = [ "cl-glfw3" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glfw3-examples = (build-asdf-system { - pname = "cl-glfw3-examples"; - version = "20210531-git"; - asds = [ "cl-glfw3-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glfw3/2021-05-31/cl-glfw3-20210531-git.tgz"; - sha256 = "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"; - system = "cl-glfw3-examples"; - asd = "cl-glfw3-examples"; - }); - systems = [ "cl-glfw3-examples" ]; - lispLibs = [ (getAttr "cl-glfw3" self) (getAttr "cl-opengl" self) (getAttr "trivial-main-thread" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glib = (build-asdf-system { - pname = "cl-glib"; - version = "20231021-git"; - asds = [ "cl-glib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glib/2023-10-21/cl-glib-20231021-git.tgz"; - sha256 = "07y8hpvdl490p8j4k8y47raqqwnpym9scz7jlg2f1jx897dkssjb"; - system = "cl-glib"; - asd = "cl-glib"; - }); - systems = [ "cl-glib" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-gobject-introspection-wrapper" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gltf = (build-asdf-system { - pname = "cl-gltf"; - version = "20241012-git"; - asds = [ "cl-gltf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gltf/2024-10-12/cl-gltf-20241012-git.tgz"; - sha256 = "0s7q6zsy85wryy3wb2hn3nprh1m4vmjzsai1mdcqlhzqyh5rm6jq"; - system = "cl-gltf"; - asd = "cl-gltf"; - }); - systems = [ "cl-gltf" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "documentation-utils" self) (getAttr "mmap" self) (getAttr "nibbles" self) (getAttr "qbase64" self) (getAttr "static-vectors" self) (getAttr "trivial-extensible-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glu = (build-asdf-system { - pname = "cl-glu"; - version = "20241012-git"; - asds = [ "cl-glu" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; - sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; - system = "cl-glu"; - asd = "cl-glu"; - }); - systems = [ "cl-glu" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glut = (build-asdf-system { - pname = "cl-glut"; - version = "20241012-git"; - asds = [ "cl-glut" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; - sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; - system = "cl-glut"; - asd = "cl-glut"; - }); - systems = [ "cl-glut" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-glut-examples = (build-asdf-system { - pname = "cl-glut-examples"; - version = "20241012-git"; - asds = [ "cl-glut-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; - sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; - system = "cl-glut-examples"; - asd = "cl-glut-examples"; - }); - systems = [ "cl-glut-examples" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-glu" self) (getAttr "cl-glut" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gobject = (build-asdf-system { - pname = "cl-gobject"; - version = "20231021-git"; - asds = [ "cl-gobject" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-glib/2023-10-21/cl-glib-20231021-git.tgz"; - sha256 = "07y8hpvdl490p8j4k8y47raqqwnpym9scz7jlg2f1jx897dkssjb"; - system = "cl-gobject"; - asd = "cl-gobject"; - }); - systems = [ "cl-gobject" ]; - lispLibs = [ (getAttr "cl-gobject-introspection-wrapper" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gobject-introspection = (build-asdf-system { - pname = "cl-gobject-introspection"; - version = "20241012-git"; - asds = [ "cl-gobject-introspection" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gobject-introspection/2024-10-12/cl-gobject-introspection-20241012-git.tgz"; - sha256 = "0iw8fciydh9bi2svq30hi029df16arpspk0mjzh0cm1c6kjm9dcj"; - system = "cl-gobject-introspection"; - asd = "cl-gobject-introspection"; - }); - systems = [ "cl-gobject-introspection" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "iterate" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - cl-gobject-introspection-test = (build-asdf-system { - pname = "cl-gobject-introspection-test"; - version = "20241012-git"; - asds = [ "cl-gobject-introspection-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gobject-introspection/2024-10-12/cl-gobject-introspection-20241012-git.tgz"; - sha256 = "0iw8fciydh9bi2svq30hi029df16arpspk0mjzh0cm1c6kjm9dcj"; - system = "cl-gobject-introspection-test"; - asd = "cl-gobject-introspection-test"; - }); - systems = [ "cl-gobject-introspection-test" ]; - lispLibs = [ (getAttr "cl-gobject-introspection" self) (getAttr "fiveam" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gobject-introspection-wrapper = (build-asdf-system { - pname = "cl-gobject-introspection-wrapper"; - version = "20231021-git"; - asds = [ "cl-gobject-introspection-wrapper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gobject-introspection-wrapper/2023-10-21/cl-gobject-introspection-wrapper-20231021-git.tgz"; - sha256 = "0x1nryxkv6i0bzn2zmlsgbq0impni4drzawy3wc7zy5nr2qnd1x5"; - system = "cl-gobject-introspection-wrapper"; - asd = "cl-gobject-introspection-wrapper"; - }); - systems = [ "cl-gobject-introspection-wrapper" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-gobject-introspection" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gog-galaxy = (build-asdf-system { - pname = "cl-gog-galaxy"; - version = "20241012-git"; - asds = [ "cl-gog-galaxy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gog-galaxy/2024-10-12/cl-gog-galaxy-20241012-git.tgz"; - sha256 = "0pb8q4q1gj4n8ll5cglip4rl9gqy8y0g9kpqn2xkc3lssvxkkh63"; - system = "cl-gog-galaxy"; - asd = "cl-gog-galaxy"; - }); - systems = [ "cl-gog-galaxy" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gopher = (build-asdf-system { - pname = "cl-gopher"; - version = "20231021-git"; - asds = [ "cl-gopher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gopher/2023-10-21/cl-gopher-20231021-git.tgz"; - sha256 = "0x8rj4icrx04rfh9qlh7hp2c0zyk4ii6s4wqwhqjxh5580mwblgb"; - system = "cl-gopher"; - asd = "cl-gopher"; - }); - systems = [ "cl-gopher" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "quri" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gpio = (build-asdf-system { - pname = "cl-gpio"; - version = "20231021-git"; - asds = [ "cl-gpio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gpio/2023-10-21/cl-gpio-20231021-git.tgz"; - sha256 = "0sh40fg9gcz72xsfi17zh1b1wckw4fsyx75kkm2w3757lx69wkmh"; - system = "cl-gpio"; - asd = "cl-gpio"; - }); - systems = [ "cl-gpio" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-graph = (build-asdf-system { - pname = "cl-graph"; - version = "20241012-git"; - asds = [ "cl-graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-graph/2024-10-12/cl-graph-20241012-git.tgz"; - sha256 = "1adwlkj2qp73irsswfi50ayjvz3di8fh1sqavsdl7l2d6k7yipdg"; - system = "cl-graph"; - asd = "cl-graph"; - }); - systems = [ "cl-graph" ]; - lispLibs = [ (getAttr "asdf-system-connections" self) (getAttr "cl-containers" self) (getAttr "metabang-bind" self) (getAttr "metatilities-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-graph_plus_hu_dot_dwim_dot_graphviz = (build-asdf-system { - pname = "cl-graph+hu.dwim.graphviz"; - version = "20241012-git"; - asds = [ "cl-graph+hu.dwim.graphviz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-graph/2024-10-12/cl-graph-20241012-git.tgz"; - sha256 = "1adwlkj2qp73irsswfi50ayjvz3di8fh1sqavsdl7l2d6k7yipdg"; - system = "cl-graph+hu.dwim.graphviz"; - asd = "cl-graph+hu.dwim.graphviz"; - }); - systems = [ "cl-graph+hu.dwim.graphviz" ]; - lispLibs = [ (getAttr "cl-graph" self) (getAttr "hu_dot_dwim_dot_graphviz" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-grip = (build-asdf-system { - pname = "cl-grip"; - version = "20241012-git"; - asds = [ "cl-grip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-grip/2024-10-12/cl-grip-20241012-git.tgz"; - sha256 = "0k9qg6pdj4xs5rshf78jmiasyqj4sy5r5hhrccskfsajw6wfmbc9"; - system = "cl-grip"; - asd = "cl-grip"; - }); - systems = [ "cl-grip" ]; - lispLibs = [ (getAttr "cl-strings" self) (getAttr "local-time" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-grnm = (build-asdf-system { - pname = "cl-grnm"; - version = "20180131-git"; - asds = [ "cl-grnm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-grnm/2018-01-31/cl-grnm-20180131-git.tgz"; - sha256 = "1hb5n37n3x2ylrghcqsia2g9a6f5wg24l659jiz4ncpi5bsv4m3s"; - system = "cl-grnm"; - asd = "cl-grnm"; - }); - systems = [ "cl-grnm" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-growl = (build-asdf-system { - pname = "cl-growl"; - version = "20161208-git"; - asds = [ "cl-growl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-growl/2016-12-08/cl-growl-20161208-git.tgz"; - sha256 = "1qgj3sq22dznwxj1b3rw0099fsf6wgfbc63r376pab74kdnji3n6"; - system = "cl-growl"; - asd = "cl-growl"; - }); - systems = [ "cl-growl" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "trivial-utf-8" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gss = (build-asdf-system { - pname = "cl-gss"; - version = "20180228-git"; - asds = [ "cl-gss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gss/2018-02-28/cl-gss-20180228-git.tgz"; - sha256 = "0zhxxn3zarird255s9i56bz0fm6dkv00mn8bbsjrhskg3wpcg4pb"; - system = "cl-gss"; - asd = "cl-gss"; - }); - systems = [ "cl-gss" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-garbage" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-gtk2-gdk = (build-asdf-system { - pname = "cl-gtk2-gdk"; - version = "20211020-git"; - asds = [ "cl-gtk2-gdk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz"; - sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx"; - system = "cl-gtk2-gdk"; - asd = "cl-gtk2-gdk"; - }); - systems = [ "cl-gtk2-gdk" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-gtk2-glib" self) (getAttr "cl-gtk2-pango" self) ]; - meta = {}; - }); - cl-gtk2-glib = (build-asdf-system { - pname = "cl-gtk2-glib"; - version = "20211020-git"; - asds = [ "cl-gtk2-glib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz"; - sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx"; - system = "cl-gtk2-glib"; - asd = "cl-gtk2-glib"; - }); - systems = [ "cl-gtk2-glib" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - cl-gtk2-pango = (build-asdf-system { - pname = "cl-gtk2-pango"; - version = "20211020-git"; - asds = [ "cl-gtk2-pango" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz"; - sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx"; - system = "cl-gtk2-pango"; - asd = "cl-gtk2-pango"; - }); - systems = [ "cl-gtk2-pango" ]; - lispLibs = [ (getAttr "cl-gtk2-glib" self) (getAttr "iterate" self) ]; - meta = {}; - }); - cl-haml = (build-asdf-system { - pname = "cl-haml"; - version = "20180228-git"; - asds = [ "cl-haml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-haml/2018-02-28/cl-haml-20180228-git.tgz"; - sha256 = "017qr3509ha2680h3c8ip5rqyfaz7v9hfjmx0pg1wrjqw8vyjyb5"; - system = "cl-haml"; - asd = "cl-haml"; - }); - systems = [ "cl-haml" ]; - lispLibs = [ (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-haml-test = (build-asdf-system { - pname = "cl-haml-test"; - version = "20180228-git"; - asds = [ "cl-haml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-haml/2018-02-28/cl-haml-20180228-git.tgz"; - sha256 = "017qr3509ha2680h3c8ip5rqyfaz7v9hfjmx0pg1wrjqw8vyjyb5"; - system = "cl-haml-test"; - asd = "cl-haml"; - }); - systems = [ "cl-haml-test" ]; - lispLibs = [ (getAttr "cl-haml" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hamt = (build-asdf-system { - pname = "cl-hamt"; - version = "20200325-git"; - asds = [ "cl-hamt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz"; - sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"; - system = "cl-hamt"; - asd = "cl-hamt"; - }); - systems = [ "cl-hamt" ]; - lispLibs = [ (getAttr "cl-murmurhash" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hamt-examples = (build-asdf-system { - pname = "cl-hamt-examples"; - version = "20200325-git"; - asds = [ "cl-hamt-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz"; - sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"; - system = "cl-hamt-examples"; - asd = "cl-hamt-examples"; - }); - systems = [ "cl-hamt-examples" ]; - lispLibs = [ (getAttr "cl-hamt" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hamt-test = (build-asdf-system { - pname = "cl-hamt-test"; - version = "20200325-git"; - asds = [ "cl-hamt-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz"; - sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"; - system = "cl-hamt-test"; - asd = "cl-hamt-test"; - }); - systems = [ "cl-hamt-test" ]; - lispLibs = [ (getAttr "cl-hamt" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hash-table-destructuring = (build-asdf-system { - pname = "cl-hash-table-destructuring"; - version = "20160531-git"; - asds = [ "cl-hash-table-destructuring" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hash-table-destructuring/2016-05-31/cl-hash-table-destructuring-20160531-git.tgz"; - sha256 = "0za8jlqfvsilmnidk429509vbdd18w7ykcycni411pjpz0lxrh1v"; - system = "cl-hash-table-destructuring"; - asd = "cl-hash-table-destructuring"; - }); - systems = [ "cl-hash-table-destructuring" ]; - lispLibs = [ (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hash-table-destructuring-test = (build-asdf-system { - pname = "cl-hash-table-destructuring-test"; - version = "20160531-git"; - asds = [ "cl-hash-table-destructuring-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hash-table-destructuring/2016-05-31/cl-hash-table-destructuring-20160531-git.tgz"; - sha256 = "0za8jlqfvsilmnidk429509vbdd18w7ykcycni411pjpz0lxrh1v"; - system = "cl-hash-table-destructuring-test"; - asd = "cl-hash-table-destructuring"; - }); - systems = [ "cl-hash-table-destructuring-test" ]; - lispLibs = [ (getAttr "cl-hash-table-destructuring" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hash-util = (build-asdf-system { - pname = "cl-hash-util"; - version = "20241012-git"; - asds = [ "cl-hash-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hash-util/2024-10-12/cl-hash-util-20241012-git.tgz"; - sha256 = "1xab7v2mav241rs8w68qmg485g4f75nrac3hjcnm0cb19ickbs1m"; - system = "cl-hash-util"; - asd = "cl-hash-util"; - }); - systems = [ "cl-hash-util" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hash-util-test = (build-asdf-system { - pname = "cl-hash-util-test"; - version = "20241012-git"; - asds = [ "cl-hash-util-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hash-util/2024-10-12/cl-hash-util-20241012-git.tgz"; - sha256 = "1xab7v2mav241rs8w68qmg485g4f75nrac3hjcnm0cb19ickbs1m"; - system = "cl-hash-util-test"; - asd = "cl-hash-util-test"; - }); - systems = [ "cl-hash-util-test" ]; - lispLibs = [ (getAttr "cl-hash-util" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-heap = (build-asdf-system { - pname = "cl-heap"; - version = "0.1.6"; - asds = [ "cl-heap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-heap/2013-03-12/cl-heap-0.1.6.tgz"; - sha256 = "01bss182x9i167lfv0lr8ylavk2m42s84vz6629kspgjhczm52w7"; - system = "cl-heap"; - asd = "cl-heap"; - }); - systems = [ "cl-heap" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-heap-tests = (build-asdf-system { - pname = "cl-heap-tests"; - version = "0.1.6"; - asds = [ "cl-heap-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-heap/2013-03-12/cl-heap-0.1.6.tgz"; - sha256 = "01bss182x9i167lfv0lr8ylavk2m42s84vz6629kspgjhczm52w7"; - system = "cl-heap-tests"; - asd = "cl-heap-tests"; - }); - systems = [ "cl-heap-tests" ]; - lispLibs = [ (getAttr "cl-heap" self) (getAttr "xlunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-heredoc = (build-asdf-system { - pname = "cl-heredoc"; - version = "20220707-git"; - asds = [ "cl-heredoc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-heredoc/2022-07-07/cl-heredoc-20220707-git.tgz"; - sha256 = "0hj9y6drd93nwcbmwwhnc30flm48ppw4rhfgfyqfc02fq2wnc83z"; - system = "cl-heredoc"; - asd = "cl-heredoc"; - }); - systems = [ "cl-heredoc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-heredoc-test = (build-asdf-system { - pname = "cl-heredoc-test"; - version = "20220707-git"; - asds = [ "cl-heredoc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-heredoc/2022-07-07/cl-heredoc-20220707-git.tgz"; - sha256 = "0hj9y6drd93nwcbmwwhnc30flm48ppw4rhfgfyqfc02fq2wnc83z"; - system = "cl-heredoc-test"; - asd = "cl-heredoc-test"; - }); - systems = [ "cl-heredoc-test" ]; - lispLibs = [ (getAttr "cl-heredoc" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hooks = (build-asdf-system { - pname = "cl-hooks"; - version = "20181210-git"; - asds = [ "cl-hooks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/architecture.hooks/2018-12-10/architecture.hooks-20181210-git.tgz"; - sha256 = "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"; - system = "cl-hooks"; - asd = "cl-hooks"; - }); - systems = [ "cl-hooks" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "let-plus" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - cl-html-diff = (build-asdf-system { - pname = "cl-html-diff"; - version = "20130128-git"; - asds = [ "cl-html-diff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-html-diff/2013-01-28/cl-html-diff-20130128-git.tgz"; - sha256 = "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"; - system = "cl-html-diff"; - asd = "cl-html-diff"; - }); - systems = [ "cl-html-diff" ]; - lispLibs = [ (getAttr "cl-difflib" self) ]; - meta = {}; - }); - cl-html-parse = (build-asdf-system { - pname = "cl-html-parse"; - version = "20231021-git"; - asds = [ "cl-html-parse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-html-parse/2023-10-21/cl-html-parse-20231021-git.tgz"; - sha256 = "1qgjaq45lvqrsw4rrnyy4d5bwlmb7vd45ibdzgbxx5az02x3ahmy"; - system = "cl-html-parse"; - asd = "cl-html-parse"; - }); - systems = [ "cl-html-parse" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-html-readme = (build-asdf-system { - pname = "cl-html-readme"; - version = "quicklisp-current-release-f8aed591-git"; - asds = [ "cl-html-readme" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-html-readme/2024-10-12/cl-html-readme-quicklisp-current-release-f8aed591-git.tgz"; - sha256 = "1q23fdbhmra7hl12vd70m7q350wych6f739l8xmz6f84dwm9i8c7"; - system = "cl-html-readme"; - asd = "cl-html-readme"; - }); - systems = [ "cl-html-readme" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-html5-parser = (build-asdf-system { - pname = "cl-html5-parser"; - version = "20190521-git"; - asds = [ "cl-html5-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz"; - sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"; - system = "cl-html5-parser"; - asd = "cl-html5-parser"; - }); - systems = [ "cl-html5-parser" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "string-case" self) ]; - meta = {}; - }); - cl-html5-parser-cxml = (build-asdf-system { - pname = "cl-html5-parser-cxml"; - version = "20190521-git"; - asds = [ "cl-html5-parser-cxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz"; - sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"; - system = "cl-html5-parser-cxml"; - asd = "cl-html5-parser-cxml"; - }); - systems = [ "cl-html5-parser-cxml" ]; - lispLibs = [ (getAttr "cl-html5-parser" self) (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-html5-parser-tests = (build-asdf-system { - pname = "cl-html5-parser-tests"; - version = "20190521-git"; - asds = [ "cl-html5-parser-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz"; - sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"; - system = "cl-html5-parser-tests"; - asd = "cl-html5-parser-tests"; - }); - systems = [ "cl-html5-parser-tests" ]; - lispLibs = [ (getAttr "cl-html5-parser" self) (getAttr "json-streams" self) (getAttr "split-sequence" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-htmlprag = (build-asdf-system { - pname = "cl-htmlprag"; - version = "20160628-git"; - asds = [ "cl-htmlprag" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-htmlprag/2016-06-28/cl-htmlprag-20160628-git.tgz"; - sha256 = "1akfy9rldx5a2h34vf7y02pj2j7b5anbxja53m41ism4vklgqg1c"; - system = "cl-htmlprag"; - asd = "cl-htmlprag"; - }); - systems = [ "cl-htmlprag" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "optima" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-httpsqs = (build-asdf-system { - pname = "cl-httpsqs"; - version = "20180228-git"; - asds = [ "cl-httpsqs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-httpsqs/2018-02-28/cl-httpsqs-20180228-git.tgz"; - sha256 = "14nhr03lm8012crczjpgsmf0ydipqf3kggayshm7w72vkyf0haj7"; - system = "cl-httpsqs"; - asd = "cl-httpsqs"; - }); - systems = [ "cl-httpsqs" ]; - lispLibs = [ (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-hue = (build-asdf-system { - pname = "cl-hue"; - version = "20150113-git"; - asds = [ "cl-hue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hue/2015-01-13/cl-hue-20150113-git.tgz"; - sha256 = "0d2qv60pih1xmk0zzbdwcsyk8k9abjzilcmhz3jdicinl8jinfr4"; - system = "cl-hue"; - asd = "cl-hue"; - }); - systems = [ "cl-hue" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "drakma" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-i18n = (build-asdf-system { - pname = "cl-i18n"; - version = "20241012-git"; - asds = [ "cl-i18n" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-i18n/2024-10-12/cl-i18n-20241012-git.tgz"; - sha256 = "1gp4ncf7ywyyh2f0zdkqibvn0wxm4hvsj672ni2vfqvhcivqfdza"; - system = "cl-i18n"; - asd = "cl-i18n"; - }); - systems = [ "cl-i18n" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-ppcre-unicode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-id3 = (build-asdf-system { - pname = "cl-id3"; - version = "20230618-git"; - asds = [ "cl-id3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-id3/2023-06-18/cl-id3-20230618-git.tgz"; - sha256 = "0p5rcxy6zy8jq673yphbq5dq0g28vx9g7kfklfhicg2blpzy2yf5"; - system = "cl-id3"; - asd = "cl-id3"; - }); - systems = [ "cl-id3" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ilu = (build-asdf-system { - pname = "cl-ilu"; - version = "20150302-git"; - asds = [ "cl-ilu" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz"; - sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf"; - system = "cl-ilu"; - asd = "cl-ilu"; - }); - systems = [ "cl-ilu" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-devil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ilut = (build-asdf-system { - pname = "cl-ilut"; - version = "20150302-git"; - asds = [ "cl-ilut" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz"; - sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf"; - system = "cl-ilut"; - asd = "cl-ilut"; - }); - systems = [ "cl-ilut" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-devil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-incognia = (build-asdf-system { - pname = "cl-incognia"; - version = "20211230-git"; - asds = [ "cl-incognia" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-incognia/2021-12-30/cl-incognia-20211230-git.tgz"; - sha256 = "0c5v7vqh26vg4mzzz7rkq3r29ygj2q4fw6v56pi79bbszyklfs21"; - system = "cl-incognia"; - asd = "cl-incognia"; - }); - systems = [ "cl-incognia" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "jonathan" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-indentify = (build-asdf-system { - pname = "cl-indentify"; - version = "20230214-git"; - asds = [ "cl-indentify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-indentify/2023-02-14/cl-indentify-20230214-git.tgz"; - sha256 = "1np7b3mh3wd5dv7nvwmjl5rgy7m0qf0fx61s04yazlh46k3d0nxd"; - system = "cl-indentify"; - asd = "cl-indentify"; - }); - systems = [ "cl-indentify" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-inflector = (build-asdf-system { - pname = "cl-inflector"; - version = "20150113-git"; - asds = [ "cl-inflector" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-inflector/2015-01-13/cl-inflector-20150113-git.tgz"; - sha256 = "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"; - system = "cl-inflector"; - asd = "cl-inflector"; - }); - systems = [ "cl-inflector" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-inflector-test = (build-asdf-system { - pname = "cl-inflector-test"; - version = "20150113-git"; - asds = [ "cl-inflector-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-inflector/2015-01-13/cl-inflector-20150113-git.tgz"; - sha256 = "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"; - system = "cl-inflector-test"; - asd = "cl-inflector"; - }); - systems = [ "cl-inflector-test" ]; - lispLibs = [ (getAttr "cl-inflector" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-influxdb = (build-asdf-system { - pname = "cl-influxdb"; - version = "20180131-git"; - asds = [ "cl-influxdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-influxdb/2018-01-31/cl-influxdb-20180131-git.tgz"; - sha256 = "0fqnsdw6x79qsvw7l6xp1gxgzcj6jwpa4mn0z2gbbipff4g7k527"; - system = "cl-influxdb"; - asd = "cl-influxdb"; - }); - systems = [ "cl-influxdb" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "cl-json" self) (getAttr "do-urlencode" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-info = (build-asdf-system { - pname = "cl-info"; - version = "20241012-git"; - asds = [ "cl-info" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-info/2024-10-12/cl-info-20241012-git.tgz"; - sha256 = "0vrrlcwdqnw8v34zd7wkjxh02zysam5c5s5n4l5q6s2jy0gmai0y"; - system = "cl-info"; - asd = "cl-info"; - }); - systems = [ "cl-info" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-info-test = (build-asdf-system { - pname = "cl-info-test"; - version = "20241012-git"; - asds = [ "cl-info-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-info/2024-10-12/cl-info-20241012-git.tgz"; - sha256 = "0vrrlcwdqnw8v34zd7wkjxh02zysam5c5s5n4l5q6s2jy0gmai0y"; - system = "cl-info-test"; - asd = "cl-info-test"; - }); - systems = [ "cl-info-test" ]; - lispLibs = [ (getAttr "cl-info" self) (getAttr "hamcrest" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ini = (build-asdf-system { - pname = "cl-ini"; - version = "20241012-git"; - asds = [ "cl-ini" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ini/2024-10-12/cl-ini-20241012-git.tgz"; - sha256 = "1dj2w1fs1j52wxy91qy2jrn88aqggrvsg4fngl90ssvfh3awk4wm"; - system = "cl-ini"; - asd = "cl-ini"; - }); - systems = [ "cl-ini" ]; - lispLibs = [ (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ini-test = (build-asdf-system { - pname = "cl-ini-test"; - version = "20241012-git"; - asds = [ "cl-ini-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ini/2024-10-12/cl-ini-20241012-git.tgz"; - sha256 = "1dj2w1fs1j52wxy91qy2jrn88aqggrvsg4fngl90ssvfh3awk4wm"; - system = "cl-ini-test"; - asd = "cl-ini-test"; - }); - systems = [ "cl-ini-test" ]; - lispLibs = [ (getAttr "cl-ini" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-inotify = (build-asdf-system { - pname = "cl-inotify"; - version = "20220707-git"; - asds = [ "cl-inotify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-inotify/2022-07-07/cl-inotify-20220707-git.tgz"; - sha256 = "0d3bvp5lqnddzhk1w9yyli03njbkhc8d129a058g0j49kgd47c7v"; - system = "cl-inotify"; - asd = "cl-inotify"; - }); - systems = [ "cl-inotify" ]; - lispLibs = [ (getAttr "binary-types" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "iolib" self) (getAttr "iolib_dot_asdf" self) (getAttr "iolib_dot_base" self) (getAttr "iolib_dot_conf" self) (getAttr "osicat" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-inotify-tests = (build-asdf-system { - pname = "cl-inotify-tests"; - version = "20220707-git"; - asds = [ "cl-inotify-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-inotify/2022-07-07/cl-inotify-20220707-git.tgz"; - sha256 = "0d3bvp5lqnddzhk1w9yyli03njbkhc8d129a058g0j49kgd47c7v"; - system = "cl-inotify-tests"; - asd = "cl-inotify-tests"; - }); - systems = [ "cl-inotify-tests" ]; - lispLibs = [ (getAttr "cl-inotify" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-intbytes = (build-asdf-system { - pname = "cl-intbytes"; - version = "20150923-git"; - asds = [ "cl-intbytes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-intbytes/2015-09-23/cl-intbytes-20150923-git.tgz"; - sha256 = "0chwfda7pi8mrgwj31li7f0x0hr5yrp4csiq8hwkgd4c1ag1z9fx"; - system = "cl-intbytes"; - asd = "cl-intbytes"; - }); - systems = [ "cl-intbytes" ]; - lispLibs = [ (getAttr "fast-io" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-intbytes-test = (build-asdf-system { - pname = "cl-intbytes-test"; - version = "20150923-git"; - asds = [ "cl-intbytes-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-intbytes/2015-09-23/cl-intbytes-20150923-git.tgz"; - sha256 = "0chwfda7pi8mrgwj31li7f0x0hr5yrp4csiq8hwkgd4c1ag1z9fx"; - system = "cl-intbytes-test"; - asd = "cl-intbytes-test"; - }); - systems = [ "cl-intbytes-test" ]; - lispLibs = [ (getAttr "cl-intbytes" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-interpol = (build-asdf-system { - pname = "cl-interpol"; - version = "20221106-git"; - asds = [ "cl-interpol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-interpol/2022-11-06/cl-interpol-20221106-git.tgz"; - sha256 = "1nkjn8byyfdxhi84rbpqs87bb5m478lvphfgxqqv0q37rn75c946"; - system = "cl-interpol"; - asd = "cl-interpol"; - }); - systems = [ "cl-interpol" ]; - lispLibs = [ (getAttr "cl-unicode" self) (getAttr "named-readtables" self) ]; - meta = {}; - }); - cl-interval = (build-asdf-system { - pname = "cl-interval"; - version = "20200715-git"; - asds = [ "cl-interval" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-interval/2020-07-15/cl-interval-20200715-git.tgz"; - sha256 = "1425l6xmrqadjqgqb5qasisf14pbr6zpj30bpxfv8hhnxs5njq4p"; - system = "cl-interval"; - asd = "cl-interval"; - }); - systems = [ "cl-interval" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-interval-docs = (build-asdf-system { - pname = "cl-interval-docs"; - version = "20200715-git"; - asds = [ "cl-interval-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-interval/2020-07-15/cl-interval-20200715-git.tgz"; - sha256 = "1425l6xmrqadjqgqb5qasisf14pbr6zpj30bpxfv8hhnxs5njq4p"; - system = "cl-interval-docs"; - asd = "cl-interval-docs"; - }); - systems = [ "cl-interval-docs" ]; - lispLibs = [ (getAttr "cl-gendoc" self) (getAttr "cl-interval" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ipfs-api2 = (build-asdf-system { - pname = "cl-ipfs-api2"; - version = "20241012-git"; - asds = [ "cl-ipfs-api2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ipfs-api2/2024-10-12/cl-ipfs-api2-20241012-git.tgz"; - sha256 = "0lz19ayvcdhakckxp6z6gzlglhvnaj0qqyx1jmp211fms7dzyl0x"; - system = "cl-ipfs-api2"; - asd = "cl-ipfs-api2"; - }); - systems = [ "cl-ipfs-api2" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "drakma" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-irc = (build-asdf-system { - pname = "cl-irc"; - version = "0.9.2"; - asds = [ "cl-irc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-irc/2015-09-23/cl-irc-0.9.2.tgz"; - sha256 = "15h3ram8b6vyg4718ad2m92xgilda2x3zmkzbjnijk69kkqsq01r"; - system = "cl-irc"; - asd = "cl-irc"; - }); - systems = [ "cl-irc" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-irc-test = (build-asdf-system { - pname = "cl-irc-test"; - version = "0.9.2"; - asds = [ "cl-irc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-irc/2015-09-23/cl-irc-0.9.2.tgz"; - sha256 = "15h3ram8b6vyg4718ad2m92xgilda2x3zmkzbjnijk69kkqsq01r"; - system = "cl-irc-test"; - asd = "cl-irc-test"; - }); - systems = [ "cl-irc-test" ]; - lispLibs = [ (getAttr "cl-irc" self) (getAttr "rt" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-irregsexp = (build-asdf-system { - pname = "cl-irregsexp"; - version = "20160825-git"; - asds = [ "cl-irregsexp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-irregsexp/2016-08-25/cl-irregsexp-20160825-git.tgz"; - sha256 = "09pf3jlqskcs32shbj9q3m0zww5pxyrizbvk2nxiwwnbl1rdb406"; - system = "cl-irregsexp"; - asd = "cl-irregsexp"; - }); - systems = [ "cl-irregsexp" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-isaac = (build-asdf-system { - pname = "cl-isaac"; - version = "20231021-git"; - asds = [ "cl-isaac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-isaac/2023-10-21/cl-isaac-20231021-git.tgz"; - sha256 = "07gjfynhqwwsa839i24h08xd9w7kn5g02rm35x96hq1qrfv1v0fn"; - system = "cl-isaac"; - asd = "cl-isaac"; - }); - systems = [ "cl-isaac" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-iterative = (build-asdf-system { - pname = "cl-iterative"; - version = "20160318-git"; - asds = [ "cl-iterative" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-iterative/2016-03-18/cl-iterative-20160318-git.tgz"; - sha256 = "01h2fs7nq2wivjwh9swsmfdvsdmd7j9dvzgrq0ijbq456zm8vilq"; - system = "cl-iterative"; - asd = "cl-iterative"; - }); - systems = [ "cl-iterative" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-iterative-tests = (build-asdf-system { - pname = "cl-iterative-tests"; - version = "20160318-git"; - asds = [ "cl-iterative-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-iterative/2016-03-18/cl-iterative-20160318-git.tgz"; - sha256 = "01h2fs7nq2wivjwh9swsmfdvsdmd7j9dvzgrq0ijbq456zm8vilq"; - system = "cl-iterative-tests"; - asd = "cl-iterative-tests"; - }); - systems = [ "cl-iterative-tests" ]; - lispLibs = [ (getAttr "cl-iterative" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-itertools = (build-asdf-system { - pname = "cl-itertools"; - version = "20160421-git"; - asds = [ "cl-itertools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-itertools/2016-04-21/cl-itertools-20160421-git.tgz"; - sha256 = "0m1g7nxqnz03bcj46skcr2d50pi3lb4hwizna5d4mvl5hk4zwbxr"; - system = "cl-itertools"; - asd = "cl-itertools"; - }); - systems = [ "cl-itertools" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-coroutine" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-itertools-tests = (build-asdf-system { - pname = "cl-itertools-tests"; - version = "20160421-git"; - asds = [ "cl-itertools-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-itertools/2016-04-21/cl-itertools-20160421-git.tgz"; - sha256 = "0m1g7nxqnz03bcj46skcr2d50pi3lb4hwizna5d4mvl5hk4zwbxr"; - system = "cl-itertools-tests"; - asd = "cl-itertools"; - }); - systems = [ "cl-itertools-tests" ]; - lispLibs = [ (getAttr "cl-itertools" self) (getAttr "fiveam" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jpeg = (build-asdf-system { - pname = "cl-jpeg"; - version = "20230214-git"; - asds = [ "cl-jpeg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jpeg/2023-02-14/cl-jpeg-20230214-git.tgz"; - sha256 = "1xl1id4k1bdw6hf24ndkzr6nxi30yw7xlr1fhfmxnwjqwy5hcq14"; - system = "cl-jpeg"; - asd = "cl-jpeg"; - }); - systems = [ "cl-jpeg" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-js = (build-asdf-system { - pname = "cl-js"; - version = "20241012-git"; - asds = [ "cl-js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/js/2024-10-12/js-20241012-git.tgz"; - sha256 = "084rfqxbhrwqb3xfcx3kzmnyzacr2wb8bkxzl0srdgn17pl7hkx3"; - system = "cl-js"; - asd = "cl-js"; - }); - systems = [ "cl-js" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "parse-js" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jschema = (build-asdf-system { - pname = "cl-jschema"; - version = "v1.1.1"; - asds = [ "cl-jschema" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jschema/2023-06-18/cl-jschema-v1.1.1.tgz"; - sha256 = "0awc7hy07sg4h8k58xxxy578a5qklpkj3slslp7ghfzfdbi7nz11"; - system = "cl-jschema"; - asd = "cl-jschema"; - }); - systems = [ "cl-jschema" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-json = (build-asdf-system { - pname = "cl-json"; - version = "20220707-git"; - asds = [ "cl-json" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-json/2022-07-07/cl-json-20220707-git.tgz"; - sha256 = "12vakz47d1i7pywgb9cm2364fzykidc9m7l7b6n9lx0gn2qx9ar5"; - system = "cl-json"; - asd = "cl-json"; - }); - systems = [ "cl-json" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-json-helper = (build-asdf-system { - pname = "cl-json-helper"; - version = "20181210-git"; - asds = [ "cl-json-helper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-json-helper/2018-12-10/cl-json-helper-20181210-git.tgz"; - sha256 = "1dhv5lh514m7bvl77xjhb4ky7nf4bskgpld7rqg3rq24k4y0c79a"; - system = "cl-json-helper"; - asd = "cl-json-helper"; - }); - systems = [ "cl-json-helper" ]; - lispLibs = [ (getAttr "cl-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-json-pointer = (build-asdf-system { - pname = "cl-json-pointer"; - version = "20221106-git"; - asds = [ "cl-json-pointer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-json-pointer/2022-11-06/cl-json-pointer-20221106-git.tgz"; - sha256 = "0b7a755wc2ghsd1pv7d32877b21h4nssp41xs017anbmj55czb2h"; - system = "cl-json-pointer"; - asd = "cl-json-pointer"; - }); - systems = [ "cl-json-pointer" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "st-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-json-schema = (build-asdf-system { - pname = "cl-json-schema"; - version = "20210228-git"; - asds = [ "cl-json-schema" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-json-schema/2021-02-28/cl-json-schema-20210228-git.tgz"; - sha256 = "1c90c9j6d2b02zyyqd07200waqa4saq0svps7vfy5a3lxp9vag9i"; - system = "cl-json-schema"; - asd = "cl-json-schema"; - }); - systems = [ "cl-json-schema" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "trivial-do" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-json-schema-tests = (build-asdf-system { - pname = "cl-json-schema-tests"; - version = "20210228-git"; - asds = [ "cl-json-schema-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-json-schema/2021-02-28/cl-json-schema-20210228-git.tgz"; - sha256 = "1c90c9j6d2b02zyyqd07200waqa4saq0svps7vfy5a3lxp9vag9i"; - system = "cl-json-schema-tests"; - asd = "cl-json-schema-tests"; - }); - systems = [ "cl-json-schema-tests" ]; - lispLibs = [ (getAttr "cl-json-schema" self) (getAttr "cl-ppcre" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jsonl = (build-asdf-system { - pname = "cl-jsonl"; - version = "20231021-git"; - asds = [ "cl-jsonl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jsonl/2023-10-21/cl-jsonl-20231021-git.tgz"; - sha256 = "0mwszi9r88p21rl6x7gh0cjgmfmzvgs34257h88m6zr7q7h7djw4"; - system = "cl-jsonl"; - asd = "cl-jsonl"; - }); - systems = [ "cl-jsonl" ]; - lispLibs = [ (getAttr "gtwiwtg" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jsx = (build-asdf-system { - pname = "cl-jsx"; - version = "20160208-git"; - asds = [ "cl-jsx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jsx/2016-02-08/cl-jsx-20160208-git.tgz"; - sha256 = "1vkqs65sqnfkfka2p93ibfrgg3wps3qhlcgcd8j40h0bv3phcjp7"; - system = "cl-jsx"; - asd = "cl-jsx"; - }); - systems = [ "cl-jsx" ]; - lispLibs = [ (getAttr "cl-who" self) (getAttr "esrap" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jsx-test = (build-asdf-system { - pname = "cl-jsx-test"; - version = "20160208-git"; - asds = [ "cl-jsx-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jsx/2016-02-08/cl-jsx-20160208-git.tgz"; - sha256 = "1vkqs65sqnfkfka2p93ibfrgg3wps3qhlcgcd8j40h0bv3phcjp7"; - system = "cl-jsx-test"; - asd = "cl-jsx-test"; - }); - systems = [ "cl-jsx-test" ]; - lispLibs = [ (getAttr "cl-jsx" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-junit-xml = (build-asdf-system { - pname = "cl-junit-xml"; - version = "20150113-git"; - asds = [ "cl-junit-xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; - sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; - system = "cl-junit-xml"; - asd = "cl-junit-xml"; - }); - systems = [ "cl-junit-xml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cxml" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-junit-xml_dot_lisp-unit = (build-asdf-system { - pname = "cl-junit-xml.lisp-unit"; - version = "20150113-git"; - asds = [ "cl-junit-xml.lisp-unit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; - sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; - system = "cl-junit-xml.lisp-unit"; - asd = "cl-junit-xml.lisp-unit"; - }); - systems = [ "cl-junit-xml.lisp-unit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-junit-xml" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-junit-xml_dot_lisp-unit2 = (build-asdf-system { - pname = "cl-junit-xml.lisp-unit2"; - version = "20150113-git"; - asds = [ "cl-junit-xml.lisp-unit2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; - sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; - system = "cl-junit-xml.lisp-unit2"; - asd = "cl-junit-xml.lisp-unit2"; - }); - systems = [ "cl-junit-xml.lisp-unit2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-junit-xml" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-junit-xml_dot_test = (build-asdf-system { - pname = "cl-junit-xml.test"; - version = "20150113-git"; - asds = [ "cl-junit-xml.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; - sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; - system = "cl-junit-xml.test"; - asd = "cl-junit-xml"; - }); - systems = [ "cl-junit-xml.test" ]; - lispLibs = [ (getAttr "cl-junit-xml" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jwk = (build-asdf-system { - pname = "cl-jwk"; - version = "20231021-git"; - asds = [ "cl-jwk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jwk/2023-10-21/cl-jwk-20231021-git.tgz"; - sha256 = "07hphgx40583hpvzj2xnk73lypfp1iq40nfpv3gf3hba4x54c17a"; - system = "cl-jwk"; - asd = "cl-jwk"; - }); - systems = [ "cl-jwk" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "binascii" self) (getAttr "cl-reexport" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "jose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-jwk_dot_test = (build-asdf-system { - pname = "cl-jwk.test"; - version = "20231021-git"; - asds = [ "cl-jwk.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jwk/2023-10-21/cl-jwk-20231021-git.tgz"; - sha256 = "07hphgx40583hpvzj2xnk73lypfp1iq40nfpv3gf3hba4x54c17a"; - system = "cl-jwk.test"; - asd = "cl-jwk.test"; - }); - systems = [ "cl-jwk.test" ]; - lispLibs = [ (getAttr "cl-jwk" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-k8055 = (build-asdf-system { - pname = "cl-k8055"; - version = "20231021-git"; - asds = [ "cl-k8055" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-k8055/2023-10-21/cl-k8055-20231021-git.tgz"; - sha256 = "1qap7pf90l89lqb8asnnnc0qfaabd6p179vmdq1z7n5wxdwsw2b3"; - system = "cl-k8055"; - asd = "cl-k8055"; - }); - systems = [ "cl-k8055" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-kanren = (build-asdf-system { - pname = "cl-kanren"; - version = "20241012-git"; - asds = [ "cl-kanren" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kanren/2024-10-12/cl-kanren-20241012-git.tgz"; - sha256 = "136jdgh23vb7imihk9dqwpk8wzjmpvkqfhah3qrxpsw0xpir29sh"; - system = "cl-kanren"; - asd = "cl-kanren"; - }); - systems = [ "cl-kanren" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-kanren-test = (build-asdf-system { - pname = "cl-kanren-test"; - version = "20241012-git"; - asds = [ "cl-kanren-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kanren/2024-10-12/cl-kanren-20241012-git.tgz"; - sha256 = "136jdgh23vb7imihk9dqwpk8wzjmpvkqfhah3qrxpsw0xpir29sh"; - system = "cl-kanren-test"; - asd = "cl-kanren-test"; - }); - systems = [ "cl-kanren-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-kanren" self) (getAttr "clunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-keycloak = (build-asdf-system { - pname = "cl-keycloak"; - version = "20190710-git"; - asds = [ "cl-keycloak" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-keycloak/2019-07-10/cl-keycloak-20190710-git.tgz"; - sha256 = "052x10xj951061xa80kp1ziwrr8hskjsr7q2ni1d1ab26rkmhb9q"; - system = "cl-keycloak"; - asd = "cl-keycloak"; - }); - systems = [ "cl-keycloak" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-kraken = (build-asdf-system { - pname = "cl-kraken"; - version = "20220331-git"; - asds = [ "cl-kraken" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kraken/2022-03-31/cl-kraken-20220331-git.tgz"; - sha256 = "07a9a7yqii0gsiaf4r6jfz2nb2m8766rv4acqcdjm8zmsllwx7jz"; - system = "cl-kraken"; - asd = "cl-kraken"; - }); - systems = [ "cl-kraken" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "jsown" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ksuid = (build-asdf-system { - pname = "cl-ksuid"; - version = "20170830-git"; - asds = [ "cl-ksuid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ksuid/2017-08-30/cl-ksuid-20170830-git.tgz"; - sha256 = "142fr8l6aa6wxnjxv04f61hy9504cx9x1r10byhmj475s5pfr6gl"; - system = "cl-ksuid"; - asd = "cl-ksuid"; - }); - systems = [ "cl-ksuid" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "ironclad" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ksuid-test = (build-asdf-system { - pname = "cl-ksuid-test"; - version = "20170830-git"; - asds = [ "cl-ksuid-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ksuid/2017-08-30/cl-ksuid-20170830-git.tgz"; - sha256 = "142fr8l6aa6wxnjxv04f61hy9504cx9x1r10byhmj475s5pfr6gl"; - system = "cl-ksuid-test"; - asd = "cl-ksuid"; - }); - systems = [ "cl-ksuid-test" ]; - lispLibs = [ (getAttr "cl-ksuid" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ktx = (build-asdf-system { - pname = "cl-ktx"; - version = "20231021-git"; - asds = [ "cl-ktx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ktx/2023-10-21/cl-ktx-20231021-git.tgz"; - sha256 = "1nggg3qixnmv9gisj0aqd369z1rm2qqdf17xnsxcpzz1d9lvxqhq"; - system = "cl-ktx"; - asd = "cl-ktx"; - }); - systems = [ "cl-ktx" ]; - lispLibs = [ (getAttr "binary-structures" self) (getAttr "cl-opengl" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-kyoto-cabinet = (build-asdf-system { - pname = "cl-kyoto-cabinet"; - version = "20191130-git"; - asds = [ "cl-kyoto-cabinet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kyoto-cabinet/2019-11-30/cl-kyoto-cabinet-20191130-git.tgz"; - sha256 = "0ayp87ggayaf8d1dblpv90a87fmgh9vhhcah3ch6jvcw6zzb9lcr"; - system = "cl-kyoto-cabinet"; - asd = "cl-kyoto-cabinet"; - }); - systems = [ "cl-kyoto-cabinet" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-l10n = (build-asdf-system { - pname = "cl-l10n"; - version = "20211209-git"; - asds = [ "cl-l10n" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-l10n/2021-12-09/cl-l10n-20211209-git.tgz"; - sha256 = "10yknvjcbgc82a6k6yzj2diki2z2s04q5kg642f2gfj2rl3bjyz7"; - system = "cl-l10n"; - asd = "cl-l10n"; - }); - systems = [ "cl-l10n" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-l10n-cldr" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "cxml" self) (getAttr "flexi-streams" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "metabang-bind" self) ]; - meta = {}; - }); - cl-l10n-cldr = (build-asdf-system { - pname = "cl-l10n-cldr"; - version = "20120909-darcs"; - asds = [ "cl-l10n-cldr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-l10n-cldr/2012-09-09/cl-l10n-cldr-20120909-darcs.tgz"; - sha256 = "1mwkjdc51158v9rpdpsc1qzqqs0x8hb9k1k7b0pm8q7dp9rrb53v"; - system = "cl-l10n-cldr"; - asd = "cl-l10n-cldr"; - }); - systems = [ "cl-l10n-cldr" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-lambdacalc = (build-asdf-system { - pname = "cl-lambdacalc"; - version = "20230214-git"; - asds = [ "cl-lambdacalc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lambdacalc/2023-02-14/cl-lambdacalc-20230214-git.tgz"; - sha256 = "0ja08d6p1dnbpf8yl8n59vis5lzr3x32in3iin72zmhj5n60axbd"; - system = "cl-lambdacalc"; - asd = "cl-lambdacalc"; - }); - systems = [ "cl-lambdacalc" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lambdacalc-test = (build-asdf-system { - pname = "cl-lambdacalc-test"; - version = "20230214-git"; - asds = [ "cl-lambdacalc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lambdacalc/2023-02-14/cl-lambdacalc-20230214-git.tgz"; - sha256 = "0ja08d6p1dnbpf8yl8n59vis5lzr3x32in3iin72zmhj5n60axbd"; - system = "cl-lambdacalc-test"; - asd = "cl-lambdacalc-test"; - }); - systems = [ "cl-lambdacalc-test" ]; - lispLibs = [ (getAttr "cl-lambdacalc" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-las = (build-asdf-system { - pname = "cl-las"; - version = "20221106-git"; - asds = [ "cl-las" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-las/2022-11-06/cl-las-20221106-git.tgz"; - sha256 = "119v5mrvxhz8b3alqj9gzfbzhigdm1n1hmwyylncn5w5dkq3jc9k"; - system = "cl-las"; - asd = "cl-las"; - }); - systems = [ "cl-las" ]; - lispLibs = [ (getAttr "binary-io" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lastfm = (build-asdf-system { - pname = "cl-lastfm"; - version = "0.2.1"; - asds = [ "cl-lastfm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lastfm/2014-07-13/cl-lastfm-0.2.1.tgz"; - sha256 = "0f37b8swgfz57bffcypjhcgzj5dhanssiraahkianj65a6zbindl"; - system = "cl-lastfm"; - asd = "cl-lastfm"; - }); - systems = [ "cl-lastfm" ]; - lispLibs = [ (getAttr "cxml-stp" self) (getAttr "drakma" self) (getAttr "trivial-utf-8" self) (getAttr "url-rewrite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lastfm-test = (build-asdf-system { - pname = "cl-lastfm-test"; - version = "0.2.1"; - asds = [ "cl-lastfm-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lastfm/2014-07-13/cl-lastfm-0.2.1.tgz"; - sha256 = "0f37b8swgfz57bffcypjhcgzj5dhanssiraahkianj65a6zbindl"; - system = "cl-lastfm-test"; - asd = "cl-lastfm-test"; - }); - systems = [ "cl-lastfm-test" ]; - lispLibs = [ (getAttr "cl-lastfm" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-launch = (build-asdf-system { - pname = "cl-launch"; - version = "4.1.4.1"; - asds = [ "cl-launch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-launch/2015-10-31/cl-launch-4.1.4.1.tgz"; - sha256 = "041nh1sh9rqdk9c1kr63n3g2pn11i68x9plzyfq36wmyhz2aypnr"; - system = "cl-launch"; - asd = "cl-launch"; - }); - systems = [ "cl-launch" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lc = (build-asdf-system { - pname = "cl-lc"; - version = "20241012-git"; - asds = [ "cl-lc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lc/2024-10-12/cl-lc-20241012-git.tgz"; - sha256 = "07wpbwgjybhp6vdr2rbd93jwakqixr9dyymp3yz1h684ln7wvfkb"; - system = "cl-lc"; - asd = "cl-lc"; - }); - systems = [ "cl-lc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ledger = (build-asdf-system { - pname = "cl-ledger"; - version = "20200218-git"; - asds = [ "cl-ledger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ledger/2020-02-18/cl-ledger-20200218-git.tgz"; - sha256 = "1dpxna9s0rgshqbc58h698ihwyk34a3napb8zrm8vbq8aigjrrzs"; - system = "cl-ledger"; - asd = "cl-ledger"; - }); - systems = [ "cl-ledger" ]; - lispLibs = [ (getAttr "cambl" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "periods-series" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lex = (build-asdf-system { - pname = "cl-lex"; - version = "20160929-git"; - asds = [ "cl-lex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lex/2016-09-29/cl-lex-20160929-git.tgz"; - sha256 = "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"; - system = "cl-lex"; - asd = "cl-lex"; - }); - systems = [ "cl-lex" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lexer = (build-asdf-system { - pname = "cl-lexer"; - version = "20191007-git"; - asds = [ "cl-lexer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lexer/2019-10-07/cl-lexer-20191007-git.tgz"; - sha256 = "182fnmazfmc3zdp14lvpxlaxrwwsjp8mbjn8sdzywjxcnvlpkdmk"; - system = "cl-lexer"; - asd = "cl-lexer"; - }); - systems = [ "cl-lexer" ]; - lispLibs = [ (getAttr "regex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-liballegro = (build-asdf-system { - pname = "cl-liballegro"; - version = "20241012-git"; - asds = [ "cl-liballegro" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-liballegro/2024-10-12/cl-liballegro-20241012-git.tgz"; - sha256 = "1q263wzm25rynyhcym216l3swhrz6fhiwhdbh4iz212hw9w0kn71"; - system = "cl-liballegro"; - asd = "cl-liballegro"; - }); - systems = [ "cl-liballegro" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "float-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-gray-streams" self) (getAttr "trivial-main-thread" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-liballegro-nuklear = (build-asdf-system { - pname = "cl-liballegro-nuklear"; - version = "20241012-git"; - asds = [ "cl-liballegro-nuklear" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-liballegro-nuklear/2024-10-12/cl-liballegro-nuklear-20241012-git.tgz"; - sha256 = "15wbs1jfl60dnyzgzdibw2hkl64cx3n3v90i5jp0vd123kix217j"; - system = "cl-liballegro-nuklear"; - asd = "cl-liballegro-nuklear"; - }); - systems = [ "cl-liballegro-nuklear" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "cl-liballegro" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libevent2 = (build-asdf-system { - pname = "cl-libevent2"; - version = "20190107-git"; - asds = [ "cl-libevent2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libevent2/2019-01-07/cl-libevent2-20190107-git.tgz"; - sha256 = "18c8cxlh0vmyca7ihj8dz3f1j31h7y0kcis6qr6mpkzyi0k2cf0g"; - system = "cl-libevent2"; - asd = "cl-libevent2"; - }); - systems = [ "cl-libevent2" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libevent2-ssl = (build-asdf-system { - pname = "cl-libevent2-ssl"; - version = "20190107-git"; - asds = [ "cl-libevent2-ssl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libevent2/2019-01-07/cl-libevent2-20190107-git.tgz"; - sha256 = "18c8cxlh0vmyca7ihj8dz3f1j31h7y0kcis6qr6mpkzyi0k2cf0g"; - system = "cl-libevent2-ssl"; - asd = "cl-libevent2-ssl"; - }); - systems = [ "cl-libevent2-ssl" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-libevent2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libiio = (build-asdf-system { - pname = "cl-libiio"; - version = "20191130-git"; - asds = [ "cl-libiio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libiio/2019-11-30/cl-libiio-20191130-git.tgz"; - sha256 = "1z1jslm303c22imhshr92j1mq7g3j81xa5rk5psj3x00papncwmr"; - system = "cl-libiio"; - asd = "cl-libiio"; - }); - systems = [ "cl-libiio" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libinput = (build-asdf-system { - pname = "cl-libinput"; - version = "20220707-git"; - asds = [ "cl-libinput" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libinput/2022-07-07/cl-libinput-20220707-git.tgz"; - sha256 = "18c3rl3d2bizbp3607gnn9j50x84f2mkypj9rqbry56i5gcw8zkh"; - system = "cl-libinput"; - asd = "cl-libinput"; - }); - systems = [ "cl-libinput" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-liblinear = (build-asdf-system { - pname = "cl-liblinear"; - version = "20211020-git"; - asds = [ "cl-liblinear" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libsvm/2021-10-20/cl-libsvm-20211020-git.tgz"; - sha256 = "0fpcw82hz6bp2hicjhvhxwcj4azprcl911n8q941lk8xcld3pmi0"; - system = "cl-liblinear"; - asd = "cl-liblinear"; - }); - systems = [ "cl-liblinear" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libpuzzle = (build-asdf-system { - pname = "cl-libpuzzle"; - version = "20150608-git"; - asds = [ "cl-libpuzzle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libpuzzle/2015-06-08/cl-libpuzzle-20150608-git.tgz"; - sha256 = "0qgpdg4lni4sq6jp23qcd1jldsnrsn4h5b14ddmc8mb7va4qshlp"; - system = "cl-libpuzzle"; - asd = "cl-libpuzzle"; - }); - systems = [ "cl-libpuzzle" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libpuzzle-test = (build-asdf-system { - pname = "cl-libpuzzle-test"; - version = "20150608-git"; - asds = [ "cl-libpuzzle-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libpuzzle/2015-06-08/cl-libpuzzle-20150608-git.tgz"; - sha256 = "0qgpdg4lni4sq6jp23qcd1jldsnrsn4h5b14ddmc8mb7va4qshlp"; - system = "cl-libpuzzle-test"; - asd = "cl-libpuzzle-test"; - }); - systems = [ "cl-libpuzzle-test" ]; - lispLibs = [ (getAttr "cl-libpuzzle" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libsvm = (build-asdf-system { - pname = "cl-libsvm"; - version = "20211020-git"; - asds = [ "cl-libsvm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libsvm/2021-10-20/cl-libsvm-20211020-git.tgz"; - sha256 = "0fpcw82hz6bp2hicjhvhxwcj4azprcl911n8q941lk8xcld3pmi0"; - system = "cl-libsvm"; - asd = "cl-libsvm"; - }); - systems = [ "cl-libsvm" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libsvm-format = (build-asdf-system { - pname = "cl-libsvm-format"; - version = "20180711-git"; - asds = [ "cl-libsvm-format" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libsvm-format/2018-07-11/cl-libsvm-format-20180711-git.tgz"; - sha256 = "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"; - system = "cl-libsvm-format"; - asd = "cl-libsvm-format"; - }); - systems = [ "cl-libsvm-format" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libsvm-format-test = (build-asdf-system { - pname = "cl-libsvm-format-test"; - version = "20180711-git"; - asds = [ "cl-libsvm-format-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libsvm-format/2018-07-11/cl-libsvm-format-20180711-git.tgz"; - sha256 = "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"; - system = "cl-libsvm-format-test"; - asd = "cl-libsvm-format-test"; - }); - systems = [ "cl-libsvm-format-test" ]; - lispLibs = [ (getAttr "cl-libsvm-format" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libusb = (build-asdf-system { - pname = "cl-libusb"; - version = "20210228-git"; - asds = [ "cl-libusb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libusb/2021-02-28/cl-libusb-20210228-git.tgz"; - sha256 = "0kyzgcflwb85q58fgn82sp0bipnq5bprg5i4h0h3jxafqqyagbnk"; - system = "cl-libusb"; - asd = "cl-libusb"; - }); - systems = [ "cl-libusb" ]; - lispLibs = [ (getAttr "libusb-ffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libuv = (build-asdf-system { - pname = "cl-libuv"; - version = "20230618-git"; - asds = [ "cl-libuv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libuv/2023-06-18/cl-libuv-20230618-git.tgz"; - sha256 = "13kymryibhlq7jc8q3yar0c676srx82axfmz0x2r5kq7k94cknl9"; - system = "cl-libuv"; - asd = "cl-libuv"; - }); - systems = [ "cl-libuv" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = {}; - }); - cl-libuv-config = (build-asdf-system { - pname = "cl-libuv-config"; - version = "20230618-git"; - asds = [ "cl-libuv-config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libuv/2023-06-18/cl-libuv-20230618-git.tgz"; - sha256 = "13kymryibhlq7jc8q3yar0c676srx82axfmz0x2r5kq7k94cknl9"; - system = "cl-libuv-config"; - asd = "cl-libuv-config"; - }); - systems = [ "cl-libuv-config" ]; - lispLibs = [ (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libxml2 = (build-asdf-system { - pname = "cl-libxml2"; - version = "20130615-git"; - asds = [ "cl-libxml2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; - sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; - system = "cl-libxml2"; - asd = "cl-libxml2"; - }); - systems = [ "cl-libxml2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "flexi-streams" self) (getAttr "garbage-pools" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) (getAttr "puri" self) ]; - meta = {}; - }); - cl-libxml2-test = (build-asdf-system { - pname = "cl-libxml2-test"; - version = "20130615-git"; - asds = [ "cl-libxml2-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; - sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; - system = "cl-libxml2-test"; - asd = "cl-libxml2"; - }); - systems = [ "cl-libxml2-test" ]; - lispLibs = [ (getAttr "cl-libxml2" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-libyaml = (build-asdf-system { - pname = "cl-libyaml"; - version = "20201220-git"; - asds = [ "cl-libyaml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libyaml/2020-12-20/cl-libyaml-20201220-git.tgz"; - sha256 = "06pvmackyhq03rjmihpx6w63m6cy8wx78ll5xpwwvd85bgrqq817"; - system = "cl-libyaml"; - asd = "cl-libyaml"; - }); - systems = [ "cl-libyaml" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = {}; - }); - cl-libyaml-test = (build-asdf-system { - pname = "cl-libyaml-test"; - version = "20201220-git"; - asds = [ "cl-libyaml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libyaml/2020-12-20/cl-libyaml-20201220-git.tgz"; - sha256 = "06pvmackyhq03rjmihpx6w63m6cy8wx78ll5xpwwvd85bgrqq817"; - system = "cl-libyaml-test"; - asd = "cl-libyaml-test"; - }); - systems = [ "cl-libyaml-test" ]; - lispLibs = [ (getAttr "cl-libyaml" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lite = (build-asdf-system { - pname = "cl-lite"; - version = "master-fe503896-git"; - asds = [ "cl-lite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "cl-lite"; - asd = "cl-lite"; - }); - systems = [ "cl-lite" ]; - lispLibs = [ (getAttr "glisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-locale = (build-asdf-system { - pname = "cl-locale"; - version = "20151031-git"; - asds = [ "cl-locale" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz"; - sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"; - system = "cl-locale"; - asd = "cl-locale"; - }); - systems = [ "cl-locale" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "arnesi" self) (getAttr "cl-annot" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) ]; - meta = {}; - }); - cl-locale-syntax = (build-asdf-system { - pname = "cl-locale-syntax"; - version = "20151031-git"; - asds = [ "cl-locale-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz"; - sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"; - system = "cl-locale-syntax"; - asd = "cl-locale-syntax"; - }); - systems = [ "cl-locale-syntax" ]; - lispLibs = [ (getAttr "cl-locale" self) (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-locale-test = (build-asdf-system { - pname = "cl-locale-test"; - version = "20151031-git"; - asds = [ "cl-locale-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz"; - sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"; - system = "cl-locale-test"; - asd = "cl-locale-test"; - }); - systems = [ "cl-locale-test" ]; - lispLibs = [ (getAttr "cl-locale" self) (getAttr "cl-syntax" self) (getAttr "flexi-streams" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-locatives = (build-asdf-system { - pname = "cl-locatives"; - version = "20230618-git"; - asds = [ "cl-locatives" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-locatives/2023-06-18/cl-locatives-20230618-git.tgz"; - sha256 = "05avna8fj3bicdhbcvnjmv9dnqq10g26m9pwgmrh6a4hyxz9zdaq"; - system = "cl-locatives"; - asd = "cl-locatives"; - }); - systems = [ "cl-locatives" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-log = (build-asdf-system { - pname = "cl-log"; - version = "20241012-git"; - asds = [ "cl-log" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-log/2024-10-12/cl-log-20241012-git.tgz"; - sha256 = "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"; - system = "cl-log"; - asd = "cl-log"; - }); - systems = [ "cl-log" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-logic = (build-asdf-system { - pname = "cl-logic"; - version = "20141217-git"; - asds = [ "cl-logic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-logic/2014-12-17/cl-logic-20141217-git.tgz"; - sha256 = "17n2wzqali3j6b7pqbydipwlxgwdrj4mdnsgwjdyz32n8jvfyjwh"; - system = "cl-logic"; - asd = "cl-logic"; - }); - systems = [ "cl-logic" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "quine-mccluskey" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ltsv = (build-asdf-system { - pname = "cl-ltsv"; - version = "20140713-git"; - asds = [ "cl-ltsv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ltsv/2014-07-13/cl-ltsv-20140713-git.tgz"; - sha256 = "1bjvnwxyaaw3yrq5hws2fr4qmk5938hdh2np2bqpm4m3b2c94n22"; - system = "cl-ltsv"; - asd = "cl-ltsv"; - }); - systems = [ "cl-ltsv" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ltsv-test = (build-asdf-system { - pname = "cl-ltsv-test"; - version = "20140713-git"; - asds = [ "cl-ltsv-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ltsv/2014-07-13/cl-ltsv-20140713-git.tgz"; - sha256 = "1bjvnwxyaaw3yrq5hws2fr4qmk5938hdh2np2bqpm4m3b2c94n22"; - system = "cl-ltsv-test"; - asd = "cl-ltsv-test"; - }); - systems = [ "cl-ltsv-test" ]; - lispLibs = [ (getAttr "cl-ltsv" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-lzma = (build-asdf-system { - pname = "cl-lzma"; - version = "20191130-git"; - asds = [ "cl-lzma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lzma/2019-11-30/cl-lzma-20191130-git.tgz"; - sha256 = "17fdinmi2ffdga17slv86van0sp9gkvlmjprfdwak2jzziz6fxx6"; - system = "cl-lzma"; - asd = "cl-lzma"; - }); - systems = [ "cl-lzma" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-autowrap" self) (getAttr "fast-io" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-m4 = (build-asdf-system { - pname = "cl-m4"; - version = "20130312-git"; - asds = [ "cl-m4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-m4/2013-03-12/cl-m4-20130312-git.tgz"; - sha256 = "1dqdhxb45j4vqmx38xkq32gsckldca8rxpf2idg4b61wd21c0ci6"; - system = "cl-m4"; - asd = "cl-m4"; - }); - systems = [ "cl-m4" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "external-program" self) (getAttr "graylex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-m4-test = (build-asdf-system { - pname = "cl-m4-test"; - version = "20130312-git"; - asds = [ "cl-m4-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-m4/2013-03-12/cl-m4-20130312-git.tgz"; - sha256 = "1dqdhxb45j4vqmx38xkq32gsckldca8rxpf2idg4b61wd21c0ci6"; - system = "cl-m4-test"; - asd = "cl-m4-test"; - }); - systems = [ "cl-m4-test" ]; - lispLibs = [ (getAttr "cl-heredoc" self) (getAttr "cl-m4" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mango = (build-asdf-system { - pname = "cl-mango"; - version = "20200925-git"; - asds = [ "cl-mango" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mango/2020-09-25/cl-mango-20200925-git.tgz"; - sha256 = "0ipa1azakzqigq103m1j2z597bp2i34kx4z1418kp2jn8zwbdz5s"; - system = "cl-mango"; - asd = "cl-mango"; - }); - systems = [ "cl-mango" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "json-mop" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markdown = (build-asdf-system { - pname = "cl-markdown"; - version = "20191227-git"; - asds = [ "cl-markdown" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz"; - sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg"; - system = "cl-markdown"; - asd = "cl-markdown"; - }); - systems = [ "cl-markdown" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "cl-containers" self) (getAttr "cl-ppcre" self) (getAttr "dynamic-classes" self) (getAttr "metabang-bind" self) (getAttr "metatilities-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markdown-comparisons = (build-asdf-system { - pname = "cl-markdown-comparisons"; - version = "20191227-git"; - asds = [ "cl-markdown-comparisons" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz"; - sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg"; - system = "cl-markdown-comparisons"; - asd = "cl-markdown-comparisons"; - }); - systems = [ "cl-markdown-comparisons" ]; - lispLibs = [ (getAttr "cl-html-diff" self) (getAttr "cl-markdown" self) (getAttr "html-encode" self) (getAttr "lift" self) (getAttr "lml2" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markdown-test = (build-asdf-system { - pname = "cl-markdown-test"; - version = "20191227-git"; - asds = [ "cl-markdown-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz"; - sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg"; - system = "cl-markdown-test"; - asd = "cl-markdown-test"; - }); - systems = [ "cl-markdown-test" ]; - lispLibs = [ (getAttr "cl-markdown" self) (getAttr "lift" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless = (build-asdf-system { - pname = "cl-markless"; - version = "20241012-git"; - asds = [ "cl-markless" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless"; - asd = "cl-markless"; - }); - systems = [ "cl-markless" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless-epub = (build-asdf-system { - pname = "cl-markless-epub"; - version = "20241012-git"; - asds = [ "cl-markless-epub" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless-epub"; - asd = "cl-markless-epub"; - }); - systems = [ "cl-markless-epub" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-markless-plump" self) (getAttr "trivial-gray-streams" self) (getAttr "trivial-indent" self) (getAttr "trivial-mimes" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless-latex = (build-asdf-system { - pname = "cl-markless-latex"; - version = "20241012-git"; - asds = [ "cl-markless-latex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless-latex"; - asd = "cl-markless-latex"; - }); - systems = [ "cl-markless-latex" ]; - lispLibs = [ (getAttr "cl-markless" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless-markdown = (build-asdf-system { - pname = "cl-markless-markdown"; - version = "20241012-git"; - asds = [ "cl-markless-markdown" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless-markdown"; - asd = "cl-markless-markdown"; - }); - systems = [ "cl-markless-markdown" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "cl-markless" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless-plump = (build-asdf-system { - pname = "cl-markless-plump"; - version = "20241012-git"; - asds = [ "cl-markless-plump" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless-plump"; - asd = "cl-markless-plump"; - }); - systems = [ "cl-markless-plump" ]; - lispLibs = [ (getAttr "cl-markless" self) (getAttr "plump-dom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless-standalone = (build-asdf-system { - pname = "cl-markless-standalone"; - version = "20241012-git"; - asds = [ "cl-markless-standalone" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless-standalone"; - asd = "cl-markless-standalone"; - }); - systems = [ "cl-markless-standalone" ]; - lispLibs = [ (getAttr "cl-markless" self) (getAttr "cl-markless-epub" self) (getAttr "cl-markless-latex" self) (getAttr "cl-markless-markdown" self) (getAttr "cl-markless-plump" self) (getAttr "command-line-arguments" self) (getAttr "pathname-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markless-test = (build-asdf-system { - pname = "cl-markless-test"; - version = "20241012-git"; - asds = [ "cl-markless-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; - sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; - system = "cl-markless-test"; - asd = "cl-markless-test"; - }); - systems = [ "cl-markless-test" ]; - lispLibs = [ (getAttr "cl-markless" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-marklogic = (build-asdf-system { - pname = "cl-marklogic"; - version = "20210124-git"; - asds = [ "cl-marklogic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; - sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; - system = "cl-marklogic"; - asd = "cl-marklogic"; - }); - systems = [ "cl-marklogic" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "drakma" self) (getAttr "fiveam" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-markup = (build-asdf-system { - pname = "cl-markup"; - version = "20131003-git"; - asds = [ "cl-markup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz"; - sha256 = "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"; - system = "cl-markup"; - asd = "cl-markup"; - }); - systems = [ "cl-markup" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-markup-test = (build-asdf-system { - pname = "cl-markup-test"; - version = "20131003-git"; - asds = [ "cl-markup-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz"; - sha256 = "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"; - system = "cl-markup-test"; - asd = "cl-markup-test"; - }); - systems = [ "cl-markup-test" ]; - lispLibs = [ (getAttr "cl-markup" self) (getAttr "cl-test-more" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-match = (build-asdf-system { - pname = "cl-match"; - version = "20121125-git"; - asds = [ "cl-match" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; - sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; - system = "cl-match"; - asd = "cl-match"; - }); - systems = [ "cl-match" ]; - lispLibs = [ (getAttr "standard-cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-match-test = (build-asdf-system { - pname = "cl-match-test"; - version = "20121125-git"; - asds = [ "cl-match-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; - sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; - system = "cl-match-test"; - asd = "cl-match-test"; - }); - systems = [ "cl-match-test" ]; - lispLibs = [ (getAttr "cl-match" self) (getAttr "pcl-unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mathstats = (build-asdf-system { - pname = "cl-mathstats"; - version = "20230214-git"; - asds = [ "cl-mathstats" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mathstats/2023-02-14/cl-mathstats-20230214-git.tgz"; - sha256 = "17ic625bdsvgfjndl4zzxkjy7dcl54alg2pdr0jjn4cpysffga6z"; - system = "cl-mathstats"; - asd = "cl-mathstats"; - }); - systems = [ "cl-mathstats" ]; - lispLibs = [ (getAttr "cl-containers" self) (getAttr "metatilities-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mathstats-test = (build-asdf-system { - pname = "cl-mathstats-test"; - version = "20230214-git"; - asds = [ "cl-mathstats-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mathstats/2023-02-14/cl-mathstats-20230214-git.tgz"; - sha256 = "17ic625bdsvgfjndl4zzxkjy7dcl54alg2pdr0jjn4cpysffga6z"; - system = "cl-mathstats-test"; - asd = "cl-mathstats-test"; - }); - systems = [ "cl-mathstats-test" ]; - lispLibs = [ (getAttr "cl-mathstats" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-maxminddb = (build-asdf-system { - pname = "cl-maxminddb"; - version = "20210630-git"; - asds = [ "cl-maxminddb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-maxminddb/2021-06-30/cl-maxminddb-20210630-git.tgz"; - sha256 = "1mm7cpiygcka39pj4a0rvhayfl4wh0zfjkda60yshq24xmml84pw"; - system = "cl-maxminddb"; - asd = "cl-maxminddb"; - }); - systems = [ "cl-maxminddb" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "ieee-floats" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) (getAttr "mmap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-maxsat = (build-asdf-system { - pname = "cl-maxsat"; - version = "20200218-git"; - asds = [ "cl-maxsat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-maxsat/2020-02-18/cl-maxsat-20200218-git.tgz"; - sha256 = "0qy4hhi8y3wv88x3s88g2hl2cz25cjp26xapd3z4h7lrx7cy786i"; - system = "cl-maxsat"; - asd = "cl-maxsat"; - }); - systems = [ "cl-maxsat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-sat" self) (getAttr "iterate" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-maxsat_dot_test = (build-asdf-system { - pname = "cl-maxsat.test"; - version = "20200218-git"; - asds = [ "cl-maxsat.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-maxsat/2020-02-18/cl-maxsat-20200218-git.tgz"; - sha256 = "0qy4hhi8y3wv88x3s88g2hl2cz25cjp26xapd3z4h7lrx7cy786i"; - system = "cl-maxsat.test"; - asd = "cl-maxsat.test"; - }); - systems = [ "cl-maxsat.test" ]; - lispLibs = [ (getAttr "cl-maxsat" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mdb = (build-asdf-system { - pname = "cl-mdb"; - version = "20220707-git"; - asds = [ "cl-mdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mdb/2022-07-07/cl-mdb-20220707-git.tgz"; - sha256 = "1xkhk39485yv3j9bshnnv74c95asf9704g80wb8vwvwsvqi7ym2a"; - system = "cl-mdb"; - asd = "cl-mdb"; - }); - systems = [ "cl-mdb" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mecab = (build-asdf-system { - pname = "cl-mecab"; - version = "20181018-git"; - asds = [ "cl-mecab" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mecab/2018-10-18/cl-mecab-20181018-git.tgz"; - sha256 = "0lfan9p8dsniyp60g6n8awfjvv8lyickc40qdxiry6kmp65636ps"; - system = "cl-mecab"; - asd = "cl-mecab"; - }); - systems = [ "cl-mecab" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mecab-test = (build-asdf-system { - pname = "cl-mecab-test"; - version = "20181018-git"; - asds = [ "cl-mecab-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mecab/2018-10-18/cl-mecab-20181018-git.tgz"; - sha256 = "0lfan9p8dsniyp60g6n8awfjvv8lyickc40qdxiry6kmp65636ps"; - system = "cl-mecab-test"; - asd = "cl-mecab-test"; - }); - systems = [ "cl-mecab-test" ]; - lispLibs = [ (getAttr "cl-mecab" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mechanize = (build-asdf-system { - pname = "cl-mechanize"; - version = "20180711-git"; - asds = [ "cl-mechanize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mechanize/2018-07-11/cl-mechanize-20180711-git.tgz"; - sha256 = "0y86sdi2nl3jv6n535cd62jax0mpc0cckrhffaqacbgbdjc875sn"; - system = "cl-mechanize"; - asd = "cl-mechanize"; - }); - systems = [ "cl-mechanize" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closure-html" self) (getAttr "cxml-stp" self) (getAttr "drakma" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mediawiki = (build-asdf-system { - pname = "cl-mediawiki"; - version = "20161204-git"; - asds = [ "cl-mediawiki" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mediawiki/2016-12-04/cl-mediawiki-20161204-git.tgz"; - sha256 = "1wrysj9l64k3xx152yw1arvn1glnx60j730qvj8prm65iid95xgm"; - system = "cl-mediawiki"; - asd = "cl-mediawiki"; - }); - systems = [ "cl-mediawiki" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cxml" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mediawiki-test = (build-asdf-system { - pname = "cl-mediawiki-test"; - version = "20161204-git"; - asds = [ "cl-mediawiki-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mediawiki/2016-12-04/cl-mediawiki-20161204-git.tgz"; - sha256 = "1wrysj9l64k3xx152yw1arvn1glnx60j730qvj8prm65iid95xgm"; - system = "cl-mediawiki-test"; - asd = "cl-mediawiki-test"; - }); - systems = [ "cl-mediawiki-test" ]; - lispLibs = [ (getAttr "cl-mediawiki" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-megolm = (build-asdf-system { - pname = "cl-megolm"; - version = "20230214-git"; - asds = [ "cl-megolm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-megolm/2023-02-14/cl-megolm-20230214-git.tgz"; - sha256 = "1n80v63pw2ck419fglgdhhqnc06jmams6mnxb8sqdg966qxhql2k"; - system = "cl-megolm"; - asd = "cl-megolm"; - }); - systems = [ "cl-megolm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "claw-olm" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "lisp-unit" self) (getAttr "s-base64" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-memcached = (build-asdf-system { - pname = "cl-memcached"; - version = "20150608-git"; - asds = [ "cl-memcached" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-memcached/2015-06-08/cl-memcached-20150608-git.tgz"; - sha256 = "0g66m0yiazzh0447qbmgxjn4kxjcx9bk2l8cimyzmriz5d0j2q3i"; - system = "cl-memcached"; - asd = "cl-memcached"; - }); - systems = [ "cl-memcached" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "pooler" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-messagepack = (build-asdf-system { - pname = "cl-messagepack"; - version = "20231021-git"; - asds = [ "cl-messagepack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-messagepack/2023-10-21/cl-messagepack-20231021-git.tgz"; - sha256 = "1hjd1q18lz46k46afz94ljflp76mfr30d6z4jrsgd26y2lc4gchc"; - system = "cl-messagepack"; - asd = "cl-messagepack"; - }); - systems = [ "cl-messagepack" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "closer-mop" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-messagepack-rpc = (build-asdf-system { - pname = "cl-messagepack-rpc"; - version = "20171227-git"; - asds = [ "cl-messagepack-rpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-messagepack-rpc/2017-12-27/cl-messagepack-rpc-20171227-git.tgz"; - sha256 = "02nrnhav28v5vwig9mmmmax59nl0sbjkmdzwakzpj6y1gafiqgy9"; - system = "cl-messagepack-rpc"; - asd = "cl-messagepack-rpc"; - }); - systems = [ "cl-messagepack-rpc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-async" self) (getAttr "cl-libuv" self) (getAttr "cl-messagepack" self) (getAttr "flexi-streams" self) (getAttr "trivial-backtrace" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-messagepack-rpc-tests = (build-asdf-system { - pname = "cl-messagepack-rpc-tests"; - version = "20171227-git"; - asds = [ "cl-messagepack-rpc-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-messagepack-rpc/2017-12-27/cl-messagepack-rpc-20171227-git.tgz"; - sha256 = "02nrnhav28v5vwig9mmmmax59nl0sbjkmdzwakzpj6y1gafiqgy9"; - system = "cl-messagepack-rpc-tests"; - asd = "cl-messagepack-rpc-tests"; - }); - systems = [ "cl-messagepack-rpc-tests" ]; - lispLibs = [ (getAttr "cl-messagepack-rpc" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-messagepack-tests = (build-asdf-system { - pname = "cl-messagepack-tests"; - version = "20231021-git"; - asds = [ "cl-messagepack-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-messagepack/2023-10-21/cl-messagepack-20231021-git.tgz"; - sha256 = "1hjd1q18lz46k46afz94ljflp76mfr30d6z4jrsgd26y2lc4gchc"; - system = "cl-messagepack-tests"; - asd = "cl-messagepack-tests"; - }); - systems = [ "cl-messagepack-tests" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "cl-messagepack" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migrations = (build-asdf-system { - pname = "cl-migrations"; - version = "20110110-http"; - asds = [ "cl-migrations" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migrations/2011-01-10/cl-migrations-20110110-http.tgz"; - sha256 = "0mq3ir1kffw921q5a878964ghnrhcrh79p6yxsrb25bzkwpnfx02"; - system = "cl-migrations"; - asd = "cl-migrations"; - }); - systems = [ "cl-migrations" ]; - lispLibs = [ (getAttr "clsql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum = (build-asdf-system { - pname = "cl-migratum"; - version = "20241012-git"; - asds = [ "cl-migratum" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum"; - asd = "cl-migratum"; - }); - systems = [ "cl-migratum" ]; - lispLibs = [ (getAttr "cl-ascii-table" self) (getAttr "cl-reexport" self) (getAttr "local-time" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_cli = (build-asdf-system { - pname = "cl-migratum.cli"; - version = "20241012-git"; - asds = [ "cl-migratum.cli" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.cli"; - asd = "cl-migratum.cli"; - }); - systems = [ "cl-migratum.cli" ]; - lispLibs = [ (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_dbi" self) (getAttr "cl-migratum_dot_driver_dot_rdbms-postgresql" self) (getAttr "cl-migratum_dot_provider_dot_local-path" self) (getAttr "clingon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_driver_dot_dbi = (build-asdf-system { - pname = "cl-migratum.driver.dbi"; - version = "20241012-git"; - asds = [ "cl-migratum.driver.dbi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.driver.dbi"; - asd = "cl-migratum.driver.dbi"; - }); - systems = [ "cl-migratum.driver.dbi" ]; - lispLibs = [ (getAttr "cl-dbi" self) (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_mixins" self) (getAttr "cl-ppcre" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_driver_dot_mixins = (build-asdf-system { - pname = "cl-migratum.driver.mixins"; - version = "20241012-git"; - asds = [ "cl-migratum.driver.mixins" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.driver.mixins"; - asd = "cl-migratum.driver.mixins"; - }); - systems = [ "cl-migratum.driver.mixins" ]; - lispLibs = [ (getAttr "cl-migratum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_driver_dot_postmodern-postgresql = (build-asdf-system { - pname = "cl-migratum.driver.postmodern-postgresql"; - version = "20241012-git"; - asds = [ "cl-migratum.driver.postmodern-postgresql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.driver.postmodern-postgresql"; - asd = "cl-migratum.driver.postmodern-postgresql"; - }); - systems = [ "cl-migratum.driver.postmodern-postgresql" ]; - lispLibs = [ (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_mixins" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "log4cl" self) (getAttr "postmodern" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_driver_dot_rdbms-postgresql = (build-asdf-system { - pname = "cl-migratum.driver.rdbms-postgresql"; - version = "20241012-git"; - asds = [ "cl-migratum.driver.rdbms-postgresql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.driver.rdbms-postgresql"; - asd = "cl-migratum.driver.rdbms-postgresql"; - }); - systems = [ "cl-migratum.driver.rdbms-postgresql" ]; - lispLibs = [ (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_mixins" self) (getAttr "cl-ppcre" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_provider_dot_local-path = (build-asdf-system { - pname = "cl-migratum.provider.local-path"; - version = "20241012-git"; - asds = [ "cl-migratum.provider.local-path" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.provider.local-path"; - asd = "cl-migratum.provider.local-path"; - }); - systems = [ "cl-migratum.provider.local-path" ]; - lispLibs = [ (getAttr "cl-migratum" self) (getAttr "cl-ppcre" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-migratum_dot_test = (build-asdf-system { - pname = "cl-migratum.test"; - version = "20241012-git"; - asds = [ "cl-migratum.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; - sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; - system = "cl-migratum.test"; - asd = "cl-migratum.test"; - }); - systems = [ "cl-migratum.test" ]; - lispLibs = [ (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_dbi" self) (getAttr "cl-migratum_dot_driver_dot_postmodern-postgresql" self) (getAttr "cl-migratum_dot_driver_dot_rdbms-postgresql" self) (getAttr "cl-migratum_dot_provider_dot_local-path" self) (getAttr "dbd-sqlite3" self) (getAttr "rove" self) (getAttr "tmpdir" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mime = (build-asdf-system { - pname = "cl-mime"; - version = "20201220-git"; - asds = [ "cl-mime" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mime/2020-12-20/cl-mime-20201220-git.tgz"; - sha256 = "0i2vyc1d4qp36f3c3qfpx9rkp3d2ka80r40wc9lsvhqn1hjxa2gv"; - system = "cl-mime"; - asd = "cl-mime"; - }); - systems = [ "cl-mime" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "cl-qprint" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mime-from-string = (build-asdf-system { - pname = "cl-mime-from-string"; - version = "20200427-git"; - asds = [ "cl-mime-from-string" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mime-from-string/2020-04-27/cl-mime-from-string-20200427-git.tgz"; - sha256 = "1pzhfbv6j3b0vvf4rxxd56v54lh6v7cs16nq2d64cawn6qzmk4bp"; - system = "cl-mime-from-string"; - asd = "cl-mime-from-string"; - }); - systems = [ "cl-mime-from-string" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mime-test = (build-asdf-system { - pname = "cl-mime-test"; - version = "20201220-git"; - asds = [ "cl-mime-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mime/2020-12-20/cl-mime-20201220-git.tgz"; - sha256 = "0i2vyc1d4qp36f3c3qfpx9rkp3d2ka80r40wc9lsvhqn1hjxa2gv"; - system = "cl-mime-test"; - asd = "cl-mime-test"; - }); - systems = [ "cl-mime-test" ]; - lispLibs = [ (getAttr "cl-mime" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mimeparse = (build-asdf-system { - pname = "cl-mimeparse"; - version = "20210531-git"; - asds = [ "cl-mimeparse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mimeparse/2021-05-31/cl-mimeparse-20210531-git.tgz"; - sha256 = "0gdkpi3620va0a3q56svcn1q9f5w0pqfhx30lnldg8fjnrdfiwkk"; - system = "cl-mimeparse"; - asd = "cl-mimeparse"; - }); - systems = [ "cl-mimeparse" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mimeparse-tests = (build-asdf-system { - pname = "cl-mimeparse-tests"; - version = "20210531-git"; - asds = [ "cl-mimeparse-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mimeparse/2021-05-31/cl-mimeparse-20210531-git.tgz"; - sha256 = "0gdkpi3620va0a3q56svcn1q9f5w0pqfhx30lnldg8fjnrdfiwkk"; - system = "cl-mimeparse-tests"; - asd = "cl-mimeparse-tests"; - }); - systems = [ "cl-mimeparse-tests" ]; - lispLibs = [ (getAttr "cl-mimeparse" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-minify-css = (build-asdf-system { - pname = "cl-minify-css"; - version = "20200925-git"; - asds = [ "cl-minify-css" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-minify-css/2020-09-25/cl-minify-css-20200925-git.tgz"; - sha256 = "1wj1mh7qzr8ybqyx7kxnpsmj3d9lylnzmq1qmycdyf2llqkcdxgd"; - system = "cl-minify-css"; - asd = "cl-minify-css"; - }); - systems = [ "cl-minify-css" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-minify-css-test = (build-asdf-system { - pname = "cl-minify-css-test"; - version = "20200925-git"; - asds = [ "cl-minify-css-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-minify-css/2020-09-25/cl-minify-css-20200925-git.tgz"; - sha256 = "1wj1mh7qzr8ybqyx7kxnpsmj3d9lylnzmq1qmycdyf2llqkcdxgd"; - system = "cl-minify-css-test"; - asd = "cl-minify-css-test"; - }); - systems = [ "cl-minify-css-test" ]; - lispLibs = [ (getAttr "assert-p" self) (getAttr "cacau" self) (getAttr "cacau-asdf" self) (getAttr "cl-minify-css" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed = (build-asdf-system { - pname = "cl-mixed"; - version = "20241012-git"; - asds = [ "cl-mixed" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed"; - asd = "cl-mixed"; - }); - systems = [ "cl-mixed" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "static-vectors" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-aaudio = (build-asdf-system { - pname = "cl-mixed-aaudio"; - version = "20241012-git"; - asds = [ "cl-mixed-aaudio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-aaudio"; - asd = "cl-mixed-aaudio"; - }); - systems = [ "cl-mixed-aaudio" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-alsa = (build-asdf-system { - pname = "cl-mixed-alsa"; - version = "20241012-git"; - asds = [ "cl-mixed-alsa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-alsa"; - asd = "cl-mixed-alsa"; - }); - systems = [ "cl-mixed-alsa" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-coreaudio = (build-asdf-system { - pname = "cl-mixed-coreaudio"; - version = "20241012-git"; - asds = [ "cl-mixed-coreaudio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-coreaudio"; - asd = "cl-mixed-coreaudio"; - }); - systems = [ "cl-mixed-coreaudio" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-mixed" self) (getAttr "float-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-examples = (build-asdf-system { - pname = "cl-mixed-examples"; - version = "20241012-git"; - asds = [ "cl-mixed-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-examples"; - asd = "cl-mixed-examples"; - }); - systems = [ "cl-mixed-examples" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "cl-mixed-mpg123" self) (getAttr "cl-mixed-out123" self) (getAttr "cl-mixed-pulse" self) (getAttr "cl-mixed-wav" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-flac = (build-asdf-system { - pname = "cl-mixed-flac"; - version = "20241012-git"; - asds = [ "cl-mixed-flac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-flac"; - asd = "cl-mixed-flac"; - }); - systems = [ "cl-mixed-flac" ]; - lispLibs = [ (getAttr "cl-flac" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-jack = (build-asdf-system { - pname = "cl-mixed-jack"; - version = "20241012-git"; - asds = [ "cl-mixed-jack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-jack"; - asd = "cl-mixed-jack"; - }); - systems = [ "cl-mixed-jack" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-mpg123 = (build-asdf-system { - pname = "cl-mixed-mpg123"; - version = "20241012-git"; - asds = [ "cl-mixed-mpg123" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-mpg123"; - asd = "cl-mixed-mpg123"; - }); - systems = [ "cl-mixed-mpg123" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "cl-mpg123" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-mpt = (build-asdf-system { - pname = "cl-mixed-mpt"; - version = "20241012-git"; - asds = [ "cl-mixed-mpt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-mpt"; - asd = "cl-mixed-mpt"; - }); - systems = [ "cl-mixed-mpt" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-nxau = (build-asdf-system { - pname = "cl-mixed-nxau"; - version = "20241012-git"; - asds = [ "cl-mixed-nxau" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-nxau"; - asd = "cl-mixed-nxau"; - }); - systems = [ "cl-mixed-nxau" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-opus = (build-asdf-system { - pname = "cl-mixed-opus"; - version = "20241012-git"; - asds = [ "cl-mixed-opus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-opus"; - asd = "cl-mixed-opus"; - }); - systems = [ "cl-mixed-opus" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "cl-opus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-oss = (build-asdf-system { - pname = "cl-mixed-oss"; - version = "20241012-git"; - asds = [ "cl-mixed-oss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-oss"; - asd = "cl-mixed-oss"; - }); - systems = [ "cl-mixed-oss" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-out123 = (build-asdf-system { - pname = "cl-mixed-out123"; - version = "20241012-git"; - asds = [ "cl-mixed-out123" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-out123"; - asd = "cl-mixed-out123"; - }); - systems = [ "cl-mixed-out123" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "cl-out123" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-pulse = (build-asdf-system { - pname = "cl-mixed-pulse"; - version = "20241012-git"; - asds = [ "cl-mixed-pulse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-pulse"; - asd = "cl-mixed-pulse"; - }); - systems = [ "cl-mixed-pulse" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-qoa = (build-asdf-system { - pname = "cl-mixed-qoa"; - version = "20241012-git"; - asds = [ "cl-mixed-qoa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-qoa"; - asd = "cl-mixed-qoa"; - }); - systems = [ "cl-mixed-qoa" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "cl-qoa" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-sdl2 = (build-asdf-system { - pname = "cl-mixed-sdl2"; - version = "20241012-git"; - asds = [ "cl-mixed-sdl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-sdl2"; - asd = "cl-mixed-sdl2"; - }); - systems = [ "cl-mixed-sdl2" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "sdl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-vorbis = (build-asdf-system { - pname = "cl-mixed-vorbis"; - version = "20241012-git"; - asds = [ "cl-mixed-vorbis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-vorbis"; - asd = "cl-mixed-vorbis"; - }); - systems = [ "cl-mixed-vorbis" ]; - lispLibs = [ (getAttr "cl-mixed" self) (getAttr "cl-vorbis" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-wasapi = (build-asdf-system { - pname = "cl-mixed-wasapi"; - version = "20241012-git"; - asds = [ "cl-mixed-wasapi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-wasapi"; - asd = "cl-mixed-wasapi"; - }); - systems = [ "cl-mixed-wasapi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) (getAttr "com-on" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-wav = (build-asdf-system { - pname = "cl-mixed-wav"; - version = "20241012-git"; - asds = [ "cl-mixed-wav" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-wav"; - asd = "cl-mixed-wav"; - }); - systems = [ "cl-mixed-wav" ]; - lispLibs = [ (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-winmm = (build-asdf-system { - pname = "cl-mixed-winmm"; - version = "20241012-git"; - asds = [ "cl-mixed-winmm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-winmm"; - asd = "cl-mixed-winmm"; - }); - systems = [ "cl-mixed-winmm" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mixed-xaudio2 = (build-asdf-system { - pname = "cl-mixed-xaudio2"; - version = "20241012-git"; - asds = [ "cl-mixed-xaudio2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; - sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; - system = "cl-mixed-xaudio2"; - asd = "cl-mixed-xaudio2"; - }); - systems = [ "cl-mixed-xaudio2" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mixed" self) (getAttr "com-on" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mock = (build-asdf-system { - pname = "cl-mock"; - version = "20221106-git"; - asds = [ "cl-mock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; - sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; - system = "cl-mock"; - asd = "cl-mock"; - }); - systems = [ "cl-mock" ]; - lispLibs = [ (getAttr "cl-mock-basic" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mock-basic = (build-asdf-system { - pname = "cl-mock-basic"; - version = "20221106-git"; - asds = [ "cl-mock-basic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; - sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; - system = "cl-mock-basic"; - asd = "cl-mock-basic"; - }); - systems = [ "cl-mock-basic" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mock-tests = (build-asdf-system { - pname = "cl-mock-tests"; - version = "20221106-git"; - asds = [ "cl-mock-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; - sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; - system = "cl-mock-tests"; - asd = "cl-mock-tests"; - }); - systems = [ "cl-mock-tests" ]; - lispLibs = [ (getAttr "cl-mock" self) (getAttr "cl-mock-tests-basic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mock-tests-basic = (build-asdf-system { - pname = "cl-mock-tests-basic"; - version = "20221106-git"; - asds = [ "cl-mock-tests-basic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; - sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; - system = "cl-mock-tests-basic"; - asd = "cl-mock-tests-basic"; - }); - systems = [ "cl-mock-tests-basic" ]; - lispLibs = [ (getAttr "cl-mock-basic" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-modio = (build-asdf-system { - pname = "cl-modio"; - version = "20241012-git"; - asds = [ "cl-modio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-modio/2024-10-12/cl-modio-20241012-git.tgz"; - sha256 = "1f755xqpibdrxiqclnsiba36bl8xgw958h0lb0rw6hjsvrx9z8dg"; - system = "cl-modio"; - asd = "cl-modio"; - }); - systems = [ "cl-modio" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "documentation-utils" self) (getAttr "drakma" self) (getAttr "language-codes" self) (getAttr "zippy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-monad-macros = (build-asdf-system { - pname = "cl-monad-macros"; - version = "20110619-svn"; - asds = [ "cl-monad-macros" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-monad-macros/2011-06-19/cl-monad-macros-20110619-svn.tgz"; - sha256 = "184p018xb07yd04bpscrwrnwv1cdxh9hxggmrnj95lhlr6r97l1z"; - system = "cl-monad-macros"; - asd = "cl-monad-macros"; - }); - systems = [ "cl-monad-macros" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-moneris = (build-asdf-system { - pname = "cl-moneris"; - version = "20231021-git"; - asds = [ "cl-moneris" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-moneris/2023-10-21/cl-moneris-20231021-git.tgz"; - sha256 = "1ajxqdgqy7cnkq6qz18xayw5z1idz3slzj7nc7pcv4ha7h3ak63k"; - system = "cl-moneris"; - asd = "cl-moneris"; - }); - systems = [ "cl-moneris" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-moneris-test = (build-asdf-system { - pname = "cl-moneris-test"; - version = "20231021-git"; - asds = [ "cl-moneris-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-moneris/2023-10-21/cl-moneris-20231021-git.tgz"; - sha256 = "1ajxqdgqy7cnkq6qz18xayw5z1idz3slzj7nc7pcv4ha7h3ak63k"; - system = "cl-moneris-test"; - asd = "cl-moneris-test"; - }); - systems = [ "cl-moneris-test" ]; - lispLibs = [ (getAttr "cl-moneris" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mongo = (build-asdf-system { - pname = "cl-mongo"; - version = "20160531-git"; - asds = [ "cl-mongo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mongo/2016-05-31/cl-mongo-20160531-git.tgz"; - sha256 = "1l3kydbxbxhs1z76v6qpwjnabv8wf0mff1pfjkrpjfz6bia1svx6"; - system = "cl-mongo"; - asd = "cl-mongo"; - }); - systems = [ "cl-mongo" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "documentation-template" self) (getAttr "lisp-unit" self) (getAttr "parenscript" self) (getAttr "split-sequence" self) (getAttr "usocket" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mongo-id = (build-asdf-system { - pname = "cl-mongo-id"; - version = "20201220-git"; - asds = [ "cl-mongo-id" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mongo-id/2020-12-20/cl-mongo-id-20201220-git.tgz"; - sha256 = "1bpwmh5970rpr6ayygcgdg96hq2dlrksgpa1vdmy5l6vdbw9xrys"; - system = "cl-mongo-id"; - asd = "cl-mongo-id"; - }); - systems = [ "cl-mongo-id" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "local-time" self) (getAttr "md5" self) (getAttr "secure-random" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-monitors = (build-asdf-system { - pname = "cl-monitors"; - version = "20231021-git"; - asds = [ "cl-monitors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-monitors/2023-10-21/cl-monitors-20231021-git.tgz"; - sha256 = "09ddgs7sbqjx91bajpk5qf6716vnx63mfg9yw0biw16mnfjhrg4i"; - system = "cl-monitors"; - asd = "cl-monitors"; - }); - systems = [ "cl-monitors" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mop = (build-asdf-system { - pname = "cl-mop"; - version = "20150113-git"; - asds = [ "cl-mop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mop/2015-01-13/cl-mop-20150113-git.tgz"; - sha256 = "0wqjbp6jr868a89hklf1ppxkdfbznafrdpriakqiraicvr9kvksg"; - system = "cl-mop"; - asd = "cl-mop"; - }); - systems = [ "cl-mop" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-morse = (build-asdf-system { - pname = "cl-morse"; - version = "v1.0.0"; - asds = [ "cl-morse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-morse/2022-07-07/cl-morse-v1.0.0.tgz"; - sha256 = "01sh34nhbsx2dsrb2r1vkd4j8lzm9gjd5jfi8a4cs4m3djjwhh5i"; - system = "cl-morse"; - asd = "cl-morse"; - }); - systems = [ "cl-morse" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-moss = (build-asdf-system { - pname = "cl-moss"; - version = "20171019-git"; - asds = [ "cl-moss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-moss/2017-10-19/cl-moss-20171019-git.tgz"; - sha256 = "1qxzppnyxc8lkhfbbp5m3dbhp4rfkyc2lfrry2448i5w5icrigzd"; - system = "cl-moss"; - asd = "cl-moss"; - }); - systems = [ "cl-moss" ]; - lispLibs = [ (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mount-info = (build-asdf-system { - pname = "cl-mount-info"; - version = "20241012-git"; - asds = [ "cl-mount-info" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mount-info/2024-10-12/cl-mount-info-20241012-git.tgz"; - sha256 = "0i5vpr0s27gqrskl5qkbw23ba00abbmsskgvg2zhpdljg5qiwlcw"; - system = "cl-mount-info"; - asd = "cl-mount-info"; - }); - systems = [ "cl-mount-info" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpg123 = (build-asdf-system { - pname = "cl-mpg123"; - version = "20241012-git"; - asds = [ "cl-mpg123" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpg123/2024-10-12/cl-mpg123-20241012-git.tgz"; - sha256 = "03ysv3psfj4agf62gn1skc26qzd9g9zx6yjxxs9lrjz7g9kwf1xk"; - system = "cl-mpg123"; - asd = "cl-mpg123"; - }); - systems = [ "cl-mpg123" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpg123-example = (build-asdf-system { - pname = "cl-mpg123-example"; - version = "20241012-git"; - asds = [ "cl-mpg123-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpg123/2024-10-12/cl-mpg123-20241012-git.tgz"; - sha256 = "03ysv3psfj4agf62gn1skc26qzd9g9zx6yjxxs9lrjz7g9kwf1xk"; - system = "cl-mpg123-example"; - asd = "cl-mpg123-example"; - }); - systems = [ "cl-mpg123-example" ]; - lispLibs = [ (getAttr "cl-mpg123" self) (getAttr "cl-out123" self) (getAttr "verbose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpi = (build-asdf-system { - pname = "cl-mpi"; - version = "20190710-git"; - asds = [ "cl-mpi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; - sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; - system = "cl-mpi"; - asd = "cl-mpi"; - }); - systems = [ "cl-mpi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-mpi-asdf-integration" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpi-asdf-integration = (build-asdf-system { - pname = "cl-mpi-asdf-integration"; - version = "20190710-git"; - asds = [ "cl-mpi-asdf-integration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; - sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; - system = "cl-mpi-asdf-integration"; - asd = "cl-mpi-asdf-integration"; - }); - systems = [ "cl-mpi-asdf-integration" ]; - lispLibs = [ (getAttr "cffi-grovel" self) (getAttr "cffi-toolchain" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpi-examples = (build-asdf-system { - pname = "cl-mpi-examples"; - version = "20190710-git"; - asds = [ "cl-mpi-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; - sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; - system = "cl-mpi-examples"; - asd = "cl-mpi-examples"; - }); - systems = [ "cl-mpi-examples" ]; - lispLibs = [ (getAttr "cl-mpi" self) (getAttr "cl-mpi-asdf-integration" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpi-extensions = (build-asdf-system { - pname = "cl-mpi-extensions"; - version = "20190710-git"; - asds = [ "cl-mpi-extensions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; - sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; - system = "cl-mpi-extensions"; - asd = "cl-mpi-extensions"; - }); - systems = [ "cl-mpi-extensions" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-conspack" self) (getAttr "cl-mpi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mpi-test-suite = (build-asdf-system { - pname = "cl-mpi-test-suite"; - version = "20190710-git"; - asds = [ "cl-mpi-test-suite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; - sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; - system = "cl-mpi-test-suite"; - asd = "cl-mpi-test-suite"; - }); - systems = [ "cl-mpi-test-suite" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-mpi" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mtgnet = (build-asdf-system { - pname = "cl-mtgnet"; - version = "20180711-git"; - asds = [ "cl-mtgnet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz"; - sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb"; - system = "cl-mtgnet"; - asd = "cl-mtgnet"; - }); - systems = [ "cl-mtgnet" ]; - lispLibs = [ (getAttr "blackbird" self) (getAttr "cl-json" self) (getAttr "cl-netstring_plus" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mtgnet-async = (build-asdf-system { - pname = "cl-mtgnet-async"; - version = "20180711-git"; - asds = [ "cl-mtgnet-async" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz"; - sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb"; - system = "cl-mtgnet-async"; - asd = "cl-mtgnet-async"; - }); - systems = [ "cl-mtgnet-async" ]; - lispLibs = [ (getAttr "cl-async" self) (getAttr "cl-mtgnet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mtgnet-sync = (build-asdf-system { - pname = "cl-mtgnet-sync"; - version = "20180711-git"; - asds = [ "cl-mtgnet-sync" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz"; - sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb"; - system = "cl-mtgnet-sync"; - asd = "cl-mtgnet-sync"; - }); - systems = [ "cl-mtgnet-sync" ]; - lispLibs = [ (getAttr "cl-mtgnet" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-murmurhash = (build-asdf-system { - pname = "cl-murmurhash"; - version = "20210630-git"; - asds = [ "cl-murmurhash" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-murmurhash/2021-06-30/cl-murmurhash-20210630-git.tgz"; - sha256 = "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"; - system = "cl-murmurhash"; - asd = "cl-murmurhash"; - }); - systems = [ "cl-murmurhash" ]; - lispLibs = [ (getAttr "babel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mustache = (build-asdf-system { - pname = "cl-mustache"; - version = "20241012-git"; - asds = [ "cl-mustache" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mustache/2024-10-12/cl-mustache-20241012-git.tgz"; - sha256 = "0isdrz1dgjvmfqvsgs2pmrran41w9n6f44r9fpdhdkjxa5zvy46b"; - system = "cl-mustache"; - asd = "cl-mustache"; - }); - systems = [ "cl-mustache" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-mustache-test = (build-asdf-system { - pname = "cl-mustache-test"; - version = "20241012-git"; - asds = [ "cl-mustache-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mustache/2024-10-12/cl-mustache-20241012-git.tgz"; - sha256 = "0isdrz1dgjvmfqvsgs2pmrran41w9n6f44r9fpdhdkjxa5zvy46b"; - system = "cl-mustache-test"; - asd = "cl-mustache-test"; - }); - systems = [ "cl-mustache-test" ]; - lispLibs = [ (getAttr "cl-mustache" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-muth = (build-asdf-system { - pname = "cl-muth"; - version = "stable-git"; - asds = [ "cl-muth" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-muth/2022-07-07/cl-muth-stable-git.tgz"; - sha256 = "0409arzy51chgi9anj9s2zn0qkx9wnphlbwcdvpamr4b51b60xjz"; - system = "cl-muth"; - asd = "cl-muth"; - }); - systems = [ "cl-muth" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bodge-heap" self) (getAttr "bodge-queue" self) (getAttr "bordeaux-threads" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw = (build-asdf-system { - pname = "cl-mw"; - version = "20150407-git"; - asds = [ "cl-mw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw"; - asd = "cl-mw"; - }); - systems = [ "cl-mw" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "hu_dot_dwim_dot_serializer" self) (getAttr "iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw_dot_examples_dot_argument-processing = (build-asdf-system { - pname = "cl-mw.examples.argument-processing"; - version = "20150407-git"; - asds = [ "cl-mw.examples.argument-processing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw.examples.argument-processing"; - asd = "cl-mw.examples.argument-processing"; - }); - systems = [ "cl-mw.examples.argument-processing" ]; - lispLibs = [ (getAttr "cl-mw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw_dot_examples_dot_hello-world = (build-asdf-system { - pname = "cl-mw.examples.hello-world"; - version = "20150407-git"; - asds = [ "cl-mw.examples.hello-world" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw.examples.hello-world"; - asd = "cl-mw.examples.hello-world"; - }); - systems = [ "cl-mw.examples.hello-world" ]; - lispLibs = [ (getAttr "cl-mw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw_dot_examples_dot_higher-order = (build-asdf-system { - pname = "cl-mw.examples.higher-order"; - version = "20150407-git"; - asds = [ "cl-mw.examples.higher-order" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw.examples.higher-order"; - asd = "cl-mw.examples.higher-order"; - }); - systems = [ "cl-mw.examples.higher-order" ]; - lispLibs = [ (getAttr "cl-mw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw_dot_examples_dot_monte-carlo-pi = (build-asdf-system { - pname = "cl-mw.examples.monte-carlo-pi"; - version = "20150407-git"; - asds = [ "cl-mw.examples.monte-carlo-pi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw.examples.monte-carlo-pi"; - asd = "cl-mw.examples.monte-carlo-pi"; - }); - systems = [ "cl-mw.examples.monte-carlo-pi" ]; - lispLibs = [ (getAttr "cl-mw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw_dot_examples_dot_ping = (build-asdf-system { - pname = "cl-mw.examples.ping"; - version = "20150407-git"; - asds = [ "cl-mw.examples.ping" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw.examples.ping"; - asd = "cl-mw.examples.ping"; - }); - systems = [ "cl-mw.examples.ping" ]; - lispLibs = [ (getAttr "cl-mw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mw_dot_examples_dot_with-task-policy = (build-asdf-system { - pname = "cl-mw.examples.with-task-policy"; - version = "20150407-git"; - asds = [ "cl-mw.examples.with-task-policy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; - sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; - system = "cl-mw.examples.with-task-policy"; - asd = "cl-mw.examples.with-task-policy"; - }); - systems = [ "cl-mw.examples.with-task-policy" ]; - lispLibs = [ (getAttr "cl-mw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-myriam = (build-asdf-system { - pname = "cl-myriam"; - version = "20220331-git"; - asds = [ "cl-myriam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-myriam/2022-03-31/cl-myriam-20220331-git.tgz"; - sha256 = "0vyyyy6yj62id5m1a98rbq3pz7hm74znnawxh4apqhrff37xcs1l"; - system = "cl-myriam"; - asd = "cl-myriam"; - }); - systems = [ "cl-myriam" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-conspack" self) (getAttr "cl-ppcre" self) (getAttr "lparallel" self) (getAttr "pzmq" self) (getAttr "serapeum" self) (getAttr "sha3" self) (getAttr "str" self) (getAttr "usocket" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-mysql = (build-asdf-system { - pname = "cl-mysql"; - version = "20241012-git"; - asds = [ "cl-mysql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mysql/2024-10-12/cl-mysql-20241012-git.tgz"; - sha256 = "0ibxfjnvcgpibsfqjx2d3dcjcabiw6dj43vmr76b55fc4qlkjvz5"; - system = "cl-mysql"; - asd = "cl-mysql"; - }); - systems = [ "cl-mysql" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = {}; - }); - cl-mysql-test = (build-asdf-system { - pname = "cl-mysql-test"; - version = "20241012-git"; - asds = [ "cl-mysql-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mysql/2024-10-12/cl-mysql-20241012-git.tgz"; - sha256 = "0ibxfjnvcgpibsfqjx2d3dcjcabiw6dj43vmr76b55fc4qlkjvz5"; - system = "cl-mysql-test"; - asd = "cl-mysql-test"; - }); - systems = [ "cl-mysql-test" ]; - lispLibs = [ (getAttr "cl-mysql" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-naive-deprecation = (build-asdf-system { - pname = "cl-naive-deprecation"; - version = "20241012-git"; - asds = [ "cl-naive-deprecation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-naive-deprecation/2024-10-12/cl-naive-deprecation-20241012-git.tgz"; - sha256 = "17x6b5sr34qjfzbn2r6f5n4xa4p1qi438k792b48qiqnalkfp29m"; - system = "cl-naive-deprecation"; - asd = "cl-naive-deprecation"; - }); - systems = [ "cl-naive-deprecation" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-naive-ptrees = (build-asdf-system { - pname = "cl-naive-ptrees"; - version = "20241012-git"; - asds = [ "cl-naive-ptrees" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-naive-ptrees/2024-10-12/cl-naive-ptrees-20241012-git.tgz"; - sha256 = "10548wm3mpjxmjibidv1dd8wzcn3nn12pzwlpdd1li362v8l9n6y"; - system = "cl-naive-ptrees"; - asd = "cl-naive-ptrees"; - }); - systems = [ "cl-naive-ptrees" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-naive-ptrees_dot_tests = (build-asdf-system { - pname = "cl-naive-ptrees.tests"; - version = "20241012-git"; - asds = [ "cl-naive-ptrees.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-naive-ptrees/2024-10-12/cl-naive-ptrees-20241012-git.tgz"; - sha256 = "10548wm3mpjxmjibidv1dd8wzcn3nn12pzwlpdd1li362v8l9n6y"; - system = "cl-naive-ptrees.tests"; - asd = "cl-naive-ptrees.tests"; - }); - systems = [ "cl-naive-ptrees.tests" ]; - lispLibs = [ (getAttr "cl-naive-ptrees" self) (getAttr "cl-naive-tests" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-naive-tests = (build-asdf-system { - pname = "cl-naive-tests"; - version = "20241012-git"; - asds = [ "cl-naive-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-naive-tests/2024-10-12/cl-naive-tests-20241012-git.tgz"; - sha256 = "1b7vvl5myybx92k778p3ca5367g4m6rh5k3rpr6qp9p4amd0yy2f"; - system = "cl-naive-tests"; - asd = "cl-naive-tests"; - }); - systems = [ "cl-naive-tests" ]; - lispLibs = [ (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-naive-tests_dot_tests = (build-asdf-system { - pname = "cl-naive-tests.tests"; - version = "20241012-git"; - asds = [ "cl-naive-tests.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-naive-tests/2024-10-12/cl-naive-tests-20241012-git.tgz"; - sha256 = "1b7vvl5myybx92k778p3ca5367g4m6rh5k3rpr6qp9p4amd0yy2f"; - system = "cl-naive-tests.tests"; - asd = "cl-naive-tests.tests"; - }); - systems = [ "cl-naive-tests.tests" ]; - lispLibs = [ (getAttr "cl-naive-tests" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ncurses = (build-asdf-system { - pname = "cl-ncurses"; - version = "0.1.4"; - asds = [ "cl-ncurses" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ncurses/2010-10-06/cl-ncurses_0.1.4.tgz"; - sha256 = "1frcap93i4ni3d648rrbnjjpz7p4cxlv57mmzlpxpzchzbcga026"; - system = "cl-ncurses"; - asd = "cl-ncurses"; - }); - systems = [ "cl-ncurses" ]; - lispLibs = [ (getAttr "uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-neo4j = (build-asdf-system { - pname = "cl-neo4j"; - version = "release-b8ad637a-git"; - asds = [ "cl-neo4j" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-neo4j/2013-01-28/cl-neo4j-release-b8ad637a-git.tgz"; - sha256 = "061xqjn08aqynfqygk48pwjp1d1mnhcb6fnl4lcfyw261dxsp871"; - system = "cl-neo4j"; - asd = "cl-neo4j"; - }); - systems = [ "cl-neo4j" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "babel" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-neo4j_dot_tests = (build-asdf-system { - pname = "cl-neo4j.tests"; - version = "release-b8ad637a-git"; - asds = [ "cl-neo4j.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-neo4j/2013-01-28/cl-neo4j-release-b8ad637a-git.tgz"; - sha256 = "061xqjn08aqynfqygk48pwjp1d1mnhcb6fnl4lcfyw261dxsp871"; - system = "cl-neo4j.tests"; - asd = "cl-neo4j"; - }); - systems = [ "cl-neo4j.tests" ]; - lispLibs = [ (getAttr "cl-neo4j" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-neovim = (build-asdf-system { - pname = "cl-neovim"; - version = "20241012-git"; - asds = [ "cl-neovim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-neovim/2024-10-12/cl-neovim-20241012-git.tgz"; - sha256 = "1c72qy10kmccpfl90q4c0yinmy9z9mdqniqx24269h91xd3jyagc"; - system = "cl-neovim"; - asd = "cl-neovim"; - }); - systems = [ "cl-neovim" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-messagepack-rpc" self) (getAttr "form-fiddle" self) (getAttr "split-sequence" self) (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-netpbm = (build-asdf-system { - pname = "cl-netpbm"; - version = "20241012-hg"; - asds = [ "cl-netpbm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-netpbm/2024-10-12/cl-netpbm-20241012-hg.tgz"; - sha256 = "16dv3d6x62vvc9wdvm2dc9mrm29ypzjzn2fvy46kl0h0wg7hjz92"; - system = "cl-netpbm"; - asd = "cl-netpbm"; - }); - systems = [ "cl-netpbm" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-netstring_plus = (build-asdf-system { - pname = "cl-netstring+"; - version = "20150709-git"; - asds = [ "cl-netstring+" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-netstring-plus/2015-07-09/cl-netstring-plus-20150709-git.tgz"; - sha256 = "03nxhgkab8lsx8mvavd4yny1894yxl5bllvqb12hyjdgg1v8whrr"; - system = "cl-netstring+"; - asd = "cl-netstring+"; - }); - systems = [ "cl-netstring+" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-netstrings = (build-asdf-system { - pname = "cl-netstrings"; - version = "20121013-git"; - asds = [ "cl-netstrings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-netstrings/2012-10-13/cl-netstrings-20121013-git.tgz"; - sha256 = "1mprrb8i3fjpmw7w461ib8zrcjwx77sqwaxyqq7i8yqkbhk7p1ql"; - system = "cl-netstrings"; - asd = "cl-netstrings"; - }); - systems = [ "cl-netstrings" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-notebook = (build-asdf-system { - pname = "cl-notebook"; - version = "20201220-git"; - asds = [ "cl-notebook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-notebook/2020-12-20/cl-notebook-20201220-git.tgz"; - sha256 = "0kg5wdclz9i64gcx27z5bs739hsvjrfl9kf1awi31x4142yxrva8"; - system = "cl-notebook"; - asd = "cl-notebook"; - }); - systems = [ "cl-notebook" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-css" self) (getAttr "cl-fad" self) (getAttr "cl-who" self) (getAttr "closer-mop" self) (getAttr "fact-base" self) (getAttr "house" self) (getAttr "parenscript" self) (getAttr "prove-asdf" self) (getAttr "qlot" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ntp-client = (build-asdf-system { - pname = "cl-ntp-client"; - version = "20210630-git"; - asds = [ "cl-ntp-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ntp-client/2021-06-30/cl-ntp-client-20210630-git.tgz"; - sha256 = "1mc16bvs0l8srnxjcjg4m192rw5waq291zks2jslxmxij0pa28cm"; - system = "cl-ntp-client"; - asd = "cl-ntp-client"; - }); - systems = [ "cl-ntp-client" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ntriples = (build-asdf-system { - pname = "cl-ntriples"; - version = "20190307-hg"; - asds = [ "cl-ntriples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ntriples/2019-03-07/cl-ntriples-20190307-hg.tgz"; - sha256 = "0k8q2r2nxkgxp91398gb0iwfy9kd2mn519nxxa3zq831c433l2mq"; - system = "cl-ntriples"; - asd = "cl-ntriples"; - }); - systems = [ "cl-ntriples" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-oauth = (build-asdf-system { - pname = "cl-oauth"; - version = "20150804-git"; - asds = [ "cl-oauth" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-oauth/2015-08-04/cl-oauth-20150804-git.tgz"; - sha256 = "1q4r5i3099684q5x9wqddrm9g88qm16nnra9glvxngywfjc5zzkk"; - system = "cl-oauth"; - asd = "cl-oauth"; - }); - systems = [ "cl-oauth" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "closer-mop" self) (getAttr "drakma" self) (getAttr "f-underscore" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "puri" self) (getAttr "split-sequence" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-oauth_dot_tests = (build-asdf-system { - pname = "cl-oauth.tests"; - version = "20150804-git"; - asds = [ "cl-oauth.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-oauth/2015-08-04/cl-oauth-20150804-git.tgz"; - sha256 = "1q4r5i3099684q5x9wqddrm9g88qm16nnra9glvxngywfjc5zzkk"; - system = "cl-oauth.tests"; - asd = "cl-oauth"; - }); - systems = [ "cl-oauth.tests" ]; - lispLibs = [ (getAttr "cl-oauth" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-oclapi = (build-asdf-system { - pname = "cl-oclapi"; - version = "20180831-git"; - asds = [ "cl-oclapi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-oclapi/2018-08-31/cl-oclapi-20180831-git.tgz"; - sha256 = "0aix5ipw98fsnvg1w7qmrjbwgn70gn7vf5av21xsgblp2sd7w2aw"; - system = "cl-oclapi"; - asd = "cl-oclapi"; - }); - systems = [ "cl-oclapi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-annot" self) (getAttr "cl-reexport" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-oclapi-test = (build-asdf-system { - pname = "cl-oclapi-test"; - version = "20180831-git"; - asds = [ "cl-oclapi-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-oclapi/2018-08-31/cl-oclapi-20180831-git.tgz"; - sha256 = "0aix5ipw98fsnvg1w7qmrjbwgn70gn7vf5av21xsgblp2sd7w2aw"; - system = "cl-oclapi-test"; - asd = "cl-oclapi-test"; - }); - systems = [ "cl-oclapi-test" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "cl-oclapi" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-octet-streams = (build-asdf-system { - pname = "cl-octet-streams"; - version = "20201220-git"; - asds = [ "cl-octet-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-octet-streams/2020-12-20/cl-octet-streams-20201220-git.tgz"; - sha256 = "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"; - system = "cl-octet-streams"; - asd = "cl-octet-streams"; - }); - systems = [ "cl-octet-streams" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ode = (build-asdf-system { - pname = "cl-ode"; - version = "20160628-git"; - asds = [ "cl-ode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ode/2016-06-28/cl-ode-20160628-git.tgz"; - sha256 = "1pxm2pq0br0rhdfnvs5jqfkxfs8bc9wdqrzwyv83l8n7pax941b0"; - system = "cl-ode"; - asd = "cl-ode"; - }); - systems = [ "cl-ode" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ohm = (build-asdf-system { - pname = "cl-ohm"; - version = "20180228-git"; - asds = [ "cl-ohm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ohm/2018-02-28/cl-ohm-20180228-git.tgz"; - sha256 = "00gdfsiba761gk7xw91wfnr9yv84maagf9idh55bk5bs4ws1ymyp"; - system = "cl-ohm"; - asd = "cl-ohm"; - }); - systems = [ "cl-ohm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-redis" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-oju = (build-asdf-system { - pname = "cl-oju"; - version = "20241012-git"; - asds = [ "cl-oju" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-oju/2024-10-12/cl-oju-20241012-git.tgz"; - sha256 = "0gwzxl4pj45jq7vx6vssgzsp4xxc99bzfi6fbklc5nnlfkqq0v62"; - system = "cl-oju"; - asd = "cl-oju"; - }); - systems = [ "cl-oju" ]; - lispLibs = [ (getAttr "_1am" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-olefs = (build-asdf-system { - pname = "cl-olefs"; - version = "20150709-git"; - asds = [ "cl-olefs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-olefs/2015-07-09/cl-olefs-20150709-git.tgz"; - sha256 = "0cqna6zzfrjmsq17yc4wg204kr77riczqjpm1w5cj1mba43zcac7"; - system = "cl-olefs"; - asd = "cl-olefs"; - }); - systems = [ "cl-olefs" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-one-time-passwords = (build-asdf-system { - pname = "cl-one-time-passwords"; - version = "20171019-git"; - asds = [ "cl-one-time-passwords" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-one-time-passwords/2017-10-19/cl-one-time-passwords-20171019-git.tgz"; - sha256 = "1nhq2jij257cfaadh9k421qaisicxpmx3wsc4kivf1psgbrc56lg"; - system = "cl-one-time-passwords"; - asd = "cl-one-time-passwords"; - }); - systems = [ "cl-one-time-passwords" ]; - lispLibs = [ (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-one-time-passwords-test = (build-asdf-system { - pname = "cl-one-time-passwords-test"; - version = "20171019-git"; - asds = [ "cl-one-time-passwords-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-one-time-passwords/2017-10-19/cl-one-time-passwords-20171019-git.tgz"; - sha256 = "1nhq2jij257cfaadh9k421qaisicxpmx3wsc4kivf1psgbrc56lg"; - system = "cl-one-time-passwords-test"; - asd = "cl-one-time-passwords-test"; - }); - systems = [ "cl-one-time-passwords-test" ]; - lispLibs = [ (getAttr "cl-one-time-passwords" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-oneliner = (build-asdf-system { - pname = "cl-oneliner"; - version = "20131003-git"; - asds = [ "cl-oneliner" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oneliner/2013-10-03/oneliner-20131003-git.tgz"; - sha256 = "0q9350s0r9yjmfc2360g35qi04b3867gd7hw5ada4176whinmjxb"; - system = "cl-oneliner"; - asd = "cl-oneliner"; - }); - systems = [ "cl-oneliner" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "lisp-unit" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-online-learning = (build-asdf-system { - pname = "cl-online-learning"; - version = "20220331-git"; - asds = [ "cl-online-learning" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-online-learning/2022-03-31/cl-online-learning-20220331-git.tgz"; - sha256 = "136v9kxcy53qar2j4y38awnw2idnf0lwxqwx7wgak664w3hxs6k8"; - system = "cl-online-learning"; - asd = "cl-online-learning"; - }); - systems = [ "cl-online-learning" ]; - lispLibs = [ (getAttr "cl-libsvm-format" self) (getAttr "cl-store" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-online-learning-test = (build-asdf-system { - pname = "cl-online-learning-test"; - version = "20220331-git"; - asds = [ "cl-online-learning-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-online-learning/2022-03-31/cl-online-learning-20220331-git.tgz"; - sha256 = "136v9kxcy53qar2j4y38awnw2idnf0lwxqwx7wgak664w3hxs6k8"; - system = "cl-online-learning-test"; - asd = "cl-online-learning-test"; - }); - systems = [ "cl-online-learning-test" ]; - lispLibs = [ (getAttr "cl-online-learning" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-openal = (build-asdf-system { - pname = "cl-openal"; - version = "20221106-git"; - asds = [ "cl-openal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; - sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; - system = "cl-openal"; - asd = "cl-openal"; - }); - systems = [ "cl-openal" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-openal-examples = (build-asdf-system { - pname = "cl-openal-examples"; - version = "20221106-git"; - asds = [ "cl-openal-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; - sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; - system = "cl-openal-examples"; - asd = "cl-openal-examples"; - }); - systems = [ "cl-openal-examples" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-alc" self) (getAttr "cl-alut" self) (getAttr "cl-openal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-opencl = (build-asdf-system { - pname = "cl-opencl"; - version = "20211209-git"; - asds = [ "cl-opencl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opencl/2021-12-09/cl-opencl-20211209-git.tgz"; - sha256 = "1agg6rg7lsbq2jgarx25bwm1nw22jpl20bzhyn4ivygcgzp2mv29"; - system = "cl-opencl"; - asd = "cl-opencl"; - }); - systems = [ "cl-opencl" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-opencl-utils = (build-asdf-system { - pname = "cl-opencl-utils"; - version = "20230214-git"; - asds = [ "cl-opencl-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opencl-utils/2023-02-14/cl-opencl-utils-20230214-git.tgz"; - sha256 = "17l4wsvhjj3zvhl5nsigh9fwnv7s7xiqfk2998gh86j32a02r95y"; - system = "cl-opencl-utils"; - asd = "cl-opencl-utils"; - }); - systems = [ "cl-opencl-utils" ]; - lispLibs = [ (getAttr "cl-opencl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-opengl = (build-asdf-system { - pname = "cl-opengl"; - version = "20241012-git"; - asds = [ "cl-opengl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; - sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; - system = "cl-opengl"; - asd = "cl-opengl"; - }); - systems = [ "cl-opengl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "float-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-opensearch-query-builder = (build-asdf-system { - pname = "cl-opensearch-query-builder"; - version = "20241012-git"; - asds = [ "cl-opensearch-query-builder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opensearch-query-builder/2024-10-12/cl-opensearch-query-builder-20241012-git.tgz"; - sha256 = "1pxlafahhgwyfhila0ikbpljcxgi59cqd2m6dvlib6ii90yq5dqx"; - system = "cl-opensearch-query-builder"; - asd = "cl-opensearch-query-builder"; - }); - systems = [ "cl-opensearch-query-builder" ]; - lispLibs = [ (getAttr "com_dot_inuoe_dot_jzon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-openstack-client = (build-asdf-system { - pname = "cl-openstack-client"; - version = "20191007-git"; - asds = [ "cl-openstack-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openstack-client/2019-10-07/cl-openstack-client-20191007-git.tgz"; - sha256 = "1sak75i82vn3acg7bxx8vjbw2y35wbq1vkh1yqhs68ksnph6d097"; - system = "cl-openstack-client"; - asd = "cl-openstack-client"; - }); - systems = [ "cl-openstack-client" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-json" self) (getAttr "drakma" self) (getAttr "local-time" self) (getAttr "uri-template" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-openstack-client-test = (build-asdf-system { - pname = "cl-openstack-client-test"; - version = "20191007-git"; - asds = [ "cl-openstack-client-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openstack-client/2019-10-07/cl-openstack-client-20191007-git.tgz"; - sha256 = "1sak75i82vn3acg7bxx8vjbw2y35wbq1vkh1yqhs68ksnph6d097"; - system = "cl-openstack-client-test"; - asd = "cl-openstack-client-test"; - }); - systems = [ "cl-openstack-client-test" ]; - lispLibs = [ (getAttr "chunga" self) (getAttr "cl-openstack-client" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "local-time" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-opsresearch = (build-asdf-system { - pname = "cl-opsresearch"; - version = "20170403-git"; - asds = [ "cl-opsresearch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; - sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; - system = "cl-opsresearch"; - asd = "cl-opsresearch"; - }); - systems = [ "cl-opsresearch" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-opus = (build-asdf-system { - pname = "cl-opus"; - version = "20241012-git"; - asds = [ "cl-opus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opus/2024-10-12/cl-opus-20241012-git.tgz"; - sha256 = "183xjlqjwildm1fb8piiic1f6l9fx4mxf9gcagpav8r60d1wmbpm"; - system = "cl-opus"; - asd = "cl-opus"; - }); - systems = [ "cl-opus" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "static-vectors" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-org-mode = (build-asdf-system { - pname = "cl-org-mode"; - version = "20101207-git"; - asds = [ "cl-org-mode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-org-mode/2010-12-07/cl-org-mode-20101207-git.tgz"; - sha256 = "1fvwl9jlbpd352b5zn2d45mabsim5xvzabwyz1h10hwv4gviymzf"; - system = "cl-org-mode"; - asd = "cl-org-mode"; - }); - systems = [ "cl-org-mode" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-out123 = (build-asdf-system { - pname = "cl-out123"; - version = "20231021-git"; - asds = [ "cl-out123" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-out123/2023-10-21/cl-out123-20231021-git.tgz"; - sha256 = "1h48hfd956799wx9kmkmb9azg01jmjbnj16b6z9ciw9y9k5jlzsh"; - system = "cl-out123"; - asd = "cl-out123"; - }); - systems = [ "cl-out123" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pack = (build-asdf-system { - pname = "cl-pack"; - version = "20200427-git"; - asds = [ "cl-pack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pack/2020-04-27/cl-pack-20200427-git.tgz"; - sha256 = "0q7gawy0cwy49m1mxgj0jqnzzckk2ps74ncfaw1pqiqilfyx7np6"; - system = "cl-pack"; - asd = "cl-pack"; - }); - systems = [ "cl-pack" ]; - lispLibs = [ (getAttr "ieee-floats" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pack-test = (build-asdf-system { - pname = "cl-pack-test"; - version = "20200427-git"; - asds = [ "cl-pack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pack/2020-04-27/cl-pack-20200427-git.tgz"; - sha256 = "0q7gawy0cwy49m1mxgj0jqnzzckk2ps74ncfaw1pqiqilfyx7np6"; - system = "cl-pack-test"; - asd = "cl-pack"; - }); - systems = [ "cl-pack-test" ]; - lispLibs = [ (getAttr "cl-pack" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-package-locks = (build-asdf-system { - pname = "cl-package-locks"; - version = "20111203-git"; - asds = [ "cl-package-locks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-package-locks/2011-12-03/cl-package-locks-20111203-git.tgz"; - sha256 = "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"; - system = "cl-package-locks"; - asd = "cl-package-locks"; - }); - systems = [ "cl-package-locks" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pango = (build-asdf-system { - pname = "cl-pango"; - version = "20170403-git"; - asds = [ "cl-pango" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pango/2017-04-03/cl-pango-20170403-git.tgz"; - sha256 = "0zkn4yn8nkkjr0x1vcy856cvbmnyhdidqz0in8xvd2i93jvw5w0i"; - system = "cl-pango"; - asd = "cl-pango"; - }); - systems = [ "cl-pango" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-cairo2" self) (getAttr "xmls" self) ]; - meta = {}; - }); - cl-parallel = (build-asdf-system { - pname = "cl-parallel"; - version = "20130312-git"; - asds = [ "cl-parallel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-parallel/2013-03-12/cl-parallel-20130312-git.tgz"; - sha256 = "1hmkcbwkj7rx8zg5wf2w06nvbabldpr7hbbg1ycj0fss86s2cx2c"; - system = "cl-parallel"; - asd = "cl-parallel"; - }); - systems = [ "cl-parallel" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pass = (build-asdf-system { - pname = "cl-pass"; - version = "20201220-git"; - asds = [ "cl-pass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pass/2020-12-20/cl-pass-20201220-git.tgz"; - sha256 = "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb"; - system = "cl-pass"; - asd = "cl-pass"; - }); - systems = [ "cl-pass" ]; - lispLibs = [ (getAttr "ironclad" self) (getAttr "split-sequence" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pass-test = (build-asdf-system { - pname = "cl-pass-test"; - version = "20201220-git"; - asds = [ "cl-pass-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pass/2020-12-20/cl-pass-20201220-git.tgz"; - sha256 = "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb"; - system = "cl-pass-test"; - asd = "cl-pass-test"; - }); - systems = [ "cl-pass-test" ]; - lispLibs = [ (getAttr "cl-pass" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-paths = (build-asdf-system { - pname = "cl-paths"; - version = "20241012-git"; - asds = [ "cl-paths" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; - sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; - system = "cl-paths"; - asd = "cl-paths"; - }); - systems = [ "cl-paths" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-paths-ttf = (build-asdf-system { - pname = "cl-paths-ttf"; - version = "20241012-git"; - asds = [ "cl-paths-ttf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; - sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; - system = "cl-paths-ttf"; - asd = "cl-paths-ttf"; - }); - systems = [ "cl-paths-ttf" ]; - lispLibs = [ (getAttr "cl-paths" self) (getAttr "zpb-ttf" self) ]; - meta = {}; - }); - cl-pattern = (build-asdf-system { - pname = "cl-pattern"; - version = "20140713-git"; - asds = [ "cl-pattern" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pattern/2014-07-13/cl-pattern-20140713-git.tgz"; - sha256 = "0kc1yynn1ysa7bcaazhi1pq8l3hj3jq6p835kh5di7g1imrfkrny"; - system = "cl-pattern"; - asd = "cl-pattern"; - }); - systems = [ "cl-pattern" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-annot" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) ]; - meta = {}; - }); - cl-pattern-benchmark = (build-asdf-system { - pname = "cl-pattern-benchmark"; - version = "20140713-git"; - asds = [ "cl-pattern-benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pattern/2014-07-13/cl-pattern-20140713-git.tgz"; - sha256 = "0kc1yynn1ysa7bcaazhi1pq8l3hj3jq6p835kh5di7g1imrfkrny"; - system = "cl-pattern-benchmark"; - asd = "cl-pattern-benchmark"; - }); - systems = [ "cl-pattern-benchmark" ]; - lispLibs = [ (getAttr "cl-pattern" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-patterns = (build-asdf-system { - pname = "cl-patterns"; - version = "20241012-git"; - asds = [ "cl-patterns" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-patterns/2024-10-12/cl-patterns-20241012-git.tgz"; - sha256 = "0g0q514fn1hxq518358yy2va4cb9xxqwds9cglw133qxy0wsjllh"; - system = "cl-patterns"; - asd = "cl-patterns"; - }); - systems = [ "cl-patterns" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "local-time" self) (getAttr "mutility" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-paymill = (build-asdf-system { - pname = "cl-paymill"; - version = "20131111-git"; - asds = [ "cl-paymill" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-paymill/2013-11-11/cl-paymill-20131111-git.tgz"; - sha256 = "1dhddmw7gxfxbv1vfqi6nzyh8m5n3b160ch6ianf5sn6apmi92nw"; - system = "cl-paymill"; - asd = "cl-paymill"; - }); - systems = [ "cl-paymill" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "drakma" self) (getAttr "st-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-paypal = (build-asdf-system { - pname = "cl-paypal"; - version = "20101006-git"; - asds = [ "cl-paypal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-paypal/2010-10-06/cl-paypal-20101006-git.tgz"; - sha256 = "0cc6zv17klgiyj1mbbrkbvajkr6dwsjv3iilh57vhdqd01lrhnb2"; - system = "cl-paypal"; - asd = "cl-paypal"; - }); - systems = [ "cl-paypal" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pcg = (build-asdf-system { - pname = "cl-pcg"; - version = "20201016-hg"; - asds = [ "cl-pcg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pcg/2020-10-16/cl-pcg-20201016-hg.tgz"; - sha256 = "1w2b2y5fgjc6z8akvlmwasj90dnjv55nvb8pghq4xpv43hfy73mp"; - system = "cl-pcg"; - asd = "cl-pcg"; - }); - systems = [ "cl-pcg" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pcg_dot_test = (build-asdf-system { - pname = "cl-pcg.test"; - version = "20201016-hg"; - asds = [ "cl-pcg.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pcg/2020-10-16/cl-pcg-20201016-hg.tgz"; - sha256 = "1w2b2y5fgjc6z8akvlmwasj90dnjv55nvb8pghq4xpv43hfy73mp"; - system = "cl-pcg.test"; - asd = "cl-pcg.test"; - }); - systems = [ "cl-pcg.test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "cl-pcg" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pdf = (build-asdf-system { - pname = "cl-pdf"; - version = "20231021-git"; - asds = [ "cl-pdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pdf/2023-10-21/cl-pdf-20231021-git.tgz"; - sha256 = "1x88fvk3kxi3k6a84iajb6myw67z8n3plfidq8d4c26ymiz0kvfm"; - system = "cl-pdf"; - asd = "cl-pdf"; - }); - systems = [ "cl-pdf" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "zpb-ttf" self) ]; - meta = {}; - }); - cl-pdf-doc = (build-asdf-system { - pname = "cl-pdf-doc"; - version = "20210531-git"; - asds = [ "cl-pdf-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz"; - sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"; - system = "cl-pdf-doc"; - asd = "cl-pdf-doc"; - }); - systems = [ "cl-pdf-doc" ]; - lispLibs = [ (getAttr "cl-pdf" self) (getAttr "cl-typesetting" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pdf-parser = (build-asdf-system { - pname = "cl-pdf-parser"; - version = "20231021-git"; - asds = [ "cl-pdf-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pdf/2023-10-21/cl-pdf-20231021-git.tgz"; - sha256 = "1x88fvk3kxi3k6a84iajb6myw67z8n3plfidq8d4c26ymiz0kvfm"; - system = "cl-pdf-parser"; - asd = "cl-pdf-parser"; - }); - systems = [ "cl-pdf-parser" ]; - lispLibs = [ (getAttr "cl-pdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-performance-tuning-helper = (build-asdf-system { - pname = "cl-performance-tuning-helper"; - version = "20130615-git"; - asds = [ "cl-performance-tuning-helper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-performance-tuning-helper/2013-06-15/cl-performance-tuning-helper-20130615-git.tgz"; - sha256 = "1j0k319il271grm6hjqq2bazp5l105lazayqsmpsy8lsy4lmy0c3"; - system = "cl-performance-tuning-helper"; - asd = "cl-performance-tuning-helper"; - }); - systems = [ "cl-performance-tuning-helper" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-performance-tuning-helper-test = (build-asdf-system { - pname = "cl-performance-tuning-helper-test"; - version = "20130615-git"; - asds = [ "cl-performance-tuning-helper-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-performance-tuning-helper/2013-06-15/cl-performance-tuning-helper-20130615-git.tgz"; - sha256 = "1j0k319il271grm6hjqq2bazp5l105lazayqsmpsy8lsy4lmy0c3"; - system = "cl-performance-tuning-helper-test"; - asd = "cl-performance-tuning-helper-test"; - }); - systems = [ "cl-performance-tuning-helper-test" ]; - lispLibs = [ (getAttr "cl-performance-tuning-helper" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-permutation = (build-asdf-system { - pname = "cl-permutation"; - version = "20231021-git"; - asds = [ "cl-permutation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-permutation/2023-10-21/cl-permutation-20231021-git.tgz"; - sha256 = "1zq7hjfn854jr1sglagvdpn749ihxki0l1wcbg9nd2i7ds1g5h4y"; - system = "cl-permutation"; - asd = "cl-permutation"; - }); - systems = [ "cl-permutation" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-fft" self) (getAttr "cl-algebraic-data-type" self) (getAttr "cl-cont" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "priority-queue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-permutation-examples = (build-asdf-system { - pname = "cl-permutation-examples"; - version = "20231021-git"; - asds = [ "cl-permutation-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-permutation/2023-10-21/cl-permutation-20231021-git.tgz"; - sha256 = "1zq7hjfn854jr1sglagvdpn749ihxki0l1wcbg9nd2i7ds1g5h4y"; - system = "cl-permutation-examples"; - asd = "cl-permutation-examples"; - }); - systems = [ "cl-permutation-examples" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-permutation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-permutation-tests = (build-asdf-system { - pname = "cl-permutation-tests"; - version = "20231021-git"; - asds = [ "cl-permutation-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-permutation/2023-10-21/cl-permutation-20231021-git.tgz"; - sha256 = "1zq7hjfn854jr1sglagvdpn749ihxki0l1wcbg9nd2i7ds1g5h4y"; - system = "cl-permutation-tests"; - asd = "cl-permutation-tests"; - }); - systems = [ "cl-permutation-tests" ]; - lispLibs = [ (getAttr "cl-permutation" self) (getAttr "cl-permutation-examples" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-photo = (build-asdf-system { - pname = "cl-photo"; - version = "20150923-git"; - asds = [ "cl-photo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-photo/2015-09-23/cl-photo-20150923-git.tgz"; - sha256 = "03rzsi1rqvlnw43z7kh5sy1h8gjxc5n0cfryfkkqnhym9q9186mj"; - system = "cl-photo"; - asd = "cl-photo"; - }); - systems = [ "cl-photo" ]; - lispLibs = [ (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-photo-tests = (build-asdf-system { - pname = "cl-photo-tests"; - version = "20150923-git"; - asds = [ "cl-photo-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-photo/2015-09-23/cl-photo-20150923-git.tgz"; - sha256 = "03rzsi1rqvlnw43z7kh5sy1h8gjxc5n0cfryfkkqnhym9q9186mj"; - system = "cl-photo-tests"; - asd = "cl-photo-tests"; - }); - systems = [ "cl-photo-tests" ]; - lispLibs = [ (getAttr "cl-photo" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plplot = (build-asdf-system { - pname = "cl-plplot"; - version = "20180228-git"; - asds = [ "cl-plplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plplot/2018-02-28/cl-plplot-20180228-git.tgz"; - sha256 = "0hfgq47ga2r764jfc3ywaz5ynnvp701fjhbw0s4j1mrw4gaf6y6w"; - system = "cl-plplot"; - asd = "cl-plplot"; - }); - systems = [ "cl-plplot" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plumbing = (build-asdf-system { - pname = "cl-plumbing"; - version = "20181018-git"; - asds = [ "cl-plumbing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plumbing/2018-10-18/cl-plumbing-20181018-git.tgz"; - sha256 = "0bc4qqj0c4hghwx8jm3vg422c3i8livv3vvzfzi0gw79khaqdiyr"; - system = "cl-plumbing"; - asd = "cl-plumbing"; - }); - systems = [ "cl-plumbing" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "iterate" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plumbing-test = (build-asdf-system { - pname = "cl-plumbing-test"; - version = "20181018-git"; - asds = [ "cl-plumbing-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plumbing/2018-10-18/cl-plumbing-20181018-git.tgz"; - sha256 = "0bc4qqj0c4hghwx8jm3vg422c3i8livv3vvzfzi0gw79khaqdiyr"; - system = "cl-plumbing-test"; - asd = "cl-plumbing-test"; - }); - systems = [ "cl-plumbing-test" ]; - lispLibs = [ (getAttr "cl-plumbing" self) (getAttr "iterate" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plus-c = (build-asdf-system { - pname = "cl-plus-c"; - version = "20241012-git"; - asds = [ "cl-plus-c" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-autowrap/2024-10-12/cl-autowrap-20241012-git.tgz"; - sha256 = "1sfvhyrwm9dhxi0y42xp7mx8mvs6lmq3bzxdx34frxni5srcgly0"; - system = "cl-plus-c"; - asd = "cl-plus-c"; - }); - systems = [ "cl-plus-c" ]; - lispLibs = [ (getAttr "cl-autowrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plus-ssl-osx-fix = (build-asdf-system { - pname = "cl-plus-ssl-osx-fix"; - version = "20241012-git"; - asds = [ "cl-plus-ssl-osx-fix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; - sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; - system = "cl-plus-ssl-osx-fix"; - asd = "cl-plus-ssl-osx-fix"; - }); - systems = [ "cl-plus-ssl-osx-fix" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "cl_plus_ssl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plus-ssl-osx-fix-ci = (build-asdf-system { - pname = "cl-plus-ssl-osx-fix-ci"; - version = "20241012-git"; - asds = [ "cl-plus-ssl-osx-fix-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; - sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; - system = "cl-plus-ssl-osx-fix-ci"; - asd = "cl-plus-ssl-osx-fix-ci"; - }); - systems = [ "cl-plus-ssl-osx-fix-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plus-ssl-osx-fix-docs = (build-asdf-system { - pname = "cl-plus-ssl-osx-fix-docs"; - version = "20241012-git"; - asds = [ "cl-plus-ssl-osx-fix-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; - sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; - system = "cl-plus-ssl-osx-fix-docs"; - asd = "cl-plus-ssl-osx-fix-docs"; - }); - systems = [ "cl-plus-ssl-osx-fix-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "cl-plus-ssl-osx-fix" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-plus-ssl-osx-fix-tests = (build-asdf-system { - pname = "cl-plus-ssl-osx-fix-tests"; - version = "20241012-git"; - asds = [ "cl-plus-ssl-osx-fix-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; - sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; - system = "cl-plus-ssl-osx-fix-tests"; - asd = "cl-plus-ssl-osx-fix-tests"; - }); - systems = [ "cl-plus-ssl-osx-fix-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ply = (build-asdf-system { - pname = "cl-ply"; - version = "20150505-git"; - asds = [ "cl-ply" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ply/2015-05-05/cl-ply-20150505-git.tgz"; - sha256 = "1va3il5ahvziwm6i3f2zy3vchv0qkh1l7jci7gnfam43gf88fl12"; - system = "cl-ply"; - asd = "cl-ply"; - }); - systems = [ "cl-ply" ]; - lispLibs = [ (getAttr "cl-pattern" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ply-test = (build-asdf-system { - pname = "cl-ply-test"; - version = "20150505-git"; - asds = [ "cl-ply-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ply/2015-05-05/cl-ply-20150505-git.tgz"; - sha256 = "1va3il5ahvziwm6i3f2zy3vchv0qkh1l7jci7gnfam43gf88fl12"; - system = "cl-ply-test"; - asd = "cl-ply-test"; - }); - systems = [ "cl-ply-test" ]; - lispLibs = [ (getAttr "cl-ply" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-poker-eval = (build-asdf-system { - pname = "cl-poker-eval"; - version = "20150804-git"; - asds = [ "cl-poker-eval" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-poker-eval/2015-08-04/cl-poker-eval-20150804-git.tgz"; - sha256 = "1w4dsr4j7r3n7p0jbp8ccwwk83wcjjiz1rhhfrqpsd9v263v7kw8"; - system = "cl-poker-eval"; - asd = "cl-poker-eval"; - }); - systems = [ "cl-poker-eval" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pop = (build-asdf-system { - pname = "cl-pop"; - version = "20110418-http"; - asds = [ "cl-pop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pop/2011-04-18/cl-pop-20110418-http.tgz"; - sha256 = "1g47p9w2pzf7glx92cz859di9pz454xpaq97p76lcvyilxk6q819"; - system = "cl-pop"; - asd = "cl-pop"; - }); - systems = [ "cl-pop" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-portaudio = (build-asdf-system { - pname = "cl-portaudio"; - version = "20201220-git"; - asds = [ "cl-portaudio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-portaudio/2020-12-20/cl-portaudio-20201220-git.tgz"; - sha256 = "177c6bgf30caj5qpzfnzhbamax7c5zm2p4911mw7fay94vjs7zyb"; - system = "cl-portaudio"; - asd = "cl-portaudio"; - }); - systems = [ "cl-portaudio" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "ffa" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-postgres = (build-asdf-system { - pname = "cl-postgres"; - version = "20241012-git"; - asds = [ "cl-postgres" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; - sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; - system = "cl-postgres"; - asd = "cl-postgres"; - }); - systems = [ "cl-postgres" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "ironclad" self) (getAttr "md5" self) (getAttr "split-sequence" self) (getAttr "uax-15" self) ]; - meta = {}; - }); - cl-postgres_plus_local-time = (build-asdf-system { - pname = "cl-postgres+local-time"; - version = "20241012-git"; - asds = [ "cl-postgres+local-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/local-time/2024-10-12/local-time-20241012-git.tgz"; - sha256 = "0jb1mb5zs4ryiah8zjzhpln1z686mfmpmvg1phgpr2mh9vvlgjk2"; - system = "cl-postgres+local-time"; - asd = "cl-postgres+local-time"; - }); - systems = [ "cl-postgres+local-time" ]; - lispLibs = [ (getAttr "cl-postgres" self) (getAttr "local-time" self) ]; - meta = {}; - }); - cl-postgres_plus_local-time-duration = (build-asdf-system { - pname = "cl-postgres+local-time-duration"; - version = "20180430-git"; - asds = [ "cl-postgres+local-time-duration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/local-time-duration/2018-04-30/local-time-duration-20180430-git.tgz"; - sha256 = "0f13mg18lv31lclz9jvqyj8d85p1jj1366nlld8m3dxnnwsbbkd6"; - system = "cl-postgres+local-time-duration"; - asd = "cl-postgres+local-time-duration"; - }); - systems = [ "cl-postgres+local-time-duration" ]; - lispLibs = [ (getAttr "cl-postgres" self) (getAttr "local-time-duration" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-postgres-datetime = (build-asdf-system { - pname = "cl-postgres-datetime"; - version = "20190521-git"; - asds = [ "cl-postgres-datetime" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-postgres-datetime/2019-05-21/cl-postgres-datetime-20190521-git.tgz"; - sha256 = "1vwv5j1i968927j070bagqx9i114a8phmx7k9ankj9j5zg5dj0l3"; - system = "cl-postgres-datetime"; - asd = "cl-postgres-datetime"; - }); - systems = [ "cl-postgres-datetime" ]; - lispLibs = [ (getAttr "cl-postgres" self) (getAttr "local-time" self) (getAttr "simple-date" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-postgres-plus-uuid = (build-asdf-system { - pname = "cl-postgres-plus-uuid"; - version = "20181018-git"; - asds = [ "cl-postgres-plus-uuid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-postgres-plus-uuid/2018-10-18/cl-postgres-plus-uuid-20181018-git.tgz"; - sha256 = "1iw11v67gpwgpa5dw3d7chjmkc4d7sdwrqvnx0vg0m2qf4j7azmi"; - system = "cl-postgres-plus-uuid"; - asd = "cl-postgres-plus-uuid"; - }); - systems = [ "cl-postgres-plus-uuid" ]; - lispLibs = [ (getAttr "cl-postgres" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ppcre = (build-asdf-system { - pname = "cl-ppcre"; - version = "20241012-git"; - asds = [ "cl-ppcre" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ppcre/2024-10-12/cl-ppcre-20241012-git.tgz"; - sha256 = "0aw7lh79wgn18c75v29md2x8irl8v7f96lj1mfkp7x0mkqsb0cs8"; - system = "cl-ppcre"; - asd = "cl-ppcre"; - }); - systems = [ "cl-ppcre" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-ppcre-template = (build-asdf-system { - pname = "cl-ppcre-template"; - version = "20241012-git"; - asds = [ "cl-ppcre-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; - sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; - system = "cl-ppcre-template"; - asd = "cl-ppcre-template"; - }); - systems = [ "cl-ppcre-template" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-unification" self) ]; - meta = {}; - }); - cl-ppcre-unicode = (build-asdf-system { - pname = "cl-ppcre-unicode"; - version = "20241012-git"; - asds = [ "cl-ppcre-unicode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ppcre/2024-10-12/cl-ppcre-20241012-git.tgz"; - sha256 = "0aw7lh79wgn18c75v29md2x8irl8v7f96lj1mfkp7x0mkqsb0cs8"; - system = "cl-ppcre-unicode"; - asd = "cl-ppcre-unicode"; - }); - systems = [ "cl-ppcre-unicode" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-unicode" self) ]; - meta = {}; - }); - cl-prevalence = (build-asdf-system { - pname = "cl-prevalence"; - version = "20230214-git"; - asds = [ "cl-prevalence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prevalence/2023-02-14/cl-prevalence-20230214-git.tgz"; - sha256 = "1lb957ivshgp56phqhvhsmnc4r55x5shvi3mpsan2xsm4hvqspp0"; - system = "cl-prevalence"; - asd = "cl-prevalence"; - }); - systems = [ "cl-prevalence" ]; - lispLibs = [ (getAttr "moptilities" self) (getAttr "s-sysdeps" self) (getAttr "s-xml" self) ]; - meta = {}; - }); - cl-prevalence-test = (build-asdf-system { - pname = "cl-prevalence-test"; - version = "20230214-git"; - asds = [ "cl-prevalence-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prevalence/2023-02-14/cl-prevalence-20230214-git.tgz"; - sha256 = "1lb957ivshgp56phqhvhsmnc4r55x5shvi3mpsan2xsm4hvqspp0"; - system = "cl-prevalence-test"; - asd = "cl-prevalence-test"; - }); - systems = [ "cl-prevalence-test" ]; - lispLibs = [ (getAttr "cl-prevalence" self) (getAttr "find-port" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-primality = (build-asdf-system { - pname = "cl-primality"; - version = "20150608-git"; - asds = [ "cl-primality" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-primality/2015-06-08/cl-primality-20150608-git.tgz"; - sha256 = "1hvbsd5x7yrrrh7jjq0p8ign3ppzzpacmmz7nps60wgk38q1b618"; - system = "cl-primality"; - asd = "cl-primality"; - }); - systems = [ "cl-primality" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-primality-test = (build-asdf-system { - pname = "cl-primality-test"; - version = "20150608-git"; - asds = [ "cl-primality-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-primality/2015-06-08/cl-primality-20150608-git.tgz"; - sha256 = "1hvbsd5x7yrrrh7jjq0p8ign3ppzzpacmmz7nps60wgk38q1b618"; - system = "cl-primality-test"; - asd = "cl-primality-test"; - }); - systems = [ "cl-primality-test" ]; - lispLibs = [ (getAttr "cl-primality" self) (getAttr "iterate" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prime-maker = (build-asdf-system { - pname = "cl-prime-maker"; - version = "20150302-git"; - asds = [ "cl-prime-maker" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prime-maker/2015-03-02/cl-prime-maker-20150302-git.tgz"; - sha256 = "0hs95zs990aiwspss2dzmjvl18ipvlkx3p9cgmcncqxhgkizds9s"; - system = "cl-prime-maker"; - asd = "cl-prime-maker"; - }); - systems = [ "cl-prime-maker" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-progress-bar = (build-asdf-system { - pname = "cl-progress-bar"; - version = "20211209-git"; - asds = [ "cl-progress-bar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-progress-bar/2021-12-09/cl-progress-bar-20211209-git.tgz"; - sha256 = "1y4kg4qb4bxkqnc84mczx5fhqlr6qbagxwsn93xrilv8lqg8ymiv"; - system = "cl-progress-bar"; - asd = "cl-progress-bar"; - }); - systems = [ "cl-progress-bar" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "documentation-utils-extensions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-project = (build-asdf-system { - pname = "cl-project"; - version = "20241012-git"; - asds = [ "cl-project" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-project/2024-10-12/cl-project-20241012-git.tgz"; - sha256 = "12bvhs1ll6wxwgarvyxbrm978jxpvgj9vyqcbnwqmf5kqxjlrh0j"; - system = "cl-project"; - asd = "cl-project"; - }); - systems = [ "cl-project" ]; - lispLibs = [ (getAttr "cl-emb" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-project-test = (build-asdf-system { - pname = "cl-project-test"; - version = "20241012-git"; - asds = [ "cl-project-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-project/2024-10-12/cl-project-20241012-git.tgz"; - sha256 = "12bvhs1ll6wxwgarvyxbrm978jxpvgj9vyqcbnwqmf5kqxjlrh0j"; - system = "cl-project-test"; - asd = "cl-project-test"; - }); - systems = [ "cl-project-test" ]; - lispLibs = [ (getAttr "caveman2" self) (getAttr "cl-project" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2 = (build-asdf-system { - pname = "cl-prolog2"; - version = "20211209-git"; - asds = [ "cl-prolog2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2"; - asd = "cl-prolog2"; - }); - systems = [ "cl-prolog2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "external-program" self) (getAttr "trivia" self) (getAttr "trivia_dot_quasiquote" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_bprolog = (build-asdf-system { - pname = "cl-prolog2.bprolog"; - version = "20211209-git"; - asds = [ "cl-prolog2.bprolog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.bprolog"; - asd = "cl-prolog2.bprolog"; - }); - systems = [ "cl-prolog2.bprolog" ]; - lispLibs = [ (getAttr "cl-prolog2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_bprolog_dot_test = (build-asdf-system { - pname = "cl-prolog2.bprolog.test"; - version = "20211209-git"; - asds = [ "cl-prolog2.bprolog.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.bprolog.test"; - asd = "cl-prolog2.bprolog.test"; - }); - systems = [ "cl-prolog2.bprolog.test" ]; - lispLibs = [ (getAttr "cl-prolog2_dot_bprolog" self) (getAttr "cl-prolog2_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_gprolog = (build-asdf-system { - pname = "cl-prolog2.gprolog"; - version = "20211209-git"; - asds = [ "cl-prolog2.gprolog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.gprolog"; - asd = "cl-prolog2.gprolog"; - }); - systems = [ "cl-prolog2.gprolog" ]; - lispLibs = [ (getAttr "cl-prolog2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_gprolog_dot_test = (build-asdf-system { - pname = "cl-prolog2.gprolog.test"; - version = "20211209-git"; - asds = [ "cl-prolog2.gprolog.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.gprolog.test"; - asd = "cl-prolog2.gprolog.test"; - }); - systems = [ "cl-prolog2.gprolog.test" ]; - lispLibs = [ (getAttr "cl-prolog2_dot_gprolog" self) (getAttr "cl-prolog2_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_swi = (build-asdf-system { - pname = "cl-prolog2.swi"; - version = "20211209-git"; - asds = [ "cl-prolog2.swi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.swi"; - asd = "cl-prolog2.swi"; - }); - systems = [ "cl-prolog2.swi" ]; - lispLibs = [ (getAttr "cl-prolog2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_swi_dot_test = (build-asdf-system { - pname = "cl-prolog2.swi.test"; - version = "20211209-git"; - asds = [ "cl-prolog2.swi.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.swi.test"; - asd = "cl-prolog2.swi.test"; - }); - systems = [ "cl-prolog2.swi.test" ]; - lispLibs = [ (getAttr "cl-prolog2_dot_swi" self) (getAttr "cl-prolog2_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_test = (build-asdf-system { - pname = "cl-prolog2.test"; - version = "20211209-git"; - asds = [ "cl-prolog2.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.test"; - asd = "cl-prolog2.test"; - }); - systems = [ "cl-prolog2.test" ]; - lispLibs = [ (getAttr "cl-prolog2" self) (getAttr "fiveam" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_xsb = (build-asdf-system { - pname = "cl-prolog2.xsb"; - version = "20211209-git"; - asds = [ "cl-prolog2.xsb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.xsb"; - asd = "cl-prolog2.xsb"; - }); - systems = [ "cl-prolog2.xsb" ]; - lispLibs = [ (getAttr "cl-prolog2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_xsb_dot_test = (build-asdf-system { - pname = "cl-prolog2.xsb.test"; - version = "20211209-git"; - asds = [ "cl-prolog2.xsb.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.xsb.test"; - asd = "cl-prolog2.xsb.test"; - }); - systems = [ "cl-prolog2.xsb.test" ]; - lispLibs = [ (getAttr "cl-prolog2_dot_test" self) (getAttr "cl-prolog2_dot_xsb" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_yap = (build-asdf-system { - pname = "cl-prolog2.yap"; - version = "20211209-git"; - asds = [ "cl-prolog2.yap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.yap"; - asd = "cl-prolog2.yap"; - }); - systems = [ "cl-prolog2.yap" ]; - lispLibs = [ (getAttr "cl-prolog2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-prolog2_dot_yap_dot_test = (build-asdf-system { - pname = "cl-prolog2.yap.test"; - version = "20211209-git"; - asds = [ "cl-prolog2.yap.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; - sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; - system = "cl-prolog2.yap.test"; - asd = "cl-prolog2.yap.test"; - }); - systems = [ "cl-prolog2.yap.test" ]; - lispLibs = [ (getAttr "cl-prolog2_dot_test" self) (getAttr "cl-prolog2_dot_yap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-protobufs_dot_asdf = (build-asdf-system { - pname = "cl-protobufs.asdf"; - version = "20241012-git"; - asds = [ "cl-protobufs.asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-protobufs/2024-10-12/cl-protobufs-20241012-git.tgz"; - sha256 = "08digcsyxs46pl7r5d945db5r2hbrxydqqcmzbgziq61ca4p0ifn"; - system = "cl-protobufs.asdf"; - asd = "cl-protobufs.asdf"; - }); - systems = [ "cl-protobufs.asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pslib = (build-asdf-system { - pname = "cl-pslib"; - version = "20241012-git"; - asds = [ "cl-pslib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pslib/2024-10-12/cl-pslib-20241012-git.tgz"; - sha256 = "12lg64nbjkxmaf212qr4i0msnsixc2cbqmxkdgqjii9rsyqdvrn6"; - system = "cl-pslib"; - asd = "cl-pslib"; - }); - systems = [ "cl-pslib" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-colors2" self) (getAttr "cl-ppcre-unicode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-pslib-barcode = (build-asdf-system { - pname = "cl-pslib-barcode"; - version = "20241012-git"; - asds = [ "cl-pslib-barcode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pslib-barcode/2024-10-12/cl-pslib-barcode-20241012-git.tgz"; - sha256 = "1n17yv7qr6i6dhbjrcc1binlxxkc1p5blj9nwn6g26fyvakgwrsb"; - system = "cl-pslib-barcode"; - asd = "cl-pslib-barcode"; - }); - systems = [ "cl-pslib-barcode" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-colors2" self) (getAttr "cl-ppcre-unicode" self) (getAttr "cl-pslib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-punch = (build-asdf-system { - pname = "cl-punch"; - version = "20190107-git"; - asds = [ "cl-punch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-punch/2019-01-07/cl-punch-20190107-git.tgz"; - sha256 = "1sjgwn6c77n8pgs0rrw70xfl18rps6a0dlf2chfsbgk8shz6qyl2"; - system = "cl-punch"; - asd = "cl-punch"; - }); - systems = [ "cl-punch" ]; - lispLibs = [ (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-punch-test = (build-asdf-system { - pname = "cl-punch-test"; - version = "20190107-git"; - asds = [ "cl-punch-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-punch/2019-01-07/cl-punch-20190107-git.tgz"; - sha256 = "1sjgwn6c77n8pgs0rrw70xfl18rps6a0dlf2chfsbgk8shz6qyl2"; - system = "cl-punch-test"; - asd = "cl-punch-test"; - }); - systems = [ "cl-punch-test" ]; - lispLibs = [ (getAttr "cl-punch" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-qoa = (build-asdf-system { - pname = "cl-qoa"; - version = "20241012-git"; - asds = [ "cl-qoa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-qoa/2024-10-12/cl-qoa-20241012-git.tgz"; - sha256 = "0gxrra0mvvkyvhvg7cc4bvi3nwdsnx0dbjszp41ch6dsdhd3pcpy"; - system = "cl-qoa"; - asd = "cl-qoa"; - }); - systems = [ "cl-qoa" ]; - lispLibs = [ (getAttr "binary-structures" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-qprint = (build-asdf-system { - pname = "cl-qprint"; - version = "20150804-git"; - asds = [ "cl-qprint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-qprint/2015-08-04/cl-qprint-20150804-git.tgz"; - sha256 = "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"; - system = "cl-qprint"; - asd = "cl-qprint"; - }); - systems = [ "cl-qprint" ]; - lispLibs = [ (getAttr "flexi-streams" self) ]; - meta = {}; - }); - cl-qrencode = (build-asdf-system { - pname = "cl-qrencode"; - version = "20191007-git"; - asds = [ "cl-qrencode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-qrencode/2019-10-07/cl-qrencode-20191007-git.tgz"; - sha256 = "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"; - system = "cl-qrencode"; - asd = "cl-qrencode"; - }); - systems = [ "cl-qrencode" ]; - lispLibs = [ (getAttr "zpng" self) ]; - meta = {}; - }); - cl-qrencode-test = (build-asdf-system { - pname = "cl-qrencode-test"; - version = "20191007-git"; - asds = [ "cl-qrencode-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-qrencode/2019-10-07/cl-qrencode-20191007-git.tgz"; - sha256 = "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"; - system = "cl-qrencode-test"; - asd = "cl-qrencode-test"; - }); - systems = [ "cl-qrencode-test" ]; - lispLibs = [ (getAttr "cl-qrencode" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-quickcheck = (build-asdf-system { - pname = "cl-quickcheck"; - version = "20200610-git"; - asds = [ "cl-quickcheck" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-quickcheck/2020-06-10/cl-quickcheck-20200610-git.tgz"; - sha256 = "0cfyxbdhklvdk3qdzyxxaq9q6cxnsvqjfi86nay1vc7h6ziysb60"; - system = "cl-quickcheck"; - asd = "cl-quickcheck"; - }); - systems = [ "cl-quickcheck" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rabbit = (build-asdf-system { - pname = "cl-rabbit"; - version = "20210411-git"; - asds = [ "cl-rabbit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rabbit/2021-04-11/cl-rabbit-20210411-git.tgz"; - sha256 = "1q1mhqxqvxbr6ak7j0ym6mjhhq6r0pqk1l7az9hfajmqmw3xfija"; - system = "cl-rabbit"; - asd = "cl-rabbit"; - }); - systems = [ "cl-rabbit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cffi-libffi" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rabbit-tests = (build-asdf-system { - pname = "cl-rabbit-tests"; - version = "20210411-git"; - asds = [ "cl-rabbit-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rabbit/2021-04-11/cl-rabbit-20210411-git.tgz"; - sha256 = "1q1mhqxqvxbr6ak7j0ym6mjhhq6r0pqk1l7az9hfajmqmw3xfija"; - system = "cl-rabbit-tests"; - asd = "cl-rabbit-tests"; - }); - systems = [ "cl-rabbit-tests" ]; - lispLibs = [ (getAttr "cl-rabbit" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-randist = (build-asdf-system { - pname = "cl-randist"; - version = "20221106-git"; - asds = [ "cl-randist" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-randist/2022-11-06/cl-randist-20221106-git.tgz"; - sha256 = "1r0d76n5zjqg5fb2ypqx5i1wg4hsg5g0c126ylqb28wdaf2yjz5a"; - system = "cl-randist"; - asd = "cl-randist"; - }); - systems = [ "cl-randist" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-random-forest = (build-asdf-system { - pname = "cl-random-forest"; - version = "20221106-git"; - asds = [ "cl-random-forest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-random-forest/2022-11-06/cl-random-forest-20221106-git.tgz"; - sha256 = "0jn5f3s1zvjql35c4m67lqc0vjr7sm7kzf8w4jfbfabcnxf3y6jx"; - system = "cl-random-forest"; - asd = "cl-random-forest"; - }); - systems = [ "cl-random-forest" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-libsvm-format" self) (getAttr "cl-online-learning" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-random-forest-test = (build-asdf-system { - pname = "cl-random-forest-test"; - version = "20221106-git"; - asds = [ "cl-random-forest-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-random-forest/2022-11-06/cl-random-forest-20221106-git.tgz"; - sha256 = "0jn5f3s1zvjql35c4m67lqc0vjr7sm7kzf8w4jfbfabcnxf3y6jx"; - system = "cl-random-forest-test"; - asd = "cl-random-forest-test"; - }); - systems = [ "cl-random-forest-test" ]; - lispLibs = [ (getAttr "cl-random-forest" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rdfxml = (build-asdf-system { - pname = "cl-rdfxml"; - version = "20140713-git"; - asds = [ "cl-rdfxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rdfxml/2014-07-13/cl-rdfxml-20140713-git.tgz"; - sha256 = "09v76qg6l3y1llapnkfqrfgib67h7lpkzrdmfimwk49bi80iii8v"; - system = "cl-rdfxml"; - asd = "cl-rdfxml"; - }); - systems = [ "cl-rdfxml" ]; - lispLibs = [ (getAttr "cxml" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rdkafka = (build-asdf-system { - pname = "cl-rdkafka"; - version = "20230214-git"; - asds = [ "cl-rdkafka" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rdkafka/2023-02-14/cl-rdkafka-20230214-git.tgz"; - sha256 = "10y56avak66k2la9bmfzrni01wybi86avxjh64hz57b351bf2s55"; - system = "cl-rdkafka"; - asd = "cl-rdkafka"; - }); - systems = [ "cl-rdkafka" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "lparallel" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-readline = (build-asdf-system { - pname = "cl-readline"; - version = "20241012-git"; - asds = [ "cl-readline" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-readline/2024-10-12/cl-readline-20241012-git.tgz"; - sha256 = "0law12vnj1d5174kk9l949mgkkxm1x6kpcw5wixxjavmxxwqwric"; - system = "cl-readline"; - asd = "cl-readline"; - }); - systems = [ "cl-readline" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = {}; - }); - cl-recaptcha = (build-asdf-system { - pname = "cl-recaptcha"; - version = "20150608-git"; - asds = [ "cl-recaptcha" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-recaptcha/2015-06-08/cl-recaptcha-20150608-git.tgz"; - sha256 = "09qdmzbhc5hikay31mbsfd7dps72rm4gcdbbi0b6gkb6qbia6m71"; - system = "cl-recaptcha"; - asd = "cl-recaptcha"; - }); - systems = [ "cl-recaptcha" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "jsown" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-reddit = (build-asdf-system { - pname = "cl-reddit"; - version = "20241012-git"; - asds = [ "cl-reddit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-reddit/2024-10-12/cl-reddit-20241012-git.tgz"; - sha256 = "0jnc88mdz7hsmsncqrqmc8m8f1yd3n9087750kqpnn1sp1cwskk1"; - system = "cl-reddit"; - asd = "cl-reddit"; - }); - systems = [ "cl-reddit" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-redis = (build-asdf-system { - pname = "cl-redis"; - version = "20200925-git"; - asds = [ "cl-redis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-redis/2020-09-25/cl-redis-20200925-git.tgz"; - sha256 = "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi"; - system = "cl-redis"; - asd = "cl-redis"; - }); - systems = [ "cl-redis" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "rutils" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-redis-test = (build-asdf-system { - pname = "cl-redis-test"; - version = "20200925-git"; - asds = [ "cl-redis-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-redis/2020-09-25/cl-redis-20200925-git.tgz"; - sha256 = "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi"; - system = "cl-redis-test"; - asd = "cl-redis"; - }); - systems = [ "cl-redis-test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-redis" self) (getAttr "flexi-streams" self) (getAttr "should-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-reexport = (build-asdf-system { - pname = "cl-reexport"; - version = "20210228-git"; - asds = [ "cl-reexport" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-reexport/2021-02-28/cl-reexport-20210228-git.tgz"; - sha256 = "02la6z3ickhmh2m87ymm2ijh9nkn7l6slskj99l8a1rhps394qqc"; - system = "cl-reexport"; - asd = "cl-reexport"; - }); - systems = [ "cl-reexport" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - cl-reexport-test = (build-asdf-system { - pname = "cl-reexport-test"; - version = "20210228-git"; - asds = [ "cl-reexport-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-reexport/2021-02-28/cl-reexport-20210228-git.tgz"; - sha256 = "02la6z3ickhmh2m87ymm2ijh9nkn7l6slskj99l8a1rhps394qqc"; - system = "cl-reexport-test"; - asd = "cl-reexport-test"; - }); - systems = [ "cl-reexport-test" ]; - lispLibs = [ (getAttr "cl-reexport" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-renderdoc = (build-asdf-system { - pname = "cl-renderdoc"; - version = "20200925-git"; - asds = [ "cl-renderdoc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-renderdoc/2020-09-25/cl-renderdoc-20200925-git.tgz"; - sha256 = "0rrcp4y1f07x8h0ikvf5ncc3pbqj6vaciblab9qghmgdglnn7akx"; - system = "cl-renderdoc"; - asd = "cl-renderdoc"; - }); - systems = [ "cl-renderdoc" ]; - lispLibs = [ (getAttr "cl-autowrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-replica = (build-asdf-system { - pname = "cl-replica"; - version = "20230618-git"; - asds = [ "cl-replica" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-replica/2023-06-18/cl-replica-20230618-git.tgz"; - sha256 = "06nywqz7il4dk79s3ga8115s5cr9bpz1fh8b7jms5wxlc1h5p0mn"; - system = "cl-replica"; - asd = "cl-replica"; - }); - systems = [ "cl-replica" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-resvg = (build-asdf-system { - pname = "cl-resvg"; - version = "20241012-git"; - asds = [ "cl-resvg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-resvg/2024-10-12/cl-resvg-20241012-git.tgz"; - sha256 = "0263na51qs0wrc9r2dqigj4a1h70pjf0mqsgbnd6hfshvx0kq1cl"; - system = "cl-resvg"; - asd = "cl-resvg"; - }); - systems = [ "cl-resvg" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "float-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rethinkdb = (build-asdf-system { - pname = "cl-rethinkdb"; - version = "20160825-git"; - asds = [ "cl-rethinkdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rethinkdb/2016-08-25/cl-rethinkdb-20160825-git.tgz"; - sha256 = "0sps1p203gn7i123w96pj5ggpncmkngkfdb6zfnm5yjq544sjjf7"; - system = "cl-rethinkdb"; - asd = "cl-rethinkdb"; - }); - systems = [ "cl-rethinkdb" ]; - lispLibs = [ (getAttr "blackbird" self) (getAttr "cl-async" self) (getAttr "cl-base64" self) (getAttr "cl-hash-util" self) (getAttr "cl-ppcre" self) (getAttr "event-glue" self) (getAttr "fast-io" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rethinkdb-test = (build-asdf-system { - pname = "cl-rethinkdb-test"; - version = "20160825-git"; - asds = [ "cl-rethinkdb-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rethinkdb/2016-08-25/cl-rethinkdb-20160825-git.tgz"; - sha256 = "0sps1p203gn7i123w96pj5ggpncmkngkfdb6zfnm5yjq544sjjf7"; - system = "cl-rethinkdb-test"; - asd = "cl-rethinkdb-test"; - }); - systems = [ "cl-rethinkdb-test" ]; - lispLibs = [ (getAttr "blackbird" self) (getAttr "cl-async" self) (getAttr "cl-ppcre" self) (getAttr "cl-rethinkdb" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rfc2047 = (build-asdf-system { - pname = "cl-rfc2047"; - version = "20150804-git"; - asds = [ "cl-rfc2047" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rfc2047/2015-08-04/cl-rfc2047-20150804-git.tgz"; - sha256 = "1kh48p5i7lmv1hcdsddlcjavhai9gi54jndnbpm9r55a6ladi8gv"; - system = "cl-rfc2047"; - asd = "cl-rfc2047"; - }); - systems = [ "cl-rfc2047" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-base64" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rfc2047-test = (build-asdf-system { - pname = "cl-rfc2047-test"; - version = "20150804-git"; - asds = [ "cl-rfc2047-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rfc2047/2015-08-04/cl-rfc2047-20150804-git.tgz"; - sha256 = "1kh48p5i7lmv1hcdsddlcjavhai9gi54jndnbpm9r55a6ladi8gv"; - system = "cl-rfc2047-test"; - asd = "cl-rfc2047-test"; - }); - systems = [ "cl-rfc2047-test" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-rfc2047" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rfc4251 = (build-asdf-system { - pname = "cl-rfc4251"; - version = "20231021-git"; - asds = [ "cl-rfc4251" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rfc4251/2023-10-21/cl-rfc4251-20231021-git.tgz"; - sha256 = "11xz6w1gvyj5a01yjfy52byfrq6v8k1mzkp3wajhzhg60nkhn4jh"; - system = "cl-rfc4251"; - asd = "cl-rfc4251"; - }); - systems = [ "cl-rfc4251" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rfc4251_dot_test = (build-asdf-system { - pname = "cl-rfc4251.test"; - version = "20231021-git"; - asds = [ "cl-rfc4251.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rfc4251/2023-10-21/cl-rfc4251-20231021-git.tgz"; - sha256 = "11xz6w1gvyj5a01yjfy52byfrq6v8k1mzkp3wajhzhg60nkhn4jh"; - system = "cl-rfc4251.test"; - asd = "cl-rfc4251.test"; - }); - systems = [ "cl-rfc4251.test" ]; - lispLibs = [ (getAttr "cl-rfc4251" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-riff = (build-asdf-system { - pname = "cl-riff"; - version = "20220707-git"; - asds = [ "cl-riff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-riff/2022-07-07/cl-riff-20220707-git.tgz"; - sha256 = "0b2j6yw3xkv6611snn7cy56vmnjfgi58wyvfr9lx82xkakd9rw3z"; - system = "cl-riff"; - asd = "cl-riff"; - }); - systems = [ "cl-riff" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rlimit = (build-asdf-system { - pname = "cl-rlimit"; - version = "20150608-git"; - asds = [ "cl-rlimit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rlimit/2015-06-08/cl-rlimit-20150608-git.tgz"; - sha256 = "19p02r380qhs76qlcb3jp4lm4nsnpy7zch01fdiwn7l7xgxkzxh0"; - system = "cl-rlimit"; - asd = "cl-rlimit"; - }); - systems = [ "cl-rlimit" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rmath = (build-asdf-system { - pname = "cl-rmath"; - version = "20180328-git"; - asds = [ "cl-rmath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rmath/2018-03-28/cl-rmath-20180328-git.tgz"; - sha256 = "1ld8vbpy10paymx2hn0mcgd21i7cjhdrayln1jx0kayqxm12mmk4"; - system = "cl-rmath"; - asd = "cl-rmath"; - }); - systems = [ "cl-rmath" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-robdd = (build-asdf-system { - pname = "cl-robdd"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "cl-robdd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "cl-robdd"; - asd = "cl-robdd"; - }); - systems = [ "cl-robdd" ]; - lispLibs = [ (getAttr "adjuvant" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-robdd-analysis = (build-asdf-system { - pname = "cl-robdd-analysis"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "cl-robdd-analysis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "cl-robdd-analysis"; - asd = "cl-robdd-analysis"; - }); - systems = [ "cl-robdd-analysis" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "cl-fad" self) (getAttr "cl-robdd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-robdd-analysis-test = (build-asdf-system { - pname = "cl-robdd-analysis-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "cl-robdd-analysis-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "cl-robdd-analysis-test"; - asd = "cl-robdd-analysis-test"; - }); - systems = [ "cl-robdd-analysis-test" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "cl-robdd-analysis" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-robdd-test = (build-asdf-system { - pname = "cl-robdd-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "cl-robdd-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "cl-robdd-test"; - asd = "cl-robdd-test"; - }); - systems = [ "cl-robdd-test" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "cl-fad" self) (getAttr "cl-robdd" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rrd = (build-asdf-system { - pname = "cl-rrd"; - version = "20130128-git"; - asds = [ "cl-rrd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rrd/2013-01-28/cl-rrd-20130128-git.tgz"; - sha256 = "0a7fs46q41qzi6k8q9lvxryn2m90vamcsw7vl9kcjivyckjqrsm2"; - system = "cl-rrd"; - asd = "cl-rrd"; - }); - systems = [ "cl-rrd" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rrt = (build-asdf-system { - pname = "cl-rrt"; - version = "20200925-git"; - asds = [ "cl-rrt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; - sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; - system = "cl-rrt"; - asd = "cl-rrt"; - }); - systems = [ "cl-rrt" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-syntax-annot" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rrt_dot_benchmark = (build-asdf-system { - pname = "cl-rrt.benchmark"; - version = "20200925-git"; - asds = [ "cl-rrt.benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; - sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; - system = "cl-rrt.benchmark"; - asd = "cl-rrt.benchmark"; - }); - systems = [ "cl-rrt.benchmark" ]; - lispLibs = [ (getAttr "cl-rrt" self) (getAttr "cl-rrt_dot_rtree" self) (getAttr "cl-rrt_dot_test" self) (getAttr "fiveam" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rrt_dot_rtree = (build-asdf-system { - pname = "cl-rrt.rtree"; - version = "20200925-git"; - asds = [ "cl-rrt.rtree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; - sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; - system = "cl-rrt.rtree"; - asd = "cl-rrt.rtree"; - }); - systems = [ "cl-rrt.rtree" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-rrt" self) (getAttr "cl-syntax-annot" self) (getAttr "iterate" self) (getAttr "spatial-trees" self) (getAttr "spatial-trees_dot_nns" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rrt_dot_test = (build-asdf-system { - pname = "cl-rrt.test"; - version = "20200925-git"; - asds = [ "cl-rrt.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; - sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; - system = "cl-rrt.test"; - asd = "cl-rrt.test"; - }); - systems = [ "cl-rrt.test" ]; - lispLibs = [ (getAttr "cl-rrt" self) (getAttr "cl-rrt_dot_rtree" self) (getAttr "fiveam" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rsvg2 = (build-asdf-system { - pname = "cl-rsvg2"; - version = "20200925-git"; - asds = [ "cl-rsvg2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz"; - sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n"; - system = "cl-rsvg2"; - asd = "cl-rsvg2"; - }); - systems = [ "cl-rsvg2" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-cairo2" self) (getAttr "cl-gtk2-glib" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - cl-rsvg2-pixbuf = (build-asdf-system { - pname = "cl-rsvg2-pixbuf"; - version = "20200925-git"; - asds = [ "cl-rsvg2-pixbuf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz"; - sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n"; - system = "cl-rsvg2-pixbuf"; - asd = "cl-rsvg2-pixbuf"; - }); - systems = [ "cl-rsvg2-pixbuf" ]; - lispLibs = [ (getAttr "cl-gtk2-gdk" self) (getAttr "cl-rsvg2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rsvg2-test = (build-asdf-system { - pname = "cl-rsvg2-test"; - version = "20200925-git"; - asds = [ "cl-rsvg2-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz"; - sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n"; - system = "cl-rsvg2-test"; - asd = "cl-rsvg2-test"; - }); - systems = [ "cl-rsvg2-test" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-rsvg2" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rules = (build-asdf-system { - pname = "cl-rules"; - version = "20190710-git"; - asds = [ "cl-rules" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rules/2019-07-10/cl-rules-20190710-git.tgz"; - sha256 = "0jidck62n0jkfqwrpqjn43zmjb3jlfaxxhn2lsyfwy2740i8ppr1"; - system = "cl-rules"; - asd = "cl-rules"; - }); - systems = [ "cl-rules" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-yaml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-rules-test = (build-asdf-system { - pname = "cl-rules-test"; - version = "20190710-git"; - asds = [ "cl-rules-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rules/2019-07-10/cl-rules-20190710-git.tgz"; - sha256 = "0jidck62n0jkfqwrpqjn43zmjb3jlfaxxhn2lsyfwy2740i8ppr1"; - system = "cl-rules-test"; - asd = "cl-rules-test"; - }); - systems = [ "cl-rules-test" ]; - lispLibs = [ (getAttr "cl-rules" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-s3 = (build-asdf-system { - pname = "cl-s3"; - version = "20130128-git"; - asds = [ "cl-s3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-s3/2013-01-28/cl-s3-20130128-git.tgz"; - sha256 = "1lbvf7phkm5vjk013p484rh4vh33i58jlqq3z4cv2yxqcw6r639d"; - system = "cl-s3"; - asd = "cl-s3"; - }); - systems = [ "cl-s3" ]; - lispLibs = [ (getAttr "ironclad" self) (getAttr "s-base64" self) (getAttr "s-http-client" self) (getAttr "s-utils" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sam = (build-asdf-system { - pname = "cl-sam"; - version = "20150608-git"; - asds = [ "cl-sam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sam/2015-06-08/cl-sam-20150608-git.tgz"; - sha256 = "0frrxz70jin4sa5n087zm4ikckf1zdjqqpjq3llrv46753c62fc6"; - system = "cl-sam"; - asd = "cl-sam"; - }); - systems = [ "cl-sam" ]; - lispLibs = [ (getAttr "deoxybyte-gzip" self) (getAttr "deoxybyte-systems" self) (getAttr "deoxybyte-unix" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sam-test = (build-asdf-system { - pname = "cl-sam-test"; - version = "20150608-git"; - asds = [ "cl-sam-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sam/2015-06-08/cl-sam-20150608-git.tgz"; - sha256 = "0frrxz70jin4sa5n087zm4ikckf1zdjqqpjq3llrv46753c62fc6"; - system = "cl-sam-test"; - asd = "cl-sam-test"; - }); - systems = [ "cl-sam-test" ]; - lispLibs = [ (getAttr "cl-sam" self) (getAttr "deoxybyte-io" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sandbox = (build-asdf-system { - pname = "cl-sandbox"; - version = "20180131-git"; - asds = [ "cl-sandbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sandbox/2018-01-31/cl-sandbox-20180131-git.tgz"; - sha256 = "053zxy3zi5jvlbg8zxlf922sxb32mq34zvwfhgpj4rcmgvgmqnxv"; - system = "cl-sandbox"; - asd = "cl-sandbox"; - }); - systems = [ "cl-sandbox" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sasl = (build-asdf-system { - pname = "cl-sasl"; - version = "v0.3.2"; - asds = [ "cl-sasl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sasl/2019-05-21/cl-sasl-v0.3.2.tgz"; - sha256 = "0a05q8rls2hn46rbbk6w5km9kqvhsj365zlw6hp32724xy2nd98w"; - system = "cl-sasl"; - asd = "cl-sasl"; - }); - systems = [ "cl-sasl" ]; - lispLibs = [ (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sat = (build-asdf-system { - pname = "cl-sat"; - version = "20220707-git"; - asds = [ "cl-sat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sat/2022-07-07/cl-sat-20220707-git.tgz"; - sha256 = "1fcvxpmja757vyyhcpb00g150dyx90jsg9z8s596vy1nb0z81f49"; - system = "cl-sat"; - asd = "cl-sat"; - }); - systems = [ "cl-sat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "trivia" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - cl-sat_dot_glucose = (build-asdf-system { - pname = "cl-sat.glucose"; - version = "20220331-git"; - asds = [ "cl-sat.glucose" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sat.glucose/2022-03-31/cl-sat.glucose-20220331-git.tgz"; - sha256 = "11hbhsjzw3xzz6i6niisk5h271kg52y3y77sl6ljnszfgp9xjfxy"; - system = "cl-sat.glucose"; - asd = "cl-sat.glucose"; - }); - systems = [ "cl-sat.glucose" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-sat" self) (getAttr "iterate" self) (getAttr "trivia" self) (getAttr "trivial-package-manager" self) ]; - meta = {}; - }); - cl-sat_dot_glucose_dot_test = (build-asdf-system { - pname = "cl-sat.glucose.test"; - version = "20220331-git"; - asds = [ "cl-sat.glucose.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sat.glucose/2022-03-31/cl-sat.glucose-20220331-git.tgz"; - sha256 = "11hbhsjzw3xzz6i6niisk5h271kg52y3y77sl6ljnszfgp9xjfxy"; - system = "cl-sat.glucose.test"; - asd = "cl-sat.glucose.test"; - }); - systems = [ "cl-sat.glucose.test" ]; - lispLibs = [ (getAttr "cl-sat_dot_glucose" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sat_dot_minisat = (build-asdf-system { - pname = "cl-sat.minisat"; - version = "20241012-git"; - asds = [ "cl-sat.minisat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sat.minisat/2024-10-12/cl-sat.minisat-20241012-git.tgz"; - sha256 = "00h5smjs60r1abq27w2ayg55ypsw32769pkk72mrikyn29r6z9ni"; - system = "cl-sat.minisat"; - asd = "cl-sat.minisat"; - }); - systems = [ "cl-sat.minisat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-sat" self) (getAttr "iterate" self) (getAttr "trivia" self) (getAttr "trivial-package-manager" self) ]; - meta = {}; - }); - cl-sat_dot_minisat_dot_test = (build-asdf-system { - pname = "cl-sat.minisat.test"; - version = "20241012-git"; - asds = [ "cl-sat.minisat.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sat.minisat/2024-10-12/cl-sat.minisat-20241012-git.tgz"; - sha256 = "00h5smjs60r1abq27w2ayg55ypsw32769pkk72mrikyn29r6z9ni"; - system = "cl-sat.minisat.test"; - asd = "cl-sat.minisat.test"; - }); - systems = [ "cl-sat.minisat.test" ]; - lispLibs = [ (getAttr "cl-sat_dot_minisat" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sat_dot_test = (build-asdf-system { - pname = "cl-sat.test"; - version = "20220707-git"; - asds = [ "cl-sat.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sat/2022-07-07/cl-sat-20220707-git.tgz"; - sha256 = "1fcvxpmja757vyyhcpb00g150dyx90jsg9z8s596vy1nb0z81f49"; - system = "cl-sat.test"; - asd = "cl-sat.test"; - }); - systems = [ "cl-sat.test" ]; - lispLibs = [ (getAttr "cl-sat" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scram = (build-asdf-system { - pname = "cl-scram"; - version = "20150923-git"; - asds = [ "cl-scram" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scram/2015-09-23/cl-scram-20150923-git.tgz"; - sha256 = "1absr9h9z79f1fbs4g33y2rc9jsqjs7vd2l5sl8dvqq4fyx8v6g0"; - system = "cl-scram"; - asd = "cl-scram"; - }); - systems = [ "cl-scram" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-sasl" self) (getAttr "ironclad" self) (getAttr "secure-random" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scribd = (build-asdf-system { - pname = "cl-scribd"; - version = "20130312-git"; - asds = [ "cl-scribd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scribd/2013-03-12/cl-scribd-20130312-git.tgz"; - sha256 = "0r4ah3f1ndi66bm1mir3ldl31sfbmav0kdfpb16f1n9931452mry"; - system = "cl-scribd"; - asd = "cl-scribd"; - }); - systems = [ "cl-scribd" ]; - lispLibs = [ (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scripting = (build-asdf-system { - pname = "cl-scripting"; - version = "20211020-git"; - asds = [ "cl-scripting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scripting/2021-10-20/cl-scripting-20211020-git.tgz"; - sha256 = "1xi8klkn4fhmcrnhxzxvl0rj68dc7az6l2hc10560g9jvblcmmpp"; - system = "cl-scripting"; - asd = "cl-scripting"; - }); - systems = [ "cl-scripting" ]; - lispLibs = [ (getAttr "cl-launch" self) (getAttr "fare-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scrobbler = (build-asdf-system { - pname = "cl-scrobbler"; - version = "20111105-git"; - asds = [ "cl-scrobbler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scrobbler/2011-11-05/cl-scrobbler-20111105-git.tgz"; - sha256 = "0cd0zfmhxf5chcg7hncavfjr8m06cjbiyqylk76z8mprdsv1n062"; - system = "cl-scrobbler"; - asd = "cl-scrobbler"; - }); - systems = [ "cl-scrobbler" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "cl-store" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "md5" self) (getAttr "st-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scrobbler-tests = (build-asdf-system { - pname = "cl-scrobbler-tests"; - version = "20111105-git"; - asds = [ "cl-scrobbler-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scrobbler/2011-11-05/cl-scrobbler-20111105-git.tgz"; - sha256 = "0cd0zfmhxf5chcg7hncavfjr8m06cjbiyqylk76z8mprdsv1n062"; - system = "cl-scrobbler-tests"; - asd = "cl-scrobbler"; - }); - systems = [ "cl-scrobbler-tests" ]; - lispLibs = [ (getAttr "cl-scrobbler" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scsu = (build-asdf-system { - pname = "cl-scsu"; - version = "20221106-git"; - asds = [ "cl-scsu" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scsu/2022-11-06/cl-scsu-20221106-git.tgz"; - sha256 = "0jiqyayflyyrdks4yl894vzw2bkxkd87w4sy4n6ikjz450xk3yxf"; - system = "cl-scsu"; - asd = "cl-scsu"; - }); - systems = [ "cl-scsu" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-scsu-test = (build-asdf-system { - pname = "cl-scsu-test"; - version = "20221106-git"; - asds = [ "cl-scsu-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-scsu/2022-11-06/cl-scsu-20221106-git.tgz"; - sha256 = "0jiqyayflyyrdks4yl894vzw2bkxkd87w4sy4n6ikjz450xk3yxf"; - system = "cl-scsu-test"; - asd = "cl-scsu-test"; - }); - systems = [ "cl-scsu-test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "alexandria" self) (getAttr "cl-scsu" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-selenium = (build-asdf-system { - pname = "cl-selenium"; - version = "20180328-git"; - asds = [ "cl-selenium" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-selenium-webdriver/2018-03-28/cl-selenium-webdriver-20180328-git.tgz"; - sha256 = "0216vqg1ax5gcqahclii7ifqpc92rbi86rfcf1qn8bdahmfjccbb"; - system = "cl-selenium"; - asd = "cl-selenium"; - }); - systems = [ "cl-selenium" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-json" self) (getAttr "dexador" self) (getAttr "quri" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-selenium-test = (build-asdf-system { - pname = "cl-selenium-test"; - version = "20180328-git"; - asds = [ "cl-selenium-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-selenium-webdriver/2018-03-28/cl-selenium-webdriver-20180328-git.tgz"; - sha256 = "0216vqg1ax5gcqahclii7ifqpc92rbi86rfcf1qn8bdahmfjccbb"; - system = "cl-selenium-test"; - asd = "cl-selenium-test"; - }); - systems = [ "cl-selenium-test" ]; - lispLibs = [ (getAttr "cl-selenium" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-semver = (build-asdf-system { - pname = "cl-semver"; - version = "20230618-git"; - asds = [ "cl-semver" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-semver/2023-06-18/cl-semver-20230618-git.tgz"; - sha256 = "1zlcn7lrpvjiixgqm4yxnqqwak1hxfmxmchkpvrly41yhl586ril"; - system = "cl-semver"; - asd = "cl-semver"; - }); - systems = [ "cl-semver" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-semver-test = (build-asdf-system { - pname = "cl-semver-test"; - version = "20230618-git"; - asds = [ "cl-semver-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-semver/2023-06-18/cl-semver-20230618-git.tgz"; - sha256 = "1zlcn7lrpvjiixgqm4yxnqqwak1hxfmxmchkpvrly41yhl586ril"; - system = "cl-semver-test"; - asd = "cl-semver-test"; - }); - systems = [ "cl-semver-test" ]; - lispLibs = [ (getAttr "cl-semver" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sentiment = (build-asdf-system { - pname = "cl-sentiment"; - version = "20130128-git"; - asds = [ "cl-sentiment" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sentiment/2013-01-28/cl-sentiment-20130128-git.tgz"; - sha256 = "18jx6ivbzcg9bsmp1pmlqvzr4kfxzll75b4viz1hrkq78nsnpp5v"; - system = "cl-sentiment"; - asd = "cl-sentiment"; - }); - systems = [ "cl-sentiment" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-server-manager = (build-asdf-system { - pname = "cl-server-manager"; - version = "20231021-git"; - asds = [ "cl-server-manager" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-server-manager/2023-10-21/cl-server-manager-20231021-git.tgz"; - sha256 = "0vrdn9iiwmx2zg7lrw56dqjaxbb9fvn4107qxgp3n3z8zxhiw03s"; - system = "cl-server-manager"; - asd = "cl-server-manager"; - }); - systems = [ "cl-server-manager" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "hunchentoot" self) (getAttr "prepl" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ses4 = (build-asdf-system { - pname = "cl-ses4"; - version = "20221106-git"; - asds = [ "cl-ses4" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ses4/2022-11-06/cl-ses4-20221106-git.tgz"; - sha256 = "1n31k81i19hx26h9wcz39fsciq92hbblnbd15krblx9g877a1598"; - system = "cl-ses4"; - asd = "cl-ses4"; - }); - systems = [ "cl-ses4" ]; - lispLibs = [ (getAttr "arrow-macros" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "local-time" self) (getAttr "quickapp" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-setlocale = (build-asdf-system { - pname = "cl-setlocale"; - version = "20201220-git"; - asds = [ "cl-setlocale" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-setlocale/2020-12-20/cl-setlocale-20201220-git.tgz"; - sha256 = "0g1b89yj6n42ayf2074krk3h9yvglqxn54a6i3sxgpsqww2ll2a1"; - system = "cl-setlocale"; - asd = "cl-setlocale"; - }); - systems = [ "cl-setlocale" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sha1 = (build-asdf-system { - pname = "cl-sha1"; - version = "20210807-git"; - asds = [ "cl-sha1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sha1/2021-08-07/cl-sha1-20210807-git.tgz"; - sha256 = "16hczcr7ghah0p9fi29ddrw5c4zbb2d4765iigfx7yrgk5z5jb8p"; - system = "cl-sha1"; - asd = "cl-sha1"; - }); - systems = [ "cl-sha1" ]; - lispLibs = [ (getAttr "cl-base64" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-shellwords = (build-asdf-system { - pname = "cl-shellwords"; - version = "20150923-git"; - asds = [ "cl-shellwords" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-shellwords/2015-09-23/cl-shellwords-20150923-git.tgz"; - sha256 = "0im8cni1ig5zaha9gbmma7zk1xxa4xajvzfgalvl2f0fhvksl4pn"; - system = "cl-shellwords"; - asd = "cl-shellwords"; - }); - systems = [ "cl-shellwords" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = {}; - }); - cl-shellwords-test = (build-asdf-system { - pname = "cl-shellwords-test"; - version = "20150923-git"; - asds = [ "cl-shellwords-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-shellwords/2015-09-23/cl-shellwords-20150923-git.tgz"; - sha256 = "0im8cni1ig5zaha9gbmma7zk1xxa4xajvzfgalvl2f0fhvksl4pn"; - system = "cl-shellwords-test"; - asd = "cl-shellwords-test"; - }); - systems = [ "cl-shellwords-test" ]; - lispLibs = [ (getAttr "cl-shellwords" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-simple-concurrent-jobs = (build-asdf-system { - pname = "cl-simple-concurrent-jobs"; - version = "20150505-git"; - asds = [ "cl-simple-concurrent-jobs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-simple-concurrent-jobs/2015-05-05/cl-simple-concurrent-jobs-20150505-git.tgz"; - sha256 = "0mv7svsil58h8v8kq9965bpbradmhfpyrmi61dbzp5mbw8c5mrwj"; - system = "cl-simple-concurrent-jobs"; - asd = "cl-simple-concurrent-jobs"; - }); - systems = [ "cl-simple-concurrent-jobs" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "chanl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-simple-table = (build-asdf-system { - pname = "cl-simple-table"; - version = "20130312-git"; - asds = [ "cl-simple-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-simple-table/2013-03-12/cl-simple-table-20130312-git.tgz"; - sha256 = "1pnczi5hbqlyxxvzlpy6vc58qc9hh9mdm5rgq304bp3v2qajh0b7"; - system = "cl-simple-table"; - asd = "cl-simple-table"; - }); - systems = [ "cl-simple-table" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-singleton-mixin = (build-asdf-system { - pname = "cl-singleton-mixin"; - version = "20150505-git"; - asds = [ "cl-singleton-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-singleton-mixin/2015-05-05/cl-singleton-mixin-20150505-git.tgz"; - sha256 = "10dvwzx1kw9ac163i6sc8yfg3hpkn0dlq4hf6qipb46b4mcib01s"; - system = "cl-singleton-mixin"; - asd = "cl-singleton-mixin"; - }); - systems = [ "cl-singleton-mixin" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "metap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-singleton-mixin-test = (build-asdf-system { - pname = "cl-singleton-mixin-test"; - version = "20150505-git"; - asds = [ "cl-singleton-mixin-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-singleton-mixin/2015-05-05/cl-singleton-mixin-20150505-git.tgz"; - sha256 = "10dvwzx1kw9ac163i6sc8yfg3hpkn0dlq4hf6qipb46b4mcib01s"; - system = "cl-singleton-mixin-test"; - asd = "cl-singleton-mixin-test"; - }); - systems = [ "cl-singleton-mixin-test" ]; - lispLibs = [ (getAttr "cl-singleton-mixin" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-skip-list = (build-asdf-system { - pname = "cl-skip-list"; - version = "20220707-git"; - asds = [ "cl-skip-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-skip-list/2022-07-07/cl-skip-list-20220707-git.tgz"; - sha256 = "1k3hbi9n1yzky3hjcg48jkkkp2jx5vm7bsywhnyyb1z6hz5phakd"; - system = "cl-skip-list"; - asd = "cl-skip-list"; - }); - systems = [ "cl-skip-list" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-skkserv = (build-asdf-system { - pname = "cl-skkserv"; - version = "20241012-git"; - asds = [ "cl-skkserv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-skkserv/2024-10-12/cl-skkserv-20241012-git.tgz"; - sha256 = "1fnar6iw6hr5w37sc96zk9kdcgam8bm71l26l7c6f5daxk57labi"; - system = "cl-skkserv"; - asd = "cl-skkserv"; - }); - systems = [ "cl-skkserv" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "esrap" self) (getAttr "flexi-streams" self) (getAttr "jp-numeral" self) (getAttr "named-readtables" self) (getAttr "papyrus" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-slice = (build-asdf-system { - pname = "cl-slice"; - version = "20210531-git"; - asds = [ "cl-slice" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slice/2021-05-31/cl-slice-20210531-git.tgz"; - sha256 = "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"; - system = "cl-slice"; - asd = "cl-slice"; - }); - systems = [ "cl-slice" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "let-plus" self) ]; - meta = {}; - }); - cl-slice-tests = (build-asdf-system { - pname = "cl-slice-tests"; - version = "20210531-git"; - asds = [ "cl-slice-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slice/2021-05-31/cl-slice-20210531-git.tgz"; - sha256 = "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"; - system = "cl-slice-tests"; - asd = "cl-slice"; - }); - systems = [ "cl-slice-tests" ]; - lispLibs = [ (getAttr "cl-slice" self) (getAttr "clunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-slp = (build-asdf-system { - pname = "cl-slp"; - version = "20140826-git"; - asds = [ "cl-slp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slp/2014-08-26/cl-slp-20140826-git.tgz"; - sha256 = "10wfrw6r6w646lzx0nasnfvjpy63icxl8qm4888dpcjc57y1cd1w"; - system = "cl-slp"; - asd = "cl-slp"; - }); - systems = [ "cl-slp" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-slug = (build-asdf-system { - pname = "cl-slug"; - version = "20180228-git"; - asds = [ "cl-slug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slug/2018-02-28/cl-slug-20180228-git.tgz"; - sha256 = "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"; - system = "cl-slug"; - asd = "cl-slug"; - }); - systems = [ "cl-slug" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-slug-test = (build-asdf-system { - pname = "cl-slug-test"; - version = "20180228-git"; - asds = [ "cl-slug-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slug/2018-02-28/cl-slug-20180228-git.tgz"; - sha256 = "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"; - system = "cl-slug-test"; - asd = "cl-slug-test"; - }); - systems = [ "cl-slug-test" ]; - lispLibs = [ (getAttr "cl-slug" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-slugify = (build-asdf-system { - pname = "cl-slugify"; - version = "20230618-git"; - asds = [ "cl-slugify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slugify/2023-06-18/cl-slugify-20230618-git.tgz"; - sha256 = "18vjz9xb8q73j2bd609if2r6svljsnivl3sniz2p7j7w0qppps72"; - system = "cl-slugify"; - asd = "cl-slugify"; - }); - systems = [ "cl-slugify" ]; - lispLibs = [ (getAttr "cl-unac" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-slugify_dot_tests = (build-asdf-system { - pname = "cl-slugify.tests"; - version = "20230618-git"; - asds = [ "cl-slugify.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-slugify/2023-06-18/cl-slugify-20230618-git.tgz"; - sha256 = "18vjz9xb8q73j2bd609if2r6svljsnivl3sniz2p7j7w0qppps72"; - system = "cl-slugify.tests"; - asd = "cl-slugify.tests"; - }); - systems = [ "cl-slugify.tests" ]; - lispLibs = [ (getAttr "cl-slugify" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-smt-lib = (build-asdf-system { - pname = "cl-smt-lib"; - version = "20220331-git"; - asds = [ "cl-smt-lib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-smt-lib/2022-03-31/cl-smt-lib-20220331-git.tgz"; - sha256 = "09xqpmzd8rmp4dkj6mzwlwnhqk266abqvskz9dm6mr3cnf2r774z"; - system = "cl-smt-lib"; - asd = "cl-smt-lib"; - }); - systems = [ "cl-smt-lib" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "named-readtables" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - cl-smtp = (build-asdf-system { - pname = "cl-smtp"; - version = "20241012-git"; - asds = [ "cl-smtp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-smtp/2024-10-12/cl-smtp-20241012-git.tgz"; - sha256 = "1r4gsklf4p163hn4ylabx7lp5zkz27v6gq3rkyrvwb7qz6sv8ws4"; - system = "cl-smtp"; - asd = "cl-smtp"; - }); - systems = [ "cl-smtp" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "flexi-streams" self) (getAttr "frugal-uuid" self) (getAttr "usocket" self) ]; - meta = {}; - }); - cl-smtp-tests = (build-asdf-system { - pname = "cl-smtp-tests"; - version = "20241012-git"; - asds = [ "cl-smtp-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-smtp/2024-10-12/cl-smtp-20241012-git.tgz"; - sha256 = "1r4gsklf4p163hn4ylabx7lp5zkz27v6gq3rkyrvwb7qz6sv8ws4"; - system = "cl-smtp-tests"; - asd = "cl-smtp-tests"; - }); - systems = [ "cl-smtp-tests" ]; - lispLibs = [ (getAttr "cl-smtp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-soil = (build-asdf-system { - pname = "cl-soil"; - version = "release-quicklisp-f27087ce-git"; - asds = [ "cl-soil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-soil/2018-08-31/cl-soil-release-quicklisp-f27087ce-git.tgz"; - sha256 = "0mnz5yaw3kc14ja9g4j7dxh96kd82ifj25gy0dil7kqjd08lwcq9"; - system = "cl-soil"; - asd = "cl-soil"; - }); - systems = [ "cl-soil" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opengl" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-soloud = (build-asdf-system { - pname = "cl-soloud"; - version = "20231021-git"; - asds = [ "cl-soloud" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-soloud/2023-10-21/cl-soloud-20231021-git.tgz"; - sha256 = "0r0z365gcgf93vy8g2nbjwgh5r04gv0l645l2knvip420jxqqp1c"; - system = "cl-soloud"; - asd = "cl-soloud"; - }); - systems = [ "cl-soloud" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-mpg123" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sophia = (build-asdf-system { - pname = "cl-sophia"; - version = "20150608-git"; - asds = [ "cl-sophia" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sophia/2015-06-08/cl-sophia-20150608-git.tgz"; - sha256 = "1x027mr7lg5fs0d82n5mshnd19kan76y3zb9yxbcnq222l4j8j00"; - system = "cl-sophia"; - asd = "cl-sophia"; - }); - systems = [ "cl-sophia" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-fad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sophia-test = (build-asdf-system { - pname = "cl-sophia-test"; - version = "20150608-git"; - asds = [ "cl-sophia-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sophia/2015-06-08/cl-sophia-20150608-git.tgz"; - sha256 = "1x027mr7lg5fs0d82n5mshnd19kan76y3zb9yxbcnq222l4j8j00"; - system = "cl-sophia-test"; - asd = "cl-sophia"; - }); - systems = [ "cl-sophia-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-sophia" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-spark = (build-asdf-system { - pname = "cl-spark"; - version = "20150709-git"; - asds = [ "cl-spark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-spark/2015-07-09/cl-spark-20150709-git.tgz"; - sha256 = "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"; - system = "cl-spark"; - asd = "cl-spark"; - }); - systems = [ "cl-spark" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-spark-test = (build-asdf-system { - pname = "cl-spark-test"; - version = "20150709-git"; - asds = [ "cl-spark-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-spark/2015-07-09/cl-spark-20150709-git.tgz"; - sha256 = "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"; - system = "cl-spark-test"; - asd = "cl-spark-test"; - }); - systems = [ "cl-spark-test" ]; - lispLibs = [ (getAttr "cl-spark" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sparql = (build-asdf-system { - pname = "cl-sparql"; - version = "20220331-git"; - asds = [ "cl-sparql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sparql/2022-03-31/cl-sparql-20220331-git.tgz"; - sha256 = "1fjp5a25yly3l3pg07gzhz8q830fcaz0dwspigw8v90sx4insz0p"; - system = "cl-sparql"; - asd = "cl-sparql"; - }); - systems = [ "cl-sparql" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "parser-combinators" self) (getAttr "puri" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sparql-tests = (build-asdf-system { - pname = "cl-sparql-tests"; - version = "20220331-git"; - asds = [ "cl-sparql-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sparql/2022-03-31/cl-sparql-20220331-git.tgz"; - sha256 = "1fjp5a25yly3l3pg07gzhz8q830fcaz0dwspigw8v90sx4insz0p"; - system = "cl-sparql-tests"; - asd = "cl-sparql-tests"; - }); - systems = [ "cl-sparql-tests" ]; - lispLibs = [ (getAttr "cl-sparql" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-speedy-queue = (build-asdf-system { - pname = "cl-speedy-queue"; - version = "20150302-git"; - asds = [ "cl-speedy-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-speedy-queue/2015-03-02/cl-speedy-queue-20150302-git.tgz"; - sha256 = "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"; - system = "cl-speedy-queue"; - asd = "cl-speedy-queue"; - }); - systems = [ "cl-speedy-queue" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-spidev = (build-asdf-system { - pname = "cl-spidev"; - version = "20231021-git"; - asds = [ "cl-spidev" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-spidev/2023-10-21/cl-spidev-20231021-git.tgz"; - sha256 = "1dhh6hb2myw8p04psdhdjmikl02r66szpg70yapgyqpycb9yg0l3"; - system = "cl-spidev"; - asd = "cl-spidev"; - }); - systems = [ "cl-spidev" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ssdb = (build-asdf-system { - pname = "cl-ssdb"; - version = "20210124-git"; - asds = [ "cl-ssdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ssdb/2021-01-24/cl-ssdb-20210124-git.tgz"; - sha256 = "05l0wg4a1kxgggmg1nalq811by76lja0gpa2c4i999h74bf4n3dc"; - system = "cl-ssdb"; - asd = "cl-ssdb"; - }); - systems = [ "cl-ssdb" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "parse-number" self) (getAttr "rutils" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ssdb-test = (build-asdf-system { - pname = "cl-ssdb-test"; - version = "20210124-git"; - asds = [ "cl-ssdb-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ssdb/2021-01-24/cl-ssdb-20210124-git.tgz"; - sha256 = "05l0wg4a1kxgggmg1nalq811by76lja0gpa2c4i999h74bf4n3dc"; - system = "cl-ssdb-test"; - asd = "cl-ssdb-test"; - }); - systems = [ "cl-ssdb-test" ]; - lispLibs = [ (getAttr "cl-ssdb" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ssh-keys = (build-asdf-system { - pname = "cl-ssh-keys"; - version = "20241012-git"; - asds = [ "cl-ssh-keys" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ssh-keys/2024-10-12/cl-ssh-keys-20241012-git.tgz"; - sha256 = "037j89fjjrld46m9j71x6zfixdm7irwd58c08j0gq6w09qjlk5l2"; - system = "cl-ssh-keys"; - asd = "cl-ssh-keys"; - }); - systems = [ "cl-ssh-keys" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-base64" self) (getAttr "cl-rfc4251" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-ssh-keys_dot_test = (build-asdf-system { - pname = "cl-ssh-keys.test"; - version = "20241012-git"; - asds = [ "cl-ssh-keys.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ssh-keys/2024-10-12/cl-ssh-keys-20241012-git.tgz"; - sha256 = "037j89fjjrld46m9j71x6zfixdm7irwd58c08j0gq6w09qjlk5l2"; - system = "cl-ssh-keys.test"; - asd = "cl-ssh-keys.test"; - }); - systems = [ "cl-ssh-keys.test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ssh-keys" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-statsd = (build-asdf-system { - pname = "cl-statsd"; - version = "20170124-git"; - asds = [ "cl-statsd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-statsd/2017-01-24/cl-statsd-20170124-git.tgz"; - sha256 = "1l2sxbzhp7wwalxn8k0k1gis9c9w462fygfw4ps0s1bnhgbvr6qb"; - system = "cl-statsd"; - asd = "cl-statsd"; - }); - systems = [ "cl-statsd" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-interpol" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "safe-queue" self) (getAttr "trivial-utf-8" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-statsd_dot_test = (build-asdf-system { - pname = "cl-statsd.test"; - version = "20170124-git"; - asds = [ "cl-statsd.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-statsd/2017-01-24/cl-statsd-20170124-git.tgz"; - sha256 = "1l2sxbzhp7wwalxn8k0k1gis9c9w462fygfw4ps0s1bnhgbvr6qb"; - system = "cl-statsd.test"; - asd = "cl-statsd.test"; - }); - systems = [ "cl-statsd.test" ]; - lispLibs = [ (getAttr "cl-statsd" self) (getAttr "log4cl" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-steamworks = (build-asdf-system { - pname = "cl-steamworks"; - version = "20241012-git"; - asds = [ "cl-steamworks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-steamworks/2024-10-12/cl-steamworks-20241012-git.tgz"; - sha256 = "0401gfmzcc29pm15yyl0p36id0yza2i02wixma2zl8ah3cxb39w5"; - system = "cl-steamworks"; - asd = "cl-steamworks"; - }); - systems = [ "cl-steamworks" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "float-features" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-steamworks-generator = (build-asdf-system { - pname = "cl-steamworks-generator"; - version = "20241012-git"; - asds = [ "cl-steamworks-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-steamworks/2024-10-12/cl-steamworks-20241012-git.tgz"; - sha256 = "0401gfmzcc29pm15yyl0p36id0yza2i02wixma2zl8ah3cxb39w5"; - system = "cl-steamworks-generator"; - asd = "cl-steamworks-generator"; - }); - systems = [ "cl-steamworks-generator" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "parse-number" self) (getAttr "pathname-utils" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-stomp = (build-asdf-system { - pname = "cl-stomp"; - version = "20200925-git"; - asds = [ "cl-stomp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-stomp/2020-09-25/cl-stomp-20200925-git.tgz"; - sha256 = "180y0x53ghsvz6n0bz67aw69p962bsslarikk89rf41kcv998xvw"; - system = "cl-stomp"; - asd = "cl-stomp"; - }); - systems = [ "cl-stomp" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-stopwatch = (build-asdf-system { - pname = "cl-stopwatch"; - version = "20230618-git"; - asds = [ "cl-stopwatch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-stopwatch/2023-06-18/cl-stopwatch-20230618-git.tgz"; - sha256 = "14jmylqk1kijbhhn897r76ii4xg32k22p4v7h29jbcs9y2mn2day"; - system = "cl-stopwatch"; - asd = "cl-stopwatch"; - }); - systems = [ "cl-stopwatch" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-store = (build-asdf-system { - pname = "cl-store"; - version = "20230214-git"; - asds = [ "cl-store" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-store/2023-02-14/cl-store-20230214-git.tgz"; - sha256 = "1kw39lmbiaksrxsq8pf5np8vjarymcvlc451z83275194av3imix"; - system = "cl-store"; - asd = "cl-store"; - }); - systems = [ "cl-store" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-store-tests = (build-asdf-system { - pname = "cl-store-tests"; - version = "20230214-git"; - asds = [ "cl-store-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-store/2023-02-14/cl-store-20230214-git.tgz"; - sha256 = "1kw39lmbiaksrxsq8pf5np8vjarymcvlc451z83275194av3imix"; - system = "cl-store-tests"; - asd = "cl-store"; - }); - systems = [ "cl-store-tests" ]; - lispLibs = [ (getAttr "cl-store" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-stream = (build-asdf-system { - pname = "cl-stream"; - version = "20190521-git"; - asds = [ "cl-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-stream/2019-05-21/cl-stream-20190521-git.tgz"; - sha256 = "1r2spbcx3ifz51yq2pxkdb1n2k5fvyg3pz3w42mnw99pq78cbasv"; - system = "cl-stream"; - asd = "cl-stream"; - }); - systems = [ "cl-stream" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-strftime = (build-asdf-system { - pname = "cl-strftime"; - version = "20160318-git"; - asds = [ "cl-strftime" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-strftime/2016-03-18/cl-strftime-20160318-git.tgz"; - sha256 = "00c8hq7vzgb89ab3q7mrp60x743kiqmsk1g51ynhxlqhph2bnslf"; - system = "cl-strftime"; - asd = "cl-strftime"; - }); - systems = [ "cl-strftime" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-string-complete = (build-asdf-system { - pname = "cl-string-complete"; - version = "20230618-git"; - asds = [ "cl-string-complete" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-string-complete/2023-06-18/cl-string-complete-20230618-git.tgz"; - sha256 = "14l1yyz5fakz5xn31yjfn4mz7j9rcbijw1sp4mdfizfvjbbwcixl"; - system = "cl-string-complete"; - asd = "cl-string-complete"; - }); - systems = [ "cl-string-complete" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-string-generator = (build-asdf-system { - pname = "cl-string-generator"; - version = "20210630-git"; - asds = [ "cl-string-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-string-generator/2021-06-30/cl-string-generator-20210630-git.tgz"; - sha256 = "0zm6lyzd205lw30fdvnhrrlv9fylpfqksqxl32zvj9vzcn8qc1vi"; - system = "cl-string-generator"; - asd = "cl-string-generator"; - }); - systems = [ "cl-string-generator" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-string-match = (build-asdf-system { - pname = "cl-string-match"; - version = "20211209-git"; - asds = [ "cl-string-match" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; - sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; - system = "cl-string-match"; - asd = "cl-string-match"; - }); - systems = [ "cl-string-match" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "ascii-strings" self) (getAttr "iterate" self) (getAttr "jpl-queues" self) (getAttr "mgl-pax" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-string-match-test = (build-asdf-system { - pname = "cl-string-match-test"; - version = "20211209-git"; - asds = [ "cl-string-match-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; - sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; - system = "cl-string-match-test"; - asd = "cl-string-match-test"; - }); - systems = [ "cl-string-match-test" ]; - lispLibs = [ (getAttr "ascii-strings" self) (getAttr "cl-string-match" self) (getAttr "lisp-unit" self) (getAttr "simple-scanf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-strings = (build-asdf-system { - pname = "cl-strings"; - version = "20210411-git"; - asds = [ "cl-strings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-strings/2021-04-11/cl-strings-20210411-git.tgz"; - sha256 = "1j8hs54fn0wsf5zfzhhgiva47n9hsmfa74iinahz6nmcs8iy75aj"; - system = "cl-strings"; - asd = "cl-strings"; - }); - systems = [ "cl-strings" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-strings-tests = (build-asdf-system { - pname = "cl-strings-tests"; - version = "20210411-git"; - asds = [ "cl-strings-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-strings/2021-04-11/cl-strings-20210411-git.tgz"; - sha256 = "1j8hs54fn0wsf5zfzhhgiva47n9hsmfa74iinahz6nmcs8iy75aj"; - system = "cl-strings-tests"; - asd = "cl-strings"; - }); - systems = [ "cl-strings-tests" ]; - lispLibs = [ (getAttr "cl-strings" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-svg = (build-asdf-system { - pname = "cl-svg"; - version = "20241012-git"; - asds = [ "cl-svg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-svg/2024-10-12/cl-svg-20241012-git.tgz"; - sha256 = "05zrg6sxi01xn940c7lygfgxwjkq0zmlkihbhm7lhfaszg2xj8bh"; - system = "cl-svg"; - asd = "cl-svg"; - }); - systems = [ "cl-svg" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-svm = (build-asdf-system { - pname = "cl-svm"; - version = "20110418-git"; - asds = [ "cl-svm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-svm/2011-04-18/cl-svm-20110418-git.tgz"; - sha256 = "03d070k3bl5c0b2f6bzig5gkhlj074v74f7kg8hh3znrbmwji2wv"; - system = "cl-svm"; - asd = "cl-svm"; - }); - systems = [ "cl-svm" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-swagger = (build-asdf-system { - pname = "cl-swagger"; - version = "20180831-git"; - asds = [ "cl-swagger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-swagger-codegen/2018-08-31/cl-swagger-codegen-20180831-git.tgz"; - sha256 = "1lkp69n7wscyf2az3h2bmxmvzzppdfxcq5s0m607b1f7nfmxzjsq"; - system = "cl-swagger"; - asd = "cl-swagger"; - }); - systems = [ "cl-swagger" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "cl-mustache" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sxml = (build-asdf-system { - pname = "cl-sxml"; - version = "20200325-git"; - asds = [ "cl-sxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sxml/2020-03-25/cl-sxml-20200325-git.tgz"; - sha256 = "1105s9whidq1lf0lli2wdhcfcs5gwzxa0h1x3izx4mp2p7psvciz"; - system = "cl-sxml"; - asd = "cl-sxml"; - }); - systems = [ "cl-sxml" ]; - lispLibs = [ (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-sxml-test = (build-asdf-system { - pname = "cl-sxml-test"; - version = "20200325-git"; - asds = [ "cl-sxml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sxml/2020-03-25/cl-sxml-20200325-git.tgz"; - sha256 = "1105s9whidq1lf0lli2wdhcfcs5gwzxa0h1x3izx4mp2p7psvciz"; - system = "cl-sxml-test"; - asd = "cl-sxml"; - }); - systems = [ "cl-sxml-test" ]; - lispLibs = [ (getAttr "cl-sxml" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-syntax = (build-asdf-system { - pname = "cl-syntax"; - version = "20150407-git"; - asds = [ "cl-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax"; - asd = "cl-syntax"; - }); - systems = [ "cl-syntax" ]; - lispLibs = [ (getAttr "named-readtables" self) (getAttr "trivial-types" self) ]; - meta = {}; - }); - cl-syntax-annot = (build-asdf-system { - pname = "cl-syntax-annot"; - version = "20150407-git"; - asds = [ "cl-syntax-annot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax-annot"; - asd = "cl-syntax-annot"; - }); - systems = [ "cl-syntax-annot" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "cl-syntax" self) ]; - meta = {}; - }); - cl-syntax-anonfun = (build-asdf-system { - pname = "cl-syntax-anonfun"; - version = "20150407-git"; - asds = [ "cl-syntax-anonfun" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax-anonfun"; - asd = "cl-syntax-anonfun"; - }); - systems = [ "cl-syntax-anonfun" ]; - lispLibs = [ (getAttr "cl-anonfun" self) (getAttr "cl-syntax" self) ]; - meta = {}; - }); - cl-syntax-clsql = (build-asdf-system { - pname = "cl-syntax-clsql"; - version = "20150407-git"; - asds = [ "cl-syntax-clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax-clsql"; - asd = "cl-syntax-clsql"; - }); - systems = [ "cl-syntax-clsql" ]; - lispLibs = [ (getAttr "cl-syntax" self) (getAttr "clsql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-syntax-debug-print = (build-asdf-system { - pname = "cl-syntax-debug-print"; - version = "20210807-git"; - asds = [ "cl-syntax-debug-print" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz"; - sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh"; - system = "cl-syntax-debug-print"; - asd = "cl-syntax-debug-print"; - }); - systems = [ "cl-syntax-debug-print" ]; - lispLibs = [ (getAttr "cl-debug-print" self) (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-syntax-fare-quasiquote = (build-asdf-system { - pname = "cl-syntax-fare-quasiquote"; - version = "20150407-git"; - asds = [ "cl-syntax-fare-quasiquote" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax-fare-quasiquote"; - asd = "cl-syntax-fare-quasiquote"; - }); - systems = [ "cl-syntax-fare-quasiquote" ]; - lispLibs = [ (getAttr "cl-syntax" self) (getAttr "fare-quasiquote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-syntax-interpol = (build-asdf-system { - pname = "cl-syntax-interpol"; - version = "20150407-git"; - asds = [ "cl-syntax-interpol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax-interpol"; - asd = "cl-syntax-interpol"; - }); - systems = [ "cl-syntax-interpol" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-syntax-lsx = (build-asdf-system { - pname = "cl-syntax-lsx"; - version = "20220220-git"; - asds = [ "cl-syntax-lsx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lsx/2022-02-20/lsx-20220220-git.tgz"; - sha256 = "1pdq6csr8pkzcq2zkhhm6wkp9zxx2aypjd16rcw4q43mff09y041"; - system = "cl-syntax-lsx"; - asd = "cl-syntax-lsx"; - }); - systems = [ "cl-syntax-lsx" ]; - lispLibs = [ (getAttr "cl-syntax" self) (getAttr "lsx" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-syntax-markup = (build-asdf-system { - pname = "cl-syntax-markup"; - version = "20150407-git"; - asds = [ "cl-syntax-markup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; - sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; - system = "cl-syntax-markup"; - asd = "cl-syntax-markup"; - }); - systems = [ "cl-syntax-markup" ]; - lispLibs = [ (getAttr "cl-markup" self) (getAttr "cl-syntax" self) ]; - meta = {}; - }); - cl-syslog = (build-asdf-system { - pname = "cl-syslog"; - version = "20190202-git"; - asds = [ "cl-syslog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-syslog/2019-02-02/cl-syslog-20190202-git.tgz"; - sha256 = "1qcz55jiqwk91b01hsahxnha884f6zf2883j2m51sqph0mvj69mh"; - system = "cl-syslog"; - asd = "cl-syslog"; - }); - systems = [ "cl-syslog" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "global-vars" self) (getAttr "local-time" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = {}; - }); - cl-table = (build-asdf-system { - pname = "cl-table"; - version = "20130128-git"; - asds = [ "cl-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-table/2013-01-28/cl-table-20130128-git.tgz"; - sha256 = "0c7bdnpi473grayycdcdh4q8fi137i3c80k05k87pvjdrl1qnkpn"; - system = "cl-table"; - asd = "cl-table"; - }); - systems = [ "cl-table" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tasukete = (build-asdf-system { - pname = "cl-tasukete"; - version = "20180228-git"; - asds = [ "cl-tasukete" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tasukete/2018-02-28/cl-tasukete-20180228-git.tgz"; - sha256 = "0i8ibg2a33mb32vr2b70psb5dvh47r52lfhkh84rxzmcsk6ww230"; - system = "cl-tasukete"; - asd = "cl-tasukete"; - }); - systems = [ "cl-tasukete" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "cl-gists" self) (getAttr "dissect" self) (getAttr "jonathan" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tasukete-test = (build-asdf-system { - pname = "cl-tasukete-test"; - version = "20180228-git"; - asds = [ "cl-tasukete-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tasukete/2018-02-28/cl-tasukete-20180228-git.tgz"; - sha256 = "0i8ibg2a33mb32vr2b70psb5dvh47r52lfhkh84rxzmcsk6ww230"; - system = "cl-tasukete-test"; - asd = "cl-tasukete-test"; - }); - systems = [ "cl-tasukete-test" ]; - lispLibs = [ (getAttr "cl-tasukete" self) (getAttr "dissect" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-telebot = (build-asdf-system { - pname = "cl-telebot"; - version = "20211020-git"; - asds = [ "cl-telebot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-telebot/2021-10-20/cl-telebot-20211020-git.tgz"; - sha256 = "0nl002l4f3x6843s6h5w2iz2hganxb369k8c2hbbgqq7plb4mdf1"; - system = "cl-telebot"; - asd = "cl-telebot"; - }); - systems = [ "cl-telebot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "dexador" self) (getAttr "jonathan" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-telegram-bot = (build-asdf-system { - pname = "cl-telegram-bot"; - version = "20241012-git"; - asds = [ "cl-telegram-bot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; - sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; - system = "cl-telegram-bot"; - asd = "cl-telegram-bot"; - }); - systems = [ "cl-telegram-bot" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "arrows" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "cl-strings" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "jonathan" self) (getAttr "kebab" self) (getAttr "log4cl" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "trivial-backtrace" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-telegram-bot-ci = (build-asdf-system { - pname = "cl-telegram-bot-ci"; - version = "20241012-git"; - asds = [ "cl-telegram-bot-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; - sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; - system = "cl-telegram-bot-ci"; - asd = "cl-telegram-bot-ci"; - }); - systems = [ "cl-telegram-bot-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-telegram-bot-docs = (build-asdf-system { - pname = "cl-telegram-bot-docs"; - version = "20241012-git"; - asds = [ "cl-telegram-bot-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; - sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; - system = "cl-telegram-bot-docs"; - asd = "cl-telegram-bot-docs"; - }); - systems = [ "cl-telegram-bot-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "cl-telegram-bot" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-telegram-bot-tests = (build-asdf-system { - pname = "cl-telegram-bot-tests"; - version = "20241012-git"; - asds = [ "cl-telegram-bot-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; - sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; - system = "cl-telegram-bot-tests"; - asd = "cl-telegram-bot-tests"; - }); - systems = [ "cl-telegram-bot-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-template = (build-asdf-system { - pname = "cl-template"; - version = "20130615-git"; - asds = [ "cl-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-template/2013-06-15/cl-template-20130615-git.tgz"; - sha256 = "1rhg023a2nxsk5x6abd6i0a8sh36aj0bgsh80w60m3b7xlsva2x2"; - system = "cl-template"; - asd = "cl-template"; - }); - systems = [ "cl-template" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-template-tests = (build-asdf-system { - pname = "cl-template-tests"; - version = "20130615-git"; - asds = [ "cl-template-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-template/2013-06-15/cl-template-20130615-git.tgz"; - sha256 = "1rhg023a2nxsk5x6abd6i0a8sh36aj0bgsh80w60m3b7xlsva2x2"; - system = "cl-template-tests"; - asd = "cl-template"; - }); - systems = [ "cl-template-tests" ]; - lispLibs = [ (getAttr "cl-template" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-termbox = (build-asdf-system { - pname = "cl-termbox"; - version = "20211020-git"; - asds = [ "cl-termbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-termbox/2021-10-20/cl-termbox-20211020-git.tgz"; - sha256 = "1igmq64zndkgchmzggp34jrmxa81dqlhz2il8qizrpfw5a39cpld"; - system = "cl-termbox"; - asd = "cl-termbox"; - }); - systems = [ "cl-termbox" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tesseract = (build-asdf-system { - pname = "cl-tesseract"; - version = "20171130-git"; - asds = [ "cl-tesseract" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tesseract/2017-11-30/cl-tesseract-20171130-git.tgz"; - sha256 = "086627k8whbj60bpw9r3jrdifr4bigqpnp9hxsi7r6702gixz50x"; - system = "cl-tesseract"; - asd = "cl-tesseract"; - }); - systems = [ "cl-tesseract" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-test-more = (build-asdf-system { - pname = "cl-test-more"; - version = "20200218-git"; - asds = [ "cl-test-more" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; - sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; - system = "cl-test-more"; - asd = "cl-test-more"; - }); - systems = [ "cl-test-more" ]; - lispLibs = [ (getAttr "prove" self) ]; - meta = {}; - }); - cl-tetris3d = (build-asdf-system { - pname = "cl-tetris3d"; - version = "20181210-git"; - asds = [ "cl-tetris3d" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tetris3d/2018-12-10/cl-tetris3d-20181210-git.tgz"; - sha256 = "09n7344is2vfbp32cd22ynk14h4vqs4xw3plbhga8q25ghhx5y9p"; - system = "cl-tetris3d"; - asd = "cl-tetris3d"; - }); - systems = [ "cl-tetris3d" ]; - lispLibs = [ (getAttr "cl-glu" self) (getAttr "cl-opengl" self) (getAttr "iterate" self) (getAttr "lispbuilder-sdl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-textmagic = (build-asdf-system { - pname = "cl-textmagic"; - version = "20151218-git"; - asds = [ "cl-textmagic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-textmagic/2015-12-18/cl-textmagic-20151218-git.tgz"; - sha256 = "0xw6g1r5vxmnbz3kxf2q6s9dr9l2aacyri1wchzw4jx5wlcnkshw"; - system = "cl-textmagic"; - asd = "cl-textmagic"; - }); - systems = [ "cl-textmagic" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "dexador" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-textmagic-test = (build-asdf-system { - pname = "cl-textmagic-test"; - version = "20151218-git"; - asds = [ "cl-textmagic-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-textmagic/2015-12-18/cl-textmagic-20151218-git.tgz"; - sha256 = "0xw6g1r5vxmnbz3kxf2q6s9dr9l2aacyri1wchzw4jx5wlcnkshw"; - system = "cl-textmagic-test"; - asd = "cl-textmagic-test"; - }); - systems = [ "cl-textmagic-test" ]; - lispLibs = [ (getAttr "cl-textmagic" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tga = (build-asdf-system { - pname = "cl-tga"; - version = "20160318-git"; - asds = [ "cl-tga" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tga/2016-03-18/cl-tga-20160318-git.tgz"; - sha256 = "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"; - system = "cl-tga"; - asd = "cl-tga"; - }); - systems = [ "cl-tga" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-threadpool = (build-asdf-system { - pname = "cl-threadpool"; - version = "quickload-current-release-feda6ff9-git"; - asds = [ "cl-threadpool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-threadpool/2024-10-12/cl-threadpool-quickload-current-release-feda6ff9-git.tgz"; - sha256 = "0y2kai8ijz0y6j54svvdrl2f2v96pz0pl652x86lz7pl4yyg99vr"; - system = "cl-threadpool"; - asd = "cl-threadpool"; - }); - systems = [ "cl-threadpool" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "queues_dot_simple-cqueue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tidy = (build-asdf-system { - pname = "cl-tidy"; - version = "20170830-git"; - asds = [ "cl-tidy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tidy/2017-08-30/cl-tidy-20170830-git.tgz"; - sha256 = "13j0jgf6czb24148w2wxfwlji6vnc49qvyr5wzq5ps55b27ddlz6"; - system = "cl-tidy"; - asd = "cl-tidy"; - }); - systems = [ "cl-tidy" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tiled = (build-asdf-system { - pname = "cl-tiled"; - version = "20241012-git"; - asds = [ "cl-tiled" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tiled/2024-10-12/cl-tiled-20241012-git.tgz"; - sha256 = "0ni61iahr58i44psk4z3q1w9nsxbc49m5wbb8w0icm4f7x0ijn07"; - system = "cl-tiled"; - asd = "cl-tiled"; - }); - systems = [ "cl-tiled" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "chipz" self) (getAttr "cl-base64" self) (getAttr "cl-json" self) (getAttr "nibbles" self) (getAttr "parse-float" self) (getAttr "split-sequence" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tk = (build-asdf-system { - pname = "cl-tk"; - version = "20150608-git"; - asds = [ "cl-tk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tk/2015-06-08/cl-tk-20150608-git.tgz"; - sha256 = "0fm4q4pkzbyxr6227vavvy4lm7rfw214lp2dylgzjzcp6f5r4n7w"; - system = "cl-tk"; - asd = "cl-tk"; - }); - systems = [ "cl-tk" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tld = (build-asdf-system { - pname = "cl-tld"; - version = "20220220-git"; - asds = [ "cl-tld" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tld/2022-02-20/cl-tld-20220220-git.tgz"; - sha256 = "1xm471p92in5g4fcxgqshwgr2d7937jw7jv6j473slwkxjvx8dp6"; - system = "cl-tld"; - asd = "cl-tld"; - }); - systems = [ "cl-tld" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tls = (build-asdf-system { - pname = "cl-tls"; - version = "20231021-git"; - asds = [ "cl-tls" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tls/2023-10-21/cl-tls-20231021-git.tgz"; - sha256 = "1gq7m5wmsrjmyhrk9xljxz9ickahwzl1anz2fcns5q2nj0j6d9bx"; - system = "cl-tls"; - asd = "cl-tls"; - }); - systems = [ "cl-tls" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "fast-io" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tokyo-cabinet = (build-asdf-system { - pname = "cl-tokyo-cabinet"; - version = "20160825-git"; - asds = [ "cl-tokyo-cabinet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tokyo-cabinet/2016-08-25/cl-tokyo-cabinet-20160825-git.tgz"; - sha256 = "07961in8fa09bjnpwkdn0w6dj37nppzmgg50kf8khspnjh1sjsr2"; - system = "cl-tokyo-cabinet"; - asd = "cl-tokyo-cabinet"; - }); - systems = [ "cl-tokyo-cabinet" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "deoxybyte-systems" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tokyo-cabinet-test = (build-asdf-system { - pname = "cl-tokyo-cabinet-test"; - version = "20160825-git"; - asds = [ "cl-tokyo-cabinet-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tokyo-cabinet/2016-08-25/cl-tokyo-cabinet-20160825-git.tgz"; - sha256 = "07961in8fa09bjnpwkdn0w6dj37nppzmgg50kf8khspnjh1sjsr2"; - system = "cl-tokyo-cabinet-test"; - asd = "cl-tokyo-cabinet-test"; - }); - systems = [ "cl-tokyo-cabinet-test" ]; - lispLibs = [ (getAttr "cl-tokyo-cabinet" self) (getAttr "deoxybyte-io" self) (getAttr "deoxybyte-utilities" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-toml = (build-asdf-system { - pname = "cl-toml"; - version = "20191130-git"; - asds = [ "cl-toml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-toml/2019-11-30/cl-toml-20191130-git.tgz"; - sha256 = "1g5i60i78s0ms608fyc6sgaaqr6jdsln75n26lmfbcaqw2g1q9dk"; - system = "cl-toml"; - asd = "cl-toml"; - }); - systems = [ "cl-toml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) (getAttr "local-time" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-toml-test = (build-asdf-system { - pname = "cl-toml-test"; - version = "20191130-git"; - asds = [ "cl-toml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-toml/2019-11-30/cl-toml-20191130-git.tgz"; - sha256 = "1g5i60i78s0ms608fyc6sgaaqr6jdsln75n26lmfbcaqw2g1q9dk"; - system = "cl-toml-test"; - asd = "cl-toml-test"; - }); - systems = [ "cl-toml-test" ]; - lispLibs = [ (getAttr "cl-toml" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tqdm = (build-asdf-system { - pname = "cl-tqdm"; - version = "20241012-git"; - asds = [ "cl-tqdm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tqdm/2024-10-12/cl-tqdm-20241012-git.tgz"; - sha256 = "0wlbgs7wfiy149d7zq5bpkm8g3785b1crcf2m802f9qhin2r0nzg"; - system = "cl-tqdm"; - asd = "cl-tqdm"; - }); - systems = [ "cl-tqdm" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-transmission = (build-asdf-system { - pname = "cl-transmission"; - version = "20200325-git"; - asds = [ "cl-transmission" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-transmission/2020-03-25/cl-transmission-20200325-git.tgz"; - sha256 = "0sg3f2jqs2z3mvscjhc43hkd34vlcc4c8hq8rhh5w1gjg19z57hb"; - system = "cl-transmission"; - asd = "cl-transmission"; - }); - systems = [ "cl-transmission" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "jonathan" self) (getAttr "named-readtables" self) (getAttr "rutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-transmission-test = (build-asdf-system { - pname = "cl-transmission-test"; - version = "20200325-git"; - asds = [ "cl-transmission-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-transmission/2020-03-25/cl-transmission-20200325-git.tgz"; - sha256 = "0sg3f2jqs2z3mvscjhc43hkd34vlcc4c8hq8rhh5w1gjg19z57hb"; - system = "cl-transmission-test"; - asd = "cl-transmission-test"; - }); - systems = [ "cl-transmission-test" ]; - lispLibs = [ (getAttr "cl-transmission" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-trie = (build-asdf-system { - pname = "cl-trie"; - version = "20230214-git"; - asds = [ "cl-trie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-trie/2023-02-14/cl-trie-20230214-git.tgz"; - sha256 = "0d0mnac9rbqvwr45650yimfw4fyldbgasj139g7y1wzrranrcldf"; - system = "cl-trie"; - asd = "cl-trie"; - }); - systems = [ "cl-trie" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-trie-examples = (build-asdf-system { - pname = "cl-trie-examples"; - version = "20230214-git"; - asds = [ "cl-trie-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-trie/2023-02-14/cl-trie-20230214-git.tgz"; - sha256 = "0d0mnac9rbqvwr45650yimfw4fyldbgasj139g7y1wzrranrcldf"; - system = "cl-trie-examples"; - asd = "cl-trie-examples"; - }); - systems = [ "cl-trie-examples" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-trie" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tui = (build-asdf-system { - pname = "cl-tui"; - version = "20200427-git"; - asds = [ "cl-tui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tui/2020-04-27/cl-tui-20200427-git.tgz"; - sha256 = "1s0z7sjb3p1fxypc2x9fl0y094qa1a2iqjbn5him4hs8z7xm5kz8"; - system = "cl-tui"; - asd = "cl-tui"; - }); - systems = [ "cl-tui" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-charms" self) (getAttr "cl-containers" self) (getAttr "osicat" self) (getAttr "split-sequence" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tulip-graph = (build-asdf-system { - pname = "cl-tulip-graph"; - version = "20130615-git"; - asds = [ "cl-tulip-graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tulip-graph/2013-06-15/cl-tulip-graph-20130615-git.tgz"; - sha256 = "0zmmwqabbyzdikn8x0xqrj192wr5w87l828nwandqg59af2isxav"; - system = "cl-tulip-graph"; - asd = "cl-tulip-graph"; - }); - systems = [ "cl-tulip-graph" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-tuples = (build-asdf-system { - pname = "cl-tuples"; - version = "20140713-git"; - asds = [ "cl-tuples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tuples/2014-07-13/cl-tuples-20140713-git.tgz"; - sha256 = "060xmr03y8n0mnf4x4fnrirljcjk1jcir7jsjq4w9d5vzq3aqm9m"; - system = "cl-tuples"; - asd = "cl-tuples"; - }); - systems = [ "cl-tuples" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-twit-repl = (build-asdf-system { - pname = "cl-twit-repl"; - version = "20180228-git"; - asds = [ "cl-twit-repl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz"; - sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr"; - system = "cl-twit-repl"; - asd = "cl-twit-repl"; - }); - systems = [ "cl-twit-repl" ]; - lispLibs = [ (getAttr "cl-twitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-twitter = (build-asdf-system { - pname = "cl-twitter"; - version = "20180228-git"; - asds = [ "cl-twitter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz"; - sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr"; - system = "cl-twitter"; - asd = "cl-twitter"; - }); - systems = [ "cl-twitter" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "cl-json" self) (getAttr "cl-oauth" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "drakma" self) (getAttr "trivial-http" self) (getAttr "url-rewrite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-typesetting = (build-asdf-system { - pname = "cl-typesetting"; - version = "20210531-git"; - asds = [ "cl-typesetting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz"; - sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"; - system = "cl-typesetting"; - asd = "cl-typesetting"; - }); - systems = [ "cl-typesetting" ]; - lispLibs = [ (getAttr "cl-pdf" self) ]; - meta = {}; - }); - cl-uglify-js = (build-asdf-system { - pname = "cl-uglify-js"; - version = "20150709-git"; - asds = [ "cl-uglify-js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-uglify-js/2015-07-09/cl-uglify-js-20150709-git.tgz"; - sha256 = "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"; - system = "cl-uglify-js"; - asd = "cl-uglify-js"; - }); - systems = [ "cl-uglify-js" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-ppcre-unicode" self) (getAttr "iterate" self) (getAttr "parse-js" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-unac = (build-asdf-system { - pname = "cl-unac"; - version = "20230618-git"; - asds = [ "cl-unac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unac/2023-06-18/cl-unac-20230618-git.tgz"; - sha256 = "16i4lwg70k05dw3vynyyz09ldgr4zzd1ar68g4jcxk7q4ijfdw9m"; - system = "cl-unac"; - asd = "cl-unac"; - }); - systems = [ "cl-unac" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-unac_dot_config" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-unac_dot_config = (build-asdf-system { - pname = "cl-unac.config"; - version = "20230618-git"; - asds = [ "cl-unac.config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unac/2023-06-18/cl-unac-20230618-git.tgz"; - sha256 = "16i4lwg70k05dw3vynyyz09ldgr4zzd1ar68g4jcxk7q4ijfdw9m"; - system = "cl-unac.config"; - asd = "cl-unac.config"; - }); - systems = [ "cl-unac.config" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-unac_dot_tests = (build-asdf-system { - pname = "cl-unac.tests"; - version = "20230618-git"; - asds = [ "cl-unac.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unac/2023-06-18/cl-unac-20230618-git.tgz"; - sha256 = "16i4lwg70k05dw3vynyyz09ldgr4zzd1ar68g4jcxk7q4ijfdw9m"; - system = "cl-unac.tests"; - asd = "cl-unac.tests"; - }); - systems = [ "cl-unac.tests" ]; - lispLibs = [ (getAttr "cl-unac" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-unicode = (build-asdf-system { - pname = "cl-unicode"; - version = "20241012-git"; - asds = [ "cl-unicode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unicode/2024-10-12/cl-unicode-20241012-git.tgz"; - sha256 = "14ydcjkj94mmx40vs27w8137lgmw16jjhpr5m46mm6gqv46yvr6l"; - system = "cl-unicode"; - asd = "cl-unicode"; - }); - systems = [ "cl-unicode" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = {}; - }); - cl-unification = (build-asdf-system { - pname = "cl-unification"; - version = "20241012-git"; - asds = [ "cl-unification" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; - sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; - system = "cl-unification"; - asd = "cl-unification"; - }); - systems = [ "cl-unification" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-unification-lib = (build-asdf-system { - pname = "cl-unification-lib"; - version = "20241012-git"; - asds = [ "cl-unification-lib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; - sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; - system = "cl-unification-lib"; - asd = "cl-unification-lib"; - }); - systems = [ "cl-unification-lib" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-unification" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-unification-test = (build-asdf-system { - pname = "cl-unification-test"; - version = "20241012-git"; - asds = [ "cl-unification-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; - sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; - system = "cl-unification-test"; - asd = "cl-unification-test"; - }); - systems = [ "cl-unification-test" ]; - lispLibs = [ (getAttr "cl-unification" self) (getAttr "ptester" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-union-find = (build-asdf-system { - pname = "cl-union-find"; - version = "20221106-git"; - asds = [ "cl-union-find" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-union-find/2022-11-06/cl-union-find-20221106-git.tgz"; - sha256 = "14xciva5v3c4zi4vzp1vfhs82a2654yhkfyllr3b0cr7x36jdm7y"; - system = "cl-union-find"; - asd = "cl-union-find"; - }); - systems = [ "cl-union-find" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-utilities = (build-asdf-system { - pname = "cl-utilities"; - version = "1.2.4"; - asds = [ "cl-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-utilities/2010-10-06/cl-utilities-1.2.4.tgz"; - sha256 = "1dmbkdr8xm2jw5yx1makqbf1ypqbm0hpkd7zyknxv3cblvz0a87w"; - system = "cl-utilities"; - asd = "cl-utilities"; - }); - systems = [ "cl-utilities" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-variates = (build-asdf-system { - pname = "cl-variates"; - version = "20180131-darcs"; - asds = [ "cl-variates" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-variates/2018-01-31/cl-variates-20180131-darcs.tgz"; - sha256 = "02pd02isfxrn3h8h5kh369rwy17hfjkmd7j24pcihfskamgcqgfx"; - system = "cl-variates"; - asd = "cl-variates"; - }); - systems = [ "cl-variates" ]; - lispLibs = [ (getAttr "asdf-system-connections" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-vectors = (build-asdf-system { - pname = "cl-vectors"; - version = "20241012-git"; - asds = [ "cl-vectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; - sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; - system = "cl-vectors"; - asd = "cl-vectors"; - }); - systems = [ "cl-vectors" ]; - lispLibs = [ (getAttr "cl-aa" self) (getAttr "cl-paths" self) ]; - meta = {}; - }); - cl-vhdl = (build-asdf-system { - pname = "cl-vhdl"; - version = "20160421-git"; - asds = [ "cl-vhdl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vhdl/2016-04-21/cl-vhdl-20160421-git.tgz"; - sha256 = "0i2780ljak8kcqa2zm24dk2fk771m2mvmnbq4xd4vvx9z87lbnvi"; - system = "cl-vhdl"; - asd = "cl-vhdl"; - }); - systems = [ "cl-vhdl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-itertools" self) (getAttr "cl-ppcre" self) (getAttr "esrap-liquid" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-vhdl-tests = (build-asdf-system { - pname = "cl-vhdl-tests"; - version = "20160421-git"; - asds = [ "cl-vhdl-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vhdl/2016-04-21/cl-vhdl-20160421-git.tgz"; - sha256 = "0i2780ljak8kcqa2zm24dk2fk771m2mvmnbq4xd4vvx9z87lbnvi"; - system = "cl-vhdl-tests"; - asd = "cl-vhdl"; - }); - systems = [ "cl-vhdl-tests" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cl-vhdl" self) (getAttr "fare-quasiquote-optima" self) (getAttr "fiveam" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-video = (build-asdf-system { - pname = "cl-video"; - version = "20180228-git"; - asds = [ "cl-video" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; - sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; - system = "cl-video"; - asd = "cl-video"; - }); - systems = [ "cl-video" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-video-avi = (build-asdf-system { - pname = "cl-video-avi"; - version = "20180228-git"; - asds = [ "cl-video-avi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; - sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; - system = "cl-video-avi"; - asd = "cl-video-avi"; - }); - systems = [ "cl-video-avi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-jpeg" self) (getAttr "cl-riff" self) (getAttr "cl-video" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-video-gif = (build-asdf-system { - pname = "cl-video-gif"; - version = "20180228-git"; - asds = [ "cl-video-gif" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; - sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; - system = "cl-video-gif"; - asd = "cl-video-gif"; - }); - systems = [ "cl-video-gif" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-video" self) (getAttr "skippy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-video-player = (build-asdf-system { - pname = "cl-video-player"; - version = "20180228-git"; - asds = [ "cl-video-player" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; - sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; - system = "cl-video-player"; - asd = "cl-video-player"; - }); - systems = [ "cl-video-player" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-portaudio" self) (getAttr "cl-video-avi" self) (getAttr "cl-video-gif" self) (getAttr "cl-video-wav" self) (getAttr "clx" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-video-wav = (build-asdf-system { - pname = "cl-video-wav"; - version = "20180228-git"; - asds = [ "cl-video-wav" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; - sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; - system = "cl-video-wav"; - asd = "cl-video-wav"; - }); - systems = [ "cl-video-wav" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-riff" self) (getAttr "cl-video" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-virtualbox = (build-asdf-system { - pname = "cl-virtualbox"; - version = "20180831-git"; - asds = [ "cl-virtualbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-virtualbox/2018-08-31/cl-virtualbox-20180831-git.tgz"; - sha256 = "1jzn8jjn9yn9vgnn1r6h0iyxb6j17wm8lmf9j5hk4yqwdzb2nidv"; - system = "cl-virtualbox"; - asd = "cl-virtualbox"; - }); - systems = [ "cl-virtualbox" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-vorbis = (build-asdf-system { - pname = "cl-vorbis"; - version = "20241012-git"; - asds = [ "cl-vorbis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-vorbis/2024-10-12/cl-vorbis-20241012-git.tgz"; - sha256 = "04p0ix2mxa8iv2dab19mlix6m3inwyb0rs5wsrf8r9l1n41dyp2p"; - system = "cl-vorbis"; - asd = "cl-vorbis"; - }); - systems = [ "cl-vorbis" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "static-vectors" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-voxelize = (build-asdf-system { - pname = "cl-voxelize"; - version = "20150709-git"; - asds = [ "cl-voxelize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz"; - sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm"; - system = "cl-voxelize"; - asd = "cl-voxelize"; - }); - systems = [ "cl-voxelize" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-voxelize-examples = (build-asdf-system { - pname = "cl-voxelize-examples"; - version = "20150709-git"; - asds = [ "cl-voxelize-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz"; - sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm"; - system = "cl-voxelize-examples"; - asd = "cl-voxelize-examples"; - }); - systems = [ "cl-voxelize-examples" ]; - lispLibs = [ (getAttr "cl-ply" self) (getAttr "cl-voxelize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-voxelize-test = (build-asdf-system { - pname = "cl-voxelize-test"; - version = "20150709-git"; - asds = [ "cl-voxelize-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz"; - sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm"; - system = "cl-voxelize-test"; - asd = "cl-voxelize-test"; - }); - systems = [ "cl-voxelize-test" ]; - lispLibs = [ (getAttr "cl-voxelize" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wadler-pprint = (build-asdf-system { - pname = "cl-wadler-pprint"; - version = "20191007-git"; - asds = [ "cl-wadler-pprint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wadler-pprint/2019-10-07/cl-wadler-pprint-20191007-git.tgz"; - sha256 = "0y5jxk7yiw8wng7hg91cwibh6d2hf1sv2mzqhkds6l4myhzxb4jr"; - system = "cl-wadler-pprint"; - asd = "cl-wadler-pprint"; - }); - systems = [ "cl-wadler-pprint" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wav = (build-asdf-system { - pname = "cl-wav"; - version = "20221106-git"; - asds = [ "cl-wav" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wav/2022-11-06/cl-wav-20221106-git.tgz"; - sha256 = "1nf4zw72v0c9fl8mr4si5cr2xz753ydzv19mfzy5dqqx0k1g7wyl"; - system = "cl-wav"; - asd = "cl-wav"; - }); - systems = [ "cl-wav" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-riff" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wave-file-writer = (build-asdf-system { - pname = "cl-wave-file-writer"; - version = "quickload-current-release-42cde6cf-git"; - asds = [ "cl-wave-file-writer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wave-file-writer/2021-10-20/cl-wave-file-writer-quickload-current-release-42cde6cf-git.tgz"; - sha256 = "0mxzp6rm7ah86vp1xj67q43al71k62x407m5vmbldvyb6pmx37fp"; - system = "cl-wave-file-writer"; - asd = "cl-wave-file-writer"; - }); - systems = [ "cl-wave-file-writer" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wavefront = (build-asdf-system { - pname = "cl-wavefront"; - version = "20241012-git"; - asds = [ "cl-wavefront" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wavefront/2024-10-12/cl-wavefront-20241012-git.tgz"; - sha256 = "1il5i04x2ff3pnjm2pgvq0hryd9rnjdbczvinj3l3w30lj553g83"; - system = "cl-wavefront"; - asd = "cl-wavefront"; - }); - systems = [ "cl-wavefront" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wavelets = (build-asdf-system { - pname = "cl-wavelets"; - version = "20220707-git"; - asds = [ "cl-wavelets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wavelets/2022-07-07/cl-wavelets-20220707-git.tgz"; - sha256 = "0z4r01d5mv4rachz5rr5zvnv94q7ka17138vcpsb05sz00vv03ba"; - system = "cl-wavelets"; - asd = "cl-wavelets"; - }); - systems = [ "cl-wavelets" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wayland = (build-asdf-system { - pname = "cl-wayland"; - version = "20190307-git"; - asds = [ "cl-wayland" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wayland/2019-03-07/cl-wayland-20190307-git.tgz"; - sha256 = "1axdkdm5d2bvj674jq6ylwhfwbzzs7yjj6f04c519qbdq9sknbcn"; - system = "cl-wayland"; - asd = "cl-wayland"; - }); - systems = [ "cl-wayland" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-weather-jp = (build-asdf-system { - pname = "cl-weather-jp"; - version = "20160208-git"; - asds = [ "cl-weather-jp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-weather-jp/2016-02-08/cl-weather-jp-20160208-git.tgz"; - sha256 = "15bp7gdk7ck9xs9lx2rrzqw6awlk6nz03cqy14wv2lvy3j84dc01"; - system = "cl-weather-jp"; - asd = "cl-weather-jp"; - }); - systems = [ "cl-weather-jp" ]; - lispLibs = [ (getAttr "clss" self) (getAttr "dexador" self) (getAttr "function-cache" self) (getAttr "jonathan" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-weather-jp-test = (build-asdf-system { - pname = "cl-weather-jp-test"; - version = "20160208-git"; - asds = [ "cl-weather-jp-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-weather-jp/2016-02-08/cl-weather-jp-20160208-git.tgz"; - sha256 = "15bp7gdk7ck9xs9lx2rrzqw6awlk6nz03cqy14wv2lvy3j84dc01"; - system = "cl-weather-jp-test"; - asd = "cl-weather-jp-test"; - }); - systems = [ "cl-weather-jp-test" ]; - lispLibs = [ (getAttr "cl-weather-jp" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-webdav = (build-asdf-system { - pname = "cl-webdav"; - version = "20170830-git"; - asds = [ "cl-webdav" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-webdav/2017-08-30/cl-webdav-20170830-git.tgz"; - sha256 = "1cmzv763k4s5blfhx2p8s7q9gk20p8mj9p34dngydc14d2acrxmg"; - system = "cl-webdav"; - asd = "cl-webdav"; - }); - systems = [ "cl-webdav" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cxml" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-webdriver-client = (build-asdf-system { - pname = "cl-webdriver-client"; - version = "20241012-git"; - asds = [ "cl-webdriver-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-webdriver-client/2024-10-12/cl-webdriver-client-20241012-git.tgz"; - sha256 = "1975yyvvdxg11vgpyx93nkqr5x6i1xy47230vc40yd0c9bn6lpbr"; - system = "cl-webdriver-client"; - asd = "cl-webdriver-client"; - }); - systems = [ "cl-webdriver-client" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "assoc-utils" self) (getAttr "cl-json" self) (getAttr "dexador" self) (getAttr "quri" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-webdriver-client-test = (build-asdf-system { - pname = "cl-webdriver-client-test"; - version = "20241012-git"; - asds = [ "cl-webdriver-client-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-webdriver-client/2024-10-12/cl-webdriver-client-20241012-git.tgz"; - sha256 = "1975yyvvdxg11vgpyx93nkqr5x6i1xy47230vc40yd0c9bn6lpbr"; - system = "cl-webdriver-client-test"; - asd = "cl-webdriver-client-test"; - }); - systems = [ "cl-webdriver-client-test" ]; - lispLibs = [ (getAttr "cl-webdriver-client" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-webkit2 = (build-asdf-system { - pname = "cl-webkit2"; - version = "20241012-git"; - asds = [ "cl-webkit2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-webkit/2024-10-12/cl-webkit-20241012-git.tgz"; - sha256 = "1ppx4pdnx3c41hp1j8msvpyw22ck2lll2f4ap5hyfvhadp07g3m5"; - system = "cl-webkit2"; - asd = "cl-webkit2"; - }); - systems = [ "cl-webkit2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-cffi-gtk" self) ]; - meta = {}; - }); - cl-who = (build-asdf-system { - pname = "cl-who"; - version = "20241012-git"; - asds = [ "cl-who" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-who/2024-10-12/cl-who-20241012-git.tgz"; - sha256 = "1kfpy69dw0g7w7k0akimncpkxfqq85r08i2da8nw1dhk2hp6l8jc"; - system = "cl-who"; - asd = "cl-who"; - }); - systems = [ "cl-who" ]; - lispLibs = [ ]; - meta = {}; - }); - cl-who-test = (build-asdf-system { - pname = "cl-who-test"; - version = "20241012-git"; - asds = [ "cl-who-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-who/2024-10-12/cl-who-20241012-git.tgz"; - sha256 = "1kfpy69dw0g7w7k0akimncpkxfqq85r08i2da8nw1dhk2hp6l8jc"; - system = "cl-who-test"; - asd = "cl-who"; - }); - systems = [ "cl-who-test" ]; - lispLibs = [ (getAttr "cl-who" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-why = (build-asdf-system { - pname = "cl-why"; - version = "20180228-git"; - asds = [ "cl-why" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-why/2018-02-28/cl-why-20180228-git.tgz"; - sha256 = "01xm7gj1wwd7i3r49jfdm96gwl7nvrn0h6q22kpzrb8zs48wj947"; - system = "cl-why"; - asd = "cl-why"; - }); - systems = [ "cl-why" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-why-test = (build-asdf-system { - pname = "cl-why-test"; - version = "20180228-git"; - asds = [ "cl-why-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-why/2018-02-28/cl-why-20180228-git.tgz"; - sha256 = "01xm7gj1wwd7i3r49jfdm96gwl7nvrn0h6q22kpzrb8zs48wj947"; - system = "cl-why-test"; - asd = "cl-why"; - }); - systems = [ "cl-why-test" ]; - lispLibs = [ (getAttr "cl-why" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-with = (build-asdf-system { - pname = "cl-with"; - version = "20211020-git"; - asds = [ "cl-with" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-with/2021-10-20/cl-with-20211020-git.tgz"; - sha256 = "1x4laq7zi12xb28rfrh8hcy92pkfvjxsp2nn6jkmrhfynky5180w"; - system = "cl-with"; - asd = "cl-with"; - }); - systems = [ "cl-with" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wol_dot_cli = (build-asdf-system { - pname = "cl-wol.cli"; - version = "20231021-git"; - asds = [ "cl-wol.cli" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wol/2023-10-21/cl-wol-20231021-git.tgz"; - sha256 = "1gfrih0899i7280169cjp6bg3zmrx6znrr3i9qjgda0jk4dn5rp4"; - system = "cl-wol.cli"; - asd = "cl-wol.cli"; - }); - systems = [ "cl-wol.cli" ]; - lispLibs = [ (getAttr "cl-ascii-table" self) (getAttr "cl-migratum" self) (getAttr "cl-migratum_dot_driver_dot_dbi" self) (getAttr "cl-migratum_dot_provider_dot_local-path" self) (getAttr "cl-wol_dot_core" self) (getAttr "clingon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wol_dot_core = (build-asdf-system { - pname = "cl-wol.core"; - version = "20231021-git"; - asds = [ "cl-wol.core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wol/2023-10-21/cl-wol-20231021-git.tgz"; - sha256 = "1gfrih0899i7280169cjp6bg3zmrx6znrr3i9qjgda0jk4dn5rp4"; - system = "cl-wol.core"; - asd = "cl-wol.core"; - }); - systems = [ "cl-wol.core" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wol_dot_test = (build-asdf-system { - pname = "cl-wol.test"; - version = "20231021-git"; - asds = [ "cl-wol.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wol/2023-10-21/cl-wol-20231021-git.tgz"; - sha256 = "1gfrih0899i7280169cjp6bg3zmrx6znrr3i9qjgda0jk4dn5rp4"; - system = "cl-wol.test"; - asd = "cl-wol.test"; - }); - systems = [ "cl-wol.test" ]; - lispLibs = [ (getAttr "cl-wol_dot_core" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-wordcut = (build-asdf-system { - pname = "cl-wordcut"; - version = "20160421-git"; - asds = [ "cl-wordcut" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-wordcut/2016-04-21/cl-wordcut-20160421-git.tgz"; - sha256 = "1b8b3b1rgk0y87l54325ilcly8rq9qxalcsmw6rk8q6dq13lgv78"; - system = "cl-wordcut"; - asd = "cl-wordcut"; - }); - systems = [ "cl-wordcut" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xdg = (build-asdf-system { - pname = "cl-xdg"; - version = "20170124-git"; - asds = [ "cl-xdg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xdg/2017-01-24/cl-xdg-20170124-git.tgz"; - sha256 = "078hgsab0gl6s96wq09ibq5alzyyqh6wwc3yjs44fv18561p5jgc"; - system = "cl-xdg"; - asd = "cl-xdg"; - }); - systems = [ "cl-xdg" ]; - lispLibs = [ (getAttr "cl-sxml" self) (getAttr "cl-xmlspam" self) (getAttr "flexi-streams" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xdg-test = (build-asdf-system { - pname = "cl-xdg-test"; - version = "20170124-git"; - asds = [ "cl-xdg-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xdg/2017-01-24/cl-xdg-20170124-git.tgz"; - sha256 = "078hgsab0gl6s96wq09ibq5alzyyqh6wwc3yjs44fv18561p5jgc"; - system = "cl-xdg-test"; - asd = "cl-xdg"; - }); - systems = [ "cl-xdg-test" ]; - lispLibs = [ (getAttr "cl-xdg" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xkb = (build-asdf-system { - pname = "cl-xkb"; - version = "20230214-git"; - asds = [ "cl-xkb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xkb/2023-02-14/cl-xkb-20230214-git.tgz"; - sha256 = "002bskv0dvq2hahz7dah2zwwkp2zrkf98w7lm96jmqfn8vyp4k75"; - system = "cl-xkb"; - asd = "cl-xkb"; - }); - systems = [ "cl-xkb" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xkeysym = (build-asdf-system { - pname = "cl-xkeysym"; - version = "20140914-git"; - asds = [ "cl-xkeysym" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xkeysym/2014-09-14/cl-xkeysym-20140914-git.tgz"; - sha256 = "0yxijl6xb5apb6v6qm8g3kfdr90slgg6vsnx4d1ps9z4zhrjlc6c"; - system = "cl-xkeysym"; - asd = "cl-xkeysym"; - }); - systems = [ "cl-xkeysym" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xmlspam = (build-asdf-system { - pname = "cl-xmlspam"; - version = "20101006-http"; - asds = [ "cl-xmlspam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xmlspam/2010-10-06/cl-xmlspam-20101006-http.tgz"; - sha256 = "03jw57889b60nsqgb13vrf5q1g2fasah7qv7knjlx2w4mc1ci7ks"; - system = "cl-xmlspam"; - asd = "cl-xmlspam"; - }); - systems = [ "cl-xmlspam" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cxml" self) ]; - meta = {}; - }); - cl-xmpp = (build-asdf-system { - pname = "cl-xmpp"; - version = "0.8.1"; - asds = [ "cl-xmpp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz"; - sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f"; - system = "cl-xmpp"; - asd = "cl-xmpp"; - }); - systems = [ "cl-xmpp" ]; - lispLibs = [ (getAttr "cxml" self) (getAttr "ironclad" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xmpp-sasl = (build-asdf-system { - pname = "cl-xmpp-sasl"; - version = "0.8.1"; - asds = [ "cl-xmpp-sasl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz"; - sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f"; - system = "cl-xmpp-sasl"; - asd = "cl-xmpp-sasl"; - }); - systems = [ "cl-xmpp-sasl" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-sasl" self) (getAttr "cl-xmpp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xmpp-tls = (build-asdf-system { - pname = "cl-xmpp-tls"; - version = "0.8.1"; - asds = [ "cl-xmpp-tls" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz"; - sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f"; - system = "cl-xmpp-tls"; - asd = "cl-xmpp-tls"; - }); - systems = [ "cl-xmpp-tls" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "cl-xmpp-sasl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xul = (build-asdf-system { - pname = "cl-xul"; - version = "20160318-git"; - asds = [ "cl-xul" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xul/2016-03-18/cl-xul-20160318-git.tgz"; - sha256 = "0ldny4bjfndrkyqcq6klqxvqkpb0lhcqlj52y89ybl9w7dkl2d9p"; - system = "cl-xul"; - asd = "cl-xul"; - }); - systems = [ "cl-xul" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-json" self) (getAttr "closer-mop" self) (getAttr "clws" self) (getAttr "cxml" self) (getAttr "log5" self) (getAttr "md5" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-xul-test = (build-asdf-system { - pname = "cl-xul-test"; - version = "20160318-git"; - asds = [ "cl-xul-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-xul/2016-03-18/cl-xul-20160318-git.tgz"; - sha256 = "0ldny4bjfndrkyqcq6klqxvqkpb0lhcqlj52y89ybl9w7dkl2d9p"; - system = "cl-xul-test"; - asd = "cl-xul-test"; - }); - systems = [ "cl-xul-test" ]; - lispLibs = [ (getAttr "cl-xul" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-yaclyaml = (build-asdf-system { - pname = "cl-yaclyaml"; - version = "20160825-git"; - asds = [ "cl-yaclyaml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yaclyaml/2016-08-25/cl-yaclyaml-20160825-git.tgz"; - sha256 = "1clfhz4ii2p11yc3bm23ib4rx0rfxsh18ddc2br82i7mbwks3pll"; - system = "cl-yaclyaml"; - asd = "cl-yaclyaml"; - }); - systems = [ "cl-yaclyaml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "cl-test-more" self) (getAttr "esrap-liquid" self) (getAttr "iterate" self) (getAttr "parse-number" self) (getAttr "rutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-yaclyaml-tests = (build-asdf-system { - pname = "cl-yaclyaml-tests"; - version = "20160825-git"; - asds = [ "cl-yaclyaml-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yaclyaml/2016-08-25/cl-yaclyaml-20160825-git.tgz"; - sha256 = "1clfhz4ii2p11yc3bm23ib4rx0rfxsh18ddc2br82i7mbwks3pll"; - system = "cl-yaclyaml-tests"; - asd = "cl-yaclyaml"; - }); - systems = [ "cl-yaclyaml-tests" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cl-yaclyaml" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-yahoo-finance = (build-asdf-system { - pname = "cl-yahoo-finance"; - version = "20130312-git"; - asds = [ "cl-yahoo-finance" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yahoo-finance/2013-03-12/cl-yahoo-finance-20130312-git.tgz"; - sha256 = "1qhs4j00iw1w81lx0vmyiayzqyvixaxc5j2rc89qlr1gx12mqadl"; - system = "cl-yahoo-finance"; - asd = "cl-yahoo-finance"; - }); - systems = [ "cl-yahoo-finance" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-csv" self) (getAttr "drakma" self) (getAttr "url-rewrite" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-yaml = (build-asdf-system { - pname = "cl-yaml"; - version = "20221106-git"; - asds = [ "cl-yaml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yaml/2022-11-06/cl-yaml-20221106-git.tgz"; - sha256 = "053fvrrd0p2xx4zxbz4kg9469895ypwsbjfd3nwpi7lwcll2bir5"; - system = "cl-yaml"; - asd = "cl-yaml"; - }); - systems = [ "cl-yaml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-libyaml" self) (getAttr "cl-ppcre" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-yaml-test = (build-asdf-system { - pname = "cl-yaml-test"; - version = "20221106-git"; - asds = [ "cl-yaml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yaml/2022-11-06/cl-yaml-20221106-git.tgz"; - sha256 = "053fvrrd0p2xx4zxbz4kg9469895ypwsbjfd3nwpi7lwcll2bir5"; - system = "cl-yaml-test"; - asd = "cl-yaml-test"; - }); - systems = [ "cl-yaml-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-yaml" self) (getAttr "fiveam" self) (getAttr "generic-comparability" self) (getAttr "trivial-benchmark" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-yesql = (build-asdf-system { - pname = "cl-yesql"; - version = "20211020-git"; - asds = [ "cl-yesql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yesql/2021-10-20/cl-yesql-20211020-git.tgz"; - sha256 = "0bg133kprbssv0z4ir2hkhf72fbmnz9v9861ncs1isqaby2d4xlj"; - system = "cl-yesql"; - asd = "cl-yesql"; - }); - systems = [ "cl-yesql" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "esrap" self) (getAttr "serapeum" self) (getAttr "trivia" self) (getAttr "vernacular" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-zipper = (build-asdf-system { - pname = "cl-zipper"; - version = "20200610-git"; - asds = [ "cl-zipper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zipper/2020-06-10/cl-zipper-20200610-git.tgz"; - sha256 = "1zcfy97l40ynbldxpx8nad81jlrfp0k2vic10wbkrqdfkr696xkg"; - system = "cl-zipper"; - asd = "cl-zipper"; - }); - systems = [ "cl-zipper" ]; - lispLibs = [ (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl-zipper-test = (build-asdf-system { - pname = "cl-zipper-test"; - version = "20200610-git"; - asds = [ "cl-zipper-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zipper/2020-06-10/cl-zipper-20200610-git.tgz"; - sha256 = "1zcfy97l40ynbldxpx8nad81jlrfp0k2vic10wbkrqdfkr696xkg"; - system = "cl-zipper-test"; - asd = "cl-zipper"; - }); - systems = [ "cl-zipper-test" ]; - lispLibs = [ (getAttr "cl-zipper" self) (getAttr "prove-asdf" self) (getAttr "test-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cl4store = (build-asdf-system { - pname = "cl4store"; - version = "20200325-git"; - asds = [ "cl4store" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl4store/2020-03-25/cl4store-20200325-git.tgz"; - sha256 = "0qajxwlvmb5vd9qynnl0n62bcl1xhin49xk0p44v6pig8q2jzc26"; - system = "cl4store"; - asd = "cl4store"; - }); - systems = [ "cl4store" ]; - lispLibs = [ (getAttr "cl-rdfxml" self) (getAttr "cl-sparql" self) (getAttr "drakma" self) (getAttr "log5" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clache = (build-asdf-system { - pname = "clache"; - version = "20171130-git"; - asds = [ "clache" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clache/2017-11-30/clache-20171130-git.tgz"; - sha256 = "0wxg004bsay58vr6xr6mlk7wj415qmvisqxvpnjsg6glfwca86ys"; - system = "clache"; - asd = "clache"; - }); - systems = [ "clache" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-annot" self) (getAttr "cl-fad" self) (getAttr "cl-store" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) (getAttr "ironclad" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clache-test = (build-asdf-system { - pname = "clache-test"; - version = "20171130-git"; - asds = [ "clache-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clache/2017-11-30/clache-20171130-git.tgz"; - sha256 = "0wxg004bsay58vr6xr6mlk7wj415qmvisqxvpnjsg6glfwca86ys"; - system = "clache-test"; - asd = "clache-test"; - }); - systems = [ "clache-test" ]; - lispLibs = [ (getAttr "cl-test-more" self) (getAttr "clache" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack = (build-asdf-system { - pname = "clack"; - version = "20241012-git"; - asds = [ "clack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "clack"; - asd = "clack"; - }); - systems = [ "clack" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "lack" self) (getAttr "lack-middleware-backtrace" self) (getAttr "lack-util" self) (getAttr "swank" self) (getAttr "usocket" self) ]; - meta = {}; - }); - clack-cors = (build-asdf-system { - pname = "clack-cors"; - version = "20241012-git"; - asds = [ "clack-cors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; - sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; - system = "clack-cors"; - asd = "clack-cors"; - }); - systems = [ "clack-cors" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "log4cl" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-cors-ci = (build-asdf-system { - pname = "clack-cors-ci"; - version = "20241012-git"; - asds = [ "clack-cors-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; - sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; - system = "clack-cors-ci"; - asd = "clack-cors-ci"; - }); - systems = [ "clack-cors-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-cors-docs = (build-asdf-system { - pname = "clack-cors-docs"; - version = "20241012-git"; - asds = [ "clack-cors-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; - sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; - system = "clack-cors-docs"; - asd = "clack-cors-docs"; - }); - systems = [ "clack-cors-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "clack-cors" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-cors-tests = (build-asdf-system { - pname = "clack-cors-tests"; - version = "20241012-git"; - asds = [ "clack-cors-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; - sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; - system = "clack-cors-tests"; - asd = "clack-cors-tests"; - }); - systems = [ "clack-cors-tests" ]; - lispLibs = [ (getAttr "clack-test" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-errors = (build-asdf-system { - pname = "clack-errors"; - version = "20190813-git"; - asds = [ "clack-errors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; - sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; - system = "clack-errors"; - asd = "clack-errors"; - }); - systems = [ "clack-errors" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "clack" self) (getAttr "closer-mop" self) (getAttr "djula" self) (getAttr "local-time" self) (getAttr "trivial-backtrace" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-errors-demo = (build-asdf-system { - pname = "clack-errors-demo"; - version = "20190813-git"; - asds = [ "clack-errors-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; - sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; - system = "clack-errors-demo"; - asd = "clack-errors-demo"; - }); - systems = [ "clack-errors-demo" ]; - lispLibs = [ (getAttr "cl-markup" self) (getAttr "clack-errors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-errors-test = (build-asdf-system { - pname = "clack-errors-test"; - version = "20190813-git"; - asds = [ "clack-errors-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; - sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; - system = "clack-errors-test"; - asd = "clack-errors-test"; - }); - systems = [ "clack-errors-test" ]; - lispLibs = [ (getAttr "clack" self) (getAttr "clack-errors" self) (getAttr "drakma" self) (getAttr "fiveam" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-handler-hunchentoot = (build-asdf-system { - pname = "clack-handler-hunchentoot"; - version = "20241012-git"; - asds = [ "clack-handler-hunchentoot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "clack-handler-hunchentoot"; - asd = "clack-handler-hunchentoot"; - }); - systems = [ "clack-handler-hunchentoot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "clack-socket" self) (getAttr "flexi-streams" self) (getAttr "hunchentoot" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-handler-toot = (build-asdf-system { - pname = "clack-handler-toot"; - version = "20241012-git"; - asds = [ "clack-handler-toot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "clack-handler-toot"; - asd = "clack-handler-toot"; - }); - systems = [ "clack-handler-toot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "split-sequence" self) (getAttr "toot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-handler-woo = (build-asdf-system { - pname = "clack-handler-woo"; - version = "20241012-git"; - asds = [ "clack-handler-woo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/woo/2024-10-12/woo-20241012-git.tgz"; - sha256 = "0nhxlb1qhkl20vknm44gx0cq5cks33rcljczfhgbnmpkzrdpdrrl"; - system = "clack-handler-woo"; - asd = "clack-handler-woo"; - }); - systems = [ "clack-handler-woo" ]; - lispLibs = [ (getAttr "woo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-handler-wookie = (build-asdf-system { - pname = "clack-handler-wookie"; - version = "20241012-git"; - asds = [ "clack-handler-wookie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "clack-handler-wookie"; - asd = "clack-handler-wookie"; - }); - systems = [ "clack-handler-wookie" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-async" self) (getAttr "clack-socket" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "flexi-streams" self) (getAttr "quri" self) (getAttr "split-sequence" self) (getAttr "wookie" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-pretend = (build-asdf-system { - pname = "clack-pretend"; - version = "20241012-git"; - asds = [ "clack-pretend" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-pretend/2024-10-12/clack-pretend-20241012-git.tgz"; - sha256 = "0f9y264bdxspd3sfzf9hq7v0myvq5va0drw8kji1b4gyprmg995k"; - system = "clack-pretend"; - asd = "clack-pretend"; - }); - systems = [ "clack-pretend" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "circular-streams" self) (getAttr "cl-hash-util" self) (getAttr "clack" self) (getAttr "lack-request" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-prometheus = (build-asdf-system { - pname = "clack-prometheus"; - version = "20241012-git"; - asds = [ "clack-prometheus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; - sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; - system = "clack-prometheus"; - asd = "clack-prometheus"; - }); - systems = [ "clack-prometheus" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "cffi-grovel" self) (getAttr "lack-middleware-mount" self) (getAttr "prometheus" self) (getAttr "prometheus-gc" self) (getAttr "prometheus_dot_collectors_dot_process" self) (getAttr "prometheus_dot_collectors_dot_sbcl" self) (getAttr "prometheus_dot_formats_dot_text" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-prometheus-ci = (build-asdf-system { - pname = "clack-prometheus-ci"; - version = "20241012-git"; - asds = [ "clack-prometheus-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; - sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; - system = "clack-prometheus-ci"; - asd = "clack-prometheus-ci"; - }); - systems = [ "clack-prometheus-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-prometheus-docs = (build-asdf-system { - pname = "clack-prometheus-docs"; - version = "20241012-git"; - asds = [ "clack-prometheus-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; - sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; - system = "clack-prometheus-docs"; - asd = "clack-prometheus-docs"; - }); - systems = [ "clack-prometheus-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "clack-prometheus" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-prometheus-tests = (build-asdf-system { - pname = "clack-prometheus-tests"; - version = "20241012-git"; - asds = [ "clack-prometheus-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; - sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; - system = "clack-prometheus-tests"; - asd = "clack-prometheus-tests"; - }); - systems = [ "clack-prometheus-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-socket = (build-asdf-system { - pname = "clack-socket"; - version = "20241012-git"; - asds = [ "clack-socket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "clack-socket"; - asd = "clack-socket"; - }); - systems = [ "clack-socket" ]; - lispLibs = [ ]; - meta = {}; - }); - clack-static-asset-djula-helpers = (build-asdf-system { - pname = "clack-static-asset-djula-helpers"; - version = "20211209-git"; - asds = [ "clack-static-asset-djula-helpers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz"; - sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc"; - system = "clack-static-asset-djula-helpers"; - asd = "clack-static-asset-djula-helpers"; - }); - systems = [ "clack-static-asset-djula-helpers" ]; - lispLibs = [ (getAttr "clack-static-asset-middleware" self) (getAttr "djula" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-static-asset-middleware = (build-asdf-system { - pname = "clack-static-asset-middleware"; - version = "20211209-git"; - asds = [ "clack-static-asset-middleware" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz"; - sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc"; - system = "clack-static-asset-middleware"; - asd = "clack-static-asset-middleware"; - }); - systems = [ "clack-static-asset-middleware" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "ironclad" self) (getAttr "local-time" self) (getAttr "trivial-mimes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-static-asset-middleware-test = (build-asdf-system { - pname = "clack-static-asset-middleware-test"; - version = "20211209-git"; - asds = [ "clack-static-asset-middleware-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz"; - sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc"; - system = "clack-static-asset-middleware-test"; - asd = "clack-static-asset-middleware-test"; - }); - systems = [ "clack-static-asset-middleware-test" ]; - lispLibs = [ (getAttr "clack-static-asset-djula-helpers" self) (getAttr "clack-static-asset-middleware" self) (getAttr "lack-test" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clack-test = (build-asdf-system { - pname = "clack-test"; - version = "20241012-git"; - asds = [ "clack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "clack-test"; - asd = "clack-test"; - }); - systems = [ "clack-test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "clack" self) (getAttr "clack-handler-hunchentoot" self) (getAttr "dexador" self) (getAttr "flexi-streams" self) (getAttr "http-body" self) (getAttr "ironclad" self) (getAttr "rove" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clad = (build-asdf-system { - pname = "clad"; - version = "20241012-git"; - asds = [ "clad" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clad/2024-10-12/clad-20241012-git.tgz"; - sha256 = "1ah8d4wyd7yqchcnyjcnd27gx2m410cgybyp194ng1ipdpa4mm6n"; - system = "clad"; - asd = "clad"; - }); - systems = [ "clad" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - class-options = (build-asdf-system { - pname = "class-options"; - version = "1.0.1"; - asds = [ "class-options" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/class-options/2020-10-16/class-options_1.0.1.tgz"; - sha256 = "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk"; - system = "class-options"; - asd = "class-options"; - }); - systems = [ "class-options" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - class-options__tests = (build-asdf-system { - pname = "class-options_tests"; - version = "1.0.1"; - asds = [ "class-options_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/class-options/2020-10-16/class-options_1.0.1.tgz"; - sha256 = "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk"; - system = "class-options_tests"; - asd = "class-options_tests"; - }); - systems = [ "class-options_tests" ]; - lispLibs = [ (getAttr "class-options" self) (getAttr "closer-mop" self) (getAttr "enhanced-boolean" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - classimp = (build-asdf-system { - pname = "classimp"; - version = "20241012-git"; - asds = [ "classimp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/classimp/2024-10-12/classimp-20241012-git.tgz"; - sha256 = "1sq34s5yrljh7fffllsscay7xi11lg03alrkyrh6xfwa2w7cnqmx"; - system = "classimp"; - asd = "classimp"; - }); - systems = [ "classimp" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - classimp-samples = (build-asdf-system { - pname = "classimp-samples"; - version = "20241012-git"; - asds = [ "classimp-samples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/classimp/2024-10-12/classimp-20241012-git.tgz"; - sha256 = "1sq34s5yrljh7fffllsscay7xi11lg03alrkyrh6xfwa2w7cnqmx"; - system = "classimp-samples"; - asd = "classimp-samples"; - }); - systems = [ "classimp-samples" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-glu" self) (getAttr "cl-glut" self) (getAttr "cl-ilut" self) (getAttr "classimp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - classowary = (build-asdf-system { - pname = "classowary"; - version = "20231021-git"; - asds = [ "classowary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/classowary/2023-10-21/classowary-20231021-git.tgz"; - sha256 = "099zhf41d4frlrm99ldzypqjh03ijrvfn29f2pb0j6664h65bcsm"; - system = "classowary"; - asd = "classowary"; - }); - systems = [ "classowary" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = {}; - }); - classowary-test = (build-asdf-system { - pname = "classowary-test"; - version = "20231021-git"; - asds = [ "classowary-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/classowary/2023-10-21/classowary-20231021-git.tgz"; - sha256 = "099zhf41d4frlrm99ldzypqjh03ijrvfn29f2pb0j6664h65bcsm"; - system = "classowary-test"; - asd = "classowary-test"; - }); - systems = [ "classowary-test" ]; - lispLibs = [ (getAttr "classowary" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clast = (build-asdf-system { - pname = "clast"; - version = "20241012-git"; - asds = [ "clast" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clast/2024-10-12/clast-20241012-git.tgz"; - sha256 = "0509hrpd049s62s03wwb2mp24dfw8f0l8cg0vgq3s8wrsch7af2m"; - system = "clast"; - asd = "clast"; - }); - systems = [ "clast" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clath = (build-asdf-system { - pname = "clath"; - version = "20241012-git"; - asds = [ "clath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clath/2024-10-12/clath-20241012-git.tgz"; - sha256 = "0519jzm8r55am6f5w11pfbyq0bvn8jxkcz33kbrznwrf43xz5fcv"; - system = "clath"; - asd = "clath"; - }); - systems = [ "clath" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-hash-util" self) (getAttr "cl-json" self) (getAttr "cl-who" self) (getAttr "clack" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "jose" self) (getAttr "ningle" self) (getAttr "north" self) (getAttr "ubiquitous" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clavatar = (build-asdf-system { - pname = "clavatar"; - version = "20121013-git"; - asds = [ "clavatar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clavatar/2012-10-13/clavatar-20121013-git.tgz"; - sha256 = "07r58d4dk5nr3aimrryzbf3jw6580b5gkkbpw74ax4nmm8hz6v5y"; - system = "clavatar"; - asd = "clavatar"; - }); - systems = [ "clavatar" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "drakma" self) (getAttr "iolib" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clavier = (build-asdf-system { - pname = "clavier"; - version = "20241012-git"; - asds = [ "clavier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clavier/2024-10-12/clavier-20241012-git.tgz"; - sha256 = "0v81ql9bbnsqaxcrv0ynm82xwifxvc6ysmfrn1lgphn4szx1p230"; - system = "clavier"; - asd = "clavier"; - }); - systems = [ "clavier" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "chronicity" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clavier_dot_test = (build-asdf-system { - pname = "clavier.test"; - version = "20241012-git"; - asds = [ "clavier.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clavier/2024-10-12/clavier-20241012-git.tgz"; - sha256 = "0v81ql9bbnsqaxcrv0ynm82xwifxvc6ysmfrn1lgphn4szx1p230"; - system = "clavier.test"; - asd = "clavier.test"; - }); - systems = [ "clavier.test" ]; - lispLibs = [ (getAttr "clavier" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - claw = (build-asdf-system { - pname = "claw"; - version = "stable-git"; - asds = [ "claw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz"; - sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"; - system = "claw"; - asd = "claw"; - }); - systems = [ "claw" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "claw-support" self) (getAttr "local-time" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - claw-olm = (build-asdf-system { - pname = "claw-olm"; - version = "20210531-git"; - asds = [ "claw-olm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/claw-olm/2021-05-31/claw-olm-20210531-git.tgz"; - sha256 = "04r6d8infhcc7vz95asrvlpc0wzkzq1blaza74nd62alakr6mmrr"; - system = "claw-olm"; - asd = "claw-olm"; - }); - systems = [ "claw-olm" ]; - lispLibs = [ (getAttr "claw-olm-bindings" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - claw-olm-bindings = (build-asdf-system { - pname = "claw-olm-bindings"; - version = "20210531-git"; - asds = [ "claw-olm-bindings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/claw-olm/2021-05-31/claw-olm-20210531-git.tgz"; - sha256 = "04r6d8infhcc7vz95asrvlpc0wzkzq1blaza74nd62alakr6mmrr"; - system = "claw-olm-bindings"; - asd = "claw-olm-bindings"; - }); - systems = [ "claw-olm-bindings" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - claw-support = (build-asdf-system { - pname = "claw-support"; - version = "stable-git"; - asds = [ "claw-support" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/claw-support/2020-10-16/claw-support-stable-git.tgz"; - sha256 = "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"; - system = "claw-support"; - asd = "claw-support"; - }); - systems = [ "claw-support" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - claw-utils = (build-asdf-system { - pname = "claw-utils"; - version = "stable-git"; - asds = [ "claw-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/claw-utils/2020-10-16/claw-utils-stable-git.tgz"; - sha256 = "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"; - system = "claw-utils"; - asd = "claw-utils"; - }); - systems = [ "claw-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "claw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clawk = (build-asdf-system { - pname = "clawk"; - version = "20200925-git"; - asds = [ "clawk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clawk/2020-09-25/clawk-20200925-git.tgz"; - sha256 = "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"; - system = "clawk"; - asd = "clawk"; - }); - systems = [ "clawk" ]; - lispLibs = [ (getAttr "regex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - claxy = (build-asdf-system { - pname = "claxy"; - version = "20220220-git"; - asds = [ "claxy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/claxy/2022-02-20/claxy-20220220-git.tgz"; - sha256 = "1n6zbsfp0zkndw7r3nar8srjj1wmfgngia3p7z756mmsvp1l68va"; - system = "claxy"; - asd = "claxy"; - }); - systems = [ "claxy" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "dexador" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clazy = (build-asdf-system { - pname = "clazy"; - version = "20241012-git"; - asds = [ "clazy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clazy/2024-10-12/clazy-20241012-git.tgz"; - sha256 = "0z9iy89p4grj2a803nlrnvj335c6knmnlbicpf0b4br41j6q74xj"; - system = "clazy"; - asd = "clazy"; - }); - systems = [ "clazy" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clem = (build-asdf-system { - pname = "clem"; - version = "20210807-git"; - asds = [ "clem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz"; - sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk"; - system = "clem"; - asd = "clem"; - }); - systems = [ "clem" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clem-benchmark = (build-asdf-system { - pname = "clem-benchmark"; - version = "20210807-git"; - asds = [ "clem-benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz"; - sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk"; - system = "clem-benchmark"; - asd = "clem-benchmark"; - }); - systems = [ "clem-benchmark" ]; - lispLibs = [ (getAttr "clem" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clem-test = (build-asdf-system { - pname = "clem-test"; - version = "20210807-git"; - asds = [ "clem-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz"; - sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk"; - system = "clem-test"; - asd = "clem-test"; - }); - systems = [ "clem-test" ]; - lispLibs = [ (getAttr "clem" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cleric = (build-asdf-system { - pname = "cleric"; - version = "20220220-git"; - asds = [ "cleric" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cleric/2022-02-20/cleric-20220220-git.tgz"; - sha256 = "0a0xqr0bpp0v62f8d13yflz3vz6j4fa9icgc134ajaqxcfa7k0vp"; - system = "cleric"; - asd = "cleric"; - }); - systems = [ "cleric" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "com_dot_gigamonkeys_dot_binary-data" self) (getAttr "epmd" self) (getAttr "erlang-term" self) (getAttr "md5" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cleric-test = (build-asdf-system { - pname = "cleric-test"; - version = "20220220-git"; - asds = [ "cleric-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cleric/2022-02-20/cleric-20220220-git.tgz"; - sha256 = "0a0xqr0bpp0v62f8d13yflz3vz6j4fa9icgc134ajaqxcfa7k0vp"; - system = "cleric-test"; - asd = "cleric-test"; - }); - systems = [ "cleric-test" ]; - lispLibs = [ (getAttr "cleric" self) (getAttr "erlang-term-test" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clerk = (build-asdf-system { - pname = "clerk"; - version = "20241012-git"; - asds = [ "clerk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clerk/2024-10-12/clerk-20241012-git.tgz"; - sha256 = "0p81ha537bfs8421y74vrvhi1h61f38djr3iwgab30f6sdfj4k8j"; - system = "clerk"; - asd = "clerk"; - }); - systems = [ "clerk" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clerk-test = (build-asdf-system { - pname = "clerk-test"; - version = "20241012-git"; - asds = [ "clerk-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clerk/2024-10-12/clerk-20241012-git.tgz"; - sha256 = "0p81ha537bfs8421y74vrvhi1h61f38djr3iwgab30f6sdfj4k8j"; - system = "clerk-test"; - asd = "clerk"; - }); - systems = [ "clerk-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clesh = (build-asdf-system { - pname = "clesh"; - version = "20201220-git"; - asds = [ "clesh" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clesh/2020-12-20/clesh-20201220-git.tgz"; - sha256 = "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"; - system = "clesh"; - asd = "clesh"; - }); - systems = [ "clesh" ]; - lispLibs = [ (getAttr "named-readtables" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clesh-tests = (build-asdf-system { - pname = "clesh-tests"; - version = "20201220-git"; - asds = [ "clesh-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clesh/2020-12-20/clesh-20201220-git.tgz"; - sha256 = "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"; - system = "clesh-tests"; - asd = "clesh-tests"; - }); - systems = [ "clesh-tests" ]; - lispLibs = [ (getAttr "clesh" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cletris = (build-asdf-system { - pname = "cletris"; - version = "20211020-git"; - asds = [ "cletris" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz"; - sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v"; - system = "cletris"; - asd = "cletris"; - }); - systems = [ "cletris" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "pal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cletris-network = (build-asdf-system { - pname = "cletris-network"; - version = "20211020-git"; - asds = [ "cletris-network" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz"; - sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v"; - system = "cletris-network"; - asd = "cletris-network"; - }); - systems = [ "cletris-network" ]; - lispLibs = [ (getAttr "cl-log" self) (getAttr "cl-ppcre" self) (getAttr "cletris" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cletris-test = (build-asdf-system { - pname = "cletris-test"; - version = "20211020-git"; - asds = [ "cletris-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz"; - sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v"; - system = "cletris-test"; - asd = "cletris-test"; - }); - systems = [ "cletris-test" ]; - lispLibs = [ (getAttr "cletris" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clfswm = (build-asdf-system { - pname = "clfswm"; - version = "20161204-git"; - asds = [ "clfswm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clfswm/2016-12-04/clfswm-20161204-git.tgz"; - sha256 = "1r84cpcs74avkjw18ckz3r3836xhky2fcf5ypbfmajpjzxwn5dzc"; - system = "clfswm"; - asd = "clfswm"; - }); - systems = [ "clfswm" ]; - lispLibs = [ (getAttr "clx" self) ]; - meta = {}; - }); - clgplot = (build-asdf-system { - pname = "clgplot"; - version = "20241012-git"; - asds = [ "clgplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clgplot/2024-10-12/clgplot-20241012-git.tgz"; - sha256 = "0sl5g33v1lpkjimmcs22f32hgnlfhz0ydd5rgy0ykwb7jf7x3pv7"; - system = "clgplot"; - asd = "clgplot"; - }); - systems = [ "clgplot" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clgplot-test = (build-asdf-system { - pname = "clgplot-test"; - version = "20241012-git"; - asds = [ "clgplot-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clgplot/2024-10-12/clgplot-20241012-git.tgz"; - sha256 = "0sl5g33v1lpkjimmcs22f32hgnlfhz0ydd5rgy0ykwb7jf7x3pv7"; - system = "clgplot-test"; - asd = "clgplot-test"; - }); - systems = [ "clgplot-test" ]; - lispLibs = [ (getAttr "clgplot" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clhs = (build-asdf-system { - pname = "clhs"; - version = "0.6.3"; - asds = [ "clhs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clhs/2015-04-07/clhs-0.6.3.tgz"; - sha256 = "1jffq2w9yql4cvxy2g5c2v402014306qklp4xhddjjlfvs30sfjd"; - system = "clhs"; - asd = "clhs"; - }); - systems = [ "clhs" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cli-parser = (build-asdf-system { - pname = "cli-parser"; - version = "20150608-git"; - asds = [ "cli-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cli-parser/2015-06-08/cl-cli-parser-20150608-git.tgz"; - sha256 = "0gnpakzakkb2j67v2wh4q87k6mmrv0c0fg56m4vx88kgpxp7f90f"; - system = "cli-parser"; - asd = "cli-parser"; - }); - systems = [ "cli-parser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clickr = (build-asdf-system { - pname = "clickr"; - version = "20140713-git"; - asds = [ "clickr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clickr/2014-07-13/clickr-20140713-git.tgz"; - sha256 = "0sykp4aaxjf8xcyiqyqs6967f0fna8ahjqi7ij5z79fd530sxz2s"; - system = "clickr"; - asd = "clickr"; - }); - systems = [ "clickr" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "md5" self) (getAttr "s-xml" self) (getAttr "s-xml-rpc" self) (getAttr "trivial-http" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim = (build-asdf-system { - pname = "clim"; - version = "20241012-git"; - asds = [ "clim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim"; - asd = "clim"; - }); - systems = [ "clim" ]; - lispLibs = [ (getAttr "clim-core" self) (getAttr "drei-mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-core = (build-asdf-system { - pname = "clim-core"; - version = "20241012-git"; - asds = [ "clim-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-core"; - asd = "clim-core"; - }); - systems = [ "clim-core" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "cluffer" self) (getAttr "spatial-trees" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-debugger = (build-asdf-system { - pname = "clim-debugger"; - version = "20241012-git"; - asds = [ "clim-debugger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-debugger"; - asd = "clim-debugger"; - }); - systems = [ "clim-debugger" ]; - lispLibs = [ (getAttr "clouseau" self) (getAttr "mcclim" self) (getAttr "slim" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-examples = (build-asdf-system { - pname = "clim-examples"; - version = "20241012-git"; - asds = [ "clim-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-examples"; - asd = "clim-examples"; - }); - systems = [ "clim-examples" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "clim" self) (getAttr "closer-mop" self) (getAttr "lorem-ipsum" self) (getAttr "mcclim" self) (getAttr "mcclim-raster-image" self) (getAttr "mcclim-svg" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-lisp = (build-asdf-system { - pname = "clim-lisp"; - version = "20241012-git"; - asds = [ "clim-lisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-lisp"; - asd = "clim-lisp"; - }); - systems = [ "clim-lisp" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "cluffer" self) (getAttr "trivial-features" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-listener = (build-asdf-system { - pname = "clim-listener"; - version = "20241012-git"; - asds = [ "clim-listener" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-listener"; - asd = "clim-listener"; - }); - systems = [ "clim-listener" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "clim-debugger" self) (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-pdf = (build-asdf-system { - pname = "clim-pdf"; - version = "20241012-git"; - asds = [ "clim-pdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-pdf"; - asd = "clim-pdf"; - }); - systems = [ "clim-pdf" ]; - lispLibs = [ (getAttr "cl-pdf" self) (getAttr "cl-pdf-parser" self) (getAttr "clim" self) (getAttr "clim-postscript" self) (getAttr "clim-postscript-font" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-postscript = (build-asdf-system { - pname = "clim-postscript"; - version = "20241012-git"; - asds = [ "clim-postscript" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-postscript"; - asd = "clim-postscript"; - }); - systems = [ "clim-postscript" ]; - lispLibs = [ (getAttr "clim" self) (getAttr "clim-postscript-font" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-postscript-font = (build-asdf-system { - pname = "clim-postscript-font"; - version = "20241012-git"; - asds = [ "clim-postscript-font" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clim-postscript-font"; - asd = "clim-postscript-font"; - }); - systems = [ "clim-postscript-font" ]; - lispLibs = [ (getAttr "clim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clim-widgets = (build-asdf-system { - pname = "clim-widgets"; - version = "20200715-git"; - asds = [ "clim-widgets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clim-widgets/2020-07-15/clim-widgets-20200715-git.tgz"; - sha256 = "0cpr8xn5a33sy75d06b95cfd3b1h9m5iixgg5h4isavpx3aglmy2"; - system = "clim-widgets"; - asd = "clim-widgets"; - }); - systems = [ "clim-widgets" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "closer-mop" self) (getAttr "local-time" self) (getAttr "manifest" self) (getAttr "mcclim" self) (getAttr "nsort" self) (getAttr "perlre" self) (getAttr "simple-date-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - climacs = (build-asdf-system { - pname = "climacs"; - version = "20241012-git"; - asds = [ "climacs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/climacs/2024-10-12/climacs-20241012-git.tgz"; - sha256 = "0swbnsnavwaxpdcdsdag6iadc6v436pawbrzz6p8lkkbmbmc7yf8"; - system = "climacs"; - asd = "climacs"; - }); - systems = [ "climacs" ]; - lispLibs = [ (getAttr "flexichain" self) (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - climc = (build-asdf-system { - pname = "climc"; - version = "20230214-git"; - asds = [ "climc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/climc/2023-02-14/climc-20230214-git.tgz"; - sha256 = "0wnsyxkff5i4n36rwb5z54j4gi0j9n8459wcm6cj3lg77njmpasb"; - system = "climc"; - asd = "climc"; - }); - systems = [ "climc" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-xmpp-tls" self) (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - climc-test = (build-asdf-system { - pname = "climc-test"; - version = "20230214-git"; - asds = [ "climc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/climc/2023-02-14/climc-20230214-git.tgz"; - sha256 = "0wnsyxkff5i4n36rwb5z54j4gi0j9n8459wcm6cj3lg77njmpasb"; - system = "climc-test"; - asd = "climc-test"; - }); - systems = [ "climc-test" ]; - lispLibs = [ (getAttr "climc" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - climon = (build-asdf-system { - pname = "climon"; - version = "20220220-git"; - asds = [ "climon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/climon/2022-02-20/climon-20220220-git.tgz"; - sha256 = "00bdxpzgvmf5yg785xc9454nv7x5n314kywjd0f12mbvrgklb818"; - system = "climon"; - asd = "climon"; - }); - systems = [ "climon" ]; - lispLibs = [ (getAttr "pal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - climon-test = (build-asdf-system { - pname = "climon-test"; - version = "20220220-git"; - asds = [ "climon-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/climon/2022-02-20/climon-20220220-git.tgz"; - sha256 = "00bdxpzgvmf5yg785xc9454nv7x5n314kywjd0f12mbvrgklb818"; - system = "climon-test"; - asd = "climon-test"; - }); - systems = [ "climon-test" ]; - lispLibs = [ (getAttr "climon" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clinch = (build-asdf-system { - pname = "clinch"; - version = "20180228-git"; - asds = [ "clinch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; - sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; - system = "clinch"; - asd = "clinch"; - }); - systems = [ "clinch" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-opengl" self) (getAttr "rtg-math" self) (getAttr "sdl2" self) (getAttr "swank" self) (getAttr "trivial-channels" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clinch-cairo = (build-asdf-system { - pname = "clinch-cairo"; - version = "20180228-git"; - asds = [ "clinch-cairo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; - sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; - system = "clinch-cairo"; - asd = "clinch-cairo"; - }); - systems = [ "clinch-cairo" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-cairo2" self) (getAttr "clinch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clinch-classimp = (build-asdf-system { - pname = "clinch-classimp"; - version = "20180228-git"; - asds = [ "clinch-classimp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; - sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; - system = "clinch-classimp"; - asd = "clinch-classimp"; - }); - systems = [ "clinch-classimp" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "classimp" self) (getAttr "clinch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clinch-freeimage = (build-asdf-system { - pname = "clinch-freeimage"; - version = "20180228-git"; - asds = [ "clinch-freeimage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; - sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; - system = "clinch-freeimage"; - asd = "clinch-freeimage"; - }); - systems = [ "clinch-freeimage" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-freeimage" self) (getAttr "clinch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clinch-pango = (build-asdf-system { - pname = "clinch-pango"; - version = "20180228-git"; - asds = [ "clinch-pango" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; - sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; - system = "clinch-pango"; - asd = "clinch-pango"; - }); - systems = [ "clinch-pango" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-cairo2" self) (getAttr "cl-pango" self) (getAttr "clinch" self) (getAttr "clinch-cairo" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clinenoise = (build-asdf-system { - pname = "clinenoise"; - version = "20200427-git"; - asds = [ "clinenoise" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clinenoise/2020-04-27/clinenoise-20200427-git.tgz"; - sha256 = "0ydlirfk4dbpqqjwwph99v5swcrhd8v9g8q24fvs35wn2vm08lh1"; - system = "clinenoise"; - asd = "clinenoise"; - }); - systems = [ "clinenoise" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clingon = (build-asdf-system { - pname = "clingon"; - version = "20241012-git"; - asds = [ "clingon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; - sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; - system = "clingon"; - asd = "clingon"; - }); - systems = [ "clingon" ]; - lispLibs = [ (getAttr "bobbin" self) (getAttr "cl-reexport" self) (getAttr "split-sequence" self) (getAttr "with-user-abort" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clingon_dot_demo = (build-asdf-system { - pname = "clingon.demo"; - version = "20241012-git"; - asds = [ "clingon.demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; - sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; - system = "clingon.demo"; - asd = "clingon.demo"; - }); - systems = [ "clingon.demo" ]; - lispLibs = [ (getAttr "clingon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clingon_dot_intro = (build-asdf-system { - pname = "clingon.intro"; - version = "20241012-git"; - asds = [ "clingon.intro" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; - sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; - system = "clingon.intro"; - asd = "clingon.intro"; - }); - systems = [ "clingon.intro" ]; - lispLibs = [ (getAttr "clingon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clingon_dot_test = (build-asdf-system { - pname = "clingon.test"; - version = "20241012-git"; - asds = [ "clingon.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; - sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; - system = "clingon.test"; - asd = "clingon.test"; - }); - systems = [ "clingon.test" ]; - lispLibs = [ (getAttr "clingon" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clip = (build-asdf-system { - pname = "clip"; - version = "20241012-git"; - asds = [ "clip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clip/2024-10-12/clip-20241012-git.tgz"; - sha256 = "1ikzfza4s5xl67bz4vi05hmqmkvs5qr2ycy1f6vi1ihsdvjfify0"; - system = "clip"; - asd = "clip"; - }); - systems = [ "clip" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "lquery" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clipper = (build-asdf-system { - pname = "clipper"; - version = "20150923-git"; - asds = [ "clipper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clipper/2015-09-23/clipper-20150923-git.tgz"; - sha256 = "0xx1z7xjy2qkb6hx4bjjxcpv180lynpxrmx0741zk0qcxf32y56n"; - system = "clipper"; - asd = "clipper"; - }); - systems = [ "clipper" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-syntax-annot" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "fast-io" self) (getAttr "opticl" self) (getAttr "quri" self) (getAttr "split-sequence" self) (getAttr "zs3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clipper-test = (build-asdf-system { - pname = "clipper-test"; - version = "20150923-git"; - asds = [ "clipper-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clipper/2015-09-23/clipper-20150923-git.tgz"; - sha256 = "0xx1z7xjy2qkb6hx4bjjxcpv180lynpxrmx0741zk0qcxf32y56n"; - system = "clipper-test"; - asd = "clipper-test"; - }); - systems = [ "clipper-test" ]; - lispLibs = [ (getAttr "clipper" self) (getAttr "integral" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clite = (build-asdf-system { - pname = "clite"; - version = "20130615-git"; - asds = [ "clite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clite/2013-06-15/clite-20130615-git.tgz"; - sha256 = "0q73vzm55i7m6in9i3fwwaqxvwm3pr7mm7gh7qsvfya61248ynrz"; - system = "clite"; - asd = "clite"; - }); - systems = [ "clite" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clith = (build-asdf-system { - pname = "clith"; - version = "20241012-git"; - asds = [ "clith" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clith/2024-10-12/clith-20241012-git.tgz"; - sha256 = "02qfyrnihx9x6nwxgzlh2x6ymz90i524jg8gc5zsy9rcfqj2sfa7"; - system = "clith"; - asd = "clith"; - }); - systems = [ "clith" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj = (build-asdf-system { - pname = "clj"; - version = "20201220-git"; - asds = [ "clj" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj/2020-12-20/clj-20201220-git.tgz"; - sha256 = "0yic6w2n09w3v2r1dlg9a7z59j9rapj4hpz8whcxlw6zs4wrwib2"; - system = "clj"; - asd = "clj"; - }); - systems = [ "clj" ]; - lispLibs = [ (getAttr "agnostic-lizard" self) (getAttr "arrow-macros" self) (getAttr "cl-hamt" self) (getAttr "local-package-aliases" self) (getAttr "named-readtables" self) (getAttr "optima" self) (getAttr "prove-asdf" self) (getAttr "test-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj-arrows = (build-asdf-system { - pname = "clj-arrows"; - version = "20241012-git"; - asds = [ "clj-arrows" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj-arrows/2024-10-12/clj-arrows-20241012-git.tgz"; - sha256 = "0b0dpjbyk41h32laqa4hwlgximafkjgrgdahabyc3blkg5v7lill"; - system = "clj-arrows"; - asd = "clj-arrows"; - }); - systems = [ "clj-arrows" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj-arrows-test = (build-asdf-system { - pname = "clj-arrows-test"; - version = "20241012-git"; - asds = [ "clj-arrows-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj-arrows/2024-10-12/clj-arrows-20241012-git.tgz"; - sha256 = "0b0dpjbyk41h32laqa4hwlgximafkjgrgdahabyc3blkg5v7lill"; - system = "clj-arrows-test"; - asd = "clj-arrows-test"; - }); - systems = [ "clj-arrows-test" ]; - lispLibs = [ (getAttr "clj-arrows" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj-con = (build-asdf-system { - pname = "clj-con"; - version = "20241012-git"; - asds = [ "clj-con" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj-con/2024-10-12/clj-con-20241012-git.tgz"; - sha256 = "05zjw4ncwwpmckxqv61zhv1lcyfm7w4ic59ypcw5bypxwgkapa7c"; - system = "clj-con"; - asd = "clj-con"; - }); - systems = [ "clj-con" ]; - lispLibs = [ (getAttr "atomics" self) (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj-con-test = (build-asdf-system { - pname = "clj-con-test"; - version = "20241012-git"; - asds = [ "clj-con-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj-con/2024-10-12/clj-con-20241012-git.tgz"; - sha256 = "05zjw4ncwwpmckxqv61zhv1lcyfm7w4ic59ypcw5bypxwgkapa7c"; - system = "clj-con-test"; - asd = "clj-con-test"; - }); - systems = [ "clj-con-test" ]; - lispLibs = [ (getAttr "clj-con" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj-re = (build-asdf-system { - pname = "clj-re"; - version = "20241012-git"; - asds = [ "clj-re" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj-re/2024-10-12/clj-re-20241012-git.tgz"; - sha256 = "05d0xqnhd50hmvicaq3a08m52c12j7cmxz99mpmk10mp0cv572bl"; - system = "clj-re"; - asd = "clj-re"; - }); - systems = [ "clj-re" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clj-re-test = (build-asdf-system { - pname = "clj-re-test"; - version = "20241012-git"; - asds = [ "clj-re-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clj-re/2024-10-12/clj-re-20241012-git.tgz"; - sha256 = "05d0xqnhd50hmvicaq3a08m52c12j7cmxz99mpmk10mp0cv572bl"; - system = "clj-re-test"; - asd = "clj-re-test"; - }); - systems = [ "clj-re-test" ]; - lispLibs = [ (getAttr "clj-re" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml = (build-asdf-system { - pname = "clml"; - version = "20220220-git"; - asds = [ "clml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml"; - asd = "clml"; - }); - systems = [ "clml" ]; - lispLibs = [ (getAttr "clml_dot_association-rule" self) (getAttr "clml_dot_blas" self) (getAttr "clml_dot_classifiers" self) (getAttr "clml_dot_clustering" self) (getAttr "clml_dot_data" self) (getAttr "clml_dot_decision-tree" self) (getAttr "clml_dot_graph" self) (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_lapack" self) (getAttr "clml_dot_nearest-search" self) (getAttr "clml_dot_nonparametric" self) (getAttr "clml_dot_numeric" self) (getAttr "clml_dot_pca" self) (getAttr "clml_dot_som" self) (getAttr "clml_dot_statistics" self) (getAttr "clml_dot_svm" self) (getAttr "clml_dot_text" self) (getAttr "clml_dot_time-series" self) (getAttr "clml_dot_utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_association-rule = (build-asdf-system { - pname = "clml.association-rule"; - version = "20220220-git"; - asds = [ "clml.association-rule" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.association-rule"; - asd = "clml.association-rule"; - }); - systems = [ "clml.association-rule" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_blas = (build-asdf-system { - pname = "clml.blas"; - version = "20220220-git"; - asds = [ "clml.blas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.blas"; - asd = "clml.blas"; - }); - systems = [ "clml.blas" ]; - lispLibs = [ (getAttr "clml_dot_blas_dot_complex" self) (getAttr "clml_dot_blas_dot_hompack" self) (getAttr "clml_dot_blas_dot_real" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_blas_dot_complex = (build-asdf-system { - pname = "clml.blas.complex"; - version = "20220220-git"; - asds = [ "clml.blas.complex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.blas.complex"; - asd = "clml.blas"; - }); - systems = [ "clml.blas.complex" ]; - lispLibs = [ (getAttr "f2cl-lib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_blas_dot_hompack = (build-asdf-system { - pname = "clml.blas.hompack"; - version = "20220220-git"; - asds = [ "clml.blas.hompack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.blas.hompack"; - asd = "clml.blas"; - }); - systems = [ "clml.blas.hompack" ]; - lispLibs = [ (getAttr "f2cl-lib" self) ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - clml_dot_blas_dot_real = (build-asdf-system { - pname = "clml.blas.real"; - version = "20220220-git"; - asds = [ "clml.blas.real" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.blas.real"; - asd = "clml.blas"; - }); - systems = [ "clml.blas.real" ]; - lispLibs = [ (getAttr "f2cl-lib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_classifiers = (build-asdf-system { - pname = "clml.classifiers"; - version = "20220220-git"; - asds = [ "clml.classifiers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.classifiers"; - asd = "clml.classifiers"; - }); - systems = [ "clml.classifiers" ]; - lispLibs = [ (getAttr "clml_dot_clustering" self) (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_svm" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_clustering = (build-asdf-system { - pname = "clml.clustering"; - version = "20220220-git"; - asds = [ "clml.clustering" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.clustering"; - asd = "clml.clustering"; - }); - systems = [ "clml.clustering" ]; - lispLibs = [ (getAttr "clml_dot_blas" self) (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_nearest-search" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_data = (build-asdf-system { - pname = "clml.data"; - version = "20220220-git"; - asds = [ "clml.data" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.data"; - asd = "clml.data"; - }); - systems = [ "clml.data" ]; - lispLibs = [ (getAttr "clml_dot_data_dot_r-datasets" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_data_dot_r-datasets = (build-asdf-system { - pname = "clml.data.r-datasets"; - version = "20220220-git"; - asds = [ "clml.data.r-datasets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.data.r-datasets"; - asd = "clml.data.r-datasets"; - }); - systems = [ "clml.data.r-datasets" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_utility" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_decision-tree = (build-asdf-system { - pname = "clml.decision-tree"; - version = "20220220-git"; - asds = [ "clml.decision-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.decision-tree"; - asd = "clml.decision-tree"; - }); - systems = [ "clml.decision-tree" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_docs = (build-asdf-system { - pname = "clml.docs"; - version = "20220220-git"; - asds = [ "clml.docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.docs"; - asd = "clml.docs"; - }); - systems = [ "clml.docs" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "clml" self) (getAttr "clod" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_graph = (build-asdf-system { - pname = "clml.graph"; - version = "20220220-git"; - asds = [ "clml.graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.graph"; - asd = "clml.graph"; - }); - systems = [ "clml.graph" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_statistics" self) (getAttr "clml_dot_time-series" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_hjs = (build-asdf-system { - pname = "clml.hjs"; - version = "20220220-git"; - asds = [ "clml.hjs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.hjs"; - asd = "clml.hjs"; - }); - systems = [ "clml.hjs" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "clml_dot_blas" self) (getAttr "clml_dot_lapack" self) (getAttr "clml_dot_statistics" self) (getAttr "clml_dot_utility" self) (getAttr "future" self) (getAttr "introspect-environment" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_lapack = (build-asdf-system { - pname = "clml.lapack"; - version = "20220220-git"; - asds = [ "clml.lapack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.lapack"; - asd = "clml.lapack"; - }); - systems = [ "clml.lapack" ]; - lispLibs = [ (getAttr "clml_dot_blas" self) (getAttr "clml_dot_lapack-real" self) (getAttr "f2cl-lib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_lapack-real = (build-asdf-system { - pname = "clml.lapack-real"; - version = "20220220-git"; - asds = [ "clml.lapack-real" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.lapack-real"; - asd = "clml.lapack"; - }); - systems = [ "clml.lapack-real" ]; - lispLibs = [ (getAttr "clml_dot_blas" self) (getAttr "f2cl-lib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_nearest-search = (build-asdf-system { - pname = "clml.nearest-search"; - version = "20220220-git"; - asds = [ "clml.nearest-search" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.nearest-search"; - asd = "clml.nearest-search"; - }); - systems = [ "clml.nearest-search" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_nonparametric" self) (getAttr "clml_dot_pca" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_nonparametric = (build-asdf-system { - pname = "clml.nonparametric"; - version = "20220220-git"; - asds = [ "clml.nonparametric" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.nonparametric"; - asd = "clml.nonparametric"; - }); - systems = [ "clml.nonparametric" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_numeric = (build-asdf-system { - pname = "clml.numeric"; - version = "20220220-git"; - asds = [ "clml.numeric" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.numeric"; - asd = "clml.numeric"; - }); - systems = [ "clml.numeric" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_pca = (build-asdf-system { - pname = "clml.pca"; - version = "20220220-git"; - asds = [ "clml.pca" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.pca"; - asd = "clml.pca"; - }); - systems = [ "clml.pca" ]; - lispLibs = [ (getAttr "clml_dot_decision-tree" self) (getAttr "clml_dot_hjs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_pca_dot_examples = (build-asdf-system { - pname = "clml.pca.examples"; - version = "20220220-git"; - asds = [ "clml.pca.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.pca.examples"; - asd = "clml.pca"; - }); - systems = [ "clml.pca.examples" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_pca" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_som = (build-asdf-system { - pname = "clml.som"; - version = "20220220-git"; - asds = [ "clml.som" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.som"; - asd = "clml.som"; - }); - systems = [ "clml.som" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_statistics" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_som_dot_example = (build-asdf-system { - pname = "clml.som.example"; - version = "20220220-git"; - asds = [ "clml.som.example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.som.example"; - asd = "clml.som"; - }); - systems = [ "clml.som.example" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_som" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_statistics = (build-asdf-system { - pname = "clml.statistics"; - version = "20220220-git"; - asds = [ "clml.statistics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.statistics"; - asd = "clml.statistics"; - }); - systems = [ "clml.statistics" ]; - lispLibs = [ (getAttr "clml_dot_statistics_dot_rand" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_statistics_dot_rand = (build-asdf-system { - pname = "clml.statistics.rand"; - version = "20220220-git"; - asds = [ "clml.statistics.rand" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.statistics.rand"; - asd = "clml.statistics.rand"; - }); - systems = [ "clml.statistics.rand" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_svm = (build-asdf-system { - pname = "clml.svm"; - version = "20220220-git"; - asds = [ "clml.svm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.svm"; - asd = "clml.svm"; - }); - systems = [ "clml.svm" ]; - lispLibs = [ (getAttr "clml_dot_decision-tree" self) (getAttr "clml_dot_hjs" self) (getAttr "future" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_svm_dot_examples = (build-asdf-system { - pname = "clml.svm.examples"; - version = "20220220-git"; - asds = [ "clml.svm.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.svm.examples"; - asd = "clml.svm"; - }); - systems = [ "clml.svm.examples" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_svm" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_test = (build-asdf-system { - pname = "clml.test"; - version = "20220220-git"; - asds = [ "clml.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.test"; - asd = "clml.test"; - }); - systems = [ "clml.test" ]; - lispLibs = [ (getAttr "clml" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_text = (build-asdf-system { - pname = "clml.text"; - version = "20220220-git"; - asds = [ "clml.text" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.text"; - asd = "clml.text"; - }); - systems = [ "clml.text" ]; - lispLibs = [ (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_nonparametric" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_time-series = (build-asdf-system { - pname = "clml.time-series"; - version = "20220220-git"; - asds = [ "clml.time-series" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.time-series"; - asd = "clml.time-series"; - }); - systems = [ "clml.time-series" ]; - lispLibs = [ (getAttr "array-operations" self) (getAttr "clml_dot_hjs" self) (getAttr "clml_dot_numeric" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clml_dot_utility = (build-asdf-system { - pname = "clml.utility"; - version = "20220220-git"; - asds = [ "clml.utility" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "clml.utility"; - asd = "clml.utility"; - }); - systems = [ "clml.utility" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "iterate" self) (getAttr "parse-number" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clnuplot = (build-asdf-system { - pname = "clnuplot"; - version = "20130128-darcs"; - asds = [ "clnuplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clnuplot/2013-01-28/clnuplot-20130128-darcs.tgz"; - sha256 = "0yfaay5idv9lq4ilafj305sg349c960n3q400kdayr0gda6pqlqr"; - system = "clnuplot"; - asd = "clnuplot"; - }); - systems = [ "clnuplot" ]; - lispLibs = [ (getAttr "cl-containers" self) (getAttr "cl-mathstats" self) (getAttr "metabang-bind" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clobber = (build-asdf-system { - pname = "clobber"; - version = "20241012-git"; - asds = [ "clobber" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clobber/2024-10-12/clobber-20241012-git.tgz"; - sha256 = "1n6j9q0czrzigw7vfahlylm1g8hmk7b1wm84jm94cgl8r5r3s8ra"; - system = "clobber"; - asd = "clobber"; - }); - systems = [ "clobber" ]; - lispLibs = [ (getAttr "clobber-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clobber-base = (build-asdf-system { - pname = "clobber-base"; - version = "20241012-git"; - asds = [ "clobber-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clobber/2024-10-12/clobber-20241012-git.tgz"; - sha256 = "1n6j9q0czrzigw7vfahlylm1g8hmk7b1wm84jm94cgl8r5r3s8ra"; - system = "clobber-base"; - asd = "clobber-base"; - }); - systems = [ "clobber-base" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clobber-test = (build-asdf-system { - pname = "clobber-test"; - version = "20241012-git"; - asds = [ "clobber-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clobber/2024-10-12/clobber-20241012-git.tgz"; - sha256 = "1n6j9q0czrzigw7vfahlylm1g8hmk7b1wm84jm94cgl8r5r3s8ra"; - system = "clobber-test"; - asd = "clobber-test"; - }); - systems = [ "clobber-test" ]; - lispLibs = [ (getAttr "clobber" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clod = (build-asdf-system { - pname = "clod"; - version = "20190307-hg"; - asds = [ "clod" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clod/2019-03-07/clod-20190307-hg.tgz"; - sha256 = "0sdlr6jlqnbiyf06648zhq8dpni3zy0n5rwjcrvm4hw7vcy8vhy1"; - system = "clod"; - asd = "clod"; - }); - systems = [ "clod" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clods-export = (build-asdf-system { - pname = "clods-export"; - version = "20210411-git"; - asds = [ "clods-export" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clods-export/2021-04-11/clods-export-20210411-git.tgz"; - sha256 = "1bbzrl855qjs88ni548filghb2y8fvklkik22amwzi6dbzvq48qx"; - system = "clods-export"; - asd = "clods-export"; - }); - systems = [ "clods-export" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cxml" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clog = (build-asdf-system { - pname = "clog"; - version = "20241012-git"; - asds = [ "clog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog/2024-10-12/clog-20241012-git.tgz"; - sha256 = "0hqpj9ji7kfqgcxdfnc7x202qzmb7zdkmjwcyhdllqs6b0ssw5lx"; - system = "clog"; - asd = "clog"; - }); - systems = [ "clog" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "atomics" self) (getAttr "bordeaux-threads" self) (getAttr "cl-dbi" self) (getAttr "cl-isaac" self) (getAttr "cl-pass" self) (getAttr "cl-ppcre" self) (getAttr "cl-template" self) (getAttr "clack" self) (getAttr "closer-mop" self) (getAttr "hunchentoot" self) (getAttr "lack-middleware-static" self) (getAttr "lack-request" self) (getAttr "lack-util-writer-stream" self) (getAttr "mgl-pax" self) (getAttr "parse-float" self) (getAttr "quri" self) (getAttr "sqlite" self) (getAttr "trivial-gray-streams" self) (getAttr "websocket-driver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clog-ace = (build-asdf-system { - pname = "clog-ace"; - version = "20241012-git"; - asds = [ "clog-ace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog-ace/2024-10-12/clog-ace-20241012-git.tgz"; - sha256 = "01hwaiccy5i81w22kya00jscgpjw6iib2hnklqwky88i35kbb4sj"; - system = "clog-ace"; - asd = "clog-ace"; - }); - systems = [ "clog-ace" ]; - lispLibs = [ (getAttr "clog" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clog-collection = (build-asdf-system { - pname = "clog-collection"; - version = "20241012-git"; - asds = [ "clog-collection" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog-collection/2024-10-12/clog-collection-20241012-git.tgz"; - sha256 = "0f6rw9sla5f7jglbisving0c97vz3a5bbn59li0jzngqp8rqwsqx"; - system = "clog-collection"; - asd = "clog-collection"; - }); - systems = [ "clog-collection" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "clog" self) (getAttr "iterate" self) (getAttr "literate-lisp" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clog-plotly = (build-asdf-system { - pname = "clog-plotly"; - version = "20241012-git"; - asds = [ "clog-plotly" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog-plotly/2024-10-12/clog-plotly-20241012-git.tgz"; - sha256 = "064fhfhh5nr1g9f4pn9x2ydmxdnxmvyxhwgbl3dgqm416scjzzs1"; - system = "clog-plotly"; - asd = "clog-plotly"; - }); - systems = [ "clog-plotly" ]; - lispLibs = [ (getAttr "clog" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clog-terminal = (build-asdf-system { - pname = "clog-terminal"; - version = "20241012-git"; - asds = [ "clog-terminal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog-terminal/2024-10-12/clog-terminal-20241012-git.tgz"; - sha256 = "1pvrja8fvdzqmiqzl23lb7665vcpx9lhwxahns81wlykkyx7cjd5"; - system = "clog-terminal"; - asd = "clog-terminal"; - }); - systems = [ "clog-terminal" ]; - lispLibs = [ (getAttr "clog" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clohost = (build-asdf-system { - pname = "clohost"; - version = "20241012-git"; - asds = [ "clohost" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clohost/2024-10-12/clohost-20241012-git.tgz"; - sha256 = "1qph7nrjb62qxwkv5wbzqkycdavsjvi39b97qvs5g8jsrvbl50lh"; - system = "clohost"; - asd = "clohost"; - }); - systems = [ "clohost" ]; - lispLibs = [ (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "crypto-shortcuts" self) (getAttr "documentation-utils" self) (getAttr "drakma" self) (getAttr "trivial-mimes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clonsigna = (build-asdf-system { - pname = "clonsigna"; - version = "20120909-git"; - asds = [ "clonsigna" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clonsigna/2012-09-09/clonsigna-20120909-git.tgz"; - sha256 = "052vdch0q07sx3j615qgw8z536fmqz8fm3qv7f298ql3wcskrj7j"; - system = "clonsigna"; - asd = "clonsigna"; - }); - systems = [ "clonsigna" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "iolib" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clop = (build-asdf-system { - pname = "clop"; - version = "v1.0.1"; - asds = [ "clop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clop/2022-02-20/clop-v1.0.1.tgz"; - sha256 = "1q7rlizr8gcbfz4a9660gdbw7d2zbld18akjpibg54j7jh5kb8gc"; - system = "clop"; - asd = "clop"; - }); - systems = [ "clop" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) (getAttr "local-time" self) (getAttr "parse-number" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clop-tests = (build-asdf-system { - pname = "clop-tests"; - version = "v1.0.1"; - asds = [ "clop-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clop/2022-02-20/clop-v1.0.1.tgz"; - sha256 = "1q7rlizr8gcbfz4a9660gdbw7d2zbld18akjpibg54j7jh5kb8gc"; - system = "clop-tests"; - asd = "clop"; - }); - systems = [ "clop-tests" ]; - lispLibs = [ (getAttr "clop" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clos-diff = (build-asdf-system { - pname = "clos-diff"; - version = "20150608-git"; - asds = [ "clos-diff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clos-diff/2015-06-08/clos-diff-20150608-git.tgz"; - sha256 = "0y6chxzqwwwkrrmxxb74wwci6i4ck6i3fq36w9gl03qbrksfyjkz"; - system = "clos-diff"; - asd = "clos-diff"; - }); - systems = [ "clos-diff" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clos-encounters = (build-asdf-system { - pname = "clos-encounters"; - version = "20241012-git"; - asds = [ "clos-encounters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clos-encounters/2024-10-12/clos-encounters-20241012-git.tgz"; - sha256 = "021ygh6s5qb7l155bcp9qv1w2dhq9csscasp77vjlms1ahpq9ixf"; - system = "clos-encounters"; - asd = "clos-encounters"; - }); - systems = [ "clos-encounters" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clos-fixtures = (build-asdf-system { - pname = "clos-fixtures"; - version = "20160825-git"; - asds = [ "clos-fixtures" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clos-fixtures/2016-08-25/clos-fixtures-20160825-git.tgz"; - sha256 = "1a3yvqszdwnsnk5hr4zrdpaqxb8vlxpl2nhxjl0j97fnmfaiqjhk"; - system = "clos-fixtures"; - asd = "clos-fixtures"; - }); - systems = [ "clos-fixtures" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clos-fixtures-test = (build-asdf-system { - pname = "clos-fixtures-test"; - version = "20160825-git"; - asds = [ "clos-fixtures-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clos-fixtures/2016-08-25/clos-fixtures-20160825-git.tgz"; - sha256 = "1a3yvqszdwnsnk5hr4zrdpaqxb8vlxpl2nhxjl0j97fnmfaiqjhk"; - system = "clos-fixtures-test"; - asd = "clos-fixtures-test"; - }); - systems = [ "clos-fixtures-test" ]; - lispLibs = [ (getAttr "clos-fixtures" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - closer-mop = (build-asdf-system { - pname = "closer-mop"; - version = "20241012-git"; - asds = [ "closer-mop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/closer-mop/2024-10-12/closer-mop-20241012-git.tgz"; - sha256 = "1affaqh0sm1phs6qa12vbhf69abssjcpy55cwf4fi4nd6hgcrfqr"; - system = "closer-mop"; - asd = "closer-mop"; - }); - systems = [ "closer-mop" ]; - lispLibs = [ ]; - meta = {}; - }); - closure-common = (build-asdf-system { - pname = "closure-common"; - version = "20181018-git"; - asds = [ "closure-common" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/closure-common/2018-10-18/closure-common-20181018-git.tgz"; - sha256 = "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"; - system = "closure-common"; - asd = "closure-common"; - }); - systems = [ "closure-common" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - closure-html = (build-asdf-system { - pname = "closure-html"; - version = "20180711-git"; - asds = [ "closure-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/closure-html/2018-07-11/closure-html-20180711-git.tgz"; - sha256 = "105vm29qnxh6zj3rh4jwpm8dyp3b9bsva64c8a78cr270p28d032"; - system = "closure-html"; - asd = "closure-html"; - }); - systems = [ "closure-html" ]; - lispLibs = [ (getAttr "closure-common" self) (getAttr "flexi-streams" self) ]; - meta = {}; - }); - closure-template = (build-asdf-system { - pname = "closure-template"; - version = "20150804-git"; - asds = [ "closure-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-closure-template/2015-08-04/cl-closure-template-20150804-git.tgz"; - sha256 = "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv"; - system = "closure-template"; - asd = "closure-template"; - }); - systems = [ "closure-template" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "closer-mop" self) (getAttr "esrap" self) (getAttr "iterate" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - closure-template-test = (build-asdf-system { - pname = "closure-template-test"; - version = "20150804-git"; - asds = [ "closure-template-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-closure-template/2015-08-04/cl-closure-template-20150804-git.tgz"; - sha256 = "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv"; - system = "closure-template-test"; - asd = "closure-template"; - }); - systems = [ "closure-template-test" ]; - lispLibs = [ (getAttr "closure-template" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clouchdb = (build-asdf-system { - pname = "clouchdb"; - version = "0.0.16"; - asds = [ "clouchdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clouchdb/2012-04-07/clouchdb_0.0.16.tgz"; - sha256 = "1zfk4wkz0k5gbfznnbds0gcpc2y08p47rq7mhchf27v6rqg4kd7d"; - system = "clouchdb"; - asd = "clouchdb"; - }); - systems = [ "clouchdb" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "parenscript" self) (getAttr "s-base64" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clouchdb-examples = (build-asdf-system { - pname = "clouchdb-examples"; - version = "0.0.16"; - asds = [ "clouchdb-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clouchdb/2012-04-07/clouchdb_0.0.16.tgz"; - sha256 = "1zfk4wkz0k5gbfznnbds0gcpc2y08p47rq7mhchf27v6rqg4kd7d"; - system = "clouchdb-examples"; - asd = "clouchdb-examples"; - }); - systems = [ "clouchdb-examples" ]; - lispLibs = [ (getAttr "clouchdb" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clouseau = (build-asdf-system { - pname = "clouseau"; - version = "20241012-git"; - asds = [ "clouseau" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "clouseau"; - asd = "clouseau"; - }); - systems = [ "clouseau" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clpython = (build-asdf-system { - pname = "clpython"; - version = "20220331-git"; - asds = [ "clpython" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-python/2022-03-31/cl-python-20220331-git.tgz"; - sha256 = "1liskpyfd8rbqn45xbymwvh4vic05pyvvf3hnq2ybyixwnkan9i9"; - system = "clpython"; - asd = "clpython"; - }); - systems = [ "clpython" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "closer-mop" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql = (build-asdf-system { - pname = "clsql"; - version = "20221106-git"; - asds = [ "clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql"; - asd = "clsql"; - }); - systems = [ "clsql" ]; - lispLibs = [ (getAttr "uffi" self) ]; - meta = {}; - }); - clsql-aodbc = (build-asdf-system { - pname = "clsql-aodbc"; - version = "20221106-git"; - asds = [ "clsql-aodbc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-aodbc"; - asd = "clsql-aodbc"; - }); - systems = [ "clsql-aodbc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-cffi = (build-asdf-system { - pname = "clsql-cffi"; - version = "20221106-git"; - asds = [ "clsql-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-cffi"; - asd = "clsql-cffi"; - }); - systems = [ "clsql-cffi" ]; - lispLibs = [ (getAttr "clsql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-fluid = (build-asdf-system { - pname = "clsql-fluid"; - version = "20170830-git"; - asds = [ "clsql-fluid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-fluid/2017-08-30/clsql-fluid-20170830-git.tgz"; - sha256 = "0i7x1xbh83wfr3k4ddsdy57yf0nqfhdxcbwv1na1ina6m5javg11"; - system = "clsql-fluid"; - asd = "clsql-fluid"; - }); - systems = [ "clsql-fluid" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "clsql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-helper = (build-asdf-system { - pname = "clsql-helper"; - version = "20180131-git"; - asds = [ "clsql-helper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; - sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; - system = "clsql-helper"; - asd = "clsql-helper"; - }); - systems = [ "clsql-helper" ]; - lispLibs = [ (getAttr "access" self) (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "clsql" self) (getAttr "collectors" self) (getAttr "iterate" self) (getAttr "md5" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-helper-slot-coercer = (build-asdf-system { - pname = "clsql-helper-slot-coercer"; - version = "20180131-git"; - asds = [ "clsql-helper-slot-coercer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; - sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; - system = "clsql-helper-slot-coercer"; - asd = "clsql-helper-slot-coercer"; - }); - systems = [ "clsql-helper-slot-coercer" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "clsql-helper" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-helper-slot-coercer-test = (build-asdf-system { - pname = "clsql-helper-slot-coercer-test"; - version = "20180131-git"; - asds = [ "clsql-helper-slot-coercer-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; - sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; - system = "clsql-helper-slot-coercer-test"; - asd = "clsql-helper-slot-coercer"; - }); - systems = [ "clsql-helper-slot-coercer-test" ]; - lispLibs = [ (getAttr "clsql-helper-slot-coercer" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-helper-test = (build-asdf-system { - pname = "clsql-helper-test"; - version = "20180131-git"; - asds = [ "clsql-helper-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; - sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; - system = "clsql-helper-test"; - asd = "clsql-helper"; - }); - systems = [ "clsql-helper-test" ]; - lispLibs = [ (getAttr "clsql-helper" self) (getAttr "clsql-tests" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-local-time = (build-asdf-system { - pname = "clsql-local-time"; - version = "20201016-git"; - asds = [ "clsql-local-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-local-time/2020-10-16/clsql-local-time-20201016-git.tgz"; - sha256 = "1ipv6ij1md5mw44cbif31hiccrric3302rhssj8f7kg3s8n6mphv"; - system = "clsql-local-time"; - asd = "clsql-local-time"; - }); - systems = [ "clsql-local-time" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-mysql = (build-asdf-system { - pname = "clsql-mysql"; - version = "20221106-git"; - asds = [ "clsql-mysql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-mysql"; - asd = "clsql-mysql"; - }); - systems = [ "clsql-mysql" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-uffi" self) (getAttr "uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-odbc = (build-asdf-system { - pname = "clsql-odbc"; - version = "20221106-git"; - asds = [ "clsql-odbc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-odbc"; - asd = "clsql-odbc"; - }); - systems = [ "clsql-odbc" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-orm = (build-asdf-system { - pname = "clsql-orm"; - version = "20160208-git"; - asds = [ "clsql-orm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql-orm/2016-02-08/clsql-orm-20160208-git.tgz"; - sha256 = "1y9604k0mj8h03p85l5nrjkihr3yfj5fp910db9f4ksd1ln2qkka"; - system = "clsql-orm"; - asd = "clsql-orm"; - }); - systems = [ "clsql-orm" ]; - lispLibs = [ (getAttr "cl-inflector" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "clsql" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-postgresql = (build-asdf-system { - pname = "clsql-postgresql"; - version = "20221106-git"; - asds = [ "clsql-postgresql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-postgresql"; - asd = "clsql-postgresql"; - }); - systems = [ "clsql-postgresql" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-uffi" self) ]; - meta = {}; - }); - clsql-postgresql-socket = (build-asdf-system { - pname = "clsql-postgresql-socket"; - version = "20221106-git"; - asds = [ "clsql-postgresql-socket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-postgresql-socket"; - asd = "clsql-postgresql-socket"; - }); - systems = [ "clsql-postgresql-socket" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "md5" self) (getAttr "uffi" self) ]; - meta = {}; - }); - clsql-postgresql-socket3 = (build-asdf-system { - pname = "clsql-postgresql-socket3"; - version = "20221106-git"; - asds = [ "clsql-postgresql-socket3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-postgresql-socket3"; - asd = "clsql-postgresql-socket3"; - }); - systems = [ "clsql-postgresql-socket3" ]; - lispLibs = [ (getAttr "cl-postgres" self) (getAttr "clsql" self) (getAttr "md5" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-sqlite = (build-asdf-system { - pname = "clsql-sqlite"; - version = "20221106-git"; - asds = [ "clsql-sqlite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-sqlite"; - asd = "clsql-sqlite"; - }); - systems = [ "clsql-sqlite" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-sqlite3 = (build-asdf-system { - pname = "clsql-sqlite3"; - version = "20221106-git"; - asds = [ "clsql-sqlite3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-sqlite3"; - asd = "clsql-sqlite3"; - }); - systems = [ "clsql-sqlite3" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-uffi" self) ]; - meta = {}; - }); - clsql-tests = (build-asdf-system { - pname = "clsql-tests"; - version = "20221106-git"; - asds = [ "clsql-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-tests"; - asd = "clsql-tests"; - }); - systems = [ "clsql-tests" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "rt" self) (getAttr "uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clsql-uffi = (build-asdf-system { - pname = "clsql-uffi"; - version = "20221106-git"; - asds = [ "clsql-uffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; - sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; - system = "clsql-uffi"; - asd = "clsql-uffi"; - }); - systems = [ "clsql-uffi" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "uffi" self) ]; - meta = {}; - }); - clss = (build-asdf-system { - pname = "clss"; - version = "20241012-git"; - asds = [ "clss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clss/2024-10-12/clss-20241012-git.tgz"; - sha256 = "1l2yq6wi8wmb7l8fy6w4xb3mb2yd9d14ijgqdsbnwb5k2hbmndbf"; - system = "clss"; - asd = "clss"; - }); - systems = [ "clss" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "plump" self) ]; - meta = {}; - }); - cltcl = (build-asdf-system { - pname = "cltcl"; - version = "20161204-git"; - asds = [ "cltcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cltcl/2016-12-04/cltcl-20161204-git.tgz"; - sha256 = "18b7fa7m9h9xfhnkxa6r3xzj86p1fvq0mh5q8vdrdv3vxfyc2l68"; - system = "cltcl"; - asd = "cltcl"; - }); - systems = [ "cltcl" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cluffer = (build-asdf-system { - pname = "cluffer"; - version = "20241012-git"; - asds = [ "cluffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer"; - asd = "cluffer"; - }); - systems = [ "cluffer" ]; - lispLibs = [ (getAttr "cluffer-base" self) (getAttr "cluffer-simple-buffer" self) (getAttr "cluffer-simple-line" self) (getAttr "cluffer-standard-buffer" self) (getAttr "cluffer-standard-line" self) ]; - meta = {}; - }); - cluffer-base = (build-asdf-system { - pname = "cluffer-base"; - version = "20241012-git"; - asds = [ "cluffer-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer-base"; - asd = "cluffer-base"; - }); - systems = [ "cluffer-base" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cluffer-simple-buffer = (build-asdf-system { - pname = "cluffer-simple-buffer"; - version = "20241012-git"; - asds = [ "cluffer-simple-buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer-simple-buffer"; - asd = "cluffer-simple-buffer"; - }); - systems = [ "cluffer-simple-buffer" ]; - lispLibs = [ (getAttr "cluffer-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cluffer-simple-line = (build-asdf-system { - pname = "cluffer-simple-line"; - version = "20241012-git"; - asds = [ "cluffer-simple-line" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer-simple-line"; - asd = "cluffer-simple-line"; - }); - systems = [ "cluffer-simple-line" ]; - lispLibs = [ (getAttr "cluffer-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cluffer-standard-buffer = (build-asdf-system { - pname = "cluffer-standard-buffer"; - version = "20241012-git"; - asds = [ "cluffer-standard-buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer-standard-buffer"; - asd = "cluffer-standard-buffer"; - }); - systems = [ "cluffer-standard-buffer" ]; - lispLibs = [ (getAttr "cluffer-base" self) (getAttr "clump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cluffer-standard-line = (build-asdf-system { - pname = "cluffer-standard-line"; - version = "20241012-git"; - asds = [ "cluffer-standard-line" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer-standard-line"; - asd = "cluffer-standard-line"; - }); - systems = [ "cluffer-standard-line" ]; - lispLibs = [ (getAttr "cluffer-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cluffer-test = (build-asdf-system { - pname = "cluffer-test"; - version = "20241012-git"; - asds = [ "cluffer-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; - sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; - system = "cluffer-test"; - asd = "cluffer-test"; - }); - systems = [ "cluffer-test" ]; - lispLibs = [ (getAttr "cluffer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clump = (build-asdf-system { - pname = "clump"; - version = "20160825-git"; - asds = [ "clump" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; - sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; - system = "clump"; - asd = "clump"; - }); - systems = [ "clump" ]; - lispLibs = [ (getAttr "clump-2-3-tree" self) (getAttr "clump-binary-tree" self) ]; - meta = {}; - }); - clump-2-3-tree = (build-asdf-system { - pname = "clump-2-3-tree"; - version = "20160825-git"; - asds = [ "clump-2-3-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; - sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; - system = "clump-2-3-tree"; - asd = "clump-2-3-tree"; - }); - systems = [ "clump-2-3-tree" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = {}; - }); - clump-binary-tree = (build-asdf-system { - pname = "clump-binary-tree"; - version = "20160825-git"; - asds = [ "clump-binary-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; - sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; - system = "clump-binary-tree"; - asd = "clump-binary-tree"; - }); - systems = [ "clump-binary-tree" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = {}; - }); - clump-test = (build-asdf-system { - pname = "clump-test"; - version = "20160825-git"; - asds = [ "clump-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; - sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; - system = "clump-test"; - asd = "clump-test"; - }); - systems = [ "clump-test" ]; - lispLibs = [ (getAttr "clump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clunit = (build-asdf-system { - pname = "clunit"; - version = "20171019-git"; - asds = [ "clunit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clunit/2017-10-19/clunit-20171019-git.tgz"; - sha256 = "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"; - system = "clunit"; - asd = "clunit"; - }); - systems = [ "clunit" ]; - lispLibs = [ ]; - meta = {}; - }); - clunit2 = (build-asdf-system { - pname = "clunit2"; - version = "20241012-git"; - asds = [ "clunit2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clunit2/2024-10-12/clunit2-20241012-git.tgz"; - sha256 = "03k4wc2zz31wcqcxy8fhq095i8xzcaxrzgrlrn2va10lcjs4v51b"; - system = "clunit2"; - asd = "clunit2"; - }); - systems = [ "clunit2" ]; - lispLibs = [ ]; - meta = {}; - }); - clustered-intset = (build-asdf-system { - pname = "clustered-intset"; - version = "20220707-git"; - asds = [ "clustered-intset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clustered-intset/2022-07-07/clustered-intset-20220707-git.tgz"; - sha256 = "035s2gn59l8389b0ypnb4qna7zplz9rxk05aw88qf8g4b7wyba1h"; - system = "clustered-intset"; - asd = "clustered-intset"; - }); - systems = [ "clustered-intset" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clustered-intset-test = (build-asdf-system { - pname = "clustered-intset-test"; - version = "20220707-git"; - asds = [ "clustered-intset-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clustered-intset/2022-07-07/clustered-intset-20220707-git.tgz"; - sha256 = "035s2gn59l8389b0ypnb4qna7zplz9rxk05aw88qf8g4b7wyba1h"; - system = "clustered-intset-test"; - asd = "clustered-intset-test"; - }); - systems = [ "clustered-intset-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "clustered-intset" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clusters = (build-asdf-system { - pname = "clusters"; - version = "20220331-git"; - asds = [ "clusters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clusters/2022-03-31/clusters-20220331-git.tgz"; - sha256 = "1x78ihrrah0rrb2ddxmxqcqpkswdvb3f0via56bkf1f3f5kqmsb8"; - system = "clusters"; - asd = "clusters"; - }); - systems = [ "clusters" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-data-structures" self) (getAttr "documentation-utils-extensions" self) (getAttr "iterate" self) (getAttr "lparallel" self) (getAttr "metabang-bind" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clusters-tests = (build-asdf-system { - pname = "clusters-tests"; - version = "20220331-git"; - asds = [ "clusters-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clusters/2022-03-31/clusters-20220331-git.tgz"; - sha256 = "1x78ihrrah0rrb2ddxmxqcqpkswdvb3f0via56bkf1f3f5kqmsb8"; - system = "clusters-tests"; - asd = "clusters-tests"; - }); - systems = [ "clusters-tests" ]; - lispLibs = [ (getAttr "clusters" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clutter = (build-asdf-system { - pname = "clutter"; - version = "v1.0.0"; - asds = [ "clutter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clutter/2021-10-20/clutter-v1.0.0.tgz"; - sha256 = "1q9mg4d0nja9ypm13i24wymhjwziw6n7r7p1dzw6xc5zhavqsni7"; - system = "clutter"; - asd = "clutter"; - }); - systems = [ "clutter" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "doplus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clweb = (build-asdf-system { - pname = "clweb"; - version = "20201220-git"; - asds = [ "clweb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clweb/2020-12-20/clweb-20201220-git.tgz"; - sha256 = "0hqyrglgsgal5s8f0n247hg0hqlw6l6w1r5i8lzf0a0xvcz49f48"; - system = "clweb"; - asd = "clweb"; - }); - systems = [ "clweb" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clws = (build-asdf-system { - pname = "clws"; - version = "20130813-git"; - asds = [ "clws" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clws/2013-08-13/clws-20130813-git.tgz"; - sha256 = "1svj025zwsbkb0hrbz1nj0x306hkhy9xinq0x1qdflc9vg169dh6"; - system = "clws"; - asd = "clws"; - }); - systems = [ "clws" ]; - lispLibs = [ (getAttr "chunga" self) (getAttr "cl-base64" self) (getAttr "flexi-streams" self) (getAttr "iolib" self) (getAttr "ironclad" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - clx = (build-asdf-system { - pname = "clx"; - version = "20241012-git"; - asds = [ "clx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clx/2024-10-12/clx-20241012-git.tgz"; - sha256 = "16l0badm7dxwi7x5ynk1scrbrilnxi1nzz79h1v15xi6b41pf65w"; - system = "clx"; - asd = "clx"; - }); - systems = [ "clx" ]; - lispLibs = [ ]; - meta = {}; - }); - cmake-parser = (build-asdf-system { - pname = "cmake-parser"; - version = "20180831-git"; - asds = [ "cmake-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cmake-parser/2018-08-31/cmake-parser-20180831-git.tgz"; - sha256 = "1sb5pwxhg7k41202kvxj1b60c5pxnl0mfbqdz53xayddngn2brgl"; - system = "cmake-parser"; - asd = "cmake-parser"; - }); - systems = [ "cmake-parser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cmark = (build-asdf-system { - pname = "cmark"; - version = "20241012-git"; - asds = [ "cmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cmark/2024-10-12/cl-cmark-20241012-git.tgz"; - sha256 = "1l4i530161ppfz0wn1da7g7dwf644ppp1afrq2p7qfkajm7dcfg5"; - system = "cmark"; - asd = "cmark"; - }); - systems = [ "cmark" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "flexi-streams" self) (getAttr "libcmark" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cmd = (build-asdf-system { - pname = "cmd"; - version = "20241012-git"; - asds = [ "cmd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cmd/2024-10-12/cmd-20241012-git.tgz"; - sha256 = "0rs2priccm34yx8cj29214i4bwa908gqs1ss23gyjb7v5qcq1sj7"; - system = "cmd"; - asd = "cmd"; - }); - systems = [ "cmd" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "serapeum" self) (getAttr "shlex" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cmu-infix = (build-asdf-system { - pname = "cmu-infix"; - version = "20180228-git"; - asds = [ "cmu-infix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cmu-infix/2018-02-28/cmu-infix-20180228-git.tgz"; - sha256 = "0macs398088cfif1dkjrpmidk515sjl7ld96f9ys5cpzx8sc5gib"; - system = "cmu-infix"; - asd = "cmu-infix"; - }); - systems = [ "cmu-infix" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cmu-infix-tests = (build-asdf-system { - pname = "cmu-infix-tests"; - version = "20180228-git"; - asds = [ "cmu-infix-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cmu-infix/2018-02-28/cmu-infix-20180228-git.tgz"; - sha256 = "0macs398088cfif1dkjrpmidk515sjl7ld96f9ys5cpzx8sc5gib"; - system = "cmu-infix-tests"; - asd = "cmu-infix-tests"; - }); - systems = [ "cmu-infix-tests" ]; - lispLibs = [ (getAttr "cmu-infix" self) (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coalton = (build-asdf-system { - pname = "coalton"; - version = "20241012-git"; - asds = [ "coalton" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "coalton"; - asd = "coalton"; - }); - systems = [ "coalton" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "coalton-asdf" self) (getAttr "coalton-compiler" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coalton-asdf = (build-asdf-system { - pname = "coalton-asdf"; - version = "20241012-git"; - asds = [ "coalton-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "coalton-asdf"; - asd = "coalton-asdf"; - }); - systems = [ "coalton-asdf" ]; - lispLibs = [ (getAttr "coalton-compiler" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coalton-compiler = (build-asdf-system { - pname = "coalton-compiler"; - version = "20241012-git"; - asds = [ "coalton-compiler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "coalton-compiler"; - asd = "coalton-compiler"; - }); - systems = [ "coalton-compiler" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "concrete-syntax-tree" self) (getAttr "eclector" self) (getAttr "eclector-concrete-syntax-tree" self) (getAttr "float-features" self) (getAttr "fset" self) (getAttr "named-readtables" self) (getAttr "source-error" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coalton-testing-example-project = (build-asdf-system { - pname = "coalton-testing-example-project"; - version = "20241012-git"; - asds = [ "coalton-testing-example-project" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "coalton-testing-example-project"; - asd = "coalton-testing-example-project"; - }); - systems = [ "coalton-testing-example-project" ]; - lispLibs = [ (getAttr "coalton" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cocoahelper = (build-asdf-system { - pname = "cocoahelper"; - version = "20210807-git"; - asds = [ "cocoahelper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "cocoahelper"; - asd = "cocoahelper"; - }); - systems = [ "cocoahelper" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl-binaries" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cocoas = (build-asdf-system { - pname = "cocoas"; - version = "20241012-git"; - asds = [ "cocoas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cocoas/2024-10-12/cocoas-20241012-git.tgz"; - sha256 = "0a3jpni8hnzd6103qj3nywy61c3jq6j9yzmg35wy4b8j94pgyvj5"; - system = "cocoas"; - asd = "cocoas"; - }); - systems = [ "cocoas" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "float-features" self) (getAttr "trivial-main-thread" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - codata-recommended-values = (build-asdf-system { - pname = "codata-recommended-values"; - version = "20241012-git"; - asds = [ "codata-recommended-values" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/codata-recommended-values/2024-10-12/codata-recommended-values-20241012-git.tgz"; - sha256 = "0mks9hzw5wkdjkqkcfbafm9rvbfgkn2na4bajfrhs4mn7bg4bv74"; - system = "codata-recommended-values"; - asd = "codata-recommended-values"; - }); - systems = [ "codata-recommended-values" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - codex = (build-asdf-system { - pname = "codex"; - version = "20241012-git"; - asds = [ "codex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/codex/2024-10-12/codex-20241012-git.tgz"; - sha256 = "06d1qscqnkd24fhpvsm0206a4cj3wsxma7amazhvzqy1y4girgc3"; - system = "codex"; - asd = "codex"; - }); - systems = [ "codex" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-slug" self) (getAttr "codex-templates" self) (getAttr "common-doc" self) (getAttr "common-doc-contrib" self) (getAttr "docparser" self) (getAttr "pandocl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - codex-templates = (build-asdf-system { - pname = "codex-templates"; - version = "20241012-git"; - asds = [ "codex-templates" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/codex/2024-10-12/codex-20241012-git.tgz"; - sha256 = "06d1qscqnkd24fhpvsm0206a4cj3wsxma7amazhvzqy1y4girgc3"; - system = "codex-templates"; - asd = "codex-templates"; - }); - systems = [ "codex-templates" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "common-html" self) (getAttr "djula" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coleslaw = (build-asdf-system { - pname = "coleslaw"; - version = "20241012-git"; - asds = [ "coleslaw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coleslaw/2024-10-12/coleslaw-20241012-git.tgz"; - sha256 = "1p9hg5qnymxzx2bzcvkzjarwxw383misq0cmqgggpzyhignx80av"; - system = "coleslaw"; - asd = "coleslaw"; - }); - systems = [ "coleslaw" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "cl-unicode" self) (getAttr "closer-mop" self) (getAttr "closure-template" self) (getAttr "inferior-shell" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coleslaw-cli = (build-asdf-system { - pname = "coleslaw-cli"; - version = "20241012-git"; - asds = [ "coleslaw-cli" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coleslaw/2024-10-12/coleslaw-20241012-git.tgz"; - sha256 = "1p9hg5qnymxzx2bzcvkzjarwxw383misq0cmqgggpzyhignx80av"; - system = "coleslaw-cli"; - asd = "coleslaw-cli"; - }); - systems = [ "coleslaw-cli" ]; - lispLibs = [ (getAttr "clack" self) (getAttr "coleslaw" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - coleslaw-test = (build-asdf-system { - pname = "coleslaw-test"; - version = "20241012-git"; - asds = [ "coleslaw-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coleslaw/2024-10-12/coleslaw-20241012-git.tgz"; - sha256 = "1p9hg5qnymxzx2bzcvkzjarwxw383misq0cmqgggpzyhignx80av"; - system = "coleslaw-test"; - asd = "coleslaw-test"; - }); - systems = [ "coleslaw-test" ]; - lispLibs = [ (getAttr "coleslaw" self) (getAttr "coleslaw-cli" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - collectors = (build-asdf-system { - pname = "collectors"; - version = "20241012-git"; - asds = [ "collectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/collectors/2024-10-12/collectors-20241012-git.tgz"; - sha256 = "1kc9q05wyp8yjz5wqc73nar7l49vcnfhj4924li81v76hlb03665"; - system = "collectors"; - asd = "collectors"; - }); - systems = [ "collectors" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "symbol-munger" self) ]; - meta = {}; - }); - colliflower = (build-asdf-system { - pname = "colliflower"; - version = "20211020-git"; - asds = [ "colliflower" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; - sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; - system = "colliflower"; - asd = "colliflower"; - }); - systems = [ "colliflower" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "garten" self) (getAttr "liter" self) (getAttr "silo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - colliflower-fset = (build-asdf-system { - pname = "colliflower-fset"; - version = "20211020-git"; - asds = [ "colliflower-fset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; - sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; - system = "colliflower-fset"; - asd = "colliflower-fset"; - }); - systems = [ "colliflower-fset" ]; - lispLibs = [ (getAttr "colliflower" self) (getAttr "fset" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - colliflower-test = (build-asdf-system { - pname = "colliflower-test"; - version = "20211020-git"; - asds = [ "colliflower-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; - sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; - system = "colliflower-test"; - asd = "colliflower-test"; - }); - systems = [ "colliflower-test" ]; - lispLibs = [ (getAttr "colliflower" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - colnew = (build-asdf-system { - pname = "colnew"; - version = "20231021-git"; - asds = [ "colnew" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "colnew"; - asd = "colnew"; - }); - systems = [ "colnew" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - colored = (build-asdf-system { - pname = "colored"; - version = "20241012-git"; - asds = [ "colored" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colored/2024-10-12/colored-20241012-git.tgz"; - sha256 = "0msw83gs5m887n1ha54jhflqjxb2mc7yv1hifspv9g16fn6h355c"; - system = "colored"; - asd = "colored"; - }); - systems = [ "colored" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - colored-test = (build-asdf-system { - pname = "colored-test"; - version = "20241012-git"; - asds = [ "colored-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colored/2024-10-12/colored-20241012-git.tgz"; - sha256 = "0msw83gs5m887n1ha54jhflqjxb2mc7yv1hifspv9g16fn6h355c"; - system = "colored-test"; - asd = "colored-test"; - }); - systems = [ "colored-test" ]; - lispLibs = [ (getAttr "colored" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - colorize = (build-asdf-system { - pname = "colorize"; - version = "20230214-git"; - asds = [ "colorize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colorize/2023-02-14/colorize-20230214-git.tgz"; - sha256 = "1gbg11ghs4iak3n4c66qn6yvrcsg71xcbnjjf8qks0y4c8573fyf"; - system = "colorize"; - asd = "colorize"; - }); - systems = [ "colorize" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "html-encode" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - com-on = (build-asdf-system { - pname = "com-on"; - version = "20241012-git"; - asds = [ "com-on" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com-on/2024-10-12/com-on-20241012-git.tgz"; - sha256 = "1a3by2kx3iq0zl4304zhs89dfkp8xdjmdlnfmgywdg3wjdkxakci"; - system = "com-on"; - asd = "com-on"; - }); - systems = [ "com-on" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com-on-test = (build-asdf-system { - pname = "com-on-test"; - version = "20241012-git"; - asds = [ "com-on-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com-on/2024-10-12/com-on-20241012-git.tgz"; - sha256 = "1a3by2kx3iq0zl4304zhs89dfkp8xdjmdlnfmgywdg3wjdkxakci"; - system = "com-on-test"; - asd = "com-on-test"; - }); - systems = [ "com-on-test" ]; - lispLibs = [ (getAttr "com-on" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_clearly-useful_dot_generic-collection-interface = (build-asdf-system { - pname = "com.clearly-useful.generic-collection-interface"; - version = "20190710-git"; - asds = [ "com.clearly-useful.generic-collection-interface" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.clearly-useful.generic-collection-interface/2019-07-10/com.clearly-useful.generic-collection-interface-20190710-git.tgz"; - sha256 = "1yfxwqgvrb1nwryymsl4s3h1lr8yskb9c76lxqy3mw5l0vwvl5zl"; - system = "com.clearly-useful.generic-collection-interface"; - asd = "com.clearly-useful.generic-collection-interface"; - }); - systems = [ "com.clearly-useful.generic-collection-interface" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "com_dot_clearly-useful_dot_protocols" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_clearly-useful_dot_generic-collection-interface_dot_test = (build-asdf-system { - pname = "com.clearly-useful.generic-collection-interface.test"; - version = "20190710-git"; - asds = [ "com.clearly-useful.generic-collection-interface.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.clearly-useful.generic-collection-interface/2019-07-10/com.clearly-useful.generic-collection-interface-20190710-git.tgz"; - sha256 = "1yfxwqgvrb1nwryymsl4s3h1lr8yskb9c76lxqy3mw5l0vwvl5zl"; - system = "com.clearly-useful.generic-collection-interface.test"; - asd = "com.clearly-useful.generic-collection-interface.test"; - }); - systems = [ "com.clearly-useful.generic-collection-interface.test" ]; - lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_clearly-useful_dot_iterate_plus = (build-asdf-system { - pname = "com.clearly-useful.iterate+"; - version = "20121013-git"; - asds = [ "com.clearly-useful.iterate+" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.clearly-useful.iterate-plus/2012-10-13/com.clearly-useful.iterate-plus-20121013-git.tgz"; - sha256 = "0fpymg6p9zglkclfn035agcs5k83fakad7dj2612v5p1snzzcika"; - system = "com.clearly-useful.iterate+"; - asd = "com.clearly-useful.iterate+"; - }); - systems = [ "com.clearly-useful.iterate+" ]; - lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" self) (getAttr "com_dot_clearly-useful_dot_iterator-protocol" self) (getAttr "com_dot_clearly-useful_dot_protocols" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_clearly-useful_dot_iterator-protocol = (build-asdf-system { - pname = "com.clearly-useful.iterator-protocol"; - version = "20130312-git"; - asds = [ "com.clearly-useful.iterator-protocol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.clearly-useful.iterator-protocol/2013-03-12/com.clearly-useful.iterator-protocol-20130312-git.tgz"; - sha256 = "1wgksgpck6na1ygdnln5n1y8rj2kylg3lpbkyrhdka2cgsqiqs4a"; - system = "com.clearly-useful.iterator-protocol"; - asd = "com.clearly-useful.iterator-protocol"; - }); - systems = [ "com.clearly-useful.iterator-protocol" ]; - lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" self) (getAttr "com_dot_clearly-useful_dot_protocols" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_clearly-useful_dot_protocols = (build-asdf-system { - pname = "com.clearly-useful.protocols"; - version = "20130312-git"; - asds = [ "com.clearly-useful.protocols" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.clearly-useful.protocols/2013-03-12/com.clearly-useful.protocols-20130312-git.tgz"; - sha256 = "0az9rs98chjj2fdmpapqkv4sgfs84n9s7vvngcl05hcbsldm0xvn"; - system = "com.clearly-useful.protocols"; - asd = "com.clearly-useful.protocols"; - }); - systems = [ "com.clearly-useful.protocols" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_danielkeogh_dot_graph = (build-asdf-system { - pname = "com.danielkeogh.graph"; - version = "20241012-git"; - asds = [ "com.danielkeogh.graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.danielkeogh.graph/2024-10-12/com.danielkeogh.graph-20241012-git.tgz"; - sha256 = "1hy9g49aqi1li0cdxzjmzgiskh00vlxbp1kjwiyk8a8kqzg69hj2"; - system = "com.danielkeogh.graph"; - asd = "com.danielkeogh.graph"; - }); - systems = [ "com.danielkeogh.graph" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-speedy-queue" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_danielkeogh_dot_graph-tests = (build-asdf-system { - pname = "com.danielkeogh.graph-tests"; - version = "20241012-git"; - asds = [ "com.danielkeogh.graph-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.danielkeogh.graph/2024-10-12/com.danielkeogh.graph-20241012-git.tgz"; - sha256 = "1hy9g49aqi1li0cdxzjmzgiskh00vlxbp1kjwiyk8a8kqzg69hj2"; - system = "com.danielkeogh.graph-tests"; - asd = "com.danielkeogh.graph-tests"; - }); - systems = [ "com.danielkeogh.graph-tests" ]; - lispLibs = [ (getAttr "com_dot_danielkeogh_dot_graph" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_dvlsoft_dot_rcfiles = (build-asdf-system { - pname = "com.dvlsoft.rcfiles"; - version = "20111203-http"; - asds = [ "com.dvlsoft.rcfiles" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rcfiles/2011-12-03/cl-rcfiles-20111203-http.tgz"; - sha256 = "06ahp9jaim216k7vbya1kp8iy5yb1i7axwrsjx7gwhl2b2q63r0a"; - system = "com.dvlsoft.rcfiles"; - asd = "com.dvlsoft.rcfiles"; - }); - systems = [ "com.dvlsoft.rcfiles" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_elbeno_dot_curve = (build-asdf-system { - pname = "com.elbeno.curve"; - version = "20130128-git"; - asds = [ "com.elbeno.curve" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/curve/2013-01-28/curve-20130128-git.tgz"; - sha256 = "0223sxrdixjg0bmy76a9kiv7g4zjkqxs92x6kys5dnaywx7mjb6j"; - system = "com.elbeno.curve"; - asd = "com.elbeno.curve"; - }); - systems = [ "com.elbeno.curve" ]; - lispLibs = [ (getAttr "com_dot_elbeno_dot_vector" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_elbeno_dot_vector = (build-asdf-system { - pname = "com.elbeno.vector"; - version = "20130128-git"; - asds = [ "com.elbeno.vector" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vector/2013-01-28/vector-20130128-git.tgz"; - sha256 = "04czvqycn9j2hzbjmrp9fgqlgns5l7vbb73dgv3zqmiwzdb66qr5"; - system = "com.elbeno.vector"; - asd = "com.elbeno.vector"; - }); - systems = [ "com.elbeno.vector" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_binary-data = (build-asdf-system { - pname = "com.gigamonkeys.binary-data"; - version = "20111203-git"; - asds = [ "com.gigamonkeys.binary-data" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-binary-data/2011-12-03/monkeylib-binary-data-20111203-git.tgz"; - sha256 = "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"; - system = "com.gigamonkeys.binary-data"; - asd = "com.gigamonkeys.binary-data"; - }); - systems = [ "com.gigamonkeys.binary-data" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_json = (build-asdf-system { - pname = "com.gigamonkeys.json"; - version = "20180228-git"; - asds = [ "com.gigamonkeys.json" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-json/2018-02-28/monkeylib-json-20180228-git.tgz"; - sha256 = "188717pmyhpgwg9ncc1fbqvbvw5fikbfhvchsy9gg4haxhdgpzsn"; - system = "com.gigamonkeys.json"; - asd = "com.gigamonkeys.json"; - }); - systems = [ "com.gigamonkeys.json" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_parser" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_macro-utilities = (build-asdf-system { - pname = "com.gigamonkeys.macro-utilities"; - version = "20111203-git"; - asds = [ "com.gigamonkeys.macro-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-macro-utilities/2011-12-03/monkeylib-macro-utilities-20111203-git.tgz"; - sha256 = "0l3m44zlzrvyn6fyvxslga8cppp4mh8dkgqzy297nnm0vnij5r8w"; - system = "com.gigamonkeys.macro-utilities"; - asd = "com.gigamonkeys.macro-utilities"; - }); - systems = [ "com.gigamonkeys.macro-utilities" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_markup = (build-asdf-system { - pname = "com.gigamonkeys.markup"; - version = "20120909-git"; - asds = [ "com.gigamonkeys.markup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-markup/2012-09-09/monkeylib-markup-20120909-git.tgz"; - sha256 = "049zqgnprvddn2zp1a8g862m3ikll3a3lpi1k2vimjmx1bkc0vs0"; - system = "com.gigamonkeys.markup"; - asd = "com.gigamonkeys.markup"; - }); - systems = [ "com.gigamonkeys.markup" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "com_dot_gigamonkeys_dot_pathnames" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_parser = (build-asdf-system { - pname = "com.gigamonkeys.parser"; - version = "20120208-git"; - asds = [ "com.gigamonkeys.parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-parser/2012-02-08/monkeylib-parser-20120208-git.tgz"; - sha256 = "1xvzrih813311p48bzlm0z0592lx6iss3m36vz55qsw4sr397ncd"; - system = "com.gigamonkeys.parser"; - asd = "com.gigamonkeys.parser"; - }); - systems = [ "com.gigamonkeys.parser" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_pathnames = (build-asdf-system { - pname = "com.gigamonkeys.pathnames"; - version = "20120208-git"; - asds = [ "com.gigamonkeys.pathnames" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-pathnames/2012-02-08/monkeylib-pathnames-20120208-git.tgz"; - sha256 = "108cc39g7razng316df4d47zzpj2zr576wzwwrpggdkm4q599gvk"; - system = "com.gigamonkeys.pathnames"; - asd = "com.gigamonkeys.pathnames"; - }); - systems = [ "com.gigamonkeys.pathnames" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_prose-diff = (build-asdf-system { - pname = "com.gigamonkeys.prose-diff"; - version = "20140713-git"; - asds = [ "com.gigamonkeys.prose-diff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-prose-diff/2014-07-13/monkeylib-prose-diff-20140713-git.tgz"; - sha256 = "1zwaa8qmpbdpdg8zzk3as73i55c54k9m694gx4bla1xxli5f8ijc"; - system = "com.gigamonkeys.prose-diff"; - asd = "com.gigamonkeys.prose-diff"; - }); - systems = [ "com.gigamonkeys.prose-diff" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) (getAttr "com_dot_gigamonkeys_dot_markup" self) (getAttr "com_dot_gigamonkeys_dot_pathnames" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) (getAttr "monkeylib-markup-html" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_test-framework = (build-asdf-system { - pname = "com.gigamonkeys.test-framework"; - version = "20101207-git"; - asds = [ "com.gigamonkeys.test-framework" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-test-framework/2010-12-07/monkeylib-test-framework-20101207-git.tgz"; - sha256 = "1d6b8zg0vnbqxxsbbjr3b4r46d8whj84h9yqnqw3ii0bwr8hn82v"; - system = "com.gigamonkeys.test-framework"; - asd = "com.gigamonkeys.test-framework"; - }); - systems = [ "com.gigamonkeys.test-framework" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_gigamonkeys_dot_utilities = (build-asdf-system { - pname = "com.gigamonkeys.utilities"; - version = "20170403-git"; - asds = [ "com.gigamonkeys.utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-utilities/2017-04-03/monkeylib-utilities-20170403-git.tgz"; - sha256 = "0d0h1y43mn6r8s4g9gbr02d09565p0gig21jfnk7zf1dl6rnvkvm"; - system = "com.gigamonkeys.utilities"; - asd = "com.gigamonkeys.utilities"; - }); - systems = [ "com.gigamonkeys.utilities" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_google_dot_base = (build-asdf-system { - pname = "com.google.base"; - version = "20200925-git"; - asds = [ "com.google.base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/com.google.base/2020-09-25/com.google.base-20200925-git.tgz"; - sha256 = "1drc341sqmrmyvdgqpdy066f0z0ia0kl3ppq0rlxznlxhn17x3xj"; - system = "com.google.base"; - asd = "com.google.base"; - }); - systems = [ "com.google.base" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_google_dot_flag = (build-asdf-system { - pname = "com.google.flag"; - version = "20201220-git"; - asds = [ "com.google.flag" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-gflags/2020-12-20/lisp-gflags-20201220-git.tgz"; - sha256 = "06p70v1wv0ynr6ng6vr6krc5773xphvkv2nfxvnschc1bzqhds5k"; - system = "com.google.flag"; - asd = "com.google.flag"; - }); - systems = [ "com.google.flag" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - com_dot_inuoe_dot_jzon = (build-asdf-system { - pname = "com.inuoe.jzon"; - version = "v1.1.4"; - asds = [ "com.inuoe.jzon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jzon/2024-10-12/jzon-v1.1.4.tgz"; - sha256 = "0z7xpylyk8rakz449rxqpz4hazn91ap2dnf0689iigdvvl3yqz3g"; - system = "com.inuoe.jzon"; - asd = "com.inuoe.jzon"; - }); - systems = [ "com.inuoe.jzon" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "flexi-streams" self) (getAttr "float-features" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - com_dot_inuoe_dot_jzon-tests = (build-asdf-system { - pname = "com.inuoe.jzon-tests"; - version = "v1.1.4"; - asds = [ "com.inuoe.jzon-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jzon/2024-10-12/jzon-v1.1.4.tgz"; - sha256 = "0z7xpylyk8rakz449rxqpz4hazn91ap2dnf0689iigdvvl3yqz3g"; - system = "com.inuoe.jzon-tests"; - asd = "com.inuoe.jzon-tests"; - }); - systems = [ "com.inuoe.jzon-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "float-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - command-line-arguments = (build-asdf-system { - pname = "command-line-arguments"; - version = "20210807-git"; - asds = [ "command-line-arguments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/command-line-arguments/2021-08-07/command-line-arguments-20210807-git.tgz"; - sha256 = "1wbb83b559nfv65rsxz3jrixic9gndk2whj40hhwb0s13rf5a62y"; - system = "command-line-arguments"; - asd = "command-line-arguments"; - }); - systems = [ "command-line-arguments" ]; - lispLibs = [ ]; - meta = {}; - }); - common-doc = (build-asdf-system { - pname = "common-doc"; - version = "20230214-git"; - asds = [ "common-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc"; - asd = "common-doc"; - }); - systems = [ "common-doc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "closer-mop" self) (getAttr "local-time" self) (getAttr "quri" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-contrib = (build-asdf-system { - pname = "common-doc-contrib"; - version = "20230214-git"; - asds = [ "common-doc-contrib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-contrib"; - asd = "common-doc-contrib"; - }); - systems = [ "common-doc-contrib" ]; - lispLibs = [ (getAttr "common-doc-gnuplot" self) (getAttr "common-doc-graphviz" self) (getAttr "common-doc-include" self) (getAttr "common-doc-plantuml" self) (getAttr "common-doc-split-paragraphs" self) (getAttr "common-doc-tex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-gnuplot = (build-asdf-system { - pname = "common-doc-gnuplot"; - version = "20230214-git"; - asds = [ "common-doc-gnuplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-gnuplot"; - asd = "common-doc-gnuplot"; - }); - systems = [ "common-doc-gnuplot" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-graphviz = (build-asdf-system { - pname = "common-doc-graphviz"; - version = "20230214-git"; - asds = [ "common-doc-graphviz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-graphviz"; - asd = "common-doc-graphviz"; - }); - systems = [ "common-doc-graphviz" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-include = (build-asdf-system { - pname = "common-doc-include"; - version = "20230214-git"; - asds = [ "common-doc-include" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-include"; - asd = "common-doc-include"; - }); - systems = [ "common-doc-include" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-plantuml = (build-asdf-system { - pname = "common-doc-plantuml"; - version = "20230214-git"; - asds = [ "common-doc-plantuml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-plantuml"; - asd = "common-doc-plantuml"; - }); - systems = [ "common-doc-plantuml" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-plump = (build-asdf-system { - pname = "common-doc-plump"; - version = "20160421-git"; - asds = [ "common-doc-plump" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc-plump/2016-04-21/common-doc-plump-20160421-git.tgz"; - sha256 = "08h7m4c599rf2kz4wkpbj05441ax0vb3bd88a7dw5x57djf765r6"; - system = "common-doc-plump"; - asd = "common-doc-plump"; - }); - systems = [ "common-doc-plump" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "cl-markup" self) (getAttr "common-doc" self) (getAttr "common-doc-split-paragraphs" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-plump-test = (build-asdf-system { - pname = "common-doc-plump-test"; - version = "20160421-git"; - asds = [ "common-doc-plump-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc-plump/2016-04-21/common-doc-plump-20160421-git.tgz"; - sha256 = "08h7m4c599rf2kz4wkpbj05441ax0vb3bd88a7dw5x57djf765r6"; - system = "common-doc-plump-test"; - asd = "common-doc-plump-test"; - }); - systems = [ "common-doc-plump-test" ]; - lispLibs = [ (getAttr "common-doc-plump" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-split-paragraphs = (build-asdf-system { - pname = "common-doc-split-paragraphs"; - version = "20230214-git"; - asds = [ "common-doc-split-paragraphs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-split-paragraphs"; - asd = "common-doc-split-paragraphs"; - }); - systems = [ "common-doc-split-paragraphs" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "common-doc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-test = (build-asdf-system { - pname = "common-doc-test"; - version = "20230214-git"; - asds = [ "common-doc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-test"; - asd = "common-doc-test"; - }); - systems = [ "common-doc-test" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "common-doc-contrib" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-doc-tex = (build-asdf-system { - pname = "common-doc-tex"; - version = "20230214-git"; - asds = [ "common-doc-tex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; - sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; - system = "common-doc-tex"; - asd = "common-doc-tex"; - }); - systems = [ "common-doc-tex" ]; - lispLibs = [ (getAttr "common-doc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-html = (build-asdf-system { - pname = "common-html"; - version = "20210807-git"; - asds = [ "common-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-html/2021-08-07/common-html-20210807-git.tgz"; - sha256 = "1i11w4l95nybz5ibnaxrnrkfhch2s9wynqrg6kx6sl6y47khq1xz"; - system = "common-html"; - asd = "common-html"; - }); - systems = [ "common-html" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "common-doc" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-html-test = (build-asdf-system { - pname = "common-html-test"; - version = "20210807-git"; - asds = [ "common-html-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-html/2021-08-07/common-html-20210807-git.tgz"; - sha256 = "1i11w4l95nybz5ibnaxrnrkfhch2s9wynqrg6kx6sl6y47khq1xz"; - system = "common-html-test"; - asd = "common-html-test"; - }); - systems = [ "common-html-test" ]; - lispLibs = [ (getAttr "common-html" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - common-lisp-jupyter = (build-asdf-system { - pname = "common-lisp-jupyter"; - version = "20241012-git"; - asds = [ "common-lisp-jupyter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-lisp-jupyter/2024-10-12/common-lisp-jupyter-20241012-git.tgz"; - sha256 = "1qbrzv0myxfxq7rzm2y9cm2xymkl982982h2kbsl7d1yd5hrjvl6"; - system = "common-lisp-jupyter"; - asd = "common-lisp-jupyter"; - }); - systems = [ "common-lisp-jupyter" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "cl-indentify" self) (getAttr "closer-mop" self) (getAttr "dissect" self) (getAttr "eclector" self) (getAttr "ironclad" self) (getAttr "jupyter-lab-extension" self) (getAttr "multilang-documentation" self) (getAttr "nontrivial-gray-streams" self) (getAttr "puri" self) (getAttr "pzmq" self) (getAttr "shasht" self) (getAttr "static-vectors" self) (getAttr "trivial-do" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-mimes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - commondoc-markdown = (build-asdf-system { - pname = "commondoc-markdown"; - version = "20241012-git"; - asds = [ "commondoc-markdown" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/commondoc-markdown/2024-10-12/commondoc-markdown-20241012-git.tgz"; - sha256 = "12n8yx8jhz8713r63gmrymplm1mfczm7q7a343d13wl6gng1gjs1"; - system = "commondoc-markdown"; - asd = "commondoc-markdown"; - }); - systems = [ "commondoc-markdown" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "_3bmd-ext-tables" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "common-doc" self) (getAttr "common-html" self) (getAttr "esrap" self) (getAttr "ironclad" self) (getAttr "plump" self) (getAttr "quri" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - commondoc-markdown-docs = (build-asdf-system { - pname = "commondoc-markdown-docs"; - version = "20241012-git"; - asds = [ "commondoc-markdown-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/commondoc-markdown/2024-10-12/commondoc-markdown-20241012-git.tgz"; - sha256 = "12n8yx8jhz8713r63gmrymplm1mfczm7q7a343d13wl6gng1gjs1"; - system = "commondoc-markdown-docs"; - asd = "commondoc-markdown-docs"; - }); - systems = [ "commondoc-markdown-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - commondoc-markdown-test = (build-asdf-system { - pname = "commondoc-markdown-test"; - version = "20241012-git"; - asds = [ "commondoc-markdown-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/commondoc-markdown/2024-10-12/commondoc-markdown-20241012-git.tgz"; - sha256 = "12n8yx8jhz8713r63gmrymplm1mfczm7q7a343d13wl6gng1gjs1"; - system = "commondoc-markdown-test"; - asd = "commondoc-markdown-test"; - }); - systems = [ "commondoc-markdown-test" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "commondoc-markdown" self) (getAttr "hamcrest" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - commonqt = (build-asdf-system { - pname = "commonqt"; - version = "20210531-git"; - asds = [ "commonqt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "commonqt"; - asd = "commonqt"; - }); - systems = [ "commonqt" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "smokebase" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - comp-set = (build-asdf-system { - pname = "comp-set"; - version = "20210807-git"; - asds = [ "comp-set" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "comp-set"; - asd = "comp-set"; - }); - systems = [ "comp-set" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - compatible-metaclasses = (build-asdf-system { - pname = "compatible-metaclasses"; - version = "1.0"; - asds = [ "compatible-metaclasses" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/compatible-metaclasses/2020-09-25/compatible-metaclasses_1.0.tgz"; - sha256 = "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6"; - system = "compatible-metaclasses"; - asd = "compatible-metaclasses"; - }); - systems = [ "compatible-metaclasses" ]; - lispLibs = [ (getAttr "class-options" self) (getAttr "closer-mop" self) (getAttr "enhanced-find-class" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - compatible-metaclasses__tests = (build-asdf-system { - pname = "compatible-metaclasses_tests"; - version = "1.0"; - asds = [ "compatible-metaclasses_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/compatible-metaclasses/2020-09-25/compatible-metaclasses_1.0.tgz"; - sha256 = "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6"; - system = "compatible-metaclasses_tests"; - asd = "compatible-metaclasses_tests"; - }); - systems = [ "compatible-metaclasses_tests" ]; - lispLibs = [ (getAttr "compatible-metaclasses" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - compiler-macro-notes = (build-asdf-system { - pname = "compiler-macro-notes"; - version = "v0.3.1"; - asds = [ "compiler-macro-notes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/compiler-macro-notes/2024-10-12/compiler-macro-notes-v0.3.1.tgz"; - sha256 = "0pchhvk14fx54p7qq92dnf0g4jnapqr6p2a4za6bhzd8im1d9gad"; - system = "compiler-macro-notes"; - asd = "compiler-macro-notes"; - }); - systems = [ "compiler-macro-notes" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-environments" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - computable-reals = (build-asdf-system { - pname = "computable-reals"; - version = "20231021-git"; - asds = [ "computable-reals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/computable-reals/2023-10-21/computable-reals-20231021-git.tgz"; - sha256 = "1x8kkdyjil0zzg8fq9b76z12kmfrqwhsxnr6qqnlrg0c8c5bzz9c"; - system = "computable-reals"; - asd = "computable-reals"; - }); - systems = [ "computable-reals" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - concrete-syntax-tree = (build-asdf-system { - pname = "concrete-syntax-tree"; - version = "20230618-git"; - asds = [ "concrete-syntax-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; - sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; - system = "concrete-syntax-tree"; - asd = "concrete-syntax-tree"; - }); - systems = [ "concrete-syntax-tree" ]; - lispLibs = [ (getAttr "concrete-syntax-tree-base" self) (getAttr "concrete-syntax-tree-lambda-list" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - concrete-syntax-tree-base = (build-asdf-system { - pname = "concrete-syntax-tree-base"; - version = "20230618-git"; - asds = [ "concrete-syntax-tree-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; - sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; - system = "concrete-syntax-tree-base"; - asd = "concrete-syntax-tree-base"; - }); - systems = [ "concrete-syntax-tree-base" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - concrete-syntax-tree-destructuring = (build-asdf-system { - pname = "concrete-syntax-tree-destructuring"; - version = "20230618-git"; - asds = [ "concrete-syntax-tree-destructuring" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; - sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; - system = "concrete-syntax-tree-destructuring"; - asd = "concrete-syntax-tree-destructuring"; - }); - systems = [ "concrete-syntax-tree-destructuring" ]; - lispLibs = [ (getAttr "concrete-syntax-tree-lambda-list" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - concrete-syntax-tree-lambda-list = (build-asdf-system { - pname = "concrete-syntax-tree-lambda-list"; - version = "20230618-git"; - asds = [ "concrete-syntax-tree-lambda-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; - sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; - system = "concrete-syntax-tree-lambda-list"; - asd = "concrete-syntax-tree-lambda-list"; - }); - systems = [ "concrete-syntax-tree-lambda-list" ]; - lispLibs = [ (getAttr "concrete-syntax-tree-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - concrete-syntax-tree-lambda-list-test = (build-asdf-system { - pname = "concrete-syntax-tree-lambda-list-test"; - version = "20230618-git"; - asds = [ "concrete-syntax-tree-lambda-list-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; - sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; - system = "concrete-syntax-tree-lambda-list-test"; - asd = "concrete-syntax-tree-lambda-list-test"; - }); - systems = [ "concrete-syntax-tree-lambda-list-test" ]; - lispLibs = [ (getAttr "concrete-syntax-tree-lambda-list" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - concrete-syntax-tree-source-info = (build-asdf-system { - pname = "concrete-syntax-tree-source-info"; - version = "20230618-git"; - asds = [ "concrete-syntax-tree-source-info" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; - sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; - system = "concrete-syntax-tree-source-info"; - asd = "concrete-syntax-tree-source-info"; - }); - systems = [ "concrete-syntax-tree-source-info" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - conditional-commands = (build-asdf-system { - pname = "conditional-commands"; - version = "20241012-git"; - asds = [ "conditional-commands" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "conditional-commands"; - asd = "conditional-commands"; - }); - systems = [ "conditional-commands" ]; - lispLibs = [ (getAttr "clim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - conf = (build-asdf-system { - pname = "conf"; - version = "20191227-git"; - asds = [ "conf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/conf/2019-12-27/conf-20191227-git.tgz"; - sha256 = "0mif91gb6yqg2qrzd2p6n83w9injikm5gggzv2mgxkiyzmr5gnay"; - system = "conf"; - asd = "conf"; - }); - systems = [ "conf" ]; - lispLibs = [ (getAttr "cl-fad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options = (build-asdf-system { - pname = "configuration.options"; - version = "20210531-git"; - asds = [ "configuration.options" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options"; - asd = "configuration.options"; - }); - systems = [ "configuration.options" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_service-provider" self) (getAttr "cl-hooks" self) (getAttr "esrap" self) (getAttr "let-plus" self) (getAttr "log4cl" self) (getAttr "more-conditions" self) (getAttr "split-sequence" self) (getAttr "utilities_dot_print-items" self) (getAttr "utilities_dot_print-tree" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options-and-mop = (build-asdf-system { - pname = "configuration.options-and-mop"; - version = "20210531-git"; - asds = [ "configuration.options-and-mop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options-and-mop"; - asd = "configuration.options-and-mop"; - }); - systems = [ "configuration.options-and-mop" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "configuration_dot_options" self) (getAttr "let-plus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options-and-puri = (build-asdf-system { - pname = "configuration.options-and-puri"; - version = "20210531-git"; - asds = [ "configuration.options-and-puri" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options-and-puri"; - asd = "configuration.options-and-puri"; - }); - systems = [ "configuration.options-and-puri" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "configuration_dot_options" self) (getAttr "let-plus" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options-and-quri = (build-asdf-system { - pname = "configuration.options-and-quri"; - version = "20210531-git"; - asds = [ "configuration.options-and-quri" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options-and-quri"; - asd = "configuration.options-and-quri"; - }); - systems = [ "configuration.options-and-quri" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "configuration_dot_options" self) (getAttr "let-plus" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options-and-service-provider = (build-asdf-system { - pname = "configuration.options-and-service-provider"; - version = "20210531-git"; - asds = [ "configuration.options-and-service-provider" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options-and-service-provider"; - asd = "configuration.options-and-service-provider"; - }); - systems = [ "configuration.options-and-service-provider" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_service-provider" self) (getAttr "architecture_dot_service-provider-and-hooks" self) (getAttr "configuration_dot_options" self) (getAttr "configuration_dot_options-and-mop" self) (getAttr "let-plus" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options-syntax-ini = (build-asdf-system { - pname = "configuration.options-syntax-ini"; - version = "20210531-git"; - asds = [ "configuration.options-syntax-ini" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options-syntax-ini"; - asd = "configuration.options-syntax-ini"; - }); - systems = [ "configuration.options-syntax-ini" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "configuration_dot_options" self) (getAttr "let-plus" self) (getAttr "parser_dot_ini" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - configuration_dot_options-syntax-xml = (build-asdf-system { - pname = "configuration.options-syntax-xml"; - version = "20210531-git"; - asds = [ "configuration.options-syntax-xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; - sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; - system = "configuration.options-syntax-xml"; - asd = "configuration.options-syntax-xml"; - }); - systems = [ "configuration.options-syntax-xml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "configuration_dot_options" self) (getAttr "let-plus" self) (getAttr "xml_dot_location" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - conium = (build-asdf-system { - pname = "conium"; - version = "20210630-git"; - asds = [ "conium" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/conium/2021-06-30/conium-20210630-git.tgz"; - sha256 = "0y31za8xr8734p2pf8mrw1jd1fksh2d4y1p12wwjyn8hxxsvsx1w"; - system = "conium"; - asd = "conium"; - }); - systems = [ "conium" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - consfigurator = (build-asdf-system { - pname = "consfigurator"; - version = "v1.4.4"; - asds = [ "consfigurator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/consfigurator/2024-10-12/consfigurator-v1.4.4.tgz"; - sha256 = "1f4q5w58phj5a6i2fj712ggz2p8b5m4v77qzsvbb3xmy2vhppvv0"; - system = "consfigurator"; - asd = "consfigurator"; - }); - systems = [ "consfigurator" ]; - lispLibs = [ (getAttr "agnostic-lizard" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "babel" self) (getAttr "babel-streams" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-heredoc" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "named-readtables" self) (getAttr "osicat" self) (getAttr "parse-number" self) (getAttr "trivial-backtrace" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - consix = (build-asdf-system { - pname = "consix"; - version = "20201220-git"; - asds = [ "consix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/consix/2020-12-20/consix-20201220-git.tgz"; - sha256 = "0zpcaxgq9jx0baj5sid8rnzq8ygsmd8yzb0x37nkaiwa67x5jjck"; - system = "consix"; - asd = "consix"; - }); - systems = [ "consix" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-glu" self) (getAttr "cl-glut" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - constantfold = (build-asdf-system { - pname = "constantfold"; - version = "20191227-git"; - asds = [ "constantfold" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/constantfold/2019-12-27/constantfold-20191227-git.tgz"; - sha256 = "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"; - system = "constantfold"; - asd = "constantfold"; - }); - systems = [ "constantfold" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "lisp-namespace" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - constantfold_dot_test = (build-asdf-system { - pname = "constantfold.test"; - version = "20191227-git"; - asds = [ "constantfold.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/constantfold/2019-12-27/constantfold-20191227-git.tgz"; - sha256 = "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"; - system = "constantfold.test"; - asd = "constantfold.test"; - }); - systems = [ "constantfold.test" ]; - lispLibs = [ (getAttr "constantfold" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - context-lite = (build-asdf-system { - pname = "context-lite"; - version = "20220331-git"; - asds = [ "context-lite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/context-lite/2022-03-31/context-lite-20220331-git.tgz"; - sha256 = "16hmid3adimn10c0y4p6hg7n42al2qgsy7wxlpargk0xbn4h3km4"; - system = "context-lite"; - asd = "context-lite"; - }); - systems = [ "context-lite" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - contextl = (build-asdf-system { - pname = "contextl"; - version = "20241012-git"; - asds = [ "contextl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/contextl/2024-10-12/contextl-20241012-git.tgz"; - sha256 = "1jsa5wyjzzfw9pii3d6x20mh8ijnpb291g3i0y2ccj0x8z3xfyyk"; - system = "contextl"; - asd = "contextl"; - }); - systems = [ "contextl" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "lw-compat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - control = (build-asdf-system { - pname = "control"; - version = "20200427-git"; - asds = [ "control" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "control"; - asd = "control"; - }); - systems = [ "control" ]; - lispLibs = [ (getAttr "character-modifier-bits" self) (getAttr "utility" self) (getAttr "window" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - copy-directory = (build-asdf-system { - pname = "copy-directory"; - version = "20160628-git"; - asds = [ "copy-directory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/copy-directory/2016-06-28/copy-directory-20160628-git.tgz"; - sha256 = "19wvzb046lcyifhx26ydzf7ngfa52n64nyx76k3lh02x7ahhpc93"; - system = "copy-directory"; - asd = "copy-directory"; - }); - systems = [ "copy-directory" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "which" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - copy-directory-test = (build-asdf-system { - pname = "copy-directory-test"; - version = "20160628-git"; - asds = [ "copy-directory-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/copy-directory/2016-06-28/copy-directory-20160628-git.tgz"; - sha256 = "19wvzb046lcyifhx26ydzf7ngfa52n64nyx76k3lh02x7ahhpc93"; - system = "copy-directory-test"; - asd = "copy-directory-test"; - }); - systems = [ "copy-directory-test" ]; - lispLibs = [ (getAttr "copy-directory" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - core-reader = (build-asdf-system { - pname = "core-reader"; - version = "20220707-git"; - asds = [ "core-reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/core-reader/2022-07-07/core-reader-20220707-git.tgz"; - sha256 = "1f2cm44r3pnahgx1b3c3psf6myaliwsrvfcgz8c9ydqi5qlx49gb"; - system = "core-reader"; - asd = "core-reader"; - }); - systems = [ "core-reader" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - core-reader_dot_test = (build-asdf-system { - pname = "core-reader.test"; - version = "20220707-git"; - asds = [ "core-reader.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/core-reader/2022-07-07/core-reader-20220707-git.tgz"; - sha256 = "1f2cm44r3pnahgx1b3c3psf6myaliwsrvfcgz8c9ydqi5qlx49gb"; - system = "core-reader.test"; - asd = "core-reader.test"; - }); - systems = [ "core-reader.test" ]; - lispLibs = [ (getAttr "core-reader" self) (getAttr "jingoh" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cover = (build-asdf-system { - pname = "cover"; - version = "20230618-git"; - asds = [ "cover" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cover/2023-06-18/cover-20230618-git.tgz"; - sha256 = "0152zzdszhiblzm3a80x8bnalip7gnzyvvwnlswsnnlb509nby89"; - system = "cover"; - asd = "cover"; - }); - systems = [ "cover" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cqlcl = (build-asdf-system { - pname = "cqlcl"; - version = "20141106-git"; - asds = [ "cqlcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cqlcl/2014-11-06/cqlcl-20141106-git.tgz"; - sha256 = "0ppdsrrf2hz0s4y02a2p5mgms92znrj7hz7x9j6azppfkal25zid"; - system = "cqlcl"; - asd = "cqlcl"; - }); - systems = [ "cqlcl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "lparallel" self) (getAttr "pooler" self) (getAttr "split-sequence" self) (getAttr "usocket" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cqlcl-test = (build-asdf-system { - pname = "cqlcl-test"; - version = "20141106-git"; - asds = [ "cqlcl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cqlcl/2014-11-06/cqlcl-20141106-git.tgz"; - sha256 = "0ppdsrrf2hz0s4y02a2p5mgms92znrj7hz7x9j6azppfkal25zid"; - system = "cqlcl-test"; - asd = "cqlcl"; - }); - systems = [ "cqlcl-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cqlcl" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - crane = (build-asdf-system { - pname = "crane"; - version = "20160208-git"; - asds = [ "crane" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/crane/2016-02-08/crane-20160208-git.tgz"; - sha256 = "1wai4h7vz5i0ld1fnnbcmpz5d67dmykyxx0ay0fkclkwvpj7gh5n"; - system = "crane"; - asd = "crane"; - }); - systems = [ "crane" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "cl-fad" self) (getAttr "clos-fixtures" self) (getAttr "closer-mop" self) (getAttr "dbi" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - crane-test = (build-asdf-system { - pname = "crane-test"; - version = "20160208-git"; - asds = [ "crane-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/crane/2016-02-08/crane-20160208-git.tgz"; - sha256 = "1wai4h7vz5i0ld1fnnbcmpz5d67dmykyxx0ay0fkclkwvpj7gh5n"; - system = "crane-test"; - asd = "crane-test"; - }); - systems = [ "crane-test" ]; - lispLibs = [ (getAttr "crane" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cricket = (build-asdf-system { - pname = "cricket"; - version = "20220707-git"; - asds = [ "cricket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cricket/2022-07-07/cricket-20220707-git.tgz"; - sha256 = "0wdpzdmalbnfjmd9s7yalris4i1vvc2klnhfl8g0h2ahq0mqv9p9"; - system = "cricket"; - asd = "cricket"; - }); - systems = [ "cricket" ]; - lispLibs = [ (getAttr "arrow-macros" self) (getAttr "cl-cpus" self) (getAttr "lparallel" self) (getAttr "mfiano-utils" self) (getAttr "seedable-rng" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cricket_dot_test = (build-asdf-system { - pname = "cricket.test"; - version = "20220707-git"; - asds = [ "cricket.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cricket/2022-07-07/cricket-20220707-git.tgz"; - sha256 = "0wdpzdmalbnfjmd9s7yalris4i1vvc2klnhfl8g0h2ahq0mqv9p9"; - system = "cricket.test"; - asd = "cricket.test"; - }); - systems = [ "cricket.test" ]; - lispLibs = [ (getAttr "cricket" self) (getAttr "mfiano-utils" self) (getAttr "pngload" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - croatoan = (build-asdf-system { - pname = "croatoan"; - version = "20241012-git"; - asds = [ "croatoan" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; - sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; - system = "croatoan"; - asd = "croatoan"; - }); - systems = [ "croatoan" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "croatoan-ncurses" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - croatoan-ncurses = (build-asdf-system { - pname = "croatoan-ncurses"; - version = "20241012-git"; - asds = [ "croatoan-ncurses" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; - sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; - system = "croatoan-ncurses"; - asd = "croatoan-ncurses"; - }); - systems = [ "croatoan-ncurses" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - croatoan-test = (build-asdf-system { - pname = "croatoan-test"; - version = "20241012-git"; - asds = [ "croatoan-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; - sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; - system = "croatoan-test"; - asd = "croatoan-test"; - }); - systems = [ "croatoan-test" ]; - lispLibs = [ (getAttr "croatoan" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - crud = (build-asdf-system { - pname = "crud"; - version = "20200427-git"; - asds = [ "crud" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "crud"; - asd = "crud"; - }); - systems = [ "crud" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "base64" self) (getAttr "lparallel" self) (getAttr "sqlite" self) (getAttr "sucle-serialize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - crypt = (build-asdf-system { - pname = "crypt"; - version = "20120520-git"; - asds = [ "crypt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-crypt/2012-05-20/cl-crypt-20120520-git.tgz"; - sha256 = "02fc3aqfbbwjpz79a4mwffv33pnmmknpkmd1r8v9mkn9a6c1ssmh"; - system = "crypt"; - asd = "crypt"; - }); - systems = [ "crypt" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - crypto-shortcuts = (build-asdf-system { - pname = "crypto-shortcuts"; - version = "20231021-git"; - asds = [ "crypto-shortcuts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/crypto-shortcuts/2023-10-21/crypto-shortcuts-20231021-git.tgz"; - sha256 = "0ghih34xlf9vgbh8arsqjbgf8iymvs5s0ys0n2bm73b1z0632ygr"; - system = "crypto-shortcuts"; - asd = "crypto-shortcuts"; - }); - systems = [ "crypto-shortcuts" ]; - lispLibs = [ (getAttr "cl-base32" self) (getAttr "cl-base64" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cserial-port = (build-asdf-system { - pname = "cserial-port"; - version = "20230214-git"; - asds = [ "cserial-port" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cserial-port/2023-02-14/cserial-port-20230214-git.tgz"; - sha256 = "0l38qh66g2iba7kjw6fml3q55ax6vkk0khbwrsvkglwhpan79fsm"; - system = "cserial-port"; - asd = "cserial-port"; - }); - systems = [ "cserial-port" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "osicat" self) (getAttr "trivial-features" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - css-lite = (build-asdf-system { - pname = "css-lite"; - version = "20230618-git"; - asds = [ "css-lite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/css-lite/2023-06-18/css-lite-20230618-git.tgz"; - sha256 = "1pvvwd6ysdc7m5945vkwdbq4jjmcszmkxp9jhgi0lba23si07dp5"; - system = "css-lite"; - asd = "css-lite"; - }); - systems = [ "css-lite" ]; - lispLibs = [ (getAttr "parenscript" self) ]; - meta = {}; - }); - css-selectors = (build-asdf-system { - pname = "css-selectors"; - version = "20160628-git"; - asds = [ "css-selectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; - sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; - system = "css-selectors"; - asd = "css-selectors"; - }); - systems = [ "css-selectors" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "buildnode" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) (getAttr "yacc" self) ]; - meta = {}; - }); - css-selectors-simple-tree = (build-asdf-system { - pname = "css-selectors-simple-tree"; - version = "20160628-git"; - asds = [ "css-selectors-simple-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; - sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; - system = "css-selectors-simple-tree"; - asd = "css-selectors-simple-tree"; - }); - systems = [ "css-selectors-simple-tree" ]; - lispLibs = [ (getAttr "cl-html5-parser" self) (getAttr "css-selectors" self) ]; - meta = {}; - }); - css-selectors-stp = (build-asdf-system { - pname = "css-selectors-stp"; - version = "20160628-git"; - asds = [ "css-selectors-stp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; - sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; - system = "css-selectors-stp"; - asd = "css-selectors-stp"; - }); - systems = [ "css-selectors-stp" ]; - lispLibs = [ (getAttr "css-selectors" self) (getAttr "cxml-stp" self) ]; - meta = {}; - }); - css-selectors-test = (build-asdf-system { - pname = "css-selectors-test"; - version = "20160628-git"; - asds = [ "css-selectors-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; - sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; - system = "css-selectors-test"; - asd = "css-selectors"; - }); - systems = [ "css-selectors-test" ]; - lispLibs = [ (getAttr "buildnode-xhtml" self) (getAttr "css-selectors" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - csv = (build-asdf-system { - pname = "csv"; - version = "20190710-git"; - asds = [ "csv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/csv/2019-07-10/csv-20190710-git.tgz"; - sha256 = "0jykv91w7anisac2aip38vnj7ywi567rcp4n8nv3lz5qb7g1dpy4"; - system = "csv"; - asd = "csv"; - }); - systems = [ "csv" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - csv-parser = (build-asdf-system { - pname = "csv-parser"; - version = "20140713-git"; - asds = [ "csv-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/csv-parser/2014-07-13/csv-parser-20140713-git.tgz"; - sha256 = "0pcp709dwxi3p2vrmx5qiy571pybfs1hpv9z8g4i1ig2l4mc3djh"; - system = "csv-parser"; - asd = "csv-parser"; - }); - systems = [ "csv-parser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - csv-validator = (build-asdf-system { - pname = "csv-validator"; - version = "20230618-git"; - asds = [ "csv-validator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/csv-validator/2023-06-18/csv-validator-20230618-git.tgz"; - sha256 = "14cwjc43q05a1gdl0m79sps59605dfrhd4mjhcxh7gxyj8x7x1k2"; - system = "csv-validator"; - asd = "csv-validator"; - }); - systems = [ "csv-validator" ]; - lispLibs = [ (getAttr "local-time" self) (getAttr "lparallel" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - csv-validator-tests = (build-asdf-system { - pname = "csv-validator-tests"; - version = "20230618-git"; - asds = [ "csv-validator-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/csv-validator/2023-06-18/csv-validator-20230618-git.tgz"; - sha256 = "14cwjc43q05a1gdl0m79sps59605dfrhd4mjhcxh7gxyj8x7x1k2"; - system = "csv-validator-tests"; - asd = "csv-validator-tests"; - }); - systems = [ "csv-validator-tests" ]; - lispLibs = [ (getAttr "csv-validator" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ctype = (build-asdf-system { - pname = "ctype"; - version = "20241012-git"; - asds = [ "ctype" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ctype/2024-10-12/ctype-20241012-git.tgz"; - sha256 = "0qnssrjssb7258i3a1s1bv3z6plx4pzrkg65i8an25bvwrjwpvqv"; - system = "ctype"; - asd = "ctype"; - }); - systems = [ "ctype" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cubic-bezier = (build-asdf-system { - pname = "cubic-bezier"; - version = "20220707-git"; - asds = [ "cubic-bezier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cubic-bezier/2022-07-07/cubic-bezier-20220707-git.tgz"; - sha256 = "08byf1pw2s5sz97bk0sp2a6gdx5dkankbbg14azafd1k0vfh7vcr"; - system = "cubic-bezier"; - asd = "cubic-bezier"; - }); - systems = [ "cubic-bezier" ]; - lispLibs = [ (getAttr "mfiano-utils" self) (getAttr "origin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cue-parser = (build-asdf-system { - pname = "cue-parser"; - version = "20180228-git"; - asds = [ "cue-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cue-parser/2018-02-28/cue-parser-20180228-git.tgz"; - sha256 = "1zl3a02b68yywchd1aldls07b4qgrf08xpb4xiaaw8njk2qa0lz1"; - system = "cue-parser"; - asd = "cue-parser"; - }); - systems = [ "cue-parser" ]; - lispLibs = [ (getAttr "esrap" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - curly = (build-asdf-system { - pname = "curly"; - version = "20120407-git"; - asds = [ "curly" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/curly/2012-04-07/curly-20120407-git.tgz"; - sha256 = "04gpkq6hd7wvvny0p3lgn87bfalswqc67sbg4p35j52w51mqd8vf"; - system = "curly"; - asd = "curly"; - }); - systems = [ "curly" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - curly_dot_test = (build-asdf-system { - pname = "curly.test"; - version = "20120407-git"; - asds = [ "curly.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/curly/2012-04-07/curly-20120407-git.tgz"; - sha256 = "04gpkq6hd7wvvny0p3lgn87bfalswqc67sbg4p35j52w51mqd8vf"; - system = "curly.test"; - asd = "curly"; - }); - systems = [ "curly.test" ]; - lispLibs = [ (getAttr "curly" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - curry-compose-reader-macros = (build-asdf-system { - pname = "curry-compose-reader-macros"; - version = "20201220-git"; - asds = [ "curry-compose-reader-macros" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/curry-compose-reader-macros/2020-12-20/curry-compose-reader-macros-20201220-git.tgz"; - sha256 = "0j4qfwpw4ykf5npiln54w7jcnj46p7xf9d4p3jpx4a67fdkrlxd1"; - system = "curry-compose-reader-macros"; - asd = "curry-compose-reader-macros"; - }); - systems = [ "curry-compose-reader-macros" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxml = (build-asdf-system { - pname = "cxml"; - version = "20200610-git"; - asds = [ "cxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; - sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; - system = "cxml"; - asd = "cxml"; - }); - systems = [ "cxml" ]; - lispLibs = [ (getAttr "closure-common" self) (getAttr "puri" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - cxml-dom = (build-asdf-system { - pname = "cxml-dom"; - version = "20200610-git"; - asds = [ "cxml-dom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; - sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; - system = "cxml-dom"; - asd = "cxml-dom"; - }); - systems = [ "cxml-dom" ]; - lispLibs = [ (getAttr "closure-common" self) (getAttr "puri" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxml-klacks = (build-asdf-system { - pname = "cxml-klacks"; - version = "20200610-git"; - asds = [ "cxml-klacks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; - sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; - system = "cxml-klacks"; - asd = "cxml-klacks"; - }); - systems = [ "cxml-klacks" ]; - lispLibs = [ (getAttr "closure-common" self) (getAttr "puri" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxml-rng = (build-asdf-system { - pname = "cxml-rng"; - version = "20190710-git"; - asds = [ "cxml-rng" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml-rng/2019-07-10/cxml-rng-20190710-git.tgz"; - sha256 = "0pjb5268spiwq6b0cly8nfajr6rsh2wf6si646bzzjrxbgs51sxa"; - system = "cxml-rng"; - asd = "cxml-rng"; - }); - systems = [ "cxml-rng" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "parse-number" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxml-rpc = (build-asdf-system { - pname = "cxml-rpc"; - version = "20121013-git"; - asds = [ "cxml-rpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml-rpc/2012-10-13/cxml-rpc-20121013-git.tgz"; - sha256 = "1ihd8rg0shy7nykqcbvvx5px7sw8wr1nwz70jdrh6ibq74yr8flh"; - system = "cxml-rpc"; - asd = "cxml-rpc"; - }); - systems = [ "cxml-rpc" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxml-stp = (build-asdf-system { - pname = "cxml-stp"; - version = "20200325-git"; - asds = [ "cxml-stp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml-stp/2020-03-25/cxml-stp-20200325-git.tgz"; - sha256 = "01yfxxvb144i2mlp06fxx410mf3phxz5qaqvk90pp4dzdl883knv"; - system = "cxml-stp"; - asd = "cxml-stp"; - }); - systems = [ "cxml-stp" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cxml" self) (getAttr "xpath" self) ]; - meta = {}; - }); - cxml-test = (build-asdf-system { - pname = "cxml-test"; - version = "20200610-git"; - asds = [ "cxml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; - sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; - system = "cxml-test"; - asd = "cxml-test"; - }); - systems = [ "cxml-test" ]; - lispLibs = [ (getAttr "closure-common" self) (getAttr "puri" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxx = (build-asdf-system { - pname = "cxx"; - version = "20230214-git"; - asds = [ "cxx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cxx/2023-02-14/cl-cxx-20230214-git.tgz"; - sha256 = "08jh7ajgfdr3cqla02c4d2y06y0imkky5d4mwnlph01nczzf85cy"; - system = "cxx"; - asd = "cxx"; - }); - systems = [ "cxx" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxx-jit = (build-asdf-system { - pname = "cxx-jit"; - version = "20241012-git"; - asds = [ "cxx-jit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cxx-jit/2024-10-12/cl-cxx-jit-20241012-git.tgz"; - sha256 = "1xnhkhynikqs61s488jjzklbvwb46yxqx3zi98ifszj4r8ndi3ym"; - system = "cxx-jit"; - asd = "cxx-jit"; - }); - systems = [ "cxx-jit" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxx-jit-test = (build-asdf-system { - pname = "cxx-jit-test"; - version = "20241012-git"; - asds = [ "cxx-jit-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cxx-jit/2024-10-12/cl-cxx-jit-20241012-git.tgz"; - sha256 = "1xnhkhynikqs61s488jjzklbvwb46yxqx3zi98ifszj4r8ndi3ym"; - system = "cxx-jit-test"; - asd = "cxx-jit-test"; - }); - systems = [ "cxx-jit-test" ]; - lispLibs = [ (getAttr "cxx-jit" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cxx-test = (build-asdf-system { - pname = "cxx-test"; - version = "20230214-git"; - asds = [ "cxx-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cxx/2023-02-14/cl-cxx-20230214-git.tgz"; - sha256 = "08jh7ajgfdr3cqla02c4d2y06y0imkky5d4mwnlph01nczzf85cy"; - system = "cxx-test"; - asd = "cxx-test"; - }); - systems = [ "cxx-test" ]; - lispLibs = [ (getAttr "cxx" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - cytoscape-clj = (build-asdf-system { - pname = "cytoscape-clj"; - version = "20241012-git"; - asds = [ "cytoscape-clj" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cytoscape-clj/2024-10-12/cytoscape-clj-20241012-git.tgz"; - sha256 = "0kyjgffm8nlvz75dbyz4fp1v8sr7j2bd7axxyn226s30gwzhihck"; - system = "cytoscape-clj"; - asd = "cytoscape-clj"; - }); - systems = [ "cytoscape-clj" ]; - lispLibs = [ (getAttr "common-lisp-jupyter" self) (getAttr "jupyter-lab-extension" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - daemon = (build-asdf-system { - pname = "daemon"; - version = "20170403-git"; - asds = [ "daemon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/daemon/2017-04-03/daemon-20170403-git.tgz"; - sha256 = "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"; - system = "daemon"; - asd = "daemon"; - }); - systems = [ "daemon" ]; - lispLibs = [ (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - damn-fast-priority-queue = (build-asdf-system { - pname = "damn-fast-priority-queue"; - version = "20241012-git"; - asds = [ "damn-fast-priority-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2024-10-12/damn-fast-priority-queue-20241012-git.tgz"; - sha256 = "1mbigpgi7qbqvpj59l1f7p2qcg00ybvqzdca1j1b9hx62h224ndw"; - system = "damn-fast-priority-queue"; - asd = "damn-fast-priority-queue"; - }); - systems = [ "damn-fast-priority-queue" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - damn-fast-stable-priority-queue = (build-asdf-system { - pname = "damn-fast-stable-priority-queue"; - version = "20241012-git"; - asds = [ "damn-fast-stable-priority-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2024-10-12/damn-fast-priority-queue-20241012-git.tgz"; - sha256 = "1mbigpgi7qbqvpj59l1f7p2qcg00ybvqzdca1j1b9hx62h224ndw"; - system = "damn-fast-stable-priority-queue"; - asd = "damn-fast-stable-priority-queue"; - }); - systems = [ "damn-fast-stable-priority-queue" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_email-address = (build-asdf-system { - pname = "darts.lib.email-address"; - version = "quicklisp-release-48464635-git"; - asds = [ "darts.lib.email-address" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclemailaddress/2016-04-21/dartsclemailaddress-quicklisp-release-48464635-git.tgz"; - sha256 = "15155nqi9q7ilaf14p4yi4iga8203rl7fn9v2iaxcfm18gsvqcjd"; - system = "darts.lib.email-address"; - asd = "darts.lib.email-address"; - }); - systems = [ "darts.lib.email-address" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_email-address-test = (build-asdf-system { - pname = "darts.lib.email-address-test"; - version = "quicklisp-release-48464635-git"; - asds = [ "darts.lib.email-address-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclemailaddress/2016-04-21/dartsclemailaddress-quicklisp-release-48464635-git.tgz"; - sha256 = "15155nqi9q7ilaf14p4yi4iga8203rl7fn9v2iaxcfm18gsvqcjd"; - system = "darts.lib.email-address-test"; - asd = "darts.lib.email-address-test"; - }); - systems = [ "darts.lib.email-address-test" ]; - lispLibs = [ (getAttr "darts_dot_lib_dot_email-address" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_hashtree-test = (build-asdf-system { - pname = "darts.lib.hashtree-test"; - version = "20231021-git"; - asds = [ "darts.lib.hashtree-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclhashtree/2023-10-21/dartsclhashtree-20231021-git.tgz"; - sha256 = "1kbxk7vnpv9zy6pm004cyyp9mbb4n845pfdv4wxngaj96ndi5v6j"; - system = "darts.lib.hashtree-test"; - asd = "darts.lib.hashtree-test"; - }); - systems = [ "darts.lib.hashtree-test" ]; - lispLibs = [ (getAttr "darts_dot_lib_dot_hashtrie" self) (getAttr "darts_dot_lib_dot_wbtree" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_hashtrie = (build-asdf-system { - pname = "darts.lib.hashtrie"; - version = "20231021-git"; - asds = [ "darts.lib.hashtrie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclhashtree/2023-10-21/dartsclhashtree-20231021-git.tgz"; - sha256 = "1kbxk7vnpv9zy6pm004cyyp9mbb4n845pfdv4wxngaj96ndi5v6j"; - system = "darts.lib.hashtrie"; - asd = "darts.lib.hashtrie"; - }); - systems = [ "darts.lib.hashtrie" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_message-pack = (build-asdf-system { - pname = "darts.lib.message-pack"; - version = "20200325-git"; - asds = [ "darts.lib.message-pack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclmessagepack/2020-03-25/dartsclmessagepack-20200325-git.tgz"; - sha256 = "0i9jnvq6dp5zya1ijj3z7s10803jk8rb4nrjrzcgcfhkczd5si6y"; - system = "darts.lib.message-pack"; - asd = "darts.lib.message-pack"; - }); - systems = [ "darts.lib.message-pack" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "ieee-floats" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_message-pack-test = (build-asdf-system { - pname = "darts.lib.message-pack-test"; - version = "20200325-git"; - asds = [ "darts.lib.message-pack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclmessagepack/2020-03-25/dartsclmessagepack-20200325-git.tgz"; - sha256 = "0i9jnvq6dp5zya1ijj3z7s10803jk8rb4nrjrzcgcfhkczd5si6y"; - system = "darts.lib.message-pack-test"; - asd = "darts.lib.message-pack-test"; - }); - systems = [ "darts.lib.message-pack-test" ]; - lispLibs = [ (getAttr "darts_dot_lib_dot_message-pack" self) (getAttr "stefil" self) (getAttr "trivial-octet-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_sequence-metrics = (build-asdf-system { - pname = "darts.lib.sequence-metrics"; - version = "20130312-git"; - asds = [ "darts.lib.sequence-metrics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclsequencemetrics/2013-03-12/dartsclsequencemetrics-20130312-git.tgz"; - sha256 = "1x99gj5dfgiaraawx1nd157g5ajygfxz47cz8jgi1fh52fp1p969"; - system = "darts.lib.sequence-metrics"; - asd = "darts.lib.sequence-metrics"; - }); - systems = [ "darts.lib.sequence-metrics" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_tools = (build-asdf-system { - pname = "darts.lib.tools"; - version = "20201220-git"; - asds = [ "darts.lib.tools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartscltools/2020-12-20/dartscltools-20201220-git.tgz"; - sha256 = "0mbz7ak03qsw41fgybdw4mbibr656y9xl9bfgr2rmkdkgxbicys9"; - system = "darts.lib.tools"; - asd = "darts.lib.tools"; - }); - systems = [ "darts.lib.tools" ]; - lispLibs = [ (getAttr "atomics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_tools_dot_test = (build-asdf-system { - pname = "darts.lib.tools.test"; - version = "20201220-git"; - asds = [ "darts.lib.tools.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartscltools/2020-12-20/dartscltools-20201220-git.tgz"; - sha256 = "0mbz7ak03qsw41fgybdw4mbibr656y9xl9bfgr2rmkdkgxbicys9"; - system = "darts.lib.tools.test"; - asd = "darts.lib.tools.test"; - }); - systems = [ "darts.lib.tools.test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "darts_dot_lib_dot_tools" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_uuid = (build-asdf-system { - pname = "darts.lib.uuid"; - version = "20241012-git"; - asds = [ "darts.lib.uuid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartscluuid/2024-10-12/dartscluuid-20241012-git.tgz"; - sha256 = "17i2icz6k6vb5mp95rsjr8ldzhjjlcn7dyylvxjrccbxbrblnnsl"; - system = "darts.lib.uuid"; - asd = "darts.lib.uuid"; - }); - systems = [ "darts.lib.uuid" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "ironclad" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_uuid-test = (build-asdf-system { - pname = "darts.lib.uuid-test"; - version = "20241012-git"; - asds = [ "darts.lib.uuid-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartscluuid/2024-10-12/dartscluuid-20241012-git.tgz"; - sha256 = "17i2icz6k6vb5mp95rsjr8ldzhjjlcn7dyylvxjrccbxbrblnnsl"; - system = "darts.lib.uuid-test"; - asd = "darts.lib.uuid-test"; - }); - systems = [ "darts.lib.uuid-test" ]; - lispLibs = [ (getAttr "darts_dot_lib_dot_uuid" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - darts_dot_lib_dot_wbtree = (build-asdf-system { - pname = "darts.lib.wbtree"; - version = "20231021-git"; - asds = [ "darts.lib.wbtree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dartsclhashtree/2023-10-21/dartsclhashtree-20231021-git.tgz"; - sha256 = "1kbxk7vnpv9zy6pm004cyyp9mbb4n845pfdv4wxngaj96ndi5v6j"; - system = "darts.lib.wbtree"; - asd = "darts.lib.wbtree"; - }); - systems = [ "darts.lib.wbtree" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-format-validation = (build-asdf-system { - pname = "data-format-validation"; - version = "20140713-git"; - asds = [ "data-format-validation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-data-format-validation/2014-07-13/cl-data-format-validation-20140713-git.tgz"; - sha256 = "0zmk47xmicyqvp1impn8kgh5373ysmx3gfpqcvbi9r31qsir2nqa"; - system = "data-format-validation"; - asd = "data-format-validation"; - }); - systems = [ "data-format-validation" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-frame = (build-asdf-system { - pname = "data-frame"; - version = "20241012-git"; - asds = [ "data-frame" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-frame/2024-10-12/data-frame-20241012-git.tgz"; - sha256 = "1sqyvb6hscz070d5ap5v5yvql4nx69c7jkp29za5dj84rsvbckcp"; - system = "data-frame"; - asd = "data-frame"; - }); - systems = [ "data-frame" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "anaphora" self) (getAttr "array-operations" self) (getAttr "duologue" self) (getAttr "let-plus" self) (getAttr "num-utils" self) (getAttr "select" self) (getAttr "statistics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-lens = (build-asdf-system { - pname = "data-lens"; - version = "20241012-git"; - asds = [ "data-lens" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-lens/2024-10-12/data-lens-20241012-git.tgz"; - sha256 = "1bark9r3br5ndcbkiagq891gn82xdiy8hrgzp72656yyadsrid5i"; - system = "data-lens"; - asd = "data-lens"; - }); - systems = [ "data-lens" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-lens_plus_fset = (build-asdf-system { - pname = "data-lens+fset"; - version = "20241012-git"; - asds = [ "data-lens+fset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-lens/2024-10-12/data-lens-20241012-git.tgz"; - sha256 = "1bark9r3br5ndcbkiagq891gn82xdiy8hrgzp72656yyadsrid5i"; - system = "data-lens+fset"; - asd = "data-lens+fset"; - }); - systems = [ "data-lens+fset" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "data-lens" self) (getAttr "fset" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-sift = (build-asdf-system { - pname = "data-sift"; - version = "20130128-git"; - asds = [ "data-sift" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-sift/2013-01-28/data-sift-20130128-git.tgz"; - sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146"; - system = "data-sift"; - asd = "data-sift"; - }); - systems = [ "data-sift" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "parse-number" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-sift-test = (build-asdf-system { - pname = "data-sift-test"; - version = "20130128-git"; - asds = [ "data-sift-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-sift/2013-01-28/data-sift-20130128-git.tgz"; - sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146"; - system = "data-sift-test"; - asd = "data-sift"; - }); - systems = [ "data-sift-test" ]; - lispLibs = [ (getAttr "data-sift" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-table = (build-asdf-system { - pname = "data-table"; - version = "20231021-git"; - asds = [ "data-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-table/2023-10-21/data-table-20231021-git.tgz"; - sha256 = "1x64s3r2p28wgx7ffm205i90am2azfqkl6zlkrnjhppp82xan8yd"; - system = "data-table"; - asd = "data-table"; - }); - systems = [ "data-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) ]; - meta = {}; - }); - data-table-clsql = (build-asdf-system { - pname = "data-table-clsql"; - version = "20231021-git"; - asds = [ "data-table-clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-table/2023-10-21/data-table-20231021-git.tgz"; - sha256 = "1x64s3r2p28wgx7ffm205i90am2azfqkl6zlkrnjhppp82xan8yd"; - system = "data-table-clsql"; - asd = "data-table-clsql"; - }); - systems = [ "data-table-clsql" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-helper" self) (getAttr "collectors" self) (getAttr "data-table" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - data-table-test = (build-asdf-system { - pname = "data-table-test"; - version = "20231021-git"; - asds = [ "data-table-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/data-table/2023-10-21/data-table-20231021-git.tgz"; - sha256 = "1x64s3r2p28wgx7ffm205i90am2azfqkl6zlkrnjhppp82xan8yd"; - system = "data-table-test"; - asd = "data-table"; - }); - systems = [ "data-table-test" ]; - lispLibs = [ (getAttr "data-table" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - database-migrations = (build-asdf-system { - pname = "database-migrations"; - version = "20230214-git"; - asds = [ "database-migrations" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/database-migrations/2023-02-14/database-migrations-20230214-git.tgz"; - sha256 = "1mm5adjhqy0djr8fxpdsamc2ry2x5krc9w0s5nnfvyc4yqs0bwaa"; - system = "database-migrations"; - asd = "database-migrations"; - }); - systems = [ "database-migrations" ]; - lispLibs = [ (getAttr "postmodern" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - datafly = (build-asdf-system { - pname = "datafly"; - version = "20241012-git"; - asds = [ "datafly" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/datafly/2024-10-12/datafly-20241012-git.tgz"; - sha256 = "103zp5s778lys4lsn7hvyis65757338n0l9gzl595qfim4apx8g0"; - system = "datafly"; - asd = "datafly"; - }); - systems = [ "datafly" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "closer-mop" self) (getAttr "dbi" self) (getAttr "function-cache" self) (getAttr "iterate" self) (getAttr "jonathan" self) (getAttr "kebab" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "named-readtables" self) (getAttr "optima" self) (getAttr "sxql" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - datafly-test = (build-asdf-system { - pname = "datafly-test"; - version = "20241012-git"; - asds = [ "datafly-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/datafly/2024-10-12/datafly-20241012-git.tgz"; - sha256 = "103zp5s778lys4lsn7hvyis65757338n0l9gzl595qfim4apx8g0"; - system = "datafly-test"; - asd = "datafly-test"; - }); - systems = [ "datafly-test" ]; - lispLibs = [ (getAttr "datafly" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dataloader = (build-asdf-system { - pname = "dataloader"; - version = "20210531-git"; - asds = [ "dataloader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dataloader/2021-05-31/dataloader-20210531-git.tgz"; - sha256 = "1a7nap2yp0jjd9r3xpkj0a6z0m3gshz73abm8kfza4kf31ipzyik"; - system = "dataloader"; - asd = "dataloader"; - }); - systems = [ "dataloader" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-csv" self) (getAttr "cl-jpeg" self) (getAttr "cl-wav" self) (getAttr "iterate" self) (getAttr "magicffi" self) (getAttr "numcl" self) (getAttr "numpy-file-format" self) (getAttr "png" self) (getAttr "retrospectiff" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dataloader_dot_test = (build-asdf-system { - pname = "dataloader.test"; - version = "20210531-git"; - asds = [ "dataloader.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dataloader/2021-05-31/dataloader-20210531-git.tgz"; - sha256 = "1a7nap2yp0jjd9r3xpkj0a6z0m3gshz73abm8kfza4kf31ipzyik"; - system = "dataloader.test"; - asd = "dataloader.test"; - }); - systems = [ "dataloader.test" ]; - lispLibs = [ (getAttr "dataloader" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - datamuse = (build-asdf-system { - pname = "datamuse"; - version = "20231021-git"; - asds = [ "datamuse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/datamuse/2023-10-21/datamuse-20231021-git.tgz"; - sha256 = "18mminvwv6wql6qh9kxxkhjfbxfz37gr125wy9h6za83vn1rkpwc"; - system = "datamuse"; - asd = "datamuse"; - }); - systems = [ "datamuse" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "drakma" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - date-calc = (build-asdf-system { - pname = "date-calc"; - version = "20191227-git"; - asds = [ "date-calc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/date-calc/2019-12-27/date-calc-20191227-git.tgz"; - sha256 = "09wmjp3ypxigcmx4mvc0yjnj56wkjjchhssdmklbaswy5mi7xc9s"; - system = "date-calc"; - asd = "date-calc"; - }); - systems = [ "date-calc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - datum-comments = (build-asdf-system { - pname = "datum-comments"; - version = "20210228-git"; - asds = [ "datum-comments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/datum-comments/2021-02-28/datum-comments-20210228-git.tgz"; - sha256 = "07zzlhphcmwimp4pjckhnbjbn127lcpafi7j0l74137dz9pimjik"; - system = "datum-comments"; - asd = "datum-comments"; - }); - systems = [ "datum-comments" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - db3 = (build-asdf-system { - pname = "db3"; - version = "20200218-git"; - asds = [ "db3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-db3/2020-02-18/cl-db3-20200218-git.tgz"; - sha256 = "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"; - system = "db3"; - asd = "db3"; - }); - systems = [ "db3" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dbd-mysql = (build-asdf-system { - pname = "dbd-mysql"; - version = "20241012-git"; - asds = [ "dbd-mysql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; - sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; - system = "dbd-mysql"; - asd = "dbd-mysql"; - }); - systems = [ "dbd-mysql" ]; - lispLibs = [ (getAttr "cl-mysql" self) (getAttr "dbi" self) ]; - meta = {}; - }); - dbd-postgres = (build-asdf-system { - pname = "dbd-postgres"; - version = "20241012-git"; - asds = [ "dbd-postgres" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; - sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; - system = "dbd-postgres"; - asd = "dbd-postgres"; - }); - systems = [ "dbd-postgres" ]; - lispLibs = [ (getAttr "cl-postgres" self) (getAttr "dbi" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - dbd-sqlite3 = (build-asdf-system { - pname = "dbd-sqlite3"; - version = "20241012-git"; - asds = [ "dbd-sqlite3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; - sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; - system = "dbd-sqlite3"; - asd = "dbd-sqlite3"; - }); - systems = [ "dbd-sqlite3" ]; - lispLibs = [ (getAttr "dbi" self) (getAttr "sqlite" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - dbi = (build-asdf-system { - pname = "dbi"; - version = "20241012-git"; - asds = [ "dbi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; - sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; - system = "dbi"; - asd = "dbi"; - }); - systems = [ "dbi" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - dbi-test = (build-asdf-system { - pname = "dbi-test"; - version = "20241012-git"; - asds = [ "dbi-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; - sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; - system = "dbi-test"; - asd = "dbi-test"; - }); - systems = [ "dbi-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "dbi" self) (getAttr "rove" self) (getAttr "trivial-types" self) ]; - meta = {}; - }); - dbus = (build-asdf-system { - pname = "dbus"; - version = "20241012-git"; - asds = [ "dbus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dbus/2024-10-12/dbus-20241012-git.tgz"; - sha256 = "1y880074m9g0swxrzpbplmkdxc6r62gzyigglf4x2i0zyss3gf65"; - system = "dbus"; - asd = "dbus"; - }); - systems = [ "dbus" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "babel" self) (getAttr "cl-xmlspam" self) (getAttr "cxml" self) (getAttr "flexi-streams" self) (getAttr "ieee-floats" self) (getAttr "iolib" self) (getAttr "ironclad" self) (getAttr "split-sequence" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - dct = (build-asdf-system { - pname = "dct"; - version = "20220331-git"; - asds = [ "dct" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dct/2022-03-31/cl-dct-20220331-git.tgz"; - sha256 = "1rzq4vdhvr454668a3xf56mha061d27ymsgawmxikgk86wi8biin"; - system = "dct"; - asd = "dct"; - }); - systems = [ "dct" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dct-test = (build-asdf-system { - pname = "dct-test"; - version = "20220331-git"; - asds = [ "dct-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-dct/2022-03-31/cl-dct-20220331-git.tgz"; - sha256 = "1rzq4vdhvr454668a3xf56mha061d27ymsgawmxikgk86wi8biin"; - system = "dct-test"; - asd = "dct-test"; - }); - systems = [ "dct-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-coveralls" self) (getAttr "dct" self) (getAttr "lisp-unit" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ddo = (build-asdf-system { - pname = "ddo"; - version = "20210411-git"; - asds = [ "ddo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "ddo"; - asd = "ddo"; - }); - systems = [ "ddo" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-mpi" self) (getAttr "cl-mpi-extensions" self) (getAttr "femlisp-basic" self) (getAttr "femlisp-dictionary" self) (getAttr "femlisp-parallel" self) (getAttr "lfarm-admin" self) (getAttr "lfarm-client" self) (getAttr "lfarm-server" self) (getAttr "trees" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - de-mock-racy = (build-asdf-system { - pname = "de-mock-racy"; - version = "20221106-git"; - asds = [ "de-mock-racy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/de-mock-racy/2022-11-06/de-mock-racy-20221106-git.tgz"; - sha256 = "02rkg1i5r8fgyhaipb0mkz543c8r81kqmwmmvywnnw8hpyvav2xb"; - system = "de-mock-racy"; - asd = "de-mock-racy"; - }); - systems = [ "de-mock-racy" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dealii-tutorial = (build-asdf-system { - pname = "dealii-tutorial"; - version = "20210411-git"; - asds = [ "dealii-tutorial" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "dealii-tutorial"; - asd = "dealii-tutorial"; - }); - systems = [ "dealii-tutorial" ]; - lispLibs = [ (getAttr "femlisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - decimals = (build-asdf-system { - pname = "decimals"; - version = "20211209-git"; - asds = [ "decimals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-decimals/2021-12-09/cl-decimals-20211209-git.tgz"; - sha256 = "0wn5hq1pwd3wpjqqhpjzarcdk1q6416g8y447iaf55j5nbhlmbn6"; - system = "decimals"; - asd = "decimals"; - }); - systems = [ "decimals" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deeds = (build-asdf-system { - pname = "deeds"; - version = "20231021-git"; - asds = [ "deeds" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deeds/2023-10-21/deeds-20231021-git.tgz"; - sha256 = "0pd178wydg2zld8pvfm7ss5qvbjh4g8klqbhx2k7h68hn2q1xnn8"; - system = "deeds"; - asd = "deeds"; - }); - systems = [ "deeds" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "form-fiddle" self) (getAttr "lambda-fiddle" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - def-properties = (build-asdf-system { - pname = "def-properties"; - version = "20230618-git"; - asds = [ "def-properties" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-def-properties/2023-06-18/cl-def-properties-20230618-git.tgz"; - sha256 = "0yvii6llhmjv1k7hli6waj1bprj8fqhncgnk8mdlg08wwa27a2j8"; - system = "def-properties"; - asd = "def-properties"; - }); - systems = [ "def-properties" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defclass-std = (build-asdf-system { - pname = "defclass-std"; - version = "20201220-git"; - asds = [ "defclass-std" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defclass-std/2020-12-20/defclass-std-20201220-git.tgz"; - sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18"; - system = "defclass-std"; - asd = "defclass-std"; - }); - systems = [ "defclass-std" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) ]; - meta = {}; - }); - defclass-std-test = (build-asdf-system { - pname = "defclass-std-test"; - version = "20201220-git"; - asds = [ "defclass-std-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defclass-std/2020-12-20/defclass-std-20201220-git.tgz"; - sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18"; - system = "defclass-std-test"; - asd = "defclass-std-test"; - }); - systems = [ "defclass-std-test" ]; - lispLibs = [ (getAttr "defclass-std" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defconfig = (build-asdf-system { - pname = "defconfig"; - version = "20211209-git"; - asds = [ "defconfig" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defconfig/2021-12-09/defconfig-20211209-git.tgz"; - sha256 = "1gvgni43fxknj800k2k7jhgayzqqqp3s321sw4qmsjxpv479hcqy"; - system = "defconfig"; - asd = "defconfig"; - }); - systems = [ "defconfig" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-cltl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defenum = (build-asdf-system { - pname = "defenum"; - version = "20241012-git"; - asds = [ "defenum" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defenum/2024-10-12/defenum-20241012-git.tgz"; - sha256 = "1856w0vsjj9fcyqrry5k4b2iv87xms5wlw8xbqawjax6w5hdsrhk"; - system = "defenum"; - asd = "defenum"; - }); - systems = [ "defenum" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deferred = (build-asdf-system { - pname = "deferred"; - version = "20231021-git"; - asds = [ "deferred" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deferred/2023-10-21/deferred-20231021-git.tgz"; - sha256 = "0npsxxapah8c3sxmfmi0djvw5kw5pj03dk5ia4yh3q2v7mwzpqy2"; - system = "deferred"; - asd = "deferred"; - }); - systems = [ "deferred" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - define-json-expander = (build-asdf-system { - pname = "define-json-expander"; - version = "20140713-git"; - asds = [ "define-json-expander" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/define-json-expander/2014-07-13/define-json-expander-20140713-git.tgz"; - sha256 = "193mhjcy1qnfd7r7zia3qs8p7gllvq6s0b2wcqmkh0y17aw8brkh"; - system = "define-json-expander"; - asd = "define-json-expander"; - }); - systems = [ "define-json-expander" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - definer = (build-asdf-system { - pname = "definer"; - version = "20241012-git"; - asds = [ "definer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/definer/2024-10-12/definer-20241012-git.tgz"; - sha256 = "0vd7gcj55pdzgxq2309pxshplg3rjx95xikkc2ylqrcm9nf3d2zb"; - system = "definer"; - asd = "definer"; - }); - systems = [ "definer" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - definitions = (build-asdf-system { - pname = "definitions"; - version = "20241012-git"; - asds = [ "definitions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/definitions/2024-10-12/definitions-20241012-git.tgz"; - sha256 = "16wg9rzxc193qvhzay69czr19wzy16b53vm1gy6p25gqvz90zryd"; - system = "definitions"; - asd = "definitions"; - }); - systems = [ "definitions" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - definitions-systems = (build-asdf-system { - pname = "definitions-systems"; - version = "3.0"; - asds = [ "definitions-systems" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/definitions-systems/2023-06-18/definitions-systems_3.0.tgz"; - sha256 = "0wly8hr9gfxhdz4l46xsh4vj99q9aq7p3cfsglbgv19kdsvv217r"; - system = "definitions-systems"; - asd = "definitions-systems"; - }); - systems = [ "definitions-systems" ]; - lispLibs = [ (getAttr "canonicalized-initargs" self) (getAttr "closer-mop" self) (getAttr "enhanced-defclass" self) (getAttr "enhanced-find-class" self) (getAttr "shared-preferences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - definitions-systems__tests = (build-asdf-system { - pname = "definitions-systems_tests"; - version = "3.0"; - asds = [ "definitions-systems_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/definitions-systems/2023-06-18/definitions-systems_3.0.tgz"; - sha256 = "0wly8hr9gfxhdz4l46xsh4vj99q9aq7p3cfsglbgv19kdsvv217r"; - system = "definitions-systems_tests"; - asd = "definitions-systems_tests"; - }); - systems = [ "definitions-systems_tests" ]; - lispLibs = [ (getAttr "definitions-systems" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deflate = (build-asdf-system { - pname = "deflate"; - version = "20241012-git"; - asds = [ "deflate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deflate/2024-10-12/deflate-20241012-git.tgz"; - sha256 = "1b225rgc3b2b2k941aj8mz4fkyysi0my368r042wzykq28lwwwij"; - system = "deflate"; - asd = "deflate"; - }); - systems = [ "deflate" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deflazy = (build-asdf-system { - pname = "deflazy"; - version = "20200427-git"; - asds = [ "deflazy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "deflazy"; - asd = "deflazy"; - }); - systems = [ "deflazy" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "uncommon-lisp" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defmain = (build-asdf-system { - pname = "defmain"; - version = "20241012-git"; - asds = [ "defmain" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defmain/2024-10-12/defmain-20241012-git.tgz"; - sha256 = "0lb45xmpan188vcysc7d579gg1mc7qi3xyyqc6mqr49571zshzb1"; - system = "defmain"; - asd = "defmain"; - }); - systems = [ "defmain" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "cl-inflector" self) (getAttr "cl-strings" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "net_dot_didierverna_dot_clon_dot_core" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defmain-test = (build-asdf-system { - pname = "defmain-test"; - version = "20241012-git"; - asds = [ "defmain-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defmain/2024-10-12/defmain-20241012-git.tgz"; - sha256 = "0lb45xmpan188vcysc7d579gg1mc7qi3xyyqc6mqr49571zshzb1"; - system = "defmain-test"; - asd = "defmain-test"; - }); - systems = [ "defmain-test" ]; - lispLibs = [ (getAttr "defmain" self) (getAttr "hamcrest" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defmemo = (build-asdf-system { - pname = "defmemo"; - version = "20120407-git"; - asds = [ "defmemo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defmemo/2012-04-07/defmemo-20120407-git.tgz"; - sha256 = "0rkvnjfb6fajzfzislz6z372bqpkj6wfbf0sxmzhhigni4wnil27"; - system = "defmemo"; - asd = "defmemo"; - }); - systems = [ "defmemo" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defmemo-test = (build-asdf-system { - pname = "defmemo-test"; - version = "20120407-git"; - asds = [ "defmemo-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defmemo/2012-04-07/defmemo-20120407-git.tgz"; - sha256 = "0rkvnjfb6fajzfzislz6z372bqpkj6wfbf0sxmzhhigni4wnil27"; - system = "defmemo-test"; - asd = "defmemo"; - }); - systems = [ "defmemo-test" ]; - lispLibs = [ (getAttr "defmemo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defpackage-plus = (build-asdf-system { - pname = "defpackage-plus"; - version = "20180131-git"; - asds = [ "defpackage-plus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defpackage-plus/2018-01-31/defpackage-plus-20180131-git.tgz"; - sha256 = "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"; - system = "defpackage-plus"; - asd = "defpackage-plus"; - }); - systems = [ "defpackage-plus" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defrec = (build-asdf-system { - pname = "defrec"; - version = "20230618-git"; - asds = [ "defrec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defrec/2023-06-18/defrec-20230618-git.tgz"; - sha256 = "04wd43z2k5cv4a55x532y3aqc7gf1ksndvndvy0y6bslxqqgv63m"; - system = "defrec"; - asd = "defrec"; - }); - systems = [ "defrec" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defrest = (build-asdf-system { - pname = "defrest"; - version = "20210531-git"; - asds = [ "defrest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defrest/2021-05-31/defrest-20210531-git.tgz"; - sha256 = "14pap344a0549mb7p79jf87ibfxmymk0hf9i7galcfi4s8nqq45g"; - system = "defrest"; - asd = "defrest"; - }); - systems = [ "defrest" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "hunchentoot" self) (getAttr "quri" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defrest_dot_test = (build-asdf-system { - pname = "defrest.test"; - version = "20210531-git"; - asds = [ "defrest.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defrest/2021-05-31/defrest-20210531-git.tgz"; - sha256 = "14pap344a0549mb7p79jf87ibfxmymk0hf9i7galcfi4s8nqq45g"; - system = "defrest.test"; - asd = "defrest"; - }); - systems = [ "defrest.test" ]; - lispLibs = [ (getAttr "defrest" self) (getAttr "drakma" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defstar = (build-asdf-system { - pname = "defstar"; - version = "20140713-git"; - asds = [ "defstar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defstar/2014-07-13/defstar-20140713-git.tgz"; - sha256 = "0n6m3aqvdfnsrhlhqjcy72d1i55lbkjg13ij5c7vw003p1n78wxi"; - system = "defstar"; - asd = "defstar"; - }); - systems = [ "defstar" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defsystem-compatibility = (build-asdf-system { - pname = "defsystem-compatibility"; - version = "20101006-darcs"; - asds = [ "defsystem-compatibility" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz"; - sha256 = "0bw0c69zyika19rvzl8xplwrqsgznhnlbj40fcszfw0vxh2czj0f"; - system = "defsystem-compatibility"; - asd = "defsystem-compatibility"; - }); - systems = [ "defsystem-compatibility" ]; - lispLibs = [ (getAttr "metatilities-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defsystem-compatibility-test = (build-asdf-system { - pname = "defsystem-compatibility-test"; - version = "20101006-darcs"; - asds = [ "defsystem-compatibility-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz"; - sha256 = "0bw0c69zyika19rvzl8xplwrqsgznhnlbj40fcszfw0vxh2czj0f"; - system = "defsystem-compatibility-test"; - asd = "defsystem-compatibility-test"; - }); - systems = [ "defsystem-compatibility-test" ]; - lispLibs = [ (getAttr "defsystem-compatibility" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - defvariant = (build-asdf-system { - pname = "defvariant"; - version = "20140713-git"; - asds = [ "defvariant" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/defvariant/2014-07-13/defvariant-20140713-git.tgz"; - sha256 = "0rma557l2irjyzrswcd7329iic2pjxw0jgk3m2inag39l6wyqsr1"; - system = "defvariant"; - asd = "defvariant"; - }); - systems = [ "defvariant" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - delorean = (build-asdf-system { - pname = "delorean"; - version = "20130615-git"; - asds = [ "delorean" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/delorean/2013-06-15/delorean-20130615-git.tgz"; - sha256 = "0q11wqdlvis91i996mar72icw07yf7mwmsnlmsbsya9kaqj7n3cd"; - system = "delorean"; - asd = "delorean"; - }); - systems = [ "delorean" ]; - lispLibs = [ (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - delorean-test = (build-asdf-system { - pname = "delorean-test"; - version = "20130615-git"; - asds = [ "delorean-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/delorean/2013-06-15/delorean-20130615-git.tgz"; - sha256 = "0q11wqdlvis91i996mar72icw07yf7mwmsnlmsbsya9kaqj7n3cd"; - system = "delorean-test"; - asd = "delorean"; - }); - systems = [ "delorean-test" ]; - lispLibs = [ (getAttr "delorean" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - delta-debug = (build-asdf-system { - pname = "delta-debug"; - version = "20180831-git"; - asds = [ "delta-debug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/delta-debug/2018-08-31/delta-debug-20180831-git.tgz"; - sha256 = "0dm33v8ipkpr23mjb9s6z2c7gmxwjbd5khc7c1vangba18nzm7ir"; - system = "delta-debug"; - asd = "delta-debug"; - }); - systems = [ "delta-debug" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "curry-compose-reader-macros" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dendrite = (build-asdf-system { - pname = "dendrite"; - version = "release-quicklisp-409b1061-git"; - asds = [ "dendrite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz"; - sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5"; - system = "dendrite"; - asd = "dendrite"; - }); - systems = [ "dendrite" ]; - lispLibs = [ (getAttr "dendrite_dot_micro-l-system" self) (getAttr "dendrite_dot_primitives" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dendrite_dot_micro-l-system = (build-asdf-system { - pname = "dendrite.micro-l-system"; - version = "release-quicklisp-409b1061-git"; - asds = [ "dendrite.micro-l-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz"; - sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5"; - system = "dendrite.micro-l-system"; - asd = "dendrite.micro-l-system"; - }); - systems = [ "dendrite.micro-l-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dendrite_dot_primitives = (build-asdf-system { - pname = "dendrite.primitives"; - version = "release-quicklisp-409b1061-git"; - asds = [ "dendrite.primitives" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz"; - sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5"; - system = "dendrite.primitives"; - asd = "dendrite.primitives"; - }); - systems = [ "dendrite.primitives" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "rtg-math" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-gzip = (build-asdf-system { - pname = "deoxybyte-gzip"; - version = "20140113-git"; - asds = [ "deoxybyte-gzip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-gzip/2014-01-13/deoxybyte-gzip-20140113-git.tgz"; - sha256 = "0ccci902nxqhdlskw3pghcjg0vgl10xlh16cb5b631j3n2ajfa16"; - system = "deoxybyte-gzip"; - asd = "deoxybyte-gzip"; - }); - systems = [ "deoxybyte-gzip" ]; - lispLibs = [ (getAttr "deoxybyte-io" self) (getAttr "deoxybyte-systems" self) (getAttr "deoxybyte-unix" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-gzip-test = (build-asdf-system { - pname = "deoxybyte-gzip-test"; - version = "20140113-git"; - asds = [ "deoxybyte-gzip-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-gzip/2014-01-13/deoxybyte-gzip-20140113-git.tgz"; - sha256 = "0ccci902nxqhdlskw3pghcjg0vgl10xlh16cb5b631j3n2ajfa16"; - system = "deoxybyte-gzip-test"; - asd = "deoxybyte-gzip-test"; - }); - systems = [ "deoxybyte-gzip-test" ]; - lispLibs = [ (getAttr "deoxybyte-gzip" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-io = (build-asdf-system { - pname = "deoxybyte-io"; - version = "20140113-git"; - asds = [ "deoxybyte-io" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-io/2014-01-13/deoxybyte-io-20140113-git.tgz"; - sha256 = "0pjx96g50yqhdk0l1y970hc22fc1bl8ppyklhp62l41b4fb7hbbv"; - system = "deoxybyte-io"; - asd = "deoxybyte-io"; - }); - systems = [ "deoxybyte-io" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "deoxybyte-systems" self) (getAttr "deoxybyte-utilities" self) (getAttr "getopt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-io-test = (build-asdf-system { - pname = "deoxybyte-io-test"; - version = "20140113-git"; - asds = [ "deoxybyte-io-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-io/2014-01-13/deoxybyte-io-20140113-git.tgz"; - sha256 = "0pjx96g50yqhdk0l1y970hc22fc1bl8ppyklhp62l41b4fb7hbbv"; - system = "deoxybyte-io-test"; - asd = "deoxybyte-io-test"; - }); - systems = [ "deoxybyte-io-test" ]; - lispLibs = [ (getAttr "deoxybyte-io" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-systems = (build-asdf-system { - pname = "deoxybyte-systems"; - version = "20140113-git"; - asds = [ "deoxybyte-systems" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-systems/2014-01-13/deoxybyte-systems-20140113-git.tgz"; - sha256 = "0sbzl0ngz85mvkghcy8y94hk34v5hvi41b111mb76f2jvdq9jjr8"; - system = "deoxybyte-systems"; - asd = "deoxybyte-systems"; - }); - systems = [ "deoxybyte-systems" ]; - lispLibs = [ (getAttr "cl-fad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-unix = (build-asdf-system { - pname = "deoxybyte-unix"; - version = "20140113-git"; - asds = [ "deoxybyte-unix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-unix/2014-01-13/deoxybyte-unix-20140113-git.tgz"; - sha256 = "016lgb8vcnn7qwhndan1d61wbb10xmsczqp7h2kkfnhlvkr484qf"; - system = "deoxybyte-unix"; - asd = "deoxybyte-unix"; - }); - systems = [ "deoxybyte-unix" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "deoxybyte-io" self) (getAttr "deoxybyte-systems" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-unix-test = (build-asdf-system { - pname = "deoxybyte-unix-test"; - version = "20140113-git"; - asds = [ "deoxybyte-unix-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-unix/2014-01-13/deoxybyte-unix-20140113-git.tgz"; - sha256 = "016lgb8vcnn7qwhndan1d61wbb10xmsczqp7h2kkfnhlvkr484qf"; - system = "deoxybyte-unix-test"; - asd = "deoxybyte-unix-test"; - }); - systems = [ "deoxybyte-unix-test" ]; - lispLibs = [ (getAttr "deoxybyte-unix" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-utilities = (build-asdf-system { - pname = "deoxybyte-utilities"; - version = "20140113-git"; - asds = [ "deoxybyte-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-utilities/2014-01-13/deoxybyte-utilities-20140113-git.tgz"; - sha256 = "054mvn27d9xdsal87avyxzphgv6pk96a0c1icpkldqczlmzl9j0g"; - system = "deoxybyte-utilities"; - asd = "deoxybyte-utilities"; - }); - systems = [ "deoxybyte-utilities" ]; - lispLibs = [ (getAttr "deoxybyte-systems" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deoxybyte-utilities-test = (build-asdf-system { - pname = "deoxybyte-utilities-test"; - version = "20140113-git"; - asds = [ "deoxybyte-utilities-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deoxybyte-utilities/2014-01-13/deoxybyte-utilities-20140113-git.tgz"; - sha256 = "054mvn27d9xdsal87avyxzphgv6pk96a0c1icpkldqczlmzl9j0g"; - system = "deoxybyte-utilities-test"; - asd = "deoxybyte-utilities-test"; - }); - systems = [ "deoxybyte-utilities-test" ]; - lispLibs = [ (getAttr "deoxybyte-utilities" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deploy = (build-asdf-system { - pname = "deploy"; - version = "20241012-git"; - asds = [ "deploy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deploy/2024-10-12/deploy-20241012-git.tgz"; - sha256 = "1ysi8fjgb7kq3cycb6ms44j0m70xbd140fh4qgcpj7fm26p2a59p"; - system = "deploy"; - asd = "deploy"; - }); - systems = [ "deploy" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "sha3" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deploy-test = (build-asdf-system { - pname = "deploy-test"; - version = "20241012-git"; - asds = [ "deploy-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deploy/2024-10-12/deploy-20241012-git.tgz"; - sha256 = "1ysi8fjgb7kq3cycb6ms44j0m70xbd140fh4qgcpj7fm26p2a59p"; - system = "deploy-test"; - asd = "deploy-test"; - }); - systems = [ "deploy-test" ]; - lispLibs = [ (getAttr "cl-mpg123" self) (getAttr "cl-out123" self) (getAttr "deploy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - depot = (build-asdf-system { - pname = "depot"; - version = "20241012-git"; - asds = [ "depot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; - sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; - system = "depot"; - asd = "depot"; - }); - systems = [ "depot" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - depot-in-memory = (build-asdf-system { - pname = "depot-in-memory"; - version = "20241012-git"; - asds = [ "depot-in-memory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; - sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; - system = "depot-in-memory"; - asd = "depot-in-memory"; - }); - systems = [ "depot-in-memory" ]; - lispLibs = [ (getAttr "atomics" self) (getAttr "depot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - depot-test = (build-asdf-system { - pname = "depot-test"; - version = "20241012-git"; - asds = [ "depot-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; - sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; - system = "depot-test"; - asd = "depot-test"; - }); - systems = [ "depot-test" ]; - lispLibs = [ (getAttr "depot" self) (getAttr "depot-in-memory" self) (getAttr "depot-zip" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - depot-virtual = (build-asdf-system { - pname = "depot-virtual"; - version = "20241012-git"; - asds = [ "depot-virtual" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; - sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; - system = "depot-virtual"; - asd = "depot-virtual"; - }); - systems = [ "depot-virtual" ]; - lispLibs = [ (getAttr "depot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - depot-zip = (build-asdf-system { - pname = "depot-zip"; - version = "20241012-git"; - asds = [ "depot-zip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; - sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; - system = "depot-zip"; - asd = "depot-zip"; - }); - systems = [ "depot-zip" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "depot" self) (getAttr "zippy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - deptree = (build-asdf-system { - pname = "deptree"; - version = "20241012-git"; - asds = [ "deptree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/deptree/2024-10-12/deptree-20241012-git.tgz"; - sha256 = "10ybmw28c52ahbm7xjn795367lssp6088v6705fmqbl0fgjpvxnw"; - system = "deptree"; - asd = "deptree"; - }); - systems = [ "deptree" ]; - lispLibs = [ (getAttr "tar" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - descriptions = (build-asdf-system { - pname = "descriptions"; - version = "20150302-git"; - asds = [ "descriptions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; - sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; - system = "descriptions"; - asd = "descriptions"; - }); - systems = [ "descriptions" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "closer-mop" self) (getAttr "sheeple" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - descriptions-test = (build-asdf-system { - pname = "descriptions-test"; - version = "20150302-git"; - asds = [ "descriptions-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; - sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; - system = "descriptions-test"; - asd = "descriptions-test"; - }); - systems = [ "descriptions-test" ]; - lispLibs = [ (getAttr "descriptions" self) (getAttr "descriptions_dot_serialization" self) (getAttr "descriptions_dot_validation" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - descriptions_dot_serialization = (build-asdf-system { - pname = "descriptions.serialization"; - version = "20150302-git"; - asds = [ "descriptions.serialization" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; - sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; - system = "descriptions.serialization"; - asd = "descriptions.serialization"; - }); - systems = [ "descriptions.serialization" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "descriptions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - descriptions_dot_validation = (build-asdf-system { - pname = "descriptions.validation"; - version = "20150302-git"; - asds = [ "descriptions.validation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; - sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; - system = "descriptions.validation"; - asd = "descriptions.validation"; - }); - systems = [ "descriptions.validation" ]; - lispLibs = [ (getAttr "clavier" self) (getAttr "descriptions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - destructuring-bind-star = (build-asdf-system { - pname = "destructuring-bind-star"; - version = "20200610-git"; - asds = [ "destructuring-bind-star" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/destructuring-bind-star/2020-06-10/destructuring-bind-star-20200610-git.tgz"; - sha256 = "1j1xnhvb6pm9q291aawbrcwp8bgbmiij9a53gifxhr4kp934ciz2"; - system = "destructuring-bind-star"; - asd = "destructuring-bind-star"; - }); - systems = [ "destructuring-bind-star" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dexador = (build-asdf-system { - pname = "dexador"; - version = "20241012-git"; - asds = [ "dexador" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dexador/2024-10-12/dexador-20241012-git.tgz"; - sha256 = "19y95k821665vcy7gbxhh4rqwk7fh4brv1sgkaykncpw2l2lll5r"; - system = "dexador"; - asd = "dexador"; - }); - systems = [ "dexador" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "chipz" self) (getAttr "chunga" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "cl-cookie" self) (getAttr "cl-ppcre" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "quri" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-gray-streams" self) (getAttr "trivial-mimes" self) (getAttr "usocket" self) ]; - meta = {}; - }); - dexador-test = (build-asdf-system { - pname = "dexador-test"; - version = "20241012-git"; - asds = [ "dexador-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dexador/2024-10-12/dexador-20241012-git.tgz"; - sha256 = "19y95k821665vcy7gbxhh4rqwk7fh4brv1sgkaykncpw2l2lll5r"; - system = "dexador-test"; - asd = "dexador-test"; - }); - systems = [ "dexador-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-cookie" self) (getAttr "clack-test" self) (getAttr "dexador" self) (getAttr "lack-request" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dexador-usocket = (build-asdf-system { - pname = "dexador-usocket"; - version = "20241012-git"; - asds = [ "dexador-usocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dexador/2024-10-12/dexador-20241012-git.tgz"; - sha256 = "19y95k821665vcy7gbxhh4rqwk7fh4brv1sgkaykncpw2l2lll5r"; - system = "dexador-usocket"; - asd = "dexador-usocket"; - }); - systems = [ "dexador-usocket" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "dexador" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dfio = (build-asdf-system { - pname = "dfio"; - version = "20221106-git"; - asds = [ "dfio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dfio/2022-11-06/dfio-20221106-git.tgz"; - sha256 = "1p53r7773939jnap518xp4b4wfvc1kbrz9jp6yd40xq0jpf9pbqg"; - system = "dfio"; - asd = "dfio"; - }); - systems = [ "dfio" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "data-frame" self) (getAttr "dexador" self) (getAttr "fare-csv" self) (getAttr "let-plus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - diff = (build-asdf-system { - pname = "diff"; - version = "20130813-git"; - asds = [ "diff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/diff/2013-08-13/diff-20130813-git.tgz"; - sha256 = "1giafck8qfvb688kx5bn9g32rfc12jjywg8vdav36aqbd6lxf5z5"; - system = "diff"; - asd = "diff"; - }); - systems = [ "diff" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - diff-match-patch = (build-asdf-system { - pname = "diff-match-patch"; - version = "20210531-git"; - asds = [ "diff-match-patch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/diff-match-patch/2021-05-31/diff-match-patch-20210531-git.tgz"; - sha256 = "0wxz2q9sd2v8fg521f7bzv6wi3za7saz2j2snsnw2p1kcsj6zqa4"; - system = "diff-match-patch"; - asd = "diff-match-patch"; - }); - systems = [ "diff-match-patch" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dirt = (build-asdf-system { - pname = "dirt"; - version = "release-quicklisp-0d13ebc2-git"; - asds = [ "dirt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dirt/2017-10-19/dirt-release-quicklisp-0d13ebc2-git.tgz"; - sha256 = "1lqxfdzn9rh7rzsq97d4hp6fl4g9fs6s0n2pvf460d6ri6p40xna"; - system = "dirt"; - asd = "dirt"; - }); - systems = [ "dirt" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "cl-soil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dispatch = (build-asdf-system { - pname = "dispatch"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "dispatch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "dispatch"; - asd = "dispatch"; - }); - systems = [ "dispatch" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dispatch-test = (build-asdf-system { - pname = "dispatch-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "dispatch-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "dispatch-test"; - asd = "dispatch-test"; - }); - systems = [ "dispatch-test" ]; - lispLibs = [ (getAttr "dispatch" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - disposable = (build-asdf-system { - pname = "disposable"; - version = "20160208-git"; - asds = [ "disposable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/disposable/2016-02-08/disposable-20160208-git.tgz"; - sha256 = "18synnlg4b8203rgww644dj7ghb4m1j33lb4zm64850vqy5b3pz7"; - system = "disposable"; - asd = "disposable"; - }); - systems = [ "disposable" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dissect = (build-asdf-system { - pname = "dissect"; - version = "20241012-git"; - asds = [ "dissect" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dissect/2024-10-12/dissect-20241012-git.tgz"; - sha256 = "1ym1zggwrj15l7y2mcz5l2gfk68prqxhdswffd9s5014pa6zyysr"; - system = "dissect"; - asd = "dissect"; - }); - systems = [ "dissect" ]; - lispLibs = [ ]; - meta = {}; - }); - distributions = (build-asdf-system { - pname = "distributions"; - version = "20221106-git"; - asds = [ "distributions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/distributions/2022-11-06/distributions-20221106-git.tgz"; - sha256 = "1fkzigd0s0s0mvszgmv04yc8jp9gm4812445hfh6kpz6cjy5zpsk"; - system = "distributions"; - asd = "distributions"; - }); - systems = [ "distributions" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "array-operations" self) (getAttr "cephes" self) (getAttr "float-features" self) (getAttr "let-plus" self) (getAttr "num-utils" self) (getAttr "special-functions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - djula = (build-asdf-system { - pname = "djula"; - version = "20241012-git"; - asds = [ "djula" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; - sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; - system = "djula"; - asd = "djula"; - }); - systems = [ "djula" ]; - lispLibs = [ (getAttr "access" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-locale" self) (getAttr "cl-ppcre" self) (getAttr "cl-slice" self) (getAttr "closer-mop" self) (getAttr "gettext" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "parser-combinators" self) (getAttr "split-sequence" self) (getAttr "trivial-backtrace" self) ]; - meta = {}; - }); - djula-demo = (build-asdf-system { - pname = "djula-demo"; - version = "20241012-git"; - asds = [ "djula-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; - sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; - system = "djula-demo"; - asd = "djula-demo"; - }); - systems = [ "djula-demo" ]; - lispLibs = [ (getAttr "djula" self) (getAttr "hunchentoot" self) (getAttr "trivial-open-browser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - djula-gettext = (build-asdf-system { - pname = "djula-gettext"; - version = "20241012-git"; - asds = [ "djula-gettext" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; - sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; - system = "djula-gettext"; - asd = "djula-gettext"; - }); - systems = [ "djula-gettext" ]; - lispLibs = [ (getAttr "djula" self) (getAttr "gettext" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - djula-locale = (build-asdf-system { - pname = "djula-locale"; - version = "20241012-git"; - asds = [ "djula-locale" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; - sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; - system = "djula-locale"; - asd = "djula-locale"; - }); - systems = [ "djula-locale" ]; - lispLibs = [ (getAttr "cl-locale" self) (getAttr "djula" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - djula-test = (build-asdf-system { - pname = "djula-test"; - version = "20241012-git"; - asds = [ "djula-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; - sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; - system = "djula-test"; - asd = "djula-test"; - }); - systems = [ "djula-test" ]; - lispLibs = [ (getAttr "djula" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - djula-translate = (build-asdf-system { - pname = "djula-translate"; - version = "20241012-git"; - asds = [ "djula-translate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; - sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; - system = "djula-translate"; - asd = "djula-translate"; - }); - systems = [ "djula-translate" ]; - lispLibs = [ (getAttr "djula" self) (getAttr "translate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dlist = (build-asdf-system { - pname = "dlist"; - version = "20121125-git"; - asds = [ "dlist" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dlist/2012-11-25/dlist-20121125-git.tgz"; - sha256 = "1ycgjmbxpj0bj95xg0x7m30yz8y73s7mnqs0dzam00rkf8g00h89"; - system = "dlist"; - asd = "dlist"; - }); - systems = [ "dlist" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dlist-test = (build-asdf-system { - pname = "dlist-test"; - version = "20121125-git"; - asds = [ "dlist-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dlist/2012-11-25/dlist-20121125-git.tgz"; - sha256 = "1ycgjmbxpj0bj95xg0x7m30yz8y73s7mnqs0dzam00rkf8g00h89"; - system = "dlist-test"; - asd = "dlist"; - }); - systems = [ "dlist-test" ]; - lispLibs = [ (getAttr "dlist" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dml = (build-asdf-system { - pname = "dml"; - version = "20231021-git"; - asds = [ "dml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dml/2023-10-21/dml-20231021-git.tgz"; - sha256 = "15yxfgmzxpn3hr3kfmw7iid652v1v1v0fw7ngvs1ig6693kci72h"; - system = "dml"; - asd = "dml"; - }); - systems = [ "dml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-cairo2" self) (getAttr "cl-ppcre" self) (getAttr "donuts" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dns-client = (build-asdf-system { - pname = "dns-client"; - version = "20241012-git"; - asds = [ "dns-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dns-client/2024-10-12/dns-client-20241012-git.tgz"; - sha256 = "1lbxryi0hx1i0ib3rz3ci89pfdyzikhv4dg0lk5piggrkdji2fx3"; - system = "dns-client"; - asd = "dns-client"; - }); - systems = [ "dns-client" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "punycode" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - do-urlencode = (build-asdf-system { - pname = "do-urlencode"; - version = "20181018-git"; - asds = [ "do-urlencode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/do-urlencode/2018-10-18/do-urlencode-20181018-git.tgz"; - sha256 = "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"; - system = "do-urlencode"; - asd = "do-urlencode"; - }); - systems = [ "do-urlencode" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) ]; - meta = {}; - }); - docbrowser = (build-asdf-system { - pname = "docbrowser"; - version = "20200610-git"; - asds = [ "docbrowser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/docbrowser/2020-06-10/docbrowser-20200610-git.tgz"; - sha256 = "0k7gkyciqfbwdmvip2s8h4k21a63h45bj3qydq3jbvkhaq4gj9x1"; - system = "docbrowser"; - asd = "docbrowser"; - }); - systems = [ "docbrowser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-json" self) (getAttr "closer-mop" self) (getAttr "colorize" self) (getAttr "flexi-streams" self) (getAttr "hunchentoot" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) (getAttr "string-case" self) (getAttr "swank" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - docparser = (build-asdf-system { - pname = "docparser"; - version = "20230214-git"; - asds = [ "docparser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/docparser/2023-02-14/docparser-20230214-git.tgz"; - sha256 = "1ix8n6albgl34kwvk2f3vfz9afi6y4m9dd6k3axlm9g16zhmhma1"; - system = "docparser"; - asd = "docparser"; - }); - systems = [ "docparser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cffi" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - docparser-test = (build-asdf-system { - pname = "docparser-test"; - version = "20230214-git"; - asds = [ "docparser-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/docparser/2023-02-14/docparser-20230214-git.tgz"; - sha256 = "1ix8n6albgl34kwvk2f3vfz9afi6y4m9dd6k3axlm9g16zhmhma1"; - system = "docparser-test"; - asd = "docparser-test"; - }); - systems = [ "docparser-test" ]; - lispLibs = [ (getAttr "docparser" self) (getAttr "docparser-test-system" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - docparser-test-system = (build-asdf-system { - pname = "docparser-test-system"; - version = "20230214-git"; - asds = [ "docparser-test-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/docparser/2023-02-14/docparser-20230214-git.tgz"; - sha256 = "1ix8n6albgl34kwvk2f3vfz9afi6y4m9dd6k3axlm9g16zhmhma1"; - system = "docparser-test-system"; - asd = "docparser-test-system"; - }); - systems = [ "docparser-test-system" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - docs-builder = (build-asdf-system { - pname = "docs-builder"; - version = "20241012-git"; - asds = [ "docs-builder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/docs-builder/2024-10-12/docs-builder-20241012-git.tgz"; - sha256 = "09pg4frik728g7njrpkb8jmzw6q9f47ng4c123lmqlmjha9bs03c"; - system = "docs-builder"; - asd = "docs-builder"; - }); - systems = [ "docs-builder" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "docs-config" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - docs-config = (build-asdf-system { - pname = "docs-config"; - version = "20241012-git"; - asds = [ "docs-config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/docs-builder/2024-10-12/docs-builder-20241012-git.tgz"; - sha256 = "09pg4frik728g7njrpkb8jmzw6q9f47ng4c123lmqlmjha9bs03c"; - system = "docs-config"; - asd = "docs-config"; - }); - systems = [ "docs-config" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - documentation-template = (build-asdf-system { - pname = "documentation-template"; - version = "0.4.4"; - asds = [ "documentation-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/documentation-template/2014-12-17/documentation-template-0.4.4.tgz"; - sha256 = "0pfcg38ws0syhg2l15nwslfyj175dq1dvjip64nx02knw26zj56y"; - system = "documentation-template"; - asd = "documentation-template"; - }); - systems = [ "documentation-template" ]; - lispLibs = [ (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - documentation-utils = (build-asdf-system { - pname = "documentation-utils"; - version = "20231021-git"; - asds = [ "documentation-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/documentation-utils/2023-10-21/documentation-utils-20231021-git.tgz"; - sha256 = "0nzkjzvcqi1l2ywiz17h1f54vgvbkywv95in4yww6lyzqjqsqqhy"; - system = "documentation-utils"; - asd = "documentation-utils"; - }); - systems = [ "documentation-utils" ]; - lispLibs = [ (getAttr "trivial-indent" self) ]; - meta = {}; - }); - documentation-utils-extensions = (build-asdf-system { - pname = "documentation-utils-extensions"; - version = "20220707-git"; - asds = [ "documentation-utils-extensions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/documentation-utils-extensions/2022-07-07/documentation-utils-extensions-20220707-git.tgz"; - sha256 = "1bv8y1hbn6fivvsanaci19k47vfdchj3argz92az3izmar9ybp4f"; - system = "documentation-utils-extensions"; - asd = "documentation-utils-extensions"; - }); - systems = [ "documentation-utils-extensions" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - docutils = (build-asdf-system { - pname = "docutils"; - version = "20130128-git"; - asds = [ "docutils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-docutils/2013-01-28/cl-docutils-20130128-git.tgz"; - sha256 = "132bxlj0jlhiabi29mygmkcbbgyb5s1yz1xdfhm3pgrf9f8605gg"; - system = "docutils"; - asd = "docutils"; - }); - systems = [ "docutils" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "data-format-validation" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dom = (build-asdf-system { - pname = "dom"; - version = "master-fe503896-git"; - asds = [ "dom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "dom"; - asd = "dom"; - }); - systems = [ "dom" ]; - lispLibs = [ (getAttr "cl-who" self) (getAttr "yadd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - donuts = (build-asdf-system { - pname = "donuts"; - version = "20120703-git"; - asds = [ "donuts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/donuts/2012-07-03/donuts-20120703-git.tgz"; - sha256 = "1arjlwic0gk28ja1ql5k1r3v0pqzg42ds8vzq9266hq5lp06q3ii"; - system = "donuts"; - asd = "donuts"; - }); - systems = [ "donuts" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - doplus = (build-asdf-system { - pname = "doplus"; - version = "v1.1.0"; - asds = [ "doplus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/doplus/2021-10-20/doplus-v1.1.0.tgz"; - sha256 = "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c"; - system = "doplus"; - asd = "doplus"; - }); - systems = [ "doplus" ]; - lispLibs = [ (getAttr "parse-declarations-1_dot_0" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - doplus-fset = (build-asdf-system { - pname = "doplus-fset"; - version = "v1.1.0"; - asds = [ "doplus-fset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/doplus/2021-10-20/doplus-v1.1.0.tgz"; - sha256 = "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c"; - system = "doplus-fset"; - asd = "doplus-fset"; - }); - systems = [ "doplus-fset" ]; - lispLibs = [ (getAttr "doplus" self) (getAttr "fset" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dotenv = (build-asdf-system { - pname = "dotenv"; - version = "20211209-git"; - asds = [ "dotenv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dotenv/2021-12-09/dotenv-20211209-git.tgz"; - sha256 = "0g19svpxy2169rym532gjwsg1zybinpc99mjsy6im4n6zdd57hzh"; - system = "dotenv"; - asd = "dotenv"; - }); - systems = [ "dotenv" ]; - lispLibs = [ (getAttr "prove-asdf" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dotenv-test = (build-asdf-system { - pname = "dotenv-test"; - version = "20211209-git"; - asds = [ "dotenv-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dotenv/2021-12-09/dotenv-20211209-git.tgz"; - sha256 = "0g19svpxy2169rym532gjwsg1zybinpc99mjsy6im4n6zdd57hzh"; - system = "dotenv-test"; - asd = "dotenv"; - }); - systems = [ "dotenv-test" ]; - lispLibs = [ (getAttr "dotenv" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - doubly-linked-list = (build-asdf-system { - pname = "doubly-linked-list"; - version = "20220707-git"; - asds = [ "doubly-linked-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/doubly-linked-list/2022-07-07/doubly-linked-list-20220707-git.tgz"; - sha256 = "073r1zyp0slzzvcyj7ibjs85bss1iqh42zn5dvkjd6ls78v2bn9f"; - system = "doubly-linked-list"; - asd = "doubly-linked-list"; - }); - systems = [ "doubly-linked-list" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - drakma = (build-asdf-system { - pname = "drakma"; - version = "v2.0.10"; - asds = [ "drakma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/drakma/2023-10-21/drakma-v2.0.10.tgz"; - sha256 = "0clj7c1hysisdvkidvx7m0702alsksna6iiqlk499hn3hjpafmln"; - system = "drakma"; - asd = "drakma"; - }); - systems = [ "drakma" ]; - lispLibs = [ (getAttr "chipz" self) (getAttr "chunga" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "puri" self) (getAttr "usocket" self) ]; - meta = {}; - }); - drakma-async = (build-asdf-system { - pname = "drakma-async"; - version = "20210807-git"; - asds = [ "drakma-async" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/drakma-async/2021-08-07/drakma-async-20210807-git.tgz"; - sha256 = "19cd4xrcx3mz86sl0326x5lcrh9jizrwzi6p7pd856nrmx7ynf4w"; - system = "drakma-async"; - asd = "drakma-async"; - }); - systems = [ "drakma-async" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-async-future" self) (getAttr "cl-async-ssl" self) (getAttr "drakma" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - drakma-test = (build-asdf-system { - pname = "drakma-test"; - version = "v2.0.10"; - asds = [ "drakma-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/drakma/2023-10-21/drakma-v2.0.10.tgz"; - sha256 = "0clj7c1hysisdvkidvx7m0702alsksna6iiqlk499hn3hjpafmln"; - system = "drakma-test"; - asd = "drakma-test"; - }); - systems = [ "drakma-test" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "easy-routes" self) (getAttr "fiveam" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - draw-cons-tree = (build-asdf-system { - pname = "draw-cons-tree"; - version = "20230618-git"; - asds = [ "draw-cons-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/draw-cons-tree/2023-06-18/draw-cons-tree-20230618-git.tgz"; - sha256 = "1523bdkq8a5qn0qp9q7r16w47y6jb0hkfj7hbjfj6mg3xv001s3x"; - system = "draw-cons-tree"; - asd = "draw-cons-tree"; - }); - systems = [ "draw-cons-tree" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dref = (build-asdf-system { - pname = "dref"; - version = "20241012-git"; - asds = [ "dref" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; - sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; - system = "dref"; - asd = "dref"; - }); - systems = [ "dref" ]; - lispLibs = [ (getAttr "mgl-pax-bootstrap" self) (getAttr "mgl-pax_dot_asdf" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dref-test = (build-asdf-system { - pname = "dref-test"; - version = "20241012-git"; - asds = [ "dref-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; - sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; - system = "dref-test"; - asd = "dref-test"; - }); - systems = [ "dref-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "dref" self) (getAttr "mgl-pax" self) (getAttr "mgl-pax_dot_asdf" self) (getAttr "swank" self) (getAttr "try" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - drei-mcclim = (build-asdf-system { - pname = "drei-mcclim"; - version = "20241012-git"; - asds = [ "drei-mcclim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "drei-mcclim"; - asd = "drei-mcclim"; - }); - systems = [ "drei-mcclim" ]; - lispLibs = [ (getAttr "automaton" self) (getAttr "clim-core" self) (getAttr "esa-mcclim" self) (getAttr "flexichain" self) (getAttr "persistent" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dso-lex = (build-asdf-system { - pname = "dso-lex"; - version = "0.3.2"; - asds = [ "dso-lex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dso-lex/2011-01-10/dso-lex-0.3.2.tgz"; - sha256 = "09vx0dsfaj1c5ivfkx9zl9s2yxmqpdc2v41fhpq75anq9ffr6qyr"; - system = "dso-lex"; - asd = "dso-lex"; - }); - systems = [ "dso-lex" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "dso-util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dso-util = (build-asdf-system { - pname = "dso-util"; - version = "0.1.2"; - asds = [ "dso-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dso-util/2011-01-10/dso-util-0.1.2.tgz"; - sha256 = "12w1rxxk2hi6k7ng9kqf2yb1kff78bshdfl7bwv6fz8im8vq13b3"; - system = "dso-util"; - asd = "dso-util"; - }); - systems = [ "dso-util" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - duckdb = (build-asdf-system { - pname = "duckdb"; - version = "20241012-git"; - asds = [ "duckdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-duckdb/2024-10-12/cl-duckdb-20241012-git.tgz"; - sha256 = "144c8c4m8vwmdg1ny5hjsvxmm8k6jijmrabyf2hmcnvk7hdy5sq0"; - system = "duckdb"; - asd = "duckdb"; - }); - systems = [ "duckdb" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "cl-ascii-table" self) (getAttr "cl-ppcre" self) (getAttr "cl-spark" self) (getAttr "float-features" self) (getAttr "frugal-uuid" self) (getAttr "let-plus" self) (getAttr "local-time" self) (getAttr "local-time-duration" self) (getAttr "periods" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dufy = (build-asdf-system { - pname = "dufy"; - version = "20241012-git"; - asds = [ "dufy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dufy/2024-10-12/dufy-20241012-git.tgz"; - sha256 = "1fj1ad7jh8i72jvdc5ypdk1j1mlkr7dc9xs4khii9adj3jl1nb0v"; - system = "dufy"; - asd = "dufy"; - }); - systems = [ "dufy" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dungen = (build-asdf-system { - pname = "dungen"; - version = "20220707-git"; - asds = [ "dungen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dungen/2022-07-07/dungen-20220707-git.tgz"; - sha256 = "1yvkch227g0yawv2682ysdv9q2g5yyyxjvfpx3hijl0mm0awgxv5"; - system = "dungen"; - asd = "dungen"; - }); - systems = [ "dungen" ]; - lispLibs = [ (getAttr "graph" self) (getAttr "mfiano-utils" self) (getAttr "seedable-rng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - duologue = (build-asdf-system { - pname = "duologue"; - version = "20230214-git"; - asds = [ "duologue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/duologue/2023-02-14/duologue-20230214-git.tgz"; - sha256 = "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"; - system = "duologue"; - asd = "duologue"; - }); - systems = [ "duologue" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "chronicity" self) (getAttr "cl-ansi-text" self) (getAttr "cl-fad" self) (getAttr "clavier" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - duologue-readline = (build-asdf-system { - pname = "duologue-readline"; - version = "20230214-git"; - asds = [ "duologue-readline" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/duologue/2023-02-14/duologue-20230214-git.tgz"; - sha256 = "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"; - system = "duologue-readline"; - asd = "duologue-readline"; - }); - systems = [ "duologue-readline" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "chronicity" self) (getAttr "cl-ansi-text" self) (getAttr "cl-fad" self) (getAttr "cl-readline" self) (getAttr "clavier" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - duologue-test = (build-asdf-system { - pname = "duologue-test"; - version = "20230214-git"; - asds = [ "duologue-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/duologue/2023-02-14/duologue-20230214-git.tgz"; - sha256 = "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"; - system = "duologue-test"; - asd = "duologue-test"; - }); - systems = [ "duologue-test" ]; - lispLibs = [ (getAttr "duologue" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dweet = (build-asdf-system { - pname = "dweet"; - version = "20141217-git"; - asds = [ "dweet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dweet/2014-12-17/dweet-20141217-git.tgz"; - sha256 = "1i3ab3igvdy6fhq3zlx1vaswhvm9dlp6fagzxbrqhqj6jsbhiwv7"; - system = "dweet"; - asd = "dweet"; - }); - systems = [ "dweet" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "com_dot_gigamonkeys_dot_json" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-array = (build-asdf-system { - pname = "dynamic-array"; - version = "20220707-git"; - asds = [ "dynamic-array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dynamic-array/2022-07-07/dynamic-array-20220707-git.tgz"; - sha256 = "02kg1m5xscg521074nasx3f04784jbm0x61a7skixbdprpg6hhnh"; - system = "dynamic-array"; - asd = "dynamic-array"; - }); - systems = [ "dynamic-array" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-classes = (build-asdf-system { - pname = "dynamic-classes"; - version = "20231021-git"; - asds = [ "dynamic-classes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dynamic-classes/2023-10-21/dynamic-classes-20231021-git.tgz"; - sha256 = "1k9lkchwyi2xhygp2v8ifq3kg1l3wcnihhzgr06jrivjxgdqpc1a"; - system = "dynamic-classes"; - asd = "dynamic-classes"; - }); - systems = [ "dynamic-classes" ]; - lispLibs = [ (getAttr "metatilities-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-classes-test = (build-asdf-system { - pname = "dynamic-classes-test"; - version = "20231021-git"; - asds = [ "dynamic-classes-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dynamic-classes/2023-10-21/dynamic-classes-20231021-git.tgz"; - sha256 = "1k9lkchwyi2xhygp2v8ifq3kg1l3wcnihhzgr06jrivjxgdqpc1a"; - system = "dynamic-classes-test"; - asd = "dynamic-classes-test"; - }); - systems = [ "dynamic-classes-test" ]; - lispLibs = [ (getAttr "dynamic-classes" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-collect = (build-asdf-system { - pname = "dynamic-collect"; - version = "20230618-git"; - asds = [ "dynamic-collect" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dynamic-collect/2023-06-18/dynamic-collect-20230618-git.tgz"; - sha256 = "0p1ylba1myby21jg8x9lgwxfv958za32qsz426yd2vc485j887iw"; - system = "dynamic-collect"; - asd = "dynamic-collect"; - }); - systems = [ "dynamic-collect" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-mixins = (build-asdf-system { - pname = "dynamic-mixins"; - version = "20181018-git"; - asds = [ "dynamic-mixins" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dynamic-mixins/2018-10-18/dynamic-mixins-20181018-git.tgz"; - sha256 = "00g3s509ysh2jp1qwsgb5bwl6qvhzcljwjz3z4mspbcak51484zj"; - system = "dynamic-mixins"; - asd = "dynamic-mixins"; - }); - systems = [ "dynamic-mixins" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-mixins-swm = (build-asdf-system { - pname = "dynamic-mixins-swm"; - version = "20231021-git"; - asds = [ "dynamic-mixins-swm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stumpwm/2023-10-21/stumpwm-20231021-git.tgz"; - sha256 = "114kicsziqvm15x15yhc39j8qzv6gxz4wxc40xp968pprzr4a4d1"; - system = "dynamic-mixins-swm"; - asd = "dynamic-mixins-swm"; - }); - systems = [ "dynamic-mixins-swm" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - dynamic-wind = (build-asdf-system { - pname = "dynamic-wind"; - version = "20241012-git"; - asds = [ "dynamic-wind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/contextl/2024-10-12/contextl-20241012-git.tgz"; - sha256 = "1jsa5wyjzzfw9pii3d6x20mh8ijnpb291g3i0y2ccj0x8z3xfyyk"; - system = "dynamic-wind"; - asd = "dynamic-wind"; - }); - systems = [ "dynamic-wind" ]; - lispLibs = [ (getAttr "lw-compat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eager-future = (build-asdf-system { - pname = "eager-future"; - version = "20101006-darcs"; - asds = [ "eager-future" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz"; - sha256 = "0l7khqfqfchk7j24fk7rwagwanjargxsrzr6g1h4ainqjajd91jl"; - system = "eager-future"; - asd = "eager-future"; - }); - systems = [ "eager-future" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eager-future_dot_test = (build-asdf-system { - pname = "eager-future.test"; - version = "20101006-darcs"; - asds = [ "eager-future.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz"; - sha256 = "0l7khqfqfchk7j24fk7rwagwanjargxsrzr6g1h4ainqjajd91jl"; - system = "eager-future.test"; - asd = "eager-future"; - }); - systems = [ "eager-future.test" ]; - lispLibs = [ (getAttr "eager-future" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eager-future2 = (build-asdf-system { - pname = "eager-future2"; - version = "20191130-git"; - asds = [ "eager-future2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eager-future2/2019-11-30/eager-future2-20191130-git.tgz"; - sha256 = "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"; - system = "eager-future2"; - asd = "eager-future2"; - }); - systems = [ "eager-future2" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - easing = (build-asdf-system { - pname = "easing"; - version = "20180228-git"; - asds = [ "easing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz"; - sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5"; - system = "easing"; - asd = "easing"; - }); - systems = [ "easing" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easing-demo = (build-asdf-system { - pname = "easing-demo"; - version = "20180228-git"; - asds = [ "easing-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz"; - sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5"; - system = "easing-demo"; - asd = "easing-demo"; - }); - systems = [ "easing-demo" ]; - lispLibs = [ (getAttr "easing" self) (getAttr "sketch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easing-test = (build-asdf-system { - pname = "easing-test"; - version = "20180228-git"; - asds = [ "easing-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz"; - sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5"; - system = "easing-test"; - asd = "easing-test"; - }); - systems = [ "easing-test" ]; - lispLibs = [ (getAttr "easing" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easter-gauss = (build-asdf-system { - pname = "easter-gauss"; - version = "20241012-git"; - asds = [ "easter-gauss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easter-gauss/2024-10-12/easter-gauss-20241012-git.tgz"; - sha256 = "1wgr7j8b32yq0ajy4a3g08yr7z4p987gfjsrd6gai5i9zqxkbyih"; - system = "easter-gauss"; - asd = "easter-gauss"; - }); - systems = [ "easter-gauss" ]; - lispLibs = [ (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easy-audio = (build-asdf-system { - pname = "easy-audio"; - version = "20241012-git"; - asds = [ "easy-audio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easy-audio/2024-10-12/easy-audio-20241012-git.tgz"; - sha256 = "1vlk2lzipz7sspizv4fiv6nmxhgq9piangc6gfxz6m5k3r74mwrg"; - system = "easy-audio"; - asd = "easy-audio"; - }); - systems = [ "easy-audio" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "flexi-streams" self) (getAttr "nibbles-streams" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easy-bind = (build-asdf-system { - pname = "easy-bind"; - version = "20190202-git"; - asds = [ "easy-bind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easy-bind/2019-02-02/easy-bind-20190202-git.tgz"; - sha256 = "0z7mqm7vnk8jcsmawlyhzg81v2bmgdbxmx3jkf2m74170q78jhkl"; - system = "easy-bind"; - asd = "easy-bind"; - }); - systems = [ "easy-bind" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easy-macros = (build-asdf-system { - pname = "easy-macros"; - version = "20241012-git"; - asds = [ "easy-macros" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easy-macros/2024-10-12/easy-macros-20241012-git.tgz"; - sha256 = "12ixfmxbxszhdcv2fnd9q8m573bn6q2nvn656bpwnzvka9si6vrq"; - system = "easy-macros"; - asd = "easy-macros"; - }); - systems = [ "easy-macros" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easy-routes = (build-asdf-system { - pname = "easy-routes"; - version = "20241012-git"; - asds = [ "easy-routes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easy-routes/2024-10-12/easy-routes-20241012-git.tgz"; - sha256 = "0bz91g0vd1nn9b23npmrjw2ig6fahjs3b6iiw7ncajc2w5x9w1y4"; - system = "easy-routes"; - asd = "easy-routes"; - }); - systems = [ "easy-routes" ]; - lispLibs = [ (getAttr "hunchentoot" self) (getAttr "routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easy-routes_plus_djula = (build-asdf-system { - pname = "easy-routes+djula"; - version = "20241012-git"; - asds = [ "easy-routes+djula" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easy-routes/2024-10-12/easy-routes-20241012-git.tgz"; - sha256 = "0bz91g0vd1nn9b23npmrjw2ig6fahjs3b6iiw7ncajc2w5x9w1y4"; - system = "easy-routes+djula"; - asd = "easy-routes+djula"; - }); - systems = [ "easy-routes+djula" ]; - lispLibs = [ (getAttr "djula" self) (getAttr "easy-routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - easy-routes_plus_errors = (build-asdf-system { - pname = "easy-routes+errors"; - version = "20241012-git"; - asds = [ "easy-routes+errors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/easy-routes/2024-10-12/easy-routes-20241012-git.tgz"; - sha256 = "0bz91g0vd1nn9b23npmrjw2ig6fahjs3b6iiw7ncajc2w5x9w1y4"; - system = "easy-routes+errors"; - asd = "easy-routes+errors"; - }); - systems = [ "easy-routes+errors" ]; - lispLibs = [ (getAttr "easy-routes" self) (getAttr "hunchentoot-errors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-documentation = (build-asdf-system { - pname = "eazy-documentation"; - version = "20210411-git"; - asds = [ "eazy-documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-documentation/2021-04-11/eazy-documentation-20210411-git.tgz"; - sha256 = "0wqd6jih98ab8qpajmcmbj0cwa3g6jjbr7v0wp5gqn1wllwn70ix"; - system = "eazy-documentation"; - asd = "eazy-documentation"; - }); - systems = [ "eazy-documentation" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "common-doc" self) (getAttr "common-doc-split-paragraphs" self) (getAttr "common-html" self) (getAttr "iterate" self) (getAttr "trivia" self) (getAttr "trivia_dot_ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-gnuplot = (build-asdf-system { - pname = "eazy-gnuplot"; - version = "20220331-git"; - asds = [ "eazy-gnuplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-gnuplot/2022-03-31/eazy-gnuplot-20220331-git.tgz"; - sha256 = "0mpkx1z52riahydzvqv7kk15p0pv2k7k5a7j65fg571kcxmssx8s"; - system = "eazy-gnuplot"; - asd = "eazy-gnuplot"; - }); - systems = [ "eazy-gnuplot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-gnuplot_dot_test = (build-asdf-system { - pname = "eazy-gnuplot.test"; - version = "20220331-git"; - asds = [ "eazy-gnuplot.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-gnuplot/2022-03-31/eazy-gnuplot-20220331-git.tgz"; - sha256 = "0mpkx1z52riahydzvqv7kk15p0pv2k7k5a7j65fg571kcxmssx8s"; - system = "eazy-gnuplot.test"; - asd = "eazy-gnuplot.test"; - }); - systems = [ "eazy-gnuplot.test" ]; - lispLibs = [ (getAttr "eazy-gnuplot" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-process = (build-asdf-system { - pname = "eazy-process"; - version = "20200925-git"; - asds = [ "eazy-process" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-process/2020-09-25/eazy-process-20200925-git.tgz"; - sha256 = "1fvc613jg3b0kra664lbyyzvig7sm1xzaawack28c5m61yiwakiw"; - system = "eazy-process"; - asd = "eazy-process"; - }); - systems = [ "eazy-process" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "cl-rlimit" self) (getAttr "iolib" self) (getAttr "iterate" self) (getAttr "trivia" self) (getAttr "trivia_dot_ppcre" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-process_dot_test = (build-asdf-system { - pname = "eazy-process.test"; - version = "20200925-git"; - asds = [ "eazy-process.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-process/2020-09-25/eazy-process-20200925-git.tgz"; - sha256 = "1fvc613jg3b0kra664lbyyzvig7sm1xzaawack28c5m61yiwakiw"; - system = "eazy-process.test"; - asd = "eazy-process.test"; - }); - systems = [ "eazy-process.test" ]; - lispLibs = [ (getAttr "eazy-process" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-project = (build-asdf-system { - pname = "eazy-project"; - version = "20190710-git"; - asds = [ "eazy-project" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz"; - sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b"; - system = "eazy-project"; - asd = "eazy-project"; - }); - systems = [ "eazy-project" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-emb" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) (getAttr "introspect-environment" self) (getAttr "iterate" self) (getAttr "lisp-namespace" self) (getAttr "local-time" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-project_dot_autoload = (build-asdf-system { - pname = "eazy-project.autoload"; - version = "20190710-git"; - asds = [ "eazy-project.autoload" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz"; - sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b"; - system = "eazy-project.autoload"; - asd = "eazy-project.autoload"; - }); - systems = [ "eazy-project.autoload" ]; - lispLibs = [ (getAttr "eazy-project" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eazy-project_dot_test = (build-asdf-system { - pname = "eazy-project.test"; - version = "20190710-git"; - asds = [ "eazy-project.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz"; - sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b"; - system = "eazy-project.test"; - asd = "eazy-project.test"; - }); - systems = [ "eazy-project.test" ]; - lispLibs = [ (getAttr "eazy-project" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ec2 = (build-asdf-system { - pname = "ec2"; - version = "20120909-git"; - asds = [ "ec2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ec2/2012-09-09/ec2-20120909-git.tgz"; - sha256 = "1z9yv1b8ckyvla80rha7amfhhy57kylkscf504rpfx8994fnfbsy"; - system = "ec2"; - asd = "ec2"; - }); - systems = [ "ec2" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "ironclad" self) (getAttr "s-base64" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ec2-price-finder = (build-asdf-system { - pname = "ec2-price-finder"; - version = "20210531-git"; - asds = [ "ec2-price-finder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ec2-price-finder/2021-05-31/ec2-price-finder-20210531-git.tgz"; - sha256 = "1511py79fj0xpzzjlfk6fchp6lmikvhy42s3p6s85fbq4dyj4mpj"; - system = "ec2-price-finder"; - asd = "ec2-price-finder"; - }); - systems = [ "ec2-price-finder" ]; - lispLibs = [ (getAttr "easy-routes" self) (getAttr "hunchentoot" self) (getAttr "lass" self) (getAttr "local-time" self) (getAttr "parse-float" self) (getAttr "read-csv" self) (getAttr "spinneret" self) (getAttr "wu-decimal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ecclesia = (build-asdf-system { - pname = "ecclesia"; - version = "20231021-git"; - asds = [ "ecclesia" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ecclesia/2023-10-21/ecclesia-20231021-git.tgz"; - sha256 = "0hamxgkqq833m02wjnghnjq9ny9k8xk3qx1wffm809qsm9ivwah8"; - system = "ecclesia"; - asd = "ecclesia"; - }); - systems = [ "ecclesia" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eclecticse_dot_iso-8601-date = (build-asdf-system { - pname = "eclecticse.iso-8601-date"; - version = "20190107-git"; - asds = [ "eclecticse.iso-8601-date" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iso-8601-date/2019-01-07/iso-8601-date-20190107-git.tgz"; - sha256 = "12d6jyznglm13sb04xh5l0d0bwi4y449wdyifvfy7r03qy8wypdx"; - system = "eclecticse.iso-8601-date"; - asd = "eclecticse.iso-8601-date"; - }); - systems = [ "eclecticse.iso-8601-date" ]; - lispLibs = [ (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eclecticse_dot_omer = (build-asdf-system { - pname = "eclecticse.omer"; - version = "20210411-git"; - asds = [ "eclecticse.omer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/omer-count/2021-04-11/omer-count-20210411-git.tgz"; - sha256 = "1rvg7rfalvi28x3jkknfdyf4y7zjrqdx073iqi2gin4amin6n7jv"; - system = "eclecticse.omer"; - asd = "eclecticse.omer"; - }); - systems = [ "eclecticse.omer" ]; - lispLibs = [ (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eclecticse_dot_slk-581 = (build-asdf-system { - pname = "eclecticse.slk-581"; - version = "20190107-git"; - asds = [ "eclecticse.slk-581" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slk-581/2019-01-07/slk-581-20190107-git.tgz"; - sha256 = "1pxyr1gi4ppnfld399wiypqqkgm3bqd9kpizpwgll2fd10yh2qmf"; - system = "eclecticse.slk-581"; - asd = "eclecticse.slk-581"; - }); - systems = [ "eclecticse.slk-581" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eclector = (build-asdf-system { - pname = "eclector"; - version = "20241012-git"; - asds = [ "eclector" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eclector/2024-10-12/eclector-20241012-git.tgz"; - sha256 = "06qhll5k0hq652gdzvvhcv4amqg9z7qillnn3z9cm8z9sv1n912v"; - system = "eclector"; - asd = "eclector"; - }); - systems = [ "eclector" ]; - lispLibs = [ (getAttr "acclimation" self) (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eclector-concrete-syntax-tree = (build-asdf-system { - pname = "eclector-concrete-syntax-tree"; - version = "20241012-git"; - asds = [ "eclector-concrete-syntax-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eclector/2024-10-12/eclector-20241012-git.tgz"; - sha256 = "06qhll5k0hq652gdzvvhcv4amqg9z7qillnn3z9cm8z9sv1n912v"; - system = "eclector-concrete-syntax-tree"; - asd = "eclector-concrete-syntax-tree"; - }); - systems = [ "eclector-concrete-syntax-tree" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "concrete-syntax-tree" self) (getAttr "eclector" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eclector_dot_syntax-extensions = (build-asdf-system { - pname = "eclector.syntax-extensions"; - version = "20241012-git"; - asds = [ "eclector.syntax-extensions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eclector/2024-10-12/eclector-20241012-git.tgz"; - sha256 = "06qhll5k0hq652gdzvvhcv4amqg9z7qillnn3z9cm8z9sv1n912v"; - system = "eclector.syntax-extensions"; - asd = "eclector.syntax-extensions"; - }); - systems = [ "eclector.syntax-extensions" ]; - lispLibs = [ (getAttr "eclector" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eco = (build-asdf-system { - pname = "eco"; - version = "20190813-git"; - asds = [ "eco" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eco/2019-08-13/eco-20190813-git.tgz"; - sha256 = "13fsv9v7fhf05p7j1hrfy2sg813wmgsp9aw4ng4cpzdss24zvf7q"; - system = "eco"; - asd = "eco"; - }); - systems = [ "eco" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-who" self) (getAttr "esrap" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eco-test = (build-asdf-system { - pname = "eco-test"; - version = "20190813-git"; - asds = [ "eco-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eco/2019-08-13/eco-20190813-git.tgz"; - sha256 = "13fsv9v7fhf05p7j1hrfy2sg813wmgsp9aw4ng4cpzdss24zvf7q"; - system = "eco-test"; - asd = "eco-test"; - }); - systems = [ "eco-test" ]; - lispLibs = [ (getAttr "eco" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - edit-distance = (build-asdf-system { - pname = "edit-distance"; - version = "20220331-git"; - asds = [ "edit-distance" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-editdistance/2022-03-31/cl-editdistance-20220331-git.tgz"; - sha256 = "0nzbgq69wak18vwpk0fp68x8shdxq5vy70213dc2r0hwfzzc10v9"; - system = "edit-distance"; - asd = "edit-distance"; - }); - systems = [ "edit-distance" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - edit-distance-test = (build-asdf-system { - pname = "edit-distance-test"; - version = "20220331-git"; - asds = [ "edit-distance-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-editdistance/2022-03-31/cl-editdistance-20220331-git.tgz"; - sha256 = "0nzbgq69wak18vwpk0fp68x8shdxq5vy70213dc2r0hwfzzc10v9"; - system = "edit-distance-test"; - asd = "edit-distance-test"; - }); - systems = [ "edit-distance-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-coveralls" self) (getAttr "edit-distance" self) (getAttr "lisp-unit" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - elb-log = (build-asdf-system { - pname = "elb-log"; - version = "20150923-git"; - asds = [ "elb-log" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/elb-log/2015-09-23/elb-log-20150923-git.tgz"; - sha256 = "1d0vkmkjr6d96j7cggw5frj50jf14brbm63is41zwfkfl9r4i6bp"; - system = "elb-log"; - asd = "elb-log"; - }); - systems = [ "elb-log" ]; - lispLibs = [ (getAttr "cl-annot-prove" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) (getAttr "cl-syntax-interpol" self) (getAttr "local-time" self) (getAttr "zs3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - elb-log-test = (build-asdf-system { - pname = "elb-log-test"; - version = "20150923-git"; - asds = [ "elb-log-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/elb-log/2015-09-23/elb-log-20150923-git.tgz"; - sha256 = "1d0vkmkjr6d96j7cggw5frj50jf14brbm63is41zwfkfl9r4i6bp"; - system = "elb-log-test"; - asd = "elb-log-test"; - }); - systems = [ "elb-log-test" ]; - lispLibs = [ (getAttr "elb-log" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - electron-tools = (build-asdf-system { - pname = "electron-tools"; - version = "20160421-git"; - asds = [ "electron-tools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/electron-tools/2016-04-21/electron-tools-20160421-git.tgz"; - sha256 = "0fr16gsbn87vyyjpn2gndhpjg7yzsn4j7skyn0py252cvdk5ygf7"; - system = "electron-tools"; - asd = "electron-tools"; - }); - systems = [ "electron-tools" ]; - lispLibs = [ (getAttr "osicat" self) (getAttr "trivial-download" self) (getAttr "trivial-exe" self) (getAttr "trivial-extract" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - electron-tools-test = (build-asdf-system { - pname = "electron-tools-test"; - version = "20160421-git"; - asds = [ "electron-tools-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/electron-tools/2016-04-21/electron-tools-20160421-git.tgz"; - sha256 = "0fr16gsbn87vyyjpn2gndhpjg7yzsn4j7skyn0py252cvdk5ygf7"; - system = "electron-tools-test"; - asd = "electron-tools-test"; - }); - systems = [ "electron-tools-test" ]; - lispLibs = [ (getAttr "electron-tools" self) (getAttr "fiveam" self) (getAttr "trivial-extract" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - elf = (build-asdf-system { - pname = "elf"; - version = "20190710-git"; - asds = [ "elf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/elf/2019-07-10/elf-20190710-git.tgz"; - sha256 = "0rd1qcczr2gx76fmxia0kix0p5b49myc9fndibkvwc94cxg085gk"; - system = "elf"; - asd = "elf"; - }); - systems = [ "elf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "com_dot_gigamonkeys_dot_binary-data" self) (getAttr "flexi-streams" self) (getAttr "metabang-bind" self) (getAttr "split-sequence" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enchant = (build-asdf-system { - pname = "enchant"; - version = "20241012-git"; - asds = [ "enchant" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-enchant/2024-10-12/cl-enchant-20241012-git.tgz"; - sha256 = "1fcxyb9b8g0v2il2q4xj7z19y1qfxvgd34zax8sdjvl4rp66b08v"; - system = "enchant"; - asd = "enchant"; - }); - systems = [ "enchant" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = {}; - }); - enhanced-boolean = (build-asdf-system { - pname = "enhanced-boolean"; - version = "1.0"; - asds = [ "enhanced-boolean" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-boolean/2020-03-25/enhanced-boolean_1.0.tgz"; - sha256 = "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy"; - system = "enhanced-boolean"; - asd = "enhanced-boolean"; - }); - systems = [ "enhanced-boolean" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-boolean__tests = (build-asdf-system { - pname = "enhanced-boolean_tests"; - version = "1.0"; - asds = [ "enhanced-boolean_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-boolean/2020-03-25/enhanced-boolean_1.0.tgz"; - sha256 = "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy"; - system = "enhanced-boolean_tests"; - asd = "enhanced-boolean_tests"; - }); - systems = [ "enhanced-boolean_tests" ]; - lispLibs = [ (getAttr "enhanced-boolean" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-defclass = (build-asdf-system { - pname = "enhanced-defclass"; - version = "2.1"; - asds = [ "enhanced-defclass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-defclass/2021-04-11/enhanced-defclass_2.1.tgz"; - sha256 = "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg"; - system = "enhanced-defclass"; - asd = "enhanced-defclass"; - }); - systems = [ "enhanced-defclass" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "compatible-metaclasses" self) (getAttr "enhanced-eval-when" self) (getAttr "enhanced-find-class" self) (getAttr "evaled-when" self) (getAttr "shared-preferences" self) (getAttr "simple-guess" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-defclass__tests = (build-asdf-system { - pname = "enhanced-defclass_tests"; - version = "2.1"; - asds = [ "enhanced-defclass_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-defclass/2021-04-11/enhanced-defclass_2.1.tgz"; - sha256 = "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg"; - system = "enhanced-defclass_tests"; - asd = "enhanced-defclass_tests"; - }); - systems = [ "enhanced-defclass_tests" ]; - lispLibs = [ (getAttr "enhanced-defclass" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-eval-when = (build-asdf-system { - pname = "enhanced-eval-when"; - version = "2.0"; - asds = [ "enhanced-eval-when" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-eval-when/2023-10-21/enhanced-eval-when_2.0.tgz"; - sha256 = "1l7n04pzcwsxvw6m4pcksmlx525ijbgh5n28h56clpvpwlwnzjs3"; - system = "enhanced-eval-when"; - asd = "enhanced-eval-when"; - }); - systems = [ "enhanced-eval-when" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-eval-when__tests = (build-asdf-system { - pname = "enhanced-eval-when_tests"; - version = "2.0"; - asds = [ "enhanced-eval-when_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-eval-when/2023-10-21/enhanced-eval-when_2.0.tgz"; - sha256 = "1l7n04pzcwsxvw6m4pcksmlx525ijbgh5n28h56clpvpwlwnzjs3"; - system = "enhanced-eval-when_tests"; - asd = "enhanced-eval-when_tests"; - }); - systems = [ "enhanced-eval-when_tests" ]; - lispLibs = [ (getAttr "enhanced-eval-when" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-find-class = (build-asdf-system { - pname = "enhanced-find-class"; - version = "1.0"; - asds = [ "enhanced-find-class" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-find-class/2020-09-25/enhanced-find-class_1.0.tgz"; - sha256 = "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx"; - system = "enhanced-find-class"; - asd = "enhanced-find-class"; - }); - systems = [ "enhanced-find-class" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-find-class__tests = (build-asdf-system { - pname = "enhanced-find-class_tests"; - version = "1.0"; - asds = [ "enhanced-find-class_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-find-class/2020-09-25/enhanced-find-class_1.0.tgz"; - sha256 = "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx"; - system = "enhanced-find-class_tests"; - asd = "enhanced-find-class_tests"; - }); - systems = [ "enhanced-find-class_tests" ]; - lispLibs = [ (getAttr "enhanced-find-class" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-multiple-value-bind = (build-asdf-system { - pname = "enhanced-multiple-value-bind"; - version = "2.0"; - asds = [ "enhanced-multiple-value-bind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-multiple-value-bind/2023-10-21/enhanced-multiple-value-bind_2.0.tgz"; - sha256 = "191h0rd3fs5vqc15kvblvvwmvcqddmvj3s8x6xfp78gm69wk9bdq"; - system = "enhanced-multiple-value-bind"; - asd = "enhanced-multiple-value-bind"; - }); - systems = [ "enhanced-multiple-value-bind" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-multiple-value-bind__tests = (build-asdf-system { - pname = "enhanced-multiple-value-bind_tests"; - version = "2.0"; - asds = [ "enhanced-multiple-value-bind_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-multiple-value-bind/2023-10-21/enhanced-multiple-value-bind_2.0.tgz"; - sha256 = "191h0rd3fs5vqc15kvblvvwmvcqddmvj3s8x6xfp78gm69wk9bdq"; - system = "enhanced-multiple-value-bind_tests"; - asd = "enhanced-multiple-value-bind_tests"; - }); - systems = [ "enhanced-multiple-value-bind_tests" ]; - lispLibs = [ (getAttr "enhanced-eval-when" self) (getAttr "enhanced-multiple-value-bind" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-typep = (build-asdf-system { - pname = "enhanced-typep"; - version = "1.0"; - asds = [ "enhanced-typep" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-typep/2020-10-16/enhanced-typep_1.0.tgz"; - sha256 = "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21"; - system = "enhanced-typep"; - asd = "enhanced-typep"; - }); - systems = [ "enhanced-typep" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-typep__tests = (build-asdf-system { - pname = "enhanced-typep_tests"; - version = "1.0"; - asds = [ "enhanced-typep_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-typep/2020-10-16/enhanced-typep_1.0.tgz"; - sha256 = "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21"; - system = "enhanced-typep_tests"; - asd = "enhanced-typep_tests"; - }); - systems = [ "enhanced-typep_tests" ]; - lispLibs = [ (getAttr "enhanced-boolean" self) (getAttr "enhanced-typep" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-unwind-protect = (build-asdf-system { - pname = "enhanced-unwind-protect"; - version = "1.0"; - asds = [ "enhanced-unwind-protect" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-unwind-protect/2023-10-21/enhanced-unwind-protect_1.0.tgz"; - sha256 = "00yak6ga0rsz58r96clmzvqbcmnfxcdxvn3h3ysirrsfr8rayy5m"; - system = "enhanced-unwind-protect"; - asd = "enhanced-unwind-protect"; - }); - systems = [ "enhanced-unwind-protect" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enhanced-unwind-protect__tests = (build-asdf-system { - pname = "enhanced-unwind-protect_tests"; - version = "1.0"; - asds = [ "enhanced-unwind-protect_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/enhanced-unwind-protect/2023-10-21/enhanced-unwind-protect_1.0.tgz"; - sha256 = "00yak6ga0rsz58r96clmzvqbcmnfxcdxvn3h3ysirrsfr8rayy5m"; - system = "enhanced-unwind-protect_tests"; - asd = "enhanced-unwind-protect_tests"; - }); - systems = [ "enhanced-unwind-protect_tests" ]; - lispLibs = [ (getAttr "enhanced-unwind-protect" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - enumerations = (build-asdf-system { - pname = "enumerations"; - version = "20230214-git"; - asds = [ "enumerations" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-enumeration/2023-02-14/cl-enumeration-20230214-git.tgz"; - sha256 = "08jp5sf1230d4yyr7jyjqv235hdjjbmabh8r5lsqjh4kgqbwrvqr"; - system = "enumerations"; - asd = "enumerations"; - }); - systems = [ "enumerations" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - envy = (build-asdf-system { - pname = "envy"; - version = "20220331-git"; - asds = [ "envy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/envy/2022-03-31/envy-20220331-git.tgz"; - sha256 = "1r0wgimd7z57x8cv69sw76w3y5l70hq50882a9nq5l4v64lg55fq"; - system = "envy"; - asd = "envy"; - }); - systems = [ "envy" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - envy-test = (build-asdf-system { - pname = "envy-test"; - version = "20220331-git"; - asds = [ "envy-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/envy/2022-03-31/envy-20220331-git.tgz"; - sha256 = "1r0wgimd7z57x8cv69sw76w3y5l70hq50882a9nq5l4v64lg55fq"; - system = "envy-test"; - asd = "envy-test"; - }); - systems = [ "envy-test" ]; - lispLibs = [ (getAttr "envy" self) (getAttr "osicat" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eos = (build-asdf-system { - pname = "eos"; - version = "20200925-git"; - asds = [ "eos" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eos/2020-09-25/eos-20200925-git.tgz"; - sha256 = "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"; - system = "eos"; - asd = "eos"; - }); - systems = [ "eos" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eos-tests = (build-asdf-system { - pname = "eos-tests"; - version = "20200925-git"; - asds = [ "eos-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eos/2020-09-25/eos-20200925-git.tgz"; - sha256 = "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"; - system = "eos-tests"; - asd = "eos"; - }); - systems = [ "eos-tests" ]; - lispLibs = [ (getAttr "eos" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - epigraph = (build-asdf-system { - pname = "epigraph"; - version = "20200325-git"; - asds = [ "epigraph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/epigraph/2020-03-25/epigraph-20200325-git.tgz"; - sha256 = "0gqiv23grdiz6pfly7mqyfmq4c6nwcamlvgsnixn8qi9md7b9d64"; - system = "epigraph"; - asd = "epigraph"; - }); - systems = [ "epigraph" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - epigraph-test = (build-asdf-system { - pname = "epigraph-test"; - version = "20200325-git"; - asds = [ "epigraph-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/epigraph/2020-03-25/epigraph-20200325-git.tgz"; - sha256 = "0gqiv23grdiz6pfly7mqyfmq4c6nwcamlvgsnixn8qi9md7b9d64"; - system = "epigraph-test"; - asd = "epigraph"; - }); - systems = [ "epigraph-test" ]; - lispLibs = [ (getAttr "epigraph" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - epmd = (build-asdf-system { - pname = "epmd"; - version = "20140211-git"; - asds = [ "epmd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-epmd/2014-02-11/cl-epmd-20140211-git.tgz"; - sha256 = "1334856x7jqhv52wlab6wxmfqslj21pmryx3lwmlsn7c3ypwz4rw"; - system = "epmd"; - asd = "epmd"; - }); - systems = [ "epmd" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_binary-data" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - epmd-test = (build-asdf-system { - pname = "epmd-test"; - version = "20140211-git"; - asds = [ "epmd-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-epmd/2014-02-11/cl-epmd-20140211-git.tgz"; - sha256 = "1334856x7jqhv52wlab6wxmfqslj21pmryx3lwmlsn7c3ypwz4rw"; - system = "epmd-test"; - asd = "epmd-test"; - }); - systems = [ "epmd-test" ]; - lispLibs = [ (getAttr "epmd" self) (getAttr "fiveam" self) (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - equals = (build-asdf-system { - pname = "equals"; - version = "20241012-git"; - asds = [ "equals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/equals/2024-10-12/equals-20241012-git.tgz"; - sha256 = "1pzhj748dgjcw6qffkykxx156y78wy3bsbqmq5ijkybfjpnfsg27"; - system = "equals"; - asd = "equals"; - }); - systems = [ "equals" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - erjoalgo-webutil = (build-asdf-system { - pname = "erjoalgo-webutil"; - version = "20241012-git"; - asds = [ "erjoalgo-webutil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/erjoalgo-webutil/2024-10-12/erjoalgo-webutil-20241012-git.tgz"; - sha256 = "1mf9f23p6pagdi97k306a6122a5djx06nfwsxnx61gbyir2cpl2c"; - system = "erjoalgo-webutil"; - asd = "erjoalgo-webutil"; - }); - systems = [ "erjoalgo-webutil" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "fiasco" self) (getAttr "gzip-stream" self) (getAttr "hunchentoot" self) (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - erlang-term = (build-asdf-system { - pname = "erlang-term"; - version = "20220220-git"; - asds = [ "erlang-term" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-erlang-term/2022-02-20/cl-erlang-term-20220220-git.tgz"; - sha256 = "1rmnbirbvwmik3j0xkkn90kzx90klrwx7hmscl0ywcbaprm71wkv"; - system = "erlang-term"; - asd = "erlang-term"; - }); - systems = [ "erlang-term" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "ieee-floats" self) (getAttr "nibbles" self) (getAttr "zlib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - erlang-term-test = (build-asdf-system { - pname = "erlang-term-test"; - version = "20220220-git"; - asds = [ "erlang-term-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-erlang-term/2022-02-20/cl-erlang-term-20220220-git.tgz"; - sha256 = "1rmnbirbvwmik3j0xkkn90kzx90klrwx7hmscl0ywcbaprm71wkv"; - system = "erlang-term-test"; - asd = "erlang-term-test"; - }); - systems = [ "erlang-term-test" ]; - lispLibs = [ (getAttr "erlang-term" self) (getAttr "fiveam" self) (getAttr "nibbles" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ernestine = (build-asdf-system { - pname = "ernestine"; - version = "20220220-git"; - asds = [ "ernestine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ernestine/2022-02-20/ernestine-20220220-git.tgz"; - sha256 = "1gl8pjp44j01nfw9dzk1qdl6njnqcaccp5czcr5rq47l1aicrymn"; - system = "ernestine"; - asd = "ernestine"; - }); - systems = [ "ernestine" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-prevalence" self) (getAttr "drakma" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ernestine-tests = (build-asdf-system { - pname = "ernestine-tests"; - version = "20220220-git"; - asds = [ "ernestine-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ernestine/2022-02-20/ernestine-20220220-git.tgz"; - sha256 = "1gl8pjp44j01nfw9dzk1qdl6njnqcaccp5czcr5rq47l1aicrymn"; - system = "ernestine-tests"; - asd = "ernestine-tests"; - }); - systems = [ "ernestine-tests" ]; - lispLibs = [ (getAttr "ernestine" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - erudite = (build-asdf-system { - pname = "erudite"; - version = "20241012-git"; - asds = [ "erudite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/erudite/2024-10-12/erudite-20241012-git.tgz"; - sha256 = "159fmpm770rnixdpzpmzvqzd2kpns5mglpdxykvv2lqlnac24jn5"; - system = "erudite"; - asd = "erudite"; - }); - systems = [ "erudite" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "cl-template" self) (getAttr "log4cl" self) (getAttr "split-sequence" self) (getAttr "swank-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - erudite-test = (build-asdf-system { - pname = "erudite-test"; - version = "20241012-git"; - asds = [ "erudite-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/erudite/2024-10-12/erudite-20241012-git.tgz"; - sha256 = "159fmpm770rnixdpzpmzvqzd2kpns5mglpdxykvv2lqlnac24jn5"; - system = "erudite-test"; - asd = "erudite-test"; - }); - systems = [ "erudite-test" ]; - lispLibs = [ (getAttr "erudite" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - esa-mcclim = (build-asdf-system { - pname = "esa-mcclim"; - version = "20241012-git"; - asds = [ "esa-mcclim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "esa-mcclim"; - asd = "esa-mcclim"; - }); - systems = [ "esa-mcclim" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "clim-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - escalator = (build-asdf-system { - pname = "escalator"; - version = "20200427-git"; - asds = [ "escalator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/escalator/2020-04-27/escalator-20200427-git.tgz"; - sha256 = "136n4k983f90cqj6na17ff2fvk9rv4ma8l5y66q7lkbb69idipla"; - system = "escalator"; - asd = "escalator"; - }); - systems = [ "escalator" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - escalator-bench = (build-asdf-system { - pname = "escalator-bench"; - version = "20200427-git"; - asds = [ "escalator-bench" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/escalator/2020-04-27/escalator-20200427-git.tgz"; - sha256 = "136n4k983f90cqj6na17ff2fvk9rv4ma8l5y66q7lkbb69idipla"; - system = "escalator-bench"; - asd = "escalator-bench"; - }); - systems = [ "escalator-bench" ]; - lispLibs = [ (getAttr "escalator" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - esrap = (build-asdf-system { - pname = "esrap"; - version = "20241012-git"; - asds = [ "esrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/esrap/2024-10-12/esrap-20241012-git.tgz"; - sha256 = "0pvid1hld03vz2zyszvsxckcpjb2lfl2vjfig6dlrmw3dx8grdj0"; - system = "esrap"; - asd = "esrap"; - }); - systems = [ "esrap" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-with-current-source-form" self) ]; - meta = {}; - }); - esrap-liquid = (build-asdf-system { - pname = "esrap-liquid"; - version = "20161031-git"; - asds = [ "esrap-liquid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/esrap-liquid/2016-10-31/esrap-liquid-20161031-git.tgz"; - sha256 = "0agsi8qx6v3c7r6ri5rp78vdb570pdgkvw80va3045crl61mkjzs"; - system = "esrap-liquid"; - asd = "esrap-liquid"; - }); - systems = [ "esrap-liquid" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - esrap-liquid-tests = (build-asdf-system { - pname = "esrap-liquid-tests"; - version = "20161031-git"; - asds = [ "esrap-liquid-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/esrap-liquid/2016-10-31/esrap-liquid-20161031-git.tgz"; - sha256 = "0agsi8qx6v3c7r6ri5rp78vdb570pdgkvw80va3045crl61mkjzs"; - system = "esrap-liquid-tests"; - asd = "esrap-liquid"; - }); - systems = [ "esrap-liquid-tests" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "esrap-liquid" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - esrap-peg = (build-asdf-system { - pname = "esrap-peg"; - version = "20191007-git"; - asds = [ "esrap-peg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/esrap-peg/2019-10-07/esrap-peg-20191007-git.tgz"; - sha256 = "0540i7whx1w0n9fdakwk8rnn511xga9xfvczq9y1jcgz1hh42w53"; - system = "esrap-peg"; - asd = "esrap-peg"; - }); - systems = [ "esrap-peg" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-unification" self) (getAttr "esrap" self) (getAttr "iterate" self) ]; - meta = {}; - }); - etcd-test = (build-asdf-system { - pname = "etcd-test"; - version = "20230214-git"; - asds = [ "etcd-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-etcd/2023-02-14/cl-etcd-20230214-git.tgz"; - sha256 = "0bals10r07prxvjxd744vz02ri72isf168lkhrx9qkc96hd214ah"; - system = "etcd-test"; - asd = "etcd-test"; - }); - systems = [ "etcd-test" ]; - lispLibs = [ (getAttr "cl-etcd" self) (getAttr "cl-toml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ev = (build-asdf-system { - pname = "ev"; - version = "20150923-git"; - asds = [ "ev" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ev/2015-09-23/cl-ev-20150923-git.tgz"; - sha256 = "0qnkzkw9mn4w6b0q9y207z8ddnd5a2gn42q55yycp2qrvvv47lhp"; - system = "ev"; - asd = "ev"; - }); - systems = [ "ev" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - evaled-when = (build-asdf-system { - pname = "evaled-when"; - version = "1.0"; - asds = [ "evaled-when" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/evaled-when/2020-09-25/evaled-when_1.0.tgz"; - sha256 = "0482s89nb5jyyg5wmb010p914pgq6ls8z5s12hdw7wrpy675kdkh"; - system = "evaled-when"; - asd = "evaled-when"; - }); - systems = [ "evaled-when" ]; - lispLibs = [ (getAttr "trivial-cltl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - evaled-when__tests = (build-asdf-system { - pname = "evaled-when_tests"; - version = "1.0"; - asds = [ "evaled-when_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/evaled-when/2020-09-25/evaled-when_1.0.tgz"; - sha256 = "0482s89nb5jyyg5wmb010p914pgq6ls8z5s12hdw7wrpy675kdkh"; - system = "evaled-when_tests"; - asd = "evaled-when_tests"; - }); - systems = [ "evaled-when_tests" ]; - lispLibs = [ (getAttr "enhanced-boolean" self) (getAttr "evaled-when" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - event-emitter = (build-asdf-system { - pname = "event-emitter"; - version = "20241012-git"; - asds = [ "event-emitter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/event-emitter/2024-10-12/event-emitter-20241012-git.tgz"; - sha256 = "0kj77r09wbsiq6n62vvgk9fh37p3n3ycmhln1mhswz24rhirnpyn"; - system = "event-emitter"; - asd = "event-emitter"; - }); - systems = [ "event-emitter" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - event-emitter-benchmark = (build-asdf-system { - pname = "event-emitter-benchmark"; - version = "20241012-git"; - asds = [ "event-emitter-benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/event-emitter/2024-10-12/event-emitter-20241012-git.tgz"; - sha256 = "0kj77r09wbsiq6n62vvgk9fh37p3n3ycmhln1mhswz24rhirnpyn"; - system = "event-emitter-benchmark"; - asd = "event-emitter-benchmark"; - }); - systems = [ "event-emitter-benchmark" ]; - lispLibs = [ (getAttr "event-emitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - event-emitter-test = (build-asdf-system { - pname = "event-emitter-test"; - version = "20241012-git"; - asds = [ "event-emitter-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/event-emitter/2024-10-12/event-emitter-20241012-git.tgz"; - sha256 = "0kj77r09wbsiq6n62vvgk9fh37p3n3ycmhln1mhswz24rhirnpyn"; - system = "event-emitter-test"; - asd = "event-emitter-test"; - }); - systems = [ "event-emitter-test" ]; - lispLibs = [ (getAttr "event-emitter" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - event-glue = (build-asdf-system { - pname = "event-glue"; - version = "20150608-git"; - asds = [ "event-glue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/event-glue/2015-06-08/event-glue-20150608-git.tgz"; - sha256 = "1cmxdx5nawzqafz9b6nswp20d3zlaks44ln4n6bf5jxji9n3vany"; - system = "event-glue"; - asd = "event-glue"; - }); - systems = [ "event-glue" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - event-glue-test = (build-asdf-system { - pname = "event-glue-test"; - version = "20150608-git"; - asds = [ "event-glue-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/event-glue/2015-06-08/event-glue-20150608-git.tgz"; - sha256 = "1cmxdx5nawzqafz9b6nswp20d3zlaks44ln4n6bf5jxji9n3vany"; - system = "event-glue-test"; - asd = "event-glue-test"; - }); - systems = [ "event-glue-test" ]; - lispLibs = [ (getAttr "event-glue" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eventbus = (build-asdf-system { - pname = "eventbus"; - version = "20191227-git"; - asds = [ "eventbus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eventbus/2019-12-27/eventbus-20191227-git.tgz"; - sha256 = "0slqx3zq6sbz3rg4g79j8y25sx4405y6ff3x6l5v8v4v42m1s0p2"; - system = "eventbus"; - asd = "eventbus"; - }); - systems = [ "eventbus" ]; - lispLibs = [ (getAttr "simplet-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - eventfd = (build-asdf-system { - pname = "eventfd"; - version = "20171130-git"; - asds = [ "eventfd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eventfd/2017-11-30/eventfd-20171130-git.tgz"; - sha256 = "1zwg043vqzk665k9dxgxhik20wgkl204anjna94zg6037m33vdiw"; - system = "eventfd"; - asd = "eventfd"; - }); - systems = [ "eventfd" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi-grovel" self) (getAttr "iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - everblocking-stream = (build-asdf-system { - pname = "everblocking-stream"; - version = "20181018-git"; - asds = [ "everblocking-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/everblocking-stream/2018-10-18/everblocking-stream-20181018-git.tgz"; - sha256 = "1xvfsx2ldwcprlynikn1rikxh3lfdyzl2p72glzvgh20sm93p1rz"; - system = "everblocking-stream"; - asd = "everblocking-stream"; - }); - systems = [ "everblocking-stream" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - evol = (build-asdf-system { - pname = "evol"; - version = "20101006-git"; - asds = [ "evol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/evol/2010-10-06/evol-20101006-git.tgz"; - sha256 = "1hp6wygj44llkscqq721xg4a7j5faqjcfc646lvkia5xg81zbf65"; - system = "evol"; - asd = "evol"; - }); - systems = [ "evol" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "external-program" self) (getAttr "patron" self) (getAttr "unix-options" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - evol-test = (build-asdf-system { - pname = "evol-test"; - version = "20101006-git"; - asds = [ "evol-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/evol/2010-10-06/evol-20101006-git.tgz"; - sha256 = "1hp6wygj44llkscqq721xg4a7j5faqjcfc646lvkia5xg81zbf65"; - system = "evol-test"; - asd = "evol-test"; - }); - systems = [ "evol-test" ]; - lispLibs = [ (getAttr "evol" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - example-bot = (build-asdf-system { - pname = "example-bot"; - version = "20241012-git"; - asds = [ "example-bot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispcord/2024-10-12/lispcord-20241012-git.tgz"; - sha256 = "11xwrrvvqdm1wdnxrxqgizgw25plsn28n2k0lm5kakax9n221brn"; - system = "example-bot"; - asd = "example-bot"; - }); - systems = [ "example-bot" ]; - lispLibs = [ (getAttr "lispcord" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - exit-hooks = (build-asdf-system { - pname = "exit-hooks"; - version = "20170403-git"; - asds = [ "exit-hooks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/exit-hooks/2017-04-03/exit-hooks-20170403-git.tgz"; - sha256 = "00rk0pr2cy3hy6giblh166b7yrg06d5lanipjcqv508gkfb0vi47"; - system = "exit-hooks"; - asd = "exit-hooks"; - }); - systems = [ "exit-hooks" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - exponential-backoff = (build-asdf-system { - pname = "exponential-backoff"; - version = "20150113-git"; - asds = [ "exponential-backoff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/exponential-backoff/2015-01-13/exponential-backoff-20150113-git.tgz"; - sha256 = "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"; - system = "exponential-backoff"; - asd = "exponential-backoff"; - }); - systems = [ "exponential-backoff" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - exscribe = (build-asdf-system { - pname = "exscribe"; - version = "20200925-git"; - asds = [ "exscribe" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/exscribe/2020-09-25/exscribe-20200925-git.tgz"; - sha256 = "02vsavasr5nbhrk86b7d8xpr6sm8cyrg3vs2pbpkls2iypffyd2h"; - system = "exscribe"; - asd = "exscribe"; - }); - systems = [ "exscribe" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fare-memoization" self) (getAttr "fare-scripts" self) (getAttr "fare-utils" self) (getAttr "quri" self) (getAttr "scribble" self) (getAttr "trivia_dot_quasiquote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ext-blog = (build-asdf-system { - pname = "ext-blog"; - version = "20160825-git"; - asds = [ "ext-blog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ext-blog/2016-08-25/ext-blog-20160825-git.tgz"; - sha256 = "10qnl3p994wg12c0cn6xgkgmwfip0fk0sjyqyy0j5bdrp32gr5wg"; - system = "ext-blog"; - asd = "ext-blog"; - }); - systems = [ "ext-blog" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-store" self) (getAttr "closure-template" self) (getAttr "image" self) (getAttr "kl-verify" self) (getAttr "local-time" self) (getAttr "restas" self) (getAttr "restas_dot_file-publisher" self) (getAttr "s-xml-rpc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - extended-reals = (build-asdf-system { - pname = "extended-reals"; - version = "20180328-git"; - asds = [ "extended-reals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/extended-reals/2018-03-28/extended-reals-20180328-git.tgz"; - sha256 = "0vq191win5sq37mrwjhvi463jqh1mkwbsa0hja69syq789pgaxmb"; - system = "extended-reals"; - asd = "extended-reals"; - }); - systems = [ "extended-reals" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - extensible-sequences = (build-asdf-system { - pname = "extensible-sequences"; - version = "20130813-darcs"; - asds = [ "extensible-sequences" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz"; - sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5"; - system = "extensible-sequences"; - asd = "extensible-sequences"; - }); - systems = [ "extensible-sequences" ]; - lispLibs = [ (getAttr "sequence-iterators" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - external-program = (build-asdf-system { - pname = "external-program"; - version = "20241012-git"; - asds = [ "external-program" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/external-program/2024-10-12/external-program-20241012-git.tgz"; - sha256 = "1g7hawsbbfspzljj2spxxv26a5079xsa0kd7dqdclm5n71fypwx6"; - system = "external-program"; - asd = "external-program"; - }); - systems = [ "external-program" ]; - lispLibs = [ (getAttr "trivial-features" self) ]; - meta = {}; - }); - external-program-test = (build-asdf-system { - pname = "external-program-test"; - version = "20241012-git"; - asds = [ "external-program-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/external-program/2024-10-12/external-program-20241012-git.tgz"; - sha256 = "1g7hawsbbfspzljj2spxxv26a5079xsa0kd7dqdclm5n71fypwx6"; - system = "external-program-test"; - asd = "external-program"; - }); - systems = [ "external-program-test" ]; - lispLibs = [ (getAttr "external-program" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - external-symbol-not-found = (build-asdf-system { - pname = "external-symbol-not-found"; - version = "20241012-git"; - asds = [ "external-symbol-not-found" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/external-symbol-not-found/2024-10-12/external-symbol-not-found-20241012-git.tgz"; - sha256 = "1ic982jbcy71wlni60wnb8hqg3cqw488h4jj5pd2sqmjwv1960v7"; - system = "external-symbol-not-found"; - asd = "external-symbol-not-found"; - }); - systems = [ "external-symbol-not-found" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - f-underscore = (build-asdf-system { - pname = "f-underscore"; - version = "20101006-darcs"; - asds = [ "f-underscore" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f-underscore/2010-10-06/f-underscore-20101006-darcs.tgz"; - sha256 = "0mqvb2rxa08y07lj6smp8gf1ig32802fxq7mw5a283f2nkrinnb5"; - system = "f-underscore"; - asd = "f-underscore"; - }); - systems = [ "f-underscore" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - f2cl = (build-asdf-system { - pname = "f2cl"; - version = "20231021-git"; - asds = [ "f2cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "f2cl"; - asd = "f2cl"; - }); - systems = [ "f2cl" ]; - lispLibs = [ (getAttr "f2cl-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - f2cl-asdf = (build-asdf-system { - pname = "f2cl-asdf"; - version = "20231021-git"; - asds = [ "f2cl-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "f2cl-asdf"; - asd = "f2cl-asdf"; - }); - systems = [ "f2cl-asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - f2cl-lib = (build-asdf-system { - pname = "f2cl-lib"; - version = "20220220-git"; - asds = [ "f2cl-lib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "f2cl-lib"; - asd = "f2cl-lib"; - }); - systems = [ "f2cl-lib" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fact-base = (build-asdf-system { - pname = "fact-base"; - version = "20180328-git"; - asds = [ "fact-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fact-base/2018-03-28/fact-base-20180328-git.tgz"; - sha256 = "14i0vqqxszabhas0z9dfxhvnbsxl4iic77m4i76w7iznmrcma2ar"; - system = "fact-base"; - asd = "fact-base"; - }); - systems = [ "fact-base" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "local-time" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - factory-alien = (build-asdf-system { - pname = "factory-alien"; - version = "20230618-git"; - asds = [ "factory-alien" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/factory-alien/2023-06-18/factory-alien-20230618-git.tgz"; - sha256 = "0n1fwxapl9vr0cm66gkhihws6zhvg2f4acx017lavn0g42b5fc4a"; - system = "factory-alien"; - asd = "factory-alien"; - }); - systems = [ "factory-alien" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fakenil = (build-asdf-system { - pname = "fakenil"; - version = "1.0"; - asds = [ "fakenil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fakenil/2020-03-25/fakenil_1.0.tgz"; - sha256 = "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3"; - system = "fakenil"; - asd = "fakenil"; - }); - systems = [ "fakenil" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fakenil__tests = (build-asdf-system { - pname = "fakenil_tests"; - version = "1.0"; - asds = [ "fakenil_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fakenil/2020-03-25/fakenil_1.0.tgz"; - sha256 = "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3"; - system = "fakenil_tests"; - asd = "fakenil_tests"; - }); - systems = [ "fakenil_tests" ]; - lispLibs = [ (getAttr "fakenil" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fare-csv = (build-asdf-system { - pname = "fare-csv"; - version = "20241012-git"; - asds = [ "fare-csv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-csv/2024-10-12/fare-csv-20241012-git.tgz"; - sha256 = "153sxb0vyd1cnhfw15j3183kqhcnma0ygaf5svzibknclm16n767"; - system = "fare-csv"; - asd = "fare-csv"; - }); - systems = [ "fare-csv" ]; - lispLibs = [ ]; - meta = {}; - }); - fare-memoization = (build-asdf-system { - pname = "fare-memoization"; - version = "20180430-git"; - asds = [ "fare-memoization" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-memoization/2018-04-30/fare-memoization-20180430-git.tgz"; - sha256 = "1blmrb4c9gsxj87scz74z1s8w9d1w2r48fyxj0y1sw3vr6bsbb8f"; - system = "fare-memoization"; - asd = "fare-memoization"; - }); - systems = [ "fare-memoization" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fare-mop = (build-asdf-system { - pname = "fare-mop"; - version = "20151218-git"; - asds = [ "fare-mop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-mop/2015-12-18/fare-mop-20151218-git.tgz"; - sha256 = "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"; - system = "fare-mop"; - asd = "fare-mop"; - }); - systems = [ "fare-mop" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "fare-utils" self) ]; - meta = {}; - }); - fare-quasiquote = (build-asdf-system { - pname = "fare-quasiquote"; - version = "20200925-git"; - asds = [ "fare-quasiquote" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; - sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; - system = "fare-quasiquote"; - asd = "fare-quasiquote"; - }); - systems = [ "fare-quasiquote" ]; - lispLibs = [ (getAttr "fare-utils" self) ]; - meta = {}; - }); - fare-quasiquote-extras = (build-asdf-system { - pname = "fare-quasiquote-extras"; - version = "20200925-git"; - asds = [ "fare-quasiquote-extras" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; - sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; - system = "fare-quasiquote-extras"; - asd = "fare-quasiquote-extras"; - }); - systems = [ "fare-quasiquote-extras" ]; - lispLibs = [ (getAttr "fare-quasiquote-optima" self) (getAttr "fare-quasiquote-readtable" self) ]; - meta = {}; - }); - fare-quasiquote-optima = (build-asdf-system { - pname = "fare-quasiquote-optima"; - version = "20200925-git"; - asds = [ "fare-quasiquote-optima" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; - sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; - system = "fare-quasiquote-optima"; - asd = "fare-quasiquote-optima"; - }); - systems = [ "fare-quasiquote-optima" ]; - lispLibs = [ (getAttr "trivia_dot_quasiquote" self) ]; - meta = {}; - }); - fare-quasiquote-readtable = (build-asdf-system { - pname = "fare-quasiquote-readtable"; - version = "20200925-git"; - asds = [ "fare-quasiquote-readtable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; - sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; - system = "fare-quasiquote-readtable"; - asd = "fare-quasiquote-readtable"; - }); - systems = [ "fare-quasiquote-readtable" ]; - lispLibs = [ (getAttr "fare-quasiquote" self) (getAttr "named-readtables" self) ]; - meta = {}; - }); - fare-scripts = (build-asdf-system { - pname = "fare-scripts"; - version = "20241012-git"; - asds = [ "fare-scripts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-scripts/2024-10-12/fare-scripts-20241012-git.tgz"; - sha256 = "08fq1ry4prlww4gr7zris7vywqs3vm1253mqfgx8vg0awrccmf98"; - system = "fare-scripts"; - asd = "fare-scripts"; - }); - systems = [ "fare-scripts" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "binascii" self) (getAttr "cl-launch" self) (getAttr "cl-mime" self) (getAttr "cl-ppcre" self) (getAttr "cl-scripting" self) (getAttr "cl-unicode" self) (getAttr "command-line-arguments" self) (getAttr "fare-utils" self) (getAttr "inferior-shell" self) (getAttr "optima" self) (getAttr "optima_dot_ppcre" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fare-utils = (build-asdf-system { - pname = "fare-utils"; - version = "20230214-git"; - asds = [ "fare-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-utils/2023-02-14/fare-utils-20230214-git.tgz"; - sha256 = "0kw6xzavzvpzac3xa6x4681q6w6v6bjk1g71flr2x9xixxg61sak"; - system = "fare-utils"; - asd = "fare-utils"; - }); - systems = [ "fare-utils" ]; - lispLibs = [ ]; - meta = {}; - }); - fare-utils-test = (build-asdf-system { - pname = "fare-utils-test"; - version = "20230214-git"; - asds = [ "fare-utils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fare-utils/2023-02-14/fare-utils-20230214-git.tgz"; - sha256 = "0kw6xzavzvpzac3xa6x4681q6w6v6bjk1g71flr2x9xixxg61sak"; - system = "fare-utils-test"; - asd = "fare-utils-test"; - }); - systems = [ "fare-utils-test" ]; - lispLibs = [ (getAttr "fare-utils" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fast-http = (build-asdf-system { - pname = "fast-http"; - version = "20241012-git"; - asds = [ "fast-http" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-http/2024-10-12/fast-http-20241012-git.tgz"; - sha256 = "04cxh2241l9hyzarrxs528v2jjdfm5g3prc2374m4xkrb0wiygh0"; - system = "fast-http"; - asd = "fast-http"; - }); - systems = [ "fast-http" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-utilities" self) (getAttr "proc-parse" self) (getAttr "smart-buffer" self) (getAttr "xsubseq" self) ]; - meta = {}; - }); - fast-http-test = (build-asdf-system { - pname = "fast-http-test"; - version = "20241012-git"; - asds = [ "fast-http-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-http/2024-10-12/fast-http-20241012-git.tgz"; - sha256 = "04cxh2241l9hyzarrxs528v2jjdfm5g3prc2374m4xkrb0wiygh0"; - system = "fast-http-test"; - asd = "fast-http-test"; - }); - systems = [ "fast-http-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-syntax-interpol" self) (getAttr "fast-http" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "xsubseq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fast-io = (build-asdf-system { - pname = "fast-io"; - version = "20221106-git"; - asds = [ "fast-io" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-io/2022-11-06/fast-io-20221106-git.tgz"; - sha256 = "0wh02yagbqahy9z6787jz5ggpagvr18qd0z13wvwq1vjf8xd2530"; - system = "fast-io"; - asd = "fast-io"; - }); - systems = [ "fast-io" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "static-vectors" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - fast-io-test = (build-asdf-system { - pname = "fast-io-test"; - version = "20221106-git"; - asds = [ "fast-io-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-io/2022-11-06/fast-io-20221106-git.tgz"; - sha256 = "0wh02yagbqahy9z6787jz5ggpagvr18qd0z13wvwq1vjf8xd2530"; - system = "fast-io-test"; - asd = "fast-io-test"; - }); - systems = [ "fast-io-test" ]; - lispLibs = [ (getAttr "checkl" self) (getAttr "fast-io" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fast-mpsc-queue = (build-asdf-system { - pname = "fast-mpsc-queue"; - version = "20241012-git"; - asds = [ "fast-mpsc-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-mpsc-queue/2024-10-12/fast-mpsc-queue-20241012-git.tgz"; - sha256 = "1ggiaryjv3lmzrk6m22y7vvbqn3z0n7ahmkyfjq6iyrd64d77ck7"; - system = "fast-mpsc-queue"; - asd = "fast-mpsc-queue"; - }); - systems = [ "fast-mpsc-queue" ]; - lispLibs = [ (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fast-websocket = (build-asdf-system { - pname = "fast-websocket"; - version = "20241012-git"; - asds = [ "fast-websocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-websocket/2024-10-12/fast-websocket-20241012-git.tgz"; - sha256 = "102z58d27966lpx08kc6apgaainbsdfhygb67ibyw6lxnaasy3jz"; - system = "fast-websocket"; - asd = "fast-websocket"; - }); - systems = [ "fast-websocket" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "fast-io" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fast-websocket-test = (build-asdf-system { - pname = "fast-websocket-test"; - version = "20241012-git"; - asds = [ "fast-websocket-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fast-websocket/2024-10-12/fast-websocket-20241012-git.tgz"; - sha256 = "102z58d27966lpx08kc6apgaainbsdfhygb67ibyw6lxnaasy3jz"; - system = "fast-websocket-test"; - asd = "fast-websocket-test"; - }); - systems = [ "fast-websocket-test" ]; - lispLibs = [ (getAttr "fast-io" self) (getAttr "fast-websocket" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - feeder = (build-asdf-system { - pname = "feeder"; - version = "20231021-git"; - asds = [ "feeder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/feeder/2023-10-21/feeder-20231021-git.tgz"; - sha256 = "00j3s98lbh6h2p007s7x48rw0ckd3c1apfwb28y89jxnwqk7sng7"; - system = "feeder"; - asd = "feeder"; - }); - systems = [ "feeder" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "local-time" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - femlisp = (build-asdf-system { - pname = "femlisp"; - version = "20210411-git"; - asds = [ "femlisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "femlisp"; - asd = "femlisp"; - }); - systems = [ "femlisp" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "femlisp-basic" self) (getAttr "femlisp-dictionary" self) (getAttr "femlisp-matlisp" self) (getAttr "femlisp-parallel" self) (getAttr "flexi-streams" self) (getAttr "infix" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - femlisp-basic = (build-asdf-system { - pname = "femlisp-basic"; - version = "20210411-git"; - asds = [ "femlisp-basic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "femlisp-basic"; - asd = "femlisp-basic"; - }); - systems = [ "femlisp-basic" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - femlisp-dictionary = (build-asdf-system { - pname = "femlisp-dictionary"; - version = "20210411-git"; - asds = [ "femlisp-dictionary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "femlisp-dictionary"; - asd = "femlisp-dictionary"; - }); - systems = [ "femlisp-dictionary" ]; - lispLibs = [ (getAttr "femlisp-basic" self) (getAttr "femlisp-parallel" self) (getAttr "trees" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - femlisp-matlisp = (build-asdf-system { - pname = "femlisp-matlisp"; - version = "20210411-git"; - asds = [ "femlisp-matlisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "femlisp-matlisp"; - asd = "femlisp-matlisp"; - }); - systems = [ "femlisp-matlisp" ]; - lispLibs = [ (getAttr "femlisp-basic" self) (getAttr "femlisp-dictionary" self) (getAttr "femlisp-parallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - femlisp-parallel = (build-asdf-system { - pname = "femlisp-parallel"; - version = "20210411-git"; - asds = [ "femlisp-parallel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "femlisp-parallel"; - asd = "femlisp-parallel"; - }); - systems = [ "femlisp-parallel" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-cpu-affinity" self) (getAttr "cl-ppcre" self) (getAttr "femlisp-basic" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - femlisp-picture = (build-asdf-system { - pname = "femlisp-picture"; - version = "20210411-git"; - asds = [ "femlisp-picture" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "femlisp-picture"; - asd = "femlisp-picture"; - }); - systems = [ "femlisp-picture" ]; - lispLibs = [ (getAttr "cl-gd" self) (getAttr "femlisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ffa = (build-asdf-system { - pname = "ffa"; - version = "20101006-git"; - asds = [ "ffa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ffa/2010-10-06/ffa-20101006-git.tgz"; - sha256 = "0l7kqcjp3sn1129hpwq6zhjqc0ydx9gc53z7k13i38x3z1asap7a"; - system = "ffa"; - asd = "ffa"; - }); - systems = [ "ffa" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-utilities" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fft = (build-asdf-system { - pname = "fft"; - version = "20180711-git"; - asds = [ "fft" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fft/2018-07-11/fft-20180711-git.tgz"; - sha256 = "0ymnfplap2cncw49mhq7crapgxphfwsvqdgrcckpgsvw6qsymasd"; - system = "fft"; - asd = "fft"; - }); - systems = [ "fft" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fftpack5 = (build-asdf-system { - pname = "fftpack5"; - version = "20231021-git"; - asds = [ "fftpack5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "fftpack5"; - asd = "fftpack5"; - }); - systems = [ "fftpack5" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fftpack5-double = (build-asdf-system { - pname = "fftpack5-double"; - version = "20231021-git"; - asds = [ "fftpack5-double" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "fftpack5-double"; - asd = "fftpack5-double"; - }); - systems = [ "fftpack5-double" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fiasco = (build-asdf-system { - pname = "fiasco"; - version = "20200610-git"; - asds = [ "fiasco" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fiasco/2020-06-10/fiasco-20200610-git.tgz"; - sha256 = "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw"; - system = "fiasco"; - asd = "fiasco"; - }); - systems = [ "fiasco" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - fiasco-self-tests = (build-asdf-system { - pname = "fiasco-self-tests"; - version = "20200610-git"; - asds = [ "fiasco-self-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fiasco/2020-06-10/fiasco-20200610-git.tgz"; - sha256 = "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw"; - system = "fiasco-self-tests"; - asd = "fiasco"; - }); - systems = [ "fiasco-self-tests" ]; - lispLibs = [ (getAttr "fiasco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-attributes = (build-asdf-system { - pname = "file-attributes"; - version = "20241012-git"; - asds = [ "file-attributes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-attributes/2024-10-12/file-attributes-20241012-git.tgz"; - sha256 = "14jimsmwcp8bygm2f0fjmjv0ncc5yxl7pvh04x0kw6gs1mc7rc9x"; - system = "file-attributes"; - asd = "file-attributes"; - }); - systems = [ "file-attributes" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - file-finder = (build-asdf-system { - pname = "file-finder"; - version = "20241012-git"; - asds = [ "file-finder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-finder/2024-10-12/file-finder-20241012-git.tgz"; - sha256 = "11cjyyngvydcq2sbgsqkxd9060a0cb3ndqrqr318djndf30ckmqx"; - system = "file-finder"; - asd = "file-finder"; - }); - systems = [ "file-finder" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "file-attributes" self) (getAttr "local-time" self) (getAttr "named-readtables" self) (getAttr "serapeum" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-local-variable = (build-asdf-system { - pname = "file-local-variable"; - version = "20160318-git"; - asds = [ "file-local-variable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-local-variable/2016-03-18/file-local-variable-20160318-git.tgz"; - sha256 = "1jsjd0g41mg76wlqjxliyrfz8fk7ihi06nq2zizmk9np0pmwsxl9"; - system = "file-local-variable"; - asd = "file-local-variable"; - }); - systems = [ "file-local-variable" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-local-variable_dot_test = (build-asdf-system { - pname = "file-local-variable.test"; - version = "20160318-git"; - asds = [ "file-local-variable.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-local-variable/2016-03-18/file-local-variable-20160318-git.tgz"; - sha256 = "1jsjd0g41mg76wlqjxliyrfz8fk7ihi06nq2zizmk9np0pmwsxl9"; - system = "file-local-variable.test"; - asd = "file-local-variable.test"; - }); - systems = [ "file-local-variable.test" ]; - lispLibs = [ (getAttr "file-local-variable" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-lock = (build-asdf-system { - pname = "file-lock"; - version = "20231021-git"; - asds = [ "file-lock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-lock/2023-10-21/file-lock-20231021-git.tgz"; - sha256 = "0n2mn931h83dh2diifsghc78agsz4savlfv5dr9pfmpk16vkwi5b"; - system = "file-lock"; - asd = "file-lock"; - }); - systems = [ "file-lock" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "easy-macros" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-notify = (build-asdf-system { - pname = "file-notify"; - version = "20241012-git"; - asds = [ "file-notify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-notify/2024-10-12/file-notify-20241012-git.tgz"; - sha256 = "1zxn0smgahbxvy8v2bwmff3262msqhqqc5qpmh4ffinx6azln1hq"; - system = "file-notify"; - asd = "file-notify"; - }); - systems = [ "file-notify" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-select = (build-asdf-system { - pname = "file-select"; - version = "20241012-git"; - asds = [ "file-select" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-select/2024-10-12/file-select-20241012-git.tgz"; - sha256 = "0vp7qfqymlw21yrlfack799xjwyh23dyxnbc5ix4fnylpi1lxjbn"; - system = "file-select"; - asd = "file-select"; - }); - systems = [ "file-select" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "float-features" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - file-types = (build-asdf-system { - pname = "file-types"; - version = "20160929-git"; - asds = [ "file-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/file-types/2016-09-29/file-types-20160929-git.tgz"; - sha256 = "09l67gzjwx7kx237grm709dsj9rkmmm8s3ya6irmcw8nh587inbs"; - system = "file-types"; - asd = "file-types"; - }); - systems = [ "file-types" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - filesystem-utils = (build-asdf-system { - pname = "filesystem-utils"; - version = "20241012-git"; - asds = [ "filesystem-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/filesystem-utils/2024-10-12/filesystem-utils-20241012-git.tgz"; - sha256 = "0h1xqpc11iachb9yg1d2xrzp1df1qadr1call904cjf45xadn62r"; - system = "filesystem-utils"; - asd = "filesystem-utils"; - }); - systems = [ "filesystem-utils" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "pathname-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - filesystem-utils-test = (build-asdf-system { - pname = "filesystem-utils-test"; - version = "20241012-git"; - asds = [ "filesystem-utils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/filesystem-utils/2024-10-12/filesystem-utils-20241012-git.tgz"; - sha256 = "0h1xqpc11iachb9yg1d2xrzp1df1qadr1call904cjf45xadn62r"; - system = "filesystem-utils-test"; - asd = "filesystem-utils-test"; - }); - systems = [ "filesystem-utils-test" ]; - lispLibs = [ (getAttr "filesystem-utils" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - filter-maker = (build-asdf-system { - pname = "filter-maker"; - version = "20221106-git"; - asds = [ "filter-maker" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/filter-maker/2022-11-06/filter-maker-20221106-git.tgz"; - sha256 = "00algyghniqsvjy5vwx39fd98nd7x4w944ahy981jlh33lzc2qmn"; - system = "filter-maker"; - asd = "filter-maker"; - }); - systems = [ "filter-maker" ]; - lispLibs = [ (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - filtered-functions = (build-asdf-system { - pname = "filtered-functions"; - version = "20160318-git"; - asds = [ "filtered-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/filtered-functions/2016-03-18/filtered-functions-20160318-git.tgz"; - sha256 = "0m13k8pl0gfll8ss83c0z3gax7zrrw2i4s26451jfbka1xr4fgy9"; - system = "filtered-functions"; - asd = "filtered-functions"; - }); - systems = [ "filtered-functions" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - find-port = (build-asdf-system { - pname = "find-port"; - version = "20230214-git"; - asds = [ "find-port" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/find-port/2023-02-14/find-port-20230214-git.tgz"; - sha256 = "1hmbkqazk6m7075gmbrwzxkysp9779xm9qxrzj7p85bwlbk5m5i7"; - system = "find-port"; - asd = "find-port"; - }); - systems = [ "find-port" ]; - lispLibs = [ (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - find-port-test = (build-asdf-system { - pname = "find-port-test"; - version = "20230214-git"; - asds = [ "find-port-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/find-port/2023-02-14/find-port-20230214-git.tgz"; - sha256 = "1hmbkqazk6m7075gmbrwzxkysp9779xm9qxrzj7p85bwlbk5m5i7"; - system = "find-port-test"; - asd = "find-port-test"; - }); - systems = [ "find-port-test" ]; - lispLibs = [ (getAttr "find-port" self) (getAttr "fiveam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - finite-state-machine = (build-asdf-system { - pname = "finite-state-machine"; - version = "20200218-git"; - asds = [ "finite-state-machine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-simple-fsm/2020-02-18/cl-simple-fsm-20200218-git.tgz"; - sha256 = "1w07df7kakjq3r1v5c4gnavp08ngpn2ni85cggnnsqzc27hly07b"; - system = "finite-state-machine"; - asd = "finite-state-machine"; - }); - systems = [ "finite-state-machine" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - firephp = (build-asdf-system { - pname = "firephp"; - version = "20160531-git"; - asds = [ "firephp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/firephp/2016-05-31/firephp-20160531-git.tgz"; - sha256 = "1j98z73c21xcjp4f8qvmv37y9zlsnwxx88nnxc3r1ngvxv23dlgh"; - system = "firephp"; - asd = "firephp"; - }); - systems = [ "firephp" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - firephp-tests = (build-asdf-system { - pname = "firephp-tests"; - version = "20160531-git"; - asds = [ "firephp-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/firephp/2016-05-31/firephp-20160531-git.tgz"; - sha256 = "1j98z73c21xcjp4f8qvmv37y9zlsnwxx88nnxc3r1ngvxv23dlgh"; - system = "firephp-tests"; - asd = "firephp-tests"; - }); - systems = [ "firephp-tests" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "firephp" self) (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - first-time-value = (build-asdf-system { - pname = "first-time-value"; - version = "1.0.1"; - asds = [ "first-time-value" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/first-time-value/2018-12-10/first-time-value-1.0.1.tgz"; - sha256 = "155mqhnw1307b18a8bv8jhqp20qv83b409mlr61m45nq3sivxxp2"; - system = "first-time-value"; - asd = "first-time-value"; - }); - systems = [ "first-time-value" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - first-time-value__tests = (build-asdf-system { - pname = "first-time-value_tests"; - version = "1.0.1"; - asds = [ "first-time-value_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/first-time-value/2018-12-10/first-time-value-1.0.1.tgz"; - sha256 = "155mqhnw1307b18a8bv8jhqp20qv83b409mlr61m45nq3sivxxp2"; - system = "first-time-value_tests"; - asd = "first-time-value_tests"; - }); - systems = [ "first-time-value_tests" ]; - lispLibs = [ (getAttr "first-time-value" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fishpack = (build-asdf-system { - pname = "fishpack"; - version = "20231021-git"; - asds = [ "fishpack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "fishpack"; - asd = "fishpack"; - }); - systems = [ "fishpack" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fiveam = (build-asdf-system { - pname = "fiveam"; - version = "20241012-git"; - asds = [ "fiveam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fiveam/2024-10-12/fiveam-20241012-git.tgz"; - sha256 = "066amfjqhagzhb602y911wbw7jh9cv1fb7bfn2ppjzm5kf7hqbnh"; - system = "fiveam"; - asd = "fiveam"; - }); - systems = [ "fiveam" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "net_dot_didierverna_dot_asdf-flv" self) (getAttr "trivial-backtrace" self) ]; - meta = {}; - }); - fiveam-asdf = (build-asdf-system { - pname = "fiveam-asdf"; - version = "20221106-git"; - asds = [ "fiveam-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fiveam-asdf/2022-11-06/fiveam-asdf-20221106-git.tgz"; - sha256 = "18dhyznwl56lpp289dwg9xm9qwwv5062yawfaj6h1b2jwybqfrq7"; - system = "fiveam-asdf"; - asd = "fiveam-asdf"; - }); - systems = [ "fiveam-asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fiveam-matchers = (build-asdf-system { - pname = "fiveam-matchers"; - version = "20241012-git"; - asds = [ "fiveam-matchers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fiveam-matchers/2024-10-12/fiveam-matchers-20241012-git.tgz"; - sha256 = "1kwichcxjmqdi8whx4daggp4fdp53w17jj1rqlph9ixgr4s9kvqv"; - system = "fiveam-matchers"; - asd = "fiveam-matchers"; - }); - systems = [ "fiveam-matchers" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "fiveam" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fixed = (build-asdf-system { - pname = "fixed"; - version = "20170124-git"; - asds = [ "fixed" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fixed/2017-01-24/fixed-20170124-git.tgz"; - sha256 = "0bx8802fmlml5k5xhcm4g5r6c7ambij4gb0b37xljjn3wxgs83dc"; - system = "fixed"; - asd = "fixed"; - }); - systems = [ "fixed" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flac = (build-asdf-system { - pname = "flac"; - version = "20151218-git"; - asds = [ "flac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "flac"; - asd = "flac"; - }); - systems = [ "flac" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flare = (build-asdf-system { - pname = "flare"; - version = "20231021-git"; - asds = [ "flare" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flare/2023-10-21/flare-20231021-git.tgz"; - sha256 = "1ws357819rr9lzh5b2hmqid6vrq8zj46a5dzwqa0fdmxxbam75zm"; - system = "flare"; - asd = "flare"; - }); - systems = [ "flare" ]; - lispLibs = [ (getAttr "_3d-vectors" self) (getAttr "array-utils" self) (getAttr "documentation-utils" self) (getAttr "for" self) (getAttr "lambda-fiddle" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flare-viewer = (build-asdf-system { - pname = "flare-viewer"; - version = "20231021-git"; - asds = [ "flare-viewer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flare/2023-10-21/flare-20231021-git.tgz"; - sha256 = "1ws357819rr9lzh5b2hmqid6vrq8zj46a5dzwqa0fdmxxbam75zm"; - system = "flare-viewer"; - asd = "flare-viewer"; - }); - systems = [ "flare-viewer" ]; - lispLibs = [ (getAttr "cl-opengl" self) (getAttr "flare" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) (getAttr "qtopengl" self) (getAttr "verbose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flat-tree = (build-asdf-system { - pname = "flat-tree"; - version = "20190813-git"; - asds = [ "flat-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-flat-tree/2019-08-13/cl-flat-tree-20190813-git.tgz"; - sha256 = "05nw1j0rr0vgz6shkjv87yn2mp0b4s7v5gxxcqcn1qi7fgbn55z7"; - system = "flat-tree"; - asd = "flat-tree"; - }); - systems = [ "flat-tree" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flexi-streams = (build-asdf-system { - pname = "flexi-streams"; - version = "20241012-git"; - asds = [ "flexi-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flexi-streams/2024-10-12/flexi-streams-20241012-git.tgz"; - sha256 = "1bk224ryfiwsmnmq2gdfv9gld85z2rvnlx7fxcl2k122vc344akh"; - system = "flexi-streams"; - asd = "flexi-streams"; - }); - systems = [ "flexi-streams" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - flexi-streams-test = (build-asdf-system { - pname = "flexi-streams-test"; - version = "20241012-git"; - asds = [ "flexi-streams-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flexi-streams/2024-10-12/flexi-streams-20241012-git.tgz"; - sha256 = "1bk224ryfiwsmnmq2gdfv9gld85z2rvnlx7fxcl2k122vc344akh"; - system = "flexi-streams-test"; - asd = "flexi-streams-test"; - }); - systems = [ "flexi-streams-test" ]; - lispLibs = [ (getAttr "flexi-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flexichain = (build-asdf-system { - pname = "flexichain"; - version = "20201220-git"; - asds = [ "flexichain" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flexichain/2020-12-20/flexichain-20201220-git.tgz"; - sha256 = "1ivkffnkc1iqmpl1p1rgyfbbgjmjcid4iszvdql1jjz324lq94g6"; - system = "flexichain"; - asd = "flexichain"; - }); - systems = [ "flexichain" ]; - lispLibs = [ (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flexichain-doc = (build-asdf-system { - pname = "flexichain-doc"; - version = "20201220-git"; - asds = [ "flexichain-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flexichain/2020-12-20/flexichain-20201220-git.tgz"; - sha256 = "1ivkffnkc1iqmpl1p1rgyfbbgjmjcid4iszvdql1jjz324lq94g6"; - system = "flexichain-doc"; - asd = "flexichain-doc"; - }); - systems = [ "flexichain-doc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - float-features = (build-asdf-system { - pname = "float-features"; - version = "20241012-git"; - asds = [ "float-features" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/float-features/2024-10-12/float-features-20241012-git.tgz"; - sha256 = "1vxnvaprki5rk3phj20m35pva9dpgsixm8d9rnsixq1qgrv3djjf"; - system = "float-features"; - asd = "float-features"; - }); - systems = [ "float-features" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - float-features-tests = (build-asdf-system { - pname = "float-features-tests"; - version = "20241012-git"; - asds = [ "float-features-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/float-features/2024-10-12/float-features-20241012-git.tgz"; - sha256 = "1vxnvaprki5rk3phj20m35pva9dpgsixm8d9rnsixq1qgrv3djjf"; - system = "float-features-tests"; - asd = "float-features-tests"; - }); - systems = [ "float-features-tests" ]; - lispLibs = [ (getAttr "float-features" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - floating-point = (build-asdf-system { - pname = "floating-point"; - version = "20141106-git"; - asds = [ "floating-point" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/floating-point/2014-11-06/floating-point-20141106-git.tgz"; - sha256 = "1bqslmykg04innaqlp369pyjh61isj8xgv2h6pm95gsrxnf6wf7s"; - system = "floating-point"; - asd = "floating-point"; - }); - systems = [ "floating-point" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - floating-point-contractions = (build-asdf-system { - pname = "floating-point-contractions"; - version = "20201220-git"; - asds = [ "floating-point-contractions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/floating-point-contractions/2020-12-20/floating-point-contractions-20201220-git.tgz"; - sha256 = "0mr8bnc7hn0ii0cmlfnlwc14zkgbgdf099x5crrf9cp9wda4p082"; - system = "floating-point-contractions"; - asd = "floating-point-contractions"; - }); - systems = [ "floating-point-contractions" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - floating-point-test = (build-asdf-system { - pname = "floating-point-test"; - version = "20141106-git"; - asds = [ "floating-point-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/floating-point/2014-11-06/floating-point-20141106-git.tgz"; - sha256 = "1bqslmykg04innaqlp369pyjh61isj8xgv2h6pm95gsrxnf6wf7s"; - system = "floating-point-test"; - asd = "floating-point-test"; - }); - systems = [ "floating-point-test" ]; - lispLibs = [ (getAttr "floating-point" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flow = (build-asdf-system { - pname = "flow"; - version = "20241012-git"; - asds = [ "flow" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flow/2024-10-12/flow-20241012-git.tgz"; - sha256 = "1623kkyygwkqpgrbvv1zqj13mjkycqyh88nwcjsxd0clrlhlyfz3"; - system = "flow"; - asd = "flow"; - }); - systems = [ "flow" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "documentation-utils" self) ]; - meta = {}; - }); - flow-visualizer = (build-asdf-system { - pname = "flow-visualizer"; - version = "20241012-git"; - asds = [ "flow-visualizer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flow/2024-10-12/flow-20241012-git.tgz"; - sha256 = "1623kkyygwkqpgrbvv1zqj13mjkycqyh88nwcjsxd0clrlhlyfz3"; - system = "flow-visualizer"; - asd = "flow-visualizer"; - }); - systems = [ "flow-visualizer" ]; - lispLibs = [ (getAttr "flow" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flute = (build-asdf-system { - pname = "flute"; - version = "20180831-git"; - asds = [ "flute" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flute/2018-08-31/flute-20180831-git.tgz"; - sha256 = "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f"; - system = "flute"; - asd = "flute"; - }); - systems = [ "flute" ]; - lispLibs = [ (getAttr "assoc-utils" self) (getAttr "let-over-lambda" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flute-test = (build-asdf-system { - pname = "flute-test"; - version = "20180831-git"; - asds = [ "flute-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/flute/2018-08-31/flute-20180831-git.tgz"; - sha256 = "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f"; - system = "flute-test"; - asd = "flute-test"; - }); - systems = [ "flute-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "flute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - flx = (build-asdf-system { - pname = "flx"; - version = "20241012-git"; - asds = [ "flx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-flx/2024-10-12/cl-flx-20241012-git.tgz"; - sha256 = "02p8qmc6wy3kf6w3rpgjvyg3jb699i5x9zk2f1p2y9h3m86d7hsw"; - system = "flx"; - asd = "flx"; - }); - systems = [ "flx" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fmarshal = (build-asdf-system { - pname = "fmarshal"; - version = "20130720-git"; - asds = [ "fmarshal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/marshal/2013-07-20/marshal-20130720-git.tgz"; - sha256 = "1c0hcf7i9kzgbmayhmcjg0kv5966yqlimvj67gl4mzvwhbdkc2nf"; - system = "fmarshal"; - asd = "fmarshal"; - }); - systems = [ "fmarshal" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fmarshal-test = (build-asdf-system { - pname = "fmarshal-test"; - version = "20130720-git"; - asds = [ "fmarshal-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/marshal/2013-07-20/marshal-20130720-git.tgz"; - sha256 = "1c0hcf7i9kzgbmayhmcjg0kv5966yqlimvj67gl4mzvwhbdkc2nf"; - system = "fmarshal-test"; - asd = "fmarshal-test"; - }); - systems = [ "fmarshal-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "fmarshal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fmcs = (build-asdf-system { - pname = "fmcs"; - version = "20231021-git"; - asds = [ "fmcs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fmcs/2023-10-21/fmcs-20231021-git.tgz"; - sha256 = "1zp73i68f5sl93z10l2f94nylbkaj601ani6yg3bg7iqhs543651"; - system = "fmcs"; - asd = "fmcs"; - }); - systems = [ "fmcs" ]; - lispLibs = [ (getAttr "fare-quasiquote-extras" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fmt = (build-asdf-system { - pname = "fmt"; - version = "20220331-git"; - asds = [ "fmt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fmt/2022-03-31/fmt-20220331-git.tgz"; - sha256 = "078y5yig5fw0jcsjjabaq7dlyxsd10w5k80ywx6gbm0j88al3fzp"; - system = "fmt"; - asd = "fmt"; - }); - systems = [ "fmt" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fmt-test = (build-asdf-system { - pname = "fmt-test"; - version = "20220331-git"; - asds = [ "fmt-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fmt/2022-03-31/fmt-20220331-git.tgz"; - sha256 = "078y5yig5fw0jcsjjabaq7dlyxsd10w5k80ywx6gbm0j88al3fzp"; - system = "fmt-test"; - asd = "fmt-test"; - }); - systems = [ "fmt-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "fmt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fmt-time = (build-asdf-system { - pname = "fmt-time"; - version = "20220331-git"; - asds = [ "fmt-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fmt/2022-03-31/fmt-20220331-git.tgz"; - sha256 = "078y5yig5fw0jcsjjabaq7dlyxsd10w5k80ywx6gbm0j88al3fzp"; - system = "fmt-time"; - asd = "fmt-time"; - }); - systems = [ "fmt-time" ]; - lispLibs = [ (getAttr "fmt" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fn = (build-asdf-system { - pname = "fn"; - version = "20241012-git"; - asds = [ "fn" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fn/2024-10-12/fn-20241012-git.tgz"; - sha256 = "08ydmfly5jaisfj8pkksq6npz992zlz4ni1yqlrq5yigwx41xaz0"; - system = "fn"; - asd = "fn"; - }); - systems = [ "fn" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = {}; - }); - fof = (build-asdf-system { - pname = "fof"; - version = "20211230-git"; - asds = [ "fof" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fof/2021-12-30/fof-20211230-git.tgz"; - sha256 = "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6"; - system = "fof"; - asd = "fof"; - }); - systems = [ "fof" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "local-time" self) (getAttr "magicffi" self) (getAttr "named-readtables" self) (getAttr "osicat" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "trivia" self) (getAttr "trivial-package-local-nicknames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio = (build-asdf-system { - pname = "folio"; - version = "20130128-git"; - asds = [ "folio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; - sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; - system = "folio"; - asd = "folio"; - }); - systems = [ "folio" ]; - lispLibs = [ (getAttr "folio_dot_as" self) (getAttr "folio_dot_boxes" self) (getAttr "folio_dot_collections" self) (getAttr "folio_dot_functions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio_dot_as = (build-asdf-system { - pname = "folio.as"; - version = "20130128-git"; - asds = [ "folio.as" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; - sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; - system = "folio.as"; - asd = "folio.as"; - }); - systems = [ "folio.as" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio_dot_boxes = (build-asdf-system { - pname = "folio.boxes"; - version = "20130128-git"; - asds = [ "folio.boxes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; - sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; - system = "folio.boxes"; - asd = "folio.boxes"; - }); - systems = [ "folio.boxes" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio_dot_collections = (build-asdf-system { - pname = "folio.collections"; - version = "20130128-git"; - asds = [ "folio.collections" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; - sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; - system = "folio.collections"; - asd = "folio.collections"; - }); - systems = [ "folio.collections" ]; - lispLibs = [ (getAttr "folio_dot_as" self) (getAttr "folio_dot_functions" self) (getAttr "fset" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio_dot_functions = (build-asdf-system { - pname = "folio.functions"; - version = "20130128-git"; - asds = [ "folio.functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; - sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; - system = "folio.functions"; - asd = "folio.functions"; - }); - systems = [ "folio.functions" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2 = (build-asdf-system { - pname = "folio2"; - version = "20191007-git"; - asds = [ "folio2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2"; - asd = "folio2"; - }); - systems = [ "folio2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "folio2-as" self) (getAttr "folio2-as-syntax" self) (getAttr "folio2-boxes" self) (getAttr "folio2-functions" self) (getAttr "folio2-functions-syntax" self) (getAttr "folio2-make" self) (getAttr "folio2-maps" self) (getAttr "folio2-maps-syntax" self) (getAttr "folio2-pairs" self) (getAttr "folio2-sequences" self) (getAttr "folio2-sequences-syntax" self) (getAttr "folio2-series" self) (getAttr "folio2-taps" self) (getAttr "fset" self) (getAttr "series" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-as = (build-asdf-system { - pname = "folio2-as"; - version = "20191007-git"; - asds = [ "folio2-as" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-as"; - asd = "folio2-as"; - }); - systems = [ "folio2-as" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-as-syntax = (build-asdf-system { - pname = "folio2-as-syntax"; - version = "20191007-git"; - asds = [ "folio2-as-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-as-syntax"; - asd = "folio2-as-syntax"; - }); - systems = [ "folio2-as-syntax" ]; - lispLibs = [ (getAttr "folio2-as" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-as-tests = (build-asdf-system { - pname = "folio2-as-tests"; - version = "20191007-git"; - asds = [ "folio2-as-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-as-tests"; - asd = "folio2-as-tests"; - }); - systems = [ "folio2-as-tests" ]; - lispLibs = [ (getAttr "folio2-as" self) (getAttr "folio2-as-syntax" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-boxes = (build-asdf-system { - pname = "folio2-boxes"; - version = "20191007-git"; - asds = [ "folio2-boxes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-boxes"; - asd = "folio2-boxes"; - }); - systems = [ "folio2-boxes" ]; - lispLibs = [ (getAttr "folio2-as" self) (getAttr "folio2-make" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-boxes-tests = (build-asdf-system { - pname = "folio2-boxes-tests"; - version = "20191007-git"; - asds = [ "folio2-boxes-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-boxes-tests"; - asd = "folio2-boxes-tests"; - }); - systems = [ "folio2-boxes-tests" ]; - lispLibs = [ (getAttr "folio2-boxes" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-functions = (build-asdf-system { - pname = "folio2-functions"; - version = "20191007-git"; - asds = [ "folio2-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-functions"; - asd = "folio2-functions"; - }); - systems = [ "folio2-functions" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "folio2-as" self) (getAttr "folio2-make" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-functions-syntax = (build-asdf-system { - pname = "folio2-functions-syntax"; - version = "20191007-git"; - asds = [ "folio2-functions-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-functions-syntax"; - asd = "folio2-functions-syntax"; - }); - systems = [ "folio2-functions-syntax" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "folio2-functions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-functions-tests = (build-asdf-system { - pname = "folio2-functions-tests"; - version = "20191007-git"; - asds = [ "folio2-functions-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-functions-tests"; - asd = "folio2-functions-tests"; - }); - systems = [ "folio2-functions-tests" ]; - lispLibs = [ (getAttr "folio2-functions" self) (getAttr "folio2-functions-syntax" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-make = (build-asdf-system { - pname = "folio2-make"; - version = "20191007-git"; - asds = [ "folio2-make" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-make"; - asd = "folio2-make"; - }); - systems = [ "folio2-make" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-make-tests = (build-asdf-system { - pname = "folio2-make-tests"; - version = "20191007-git"; - asds = [ "folio2-make-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-make-tests"; - asd = "folio2-make-tests"; - }); - systems = [ "folio2-make-tests" ]; - lispLibs = [ (getAttr "folio2-make" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-maps = (build-asdf-system { - pname = "folio2-maps"; - version = "20191007-git"; - asds = [ "folio2-maps" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-maps"; - asd = "folio2-maps"; - }); - systems = [ "folio2-maps" ]; - lispLibs = [ (getAttr "folio2-as" self) (getAttr "folio2-make" self) (getAttr "fset" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-maps-syntax = (build-asdf-system { - pname = "folio2-maps-syntax"; - version = "20191007-git"; - asds = [ "folio2-maps-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-maps-syntax"; - asd = "folio2-maps-syntax"; - }); - systems = [ "folio2-maps-syntax" ]; - lispLibs = [ (getAttr "folio2-maps" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-maps-tests = (build-asdf-system { - pname = "folio2-maps-tests"; - version = "20191007-git"; - asds = [ "folio2-maps-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-maps-tests"; - asd = "folio2-maps-tests"; - }); - systems = [ "folio2-maps-tests" ]; - lispLibs = [ (getAttr "folio2-maps" self) (getAttr "folio2-maps-syntax" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-pairs = (build-asdf-system { - pname = "folio2-pairs"; - version = "20191007-git"; - asds = [ "folio2-pairs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-pairs"; - asd = "folio2-pairs"; - }); - systems = [ "folio2-pairs" ]; - lispLibs = [ (getAttr "folio2-as" self) (getAttr "folio2-make" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-pairs-tests = (build-asdf-system { - pname = "folio2-pairs-tests"; - version = "20191007-git"; - asds = [ "folio2-pairs-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-pairs-tests"; - asd = "folio2-pairs-tests"; - }); - systems = [ "folio2-pairs-tests" ]; - lispLibs = [ (getAttr "folio2-pairs" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-sequences = (build-asdf-system { - pname = "folio2-sequences"; - version = "20191007-git"; - asds = [ "folio2-sequences" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-sequences"; - asd = "folio2-sequences"; - }); - systems = [ "folio2-sequences" ]; - lispLibs = [ (getAttr "folio2-as" self) (getAttr "folio2-make" self) (getAttr "folio2-pairs" self) (getAttr "fset" self) (getAttr "series" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-sequences-syntax = (build-asdf-system { - pname = "folio2-sequences-syntax"; - version = "20191007-git"; - asds = [ "folio2-sequences-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-sequences-syntax"; - asd = "folio2-sequences-syntax"; - }); - systems = [ "folio2-sequences-syntax" ]; - lispLibs = [ (getAttr "folio2-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-sequences-tests = (build-asdf-system { - pname = "folio2-sequences-tests"; - version = "20191007-git"; - asds = [ "folio2-sequences-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-sequences-tests"; - asd = "folio2-sequences-tests"; - }); - systems = [ "folio2-sequences-tests" ]; - lispLibs = [ (getAttr "folio2-sequences" self) (getAttr "folio2-sequences-syntax" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-series = (build-asdf-system { - pname = "folio2-series"; - version = "20191007-git"; - asds = [ "folio2-series" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-series"; - asd = "folio2-series"; - }); - systems = [ "folio2-series" ]; - lispLibs = [ (getAttr "folio2-as" self) (getAttr "folio2-make" self) (getAttr "folio2-pairs" self) (getAttr "folio2-sequences" self) (getAttr "fset" self) (getAttr "series" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-series-tests = (build-asdf-system { - pname = "folio2-series-tests"; - version = "20191007-git"; - asds = [ "folio2-series-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-series-tests"; - asd = "folio2-series-tests"; - }); - systems = [ "folio2-series-tests" ]; - lispLibs = [ (getAttr "folio2-series" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-taps = (build-asdf-system { - pname = "folio2-taps"; - version = "20191007-git"; - asds = [ "folio2-taps" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-taps"; - asd = "folio2-taps"; - }); - systems = [ "folio2-taps" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "folio2-as" self) (getAttr "folio2-make" self) (getAttr "folio2-maps" self) (getAttr "folio2-pairs" self) (getAttr "folio2-sequences" self) (getAttr "folio2-series" self) (getAttr "fset" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-taps-tests = (build-asdf-system { - pname = "folio2-taps-tests"; - version = "20191007-git"; - asds = [ "folio2-taps-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-taps-tests"; - asd = "folio2-taps-tests"; - }); - systems = [ "folio2-taps-tests" ]; - lispLibs = [ (getAttr "folio2-taps" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - folio2-tests = (build-asdf-system { - pname = "folio2-tests"; - version = "20191007-git"; - asds = [ "folio2-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; - sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; - system = "folio2-tests"; - asd = "folio2-tests"; - }); - systems = [ "folio2-tests" ]; - lispLibs = [ (getAttr "folio2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - font-discovery = (build-asdf-system { - pname = "font-discovery"; - version = "20231021-git"; - asds = [ "font-discovery" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/font-discovery/2023-10-21/font-discovery-20231021-git.tgz"; - sha256 = "1kx83564p1w2wka3l6g4rj7zvzi85prvs6yag2qv2a9xh80yv9rz"; - system = "font-discovery"; - asd = "font-discovery"; - }); - systems = [ "font-discovery" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - foo-wild = (build-asdf-system { - pname = "foo-wild"; - version = "20210531-git"; - asds = [ "foo-wild" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz"; - sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80"; - system = "foo-wild"; - asd = "foo-wild"; - }); - systems = [ "foo-wild" ]; - lispLibs = [ (getAttr "wild-package-inferred-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - for = (build-asdf-system { - pname = "for"; - version = "20231021-git"; - asds = [ "for" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/for/2023-10-21/for-20231021-git.tgz"; - sha256 = "07jdwqkyb3qd65mng60cs723z7p0bv2769hhalz4c0mfzn8qrn99"; - system = "for"; - asd = "for"; - }); - systems = [ "for" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "form-fiddle" self) (getAttr "lambda-fiddle" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - foreign-array = (build-asdf-system { - pname = "foreign-array"; - version = "master-df14cb8c-git"; - asds = [ "foreign-array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; - sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; - system = "foreign-array"; - asd = "foreign-array"; - }); - systems = [ "foreign-array" ]; - lispLibs = [ (getAttr "antik-base" self) (getAttr "cffi" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fork-future = (build-asdf-system { - pname = "fork-future"; - version = "20220220-git"; - asds = [ "fork-future" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "fork-future"; - asd = "fork-future"; - }); - systems = [ "fork-future" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-store" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - form-fiddle = (build-asdf-system { - pname = "form-fiddle"; - version = "20231021-git"; - asds = [ "form-fiddle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/form-fiddle/2023-10-21/form-fiddle-20231021-git.tgz"; - sha256 = "0vl28q8xa42i9gr1bch22jdha9jh8sr2hcv6d9kykj4jsqi9kwbg"; - system = "form-fiddle"; - asd = "form-fiddle"; - }); - systems = [ "form-fiddle" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = {}; - }); - format-string-builder = (build-asdf-system { - pname = "format-string-builder"; - version = "20170124-git"; - asds = [ "format-string-builder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/format-string-builder/2017-01-24/format-string-builder-20170124-git.tgz"; - sha256 = "1266w5wynfhamxdf8ms2236m202f6982fd9ph8fs98nqccq2pcac"; - system = "format-string-builder"; - asd = "format-string-builder"; - }); - systems = [ "format-string-builder" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - formlets = (build-asdf-system { - pname = "formlets"; - version = "20161204-git"; - asds = [ "formlets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/formlets/2016-12-04/formlets-20161204-git.tgz"; - sha256 = "0r2afi5lwzxfb8xylx9cs44wqhla4b50k21nzg2dxn7z8m6yspfn"; - system = "formlets"; - asd = "formlets"; - }); - systems = [ "formlets" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - formlets-test = (build-asdf-system { - pname = "formlets-test"; - version = "20161204-git"; - asds = [ "formlets-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/formlets/2016-12-04/formlets-20161204-git.tgz"; - sha256 = "0r2afi5lwzxfb8xylx9cs44wqhla4b50k21nzg2dxn7z8m6yspfn"; - system = "formlets-test"; - asd = "formlets-test"; - }); - systems = [ "formlets-test" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "drakma" self) (getAttr "formlets" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fprog = (build-asdf-system { - pname = "fprog"; - version = "20181210-git"; - asds = [ "fprog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz"; - sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"; - system = "fprog"; - asd = "fprog"; - }); - systems = [ "fprog" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fps-independent-timestep = (build-asdf-system { - pname = "fps-independent-timestep"; - version = "20200427-git"; - asds = [ "fps-independent-timestep" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "fps-independent-timestep"; - asd = "fps-independent-timestep"; - }); - systems = [ "fps-independent-timestep" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fred = (build-asdf-system { - pname = "fred"; - version = "20150923-git"; - asds = [ "fred" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fred/2015-09-23/fred-20150923-git.tgz"; - sha256 = "0qn2rd67haz4pvvv4yp2yvbvjhficv8xjm7ijg0r34gxllm6i373"; - system = "fred"; - asd = "fred"; - }); - systems = [ "fred" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - freebsd-sysctl = (build-asdf-system { - pname = "freebsd-sysctl"; - version = "20210228-git"; - asds = [ "freebsd-sysctl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/freebsd-sysctl/2021-02-28/freebsd-sysctl-20210228-git.tgz"; - sha256 = "1gzqiqz0pi273ia2q61bhr908ymbl8cll5v2h8lkicr9pff37g91"; - system = "freebsd-sysctl"; - asd = "freebsd-sysctl"; - }); - systems = [ "freebsd-sysctl" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - freesound = (build-asdf-system { - pname = "freesound"; - version = "20210411-git"; - asds = [ "freesound" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/freesound/2021-04-11/freesound-20210411-git.tgz"; - sha256 = "1nsmbz7qx9wn86860zlnw75sdgpr8qfzgqfbwxggc3zr7p83kric"; - system = "freesound"; - asd = "freesound"; - }); - systems = [ "freesound" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "trivial-open-browser" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fresnel = (build-asdf-system { - pname = "fresnel"; - version = "20230618-git"; - asds = [ "fresnel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fresnel/2023-06-18/fresnel-20230618-git.tgz"; - sha256 = "0rzi3pz1cjf8m0fmj7dg7wxbbcmxnbx75hfp9hbmrm9yqsjc4khv"; - system = "fresnel"; - asd = "fresnel"; - }); - systems = [ "fresnel" ]; - lispLibs = [ (getAttr "fare-quasiquote-extras" self) (getAttr "gt" self) (getAttr "trivial-package-local-nicknames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - froute = (build-asdf-system { - pname = "froute"; - version = "20180711-git"; - asds = [ "froute" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/froute/2018-07-11/froute-20180711-git.tgz"; - sha256 = "1q7xzgn7g5ky1d8m121r8hskcg4gqpripr791k03y7dz5vkfj14x"; - system = "froute"; - asd = "froute"; - }); - systems = [ "froute" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - frpc = (build-asdf-system { - pname = "frpc"; - version = "20151031-git"; - asds = [ "frpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; - sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; - system = "frpc"; - asd = "frpc"; - }); - systems = [ "frpc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "flexi-streams" self) (getAttr "glass" self) (getAttr "nibbles" self) (getAttr "pounds" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - frpc-des = (build-asdf-system { - pname = "frpc-des"; - version = "20151031-git"; - asds = [ "frpc-des" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; - sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; - system = "frpc-des"; - asd = "frpc"; - }); - systems = [ "frpc-des" ]; - lispLibs = [ (getAttr "frpc" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - frpc-gss = (build-asdf-system { - pname = "frpc-gss"; - version = "20151031-git"; - asds = [ "frpc-gss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; - sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; - system = "frpc-gss"; - asd = "frpc"; - }); - systems = [ "frpc-gss" ]; - lispLibs = [ (getAttr "cerberus" self) (getAttr "frpc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - frpcgen = (build-asdf-system { - pname = "frpcgen"; - version = "20151031-git"; - asds = [ "frpcgen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; - sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; - system = "frpcgen"; - asd = "frpcgen"; - }); - systems = [ "frpcgen" ]; - lispLibs = [ (getAttr "cl-lex" self) (getAttr "frpc" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - frugal-uuid = (build-asdf-system { - pname = "frugal-uuid"; - version = "20241012-git"; - asds = [ "frugal-uuid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-frugal-uuid/2024-10-12/cl-frugal-uuid-20241012-git.tgz"; - sha256 = "01hli6gh0rr6mizqp1iqfch7rd0jw6ygrskjdr5hf3r8wwwvr9hh"; - system = "frugal-uuid"; - asd = "frugal-uuid"; - }); - systems = [ "frugal-uuid" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fs-watcher = (build-asdf-system { - pname = "fs-watcher"; - version = "20171130-git"; - asds = [ "fs-watcher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fs-watcher/2017-11-30/fs-watcher-20171130-git.tgz"; - sha256 = "0fr2wb39609z4afk4w21vwnwi4g050x4gag2ykdx6hn9m65cp9db"; - system = "fs-watcher"; - asd = "fs-watcher"; - }); - systems = [ "fs-watcher" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "com_dot_gigamonkeys_dot_pathnames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fset = (build-asdf-system { - pname = "fset"; - version = "20241012-git"; - asds = [ "fset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fset/2024-10-12/fset-20241012-git.tgz"; - sha256 = "0h9j5a7vlr8g0hq99y4wgw1l1wialzs6k16nrpmd4pwiyiypzkm6"; - system = "fset"; - asd = "fset"; - }); - systems = [ "fset" ]; - lispLibs = [ (getAttr "misc-extensions" self) (getAttr "named-readtables" self) (getAttr "random-state" self) ]; - meta = {}; - }); - fsocket = (build-asdf-system { - pname = "fsocket"; - version = "20211230-git"; - asds = [ "fsocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fsocket/2021-12-30/fsocket-20211230-git.tgz"; - sha256 = "18h3s4bv3243xbp0qdywn9kmqvx8zh9cscc9f6sfyxrz6xhymw6p"; - system = "fsocket"; - asd = "fsocket"; - }); - systems = [ "fsocket" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fsvd = (build-asdf-system { - pname = "fsvd"; - version = "20131211-git"; - asds = [ "fsvd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fsvd/2013-12-11/fsvd-20131211-git.tgz"; - sha256 = "1m22g9x18ixjh5nylm56l5p67ryx9dbd3g6lyzvwk9nayjmqn7x5"; - system = "fsvd"; - asd = "fsvd"; - }); - systems = [ "fsvd" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ftp = (build-asdf-system { - pname = "ftp"; - version = "20150608-http"; - asds = [ "ftp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ftp/2015-06-08/cl-ftp-20150608-http.tgz"; - sha256 = "1m955rjpaynybzmb9q631mll764hm06lydvhra50mfjj75ynwsvw"; - system = "ftp"; - asd = "ftp"; - }); - systems = [ "ftp" ]; - lispLibs = [ (getAttr "cl-ftp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fucc-generator = (build-asdf-system { - pname = "fucc-generator"; - version = "v0.2.2"; - asds = [ "fucc-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fucc/2020-04-27/fucc-v0.2.2.tgz"; - sha256 = "10wznxw6yhkyh943xnm694innj13xdlmkx13pr8xwc6zdbdyb32k"; - system = "fucc-generator"; - asd = "fucc-generator"; - }); - systems = [ "fucc-generator" ]; - lispLibs = [ (getAttr "fucc-parser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fucc-parser = (build-asdf-system { - pname = "fucc-parser"; - version = "v0.2.2"; - asds = [ "fucc-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fucc/2020-04-27/fucc-v0.2.2.tgz"; - sha256 = "10wznxw6yhkyh943xnm694innj13xdlmkx13pr8xwc6zdbdyb32k"; - system = "fucc-parser"; - asd = "fucc-parser"; - }); - systems = [ "fucc-parser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - function-cache = (build-asdf-system { - pname = "function-cache"; - version = "20231021-git"; - asds = [ "function-cache" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/function-cache/2023-10-21/function-cache-20231021-git.tgz"; - sha256 = "1sk35fd7zw6kx9zpv18wmzmkksbn0ac4ycjzi6hqdgkbyn3l136w"; - system = "function-cache"; - asd = "function-cache"; - }); - systems = [ "function-cache" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - function-cache-clsql = (build-asdf-system { - pname = "function-cache-clsql"; - version = "20231021-git"; - asds = [ "function-cache-clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/function-cache/2023-10-21/function-cache-20231021-git.tgz"; - sha256 = "1sk35fd7zw6kx9zpv18wmzmkksbn0ac4ycjzi6hqdgkbyn3l136w"; - system = "function-cache-clsql"; - asd = "function-cache-clsql"; - }); - systems = [ "function-cache-clsql" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-helper" self) (getAttr "function-cache" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - functional-geometry = (build-asdf-system { - pname = "functional-geometry"; - version = "20241012-git"; - asds = [ "functional-geometry" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "functional-geometry"; - asd = "functional-geometry"; - }); - systems = [ "functional-geometry" ]; - lispLibs = [ (getAttr "clim-listener" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - functional-trees = (build-asdf-system { - pname = "functional-trees"; - version = "20241012-git"; - asds = [ "functional-trees" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/functional-trees/2024-10-12/functional-trees-20241012-git.tgz"; - sha256 = "02jhc2c6d7zd75cpjmwck62b3iyzsf5q2yqqpp5ymwjmnx4bnysd"; - system = "functional-trees"; - asd = "functional-trees"; - }); - systems = [ "functional-trees" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "atomics" self) (getAttr "bordeaux-threads" self) (getAttr "cl-store" self) (getAttr "closer-mop" self) (getAttr "fset" self) (getAttr "iterate" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - funds = (build-asdf-system { - pname = "funds"; - version = "20211020-git"; - asds = [ "funds" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/funds/2021-10-20/funds-20211020-git.tgz"; - sha256 = "13y1jhvnpzrs9daz6f3z67w6h2y21ggb10j3j4vnc5p3m8i7ps4p"; - system = "funds"; - asd = "funds"; - }); - systems = [ "funds" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - future = (build-asdf-system { - pname = "future"; - version = "20220220-git"; - asds = [ "future" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; - sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; - system = "future"; - asd = "future"; - }); - systems = [ "future" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fuzzy-dates = (build-asdf-system { - pname = "fuzzy-dates"; - version = "20241012-git"; - asds = [ "fuzzy-dates" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fuzzy-dates/2024-10-12/fuzzy-dates-20241012-git.tgz"; - sha256 = "1nnwb7dl772zax0ysc9v4z29kq639f3za7k34hdk9fyyqbln9dgl"; - system = "fuzzy-dates"; - asd = "fuzzy-dates"; - }); - systems = [ "fuzzy-dates" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fuzzy-match = (build-asdf-system { - pname = "fuzzy-match"; - version = "20210124-git"; - asds = [ "fuzzy-match" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fuzzy-match/2021-01-24/fuzzy-match-20210124-git.tgz"; - sha256 = "1lawndmzkl6f9sviy7ngn2s3xkc4akp8l505kvpslaz6qq0ayyqv"; - system = "fuzzy-match"; - asd = "fuzzy-match"; - }); - systems = [ "fuzzy-match" ]; - lispLibs = [ (getAttr "mk-string-metrics" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - fxml = (build-asdf-system { - pname = "fxml"; - version = "20210228-git"; - asds = [ "fxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz"; - sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm"; - system = "fxml"; - asd = "fxml"; - }); - systems = [ "fxml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "flexi-streams" self) (getAttr "named-readtables" self) (getAttr "quri" self) (getAttr "serapeum" self) (getAttr "split-sequence" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gadgets = (build-asdf-system { - pname = "gadgets"; - version = "20241012-git"; - asds = [ "gadgets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gadgets/2024-10-12/gadgets-20241012-git.tgz"; - sha256 = "1ba4gj8lh3ihbb66xiz7hc8cdg3gvi3q20w32nmsqdch956is34k"; - system = "gadgets"; - asd = "gadgets"; - }); - systems = [ "gadgets" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-hash-util" self) (getAttr "cl-utilities" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - garbage-pools = (build-asdf-system { - pname = "garbage-pools"; - version = "20210124-git"; - asds = [ "garbage-pools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/garbage-pools/2021-01-24/garbage-pools-20210124-git.tgz"; - sha256 = "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"; - system = "garbage-pools"; - asd = "garbage-pools"; - }); - systems = [ "garbage-pools" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - garbage-pools-test = (build-asdf-system { - pname = "garbage-pools-test"; - version = "20210124-git"; - asds = [ "garbage-pools-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/garbage-pools/2021-01-24/garbage-pools-20210124-git.tgz"; - sha256 = "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"; - system = "garbage-pools-test"; - asd = "garbage-pools-test"; - }); - systems = [ "garbage-pools-test" ]; - lispLibs = [ (getAttr "garbage-pools" self) (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - garten = (build-asdf-system { - pname = "garten"; - version = "20211020-git"; - asds = [ "garten" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; - sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; - system = "garten"; - asd = "garten"; - }); - systems = [ "garten" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gcm = (build-asdf-system { - pname = "gcm"; - version = "20141217-git"; - asds = [ "gcm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gcm/2014-12-17/gcm-20141217-git.tgz"; - sha256 = "1xnm1cj417d9syb634zi9w90c2191gxjrixa724s4h3hvj70y0ff"; - system = "gcm"; - asd = "gcm"; - }); - systems = [ "gcm" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "com_dot_gigamonkeys_dot_json" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geco = (build-asdf-system { - pname = "geco"; - version = "20210228-git"; - asds = [ "geco" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geco/2021-02-28/geco-20210228-git.tgz"; - sha256 = "1ncaf9ab7jz59zmga0p97blsjjb1m6db0qih57wipfhqdb5ylz17"; - system = "geco"; - asd = "geco"; - }); - systems = [ "geco" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gendl = (build-asdf-system { - pname = "gendl"; - version = "master-fe503896-git"; - asds = [ "gendl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "gendl"; - asd = "gendl"; - }); - systems = [ "gendl" ]; - lispLibs = [ (getAttr "cl-lite" self) (getAttr "geysr" self) (getAttr "gwl-graphics" self) (getAttr "robot" self) (getAttr "yadd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gendl-asdf = (build-asdf-system { - pname = "gendl-asdf"; - version = "master-fe503896-git"; - asds = [ "gendl-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "gendl-asdf"; - asd = "gendl-asdf"; - }); - systems = [ "gendl-asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - general-accumulator = (build-asdf-system { - pname = "general-accumulator"; - version = "20211209-git"; - asds = [ "general-accumulator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-general-accumulator/2021-12-09/cl-general-accumulator-20211209-git.tgz"; - sha256 = "14ybsk1ahgya67clspacqij1lvs5bzv07rdq60nhgqsbc6s56j9g"; - system = "general-accumulator"; - asd = "general-accumulator"; - }); - systems = [ "general-accumulator" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generalized-reference = (build-asdf-system { - pname = "generalized-reference"; - version = "20220707-git"; - asds = [ "generalized-reference" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generalized-reference/2022-07-07/generalized-reference-20220707-git.tgz"; - sha256 = "0q1cm52lijn4p6bjzx2yr2kwy729lcj3f6lsanbnbjw56xgp4cpb"; - system = "generalized-reference"; - asd = "generalized-reference"; - }); - systems = [ "generalized-reference" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "serapeum" self) (getAttr "series" self) (getAttr "split-sequence" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generators = (build-asdf-system { - pname = "generators"; - version = "20130615-git"; - asds = [ "generators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generators/2013-06-15/generators-20130615-git.tgz"; - sha256 = "1y8jlvv5c3av2ww33rwm2kh9sxmhfykhz235b33fbjpdxpx1r9bs"; - system = "generators"; - asd = "generators"; - }); - systems = [ "generators" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-cont" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl = (build-asdf-system { - pname = "generic-cl"; - version = "20241012-git"; - asds = [ "generic-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl"; - asd = "generic-cl"; - }); - systems = [ "generic-cl" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "generic-cl_dot_arithmetic" self) (getAttr "generic-cl_dot_collector" self) (getAttr "generic-cl_dot_comparison" self) (getAttr "generic-cl_dot_container" self) (getAttr "generic-cl_dot_iterator" self) (getAttr "generic-cl_dot_lazy-seq" self) (getAttr "generic-cl_dot_map" self) (getAttr "generic-cl_dot_math" self) (getAttr "generic-cl_dot_object" self) (getAttr "generic-cl_dot_sequence" self) (getAttr "generic-cl_dot_set" self) ]; - meta = {}; - }); - generic-cl_dot_arithmetic = (build-asdf-system { - pname = "generic-cl.arithmetic"; - version = "20241012-git"; - asds = [ "generic-cl.arithmetic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.arithmetic"; - asd = "generic-cl.arithmetic"; - }); - systems = [ "generic-cl.arithmetic" ]; - lispLibs = [ (getAttr "generic-cl_dot_comparison" self) (getAttr "generic-cl_dot_internal" self) (getAttr "static-dispatch" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_collector = (build-asdf-system { - pname = "generic-cl.collector"; - version = "20241012-git"; - asds = [ "generic-cl.collector" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.collector"; - asd = "generic-cl.collector"; - }); - systems = [ "generic-cl.collector" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "generic-cl_dot_iterator" self) (getAttr "generic-cl_dot_object" self) (getAttr "static-dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_comparison = (build-asdf-system { - pname = "generic-cl.comparison"; - version = "20241012-git"; - asds = [ "generic-cl.comparison" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.comparison"; - asd = "generic-cl.comparison"; - }); - systems = [ "generic-cl.comparison" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "generic-cl_dot_internal" self) (getAttr "static-dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_container = (build-asdf-system { - pname = "generic-cl.container"; - version = "20241012-git"; - asds = [ "generic-cl.container" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.container"; - asd = "generic-cl.container"; - }); - systems = [ "generic-cl.container" ]; - lispLibs = [ (getAttr "generic-cl_dot_object" self) (getAttr "static-dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_internal = (build-asdf-system { - pname = "generic-cl.internal"; - version = "20241012-git"; - asds = [ "generic-cl.internal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.internal"; - asd = "generic-cl.internal"; - }); - systems = [ "generic-cl.internal" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-form-types" self) (getAttr "static-dispatch" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_iterator = (build-asdf-system { - pname = "generic-cl.iterator"; - version = "20241012-git"; - asds = [ "generic-cl.iterator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.iterator"; - asd = "generic-cl.iterator"; - }); - systems = [ "generic-cl.iterator" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "cl-form-types" self) (getAttr "generic-cl_dot_container" self) (getAttr "generic-cl_dot_internal" self) (getAttr "generic-cl_dot_object" self) (getAttr "parse-declarations-1_dot_0" self) (getAttr "static-dispatch" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_lazy-seq = (build-asdf-system { - pname = "generic-cl.lazy-seq"; - version = "20241012-git"; - asds = [ "generic-cl.lazy-seq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.lazy-seq"; - asd = "generic-cl.lazy-seq"; - }); - systems = [ "generic-cl.lazy-seq" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "arrows" self) (getAttr "cl-custom-hash-table" self) (getAttr "generic-cl_dot_collector" self) (getAttr "generic-cl_dot_comparison" self) (getAttr "generic-cl_dot_container" self) (getAttr "generic-cl_dot_iterator" self) (getAttr "generic-cl_dot_map" self) (getAttr "generic-cl_dot_object" self) (getAttr "generic-cl_dot_sequence" self) (getAttr "static-dispatch" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_map = (build-asdf-system { - pname = "generic-cl.map"; - version = "20241012-git"; - asds = [ "generic-cl.map" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.map"; - asd = "generic-cl.map"; - }); - systems = [ "generic-cl.map" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "cl-custom-hash-table" self) (getAttr "generic-cl_dot_collector" self) (getAttr "generic-cl_dot_comparison" self) (getAttr "generic-cl_dot_container" self) (getAttr "generic-cl_dot_internal" self) (getAttr "generic-cl_dot_iterator" self) (getAttr "generic-cl_dot_object" self) (getAttr "static-dispatch" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_math = (build-asdf-system { - pname = "generic-cl.math"; - version = "20241012-git"; - asds = [ "generic-cl.math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.math"; - asd = "generic-cl.math"; - }); - systems = [ "generic-cl.math" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "generic-cl_dot_arithmetic" self) (getAttr "static-dispatch" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_object = (build-asdf-system { - pname = "generic-cl.object"; - version = "20241012-git"; - asds = [ "generic-cl.object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.object"; - asd = "generic-cl.object"; - }); - systems = [ "generic-cl.object" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arrows" self) (getAttr "generic-cl_dot_comparison" self) (getAttr "static-dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_sequence = (build-asdf-system { - pname = "generic-cl.sequence"; - version = "20241012-git"; - asds = [ "generic-cl.sequence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.sequence"; - asd = "generic-cl.sequence"; - }); - systems = [ "generic-cl.sequence" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "cl-custom-hash-table" self) (getAttr "cl-form-types" self) (getAttr "generic-cl_dot_collector" self) (getAttr "generic-cl_dot_comparison" self) (getAttr "generic-cl_dot_container" self) (getAttr "generic-cl_dot_internal" self) (getAttr "generic-cl_dot_iterator" self) (getAttr "generic-cl_dot_map" self) (getAttr "generic-cl_dot_object" self) (getAttr "static-dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_set = (build-asdf-system { - pname = "generic-cl.set"; - version = "20241012-git"; - asds = [ "generic-cl.set" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.set"; - asd = "generic-cl.set"; - }); - systems = [ "generic-cl.set" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "generic-cl_dot_arithmetic" self) (getAttr "generic-cl_dot_collector" self) (getAttr "generic-cl_dot_comparison" self) (getAttr "generic-cl_dot_container" self) (getAttr "generic-cl_dot_iterator" self) (getAttr "generic-cl_dot_map" self) (getAttr "generic-cl_dot_object" self) (getAttr "generic-cl_dot_sequence" self) (getAttr "static-dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-cl_dot_util = (build-asdf-system { - pname = "generic-cl.util"; - version = "20241012-git"; - asds = [ "generic-cl.util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; - sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; - system = "generic-cl.util"; - asd = "generic-cl.util"; - }); - systems = [ "generic-cl.util" ]; - lispLibs = [ (getAttr "generic-cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-comparability = (build-asdf-system { - pname = "generic-comparability"; - version = "20180131-git"; - asds = [ "generic-comparability" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-comparability/2018-01-31/generic-comparability-20180131-git.tgz"; - sha256 = "01ma0cwirxarwwmdwflnh8kmysmr2smh5kyvzhb2074ljxg8yq2p"; - system = "generic-comparability"; - asd = "generic-comparability"; - }); - systems = [ "generic-comparability" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-comparability-test = (build-asdf-system { - pname = "generic-comparability-test"; - version = "20180131-git"; - asds = [ "generic-comparability-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-comparability/2018-01-31/generic-comparability-20180131-git.tgz"; - sha256 = "01ma0cwirxarwwmdwflnh8kmysmr2smh5kyvzhb2074ljxg8yq2p"; - system = "generic-comparability-test"; - asd = "generic-comparability"; - }); - systems = [ "generic-comparability-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam" self) (getAttr "generic-comparability" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-sequences = (build-asdf-system { - pname = "generic-sequences"; - version = "20150709-git"; - asds = [ "generic-sequences" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; - sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; - system = "generic-sequences"; - asd = "generic-sequences"; - }); - systems = [ "generic-sequences" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-sequences-cont = (build-asdf-system { - pname = "generic-sequences-cont"; - version = "20150709-git"; - asds = [ "generic-sequences-cont" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; - sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; - system = "generic-sequences-cont"; - asd = "generic-sequences-cont"; - }); - systems = [ "generic-sequences-cont" ]; - lispLibs = [ (getAttr "cl-cont" self) (getAttr "generic-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-sequences-iterate = (build-asdf-system { - pname = "generic-sequences-iterate"; - version = "20150709-git"; - asds = [ "generic-sequences-iterate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; - sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; - system = "generic-sequences-iterate"; - asd = "generic-sequences-iterate"; - }); - systems = [ "generic-sequences-iterate" ]; - lispLibs = [ (getAttr "generic-sequences" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-sequences-stream = (build-asdf-system { - pname = "generic-sequences-stream"; - version = "20150709-git"; - asds = [ "generic-sequences-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; - sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; - system = "generic-sequences-stream"; - asd = "generic-sequences-stream"; - }); - systems = [ "generic-sequences-stream" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "generic-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - generic-sequences-test = (build-asdf-system { - pname = "generic-sequences-test"; - version = "20150709-git"; - asds = [ "generic-sequences-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; - sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; - system = "generic-sequences-test"; - asd = "generic-sequences-test"; - }); - systems = [ "generic-sequences-test" ]; - lispLibs = [ (getAttr "generic-sequences" self) (getAttr "generic-sequences-cont" self) (getAttr "generic-sequences-iterate" self) (getAttr "generic-sequences-stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva = (build-asdf-system { - pname = "geneva"; - version = "20161204-git"; - asds = [ "geneva" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva"; - asd = "geneva"; - }); - systems = [ "geneva" ]; - lispLibs = [ (getAttr "named-readtables" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva-cl = (build-asdf-system { - pname = "geneva-cl"; - version = "20161204-git"; - asds = [ "geneva-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva-cl"; - asd = "geneva-cl"; - }); - systems = [ "geneva-cl" ]; - lispLibs = [ (getAttr "geneva" self) (getAttr "geneva-mk2" self) (getAttr "named-readtables" self) (getAttr "split-sequence" self) (getAttr "trivial-documentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva-html = (build-asdf-system { - pname = "geneva-html"; - version = "20161204-git"; - asds = [ "geneva-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva-html"; - asd = "geneva-html"; - }); - systems = [ "geneva-html" ]; - lispLibs = [ (getAttr "file-types" self) (getAttr "geneva" self) (getAttr "macro-html" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva-latex = (build-asdf-system { - pname = "geneva-latex"; - version = "20161204-git"; - asds = [ "geneva-latex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva-latex"; - asd = "geneva-latex"; - }); - systems = [ "geneva-latex" ]; - lispLibs = [ (getAttr "geneva" self) (getAttr "geneva-tex" self) (getAttr "named-readtables" self) (getAttr "texp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva-mk2 = (build-asdf-system { - pname = "geneva-mk2"; - version = "20161204-git"; - asds = [ "geneva-mk2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva-mk2"; - asd = "geneva-mk2"; - }); - systems = [ "geneva-mk2" ]; - lispLibs = [ (getAttr "geneva" self) (getAttr "maxpc" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva-plain-text = (build-asdf-system { - pname = "geneva-plain-text"; - version = "20161204-git"; - asds = [ "geneva-plain-text" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva-plain-text"; - asd = "geneva-plain-text"; - }); - systems = [ "geneva-plain-text" ]; - lispLibs = [ (getAttr "geneva" self) (getAttr "geneva-mk2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geneva-tex = (build-asdf-system { - pname = "geneva-tex"; - version = "20161204-git"; - asds = [ "geneva-tex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "geneva-tex"; - asd = "geneva-tex"; - }); - systems = [ "geneva-tex" ]; - lispLibs = [ (getAttr "file-types" self) (getAttr "geneva" self) (getAttr "named-readtables" self) (getAttr "texp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - genhash = (build-asdf-system { - pname = "genhash"; - version = "20181210-git"; - asds = [ "genhash" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/genhash/2018-12-10/genhash-20181210-git.tgz"; - sha256 = "1jnk1fix1zydhy0kn3cvlp6dy0241x7v8ahq001nlr6v152z1cwk"; - system = "genhash"; - asd = "genhash"; - }); - systems = [ "genhash" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geodesic = (build-asdf-system { - pname = "geodesic"; - version = "20230618-git"; - asds = [ "geodesic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geodesic/2023-06-18/geodesic-20230618-git.tgz"; - sha256 = "13hvkf6r1y1yx0zqgkl8yg1fskfp7vpa9p34ar00s4ly432vbpxq"; - system = "geodesic"; - asd = "geodesic"; - }); - systems = [ "geodesic" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geom-base = (build-asdf-system { - pname = "geom-base"; - version = "master-fe503896-git"; - asds = [ "geom-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "geom-base"; - asd = "geom-base"; - }); - systems = [ "geom-base" ]; - lispLibs = [ (getAttr "base" self) (getAttr "cl-pdf" self) (getAttr "cl-typesetting" self) (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geowkt = (build-asdf-system { - pname = "geowkt"; - version = "20200610-git"; - asds = [ "geowkt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geowkt/2020-06-10/geowkt-20200610-git.tgz"; - sha256 = "02l8cb2k10j7k6fvhk9dpqmkxs6vb5w5nh3159w7drprvjqhfrjw"; - system = "geowkt"; - asd = "geowkt"; - }); - systems = [ "geowkt" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geowkt-update = (build-asdf-system { - pname = "geowkt-update"; - version = "20200610-git"; - asds = [ "geowkt-update" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geowkt/2020-06-10/geowkt-20200610-git.tgz"; - sha256 = "02l8cb2k10j7k6fvhk9dpqmkxs6vb5w5nh3159w7drprvjqhfrjw"; - system = "geowkt-update"; - asd = "geowkt-update"; - }); - systems = [ "geowkt-update" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - getopt = (build-asdf-system { - pname = "getopt"; - version = "20150923-git"; - asds = [ "getopt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/getopt/2015-09-23/getopt-20150923-git.tgz"; - sha256 = "1liwzghx2swws84xlxnq756gbass0s916a9sq5mjfnlg3scbwcs3"; - system = "getopt"; - asd = "getopt"; - }); - systems = [ "getopt" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - getopt-tests = (build-asdf-system { - pname = "getopt-tests"; - version = "20150923-git"; - asds = [ "getopt-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/getopt/2015-09-23/getopt-20150923-git.tgz"; - sha256 = "1liwzghx2swws84xlxnq756gbass0s916a9sq5mjfnlg3scbwcs3"; - system = "getopt-tests"; - asd = "getopt"; - }); - systems = [ "getopt-tests" ]; - lispLibs = [ (getAttr "getopt" self) (getAttr "ptester" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gettext = (build-asdf-system { - pname = "gettext"; - version = "20171130-git"; - asds = [ "gettext" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz"; - sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"; - system = "gettext"; - asd = "gettext"; - }); - systems = [ "gettext" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "split-sequence" self) (getAttr "yacc" self) ]; - meta = {}; - }); - gettext-example = (build-asdf-system { - pname = "gettext-example"; - version = "20171130-git"; - asds = [ "gettext-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz"; - sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"; - system = "gettext-example"; - asd = "gettext-example"; - }); - systems = [ "gettext-example" ]; - lispLibs = [ (getAttr "gettext" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gettext-tests = (build-asdf-system { - pname = "gettext-tests"; - version = "20171130-git"; - asds = [ "gettext-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz"; - sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"; - system = "gettext-tests"; - asd = "gettext-tests"; - }); - systems = [ "gettext-tests" ]; - lispLibs = [ (getAttr "gettext" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - geysr = (build-asdf-system { - pname = "geysr"; - version = "master-fe503896-git"; - asds = [ "geysr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "geysr"; - asd = "geysr"; - }); - systems = [ "geysr" ]; - lispLibs = [ (getAttr "gendl-asdf" self) (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - git-file-history = (build-asdf-system { - pname = "git-file-history"; - version = "20160825-git"; - asds = [ "git-file-history" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/git-file-history/2016-08-25/git-file-history-20160825-git.tgz"; - sha256 = "00kdawcy3mhljv04xpx5n7l2s21qdpbm8i9avjdqbxvfc5j05bq8"; - system = "git-file-history"; - asd = "git-file-history"; - }); - systems = [ "git-file-history" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "legit" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - git-file-history-test = (build-asdf-system { - pname = "git-file-history-test"; - version = "20160825-git"; - asds = [ "git-file-history-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/git-file-history/2016-08-25/git-file-history-20160825-git.tgz"; - sha256 = "00kdawcy3mhljv04xpx5n7l2s21qdpbm8i9avjdqbxvfc5j05bq8"; - system = "git-file-history-test"; - asd = "git-file-history-test"; - }); - systems = [ "git-file-history-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "git-file-history" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - github-api-cl = (build-asdf-system { - pname = "github-api-cl"; - version = "20241012-git"; - asds = [ "github-api-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/github-api-cl/2024-10-12/github-api-cl-20241012-git.tgz"; - sha256 = "04kvhap041v26axg4pzzymnibzh430yvja8c6dhic27g2639kswh"; - system = "github-api-cl"; - asd = "github-api-cl"; - }); - systems = [ "github-api-cl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi-grovel" self) (getAttr "cl-base64" self) (getAttr "clack" self) (getAttr "dexador" self) (getAttr "str" self) (getAttr "trivial-features" self) (getAttr "woo" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - github-gist-api-cl = (build-asdf-system { - pname = "github-gist-api-cl"; - version = "20241012-git"; - asds = [ "github-gist-api-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/github-api-cl/2024-10-12/github-api-cl-20241012-git.tgz"; - sha256 = "04kvhap041v26axg4pzzymnibzh430yvja8c6dhic27g2639kswh"; - system = "github-gist-api-cl"; - asd = "github-gist-api-cl"; - }); - systems = [ "github-gist-api-cl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi-grovel" self) (getAttr "cl-base64" self) (getAttr "clack" self) (getAttr "dexador" self) (getAttr "github-api-cl" self) (getAttr "str" self) (getAttr "trivial-features" self) (getAttr "woo" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glacier = (build-asdf-system { - pname = "glacier"; - version = "20230214-git"; - asds = [ "glacier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glacier/2023-02-14/glacier-20230214-git.tgz"; - sha256 = "1h66cd3bn3n8yjd922xsvv0r668cm82106nm2k3fnll67apazlwi"; - system = "glacier"; - asd = "glacier"; - }); - systems = [ "glacier" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "simple-config" self) (getAttr "str" self) (getAttr "tooter" self) (getAttr "websocket-driver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glad-blob = (build-asdf-system { - pname = "glad-blob"; - version = "stable-git"; - asds = [ "glad-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glad-blob/2020-10-16/glad-blob-stable-git.tgz"; - sha256 = "19vp7nyf4kxhczi8i2w47lvipk1i4psrxlpk4nvbdh97vc12k5a7"; - system = "glad-blob"; - asd = "glad-blob"; - }); - systems = [ "glad-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glass = (build-asdf-system { - pname = "glass"; - version = "20150709-git"; - asds = [ "glass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glass/2015-07-09/glass-20150709-git.tgz"; - sha256 = "1xwr6mj25m0z1qhp30hafbbhrfj34dfidy320x5m3lij13vbyb1p"; - system = "glass"; - asd = "glass"; - }); - systems = [ "glass" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glaw = (build-asdf-system { - pname = "glaw"; - version = "20180228-git"; - asds = [ "glaw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; - sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; - system = "glaw"; - asd = "glaw"; - }); - systems = [ "glaw" ]; - lispLibs = [ (getAttr "cl-alc" self) (getAttr "cl-openal" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glaw-examples = (build-asdf-system { - pname = "glaw-examples"; - version = "20180228-git"; - asds = [ "glaw-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; - sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; - system = "glaw-examples"; - asd = "glaw-examples"; - }); - systems = [ "glaw-examples" ]; - lispLibs = [ (getAttr "glaw" self) (getAttr "glaw-imago" self) (getAttr "glop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glaw-imago = (build-asdf-system { - pname = "glaw-imago"; - version = "20180228-git"; - asds = [ "glaw-imago" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; - sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; - system = "glaw-imago"; - asd = "glaw-imago"; - }); - systems = [ "glaw-imago" ]; - lispLibs = [ (getAttr "glaw" self) (getAttr "imago" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glaw-sdl = (build-asdf-system { - pname = "glaw-sdl"; - version = "20180228-git"; - asds = [ "glaw-sdl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; - sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; - system = "glaw-sdl"; - asd = "glaw-sdl"; - }); - systems = [ "glaw-sdl" ]; - lispLibs = [ (getAttr "glaw" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-image" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glfw = (build-asdf-system { - pname = "glfw"; - version = "20241012-git"; - asds = [ "glfw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glfw/2024-10-12/glfw-20241012-git.tgz"; - sha256 = "1n421gvrzs76v57icy0c4zhz84ymin91vbv5gkkj4i00cnggwdxv"; - system = "glfw"; - asd = "glfw"; - }); - systems = [ "glfw" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opengl" self) (getAttr "documentation-utils" self) (getAttr "float-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glfw-blob = (build-asdf-system { - pname = "glfw-blob"; - version = "stable-git"; - asds = [ "glfw-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glfw-blob/2020-10-16/glfw-blob-stable-git.tgz"; - sha256 = "0j953vqsyswipgyhc39swsgwgaqb53wvs80izraknlsp379hzabs"; - system = "glfw-blob"; - asd = "glfw-blob"; - }); - systems = [ "glfw-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glhelp = (build-asdf-system { - pname = "glhelp"; - version = "20200427-git"; - asds = [ "glhelp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "glhelp"; - asd = "glhelp"; - }); - systems = [ "glhelp" ]; - lispLibs = [ (getAttr "cl-opengl" self) (getAttr "deflazy" self) (getAttr "glsl-toolkit" self) (getAttr "split-sequence" self) (getAttr "uncommon-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glisp = (build-asdf-system { - pname = "glisp"; - version = "master-fe503896-git"; - asds = [ "glisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "glisp"; - asd = "glisp"; - }); - systems = [ "glisp" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "base" self) (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glisph = (build-asdf-system { - pname = "glisph"; - version = "20170403-git"; - asds = [ "glisph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glisph/2017-04-03/glisph-20170403-git.tgz"; - sha256 = "097d6kjk4rndpqn181k9nyr2bps4gf3shq5x2fy1swvks3pvys91"; - system = "glisph"; - asd = "glisph"; - }); - systems = [ "glisph" ]; - lispLibs = [ (getAttr "cl-annot" self) (getAttr "cl-glu" self) (getAttr "cl-opengl" self) (getAttr "cl-reexport" self) (getAttr "zpb-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glisph-test = (build-asdf-system { - pname = "glisph-test"; - version = "20170403-git"; - asds = [ "glisph-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glisph/2017-04-03/glisph-20170403-git.tgz"; - sha256 = "097d6kjk4rndpqn181k9nyr2bps4gf3shq5x2fy1swvks3pvys91"; - system = "glisph-test"; - asd = "glisph-test"; - }); - systems = [ "glisph-test" ]; - lispLibs = [ (getAttr "cl-glut" self) (getAttr "glisph" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glkit = (build-asdf-system { - pname = "glkit"; - version = "20201016-git"; - asds = [ "glkit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glkit/2020-10-16/glkit-20201016-git.tgz"; - sha256 = "1x3y5jcr1f0v9sgn3y5b7b8fhgd6vv37nz73016gdwh511idi8jn"; - system = "glkit"; - asd = "glkit"; - }); - systems = [ "glkit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-opengl" self) (getAttr "defpackage-plus" self) (getAttr "mathkit" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glkit-examples = (build-asdf-system { - pname = "glkit-examples"; - version = "20201016-git"; - asds = [ "glkit-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glkit/2020-10-16/glkit-20201016-git.tgz"; - sha256 = "1x3y5jcr1f0v9sgn3y5b7b8fhgd6vv37nz73016gdwh511idi8jn"; - system = "glkit-examples"; - asd = "glkit-examples"; - }); - systems = [ "glkit-examples" ]; - lispLibs = [ (getAttr "glkit" self) (getAttr "sdl2kit-examples" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - global-vars = (build-asdf-system { - pname = "global-vars"; - version = "20141106-git"; - asds = [ "global-vars" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz"; - sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"; - system = "global-vars"; - asd = "global-vars"; - }); - systems = [ "global-vars" ]; - lispLibs = [ ]; - meta = {}; - }); - global-vars-test = (build-asdf-system { - pname = "global-vars-test"; - version = "20141106-git"; - asds = [ "global-vars-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz"; - sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"; - system = "global-vars-test"; - asd = "global-vars-test"; - }); - systems = [ "global-vars-test" ]; - lispLibs = [ (getAttr "global-vars" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glop = (build-asdf-system { - pname = "glop"; - version = "20171019-git"; - asds = [ "glop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glop/2017-10-19/glop-20171019-git.tgz"; - sha256 = "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv"; - system = "glop"; - asd = "glop"; - }); - systems = [ "glop" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "split-sequence" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glop-test = (build-asdf-system { - pname = "glop-test"; - version = "20171019-git"; - asds = [ "glop-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glop/2017-10-19/glop-20171019-git.tgz"; - sha256 = "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv"; - system = "glop-test"; - asd = "glop-test"; - }); - systems = [ "glop-test" ]; - lispLibs = [ (getAttr "cl-glu" self) (getAttr "cl-opengl" self) (getAttr "glop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glsl-docs = (build-asdf-system { - pname = "glsl-docs"; - version = "release-quicklisp-f04476f7-git"; - asds = [ "glsl-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz"; - sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"; - system = "glsl-docs"; - asd = "glsl-docs"; - }); - systems = [ "glsl-docs" ]; - lispLibs = [ (getAttr "glsl-symbols" self) ]; - meta = {}; - }); - glsl-packing = (build-asdf-system { - pname = "glsl-packing"; - version = "20180131-git"; - asds = [ "glsl-packing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glsl-packing/2018-01-31/glsl-packing-20180131-git.tgz"; - sha256 = "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"; - system = "glsl-packing"; - asd = "glsl-packing"; - }); - systems = [ "glsl-packing" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glsl-spec = (build-asdf-system { - pname = "glsl-spec"; - version = "release-quicklisp-f04476f7-git"; - asds = [ "glsl-spec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz"; - sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"; - system = "glsl-spec"; - asd = "glsl-spec"; - }); - systems = [ "glsl-spec" ]; - lispLibs = [ ]; - meta = {}; - }); - glsl-symbols = (build-asdf-system { - pname = "glsl-symbols"; - version = "release-quicklisp-f04476f7-git"; - asds = [ "glsl-symbols" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz"; - sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"; - system = "glsl-symbols"; - asd = "glsl-symbols"; - }); - systems = [ "glsl-symbols" ]; - lispLibs = [ ]; - meta = {}; - }); - glsl-toolkit = (build-asdf-system { - pname = "glsl-toolkit"; - version = "20241012-git"; - asds = [ "glsl-toolkit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glsl-toolkit/2024-10-12/glsl-toolkit-20241012-git.tgz"; - sha256 = "0yh6y2k2v5ivzwfnvnprlcih8jn7fv3pzz2wn85fpvbfw4mg120x"; - system = "glsl-toolkit"; - asd = "glsl-toolkit"; - }); - systems = [ "glsl-toolkit" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "parse-float" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glu-tessellate = (build-asdf-system { - pname = "glu-tessellate"; - version = "20150608-git"; - asds = [ "glu-tessellate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glu-tessellate/2015-06-08/glu-tessellate-20150608-git.tgz"; - sha256 = "1iwnvk341pidxdsjb2c730k6a7nr1knd5ir0v83y6jhsf78r9krh"; - system = "glu-tessellate"; - asd = "glu-tessellate"; - }); - systems = [ "glu-tessellate" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glyphs = (build-asdf-system { - pname = "glyphs"; - version = "20180711-git"; - asds = [ "glyphs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glyphs/2018-07-11/glyphs-20180711-git.tgz"; - sha256 = "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"; - system = "glyphs"; - asd = "glyphs"; - }); - systems = [ "glyphs" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "named-readtables" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - glyphs-test = (build-asdf-system { - pname = "glyphs-test"; - version = "20180711-git"; - asds = [ "glyphs-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/glyphs/2018-07-11/glyphs-20180711-git.tgz"; - sha256 = "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"; - system = "glyphs-test"; - asd = "glyphs-test"; - }); - systems = [ "glyphs-test" ]; - lispLibs = [ (getAttr "glyphs" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - golden-utils = (build-asdf-system { - pname = "golden-utils"; - version = "20241012-git"; - asds = [ "golden-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/golden-utils/2024-10-12/golden-utils-20241012-git.tgz"; - sha256 = "09vq29wjr3x7h3fshwxg8h1psy4p73yl61cjljarpqjhsgz7lmbp"; - system = "golden-utils"; - asd = "golden-utils"; - }); - systems = [ "golden-utils" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gooptest = (build-asdf-system { - pname = "gooptest"; - version = "20200925-git"; - asds = [ "gooptest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gooptest/2020-09-25/gooptest-20200925-git.tgz"; - sha256 = "1g9q4frlc79xkmz74ybs954rc5kmfwjsn4xi64aig1fh5wjni5xs"; - system = "gooptest"; - asd = "gooptest"; - }); - systems = [ "gooptest" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cl-autowrap" self) (getAttr "cl-plus-c" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - graph = (build-asdf-system { - pname = "graph"; - version = "20220331-git"; - asds = [ "graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/graph/2022-03-31/graph-20220331-git.tgz"; - sha256 = "0m76vb0mk7rlbv9xhnix001gxik9f7vy9lspradcvzbk1rfxyyf7"; - system = "graph"; - asd = "graph"; - }); - systems = [ "graph" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "curry-compose-reader-macros" self) (getAttr "damn-fast-priority-queue" self) (getAttr "metabang-bind" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - graphs = (build-asdf-system { - pname = "graphs"; - version = "master-fe503896-git"; - asds = [ "graphs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "graphs"; - asd = "graphs"; - }); - systems = [ "graphs" ]; - lispLibs = [ (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gravatar = (build-asdf-system { - pname = "gravatar"; - version = "20110320-git"; - asds = [ "gravatar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gravatar/2011-03-20/cl-gravatar-20110320-git.tgz"; - sha256 = "1r9fq1zaywlhpxr3s3wgajhxf1kgwsgsql0a7ccfgsbwkgy2qzfs"; - system = "gravatar"; - asd = "gravatar"; - }); - systems = [ "gravatar" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-json" self) (getAttr "drakma" self) (getAttr "md5" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - graylex = (build-asdf-system { - pname = "graylex"; - version = "20110522-git"; - asds = [ "graylex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/graylex/2011-05-22/graylex-20110522-git.tgz"; - sha256 = "0s1mpz6cpx3fywznxc8kzkhbb4fpmzyjpfgc85lnxqmri8wy6xqy"; - system = "graylex"; - asd = "graylex"; - }); - systems = [ "graylex" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - graylex-m4-example = (build-asdf-system { - pname = "graylex-m4-example"; - version = "20110522-git"; - asds = [ "graylex-m4-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/graylex/2011-05-22/graylex-20110522-git.tgz"; - sha256 = "0s1mpz6cpx3fywznxc8kzkhbb4fpmzyjpfgc85lnxqmri8wy6xqy"; - system = "graylex-m4-example"; - asd = "graylex-m4-example"; - }); - systems = [ "graylex-m4-example" ]; - lispLibs = [ (getAttr "cl-heredoc" self) (getAttr "graylex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - graylog = (build-asdf-system { - pname = "graylog"; - version = "20180430-git"; - asds = [ "graylog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-graylog/2018-04-30/cl-graylog-20180430-git.tgz"; - sha256 = "1bj1v6vwz8w78h0bkjv5614gq50jdpjix88rbn3nvh81cfjvsqdg"; - system = "graylog"; - asd = "graylog"; - }); - systems = [ "graylog" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-json" self) (getAttr "local-time" self) (getAttr "salza2" self) (getAttr "trivial-backtrace" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - graylog-log5 = (build-asdf-system { - pname = "graylog-log5"; - version = "20180430-git"; - asds = [ "graylog-log5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-graylog/2018-04-30/cl-graylog-20180430-git.tgz"; - sha256 = "1bj1v6vwz8w78h0bkjv5614gq50jdpjix88rbn3nvh81cfjvsqdg"; - system = "graylog-log5"; - asd = "graylog-log5"; - }); - systems = [ "graylog-log5" ]; - lispLibs = [ (getAttr "graylog" self) (getAttr "log5" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - green-threads = (build-asdf-system { - pname = "green-threads"; - version = "20141217-git"; - asds = [ "green-threads" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/green-threads/2014-12-17/green-threads-20141217-git.tgz"; - sha256 = "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"; - system = "green-threads"; - asd = "green-threads"; - }); - systems = [ "green-threads" ]; - lispLibs = [ (getAttr "cl-async-future" self) (getAttr "cl-cont" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - grid-formation = (build-asdf-system { - pname = "grid-formation"; - version = "20220707-git"; - asds = [ "grid-formation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/grid-formation/2022-07-07/grid-formation-20220707-git.tgz"; - sha256 = "0s5picmkn7gn98k23axadbc0mlzlrbadi1ln85gpqp17k3cmd54m"; - system = "grid-formation"; - asd = "grid-formation"; - }); - systems = [ "grid-formation" ]; - lispLibs = [ (getAttr "mfiano-utils" self) (getAttr "origin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - group-by = (build-asdf-system { - pname = "group-by"; - version = "20140211-git"; - asds = [ "group-by" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/group-by/2014-02-11/group-by-20140211-git.tgz"; - sha256 = "1p1qprb57fjd6sj8ws6c7y40ab38mym65wni8xivdy89i3d63dz4"; - system = "group-by"; - asd = "group-by"; - }); - systems = [ "group-by" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - group-by-test = (build-asdf-system { - pname = "group-by-test"; - version = "20140211-git"; - asds = [ "group-by-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/group-by/2014-02-11/group-by-20140211-git.tgz"; - sha256 = "1p1qprb57fjd6sj8ws6c7y40ab38mym65wni8xivdy89i3d63dz4"; - system = "group-by-test"; - asd = "group-by"; - }); - systems = [ "group-by-test" ]; - lispLibs = [ (getAttr "group-by" self) (getAttr "lisp-unit2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - groupby = (build-asdf-system { - pname = "groupby"; - version = "20170830-git"; - asds = [ "groupby" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-groupby/2017-08-30/cl-groupby-20170830-git.tgz"; - sha256 = "1ra4zi9ifrhxxsj4svg1iqqzzsv9aqqa76pswygp7g084x6kn5km"; - system = "groupby"; - asd = "groupby"; - }); - systems = [ "groupby" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - grovel-locally = (build-asdf-system { - pname = "grovel-locally"; - version = "20180228-git"; - asds = [ "grovel-locally" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/grovel-locally/2018-02-28/grovel-locally-20180228-git.tgz"; - sha256 = "07q7zjgv3d1f35zwxpzcz020z0gcqi6m2l2szw99bsqk5hn93szl"; - system = "grovel-locally"; - asd = "grovel-locally"; - }); - systems = [ "grovel-locally" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-ppcre" self) (getAttr "with-cached-reader-conditionals" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gsll = (build-asdf-system { - pname = "gsll"; - version = "quicklisp-eeeda841-git"; - asds = [ "gsll" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gsll/2018-08-31/gsll-quicklisp-eeeda841-git.tgz"; - sha256 = "0zsjvi1f62hjgfjk4wqg13d4r53bli9nglkwnd31qrygn8pmzlhi"; - system = "gsll"; - asd = "gsll"; - }); - systems = [ "gsll" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi-grovel" self) (getAttr "cffi-libffi" self) (getAttr "foreign-array" self) (getAttr "lisp-unit" self) (getAttr "metabang-bind" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - gt = (build-asdf-system { - pname = "gt"; - version = "20241012-git"; - asds = [ "gt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-utils/2024-10-12/cl-utils-20241012-git.tgz"; - sha256 = "133alv8368k9pjkvh3vsfsk50whw7si4i2i7b8z256knpb2d35gh"; - system = "gt"; - asd = "gt"; - }); - systems = [ "gt" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "curry-compose-reader-macros" self) (getAttr "fset" self) (getAttr "functional-trees" self) (getAttr "iterate" self) (getAttr "misc-extensions" self) (getAttr "named-readtables" self) (getAttr "serapeum" self) (getAttr "split-sequence" self) (getAttr "trivia" self) (getAttr "trivia_dot_ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtirb = (build-asdf-system { - pname = "gtirb"; - version = "quicklisp-dd18337d-git"; - asds = [ "gtirb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz"; - sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1"; - system = "gtirb"; - asd = "gtirb"; - }); - systems = [ "gtirb" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "cl-intbytes" self) (getAttr "cl-interval" self) (getAttr "curry-compose-reader-macros" self) (getAttr "graph" self) (getAttr "named-readtables" self) (getAttr "proto" self) (getAttr "protobuf" self) (getAttr "trivia" self) (getAttr "trivial-package-local-nicknames" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtirb-capstone = (build-asdf-system { - pname = "gtirb-capstone"; - version = "20231021-git"; - asds = [ "gtirb-capstone" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtirb-capstone/2023-10-21/gtirb-capstone-20231021-git.tgz"; - sha256 = "1i65iay3pkc0q00inqyykjpv38jj0abz7j7dbsm6bamjvrh8n1v8"; - system = "gtirb-capstone"; - asd = "gtirb-capstone"; - }); - systems = [ "gtirb-capstone" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "capstone" self) (getAttr "graph" self) (getAttr "gt" self) (getAttr "gtirb" self) (getAttr "keystone" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtirb-functions = (build-asdf-system { - pname = "gtirb-functions"; - version = "20230618-git"; - asds = [ "gtirb-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtirb-functions/2023-06-18/gtirb-functions-20230618-git.tgz"; - sha256 = "19w18vfqrkjrsn4i4i3ppw5q80557pj0844r4zr3pbr0l8ypjcnp"; - system = "gtirb-functions"; - asd = "gtirb-functions"; - }); - systems = [ "gtirb-functions" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "graph" self) (getAttr "gt" self) (getAttr "gtirb" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtk-tagged-streams = (build-asdf-system { - pname = "gtk-tagged-streams"; - version = "quicklisp-d1c2b827-git"; - asds = [ "gtk-tagged-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtk-tagged-streams/2018-02-28/gtk-tagged-streams-quicklisp-d1c2b827-git.tgz"; - sha256 = "0ciw4ydcb8clsqb338hxpzncj2m59i6scnqlgbwkznm5i9dxvkyd"; - system = "gtk-tagged-streams"; - asd = "gtk-tagged-streams"; - }); - systems = [ "gtk-tagged-streams" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-cffi-gtk" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtwiwtg = (build-asdf-system { - pname = "gtwiwtg"; - version = "20231021-git"; - asds = [ "gtwiwtg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtwiwtg/2023-10-21/gtwiwtg-20231021-git.tgz"; - sha256 = "0pp28s2bydqcd850kyk4jjvjky692lqgld9lc9v64lb96ibxzplk"; - system = "gtwiwtg"; - asd = "gtwiwtg"; - }); - systems = [ "gtwiwtg" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtype = (build-asdf-system { - pname = "gtype"; - version = "20200610-git"; - asds = [ "gtype" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtype/2020-06-10/gtype-20200610-git.tgz"; - sha256 = "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"; - system = "gtype"; - asd = "gtype"; - }); - systems = [ "gtype" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "trivia" self) (getAttr "trivial-cltl2" self) (getAttr "trivialib_dot_type-unify" self) (getAttr "type-r" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gtype_dot_test = (build-asdf-system { - pname = "gtype.test"; - version = "20200610-git"; - asds = [ "gtype.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtype/2020-06-10/gtype-20200610-git.tgz"; - sha256 = "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"; - system = "gtype.test"; - asd = "gtype.test"; - }); - systems = [ "gtype.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "gtype" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gute = (build-asdf-system { - pname = "gute"; - version = "20221106-git"; - asds = [ "gute" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gute/2022-11-06/gute-20221106-git.tgz"; - sha256 = "1d1m4qaygvmkglwdqlnhkvwq0wrig13h97w8ansfkyig359vpzy0"; - system = "gute"; - asd = "gute"; - }); - systems = [ "gute" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-mathstats" self) (getAttr "cl-ppcre" self) (getAttr "cl-strings" self) (getAttr "conium" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gwl = (build-asdf-system { - pname = "gwl"; - version = "master-fe503896-git"; - asds = [ "gwl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "gwl"; - asd = "gwl"; - }); - systems = [ "gwl" ]; - lispLibs = [ (getAttr "cl-html-parse" self) (getAttr "cl-markdown" self) (getAttr "cl-who" self) (getAttr "glisp" self) (getAttr "yason" self) (getAttr "zaserve" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gwl-graphics = (build-asdf-system { - pname = "gwl-graphics"; - version = "master-fe503896-git"; - asds = [ "gwl-graphics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "gwl-graphics"; - asd = "gwl-graphics"; - }); - systems = [ "gwl-graphics" ]; - lispLibs = [ (getAttr "geom-base" self) (getAttr "gwl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - gzip-stream = (build-asdf-system { - pname = "gzip-stream"; - version = "0.2.8"; - asds = [ "gzip-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gzip-stream/2010-10-06/gzip-stream_0.2.8.tgz"; - sha256 = "1m2x685mk9zp8vq45r4gf6mlbzmzr79mvdxibw1fqzv7r1bqrwrs"; - system = "gzip-stream"; - asd = "gzip-stream"; - }); - systems = [ "gzip-stream" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "salza2" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hamcrest = (build-asdf-system { - pname = "hamcrest"; - version = "20241012-git"; - asds = [ "hamcrest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hamcrest/2024-10-12/cl-hamcrest-20241012-git.tgz"; - sha256 = "05l5i5cmm1yqg8x9ayffaf3a9xf742k02wkxwpkc125ih5x0ggws"; - system = "hamcrest"; - asd = "hamcrest"; - }); - systems = [ "hamcrest" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hamcrest-ci = (build-asdf-system { - pname = "hamcrest-ci"; - version = "20241012-git"; - asds = [ "hamcrest-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hamcrest/2024-10-12/cl-hamcrest-20241012-git.tgz"; - sha256 = "05l5i5cmm1yqg8x9ayffaf3a9xf742k02wkxwpkc125ih5x0ggws"; - system = "hamcrest-ci"; - asd = "hamcrest-ci"; - }); - systems = [ "hamcrest-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hamcrest-tests = (build-asdf-system { - pname = "hamcrest-tests"; - version = "20241012-git"; - asds = [ "hamcrest-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-hamcrest/2024-10-12/cl-hamcrest-20241012-git.tgz"; - sha256 = "05l5i5cmm1yqg8x9ayffaf3a9xf742k02wkxwpkc125ih5x0ggws"; - system = "hamcrest-tests"; - asd = "hamcrest-tests"; - }); - systems = [ "hamcrest-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "prove" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - harmony = (build-asdf-system { - pname = "harmony"; - version = "20241012-git"; - asds = [ "harmony" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/harmony/2024-10-12/harmony-20241012-git.tgz"; - sha256 = "0bzqwcbnpb529bdp35c4s3p4p6rsrjnsvll2bkkrwpxlwzdd3fim"; - system = "harmony"; - asd = "harmony"; - }); - systems = [ "harmony" ]; - lispLibs = [ (getAttr "atomics" self) (getAttr "bordeaux-threads" self) (getAttr "cl-mixed" self) (getAttr "cl-mixed-alsa" self) (getAttr "cl-mixed-pulse" self) (getAttr "stealth-mixin" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hash-set = (build-asdf-system { - pname = "hash-set"; - version = "20211230-git"; - asds = [ "hash-set" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hash-set/2021-12-30/hash-set-20211230-git.tgz"; - sha256 = "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na"; - system = "hash-set"; - asd = "hash-set"; - }); - systems = [ "hash-set" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hash-set-tests = (build-asdf-system { - pname = "hash-set-tests"; - version = "20211230-git"; - asds = [ "hash-set-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hash-set/2021-12-30/hash-set-20211230-git.tgz"; - sha256 = "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na"; - system = "hash-set-tests"; - asd = "hash-set-tests"; - }); - systems = [ "hash-set-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "hash-set" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hash-table-ext = (build-asdf-system { - pname = "hash-table-ext"; - version = "20211020-git"; - asds = [ "hash-table-ext" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hash-table-ext/2021-10-20/hash-table-ext-20211020-git.tgz"; - sha256 = "00pafnjy5w9yhbzzdvgg4wwb8yicjjshgzxnn0by3d9qknxc7539"; - system = "hash-table-ext"; - asd = "hash-table-ext"; - }); - systems = [ "hash-table-ext" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hash-table-ext_dot_test = (build-asdf-system { - pname = "hash-table-ext.test"; - version = "20211020-git"; - asds = [ "hash-table-ext.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hash-table-ext/2021-10-20/hash-table-ext-20211020-git.tgz"; - sha256 = "00pafnjy5w9yhbzzdvgg4wwb8yicjjshgzxnn0by3d9qknxc7539"; - system = "hash-table-ext.test"; - asd = "hash-table-ext.test"; - }); - systems = [ "hash-table-ext.test" ]; - lispLibs = [ (getAttr "hash-table-ext" self) (getAttr "jingoh" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hashtrie = (build-asdf-system { - pname = "hashtrie"; - version = "20241012-git"; - asds = [ "hashtrie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hashtrie/2024-10-12/hashtrie-20241012-git.tgz"; - sha256 = "1qn7azbl2p3hjvrb87bb06d3njsi5ksmdcv4mk80iadq06w0rn0n"; - system = "hashtrie"; - asd = "hashtrie"; - }); - systems = [ "hashtrie" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hashtrie-tests = (build-asdf-system { - pname = "hashtrie-tests"; - version = "20241012-git"; - asds = [ "hashtrie-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hashtrie/2024-10-12/hashtrie-20241012-git.tgz"; - sha256 = "1qn7azbl2p3hjvrb87bb06d3njsi5ksmdcv4mk80iadq06w0rn0n"; - system = "hashtrie-tests"; - asd = "hashtrie-tests"; - }); - systems = [ "hashtrie-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "hashtrie" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hdf5-cffi = (build-asdf-system { - pname = "hdf5-cffi"; - version = "20180228-git"; - asds = [ "hdf5-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz"; - sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"; - system = "hdf5-cffi"; - asd = "hdf5-cffi"; - }); - systems = [ "hdf5-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hdf5-cffi_dot_examples = (build-asdf-system { - pname = "hdf5-cffi.examples"; - version = "20180228-git"; - asds = [ "hdf5-cffi.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz"; - sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"; - system = "hdf5-cffi.examples"; - asd = "hdf5-cffi.examples"; - }); - systems = [ "hdf5-cffi.examples" ]; - lispLibs = [ (getAttr "hdf5-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hdf5-cffi_dot_test = (build-asdf-system { - pname = "hdf5-cffi.test"; - version = "20180228-git"; - asds = [ "hdf5-cffi.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz"; - sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"; - system = "hdf5-cffi.test"; - asd = "hdf5-cffi.test"; - }); - systems = [ "hdf5-cffi.test" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "fiveam" self) (getAttr "hdf5-cffi" self) (getAttr "hdf5-cffi_dot_examples" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - heap = (build-asdf-system { - pname = "heap"; - version = "20181018-git"; - asds = [ "heap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/heap/2018-10-18/heap-20181018-git.tgz"; - sha256 = "0jkgazjnjip7y41zd8rpy89ymh75yimk1q24qbddcisq5rzdl52k"; - system = "heap"; - asd = "heap"; - }); - systems = [ "heap" ]; - lispLibs = [ ]; - meta = {}; - }); - helambdap = (build-asdf-system { - pname = "helambdap"; - version = "20241012-git"; - asds = [ "helambdap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/helambdap/2024-10-12/helambdap-20241012-git.tgz"; - sha256 = "0z7hnphjxfr5z5h9gp5940pbbh163w3nnis2fan2wrrh0l88scn3"; - system = "helambdap"; - asd = "helambdap"; - }); - systems = [ "helambdap" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "clad" self) (getAttr "split-sequence" self) (getAttr "xhtmlambda" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hello-builder = (build-asdf-system { - pname = "hello-builder"; - version = "20241012-git"; - asds = [ "hello-builder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog/2024-10-12/clog-20241012-git.tgz"; - sha256 = "0hqpj9ji7kfqgcxdfnc7x202qzmb7zdkmjwcyhdllqs6b0ssw5lx"; - system = "hello-builder"; - asd = "hello-builder"; - }); - systems = [ "hello-builder" ]; - lispLibs = [ (getAttr "clog" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hello-clog = (build-asdf-system { - pname = "hello-clog"; - version = "20241012-git"; - asds = [ "hello-clog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clog/2024-10-12/clog-20241012-git.tgz"; - sha256 = "0hqpj9ji7kfqgcxdfnc7x202qzmb7zdkmjwcyhdllqs6b0ssw5lx"; - system = "hello-clog"; - asd = "hello-clog"; - }); - systems = [ "hello-clog" ]; - lispLibs = [ (getAttr "clog" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hemlock_dot_base = (build-asdf-system { - pname = "hemlock.base"; - version = "20231021-git"; - asds = [ "hemlock.base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hemlock/2023-10-21/hemlock-20231021-git.tgz"; - sha256 = "0c1lmznz1md7r9jbyg2n22h1svw8pvqjxyp7mvxgvqp34mmbf5ad"; - system = "hemlock.base"; - asd = "hemlock.base"; - }); - systems = [ "hemlock.base" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "command-line-arguments" self) (getAttr "conium" self) (getAttr "iolib" self) (getAttr "iterate" self) (getAttr "osicat" self) (getAttr "prepl" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hemlock_dot_clx = (build-asdf-system { - pname = "hemlock.clx"; - version = "20231021-git"; - asds = [ "hemlock.clx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hemlock/2023-10-21/hemlock-20231021-git.tgz"; - sha256 = "0c1lmznz1md7r9jbyg2n22h1svw8pvqjxyp7mvxgvqp34mmbf5ad"; - system = "hemlock.clx"; - asd = "hemlock.clx"; - }); - systems = [ "hemlock.clx" ]; - lispLibs = [ (getAttr "clx" self) (getAttr "hemlock_dot_base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hemlock_dot_tty = (build-asdf-system { - pname = "hemlock.tty"; - version = "20231021-git"; - asds = [ "hemlock.tty" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hemlock/2023-10-21/hemlock-20231021-git.tgz"; - sha256 = "0c1lmznz1md7r9jbyg2n22h1svw8pvqjxyp7mvxgvqp34mmbf5ad"; - system = "hemlock.tty"; - asd = "hemlock.tty"; - }); - systems = [ "hemlock.tty" ]; - lispLibs = [ (getAttr "hemlock_dot_base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hermetic = (build-asdf-system { - pname = "hermetic"; - version = "20191007-git"; - asds = [ "hermetic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hermetic/2019-10-07/hermetic-20191007-git.tgz"; - sha256 = "1sndxkkj45sqr13xw9kvnhj25an96q4la70ni3w468yrcbf782pi"; - system = "hermetic"; - asd = "hermetic"; - }); - systems = [ "hermetic" ]; - lispLibs = [ (getAttr "cl-pass" self) (getAttr "clack" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - herodotus = (build-asdf-system { - pname = "herodotus"; - version = "20220331-git"; - asds = [ "herodotus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/herodotus/2022-03-31/herodotus-20220331-git.tgz"; - sha256 = "085r6b8fydac2a939r80vlavs1ij5ij5li5xnl5q8qvn9dl4rr5k"; - system = "herodotus"; - asd = "herodotus"; - }); - systems = [ "herodotus" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hh-aws = (build-asdf-system { - pname = "hh-aws"; - version = "20150804-git"; - asds = [ "hh-aws" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hh-aws/2015-08-04/hh-aws-20150804-git.tgz"; - sha256 = "02kfq7krn8788iphzcxnf0da88sy30gxpj1acgy9fl2n8qc03qdp"; - system = "hh-aws"; - asd = "hh-aws"; - }); - systems = [ "hh-aws" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "drakma" self) (getAttr "ironclad" self) (getAttr "puri" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hh-aws-tests = (build-asdf-system { - pname = "hh-aws-tests"; - version = "20150804-git"; - asds = [ "hh-aws-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hh-aws/2015-08-04/hh-aws-20150804-git.tgz"; - sha256 = "02kfq7krn8788iphzcxnf0da88sy30gxpj1acgy9fl2n8qc03qdp"; - system = "hh-aws-tests"; - asd = "hh-aws"; - }); - systems = [ "hh-aws-tests" ]; - lispLibs = [ (getAttr "hh-aws" self) (getAttr "lisp-unit" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hh-redblack = (build-asdf-system { - pname = "hh-redblack"; - version = "20151031-git"; - asds = [ "hh-redblack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hh-redblack/2015-10-31/hh-redblack-20151031-git.tgz"; - sha256 = "1klr78m4g60c82dnxksb7710jjj35rnfl4gl3dx3nrx0nb04bam6"; - system = "hh-redblack"; - asd = "hh-redblack"; - }); - systems = [ "hh-redblack" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hh-redblack-tests = (build-asdf-system { - pname = "hh-redblack-tests"; - version = "20151031-git"; - asds = [ "hh-redblack-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hh-redblack/2015-10-31/hh-redblack-20151031-git.tgz"; - sha256 = "1klr78m4g60c82dnxksb7710jjj35rnfl4gl3dx3nrx0nb04bam6"; - system = "hh-redblack-tests"; - asd = "hh-redblack"; - }); - systems = [ "hh-redblack-tests" ]; - lispLibs = [ (getAttr "hh-redblack" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hh-web = (build-asdf-system { - pname = "hh-web"; - version = "20141106-git"; - asds = [ "hh-web" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hh-web/2014-11-06/hh-web-20141106-git.tgz"; - sha256 = "1i3jyifayczm9b7rvw3fafiisxvjq87xd9z0hdf957qc2albsq87"; - system = "hh-web"; - asd = "hh-web"; - }); - systems = [ "hh-web" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "local-time" self) (getAttr "log5" self) (getAttr "parenscript" self) (getAttr "trivial-backtrace" self) (getAttr "uuid" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hiccl = (build-asdf-system { - pname = "hiccl"; - version = "20241012-git"; - asds = [ "hiccl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hiccl/2024-10-12/hiccl-20241012-git.tgz"; - sha256 = "0d92q8kb8xn6c9gsm822339f9qmpf9lpzy6s6abvxbhhyfk136yp"; - system = "hiccl"; - asd = "hiccl"; - }); - systems = [ "hiccl" ]; - lispLibs = [ (getAttr "serapeum" self) (getAttr "str" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hiccl-test = (build-asdf-system { - pname = "hiccl-test"; - version = "20241012-git"; - asds = [ "hiccl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hiccl/2024-10-12/hiccl-20241012-git.tgz"; - sha256 = "0d92q8kb8xn6c9gsm822339f9qmpf9lpzy6s6abvxbhhyfk136yp"; - system = "hiccl-test"; - asd = "hiccl-test"; - }); - systems = [ "hiccl-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam" self) (getAttr "hiccl" self) (getAttr "lquery" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hl7-client = (build-asdf-system { - pname = "hl7-client"; - version = "20150407-git"; - asds = [ "hl7-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hl7-client/2015-04-07/hl7-client-20150407-git.tgz"; - sha256 = "0hq5ip6f1hbdiydml5f1z7qsjaq1v3a3g4y5a87jaif027pwhd89"; - system = "hl7-client"; - asd = "hl7-client"; - }); - systems = [ "hl7-client" ]; - lispLibs = [ (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hl7-parser = (build-asdf-system { - pname = "hl7-parser"; - version = "20160531-git"; - asds = [ "hl7-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hl7-parser/2016-05-31/hl7-parser-20160531-git.tgz"; - sha256 = "1lcyvk3vap73d23s6pk8p1ficqhl2gs84nan6d0yy0hx8c4gip0x"; - system = "hl7-parser"; - asd = "hl7-parser"; - }); - systems = [ "hl7-parser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hompack = (build-asdf-system { - pname = "hompack"; - version = "20231021-git"; - asds = [ "hompack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "hompack"; - asd = "hompack"; - }); - systems = [ "hompack" ]; - lispLibs = [ (getAttr "blas-hompack" self) (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - horner = (build-asdf-system { - pname = "horner"; - version = "20191130-git"; - asds = [ "horner" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/horner/2019-11-30/horner-20191130-git.tgz"; - sha256 = "05afvf7sxn1db7xxw7qmys1dwbgsx53iw4w556r277da6bpyacr9"; - system = "horner"; - asd = "horner"; - }); - systems = [ "horner" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "infix-math" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - horse-html = (build-asdf-system { - pname = "horse-html"; - version = "20191007-git"; - asds = [ "horse-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/horse-html/2019-10-07/horse-html-20191007-git.tgz"; - sha256 = "0g6cs38123ajf1hvv056df9d8gy5ajarg0f5gywzhmmf0rhr9br5"; - system = "horse-html"; - asd = "horse-html"; - }); - systems = [ "horse-html" ]; - lispLibs = [ (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - house = (build-asdf-system { - pname = "house"; - version = "20210124-git"; - asds = [ "house" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/house/2021-01-24/house-20210124-git.tgz"; - sha256 = "1x3dprg5j5rhbf8r1nr6py6g8wgfb9zysbqbjdcyh91szg7w80mb"; - system = "house"; - asd = "house"; - }); - systems = [ "house" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "lisp-unit" self) (getAttr "optima" self) (getAttr "prove-asdf" self) (getAttr "quri" self) (getAttr "session-token" self) (getAttr "split-sequence" self) (getAttr "trivial-features" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hsx = (build-asdf-system { - pname = "hsx"; - version = "20241012-git"; - asds = [ "hsx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hsx/2024-10-12/hsx-20241012-git.tgz"; - sha256 = "0aldv9cjzl9n4p1arlmvbjdy3zwhxcmx1ajp5lwdz5vq4mivw3zy"; - system = "hsx"; - asd = "hsx"; - }); - systems = [ "hsx" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hsx-test = (build-asdf-system { - pname = "hsx-test"; - version = "20241012-git"; - asds = [ "hsx-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hsx/2024-10-12/hsx-20241012-git.tgz"; - sha256 = "0aldv9cjzl9n4p1arlmvbjdy3zwhxcmx1ajp5lwdz5vq4mivw3zy"; - system = "hsx-test"; - asd = "hsx-test"; - }); - systems = [ "hsx-test" ]; - lispLibs = [ (getAttr "mstrings" self) (getAttr "named-readtables" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ht-simple-ajax = (build-asdf-system { - pname = "ht-simple-ajax"; - version = "20130421-git"; - asds = [ "ht-simple-ajax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ht-simple-ajax/2013-04-21/ht-simple-ajax-20130421-git.tgz"; - sha256 = "1l87c0arjzyrp3g6ay189fjkqmy81b7i35rfrcs9b269n7d4iis4"; - system = "ht-simple-ajax"; - asd = "ht-simple-ajax"; - }); - systems = [ "ht-simple-ajax" ]; - lispLibs = [ (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - html-encode = (build-asdf-system { - pname = "html-encode"; - version = "1.2"; - asds = [ "html-encode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-1.2.tgz"; - sha256 = "1ydgb5xnbj1qbvzn7x32dm38gpqg5h0pjxc31f8df3j8sar843db"; - system = "html-encode"; - asd = "html-encode"; - }); - systems = [ "html-encode" ]; - lispLibs = [ ]; - meta = {}; - }); - html-entities = (build-asdf-system { - pname = "html-entities"; - version = "20171019-git"; - asds = [ "html-entities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/html-entities/2017-10-19/html-entities-20171019-git.tgz"; - sha256 = "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"; - system = "html-entities"; - asd = "html-entities"; - }); - systems = [ "html-entities" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - html-entities-tests = (build-asdf-system { - pname = "html-entities-tests"; - version = "20171019-git"; - asds = [ "html-entities-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/html-entities/2017-10-19/html-entities-20171019-git.tgz"; - sha256 = "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"; - system = "html-entities-tests"; - asd = "html-entities"; - }); - systems = [ "html-entities-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "html-entities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - html-match = (build-asdf-system { - pname = "html-match"; - version = "20140713-git"; - asds = [ "html-match" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; - sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; - system = "html-match"; - asd = "html-match"; - }); - systems = [ "html-match" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - html-match_dot_test = (build-asdf-system { - pname = "html-match.test"; - version = "20140713-git"; - asds = [ "html-match.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; - sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; - system = "html-match.test"; - asd = "html-match"; - }); - systems = [ "html-match.test" ]; - lispLibs = [ (getAttr "html-match" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - html-template = (build-asdf-system { - pname = "html-template"; - version = "20171227-git"; - asds = [ "html-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/html-template/2017-12-27/html-template-20171227-git.tgz"; - sha256 = "0g700zlyjjba17nbmw1adspw7r9s0321xhayfiqh0drg20zixaf7"; - system = "html-template"; - asd = "html-template"; - }); - systems = [ "html-template" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - htmlgen = (build-asdf-system { - pname = "htmlgen"; - version = "20190813-git"; - asds = [ "htmlgen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; - sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; - system = "htmlgen"; - asd = "htmlgen"; - }); - systems = [ "htmlgen" ]; - lispLibs = [ (getAttr "acl-compat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - http-body = (build-asdf-system { - pname = "http-body"; - version = "20190813-git"; - asds = [ "http-body" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/http-body/2019-08-13/http-body-20190813-git.tgz"; - sha256 = "0kcg43l5674drzid9cj938q0ki5z25glx296rl239dm7yfmxlzz2"; - system = "http-body"; - asd = "http-body"; - }); - systems = [ "http-body" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "cl-utilities" self) (getAttr "fast-http" self) (getAttr "flexi-streams" self) (getAttr "jonathan" self) (getAttr "quri" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - http-body-test = (build-asdf-system { - pname = "http-body-test"; - version = "20190813-git"; - asds = [ "http-body-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/http-body/2019-08-13/http-body-20190813-git.tgz"; - sha256 = "0kcg43l5674drzid9cj938q0ki5z25glx296rl239dm7yfmxlzz2"; - system = "http-body-test"; - asd = "http-body-test"; - }); - systems = [ "http-body-test" ]; - lispLibs = [ (getAttr "assoc-utils" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "http-body" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - http-get-cache = (build-asdf-system { - pname = "http-get-cache"; - version = "20180228-git"; - asds = [ "http-get-cache" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/http-get-cache/2018-02-28/http-get-cache-20180228-git.tgz"; - sha256 = "03bw4zf4hlxyrqm5mq53z0qksb9jbrcc5nv90y7qry83kxic2cgv"; - system = "http-get-cache"; - asd = "http-get-cache"; - }); - systems = [ "http-get-cache" ]; - lispLibs = [ (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - http-parse = (build-asdf-system { - pname = "http-parse"; - version = "20150608-git"; - asds = [ "http-parse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/http-parse/2015-06-08/http-parse-20150608-git.tgz"; - sha256 = "1plycsx2kch2l143s56hvi5dqx51n5bvp7vazmphqj5skmnw4576"; - system = "http-parse"; - asd = "http-parse"; - }); - systems = [ "http-parse" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - http-parse-test = (build-asdf-system { - pname = "http-parse-test"; - version = "20150608-git"; - asds = [ "http-parse-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/http-parse/2015-06-08/http-parse-20150608-git.tgz"; - sha256 = "1plycsx2kch2l143s56hvi5dqx51n5bvp7vazmphqj5skmnw4576"; - system = "http-parse-test"; - asd = "http-parse-test"; - }); - systems = [ "http-parse-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "eos" self) (getAttr "http-parse" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - http2 = (build-asdf-system { - pname = "http2"; - version = "20241012-git"; - asds = [ "http2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/http2/2024-10-12/http2-20241012-git.tgz"; - sha256 = "1zb21np8rksz7b0vkfr3hg8y1a4m20vgkks3v39cc1yclnrfavii"; - system = "http2"; - asd = "http2"; - }); - systems = [ "http2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "flexi-streams" self) (getAttr "gzip-stream" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_asdf = (build-asdf-system { - pname = "hu.dwim.asdf"; - version = "stable-git"; - asds = [ "hu.dwim.asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.asdf/2021-12-30/hu.dwim.asdf-stable-git.tgz"; - sha256 = "0zfwdsvcywvwzkn0a80ghi5kn1hs4iwinvi17ld58gyskf15frx9"; - system = "hu.dwim.asdf"; - asd = "hu.dwim.asdf"; - }); - systems = [ "hu.dwim.asdf" ]; - lispLibs = [ ]; - meta = {}; - }); - hu_dot_dwim_dot_asdf_dot_documentation = (build-asdf-system { - pname = "hu.dwim.asdf.documentation"; - version = "stable-git"; - asds = [ "hu.dwim.asdf.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.asdf/2021-12-30/hu.dwim.asdf-stable-git.tgz"; - sha256 = "0zfwdsvcywvwzkn0a80ghi5kn1hs4iwinvi17ld58gyskf15frx9"; - system = "hu.dwim.asdf.documentation"; - asd = "hu.dwim.asdf.documentation"; - }); - systems = [ "hu.dwim.asdf.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_bluez = (build-asdf-system { - pname = "hu.dwim.bluez"; - version = "stable-git"; - asds = [ "hu.dwim.bluez" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.bluez/2021-02-28/hu.dwim.bluez-stable-git.tgz"; - sha256 = "0gjh3bgmdz4aabdavbd5m27r273hna47vs388r4m7l2xnd3b3j55"; - system = "hu.dwim.bluez"; - asd = "hu.dwim.bluez"; - }); - systems = [ "hu.dwim.bluez" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_common = (build-asdf-system { - pname = "hu.dwim.common"; - version = "20150709-darcs"; - asds = [ "hu.dwim.common" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.common/2015-07-09/hu.dwim.common-20150709-darcs.tgz"; - sha256 = "0mkhq6bqysdy09gswgxm1s50xrq7gimdyqiq84xk8vpyp2hv6hqq"; - system = "hu.dwim.common"; - asd = "hu.dwim.common"; - }); - systems = [ "hu.dwim.common" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "closer-mop" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common-lisp" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_common-lisp = (build-asdf-system { - pname = "hu.dwim.common-lisp"; - version = "stable-git"; - asds = [ "hu.dwim.common-lisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/2021-02-28/hu.dwim.common-lisp-stable-git.tgz"; - sha256 = "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"; - system = "hu.dwim.common-lisp"; - asd = "hu.dwim.common-lisp"; - }); - systems = [ "hu.dwim.common-lisp" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_common-lisp_dot_documentation = (build-asdf-system { - pname = "hu.dwim.common-lisp.documentation"; - version = "stable-git"; - asds = [ "hu.dwim.common-lisp.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/2021-02-28/hu.dwim.common-lisp-stable-git.tgz"; - sha256 = "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"; - system = "hu.dwim.common-lisp.documentation"; - asd = "hu.dwim.common-lisp.documentation"; - }); - systems = [ "hu.dwim.common-lisp.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common-lisp" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_common_dot_documentation = (build-asdf-system { - pname = "hu.dwim.common.documentation"; - version = "20150709-darcs"; - asds = [ "hu.dwim.common.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.common/2015-07-09/hu.dwim.common-20150709-darcs.tgz"; - sha256 = "0mkhq6bqysdy09gswgxm1s50xrq7gimdyqiq84xk8vpyp2hv6hqq"; - system = "hu.dwim.common.documentation"; - asd = "hu.dwim.common.documentation"; - }); - systems = [ "hu.dwim.common.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_computed-class = (build-asdf-system { - pname = "hu.dwim.computed-class"; - version = "20200427-darcs"; - asds = [ "hu.dwim.computed-class" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; - sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; - system = "hu.dwim.computed-class"; - asd = "hu.dwim.computed-class"; - }); - systems = [ "hu.dwim.computed-class" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger = (build-asdf-system { - pname = "hu.dwim.computed-class+hu.dwim.logger"; - version = "20200427-darcs"; - asds = [ "hu.dwim.computed-class+hu.dwim.logger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; - sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; - system = "hu.dwim.computed-class+hu.dwim.logger"; - asd = "hu.dwim.computed-class+hu.dwim.logger"; - }); - systems = [ "hu.dwim.computed-class+hu.dwim.logger" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_computed-class" self) (getAttr "hu_dot_dwim_dot_logger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_computed-class_plus_swank = (build-asdf-system { - pname = "hu.dwim.computed-class+swank"; - version = "20200427-darcs"; - asds = [ "hu.dwim.computed-class+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; - sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; - system = "hu.dwim.computed-class+swank"; - asd = "hu.dwim.computed-class+swank"; - }); - systems = [ "hu.dwim.computed-class+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_computed-class" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_computed-class_dot_documentation = (build-asdf-system { - pname = "hu.dwim.computed-class.documentation"; - version = "20200427-darcs"; - asds = [ "hu.dwim.computed-class.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; - sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; - system = "hu.dwim.computed-class.documentation"; - asd = "hu.dwim.computed-class.documentation"; - }); - systems = [ "hu.dwim.computed-class.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_computed-class_dot_test" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_computed-class_dot_test = (build-asdf-system { - pname = "hu.dwim.computed-class.test"; - version = "20200427-darcs"; - asds = [ "hu.dwim.computed-class.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; - sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; - system = "hu.dwim.computed-class.test"; - asd = "hu.dwim.computed-class.test"; - }); - systems = [ "hu.dwim.computed-class.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_debug = (build-asdf-system { - pname = "hu.dwim.debug"; - version = "20190107-darcs"; - asds = [ "hu.dwim.debug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz"; - sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b"; - system = "hu.dwim.debug"; - asd = "hu.dwim.debug"; - }); - systems = [ "hu.dwim.debug" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_debug_dot_documentation = (build-asdf-system { - pname = "hu.dwim.debug.documentation"; - version = "20190107-darcs"; - asds = [ "hu.dwim.debug.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz"; - sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b"; - system = "hu.dwim.debug.documentation"; - asd = "hu.dwim.debug.documentation"; - }); - systems = [ "hu.dwim.debug.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_debug_dot_test" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_debug_dot_test = (build-asdf-system { - pname = "hu.dwim.debug.test"; - version = "20190107-darcs"; - asds = [ "hu.dwim.debug.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz"; - sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b"; - system = "hu.dwim.debug.test"; - asd = "hu.dwim.debug.test"; - }); - systems = [ "hu.dwim.debug.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_debug" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_def = (build-asdf-system { - pname = "hu.dwim.def"; - version = "stable-git"; - asds = [ "hu.dwim.def" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; - sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; - system = "hu.dwim.def"; - asd = "hu.dwim.def"; - }); - systems = [ "hu.dwim.def" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_def_plus_cl-l10n = (build-asdf-system { - pname = "hu.dwim.def+cl-l10n"; - version = "stable-git"; - asds = [ "hu.dwim.def+cl-l10n" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; - sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; - system = "hu.dwim.def+cl-l10n"; - asd = "hu.dwim.def+cl-l10n"; - }); - systems = [ "hu.dwim.def+cl-l10n" ]; - lispLibs = [ (getAttr "cl-l10n" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_def_plus_contextl = (build-asdf-system { - pname = "hu.dwim.def+contextl"; - version = "stable-git"; - asds = [ "hu.dwim.def+contextl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; - sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; - system = "hu.dwim.def+contextl"; - asd = "hu.dwim.def+contextl"; - }); - systems = [ "hu.dwim.def+contextl" ]; - lispLibs = [ (getAttr "contextl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common = (build-asdf-system { - pname = "hu.dwim.def+hu.dwim.common"; - version = "stable-git"; - asds = [ "hu.dwim.def+hu.dwim.common" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; - sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; - system = "hu.dwim.def+hu.dwim.common"; - asd = "hu.dwim.def+hu.dwim.common"; - }); - systems = [ "hu.dwim.def+hu.dwim.common" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_def" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico = (build-asdf-system { - pname = "hu.dwim.def+hu.dwim.delico"; - version = "stable-git"; - asds = [ "hu.dwim.def+hu.dwim.delico" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; - sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; - system = "hu.dwim.def+hu.dwim.delico"; - asd = "hu.dwim.def+hu.dwim.delico"; - }); - systems = [ "hu.dwim.def+hu.dwim.delico" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_delico" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_def_plus_swank = (build-asdf-system { - pname = "hu.dwim.def+swank"; - version = "stable-git"; - asds = [ "hu.dwim.def+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; - sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; - system = "hu.dwim.def+swank"; - asd = "hu.dwim.def+swank"; - }); - systems = [ "hu.dwim.def+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "swank" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_defclass-star = (build-asdf-system { - pname = "hu.dwim.defclass-star"; - version = "stable-git"; - asds = [ "hu.dwim.defclass-star" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; - sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; - system = "hu.dwim.defclass-star"; - asd = "hu.dwim.defclass-star"; - }); - systems = [ "hu.dwim.defclass-star" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_defclass-star_plus_contextl = (build-asdf-system { - pname = "hu.dwim.defclass-star+contextl"; - version = "stable-git"; - asds = [ "hu.dwim.defclass-star+contextl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; - sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; - system = "hu.dwim.defclass-star+contextl"; - asd = "hu.dwim.defclass-star+contextl"; - }); - systems = [ "hu.dwim.defclass-star+contextl" ]; - lispLibs = [ (getAttr "contextl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def = (build-asdf-system { - pname = "hu.dwim.defclass-star+hu.dwim.def"; - version = "stable-git"; - asds = [ "hu.dwim.defclass-star+hu.dwim.def" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; - sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; - system = "hu.dwim.defclass-star+hu.dwim.def"; - asd = "hu.dwim.defclass-star+hu.dwim.def"; - }); - systems = [ "hu.dwim.defclass-star+hu.dwim.def" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def_plus_contextl = (build-asdf-system { - pname = "hu.dwim.defclass-star+hu.dwim.def+contextl"; - version = "stable-git"; - asds = [ "hu.dwim.defclass-star+hu.dwim.def+contextl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; - sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; - system = "hu.dwim.defclass-star+hu.dwim.def+contextl"; - asd = "hu.dwim.defclass-star+hu.dwim.def+contextl"; - }); - systems = [ "hu.dwim.defclass-star+hu.dwim.def+contextl" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_contextl" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_defclass-star_plus_swank = (build-asdf-system { - pname = "hu.dwim.defclass-star+swank"; - version = "stable-git"; - asds = [ "hu.dwim.defclass-star+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; - sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; - system = "hu.dwim.defclass-star+swank"; - asd = "hu.dwim.defclass-star+swank"; - }); - systems = [ "hu.dwim.defclass-star+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_delico = (build-asdf-system { - pname = "hu.dwim.delico"; - version = "20200925-darcs"; - asds = [ "hu.dwim.delico" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.delico/2020-09-25/hu.dwim.delico-20200925-darcs.tgz"; - sha256 = "12n5cddg7vd3y4dqjcf4wayxwj905ja8jh90ixvrhgnvs559lbnl"; - system = "hu.dwim.delico"; - asd = "hu.dwim.delico"; - }); - systems = [ "hu.dwim.delico" ]; - lispLibs = [ (getAttr "contextl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_walker" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_graphviz = (build-asdf-system { - pname = "hu.dwim.graphviz"; - version = "stable-git"; - asds = [ "hu.dwim.graphviz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz"; - sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy"; - system = "hu.dwim.graphviz"; - asd = "hu.dwim.graphviz"; - }); - systems = [ "hu.dwim.graphviz" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_graphviz_dot_documentation = (build-asdf-system { - pname = "hu.dwim.graphviz.documentation"; - version = "stable-git"; - asds = [ "hu.dwim.graphviz.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz"; - sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy"; - system = "hu.dwim.graphviz.documentation"; - asd = "hu.dwim.graphviz.documentation"; - }); - systems = [ "hu.dwim.graphviz.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_graphviz_dot_test" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_graphviz_dot_test = (build-asdf-system { - pname = "hu.dwim.graphviz.test"; - version = "stable-git"; - asds = [ "hu.dwim.graphviz.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz"; - sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy"; - system = "hu.dwim.graphviz.test"; - asd = "hu.dwim.graphviz.test"; - }); - systems = [ "hu.dwim.graphviz.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_graphviz" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_logger = (build-asdf-system { - pname = "hu.dwim.logger"; - version = "stable-git"; - asds = [ "hu.dwim.logger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; - sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; - system = "hu.dwim.logger"; - asd = "hu.dwim.logger"; - }); - systems = [ "hu.dwim.logger" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "local-time" self) ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_logger_plus_iolib = (build-asdf-system { - pname = "hu.dwim.logger+iolib"; - version = "stable-git"; - asds = [ "hu.dwim.logger+iolib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; - sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; - system = "hu.dwim.logger+iolib"; - asd = "hu.dwim.logger+iolib"; - }); - systems = [ "hu.dwim.logger+iolib" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_util_plus_iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_logger_plus_swank = (build-asdf-system { - pname = "hu.dwim.logger+swank"; - version = "stable-git"; - asds = [ "hu.dwim.logger+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; - sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; - system = "hu.dwim.logger+swank"; - asd = "hu.dwim.logger+swank"; - }); - systems = [ "hu.dwim.logger+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_logger_dot_documentation = (build-asdf-system { - pname = "hu.dwim.logger.documentation"; - version = "stable-git"; - asds = [ "hu.dwim.logger.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; - sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; - system = "hu.dwim.logger.documentation"; - asd = "hu.dwim.logger.documentation"; - }); - systems = [ "hu.dwim.logger.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_logger_dot_test" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_logger_dot_test = (build-asdf-system { - pname = "hu.dwim.logger.test"; - version = "stable-git"; - asds = [ "hu.dwim.logger.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; - sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; - system = "hu.dwim.logger.test"; - asd = "hu.dwim.logger.test"; - }); - systems = [ "hu.dwim.logger.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_partial-eval = (build-asdf-system { - pname = "hu.dwim.partial-eval"; - version = "stable-git"; - asds = [ "hu.dwim.partial-eval" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.partial-eval/2024-10-12/hu.dwim.partial-eval-stable-git.tgz"; - sha256 = "1zsh1rk9rcxkrqavhx2slpczii23y51fn66n68vsw5d97g9k6gzz"; - system = "hu.dwim.partial-eval"; - asd = "hu.dwim.partial-eval"; - }); - systems = [ "hu.dwim.partial-eval" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def_plus_contextl" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec = (build-asdf-system { - pname = "hu.dwim.perec"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec"; - asd = "hu.dwim.perec"; - }); - systems = [ "hu.dwim.perec" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-containers" self) (getAttr "cl-ppcre" self) (getAttr "contextl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_computed-class" self) (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_rdbms" self) (getAttr "hu_dot_dwim_dot_serializer" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) (getAttr "ironclad" self) (getAttr "local-time" self) (getAttr "metacopy-with-contextl" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_plus_hu_dot_dwim_dot_quasi-quote_dot_xml = (build-asdf-system { - pname = "hu.dwim.perec+hu.dwim.quasi-quote.xml"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec+hu.dwim.quasi-quote.xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec+hu.dwim.quasi-quote.xml"; - asd = "hu.dwim.perec+hu.dwim.quasi-quote.xml"; - }); - systems = [ "hu.dwim.perec+hu.dwim.quasi-quote.xml" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_plus_iolib = (build-asdf-system { - pname = "hu.dwim.perec+iolib"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec+iolib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec+iolib"; - asd = "hu.dwim.perec+iolib"; - }); - systems = [ "hu.dwim.perec+iolib" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_plus_swank = (build-asdf-system { - pname = "hu.dwim.perec+swank"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec+swank"; - asd = "hu.dwim.perec+swank"; - }); - systems = [ "hu.dwim.perec+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_all = (build-asdf-system { - pname = "hu.dwim.perec.all"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.all" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.all"; - asd = "hu.dwim.perec.all"; - }); - systems = [ "hu.dwim.perec.all" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_dot_oracle" self) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" self) (getAttr "hu_dot_dwim_dot_perec_dot_sqlite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_all_dot_test = (build-asdf-system { - pname = "hu.dwim.perec.all.test"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.all.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.all.test"; - asd = "hu.dwim.perec.all.test"; - }); - systems = [ "hu.dwim.perec.all.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_dot_oracle_dot_test" self) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql_dot_test" self) (getAttr "hu_dot_dwim_dot_perec_dot_sqlite_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_documentation = (build-asdf-system { - pname = "hu.dwim.perec.documentation"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.documentation"; - asd = "hu.dwim.perec.documentation"; - }); - systems = [ "hu.dwim.perec.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_dot_all_dot_test" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_oracle = (build-asdf-system { - pname = "hu.dwim.perec.oracle"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.oracle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.oracle"; - asd = "hu.dwim.perec.oracle"; - }); - systems = [ "hu.dwim.perec.oracle" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_oracle_dot_test = (build-asdf-system { - pname = "hu.dwim.perec.oracle.test"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.oracle.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.oracle.test"; - asd = "hu.dwim.perec.oracle.test"; - }); - systems = [ "hu.dwim.perec.oracle.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_dot_oracle" self) (getAttr "hu_dot_dwim_dot_perec_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_postgresql = (build-asdf-system { - pname = "hu.dwim.perec.postgresql"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.postgresql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.postgresql"; - asd = "hu.dwim.perec.postgresql"; - }); - systems = [ "hu.dwim.perec.postgresql" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_postgresql_dot_test = (build-asdf-system { - pname = "hu.dwim.perec.postgresql.test"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.postgresql.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.postgresql.test"; - asd = "hu.dwim.perec.postgresql.test"; - }); - systems = [ "hu.dwim.perec.postgresql.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" self) (getAttr "hu_dot_dwim_dot_perec_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_sqlite = (build-asdf-system { - pname = "hu.dwim.perec.sqlite"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.sqlite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.sqlite"; - asd = "hu.dwim.perec.sqlite"; - }); - systems = [ "hu.dwim.perec.sqlite" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_sqlite_dot_test = (build-asdf-system { - pname = "hu.dwim.perec.sqlite.test"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.sqlite.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.sqlite.test"; - asd = "hu.dwim.perec.sqlite.test"; - }); - systems = [ "hu.dwim.perec.sqlite.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_dot_sqlite" self) (getAttr "hu_dot_dwim_dot_perec_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_perec_dot_test = (build-asdf-system { - pname = "hu.dwim.perec.test"; - version = "20211209-darcs"; - asds = [ "hu.dwim.perec.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; - sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; - system = "hu.dwim.perec.test"; - asd = "hu.dwim.perec.test"; - }); - systems = [ "hu.dwim.perec.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec_plus_hu_dot_dwim_dot_quasi-quote_dot_xml" self) (getAttr "hu_dot_dwim_dot_perec_plus_iolib" self) (getAttr "hu_dot_dwim_dot_perec_plus_swank" self) (getAttr "hu_dot_dwim_dot_util_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_presentation = (build-asdf-system { - pname = "hu.dwim.presentation"; - version = "20211230-darcs"; - asds = [ "hu.dwim.presentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; - sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; - system = "hu.dwim.presentation"; - asd = "hu.dwim.presentation"; - }); - systems = [ "hu.dwim.presentation" ]; - lispLibs = [ (getAttr "cl-graph_plus_hu_dot_dwim_dot_graphviz" self) (getAttr "contextl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) (getAttr "iolib" self) (getAttr "moptilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_presentation_plus_cl-graph_plus_cl-typesetting = (build-asdf-system { - pname = "hu.dwim.presentation+cl-graph+cl-typesetting"; - version = "20211230-darcs"; - asds = [ "hu.dwim.presentation+cl-graph+cl-typesetting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; - sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; - system = "hu.dwim.presentation+cl-graph+cl-typesetting"; - asd = "hu.dwim.presentation+cl-graph+cl-typesetting"; - }); - systems = [ "hu.dwim.presentation+cl-graph+cl-typesetting" ]; - lispLibs = [ (getAttr "cl-graph" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation_plus_cl-typesetting" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_presentation_plus_cl-typesetting = (build-asdf-system { - pname = "hu.dwim.presentation+cl-typesetting"; - version = "20211230-darcs"; - asds = [ "hu.dwim.presentation+cl-typesetting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; - sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; - system = "hu.dwim.presentation+cl-typesetting"; - asd = "hu.dwim.presentation+cl-typesetting"; - }); - systems = [ "hu.dwim.presentation+cl-typesetting" ]; - lispLibs = [ (getAttr "cl-typesetting" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_presentation_plus_hu_dot_dwim_dot_stefil = (build-asdf-system { - pname = "hu.dwim.presentation+hu.dwim.stefil"; - version = "20211230-darcs"; - asds = [ "hu.dwim.presentation+hu.dwim.stefil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; - sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; - system = "hu.dwim.presentation+hu.dwim.stefil"; - asd = "hu.dwim.presentation+hu.dwim.stefil"; - }); - systems = [ "hu.dwim.presentation+hu.dwim.stefil" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_presentation_plus_hu_dot_dwim_dot_web-server = (build-asdf-system { - pname = "hu.dwim.presentation+hu.dwim.web-server"; - version = "20211230-darcs"; - asds = [ "hu.dwim.presentation+hu.dwim.web-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; - sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; - system = "hu.dwim.presentation+hu.dwim.web-server"; - asd = "hu.dwim.presentation+hu.dwim.web-server"; - }); - systems = [ "hu.dwim.presentation+hu.dwim.web-server" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_web-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote = (build-asdf-system { - pname = "hu.dwim.quasi-quote"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote"; - asd = "hu.dwim.quasi-quote"; - }); - systems = [ "hu.dwim.quasi-quote" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "babel-streams" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote_dot_css = (build-asdf-system { - pname = "hu.dwim.quasi-quote.css"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote.css" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote.css"; - asd = "hu.dwim.quasi-quote.css"; - }); - systems = [ "hu.dwim.quasi-quote.css" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_quasi-quote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote_dot_js = (build-asdf-system { - pname = "hu.dwim.quasi-quote.js"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote.js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote.js"; - asd = "hu.dwim.quasi-quote.js"; - }); - systems = [ "hu.dwim.quasi-quote.js" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_quasi-quote" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote_dot_pdf = (build-asdf-system { - pname = "hu.dwim.quasi-quote.pdf"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote.pdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote.pdf"; - asd = "hu.dwim.quasi-quote.pdf"; - }); - systems = [ "hu.dwim.quasi-quote.pdf" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_quasi-quote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote_dot_xml = (build-asdf-system { - pname = "hu.dwim.quasi-quote.xml"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote.xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote.xml"; - asd = "hu.dwim.quasi-quote.xml"; - }); - systems = [ "hu.dwim.quasi-quote.xml" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_quasi-quote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote_dot_xml_plus_cxml = (build-asdf-system { - pname = "hu.dwim.quasi-quote.xml+cxml"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote.xml+cxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote.xml+cxml"; - asd = "hu.dwim.quasi-quote.xml+cxml"; - }); - systems = [ "hu.dwim.quasi-quote.xml+cxml" ]; - lispLibs = [ (getAttr "cxml" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js = (build-asdf-system { - pname = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js"; - version = "stable-git"; - asds = [ "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; - sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; - system = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js"; - asd = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js"; - }); - systems = [ "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_js" self) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms = (build-asdf-system { - pname = "hu.dwim.rdbms"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms"; - asd = "hu.dwim.rdbms"; - }); - systems = [ "hu.dwim.rdbms" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) (getAttr "ironclad" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_all = (build-asdf-system { - pname = "hu.dwim.rdbms.all"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.all" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.all"; - asd = "hu.dwim.rdbms.all"; - }); - systems = [ "hu.dwim.rdbms.all" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_all_dot_test = (build-asdf-system { - pname = "hu.dwim.rdbms.all.test"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.all.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.all.test"; - asd = "hu.dwim.rdbms.all.test"; - }); - systems = [ "hu.dwim.rdbms.all.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle_dot_test" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql_dot_test" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_documentation = (build-asdf-system { - pname = "hu.dwim.rdbms.documentation"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.documentation"; - asd = "hu.dwim.rdbms.documentation"; - }); - systems = [ "hu.dwim.rdbms.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_all_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_oracle = (build-asdf-system { - pname = "hu.dwim.rdbms.oracle"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.oracle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.oracle"; - asd = "hu.dwim.rdbms.oracle"; - }); - systems = [ "hu.dwim.rdbms.oracle" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_oracle_dot_test = (build-asdf-system { - pname = "hu.dwim.rdbms.oracle.test"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.oracle.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.oracle.test"; - asd = "hu.dwim.rdbms.oracle.test"; - }); - systems = [ "hu.dwim.rdbms.oracle.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_postgresql = (build-asdf-system { - pname = "hu.dwim.rdbms.postgresql"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.postgresql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.postgresql"; - asd = "hu.dwim.rdbms.postgresql"; - }); - systems = [ "hu.dwim.rdbms.postgresql" ]; - lispLibs = [ (getAttr "cl-postgres_plus_local-time" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_postgresql_dot_test = (build-asdf-system { - pname = "hu.dwim.rdbms.postgresql.test"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.postgresql.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.postgresql.test"; - asd = "hu.dwim.rdbms.postgresql.test"; - }); - systems = [ "hu.dwim.rdbms.postgresql.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_sqlite = (build-asdf-system { - pname = "hu.dwim.rdbms.sqlite"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.sqlite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.sqlite"; - asd = "hu.dwim.rdbms.sqlite"; - }); - systems = [ "hu.dwim.rdbms.sqlite" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_sqlite_dot_test = (build-asdf-system { - pname = "hu.dwim.rdbms.sqlite.test"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.sqlite.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.sqlite.test"; - asd = "hu.dwim.rdbms.sqlite.test"; - }); - systems = [ "hu.dwim.rdbms.sqlite.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" self) (getAttr "hu_dot_dwim_dot_rdbms_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_rdbms_dot_test = (build-asdf-system { - pname = "hu.dwim.rdbms.test"; - version = "20201016-darcs"; - asds = [ "hu.dwim.rdbms.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; - sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; - system = "hu.dwim.rdbms.test"; - asd = "hu.dwim.rdbms.test"; - }); - systems = [ "hu.dwim.rdbms.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_rdbms" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_reiterate = (build-asdf-system { - pname = "hu.dwim.reiterate"; - version = "stable-git"; - asds = [ "hu.dwim.reiterate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.reiterate/2021-12-30/hu.dwim.reiterate-stable-git.tgz"; - sha256 = "0h6cgg385ivgc6942xal09c7n9vmy6gn4y3zz4zafc1qyl5jwyv9"; - system = "hu.dwim.reiterate"; - asd = "hu.dwim.reiterate"; - }); - systems = [ "hu.dwim.reiterate" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common-lisp" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_reiterate_plus_hu_dot_dwim_dot_logger = (build-asdf-system { - pname = "hu.dwim.reiterate+hu.dwim.logger"; - version = "stable-git"; - asds = [ "hu.dwim.reiterate+hu.dwim.logger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.reiterate/2021-12-30/hu.dwim.reiterate-stable-git.tgz"; - sha256 = "0h6cgg385ivgc6942xal09c7n9vmy6gn4y3zz4zafc1qyl5jwyv9"; - system = "hu.dwim.reiterate+hu.dwim.logger"; - asd = "hu.dwim.reiterate+hu.dwim.logger"; - }); - systems = [ "hu.dwim.reiterate+hu.dwim.logger" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_reiterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_sdl = (build-asdf-system { - pname = "hu.dwim.sdl"; - version = "stable-git"; - asds = [ "hu.dwim.sdl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2022-07-07/hu.dwim.sdl-stable-git.tgz"; - sha256 = "175kha5f7kvis2nlxbzrybswbr62lgmjh691ajwl5i9y7andqhq2"; - system = "hu.dwim.sdl"; - asd = "hu.dwim.sdl"; - }); - systems = [ "hu.dwim.sdl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_serializer = (build-asdf-system { - pname = "hu.dwim.serializer"; - version = "20161204-darcs"; - asds = [ "hu.dwim.serializer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz"; - sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2"; - system = "hu.dwim.serializer"; - asd = "hu.dwim.serializer"; - }); - systems = [ "hu.dwim.serializer" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_serializer_dot_documentation = (build-asdf-system { - pname = "hu.dwim.serializer.documentation"; - version = "20161204-darcs"; - asds = [ "hu.dwim.serializer.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz"; - sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2"; - system = "hu.dwim.serializer.documentation"; - asd = "hu.dwim.serializer.documentation"; - }); - systems = [ "hu.dwim.serializer.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_serializer_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_serializer_dot_test = (build-asdf-system { - pname = "hu.dwim.serializer.test"; - version = "20161204-darcs"; - asds = [ "hu.dwim.serializer.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz"; - sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2"; - system = "hu.dwim.serializer.test"; - asd = "hu.dwim.serializer.test"; - }); - systems = [ "hu.dwim.serializer.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_serializer" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_stefil = (build-asdf-system { - pname = "hu.dwim.stefil"; - version = "stable-git"; - asds = [ "hu.dwim.stefil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; - sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; - system = "hu.dwim.stefil"; - asd = "hu.dwim.stefil"; - }); - systems = [ "hu.dwim.stefil" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def = (build-asdf-system { - pname = "hu.dwim.stefil+hu.dwim.def"; - version = "stable-git"; - asds = [ "hu.dwim.stefil+hu.dwim.def" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; - sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; - system = "hu.dwim.stefil+hu.dwim.def"; - asd = "hu.dwim.stefil+hu.dwim.def"; - }); - systems = [ "hu.dwim.stefil+hu.dwim.def" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_stefil" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank = (build-asdf-system { - pname = "hu.dwim.stefil+hu.dwim.def+swank"; - version = "stable-git"; - asds = [ "hu.dwim.stefil+hu.dwim.def+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; - sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; - system = "hu.dwim.stefil+hu.dwim.def+swank"; - asd = "hu.dwim.stefil+hu.dwim.def+swank"; - }); - systems = [ "hu.dwim.stefil+hu.dwim.def+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_stefil_plus_swank" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_stefil_plus_swank = (build-asdf-system { - pname = "hu.dwim.stefil+swank"; - version = "stable-git"; - asds = [ "hu.dwim.stefil+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; - sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; - system = "hu.dwim.stefil+swank"; - asd = "hu.dwim.stefil+swank"; - }); - systems = [ "hu.dwim.stefil+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "swank" self) ]; - meta = {}; - }); - hu_dot_dwim_dot_syntax-sugar = (build-asdf-system { - pname = "hu.dwim.syntax-sugar"; - version = "stable-git"; - asds = [ "hu.dwim.syntax-sugar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2023-02-14/hu.dwim.syntax-sugar-stable-git.tgz"; - sha256 = "1cy474di8njy4s39n7kn2w9jw39n4rssrk0fghrj0gabfxiz4wv9"; - system = "hu.dwim.syntax-sugar"; - asd = "hu.dwim.syntax-sugar"; - }); - systems = [ "hu.dwim.syntax-sugar" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_syntax-sugar_dot_documentation = (build-asdf-system { - pname = "hu.dwim.syntax-sugar.documentation"; - version = "stable-git"; - asds = [ "hu.dwim.syntax-sugar.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2023-02-14/hu.dwim.syntax-sugar-stable-git.tgz"; - sha256 = "1cy474di8njy4s39n7kn2w9jw39n4rssrk0fghrj0gabfxiz4wv9"; - system = "hu.dwim.syntax-sugar.documentation"; - asd = "hu.dwim.syntax-sugar.documentation"; - }); - systems = [ "hu.dwim.syntax-sugar.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_syntax-sugar_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_syntax-sugar_dot_test = (build-asdf-system { - pname = "hu.dwim.syntax-sugar.test"; - version = "stable-git"; - asds = [ "hu.dwim.syntax-sugar.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2023-02-14/hu.dwim.syntax-sugar-stable-git.tgz"; - sha256 = "1cy474di8njy4s39n7kn2w9jw39n4rssrk0fghrj0gabfxiz4wv9"; - system = "hu.dwim.syntax-sugar.test"; - asd = "hu.dwim.syntax-sugar.test"; - }); - systems = [ "hu.dwim.syntax-sugar.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_walker" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_uri = (build-asdf-system { - pname = "hu.dwim.uri"; - version = "20180228-darcs"; - asds = [ "hu.dwim.uri" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.uri/2018-02-28/hu.dwim.uri-20180228-darcs.tgz"; - sha256 = "0wvai7djmbry0b0j8vhzw3s8m30ghs2sml29gw6snh1pynh3c2ir"; - system = "hu.dwim.uri"; - asd = "hu.dwim.uri"; - }); - systems = [ "hu.dwim.uri" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_uri_dot_test = (build-asdf-system { - pname = "hu.dwim.uri.test"; - version = "20180228-darcs"; - asds = [ "hu.dwim.uri.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.uri/2018-02-28/hu.dwim.uri-20180228-darcs.tgz"; - sha256 = "0wvai7djmbry0b0j8vhzw3s8m30ghs2sml29gw6snh1pynh3c2ir"; - system = "hu.dwim.uri.test"; - asd = "hu.dwim.uri.test"; - }); - systems = [ "hu.dwim.uri.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_uri" self) (getAttr "hu_dot_dwim_dot_util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_util = (build-asdf-system { - pname = "hu.dwim.util"; - version = "stable-git"; - asds = [ "hu.dwim.util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; - sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; - system = "hu.dwim.util"; - asd = "hu.dwim.util"; - }); - systems = [ "hu.dwim.util" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_util_plus_iolib = (build-asdf-system { - pname = "hu.dwim.util+iolib"; - version = "stable-git"; - asds = [ "hu.dwim.util+iolib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; - sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; - system = "hu.dwim.util+iolib"; - asd = "hu.dwim.util+iolib"; - }); - systems = [ "hu.dwim.util+iolib" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_util_dot_documentation = (build-asdf-system { - pname = "hu.dwim.util.documentation"; - version = "stable-git"; - asds = [ "hu.dwim.util.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; - sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; - system = "hu.dwim.util.documentation"; - asd = "hu.dwim.util.documentation"; - }); - systems = [ "hu.dwim.util.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_util_dot_test = (build-asdf-system { - pname = "hu.dwim.util.test"; - version = "stable-git"; - asds = [ "hu.dwim.util.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; - sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; - system = "hu.dwim.util.test"; - asd = "hu.dwim.util.test"; - }); - systems = [ "hu.dwim.util.test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "babel-streams" self) (getAttr "bordeaux-threads" self) (getAttr "cl-l10n" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "command-line-arguments" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_delico" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" self) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_util_plus_iolib" self) (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) (getAttr "iolib" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_walker = (build-asdf-system { - pname = "hu.dwim.walker"; - version = "stable-git"; - asds = [ "hu.dwim.walker" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.walker/2022-07-07/hu.dwim.walker-stable-git.tgz"; - sha256 = "0sw7z5iml82sklxjy1wr42mbp2qqml49ci36d6xsckar0sqsc8vr"; - system = "hu.dwim.walker"; - asd = "hu.dwim.walker"; - }); - systems = [ "hu.dwim.walker" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "closer-mop" self) (getAttr "contextl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server = (build-asdf-system { - pname = "hu.dwim.web-server"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server"; - asd = "hu.dwim.web-server"; - }); - systems = [ "hu.dwim.web-server" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "babel-streams" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl_plus_ssl" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_computed-class" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_def_plus_cl-l10n" self) (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico" self) (getAttr "hu_dot_dwim_dot_logger_plus_iolib" self) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_uri" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_zlib" self) (getAttr "iolib" self) (getAttr "local-time" self) (getAttr "parse-number" self) (getAttr "rfc2109" self) (getAttr "rfc2388-binary" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_plus_swank = (build-asdf-system { - pname = "hu.dwim.web-server+swank"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server+swank"; - asd = "hu.dwim.web-server+swank"; - }); - systems = [ "hu.dwim.web-server+swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_web-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_dot_application = (build-asdf-system { - pname = "hu.dwim.web-server.application"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server.application" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server.application"; - asd = "hu.dwim.web-server.application"; - }); - systems = [ "hu.dwim.web-server.application" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_web-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_dot_application_plus_hu_dot_dwim_dot_perec = (build-asdf-system { - pname = "hu.dwim.web-server.application+hu.dwim.perec"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server.application+hu.dwim.perec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server.application+hu.dwim.perec"; - asd = "hu.dwim.web-server.application+hu.dwim.perec"; - }); - systems = [ "hu.dwim.web-server.application+hu.dwim.perec" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_dot_application_dot_test = (build-asdf-system { - pname = "hu.dwim.web-server.application.test"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server.application.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server.application.test"; - asd = "hu.dwim.web-server.application.test"; - }); - systems = [ "hu.dwim.web-server.application.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) (getAttr "hu_dot_dwim_dot_web-server_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_dot_documentation = (build-asdf-system { - pname = "hu.dwim.web-server.documentation"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server.documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server.documentation"; - asd = "hu.dwim.web-server.documentation"; - }); - systems = [ "hu.dwim.web-server.documentation" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_presentation" self) (getAttr "hu_dot_dwim_dot_web-server_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_dot_test = (build-asdf-system { - pname = "hu.dwim.web-server.test"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server.test"; - asd = "hu.dwim.web-server.test"; - }); - systems = [ "hu.dwim.web-server.test" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) (getAttr "hu_dot_dwim_dot_web-server" self) (getAttr "hu_dot_dwim_dot_web-server_plus_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_web-server_dot_websocket = (build-asdf-system { - pname = "hu.dwim.web-server.websocket"; - version = "20220707-darcs"; - asds = [ "hu.dwim.web-server.websocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; - sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; - system = "hu.dwim.web-server.websocket"; - asd = "hu.dwim.web-server.websocket"; - }); - systems = [ "hu.dwim.web-server.websocket" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_web-server" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hu_dot_dwim_dot_zlib = (build-asdf-system { - pname = "hu.dwim.zlib"; - version = "stable-git"; - asds = [ "hu.dwim.zlib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hu.dwim.zlib/2022-07-07/hu.dwim.zlib-stable-git.tgz"; - sha256 = "1yrsbl6rmsp6sdaj9yzwx1bpbs529akndxnpplafw31195khnxm1"; - system = "hu.dwim.zlib"; - asd = "hu.dwim.zlib"; - }); - systems = [ "hu.dwim.zlib" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "hu_dot_dwim_dot_asdf" self) ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - huffman = (build-asdf-system { - pname = "huffman"; - version = "20181018-git"; - asds = [ "huffman" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/huffman/2018-10-18/huffman-20181018-git.tgz"; - sha256 = "05b3ql5szzi4vsry76i76483mxf9m5i9620hdshykh5rbfiarvcx"; - system = "huffman"; - asd = "huffman"; - }); - systems = [ "huffman" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - humbler = (build-asdf-system { - pname = "humbler"; - version = "20231021-git"; - asds = [ "humbler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/humbler/2023-10-21/humbler-20231021-git.tgz"; - sha256 = "15fdvlrhdvr58i2rwa87i4is2rgh9xzjag0sqhga8ri7a8i63fgf"; - system = "humbler"; - asd = "humbler"; - }); - systems = [ "humbler" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "local-time" self) (getAttr "north-core" self) (getAttr "trivial-mimes" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchensocket = (build-asdf-system { - pname = "hunchensocket"; - version = "20221106-git"; - asds = [ "hunchensocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchensocket/2022-11-06/hunchensocket-20221106-git.tgz"; - sha256 = "1vhd009lwl62l1czmhsalblxmyz4x9v3nspjflpajwm1db5rnd7h"; - system = "hunchensocket"; - asd = "hunchensocket"; - }); - systems = [ "hunchensocket" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "chunga" self) (getAttr "cl-base64" self) (getAttr "cl-fad" self) (getAttr "flexi-streams" self) (getAttr "hunchentoot" self) (getAttr "sha1" self) (getAttr "trivial-backtrace" self) (getAttr "trivial-utf-8" self) ]; - meta = {}; - }); - hunchensocket-tests = (build-asdf-system { - pname = "hunchensocket-tests"; - version = "20221106-git"; - asds = [ "hunchensocket-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchensocket/2022-11-06/hunchensocket-20221106-git.tgz"; - sha256 = "1vhd009lwl62l1czmhsalblxmyz4x9v3nspjflpajwm1db5rnd7h"; - system = "hunchensocket-tests"; - asd = "hunchensocket"; - }); - systems = [ "hunchensocket-tests" ]; - lispLibs = [ (getAttr "fiasco" self) (getAttr "hunchensocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentools = (build-asdf-system { - pname = "hunchentools"; - version = "20161204-git"; - asds = [ "hunchentools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentools/2016-12-04/hunchentools-20161204-git.tgz"; - sha256 = "12r1ml1xxhyz646nnxqzixfisljjaracwp9jhwl3wb285qbmai4b"; - system = "hunchentools"; - asd = "hunchentools"; - }); - systems = [ "hunchentools" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentoot = (build-asdf-system { - pname = "hunchentoot"; - version = "v1.3.1"; - asds = [ "hunchentoot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot/2024-10-12/hunchentoot-v1.3.1.tgz"; - sha256 = "0g4lh26l2vd10ilk1hrfmpj6hpjb986jp191ha2j6p2q1pil3kgc"; - system = "hunchentoot"; - asd = "hunchentoot"; - }); - systems = [ "hunchentoot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "chunga" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "md5" self) (getAttr "rfc2388" self) (getAttr "trivial-backtrace" self) (getAttr "usocket" self) ]; - meta = {}; - }); - hunchentoot-auth = (build-asdf-system { - pname = "hunchentoot-auth"; - version = "20140113-git"; - asds = [ "hunchentoot-auth" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot-auth/2014-01-13/hunchentoot-auth-20140113-git.tgz"; - sha256 = "1bc70lh2jvk6gqmhczgv0indxk6j5whxbh7gylrlbv16041sdkbj"; - system = "hunchentoot-auth"; - asd = "hunchentoot-auth"; - }); - systems = [ "hunchentoot-auth" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-store" self) (getAttr "cl-who" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentoot-cgi = (build-asdf-system { - pname = "hunchentoot-cgi"; - version = "20140211-git"; - asds = [ "hunchentoot-cgi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot-cgi/2014-02-11/hunchentoot-cgi-20140211-git.tgz"; - sha256 = "0al6qfs6661avhywsqxh3nwyhl1d1gip3yx57b8siczjarpgpawc"; - system = "hunchentoot-cgi"; - asd = "hunchentoot-cgi"; - }); - systems = [ "hunchentoot-cgi" ]; - lispLibs = [ (getAttr "hunchentoot" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentoot-errors = (build-asdf-system { - pname = "hunchentoot-errors"; - version = "20231021-git"; - asds = [ "hunchentoot-errors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot-errors/2023-10-21/hunchentoot-errors-20231021-git.tgz"; - sha256 = "0fab7s8qhhs713cw014qqvzm5z61wmxm2fcbkarhg41cz3li9k1j"; - system = "hunchentoot-errors"; - asd = "hunchentoot-errors"; - }); - systems = [ "hunchentoot-errors" ]; - lispLibs = [ (getAttr "cl-mimeparse" self) (getAttr "hunchentoot" self) (getAttr "parse-number" self) (getAttr "string-case" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentoot-multi-acceptor = (build-asdf-system { - pname = "hunchentoot-multi-acceptor"; - version = "20220331-git"; - asds = [ "hunchentoot-multi-acceptor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot-multi-acceptor/2022-03-31/hunchentoot-multi-acceptor-20220331-git.tgz"; - sha256 = "0m42dw8x0bp03n4hx4ppf45gjg14igf69z4rn7dslch6km58mrha"; - system = "hunchentoot-multi-acceptor"; - asd = "hunchentoot-multi-acceptor"; - }); - systems = [ "hunchentoot-multi-acceptor" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "hunchentoot" self) (getAttr "str" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentoot-single-signon = (build-asdf-system { - pname = "hunchentoot-single-signon"; - version = "20131111-git"; - asds = [ "hunchentoot-single-signon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot-single-signon/2013-11-11/hunchentoot-single-signon-20131111-git.tgz"; - sha256 = "0dh16k4105isqwnkl52m55m6cbl7g8wmcrym8175r2zr6qcbghq8"; - system = "hunchentoot-single-signon"; - asd = "hunchentoot-single-signon"; - }); - systems = [ "hunchentoot-single-signon" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-gss" self) (getAttr "hunchentoot" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hunchentoot-stuck-connection-monitor = (build-asdf-system { - pname = "hunchentoot-stuck-connection-monitor"; - version = "20241012-git"; - asds = [ "hunchentoot-stuck-connection-monitor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchentoot-stuck-connection-monitor/2024-10-12/hunchentoot-stuck-connection-monitor-20241012-git.tgz"; - sha256 = "1zbpxcym8pi9bf3m7f8f5aa2xhq048kx54sj1ka1vnz7rgccghc6"; - system = "hunchentoot-stuck-connection-monitor"; - asd = "hunchentoot-stuck-connection-monitor"; - }); - systems = [ "hunchentoot-stuck-connection-monitor" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "hunchentoot" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hyperlattices = (build-asdf-system { - pname = "hyperlattices"; - version = "20231021-git"; - asds = [ "hyperlattices" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hyperlattices/2023-10-21/hyperlattices-20231021-git.tgz"; - sha256 = "1d0jhy7yv5917bgx1b8r8ch5b94zbg933kx8ak2sbpgsf16pqf2h"; - system = "hyperlattices"; - asd = "hyperlattices"; - }); - systems = [ "hyperlattices" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "serapeum" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hyperluminal-mem = (build-asdf-system { - pname = "hyperluminal-mem"; - version = "20210630-git"; - asds = [ "hyperluminal-mem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hyperluminal-mem/2021-06-30/hyperluminal-mem-20210630-git.tgz"; - sha256 = "0qp00g43v518j0wccqnpglkrpikagnn9naphb29wbil6k7y9y7r9"; - system = "hyperluminal-mem"; - asd = "hyperluminal-mem"; - }); - systems = [ "hyperluminal-mem" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "osicat" self) (getAttr "stmx" self) (getAttr "swap-bytes" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hyperluminal-mem-test = (build-asdf-system { - pname = "hyperluminal-mem-test"; - version = "20210630-git"; - asds = [ "hyperluminal-mem-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hyperluminal-mem/2021-06-30/hyperluminal-mem-20210630-git.tgz"; - sha256 = "0qp00g43v518j0wccqnpglkrpikagnn9naphb29wbil6k7y9y7r9"; - system = "hyperluminal-mem-test"; - asd = "hyperluminal-mem-test"; - }); - systems = [ "hyperluminal-mem-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "hyperluminal-mem" self) (getAttr "log4cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hyperobject = (build-asdf-system { - pname = "hyperobject"; - version = "20201016-git"; - asds = [ "hyperobject" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hyperobject/2020-10-16/hyperobject-20201016-git.tgz"; - sha256 = "1ggqlvwcd52c2d4k8csy7qciaq7lyldi0rpk3b9x4rw4gllcch8n"; - system = "hyperobject"; - asd = "hyperobject"; - }); - systems = [ "hyperobject" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - hyperspec = (build-asdf-system { - pname = "hyperspec"; - version = "20181210-git"; - asds = [ "hyperspec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hyperspec/2018-12-10/hyperspec-20181210-git.tgz"; - sha256 = "0zh1dq2451xw7yiycdr2mrcjx6rgnqnm8c8l9zhhn7hnf51b4x5l"; - system = "hyperspec"; - asd = "hyperspec"; - }); - systems = [ "hyperspec" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ia-hash-table = (build-asdf-system { - pname = "ia-hash-table"; - version = "20160318-git"; - asds = [ "ia-hash-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ia-hash-table/2016-03-18/ia-hash-table-20160318-git.tgz"; - sha256 = "11wnwjxa528yyjnfsvw315hyvq3lc996dwx83isdg4hlirj3amy4"; - system = "ia-hash-table"; - asd = "ia-hash-table"; - }); - systems = [ "ia-hash-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ia-hash-table_dot_test = (build-asdf-system { - pname = "ia-hash-table.test"; - version = "20160318-git"; - asds = [ "ia-hash-table.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ia-hash-table/2016-03-18/ia-hash-table-20160318-git.tgz"; - sha256 = "11wnwjxa528yyjnfsvw315hyvq3lc996dwx83isdg4hlirj3amy4"; - system = "ia-hash-table.test"; - asd = "ia-hash-table.test"; - }); - systems = [ "ia-hash-table.test" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "ia-hash-table" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - iclendar = (build-asdf-system { - pname = "iclendar"; - version = "20231021-git"; - asds = [ "iclendar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iclendar/2023-10-21/iclendar-20231021-git.tgz"; - sha256 = "13ic0zlwrlf6k08x7c8v96kjpbh1dmap15q4cv4in7rkx6rn2rsa"; - system = "iclendar"; - asd = "iclendar"; - }); - systems = [ "iclendar" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "closer-mop" self) (getAttr "documentation-utils" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - iconv = (build-asdf-system { - pname = "iconv"; - version = "20171227-git"; - asds = [ "iconv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-iconv/2017-12-27/cl-iconv-20171227-git.tgz"; - sha256 = "1lpw95c02inifhdh9kkab9q92i5w9zd788dww1wly2p0a6kyx9wg"; - system = "iconv"; - asd = "iconv"; - }); - systems = [ "iconv" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - id3v2 = (build-asdf-system { - pname = "id3v2"; - version = "20160208-git"; - asds = [ "id3v2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/id3v2/2016-02-08/id3v2-20160208-git.tgz"; - sha256 = "0x017dfh9m80b8ml2vsgdcfs4kv7p06yzmwdilf1k8nfsilwpfra"; - system = "id3v2"; - asd = "id3v2"; - }); - systems = [ "id3v2" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - id3v2-test = (build-asdf-system { - pname = "id3v2-test"; - version = "20160208-git"; - asds = [ "id3v2-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/id3v2/2016-02-08/id3v2-20160208-git.tgz"; - sha256 = "0x017dfh9m80b8ml2vsgdcfs4kv7p06yzmwdilf1k8nfsilwpfra"; - system = "id3v2-test"; - asd = "id3v2-test"; - }); - systems = [ "id3v2-test" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "id3v2" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - identifier-pool = (build-asdf-system { - pname = "identifier-pool"; - version = "20220707-git"; - asds = [ "identifier-pool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/identifier-pool/2022-07-07/identifier-pool-20220707-git.tgz"; - sha256 = "01fs960s02nf8m3a5v95r12magq9rvgcc3awcppqa7c8yg7qdc55"; - system = "identifier-pool"; - asd = "identifier-pool"; - }); - systems = [ "identifier-pool" ]; - lispLibs = [ (getAttr "dynamic-array" self) (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - idna = (build-asdf-system { - pname = "idna"; - version = "20120107-git"; - asds = [ "idna" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz"; - sha256 = "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"; - system = "idna"; - asd = "idna"; - }); - systems = [ "idna" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = {}; - }); - ieee-floats = (build-asdf-system { - pname = "ieee-floats"; - version = "20220220-git"; - asds = [ "ieee-floats" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ieee-floats/2022-02-20/ieee-floats-20220220-git.tgz"; - sha256 = "0qp2dxq9jzndjfmc8nh0fvcwrrxjm7f012biczipifjckp9gxw7d"; - system = "ieee-floats"; - asd = "ieee-floats"; - }); - systems = [ "ieee-floats" ]; - lispLibs = [ ]; - meta = {}; - }); - illogical-pathnames = (build-asdf-system { - pname = "illogical-pathnames"; - version = "20160825-git"; - asds = [ "illogical-pathnames" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/illogical-pathnames/2016-08-25/illogical-pathnames-20160825-git.tgz"; - sha256 = "1yjs1lzgak1d3hz2q6sbac98vqgdxp0dz72fskpz73vrbp6h6da5"; - system = "illogical-pathnames"; - asd = "illogical-pathnames"; - }); - systems = [ "illogical-pathnames" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - illusion = (build-asdf-system { - pname = "illusion"; - version = "20180831-git"; - asds = [ "illusion" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/illusion/2018-08-31/illusion-20180831-git.tgz"; - sha256 = "05wik6q8hlhm7szzymkljfigcp7z35j6rz2ihsmng1y6zq9crk7z"; - system = "illusion"; - asd = "illusion"; - }); - systems = [ "illusion" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "let-over-lambda" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - illusion-test = (build-asdf-system { - pname = "illusion-test"; - version = "20180831-git"; - asds = [ "illusion-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/illusion/2018-08-31/illusion-20180831-git.tgz"; - sha256 = "05wik6q8hlhm7szzymkljfigcp7z35j6rz2ihsmng1y6zq9crk7z"; - system = "illusion-test"; - asd = "illusion-test"; - }); - systems = [ "illusion-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "illusion" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - image = (build-asdf-system { - pname = "image"; - version = "20120107-git"; - asds = [ "image" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/image/2012-01-07/image-20120107-git.tgz"; - sha256 = "04by1snzw2kpw208fdi2azxbq5y2q2r6x8zkdh7jk43amkr18f5k"; - system = "image"; - asd = "image"; - }); - systems = [ "image" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "gzip-stream" self) (getAttr "skippy" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - image-test = (build-asdf-system { - pname = "image-test"; - version = "20211020-git"; - asds = [ "image-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; - sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; - system = "image-test"; - asd = "image-test"; - }); - systems = [ "image-test" ]; - lispLibs = [ (getAttr "png" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - image-utility = (build-asdf-system { - pname = "image-utility"; - version = "20200427-git"; - asds = [ "image-utility" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "image-utility"; - asd = "image-utility"; - }); - systems = [ "image-utility" ]; - lispLibs = [ (getAttr "opticl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - imago = (build-asdf-system { - pname = "imago"; - version = "20241012-git"; - asds = [ "imago" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/imago/2024-10-12/imago-20241012-git.tgz"; - sha256 = "1jhhlqbzdd68n8scl98dxfr92s1rgd43isgd317l3ynfjwz63wq1"; - system = "imago"; - asd = "imago"; - }); - systems = [ "imago" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "array-operations" self) (getAttr "cl-jpeg" self) (getAttr "flexi-streams" self) (getAttr "serapeum" self) (getAttr "trivial-gray-streams" self) (getAttr "zlib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - immutable-struct = (build-asdf-system { - pname = "immutable-struct"; - version = "20150709-git"; - asds = [ "immutable-struct" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/immutable-struct/2015-07-09/immutable-struct-20150709-git.tgz"; - sha256 = "02868d21hcc0kc3jw8afx23kj6iy1vyf2pddn8yqfrkpldhd0rv9"; - system = "immutable-struct"; - asd = "immutable-struct"; - }); - systems = [ "immutable-struct" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - in-nomine = (build-asdf-system { - pname = "in-nomine"; - version = "20241012-git"; - asds = [ "in-nomine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/in-nomine/2024-10-12/in-nomine-20241012-git.tgz"; - sha256 = "1wcfxqj5dfmkg94rnz2nsmyw8iwicncxmklnirlngqqvlcrd0rv4"; - system = "in-nomine"; - asd = "in-nomine"; - }); - systems = [ "in-nomine" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-arguments" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - incf-cl = (build-asdf-system { - pname = "incf-cl"; - version = "20190710-git"; - asds = [ "incf-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/incf-cl/2019-07-10/incf-cl-20190710-git.tgz"; - sha256 = "1yvwb57dzccvd2lw2h3mwxgbi8ml3cgkyy8kl8hwhd4s8c016ibb"; - system = "incf-cl"; - asd = "incf-cl"; - }); - systems = [ "incf-cl" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - incless = (build-asdf-system { - pname = "incless"; - version = "20241012-git"; - asds = [ "incless" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/incless/2024-10-12/incless-20241012-git.tgz"; - sha256 = "1ypxhsx3fqwfng3b425bsgxbra7asny9261amdbfd6p59r51cyiy"; - system = "incless"; - asd = "incless"; - }); - systems = [ "incless" ]; - lispLibs = [ (getAttr "quaviver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - incless-extrinsic = (build-asdf-system { - pname = "incless-extrinsic"; - version = "20241012-git"; - asds = [ "incless-extrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/incless/2024-10-12/incless-20241012-git.tgz"; - sha256 = "1ypxhsx3fqwfng3b425bsgxbra7asny9261amdbfd6p59r51cyiy"; - system = "incless-extrinsic"; - asd = "incless-extrinsic"; - }); - systems = [ "incless-extrinsic" ]; - lispLibs = [ (getAttr "incless" self) (getAttr "quaviver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - incless-native = (build-asdf-system { - pname = "incless-native"; - version = "20241012-git"; - asds = [ "incless-native" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/incless/2024-10-12/incless-20241012-git.tgz"; - sha256 = "1ypxhsx3fqwfng3b425bsgxbra7asny9261amdbfd6p59r51cyiy"; - system = "incless-native"; - asd = "incless-native"; - }); - systems = [ "incless-native" ]; - lispLibs = [ (getAttr "incless" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - incognito-keywords = (build-asdf-system { - pname = "incognito-keywords"; - version = "1.1"; - asds = [ "incognito-keywords" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/incognito-keywords/2013-01-28/incognito-keywords-1.1.tgz"; - sha256 = "1ignvz8v7bq8z9x22skzp1xsna2bxqcw22zh5sp9v2ndbjhqri5c"; - system = "incognito-keywords"; - asd = "incognito-keywords"; - }); - systems = [ "incognito-keywords" ]; - lispLibs = [ (getAttr "enhanced-eval-when" self) (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - incongruent-methods = (build-asdf-system { - pname = "incongruent-methods"; - version = "20130312-git"; - asds = [ "incongruent-methods" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/incongruent-methods/2013-03-12/incongruent-methods-20130312-git.tgz"; - sha256 = "15xfbpnqymbkk92vbirvccxcphyvjmxcw02yv1zs6c78aaf4ms9z"; - system = "incongruent-methods"; - asd = "incongruent-methods"; - }); - systems = [ "incongruent-methods" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inferior-shell = (build-asdf-system { - pname = "inferior-shell"; - version = "20241012-git"; - asds = [ "inferior-shell" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inferior-shell/2024-10-12/inferior-shell-20241012-git.tgz"; - sha256 = "1bmw0jjcpssahymqidz159pqbz5ficz56w7b97hfy1xnwkd2fwg5"; - system = "inferior-shell"; - asd = "inferior-shell"; - }); - systems = [ "inferior-shell" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fare-mop" self) (getAttr "fare-quasiquote-extras" self) (getAttr "fare-utils" self) (getAttr "trivia" self) (getAttr "trivia_dot_quasiquote" self) ]; - meta = {}; - }); - infix = (build-asdf-system { - pname = "infix"; - version = "20210411-git"; - asds = [ "infix" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "infix"; - asd = "infix"; - }); - systems = [ "infix" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - infix-dollar-reader = (build-asdf-system { - pname = "infix-dollar-reader"; - version = "20121013-git"; - asds = [ "infix-dollar-reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/infix-dollar-reader/2012-10-13/infix-dollar-reader-20121013-git.tgz"; - sha256 = "11sf4kqcw8s0zcjz1qpbhkn33rizvq5ijl6xp59q9wadvkd0wx0w"; - system = "infix-dollar-reader"; - asd = "infix-dollar-reader"; - }); - systems = [ "infix-dollar-reader" ]; - lispLibs = [ (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - infix-dollar-reader-test = (build-asdf-system { - pname = "infix-dollar-reader-test"; - version = "20121013-git"; - asds = [ "infix-dollar-reader-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/infix-dollar-reader/2012-10-13/infix-dollar-reader-20121013-git.tgz"; - sha256 = "11sf4kqcw8s0zcjz1qpbhkn33rizvq5ijl6xp59q9wadvkd0wx0w"; - system = "infix-dollar-reader-test"; - asd = "infix-dollar-reader-test"; - }); - systems = [ "infix-dollar-reader-test" ]; - lispLibs = [ (getAttr "infix-dollar-reader" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - infix-math = (build-asdf-system { - pname = "infix-math"; - version = "20211020-git"; - asds = [ "infix-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/infix-math/2021-10-20/infix-math-20211020-git.tgz"; - sha256 = "1h6p254xl793wfq3qla5y95k6zimy477f8brblx6ran3rg3bydbg"; - system = "infix-math"; - asd = "infix-math"; - }); - systems = [ "infix-math" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-package-system" self) (getAttr "parse-number" self) (getAttr "serapeum" self) (getAttr "wu-decimal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - infix-reader = (build-asdf-system { - pname = "infix-reader"; - version = "20221106-git"; - asds = [ "infix-reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/infix-reader/2022-11-06/infix-reader-20221106-git.tgz"; - sha256 = "16b6cw4w80p3yxsv0pqaiq0ay1v3jswlav2mlfsmhawpvhxsmb7z"; - system = "infix-reader"; - asd = "infix-reader"; - }); - systems = [ "infix-reader" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inheriting-readers = (build-asdf-system { - pname = "inheriting-readers"; - version = "1.0.1"; - asds = [ "inheriting-readers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inheriting-readers/2021-01-24/inheriting-readers_1.0.1.tgz"; - sha256 = "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p"; - system = "inheriting-readers"; - asd = "inheriting-readers"; - }); - systems = [ "inheriting-readers" ]; - lispLibs = [ (getAttr "class-options" self) (getAttr "closer-mop" self) (getAttr "compatible-metaclasses" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inheriting-readers__tests = (build-asdf-system { - pname = "inheriting-readers_tests"; - version = "1.0.1"; - asds = [ "inheriting-readers_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inheriting-readers/2021-01-24/inheriting-readers_1.0.1.tgz"; - sha256 = "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p"; - system = "inheriting-readers_tests"; - asd = "inheriting-readers_tests"; - }); - systems = [ "inheriting-readers_tests" ]; - lispLibs = [ (getAttr "compatible-metaclasses" self) (getAttr "inheriting-readers" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - injection = (build-asdf-system { - pname = "injection"; - version = "20160531-git"; - asds = [ "injection" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/injection/2016-05-31/injection-20160531-git.tgz"; - sha256 = "12f838ikgyl7gzh2dnqh54hfa8rncbkk266bsibmbbqxz0cn2da7"; - system = "injection"; - asd = "injection"; - }); - systems = [ "injection" ]; - lispLibs = [ (getAttr "cl-yaml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - injection-test = (build-asdf-system { - pname = "injection-test"; - version = "20160531-git"; - asds = [ "injection-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/injection/2016-05-31/injection-20160531-git.tgz"; - sha256 = "12f838ikgyl7gzh2dnqh54hfa8rncbkk266bsibmbbqxz0cn2da7"; - system = "injection-test"; - asd = "injection-test"; - }); - systems = [ "injection-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "injection" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inkwell = (build-asdf-system { - pname = "inkwell"; - version = "20231021-git"; - asds = [ "inkwell" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inkwell/2023-10-21/inkwell-20231021-git.tgz"; - sha256 = "07yxgs2zfnyr158v8q2s4npvzjzmpifx61hg7fc17dsmqgw296yc"; - system = "inkwell"; - asd = "inkwell"; - }); - systems = [ "inkwell" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "documentation-utils" self) (getAttr "drakma" self) (getAttr "local-time" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inlined-generic-function = (build-asdf-system { - pname = "inlined-generic-function"; - version = "20190521-git"; - asds = [ "inlined-generic-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inlined-generic-function/2019-05-21/inlined-generic-function-20190521-git.tgz"; - sha256 = "0kj9p99m9hwx4lx95npfln5dc5ip884f8agjc6h4y0rhnpj7r8gk"; - system = "inlined-generic-function"; - asd = "inlined-generic-function"; - }); - systems = [ "inlined-generic-function" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "introspect-environment" self) (getAttr "iterate" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inlined-generic-function_dot_test = (build-asdf-system { - pname = "inlined-generic-function.test"; - version = "20190521-git"; - asds = [ "inlined-generic-function.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inlined-generic-function/2019-05-21/inlined-generic-function-20190521-git.tgz"; - sha256 = "0kj9p99m9hwx4lx95npfln5dc5ip884f8agjc6h4y0rhnpj7r8gk"; - system = "inlined-generic-function.test"; - asd = "inlined-generic-function.test"; - }); - systems = [ "inlined-generic-function.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "inlined-generic-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inner-conditional = (build-asdf-system { - pname = "inner-conditional"; - version = "20200925-git"; - asds = [ "inner-conditional" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inner-conditional/2020-09-25/inner-conditional-20200925-git.tgz"; - sha256 = "08vaq29l2bhv4n1c6zb3syddwpad66rghfy71fqidjvbag0ji71k"; - system = "inner-conditional"; - asd = "inner-conditional"; - }); - systems = [ "inner-conditional" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-syntax-annot" self) (getAttr "iterate" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inner-conditional-test = (build-asdf-system { - pname = "inner-conditional-test"; - version = "20200925-git"; - asds = [ "inner-conditional-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inner-conditional/2020-09-25/inner-conditional-20200925-git.tgz"; - sha256 = "08vaq29l2bhv4n1c6zb3syddwpad66rghfy71fqidjvbag0ji71k"; - system = "inner-conditional-test"; - asd = "inner-conditional-test"; - }); - systems = [ "inner-conditional-test" ]; - lispLibs = [ (getAttr "cl-test-more" self) (getAttr "inner-conditional" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inotify = (build-asdf-system { - pname = "inotify"; - version = "20150608-git"; - asds = [ "inotify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inotify/2015-06-08/inotify-20150608-git.tgz"; - sha256 = "0jill05wsa7xbnkycc1ik1a05slv2h34fpyap2rxbnxvfjvyzw98"; - system = "inotify"; - asd = "inotify"; - }); - systems = [ "inotify" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "iolib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - input-event-codes = (build-asdf-system { - pname = "input-event-codes"; - version = "20221106-git"; - asds = [ "input-event-codes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/input-event-codes/2022-11-06/input-event-codes-20221106-git.tgz"; - sha256 = "1m96m9ia4frcn2xqaw4mfspjjzwl8gyj4k4rv0lq28va4s6mkgii"; - system = "input-event-codes"; - asd = "input-event-codes"; - }); - systems = [ "input-event-codes" ]; - lispLibs = [ (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inquisitor = (build-asdf-system { - pname = "inquisitor"; - version = "20190521-git"; - asds = [ "inquisitor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; - sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; - system = "inquisitor"; - asd = "inquisitor"; - }); - systems = [ "inquisitor" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inquisitor-flexi = (build-asdf-system { - pname = "inquisitor-flexi"; - version = "20190521-git"; - asds = [ "inquisitor-flexi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; - sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; - system = "inquisitor-flexi"; - asd = "inquisitor-flexi"; - }); - systems = [ "inquisitor-flexi" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "inquisitor" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inquisitor-flexi-test = (build-asdf-system { - pname = "inquisitor-flexi-test"; - version = "20190521-git"; - asds = [ "inquisitor-flexi-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; - sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; - system = "inquisitor-flexi-test"; - asd = "inquisitor-flexi-test"; - }); - systems = [ "inquisitor-flexi-test" ]; - lispLibs = [ (getAttr "inquisitor-flexi" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inquisitor-test = (build-asdf-system { - pname = "inquisitor-test"; - version = "20190521-git"; - asds = [ "inquisitor-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; - sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; - system = "inquisitor-test"; - asd = "inquisitor-test"; - }); - systems = [ "inquisitor-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "flexi-streams" self) (getAttr "inquisitor" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inravina = (build-asdf-system { - pname = "inravina"; - version = "20241012-git"; - asds = [ "inravina" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; - sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; - system = "inravina"; - asd = "inravina"; - }); - systems = [ "inravina" ]; - lispLibs = [ (getAttr "incless" self) (getAttr "nontrivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inravina-examples = (build-asdf-system { - pname = "inravina-examples"; - version = "20241012-git"; - asds = [ "inravina-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; - sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; - system = "inravina-examples"; - asd = "inravina-examples"; - }); - systems = [ "inravina-examples" ]; - lispLibs = [ (getAttr "cl-pdf" self) (getAttr "inravina-extrinsic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inravina-extrinsic = (build-asdf-system { - pname = "inravina-extrinsic"; - version = "20241012-git"; - asds = [ "inravina-extrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; - sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; - system = "inravina-extrinsic"; - asd = "inravina-extrinsic"; - }); - systems = [ "inravina-extrinsic" ]; - lispLibs = [ (getAttr "incless-extrinsic" self) (getAttr "inravina" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inravina-native = (build-asdf-system { - pname = "inravina-native"; - version = "20241012-git"; - asds = [ "inravina-native" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; - sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; - system = "inravina-native"; - asd = "inravina-native"; - }); - systems = [ "inravina-native" ]; - lispLibs = [ (getAttr "inravina" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - inravina-shim = (build-asdf-system { - pname = "inravina-shim"; - version = "20241012-git"; - asds = [ "inravina-shim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; - sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; - system = "inravina-shim"; - asd = "inravina-shim"; - }); - systems = [ "inravina-shim" ]; - lispLibs = [ (getAttr "incless-native" self) (getAttr "inravina" self) (getAttr "trivial-package-locks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - instance-tracking = (build-asdf-system { - pname = "instance-tracking"; - version = "20221106-git"; - asds = [ "instance-tracking" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/instance-tracking/2022-11-06/instance-tracking-20221106-git.tgz"; - sha256 = "0bbxvl14ahws30x5dgjhilhybjgn1jfcbxwr8ji1ls31zf88fphr"; - system = "instance-tracking"; - asd = "instance-tracking"; - }); - systems = [ "instance-tracking" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - integral = (build-asdf-system { - pname = "integral"; - version = "20200325-git"; - asds = [ "integral" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/integral/2020-03-25/integral-20200325-git.tgz"; - sha256 = "17a9wg7n3f81fsi5mlsdxain1fw7ggfniipfrb9sr1ajff6lx9gs"; - system = "integral"; - asd = "integral"; - }); - systems = [ "integral" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax-annot" self) (getAttr "clos-fixtures" self) (getAttr "closer-mop" self) (getAttr "dbi" self) (getAttr "group-by" self) (getAttr "iterate" self) (getAttr "split-sequence" self) (getAttr "sxql" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - integral-rest = (build-asdf-system { - pname = "integral-rest"; - version = "20150923-git"; - asds = [ "integral-rest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/integral-rest/2015-09-23/integral-rest-20150923-git.tgz"; - sha256 = "0187d9i7acw2v1hhy7wcz0vk90ji7cdgpaikb7admvzq0nnbzrmm"; - system = "integral-rest"; - asd = "integral-rest"; - }); - systems = [ "integral-rest" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-inflector" self) (getAttr "closer-mop" self) (getAttr "integral" self) (getAttr "jonathan" self) (getAttr "map-set" self) (getAttr "ningle" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - integral-rest-test = (build-asdf-system { - pname = "integral-rest-test"; - version = "20150923-git"; - asds = [ "integral-rest-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/integral-rest/2015-09-23/integral-rest-20150923-git.tgz"; - sha256 = "0187d9i7acw2v1hhy7wcz0vk90ji7cdgpaikb7admvzq0nnbzrmm"; - system = "integral-rest-test"; - asd = "integral-rest-test"; - }); - systems = [ "integral-rest-test" ]; - lispLibs = [ (getAttr "integral" self) (getAttr "integral-rest" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - integral-test = (build-asdf-system { - pname = "integral-test"; - version = "20200325-git"; - asds = [ "integral-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/integral/2020-03-25/integral-20200325-git.tgz"; - sha256 = "17a9wg7n3f81fsi5mlsdxain1fw7ggfniipfrb9sr1ajff6lx9gs"; - system = "integral-test"; - asd = "integral-test"; - }); - systems = [ "integral-test" ]; - lispLibs = [ (getAttr "integral" self) (getAttr "local-time" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - intel-hex = (build-asdf-system { - pname = "intel-hex"; - version = "20160318-git"; - asds = [ "intel-hex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/intel-hex/2016-03-18/intel-hex-20160318-git.tgz"; - sha256 = "0sz51qw262nh6ziwpy1kgv257nj56rp42s0g6g2rx3xv1ijdy395"; - system = "intel-hex"; - asd = "intel-hex"; - }); - systems = [ "intel-hex" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - intel-hex-test = (build-asdf-system { - pname = "intel-hex-test"; - version = "20160318-git"; - asds = [ "intel-hex-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/intel-hex/2016-03-18/intel-hex-20160318-git.tgz"; - sha256 = "0sz51qw262nh6ziwpy1kgv257nj56rp42s0g6g2rx3xv1ijdy395"; - system = "intel-hex-test"; - asd = "intel-hex-test"; - }); - systems = [ "intel-hex-test" ]; - lispLibs = [ (getAttr "intel-hex" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - intercom = (build-asdf-system { - pname = "intercom"; - version = "20130615-git"; - asds = [ "intercom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/intercom/2013-06-15/intercom-20130615-git.tgz"; - sha256 = "017klgjsza4cxdxms4hxgrfrwjshkcr2yyxnhg14zs9w0vjwkikl"; - system = "intercom"; - asd = "intercom"; - }); - systems = [ "intercom" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "hunchentoot" self) (getAttr "jsown" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - intercom-examples = (build-asdf-system { - pname = "intercom-examples"; - version = "20130615-git"; - asds = [ "intercom-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/intercom/2013-06-15/intercom-20130615-git.tgz"; - sha256 = "017klgjsza4cxdxms4hxgrfrwjshkcr2yyxnhg14zs9w0vjwkikl"; - system = "intercom-examples"; - asd = "intercom-examples"; - }); - systems = [ "intercom-examples" ]; - lispLibs = [ (getAttr "intercom" self) (getAttr "jsown" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - interface = (build-asdf-system { - pname = "interface"; - version = "20230618-git"; - asds = [ "interface" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/interface/2023-06-18/interface-20230618-git.tgz"; - sha256 = "0h1bckhyig2znl6nrd3agjzz7knrm2kyh2vfyk7j60kzki9rpzxy"; - system = "interface"; - asd = "interface"; - }); - systems = [ "interface" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "global-vars" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - interfaces-test-implementation = (build-asdf-system { - pname = "interfaces-test-implementation"; - version = "20231021-git"; - asds = [ "interfaces-test-implementation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modularize-interfaces/2023-10-21/modularize-interfaces-20231021-git.tgz"; - sha256 = "0lmq2jbkbr5wrrjl2qb1x64fcvl0lmii0h9301b9bq4d47s4w8sh"; - system = "interfaces-test-implementation"; - asd = "interfaces-test-implementation"; - }); - systems = [ "interfaces-test-implementation" ]; - lispLibs = [ (getAttr "modularize" self) (getAttr "modularize-interfaces" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - introspect-environment = (build-asdf-system { - pname = "introspect-environment"; - version = "20241012-git"; - asds = [ "introspect-environment" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/introspect-environment/2024-10-12/introspect-environment-20241012-git.tgz"; - sha256 = "1jll8h1fmf9i8nk3j3hrh62s858fzmly22zb690a2hnb685w3zlf"; - system = "introspect-environment"; - asd = "introspect-environment"; - }); - systems = [ "introspect-environment" ]; - lispLibs = [ ]; - meta = {}; - }); - introspect-environment-test = (build-asdf-system { - pname = "introspect-environment-test"; - version = "20241012-git"; - asds = [ "introspect-environment-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/introspect-environment/2024-10-12/introspect-environment-20241012-git.tgz"; - sha256 = "1jll8h1fmf9i8nk3j3hrh62s858fzmly22zb690a2hnb685w3zlf"; - system = "introspect-environment-test"; - asd = "introspect-environment-test"; - }); - systems = [ "introspect-environment-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "introspect-environment" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - invistra = (build-asdf-system { - pname = "invistra"; - version = "20241012-git"; - asds = [ "invistra" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/invistra/2024-10-12/invistra-20241012-git.tgz"; - sha256 = "14ja35zqa85hjl9wxkwrff2wnlfflxi6lnkw0ic7jp7b59f80qas"; - system = "invistra"; - asd = "invistra"; - }); - systems = [ "invistra" ]; - lispLibs = [ (getAttr "acclimation" self) (getAttr "incless" self) (getAttr "inravina" self) (getAttr "nontrivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - invistra-extrinsic = (build-asdf-system { - pname = "invistra-extrinsic"; - version = "20241012-git"; - asds = [ "invistra-extrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/invistra/2024-10-12/invistra-20241012-git.tgz"; - sha256 = "14ja35zqa85hjl9wxkwrff2wnlfflxi6lnkw0ic7jp7b59f80qas"; - system = "invistra-extrinsic"; - asd = "invistra-extrinsic"; - }); - systems = [ "invistra-extrinsic" ]; - lispLibs = [ (getAttr "inravina-extrinsic" self) (getAttr "invistra" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - invistra-numeral = (build-asdf-system { - pname = "invistra-numeral"; - version = "20241012-git"; - asds = [ "invistra-numeral" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/invistra/2024-10-12/invistra-20241012-git.tgz"; - sha256 = "14ja35zqa85hjl9wxkwrff2wnlfflxi6lnkw0ic7jp7b59f80qas"; - system = "invistra-numeral"; - asd = "invistra-numeral"; - }); - systems = [ "invistra-numeral" ]; - lispLibs = [ (getAttr "invistra" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - iolib = (build-asdf-system { - pname = "iolib"; - version = "v0.8.4"; - asds = [ "iolib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; - sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; - system = "iolib"; - asd = "iolib"; - }); - systems = [ "iolib" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "idna" self) (getAttr "iolib_dot_asdf" self) (getAttr "iolib_dot_base" self) (getAttr "iolib_dot_conf" self) (getAttr "swap-bytes" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - iolib_dot_asdf = (build-asdf-system { - pname = "iolib.asdf"; - version = "v0.8.4"; - asds = [ "iolib.asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; - sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; - system = "iolib.asdf"; - asd = "iolib.asdf"; - }); - systems = [ "iolib.asdf" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - iolib_dot_base = (build-asdf-system { - pname = "iolib.base"; - version = "v0.8.4"; - asds = [ "iolib.base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; - sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; - system = "iolib.base"; - asd = "iolib.base"; - }); - systems = [ "iolib.base" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iolib_dot_asdf" self) (getAttr "iolib_dot_common-lisp" self) (getAttr "iolib_dot_conf" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - iolib_dot_common-lisp = (build-asdf-system { - pname = "iolib.common-lisp"; - version = "v0.8.4"; - asds = [ "iolib.common-lisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; - sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; - system = "iolib.common-lisp"; - asd = "iolib.common-lisp"; - }); - systems = [ "iolib.common-lisp" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iolib_dot_asdf" self) (getAttr "iolib_dot_conf" self) ]; - meta = {}; - }); - iolib_dot_conf = (build-asdf-system { - pname = "iolib.conf"; - version = "v0.8.4"; - asds = [ "iolib.conf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; - sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; - system = "iolib.conf"; - asd = "iolib.conf"; - }); - systems = [ "iolib.conf" ]; - lispLibs = [ (getAttr "iolib_dot_asdf" self) ]; - meta = {}; - }); - iolib_dot_examples = (build-asdf-system { - pname = "iolib.examples"; - version = "v0.8.4"; - asds = [ "iolib.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; - sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; - system = "iolib.examples"; - asd = "iolib.examples"; - }); - systems = [ "iolib.examples" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "iolib" self) (getAttr "iolib_dot_asdf" self) (getAttr "iolib_dot_base" self) (getAttr "iolib_dot_conf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ip-interfaces = (build-asdf-system { - pname = "ip-interfaces"; - version = "0.2.1"; - asds = [ "ip-interfaces" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ip-interfaces/2018-12-10/ip-interfaces-0.2.1.tgz"; - sha256 = "035sc4li0qz4lzjn555h8r2qkhc8a65zglk30f1b3pi9p44g91mw"; - system = "ip-interfaces"; - asd = "ip-interfaces"; - }); - systems = [ "ip-interfaces" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ip-interfaces-test = (build-asdf-system { - pname = "ip-interfaces-test"; - version = "0.2.1"; - asds = [ "ip-interfaces-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ip-interfaces/2018-12-10/ip-interfaces-0.2.1.tgz"; - sha256 = "035sc4li0qz4lzjn555h8r2qkhc8a65zglk30f1b3pi9p44g91mw"; - system = "ip-interfaces-test"; - asd = "ip-interfaces-test"; - }); - systems = [ "ip-interfaces-test" ]; - lispLibs = [ (getAttr "ip-interfaces" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - irc-logger = (build-asdf-system { - pname = "irc-logger"; - version = "20150923-git"; - asds = [ "irc-logger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/irc-logger/2015-09-23/irc-logger-20150923-git.tgz"; - sha256 = "1ylq8qnf29dij7133p19cmmmw3i7w6azncsdvpd4j0k1fqp14bq7"; - system = "irc-logger"; - asd = "irc-logger"; - }); - systems = [ "irc-logger" ]; - lispLibs = [ (getAttr "cl-irc" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ironclad = (build-asdf-system { - pname = "ironclad"; - version = "v0.61"; - asds = [ "ironclad" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ironclad/2024-10-12/ironclad-v0.61.tgz"; - sha256 = "1yszjy6a0q1jvdgd7fpmnvi9851s8ivp4plscw27lbnl7jlj1pmk"; - system = "ironclad"; - asd = "ironclad"; - }); - systems = [ "ironclad" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = {}; - }); - ironclad-text = (build-asdf-system { - pname = "ironclad-text"; - version = "v0.61"; - asds = [ "ironclad-text" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ironclad/2024-10-12/ironclad-v0.61.tgz"; - sha256 = "1yszjy6a0q1jvdgd7fpmnvi9851s8ivp4plscw27lbnl7jlj1pmk"; - system = "ironclad-text"; - asd = "ironclad-text"; - }); - systems = [ "ironclad-text" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - isolated = (build-asdf-system { - pname = "isolated"; - version = "20200218-git"; - asds = [ "isolated" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-isolated/2020-02-18/cl-isolated-20200218-git.tgz"; - sha256 = "01wbis4dw2cy7d2yh30rwvmlx3dr5s9dx8hs19xhjpznjbqfyksi"; - system = "isolated"; - asd = "isolated"; - }); - systems = [ "isolated" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - issr = (build-asdf-system { - pname = "issr"; - version = "20211020-git"; - asds = [ "issr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/hunchenissr/2021-10-20/hunchenissr-20211020-git.tgz"; - sha256 = "1dfm7zdvyj14my8giznq1vsy20nj7my71y7a657slhf6v2cap5vs"; - system = "issr"; - asd = "issr"; - }); - systems = [ "issr" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "do-urlencode" self) (getAttr "hunchentoot" self) (getAttr "jonathan" self) (getAttr "plump" self) (getAttr "portal" self) (getAttr "str" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) (getAttr "yxorp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - issr-core = (build-asdf-system { - pname = "issr-core"; - version = "20210228-git"; - asds = [ "issr-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/core/2021-02-28/core-20210228-git.tgz"; - sha256 = "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"; - system = "issr-core"; - asd = "issr-core"; - }); - systems = [ "issr-core" ]; - lispLibs = [ (getAttr "global-vars" self) (getAttr "plump" self) (getAttr "str" self) (getAttr "tailrec" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - iterate = (build-asdf-system { - pname = "iterate"; - version = "release-b0f9a9c6-git"; - asds = [ "iterate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iterate/2021-05-31/iterate-release-b0f9a9c6-git.tgz"; - sha256 = "09xq2mdr97hagjrjpc47mp8l9wfp697aa9qaqmsy0yskayzg6xsc"; - system = "iterate"; - asd = "iterate"; - }); - systems = [ "iterate" ]; - lispLibs = [ ]; - meta = {}; - }); - iterate-clsql = (build-asdf-system { - pname = "iterate-clsql"; - version = "20130312-http"; - asds = [ "iterate-clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/iterate-clsql/2013-03-12/iterate-clsql-20130312-http.tgz"; - sha256 = "0adfs31zin5kkg9z5kyzykf8gmcgr600vvi4mjx7nixybh326h3h"; - system = "iterate-clsql"; - asd = "iterate-clsql"; - }); - systems = [ "iterate-clsql" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ixf = (build-asdf-system { - pname = "ixf"; - version = "20180228-git"; - asds = [ "ixf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-ixf/2018-02-28/cl-ixf-20180228-git.tgz"; - sha256 = "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"; - system = "ixf"; - asd = "ixf"; - }); - systems = [ "ixf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "ieee-floats" self) (getAttr "local-time" self) (getAttr "md5" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jenkins_dot_api = (build-asdf-system { - pname = "jenkins.api"; - version = "20130312-git"; - asds = [ "jenkins.api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jenkins/2013-03-12/jenkins-20130312-git.tgz"; - sha256 = "1kis95k3fwlaq2jbpia0wps4gq461w6p57dxlbvb0c6a5dgh4dwf"; - system = "jenkins.api"; - asd = "jenkins.api"; - }); - systems = [ "jenkins.api" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "drakma" self) (getAttr "iterate" self) (getAttr "let-plus" self) (getAttr "more-conditions" self) (getAttr "puri" self) (getAttr "split-sequence" self) (getAttr "xml_dot_location" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingle = (build-asdf-system { - pname = "jingle"; - version = "20231021-git"; - asds = [ "jingle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; - sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; - system = "jingle"; - asd = "jingle"; - }); - systems = [ "jingle" ]; - lispLibs = [ (getAttr "cl-reexport" self) (getAttr "clack" self) (getAttr "find-port" self) (getAttr "jonathan" self) (getAttr "lack" self) (getAttr "lack-app-directory" self) (getAttr "lack-middleware-mount" self) (getAttr "lack-middleware-static" self) (getAttr "local-time" self) (getAttr "myway" self) (getAttr "ningle" self) (getAttr "quri" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingle_dot_demo = (build-asdf-system { - pname = "jingle.demo"; - version = "20231021-git"; - asds = [ "jingle.demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; - sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; - system = "jingle.demo"; - asd = "jingle.demo"; - }); - systems = [ "jingle.demo" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ascii-table" self) (getAttr "clack-handler-hunchentoot" self) (getAttr "clingon" self) (getAttr "dexador" self) (getAttr "jingle" self) (getAttr "jonathan" self) (getAttr "lack-middleware-accesslog" self) (getAttr "local-time" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingle_dot_demo_dot_test = (build-asdf-system { - pname = "jingle.demo.test"; - version = "20231021-git"; - asds = [ "jingle.demo.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; - sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; - system = "jingle.demo.test"; - asd = "jingle.demo.test"; - }); - systems = [ "jingle.demo.test" ]; - lispLibs = [ (getAttr "jingle_dot_demo" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingle_dot_test = (build-asdf-system { - pname = "jingle.test"; - version = "20231021-git"; - asds = [ "jingle.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; - sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; - system = "jingle.test"; - asd = "jingle.test"; - }); - systems = [ "jingle.test" ]; - lispLibs = [ (getAttr "jingle" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh = (build-asdf-system { - pname = "jingoh"; - version = "20220707-git"; - asds = [ "jingoh" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh"; - asd = "jingoh"; - }); - systems = [ "jingoh" ]; - lispLibs = [ (getAttr "jingoh_dot_examiner" self) (getAttr "jingoh_dot_org" self) (getAttr "jingoh_dot_reader" self) (getAttr "jingoh_dot_tester" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_documentizer = (build-asdf-system { - pname = "jingoh.documentizer"; - version = "20220707-git"; - asds = [ "jingoh.documentizer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.documentizer"; - asd = "jingoh.documentizer"; - }); - systems = [ "jingoh.documentizer" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "cl-ppcre" self) (getAttr "eclector" self) (getAttr "read-as-string" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_documentizer_dot_test = (build-asdf-system { - pname = "jingoh.documentizer.test"; - version = "20220707-git"; - asds = [ "jingoh.documentizer.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.documentizer.test"; - asd = "jingoh.documentizer.test"; - }); - systems = [ "jingoh.documentizer.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_examiner = (build-asdf-system { - pname = "jingoh.examiner"; - version = "20220707-git"; - asds = [ "jingoh.examiner" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.examiner"; - asd = "jingoh.examiner"; - }); - systems = [ "jingoh.examiner" ]; - lispLibs = [ (getAttr "cl-ansi-text" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "jingoh_dot_org" self) (getAttr "jingoh_dot_tester" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_examiner_dot_test = (build-asdf-system { - pname = "jingoh.examiner.test"; - version = "20220707-git"; - asds = [ "jingoh.examiner.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.examiner.test"; - asd = "jingoh.examiner.test"; - }); - systems = [ "jingoh.examiner.test" ]; - lispLibs = [ (getAttr "cl-ansi-text" self) (getAttr "jingoh" self) (getAttr "jingoh_dot_examiner" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_generator = (build-asdf-system { - pname = "jingoh.generator"; - version = "20220707-git"; - asds = [ "jingoh.generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.generator"; - asd = "jingoh.generator"; - }); - systems = [ "jingoh.generator" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-unification" self) (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "lambda-fiddle" self) (getAttr "millet" self) (getAttr "named-readtables" self) (getAttr "prompt-for" self) (getAttr "trivial-cltl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_generator_dot_test = (build-asdf-system { - pname = "jingoh.generator.test"; - version = "20220707-git"; - asds = [ "jingoh.generator.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.generator.test"; - asd = "jingoh.generator.test"; - }); - systems = [ "jingoh.generator.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "jingoh_dot_generator" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_org = (build-asdf-system { - pname = "jingoh.org"; - version = "20220707-git"; - asds = [ "jingoh.org" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.org"; - asd = "jingoh.org"; - }); - systems = [ "jingoh.org" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "check-bnf" self) (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_org_dot_test = (build-asdf-system { - pname = "jingoh.org.test"; - version = "20220707-git"; - asds = [ "jingoh.org.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.org.test"; - asd = "jingoh.org.test"; - }); - systems = [ "jingoh.org.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "jingoh_dot_org" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_parallel = (build-asdf-system { - pname = "jingoh.parallel"; - version = "20220707-git"; - asds = [ "jingoh.parallel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.parallel"; - asd = "jingoh.parallel"; - }); - systems = [ "jingoh.parallel" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-cpus" self) (getAttr "jingoh" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_parallel_dot_test = (build-asdf-system { - pname = "jingoh.parallel.test"; - version = "20220707-git"; - asds = [ "jingoh.parallel.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.parallel.test"; - asd = "jingoh.parallel.test"; - }); - systems = [ "jingoh.parallel.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "jingoh_dot_parallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_reader = (build-asdf-system { - pname = "jingoh.reader"; - version = "20220707-git"; - asds = [ "jingoh.reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.reader"; - asd = "jingoh.reader"; - }); - systems = [ "jingoh.reader" ]; - lispLibs = [ (getAttr "eclector" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "jingoh_dot_tester" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_reader_dot_test = (build-asdf-system { - pname = "jingoh.reader.test"; - version = "20220707-git"; - asds = [ "jingoh.reader.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.reader.test"; - asd = "jingoh.reader.test"; - }); - systems = [ "jingoh.reader.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "jingoh_dot_reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_tester = (build-asdf-system { - pname = "jingoh.tester"; - version = "20220707-git"; - asds = [ "jingoh.tester" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.tester"; - asd = "jingoh.tester"; - }); - systems = [ "jingoh.tester" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "check-bnf" self) (getAttr "cl-ansi-text" self) (getAttr "cl-colors2" self) (getAttr "closer-mop" self) (getAttr "fuzzy-match" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "jingoh_dot_org" self) (getAttr "structure-ext" self) (getAttr "vivid-colors" self) (getAttr "vivid-diff" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jingoh_dot_tester_dot_test = (build-asdf-system { - pname = "jingoh.tester.test"; - version = "20220707-git"; - asds = [ "jingoh.tester.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; - sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; - system = "jingoh.tester.test"; - asd = "jingoh.tester.test"; - }); - systems = [ "jingoh.tester.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "jingoh_dot_tester" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jonathan = (build-asdf-system { - pname = "jonathan"; - version = "20200925-git"; - asds = [ "jonathan" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jonathan/2020-09-25/jonathan-20200925-git.tgz"; - sha256 = "1l4sfxfmijibsvkbszikzslw1yy8z52ml9may1w2s0ay7lg7rsng"; - system = "jonathan"; - asd = "jonathan"; - }); - systems = [ "jonathan" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-annot" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) (getAttr "fast-io" self) (getAttr "proc-parse" self) (getAttr "trivial-types" self) ]; - meta = {}; - }); - jonathan-test = (build-asdf-system { - pname = "jonathan-test"; - version = "20200925-git"; - asds = [ "jonathan-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jonathan/2020-09-25/jonathan-20200925-git.tgz"; - sha256 = "1l4sfxfmijibsvkbszikzslw1yy8z52ml9may1w2s0ay7lg7rsng"; - system = "jonathan-test"; - asd = "jonathan-test"; - }); - systems = [ "jonathan-test" ]; - lispLibs = [ (getAttr "jonathan" self) (getAttr "legion" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jose = (build-asdf-system { - pname = "jose"; - version = "20241012-git"; - asds = [ "jose" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jose/2024-10-12/jose-20241012-git.tgz"; - sha256 = "1z7xjy4ihxa8ay5vznhnxkjflfx6xmfpgwxdakk9wmkw30p2yn4h"; - system = "jose"; - asd = "jose"; - }); - systems = [ "jose" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "assoc-utils" self) (getAttr "cl-base64" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "split-sequence" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - journal = (build-asdf-system { - pname = "journal"; - version = "20231021-git"; - asds = [ "journal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/journal/2023-10-21/journal-20231021-git.tgz"; - sha256 = "0h55mi3n0cwsl3gb9v7xsl9jzq0x5fbv2s8a0haby7g9995jr98v"; - system = "journal"; - asd = "journal"; - }); - systems = [ "journal" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "local-time" self) (getAttr "mgl-pax" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jp-numeral = (build-asdf-system { - pname = "jp-numeral"; - version = "20221106-git"; - asds = [ "jp-numeral" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jp-numeral/2022-11-06/jp-numeral-20221106-git.tgz"; - sha256 = "1xqvah6mjd8lb2n19wzsn29q6az9kx1c48js3yj0ij73kjncby30"; - system = "jp-numeral"; - asd = "jp-numeral"; - }); - systems = [ "jp-numeral" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jp-numeral-test = (build-asdf-system { - pname = "jp-numeral-test"; - version = "20221106-git"; - asds = [ "jp-numeral-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jp-numeral/2022-11-06/jp-numeral-20221106-git.tgz"; - sha256 = "1xqvah6mjd8lb2n19wzsn29q6az9kx1c48js3yj0ij73kjncby30"; - system = "jp-numeral-test"; - asd = "jp-numeral-test"; - }); - systems = [ "jp-numeral-test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "alexandria" self) (getAttr "jp-numeral" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jpeg-turbo = (build-asdf-system { - pname = "jpeg-turbo"; - version = "20201220-git"; - asds = [ "jpeg-turbo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jpeg-turbo/2020-12-20/jpeg-turbo-20201220-git.tgz"; - sha256 = "1andd1ibbk3224idnpsnrn96flr5d1wm9ja3di57fs04wn577sag"; - system = "jpeg-turbo"; - asd = "jpeg-turbo"; - }); - systems = [ "jpeg-turbo" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jpl-queues = (build-asdf-system { - pname = "jpl-queues"; - version = "0.1"; - asds = [ "jpl-queues" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jpl-queues/2010-10-06/jpl-queues-0.1.tgz"; - sha256 = "1xgddsfa1gr0cjmdlc304j3msxi8w2fyk9i497x56kmkif7pkj88"; - system = "jpl-queues"; - asd = "jpl-queues"; - }); - systems = [ "jpl-queues" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "jpl-util" self) ]; - meta = {}; - }); - jpl-util = (build-asdf-system { - pname = "jpl-util"; - version = "20151031-git"; - asds = [ "jpl-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-jpl-util/2015-10-31/cl-jpl-util-20151031-git.tgz"; - sha256 = "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"; - system = "jpl-util"; - asd = "jpl-util"; - }); - systems = [ "jpl-util" ]; - lispLibs = [ ]; - meta = {}; - }); - js-parser = (build-asdf-system { - pname = "js-parser"; - version = "20150407-git"; - asds = [ "js-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/js-parser/2015-04-07/js-parser-20150407-git.tgz"; - sha256 = "0hqw515vyhrv1as5sfn3l792ddjps85zbzpblr2cjyq9dmdrg89a"; - system = "js-parser"; - asd = "js-parser"; - }); - systems = [ "js-parser" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - js-parser-tests = (build-asdf-system { - pname = "js-parser-tests"; - version = "20150407-git"; - asds = [ "js-parser-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/js-parser/2015-04-07/js-parser-20150407-git.tgz"; - sha256 = "0hqw515vyhrv1as5sfn3l792ddjps85zbzpblr2cjyq9dmdrg89a"; - system = "js-parser-tests"; - asd = "js-parser-tests"; - }); - systems = [ "js-parser-tests" ]; - lispLibs = [ (getAttr "js-parser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-lib = (build-asdf-system { - pname = "json-lib"; - version = "20230618-git"; - asds = [ "json-lib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-lib/2023-06-18/json-lib-20230618-git.tgz"; - sha256 = "08cbnj6h53ifwm6kk5pvpxmy2a11kiph9zjccd2ml3fj6257krpv"; - system = "json-lib"; - asd = "json-lib"; - }); - systems = [ "json-lib" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-fad" self) (getAttr "parse-float" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-mop = (build-asdf-system { - pname = "json-mop"; - version = "20241012-git"; - asds = [ "json-mop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-mop/2024-10-12/json-mop-20241012-git.tgz"; - sha256 = "1q6mmq64hf4v448bnzfh8nxsxg5h18a9snh785r1fnvv1aij3fi1"; - system = "json-mop"; - asd = "json-mop"; - }); - systems = [ "json-mop" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "closer-mop" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-mop-tests = (build-asdf-system { - pname = "json-mop-tests"; - version = "20241012-git"; - asds = [ "json-mop-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-mop/2024-10-12/json-mop-20241012-git.tgz"; - sha256 = "1q6mmq64hf4v448bnzfh8nxsxg5h18a9snh785r1fnvv1aij3fi1"; - system = "json-mop-tests"; - asd = "json-mop-tests"; - }); - systems = [ "json-mop-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "json-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-responses = (build-asdf-system { - pname = "json-responses"; - version = "20190307-hg"; - asds = [ "json-responses" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz"; - sha256 = "0f1hrs3rhi6qn0r8qd3fbsknn417b8v8b4s4989yfwfvnf922g05"; - system = "json-responses"; - asd = "json-responses"; - }); - systems = [ "json-responses" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-responses-test = (build-asdf-system { - pname = "json-responses-test"; - version = "20190307-hg"; - asds = [ "json-responses-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz"; - sha256 = "0f1hrs3rhi6qn0r8qd3fbsknn417b8v8b4s4989yfwfvnf922g05"; - system = "json-responses-test"; - asd = "json-responses"; - }); - systems = [ "json-responses-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "json-responses" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-schema = (build-asdf-system { - pname = "json-schema"; - version = "20221106-git"; - asds = [ "json-schema" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-schema/2022-11-06/json-schema-20221106-git.tgz"; - sha256 = "11rgnj14p8x059zx8hs02jji1p69v8kix783vf557zpcbydrw2mn"; - system = "json-schema"; - asd = "json-schema"; - }); - systems = [ "json-schema" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arrows" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "function-cache" self) (getAttr "local-time" self) (getAttr "local-time-duration" self) (getAttr "quri" self) (getAttr "sanity-clause" self) (getAttr "st-json" self) (getAttr "str" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-streams = (build-asdf-system { - pname = "json-streams"; - version = "20171019-git"; - asds = [ "json-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-streams/2017-10-19/json-streams-20171019-git.tgz"; - sha256 = "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"; - system = "json-streams"; - asd = "json-streams"; - }); - systems = [ "json-streams" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-streams-tests = (build-asdf-system { - pname = "json-streams-tests"; - version = "20171019-git"; - asds = [ "json-streams-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/json-streams/2017-10-19/json-streams-20171019-git.tgz"; - sha256 = "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"; - system = "json-streams-tests"; - asd = "json-streams-tests"; - }); - systems = [ "json-streams-tests" ]; - lispLibs = [ (getAttr "cl-quickcheck" self) (getAttr "flexi-streams" self) (getAttr "json-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - json-test-suite = (build-asdf-system { - pname = "json-test-suite"; - version = "20230618-git"; - asds = [ "json-test-suite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-json/2023-06-18/rs-json-20230618-git.tgz"; - sha256 = "0y71as0sg5vfijpzdhv6pj6yv064ldn2shx0y4da8kvaqv949dnq"; - system = "json-test-suite"; - asd = "json-test-suite"; - }); - systems = [ "json-test-suite" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jsonrpc = (build-asdf-system { - pname = "jsonrpc"; - version = "20241012-git"; - asds = [ "jsonrpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jsonrpc/2024-10-12/jsonrpc-20241012-git.tgz"; - sha256 = "1wsc6bv8xpzad0lgrlldzrpb9r4aksnw7ss2ifwa7ykbzfxcr8gi"; - system = "jsonrpc"; - asd = "jsonrpc"; - }); - systems = [ "jsonrpc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "chanl" self) (getAttr "dissect" self) (getAttr "trivial-timeout" self) (getAttr "usocket" self) (getAttr "vom" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jsown = (build-asdf-system { - pname = "jsown"; - version = "20200218-git"; - asds = [ "jsown" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jsown/2020-02-18/jsown-20200218-git.tgz"; - sha256 = "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"; - system = "jsown"; - asd = "jsown"; - }); - systems = [ "jsown" ]; - lispLibs = [ ]; - meta = {}; - }); - jsown-tests = (build-asdf-system { - pname = "jsown-tests"; - version = "20200218-git"; - asds = [ "jsown-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jsown/2020-02-18/jsown-20200218-git.tgz"; - sha256 = "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"; - system = "jsown-tests"; - asd = "jsown-tests"; - }); - systems = [ "jsown-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "jsown" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jsown-utils = (build-asdf-system { - pname = "jsown-utils"; - version = "20220707-git"; - asds = [ "jsown-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jsown-utils/2022-07-07/jsown-utils-20220707-git.tgz"; - sha256 = "046a18fywkim0jbnpls5zqdv65j1kwl268p4dbdd2dxgx050fwak"; - system = "jsown-utils"; - asd = "jsown-utils"; - }); - systems = [ "jsown-utils" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "jsown" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jupyter-lab-extension = (build-asdf-system { - pname = "jupyter-lab-extension"; - version = "20241012-git"; - asds = [ "jupyter-lab-extension" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/common-lisp-jupyter/2024-10-12/common-lisp-jupyter-20241012-git.tgz"; - sha256 = "1qbrzv0myxfxq7rzm2y9cm2xymkl982982h2kbsl7d1yd5hrjvl6"; - system = "jupyter-lab-extension"; - asd = "jupyter-lab-extension"; - }); - systems = [ "jupyter-lab-extension" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - just-getopt-parser = (build-asdf-system { - pname = "just-getopt-parser"; - version = "20211209-git"; - asds = [ "just-getopt-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-just-getopt-parser/2021-12-09/cl-just-getopt-parser-20211209-git.tgz"; - sha256 = "0ngh8b51ngh3bqacl40j6wwiinhwxswsy02d9k7qlzv9sbjxay4s"; - system = "just-getopt-parser"; - asd = "just-getopt-parser"; - }); - systems = [ "just-getopt-parser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jwacs = (build-asdf-system { - pname = "jwacs"; - version = "20180228-git"; - asds = [ "jwacs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jwacs/2018-02-28/jwacs-20180228-git.tgz"; - sha256 = "1wzln3bjjmdv040i339dsm48a1sc2cnwhh4z066x2wkl5ka7j5b2"; - system = "jwacs"; - asd = "jwacs"; - }); - systems = [ "jwacs" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - jwacs-tests = (build-asdf-system { - pname = "jwacs-tests"; - version = "20180228-git"; - asds = [ "jwacs-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/jwacs/2018-02-28/jwacs-20180228-git.tgz"; - sha256 = "1wzln3bjjmdv040i339dsm48a1sc2cnwhh4z066x2wkl5ka7j5b2"; - system = "jwacs-tests"; - asd = "jwacs-tests"; - }); - systems = [ "jwacs-tests" ]; - lispLibs = [ (getAttr "jwacs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kanren-trs = (build-asdf-system { - pname = "kanren-trs"; - version = "20120305-svn"; - asds = [ "kanren-trs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kanren-trs/2012-03-05/cl-kanren-trs-20120305-svn.tgz"; - sha256 = "1r9xyickdkkqcaa7abvks4hqwjb7s95lcrym026c1w6ciibiypr7"; - system = "kanren-trs"; - asd = "kanren-trs"; - }); - systems = [ "kanren-trs" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kanren-trs-test = (build-asdf-system { - pname = "kanren-trs-test"; - version = "20120305-svn"; - asds = [ "kanren-trs-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kanren-trs/2012-03-05/cl-kanren-trs-20120305-svn.tgz"; - sha256 = "1r9xyickdkkqcaa7abvks4hqwjb7s95lcrym026c1w6ciibiypr7"; - system = "kanren-trs-test"; - asd = "kanren-trs-test"; - }); - systems = [ "kanren-trs-test" ]; - lispLibs = [ (getAttr "kanren-trs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kaputt = (build-asdf-system { - pname = "kaputt"; - version = "20221106-git"; - asds = [ "kaputt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-kaputt/2022-11-06/cl-kaputt-20221106-git.tgz"; - sha256 = "1jd9lmdzkjm6mawsxczg6czyv7zbmaplq0ikmda0ysh4aq3apnnj"; - system = "kaputt"; - asd = "kaputt"; - }); - systems = [ "kaputt" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kdl = (build-asdf-system { - pname = "kdl"; - version = "20230618-git"; - asds = [ "kdl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kdlcl/2023-06-18/kdlcl-20230618-git.tgz"; - sha256 = "0bqqxkd6s420ld2hmhvbbvpzss0m2kimmxaqhz7j1ksmq86bvvmj"; - system = "kdl"; - asd = "kdl"; - }); - systems = [ "kdl" ]; - lispLibs = [ (getAttr "esrap" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kdtree-jk = (build-asdf-system { - pname = "kdtree-jk"; - version = "20230618-git"; - asds = [ "kdtree-jk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kdtree-jk/2023-06-18/kdtree-jk-20230618-git.tgz"; - sha256 = "0l311lmwp4sminl0k534s1kvfwmlk56bfnj7367zd7jl0hvs06ck"; - system = "kdtree-jk"; - asd = "kdtree-jk"; - }); - systems = [ "kdtree-jk" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kebab = (build-asdf-system { - pname = "kebab"; - version = "20150608-git"; - asds = [ "kebab" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kebab/2015-06-08/kebab-20150608-git.tgz"; - sha256 = "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"; - system = "kebab"; - asd = "kebab"; - }); - systems = [ "kebab" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kebab-test = (build-asdf-system { - pname = "kebab-test"; - version = "20150608-git"; - asds = [ "kebab-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kebab/2015-06-08/kebab-20150608-git.tgz"; - sha256 = "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"; - system = "kebab-test"; - asd = "kebab-test"; - }); - systems = [ "kebab-test" ]; - lispLibs = [ (getAttr "kebab" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kekule-clj = (build-asdf-system { - pname = "kekule-clj"; - version = "20231021-git"; - asds = [ "kekule-clj" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kekule-clj/2023-10-21/kekule-clj-20231021-git.tgz"; - sha256 = "1901b11ilknd4gy7r5b00yq6syb6qsh0xalkdw4g0dqzvqqxnfj5"; - system = "kekule-clj"; - asd = "kekule-clj"; - }); - systems = [ "kekule-clj" ]; - lispLibs = [ (getAttr "common-lisp-jupyter" self) (getAttr "jupyter-lab-extension" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kenzo = (build-asdf-system { - pname = "kenzo"; - version = "20200325-git"; - asds = [ "kenzo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kenzo/2020-03-25/kenzo-20200325-git.tgz"; - sha256 = "0dg70p5pxvx2ksr66z3p2nkxxwkjd852pkckr15j6cwfaji9fr8r"; - system = "kenzo"; - asd = "kenzo"; - }); - systems = [ "kenzo" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kenzo-test = (build-asdf-system { - pname = "kenzo-test"; - version = "20200325-git"; - asds = [ "kenzo-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kenzo/2020-03-25/kenzo-20200325-git.tgz"; - sha256 = "0dg70p5pxvx2ksr66z3p2nkxxwkjd852pkckr15j6cwfaji9fr8r"; - system = "kenzo-test"; - asd = "kenzo-test"; - }); - systems = [ "kenzo-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "kenzo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - keystone = (build-asdf-system { - pname = "keystone"; - version = "20200427-git"; - asds = [ "keystone" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/keystone/2020-04-27/keystone-20200427-git.tgz"; - sha256 = "04fczbkihf87qyp9f1sv45h69xrvdmcmxkv4m868q8zqw6z48hlj"; - system = "keystone"; - asd = "keystone"; - }); - systems = [ "keystone" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "gt" self) (getAttr "static-vectors" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - khazern = (build-asdf-system { - pname = "khazern"; - version = "20241012-git"; - asds = [ "khazern" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; - sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; - system = "khazern"; - asd = "khazern"; - }); - systems = [ "khazern" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - khazern-extrinsic = (build-asdf-system { - pname = "khazern-extrinsic"; - version = "20241012-git"; - asds = [ "khazern-extrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; - sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; - system = "khazern-extrinsic"; - asd = "khazern-extrinsic"; - }); - systems = [ "khazern-extrinsic" ]; - lispLibs = [ (getAttr "khazern" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - khazern-intrinsic = (build-asdf-system { - pname = "khazern-intrinsic"; - version = "20241012-git"; - asds = [ "khazern-intrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; - sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; - system = "khazern-intrinsic"; - asd = "khazern-intrinsic"; - }); - systems = [ "khazern-intrinsic" ]; - lispLibs = [ (getAttr "khazern" self) (getAttr "trivial-package-locks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - khazern-sequence = (build-asdf-system { - pname = "khazern-sequence"; - version = "20241012-git"; - asds = [ "khazern-sequence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; - sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; - system = "khazern-sequence"; - asd = "khazern-sequence"; - }); - systems = [ "khazern-sequence" ]; - lispLibs = [ (getAttr "khazern" self) (getAttr "trivial-extensible-sequences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - khazern-sequence-extrinsic = (build-asdf-system { - pname = "khazern-sequence-extrinsic"; - version = "20241012-git"; - asds = [ "khazern-sequence-extrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; - sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; - system = "khazern-sequence-extrinsic"; - asd = "khazern-sequence-extrinsic"; - }); - systems = [ "khazern-sequence-extrinsic" ]; - lispLibs = [ (getAttr "khazern-extrinsic" self) (getAttr "khazern-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - khazern-sequence-intrinsic = (build-asdf-system { - pname = "khazern-sequence-intrinsic"; - version = "20241012-git"; - asds = [ "khazern-sequence-intrinsic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; - sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; - system = "khazern-sequence-intrinsic"; - asd = "khazern-sequence-intrinsic"; - }); - systems = [ "khazern-sequence-intrinsic" ]; - lispLibs = [ (getAttr "khazern-intrinsic" self) (getAttr "khazern-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kl-verify = (build-asdf-system { - pname = "kl-verify"; - version = "20120909-git"; - asds = [ "kl-verify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kl-verify/2012-09-09/kl-verify-20120909-git.tgz"; - sha256 = "1m5jyvvfb24idw0xzi92diyrygmq638dwxg0sl247yyvmwsqb8yj"; - system = "kl-verify"; - asd = "kl-verify"; - }); - systems = [ "kl-verify" ]; - lispLibs = [ (getAttr "image" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - km = (build-asdf-system { - pname = "km"; - version = "2-5-33"; - asds = [ "km" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/km/2011-05-22/km-2-5-33.tgz"; - sha256 = "0vl4g7vg20l14xc1b5g1d0scak6ck5028q5s5c75pr8fp15m7wyb"; - system = "km"; - asd = "km"; - }); - systems = [ "km" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - kmrcl = (build-asdf-system { - pname = "kmrcl"; - version = "20201016-git"; - asds = [ "kmrcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/kmrcl/2020-10-16/kmrcl-20201016-git.tgz"; - sha256 = "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"; - system = "kmrcl"; - asd = "kmrcl"; - }); - systems = [ "kmrcl" ]; - lispLibs = [ ]; - meta = {}; - }); - knx-conn = (build-asdf-system { - pname = "knx-conn"; - version = "20241012-git"; - asds = [ "knx-conn" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/knx-conn/2024-10-12/knx-conn-20241012-git.tgz"; - sha256 = "1zq716fr1mq096hbpndfawyi1a7pr6gsyxnv2g1b00vpgyf37c4r"; - system = "knx-conn"; - asd = "knx-conn"; - }); - systems = [ "knx-conn" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "binding-arrows" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "sento" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - l-math = (build-asdf-system { - pname = "l-math"; - version = "20190307-git"; - asds = [ "l-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/l-math/2019-03-07/l-math-20190307-git.tgz"; - sha256 = "12nhj1hrvgvmichrjf46fi0f1lzrjajw7k9i1f6qycnnqw45qan1"; - system = "l-math"; - asd = "l-math"; - }); - systems = [ "l-math" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - l-system = (build-asdf-system { - pname = "l-system"; - version = "20180228-git"; - asds = [ "l-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/l-system/2018-02-28/l-system-20180228-git.tgz"; - sha256 = "1zvd90s7y936bx7sirc38vs8r2rs62064ndj06ahrc38vagv4qwd"; - system = "l-system"; - asd = "l-system"; - }); - systems = [ "l-system" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - l-system-examples = (build-asdf-system { - pname = "l-system-examples"; - version = "20180228-git"; - asds = [ "l-system-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/l-system/2018-02-28/l-system-20180228-git.tgz"; - sha256 = "1zvd90s7y936bx7sirc38vs8r2rs62064ndj06ahrc38vagv4qwd"; - system = "l-system-examples"; - asd = "l-system-examples"; - }); - systems = [ "l-system-examples" ]; - lispLibs = [ (getAttr "l-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - laap = (build-asdf-system { - pname = "laap"; - version = "20170830-git"; - asds = [ "laap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/laap/2017-08-30/laap-20170830-git.tgz"; - sha256 = "0rzjdi4qcv2l99mk4bk94xlpfx1mav0kvd7crpax7dx4dfwkq8k5"; - system = "laap"; - asd = "laap"; - }); - systems = [ "laap" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-base32" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack = (build-asdf-system { - pname = "lack"; - version = "20241012-git"; - asds = [ "lack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack"; - asd = "lack"; - }); - systems = [ "lack" ]; - lispLibs = [ (getAttr "lack-component" self) (getAttr "lack-util" self) ]; - meta = {}; - }); - lack-app-directory = (build-asdf-system { - pname = "lack-app-directory"; - version = "20241012-git"; - asds = [ "lack-app-directory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-app-directory"; - asd = "lack-app-directory"; - }); - systems = [ "lack-app-directory" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "lack-app-file" self) (getAttr "quri" self) (getAttr "trivial-mimes" self) (getAttr "trivial-rfc-1123" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-app-file = (build-asdf-system { - pname = "lack-app-file"; - version = "20241012-git"; - asds = [ "lack-app-file" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-app-file"; - asd = "lack-app-file"; - }); - systems = [ "lack-app-file" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "lack-component" self) (getAttr "trivial-mimes" self) (getAttr "trivial-rfc-1123" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-component = (build-asdf-system { - pname = "lack-component"; - version = "20241012-git"; - asds = [ "lack-component" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-component"; - asd = "lack-component"; - }); - systems = [ "lack-component" ]; - lispLibs = [ ]; - meta = {}; - }); - lack-middleware-accesslog = (build-asdf-system { - pname = "lack-middleware-accesslog"; - version = "20241012-git"; - asds = [ "lack-middleware-accesslog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-accesslog"; - asd = "lack-middleware-accesslog"; - }); - systems = [ "lack-middleware-accesslog" ]; - lispLibs = [ (getAttr "lack-util" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-anypool = (build-asdf-system { - pname = "lack-middleware-anypool"; - version = "20241012-git"; - asds = [ "lack-middleware-anypool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/anypool/2024-10-12/anypool-20241012-git.tgz"; - sha256 = "1ffssc5fzh7gj0z94xxfb3mk5cwja65lrhxyfgib15a6yxqf1kk1"; - system = "lack-middleware-anypool"; - asd = "lack-middleware-anypool"; - }); - systems = [ "lack-middleware-anypool" ]; - lispLibs = [ (getAttr "anypool" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-auth-basic = (build-asdf-system { - pname = "lack-middleware-auth-basic"; - version = "20241012-git"; - asds = [ "lack-middleware-auth-basic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-auth-basic"; - asd = "lack-middleware-auth-basic"; - }); - systems = [ "lack-middleware-auth-basic" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-backtrace = (build-asdf-system { - pname = "lack-middleware-backtrace"; - version = "20241012-git"; - asds = [ "lack-middleware-backtrace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-backtrace"; - asd = "lack-middleware-backtrace"; - }); - systems = [ "lack-middleware-backtrace" ]; - lispLibs = [ ]; - meta = {}; - }); - lack-middleware-clack-errors = (build-asdf-system { - pname = "lack-middleware-clack-errors"; - version = "20190813-git"; - asds = [ "lack-middleware-clack-errors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; - sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; - system = "lack-middleware-clack-errors"; - asd = "lack-middleware-clack-errors"; - }); - systems = [ "lack-middleware-clack-errors" ]; - lispLibs = [ (getAttr "clack-errors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-csrf = (build-asdf-system { - pname = "lack-middleware-csrf"; - version = "20241012-git"; - asds = [ "lack-middleware-csrf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-csrf"; - asd = "lack-middleware-csrf"; - }); - systems = [ "lack-middleware-csrf" ]; - lispLibs = [ (getAttr "lack-request" self) (getAttr "lack-util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-dbpool = (build-asdf-system { - pname = "lack-middleware-dbpool"; - version = "20241012-git"; - asds = [ "lack-middleware-dbpool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-dbpool"; - asd = "lack-middleware-dbpool"; - }); - systems = [ "lack-middleware-dbpool" ]; - lispLibs = [ (getAttr "anypool" self) (getAttr "dbi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-mito = (build-asdf-system { - pname = "lack-middleware-mito"; - version = "20241012-git"; - asds = [ "lack-middleware-mito" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; - sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; - system = "lack-middleware-mito"; - asd = "lack-middleware-mito"; - }); - systems = [ "lack-middleware-mito" ]; - lispLibs = [ (getAttr "dbi" self) (getAttr "mito-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-mount = (build-asdf-system { - pname = "lack-middleware-mount"; - version = "20241012-git"; - asds = [ "lack-middleware-mount" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-mount"; - asd = "lack-middleware-mount"; - }); - systems = [ "lack-middleware-mount" ]; - lispLibs = [ (getAttr "lack-component" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-session = (build-asdf-system { - pname = "lack-middleware-session"; - version = "20241012-git"; - asds = [ "lack-middleware-session" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-session"; - asd = "lack-middleware-session"; - }); - systems = [ "lack-middleware-session" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "lack-request" self) (getAttr "lack-response" self) (getAttr "lack-util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-middleware-static = (build-asdf-system { - pname = "lack-middleware-static"; - version = "20241012-git"; - asds = [ "lack-middleware-static" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-middleware-static"; - asd = "lack-middleware-static"; - }); - systems = [ "lack-middleware-static" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "lack-app-file" self) (getAttr "lack-component" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-request = (build-asdf-system { - pname = "lack-request"; - version = "20241012-git"; - asds = [ "lack-request" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-request"; - asd = "lack-request"; - }); - systems = [ "lack-request" ]; - lispLibs = [ (getAttr "circular-streams" self) (getAttr "cl-ppcre" self) (getAttr "http-body" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-response = (build-asdf-system { - pname = "lack-response"; - version = "20241012-git"; - asds = [ "lack-response" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-response"; - asd = "lack-response"; - }); - systems = [ "lack-response" ]; - lispLibs = [ (getAttr "local-time" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-session-store-dbi = (build-asdf-system { - pname = "lack-session-store-dbi"; - version = "20241012-git"; - asds = [ "lack-session-store-dbi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-session-store-dbi"; - asd = "lack-session-store-dbi"; - }); - systems = [ "lack-session-store-dbi" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "dbi" self) (getAttr "lack-middleware-session" self) (getAttr "marshal" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-session-store-redis = (build-asdf-system { - pname = "lack-session-store-redis"; - version = "20241012-git"; - asds = [ "lack-session-store-redis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-session-store-redis"; - asd = "lack-session-store-redis"; - }); - systems = [ "lack-session-store-redis" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-redis" self) (getAttr "lack-middleware-session" self) (getAttr "marshal" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-test = (build-asdf-system { - pname = "lack-test"; - version = "20241012-git"; - asds = [ "lack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-test"; - asd = "lack-test"; - }); - systems = [ "lack-test" ]; - lispLibs = [ (getAttr "cl-cookie" self) (getAttr "flexi-streams" self) (getAttr "lack" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lack-util = (build-asdf-system { - pname = "lack-util"; - version = "20241012-git"; - asds = [ "lack-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-util"; - asd = "lack-util"; - }); - systems = [ "lack-util" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-isaac" self) ]; - meta = {}; - }); - lack-util-writer-stream = (build-asdf-system { - pname = "lack-util-writer-stream"; - version = "20241012-git"; - asds = [ "lack-util-writer-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; - sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; - system = "lack-util-writer-stream"; - asd = "lack-util-writer-stream"; - }); - systems = [ "lack-util-writer-stream" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lake = (build-asdf-system { - pname = "lake"; - version = "20220220-git"; - asds = [ "lake" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lake/2022-02-20/lake-20220220-git.tgz"; - sha256 = "1g6rr4d5vjx487ym5qjlnw5sd6rwx6l4zx1l9mj0j30lpm1k4il0"; - system = "lake"; - asd = "lake"; - }); - systems = [ "lake" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-interpol" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lake-cli = (build-asdf-system { - pname = "lake-cli"; - version = "20220220-git"; - asds = [ "lake-cli" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lake/2022-02-20/lake-20220220-git.tgz"; - sha256 = "1g6rr4d5vjx487ym5qjlnw5sd6rwx6l4zx1l9mj0j30lpm1k4il0"; - system = "lake-cli"; - asd = "lake-cli"; - }); - systems = [ "lake-cli" ]; - lispLibs = [ (getAttr "deploy" self) (getAttr "lake" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lake-test = (build-asdf-system { - pname = "lake-test"; - version = "20220220-git"; - asds = [ "lake-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lake/2022-02-20/lake-20220220-git.tgz"; - sha256 = "1g6rr4d5vjx487ym5qjlnw5sd6rwx6l4zx1l9mj0j30lpm1k4il0"; - system = "lake-test"; - asd = "lake-test"; - }); - systems = [ "lake-test" ]; - lispLibs = [ (getAttr "lake" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lambda-fiddle = (build-asdf-system { - pname = "lambda-fiddle"; - version = "20231021-git"; - asds = [ "lambda-fiddle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lambda-fiddle/2023-10-21/lambda-fiddle-20231021-git.tgz"; - sha256 = "1hh0192qvymn3zwy9a0rsg98wgb8mnb9z2jzl2a2n1ssvpx61gpj"; - system = "lambda-fiddle"; - asd = "lambda-fiddle"; - }); - systems = [ "lambda-fiddle" ]; - lispLibs = [ ]; - meta = {}; - }); - lambda-reader = (build-asdf-system { - pname = "lambda-reader"; - version = "20170124-git"; - asds = [ "lambda-reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lambda-reader/2017-01-24/lambda-reader-20170124-git.tgz"; - sha256 = "0s73nrnvr0d2ql1gabcasmfnckzq0f2qs9317hv2mrrh0q1giq1w"; - system = "lambda-reader"; - asd = "lambda-reader"; - }); - systems = [ "lambda-reader" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lambda-reader-8bit = (build-asdf-system { - pname = "lambda-reader-8bit"; - version = "20170124-git"; - asds = [ "lambda-reader-8bit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lambda-reader/2017-01-24/lambda-reader-20170124-git.tgz"; - sha256 = "0s73nrnvr0d2ql1gabcasmfnckzq0f2qs9317hv2mrrh0q1giq1w"; - system = "lambda-reader-8bit"; - asd = "lambda-reader-8bit"; - }); - systems = [ "lambda-reader-8bit" ]; - lispLibs = [ (getAttr "asdf-encodings" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lambdalite = (build-asdf-system { - pname = "lambdalite"; - version = "20141217-git"; - asds = [ "lambdalite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lambdalite/2014-12-17/lambdalite-20141217-git.tgz"; - sha256 = "0bvhix74afak5bpaa4x3p1b7gskpvzvw78aqkml9d40gpd1ky8lh"; - system = "lambdalite"; - asd = "lambdalite"; - }); - systems = [ "lambdalite" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "wu-sugar" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - language-codes = (build-asdf-system { - pname = "language-codes"; - version = "20231021-git"; - asds = [ "language-codes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/language-codes/2023-10-21/language-codes-20231021-git.tgz"; - sha256 = "0qbv0x0w415m48c6gjaw7ncnb1446q9sswr2p3svx7ijiwd19kja"; - system = "language-codes"; - asd = "language-codes"; - }); - systems = [ "language-codes" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - langutils = (build-asdf-system { - pname = "langutils"; - version = "20121125-git"; - asds = [ "langutils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-langutils/2012-11-25/cl-langutils-20121125-git.tgz"; - sha256 = "15y9x5wkg3fqndc04w2sc650fnwimxp4gjgpv9xvvdm9x4v433x6"; - system = "langutils"; - asd = "langutils"; - }); - systems = [ "langutils" ]; - lispLibs = [ (getAttr "s-xml-rpc" self) (getAttr "stdutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lapack = (build-asdf-system { - pname = "lapack"; - version = "20231021-git"; - asds = [ "lapack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "lapack"; - asd = "lapack"; - }); - systems = [ "lapack" ]; - lispLibs = [ (getAttr "blas-complex" self) (getAttr "blas-package" self) (getAttr "blas-real" self) (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lass = (build-asdf-system { - pname = "lass"; - version = "20241012-git"; - asds = [ "lass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lass/2024-10-12/lass-20241012-git.tgz"; - sha256 = "1b6a3v763i5fcdxczffd59kh4m73p4ilz6az85apd22apc8lr80z"; - system = "lass"; - asd = "lass"; - }); - systems = [ "lass" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "trivial-indent" self) (getAttr "trivial-mimes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lass-flexbox = (build-asdf-system { - pname = "lass-flexbox"; - version = "20160208-git"; - asds = [ "lass-flexbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lass-flexbox/2016-02-08/lass-flexbox-20160208-git.tgz"; - sha256 = "143rkff1ybi3b07qyzndxxndp7j4nw1biyp51rkl0yvsk85kj1jp"; - system = "lass-flexbox"; - asd = "lass-flexbox"; - }); - systems = [ "lass-flexbox" ]; - lispLibs = [ (getAttr "lass" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lass-flexbox-test = (build-asdf-system { - pname = "lass-flexbox-test"; - version = "20160208-git"; - asds = [ "lass-flexbox-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lass-flexbox/2016-02-08/lass-flexbox-20160208-git.tgz"; - sha256 = "143rkff1ybi3b07qyzndxxndp7j4nw1biyp51rkl0yvsk85kj1jp"; - system = "lass-flexbox-test"; - asd = "lass-flexbox-test"; - }); - systems = [ "lass-flexbox-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "lass-flexbox" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lassie = (build-asdf-system { - pname = "lassie"; - version = "20140713-git"; - asds = [ "lassie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lassie/2014-07-13/lassie-20140713-git.tgz"; - sha256 = "06ps25422ymp9n35745xhg3qsclfli52b7mxhw58wwz9q1v1n0rn"; - system = "lassie"; - asd = "lassie"; - }); - systems = [ "lassie" ]; - lispLibs = [ (getAttr "fsvd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lastfm = (build-asdf-system { - pname = "lastfm"; - version = "20191007-git"; - asds = [ "lastfm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lastfm/2019-10-07/lastfm-20191007-git.tgz"; - sha256 = "1crg82fyzkm9a0czsf5vq6nwndg6gy7zqb2glbp3yaw6p2hrwkp4"; - system = "lastfm"; - asd = "lastfm"; - }); - systems = [ "lastfm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "defmemo" self) (getAttr "drakma" self) (getAttr "generators" self) (getAttr "ironclad" self) (getAttr "lquery" self) (getAttr "plump" self) (getAttr "trivial-open-browser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - latex-table = (build-asdf-system { - pname = "latex-table"; - version = "20180328-git"; - asds = [ "latex-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/latex-table/2018-03-28/latex-table-20180328-git.tgz"; - sha256 = "04qqr62pdi7qs9p74a4a014l6sl6bk6hrlb7b7pknxx5c15xvcgv"; - system = "latex-table"; - asd = "latex-table"; - }); - systems = [ "latex-table" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "array-operations" self) (getAttr "let-plus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - latter-day-paypal = (build-asdf-system { - pname = "latter-day-paypal"; - version = "20221106-git"; - asds = [ "latter-day-paypal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/latter-day-paypal/2022-11-06/latter-day-paypal-20221106-git.tgz"; - sha256 = "0a4xji2ymmr7s4gq0gc3bhbf62gwfs93ymmpvgsmb0afcsi5099q"; - system = "latter-day-paypal"; - asd = "latter-day-paypal"; - }); - systems = [ "latter-day-paypal" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "cl-tls" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "do-urlencode" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "ningle" self) (getAttr "quri" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lazy = (build-asdf-system { - pname = "lazy"; - version = "20200925-git"; - asds = [ "lazy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lazy/2020-09-25/lazy-20200925-git.tgz"; - sha256 = "0m099rwr7k17v984n4jnq4hadf19vza5qilxdyrr43scxbbrmw1n"; - system = "lazy"; - asd = "lazy"; - }); - systems = [ "lazy" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ledger = (build-asdf-system { - pname = "ledger"; - version = "master-fe503896-git"; - asds = [ "ledger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "ledger"; - asd = "ledger"; - }); - systems = [ "ledger" ]; - lispLibs = [ (getAttr "gwl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - leech = (build-asdf-system { - pname = "leech"; - version = "20140713-git"; - asds = [ "leech" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; - sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; - system = "leech"; - asd = "leech"; - }); - systems = [ "leech" ]; - lispLibs = [ (getAttr "aserve" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - legion = (build-asdf-system { - pname = "legion"; - version = "20231021-git"; - asds = [ "legion" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/legion/2023-10-21/legion-20231021-git.tgz"; - sha256 = "0mf29w6s45dwkjvvirqk7b87swb5wvaffgb836s6sx74wwdgyyk8"; - system = "legion"; - asd = "legion"; - }); - systems = [ "legion" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-speedy-queue" self) (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - legion-test = (build-asdf-system { - pname = "legion-test"; - version = "20231021-git"; - asds = [ "legion-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/legion/2023-10-21/legion-20231021-git.tgz"; - sha256 = "0mf29w6s45dwkjvvirqk7b87swb5wvaffgb836s6sx74wwdgyyk8"; - system = "legion-test"; - asd = "legion-test"; - }); - systems = [ "legion-test" ]; - lispLibs = [ (getAttr "legion" self) (getAttr "local-time" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - legit = (build-asdf-system { - pname = "legit"; - version = "20231021-git"; - asds = [ "legit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/legit/2023-10-21/legit-20231021-git.tgz"; - sha256 = "0jy021ywrbnkgbgb63ip6j7kr40m4wz2pz1v5ybn6xkkn6dyprsz"; - system = "legit"; - asd = "legit"; - }); - systems = [ "legit" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "lambda-fiddle" self) (getAttr "simple-inferiors" self) ]; - meta = {}; - }); - lem-opengl = (build-asdf-system { - pname = "lem-opengl"; - version = "20200427-git"; - asds = [ "lem-opengl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "lem-opengl"; - asd = "lem-opengl"; - }); - systems = [ "lem-opengl" ]; - lispLibs = [ (getAttr "application" self) (getAttr "control" self) (getAttr "livesupport" self) (getAttr "minilem" self) (getAttr "ncurses-clone-for-lem" self) (getAttr "sucle" self) (getAttr "trivial-clipboard" self) (getAttr "uncommon-lisp" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lemmy-api = (build-asdf-system { - pname = "lemmy-api"; - version = "20241012-git"; - asds = [ "lemmy-api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lemmy-api/2024-10-12/lemmy-api-20241012-git.tgz"; - sha256 = "0krlf3zw4snpkgqb564xk82b1d0q2scqs05s1kalr773a5d801s7"; - system = "lemmy-api"; - asd = "lemmy-api"; - }); - systems = [ "lemmy-api" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "dexador" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lemmy-api-bindings-generator = (build-asdf-system { - pname = "lemmy-api-bindings-generator"; - version = "20241012-git"; - asds = [ "lemmy-api-bindings-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lemmy-api/2024-10-12/lemmy-api-20241012-git.tgz"; - sha256 = "0krlf3zw4snpkgqb564xk82b1d0q2scqs05s1kalr773a5d801s7"; - system = "lemmy-api-bindings-generator"; - asd = "lemmy-api-bindings-generator"; - }); - systems = [ "lemmy-api-bindings-generator" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lense = (build-asdf-system { - pname = "lense"; - version = "20201220-git"; - asds = [ "lense" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lense/2020-12-20/lense-20201220-git.tgz"; - sha256 = "0j11m93an38d1cl6b1kaaj5azhkn64wpiiprlj2c4cjfzrc32ffv"; - system = "lense"; - asd = "lense"; - }); - systems = [ "lense" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "documentation-utils-extensions" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - let-over-lambda = (build-asdf-system { - pname = "let-over-lambda"; - version = "20231021-git"; - asds = [ "let-over-lambda" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/let-over-lambda/2023-10-21/let-over-lambda-20231021-git.tgz"; - sha256 = "0inzbmxlx5cvvx1isv827c2zr4qixcb47n6l6qjvc11gnwihdfjf"; - system = "let-over-lambda"; - asd = "let-over-lambda"; - }); - systems = [ "let-over-lambda" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "fare-quasiquote-extras" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - let-over-lambda-test = (build-asdf-system { - pname = "let-over-lambda-test"; - version = "20231021-git"; - asds = [ "let-over-lambda-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/let-over-lambda/2023-10-21/let-over-lambda-20231021-git.tgz"; - sha256 = "0inzbmxlx5cvvx1isv827c2zr4qixcb47n6l6qjvc11gnwihdfjf"; - system = "let-over-lambda-test"; - asd = "let-over-lambda-test"; - }); - systems = [ "let-over-lambda-test" ]; - lispLibs = [ (getAttr "let-over-lambda" self) (getAttr "named-readtables" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - let-plus = (build-asdf-system { - pname = "let-plus"; - version = "20191130-git"; - asds = [ "let-plus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/let-plus/2019-11-30/let-plus-20191130-git.tgz"; - sha256 = "00c0nq6l4zb692rzsc9aliqzj3avrssfyz4bhxzl7f1jsz3m29jb"; - system = "let-plus"; - asd = "let-plus"; - }); - systems = [ "let-plus" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) ]; - meta = {}; - }); - letrec = (build-asdf-system { - pname = "letrec"; - version = "20230618-git"; - asds = [ "letrec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/letrec/2023-06-18/letrec-20230618-git.tgz"; - sha256 = "1iwpqrpjbapdxq37g2w65r966f5nhj5466wwvd7lb1jgb03kaghn"; - system = "letrec"; - asd = "letrec"; - }); - systems = [ "letrec" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - letv = (build-asdf-system { - pname = "letv"; - version = "20241012-git"; - asds = [ "letv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/letv/2024-10-12/letv-20241012-git.tgz"; - sha256 = "000alkhqb2n47y6849pswp7dg9pd0wwgswfrcm0sm4bz3r7dyjx1"; - system = "letv"; - asd = "letv"; - }); - systems = [ "letv" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lev = (build-asdf-system { - pname = "lev"; - version = "20231021-git"; - asds = [ "lev" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lev/2023-10-21/lev-20231021-git.tgz"; - sha256 = "1lr3lzghvl5mbg9cp66carmawbzg64yd8vyivf1df10vllc7ngd6"; - system = "lev"; - asd = "lev"; - }); - systems = [ "lev" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lev-config" self) ]; - meta = {}; - }); - lev-config = (build-asdf-system { - pname = "lev-config"; - version = "20231021-git"; - asds = [ "lev-config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lev/2023-10-21/lev-20231021-git.tgz"; - sha256 = "1lr3lzghvl5mbg9cp66carmawbzg64yd8vyivf1df10vllc7ngd6"; - system = "lev-config"; - asd = "lev-config"; - }); - systems = [ "lev-config" ]; - lispLibs = [ (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - leveldb = (build-asdf-system { - pname = "leveldb"; - version = "20160531-git"; - asds = [ "leveldb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/leveldb/2016-05-31/leveldb-20160531-git.tgz"; - sha256 = "03i4qr3g8ga2vpc8qbnipan3i7y4809i036wppkkixcsbckslckv"; - system = "leveldb"; - asd = "leveldb"; - }); - systems = [ "leveldb" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - levenshtein = (build-asdf-system { - pname = "levenshtein"; - version = "1.0"; - asds = [ "levenshtein" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/levenshtein/2010-10-06/levenshtein-1.0.tgz"; - sha256 = "0b4hdv55qcjlh3ixy3fglvb90ggmm79nl02nxkly2ls6cd7rbf5i"; - system = "levenshtein"; - asd = "levenshtein"; - }); - systems = [ "levenshtein" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lfarm-admin = (build-asdf-system { - pname = "lfarm-admin"; - version = "20150608-git"; - asds = [ "lfarm-admin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-admin"; - asd = "lfarm-admin"; - }); - systems = [ "lfarm-admin" ]; - lispLibs = [ (getAttr "lfarm-common" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lfarm-client = (build-asdf-system { - pname = "lfarm-client"; - version = "20150608-git"; - asds = [ "lfarm-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-client"; - asd = "lfarm-client"; - }); - systems = [ "lfarm-client" ]; - lispLibs = [ (getAttr "lfarm-common" self) (getAttr "lparallel" self) (getAttr "usocket" self) ]; - meta = {}; - }); - lfarm-common = (build-asdf-system { - pname = "lfarm-common"; - version = "20150608-git"; - asds = [ "lfarm-common" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-common"; - asd = "lfarm-common"; - }); - systems = [ "lfarm-common" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-store" self) (getAttr "flexi-streams" self) (getAttr "usocket" self) ]; - meta = {}; - }); - lfarm-gss = (build-asdf-system { - pname = "lfarm-gss"; - version = "20150608-git"; - asds = [ "lfarm-gss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-gss"; - asd = "lfarm-gss"; - }); - systems = [ "lfarm-gss" ]; - lispLibs = [ (getAttr "cl-gss" self) (getAttr "lfarm-common" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lfarm-launcher = (build-asdf-system { - pname = "lfarm-launcher"; - version = "20150608-git"; - asds = [ "lfarm-launcher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-launcher"; - asd = "lfarm-launcher"; - }); - systems = [ "lfarm-launcher" ]; - lispLibs = [ (getAttr "external-program" self) (getAttr "lfarm-admin" self) (getAttr "lfarm-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lfarm-server = (build-asdf-system { - pname = "lfarm-server"; - version = "20150608-git"; - asds = [ "lfarm-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-server"; - asd = "lfarm-server"; - }); - systems = [ "lfarm-server" ]; - lispLibs = [ (getAttr "lfarm-common" self) (getAttr "usocket" self) ]; - meta = {}; - }); - lfarm-ssl = (build-asdf-system { - pname = "lfarm-ssl"; - version = "20150608-git"; - asds = [ "lfarm-ssl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-ssl"; - asd = "lfarm-ssl"; - }); - systems = [ "lfarm-ssl" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "lfarm-common" self) ]; - meta = {}; - }); - lfarm-test = (build-asdf-system { - pname = "lfarm-test"; - version = "20150608-git"; - asds = [ "lfarm-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; - sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; - system = "lfarm-test"; - asd = "lfarm-test"; - }); - systems = [ "lfarm-test" ]; - lispLibs = [ (getAttr "lfarm-admin" self) (getAttr "lfarm-client" self) (getAttr "lfarm-launcher" self) (getAttr "lfarm-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lhstats = (build-asdf-system { - pname = "lhstats"; - version = "20120107-git"; - asds = [ "lhstats" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lhstats/2012-01-07/lhstats-20120107-git.tgz"; - sha256 = "1x8h37vm9yd0a2g7qzili673n1c3a9rzawq27rxyzjrggv9wdnlz"; - system = "lhstats"; - asd = "lhstats"; - }); - systems = [ "lhstats" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lib-helper = (build-asdf-system { - pname = "lib-helper"; - version = "20241012-git"; - asds = [ "lib-helper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lib-helper/2024-10-12/cl-lib-helper-20241012-git.tgz"; - sha256 = "11aq60cs510kx9gj709q3kkgddk8aqb32pdzyikr9jylig050wyk"; - system = "lib-helper"; - asd = "lib-helper"; - }); - systems = [ "lib-helper" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-containers" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lib-helper-test-system = (build-asdf-system { - pname = "lib-helper-test-system"; - version = "20241012-git"; - asds = [ "lib-helper-test-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lib-helper/2024-10-12/cl-lib-helper-20241012-git.tgz"; - sha256 = "11aq60cs510kx9gj709q3kkgddk8aqb32pdzyikr9jylig050wyk"; - system = "lib-helper-test-system"; - asd = "lib-helper-test-system"; - }); - systems = [ "lib-helper-test-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - libcmark = (build-asdf-system { - pname = "libcmark"; - version = "20241012-git"; - asds = [ "libcmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-cmark/2024-10-12/cl-cmark-20241012-git.tgz"; - sha256 = "1l4i530161ppfz0wn1da7g7dwf644ppp1afrq2p7qfkajm7dcfg5"; - system = "libcmark"; - asd = "libcmark"; - }); - systems = [ "libcmark" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - liblmdb = (build-asdf-system { - pname = "liblmdb"; - version = "20170830-git"; - asds = [ "liblmdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/liblmdb/2017-08-30/liblmdb-20170830-git.tgz"; - sha256 = "0484245fcbqza40n377qhsr2v838cih6pziav5vlnml1y0cgv62b"; - system = "liblmdb"; - asd = "liblmdb"; - }); - systems = [ "liblmdb" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - libssh2 = (build-asdf-system { - pname = "libssh2"; - version = "20160531-git"; - asds = [ "libssh2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libssh2/2016-05-31/cl-libssh2-20160531-git.tgz"; - sha256 = "1f2zq30zli0gnawclpasxsajpn20cpyy9d3q9zpqyw1sfrsn0hmk"; - system = "libssh2"; - asd = "libssh2"; - }); - systems = [ "libssh2" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-fad" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "split-sequence" self) (getAttr "trivial-gray-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - libssh2_dot_test = (build-asdf-system { - pname = "libssh2.test"; - version = "20160531-git"; - asds = [ "libssh2.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libssh2/2016-05-31/cl-libssh2-20160531-git.tgz"; - sha256 = "1f2zq30zli0gnawclpasxsajpn20cpyy9d3q9zpqyw1sfrsn0hmk"; - system = "libssh2.test"; - asd = "libssh2.test"; - }); - systems = [ "libssh2.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "libssh2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - libusb-ffi = (build-asdf-system { - pname = "libusb-ffi"; - version = "20210228-git"; - asds = [ "libusb-ffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libusb/2021-02-28/cl-libusb-20210228-git.tgz"; - sha256 = "0kyzgcflwb85q58fgn82sp0bipnq5bprg5i4h0h3jxafqqyagbnk"; - system = "libusb-ffi"; - asd = "libusb-ffi"; - }); - systems = [ "libusb-ffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lichat-ldap = (build-asdf-system { - pname = "lichat-ldap"; - version = "20231021-git"; - asds = [ "lichat-ldap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lichat-ldap/2023-10-21/lichat-ldap-20231021-git.tgz"; - sha256 = "1jgj5c0sgr4rw9vsjhz71k3ld7hp8fbbmzrn3g11fq8jl4c4iai1"; - system = "lichat-ldap"; - asd = "lichat-ldap"; - }); - systems = [ "lichat-ldap" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "lichat-serverlib" self) (getAttr "trivial-ldap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lichat-protocol = (build-asdf-system { - pname = "lichat-protocol"; - version = "20241012-git"; - asds = [ "lichat-protocol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lichat-protocol/2024-10-12/lichat-protocol-20241012-git.tgz"; - sha256 = "0y8546aaf539jnl29r4a8sa975jak1ld4d62w2n1kp8s9nb80z11"; - system = "lichat-protocol"; - asd = "lichat-protocol"; - }); - systems = [ "lichat-protocol" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "documentation-utils" self) (getAttr "trivial-package-local-nicknames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lichat-serverlib = (build-asdf-system { - pname = "lichat-serverlib"; - version = "20231021-git"; - asds = [ "lichat-serverlib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lichat-serverlib/2023-10-21/lichat-serverlib-20231021-git.tgz"; - sha256 = "04830z49lczgdf8gval4j3s0fp5p6pfgvy783mrkcdfal2dcwacq"; - system = "lichat-serverlib"; - asd = "lichat-serverlib"; - }); - systems = [ "lichat-serverlib" ]; - lispLibs = [ (getAttr "crypto-shortcuts" self) (getAttr "documentation-utils" self) (getAttr "lichat-protocol" self) (getAttr "trivial-mimes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lichat-tcp-client = (build-asdf-system { - pname = "lichat-tcp-client"; - version = "20241012-git"; - asds = [ "lichat-tcp-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lichat-tcp-client/2024-10-12/lichat-tcp-client-20241012-git.tgz"; - sha256 = "1wwh396z7185nylrsz47b6l45hyfq6mjrm620fk5bsxr3jrzxs25"; - system = "lichat-tcp-client"; - asd = "lichat-tcp-client"; - }); - systems = [ "lichat-tcp-client" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "documentation-utils" self) (getAttr "lichat-protocol" self) (getAttr "trivial-mimes" self) (getAttr "usocket" self) (getAttr "verbose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lichat-tcp-server = (build-asdf-system { - pname = "lichat-tcp-server"; - version = "20231021-git"; - asds = [ "lichat-tcp-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lichat-tcp-server/2023-10-21/lichat-tcp-server-20231021-git.tgz"; - sha256 = "18dys957iw678y6bqfq9x85m2bnb0ck8gr6l4b61vv3g2yl2w53y"; - system = "lichat-tcp-server"; - asd = "lichat-tcp-server"; - }); - systems = [ "lichat-tcp-server" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "documentation-utils" self) (getAttr "lichat-protocol" self) (getAttr "lichat-serverlib" self) (getAttr "usocket" self) (getAttr "verbose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lichat-ws-server = (build-asdf-system { - pname = "lichat-ws-server"; - version = "20231021-git"; - asds = [ "lichat-ws-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lichat-ws-server/2023-10-21/lichat-ws-server-20231021-git.tgz"; - sha256 = "05vmc9b8b5igifm6lb5p3fssmny6ils7aimsizql3gay4nycvxgp"; - system = "lichat-ws-server"; - asd = "lichat-ws-server"; - }); - systems = [ "lichat-ws-server" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "documentation-utils" self) (getAttr "hunchensocket" self) (getAttr "lichat-protocol" self) (getAttr "lichat-serverlib" self) (getAttr "verbose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lift = (build-asdf-system { - pname = "lift"; - version = "20231021-git"; - asds = [ "lift" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lift/2023-10-21/lift-20231021-git.tgz"; - sha256 = "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"; - system = "lift"; - asd = "lift"; - }); - systems = [ "lift" ]; - lispLibs = [ ]; - meta = {}; - }); - lift-documentation = (build-asdf-system { - pname = "lift-documentation"; - version = "20231021-git"; - asds = [ "lift-documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lift/2023-10-21/lift-20231021-git.tgz"; - sha256 = "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"; - system = "lift-documentation"; - asd = "lift-documentation"; - }); - systems = [ "lift-documentation" ]; - lispLibs = [ (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lift-test = (build-asdf-system { - pname = "lift-test"; - version = "20231021-git"; - asds = [ "lift-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lift/2023-10-21/lift-20231021-git.tgz"; - sha256 = "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"; - system = "lift-test"; - asd = "lift-test"; - }); - systems = [ "lift-test" ]; - lispLibs = [ (getAttr "lift" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lil = (build-asdf-system { - pname = "lil"; - version = "20231021-git"; - asds = [ "lil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-interface-library/2023-10-21/lisp-interface-library-20231021-git.tgz"; - sha256 = "0krh8z696a0p894vmqdw9clzhpqfqff4c4rd7s8d8hd5jwjm40aq"; - system = "lil"; - asd = "lil"; - }); - systems = [ "lil" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "fare-memoization" self) (getAttr "fare-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lila = (build-asdf-system { - pname = "lila"; - version = "20191007-git"; - asds = [ "lila" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lila/2019-10-07/lila-20191007-git.tgz"; - sha256 = "0n29ipbcxh4fm8f1vpaywv02iaayqqk61zsfk051ksjfl5kyqypq"; - system = "lila"; - asd = "lila"; - }); - systems = [ "lila" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lime = (build-asdf-system { - pname = "lime"; - version = "20230618-git"; - asds = [ "lime" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lime/2023-06-18/lime-20230618-git.tgz"; - sha256 = "1af1m3nxxqpaw85s1cc4qf0fkv3z061xk5k17ygfmchmv8sj1agp"; - system = "lime"; - asd = "lime"; - }); - systems = [ "lime" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "swank-protocol" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lime-example = (build-asdf-system { - pname = "lime-example"; - version = "20230618-git"; - asds = [ "lime-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lime/2023-06-18/lime-20230618-git.tgz"; - sha256 = "1af1m3nxxqpaw85s1cc4qf0fkv3z061xk5k17ygfmchmv8sj1agp"; - system = "lime-example"; - asd = "lime-example"; - }); - systems = [ "lime-example" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "lime" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lime-test = (build-asdf-system { - pname = "lime-test"; - version = "20230618-git"; - asds = [ "lime-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lime/2023-06-18/lime-20230618-git.tgz"; - sha256 = "1af1m3nxxqpaw85s1cc4qf0fkv3z061xk5k17ygfmchmv8sj1agp"; - system = "lime-test"; - asd = "lime-test"; - }); - systems = [ "lime-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "external-program" self) (getAttr "fiveam" self) (getAttr "lime" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linear-programming = (build-asdf-system { - pname = "linear-programming"; - version = "20241012-git"; - asds = [ "linear-programming" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linear-programming/2024-10-12/linear-programming-20241012-git.tgz"; - sha256 = "01dy54ycmalqlk4wrkw1y6vixr0mk0nxmfy3p1w5kpdwp3642h9g"; - system = "linear-programming"; - asd = "linear-programming"; - }); - systems = [ "linear-programming" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linear-programming-glpk = (build-asdf-system { - pname = "linear-programming-glpk"; - version = "20221106-git"; - asds = [ "linear-programming-glpk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linear-programming-glpk/2022-11-06/linear-programming-glpk-20221106-git.tgz"; - sha256 = "0vm4qgjvw5k3v62h78j6802dm075aif06hbjw600m3hybn84rs3l"; - system = "linear-programming-glpk"; - asd = "linear-programming-glpk"; - }); - systems = [ "linear-programming-glpk" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "linear-programming" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linear-programming-test = (build-asdf-system { - pname = "linear-programming-test"; - version = "20241012-git"; - asds = [ "linear-programming-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linear-programming/2024-10-12/linear-programming-20241012-git.tgz"; - sha256 = "01dy54ycmalqlk4wrkw1y6vixr0mk0nxmfy3p1w5kpdwp3642h9g"; - system = "linear-programming-test"; - asd = "linear-programming-test"; - }); - systems = [ "linear-programming-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "iterate" self) (getAttr "linear-programming" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linedit = (build-asdf-system { - pname = "linedit"; - version = "20180430-git"; - asds = [ "linedit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linedit/2018-04-30/linedit-20180430-git.tgz"; - sha256 = "0hhh7xn6q12rviayfihg1ym6x6csa0pdjgb88ykqbrz2rs3pgpz5"; - system = "linedit"; - asd = "linedit"; - }); - systems = [ "linedit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "osicat" self) (getAttr "terminfo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lineva = (build-asdf-system { - pname = "lineva"; - version = "20221106-git"; - asds = [ "lineva" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lineva/2022-11-06/lineva-20221106-git.tgz"; - sha256 = "193v40llsi51b4zk93fyrg5ll2309waw7ibl4z75bbw73kc4f2wx"; - system = "lineva"; - asd = "lineva"; - }); - systems = [ "lineva" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linewise-template = (build-asdf-system { - pname = "linewise-template"; - version = "20230618-git"; - asds = [ "linewise-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linewise-template/2023-06-18/linewise-template-20230618-git.tgz"; - sha256 = "08i2426lkcfcydmm9ca71whvyairrd0lklr6w7w17zbg0bsxsaaa"; - system = "linewise-template"; - asd = "linewise-template"; - }); - systems = [ "linewise-template" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linux-packaging = (build-asdf-system { - pname = "linux-packaging"; - version = "20211020-git"; - asds = [ "linux-packaging" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz"; - sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5"; - system = "linux-packaging"; - asd = "linux-packaging"; - }); - systems = [ "linux-packaging" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cffi-toolchain" self) (getAttr "cl-ppcre" self) (getAttr "wild-package-inferred-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - linux-packaging-tests = (build-asdf-system { - pname = "linux-packaging-tests"; - version = "20211020-git"; - asds = [ "linux-packaging-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz"; - sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5"; - system = "linux-packaging-tests"; - asd = "linux-packaging-tests"; - }); - systems = [ "linux-packaging-tests" ]; - lispLibs = [ (getAttr "linux-packaging" self) (getAttr "osicat" self) (getAttr "sqlite" self) (getAttr "wild-package-inferred-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisa = (build-asdf-system { - pname = "lisa"; - version = "20120407-git"; - asds = [ "lisa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisa/2012-04-07/lisa-20120407-git.tgz"; - sha256 = "12mpwxpczfq2hridjspbg51121hngbcnji37fhlr0vv4dqrg1z15"; - system = "lisa"; - asd = "lisa"; - }); - systems = [ "lisa" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-binary = (build-asdf-system { - pname = "lisp-binary"; - version = "20241012-git"; - asds = [ "lisp-binary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-binary/2024-10-12/lisp-binary-20241012-git.tgz"; - sha256 = "1zgk6pbhjj4agazffv6mc3hjzyg4xh256sla83iqy5mwm172d810"; - system = "lisp-binary"; - asd = "lisp-binary"; - }); - systems = [ "lisp-binary" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "closer-mop" self) (getAttr "flexi-streams" self) (getAttr "moptilities" self) (getAttr "quasiquote-2_dot_0" self) ]; - meta = {}; - }); - lisp-binary-test = (build-asdf-system { - pname = "lisp-binary-test"; - version = "20241012-git"; - asds = [ "lisp-binary-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-binary/2024-10-12/lisp-binary-20241012-git.tgz"; - sha256 = "1zgk6pbhjj4agazffv6mc3hjzyg4xh256sla83iqy5mwm172d810"; - system = "lisp-binary-test"; - asd = "lisp-binary-test"; - }); - systems = [ "lisp-binary-test" ]; - lispLibs = [ (getAttr "lisp-binary" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-chat = (build-asdf-system { - pname = "lisp-chat"; - version = "20241012-git"; - asds = [ "lisp-chat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-chat/2024-10-12/lisp-chat-20241012-git.tgz"; - sha256 = "16ckgxg0c3rx6qvwj5cn6rmfgxbj7587r9g342bw3nfxab0sqlzd"; - system = "lisp-chat"; - asd = "lisp-chat"; - }); - systems = [ "lisp-chat" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-readline" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-critic = (build-asdf-system { - pname = "lisp-critic"; - version = "20241012-git"; - asds = [ "lisp-critic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-critic/2024-10-12/lisp-critic-20241012-git.tgz"; - sha256 = "19czs2m8h3kgwjd10pdk9r5kazbgly8g82a5q3bs7pqkja42i7x7"; - system = "lisp-critic"; - asd = "lisp-critic"; - }); - systems = [ "lisp-critic" ]; - lispLibs = [ (getAttr "ckr-tables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-executable = (build-asdf-system { - pname = "lisp-executable"; - version = "20180831-git"; - asds = [ "lisp-executable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz"; - sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7"; - system = "lisp-executable"; - asd = "lisp-executable"; - }); - systems = [ "lisp-executable" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-executable-example = (build-asdf-system { - pname = "lisp-executable-example"; - version = "20180831-git"; - asds = [ "lisp-executable-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz"; - sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7"; - system = "lisp-executable-example"; - asd = "lisp-executable-example"; - }); - systems = [ "lisp-executable-example" ]; - lispLibs = [ (getAttr "lisp-executable" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-executable-tests = (build-asdf-system { - pname = "lisp-executable-tests"; - version = "20180831-git"; - asds = [ "lisp-executable-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz"; - sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7"; - system = "lisp-executable-tests"; - asd = "lisp-executable-tests"; - }); - systems = [ "lisp-executable-tests" ]; - lispLibs = [ (getAttr "lisp-executable" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-interface-library = (build-asdf-system { - pname = "lisp-interface-library"; - version = "20231021-git"; - asds = [ "lisp-interface-library" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-interface-library/2023-10-21/lisp-interface-library-20231021-git.tgz"; - sha256 = "0krh8z696a0p894vmqdw9clzhpqfqff4c4rd7s8d8hd5jwjm40aq"; - system = "lisp-interface-library"; - asd = "lisp-interface-library"; - }); - systems = [ "lisp-interface-library" ]; - lispLibs = [ (getAttr "lil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-invocation = (build-asdf-system { - pname = "lisp-invocation"; - version = "20180228-git"; - asds = [ "lisp-invocation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-invocation/2018-02-28/lisp-invocation-20180228-git.tgz"; - sha256 = "1qwvczjd5w6mrkz7ip3gl46f72dnxgngdc5bla35l2g7br96kzsl"; - system = "lisp-invocation"; - asd = "lisp-invocation"; - }); - systems = [ "lisp-invocation" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-namespace = (build-asdf-system { - pname = "lisp-namespace"; - version = "20221106-git"; - asds = [ "lisp-namespace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-namespace/2022-11-06/lisp-namespace-20221106-git.tgz"; - sha256 = "1p5db9mab4whapy1pl38ajw5fkrrdw266n05mnhf4xx2fb9sbx6p"; - system = "lisp-namespace"; - asd = "lisp-namespace"; - }); - systems = [ "lisp-namespace" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - lisp-namespace_dot_test = (build-asdf-system { - pname = "lisp-namespace.test"; - version = "20221106-git"; - asds = [ "lisp-namespace.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-namespace/2022-11-06/lisp-namespace-20221106-git.tgz"; - sha256 = "1p5db9mab4whapy1pl38ajw5fkrrdw266n05mnhf4xx2fb9sbx6p"; - system = "lisp-namespace.test"; - asd = "lisp-namespace.test"; - }); - systems = [ "lisp-namespace.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "lisp-namespace" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-pay = (build-asdf-system { - pname = "lisp-pay"; - version = "20241012-git"; - asds = [ "lisp-pay" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-pay/2024-10-12/lisp-pay-20241012-git.tgz"; - sha256 = "1rbkzngas67ras5cf90y3dk99md05jmnjgsh45khj4b6kzw5a4v5"; - system = "lisp-pay"; - asd = "lisp-pay"; - }); - systems = [ "lisp-pay" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "cl-tls" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "lack" self) (getAttr "ningle" self) (getAttr "shasht" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-preprocessor = (build-asdf-system { - pname = "lisp-preprocessor"; - version = "20200715-git"; - asds = [ "lisp-preprocessor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-preprocessor/2020-07-15/lisp-preprocessor-20200715-git.tgz"; - sha256 = "0v0qhawcvgbxk06nfwyvcqwmqvzn2svq80l2rb12myr0znschhpi"; - system = "lisp-preprocessor"; - asd = "lisp-preprocessor"; - }); - systems = [ "lisp-preprocessor" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) (getAttr "trivia" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-preprocessor-tests = (build-asdf-system { - pname = "lisp-preprocessor-tests"; - version = "20200715-git"; - asds = [ "lisp-preprocessor-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-preprocessor/2020-07-15/lisp-preprocessor-20200715-git.tgz"; - sha256 = "0v0qhawcvgbxk06nfwyvcqwmqvzn2svq80l2rb12myr0znschhpi"; - system = "lisp-preprocessor-tests"; - asd = "lisp-preprocessor"; - }); - systems = [ "lisp-preprocessor-tests" ]; - lispLibs = [ (getAttr "lisp-preprocessor" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-stat = (build-asdf-system { - pname = "lisp-stat"; - version = "20241012-git"; - asds = [ "lisp-stat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-stat/2024-10-12/lisp-stat-20241012-git.tgz"; - sha256 = "0igrrwlfvdqxdqwqij819zlkma6b815d10v3kzh1r6hp9fhn0r3p"; - system = "lisp-stat"; - asd = "lisp-stat"; - }); - systems = [ "lisp-stat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "array-operations" self) (getAttr "data-frame" self) (getAttr "dexador" self) (getAttr "dfio" self) (getAttr "distributions" self) (getAttr "num-utils" self) (getAttr "org_dot_tfeb_dot_conduit-packages" self) (getAttr "select" self) (getAttr "statistics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-types = (build-asdf-system { - pname = "lisp-types"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "lisp-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "lisp-types"; - asd = "lisp-types"; - }); - systems = [ "lisp-types" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "cl-robdd" self) (getAttr "dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-types-analysis = (build-asdf-system { - pname = "lisp-types-analysis"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "lisp-types-analysis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "lisp-types-analysis"; - asd = "lisp-types-analysis"; - }); - systems = [ "lisp-types-analysis" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "cl-fad" self) (getAttr "cl-robdd" self) (getAttr "cl-robdd-analysis" self) (getAttr "lisp-types" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-types-test = (build-asdf-system { - pname = "lisp-types-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "lisp-types-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "lisp-types-test"; - asd = "lisp-types-test"; - }); - systems = [ "lisp-types-test" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "lisp-types" self) (getAttr "lisp-types-analysis" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lisp-unit = (build-asdf-system { - pname = "lisp-unit"; - version = "20170124-git"; - asds = [ "lisp-unit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-unit/2017-01-24/lisp-unit-20170124-git.tgz"; - sha256 = "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"; - system = "lisp-unit"; - asd = "lisp-unit"; - }); - systems = [ "lisp-unit" ]; - lispLibs = [ ]; - meta = {}; - }); - lisp-unit2 = (build-asdf-system { - pname = "lisp-unit2"; - version = "20230214-git"; - asds = [ "lisp-unit2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-unit2/2023-02-14/lisp-unit2-20230214-git.tgz"; - sha256 = "140nn22n1xv3qaash3x6h2h7xmys44s3f42b7bakfhpc4qlx0b69"; - system = "lisp-unit2"; - asd = "lisp-unit2"; - }); - systems = [ "lisp-unit2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-interpol" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) ]; - meta = {}; - }); - lispbuilder-lexer = (build-asdf-system { - pname = "lispbuilder-lexer"; - version = "20210807-git"; - asds = [ "lispbuilder-lexer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-lexer"; - asd = "lispbuilder-lexer"; - }); - systems = [ "lispbuilder-lexer" ]; - lispLibs = [ (getAttr "lispbuilder-regex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-net = (build-asdf-system { - pname = "lispbuilder-net"; - version = "20210807-git"; - asds = [ "lispbuilder-net" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-net"; - asd = "lispbuilder-net"; - }); - systems = [ "lispbuilder-net" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-net-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-net-cffi = (build-asdf-system { - pname = "lispbuilder-net-cffi"; - version = "20210807-git"; - asds = [ "lispbuilder-net-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-net-cffi"; - asd = "lispbuilder-net-cffi"; - }); - systems = [ "lispbuilder-net-cffi" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-opengl-1-1 = (build-asdf-system { - pname = "lispbuilder-opengl-1-1"; - version = "20210807-git"; - asds = [ "lispbuilder-opengl-1-1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-opengl-1-1"; - asd = "lispbuilder-opengl-1-1"; - }); - systems = [ "lispbuilder-opengl-1-1" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-opengl-examples = (build-asdf-system { - pname = "lispbuilder-opengl-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-opengl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-opengl-examples"; - asd = "lispbuilder-opengl-examples"; - }); - systems = [ "lispbuilder-opengl-examples" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-opengl-1-1" self) (getAttr "lispbuilder-sdl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-regex = (build-asdf-system { - pname = "lispbuilder-regex"; - version = "20210807-git"; - asds = [ "lispbuilder-regex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-regex"; - asd = "lispbuilder-regex"; - }); - systems = [ "lispbuilder-regex" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl = (build-asdf-system { - pname = "lispbuilder-sdl"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl"; - asd = "lispbuilder-sdl"; - }); - systems = [ "lispbuilder-sdl" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl-assets" self) (getAttr "lispbuilder-sdl-base" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-assets = (build-asdf-system { - pname = "lispbuilder-sdl-assets"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-assets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-assets"; - asd = "lispbuilder-sdl-assets"; - }); - systems = [ "lispbuilder-sdl-assets" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-base = (build-asdf-system { - pname = "lispbuilder-sdl-base"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-base"; - asd = "lispbuilder-sdl-base"; - }); - systems = [ "lispbuilder-sdl-base" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-binaries = (build-asdf-system { - pname = "lispbuilder-sdl-binaries"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-binaries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-binaries"; - asd = "lispbuilder-sdl-binaries"; - }); - systems = [ "lispbuilder-sdl-binaries" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-cffi = (build-asdf-system { - pname = "lispbuilder-sdl-cffi"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-cffi"; - asd = "lispbuilder-sdl-cffi"; - }); - systems = [ "lispbuilder-sdl-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl-binaries" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-cl-vectors = (build-asdf-system { - pname = "lispbuilder-sdl-cl-vectors"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-cl-vectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-cl-vectors"; - asd = "lispbuilder-sdl-cl-vectors"; - }); - systems = [ "lispbuilder-sdl-cl-vectors" ]; - lispLibs = [ (getAttr "cl-aa-misc" self) (getAttr "cl-paths-ttf" self) (getAttr "cl-vectors" self) (getAttr "lispbuilder-sdl" self) (getAttr "zpb-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-cl-vectors-examples = (build-asdf-system { - pname = "lispbuilder-sdl-cl-vectors-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-cl-vectors-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-cl-vectors-examples"; - asd = "lispbuilder-sdl-cl-vectors-examples"; - }); - systems = [ "lispbuilder-sdl-cl-vectors-examples" ]; - lispLibs = [ (getAttr "lispbuilder-sdl-cl-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-examples = (build-asdf-system { - pname = "lispbuilder-sdl-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-examples"; - asd = "lispbuilder-sdl-examples"; - }); - systems = [ "lispbuilder-sdl-examples" ]; - lispLibs = [ (getAttr "lispbuilder-sdl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-gfx = (build-asdf-system { - pname = "lispbuilder-sdl-gfx"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-gfx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-gfx"; - asd = "lispbuilder-sdl-gfx"; - }); - systems = [ "lispbuilder-sdl-gfx" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-gfx-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-gfx-binaries = (build-asdf-system { - pname = "lispbuilder-sdl-gfx-binaries"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-gfx-binaries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-gfx-binaries"; - asd = "lispbuilder-sdl-gfx-binaries"; - }); - systems = [ "lispbuilder-sdl-gfx-binaries" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-gfx-cffi = (build-asdf-system { - pname = "lispbuilder-sdl-gfx-cffi"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-gfx-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-gfx-cffi"; - asd = "lispbuilder-sdl-gfx-cffi"; - }); - systems = [ "lispbuilder-sdl-gfx-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-gfx-examples = (build-asdf-system { - pname = "lispbuilder-sdl-gfx-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-gfx-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-gfx-examples"; - asd = "lispbuilder-sdl-gfx-examples"; - }); - systems = [ "lispbuilder-sdl-gfx-examples" ]; - lispLibs = [ (getAttr "lispbuilder-sdl-gfx" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-image = (build-asdf-system { - pname = "lispbuilder-sdl-image"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-image" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-image"; - asd = "lispbuilder-sdl-image"; - }); - systems = [ "lispbuilder-sdl-image" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-image-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-image-binaries = (build-asdf-system { - pname = "lispbuilder-sdl-image-binaries"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-image-binaries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-image-binaries"; - asd = "lispbuilder-sdl-image-binaries"; - }); - systems = [ "lispbuilder-sdl-image-binaries" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-image-cffi = (build-asdf-system { - pname = "lispbuilder-sdl-image-cffi"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-image-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-image-cffi"; - asd = "lispbuilder-sdl-image-cffi"; - }); - systems = [ "lispbuilder-sdl-image-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-image-binaries" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-image-examples = (build-asdf-system { - pname = "lispbuilder-sdl-image-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-image-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-image-examples"; - asd = "lispbuilder-sdl-image-examples"; - }); - systems = [ "lispbuilder-sdl-image-examples" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-image" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-mixer = (build-asdf-system { - pname = "lispbuilder-sdl-mixer"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-mixer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-mixer"; - asd = "lispbuilder-sdl-mixer"; - }); - systems = [ "lispbuilder-sdl-mixer" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-mixer-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-mixer-binaries = (build-asdf-system { - pname = "lispbuilder-sdl-mixer-binaries"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-mixer-binaries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-mixer-binaries"; - asd = "lispbuilder-sdl-mixer-binaries"; - }); - systems = [ "lispbuilder-sdl-mixer-binaries" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-mixer-cffi = (build-asdf-system { - pname = "lispbuilder-sdl-mixer-cffi"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-mixer-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-mixer-cffi"; - asd = "lispbuilder-sdl-mixer-cffi"; - }); - systems = [ "lispbuilder-sdl-mixer-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-mixer-binaries" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-mixer-examples = (build-asdf-system { - pname = "lispbuilder-sdl-mixer-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-mixer-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-mixer-examples"; - asd = "lispbuilder-sdl-mixer-examples"; - }); - systems = [ "lispbuilder-sdl-mixer-examples" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-mixer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-ttf = (build-asdf-system { - pname = "lispbuilder-sdl-ttf"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-ttf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-ttf"; - asd = "lispbuilder-sdl-ttf"; - }); - systems = [ "lispbuilder-sdl-ttf" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-ttf-cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-ttf-binaries = (build-asdf-system { - pname = "lispbuilder-sdl-ttf-binaries"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-ttf-binaries" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-ttf-binaries"; - asd = "lispbuilder-sdl-ttf-binaries"; - }); - systems = [ "lispbuilder-sdl-ttf-binaries" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-ttf-cffi = (build-asdf-system { - pname = "lispbuilder-sdl-ttf-cffi"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-ttf-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-ttf-cffi"; - asd = "lispbuilder-sdl-ttf-cffi"; - }); - systems = [ "lispbuilder-sdl-ttf-cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-ttf-binaries" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-ttf-examples = (build-asdf-system { - pname = "lispbuilder-sdl-ttf-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-ttf-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-ttf-examples"; - asd = "lispbuilder-sdl-ttf-examples"; - }); - systems = [ "lispbuilder-sdl-ttf-examples" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-vecto = (build-asdf-system { - pname = "lispbuilder-sdl-vecto"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-vecto" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-vecto"; - asd = "lispbuilder-sdl-vecto"; - }); - systems = [ "lispbuilder-sdl-vecto" ]; - lispLibs = [ (getAttr "lispbuilder-sdl" self) (getAttr "lispbuilder-sdl-cl-vectors" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-sdl-vecto-examples = (build-asdf-system { - pname = "lispbuilder-sdl-vecto-examples"; - version = "20210807-git"; - asds = [ "lispbuilder-sdl-vecto-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-sdl-vecto-examples"; - asd = "lispbuilder-sdl-vecto-examples"; - }); - systems = [ "lispbuilder-sdl-vecto-examples" ]; - lispLibs = [ (getAttr "lispbuilder-sdl-vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-windows = (build-asdf-system { - pname = "lispbuilder-windows"; - version = "20210807-git"; - asds = [ "lispbuilder-windows" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-windows"; - asd = "lispbuilder-windows"; - }); - systems = [ "lispbuilder-windows" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispbuilder-yacc = (build-asdf-system { - pname = "lispbuilder-yacc"; - version = "20210807-git"; - asds = [ "lispbuilder-yacc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; - sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; - system = "lispbuilder-yacc"; - asd = "lispbuilder-yacc"; - }); - systems = [ "lispbuilder-yacc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispcord = (build-asdf-system { - pname = "lispcord"; - version = "20241012-git"; - asds = [ "lispcord" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispcord/2024-10-12/lispcord-20241012-git.tgz"; - sha256 = "11xwrrvvqdm1wdnxrxqgizgw25plsn28n2k0lm5kakax9n221brn"; - system = "lispcord"; - asd = "lispcord"; - }); - systems = [ "lispcord" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "drakma" self) (getAttr "jonathan" self) (getAttr "split-sequence" self) (getAttr "verbose" self) (getAttr "websocket-driver-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lispqr = (build-asdf-system { - pname = "lispqr"; - version = "20210630-git"; - asds = [ "lispqr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lispqr/2021-06-30/lispqr-20210630-git.tgz"; - sha256 = "06v1xpw5r4nxll286frhkc3ysvr50m904d33marnjmiax41y8qkc"; - system = "lispqr"; - asd = "lispqr"; - }); - systems = [ "lispqr" ]; - lispLibs = [ (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - list-named-class = (build-asdf-system { - pname = "list-named-class"; - version = "20200325-git"; - asds = [ "list-named-class" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/list-named-class/2020-03-25/list-named-class-20200325-git.tgz"; - sha256 = "1bdi9q9wvfj66jji3n9hpjrj9271ial2awsb0xw80bmy6wqbg8kq"; - system = "list-named-class"; - asd = "list-named-class"; - }); - systems = [ "list-named-class" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - list-of = (build-asdf-system { - pname = "list-of"; - version = "20221106-git"; - asds = [ "list-of" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-finalizers/2022-11-06/asdf-finalizers-20221106-git.tgz"; - sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"; - system = "list-of"; - asd = "list-of"; - }); - systems = [ "list-of" ]; - lispLibs = [ (getAttr "asdf-finalizers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - listopia = (build-asdf-system { - pname = "listopia"; - version = "20210411-git"; - asds = [ "listopia" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz"; - sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0"; - system = "listopia"; - asd = "listopia"; - }); - systems = [ "listopia" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - listopia-bench = (build-asdf-system { - pname = "listopia-bench"; - version = "20210411-git"; - asds = [ "listopia-bench" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz"; - sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0"; - system = "listopia-bench"; - asd = "listopia-bench"; - }); - systems = [ "listopia-bench" ]; - lispLibs = [ (getAttr "listopia" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-benchmark" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - liter = (build-asdf-system { - pname = "liter"; - version = "20211020-git"; - asds = [ "liter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; - sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; - system = "liter"; - asd = "liter"; - }); - systems = [ "liter" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - literate-demo = (build-asdf-system { - pname = "literate-demo"; - version = "20230618-git"; - asds = [ "literate-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/literate-lisp/2023-06-18/literate-lisp-20230618-git.tgz"; - sha256 = "0smxf0a62dnwcfxsbsdkx4n5nqx9dlxdz6c2vfivxpqld6d6ap02"; - system = "literate-demo"; - asd = "literate-demo"; - }); - systems = [ "literate-demo" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "literate-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - literate-lisp = (build-asdf-system { - pname = "literate-lisp"; - version = "20230618-git"; - asds = [ "literate-lisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/literate-lisp/2023-06-18/literate-lisp-20230618-git.tgz"; - sha256 = "0smxf0a62dnwcfxsbsdkx4n5nqx9dlxdz6c2vfivxpqld6d6ap02"; - system = "literate-lisp"; - asd = "literate-lisp"; - }); - systems = [ "literate-lisp" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - litterae = (build-asdf-system { - pname = "litterae"; - version = "20200715-git"; - asds = [ "litterae" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz"; - sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl"; - system = "litterae"; - asd = "litterae"; - }); - systems = [ "litterae" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "cl-yaml" self) (getAttr "docparser" self) (getAttr "lsx" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - litterae-test-system = (build-asdf-system { - pname = "litterae-test-system"; - version = "20200715-git"; - asds = [ "litterae-test-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz"; - sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl"; - system = "litterae-test-system"; - asd = "litterae-test-system"; - }); - systems = [ "litterae-test-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - livesupport = (build-asdf-system { - pname = "livesupport"; - version = "release-quicklisp-71e6e412-git"; - asds = [ "livesupport" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/livesupport/2019-05-21/livesupport-release-quicklisp-71e6e412-git.tgz"; - sha256 = "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"; - system = "livesupport"; - asd = "livesupport"; - }); - systems = [ "livesupport" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lla = (build-asdf-system { - pname = "lla"; - version = "20241012-git"; - asds = [ "lla" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lla/2024-10-12/lla-20241012-git.tgz"; - sha256 = "19j11z8m00ry2bfn3ahai155b6qz995qqg7ipzvjdr05sj4gfb58"; - system = "lla"; - asd = "lla"; - }); - systems = [ "lla" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cffi" self) (getAttr "let-plus" self) (getAttr "num-utils" self) (getAttr "select" self) ]; - meta = {}; - }); - lmdb = (build-asdf-system { - pname = "lmdb"; - version = "20230214-git"; - asds = [ "lmdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lmdb/2023-02-14/lmdb-20230214-git.tgz"; - sha256 = "1mccswfdgg7pxvnq3rds2zh0257853zqf81q4igfpjh5lhg3czgh"; - system = "lmdb"; - asd = "lmdb"; - }); - systems = [ "lmdb" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-reexport" self) (getAttr "mgl-pax" self) (getAttr "osicat" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lml = (build-asdf-system { - pname = "lml"; - version = "20150923-git"; - asds = [ "lml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lml/2015-09-23/lml-20150923-git.tgz"; - sha256 = "1s8v9p08vwl08y6ssxn4l088zz57d6fr13lzdz93i9jb8w8884wk"; - system = "lml"; - asd = "lml"; - }); - systems = [ "lml" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lml-tests = (build-asdf-system { - pname = "lml-tests"; - version = "20150923-git"; - asds = [ "lml-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lml/2015-09-23/lml-20150923-git.tgz"; - sha256 = "1s8v9p08vwl08y6ssxn4l088zz57d6fr13lzdz93i9jb8w8884wk"; - system = "lml-tests"; - asd = "lml-tests"; - }); - systems = [ "lml-tests" ]; - lispLibs = [ (getAttr "lml" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lml2 = (build-asdf-system { - pname = "lml2"; - version = "20150923-git"; - asds = [ "lml2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lml2/2015-09-23/lml2-20150923-git.tgz"; - sha256 = "0v4d30x5zq1asp4r91nrzljpk2pm1plr0jns7a5wrf1n9fay57a6"; - system = "lml2"; - asd = "lml2"; - }); - systems = [ "lml2" ]; - lispLibs = [ (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lml2-tests = (build-asdf-system { - pname = "lml2-tests"; - version = "20150923-git"; - asds = [ "lml2-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lml2/2015-09-23/lml2-20150923-git.tgz"; - sha256 = "0v4d30x5zq1asp4r91nrzljpk2pm1plr0jns7a5wrf1n9fay57a6"; - system = "lml2-tests"; - asd = "lml2-tests"; - }); - systems = [ "lml2-tests" ]; - lispLibs = [ (getAttr "lml2" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - local-package-aliases = (build-asdf-system { - pname = "local-package-aliases"; - version = "20201220-git"; - asds = [ "local-package-aliases" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/local-package-aliases/2020-12-20/local-package-aliases-20201220-git.tgz"; - sha256 = "01knnxnximj2qyg8lhv0ijw69hfwqbfbmgvfjwnm7jbdgcp9wxnr"; - system = "local-package-aliases"; - asd = "local-package-aliases"; - }); - systems = [ "local-package-aliases" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - local-time = (build-asdf-system { - pname = "local-time"; - version = "20241012-git"; - asds = [ "local-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/local-time/2024-10-12/local-time-20241012-git.tgz"; - sha256 = "0jb1mb5zs4ryiah8zjzhpln1z686mfmpmvg1phgpr2mh9vvlgjk2"; - system = "local-time"; - asd = "local-time"; - }); - systems = [ "local-time" ]; - lispLibs = [ ]; - meta = {}; - }); - local-time-duration = (build-asdf-system { - pname = "local-time-duration"; - version = "20180430-git"; - asds = [ "local-time-duration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/local-time-duration/2018-04-30/local-time-duration-20180430-git.tgz"; - sha256 = "0f13mg18lv31lclz9jvqyj8d85p1jj1366nlld8m3dxnnwsbbkd6"; - system = "local-time-duration"; - asd = "local-time-duration"; - }); - systems = [ "local-time-duration" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - log4cl = (build-asdf-system { - pname = "log4cl"; - version = "20230618-git"; - asds = [ "log4cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; - sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; - system = "log4cl"; - asd = "log4cl"; - }); - systems = [ "log4cl" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = {}; - }); - log4cl-examples = (build-asdf-system { - pname = "log4cl-examples"; - version = "20230618-git"; - asds = [ "log4cl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; - sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; - system = "log4cl-examples"; - asd = "log4cl-examples"; - }); - systems = [ "log4cl-examples" ]; - lispLibs = [ (getAttr "log4cl" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - log4cl-extras = (build-asdf-system { - pname = "log4cl-extras"; - version = "20241012-git"; - asds = [ "log4cl-extras" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log4cl-extras/2024-10-12/log4cl-extras-20241012-git.tgz"; - sha256 = "17p8y884163j0gab0idra297kivzdgagl2im0gkmdhgrh0dw3b53"; - system = "log4cl-extras"; - asd = "log4cl-extras"; - }); - systems = [ "log4cl-extras" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "cl-strings" self) (getAttr "dissect" self) (getAttr "global-vars" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "with-output-to-stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - log4cl-extras-test = (build-asdf-system { - pname = "log4cl-extras-test"; - version = "20241012-git"; - asds = [ "log4cl-extras-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log4cl-extras/2024-10-12/log4cl-extras-20241012-git.tgz"; - sha256 = "17p8y884163j0gab0idra297kivzdgagl2im0gkmdhgrh0dw3b53"; - system = "log4cl-extras-test"; - asd = "log4cl-extras-test"; - }); - systems = [ "log4cl-extras-test" ]; - lispLibs = [ (getAttr "hamcrest" self) (getAttr "jonathan" self) (getAttr "rove" self) (getAttr "secret-values" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - log4cl_dot_log4slime = (build-asdf-system { - pname = "log4cl.log4slime"; - version = "20230618-git"; - asds = [ "log4cl.log4slime" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; - sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; - system = "log4cl.log4slime"; - asd = "log4cl.log4slime"; - }); - systems = [ "log4cl.log4slime" ]; - lispLibs = [ (getAttr "log4cl" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - log4cl_dot_log4sly = (build-asdf-system { - pname = "log4cl.log4sly"; - version = "20230618-git"; - asds = [ "log4cl.log4sly" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; - sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; - system = "log4cl.log4sly"; - asd = "log4cl.log4sly"; - }); - systems = [ "log4cl.log4sly" ]; - lispLibs = [ (getAttr "log4cl" self) (getAttr "slynk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - log5 = (build-asdf-system { - pname = "log5"; - version = "20110619-git"; - asds = [ "log5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/log5/2011-06-19/log5-20110619-git.tgz"; - sha256 = "0f7qhhphijwk6a4hq18gpgifld7hwwpma6md845hgjmpvyqvrw2g"; - system = "log5"; - asd = "log5"; - }); - systems = [ "log5" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lorem-ipsum = (build-asdf-system { - pname = "lorem-ipsum"; - version = "20181018-git"; - asds = [ "lorem-ipsum" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lorem-ipsum/2018-10-18/lorem-ipsum-20181018-git.tgz"; - sha256 = "1530qq0bk3xr25m77q96pbi1idnxdkax8cwmvq4ch03rfjy34j7n"; - system = "lorem-ipsum"; - asd = "lorem-ipsum"; - }); - systems = [ "lorem-ipsum" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lowlight = (build-asdf-system { - pname = "lowlight"; - version = "20131211-git"; - asds = [ "lowlight" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; - sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; - system = "lowlight"; - asd = "lowlight"; - }); - systems = [ "lowlight" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "graylex" self) (getAttr "spinneret" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lowlight_dot_doc = (build-asdf-system { - pname = "lowlight.doc"; - version = "20131211-git"; - asds = [ "lowlight.doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; - sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; - system = "lowlight.doc"; - asd = "lowlight.doc"; - }); - systems = [ "lowlight.doc" ]; - lispLibs = [ (getAttr "cl-gendoc" self) (getAttr "lowlight" self) (getAttr "lowlight_dot_tests" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lowlight_dot_old = (build-asdf-system { - pname = "lowlight.old"; - version = "20131211-git"; - asds = [ "lowlight.old" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; - sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; - system = "lowlight.old"; - asd = "lowlight.old"; - }); - systems = [ "lowlight.old" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "spinneret" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lowlight_dot_tests = (build-asdf-system { - pname = "lowlight.tests"; - version = "20131211-git"; - asds = [ "lowlight.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; - sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; - system = "lowlight.tests"; - asd = "lowlight.tests"; - }); - systems = [ "lowlight.tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "lowlight" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lparallel = (build-asdf-system { - pname = "lparallel"; - version = "20160825-git"; - asds = [ "lparallel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz"; - sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"; - system = "lparallel"; - asd = "lparallel"; - }); - systems = [ "lparallel" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) ]; - meta = {}; - }); - lparallel-bench = (build-asdf-system { - pname = "lparallel-bench"; - version = "20160825-git"; - asds = [ "lparallel-bench" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz"; - sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"; - system = "lparallel-bench"; - asd = "lparallel-bench"; - }); - systems = [ "lparallel-bench" ]; - lispLibs = [ (getAttr "lparallel" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lparallel-test = (build-asdf-system { - pname = "lparallel-test"; - version = "20160825-git"; - asds = [ "lparallel-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz"; - sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"; - system = "lparallel-test"; - asd = "lparallel-test"; - }); - systems = [ "lparallel-test" ]; - lispLibs = [ (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lquery = (build-asdf-system { - pname = "lquery"; - version = "20231021-git"; - asds = [ "lquery" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lquery/2023-10-21/lquery-20231021-git.tgz"; - sha256 = "124cjp4a99cicdk18rwz2slcyzvm982saddrvqcr97fi4i2nhnsg"; - system = "lquery"; - asd = "lquery"; - }); - systems = [ "lquery" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "clss" self) (getAttr "form-fiddle" self) (getAttr "plump" self) ]; - meta = {}; - }); - lquery-test = (build-asdf-system { - pname = "lquery-test"; - version = "20231021-git"; - asds = [ "lquery-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lquery/2023-10-21/lquery-20231021-git.tgz"; - sha256 = "124cjp4a99cicdk18rwz2slcyzvm982saddrvqcr97fi4i2nhnsg"; - system = "lquery-test"; - asd = "lquery-test"; - }); - systems = [ "lquery-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "lquery" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lracer = (build-asdf-system { - pname = "lracer"; - version = "20241012-git"; - asds = [ "lracer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/racer/2024-10-12/racer-20241012-git.tgz"; - sha256 = "120x046c6vcrj70vb6ryf04mwbr8c6a15llb68x7h1siij8vwgvk"; - system = "lracer"; - asd = "lracer"; - }); - systems = [ "lracer" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lredis = (build-asdf-system { - pname = "lredis"; - version = "20141106-git"; - asds = [ "lredis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lredis/2014-11-06/lredis-20141106-git.tgz"; - sha256 = "08srvlys0fyslfpmhc740cana7fkxm2kc7mxds4083wgxw3prhf2"; - system = "lredis"; - asd = "lredis"; - }); - systems = [ "lredis" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "babel-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lru-cache = (build-asdf-system { - pname = "lru-cache"; - version = "20241012-git"; - asds = [ "lru-cache" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lru-cache/2024-10-12/lru-cache-20241012-git.tgz"; - sha256 = "035pl11j1l129akgf33w5c0b8c6gxw1xpj54r0fzxz3dw7cs8pg1"; - system = "lru-cache"; - asd = "lru-cache"; - }); - systems = [ "lru-cache" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lru-cache-test = (build-asdf-system { - pname = "lru-cache-test"; - version = "20241012-git"; - asds = [ "lru-cache-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lru-cache/2024-10-12/lru-cache-20241012-git.tgz"; - sha256 = "035pl11j1l129akgf33w5c0b8c6gxw1xpj54r0fzxz3dw7cs8pg1"; - system = "lru-cache-test"; - asd = "lru-cache-test"; - }); - systems = [ "lru-cache-test" ]; - lispLibs = [ (getAttr "lru-cache" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lsx = (build-asdf-system { - pname = "lsx"; - version = "20220220-git"; - asds = [ "lsx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lsx/2022-02-20/lsx-20220220-git.tgz"; - sha256 = "1pdq6csr8pkzcq2zkhhm6wkp9zxx2aypjd16rcw4q43mff09y041"; - system = "lsx"; - asd = "lsx"; - }); - systems = [ "lsx" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ltk = (build-asdf-system { - pname = "ltk"; - version = "20221106-git"; - asds = [ "ltk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ltk/2022-11-06/ltk-20221106-git.tgz"; - sha256 = "0vqmdq3k235hd8d9cg0ipv0kw28aiydvr9j1igfnrs1ns9sm79va"; - system = "ltk"; - asd = "ltk"; - }); - systems = [ "ltk" ]; - lispLibs = [ ]; - meta = {}; - }); - ltk-mw = (build-asdf-system { - pname = "ltk-mw"; - version = "20221106-git"; - asds = [ "ltk-mw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ltk/2022-11-06/ltk-20221106-git.tgz"; - sha256 = "0vqmdq3k235hd8d9cg0ipv0kw28aiydvr9j1igfnrs1ns9sm79va"; - system = "ltk-mw"; - asd = "ltk-mw"; - }); - systems = [ "ltk-mw" ]; - lispLibs = [ (getAttr "ltk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ltk-remote = (build-asdf-system { - pname = "ltk-remote"; - version = "20221106-git"; - asds = [ "ltk-remote" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ltk/2022-11-06/ltk-20221106-git.tgz"; - sha256 = "0vqmdq3k235hd8d9cg0ipv0kw28aiydvr9j1igfnrs1ns9sm79va"; - system = "ltk-remote"; - asd = "ltk-remote"; - }); - systems = [ "ltk-remote" ]; - lispLibs = [ (getAttr "ltk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lucene-in-action-tests = (build-asdf-system { - pname = "lucene-in-action-tests"; - version = "20180228-git"; - asds = [ "lucene-in-action-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; - sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; - system = "lucene-in-action-tests"; - asd = "lucene-in-action-tests"; - }); - systems = [ "lucene-in-action-tests" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "montezuma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lunamech-matrix-api = (build-asdf-system { - pname = "lunamech-matrix-api"; - version = "20230214-git"; - asds = [ "lunamech-matrix-api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lunamech-matrix-api/2023-02-14/lunamech-matrix-api-20230214-git.tgz"; - sha256 = "0a664qq4m5gk4iv5ck63gmsl3218jhjsalawklj56wn2pw0cf8a0"; - system = "lunamech-matrix-api"; - asd = "lunamech-matrix-api"; - }); - systems = [ "lunamech-matrix-api" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "do-urlencode" self) (getAttr "drakma" self) (getAttr "jonathan" self) (getAttr "plump" self) (getAttr "quri" self) (getAttr "reader" self) (getAttr "shasht" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lw-compat = (build-asdf-system { - pname = "lw-compat"; - version = "20160318-git"; - asds = [ "lw-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lw-compat/2016-03-18/lw-compat-20160318-git.tgz"; - sha256 = "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"; - system = "lw-compat"; - asd = "lw-compat"; - }); - systems = [ "lw-compat" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lyrics = (build-asdf-system { - pname = "lyrics"; - version = "20210807-git"; - asds = [ "lyrics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lyrics/2021-08-07/lyrics-20210807-git.tgz"; - sha256 = "1xdhl53i9pim2mbviwqahlkgfsja7ihyvvrwz8q22ljv6bnb6011"; - system = "lyrics"; - asd = "lyrics"; - }); - systems = [ "lyrics" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "defmemo" self) (getAttr "drakma" self) (getAttr "lquery" self) (getAttr "plump" self) (getAttr "sqlite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lzlib = (build-asdf-system { - pname = "lzlib"; - version = "20230618-git"; - asds = [ "lzlib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lzlib/2023-06-18/cl-lzlib-20230618-git.tgz"; - sha256 = "1nb2g6a7l1qzm1bwv8b15nflgv8rv478x0n7viv6rlwzgqs5q3b8"; - system = "lzlib"; - asd = "lzlib"; - }); - systems = [ "lzlib" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-octet-streams" self) (getAttr "lparallel" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - lzlib-tests = (build-asdf-system { - pname = "lzlib-tests"; - version = "20230618-git"; - asds = [ "lzlib-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-lzlib/2023-06-18/cl-lzlib-20230618-git.tgz"; - sha256 = "1nb2g6a7l1qzm1bwv8b15nflgv8rv478x0n7viv6rlwzgqs5q3b8"; - system = "lzlib-tests"; - asd = "lzlib-tests"; - }); - systems = [ "lzlib-tests" ]; - lispLibs = [ (getAttr "cl-octet-streams" self) (getAttr "fiveam" self) (getAttr "lzlib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - machine-state = (build-asdf-system { - pname = "machine-state"; - version = "20241012-git"; - asds = [ "machine-state" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/machine-state/2024-10-12/machine-state-20241012-git.tgz"; - sha256 = "1zmag6j9zfpnv9xfdjzb6dfg3jzvhandm1plyv50i619p0w0nagk"; - system = "machine-state"; - asd = "machine-state"; - }); - systems = [ "machine-state" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "pathname-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - macro-html = (build-asdf-system { - pname = "macro-html"; - version = "20151218-git"; - asds = [ "macro-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/macro-html/2015-12-18/macro-html-20151218-git.tgz"; - sha256 = "05gzgijz8r3dw3ilz7d5i0g0mbcyv9k8w2dgvw7n478njp1gfj4b"; - system = "macro-html"; - asd = "macro-html"; - }); - systems = [ "macro-html" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - macro-level = (build-asdf-system { - pname = "macro-level"; - version = "1.1"; - asds = [ "macro-level" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/macro-level/2023-10-21/macro-level_1.1.tgz"; - sha256 = "1jcidyf4kfzzj5vj4i3l1vw0sbj9njaminb6j1bcq70y9w15qm68"; - system = "macro-level"; - asd = "macro-level"; - }); - systems = [ "macro-level" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - macro-level__tests = (build-asdf-system { - pname = "macro-level_tests"; - version = "1.1"; - asds = [ "macro-level_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/macro-level/2023-10-21/macro-level_1.1.tgz"; - sha256 = "1jcidyf4kfzzj5vj4i3l1vw0sbj9njaminb6j1bcq70y9w15qm68"; - system = "macro-level_tests"; - asd = "macro-level_tests"; - }); - systems = [ "macro-level_tests" ]; - lispLibs = [ (getAttr "macro-level" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - macrodynamics = (build-asdf-system { - pname = "macrodynamics"; - version = "20180228-git"; - asds = [ "macrodynamics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/macrodynamics/2018-02-28/macrodynamics-20180228-git.tgz"; - sha256 = "1ysgin8lzd4fdl5c63v3ga9v6lzk3gyl1h8jhl0ar6wyhd3023l4"; - system = "macrodynamics"; - asd = "macrodynamics"; - }); - systems = [ "macrodynamics" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - macroexpand-dammit = (build-asdf-system { - pname = "macroexpand-dammit"; - version = "20131111-http"; - asds = [ "macroexpand-dammit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/macroexpand-dammit/2013-11-11/macroexpand-dammit-20131111-http.tgz"; - sha256 = "10avpq3qffrc51hrfjwp3vi5vv9b1aip1dnwncnlc3yd498b3pfl"; - system = "macroexpand-dammit"; - asd = "macroexpand-dammit"; - }); - systems = [ "macroexpand-dammit" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - madeira-port = (build-asdf-system { - pname = "madeira-port"; - version = "20150709-git"; - asds = [ "madeira-port" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/madeira-port/2015-07-09/madeira-port-20150709-git.tgz"; - sha256 = "0zl6i11vm1akr0382zh582v3vkxjwmabsnfjcfgrp2wbkq4mvdgq"; - system = "madeira-port"; - asd = "madeira-port"; - }); - systems = [ "madeira-port" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - madeira-port-tests = (build-asdf-system { - pname = "madeira-port-tests"; - version = "20150709-git"; - asds = [ "madeira-port-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/madeira-port/2015-07-09/madeira-port-20150709-git.tgz"; - sha256 = "0zl6i11vm1akr0382zh582v3vkxjwmabsnfjcfgrp2wbkq4mvdgq"; - system = "madeira-port-tests"; - asd = "madeira-port"; - }); - systems = [ "madeira-port-tests" ]; - lispLibs = [ (getAttr "eos" self) (getAttr "madeira-port" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - magic-ed = (build-asdf-system { - pname = "magic-ed"; - version = "20200325-git"; - asds = [ "magic-ed" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magic-ed/2020-03-25/magic-ed-20200325-git.tgz"; - sha256 = "1j6il4lif0dy6hqiz6n91yl8dvii9pk1i9vz0faq5mnr42mr7i5f"; - system = "magic-ed"; - asd = "magic-ed"; - }); - systems = [ "magic-ed" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - magicffi = (build-asdf-system { - pname = "magicffi"; - version = "20210531-git"; - asds = [ "magicffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magicffi/2021-05-31/magicffi-20210531-git.tgz"; - sha256 = "0l2b2irpb19b9pyxbmkxi4i5y6crx8nk7qrbihsdqahlkrwsk1il"; - system = "magicffi"; - asd = "magicffi"; - }); - systems = [ "magicffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - magicl = (build-asdf-system { - pname = "magicl"; - version = "v0.11.0"; - asds = [ "magicl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; - sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; - system = "magicl"; - asd = "magicl"; - }); - systems = [ "magicl" ]; - lispLibs = [ (getAttr "abstract-classes" self) (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "interface" self) (getAttr "policy-cond" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - magicl-examples = (build-asdf-system { - pname = "magicl-examples"; - version = "v0.11.0"; - asds = [ "magicl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; - sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; - system = "magicl-examples"; - asd = "magicl-examples"; - }); - systems = [ "magicl-examples" ]; - lispLibs = [ (getAttr "magicl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - magicl-gen = (build-asdf-system { - pname = "magicl-gen"; - version = "v0.11.0"; - asds = [ "magicl-gen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; - sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; - system = "magicl-gen"; - asd = "magicl-gen"; - }); - systems = [ "magicl-gen" ]; - lispLibs = [ (getAttr "abstract-classes" self) (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "interface" self) (getAttr "policy-cond" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - magicl-tests = (build-asdf-system { - pname = "magicl-tests"; - version = "v0.11.0"; - asds = [ "magicl-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; - sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; - system = "magicl-tests"; - asd = "magicl-tests"; - }); - systems = [ "magicl-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiasco" self) (getAttr "magicl" self) (getAttr "magicl-examples" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - magicl-transcendental = (build-asdf-system { - pname = "magicl-transcendental"; - version = "v0.11.0"; - asds = [ "magicl-transcendental" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; - sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; - system = "magicl-transcendental"; - asd = "magicl-transcendental"; - }); - systems = [ "magicl-transcendental" ]; - lispLibs = [ (getAttr "abstract-classes" self) (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "interface" self) (getAttr "policy-cond" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden = (build-asdf-system { - pname = "maiden"; - version = "20241012-git"; - asds = [ "maiden" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden"; - asd = "maiden"; - }); - systems = [ "maiden" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "deeds" self) (getAttr "documentation-utils" self) (getAttr "form-fiddle" self) (getAttr "lambda-fiddle" self) (getAttr "trivial-garbage" self) (getAttr "trivial-indent" self) (getAttr "uuid" self) (getAttr "verbose" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-accounts = (build-asdf-system { - pname = "maiden-accounts"; - version = "20241012-git"; - asds = [ "maiden-accounts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-accounts"; - asd = "maiden-accounts"; - }); - systems = [ "maiden-accounts" ]; - lispLibs = [ (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-activatable = (build-asdf-system { - pname = "maiden-activatable"; - version = "20241012-git"; - asds = [ "maiden-activatable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-activatable"; - asd = "maiden-activatable"; - }); - systems = [ "maiden-activatable" ]; - lispLibs = [ (getAttr "maiden" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-api-access = (build-asdf-system { - pname = "maiden-api-access"; - version = "20241012-git"; - asds = [ "maiden-api-access" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-api-access"; - asd = "maiden-api-access"; - }); - systems = [ "maiden-api-access" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "jsown" self) (getAttr "maiden" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-blocker = (build-asdf-system { - pname = "maiden-blocker"; - version = "20241012-git"; - asds = [ "maiden-blocker" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-blocker"; - asd = "maiden-blocker"; - }); - systems = [ "maiden-blocker" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-channel-relay = (build-asdf-system { - pname = "maiden-channel-relay"; - version = "20241012-git"; - asds = [ "maiden-channel-relay" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-channel-relay"; - asd = "maiden-channel-relay"; - }); - systems = [ "maiden-channel-relay" ]; - lispLibs = [ (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-chatlog = (build-asdf-system { - pname = "maiden-chatlog"; - version = "20241012-git"; - asds = [ "maiden-chatlog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-chatlog"; - asd = "maiden-chatlog"; - }); - systems = [ "maiden-chatlog" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) (getAttr "postmodern" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-client-entities = (build-asdf-system { - pname = "maiden-client-entities"; - version = "20241012-git"; - asds = [ "maiden-client-entities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-client-entities"; - asd = "maiden-client-entities"; - }); - systems = [ "maiden-client-entities" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "maiden" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-commands = (build-asdf-system { - pname = "maiden-commands"; - version = "20241012-git"; - asds = [ "maiden-commands" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-commands"; - asd = "maiden-commands"; - }); - systems = [ "maiden-commands" ]; - lispLibs = [ (getAttr "lambda-fiddle" self) (getAttr "maiden" self) (getAttr "maiden-client-entities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-core-manager = (build-asdf-system { - pname = "maiden-core-manager"; - version = "20241012-git"; - asds = [ "maiden-core-manager" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-core-manager"; - asd = "maiden-core-manager"; - }); - systems = [ "maiden-core-manager" ]; - lispLibs = [ (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-counter = (build-asdf-system { - pname = "maiden-counter"; - version = "20241012-git"; - asds = [ "maiden-counter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-counter"; - asd = "maiden-counter"; - }); - systems = [ "maiden-counter" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "maiden-activatable" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-crimes = (build-asdf-system { - pname = "maiden-crimes"; - version = "20241012-git"; - asds = [ "maiden-crimes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-crimes"; - asd = "maiden-crimes"; - }); - systems = [ "maiden-crimes" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-dictionary = (build-asdf-system { - pname = "maiden-dictionary"; - version = "20241012-git"; - asds = [ "maiden-dictionary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-dictionary"; - asd = "maiden-dictionary"; - }); - systems = [ "maiden-dictionary" ]; - lispLibs = [ (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) (getAttr "oxenfurt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-emoticon = (build-asdf-system { - pname = "maiden-emoticon"; - version = "20241012-git"; - asds = [ "maiden-emoticon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-emoticon"; - asd = "maiden-emoticon"; - }); - systems = [ "maiden-emoticon" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "maiden-activatable" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-help = (build-asdf-system { - pname = "maiden-help"; - version = "20241012-git"; - asds = [ "maiden-help" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-help"; - asd = "maiden-help"; - }); - systems = [ "maiden-help" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-irc = (build-asdf-system { - pname = "maiden-irc"; - version = "20241012-git"; - asds = [ "maiden-irc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-irc"; - asd = "maiden-irc"; - }); - systems = [ "maiden-irc" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "form-fiddle" self) (getAttr "lambda-fiddle" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-networking" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-lastfm = (build-asdf-system { - pname = "maiden-lastfm"; - version = "20241012-git"; - asds = [ "maiden-lastfm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-lastfm"; - asd = "maiden-lastfm"; - }); - systems = [ "maiden-lastfm" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-lichat = (build-asdf-system { - pname = "maiden-lichat"; - version = "20241012-git"; - asds = [ "maiden-lichat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-lichat"; - asd = "maiden-lichat"; - }); - systems = [ "maiden-lichat" ]; - lispLibs = [ (getAttr "lichat-protocol" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-networking" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-location = (build-asdf-system { - pname = "maiden-location"; - version = "20241012-git"; - asds = [ "maiden-location" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-location"; - asd = "maiden-location"; - }); - systems = [ "maiden-location" ]; - lispLibs = [ (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-lookup = (build-asdf-system { - pname = "maiden-lookup"; - version = "20241012-git"; - asds = [ "maiden-lookup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-lookup"; - asd = "maiden-lookup"; - }); - systems = [ "maiden-lookup" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "lquery" self) (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-markov = (build-asdf-system { - pname = "maiden-markov"; - version = "20241012-git"; - asds = [ "maiden-markov" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-markov"; - asd = "maiden-markov"; - }); - systems = [ "maiden-markov" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "fast-io" self) (getAttr "maiden-activatable" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-medals = (build-asdf-system { - pname = "maiden-medals"; - version = "20241012-git"; - asds = [ "maiden-medals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-medals"; - asd = "maiden-medals"; - }); - systems = [ "maiden-medals" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "maiden-accounts" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-networking = (build-asdf-system { - pname = "maiden-networking"; - version = "20241012-git"; - asds = [ "maiden-networking" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-networking"; - asd = "maiden-networking"; - }); - systems = [ "maiden-networking" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "maiden" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-notify = (build-asdf-system { - pname = "maiden-notify"; - version = "20241012-git"; - asds = [ "maiden-notify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-notify"; - asd = "maiden-notify"; - }); - systems = [ "maiden-notify" ]; - lispLibs = [ (getAttr "maiden-accounts" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-permissions = (build-asdf-system { - pname = "maiden-permissions"; - version = "20241012-git"; - asds = [ "maiden-permissions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-permissions"; - asd = "maiden-permissions"; - }); - systems = [ "maiden-permissions" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-relay = (build-asdf-system { - pname = "maiden-relay"; - version = "20241012-git"; - asds = [ "maiden-relay" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-relay"; - asd = "maiden-relay"; - }); - systems = [ "maiden-relay" ]; - lispLibs = [ (getAttr "maiden-networking" self) (getAttr "maiden-serialize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-serialize = (build-asdf-system { - pname = "maiden-serialize"; - version = "20241012-git"; - asds = [ "maiden-serialize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-serialize"; - asd = "maiden-serialize"; - }); - systems = [ "maiden-serialize" ]; - lispLibs = [ (getAttr "cl-store" self) (getAttr "gzip-stream" self) (getAttr "maiden" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-silly = (build-asdf-system { - pname = "maiden-silly"; - version = "20241012-git"; - asds = [ "maiden-silly" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-silly"; - asd = "maiden-silly"; - }); - systems = [ "maiden-silly" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "lquery" self) (getAttr "maiden-activatable" self) (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-storage = (build-asdf-system { - pname = "maiden-storage"; - version = "20241012-git"; - asds = [ "maiden-storage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-storage"; - asd = "maiden-storage"; - }); - systems = [ "maiden-storage" ]; - lispLibs = [ (getAttr "maiden" self) (getAttr "pathname-utils" self) (getAttr "ubiquitous-concurrent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-talk = (build-asdf-system { - pname = "maiden-talk"; - version = "20241012-git"; - asds = [ "maiden-talk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-talk"; - asd = "maiden-talk"; - }); - systems = [ "maiden-talk" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "cl-mixed-mpg123" self) (getAttr "drakma" self) (getAttr "harmony" self) (getAttr "maiden-commands" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-throttle = (build-asdf-system { - pname = "maiden-throttle"; - version = "20241012-git"; - asds = [ "maiden-throttle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-throttle"; - asd = "maiden-throttle"; - }); - systems = [ "maiden-throttle" ]; - lispLibs = [ (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-time = (build-asdf-system { - pname = "maiden-time"; - version = "20241012-git"; - asds = [ "maiden-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-time"; - asd = "maiden-time"; - }); - systems = [ "maiden-time" ]; - lispLibs = [ (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-location" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-trivia = (build-asdf-system { - pname = "maiden-trivia"; - version = "20241012-git"; - asds = [ "maiden-trivia" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-trivia"; - asd = "maiden-trivia"; - }); - systems = [ "maiden-trivia" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-twitter = (build-asdf-system { - pname = "maiden-twitter"; - version = "20241012-git"; - asds = [ "maiden-twitter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-twitter"; - asd = "maiden-twitter"; - }); - systems = [ "maiden-twitter" ]; - lispLibs = [ (getAttr "chirp" self) (getAttr "maiden-client-entities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-urlinfo = (build-asdf-system { - pname = "maiden-urlinfo"; - version = "20241012-git"; - asds = [ "maiden-urlinfo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-urlinfo"; - asd = "maiden-urlinfo"; - }); - systems = [ "maiden-urlinfo" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "maiden-activatable" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-vote = (build-asdf-system { - pname = "maiden-vote"; - version = "20241012-git"; - asds = [ "maiden-vote" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-vote"; - asd = "maiden-vote"; - }); - systems = [ "maiden-vote" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maiden-weather = (build-asdf-system { - pname = "maiden-weather"; - version = "20241012-git"; - asds = [ "maiden-weather" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; - sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; - system = "maiden-weather"; - asd = "maiden-weather"; - }); - systems = [ "maiden-weather" ]; - lispLibs = [ (getAttr "local-time" self) (getAttr "maiden-api-access" self) (getAttr "maiden-client-entities" self) (getAttr "maiden-commands" self) (getAttr "maiden-location" self) (getAttr "maiden-storage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maidenhead = (build-asdf-system { - pname = "maidenhead"; - version = "20241012-git"; - asds = [ "maidenhead" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maidenhead/2024-10-12/maidenhead-20241012-git.tgz"; - sha256 = "10pcx2ngyj6lkfbg1b58lzcm02xl1a3smnad5lvvw30pbalwcq46"; - system = "maidenhead"; - asd = "maidenhead"; - }); - systems = [ "maidenhead" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mailbox = (build-asdf-system { - pname = "mailbox"; - version = "20131003-git"; - asds = [ "mailbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mailbox/2013-10-03/mailbox-20131003-git.tgz"; - sha256 = "1qgkcss8m2q29kr9d040dnjmzl17vb7zzvlz5ry3z3zgbdwgj1sy"; - system = "mailbox"; - asd = "mailbox"; - }); - systems = [ "mailbox" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mailgun = (build-asdf-system { - pname = "mailgun"; - version = "20220707-git"; - asds = [ "mailgun" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mailgun/2022-07-07/mailgun-20220707-git.tgz"; - sha256 = "1wadkm5r2hmyz40m4kwg5rv4g4dwn3h2d8l2mn9dncg5qy37x2vl"; - system = "mailgun"; - asd = "mailgun"; - }); - systems = [ "mailgun" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "log4cl" self) (getAttr "secret-values" self) (getAttr "spinneret" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - make-hash = (build-asdf-system { - pname = "make-hash"; - version = "20130615-git"; - asds = [ "make-hash" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/make-hash/2013-06-15/make-hash-20130615-git.tgz"; - sha256 = "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"; - system = "make-hash"; - asd = "make-hash"; - }); - systems = [ "make-hash" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - make-hash-tests = (build-asdf-system { - pname = "make-hash-tests"; - version = "20130615-git"; - asds = [ "make-hash-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/make-hash/2013-06-15/make-hash-20130615-git.tgz"; - sha256 = "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"; - system = "make-hash-tests"; - asd = "make-hash-tests"; - }); - systems = [ "make-hash-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "make-hash" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - manifest = (build-asdf-system { - pname = "manifest"; - version = "20120208-git"; - asds = [ "manifest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/manifest/2012-02-08/manifest-20120208-git.tgz"; - sha256 = "0dswslnskskdbsln6vi7w8cbypw001d81xaxkfn4g7m15m9pzkgf"; - system = "manifest"; - asd = "manifest"; - }); - systems = [ "manifest" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "monkeylib-html" self) (getAttr "puri" self) (getAttr "split-sequence" self) (getAttr "toot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - manifolds = (build-asdf-system { - pname = "manifolds"; - version = "20241012-git"; - asds = [ "manifolds" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/manifolds/2024-10-12/manifolds-20241012-git.tgz"; - sha256 = "1q9hy2k1xabf8whnyxjiaqypbnbq84q94z1gmqgicxyzn7h3ybw4"; - system = "manifolds"; - asd = "manifolds"; - }); - systems = [ "manifolds" ]; - lispLibs = [ (getAttr "_3d-math" self) (getAttr "_3d-spaces" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - manifolds-test = (build-asdf-system { - pname = "manifolds-test"; - version = "20241012-git"; - asds = [ "manifolds-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/manifolds/2024-10-12/manifolds-20241012-git.tgz"; - sha256 = "1q9hy2k1xabf8whnyxjiaqypbnbq84q94z1gmqgicxyzn7h3ybw4"; - system = "manifolds-test"; - asd = "manifolds-test"; - }); - systems = [ "manifolds-test" ]; - lispLibs = [ (getAttr "cl-wavefront" self) (getAttr "manifolds" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - map-bind = (build-asdf-system { - pname = "map-bind"; - version = "20120811-git"; - asds = [ "map-bind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/map-bind/2012-08-11/map-bind-20120811-git.tgz"; - sha256 = "06z02c0ypfrd789glbidnhf95839hardd7nr3i95l1adm8pas30f"; - system = "map-bind"; - asd = "map-bind"; - }); - systems = [ "map-bind" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - map-set = (build-asdf-system { - pname = "map-set"; - version = "20230618-git"; - asds = [ "map-set" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/map-set/2023-06-18/map-set-20230618-git.tgz"; - sha256 = "1jlvgyvw9v49x65xvcc6vyy5nfgih43yysqj5v2555rm75p5ipgg"; - system = "map-set"; - asd = "map-set"; - }); - systems = [ "map-set" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - marching-cubes = (build-asdf-system { - pname = "marching-cubes"; - version = "20150709-git"; - asds = [ "marching-cubes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz"; - sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh"; - system = "marching-cubes"; - asd = "marching-cubes"; - }); - systems = [ "marching-cubes" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - marching-cubes-example = (build-asdf-system { - pname = "marching-cubes-example"; - version = "20150709-git"; - asds = [ "marching-cubes-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz"; - sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh"; - system = "marching-cubes-example"; - asd = "marching-cubes-example"; - }); - systems = [ "marching-cubes-example" ]; - lispLibs = [ (getAttr "marching-cubes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - marching-cubes-test = (build-asdf-system { - pname = "marching-cubes-test"; - version = "20150709-git"; - asds = [ "marching-cubes-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz"; - sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh"; - system = "marching-cubes-test"; - asd = "marching-cubes-test"; - }); - systems = [ "marching-cubes-test" ]; - lispLibs = [ (getAttr "cl-test-more" self) (getAttr "marching-cubes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - markdown_dot_cl = (build-asdf-system { - pname = "markdown.cl"; - version = "20210228-git"; - asds = [ "markdown.cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/markdown.cl/2021-02-28/markdown.cl-20210228-git.tgz"; - sha256 = "00yxg67skx3navq7fdsjy0wds16n9n12bhdzv08f43bgbwali7v8"; - system = "markdown.cl"; - asd = "markdown.cl"; - }); - systems = [ "markdown.cl" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - markdown_dot_cl-test = (build-asdf-system { - pname = "markdown.cl-test"; - version = "20210228-git"; - asds = [ "markdown.cl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/markdown.cl/2021-02-28/markdown.cl-20210228-git.tgz"; - sha256 = "00yxg67skx3navq7fdsjy0wds16n9n12bhdzv08f43bgbwali7v8"; - system = "markdown.cl-test"; - asd = "markdown.cl-test"; - }); - systems = [ "markdown.cl-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "markdown_dot_cl" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - markup = (build-asdf-system { - pname = "markup"; - version = "20230618-git"; - asds = [ "markup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/markup/2023-06-18/markup-20230618-git.tgz"; - sha256 = "1paj76r1bfq4pr6m6j1mgik8b97sl2zgzy7rvvwwfrs2j1mf8byd"; - system = "markup"; - asd = "markup"; - }); - systems = [ "markup" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "named-readtables" self) (getAttr "str" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - markup_dot_test = (build-asdf-system { - pname = "markup.test"; - version = "20230618-git"; - asds = [ "markup.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/markup/2023-06-18/markup-20230618-git.tgz"; - sha256 = "1paj76r1bfq4pr6m6j1mgik8b97sl2zgzy7rvvwwfrs2j1mf8byd"; - system = "markup.test"; - asd = "markup.test"; - }); - systems = [ "markup.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "markup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - marshal = (build-asdf-system { - pname = "marshal"; - version = "20241012-git"; - asds = [ "marshal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-marshal/2024-10-12/cl-marshal-20241012-git.tgz"; - sha256 = "081j2gfjdg05xzcq0jzqxjb874wkjdbxk9vah7hmlw9d767mzs5b"; - system = "marshal"; - asd = "marshal"; - }); - systems = [ "marshal" ]; - lispLibs = [ ]; - meta = {}; - }); - marshal-tests = (build-asdf-system { - pname = "marshal-tests"; - version = "20241012-git"; - asds = [ "marshal-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-marshal/2024-10-12/cl-marshal-20241012-git.tgz"; - sha256 = "081j2gfjdg05xzcq0jzqxjb874wkjdbxk9vah7hmlw9d767mzs5b"; - system = "marshal-tests"; - asd = "marshal-tests"; - }); - systems = [ "marshal-tests" ]; - lispLibs = [ (getAttr "marshal" self) (getAttr "xlunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - math = (build-asdf-system { - pname = "math"; - version = "20241012-git"; - asds = [ "math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/math/2024-10-12/math-20241012-git.tgz"; - sha256 = "104rga7fqq3xvdxryhmgdq8zygd00zk5xb05glwqw01ygl3bc0r3"; - system = "math"; - asd = "math"; - }); - systems = [ "math" ]; - lispLibs = [ (getAttr "cl-utilities" self) (getAttr "closer-mop" self) (getAttr "font-discovery" self) (getAttr "gsll" self) (getAttr "vgplot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mathkit = (build-asdf-system { - pname = "mathkit"; - version = "20160208-git"; - asds = [ "mathkit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mathkit/2016-02-08/mathkit-20160208-git.tgz"; - sha256 = "174y6ndmf52h8sml87qjfl48llmynvdizzk2h0mr85zbaysx73i3"; - system = "mathkit"; - asd = "mathkit"; - }); - systems = [ "mathkit" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - matrix-case = (build-asdf-system { - pname = "matrix-case"; - version = "20211020-git"; - asds = [ "matrix-case" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/matrix-case/2021-10-20/matrix-case-20211020-git.tgz"; - sha256 = "17k7x7wcl78xw4ajd38gva2dw7snsm9jppbnnl4by2s0grsqg50a"; - system = "matrix-case"; - asd = "matrix-case"; - }); - systems = [ "matrix-case" ]; - lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - matrix-case_dot_test = (build-asdf-system { - pname = "matrix-case.test"; - version = "20211020-git"; - asds = [ "matrix-case.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/matrix-case/2021-10-20/matrix-case-20211020-git.tgz"; - sha256 = "17k7x7wcl78xw4ajd38gva2dw7snsm9jppbnnl4by2s0grsqg50a"; - system = "matrix-case.test"; - asd = "matrix-case.test"; - }); - systems = [ "matrix-case.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "matrix-case" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maxpc = (build-asdf-system { - pname = "maxpc"; - version = "20200427-git"; - asds = [ "maxpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maxpc/2020-04-27/maxpc-20200427-git.tgz"; - sha256 = "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf"; - system = "maxpc"; - asd = "maxpc"; - }); - systems = [ "maxpc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maxpc-apache = (build-asdf-system { - pname = "maxpc-apache"; - version = "20241012-git"; - asds = [ "maxpc-apache" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "maxpc-apache"; - asd = "maxpc-apache"; - }); - systems = [ "maxpc-apache" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maxpc-apache-test = (build-asdf-system { - pname = "maxpc-apache-test"; - version = "20241012-git"; - asds = [ "maxpc-apache-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "maxpc-apache-test"; - asd = "maxpc-apache-test"; - }); - systems = [ "maxpc-apache-test" ]; - lispLibs = [ (getAttr "maxpc-apache" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - maxpc-test = (build-asdf-system { - pname = "maxpc-test"; - version = "20200427-git"; - asds = [ "maxpc-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/maxpc/2020-04-27/maxpc-20200427-git.tgz"; - sha256 = "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf"; - system = "maxpc-test"; - asd = "maxpc-test"; - }); - systems = [ "maxpc-test" ]; - lispLibs = [ (getAttr "maxpc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mbe = (build-asdf-system { - pname = "mbe"; - version = "20200218-git"; - asds = [ "mbe" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mbe/2020-02-18/mbe-20200218-git.tgz"; - sha256 = "1wlhlddfv0jbqliqlvhxkmmj9pfym0f9qlvjjmlrkvx6fxpv0450"; - system = "mbe"; - asd = "mbe"; - }); - systems = [ "mbe" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcase = (build-asdf-system { - pname = "mcase"; - version = "20211020-git"; - asds = [ "mcase" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcase/2021-10-20/mcase-20211020-git.tgz"; - sha256 = "1k0agm57xbzlskdi8cgsg2z9lsamm4jl6fw7687z3bw1s2dbsm59"; - system = "mcase"; - asd = "mcase"; - }); - systems = [ "mcase" ]; - lispLibs = [ (getAttr "jingoh_dot_documentizer" self) (getAttr "millet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcase_dot_test = (build-asdf-system { - pname = "mcase.test"; - version = "20211020-git"; - asds = [ "mcase.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcase/2021-10-20/mcase-20211020-git.tgz"; - sha256 = "1k0agm57xbzlskdi8cgsg2z9lsamm4jl6fw7687z3bw1s2dbsm59"; - system = "mcase.test"; - asd = "mcase.test"; - }); - systems = [ "mcase.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "mcase" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim = (build-asdf-system { - pname = "mcclim"; - version = "20241012-git"; - asds = [ "mcclim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim"; - asd = "mcclim"; - }); - systems = [ "mcclim" ]; - lispLibs = [ (getAttr "clim" self) (getAttr "clim-pdf" self) (getAttr "clim-postscript" self) (getAttr "conditional-commands" self) (getAttr "mcclim-bezier" self) (getAttr "mcclim-bitmaps" self) (getAttr "mcclim-clx" self) (getAttr "mcclim-clx-fb" self) (getAttr "mcclim-franz" self) (getAttr "mcclim-null" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-bezier = (build-asdf-system { - pname = "mcclim-bezier"; - version = "20241012-git"; - asds = [ "mcclim-bezier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-bezier"; - asd = "mcclim-bezier"; - }); - systems = [ "mcclim-bezier" ]; - lispLibs = [ (getAttr "clim" self) (getAttr "clim-pdf" self) (getAttr "clim-postscript" self) (getAttr "flexichain" self) (getAttr "mcclim-clx" self) (getAttr "mcclim-null" self) (getAttr "mcclim-render" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-bitmaps = (build-asdf-system { - pname = "mcclim-bitmaps"; - version = "20241012-git"; - asds = [ "mcclim-bitmaps" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-bitmaps"; - asd = "mcclim-bitmaps"; - }); - systems = [ "mcclim-bitmaps" ]; - lispLibs = [ (getAttr "clim" self) (getAttr "opticl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-clx = (build-asdf-system { - pname = "mcclim-clx"; - version = "20241012-git"; - asds = [ "mcclim-clx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-clx"; - asd = "mcclim-clx"; - }); - systems = [ "mcclim-clx" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-aa" self) (getAttr "cl-dejavu" self) (getAttr "cl-paths-ttf" self) (getAttr "cl-unicode" self) (getAttr "cl-vectors" self) (getAttr "clim" self) (getAttr "clx" self) (getAttr "flexi-streams" self) (getAttr "trivial-garbage" self) (getAttr "zpb-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-clx-fb = (build-asdf-system { - pname = "mcclim-clx-fb"; - version = "20241012-git"; - asds = [ "mcclim-clx-fb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-clx-fb"; - asd = "mcclim-clx-fb"; - }); - systems = [ "mcclim-clx-fb" ]; - lispLibs = [ (getAttr "mcclim-clx" self) (getAttr "mcclim-render" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-dot = (build-asdf-system { - pname = "mcclim-dot"; - version = "20241012-git"; - asds = [ "mcclim-dot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-dot"; - asd = "mcclim-dot"; - }); - systems = [ "mcclim-dot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-dot" self) (getAttr "closer-mop" self) (getAttr "mcclim" self) (getAttr "parse-number" self) (getAttr "shasht" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-fontconfig = (build-asdf-system { - pname = "mcclim-fontconfig"; - version = "20241012-git"; - asds = [ "mcclim-fontconfig" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-fontconfig"; - asd = "mcclim-fontconfig"; - }); - systems = [ "mcclim-fontconfig" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-fonts = (build-asdf-system { - pname = "mcclim-fonts"; - version = "20241012-git"; - asds = [ "mcclim-fonts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-fonts"; - asd = "mcclim-fonts"; - }); - systems = [ "mcclim-fonts" ]; - lispLibs = [ (getAttr "clim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-franz = (build-asdf-system { - pname = "mcclim-franz"; - version = "20241012-git"; - asds = [ "mcclim-franz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-franz"; - asd = "mcclim-franz"; - }); - systems = [ "mcclim-franz" ]; - lispLibs = [ (getAttr "clim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-harfbuzz = (build-asdf-system { - pname = "mcclim-harfbuzz"; - version = "20241012-git"; - asds = [ "mcclim-harfbuzz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-harfbuzz"; - asd = "mcclim-harfbuzz"; - }); - systems = [ "mcclim-harfbuzz" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-layouts = (build-asdf-system { - pname = "mcclim-layouts"; - version = "20241012-git"; - asds = [ "mcclim-layouts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-layouts"; - asd = "mcclim-layouts"; - }); - systems = [ "mcclim-layouts" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-null = (build-asdf-system { - pname = "mcclim-null"; - version = "20241012-git"; - asds = [ "mcclim-null" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-null"; - asd = "mcclim-null"; - }); - systems = [ "mcclim-null" ]; - lispLibs = [ (getAttr "clim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-raster-image = (build-asdf-system { - pname = "mcclim-raster-image"; - version = "20241012-git"; - asds = [ "mcclim-raster-image" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-raster-image"; - asd = "mcclim-raster-image"; - }); - systems = [ "mcclim-raster-image" ]; - lispLibs = [ (getAttr "clim" self) (getAttr "mcclim-render" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-render = (build-asdf-system { - pname = "mcclim-render"; - version = "20241012-git"; - asds = [ "mcclim-render" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-render"; - asd = "mcclim-render"; - }); - systems = [ "mcclim-render" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-aa" self) (getAttr "cl-dejavu" self) (getAttr "cl-paths-ttf" self) (getAttr "cl-vectors" self) (getAttr "clim" self) (getAttr "flexi-streams" self) (getAttr "zpb-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-svg = (build-asdf-system { - pname = "mcclim-svg"; - version = "20241012-git"; - asds = [ "mcclim-svg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-svg"; - asd = "mcclim-svg"; - }); - systems = [ "mcclim-svg" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-aa" self) (getAttr "cl-base64" self) (getAttr "cl-dejavu" self) (getAttr "cl-paths-ttf" self) (getAttr "cl-vectors" self) (getAttr "cl-who" self) (getAttr "clim" self) (getAttr "flexi-streams" self) (getAttr "mcclim" self) (getAttr "mcclim-bitmaps" self) (getAttr "zpb-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-tooltips = (build-asdf-system { - pname = "mcclim-tooltips"; - version = "20241012-git"; - asds = [ "mcclim-tooltips" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-tooltips"; - asd = "mcclim-tooltips"; - }); - systems = [ "mcclim-tooltips" ]; - lispLibs = [ (getAttr "clim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mcclim-tree-with-cross-edges = (build-asdf-system { - pname = "mcclim-tree-with-cross-edges"; - version = "20241012-git"; - asds = [ "mcclim-tree-with-cross-edges" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "mcclim-tree-with-cross-edges"; - asd = "mcclim-tree-with-cross-edges"; - }); - systems = [ "mcclim-tree-with-cross-edges" ]; - lispLibs = [ (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - md5 = (build-asdf-system { - pname = "md5"; - version = "20210630-git"; - asds = [ "md5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/md5/2021-06-30/md5-20210630-git.tgz"; - sha256 = "1g20np6rhn3y08z8mlmlk721mw2207s52v2pwp4smm3lz25sx3q5"; - system = "md5"; - asd = "md5"; - }); - systems = [ "md5" ]; - lispLibs = [ ]; - meta = {}; - }); - media-types = (build-asdf-system { - pname = "media-types"; - version = "20220331-git"; - asds = [ "media-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/media-types/2022-03-31/media-types-20220331-git.tgz"; - sha256 = "07ly7jr0ff2ks4gyjpq2jyj9gm47frllal5is3iqhc4xrmpyzrqc"; - system = "media-types"; - asd = "media-types"; - }); - systems = [ "media-types" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mel-base = (build-asdf-system { - pname = "mel-base"; - version = "20180228-git"; - asds = [ "mel-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mel-base/2018-02-28/mel-base-20180228-git.tgz"; - sha256 = "1dvhmlkxasww3kb7xnwqlmdvi31w2awjrbkgk5d0hsfzqmyhhjh0"; - system = "mel-base"; - asd = "mel-base"; - }); - systems = [ "mel-base" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "flexi-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - memoize = (build-asdf-system { - pname = "memoize"; - version = "20140826-http"; - asds = [ "memoize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/memoize/2014-08-26/memoize-20140826-http.tgz"; - sha256 = "1f1plqy9xdv40235b7kkm63gsgssk8l81azhfniy8j9yww39gihf"; - system = "memoize"; - asd = "memoize"; - }); - systems = [ "memoize" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - memory-regions = (build-asdf-system { - pname = "memory-regions"; - version = "20241012-git"; - asds = [ "memory-regions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/memory-regions/2024-10-12/memory-regions-20241012-git.tgz"; - sha256 = "0j2qfbh2kwl8k6v0h0pbh5hml8aia888kaq4kgb12nfslim81iyd"; - system = "memory-regions"; - asd = "memory-regions"; - }); - systems = [ "memory-regions" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "closer-mop" self) (getAttr "documentation-utils" self) (getAttr "mmap" self) (getAttr "static-vectors" self) (getAttr "trivial-extensible-sequences" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - message-oo = (build-asdf-system { - pname = "message-oo"; - version = "20130615-git"; - asds = [ "message-oo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/message-oo/2013-06-15/message-oo-20130615-git.tgz"; - sha256 = "164yypzhr6pxb84x47s9vjl97imbq5r8sxan22101q0y1jn3dznp"; - system = "message-oo"; - asd = "message-oo"; - }); - systems = [ "message-oo" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - messagebox = (build-asdf-system { - pname = "messagebox"; - version = "20241012-git"; - asds = [ "messagebox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/messagebox/2024-10-12/messagebox-20241012-git.tgz"; - sha256 = "0wf25rfx7vg0l1mnzjjzwjqcjaa96a95k9diijppn7y9v2knr1qq"; - system = "messagebox"; - asd = "messagebox"; - }); - systems = [ "messagebox" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - meta = (build-asdf-system { - pname = "meta"; - version = "20150608-git"; - asds = [ "meta" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/meta/2015-06-08/meta-20150608-git.tgz"; - sha256 = "08s53zj3mcx82kszp1bg2vsb4kydvkc70kj4hpq9h1l5a1wh44cy"; - system = "meta"; - asd = "meta"; - }); - systems = [ "meta" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - meta-sexp = (build-asdf-system { - pname = "meta-sexp"; - version = "20201016-git"; - asds = [ "meta-sexp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/meta-sexp/2020-10-16/meta-sexp-20201016-git.tgz"; - sha256 = "14z4xglybsj4pdaifhjvnki0vm0wg985x00n94djc0fdcclczv1c"; - system = "meta-sexp"; - asd = "meta-sexp"; - }); - systems = [ "meta-sexp" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metabang-bind = (build-asdf-system { - pname = "metabang-bind"; - version = "20230618-git"; - asds = [ "metabang-bind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metabang-bind/2023-06-18/metabang-bind-20230618-git.tgz"; - sha256 = "14g7k3zhm8cd6bssc5mm5h6iq1dv5lfhiq33aimcmj5a6vbiq47d"; - system = "metabang-bind"; - asd = "metabang-bind"; - }); - systems = [ "metabang-bind" ]; - lispLibs = [ ]; - meta = {}; - }); - metabang-bind-test = (build-asdf-system { - pname = "metabang-bind-test"; - version = "20230618-git"; - asds = [ "metabang-bind-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metabang-bind/2023-06-18/metabang-bind-20230618-git.tgz"; - sha256 = "14g7k3zhm8cd6bssc5mm5h6iq1dv5lfhiq33aimcmj5a6vbiq47d"; - system = "metabang-bind-test"; - asd = "metabang-bind-test"; - }); - systems = [ "metabang-bind-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metacopy = (build-asdf-system { - pname = "metacopy"; - version = "20170403-darcs"; - asds = [ "metacopy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz"; - sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x"; - system = "metacopy"; - asd = "metacopy"; - }); - systems = [ "metacopy" ]; - lispLibs = [ (getAttr "moptilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metacopy-with-contextl = (build-asdf-system { - pname = "metacopy-with-contextl"; - version = "20170403-darcs"; - asds = [ "metacopy-with-contextl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz"; - sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x"; - system = "metacopy-with-contextl"; - asd = "metacopy-with-contextl"; - }); - systems = [ "metacopy-with-contextl" ]; - lispLibs = [ (getAttr "contextl" self) (getAttr "metacopy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metalock = (build-asdf-system { - pname = "metalock"; - version = "20200925-git"; - asds = [ "metalock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metalock/2020-09-25/metalock-20200925-git.tgz"; - sha256 = "0z2vk0s694zhnkai593q42vln5a6ykm8pilyikc4qp9aw9r43lc5"; - system = "metalock"; - asd = "metalock"; - }); - systems = [ "metalock" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metap = (build-asdf-system { - pname = "metap"; - version = "20150505-git"; - asds = [ "metap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metap/2015-05-05/metap-20150505-git.tgz"; - sha256 = "0drqyjscl0lmhgplld6annmlqma83q76xkxnahcq4ksnhpbsz9wx"; - system = "metap"; - asd = "metap"; - }); - systems = [ "metap" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metap-test = (build-asdf-system { - pname = "metap-test"; - version = "20150505-git"; - asds = [ "metap-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metap/2015-05-05/metap-20150505-git.tgz"; - sha256 = "0drqyjscl0lmhgplld6annmlqma83q76xkxnahcq4ksnhpbsz9wx"; - system = "metap-test"; - asd = "metap-test"; - }); - systems = [ "metap-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "metap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metatilities = (build-asdf-system { - pname = "metatilities"; - version = "20180228-git"; - asds = [ "metatilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz"; - sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd"; - system = "metatilities"; - asd = "metatilities"; - }); - systems = [ "metatilities" ]; - lispLibs = [ (getAttr "asdf-system-connections" self) (getAttr "cl-containers" self) (getAttr "metabang-bind" self) (getAttr "metatilities-base" self) (getAttr "moptilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metatilities-base = (build-asdf-system { - pname = "metatilities-base"; - version = "20191227-git"; - asds = [ "metatilities-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metatilities-base/2019-12-27/metatilities-base-20191227-git.tgz"; - sha256 = "069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk"; - system = "metatilities-base"; - asd = "metatilities-base"; - }); - systems = [ "metatilities-base" ]; - lispLibs = [ ]; - meta = {}; - }); - metatilities-base-test = (build-asdf-system { - pname = "metatilities-base-test"; - version = "20191227-git"; - asds = [ "metatilities-base-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metatilities-base/2019-12-27/metatilities-base-20191227-git.tgz"; - sha256 = "069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk"; - system = "metatilities-base-test"; - asd = "metatilities-base-test"; - }); - systems = [ "metatilities-base-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "metatilities-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metatilities-test = (build-asdf-system { - pname = "metatilities-test"; - version = "20180228-git"; - asds = [ "metatilities-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz"; - sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd"; - system = "metatilities-test"; - asd = "metatilities-test"; - }); - systems = [ "metatilities-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "metatilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - metering = (build-asdf-system { - pname = "metering"; - version = "20200218-git"; - asds = [ "metering" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/metering/2020-02-18/metering-20200218-git.tgz"; - sha256 = "0jx3ypk8m815yp7208xkcxkvila847mvna25a2p22ihnj0ms9rn1"; - system = "metering"; - asd = "metering"; - }); - systems = [ "metering" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - method-combination-utilities = (build-asdf-system { - pname = "method-combination-utilities"; - version = "20241012-git"; - asds = [ "method-combination-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/method-combination-utilities/2024-10-12/method-combination-utilities-20241012-git.tgz"; - sha256 = "15wjzf6r9kkfw89rgzhrr60p5b4i15b90nr3wz6idkv3n4j7fsjl"; - system = "method-combination-utilities"; - asd = "method-combination-utilities"; - }); - systems = [ "method-combination-utilities" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - method-combination-utilities_dot_tests = (build-asdf-system { - pname = "method-combination-utilities.tests"; - version = "20241012-git"; - asds = [ "method-combination-utilities.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/method-combination-utilities/2024-10-12/method-combination-utilities-20241012-git.tgz"; - sha256 = "15wjzf6r9kkfw89rgzhrr60p5b4i15b90nr3wz6idkv3n4j7fsjl"; - system = "method-combination-utilities.tests"; - asd = "method-combination-utilities"; - }); - systems = [ "method-combination-utilities.tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "method-combination-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - method-hooks = (build-asdf-system { - pname = "method-hooks"; - version = "20200925-git"; - asds = [ "method-hooks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/method-hooks/2020-09-25/method-hooks-20200925-git.tgz"; - sha256 = "0kzijk02wjzms3hihmn6n6p9r6awkrsqlkghf6ixzf6400fiy212"; - system = "method-hooks"; - asd = "method-hooks"; - }); - systems = [ "method-hooks" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - method-hooks-test = (build-asdf-system { - pname = "method-hooks-test"; - version = "20200925-git"; - asds = [ "method-hooks-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/method-hooks/2020-09-25/method-hooks-20200925-git.tgz"; - sha256 = "0kzijk02wjzms3hihmn6n6p9r6awkrsqlkghf6ixzf6400fiy212"; - system = "method-hooks-test"; - asd = "method-hooks-test"; - }); - systems = [ "method-hooks-test" ]; - lispLibs = [ (getAttr "method-hooks" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - method-versions = (build-asdf-system { - pname = "method-versions"; - version = "0.1.2011.05.18"; - asds = [ "method-versions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/method-versions/2011-05-22/method-versions_0.1.2011.05.18.tgz"; - sha256 = "119x3dbjry25issq2m8xcacknd1y9mcnla5rhqzcsrj58zsmwmwf"; - system = "method-versions"; - asd = "method-versions"; - }); - systems = [ "method-versions" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mexpr = (build-asdf-system { - pname = "mexpr"; - version = "20150709-git"; - asds = [ "mexpr" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mexpr/2015-07-09/mexpr-20150709-git.tgz"; - sha256 = "0ri9cp7vhnn9sah1lhvxn523c342n0q4v0xzi6fzlfvpj84jfzqk"; - system = "mexpr"; - asd = "mexpr"; - }); - systems = [ "mexpr" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mexpr-tests = (build-asdf-system { - pname = "mexpr-tests"; - version = "20150709-git"; - asds = [ "mexpr-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mexpr/2015-07-09/mexpr-20150709-git.tgz"; - sha256 = "0ri9cp7vhnn9sah1lhvxn523c342n0q4v0xzi6fzlfvpj84jfzqk"; - system = "mexpr-tests"; - asd = "mexpr-tests"; - }); - systems = [ "mexpr-tests" ]; - lispLibs = [ (getAttr "mexpr" self) (getAttr "named-readtables" self) (getAttr "should-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mfiano-utils = (build-asdf-system { - pname = "mfiano-utils"; - version = "20230214-git"; - asds = [ "mfiano-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mfiano-utils/2023-02-14/mfiano-utils-20230214-git.tgz"; - sha256 = "06nrrwwlrwi4w87y6888759b5vpa5264lli5m4crl9r9lr9bnay9"; - system = "mfiano-utils"; - asd = "mfiano-utils"; - }); - systems = [ "mfiano-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mgl = (build-asdf-system { - pname = "mgl"; - version = "20230618-git"; - asds = [ "mgl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl/2023-06-18/mgl-20230618-git.tgz"; - sha256 = "1jr2jill9b1rq0msy0bzzl0q2w0bm3gpd0dwrmkyazzjym2rdsjx"; - system = "mgl"; - asd = "mgl"; - }); - systems = [ "mgl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "array-operations" self) (getAttr "cl-reexport" self) (getAttr "closer-mop" self) (getAttr "lla" self) (getAttr "mgl-gnuplot" self) (getAttr "mgl-mat" self) (getAttr "mgl-pax" self) (getAttr "named-readtables" self) (getAttr "num-utils" self) (getAttr "pythonic-string-reader" self) (getAttr "swank" self) ]; - meta = {}; - }); - mgl-example = (build-asdf-system { - pname = "mgl-example"; - version = "20230618-git"; - asds = [ "mgl-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl/2023-06-18/mgl-20230618-git.tgz"; - sha256 = "1jr2jill9b1rq0msy0bzzl0q2w0bm3gpd0dwrmkyazzjym2rdsjx"; - system = "mgl-example"; - asd = "mgl-example"; - }); - systems = [ "mgl-example" ]; - lispLibs = [ (getAttr "mgl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mgl-gnuplot = (build-asdf-system { - pname = "mgl-gnuplot"; - version = "20230618-git"; - asds = [ "mgl-gnuplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl/2023-06-18/mgl-20230618-git.tgz"; - sha256 = "1jr2jill9b1rq0msy0bzzl0q2w0bm3gpd0dwrmkyazzjym2rdsjx"; - system = "mgl-gnuplot"; - asd = "mgl-gnuplot"; - }); - systems = [ "mgl-gnuplot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "external-program" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mgl-mat = (build-asdf-system { - pname = "mgl-mat"; - version = "20231021-git"; - asds = [ "mgl-mat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-mat/2023-10-21/mgl-mat-20231021-git.tgz"; - sha256 = "0pl9ksdjr57sg2w85ql6y9pgbzrxcsz6irb7i0s1q3d08f87il1i"; - system = "mgl-mat"; - asd = "mgl-mat"; - }); - systems = [ "mgl-mat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-cuda" self) (getAttr "flexi-streams" self) (getAttr "ieee-floats" self) (getAttr "lla" self) (getAttr "mgl-pax" self) (getAttr "num-utils" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) ]; - meta = {}; - }); - mgl-pax = (build-asdf-system { - pname = "mgl-pax"; - version = "20241012-git"; - asds = [ "mgl-pax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; - sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; - system = "mgl-pax"; - asd = "mgl-pax"; - }); - systems = [ "mgl-pax" ]; - lispLibs = [ (getAttr "dref" self) (getAttr "mgl-pax-bootstrap" self) (getAttr "mgl-pax_dot_asdf" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) ]; - meta = {}; - }); - mgl-pax-bootstrap = (build-asdf-system { - pname = "mgl-pax-bootstrap"; - version = "20241012-git"; - asds = [ "mgl-pax-bootstrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; - sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; - system = "mgl-pax-bootstrap"; - asd = "mgl-pax-bootstrap"; - }); - systems = [ "mgl-pax-bootstrap" ]; - lispLibs = [ (getAttr "mgl-pax_dot_asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mgl-pax-test = (build-asdf-system { - pname = "mgl-pax-test"; - version = "20241012-git"; - asds = [ "mgl-pax-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; - sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; - system = "mgl-pax-test"; - asd = "mgl-pax-test"; - }); - systems = [ "mgl-pax-test" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "alexandria" self) (getAttr "colorize" self) (getAttr "dref" self) (getAttr "dref-test" self) (getAttr "md5" self) (getAttr "mgl-pax" self) (getAttr "mgl-pax_dot_asdf" self) (getAttr "swank" self) (getAttr "trivial-utf-8" self) (getAttr "try" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mgl-pax_dot_asdf = (build-asdf-system { - pname = "mgl-pax.asdf"; - version = "20241012-git"; - asds = [ "mgl-pax.asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; - sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; - system = "mgl-pax.asdf"; - asd = "mgl-pax.asdf"; - }); - systems = [ "mgl-pax.asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mgrs = (build-asdf-system { - pname = "mgrs"; - version = "20220331-git"; - asds = [ "mgrs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mgrs/2022-03-31/mgrs-20220331-git.tgz"; - sha256 = "1n4kd734qjj7mrcg0q28hml3npam1rm067iwljwc87zshnxh5gmn"; - system = "mgrs"; - asd = "mgrs"; - }); - systems = [ "mgrs" ]; - lispLibs = [ (getAttr "utm-ups" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - micmac = (build-asdf-system { - pname = "micmac"; - version = "20230618-git"; - asds = [ "micmac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/micmac/2023-06-18/micmac-20230618-git.tgz"; - sha256 = "10zjxqc7y5spr3y5yrnfqmv881ia168scbhiq8i98rvizabgxf6x"; - system = "micmac"; - asd = "micmac"; - }); - systems = [ "micmac" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "mgl-pax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - midi = (build-asdf-system { - pname = "midi"; - version = "20070618"; - asds = [ "midi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/midi/2010-10-06/midi-20070618.tgz"; - sha256 = "06hb6vm4dckhr1ln5jn3b31x1yampkl5fl0lfbg9zyazli7fgl87"; - system = "midi"; - asd = "midi"; - }); - systems = [ "midi" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - millet = (build-asdf-system { - pname = "millet"; - version = "20211209-git"; - asds = [ "millet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/millet/2021-12-09/millet-20211209-git.tgz"; - sha256 = "1jdqyr1f9a6083k7n88rwc6mjmgccj6za50ybl1dlnxqvqj2pw80"; - system = "millet"; - asd = "millet"; - }); - systems = [ "millet" ]; - lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - millet_dot_test = (build-asdf-system { - pname = "millet.test"; - version = "20211209-git"; - asds = [ "millet.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/millet/2021-12-09/millet-20211209-git.tgz"; - sha256 = "1jdqyr1f9a6083k7n88rwc6mjmgccj6za50ybl1dlnxqvqj2pw80"; - system = "millet.test"; - asd = "millet.test"; - }); - systems = [ "millet.test" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "jingoh" self) (getAttr "millet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - minheap = (build-asdf-system { - pname = "minheap"; - version = "20160628-git"; - asds = [ "minheap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/minheap/2016-06-28/minheap-20160628-git.tgz"; - sha256 = "03v0dqxg4kmwvfrlrkq8bmfcv70k9n9f48p9p3z8kmfbc4p3f1vd"; - system = "minheap"; - asd = "minheap"; - }); - systems = [ "minheap" ]; - lispLibs = [ ]; - meta = {}; - }); - minheap-tests = (build-asdf-system { - pname = "minheap-tests"; - version = "20160628-git"; - asds = [ "minheap-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/minheap/2016-06-28/minheap-20160628-git.tgz"; - sha256 = "03v0dqxg4kmwvfrlrkq8bmfcv70k9n9f48p9p3z8kmfbc4p3f1vd"; - system = "minheap-tests"; - asd = "minheap-tests"; - }); - systems = [ "minheap-tests" ]; - lispLibs = [ (getAttr "lisp-unit" self) (getAttr "minheap" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mini-cas = (build-asdf-system { - pname = "mini-cas"; - version = "20150923-git"; - asds = [ "mini-cas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mini-cas/2015-09-23/mini-cas-20150923-git.tgz"; - sha256 = "1y9a111877lkpssi651q684mj052vp6qr9pz5gl47s6swiqvqp24"; - system = "mini-cas"; - asd = "mini-cas"; - }); - systems = [ "mini-cas" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - minilem = (build-asdf-system { - pname = "minilem"; - version = "20200218-git"; - asds = [ "minilem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/minilem/2020-02-18/minilem-20200218-git.tgz"; - sha256 = "1hpcgj8k5m11nk1pfd479hrbh15dcas7z1s8w877rqmlf69ga4cp"; - system = "minilem"; - asd = "minilem"; - }); - systems = [ "minilem" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "esrap" self) (getAttr "inquisitor" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "optima" self) (getAttr "swank" self) (getAttr "trivial-gray-streams" self) (getAttr "trivial-types" self) (getAttr "usocket" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - minpack = (build-asdf-system { - pname = "minpack"; - version = "20231021-git"; - asds = [ "minpack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "minpack"; - asd = "minpack"; - }); - systems = [ "minpack" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - misc-extensions = (build-asdf-system { - pname = "misc-extensions"; - version = "20241012-git"; - asds = [ "misc-extensions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/misc-extensions/2024-10-12/misc-extensions-20241012-git.tgz"; - sha256 = "0pvgg376vkydp2831bnnvwrv27m4ivc78c0nhvb4848c3ik1hn5j"; - system = "misc-extensions"; - asd = "misc-extensions"; - }); - systems = [ "misc-extensions" ]; - lispLibs = [ ]; - meta = {}; - }); - mito = (build-asdf-system { - pname = "mito"; - version = "20241012-git"; - asds = [ "mito" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; - sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; - system = "mito"; - asd = "mito"; - }); - systems = [ "mito" ]; - lispLibs = [ (getAttr "cl-package-locks" self) (getAttr "lack-middleware-mito" self) (getAttr "mito-core" self) (getAttr "mito-migration" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mito-attachment = (build-asdf-system { - pname = "mito-attachment"; - version = "20230214-git"; - asds = [ "mito-attachment" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito-attachment/2023-02-14/mito-attachment-20230214-git.tgz"; - sha256 = "0an744m6wmnbb5zrxqxcf719r7im1n7p63z632p3m5sqv8d86fm1"; - system = "mito-attachment"; - asd = "mito-attachment"; - }); - systems = [ "mito-attachment" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "aws-sign4" self) (getAttr "lack-component" self) (getAttr "mito" self) (getAttr "quri" self) (getAttr "trivial-mimes" self) (getAttr "uuid" self) (getAttr "zs3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mito-auth = (build-asdf-system { - pname = "mito-auth"; - version = "20171019-git"; - asds = [ "mito-auth" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito-auth/2017-10-19/mito-auth-20171019-git.tgz"; - sha256 = "1q1yxjpnshzmia34a68dlscjadzynzyzz14sr4mkkkjyg5dhkazi"; - system = "mito-auth"; - asd = "mito-auth"; - }); - systems = [ "mito-auth" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "ironclad" self) (getAttr "mito" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mito-core = (build-asdf-system { - pname = "mito-core"; - version = "20241012-git"; - asds = [ "mito-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; - sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; - system = "mito-core"; - asd = "mito-core"; - }); - systems = [ "mito-core" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "dbi" self) (getAttr "dissect" self) (getAttr "local-time" self) (getAttr "sxql" self) (getAttr "trivia" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mito-migration = (build-asdf-system { - pname = "mito-migration"; - version = "20241012-git"; - asds = [ "mito-migration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; - sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; - system = "mito-migration"; - asd = "mito-migration"; - }); - systems = [ "mito-migration" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "chipz" self) (getAttr "closer-mop" self) (getAttr "dbi" self) (getAttr "esrap" self) (getAttr "mito-core" self) (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mito-test = (build-asdf-system { - pname = "mito-test"; - version = "20241012-git"; - asds = [ "mito-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; - sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; - system = "mito-test"; - asd = "mito-test"; - }); - systems = [ "mito-test" ]; - lispLibs = [ (getAttr "dbd-mysql" self) (getAttr "dbd-postgres" self) (getAttr "dbd-sqlite3" self) (getAttr "mito" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mixalot = (build-asdf-system { - pname = "mixalot"; - version = "20151218-git"; - asds = [ "mixalot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "mixalot"; - asd = "mixalot"; - }); - systems = [ "mixalot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mixalot-flac = (build-asdf-system { - pname = "mixalot-flac"; - version = "20151218-git"; - asds = [ "mixalot-flac" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "mixalot-flac"; - asd = "mixalot-flac"; - }); - systems = [ "mixalot-flac" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "flac" self) (getAttr "mixalot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mixalot-mp3 = (build-asdf-system { - pname = "mixalot-mp3"; - version = "20151218-git"; - asds = [ "mixalot-mp3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "mixalot-mp3"; - asd = "mixalot-mp3"; - }); - systems = [ "mixalot-mp3" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "mixalot" self) (getAttr "mpg123-ffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mixalot-vorbis = (build-asdf-system { - pname = "mixalot-vorbis"; - version = "20151218-git"; - asds = [ "mixalot-vorbis" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "mixalot-vorbis"; - asd = "mixalot-vorbis"; - }); - systems = [ "mixalot-vorbis" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "mixalot" self) (getAttr "vorbisfile-ffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mk-defsystem = (build-asdf-system { - pname = "mk-defsystem"; - version = "20241012-git"; - asds = [ "mk-defsystem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mk-defsystem/2024-10-12/mk-defsystem-20241012-git.tgz"; - sha256 = "0zrr11szr50bqaxybm66ggj5bmchwljjafhxcwsyzgpqbnf06740"; - system = "mk-defsystem"; - asd = "mk-defsystem"; - }); - systems = [ "mk-defsystem" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mk-string-metrics = (build-asdf-system { - pname = "mk-string-metrics"; - version = "20180131-git"; - asds = [ "mk-string-metrics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mk-string-metrics/2018-01-31/mk-string-metrics-20180131-git.tgz"; - sha256 = "0c50hjpylhkh5phcxxcwqdzpa94vk5pq1j7c6x0d3wfpb2yx0wkd"; - system = "mk-string-metrics"; - asd = "mk-string-metrics"; - }); - systems = [ "mk-string-metrics" ]; - lispLibs = [ ]; - meta = {}; - }); - mk-string-metrics-tests = (build-asdf-system { - pname = "mk-string-metrics-tests"; - version = "20180131-git"; - asds = [ "mk-string-metrics-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mk-string-metrics/2018-01-31/mk-string-metrics-20180131-git.tgz"; - sha256 = "0c50hjpylhkh5phcxxcwqdzpa94vk5pq1j7c6x0d3wfpb2yx0wkd"; - system = "mk-string-metrics-tests"; - asd = "mk-string-metrics-tests"; - }); - systems = [ "mk-string-metrics-tests" ]; - lispLibs = [ (getAttr "mk-string-metrics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ml-dsl = (build-asdf-system { - pname = "ml-dsl"; - version = "20210124-git"; - asds = [ "ml-dsl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; - sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; - system = "ml-dsl"; - asd = "ml-dsl"; - }); - systems = [ "ml-dsl" ]; - lispLibs = [ (getAttr "cl-marklogic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ml-optimizer = (build-asdf-system { - pname = "ml-optimizer"; - version = "20210124-git"; - asds = [ "ml-optimizer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; - sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; - system = "ml-optimizer"; - asd = "ml-optimizer"; - }); - systems = [ "ml-optimizer" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "cl-marklogic" self) (getAttr "cl-opsresearch" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ml-test = (build-asdf-system { - pname = "ml-test"; - version = "20210124-git"; - asds = [ "ml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; - sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; - system = "ml-test"; - asd = "ml-test"; - }); - systems = [ "ml-test" ]; - lispLibs = [ (getAttr "cl-marklogic" self) (getAttr "fiveam" self) (getAttr "ml-optimizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mlep = (build-asdf-system { - pname = "mlep"; - version = "20231021-git"; - asds = [ "mlep" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mlep/2023-10-21/cl-mlep-20231021-git.tgz"; - sha256 = "0na6hjjp1a3bril14v878h9198zrbymnfw7nybgcll0kwv90815g"; - system = "mlep"; - asd = "mlep"; - }); - systems = [ "mlep" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mlep-add = (build-asdf-system { - pname = "mlep-add"; - version = "20231021-git"; - asds = [ "mlep-add" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mlep/2023-10-21/cl-mlep-20231021-git.tgz"; - sha256 = "0na6hjjp1a3bril14v878h9198zrbymnfw7nybgcll0kwv90815g"; - system = "mlep-add"; - asd = "mlep-add"; - }); - systems = [ "mlep-add" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "lla" self) (getAttr "mlep" self) (getAttr "num-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mmap = (build-asdf-system { - pname = "mmap"; - version = "20241012-git"; - asds = [ "mmap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mmap/2024-10-12/mmap-20241012-git.tgz"; - sha256 = "1wlxymkkbjyyp6fikxi94q26pjfz656y4d8kgm22xxvw70hppgc3"; - system = "mmap"; - asd = "mmap"; - }); - systems = [ "mmap" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - mmap-test = (build-asdf-system { - pname = "mmap-test"; - version = "20241012-git"; - asds = [ "mmap-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mmap/2024-10-12/mmap-20241012-git.tgz"; - sha256 = "1wlxymkkbjyyp6fikxi94q26pjfz656y4d8kgm22xxvw70hppgc3"; - system = "mmap-test"; - asd = "mmap-test"; - }); - systems = [ "mmap-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "mmap" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mnas-graph = (build-asdf-system { - pname = "mnas-graph"; - version = "20230618-git"; - asds = [ "mnas-graph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mnas-graph/2023-06-18/mnas-graph-20230618-git.tgz"; - sha256 = "1psz8vh8s8zv9hh5pr0753r0baavfb1v6v9nc9kw50hkjvkchc1q"; - system = "mnas-graph"; - asd = "mnas-graph"; - }); - systems = [ "mnas-graph" ]; - lispLibs = [ (getAttr "mnas-hash-table" self) (getAttr "mnas-string" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mnas-hash-table = (build-asdf-system { - pname = "mnas-hash-table"; - version = "20230618-git"; - asds = [ "mnas-hash-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mnas-hash-table/2023-06-18/mnas-hash-table-20230618-git.tgz"; - sha256 = "107fqc2wipvs2ifj12sqizv3gc7j3yqww529vkp92xhkmrnkp833"; - system = "mnas-hash-table"; - asd = "mnas-hash-table"; - }); - systems = [ "mnas-hash-table" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mnas-package = (build-asdf-system { - pname = "mnas-package"; - version = "20241012-git"; - asds = [ "mnas-package" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mnas-package/2024-10-12/mnas-package-20241012-git.tgz"; - sha256 = "05wkh2rzlp3csnk3p50rp3jv4jycdqa5hylqf93b2q8vjxvv67wm"; - system = "mnas-package"; - asd = "mnas-package"; - }); - systems = [ "mnas-package" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "inferior-shell" self) (getAttr "mnas-graph" self) (getAttr "mnas-string" self) (getAttr "slynk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mnas-path = (build-asdf-system { - pname = "mnas-path"; - version = "20231021-git"; - asds = [ "mnas-path" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mnas-path/2023-10-21/mnas-path-20231021-git.tgz"; - sha256 = "10hijr71nlnl9wf15ahzjgynvq1n1y8446fxk7pkfwcw832x874z"; - system = "mnas-path"; - asd = "mnas-path"; - }); - systems = [ "mnas-path" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "mnas-string" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mnas-string = (build-asdf-system { - pname = "mnas-string"; - version = "20241012-git"; - asds = [ "mnas-string" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mnas-string/2024-10-12/mnas-string-20241012-git.tgz"; - sha256 = "1pk0fyi3pjq7h9x40hixapsa06s0dah6xd4d63jpyhp7y6fa8w6f"; - system = "mnas-string"; - asd = "mnas-string"; - }); - systems = [ "mnas-string" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "mnas-hash-table" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mnst-relay = (build-asdf-system { - pname = "mnst-relay"; - version = "20210807-git"; - asds = [ "mnst-relay" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "mnst-relay"; - asd = "mnst-relay"; - }); - systems = [ "mnst-relay" ]; - lispLibs = [ (getAttr "asdf-nst" self) (getAttr "nst" self) (getAttr "nst-selftest-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mockingbird = (build-asdf-system { - pname = "mockingbird"; - version = "20211020-git"; - asds = [ "mockingbird" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mockingbird/2021-10-20/mockingbird-20211020-git.tgz"; - sha256 = "1n1mxl2qk7g63z92d943ysn12axw0bx5dvw0cmm3cs1hjpx5rdly"; - system = "mockingbird"; - asd = "mockingbird"; - }); - systems = [ "mockingbird" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "fare-utils" self) (getAttr "trivial-arguments" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mockingbird-test = (build-asdf-system { - pname = "mockingbird-test"; - version = "20211020-git"; - asds = [ "mockingbird-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mockingbird/2021-10-20/mockingbird-20211020-git.tgz"; - sha256 = "1n1mxl2qk7g63z92d943ysn12axw0bx5dvw0cmm3cs1hjpx5rdly"; - system = "mockingbird-test"; - asd = "mockingbird-test"; - }); - systems = [ "mockingbird-test" ]; - lispLibs = [ (getAttr "mockingbird" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modest-config = (build-asdf-system { - pname = "modest-config"; - version = "20180228-git"; - asds = [ "modest-config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modest-config/2018-02-28/modest-config-20180228-git.tgz"; - sha256 = "0ali9lvg7ngzmpgaxmbc4adp4djznavbywiig8x94c2xwicvjh83"; - system = "modest-config"; - asd = "modest-config"; - }); - systems = [ "modest-config" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modest-config-test = (build-asdf-system { - pname = "modest-config-test"; - version = "20180228-git"; - asds = [ "modest-config-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modest-config/2018-02-28/modest-config-20180228-git.tgz"; - sha256 = "0ali9lvg7ngzmpgaxmbc4adp4djznavbywiig8x94c2xwicvjh83"; - system = "modest-config-test"; - asd = "modest-config-test"; - }); - systems = [ "modest-config-test" ]; - lispLibs = [ (getAttr "modest-config" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modf = (build-asdf-system { - pname = "modf"; - version = "20200925-git"; - asds = [ "modf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modf/2020-09-25/modf-20200925-git.tgz"; - sha256 = "1aap7ldy7lv942khp026pgndgdzfkkqa9xcq1ykinrmflrgdazay"; - system = "modf"; - asd = "modf"; - }); - systems = [ "modf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modf-fset = (build-asdf-system { - pname = "modf-fset"; - version = "20150608-git"; - asds = [ "modf-fset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modf-fset/2015-06-08/modf-fset-20150608-git.tgz"; - sha256 = "0xdlwsw3b31l9c6db7rgvikn42ncqk98s45zcq116f51ph3dr95y"; - system = "modf-fset"; - asd = "modf-fset"; - }); - systems = [ "modf-fset" ]; - lispLibs = [ (getAttr "fset" self) (getAttr "modf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modf-fset-test = (build-asdf-system { - pname = "modf-fset-test"; - version = "20150608-git"; - asds = [ "modf-fset-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modf-fset/2015-06-08/modf-fset-20150608-git.tgz"; - sha256 = "0xdlwsw3b31l9c6db7rgvikn42ncqk98s45zcq116f51ph3dr95y"; - system = "modf-fset-test"; - asd = "modf-fset-test"; - }); - systems = [ "modf-fset-test" ]; - lispLibs = [ (getAttr "modf" self) (getAttr "modf-fset" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modf-test = (build-asdf-system { - pname = "modf-test"; - version = "20200925-git"; - asds = [ "modf-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modf/2020-09-25/modf-20200925-git.tgz"; - sha256 = "1aap7ldy7lv942khp026pgndgdzfkkqa9xcq1ykinrmflrgdazay"; - system = "modf-test"; - asd = "modf-test"; - }); - systems = [ "modf-test" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "modf" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modlisp = (build-asdf-system { - pname = "modlisp"; - version = "20150923-git"; - asds = [ "modlisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-modlisp/2015-09-23/cl-modlisp-20150923-git.tgz"; - sha256 = "14gfhhy8blyrhpb1jk17bq4vazgwmzgcx3misw48ja77x17bl1zf"; - system = "modlisp"; - asd = "modlisp"; - }); - systems = [ "modlisp" ]; - lispLibs = [ (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modularize = (build-asdf-system { - pname = "modularize"; - version = "20231021-git"; - asds = [ "modularize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modularize/2023-10-21/modularize-20231021-git.tgz"; - sha256 = "1i660gpljl97j51sj4mx8pk91v96zddww24rbwz0p20cl9hfp0xj"; - system = "modularize"; - asd = "modularize"; - }); - systems = [ "modularize" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-package-local-nicknames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modularize-hooks = (build-asdf-system { - pname = "modularize-hooks"; - version = "20231021-git"; - asds = [ "modularize-hooks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modularize-hooks/2023-10-21/modularize-hooks-20231021-git.tgz"; - sha256 = "0f60rk9753vil56wyi54db35ffanjw5fmkyn79jc5hnlab78ffhy"; - system = "modularize-hooks"; - asd = "modularize-hooks"; - }); - systems = [ "modularize-hooks" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "lambda-fiddle" self) (getAttr "modularize" self) (getAttr "trivial-arguments" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modularize-interfaces = (build-asdf-system { - pname = "modularize-interfaces"; - version = "20231021-git"; - asds = [ "modularize-interfaces" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modularize-interfaces/2023-10-21/modularize-interfaces-20231021-git.tgz"; - sha256 = "0lmq2jbkbr5wrrjl2qb1x64fcvl0lmii0h9301b9bq4d47s4w8sh"; - system = "modularize-interfaces"; - asd = "modularize-interfaces"; - }); - systems = [ "modularize-interfaces" ]; - lispLibs = [ (getAttr "lambda-fiddle" self) (getAttr "modularize" self) (getAttr "trivial-arguments" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - modularize-test-module = (build-asdf-system { - pname = "modularize-test-module"; - version = "20231021-git"; - asds = [ "modularize-test-module" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/modularize/2023-10-21/modularize-20231021-git.tgz"; - sha256 = "1i660gpljl97j51sj4mx8pk91v96zddww24rbwz0p20cl9hfp0xj"; - system = "modularize-test-module"; - asd = "modularize-test-module"; - }); - systems = [ "modularize-test-module" ]; - lispLibs = [ (getAttr "modularize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - moira = (build-asdf-system { - pname = "moira"; - version = "20241012-git"; - asds = [ "moira" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/moira/2024-10-12/moira-20241012-git.tgz"; - sha256 = "01wxjg122flla4pgys57hya3fwrkyjkpp26j5ypl5885zz1ip5b7"; - system = "moira"; - asd = "moira"; - }); - systems = [ "moira" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "osicat" self) (getAttr "serapeum" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - monkeylib-html = (build-asdf-system { - pname = "monkeylib-html"; - version = "20180228-git"; - asds = [ "monkeylib-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-html/2018-02-28/monkeylib-html-20180228-git.tgz"; - sha256 = "11a778ynyb8mhiy9fkpyg2x1p53hi1i9mry9gfin2r28mjgwj096"; - system = "monkeylib-html"; - asd = "monkeylib-html"; - }); - systems = [ "monkeylib-html" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) (getAttr "com_dot_gigamonkeys_dot_pathnames" self) (getAttr "com_dot_gigamonkeys_dot_test-framework" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) (getAttr "monkeylib-text-languages" self) (getAttr "monkeylib-text-output" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - monkeylib-markup-html = (build-asdf-system { - pname = "monkeylib-markup-html"; - version = "20120208-git"; - asds = [ "monkeylib-markup-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-markup-html/2012-02-08/monkeylib-markup-html-20120208-git.tgz"; - sha256 = "1kwnlb7dka9bqyc8a06lbsap8j83kdayk4m9a1m3mazjgaxlpv2a"; - system = "monkeylib-markup-html"; - asd = "monkeylib-markup-html"; - }); - systems = [ "monkeylib-markup-html" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) (getAttr "com_dot_gigamonkeys_dot_markup" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) (getAttr "monkeylib-html" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - monkeylib-text-languages = (build-asdf-system { - pname = "monkeylib-text-languages"; - version = "20111203-git"; - asds = [ "monkeylib-text-languages" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-text-languages/2011-12-03/monkeylib-text-languages-20111203-git.tgz"; - sha256 = "1f6hb3r2s5phz5z4rv3llyfi30vbxlq9qpipsq9vppmw51fvdsdk"; - system = "monkeylib-text-languages"; - asd = "monkeylib-text-languages"; - }); - systems = [ "monkeylib-text-languages" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) (getAttr "monkeylib-text-output" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - monkeylib-text-output = (build-asdf-system { - pname = "monkeylib-text-output"; - version = "20111203-git"; - asds = [ "monkeylib-text-output" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/monkeylib-text-output/2011-12-03/monkeylib-text-output-20111203-git.tgz"; - sha256 = "0lygfxap2ppxxi0sbz8lig1h878ad84jwbp3c895r7h9svjh1ffm"; - system = "monkeylib-text-output"; - asd = "monkeylib-text-output"; - }); - systems = [ "monkeylib-text-output" ]; - lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) (getAttr "com_dot_gigamonkeys_dot_pathnames" self) (getAttr "com_dot_gigamonkeys_dot_test-framework" self) (getAttr "com_dot_gigamonkeys_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - montezuma = (build-asdf-system { - pname = "montezuma"; - version = "20180228-git"; - asds = [ "montezuma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; - sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; - system = "montezuma"; - asd = "montezuma"; - }); - systems = [ "montezuma" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - montezuma-indexfiles = (build-asdf-system { - pname = "montezuma-indexfiles"; - version = "20180228-git"; - asds = [ "montezuma-indexfiles" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; - sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; - system = "montezuma-indexfiles"; - asd = "montezuma-indexfiles"; - }); - systems = [ "montezuma-indexfiles" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "montezuma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - montezuma-tests = (build-asdf-system { - pname = "montezuma-tests"; - version = "20180228-git"; - asds = [ "montezuma-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; - sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; - system = "montezuma-tests"; - asd = "montezuma"; - }); - systems = [ "montezuma-tests" ]; - lispLibs = [ (getAttr "montezuma" self) (getAttr "trivial-timeout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - moptilities = (build-asdf-system { - pname = "moptilities"; - version = "20170403-git"; - asds = [ "moptilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz"; - sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"; - system = "moptilities"; - asd = "moptilities"; - }); - systems = [ "moptilities" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = {}; - }); - moptilities-test = (build-asdf-system { - pname = "moptilities-test"; - version = "20170403-git"; - asds = [ "moptilities-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz"; - sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"; - system = "moptilities-test"; - asd = "moptilities-test"; - }); - systems = [ "moptilities-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "moptilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - more-conditions = (build-asdf-system { - pname = "more-conditions"; - version = "20180831-git"; - asds = [ "more-conditions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/more-conditions/2018-08-31/more-conditions-20180831-git.tgz"; - sha256 = "1n0xbz0yiqn9dxf0ycm57wqvsr4gh2q4hs5fskjbv87c47d7l7zr"; - system = "more-conditions"; - asd = "more-conditions"; - }); - systems = [ "more-conditions" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = {}; - }); - mp3-duration = (build-asdf-system { - pname = "mp3-duration"; - version = "20160208-git"; - asds = [ "mp3-duration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mp3-duration/2016-02-08/mp3-duration-20160208-git.tgz"; - sha256 = "1mhn9g1kz2yan178m2adg0pz3dx2nmg7hq4gfmfz7lrlsxm08bs7"; - system = "mp3-duration"; - asd = "mp3-duration"; - }); - systems = [ "mp3-duration" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mp3-duration-test = (build-asdf-system { - pname = "mp3-duration-test"; - version = "20160208-git"; - asds = [ "mp3-duration-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mp3-duration/2016-02-08/mp3-duration-20160208-git.tgz"; - sha256 = "1mhn9g1kz2yan178m2adg0pz3dx2nmg7hq4gfmfz7lrlsxm08bs7"; - system = "mp3-duration-test"; - asd = "mp3-duration-test"; - }); - systems = [ "mp3-duration-test" ]; - lispLibs = [ (getAttr "mp3-duration" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mpc = (build-asdf-system { - pname = "mpc"; - version = "20160929-git"; - asds = [ "mpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mpc/2016-09-29/mpc-20160929-git.tgz"; - sha256 = "1nig0v91m4ybcr19s50xijwv488qlma0b36zy6cric2y8wgclmsx"; - system = "mpc"; - asd = "mpc"; - }); - systems = [ "mpc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mpg123-ffi = (build-asdf-system { - pname = "mpg123-ffi"; - version = "20151218-git"; - asds = [ "mpg123-ffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "mpg123-ffi"; - asd = "mpg123-ffi"; - }); - systems = [ "mpg123-ffi" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mra-wavelet-plot = (build-asdf-system { - pname = "mra-wavelet-plot"; - version = "20181210-git"; - asds = [ "mra-wavelet-plot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mra-wavelet-plot/2018-12-10/mra-wavelet-plot-20181210-git.tgz"; - sha256 = "0d6sdgj1zvkliga9drsqnj4l748vbcwwz744ayq5nnvp5fvhnc29"; - system = "mra-wavelet-plot"; - asd = "mra-wavelet-plot"; - }); - systems = [ "mra-wavelet-plot" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mssql = (build-asdf-system { - pname = "mssql"; - version = "20241012-git"; - asds = [ "mssql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-mssql/2024-10-12/cl-mssql-20241012-git.tgz"; - sha256 = "15hnlkx6d2vw46v7h01wljzag33j5is679amv74kzk4qq91wfkx2"; - system = "mssql"; - asd = "mssql"; - }); - systems = [ "mssql" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "garbage-pools" self) (getAttr "iterate" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mstrings = (build-asdf-system { - pname = "mstrings"; - version = "20220707-git"; - asds = [ "mstrings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mstrings/2022-07-07/mstrings-20220707-git.tgz"; - sha256 = "0s1zqwnv9agvlp79gh7y06rmly56v8nm1l594rry9gzwvvx1jj1k"; - system = "mstrings"; - asd = "mstrings"; - }); - systems = [ "mstrings" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mt19937 = (build-asdf-system { - pname = "mt19937"; - version = "1.1.1"; - asds = [ "mt19937" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mt19937/2011-02-19/mt19937-1.1.1.tgz"; - sha256 = "0h02ssnncc760b68ipm0sbrzrbnllp6fqabvw98w43af08s36xlg"; - system = "mt19937"; - asd = "mt19937"; - }); - systems = [ "mt19937" ]; - lispLibs = [ ]; - meta = {}; - }); - mtif = (build-asdf-system { - pname = "mtif"; - version = "20171130-git"; - asds = [ "mtif" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mtif/2017-11-30/mtif-20171130-git.tgz"; - sha256 = "0fzlf0xawv579i4jp5l994d7m220py5j169klaj0l43frgxb4n7y"; - system = "mtif"; - asd = "mtif"; - }); - systems = [ "mtif" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mtlisp = (build-asdf-system { - pname = "mtlisp"; - version = "20130615-git"; - asds = [ "mtlisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mtlisp/2013-06-15/mtlisp-20130615-git.tgz"; - sha256 = "0qpbhiy2z2q7mf4lf2lpj66a13xj7bj0c584d1i7zi156s2hcnvs"; - system = "mtlisp"; - asd = "mtlisp"; - }); - systems = [ "mtlisp" ]; - lispLibs = [ (getAttr "acl-compat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - multilang-documentation = (build-asdf-system { - pname = "multilang-documentation"; - version = "20231021-git"; - asds = [ "multilang-documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/multilang-documentation/2023-10-21/multilang-documentation-20231021-git.tgz"; - sha256 = "1v9sv81lx0ms9djz0hqhwdswg0rmzqv47g57k5jmzkx6lbjsya7z"; - system = "multilang-documentation"; - asd = "multilang-documentation"; - }); - systems = [ "multilang-documentation" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "language-codes" self) (getAttr "system-locale" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - multilang-documentation-utils = (build-asdf-system { - pname = "multilang-documentation-utils"; - version = "20231021-git"; - asds = [ "multilang-documentation-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/documentation-utils/2023-10-21/documentation-utils-20231021-git.tgz"; - sha256 = "0nzkjzvcqi1l2ywiz17h1f54vgvbkywv95in4yww6lyzqjqsqqhy"; - system = "multilang-documentation-utils"; - asd = "multilang-documentation-utils"; - }); - systems = [ "multilang-documentation-utils" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "multilang-documentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - multiple-value-variants = (build-asdf-system { - pname = "multiple-value-variants"; - version = "1.0.1"; - asds = [ "multiple-value-variants" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/multiple-value-variants/2014-08-26/multiple-value-variants-1.0.1.tgz"; - sha256 = "0kb7bkgg2iri89ph2lcgfk57pf8h4r6471sn2jcyp5sz13g4f6yw"; - system = "multiple-value-variants"; - asd = "multiple-value-variants"; - }); - systems = [ "multiple-value-variants" ]; - lispLibs = [ (getAttr "enhanced-multiple-value-bind" self) (getAttr "map-bind" self) (getAttr "positional-lambda" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - multiposter = (build-asdf-system { - pname = "multiposter"; - version = "20241012-git"; - asds = [ "multiposter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/multiposter/2024-10-12/multiposter-20241012-git.tgz"; - sha256 = "1q1zinv4csnb0yjlndym5dlf7apax3f5qdiids3dlai09jb4hbjg"; - system = "multiposter"; - asd = "multiposter"; - }); - systems = [ "multiposter" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "clohost" self) (getAttr "closer-mop" self) (getAttr "documentation-utils" self) (getAttr "fuzzy-dates" self) (getAttr "humbler" self) (getAttr "lichat-tcp-client" self) (getAttr "lquery" self) (getAttr "north-drakma" self) (getAttr "pathname-utils" self) (getAttr "studio-client" self) (getAttr "tooter" self) (getAttr "trivial-arguments" self) (getAttr "trivial-mimes" self) (getAttr "ubiquitous" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - multival-plist = (build-asdf-system { - pname = "multival-plist"; - version = "20120305-git"; - asds = [ "multival-plist" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/multival-plist/2012-03-05/multival-plist-20120305-git.tgz"; - sha256 = "0cfca0qvngbvs9v4z8qpzr6wsjvf01jzaszagmasa4zkvmjycx1b"; - system = "multival-plist"; - asd = "multival-plist"; - }); - systems = [ "multival-plist" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-annot" self) (getAttr "cl-syntax-annot" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - multival-plist-test = (build-asdf-system { - pname = "multival-plist-test"; - version = "20120305-git"; - asds = [ "multival-plist-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/multival-plist/2012-03-05/multival-plist-20120305-git.tgz"; - sha256 = "0cfca0qvngbvs9v4z8qpzr6wsjvf01jzaszagmasa4zkvmjycx1b"; - system = "multival-plist-test"; - asd = "multival-plist-test"; - }); - systems = [ "multival-plist-test" ]; - lispLibs = [ (getAttr "cl-test-more" self) (getAttr "multival-plist" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - music-spelling = (build-asdf-system { - pname = "music-spelling"; - version = "20230214-git"; - asds = [ "music-spelling" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/music-spelling/2023-02-14/music-spelling-20230214-git.tgz"; - sha256 = "0fgahb0jjr4sp2739d55gylmx8alsghnx3spyaqfqci4cxfrys52"; - system = "music-spelling"; - asd = "music-spelling"; - }); - systems = [ "music-spelling" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mutility = (build-asdf-system { - pname = "mutility"; - version = "20241012-git"; - asds = [ "mutility" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mutility/2024-10-12/mutility-20241012-git.tgz"; - sha256 = "17ip4rkvval66k9r3a2hvpr4pqa087b3rqjdayl115fi6bfzncr4"; - system = "mutility"; - asd = "mutility"; - }); - systems = [ "mutility" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mutils = (build-asdf-system { - pname = "mutils"; - version = "20241012-git"; - asds = [ "mutils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mutils/2024-10-12/mutils-20241012-git.tgz"; - sha256 = "1xmqms002bafrdrpzgqq5dr0qfiywg3p7mhvb6xny1jrk3qdqz75"; - system = "mutils"; - asd = "mutils"; - }); - systems = [ "mutils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mw-equiv = (build-asdf-system { - pname = "mw-equiv"; - version = "0.1.3"; - asds = [ "mw-equiv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mw-equiv/2010-10-06/mw-equiv-0.1.3.tgz"; - sha256 = "1fl90wp0jp7l90mps53fq0kzb28f10qfr739527h03xwqccyylad"; - system = "mw-equiv"; - asd = "mw-equiv"; - }); - systems = [ "mw-equiv" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - my-cool-system = (build-asdf-system { - pname = "my-cool-system"; - version = "20231021-git"; - asds = [ "my-cool-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/super-loader/2023-10-21/super-loader-20231021-git.tgz"; - sha256 = "0jicqg3w1yhwkmjfag0lvlhw83w2hpanwav1gzyf4s58sng6cxf4"; - system = "my-cool-system"; - asd = "my-cool-system"; - }); - systems = [ "my-cool-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - my-secret-system = (build-asdf-system { - pname = "my-secret-system"; - version = "20231021-git"; - asds = [ "my-secret-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/super-loader/2023-10-21/super-loader-20231021-git.tgz"; - sha256 = "0jicqg3w1yhwkmjfag0lvlhw83w2hpanwav1gzyf4s58sng6cxf4"; - system = "my-secret-system"; - asd = "my-secret-system"; - }); - systems = [ "my-secret-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic = (build-asdf-system { - pname = "mystic"; - version = "20230618-git"; - asds = [ "mystic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic"; - asd = "mystic"; - }); - systems = [ "mystic" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-mustache" self) (getAttr "local-time" self) (getAttr "split-sequence" self) (getAttr "ubiquitous" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-file-mixin = (build-asdf-system { - pname = "mystic-file-mixin"; - version = "20230618-git"; - asds = [ "mystic-file-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-file-mixin"; - asd = "mystic-file-mixin"; - }); - systems = [ "mystic-file-mixin" ]; - lispLibs = [ (getAttr "mystic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-fiveam-mixin = (build-asdf-system { - pname = "mystic-fiveam-mixin"; - version = "20230618-git"; - asds = [ "mystic-fiveam-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-fiveam-mixin"; - asd = "mystic-fiveam-mixin"; - }); - systems = [ "mystic-fiveam-mixin" ]; - lispLibs = [ (getAttr "mystic" self) (getAttr "mystic-file-mixin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-gitignore-mixin = (build-asdf-system { - pname = "mystic-gitignore-mixin"; - version = "20230618-git"; - asds = [ "mystic-gitignore-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-gitignore-mixin"; - asd = "mystic-gitignore-mixin"; - }); - systems = [ "mystic-gitignore-mixin" ]; - lispLibs = [ (getAttr "mystic" self) (getAttr "mystic-file-mixin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-library-template = (build-asdf-system { - pname = "mystic-library-template"; - version = "20230618-git"; - asds = [ "mystic-library-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-library-template"; - asd = "mystic-library-template"; - }); - systems = [ "mystic-library-template" ]; - lispLibs = [ (getAttr "mystic" self) (getAttr "mystic-fiveam-mixin" self) (getAttr "mystic-gitignore-mixin" self) (getAttr "mystic-readme-mixin" self) (getAttr "mystic-travis-mixin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-readme-mixin = (build-asdf-system { - pname = "mystic-readme-mixin"; - version = "20230618-git"; - asds = [ "mystic-readme-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-readme-mixin"; - asd = "mystic-readme-mixin"; - }); - systems = [ "mystic-readme-mixin" ]; - lispLibs = [ (getAttr "mystic" self) (getAttr "mystic-file-mixin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-test = (build-asdf-system { - pname = "mystic-test"; - version = "20230618-git"; - asds = [ "mystic-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-test"; - asd = "mystic-test"; - }); - systems = [ "mystic-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "mystic" self) (getAttr "mystic-library-template" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - mystic-travis-mixin = (build-asdf-system { - pname = "mystic-travis-mixin"; - version = "20230618-git"; - asds = [ "mystic-travis-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; - sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; - system = "mystic-travis-mixin"; - asd = "mystic-travis-mixin"; - }); - systems = [ "mystic-travis-mixin" ]; - lispLibs = [ (getAttr "mystic" self) (getAttr "mystic-file-mixin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - myway = (build-asdf-system { - pname = "myway"; - version = "20221106-git"; - asds = [ "myway" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/myway/2022-11-06/myway-20221106-git.tgz"; - sha256 = "0xac8xpbcvq457f2jzzkf46mh5ganf1k2ix8sg61hqqmld5z4dag"; - system = "myway"; - asd = "myway"; - }); - systems = [ "myway" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-utilities" self) (getAttr "map-set" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - myway-test = (build-asdf-system { - pname = "myway-test"; - version = "20221106-git"; - asds = [ "myway-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/myway/2022-11-06/myway-20221106-git.tgz"; - sha256 = "0xac8xpbcvq457f2jzzkf46mh5ganf1k2ix8sg61hqqmld5z4dag"; - system = "myway-test"; - asd = "myway-test"; - }); - systems = [ "myway-test" ]; - lispLibs = [ (getAttr "myway" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - myweb = (build-asdf-system { - pname = "myweb"; - version = "20241012-git"; - asds = [ "myweb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/myweb/2024-10-12/myweb-20241012-git.tgz"; - sha256 = "10r67w3cgrq0r7qmqdnv4c3pjz7kkhz9q3jj0amlknr0nsr4y2zp"; - system = "myweb"; - asd = "myweb"; - }); - systems = [ "myweb" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-log" self) (getAttr "local-time" self) (getAttr "trivial-utf-8" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nail = (build-asdf-system { - pname = "nail"; - version = "20230214-git"; - asds = [ "nail" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nail/2023-02-14/nail-20230214-git.tgz"; - sha256 = "0m5a1zx9s033mz3ypx27c26z5bvc8mcpnpzslypzdp6xah1nv0g3"; - system = "nail"; - asd = "nail"; - }); - systems = [ "nail" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cl-reexport" self) (getAttr "eazy-gnuplot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - named-closure = (build-asdf-system { - pname = "named-closure"; - version = "20241012-git"; - asds = [ "named-closure" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/named-closure/2024-10-12/named-closure-20241012-git.tgz"; - sha256 = "1ja7lvid589n3r25vh7j21wji60dm2qika2jn51jvfbbii853x09"; - system = "named-closure"; - asd = "named-closure"; - }); - systems = [ "named-closure" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "hu_dot_dwim_dot_walker" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - named-read-macros = (build-asdf-system { - pname = "named-read-macros"; - version = "20210228-git"; - asds = [ "named-read-macros" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/named-read-macros/2021-02-28/named-read-macros-20210228-git.tgz"; - sha256 = "0bgqy43h06nq2p9avqix2k15ab306sghrz2pkr17pli87q0qkxhi"; - system = "named-read-macros"; - asd = "named-read-macros"; - }); - systems = [ "named-read-macros" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - named-read-macros-test = (build-asdf-system { - pname = "named-read-macros-test"; - version = "20210228-git"; - asds = [ "named-read-macros-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/named-read-macros/2021-02-28/named-read-macros-20210228-git.tgz"; - sha256 = "0bgqy43h06nq2p9avqix2k15ab306sghrz2pkr17pli87q0qkxhi"; - system = "named-read-macros-test"; - asd = "named-read-macros-test"; - }); - systems = [ "named-read-macros-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "named-read-macros" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - named-readtables = (build-asdf-system { - pname = "named-readtables"; - version = "20231021-git"; - asds = [ "named-readtables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/named-readtables/2023-10-21/named-readtables-20231021-git.tgz"; - sha256 = "0cnxs13qf0y1r05mhhf54jihvv7pqk1a2p3x5jzs4y8ld1in6xzp"; - system = "named-readtables"; - asd = "named-readtables"; - }); - systems = [ "named-readtables" ]; - lispLibs = [ (getAttr "mgl-pax-bootstrap" self) ]; - meta = {}; - }); - named-readtables-test = (build-asdf-system { - pname = "named-readtables-test"; - version = "20231021-git"; - asds = [ "named-readtables-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/named-readtables/2023-10-21/named-readtables-20231021-git.tgz"; - sha256 = "0cnxs13qf0y1r05mhhf54jihvv7pqk1a2p3x5jzs4y8ld1in6xzp"; - system = "named-readtables-test"; - asd = "named-readtables-test"; - }); - systems = [ "named-readtables-test" ]; - lispLibs = [ (getAttr "named-readtables" self) (getAttr "try" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nanovg-blob = (build-asdf-system { - pname = "nanovg-blob"; - version = "stable-git"; - asds = [ "nanovg-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nanovg-blob/2020-10-16/nanovg-blob-stable-git.tgz"; - sha256 = "1q80inrlfcqqqc912jcskfn667jgq6lcw0jvhk270x5qpj8z2pfj"; - system = "nanovg-blob"; - asd = "nanovg-blob"; - }); - systems = [ "nanovg-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "glad-blob" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - napa-fft3 = (build-asdf-system { - pname = "napa-fft3"; - version = "20151218-git"; - asds = [ "napa-fft3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/napa-fft3/2015-12-18/napa-fft3-20151218-git.tgz"; - sha256 = "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"; - system = "napa-fft3"; - asd = "napa-fft3"; - }); - systems = [ "napa-fft3" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - narrowed-types = (build-asdf-system { - pname = "narrowed-types"; - version = "20180228-git"; - asds = [ "narrowed-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/narrowed-types/2018-02-28/narrowed-types-20180228-git.tgz"; - sha256 = "03v4jgdysapj3ndg2qij7liqc6n9zb07r5j4k1jhmhpml86jxg4g"; - system = "narrowed-types"; - asd = "narrowed-types"; - }); - systems = [ "narrowed-types" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - narrowed-types-test = (build-asdf-system { - pname = "narrowed-types-test"; - version = "20180228-git"; - asds = [ "narrowed-types-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/narrowed-types/2018-02-28/narrowed-types-20180228-git.tgz"; - sha256 = "03v4jgdysapj3ndg2qij7liqc6n9zb07r5j4k1jhmhpml86jxg4g"; - system = "narrowed-types-test"; - asd = "narrowed-types-test"; - }); - systems = [ "narrowed-types-test" ]; - lispLibs = [ (getAttr "narrowed-types" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - native-lazy-seq = (build-asdf-system { - pname = "native-lazy-seq"; - version = "20230618-git"; - asds = [ "native-lazy-seq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/native-lazy-seq/2023-06-18/native-lazy-seq-20230618-git.tgz"; - sha256 = "1p5zja0qg61girf67ic8j6wv9s1faxki0mazxmydbm92ckrns2rp"; - system = "native-lazy-seq"; - asd = "native-lazy-seq"; - }); - systems = [ "native-lazy-seq" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "serapeum" self) (getAttr "trivial-extensible-sequences" self) (getAttr "trivial-package-local-nicknames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nbd = (build-asdf-system { - pname = "nbd"; - version = "20211020-git"; - asds = [ "nbd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nbd/2021-10-20/nbd-20211020-git.tgz"; - sha256 = "1p9dpyvlpjm32a2ymhps782dp5pjya5bnky6sb20gf4zyw6r826n"; - system = "nbd"; - asd = "nbd"; - }); - systems = [ "nbd" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "flexi-streams" self) (getAttr "lisp-binary" self) (getAttr "wild-package-inferred-system" self) ]; - meta = {}; - }); - ncurses-clone-for-lem = (build-asdf-system { - pname = "ncurses-clone-for-lem"; - version = "20200427-git"; - asds = [ "ncurses-clone-for-lem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "ncurses-clone-for-lem"; - asd = "ncurses-clone-for-lem"; - }); - systems = [ "ncurses-clone-for-lem" ]; - lispLibs = [ (getAttr "application" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "lparallel" self) (getAttr "nsb-cga" self) (getAttr "text-subsystem" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ndebug = (build-asdf-system { - pname = "ndebug"; - version = "20241012-git"; - asds = [ "ndebug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ndebug/2024-10-12/ndebug-20241012-git.tgz"; - sha256 = "168khn4190p55fjhbpnbq130lbaafq7cw0131x7n650d9f4h2hyq"; - system = "ndebug"; - asd = "ndebug"; - }); - systems = [ "ndebug" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "dissect" self) (getAttr "trivial-custom-debugger" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ndfa = (build-asdf-system { - pname = "ndfa"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "ndfa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "ndfa"; - asd = "ndfa"; - }); - systems = [ "ndfa" ]; - lispLibs = [ (getAttr "adjuvant" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ndfa-test = (build-asdf-system { - pname = "ndfa-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "ndfa-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "ndfa-test"; - asd = "ndfa-test"; - }); - systems = [ "ndfa-test" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "ndfa" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net-telent-date = (build-asdf-system { - pname = "net-telent-date"; - version = "0.42"; - asds = [ "net-telent-date" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/net-telent-date/2010-10-06/net-telent-date_0.42.tgz"; - sha256 = "0vgibf76hy3zy39pix367xnvpwxiqsxvv6w0gqdxprd5ljpb7g2j"; - system = "net-telent-date"; - asd = "net-telent-date"; - }); - systems = [ "net-telent-date" ]; - lispLibs = [ ]; - meta = {}; - }); - net_dot_didierverna_dot_asdf-flv = (build-asdf-system { - pname = "net.didierverna.asdf-flv"; - version = "version-2.2"; - asds = [ "net.didierverna.asdf-flv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-flv/2023-10-21/asdf-flv-version-2.2.tgz"; - sha256 = "1svcjhdlsdayr07qa38kj8n5m40qplklspmlrkmvc5wdhk9jz8sw"; - system = "net.didierverna.asdf-flv"; - asd = "net.didierverna.asdf-flv"; - }); - systems = [ "net.didierverna.asdf-flv" ]; - lispLibs = [ ]; - meta = {}; - }); - net_dot_didierverna_dot_clon = (build-asdf-system { - pname = "net.didierverna.clon"; - version = "version-1.0b27"; - asds = [ "net.didierverna.clon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; - sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; - system = "net.didierverna.clon"; - asd = "net.didierverna.clon"; - }); - systems = [ "net.didierverna.clon" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_core" self) (getAttr "net_dot_didierverna_dot_clon_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_clon_dot_core = (build-asdf-system { - pname = "net.didierverna.clon.core"; - version = "version-1.0b27"; - asds = [ "net.didierverna.clon.core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; - sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; - system = "net.didierverna.clon.core"; - asd = "net.didierverna.clon.core"; - }); - systems = [ "net.didierverna.clon.core" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_clon_dot_demo_dot_advanced = (build-asdf-system { - pname = "net.didierverna.clon.demo.advanced"; - version = "version-1.0b27"; - asds = [ "net.didierverna.clon.demo.advanced" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; - sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; - system = "net.didierverna.clon.demo.advanced"; - asd = "net.didierverna.clon.demo.advanced"; - }); - systems = [ "net.didierverna.clon.demo.advanced" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_clon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_clon_dot_demo_dot_simple = (build-asdf-system { - pname = "net.didierverna.clon.demo.simple"; - version = "version-1.0b27"; - asds = [ "net.didierverna.clon.demo.simple" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; - sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; - system = "net.didierverna.clon.demo.simple"; - asd = "net.didierverna.clon.demo.simple"; - }); - systems = [ "net.didierverna.clon.demo.simple" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_clon" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_clon_dot_setup = (build-asdf-system { - pname = "net.didierverna.clon.setup"; - version = "version-1.0b27"; - asds = [ "net.didierverna.clon.setup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; - sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; - system = "net.didierverna.clon.setup"; - asd = "net.didierverna.clon.setup"; - }); - systems = [ "net.didierverna.clon.setup" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_clon_dot_termio = (build-asdf-system { - pname = "net.didierverna.clon.termio"; - version = "version-1.0b27"; - asds = [ "net.didierverna.clon.termio" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; - sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; - system = "net.didierverna.clon.termio"; - asd = "net.didierverna.clon.termio"; - }); - systems = [ "net.didierverna.clon.termio" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_core" self) (getAttr "net_dot_didierverna_dot_clon_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_declt_dot_setup = (build-asdf-system { - pname = "net.didierverna.declt.setup"; - version = "4.0b2"; - asds = [ "net.didierverna.declt.setup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/declt/2024-10-12/declt-4.0b2.tgz"; - sha256 = "1xkbf1xqrkmr8na09b0spmrznsx2ml10i9q026zv9mpbsc7gh0i6"; - system = "net.didierverna.declt.setup"; - asd = "net.didierverna.declt.setup"; - }); - systems = [ "net.didierverna.declt.setup" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_focus = (build-asdf-system { - pname = "net.didierverna.focus"; - version = "20170403-git"; - asds = [ "net.didierverna.focus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; - sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; - system = "net.didierverna.focus"; - asd = "net.didierverna.focus"; - }); - systems = [ "net.didierverna.focus" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_core" self) (getAttr "net_dot_didierverna_dot_focus_dot_flv" self) (getAttr "net_dot_didierverna_dot_focus_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_focus_dot_core = (build-asdf-system { - pname = "net.didierverna.focus.core"; - version = "20170403-git"; - asds = [ "net.didierverna.focus.core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; - sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; - system = "net.didierverna.focus.core"; - asd = "net.didierverna.focus.core"; - }); - systems = [ "net.didierverna.focus.core" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_focus_dot_demos_dot_quotation = (build-asdf-system { - pname = "net.didierverna.focus.demos.quotation"; - version = "20170403-git"; - asds = [ "net.didierverna.focus.demos.quotation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; - sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; - system = "net.didierverna.focus.demos.quotation"; - asd = "net.didierverna.focus.demos.quotation"; - }); - systems = [ "net.didierverna.focus.demos.quotation" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_flv" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_focus_dot_flv = (build-asdf-system { - pname = "net.didierverna.focus.flv"; - version = "20170403-git"; - asds = [ "net.didierverna.focus.flv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; - sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; - system = "net.didierverna.focus.flv"; - asd = "net.didierverna.focus.flv"; - }); - systems = [ "net.didierverna.focus.flv" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_asdf-flv" self) (getAttr "net_dot_didierverna_dot_focus_dot_core" self) (getAttr "net_dot_didierverna_dot_focus_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_focus_dot_setup = (build-asdf-system { - pname = "net.didierverna.focus.setup"; - version = "20170403-git"; - asds = [ "net.didierverna.focus.setup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; - sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; - system = "net.didierverna.focus.setup"; - asd = "net.didierverna.focus.setup"; - }); - systems = [ "net.didierverna.focus.setup" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_tfm = (build-asdf-system { - pname = "net.didierverna.tfm"; - version = "20241012-git"; - asds = [ "net.didierverna.tfm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfm/2024-10-12/tfm-20241012-git.tgz"; - sha256 = "15lnp9w9z5ar64bynb365n4wqh8wa7z4m4dzy320xrxnnc1w2sn2"; - system = "net.didierverna.tfm"; - asd = "net.didierverna.tfm"; - }); - systems = [ "net.didierverna.tfm" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_tfm_dot_core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_tfm_dot_core = (build-asdf-system { - pname = "net.didierverna.tfm.core"; - version = "20241012-git"; - asds = [ "net.didierverna.tfm.core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfm/2024-10-12/tfm-20241012-git.tgz"; - sha256 = "15lnp9w9z5ar64bynb365n4wqh8wa7z4m4dzy320xrxnnc1w2sn2"; - system = "net.didierverna.tfm.core"; - asd = "net.didierverna.tfm.core"; - }); - systems = [ "net.didierverna.tfm.core" ]; - lispLibs = [ (getAttr "net_dot_didierverna_dot_tfm_dot_setup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_didierverna_dot_tfm_dot_setup = (build-asdf-system { - pname = "net.didierverna.tfm.setup"; - version = "20241012-git"; - asds = [ "net.didierverna.tfm.setup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfm/2024-10-12/tfm-20241012-git.tgz"; - sha256 = "15lnp9w9z5ar64bynb365n4wqh8wa7z4m4dzy320xrxnnc1w2sn2"; - system = "net.didierverna.tfm.setup"; - asd = "net.didierverna.tfm.setup"; - }); - systems = [ "net.didierverna.tfm.setup" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - net_dot_scipolis_dot_graphs = (build-asdf-system { - pname = "net.scipolis.graphs"; - version = "20210411-git"; - asds = [ "net.scipolis.graphs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; - sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; - system = "net.scipolis.graphs"; - asd = "net.scipolis.graphs"; - }); - systems = [ "net.scipolis.graphs" ]; - lispLibs = [ (getAttr "femlisp-basic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - network-addresses = (build-asdf-system { - pname = "network-addresses"; - version = "20160628-git"; - asds = [ "network-addresses" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/network-addresses/2016-06-28/network-addresses-20160628-git.tgz"; - sha256 = "0zkyfdvfy9pz08vrgz40qpnqx0y7vf92aarp9dq2wipimnwy8df2"; - system = "network-addresses"; - asd = "network-addresses"; - }); - systems = [ "network-addresses" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - network-addresses-test = (build-asdf-system { - pname = "network-addresses-test"; - version = "20160628-git"; - asds = [ "network-addresses-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/network-addresses/2016-06-28/network-addresses-20160628-git.tgz"; - sha256 = "0zkyfdvfy9pz08vrgz40qpnqx0y7vf92aarp9dq2wipimnwy8df2"; - system = "network-addresses-test"; - asd = "network-addresses-test"; - }); - systems = [ "network-addresses-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "network-addresses" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - neural-classifier = (build-asdf-system { - pname = "neural-classifier"; - version = "20241012-git"; - asds = [ "neural-classifier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/neural-classifier/2024-10-12/neural-classifier-20241012-git.tgz"; - sha256 = "0aq7m781c27di7lfs1a7di55f31i7x490yfd2033738biqn0x019"; - system = "neural-classifier"; - asd = "neural-classifier"; - }); - systems = [ "neural-classifier" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "magicl" self) (getAttr "serapeum" self) (getAttr "snakes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - new-op = (build-asdf-system { - pname = "new-op"; - version = "20241012-git"; - asds = [ "new-op" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/new-op/2024-10-12/new-op-20241012-git.tgz"; - sha256 = "1jrnn4xbx5gc1202hqpinh0q1gm2wcv28jr8fl6g7wm6170nscxh"; - system = "new-op"; - asd = "new-op"; - }); - systems = [ "new-op" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nibbles = (build-asdf-system { - pname = "nibbles"; - version = "20241012-git"; - asds = [ "nibbles" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nibbles/2024-10-12/nibbles-20241012-git.tgz"; - sha256 = "00j464l3l1rx2x9gzx45gz7wcpplk1wmfh5liigzlxqq0ybjc7lr"; - system = "nibbles"; - asd = "nibbles"; - }); - systems = [ "nibbles" ]; - lispLibs = [ ]; - meta = {}; - }); - nibbles-streams = (build-asdf-system { - pname = "nibbles-streams"; - version = "20241012-git"; - asds = [ "nibbles-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nibbles-streams/2024-10-12/nibbles-streams-20241012-git.tgz"; - sha256 = "1m1i9nivpahk11rzdwy3xxdcdwmkx3xzb4kqcz3gh3prwhyg83a1"; - system = "nibbles-streams"; - asd = "nibbles-streams"; - }); - systems = [ "nibbles-streams" ]; - lispLibs = [ (getAttr "nibbles" self) (getAttr "serapeum" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nineveh = (build-asdf-system { - pname = "nineveh"; - version = "release-quicklisp-0a10a846-git"; - asds = [ "nineveh" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nineveh/2019-10-07/nineveh-release-quicklisp-0a10a846-git.tgz"; - sha256 = "0bpdgqc9iz37240ypirpi489pnqpb92i94snyhjbh87i50y4br2l"; - system = "nineveh"; - asd = "nineveh"; - }); - systems = [ "nineveh" ]; - lispLibs = [ (getAttr "cepl" self) (getAttr "cl-soil" self) (getAttr "dendrite_dot_primitives" self) (getAttr "documentation-utils" self) (getAttr "easing" self) (getAttr "livesupport" self) (getAttr "rtg-math_dot_vari" self) (getAttr "with-setf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ningle = (build-asdf-system { - pname = "ningle"; - version = "20241012-git"; - asds = [ "ningle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ningle/2024-10-12/ningle-20241012-git.tgz"; - sha256 = "1ym6phipbg94q7344ng9yf02ykh0x5ldx8nfrbsh8p15qajsw7hc"; - system = "ningle"; - asd = "ningle"; - }); - systems = [ "ningle" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "lack-component" self) (getAttr "lack-request" self) (getAttr "lack-response" self) (getAttr "myway" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ningle-test = (build-asdf-system { - pname = "ningle-test"; - version = "20241012-git"; - asds = [ "ningle-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ningle/2024-10-12/ningle-20241012-git.tgz"; - sha256 = "1ym6phipbg94q7344ng9yf02ykh0x5ldx8nfrbsh8p15qajsw7hc"; - system = "ningle-test"; - asd = "ningle-test"; - }); - systems = [ "ningle-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "lack-component" self) (getAttr "lack-test" self) (getAttr "ningle" self) (getAttr "prove" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nlopt = (build-asdf-system { - pname = "nlopt"; - version = "20220707-git"; - asds = [ "nlopt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nlopt/2022-07-07/nlopt-20220707-git.tgz"; - sha256 = "01zw4yx38kc8x3by0m3dw5j87hwb180ggp4njfnzi1qjq1fdczp5"; - system = "nlopt"; - asd = "nlopt"; - }); - systems = [ "nlopt" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nodgui = (build-asdf-system { - pname = "nodgui"; - version = "20241012-git"; - asds = [ "nodgui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nodgui/2024-10-12/nodgui-20241012-git.tgz"; - sha256 = "088dkpqsxc4dmfsbz24wrgi192xrn8116p4zpklwfqa0fblmfzpb"; - system = "nodgui"; - asd = "nodgui"; - }); - systems = [ "nodgui" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-colors2" self) (getAttr "cl-opengl" self) (getAttr "cl-ppcre-unicode" self) (getAttr "cl-unicode" self) (getAttr "esrap" self) (getAttr "flexi-streams" self) (getAttr "jpeg-turbo" self) (getAttr "named-readtables" self) (getAttr "parse-number" self) (getAttr "pngload" self) (getAttr "sdl2" self) (getAttr "sdl2-ttf" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nodgui-lite = (build-asdf-system { - pname = "nodgui-lite"; - version = "20241012-git"; - asds = [ "nodgui-lite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nodgui/2024-10-12/nodgui-20241012-git.tgz"; - sha256 = "088dkpqsxc4dmfsbz24wrgi192xrn8116p4zpklwfqa0fblmfzpb"; - system = "nodgui-lite"; - asd = "nodgui-lite"; - }); - systems = [ "nodgui-lite" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-colors2" self) (getAttr "cl-ppcre-unicode" self) (getAttr "cl-unicode" self) (getAttr "esrap" self) (getAttr "flexi-streams" self) (getAttr "named-readtables" self) (getAttr "parse-number" self) (getAttr "pngload" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - noisy = (build-asdf-system { - pname = "noisy"; - version = "20241012-git"; - asds = [ "noisy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/noisy/2024-10-12/noisy-20241012-git.tgz"; - sha256 = "0qr29rxbrrlgd3k7hb6c62yzgflaygvxabq2sbhs90r0bi3cs0dj"; - system = "noisy"; - asd = "noisy"; - }); - systems = [ "noisy" ]; - lispLibs = [ (getAttr "random-state" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nontrivial-gray-streams = (build-asdf-system { - pname = "nontrivial-gray-streams"; - version = "20241012-git"; - asds = [ "nontrivial-gray-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nontrivial-gray-streams/2024-10-12/nontrivial-gray-streams-20241012-git.tgz"; - sha256 = "0v49nqsc5jbrg499qhk550zg4v5arjh9nch33n5g4f5bfgw7lzh3"; - system = "nontrivial-gray-streams"; - asd = "nontrivial-gray-streams"; - }); - systems = [ "nontrivial-gray-streams" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - north = (build-asdf-system { - pname = "north"; - version = "20241012-git"; - asds = [ "north" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; - sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; - system = "north"; - asd = "north"; - }); - systems = [ "north" ]; - lispLibs = [ (getAttr "north-drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - north-core = (build-asdf-system { - pname = "north-core"; - version = "20241012-git"; - asds = [ "north-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; - sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; - system = "north-core"; - asd = "north-core"; - }); - systems = [ "north-core" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "crypto-shortcuts" self) (getAttr "documentation-utils" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - north-dexador = (build-asdf-system { - pname = "north-dexador"; - version = "20241012-git"; - asds = [ "north-dexador" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; - sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; - system = "north-dexador"; - asd = "north-dexador"; - }); - systems = [ "north-dexador" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "north-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - north-drakma = (build-asdf-system { - pname = "north-drakma"; - version = "20241012-git"; - asds = [ "north-drakma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; - sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; - system = "north-drakma"; - asd = "north-drakma"; - }); - systems = [ "north-drakma" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "north-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - north-example = (build-asdf-system { - pname = "north-example"; - version = "20241012-git"; - asds = [ "north-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; - sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; - system = "north-example"; - asd = "north-example"; - }); - systems = [ "north-example" ]; - lispLibs = [ (getAttr "clip" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) (getAttr "north" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nsb-cga = (build-asdf-system { - pname = "nsb-cga"; - version = "20200427-git"; - asds = [ "nsb-cga" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "nsb-cga"; - asd = "nsb-cga"; - }); - systems = [ "nsb-cga" ]; - lispLibs = [ (getAttr "cl-reexport" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nsort = (build-asdf-system { - pname = "nsort"; - version = "20150505-git"; - asds = [ "nsort" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nsort/2015-05-05/nsort-20150505-git.tgz"; - sha256 = "1q58slg8pl390av8pv16xb8g9qibgy3pm6vyl1fw75mx37yqkyd3"; - system = "nsort"; - asd = "nsort"; - }); - systems = [ "nsort" ]; - lispLibs = [ (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst = (build-asdf-system { - pname = "nst"; - version = "20210807-git"; - asds = [ "nst" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst"; - asd = "nst"; - }); - systems = [ "nst" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "org-sampler" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-manual-tests = (build-asdf-system { - pname = "nst-manual-tests"; - version = "20210807-git"; - asds = [ "nst-manual-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-manual-tests"; - asd = "nst-manual-tests"; - }); - systems = [ "nst-manual-tests" ]; - lispLibs = [ (getAttr "asdf-nst" self) (getAttr "nst" self) (getAttr "nst-selftest-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-meta-tests = (build-asdf-system { - pname = "nst-meta-tests"; - version = "20210807-git"; - asds = [ "nst-meta-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-meta-tests"; - asd = "nst-meta-tests"; - }); - systems = [ "nst-meta-tests" ]; - lispLibs = [ (getAttr "asdf-nst" self) (getAttr "nst" self) (getAttr "nst-selftest-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-mop-utils = (build-asdf-system { - pname = "nst-mop-utils"; - version = "20210807-git"; - asds = [ "nst-mop-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-mop-utils"; - asd = "nst-mop-utils"; - }); - systems = [ "nst-mop-utils" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "nst" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-selftest-utils = (build-asdf-system { - pname = "nst-selftest-utils"; - version = "20210807-git"; - asds = [ "nst-selftest-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-selftest-utils"; - asd = "nst-selftest-utils"; - }); - systems = [ "nst-selftest-utils" ]; - lispLibs = [ (getAttr "nst" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-simple-tests = (build-asdf-system { - pname = "nst-simple-tests"; - version = "20210807-git"; - asds = [ "nst-simple-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-simple-tests"; - asd = "nst-simple-tests"; - }); - systems = [ "nst-simple-tests" ]; - lispLibs = [ (getAttr "asdf-nst" self) (getAttr "nst" self) (getAttr "nst-selftest-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-test = (build-asdf-system { - pname = "nst-test"; - version = "20210807-git"; - asds = [ "nst-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-test"; - asd = "nst-test"; - }); - systems = [ "nst-test" ]; - lispLibs = [ (getAttr "asdf-nst" self) (getAttr "nst" self) (getAttr "nst-meta-tests" self) (getAttr "nst-simple-tests" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nst-test-jenkins = (build-asdf-system { - pname = "nst-test-jenkins"; - version = "20210807-git"; - asds = [ "nst-test-jenkins" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; - sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; - system = "nst-test-jenkins"; - asd = "nst-test-jenkins"; - }); - systems = [ "nst-test-jenkins" ]; - lispLibs = [ (getAttr "asdf-nst" self) (getAttr "nst" self) (getAttr "nst-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nuclblog = (build-asdf-system { - pname = "nuclblog"; - version = "20140826-git"; - asds = [ "nuclblog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nuclblog/2014-08-26/nuclblog-20140826-git.tgz"; - sha256 = "03ngrxas65l7h9ykyy100arm0imvnrxxyyf809l8iqqv87b3k1hz"; - system = "nuclblog"; - asd = "nuclblog"; - }); - systems = [ "nuclblog" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-markdown" self) (getAttr "cl-store" self) (getAttr "cl-who" self) (getAttr "hunchentoot" self) (getAttr "hunchentoot-auth" self) (getAttr "md5" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nuklear-blob = (build-asdf-system { - pname = "nuklear-blob"; - version = "stable-git"; - asds = [ "nuklear-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nuklear-blob/2020-10-16/nuklear-blob-stable-git.tgz"; - sha256 = "1qqx08sd74ix027p6w35yr0ycp72swy1zzps015hwkiwxsawkncm"; - system = "nuklear-blob"; - asd = "nuklear-blob"; - }); - systems = [ "nuklear-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "glad-blob" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nuklear-renderer-blob = (build-asdf-system { - pname = "nuklear-renderer-blob"; - version = "stable-git"; - asds = [ "nuklear-renderer-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nuklear-renderer-blob/2020-10-16/nuklear-renderer-blob-stable-git.tgz"; - sha256 = "0f73ns9dq02v7ixpbnvrfgp52cjdvmbbbhhfwjyv0ywxx30mrdq4"; - system = "nuklear-renderer-blob"; - asd = "nuklear-renderer-blob"; - }); - systems = [ "nuklear-renderer-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "glad-blob" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - null-package = (build-asdf-system { - pname = "null-package"; - version = "20220707-git"; - asds = [ "null-package" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/null-package/2022-07-07/null-package-20220707-git.tgz"; - sha256 = "1ildain46gw0nfnxdwfvasr5vg1fs93afni3k65sl5imc82g910f"; - system = "null-package"; - asd = "null-package"; - }); - systems = [ "null-package" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "core-reader" self) (getAttr "named-readtables" self) (getAttr "read-as-string" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - null-package_dot_test = (build-asdf-system { - pname = "null-package.test"; - version = "20220707-git"; - asds = [ "null-package.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/null-package/2022-07-07/null-package-20220707-git.tgz"; - sha256 = "1ildain46gw0nfnxdwfvasr5vg1fs93afni3k65sl5imc82g910f"; - system = "null-package.test"; - asd = "null-package.test"; - }); - systems = [ "null-package.test" ]; - lispLibs = [ (getAttr "bnf" self) (getAttr "jingoh" self) (getAttr "null-package" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - num-utils = (build-asdf-system { - pname = "num-utils"; - version = "20241012-git"; - asds = [ "num-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/numerical-utilities/2024-10-12/numerical-utilities-20241012-git.tgz"; - sha256 = "00ck2bj4pqir2aan26xhirk41wzrfaziqmnngabhmwi0hz81bjs6"; - system = "num-utils"; - asd = "num-utils"; - }); - systems = [ "num-utils" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "anaphora" self) (getAttr "array-operations" self) (getAttr "let-plus" self) (getAttr "select" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - numcl = (build-asdf-system { - pname = "numcl"; - version = "20221106-git"; - asds = [ "numcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/numcl/2022-11-06/numcl-20221106-git.tgz"; - sha256 = "1x0j4vx5w3rn18pssfwys3ghfxr2lkkrv37y47144kr890jrcad9"; - system = "numcl"; - asd = "numcl"; - }); - systems = [ "numcl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-randist" self) (getAttr "constantfold" self) (getAttr "float-features" self) (getAttr "function-cache" self) (getAttr "gtype" self) (getAttr "iterate" self) (getAttr "lisp-namespace" self) (getAttr "specialized-function" self) (getAttr "trivia" self) (getAttr "type-r" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - numcl_dot_test = (build-asdf-system { - pname = "numcl.test"; - version = "20221106-git"; - asds = [ "numcl.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/numcl/2022-11-06/numcl-20221106-git.tgz"; - sha256 = "1x0j4vx5w3rn18pssfwys3ghfxr2lkkrv37y47144kr890jrcad9"; - system = "numcl.test"; - asd = "numcl.test"; - }); - systems = [ "numcl.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "numcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - numpy-file-format = (build-asdf-system { - pname = "numpy-file-format"; - version = "20231021-git"; - asds = [ "numpy-file-format" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/numpy-file-format/2023-10-21/numpy-file-format-20231021-git.tgz"; - sha256 = "1n0nixc44z1cymm20wif0l2100ydv0h69l6i6xz5bmwcb2zc4gqr"; - system = "numpy-file-format"; - asd = "numpy-file-format"; - }); - systems = [ "numpy-file-format" ]; - lispLibs = [ (getAttr "ieee-floats" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nxt = (build-asdf-system { - pname = "nxt"; - version = "20150608-git"; - asds = [ "nxt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nxt/2015-06-08/cl-nxt-20150608-git.tgz"; - sha256 = "1r9004ra140i9v2pmxnjv86dix4040jr0rgww2zwk370zxys7h2g"; - system = "nxt"; - asd = "nxt"; - }); - systems = [ "nxt" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "static-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nxt-proxy = (build-asdf-system { - pname = "nxt-proxy"; - version = "20150608-git"; - asds = [ "nxt-proxy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-nxt/2015-06-08/cl-nxt-20150608-git.tgz"; - sha256 = "1r9004ra140i9v2pmxnjv86dix4040jr0rgww2zwk370zxys7h2g"; - system = "nxt-proxy"; - asd = "nxt-proxy"; - }); - systems = [ "nxt-proxy" ]; - lispLibs = [ (getAttr "nxt" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nyaml = (build-asdf-system { - pname = "nyaml"; - version = "20211230-git"; - asds = [ "nyaml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nyaml/2021-12-30/nyaml-20211230-git.tgz"; - sha256 = "1gdsxhgqx9ynzrxwjidgljlkmz35wx83r6gwslxgg4v0g4vix9da"; - system = "nyaml"; - asd = "nyaml"; - }); - systems = [ "nyaml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "esrap" self) (getAttr "fare-quasiquote" self) (getAttr "fare-quasiquote-extras" self) (getAttr "parse-number" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - nytpu_dot_lisp-utils = (build-asdf-system { - pname = "nytpu.lisp-utils"; - version = "20241012-git"; - asds = [ "nytpu.lisp-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/nytpu.lisp-utils/2024-10-12/nytpu.lisp-utils-20241012-git.tgz"; - sha256 = "11mn2xf0nlaqmni0s22n4jbdy8rkqkin1sqni90drd8cs6mccmsd"; - system = "nytpu.lisp-utils"; - asd = "nytpu.lisp-utils"; - }); - systems = [ "nytpu.lisp-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - object-class = (build-asdf-system { - pname = "object-class"; - version = "1.0"; - asds = [ "object-class" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/object-class/2020-09-25/object-class_1.0.tgz"; - sha256 = "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683"; - system = "object-class"; - asd = "object-class"; - }); - systems = [ "object-class" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "compatible-metaclasses" self) (getAttr "enhanced-find-class" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - object-class__tests = (build-asdf-system { - pname = "object-class_tests"; - version = "1.0"; - asds = [ "object-class_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/object-class/2020-09-25/object-class_1.0.tgz"; - sha256 = "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683"; - system = "object-class_tests"; - asd = "object-class_tests"; - }); - systems = [ "object-class_tests" ]; - lispLibs = [ (getAttr "compatible-metaclasses" self) (getAttr "object-class" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oclcl = (build-asdf-system { - pname = "oclcl"; - version = "20190521-git"; - asds = [ "oclcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz"; - sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q"; - system = "oclcl"; - asd = "oclcl"; - }); - systems = [ "oclcl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-pattern" self) (getAttr "cl-ppcre" self) (getAttr "cl-reexport" self) (getAttr "external-program" self) (getAttr "lisp-namespace" self) (getAttr "osicat" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oclcl-examples = (build-asdf-system { - pname = "oclcl-examples"; - version = "20190521-git"; - asds = [ "oclcl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz"; - sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q"; - system = "oclcl-examples"; - asd = "oclcl-examples"; - }); - systems = [ "oclcl-examples" ]; - lispLibs = [ (getAttr "cl-oclapi" self) (getAttr "imago" self) (getAttr "oclcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oclcl-test = (build-asdf-system { - pname = "oclcl-test"; - version = "20190521-git"; - asds = [ "oclcl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz"; - sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q"; - system = "oclcl-test"; - asd = "oclcl-test"; - }); - systems = [ "oclcl-test" ]; - lispLibs = [ (getAttr "arrow-macros" self) (getAttr "oclcl" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ode-blob = (build-asdf-system { - pname = "ode-blob"; - version = "stable-git"; - asds = [ "ode-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ode-blob/2020-10-16/ode-blob-stable-git.tgz"; - sha256 = "1l2zq27zmivmr6h66kadbh3isnbdmkxvc7wq16wwmsvq23bhpss6"; - system = "ode-blob"; - asd = "ode-blob"; - }); - systems = [ "ode-blob" ]; - lispLibs = [ (getAttr "base-blobs" self) (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - odepack = (build-asdf-system { - pname = "odepack"; - version = "20231021-git"; - asds = [ "odepack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "odepack"; - asd = "odepack"; - }); - systems = [ "odepack" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - odesk = (build-asdf-system { - pname = "odesk"; - version = "20150608-git"; - asds = [ "odesk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-odesk/2015-06-08/cl-odesk-20150608-git.tgz"; - sha256 = "1j5pjq4aw83m1in0l7ljn7jq4ixckg91p4h0lwf420xks3lhi4ka"; - system = "odesk"; - asd = "odesk"; - }); - systems = [ "odesk" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "iterate" self) (getAttr "md5" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oe-encode = (build-asdf-system { - pname = "oe-encode"; - version = "20150804-git"; - asds = [ "oe-encode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oe-encode/2015-08-04/oe-encode-20150804-git.tgz"; - sha256 = "18hd97509vpg04gaf8lzjr2jfyj3w4ql1ydb5202p2r9k4qpvnj9"; - system = "oe-encode"; - asd = "oe-encode"; - }); - systems = [ "oe-encode" ]; - lispLibs = [ (getAttr "babel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oe-encode-test = (build-asdf-system { - pname = "oe-encode-test"; - version = "20150804-git"; - asds = [ "oe-encode-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oe-encode/2015-08-04/oe-encode-20150804-git.tgz"; - sha256 = "18hd97509vpg04gaf8lzjr2jfyj3w4ql1ydb5202p2r9k4qpvnj9"; - system = "oe-encode-test"; - asd = "oe-encode"; - }); - systems = [ "oe-encode-test" ]; - lispLibs = [ (getAttr "clunit" self) (getAttr "oe-encode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - olc = (build-asdf-system { - pname = "olc"; - version = "20220331-git"; - asds = [ "olc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/olc/2022-03-31/olc-20220331-git.tgz"; - sha256 = "02r6w9kfa6v4a12y2azmyjkxbn54r1y18c6a024vq4y6zp20fqnz"; - system = "olc"; - asd = "olc"; - }); - systems = [ "olc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - omg = (build-asdf-system { - pname = "omg"; - version = "20241012-git"; - asds = [ "omg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/omglib/2024-10-12/omglib-20241012-git.tgz"; - sha256 = "0jp68w3sw9z8gn3498lrmysf93f22a71hsr9c886wix5zpwgqpx7"; - system = "omg"; - asd = "omg"; - }); - systems = [ "omg" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-jpeg" self) (getAttr "cl-parallel" self) (getAttr "clack" self) (getAttr "hunchentoot" self) (getAttr "media-types" self) (getAttr "pngload" self) (getAttr "skippy" self) (getAttr "trivial-utf-8" self) (getAttr "websocket-driver-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - omgdaemon = (build-asdf-system { - pname = "omgdaemon"; - version = "20241012-git"; - asds = [ "omgdaemon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/omglib/2024-10-12/omglib-20241012-git.tgz"; - sha256 = "0jp68w3sw9z8gn3498lrmysf93f22a71hsr9c886wix5zpwgqpx7"; - system = "omgdaemon"; - asd = "omgdaemon"; - }); - systems = [ "omgdaemon" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "find-port" self) (getAttr "inferior-shell" self) (getAttr "iolib" self) (getAttr "log4cl" self) (getAttr "omg" self) (getAttr "osicat" self) (getAttr "swank" self) (getAttr "trivial-dump-core" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ook = (build-asdf-system { - pname = "ook"; - version = "20241012-git"; - asds = [ "ook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ook/2024-10-12/ook-20241012-git.tgz"; - sha256 = "0vh6g6a392z77yd4vgj3izajyai7pckr90ij1xns6cf9w505aq8w"; - system = "ook"; - asd = "ook"; - }); - systems = [ "ook" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oook = (build-asdf-system { - pname = "oook"; - version = "20171130-git"; - asds = [ "oook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oook/2017-11-30/oook-20171130-git.tgz"; - sha256 = "0vxw160kbb2b624lc2aqvrx91xnmfhwz8nrzjvmbk5m55q1s4hxr"; - system = "oook"; - asd = "oook"; - }); - systems = [ "oook" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-inflector" self) (getAttr "closer-mop" self) (getAttr "clsql" self) (getAttr "jonathan" self) (getAttr "parse-number" self) (getAttr "semantic-spinneret" self) (getAttr "spinneret" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - open-geneva = (build-asdf-system { - pname = "open-geneva"; - version = "20161204-git"; - asds = [ "open-geneva" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; - sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; - system = "open-geneva"; - asd = "open-geneva"; - }); - systems = [ "open-geneva" ]; - lispLibs = [ (getAttr "geneva" self) (getAttr "geneva-cl" self) (getAttr "geneva-html" self) (getAttr "geneva-latex" self) (getAttr "geneva-mk2" self) (getAttr "geneva-plain-text" self) (getAttr "geneva-tex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - open-location-code = (build-asdf-system { - pname = "open-location-code"; - version = "20241012-git"; - asds = [ "open-location-code" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/open-location-code/2024-10-12/open-location-code-20241012-git.tgz"; - sha256 = "17ip3xzqr2jk9br39d58grrjbk6gsh2mq1a9irjg9a5fig0jlyb2"; - system = "open-location-code"; - asd = "open-location-code"; - }); - systems = [ "open-location-code" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - open-vrp = (build-asdf-system { - pname = "open-vrp"; - version = "20140914-git"; - asds = [ "open-vrp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/open-vrp/2014-09-14/open-vrp-20140914-git.tgz"; - sha256 = "04k0kp18gpr4cfpsck7pjizawwswh372df4pvm5v87brm6xdw1fr"; - system = "open-vrp"; - asd = "open-vrp"; - }); - systems = [ "open-vrp" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam" self) (getAttr "open-vrp-lib" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - open-vrp-lib = (build-asdf-system { - pname = "open-vrp-lib"; - version = "20140914-git"; - asds = [ "open-vrp-lib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/open-vrp/2014-09-14/open-vrp-20140914-git.tgz"; - sha256 = "04k0kp18gpr4cfpsck7pjizawwswh372df4pvm5v87brm6xdw1fr"; - system = "open-vrp-lib"; - asd = "open-vrp-lib"; - }); - systems = [ "open-vrp-lib" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "fiveam" self) (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - open-with = (build-asdf-system { - pname = "open-with"; - version = "20241012-git"; - asds = [ "open-with" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/open-with/2024-10-12/open-with-20241012-git.tgz"; - sha256 = "0bc0p8nigmfq4axx6qmlxdkm4sb0d2mdi1h7bwmnh0irvmrgdy33"; - system = "open-with"; - asd = "open-with"; - }); - systems = [ "open-with" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openai-openapi-client = (build-asdf-system { - pname = "openai-openapi-client"; - version = "20241012-git"; - asds = [ "openai-openapi-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openai-openapi-client/2024-10-12/openai-openapi-client-20241012-git.tgz"; - sha256 = "0qyd9i0y75gf92kf8v22n6wmh63791115r7gmg9ca9pl0dgbpmg9"; - system = "openai-openapi-client"; - asd = "openai-openapi-client"; - }); - systems = [ "openai-openapi-client" ]; - lispLibs = [ (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "dexador" self) (getAttr "openapi-generator" self) (getAttr "quri" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openal-blob = (build-asdf-system { - pname = "openal-blob"; - version = "stable-git"; - asds = [ "openal-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openal-blob/2020-10-16/openal-blob-stable-git.tgz"; - sha256 = "0bspdqb0xbvwvi6xkn88n4jswpds8fzbgj44ygm7mi6lpwp7lmv2"; - system = "openal-blob"; - asd = "openal-blob"; - }); - systems = [ "openal-blob" ]; - lispLibs = [ (getAttr "base-blobs" self) (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openapi-generator = (build-asdf-system { - pname = "openapi-generator"; - version = "20241012-git"; - asds = [ "openapi-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openapi-generator/2024-10-12/openapi-generator-20241012-git.tgz"; - sha256 = "0zc0y8frcnsqj76sqmqsgfv0zhdz5kkpynwan3sigc78fl1nrs3q"; - system = "openapi-generator"; - asd = "openapi-generator"; - }); - systems = [ "openapi-generator" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-hash-util" self) (getAttr "cl-json-pointer" self) (getAttr "cl-project" self) (getAttr "cl-semver" self) (getAttr "cl-yaml" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "dexador" self) (getAttr "json-mop" self) (getAttr "listopia" self) (getAttr "moptilities" self) (getAttr "parse-float" self) (getAttr "pathname-utils" self) (getAttr "quri" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openapi-parser = (build-asdf-system { - pname = "openapi-parser"; - version = "20230618-git"; - asds = [ "openapi-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openapi-parser/2023-06-18/cl-openapi-parser-20230618-git.tgz"; - sha256 = "1vjqmxgkd8zvsfa1m6jzp6adwv1hz79z1x662v0f567iar01rzyz"; - system = "openapi-parser"; - asd = "openapi-parser"; - }); - systems = [ "openapi-parser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-change-case" self) (getAttr "cl-package-locks" self) (getAttr "cl-yaml" self) (getAttr "closer-mop" self) (getAttr "esrap" self) (getAttr "str" self) (getAttr "trivia" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openapi-parser-tests = (build-asdf-system { - pname = "openapi-parser-tests"; - version = "20230618-git"; - asds = [ "openapi-parser-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-openapi-parser/2023-06-18/cl-openapi-parser-20230618-git.tgz"; - sha256 = "1vjqmxgkd8zvsfa1m6jzp6adwv1hz79z1x662v0f567iar01rzyz"; - system = "openapi-parser-tests"; - asd = "openapi-parser"; - }); - systems = [ "openapi-parser-tests" ]; - lispLibs = [ (getAttr "openapi-parser" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openid-key = (build-asdf-system { - pname = "openid-key"; - version = "20181210-git"; - asds = [ "openid-key" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openid-key/2018-12-10/openid-key-20181210-git.tgz"; - sha256 = "0ja1g4f8nrcn965376j7lnhha9krx4wjqxrg6vc57k7rmkhkzm1z"; - system = "openid-key"; - asd = "openid-key"; - }); - systems = [ "openid-key" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "dexador" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "quri" self) (getAttr "trivial-rfc-1123" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openid-key-test = (build-asdf-system { - pname = "openid-key-test"; - version = "20181210-git"; - asds = [ "openid-key-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openid-key/2018-12-10/openid-key-20181210-git.tgz"; - sha256 = "0ja1g4f8nrcn965376j7lnhha9krx4wjqxrg6vc57k7rmkhkzm1z"; - system = "openid-key-test"; - asd = "openid-key-test"; - }); - systems = [ "openid-key-test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "openid-key" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openrpc-ci = (build-asdf-system { - pname = "openrpc-ci"; - version = "20241012-git"; - asds = [ "openrpc-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; - sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; - system = "openrpc-ci"; - asd = "openrpc-ci"; - }); - systems = [ "openrpc-ci" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openrpc-client = (build-asdf-system { - pname = "openrpc-client"; - version = "20241012-git"; - asds = [ "openrpc-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; - sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; - system = "openrpc-client"; - asd = "openrpc-client"; - }); - systems = [ "openrpc-client" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "jsonrpc" self) (getAttr "kebab" self) (getAttr "log4cl" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "usocket" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openrpc-deps = (build-asdf-system { - pname = "openrpc-deps"; - version = "20241012-git"; - asds = [ "openrpc-deps" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; - sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; - system = "openrpc-deps"; - asd = "openrpc-deps"; - }); - systems = [ "openrpc-deps" ]; - lispLibs = [ (getAttr "jsonrpc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openrpc-docs = (build-asdf-system { - pname = "openrpc-docs"; - version = "20241012-git"; - asds = [ "openrpc-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; - sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; - system = "openrpc-docs"; - asd = "openrpc-docs"; - }); - systems = [ "openrpc-docs" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "_40ants-doc" self) (getAttr "docs-config" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openrpc-example = (build-asdf-system { - pname = "openrpc-example"; - version = "20241012-git"; - asds = [ "openrpc-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; - sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; - system = "openrpc-example"; - asd = "openrpc-example"; - }); - systems = [ "openrpc-example" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "clack" self) (getAttr "clack-handler-hunchentoot" self) (getAttr "jsonrpc" self) (getAttr "openrpc-client" self) (getAttr "openrpc-server" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - openrpc-server = (build-asdf-system { - pname = "openrpc-server"; - version = "20241012-git"; - asds = [ "openrpc-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; - sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; - system = "openrpc-server"; - asd = "openrpc-server"; - }); - systems = [ "openrpc-server" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "clack-cors" self) (getAttr "clack-prometheus" self) (getAttr "closer-mop" self) (getAttr "jsonrpc" self) (getAttr "lack-request" self) (getAttr "lambda-fiddle" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "log4cl-extras" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "websocket-driver" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ops-test = (build-asdf-system { - pname = "ops-test"; - version = "20211020-git"; - asds = [ "ops-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; - sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; - system = "ops-test"; - asd = "ops-test"; - }); - systems = [ "ops-test" ]; - lispLibs = [ (getAttr "png" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ops5 = (build-asdf-system { - pname = "ops5"; - version = "20200218-git"; - asds = [ "ops5" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ops5/2020-02-18/ops5-20200218-git.tgz"; - sha256 = "1q2mrza40qvhny06f4ks2dghyk8a7pjjsi3vj83b9if7fmyj152a"; - system = "ops5"; - asd = "ops5"; - }); - systems = [ "ops5" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - opticl = (build-asdf-system { - pname = "opticl"; - version = "20220220-git"; - asds = [ "opticl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/opticl/2022-02-20/opticl-20220220-git.tgz"; - sha256 = "1jx9n78d4lf53iz24yid34l92zrpqxfihv6049ixcy0xigf7j4ac"; - system = "opticl"; - asd = "opticl"; - }); - systems = [ "opticl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-jpeg" self) (getAttr "cl-tga" self) (getAttr "opticl-core" self) (getAttr "pngload" self) (getAttr "retrospectiff" self) (getAttr "skippy" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - opticl-core = (build-asdf-system { - pname = "opticl-core"; - version = "20171019-git"; - asds = [ "opticl-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/opticl-core/2017-10-19/opticl-core-20171019-git.tgz"; - sha256 = "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"; - system = "opticl-core"; - asd = "opticl-core"; - }); - systems = [ "opticl-core" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - opticl-doc = (build-asdf-system { - pname = "opticl-doc"; - version = "20220220-git"; - asds = [ "opticl-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/opticl/2022-02-20/opticl-20220220-git.tgz"; - sha256 = "1jx9n78d4lf53iz24yid34l92zrpqxfihv6049ixcy0xigf7j4ac"; - system = "opticl-doc"; - asd = "opticl-doc"; - }); - systems = [ "opticl-doc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-containers" self) (getAttr "cl-markdown" self) (getAttr "opticl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - optima = (build-asdf-system { - pname = "optima"; - version = "20150709-git"; - asds = [ "optima" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz"; - sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"; - system = "optima"; - asd = "optima"; - }); - systems = [ "optima" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) ]; - meta = {}; - }); - optima_dot_ppcre = (build-asdf-system { - pname = "optima.ppcre"; - version = "20150709-git"; - asds = [ "optima.ppcre" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz"; - sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"; - system = "optima.ppcre"; - asd = "optima.ppcre"; - }); - systems = [ "optima.ppcre" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - optima_dot_test = (build-asdf-system { - pname = "optima.test"; - version = "20150709-git"; - asds = [ "optima.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz"; - sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"; - system = "optima.test"; - asd = "optima.test"; - }); - systems = [ "optima.test" ]; - lispLibs = [ (getAttr "eos" self) (getAttr "optima" self) (getAttr "optima_dot_ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - or-cluster = (build-asdf-system { - pname = "or-cluster"; - version = "20170403-git"; - asds = [ "or-cluster" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; - sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; - system = "or-cluster"; - asd = "or-cluster"; - }); - systems = [ "or-cluster" ]; - lispLibs = [ (getAttr "cl-opsresearch" self) (getAttr "drakma" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - or-fann = (build-asdf-system { - pname = "or-fann"; - version = "20170403-git"; - asds = [ "or-fann" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; - sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; - system = "or-fann"; - asd = "or-fann"; - }); - systems = [ "or-fann" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opsresearch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - or-glpk = (build-asdf-system { - pname = "or-glpk"; - version = "20170403-git"; - asds = [ "or-glpk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; - sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; - system = "or-glpk"; - asd = "or-glpk"; - }); - systems = [ "or-glpk" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opsresearch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - or-gsl = (build-asdf-system { - pname = "or-gsl"; - version = "20170403-git"; - asds = [ "or-gsl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; - sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; - system = "or-gsl"; - asd = "or-gsl"; - }); - systems = [ "or-gsl" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opsresearch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - or-test = (build-asdf-system { - pname = "or-test"; - version = "20170403-git"; - asds = [ "or-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; - sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; - system = "or-test"; - asd = "or-test"; - }); - systems = [ "or-test" ]; - lispLibs = [ (getAttr "cl-opsresearch" self) (getAttr "fiveam" self) (getAttr "or-fann" self) (getAttr "or-glpk" self) (getAttr "or-gsl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org-davep-dict = (build-asdf-system { - pname = "org-davep-dict"; - version = "20190521-git"; - asds = [ "org-davep-dict" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/org-davep-dict/2019-05-21/org-davep-dict-20190521-git.tgz"; - sha256 = "09dryqlprssrw0jpcg2313cc1hmlsasxvp1rs5z7axhasc16kl31"; - system = "org-davep-dict"; - asd = "org-davep-dict"; - }); - systems = [ "org-davep-dict" ]; - lispLibs = [ (getAttr "acl-compat" self) (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org-davep-dictrepl = (build-asdf-system { - pname = "org-davep-dictrepl"; - version = "20190521-git"; - asds = [ "org-davep-dictrepl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/org-davep-dictrepl/2019-05-21/org-davep-dictrepl-20190521-git.tgz"; - sha256 = "1s461asil8cxsbcpyxsw3g7phdn5c3mwv6wswp86hsxiga5hi327"; - system = "org-davep-dictrepl"; - asd = "org-davep-dictrepl"; - }); - systems = [ "org-davep-dictrepl" ]; - lispLibs = [ (getAttr "org-davep-dict" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org-sampler = (build-asdf-system { - pname = "org-sampler"; - version = "0.2.0"; - asds = [ "org-sampler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/org-sampler/2016-03-18/org-sampler-0.2.0.tgz"; - sha256 = "1j2i24x9afxp6s5gyqlvy11c0lq9rzhmdj1bf0qpxcaa4znj48c3"; - system = "org-sampler"; - asd = "org-sampler"; - }); - systems = [ "org-sampler" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_melusina_dot_atelier = (build-asdf-system { - pname = "org.melusina.atelier"; - version = "20241012-git"; - asds = [ "org.melusina.atelier" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-atelier/2024-10-12/cl-atelier-20241012-git.tgz"; - sha256 = "0n8v4f7xq1szxhipmkvg4x5s41vqllcq6hxzcd7r0rbxi9i57pqz"; - system = "org.melusina.atelier"; - asd = "org.melusina.atelier"; - }); - systems = [ "org.melusina.atelier" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "org_dot_melusina_dot_rashell" self) (getAttr "osicat" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_melusina_dot_confidence = (build-asdf-system { - pname = "org.melusina.confidence"; - version = "20241012-git"; - asds = [ "org.melusina.confidence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-confidence/2024-10-12/cl-confidence-20241012-git.tgz"; - sha256 = "1azvv54zchw88gpzh4dkflz6y0pvf7wq433yc7m90fs3c70wmsjl"; - system = "org.melusina.confidence"; - asd = "org.melusina.confidence"; - }); - systems = [ "org.melusina.confidence" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_melusina_dot_rashell = (build-asdf-system { - pname = "org.melusina.rashell"; - version = "20241012-git"; - asds = [ "org.melusina.rashell" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rashell/2024-10-12/cl-rashell-20241012-git.tgz"; - sha256 = "0fpdyhfc68xy6m0ixfvcnczlmlwasby24k47nc25x73swshlxqwq"; - system = "org.melusina.rashell"; - asd = "org.melusina.rashell"; - }); - systems = [ "org.melusina.rashell" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_melusina_dot_webmachine = (build-asdf-system { - pname = "org.melusina.webmachine"; - version = "20241012-git"; - asds = [ "org.melusina.webmachine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-webmachine/2024-10-12/cl-webmachine-20241012-git.tgz"; - sha256 = "0k31fbwsv0zdixzis625dsk9zlz04g4908wzwb8p593dksqa0sr8"; - system = "org.melusina.webmachine"; - asd = "org.melusina.webmachine"; - }); - systems = [ "org.melusina.webmachine" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "hunchentoot" self) (getAttr "parse-number" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_conduit-packages = (build-asdf-system { - pname = "org.tfeb.conduit-packages"; - version = "20241012-git"; - asds = [ "org.tfeb.conduit-packages" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/conduit-packages/2024-10-12/conduit-packages-20241012-git.tgz"; - sha256 = "1x89maglc4cw2c87y23zrsvh8mk22ik1anmps462w3a0j3c1ly12"; - system = "org.tfeb.conduit-packages"; - asd = "org.tfeb.conduit-packages"; - }); - systems = [ "org.tfeb.conduit-packages" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_dsm = (build-asdf-system { - pname = "org.tfeb.dsm"; - version = "20241012-git"; - asds = [ "org.tfeb.dsm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/dsm/2024-10-12/dsm-20241012-git.tgz"; - sha256 = "033swj37bgbzn35fjndxqsk89i17bhsim12j8mciiziykx62c4pw"; - system = "org.tfeb.dsm"; - asd = "org.tfeb.dsm"; - }); - systems = [ "org.tfeb.dsm" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) (getAttr "org_dot_tfeb_dot_hax_dot_simple-loops" self) (getAttr "org_dot_tfeb_dot_hax_dot_spam" self) (getAttr "org_dot_tfeb_dot_hax_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax = (build-asdf-system { - pname = "org.tfeb.hax"; - version = "20241012-git"; - asds = [ "org.tfeb.hax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax"; - asd = "org.tfeb.hax"; - }); - systems = [ "org.tfeb.hax" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_abstract-classes = (build-asdf-system { - pname = "org.tfeb.hax.abstract-classes"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.abstract-classes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.abstract-classes"; - asd = "org.tfeb.hax.abstract-classes"; - }); - systems = [ "org.tfeb.hax.abstract-classes" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_binding = (build-asdf-system { - pname = "org.tfeb.hax.binding"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.binding" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.binding"; - asd = "org.tfeb.hax.binding"; - }); - systems = [ "org.tfeb.hax.binding" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_collecting = (build-asdf-system { - pname = "org.tfeb.hax.collecting"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.collecting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.collecting"; - asd = "org.tfeb.hax.collecting"; - }); - systems = [ "org.tfeb.hax.collecting" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_comment-form = (build-asdf-system { - pname = "org.tfeb.hax.comment-form"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.comment-form" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.comment-form"; - asd = "org.tfeb.hax.comment-form"; - }); - systems = [ "org.tfeb.hax.comment-form" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_cs-forms = (build-asdf-system { - pname = "org.tfeb.hax.cs-forms"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.cs-forms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.cs-forms"; - asd = "org.tfeb.hax.cs-forms"; - }); - systems = [ "org.tfeb.hax.cs-forms" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_define-functions = (build-asdf-system { - pname = "org.tfeb.hax.define-functions"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.define-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.define-functions"; - asd = "org.tfeb.hax.define-functions"; - }); - systems = [ "org.tfeb.hax.define-functions" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_dynamic-state = (build-asdf-system { - pname = "org.tfeb.hax.dynamic-state"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.dynamic-state" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.dynamic-state"; - asd = "org.tfeb.hax.dynamic-state"; - }); - systems = [ "org.tfeb.hax.dynamic-state" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_iterate = (build-asdf-system { - pname = "org.tfeb.hax.iterate"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.iterate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.iterate"; - asd = "org.tfeb.hax.iterate"; - }); - systems = [ "org.tfeb.hax.iterate" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_memoize = (build-asdf-system { - pname = "org.tfeb.hax.memoize"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.memoize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.memoize"; - asd = "org.tfeb.hax.memoize"; - }); - systems = [ "org.tfeb.hax.memoize" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_metatronic = (build-asdf-system { - pname = "org.tfeb.hax.metatronic"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.metatronic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.metatronic"; - asd = "org.tfeb.hax.metatronic"; - }); - systems = [ "org.tfeb.hax.metatronic" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_object-accessors = (build-asdf-system { - pname = "org.tfeb.hax.object-accessors"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.object-accessors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.object-accessors"; - asd = "org.tfeb.hax.object-accessors"; - }); - systems = [ "org.tfeb.hax.object-accessors" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_read-package = (build-asdf-system { - pname = "org.tfeb.hax.read-package"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.read-package" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.read-package"; - asd = "org.tfeb.hax.read-package"; - }); - systems = [ "org.tfeb.hax.read-package" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_simple-loops = (build-asdf-system { - pname = "org.tfeb.hax.simple-loops"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.simple-loops" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.simple-loops"; - asd = "org.tfeb.hax.simple-loops"; - }); - systems = [ "org.tfeb.hax.simple-loops" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) (getAttr "org_dot_tfeb_dot_hax_dot_utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_singleton-classes = (build-asdf-system { - pname = "org.tfeb.hax.singleton-classes"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.singleton-classes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.singleton-classes"; - asd = "org.tfeb.hax.singleton-classes"; - }); - systems = [ "org.tfeb.hax.singleton-classes" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_slog = (build-asdf-system { - pname = "org.tfeb.hax.slog"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.slog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.slog"; - asd = "org.tfeb.hax.slog"; - }); - systems = [ "org.tfeb.hax.slog" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) (getAttr "org_dot_tfeb_dot_hax_dot_metatronic" self) (getAttr "org_dot_tfeb_dot_hax_dot_simple-loops" self) (getAttr "org_dot_tfeb_dot_hax_dot_spam" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_spam = (build-asdf-system { - pname = "org.tfeb.hax.spam"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.spam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.spam"; - asd = "org.tfeb.hax.spam"; - }); - systems = [ "org.tfeb.hax.spam" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_simple-loops" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_stringtable = (build-asdf-system { - pname = "org.tfeb.hax.stringtable"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.stringtable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.stringtable"; - asd = "org.tfeb.hax.stringtable"; - }); - systems = [ "org.tfeb.hax.stringtable" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_trace-macroexpand = (build-asdf-system { - pname = "org.tfeb.hax.trace-macroexpand"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.trace-macroexpand" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.trace-macroexpand"; - asd = "org.tfeb.hax.trace-macroexpand"; - }); - systems = [ "org.tfeb.hax.trace-macroexpand" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_utilities = (build-asdf-system { - pname = "org.tfeb.hax.utilities"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.utilities"; - asd = "org.tfeb.hax.utilities"; - }); - systems = [ "org.tfeb.hax.utilities" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_hax_dot_wrapping-standard = (build-asdf-system { - pname = "org.tfeb.hax.wrapping-standard"; - version = "20241012-git"; - asds = [ "org.tfeb.hax.wrapping-standard" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; - sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; - system = "org.tfeb.hax.wrapping-standard"; - asd = "org.tfeb.hax.wrapping-standard"; - }); - systems = [ "org.tfeb.hax.wrapping-standard" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools = (build-asdf-system { - pname = "org.tfeb.tools"; - version = "20231021-git"; - asds = [ "org.tfeb.tools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools"; - asd = "org.tfeb.tools"; - }); - systems = [ "org.tfeb.tools" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools_dot_asdf-module-sysdcls = (build-asdf-system { - pname = "org.tfeb.tools.asdf-module-sysdcls"; - version = "20231021-git"; - asds = [ "org.tfeb.tools.asdf-module-sysdcls" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools.asdf-module-sysdcls"; - asd = "org.tfeb.tools.asdf-module-sysdcls"; - }); - systems = [ "org.tfeb.tools.asdf-module-sysdcls" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools_dot_build-modules = (build-asdf-system { - pname = "org.tfeb.tools.build-modules"; - version = "20231021-git"; - asds = [ "org.tfeb.tools.build-modules" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools.build-modules"; - asd = "org.tfeb.tools.build-modules"; - }); - systems = [ "org.tfeb.tools.build-modules" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_tools_dot_require-module" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools_dot_deprecations = (build-asdf-system { - pname = "org.tfeb.tools.deprecations"; - version = "20231021-git"; - asds = [ "org.tfeb.tools.deprecations" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools.deprecations"; - asd = "org.tfeb.tools.deprecations"; - }); - systems = [ "org.tfeb.tools.deprecations" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools_dot_feature-expressions = (build-asdf-system { - pname = "org.tfeb.tools.feature-expressions"; - version = "20231021-git"; - asds = [ "org.tfeb.tools.feature-expressions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools.feature-expressions"; - asd = "org.tfeb.tools.feature-expressions"; - }); - systems = [ "org.tfeb.tools.feature-expressions" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools_dot_install-providers = (build-asdf-system { - pname = "org.tfeb.tools.install-providers"; - version = "20231021-git"; - asds = [ "org.tfeb.tools.install-providers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools.install-providers"; - asd = "org.tfeb.tools.install-providers"; - }); - systems = [ "org.tfeb.tools.install-providers" ]; - lispLibs = [ (getAttr "org_dot_tfeb_dot_tools_dot_require-module" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - org_dot_tfeb_dot_tools_dot_require-module = (build-asdf-system { - pname = "org.tfeb.tools.require-module"; - version = "20231021-git"; - asds = [ "org.tfeb.tools.require-module" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; - sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; - system = "org.tfeb.tools.require-module"; - asd = "org.tfeb.tools.require-module"; - }); - systems = [ "org.tfeb.tools.require-module" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - origin = (build-asdf-system { - pname = "origin"; - version = "20220707-git"; - asds = [ "origin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/origin/2022-07-07/origin-20220707-git.tgz"; - sha256 = "01b5rn83w85fnd92x5jgan2a092y7ir420r55p2b0a98xpvb4a71"; - system = "origin"; - asd = "origin"; - }); - systems = [ "origin" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - origin_dot_test = (build-asdf-system { - pname = "origin.test"; - version = "20220707-git"; - asds = [ "origin.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/origin/2022-07-07/origin-20220707-git.tgz"; - sha256 = "01b5rn83w85fnd92x5jgan2a092y7ir420r55p2b0a98xpvb4a71"; - system = "origin.test"; - asd = "origin.test"; - }); - systems = [ "origin.test" ]; - lispLibs = [ (getAttr "origin" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - orizuru-orm = (build-asdf-system { - pname = "orizuru-orm"; - version = "20241012-git"; - asds = [ "orizuru-orm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/orizuru-orm/2024-10-12/orizuru-orm-20241012-git.tgz"; - sha256 = "064sr0nxz884vrh550d8v3v9pqgs65d97lrr3828qn6bgaxwm1va"; - system = "orizuru-orm"; - asd = "orizuru-orm"; - }); - systems = [ "orizuru-orm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre-unicode" self) (getAttr "clos-fixtures" self) (getAttr "closer-mop" self) (getAttr "clunit2" self) (getAttr "dbi" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - osc = (build-asdf-system { - pname = "osc"; - version = "20230618-git"; - asds = [ "osc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/osc/2023-06-18/osc-20230618-git.tgz"; - sha256 = "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa"; - system = "osc"; - asd = "osc"; - }); - systems = [ "osc" ]; - lispLibs = [ (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - osicat = (build-asdf-system { - pname = "osicat"; - version = "20231021-git"; - asds = [ "osicat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/osicat/2023-10-21/osicat-20231021-git.tgz"; - sha256 = "10q1dfkhrvp5ia860q10y4wdm11fmxf7xv8zl4viz2np9xzf5v22"; - system = "osicat"; - asd = "osicat"; - }); - systems = [ "osicat" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - ospm = (build-asdf-system { - pname = "ospm"; - version = "20231021-git"; - asds = [ "ospm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ospm/2023-10-21/ospm-20231021-git.tgz"; - sha256 = "1z2wz2xg7rn7p1lladdhj789iz2f3wfjgpi2hjr08vkf1pkp15xf"; - system = "ospm"; - asd = "ospm"; - }); - systems = [ "ospm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "calispel" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "local-time" self) (getAttr "moptilities" self) (getAttr "named-readtables" self) (getAttr "serapeum" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - overlord = (build-asdf-system { - pname = "overlord"; - version = "20241012-git"; - asds = [ "overlord" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/overlord/2024-10-12/overlord-20241012-git.tgz"; - sha256 = "1afhqx6wdqdah1fpapvr6zxpzkkqmhbrxkqxam523fqjyg4a6941"; - system = "overlord"; - asd = "overlord"; - }); - systems = [ "overlord" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "bit-smasher" self) (getAttr "bordeaux-threads" self) (getAttr "cl-murmurhash" self) (getAttr "cl-ppcre" self) (getAttr "cl-strftime" self) (getAttr "cmd" self) (getAttr "exit-hooks" self) (getAttr "fset" self) (getAttr "global-vars" self) (getAttr "local-time" self) (getAttr "lparallel" self) (getAttr "named-readtables" self) (getAttr "quickproject" self) (getAttr "serapeum" self) (getAttr "trivia" self) (getAttr "trivial-file-size" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oxenfurt = (build-asdf-system { - pname = "oxenfurt"; - version = "20231021-git"; - asds = [ "oxenfurt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; - sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; - system = "oxenfurt"; - asd = "oxenfurt"; - }); - systems = [ "oxenfurt" ]; - lispLibs = [ (getAttr "oxenfurt-dexador" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oxenfurt-core = (build-asdf-system { - pname = "oxenfurt-core"; - version = "20231021-git"; - asds = [ "oxenfurt-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; - sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; - system = "oxenfurt-core"; - asd = "oxenfurt-core"; - }); - systems = [ "oxenfurt-core" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "documentation-utils" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oxenfurt-dexador = (build-asdf-system { - pname = "oxenfurt-dexador"; - version = "20231021-git"; - asds = [ "oxenfurt-dexador" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; - sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; - system = "oxenfurt-dexador"; - asd = "oxenfurt-dexador"; - }); - systems = [ "oxenfurt-dexador" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "oxenfurt-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - oxenfurt-drakma = (build-asdf-system { - pname = "oxenfurt-drakma"; - version = "20231021-git"; - asds = [ "oxenfurt-drakma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; - sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; - system = "oxenfurt-drakma"; - asd = "oxenfurt-drakma"; - }); - systems = [ "oxenfurt-drakma" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "oxenfurt-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pack = (build-asdf-system { - pname = "pack"; - version = "20110619-git"; - asds = [ "pack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pack/2011-06-19/pack-20110619-git.tgz"; - sha256 = "1b3qi04v1wj9nig0mx591sl4phqcalwdl0vsnf4kqp4d2qx2czi1"; - system = "pack"; - asd = "pack"; - }); - systems = [ "pack" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "ieee-floats" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - package-renaming = (build-asdf-system { - pname = "package-renaming"; - version = "20120407-git"; - asds = [ "package-renaming" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/package-renaming/2012-04-07/package-renaming-20120407-git.tgz"; - sha256 = "15kgd15r9bib8wfnn3hmv42rlifr4ph3rv2mji5i9d5ixhyqqwgq"; - system = "package-renaming"; - asd = "package-renaming"; - }); - systems = [ "package-renaming" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - package-renaming-test = (build-asdf-system { - pname = "package-renaming-test"; - version = "20120407-git"; - asds = [ "package-renaming-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/package-renaming/2012-04-07/package-renaming-20120407-git.tgz"; - sha256 = "15kgd15r9bib8wfnn3hmv42rlifr4ph3rv2mji5i9d5ixhyqqwgq"; - system = "package-renaming-test"; - asd = "package-renaming-test"; - }); - systems = [ "package-renaming-test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "package-renaming" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - packet = (build-asdf-system { - pname = "packet"; - version = "20150302-git"; - asds = [ "packet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/packet/2015-03-02/packet-20150302-git.tgz"; - sha256 = "1vcmxwrliwczz161nz3ysx9cbfia4cmlqgnjgrx5016lp394pnx1"; - system = "packet"; - asd = "packet"; - }); - systems = [ "packet" ]; - lispLibs = [ (getAttr "ieee-floats" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - packet-crafting = (build-asdf-system { - pname = "packet-crafting"; - version = "20200610-git"; - asds = [ "packet-crafting" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/packet-crafting/2020-06-10/packet-crafting-20200610-git.tgz"; - sha256 = "1ivnvkbqckqf5hm6khffc2wkbjl64fn03w9i0kypkb0mrazxdpdq"; - system = "packet-crafting"; - asd = "packet-crafting"; - }); - systems = [ "packet-crafting" ]; - lispLibs = [ (getAttr "lisp-binary" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - paiprolog = (build-asdf-system { - pname = "paiprolog"; - version = "20180228-git"; - asds = [ "paiprolog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paiprolog/2018-02-28/paiprolog-20180228-git.tgz"; - sha256 = "1nxz01i6f8s920gm69r2kwjdpq9pli8b2ayqwijhzgjwi0r4jj9r"; - system = "paiprolog"; - asd = "paiprolog"; - }); - systems = [ "paiprolog" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pal = (build-asdf-system { - pname = "pal"; - version = "20150608-git"; - asds = [ "pal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pal/2015-06-08/pal-20150608-git.tgz"; - sha256 = "0kn6jxirrn7wzqymzsi0kx2ivl0nrrcgbl4dm1714s48qw0jwhcw"; - system = "pal"; - asd = "pal"; - }); - systems = [ "pal" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pandocl = (build-asdf-system { - pname = "pandocl"; - version = "20150923-git"; - asds = [ "pandocl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pandocl/2015-09-23/pandocl-20150923-git.tgz"; - sha256 = "1fmlpx5m7ivdkqss1fa3xqbpcwzqrpyyx2nny12aqxn8f13vpvmg"; - system = "pandocl"; - asd = "pandocl"; - }); - systems = [ "pandocl" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "common-doc-contrib" self) (getAttr "common-html" self) (getAttr "parenml" self) (getAttr "scriba" self) (getAttr "thorn" self) (getAttr "vertex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pango-markup = (build-asdf-system { - pname = "pango-markup"; - version = "20231021-git"; - asds = [ "pango-markup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pango-markup/2023-10-21/pango-markup-20231021-git.tgz"; - sha256 = "1165z3ycbkgr9g3ni1z59r258c1jd2viyf3mj8a5p72kx6dqb8gf"; - system = "pango-markup"; - asd = "pango-markup"; - }); - systems = [ "pango-markup" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - papyrus = (build-asdf-system { - pname = "papyrus"; - version = "20241012-git"; - asds = [ "papyrus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/papyrus/2024-10-12/papyrus-20241012-git.tgz"; - sha256 = "0cnhdl2x5vs91srlfjnaznwj5vrg6qlyn2xjbyy40p8yvr5pny88"; - system = "papyrus"; - asd = "papyrus"; - }); - systems = [ "papyrus" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parachute = (build-asdf-system { - pname = "parachute"; - version = "20241012-git"; - asds = [ "parachute" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; - sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; - system = "parachute"; - asd = "parachute"; - }); - systems = [ "parachute" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "form-fiddle" self) (getAttr "trivial-custom-debugger" self) ]; - meta = {}; - }); - parachute-fiveam = (build-asdf-system { - pname = "parachute-fiveam"; - version = "20241012-git"; - asds = [ "parachute-fiveam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; - sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; - system = "parachute-fiveam"; - asd = "parachute-fiveam"; - }); - systems = [ "parachute-fiveam" ]; - lispLibs = [ (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parachute-lisp-unit = (build-asdf-system { - pname = "parachute-lisp-unit"; - version = "20241012-git"; - asds = [ "parachute-lisp-unit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; - sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; - system = "parachute-lisp-unit"; - asd = "parachute-lisp-unit"; - }); - systems = [ "parachute-lisp-unit" ]; - lispLibs = [ (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parachute-prove = (build-asdf-system { - pname = "parachute-prove"; - version = "20241012-git"; - asds = [ "parachute-prove" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; - sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; - system = "parachute-prove"; - asd = "parachute-prove"; - }); - systems = [ "parachute-prove" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "parachute" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parameterized-function = (build-asdf-system { - pname = "parameterized-function"; - version = "20230618-git"; - asds = [ "parameterized-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parameterized-function/2023-06-18/parameterized-function-20230618-git.tgz"; - sha256 = "0pjdk4il83izd4iiavg6z7ighmjfmg39j8gp82qq2kikzlmklxxf"; - system = "parameterized-function"; - asd = "parameterized-function"; - }); - systems = [ "parameterized-function" ]; - lispLibs = [ (getAttr "interface" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - paren-files = (build-asdf-system { - pname = "paren-files"; - version = "20110418-git"; - asds = [ "paren-files" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paren-files/2011-04-18/paren-files-20110418-git.tgz"; - sha256 = "19lwzvdn9gpn28x6ismkwzs49vr4cbc6drsivkmll3dxb950wgw9"; - system = "paren-files"; - asd = "paren-files"; - }); - systems = [ "paren-files" ]; - lispLibs = [ (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - paren-test = (build-asdf-system { - pname = "paren-test"; - version = "20170830-git"; - asds = [ "paren-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paren-test/2017-08-30/paren-test-20170830-git.tgz"; - sha256 = "0b2d3kcv3n4b0dm67pzhxx8wxjsgnb32bw2dsprblc7149gaczdr"; - system = "paren-test"; - asd = "paren-test"; - }); - systems = [ "paren-test" ]; - lispLibs = [ (getAttr "paren-files" self) (getAttr "parenscript" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - paren-util = (build-asdf-system { - pname = "paren-util"; - version = "20110418-git"; - asds = [ "paren-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paren-util/2011-04-18/paren-util-20110418-git.tgz"; - sha256 = "0jn7sgndhpn9ndn3xfmsp03alj2qksqz6p1c5h6x8hvi46caqvpy"; - system = "paren-util"; - asd = "paren-util"; - }); - systems = [ "paren-util" ]; - lispLibs = [ (getAttr "paren-files" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - paren6 = (build-asdf-system { - pname = "paren6"; - version = "20220331-git"; - asds = [ "paren6" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paren6/2022-03-31/paren6-20220331-git.tgz"; - sha256 = "0m7z7zkc1vrwmp68f3yx0mdsb0j45dmw3iddnbvf94dpv8aywwpx"; - system = "paren6"; - asd = "paren6"; - }); - systems = [ "paren6" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parenml = (build-asdf-system { - pname = "parenml"; - version = "20150923-git"; - asds = [ "parenml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parenml/2015-09-23/parenml-20150923-git.tgz"; - sha256 = "0g6s5phinpcfhixgsfqniwxd3kd4bwh78s90ixs2fwk3qjhh9zsb"; - system = "parenml"; - asd = "parenml"; - }); - systems = [ "parenml" ]; - lispLibs = [ (getAttr "common-doc-plump" self) (getAttr "esrap" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parenml-test = (build-asdf-system { - pname = "parenml-test"; - version = "20150923-git"; - asds = [ "parenml-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parenml/2015-09-23/parenml-20150923-git.tgz"; - sha256 = "0g6s5phinpcfhixgsfqniwxd3kd4bwh78s90ixs2fwk3qjhh9zsb"; - system = "parenml-test"; - asd = "parenml-test"; - }); - systems = [ "parenml-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "parenml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parenscript = (build-asdf-system { - pname = "parenscript"; - version = "Parenscript-2.7.1"; - asds = [ "parenscript" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parenscript/2018-12-10/Parenscript-2.7.1.tgz"; - sha256 = "0vg9b9j5psil5iba1d9k6vfxl5rn133qvy750dny20qkp9mf3a13"; - system = "parenscript"; - asd = "parenscript"; - }); - systems = [ "parenscript" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "cl-ppcre" self) (getAttr "named-readtables" self) ]; - meta = {}; - }); - parenscript-classic = (build-asdf-system { - pname = "parenscript-classic"; - version = "20111203-darcs"; - asds = [ "parenscript-classic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parenscript-classic/2011-12-03/parenscript-classic-20111203-darcs.tgz"; - sha256 = "19zsiyjlz938la2dd39cy6lwh95m10j4nx8837xm6qk8rz5f8dgy"; - system = "parenscript-classic"; - asd = "parenscript-classic"; - }); - systems = [ "parenscript-classic" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parenscript_dot_tests = (build-asdf-system { - pname = "parenscript.tests"; - version = "Parenscript-2.7.1"; - asds = [ "parenscript.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parenscript/2018-12-10/Parenscript-2.7.1.tgz"; - sha256 = "0vg9b9j5psil5iba1d9k6vfxl5rn133qvy750dny20qkp9mf3a13"; - system = "parenscript.tests"; - asd = "parenscript.tests"; - }); - systems = [ "parenscript.tests" ]; - lispLibs = [ (getAttr "cl-js" self) (getAttr "fiveam" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse = (build-asdf-system { - pname = "parse"; - version = "20200925-git"; - asds = [ "parse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse/2020-09-25/parse-20200925-git.tgz"; - sha256 = "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"; - system = "parse"; - asd = "parse"; - }); - systems = [ "parse" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-declarations-1_dot_0 = (build-asdf-system { - pname = "parse-declarations-1.0"; - version = "20101006-darcs"; - asds = [ "parse-declarations-1.0" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-declarations/2010-10-06/parse-declarations-20101006-darcs.tgz"; - sha256 = "04l3s180wxq6xyhgd77mbd03a1w1m0j9snag961g2f9dd77w6q1r"; - system = "parse-declarations-1.0"; - asd = "parse-declarations-1.0"; - }); - systems = [ "parse-declarations-1.0" ]; - lispLibs = [ ]; - meta = {}; - }); - parse-float = (build-asdf-system { - pname = "parse-float"; - version = "20200218-git"; - asds = [ "parse-float" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-float/2020-02-18/parse-float-20200218-git.tgz"; - sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"; - system = "parse-float"; - asd = "parse-float"; - }); - systems = [ "parse-float" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - parse-float-tests = (build-asdf-system { - pname = "parse-float-tests"; - version = "20200218-git"; - asds = [ "parse-float-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-float/2020-02-18/parse-float-20200218-git.tgz"; - sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"; - system = "parse-float-tests"; - asd = "parse-float"; - }); - systems = [ "parse-float-tests" ]; - lispLibs = [ (getAttr "lisp-unit" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-front-matter = (build-asdf-system { - pname = "parse-front-matter"; - version = "20160825-git"; - asds = [ "parse-front-matter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-front-matter/2016-08-25/parse-front-matter-20160825-git.tgz"; - sha256 = "1yzadrjwycvyzlzb0mixxmwi5bjzkjwylnv3aslnr1j14q44vq58"; - system = "parse-front-matter"; - asd = "parse-front-matter"; - }); - systems = [ "parse-front-matter" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-front-matter-test = (build-asdf-system { - pname = "parse-front-matter-test"; - version = "20160825-git"; - asds = [ "parse-front-matter-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-front-matter/2016-08-25/parse-front-matter-20160825-git.tgz"; - sha256 = "1yzadrjwycvyzlzb0mixxmwi5bjzkjwylnv3aslnr1j14q44vq58"; - system = "parse-front-matter-test"; - asd = "parse-front-matter-test"; - }); - systems = [ "parse-front-matter-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "parse-front-matter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-js = (build-asdf-system { - pname = "parse-js"; - version = "20160421-git"; - asds = [ "parse-js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-js/2016-04-21/parse-js-20160421-git.tgz"; - sha256 = "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"; - system = "parse-js"; - asd = "parse-js"; - }); - systems = [ "parse-js" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-number = (build-asdf-system { - pname = "parse-number"; - version = "v1.8"; - asds = [ "parse-number" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-number/2024-10-12/parse-number-v1.8.tgz"; - sha256 = "1yh54v02i9b55bmkfkz59qd14irw8llasp48drbilkbz1az1qg2p"; - system = "parse-number"; - asd = "parse-number"; - }); - systems = [ "parse-number" ]; - lispLibs = [ ]; - meta = {}; - }); - parse-number-range = (build-asdf-system { - pname = "parse-number-range"; - version = "1.0.1"; - asds = [ "parse-number-range" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-number-range/2024-10-12/parse-number-range_1.0.1.tgz"; - sha256 = "1kd0l3bcywhwmnjil0zzvq4cjlhpj2g1wiy7h7860nflzfz7qvds"; - system = "parse-number-range"; - asd = "parse-number-range"; - }); - systems = [ "parse-number-range" ]; - lispLibs = [ (getAttr "cartesian-product-switch" self) (getAttr "enhanced-multiple-value-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-number-range__tests = (build-asdf-system { - pname = "parse-number-range_tests"; - version = "1.0.1"; - asds = [ "parse-number-range_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parse-number-range/2024-10-12/parse-number-range_1.0.1.tgz"; - sha256 = "1kd0l3bcywhwmnjil0zzvq4cjlhpj2g1wiy7h7860nflzfz7qvds"; - system = "parse-number-range_tests"; - asd = "parse-number-range_tests"; - }); - systems = [ "parse-number-range_tests" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "parse-number-range" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parse-rgb = (build-asdf-system { - pname = "parse-rgb"; - version = "20231021-git"; - asds = [ "parse-rgb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tcod/2023-10-21/cl-tcod-20231021-git.tgz"; - sha256 = "1r4ip16dlzr56p94b0grw6nmkykbmgb04jsqdvgl1ypcmbpfr3i1"; - system = "parse-rgb"; - asd = "parse-rgb"; - }); - systems = [ "parse-rgb" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "tcod" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parseltongue = (build-asdf-system { - pname = "parseltongue"; - version = "20130312-git"; - asds = [ "parseltongue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parseltongue/2013-03-12/parseltongue-20130312-git.tgz"; - sha256 = "1cjy7p0snms604zp6x0jlm4v9divqc5r38ns737hffj9q6pi1nlx"; - system = "parseltongue"; - asd = "parseltongue"; - }); - systems = [ "parseltongue" ]; - lispLibs = [ (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parseq = (build-asdf-system { - pname = "parseq"; - version = "20231021-git"; - asds = [ "parseq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parseq/2023-10-21/parseq-20231021-git.tgz"; - sha256 = "13bdv9slnkf4b3py5dfvdnxvyb7zxwf2apcbr2p3s7ij26qslbbw"; - system = "parseq"; - asd = "parseq"; - }); - systems = [ "parseq" ]; - lispLibs = [ ]; - meta = {}; - }); - parser-combinators = (build-asdf-system { - pname = "parser-combinators"; - version = "20131111-git"; - asds = [ "parser-combinators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; - sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; - system = "parser-combinators"; - asd = "parser-combinators"; - }); - systems = [ "parser-combinators" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = {}; - }); - parser-combinators-cl-ppcre = (build-asdf-system { - pname = "parser-combinators-cl-ppcre"; - version = "20131111-git"; - asds = [ "parser-combinators-cl-ppcre" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; - sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; - system = "parser-combinators-cl-ppcre"; - asd = "parser-combinators-cl-ppcre"; - }); - systems = [ "parser-combinators-cl-ppcre" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "parser-combinators" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parser-combinators-debug = (build-asdf-system { - pname = "parser-combinators-debug"; - version = "20131111-git"; - asds = [ "parser-combinators-debug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; - sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; - system = "parser-combinators-debug"; - asd = "parser-combinators-debug"; - }); - systems = [ "parser-combinators-debug" ]; - lispLibs = [ (getAttr "cl-containers" self) (getAttr "parser-combinators" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parser-combinators-tests = (build-asdf-system { - pname = "parser-combinators-tests"; - version = "20131111-git"; - asds = [ "parser-combinators-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; - sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; - system = "parser-combinators-tests"; - asd = "parser-combinators-tests"; - }); - systems = [ "parser-combinators-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "infix" self) (getAttr "iterate" self) (getAttr "parser-combinators" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parser_dot_common-rules = (build-asdf-system { - pname = "parser.common-rules"; - version = "20200715-git"; - asds = [ "parser.common-rules" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz"; - sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa"; - system = "parser.common-rules"; - asd = "parser.common-rules"; - }); - systems = [ "parser.common-rules" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "esrap" self) (getAttr "let-plus" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - parser_dot_common-rules_dot_operators = (build-asdf-system { - pname = "parser.common-rules.operators"; - version = "20200715-git"; - asds = [ "parser.common-rules.operators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz"; - sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa"; - system = "parser.common-rules.operators"; - asd = "parser.common-rules.operators"; - }); - systems = [ "parser.common-rules.operators" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_builder-protocol" self) (getAttr "esrap" self) (getAttr "let-plus" self) (getAttr "parser_dot_common-rules" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parser_dot_ini = (build-asdf-system { - pname = "parser.ini"; - version = "20181018-git"; - asds = [ "parser.ini" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parser.ini/2018-10-18/parser.ini-20181018-git.tgz"; - sha256 = "0ri4c7877i9val67z5sm8nfhz04p9l6brajx2fkavs8556l1wm1d"; - system = "parser.ini"; - asd = "parser.ini"; - }); - systems = [ "parser.ini" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "architecture_dot_builder-protocol" self) (getAttr "esrap" self) (getAttr "let-plus" self) (getAttr "more-conditions" self) (getAttr "parser_dot_common-rules" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - parsnip = (build-asdf-system { - pname = "parsnip"; - version = "20220331-git"; - asds = [ "parsnip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/parsnip/2022-03-31/parsnip-20220331-git.tgz"; - sha256 = "0gl7z8kn37qiz0vab89wawn78iczii7iqw43jy2ls7nw0l5jv13w"; - system = "parsnip"; - asd = "parsnip"; - }); - systems = [ "parsnip" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - patchwork = (build-asdf-system { - pname = "patchwork"; - version = "20220707-git"; - asds = [ "patchwork" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/patchwork/2022-07-07/patchwork-20220707-git.tgz"; - sha256 = "08d08hslcs69509wj56mlklv1cz5lq2rz0sl870zcxyn4j1nnf3f"; - system = "patchwork"; - asd = "patchwork"; - }); - systems = [ "patchwork" ]; - lispLibs = [ (getAttr "binpack" self) (getAttr "mfiano-utils" self) (getAttr "opticl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - path-parse = (build-asdf-system { - pname = "path-parse"; - version = "20160421-git"; - asds = [ "path-parse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/path-parse/2016-04-21/path-parse-20160421-git.tgz"; - sha256 = "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq"; - system = "path-parse"; - asd = "path-parse"; - }); - systems = [ "path-parse" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - path-parse-test = (build-asdf-system { - pname = "path-parse-test"; - version = "20160421-git"; - asds = [ "path-parse-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/path-parse/2016-04-21/path-parse-20160421-git.tgz"; - sha256 = "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq"; - system = "path-parse-test"; - asd = "path-parse-test"; - }); - systems = [ "path-parse-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "path-parse" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - path-string = (build-asdf-system { - pname = "path-string"; - version = "20160825-git"; - asds = [ "path-string" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/path-string/2016-08-25/path-string-20160825-git.tgz"; - sha256 = "0hs36kf4njxafxrngs1m1sh9c7b9wv7sa8n316dq4icx3kf3v6yp"; - system = "path-string"; - asd = "path-string"; - }); - systems = [ "path-string" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - path-string-test = (build-asdf-system { - pname = "path-string-test"; - version = "20160825-git"; - asds = [ "path-string-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/path-string/2016-08-25/path-string-20160825-git.tgz"; - sha256 = "0hs36kf4njxafxrngs1m1sh9c7b9wv7sa8n316dq4icx3kf3v6yp"; - system = "path-string-test"; - asd = "path-string-test"; - }); - systems = [ "path-string-test" ]; - lispLibs = [ (getAttr "path-string" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pathname-utils = (build-asdf-system { - pname = "pathname-utils"; - version = "20241012-git"; - asds = [ "pathname-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pathname-utils/2024-10-12/pathname-utils-20241012-git.tgz"; - sha256 = "1z1z3dar6g2ybxgk9zgcyb8bh5g6rh12bwl3ik6rdwy3rdd5b1q5"; - system = "pathname-utils"; - asd = "pathname-utils"; - }); - systems = [ "pathname-utils" ]; - lispLibs = [ (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pathname-utils-test = (build-asdf-system { - pname = "pathname-utils-test"; - version = "20241012-git"; - asds = [ "pathname-utils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pathname-utils/2024-10-12/pathname-utils-20241012-git.tgz"; - sha256 = "1z1z3dar6g2ybxgk9zgcyb8bh5g6rh12bwl3ik6rdwy3rdd5b1q5"; - system = "pathname-utils-test"; - asd = "pathname-utils-test"; - }); - systems = [ "pathname-utils-test" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "pathname-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - patron = (build-asdf-system { - pname = "patron"; - version = "20130420-git"; - asds = [ "patron" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/patron/2013-04-20/patron-20130420-git.tgz"; - sha256 = "0i2vlwspnssjxdnq7dsrb98q3y8c8drd0a11nxn9808q76sqzsqc"; - system = "patron"; - asd = "patron"; - }); - systems = [ "patron" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcall = (build-asdf-system { - pname = "pcall"; - version = "0.3"; - asds = [ "pcall" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz"; - sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps"; - system = "pcall"; - asd = "pcall"; - }); - systems = [ "pcall" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "pcall-queue" self) ]; - meta = {}; - }); - pcall-queue = (build-asdf-system { - pname = "pcall-queue"; - version = "0.3"; - asds = [ "pcall-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz"; - sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps"; - system = "pcall-queue"; - asd = "pcall-queue"; - }); - systems = [ "pcall-queue" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = {}; - }); - pcall-tests = (build-asdf-system { - pname = "pcall-tests"; - version = "0.3"; - asds = [ "pcall-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz"; - sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps"; - system = "pcall-tests"; - asd = "pcall"; - }); - systems = [ "pcall-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "pcall" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-binary-data = (build-asdf-system { - pname = "pcl-binary-data"; - version = "20180430-git"; - asds = [ "pcl-binary-data" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-binary-data"; - asd = "pcl-binary-data"; - }); - systems = [ "pcl-binary-data" ]; - lispLibs = [ (getAttr "pcl-macro-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-html = (build-asdf-system { - pname = "pcl-html"; - version = "20180430-git"; - asds = [ "pcl-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-html"; - asd = "pcl-html"; - }); - systems = [ "pcl-html" ]; - lispLibs = [ (getAttr "pcl-macro-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-id3v2 = (build-asdf-system { - pname = "pcl-id3v2"; - version = "20180430-git"; - asds = [ "pcl-id3v2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-id3v2"; - asd = "pcl-id3v2"; - }); - systems = [ "pcl-id3v2" ]; - lispLibs = [ (getAttr "pcl-binary-data" self) (getAttr "pcl-pathnames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-macro-utilities = (build-asdf-system { - pname = "pcl-macro-utilities"; - version = "20180430-git"; - asds = [ "pcl-macro-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-macro-utilities"; - asd = "pcl-macro-utilities"; - }); - systems = [ "pcl-macro-utilities" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-mp3-browser = (build-asdf-system { - pname = "pcl-mp3-browser"; - version = "20180430-git"; - asds = [ "pcl-mp3-browser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-mp3-browser"; - asd = "pcl-mp3-browser"; - }); - systems = [ "pcl-mp3-browser" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "pcl-html" self) (getAttr "pcl-id3v2" self) (getAttr "pcl-mp3-database" self) (getAttr "pcl-shoutcast" self) (getAttr "pcl-url-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-mp3-database = (build-asdf-system { - pname = "pcl-mp3-database"; - version = "20180430-git"; - asds = [ "pcl-mp3-database" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-mp3-database"; - asd = "pcl-mp3-database"; - }); - systems = [ "pcl-mp3-database" ]; - lispLibs = [ (getAttr "pcl-id3v2" self) (getAttr "pcl-macro-utilities" self) (getAttr "pcl-pathnames" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-pathnames = (build-asdf-system { - pname = "pcl-pathnames"; - version = "20180430-git"; - asds = [ "pcl-pathnames" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-pathnames"; - asd = "pcl-pathnames"; - }); - systems = [ "pcl-pathnames" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-shoutcast = (build-asdf-system { - pname = "pcl-shoutcast"; - version = "20180430-git"; - asds = [ "pcl-shoutcast" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-shoutcast"; - asd = "pcl-shoutcast"; - }); - systems = [ "pcl-shoutcast" ]; - lispLibs = [ (getAttr "pcl-html" self) (getAttr "pcl-id3v2" self) (getAttr "pcl-macro-utilities" self) (getAttr "pcl-mp3-database" self) (getAttr "pcl-pathnames" self) (getAttr "pcl-url-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-simple-database = (build-asdf-system { - pname = "pcl-simple-database"; - version = "20180430-git"; - asds = [ "pcl-simple-database" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-simple-database"; - asd = "pcl-simple-database"; - }); - systems = [ "pcl-simple-database" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-spam = (build-asdf-system { - pname = "pcl-spam"; - version = "20180430-git"; - asds = [ "pcl-spam" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-spam"; - asd = "pcl-spam"; - }); - systems = [ "pcl-spam" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "pcl-pathnames" self) (getAttr "pcl-test-framework" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-test-framework = (build-asdf-system { - pname = "pcl-test-framework"; - version = "20180430-git"; - asds = [ "pcl-test-framework" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-test-framework"; - asd = "pcl-test-framework"; - }); - systems = [ "pcl-test-framework" ]; - lispLibs = [ (getAttr "pcl-macro-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-unit-test = (build-asdf-system { - pname = "pcl-unit-test"; - version = "20121125-git"; - asds = [ "pcl-unit-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; - sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; - system = "pcl-unit-test"; - asd = "pcl-unit-test"; - }); - systems = [ "pcl-unit-test" ]; - lispLibs = [ (getAttr "standard-cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pcl-url-function = (build-asdf-system { - pname = "pcl-url-function"; - version = "20180430-git"; - asds = [ "pcl-url-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "pcl-url-function"; - asd = "pcl-url-function"; - }); - systems = [ "pcl-url-function" ]; - lispLibs = [ (getAttr "aserve" self) (getAttr "pcl-html" self) (getAttr "pcl-macro-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - peppol = (build-asdf-system { - pname = "peppol"; - version = "20201016-git"; - asds = [ "peppol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-peppol/2020-10-16/cl-peppol-20201016-git.tgz"; - sha256 = "02wc6h1fiaqzf14py2kwsvx0dmb22wdkd54pl0ixnmivj436ln99"; - system = "peppol"; - asd = "peppol"; - }); - systems = [ "peppol" ]; - lispLibs = [ (getAttr "cxml" self) (getAttr "xpath" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - percent-encoding = (build-asdf-system { - pname = "percent-encoding"; - version = "20121013-git"; - asds = [ "percent-encoding" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/percent-encoding/2012-10-13/percent-encoding-20121013-git.tgz"; - sha256 = "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"; - system = "percent-encoding"; - asd = "percent-encoding"; - }); - systems = [ "percent-encoding" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "babel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - percent-encoding-test = (build-asdf-system { - pname = "percent-encoding-test"; - version = "20121013-git"; - asds = [ "percent-encoding-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/percent-encoding/2012-10-13/percent-encoding-20121013-git.tgz"; - sha256 = "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"; - system = "percent-encoding-test"; - asd = "percent-encoding"; - }); - systems = [ "percent-encoding-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "percent-encoding" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - perceptual-hashes = (build-asdf-system { - pname = "perceptual-hashes"; - version = "20220707-git"; - asds = [ "perceptual-hashes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/perceptual-hashes/2022-07-07/perceptual-hashes-20220707-git.tgz"; - sha256 = "1hg2vxi4avmjwscgab7wqf3c4d60x933lac4d86fmfk0wgl5nzzd"; - system = "perceptual-hashes"; - asd = "perceptual-hashes"; - }); - systems = [ "perceptual-hashes" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "array-operations" self) (getAttr "imago" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - periodic-table = (build-asdf-system { - pname = "periodic-table"; - version = "1.0"; - asds = [ "periodic-table" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/periodic-table/2011-10-01/periodic-table-1.0.tgz"; - sha256 = "147j9kn0afsvlz09vdjmvw5si08ix3dyypg21vrc5xvn9nsalrxx"; - system = "periodic-table"; - asd = "periodic-table"; - }); - systems = [ "periodic-table" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - periods = (build-asdf-system { - pname = "periods"; - version = "20221106-git"; - asds = [ "periods" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/periods/2022-11-06/periods-20221106-git.tgz"; - sha256 = "0ynhdmlzb499mlm7c7zy6vgw8vglkkf14zr0v40jcl1sgq3236ry"; - system = "periods"; - asd = "periods"; - }); - systems = [ "periods" ]; - lispLibs = [ (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - periods-series = (build-asdf-system { - pname = "periods-series"; - version = "20221106-git"; - asds = [ "periods-series" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/periods/2022-11-06/periods-20221106-git.tgz"; - sha256 = "0ynhdmlzb499mlm7c7zy6vgw8vglkkf14zr0v40jcl1sgq3236ry"; - system = "periods-series"; - asd = "periods-series"; - }); - systems = [ "periods-series" ]; - lispLibs = [ (getAttr "periods" self) (getAttr "series" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - perlre = (build-asdf-system { - pname = "perlre"; - version = "20200715-git"; - asds = [ "perlre" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/perlre/2020-07-15/perlre-20200715-git.tgz"; - sha256 = "1izhrn1xd0mi2nl0p6930ln3nb4wp3y5ngg81wy5g5s4vqy2h54a"; - system = "perlre"; - asd = "perlre"; - }); - systems = [ "perlre" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "let-over-lambda" self) (getAttr "prove" self) (getAttr "trivia" self) (getAttr "trivia_dot_ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pero = (build-asdf-system { - pname = "pero"; - version = "20230214-git"; - asds = [ "pero" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pero/2023-02-14/pero-20230214-git.tgz"; - sha256 = "1q513lvnq4m8l332glriid0vxcdcnakcdag3lck1wmrfaxhdpnmc"; - system = "pero"; - asd = "pero"; - }); - systems = [ "pero" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - persistent = (build-asdf-system { - pname = "persistent"; - version = "20241012-git"; - asds = [ "persistent" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "persistent"; - asd = "persistent"; - }); - systems = [ "persistent" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - persistent-tables = (build-asdf-system { - pname = "persistent-tables"; - version = "20120208-git"; - asds = [ "persistent-tables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/persistent-tables/2012-02-08/persistent-tables-20120208-git.tgz"; - sha256 = "0klfjza85mgj2z42x2lhcqy9q66avac7zw0cpbmwwng3m7679hpa"; - system = "persistent-tables"; - asd = "persistent-tables"; - }); - systems = [ "persistent-tables" ]; - lispLibs = [ (getAttr "lisp-unit" self) (getAttr "random-access-lists" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - persistent-variables = (build-asdf-system { - pname = "persistent-variables"; - version = "20130312-git"; - asds = [ "persistent-variables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/persistent-variables/2013-03-12/persistent-variables-20130312-git.tgz"; - sha256 = "0r72cbjkb5q4sn109svlcsvrwgvwdsn5c63rv5cpaf3jrfv1z8xn"; - system = "persistent-variables"; - asd = "persistent-variables"; - }); - systems = [ "persistent-variables" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - persistent-variables_dot_test = (build-asdf-system { - pname = "persistent-variables.test"; - version = "20130312-git"; - asds = [ "persistent-variables.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/persistent-variables/2013-03-12/persistent-variables-20130312-git.tgz"; - sha256 = "0r72cbjkb5q4sn109svlcsvrwgvwdsn5c63rv5cpaf3jrfv1z8xn"; - system = "persistent-variables.test"; - asd = "persistent-variables"; - }); - systems = [ "persistent-variables.test" ]; - lispLibs = [ (getAttr "persistent-variables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp = (build-asdf-system { - pname = "petalisp"; - version = "20241012-git"; - asds = [ "petalisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp"; - asd = "petalisp"; - }); - systems = [ "petalisp" ]; - lispLibs = [ (getAttr "petalisp_dot_api" self) (getAttr "petalisp_dot_test-suite" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_api = (build-asdf-system { - pname = "petalisp.api"; - version = "20241012-git"; - asds = [ "petalisp.api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.api"; - asd = "petalisp.api"; - }); - systems = [ "petalisp.api" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "petalisp_dot_codegen" self) (getAttr "petalisp_dot_core" self) (getAttr "petalisp_dot_ir" self) (getAttr "petalisp_dot_native-backend" self) (getAttr "petalisp_dot_packages" self) (getAttr "petalisp_dot_utilities" self) (getAttr "split-sequence" self) (getAttr "trivia" self) (getAttr "trivial-macroexpand-all" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_codegen = (build-asdf-system { - pname = "petalisp.codegen"; - version = "20241012-git"; - asds = [ "petalisp.codegen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.codegen"; - asd = "petalisp.codegen"; - }); - systems = [ "petalisp.codegen" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "petalisp_dot_core" self) (getAttr "petalisp_dot_ir" self) (getAttr "petalisp_dot_utilities" self) (getAttr "trivia" self) (getAttr "trivial-macroexpand-all" self) (getAttr "ucons" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_core = (build-asdf-system { - pname = "petalisp.core"; - version = "20241012-git"; - asds = [ "petalisp.core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.core"; - asd = "petalisp.core"; - }); - systems = [ "petalisp.core" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "lparallel" self) (getAttr "petalisp_dot_packages" self) (getAttr "petalisp_dot_utilities" self) (getAttr "trivia" self) (getAttr "typo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_examples = (build-asdf-system { - pname = "petalisp.examples"; - version = "20241012-git"; - asds = [ "petalisp.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.examples"; - asd = "petalisp.examples"; - }); - systems = [ "petalisp.examples" ]; - lispLibs = [ (getAttr "numpy-file-format" self) (getAttr "petalisp_dot_api" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_ir = (build-asdf-system { - pname = "petalisp.ir"; - version = "20241012-git"; - asds = [ "petalisp.ir" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.ir"; - asd = "petalisp.ir"; - }); - systems = [ "petalisp.ir" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "petalisp_dot_core" self) (getAttr "petalisp_dot_utilities" self) (getAttr "priority-queue" self) (getAttr "split-sequence" self) (getAttr "ucons" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_native-backend = (build-asdf-system { - pname = "petalisp.native-backend"; - version = "20241012-git"; - asds = [ "petalisp.native-backend" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.native-backend"; - asd = "petalisp.native-backend"; - }); - systems = [ "petalisp.native-backend" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "lparallel" self) (getAttr "petalisp_dot_codegen" self) (getAttr "petalisp_dot_core" self) (getAttr "petalisp_dot_ir" self) (getAttr "petalisp_dot_utilities" self) (getAttr "static-vectors" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) (getAttr "typo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_packages = (build-asdf-system { - pname = "petalisp.packages"; - version = "20241012-git"; - asds = [ "petalisp.packages" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.packages"; - asd = "petalisp.packages"; - }); - systems = [ "petalisp.packages" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_test-suite = (build-asdf-system { - pname = "petalisp.test-suite"; - version = "20241012-git"; - asds = [ "petalisp.test-suite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.test-suite"; - asd = "petalisp.test-suite"; - }); - systems = [ "petalisp.test-suite" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "petalisp_dot_api" self) (getAttr "petalisp_dot_examples" self) (getAttr "petalisp_dot_native-backend" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petalisp_dot_utilities = (build-asdf-system { - pname = "petalisp.utilities"; - version = "20241012-git"; - asds = [ "petalisp.utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; - sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; - system = "petalisp.utilities"; - asd = "petalisp.utilities"; - }); - systems = [ "petalisp.utilities" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "queues_dot_priority-queue" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petit_dot_package-utils = (build-asdf-system { - pname = "petit.package-utils"; - version = "20140826-git"; - asds = [ "petit.package-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petit.package-utils/2014-08-26/petit.package-utils-20140826-git.tgz"; - sha256 = "0jj4c1jpcqfy9mrlxhjmq4ypwlzk84h09i8nr34wjwh6z7idhpyv"; - system = "petit.package-utils"; - asd = "petit.package-utils"; - }); - systems = [ "petit.package-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petit_dot_string-utils = (build-asdf-system { - pname = "petit.string-utils"; - version = "20141106-git"; - asds = [ "petit.string-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petit.string-utils/2014-11-06/petit.string-utils-20141106-git.tgz"; - sha256 = "04kqdj69x53wzvpp54zp6767186in24p8yrr82wdg2bwzw4qh4yl"; - system = "petit.string-utils"; - asd = "petit.string-utils"; - }); - systems = [ "petit.string-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petit_dot_string-utils-test = (build-asdf-system { - pname = "petit.string-utils-test"; - version = "20141106-git"; - asds = [ "petit.string-utils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petit.string-utils/2014-11-06/petit.string-utils-20141106-git.tgz"; - sha256 = "04kqdj69x53wzvpp54zp6767186in24p8yrr82wdg2bwzw4qh4yl"; - system = "petit.string-utils-test"; - asd = "petit.string-utils-test"; - }); - systems = [ "petit.string-utils-test" ]; - lispLibs = [ (getAttr "petit_dot_string-utils" self) (getAttr "rt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - petri = (build-asdf-system { - pname = "petri"; - version = "20200427-git"; - asds = [ "petri" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/petri/2020-04-27/petri-20200427-git.tgz"; - sha256 = "1y78s3jndyxll46zq7s5is9pwv8f6jr2npjkcpd48ik7xkj2269b"; - system = "petri"; - asd = "petri"; - }); - systems = [ "petri" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "phoe-toolbox" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pettomato-deque = (build-asdf-system { - pname = "pettomato-deque"; - version = "20120107-git"; - asds = [ "pettomato-deque" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pettomato-deque/2012-01-07/pettomato-deque-20120107-git.tgz"; - sha256 = "07ai4fa64cg6shfvnx9xk7pscbsz64ys80482zz2fb9q0rba80b7"; - system = "pettomato-deque"; - asd = "pettomato-deque"; - }); - systems = [ "pettomato-deque" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pettomato-deque-tests = (build-asdf-system { - pname = "pettomato-deque-tests"; - version = "20120107-git"; - asds = [ "pettomato-deque-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pettomato-deque/2012-01-07/pettomato-deque-20120107-git.tgz"; - sha256 = "07ai4fa64cg6shfvnx9xk7pscbsz64ys80482zz2fb9q0rba80b7"; - system = "pettomato-deque-tests"; - asd = "pettomato-deque-tests"; - }); - systems = [ "pettomato-deque-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "pettomato-deque" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pettomato-indexed-priority-queue = (build-asdf-system { - pname = "pettomato-indexed-priority-queue"; - version = "20120909-git"; - asds = [ "pettomato-indexed-priority-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pettomato-indexed-priority-queue/2012-09-09/pettomato-indexed-priority-queue-20120909-git.tgz"; - sha256 = "14i36qbdnif28xcbxdbr5abzmzxr7vzv64n1aix0f6khxg99pylz"; - system = "pettomato-indexed-priority-queue"; - asd = "pettomato-indexed-priority-queue"; - }); - systems = [ "pettomato-indexed-priority-queue" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pettomato-indexed-priority-queue-tests = (build-asdf-system { - pname = "pettomato-indexed-priority-queue-tests"; - version = "20120909-git"; - asds = [ "pettomato-indexed-priority-queue-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pettomato-indexed-priority-queue/2012-09-09/pettomato-indexed-priority-queue-20120909-git.tgz"; - sha256 = "14i36qbdnif28xcbxdbr5abzmzxr7vzv64n1aix0f6khxg99pylz"; - system = "pettomato-indexed-priority-queue-tests"; - asd = "pettomato-indexed-priority-queue-tests"; - }); - systems = [ "pettomato-indexed-priority-queue-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "pettomato-indexed-priority-queue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pfft = (build-asdf-system { - pname = "pfft"; - version = "20180711-git"; - asds = [ "pfft" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/fft/2018-07-11/fft-20180711-git.tgz"; - sha256 = "0ymnfplap2cncw49mhq7crapgxphfwsvqdgrcckpgsvw6qsymasd"; - system = "pfft"; - asd = "pfft"; - }); - systems = [ "pfft" ]; - lispLibs = [ (getAttr "fft" self) (getAttr "pcall" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pg = (build-asdf-system { - pname = "pg"; - version = "20150608-git"; - asds = [ "pg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pg/2015-06-08/pg-20150608-git.tgz"; - sha256 = "1c7axd2yxw9lxf7l5djrnfkp197mmr88qpigy2cjgim8vxab4n2l"; - system = "pg"; - asd = "pg"; - }); - systems = [ "pg" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pgloader = (build-asdf-system { - pname = "pgloader"; - version = "v3.6.9"; - asds = [ "pgloader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pgloader/2022-11-06/pgloader-v3.6.9.tgz"; - sha256 = "03kp3ms2sjz4gwb94xs404mi63fnv1bq00hyqxyvc9csmicxzawn"; - system = "pgloader"; - asd = "pgloader"; - }); - systems = [ "pgloader" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-base64" self) (getAttr "cl-csv" self) (getAttr "cl-fad" self) (getAttr "cl-log" self) (getAttr "cl-markdown" self) (getAttr "cl-mustache" self) (getAttr "cl-postgres" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "command-line-arguments" self) (getAttr "db3" self) (getAttr "drakma" self) (getAttr "esrap" self) (getAttr "flexi-streams" self) (getAttr "ixf" self) (getAttr "local-time" self) (getAttr "lparallel" self) (getAttr "metabang-bind" self) (getAttr "mssql" self) (getAttr "postmodern" self) (getAttr "py-configparser" self) (getAttr "qmynd" self) (getAttr "quri" self) (getAttr "simple-date" self) (getAttr "split-sequence" self) (getAttr "sqlite" self) (getAttr "trivial-backtrace" self) (getAttr "usocket" self) (getAttr "uuid" self) (getAttr "yason" self) (getAttr "zs3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - phoe-toolbox = (build-asdf-system { - pname = "phoe-toolbox"; - version = "20210124-git"; - asds = [ "phoe-toolbox" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/phoe-toolbox/2021-01-24/phoe-toolbox-20210124-git.tgz"; - sha256 = "0bzbgs4lkhw93y1cwrs9kp5yiyz8sg4885cnvi83dzzbla9b74kv"; - system = "phoe-toolbox"; - asd = "phoe-toolbox"; - }); - systems = [ "phoe-toolbox" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - phonon = (build-asdf-system { - pname = "phonon"; - version = "20210531-git"; - asds = [ "phonon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "phonon"; - asd = "phonon"; - }); - systems = [ "phonon" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtdbus" self) (getAttr "qtgui" self) (getAttr "qtxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - phos = (build-asdf-system { - pname = "phos"; - version = "20241012-git"; - asds = [ "phos" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/phos/2024-10-12/phos-20241012-git.tgz"; - sha256 = "0lnv54iczidjpskciw7y2faazgxjwpncggdh5kggpjziq03pr7lv"; - system = "phos"; - asd = "phos"; - }); - systems = [ "phos" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "cl-ppcre" self) (getAttr "quri" self) (getAttr "trivia" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - physical-dimension = (build-asdf-system { - pname = "physical-dimension"; - version = "master-df14cb8c-git"; - asds = [ "physical-dimension" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; - sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; - system = "physical-dimension"; - asd = "physical-dimension"; - }); - systems = [ "physical-dimension" ]; - lispLibs = [ (getAttr "fare-utils" self) (getAttr "foreign-array" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - physical-quantities = (build-asdf-system { - pname = "physical-quantities"; - version = "20211020-git"; - asds = [ "physical-quantities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/physical-quantities/2021-10-20/physical-quantities-20211020-git.tgz"; - sha256 = "0mb2s94s6fhw5vfa89naalw7ld11sdsszlqpz0c65dvpfyfmmdmh"; - system = "physical-quantities"; - asd = "physical-quantities"; - }); - systems = [ "physical-quantities" ]; - lispLibs = [ (getAttr "parseq" self) ]; - meta = {}; - }); - picl = (build-asdf-system { - pname = "picl"; - version = "20241012-git"; - asds = [ "picl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/picl/2024-10-12/picl-20241012-git.tgz"; - sha256 = "0pdzlmphf1bqk5xdvwf1m1l3s5whwm4ysnpl5kpwq70adx38rysk"; - system = "picl"; - asd = "picl"; - }); - systems = [ "picl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "defclass-std" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - piggyback-parameters = (build-asdf-system { - pname = "piggyback-parameters"; - version = "20200610-git"; - asds = [ "piggyback-parameters" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/piggyback-parameters/2020-06-10/piggyback-parameters-20200610-git.tgz"; - sha256 = "1187bgnz9pvs8xdxapqhrm4yqzwlp368ijmc5szm8r8q3zrb219n"; - system = "piggyback-parameters"; - asd = "piggyback-parameters"; - }); - systems = [ "piggyback-parameters" ]; - lispLibs = [ (getAttr "trivial-hashtable-serialize" self) (getAttr "trivial-json-codec" self) (getAttr "trivial-pooled-database" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pileup = (build-asdf-system { - pname = "pileup"; - version = "20150709-git"; - asds = [ "pileup" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pileup/2015-07-09/pileup-20150709-git.tgz"; - sha256 = "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb"; - system = "pileup"; - asd = "pileup"; - }); - systems = [ "pileup" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pileup-tests = (build-asdf-system { - pname = "pileup-tests"; - version = "20150709-git"; - asds = [ "pileup-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pileup/2015-07-09/pileup-20150709-git.tgz"; - sha256 = "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb"; - system = "pileup-tests"; - asd = "pileup"; - }); - systems = [ "pileup-tests" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "pileup" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pipes = (build-asdf-system { - pname = "pipes"; - version = "20150923-git"; - asds = [ "pipes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pipes/2015-09-23/pipes-20150923-git.tgz"; - sha256 = "17qcxalbdip20nkbwiv3kpdjjsy0g1y9s4a0zv38ch47bdl9yxpc"; - system = "pipes"; - asd = "pipes"; - }); - systems = [ "pipes" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - piping = (build-asdf-system { - pname = "piping"; - version = "20231021-git"; - asds = [ "piping" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/piping/2023-10-21/piping-20231021-git.tgz"; - sha256 = "0g0k6w7xa0xyzlr3j5j85b91kazbba4rxwplmqcb5ns3shk8745g"; - system = "piping"; - asd = "piping"; - }); - systems = [ "piping" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pithy-xml = (build-asdf-system { - pname = "pithy-xml"; - version = "20101006-git"; - asds = [ "pithy-xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pithy-xml/2010-10-06/pithy-xml-20101006-git.tgz"; - sha256 = "05zw5adiw7jgvi9w9c661s4r49fidpcxn6m7azmn0pzc936dg17h"; - system = "pithy-xml"; - asd = "pithy-xml"; - }); - systems = [ "pithy-xml" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pixman = (build-asdf-system { - pname = "pixman"; - version = "20170830-git"; - asds = [ "pixman" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-pixman/2017-08-30/cl-pixman-20170830-git.tgz"; - sha256 = "068hh7cv6f2wqwd8092wqh3rgdix6sa319qpm648mss8jfnjjbgj"; - system = "pixman"; - asd = "pixman"; - }); - systems = [ "pixman" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pjlink = (build-asdf-system { - pname = "pjlink"; - version = "20220331-git"; - asds = [ "pjlink" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pjlink/2022-03-31/pjlink-20220331-git.tgz"; - sha256 = "1rsmg0x7fd32na36x9ahj6vji3xs6ckg5pyng8nf33fmdj8dscbc"; - system = "pjlink"; - asd = "pjlink"; - }); - systems = [ "pjlink" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "ip-interfaces" self) (getAttr "md5" self) (getAttr "split-sequence" self) (getAttr "trivial-garbage" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pk-serialize = (build-asdf-system { - pname = "pk-serialize"; - version = "20221106-git"; - asds = [ "pk-serialize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pk-serialize/2022-11-06/pk-serialize-20221106-git.tgz"; - sha256 = "1fi9xxdlg2z9dnqb2sc7wg37aqzqjz43h2l1wxa5zvk73qqzapyn"; - system = "pk-serialize"; - asd = "pk-serialize"; - }); - systems = [ "pk-serialize" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pkg-doc = (build-asdf-system { - pname = "pkg-doc"; - version = "20200925-git"; - asds = [ "pkg-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pkg-doc/2020-09-25/pkg-doc-20200925-git.tgz"; - sha256 = "1y4dcc0q3iizgvavnkl8q4bjxq0dngvqw5dhrf9bxf4d3q3vrbd4"; - system = "pkg-doc"; - asd = "pkg-doc"; - }); - systems = [ "pkg-doc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "clim-widgets" self) (getAttr "manifest" self) (getAttr "nsort" self) (getAttr "repl-utilities" self) (getAttr "stdutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - place-modifiers = (build-asdf-system { - pname = "place-modifiers"; - version = "2.1"; - asds = [ "place-modifiers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/place-modifiers/2012-11-25/place-modifiers-2.1.tgz"; - sha256 = "13nd911h6i7gks78l30bzdqzygcqh47946jwaf50ak2iraagknvf"; - system = "place-modifiers"; - asd = "place-modifiers"; - }); - systems = [ "place-modifiers" ]; - lispLibs = [ (getAttr "cartesian-product-switch" self) (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - place-utils = (build-asdf-system { - pname = "place-utils"; - version = "0.2"; - asds = [ "place-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/place-utils/2018-10-18/place-utils-0.2.tgz"; - sha256 = "1riaxxafn2xbyy6776yqns1bhz5jnzzpd177wb5xzvwlxiix6yf9"; - system = "place-utils"; - asd = "place-utils"; - }); - systems = [ "place-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - planks = (build-asdf-system { - pname = "planks"; - version = "20110522-git"; - asds = [ "planks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/planks/2011-05-22/planks-20110522-git.tgz"; - sha256 = "1y7cg9xb75j1yslbxsmw0fyg738f4d28lnlm7w7hzgc51fc7875k"; - system = "planks"; - asd = "planks"; - }); - systems = [ "planks" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "ironclad" self) (getAttr "rucksack" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plokami = (build-asdf-system { - pname = "plokami"; - version = "20200218-git"; - asds = [ "plokami" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plokami/2020-02-18/plokami-20200218-git.tgz"; - sha256 = "1k78lpbaqqa2gnwi9k0y646md4s9xnijm774knl11p05r83w5ycb"; - system = "plokami"; - asd = "plokami"; - }); - systems = [ "plokami" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plot = (build-asdf-system { - pname = "plot"; - version = "20241012-git"; - asds = [ "plot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plot/2024-10-12/plot-20241012-git.tgz"; - sha256 = "1x5kc5y0s082y24qgq138331qmfs0xxxj43ss3aw0kgx7wfpxlms"; - system = "plot"; - asd = "plot"; - }); - systems = [ "plot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "cl-ppcre" self) (getAttr "data-frame" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plplot-examples = (build-asdf-system { - pname = "plplot-examples"; - version = "20180228-git"; - asds = [ "plplot-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-plplot/2018-02-28/cl-plplot-20180228-git.tgz"; - sha256 = "0hfgq47ga2r764jfc3ywaz5ynnvp701fjhbw0s4j1mrw4gaf6y6w"; - system = "plplot-examples"; - asd = "cl-plplot"; - }); - systems = [ "plplot-examples" ]; - lispLibs = [ (getAttr "cl-plplot" self) (getAttr "png" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pludeck = (build-asdf-system { - pname = "pludeck"; - version = "20180831-git"; - asds = [ "pludeck" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pludeck/2018-08-31/pludeck-20180831-git.tgz"; - sha256 = "0p6v7fxs48fxr76kvkh6z2mjjyz3vf2rp698jq1fl6p3hihbgl0m"; - system = "pludeck"; - asd = "pludeck"; - }); - systems = [ "pludeck" ]; - lispLibs = [ (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump = (build-asdf-system { - pname = "plump"; - version = "20241012-git"; - asds = [ "plump" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; - sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; - system = "plump"; - asd = "plump"; - }); - systems = [ "plump" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "documentation-utils" self) ]; - meta = {}; - }); - plump-bundle = (build-asdf-system { - pname = "plump-bundle"; - version = "20231021-git"; - asds = [ "plump-bundle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump-bundle/2023-10-21/plump-bundle-20231021-git.tgz"; - sha256 = "0qknmdryyynjk5g0zda2788p4j0s6w4fj27kdca22z0n8r8yfhhk"; - system = "plump-bundle"; - asd = "plump-bundle"; - }); - systems = [ "plump-bundle" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "closer-mop" self) (getAttr "fast-io" self) (getAttr "plump-dom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump-dom = (build-asdf-system { - pname = "plump-dom"; - version = "20241012-git"; - asds = [ "plump-dom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; - sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; - system = "plump-dom"; - asd = "plump-dom"; - }); - systems = [ "plump-dom" ]; - lispLibs = [ (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump-lexer = (build-asdf-system { - pname = "plump-lexer"; - version = "20241012-git"; - asds = [ "plump-lexer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; - sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; - system = "plump-lexer"; - asd = "plump-lexer"; - }); - systems = [ "plump-lexer" ]; - lispLibs = [ (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump-parser = (build-asdf-system { - pname = "plump-parser"; - version = "20241012-git"; - asds = [ "plump-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; - sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; - system = "plump-parser"; - asd = "plump-parser"; - }); - systems = [ "plump-parser" ]; - lispLibs = [ (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump-sexp = (build-asdf-system { - pname = "plump-sexp"; - version = "20241012-git"; - asds = [ "plump-sexp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump-sexp/2024-10-12/plump-sexp-20241012-git.tgz"; - sha256 = "19gihmsbwv42zwyc4rd1pcvj5yzf1vnhpci7r5kz1dnrmz9gzy3l"; - system = "plump-sexp"; - asd = "plump-sexp"; - }); - systems = [ "plump-sexp" ]; - lispLibs = [ (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump-tex = (build-asdf-system { - pname = "plump-tex"; - version = "20231021-git"; - asds = [ "plump-tex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump-tex/2023-10-21/plump-tex-20231021-git.tgz"; - sha256 = "1k0cmk5sbn042bx7nxiw0rvsjmgmj221zim1hg23r0485jbx0r3h"; - system = "plump-tex"; - asd = "plump-tex"; - }); - systems = [ "plump-tex" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - plump-tex-test = (build-asdf-system { - pname = "plump-tex-test"; - version = "20231021-git"; - asds = [ "plump-tex-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plump-tex/2023-10-21/plump-tex-20231021-git.tgz"; - sha256 = "1k0cmk5sbn042bx7nxiw0rvsjmgmj221zim1hg23r0485jbx0r3h"; - system = "plump-tex-test"; - asd = "plump-tex-test"; - }); - systems = [ "plump-tex-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "plump-tex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - png = (build-asdf-system { - pname = "png"; - version = "20211020-git"; - asds = [ "png" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; - sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; - system = "png"; - asd = "png"; - }); - systems = [ "png" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - png-read = (build-asdf-system { - pname = "png-read"; - version = "20170830-git"; - asds = [ "png-read" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/png-read/2017-08-30/png-read-20170830-git.tgz"; - sha256 = "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"; - system = "png-read"; - asd = "png-read"; - }); - systems = [ "png-read" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "chipz" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - png-test = (build-asdf-system { - pname = "png-test"; - version = "20211020-git"; - asds = [ "png-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; - sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; - system = "png-test"; - asd = "png-test"; - }); - systems = [ "png-test" ]; - lispLibs = [ (getAttr "png" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pngload = (build-asdf-system { - pname = "pngload"; - version = "20241012-git"; - asds = [ "pngload" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pngload/2024-10-12/pngload-20241012-git.tgz"; - sha256 = "1j5j8n8xa8hgc413lfxij3wmkwyal13p0a5q6n74zzr61f1kn6vc"; - system = "pngload"; - asd = "pngload"; - }); - systems = [ "pngload" ]; - lispLibs = [ (getAttr "_3bz" self) (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "mmap" self) (getAttr "parse-float" self) (getAttr "static-vectors" self) (getAttr "swap-bytes" self) (getAttr "zpb-exif" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pngload_dot_test = (build-asdf-system { - pname = "pngload.test"; - version = "20241012-git"; - asds = [ "pngload.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pngload/2024-10-12/pngload-20241012-git.tgz"; - sha256 = "1j5j8n8xa8hgc413lfxij3wmkwyal13p0a5q6n74zzr61f1kn6vc"; - system = "pngload.test"; - asd = "pngload.test"; - }); - systems = [ "pngload.test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "local-time" self) (getAttr "opticl" self) (getAttr "png-read" self) (getAttr "pngload" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - poler = (build-asdf-system { - pname = "poler"; - version = "20181210-git"; - asds = [ "poler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/poler/2018-12-10/poler-20181210-git.tgz"; - sha256 = "1lcyjxmz5vm5is1kgxqjvpkllywvbsj6wqx5v2ac0py5vqws1l8z"; - system = "poler"; - asd = "poler"; - }); - systems = [ "poler" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - poler-test = (build-asdf-system { - pname = "poler-test"; - version = "20181210-git"; - asds = [ "poler-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/poler/2018-12-10/poler-20181210-git.tgz"; - sha256 = "1lcyjxmz5vm5is1kgxqjvpkllywvbsj6wqx5v2ac0py5vqws1l8z"; - system = "poler-test"; - asd = "poler-test"; - }); - systems = [ "poler-test" ]; - lispLibs = [ (getAttr "poler" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - policy-cond = (build-asdf-system { - pname = "policy-cond"; - version = "20241012-git"; - asds = [ "policy-cond" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/policy-cond/2024-10-12/policy-cond-20241012-git.tgz"; - sha256 = "17gm4alfb8nf85963ckahipx61xfffj0ra2cnn6yra32krzj7gnk"; - system = "policy-cond"; - asd = "policy-cond"; - }); - systems = [ "policy-cond" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - polisher = (build-asdf-system { - pname = "polisher"; - version = "20211230-git"; - asds = [ "polisher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/polisher/2021-12-30/polisher-20211230-git.tgz"; - sha256 = "1i63kgk4vfisiyrfqdz0wc8ldvfh9jpkivsasgdhc97cad095ln0"; - system = "polisher"; - asd = "polisher"; - }); - systems = [ "polisher" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - polisher_dot_test = (build-asdf-system { - pname = "polisher.test"; - version = "20211230-git"; - asds = [ "polisher.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/polisher/2021-12-30/polisher-20211230-git.tgz"; - sha256 = "1i63kgk4vfisiyrfqdz0wc8ldvfh9jpkivsasgdhc97cad095ln0"; - system = "polisher.test"; - asd = "polisher.test"; - }); - systems = [ "polisher.test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "polisher" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - polymorphic-functions-lite = (build-asdf-system { - pname = "polymorphic-functions-lite"; - version = "20241012-git"; - asds = [ "polymorphic-functions-lite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/polymorphic-functions/2024-10-12/polymorphic-functions-20241012-git.tgz"; - sha256 = "1bawhbj5rh1q6qrcjnx48n78841mgri5n63pmicxxyhif2il0zq3"; - system = "polymorphic-functions-lite"; - asd = "polymorphic-functions-lite"; - }); - systems = [ "polymorphic-functions-lite" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam" self) (getAttr "introspect-environment" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pooler = (build-asdf-system { - pname = "pooler"; - version = "20150608-git"; - asds = [ "pooler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pooler/2015-06-08/pooler-20150608-git.tgz"; - sha256 = "18vdl06cckk07m7r477qzcz24j3sid1agfa69fp91jna5aqi46kb"; - system = "pooler"; - asd = "pooler"; - }); - systems = [ "pooler" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - portable-condition-system = (build-asdf-system { - pname = "portable-condition-system"; - version = "20210807-git"; - asds = [ "portable-condition-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz"; - sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h"; - system = "portable-condition-system"; - asd = "portable-condition-system"; - }); - systems = [ "portable-condition-system" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - portable-condition-system_dot_integration = (build-asdf-system { - pname = "portable-condition-system.integration"; - version = "20210807-git"; - asds = [ "portable-condition-system.integration" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz"; - sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h"; - system = "portable-condition-system.integration"; - asd = "portable-condition-system.integration"; - }); - systems = [ "portable-condition-system.integration" ]; - lispLibs = [ (getAttr "portable-condition-system" self) (getAttr "trivial-custom-debugger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - portable-threads = (build-asdf-system { - pname = "portable-threads"; - version = "20210531-git"; - asds = [ "portable-threads" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portable-threads/2021-05-31/portable-threads-20210531-git.tgz"; - sha256 = "05y00mlvwlfas4jj50qas2v2rxa0hyc9834lpnbh61a3g8sz0d1f"; - system = "portable-threads"; - asd = "portable-threads"; - }); - systems = [ "portable-threads" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - portal = (build-asdf-system { - pname = "portal"; - version = "20211209-git"; - asds = [ "portal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portal/2021-12-09/portal-20211209-git.tgz"; - sha256 = "1012jc068qdd8df6mmbn8vmmqlniqm5j2jbyrraw3yz8c13c8280"; - system = "portal"; - asd = "portal"; - }); - systems = [ "portal" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arrows" self) (getAttr "cl-base64" self) (getAttr "flexi-streams" self) (getAttr "global-vars" self) (getAttr "ironclad" self) (getAttr "parse-float" self) (getAttr "str" self) (getAttr "usocket-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - portmanteau = (build-asdf-system { - pname = "portmanteau"; - version = "20181018-git"; - asds = [ "portmanteau" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-portmanteau/2018-10-18/cl-portmanteau-20181018-git.tgz"; - sha256 = "0430yixy722zkiljc6kh68hx2pyf2pbylgyp7n4qnnky86c0z0ip"; - system = "portmanteau"; - asd = "portmanteau"; - }); - systems = [ "portmanteau" ]; - lispLibs = [ (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - portmanteau-tests = (build-asdf-system { - pname = "portmanteau-tests"; - version = "20181018-git"; - asds = [ "portmanteau-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-portmanteau/2018-10-18/cl-portmanteau-20181018-git.tgz"; - sha256 = "0430yixy722zkiljc6kh68hx2pyf2pbylgyp7n4qnnky86c0z0ip"; - system = "portmanteau-tests"; - asd = "portmanteau-tests"; - }); - systems = [ "portmanteau-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "portmanteau" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - positional-lambda = (build-asdf-system { - pname = "positional-lambda"; - version = "2.0"; - asds = [ "positional-lambda" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/positional-lambda/2012-10-13/positional-lambda-2.0.tgz"; - sha256 = "00jbr42czv7piza5sm5hmmls7xnhq1pnzl09j6c28xrknr61cj8r"; - system = "positional-lambda"; - asd = "positional-lambda"; - }); - systems = [ "positional-lambda" ]; - lispLibs = [ (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - posix-shm = (build-asdf-system { - pname = "posix-shm"; - version = "20231021-git"; - asds = [ "posix-shm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/posix-shm/2023-10-21/posix-shm-20231021-git.tgz"; - sha256 = "0ah7xh7dxvdk58slic60gx7k56idjw5x30q5ifg90hxfhd32qz6l"; - system = "posix-shm"; - asd = "posix-shm"; - }); - systems = [ "posix-shm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - postmodern = (build-asdf-system { - pname = "postmodern"; - version = "20241012-git"; - asds = [ "postmodern" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; - sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; - system = "postmodern"; - asd = "postmodern"; - }); - systems = [ "postmodern" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-postgres" self) (getAttr "closer-mop" self) (getAttr "global-vars" self) (getAttr "s-sql" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - postmodernity = (build-asdf-system { - pname = "postmodernity"; - version = "20170124-git"; - asds = [ "postmodernity" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/postmodernity/2017-01-24/postmodernity-20170124-git.tgz"; - sha256 = "06mwlp79dgzsgfhgbhvqk4691nm52v3lqm99y72dm7pm4gmc2m9m"; - system = "postmodernity"; - asd = "postmodernity"; - }); - systems = [ "postmodernity" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "postmodern" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - postoffice = (build-asdf-system { - pname = "postoffice"; - version = "20120909-git"; - asds = [ "postoffice" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/postoffice/2012-09-09/postoffice-20120909-git.tgz"; - sha256 = "041k8nc969xyjdmbn6348pra3v5jb1sw4mrnxmamv0flngyv12fg"; - system = "postoffice"; - asd = "postoffice"; - }); - systems = [ "postoffice" ]; - lispLibs = [ (getAttr "acl-compat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pounds = (build-asdf-system { - pname = "pounds"; - version = "20160208-git"; - asds = [ "pounds" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pounds/2016-02-08/pounds-20160208-git.tgz"; - sha256 = "17hz0ywzfirmlwkrd9zrbl07ihhm03zhzqrz3rkmh1j9v95sy2kl"; - system = "pounds"; - asd = "pounds"; - }); - systems = [ "pounds" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "nibbles" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pp-toml = (build-asdf-system { - pname = "pp-toml"; - version = "20221106-git"; - asds = [ "pp-toml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pp-toml/2022-11-06/pp-toml-20221106-git.tgz"; - sha256 = "136d7jzz7l2ck9wwld0ac46jmpm94lvja6m50sy73s232slka2hg"; - system = "pp-toml"; - asd = "pp-toml"; - }); - systems = [ "pp-toml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "esrap" self) (getAttr "generic-comparability" self) (getAttr "local-time" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pp-toml-tests = (build-asdf-system { - pname = "pp-toml-tests"; - version = "20221106-git"; - asds = [ "pp-toml-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pp-toml/2022-11-06/pp-toml-20221106-git.tgz"; - sha256 = "136d7jzz7l2ck9wwld0ac46jmpm94lvja6m50sy73s232slka2hg"; - system = "pp-toml-tests"; - asd = "pp-toml-tests"; - }); - systems = [ "pp-toml-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "esrap" self) (getAttr "fiveam" self) (getAttr "generic-comparability" self) (getAttr "local-time" self) (getAttr "parse-number" self) (getAttr "pp-toml" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ppath = (build-asdf-system { - pname = "ppath"; - version = "20241012-git"; - asds = [ "ppath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ppath/2024-10-12/ppath-20241012-git.tgz"; - sha256 = "122h2xlr9435gjim567cyry13ylbsixziy5bi1n4lzpfjnkq68qg"; - system = "ppath"; - asd = "ppath"; - }); - systems = [ "ppath" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "osicat" self) (getAttr "split-sequence" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ppath-test = (build-asdf-system { - pname = "ppath-test"; - version = "20241012-git"; - asds = [ "ppath-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ppath/2024-10-12/ppath-20241012-git.tgz"; - sha256 = "122h2xlr9435gjim567cyry13ylbsixziy5bi1n4lzpfjnkq68qg"; - system = "ppath-test"; - asd = "ppath-test"; - }); - systems = [ "ppath-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fad" self) (getAttr "ppath" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - practical-cl = (build-asdf-system { - pname = "practical-cl"; - version = "20180430-git"; - asds = [ "practical-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; - sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; - system = "practical-cl"; - asd = "practical-cl"; - }); - systems = [ "practical-cl" ]; - lispLibs = [ (getAttr "pcl-binary-data" self) (getAttr "pcl-html" self) (getAttr "pcl-id3v2" self) (getAttr "pcl-macro-utilities" self) (getAttr "pcl-mp3-browser" self) (getAttr "pcl-mp3-database" self) (getAttr "pcl-pathnames" self) (getAttr "pcl-shoutcast" self) (getAttr "pcl-simple-database" self) (getAttr "pcl-spam" self) (getAttr "pcl-test-framework" self) (getAttr "pcl-url-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prbs = (build-asdf-system { - pname = "prbs"; - version = "20180228-git"; - asds = [ "prbs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prbs/2018-02-28/prbs-20180228-git.tgz"; - sha256 = "0qbvbmxa66b367z9px4nyxqb21b9w2hr82rw7hfq5aynmwfk3fzi"; - system = "prbs"; - asd = "prbs"; - }); - systems = [ "prbs" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prbs-docs = (build-asdf-system { - pname = "prbs-docs"; - version = "20180228-git"; - asds = [ "prbs-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prbs/2018-02-28/prbs-20180228-git.tgz"; - sha256 = "0qbvbmxa66b367z9px4nyxqb21b9w2hr82rw7hfq5aynmwfk3fzi"; - system = "prbs-docs"; - asd = "prbs-docs"; - }); - systems = [ "prbs-docs" ]; - lispLibs = [ (getAttr "cl-gendoc" self) (getAttr "prbs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - precise-time = (build-asdf-system { - pname = "precise-time"; - version = "20241012-git"; - asds = [ "precise-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/precise-time/2024-10-12/precise-time-20241012-git.tgz"; - sha256 = "114ix5nldfg301g0af8lsnc129i7hnhgdzmnznda2fv92zf3vn8g"; - system = "precise-time"; - asd = "precise-time"; - }); - systems = [ "precise-time" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pregexp = (build-asdf-system { - pname = "pregexp"; - version = "20241012-git"; - asds = [ "pregexp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pregexp/2024-10-12/pregexp-20241012-git.tgz"; - sha256 = "10l9hj7a812km1hygg6iwwl1bf8jgsfyfr1ixj7bif8k8502h4nz"; - system = "pregexp"; - asd = "pregexp"; - }); - systems = [ "pregexp" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prepl = (build-asdf-system { - pname = "prepl"; - version = "20231021-git"; - asds = [ "prepl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prepl/2023-10-21/prepl-20231021-git.tgz"; - sha256 = "0sbqlqbk9xrl30iklp3vs493zq4bc2nxv6q435cspicwz6igbjdw"; - system = "prepl"; - asd = "prepl"; - }); - systems = [ "prepl" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "conium" self) (getAttr "iterate" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prettier-builtins = (build-asdf-system { - pname = "prettier-builtins"; - version = "20231021-git"; - asds = [ "prettier-builtins" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prettier-builtins/2023-10-21/prettier-builtins-20231021-git.tgz"; - sha256 = "15lbf0zi1vxqpxwsfgkq7dlg5c9m1b2a4hvcfm3qlh9ir7ahggck"; - system = "prettier-builtins"; - asd = "prettier-builtins"; - }); - systems = [ "prettier-builtins" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pretty-function = (build-asdf-system { - pname = "pretty-function"; - version = "20130615-git"; - asds = [ "pretty-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pretty-function/2013-06-15/pretty-function-20130615-git.tgz"; - sha256 = "1hzfjwsp6r5nki6h8kry8k2bgj19mrp0jbq7jhsz3kz6y4ll0hb5"; - system = "pretty-function"; - asd = "pretty-function"; - }); - systems = [ "pretty-function" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - primecount = (build-asdf-system { - pname = "primecount"; - version = "20200325-git"; - asds = [ "primecount" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/primecount/2020-03-25/primecount-20200325-git.tgz"; - sha256 = "1fw855qp82b887azww7z3yhd2zafaxjnzyff1ldf2wa6mb4f0dj8"; - system = "primecount"; - asd = "primecount"; - }); - systems = [ "primecount" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - print-html = (build-asdf-system { - pname = "print-html"; - version = "20181018-git"; - asds = [ "print-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/print-html/2018-10-18/print-html-20181018-git.tgz"; - sha256 = "1ihr2yy6fvli3awrkfn4v8pm41wab5wsj30v84rr75v4p5irqmz8"; - system = "print-html"; - asd = "print-html"; - }); - systems = [ "print-html" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - print-licenses = (build-asdf-system { - pname = "print-licenses"; - version = "20230618-git"; - asds = [ "print-licenses" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/print-licenses/2023-06-18/print-licenses-20230618-git.tgz"; - sha256 = "14i6r6mf16dlj1g4xk0alg2912y3wy0qbfpyvvgsgxkkar63cmi5"; - system = "print-licenses"; - asd = "print-licenses"; - }); - systems = [ "print-licenses" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - printv = (build-asdf-system { - pname = "printv"; - version = "20211230-git"; - asds = [ "printv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/printv/2021-12-30/printv-20211230-git.tgz"; - sha256 = "07agyzkwp3w2r4d2anrmr8h00yngpr5dq9mjd3m4kzhn1jcmilfb"; - system = "printv"; - asd = "printv"; - }); - systems = [ "printv" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - priority-queue = (build-asdf-system { - pname = "priority-queue"; - version = "20150709-git"; - asds = [ "priority-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/priority-queue/2015-07-09/priority-queue-20150709-git.tgz"; - sha256 = "0y5a1fid8xzzl58hfdj64n8mrzq0kr06a0lnmdjpgi0czc3x0jcy"; - system = "priority-queue"; - asd = "priority-queue"; - }); - systems = [ "priority-queue" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - priority-queue-benchmark = (build-asdf-system { - pname = "priority-queue-benchmark"; - version = "20241012-git"; - asds = [ "priority-queue-benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2024-10-12/damn-fast-priority-queue-20241012-git.tgz"; - sha256 = "1mbigpgi7qbqvpj59l1f7p2qcg00ybvqzdca1j1b9hx62h224ndw"; - system = "priority-queue-benchmark"; - asd = "priority-queue-benchmark"; - }); - systems = [ "priority-queue-benchmark" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bodge-heap" self) (getAttr "cl-heap" self) (getAttr "damn-fast-priority-queue" self) (getAttr "damn-fast-stable-priority-queue" self) (getAttr "heap" self) (getAttr "minheap" self) (getAttr "pettomato-indexed-priority-queue" self) (getAttr "pileup" self) (getAttr "priority-queue" self) (getAttr "queues_dot_priority-queue" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - proc-parse = (build-asdf-system { - pname = "proc-parse"; - version = "20190813-git"; - asds = [ "proc-parse" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/proc-parse/2019-08-13/proc-parse-20190813-git.tgz"; - sha256 = "07vbj26bfq4ywlcmamsqyac29rsdsa8lamjqx1ycla1bcvgmi4w2"; - system = "proc-parse"; - asd = "proc-parse"; - }); - systems = [ "proc-parse" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) ]; - meta = {}; - }); - proc-parse-test = (build-asdf-system { - pname = "proc-parse-test"; - version = "20190813-git"; - asds = [ "proc-parse-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/proc-parse/2019-08-13/proc-parse-20190813-git.tgz"; - sha256 = "07vbj26bfq4ywlcmamsqyac29rsdsa8lamjqx1ycla1bcvgmi4w2"; - system = "proc-parse-test"; - asd = "proc-parse-test"; - }); - systems = [ "proc-parse-test" ]; - lispLibs = [ (getAttr "proc-parse" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - progressons = (build-asdf-system { - pname = "progressons"; - version = "20241012-git"; - asds = [ "progressons" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/progressons/2024-10-12/progressons-20241012-git.tgz"; - sha256 = "1i93khd0l1aphzh6qb4yy9cpi2nmqac08b90yx95p4zymap03nly"; - system = "progressons"; - asd = "progressons"; - }); - systems = [ "progressons" ]; - lispLibs = [ (getAttr "cl-ansi-text" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_document = (build-asdf-system { - pname = "projectured.document"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.document" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.document"; - asd = "projectured.document"; - }); - systems = [ "projectured.document" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "parse-number" self) (getAttr "projectured_dot_editor" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_editor = (build-asdf-system { - pname = "projectured.editor"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.editor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.editor"; - asd = "projectured.editor"; - }); - systems = [ "projectured.editor" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_common" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "hu_dot_dwim_dot_defclass-star" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_serializer" self) (getAttr "hu_dot_dwim_dot_syntax-sugar" self) (getAttr "hu_dot_dwim_dot_util" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_executable = (build-asdf-system { - pname = "projectured.executable"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.executable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.executable"; - asd = "projectured.executable"; - }); - systems = [ "projectured.executable" ]; - lispLibs = [ (getAttr "command-line-arguments" self) (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "projectured_dot_sdl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_projection = (build-asdf-system { - pname = "projectured.projection"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.projection" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.projection"; - asd = "projectured.projection"; - }); - systems = [ "projectured.projection" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "projectured_dot_document" self) (getAttr "projectured_dot_editor" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_sdl = (build-asdf-system { - pname = "projectured.sdl"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.sdl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.sdl"; - asd = "projectured.sdl"; - }); - systems = [ "projectured.sdl" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_sdl" self) (getAttr "projectured_dot_document" self) (getAttr "projectured_dot_editor" self) (getAttr "projectured_dot_projection" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_sdl_dot_test = (build-asdf-system { - pname = "projectured.sdl.test"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.sdl.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.sdl.test"; - asd = "projectured.sdl.test"; - }); - systems = [ "projectured.sdl.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "projectured_dot_sdl" self) (getAttr "projectured_dot_test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_swank = (build-asdf-system { - pname = "projectured.swank"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.swank"; - asd = "projectured.swank"; - }); - systems = [ "projectured.swank" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "projectured_dot_editor" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - projectured_dot_test = (build-asdf-system { - pname = "projectured.test"; - version = "quicklisp-c3a60e76-git"; - asds = [ "projectured.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; - sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; - system = "projectured.test"; - asd = "projectured.test"; - }); - systems = [ "projectured.test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) (getAttr "hu_dot_dwim_dot_logger" self) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) (getAttr "projectured_dot_document" self) (getAttr "projectured_dot_editor" self) (getAttr "projectured_dot_projection" self) (getAttr "projectured_dot_swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus = (build-asdf-system { - pname = "prometheus"; - version = "20201220-git"; - asds = [ "prometheus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus"; - asd = "prometheus"; - }); - systems = [ "prometheus" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "quantile-estimator" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus-gc = (build-asdf-system { - pname = "prometheus-gc"; - version = "20241012-git"; - asds = [ "prometheus-gc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus-gc/2024-10-12/prometheus-gc-20241012-git.tgz"; - sha256 = "0lfdh7j7jzklhr76fdw1z3a777h5sr5c9h1i6nv1knnm36l44zpj"; - system = "prometheus-gc"; - asd = "prometheus-gc"; - }); - systems = [ "prometheus-gc" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "prometheus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus-gc-ci = (build-asdf-system { - pname = "prometheus-gc-ci"; - version = "20241012-git"; - asds = [ "prometheus-gc-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus-gc/2024-10-12/prometheus-gc-20241012-git.tgz"; - sha256 = "0lfdh7j7jzklhr76fdw1z3a777h5sr5c9h1i6nv1knnm36l44zpj"; - system = "prometheus-gc-ci"; - asd = "prometheus-gc-ci"; - }); - systems = [ "prometheus-gc-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus-gc-tests = (build-asdf-system { - pname = "prometheus-gc-tests"; - version = "20241012-git"; - asds = [ "prometheus-gc-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus-gc/2024-10-12/prometheus-gc-20241012-git.tgz"; - sha256 = "0lfdh7j7jzklhr76fdw1z3a777h5sr5c9h1i6nv1knnm36l44zpj"; - system = "prometheus-gc-tests"; - asd = "prometheus-gc-tests"; - }); - systems = [ "prometheus-gc-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_collectors_dot_process = (build-asdf-system { - pname = "prometheus.collectors.process"; - version = "20201220-git"; - asds = [ "prometheus.collectors.process" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.collectors.process"; - asd = "prometheus.collectors.process"; - }); - systems = [ "prometheus.collectors.process" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-fad" self) (getAttr "prometheus" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_collectors_dot_process_dot_test = (build-asdf-system { - pname = "prometheus.collectors.process.test"; - version = "20201220-git"; - asds = [ "prometheus.collectors.process.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.collectors.process.test"; - asd = "prometheus.collectors.process.test"; - }); - systems = [ "prometheus.collectors.process.test" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prometheus_dot_collectors_dot_process" self) (getAttr "prometheus_dot_test_dot_support" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_collectors_dot_sbcl = (build-asdf-system { - pname = "prometheus.collectors.sbcl"; - version = "20201220-git"; - asds = [ "prometheus.collectors.sbcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.collectors.sbcl"; - asd = "prometheus.collectors.sbcl"; - }); - systems = [ "prometheus.collectors.sbcl" ]; - lispLibs = [ (getAttr "prometheus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_collectors_dot_sbcl_dot_test = (build-asdf-system { - pname = "prometheus.collectors.sbcl.test"; - version = "20201220-git"; - asds = [ "prometheus.collectors.sbcl.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.collectors.sbcl.test"; - asd = "prometheus.collectors.sbcl.test"; - }); - systems = [ "prometheus.collectors.sbcl.test" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prometheus_dot_collectors_dot_sbcl" self) (getAttr "prometheus_dot_test_dot_support" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_examples = (build-asdf-system { - pname = "prometheus.examples"; - version = "20201220-git"; - asds = [ "prometheus.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.examples"; - asd = "prometheus.examples"; - }); - systems = [ "prometheus.examples" ]; - lispLibs = [ (getAttr "prometheus" self) (getAttr "prometheus_dot_collectors_dot_process" self) (getAttr "prometheus_dot_collectors_dot_sbcl" self) (getAttr "prometheus_dot_exposers_dot_hunchentoot" self) (getAttr "prometheus_dot_formats_dot_text" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_exposers_dot_hunchentoot = (build-asdf-system { - pname = "prometheus.exposers.hunchentoot"; - version = "20201220-git"; - asds = [ "prometheus.exposers.hunchentoot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.exposers.hunchentoot"; - asd = "prometheus.exposers.hunchentoot"; - }); - systems = [ "prometheus.exposers.hunchentoot" ]; - lispLibs = [ (getAttr "hunchentoot" self) (getAttr "prometheus" self) (getAttr "prometheus_dot_formats_dot_text" self) (getAttr "salza2" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_exposers_dot_hunchentoot_dot_test = (build-asdf-system { - pname = "prometheus.exposers.hunchentoot.test"; - version = "20201220-git"; - asds = [ "prometheus.exposers.hunchentoot.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.exposers.hunchentoot.test"; - asd = "prometheus.exposers.hunchentoot.test"; - }); - systems = [ "prometheus.exposers.hunchentoot.test" ]; - lispLibs = [ (getAttr "chipz" self) (getAttr "cl-interpol" self) (getAttr "drakma" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prometheus_dot_exposers_dot_hunchentoot" self) (getAttr "prometheus_dot_formats_dot_text" self) (getAttr "prometheus_dot_test_dot_support" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_formats_dot_text = (build-asdf-system { - pname = "prometheus.formats.text"; - version = "20201220-git"; - asds = [ "prometheus.formats.text" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.formats.text"; - asd = "prometheus.formats.text"; - }); - systems = [ "prometheus.formats.text" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "prometheus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_formats_dot_text_dot_test = (build-asdf-system { - pname = "prometheus.formats.text.test"; - version = "20201220-git"; - asds = [ "prometheus.formats.text.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.formats.text.test"; - asd = "prometheus.formats.text.test"; - }); - systems = [ "prometheus.formats.text.test" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prometheus_dot_formats_dot_text" self) (getAttr "prometheus_dot_test_dot_support" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_pushgateway = (build-asdf-system { - pname = "prometheus.pushgateway"; - version = "20201220-git"; - asds = [ "prometheus.pushgateway" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.pushgateway"; - asd = "prometheus.pushgateway"; - }); - systems = [ "prometheus.pushgateway" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "prometheus" self) (getAttr "prometheus_dot_formats_dot_text" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_pushgateway_dot_test = (build-asdf-system { - pname = "prometheus.pushgateway.test"; - version = "20201220-git"; - asds = [ "prometheus.pushgateway.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.pushgateway.test"; - asd = "prometheus.pushgateway.test"; - }); - systems = [ "prometheus.pushgateway.test" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "hunchentoot" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prometheus_dot_pushgateway" self) (getAttr "prometheus_dot_test_dot_support" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_test = (build-asdf-system { - pname = "prometheus.test"; - version = "20201220-git"; - asds = [ "prometheus.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.test"; - asd = "prometheus.test"; - }); - systems = [ "prometheus.test" ]; - lispLibs = [ (getAttr "cl-interpol" self) (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prometheus" self) (getAttr "prometheus_dot_test_dot_support" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_test_dot_all = (build-asdf-system { - pname = "prometheus.test.all"; - version = "20201220-git"; - asds = [ "prometheus.test.all" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.test.all"; - asd = "prometheus.test.all"; - }); - systems = [ "prometheus.test.all" ]; - lispLibs = [ (getAttr "cl-coveralls" self) (getAttr "prometheus_dot_collectors_dot_process_dot_test" self) (getAttr "prometheus_dot_collectors_dot_sbcl_dot_test" self) (getAttr "prometheus_dot_exposers_dot_hunchentoot_dot_test" self) (getAttr "prometheus_dot_formats_dot_text_dot_test" self) (getAttr "prometheus_dot_pushgateway_dot_test" self) (getAttr "prometheus_dot_test" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prometheus_dot_test_dot_support = (build-asdf-system { - pname = "prometheus.test.support"; - version = "20201220-git"; - asds = [ "prometheus.test.support" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; - sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; - system = "prometheus.test.support"; - asd = "prometheus.test.support"; - }); - systems = [ "prometheus.test.support" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "prometheus" self) (getAttr "prove" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - promise = (build-asdf-system { - pname = "promise"; - version = "20231021-git"; - asds = [ "promise" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/promise/2023-10-21/promise-20231021-git.tgz"; - sha256 = "1xm10s89a2f7ydzayjgg94y9plrz1jnyvi6yzhk5v3vrbnmpggh1"; - system = "promise"; - asd = "promise"; - }); - systems = [ "promise" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - promise-test = (build-asdf-system { - pname = "promise-test"; - version = "20231021-git"; - asds = [ "promise-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/promise/2023-10-21/promise-20231021-git.tgz"; - sha256 = "1xm10s89a2f7ydzayjgg94y9plrz1jnyvi6yzhk5v3vrbnmpggh1"; - system = "promise-test"; - asd = "promise-test"; - }); - systems = [ "promise-test" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "promise" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prompt-for = (build-asdf-system { - pname = "prompt-for"; - version = "20220707-git"; - asds = [ "prompt-for" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prompt-for/2022-07-07/prompt-for-20220707-git.tgz"; - sha256 = "1zjc96ryyzsr5519s7yji40askqyymjrbdwx3r2r7bv146siqs5m"; - system = "prompt-for"; - asd = "prompt-for"; - }); - systems = [ "prompt-for" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prompt-for_dot_test = (build-asdf-system { - pname = "prompt-for.test"; - version = "20220707-git"; - asds = [ "prompt-for.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prompt-for/2022-07-07/prompt-for-20220707-git.tgz"; - sha256 = "1zjc96ryyzsr5519s7yji40askqyymjrbdwx3r2r7bv146siqs5m"; - system = "prompt-for.test"; - asd = "prompt-for.test"; - }); - systems = [ "prompt-for.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "prompt-for" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - protest = (build-asdf-system { - pname = "protest"; - version = "20201220-git"; - asds = [ "protest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz"; - sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h"; - system = "protest"; - asd = "protest"; - }); - systems = [ "protest" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "moptilities" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - proto = (build-asdf-system { - pname = "proto"; - version = "quicklisp-dd18337d-git"; - asds = [ "proto" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz"; - sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1"; - system = "proto"; - asd = "gtirb"; - }); - systems = [ "proto" ]; - lispLibs = [ (getAttr "protobuf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - proto-v0 = (build-asdf-system { - pname = "proto-v0"; - version = "quicklisp-dd18337d-git"; - asds = [ "proto-v0" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz"; - sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1"; - system = "proto-v0"; - asd = "gtirb"; - }); - systems = [ "proto-v0" ]; - lispLibs = [ (getAttr "protobuf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - protobuf = (build-asdf-system { - pname = "protobuf"; - version = "20230618-git"; - asds = [ "protobuf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/protobuf/2023-06-18/protobuf-20230618-git.tgz"; - sha256 = "0pp8i2i72p6cng11sxj83klw45jqv05l5024h7c2rl0pvsg8f6bc"; - system = "protobuf"; - asd = "protobuf"; - }); - systems = [ "protobuf" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "varint" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - protobuf-conformance = (build-asdf-system { - pname = "protobuf-conformance"; - version = "20230618-git"; - asds = [ "protobuf-conformance" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/protobuf/2023-06-18/protobuf-20230618-git.tgz"; - sha256 = "0pp8i2i72p6cng11sxj83klw45jqv05l5024h7c2rl0pvsg8f6bc"; - system = "protobuf-conformance"; - asd = "protobuf-conformance"; - }); - systems = [ "protobuf-conformance" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "nibbles" self) (getAttr "protobuf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - prove = (build-asdf-system { - pname = "prove"; - version = "20200218-git"; - asds = [ "prove" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; - sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; - system = "prove"; - asd = "prove"; - }); - systems = [ "prove" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ansi-text" self) (getAttr "cl-colors" self) (getAttr "cl-ppcre" self) ]; - meta = {}; - }); - prove-asdf = (build-asdf-system { - pname = "prove-asdf"; - version = "20200218-git"; - asds = [ "prove-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; - sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; - system = "prove-asdf"; - asd = "prove-asdf"; - }); - systems = [ "prove-asdf" ]; - lispLibs = [ ]; - meta = {}; - }); - prove-test = (build-asdf-system { - pname = "prove-test"; - version = "20200218-git"; - asds = [ "prove-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; - sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; - system = "prove-test"; - asd = "prove-test"; - }); - systems = [ "prove-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pseudonyms = (build-asdf-system { - pname = "pseudonyms"; - version = "20200325-git"; - asds = [ "pseudonyms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pseudonyms/2020-03-25/pseudonyms-20200325-git.tgz"; - sha256 = "0ph7l130hr8gz88gw8i15zbsbq96519srfhzgm6zzkw85vab1ysn"; - system = "pseudonyms"; - asd = "pseudonyms"; - }); - systems = [ "pseudonyms" ]; - lispLibs = [ (getAttr "named-readtables" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - psgraph = (build-asdf-system { - pname = "psgraph"; - version = "1.2"; - asds = [ "psgraph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/psgraph/2010-10-06/psgraph-1.2.tgz"; - sha256 = "19x1lvzfj2c2h83y5bng6jsp2300qfvd25mmf157qiss15al22vs"; - system = "psgraph"; - asd = "psgraph"; - }); - systems = [ "psgraph" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - psychiq = (build-asdf-system { - pname = "psychiq"; - version = "20241012-git"; - asds = [ "psychiq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/psychiq/2024-10-12/psychiq-20241012-git.tgz"; - sha256 = "1036yyrzvyqszn037y4189h12221mkxdyp0nlyj26qjyil3qizbl"; - system = "psychiq"; - asd = "psychiq"; - }); - systems = [ "psychiq" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-redis" self) (getAttr "cl-reexport" self) (getAttr "dissect" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - psychiq-test = (build-asdf-system { - pname = "psychiq-test"; - version = "20241012-git"; - asds = [ "psychiq-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/psychiq/2024-10-12/psychiq-20241012-git.tgz"; - sha256 = "1036yyrzvyqszn037y4189h12221mkxdyp0nlyj26qjyil3qizbl"; - system = "psychiq-test"; - asd = "psychiq-test"; - }); - systems = [ "psychiq-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "psychiq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ptc = (build-asdf-system { - pname = "ptc"; - version = "20231021-git"; - asds = [ "ptc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ptc/2023-10-21/ptc-20231021-git.tgz"; - sha256 = "1r4izrc6dhz3pqpcqn3y0sga4f77s2vzd1xpl8fsr41rfpyiff3x"; - system = "ptc"; - asd = "ptc"; - }); - systems = [ "ptc" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ptester = (build-asdf-system { - pname = "ptester"; - version = "20160929-git"; - asds = [ "ptester" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ptester/2016-09-29/ptester-20160929-git.tgz"; - sha256 = "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"; - system = "ptester"; - asd = "ptester"; - }); - systems = [ "ptester" ]; - lispLibs = [ ]; - meta = {}; - }); - punycode = (build-asdf-system { - pname = "punycode"; - version = "20231021-git"; - asds = [ "punycode" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/punycode/2023-10-21/punycode-20231021-git.tgz"; - sha256 = "0779aj2bqsz7qb475x5sacr5q254wjar74sab04zfhrlpkgij9xh"; - system = "punycode"; - asd = "punycode"; - }); - systems = [ "punycode" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - punycode-test = (build-asdf-system { - pname = "punycode-test"; - version = "20231021-git"; - asds = [ "punycode-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/punycode/2023-10-21/punycode-20231021-git.tgz"; - sha256 = "0779aj2bqsz7qb475x5sacr5q254wjar74sab04zfhrlpkgij9xh"; - system = "punycode-test"; - asd = "punycode-test"; - }); - systems = [ "punycode-test" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "punycode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - purgatory = (build-asdf-system { - pname = "purgatory"; - version = "20241012-git"; - asds = [ "purgatory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/purgatory/2024-10-12/purgatory-20241012-git.tgz"; - sha256 = "1srafcpl01a1dv84z3sqc1wl23r8hz1nm3rrmmqiilfh2r4jfw6f"; - system = "purgatory"; - asd = "purgatory"; - }); - systems = [ "purgatory" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - purgatory-tests = (build-asdf-system { - pname = "purgatory-tests"; - version = "20241012-git"; - asds = [ "purgatory-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/purgatory/2024-10-12/purgatory-20241012-git.tgz"; - sha256 = "1srafcpl01a1dv84z3sqc1wl23r8hz1nm3rrmmqiilfh2r4jfw6f"; - system = "purgatory-tests"; - asd = "purgatory-tests"; - }); - systems = [ "purgatory-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-ppcre" self) (getAttr "clunit2" self) (getAttr "purgatory" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - puri = (build-asdf-system { - pname = "puri"; - version = "20201016-git"; - asds = [ "puri" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/puri/2020-10-16/puri-20201016-git.tgz"; - sha256 = "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"; - system = "puri"; - asd = "puri"; - }); - systems = [ "puri" ]; - lispLibs = [ ]; - meta = {}; - }); - purl = (build-asdf-system { - pname = "purl"; - version = "20160929-git"; - asds = [ "purl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/purl/2016-09-29/purl-20160929-git.tgz"; - sha256 = "1fw3ip4b7n3q6kimh683apg381p7y4w6s4mb8mmv9n3dw0p0sdww"; - system = "purl"; - asd = "purl"; - }); - systems = [ "purl" ]; - lispLibs = [ (getAttr "maxpc" self) (getAttr "percent-encoding" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pvars = (build-asdf-system { - pname = "pvars"; - version = "20210228-git"; - asds = [ "pvars" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pvars/2021-02-28/pvars-20210228-git.tgz"; - sha256 = "1x9mmz53sj0mgd288pa65x963mrd27sw47a8vbggsc4ykwacqf1d"; - system = "pvars"; - asd = "pvars"; - }); - systems = [ "pvars" ]; - lispLibs = [ (getAttr "cl-store" self) (getAttr "global-vars" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - py-configparser = (build-asdf-system { - pname = "py-configparser"; - version = "20170830-svn"; - asds = [ "py-configparser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/py-configparser/2017-08-30/py-configparser-20170830-svn.tgz"; - sha256 = "1mpzhrys1b1mp1kp2xvryl6v01gfqfccb1zdiib49nf4bms4irvw"; - system = "py-configparser"; - asd = "py-configparser"; - }); - systems = [ "py-configparser" ]; - lispLibs = [ (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - py4cl = (build-asdf-system { - pname = "py4cl"; - version = "20241012-git"; - asds = [ "py4cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/py4cl/2024-10-12/py4cl-20241012-git.tgz"; - sha256 = "0i2zg58zgcyw68m846sqwjb77mvps766xlp30i65h18plc8yqmpg"; - system = "py4cl"; - asd = "py4cl"; - }); - systems = [ "py4cl" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "numpy-file-format" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - py4cl2 = (build-asdf-system { - pname = "py4cl2"; - version = "v2.9.3"; - asds = [ "py4cl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/py4cl2/2024-10-12/py4cl2-v2.9.3.tgz"; - sha256 = "0g7qhwnyi1la22k90z8993q8knr117f40jk73wjsvixicqc4awqq"; - system = "py4cl2"; - asd = "py4cl2"; - }); - systems = [ "py4cl2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-json" self) (getAttr "float-features" self) (getAttr "iterate" self) (getAttr "numpy-file-format" self) (getAttr "parse-number" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - py4cl2-cffi = (build-asdf-system { - pname = "py4cl2-cffi"; - version = "20241012-git"; - asds = [ "py4cl2-cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/py4cl2-cffi/2024-10-12/py4cl2-cffi-20241012-git.tgz"; - sha256 = "12ggqz8ibbzsmym51yfd19dlw751s7a1i6ra4z8m2ml3zw1k63zr"; - system = "py4cl2-cffi"; - asd = "py4cl2-cffi"; - }); - systems = [ "py4cl2-cffi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "float-features" self) (getAttr "iterate" self) (getAttr "optima" self) (getAttr "parse-number" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - pythonic-string-reader = (build-asdf-system { - pname = "pythonic-string-reader"; - version = "20180711-git"; - asds = [ "pythonic-string-reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pythonic-string-reader/2018-07-11/pythonic-string-reader-20180711-git.tgz"; - sha256 = "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"; - system = "pythonic-string-reader"; - asd = "pythonic-string-reader"; - }); - systems = [ "pythonic-string-reader" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = {}; - }); - pzmq = (build-asdf-system { - pname = "pzmq"; - version = "20210531-git"; - asds = [ "pzmq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; - sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; - system = "pzmq"; - asd = "pzmq"; - }); - systems = [ "pzmq" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = {}; - }); - pzmq-compat = (build-asdf-system { - pname = "pzmq-compat"; - version = "20210531-git"; - asds = [ "pzmq-compat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; - sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; - system = "pzmq-compat"; - asd = "pzmq"; - }); - systems = [ "pzmq-compat" ]; - lispLibs = [ (getAttr "pzmq" self) ]; - meta = {}; - }); - pzmq-examples = (build-asdf-system { - pname = "pzmq-examples"; - version = "20210531-git"; - asds = [ "pzmq-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; - sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; - system = "pzmq-examples"; - asd = "pzmq"; - }); - systems = [ "pzmq-examples" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "pzmq" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - pzmq-test = (build-asdf-system { - pname = "pzmq-test"; - version = "20210531-git"; - asds = [ "pzmq-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; - sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; - system = "pzmq-test"; - asd = "pzmq"; - }); - systems = [ "pzmq-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "fiveam" self) (getAttr "let-plus" self) (getAttr "pzmq" self) ]; - meta = {}; - }); - q_plus = (build-asdf-system { - pname = "q+"; - version = "20230214-git"; - asds = [ "q+" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "q+"; - asd = "q+"; - }); - systems = [ "q+" ]; - lispLibs = [ (getAttr "qtools" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qbase64 = (build-asdf-system { - pname = "qbase64"; - version = "20220220-git"; - asds = [ "qbase64" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qbase64/2022-02-20/qbase64-20220220-git.tgz"; - sha256 = "06daqqfdd51wkx0pyxgz7zq4ibzsqsgn3qs04jabx67gyybgnmjm"; - system = "qbase64"; - asd = "qbase64"; - }); - systems = [ "qbase64" ]; - lispLibs = [ (getAttr "metabang-bind" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qbook = (build-asdf-system { - pname = "qbook"; - version = "20130312-darcs"; - asds = [ "qbook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qbook/2013-03-12/qbook-20130312-darcs.tgz"; - sha256 = "0l5hc2v73416jpwc2nsnj03z85fisirgm4av2anvlpv5m1291p6g"; - system = "qbook"; - asd = "qbook"; - }); - systems = [ "qbook" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "yaclml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qimageblitz = (build-asdf-system { - pname = "qimageblitz"; - version = "20210531-git"; - asds = [ "qimageblitz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qimageblitz"; - asd = "qimageblitz"; - }); - systems = [ "qimageblitz" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ql-checkout = (build-asdf-system { - pname = "ql-checkout"; - version = "20190521-git"; - asds = [ "ql-checkout" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ql-checkout/2019-05-21/ql-checkout-20190521-git.tgz"; - sha256 = "1zp3wa7g1wn7sypfsla7510ywvldqavlmv90pncanwpwn79klyhw"; - system = "ql-checkout"; - asd = "ql-checkout"; - }); - systems = [ "ql-checkout" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qlot = (build-asdf-system { - pname = "qlot"; - version = "1.5.14"; - asds = [ "qlot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qlot/2024-10-12/qlot-1.5.14.tgz"; - sha256 = "15rg8gjwisi2gp7a0pfgdvs9mjs1xxff0a58b14nm8sf11cdggkr"; - system = "qlot"; - asd = "qlot"; - }); - systems = [ "qlot" ]; - lispLibs = [ (getAttr "archive" self) (getAttr "bordeaux-threads" self) (getAttr "cl_plus_ssl" self) (getAttr "deflate" self) (getAttr "dexador" self) (getAttr "fuzzy-match" self) (getAttr "ironclad" self) (getAttr "lparallel" self) (getAttr "quri" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qmynd = (build-asdf-system { - pname = "qmynd"; - version = "20190710-git"; - asds = [ "qmynd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qmynd/2019-07-10/qmynd-20190710-git.tgz"; - sha256 = "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"; - system = "qmynd"; - asd = "qmynd"; - }); - systems = [ "qmynd" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "chipz" self) (getAttr "cl_plus_ssl" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) (getAttr "list-of" self) (getAttr "salza2" self) (getAttr "trivial-gray-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qmynd-test = (build-asdf-system { - pname = "qmynd-test"; - version = "20190710-git"; - asds = [ "qmynd-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qmynd/2019-07-10/qmynd-20190710-git.tgz"; - sha256 = "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"; - system = "qmynd-test"; - asd = "qmynd-test"; - }); - systems = [ "qmynd-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "flexi-streams" self) (getAttr "qmynd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qoi = (build-asdf-system { - pname = "qoi"; - version = "20241012-git"; - asds = [ "qoi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qoi/2024-10-12/qoi-20241012-git.tgz"; - sha256 = "06akq38q7m648c3kpx1pzw21fwqry7fkg6sfgbap0b7bifzg1dsn"; - system = "qoi"; - asd = "qoi"; - }); - systems = [ "qoi" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qsci = (build-asdf-system { - pname = "qsci"; - version = "20210531-git"; - asds = [ "qsci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qsci"; - asd = "qsci"; - }); - systems = [ "qsci" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qt_plus_libs = (build-asdf-system { - pname = "qt+libs"; - version = "20230214-git"; - asds = [ "qt+libs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/commonqt/2023-02-14/commonqt-20230214-git.tgz"; - sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q"; - system = "qt+libs"; - asd = "qt+libs"; - }); - systems = [ "qt+libs" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "named-readtables" self) (getAttr "qt-libs" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qt-lib-generator = (build-asdf-system { - pname = "qt-lib-generator"; - version = "20210531-git"; - asds = [ "qt-lib-generator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qt-lib-generator"; - asd = "qt-lib-generator"; - }); - systems = [ "qt-lib-generator" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "pathname-utils" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qt-libs = (build-asdf-system { - pname = "qt-libs"; - version = "20210531-git"; - asds = [ "qt-libs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qt-libs"; - asd = "qt-libs"; - }); - systems = [ "qt-libs" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "qt-lib-generator" self) ]; - meta = {}; - }); - qt3support = (build-asdf-system { - pname = "qt3support"; - version = "20210531-git"; - asds = [ "qt3support" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qt3support"; - asd = "qt3support"; - }); - systems = [ "qt3support" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtnetwork" self) (getAttr "qtsql" self) (getAttr "qtxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtcore = (build-asdf-system { - pname = "qtcore"; - version = "20210531-git"; - asds = [ "qtcore" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtcore"; - asd = "qtcore"; - }); - systems = [ "qtcore" ]; - lispLibs = [ (getAttr "commonqt" self) (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtdbus = (build-asdf-system { - pname = "qtdbus"; - version = "20210531-git"; - asds = [ "qtdbus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtdbus"; - asd = "qtdbus"; - }); - systems = [ "qtdbus" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtdeclarative = (build-asdf-system { - pname = "qtdeclarative"; - version = "20210531-git"; - asds = [ "qtdeclarative" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtdeclarative"; - asd = "qtdeclarative"; - }); - systems = [ "qtdeclarative" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtnetwork" self) (getAttr "qtscript" self) (getAttr "qtsql" self) (getAttr "qtxmlpatterns" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtgui = (build-asdf-system { - pname = "qtgui"; - version = "20210531-git"; - asds = [ "qtgui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtgui"; - asd = "qtgui"; - }); - systems = [ "qtgui" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qthelp = (build-asdf-system { - pname = "qthelp"; - version = "20210531-git"; - asds = [ "qthelp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qthelp"; - asd = "qthelp"; - }); - systems = [ "qthelp" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtnetwork" self) (getAttr "qtsql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtnetwork = (build-asdf-system { - pname = "qtnetwork"; - version = "20210531-git"; - asds = [ "qtnetwork" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtnetwork"; - asd = "qtnetwork"; - }); - systems = [ "qtnetwork" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools = (build-asdf-system { - pname = "qtools"; - version = "20230214-git"; - asds = [ "qtools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools"; - asd = "qtools"; - }); - systems = [ "qtools" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "deploy" self) (getAttr "documentation-utils" self) (getAttr "form-fiddle" self) (getAttr "named-readtables" self) (getAttr "qt_plus_libs" self) (getAttr "trivial-garbage" self) (getAttr "trivial-indent" self) (getAttr "trivial-main-thread" self) ]; - meta = {}; - }); - qtools-evaluator = (build-asdf-system { - pname = "qtools-evaluator"; - version = "20230214-git"; - asds = [ "qtools-evaluator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools-evaluator"; - asd = "qtools-evaluator"; - }); - systems = [ "qtools-evaluator" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-game = (build-asdf-system { - pname = "qtools-game"; - version = "20230214-git"; - asds = [ "qtools-game" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools-game"; - asd = "qtools-game"; - }); - systems = [ "qtools-game" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) (getAttr "qtopengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-helloworld = (build-asdf-system { - pname = "qtools-helloworld"; - version = "20230214-git"; - asds = [ "qtools-helloworld" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools-helloworld"; - asd = "qtools-helloworld"; - }); - systems = [ "qtools-helloworld" ]; - lispLibs = [ (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-melody = (build-asdf-system { - pname = "qtools-melody"; - version = "20230214-git"; - asds = [ "qtools-melody" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools-melody"; - asd = "qtools-melody"; - }); - systems = [ "qtools-melody" ]; - lispLibs = [ (getAttr "phonon" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-opengl = (build-asdf-system { - pname = "qtools-opengl"; - version = "20230214-git"; - asds = [ "qtools-opengl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools-opengl"; - asd = "qtools-opengl"; - }); - systems = [ "qtools-opengl" ]; - lispLibs = [ (getAttr "cl-opengl" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) (getAttr "qtopengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-titter = (build-asdf-system { - pname = "qtools-titter"; - version = "20230214-git"; - asds = [ "qtools-titter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; - sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; - system = "qtools-titter"; - asd = "qtools-titter"; - }); - systems = [ "qtools-titter" ]; - lispLibs = [ (getAttr "chirp" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui = (build-asdf-system { - pname = "qtools-ui"; - version = "20200218-git"; - asds = [ "qtools-ui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui"; - asd = "qtools-ui"; - }); - systems = [ "qtools-ui" ]; - lispLibs = [ (getAttr "qtools-ui-auto-resizing-textedit" self) (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-cell" self) (getAttr "qtools-ui-color-history" self) (getAttr "qtools-ui-color-picker" self) (getAttr "qtools-ui-color-sliders" self) (getAttr "qtools-ui-color-triangle" self) (getAttr "qtools-ui-compass" self) (getAttr "qtools-ui-container" self) (getAttr "qtools-ui-debugger" self) (getAttr "qtools-ui-dialog" self) (getAttr "qtools-ui-dictionary" self) (getAttr "qtools-ui-drag-and-drop" self) (getAttr "qtools-ui-fixed-qtextedit" self) (getAttr "qtools-ui-flow-layout" self) (getAttr "qtools-ui-helpers" self) (getAttr "qtools-ui-imagetools" self) (getAttr "qtools-ui-keychord-editor" self) (getAttr "qtools-ui-layout" self) (getAttr "qtools-ui-listing" self) (getAttr "qtools-ui-notification" self) (getAttr "qtools-ui-options" self) (getAttr "qtools-ui-panels" self) (getAttr "qtools-ui-placeholder-text-edit" self) (getAttr "qtools-ui-plot" self) (getAttr "qtools-ui-repl" self) (getAttr "qtools-ui-slider" self) (getAttr "qtools-ui-spellchecked-text-edit" self) (getAttr "qtools-ui-splitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-auto-resizing-textedit = (build-asdf-system { - pname = "qtools-ui-auto-resizing-textedit"; - version = "20200218-git"; - asds = [ "qtools-ui-auto-resizing-textedit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-auto-resizing-textedit"; - asd = "qtools-ui-auto-resizing-textedit"; - }); - systems = [ "qtools-ui-auto-resizing-textedit" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-fixed-qtextedit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-base = (build-asdf-system { - pname = "qtools-ui-base"; - version = "20200218-git"; - asds = [ "qtools-ui-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-base"; - asd = "qtools-ui-base"; - }); - systems = [ "qtools-ui-base" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "documentation-utils" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtools" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-bytearray = (build-asdf-system { - pname = "qtools-ui-bytearray"; - version = "20200218-git"; - asds = [ "qtools-ui-bytearray" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-bytearray"; - asd = "qtools-ui-bytearray"; - }); - systems = [ "qtools-ui-bytearray" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-cell = (build-asdf-system { - pname = "qtools-ui-cell"; - version = "20200218-git"; - asds = [ "qtools-ui-cell" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-cell"; - asd = "qtools-ui-cell"; - }); - systems = [ "qtools-ui-cell" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) (getAttr "qtools-ui-layout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-color-history = (build-asdf-system { - pname = "qtools-ui-color-history"; - version = "20200218-git"; - asds = [ "qtools-ui-color-history" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-color-history"; - asd = "qtools-ui-color-history"; - }); - systems = [ "qtools-ui-color-history" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-flow-layout" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-color-picker = (build-asdf-system { - pname = "qtools-ui-color-picker"; - version = "20200218-git"; - asds = [ "qtools-ui-color-picker" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-color-picker"; - asd = "qtools-ui-color-picker"; - }); - systems = [ "qtools-ui-color-picker" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-color-history" self) (getAttr "qtools-ui-color-sliders" self) (getAttr "qtools-ui-color-triangle" self) (getAttr "qtools-ui-dialog" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-color-sliders = (build-asdf-system { - pname = "qtools-ui-color-sliders"; - version = "20200218-git"; - asds = [ "qtools-ui-color-sliders" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-color-sliders"; - asd = "qtools-ui-color-sliders"; - }); - systems = [ "qtools-ui-color-sliders" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-color-triangle = (build-asdf-system { - pname = "qtools-ui-color-triangle"; - version = "20200218-git"; - asds = [ "qtools-ui-color-triangle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-color-triangle"; - asd = "qtools-ui-color-triangle"; - }); - systems = [ "qtools-ui-color-triangle" ]; - lispLibs = [ (getAttr "cl-opengl" self) (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) (getAttr "qtopengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-compass = (build-asdf-system { - pname = "qtools-ui-compass"; - version = "20200218-git"; - asds = [ "qtools-ui-compass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-compass"; - asd = "qtools-ui-compass"; - }); - systems = [ "qtools-ui-compass" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-layout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-container = (build-asdf-system { - pname = "qtools-ui-container"; - version = "20200218-git"; - asds = [ "qtools-ui-container" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-container"; - asd = "qtools-ui-container"; - }); - systems = [ "qtools-ui-container" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-layout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-debugger = (build-asdf-system { - pname = "qtools-ui-debugger"; - version = "20200218-git"; - asds = [ "qtools-ui-debugger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-debugger"; - asd = "qtools-ui-debugger"; - }); - systems = [ "qtools-ui-debugger" ]; - lispLibs = [ (getAttr "dissect" self) (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-dialog = (build-asdf-system { - pname = "qtools-ui-dialog"; - version = "20200218-git"; - asds = [ "qtools-ui-dialog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-dialog"; - asd = "qtools-ui-dialog"; - }); - systems = [ "qtools-ui-dialog" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-dictionary = (build-asdf-system { - pname = "qtools-ui-dictionary"; - version = "20200218-git"; - asds = [ "qtools-ui-dictionary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-dictionary"; - asd = "qtools-ui-dictionary"; - }); - systems = [ "qtools-ui-dictionary" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-fixed-qtextedit" self) (getAttr "qtools-ui-helpers" self) (getAttr "wordnet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-drag-and-drop = (build-asdf-system { - pname = "qtools-ui-drag-and-drop"; - version = "20200218-git"; - asds = [ "qtools-ui-drag-and-drop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-drag-and-drop"; - asd = "qtools-ui-drag-and-drop"; - }); - systems = [ "qtools-ui-drag-and-drop" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-executable = (build-asdf-system { - pname = "qtools-ui-executable"; - version = "20200218-git"; - asds = [ "qtools-ui-executable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-executable"; - asd = "qtools-ui-executable"; - }); - systems = [ "qtools-ui-executable" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-fixed-qtextedit = (build-asdf-system { - pname = "qtools-ui-fixed-qtextedit"; - version = "20200218-git"; - asds = [ "qtools-ui-fixed-qtextedit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-fixed-qtextedit"; - asd = "qtools-ui-fixed-qtextedit"; - }); - systems = [ "qtools-ui-fixed-qtextedit" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-flow-layout = (build-asdf-system { - pname = "qtools-ui-flow-layout"; - version = "20200218-git"; - asds = [ "qtools-ui-flow-layout" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-flow-layout"; - asd = "qtools-ui-flow-layout"; - }); - systems = [ "qtools-ui-flow-layout" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-container" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-helpers = (build-asdf-system { - pname = "qtools-ui-helpers"; - version = "20200218-git"; - asds = [ "qtools-ui-helpers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-helpers"; - asd = "qtools-ui-helpers"; - }); - systems = [ "qtools-ui-helpers" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-layout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-imagetools = (build-asdf-system { - pname = "qtools-ui-imagetools"; - version = "20200218-git"; - asds = [ "qtools-ui-imagetools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-imagetools"; - asd = "qtools-ui-imagetools"; - }); - systems = [ "qtools-ui-imagetools" ]; - lispLibs = [ (getAttr "qimageblitz" self) (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-keychord-editor = (build-asdf-system { - pname = "qtools-ui-keychord-editor"; - version = "20200218-git"; - asds = [ "qtools-ui-keychord-editor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-keychord-editor"; - asd = "qtools-ui-keychord-editor"; - }); - systems = [ "qtools-ui-keychord-editor" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-layout = (build-asdf-system { - pname = "qtools-ui-layout"; - version = "20200218-git"; - asds = [ "qtools-ui-layout" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-layout"; - asd = "qtools-ui-layout"; - }); - systems = [ "qtools-ui-layout" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-listing = (build-asdf-system { - pname = "qtools-ui-listing"; - version = "20200218-git"; - asds = [ "qtools-ui-listing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-listing"; - asd = "qtools-ui-listing"; - }); - systems = [ "qtools-ui-listing" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-cell" self) (getAttr "qtools-ui-container" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-notification = (build-asdf-system { - pname = "qtools-ui-notification"; - version = "20200218-git"; - asds = [ "qtools-ui-notification" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-notification"; - asd = "qtools-ui-notification"; - }); - systems = [ "qtools-ui-notification" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-options = (build-asdf-system { - pname = "qtools-ui-options"; - version = "20200218-git"; - asds = [ "qtools-ui-options" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-options"; - asd = "qtools-ui-options"; - }); - systems = [ "qtools-ui-options" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-color-picker" self) (getAttr "qtools-ui-color-triangle" self) (getAttr "qtools-ui-helpers" self) (getAttr "qtools-ui-listing" self) (getAttr "qtools-ui-slider" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-panels = (build-asdf-system { - pname = "qtools-ui-panels"; - version = "20200218-git"; - asds = [ "qtools-ui-panels" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-panels"; - asd = "qtools-ui-panels"; - }); - systems = [ "qtools-ui-panels" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-compass" self) (getAttr "qtools-ui-helpers" self) (getAttr "qtools-ui-splitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-placeholder-text-edit = (build-asdf-system { - pname = "qtools-ui-placeholder-text-edit"; - version = "20200218-git"; - asds = [ "qtools-ui-placeholder-text-edit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-placeholder-text-edit"; - asd = "qtools-ui-placeholder-text-edit"; - }); - systems = [ "qtools-ui-placeholder-text-edit" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-fixed-qtextedit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-plot = (build-asdf-system { - pname = "qtools-ui-plot"; - version = "20200218-git"; - asds = [ "qtools-ui-plot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-plot"; - asd = "qtools-ui-plot"; - }); - systems = [ "qtools-ui-plot" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-progress-bar = (build-asdf-system { - pname = "qtools-ui-progress-bar"; - version = "20200218-git"; - asds = [ "qtools-ui-progress-bar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-progress-bar"; - asd = "qtools-ui-progress-bar"; - }); - systems = [ "qtools-ui-progress-bar" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-repl = (build-asdf-system { - pname = "qtools-ui-repl"; - version = "20200218-git"; - asds = [ "qtools-ui-repl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-repl"; - asd = "qtools-ui-repl"; - }); - systems = [ "qtools-ui-repl" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "qtools-ui-base" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-slider = (build-asdf-system { - pname = "qtools-ui-slider"; - version = "20200218-git"; - asds = [ "qtools-ui-slider" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-slider"; - asd = "qtools-ui-slider"; - }); - systems = [ "qtools-ui-slider" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-spellchecked-text-edit = (build-asdf-system { - pname = "qtools-ui-spellchecked-text-edit"; - version = "20200218-git"; - asds = [ "qtools-ui-spellchecked-text-edit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-spellchecked-text-edit"; - asd = "qtools-ui-spellchecked-text-edit"; - }); - systems = [ "qtools-ui-spellchecked-text-edit" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-fixed-qtextedit" self) (getAttr "qtools-ui-helpers" self) (getAttr "spell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-splitter = (build-asdf-system { - pname = "qtools-ui-splitter"; - version = "20200218-git"; - asds = [ "qtools-ui-splitter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-splitter"; - asd = "qtools-ui-splitter"; - }); - systems = [ "qtools-ui-splitter" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtools-ui-container" self) (getAttr "qtools-ui-helpers" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtools-ui-svgtools = (build-asdf-system { - pname = "qtools-ui-svgtools"; - version = "20200218-git"; - asds = [ "qtools-ui-svgtools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; - sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; - system = "qtools-ui-svgtools"; - asd = "qtools-ui-svgtools"; - }); - systems = [ "qtools-ui-svgtools" ]; - lispLibs = [ (getAttr "qtools-ui-base" self) (getAttr "qtsvg" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtopengl = (build-asdf-system { - pname = "qtopengl"; - version = "20210531-git"; - asds = [ "qtopengl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtopengl"; - asd = "qtopengl"; - }); - systems = [ "qtopengl" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtscript = (build-asdf-system { - pname = "qtscript"; - version = "20210531-git"; - asds = [ "qtscript" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtscript"; - asd = "qtscript"; - }); - systems = [ "qtscript" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtsql = (build-asdf-system { - pname = "qtsql"; - version = "20210531-git"; - asds = [ "qtsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtsql"; - asd = "qtsql"; - }); - systems = [ "qtsql" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtsvg = (build-asdf-system { - pname = "qtsvg"; - version = "20210531-git"; - asds = [ "qtsvg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtsvg"; - asd = "qtsvg"; - }); - systems = [ "qtsvg" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qttest = (build-asdf-system { - pname = "qttest"; - version = "20210531-git"; - asds = [ "qttest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qttest"; - asd = "qttest"; - }); - systems = [ "qttest" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtuitools = (build-asdf-system { - pname = "qtuitools"; - version = "20210531-git"; - asds = [ "qtuitools" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtuitools"; - asd = "qtuitools"; - }); - systems = [ "qtuitools" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtwebkit = (build-asdf-system { - pname = "qtwebkit"; - version = "20210531-git"; - asds = [ "qtwebkit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtwebkit"; - asd = "qtwebkit"; - }); - systems = [ "qtwebkit" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) (getAttr "qtnetwork" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtxml = (build-asdf-system { - pname = "qtxml"; - version = "20210531-git"; - asds = [ "qtxml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtxml"; - asd = "qtxml"; - }); - systems = [ "qtxml" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qtxmlpatterns = (build-asdf-system { - pname = "qtxmlpatterns"; - version = "20210531-git"; - asds = [ "qtxmlpatterns" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qtxmlpatterns"; - asd = "qtxmlpatterns"; - }); - systems = [ "qtxmlpatterns" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtnetwork" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quad-tree = (build-asdf-system { - pname = "quad-tree"; - version = "20220707-git"; - asds = [ "quad-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quad-tree/2022-07-07/quad-tree-20220707-git.tgz"; - sha256 = "1pg43zw75dbqxs8vca3fynqfvza59v1fmwh9m4x0jrnw7ysgkl6j"; - system = "quad-tree"; - asd = "quad-tree"; - }); - systems = [ "quad-tree" ]; - lispLibs = [ (getAttr "mfiano-utils" self) (getAttr "origin" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quadpack = (build-asdf-system { - pname = "quadpack"; - version = "20231021-git"; - asds = [ "quadpack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "quadpack"; - asd = "quadpack"; - }); - systems = [ "quadpack" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quads = (build-asdf-system { - pname = "quads"; - version = "20200427-git"; - asds = [ "quads" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "quads"; - asd = "quads"; - }); - systems = [ "quads" ]; - lispLibs = [ (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quadtree = (build-asdf-system { - pname = "quadtree"; - version = "20150709-git"; - asds = [ "quadtree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quadtree/2015-07-09/quadtree-20150709-git.tgz"; - sha256 = "0590f0sbv4qg590d2bb7ypncg3wn5xjapi24w78mnzr9bdnhh4vx"; - system = "quadtree"; - asd = "quadtree"; - }); - systems = [ "quadtree" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quadtree-test = (build-asdf-system { - pname = "quadtree-test"; - version = "20150709-git"; - asds = [ "quadtree-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quadtree/2015-07-09/quadtree-20150709-git.tgz"; - sha256 = "0590f0sbv4qg590d2bb7ypncg3wn5xjapi24w78mnzr9bdnhh4vx"; - system = "quadtree-test"; - asd = "quadtree-test"; - }); - systems = [ "quadtree-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "quadtree" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quantile-estimator = (build-asdf-system { - pname = "quantile-estimator"; - version = "20160825-git"; - asds = [ "quantile-estimator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quantile-estimator.cl/2016-08-25/quantile-estimator.cl-20160825-git.tgz"; - sha256 = "1rrazbl0gbsymynlxp7ild6wvwp6csmdig4hwrp3wjvqhdl8j3mj"; - system = "quantile-estimator"; - asd = "quantile-estimator"; - }); - systems = [ "quantile-estimator" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quantile-estimator_dot_test = (build-asdf-system { - pname = "quantile-estimator.test"; - version = "20160825-git"; - asds = [ "quantile-estimator.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quantile-estimator.cl/2016-08-25/quantile-estimator.cl-20160825-git.tgz"; - sha256 = "1rrazbl0gbsymynlxp7ild6wvwp6csmdig4hwrp3wjvqhdl8j3mj"; - system = "quantile-estimator.test"; - asd = "quantile-estimator.test"; - }); - systems = [ "quantile-estimator.test" ]; - lispLibs = [ (getAttr "log4cl" self) (getAttr "mw-equiv" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "quantile-estimator" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quasiquote-2_dot_0 = (build-asdf-system { - pname = "quasiquote-2.0"; - version = "20150505-git"; - asds = [ "quasiquote-2.0" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz"; - sha256 = "1g0s3aplrgmdjj8k1wrx3dkqdsl4lka2nmgdng0rcd93xp11q6hn"; - system = "quasiquote-2.0"; - asd = "quasiquote-2.0"; - }); - systems = [ "quasiquote-2.0" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = {}; - }); - quasiquote-2_dot_0-tests = (build-asdf-system { - pname = "quasiquote-2.0-tests"; - version = "20150505-git"; - asds = [ "quasiquote-2.0-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz"; - sha256 = "1g0s3aplrgmdjj8k1wrx3dkqdsl4lka2nmgdng0rcd93xp11q6hn"; - system = "quasiquote-2.0-tests"; - asd = "quasiquote-2.0"; - }); - systems = [ "quasiquote-2.0-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "quasiquote-2_dot_0" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quaviver = (build-asdf-system { - pname = "quaviver"; - version = "20241012-git"; - asds = [ "quaviver" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quaviver/2024-10-12/quaviver-20241012-git.tgz"; - sha256 = "17kixyznxfwlxkfl2d2ngxas3vi7r21bgfy4g7xlngvakxw3zfzp"; - system = "quaviver"; - asd = "quaviver"; - }); - systems = [ "quaviver" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - queen = (build-asdf-system { - pname = "queen"; - version = "20230618-git"; - asds = [ "queen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/queen.lisp/2023-06-18/queen.lisp-20230618-git.tgz"; - sha256 = "14y4688f9gazdxh03k2jnxnla2bygcsz6wk55yc0id1achak95fa"; - system = "queen"; - asd = "queen"; - }); - systems = [ "queen" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-ppcre-unicode" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - query-fs = (build-asdf-system { - pname = "query-fs"; - version = "20241012-git"; - asds = [ "query-fs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/query-fs/2024-10-12/query-fs-20241012-git.tgz"; - sha256 = "09gz8xrjg9r5bclphgwjdnif8qx4qnx518jragq3znwvlzfb34fw"; - system = "query-fs"; - asd = "query-fs"; - }); - systems = [ "query-fs" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-fuse" self) (getAttr "cl-fuse-meta-fs" self) (getAttr "cl-ppcre" self) (getAttr "command-line-arguments" self) (getAttr "iterate" self) (getAttr "trivial-backtrace" self) ]; - meta = {}; - }); - query-repl = (build-asdf-system { - pname = "query-repl"; - version = "20220331-git"; - asds = [ "query-repl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/query-repl/2022-03-31/query-repl-20220331-git.tgz"; - sha256 = "0gzrr1k7071hdmd64i5lqmg62i3yqim7nmcc9r94sry47bkp16v2"; - system = "query-repl"; - asd = "query-repl"; - }); - systems = [ "query-repl" ]; - lispLibs = [ (getAttr "check-bnf" self) (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - query-repl_dot_test = (build-asdf-system { - pname = "query-repl.test"; - version = "20220331-git"; - asds = [ "query-repl.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/query-repl/2022-03-31/query-repl-20220331-git.tgz"; - sha256 = "0gzrr1k7071hdmd64i5lqmg62i3yqim7nmcc9r94sry47bkp16v2"; - system = "query-repl.test"; - asd = "query-repl.test"; - }); - systems = [ "query-repl.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "query-repl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - queues = (build-asdf-system { - pname = "queues"; - version = "20170124-git"; - asds = [ "queues" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; - sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; - system = "queues"; - asd = "queues"; - }); - systems = [ "queues" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - queues_dot_priority-cqueue = (build-asdf-system { - pname = "queues.priority-cqueue"; - version = "20170124-git"; - asds = [ "queues.priority-cqueue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; - sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; - system = "queues.priority-cqueue"; - asd = "queues.priority-cqueue"; - }); - systems = [ "queues.priority-cqueue" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "queues" self) (getAttr "queues_dot_priority-queue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - queues_dot_priority-queue = (build-asdf-system { - pname = "queues.priority-queue"; - version = "20170124-git"; - asds = [ "queues.priority-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; - sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; - system = "queues.priority-queue"; - asd = "queues.priority-queue"; - }); - systems = [ "queues.priority-queue" ]; - lispLibs = [ (getAttr "queues" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - queues_dot_simple-cqueue = (build-asdf-system { - pname = "queues.simple-cqueue"; - version = "20170124-git"; - asds = [ "queues.simple-cqueue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; - sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; - system = "queues.simple-cqueue"; - asd = "queues.simple-cqueue"; - }); - systems = [ "queues.simple-cqueue" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "queues" self) (getAttr "queues_dot_simple-queue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - queues_dot_simple-queue = (build-asdf-system { - pname = "queues.simple-queue"; - version = "20170124-git"; - asds = [ "queues.simple-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; - sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; - system = "queues.simple-queue"; - asd = "queues.simple-queue"; - }); - systems = [ "queues.simple-queue" ]; - lispLibs = [ (getAttr "queues" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quick-patch = (build-asdf-system { - pname = "quick-patch"; - version = "20241012-git"; - asds = [ "quick-patch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quick-patch/2024-10-12/quick-patch-20241012-git.tgz"; - sha256 = "0a2wkqn65kl88yz7a8728x9gjy4w37hjavfqx4hyijhs1ph38wdi"; - system = "quick-patch"; - asd = "quick-patch"; - }); - systems = [ "quick-patch" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickapp = (build-asdf-system { - pname = "quickapp"; - version = "20160825-git"; - asds = [ "quickapp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickapp/2016-08-25/quickapp-20160825-git.tgz"; - sha256 = "0rhhxwggbh9sf3c4c9fv39c5imy48416mwf0dkhqpnm8x55xbw22"; - system = "quickapp"; - asd = "quickapp"; - }); - systems = [ "quickapp" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickhull = (build-asdf-system { - pname = "quickhull"; - version = "20241012-git"; - asds = [ "quickhull" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickhull/2024-10-12/quickhull-20241012-git.tgz"; - sha256 = "1814qq23dg2shnfdkw9w9ap53qzg2igy119bwslvflmcb1jd7bpm"; - system = "quickhull"; - asd = "quickhull"; - }); - systems = [ "quickhull" ]; - lispLibs = [ (getAttr "_3d-math" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quicklisp-slime-helper = (build-asdf-system { - pname = "quicklisp-slime-helper"; - version = "20150709-git"; - asds = [ "quicklisp-slime-helper" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quicklisp-slime-helper/2015-07-09/quicklisp-slime-helper-20150709-git.tgz"; - sha256 = "14b1zg26h75pnhj3ic0h9i5jbmwf8wjp91scbcg1ra9fyhh73pa6"; - system = "quicklisp-slime-helper"; - asd = "quicklisp-slime-helper"; - }); - systems = [ "quicklisp-slime-helper" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quicklisp-starter = (build-asdf-system { - pname = "quicklisp-starter"; - version = "20241012-git"; - asds = [ "quicklisp-starter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; - sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; - system = "quicklisp-starter"; - asd = "quicklisp-starter"; - }); - systems = [ "quicklisp-starter" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quicklisp-stats = (build-asdf-system { - pname = "quicklisp-stats"; - version = "20210411-git"; - asds = [ "quicklisp-stats" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quicklisp-stats/2021-04-11/quicklisp-stats-20210411-git.tgz"; - sha256 = "0v8dgmlgd283n1g486q4sj2mghgdvgywg2nqp43nnrfc04mkvgc0"; - system = "quicklisp-stats"; - asd = "quicklisp-stats"; - }); - systems = [ "quicklisp-stats" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "drakma" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickproject = (build-asdf-system { - pname = "quickproject"; - version = "1.4.1"; - asds = [ "quickproject" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickproject/2019-12-27/quickproject-1.4.1.tgz"; - sha256 = "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"; - system = "quickproject"; - asd = "quickproject"; - }); - systems = [ "quickproject" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "html-template" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quicksearch = (build-asdf-system { - pname = "quicksearch"; - version = "20171019-git"; - asds = [ "quicksearch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quicksearch/2017-10-19/quicksearch-20171019-git.tgz"; - sha256 = "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"; - system = "quicksearch"; - asd = "quicksearch"; - }); - systems = [ "quicksearch" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "do-urlencode" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "html-entities" self) (getAttr "iterate" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickutil = (build-asdf-system { - pname = "quickutil"; - version = "20210807-git"; - asds = [ "quickutil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; - sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; - system = "quickutil"; - asd = "quickutil"; - }); - systems = [ "quickutil" ]; - lispLibs = [ (getAttr "quickutil-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickutil-client = (build-asdf-system { - pname = "quickutil-client"; - version = "20210807-git"; - asds = [ "quickutil-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; - sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; - system = "quickutil-client"; - asd = "quickutil-client"; - }); - systems = [ "quickutil-client" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "quickutil-client-management" self) (getAttr "quickutil-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickutil-client-management = (build-asdf-system { - pname = "quickutil-client-management"; - version = "20210807-git"; - asds = [ "quickutil-client-management" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; - sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; - system = "quickutil-client-management"; - asd = "quickutil-client-management"; - }); - systems = [ "quickutil-client-management" ]; - lispLibs = [ (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickutil-server = (build-asdf-system { - pname = "quickutil-server"; - version = "20210807-git"; - asds = [ "quickutil-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; - sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; - system = "quickutil-server"; - asd = "quickutil-server"; - }); - systems = [ "quickutil-server" ]; - lispLibs = [ (getAttr "assoc-utils" self) (getAttr "cl-fad" self) (getAttr "cl-markdown" self) (getAttr "cl-ppcre" self) (getAttr "cl-syntax" self) (getAttr "cl-syntax-annot" self) (getAttr "clack" self) (getAttr "closure-template" self) (getAttr "dbi" self) (getAttr "lack" self) (getAttr "lack-component" self) (getAttr "lack-middleware-csrf" self) (getAttr "lack-request" self) (getAttr "lack-response" self) (getAttr "ningle" self) (getAttr "quickutil-utilities" self) (getAttr "trivial-shell" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickutil-utilities = (build-asdf-system { - pname = "quickutil-utilities"; - version = "20210807-git"; - asds = [ "quickutil-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; - sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; - system = "quickutil-utilities"; - asd = "quickutil-utilities"; - }); - systems = [ "quickutil-utilities" ]; - lispLibs = [ (getAttr "cl-heredoc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quickutil-utilities-test = (build-asdf-system { - pname = "quickutil-utilities-test"; - version = "20210807-git"; - asds = [ "quickutil-utilities-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; - sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; - system = "quickutil-utilities-test"; - asd = "quickutil-utilities-test"; - }); - systems = [ "quickutil-utilities-test" ]; - lispLibs = [ (getAttr "quickutil-client" self) (getAttr "quickutil-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quil-coalton = (build-asdf-system { - pname = "quil-coalton"; - version = "20241012-git"; - asds = [ "quil-coalton" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "quil-coalton"; - asd = "quil-coalton"; - }); - systems = [ "quil-coalton" ]; - lispLibs = [ (getAttr "coalton" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quine-mccluskey = (build-asdf-system { - pname = "quine-mccluskey"; - version = "20141217-git"; - asds = [ "quine-mccluskey" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-logic/2014-12-17/cl-logic-20141217-git.tgz"; - sha256 = "17n2wzqali3j6b7pqbydipwlxgwdrj4mdnsgwjdyz32n8jvfyjwh"; - system = "quine-mccluskey"; - asd = "cl-logic"; - }); - systems = [ "quine-mccluskey" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quri = (build-asdf-system { - pname = "quri"; - version = "20241012-git"; - asds = [ "quri" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quri/2024-10-12/quri-20241012-git.tgz"; - sha256 = "0vismgg72xrflzdsrv8ybq3cxf717k5296g9b731974vwlf7ibh0"; - system = "quri"; - asd = "quri"; - }); - systems = [ "quri" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-utilities" self) (getAttr "idna" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - quri-test = (build-asdf-system { - pname = "quri-test"; - version = "20241012-git"; - asds = [ "quri-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quri/2024-10-12/quri-20241012-git.tgz"; - sha256 = "0vismgg72xrflzdsrv8ybq3cxf717k5296g9b731974vwlf7ibh0"; - system = "quri-test"; - asd = "quri-test"; - }); - systems = [ "quri-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "quri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quux-hunchentoot = (build-asdf-system { - pname = "quux-hunchentoot"; - version = "20211230-git"; - asds = [ "quux-hunchentoot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quux-hunchentoot/2021-12-30/quux-hunchentoot-20211230-git.tgz"; - sha256 = "0v0x4hzzfm835blqbp00vmj74gaq8wyldrnfj0x5s6zfl64w135y"; - system = "quux-hunchentoot"; - asd = "quux-hunchentoot"; - }); - systems = [ "quux-hunchentoot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "hunchentoot" self) (getAttr "lil" self) (getAttr "lparallel" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - quux-time = (build-asdf-system { - pname = "quux-time"; - version = "20150407-git"; - asds = [ "quux-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/quux-time/2015-04-07/quux-time-20150407-git.tgz"; - sha256 = "0hsa2n1j0abhw8na9fql47rq1rxpf2vkwg2mbb1c3ax56r8dsh0v"; - system = "quux-time"; - asd = "quux-time"; - }); - systems = [ "quux-time" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - qwt = (build-asdf-system { - pname = "qwt"; - version = "20210531-git"; - asds = [ "qwt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "qwt"; - asd = "qwt"; - }); - systems = [ "qwt" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) (getAttr "qtcore" self) (getAttr "qtgui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rail = (build-asdf-system { - pname = "rail"; - version = "20171227-git"; - asds = [ "rail" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rail/2017-12-27/cl-rail-20171227-git.tgz"; - sha256 = "0vxbxyfl5lw7na8iki1cjp0cd31z2bnxcpdv0x25hq0vch1cb5rj"; - system = "rail"; - asd = "rail"; - }); - systems = [ "rail" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rail-test = (build-asdf-system { - pname = "rail-test"; - version = "20171227-git"; - asds = [ "rail-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rail/2017-12-27/cl-rail-20171227-git.tgz"; - sha256 = "0vxbxyfl5lw7na8iki1cjp0cd31z2bnxcpdv0x25hq0vch1cb5rj"; - system = "rail-test"; - asd = "rail"; - }); - systems = [ "rail-test" ]; - lispLibs = [ (getAttr "fiasco" self) (getAttr "rail" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random = (build-asdf-system { - pname = "random"; - version = "20191007-git"; - asds = [ "random" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; - sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; - system = "random"; - asd = "random"; - }); - systems = [ "random" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-access-lists = (build-asdf-system { - pname = "random-access-lists"; - version = "20120208-git"; - asds = [ "random-access-lists" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-access-lists/2012-02-08/random-access-lists-20120208-git.tgz"; - sha256 = "0wslxxdmmr25hvmcyscph1bjlknm3nzh5g79cif22was1z411m5c"; - system = "random-access-lists"; - asd = "random-access-lists"; - }); - systems = [ "random-access-lists" ]; - lispLibs = [ (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-sample = (build-asdf-system { - pname = "random-sample"; - version = "20230618-git"; - asds = [ "random-sample" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-sample/2023-06-18/random-sample-20230618-git.tgz"; - sha256 = "13g5wgq6z3gx07qr3q17mgwfn2rsck5p1b9cfswajagl0m8z3f51"; - system = "random-sample"; - asd = "random-sample"; - }); - systems = [ "random-sample" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "infix-math" self) (getAttr "named-readtables" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-sampling = (build-asdf-system { - pname = "random-sampling"; - version = "20241012-git"; - asds = [ "random-sampling" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-sampling/2024-10-12/random-sampling-20241012-git.tgz"; - sha256 = "0c5cf7k37fh8h9dhcj9bfk9zx245i806wh7qkvh1g659kvl2gamj"; - system = "random-sampling"; - asd = "random-sampling"; - }); - systems = [ "random-sampling" ]; - lispLibs = [ (getAttr "_3d-math" self) (getAttr "documentation-utils" self) (getAttr "random-state" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-state = (build-asdf-system { - pname = "random-state"; - version = "20241012-git"; - asds = [ "random-state" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-state/2024-10-12/random-state-20241012-git.tgz"; - sha256 = "1iwcrn2fqvsw651wk60nm6x5hlmlvj04v8xxfxmzhqmx5f081f1g"; - system = "random-state"; - asd = "random-state"; - }); - systems = [ "random-state" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-state-test = (build-asdf-system { - pname = "random-state-test"; - version = "20241012-git"; - asds = [ "random-state-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-state/2024-10-12/random-state-20241012-git.tgz"; - sha256 = "1iwcrn2fqvsw651wk60nm6x5hlmlvj04v8xxfxmzhqmx5f081f1g"; - system = "random-state-test"; - asd = "random-state-test"; - }); - systems = [ "random-state-test" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "random-state" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-state-viewer = (build-asdf-system { - pname = "random-state-viewer"; - version = "20241012-git"; - asds = [ "random-state-viewer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-state/2024-10-12/random-state-20241012-git.tgz"; - sha256 = "1iwcrn2fqvsw651wk60nm6x5hlmlvj04v8xxfxmzhqmx5f081f1g"; - system = "random-state-viewer"; - asd = "random-state-viewer"; - }); - systems = [ "random-state-viewer" ]; - lispLibs = [ (getAttr "random-state" self) (getAttr "trivial-features" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-test = (build-asdf-system { - pname = "random-test"; - version = "20191007-git"; - asds = [ "random-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; - sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; - system = "random-test"; - asd = "random-test"; - }); - systems = [ "random-test" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "random" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - random-uuid = (build-asdf-system { - pname = "random-uuid"; - version = "20220707-git"; - asds = [ "random-uuid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/random-uuid/2022-07-07/random-uuid-20220707-git.tgz"; - sha256 = "09yfi16gh12qg4pi13gbr5n881q5zvw7acq27a6sbqbkny35a6wj"; - system = "random-uuid"; - asd = "random-uuid"; - }); - systems = [ "random-uuid" ]; - lispLibs = [ (getAttr "mfiano-utils" self) (getAttr "seedable-rng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rate-monotonic = (build-asdf-system { - pname = "rate-monotonic"; - version = "20200325-git"; - asds = [ "rate-monotonic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rate-monotonic/2020-03-25/rate-monotonic-20200325-git.tgz"; - sha256 = "0v9m704zy3834whldx2fbs8x92hp7hlrzdlcxm1rd17wqpv7pvrv"; - system = "rate-monotonic"; - asd = "rate-monotonic"; - }); - systems = [ "rate-monotonic" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "timer-wheel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rate-monotonic_dot_examples = (build-asdf-system { - pname = "rate-monotonic.examples"; - version = "20200325-git"; - asds = [ "rate-monotonic.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rate-monotonic/2020-03-25/rate-monotonic-20200325-git.tgz"; - sha256 = "0v9m704zy3834whldx2fbs8x92hp7hlrzdlcxm1rd17wqpv7pvrv"; - system = "rate-monotonic.examples"; - asd = "rate-monotonic.examples"; - }); - systems = [ "rate-monotonic.examples" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "rate-monotonic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ratify = (build-asdf-system { - pname = "ratify"; - version = "20231021-git"; - asds = [ "ratify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ratify/2023-10-21/ratify-20231021-git.tgz"; - sha256 = "11fsamjjbc77kjhbsh0w9wkwbdq51paa07sxjb2brvcm0ji4hynf"; - system = "ratify"; - asd = "ratify"; - }); - systems = [ "ratify" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ratmath = (build-asdf-system { - pname = "ratmath"; - version = "20200218-git"; - asds = [ "ratmath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ratmath/2020-02-18/ratmath-20200218-git.tgz"; - sha256 = "1p5rl1bam8qjsgscn7gwk2w55hdjawfgjikka59lwb6ia13v4rj9"; - system = "ratmath"; - asd = "ratmath"; - }); - systems = [ "ratmath" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rcl = (build-asdf-system { - pname = "rcl"; - version = "20201220-http"; - asds = [ "rcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rcl/2020-12-20/rcl-20201220-http.tgz"; - sha256 = "1s6cvqs0s7fxh63zwc5zj7ryrffmv780rscm7aq3alzb9njwmg14"; - system = "rcl"; - asd = "rcl"; - }); - systems = [ "rcl" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "named-readtables" self) (getAttr "prove-asdf" self) (getAttr "simple-tasks" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - re = (build-asdf-system { - pname = "re"; - version = "20210630-git"; - asds = [ "re" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/re/2021-06-30/re-20210630-git.tgz"; - sha256 = "15q4zvvzkxf1j0wxw0b1kz4d03js9cbgv82ndl8z6riz40kbffdp"; - system = "re"; - asd = "re"; - }); - systems = [ "re" ]; - lispLibs = [ (getAttr "parse" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - read-as-string = (build-asdf-system { - pname = "read-as-string"; - version = "20220707-git"; - asds = [ "read-as-string" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/read-as-string/2022-07-07/read-as-string-20220707-git.tgz"; - sha256 = "08dnnqmbadsrbsqr4n1x7rf0p46j9al0hw6la0z3jclp604dd0k3"; - system = "read-as-string"; - asd = "read-as-string"; - }); - systems = [ "read-as-string" ]; - lispLibs = [ (getAttr "core-reader" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - read-as-string_dot_test = (build-asdf-system { - pname = "read-as-string.test"; - version = "20220707-git"; - asds = [ "read-as-string.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/read-as-string/2022-07-07/read-as-string-20220707-git.tgz"; - sha256 = "08dnnqmbadsrbsqr4n1x7rf0p46j9al0hw6la0z3jclp604dd0k3"; - system = "read-as-string.test"; - asd = "read-as-string.test"; - }); - systems = [ "read-as-string.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "read-as-string" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - read-csv = (build-asdf-system { - pname = "read-csv"; - version = "20181018-git"; - asds = [ "read-csv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/read-csv/2018-10-18/read-csv-20181018-git.tgz"; - sha256 = "1wr6n8z7jm611xf2jwp3pw03qzq76440cmb75495l5p907lmrbcs"; - system = "read-csv"; - asd = "read-csv"; - }); - systems = [ "read-csv" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - read-csv_dot_test = (build-asdf-system { - pname = "read-csv.test"; - version = "20181018-git"; - asds = [ "read-csv.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/read-csv/2018-10-18/read-csv-20181018-git.tgz"; - sha256 = "1wr6n8z7jm611xf2jwp3pw03qzq76440cmb75495l5p907lmrbcs"; - system = "read-csv.test"; - asd = "read-csv"; - }); - systems = [ "read-csv.test" ]; - lispLibs = [ (getAttr "read-csv" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - read-number = (build-asdf-system { - pname = "read-number"; - version = "20230214-git"; - asds = [ "read-number" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/read-number/2023-02-14/read-number-20230214-git.tgz"; - sha256 = "1y2g2vbg9zccm9h8r7dabgb315z7jhr91d81wa2cccibpgccdyac"; - system = "read-number"; - asd = "read-number"; - }); - systems = [ "read-number" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reader = (build-asdf-system { - pname = "reader"; - version = "v0.10.0"; - asds = [ "reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reader/2020-12-20/reader-v0.10.0.tgz"; - sha256 = "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7"; - system = "reader"; - asd = "reader"; - }); - systems = [ "reader" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam" self) (getAttr "hash-set" self) (getAttr "iterate" self) (getAttr "split-sequence" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reader_plus_swank = (build-asdf-system { - pname = "reader+swank"; - version = "v0.10.0"; - asds = [ "reader+swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reader/2020-12-20/reader-v0.10.0.tgz"; - sha256 = "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7"; - system = "reader+swank"; - asd = "reader+swank"; - }); - systems = [ "reader+swank" ]; - lispLibs = [ (getAttr "reader" self) (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reader-interception = (build-asdf-system { - pname = "reader-interception"; - version = "20150608-git"; - asds = [ "reader-interception" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reader-interception/2015-06-08/reader-interception-20150608-git.tgz"; - sha256 = "1f6xblayqb9q01qclvqx2gllqxm0qk8rmlp38rz433vgjxbq79y0"; - system = "reader-interception"; - asd = "reader-interception"; - }); - systems = [ "reader-interception" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reader-interception-test = (build-asdf-system { - pname = "reader-interception-test"; - version = "20150608-git"; - asds = [ "reader-interception-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reader-interception/2015-06-08/reader-interception-20150608-git.tgz"; - sha256 = "1f6xblayqb9q01qclvqx2gllqxm0qk8rmlp38rz433vgjxbq79y0"; - system = "reader-interception-test"; - asd = "reader-interception-test"; - }); - systems = [ "reader-interception-test" ]; - lispLibs = [ (getAttr "fare-utils" self) (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "reader-interception" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks = (build-asdf-system { - pname = "reblocks"; - version = "20241012-git"; - asds = [ "reblocks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks/2024-10-12/reblocks-20241012-git.tgz"; - sha256 = "0s8npy7bh013qhm6ngvi7ar117ja2m098nr4krnzlcg2ivxdff3i"; - system = "reblocks"; - asd = "reblocks"; - }); - systems = [ "reblocks" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-cookie" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "cl-strings" self) (getAttr "clack" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "f-underscore" self) (getAttr "find-port" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "lack" self) (getAttr "lack-middleware-session" self) (getAttr "lack-request" self) (getAttr "lack-response" self) (getAttr "lack-util" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "log4cl-extras" self) (getAttr "metacopy" self) (getAttr "metatilities" self) (getAttr "named-readtables" self) (getAttr "parenscript" self) (getAttr "puri" self) (getAttr "pythonic-string-reader" self) (getAttr "quri" self) (getAttr "routes" self) (getAttr "salza2" self) (getAttr "serapeum" self) (getAttr "spinneret" self) (getAttr "str" self) (getAttr "trivial-garbage" self) (getAttr "trivial-open-browser" self) (getAttr "trivial-timeout" self) (getAttr "uuid" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-auth = (build-asdf-system { - pname = "reblocks-auth"; - version = "20241012-git"; - asds = [ "reblocks-auth" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; - sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; - system = "reblocks-auth"; - asd = "reblocks-auth"; - }); - systems = [ "reblocks-auth" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "cl-strings" self) (getAttr "dexador" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "log4cl" self) (getAttr "mailgun" self) (getAttr "mito" self) (getAttr "quri" self) (getAttr "reblocks" self) (getAttr "reblocks-lass" self) (getAttr "reblocks-ui" self) (getAttr "secret-values" self) (getAttr "serapeum" self) (getAttr "uuid" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-auth-ci = (build-asdf-system { - pname = "reblocks-auth-ci"; - version = "20241012-git"; - asds = [ "reblocks-auth-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; - sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; - system = "reblocks-auth-ci"; - asd = "reblocks-auth-ci"; - }); - systems = [ "reblocks-auth-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-auth-example = (build-asdf-system { - pname = "reblocks-auth-example"; - version = "20241012-git"; - asds = [ "reblocks-auth-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; - sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; - system = "reblocks-auth-example"; - asd = "reblocks-auth-example"; - }); - systems = [ "reblocks-auth-example" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "_40ants-logging" self) (getAttr "_40ants-slynk" self) (getAttr "cl_plus_ssl" self) (getAttr "clack-handler-hunchentoot" self) (getAttr "local-time" self) (getAttr "mito" self) (getAttr "reblocks" self) (getAttr "reblocks-auth" self) (getAttr "reblocks-lass" self) (getAttr "reblocks-navigation-widget" self) (getAttr "reblocks-prometheus" self) (getAttr "reblocks-ui" self) (getAttr "serapeum" self) (getAttr "spinneret" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-auth-tests = (build-asdf-system { - pname = "reblocks-auth-tests"; - version = "20241012-git"; - asds = [ "reblocks-auth-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; - sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; - system = "reblocks-auth-tests"; - asd = "reblocks-auth-tests"; - }); - systems = [ "reblocks-auth-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-docs = (build-asdf-system { - pname = "reblocks-docs"; - version = "20241012-git"; - asds = [ "reblocks-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks/2024-10-12/reblocks-20241012-git.tgz"; - sha256 = "0s8npy7bh013qhm6ngvi7ar117ja2m098nr4krnzlcg2ivxdff3i"; - system = "reblocks-docs"; - asd = "reblocks-docs"; - }); - systems = [ "reblocks-docs" ]; - lispLibs = [ (getAttr "reblocks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-file-server = (build-asdf-system { - pname = "reblocks-file-server"; - version = "20241012-git"; - asds = [ "reblocks-file-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; - sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; - system = "reblocks-file-server"; - asd = "reblocks-file-server"; - }); - systems = [ "reblocks-file-server" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "log4cl" self) (getAttr "reblocks" self) (getAttr "routes" self) (getAttr "trivial-mimes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-file-server-ci = (build-asdf-system { - pname = "reblocks-file-server-ci"; - version = "20241012-git"; - asds = [ "reblocks-file-server-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; - sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; - system = "reblocks-file-server-ci"; - asd = "reblocks-file-server-ci"; - }); - systems = [ "reblocks-file-server-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-file-server-docs = (build-asdf-system { - pname = "reblocks-file-server-docs"; - version = "20241012-git"; - asds = [ "reblocks-file-server-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; - sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; - system = "reblocks-file-server-docs"; - asd = "reblocks-file-server-docs"; - }); - systems = [ "reblocks-file-server-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-file-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-file-server-tests = (build-asdf-system { - pname = "reblocks-file-server-tests"; - version = "20241012-git"; - asds = [ "reblocks-file-server-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; - sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; - system = "reblocks-file-server-tests"; - asd = "reblocks-file-server-tests"; - }); - systems = [ "reblocks-file-server-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-lass = (build-asdf-system { - pname = "reblocks-lass"; - version = "20241012-git"; - asds = [ "reblocks-lass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; - sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; - system = "reblocks-lass"; - asd = "reblocks-lass"; - }); - systems = [ "reblocks-lass" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "lass" self) (getAttr "reblocks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-lass-ci = (build-asdf-system { - pname = "reblocks-lass-ci"; - version = "20241012-git"; - asds = [ "reblocks-lass-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; - sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; - system = "reblocks-lass-ci"; - asd = "reblocks-lass-ci"; - }); - systems = [ "reblocks-lass-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-lass-docs = (build-asdf-system { - pname = "reblocks-lass-docs"; - version = "20241012-git"; - asds = [ "reblocks-lass-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; - sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; - system = "reblocks-lass-docs"; - asd = "reblocks-lass-docs"; - }); - systems = [ "reblocks-lass-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-lass" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-lass-tests = (build-asdf-system { - pname = "reblocks-lass-tests"; - version = "20241012-git"; - asds = [ "reblocks-lass-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; - sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; - system = "reblocks-lass-tests"; - asd = "reblocks-lass-tests"; - }); - systems = [ "reblocks-lass-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-navigation-widget = (build-asdf-system { - pname = "reblocks-navigation-widget"; - version = "20241012-git"; - asds = [ "reblocks-navigation-widget" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; - sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; - system = "reblocks-navigation-widget"; - asd = "reblocks-navigation-widget"; - }); - systems = [ "reblocks-navigation-widget" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "log4cl" self) (getAttr "reblocks" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-navigation-widget-ci = (build-asdf-system { - pname = "reblocks-navigation-widget-ci"; - version = "20241012-git"; - asds = [ "reblocks-navigation-widget-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; - sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; - system = "reblocks-navigation-widget-ci"; - asd = "reblocks-navigation-widget-ci"; - }); - systems = [ "reblocks-navigation-widget-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-navigation-widget-docs = (build-asdf-system { - pname = "reblocks-navigation-widget-docs"; - version = "20241012-git"; - asds = [ "reblocks-navigation-widget-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; - sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; - system = "reblocks-navigation-widget-docs"; - asd = "reblocks-navigation-widget-docs"; - }); - systems = [ "reblocks-navigation-widget-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-navigation-widget" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-navigation-widget-tests = (build-asdf-system { - pname = "reblocks-navigation-widget-tests"; - version = "20241012-git"; - asds = [ "reblocks-navigation-widget-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; - sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; - system = "reblocks-navigation-widget-tests"; - asd = "reblocks-navigation-widget-tests"; - }); - systems = [ "reblocks-navigation-widget-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-parenscript = (build-asdf-system { - pname = "reblocks-parenscript"; - version = "20241012-git"; - asds = [ "reblocks-parenscript" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; - sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; - system = "reblocks-parenscript"; - asd = "reblocks-parenscript"; - }); - systems = [ "reblocks-parenscript" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "parenscript" self) (getAttr "reblocks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-parenscript-ci = (build-asdf-system { - pname = "reblocks-parenscript-ci"; - version = "20241012-git"; - asds = [ "reblocks-parenscript-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; - sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; - system = "reblocks-parenscript-ci"; - asd = "reblocks-parenscript-ci"; - }); - systems = [ "reblocks-parenscript-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-parenscript-docs = (build-asdf-system { - pname = "reblocks-parenscript-docs"; - version = "20241012-git"; - asds = [ "reblocks-parenscript-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; - sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; - system = "reblocks-parenscript-docs"; - asd = "reblocks-parenscript-docs"; - }); - systems = [ "reblocks-parenscript-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-parenscript-tests = (build-asdf-system { - pname = "reblocks-parenscript-tests"; - version = "20241012-git"; - asds = [ "reblocks-parenscript-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; - sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; - system = "reblocks-parenscript-tests"; - asd = "reblocks-parenscript-tests"; - }); - systems = [ "reblocks-parenscript-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-prometheus = (build-asdf-system { - pname = "reblocks-prometheus"; - version = "20241012-git"; - asds = [ "reblocks-prometheus" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; - sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; - system = "reblocks-prometheus"; - asd = "reblocks-prometheus"; - }); - systems = [ "reblocks-prometheus" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "cffi-grovel" self) (getAttr "log4cl-extras" self) (getAttr "prometheus" self) (getAttr "prometheus-gc" self) (getAttr "prometheus_dot_collectors_dot_process" self) (getAttr "prometheus_dot_collectors_dot_sbcl" self) (getAttr "prometheus_dot_formats_dot_text" self) (getAttr "reblocks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-prometheus-ci = (build-asdf-system { - pname = "reblocks-prometheus-ci"; - version = "20241012-git"; - asds = [ "reblocks-prometheus-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; - sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; - system = "reblocks-prometheus-ci"; - asd = "reblocks-prometheus-ci"; - }); - systems = [ "reblocks-prometheus-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-prometheus-docs = (build-asdf-system { - pname = "reblocks-prometheus-docs"; - version = "20241012-git"; - asds = [ "reblocks-prometheus-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; - sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; - system = "reblocks-prometheus-docs"; - asd = "reblocks-prometheus-docs"; - }); - systems = [ "reblocks-prometheus-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-prometheus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-prometheus-tests = (build-asdf-system { - pname = "reblocks-prometheus-tests"; - version = "20241012-git"; - asds = [ "reblocks-prometheus-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; - sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; - system = "reblocks-prometheus-tests"; - asd = "reblocks-prometheus-tests"; - }); - systems = [ "reblocks-prometheus-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-tests = (build-asdf-system { - pname = "reblocks-tests"; - version = "20241012-git"; - asds = [ "reblocks-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks/2024-10-12/reblocks-20241012-git.tgz"; - sha256 = "0s8npy7bh013qhm6ngvi7ar117ja2m098nr4krnzlcg2ivxdff3i"; - system = "reblocks-tests"; - asd = "reblocks-tests"; - }); - systems = [ "reblocks-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-mock" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "hamcrest" self) (getAttr "lack-request" self) (getAttr "lack-test" self) (getAttr "reblocks" self) (getAttr "rove" self) (getAttr "serapeum" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-typeahead = (build-asdf-system { - pname = "reblocks-typeahead"; - version = "20241012-git"; - asds = [ "reblocks-typeahead" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; - sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; - system = "reblocks-typeahead"; - asd = "reblocks-typeahead"; - }); - systems = [ "reblocks-typeahead" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "parenscript" self) (getAttr "reblocks" self) (getAttr "reblocks-lass" self) (getAttr "reblocks-parenscript" self) (getAttr "reblocks-ui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-typeahead-ci = (build-asdf-system { - pname = "reblocks-typeahead-ci"; - version = "20241012-git"; - asds = [ "reblocks-typeahead-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; - sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; - system = "reblocks-typeahead-ci"; - asd = "reblocks-typeahead-ci"; - }); - systems = [ "reblocks-typeahead-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-typeahead-docs = (build-asdf-system { - pname = "reblocks-typeahead-docs"; - version = "20241012-git"; - asds = [ "reblocks-typeahead-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; - sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; - system = "reblocks-typeahead-docs"; - asd = "reblocks-typeahead-docs"; - }); - systems = [ "reblocks-typeahead-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-typeahead" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-typeahead-example = (build-asdf-system { - pname = "reblocks-typeahead-example"; - version = "20241012-git"; - asds = [ "reblocks-typeahead-example" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; - sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; - system = "reblocks-typeahead-example"; - asd = "reblocks-typeahead-example"; - }); - systems = [ "reblocks-typeahead-example" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "_40ants-logging" self) (getAttr "_40ants-slynk" self) (getAttr "alexandria" self) (getAttr "clack-handler-hunchentoot" self) (getAttr "mito" self) (getAttr "reblocks" self) (getAttr "reblocks-auth" self) (getAttr "reblocks-lass" self) (getAttr "reblocks-navigation-widget" self) (getAttr "reblocks-prometheus" self) (getAttr "reblocks-typeahead" self) (getAttr "reblocks-ui" self) (getAttr "serapeum" self) (getAttr "spinneret" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-typeahead-tests = (build-asdf-system { - pname = "reblocks-typeahead-tests"; - version = "20241012-git"; - asds = [ "reblocks-typeahead-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; - sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; - system = "reblocks-typeahead-tests"; - asd = "reblocks-typeahead-tests"; - }); - systems = [ "reblocks-typeahead-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-ui = (build-asdf-system { - pname = "reblocks-ui"; - version = "20241012-git"; - asds = [ "reblocks-ui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-ui/2024-10-12/reblocks-ui-20241012-git.tgz"; - sha256 = "1iwq62ba0rsiqw34d681nzg88wzps1f3d1ahl99crrk9xpy1c3y5"; - system = "reblocks-ui"; - asd = "reblocks-ui"; - }); - systems = [ "reblocks-ui" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "log4cl" self) (getAttr "log4cl-extras" self) (getAttr "parenscript" self) (getAttr "quri" self) (getAttr "reblocks" self) (getAttr "reblocks-parenscript" self) (getAttr "serapeum" self) (getAttr "spinneret" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-ui-docs = (build-asdf-system { - pname = "reblocks-ui-docs"; - version = "20241012-git"; - asds = [ "reblocks-ui-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-ui/2024-10-12/reblocks-ui-20241012-git.tgz"; - sha256 = "1iwq62ba0rsiqw34d681nzg88wzps1f3d1ahl99crrk9xpy1c3y5"; - system = "reblocks-ui-docs"; - asd = "reblocks-ui-docs"; - }); - systems = [ "reblocks-ui-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "reblocks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-ui-examples = (build-asdf-system { - pname = "reblocks-ui-examples"; - version = "20241012-git"; - asds = [ "reblocks-ui-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-ui/2024-10-12/reblocks-ui-20241012-git.tgz"; - sha256 = "1iwq62ba0rsiqw34d681nzg88wzps1f3d1ahl99crrk9xpy1c3y5"; - system = "reblocks-ui-examples"; - asd = "reblocks-ui-examples"; - }); - systems = [ "reblocks-ui-examples" ]; - lispLibs = [ (getAttr "reblocks" self) (getAttr "reblocks-lass" self) (getAttr "reblocks-ui" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-websocket = (build-asdf-system { - pname = "reblocks-websocket"; - version = "20241012-git"; - asds = [ "reblocks-websocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; - sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; - system = "reblocks-websocket"; - asd = "reblocks-websocket"; - }); - systems = [ "reblocks-websocket" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "jonathan" self) (getAttr "log4cl-extras" self) (getAttr "parenscript" self) (getAttr "reblocks" self) (getAttr "reblocks-parenscript" self) (getAttr "serapeum" self) (getAttr "websocket-driver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-websocket-ci = (build-asdf-system { - pname = "reblocks-websocket-ci"; - version = "20241012-git"; - asds = [ "reblocks-websocket-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; - sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; - system = "reblocks-websocket-ci"; - asd = "reblocks-websocket-ci"; - }); - systems = [ "reblocks-websocket-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-websocket-docs = (build-asdf-system { - pname = "reblocks-websocket-docs"; - version = "20241012-git"; - asds = [ "reblocks-websocket-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; - sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; - system = "reblocks-websocket-docs"; - asd = "reblocks-websocket-docs"; - }); - systems = [ "reblocks-websocket-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "reblocks-websocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reblocks-websocket-tests = (build-asdf-system { - pname = "reblocks-websocket-tests"; - version = "20241012-git"; - asds = [ "reblocks-websocket-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; - sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; - system = "reblocks-websocket-tests"; - asd = "reblocks-websocket-tests"; - }); - systems = [ "reblocks-websocket-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rectangle-packing = (build-asdf-system { - pname = "rectangle-packing"; - version = "20130615-git"; - asds = [ "rectangle-packing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rectangle-packing/2013-06-15/rectangle-packing-20130615-git.tgz"; - sha256 = "1m31qbgkrgbp753mr012hpzjfddwmfzvazaadp3s6wd34vmbbv01"; - system = "rectangle-packing"; - asd = "rectangle-packing"; - }); - systems = [ "rectangle-packing" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - recur = (build-asdf-system { - pname = "recur"; - version = "20230618-git"; - asds = [ "recur" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/recur/2023-06-18/recur-20230618-git.tgz"; - sha256 = "1wlw378h3k4ganw49kk5zrhx3w692yfdb4zaiciwqzviwz52c7gc"; - system = "recur"; - asd = "recur"; - }); - systems = [ "recur" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - recursive-regex = (build-asdf-system { - pname = "recursive-regex"; - version = "20120407-git"; - asds = [ "recursive-regex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/recursive-regex/2012-04-07/recursive-regex-20120407-git.tgz"; - sha256 = "1alsfqfa85dwms7i3xrbp6ahlqk9a3sl8d4llxy1ydb0rlb09l4r"; - system = "recursive-regex"; - asd = "recursive-regex"; - }); - systems = [ "recursive-regex" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - recursive-regex-test = (build-asdf-system { - pname = "recursive-regex-test"; - version = "20120407-git"; - asds = [ "recursive-regex-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/recursive-regex/2012-04-07/recursive-regex-20120407-git.tgz"; - sha256 = "1alsfqfa85dwms7i3xrbp6ahlqk9a3sl8d4llxy1ydb0rlb09l4r"; - system = "recursive-regex-test"; - asd = "recursive-regex"; - }); - systems = [ "recursive-regex-test" ]; - lispLibs = [ (getAttr "lisp-unit" self) (getAttr "recursive-regex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - recursive-restart = (build-asdf-system { - pname = "recursive-restart"; - version = "20161031-git"; - asds = [ "recursive-restart" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/recursive-restart/2016-10-31/recursive-restart-20161031-git.tgz"; - sha256 = "0lgw95bnzw99avrb7vcg02fbw3y5mazfgnkim8gsazfjliaj21m7"; - system = "recursive-restart"; - asd = "recursive-restart"; - }); - systems = [ "recursive-restart" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - red-black-tree = (build-asdf-system { - pname = "red-black-tree"; - version = "20220707-git"; - asds = [ "red-black-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/red-black-tree/2022-07-07/red-black-tree-20220707-git.tgz"; - sha256 = "0dbl6y4l7k30a13d6rfdfby6p27li5b17nvz7xgyajxl9q5zz5kk"; - system = "red-black-tree"; - asd = "red-black-tree"; - }); - systems = [ "red-black-tree" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - redirect-stream = (build-asdf-system { - pname = "redirect-stream"; - version = "20231021-git"; - asds = [ "redirect-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/redirect-stream/2023-10-21/redirect-stream-20231021-git.tgz"; - sha256 = "1x8m2jk02dmsc2y8kq5h1bkdl51qz3ldg58hdzj6dpyi6ciykj28"; - system = "redirect-stream"; - asd = "redirect-stream"; - }); - systems = [ "redirect-stream" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - regex = (build-asdf-system { - pname = "regex"; - version = "20120909-git"; - asds = [ "regex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regex/2012-09-09/regex-20120909-git.tgz"; - sha256 = "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"; - system = "regex"; - asd = "regex"; - }); - systems = [ "regex" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - remote-js = (build-asdf-system { - pname = "remote-js"; - version = "20190710-git"; - asds = [ "remote-js" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/remote-js/2019-07-10/remote-js-20190710-git.tgz"; - sha256 = "1z8apvfng8i7x4dsnz9da4y2l9mr7jykm19lmq3070qra7r3lby6"; - system = "remote-js"; - asd = "remote-js"; - }); - systems = [ "remote-js" ]; - lispLibs = [ (getAttr "cl-markup" self) (getAttr "find-port" self) (getAttr "trivial-ws" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - remote-js-test = (build-asdf-system { - pname = "remote-js-test"; - version = "20190710-git"; - asds = [ "remote-js-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/remote-js/2019-07-10/remote-js-20190710-git.tgz"; - sha256 = "1z8apvfng8i7x4dsnz9da4y2l9mr7jykm19lmq3070qra7r3lby6"; - system = "remote-js-test"; - asd = "remote-js-test"; - }); - systems = [ "remote-js-test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "fiveam" self) (getAttr "remote-js" self) (getAttr "trivial-open-browser" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - repl-utilities = (build-asdf-system { - pname = "repl-utilities"; - version = "20210228-git"; - asds = [ "repl-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/repl-utilities/2021-02-28/repl-utilities-20210228-git.tgz"; - sha256 = "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"; - system = "repl-utilities"; - asd = "repl-utilities"; - }); - systems = [ "repl-utilities" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - replic = (build-asdf-system { - pname = "replic"; - version = "20230214-git"; - asds = [ "replic" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/replic/2023-02-14/replic-20230214-git.tgz"; - sha256 = "1jq0ysgpkcsw2fbxjy0v9kqvfnrdwzvrzc1a7fykihds548z3slf"; - system = "replic"; - asd = "replic"; - }); - systems = [ "replic" ]; - lispLibs = [ (getAttr "cl-ansi-text" self) (getAttr "cl-readline" self) (getAttr "py-configparser" self) (getAttr "shlex" self) (getAttr "str" self) (getAttr "unix-opts" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - replic-test = (build-asdf-system { - pname = "replic-test"; - version = "20230214-git"; - asds = [ "replic-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/replic/2023-02-14/replic-20230214-git.tgz"; - sha256 = "1jq0ysgpkcsw2fbxjy0v9kqvfnrdwzvrzc1a7fykihds548z3slf"; - system = "replic-test"; - asd = "replic-test"; - }); - systems = [ "replic-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "replic" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - research = (build-asdf-system { - pname = "research"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "research" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "research"; - asd = "research"; - }); - systems = [ "research" ]; - lispLibs = [ (getAttr "_2d-array-test" self) (getAttr "adjuvant" self) (getAttr "adjuvant-test" self) (getAttr "dispatch-test" self) (getAttr "ndfa-test" self) (getAttr "rte-regexp-test" self) (getAttr "rte-test" self) (getAttr "scrutiny" self) (getAttr "scrutiny-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - resignal-bind = (build-asdf-system { - pname = "resignal-bind"; - version = "20211020-git"; - asds = [ "resignal-bind" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/resignal-bind/2021-10-20/resignal-bind-20211020-git.tgz"; - sha256 = "109b5bf2h3yqax87r16dsbnb0xdd9kqi0zdisy0wja1h622yrxhc"; - system = "resignal-bind"; - asd = "resignal-bind"; - }); - systems = [ "resignal-bind" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - resignal-bind_dot_test = (build-asdf-system { - pname = "resignal-bind.test"; - version = "20211020-git"; - asds = [ "resignal-bind.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/resignal-bind/2021-10-20/resignal-bind-20211020-git.tgz"; - sha256 = "109b5bf2h3yqax87r16dsbnb0xdd9kqi0zdisy0wja1h622yrxhc"; - system = "resignal-bind.test"; - asd = "resignal-bind.test"; - }); - systems = [ "resignal-bind.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "resignal-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restas = (build-asdf-system { - pname = "restas"; - version = "20191008-git"; - asds = [ "restas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restas/2019-10-08/restas-20191008-git.tgz"; - sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn"; - system = "restas"; - asd = "restas"; - }); - systems = [ "restas" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "data-sift" self) (getAttr "hunchentoot" self) (getAttr "routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restas-directory-publisher = (build-asdf-system { - pname = "restas-directory-publisher"; - version = "20130128-git"; - asds = [ "restas-directory-publisher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restas-directory-publisher/2013-01-28/restas-directory-publisher-20130128-git.tgz"; - sha256 = "1ra4bxsg9v507zrqjx78ak3797clagl6n62d3bx0aghrnkal1gmp"; - system = "restas-directory-publisher"; - asd = "restas-directory-publisher"; - }); - systems = [ "restas-directory-publisher" ]; - lispLibs = [ (getAttr "closure-template" self) (getAttr "local-time" self) (getAttr "restas" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restas-doc = (build-asdf-system { - pname = "restas-doc"; - version = "20191008-git"; - asds = [ "restas-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restas/2019-10-08/restas-20191008-git.tgz"; - sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn"; - system = "restas-doc"; - asd = "restas-doc"; - }); - systems = [ "restas-doc" ]; - lispLibs = [ (getAttr "restas" self) (getAttr "restas-directory-publisher" self) (getAttr "sphinx" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restas_dot_file-publisher = (build-asdf-system { - pname = "restas.file-publisher"; - version = "20120107-git"; - asds = [ "restas.file-publisher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restas.file-publisher/2012-01-07/restas.file-publisher-20120107-git.tgz"; - sha256 = "12h291as21ziqb1l6p2p4hy429z6zznacp1gn0m2vah7f811q75l"; - system = "restas.file-publisher"; - asd = "restas.file-publisher"; - }); - systems = [ "restas.file-publisher" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "restas" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restful = (build-asdf-system { - pname = "restful"; - version = "20150608-git"; - asds = [ "restful" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restful/2015-06-08/restful-20150608-git.tgz"; - sha256 = "1imcpd9zm1dbb1675pf3g3d6w9vyxk07g7r33174qdw470j8ml5n"; - system = "restful"; - asd = "restful"; - }); - systems = [ "restful" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "hunchentoot" self) (getAttr "jonathan" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restful-test = (build-asdf-system { - pname = "restful-test"; - version = "20150608-git"; - asds = [ "restful-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restful/2015-06-08/restful-20150608-git.tgz"; - sha256 = "1imcpd9zm1dbb1675pf3g3d6w9vyxk07g7r33174qdw470j8ml5n"; - system = "restful-test"; - asd = "restful-test"; - }); - systems = [ "restful-test" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "restful" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - restricted-functions = (build-asdf-system { - pname = "restricted-functions"; - version = "20190521-git"; - asds = [ "restricted-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/restricted-functions/2019-05-21/restricted-functions-20190521-git.tgz"; - sha256 = "092k7bp6n8kppf2wdqf1kf1h8lrww6k1dcxp05dby779b8c6kfz4"; - system = "restricted-functions"; - asd = "restricted-functions"; - }); - systems = [ "restricted-functions" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "simplified-types" self) (getAttr "trivia" self) (getAttr "trivial-arguments" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - retrospectiff = (build-asdf-system { - pname = "retrospectiff"; - version = "20211209-git"; - asds = [ "retrospectiff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/retrospectiff/2021-12-09/retrospectiff-20211209-git.tgz"; - sha256 = "1vfcbfzhkm2wkxnjg7y6gg93wlib9cqpbdbhyqcm5kc7170ci3vz"; - system = "retrospectiff"; - asd = "retrospectiff"; - }); - systems = [ "retrospectiff" ]; - lispLibs = [ (getAttr "cl-jpeg" self) (getAttr "com_dot_gigamonkeys_dot_binary-data" self) (getAttr "deflate" self) (getAttr "flexi-streams" self) (getAttr "ieee-floats" self) (getAttr "opticl-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - reversi = (build-asdf-system { - pname = "reversi"; - version = "20201016-git"; - asds = [ "reversi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/reversi/2020-10-16/reversi-20201016-git.tgz"; - sha256 = "1vwjk207hvn5skazmkrcifkv4ia9nm5312rj0fr3w5423dr56swx"; - system = "reversi"; - asd = "reversi"; - }); - systems = [ "reversi" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rfc2109 = (build-asdf-system { - pname = "rfc2109"; - version = "20151218-darcs"; - asds = [ "rfc2109" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rfc2109/2015-12-18/rfc2109-20151218-darcs.tgz"; - sha256 = "1y767qjv5jxyfqzp0zpw96yz95mb8hhpjj9dn2i6b92r0z2vr42d"; - system = "rfc2109"; - asd = "rfc2109"; - }); - systems = [ "rfc2109" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rfc2388 = (build-asdf-system { - pname = "rfc2388"; - version = "20180831-git"; - asds = [ "rfc2388" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rfc2388/2018-08-31/rfc2388-20180831-git.tgz"; - sha256 = "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"; - system = "rfc2388"; - asd = "rfc2388"; - }); - systems = [ "rfc2388" ]; - lispLibs = [ ]; - meta = {}; - }); - rfc2388-binary = (build-asdf-system { - pname = "rfc2388-binary"; - version = "20170124-darcs"; - asds = [ "rfc2388-binary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rfc2388-binary/2017-01-24/rfc2388-binary-20170124-darcs.tgz"; - sha256 = "1ddjhd9vqramg93963d4py9a2hqpy1fr1ly517r3bpjx7a5mffwk"; - system = "rfc2388-binary"; - asd = "rfc2388-binary"; - }); - systems = [ "rfc2388-binary" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rlc = (build-asdf-system { - pname = "rlc"; - version = "20150923-git"; - asds = [ "rlc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rlc/2015-09-23/rlc-20150923-git.tgz"; - sha256 = "1c37as5x45yizs76s7115a0w3fgas80bjb8xzq7yylpmxq44s2rk"; - system = "rlc"; - asd = "rlc"; - }); - systems = [ "rlc" ]; - lispLibs = [ (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - roan = (build-asdf-system { - pname = "roan"; - version = "20201220-git"; - asds = [ "roan" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/roan/2020-12-20/roan-20201220-git.tgz"; - sha256 = "032znprz03x4apzssb5vzs55cfdfyvca56bcrwxwm9dgkh3cnh7z"; - system = "roan"; - asd = "roan"; - }); - systems = [ "roan" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-encodings" self) (getAttr "binascii" self) (getAttr "cl-fad" self) (getAttr "cl-interpol" self) (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "named-readtables" self) (getAttr "plump" self) (getAttr "uuid" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - robot = (build-asdf-system { - pname = "robot"; - version = "master-fe503896-git"; - asds = [ "robot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "robot"; - asd = "robot"; - }); - systems = [ "robot" ]; - lispLibs = [ (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rock = (build-asdf-system { - pname = "rock"; - version = "20150608-git"; - asds = [ "rock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz"; - sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8"; - system = "rock"; - asd = "rock"; - }); - systems = [ "rock" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "trivial-download" self) (getAttr "trivial-extract" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rock-test = (build-asdf-system { - pname = "rock-test"; - version = "20150608-git"; - asds = [ "rock-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz"; - sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8"; - system = "rock-test"; - asd = "rock-test"; - }); - systems = [ "rock-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "rock" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rock-web = (build-asdf-system { - pname = "rock-web"; - version = "20150608-git"; - asds = [ "rock-web" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz"; - sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8"; - system = "rock-web"; - asd = "rock-web"; - }); - systems = [ "rock-web" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "_3bmd-ext-definition-lists" self) (getAttr "cl-markup" self) (getAttr "lass" self) (getAttr "rock" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - romreader = (build-asdf-system { - pname = "romreader"; - version = "20140713-git"; - asds = [ "romreader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/romreader/2014-07-13/romreader-20140713-git.tgz"; - sha256 = "1k3fnh48vy5wdbqif4hmflmxc3xnihyi1222cldcjvxl294yk6xx"; - system = "romreader"; - asd = "romreader"; - }); - systems = [ "romreader" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - routes = (build-asdf-system { - pname = "routes"; - version = "20170124-git"; - asds = [ "routes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-routes/2017-01-24/cl-routes-20170124-git.tgz"; - sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1"; - system = "routes"; - asd = "routes"; - }); - systems = [ "routes" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "puri" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - routes-test = (build-asdf-system { - pname = "routes-test"; - version = "20170124-git"; - asds = [ "routes-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-routes/2017-01-24/cl-routes-20170124-git.tgz"; - sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1"; - system = "routes-test"; - asd = "routes"; - }); - systems = [ "routes-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rove = (build-asdf-system { - pname = "rove"; - version = "20241012-git"; - asds = [ "rove" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rove/2024-10-12/rove-20241012-git.tgz"; - sha256 = "1cx55d8frlk8rzdwbf1698rsvy34gx0ws2ix257qsh7gxy2mld05"; - system = "rove"; - asd = "rove"; - }); - systems = [ "rove" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "dissect" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - rovers-problem-translator = (build-asdf-system { - pname = "rovers-problem-translator"; - version = "20241012-git"; - asds = [ "rovers-problem-translator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shop3/2024-10-12/shop3-20241012-git.tgz"; - sha256 = "1sdyyyd82fqmm9lcqmg7k8yy3l3891m2gjwidibzvk95bp4xf9sd"; - system = "rovers-problem-translator"; - asd = "rovers-problem-translator"; - }); - systems = [ "rovers-problem-translator" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "shop3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rpcq = (build-asdf-system { - pname = "rpcq"; - version = "v3.10.0"; - asds = [ "rpcq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rpcq/2022-07-07/rpcq-v3.10.0.tgz"; - sha256 = "1bvppxlacvp0pfdbpn7ls1zxd127jacl225ds7lph5s8f8cyvf17"; - system = "rpcq"; - asd = "rpcq"; - }); - systems = [ "rpcq" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-messagepack" self) (getAttr "cl-ppcre" self) (getAttr "cl-syslog" self) (getAttr "flexi-streams" self) (getAttr "local-time" self) (getAttr "parse-float" self) (getAttr "pzmq" self) (getAttr "trivial-backtrace" self) (getAttr "uuid" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rpcq-tests = (build-asdf-system { - pname = "rpcq-tests"; - version = "v3.10.0"; - asds = [ "rpcq-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rpcq/2022-07-07/rpcq-v3.10.0.tgz"; - sha256 = "1bvppxlacvp0pfdbpn7ls1zxd127jacl225ds7lph5s8f8cyvf17"; - system = "rpcq-tests"; - asd = "rpcq-tests"; - }); - systems = [ "rpcq-tests" ]; - lispLibs = [ (getAttr "cl-messagepack" self) (getAttr "cl-syslog" self) (getAttr "fiasco" self) (getAttr "rpcq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rpm = (build-asdf-system { - pname = "rpm"; - version = "20160421-git"; - asds = [ "rpm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rpm/2016-04-21/rpm-20160421-git.tgz"; - sha256 = "0qn4vw3pvjm0maksl57mwikcmv7calzlblp5s01ixrn3nrgxmd9k"; - system = "rpm"; - asd = "rpm"; - }); - systems = [ "rpm" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "fare-utils" self) (getAttr "inferior-shell" self) (getAttr "lambda-reader" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors = (build-asdf-system { - pname = "rs-colors"; - version = "20220331-git"; - asds = [ "rs-colors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors"; - asd = "rs-colors"; - }); - systems = [ "rs-colors" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "read-number" self) (getAttr "rs-colors-internal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-html = (build-asdf-system { - pname = "rs-colors-html"; - version = "20220331-git"; - asds = [ "rs-colors-html" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-html"; - asd = "rs-colors-html"; - }); - systems = [ "rs-colors-html" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-internal = (build-asdf-system { - pname = "rs-colors-internal"; - version = "20220331-git"; - asds = [ "rs-colors-internal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-internal"; - asd = "rs-colors-internal"; - }); - systems = [ "rs-colors-internal" ]; - lispLibs = [ (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-material-io = (build-asdf-system { - pname = "rs-colors-material-io"; - version = "20220331-git"; - asds = [ "rs-colors-material-io" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-material-io"; - asd = "rs-colors-material-io"; - }); - systems = [ "rs-colors-material-io" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-ral = (build-asdf-system { - pname = "rs-colors-ral"; - version = "20220331-git"; - asds = [ "rs-colors-ral" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-ral"; - asd = "rs-colors-ral"; - }); - systems = [ "rs-colors-ral" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-ral-design = (build-asdf-system { - pname = "rs-colors-ral-design"; - version = "20220331-git"; - asds = [ "rs-colors-ral-design" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-ral-design"; - asd = "rs-colors-ral-design"; - }); - systems = [ "rs-colors-ral-design" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-svg = (build-asdf-system { - pname = "rs-colors-svg"; - version = "20220331-git"; - asds = [ "rs-colors-svg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-svg"; - asd = "rs-colors-svg"; - }); - systems = [ "rs-colors-svg" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-tango = (build-asdf-system { - pname = "rs-colors-tango"; - version = "20220331-git"; - asds = [ "rs-colors-tango" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-tango"; - asd = "rs-colors-tango"; - }); - systems = [ "rs-colors-tango" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-colors-x11 = (build-asdf-system { - pname = "rs-colors-x11"; - version = "20220331-git"; - asds = [ "rs-colors-x11" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; - sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; - system = "rs-colors-x11"; - asd = "rs-colors-x11"; - }); - systems = [ "rs-colors-x11" ]; - lispLibs = [ (getAttr "rs-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-dlx = (build-asdf-system { - pname = "rs-dlx"; - version = "20241012-git"; - asds = [ "rs-dlx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-dlx/2024-10-12/rs-dlx-20241012-git.tgz"; - sha256 = "003ykkh61hg5q9lxjckqp8njhpgg21j9008gcsw60hnxdipmanaf"; - system = "rs-dlx"; - asd = "rs-dlx"; - }); - systems = [ "rs-dlx" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rs-json = (build-asdf-system { - pname = "rs-json"; - version = "20230618-git"; - asds = [ "rs-json" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rs-json/2023-06-18/rs-json-20230618-git.tgz"; - sha256 = "0y71as0sg5vfijpzdhv6pj6yv064ldn2shx0y4da8kvaqv949dnq"; - system = "rs-json"; - asd = "rs-json"; - }); - systems = [ "rs-json" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-unicode" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rss = (build-asdf-system { - pname = "rss"; - version = "20201016-git"; - asds = [ "rss" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-rss/2020-10-16/cl-rss-20201016-git.tgz"; - sha256 = "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly"; - system = "rss"; - asd = "rss"; - }); - systems = [ "rss" ]; - lispLibs = [ (getAttr "aserve" self) (getAttr "kmrcl" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rt = (build-asdf-system { - pname = "rt"; - version = "20101006-git"; - asds = [ "rt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rt/2010-10-06/rt-20101006-git.tgz"; - sha256 = "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"; - system = "rt"; - asd = "rt"; - }); - systems = [ "rt" ]; - lispLibs = [ ]; - meta = {}; - }); - rt-events = (build-asdf-system { - pname = "rt-events"; - version = "20160318-git"; - asds = [ "rt-events" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rt-events/2016-03-18/rt-events-20160318-git.tgz"; - sha256 = "17wqhczsi4mq00fp5hfc38b9ijdiaqjh7cvxhy714qqz3f5mxzdw"; - system = "rt-events"; - asd = "rt-events"; - }); - systems = [ "rt-events" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rt-events_dot_examples = (build-asdf-system { - pname = "rt-events.examples"; - version = "20160318-git"; - asds = [ "rt-events.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rt-events/2016-03-18/rt-events-20160318-git.tgz"; - sha256 = "17wqhczsi4mq00fp5hfc38b9ijdiaqjh7cvxhy714qqz3f5mxzdw"; - system = "rt-events.examples"; - asd = "rt-events.examples"; - }); - systems = [ "rt-events.examples" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "rt-events" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rte = (build-asdf-system { - pname = "rte"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "rte" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "rte"; - asd = "rte"; - }); - systems = [ "rte" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "lisp-types" self) (getAttr "ndfa" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rte-regexp = (build-asdf-system { - pname = "rte-regexp"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "rte-regexp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "rte-regexp"; - asd = "rte-regexp"; - }); - systems = [ "rte-regexp" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "rte" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rte-regexp-test = (build-asdf-system { - pname = "rte-regexp-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "rte-regexp-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "rte-regexp-test"; - asd = "rte-regexp-test"; - }); - systems = [ "rte-regexp-test" ]; - lispLibs = [ (getAttr "adjuvant" self) (getAttr "rte" self) (getAttr "rte-regexp" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rte-test = (build-asdf-system { - pname = "rte-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "rte-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "rte-test"; - asd = "rte-test"; - }); - systems = [ "rte-test" ]; - lispLibs = [ (getAttr "_2d-array" self) (getAttr "_2d-array-test" self) (getAttr "adjuvant" self) (getAttr "lisp-types-test" self) (getAttr "ndfa-test" self) (getAttr "rte" self) (getAttr "rte-regexp-test" self) (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rtg-math = (build-asdf-system { - pname = "rtg-math"; - version = "release-quicklisp-29fc5b3d-git"; - asds = [ "rtg-math" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rtg-math/2019-10-07/rtg-math-release-quicklisp-29fc5b3d-git.tgz"; - sha256 = "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"; - system = "rtg-math"; - asd = "rtg-math"; - }); - systems = [ "rtg-math" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "documentation-utils" self) (getAttr "glsl-symbols" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rtg-math_dot_vari = (build-asdf-system { - pname = "rtg-math.vari"; - version = "release-quicklisp-29fc5b3d-git"; - asds = [ "rtg-math.vari" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rtg-math/2019-10-07/rtg-math-release-quicklisp-29fc5b3d-git.tgz"; - sha256 = "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"; - system = "rtg-math.vari"; - asd = "rtg-math.vari"; - }); - systems = [ "rtg-math.vari" ]; - lispLibs = [ (getAttr "glsl-symbols" self) (getAttr "rtg-math" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rucksack = (build-asdf-system { - pname = "rucksack"; - version = "20150608-git"; - asds = [ "rucksack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rucksack/2015-06-08/rucksack-20150608-git.tgz"; - sha256 = "0d6lvhc18i0brh75vp3n974ssx52b42rvwd24llhnphlnhryxh86"; - system = "rucksack"; - asd = "rucksack"; - }); - systems = [ "rucksack" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rucksack-test = (build-asdf-system { - pname = "rucksack-test"; - version = "20150608-git"; - asds = [ "rucksack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rucksack/2015-06-08/rucksack-20150608-git.tgz"; - sha256 = "0d6lvhc18i0brh75vp3n974ssx52b42rvwd24llhnphlnhryxh86"; - system = "rucksack-test"; - asd = "rucksack-test"; - }); - systems = [ "rucksack-test" ]; - lispLibs = [ (getAttr "rucksack" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rutils = (build-asdf-system { - pname = "rutils"; - version = "20221106-git"; - asds = [ "rutils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rutils/2022-11-06/rutils-20221106-git.tgz"; - sha256 = "108l64k7qhbhmgp0wa4krm23wakyfc41wzyl2fgc9k59gf47axhq"; - system = "rutils"; - asd = "rutils"; - }); - systems = [ "rutils" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rutils-test = (build-asdf-system { - pname = "rutils-test"; - version = "20221106-git"; - asds = [ "rutils-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rutils/2022-11-06/rutils-20221106-git.tgz"; - sha256 = "108l64k7qhbhmgp0wa4krm23wakyfc41wzyl2fgc9k59gf47axhq"; - system = "rutils-test"; - asd = "rutils-test"; - }); - systems = [ "rutils-test" ]; - lispLibs = [ (getAttr "rutils" self) (getAttr "should-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - rutilsx = (build-asdf-system { - pname = "rutilsx"; - version = "20221106-git"; - asds = [ "rutilsx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/rutils/2022-11-06/rutils-20221106-git.tgz"; - sha256 = "108l64k7qhbhmgp0wa4krm23wakyfc41wzyl2fgc9k59gf47axhq"; - system = "rutilsx"; - asd = "rutilsx"; - }); - systems = [ "rutilsx" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "named-readtables" self) (getAttr "rutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ryeboy = (build-asdf-system { - pname = "ryeboy"; - version = "20201016-git"; - asds = [ "ryeboy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ryeboy/2020-10-16/ryeboy-20201016-git.tgz"; - sha256 = "0div6m6861damksxdxcycpdyyjn50bjsxfdkksm34w6162zdjcla"; - system = "ryeboy"; - asd = "ryeboy"; - }); - systems = [ "ryeboy" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "com_dot_google_dot_base" self) (getAttr "protobuf" self) (getAttr "prove-asdf" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-base64 = (build-asdf-system { - pname = "s-base64"; - version = "20130128-git"; - asds = [ "s-base64" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-base64/2013-01-28/s-base64-20130128-git.tgz"; - sha256 = "0zrr8zhnkdy97c5g54605nhjlf7fly79ylr1yf6wwyssia04cagg"; - system = "s-base64"; - asd = "s-base64"; - }); - systems = [ "s-base64" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-dot2 = (build-asdf-system { - pname = "s-dot2"; - version = "20241012-git"; - asds = [ "s-dot2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-dot2/2024-10-12/s-dot2-20241012-git.tgz"; - sha256 = "0zc833sc7szwyrrcinl84q3b0y9akh7hd5lhq3vxclk4zgb9n4nf"; - system = "s-dot2"; - asd = "s-dot2"; - }); - systems = [ "s-dot2" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-graphviz = (build-asdf-system { - pname = "s-graphviz"; - version = "20201220-git"; - asds = [ "s-graphviz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-graphviz/2020-12-20/s-graphviz-20201220-git.tgz"; - sha256 = "1841xwci6y1gfhg15464wrlnw8xgsh1mwbg4yy2y7di02q4fbma2"; - system = "s-graphviz"; - asd = "s-graphviz"; - }); - systems = [ "s-graphviz" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "literate-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-http-client = (build-asdf-system { - pname = "s-http-client"; - version = "20200427-git"; - asds = [ "s-http-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-http-client/2020-04-27/s-http-client-20200427-git.tgz"; - sha256 = "1fb2901h91rgfxz3cm1lb2dnd84m1fr745nd2kswd1mj2xz94zn8"; - system = "s-http-client"; - asd = "s-http-client"; - }); - systems = [ "s-http-client" ]; - lispLibs = [ (getAttr "chipz" self) (getAttr "puri" self) (getAttr "s-base64" self) (getAttr "s-sysdeps" self) (getAttr "s-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-http-server = (build-asdf-system { - pname = "s-http-server"; - version = "20200427-git"; - asds = [ "s-http-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-http-server/2020-04-27/s-http-server-20200427-git.tgz"; - sha256 = "025mvnqhxx2c092aam3s4fk9v0p65hzdw39y4lamm0bdralda4bk"; - system = "s-http-server"; - asd = "s-http-server"; - }); - systems = [ "s-http-server" ]; - lispLibs = [ (getAttr "puri" self) (getAttr "s-base64" self) (getAttr "s-sysdeps" self) (getAttr "s-utils" self) (getAttr "salza2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-sql = (build-asdf-system { - pname = "s-sql"; - version = "20241012-git"; - asds = [ "s-sql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; - sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; - system = "s-sql"; - asd = "s-sql"; - }); - systems = [ "s-sql" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-postgres" self) ]; - meta = {}; - }); - s-sysdeps = (build-asdf-system { - pname = "s-sysdeps"; - version = "20210228-git"; - asds = [ "s-sysdeps" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-sysdeps/2021-02-28/s-sysdeps-20210228-git.tgz"; - sha256 = "0rp81iq0rgl48qdwbmfy89glga81hmry2lp8adjbr5h5ybr92b4n"; - system = "s-sysdeps"; - asd = "s-sysdeps"; - }); - systems = [ "s-sysdeps" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "usocket" self) (getAttr "usocket-server" self) ]; - meta = {}; - }); - s-utils = (build-asdf-system { - pname = "s-utils"; - version = "20200427-git"; - asds = [ "s-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-utils/2020-04-27/s-utils-20200427-git.tgz"; - sha256 = "0xggbcvjmj4sdqcs6vaccryqp2piaqxkc0ygkczrd5m14bwrmlp6"; - system = "s-utils"; - asd = "s-utils"; - }); - systems = [ "s-utils" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-xml = (build-asdf-system { - pname = "s-xml"; - version = "20150608-git"; - asds = [ "s-xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz"; - sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1"; - system = "s-xml"; - asd = "s-xml"; - }); - systems = [ "s-xml" ]; - lispLibs = [ ]; - meta = {}; - }); - s-xml-rpc = (build-asdf-system { - pname = "s-xml-rpc"; - version = "20190521-git"; - asds = [ "s-xml-rpc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-xml-rpc/2019-05-21/s-xml-rpc-20190521-git.tgz"; - sha256 = "0z42awkz124xphkahw0mhg1pk029l2799rhyy51387ndd6gbqscx"; - system = "s-xml-rpc"; - asd = "s-xml-rpc"; - }); - systems = [ "s-xml-rpc" ]; - lispLibs = [ (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-xml_dot_examples = (build-asdf-system { - pname = "s-xml.examples"; - version = "20150608-git"; - asds = [ "s-xml.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz"; - sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1"; - system = "s-xml.examples"; - asd = "s-xml"; - }); - systems = [ "s-xml.examples" ]; - lispLibs = [ (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - s-xml_dot_test = (build-asdf-system { - pname = "s-xml.test"; - version = "20150608-git"; - asds = [ "s-xml.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz"; - sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1"; - system = "s-xml.test"; - asd = "s-xml"; - }); - systems = [ "s-xml.test" ]; - lispLibs = [ (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - safe-queue = (build-asdf-system { - pname = "safe-queue"; - version = "20200325-git"; - asds = [ "safe-queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/safe-queue/2020-03-25/safe-queue-20200325-git.tgz"; - sha256 = "1agvp8y2k5c6w35kly6d9a7hi1y6csn4k0hqqdv7i87lgjdi7vrq"; - system = "safe-queue"; - asd = "safe-queue"; - }); - systems = [ "safe-queue" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - safe-read = (build-asdf-system { - pname = "safe-read"; - version = "20220220-git"; - asds = [ "safe-read" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/safe-read/2022-02-20/safe-read-20220220-git.tgz"; - sha256 = "1r9k8danfnqgpbn2vb90n6wdc6jd92h1ig565yplrbh6232lhi26"; - system = "safe-read"; - asd = "safe-read"; - }); - systems = [ "safe-read" ]; - lispLibs = [ (getAttr "local-time" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - safety-params = (build-asdf-system { - pname = "safety-params"; - version = "20190202-git"; - asds = [ "safety-params" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/safety-params/2019-02-02/safety-params-20190202-git.tgz"; - sha256 = "1y69b9aw3vsnsk0vdjyxw011j0lgc5gdwv6ay6vzfipa9gzi92ki"; - system = "safety-params"; - asd = "safety-params"; - }); - systems = [ "safety-params" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - salza2 = (build-asdf-system { - pname = "salza2"; - version = "2.1"; - asds = [ "salza2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/salza2/2021-10-20/salza2-2.1.tgz"; - sha256 = "1p48lxdibnps5rpyh5cmnk0vc77bmmxb32qdzfz93zadr8wwas10"; - system = "salza2"; - asd = "salza2"; - }); - systems = [ "salza2" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - sandalphon_dot_lambda-list = (build-asdf-system { - pname = "sandalphon.lambda-list"; - version = "20241012-git"; - asds = [ "sandalphon.lambda-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sandalphon.lambda-list/2024-10-12/sandalphon.lambda-list-20241012-git.tgz"; - sha256 = "1j4xfcb1n71kh95v0y495snkna5avdp0inbiaia7r5fsxlcf4s45"; - system = "sandalphon.lambda-list"; - asd = "sandalphon.lambda-list"; - }); - systems = [ "sandalphon.lambda-list" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sanitize = (build-asdf-system { - pname = "sanitize"; - version = "20130720-git"; - asds = [ "sanitize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sanitize/2013-07-20/cl-sanitize-20130720-git.tgz"; - sha256 = "101qqgi53scz3aaca57yg5wk9ana2axpwssmgrcb5c2ip5a2lwi3"; - system = "sanitize"; - asd = "sanitize"; - }); - systems = [ "sanitize" ]; - lispLibs = [ (getAttr "cl-libxml2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sanitize-test = (build-asdf-system { - pname = "sanitize-test"; - version = "20130720-git"; - asds = [ "sanitize-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sanitize/2013-07-20/cl-sanitize-20130720-git.tgz"; - sha256 = "101qqgi53scz3aaca57yg5wk9ana2axpwssmgrcb5c2ip5a2lwi3"; - system = "sanitize-test"; - asd = "sanitize"; - }); - systems = [ "sanitize-test" ]; - lispLibs = [ (getAttr "eos" self) (getAttr "sanitize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sanity-clause = (build-asdf-system { - pname = "sanity-clause"; - version = "20210807-git"; - asds = [ "sanity-clause" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sanity-clause/2021-08-07/sanity-clause-20210807-git.tgz"; - sha256 = "0dzh00zpaqv48pn0xhbibiy33j8fwd2scsy5i466c9x9mcbhjz4f"; - system = "sanity-clause"; - asd = "sanity-clause"; - }); - systems = [ "sanity-clause" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arrows" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "local-time" self) (getAttr "parse-float" self) (getAttr "quri" self) (getAttr "str" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sapaclisp = (build-asdf-system { - pname = "sapaclisp"; - version = "1.0a"; - asds = [ "sapaclisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sapaclisp/2012-05-20/sapaclisp-1.0a.tgz"; - sha256 = "1bgqvwvjq8g5wrmp5r1dn1v99hgin9gihwkihz455n9dn90l3pyq"; - system = "sapaclisp"; - asd = "sapaclisp"; - }); - systems = [ "sapaclisp" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sb-cga = (build-asdf-system { - pname = "sb-cga"; - version = "20210531-git"; - asds = [ "sb-cga" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sb-cga/2021-05-31/sb-cga-20210531-git.tgz"; - sha256 = "1y54qlwfrhch9aghk7nsbdx7x2qsvgsws1g2k631l9dsgdakw4w8"; - system = "sb-cga"; - asd = "sb-cga"; - }); - systems = [ "sb-cga" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sb-fastcgi = (build-asdf-system { - pname = "sb-fastcgi"; - version = "20241012-git"; - asds = [ "sb-fastcgi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sb-fastcgi/2024-10-12/sb-fastcgi-20241012-git.tgz"; - sha256 = "1jw5bmim4ll3a1bqlw02ksgw58cv1qr5li0gbczj7g9fjfk3r64z"; - system = "sb-fastcgi"; - asd = "sb-fastcgi"; - }); - systems = [ "sb-fastcgi" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sb-vector-io = (build-asdf-system { - pname = "sb-vector-io"; - version = "20110829-git"; - asds = [ "sb-vector-io" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sb-vector-io/2011-08-29/sb-vector-io-20110829-git.tgz"; - sha256 = "0pwc0nxhv8ba33i8z2f1y7r7ldik4a4xrqrb69dvvasz838k6r22"; - system = "sb-vector-io"; - asd = "sb-vector-io"; - }); - systems = [ "sb-vector-io" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sc-extensions = (build-asdf-system { - pname = "sc-extensions"; - version = "20241012-git"; - asds = [ "sc-extensions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sc-extensions/2024-10-12/sc-extensions-20241012-git.tgz"; - sha256 = "1va153gr7002j5hshalq13gk6jpij29h613nm47aimj01hjy9p0n"; - system = "sc-extensions"; - asd = "sc-extensions"; - }); - systems = [ "sc-extensions" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-collider" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sc-osc = (build-asdf-system { - pname = "sc-osc"; - version = "20241012-git"; - asds = [ "sc-osc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-collider/2024-10-12/cl-collider-20241012-git.tgz"; - sha256 = "0h0fyx7glxnzwyam2aflma6003h8fcvcf5nj5f7svarw9brcc2xa"; - system = "sc-osc"; - asd = "sc-osc"; - }); - systems = [ "sc-osc" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "ieee-floats" self) (getAttr "osc" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - schannel = (build-asdf-system { - pname = "schannel"; - version = "20211230-git"; - asds = [ "schannel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/schannel/2021-12-30/schannel-20211230-git.tgz"; - sha256 = "1f7dncrjsswrr8wrm7qzxdvrmzg3n2ap607ad74mnfd806rwldnw"; - system = "schannel"; - asd = "schannel"; - }); - systems = [ "schannel" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scheduler = (build-asdf-system { - pname = "scheduler"; - version = "20230618-git"; - asds = [ "scheduler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scheduler/2023-06-18/scheduler-20230618-git.tgz"; - sha256 = "0559hxypgyg9863mb51wil777prspfsjbslj6psm3wndvl6xiprg"; - system = "scheduler"; - asd = "scheduler"; - }); - systems = [ "scheduler" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "local-time" self) (getAttr "optima" self) (getAttr "optima_dot_ppcre" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - science-data = (build-asdf-system { - pname = "science-data"; - version = "master-df14cb8c-git"; - asds = [ "science-data" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; - sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; - system = "science-data"; - asd = "science-data"; - }); - systems = [ "science-data" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "physical-dimension" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scigraph = (build-asdf-system { - pname = "scigraph"; - version = "20241012-git"; - asds = [ "scigraph" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "scigraph"; - asd = "scigraph"; - }); - systems = [ "scigraph" ]; - lispLibs = [ (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scrapycl = (build-asdf-system { - pname = "scrapycl"; - version = "20241012-git"; - asds = [ "scrapycl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; - sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; - system = "scrapycl"; - asd = "scrapycl"; - }); - systems = [ "scrapycl" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "log4cl" self) (getAttr "log4cl-extras" self) (getAttr "lquery" self) (getAttr "plump" self) (getAttr "quri" self) (getAttr "serapeum" self) (getAttr "spinneret" self) (getAttr "str" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scrapycl-ci = (build-asdf-system { - pname = "scrapycl-ci"; - version = "20241012-git"; - asds = [ "scrapycl-ci" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; - sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; - system = "scrapycl-ci"; - asd = "scrapycl-ci"; - }); - systems = [ "scrapycl-ci" ]; - lispLibs = [ (getAttr "_40ants-ci" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scrapycl-docs = (build-asdf-system { - pname = "scrapycl-docs"; - version = "20241012-git"; - asds = [ "scrapycl-docs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; - sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; - system = "scrapycl-docs"; - asd = "scrapycl-docs"; - }); - systems = [ "scrapycl-docs" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "docs-config" self) (getAttr "named-readtables" self) (getAttr "pythonic-string-reader" self) (getAttr "scrapycl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scrapycl-tests = (build-asdf-system { - pname = "scrapycl-tests"; - version = "20241012-git"; - asds = [ "scrapycl-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; - sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; - system = "scrapycl-tests"; - asd = "scrapycl-tests"; - }); - systems = [ "scrapycl-tests" ]; - lispLibs = [ (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scratch-buffer = (build-asdf-system { - pname = "scratch-buffer"; - version = "20200427-git"; - asds = [ "scratch-buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "scratch-buffer"; - asd = "scratch-buffer"; - }); - systems = [ "scratch-buffer" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - screamer = (build-asdf-system { - pname = "screamer"; - version = "20210807-git"; - asds = [ "screamer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/screamer/2021-08-07/screamer-20210807-git.tgz"; - sha256 = "0913wmy0fpf6shvbz40ay9gnjhgyjglf661d1p5ld2glkw1ky8hm"; - system = "screamer"; - asd = "screamer"; - }); - systems = [ "screamer" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - screamer-tests = (build-asdf-system { - pname = "screamer-tests"; - version = "20210807-git"; - asds = [ "screamer-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/screamer/2021-08-07/screamer-20210807-git.tgz"; - sha256 = "0913wmy0fpf6shvbz40ay9gnjhgyjglf661d1p5ld2glkw1ky8hm"; - system = "screamer-tests"; - asd = "screamer-tests"; - }); - systems = [ "screamer-tests" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" self) (getAttr "iterate" self) (getAttr "screamer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scriba = (build-asdf-system { - pname = "scriba"; - version = "20220707-git"; - asds = [ "scriba" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scriba/2022-07-07/scriba-20220707-git.tgz"; - sha256 = "1n32bxf3b1cgb7y4015y3vahjgnbw59pi6d08by78pnpa2nx43sa"; - system = "scriba"; - asd = "scriba"; - }); - systems = [ "scriba" ]; - lispLibs = [ (getAttr "common-doc-plump" self) (getAttr "esrap" self) (getAttr "plump-sexp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scriba-test = (build-asdf-system { - pname = "scriba-test"; - version = "20220707-git"; - asds = [ "scriba-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scriba/2022-07-07/scriba-20220707-git.tgz"; - sha256 = "1n32bxf3b1cgb7y4015y3vahjgnbw59pi6d08by78pnpa2nx43sa"; - system = "scriba-test"; - asd = "scriba-test"; - }); - systems = [ "scriba-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "scriba" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scribble = (build-asdf-system { - pname = "scribble"; - version = "20231021-git"; - asds = [ "scribble" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scribble/2023-10-21/scribble-20231021-git.tgz"; - sha256 = "1ng56lzfva5231lkjls18mw7gcfc3vzksyh6habk0x5dff92cwvw"; - system = "scribble"; - asd = "scribble"; - }); - systems = [ "scribble" ]; - lispLibs = [ (getAttr "fare-memoization" self) (getAttr "fare-quasiquote-readtable" self) (getAttr "fare-utils" self) (getAttr "meta" self) (getAttr "ptc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scriptl = (build-asdf-system { - pname = "scriptl"; - version = "20180228-git"; - asds = [ "scriptl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz"; - sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4"; - system = "scriptl"; - asd = "scriptl"; - }); - systems = [ "scriptl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "defpackage-plus" self) (getAttr "iolib" self) (getAttr "osicat" self) (getAttr "trivial-backtrace" self) (getAttr "trivial-gray-streams" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scriptl-examples = (build-asdf-system { - pname = "scriptl-examples"; - version = "20180228-git"; - asds = [ "scriptl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz"; - sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4"; - system = "scriptl-examples"; - asd = "scriptl-examples"; - }); - systems = [ "scriptl-examples" ]; - lispLibs = [ (getAttr "scriptl" self) (getAttr "unix-options" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scriptl-util = (build-asdf-system { - pname = "scriptl-util"; - version = "20180228-git"; - asds = [ "scriptl-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz"; - sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4"; - system = "scriptl-util"; - asd = "scriptl-util"; - }); - systems = [ "scriptl-util" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "scriptl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scrutiny = (build-asdf-system { - pname = "scrutiny"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "scrutiny" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "scrutiny"; - asd = "scrutiny"; - }); - systems = [ "scrutiny" ]; - lispLibs = [ (getAttr "adjuvant" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - scrutiny-test = (build-asdf-system { - pname = "scrutiny-test"; - version = "export-to-quicklisp-502a46e2-git"; - asds = [ "scrutiny-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; - sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; - system = "scrutiny-test"; - asd = "scrutiny-test"; - }); - systems = [ "scrutiny-test" ]; - lispLibs = [ (getAttr "scrutiny" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2 = (build-asdf-system { - pname = "sdl2"; - version = "20231021-git"; - asds = [ "sdl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sdl2/2023-10-21/cl-sdl2-20231021-git.tgz"; - sha256 = "189awhgxnqdyvypmw9k39542whb1jcpxx4psy6196qdbrgab8lc7"; - system = "sdl2"; - asd = "sdl2"; - }); - systems = [ "sdl2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-autowrap" self) (getAttr "cl-plus-c" self) (getAttr "cl-ppcre" self) (getAttr "trivial-channels" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2-game-controller-db = (build-asdf-system { - pname = "sdl2-game-controller-db"; - version = "release-quicklisp-335d2b68-git"; - asds = [ "sdl2-game-controller-db" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sdl2-game-controller-db/2018-02-28/sdl2-game-controller-db-release-quicklisp-335d2b68-git.tgz"; - sha256 = "0yf4ygndmacs0pf3ws5197k51c4fdximvxcmvn56bqmsvil56kcd"; - system = "sdl2-game-controller-db"; - asd = "sdl2-game-controller-db"; - }); - systems = [ "sdl2-game-controller-db" ]; - lispLibs = [ (getAttr "sdl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2-image = (build-asdf-system { - pname = "sdl2-image"; - version = "20241012-git"; - asds = [ "sdl2-image" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sdl2-image/2024-10-12/cl-sdl2-image-20241012-git.tgz"; - sha256 = "1jzrz3ppr5nbh0w6cvbbpv5x6gdq71a6v2qanvnjvcjs0zwf97iq"; - system = "sdl2-image"; - asd = "sdl2-image"; - }); - systems = [ "sdl2-image" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-autowrap" self) (getAttr "defpackage-plus" self) (getAttr "sdl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2-mixer = (build-asdf-system { - pname = "sdl2-mixer"; - version = "20241012-git"; - asds = [ "sdl2-mixer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sdl2-mixer/2024-10-12/cl-sdl2-mixer-20241012-git.tgz"; - sha256 = "0d33pmyrcni90qfj0d4hxf97may1bv7i9z4a6rj02dw254n9r9lh"; - system = "sdl2-mixer"; - asd = "sdl2-mixer"; - }); - systems = [ "sdl2-mixer" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-autowrap" self) (getAttr "sdl2" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2-ttf = (build-asdf-system { - pname = "sdl2-ttf"; - version = "20241012-git"; - asds = [ "sdl2-ttf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sdl2-ttf/2024-10-12/cl-sdl2-ttf-20241012-git.tgz"; - sha256 = "1asdymsn65a06qr1c8fknakdvpjwxsvl69py6fsz21nirxyha5nc"; - system = "sdl2-ttf"; - asd = "sdl2-ttf"; - }); - systems = [ "sdl2-ttf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi-libffi" self) (getAttr "cl-autowrap" self) (getAttr "defpackage-plus" self) (getAttr "sdl2" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2-ttf-examples = (build-asdf-system { - pname = "sdl2-ttf-examples"; - version = "20241012-git"; - asds = [ "sdl2-ttf-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sdl2-ttf/2024-10-12/cl-sdl2-ttf-20241012-git.tgz"; - sha256 = "1asdymsn65a06qr1c8fknakdvpjwxsvl69py6fsz21nirxyha5nc"; - system = "sdl2-ttf-examples"; - asd = "sdl2-ttf-examples"; - }); - systems = [ "sdl2-ttf-examples" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-opengl" self) (getAttr "mathkit" self) (getAttr "sdl2" self) (getAttr "sdl2-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2kit = (build-asdf-system { - pname = "sdl2kit"; - version = "20171130-git"; - asds = [ "sdl2kit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sdl2kit/2017-11-30/sdl2kit-20171130-git.tgz"; - sha256 = "10ymmxqsvdn7ndda9k2qcixj75l7namgqdxc5y2w3v5r1313fy2d"; - system = "sdl2kit"; - asd = "sdl2kit"; - }); - systems = [ "sdl2kit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-opengl" self) (getAttr "defpackage-plus" self) (getAttr "sdl2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sdl2kit-examples = (build-asdf-system { - pname = "sdl2kit-examples"; - version = "20171130-git"; - asds = [ "sdl2kit-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sdl2kit/2017-11-30/sdl2kit-20171130-git.tgz"; - sha256 = "10ymmxqsvdn7ndda9k2qcixj75l7namgqdxc5y2w3v5r1313fy2d"; - system = "sdl2kit-examples"; - asd = "sdl2kit-examples"; - }); - systems = [ "sdl2kit-examples" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "defpackage-plus" self) (getAttr "glkit" self) (getAttr "mathkit" self) (getAttr "sdl2kit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sealable-metaobjects = (build-asdf-system { - pname = "sealable-metaobjects"; - version = "20200610-git"; - asds = [ "sealable-metaobjects" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sealable-metaobjects/2020-06-10/sealable-metaobjects-20200610-git.tgz"; - sha256 = "0hz1ivlpfhnk1w2cw4q2i000j2dc7maay06ndzziyywg7li6zf2p"; - system = "sealable-metaobjects"; - asd = "sealable-metaobjects"; - }); - systems = [ "sealable-metaobjects" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - secp256k1 = (build-asdf-system { - pname = "secp256k1"; - version = "20220707-git"; - asds = [ "secp256k1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-secp256k1/2022-07-07/cl-secp256k1-20220707-git.tgz"; - sha256 = "0lg84jkwwp95nnk865yfhg16z0d04wk3dzf5yilkfm2yxnmjnv85"; - system = "secp256k1"; - asd = "secp256k1"; - }); - systems = [ "secp256k1" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - secret-values = (build-asdf-system { - pname = "secret-values"; - version = "20201220-git"; - asds = [ "secret-values" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/secret-values/2020-12-20/secret-values-20201220-git.tgz"; - sha256 = "07ph49s27gvjzx60yy094bb9ddwiys34r8cx5l837i34nm2fn3nh"; - system = "secret-values"; - asd = "secret-values"; - }); - systems = [ "secret-values" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - secure-random = (build-asdf-system { - pname = "secure-random"; - version = "20160208-git"; - asds = [ "secure-random" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/secure-random/2016-02-08/secure-random-20160208-git.tgz"; - sha256 = "09cnclnivkc87ja3z12ihcm02vkwp0cflcfa6hpjlbd5m75hvgsd"; - system = "secure-random"; - asd = "secure-random"; - }); - systems = [ "secure-random" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - seedable-rng = (build-asdf-system { - pname = "seedable-rng"; - version = "20220707-git"; - asds = [ "seedable-rng" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/seedable-rng/2022-07-07/seedable-rng-20220707-git.tgz"; - sha256 = "1pr2flvrj32m055apwn5f2cddki2ws5xldmj2v367iyry3lz2vm1"; - system = "seedable-rng"; - asd = "seedable-rng"; - }); - systems = [ "seedable-rng" ]; - lispLibs = [ (getAttr "cl-pcg" self) (getAttr "ironclad" self) (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - select = (build-asdf-system { - pname = "select"; - version = "20241012-git"; - asds = [ "select" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/select/2024-10-12/select-20241012-git.tgz"; - sha256 = "1js02xgfd488lhv90rgxw0cvfbsarlpakydwrg1jr2hh5bhqyifh"; - system = "select"; - asd = "select"; - }); - systems = [ "select" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "anaphora" self) (getAttr "let-plus" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - select-file = (build-asdf-system { - pname = "select-file"; - version = "20200427-git"; - asds = [ "select-file" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/select-file/2020-04-27/select-file-20200427-git.tgz"; - sha256 = "1v89k5vvn1a3gdhlwbb4wxggzzr1ic7iqzvrrxgsh90fr129rmzq"; - system = "select-file"; - asd = "select-file"; - }); - systems = [ "select-file" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - selenium = (build-asdf-system { - pname = "selenium"; - version = "20160531-git"; - asds = [ "selenium" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-selenium/2016-05-31/cl-selenium-20160531-git.tgz"; - sha256 = "1wx3343gkmyb25vbbpv6g5d1m2c5qxrkq7hsz1v2fcchgdgvwgxl"; - system = "selenium"; - asd = "selenium"; - }); - systems = [ "selenium" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "puri" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - semantic-spinneret = (build-asdf-system { - pname = "semantic-spinneret"; - version = "20170830-git"; - asds = [ "semantic-spinneret" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/semantic-spinneret/2017-08-30/semantic-spinneret-20170830-git.tgz"; - sha256 = "0ghd4lwwcbcidj70j26hj9vic1nqrj78ksrqlxj29q61bnji05ix"; - system = "semantic-spinneret"; - asd = "semantic-spinneret"; - }); - systems = [ "semantic-spinneret" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "spinneret" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - semz_dot_decompress = (build-asdf-system { - pname = "semz.decompress"; - version = "20241012-git"; - asds = [ "semz.decompress" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/decompress/2024-10-12/decompress-20241012-git.tgz"; - sha256 = "0nzz6r57v94kyl5r77yawalnjszw93qjiqqargl3vjrmiga37gjp"; - system = "semz.decompress"; - asd = "semz.decompress"; - }); - systems = [ "semz.decompress" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sendgrid = (build-asdf-system { - pname = "sendgrid"; - version = "20241012-git"; - asds = [ "sendgrid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sendgrid/2024-10-12/cl-sendgrid-20241012-git.tgz"; - sha256 = "02wwi2fwfd21aisf1y6ngypg7dmfvlf3bgxhqhrp1vpw8b34ha4w"; - system = "sendgrid"; - asd = "sendgrid"; - }); - systems = [ "sendgrid" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "dexador" self) (getAttr "jonathan" self) (getAttr "qbase64" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sento = (build-asdf-system { - pname = "sento"; - version = "20241012-git"; - asds = [ "sento" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-gserver/2024-10-12/cl-gserver-20241012-git.tgz"; - sha256 = "1281iir75ccr5ilh2jv9xh1w446492gywvady48xggqyh6idaz9k"; - system = "sento"; - asd = "sento"; - }); - systems = [ "sento" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "atomics" self) (getAttr "binding-arrows" self) (getAttr "blackbird" self) (getAttr "bordeaux-threads" self) (getAttr "cl-speedy-queue" self) (getAttr "local-time-duration" self) (getAttr "log4cl" self) (getAttr "str" self) (getAttr "timer-wheel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sentry-client = (build-asdf-system { - pname = "sentry-client"; - version = "20241012-git"; - asds = [ "sentry-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sentry-client/2024-10-12/cl-sentry-client-20241012-git.tgz"; - sha256 = "0i83kgrjznffj6z5ryxnxlk995937askhilsbfa2nixakwal2c5h"; - system = "sentry-client"; - asd = "sentry-client"; - }); - systems = [ "sentry-client" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "dexador" self) (getAttr "local-time" self) (getAttr "salza2" self) (getAttr "swank" self) (getAttr "trivial-backtrace" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sentry-client_dot_async = (build-asdf-system { - pname = "sentry-client.async"; - version = "20241012-git"; - asds = [ "sentry-client.async" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sentry-client/2024-10-12/cl-sentry-client-20241012-git.tgz"; - sha256 = "0i83kgrjznffj6z5ryxnxlk995937askhilsbfa2nixakwal2c5h"; - system = "sentry-client.async"; - asd = "sentry-client.async"; - }); - systems = [ "sentry-client.async" ]; - lispLibs = [ (getAttr "sentry-client" self) (getAttr "simple-tasks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sentry-client_dot_hunchentoot = (build-asdf-system { - pname = "sentry-client.hunchentoot"; - version = "20241012-git"; - asds = [ "sentry-client.hunchentoot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sentry-client/2024-10-12/cl-sentry-client-20241012-git.tgz"; - sha256 = "0i83kgrjznffj6z5ryxnxlk995937askhilsbfa2nixakwal2c5h"; - system = "sentry-client.hunchentoot"; - asd = "sentry-client.hunchentoot"; - }); - systems = [ "sentry-client.hunchentoot" ]; - lispLibs = [ (getAttr "hunchentoot" self) (getAttr "sentry-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sequence-iterators = (build-asdf-system { - pname = "sequence-iterators"; - version = "20130813-darcs"; - asds = [ "sequence-iterators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz"; - sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5"; - system = "sequence-iterators"; - asd = "sequence-iterators"; - }); - systems = [ "sequence-iterators" ]; - lispLibs = [ (getAttr "parse-declarations-1_dot_0" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sequence-iterators-test = (build-asdf-system { - pname = "sequence-iterators-test"; - version = "20130813-darcs"; - asds = [ "sequence-iterators-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz"; - sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5"; - system = "sequence-iterators-test"; - asd = "sequence-iterators"; - }); - systems = [ "sequence-iterators-test" ]; - lispLibs = [ (getAttr "sequence-iterators" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - serapeum = (build-asdf-system { - pname = "serapeum"; - version = "20241012-git"; - asds = [ "serapeum" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/serapeum/2024-10-12/serapeum-20241012-git.tgz"; - sha256 = "12dc4p3i82p3jhxpp5wd6xiwy2fgdjybgfgj54nv8ya75rl9a64z"; - system = "serapeum"; - asd = "serapeum"; - }); - systems = [ "serapeum" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "global-vars" self) (getAttr "introspect-environment" self) (getAttr "parse-declarations-1_dot_0" self) (getAttr "parse-number" self) (getAttr "split-sequence" self) (getAttr "string-case" self) (getAttr "trivia" self) (getAttr "trivial-cltl2" self) (getAttr "trivial-file-size" self) (getAttr "trivial-garbage" self) (getAttr "trivial-macroexpand-all" self) ]; - meta = {}; - }); - serializable-object = (build-asdf-system { - pname = "serializable-object"; - version = "20191227-git"; - asds = [ "serializable-object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/serializable-object/2019-12-27/serializable-object-20191227-git.tgz"; - sha256 = "0978ljw998ypryiiqmb1s11ymwg4h5qz9bv7ig1i29wf5s14s2i0"; - system = "serializable-object"; - asd = "serializable-object"; - }); - systems = [ "serializable-object" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - serializable-object_dot_test = (build-asdf-system { - pname = "serializable-object.test"; - version = "20191227-git"; - asds = [ "serializable-object.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/serializable-object/2019-12-27/serializable-object-20191227-git.tgz"; - sha256 = "0978ljw998ypryiiqmb1s11ymwg4h5qz9bv7ig1i29wf5s14s2i0"; - system = "serializable-object.test"; - asd = "serializable-object.test"; - }); - systems = [ "serializable-object.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "serializable-object" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - series = (build-asdf-system { - pname = "series"; - version = "20131111-git"; - asds = [ "series" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/series/2013-11-11/series-20131111-git.tgz"; - sha256 = "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"; - system = "series"; - asd = "series"; - }); - systems = [ "series" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - series-tests = (build-asdf-system { - pname = "series-tests"; - version = "20131111-git"; - asds = [ "series-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/series/2013-11-11/series-20131111-git.tgz"; - sha256 = "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"; - system = "series-tests"; - asd = "series"; - }); - systems = [ "series-tests" ]; - lispLibs = [ (getAttr "series" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - session-token = (build-asdf-system { - pname = "session-token"; - version = "20141106-git"; - asds = [ "session-token" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/session-token/2014-11-06/session-token-20141106-git.tgz"; - sha256 = "1yb6m8nbh4gaskplrd2bwsnpkq6dl9dkvbjmvhzls6vh4lp6cc2z"; - system = "session-token"; - asd = "session-token"; - }); - systems = [ "session-token" ]; - lispLibs = [ (getAttr "cl-isaac" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - setup-cl_plus_ssl = (build-asdf-system { - pname = "setup-cl+ssl"; - version = "20230618-git"; - asds = [ "setup-cl+ssl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zacl/2023-06-18/zacl-20230618-git.tgz"; - sha256 = "1s31d47zx8hczim78zrqzg4bvj4bshj31gmrff065q6racx3q1dk"; - system = "setup-cl+ssl"; - asd = "setup-cl+ssl"; - }); - systems = [ "setup-cl+ssl" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sexml = (build-asdf-system { - pname = "sexml"; - version = "20140713-git"; - asds = [ "sexml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sexml/2014-07-13/sexml-20140713-git.tgz"; - sha256 = "1s7isk9v7qh03sf60zw32kaa1rgvdh24bsc37q173r282m8plbk3"; - system = "sexml"; - asd = "sexml"; - }); - systems = [ "sexml" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "contextl" self) (getAttr "cxml" self) (getAttr "macroexpand-dammit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sexml-objects = (build-asdf-system { - pname = "sexml-objects"; - version = "20140713-git"; - asds = [ "sexml-objects" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sexml/2014-07-13/sexml-20140713-git.tgz"; - sha256 = "1s7isk9v7qh03sf60zw32kaa1rgvdh24bsc37q173r282m8plbk3"; - system = "sexml-objects"; - asd = "sexml-objects"; - }); - systems = [ "sexml-objects" ]; - lispLibs = [ (getAttr "sexml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sha1 = (build-asdf-system { - pname = "sha1"; - version = "20211020-git"; - asds = [ "sha1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sha1/2021-10-20/sha1-20211020-git.tgz"; - sha256 = "1cfn0j5yfwqkwr2dm73wr9hz8dmws3ngxlbk9886ahxkg544qx4z"; - system = "sha1"; - asd = "sha1"; - }); - systems = [ "sha1" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sha3 = (build-asdf-system { - pname = "sha3"; - version = "20231021-git"; - asds = [ "sha3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sha3/2023-10-21/sha3-20231021-git.tgz"; - sha256 = "0jl59js4n1gc08j2bcwf0d1gy82lf7g53b639dwh6b0milbqh7gz"; - system = "sha3"; - asd = "sha3"; - }); - systems = [ "sha3" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shadchen = (build-asdf-system { - pname = "shadchen"; - version = "20131003-git"; - asds = [ "shadchen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shadchen/2013-10-03/shadchen-20131003-git.tgz"; - sha256 = "0731hrpzf9pn1hyvs9wl0w3mnv13mr9ky3jx3dc4baj4nmjyb1k6"; - system = "shadchen"; - asd = "shadchen"; - }); - systems = [ "shadchen" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shadow = (build-asdf-system { - pname = "shadow"; - version = "20220707-git"; - asds = [ "shadow" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shadow/2022-07-07/shadow-20220707-git.tgz"; - sha256 = "1lw98ir9381kmmranaa111f8jh47adsx0v4hzlw3qkf2xjcfah3l"; - system = "shadow"; - asd = "shadow"; - }); - systems = [ "shadow" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-opengl" self) (getAttr "glsl-packing" self) (getAttr "mfiano-utils" self) (getAttr "static-vectors" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shared-preferences = (build-asdf-system { - pname = "shared-preferences"; - version = "1.1.1"; - asds = [ "shared-preferences" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shared-preferences/2021-02-28/shared-preferences_1.1.1.tgz"; - sha256 = "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf"; - system = "shared-preferences"; - asd = "shared-preferences"; - }); - systems = [ "shared-preferences" ]; - lispLibs = [ (getAttr "inheriting-readers" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shared-preferences__tests = (build-asdf-system { - pname = "shared-preferences_tests"; - version = "1.1.1"; - asds = [ "shared-preferences_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shared-preferences/2021-02-28/shared-preferences_1.1.1.tgz"; - sha256 = "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf"; - system = "shared-preferences_tests"; - asd = "shared-preferences_tests"; - }); - systems = [ "shared-preferences_tests" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "shared-preferences" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shasht = (build-asdf-system { - pname = "shasht"; - version = "20241012-git"; - asds = [ "shasht" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shasht/2024-10-12/shasht-20241012-git.tgz"; - sha256 = "0i4k6w5r74f2a0i3ffian715v057w63psywk89ih0hl9xxpc4pga"; - system = "shasht"; - asd = "shasht"; - }); - systems = [ "shasht" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "trivial-do" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sheeple = (build-asdf-system { - pname = "sheeple"; - version = "20210124-git"; - asds = [ "sheeple" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sheeple/2021-01-24/sheeple-20210124-git.tgz"; - sha256 = "13k6xm8a29xxkrwgc5j3bk2wr9skg4bzdnc4krrzgcdmx4gbcca3"; - system = "sheeple"; - asd = "sheeple"; - }); - systems = [ "sheeple" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sheeple-tests = (build-asdf-system { - pname = "sheeple-tests"; - version = "20210124-git"; - asds = [ "sheeple-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sheeple/2021-01-24/sheeple-20210124-git.tgz"; - sha256 = "13k6xm8a29xxkrwgc5j3bk2wr9skg4bzdnc4krrzgcdmx4gbcca3"; - system = "sheeple-tests"; - asd = "sheeple"; - }); - systems = [ "sheeple-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "sheeple" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shellpool = (build-asdf-system { - pname = "shellpool"; - version = "20200925-git"; - asds = [ "shellpool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shellpool/2020-09-25/shellpool-20200925-git.tgz"; - sha256 = "1bpv58i2l2a3ayk3jvi2wwd90gjczp0qk24bj82775qp8miw9vz0"; - system = "shellpool"; - asd = "shellpool"; - }); - systems = [ "shellpool" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "bt-semaphore" self) (getAttr "cl-fad" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shelly = (build-asdf-system { - pname = "shelly"; - version = "20141106-git"; - asds = [ "shelly" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shelly/2014-11-06/shelly-20141106-git.tgz"; - sha256 = "07whfcd2ygq07lw73bqby74cqbp2bx0rnyx7c0v7s16y9xfqxw7b"; - system = "shelly"; - asd = "shelly"; - }); - systems = [ "shelly" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "local-time" self) (getAttr "split-sequence" self) (getAttr "trivial-signal" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shelly-test = (build-asdf-system { - pname = "shelly-test"; - version = "20141106-git"; - asds = [ "shelly-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shelly/2014-11-06/shelly-20141106-git.tgz"; - sha256 = "07whfcd2ygq07lw73bqby74cqbp2bx0rnyx7c0v7s16y9xfqxw7b"; - system = "shelly-test"; - asd = "shelly-test"; - }); - systems = [ "shelly-test" ]; - lispLibs = [ (getAttr "cl-test-more" self) (getAttr "shelly" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shlex = (build-asdf-system { - pname = "shlex"; - version = "20210411-git"; - asds = [ "shlex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-shlex/2021-04-11/cl-shlex-20210411-git.tgz"; - sha256 = "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"; - system = "shlex"; - asd = "shlex"; - }); - systems = [ "shlex" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "cl-unicode" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shop3 = (build-asdf-system { - pname = "shop3"; - version = "20241012-git"; - asds = [ "shop3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shop3/2024-10-12/shop3-20241012-git.tgz"; - sha256 = "1sdyyyd82fqmm9lcqmg7k8yy3l3891m2gjwidibzvk95bp4xf9sd"; - system = "shop3"; - asd = "shop3"; - }); - systems = [ "shop3" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam-asdf" self) (getAttr "iterate" self) (getAttr "random-state" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shop3-thmpr-api = (build-asdf-system { - pname = "shop3-thmpr-api"; - version = "20241012-git"; - asds = [ "shop3-thmpr-api" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shop3/2024-10-12/shop3-20241012-git.tgz"; - sha256 = "1sdyyyd82fqmm9lcqmg7k8yy3l3891m2gjwidibzvk95bp4xf9sd"; - system = "shop3-thmpr-api"; - asd = "shop3-thmpr-api"; - }); - systems = [ "shop3-thmpr-api" ]; - lispLibs = [ (getAttr "shop3" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - should-test = (build-asdf-system { - pname = "should-test"; - version = "20191007-git"; - asds = [ "should-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/should-test/2019-10-07/should-test-20191007-git.tgz"; - sha256 = "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm"; - system = "should-test"; - asd = "should-test"; - }); - systems = [ "should-test" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "local-time" self) (getAttr "osicat" self) (getAttr "rutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - shuffletron = (build-asdf-system { - pname = "shuffletron"; - version = "20181018-git"; - asds = [ "shuffletron" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/shuffletron/2018-10-18/shuffletron-20181018-git.tgz"; - sha256 = "10626wp2xdk0wxj0kl49m9gyb2bp6f0vp67563mw6zrzfs7ynpkb"; - system = "shuffletron"; - asd = "shuffletron"; - }); - systems = [ "shuffletron" ]; - lispLibs = [ (getAttr "mixalot" self) (getAttr "mixalot-flac" self) (getAttr "mixalot-mp3" self) (getAttr "mixalot-vorbis" self) (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - si-kanren = (build-asdf-system { - pname = "si-kanren"; - version = "20241012-git"; - asds = [ "si-kanren" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/si-kanren/2024-10-12/si-kanren-20241012-git.tgz"; - sha256 = "1m99ryyfjxbjbmswprz8gr9hl3srwz74fwjna35wf8d41ns5ajlj"; - system = "si-kanren"; - asd = "si-kanren"; - }); - systems = [ "si-kanren" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - silo = (build-asdf-system { - pname = "silo"; - version = "20211020-git"; - asds = [ "silo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; - sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; - system = "silo"; - asd = "silo"; - }); - systems = [ "silo" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-actors = (build-asdf-system { - pname = "simple-actors"; - version = "20200925-git"; - asds = [ "simple-actors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-actors/2020-09-25/simple-actors-20200925-git.tgz"; - sha256 = "1q843l1bh0xipp535gwm7713gpp04cycvq0i8yz54b6ym3dzkql4"; - system = "simple-actors"; - asd = "simple-actors"; - }); - systems = [ "simple-actors" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-config = (build-asdf-system { - pname = "simple-config"; - version = "20230618-git"; - asds = [ "simple-config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-config/2023-06-18/simple-config-20230618-git.tgz"; - sha256 = "1ihw5yr5jwlpixaa011611q6i4j406rvc42bkm0da1arzd76pfhn"; - system = "simple-config"; - asd = "simple-config"; - }); - systems = [ "simple-config" ]; - lispLibs = [ (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-config-test = (build-asdf-system { - pname = "simple-config-test"; - version = "20230618-git"; - asds = [ "simple-config-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-config/2023-06-18/simple-config-20230618-git.tgz"; - sha256 = "1ihw5yr5jwlpixaa011611q6i4j406rvc42bkm0da1arzd76pfhn"; - system = "simple-config-test"; - asd = "simple-config-test"; - }); - systems = [ "simple-config-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "simple-config" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-currency = (build-asdf-system { - pname = "simple-currency"; - version = "20171130-git"; - asds = [ "simple-currency" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-currency/2017-11-30/simple-currency-20171130-git.tgz"; - sha256 = "1qrxaj5v25165vyjp2fmasasjri2cn53y6ckv3rlv04skifvnq2s"; - system = "simple-currency"; - asd = "simple-currency"; - }); - systems = [ "simple-currency" ]; - lispLibs = [ (getAttr "cl-store" self) (getAttr "dexador" self) (getAttr "plump" self) (getAttr "simple-date" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-date = (build-asdf-system { - pname = "simple-date"; - version = "20241012-git"; - asds = [ "simple-date" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; - sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; - system = "simple-date"; - asd = "simple-date"; - }); - systems = [ "simple-date" ]; - lispLibs = [ ]; - meta = {}; - }); - simple-date-time = (build-asdf-system { - pname = "simple-date-time"; - version = "20160421-git"; - asds = [ "simple-date-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-date-time/2016-04-21/simple-date-time-20160421-git.tgz"; - sha256 = "06iwf13gcdyqhkzfkcsfdl8iqbdl44cx01c3fjsmhl0v1pp8h2m4"; - system = "simple-date-time"; - asd = "simple-date-time"; - }); - systems = [ "simple-date-time" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = {}; - }); - simple-finalizer = (build-asdf-system { - pname = "simple-finalizer"; - version = "20101006-git"; - asds = [ "simple-finalizer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-finalizer/2010-10-06/simple-finalizer-20101006-git.tgz"; - sha256 = "1qdm48zjlkbygz9ip006xwpas59fhijrswv1k7pzvhdwl04vkq65"; - system = "simple-finalizer"; - asd = "simple-finalizer"; - }); - systems = [ "simple-finalizer" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-flow-dispatcher = (build-asdf-system { - pname = "simple-flow-dispatcher"; - version = "stable-git"; - asds = [ "simple-flow-dispatcher" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-flow-dispatcher/2020-10-16/simple-flow-dispatcher-stable-git.tgz"; - sha256 = "11k16svq4mgf0pagrs4drvf57hawffghv9g96b1n071nqyk2ald2"; - system = "simple-flow-dispatcher"; - asd = "simple-flow-dispatcher"; - }); - systems = [ "simple-flow-dispatcher" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bodge-queue" self) (getAttr "cl-muth" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-guess = (build-asdf-system { - pname = "simple-guess"; - version = "1.0"; - asds = [ "simple-guess" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-guess/2020-09-25/simple-guess_1.0.tgz"; - sha256 = "11v3wxj3k036r0kazn69vi580qm593ir1yf7j5d737j4rb382682"; - system = "simple-guess"; - asd = "simple-guess"; - }); - systems = [ "simple-guess" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-guess__tests = (build-asdf-system { - pname = "simple-guess_tests"; - version = "1.0"; - asds = [ "simple-guess_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-guess/2020-09-25/simple-guess_1.0.tgz"; - sha256 = "11v3wxj3k036r0kazn69vi580qm593ir1yf7j5d737j4rb382682"; - system = "simple-guess_tests"; - asd = "simple-guess_tests"; - }); - systems = [ "simple-guess_tests" ]; - lispLibs = [ (getAttr "fakenil" self) (getAttr "parachute" self) (getAttr "simple-guess" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-inferiors = (build-asdf-system { - pname = "simple-inferiors"; - version = "20231021-git"; - asds = [ "simple-inferiors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-inferiors/2023-10-21/simple-inferiors-20231021-git.tgz"; - sha256 = "1b7y44r2ncpfc5766pw56k07036qjvwqdbycizldfk9rjam2afa6"; - system = "simple-inferiors"; - asd = "simple-inferiors"; - }); - systems = [ "simple-inferiors" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "documentation-utils" self) ]; - meta = {}; - }); - simple-neural-network = (build-asdf-system { - pname = "simple-neural-network"; - version = "20230214-git"; - asds = [ "simple-neural-network" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-neural-network/2023-02-14/simple-neural-network-20230214-git.tgz"; - sha256 = "14ix2f560bhvccfzi30ghmmg79785nmg8c3lpq5hg99djgigxyfw"; - system = "simple-neural-network"; - asd = "simple-neural-network"; - }); - systems = [ "simple-neural-network" ]; - lispLibs = [ (getAttr "cl-store" self) (getAttr "lparallel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-parallel-tasks = (build-asdf-system { - pname = "simple-parallel-tasks"; - version = "20201220-git"; - asds = [ "simple-parallel-tasks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-parallel-tasks/2020-12-20/simple-parallel-tasks-20201220-git.tgz"; - sha256 = "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"; - system = "simple-parallel-tasks"; - asd = "simple-parallel-tasks"; - }); - systems = [ "simple-parallel-tasks" ]; - lispLibs = [ (getAttr "chanl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-parallel-tasks-tests = (build-asdf-system { - pname = "simple-parallel-tasks-tests"; - version = "20201220-git"; - asds = [ "simple-parallel-tasks-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-parallel-tasks/2020-12-20/simple-parallel-tasks-20201220-git.tgz"; - sha256 = "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"; - system = "simple-parallel-tasks-tests"; - asd = "simple-parallel-tasks-tests"; - }); - systems = [ "simple-parallel-tasks-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "simple-parallel-tasks" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-rgb = (build-asdf-system { - pname = "simple-rgb"; - version = "20190521-git"; - asds = [ "simple-rgb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-rgb/2019-05-21/simple-rgb-20190521-git.tgz"; - sha256 = "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"; - system = "simple-rgb"; - asd = "simple-rgb"; - }); - systems = [ "simple-rgb" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-routes = (build-asdf-system { - pname = "simple-routes"; - version = "20180228-git"; - asds = [ "simple-routes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz"; - sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"; - system = "simple-routes"; - asd = "simple-routes"; - }); - systems = [ "simple-routes" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "hunchentoot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-scanf = (build-asdf-system { - pname = "simple-scanf"; - version = "20211209-git"; - asds = [ "simple-scanf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; - sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; - system = "simple-scanf"; - asd = "simple-scanf"; - }); - systems = [ "simple-scanf" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "parse-float" self) (getAttr "proc-parse" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simple-tasks = (build-asdf-system { - pname = "simple-tasks"; - version = "20231021-git"; - asds = [ "simple-tasks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-tasks/2023-10-21/simple-tasks-20231021-git.tgz"; - sha256 = "14j0sbi9zv22rrcp3wvjzmrgk6f75zydhs50cbmspr2r0c9s5c6n"; - system = "simple-tasks"; - asd = "simple-tasks"; - }); - systems = [ "simple-tasks" ]; - lispLibs = [ (getAttr "array-utils" self) (getAttr "bordeaux-threads" self) (getAttr "dissect" self) ]; - meta = {}; - }); - simpleroutes-demo = (build-asdf-system { - pname = "simpleroutes-demo"; - version = "20180228-git"; - asds = [ "simpleroutes-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz"; - sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"; - system = "simpleroutes-demo"; - asd = "simple-routes"; - }); - systems = [ "simpleroutes-demo" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "hunchentoot" self) (getAttr "simple-routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simpleroutes-test = (build-asdf-system { - pname = "simpleroutes-test"; - version = "20180228-git"; - asds = [ "simpleroutes-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz"; - sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"; - system = "simpleroutes-test"; - asd = "simple-routes"; - }); - systems = [ "simpleroutes-test" ]; - lispLibs = [ (getAttr "simple-routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simplet = (build-asdf-system { - pname = "simplet"; - version = "20191227-git"; - asds = [ "simplet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz"; - sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs"; - system = "simplet"; - asd = "simplet"; - }); - systems = [ "simplet" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simplet-asdf = (build-asdf-system { - pname = "simplet-asdf"; - version = "20191227-git"; - asds = [ "simplet-asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz"; - sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs"; - system = "simplet-asdf"; - asd = "simplet-asdf"; - }); - systems = [ "simplet-asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simplified-types = (build-asdf-system { - pname = "simplified-types"; - version = "20190813-git"; - asds = [ "simplified-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simplified-types/2019-08-13/simplified-types-20190813-git.tgz"; - sha256 = "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y"; - system = "simplified-types"; - asd = "simplified-types"; - }); - systems = [ "simplified-types" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "introspect-environment" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simplified-types-test-suite = (build-asdf-system { - pname = "simplified-types-test-suite"; - version = "20190813-git"; - asds = [ "simplified-types-test-suite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simplified-types/2019-08-13/simplified-types-20190813-git.tgz"; - sha256 = "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y"; - system = "simplified-types-test-suite"; - asd = "simplified-types-test-suite"; - }); - systems = [ "simplified-types-test-suite" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "simplified-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - simpsamp = (build-asdf-system { - pname = "simpsamp"; - version = "0.1"; - asds = [ "simpsamp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/simpsamp/2010-10-06/simpsamp-0.1.tgz"; - sha256 = "0i85andjaz16lh4wwpdvd5kgg7lsfp206g7kniy16gs78xjy5jlc"; - system = "simpsamp"; - asd = "simpsamp"; - }); - systems = [ "simpsamp" ]; - lispLibs = [ (getAttr "jpl-util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - single-threaded-ccl = (build-asdf-system { - pname = "single-threaded-ccl"; - version = "20150608-git"; - asds = [ "single-threaded-ccl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/single-threaded-ccl/2015-06-08/single-threaded-ccl-20150608-git.tgz"; - sha256 = "0d8cf8x77b3f7qh2cr3fnkc6i7dm7pwlnldmv9k4q033rmmhnfxb"; - system = "single-threaded-ccl"; - asd = "single-threaded-ccl"; - }); - systems = [ "single-threaded-ccl" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - singleton-classes = (build-asdf-system { - pname = "singleton-classes"; - version = "20190307-hg"; - asds = [ "singleton-classes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-abstract-classes/2019-03-07/cl-abstract-classes-20190307-hg.tgz"; - sha256 = "0q03j3ksgn56j9xvs3d3hhasplj3hvg488f4cx1z97nlyqxr5w1d"; - system = "singleton-classes"; - asd = "singleton-classes"; - }); - systems = [ "singleton-classes" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sip-hash = (build-asdf-system { - pname = "sip-hash"; - version = "20200610-git"; - asds = [ "sip-hash" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sip-hash/2020-06-10/sip-hash-20200610-git.tgz"; - sha256 = "0cd6g37lxd5i5fyg9my4jja27ki5agbpr9d635rcwpf32yhc4sh9"; - system = "sip-hash"; - asd = "sip-hash"; - }); - systems = [ "sip-hash" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "nibbles" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - skeleton-creator = (build-asdf-system { - pname = "skeleton-creator"; - version = "20191227-git"; - asds = [ "skeleton-creator" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/skeleton-creator/2019-12-27/skeleton-creator-20191227-git.tgz"; - sha256 = "1yj8w9lpb2jzyf02zg65ngmjfsakzc7k1kcw90w52gk14hv1lk6s"; - system = "skeleton-creator"; - asd = "skeleton-creator"; - }); - systems = [ "skeleton-creator" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "conf" self) (getAttr "simplet-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sketch = (build-asdf-system { - pname = "sketch"; - version = "20241012-git"; - asds = [ "sketch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sketch/2024-10-12/sketch-20241012-git.tgz"; - sha256 = "1bq0ljb2awzkk4shsd0w4v2hc2abmkwfv7nz8d88hglrvar8qbnl"; - system = "sketch"; - asd = "sketch"; - }); - systems = [ "sketch" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-plus-c" self) (getAttr "closer-mop" self) (getAttr "glkit" self) (getAttr "glu-tessellate" self) (getAttr "mathkit" self) (getAttr "md5" self) (getAttr "sdl2" self) (getAttr "sdl2-image" self) (getAttr "sdl2-ttf" self) (getAttr "sdl2kit" self) (getAttr "split-sequence" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) (getAttr "zpng" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sketch-examples = (build-asdf-system { - pname = "sketch-examples"; - version = "20241012-git"; - asds = [ "sketch-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sketch/2024-10-12/sketch-20241012-git.tgz"; - sha256 = "1bq0ljb2awzkk4shsd0w4v2hc2abmkwfv7nz8d88hglrvar8qbnl"; - system = "sketch-examples"; - asd = "sketch-examples"; - }); - systems = [ "sketch-examples" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "sketch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - skippy = (build-asdf-system { - pname = "skippy"; - version = "1.3.12"; - asds = [ "skippy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/skippy/2015-04-07/skippy-1.3.12.tgz"; - sha256 = "1n8925qz19w00qc67z3hc97fpmfhi0r54dd50fzqm24vhyb7qwc2"; - system = "skippy"; - asd = "skippy"; - }); - systems = [ "skippy" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - skippy-renderer = (build-asdf-system { - pname = "skippy-renderer"; - version = "20221106-git"; - asds = [ "skippy-renderer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/skippy-renderer/2022-11-06/skippy-renderer-20221106-git.tgz"; - sha256 = "0x9zv8zchxn48axl5rwfnywg9kb9m0pz3gwjk7gpg9m574jw8x0c"; - system = "skippy-renderer"; - asd = "skippy-renderer"; - }); - systems = [ "skippy-renderer" ]; - lispLibs = [ (getAttr "skippy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - skitter = (build-asdf-system { - pname = "skitter"; - version = "release-quicklisp-620772ae-git"; - asds = [ "skitter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz"; - sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl"; - system = "skitter"; - asd = "skitter"; - }); - systems = [ "skitter" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "rtg-math" self) (getAttr "structy-defclass" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - skitter_dot_glop = (build-asdf-system { - pname = "skitter.glop"; - version = "release-quicklisp-620772ae-git"; - asds = [ "skitter.glop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz"; - sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl"; - system = "skitter.glop"; - asd = "skitter.glop"; - }); - systems = [ "skitter.glop" ]; - lispLibs = [ (getAttr "glop" self) (getAttr "skitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - skitter_dot_sdl2 = (build-asdf-system { - pname = "skitter.sdl2"; - version = "release-quicklisp-620772ae-git"; - asds = [ "skitter.sdl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz"; - sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl"; - system = "skitter.sdl2"; - asd = "skitter.sdl2"; - }); - systems = [ "skitter.sdl2" ]; - lispLibs = [ (getAttr "sdl2" self) (getAttr "skitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slack-client = (build-asdf-system { - pname = "slack-client"; - version = "20160825-git"; - asds = [ "slack-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slack-client/2016-08-25/slack-client-20160825-git.tgz"; - sha256 = "1yl2wqhx1h2kw3s5dkkq5c4hk1r7679yzq41j2j2bscbl3xk3jp9"; - system = "slack-client"; - asd = "slack-client"; - }); - systems = [ "slack-client" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "blackbird" self) (getAttr "cl-async" self) (getAttr "drakma-async" self) (getAttr "event-glue" self) (getAttr "jonathan" self) (getAttr "safe-queue" self) (getAttr "websocket-driver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slack-client-test = (build-asdf-system { - pname = "slack-client-test"; - version = "20160825-git"; - asds = [ "slack-client-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slack-client/2016-08-25/slack-client-20160825-git.tgz"; - sha256 = "1yl2wqhx1h2kw3s5dkkq5c4hk1r7679yzq41j2j2bscbl3xk3jp9"; - system = "slack-client-test"; - asd = "slack-client-test"; - }); - systems = [ "slack-client-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "slack-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slim = (build-asdf-system { - pname = "slim"; - version = "20241012-git"; - asds = [ "slim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; - sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; - system = "slim"; - asd = "slim"; - }); - systems = [ "slim" ]; - lispLibs = [ (getAttr "mcclim" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slite = (build-asdf-system { - pname = "slite"; - version = "20241012-git"; - asds = [ "slite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slite/2024-10-12/slite-20241012-git.tgz"; - sha256 = "1ij1qxp20p7zfxm453v42z27ff3z6lk7hly8knk5fj3awj9nvljd"; - system = "slite"; - asd = "slite"; - }); - systems = [ "slite" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slot-extra-options = (build-asdf-system { - pname = "slot-extra-options"; - version = "20210411-git"; - asds = [ "slot-extra-options" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slot-extra-options/2021-04-11/slot-extra-options-20210411-git.tgz"; - sha256 = "1b2swhjjs0w1034cy045q8l3ndmci7rjawka39q23vncy6d90497"; - system = "slot-extra-options"; - asd = "slot-extra-options"; - }); - systems = [ "slot-extra-options" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slot-extra-options-tests = (build-asdf-system { - pname = "slot-extra-options-tests"; - version = "20210411-git"; - asds = [ "slot-extra-options-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slot-extra-options/2021-04-11/slot-extra-options-20210411-git.tgz"; - sha256 = "1b2swhjjs0w1034cy045q8l3ndmci7rjawka39q23vncy6d90497"; - system = "slot-extra-options-tests"; - asd = "slot-extra-options-tests"; - }); - systems = [ "slot-extra-options-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "parachute" self) (getAttr "serapeum" self) (getAttr "slot-extra-options" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slot-map = (build-asdf-system { - pname = "slot-map"; - version = "20220707-git"; - asds = [ "slot-map" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slot-map/2022-07-07/slot-map-20220707-git.tgz"; - sha256 = "1z9qprjqj3pwqf469bxj0fvvjni1ncap6g7w5q9gmv5hnf2a4yjb"; - system = "slot-map"; - asd = "slot-map"; - }); - systems = [ "slot-map" ]; - lispLibs = [ (getAttr "dynamic-array" self) (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slynk = (build-asdf-system { - pname = "slynk"; - version = "20241012-git"; - asds = [ "slynk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sly/2024-10-12/sly-20241012-git.tgz"; - sha256 = "1mxkcgh7g76mqn148zm2mhsh09whwh89wldlyfhq0d9h96zch451"; - system = "slynk"; - asd = "slynk"; - }); - systems = [ "slynk" ]; - lispLibs = [ ]; - meta = {}; - }); - slynk-macrostep = (build-asdf-system { - pname = "slynk-macrostep"; - version = "20230618-git"; - asds = [ "slynk-macrostep" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sly-macrostep/2023-06-18/sly-macrostep-20230618-git.tgz"; - sha256 = "1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"; - system = "slynk-macrostep"; - asd = "slynk-macrostep"; - }); - systems = [ "slynk-macrostep" ]; - lispLibs = [ (getAttr "slynk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - slynk-named-readtables = (build-asdf-system { - pname = "slynk-named-readtables"; - version = "20230618-git"; - asds = [ "slynk-named-readtables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sly-named-readtables/2023-06-18/sly-named-readtables-20230618-git.tgz"; - sha256 = "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"; - system = "slynk-named-readtables"; - asd = "slynk-named-readtables"; - }); - systems = [ "slynk-named-readtables" ]; - lispLibs = [ (getAttr "slynk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - smackjack = (build-asdf-system { - pname = "smackjack"; - version = "20180228-git"; - asds = [ "smackjack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/smackjack/2018-02-28/smackjack-20180228-git.tgz"; - sha256 = "1n2x7qij2ci70axd2xn295qqgqrvbfbpvv2438lhwd8qa92dhk8b"; - system = "smackjack"; - asd = "smackjack"; - }); - systems = [ "smackjack" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-containers" self) (getAttr "cl-json" self) (getAttr "hunchentoot" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - smackjack-demo = (build-asdf-system { - pname = "smackjack-demo"; - version = "20180228-git"; - asds = [ "smackjack-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/smackjack/2018-02-28/smackjack-20180228-git.tgz"; - sha256 = "1n2x7qij2ci70axd2xn295qqgqrvbfbpvv2438lhwd8qa92dhk8b"; - system = "smackjack-demo"; - asd = "smackjack-demo"; - }); - systems = [ "smackjack-demo" ]; - lispLibs = [ (getAttr "cl-containers" self) (getAttr "cl-who" self) (getAttr "local-time" self) (getAttr "smackjack" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - small-coalton-programs = (build-asdf-system { - pname = "small-coalton-programs"; - version = "20241012-git"; - asds = [ "small-coalton-programs" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "small-coalton-programs"; - asd = "small-coalton-programs"; - }); - systems = [ "small-coalton-programs" ]; - lispLibs = [ (getAttr "coalton" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - smart-buffer = (build-asdf-system { - pname = "smart-buffer"; - version = "20211020-git"; - asds = [ "smart-buffer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz"; - sha256 = "1r9y61a791m7aqgg2ixs86lc63y78w7n6dwipakcpjzscqmprppr"; - system = "smart-buffer"; - asd = "smart-buffer"; - }); - systems = [ "smart-buffer" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "xsubseq" self) ]; - meta = {}; - }); - smart-buffer-test = (build-asdf-system { - pname = "smart-buffer-test"; - version = "20211020-git"; - asds = [ "smart-buffer-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz"; - sha256 = "1r9y61a791m7aqgg2ixs86lc63y78w7n6dwipakcpjzscqmprppr"; - system = "smart-buffer-test"; - asd = "smart-buffer-test"; - }); - systems = [ "smart-buffer-test" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "smart-buffer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - smokebase = (build-asdf-system { - pname = "smokebase"; - version = "20210531-git"; - asds = [ "smokebase" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; - sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; - system = "smokebase"; - asd = "smokebase"; - }); - systems = [ "smokebase" ]; - lispLibs = [ (getAttr "qt_plus_libs" self) (getAttr "qt-libs" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - smoothers = (build-asdf-system { - pname = "smoothers"; - version = "20241012-git"; - asds = [ "smoothers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/smoothers/2024-10-12/smoothers-20241012-git.tgz"; - sha256 = "0byqn3xni83jkbzc0jllpyfsgjaiifsjr55aaf90pbi71as39xfd"; - system = "smoothers"; - asd = "smoothers"; - }); - systems = [ "smoothers" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "alexandria_plus" self) (getAttr "array-operations" self) (getAttr "lla" self) (getAttr "num-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - smug = (build-asdf-system { - pname = "smug"; - version = "20211230-git"; - asds = [ "smug" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/smug/2021-12-30/smug-20211230-git.tgz"; - sha256 = "13gzkj9skya2ziwclk041v7sif392ydbvhvikhg2raa3qjcxb3rq"; - system = "smug"; - asd = "smug"; - }); - systems = [ "smug" ]; - lispLibs = [ (getAttr "asdf-package-system" self) ]; - meta = {}; - }); - snakes = (build-asdf-system { - pname = "snakes"; - version = "20221106-git"; - asds = [ "snakes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snakes/2022-11-06/snakes-20221106-git.tgz"; - sha256 = "17fqkw256c2iacy5g37sv9h0mbrmb3fg2s9sd83gj9clrg5r4wkl"; - system = "snakes"; - asd = "snakes"; - }); - systems = [ "snakes" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-cont" self) (getAttr "cl-utilities" self) (getAttr "closer-mop" self) (getAttr "fiveam" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snappy = (build-asdf-system { - pname = "snappy"; - version = "20211209-git"; - asds = [ "snappy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snappy/2021-12-09/snappy-20211209-git.tgz"; - sha256 = "1g0d8icbqmahywqczb8pimr63970dil6mnlxkv3y9ng31dg0npy6"; - system = "snappy"; - asd = "snappy"; - }); - systems = [ "snappy" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "nibbles" self) (getAttr "varint" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark = (build-asdf-system { - pname = "snark"; - version = "20160421-git"; - asds = [ "snark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark"; - asd = "snark"; - }); - systems = [ "snark" ]; - lispLibs = [ (getAttr "snark-implementation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-agenda = (build-asdf-system { - pname = "snark-agenda"; - version = "20160421-git"; - asds = [ "snark-agenda" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-agenda"; - asd = "snark-agenda"; - }); - systems = [ "snark-agenda" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-deque" self) (getAttr "snark-lisp" self) (getAttr "snark-sparse-array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-auxiliary-packages = (build-asdf-system { - pname = "snark-auxiliary-packages"; - version = "20160421-git"; - asds = [ "snark-auxiliary-packages" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-auxiliary-packages"; - asd = "snark-auxiliary-packages"; - }); - systems = [ "snark-auxiliary-packages" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-deque = (build-asdf-system { - pname = "snark-deque"; - version = "20160421-git"; - asds = [ "snark-deque" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-deque"; - asd = "snark-deque"; - }); - systems = [ "snark-deque" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-dpll = (build-asdf-system { - pname = "snark-dpll"; - version = "20160421-git"; - asds = [ "snark-dpll" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-dpll"; - asd = "snark-dpll"; - }); - systems = [ "snark-dpll" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-examples = (build-asdf-system { - pname = "snark-examples"; - version = "20160421-git"; - asds = [ "snark-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-examples"; - asd = "snark-examples"; - }); - systems = [ "snark-examples" ]; - lispLibs = [ (getAttr "snark" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-feature = (build-asdf-system { - pname = "snark-feature"; - version = "20160421-git"; - asds = [ "snark-feature" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-feature"; - asd = "snark-feature"; - }); - systems = [ "snark-feature" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-implementation = (build-asdf-system { - pname = "snark-implementation"; - version = "20160421-git"; - asds = [ "snark-implementation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-implementation"; - asd = "snark-implementation"; - }); - systems = [ "snark-implementation" ]; - lispLibs = [ (getAttr "snark-agenda" self) (getAttr "snark-auxiliary-packages" self) (getAttr "snark-deque" self) (getAttr "snark-dpll" self) (getAttr "snark-feature" self) (getAttr "snark-infix-reader" self) (getAttr "snark-lisp" self) (getAttr "snark-numbering" self) (getAttr "snark-pkg" self) (getAttr "snark-sparse-array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-infix-reader = (build-asdf-system { - pname = "snark-infix-reader"; - version = "20160421-git"; - asds = [ "snark-infix-reader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-infix-reader"; - asd = "snark-infix-reader"; - }); - systems = [ "snark-infix-reader" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-lisp = (build-asdf-system { - pname = "snark-lisp"; - version = "20160421-git"; - asds = [ "snark-lisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-lisp"; - asd = "snark-lisp"; - }); - systems = [ "snark-lisp" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-loads = (build-asdf-system { - pname = "snark-loads"; - version = "20160421-git"; - asds = [ "snark-loads" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-loads"; - asd = "snark-loads"; - }); - systems = [ "snark-loads" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-numbering = (build-asdf-system { - pname = "snark-numbering"; - version = "20160421-git"; - asds = [ "snark-numbering" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-numbering"; - asd = "snark-numbering"; - }); - systems = [ "snark-numbering" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-lisp" self) (getAttr "snark-sparse-array" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-pkg = (build-asdf-system { - pname = "snark-pkg"; - version = "20160421-git"; - asds = [ "snark-pkg" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-pkg"; - asd = "snark-pkg"; - }); - systems = [ "snark-pkg" ]; - lispLibs = [ (getAttr "snark-dpll" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snark-sparse-array = (build-asdf-system { - pname = "snark-sparse-array"; - version = "20160421-git"; - asds = [ "snark-sparse-array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; - sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; - system = "snark-sparse-array"; - asd = "snark-sparse-array"; - }); - systems = [ "snark-sparse-array" ]; - lispLibs = [ (getAttr "snark-auxiliary-packages" self) (getAttr "snark-lisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sndfile-blob = (build-asdf-system { - pname = "sndfile-blob"; - version = "stable-git"; - asds = [ "sndfile-blob" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sndfile-blob/2020-10-16/sndfile-blob-stable-git.tgz"; - sha256 = "1csbm2cgj76smia59044vx8698w9dy223cmwv8l4i8kb95m1i3l0"; - system = "sndfile-blob"; - asd = "sndfile-blob"; - }); - systems = [ "sndfile-blob" ]; - lispLibs = [ (getAttr "bodge-blobs-support" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snmp = (build-asdf-system { - pname = "snmp"; - version = "6.1"; - asds = [ "snmp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; - sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; - system = "snmp"; - asd = "snmp"; - }); - systems = [ "snmp" ]; - lispLibs = [ (getAttr "ieee-floats" self) (getAttr "ironclad" self) (getAttr "portable-threads" self) (getAttr "trivial-gray-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snmp-server = (build-asdf-system { - pname = "snmp-server"; - version = "6.1"; - asds = [ "snmp-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; - sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; - system = "snmp-server"; - asd = "snmp-server"; - }); - systems = [ "snmp-server" ]; - lispLibs = [ (getAttr "snmp" self) (getAttr "usocket-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snmp-test = (build-asdf-system { - pname = "snmp-test"; - version = "6.1"; - asds = [ "snmp-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; - sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; - system = "snmp-test"; - asd = "snmp-test"; - }); - systems = [ "snmp-test" ]; - lispLibs = [ (getAttr "snmp" self) (getAttr "snmp-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snmp-ui = (build-asdf-system { - pname = "snmp-ui"; - version = "6.1"; - asds = [ "snmp-ui" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; - sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; - system = "snmp-ui"; - asd = "snmp-ui"; - }); - systems = [ "snmp-ui" ]; - lispLibs = [ (getAttr "snmp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snooze = (build-asdf-system { - pname = "snooze"; - version = "20241012-git"; - asds = [ "snooze" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snooze/2024-10-12/snooze-20241012-git.tgz"; - sha256 = "0gm9vxi7lcir80snka3qkl6sw8z90jaqf31c72bgyk9j8qkf7xvc"; - system = "snooze"; - asd = "snooze"; - }); - systems = [ "snooze" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "parse-float" self) (getAttr "quri" self) (getAttr "rfc2388" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snooze-demo = (build-asdf-system { - pname = "snooze-demo"; - version = "20241012-git"; - asds = [ "snooze-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snooze/2024-10-12/snooze-20241012-git.tgz"; - sha256 = "0gm9vxi7lcir80snka3qkl6sw8z90jaqf31c72bgyk9j8qkf7xvc"; - system = "snooze-demo"; - asd = "snooze"; - }); - systems = [ "snooze-demo" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-css" self) (getAttr "cl-fad" self) (getAttr "cl-json" self) (getAttr "cl-who" self) (getAttr "hunchentoot" self) (getAttr "local-time" self) (getAttr "local-time-duration" self) (getAttr "snooze" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - snooze-tests = (build-asdf-system { - pname = "snooze-tests"; - version = "20241012-git"; - asds = [ "snooze-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/snooze/2024-10-12/snooze-20241012-git.tgz"; - sha256 = "0gm9vxi7lcir80snka3qkl6sw8z90jaqf31c72bgyk9j8qkf7xvc"; - system = "snooze-tests"; - asd = "snooze"; - }); - systems = [ "snooze-tests" ]; - lispLibs = [ (getAttr "fiasco" self) (getAttr "snooze" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - softdrink = (build-asdf-system { - pname = "softdrink"; - version = "20231021-git"; - asds = [ "softdrink" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/softdrink/2023-10-21/softdrink-20231021-git.tgz"; - sha256 = "1454mqpwb2s7m1myhibj2mrlm64wng1jgbv94mhs6hpzj2r2mgdi"; - system = "softdrink"; - asd = "softdrink"; - }); - systems = [ "softdrink" ]; - lispLibs = [ (getAttr "lass" self) (getAttr "lquery" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - software-evolution-library = (build-asdf-system { - pname = "software-evolution-library"; - version = "20241012-git"; - asds = [ "software-evolution-library" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sel/2024-10-12/sel-20241012-git.tgz"; - sha256 = "1j1disr1wcql30hdj3f49ss41843wlmqx486nkna6qbnnsfay66w"; - system = "software-evolution-library"; - asd = "software-evolution-library"; - }); - systems = [ "software-evolution-library" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "atomics" self) (getAttr "cffi-grovel" self) (getAttr "deploy" self) (getAttr "gt" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - solid-engine = (build-asdf-system { - pname = "solid-engine"; - version = "20190521-git"; - asds = [ "solid-engine" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/solid-engine/2019-05-21/solid-engine-20190521-git.tgz"; - sha256 = "1pxrgxfqz8br258jy35qyimsrz544fg9k7lw2jshkj4jr2pswsv0"; - system = "solid-engine"; - asd = "solid-engine"; - }); - systems = [ "solid-engine" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - soundex = (build-asdf-system { - pname = "soundex"; - version = "1.0"; - asds = [ "soundex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/soundex/2010-10-06/soundex-1.0.tgz"; - sha256 = "00ar2x7ja35337v6gwa4h2b8w7gf7dwx5mdfz91dqay43kx1pjsi"; - system = "soundex"; - asd = "soundex"; - }); - systems = [ "soundex" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - source-error = (build-asdf-system { - pname = "source-error"; - version = "20241012-git"; - asds = [ "source-error" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "source-error"; - asd = "source-error"; - }); - systems = [ "source-error" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - south = (build-asdf-system { - pname = "south"; - version = "20231021-git"; - asds = [ "south" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/south/2023-10-21/south-20231021-git.tgz"; - sha256 = "0acvi3nwddwphxm92i8bbv1nbb9zzx7gbcza5cr68rs8wydsr8h3"; - system = "south"; - asd = "south"; - }); - systems = [ "south" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "ironclad" self) (getAttr "uuid" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sparse-set = (build-asdf-system { - pname = "sparse-set"; - version = "20220707-git"; - asds = [ "sparse-set" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sparse-set/2022-07-07/sparse-set-20220707-git.tgz"; - sha256 = "0czms03lrvg20hw3sz7wzzkl1z0vm0ndb3dmbvwsjd7m89fag793"; - system = "sparse-set"; - asd = "sparse-set"; - }); - systems = [ "sparse-set" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spatial-trees = (build-asdf-system { - pname = "spatial-trees"; - version = "20140826-git"; - asds = [ "spatial-trees" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; - sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; - system = "spatial-trees"; - asd = "spatial-trees"; - }); - systems = [ "spatial-trees" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spatial-trees_dot_nns = (build-asdf-system { - pname = "spatial-trees.nns"; - version = "20140826-git"; - asds = [ "spatial-trees.nns" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; - sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; - system = "spatial-trees.nns"; - asd = "spatial-trees.nns"; - }); - systems = [ "spatial-trees.nns" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "optima" self) (getAttr "spatial-trees" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spatial-trees_dot_nns_dot_test = (build-asdf-system { - pname = "spatial-trees.nns.test"; - version = "20140826-git"; - asds = [ "spatial-trees.nns.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; - sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; - system = "spatial-trees.nns.test"; - asd = "spatial-trees.nns.test"; - }); - systems = [ "spatial-trees.nns.test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "fiveam" self) (getAttr "iterate" self) (getAttr "optima" self) (getAttr "spatial-trees" self) (getAttr "spatial-trees_dot_nns" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spatial-trees_dot_test = (build-asdf-system { - pname = "spatial-trees.test"; - version = "20140826-git"; - asds = [ "spatial-trees.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; - sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; - system = "spatial-trees.test"; - asd = "spatial-trees.test"; - }); - systems = [ "spatial-trees.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "spatial-trees" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - special-functions = (build-asdf-system { - pname = "special-functions"; - version = "20221106-git"; - asds = [ "special-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/special-functions/2022-11-06/special-functions-20221106-git.tgz"; - sha256 = "092szffy7zfxgrvfck11wnj8l0mgcym13yiafj01ad02lbj1fnnv"; - system = "special-functions"; - asd = "special-functions"; - }); - systems = [ "special-functions" ]; - lispLibs = [ (getAttr "alexandria_plus" self) (getAttr "float-features" self) (getAttr "let-plus" self) (getAttr "num-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - specialization-store = (build-asdf-system { - pname = "specialization-store"; - version = "v0.0.5"; - asds = [ "specialization-store" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz"; - sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c"; - system = "specialization-store"; - asd = "specialization-store"; - }); - systems = [ "specialization-store" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "introspect-environment" self) (getAttr "specialization-store-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - specialization-store-features = (build-asdf-system { - pname = "specialization-store-features"; - version = "v0.0.5"; - asds = [ "specialization-store-features" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz"; - sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c"; - system = "specialization-store-features"; - asd = "specialization-store-features"; - }); - systems = [ "specialization-store-features" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "introspect-environment" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - specialization-store-tests = (build-asdf-system { - pname = "specialization-store-tests"; - version = "v0.0.5"; - asds = [ "specialization-store-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz"; - sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c"; - system = "specialization-store-tests"; - asd = "specialization-store-tests"; - }); - systems = [ "specialization-store-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "specialization-store" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - specialized-function = (build-asdf-system { - pname = "specialized-function"; - version = "20210531-git"; - asds = [ "specialized-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/specialized-function/2021-05-31/specialized-function-20210531-git.tgz"; - sha256 = "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"; - system = "specialized-function"; - asd = "specialized-function"; - }); - systems = [ "specialized-function" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "lisp-namespace" self) (getAttr "trivia" self) (getAttr "trivial-cltl2" self) (getAttr "type-r" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - specialized-function_dot_test = (build-asdf-system { - pname = "specialized-function.test"; - version = "20210531-git"; - asds = [ "specialized-function.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/specialized-function/2021-05-31/specialized-function-20210531-git.tgz"; - sha256 = "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"; - system = "specialized-function.test"; - asd = "specialized-function.test"; - }); - systems = [ "specialized-function.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "specialized-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - speechless = (build-asdf-system { - pname = "speechless"; - version = "20231021-git"; - asds = [ "speechless" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/speechless/2023-10-21/speechless-20231021-git.tgz"; - sha256 = "0x1v3gf0f0xpyxs8392r4xaqz214zmd1j89l61x9bg2h30k8ls37"; - system = "speechless"; - asd = "speechless"; - }); - systems = [ "speechless" ]; - lispLibs = [ (getAttr "cl-markless" self) (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spell = (build-asdf-system { - pname = "spell"; - version = "20190307-git"; - asds = [ "spell" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spell/2019-03-07/spell-20190307-git.tgz"; - sha256 = "1ifhx5q0iz80i9zwgcpv3w7xpp92ar9grz25008wnqzaayhfl020"; - system = "spell"; - asd = "spell"; - }); - systems = [ "spell" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spellcheck = (build-asdf-system { - pname = "spellcheck"; - version = "20131003-git"; - asds = [ "spellcheck" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spellcheck/2013-10-03/spellcheck-20131003-git.tgz"; - sha256 = "0a0r1dgh7y06s7j9mzxrryri8fhajzjsrrsh3i6vv65vq5zzxlka"; - system = "spellcheck"; - asd = "spellcheck"; - }); - systems = [ "spellcheck" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sphinx = (build-asdf-system { - pname = "sphinx"; - version = "20110619-git"; - asds = [ "sphinx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sphinx/2011-06-19/cl-sphinx-20110619-git.tgz"; - sha256 = "0z1ksxz1gh12ly6lbc77l0d5f380s81vx44qakm2dl1398lgb7x1"; - system = "sphinx"; - asd = "sphinx"; - }); - systems = [ "sphinx" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "closure-template" self) (getAttr "colorize" self) (getAttr "docutils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - spinneret = (build-asdf-system { - pname = "spinneret"; - version = "20241012-git"; - asds = [ "spinneret" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/spinneret/2024-10-12/spinneret-20241012-git.tgz"; - sha256 = "09ak35p487bwlwbv0vcdg9h869n8m7i3j1qj4f53lh1bm5s1zi5n"; - system = "spinneret"; - asd = "spinneret"; - }); - systems = [ "spinneret" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "global-vars" self) (getAttr "in-nomine" self) (getAttr "parenscript" self) (getAttr "serapeum" self) (getAttr "trivia" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - split-sequence = (build-asdf-system { - pname = "split-sequence"; - version = "v2.0.1"; - asds = [ "split-sequence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/split-sequence/2021-05-31/split-sequence-v2.0.1.tgz"; - sha256 = "172k7iv775kwism6304p6z7mqpjvipl57nq1bgvmbk445943fmhq"; - system = "split-sequence"; - asd = "split-sequence"; - }); - systems = [ "split-sequence" ]; - lispLibs = [ ]; - meta = {}; - }); - sqlite = (build-asdf-system { - pname = "sqlite"; - version = "20190813-git"; - asds = [ "sqlite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sqlite/2019-08-13/cl-sqlite-20190813-git.tgz"; - sha256 = "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"; - system = "sqlite"; - asd = "sqlite"; - }); - systems = [ "sqlite" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "iterate" self) ]; - meta = {}; - }); - srfi-1 = (build-asdf-system { - pname = "srfi-1"; - version = "20200218-git"; - asds = [ "srfi-1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/srfi-1/2020-02-18/srfi-1-20200218-git.tgz"; - sha256 = "00r2ikf1ck1zz3mx3jgk3plf3ibfhhrr8sc8hzr6ix34sbfvdadg"; - system = "srfi-1"; - asd = "srfi-1"; - }); - systems = [ "srfi-1" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - srfi-1_dot_test = (build-asdf-system { - pname = "srfi-1.test"; - version = "20200218-git"; - asds = [ "srfi-1.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/srfi-1/2020-02-18/srfi-1-20200218-git.tgz"; - sha256 = "00r2ikf1ck1zz3mx3jgk3plf3ibfhhrr8sc8hzr6ix34sbfvdadg"; - system = "srfi-1.test"; - asd = "srfi-1"; - }); - systems = [ "srfi-1.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "srfi-1" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - srfi-23 = (build-asdf-system { - pname = "srfi-23"; - version = "20200218-git"; - asds = [ "srfi-23" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/srfi-23/2020-02-18/srfi-23-20200218-git.tgz"; - sha256 = "0hgq2bdpdjp550kk9xlrxh82n45ldb42j2zzhkndmffh4rp9hd13"; - system = "srfi-23"; - asd = "srfi-23"; - }); - systems = [ "srfi-23" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - srfi-6 = (build-asdf-system { - pname = "srfi-6"; - version = "20200218-git"; - asds = [ "srfi-6" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/srfi-6/2020-02-18/srfi-6-20200218-git.tgz"; - sha256 = "1m9316r75haig84fhcrfm69gq0zfh5xqwqw8wsccc6z6vpz7pfwm"; - system = "srfi-6"; - asd = "srfi-6"; - }); - systems = [ "srfi-6" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - srfi-98 = (build-asdf-system { - pname = "srfi-98"; - version = "20200218-git"; - asds = [ "srfi-98" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/srfi-98/2020-02-18/srfi-98-20200218-git.tgz"; - sha256 = "0qqa7c6nas85n8mdpmk996jh12xm0nf63nhj1chi9qkwgm924fj3"; - system = "srfi-98"; - asd = "srfi-98"; - }); - systems = [ "srfi-98" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - srfi-98_dot_test = (build-asdf-system { - pname = "srfi-98.test"; - version = "20200218-git"; - asds = [ "srfi-98.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/srfi-98/2020-02-18/srfi-98-20200218-git.tgz"; - sha256 = "0qqa7c6nas85n8mdpmk996jh12xm0nf63nhj1chi9qkwgm924fj3"; - system = "srfi-98.test"; - asd = "srfi-98"; - }); - systems = [ "srfi-98.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "srfi-98" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sse-client = (build-asdf-system { - pname = "sse-client"; - version = "20210807-git"; - asds = [ "sse-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; - sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; - system = "sse-client"; - asd = "sse-client"; - }); - systems = [ "sse-client" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sse-client-test = (build-asdf-system { - pname = "sse-client-test"; - version = "20210807-git"; - asds = [ "sse-client-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; - sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; - system = "sse-client-test"; - asd = "sse-client-test"; - }); - systems = [ "sse-client-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "sse-client" self) (getAttr "trivial-escapes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sse-demo = (build-asdf-system { - pname = "sse-demo"; - version = "20210807-git"; - asds = [ "sse-demo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; - sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; - system = "sse-demo"; - asd = "sse-demo"; - }); - systems = [ "sse-demo" ]; - lispLibs = [ (getAttr "easy-routes" self) (getAttr "flexi-streams" self) (getAttr "hunchentoot" self) (getAttr "sse-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sse-server = (build-asdf-system { - pname = "sse-server"; - version = "20210807-git"; - asds = [ "sse-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; - sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; - system = "sse-server"; - asd = "sse-server"; - }); - systems = [ "sse-server" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "trivial-escapes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sse-server-test = (build-asdf-system { - pname = "sse-server-test"; - version = "20210807-git"; - asds = [ "sse-server-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; - sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; - system = "sse-server-test"; - asd = "sse-server-test"; - }); - systems = [ "sse-server-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "sse-server" self) (getAttr "trivial-escapes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - st-json = (build-asdf-system { - pname = "st-json"; - version = "20210630-git"; - asds = [ "st-json" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/st-json/2021-06-30/st-json-20210630-git.tgz"; - sha256 = "06qrhr5iw73k96lai2x9w52l6gnmlxy7fsr0r35gz6nz1f71x7gx"; - system = "st-json"; - asd = "st-json"; - }); - systems = [ "st-json" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - standard-cl = (build-asdf-system { - pname = "standard-cl"; - version = "20121125-git"; - asds = [ "standard-cl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; - sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; - system = "standard-cl"; - asd = "standard-cl"; - }); - systems = [ "standard-cl" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple = (build-asdf-system { - pname = "staple"; - version = "20241012-git"; - asds = [ "staple" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple"; - asd = "staple"; - }); - systems = [ "staple" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "clip" self) (getAttr "definitions" self) (getAttr "documentation-utils" self) (getAttr "language-codes" self) (getAttr "pathname-utils" self) (getAttr "staple-code-parser" self) (getAttr "staple-package-recording" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple-code-parser = (build-asdf-system { - pname = "staple-code-parser"; - version = "20241012-git"; - asds = [ "staple-code-parser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple-code-parser"; - asd = "staple-code-parser"; - }); - systems = [ "staple-code-parser" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "concrete-syntax-tree" self) (getAttr "concrete-syntax-tree-destructuring" self) (getAttr "concrete-syntax-tree-lambda-list" self) (getAttr "definitions" self) (getAttr "documentation-utils" self) (getAttr "eclector" self) (getAttr "eclector-concrete-syntax-tree" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple-markdown = (build-asdf-system { - pname = "staple-markdown"; - version = "20241012-git"; - asds = [ "staple-markdown" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple-markdown"; - asd = "staple-markdown"; - }); - systems = [ "staple-markdown" ]; - lispLibs = [ (getAttr "_3bmd" self) (getAttr "_3bmd-ext-code-blocks" self) (getAttr "staple" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple-markless = (build-asdf-system { - pname = "staple-markless"; - version = "20241012-git"; - asds = [ "staple-markless" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple-markless"; - asd = "staple-markless"; - }); - systems = [ "staple-markless" ]; - lispLibs = [ (getAttr "cl-markless-plump" self) (getAttr "staple" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple-package-recording = (build-asdf-system { - pname = "staple-package-recording"; - version = "20241012-git"; - asds = [ "staple-package-recording" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple-package-recording"; - asd = "staple-package-recording"; - }); - systems = [ "staple-package-recording" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple-restructured-text = (build-asdf-system { - pname = "staple-restructured-text"; - version = "20241012-git"; - asds = [ "staple-restructured-text" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple-restructured-text"; - asd = "staple-restructured-text"; - }); - systems = [ "staple-restructured-text" ]; - lispLibs = [ (getAttr "docutils" self) (getAttr "staple" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - staple-server = (build-asdf-system { - pname = "staple-server"; - version = "20241012-git"; - asds = [ "staple-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; - sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; - system = "staple-server"; - asd = "staple-server"; - }); - systems = [ "staple-server" ]; - lispLibs = [ (getAttr "dissect" self) (getAttr "documentation-utils" self) (getAttr "hunchentoot" self) (getAttr "staple-markdown" self) (getAttr "staple-markless" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stars = (build-asdf-system { - pname = "stars"; - version = "20180831-git"; - asds = [ "stars" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sprint-stars/2018-08-31/sprint-stars-20180831-git.tgz"; - sha256 = "1pm6wvywfgy0vlb0b2lbybpvhw9xzyn1nlpy0wpcglxxig6mnrgi"; - system = "stars"; - asd = "stars"; - }); - systems = [ "stars" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "drakma" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - static-dispatch = (build-asdf-system { - pname = "static-dispatch"; - version = "20211209-git"; - asds = [ "static-dispatch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/static-dispatch/2021-12-09/static-dispatch-20211209-git.tgz"; - sha256 = "1cishp7nckda5hav6c907axdfn1zpmzxpsy6hk7kkb69qn81yn2i"; - system = "static-dispatch"; - asd = "static-dispatch"; - }); - systems = [ "static-dispatch" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "arrows" self) (getAttr "cl-environments" self) (getAttr "cl-form-types" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "optima" self) ]; - meta = {}; - }); - static-vectors = (build-asdf-system { - pname = "static-vectors"; - version = "v1.9.3"; - asds = [ "static-vectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/static-vectors/2024-10-12/static-vectors-v1.9.3.tgz"; - sha256 = "1sn37hyf6x56irn2qqc51ncqswa3n94j6cxwcj2ixgxmszcyzx5h"; - system = "static-vectors"; - asd = "static-vectors"; - }); - systems = [ "static-vectors" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) ]; - meta = {}; - }); - statistics = (build-asdf-system { - pname = "statistics"; - version = "20241012-git"; - asds = [ "statistics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/statistics/2024-10-12/statistics-20241012-git.tgz"; - sha256 = "00dir3sif9jqc0b48vsk8r41h4zmf95jj4nqrc45mbnr80pmdrsl"; - system = "statistics"; - asd = "statistics"; - }); - systems = [ "statistics" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "distributions" self) (getAttr "let-plus" self) (getAttr "num-utils" self) (getAttr "org_dot_tfeb_dot_conduit-packages" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - statusor = (build-asdf-system { - pname = "statusor"; - version = "20230618-git"; - asds = [ "statusor" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/statusor/2023-06-18/statusor-20230618-git.tgz"; - sha256 = "1mxj4q7grvma6q05vj6sw4h4f2s121mnd77271lwnp74kjwh17cq"; - system = "statusor"; - asd = "statusor"; - }); - systems = [ "statusor" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stdutils = (build-asdf-system { - pname = "stdutils"; - version = "20111001-git"; - asds = [ "stdutils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-stdutils/2011-10-01/cl-stdutils-20111001-git.tgz"; - sha256 = "16vxxphqdq8264x0aanm36x9r6d3ci1gjf4vf46mwl59gcff4wcj"; - system = "stdutils"; - asd = "stdutils"; - }); - systems = [ "stdutils" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stealth-mixin = (build-asdf-system { - pname = "stealth-mixin"; - version = "20211020-git"; - asds = [ "stealth-mixin" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stealth-mixin/2021-10-20/stealth-mixin-20211020-git.tgz"; - sha256 = "0ar9cdmbmdnqz1ywpw34n47hlh0vqmb6pl76f5vbfgip3c81xwyi"; - system = "stealth-mixin"; - asd = "stealth-mixin"; - }); - systems = [ "stealth-mixin" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stefil = (build-asdf-system { - pname = "stefil"; - version = "20181210-git"; - asds = [ "stefil" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stefil/2018-12-10/stefil-20181210-git.tgz"; - sha256 = "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"; - system = "stefil"; - asd = "stefil"; - }); - systems = [ "stefil" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) (getAttr "swank" self) ]; - meta = {}; - }); - stefil_plus = (build-asdf-system { - pname = "stefil+"; - version = "20211209-git"; - asds = [ "stefil+" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stefil-/2021-12-09/stefil--20211209-git.tgz"; - sha256 = "039jjhcb3ka6vag39hz5v1bi81x444rqj6rb3np5qbm07dh1aij0"; - system = "stefil+"; - asd = "stefil+"; - }); - systems = [ "stefil+" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "gt" self) (getAttr "metabang-bind" self) (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stefil-test = (build-asdf-system { - pname = "stefil-test"; - version = "20181210-git"; - asds = [ "stefil-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stefil/2018-12-10/stefil-20181210-git.tgz"; - sha256 = "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"; - system = "stefil-test"; - asd = "stefil"; - }); - systems = [ "stefil-test" ]; - lispLibs = [ (getAttr "stefil" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stem = (build-asdf-system { - pname = "stem"; - version = "20150608-git"; - asds = [ "stem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stem/2015-06-08/stem-20150608-git.tgz"; - sha256 = "0a2kr09c3qcwg16n8rm15qgy5p9l6z4m72jray0846hqbnji77mp"; - system = "stem"; - asd = "stem"; - }); - systems = [ "stem" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stepster = (build-asdf-system { - pname = "stepster"; - version = "20241012-git"; - asds = [ "stepster" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stepster/2024-10-12/stepster-20241012-git.tgz"; - sha256 = "027psal692mvpaj8bzp8fkkrsy5pgyrg8sr21xgc4m8ypp0shvw3"; - system = "stepster"; - asd = "stepster"; - }); - systems = [ "stepster" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-ppcre" self) (getAttr "cl-reexport" self) (getAttr "clss" self) (getAttr "dexador" self) (getAttr "jonathan" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stl = (build-asdf-system { - pname = "stl"; - version = "20171019-git"; - asds = [ "stl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stl/2017-10-19/stl-20171019-git.tgz"; - sha256 = "12v11bsarlnx5k930gx116wbgv41kwm45ysdikq3am4x3lqsjz2n"; - system = "stl"; - asd = "stl"; - }); - systems = [ "stl" ]; - lispLibs = [ (getAttr "_3d-vectors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stmx = (build-asdf-system { - pname = "stmx"; - version = "stable-95f7dea8-git"; - asds = [ "stmx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stmx/2024-10-12/stmx-stable-95f7dea8-git.tgz"; - sha256 = "1qq25y79casaa56a76gj9hk2f3hjcc5z3f4na4vy3sw99km54hn9"; - system = "stmx"; - asd = "stmx"; - }); - systems = [ "stmx" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "closer-mop" self) (getAttr "log4cl" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stmx_dot_test = (build-asdf-system { - pname = "stmx.test"; - version = "stable-95f7dea8-git"; - asds = [ "stmx.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stmx/2024-10-12/stmx-stable-95f7dea8-git.tgz"; - sha256 = "1qq25y79casaa56a76gj9hk2f3hjcc5z3f4na4vy3sw99km54hn9"; - system = "stmx.test"; - asd = "stmx.test"; - }); - systems = [ "stmx.test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "fiveam" self) (getAttr "log4cl" self) (getAttr "stmx" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stopclock = (build-asdf-system { - pname = "stopclock"; - version = "v1.0.2"; - asds = [ "stopclock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stopclock/2023-10-21/stopclock-v1.0.2.tgz"; - sha256 = "1p5lygznfasad1sw8whd2bg9bwi3z7nbncr3samd55nsi5yr3hfd"; - system = "stopclock"; - asd = "stopclock"; - }); - systems = [ "stopclock" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - str = (build-asdf-system { - pname = "str"; - version = "20241012-git"; - asds = [ "str" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-str/2024-10-12/cl-str-20241012-git.tgz"; - sha256 = "1c9vcrm4gy3ljwnzjimsxswszfs2im1a4iqalpn1mhv8ddwavb2j"; - system = "str"; - asd = "str"; - }); - systems = [ "str" ]; - lispLibs = [ (getAttr "cl-change-case" self) (getAttr "cl-ppcre" self) (getAttr "cl-ppcre-unicode" self) ]; - meta = {}; - }); - str_dot_test = (build-asdf-system { - pname = "str.test"; - version = "20241012-git"; - asds = [ "str.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-str/2024-10-12/cl-str-20241012-git.tgz"; - sha256 = "1c9vcrm4gy3ljwnzjimsxswszfs2im1a4iqalpn1mhv8ddwavb2j"; - system = "str.test"; - asd = "str.test"; - }); - systems = [ "str.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - strict-function = (build-asdf-system { - pname = "strict-function"; - version = "20211020-git"; - asds = [ "strict-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/strict-function/2021-10-20/strict-function-20211020-git.tgz"; - sha256 = "176l5024qa72my7wiag0w6mmwys1q4yk6b4n944378qbqr2zpq2a"; - system = "strict-function"; - asd = "strict-function"; - }); - systems = [ "strict-function" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - string-case = (build-asdf-system { - pname = "string-case"; - version = "20180711-git"; - asds = [ "string-case" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/string-case/2018-07-11/string-case-20180711-git.tgz"; - sha256 = "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"; - system = "string-case"; - asd = "string-case"; - }); - systems = [ "string-case" ]; - lispLibs = [ ]; - meta = {}; - }); - string-escape = (build-asdf-system { - pname = "string-escape"; - version = "20150407-http"; - asds = [ "string-escape" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/string-escape/2015-04-07/string-escape-20150407-http.tgz"; - sha256 = "0r7b699332hy3qj17jax9jdhq4jx6rbw5xf0j43bwg79wddk0rq3"; - system = "string-escape"; - asd = "string-escape"; - }); - systems = [ "string-escape" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stripe = (build-asdf-system { - pname = "stripe"; - version = "20241012-git"; - asds = [ "stripe" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stripe/2024-10-12/stripe-20241012-git.tgz"; - sha256 = "1ng1381pg0mj1ba0ndxvhaqmm0w64v0gq0qsxbfm9kr6hq46gsf9"; - system = "stripe"; - asd = "stripe"; - }); - systems = [ "stripe" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "golden-utils" self) (getAttr "local-time" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stripe-against-the-modern-world = (build-asdf-system { - pname = "stripe-against-the-modern-world"; - version = "20221106-git"; - asds = [ "stripe-against-the-modern-world" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stripe-against-the-modern-world/2022-11-06/stripe-against-the-modern-world-20221106-git.tgz"; - sha256 = "1qp714y7b7vfdafirlphk02gixa4jffs0xgcy96fncxs6r2zq3q9"; - system = "stripe-against-the-modern-world"; - asd = "stripe-against-the-modern-world"; - }); - systems = [ "stripe-against-the-modern-world" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "do-urlencode" self) (getAttr "ironclad" self) (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "ningle" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext = (build-asdf-system { - pname = "structure-ext"; - version = "20211209-git"; - asds = [ "structure-ext" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext"; - asd = "structure-ext"; - }); - systems = [ "structure-ext" ]; - lispLibs = [ (getAttr "structure-ext_dot_as-class" self) (getAttr "structure-ext_dot_left-arrow-accessors" self) (getAttr "structure-ext_dot_make-instance" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext_dot_as-class = (build-asdf-system { - pname = "structure-ext.as-class"; - version = "20211209-git"; - asds = [ "structure-ext.as-class" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext.as-class"; - asd = "structure-ext.as-class"; - }); - systems = [ "structure-ext.as-class" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "lambda-fiddle" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext_dot_as-class_dot_test = (build-asdf-system { - pname = "structure-ext.as-class.test"; - version = "20211209-git"; - asds = [ "structure-ext.as-class.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext.as-class.test"; - asd = "structure-ext.as-class.test"; - }); - systems = [ "structure-ext.as-class.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "structure-ext_dot_as-class" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext_dot_left-arrow-accessors = (build-asdf-system { - pname = "structure-ext.left-arrow-accessors"; - version = "20211209-git"; - asds = [ "structure-ext.left-arrow-accessors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext.left-arrow-accessors"; - asd = "structure-ext.left-arrow-accessors"; - }); - systems = [ "structure-ext.left-arrow-accessors" ]; - lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext_dot_left-arrow-accessors_dot_test = (build-asdf-system { - pname = "structure-ext.left-arrow-accessors.test"; - version = "20211209-git"; - asds = [ "structure-ext.left-arrow-accessors.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext.left-arrow-accessors.test"; - asd = "structure-ext.left-arrow-accessors.test"; - }); - systems = [ "structure-ext.left-arrow-accessors.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "structure-ext_dot_left-arrow-accessors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext_dot_make-instance = (build-asdf-system { - pname = "structure-ext.make-instance"; - version = "20211209-git"; - asds = [ "structure-ext.make-instance" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext.make-instance"; - asd = "structure-ext.make-instance"; - }); - systems = [ "structure-ext.make-instance" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structure-ext_dot_make-instance_dot_test = (build-asdf-system { - pname = "structure-ext.make-instance.test"; - version = "20211209-git"; - asds = [ "structure-ext.make-instance.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; - sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; - system = "structure-ext.make-instance.test"; - asd = "structure-ext.make-instance.test"; - }); - systems = [ "structure-ext.make-instance.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "structure-ext_dot_make-instance" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - structy-defclass = (build-asdf-system { - pname = "structy-defclass"; - version = "20170630-git"; - asds = [ "structy-defclass" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/structy-defclass/2017-06-30/structy-defclass-20170630-git.tgz"; - sha256 = "0fdlj45xzyghmg65dvs7ww7dxji84iid2y6rh9j77aip7v0l5q63"; - system = "structy-defclass"; - asd = "structy-defclass"; - }); - systems = [ "structy-defclass" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - studio-client = (build-asdf-system { - pname = "studio-client"; - version = "20231021-git"; - asds = [ "studio-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/studio-client/2023-10-21/studio-client-20231021-git.tgz"; - sha256 = "0wxakd5jd0y6h2ii4690qav7zna6iyamdyksw5zjyz4xmsg4by2l"; - system = "studio-client"; - asd = "studio-client"; - }); - systems = [ "studio-client" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "documentation-utils" self) (getAttr "north-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - stumpwm = (build-asdf-system { - pname = "stumpwm"; - version = "20231021-git"; - asds = [ "stumpwm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stumpwm/2023-10-21/stumpwm-20231021-git.tgz"; - sha256 = "114kicsziqvm15x15yhc39j8qzv6gxz4wxc40xp968pprzr4a4d1"; - system = "stumpwm"; - asd = "stumpwm"; - }); - systems = [ "stumpwm" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "clx" self) (getAttr "dynamic-mixins-swm" self) ]; - meta = {}; - }); - stumpwm-tests = (build-asdf-system { - pname = "stumpwm-tests"; - version = "20231021-git"; - asds = [ "stumpwm-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/stumpwm/2023-10-21/stumpwm-20231021-git.tgz"; - sha256 = "114kicsziqvm15x15yhc39j8qzv6gxz4wxc40xp968pprzr4a4d1"; - system = "stumpwm-tests"; - asd = "stumpwm-tests"; - }); - systems = [ "stumpwm-tests" ]; - lispLibs = [ (getAttr "fiasco" self) (getAttr "stumpwm" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sucle = (build-asdf-system { - pname = "sucle"; - version = "20200427-git"; - asds = [ "sucle" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "sucle"; - asd = "sucle"; - }); - systems = [ "sucle" ]; - lispLibs = [ (getAttr "aabbcc" self) (getAttr "alexandria" self) (getAttr "application" self) (getAttr "black-tie" self) (getAttr "camera-matrix" self) (getAttr "cl-opengl" self) (getAttr "control" self) (getAttr "crud" self) (getAttr "fps-independent-timestep" self) (getAttr "glhelp" self) (getAttr "image-utility" self) (getAttr "livesupport" self) (getAttr "ncurses-clone-for-lem" self) (getAttr "nsb-cga" self) (getAttr "quads" self) (getAttr "scratch-buffer" self) (getAttr "sucle-multiprocessing" self) (getAttr "sucle-temp" self) (getAttr "text-subsystem" self) (getAttr "uncommon-lisp" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sucle-multiprocessing = (build-asdf-system { - pname = "sucle-multiprocessing"; - version = "20200427-git"; - asds = [ "sucle-multiprocessing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "sucle-multiprocessing"; - asd = "sucle-multiprocessing"; - }); - systems = [ "sucle-multiprocessing" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-cpus" self) (getAttr "lparallel" self) (getAttr "uncommon-lisp" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sucle-serialize = (build-asdf-system { - pname = "sucle-serialize"; - version = "20200427-git"; - asds = [ "sucle-serialize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "sucle-serialize"; - asd = "sucle-serialize"; - }); - systems = [ "sucle-serialize" ]; - lispLibs = [ (getAttr "chipz" self) (getAttr "cl-conspack" self) (getAttr "salza2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sucle-temp = (build-asdf-system { - pname = "sucle-temp"; - version = "20200427-git"; - asds = [ "sucle-temp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "sucle-temp"; - asd = "sucle-temp"; - }); - systems = [ "sucle-temp" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sucle-test = (build-asdf-system { - pname = "sucle-test"; - version = "20200427-git"; - asds = [ "sucle-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "sucle-test"; - asd = "sucle-test"; - }); - systems = [ "sucle-test" ]; - lispLibs = [ (getAttr "aabbcc" self) (getAttr "alexandria" self) (getAttr "application" self) (getAttr "camera-matrix" self) (getAttr "character-modifier-bits" self) (getAttr "cl-opengl" self) (getAttr "control" self) (getAttr "deflazy" self) (getAttr "fps-independent-timestep" self) (getAttr "image-utility" self) (getAttr "ncurses-clone-for-lem" self) (getAttr "nsb-cga" self) (getAttr "quads" self) (getAttr "scratch-buffer" self) (getAttr "sucle" self) (getAttr "sucle-multiprocessing" self) (getAttr "sucle-serialize" self) (getAttr "text-subsystem" self) (getAttr "uncommon-lisp" self) (getAttr "window" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - surf = (build-asdf-system { - pname = "surf"; - version = "master-fe503896-git"; - asds = [ "surf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "surf"; - asd = "surf"; - }); - systems = [ "surf" ]; - lispLibs = [ (getAttr "geom-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - swank = (build-asdf-system { - pname = "swank"; - version = "v2.30"; - asds = [ "swank" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/slime/2024-10-12/slime-v2.30.tgz"; - sha256 = "0qb7m65gq0mbxfrdppkh3k4jn13i14i07ziga4r8b3rmrxhrmlv0"; - system = "swank"; - asd = "swank"; - }); - systems = [ "swank" ]; - lispLibs = [ ]; - meta = {}; - }); - swank-client = (build-asdf-system { - pname = "swank-client"; - version = "20230618-git"; - asds = [ "swank-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/swank-client/2023-06-18/swank-client-20230618-git.tgz"; - sha256 = "0sd0xblaxj8zi03acmfq4pwv84jcl04fvyp1jqlb7d6iq0mbxvan"; - system = "swank-client"; - asd = "swank-client"; - }); - systems = [ "swank-client" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "com_dot_google_dot_base" self) (getAttr "swank" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - swank-crew = (build-asdf-system { - pname = "swank-crew"; - version = "20241012-git"; - asds = [ "swank-crew" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/swank-crew/2024-10-12/swank-crew-20241012-git.tgz"; - sha256 = "0v0gg9d74x28xw3n12nrvkdnnvz0m972l4rymfansfaawiqm7ssz"; - system = "swank-crew"; - asd = "swank-crew"; - }); - systems = [ "swank-crew" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "com_dot_google_dot_base" self) (getAttr "swank-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - swank-protocol = (build-asdf-system { - pname = "swank-protocol"; - version = "20241012-git"; - asds = [ "swank-protocol" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/swank-protocol/2024-10-12/swank-protocol-20241012-git.tgz"; - sha256 = "0vqcdxp228fk3snay90ml33r1y03l5k05snq633f95his8ffxknl"; - system = "swank-protocol"; - asd = "swank-protocol"; - }); - systems = [ "swank-protocol" ]; - lispLibs = [ (getAttr "swank" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - swank_dot_live = (build-asdf-system { - pname = "swank.live"; - version = "20160208-git"; - asds = [ "swank.live" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/swank.live/2016-02-08/swank.live-20160208-git.tgz"; - sha256 = "0p7jyf07symfan6lmbhd3r42kf5vrsbmmh9li0n1kky8rd6fhgls"; - system = "swank.live"; - asd = "swank.live"; - }); - systems = [ "swank.live" ]; - lispLibs = [ (getAttr "swank" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - swap-bytes = (build-asdf-system { - pname = "swap-bytes"; - version = "v1.2"; - asds = [ "swap-bytes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/swap-bytes/2019-11-30/swap-bytes-v1.2.tgz"; - sha256 = "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"; - system = "swap-bytes"; - asd = "swap-bytes"; - }); - systems = [ "swap-bytes" ]; - lispLibs = [ (getAttr "trivial-features" self) ]; - meta = {}; - }); - sxql = (build-asdf-system { - pname = "sxql"; - version = "20241012-git"; - asds = [ "sxql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sxql/2024-10-12/sxql-20241012-git.tgz"; - sha256 = "11x4qgdwbddbk0a8avrirp1ksmphfxlimirfwvmiwi0jc4zd5csa"; - system = "sxql"; - asd = "sxql"; - }); - systems = [ "sxql" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-annot" self) (getAttr "cl-package-locks" self) (getAttr "iterate" self) (getAttr "named-readtables" self) (getAttr "split-sequence" self) (getAttr "trivia" self) (getAttr "trivial-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sxql-composer = (build-asdf-system { - pname = "sxql-composer"; - version = "20200325-git"; - asds = [ "sxql-composer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sxql-composer/2020-03-25/sxql-composer-20200325-git.tgz"; - sha256 = "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"; - system = "sxql-composer"; - asd = "sxql-composer"; - }); - systems = [ "sxql-composer" ]; - lispLibs = [ (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sxql-test = (build-asdf-system { - pname = "sxql-test"; - version = "20241012-git"; - asds = [ "sxql-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sxql/2024-10-12/sxql-20241012-git.tgz"; - sha256 = "11x4qgdwbddbk0a8avrirp1ksmphfxlimirfwvmiwi0jc4zd5csa"; - system = "sxql-test"; - asd = "sxql-test"; - }); - systems = [ "sxql-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "sxql" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sycamore = (build-asdf-system { - pname = "sycamore"; - version = "20211020-git"; - asds = [ "sycamore" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sycamore/2021-10-20/sycamore-20211020-git.tgz"; - sha256 = "0icw7fba1ch51w24f4sinvy4xg3zc7zif0aqcjfrzxj14x108hai"; - system = "sycamore"; - asd = "sycamore"; - }); - systems = [ "sycamore" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-fuzz" self) (getAttr "cl-ppcre" self) (getAttr "lisp-unit" self) ]; - meta = {}; - }); - symath = (build-asdf-system { - pname = "symath"; - version = "20241012-git"; - asds = [ "symath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/symath/2024-10-12/symath-20241012-git.tgz"; - sha256 = "1bxggf9kn4bhx877hyj4kpr76p47d8cd35lgv224hri5211fqyaz"; - system = "symath"; - asd = "symath"; - }); - systems = [ "symath" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - symbol-munger = (build-asdf-system { - pname = "symbol-munger"; - version = "20220220-git"; - asds = [ "symbol-munger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/symbol-munger/2022-02-20/symbol-munger-20220220-git.tgz"; - sha256 = "16fshnxp9212503z1vjlmx5pafv14bzpihn486x1ljakqjigfnfz"; - system = "symbol-munger"; - asd = "symbol-munger"; - }); - systems = [ "symbol-munger" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = {}; - }); - symbol-namespaces = (build-asdf-system { - pname = "symbol-namespaces"; - version = "1.0"; - asds = [ "symbol-namespaces" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/symbol-namespaces/2013-01-28/symbol-namespaces-1.0.tgz"; - sha256 = "0rw4ndhg669rkpjmv5n0zh69bzar60zn3bb4vs5ijgvxyl5f7xp1"; - system = "symbol-namespaces"; - asd = "symbol-namespaces"; - }); - systems = [ "symbol-namespaces" ]; - lispLibs = [ (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - synonyms = (build-asdf-system { - pname = "synonyms"; - version = "20230618-git"; - asds = [ "synonyms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/synonyms/2023-06-18/synonyms-20230618-git.tgz"; - sha256 = "1373m0h765r60lif0jz3frqbq7phrm2jhc30b5dh51spd7732v3x"; - system = "synonyms"; - asd = "synonyms"; - }); - systems = [ "synonyms" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - sysexits = (build-asdf-system { - pname = "sysexits"; - version = "20220707-git"; - asds = [ "sysexits" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-sysexits/2022-07-07/cl-sysexits-20220707-git.tgz"; - sha256 = "1khkj0qqvmgylnvl32sks8v3iabasbcr9sj9zl89xh3rajc67z73"; - system = "sysexits"; - asd = "sysexits"; - }); - systems = [ "sysexits" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - system-locale = (build-asdf-system { - pname = "system-locale"; - version = "20241012-git"; - asds = [ "system-locale" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/system-locale/2024-10-12/system-locale-20241012-git.tgz"; - sha256 = "1q91vyvsh787fz3j49lmyw2lx85288cmamb11h99wdmbmf61rdgr"; - system = "system-locale"; - asd = "system-locale"; - }); - systems = [ "system-locale" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - t-clack-handler-hunchentoot = (build-asdf-system { - pname = "t-clack-handler-hunchentoot"; - version = "20241012-git"; - asds = [ "t-clack-handler-hunchentoot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "t-clack-handler-hunchentoot"; - asd = "t-clack-handler-hunchentoot"; - }); - systems = [ "t-clack-handler-hunchentoot" ]; - lispLibs = [ (getAttr "clack-handler-hunchentoot" self) (getAttr "clack-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - t-clack-handler-toot = (build-asdf-system { - pname = "t-clack-handler-toot"; - version = "20241012-git"; - asds = [ "t-clack-handler-toot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "t-clack-handler-toot"; - asd = "t-clack-handler-toot"; - }); - systems = [ "t-clack-handler-toot" ]; - lispLibs = [ (getAttr "clack-handler-toot" self) (getAttr "clack-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - t-clack-handler-wookie = (build-asdf-system { - pname = "t-clack-handler-wookie"; - version = "20241012-git"; - asds = [ "t-clack-handler-wookie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; - sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; - system = "t-clack-handler-wookie"; - asd = "t-clack-handler-wookie"; - }); - systems = [ "t-clack-handler-wookie" ]; - lispLibs = [ (getAttr "clack-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ta2 = (build-asdf-system { - pname = "ta2"; - version = "master-fe503896-git"; - asds = [ "ta2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "ta2"; - asd = "ta2"; - }); - systems = [ "ta2" ]; - lispLibs = [ (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tagger = (build-asdf-system { - pname = "tagger"; - version = "20200715-git"; - asds = [ "tagger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tagger/2020-07-15/tagger-20200715-git.tgz"; - sha256 = "1mxkr5hx8p4rxc7vajgrpl49zh018wyspvww5fg50164if0n7j2q"; - system = "tagger"; - asd = "tagger"; - }); - systems = [ "tagger" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - taglib = (build-asdf-system { - pname = "taglib"; - version = "20241012-git"; - asds = [ "taglib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/taglib/2024-10-12/taglib-20241012-git.tgz"; - sha256 = "1jhi38g2ngmbsv71chxyavgf4fzb64nr7z648ia01qxii0435csb"; - system = "taglib"; - asd = "taglib"; - }); - systems = [ "taglib" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "flexi-streams" self) (getAttr "optima" self) (getAttr "optima_dot_ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - taglib-tests = (build-asdf-system { - pname = "taglib-tests"; - version = "20241012-git"; - asds = [ "taglib-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/taglib/2024-10-12/taglib-20241012-git.tgz"; - sha256 = "1jhi38g2ngmbsv71chxyavgf4fzb64nr7z648ia01qxii0435csb"; - system = "taglib-tests"; - asd = "taglib-tests"; - }); - systems = [ "taglib-tests" ]; - lispLibs = [ (getAttr "chanl" self) (getAttr "cl-fad" self) (getAttr "taglib" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tailrec = (build-asdf-system { - pname = "tailrec"; - version = "20210807-git"; - asds = [ "tailrec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tailrec/2021-08-07/tailrec-20210807-git.tgz"; - sha256 = "1h8m2npdzd2cpnl75pvv4yvvfwxa7kl6qvalc9s0y4yws0kaih3i"; - system = "tailrec"; - asd = "tailrec"; - }); - systems = [ "tailrec" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-macroexpand-all" self) (getAttr "trivial-with-current-source-form" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - talcl = (build-asdf-system { - pname = "talcl"; - version = "20180228-git"; - asds = [ "talcl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; - sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; - system = "talcl"; - asd = "talcl"; - }); - systems = [ "talcl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "buildnode" self) (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "iterate" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - talcl-examples = (build-asdf-system { - pname = "talcl-examples"; - version = "20180228-git"; - asds = [ "talcl-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; - sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; - system = "talcl-examples"; - asd = "talcl"; - }); - systems = [ "talcl-examples" ]; - lispLibs = [ (getAttr "buildnode-xhtml" self) (getAttr "talcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - talcl-speed-tests = (build-asdf-system { - pname = "talcl-speed-tests"; - version = "20180228-git"; - asds = [ "talcl-speed-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; - sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; - system = "talcl-speed-tests"; - asd = "talcl"; - }); - systems = [ "talcl-speed-tests" ]; - lispLibs = [ (getAttr "buildnode-xhtml" self) (getAttr "lisp-unit2" self) (getAttr "talcl" self) (getAttr "talcl-examples" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - talcl-test = (build-asdf-system { - pname = "talcl-test"; - version = "20180228-git"; - asds = [ "talcl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; - sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; - system = "talcl-test"; - asd = "talcl"; - }); - systems = [ "talcl-test" ]; - lispLibs = [ (getAttr "buildnode-xhtml" self) (getAttr "lisp-unit2" self) (getAttr "talcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tap-unit-test = (build-asdf-system { - pname = "tap-unit-test"; - version = "20171227-git"; - asds = [ "tap-unit-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tap-unit-test/2017-12-27/tap-unit-test-20171227-git.tgz"; - sha256 = "1fzsnpng7y4sghasl29sjicbs4v6m5mgfj8wf2izhhcn1hbhr694"; - system = "tap-unit-test"; - asd = "tap-unit-test"; - }); - systems = [ "tap-unit-test" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tar = (build-asdf-system { - pname = "tar"; - version = "20230618-git"; - asds = [ "tar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tar/2023-06-18/cl-tar-20230618-git.tgz"; - sha256 = "0wp23cs3i6a89dibifiz6559la5nk58d1n17xvbxq4nrl8cqsllf"; - system = "tar"; - asd = "tar"; - }); - systems = [ "tar" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "local-time" self) (getAttr "split-sequence" self) (getAttr "tar-file" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tar-file = (build-asdf-system { - pname = "tar-file"; - version = "20220220-git"; - asds = [ "tar-file" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tar-file/2022-02-20/cl-tar-file-20220220-git.tgz"; - sha256 = "0i8j05fkgdqy4c4pqj0c68sh4s3klpx9kc5wp73qwzrl3xqd2svy"; - system = "tar-file"; - asd = "tar-file"; - }); - systems = [ "tar-file" ]; - lispLibs = [ (getAttr "_40ants-doc" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "chipz" self) (getAttr "flexi-streams" self) (getAttr "salza2" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - targa = (build-asdf-system { - pname = "targa"; - version = "20181018-git"; - asds = [ "targa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/targa/2018-10-18/targa-20181018-git.tgz"; - sha256 = "0fslb2alp4pfmp8md2q89xh8n43r8awwf343wfvkywwqdnls2zws"; - system = "targa"; - asd = "targa"; - }); - systems = [ "targa" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tasty = (build-asdf-system { - pname = "tasty"; - version = "master-fe503896-git"; - asds = [ "tasty" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "tasty"; - asd = "tasty"; - }); - systems = [ "tasty" ]; - lispLibs = [ (getAttr "gwl-graphics" self) (getAttr "tree" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tclcs-code = (build-asdf-system { - pname = "tclcs-code"; - version = "20210124-git"; - asds = [ "tclcs-code" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tclcs-code/2021-01-24/tclcs-code-20210124-git.tgz"; - sha256 = "0p0g8shy284sj9ncq27zn8yj7xsrdcg2aiy2q783l6sl2ip6nfxa"; - system = "tclcs-code"; - asd = "tclcs-code"; - }); - systems = [ "tclcs-code" ]; - lispLibs = [ (getAttr "trivial-custom-debugger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tcod = (build-asdf-system { - pname = "tcod"; - version = "20231021-git"; - asds = [ "tcod" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-tcod/2023-10-21/cl-tcod-20231021-git.tgz"; - sha256 = "1r4ip16dlzr56p94b0grw6nmkykbmgb04jsqdvgl1ypcmbpfr3i1"; - system = "tcod"; - asd = "tcod"; - }); - systems = [ "tcod" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-libffi" self) (getAttr "defstar" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - teddy = (build-asdf-system { - pname = "teddy"; - version = "20241012-git"; - asds = [ "teddy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/teddy/2024-10-12/teddy-20241012-git.tgz"; - sha256 = "0qg83khyny5pw9lk3ysid32wl1wds43ja35qx72mxpli3nhj7nhq"; - system = "teddy"; - asd = "teddy"; - }); - systems = [ "teddy" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "asdf-finalizers" self) (getAttr "cl-ascii-table" self) (getAttr "eazy-gnuplot" self) (getAttr "hu_dot_dwim_dot_def" self) (getAttr "lhstats" self) (getAttr "list-of" self) (getAttr "rutils" self) (getAttr "simplified-types" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - teepeedee2 = (build-asdf-system { - pname = "teepeedee2"; - version = "20230214-git"; - asds = [ "teepeedee2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/teepeedee2/2023-02-14/teepeedee2-20230214-git.tgz"; - sha256 = "16mfc1hcjdjcj1iiihdn9a725xry8hpvxijf5ic6yi4ydcv84pni"; - system = "teepeedee2"; - asd = "teepeedee2"; - }); - systems = [ "teepeedee2" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-cont" self) (getAttr "cl-fad" self) (getAttr "cl-irregsexp" self) (getAttr "iterate" self) (getAttr "parenscript" self) (getAttr "trivial-backtrace" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - teepeedee2-test = (build-asdf-system { - pname = "teepeedee2-test"; - version = "20230214-git"; - asds = [ "teepeedee2-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/teepeedee2/2023-02-14/teepeedee2-20230214-git.tgz"; - sha256 = "16mfc1hcjdjcj1iiihdn9a725xry8hpvxijf5ic6yi4ydcv84pni"; - system = "teepeedee2-test"; - asd = "teepeedee2-test"; - }); - systems = [ "teepeedee2-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "teepeedee2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - telnetlib = (build-asdf-system { - pname = "telnetlib"; - version = "20141217-git"; - asds = [ "telnetlib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/telnetlib/2014-12-17/telnetlib-20141217-git.tgz"; - sha256 = "1gdf6i352qkmp27nqbv6qfi7sqn5wjzdaffh6ls1y5jznqh3nb0h"; - system = "telnetlib"; - asd = "telnetlib"; - }); - systems = [ "telnetlib" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - template = (build-asdf-system { - pname = "template"; - version = "20230618-git"; - asds = [ "template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/template/2023-06-18/template-20230618-git.tgz"; - sha256 = "1ccnjawxwjqk8gavqga7waqrxv0pmncbycyfwylyly7a1c7zjadr"; - system = "template"; - asd = "template"; - }); - systems = [ "template" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "parameterized-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - template-function = (build-asdf-system { - pname = "template-function"; - version = "v0.0.1-git"; - asds = [ "template-function" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/template-function/2017-11-30/template-function-v0.0.1-git.tgz"; - sha256 = "1nq782cdi9vr3hgqqyzvvng2sbyc09biggwq4zp7k1vmqnm6qdaf"; - system = "template-function"; - asd = "template-function"; - }); - systems = [ "template-function" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "introspect-environment" self) (getAttr "specialization-store" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - template-function-tests = (build-asdf-system { - pname = "template-function-tests"; - version = "v0.0.1-git"; - asds = [ "template-function-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/template-function/2017-11-30/template-function-v0.0.1-git.tgz"; - sha256 = "1nq782cdi9vr3hgqqyzvvng2sbyc09biggwq4zp7k1vmqnm6qdaf"; - system = "template-function-tests"; - asd = "template-function-tests"; - }); - systems = [ "template-function-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "template-function" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - temporal-functions = (build-asdf-system { - pname = "temporal-functions"; - version = "20171019-git"; - asds = [ "temporal-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/temporal-functions/2017-10-19/temporal-functions-20171019-git.tgz"; - sha256 = "03cbgw949g68n72nqp0nmjq9nx0kfz5zs6kpk0pwchy3i8bwf22j"; - system = "temporal-functions"; - asd = "temporal-functions"; - }); - systems = [ "temporal-functions" ]; - lispLibs = [ (getAttr "fn" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - temporary-file = (build-asdf-system { - pname = "temporary-file"; - version = "20150608-git"; - asds = [ "temporary-file" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/temporary-file/2015-06-08/temporary-file-20150608-git.tgz"; - sha256 = "0m38lncj6bmj7gwq8vp7l0gwzmk7pfasl4samzgl2fah8hzb064a"; - system = "temporary-file"; - asd = "temporary-file"; - }); - systems = [ "temporary-file" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "unit-test" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ten = (build-asdf-system { - pname = "ten"; - version = "20241012-git"; - asds = [ "ten" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; - sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; - system = "ten"; - asd = "ten"; - }); - systems = [ "ten" ]; - lispLibs = [ (getAttr "access" self) (getAttr "cl-who" self) (getAttr "esrap" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ten_dot_examples = (build-asdf-system { - pname = "ten.examples"; - version = "20241012-git"; - asds = [ "ten.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; - sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; - system = "ten.examples"; - asd = "ten.examples"; - }); - systems = [ "ten.examples" ]; - lispLibs = [ (getAttr "ten" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ten_dot_i18n_dot_cl-locale = (build-asdf-system { - pname = "ten.i18n.cl-locale"; - version = "20241012-git"; - asds = [ "ten.i18n.cl-locale" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; - sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; - system = "ten.i18n.cl-locale"; - asd = "ten.i18n.cl-locale"; - }); - systems = [ "ten.i18n.cl-locale" ]; - lispLibs = [ (getAttr "cl-locale" self) (getAttr "ten" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ten_dot_i18n_dot_gettext = (build-asdf-system { - pname = "ten.i18n.gettext"; - version = "20241012-git"; - asds = [ "ten.i18n.gettext" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; - sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; - system = "ten.i18n.gettext"; - asd = "ten.i18n.gettext"; - }); - systems = [ "ten.i18n.gettext" ]; - lispLibs = [ (getAttr "gettext" self) (getAttr "ten" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ten_dot_tests = (build-asdf-system { - pname = "ten.tests"; - version = "20241012-git"; - asds = [ "ten.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; - sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; - system = "ten.tests"; - asd = "ten.tests"; - }); - systems = [ "ten.tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "ten" self) (getAttr "ten_dot_examples" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - terminfo = (build-asdf-system { - pname = "terminfo"; - version = "20210124-git"; - asds = [ "terminfo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/terminfo/2021-01-24/terminfo-20210124-git.tgz"; - sha256 = "1nmin9rr6f75xdhxysba66xa1dh62fh27w9ad1cvmj0062armf6b"; - system = "terminfo"; - asd = "terminfo"; - }); - systems = [ "terminfo" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - terrable = (build-asdf-system { - pname = "terrable"; - version = "20231021-git"; - asds = [ "terrable" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/terrable/2023-10-21/terrable-20231021-git.tgz"; - sha256 = "03fjfdffr5lf12llqbf3d07dd87ykfyw525dxnwm6gpyvg49wlgl"; - system = "terrable"; - asd = "terrable"; - }); - systems = [ "terrable" ]; - lispLibs = [ (getAttr "documentation-utils" self) (getAttr "fast-io" self) (getAttr "ieee-floats" self) (getAttr "static-vectors" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tesseract-capi = (build-asdf-system { - pname = "tesseract-capi"; - version = "20201220-git"; - asds = [ "tesseract-capi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tesseract-capi/2020-12-20/tesseract-capi-20201220-git.tgz"; - sha256 = "1g8afgzbvfk80gi05nbwp9cmmrsqm5knhqi04v1cx556vrbp6ks1"; - system = "tesseract-capi"; - asd = "tesseract-capi"; - }); - systems = [ "tesseract-capi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test-40ants-system = (build-asdf-system { - pname = "test-40ants-system"; - version = "20241012-git"; - asds = [ "test-40ants-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; - sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; - system = "test-40ants-system"; - asd = "test-40ants-system"; - }); - systems = [ "test-40ants-system" ]; - lispLibs = [ (getAttr "_40ants-asdf-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test-gadgets = (build-asdf-system { - pname = "test-gadgets"; - version = "20241012-git"; - asds = [ "test-gadgets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gadgets/2024-10-12/gadgets-20241012-git.tgz"; - sha256 = "1ba4gj8lh3ihbb66xiz7hc8cdg3gvi3q20w32nmsqdch956is34k"; - system = "test-gadgets"; - asd = "test-gadgets"; - }); - systems = [ "test-gadgets" ]; - lispLibs = [ (getAttr "gadgets" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test-paren6 = (build-asdf-system { - pname = "test-paren6"; - version = "20220331-git"; - asds = [ "test-paren6" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paren6/2022-03-31/paren6-20220331-git.tgz"; - sha256 = "0m7z7zkc1vrwmp68f3yx0mdsb0j45dmw3iddnbvf94dpv8aywwpx"; - system = "test-paren6"; - asd = "test-paren6"; - }); - systems = [ "test-paren6" ]; - lispLibs = [ (getAttr "external-program" self) (getAttr "paren6" self) (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test-serial-system = (build-asdf-system { - pname = "test-serial-system"; - version = "20170403-git"; - asds = [ "test-serial-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/asdf-dependency-grovel/2017-04-03/asdf-dependency-grovel-20170403-git.tgz"; - sha256 = "1y4kdqsda4ira4r9dws6kxzzv6mg45q3lkmb2c9mg9q7ksc5glif"; - system = "test-serial-system"; - asd = "test-serial-system"; - }); - systems = [ "test-serial-system" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test-utils = (build-asdf-system { - pname = "test-utils"; - version = "20200610-git"; - asds = [ "test-utils" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/test-utils/2020-06-10/test-utils-20200610-git.tgz"; - sha256 = "036a8wvs37lnsf9dy3c810qk54963v7hnxx0zas25b50ikcmiqm5"; - system = "test-utils"; - asd = "test-utils"; - }); - systems = [ "test-utils" ]; - lispLibs = [ (getAttr "agnostic-lizard" self) (getAttr "alexandria" self) (getAttr "cl-quickcheck" self) (getAttr "prove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test_dot_eager-future2 = (build-asdf-system { - pname = "test.eager-future2"; - version = "20191130-git"; - asds = [ "test.eager-future2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/eager-future2/2019-11-30/eager-future2-20191130-git.tgz"; - sha256 = "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"; - system = "test.eager-future2"; - asd = "test.eager-future2"; - }); - systems = [ "test.eager-future2" ]; - lispLibs = [ (getAttr "eager-future2" self) (getAttr "eos" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - test_dot_vas-string-metrics = (build-asdf-system { - pname = "test.vas-string-metrics"; - version = "20211209-git"; - asds = [ "test.vas-string-metrics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vas-string-metrics/2021-12-09/vas-string-metrics-20211209-git.tgz"; - sha256 = "1yvkwc939dckv070nlgqfj5ys9ii2rm32m5wfx7qxdjrb4n19sx9"; - system = "test.vas-string-metrics"; - asd = "test.vas-string-metrics"; - }); - systems = [ "test.vas-string-metrics" ]; - lispLibs = [ (getAttr "vas-string-metrics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - testbild = (build-asdf-system { - pname = "testbild"; - version = "20101207-git"; - asds = [ "testbild" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/testbild/2010-12-07/testbild-20101207-git.tgz"; - sha256 = "024b6rlgljcjazwg302zkdmkpxs2hirjg7g39ypppz81ns2v65sw"; - system = "testbild"; - asd = "testbild"; - }); - systems = [ "testbild" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "graylex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - testbild-test = (build-asdf-system { - pname = "testbild-test"; - version = "20101207-git"; - asds = [ "testbild-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/testbild/2010-12-07/testbild-20101207-git.tgz"; - sha256 = "024b6rlgljcjazwg302zkdmkpxs2hirjg7g39ypppz81ns2v65sw"; - system = "testbild-test"; - asd = "testbild-test"; - }); - systems = [ "testbild-test" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-heredoc" self) (getAttr "testbild" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - testiere = (build-asdf-system { - pname = "testiere"; - version = "20241012-git"; - asds = [ "testiere" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/testiere/2024-10-12/testiere-20241012-git.tgz"; - sha256 = "0sfsk7i5kxk8s1273i9vwz49hak0qdrr9asq70kdiwq0lfd56kgg"; - system = "testiere"; - asd = "testiere"; - }); - systems = [ "testiere" ]; - lispLibs = [ (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - texp = (build-asdf-system { - pname = "texp"; - version = "20151218-git"; - asds = [ "texp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/texp/2015-12-18/texp-20151218-git.tgz"; - sha256 = "1sbll7jwmzd86hg0zva8r7db2565nnliasv2x6rkrm9xl97q0kg5"; - system = "texp"; - asd = "texp"; - }); - systems = [ "texp" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - text-query = (build-asdf-system { - pname = "text-query"; - version = "1.1"; - asds = [ "text-query" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/text-query/2011-11-05/text-query-1.1.tgz"; - sha256 = "082xqpfchmg2752m1lw78q6c0z3walzsmqk8gl6qnj6bdwbhf4dm"; - system = "text-query"; - asd = "text-query"; - }); - systems = [ "text-query" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - text-subsystem = (build-asdf-system { - pname = "text-subsystem"; - version = "20200427-git"; - asds = [ "text-subsystem" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "text-subsystem"; - asd = "text-subsystem"; - }); - systems = [ "text-subsystem" ]; - lispLibs = [ (getAttr "application" self) (getAttr "deflazy" self) (getAttr "image-utility" self) (getAttr "nsb-cga" self) (getAttr "quads" self) (getAttr "sucle-temp" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - text-subsystem-generate-font = (build-asdf-system { - pname = "text-subsystem-generate-font"; - version = "20200427-git"; - asds = [ "text-subsystem-generate-font" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "text-subsystem-generate-font"; - asd = "text-subsystem-generate-font"; - }); - systems = [ "text-subsystem-generate-font" ]; - lispLibs = [ (getAttr "cl-freetype2" self) (getAttr "opticl" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - textery = (build-asdf-system { - pname = "textery"; - version = "20201220-git"; - asds = [ "textery" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/textery/2020-12-20/textery-20201220-git.tgz"; - sha256 = "0v8zk1s18fi462qwvjbci8nikgs5wqjpl97ckfk0spvhybrdgwcc"; - system = "textery"; - asd = "textery"; - }); - systems = [ "textery" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "str" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - the-cost-of-nothing = (build-asdf-system { - pname = "the-cost-of-nothing"; - version = "20191130-git"; - asds = [ "the-cost-of-nothing" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/the-cost-of-nothing/2019-11-30/the-cost-of-nothing-20191130-git.tgz"; - sha256 = "1ccrglyr1wnnfp218w1qj7yfl4yzlxkki3hqaifi5axgbi5dmmh8"; - system = "the-cost-of-nothing"; - asd = "the-cost-of-nothing"; - }); - systems = [ "the-cost-of-nothing" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "local-time" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thih-coalton = (build-asdf-system { - pname = "thih-coalton"; - version = "20241012-git"; - asds = [ "thih-coalton" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; - sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; - system = "thih-coalton"; - asd = "thih-coalton"; - }); - systems = [ "thih-coalton" ]; - lispLibs = [ (getAttr "coalton" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thnappy = (build-asdf-system { - pname = "thnappy"; - version = "20180831-git"; - asds = [ "thnappy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thnappy/2018-08-31/thnappy-20180831-git.tgz"; - sha256 = "0p03w2mcc655gm9x3rpgixhap9l56imjyblkwv05rk6mjx7wfnrp"; - system = "thnappy"; - asd = "thnappy"; - }); - systems = [ "thnappy" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thorn = (build-asdf-system { - pname = "thorn"; - version = "20150608-git"; - asds = [ "thorn" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz"; - sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7"; - system = "thorn"; - asd = "thorn"; - }); - systems = [ "thorn" ]; - lispLibs = [ (getAttr "common-doc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thorn-doc = (build-asdf-system { - pname = "thorn-doc"; - version = "20150608-git"; - asds = [ "thorn-doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz"; - sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7"; - system = "thorn-doc"; - asd = "thorn-doc"; - }); - systems = [ "thorn-doc" ]; - lispLibs = [ (getAttr "thorn" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thorn-test = (build-asdf-system { - pname = "thorn-test"; - version = "20150608-git"; - asds = [ "thorn-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz"; - sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7"; - system = "thorn-test"; - asd = "thorn-test"; - }); - systems = [ "thorn-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "thorn" self) (getAttr "thorn-doc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thread-pool = (build-asdf-system { - pname = "thread-pool"; - version = "20120107-git"; - asds = [ "thread-pool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thread-pool/2012-01-07/thread-pool-20120107-git.tgz"; - sha256 = "0wi9l0m660332w9pnc3w08m5hlsry9s0cgc3rznb5kyap68iv847"; - system = "thread-pool"; - asd = "thread-pool"; - }); - systems = [ "thread-pool" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thread_dot_comm_dot_rendezvous = (build-asdf-system { - pname = "thread.comm.rendezvous"; - version = "20121013-git"; - asds = [ "thread.comm.rendezvous" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thread.comm.rendezvous/2012-10-13/thread.comm.rendezvous-20121013-git.tgz"; - sha256 = "16crdy09zm20iclgln1vj0psd8ifz4rqb6g9255p0d2rkjk2rgfx"; - system = "thread.comm.rendezvous"; - asd = "thread.comm.rendezvous"; - }); - systems = [ "thread.comm.rendezvous" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-annot" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - thread_dot_comm_dot_rendezvous_dot_test = (build-asdf-system { - pname = "thread.comm.rendezvous.test"; - version = "20121013-git"; - asds = [ "thread.comm.rendezvous.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/thread.comm.rendezvous/2012-10-13/thread.comm.rendezvous-20121013-git.tgz"; - sha256 = "16crdy09zm20iclgln1vj0psd8ifz4rqb6g9255p0d2rkjk2rgfx"; - system = "thread.comm.rendezvous.test"; - asd = "thread.comm.rendezvous.test"; - }); - systems = [ "thread.comm.rendezvous.test" ]; - lispLibs = [ (getAttr "cl-test-more" self) (getAttr "thread_dot_comm_dot_rendezvous" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tile-grid = (build-asdf-system { - pname = "tile-grid"; - version = "20220707-git"; - asds = [ "tile-grid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tile-grid/2022-07-07/tile-grid-20220707-git.tgz"; - sha256 = "10sqiqspiljnk4i1v4w0dkr640cgf9nvkgmkaww3smmhyjsd9270"; - system = "tile-grid"; - asd = "tile-grid"; - }); - systems = [ "tile-grid" ]; - lispLibs = [ (getAttr "mfiano-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - time-interval = (build-asdf-system { - pname = "time-interval"; - version = "20190202-git"; - asds = [ "time-interval" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/time-interval/2019-02-02/time-interval-20190202-git.tgz"; - sha256 = "0dydlg42bwcd7sr57v8hhrd86n80d5cb5r6r2id0zyqbrijabdw5"; - system = "time-interval"; - asd = "time-interval"; - }); - systems = [ "time-interval" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - timer-wheel = (build-asdf-system { - pname = "timer-wheel"; - version = "20180228-git"; - asds = [ "timer-wheel" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/timer-wheel/2018-02-28/timer-wheel-20180228-git.tgz"; - sha256 = "12pc1dpnkwj43n1sdqhg8n8h0mb16zcx4wxly85b7bqf00s962bc"; - system = "timer-wheel"; - asd = "timer-wheel"; - }); - systems = [ "timer-wheel" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - timer-wheel_dot_examples = (build-asdf-system { - pname = "timer-wheel.examples"; - version = "20180228-git"; - asds = [ "timer-wheel.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/timer-wheel/2018-02-28/timer-wheel-20180228-git.tgz"; - sha256 = "12pc1dpnkwj43n1sdqhg8n8h0mb16zcx4wxly85b7bqf00s962bc"; - system = "timer-wheel.examples"; - asd = "timer-wheel.examples"; - }); - systems = [ "timer-wheel.examples" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "timer-wheel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tinaa = (build-asdf-system { - pname = "tinaa"; - version = "20171227-git"; - asds = [ "tinaa" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz"; - sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1"; - system = "tinaa"; - asd = "tinaa"; - }); - systems = [ "tinaa" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "asdf-system-connections" self) (getAttr "cl-containers" self) (getAttr "cl-graph" self) (getAttr "defsystem-compatibility" self) (getAttr "dynamic-classes" self) (getAttr "lml2" self) (getAttr "metatilities" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tinaa-test = (build-asdf-system { - pname = "tinaa-test"; - version = "20171227-git"; - asds = [ "tinaa-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz"; - sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1"; - system = "tinaa-test"; - asd = "tinaa-test"; - }); - systems = [ "tinaa-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "tinaa" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tiny-routes = (build-asdf-system { - pname = "tiny-routes"; - version = "20241012-git"; - asds = [ "tiny-routes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tiny-routes/2024-10-12/tiny-routes-20241012-git.tgz"; - sha256 = "1wswzz7d26ic9izls7pnkybm8ryf5j0ksv55gr6k5nji9x8r5jqx"; - system = "tiny-routes"; - asd = "tiny-routes"; - }); - systems = [ "tiny-routes" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tiny-routes-middleware-cookie = (build-asdf-system { - pname = "tiny-routes-middleware-cookie"; - version = "20241012-git"; - asds = [ "tiny-routes-middleware-cookie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tiny-routes/2024-10-12/tiny-routes-20241012-git.tgz"; - sha256 = "1wswzz7d26ic9izls7pnkybm8ryf5j0ksv55gr6k5nji9x8r5jqx"; - system = "tiny-routes-middleware-cookie"; - asd = "tiny-routes-middleware-cookie"; - }); - systems = [ "tiny-routes-middleware-cookie" ]; - lispLibs = [ (getAttr "cl-cookie" self) (getAttr "tiny-routes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tm = (build-asdf-system { - pname = "tm"; - version = "v0.8"; - asds = [ "tm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tm/2018-02-28/tm-v0.8.tgz"; - sha256 = "0lhqg5jpkzni1vzni0nnw7jb8ick1pbp04gfij2iczbi82qsw8x1"; - system = "tm"; - asd = "tm"; - }); - systems = [ "tm" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tmpdir = (build-asdf-system { - pname = "tmpdir"; - version = "20200218-git"; - asds = [ "tmpdir" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tmpdir/2020-02-18/tmpdir-20200218-git.tgz"; - sha256 = "11yshmg2wyd75ywwfybklm131d5rdw246pg35a6ksndiq3w5n4k8"; - system = "tmpdir"; - asd = "tmpdir"; - }); - systems = [ "tmpdir" ]; - lispLibs = [ (getAttr "cl-fad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tmpdir_dot_tests = (build-asdf-system { - pname = "tmpdir.tests"; - version = "20200218-git"; - asds = [ "tmpdir.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tmpdir/2020-02-18/tmpdir-20200218-git.tgz"; - sha256 = "11yshmg2wyd75ywwfybklm131d5rdw246pg35a6ksndiq3w5n4k8"; - system = "tmpdir.tests"; - asd = "tmpdir.tests"; - }); - systems = [ "tmpdir.tests" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "fiveam" self) (getAttr "osicat" self) (getAttr "tmpdir" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - toadstool = (build-asdf-system { - pname = "toadstool"; - version = "20130615-git"; - asds = [ "toadstool" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/toadstool/2013-06-15/toadstool-20130615-git.tgz"; - sha256 = "0njb1mdzk0247h87db90zv7bk40mw54pq8sj35l1dwa30d5yhi6r"; - system = "toadstool"; - asd = "toadstool"; - }); - systems = [ "toadstool" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - toadstool-tests = (build-asdf-system { - pname = "toadstool-tests"; - version = "20130615-git"; - asds = [ "toadstool-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/toadstool/2013-06-15/toadstool-20130615-git.tgz"; - sha256 = "0njb1mdzk0247h87db90zv7bk40mw54pq8sj35l1dwa30d5yhi6r"; - system = "toadstool-tests"; - asd = "toadstool-tests"; - }); - systems = [ "toadstool-tests" ]; - lispLibs = [ (getAttr "stefil" self) (getAttr "toadstool" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - toms419 = (build-asdf-system { - pname = "toms419"; - version = "20231021-git"; - asds = [ "toms419" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "toms419"; - asd = "toms419"; - }); - systems = [ "toms419" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - toms715 = (build-asdf-system { - pname = "toms715"; - version = "20231021-git"; - asds = [ "toms715" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "toms715"; - asd = "toms715"; - }); - systems = [ "toms715" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - toms717 = (build-asdf-system { - pname = "toms717"; - version = "20231021-git"; - asds = [ "toms717" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; - sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; - system = "toms717"; - asd = "toms717"; - }); - systems = [ "toms717" ]; - lispLibs = [ (getAttr "f2cl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - toot = (build-asdf-system { - pname = "toot"; - version = "20121125-git"; - asds = [ "toot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/toot/2012-11-25/toot-20121125-git.tgz"; - sha256 = "1235qhkjrg1mmy6kx1vhsqvgjjgc7hk2sjssapv7xr43m71n6ivx"; - system = "toot"; - asd = "toot"; - }); - systems = [ "toot" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "chunga" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "md5" self) (getAttr "puri" self) (getAttr "trivial-backtrace" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tooter = (build-asdf-system { - pname = "tooter"; - version = "20241012-git"; - asds = [ "tooter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tooter/2024-10-12/tooter-20241012-git.tgz"; - sha256 = "03ymavph34248lh18jycsky55dg83kjr6k5a9bib5wh2idswrfxp"; - system = "tooter"; - asd = "tooter"; - }); - systems = [ "tooter" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "drakma" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - torrents = (build-asdf-system { - pname = "torrents"; - version = "20241012-git"; - asds = [ "torrents" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-torrents/2024-10-12/cl-torrents-20241012-git.tgz"; - sha256 = "1xigzskksgn8pg18v2dncfapdn94zv0djr4yi8nmkqbv8ljx93l4"; - system = "torrents"; - asd = "torrents"; - }); - systems = [ "torrents" ]; - lispLibs = [ (getAttr "access" self) (getAttr "cl-ansi-text" self) (getAttr "cl-readline" self) (getAttr "cl-transmission" self) (getAttr "clache" self) (getAttr "dexador" self) (getAttr "jonathan" self) (getAttr "log4cl" self) (getAttr "lparallel" self) (getAttr "lquery" self) (getAttr "mockingbird" self) (getAttr "parse-float" self) (getAttr "plump" self) (getAttr "py-configparser" self) (getAttr "replic" self) (getAttr "str" self) (getAttr "unix-opts" self) (getAttr "x_dot_let-star" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - torrents-test = (build-asdf-system { - pname = "torrents-test"; - version = "20241012-git"; - asds = [ "torrents-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-torrents/2024-10-12/cl-torrents-20241012-git.tgz"; - sha256 = "1xigzskksgn8pg18v2dncfapdn94zv0djr4yi8nmkqbv8ljx93l4"; - system = "torrents-test"; - asd = "torrents-test"; - }); - systems = [ "torrents-test" ]; - lispLibs = [ (getAttr "mockingbird" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "torrents" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - towers = (build-asdf-system { - pname = "towers"; - version = "20141217-git"; - asds = [ "towers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/towers/2014-12-17/towers-20141217-git.tgz"; - sha256 = "0r89z1hfb7kmj0a4qm7ih599hlin8rhxk6pb7nnvsdjgn436dkga"; - system = "towers"; - asd = "towers"; - }); - systems = [ "towers" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-glu" self) (getAttr "cl-glut" self) (getAttr "cl-opengl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trace-db = (build-asdf-system { - pname = "trace-db"; - version = "20230618-git"; - asds = [ "trace-db" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trace-db/2023-06-18/trace-db-20230618-git.tgz"; - sha256 = "1n2mj8nzd0c3clz5xjllajfad50i6yhir27i9q41r4sc5z1k0x63"; - system = "trace-db"; - asd = "trace-db"; - }); - systems = [ "trace-db" ]; - lispLibs = [ (getAttr "asdf-package-system" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - track-best = (build-asdf-system { - pname = "track-best"; - version = "20220220-git"; - asds = [ "track-best" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/track-best/2022-02-20/track-best-20220220-git.tgz"; - sha256 = "1f59bn57y1mdq18l1ji5q8yazv73g85y1mns2xzwbmx8sgxsa6pq"; - system = "track-best"; - asd = "track-best"; - }); - systems = [ "track-best" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trainable-object = (build-asdf-system { - pname = "trainable-object"; - version = "20191227-git"; - asds = [ "trainable-object" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trainable-object/2019-12-27/trainable-object-20191227-git.tgz"; - sha256 = "06hfv039xx5vwm3qpm4kwlzlxc4zxlfcpxnbbq8x12a32ngqykwm"; - system = "trainable-object"; - asd = "trainable-object"; - }); - systems = [ "trainable-object" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "serializable-object" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trainable-object_dot_test = (build-asdf-system { - pname = "trainable-object.test"; - version = "20191227-git"; - asds = [ "trainable-object.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trainable-object/2019-12-27/trainable-object-20191227-git.tgz"; - sha256 = "06hfv039xx5vwm3qpm4kwlzlxc4zxlfcpxnbbq8x12a32ngqykwm"; - system = "trainable-object.test"; - asd = "trainable-object.test"; - }); - systems = [ "trainable-object.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trainable-object" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - transducers = (build-asdf-system { - pname = "transducers"; - version = "20241012-git"; - asds = [ "transducers" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-transducers/2024-10-12/cl-transducers-20241012-git.tgz"; - sha256 = "1n7g2fr5bxyq1axp3a1pw01c5v167njhd7i0gbpq35s1fxvqw6ik"; - system = "transducers"; - asd = "transducers"; - }); - systems = [ "transducers" ]; - lispLibs = [ (getAttr "sycamore" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - transducers-jzon = (build-asdf-system { - pname = "transducers-jzon"; - version = "20241012-git"; - asds = [ "transducers-jzon" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-transducers/2024-10-12/cl-transducers-20241012-git.tgz"; - sha256 = "1n7g2fr5bxyq1axp3a1pw01c5v167njhd7i0gbpq35s1fxvqw6ik"; - system = "transducers-jzon"; - asd = "transducers"; - }); - systems = [ "transducers-jzon" ]; - lispLibs = [ (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "transducers" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - transit = (build-asdf-system { - pname = "transit"; - version = "20241012-git"; - asds = [ "transit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-transit/2024-10-12/cl-transit-20241012-git.tgz"; - sha256 = "09rlajmcljl43n5866ackbdjkdz19sd12wzdzxnk2l7bjx3khqm4"; - system = "transit"; - asd = "transit"; - }); - systems = [ "transit" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bit-smasher" self) (getAttr "cl-messagepack" self) (getAttr "com_dot_inuoe_dot_jzon" self) (getAttr "flexi-streams" self) (getAttr "frugal-uuid" self) (getAttr "fset" self) (getAttr "local-time" self) (getAttr "parse-float" self) (getAttr "quri" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - transit-tests = (build-asdf-system { - pname = "transit-tests"; - version = "20241012-git"; - asds = [ "transit-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-transit/2024-10-12/cl-transit-20241012-git.tgz"; - sha256 = "09rlajmcljl43n5866ackbdjkdz19sd12wzdzxnk2l7bjx3khqm4"; - system = "transit-tests"; - asd = "transit-tests"; - }); - systems = [ "transit-tests" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "fiveam" self) (getAttr "marshal" self) (getAttr "transit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - translate = (build-asdf-system { - pname = "translate"; - version = "20180228-git"; - asds = [ "translate" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/translate/2018-02-28/translate-20180228-git.tgz"; - sha256 = "07bvdmj8x77k8pw24yhfp1xv9h40n5w717vgj3wmq703159kyjia"; - system = "translate"; - asd = "translate"; - }); - systems = [ "translate" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - translate-client = (build-asdf-system { - pname = "translate-client"; - version = "20180228-git"; - asds = [ "translate-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/translate-client/2018-02-28/translate-client-20180228-git.tgz"; - sha256 = "0mjzzahy5wrycik37dirwnvcd5bj5xm20cnw6cmzh0ncvb442mdx"; - system = "translate-client"; - asd = "translate-client"; - }); - systems = [ "translate-client" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "assoc-utils" self) (getAttr "dexador" self) (getAttr "quri" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - translators = (build-asdf-system { - pname = "translators"; - version = "master-fe503896-git"; - asds = [ "translators" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "translators"; - asd = "translators"; - }); - systems = [ "translators" ]; - lispLibs = [ (getAttr "gwl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - transparent-wrap = (build-asdf-system { - pname = "transparent-wrap"; - version = "20200925-git"; - asds = [ "transparent-wrap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/transparent-wrap/2020-09-25/transparent-wrap-20200925-git.tgz"; - sha256 = "0ghva34ksdvczfwpjdaf97bkjxrp35fjqkxamyqf7fbadh4wmfqj"; - system = "transparent-wrap"; - asd = "transparent-wrap"; - }); - systems = [ "transparent-wrap" ]; - lispLibs = [ (getAttr "fare-quasiquote-extras" self) (getAttr "named-readtables" self) (getAttr "optima" self) (getAttr "trivial-arguments" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tree = (build-asdf-system { - pname = "tree"; - version = "master-fe503896-git"; - asds = [ "tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "tree"; - asd = "tree"; - }); - systems = [ "tree" ]; - lispLibs = [ (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tree-search = (build-asdf-system { - pname = "tree-search"; - version = "0.0.1"; - asds = [ "tree-search" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tree-search/2020-12-20/tree-search-0.0.1.tgz"; - sha256 = "10qgd5yj3n2w4j6wsq1xly0hnpdi1bhhzpia4s1gpkywhglw84zq"; - system = "tree-search"; - asd = "tree-search"; - }); - systems = [ "tree-search" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - treedb = (build-asdf-system { - pname = "treedb"; - version = "20160825-git"; - asds = [ "treedb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz"; - sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq"; - system = "treedb"; - asd = "treedb"; - }); - systems = [ "treedb" ]; - lispLibs = [ (getAttr "cl-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - treedb_dot_doc = (build-asdf-system { - pname = "treedb.doc"; - version = "20160825-git"; - asds = [ "treedb.doc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz"; - sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq"; - system = "treedb.doc"; - asd = "treedb.doc"; - }); - systems = [ "treedb.doc" ]; - lispLibs = [ (getAttr "cl-gendoc" self) (getAttr "treedb" self) (getAttr "treedb_dot_tests" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - treedb_dot_tests = (build-asdf-system { - pname = "treedb.tests"; - version = "20160825-git"; - asds = [ "treedb.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz"; - sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq"; - system = "treedb.tests"; - asd = "treedb.tests"; - }); - systems = [ "treedb.tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "treedb" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trees = (build-asdf-system { - pname = "trees"; - version = "20180131-git"; - asds = [ "trees" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trees/2018-01-31/trees-20180131-git.tgz"; - sha256 = "1xvydf3qc17rd7ia8sffxcpclgm3l0iyhx8k72ddk59v3pg5is4k"; - system = "trees"; - asd = "trees"; - }); - systems = [ "trees" ]; - lispLibs = [ ]; - meta = {}; - }); - trees-tests = (build-asdf-system { - pname = "trees-tests"; - version = "20180131-git"; - asds = [ "trees-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trees/2018-01-31/trees-20180131-git.tgz"; - sha256 = "1xvydf3qc17rd7ia8sffxcpclgm3l0iyhx8k72ddk59v3pg5is4k"; - system = "trees-tests"; - asd = "trees"; - }); - systems = [ "trees-tests" ]; - lispLibs = [ (getAttr "trees" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trestrul = (build-asdf-system { - pname = "trestrul"; - version = "20211020-git"; - asds = [ "trestrul" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trestrul/2021-10-20/trestrul-20211020-git.tgz"; - sha256 = "12bghcfnfxq8l4a1jzh6vx4yna9da1xvp0b7kfdcfylnyga9ivy6"; - system = "trestrul"; - asd = "trestrul"; - }); - systems = [ "trestrul" ]; - lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trestrul_dot_test = (build-asdf-system { - pname = "trestrul.test"; - version = "20211020-git"; - asds = [ "trestrul.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trestrul/2021-10-20/trestrul-20211020-git.tgz"; - sha256 = "12bghcfnfxq8l4a1jzh6vx4yna9da1xvp0b7kfdcfylnyga9ivy6"; - system = "trestrul.test"; - asd = "trestrul.test"; - }); - systems = [ "trestrul.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "trestrul" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivia = (build-asdf-system { - pname = "trivia"; - version = "20241012-git"; - asds = [ "trivia" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia"; - asd = "trivia"; - }); - systems = [ "trivia" ]; - lispLibs = [ (getAttr "trivia_dot_balland2006" self) ]; - meta = {}; - }); - trivia_dot_balland2006 = (build-asdf-system { - pname = "trivia.balland2006"; - version = "20241012-git"; - asds = [ "trivia.balland2006" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.balland2006"; - asd = "trivia.balland2006"; - }); - systems = [ "trivia.balland2006" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) (getAttr "trivia_dot_trivial" self) (getAttr "type-i" self) ]; - meta = {}; - }); - trivia_dot_benchmark = (build-asdf-system { - pname = "trivia.benchmark"; - version = "20241012-git"; - asds = [ "trivia.benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.benchmark"; - asd = "trivia.benchmark"; - }); - systems = [ "trivia.benchmark" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "optima" self) (getAttr "trivia" self) (getAttr "trivia_dot_balland2006" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivia_dot_cffi = (build-asdf-system { - pname = "trivia.cffi"; - version = "20241012-git"; - asds = [ "trivia.cffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.cffi"; - asd = "trivia.cffi"; - }); - systems = [ "trivia.cffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "trivia_dot_trivial" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivia_dot_fset = (build-asdf-system { - pname = "trivia.fset"; - version = "20241012-git"; - asds = [ "trivia.fset" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.fset"; - asd = "trivia.fset"; - }); - systems = [ "trivia.fset" ]; - lispLibs = [ (getAttr "fset" self) (getAttr "trivia_dot_trivial" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivia_dot_level0 = (build-asdf-system { - pname = "trivia.level0"; - version = "20241012-git"; - asds = [ "trivia.level0" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.level0"; - asd = "trivia.level0"; - }); - systems = [ "trivia.level0" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - trivia_dot_level1 = (build-asdf-system { - pname = "trivia.level1"; - version = "20241012-git"; - asds = [ "trivia.level1" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.level1"; - asd = "trivia.level1"; - }); - systems = [ "trivia.level1" ]; - lispLibs = [ (getAttr "trivia_dot_level0" self) ]; - meta = {}; - }); - trivia_dot_level2 = (build-asdf-system { - pname = "trivia.level2"; - version = "20241012-git"; - asds = [ "trivia.level2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.level2"; - asd = "trivia.level2"; - }); - systems = [ "trivia.level2" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "lisp-namespace" self) (getAttr "trivia_dot_level1" self) (getAttr "trivial-cltl2" self) ]; - meta = {}; - }); - trivia_dot_ppcre = (build-asdf-system { - pname = "trivia.ppcre"; - version = "20241012-git"; - asds = [ "trivia.ppcre" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.ppcre"; - asd = "trivia.ppcre"; - }); - systems = [ "trivia.ppcre" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "trivia_dot_trivial" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivia_dot_quasiquote = (build-asdf-system { - pname = "trivia.quasiquote"; - version = "20241012-git"; - asds = [ "trivia.quasiquote" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.quasiquote"; - asd = "trivia.quasiquote"; - }); - systems = [ "trivia.quasiquote" ]; - lispLibs = [ (getAttr "fare-quasiquote-readtable" self) (getAttr "trivia_dot_trivial" self) ]; - meta = {}; - }); - trivia_dot_test = (build-asdf-system { - pname = "trivia.test"; - version = "20241012-git"; - asds = [ "trivia.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.test"; - asd = "trivia.test"; - }); - systems = [ "trivia.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "optima" self) (getAttr "trivia" self) (getAttr "trivia_dot_cffi" self) (getAttr "trivia_dot_fset" self) (getAttr "trivia_dot_ppcre" self) (getAttr "trivia_dot_quasiquote" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivia_dot_trivial = (build-asdf-system { - pname = "trivia.trivial"; - version = "20241012-git"; - asds = [ "trivia.trivial" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; - sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; - system = "trivia.trivial"; - asd = "trivia.trivial"; - }); - systems = [ "trivia.trivial" ]; - lispLibs = [ (getAttr "trivia_dot_level2" self) ]; - meta = {}; - }); - trivial-adjust-simple-array = (build-asdf-system { - pname = "trivial-adjust-simple-array"; - version = "20241012-git"; - asds = [ "trivial-adjust-simple-array" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-adjust-simple-array/2024-10-12/trivial-adjust-simple-array-20241012-git.tgz"; - sha256 = "05yifs4b44whqz4bgv4wys6kvza8y7z5w52kh55ch7krpv61ncy6"; - system = "trivial-adjust-simple-array"; - asd = "trivial-adjust-simple-array"; - }); - systems = [ "trivial-adjust-simple-array" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-arguments = (build-asdf-system { - pname = "trivial-arguments"; - version = "20241012-git"; - asds = [ "trivial-arguments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-arguments/2024-10-12/trivial-arguments-20241012-git.tgz"; - sha256 = "1x1jifrw4ryyqgbln07znrc1drl4gxvzhbhv5gl1kgp2xm0rvr7j"; - system = "trivial-arguments"; - asd = "trivial-arguments"; - }); - systems = [ "trivial-arguments" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-backtrace = (build-asdf-system { - pname = "trivial-backtrace"; - version = "20230214-git"; - asds = [ "trivial-backtrace" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-backtrace/2023-02-14/trivial-backtrace-20230214-git.tgz"; - sha256 = "11j0p3vgmnn5q84xw7sacr5p3cvff2hfhsh2is8xpm2iwxc723kn"; - system = "trivial-backtrace"; - asd = "trivial-backtrace"; - }); - systems = [ "trivial-backtrace" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-backtrace-test = (build-asdf-system { - pname = "trivial-backtrace-test"; - version = "20230214-git"; - asds = [ "trivial-backtrace-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-backtrace/2023-02-14/trivial-backtrace-20230214-git.tgz"; - sha256 = "11j0p3vgmnn5q84xw7sacr5p3cvff2hfhsh2is8xpm2iwxc723kn"; - system = "trivial-backtrace-test"; - asd = "trivial-backtrace-test"; - }); - systems = [ "trivial-backtrace-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "trivial-backtrace" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-battery = (build-asdf-system { - pname = "trivial-battery"; - version = "20211020-git"; - asds = [ "trivial-battery" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-battery/2021-10-20/trivial-battery-20211020-git.tgz"; - sha256 = "12ni2502v9gjszhjsh0aai08cm64gl8g815xghdjhcf7y34ffl2b"; - system = "trivial-battery"; - asd = "trivial-battery"; - }); - systems = [ "trivial-battery" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-benchmark = (build-asdf-system { - pname = "trivial-benchmark"; - version = "20231021-git"; - asds = [ "trivial-benchmark" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-benchmark/2023-10-21/trivial-benchmark-20231021-git.tgz"; - sha256 = "1p48wgpady0n8frdcgp7sbg93b0fbvpx1qk5valmanhwr9j3xh88"; - system = "trivial-benchmark"; - asd = "trivial-benchmark"; - }); - systems = [ "trivial-benchmark" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-bit-streams = (build-asdf-system { - pname = "trivial-bit-streams"; - version = "20190710-git"; - asds = [ "trivial-bit-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-bit-streams/2019-07-10/trivial-bit-streams-20190710-git.tgz"; - sha256 = "01xcs069934pzm8gi1xkwgd4lw37ams30i6rcgrlw8gnx4zc4zc9"; - system = "trivial-bit-streams"; - asd = "trivial-bit-streams"; - }); - systems = [ "trivial-bit-streams" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-bit-streams-tests = (build-asdf-system { - pname = "trivial-bit-streams-tests"; - version = "20190710-git"; - asds = [ "trivial-bit-streams-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-bit-streams/2019-07-10/trivial-bit-streams-20190710-git.tgz"; - sha256 = "01xcs069934pzm8gi1xkwgd4lw37ams30i6rcgrlw8gnx4zc4zc9"; - system = "trivial-bit-streams-tests"; - asd = "trivial-bit-streams-tests"; - }); - systems = [ "trivial-bit-streams-tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "trivial-bit-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-build = (build-asdf-system { - pname = "trivial-build"; - version = "20151218-git"; - asds = [ "trivial-build" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-build/2015-12-18/trivial-build-20151218-git.tgz"; - sha256 = "10h1igvryaqz6f72i57ppifysnw8swnss9395sijnk595icja7q0"; - system = "trivial-build"; - asd = "trivial-build"; - }); - systems = [ "trivial-build" ]; - lispLibs = [ (getAttr "lisp-invocation" self) (getAttr "trivial-exe" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-build-test = (build-asdf-system { - pname = "trivial-build-test"; - version = "20151218-git"; - asds = [ "trivial-build-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-build/2015-12-18/trivial-build-20151218-git.tgz"; - sha256 = "10h1igvryaqz6f72i57ppifysnw8swnss9395sijnk595icja7q0"; - system = "trivial-build-test"; - asd = "trivial-build-test"; - }); - systems = [ "trivial-build-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-build" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-channels = (build-asdf-system { - pname = "trivial-channels"; - version = "20160421-git"; - asds = [ "trivial-channels" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-channels/2016-04-21/trivial-channels-20160421-git.tgz"; - sha256 = "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"; - system = "trivial-channels"; - asd = "trivial-channels"; - }); - systems = [ "trivial-channels" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "trivial-timeout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-clipboard = (build-asdf-system { - pname = "trivial-clipboard"; - version = "20241012-git"; - asds = [ "trivial-clipboard" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-clipboard/2024-10-12/trivial-clipboard-20241012-git.tgz"; - sha256 = "1agj4nvw4qq7k4vp64y15gq5h5g22zasys48c2bvzqjr0n9d4lj1"; - system = "trivial-clipboard"; - asd = "trivial-clipboard"; - }); - systems = [ "trivial-clipboard" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-clipboard-test = (build-asdf-system { - pname = "trivial-clipboard-test"; - version = "20241012-git"; - asds = [ "trivial-clipboard-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-clipboard/2024-10-12/trivial-clipboard-20241012-git.tgz"; - sha256 = "1agj4nvw4qq7k4vp64y15gq5h5g22zasys48c2bvzqjr0n9d4lj1"; - system = "trivial-clipboard-test"; - asd = "trivial-clipboard-test"; - }); - systems = [ "trivial-clipboard-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-clipboard" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-clock = (build-asdf-system { - pname = "trivial-clock"; - version = "20241012-git"; - asds = [ "trivial-clock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-trivial-clock/2024-10-12/cl-trivial-clock-20241012-git.tgz"; - sha256 = "1m1351j3xvrf6631gmf99xaxb3dhh4ak657p1hac3b9f9a5h85nd"; - system = "trivial-clock"; - asd = "trivial-clock"; - }); - systems = [ "trivial-clock" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-cltl2 = (build-asdf-system { - pname = "trivial-cltl2"; - version = "20211230-git"; - asds = [ "trivial-cltl2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-cltl2/2021-12-30/trivial-cltl2-20211230-git.tgz"; - sha256 = "0xx5vr0dp623m111zbfdk6x7l4jgd4wwyp6iarbj6ijq514wi3a3"; - system = "trivial-cltl2"; - asd = "trivial-cltl2"; - }); - systems = [ "trivial-cltl2" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-compress = (build-asdf-system { - pname = "trivial-compress"; - version = "20201220-git"; - asds = [ "trivial-compress" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-compress/2020-12-20/trivial-compress-20201220-git.tgz"; - sha256 = "1pbaz0phvzi27dgnfknscak1h27bsi16gys23kchg8y8zbm0z0g7"; - system = "trivial-compress"; - asd = "trivial-compress"; - }); - systems = [ "trivial-compress" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "archive" self) (getAttr "which" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-compress-test = (build-asdf-system { - pname = "trivial-compress-test"; - version = "20201220-git"; - asds = [ "trivial-compress-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-compress/2020-12-20/trivial-compress-20201220-git.tgz"; - sha256 = "1pbaz0phvzi27dgnfknscak1h27bsi16gys23kchg8y8zbm0z0g7"; - system = "trivial-compress-test"; - asd = "trivial-compress-test"; - }); - systems = [ "trivial-compress-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-compress" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-continuation = (build-asdf-system { - pname = "trivial-continuation"; - version = "20191007-git"; - asds = [ "trivial-continuation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-continuation/2019-10-07/trivial-continuation-20191007-git.tgz"; - sha256 = "1j8d8q86r60qr9pi5p3q7rqn16xpzbzygs0i9b8sn3qyxnnz5037"; - system = "trivial-continuation"; - asd = "trivial-continuation"; - }); - systems = [ "trivial-continuation" ]; - lispLibs = [ (getAttr "log4cl" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-coverage = (build-asdf-system { - pname = "trivial-coverage"; - version = "20200218-git"; - asds = [ "trivial-coverage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-coverage/2020-02-18/trivial-coverage-20200218-git.tgz"; - sha256 = "1ak4mjcvzdjsjjh7j89zlnwgaamfrspxmjh2i9kg67kqn36prbsp"; - system = "trivial-coverage"; - asd = "trivial-coverage"; - }); - systems = [ "trivial-coverage" ]; - lispLibs = [ (getAttr "lquery" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-custom-debugger = (build-asdf-system { - pname = "trivial-custom-debugger"; - version = "20231021-git"; - asds = [ "trivial-custom-debugger" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-custom-debugger/2023-10-21/trivial-custom-debugger-20231021-git.tgz"; - sha256 = "11x0wpnfllazaqlrgv9xx1mb5q62dx6ny08hpwgkq3jpvqbhxs3b"; - system = "trivial-custom-debugger"; - asd = "trivial-custom-debugger"; - }); - systems = [ "trivial-custom-debugger" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-debug-console = (build-asdf-system { - pname = "trivial-debug-console"; - version = "20150407-git"; - asds = [ "trivial-debug-console" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-debug-console/2015-04-07/trivial-debug-console-20150407-git.tgz"; - sha256 = "07r42k57vldg01hfwjhkic2hsy84c2s5zj7pl60xjl960i0lqnam"; - system = "trivial-debug-console"; - asd = "trivial-debug-console"; - }); - systems = [ "trivial-debug-console" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-do = (build-asdf-system { - pname = "trivial-do"; - version = "20220331-git"; - asds = [ "trivial-do" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-do/2022-03-31/trivial-do-20220331-git.tgz"; - sha256 = "0vql7am4zyg6zav3l6n6q3qgdxlnchdxpgdxp8lr9sm7jra7sdsf"; - system = "trivial-do"; - asd = "trivial-do"; - }); - systems = [ "trivial-do" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-documentation = (build-asdf-system { - pname = "trivial-documentation"; - version = "20161204-git"; - asds = [ "trivial-documentation" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-documentation/2016-12-04/trivial-documentation-20161204-git.tgz"; - sha256 = "0y90zi6kaw7226xc089dl47677fz594a5ck1ld8yggk9ww7cdaav"; - system = "trivial-documentation"; - asd = "trivial-documentation"; - }); - systems = [ "trivial-documentation" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-documentation-test = (build-asdf-system { - pname = "trivial-documentation-test"; - version = "20161204-git"; - asds = [ "trivial-documentation-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-documentation/2016-12-04/trivial-documentation-20161204-git.tgz"; - sha256 = "0y90zi6kaw7226xc089dl47677fz594a5ck1ld8yggk9ww7cdaav"; - system = "trivial-documentation-test"; - asd = "trivial-documentation-test"; - }); - systems = [ "trivial-documentation-test" ]; - lispLibs = [ (getAttr "trivial-documentation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-download = (build-asdf-system { - pname = "trivial-download"; - version = "20230214-git"; - asds = [ "trivial-download" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-download/2023-02-14/trivial-download-20230214-git.tgz"; - sha256 = "17kag2zi1r766n2mg4knz4ix268bll2acl0150cksibfa4dbq1k7"; - system = "trivial-download"; - asd = "trivial-download"; - }); - systems = [ "trivial-download" ]; - lispLibs = [ (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-dump-core = (build-asdf-system { - pname = "trivial-dump-core"; - version = "20170227-git"; - asds = [ "trivial-dump-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-dump-core/2017-02-27/trivial-dump-core-20170227-git.tgz"; - sha256 = "08lnp84gbf3yd3gpnbjbl8jm9p42j3m4hf2f355l7lylb8kabxn8"; - system = "trivial-dump-core"; - asd = "trivial-dump-core"; - }); - systems = [ "trivial-dump-core" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ed-functions = (build-asdf-system { - pname = "trivial-ed-functions"; - version = "20210807-git"; - asds = [ "trivial-ed-functions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ed-functions/2021-08-07/trivial-ed-functions-20210807-git.tgz"; - sha256 = "05r8n4jjcg2lci5qrjwqz913wivckgk01ivjg1barpnm0nr29qn1"; - system = "trivial-ed-functions"; - asd = "trivial-ed-functions"; - }); - systems = [ "trivial-ed-functions" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-escapes = (build-asdf-system { - pname = "trivial-escapes"; - version = "20180228-git"; - asds = [ "trivial-escapes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-escapes/2018-02-28/trivial-escapes-20180228-git.tgz"; - sha256 = "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"; - system = "trivial-escapes"; - asd = "trivial-escapes"; - }); - systems = [ "trivial-escapes" ]; - lispLibs = [ (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-escapes-test = (build-asdf-system { - pname = "trivial-escapes-test"; - version = "20180228-git"; - asds = [ "trivial-escapes-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-escapes/2018-02-28/trivial-escapes-20180228-git.tgz"; - sha256 = "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"; - system = "trivial-escapes-test"; - asd = "trivial-escapes-test"; - }); - systems = [ "trivial-escapes-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-escapes" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-exe = (build-asdf-system { - pname = "trivial-exe"; - version = "20151218-git"; - asds = [ "trivial-exe" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-exe/2015-12-18/trivial-exe-20151218-git.tgz"; - sha256 = "1ryn7gh3n057czj3hwq6lx7h25ipfjxsvddywpm2ngfdwywaqzvc"; - system = "trivial-exe"; - asd = "trivial-exe"; - }); - systems = [ "trivial-exe" ]; - lispLibs = [ (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-exe-test = (build-asdf-system { - pname = "trivial-exe-test"; - version = "20151218-git"; - asds = [ "trivial-exe-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-exe/2015-12-18/trivial-exe-20151218-git.tgz"; - sha256 = "1ryn7gh3n057czj3hwq6lx7h25ipfjxsvddywpm2ngfdwywaqzvc"; - system = "trivial-exe-test"; - asd = "trivial-exe-test"; - }); - systems = [ "trivial-exe-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-exe" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-extensible-sequences = (build-asdf-system { - pname = "trivial-extensible-sequences"; - version = "20231021-git"; - asds = [ "trivial-extensible-sequences" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-extensible-sequences/2023-10-21/trivial-extensible-sequences-20231021-git.tgz"; - sha256 = "1mgfvyvy3dkn8wyjqc49czl990rbbfkz7sfrhz9641dilasmw9s6"; - system = "trivial-extensible-sequences"; - asd = "trivial-extensible-sequences"; - }); - systems = [ "trivial-extensible-sequences" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-extract = (build-asdf-system { - pname = "trivial-extract"; - version = "20160421-git"; - asds = [ "trivial-extract" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-extract/2016-04-21/trivial-extract-20160421-git.tgz"; - sha256 = "0083x71f4x6b64wd8ywgaiqi0ygmdhl5rv101jcv44l3l61839sx"; - system = "trivial-extract"; - asd = "trivial-extract"; - }); - systems = [ "trivial-extract" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "archive" self) (getAttr "cl-fad" self) (getAttr "deflate" self) (getAttr "which" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-extract-test = (build-asdf-system { - pname = "trivial-extract-test"; - version = "20160421-git"; - asds = [ "trivial-extract-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-extract/2016-04-21/trivial-extract-20160421-git.tgz"; - sha256 = "0083x71f4x6b64wd8ywgaiqi0ygmdhl5rv101jcv44l3l61839sx"; - system = "trivial-extract-test"; - asd = "trivial-extract-test"; - }); - systems = [ "trivial-extract-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-extract" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-features = (build-asdf-system { - pname = "trivial-features"; - version = "20230618-git"; - asds = [ "trivial-features" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-features/2023-06-18/trivial-features-20230618-git.tgz"; - sha256 = "0r33ycg1wsmglbsychglzkd6fachnnqfzd0w9mhpwi6cz94hx7c3"; - system = "trivial-features"; - asd = "trivial-features"; - }); - systems = [ "trivial-features" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-features-tests = (build-asdf-system { - pname = "trivial-features-tests"; - version = "20230618-git"; - asds = [ "trivial-features-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-features/2023-06-18/trivial-features-20230618-git.tgz"; - sha256 = "0r33ycg1wsmglbsychglzkd6fachnnqfzd0w9mhpwi6cz94hx7c3"; - system = "trivial-features-tests"; - asd = "trivial-features-tests"; - }); - systems = [ "trivial-features-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "rt" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-file-size = (build-asdf-system { - pname = "trivial-file-size"; - version = "20241012-git"; - asds = [ "trivial-file-size" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-file-size/2024-10-12/trivial-file-size-20241012-git.tgz"; - sha256 = "08dbyrrgvvl459lk3pcq0j7qryb20hdh946y42h4jsp5crhbi71z"; - system = "trivial-file-size"; - asd = "trivial-file-size"; - }); - systems = [ "trivial-file-size" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-garbage = (build-asdf-system { - pname = "trivial-garbage"; - version = "20231021-git"; - asds = [ "trivial-garbage" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-garbage/2023-10-21/trivial-garbage-20231021-git.tgz"; - sha256 = "0rfwxvwg0kpcaa0hsi035yrkfdfks4bq8d9azmrww2f0rmv9g6sd"; - system = "trivial-garbage"; - asd = "trivial-garbage"; - }); - systems = [ "trivial-garbage" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-gray-streams = (build-asdf-system { - pname = "trivial-gray-streams"; - version = "20241012-git"; - asds = [ "trivial-gray-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-gray-streams/2024-10-12/trivial-gray-streams-20241012-git.tgz"; - sha256 = "0iw6q5hx7x8sc5s7ikvsjccsksbm0rd13d54mkrg62sc56hjywrm"; - system = "trivial-gray-streams"; - asd = "trivial-gray-streams"; - }); - systems = [ "trivial-gray-streams" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-gray-streams-test = (build-asdf-system { - pname = "trivial-gray-streams-test"; - version = "20241012-git"; - asds = [ "trivial-gray-streams-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-gray-streams/2024-10-12/trivial-gray-streams-20241012-git.tgz"; - sha256 = "0iw6q5hx7x8sc5s7ikvsjccsksbm0rd13d54mkrg62sc56hjywrm"; - system = "trivial-gray-streams-test"; - asd = "trivial-gray-streams-test"; - }); - systems = [ "trivial-gray-streams-test" ]; - lispLibs = [ (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-hashtable-serialize = (build-asdf-system { - pname = "trivial-hashtable-serialize"; - version = "20191007-git"; - asds = [ "trivial-hashtable-serialize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-hashtable-serialize/2019-10-07/trivial-hashtable-serialize-20191007-git.tgz"; - sha256 = "06xdci47h6rpfkmrf7p9kd217jbkmkmf90ygqcmkkgf3sv5623bh"; - system = "trivial-hashtable-serialize"; - asd = "trivial-hashtable-serialize"; - }); - systems = [ "trivial-hashtable-serialize" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-http = (build-asdf-system { - pname = "trivial-http"; - version = "20110219-http"; - asds = [ "trivial-http" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-http/2011-02-19/trivial-http-20110219-http.tgz"; - sha256 = "06mrh2bjzhfdzi48dnq0bhl2cac4v41aqck53rfm4rnsygcjsn78"; - system = "trivial-http"; - asd = "trivial-http"; - }); - systems = [ "trivial-http" ]; - lispLibs = [ (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-http-test = (build-asdf-system { - pname = "trivial-http-test"; - version = "20110219-http"; - asds = [ "trivial-http-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-http/2011-02-19/trivial-http-20110219-http.tgz"; - sha256 = "06mrh2bjzhfdzi48dnq0bhl2cac4v41aqck53rfm4rnsygcjsn78"; - system = "trivial-http-test"; - asd = "trivial-http-test"; - }); - systems = [ "trivial-http-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "trivial-http" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-indent = (build-asdf-system { - pname = "trivial-indent"; - version = "20231021-git"; - asds = [ "trivial-indent" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-indent/2023-10-21/trivial-indent-20231021-git.tgz"; - sha256 = "08qgx34zbpafzws96nq68bgpynddf22ibliqni2jnvhwv74lcpiw"; - system = "trivial-indent"; - asd = "trivial-indent"; - }); - systems = [ "trivial-indent" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-inspector-hook = (build-asdf-system { - pname = "trivial-inspector-hook"; - version = "20210807-git"; - asds = [ "trivial-inspector-hook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-inspector-hook/2021-08-07/trivial-inspector-hook-20210807-git.tgz"; - sha256 = "0h9m1ps5sqgrr171czj6rq84wpy2xvggfzspvy667xsldv4xi0c2"; - system = "trivial-inspector-hook"; - asd = "trivial-inspector-hook"; - }); - systems = [ "trivial-inspector-hook" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-irc = (build-asdf-system { - pname = "trivial-irc"; - version = "20171019-git"; - asds = [ "trivial-irc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-irc/2017-10-19/trivial-irc-20171019-git.tgz"; - sha256 = "0jjgx6ld2gcr0w0g5k62dr0rl6202ydih6ylmypv6m5jmrarcbza"; - system = "trivial-irc"; - asd = "trivial-irc"; - }); - systems = [ "trivial-irc" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-irc-echobot = (build-asdf-system { - pname = "trivial-irc-echobot"; - version = "20171019-git"; - asds = [ "trivial-irc-echobot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-irc/2017-10-19/trivial-irc-20171019-git.tgz"; - sha256 = "0jjgx6ld2gcr0w0g5k62dr0rl6202ydih6ylmypv6m5jmrarcbza"; - system = "trivial-irc-echobot"; - asd = "trivial-irc-echobot"; - }); - systems = [ "trivial-irc-echobot" ]; - lispLibs = [ (getAttr "trivial-irc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-json-codec = (build-asdf-system { - pname = "trivial-json-codec"; - version = "20220707-git"; - asds = [ "trivial-json-codec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-json-codec/2022-07-07/trivial-json-codec-20220707-git.tgz"; - sha256 = "1k0nnsn3nsb83gzmkrf81zqz6ydn21gzfq96r2d5690v5zkrg1kg"; - system = "trivial-json-codec"; - asd = "trivial-json-codec"; - }); - systems = [ "trivial-json-codec" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "parse-number" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-jumptables = (build-asdf-system { - pname = "trivial-jumptables"; - version = "1.1"; - asds = [ "trivial-jumptables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-jumptables/2019-11-30/trivial-jumptables_1.1.tgz"; - sha256 = "10ih84hkscj0l4ki3s196d9b85iil8f56ps5r8ng222i0lln1ni9"; - system = "trivial-jumptables"; - asd = "trivial-jumptables"; - }); - systems = [ "trivial-jumptables" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-jumptables__tests = (build-asdf-system { - pname = "trivial-jumptables_tests"; - version = "1.1"; - asds = [ "trivial-jumptables_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-jumptables/2019-11-30/trivial-jumptables_1.1.tgz"; - sha256 = "10ih84hkscj0l4ki3s196d9b85iil8f56ps5r8ng222i0lln1ni9"; - system = "trivial-jumptables_tests"; - asd = "trivial-jumptables_tests"; - }); - systems = [ "trivial-jumptables_tests" ]; - lispLibs = [ (getAttr "bubble-operator-upwards" self) (getAttr "parachute" self) (getAttr "trivial-jumptables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-lazy = (build-asdf-system { - pname = "trivial-lazy"; - version = "20150709-git"; - asds = [ "trivial-lazy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-lazy/2015-07-09/trivial-lazy-20150709-git.tgz"; - sha256 = "0fnsz2kdb0v5cz4xl5a2c1szcif7jmnkxhbzvk6lrhzjccgyhjc7"; - system = "trivial-lazy"; - asd = "trivial-lazy"; - }); - systems = [ "trivial-lazy" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ldap = (build-asdf-system { - pname = "trivial-ldap"; - version = "20180711-git"; - asds = [ "trivial-ldap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ldap/2018-07-11/trivial-ldap-20180711-git.tgz"; - sha256 = "1zaa4wnk5y5ff211pkg6dl27j4pjwh56hq0246slxsdxv6kvp1z9"; - system = "trivial-ldap"; - asd = "trivial-ldap"; - }); - systems = [ "trivial-ldap" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "usocket" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-left-pad = (build-asdf-system { - pname = "trivial-left-pad"; - version = "20190813-git"; - asds = [ "trivial-left-pad" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-left-pad/2019-08-13/trivial-left-pad-20190813-git.tgz"; - sha256 = "0q68j0x0x3z8rl577jsl3y0s3x5xiqv54sla6kds43q7821qfnwk"; - system = "trivial-left-pad"; - asd = "trivial-left-pad"; - }); - systems = [ "trivial-left-pad" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "prove-asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-left-pad-test = (build-asdf-system { - pname = "trivial-left-pad-test"; - version = "20190813-git"; - asds = [ "trivial-left-pad-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-left-pad/2019-08-13/trivial-left-pad-20190813-git.tgz"; - sha256 = "0q68j0x0x3z8rl577jsl3y0s3x5xiqv54sla6kds43q7821qfnwk"; - system = "trivial-left-pad-test"; - asd = "trivial-left-pad"; - }); - systems = [ "trivial-left-pad-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-left-pad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-macroexpand-all = (build-asdf-system { - pname = "trivial-macroexpand-all"; - version = "20171023-git"; - asds = [ "trivial-macroexpand-all" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-macroexpand-all/2017-10-23/trivial-macroexpand-all-20171023-git.tgz"; - sha256 = "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"; - system = "trivial-macroexpand-all"; - asd = "trivial-macroexpand-all"; - }); - systems = [ "trivial-macroexpand-all" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-main-thread = (build-asdf-system { - pname = "trivial-main-thread"; - version = "20241012-git"; - asds = [ "trivial-main-thread" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-main-thread/2024-10-12/trivial-main-thread-20241012-git.tgz"; - sha256 = "0vxr82ald41355hvlg0ngrpzkz9y3nyl24h58306kmg982xk4hnk"; - system = "trivial-main-thread"; - asd = "trivial-main-thread"; - }); - systems = [ "trivial-main-thread" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "documentation-utils" self) (getAttr "trivial-features" self) ]; - meta = {}; - }); - trivial-method-combinations = (build-asdf-system { - pname = "trivial-method-combinations"; - version = "20191130-git"; - asds = [ "trivial-method-combinations" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-method-combinations/2019-11-30/trivial-method-combinations-20191130-git.tgz"; - sha256 = "0w9w8bj835sfp797rdm7b5crpnz0xrz2q5vgbzm2p9n9jskxnxnv"; - system = "trivial-method-combinations"; - asd = "trivial-method-combinations"; - }); - systems = [ "trivial-method-combinations" ]; - lispLibs = [ (getAttr "closer-mop" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-mimes = (build-asdf-system { - pname = "trivial-mimes"; - version = "20231021-git"; - asds = [ "trivial-mimes" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-mimes/2023-10-21/trivial-mimes-20231021-git.tgz"; - sha256 = "05cqbg9bh4r9av675vrzgw4p3s1dxb74r2ygvbfkych79kdik871"; - system = "trivial-mimes"; - asd = "trivial-mimes"; - }); - systems = [ "trivial-mimes" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-mmap = (build-asdf-system { - pname = "trivial-mmap"; - version = "20210124-git"; - asds = [ "trivial-mmap" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-mmap/2021-01-24/trivial-mmap-20210124-git.tgz"; - sha256 = "1ckhd7b0ll9xcmwdh42g0v38grk2acs3kv66k1gwh539f99kzcps"; - system = "trivial-mmap"; - asd = "trivial-mmap"; - }); - systems = [ "trivial-mmap" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "osicat" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-monitored-thread = (build-asdf-system { - pname = "trivial-monitored-thread"; - version = "20220707-git"; - asds = [ "trivial-monitored-thread" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-monitored-thread/2022-07-07/trivial-monitored-thread-20220707-git.tgz"; - sha256 = "1vmhc5id0qk5yh8az4j1znqc73r18pygmrnfxmwwndh1a9yf98z4"; - system = "trivial-monitored-thread"; - asd = "trivial-monitored-thread"; - }); - systems = [ "trivial-monitored-thread" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-msi = (build-asdf-system { - pname = "trivial-msi"; - version = "20160208-git"; - asds = [ "trivial-msi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-msi/2016-02-08/trivial-msi-20160208-git.tgz"; - sha256 = "1mbpwnsvv30gf7z8m96kv8933s6csg4q0frx03vazp4ckplwff8w"; - system = "trivial-msi"; - asd = "trivial-msi"; - }); - systems = [ "trivial-msi" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-msi-test = (build-asdf-system { - pname = "trivial-msi-test"; - version = "20160208-git"; - asds = [ "trivial-msi-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-msi/2016-02-08/trivial-msi-20160208-git.tgz"; - sha256 = "1mbpwnsvv30gf7z8m96kv8933s6csg4q0frx03vazp4ckplwff8w"; - system = "trivial-msi-test"; - asd = "trivial-msi-test"; - }); - systems = [ "trivial-msi-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-msi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-nntp = (build-asdf-system { - pname = "trivial-nntp"; - version = "20161204-git"; - asds = [ "trivial-nntp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-nntp/2016-12-04/trivial-nntp-20161204-git.tgz"; - sha256 = "0ywwrjx4vaz117zaxqhk2b4xrb75cw1ac5xir9zhvgzkyl6wf867"; - system = "trivial-nntp"; - asd = "trivial-nntp"; - }); - systems = [ "trivial-nntp" ]; - lispLibs = [ (getAttr "cl_plus_ssl" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-object-lock = (build-asdf-system { - pname = "trivial-object-lock"; - version = "20220707-git"; - asds = [ "trivial-object-lock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-object-lock/2022-07-07/trivial-object-lock-20220707-git.tgz"; - sha256 = "18xwwgvshib4l2bs6m16mk0kzdp40482yf7v72nzk13v0bgnw91s"; - system = "trivial-object-lock"; - asd = "trivial-object-lock"; - }); - systems = [ "trivial-object-lock" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-octet-streams = (build-asdf-system { - pname = "trivial-octet-streams"; - version = "20241012-git"; - asds = [ "trivial-octet-streams" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-octet-streams/2024-10-12/trivial-octet-streams-20241012-git.tgz"; - sha256 = "0zj7aijn10hflr87774hwi5k1jzq6j5bgh2hm70ixxhcmaq7lqk5"; - system = "trivial-octet-streams"; - asd = "trivial-octet-streams"; - }); - systems = [ "trivial-octet-streams" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-open-browser = (build-asdf-system { - pname = "trivial-open-browser"; - version = "20160825-git"; - asds = [ "trivial-open-browser" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-open-browser/2016-08-25/trivial-open-browser-20160825-git.tgz"; - sha256 = "0ixay1piq420i6adx642qhw45l6ik7rvgk52lyz27dvx5f8yqsdb"; - system = "trivial-open-browser"; - asd = "trivial-open-browser"; - }); - systems = [ "trivial-open-browser" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-openstack = (build-asdf-system { - pname = "trivial-openstack"; - version = "20160628-git"; - asds = [ "trivial-openstack" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-openstack/2016-06-28/trivial-openstack-20160628-git.tgz"; - sha256 = "0sdc6rhjqv1i7wknn44jg5xxnz70087bhfslh0izggny9d9s015i"; - system = "trivial-openstack"; - asd = "trivial-openstack"; - }); - systems = [ "trivial-openstack" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "drakma" self) (getAttr "local-time" self) (getAttr "st-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-openstack-test = (build-asdf-system { - pname = "trivial-openstack-test"; - version = "20160628-git"; - asds = [ "trivial-openstack-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-openstack/2016-06-28/trivial-openstack-20160628-git.tgz"; - sha256 = "0sdc6rhjqv1i7wknn44jg5xxnz70087bhfslh0izggny9d9s015i"; - system = "trivial-openstack-test"; - asd = "trivial-openstack-test"; - }); - systems = [ "trivial-openstack-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "hunchentoot" self) (getAttr "local-time" self) (getAttr "st-json" self) (getAttr "trivial-openstack" self) (getAttr "uri-template" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-package-local-nicknames = (build-asdf-system { - pname = "trivial-package-local-nicknames"; - version = "20220220-git"; - asds = [ "trivial-package-local-nicknames" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-package-local-nicknames/2022-02-20/trivial-package-local-nicknames-20220220-git.tgz"; - sha256 = "0p80s474czfqh7phd4qq5yjcy8q2160vxmn8pi6qlkqgdd7ix37r"; - system = "trivial-package-local-nicknames"; - asd = "trivial-package-local-nicknames"; - }); - systems = [ "trivial-package-local-nicknames" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-package-locks = (build-asdf-system { - pname = "trivial-package-locks"; - version = "20241012-git"; - asds = [ "trivial-package-locks" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-package-locks/2024-10-12/trivial-package-locks-20241012-git.tgz"; - sha256 = "09zhirygjmwr4xvwp1zx9b17mkxml7f7rni1xiwxg5vfgn0y1bi3"; - system = "trivial-package-locks"; - asd = "trivial-package-locks"; - }); - systems = [ "trivial-package-locks" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-package-manager = (build-asdf-system { - pname = "trivial-package-manager"; - version = "20241012-git"; - asds = [ "trivial-package-manager" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-package-manager/2024-10-12/trivial-package-manager-20241012-git.tgz"; - sha256 = "1q71r9h5xra0bg5c5v2gzjjswfv626gfg9sxn59w645g30xn1sph"; - system = "trivial-package-manager"; - asd = "trivial-package-manager"; - }); - systems = [ "trivial-package-manager" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-features" self) (getAttr "trivial-open-browser" self) ]; - meta = {}; - }); - trivial-package-manager_dot_test = (build-asdf-system { - pname = "trivial-package-manager.test"; - version = "20241012-git"; - asds = [ "trivial-package-manager.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-package-manager/2024-10-12/trivial-package-manager-20241012-git.tgz"; - sha256 = "1q71r9h5xra0bg5c5v2gzjjswfv626gfg9sxn59w645g30xn1sph"; - system = "trivial-package-manager.test"; - asd = "trivial-package-manager.test"; - }); - systems = [ "trivial-package-manager.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-package-manager" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-pooled-database = (build-asdf-system { - pname = "trivial-pooled-database"; - version = "20201220-git"; - asds = [ "trivial-pooled-database" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-pooled-database/2020-12-20/trivial-pooled-database-20201220-git.tgz"; - sha256 = "0a7c8bjl13k37b83lksklcw9sch570wgqv58cgs0dw9jcmsihqmx"; - system = "trivial-pooled-database"; - asd = "trivial-pooled-database"; - }); - systems = [ "trivial-pooled-database" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-dbi" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "parse-number" self) (getAttr "trivial-object-lock" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-project = (build-asdf-system { - pname = "trivial-project"; - version = "quicklisp-9e3fe231-git"; - asds = [ "trivial-project" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-project/2017-08-30/trivial-project-quicklisp-9e3fe231-git.tgz"; - sha256 = "1s5h0fgs0rq00j492xln716w9i52v90rnfcr0idjzyimicx7hk22"; - system = "trivial-project"; - asd = "trivial-project"; - }); - systems = [ "trivial-project" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-raw-io = (build-asdf-system { - pname = "trivial-raw-io"; - version = "20141217-git"; - asds = [ "trivial-raw-io" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-raw-io/2014-12-17/trivial-raw-io-20141217-git.tgz"; - sha256 = "19290zw2b64k78wr62gv30pp7cmqg07q85vfwjknaffjdd73xwi1"; - system = "trivial-raw-io"; - asd = "trivial-raw-io"; - }); - systems = [ "trivial-raw-io" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-renamer = (build-asdf-system { - pname = "trivial-renamer"; - version = "quicklisp-1282597d-git"; - asds = [ "trivial-renamer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-renamer/2017-08-30/trivial-renamer-quicklisp-1282597d-git.tgz"; - sha256 = "1nlgsayx4iw6gskg0d5vc823p0lmh414k9jiccvcsk1r17684mp8"; - system = "trivial-renamer"; - asd = "trivial-renamer"; - }); - systems = [ "trivial-renamer" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-rfc-1123 = (build-asdf-system { - pname = "trivial-rfc-1123"; - version = "20220707-git"; - asds = [ "trivial-rfc-1123" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-rfc-1123/2022-07-07/trivial-rfc-1123-20220707-git.tgz"; - sha256 = "1w4ywpj10fnp7cya62dzlxlg8nyk4lppn2pnmfixsndwr4ib1h6x"; - system = "trivial-rfc-1123"; - asd = "trivial-rfc-1123"; - }); - systems = [ "trivial-rfc-1123" ]; - lispLibs = [ (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-sanitize = (build-asdf-system { - pname = "trivial-sanitize"; - version = "20241012-git"; - asds = [ "trivial-sanitize" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-sanitize/2024-10-12/trivial-sanitize-20241012-git.tgz"; - sha256 = "18pc1diq0mfmr3ql79islv2mfm4y791vg9xwz3dwp8wa912dd93h"; - system = "trivial-sanitize"; - asd = "trivial-sanitize"; - }); - systems = [ "trivial-sanitize" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-html5-parser" self) (getAttr "cl-ppcre-unicode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-sanitize-tests = (build-asdf-system { - pname = "trivial-sanitize-tests"; - version = "20241012-git"; - asds = [ "trivial-sanitize-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-sanitize/2024-10-12/trivial-sanitize-20241012-git.tgz"; - sha256 = "18pc1diq0mfmr3ql79islv2mfm4y791vg9xwz3dwp8wa912dd93h"; - system = "trivial-sanitize-tests"; - asd = "trivial-sanitize-tests"; - }); - systems = [ "trivial-sanitize-tests" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "clunit2" self) (getAttr "trivial-sanitize" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-shell = (build-asdf-system { - pname = "trivial-shell"; - version = "20241012-git"; - asds = [ "trivial-shell" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-shell/2024-10-12/trivial-shell-20241012-git.tgz"; - sha256 = "0cqfipcywi1ndl43walw7d54rd7layjq3wv2wpz5rlprv7dhpb2p"; - system = "trivial-shell"; - asd = "trivial-shell"; - }); - systems = [ "trivial-shell" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-shell-test = (build-asdf-system { - pname = "trivial-shell-test"; - version = "20241012-git"; - asds = [ "trivial-shell-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-shell/2024-10-12/trivial-shell-20241012-git.tgz"; - sha256 = "0cqfipcywi1ndl43walw7d54rd7layjq3wv2wpz5rlprv7dhpb2p"; - system = "trivial-shell-test"; - asd = "trivial-shell-test"; - }); - systems = [ "trivial-shell-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-signal = (build-asdf-system { - pname = "trivial-signal"; - version = "20190710-git"; - asds = [ "trivial-signal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-signal/2019-07-10/trivial-signal-20190710-git.tgz"; - sha256 = "13rh1jwh786xg235rkgqbdqga4b9jwn99zlxm0wr73rs2a5ga8ad"; - system = "trivial-signal"; - asd = "trivial-signal"; - }); - systems = [ "trivial-signal" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-sockets = (build-asdf-system { - pname = "trivial-sockets"; - version = "20190107-git"; - asds = [ "trivial-sockets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-sockets/2019-01-07/trivial-sockets-20190107-git.tgz"; - sha256 = "0xj9x5z3psxqap9c29qz1xswx5fiqxyzd35kmbw2g6z08cgb7nd0"; - system = "trivial-sockets"; - asd = "trivial-sockets"; - }); - systems = [ "trivial-sockets" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ssh = (build-asdf-system { - pname = "trivial-ssh"; - version = "20191130-git"; - asds = [ "trivial-ssh" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz"; - sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb"; - system = "trivial-ssh"; - asd = "trivial-ssh"; - }); - systems = [ "trivial-ssh" ]; - lispLibs = [ (getAttr "trivial-ssh-libssh2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ssh-libssh2 = (build-asdf-system { - pname = "trivial-ssh-libssh2"; - version = "20191130-git"; - asds = [ "trivial-ssh-libssh2" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz"; - sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb"; - system = "trivial-ssh-libssh2"; - asd = "trivial-ssh-libssh2"; - }); - systems = [ "trivial-ssh-libssh2" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-fad" self) (getAttr "split-sequence" self) (getAttr "trivial-gray-streams" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ssh-test = (build-asdf-system { - pname = "trivial-ssh-test"; - version = "20191130-git"; - asds = [ "trivial-ssh-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz"; - sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb"; - system = "trivial-ssh-test"; - asd = "trivial-ssh-test"; - }); - systems = [ "trivial-ssh-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivial-ssh" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-system-loader = (build-asdf-system { - pname = "trivial-system-loader"; - version = "20241012-git"; - asds = [ "trivial-system-loader" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-system-loader/2024-10-12/trivial-system-loader-20241012-git.tgz"; - sha256 = "094j50asfgyhqcm86p47azviivap0hni2gjp3khdxcn4f9i9d2b0"; - system = "trivial-system-loader"; - asd = "trivial-system-loader"; - }); - systems = [ "trivial-system-loader" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-tco = (build-asdf-system { - pname = "trivial-tco"; - version = "20131003-git"; - asds = [ "trivial-tco" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-tco/2013-10-03/trivial-tco-20131003-git.tgz"; - sha256 = "0j6mkchrk6bzkpdkrahagip9lxxr8rx3qj4547wg8bdqr7mm2nmi"; - system = "trivial-tco"; - asd = "trivial-tco"; - }); - systems = [ "trivial-tco" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-tco-test = (build-asdf-system { - pname = "trivial-tco-test"; - version = "20131003-git"; - asds = [ "trivial-tco-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-tco/2013-10-03/trivial-tco-20131003-git.tgz"; - sha256 = "0j6mkchrk6bzkpdkrahagip9lxxr8rx3qj4547wg8bdqr7mm2nmi"; - system = "trivial-tco-test"; - asd = "trivial-tco-test"; - }); - systems = [ "trivial-tco-test" ]; - lispLibs = [ (getAttr "clunit" self) (getAttr "trivial-tco" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-thumbnail = (build-asdf-system { - pname = "trivial-thumbnail"; - version = "20231021-git"; - asds = [ "trivial-thumbnail" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-thumbnail/2023-10-21/trivial-thumbnail-20231021-git.tgz"; - sha256 = "1asa8vg8cyfr0kl86xrpywk0cpqym9lzhkhxb829lqr49vr8zfa7"; - system = "trivial-thumbnail"; - asd = "trivial-thumbnail"; - }); - systems = [ "trivial-thumbnail" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-timeout = (build-asdf-system { - pname = "trivial-timeout"; - version = "20231021-git"; - asds = [ "trivial-timeout" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-timeout/2023-10-21/trivial-timeout-20231021-git.tgz"; - sha256 = "0s8z9aj6b3kv21yiyk13cjylzf5zlnw9v86vcff477m1gk9yddjs"; - system = "trivial-timeout"; - asd = "trivial-timeout"; - }); - systems = [ "trivial-timeout" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-timer = (build-asdf-system { - pname = "trivial-timer"; - version = "20210531-git"; - asds = [ "trivial-timer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-timer/2021-05-31/trivial-timer-20210531-git.tgz"; - sha256 = "1b8pnw613h1dngzmv3qglmfrl1jdjbxrsbqnh7rfdj0lnv43h1il"; - system = "trivial-timer"; - asd = "trivial-timer"; - }); - systems = [ "trivial-timer" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "chanl" self) (getAttr "iterate" self) (getAttr "log4cl" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-toplevel-commands = (build-asdf-system { - pname = "trivial-toplevel-commands"; - version = "20241012-git"; - asds = [ "trivial-toplevel-commands" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-toplevel-commands/2024-10-12/trivial-toplevel-commands-20241012-git.tgz"; - sha256 = "03n0dpzgdgghc7cxj1s19w2wlx6r8f1s983f5a6cix5rigx9r834"; - system = "trivial-toplevel-commands"; - asd = "trivial-toplevel-commands"; - }); - systems = [ "trivial-toplevel-commands" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-toplevel-prompt = (build-asdf-system { - pname = "trivial-toplevel-prompt"; - version = "20241012-git"; - asds = [ "trivial-toplevel-prompt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-toplevel-prompt/2024-10-12/trivial-toplevel-prompt-20241012-git.tgz"; - sha256 = "07gvazwqiw37sic9zz8qnl3gz0b8n4qzrwbmg4wy3rlkps98i4s2"; - system = "trivial-toplevel-prompt"; - asd = "trivial-toplevel-prompt"; - }); - systems = [ "trivial-toplevel-prompt" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-types = (build-asdf-system { - pname = "trivial-types"; - version = "20120407-git"; - asds = [ "trivial-types" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-types/2012-04-07/trivial-types-20120407-git.tgz"; - sha256 = "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"; - system = "trivial-types"; - asd = "trivial-types"; - }); - systems = [ "trivial-types" ]; - lispLibs = [ ]; - meta = {}; - }); - trivial-update = (build-asdf-system { - pname = "trivial-update"; - version = "20180131-git"; - asds = [ "trivial-update" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-update/2018-01-31/trivial-update-20180131-git.tgz"; - sha256 = "0dpijh9alljk0jmnkp37hfliylscs7xwvlmjkfshizmyh0qjjxir"; - system = "trivial-update"; - asd = "trivial-update"; - }); - systems = [ "trivial-update" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-utf-8 = (build-asdf-system { - pname = "trivial-utf-8"; - version = "20231021-git"; - asds = [ "trivial-utf-8" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-utf-8/2023-10-21/trivial-utf-8-20231021-git.tgz"; - sha256 = "0paf7ldw6ffl5xilyri3rfygz1v1npagf186i1z8hyxxjkri4q9s"; - system = "trivial-utf-8"; - asd = "trivial-utf-8"; - }); - systems = [ "trivial-utf-8" ]; - lispLibs = [ (getAttr "mgl-pax-bootstrap" self) ]; - meta = {}; - }); - trivial-utilities = (build-asdf-system { - pname = "trivial-utilities"; - version = "20220707-git"; - asds = [ "trivial-utilities" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-utilities/2022-07-07/trivial-utilities-20220707-git.tgz"; - sha256 = "0k1xmn5f5dik7scadw0vyy67mik4ypnfqbhlv2vsg9afxzbpx2dz"; - system = "trivial-utilities"; - asd = "trivial-utilities"; - }); - systems = [ "trivial-utilities" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-variable-bindings = (build-asdf-system { - pname = "trivial-variable-bindings"; - version = "20191007-git"; - asds = [ "trivial-variable-bindings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-variable-bindings/2019-10-07/trivial-variable-bindings-20191007-git.tgz"; - sha256 = "08lx5m1bspxsnv572zma1hxk3yfyk9fkmi5cvcr5riannyimdqgy"; - system = "trivial-variable-bindings"; - asd = "trivial-variable-bindings"; - }); - systems = [ "trivial-variable-bindings" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "trivial-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-wish = (build-asdf-system { - pname = "trivial-wish"; - version = "quicklisp-910afeea-git"; - asds = [ "trivial-wish" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-wish/2017-06-30/trivial-wish-quicklisp-910afeea-git.tgz"; - sha256 = "1ydb9vsanrv6slbddhxc38pq5s88k0rzgqnwabw5cgc8cp5gqvyp"; - system = "trivial-wish"; - asd = "trivial-wish"; - }); - systems = [ "trivial-wish" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-with = (build-asdf-system { - pname = "trivial-with"; - version = "quicklisp-2fd8ca54-git"; - asds = [ "trivial-with" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-with/2017-08-30/trivial-with-quicklisp-2fd8ca54-git.tgz"; - sha256 = "1h880j9k7piq6y5a6sywn1r43h439dd6vfymqvhgnbx458wy69sq"; - system = "trivial-with"; - asd = "trivial-with"; - }); - systems = [ "trivial-with" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-with-current-source-form = (build-asdf-system { - pname = "trivial-with-current-source-form"; - version = "20230618-git"; - asds = [ "trivial-with-current-source-form" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-with-current-source-form/2023-06-18/trivial-with-current-source-form-20230618-git.tgz"; - sha256 = "1856m234mcg8l0p63h0j76isx8n2iji569b4r4zf7qs135xbw930"; - system = "trivial-with-current-source-form"; - asd = "trivial-with-current-source-form"; - }); - systems = [ "trivial-with-current-source-form" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - trivial-ws = (build-asdf-system { - pname = "trivial-ws"; - version = "20180131-git"; - asds = [ "trivial-ws" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz"; - sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7"; - system = "trivial-ws"; - asd = "trivial-ws"; - }); - systems = [ "trivial-ws" ]; - lispLibs = [ (getAttr "hunchensocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ws-client = (build-asdf-system { - pname = "trivial-ws-client"; - version = "20180131-git"; - asds = [ "trivial-ws-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz"; - sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7"; - system = "trivial-ws-client"; - asd = "trivial-ws-client"; - }); - systems = [ "trivial-ws-client" ]; - lispLibs = [ (getAttr "cl-async" self) (getAttr "websocket-driver" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-ws-test = (build-asdf-system { - pname = "trivial-ws-test"; - version = "20180131-git"; - asds = [ "trivial-ws-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz"; - sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7"; - system = "trivial-ws-test"; - asd = "trivial-ws-test"; - }); - systems = [ "trivial-ws-test" ]; - lispLibs = [ (getAttr "find-port" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "trivial-ws" self) (getAttr "trivial-ws-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivial-yenc = (build-asdf-system { - pname = "trivial-yenc"; - version = "20161204-git"; - asds = [ "trivial-yenc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivial-yenc/2016-12-04/trivial-yenc-20161204-git.tgz"; - sha256 = "0jsqwixgikdinc1rq22c4dh9kgg6z0kvw9rh9sbssbmxv99sb5bf"; - system = "trivial-yenc"; - asd = "trivial-yenc"; - }); - systems = [ "trivial-yenc" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivialib_dot_bdd = (build-asdf-system { - pname = "trivialib.bdd"; - version = "20211209-git"; - asds = [ "trivialib.bdd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivialib.bdd/2021-12-09/trivialib.bdd-20211209-git.tgz"; - sha256 = "1iqpcihpm6glr0afi35z6qifj0ppl7s4h1k94fn6lqpv2js6lzbr"; - system = "trivialib.bdd"; - asd = "trivialib.bdd"; - }); - systems = [ "trivialib.bdd" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "immutable-struct" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivialib_dot_bdd_dot_test = (build-asdf-system { - pname = "trivialib.bdd.test"; - version = "20211209-git"; - asds = [ "trivialib.bdd.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivialib.bdd/2021-12-09/trivialib.bdd-20211209-git.tgz"; - sha256 = "1iqpcihpm6glr0afi35z6qifj0ppl7s4h1k94fn6lqpv2js6lzbr"; - system = "trivialib.bdd.test"; - asd = "trivialib.bdd.test"; - }); - systems = [ "trivialib.bdd.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivialib_dot_bdd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivialib_dot_type-unify = (build-asdf-system { - pname = "trivialib.type-unify"; - version = "20200325-git"; - asds = [ "trivialib.type-unify" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivialib.type-unify/2020-03-25/trivialib.type-unify-20200325-git.tgz"; - sha256 = "0b5ck9ldn1w3imgpxyh164bypy28kvjzkwlcyyfsc0h1njnm5jmy"; - system = "trivialib.type-unify"; - asd = "trivialib.type-unify"; - }); - systems = [ "trivialib.type-unify" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "introspect-environment" self) (getAttr "trivia" self) (getAttr "type-r" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trivialib_dot_type-unify_dot_test = (build-asdf-system { - pname = "trivialib.type-unify.test"; - version = "20200325-git"; - asds = [ "trivialib.type-unify.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trivialib.type-unify/2020-03-25/trivialib.type-unify-20200325-git.tgz"; - sha256 = "0b5ck9ldn1w3imgpxyh164bypy28kvjzkwlcyyfsc0h1njnm5jmy"; - system = "trivialib.type-unify.test"; - asd = "trivialib.type-unify.test"; - }); - systems = [ "trivialib.type-unify.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "trivialib_dot_type-unify" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trucler = (build-asdf-system { - pname = "trucler"; - version = "20231021-git"; - asds = [ "trucler" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; - sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; - system = "trucler"; - asd = "trucler"; - }); - systems = [ "trucler" ]; - lispLibs = [ (getAttr "trucler-base" self) (getAttr "trucler-native" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trucler-base = (build-asdf-system { - pname = "trucler-base"; - version = "20231021-git"; - asds = [ "trucler-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; - sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; - system = "trucler-base"; - asd = "trucler-base"; - }); - systems = [ "trucler-base" ]; - lispLibs = [ (getAttr "acclimation" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trucler-native = (build-asdf-system { - pname = "trucler-native"; - version = "20231021-git"; - asds = [ "trucler-native" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; - sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; - system = "trucler-native"; - asd = "trucler-native"; - }); - systems = [ "trucler-native" ]; - lispLibs = [ (getAttr "trucler-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trucler-native-test = (build-asdf-system { - pname = "trucler-native-test"; - version = "20231021-git"; - asds = [ "trucler-native-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; - sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; - system = "trucler-native-test"; - asd = "trucler-native-test"; - }); - systems = [ "trucler-native-test" ]; - lispLibs = [ (getAttr "trucler-base" self) (getAttr "trucler-native" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - trucler-reference = (build-asdf-system { - pname = "trucler-reference"; - version = "20231021-git"; - asds = [ "trucler-reference" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; - sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; - system = "trucler-reference"; - asd = "trucler-reference"; - }); - systems = [ "trucler-reference" ]; - lispLibs = [ (getAttr "trucler-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - truetype-clx = (build-asdf-system { - pname = "truetype-clx"; - version = "20200218-git"; - asds = [ "truetype-clx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/truetype-clx/2020-02-18/truetype-clx-20200218-git.tgz"; - sha256 = "1k46xa0nclj0mpd7khnlpam6q5hgnp23jixryhvv96gx47swhddr"; - system = "truetype-clx"; - asd = "truetype-clx"; - }); - systems = [ "truetype-clx" ]; - lispLibs = [ (getAttr "cl-aa" self) (getAttr "cl-paths-ttf" self) (getAttr "cl-vectors" self) (getAttr "zpb-ttf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - try = (build-asdf-system { - pname = "try"; - version = "20231021-git"; - asds = [ "try" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/try/2023-10-21/try-20231021-git.tgz"; - sha256 = "166i3fqwxfv9skz6yf95c95nx0jjqy1ak1131bd0sqmd582gi9mg"; - system = "try"; - asd = "try"; - }); - systems = [ "try" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "ieee-floats" self) (getAttr "mgl-pax" self) (getAttr "trivial-gray-streams" self) (getAttr "try_dot_asdf" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - try_dot_asdf = (build-asdf-system { - pname = "try.asdf"; - version = "20231021-git"; - asds = [ "try.asdf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/try/2023-10-21/try-20231021-git.tgz"; - sha256 = "166i3fqwxfv9skz6yf95c95nx0jjqy1ak1131bd0sqmd582gi9mg"; - system = "try.asdf"; - asd = "try.asdf"; - }); - systems = [ "try.asdf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - tsqueue = (build-asdf-system { - pname = "tsqueue"; - version = "20221106-git"; - asds = [ "tsqueue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/tsqueue/2022-11-06/tsqueue-20221106-git.tgz"; - sha256 = "1ifq53b95a1sdpgx1hlz31pjbh0z6izh3wrgsiqvzgkbiyxq513q"; - system = "tsqueue"; - asd = "tsqueue"; - }); - systems = [ "tsqueue" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ttt = (build-asdf-system { - pname = "ttt"; - version = "20220707-git"; - asds = [ "ttt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ttt/2022-07-07/ttt-20220707-git.tgz"; - sha256 = "0g6p8gpl8hl427mfrrf8824zq6wmkj11v1xq7pyv7v0b5cwp5ccv"; - system = "ttt"; - asd = "ttt"; - }); - systems = [ "ttt" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - twfy = (build-asdf-system { - pname = "twfy"; - version = "20130420-git"; - asds = [ "twfy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/twfy/2013-04-20/twfy-20130420-git.tgz"; - sha256 = "1srns5ayg7q8dzviizgm7j767dxbbyzh2ca8a5wdz3bc0qmwrsbs"; - system = "twfy"; - asd = "twfy"; - }); - systems = [ "twfy" ]; - lispLibs = [ (getAttr "cl-json" self) (getAttr "drakma" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - twitter-mongodb-driver = (build-asdf-system { - pname = "twitter-mongodb-driver"; - version = "20180228-git"; - asds = [ "twitter-mongodb-driver" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz"; - sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr"; - system = "twitter-mongodb-driver"; - asd = "twitter-mongodb-driver"; - }); - systems = [ "twitter-mongodb-driver" ]; - lispLibs = [ (getAttr "cl-mongo" self) (getAttr "cl-twitter" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - type-i = (build-asdf-system { - pname = "type-i"; - version = "20230214-git"; - asds = [ "type-i" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/type-i/2023-02-14/type-i-20230214-git.tgz"; - sha256 = "1y9dh1iziv3gwpf5yls0amwjhdqjidfibcla04mz6dqdv3zrg3hs"; - system = "type-i"; - asd = "type-i"; - }); - systems = [ "type-i" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "introspect-environment" self) (getAttr "lisp-namespace" self) (getAttr "trivia_dot_trivial" self) ]; - meta = {}; - }); - type-i_dot_test = (build-asdf-system { - pname = "type-i.test"; - version = "20230214-git"; - asds = [ "type-i.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/type-i/2023-02-14/type-i-20230214-git.tgz"; - sha256 = "1y9dh1iziv3gwpf5yls0amwjhdqjidfibcla04mz6dqdv3zrg3hs"; - system = "type-i.test"; - asd = "type-i.test"; - }); - systems = [ "type-i.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "type-i" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - type-r = (build-asdf-system { - pname = "type-r"; - version = "20191227-git"; - asds = [ "type-r" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/type-r/2019-12-27/type-r-20191227-git.tgz"; - sha256 = "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"; - system = "type-r"; - asd = "type-r"; - }); - systems = [ "type-r" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - type-r_dot_test = (build-asdf-system { - pname = "type-r.test"; - version = "20191227-git"; - asds = [ "type-r.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/type-r/2019-12-27/type-r-20191227-git.tgz"; - sha256 = "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"; - system = "type-r.test"; - asd = "type-r.test"; - }); - systems = [ "type-r.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "type-r" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - type-templates = (build-asdf-system { - pname = "type-templates"; - version = "20241012-git"; - asds = [ "type-templates" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/type-templates/2024-10-12/type-templates-20241012-git.tgz"; - sha256 = "1zmz3bmwg8ncqbnjwimn8n7q9ik9arnhd5ijd22ap1nwhbnmk1rj"; - system = "type-templates"; - asd = "type-templates"; - }); - systems = [ "type-templates" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "documentation-utils" self) (getAttr "form-fiddle" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - typo = (build-asdf-system { - pname = "typo"; - version = "20241012-git"; - asds = [ "typo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/typo/2024-10-12/typo-20241012-git.tgz"; - sha256 = "1xgrfj1yxay04zf1ppf56b4j5p1wn67zfhiwpfd30dvk53mcrlik"; - system = "typo"; - asd = "typo"; - }); - systems = [ "typo" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "introspect-environment" self) (getAttr "trivia" self) (getAttr "trivial-arguments" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - typo_dot_test-suite = (build-asdf-system { - pname = "typo.test-suite"; - version = "20241012-git"; - asds = [ "typo.test-suite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/typo/2024-10-12/typo-20241012-git.tgz"; - sha256 = "1xgrfj1yxay04zf1ppf56b4j5p1wn67zfhiwpfd30dvk53mcrlik"; - system = "typo.test-suite"; - asd = "typo.test-suite"; - }); - systems = [ "typo.test-suite" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "typo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uax-14 = (build-asdf-system { - pname = "uax-14"; - version = "20231021-git"; - asds = [ "uax-14" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uax-14/2023-10-21/uax-14-20231021-git.tgz"; - sha256 = "1k9cqs9lb5i2y9b3zgrr1kq2w8bcr3h362105ykz0if5yz8m59fq"; - system = "uax-14"; - asd = "uax-14"; - }); - systems = [ "uax-14" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uax-14-test = (build-asdf-system { - pname = "uax-14-test"; - version = "20231021-git"; - asds = [ "uax-14-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uax-14/2023-10-21/uax-14-20231021-git.tgz"; - sha256 = "1k9cqs9lb5i2y9b3zgrr1kq2w8bcr3h362105ykz0if5yz8m59fq"; - system = "uax-14-test"; - asd = "uax-14-test"; - }); - systems = [ "uax-14-test" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "parachute" self) (getAttr "uax-14" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uax-15 = (build-asdf-system { - pname = "uax-15"; - version = "20241012-git"; - asds = [ "uax-15" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uax-15/2024-10-12/uax-15-20241012-git.tgz"; - sha256 = "12qkq4r6qv5cn535bwpkq7zfahajlrv8v7661x4wzf4pp0avx7n6"; - system = "uax-15"; - asd = "uax-15"; - }); - systems = [ "uax-15" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "split-sequence" self) ]; - meta = {}; - }); - uax-9 = (build-asdf-system { - pname = "uax-9"; - version = "20231021-git"; - asds = [ "uax-9" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uax-9/2023-10-21/uax-9-20231021-git.tgz"; - sha256 = "1kbq8v45pxhmwqn6is5lfsp51h80kns4s1cqbh9z0xdmxzw63ip1"; - system = "uax-9"; - asd = "uax-9"; - }); - systems = [ "uax-9" ]; - lispLibs = [ (getAttr "documentation-utils" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uax-9-test = (build-asdf-system { - pname = "uax-9-test"; - version = "20231021-git"; - asds = [ "uax-9-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uax-9/2023-10-21/uax-9-20231021-git.tgz"; - sha256 = "1kbq8v45pxhmwqn6is5lfsp51h80kns4s1cqbh9z0xdmxzw63ip1"; - system = "uax-9-test"; - asd = "uax-9-test"; - }); - systems = [ "uax-9-test" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "parachute" self) (getAttr "uax-9" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ubiquitous = (build-asdf-system { - pname = "ubiquitous"; - version = "20231021-git"; - asds = [ "ubiquitous" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ubiquitous/2023-10-21/ubiquitous-20231021-git.tgz"; - sha256 = "02q6yz9j374q23avi06lddy6gkzza0xn3855n7dqgy34fv1shw1i"; - system = "ubiquitous"; - asd = "ubiquitous"; - }); - systems = [ "ubiquitous" ]; - lispLibs = [ ]; - meta = { - broken = true; - hydraPlatforms = [ ]; - }; - }); - ubiquitous-concurrent = (build-asdf-system { - pname = "ubiquitous-concurrent"; - version = "20231021-git"; - asds = [ "ubiquitous-concurrent" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ubiquitous/2023-10-21/ubiquitous-20231021-git.tgz"; - sha256 = "02q6yz9j374q23avi06lddy6gkzza0xn3855n7dqgy34fv1shw1i"; - system = "ubiquitous-concurrent"; - asd = "ubiquitous-concurrent"; - }); - systems = [ "ubiquitous-concurrent" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "ubiquitous" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucons = (build-asdf-system { - pname = "ucons"; - version = "20230618-git"; - asds = [ "ucons" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucons/2023-06-18/ucons-20230618-git.tgz"; - sha256 = "0pisf8sswh1wainabpnczla8c98kr0lv0qvh0zapwkf1lq1drzp1"; - system = "ucons"; - asd = "ucons"; - }); - systems = [ "ucons" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "atomics" self) (getAttr "bordeaux-threads" self) (getAttr "named-readtables" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucw = (build-asdf-system { - pname = "ucw"; - version = "20160208-darcs"; - asds = [ "ucw" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; - sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; - system = "ucw"; - asd = "ucw"; - }); - systems = [ "ucw" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "ucw-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucw-core = (build-asdf-system { - pname = "ucw-core"; - version = "20160208-darcs"; - asds = [ "ucw-core" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; - sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; - system = "ucw-core"; - asd = "ucw-core"; - }); - systems = [ "ucw-core" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "bordeaux-threads" self) (getAttr "cl-fad" self) (getAttr "closer-mop" self) (getAttr "iterate" self) (getAttr "local-time" self) (getAttr "net-telent-date" self) (getAttr "rfc2109" self) (getAttr "swank" self) (getAttr "trivial-garbage" self) (getAttr "usocket" self) (getAttr "yaclml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucw-core_dot_test = (build-asdf-system { - pname = "ucw-core.test"; - version = "20160208-darcs"; - asds = [ "ucw-core.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; - sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; - system = "ucw-core.test"; - asd = "ucw-core"; - }); - systems = [ "ucw-core.test" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "iterate" self) (getAttr "stefil" self) (getAttr "ucw-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucw_dot_examples = (build-asdf-system { - pname = "ucw.examples"; - version = "20160208-darcs"; - asds = [ "ucw.examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; - sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; - system = "ucw.examples"; - asd = "ucw"; - }); - systems = [ "ucw.examples" ]; - lispLibs = [ (getAttr "ucw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucw_dot_httpd = (build-asdf-system { - pname = "ucw.httpd"; - version = "20160208-darcs"; - asds = [ "ucw.httpd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; - sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; - system = "ucw.httpd"; - asd = "ucw-core"; - }); - systems = [ "ucw.httpd" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "puri" self) (getAttr "rfc2388-binary" self) (getAttr "ucw-core" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ucw_dot_manual-examples = (build-asdf-system { - pname = "ucw.manual-examples"; - version = "20160208-darcs"; - asds = [ "ucw.manual-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; - sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; - system = "ucw.manual-examples"; - asd = "ucw"; - }); - systems = [ "ucw.manual-examples" ]; - lispLibs = [ (getAttr "ucw" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uffi = (build-asdf-system { - pname = "uffi"; - version = "20180228-git"; - asds = [ "uffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uffi/2018-02-28/uffi-20180228-git.tgz"; - sha256 = "0ywly04k8vir39ld7ids80yjn34y3y3mlpky1pr1fh9p8q412a85"; - system = "uffi"; - asd = "uffi"; - }); - systems = [ "uffi" ]; - lispLibs = [ ]; - meta = {}; - }); - uffi-tests = (build-asdf-system { - pname = "uffi-tests"; - version = "20180228-git"; - asds = [ "uffi-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uffi/2018-02-28/uffi-20180228-git.tgz"; - sha256 = "0ywly04k8vir39ld7ids80yjn34y3y3mlpky1pr1fh9p8q412a85"; - system = "uffi-tests"; - asd = "uffi-tests"; - }); - systems = [ "uffi-tests" ]; - lispLibs = [ (getAttr "uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ufo = (build-asdf-system { - pname = "ufo"; - version = "20210807-git"; - asds = [ "ufo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ufo/2021-08-07/ufo-20210807-git.tgz"; - sha256 = "0bbq4pjnbmf1zpmh11jlriv0qnvrhw1xxnjj2y35gk75rr8rvizy"; - system = "ufo"; - asd = "ufo"; - }); - systems = [ "ufo" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ufo-test = (build-asdf-system { - pname = "ufo-test"; - version = "20210807-git"; - asds = [ "ufo-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ufo/2021-08-07/ufo-20210807-git.tgz"; - sha256 = "0bbq4pjnbmf1zpmh11jlriv0qnvrhw1xxnjj2y35gk75rr8rvizy"; - system = "ufo-test"; - asd = "ufo-test"; - }); - systems = [ "ufo-test" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "ufo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ugly-tiny-infix-macro = (build-asdf-system { - pname = "ugly-tiny-infix-macro"; - version = "20160825-git"; - asds = [ "ugly-tiny-infix-macro" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ugly-tiny-infix-macro/2016-08-25/ugly-tiny-infix-macro-20160825-git.tgz"; - sha256 = "15bbnr3kzy3p35skm6bkyyl5ck4d264am0zyjsix5k58d9fli3ii"; - system = "ugly-tiny-infix-macro"; - asd = "ugly-tiny-infix-macro"; - }); - systems = [ "ugly-tiny-infix-macro" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - umbra = (build-asdf-system { - pname = "umbra"; - version = "20220707-git"; - asds = [ "umbra" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/umbra/2022-07-07/umbra-20220707-git.tgz"; - sha256 = "125bsf69gzdy0r6jh6fz8000rqww1rji354x0yrgmkz9x3mvz4k4"; - system = "umbra"; - asd = "umbra"; - }); - systems = [ "umbra" ]; - lispLibs = [ (getAttr "mfiano-utils" self) (getAttr "shadow" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - umlisp = (build-asdf-system { - pname = "umlisp"; - version = "20210411-git"; - asds = [ "umlisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/umlisp/2021-04-11/umlisp-20210411-git.tgz"; - sha256 = "1yyyn1qka4iw3hwii7i8k939dbwvhn543m8qclk2ajggkdky4mqb"; - system = "umlisp"; - asd = "umlisp"; - }); - systems = [ "umlisp" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-mysql" self) (getAttr "hyperobject" self) (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - umlisp-orf = (build-asdf-system { - pname = "umlisp-orf"; - version = "20150923-git"; - asds = [ "umlisp-orf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/umlisp-orf/2015-09-23/umlisp-orf-20150923-git.tgz"; - sha256 = "187i9rcj3rymi8hmlvglvig7yqandzzx57x0rzr4yfv8sgnb82qx"; - system = "umlisp-orf"; - asd = "umlisp-orf"; - }); - systems = [ "umlisp-orf" ]; - lispLibs = [ (getAttr "clsql" self) (getAttr "clsql-postgresql-socket" self) (getAttr "hyperobject" self) (getAttr "kmrcl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - umlisp-tests = (build-asdf-system { - pname = "umlisp-tests"; - version = "20210411-git"; - asds = [ "umlisp-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/umlisp/2021-04-11/umlisp-20210411-git.tgz"; - sha256 = "1yyyn1qka4iw3hwii7i8k939dbwvhn543m8qclk2ajggkdky4mqb"; - system = "umlisp-tests"; - asd = "umlisp-tests"; - }); - systems = [ "umlisp-tests" ]; - lispLibs = [ (getAttr "rt" self) (getAttr "umlisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - unboxables = (build-asdf-system { - pname = "unboxables"; - version = "20231021-git"; - asds = [ "unboxables" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/unboxables/2023-10-21/unboxables-20231021-git.tgz"; - sha256 = "099qcsc9q9q5cz2qlvkylc2g8g80fqzrxyq4lc072bmw96wy27fs"; - system = "unboxables"; - asd = "unboxables"; - }); - systems = [ "unboxables" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uncommon-lisp = (build-asdf-system { - pname = "uncommon-lisp"; - version = "20200427-git"; - asds = [ "uncommon-lisp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "uncommon-lisp"; - asd = "uncommon-lisp"; - }); - systems = [ "uncommon-lisp" ]; - lispLibs = [ (getAttr "structy-defclass" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uncursed = (build-asdf-system { - pname = "uncursed"; - version = "20220220-git"; - asds = [ "uncursed" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uncursed/2022-02-20/uncursed-20220220-git.tgz"; - sha256 = "1hydiwh12851rrm12y0a6pb2jml2cjdk8wxvz4c00d2xwraqc6mr"; - system = "uncursed"; - asd = "uncursed"; - }); - systems = [ "uncursed" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl-setlocale" self) (getAttr "terminfo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uncursed-examples = (build-asdf-system { - pname = "uncursed-examples"; - version = "20220220-git"; - asds = [ "uncursed-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uncursed/2022-02-20/uncursed-20220220-git.tgz"; - sha256 = "1hydiwh12851rrm12y0a6pb2jml2cjdk8wxvz4c00d2xwraqc6mr"; - system = "uncursed-examples"; - asd = "uncursed-examples"; - }); - systems = [ "uncursed-examples" ]; - lispLibs = [ (getAttr "cffi-grovel" self) (getAttr "uncursed" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - unifgram = (build-asdf-system { - pname = "unifgram"; - version = "20180228-git"; - asds = [ "unifgram" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/paiprolog/2018-02-28/paiprolog-20180228-git.tgz"; - sha256 = "1nxz01i6f8s920gm69r2kwjdpq9pli8b2ayqwijhzgjwi0r4jj9r"; - system = "unifgram"; - asd = "unifgram"; - }); - systems = [ "unifgram" ]; - lispLibs = [ (getAttr "paiprolog" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - unit-formulas = (build-asdf-system { - pname = "unit-formulas"; - version = "20180711-git"; - asds = [ "unit-formulas" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/unit-formula/2018-07-11/unit-formula-20180711-git.tgz"; - sha256 = "1j9zcnyj2ik7f2130pkfwr2bhh5ldlgc83n1024w0dy95ksl1f20"; - system = "unit-formulas"; - asd = "unit-formulas"; - }); - systems = [ "unit-formulas" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - unit-test = (build-asdf-system { - pname = "unit-test"; - version = "20120520-git"; - asds = [ "unit-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/unit-test/2012-05-20/unit-test-20120520-git.tgz"; - sha256 = "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"; - system = "unit-test"; - asd = "unit-test"; - }); - systems = [ "unit-test" ]; - lispLibs = [ ]; - meta = {}; - }); - universal-config = (build-asdf-system { - pname = "universal-config"; - version = "20180430-git"; - asds = [ "universal-config" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/universal-config/2018-04-30/universal-config-20180430-git.tgz"; - sha256 = "17sjd37jwsi47yhsj9qsnfyhyrlhlxdrxa4szklwjh489hf01hd0"; - system = "universal-config"; - asd = "universal-config"; - }); - systems = [ "universal-config" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "parse-float" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - unix-options = (build-asdf-system { - pname = "unix-options"; - version = "20151031-git"; - asds = [ "unix-options" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/unix-options/2015-10-31/unix-options-20151031-git.tgz"; - sha256 = "17q7irrbmaja7gj86h01ali9n9p782jxisgkb1r2q5ajf4lr1rsv"; - system = "unix-options"; - asd = "unix-options"; - }); - systems = [ "unix-options" ]; - lispLibs = [ ]; - meta = {}; - }); - unix-opts = (build-asdf-system { - pname = "unix-opts"; - version = "20210124-git"; - asds = [ "unix-opts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/unix-opts/2021-01-24/unix-opts-20210124-git.tgz"; - sha256 = "16mcqpzwrz808p9n3wwl99ckg3hg7yihw08y1i4l7c92aldbkasq"; - system = "unix-opts"; - asd = "unix-opts"; - }); - systems = [ "unix-opts" ]; - lispLibs = [ ]; - meta = {}; - }); - unix-sockets = (build-asdf-system { - pname = "unix-sockets"; - version = "20241012-git"; - asds = [ "unix-sockets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unix-sockets/2024-10-12/cl-unix-sockets-20241012-git.tgz"; - sha256 = "09l3032p3gavyin1hn45yqv6b3vrg74vzcz85ppqg4nzpmp44845"; - system = "unix-sockets"; - asd = "unix-sockets"; - }); - systems = [ "unix-sockets" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "flexi-streams" self) (getAttr "log4cl" self) (getAttr "trivial-garbage" self) (getAttr "trivial-gray-streams" self) (getAttr "uffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - unix-sockets_dot_tests = (build-asdf-system { - pname = "unix-sockets.tests"; - version = "20241012-git"; - asds = [ "unix-sockets.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-unix-sockets/2024-10-12/cl-unix-sockets-20241012-git.tgz"; - sha256 = "09l3032p3gavyin1hn45yqv6b3vrg74vzcz85ppqg4nzpmp44845"; - system = "unix-sockets.tests"; - asd = "unix-sockets.tests"; - }); - systems = [ "unix-sockets.tests" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "fiveam" self) (getAttr "tmpdir" self) (getAttr "trivial-timeout" self) (getAttr "unix-sockets" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uri-template = (build-asdf-system { - pname = "uri-template"; - version = "1.3.1"; - asds = [ "uri-template" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uri-template/2019-08-13/uri-template-1.3.1.tgz"; - sha256 = "06n5kmjax64kv57ng5g2030a67z131i4wm53npg9zq2xlj9sprd8"; - system = "uri-template"; - asd = "uri-template"; - }); - systems = [ "uri-template" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "named-readtables" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uri-template_dot_test = (build-asdf-system { - pname = "uri-template.test"; - version = "1.3.1"; - asds = [ "uri-template.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uri-template/2019-08-13/uri-template-1.3.1.tgz"; - sha256 = "06n5kmjax64kv57ng5g2030a67z131i4wm53npg9zq2xlj9sprd8"; - system = "uri-template.test"; - asd = "uri-template.test"; - }); - systems = [ "uri-template.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "uri-template" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - url-rewrite = (build-asdf-system { - pname = "url-rewrite"; - version = "20171227-git"; - asds = [ "url-rewrite" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/url-rewrite/2017-12-27/url-rewrite-20171227-git.tgz"; - sha256 = "0d3awcb938ajiylyfnbqsc7nndy6csx0qz1bcyr4f0p862w3xbqf"; - system = "url-rewrite"; - asd = "url-rewrite"; - }); - systems = [ "url-rewrite" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - userial = (build-asdf-system { - pname = "userial"; - version = "0.8.2011.06.02"; - asds = [ "userial" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/userial/2011-06-19/userial_0.8.2011.06.02.tgz"; - sha256 = "08f8hc1f81gyn4br9p732p8r2gl6cvccd4yzc9ydz4i0ijclpp2m"; - system = "userial"; - asd = "userial"; - }); - systems = [ "userial" ]; - lispLibs = [ (getAttr "contextl" self) (getAttr "ieee-floats" self) (getAttr "trivial-utf-8" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - userial-tests = (build-asdf-system { - pname = "userial-tests"; - version = "0.8.2011.06.02"; - asds = [ "userial-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/userial/2011-06-19/userial_0.8.2011.06.02.tgz"; - sha256 = "08f8hc1f81gyn4br9p732p8r2gl6cvccd4yzc9ydz4i0ijclpp2m"; - system = "userial-tests"; - asd = "userial-tests"; - }); - systems = [ "userial-tests" ]; - lispLibs = [ (getAttr "nst" self) (getAttr "userial" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - usocket = (build-asdf-system { - pname = "usocket"; - version = "0.8.8"; - asds = [ "usocket" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"; - sha256 = "13j2hyl7j06vl8hh3930wd3bi2p0pcg4dcd243al31fgw4m0bvag"; - system = "usocket"; - asd = "usocket"; - }); - systems = [ "usocket" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = {}; - }); - usocket-server = (build-asdf-system { - pname = "usocket-server"; - version = "0.8.8"; - asds = [ "usocket-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"; - sha256 = "13j2hyl7j06vl8hh3930wd3bi2p0pcg4dcd243al31fgw4m0bvag"; - system = "usocket-server"; - asd = "usocket-server"; - }); - systems = [ "usocket-server" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "usocket" self) ]; - meta = {}; - }); - usocket-test = (build-asdf-system { - pname = "usocket-test"; - version = "0.8.8"; - asds = [ "usocket-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"; - sha256 = "13j2hyl7j06vl8hh3930wd3bi2p0pcg4dcd243al31fgw4m0bvag"; - system = "usocket-test"; - asd = "usocket-test"; - }); - systems = [ "usocket-test" ]; - lispLibs = [ (getAttr "rt" self) (getAttr "usocket-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utf8-input-stream = (build-asdf-system { - pname = "utf8-input-stream"; - version = "20241012-git"; - asds = [ "utf8-input-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utf8-input-stream/2024-10-12/utf8-input-stream-20241012-git.tgz"; - sha256 = "06fk8fsz9nngdfjymg93h1l5m4yhfg4w8as68zlaj698xf9ry3i5"; - system = "utf8-input-stream"; - asd = "utf8-input-stream"; - }); - systems = [ "utf8-input-stream" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utf8-input-stream_dot_tests = (build-asdf-system { - pname = "utf8-input-stream.tests"; - version = "20241012-git"; - asds = [ "utf8-input-stream.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utf8-input-stream/2024-10-12/utf8-input-stream-20241012-git.tgz"; - sha256 = "06fk8fsz9nngdfjymg93h1l5m4yhfg4w8as68zlaj698xf9ry3i5"; - system = "utf8-input-stream.tests"; - asd = "utf8-input-stream.tests"; - }); - systems = [ "utf8-input-stream.tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "flexi-streams" self) (getAttr "utf8-input-stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utilities_dot_binary-dump = (build-asdf-system { - pname = "utilities.binary-dump"; - version = "20181210-git"; - asds = [ "utilities.binary-dump" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utilities.binary-dump/2018-12-10/utilities.binary-dump-20181210-git.tgz"; - sha256 = "1l20r1782bskyy50ca6vsyxrvbxlgfq4nm33wl8as761dcjpj4d4"; - system = "utilities.binary-dump"; - asd = "utilities.binary-dump"; - }); - systems = [ "utilities.binary-dump" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "let-plus" self) (getAttr "nibbles" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utilities_dot_print-items = (build-asdf-system { - pname = "utilities.print-items"; - version = "20221106-git"; - asds = [ "utilities.print-items" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utilities.print-items/2022-11-06/utilities.print-items-20221106-git.tgz"; - sha256 = "0qn0w7cyl76c3ssipqsx4ngb1641ajfkaihnb31w374zrzbns8wi"; - system = "utilities.print-items"; - asd = "utilities.print-items"; - }); - systems = [ "utilities.print-items" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - utilities_dot_print-tree = (build-asdf-system { - pname = "utilities.print-tree"; - version = "20221106-git"; - asds = [ "utilities.print-tree" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utilities.print-tree/2022-11-06/utilities.print-tree-20221106-git.tgz"; - sha256 = "0i7371qvlnwjcybh3c2ac88xz39vjdynhgxwz4acjbcnsw0jqsls"; - system = "utilities.print-tree"; - asd = "utilities.print-tree"; - }); - systems = [ "utilities.print-tree" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = {}; - }); - utility = (build-asdf-system { - pname = "utility"; - version = "20190202-git"; - asds = [ "utility" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utility/2019-02-02/utility-20190202-git.tgz"; - sha256 = "0nc83kxp2c0wy5ai7dm6w4anx5266j99pxzr0c7fxgllc7d0g1qd"; - system = "utility"; - asd = "utility"; - }); - systems = [ "utility" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utility-arguments = (build-asdf-system { - pname = "utility-arguments"; - version = "20161204-git"; - asds = [ "utility-arguments" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utility-arguments/2016-12-04/utility-arguments-20161204-git.tgz"; - sha256 = "0dzbzzrla9709zl5dqdfw02mxa3rvcpca466qrcprgs3hnxdvgwb"; - system = "utility-arguments"; - asd = "utility-arguments"; - }); - systems = [ "utility-arguments" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utils-kt = (build-asdf-system { - pname = "utils-kt"; - version = "20200218-git"; - asds = [ "utils-kt" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utils-kt/2020-02-18/utils-kt-20200218-git.tgz"; - sha256 = "016x3w034brz02z9mrsrkhk2djizg3yqsvhl9k62xqcnpy3b87dn"; - system = "utils-kt"; - asd = "utils-kt"; - }); - systems = [ "utils-kt" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utm = (build-asdf-system { - pname = "utm"; - version = "20200218-git"; - asds = [ "utm" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utm/2020-02-18/utm-20200218-git.tgz"; - sha256 = "1a5dp5fls26ppc6fnvd941nfvk2qs72grl0a3pycq7vzw6580v01"; - system = "utm"; - asd = "utm"; - }); - systems = [ "utm" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utm-ups = (build-asdf-system { - pname = "utm-ups"; - version = "20230618-git"; - asds = [ "utm-ups" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utm-ups/2023-06-18/utm-ups-20230618-git.tgz"; - sha256 = "19nnnqagfg1c1vzwlqpp8mq2d0hrk8r6r07a46nvdyzmwbnmbwyr"; - system = "utm-ups"; - asd = "utm-ups"; - }); - systems = [ "utm-ups" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - utm_dot_test = (build-asdf-system { - pname = "utm.test"; - version = "20200218-git"; - asds = [ "utm.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/utm/2020-02-18/utm-20200218-git.tgz"; - sha256 = "1a5dp5fls26ppc6fnvd941nfvk2qs72grl0a3pycq7vzw6580v01"; - system = "utm.test"; - asd = "utm.test"; - }); - systems = [ "utm.test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "utm" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - uuid = (build-asdf-system { - pname = "uuid"; - version = "20200715-git"; - asds = [ "uuid" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uuid/2020-07-15/uuid-20200715-git.tgz"; - sha256 = "1ncwhyw0zggwpkzjsw7d4pkrlldi34xvb69c0bzxmyz2krg8rpx0"; - system = "uuid"; - asd = "uuid"; - }); - systems = [ "uuid" ]; - lispLibs = [ (getAttr "ironclad" self) (getAttr "trivial-utf-8" self) ]; - meta = {}; - }); - uuidv7 = (build-asdf-system { - pname = "uuidv7"; - version = "20241012-git"; - asds = [ "uuidv7" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/uuidv7.lisp/2024-10-12/uuidv7.lisp-20241012-git.tgz"; - sha256 = "1lirb92a1b3hpf66gndas4yix0smfckg9arzk69lpcvxsidzc66l"; - system = "uuidv7"; - asd = "uuidv7"; - }); - systems = [ "uuidv7" ]; - lispLibs = [ (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - validate-list = (build-asdf-system { - pname = "validate-list"; - version = "20210411-git"; - asds = [ "validate-list" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/validate-list/2021-04-11/validate-list-20210411-git.tgz"; - sha256 = "1rb7glqvlaz84cfd2wjk49si9jh4ffysmva5007gjhqfhr9z23lj"; - system = "validate-list"; - asd = "validate-list"; - }); - systems = [ "validate-list" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "arithmetic-operators-as-words" self) (getAttr "lisp-unit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - varint = (build-asdf-system { - pname = "varint"; - version = "20230618-git"; - asds = [ "varint" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/protobuf/2023-06-18/protobuf-20230618-git.tgz"; - sha256 = "0pp8i2i72p6cng11sxj83klw45jqv05l5024h7c2rl0pvsg8f6bc"; - system = "varint"; - asd = "varint"; - }); - systems = [ "varint" ]; - lispLibs = [ (getAttr "com_dot_google_dot_base" self) (getAttr "nibbles" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - varjo = (build-asdf-system { - pname = "varjo"; - version = "release-quicklisp-92f9c75b-git"; - asds = [ "varjo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz"; - sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9"; - system = "varjo"; - asd = "varjo"; - }); - systems = [ "varjo" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "documentation-utils" self) (getAttr "fn" self) (getAttr "glsl-docs" self) (getAttr "glsl-spec" self) (getAttr "glsl-symbols" self) (getAttr "named-readtables" self) (getAttr "parse-float" self) (getAttr "vas-string-metrics" self) ]; - meta = {}; - }); - varjo_dot_import = (build-asdf-system { - pname = "varjo.import"; - version = "release-quicklisp-92f9c75b-git"; - asds = [ "varjo.import" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz"; - sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9"; - system = "varjo.import"; - asd = "varjo.import"; - }); - systems = [ "varjo.import" ]; - lispLibs = [ (getAttr "fare-quasiquote-extras" self) (getAttr "glsl-toolkit" self) (getAttr "rtg-math_dot_vari" self) (getAttr "split-sequence" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - varjo_dot_tests = (build-asdf-system { - pname = "varjo.tests"; - version = "release-quicklisp-92f9c75b-git"; - asds = [ "varjo.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz"; - sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9"; - system = "varjo.tests"; - asd = "varjo.tests"; - }); - systems = [ "varjo.tests" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "rtg-math_dot_vari" self) (getAttr "varjo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - varray = (build-asdf-system { - pname = "varray"; - version = "20241012-git"; - asds = [ "varray" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "varray"; - asd = "varray"; - }); - systems = [ "varray" ]; - lispLibs = [ (getAttr "aplesque" self) (getAttr "lparallel" self) (getAttr "random-state" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vas-string-metrics = (build-asdf-system { - pname = "vas-string-metrics"; - version = "20211209-git"; - asds = [ "vas-string-metrics" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vas-string-metrics/2021-12-09/vas-string-metrics-20211209-git.tgz"; - sha256 = "1yvkwc939dckv070nlgqfj5ys9ii2rm32m5wfx7qxdjrb4n19sx9"; - system = "vas-string-metrics"; - asd = "vas-string-metrics"; - }); - systems = [ "vas-string-metrics" ]; - lispLibs = [ ]; - meta = {}; - }); - vecto = (build-asdf-system { - pname = "vecto"; - version = "1.6"; - asds = [ "vecto" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vecto/2021-12-30/vecto-1.6.tgz"; - sha256 = "1s3ii9absili7yiv89byjikxcxlbagsvcxdwkxgsm1rahgggyk5x"; - system = "vecto"; - asd = "vecto"; - }); - systems = [ "vecto" ]; - lispLibs = [ (getAttr "cl-vectors" self) (getAttr "zpb-ttf" self) (getAttr "zpng" self) ]; - meta = {}; - }); - vectometry = (build-asdf-system { - pname = "vectometry"; - version = "1.6"; - asds = [ "vectometry" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vecto/2021-12-30/vecto-1.6.tgz"; - sha256 = "1s3ii9absili7yiv89byjikxcxlbagsvcxdwkxgsm1rahgggyk5x"; - system = "vectometry"; - asd = "vectometry"; - }); - systems = [ "vectometry" ]; - lispLibs = [ (getAttr "vecto" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vectors = (build-asdf-system { - pname = "vectors"; - version = "20171227-git"; - asds = [ "vectors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vectors/2017-12-27/vectors-20171227-git.tgz"; - sha256 = "1sflb1wz6fcszdbqrcfh52bp5ch6wbizzp7jx97ni8lrqq2r6cqy"; - system = "vectors"; - asd = "vectors"; - }); - systems = [ "vectors" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum = (build-asdf-system { - pname = "vellum"; - version = "20241012-git"; - asds = [ "vellum" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum/2024-10-12/vellum-20241012-git.tgz"; - sha256 = "0qy5hsyy3qf5245n5lfnhsfdjmsdjmwa2d3jp8gr6zg71npfx926"; - system = "vellum"; - asd = "vellum"; - }); - systems = [ "vellum" ]; - lispLibs = [ (getAttr "agnostic-lizard" self) (getAttr "alexandria" self) (getAttr "cl-data-structures" self) (getAttr "closer-mop" self) (getAttr "documentation-utils-extensions" self) (getAttr "iterate" self) (getAttr "lparallel" self) (getAttr "metabang-bind" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum-binary = (build-asdf-system { - pname = "vellum-binary"; - version = "20241012-git"; - asds = [ "vellum-binary" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum-binary/2024-10-12/vellum-binary-20241012-git.tgz"; - sha256 = "15kv5vzzrf6c3nvibz3p3d9arxmvwska37p5s13g9d2z1k3wyag1"; - system = "vellum-binary"; - asd = "vellum-binary"; - }); - systems = [ "vellum-binary" ]; - lispLibs = [ (getAttr "chipz" self) (getAttr "cl-conspack" self) (getAttr "ieee-floats" self) (getAttr "nibbles" self) (getAttr "salza2" self) (getAttr "trivial-utf-8" self) (getAttr "vellum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum-clim = (build-asdf-system { - pname = "vellum-clim"; - version = "20210531-git"; - asds = [ "vellum-clim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum-clim/2021-05-31/vellum-clim-20210531-git.tgz"; - sha256 = "06g1pw0r60yd13hzbjrbpa1p0pnlwkqfn06ipk1gs0kc76gf2im5"; - system = "vellum-clim"; - asd = "vellum-clim"; - }); - systems = [ "vellum-clim" ]; - lispLibs = [ (getAttr "iterate" self) (getAttr "mcclim" self) (getAttr "vellum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum-csv = (build-asdf-system { - pname = "vellum-csv"; - version = "20241012-git"; - asds = [ "vellum-csv" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum-csv/2024-10-12/vellum-csv-20241012-git.tgz"; - sha256 = "0xk4n6w3hsnn8cl34x8vigzmqnkdn04j6831095yyqk7373hvfql"; - system = "vellum-csv"; - asd = "vellum-csv"; - }); - systems = [ "vellum-csv" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "documentation-utils-extensions" self) (getAttr "iterate" self) (getAttr "parse-float" self) (getAttr "serapeum" self) (getAttr "vellum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum-csv-tests = (build-asdf-system { - pname = "vellum-csv-tests"; - version = "20241012-git"; - asds = [ "vellum-csv-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum-csv/2024-10-12/vellum-csv-20241012-git.tgz"; - sha256 = "0xk4n6w3hsnn8cl34x8vigzmqnkdn04j6831095yyqk7373hvfql"; - system = "vellum-csv-tests"; - asd = "vellum-csv-tests"; - }); - systems = [ "vellum-csv-tests" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "vellum-csv" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum-postmodern = (build-asdf-system { - pname = "vellum-postmodern"; - version = "20241012-git"; - asds = [ "vellum-postmodern" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum-postmodern/2024-10-12/vellum-postmodern-20241012-git.tgz"; - sha256 = "1q7s57vfcs01nl03kjkyjk9ya68cnl9p6mf1z864imfd04ssy9gr"; - system = "vellum-postmodern"; - asd = "vellum-postmodern"; - }); - systems = [ "vellum-postmodern" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-postgres" self) (getAttr "documentation-utils-extensions" self) (getAttr "iterate" self) (getAttr "postmodern" self) (getAttr "s-sql" self) (getAttr "serapeum" self) (getAttr "vellum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vellum-tests = (build-asdf-system { - pname = "vellum-tests"; - version = "20241012-git"; - asds = [ "vellum-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vellum/2024-10-12/vellum-20241012-git.tgz"; - sha256 = "0qy5hsyy3qf5245n5lfnhsfdjmsdjmwa2d3jp8gr6zg71npfx926"; - system = "vellum-tests"; - asd = "vellum-tests"; - }); - systems = [ "vellum-tests" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "vellum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - veq = (build-asdf-system { - pname = "veq"; - version = "v4.5.5"; - asds = [ "veq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-veq/2023-10-21/cl-veq-v4.5.5.tgz"; - sha256 = "0sk6rvqck47ym7ryy0smya1vwgpksxzal1xcwmwl106nxi9l7m34"; - system = "veq"; - asd = "veq"; - }); - systems = [ "veq" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - verbose = (build-asdf-system { - pname = "verbose"; - version = "20241012-git"; - asds = [ "verbose" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/verbose/2024-10-12/verbose-20241012-git.tgz"; - sha256 = "1q0knjk1nlnvlg9kydyxzd4sd2v8vm9dx10zqz2bpihd5nyhz3nv"; - system = "verbose"; - asd = "verbose"; - }); - systems = [ "verbose" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "dissect" self) (getAttr "documentation-utils" self) (getAttr "local-time" self) (getAttr "piping" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - verlet = (build-asdf-system { - pname = "verlet"; - version = "20211209-git"; - asds = [ "verlet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/verlet/2021-12-09/verlet-20211209-git.tgz"; - sha256 = "0n6wgjwwbrr13ldwa4y59n2ixn47rr0ad7n3jbb58635z6ahfvd4"; - system = "verlet"; - asd = "verlet"; - }); - systems = [ "verlet" ]; - lispLibs = [ (getAttr "chain" self) (getAttr "fset" self) (getAttr "metabang-bind" self) (getAttr "mgl-pax" self) (getAttr "rtg-math" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vernacular = (build-asdf-system { - pname = "vernacular"; - version = "20241012-git"; - asds = [ "vernacular" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vernacular/2024-10-12/vernacular-20241012-git.tgz"; - sha256 = "09jz68lms82vxq672pars6hqapvdl4z8z2v1s9kmzvgxm2khw8pw"; - system = "vernacular"; - asd = "vernacular"; - }); - systems = [ "vernacular" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "local-time" self) (getAttr "named-readtables" self) (getAttr "overlord" self) (getAttr "serapeum" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) (getAttr "trivial-macroexpand-all" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - verrazano = (build-asdf-system { - pname = "verrazano"; - version = "20120909-darcs"; - asds = [ "verrazano" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/verrazano/2012-09-09/verrazano-20120909-darcs.tgz"; - sha256 = "0d7qv5jwv5p1r64g4rfqb844b5fh71p82b5983gjz0a5p391p270"; - system = "verrazano"; - asd = "verrazano"; - }); - systems = [ "verrazano" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "cl-ppcre" self) (getAttr "closer-mop" self) (getAttr "cxml" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) (getAttr "parse-number" self) (getAttr "trivial-shell" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - verrazano-runtime = (build-asdf-system { - pname = "verrazano-runtime"; - version = "20120909-darcs"; - asds = [ "verrazano-runtime" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/verrazano/2012-09-09/verrazano-20120909-darcs.tgz"; - sha256 = "0d7qv5jwv5p1r64g4rfqb844b5fh71p82b5983gjz0a5p391p270"; - system = "verrazano-runtime"; - asd = "verrazano-runtime"; - }); - systems = [ "verrazano-runtime" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vertex = (build-asdf-system { - pname = "vertex"; - version = "20150608-git"; - asds = [ "vertex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vertex/2015-06-08/vertex-20150608-git.tgz"; - sha256 = "0g3ck1kvp6x9874ffizjz3fsd35a3m4hcr2x5gq9fdql680ic4k2"; - system = "vertex"; - asd = "vertex"; - }); - systems = [ "vertex" ]; - lispLibs = [ (getAttr "common-doc" self) (getAttr "common-doc-plump" self) (getAttr "plump-tex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vertex-test = (build-asdf-system { - pname = "vertex-test"; - version = "20150608-git"; - asds = [ "vertex-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vertex/2015-06-08/vertex-20150608-git.tgz"; - sha256 = "0g3ck1kvp6x9874ffizjz3fsd35a3m4hcr2x5gq9fdql680ic4k2"; - system = "vertex-test"; - asd = "vertex-test"; - }); - systems = [ "vertex-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "vertex" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vex = (build-asdf-system { - pname = "vex"; - version = "20241012-git"; - asds = [ "vex" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; - sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; - system = "vex"; - asd = "vex"; - }); - systems = [ "vex" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "array-operations" self) (getAttr "cl-ppcre" self) (getAttr "maxpc-apache" self) (getAttr "prove" self) (getAttr "symbol-munger" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vgplot = (build-asdf-system { - pname = "vgplot"; - version = "20220707-git"; - asds = [ "vgplot" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vgplot/2022-07-07/vgplot-20220707-git.tgz"; - sha256 = "1vc5fd787xa8831wjbmwrpg17f9isi5k8dmb85fsysz47plbvi1y"; - system = "vgplot"; - asd = "vgplot"; - }); - systems = [ "vgplot" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "ltk" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors = (build-asdf-system { - pname = "vivid-colors"; - version = "20220707-git"; - asds = [ "vivid-colors" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors"; - asd = "vivid-colors"; - }); - systems = [ "vivid-colors" ]; - lispLibs = [ (getAttr "cl-colors2" self) (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "lambda-fiddle" self) (getAttr "millet" self) (getAttr "vivid-colors_dot_content" self) (getAttr "vivid-colors_dot_dispatch" self) (getAttr "vivid-colors_dot_stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_content = (build-asdf-system { - pname = "vivid-colors.content"; - version = "20220707-git"; - asds = [ "vivid-colors.content" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.content"; - asd = "vivid-colors.content"; - }); - systems = [ "vivid-colors.content" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ansi-text" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "mcase" self) (getAttr "vivid-colors_dot_queue" self) (getAttr "vivid-colors_dot_shared" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_content_dot_test = (build-asdf-system { - pname = "vivid-colors.content.test"; - version = "20220707-git"; - asds = [ "vivid-colors.content.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.content.test"; - asd = "vivid-colors.content.test"; - }); - systems = [ "vivid-colors.content.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "vivid-colors_dot_content" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_dispatch = (build-asdf-system { - pname = "vivid-colors.dispatch"; - version = "20220707-git"; - asds = [ "vivid-colors.dispatch" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.dispatch"; - asd = "vivid-colors.dispatch"; - }); - systems = [ "vivid-colors.dispatch" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "millet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_dispatch_dot_test = (build-asdf-system { - pname = "vivid-colors.dispatch.test"; - version = "20220707-git"; - asds = [ "vivid-colors.dispatch.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.dispatch.test"; - asd = "vivid-colors.dispatch.test"; - }); - systems = [ "vivid-colors.dispatch.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "vivid-colors_dot_dispatch" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_queue = (build-asdf-system { - pname = "vivid-colors.queue"; - version = "20220707-git"; - asds = [ "vivid-colors.queue" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.queue"; - asd = "vivid-colors.queue"; - }); - systems = [ "vivid-colors.queue" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "millet" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_queue_dot_test = (build-asdf-system { - pname = "vivid-colors.queue.test"; - version = "20220707-git"; - asds = [ "vivid-colors.queue.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.queue.test"; - asd = "vivid-colors.queue.test"; - }); - systems = [ "vivid-colors.queue.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "vivid-colors_dot_queue" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_shared = (build-asdf-system { - pname = "vivid-colors.shared"; - version = "20220707-git"; - asds = [ "vivid-colors.shared" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.shared"; - asd = "vivid-colors.shared"; - }); - systems = [ "vivid-colors.shared" ]; - lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_shared_dot_test = (build-asdf-system { - pname = "vivid-colors.shared.test"; - version = "20220707-git"; - asds = [ "vivid-colors.shared.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.shared.test"; - asd = "vivid-colors.shared.test"; - }); - systems = [ "vivid-colors.shared.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "vivid-colors_dot_shared" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_stream = (build-asdf-system { - pname = "vivid-colors.stream"; - version = "20220707-git"; - asds = [ "vivid-colors.stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.stream"; - asd = "vivid-colors.stream"; - }); - systems = [ "vivid-colors.stream" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ansi-text" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "trivial-gray-streams" self) (getAttr "vivid-colors_dot_content" self) (getAttr "vivid-colors_dot_dispatch" self) (getAttr "vivid-colors_dot_shared" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_stream_dot_test = (build-asdf-system { - pname = "vivid-colors.stream.test"; - version = "20220707-git"; - asds = [ "vivid-colors.stream.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.stream.test"; - asd = "vivid-colors.stream.test"; - }); - systems = [ "vivid-colors.stream.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "vivid-colors_dot_stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-colors_dot_test = (build-asdf-system { - pname = "vivid-colors.test"; - version = "20220707-git"; - asds = [ "vivid-colors.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; - sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; - system = "vivid-colors.test"; - asd = "vivid-colors.test"; - }); - systems = [ "vivid-colors.test" ]; - lispLibs = [ (getAttr "jingoh" self) (getAttr "vivid-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-diff = (build-asdf-system { - pname = "vivid-diff"; - version = "20220707-git"; - asds = [ "vivid-diff" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-diff/2022-07-07/vivid-diff-20220707-git.tgz"; - sha256 = "195hqx304x4na56qpiblz30ahp1qj55kan50mkr0xyjhcx75nsdk"; - system = "vivid-diff"; - asd = "vivid-diff"; - }); - systems = [ "vivid-diff" ]; - lispLibs = [ (getAttr "cl-colors2" self) (getAttr "closer-mop" self) (getAttr "jingoh_dot_documentizer" self) (getAttr "matrix-case" self) (getAttr "vivid-colors" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vivid-diff_dot_test = (build-asdf-system { - pname = "vivid-diff.test"; - version = "20220707-git"; - asds = [ "vivid-diff.test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vivid-diff/2022-07-07/vivid-diff-20220707-git.tgz"; - sha256 = "195hqx304x4na56qpiblz30ahp1qj55kan50mkr0xyjhcx75nsdk"; - system = "vivid-diff.test"; - asd = "vivid-diff.test"; - }); - systems = [ "vivid-diff.test" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "jingoh" self) (getAttr "vivid-diff" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vk = (build-asdf-system { - pname = "vk"; - version = "20230214-git"; - asds = [ "vk" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vk/2023-02-14/vk-20230214-git.tgz"; - sha256 = "14986kss2rggdjiql3rr34qnfjwb8w73j0ggn6c3w4y9dny3l31j"; - system = "vk"; - asd = "vk"; - }); - systems = [ "vk" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cffi" self) (getAttr "rove" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - voipms = (build-asdf-system { - pname = "voipms"; - version = "20231021-git"; - asds = [ "voipms" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-voipms/2023-10-21/cl-voipms-20231021-git.tgz"; - sha256 = "05jrpd9vc95hqxq3nbwv0qpsfj3winwx2n5a5933919gfanxrslk"; - system = "voipms"; - asd = "voipms"; - }); - systems = [ "voipms" ]; - lispLibs = [ (getAttr "cl-date-time-parser" self) (getAttr "erjoalgo-webutil" self) (getAttr "local-time" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vom = (build-asdf-system { - pname = "vom"; - version = "20241012-git"; - asds = [ "vom" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vom/2024-10-12/vom-20241012-git.tgz"; - sha256 = "1rnrr69h3j8phm6z3cfagv2bjh71wbzx9acnas9fn33j3q94gr95"; - system = "vom"; - asd = "vom"; - }); - systems = [ "vom" ]; - lispLibs = [ ]; - meta = {}; - }); - vom-json = (build-asdf-system { - pname = "vom-json"; - version = "20200610-git"; - asds = [ "vom-json" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vom-json/2020-06-10/vom-json-20200610-git.tgz"; - sha256 = "14b39kqbjpibh545gh9mb6w5g0kz7fhd5zxfmlf9a0fpdbwhw41c"; - system = "vom-json"; - asd = "vom-json"; - }); - systems = [ "vom-json" ]; - lispLibs = [ (getAttr "jonathan" self) (getAttr "local-time" self) (getAttr "vom" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vorbisfile-ffi = (build-asdf-system { - pname = "vorbisfile-ffi"; - version = "20151218-git"; - asds = [ "vorbisfile-ffi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; - sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; - system = "vorbisfile-ffi"; - asd = "vorbisfile-ffi"; - }); - systems = [ "vorbisfile-ffi" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - vp-trees = (build-asdf-system { - pname = "vp-trees"; - version = "20230214-git"; - asds = [ "vp-trees" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/vp-trees/2023-02-14/vp-trees-20230214-git.tgz"; - sha256 = "0fk41c97p5ck5g9nsvq6h9hzxz7yssyqz3v4f4qiavdnw6a9va1m"; - system = "vp-trees"; - asd = "vp-trees"; - }); - systems = [ "vp-trees" ]; - lispLibs = [ (getAttr "float-features" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wallstreetflets = (build-asdf-system { - pname = "wallstreetflets"; - version = "20211209-git"; - asds = [ "wallstreetflets" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wallstreetflets/2021-12-09/wallstreetflets-20211209-git.tgz"; - sha256 = "0d9anws4gk16an1kl4kads6lhm8a4mpiwxg74i3235d5874gbdj5"; - system = "wallstreetflets"; - asd = "wallstreetflets"; - }); - systems = [ "wallstreetflets" ]; - lispLibs = [ (getAttr "dexador" self) (getAttr "lquery" self) (getAttr "parse-number" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wasm-encoder = (build-asdf-system { - pname = "wasm-encoder"; - version = "20210630-git"; - asds = [ "wasm-encoder" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wasm-encoder/2021-06-30/wasm-encoder-20210630-git.tgz"; - sha256 = "1h094d8www9ydg96fjj17pi0lb63ikgyp5237cl6n3rmg4jpy9w6"; - system = "wasm-encoder"; - asd = "wasm-encoder"; - }); - systems = [ "wasm-encoder" ]; - lispLibs = [ (getAttr "agutil" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "flexi-streams" self) (getAttr "generic-cl" self) (getAttr "ieee-floats" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - water = (build-asdf-system { - pname = "water"; - version = "20190107-git"; - asds = [ "water" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/water/2019-01-07/water-20190107-git.tgz"; - sha256 = "0w9b6mh10rfv7rg1zq28pivad6435i9h839km6nlbhq9xmx0g27s"; - system = "water"; - asd = "water"; - }); - systems = [ "water" ]; - lispLibs = [ (getAttr "parenscript" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wayflan = (build-asdf-system { - pname = "wayflan"; - version = "20230214-git"; - asds = [ "wayflan" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wayflan/2023-02-14/wayflan-20230214-git.tgz"; - sha256 = "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"; - system = "wayflan"; - asd = "wayflan"; - }); - systems = [ "wayflan" ]; - lispLibs = [ (getAttr "cffi-grovel" self) (getAttr "wayflan-client" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wayflan-client = (build-asdf-system { - pname = "wayflan-client"; - version = "20230214-git"; - asds = [ "wayflan-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wayflan/2023-02-14/wayflan-20230214-git.tgz"; - sha256 = "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"; - system = "wayflan-client"; - asd = "wayflan-client"; - }); - systems = [ "wayflan-client" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "closer-mop" self) (getAttr "plump" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - webactions = (build-asdf-system { - pname = "webactions"; - version = "20190813-git"; - asds = [ "webactions" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; - sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; - system = "webactions"; - asd = "webactions"; - }); - systems = [ "webactions" ]; - lispLibs = [ (getAttr "acl-compat" self) (getAttr "aserve" self) (getAttr "htmlgen" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - webapi = (build-asdf-system { - pname = "webapi"; - version = "20230618-git"; - asds = [ "webapi" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/webapi/2023-06-18/webapi-20230618-git.tgz"; - sha256 = "1irp18a0rq61xfr3944ahy2spj0095l15xf7j0245jd0qw7gmg03"; - system = "webapi"; - asd = "webapi"; - }); - systems = [ "webapi" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "dexador" self) (getAttr "kebab" self) (getAttr "quri" self) (getAttr "st-json" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-clsql = (build-asdf-system { - pname = "weblocks-clsql"; - version = "20211020-git"; - asds = [ "weblocks-clsql" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; - sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; - system = "weblocks-clsql"; - asd = "weblocks-clsql"; - }); - systems = [ "weblocks-clsql" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "clsql" self) (getAttr "clsql-fluid" self) (getAttr "metatilities" self) (getAttr "weblocks-stores" self) (getAttr "weblocks-util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-memory = (build-asdf-system { - pname = "weblocks-memory"; - version = "20211020-git"; - asds = [ "weblocks-memory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; - sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; - system = "weblocks-memory"; - asd = "weblocks-memory"; - }); - systems = [ "weblocks-memory" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "metatilities" self) (getAttr "weblocks-stores" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-montezuma = (build-asdf-system { - pname = "weblocks-montezuma"; - version = "20211020-git"; - asds = [ "weblocks-montezuma" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; - sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; - system = "weblocks-montezuma"; - asd = "weblocks-montezuma"; - }); - systems = [ "weblocks-montezuma" ]; - lispLibs = [ (getAttr "montezuma" self) (getAttr "weblocks-stores" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-perec = (build-asdf-system { - pname = "weblocks-perec"; - version = "20211020-git"; - asds = [ "weblocks-perec" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; - sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; - system = "weblocks-perec"; - asd = "weblocks-perec"; - }); - systems = [ "weblocks-perec" ]; - lispLibs = [ (getAttr "hu_dot_dwim_dot_perec" self) (getAttr "weblocks-stores" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-prevalence = (build-asdf-system { - pname = "weblocks-prevalence"; - version = "20211020-git"; - asds = [ "weblocks-prevalence" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; - sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; - system = "weblocks-prevalence"; - asd = "weblocks-prevalence"; - }); - systems = [ "weblocks-prevalence" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "cl-prevalence" self) (getAttr "metatilities" self) (getAttr "weblocks-memory" self) (getAttr "weblocks-stores" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-scripts = (build-asdf-system { - pname = "weblocks-scripts"; - version = "20211020-git"; - asds = [ "weblocks-scripts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks/2021-10-20/weblocks-20211020-git.tgz"; - sha256 = "1hilpzm1p3hrp2hxghjr9y8sy5a9bgk96n8kc8bphvn7dvlbm78j"; - system = "weblocks-scripts"; - asd = "weblocks-scripts"; - }); - systems = [ "weblocks-scripts" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-stores = (build-asdf-system { - pname = "weblocks-stores"; - version = "20211020-git"; - asds = [ "weblocks-stores" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; - sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; - system = "weblocks-stores"; - asd = "weblocks-stores"; - }); - systems = [ "weblocks-stores" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "metatilities" self) (getAttr "weblocks-util" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weblocks-util = (build-asdf-system { - pname = "weblocks-util"; - version = "20211020-git"; - asds = [ "weblocks-util" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weblocks/2021-10-20/weblocks-20211020-git.tgz"; - sha256 = "1hilpzm1p3hrp2hxghjr9y8sy5a9bgk96n8kc8bphvn7dvlbm78j"; - system = "weblocks-util"; - asd = "weblocks-util"; - }); - systems = [ "weblocks-util" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "bordeaux-threads" self) (getAttr "cl-cont" self) (getAttr "cl-fad" self) (getAttr "cl-json" self) (getAttr "cl-ppcre" self) (getAttr "cl-who" self) (getAttr "closer-mop" self) (getAttr "f-underscore" self) (getAttr "html-template" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "metatilities" self) (getAttr "optima" self) (getAttr "parenscript" self) (getAttr "parse-number" self) (getAttr "pretty-function" self) (getAttr "puri" self) (getAttr "salza2" self) (getAttr "trivial-backtrace" self) (getAttr "trivial-timeout" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - websocket-driver = (build-asdf-system { - pname = "websocket-driver"; - version = "20241012-git"; - asds = [ "websocket-driver" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; - sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; - system = "websocket-driver"; - asd = "websocket-driver"; - }); - systems = [ "websocket-driver" ]; - lispLibs = [ (getAttr "websocket-driver-client" self) (getAttr "websocket-driver-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - websocket-driver-base = (build-asdf-system { - pname = "websocket-driver-base"; - version = "20241012-git"; - asds = [ "websocket-driver-base" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; - sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; - system = "websocket-driver-base"; - asd = "websocket-driver-base"; - }); - systems = [ "websocket-driver-base" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-base64" self) (getAttr "event-emitter" self) (getAttr "fast-io" self) (getAttr "fast-websocket" self) (getAttr "sha1" self) (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - websocket-driver-client = (build-asdf-system { - pname = "websocket-driver-client"; - version = "20241012-git"; - asds = [ "websocket-driver-client" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; - sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; - system = "websocket-driver-client"; - asd = "websocket-driver-client"; - }); - systems = [ "websocket-driver-client" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "fast-websocket" self) (getAttr "quri" self) (getAttr "usocket" self) (getAttr "websocket-driver-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - websocket-driver-server = (build-asdf-system { - pname = "websocket-driver-server"; - version = "20241012-git"; - asds = [ "websocket-driver-server" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; - sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; - system = "websocket-driver-server"; - asd = "websocket-driver-server"; - }); - systems = [ "websocket-driver-server" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "clack-socket" self) (getAttr "fast-io" self) (getAttr "fast-websocket" self) (getAttr "websocket-driver-base" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - weft = (build-asdf-system { - pname = "weft"; - version = "20180228-git"; - asds = [ "weft" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/weft/2018-02-28/weft-20180228-git.tgz"; - sha256 = "1ia38xcpp9g4v6sij99lyl9b8p59ysg2cj9k92nb683f8pzv9pl3"; - system = "weft"; - asd = "weft"; - }); - systems = [ "weft" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "log4cl" self) (getAttr "trivial-timeout" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - westbrook = (build-asdf-system { - pname = "westbrook"; - version = "20180131-git"; - asds = [ "westbrook" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/westbrook/2018-01-31/westbrook-20180131-git.tgz"; - sha256 = "08qs5lpg34d1mn6warrrq1wimyqqrjb8jih62g1pbysgni4ihm2v"; - system = "westbrook"; - asd = "westbrook"; - }); - systems = [ "westbrook" ]; - lispLibs = [ (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - westbrook-tests = (build-asdf-system { - pname = "westbrook-tests"; - version = "20180131-git"; - asds = [ "westbrook-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/westbrook/2018-01-31/westbrook-20180131-git.tgz"; - sha256 = "08qs5lpg34d1mn6warrrq1wimyqqrjb8jih62g1pbysgni4ihm2v"; - system = "westbrook-tests"; - asd = "westbrook-tests"; - }); - systems = [ "westbrook-tests" ]; - lispLibs = [ (getAttr "fiasco" self) (getAttr "westbrook" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - what3words = (build-asdf-system { - pname = "what3words"; - version = "20161204-git"; - asds = [ "what3words" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/what3words/2016-12-04/what3words-20161204-git.tgz"; - sha256 = "0nlrpi8phrf2mpgbw9bj9w4vksqb0baj542bhnq39sjalc8bj73r"; - system = "what3words"; - asd = "what3words"; - }); - systems = [ "what3words" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "drakma" self) (getAttr "jsown" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - whereiseveryone_dot_command-line-args = (build-asdf-system { - pname = "whereiseveryone.command-line-args"; - version = "20241012-git"; - asds = [ "whereiseveryone.command-line-args" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/whereiseveryone.command-line-args/2024-10-12/whereiseveryone.command-line-args-20241012-git.tgz"; - sha256 = "140xnz2v0v3hfg3dp2fhidw8ns6lxd3a5knm07wqdp48ksg119wy"; - system = "whereiseveryone.command-line-args"; - asd = "whereiseveryone.command-line-args"; - }); - systems = [ "whereiseveryone.command-line-args" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "charje_dot_documentation" self) (getAttr "serapeum" self) (getAttr "str" self) (getAttr "trivia" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - which = (build-asdf-system { - pname = "which"; - version = "20160421-git"; - asds = [ "which" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/which/2016-04-21/which-20160421-git.tgz"; - sha256 = "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk"; - system = "which"; - asd = "which"; - }); - systems = [ "which" ]; - lispLibs = [ (getAttr "cl-fad" self) (getAttr "path-parse" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - which-test = (build-asdf-system { - pname = "which-test"; - version = "20160421-git"; - asds = [ "which-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/which/2016-04-21/which-20160421-git.tgz"; - sha256 = "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk"; - system = "which-test"; - asd = "which-test"; - }); - systems = [ "which-test" ]; - lispLibs = [ (getAttr "fiveam" self) (getAttr "which" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - whirlog = (build-asdf-system { - pname = "whirlog"; - version = "20211020-git"; - asds = [ "whirlog" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/whirlog/2021-10-20/whirlog-20211020-git.tgz"; - sha256 = "0sf1kc8ln1gszzrz3qh3bx11k42lpccrv6kp2ihlrg3d6lsa6i26"; - system = "whirlog"; - asd = "whirlog"; - }); - systems = [ "whirlog" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - whofields = (build-asdf-system { - pname = "whofields"; - version = "20211020-git"; - asds = [ "whofields" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/whofields/2021-10-20/whofields-20211020-git.tgz"; - sha256 = "1scpzzfdw5g7qsayhznjyzns8lxx4fvv2jxd0vr9vnxad3vm977x"; - system = "whofields"; - asd = "whofields"; - }); - systems = [ "whofields" ]; - lispLibs = [ (getAttr "asdf-package-system" self) (getAttr "cl-who" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wilbur = (build-asdf-system { - pname = "wilbur"; - version = "20181210-git"; - asds = [ "wilbur" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/de.setf.wilbur/2018-12-10/de.setf.wilbur-20181210-git.tgz"; - sha256 = "0w4qssyarim4v64vv7jmspmyba7xghx9bkalyyhvccf6zrf7b2v7"; - system = "wilbur"; - asd = "wilbur"; - }); - systems = [ "wilbur" ]; - lispLibs = [ (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wild-package-inferred-system = (build-asdf-system { - pname = "wild-package-inferred-system"; - version = "20210531-git"; - asds = [ "wild-package-inferred-system" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz"; - sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80"; - system = "wild-package-inferred-system"; - asd = "wild-package-inferred-system"; - }); - systems = [ "wild-package-inferred-system" ]; - lispLibs = [ ]; - meta = {}; - }); - window = (build-asdf-system { - pname = "window"; - version = "20200427-git"; - asds = [ "window" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; - sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; - system = "window"; - asd = "window"; - }); - systems = [ "window" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bodge-glfw" self) (getAttr "cffi" self) (getAttr "trivial-features" self) (getAttr "utility" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - winhttp = (build-asdf-system { - pname = "winhttp"; - version = "20241012-git"; - asds = [ "winhttp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/winhttp/2024-10-12/winhttp-20241012-git.tgz"; - sha256 = "1g4prr0x2cyc58wcpa3kfiwcs9f536bzfmsnlwnh3yn9aqndg67c"; - system = "winhttp"; - asd = "winhttp"; - }); - systems = [ "winhttp" ]; - lispLibs = [ (getAttr "cffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - winlock = (build-asdf-system { - pname = "winlock"; - version = "20191130-git"; - asds = [ "winlock" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/winlock/2019-11-30/winlock-20191130-git.tgz"; - sha256 = "0sgjq1cjbmshnh2zwyqws7rkr93zkjl0rrzyf04542gb1grj0vd8"; - system = "winlock"; - asd = "winlock"; - }); - systems = [ "winlock" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "named-readtables" self) (getAttr "serapeum" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wire-world = (build-asdf-system { - pname = "wire-world"; - version = "master-fe503896-git"; - asds = [ "wire-world" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "wire-world"; - asd = "wire-world"; - }); - systems = [ "wire-world" ]; - lispLibs = [ (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-branching = (build-asdf-system { - pname = "with-branching"; - version = "20241012-git"; - asds = [ "with-branching" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-branching/2024-10-12/with-branching-20241012-git.tgz"; - sha256 = "0rhmlg1nbbhaa5jflhnydsqs7aqwg8d7ijxxcqa8lkcq49wvm647"; - system = "with-branching"; - asd = "with-branching"; - }); - systems = [ "with-branching" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-indent" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-c-syntax = (build-asdf-system { - pname = "with-c-syntax"; - version = "20221106-git"; - asds = [ "with-c-syntax" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-c-syntax/2022-11-06/with-c-syntax-20221106-git.tgz"; - sha256 = "12gdwdyxyl9xm8n04qvmvyc1s06dkckb87i6hdysal5lsf1gwc41"; - system = "with-c-syntax"; - asd = "with-c-syntax"; - }); - systems = [ "with-c-syntax" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-ppcre" self) (getAttr "float-features" self) (getAttr "floating-point-contractions" self) (getAttr "named-readtables" self) (getAttr "split-sequence" self) (getAttr "trivial-gray-streams" self) (getAttr "yacc" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-c-syntax-test = (build-asdf-system { - pname = "with-c-syntax-test"; - version = "20221106-git"; - asds = [ "with-c-syntax-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-c-syntax/2022-11-06/with-c-syntax-20221106-git.tgz"; - sha256 = "12gdwdyxyl9xm8n04qvmvyc1s06dkckb87i6hdysal5lsf1gwc41"; - system = "with-c-syntax-test"; - asd = "with-c-syntax-test"; - }); - systems = [ "with-c-syntax-test" ]; - lispLibs = [ (getAttr "_1am" self) (getAttr "floating-point" self) (getAttr "trivial-cltl2" self) (getAttr "with-c-syntax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-cached-reader-conditionals = (build-asdf-system { - pname = "with-cached-reader-conditionals"; - version = "20170630-git"; - asds = [ "with-cached-reader-conditionals" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-cached-reader-conditionals/2017-06-30/with-cached-reader-conditionals-20170630-git.tgz"; - sha256 = "0n7a089d0wb13l1nsdh3xlgwxwlqynkbjl8fg2x56h52a5i9gkv4"; - system = "with-cached-reader-conditionals"; - asd = "with-cached-reader-conditionals"; - }); - systems = [ "with-cached-reader-conditionals" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-contexts = (build-asdf-system { - pname = "with-contexts"; - version = "20241012-git"; - asds = [ "with-contexts" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-contexts/2024-10-12/with-contexts-20241012-git.tgz"; - sha256 = "1biz33wxg312zsmpyjqfcmq4vnixxz3g4hp9krc61977d5n4fxwj"; - system = "with-contexts"; - asd = "with-contexts"; - }); - systems = [ "with-contexts" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-output-to-stream = (build-asdf-system { - pname = "with-output-to-stream"; - version = "1.0"; - asds = [ "with-output-to-stream" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-output-to-stream/2019-10-07/with-output-to-stream_1.0.tgz"; - sha256 = "0pv9kccjbxkgcv7wbcfpnzas9pq0n2rs2aq9kdnqkx55k12366sm"; - system = "with-output-to-stream"; - asd = "with-output-to-stream"; - }); - systems = [ "with-output-to-stream" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-output-to-stream__tests = (build-asdf-system { - pname = "with-output-to-stream_tests"; - version = "1.0"; - asds = [ "with-output-to-stream_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-output-to-stream/2019-10-07/with-output-to-stream_1.0.tgz"; - sha256 = "0pv9kccjbxkgcv7wbcfpnzas9pq0n2rs2aq9kdnqkx55k12366sm"; - system = "with-output-to-stream_tests"; - asd = "with-output-to-stream_tests"; - }); - systems = [ "with-output-to-stream_tests" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "with-output-to-stream" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-setf = (build-asdf-system { - pname = "with-setf"; - version = "release-quicklisp-df3eed9d-git"; - asds = [ "with-setf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-setf/2018-02-28/with-setf-release-quicklisp-df3eed9d-git.tgz"; - sha256 = "090v39kdxk4py3axjrjjac2pn1p0109q14hvl818pik479xr4inz"; - system = "with-setf"; - asd = "with-setf"; - }); - systems = [ "with-setf" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-shadowed-bindings = (build-asdf-system { - pname = "with-shadowed-bindings"; - version = "1.0"; - asds = [ "with-shadowed-bindings" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-shadowed-bindings/2019-01-07/with-shadowed-bindings-1.0.tgz"; - sha256 = "0kxy86a21v4fm4xwd44c6kpdadgkcj8iv6a68xavhirhjhngcwy5"; - system = "with-shadowed-bindings"; - asd = "with-shadowed-bindings"; - }); - systems = [ "with-shadowed-bindings" ]; - lispLibs = [ (getAttr "map-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-shadowed-bindings__tests = (build-asdf-system { - pname = "with-shadowed-bindings_tests"; - version = "1.0"; - asds = [ "with-shadowed-bindings_tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-shadowed-bindings/2019-01-07/with-shadowed-bindings-1.0.tgz"; - sha256 = "0kxy86a21v4fm4xwd44c6kpdadgkcj8iv6a68xavhirhjhngcwy5"; - system = "with-shadowed-bindings_tests"; - asd = "with-shadowed-bindings_tests"; - }); - systems = [ "with-shadowed-bindings_tests" ]; - lispLibs = [ (getAttr "parachute" self) (getAttr "with-shadowed-bindings" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - with-user-abort = (build-asdf-system { - pname = "with-user-abort"; - version = "20230214-git"; - asds = [ "with-user-abort" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/with-user-abort/2023-02-14/with-user-abort-20230214-git.tgz"; - sha256 = "0yidlm92dk8kvz137zlm2f0d198kmgqpdswkinr2x4snbgkhd98j"; - system = "with-user-abort"; - asd = "with-user-abort"; - }); - systems = [ "with-user-abort" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - woo = (build-asdf-system { - pname = "woo"; - version = "20241012-git"; - asds = [ "woo" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/woo/2024-10-12/woo-20241012-git.tgz"; - sha256 = "0nhxlb1qhkl20vknm44gx0cq5cks33rcljczfhgbnmpkzrdpdrrl"; - system = "woo"; - asd = "woo"; - }); - systems = [ "woo" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "cl_plus_ssl" self) (getAttr "clack-socket" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "lev" self) (getAttr "quri" self) (getAttr "smart-buffer" self) (getAttr "static-vectors" self) (getAttr "swap-bytes" self) (getAttr "trivial-mimes" self) (getAttr "trivial-utf-8" self) (getAttr "vom" self) ]; - meta = {}; - }); - woo-test = (build-asdf-system { - pname = "woo-test"; - version = "20241012-git"; - asds = [ "woo-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/woo/2024-10-12/woo-20241012-git.tgz"; - sha256 = "0nhxlb1qhkl20vknm44gx0cq5cks33rcljczfhgbnmpkzrdpdrrl"; - system = "woo-test"; - asd = "woo-test"; - }); - systems = [ "woo-test" ]; - lispLibs = [ (getAttr "clack-test" self) (getAttr "rove" self) (getAttr "woo" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wookie = (build-asdf-system { - pname = "wookie"; - version = "20230214-git"; - asds = [ "wookie" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wookie/2023-02-14/wookie-20230214-git.tgz"; - sha256 = "1i5l9isahww9zwizj6dmdcplck8wr8gxm31i43i8hf3rfxmvfjwn"; - system = "wookie"; - asd = "wookie"; - }); - systems = [ "wookie" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "blackbird" self) (getAttr "chunga" self) (getAttr "cl-async" self) (getAttr "cl-async-ssl" self) (getAttr "cl-fad" self) (getAttr "cl-ppcre" self) (getAttr "do-urlencode" self) (getAttr "fast-http" self) (getAttr "fast-io" self) (getAttr "quri" self) (getAttr "vom" self) ]; - meta = {}; - }); - wordnet = (build-asdf-system { - pname = "wordnet"; - version = "20220220-git"; - asds = [ "wordnet" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wordnet/2022-02-20/wordnet-20220220-git.tgz"; - sha256 = "07p60k295fsfcp0gmkqhrxd68hb38aqva8f4k8xk8bqqxxf42vkq"; - system = "wordnet"; - asd = "wordnet"; - }); - systems = [ "wordnet" ]; - lispLibs = [ (getAttr "split-sequence" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - workout-timer = (build-asdf-system { - pname = "workout-timer"; - version = "20230214-git"; - asds = [ "workout-timer" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/workout-timer/2023-02-14/workout-timer-20230214-git.tgz"; - sha256 = "1f8qj6la93k95xqkliv59r6dkyhyhzqp2zgk0s893a3mrar0gfrx"; - system = "workout-timer"; - asd = "workout-timer"; - }); - systems = [ "workout-timer" ]; - lispLibs = [ (getAttr "cffi-toolchain" self) (getAttr "command-line-arguments" self) (getAttr "local-time" self) (getAttr "mixalot" self) (getAttr "mixalot-vorbis" self) (getAttr "vorbisfile-ffi" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wu-decimal = (build-asdf-system { - pname = "wu-decimal"; - version = "20130128-git"; - asds = [ "wu-decimal" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wu-decimal/2013-01-28/wu-decimal-20130128-git.tgz"; - sha256 = "1p7na4hic7297amwm4idfwkyx664ny8cdssncyra37pmv4wzp8dm"; - system = "wu-decimal"; - asd = "wu-decimal"; - }); - systems = [ "wu-decimal" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wu-sugar = (build-asdf-system { - pname = "wu-sugar"; - version = "20160825-git"; - asds = [ "wu-sugar" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wu-sugar/2016-08-25/wu-sugar-20160825-git.tgz"; - sha256 = "0ypn5195krfd1rva5myla8j7n2ilfs5gxh81flx7v0mr4r70fayl"; - system = "wu-sugar"; - asd = "wu-sugar"; - }); - systems = [ "wu-sugar" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wuwei = (build-asdf-system { - pname = "wuwei"; - version = "20221106-git"; - asds = [ "wuwei" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wuwei/2022-11-06/wuwei-20221106-git.tgz"; - sha256 = "1k5yhxdqcx250kd56qgbch5z0hvjpjwch38c3949nf790pmrhl8f"; - system = "wuwei"; - asd = "wuwei"; - }); - systems = [ "wuwei" ]; - lispLibs = [ (getAttr "aserve" self) (getAttr "cl-json" self) (getAttr "drakma" self) (getAttr "ironclad" self) (getAttr "mtlisp" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - wuwei-examples = (build-asdf-system { - pname = "wuwei-examples"; - version = "20221106-git"; - asds = [ "wuwei-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/wuwei/2022-11-06/wuwei-20221106-git.tgz"; - sha256 = "1k5yhxdqcx250kd56qgbch5z0hvjpjwch38c3949nf790pmrhl8f"; - system = "wuwei-examples"; - asd = "wuwei"; - }); - systems = [ "wuwei-examples" ]; - lispLibs = [ (getAttr "drakma" self) (getAttr "wuwei" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - x_dot_let-star = (build-asdf-system { - pname = "x.let-star"; - version = "20200325-git"; - asds = [ "x.let-star" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/x.let-star/2020-03-25/x.let-star-20200325-git.tgz"; - sha256 = "0qk0rpqzb7vaivggsqch06nmdjzp6b31a88w40y3864clajpcrnr"; - system = "x.let-star"; - asd = "x.let-star"; - }); - systems = [ "x.let-star" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xarray = (build-asdf-system { - pname = "xarray"; - version = "20140113-git"; - asds = [ "xarray" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xarray/2014-01-13/xarray-20140113-git.tgz"; - sha256 = "031h1bvy9s6qas2160dgf7gc0y6inrhpzp8j3wrb6fjxkb0524yl"; - system = "xarray"; - asd = "xarray"; - }); - systems = [ "xarray" ]; - lispLibs = [ (getAttr "anaphora" self) (getAttr "cl-utilities" self) (getAttr "iterate" self) (getAttr "metabang-bind" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xarray-test = (build-asdf-system { - pname = "xarray-test"; - version = "20140113-git"; - asds = [ "xarray-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xarray/2014-01-13/xarray-20140113-git.tgz"; - sha256 = "031h1bvy9s6qas2160dgf7gc0y6inrhpzp8j3wrb6fjxkb0524yl"; - system = "xarray-test"; - asd = "xarray-test"; - }); - systems = [ "xarray-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "xarray" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xcat = (build-asdf-system { - pname = "xcat"; - version = "20200925-git"; - asds = [ "xcat" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xcat/2020-09-25/xcat-20200925-git.tgz"; - sha256 = "1v8mcz8bidcbfl587b5lm07l91xan6z1y3zikjkyzagiigd4byvi"; - system = "xcat"; - asd = "xcat"; - }); - systems = [ "xcat" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "flexi-streams" self) (getAttr "log4cl" self) (getAttr "trivial-features" self) (getAttr "trivial-garbage" self) (getAttr "usocket-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xecto = (build-asdf-system { - pname = "xecto"; - version = "20151218-git"; - asds = [ "xecto" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xecto/2015-12-18/xecto-20151218-git.tgz"; - sha256 = "1m81cl02k28v9sgscl8qhig735x5qybhw69szs6bkkqml7hbl12q"; - system = "xecto"; - asd = "xecto"; - }); - systems = [ "xecto" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xembed = (build-asdf-system { - pname = "xembed"; - version = "20191130-git"; - asds = [ "xembed" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clx-xembed/2019-11-30/clx-xembed-20191130-git.tgz"; - sha256 = "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"; - system = "xembed"; - asd = "xembed"; - }); - systems = [ "xembed" ]; - lispLibs = [ (getAttr "clx" self) ]; - meta = {}; - }); - xfactory = (build-asdf-system { - pname = "xfactory"; - version = "20130615-git"; - asds = [ "xfactory" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; - sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; - system = "xfactory"; - asd = "xfactory"; - }); - systems = [ "xfactory" ]; - lispLibs = [ (getAttr "cl-libxml2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xfactory-test = (build-asdf-system { - pname = "xfactory-test"; - version = "20130615-git"; - asds = [ "xfactory-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; - sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; - system = "xfactory-test"; - asd = "xfactory"; - }); - systems = [ "xfactory-test" ]; - lispLibs = [ (getAttr "lift" self) (getAttr "xfactory" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xhtmlambda = (build-asdf-system { - pname = "xhtmlambda"; - version = "20241012-git"; - asds = [ "xhtmlambda" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xhtmlambda/2024-10-12/xhtmlambda-20241012-git.tgz"; - sha256 = "1xqwps5lr66lhqiczvccxrpy8kff15fx6qr9nh1i65wi4p68i1bb"; - system = "xhtmlambda"; - asd = "xhtmlambda"; - }); - systems = [ "xhtmlambda" ]; - lispLibs = [ (getAttr "cl-unicode" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xhtmlgen = (build-asdf-system { - pname = "xhtmlgen"; - version = "20170124-git"; - asds = [ "xhtmlgen" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xhtmlgen/2017-01-24/xhtmlgen-20170124-git.tgz"; - sha256 = "0br4pqhl7y7rd95l9xx2p96gds3dh4pgk9v038wbshl2dnhjv82k"; - system = "xhtmlgen"; - asd = "xhtmlgen"; - }); - systems = [ "xhtmlgen" ]; - lispLibs = [ (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xhtmlgen-test = (build-asdf-system { - pname = "xhtmlgen-test"; - version = "20170124-git"; - asds = [ "xhtmlgen-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xhtmlgen/2017-01-24/xhtmlgen-20170124-git.tgz"; - sha256 = "0br4pqhl7y7rd95l9xx2p96gds3dh4pgk9v038wbshl2dnhjv82k"; - system = "xhtmlgen-test"; - asd = "xhtmlgen"; - }); - systems = [ "xhtmlgen-test" ]; - lispLibs = [ (getAttr "rt" self) (getAttr "xhtmlgen" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xkeyboard = (build-asdf-system { - pname = "xkeyboard"; - version = "20120811-git"; - asds = [ "xkeyboard" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz"; - sha256 = "1nxky9wsmm7nmwz372jgb4iy0ywlm22jw0vl8yi0k9slsfklvcqi"; - system = "xkeyboard"; - asd = "xkeyboard"; - }); - systems = [ "xkeyboard" ]; - lispLibs = [ (getAttr "clx" self) ]; - meta = {}; - }); - xkeyboard-test = (build-asdf-system { - pname = "xkeyboard-test"; - version = "20120811-git"; - asds = [ "xkeyboard-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz"; - sha256 = "1nxky9wsmm7nmwz372jgb4iy0ywlm22jw0vl8yi0k9slsfklvcqi"; - system = "xkeyboard-test"; - asd = "xkeyboard"; - }); - systems = [ "xkeyboard-test" ]; - lispLibs = [ (getAttr "xkeyboard" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xlsx = (build-asdf-system { - pname = "xlsx"; - version = "20180711-git"; - asds = [ "xlsx" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xlsx/2018-07-11/xlsx-20180711-git.tgz"; - sha256 = "15vw5zl13jg9b1rla7w2wv6ss93mijrnn9fzsh0fakgvfikqq1n6"; - system = "xlsx"; - asd = "xlsx"; - }); - systems = [ "xlsx" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "xmls" self) (getAttr "zip" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xlunit = (build-asdf-system { - pname = "xlunit"; - version = "20150923-git"; - asds = [ "xlunit" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xlunit/2015-09-23/xlunit-20150923-git.tgz"; - sha256 = "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"; - system = "xlunit"; - asd = "xlunit"; - }); - systems = [ "xlunit" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xlunit-tests = (build-asdf-system { - pname = "xlunit-tests"; - version = "20150923-git"; - asds = [ "xlunit-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xlunit/2015-09-23/xlunit-20150923-git.tgz"; - sha256 = "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"; - system = "xlunit-tests"; - asd = "xlunit"; - }); - systems = [ "xlunit-tests" ]; - lispLibs = [ (getAttr "xlunit" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xml-emitter = (build-asdf-system { - pname = "xml-emitter"; - version = "20241012-git"; - asds = [ "xml-emitter" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xml-emitter/2024-10-12/xml-emitter-20241012-git.tgz"; - sha256 = "1q7iygd1v857a3c72kv4zxm9nhx94kkam4p8z5v10q2r2cwfps1w"; - system = "xml-emitter"; - asd = "xml-emitter"; - }); - systems = [ "xml-emitter" ]; - lispLibs = [ (getAttr "cl-utilities" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xml-mop = (build-asdf-system { - pname = "xml-mop"; - version = "20110418-git"; - asds = [ "xml-mop" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xml-mop/2011-04-18/xml-mop-20110418-git.tgz"; - sha256 = "1vfa3h5dghnpc7qbqqm80mm1ri6x7x5r528kvkwzngghrbxyhgjr"; - system = "xml-mop"; - asd = "xml-mop"; - }); - systems = [ "xml-mop" ]; - lispLibs = [ (getAttr "closer-mop" self) (getAttr "s-xml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xml-render = (build-asdf-system { - pname = "xml-render"; - version = "20210531-git"; - asds = [ "xml-render" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz"; - sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"; - system = "xml-render"; - asd = "xml-render"; - }); - systems = [ "xml-render" ]; - lispLibs = [ (getAttr "cl-typesetting" self) (getAttr "xmls" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xml_dot_location = (build-asdf-system { - pname = "xml.location"; - version = "20200325-git"; - asds = [ "xml.location" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz"; - sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii"; - system = "xml.location"; - asd = "xml.location"; - }); - systems = [ "xml.location" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "closer-mop" self) (getAttr "cxml-stp" self) (getAttr "iterate" self) (getAttr "let-plus" self) (getAttr "more-conditions" self) (getAttr "split-sequence" self) (getAttr "xpath" self) ]; - meta = {}; - }); - xml_dot_location-and-local-time = (build-asdf-system { - pname = "xml.location-and-local-time"; - version = "20200325-git"; - asds = [ "xml.location-and-local-time" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz"; - sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii"; - system = "xml.location-and-local-time"; - asd = "xml.location-and-local-time"; - }); - systems = [ "xml.location-and-local-time" ]; - lispLibs = [ (getAttr "local-time" self) (getAttr "xml_dot_location" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xmls = (build-asdf-system { - pname = "xmls"; - version = "release-310ba849-git"; - asds = [ "xmls" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xmls/2023-10-21/xmls-release-310ba849-git.tgz"; - sha256 = "0s1acd2r77v6x9f2kmd15njkmvvx3ivivlk509ndgmdhnn2jd776"; - system = "xmls"; - asd = "xmls"; - }); - systems = [ "xmls" ]; - lispLibs = [ ]; - meta = {}; - }); - xoverlay = (build-asdf-system { - pname = "xoverlay"; - version = "20130615-git"; - asds = [ "xoverlay" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; - sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; - system = "xoverlay"; - asd = "xoverlay"; - }); - systems = [ "xoverlay" ]; - lispLibs = [ (getAttr "cl-libxml2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xpath = (build-asdf-system { - pname = "xpath"; - version = "20190521-git"; - asds = [ "xpath" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/plexippus-xpath/2019-05-21/plexippus-xpath-20190521-git.tgz"; - sha256 = "1fb03fgnzrvh22lw1jdg04pmyja5fib5n42rzwp5mhr829yvxkvp"; - system = "xpath"; - asd = "xpath"; - }); - systems = [ "xpath" ]; - lispLibs = [ (getAttr "cl-ppcre" self) (getAttr "cxml" self) (getAttr "parse-number" self) (getAttr "yacc" self) ]; - meta = {}; - }); - xptest = (build-asdf-system { - pname = "xptest"; - version = "20150923-git"; - asds = [ "xptest" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xptest/2015-09-23/xptest-20150923-git.tgz"; - sha256 = "02jwncq5d60l77gf87ahabzg6k6c878gfc4x1mf6ld97rj5lzp3b"; - system = "xptest"; - asd = "xptest"; - }); - systems = [ "xptest" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xsubseq = (build-asdf-system { - pname = "xsubseq"; - version = "20170830-git"; - asds = [ "xsubseq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xsubseq/2017-08-30/xsubseq-20170830-git.tgz"; - sha256 = "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"; - system = "xsubseq"; - asd = "xsubseq"; - }); - systems = [ "xsubseq" ]; - lispLibs = [ ]; - meta = {}; - }); - xsubseq-test = (build-asdf-system { - pname = "xsubseq-test"; - version = "20170830-git"; - asds = [ "xsubseq-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xsubseq/2017-08-30/xsubseq-20170830-git.tgz"; - sha256 = "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"; - system = "xsubseq-test"; - asd = "xsubseq-test"; - }); - systems = [ "xsubseq-test" ]; - lispLibs = [ (getAttr "prove" self) (getAttr "prove-asdf" self) (getAttr "xsubseq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - xuriella = (build-asdf-system { - pname = "xuriella"; - version = "20120305-git"; - asds = [ "xuriella" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/xuriella/2012-03-05/xuriella-20120305-git.tgz"; - sha256 = "0wz98bfvr7h7g0r7dy815brq5sz3x40281hp0qk801q17aa4qhqh"; - system = "xuriella"; - asd = "xuriella"; - }); - systems = [ "xuriella" ]; - lispLibs = [ (getAttr "closure-html" self) (getAttr "cxml" self) (getAttr "cxml-stp" self) (getAttr "split-sequence" self) (getAttr "xpath" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - yacc = (build-asdf-system { - pname = "yacc"; - version = "20230214-git"; - asds = [ "yacc" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yacc/2023-02-14/cl-yacc-20230214-git.tgz"; - sha256 = "1f974ysi7mlrksnqg63iwwxgbypkng4n240q29imkrz6m5pwdig7"; - system = "yacc"; - asd = "yacc"; - }); - systems = [ "yacc" ]; - lispLibs = [ ]; - meta = {}; - }); - yaclml = (build-asdf-system { - pname = "yaclml"; - version = "20180131-git"; - asds = [ "yaclml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/yaclml/2018-01-31/yaclml-20180131-git.tgz"; - sha256 = "0wq6clk4qwbdaf0hcfjz4vg27nyf6ng0rrip1ay4rlkb03hdnssq"; - system = "yaclml"; - asd = "yaclml"; - }); - systems = [ "yaclml" ]; - lispLibs = [ (getAttr "arnesi" self) (getAttr "iterate" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - yadd = (build-asdf-system { - pname = "yadd"; - version = "master-fe503896-git"; - asds = [ "yadd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; - sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; - system = "yadd"; - asd = "yadd"; - }); - systems = [ "yadd" ]; - lispLibs = [ (getAttr "cl-html-parse" self) (getAttr "gwl-graphics" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - yah = (build-asdf-system { - pname = "yah"; - version = "20231021-git"; - asds = [ "yah" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/yah/2023-10-21/yah-20231021-git.tgz"; - sha256 = "1sklx9ak2rh9h19805i9wbym889pwd1qh3d4c4fsk9cbj2i9yxx5"; - system = "yah"; - asd = "yah"; - }); - systems = [ "yah" ]; - lispLibs = [ (getAttr "mgl-pax" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - yason = (build-asdf-system { - pname = "yason"; - version = "20241012-git"; - asds = [ "yason" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/yason/2024-10-12/yason-20241012-git.tgz"; - sha256 = "00hqii9n6ay5cq1ahbqpnw3l3v0mmz5s1f9kn6l35g8zxj1nlpa7"; - system = "yason"; - asd = "yason"; - }); - systems = [ "yason" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "trivial-gray-streams" self) ]; - meta = {}; - }); - yason-tests = (build-asdf-system { - pname = "yason-tests"; - version = "20241012-git"; - asds = [ "yason-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/yason/2024-10-12/yason-20241012-git.tgz"; - sha256 = "00hqii9n6ay5cq1ahbqpnw3l3v0mmz5s1f9kn6l35g8zxj1nlpa7"; - system = "yason-tests"; - asd = "yason-tests"; - }); - systems = [ "yason-tests" ]; - lispLibs = [ (getAttr "unit-test" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - youtube = (build-asdf-system { - pname = "youtube"; - version = "20191227-git"; - asds = [ "youtube" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/youtube/2019-12-27/youtube-20191227-git.tgz"; - sha256 = "0rqbyxgb9v3m8rwx2agaz7cq83w9k8gy5wl5wbw0rfg7r88ah5z0"; - system = "youtube"; - asd = "youtube"; - }); - systems = [ "youtube" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "cl-ppcre" self) (getAttr "yason" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - yxorp = (build-asdf-system { - pname = "yxorp"; - version = "20231021-git"; - asds = [ "yxorp" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-yxorp/2023-10-21/cl-yxorp-20231021-git.tgz"; - sha256 = "0l84icr1d3z2k6rs92lgkghwqm6w3i87d1sz4c8mpfcyfb5shgzn"; - system = "yxorp"; - asd = "yxorp"; - }); - systems = [ "yxorp" ]; - lispLibs = [ (getAttr "binding-arrows" self) (getAttr "chipz" self) (getAttr "chunga" self) (getAttr "cl_plus_ssl" self) (getAttr "flexi-streams" self) (getAttr "rutils" self) (getAttr "salza2" self) (getAttr "smart-buffer" self) (getAttr "str" self) (getAttr "trivial-garbage" self) (getAttr "usocket" self) (getAttr "usocket-server" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zacl = (build-asdf-system { - pname = "zacl"; - version = "20230618-git"; - asds = [ "zacl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zacl/2023-06-18/zacl-20230618-git.tgz"; - sha256 = "1s31d47zx8hczim78zrqzg4bvj4bshj31gmrff065q6racx3q1dk"; - system = "zacl"; - asd = "zacl"; - }); - systems = [ "zacl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "atomics" self) (getAttr "babel-streams" self) (getAttr "bordeaux-threads" self) (getAttr "cl_plus_ssl" self) (getAttr "cl-base64" self) (getAttr "cl-ppcre" self) (getAttr "cl-store" self) (getAttr "local-time" self) (getAttr "md5" self) (getAttr "queues_dot_simple-queue" self) (getAttr "quri" self) (getAttr "setup-cl_plus_ssl" self) (getAttr "split-sequence" self) (getAttr "trivial-backtrace" self) (getAttr "trivial-garbage" self) (getAttr "usocket" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zaserve = (build-asdf-system { - pname = "zaserve"; - version = "20230618-git"; - asds = [ "zaserve" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/aserve/2023-06-18/aserve-20230618-git.tgz"; - sha256 = "1i88264yghlb4brdh58hn9cps695gh63b6w6i8dmsd9rqwhlsibi"; - system = "zaserve"; - asd = "zaserve"; - }); - systems = [ "zaserve" ]; - lispLibs = [ (getAttr "setup-cl_plus_ssl" self) (getAttr "zacl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zaws = (build-asdf-system { - pname = "zaws"; - version = "20150407-git"; - asds = [ "zaws" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zaws/2015-04-07/zaws-20150407-git.tgz"; - sha256 = "1iwjyqzm4b44in7i53z5lp8n4gzsi27ch02ql6y2vxbmq3sqffaw"; - system = "zaws"; - asd = "zaws"; - }); - systems = [ "zaws" ]; - lispLibs = [ (getAttr "cl-base64" self) (getAttr "drakma" self) (getAttr "flexi-streams" self) (getAttr "ironclad" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zaws-xml = (build-asdf-system { - pname = "zaws-xml"; - version = "20150407-git"; - asds = [ "zaws-xml" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zaws/2015-04-07/zaws-20150407-git.tgz"; - sha256 = "1iwjyqzm4b44in7i53z5lp8n4gzsi27ch02ql6y2vxbmq3sqffaw"; - system = "zaws-xml"; - asd = "zaws-xml"; - }); - systems = [ "zaws-xml" ]; - lispLibs = [ (getAttr "cxml" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zbucium = (build-asdf-system { - pname = "zbucium"; - version = "20190710-git"; - asds = [ "zbucium" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zbucium/2019-07-10/zbucium-20190710-git.tgz"; - sha256 = "112qx8lwcsaipnnypv2jr57lwhlgzb5n53wgck3r66b8vjjb91gy"; - system = "zbucium"; - asd = "zbucium"; - }); - systems = [ "zbucium" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "bordeaux-threads" self) (getAttr "drakma" self) (getAttr "fare-memoization" self) (getAttr "generators" self) (getAttr "lastfm" self) (getAttr "local-time" self) (getAttr "lquery" self) (getAttr "lyrics" self) (getAttr "plump" self) (getAttr "yason" self) (getAttr "youtube" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zcdb = (build-asdf-system { - pname = "zcdb"; - version = "1.0.4"; - asds = [ "zcdb" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zcdb/2015-04-07/zcdb-1.0.4.tgz"; - sha256 = "1g83hqivh40xrpifm9v1vx92h13g5kzn12fjrlk57fyl1qwjqdi7"; - system = "zcdb"; - asd = "zcdb"; - }); - systems = [ "zcdb" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zenekindarl = (build-asdf-system { - pname = "zenekindarl"; - version = "20171130-git"; - asds = [ "zenekindarl" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zenekindarl/2017-11-30/zenekindarl-20171130-git.tgz"; - sha256 = "104y98j8fjj4wry55mhgv3g6358h5n1qcbhpn19b27b8cs8gqwib"; - system = "zenekindarl"; - asd = "zenekindarl"; - }); - systems = [ "zenekindarl" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "anaphora" self) (getAttr "babel" self) (getAttr "cl-annot" self) (getAttr "cl-ppcre" self) (getAttr "fast-io" self) (getAttr "html-encode" self) (getAttr "maxpc" self) (getAttr "optima" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zenekindarl-test = (build-asdf-system { - pname = "zenekindarl-test"; - version = "20171130-git"; - asds = [ "zenekindarl-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zenekindarl/2017-11-30/zenekindarl-20171130-git.tgz"; - sha256 = "104y98j8fjj4wry55mhgv3g6358h5n1qcbhpn19b27b8cs8gqwib"; - system = "zenekindarl-test"; - asd = "zenekindarl-test"; - }); - systems = [ "zenekindarl-test" ]; - lispLibs = [ (getAttr "flexi-streams" self) (getAttr "prove" self) (getAttr "zenekindarl" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zeromq = (build-asdf-system { - pname = "zeromq"; - version = "20160318-git"; - asds = [ "zeromq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zmq/2016-03-18/cl-zmq-20160318-git.tgz"; - sha256 = "0g19ych3n57qdd42m0bcdcrq8c1p0fqzz07xrxl0s0g8bms3a3ga"; - system = "zeromq"; - asd = "zeromq"; - }); - systems = [ "zeromq" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zeromq_dot_tests = (build-asdf-system { - pname = "zeromq.tests"; - version = "20160318-git"; - asds = [ "zeromq.tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zmq/2016-03-18/cl-zmq-20160318-git.tgz"; - sha256 = "0g19ych3n57qdd42m0bcdcrq8c1p0fqzz07xrxl0s0g8bms3a3ga"; - system = "zeromq.tests"; - asd = "zeromq"; - }); - systems = [ "zeromq.tests" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "fiveam" self) (getAttr "zeromq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zip = (build-asdf-system { - pname = "zip"; - version = "20150608-git"; - asds = [ "zip" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zip/2015-06-08/zip-20150608-git.tgz"; - sha256 = "0s08a6fq182fzsbfyvihqbdllq6gxcwkvphxnrd9wwz65dhg5y66"; - system = "zip"; - asd = "zip"; - }); - systems = [ "zip" ]; - lispLibs = [ (getAttr "babel" self) (getAttr "cl-fad" self) (getAttr "salza2" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zippy = (build-asdf-system { - pname = "zippy"; - version = "20241012-git"; - asds = [ "zippy" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zippy/2024-10-12/zippy-20241012-git.tgz"; - sha256 = "06znhzi4zjg2p2858cwnlslqvx28zlmqr9jqij0rkvnn7ysa7qcg"; - system = "zippy"; - asd = "zippy"; - }); - systems = [ "zippy" ]; - lispLibs = [ (getAttr "_3bz" self) (getAttr "alexandria" self) (getAttr "babel" self) (getAttr "documentation-utils" self) (getAttr "file-attributes" self) (getAttr "filesystem-utils" self) (getAttr "nibbles" self) (getAttr "pathname-utils" self) (getAttr "salza2" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zippy-dwim = (build-asdf-system { - pname = "zippy-dwim"; - version = "20241012-git"; - asds = [ "zippy-dwim" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zippy/2024-10-12/zippy-20241012-git.tgz"; - sha256 = "06znhzi4zjg2p2858cwnlslqvx28zlmqr9jqij0rkvnn7ysa7qcg"; - system = "zippy-dwim"; - asd = "zippy-dwim"; - }); - systems = [ "zippy-dwim" ]; - lispLibs = [ (getAttr "deploy" self) (getAttr "zippy" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - ziz = (build-asdf-system { - pname = "ziz"; - version = "20191007-git"; - asds = [ "ziz" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/ziz/2019-10-07/ziz-20191007-git.tgz"; - sha256 = "1rh6ixkyyj7y9jkw046m4ilmr8a12ylzm0a7sm8mjybdpkh6bk30"; - system = "ziz"; - asd = "ziz"; - }); - systems = [ "ziz" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "hunchentoot" self) (getAttr "ironclad" self) (getAttr "trivial-file-size" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zlib = (build-asdf-system { - pname = "zlib"; - version = "20170403-git"; - asds = [ "zlib" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zlib/2017-04-03/zlib-20170403-git.tgz"; - sha256 = "1gz771h2q3xhw1yxpwki5zr9mqysa818vn21501w6fsi8wlmlffa"; - system = "zlib"; - asd = "zlib"; - }); - systems = [ "zlib" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zmq = (build-asdf-system { - pname = "zmq"; - version = "20200218-git"; - asds = [ "zmq" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz"; - sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld"; - system = "zmq"; - asd = "zmq"; - }); - systems = [ "zmq" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivial-features" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zmq-examples = (build-asdf-system { - pname = "zmq-examples"; - version = "20200218-git"; - asds = [ "zmq-examples" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz"; - sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld"; - system = "zmq-examples"; - asd = "zmq-examples"; - }); - systems = [ "zmq-examples" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "zmq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zmq-test = (build-asdf-system { - pname = "zmq-test"; - version = "20200218-git"; - asds = [ "zmq-test" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz"; - sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld"; - system = "zmq-test"; - asd = "zmq-test"; - }); - systems = [ "zmq-test" ]; - lispLibs = [ (getAttr "bordeaux-threads" self) (getAttr "fiveam" self) (getAttr "zmq" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zpb-exif = (build-asdf-system { - pname = "zpb-exif"; - version = "release-1.2.5"; - asds = [ "zpb-exif" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zpb-exif/2021-01-24/zpb-exif-release-1.2.5.tgz"; - sha256 = "0h1n36lfl8xn8rfyl5jxz9m8zlg0if2avmryas79f684yczrvdnd"; - system = "zpb-exif"; - asd = "zpb-exif"; - }); - systems = [ "zpb-exif" ]; - lispLibs = [ ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zpb-ttf = (build-asdf-system { - pname = "zpb-ttf"; - version = "release-1.0.7"; - asds = [ "zpb-ttf" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zpb-ttf/2024-10-12/zpb-ttf-release-1.0.7.tgz"; - sha256 = "04lph7i153zlswvpgg76fxazyswj8j0idqm4ysn8qmflb7xcvd78"; - system = "zpb-ttf"; - asd = "zpb-ttf"; - }); - systems = [ "zpb-ttf" ]; - lispLibs = [ ]; - meta = {}; - }); - zpng = (build-asdf-system { - pname = "zpng"; - version = "1.2.2"; - asds = [ "zpng" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zpng/2015-04-07/zpng-1.2.2.tgz"; - sha256 = "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"; - system = "zpng"; - asd = "zpng"; - }); - systems = [ "zpng" ]; - lispLibs = [ (getAttr "salza2" self) ]; - meta = {}; - }); - zs3 = (build-asdf-system { - pname = "zs3"; - version = "1.3.3"; - asds = [ "zs3" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zs3/2019-10-07/zs3-1.3.3.tgz"; - sha256 = "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"; - system = "zs3"; - asd = "zs3"; - }); - systems = [ "zs3" ]; - lispLibs = [ (getAttr "alexandria" self) (getAttr "cl-base64" self) (getAttr "cxml" self) (getAttr "drakma" self) (getAttr "ironclad" self) (getAttr "puri" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zsort = (build-asdf-system { - pname = "zsort"; - version = "20120520-git"; - asds = [ "zsort" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/zsort/2012-05-20/zsort-20120520-git.tgz"; - sha256 = "1vyklyh99712zsll4qi0m4mm8yb1nz04403vl8i57bjv5p5max49"; - system = "zsort"; - asd = "zsort"; - }); - systems = [ "zsort" ]; - lispLibs = [ (getAttr "alexandria" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zstd = (build-asdf-system { - pname = "zstd"; - version = "20230618-git"; - asds = [ "zstd" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zstd/2023-06-18/cl-zstd-20230618-git.tgz"; - sha256 = "037igr1v849smcs6svjb5s850k5s5yfg74d4gb3ir4b4v9g4k97i"; - system = "zstd"; - asd = "zstd"; - }); - systems = [ "zstd" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cl-octet-streams" self) (getAttr "trivial-gray-streams" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zstd-tests = (build-asdf-system { - pname = "zstd-tests"; - version = "20230618-git"; - asds = [ "zstd-tests" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zstd/2023-06-18/cl-zstd-20230618-git.tgz"; - sha256 = "037igr1v849smcs6svjb5s850k5s5yfg74d4gb3ir4b4v9g4k97i"; - system = "zstd-tests"; - asd = "zstd-tests"; - }); - systems = [ "zstd-tests" ]; - lispLibs = [ (getAttr "cl-octet-streams" self) (getAttr "fiveam" self) (getAttr "zstd" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); - zyre = (build-asdf-system { - pname = "zyre"; - version = "20200925-git"; - asds = [ "zyre" ]; - src = (createAsd { - url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz"; - sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv"; - system = "zyre"; - asd = "zyre"; - }); - systems = [ "zyre" ]; - lispLibs = [ (getAttr "cffi" self) (getAttr "cffi-grovel" self) (getAttr "trivia" self) (getAttr "trivial-garbage" self) ]; - meta = { - hydraPlatforms = [ ]; - }; - }); + # Ensures that every non-slashy `system` exists in a unique .asd file. + # (Think cl-async-base being declared in cl-async.asd upstream) + # + # This is required because we're building and loading a system called + # `system`, not `asd`, so otherwise `system` would not be loadable + # without building and loading `asd` first. + # + createAsd = + { + url, + sha256, + asd, + system, + }: + let + src = fetchzip { inherit url sha256; }; + in + if asd == system then + src + else + runCommand "source" { } '' + mkdir -pv $out + cp -r ${src}/* $out + find $out -name "${asd}.asd" | while read f; do mv -fv $f $(dirname $f)/${system}.asd || true; done + ''; +in +lib.makeScope pkgs.newScope (self: { + _1am = ( + build-asdf-system { + pname = "1am"; + version = "20141106-git"; + asds = [ "1am" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/1am/2014-11-06/1am-20141106-git.tgz"; + sha256 = "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"; + system = "1am"; + asd = "1am"; + } + ); + systems = [ "1am" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _2d-array = ( + build-asdf-system { + pname = "2d-array"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "2d-array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "2d-array"; + asd = "2d-array"; + } + ); + systems = [ "2d-array" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _2d-array-test = ( + build-asdf-system { + pname = "2d-array-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "2d-array-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "2d-array-test"; + asd = "2d-array-test"; + } + ); + systems = [ "2d-array-test" ]; + lispLibs = [ + (getAttr "_2d-array" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3b-bmfont = ( + build-asdf-system { + pname = "3b-bmfont"; + version = "20241012-git"; + asds = [ "3b-bmfont" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3b-bmfont/2024-10-12/3b-bmfont-20241012-git.tgz"; + sha256 = "1zmkmhw8ma2j8p6crw0x6am6fx95rxkb1n3fqlgvs2rxdk273dan"; + system = "3b-bmfont"; + asd = "3b-bmfont"; + } + ); + systems = [ "3b-bmfont" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3b-hdr = ( + build-asdf-system { + pname = "3b-hdr"; + version = "20200925-git"; + asds = [ "3b-hdr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3b-hdr/2020-09-25/3b-hdr-20200925-git.tgz"; + sha256 = "0bvpdzz88xjwvqapjnkdr44ds3gh5xl3r6r1c2y7x9d6lnvc38jq"; + system = "3b-hdr"; + asd = "3b-hdr"; + } + ); + systems = [ "3b-hdr" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3b-swf = ( + build-asdf-system { + pname = "3b-swf"; + version = "20120107-git"; + asds = [ "3b-swf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3b-swf/2012-01-07/3b-swf-20120107-git.tgz"; + sha256 = "1d74045b6zfxjf0as8n5ji14j5cxsdi3qkqkzcdy3i83whbxkcbm"; + system = "3b-swf"; + asd = "3b-swf"; + } + ); + systems = [ "3b-swf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "chipz" self) + (getAttr "cl-jpeg" self) + (getAttr "cxml" self) + (getAttr "flexi-streams" self) + (getAttr "ieee-floats" self) + (getAttr "salza2" self) + (getAttr "vecto" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3b-swf-swc = ( + build-asdf-system { + pname = "3b-swf-swc"; + version = "20120107-git"; + asds = [ "3b-swf-swc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3b-swf/2012-01-07/3b-swf-20120107-git.tgz"; + sha256 = "1d74045b6zfxjf0as8n5ji14j5cxsdi3qkqkzcdy3i83whbxkcbm"; + system = "3b-swf-swc"; + asd = "3b-swf-swc"; + } + ); + systems = [ "3b-swf-swc" ]; + lispLibs = [ + (getAttr "_3b-swf" self) + (getAttr "cxml" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bgl-shader = ( + build-asdf-system { + pname = "3bgl-shader"; + version = "20241012-git"; + asds = [ "3bgl-shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bgl-shader/2024-10-12/3bgl-shader-20241012-git.tgz"; + sha256 = "06v9a3m0cwhj2m5nz20shzgz3362sd7bv011rlknm4nz6i4q5bzz"; + system = "3bgl-shader"; + asd = "3bgl-shader"; + } + ); + systems = [ "3bgl-shader" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bgl-shader-example = ( + build-asdf-system { + pname = "3bgl-shader-example"; + version = "20241012-git"; + asds = [ "3bgl-shader-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bgl-shader/2024-10-12/3bgl-shader-20241012-git.tgz"; + sha256 = "06v9a3m0cwhj2m5nz20shzgz3362sd7bv011rlknm4nz6i4q5bzz"; + system = "3bgl-shader-example"; + asd = "3bgl-shader-example"; + } + ); + systems = [ "3bgl-shader-example" ]; + lispLibs = [ + (getAttr "_3bgl-shader" self) + (getAttr "cl-glu" self) + (getAttr "cl-glut" self) + (getAttr "mathkit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd = ( + build-asdf-system { + pname = "3bmd"; + version = "20241012-git"; + asds = [ "3bmd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd"; + asd = "3bmd"; + } + ); + systems = [ "3bmd" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-ext-code-blocks = ( + build-asdf-system { + pname = "3bmd-ext-code-blocks"; + version = "20241012-git"; + asds = [ "3bmd-ext-code-blocks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-ext-code-blocks"; + asd = "3bmd-ext-code-blocks"; + } + ); + systems = [ "3bmd-ext-code-blocks" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "alexandria" self) + (getAttr "colorize" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-ext-definition-lists = ( + build-asdf-system { + pname = "3bmd-ext-definition-lists"; + version = "20241012-git"; + asds = [ "3bmd-ext-definition-lists" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-ext-definition-lists"; + asd = "3bmd-ext-definition-lists"; + } + ); + systems = [ "3bmd-ext-definition-lists" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "alexandria" self) + (getAttr "colorize" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-ext-math = ( + build-asdf-system { + pname = "3bmd-ext-math"; + version = "20241012-git"; + asds = [ "3bmd-ext-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-ext-math"; + asd = "3bmd-ext-math"; + } + ); + systems = [ "3bmd-ext-math" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "esrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-ext-tables = ( + build-asdf-system { + pname = "3bmd-ext-tables"; + version = "20241012-git"; + asds = [ "3bmd-ext-tables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-ext-tables"; + asd = "3bmd-ext-tables"; + } + ); + systems = [ "3bmd-ext-tables" ]; + lispLibs = [ (getAttr "_3bmd" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-ext-wiki-links = ( + build-asdf-system { + pname = "3bmd-ext-wiki-links"; + version = "20241012-git"; + asds = [ "3bmd-ext-wiki-links" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-ext-wiki-links"; + asd = "3bmd-ext-wiki-links"; + } + ); + systems = [ "3bmd-ext-wiki-links" ]; + lispLibs = [ (getAttr "_3bmd" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-tests = ( + build-asdf-system { + pname = "3bmd-tests"; + version = "20241012-git"; + asds = [ "3bmd-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-tests"; + asd = "3bmd-tests"; + } + ); + systems = [ "3bmd-tests" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-youtube = ( + build-asdf-system { + pname = "3bmd-youtube"; + version = "20241012-git"; + asds = [ "3bmd-youtube" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-youtube"; + asd = "3bmd-youtube"; + } + ); + systems = [ "3bmd-youtube" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "esrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bmd-youtube-tests = ( + build-asdf-system { + pname = "3bmd-youtube-tests"; + version = "20241012-git"; + asds = [ "3bmd-youtube-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bmd/2024-10-12/3bmd-20241012-git.tgz"; + sha256 = "166pn6qr8n3513673afmln2ayy7kgbgfx45hfmvhmk71xjvq19zv"; + system = "3bmd-youtube-tests"; + asd = "3bmd-youtube-tests"; + } + ); + systems = [ "3bmd-youtube-tests" ]; + lispLibs = [ + (getAttr "_3bmd-youtube" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3bz = ( + build-asdf-system { + pname = "3bz"; + version = "20230618-git"; + asds = [ "3bz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3bz/2023-06-18/3bz-20230618-git.tgz"; + sha256 = "0qdnxj2sn185l0jnp4zjlh5la14pxkgp1hmcyw4d2zwx30sc37p7"; + system = "3bz"; + asd = "3bz"; + } + ); + systems = [ "3bz" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "mmap" self) + (getAttr "nibbles" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-math = ( + build-asdf-system { + pname = "3d-math"; + version = "20241012-git"; + asds = [ "3d-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-math/2024-10-12/3d-math-20241012-git.tgz"; + sha256 = "01xnzizy76ypypzpqrg9fwnxfl5mlldc554b0791rsckkhh35xvd"; + system = "3d-math"; + asd = "3d-math"; + } + ); + systems = [ "3d-math" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "type-templates" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-math-test = ( + build-asdf-system { + pname = "3d-math-test"; + version = "20241012-git"; + asds = [ "3d-math-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-math/2024-10-12/3d-math-20241012-git.tgz"; + sha256 = "01xnzizy76ypypzpqrg9fwnxfl5mlldc554b0791rsckkhh35xvd"; + system = "3d-math-test"; + asd = "3d-math-test"; + } + ); + systems = [ "3d-math-test" ]; + lispLibs = [ + (getAttr "_3d-math" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-matrices = ( + build-asdf-system { + pname = "3d-matrices"; + version = "20231021-git"; + asds = [ "3d-matrices" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-matrices/2023-10-21/3d-matrices-20231021-git.tgz"; + sha256 = "0kn68awww0h8gwiqih8a65d2p34q3qh4z5ji2g5ja99vgpr1498q"; + system = "3d-matrices"; + asd = "3d-matrices"; + } + ); + systems = [ "3d-matrices" ]; + lispLibs = [ + (getAttr "_3d-vectors" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-matrices-test = ( + build-asdf-system { + pname = "3d-matrices-test"; + version = "20231021-git"; + asds = [ "3d-matrices-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-matrices/2023-10-21/3d-matrices-20231021-git.tgz"; + sha256 = "0kn68awww0h8gwiqih8a65d2p34q3qh4z5ji2g5ja99vgpr1498q"; + system = "3d-matrices-test"; + asd = "3d-matrices-test"; + } + ); + systems = [ "3d-matrices-test" ]; + lispLibs = [ + (getAttr "_3d-matrices" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-quaternions = ( + build-asdf-system { + pname = "3d-quaternions"; + version = "20231021-git"; + asds = [ "3d-quaternions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-quaternions/2023-10-21/3d-quaternions-20231021-git.tgz"; + sha256 = "1m72g2rn1n5xsqaa50qbj6hcp8b4gk7xsld4qaly788bwscparl8"; + system = "3d-quaternions"; + asd = "3d-quaternions"; + } + ); + systems = [ "3d-quaternions" ]; + lispLibs = [ + (getAttr "_3d-matrices" self) + (getAttr "_3d-vectors" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-quaternions-test = ( + build-asdf-system { + pname = "3d-quaternions-test"; + version = "20231021-git"; + asds = [ "3d-quaternions-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-quaternions/2023-10-21/3d-quaternions-20231021-git.tgz"; + sha256 = "1m72g2rn1n5xsqaa50qbj6hcp8b4gk7xsld4qaly788bwscparl8"; + system = "3d-quaternions-test"; + asd = "3d-quaternions-test"; + } + ); + systems = [ "3d-quaternions-test" ]; + lispLibs = [ + (getAttr "_3d-quaternions" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-spaces = ( + build-asdf-system { + pname = "3d-spaces"; + version = "20241012-git"; + asds = [ "3d-spaces" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-spaces/2024-10-12/3d-spaces-20241012-git.tgz"; + sha256 = "170f2hyvrf3mvkfg9mj7rg2zafcnqbm9h9c29y716ppq1vk1pxhc"; + system = "3d-spaces"; + asd = "3d-spaces"; + } + ); + systems = [ "3d-spaces" ]; + lispLibs = [ + (getAttr "_3d-math" self) + (getAttr "documentation-utils" self) + (getAttr "for" self) + (getAttr "trivial-extensible-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-spaces-test = ( + build-asdf-system { + pname = "3d-spaces-test"; + version = "20241012-git"; + asds = [ "3d-spaces-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-spaces/2024-10-12/3d-spaces-20241012-git.tgz"; + sha256 = "170f2hyvrf3mvkfg9mj7rg2zafcnqbm9h9c29y716ppq1vk1pxhc"; + system = "3d-spaces-test"; + asd = "3d-spaces-test"; + } + ); + systems = [ "3d-spaces-test" ]; + lispLibs = [ + (getAttr "_3d-spaces" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-transforms = ( + build-asdf-system { + pname = "3d-transforms"; + version = "20231021-git"; + asds = [ "3d-transforms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-transforms/2023-10-21/3d-transforms-20231021-git.tgz"; + sha256 = "0876pih289fgn8maclihiz9xl66zbi4nbznpdq2xpfbsr1k4sihy"; + system = "3d-transforms"; + asd = "3d-transforms"; + } + ); + systems = [ "3d-transforms" ]; + lispLibs = [ + (getAttr "_3d-matrices" self) + (getAttr "_3d-quaternions" self) + (getAttr "_3d-vectors" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-transforms-test = ( + build-asdf-system { + pname = "3d-transforms-test"; + version = "20231021-git"; + asds = [ "3d-transforms-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-transforms/2023-10-21/3d-transforms-20231021-git.tgz"; + sha256 = "0876pih289fgn8maclihiz9xl66zbi4nbznpdq2xpfbsr1k4sihy"; + system = "3d-transforms-test"; + asd = "3d-transforms-test"; + } + ); + systems = [ "3d-transforms-test" ]; + lispLibs = [ + (getAttr "_3d-transforms" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-vectors = ( + build-asdf-system { + pname = "3d-vectors"; + version = "20231021-git"; + asds = [ "3d-vectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-vectors/2023-10-21/3d-vectors-20231021-git.tgz"; + sha256 = "0y3iwb0bvxf8ixgsbg3idlx91k3lim9na53fasb4scnhlmpsbk28"; + system = "3d-vectors"; + asd = "3d-vectors"; + } + ); + systems = [ "3d-vectors" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _3d-vectors-test = ( + build-asdf-system { + pname = "3d-vectors-test"; + version = "20231021-git"; + asds = [ "3d-vectors-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/3d-vectors/2023-10-21/3d-vectors-20231021-git.tgz"; + sha256 = "0y3iwb0bvxf8ixgsbg3idlx91k3lim9na53fasb4scnhlmpsbk28"; + system = "3d-vectors-test"; + asd = "3d-vectors-test"; + } + ); + systems = [ "3d-vectors-test" ]; + lispLibs = [ + (getAttr "_3d-vectors" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-asdf-system = ( + build-asdf-system { + pname = "40ants-asdf-system"; + version = "20241012-git"; + asds = [ "40ants-asdf-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; + sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; + system = "40ants-asdf-system"; + asd = "40ants-asdf-system"; + } + ); + systems = [ "40ants-asdf-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-asdf-system-ci = ( + build-asdf-system { + pname = "40ants-asdf-system-ci"; + version = "20241012-git"; + asds = [ "40ants-asdf-system-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; + sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; + system = "40ants-asdf-system-ci"; + asd = "40ants-asdf-system-ci"; + } + ); + systems = [ "40ants-asdf-system-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-asdf-system-tests = ( + build-asdf-system { + pname = "40ants-asdf-system-tests"; + version = "20241012-git"; + asds = [ "40ants-asdf-system-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; + sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; + system = "40ants-asdf-system-tests"; + asd = "40ants-asdf-system-tests"; + } + ); + systems = [ "40ants-asdf-system-tests" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-ci = ( + build-asdf-system { + pname = "40ants-ci"; + version = "20241012-git"; + asds = [ "40ants-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ci/2024-10-12/ci-20241012-git.tgz"; + sha256 = "0fmy1302c89qbhn4zc58cydcv8qc3qrl6cjbf2fy53sphnmj0wgm"; + system = "40ants-ci"; + asd = "40ants-ci"; + } + ); + systems = [ "40ants-ci" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-ci-docs = ( + build-asdf-system { + pname = "40ants-ci-docs"; + version = "20241012-git"; + asds = [ "40ants-ci-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ci/2024-10-12/ci-20241012-git.tgz"; + sha256 = "0fmy1302c89qbhn4zc58cydcv8qc3qrl6cjbf2fy53sphnmj0wgm"; + system = "40ants-ci-docs"; + asd = "40ants-ci-docs"; + } + ); + systems = [ "40ants-ci-docs" ]; + lispLibs = [ + (getAttr "_40ants-ci" self) + (getAttr "_40ants-doc" self) + (getAttr "_40ants-logging-docs" self) + (getAttr "docs-config" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-ci-tests = ( + build-asdf-system { + pname = "40ants-ci-tests"; + version = "20241012-git"; + asds = [ "40ants-ci-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ci/2024-10-12/ci-20241012-git.tgz"; + sha256 = "0fmy1302c89qbhn4zc58cydcv8qc3qrl6cjbf2fy53sphnmj0wgm"; + system = "40ants-ci-tests"; + asd = "40ants-ci-tests"; + } + ); + systems = [ "40ants-ci-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-doc = ( + build-asdf-system { + pname = "40ants-doc"; + version = "20241012-git"; + asds = [ "40ants-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/doc/2024-10-12/doc-20241012-git.tgz"; + sha256 = "1vkczfcdgg1dmzb5jzxvc50kywbz7il130qrj0smlg1grwgw10a2"; + system = "40ants-doc"; + asd = "40ants-doc"; + } + ); + systems = [ "40ants-doc" ]; + lispLibs = [ + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-doc-full = ( + build-asdf-system { + pname = "40ants-doc-full"; + version = "20241012-git"; + asds = [ "40ants-doc-full" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/doc/2024-10-12/doc-20241012-git.tgz"; + sha256 = "1vkczfcdgg1dmzb5jzxvc50kywbz7il130qrj0smlg1grwgw10a2"; + system = "40ants-doc-full"; + asd = "40ants-doc-full"; + } + ); + systems = [ "40ants-doc-full" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "common-doc" self) + (getAttr "common-html" self) + (getAttr "commondoc-markdown" self) + (getAttr "dexador" self) + (getAttr "docs-config" self) + (getAttr "fare-utils" self) + (getAttr "jonathan" self) + (getAttr "lass" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "slynk" self) + (getAttr "spinneret" self) + (getAttr "stem" self) + (getAttr "str" self) + (getAttr "swank" self) + (getAttr "tmpdir" self) + (getAttr "which" self) + (getAttr "xml-emitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-doc-test = ( + build-asdf-system { + pname = "40ants-doc-test"; + version = "20241012-git"; + asds = [ "40ants-doc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/doc/2024-10-12/doc-20241012-git.tgz"; + sha256 = "1vkczfcdgg1dmzb5jzxvc50kywbz7il130qrj0smlg1grwgw10a2"; + system = "40ants-doc-test"; + asd = "40ants-doc-test"; + } + ); + systems = [ "40ants-doc-test" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "common-doc" self) + (getAttr "common-html" self) + (getAttr "commondoc-markdown" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-logging = ( + build-asdf-system { + pname = "40ants-logging"; + version = "20241012-git"; + asds = [ "40ants-logging" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; + sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; + system = "40ants-logging"; + asd = "40ants-logging"; + } + ); + systems = [ "40ants-logging" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "global-vars" self) + (getAttr "log4cl-extras" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-logging-ci = ( + build-asdf-system { + pname = "40ants-logging-ci"; + version = "20241012-git"; + asds = [ "40ants-logging-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; + sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; + system = "40ants-logging-ci"; + asd = "40ants-logging-ci"; + } + ); + systems = [ "40ants-logging-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-logging-docs = ( + build-asdf-system { + pname = "40ants-logging-docs"; + version = "20241012-git"; + asds = [ "40ants-logging-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; + sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; + system = "40ants-logging-docs"; + asd = "40ants-logging-docs"; + } + ); + systems = [ "40ants-logging-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "_40ants-logging" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-logging-example = ( + build-asdf-system { + pname = "40ants-logging-example"; + version = "20241012-git"; + asds = [ "40ants-logging-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; + sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; + system = "40ants-logging-example"; + asd = "40ants-logging-example"; + } + ); + systems = [ "40ants-logging-example" ]; + lispLibs = [ + (getAttr "_40ants-logging" self) + (getAttr "_40ants-slynk" self) + (getAttr "defmain" self) + (getAttr "log4cl" self) + (getAttr "log4cl-extras" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-logging-tests = ( + build-asdf-system { + pname = "40ants-logging-tests"; + version = "20241012-git"; + asds = [ "40ants-logging-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/logging/2024-10-12/logging-20241012-git.tgz"; + sha256 = "1rkh0ls12qkwxs7szvnr5fz2bi1wwxsz7z72ywnin13hisvgkkwz"; + system = "40ants-logging-tests"; + asd = "40ants-logging-tests"; + } + ); + systems = [ "40ants-logging-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-slynk = ( + build-asdf-system { + pname = "40ants-slynk"; + version = "20241012-git"; + asds = [ "40ants-slynk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; + sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; + system = "40ants-slynk"; + asd = "40ants-slynk"; + } + ); + systems = [ "40ants-slynk" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "_40ants-logging" self) + (getAttr "global-vars" self) + (getAttr "log4cl" self) + (getAttr "slynk" self) + (getAttr "slynk-macrostep" self) + (getAttr "slynk-named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-slynk-ci = ( + build-asdf-system { + pname = "40ants-slynk-ci"; + version = "20241012-git"; + asds = [ "40ants-slynk-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; + sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; + system = "40ants-slynk-ci"; + asd = "40ants-slynk-ci"; + } + ); + systems = [ "40ants-slynk-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-slynk-docs = ( + build-asdf-system { + pname = "40ants-slynk-docs"; + version = "20241012-git"; + asds = [ "40ants-slynk-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; + sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; + system = "40ants-slynk-docs"; + asd = "40ants-slynk-docs"; + } + ); + systems = [ "40ants-slynk-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "_40ants-slynk" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + _40ants-slynk-tests = ( + build-asdf-system { + pname = "40ants-slynk-tests"; + version = "20241012-git"; + asds = [ "40ants-slynk-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-slynk/2024-10-12/40ants-slynk-20241012-git.tgz"; + sha256 = "0rz32aaya177s8c4lsasyfff91b2ancjlw8bi50xz150kwqqqmmx"; + system = "40ants-slynk-tests"; + asd = "40ants-slynk-tests"; + } + ); + systems = [ "40ants-slynk-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + a-cl-cairo2-loader = ( + build-asdf-system { + pname = "a-cl-cairo2-loader"; + version = "20211020-git"; + asds = [ "a-cl-cairo2-loader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; + sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; + system = "a-cl-cairo2-loader"; + asd = "a-cl-cairo2-loader"; + } + ); + systems = [ "a-cl-cairo2-loader" ]; + lispLibs = [ (getAttr "cl-cairo2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + a-cl-logger = ( + build-asdf-system { + pname = "a-cl-logger"; + version = "20220331-git"; + asds = [ "a-cl-logger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/a-cl-logger/2022-03-31/a-cl-logger-20220331-git.tgz"; + sha256 = "0vhhbnh4akxh0ivqh8r0f2djv2nbf3l9hbbi0b5fdk9bdpziqkb4"; + system = "a-cl-logger"; + asd = "a-cl-logger"; + } + ); + systems = [ "a-cl-logger" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-json" self) + (getAttr "closer-mop" self) + (getAttr "exit-hooks" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "osicat" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + a-cl-logger-logstash = ( + build-asdf-system { + pname = "a-cl-logger-logstash"; + version = "20220331-git"; + asds = [ "a-cl-logger-logstash" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/a-cl-logger/2022-03-31/a-cl-logger-20220331-git.tgz"; + sha256 = "0vhhbnh4akxh0ivqh8r0f2djv2nbf3l9hbbi0b5fdk9bdpziqkb4"; + system = "a-cl-logger-logstash"; + asd = "a-cl-logger-logstash"; + } + ); + systems = [ "a-cl-logger-logstash" ]; + lispLibs = [ + (getAttr "a-cl-logger" self) + (getAttr "cl-json" self) + (getAttr "zmq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + a-cl-logger-tests = ( + build-asdf-system { + pname = "a-cl-logger-tests"; + version = "20220331-git"; + asds = [ "a-cl-logger-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/a-cl-logger/2022-03-31/a-cl-logger-20220331-git.tgz"; + sha256 = "0vhhbnh4akxh0ivqh8r0f2djv2nbf3l9hbbi0b5fdk9bdpziqkb4"; + system = "a-cl-logger-tests"; + asd = "a-cl-logger"; + } + ); + systems = [ "a-cl-logger-tests" ]; + lispLibs = [ + (getAttr "a-cl-logger" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aabbcc = ( + build-asdf-system { + pname = "aabbcc"; + version = "20200427-git"; + asds = [ "aabbcc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "aabbcc"; + asd = "aabbcc"; + } + ); + systems = [ "aabbcc" ]; + lispLibs = [ + (getAttr "quads" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + able = ( + build-asdf-system { + pname = "able"; + version = "20171227-git"; + asds = [ "able" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/able/2017-12-27/able-20171227-git.tgz"; + sha256 = "1fbcmr6hy7bwlnsnrml3j4b2jkkj8ddxw27l8hr2z6l3fi3qw4hh"; + system = "able"; + asd = "able"; + } + ); + systems = [ "able" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "ltk" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + abnf = ( + build-asdf-system { + pname = "abnf"; + version = "20200325-git"; + asds = [ "abnf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-abnf/2020-03-25/cl-abnf-20200325-git.tgz"; + sha256 = "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"; + system = "abnf"; + asd = "abnf"; + } + ); + systems = [ "abnf" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "esrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + abstract-classes = ( + build-asdf-system { + pname = "abstract-classes"; + version = "20190307-hg"; + asds = [ "abstract-classes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-abstract-classes/2019-03-07/cl-abstract-classes-20190307-hg.tgz"; + sha256 = "0q03j3ksgn56j9xvs3d3hhasplj3hvg488f4cx1z97nlyqxr5w1d"; + system = "abstract-classes"; + asd = "abstract-classes"; + } + ); + systems = [ "abstract-classes" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + access = ( + build-asdf-system { + pname = "access"; + version = "20241012-git"; + asds = [ "access" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/access/2024-10-12/access-20241012-git.tgz"; + sha256 = "0zdjqhb9rvnlq6nzmsp7372gi91k1rq9bz510m6hcki7g3r01iv5"; + system = "access"; + asd = "access"; + } + ); + systems = [ "access" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + acclimation = ( + build-asdf-system { + pname = "acclimation"; + version = "20241012-git"; + asds = [ "acclimation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/acclimation/2024-10-12/acclimation-20241012-git.tgz"; + sha256 = "1rp4794czi01hlv67mgykxym1hqsyn04ldgwiqjwf4lj5d3p7aj4"; + system = "acclimation"; + asd = "acclimation"; + } + ); + systems = [ "acclimation" ]; + lispLibs = [ ]; + meta = { }; + } + ); + acclimation-temperature = ( + build-asdf-system { + pname = "acclimation-temperature"; + version = "20241012-git"; + asds = [ "acclimation-temperature" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/acclimation/2024-10-12/acclimation-20241012-git.tgz"; + sha256 = "1rp4794czi01hlv67mgykxym1hqsyn04ldgwiqjwf4lj5d3p7aj4"; + system = "acclimation-temperature"; + asd = "acclimation-temperature"; + } + ); + systems = [ "acclimation-temperature" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + acl-compat = ( + build-asdf-system { + pname = "acl-compat"; + version = "20190813-git"; + asds = [ "acl-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; + sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; + system = "acl-compat"; + asd = "acl-compat"; + } + ); + systems = [ "acl-compat" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "ironclad" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + acm-random = ( + build-asdf-system { + pname = "acm-random"; + version = "20191007-git"; + asds = [ "acm-random" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; + sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; + system = "acm-random"; + asd = "acm-random"; + } + ); + systems = [ "acm-random" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "random" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + acm-random-test = ( + build-asdf-system { + pname = "acm-random-test"; + version = "20191007-git"; + asds = [ "acm-random-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; + sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; + system = "acm-random-test"; + asd = "acm-random-test"; + } + ); + systems = [ "acm-random-test" ]; + lispLibs = [ + (getAttr "acm-random" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + action-list = ( + build-asdf-system { + pname = "action-list"; + version = "20241012-git"; + asds = [ "action-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/action-list/2024-10-12/action-list-20241012-git.tgz"; + sha256 = "0ky38svlm0xhgsmh5maqj314q4wl3apg7532q8apy37axg1y3xvh"; + system = "action-list"; + asd = "action-list"; + } + ); + systems = [ "action-list" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-extensible-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + add-two = ( + build-asdf-system { + pname = "add-two"; + version = "20241012-git"; + asds = [ "add-two" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/whereiseveryone.command-line-args/2024-10-12/whereiseveryone.command-line-args-20241012-git.tgz"; + sha256 = "140xnz2v0v3hfg3dp2fhidw8ns6lxd3a5knm07wqdp48ksg119wy"; + system = "add-two"; + asd = "add-two"; + } + ); + systems = [ "add-two" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "whereiseveryone_dot_command-line-args" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adhoc = ( + build-asdf-system { + pname = "adhoc"; + version = "20241012-git"; + asds = [ "adhoc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adhoc/2024-10-12/adhoc-20241012-git.tgz"; + sha256 = "1h7mnwybapxzpv0zlwr1mr91lsd7wiv722ifa21gczllvrg5qai6"; + system = "adhoc"; + asd = "adhoc"; + } + ); + systems = [ "adhoc" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adhoc-tests = ( + build-asdf-system { + pname = "adhoc-tests"; + version = "20241012-git"; + asds = [ "adhoc-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adhoc/2024-10-12/adhoc-20241012-git.tgz"; + sha256 = "1h7mnwybapxzpv0zlwr1mr91lsd7wiv722ifa21gczllvrg5qai6"; + system = "adhoc-tests"; + asd = "adhoc-tests"; + } + ); + systems = [ "adhoc-tests" ]; + lispLibs = [ + (getAttr "adhoc" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adjuvant = ( + build-asdf-system { + pname = "adjuvant"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "adjuvant" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "adjuvant"; + asd = "adjuvant"; + } + ); + systems = [ "adjuvant" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adjuvant-test = ( + build-asdf-system { + pname = "adjuvant-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "adjuvant-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "adjuvant-test"; + asd = "adjuvant-test"; + } + ); + systems = [ "adjuvant-test" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adopt = ( + build-asdf-system { + pname = "adopt"; + version = "20241012-hg"; + asds = [ "adopt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adopt/2024-10-12/adopt-20241012-hg.tgz"; + sha256 = "1q36b9bp76daprnhd97h00x56kccmii8pc9w2ra6yihkfbcas41q"; + system = "adopt"; + asd = "adopt"; + } + ); + systems = [ "adopt" ]; + lispLibs = [ + (getAttr "bobbin" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adopt-subcommands = ( + build-asdf-system { + pname = "adopt-subcommands"; + version = "v0.2.2"; + asds = [ "adopt-subcommands" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adopt-subcommands/2021-05-31/adopt-subcommands-v0.2.2.tgz"; + sha256 = "0q35s3ihhlshakjalq5pgf14x502qnj8jimim8yf7bp1p9sn83h8"; + system = "adopt-subcommands"; + asd = "adopt-subcommands"; + } + ); + systems = [ "adopt-subcommands" ]; + lispLibs = [ + (getAttr "adopt" self) + (getAttr "bobbin" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adopt-subcommands-test = ( + build-asdf-system { + pname = "adopt-subcommands-test"; + version = "v0.2.2"; + asds = [ "adopt-subcommands-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adopt-subcommands/2021-05-31/adopt-subcommands-v0.2.2.tgz"; + sha256 = "0q35s3ihhlshakjalq5pgf14x502qnj8jimim8yf7bp1p9sn83h8"; + system = "adopt-subcommands-test"; + asd = "adopt-subcommands-test"; + } + ); + systems = [ "adopt-subcommands-test" ]; + lispLibs = [ + (getAttr "adopt-subcommands" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adp = ( + build-asdf-system { + pname = "adp"; + version = "20241012-git"; + asds = [ "adp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adp/2024-10-12/adp-20241012-git.tgz"; + sha256 = "04h91m2x1vcn8iidhx1y2cwb8j55siiifhx1ksy7hyn9hf39b2kv"; + system = "adp"; + asd = "adp"; + } + ); + systems = [ "adp" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "named-readtables" self) + (getAttr "scribble" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adp-github = ( + build-asdf-system { + pname = "adp-github"; + version = "20241012-git"; + asds = [ "adp-github" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adp-github/2024-10-12/adp-github-20241012-git.tgz"; + sha256 = "1g33l2k6pc5m8d0d3dl4rf8p364563jpyk22rywrh5188m9nayjc"; + system = "adp-github"; + asd = "adp-github"; + } + ); + systems = [ "adp-github" ]; + lispLibs = [ + (getAttr "adp" self) + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "trivial-arguments" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + adp-plain = ( + build-asdf-system { + pname = "adp-plain"; + version = "20241012-git"; + asds = [ "adp-plain" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/adp-plain/2024-10-12/adp-plain-20241012-git.tgz"; + sha256 = "0dnfx7hhdibkg0qphs3wsfll2kmpkfpg4hxfjv2paxnsmqdhspnz"; + system = "adp-plain"; + asd = "adp-plain"; + } + ); + systems = [ "adp-plain" ]; + lispLibs = [ (getAttr "adp" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + advanced-readtable = ( + build-asdf-system { + pname = "advanced-readtable"; + version = "20130720-git"; + asds = [ "advanced-readtable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/advanced-readtable/2013-07-20/advanced-readtable-20130720-git.tgz"; + sha256 = "0dgm3lp9s6792g22swcb085f67q68jsyqj71vicb1wdr9qslvgwm"; + system = "advanced-readtable"; + asd = "advanced-readtable"; + } + ); + systems = [ "advanced-readtable" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aether = ( + build-asdf-system { + pname = "aether"; + version = "v1.1.0"; + asds = [ "aether" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aether/2021-12-09/aether-v1.1.0.tgz"; + sha256 = "0q60gc4lsxpvv4g572mnhpzkziq1412k1q0xm4y2d1zigryg30bb"; + system = "aether"; + asd = "aether"; + } + ); + systems = [ "aether" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-heap" self) + (getAttr "global-vars" self) + (getAttr "policy-cond" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aether-tests = ( + build-asdf-system { + pname = "aether-tests"; + version = "v1.1.0"; + asds = [ "aether-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aether/2021-12-09/aether-v1.1.0.tgz"; + sha256 = "0q60gc4lsxpvv4g572mnhpzkziq1412k1q0xm4y2d1zigryg30bb"; + system = "aether-tests"; + asd = "aether-tests"; + } + ); + systems = [ "aether-tests" ]; + lispLibs = [ + (getAttr "aether" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + agnostic-lizard = ( + build-asdf-system { + pname = "agnostic-lizard"; + version = "20241012-git"; + asds = [ "agnostic-lizard" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/agnostic-lizard/2024-10-12/agnostic-lizard-20241012-git.tgz"; + sha256 = "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr"; + system = "agnostic-lizard"; + asd = "agnostic-lizard"; + } + ); + systems = [ "agnostic-lizard" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + agnostic-lizard-debugger-prototype = ( + build-asdf-system { + pname = "agnostic-lizard-debugger-prototype"; + version = "20241012-git"; + asds = [ "agnostic-lizard-debugger-prototype" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/agnostic-lizard/2024-10-12/agnostic-lizard-20241012-git.tgz"; + sha256 = "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr"; + system = "agnostic-lizard-debugger-prototype"; + asd = "agnostic-lizard-debugger-prototype"; + } + ); + systems = [ "agnostic-lizard-debugger-prototype" ]; + lispLibs = [ + (getAttr "agnostic-lizard" self) + (getAttr "bordeaux-threads" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + agutil = ( + build-asdf-system { + pname = "agutil"; + version = "20210531-git"; + asds = [ "agutil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/agutil/2021-05-31/agutil-20210531-git.tgz"; + sha256 = "10lccrqkaqq0h1p79gjqsqk1nqa6c25n0w7pj39y2gs14s5qr5q9"; + system = "agutil"; + asd = "agutil"; + } + ); + systems = [ "agutil" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "optima" self) + ]; + meta = { }; + } + ); + alexa = ( + build-asdf-system { + pname = "alexa"; + version = "20180831-git"; + asds = [ "alexa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/alexa/2018-08-31/alexa-20180831-git.tgz"; + sha256 = "1y9jyz9gfmd02h492kf7v3mmpbhc0yfh4ka2rzd1vczq6fl8qgqv"; + system = "alexa"; + asd = "alexa"; + } + ); + systems = [ "alexa" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + alexa-tests = ( + build-asdf-system { + pname = "alexa-tests"; + version = "20180831-git"; + asds = [ "alexa-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/alexa/2018-08-31/alexa-20180831-git.tgz"; + sha256 = "1y9jyz9gfmd02h492kf7v3mmpbhc0yfh4ka2rzd1vczq6fl8qgqv"; + system = "alexa-tests"; + asd = "alexa-tests"; + } + ); + systems = [ "alexa-tests" ]; + lispLibs = [ + (getAttr "alexa" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + alexandria = ( + build-asdf-system { + pname = "alexandria"; + version = "20241012-git"; + asds = [ "alexandria" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/alexandria/2024-10-12/alexandria-20241012-git.tgz"; + sha256 = "0jq0n59s0r9yl374f0zpdnaflb5g853yqvax7ka8rnypspyykwdw"; + system = "alexandria"; + asd = "alexandria"; + } + ); + systems = [ "alexandria" ]; + lispLibs = [ ]; + meta = { }; + } + ); + alexandria_plus = ( + build-asdf-system { + pname = "alexandria+"; + version = "20241012-git"; + asds = [ "alexandria+" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/alexandria-plus/2024-10-12/alexandria-plus-20241012-git.tgz"; + sha256 = "05j88i289nx2dgc8r3n3h8x3ma31gk8xk2bpvxc5y9yzfl2mp0hk"; + system = "alexandria+"; + asd = "alexandria+"; + } + ); + systems = [ "alexandria+" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + algebraic-data-library = ( + build-asdf-system { + pname = "algebraic-data-library"; + version = "20180831-git"; + asds = [ "algebraic-data-library" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/algebraic-data-library/2018-08-31/algebraic-data-library-20180831-git.tgz"; + sha256 = "0mmakfdwgfjl812ydzbbl81lkv41zfnqhw9ydjk1w63lq8c11cmn"; + system = "algebraic-data-library"; + asd = "algebraic-data-library"; + } + ); + systems = [ "algebraic-data-library" ]; + lispLibs = [ (getAttr "cl-algebraic-data-type" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + allioli = ( + build-asdf-system { + pname = "allioli"; + version = "20241012-git"; + asds = [ "allioli" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/allioli/2024-10-12/allioli-20241012-git.tgz"; + sha256 = "00504wf4rxrwpc171czlk56zzbf798c39jzhbipm7ba3iz28qkai"; + system = "allioli"; + asd = "allioli"; + } + ); + systems = [ "allioli" ]; + lispLibs = [ + (getAttr "fare-quasiquote-extras" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + also-alsa = ( + build-asdf-system { + pname = "also-alsa"; + version = "20231021-git"; + asds = [ "also-alsa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/also-alsa/2023-10-21/also-alsa-20231021-git.tgz"; + sha256 = "17xvq04nnw2kmxvahj56ja5k21d3wg3fzclbfm36fn641lr6l7dx"; + system = "also-alsa"; + asd = "also-alsa"; + } + ); + systems = [ "also-alsa" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + alternate-asdf-system-connections = ( + build-asdf-system { + pname = "alternate-asdf-system-connections"; + version = "20241012-git"; + asds = [ "alternate-asdf-system-connections" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/alternate-asdf-system-connections/2024-10-12/alternate-asdf-system-connections-20241012-git.tgz"; + sha256 = "0wlmr29a8azs5kjvwdaqmfn2iwqid0f659cmj34ywchgxahdr6p6"; + system = "alternate-asdf-system-connections"; + asd = "alternate-asdf-system-connections"; + } + ); + systems = [ "alternate-asdf-system-connections" ]; + lispLibs = [ (getAttr "asdf-system-connections" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + amazon-ecs = ( + build-asdf-system { + pname = "amazon-ecs"; + version = "20110418-git"; + asds = [ "amazon-ecs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/amazon-ecs/2011-04-18/amazon-ecs-20110418-git.tgz"; + sha256 = "1gi3ybfkdfqvgmwgf0l77xpp5xgmkbycdpz6kn79vm0iga3kd2mz"; + system = "amazon-ecs"; + asd = "amazon-ecs"; + } + ); + systems = [ "amazon-ecs" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "net-telent-date" self) + (getAttr "parse-number" self) + (getAttr "trivial-http" self) + (getAttr "xml-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + amb = ( + build-asdf-system { + pname = "amb"; + version = "20230214-git"; + asds = [ "amb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/amb/2023-02-14/amb-20230214-git.tgz"; + sha256 = "014vpsqxjnsr0x2zql6xpz0kh448p3lqw521amsf6700jqa2s1wp"; + system = "amb"; + asd = "amb"; + } + ); + systems = [ "amb" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + anaphora = ( + build-asdf-system { + pname = "anaphora"; + version = "20220220-git"; + asds = [ "anaphora" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/anaphora/2022-02-20/anaphora-20220220-git.tgz"; + sha256 = "1ds5ab0rzkrhfl29xpvmvyxmkdyj9mi19p330pz603lx95njjc0b"; + system = "anaphora"; + asd = "anaphora"; + } + ); + systems = [ "anaphora" ]; + lispLibs = [ ]; + meta = { }; + } + ); + anaphoric-variants = ( + build-asdf-system { + pname = "anaphoric-variants"; + version = "1.0.1"; + asds = [ "anaphoric-variants" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/anaphoric-variants/2012-10-13/anaphoric-variants-1.0.1.tgz"; + sha256 = "02ms01w09b9bzsdsr0icd3ggyl86kyxk164kf0759k2k9y6kjsp5"; + system = "anaphoric-variants"; + asd = "anaphoric-variants"; + } + ); + systems = [ "anaphoric-variants" ]; + lispLibs = [ (getAttr "map-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + anatevka = ( + build-asdf-system { + pname = "anatevka"; + version = "v1.0.1"; + asds = [ "anatevka" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/anatevka/2024-10-12/anatevka-v1.0.1.tgz"; + sha256 = "1cxrbbb947pccy6532cxqrdlkfpm0m6z135mnyaiplfsd77jy772"; + system = "anatevka"; + asd = "anatevka"; + } + ); + systems = [ "anatevka" ]; + lispLibs = [ + (getAttr "aether" self) + (getAttr "alexandria" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + anatevka-tests = ( + build-asdf-system { + pname = "anatevka-tests"; + version = "v1.0.1"; + asds = [ "anatevka-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/anatevka/2024-10-12/anatevka-v1.0.1.tgz"; + sha256 = "1cxrbbb947pccy6532cxqrdlkfpm0m6z135mnyaiplfsd77jy772"; + system = "anatevka-tests"; + asd = "anatevka-tests"; + } + ); + systems = [ "anatevka-tests" ]; + lispLibs = [ + (getAttr "anatevka" self) + (getAttr "closer-mop" self) + (getAttr "fiasco" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ansi-escape = ( + build-asdf-system { + pname = "ansi-escape"; + version = "20241012-git"; + asds = [ "ansi-escape" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; + sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; + system = "ansi-escape"; + asd = "ansi-escape"; + } + ); + systems = [ "ansi-escape" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ansi-escape-test = ( + build-asdf-system { + pname = "ansi-escape-test"; + version = "20241012-git"; + asds = [ "ansi-escape-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; + sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; + system = "ansi-escape-test"; + asd = "ansi-escape-test"; + } + ); + systems = [ "ansi-escape-test" ]; + lispLibs = [ (getAttr "ansi-escape" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ansi-test-harness = ( + build-asdf-system { + pname = "ansi-test-harness"; + version = "20231021-git"; + asds = [ "ansi-test-harness" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ansi-test-harness/2023-10-21/ansi-test-harness-20231021-git.tgz"; + sha256 = "168q2358ag5lf7k8378462279q0izllbwqr1axljm0nsn6d4g0yl"; + system = "ansi-test-harness"; + asd = "ansi-test-harness"; + } + ); + systems = [ "ansi-test-harness" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + antik = ( + build-asdf-system { + pname = "antik"; + version = "master-df14cb8c-git"; + asds = [ "antik" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; + sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; + system = "antik"; + asd = "antik"; + } + ); + systems = [ "antik" ]; + lispLibs = [ + (getAttr "gsll" self) + (getAttr "physical-dimension" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + antik-base = ( + build-asdf-system { + pname = "antik-base"; + version = "master-df14cb8c-git"; + asds = [ "antik-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; + sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; + system = "antik-base"; + asd = "antik-base"; + } + ); + systems = [ "antik-base" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "lisp-unit" self) + (getAttr "metabang-bind" self) + (getAttr "named-readtables" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + anypool = ( + build-asdf-system { + pname = "anypool"; + version = "20241012-git"; + asds = [ "anypool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/anypool/2024-10-12/anypool-20241012-git.tgz"; + sha256 = "1ffssc5fzh7gj0z94xxfb3mk5cwja65lrhxyfgib15a6yxqf1kk1"; + system = "anypool"; + asd = "anypool"; + } + ); + systems = [ "anypool" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-speedy-queue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aplesque = ( + build-asdf-system { + pname = "aplesque"; + version = "20241012-git"; + asds = [ "aplesque" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "aplesque"; + asd = "aplesque"; + } + ); + systems = [ "aplesque" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "array-operations" self) + (getAttr "cl-ppcre" self) + (getAttr "lparallel" self) + (getAttr "parse-number" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + application = ( + build-asdf-system { + pname = "application"; + version = "20200427-git"; + asds = [ "application" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "application"; + asd = "application"; + } + ); + systems = [ "application" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-opengl" self) + (getAttr "deflazy" self) + (getAttr "glhelp" self) + (getAttr "scratch-buffer" self) + (getAttr "utility" self) + (getAttr "window" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + apply-argv = ( + build-asdf-system { + pname = "apply-argv"; + version = "20150608-git"; + asds = [ "apply-argv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/apply-argv/2015-06-08/apply-argv-20150608-git.tgz"; + sha256 = "19qj847vyawjgm5iwk96469c0plnxj37948ac1bcd86hgpbm75w0"; + system = "apply-argv"; + asd = "apply-argv"; + } + ); + systems = [ "apply-argv" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + apply-argv-tests = ( + build-asdf-system { + pname = "apply-argv-tests"; + version = "20150608-git"; + asds = [ "apply-argv-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/apply-argv/2015-06-08/apply-argv-20150608-git.tgz"; + sha256 = "19qj847vyawjgm5iwk96469c0plnxj37948ac1bcd86hgpbm75w0"; + system = "apply-argv-tests"; + asd = "apply-argv"; + } + ); + systems = [ "apply-argv-tests" ]; + lispLibs = [ + (getAttr "apply-argv" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april = ( + build-asdf-system { + pname = "april"; + version = "20241012-git"; + asds = [ "april" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april"; + asd = "april"; + } + ); + systems = [ "april" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "aplesque" self) + (getAttr "array-operations" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-unicode" self) + (getAttr "lparallel" self) + (getAttr "parse-number" self) + (getAttr "prove" self) + (getAttr "random-state" self) + (getAttr "simple-date-time" self) + (getAttr "symbol-munger" self) + (getAttr "trivia" self) + (getAttr "varray" self) + (getAttr "vex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-demo_dot_cnn = ( + build-asdf-system { + pname = "april-demo.cnn"; + version = "20241012-git"; + asds = [ "april-demo.cnn" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-demo.cnn"; + asd = "april-demo.cnn"; + } + ); + systems = [ "april-demo.cnn" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "lisp-binary" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-demo_dot_fnn = ( + build-asdf-system { + pname = "april-demo.fnn"; + version = "20241012-git"; + asds = [ "april-demo.fnn" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-demo.fnn"; + asd = "april-demo.fnn"; + } + ); + systems = [ "april-demo.fnn" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "april-lib_dot_dfns_dot_array" self) + (getAttr "lisp-binary" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-lib_dot_dfns_dot_array = ( + build-asdf-system { + pname = "april-lib.dfns.array"; + version = "20241012-git"; + asds = [ "april-lib.dfns.array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-lib.dfns.array"; + asd = "april-lib.dfns.array"; + } + ); + systems = [ "april-lib.dfns.array" ]; + lispLibs = [ (getAttr "april" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-lib_dot_dfns_dot_graph = ( + build-asdf-system { + pname = "april-lib.dfns.graph"; + version = "20241012-git"; + asds = [ "april-lib.dfns.graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-lib.dfns.graph"; + asd = "april-lib.dfns.graph"; + } + ); + systems = [ "april-lib.dfns.graph" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "april-lib_dot_dfns_dot_array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-lib_dot_dfns_dot_numeric = ( + build-asdf-system { + pname = "april-lib.dfns.numeric"; + version = "20241012-git"; + asds = [ "april-lib.dfns.numeric" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-lib.dfns.numeric"; + asd = "april-lib.dfns.numeric"; + } + ); + systems = [ "april-lib.dfns.numeric" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "april-lib_dot_dfns_dot_graph" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-lib_dot_dfns_dot_power = ( + build-asdf-system { + pname = "april-lib.dfns.power"; + version = "20241012-git"; + asds = [ "april-lib.dfns.power" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-lib.dfns.power"; + asd = "april-lib.dfns.power"; + } + ); + systems = [ "april-lib.dfns.power" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "april-lib_dot_dfns_dot_array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-lib_dot_dfns_dot_string = ( + build-asdf-system { + pname = "april-lib.dfns.string"; + version = "20241012-git"; + asds = [ "april-lib.dfns.string" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-lib.dfns.string"; + asd = "april-lib.dfns.string"; + } + ); + systems = [ "april-lib.dfns.string" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "april-lib_dot_dfns_dot_array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-lib_dot_dfns_dot_tree = ( + build-asdf-system { + pname = "april-lib.dfns.tree"; + version = "20241012-git"; + asds = [ "april-lib.dfns.tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-lib.dfns.tree"; + asd = "april-lib.dfns.tree"; + } + ); + systems = [ "april-lib.dfns.tree" ]; + lispLibs = [ + (getAttr "april" self) + (getAttr "april-lib_dot_dfns_dot_array" self) + (getAttr "april-lib_dot_dfns_dot_power" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + april-xt_dot_uzuki = ( + build-asdf-system { + pname = "april-xt.uzuki"; + version = "20241012-git"; + asds = [ "april-xt.uzuki" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "april-xt.uzuki"; + asd = "april-xt.uzuki"; + } + ); + systems = [ "april-xt.uzuki" ]; + lispLibs = [ (getAttr "april" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arc-compat = ( + build-asdf-system { + pname = "arc-compat"; + version = "20241012-git"; + asds = [ "arc-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arc-compat/2024-10-12/arc-compat-20241012-git.tgz"; + sha256 = "1wmq5mvlkvdbl4562p3n7x8bhv3swjj0yqbly07y8mv0snasns8d"; + system = "arc-compat"; + asd = "arc-compat"; + } + ); + systems = [ "arc-compat" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "fiveam" self) + (getAttr "ironclad" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_builder-protocol = ( + build-asdf-system { + pname = "architecture.builder-protocol"; + version = "20241012-git"; + asds = [ "architecture.builder-protocol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; + sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; + system = "architecture.builder-protocol"; + asd = "architecture.builder-protocol"; + } + ); + systems = [ "architecture.builder-protocol" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_builder-protocol_dot_inspection = ( + build-asdf-system { + pname = "architecture.builder-protocol.inspection"; + version = "20241012-git"; + asds = [ "architecture.builder-protocol.inspection" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; + sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; + system = "architecture.builder-protocol.inspection"; + asd = "architecture.builder-protocol.inspection"; + } + ); + systems = [ "architecture.builder-protocol.inspection" ]; + lispLibs = [ + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "clouseau" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_builder-protocol_dot_json = ( + build-asdf-system { + pname = "architecture.builder-protocol.json"; + version = "20241012-git"; + asds = [ "architecture.builder-protocol.json" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; + sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; + system = "architecture.builder-protocol.json"; + asd = "architecture.builder-protocol.json"; + } + ); + systems = [ "architecture.builder-protocol.json" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "cl-json" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_builder-protocol_dot_print-tree = ( + build-asdf-system { + pname = "architecture.builder-protocol.print-tree"; + version = "20241012-git"; + asds = [ "architecture.builder-protocol.print-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; + sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; + system = "architecture.builder-protocol.print-tree"; + asd = "architecture.builder-protocol.print-tree"; + } + ); + systems = [ "architecture.builder-protocol.print-tree" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "utilities_dot_print-tree" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_builder-protocol_dot_universal-builder = ( + build-asdf-system { + pname = "architecture.builder-protocol.universal-builder"; + version = "20241012-git"; + asds = [ "architecture.builder-protocol.universal-builder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; + sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; + system = "architecture.builder-protocol.universal-builder"; + asd = "architecture.builder-protocol.universal-builder"; + } + ); + systems = [ "architecture.builder-protocol.universal-builder" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_builder-protocol_dot_xpath = ( + build-asdf-system { + pname = "architecture.builder-protocol.xpath"; + version = "20241012-git"; + asds = [ "architecture.builder-protocol.xpath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2024-10-12/architecture.builder-protocol-20241012-git.tgz"; + sha256 = "1ckrv0ca57xvsvd9rwjcq0yljiv76wj22p1pjpjbjfr5clb9gl0q"; + system = "architecture.builder-protocol.xpath"; + asd = "architecture.builder-protocol.xpath"; + } + ); + systems = [ "architecture.builder-protocol.xpath" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "xpath" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_service-provider = ( + build-asdf-system { + pname = "architecture.service-provider"; + version = "20191007-git"; + asds = [ "architecture.service-provider" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz"; + sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm"; + system = "architecture.service-provider"; + asd = "architecture.service-provider"; + } + ); + systems = [ "architecture.service-provider" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "let-plus" self) + (getAttr "more-conditions" self) + (getAttr "utilities_dot_print-items" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + architecture_dot_service-provider-and-hooks = ( + build-asdf-system { + pname = "architecture.service-provider-and-hooks"; + version = "20191007-git"; + asds = [ "architecture.service-provider-and-hooks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz"; + sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm"; + system = "architecture.service-provider-and-hooks"; + asd = "architecture.service-provider-and-hooks"; + } + ); + systems = [ "architecture.service-provider-and-hooks" ]; + lispLibs = [ + (getAttr "architecture_dot_service-provider" self) + (getAttr "cl-hooks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + archive = ( + build-asdf-system { + pname = "archive"; + version = "20160318-git"; + asds = [ "archive" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/archive/2016-03-18/archive-20160318-git.tgz"; + sha256 = "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"; + system = "archive"; + asd = "archive"; + } + ); + systems = [ "archive" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arith = ( + build-asdf-system { + pname = "arith"; + version = "20170830-git"; + asds = [ "arith" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paren-test/2017-08-30/paren-test-20170830-git.tgz"; + sha256 = "0b2d3kcv3n4b0dm67pzhxx8wxjsgnb32bw2dsprblc7149gaczdr"; + system = "arith"; + asd = "arith"; + } + ); + systems = [ "arith" ]; + lispLibs = [ + (getAttr "paren-files" self) + (getAttr "paren-test" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arithmetic-operators-as-words = ( + build-asdf-system { + pname = "arithmetic-operators-as-words"; + version = "20200610-git"; + asds = [ "arithmetic-operators-as-words" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arithmetic-operators-as-words/2020-06-10/arithmetic-operators-as-words-20200610-git.tgz"; + sha256 = "1bcfkbq3kqns2ng0cdmj81c72j63641pqlskg4xrzkgkh25bhkks"; + system = "arithmetic-operators-as-words"; + asd = "arithmetic-operators-as-words"; + } + ); + systems = [ "arithmetic-operators-as-words" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arnesi = ( + build-asdf-system { + pname = "arnesi"; + version = "20170403-git"; + asds = [ "arnesi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arnesi/2017-04-03/arnesi-20170403-git.tgz"; + sha256 = "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"; + system = "arnesi"; + asd = "arnesi"; + } + ); + systems = [ "arnesi" ]; + lispLibs = [ (getAttr "collectors" self) ]; + meta = { }; + } + ); + array-operations = ( + build-asdf-system { + pname = "array-operations"; + version = "1.2.1"; + asds = [ "array-operations" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/array-operations/2023-10-21/array-operations-1.2.1.tgz"; + sha256 = "06zg7ds7c1vi59zxzrd52a9zfpw8x0jsf1hqcdgaz8s3dcfma3mn"; + system = "array-operations"; + asd = "array-operations"; + } + ); + systems = [ "array-operations" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "let-plus" self) + ]; + meta = { }; + } + ); + array-utils = ( + build-asdf-system { + pname = "array-utils"; + version = "20241012-git"; + asds = [ "array-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/array-utils/2024-10-12/array-utils-20241012-git.tgz"; + sha256 = "0rya7k9sfpyrn5vrn12wywpgsr2f0pmcywv51ixzb0sv8ska0mhs"; + system = "array-utils"; + asd = "array-utils"; + } + ); + systems = [ "array-utils" ]; + lispLibs = [ ]; + meta = { }; + } + ); + array-utils-test = ( + build-asdf-system { + pname = "array-utils-test"; + version = "20241012-git"; + asds = [ "array-utils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/array-utils/2024-10-12/array-utils-20241012-git.tgz"; + sha256 = "0rya7k9sfpyrn5vrn12wywpgsr2f0pmcywv51ixzb0sv8ska0mhs"; + system = "array-utils-test"; + asd = "array-utils-test"; + } + ); + systems = [ "array-utils-test" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arrival = ( + build-asdf-system { + pname = "arrival"; + version = "20211209-git"; + asds = [ "arrival" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arrival/2021-12-09/arrival-20211209-git.tgz"; + sha256 = "1iwdk5fdismw91ln5wdnn8c8xv06fbgiwbvdj2gy2hpp8f3qk00b"; + system = "arrival"; + asd = "arrival"; + } + ); + systems = [ "arrival" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_quasiquote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arrow-macros = ( + build-asdf-system { + pname = "arrow-macros"; + version = "20241012-git"; + asds = [ "arrow-macros" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arrow-macros/2024-10-12/arrow-macros-20241012-git.tgz"; + sha256 = "0q4vpysk4h9ghs5zmnzzilky9jyz7i8n0x0p98nq528crbrkh6c4"; + system = "arrow-macros"; + asd = "arrow-macros"; + } + ); + systems = [ "arrow-macros" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arrow-macros-test = ( + build-asdf-system { + pname = "arrow-macros-test"; + version = "20241012-git"; + asds = [ "arrow-macros-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arrow-macros/2024-10-12/arrow-macros-20241012-git.tgz"; + sha256 = "0q4vpysk4h9ghs5zmnzzilky9jyz7i8n0x0p98nq528crbrkh6c4"; + system = "arrow-macros-test"; + asd = "arrow-macros-test"; + } + ); + systems = [ "arrow-macros-test" ]; + lispLibs = [ + (getAttr "arrow-macros" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + arrows = ( + build-asdf-system { + pname = "arrows"; + version = "20181018-git"; + asds = [ "arrows" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/arrows/2018-10-18/arrows-20181018-git.tgz"; + sha256 = "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"; + system = "arrows"; + asd = "arrows"; + } + ); + systems = [ "arrows" ]; + lispLibs = [ ]; + meta = { }; + } + ); + ascii-strings = ( + build-asdf-system { + pname = "ascii-strings"; + version = "20211209-git"; + asds = [ "ascii-strings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; + sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; + system = "ascii-strings"; + asd = "ascii-strings"; + } + ); + systems = [ "ascii-strings" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asd-generator = ( + build-asdf-system { + pname = "asd-generator"; + version = "20190107-git"; + asds = [ "asd-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asd-generator/2019-01-07/asd-generator-20190107-git.tgz"; + sha256 = "0yiybl7b9x1f85v0drj0yw9821y3yfhya4n6gycnv5vvx6jp9by4"; + system = "asd-generator"; + asd = "asd-generator"; + } + ); + systems = [ "asd-generator" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asd-generator-test = ( + build-asdf-system { + pname = "asd-generator-test"; + version = "20190107-git"; + asds = [ "asd-generator-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asd-generator/2019-01-07/asd-generator-20190107-git.tgz"; + sha256 = "0yiybl7b9x1f85v0drj0yw9821y3yfhya4n6gycnv5vvx6jp9by4"; + system = "asd-generator-test"; + asd = "asd-generator-test"; + } + ); + systems = [ "asd-generator-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-dependency-graph = ( + build-asdf-system { + pname = "asdf-dependency-graph"; + version = "20230618-git"; + asds = [ "asdf-dependency-graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-dependency-graph/2023-06-18/asdf-dependency-graph-20230618-git.tgz"; + sha256 = "1m3cgjmr5fzyas33gjnahcbjiiksr02h2lwdxxl35y2dbip8pygp"; + system = "asdf-dependency-graph"; + asd = "asdf-dependency-graph"; + } + ); + systems = [ "asdf-dependency-graph" ]; + lispLibs = [ (getAttr "optima" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-dependency-grovel = ( + build-asdf-system { + pname = "asdf-dependency-grovel"; + version = "20170403-git"; + asds = [ "asdf-dependency-grovel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-dependency-grovel/2017-04-03/asdf-dependency-grovel-20170403-git.tgz"; + sha256 = "1y4kdqsda4ira4r9dws6kxzzv6mg45q3lkmb2c9mg9q7ksc5glif"; + system = "asdf-dependency-grovel"; + asd = "asdf-dependency-grovel"; + } + ); + systems = [ "asdf-dependency-grovel" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-driver = ( + build-asdf-system { + pname = "asdf-driver"; + version = "3.3.7"; + asds = [ "asdf-driver" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uiop/2024-10-12/uiop-3.3.7.tgz"; + sha256 = "0xvzxglkf9hlly7if0l307k31kwglk2ay4k393545c1l5l1ac584"; + system = "asdf-driver"; + asd = "asdf-driver"; + } + ); + systems = [ "asdf-driver" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-encodings = ( + build-asdf-system { + pname = "asdf-encodings"; + version = "20191007-git"; + asds = [ "asdf-encodings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-encodings/2019-10-07/asdf-encodings-20191007-git.tgz"; + sha256 = "1yn77nhrz5w2s7nlafxjnk9j8fsrz7ivrm7nbj4r726bwc5knky6"; + system = "asdf-encodings"; + asd = "asdf-encodings"; + } + ); + systems = [ "asdf-encodings" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-finalizers = ( + build-asdf-system { + pname = "asdf-finalizers"; + version = "20221106-git"; + asds = [ "asdf-finalizers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-finalizers/2022-11-06/asdf-finalizers-20221106-git.tgz"; + sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"; + system = "asdf-finalizers"; + asd = "asdf-finalizers"; + } + ); + systems = [ "asdf-finalizers" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-linguist = ( + build-asdf-system { + pname = "asdf-linguist"; + version = "20150923-git"; + asds = [ "asdf-linguist" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-linguist/2015-09-23/asdf-linguist-20150923-git.tgz"; + sha256 = "14jaqmxxh70f1jf58mxb117951iql2sjxymmbjyqniqwazznbd9a"; + system = "asdf-linguist"; + asd = "asdf-linguist"; + } + ); + systems = [ "asdf-linguist" ]; + lispLibs = [ + (getAttr "inferior-shell" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-manager = ( + build-asdf-system { + pname = "asdf-manager"; + version = "20160208-git"; + asds = [ "asdf-manager" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-manager/2016-02-08/asdf-manager-20160208-git.tgz"; + sha256 = "0jw7d0vg13v1l1fwwhsw04n6w3c49vsbmq6vrlrkh95aayc5413w"; + system = "asdf-manager"; + asd = "asdf-manager"; + } + ); + systems = [ "asdf-manager" ]; + lispLibs = [ + (getAttr "trivial-download" self) + (getAttr "trivial-extract" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-manager-test = ( + build-asdf-system { + pname = "asdf-manager-test"; + version = "20160208-git"; + asds = [ "asdf-manager-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-manager/2016-02-08/asdf-manager-20160208-git.tgz"; + sha256 = "0jw7d0vg13v1l1fwwhsw04n6w3c49vsbmq6vrlrkh95aayc5413w"; + system = "asdf-manager-test"; + asd = "asdf-manager-test"; + } + ); + systems = [ "asdf-manager-test" ]; + lispLibs = [ + (getAttr "asdf-manager" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-nst = ( + build-asdf-system { + pname = "asdf-nst"; + version = "20210807-git"; + asds = [ "asdf-nst" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "asdf-nst"; + asd = "asdf-nst"; + } + ); + systems = [ "asdf-nst" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asdf-package-system = ( + build-asdf-system { + pname = "asdf-package-system"; + version = "20150608-git"; + asds = [ "asdf-package-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-package-system/2015-06-08/asdf-package-system-20150608-git.tgz"; + sha256 = "1q4qgvbl64c4zdbq91by1la8licdgam7ybnhvg2bixdhq4v693sj"; + system = "asdf-package-system"; + asd = "asdf-package-system"; + } + ); + systems = [ "asdf-package-system" ]; + lispLibs = [ ]; + meta = { }; + } + ); + asdf-system-connections = ( + build-asdf-system { + pname = "asdf-system-connections"; + version = "20170124-git"; + asds = [ "asdf-system-connections" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz"; + sha256 = "06kg0m8bv383qq3r34x0f8hz6p6zxcw02qn7kj960vcnrp5a5b3y"; + system = "asdf-system-connections"; + asd = "asdf-system-connections"; + } + ); + systems = [ "asdf-system-connections" ]; + lispLibs = [ ]; + meta = { }; + } + ); + asdf-viz = ( + build-asdf-system { + pname = "asdf-viz"; + version = "20200610-git"; + asds = [ "asdf-viz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-viz/2020-06-10/asdf-viz-20200610-git.tgz"; + sha256 = "1hj9ac1m2kz8x65n62gd1s2k2x9pip9a85pnmib53qsks3a9sc4z"; + system = "asdf-viz"; + asd = "asdf-viz"; + } + ); + systems = [ "asdf-viz" ]; + lispLibs = [ + (getAttr "cl-dot" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "swank" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aserve = ( + build-asdf-system { + pname = "aserve"; + version = "20190813-git"; + asds = [ "aserve" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; + sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; + system = "aserve"; + asd = "aserve"; + } + ); + systems = [ "aserve" ]; + lispLibs = [ + (getAttr "acl-compat" self) + (getAttr "htmlgen" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asn1 = ( + build-asdf-system { + pname = "asn1"; + version = "20220331-git"; + asds = [ "asn1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asn1/2022-03-31/asn1-20220331-git.tgz"; + sha256 = "16gs4xznmg19ii0cg7g2yxrk9ls5vah8ynjj80s99rv8wi3789z1"; + system = "asn1"; + asd = "asn1"; + } + ); + systems = [ "asn1" ]; + lispLibs = [ + (getAttr "fast-io" self) + (getAttr "ironclad" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + assert-p = ( + build-asdf-system { + pname = "assert-p"; + version = "20200610-git"; + asds = [ "assert-p" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/assert-p/2020-06-10/assert-p-20200610-git.tgz"; + sha256 = "1x24rkqkqiw8zd26swi9rmhfplkmr5scz3bhjwccah9d2s36b1xs"; + system = "assert-p"; + asd = "assert-p"; + } + ); + systems = [ "assert-p" ]; + lispLibs = [ + (getAttr "assertion-error" self) + (getAttr "simplet-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + assertion-error = ( + build-asdf-system { + pname = "assertion-error"; + version = "20191227-git"; + asds = [ "assertion-error" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/assertion-error/2019-12-27/assertion-error-20191227-git.tgz"; + sha256 = "0ix23kkakmf4nwx852zsssb831jvajr3qyppqfyks7y1ls617svn"; + system = "assertion-error"; + asd = "assertion-error"; + } + ); + systems = [ "assertion-error" ]; + lispLibs = [ (getAttr "dissect" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + assoc-utils = ( + build-asdf-system { + pname = "assoc-utils"; + version = "20241012-git"; + asds = [ "assoc-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/assoc-utils/2024-10-12/assoc-utils-20241012-git.tgz"; + sha256 = "0rgfv9qni9dnmm3qnaf1x67h0z38vw2zbmbsdk3a4x5s8ckxln6r"; + system = "assoc-utils"; + asd = "assoc-utils"; + } + ); + systems = [ "assoc-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + assoc-utils-test = ( + build-asdf-system { + pname = "assoc-utils-test"; + version = "20241012-git"; + asds = [ "assoc-utils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/assoc-utils/2024-10-12/assoc-utils-20241012-git.tgz"; + sha256 = "0rgfv9qni9dnmm3qnaf1x67h0z38vw2zbmbsdk3a4x5s8ckxln6r"; + system = "assoc-utils-test"; + asd = "assoc-utils-test"; + } + ); + systems = [ "assoc-utils-test" ]; + lispLibs = [ + (getAttr "assoc-utils" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + asteroids = ( + build-asdf-system { + pname = "asteroids"; + version = "20191007-git"; + asds = [ "asteroids" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asteroids/2019-10-07/asteroids-20191007-git.tgz"; + sha256 = "1wdzwpizgy477ny6pxjshj3q25phdxsjfq8cvrbx0x7k5w8fkg50"; + system = "asteroids"; + asd = "asteroids"; + } + ); + systems = [ "asteroids" ]; + lispLibs = [ + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-gfx" self) + (getAttr "lispbuilder-sdl-mixer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + astonish = ( + build-asdf-system { + pname = "astonish"; + version = "20210124-git"; + asds = [ "astonish" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/astonish/2021-01-24/astonish-20210124-git.tgz"; + sha256 = "14qphx97q4gqcc71figc6r3cgy89rn9c43sh35fzxkln9ydk2pr6"; + system = "astonish"; + asd = "astonish"; + } + ); + systems = [ "astonish" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + async-process = ( + build-asdf-system { + pname = "async-process"; + version = "20241012-git"; + asds = [ "async-process" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/async-process/2024-10-12/async-process-20241012-git.tgz"; + sha256 = "0691z0vs5c65m24p1yi12iy27j59layzvzyy1yl19704x05442qh"; + system = "async-process"; + asd = "async-process"; + } + ); + systems = [ "async-process" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + atdoc = ( + build-asdf-system { + pname = "atdoc"; + version = "20120305-git"; + asds = [ "atdoc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/atdoc/2012-03-05/atdoc-20120305-git.tgz"; + sha256 = "1w54phadjj00sy5qz5n0hmhzyjrx26h9hw06756zdpfbzk4f5il6"; + system = "atdoc"; + asd = "atdoc"; + } + ); + systems = [ "atdoc" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "cxml" self) + (getAttr "split-sequence" self) + (getAttr "swank" self) + (getAttr "xuriella" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + atomics = ( + build-asdf-system { + pname = "atomics"; + version = "20241012-git"; + asds = [ "atomics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/atomics/2024-10-12/atomics-20241012-git.tgz"; + sha256 = "1ah6fgvfva0axnhj4sp1qy6gjyw41fkhpnv998di0wbp6hls8j39"; + system = "atomics"; + asd = "atomics"; + } + ); + systems = [ "atomics" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + atomics-test = ( + build-asdf-system { + pname = "atomics-test"; + version = "20241012-git"; + asds = [ "atomics-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/atomics/2024-10-12/atomics-20241012-git.tgz"; + sha256 = "1ah6fgvfva0axnhj4sp1qy6gjyw41fkhpnv998di0wbp6hls8j39"; + system = "atomics-test"; + asd = "atomics-test"; + } + ); + systems = [ "atomics-test" ]; + lispLibs = [ + (getAttr "atomics" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + audio-tag = ( + build-asdf-system { + pname = "audio-tag"; + version = "20210531-git"; + asds = [ "audio-tag" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/audio-tag/2021-05-31/audio-tag-20210531-git.tgz"; + sha256 = "1k9152wakazr34q4q5x8zzv3mjjkf0n9xdg7c2qqwigwws0ysgzh"; + system = "audio-tag"; + asd = "audio-tag"; + } + ); + systems = [ "audio-tag" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "osicat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + authenticated-encryption = ( + build-asdf-system { + pname = "authenticated-encryption"; + version = "20181018-git"; + asds = [ "authenticated-encryption" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/authenticated-encryption/2018-10-18/authenticated-encryption-20181018-git.tgz"; + sha256 = "0cvl4g0g59z5dicg7q3f9hhqshz2m0a6l2fzic75c3yv28q8m2vr"; + system = "authenticated-encryption"; + asd = "authenticated-encryption"; + } + ); + systems = [ "authenticated-encryption" ]; + lispLibs = [ (getAttr "ironclad" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + authenticated-encryption-test = ( + build-asdf-system { + pname = "authenticated-encryption-test"; + version = "20181018-git"; + asds = [ "authenticated-encryption-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/authenticated-encryption/2018-10-18/authenticated-encryption-20181018-git.tgz"; + sha256 = "0cvl4g0g59z5dicg7q3f9hhqshz2m0a6l2fzic75c3yv28q8m2vr"; + system = "authenticated-encryption-test"; + asd = "authenticated-encryption-test"; + } + ); + systems = [ "authenticated-encryption-test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "authenticated-encryption" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + auto-restart = ( + build-asdf-system { + pname = "auto-restart"; + version = "20241012-git"; + asds = [ "auto-restart" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/auto-restart/2024-10-12/auto-restart-20241012-git.tgz"; + sha256 = "1kz50w4x7glin8fyrfysazz07r4rrk90daml35yrwnz08vi3dfw7"; + system = "auto-restart"; + asd = "auto-restart"; + } + ); + systems = [ "auto-restart" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + autoexport = ( + build-asdf-system { + pname = "autoexport"; + version = "20211020-git"; + asds = [ "autoexport" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/autoexport/2021-10-20/autoexport-20211020-git.tgz"; + sha256 = "15kzq4hfsracxapxik3i6sxqqnwl7cb9lisgk9krrsk13d97l844"; + system = "autoexport"; + asd = "autoexport"; + } + ); + systems = [ "autoexport" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + automaton = ( + build-asdf-system { + pname = "automaton"; + version = "20241012-git"; + asds = [ "automaton" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "automaton"; + asd = "automaton"; + } + ); + systems = [ "automaton" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + avatar-api = ( + build-asdf-system { + pname = "avatar-api"; + version = "20150608-git"; + asds = [ "avatar-api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/avatar-api/2015-06-08/avatar-api-20150608-git.tgz"; + sha256 = "026s8m0bl13iqyakfxc6zwacvpj2bxxipms1kl3k9ql99yn8imvr"; + system = "avatar-api"; + asd = "avatar-api"; + } + ); + systems = [ "avatar-api" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "crypto-shortcuts" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + avatar-api-test = ( + build-asdf-system { + pname = "avatar-api-test"; + version = "20150608-git"; + asds = [ "avatar-api-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/avatar-api/2015-06-08/avatar-api-20150608-git.tgz"; + sha256 = "026s8m0bl13iqyakfxc6zwacvpj2bxxipms1kl3k9ql99yn8imvr"; + system = "avatar-api-test"; + asd = "avatar-api-test"; + } + ); + systems = [ "avatar-api-test" ]; + lispLibs = [ + (getAttr "avatar-api" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + avl-tree = ( + build-asdf-system { + pname = "avl-tree"; + version = "20220707-git"; + asds = [ "avl-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/avl-tree/2022-07-07/avl-tree-20220707-git.tgz"; + sha256 = "1xvh5rpz0kwzx42jrnh3kgqa87z5kmgd7f3fkkydiqj04hknsj7k"; + system = "avl-tree"; + asd = "avl-tree"; + } + ); + systems = [ "avl-tree" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aws-foundation = ( + build-asdf-system { + pname = "aws-foundation"; + version = "20180711-git"; + asds = [ "aws-foundation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aws-foundation/2018-07-11/aws-foundation-20180711-git.tgz"; + sha256 = "1f5af22qw583frqjhnkf9wcccdkkpjiv0bbnlqqk7fxzm9pqpvhb"; + system = "aws-foundation"; + asd = "aws-foundation"; + } + ); + systems = [ "aws-foundation" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-json" self) + (getAttr "cl-json-helper" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aws-sdk = ( + build-asdf-system { + pname = "aws-sdk"; + version = "20241012-git"; + asds = [ "aws-sdk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aws-sdk-lisp/2024-10-12/aws-sdk-lisp-20241012-git.tgz"; + sha256 = "0iqm441fr1qx5py7cvrv4jl9zgfsm813igwvq3rj90606g6lyxjc"; + system = "aws-sdk"; + asd = "aws-sdk"; + } + ); + systems = [ "aws-sdk" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "assoc-utils" self) + (getAttr "aws-sign4" self) + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "kebab" self) + (getAttr "local-time" self) + (getAttr "parser_dot_ini" self) + (getAttr "quri" self) + (getAttr "trivial-timeout" self) + (getAttr "trivial-types" self) + (getAttr "xmls" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aws-sign4 = ( + build-asdf-system { + pname = "aws-sign4"; + version = "20201220-git"; + asds = [ "aws-sign4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz"; + sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk"; + system = "aws-sign4"; + asd = "aws-sign4"; + } + ); + systems = [ "aws-sign4" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + (getAttr "secret-values" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aws-sign4-example = ( + build-asdf-system { + pname = "aws-sign4-example"; + version = "20201220-git"; + asds = [ "aws-sign4-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz"; + sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk"; + system = "aws-sign4-example"; + asd = "aws-sign4"; + } + ); + systems = [ "aws-sign4-example" ]; + lispLibs = [ + (getAttr "aws-sign4" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + aws-sign4-tests = ( + build-asdf-system { + pname = "aws-sign4-tests"; + version = "20201220-git"; + asds = [ "aws-sign4-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz"; + sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk"; + system = "aws-sign4-tests"; + asd = "aws-sign4"; + } + ); + systems = [ "aws-sign4-tests" ]; + lispLibs = [ (getAttr "aws-sign4" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ayah-captcha = ( + build-asdf-system { + pname = "ayah-captcha"; + version = "20180228-git"; + asds = [ "ayah-captcha" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ayah-captcha/2018-02-28/ayah-captcha-20180228-git.tgz"; + sha256 = "1l9zg0hj5cd1yda1nnab7byrgkakh5vn3qcd4lmfidbijk6kiamw"; + system = "ayah-captcha"; + asd = "ayah-captcha"; + } + ); + systems = [ "ayah-captcha" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ayah-captcha-demo = ( + build-asdf-system { + pname = "ayah-captcha-demo"; + version = "20180228-git"; + asds = [ "ayah-captcha-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ayah-captcha/2018-02-28/ayah-captcha-20180228-git.tgz"; + sha256 = "1l9zg0hj5cd1yda1nnab7byrgkakh5vn3qcd4lmfidbijk6kiamw"; + system = "ayah-captcha-demo"; + asd = "ayah-captcha-demo"; + } + ); + systems = [ "ayah-captcha-demo" ]; + lispLibs = [ + (getAttr "ayah-captcha" self) + (getAttr "cl-who" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + babel = ( + build-asdf-system { + pname = "babel"; + version = "20241012-git"; + asds = [ "babel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"; + sha256 = "0359bj3yr6frybcmg8qr5vi4q8hzbsb7hmvxdc0jgkfz3c33q667"; + system = "babel"; + asd = "babel"; + } + ); + systems = [ "babel" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + babel-streams = ( + build-asdf-system { + pname = "babel-streams"; + version = "20241012-git"; + asds = [ "babel-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"; + sha256 = "0359bj3yr6frybcmg8qr5vi4q8hzbsb7hmvxdc0jgkfz3c33q667"; + system = "babel-streams"; + asd = "babel-streams"; + } + ); + systems = [ "babel-streams" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + babel-tests = ( + build-asdf-system { + pname = "babel-tests"; + version = "20241012-git"; + asds = [ "babel-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"; + sha256 = "0359bj3yr6frybcmg8qr5vi4q8hzbsb7hmvxdc0jgkfz3c33q667"; + system = "babel-tests"; + asd = "babel-tests"; + } + ); + systems = [ "babel-tests" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + babylon = ( + build-asdf-system { + pname = "babylon"; + version = "20231021-git"; + asds = [ "babylon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/babylon/2023-10-21/babylon-20231021-git.tgz"; + sha256 = "14k9kvcfyfpn74l5ij5mdc7zlj9vnlnig8piqw0wm5gq9pxmhydg"; + system = "babylon"; + asd = "babylon"; + } + ); + systems = [ "babylon" ]; + lispLibs = [ + (getAttr "fare-quasiquote-extras" self) + (getAttr "fmcs" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + base = ( + build-asdf-system { + pname = "base"; + version = "master-fe503896-git"; + asds = [ "base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "base"; + asd = "base"; + } + ); + systems = [ "base" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + base-blobs = ( + build-asdf-system { + pname = "base-blobs"; + version = "stable-git"; + asds = [ "base-blobs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/base-blobs/2020-10-16/base-blobs-stable-git.tgz"; + sha256 = "06m8rvczj309wq8by697gvrklhff5mnn5n5sky7i11bnszrxysys"; + system = "base-blobs"; + asd = "base-blobs"; + } + ); + systems = [ "base-blobs" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + base64 = ( + build-asdf-system { + pname = "base64"; + version = "20181018-git"; + asds = [ "base64" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/base64/2018-10-18/base64-20181018-git.tgz"; + sha256 = "0qkqcrgmcqshcsnzn4pcyk8d1j9c7pks2qf51p1hfybz5shxkqkh"; + system = "base64"; + asd = "base64"; + } + ); + systems = [ "base64" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + basic-binary-ipc = ( + build-asdf-system { + pname = "basic-binary-ipc"; + version = "20211209-git"; + asds = [ "basic-binary-ipc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/basic-binary-ipc/2021-12-09/basic-binary-ipc-20211209-git.tgz"; + sha256 = "0bsxy27mnmzr6vys96cs2is57zvk0n9hlif9llnp4q9m2wzycbwm"; + system = "basic-binary-ipc"; + asd = "basic-binary-ipc"; + } + ); + systems = [ "basic-binary-ipc" ]; + lispLibs = [ (getAttr "cffi-grovel" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + basic-binary-ipc-tests = ( + build-asdf-system { + pname = "basic-binary-ipc-tests"; + version = "20211209-git"; + asds = [ "basic-binary-ipc-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/basic-binary-ipc/2021-12-09/basic-binary-ipc-20211209-git.tgz"; + sha256 = "0bsxy27mnmzr6vys96cs2is57zvk0n9hlif9llnp4q9m2wzycbwm"; + system = "basic-binary-ipc-tests"; + asd = "basic-binary-ipc-tests"; + } + ); + systems = [ "basic-binary-ipc-tests" ]; + lispLibs = [ + (getAttr "basic-binary-ipc" self) + (getAttr "bordeaux-threads" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bdef = ( + build-asdf-system { + pname = "bdef"; + version = "20241012-git"; + asds = [ "bdef" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bdef/2024-10-12/bdef-20241012-git.tgz"; + sha256 = "16jz9fxxjcpnmhx0yagv8xs7l0b7qh8yx7i7p8fnlxz3pn7726y6"; + system = "bdef"; + asd = "bdef"; + } + ); + systems = [ "bdef" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "eager-future2" self) + (getAttr "jsown" self) + (getAttr "mutility" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + beast = ( + build-asdf-system { + pname = "beast"; + version = "20211020-hg"; + asds = [ "beast" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/beast/2021-10-20/beast-20211020-hg.tgz"; + sha256 = "0rb7yxr4clsdbgyjz9d8inxgj7zs0knrngl7gb6b8ky1vyrv12k4"; + system = "beast"; + asd = "beast"; + } + ); + systems = [ "beast" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + beirc = ( + build-asdf-system { + pname = "beirc"; + version = "20150505-git"; + asds = [ "beirc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/beirc/2015-05-05/beirc-20150505-git.tgz"; + sha256 = "1jmxihxln51vxy85r3zx0gfrzs9ng8nmj87j5ws1fg8bwv8b2zc4"; + system = "beirc"; + asd = "beirc"; + } + ); + systems = [ "beirc" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-irc" self) + (getAttr "cl-ppcre" self) + (getAttr "mcclim" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bencode = ( + build-asdf-system { + pname = "bencode"; + version = "20180228-git"; + asds = [ "bencode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bencode/2018-02-28/cl-bencode-20180228-git.tgz"; + sha256 = "02n9cv5jbgzjwmw11c1a557r62m4i4gmmx38csscbq0cv6vzys1j"; + system = "bencode"; + asd = "bencode"; + } + ); + systems = [ "bencode" ]; + lispLibs = [ (getAttr "flexi-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bencode-test = ( + build-asdf-system { + pname = "bencode-test"; + version = "20180228-git"; + asds = [ "bencode-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bencode/2018-02-28/cl-bencode-20180228-git.tgz"; + sha256 = "02n9cv5jbgzjwmw11c1a557r62m4i4gmmx38csscbq0cv6vzys1j"; + system = "bencode-test"; + asd = "bencode"; + } + ); + systems = [ "bencode-test" ]; + lispLibs = [ + (getAttr "bencode" self) + (getAttr "check-it" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bermuda = ( + build-asdf-system { + pname = "bermuda"; + version = "20150608-git"; + asds = [ "bermuda" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pal/2015-06-08/pal-20150608-git.tgz"; + sha256 = "0kn6jxirrn7wzqymzsi0kx2ivl0nrrcgbl4dm1714s48qw0jwhcw"; + system = "bermuda"; + asd = "bermuda"; + } + ); + systems = [ "bermuda" ]; + lispLibs = [ (getAttr "pal" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bert = ( + build-asdf-system { + pname = "bert"; + version = "20141106-git"; + asds = [ "bert" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bert/2014-11-06/cl-bert-20141106-git.tgz"; + sha256 = "18cyk63dmcqqwsld4h65mzscgjsc085ws69z097naqm1r70kkygr"; + system = "bert"; + asd = "bert"; + } + ); + systems = [ "bert" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "erlang-term" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bibtex = ( + build-asdf-system { + pname = "bibtex"; + version = "20181210-git"; + asds = [ "bibtex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bibtex/2018-12-10/cl-bibtex-20181210-git.tgz"; + sha256 = "1rb4yf1z0vvl6z4kyj0s81kq1pvxwpvbgiaraqllgj1wpf51m78h"; + system = "bibtex"; + asd = "bibtex"; + } + ); + systems = [ "bibtex" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + big-string = ( + build-asdf-system { + pname = "big-string"; + version = "20230618-git"; + asds = [ "big-string" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/big-string/2023-06-18/big-string-20230618-git.tgz"; + sha256 = "03w0y3x9sm0fv0dclmrnh55i83nviz7pw7mdg6di05gw03bnslrc"; + system = "big-string"; + asd = "big-string"; + } + ); + systems = [ "big-string" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bike-internals = ( + build-asdf-system { + pname = "bike-internals"; + version = "20241012-git"; + asds = [ "bike-internals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bike/2024-10-12/bike-20241012-git.tgz"; + sha256 = "0ssv4n39wl3i0r8gy2sg6rxfz571jcfsd6db9ndy13drqnhyda6s"; + system = "bike-internals"; + asd = "bike-internals"; + } + ); + systems = [ "bike-internals" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "flexi-streams" self) + (getAttr "global-vars" self) + (getAttr "split-sequence" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binary-io = ( + build-asdf-system { + pname = "binary-io"; + version = "20201016-git"; + asds = [ "binary-io" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binary-io/2020-10-16/binary-io-20201016-git.tgz"; + sha256 = "0gxnl12nydh8aslw78jc4cmq8licj342y2f04jalqb4d9m9jbri2"; + system = "binary-io"; + asd = "binary-io"; + } + ); + systems = [ "binary-io" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "ieee-floats" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binary-lass = ( + build-asdf-system { + pname = "binary-lass"; + version = "20241012-git"; + asds = [ "binary-lass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lass/2024-10-12/lass-20241012-git.tgz"; + sha256 = "1b6a3v763i5fcdxczffd59kh4m73p4ilz6az85apd22apc8lr80z"; + system = "binary-lass"; + asd = "binary-lass"; + } + ); + systems = [ "binary-lass" ]; + lispLibs = [ (getAttr "lass" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binary-parser = ( + build-asdf-system { + pname = "binary-parser"; + version = "20230214-git"; + asds = [ "binary-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binary-parser/2023-02-14/binary-parser-20230214-git.tgz"; + sha256 = "06lq5iv0ap6qnsrc73rmnr9qirllyz4yxsvimj6ny5wl2hn8i9jl"; + system = "binary-parser"; + asd = "binary-parser"; + } + ); + systems = [ "binary-parser" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bitio" self) + (getAttr "chipz" self) + (getAttr "fast-io" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binary-search-tree = ( + build-asdf-system { + pname = "binary-search-tree"; + version = "20220707-git"; + asds = [ "binary-search-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binary-search-tree/2022-07-07/binary-search-tree-20220707-git.tgz"; + sha256 = "1k7p5dgziwni5yma7q3sbnr23kk2730vzb7ap6knnazpp0smgclf"; + system = "binary-search-tree"; + asd = "binary-search-tree"; + } + ); + systems = [ "binary-search-tree" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binary-structures = ( + build-asdf-system { + pname = "binary-structures"; + version = "20241012-git"; + asds = [ "binary-structures" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binary-structures/2024-10-12/binary-structures-20241012-git.tgz"; + sha256 = "1ygfa4xgd0wliggmmxlqqh9nd7hfsgjwl168l8s9r595vx6fnzmb"; + system = "binary-structures"; + asd = "binary-structures"; + } + ); + systems = [ "binary-structures" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "form-fiddle" self) + (getAttr "nibbles" self) + (getAttr "trivial-extensible-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binary-types = ( + build-asdf-system { + pname = "binary-types"; + version = "20130615-git"; + asds = [ "binary-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binary-types/2013-06-15/binary-types-20130615-git.tgz"; + sha256 = "1bh65p9vg2kgh4m8q1a4jiyncnp5prdzh0d0l4pzh3jvfhgbm0gh"; + system = "binary-types"; + asd = "binary-types"; + } + ); + systems = [ "binary-types" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binascii = ( + build-asdf-system { + pname = "binascii"; + version = "20150709-git"; + asds = [ "binascii" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binascii/2015-07-09/binascii-20150709-git.tgz"; + sha256 = "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7"; + system = "binascii"; + asd = "binascii"; + } + ); + systems = [ "binascii" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binascii-tests = ( + build-asdf-system { + pname = "binascii-tests"; + version = "20150709-git"; + asds = [ "binascii-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binascii/2015-07-09/binascii-20150709-git.tgz"; + sha256 = "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7"; + system = "binascii-tests"; + asd = "binascii"; + } + ); + systems = [ "binascii-tests" ]; + lispLibs = [ (getAttr "binascii" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binding-arrows = ( + build-asdf-system { + pname = "binding-arrows"; + version = "20241012-git"; + asds = [ "binding-arrows" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binding-arrows/2024-10-12/binding-arrows-20241012-git.tgz"; + sha256 = "0kzybw5qlb49czh9v2lnxniz9jzqx306a6lnarfv59x48a7cch22"; + system = "binding-arrows"; + asd = "binding-arrows"; + } + ); + systems = [ "binding-arrows" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binding-knx = ( + build-asdf-system { + pname = "binding-knx"; + version = "20241012-git"; + asds = [ "binding-knx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chipi/2024-10-12/chipi-20241012-git.tgz"; + sha256 = "0xpfclvl5v031cjnjvr3bcfc87rayw624m9yrw35f5r31p8m283g"; + system = "binding-knx"; + asd = "binding-knx"; + } + ); + systems = [ "binding-knx" ]; + lispLibs = [ + (getAttr "chipi" self) + (getAttr "knx-conn" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binfix = ( + build-asdf-system { + pname = "binfix"; + version = "20190813-git"; + asds = [ "binfix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binfix/2019-08-13/binfix-20190813-git.tgz"; + sha256 = "07925kj32y7ppwmz62c08gd0s6yp12s6nz1wh0pzh0ccq9nwgzhz"; + system = "binfix"; + asd = "binfix"; + } + ); + systems = [ "binfix" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + binomial-heap = ( + build-asdf-system { + pname = "binomial-heap"; + version = "20130420-git"; + asds = [ "binomial-heap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binomial-heap/2013-04-20/binomial-heap-20130420-git.tgz"; + sha256 = "1d4jrlkdjdppnvqpqkr7i7djpgmrvrbky4pc1pxvqci5jx7xlkk6"; + system = "binomial-heap"; + asd = "binomial-heap"; + } + ); + systems = [ "binomial-heap" ]; + lispLibs = [ ]; + meta = { }; + } + ); + binpack = ( + build-asdf-system { + pname = "binpack"; + version = "20230214-git"; + asds = [ "binpack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binpack/2023-02-14/binpack-20230214-git.tgz"; + sha256 = "0cfflx7aqmkzsljjaw0dwk49ii0vxm7d07s4gyrszb7zbpmz0jri"; + system = "binpack"; + asd = "binpack"; + } + ); + systems = [ "binpack" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + binpack-test = ( + build-asdf-system { + pname = "binpack-test"; + version = "20230214-git"; + asds = [ "binpack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/binpack/2023-02-14/binpack-20230214-git.tgz"; + sha256 = "0cfflx7aqmkzsljjaw0dwk49ii0vxm7d07s4gyrszb7zbpmz0jri"; + system = "binpack-test"; + asd = "binpack-test"; + } + ); + systems = [ "binpack-test" ]; + lispLibs = [ + (getAttr "binpack" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + birch = ( + build-asdf-system { + pname = "birch"; + version = "20241012-git"; + asds = [ "birch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/birch/2024-10-12/birch-20241012-git.tgz"; + sha256 = "1b24xng92ra7420s3zy44pybk4h7xg4kjwdk35arl46badgi28r1"; + system = "birch"; + asd = "birch"; + } + ); + systems = [ "birch" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl_plus_ssl" self) + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + birch_dot_test = ( + build-asdf-system { + pname = "birch.test"; + version = "20241012-git"; + asds = [ "birch.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/birch/2024-10-12/birch-20241012-git.tgz"; + sha256 = "1b24xng92ra7420s3zy44pybk4h7xg4kjwdk35arl46badgi28r1"; + system = "birch.test"; + asd = "birch.test"; + } + ); + systems = [ "birch.test" ]; + lispLibs = [ + (getAttr "birch" self) + (getAttr "flexi-streams" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bit-ops = ( + build-asdf-system { + pname = "bit-ops"; + version = "20180228-git"; + asds = [ "bit-ops" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bit-ops/2018-02-28/bit-ops-20180228-git.tgz"; + sha256 = "0rwmm438bgxfl5ab1vnrsxgimxnr3d5kjv9a0yzmlnbg9i2hyhz7"; + system = "bit-ops"; + asd = "bit-ops"; + } + ); + systems = [ "bit-ops" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "immutable-struct" self) + (getAttr "iterate" self) + (getAttr "lisp-namespace" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bit-ops_dot_test = ( + build-asdf-system { + pname = "bit-ops.test"; + version = "20180228-git"; + asds = [ "bit-ops.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bit-ops/2018-02-28/bit-ops-20180228-git.tgz"; + sha256 = "0rwmm438bgxfl5ab1vnrsxgimxnr3d5kjv9a0yzmlnbg9i2hyhz7"; + system = "bit-ops.test"; + asd = "bit-ops.test"; + } + ); + systems = [ "bit-ops.test" ]; + lispLibs = [ + (getAttr "bit-ops" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bit-smasher = ( + build-asdf-system { + pname = "bit-smasher"; + version = "20221106-git"; + asds = [ "bit-smasher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bit-smasher/2022-11-06/bit-smasher-20221106-git.tgz"; + sha256 = "1dad4x9sjq45zz8rys6rflsklmw77631r3k4g248ynmaqkdaqjyd"; + system = "bit-smasher"; + asd = "bit-smasher"; + } + ); + systems = [ "bit-smasher" ]; + lispLibs = [ + (getAttr "cl-base58" self) + (getAttr "cl-base64" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bit-smasher-test = ( + build-asdf-system { + pname = "bit-smasher-test"; + version = "20221106-git"; + asds = [ "bit-smasher-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bit-smasher/2022-11-06/bit-smasher-20221106-git.tgz"; + sha256 = "1dad4x9sjq45zz8rys6rflsklmw77631r3k4g248ynmaqkdaqjyd"; + system = "bit-smasher-test"; + asd = "bit-smasher-test"; + } + ); + systems = [ "bit-smasher-test" ]; + lispLibs = [ + (getAttr "bit-smasher" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bitfield = ( + build-asdf-system { + pname = "bitfield"; + version = "20211230-git"; + asds = [ "bitfield" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bitfield/2021-12-30/bitfield-20211230-git.tgz"; + sha256 = "1137kdj5imc5gj9g6hj4w6ksqnqppgm3knzv7j2f8r5qpfl8rfl2"; + system = "bitfield"; + asd = "bitfield"; + } + ); + systems = [ "bitfield" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bitfield-schema = ( + build-asdf-system { + pname = "bitfield-schema"; + version = "20120107-git"; + asds = [ "bitfield-schema" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bitfield-schema/2012-01-07/bitfield-schema-20120107-git.tgz"; + sha256 = "08xkl7rbfhrx8vj98zj1lmhv6pfg2f5gk14xj7qys7mkj2iv4li6"; + system = "bitfield-schema"; + asd = "bitfield-schema"; + } + ); + systems = [ "bitfield-schema" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bitio = ( + build-asdf-system { + pname = "bitio"; + version = "20220220-git"; + asds = [ "bitio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bitio/2022-02-20/bitio-20220220-git.tgz"; + sha256 = "0z2yn19nxg46j274nxzry255z86p0y3p68s1f2sg7rx9y2nx3rjg"; + system = "bitio"; + asd = "bitio"; + } + ); + systems = [ "bitio" ]; + lispLibs = [ + (getAttr "checkl" self) + (getAttr "cl-package-locks" self) + (getAttr "fast-io" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bk-tree = ( + build-asdf-system { + pname = "bk-tree"; + version = "20130420-git"; + asds = [ "bk-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bk-tree/2013-04-20/bk-tree-20130420-git.tgz"; + sha256 = "1nrz6fwzvkzvs6ipc5rgas77p5hv5bnaw2in5760v240gg7lxqzz"; + system = "bk-tree"; + asd = "bk-tree"; + } + ); + systems = [ "bk-tree" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_data_dot_impex = ( + build-asdf-system { + pname = "bknr.data.impex"; + version = "20220220-git"; + asds = [ "bknr.data.impex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.data.impex"; + asd = "bknr.data.impex"; + } + ); + systems = [ "bknr.data.impex" ]; + lispLibs = [ + (getAttr "bknr_dot_datastore" self) + (getAttr "bknr_dot_impex" self) + (getAttr "bknr_dot_indices" self) + (getAttr "bknr_dot_utils" self) + (getAttr "cl-interpol" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_datastore = ( + build-asdf-system { + pname = "bknr.datastore"; + version = "20220220-git"; + asds = [ "bknr.datastore" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.datastore"; + asd = "bknr.datastore"; + } + ); + systems = [ "bknr.datastore" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bknr_dot_indices" self) + (getAttr "bknr_dot_utils" self) + (getAttr "cl-interpol" self) + (getAttr "closer-mop" self) + (getAttr "trivial-utf-8" self) + (getAttr "unit-test" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_impex = ( + build-asdf-system { + pname = "bknr.impex"; + version = "20220220-git"; + asds = [ "bknr.impex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.impex"; + asd = "bknr.impex"; + } + ); + systems = [ "bknr.impex" ]; + lispLibs = [ + (getAttr "bknr_dot_indices" self) + (getAttr "bknr_dot_utils" self) + (getAttr "bknr_dot_xml" self) + (getAttr "cl-interpol" self) + (getAttr "closer-mop" self) + (getAttr "cxml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_indices = ( + build-asdf-system { + pname = "bknr.indices"; + version = "20220220-git"; + asds = [ "bknr.indices" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.indices"; + asd = "bknr.indices"; + } + ); + systems = [ "bknr.indices" ]; + lispLibs = [ + (getAttr "bknr_dot_skip-list" self) + (getAttr "bknr_dot_utils" self) + (getAttr "cl-interpol" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_modules = ( + build-asdf-system { + pname = "bknr.modules"; + version = "20140713-git"; + asds = [ "bknr.modules" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; + sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; + system = "bknr.modules"; + asd = "bknr.modules"; + } + ); + systems = [ "bknr.modules" ]; + lispLibs = [ + (getAttr "bknr_dot_utils" self) + (getAttr "bknr_dot_web" self) + (getAttr "cl-gd" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-smtp" self) + (getAttr "closer-mop" self) + (getAttr "cxml" self) + (getAttr "md5" self) + (getAttr "parenscript" self) + (getAttr "puri" self) + (getAttr "stem" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_skip-list = ( + build-asdf-system { + pname = "bknr.skip-list"; + version = "20220220-git"; + asds = [ "bknr.skip-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.skip-list"; + asd = "bknr.skip-list"; + } + ); + systems = [ "bknr.skip-list" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_skip-list_dot_test = ( + build-asdf-system { + pname = "bknr.skip-list.test"; + version = "20220220-git"; + asds = [ "bknr.skip-list.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.skip-list.test"; + asd = "bknr.skip-list"; + } + ); + systems = [ "bknr.skip-list.test" ]; + lispLibs = [ + (getAttr "bknr_dot_skip-list" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_utils = ( + build-asdf-system { + pname = "bknr.utils"; + version = "20220220-git"; + asds = [ "bknr.utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.utils"; + asd = "bknr.utils"; + } + ); + systems = [ "bknr.utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "md5" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_web = ( + build-asdf-system { + pname = "bknr.web"; + version = "20140713-git"; + asds = [ "bknr.web" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; + sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; + system = "bknr.web"; + asd = "bknr.web"; + } + ); + systems = [ "bknr.web" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bknr_dot_data_dot_impex" self) + (getAttr "bknr_dot_datastore" self) + (getAttr "bknr_dot_utils" self) + (getAttr "bknr_dot_xml" self) + (getAttr "cl-gd" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + (getAttr "md5" self) + (getAttr "parenscript" self) + (getAttr "puri" self) + (getAttr "unit-test" self) + (getAttr "usocket" self) + (getAttr "xhtmlgen" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bknr_dot_xml = ( + build-asdf-system { + pname = "bknr.xml"; + version = "20220220-git"; + asds = [ "bknr.xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-datastore/2022-02-20/bknr-datastore-20220220-git.tgz"; + sha256 = "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"; + system = "bknr.xml"; + asd = "bknr.xml"; + } + ); + systems = [ "bknr.xml" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cxml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + black-tie = ( + build-asdf-system { + pname = "black-tie"; + version = "20220707-git"; + asds = [ "black-tie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/black-tie/2022-07-07/black-tie-20220707-git.tgz"; + sha256 = "0a1zczxp4wkqs4cmwc4rnsgwwc2h4zqmg58cjykfzz4jh31fa43a"; + system = "black-tie"; + asd = "black-tie"; + } + ); + systems = [ "black-tie" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blackbird = ( + build-asdf-system { + pname = "blackbird"; + version = "20241012-git"; + asds = [ "blackbird" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/blackbird/2024-10-12/blackbird-20241012-git.tgz"; + sha256 = "0bqg8sn816qfar410w2c2k07vqh9sig8zbkvlmwj1bk33snvmam8"; + system = "blackbird"; + asd = "blackbird"; + } + ); + systems = [ "blackbird" ]; + lispLibs = [ (getAttr "vom" self) ]; + meta = { }; + } + ); + blackbird-test = ( + build-asdf-system { + pname = "blackbird-test"; + version = "20241012-git"; + asds = [ "blackbird-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/blackbird/2024-10-12/blackbird-20241012-git.tgz"; + sha256 = "0bqg8sn816qfar410w2c2k07vqh9sig8zbkvlmwj1bk33snvmam8"; + system = "blackbird-test"; + asd = "blackbird-test"; + } + ); + systems = [ "blackbird-test" ]; + lispLibs = [ + (getAttr "blackbird" self) + (getAttr "cl-async" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blas = ( + build-asdf-system { + pname = "blas"; + version = "20231021-git"; + asds = [ "blas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "blas"; + asd = "blas"; + } + ); + systems = [ "blas" ]; + lispLibs = [ + (getAttr "blas-complex" self) + (getAttr "blas-package" self) + (getAttr "blas-real" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blas-complex = ( + build-asdf-system { + pname = "blas-complex"; + version = "20231021-git"; + asds = [ "blas-complex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "blas-complex"; + asd = "blas-complex"; + } + ); + systems = [ "blas-complex" ]; + lispLibs = [ + (getAttr "blas-real" self) + (getAttr "f2cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blas-hompack = ( + build-asdf-system { + pname = "blas-hompack"; + version = "20231021-git"; + asds = [ "blas-hompack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "blas-hompack"; + asd = "blas-hompack"; + } + ); + systems = [ "blas-hompack" ]; + lispLibs = [ + (getAttr "blas-package" self) + (getAttr "f2cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blas-package = ( + build-asdf-system { + pname = "blas-package"; + version = "20231021-git"; + asds = [ "blas-package" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "blas-package"; + asd = "blas-package"; + } + ); + systems = [ "blas-package" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blas-real = ( + build-asdf-system { + pname = "blas-real"; + version = "20231021-git"; + asds = [ "blas-real" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "blas-real"; + asd = "blas-real"; + } + ); + systems = [ "blas-real" ]; + lispLibs = [ + (getAttr "blas-hompack" self) + (getAttr "f2cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + blocks-world = ( + build-asdf-system { + pname = "blocks-world"; + version = "20120305-git"; + asds = [ "blocks-world" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/atdoc/2012-03-05/atdoc-20120305-git.tgz"; + sha256 = "1w54phadjj00sy5qz5n0hmhzyjrx26h9hw06756zdpfbzk4f5il6"; + system = "blocks-world"; + asd = "blocks-world"; + } + ); + systems = [ "blocks-world" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bmas = ( + build-asdf-system { + pname = "bmas"; + version = "20241012-git"; + asds = [ "bmas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bmas/2024-10-12/cl-bmas-20241012-git.tgz"; + sha256 = "1j4wniwcxz4kqzw7q3ac8rpz2xhd0qfdgl5dylswh02ifdgq9z4m"; + system = "bmas"; + asd = "bmas"; + } + ); + systems = [ "bmas" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-autowrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bmp-test = ( + build-asdf-system { + pname = "bmp-test"; + version = "20211020-git"; + asds = [ "bmp-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; + sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; + system = "bmp-test"; + asd = "bmp-test"; + } + ); + systems = [ "bmp-test" ]; + lispLibs = [ (getAttr "png" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bnf = ( + build-asdf-system { + pname = "bnf"; + version = "20220220-git"; + asds = [ "bnf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bnf/2022-02-20/bnf-20220220-git.tgz"; + sha256 = "1kr6k9qs9bbza591hi1c2mlxqd5yz3nrvyd3cw7139iz1z2m7dbg"; + system = "bnf"; + asd = "bnf"; + } + ); + systems = [ "bnf" ]; + lispLibs = [ (getAttr "trestrul" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bnf_dot_test = ( + build-asdf-system { + pname = "bnf.test"; + version = "20220220-git"; + asds = [ "bnf.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bnf/2022-02-20/bnf-20220220-git.tgz"; + sha256 = "1kr6k9qs9bbza591hi1c2mlxqd5yz3nrvyd3cw7139iz1z2m7dbg"; + system = "bnf.test"; + asd = "bnf.test"; + } + ); + systems = [ "bnf.test" ]; + lispLibs = [ + (getAttr "bnf" self) + (getAttr "jingoh" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bobbin = ( + build-asdf-system { + pname = "bobbin"; + version = "20201016-hg"; + asds = [ "bobbin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bobbin/2020-10-16/bobbin-20201016-hg.tgz"; + sha256 = "1yvx7d0cx5b119r4aays2rck33088bp7spaydnvkc329hfq1ahc2"; + system = "bobbin"; + asd = "bobbin"; + } + ); + systems = [ "bobbin" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-blobs-support = ( + build-asdf-system { + pname = "bodge-blobs-support"; + version = "stable-git"; + asds = [ "bodge-blobs-support" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-blobs-support/2020-10-16/bodge-blobs-support-stable-git.tgz"; + sha256 = "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"; + system = "bodge-blobs-support"; + asd = "bodge-blobs-support"; + } + ); + systems = [ "bodge-blobs-support" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-chipmunk = ( + build-asdf-system { + pname = "bodge-chipmunk"; + version = "stable-git"; + asds = [ "bodge-chipmunk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-chipmunk/2020-10-16/bodge-chipmunk-stable-git.tgz"; + sha256 = "06zkia7rrhn1961jmayyvdbbbnf2rnr84lbd1x6gq8psfb2rif2f"; + system = "bodge-chipmunk"; + asd = "bodge-chipmunk"; + } + ); + systems = [ "bodge-chipmunk" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-c-ref" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-concurrency = ( + build-asdf-system { + pname = "bodge-concurrency"; + version = "stable-git"; + asds = [ "bodge-concurrency" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-concurrency/2020-10-16/bodge-concurrency-stable-git.tgz"; + sha256 = "06v2h7vassp5v50qsqxkmshcrlrzlhqaga4z7lnidfniw7f8d5vd"; + system = "bodge-concurrency"; + asd = "bodge-concurrency"; + } + ); + systems = [ "bodge-concurrency" ]; + lispLibs = [ + (getAttr "bodge-memory" self) + (getAttr "bodge-queue" self) + (getAttr "bodge-utilities" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-flow" self) + (getAttr "cl-muth" self) + (getAttr "simple-flow-dispatcher" self) + (getAttr "trivial-main-thread" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-glad = ( + build-asdf-system { + pname = "bodge-glad"; + version = "stable-git"; + asds = [ "bodge-glad" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-glad/2020-10-16/bodge-glad-stable-git.tgz"; + sha256 = "0ghrg0z5pj36igp5wpvp1iwnvjbca3wfb60kvirhv3l9ww51jg9g"; + system = "bodge-glad"; + asd = "bodge-glad"; + } + ); + systems = [ "bodge-glad" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-glfw = ( + build-asdf-system { + pname = "bodge-glfw"; + version = "stable-git"; + asds = [ "bodge-glfw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-glfw/2020-10-16/bodge-glfw-stable-git.tgz"; + sha256 = "1xjg75grndl2mbfql1g2qgx810kg6wxrnhxb406m9lisd112i0m8"; + system = "bodge-glfw"; + asd = "bodge-glfw"; + } + ); + systems = [ "bodge-glfw" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-c-ref" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-heap = ( + build-asdf-system { + pname = "bodge-heap"; + version = "stable-git"; + asds = [ "bodge-heap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-heap/2020-10-16/bodge-heap-stable-git.tgz"; + sha256 = "1ngi9ccr9iz93mm3b4hgh2fj39vqpjrpkcfza5vly16z3r7gxca4"; + system = "bodge-heap"; + asd = "bodge-heap"; + } + ); + systems = [ "bodge-heap" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-host = ( + build-asdf-system { + pname = "bodge-host"; + version = "stable-git"; + asds = [ "bodge-host" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-host/2021-12-09/bodge-host-stable-git.tgz"; + sha256 = "0piayirpbh91klrk3pg0g1vxhlk8yxvbr2wv923awdalwy0fn73n"; + system = "bodge-host"; + asd = "bodge-host"; + } + ); + systems = [ "bodge-host" ]; + lispLibs = [ + (getAttr "bodge-concurrency" self) + (getAttr "bodge-glfw" self) + (getAttr "bodge-libc-essentials" self) + (getAttr "bodge-math" self) + (getAttr "bodge-utilities" self) + (getAttr "cffi-c-ref" self) + (getAttr "float-features" self) + (getAttr "glfw-blob" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-libc-essentials = ( + build-asdf-system { + pname = "bodge-libc-essentials"; + version = "stable-git"; + asds = [ "bodge-libc-essentials" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-libc-essentials/2020-10-16/bodge-libc-essentials-stable-git.tgz"; + sha256 = "1nkjhkaap78xk9rkvnnnkchphiz0qwrsfp4jsvcl6mvv3rb4gp2k"; + system = "bodge-libc-essentials"; + asd = "bodge-libc-essentials"; + } + ); + systems = [ "bodge-libc-essentials" ]; + lispLibs = [ (getAttr "claw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-math = ( + build-asdf-system { + pname = "bodge-math"; + version = "stable-git"; + asds = [ "bodge-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-math/2020-10-16/bodge-math-stable-git.tgz"; + sha256 = "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"; + system = "bodge-math"; + asd = "bodge-math"; + } + ); + systems = [ "bodge-math" ]; + lispLibs = [ + (getAttr "bodge-utilities" self) + (getAttr "rtg-math" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-memory = ( + build-asdf-system { + pname = "bodge-memory"; + version = "stable-git"; + asds = [ "bodge-memory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-memory/2020-10-16/bodge-memory-stable-git.tgz"; + sha256 = "19fn3dw5z6f2kpar0jx7ysy5zvqjv7yv0ca7njgaam3p891yy2j9"; + system = "bodge-memory"; + asd = "bodge-memory"; + } + ); + systems = [ "bodge-memory" ]; + lispLibs = [ + (getAttr "bodge-utilities" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-nanovg = ( + build-asdf-system { + pname = "bodge-nanovg"; + version = "stable-git"; + asds = [ "bodge-nanovg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-nanovg/2020-10-16/bodge-nanovg-stable-git.tgz"; + sha256 = "0cg4rlsddjrn0ps891n29xnd14xiis20ka5gafbz9npbj6nrc4v1"; + system = "bodge-nanovg"; + asd = "bodge-nanovg"; + } + ); + systems = [ "bodge-nanovg" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-c-ref" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-nuklear = ( + build-asdf-system { + pname = "bodge-nuklear"; + version = "stable-git"; + asds = [ "bodge-nuklear" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-nuklear/2020-10-16/bodge-nuklear-stable-git.tgz"; + sha256 = "15q89dz2zi99yyxhb90wyydy24y2lj5xm2mzh1mrw4v8rz9aqhc2"; + system = "bodge-nuklear"; + asd = "bodge-nuklear"; + } + ); + systems = [ "bodge-nuklear" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-c-ref" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-ode = ( + build-asdf-system { + pname = "bodge-ode"; + version = "stable-git"; + asds = [ "bodge-ode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-ode/2020-10-16/bodge-ode-stable-git.tgz"; + sha256 = "1c051ljn5x7ssysia7lil0ykjdnbx8dfkr45ck77plv39acgicbs"; + system = "bodge-ode"; + asd = "bodge-ode"; + } + ); + systems = [ "bodge-ode" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-c-ref" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + (getAttr "float-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-openal = ( + build-asdf-system { + pname = "bodge-openal"; + version = "stable-git"; + asds = [ "bodge-openal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-openal/2020-10-16/bodge-openal-stable-git.tgz"; + sha256 = "0051pwifygj1ijv5b39ldmfrka2yrj8rpap04bw3w9cckbkp6bnw"; + system = "bodge-openal"; + asd = "bodge-openal"; + } + ); + systems = [ "bodge-openal" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-queue = ( + build-asdf-system { + pname = "bodge-queue"; + version = "stable-git"; + asds = [ "bodge-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-queue/2020-10-16/bodge-queue-stable-git.tgz"; + sha256 = "0f4252i8pfy5s4v7w1bpjawysn4cw7di405mqsx2h7skv27hvpz6"; + system = "bodge-queue"; + asd = "bodge-queue"; + } + ); + systems = [ "bodge-queue" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-sndfile = ( + build-asdf-system { + pname = "bodge-sndfile"; + version = "stable-git"; + asds = [ "bodge-sndfile" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-sndfile/2020-10-16/bodge-sndfile-stable-git.tgz"; + sha256 = "0chdasp4zvr5n34x037lhymh90wg5xwbpr5flwj8aw0cw2nlg485"; + system = "bodge-sndfile"; + asd = "bodge-sndfile"; + } + ); + systems = [ "bodge-sndfile" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bodge-libc-essentials" self) + (getAttr "cffi" self) + (getAttr "cffi-c-ref" self) + (getAttr "claw" self) + (getAttr "claw-utils" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bodge-utilities = ( + build-asdf-system { + pname = "bodge-utilities"; + version = "stable-git"; + asds = [ "bodge-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bodge-utilities/2022-07-07/bodge-utilities-stable-git.tgz"; + sha256 = "0jmz7zb5ahg2kfd5nrh9nb7dda5szamjv7iv9skgcvf7rwn8qf0g"; + system = "bodge-utilities"; + asd = "bodge-utilities"; + } + ); + systems = [ "bodge-utilities" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "claw" self) + (getAttr "dissect" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "split-sequence" self) + (getAttr "static-vectors" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bordeaux-fft = ( + build-asdf-system { + pname = "bordeaux-fft"; + version = "20150608-http"; + asds = [ "bordeaux-fft" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bordeaux-fft/2015-06-08/bordeaux-fft-20150608-http.tgz"; + sha256 = "0kmz0wv34p8wixph5i6vj6p60xa48fflh9aq6kismlb0q4a1amp3"; + system = "bordeaux-fft"; + asd = "bordeaux-fft"; + } + ); + systems = [ "bordeaux-fft" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bordeaux-threads = ( + build-asdf-system { + pname = "bordeaux-threads"; + version = "v0.9.4"; + asds = [ "bordeaux-threads" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bordeaux-threads/2024-10-12/bordeaux-threads-v0.9.4.tgz"; + sha256 = "1ds1aa3rd38hq5i1nwd9qi8icxmdag0shcwwsf7km91v9214385d"; + system = "bordeaux-threads"; + asd = "bordeaux-threads"; + } + ); + systems = [ "bordeaux-threads" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "global-vars" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + bourbaki = ( + build-asdf-system { + pname = "bourbaki"; + version = "20110110-http"; + asds = [ "bourbaki" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bourbaki/2011-01-10/bourbaki-20110110-http.tgz"; + sha256 = "0d222kjk1h60467bkjpxglds3gykily5pyrnb45yvx86shkiv4lp"; + system = "bourbaki"; + asd = "bourbaki"; + } + ); + systems = [ "bourbaki" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bp = ( + build-asdf-system { + pname = "bp"; + version = "20231021-git"; + asds = [ "bp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bp/2023-10-21/bp-20231021-git.tgz"; + sha256 = "1l58bf2fq0807id4cs39sajsfw0z7zz4gxb2vpcvfa9nxcbyziqx"; + system = "bp"; + asd = "bp"; + } + ); + systems = [ "bp" ]; + lispLibs = [ + (getAttr "aserve" self) + (getAttr "cffi" self) + (getAttr "ironclad" self) + (getAttr "jsown" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bst = ( + build-asdf-system { + pname = "bst"; + version = "20221106-git"; + asds = [ "bst" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bst/2022-11-06/bst-20221106-git.tgz"; + sha256 = "0y052jf3gkqhb7rfx72961kg42dnqhmizk7cxlv87d1jr2906d1d"; + system = "bst"; + asd = "bst"; + } + ); + systems = [ "bst" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bt-semaphore = ( + build-asdf-system { + pname = "bt-semaphore"; + version = "20180711-git"; + asds = [ "bt-semaphore" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bt-semaphore/2018-07-11/bt-semaphore-20180711-git.tgz"; + sha256 = "0rl7yp36225z975hg069pywwlpchwn4086cgxwsi2db5mhghpr7l"; + system = "bt-semaphore"; + asd = "bt-semaphore"; + } + ); + systems = [ "bt-semaphore" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bt-semaphore-test = ( + build-asdf-system { + pname = "bt-semaphore-test"; + version = "20180711-git"; + asds = [ "bt-semaphore-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bt-semaphore/2018-07-11/bt-semaphore-20180711-git.tgz"; + sha256 = "0rl7yp36225z975hg069pywwlpchwn4086cgxwsi2db5mhghpr7l"; + system = "bt-semaphore-test"; + asd = "bt-semaphore-test"; + } + ); + systems = [ "bt-semaphore-test" ]; + lispLibs = [ + (getAttr "bt-semaphore" self) + (getAttr "clunit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + btrie = ( + build-asdf-system { + pname = "btrie"; + version = "20140713-git"; + asds = [ "btrie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/btrie/2014-07-13/btrie-20140713-git.tgz"; + sha256 = "0f1rs2zlpi2bcyba951h3cnyz2mfsxr2i6icmqbam5acqjdrmp30"; + system = "btrie"; + asd = "btrie"; + } + ); + systems = [ "btrie" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "lift" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + btrie-tests = ( + build-asdf-system { + pname = "btrie-tests"; + version = "20140713-git"; + asds = [ "btrie-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/btrie/2014-07-13/btrie-20140713-git.tgz"; + sha256 = "0f1rs2zlpi2bcyba951h3cnyz2mfsxr2i6icmqbam5acqjdrmp30"; + system = "btrie-tests"; + asd = "btrie"; + } + ); + systems = [ "btrie-tests" ]; + lispLibs = [ + (getAttr "btrie" self) + (getAttr "lift" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bubble-operator-upwards = ( + build-asdf-system { + pname = "bubble-operator-upwards"; + version = "1.1"; + asds = [ "bubble-operator-upwards" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bubble-operator-upwards/2023-10-21/bubble-operator-upwards_1.1.tgz"; + sha256 = "1k6rvhlx4z0xb460dyg6blvqkwxakvqxslky69ld8p2yni1qar5p"; + system = "bubble-operator-upwards"; + asd = "bubble-operator-upwards"; + } + ); + systems = [ "bubble-operator-upwards" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bubble-operator-upwards__tests = ( + build-asdf-system { + pname = "bubble-operator-upwards_tests"; + version = "1.1"; + asds = [ "bubble-operator-upwards_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bubble-operator-upwards/2023-10-21/bubble-operator-upwards_1.1.tgz"; + sha256 = "1k6rvhlx4z0xb460dyg6blvqkwxakvqxslky69ld8p2yni1qar5p"; + system = "bubble-operator-upwards_tests"; + asd = "bubble-operator-upwards_tests"; + } + ); + systems = [ "bubble-operator-upwards_tests" ]; + lispLibs = [ + (getAttr "bubble-operator-upwards" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + buildapp = ( + build-asdf-system { + pname = "buildapp"; + version = "1.5.6"; + asds = [ "buildapp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildapp/2015-12-18/buildapp-1.5.6.tgz"; + sha256 = "020ipjfqa3l8skd97cj5kq837wgpj28ygfxnkv64cnjrlbnzh161"; + system = "buildapp"; + asd = "buildapp"; + } + ); + systems = [ "buildapp" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + buildnode = ( + build-asdf-system { + pname = "buildnode"; + version = "20170403-git"; + asds = [ "buildnode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode"; + asd = "buildnode"; + } + ); + systems = [ "buildnode" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "closure-html" self) + (getAttr "collectors" self) + (getAttr "cxml" self) + (getAttr "flexi-streams" self) + (getAttr "iterate" self) + (getAttr "split-sequence" self) + (getAttr "swank" self) + (getAttr "symbol-munger" self) + ]; + meta = { }; + } + ); + buildnode-excel = ( + build-asdf-system { + pname = "buildnode-excel"; + version = "20170403-git"; + asds = [ "buildnode-excel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode-excel"; + asd = "buildnode-excel"; + } + ); + systems = [ "buildnode-excel" ]; + lispLibs = [ (getAttr "buildnode" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + buildnode-html5 = ( + build-asdf-system { + pname = "buildnode-html5"; + version = "20170403-git"; + asds = [ "buildnode-html5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode-html5"; + asd = "buildnode-html5"; + } + ); + systems = [ "buildnode-html5" ]; + lispLibs = [ (getAttr "buildnode" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + buildnode-kml = ( + build-asdf-system { + pname = "buildnode-kml"; + version = "20170403-git"; + asds = [ "buildnode-kml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode-kml"; + asd = "buildnode-kml"; + } + ); + systems = [ "buildnode-kml" ]; + lispLibs = [ (getAttr "buildnode" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + buildnode-test = ( + build-asdf-system { + pname = "buildnode-test"; + version = "20170403-git"; + asds = [ "buildnode-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode-test"; + asd = "buildnode"; + } + ); + systems = [ "buildnode-test" ]; + lispLibs = [ + (getAttr "buildnode" self) + (getAttr "buildnode-xhtml" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + buildnode-xhtml = ( + build-asdf-system { + pname = "buildnode-xhtml"; + version = "20170403-git"; + asds = [ "buildnode-xhtml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode-xhtml"; + asd = "buildnode-xhtml"; + } + ); + systems = [ "buildnode-xhtml" ]; + lispLibs = [ (getAttr "buildnode" self) ]; + meta = { }; + } + ); + buildnode-xul = ( + build-asdf-system { + pname = "buildnode-xul"; + version = "20170403-git"; + asds = [ "buildnode-xul" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz"; + sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs"; + system = "buildnode-xul"; + asd = "buildnode-xul"; + } + ); + systems = [ "buildnode-xul" ]; + lispLibs = [ (getAttr "buildnode" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + burgled-batteries = ( + build-asdf-system { + pname = "burgled-batteries"; + version = "20160825-git"; + asds = [ "burgled-batteries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/burgled-batteries/2016-08-25/burgled-batteries-20160825-git.tgz"; + sha256 = "080ff1yrmfb87pqq1jqr35djjkh3fh8i6cbhv3d1md5qy7hhgdaj"; + system = "burgled-batteries"; + asd = "burgled-batteries"; + } + ); + systems = [ "burgled-batteries" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-fad" self) + (getAttr "parse-declarations-1_dot_0" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + burgled-batteries-tests = ( + build-asdf-system { + pname = "burgled-batteries-tests"; + version = "20160825-git"; + asds = [ "burgled-batteries-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/burgled-batteries/2016-08-25/burgled-batteries-20160825-git.tgz"; + sha256 = "080ff1yrmfb87pqq1jqr35djjkh3fh8i6cbhv3d1md5qy7hhgdaj"; + system = "burgled-batteries-tests"; + asd = "burgled-batteries-tests"; + } + ); + systems = [ "burgled-batteries-tests" ]; + lispLibs = [ + (getAttr "burgled-batteries" self) + (getAttr "cl-quickcheck" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + burgled-batteries_dot_syntax = ( + build-asdf-system { + pname = "burgled-batteries.syntax"; + version = "20210531-git"; + asds = [ "burgled-batteries.syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/burgled-batteries.syntax/2021-05-31/burgled-batteries.syntax-20210531-git.tgz"; + sha256 = "1hx8w74cgx1qbk6r2p7lzygjqxs5mzxh7w73zrmdibny64akir9a"; + system = "burgled-batteries.syntax"; + asd = "burgled-batteries.syntax"; + } + ); + systems = [ "burgled-batteries.syntax" ]; + lispLibs = [ + (getAttr "burgled-batteries" self) + (getAttr "esrap" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + burgled-batteries_dot_syntax-test = ( + build-asdf-system { + pname = "burgled-batteries.syntax-test"; + version = "20210531-git"; + asds = [ "burgled-batteries.syntax-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/burgled-batteries.syntax/2021-05-31/burgled-batteries.syntax-20210531-git.tgz"; + sha256 = "1hx8w74cgx1qbk6r2p7lzygjqxs5mzxh7w73zrmdibny64akir9a"; + system = "burgled-batteries.syntax-test"; + asd = "burgled-batteries.syntax-test"; + } + ); + systems = [ "burgled-batteries.syntax-test" ]; + lispLibs = [ + (getAttr "burgled-batteries_dot_syntax" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bus = ( + build-asdf-system { + pname = "bus"; + version = "master-fe503896-git"; + asds = [ "bus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "bus"; + asd = "bus"; + } + ); + systems = [ "bus" ]; + lispLibs = [ (getAttr "gwl-graphics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bytecurry_dot_asdf-ext = ( + build-asdf-system { + pname = "bytecurry.asdf-ext"; + version = "20150505-git"; + asds = [ "bytecurry.asdf-ext" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bytecurry.asdf-ext/2015-05-05/bytecurry.asdf-ext-20150505-git.tgz"; + sha256 = "07w2lz9mq35sgzzvmz9084l1sia40zkhlvfblkpzxfwyzr6cxrxa"; + system = "bytecurry.asdf-ext"; + asd = "bytecurry.asdf-ext"; + } + ); + systems = [ "bytecurry.asdf-ext" ]; + lispLibs = [ (getAttr "asdf-package-system" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + bytecurry_dot_mocks = ( + build-asdf-system { + pname = "bytecurry.mocks"; + version = "20200325-git"; + asds = [ "bytecurry.mocks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bytecurry.mocks/2020-03-25/bytecurry.mocks-20200325-git.tgz"; + sha256 = "0md2j6iggmfm1v7nzcmz7f0xy2jxrsg77iszpisdzmwnijfy8ks0"; + system = "bytecurry.mocks"; + asd = "bytecurry.mocks"; + } + ); + systems = [ "bytecurry.mocks" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "bytecurry_dot_asdf-ext" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + c2ffi-blob = ( + build-asdf-system { + pname = "c2ffi-blob"; + version = "stable-git"; + asds = [ "c2ffi-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/c2ffi-blob/2020-10-16/c2ffi-blob-stable-git.tgz"; + sha256 = "1rk89nycdvcb4a50zm3wdmrbz8w5xk4jgvjg2wib1dnslwnwdivc"; + system = "c2ffi-blob"; + asd = "c2ffi-blob"; + } + ); + systems = [ "c2ffi-blob" ]; + lispLibs = [ + (getAttr "claw-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cacau = ( + build-asdf-system { + pname = "cacau"; + version = "20200610-git"; + asds = [ "cacau" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; + sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; + system = "cacau"; + asd = "cacau"; + } + ); + systems = [ "cacau" ]; + lispLibs = [ + (getAttr "assertion-error" self) + (getAttr "eventbus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cacau-asdf = ( + build-asdf-system { + pname = "cacau-asdf"; + version = "20200610-git"; + asds = [ "cacau-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; + sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; + system = "cacau-asdf"; + asd = "cacau-asdf"; + } + ); + systems = [ "cacau-asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cacau-examples-asdf-integration = ( + build-asdf-system { + pname = "cacau-examples-asdf-integration"; + version = "20200610-git"; + asds = [ "cacau-examples-asdf-integration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; + sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; + system = "cacau-examples-asdf-integration"; + asd = "cacau-examples-asdf-integration"; + } + ); + systems = [ "cacau-examples-asdf-integration" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cacau-examples-asdf-integration-test = ( + build-asdf-system { + pname = "cacau-examples-asdf-integration-test"; + version = "20200610-git"; + asds = [ "cacau-examples-asdf-integration-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; + sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; + system = "cacau-examples-asdf-integration-test"; + asd = "cacau-examples-asdf-integration-test"; + } + ); + systems = [ "cacau-examples-asdf-integration-test" ]; + lispLibs = [ + (getAttr "assert-p" self) + (getAttr "cacau" self) + (getAttr "cacau-asdf" self) + (getAttr "cacau-examples-asdf-integration" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cacau-test = ( + build-asdf-system { + pname = "cacau-test"; + version = "20200610-git"; + asds = [ "cacau-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz"; + sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0"; + system = "cacau-test"; + asd = "cacau-test"; + } + ); + systems = [ "cacau-test" ]; + lispLibs = [ + (getAttr "assert-p" self) + (getAttr "cacau" self) + (getAttr "cacau-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cache-while = ( + build-asdf-system { + pname = "cache-while"; + version = "20210807-git"; + asds = [ "cache-while" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cache-while/2021-08-07/cache-while-20210807-git.tgz"; + sha256 = "1qil68rfn5irmkb0jk1f6g1zy80wgc3skl8cr4rfgh7ywgm5izx3"; + system = "cache-while"; + asd = "cache-while"; + } + ); + systems = [ "cache-while" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cacle = ( + build-asdf-system { + pname = "cacle"; + version = "20190521-git"; + asds = [ "cacle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cacle/2019-05-21/cacle-20190521-git.tgz"; + sha256 = "0h0dk0sfkfl8g0sbrs76ydb9l4znssqhx8nc5k1sg7zxpni5a4qy"; + system = "cacle"; + asd = "cacle"; + } + ); + systems = [ "cacle" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + calispel = ( + build-asdf-system { + pname = "calispel"; + version = "20170830-git"; + asds = [ "calispel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/calispel/2017-08-30/calispel-20170830-git.tgz"; + sha256 = "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"; + system = "calispel"; + asd = "calispel"; + } + ); + systems = [ "calispel" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "jpl-queues" self) + (getAttr "jpl-util" self) + ]; + meta = { }; + } + ); + calispel-test = ( + build-asdf-system { + pname = "calispel-test"; + version = "20170830-git"; + asds = [ "calispel-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/calispel/2017-08-30/calispel-20170830-git.tgz"; + sha256 = "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"; + system = "calispel-test"; + asd = "calispel"; + } + ); + systems = [ "calispel-test" ]; + lispLibs = [ + (getAttr "calispel" self) + (getAttr "eager-future2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + calm = ( + build-asdf-system { + pname = "calm"; + version = "20241012-git"; + asds = [ "calm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/calm/2024-10-12/calm-20241012-git.tgz"; + sha256 = "0c8d7aagx02cqk42pyj62hpqz3yarncigsw0g2ccc64sk74v67js"; + system = "calm"; + asd = "calm"; + } + ); + systems = [ "calm" ]; + lispLibs = [ + (getAttr "bt-semaphore" self) + (getAttr "cl-cairo2" self) + (getAttr "cl-gobject-introspection" self) + (getAttr "sdl2" self) + (getAttr "sdl2-image" self) + (getAttr "sdl2-mixer" self) + (getAttr "str" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cambl = ( + build-asdf-system { + pname = "cambl"; + version = "20181210-git"; + asds = [ "cambl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz"; + sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"; + system = "cambl"; + asd = "cambl"; + } + ); + systems = [ "cambl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-containers" self) + (getAttr "fprog" self) + (getAttr "local-time" self) + (getAttr "periods" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cambl-test = ( + build-asdf-system { + pname = "cambl-test"; + version = "20181210-git"; + asds = [ "cambl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz"; + sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"; + system = "cambl-test"; + asd = "cambl-test"; + } + ); + systems = [ "cambl-test" ]; + lispLibs = [ + (getAttr "cambl" self) + (getAttr "xlunit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + camera-matrix = ( + build-asdf-system { + pname = "camera-matrix"; + version = "20200427-git"; + asds = [ "camera-matrix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "camera-matrix"; + asd = "camera-matrix"; + } + ); + systems = [ "camera-matrix" ]; + lispLibs = [ + (getAttr "nsb-cga" self) + (getAttr "uncommon-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + can = ( + build-asdf-system { + pname = "can"; + version = "20180328-git"; + asds = [ "can" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/can/2018-03-28/can-20180328-git.tgz"; + sha256 = "0m3lqc56aw46cj2z379a19fh7f1h0vaxn78xpvbxq3bwar46jzqh"; + system = "can"; + asd = "can"; + } + ); + systems = [ "can" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + can-test = ( + build-asdf-system { + pname = "can-test"; + version = "20180328-git"; + asds = [ "can-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/can/2018-03-28/can-20180328-git.tgz"; + sha256 = "0m3lqc56aw46cj2z379a19fh7f1h0vaxn78xpvbxq3bwar46jzqh"; + system = "can-test"; + asd = "can-test"; + } + ); + systems = [ "can-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "can" self) + (getAttr "mito" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + canonicalized-initargs = ( + build-asdf-system { + pname = "canonicalized-initargs"; + version = "2.0"; + asds = [ "canonicalized-initargs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/canonicalized-initargs/2021-04-11/canonicalized-initargs_2.0.tgz"; + sha256 = "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq"; + system = "canonicalized-initargs"; + asd = "canonicalized-initargs"; + } + ); + systems = [ "canonicalized-initargs" ]; + lispLibs = [ + (getAttr "cesdi" self) + (getAttr "closer-mop" self) + (getAttr "compatible-metaclasses" self) + (getAttr "enhanced-defclass" self) + (getAttr "enhanced-typep" self) + (getAttr "object-class" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + canonicalized-initargs__tests = ( + build-asdf-system { + pname = "canonicalized-initargs_tests"; + version = "2.0"; + asds = [ "canonicalized-initargs_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/canonicalized-initargs/2021-04-11/canonicalized-initargs_2.0.tgz"; + sha256 = "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq"; + system = "canonicalized-initargs_tests"; + asd = "canonicalized-initargs_tests"; + } + ); + systems = [ "canonicalized-initargs_tests" ]; + lispLibs = [ + (getAttr "canonicalized-initargs" self) + (getAttr "enhanced-boolean" self) + (getAttr "enhanced-eval-when" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + capstone = ( + build-asdf-system { + pname = "capstone"; + version = "20220331-git"; + asds = [ "capstone" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-capstone/2022-03-31/cl-capstone-20220331-git.tgz"; + sha256 = "1jbhp1sf7mr6yrqkdyjl93m1dl901ka6gkgdj20nv2bgp400ycmp"; + system = "capstone"; + asd = "capstone"; + } + ); + systems = [ "capstone" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "gt" self) + (getAttr "static-vectors" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caramel = ( + build-asdf-system { + pname = "caramel"; + version = "20130420-git"; + asds = [ "caramel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caramel/2013-04-20/caramel-20130420-git.tgz"; + sha256 = "08kyjxd8hyk5xnnq0p0w4aqpvisv278h38pqjkz04a032dn5b87a"; + system = "caramel"; + asd = "caramel"; + } + ); + systems = [ "caramel" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "buildnode" self) + (getAttr "closure-html" self) + (getAttr "css-selectors" self) + (getAttr "cxml" self) + (getAttr "cxml-dom" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cardioex = ( + build-asdf-system { + pname = "cardioex"; + version = "20211020-git"; + asds = [ "cardioex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cardiogram/2021-10-20/cardiogram-20211020-git.tgz"; + sha256 = "08kqcj3c4vkx5s6ba9m67xh7w7paaavp2ds072crp1x7pjkh4n5i"; + system = "cardioex"; + asd = "cardioex"; + } + ); + systems = [ "cardioex" ]; + lispLibs = [ (getAttr "cardiogram" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cardiogram = ( + build-asdf-system { + pname = "cardiogram"; + version = "20211020-git"; + asds = [ "cardiogram" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cardiogram/2021-10-20/cardiogram-20211020-git.tgz"; + sha256 = "08kqcj3c4vkx5s6ba9m67xh7w7paaavp2ds072crp1x7pjkh4n5i"; + system = "cardiogram"; + asd = "cardiogram"; + } + ); + systems = [ "cardiogram" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cari3s = ( + build-asdf-system { + pname = "cari3s"; + version = "20231021-git"; + asds = [ "cari3s" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cari3s/2023-10-21/cari3s-20231021-git.tgz"; + sha256 = "1q977ykj4fb095ilr1x4g0nrhqmipcgmdxbxn4gmlksg457sb4lm"; + system = "cari3s"; + asd = "cari3s"; + } + ); + systems = [ "cari3s" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "closer-mop" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "documentation-utils" self) + (getAttr "drakma" self) + (getAttr "pango-markup" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + carrier = ( + build-asdf-system { + pname = "carrier"; + version = "20241012-git"; + asds = [ "carrier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/carrier/2024-10-12/carrier-20241012-git.tgz"; + sha256 = "04w6hzqqbcvi8niqj35xz098gjfg4pdv6fbihfbna3c5v7q59gr1"; + system = "carrier"; + asd = "carrier"; + } + ); + systems = [ "carrier" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "blackbird" self) + (getAttr "cl-async" self) + (getAttr "cl-async-ssl" self) + (getAttr "cl-cookie" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cartesian-product-switch = ( + build-asdf-system { + pname = "cartesian-product-switch"; + version = "2.0"; + asds = [ "cartesian-product-switch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cartesian-product-switch/2012-09-09/cartesian-product-switch-2.0.tgz"; + sha256 = "18cxslj2753k6h666j0mmzg0h0z9l6ddi24gqls6h5d5svd7l3xk"; + system = "cartesian-product-switch"; + asd = "cartesian-product-switch"; + } + ); + systems = [ "cartesian-product-switch" ]; + lispLibs = [ (getAttr "map-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman-middleware-dbimanager = ( + build-asdf-system { + pname = "caveman-middleware-dbimanager"; + version = "20241012-git"; + asds = [ "caveman-middleware-dbimanager" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; + sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; + system = "caveman-middleware-dbimanager"; + asd = "caveman-middleware-dbimanager"; + } + ); + systems = [ "caveman-middleware-dbimanager" ]; + lispLibs = [ (getAttr "dbi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2 = ( + build-asdf-system { + pname = "caveman2"; + version = "20241012-git"; + asds = [ "caveman2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; + sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; + system = "caveman2"; + asd = "caveman2"; + } + ); + systems = [ "caveman2" ]; + lispLibs = [ + (getAttr "cl-project" self) + (getAttr "cl-syntax-annot" self) + (getAttr "dbi" self) + (getAttr "lack-request" self) + (getAttr "lack-response" self) + (getAttr "myway" self) + (getAttr "ningle" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2-db = ( + build-asdf-system { + pname = "caveman2-db"; + version = "20241012-git"; + asds = [ "caveman2-db" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; + sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; + system = "caveman2-db"; + asd = "caveman2-db"; + } + ); + systems = [ "caveman2-db" ]; + lispLibs = [ + (getAttr "caveman-middleware-dbimanager" self) + (getAttr "dbi" self) + (getAttr "sxql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2-test = ( + build-asdf-system { + pname = "caveman2-test"; + version = "20241012-git"; + asds = [ "caveman2-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman/2024-10-12/caveman-20241012-git.tgz"; + sha256 = "1q07mmm41zymh464j4mldf3lv1sb9amzdcwinkywqhwnjmnx6axi"; + system = "caveman2-test"; + asd = "caveman2-test"; + } + ); + systems = [ "caveman2-test" ]; + lispLibs = [ + (getAttr "caveman2" self) + (getAttr "dexador" self) + (getAttr "lack-component" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-types" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2-widgets = ( + build-asdf-system { + pname = "caveman2-widgets"; + version = "20180228-git"; + asds = [ "caveman2-widgets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman2-widgets/2018-02-28/caveman2-widgets-20180228-git.tgz"; + sha256 = "1rzb868m3f28z1hcr3nzlprgqqq1kwg3qyh24p36fv76b4g96wkq"; + system = "caveman2-widgets"; + asd = "caveman2-widgets"; + } + ); + systems = [ "caveman2-widgets" ]; + lispLibs = [ + (getAttr "caveman2" self) + (getAttr "moptilities" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2-widgets-bootstrap = ( + build-asdf-system { + pname = "caveman2-widgets-bootstrap"; + version = "20180228-git"; + asds = [ "caveman2-widgets-bootstrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman2-widgets-bootstrap/2018-02-28/caveman2-widgets-bootstrap-20180228-git.tgz"; + sha256 = "1xh3x7r7givxxyrkh4ngx098s35qz98gcz7yjyf4dp0psfkk65xj"; + system = "caveman2-widgets-bootstrap"; + asd = "caveman2-widgets-bootstrap"; + } + ); + systems = [ "caveman2-widgets-bootstrap" ]; + lispLibs = [ + (getAttr "caveman2" self) + (getAttr "caveman2-widgets" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2-widgets-bootstrap-test = ( + build-asdf-system { + pname = "caveman2-widgets-bootstrap-test"; + version = "20180228-git"; + asds = [ "caveman2-widgets-bootstrap-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman2-widgets-bootstrap/2018-02-28/caveman2-widgets-bootstrap-20180228-git.tgz"; + sha256 = "1xh3x7r7givxxyrkh4ngx098s35qz98gcz7yjyf4dp0psfkk65xj"; + system = "caveman2-widgets-bootstrap-test"; + asd = "caveman2-widgets-bootstrap-test"; + } + ); + systems = [ "caveman2-widgets-bootstrap-test" ]; + lispLibs = [ + (getAttr "caveman2-widgets-bootstrap" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + caveman2-widgets-test = ( + build-asdf-system { + pname = "caveman2-widgets-test"; + version = "20180228-git"; + asds = [ "caveman2-widgets-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/caveman2-widgets/2018-02-28/caveman2-widgets-20180228-git.tgz"; + sha256 = "1rzb868m3f28z1hcr3nzlprgqqq1kwg3qyh24p36fv76b4g96wkq"; + system = "caveman2-widgets-test"; + asd = "caveman2-widgets-test"; + } + ); + systems = [ "caveman2-widgets-test" ]; + lispLibs = [ + (getAttr "caveman2-widgets" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cblas = ( + build-asdf-system { + pname = "cblas"; + version = "20221106-git"; + asds = [ "cblas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cblas/2022-11-06/cl-cblas-20221106-git.tgz"; + sha256 = "1bd2w51r71pgm6sc6m2fms4j1bbnli023j4w3rbxw9cln0g7badp"; + system = "cblas"; + asd = "cblas"; + } + ); + systems = [ "cblas" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-autowrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cbor = ( + build-asdf-system { + pname = "cbor"; + version = "20241012-git"; + asds = [ "cbor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cbor/2024-10-12/cbor-20241012-git.tgz"; + sha256 = "0bkjfi449m651hbsm39dc9863mcry3ynz1j59wb2kl8zwxm1qg2r"; + system = "cbor"; + asd = "cbor"; + } + ); + systems = [ "cbor" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "ieee-floats" self) + (getAttr "local-time" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ccl-compat = ( + build-asdf-system { + pname = "ccl-compat"; + version = "20171130-git"; + asds = [ "ccl-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ccl-compat/2017-11-30/ccl-compat-20171130-git.tgz"; + sha256 = "15402373wprmyx4l7zgpv64vj3c11xvxnnpzqbmq4j6rljpb40da"; + system = "ccl-compat"; + asd = "ccl-compat"; + } + ); + systems = [ "ccl-compat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ccldoc = ( + build-asdf-system { + pname = "ccldoc"; + version = "20241012-git"; + asds = [ "ccldoc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ccldoc/2024-10-12/ccldoc-20241012-git.tgz"; + sha256 = "15pc25pwnlg2lhzxniln53fr2i2cqa6fpr60nv4i1743x9ahp35l"; + system = "ccldoc"; + asd = "ccldoc"; + } + ); + systems = [ "ccldoc" ]; + lispLibs = [ (getAttr "ccl-compat" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ccldoc-docbook = ( + build-asdf-system { + pname = "ccldoc-docbook"; + version = "20241012-git"; + asds = [ "ccldoc-docbook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ccldoc/2024-10-12/ccldoc-20241012-git.tgz"; + sha256 = "15pc25pwnlg2lhzxniln53fr2i2cqa6fpr60nv4i1743x9ahp35l"; + system = "ccldoc-docbook"; + asd = "ccldoc-docbook"; + } + ); + systems = [ "ccldoc-docbook" ]; + lispLibs = [ + (getAttr "ccldoc" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ccldoc-libraries = ( + build-asdf-system { + pname = "ccldoc-libraries"; + version = "20241012-git"; + asds = [ "ccldoc-libraries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ccldoc/2024-10-12/ccldoc-20241012-git.tgz"; + sha256 = "15pc25pwnlg2lhzxniln53fr2i2cqa6fpr60nv4i1743x9ahp35l"; + system = "ccldoc-libraries"; + asd = "ccldoc-libraries"; + } + ); + systems = [ "ccldoc-libraries" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "s-xml" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ceigen-lite = ( + build-asdf-system { + pname = "ceigen-lite"; + version = "20241012-git"; + asds = [ "ceigen-lite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ceigen-lite/2024-10-12/cl-ceigen-lite-20241012-git.tgz"; + sha256 = "0k2b6x913mnv1f5712xvvv7d6j3lrja4isjg6cyad694py59d09q"; + system = "ceigen-lite"; + asd = "ceigen-lite"; + } + ); + systems = [ "ceigen-lite" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-autowrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cells = ( + build-asdf-system { + pname = "cells"; + version = "20230618-git"; + asds = [ "cells" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cells/2023-06-18/cells-20230618-git.tgz"; + sha256 = "1mh14g8x2mpb8qdngqxgnkawqbv4xxxr3bgn01jm5d6c8jn6ph3f"; + system = "cells"; + asd = "cells"; + } + ); + systems = [ "cells" ]; + lispLibs = [ (getAttr "utils-kt" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cells-test = ( + build-asdf-system { + pname = "cells-test"; + version = "20230618-git"; + asds = [ "cells-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cells/2023-06-18/cells-20230618-git.tgz"; + sha256 = "1mh14g8x2mpb8qdngqxgnkawqbv4xxxr3bgn01jm5d6c8jn6ph3f"; + system = "cells-test"; + asd = "cells-test"; + } + ); + systems = [ "cells-test" ]; + lispLibs = [ (getAttr "cells" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cephes = ( + build-asdf-system { + pname = "cephes"; + version = "20241012-git"; + asds = [ "cephes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cephes.cl/2024-10-12/cephes.cl-20241012-git.tgz"; + sha256 = "1p0npidiy9zjb90gyihdmx0nmm87a5akph1jhs6y7z50fx8470hb"; + system = "cephes"; + asd = "cephes"; + } + ); + systems = [ "cephes" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl = ( + build-asdf-system { + pname = "cepl"; + version = "release-quicklisp-543c9fc1-git"; + asds = [ "cepl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl/2024-10-12/cepl-release-quicklisp-543c9fc1-git.tgz"; + sha256 = "0g5frci6ljmy6pyyrjhh2kw894l3fl3wsz27k75xw49cd8xm24mh"; + system = "cepl"; + asd = "cepl"; + } + ); + systems = [ "cepl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cepl_dot_build" self) + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "float-features" self) + (getAttr "ieee-floats" self) + (getAttr "split-sequence" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_build = ( + build-asdf-system { + pname = "cepl.build"; + version = "release-quicklisp-543c9fc1-git"; + asds = [ "cepl.build" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl/2024-10-12/cepl-release-quicklisp-543c9fc1-git.tgz"; + sha256 = "0g5frci6ljmy6pyyrjhh2kw894l3fl3wsz27k75xw49cd8xm24mh"; + system = "cepl.build"; + asd = "cepl.build"; + } + ); + systems = [ "cepl.build" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_camera = ( + build-asdf-system { + pname = "cepl.camera"; + version = "release-quicklisp-1292212a-git"; + asds = [ "cepl.camera" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.camera/2018-02-28/cepl.camera-release-quicklisp-1292212a-git.tgz"; + sha256 = "0z73f95bxr2vn47g8qrvf9gzy1my25mkg7hl7kpib21yahfpzzvb"; + system = "cepl.camera"; + asd = "cepl.camera"; + } + ); + systems = [ "cepl.camera" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "cepl_dot_spaces" self) + (getAttr "rtg-math" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_devil = ( + build-asdf-system { + pname = "cepl.devil"; + version = "release-quicklisp-ea5f8514-git"; + asds = [ "cepl.devil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.devil/2018-02-28/cepl.devil-release-quicklisp-ea5f8514-git.tgz"; + sha256 = "1b64vfjchkwppcp3j4krwx2x9nj29llisqy1yc9ncbnmi9xs38a0"; + system = "cepl.devil"; + asd = "cepl.devil"; + } + ); + systems = [ "cepl.devil" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "cl-devil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_drm-gbm = ( + build-asdf-system { + pname = "cepl.drm-gbm"; + version = "20190521-git"; + asds = [ "cepl.drm-gbm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.drm-gbm/2019-05-21/cepl.drm-gbm-20190521-git.tgz"; + sha256 = "00csd2f6z13rjqipaf02w87phn2xynmzf1jcrrshbibs204m4nmy"; + system = "cepl.drm-gbm"; + asd = "cepl.drm-gbm"; + } + ); + systems = [ "cepl.drm-gbm" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "cl-drm" self) + (getAttr "cl-egl" self) + (getAttr "cl-gbm" self) + (getAttr "osicat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_glop = ( + build-asdf-system { + pname = "cepl.glop"; + version = "release-quicklisp-8ec09801-git"; + asds = [ "cepl.glop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.glop/2018-02-28/cepl.glop-release-quicklisp-8ec09801-git.tgz"; + sha256 = "1dq727v2s22yna6ycxxs79pg13b0cyh1lfrk6hsb6vizgiks20jw"; + system = "cepl.glop"; + asd = "cepl.glop"; + } + ); + systems = [ "cepl.glop" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "glop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_sdl2 = ( + build-asdf-system { + pname = "cepl.sdl2"; + version = "release-quicklisp-6da5a030-git"; + asds = [ "cepl.sdl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.sdl2/2018-02-28/cepl.sdl2-release-quicklisp-6da5a030-git.tgz"; + sha256 = "0lz8yxm1g2ch0w779lhrs2xkfciy3iz6viz7cdgyd2824isvinjf"; + system = "cepl.sdl2"; + asd = "cepl.sdl2"; + } + ); + systems = [ "cepl.sdl2" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "sdl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_sdl2-image = ( + build-asdf-system { + pname = "cepl.sdl2-image"; + version = "release-quicklisp-94a77649-git"; + asds = [ "cepl.sdl2-image" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.sdl2-image/2018-02-28/cepl.sdl2-image-release-quicklisp-94a77649-git.tgz"; + sha256 = "16dzjk2q658xr1v9rk2iny70rjhxbgi4lcp59s5mkdfs2k3a2637"; + system = "cepl.sdl2-image"; + asd = "cepl.sdl2-image"; + } + ); + systems = [ "cepl.sdl2-image" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "sdl2" self) + (getAttr "sdl2-image" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_sdl2-ttf = ( + build-asdf-system { + pname = "cepl.sdl2-ttf"; + version = "release-quicklisp-11b498a3-git"; + asds = [ "cepl.sdl2-ttf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.sdl2-ttf/2018-01-31/cepl.sdl2-ttf-release-quicklisp-11b498a3-git.tgz"; + sha256 = "1fxj3rdv2rlyks00h18dpd42xywgnydgyvb1s4d67hjk7fl19a5p"; + system = "cepl.sdl2-ttf"; + asd = "cepl.sdl2-ttf"; + } + ); + systems = [ "cepl.sdl2-ttf" ]; + lispLibs = [ + (getAttr "cepl_dot_sdl2" self) + (getAttr "rtg-math" self) + (getAttr "sdl2-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_skitter_dot_glop = ( + build-asdf-system { + pname = "cepl.skitter.glop"; + version = "release-quicklisp-f52b9240-git"; + asds = [ "cepl.skitter.glop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.skitter/2018-02-28/cepl.skitter-release-quicklisp-f52b9240-git.tgz"; + sha256 = "1xz53q8klzrd7cr586jd16pypxgpy68vlvfirqhlv6jc7k99sjvs"; + system = "cepl.skitter.glop"; + asd = "cepl.skitter.glop"; + } + ); + systems = [ "cepl.skitter.glop" ]; + lispLibs = [ + (getAttr "cepl_dot_glop" self) + (getAttr "skitter_dot_glop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_skitter_dot_sdl2 = ( + build-asdf-system { + pname = "cepl.skitter.sdl2"; + version = "release-quicklisp-f52b9240-git"; + asds = [ "cepl.skitter.sdl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.skitter/2018-02-28/cepl.skitter-release-quicklisp-f52b9240-git.tgz"; + sha256 = "1xz53q8klzrd7cr586jd16pypxgpy68vlvfirqhlv6jc7k99sjvs"; + system = "cepl.skitter.sdl2"; + asd = "cepl.skitter.sdl2"; + } + ); + systems = [ "cepl.skitter.sdl2" ]; + lispLibs = [ + (getAttr "cepl_dot_sdl2" self) + (getAttr "skitter_dot_sdl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cepl_dot_spaces = ( + build-asdf-system { + pname = "cepl.spaces"; + version = "release-quicklisp-c7f83f26-git"; + asds = [ "cepl.spaces" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cepl.spaces/2018-03-28/cepl.spaces-release-quicklisp-c7f83f26-git.tgz"; + sha256 = "0z74ipd4j2spjwl6h625azdczpds3v44iin77q685ldx9rwx3k8y"; + system = "cepl.spaces"; + asd = "cepl.spaces"; + } + ); + systems = [ "cepl.spaces" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "documentation-utils" self) + (getAttr "fn" self) + (getAttr "rtg-math" self) + (getAttr "rtg-math_dot_vari" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ceramic = ( + build-asdf-system { + pname = "ceramic"; + version = "20210807-git"; + asds = [ "ceramic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ceramic/2021-08-07/ceramic-20210807-git.tgz"; + sha256 = "0hd553gj4cwmli45pfwhqpz7sg6kzn31iv8akaxr5ba3hssa1aap"; + system = "ceramic"; + asd = "ceramic"; + } + ); + systems = [ "ceramic" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "clack-handler-hunchentoot" self) + (getAttr "copy-directory" self) + (getAttr "electron-tools" self) + (getAttr "external-program" self) + (getAttr "remote-js" self) + (getAttr "trivial-build" self) + (getAttr "trivial-compress" self) + (getAttr "trivial-download" self) + (getAttr "trivial-exe" self) + (getAttr "trivial-extract" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ceramic-test-app = ( + build-asdf-system { + pname = "ceramic-test-app"; + version = "20210807-git"; + asds = [ "ceramic-test-app" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ceramic/2021-08-07/ceramic-20210807-git.tgz"; + sha256 = "0hd553gj4cwmli45pfwhqpz7sg6kzn31iv8akaxr5ba3hssa1aap"; + system = "ceramic-test-app"; + asd = "ceramic-test-app"; + } + ); + systems = [ "ceramic-test-app" ]; + lispLibs = [ + (getAttr "ceramic" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cerberus = ( + build-asdf-system { + pname = "cerberus"; + version = "20241012-git"; + asds = [ "cerberus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cerberus/2024-10-12/cerberus-20241012-git.tgz"; + sha256 = "131x0raccj5majd72hmmlp67dsj2zdizm2xzdhw6s0jbxjbhdgfs"; + system = "cerberus"; + asd = "cerberus"; + } + ); + systems = [ "cerberus" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "flexi-streams" self) + (getAttr "glass" self) + (getAttr "ironclad" self) + (getAttr "nibbles" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cerberus-kdc = ( + build-asdf-system { + pname = "cerberus-kdc"; + version = "20241012-git"; + asds = [ "cerberus-kdc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cerberus/2024-10-12/cerberus-20241012-git.tgz"; + sha256 = "131x0raccj5majd72hmmlp67dsj2zdizm2xzdhw6s0jbxjbhdgfs"; + system = "cerberus-kdc"; + asd = "cerberus"; + } + ); + systems = [ "cerberus-kdc" ]; + lispLibs = [ + (getAttr "cerberus" self) + (getAttr "frpc" self) + (getAttr "pounds" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cesdi = ( + build-asdf-system { + pname = "cesdi"; + version = "1.0.1"; + asds = [ "cesdi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cesdi/2020-07-15/cesdi_1.0.1.tgz"; + sha256 = "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9"; + system = "cesdi"; + asd = "cesdi"; + } + ); + systems = [ "cesdi" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cesdi__tests = ( + build-asdf-system { + pname = "cesdi_tests"; + version = "1.0.1"; + asds = [ "cesdi_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cesdi/2020-07-15/cesdi_1.0.1.tgz"; + sha256 = "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9"; + system = "cesdi_tests"; + asd = "cesdi_tests"; + } + ); + systems = [ "cesdi_tests" ]; + lispLibs = [ + (getAttr "cesdi" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cf = ( + build-asdf-system { + pname = "cf"; + version = "20241012-git"; + asds = [ "cf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cf/2024-10-12/cl-cf-20241012-git.tgz"; + sha256 = "1w4asb8v81q2rf8fhhq88c2ib4ax5fbm0655kvdpfvkz1457yi25"; + system = "cf"; + asd = "cf"; + } + ); + systems = [ "cf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cf-tests = ( + build-asdf-system { + pname = "cf-tests"; + version = "20241012-git"; + asds = [ "cf-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cf/2024-10-12/cl-cf-20241012-git.tgz"; + sha256 = "1w4asb8v81q2rf8fhhq88c2ib4ax5fbm0655kvdpfvkz1457yi25"; + system = "cf-tests"; + asd = "cf-tests"; + } + ); + systems = [ "cf-tests" ]; + lispLibs = [ + (getAttr "cf" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi = ( + build-asdf-system { + pname = "cffi"; + version = "20241012-git"; + asds = [ "cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi"; + asd = "cffi"; + } + ); + systems = [ "cffi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + cffi-c-ref = ( + build-asdf-system { + pname = "cffi-c-ref"; + version = "stable-git"; + asds = [ "cffi-c-ref" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi-c-ref/2020-10-16/cffi-c-ref-stable-git.tgz"; + sha256 = "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"; + system = "cffi-c-ref"; + asd = "cffi-c-ref"; + } + ); + systems = [ "cffi-c-ref" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-examples = ( + build-asdf-system { + pname = "cffi-examples"; + version = "20241012-git"; + asds = [ "cffi-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi-examples"; + asd = "cffi-examples"; + } + ); + systems = [ "cffi-examples" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-grovel = ( + build-asdf-system { + pname = "cffi-grovel"; + version = "20241012-git"; + asds = [ "cffi-grovel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi-grovel"; + asd = "cffi-grovel"; + } + ); + systems = [ "cffi-grovel" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-toolchain" self) + ]; + meta = { }; + } + ); + cffi-libffi = ( + build-asdf-system { + pname = "cffi-libffi"; + version = "20241012-git"; + asds = [ "cffi-libffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi-libffi"; + asd = "cffi-libffi"; + } + ); + systems = [ "cffi-libffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-object = ( + build-asdf-system { + pname = "cffi-object"; + version = "20241012-git"; + asds = [ "cffi-object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi-object/2024-10-12/cffi-object-20241012-git.tgz"; + sha256 = "0hdxy2lqf0q04j57y6plnlh2v6w7y7prsypxk9f4vdlnp2ah3lln"; + system = "cffi-object"; + asd = "cffi-object"; + } + ); + systems = [ "cffi-object" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-object_dot_ops = ( + build-asdf-system { + pname = "cffi-object.ops"; + version = "20241012-git"; + asds = [ "cffi-object.ops" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi-object/2024-10-12/cffi-object-20241012-git.tgz"; + sha256 = "0hdxy2lqf0q04j57y6plnlh2v6w7y7prsypxk9f4vdlnp2ah3lln"; + system = "cffi-object.ops"; + asd = "cffi-object.ops"; + } + ); + systems = [ "cffi-object.ops" ]; + lispLibs = [ + (getAttr "cffi-object" self) + (getAttr "cffi-ops" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-ops = ( + build-asdf-system { + pname = "cffi-ops"; + version = "20241012-git"; + asds = [ "cffi-ops" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi-ops/2024-10-12/cffi-ops-20241012-git.tgz"; + sha256 = "0hi3svwfb7m1wq892wlrsgj52jkh3x6msnimax28221baj6g64gg"; + system = "cffi-ops"; + asd = "cffi-ops"; + } + ); + systems = [ "cffi-ops" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arrow-macros" self) + (getAttr "cffi" self) + (getAttr "trivial-macroexpand-all" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-tests = ( + build-asdf-system { + pname = "cffi-tests"; + version = "20241012-git"; + asds = [ "cffi-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi-tests"; + asd = "cffi-tests"; + } + ); + systems = [ "cffi-tests" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi-grovel" self) + (getAttr "cffi-libffi" self) + (getAttr "rt" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cffi-toolchain = ( + build-asdf-system { + pname = "cffi-toolchain"; + version = "20241012-git"; + asds = [ "cffi-toolchain" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi-toolchain"; + asd = "cffi-toolchain"; + } + ); + systems = [ "cffi-toolchain" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { }; + } + ); + cffi-uffi-compat = ( + build-asdf-system { + pname = "cffi-uffi-compat"; + version = "20241012-git"; + asds = [ "cffi-uffi-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cffi/2024-10-12/cffi-20241012-git.tgz"; + sha256 = "1b2j32rapgw8rn7m9sm2k8r8x9jds7vshkm90i5lw9v4xnp8x4m7"; + system = "cffi-uffi-compat"; + asd = "cffi-uffi-compat"; + } + ); + systems = [ "cffi-uffi-compat" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { }; + } + ); + chain = ( + build-asdf-system { + pname = "chain"; + version = "20211209-git"; + asds = [ "chain" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chain/2021-12-09/chain-20211209-git.tgz"; + sha256 = "0x8b2cbp1xq61fpbk0mqwbksnfynlgai3782rafsywka8rgfhmjh"; + system = "chain"; + asd = "chain"; + } + ); + systems = [ "chain" ]; + lispLibs = [ (getAttr "metabang-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chameleon = ( + build-asdf-system { + pname = "chameleon"; + version = "v2.1.1"; + asds = [ "chameleon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chameleon/2022-02-20/chameleon-v2.1.1.tgz"; + sha256 = "1bqminvhx3hlqzxvy2a105gm9d2dxl5cy6ls5rm9wmkvw7gyza6c"; + system = "chameleon"; + asd = "chameleon"; + } + ); + systems = [ "chameleon" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chancery = ( + build-asdf-system { + pname = "chancery"; + version = "20201016-hg"; + asds = [ "chancery" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chancery/2020-10-16/chancery-20201016-hg.tgz"; + sha256 = "1g0jgrih7q14gizy481j9z2s15pmv6iwymnpddbyqfja9miv61lw"; + system = "chancery"; + asd = "chancery"; + } + ); + systems = [ "chancery" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chancery_dot_test = ( + build-asdf-system { + pname = "chancery.test"; + version = "20201016-hg"; + asds = [ "chancery.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chancery/2020-10-16/chancery-20201016-hg.tgz"; + sha256 = "1g0jgrih7q14gizy481j9z2s15pmv6iwymnpddbyqfja9miv61lw"; + system = "chancery.test"; + asd = "chancery.test"; + } + ); + systems = [ "chancery.test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "chancery" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + changed-stream = ( + build-asdf-system { + pname = "changed-stream"; + version = "20130128-git"; + asds = [ "changed-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/changed-stream/2013-01-28/changed-stream-20130128-git.tgz"; + sha256 = "1cll7xclg9jr55swhi3g6z567bxvb9kmljh67091xazcfacz732i"; + system = "changed-stream"; + asd = "changed-stream"; + } + ); + systems = [ "changed-stream" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + changed-stream_dot_test = ( + build-asdf-system { + pname = "changed-stream.test"; + version = "20130128-git"; + asds = [ "changed-stream.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/changed-stream/2013-01-28/changed-stream-20130128-git.tgz"; + sha256 = "1cll7xclg9jr55swhi3g6z567bxvb9kmljh67091xazcfacz732i"; + system = "changed-stream.test"; + asd = "changed-stream.test"; + } + ); + systems = [ "changed-stream.test" ]; + lispLibs = [ (getAttr "changed-stream" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chanl = ( + build-asdf-system { + pname = "chanl"; + version = "20241012-git"; + asds = [ "chanl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chanl/2024-10-12/chanl-20241012-git.tgz"; + sha256 = "1gyvsajvqjzfmcbccnysw7qyvhyqdlfcwl57lhsfwz9gif50y1fw"; + system = "chanl"; + asd = "chanl"; + } + ); + systems = [ "chanl" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { }; + } + ); + character-modifier-bits = ( + build-asdf-system { + pname = "character-modifier-bits"; + version = "20200427-git"; + asds = [ "character-modifier-bits" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "character-modifier-bits"; + asd = "character-modifier-bits"; + } + ); + systems = [ "character-modifier-bits" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + charje_dot_documentation = ( + build-asdf-system { + pname = "charje.documentation"; + version = "20241012-git"; + asds = [ "charje.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/charje.documentation/2024-10-12/charje.documentation-20241012-git.tgz"; + sha256 = "0rdfi4sj5ad6krwypmsr934ic6y5xlj6iixdwwxrxj9fihfq47zb"; + system = "charje.documentation"; + asd = "charje.documentation"; + } + ); + systems = [ "charje.documentation" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cheat-js = ( + build-asdf-system { + pname = "cheat-js"; + version = "20121013-git"; + asds = [ "cheat-js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cheat-js/2012-10-13/cheat-js-20121013-git.tgz"; + sha256 = "1h73kx0iii4y4gslz6f8kvf980bnypsras6xj38apm0fcwm93w03"; + system = "cheat-js"; + asd = "cheat-js"; + } + ); + systems = [ "cheat-js" ]; + lispLibs = [ + (getAttr "cl-uglify-js" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + check-bnf = ( + build-asdf-system { + pname = "check-bnf"; + version = "20220707-git"; + asds = [ "check-bnf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/check-bnf/2022-07-07/check-bnf-20220707-git.tgz"; + sha256 = "1dpp0xzj51a7fg9yw0xsipnsa54xj1axvkk55n0yxq9yv9ih3rb0"; + system = "check-bnf"; + asd = "check-bnf"; + } + ); + systems = [ "check-bnf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "matrix-case" self) + (getAttr "millet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + check-bnf_dot_test = ( + build-asdf-system { + pname = "check-bnf.test"; + version = "20220707-git"; + asds = [ "check-bnf.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/check-bnf/2022-07-07/check-bnf-20220707-git.tgz"; + sha256 = "1dpp0xzj51a7fg9yw0xsipnsa54xj1axvkk55n0yxq9yv9ih3rb0"; + system = "check-bnf.test"; + asd = "check-bnf.test"; + } + ); + systems = [ "check-bnf.test" ]; + lispLibs = [ + (getAttr "check-bnf" self) + (getAttr "jingoh" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + check-it = ( + build-asdf-system { + pname = "check-it"; + version = "20150709-git"; + asds = [ "check-it" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/check-it/2015-07-09/check-it-20150709-git.tgz"; + sha256 = "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"; + system = "check-it"; + asd = "check-it"; + } + ); + systems = [ "check-it" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "optima" self) + ]; + meta = { }; + } + ); + check-it-test = ( + build-asdf-system { + pname = "check-it-test"; + version = "20150709-git"; + asds = [ "check-it-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/check-it/2015-07-09/check-it-20150709-git.tgz"; + sha256 = "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"; + system = "check-it-test"; + asd = "check-it"; + } + ); + systems = [ "check-it-test" ]; + lispLibs = [ + (getAttr "check-it" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + checkl = ( + build-asdf-system { + pname = "checkl"; + version = "20180328-git"; + asds = [ "checkl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz"; + sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"; + system = "checkl"; + asd = "checkl"; + } + ); + systems = [ "checkl" ]; + lispLibs = [ (getAttr "marshal" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + checkl-docs = ( + build-asdf-system { + pname = "checkl-docs"; + version = "20180328-git"; + asds = [ "checkl-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz"; + sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"; + system = "checkl-docs"; + asd = "checkl-docs"; + } + ); + systems = [ "checkl-docs" ]; + lispLibs = [ + (getAttr "checkl" self) + (getAttr "cl-gendoc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + checkl-test = ( + build-asdf-system { + pname = "checkl-test"; + version = "20180328-git"; + asds = [ "checkl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz"; + sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"; + system = "checkl-test"; + asd = "checkl-test"; + } + ); + systems = [ "checkl-test" ]; + lispLibs = [ + (getAttr "checkl" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chemical-compounds = ( + build-asdf-system { + pname = "chemical-compounds"; + version = "1.0.2"; + asds = [ "chemical-compounds" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chemical-compounds/2011-10-01/chemical-compounds-1.0.2.tgz"; + sha256 = "047z1lab08y4nsb32rnzqfpb6akyhibzjgmmr1bnwrh9pmhv3s2k"; + system = "chemical-compounds"; + asd = "chemical-compounds"; + } + ); + systems = [ "chemical-compounds" ]; + lispLibs = [ (getAttr "periodic-table" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chillax = ( + build-asdf-system { + pname = "chillax"; + version = "20150302-git"; + asds = [ "chillax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; + sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; + system = "chillax"; + asd = "chillax"; + } + ); + systems = [ "chillax" ]; + lispLibs = [ + (getAttr "chillax_dot_core" self) + (getAttr "chillax_dot_yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chillax_dot_core = ( + build-asdf-system { + pname = "chillax.core"; + version = "20150302-git"; + asds = [ "chillax.core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; + sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; + system = "chillax.core"; + asd = "chillax.core"; + } + ); + systems = [ "chillax.core" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chillax_dot_jsown = ( + build-asdf-system { + pname = "chillax.jsown"; + version = "20150302-git"; + asds = [ "chillax.jsown" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; + sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; + system = "chillax.jsown"; + asd = "chillax.jsown"; + } + ); + systems = [ "chillax.jsown" ]; + lispLibs = [ + (getAttr "chillax_dot_core" self) + (getAttr "jsown" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chillax_dot_view-server = ( + build-asdf-system { + pname = "chillax.view-server"; + version = "20150302-git"; + asds = [ "chillax.view-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; + sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; + system = "chillax.view-server"; + asd = "chillax.view-server"; + } + ); + systems = [ "chillax.view-server" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chillax_dot_yason = ( + build-asdf-system { + pname = "chillax.yason"; + version = "20150302-git"; + asds = [ "chillax.yason" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz"; + sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1"; + system = "chillax.yason"; + asd = "chillax.yason"; + } + ); + systems = [ "chillax.yason" ]; + lispLibs = [ + (getAttr "chillax_dot_core" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chipi = ( + build-asdf-system { + pname = "chipi"; + version = "20241012-git"; + asds = [ "chipi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chipi/2024-10-12/chipi-20241012-git.tgz"; + sha256 = "0xpfclvl5v031cjnjvr3bcfc87rayw624m9yrw35f5r31p8m283g"; + system = "chipi"; + asd = "chipi"; + } + ); + systems = [ "chipi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "binding-arrows" self) + (getAttr "cl-cron" self) + (getAttr "drakma" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + (getAttr "sento" self) + (getAttr "timer-wheel" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chipi-web = ( + build-asdf-system { + pname = "chipi-web"; + version = "20241012-git"; + asds = [ "chipi-web" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chipi/2024-10-12/chipi-20241012-git.tgz"; + sha256 = "0xpfclvl5v031cjnjvr3bcfc87rayw624m9yrw35f5r31p8m283g"; + system = "chipi-web"; + asd = "chipi-web"; + } + ); + systems = [ "chipi-web" ]; + lispLibs = [ + (getAttr "chipi" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "marshal" self) + (getAttr "snooze" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chipmunk-blob = ( + build-asdf-system { + pname = "chipmunk-blob"; + version = "stable-git"; + asds = [ "chipmunk-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chipmunk-blob/2020-10-16/chipmunk-blob-stable-git.tgz"; + sha256 = "0kdi1al1cn90hzjfnjhkxp3k5ibp6l73k3m04mkpzkzpjy7jc80d"; + system = "chipmunk-blob"; + asd = "chipmunk-blob"; + } + ); + systems = [ "chipmunk-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chipz = ( + build-asdf-system { + pname = "chipz"; + version = "20230618-git"; + asds = [ "chipz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chipz/2023-06-18/chipz-20230618-git.tgz"; + sha256 = "04ysl1lz47dd8p1cbm637kpyf84hl74xvcdpqhdyxwh4n97csm5h"; + system = "chipz"; + asd = "chipz"; + } + ); + systems = [ "chipz" ]; + lispLibs = [ ]; + meta = { }; + } + ); + chirp = ( + build-asdf-system { + pname = "chirp"; + version = "20231021-git"; + asds = [ "chirp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; + sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; + system = "chirp"; + asd = "chirp"; + } + ); + systems = [ "chirp" ]; + lispLibs = [ (getAttr "chirp-drakma" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chirp-core = ( + build-asdf-system { + pname = "chirp-core"; + version = "20231021-git"; + asds = [ "chirp-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; + sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; + system = "chirp-core"; + asd = "chirp-core"; + } + ); + systems = [ "chirp-core" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + (getAttr "split-sequence" self) + (getAttr "uuid" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chirp-dexador = ( + build-asdf-system { + pname = "chirp-dexador"; + version = "20231021-git"; + asds = [ "chirp-dexador" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; + sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; + system = "chirp-dexador"; + asd = "chirp-dexador"; + } + ); + systems = [ "chirp-dexador" ]; + lispLibs = [ + (getAttr "chirp-core" self) + (getAttr "dexador" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chirp-drakma = ( + build-asdf-system { + pname = "chirp-drakma"; + version = "20231021-git"; + asds = [ "chirp-drakma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chirp/2023-10-21/chirp-20231021-git.tgz"; + sha256 = "00vin2svx54wpk2yv9645y3gfy5pg78pfpr79srqk7jklr1wwa1m"; + system = "chirp-drakma"; + asd = "chirp-drakma"; + } + ); + systems = [ "chirp-drakma" ]; + lispLibs = [ + (getAttr "chirp-core" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chlorophyll = ( + build-asdf-system { + pname = "chlorophyll"; + version = "20231021-git"; + asds = [ "chlorophyll" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chlorophyll/2023-10-21/chlorophyll-20231021-git.tgz"; + sha256 = "0q681pbcx4vcshrlligd5h07kakbjprb0kpf48z4glswy59vg8mg"; + system = "chlorophyll"; + asd = "chlorophyll"; + } + ); + systems = [ "chlorophyll" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chlorophyll-test = ( + build-asdf-system { + pname = "chlorophyll-test"; + version = "20231021-git"; + asds = [ "chlorophyll-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chlorophyll/2023-10-21/chlorophyll-20231021-git.tgz"; + sha256 = "0q681pbcx4vcshrlligd5h07kakbjprb0kpf48z4glswy59vg8mg"; + system = "chlorophyll-test"; + asd = "chlorophyll-test"; + } + ); + systems = [ "chlorophyll-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "chlorophyll" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chrome-native-messaging = ( + build-asdf-system { + pname = "chrome-native-messaging"; + version = "20150302-git"; + asds = [ "chrome-native-messaging" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chrome-native-messaging/2015-03-02/chrome-native-messaging-20150302-git.tgz"; + sha256 = "1fw02w5brpwa0kl7sx5b13fbcfv1ny8rwcj11ayj2q528i2xmpx5"; + system = "chrome-native-messaging"; + asd = "chrome-native-messaging"; + } + ); + systems = [ "chrome-native-messaging" ]; + lispLibs = [ (getAttr "trivial-utf-8" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chronicity = ( + build-asdf-system { + pname = "chronicity"; + version = "20190202-git"; + asds = [ "chronicity" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chronicity/2019-02-02/chronicity-20190202-git.tgz"; + sha256 = "1h5dlgvccffd8sqszqwilscysklzfcp374zl48rq14ywgv3rnwhl"; + system = "chronicity"; + asd = "chronicity"; + } + ); + systems = [ "chronicity" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chronicity-test = ( + build-asdf-system { + pname = "chronicity-test"; + version = "20190202-git"; + asds = [ "chronicity-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chronicity/2019-02-02/chronicity-20190202-git.tgz"; + sha256 = "1h5dlgvccffd8sqszqwilscysklzfcp374zl48rq14ywgv3rnwhl"; + system = "chronicity-test"; + asd = "chronicity-test"; + } + ); + systems = [ "chronicity-test" ]; + lispLibs = [ + (getAttr "chronicity" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chtml-matcher = ( + build-asdf-system { + pname = "chtml-matcher"; + version = "20111001-git"; + asds = [ "chtml-matcher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chtml-matcher/2011-10-01/chtml-matcher-20111001-git.tgz"; + sha256 = "1q1ksy2w0c4dcmq8543scl11x4crh1m5w29p1wjpqhxk826jx7fd"; + system = "chtml-matcher"; + asd = "chtml-matcher"; + } + ); + systems = [ "chtml-matcher" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closure-html" self) + (getAttr "f-underscore" self) + (getAttr "stdutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + chunga = ( + build-asdf-system { + pname = "chunga"; + version = "20241012-git"; + asds = [ "chunga" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/chunga/2024-10-12/chunga-20241012-git.tgz"; + sha256 = "17jswsp31dh1jpg2n60nn34wxf4z6vvxjq1avy50z9fnzywvikyi"; + system = "chunga"; + asd = "chunga"; + } + ); + systems = [ "chunga" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { }; + } + ); + ci-utils = ( + build-asdf-system { + pname = "ci-utils"; + version = "20241012-git"; + asds = [ "ci-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ci-utils/2024-10-12/ci-utils-20241012-git.tgz"; + sha256 = "1wrr1v2r7kd668hyz54x28xh153l2qkl1gra3bk4wmqi3x7xyxdg"; + system = "ci-utils"; + asd = "ci-utils"; + } + ); + systems = [ "ci-utils" ]; + lispLibs = [ (getAttr "ci-utils-features" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ci-utils-features = ( + build-asdf-system { + pname = "ci-utils-features"; + version = "20241012-git"; + asds = [ "ci-utils-features" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ci-utils/2024-10-12/ci-utils-20241012-git.tgz"; + sha256 = "1wrr1v2r7kd668hyz54x28xh153l2qkl1gra3bk4wmqi3x7xyxdg"; + system = "ci-utils-features"; + asd = "ci-utils-features"; + } + ); + systems = [ "ci-utils-features" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ciao = ( + build-asdf-system { + pname = "ciao"; + version = "20241012-git"; + asds = [ "ciao" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ciao/2024-10-12/ciao-20241012-git.tgz"; + sha256 = "1x443k02kl5iyq6awv2vqm08d9x9f92hjivqv2c5xdamki7y513s"; + system = "ciao"; + asd = "ciao"; + } + ); + systems = [ "ciao" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "dexador" self) + (getAttr "hunchentoot" self) + (getAttr "trivial-open-browser" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + circular-streams = ( + build-asdf-system { + pname = "circular-streams"; + version = "20161204-git"; + asds = [ "circular-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz"; + sha256 = "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"; + system = "circular-streams"; + asd = "circular-streams"; + } + ); + systems = [ "circular-streams" ]; + lispLibs = [ + (getAttr "fast-io" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + circular-streams-test = ( + build-asdf-system { + pname = "circular-streams-test"; + version = "20161204-git"; + asds = [ "circular-streams-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz"; + sha256 = "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"; + system = "circular-streams-test"; + asd = "circular-streams-test"; + } + ); + systems = [ "circular-streams-test" ]; + lispLibs = [ + (getAttr "circular-streams" self) + (getAttr "cl-test-more" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + city-hash = ( + build-asdf-system { + pname = "city-hash"; + version = "20200925-git"; + asds = [ "city-hash" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/city-hash/2020-09-25/city-hash-20200925-git.tgz"; + sha256 = "10ksl402aa37sn78hnvlvpqibr66qzpjvf2x4a789gnl411cf44a"; + system = "city-hash"; + asd = "city-hash"; + } + ); + systems = [ "city-hash" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "nibbles" self) + (getAttr "swap-bytes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + city-hash-test = ( + build-asdf-system { + pname = "city-hash-test"; + version = "20200925-git"; + asds = [ "city-hash-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/city-hash/2020-09-25/city-hash-20200925-git.tgz"; + sha256 = "10ksl402aa37sn78hnvlvpqibr66qzpjvf2x4a789gnl411cf44a"; + system = "city-hash-test"; + asd = "city-hash-test"; + } + ); + systems = [ "city-hash-test" ]; + lispLibs = [ + (getAttr "city-hash" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ckr-tables = ( + build-asdf-system { + pname = "ckr-tables"; + version = "20241012-git"; + asds = [ "ckr-tables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-critic/2024-10-12/lisp-critic-20241012-git.tgz"; + sha256 = "19czs2m8h3kgwjd10pdk9r5kazbgly8g82a5q3bs7pqkja42i7x7"; + system = "ckr-tables"; + asd = "ckr-tables"; + } + ); + systems = [ "ckr-tables" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl_plus_ssl = ( + build-asdf-system { + pname = "cl+ssl"; + version = "20231021-git"; + asds = [ "cl+ssl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl+ssl/2023-10-21/cl+ssl-20231021-git.tgz"; + sha256 = "0v0kx2m5355jkdshmj0z923c5rlvdl2n11rb3hjbv3kssdfsbs0s"; + system = "cl+ssl"; + asd = "cl+ssl"; + } + ); + systems = [ "cl+ssl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "flexi-streams" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-gray-streams" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + cl_plus_ssl_dot_test = ( + build-asdf-system { + pname = "cl+ssl.test"; + version = "20231021-git"; + asds = [ "cl+ssl.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl+ssl/2023-10-21/cl+ssl-20231021-git.tgz"; + sha256 = "0v0kx2m5355jkdshmj0z923c5rlvdl2n11rb3hjbv3kssdfsbs0s"; + system = "cl+ssl.test"; + asd = "cl+ssl.test"; + } + ); + systems = [ "cl+ssl.test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-coveralls" self) + (getAttr "fiveam" self) + (getAttr "trivial-sockets" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-6502 = ( + build-asdf-system { + pname = "cl-6502"; + version = "20241012-git"; + asds = [ "cl-6502" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-6502/2024-10-12/cl-6502-20241012-git.tgz"; + sha256 = "1cj38bi12i7ji3m8dd8gxb17dlna2v8s3b3h6b0a9pvmv6wchpmz"; + system = "cl-6502"; + asd = "cl-6502"; + } + ); + systems = [ "cl-6502" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-aa = ( + build-asdf-system { + pname = "cl-aa"; + version = "20241012-git"; + asds = [ "cl-aa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; + sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; + system = "cl-aa"; + asd = "cl-aa"; + } + ); + systems = [ "cl-aa" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-aa-misc = ( + build-asdf-system { + pname = "cl-aa-misc"; + version = "20241012-git"; + asds = [ "cl-aa-misc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; + sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; + system = "cl-aa-misc"; + asd = "cl-aa-misc"; + } + ); + systems = [ "cl-aa-misc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-acronyms = ( + build-asdf-system { + pname = "cl-acronyms"; + version = "20150302-git"; + asds = [ "cl-acronyms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-acronyms/2015-03-02/cl-acronyms-20150302-git.tgz"; + sha256 = "1b827g6n87i81wbqzvmlq0yn41kfa502v5ssbh2wh1b4xznhn8cc"; + system = "cl-acronyms"; + asd = "cl-acronyms"; + } + ); + systems = [ "cl-acronyms" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-actors = ( + build-asdf-system { + pname = "cl-actors"; + version = "20191130-git"; + asds = [ "cl-actors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-lisp-actors/2019-11-30/common-lisp-actors-20191130-git.tgz"; + sha256 = "0snf91yivxq6jcbvm3l6b05lcka7jrzciqd4m841amghfw32clfn"; + system = "cl-actors"; + asd = "cl-actors"; + } + ); + systems = [ "cl-actors" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-advice = ( + build-asdf-system { + pname = "cl-advice"; + version = "20230214-git"; + asds = [ "cl-advice" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-advice/2023-02-14/cl-advice-20230214-git.tgz"; + sha256 = "038fhy7chgn9racrcikqncyiq5yqngs6d5ahxz7jkypixcdz48jx"; + system = "cl-advice"; + asd = "cl-advice"; + } + ); + systems = [ "cl-advice" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-advice-tests = ( + build-asdf-system { + pname = "cl-advice-tests"; + version = "20230214-git"; + asds = [ "cl-advice-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-advice/2023-02-14/cl-advice-20230214-git.tgz"; + sha256 = "038fhy7chgn9racrcikqncyiq5yqngs6d5ahxz7jkypixcdz48jx"; + system = "cl-advice-tests"; + asd = "cl-advice-tests"; + } + ); + systems = [ "cl-advice-tests" ]; + lispLibs = [ + (getAttr "cl-advice" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-alc = ( + build-asdf-system { + pname = "cl-alc"; + version = "20221106-git"; + asds = [ "cl-alc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; + sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; + system = "cl-alc"; + asd = "cl-alc"; + } + ); + systems = [ "cl-alc" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-openal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-algebraic-data-type = ( + build-asdf-system { + pname = "cl-algebraic-data-type"; + version = "20241012-git"; + asds = [ "cl-algebraic-data-type" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-algebraic-data-type/2024-10-12/cl-algebraic-data-type-20241012-git.tgz"; + sha256 = "02bfx9g4267f7f85banmfy15adyvlzaz3flia8zmhlzhpx7j4bj6"; + system = "cl-algebraic-data-type"; + asd = "cl-algebraic-data-type"; + } + ); + systems = [ "cl-algebraic-data-type" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "global-vars" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-all = ( + build-asdf-system { + pname = "cl-all"; + version = "20241012-git"; + asds = [ "cl-all" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-all/2024-10-12/cl-all-20241012-git.tgz"; + sha256 = "02n30b3yp949fxwnb9wr3m9hd5h1kcmxcbjc8c5fj4ihphf8sd7d"; + system = "cl-all"; + asd = "cl-all"; + } + ); + systems = [ "cl-all" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-alut = ( + build-asdf-system { + pname = "cl-alut"; + version = "20221106-git"; + asds = [ "cl-alut" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; + sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; + system = "cl-alut"; + asd = "cl-alut"; + } + ); + systems = [ "cl-alut" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-openal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-amqp = ( + build-asdf-system { + pname = "cl-amqp"; + version = "v0.4.1"; + asds = [ "cl-amqp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-amqp/2019-10-08/cl-amqp-v0.4.1.tgz"; + sha256 = "1ggd77ckfr54z7z5yi8d04k310x2dhf53qija8dzjhk1r9py20vz"; + system = "cl-amqp"; + asd = "cl-amqp"; + } + ); + systems = [ "cl-amqp" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "collectors" self) + (getAttr "fast-io" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "nibbles" self) + (getAttr "trivial-utf-8" self) + (getAttr "wu-decimal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-amqp_dot_test = ( + build-asdf-system { + pname = "cl-amqp.test"; + version = "v0.4.1"; + asds = [ "cl-amqp.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-amqp/2019-10-08/cl-amqp-v0.4.1.tgz"; + sha256 = "1ggd77ckfr54z7z5yi8d04k310x2dhf53qija8dzjhk1r9py20vz"; + system = "cl-amqp.test"; + asd = "cl-amqp.test"; + } + ); + systems = [ "cl-amqp.test" ]; + lispLibs = [ + (getAttr "cl-amqp" self) + (getAttr "cl-interpol" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana = ( + build-asdf-system { + pname = "cl-ana"; + version = "20220707-git"; + asds = [ "cl-ana" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana"; + asd = "cl-ana"; + } + ); + systems = [ "cl-ana" ]; + lispLibs = [ + (getAttr "cl-ana_dot_array-utils" self) + (getAttr "cl-ana_dot_binary-tree" self) + (getAttr "cl-ana_dot_calculus" self) + (getAttr "cl-ana_dot_clos-utils" self) + (getAttr "cl-ana_dot_columnar-table" self) + (getAttr "cl-ana_dot_csv-table" self) + (getAttr "cl-ana_dot_error-propogation" self) + (getAttr "cl-ana_dot_file-utils" self) + (getAttr "cl-ana_dot_fitting" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_hash-table-utils" self) + (getAttr "cl-ana_dot_hdf-table" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_int-char" self) + (getAttr "cl-ana_dot_linear-algebra" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_lorentz" self) + (getAttr "cl-ana_dot_makeres" self) + (getAttr "cl-ana_dot_makeres-block" self) + (getAttr "cl-ana_dot_makeres-branch" self) + (getAttr "cl-ana_dot_makeres-graphviz" self) + (getAttr "cl-ana_dot_makeres-macro" self) + (getAttr "cl-ana_dot_makeres-progress" self) + (getAttr "cl-ana_dot_makeres-table" self) + (getAttr "cl-ana_dot_makeres-utils" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "cl-ana_dot_ntuple-table" self) + (getAttr "cl-ana_dot_package-utils" self) + (getAttr "cl-ana_dot_pathname-utils" self) + (getAttr "cl-ana_dot_plotting" self) + (getAttr "cl-ana_dot_quantity" self) + (getAttr "cl-ana_dot_reusable-table" self) + (getAttr "cl-ana_dot_serialization" self) + (getAttr "cl-ana_dot_spline" self) + (getAttr "cl-ana_dot_statistical-learning" self) + (getAttr "cl-ana_dot_statistics" self) + (getAttr "cl-ana_dot_table" self) + (getAttr "cl-ana_dot_table-utils" self) + (getAttr "cl-ana_dot_table-viewing" self) + (getAttr "cl-ana_dot_tensor" self) + ]; + meta = { }; + } + ); + cl-ana_dot_array-utils = ( + build-asdf-system { + pname = "cl-ana.array-utils"; + version = "20220707-git"; + asds = [ "cl-ana.array-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.array-utils"; + asd = "cl-ana.array-utils"; + } + ); + systems = [ "cl-ana.array-utils" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_binary-tree = ( + build-asdf-system { + pname = "cl-ana.binary-tree"; + version = "20220707-git"; + asds = [ "cl-ana.binary-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.binary-tree"; + asd = "cl-ana.binary-tree"; + } + ); + systems = [ "cl-ana.binary-tree" ]; + lispLibs = [ + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_calculus = ( + build-asdf-system { + pname = "cl-ana.calculus"; + version = "20220707-git"; + asds = [ "cl-ana.calculus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.calculus"; + asd = "cl-ana.calculus"; + } + ); + systems = [ "cl-ana.calculus" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_linear-algebra" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_clos-utils = ( + build-asdf-system { + pname = "cl-ana.clos-utils"; + version = "20220707-git"; + asds = [ "cl-ana.clos-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.clos-utils"; + asd = "cl-ana.clos-utils"; + } + ); + systems = [ "cl-ana.clos-utils" ]; + lispLibs = [ + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_tensor" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_columnar-table = ( + build-asdf-system { + pname = "cl-ana.columnar-table"; + version = "20220707-git"; + asds = [ "cl-ana.columnar-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.columnar-table"; + asd = "cl-ana.columnar-table"; + } + ); + systems = [ "cl-ana.columnar-table" ]; + lispLibs = [ + (getAttr "cl-ana_dot_reusable-table" self) + (getAttr "cl-ana_dot_table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_csv-table = ( + build-asdf-system { + pname = "cl-ana.csv-table"; + version = "20220707-git"; + asds = [ "cl-ana.csv-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.csv-table"; + asd = "cl-ana.csv-table"; + } + ); + systems = [ "cl-ana.csv-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "antik" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_table" self) + (getAttr "cl-csv" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_error-propogation = ( + build-asdf-system { + pname = "cl-ana.error-propogation"; + version = "20220707-git"; + asds = [ "cl-ana.error-propogation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.error-propogation"; + asd = "cl-ana.error-propogation"; + } + ); + systems = [ "cl-ana.error-propogation" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_math-functions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_file-utils = ( + build-asdf-system { + pname = "cl-ana.file-utils"; + version = "20220707-git"; + asds = [ "cl-ana.file-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.file-utils"; + asd = "cl-ana.file-utils"; + } + ); + systems = [ "cl-ana.file-utils" ]; + lispLibs = [ + (getAttr "external-program" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_fitting = ( + build-asdf-system { + pname = "cl-ana.fitting"; + version = "20220707-git"; + asds = [ "cl-ana.fitting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.fitting"; + asd = "cl-ana.fitting"; + } + ); + systems = [ "cl-ana.fitting" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_error-propogation" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "gsll" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_functional-utils = ( + build-asdf-system { + pname = "cl-ana.functional-utils"; + version = "20220707-git"; + asds = [ "cl-ana.functional-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.functional-utils"; + asd = "cl-ana.functional-utils"; + } + ); + systems = [ "cl-ana.functional-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_generic-math = ( + build-asdf-system { + pname = "cl-ana.generic-math"; + version = "20220707-git"; + asds = [ "cl-ana.generic-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.generic-math"; + asd = "cl-ana.generic-math"; + } + ); + systems = [ "cl-ana.generic-math" ]; + lispLibs = [ + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_package-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_gnuplot-interface = ( + build-asdf-system { + pname = "cl-ana.gnuplot-interface"; + version = "20220707-git"; + asds = [ "cl-ana.gnuplot-interface" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.gnuplot-interface"; + asd = "cl-ana.gnuplot-interface"; + } + ); + systems = [ "cl-ana.gnuplot-interface" ]; + lispLibs = [ (getAttr "external-program" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_gsl-cffi = ( + build-asdf-system { + pname = "cl-ana.gsl-cffi"; + version = "20220707-git"; + asds = [ "cl-ana.gsl-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.gsl-cffi"; + asd = "cl-ana.gsl-cffi"; + } + ); + systems = [ "cl-ana.gsl-cffi" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_hash-table-utils = ( + build-asdf-system { + pname = "cl-ana.hash-table-utils"; + version = "20220707-git"; + asds = [ "cl-ana.hash-table-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.hash-table-utils"; + asd = "cl-ana.hash-table-utils"; + } + ); + systems = [ "cl-ana.hash-table-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_hdf-cffi = ( + build-asdf-system { + pname = "cl-ana.hdf-cffi"; + version = "20220707-git"; + asds = [ "cl-ana.hdf-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.hdf-cffi"; + asd = "cl-ana.hdf-cffi"; + } + ); + systems = [ "cl-ana.hdf-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_hdf-table = ( + build-asdf-system { + pname = "cl-ana.hdf-table"; + version = "20220707-git"; + asds = [ "cl-ana.hdf-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.hdf-table"; + asd = "cl-ana.hdf-table"; + } + ); + systems = [ "cl-ana.hdf-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_binary-tree" self) + (getAttr "cl-ana_dot_hdf-typespec" self) + (getAttr "cl-ana_dot_hdf-utils" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_memoization" self) + (getAttr "cl-ana_dot_table" self) + (getAttr "cl-ana_dot_typed-table" self) + (getAttr "cl-ana_dot_typespec" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_hdf-typespec = ( + build-asdf-system { + pname = "cl-ana.hdf-typespec"; + version = "20220707-git"; + asds = [ "cl-ana.hdf-typespec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.hdf-typespec"; + asd = "cl-ana.hdf-typespec"; + } + ); + systems = [ "cl-ana.hdf-typespec" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ana_dot_hdf-cffi" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_memoization" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_typespec" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_hdf-utils = ( + build-asdf-system { + pname = "cl-ana.hdf-utils"; + version = "20220707-git"; + asds = [ "cl-ana.hdf-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.hdf-utils"; + asd = "cl-ana.hdf-utils"; + } + ); + systems = [ "cl-ana.hdf-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ana_dot_hdf-cffi" self) + (getAttr "cl-ana_dot_hdf-typespec" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_memoization" self) + (getAttr "cl-ana_dot_pathname-utils" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_typespec" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_histogram = ( + build-asdf-system { + pname = "cl-ana.histogram"; + version = "20220707-git"; + asds = [ "cl-ana.histogram" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.histogram"; + asd = "cl-ana.histogram"; + } + ); + systems = [ "cl-ana.histogram" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_binary-tree" self) + (getAttr "cl-ana_dot_clos-utils" self) + (getAttr "cl-ana_dot_fitting" self) + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_hash-table-utils" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_tensor" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_int-char = ( + build-asdf-system { + pname = "cl-ana.int-char"; + version = "20220707-git"; + asds = [ "cl-ana.int-char" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.int-char"; + asd = "cl-ana.int-char"; + } + ); + systems = [ "cl-ana.int-char" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_linear-algebra = ( + build-asdf-system { + pname = "cl-ana.linear-algebra"; + version = "20220707-git"; + asds = [ "cl-ana.linear-algebra" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.linear-algebra"; + asd = "cl-ana.linear-algebra"; + } + ); + systems = [ "cl-ana.linear-algebra" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "cl-ana_dot_tensor" self) + (getAttr "gsll" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_list-utils = ( + build-asdf-system { + pname = "cl-ana.list-utils"; + version = "20220707-git"; + asds = [ "cl-ana.list-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.list-utils"; + asd = "cl-ana.list-utils"; + } + ); + systems = [ "cl-ana.list-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_string-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_lorentz = ( + build-asdf-system { + pname = "cl-ana.lorentz"; + version = "20220707-git"; + asds = [ "cl-ana.lorentz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.lorentz"; + asd = "cl-ana.lorentz"; + } + ); + systems = [ "cl-ana.lorentz" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_linear-algebra" self) + (getAttr "cl-ana_dot_tensor" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_macro-utils = ( + build-asdf-system { + pname = "cl-ana.macro-utils"; + version = "20220707-git"; + asds = [ "cl-ana.macro-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.macro-utils"; + asd = "cl-ana.macro-utils"; + } + ); + systems = [ "cl-ana.macro-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres = ( + build-asdf-system { + pname = "cl-ana.makeres"; + version = "20220707-git"; + asds = [ "cl-ana.makeres" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres"; + asd = "cl-ana.makeres"; + } + ); + systems = [ "cl-ana.makeres" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_error-propogation" self) + (getAttr "cl-ana_dot_file-utils" self) + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_hash-table-utils" self) + (getAttr "cl-ana_dot_hdf-utils" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_memoization" self) + (getAttr "cl-ana_dot_pathname-utils" self) + (getAttr "cl-ana_dot_plotting" self) + (getAttr "cl-ana_dot_reusable-table" self) + (getAttr "cl-ana_dot_serialization" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_table" self) + (getAttr "cl-fad" self) + (getAttr "external-program" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-block = ( + build-asdf-system { + pname = "cl-ana.makeres-block"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-block" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-block"; + asd = "cl-ana.makeres-block"; + } + ); + systems = [ "cl-ana.makeres-block" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_makeres" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-branch = ( + build-asdf-system { + pname = "cl-ana.makeres-branch"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-branch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-branch"; + asd = "cl-ana.makeres-branch"; + } + ); + systems = [ "cl-ana.makeres-branch" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_hash-table-utils" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_makeres" self) + (getAttr "cl-ana_dot_map" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-graphviz = ( + build-asdf-system { + pname = "cl-ana.makeres-graphviz"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-graphviz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-graphviz"; + asd = "cl-ana.makeres-graphviz"; + } + ); + systems = [ "cl-ana.makeres-graphviz" ]; + lispLibs = [ + (getAttr "cl-ana_dot_makeres" self) + (getAttr "external-program" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-macro = ( + build-asdf-system { + pname = "cl-ana.makeres-macro"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-macro" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-macro"; + asd = "cl-ana.makeres-macro"; + } + ); + systems = [ "cl-ana.makeres-macro" ]; + lispLibs = [ + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_makeres" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-progress = ( + build-asdf-system { + pname = "cl-ana.makeres-progress"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-progress" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-progress"; + asd = "cl-ana.makeres-progress"; + } + ); + systems = [ "cl-ana.makeres-progress" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_makeres" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-table = ( + build-asdf-system { + pname = "cl-ana.makeres-table"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-table"; + asd = "cl-ana.makeres-table"; + } + ); + systems = [ "cl-ana.makeres-table" ]; + lispLibs = [ + (getAttr "cl-ana_dot_csv-table" self) + (getAttr "cl-ana_dot_hash-table-utils" self) + (getAttr "cl-ana_dot_hdf-table" self) + (getAttr "cl-ana_dot_hdf-utils" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_makeres" self) + (getAttr "cl-ana_dot_makeres-macro" self) + (getAttr "cl-ana_dot_memoization" self) + (getAttr "cl-ana_dot_ntuple-table" self) + (getAttr "cl-ana_dot_reusable-table" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_makeres-utils = ( + build-asdf-system { + pname = "cl-ana.makeres-utils"; + version = "20220707-git"; + asds = [ "cl-ana.makeres-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.makeres-utils"; + asd = "cl-ana.makeres-utils"; + } + ); + systems = [ "cl-ana.makeres-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_file-utils" self) + (getAttr "cl-ana_dot_fitting" self) + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_makeres" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_pathname-utils" self) + (getAttr "cl-ana_dot_plotting" self) + (getAttr "cl-ana_dot_reusable-table" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_map = ( + build-asdf-system { + pname = "cl-ana.map"; + version = "20220707-git"; + asds = [ "cl-ana.map" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.map"; + asd = "cl-ana.map"; + } + ); + systems = [ "cl-ana.map" ]; + lispLibs = [ (getAttr "cl-ana_dot_hash-table-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_math-functions = ( + build-asdf-system { + pname = "cl-ana.math-functions"; + version = "20220707-git"; + asds = [ "cl-ana.math-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.math-functions"; + asd = "cl-ana.math-functions"; + } + ); + systems = [ "cl-ana.math-functions" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "gsll" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_memoization = ( + build-asdf-system { + pname = "cl-ana.memoization"; + version = "20220707-git"; + asds = [ "cl-ana.memoization" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.memoization"; + asd = "cl-ana.memoization"; + } + ); + systems = [ "cl-ana.memoization" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_ntuple-table = ( + build-asdf-system { + pname = "cl-ana.ntuple-table"; + version = "20220707-git"; + asds = [ "cl-ana.ntuple-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.ntuple-table"; + asd = "cl-ana.ntuple-table"; + } + ); + systems = [ "cl-ana.ntuple-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ana_dot_gsl-cffi" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_table" self) + (getAttr "cl-ana_dot_typed-table" self) + (getAttr "cl-ana_dot_typespec" self) + (getAttr "gsll" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_package-utils = ( + build-asdf-system { + pname = "cl-ana.package-utils"; + version = "20220707-git"; + asds = [ "cl-ana.package-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.package-utils"; + asd = "cl-ana.package-utils"; + } + ); + systems = [ "cl-ana.package-utils" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_pathname-utils = ( + build-asdf-system { + pname = "cl-ana.pathname-utils"; + version = "20220707-git"; + asds = [ "cl-ana.pathname-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.pathname-utils"; + asd = "cl-ana.pathname-utils"; + } + ); + systems = [ "cl-ana.pathname-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_plotting = ( + build-asdf-system { + pname = "cl-ana.plotting"; + version = "20220707-git"; + asds = [ "cl-ana.plotting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.plotting"; + asd = "cl-ana.plotting"; + } + ); + systems = [ "cl-ana.plotting" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_error-propogation" self) + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_gnuplot-interface" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "cl-ana_dot_pathname-utils" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_tensor" self) + (getAttr "external-program" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_quantity = ( + build-asdf-system { + pname = "cl-ana.quantity"; + version = "20220707-git"; + asds = [ "cl-ana.quantity" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.quantity"; + asd = "cl-ana.quantity"; + } + ); + systems = [ "cl-ana.quantity" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_error-propogation" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "cl-ana_dot_symbol-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_reusable-table = ( + build-asdf-system { + pname = "cl-ana.reusable-table"; + version = "20220707-git"; + asds = [ "cl-ana.reusable-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.reusable-table"; + asd = "cl-ana.reusable-table"; + } + ); + systems = [ "cl-ana.reusable-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_serialization = ( + build-asdf-system { + pname = "cl-ana.serialization"; + version = "20220707-git"; + asds = [ "cl-ana.serialization" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.serialization"; + asd = "cl-ana.serialization"; + } + ); + systems = [ "cl-ana.serialization" ]; + lispLibs = [ + (getAttr "cl-ana_dot_error-propogation" self) + (getAttr "cl-ana_dot_hdf-table" self) + (getAttr "cl-ana_dot_hdf-utils" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_int-char" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_typespec" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_spline = ( + build-asdf-system { + pname = "cl-ana.spline"; + version = "20220707-git"; + asds = [ "cl-ana.spline" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.spline"; + asd = "cl-ana.spline"; + } + ); + systems = [ "cl-ana.spline" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-ana_dot_fitting" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "cl-ana_dot_tensor" self) + (getAttr "gsll" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_statistical-learning = ( + build-asdf-system { + pname = "cl-ana.statistical-learning"; + version = "20220707-git"; + asds = [ "cl-ana.statistical-learning" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.statistical-learning"; + asd = "cl-ana.statistical-learning"; + } + ); + systems = [ "cl-ana.statistical-learning" ]; + lispLibs = [ + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_linear-algebra" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_math-functions" self) + (getAttr "cl-ana_dot_statistics" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_statistics = ( + build-asdf-system { + pname = "cl-ana.statistics"; + version = "20220707-git"; + asds = [ "cl-ana.statistics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.statistics"; + asd = "cl-ana.statistics"; + } + ); + systems = [ "cl-ana.statistics" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_map" self) + (getAttr "cl-ana_dot_math-functions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_string-utils = ( + build-asdf-system { + pname = "cl-ana.string-utils"; + version = "20220707-git"; + asds = [ "cl-ana.string-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.string-utils"; + asd = "cl-ana.string-utils"; + } + ); + systems = [ "cl-ana.string-utils" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_symbol-utils = ( + build-asdf-system { + pname = "cl-ana.symbol-utils"; + version = "20220707-git"; + asds = [ "cl-ana.symbol-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.symbol-utils"; + asd = "cl-ana.symbol-utils"; + } + ); + systems = [ "cl-ana.symbol-utils" ]; + lispLibs = [ (getAttr "cl-ana_dot_list-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_table = ( + build-asdf-system { + pname = "cl-ana.table"; + version = "20220707-git"; + asds = [ "cl-ana.table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.table"; + asd = "cl-ana.table"; + } + ); + systems = [ "cl-ana.table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_functional-utils" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_table-utils = ( + build-asdf-system { + pname = "cl-ana.table-utils"; + version = "20220707-git"; + asds = [ "cl-ana.table-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.table-utils"; + asd = "cl-ana.table-utils"; + } + ); + systems = [ "cl-ana.table-utils" ]; + lispLibs = [ + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_hash-table-utils" self) + (getAttr "cl-ana_dot_statistics" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_table-viewing = ( + build-asdf-system { + pname = "cl-ana.table-viewing"; + version = "20220707-git"; + asds = [ "cl-ana.table-viewing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.table-viewing"; + asd = "cl-ana.table-viewing"; + } + ); + systems = [ "cl-ana.table-viewing" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_histogram" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_plotting" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_tensor = ( + build-asdf-system { + pname = "cl-ana.tensor"; + version = "20220707-git"; + asds = [ "cl-ana.tensor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.tensor"; + asd = "cl-ana.tensor"; + } + ); + systems = [ "cl-ana.tensor" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_generic-math" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_macro-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_typed-table = ( + build-asdf-system { + pname = "cl-ana.typed-table"; + version = "20220707-git"; + asds = [ "cl-ana.typed-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.typed-table"; + asd = "cl-ana.typed-table"; + } + ); + systems = [ "cl-ana.typed-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_table" self) + (getAttr "cl-ana_dot_typespec" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ana_dot_typespec = ( + build-asdf-system { + pname = "cl-ana.typespec"; + version = "20220707-git"; + asds = [ "cl-ana.typespec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ana/2022-07-07/cl-ana-20220707-git.tgz"; + sha256 = "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"; + system = "cl-ana.typespec"; + asd = "cl-ana.typespec"; + } + ); + systems = [ "cl-ana.typespec" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ana_dot_int-char" self) + (getAttr "cl-ana_dot_list-utils" self) + (getAttr "cl-ana_dot_memoization" self) + (getAttr "cl-ana_dot_string-utils" self) + (getAttr "cl-ana_dot_symbol-utils" self) + (getAttr "cl-ana_dot_tensor" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-android = ( + build-asdf-system { + pname = "cl-android"; + version = "20150804-git"; + asds = [ "cl-android" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sl4a/2015-08-04/cl-sl4a-20150804-git.tgz"; + sha256 = "0lqla60apkc8xfiyi43w18dldf0m8z5q290wv3d89qf0n9gwk3cr"; + system = "cl-android"; + asd = "cl-android"; + } + ); + systems = [ "cl-android" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-annot = ( + build-asdf-system { + pname = "cl-annot"; + version = "20150608-git"; + asds = [ "cl-annot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-annot/2015-06-08/cl-annot-20150608-git.tgz"; + sha256 = "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"; + system = "cl-annot"; + asd = "cl-annot"; + } + ); + systems = [ "cl-annot" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + cl-annot-prove = ( + build-asdf-system { + pname = "cl-annot-prove"; + version = "20150923-git"; + asds = [ "cl-annot-prove" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-annot-prove/2015-09-23/cl-annot-prove-20150923-git.tgz"; + sha256 = "000nlxxs1id1pccp3y5s9xnm76fc5r87q0bxmjrpklxwwf5y8wwy"; + system = "cl-annot-prove"; + asd = "cl-annot-prove"; + } + ); + systems = [ "cl-annot-prove" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + (getAttr "prove" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-annot-prove-test = ( + build-asdf-system { + pname = "cl-annot-prove-test"; + version = "20150923-git"; + asds = [ "cl-annot-prove-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-annot-prove/2015-09-23/cl-annot-prove-20150923-git.tgz"; + sha256 = "000nlxxs1id1pccp3y5s9xnm76fc5r87q0bxmjrpklxwwf5y8wwy"; + system = "cl-annot-prove-test"; + asd = "cl-annot-prove-test"; + } + ); + systems = [ "cl-annot-prove-test" ]; + lispLibs = [ + (getAttr "cl-annot-prove" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-annot-revisit = ( + build-asdf-system { + pname = "cl-annot-revisit"; + version = "20221106-git"; + asds = [ "cl-annot-revisit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-annot-revisit/2022-11-06/cl-annot-revisit-20221106-git.tgz"; + sha256 = "0jlllgq14bi1rddzlmq9wfs4vb24apgqz17wfd79kjjcmnzzjp4m"; + system = "cl-annot-revisit"; + asd = "cl-annot-revisit"; + } + ); + systems = [ "cl-annot-revisit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-annot-revisit-compat = ( + build-asdf-system { + pname = "cl-annot-revisit-compat"; + version = "20221106-git"; + asds = [ "cl-annot-revisit-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-annot-revisit/2022-11-06/cl-annot-revisit-20221106-git.tgz"; + sha256 = "0jlllgq14bi1rddzlmq9wfs4vb24apgqz17wfd79kjjcmnzzjp4m"; + system = "cl-annot-revisit-compat"; + asd = "cl-annot-revisit-compat"; + } + ); + systems = [ "cl-annot-revisit-compat" ]; + lispLibs = [ (getAttr "cl-annot-revisit" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-annot-revisit-test = ( + build-asdf-system { + pname = "cl-annot-revisit-test"; + version = "20221106-git"; + asds = [ "cl-annot-revisit-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-annot-revisit/2022-11-06/cl-annot-revisit-20221106-git.tgz"; + sha256 = "0jlllgq14bi1rddzlmq9wfs4vb24apgqz17wfd79kjjcmnzzjp4m"; + system = "cl-annot-revisit-test"; + asd = "cl-annot-revisit-test"; + } + ); + systems = [ "cl-annot-revisit-test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "cl-annot-revisit" self) + (getAttr "cl-annot-revisit-compat" self) + (getAttr "trivial-macroexpand-all" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-anonfun = ( + build-asdf-system { + pname = "cl-anonfun"; + version = "20111203-git"; + asds = [ "cl-anonfun" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-anonfun/2011-12-03/cl-anonfun-20111203-git.tgz"; + sha256 = "086x2vjvasdy9bhikvdzx34nrq008c0sfkq3ncv0i9mhfk5xwp2j"; + system = "cl-anonfun"; + asd = "cl-anonfun"; + } + ); + systems = [ "cl-anonfun" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-ansi-term = ( + build-asdf-system { + pname = "cl-ansi-term"; + version = "20241012-git"; + asds = [ "cl-ansi-term" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ansi-term/2024-10-12/cl-ansi-term-20241012-git.tgz"; + sha256 = "01nrlyb8lqca9z16ndlyy22wqy83ixcr02yibfypj255x6xbql1x"; + system = "cl-ansi-term"; + asd = "cl-ansi-term"; + } + ); + systems = [ "cl-ansi-term" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ansi-text = ( + build-asdf-system { + pname = "cl-ansi-text"; + version = "20211020-git"; + asds = [ "cl-ansi-text" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz"; + sha256 = "0nk7ajqfa937w1iy3zy86jjbw8yffm05cqs4wxkgl97v6kmmya14"; + system = "cl-ansi-text"; + asd = "cl-ansi-text"; + } + ); + systems = [ "cl-ansi-text" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-colors2" self) + ]; + meta = { }; + } + ); + cl-ansi-text_dot_test = ( + build-asdf-system { + pname = "cl-ansi-text.test"; + version = "20211020-git"; + asds = [ "cl-ansi-text.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz"; + sha256 = "0nk7ajqfa937w1iy3zy86jjbw8yffm05cqs4wxkgl97v6kmmya14"; + system = "cl-ansi-text.test"; + asd = "cl-ansi-text.test"; + } + ); + systems = [ "cl-ansi-text.test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-colors2" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-apertium-stream = ( + build-asdf-system { + pname = "cl-apertium-stream"; + version = "20230618-git"; + asds = [ "cl-apertium-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-apertium-stream-parser/2023-06-18/cl-apertium-stream-parser-20230618-git.tgz"; + sha256 = "1f3v5pgar83iw443haa4nlzy1qvr55xxqggq9klvsji1a3jdypqy"; + system = "cl-apertium-stream"; + asd = "cl-apertium-stream"; + } + ); + systems = [ "cl-apertium-stream" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "esrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-apple-plist = ( + build-asdf-system { + pname = "cl-apple-plist"; + version = "20111105-git"; + asds = [ "cl-apple-plist" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-apple-plist/2011-11-05/cl-apple-plist-20111105-git.tgz"; + sha256 = "104j5lvvp7apdx59kbwc6kpa8b82y20w03627ml91lpbqk9bq63f"; + system = "cl-apple-plist"; + asd = "cl-apple-plist"; + } + ); + systems = [ "cl-apple-plist" ]; + lispLibs = [ (getAttr "html-encode" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-arff-parser = ( + build-asdf-system { + pname = "cl-arff-parser"; + version = "20130421-git"; + asds = [ "cl-arff-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-arff-parser/2013-04-21/cl-arff-parser-20130421-git.tgz"; + sha256 = "0rn76r48b2y2richfy3si4r8kbwkvm7q15g34sxi0fkfmx15z4jx"; + system = "cl-arff-parser"; + asd = "cl-arff-parser"; + } + ); + systems = [ "cl-arff-parser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-argparse = ( + build-asdf-system { + pname = "cl-argparse"; + version = "20210531-git"; + asds = [ "cl-argparse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-argparse/2021-05-31/cl-argparse-20210531-git.tgz"; + sha256 = "05vy2iaqr7yiaw0ykzwm0ml0mil5qagy87b8hqx4vvb3lq1qpn14"; + system = "cl-argparse"; + asd = "cl-argparse"; + } + ); + systems = [ "cl-argparse" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-aristid = ( + build-asdf-system { + pname = "cl-aristid"; + version = "20200925-git"; + asds = [ "cl-aristid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-aristid/2020-09-25/cl-aristid-20200925-git.tgz"; + sha256 = "0k573k3wydy6dd5pmvqdxmlwk0n5kq2wsk86syddhqyjgx2jmw98"; + system = "cl-aristid"; + asd = "cl-aristid"; + } + ); + systems = [ "cl-aristid" ]; + lispLibs = [ + (getAttr "cl-colors" self) + (getAttr "cl-svg" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-arxiv-api = ( + build-asdf-system { + pname = "cl-arxiv-api"; + version = "20170403-git"; + asds = [ "cl-arxiv-api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-arxiv-api/2017-04-03/cl-arxiv-api-20170403-git.tgz"; + sha256 = "1id95gszqxmmjydv1vjv2vyxz0svqvnx74bmgy63xnajb4kfnpq3"; + system = "cl-arxiv-api"; + asd = "cl-arxiv-api"; + } + ); + systems = [ "cl-arxiv-api" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "iterate" self) + (getAttr "trivial-http" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ascii-art = ( + build-asdf-system { + pname = "cl-ascii-art"; + version = "20171019-git"; + asds = [ "cl-ascii-art" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ascii-art/2017-10-19/cl-ascii-art-20171019-git.tgz"; + sha256 = "03d3bd8m7dd2l4170vky8y8ini3giqhjpd06rlswz287mkvzq8aa"; + system = "cl-ascii-art"; + asd = "cl-ascii-art"; + } + ); + systems = [ "cl-ascii-art" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-ppcre" self) + (getAttr "inferior-shell" self) + (getAttr "iterate" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ascii-table = ( + build-asdf-system { + pname = "cl-ascii-table"; + version = "20200610-git"; + asds = [ "cl-ascii-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ascii-table/2020-06-10/cl-ascii-table-20200610-git.tgz"; + sha256 = "1nclyypd2p06hyfydcv16m9lbj1xmrpmf00wp8mfyhwimv021zlp"; + system = "cl-ascii-table"; + asd = "cl-ascii-table"; + } + ); + systems = [ "cl-ascii-table" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-aseprite = ( + build-asdf-system { + pname = "cl-aseprite"; + version = "20241012-git"; + asds = [ "cl-aseprite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-aseprite/2024-10-12/cl-aseprite-20241012-git.tgz"; + sha256 = "0xjrfi232d0my4ncafp1l2yfas8nj0k8nsbppkq70anic5ihbhch"; + system = "cl-aseprite"; + asd = "cl-aseprite"; + } + ); + systems = [ "cl-aseprite" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "chipz" self) + (getAttr "let-plus" self) + (getAttr "lisp-binary" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-association-rules = ( + build-asdf-system { + pname = "cl-association-rules"; + version = "20170403-git"; + asds = [ "cl-association-rules" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-association-rules/2017-04-03/cl-association-rules-20170403-git.tgz"; + sha256 = "1d4sg9j30ydk1m17byacww8l2x9ggb82iay507g08ij0jxdky86z"; + system = "cl-association-rules"; + asd = "cl-association-rules"; + } + ); + systems = [ "cl-association-rules" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-association-rules-tests = ( + build-asdf-system { + pname = "cl-association-rules-tests"; + version = "20170403-git"; + asds = [ "cl-association-rules-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-association-rules/2017-04-03/cl-association-rules-20170403-git.tgz"; + sha256 = "1d4sg9j30ydk1m17byacww8l2x9ggb82iay507g08ij0jxdky86z"; + system = "cl-association-rules-tests"; + asd = "cl-association-rules"; + } + ); + systems = [ "cl-association-rules-tests" ]; + lispLibs = [ + (getAttr "cl-association-rules" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-astar = ( + build-asdf-system { + pname = "cl-astar"; + version = "20241012-git"; + asds = [ "cl-astar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-astar/2024-10-12/cl-astar-20241012-git.tgz"; + sha256 = "0fdwyg3xnj5sxn4cqycydg0cp1l3ii0brk7ad1sh28m703zmndxv"; + system = "cl-astar"; + asd = "cl-astar"; + } + ); + systems = [ "cl-astar" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "float-features" self) + (getAttr "let-plus" self) + (getAttr "trivial-adjust-simple-array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-async = ( + build-asdf-system { + pname = "cl-async"; + version = "20241012-git"; + asds = [ "cl-async" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; + sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; + system = "cl-async"; + asd = "cl-async"; + } + ); + systems = [ "cl-async" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cl-async-base" self) + (getAttr "cl-async-util" self) + (getAttr "cl-libuv" self) + (getAttr "cl-ppcre" self) + (getAttr "static-vectors" self) + (getAttr "trivial-features" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + cl-async-await = ( + build-asdf-system { + pname = "cl-async-await"; + version = "20201016-git"; + asds = [ "cl-async-await" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async-await/2020-10-16/cl-async-await-20201016-git.tgz"; + sha256 = "1slhn9z4hljvad3hd8jmvw4q4m6310s04yh3212wvbfar8q0yasj"; + system = "cl-async-await"; + asd = "cl-async-await"; + } + ); + systems = [ "cl-async-await" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "simple-actors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-async-base = ( + build-asdf-system { + pname = "cl-async-base"; + version = "20241012-git"; + asds = [ "cl-async-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; + sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; + system = "cl-async-base"; + asd = "cl-async"; + } + ); + systems = [ "cl-async-base" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-libuv" self) + ]; + meta = { }; + } + ); + cl-async-future = ( + build-asdf-system { + pname = "cl-async-future"; + version = "20150113-git"; + asds = [ "cl-async-future" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async-future/2015-01-13/cl-async-future-20150113-git.tgz"; + sha256 = "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"; + system = "cl-async-future"; + asd = "cl-async-future"; + } + ); + systems = [ "cl-async-future" ]; + lispLibs = [ (getAttr "blackbird" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-async-repl = ( + build-asdf-system { + pname = "cl-async-repl"; + version = "20241012-git"; + asds = [ "cl-async-repl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; + sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; + system = "cl-async-repl"; + asd = "cl-async-repl"; + } + ); + systems = [ "cl-async-repl" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-async" self) + ]; + meta = { }; + } + ); + cl-async-ssl = ( + build-asdf-system { + pname = "cl-async-ssl"; + version = "20241012-git"; + asds = [ "cl-async-ssl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; + sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; + system = "cl-async-ssl"; + asd = "cl-async-ssl"; + } + ); + systems = [ "cl-async-ssl" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-async" self) + (getAttr "vom" self) + ]; + meta = { }; + } + ); + cl-async-test = ( + build-asdf-system { + pname = "cl-async-test"; + version = "20241012-git"; + asds = [ "cl-async-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; + sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; + system = "cl-async-test"; + asd = "cl-async-test"; + } + ); + systems = [ "cl-async-test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-async" self) + (getAttr "cl-async-ssl" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-async-util = ( + build-asdf-system { + pname = "cl-async-util"; + version = "20241012-git"; + asds = [ "cl-async-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-async/2024-10-12/cl-async-20241012-git.tgz"; + sha256 = "0z0gnwfb0flrxpbjmvzap0kmyz8r898x5jriyna365plc50hlcdr"; + system = "cl-async-util"; + asd = "cl-async"; + } + ); + systems = [ "cl-async-util" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-async-base" self) + (getAttr "cl-libuv" self) + (getAttr "cl-ppcre" self) + (getAttr "fast-io" self) + (getAttr "vom" self) + ]; + meta = { }; + } + ); + cl-aubio = ( + build-asdf-system { + pname = "cl-aubio"; + version = "20200427-git"; + asds = [ "cl-aubio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-aubio/2020-04-27/cl-aubio-20200427-git.tgz"; + sha256 = "1xyflxy46z4487dbnizhv058y2mdka9iyikl097m60w42blidpn3"; + system = "cl-aubio"; + asd = "cl-aubio"; + } + ); + systems = [ "cl-aubio" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-authorize-net = ( + build-asdf-system { + pname = "cl-authorize-net"; + version = "20150113-git"; + asds = [ "cl-authorize-net" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz"; + sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr"; + system = "cl-authorize-net"; + asd = "cl-authorize-net"; + } + ); + systems = [ "cl-authorize-net" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-creditcard" self) + (getAttr "drakma" self) + (getAttr "split-sequence" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-authorize-net-tests = ( + build-asdf-system { + pname = "cl-authorize-net-tests"; + version = "20150113-git"; + asds = [ "cl-authorize-net-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz"; + sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr"; + system = "cl-authorize-net-tests"; + asd = "cl-authorize-net"; + } + ); + systems = [ "cl-authorize-net-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-authorize-net" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-autorepo = ( + build-asdf-system { + pname = "cl-autorepo"; + version = "20180711-git"; + asds = [ "cl-autorepo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-autorepo/2018-07-11/cl-autorepo-20180711-git.tgz"; + sha256 = "01hpg3r3493mri44kxp8sjy8i5kfvjklmnksvm0727i6bhpf8cz9"; + system = "cl-autorepo"; + asd = "cl-autorepo"; + } + ); + systems = [ "cl-autorepo" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-autowrap = ( + build-asdf-system { + pname = "cl-autowrap"; + version = "20241012-git"; + asds = [ "cl-autowrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-autowrap/2024-10-12/cl-autowrap-20241012-git.tgz"; + sha256 = "1sfvhyrwm9dhxi0y42xp7mx8mvs6lmq3bzxdx34frxni5srcgly0"; + system = "cl-autowrap"; + asd = "cl-autowrap"; + } + ); + systems = [ "cl-autowrap" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "defpackage-plus" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-autowrap-test = ( + build-asdf-system { + pname = "cl-autowrap-test"; + version = "20241012-git"; + asds = [ "cl-autowrap-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-autowrap/2024-10-12/cl-autowrap-20241012-git.tgz"; + sha256 = "1sfvhyrwm9dhxi0y42xp7mx8mvs6lmq3bzxdx34frxni5srcgly0"; + system = "cl-autowrap-test"; + asd = "cl-autowrap-test"; + } + ); + systems = [ "cl-autowrap-test" ]; + lispLibs = [ (getAttr "cl-autowrap" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-azure = ( + build-asdf-system { + pname = "cl-azure"; + version = "20160825-git"; + asds = [ "cl-azure" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-azure/2016-08-25/cl-azure-20160825-git.tgz"; + sha256 = "19sgzbvgs1f1h3qhx11xhpia2x3n8x729h9fsqkc7fap0ak1h31d"; + system = "cl-azure"; + asd = "cl-azure"; + } + ); + systems = [ "cl-azure" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "ironclad" self) + (getAttr "puri" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-base16 = ( + build-asdf-system { + pname = "cl-base16"; + version = "20200925-git"; + asds = [ "cl-base16" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-base16/2020-09-25/cl-base16-20200925-git.tgz"; + sha256 = "0m7ndmk4xhizn3q3ywjvw8sg4pfgp6lrd0wac5d1bf7wbw6afh5q"; + system = "cl-base16"; + asd = "cl-base16"; + } + ); + systems = [ "cl-base16" ]; + lispLibs = [ + (getAttr "cl-mustache" self) + (getAttr "cl-slug" self) + (getAttr "cl-yaml" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-base32 = ( + build-asdf-system { + pname = "cl-base32"; + version = "20241012-git"; + asds = [ "cl-base32" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-base32/2024-10-12/cl-base32-20241012-git.tgz"; + sha256 = "0kc0rxwx2ak5kvrzl8y8x3csm0d6appi5k0as2jgm3ig5vgcs5cn"; + system = "cl-base32"; + asd = "cl-base32"; + } + ); + systems = [ "cl-base32" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-base58 = ( + build-asdf-system { + pname = "cl-base58"; + version = "20150113-git"; + asds = [ "cl-base58" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-base58/2015-01-13/cl-base58-20150113-git.tgz"; + sha256 = "01wiiyz1jzxx3zhxi2hpq5n8hv28g1mn0adk793vwjzh4v5bi5zz"; + system = "cl-base58"; + asd = "cl-base58"; + } + ); + systems = [ "cl-base58" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-base58-test = ( + build-asdf-system { + pname = "cl-base58-test"; + version = "20150113-git"; + asds = [ "cl-base58-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-base58/2015-01-13/cl-base58-20150113-git.tgz"; + sha256 = "01wiiyz1jzxx3zhxi2hpq5n8hv28g1mn0adk793vwjzh4v5bi5zz"; + system = "cl-base58-test"; + asd = "cl-base58-test"; + } + ); + systems = [ "cl-base58-test" ]; + lispLibs = [ + (getAttr "cl-base58" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-base64 = ( + build-asdf-system { + pname = "cl-base64"; + version = "20201016-git"; + asds = [ "cl-base64" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-base64/2020-10-16/cl-base64-20201016-git.tgz"; + sha256 = "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"; + system = "cl-base64"; + asd = "cl-base64"; + } + ); + systems = [ "cl-base64" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-bayesnet = ( + build-asdf-system { + pname = "cl-bayesnet"; + version = "20130420-git"; + asds = [ "cl-bayesnet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bayesnet/2013-04-20/cl-bayesnet-20130420-git.tgz"; + sha256 = "02as2isvgm89qpyj49ccs1cg4fl9iswxi26w4j0svsha0q1dh5m8"; + system = "cl-bayesnet"; + asd = "cl-bayesnet"; + } + ); + systems = [ "cl-bayesnet" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "s-xml" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bcrypt = ( + build-asdf-system { + pname = "cl-bcrypt"; + version = "20231021-git"; + asds = [ "cl-bcrypt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bcrypt/2023-10-21/cl-bcrypt-20231021-git.tgz"; + sha256 = "0mfs1jwf1xi6za61hfc7dgf1g5lqqsqdclnnspncvdg6l137013n"; + system = "cl-bcrypt"; + asd = "cl-bcrypt"; + } + ); + systems = [ "cl-bcrypt" ]; + lispLibs = [ + (getAttr "binascii" self) + (getAttr "cl-ppcre" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bcrypt_dot_test = ( + build-asdf-system { + pname = "cl-bcrypt.test"; + version = "20231021-git"; + asds = [ "cl-bcrypt.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bcrypt/2023-10-21/cl-bcrypt-20231021-git.tgz"; + sha256 = "0mfs1jwf1xi6za61hfc7dgf1g5lqqsqdclnnspncvdg6l137013n"; + system = "cl-bcrypt.test"; + asd = "cl-bcrypt.test"; + } + ); + systems = [ "cl-bcrypt.test" ]; + lispLibs = [ + (getAttr "cl-bcrypt" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-beanstalk = ( + build-asdf-system { + pname = "cl-beanstalk"; + version = "20220707-git"; + asds = [ "cl-beanstalk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-beanstalk/2022-07-07/cl-beanstalk-20220707-git.tgz"; + sha256 = "0vca8dw2l765m7g7xcpzi80m8f3145hhshh8ym602336fhiz61q1"; + system = "cl-beanstalk"; + asd = "cl-beanstalk"; + } + ); + systems = [ "cl-beanstalk" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bip39 = ( + build-asdf-system { + pname = "cl-bip39"; + version = "20180711-git"; + asds = [ "cl-bip39" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bip39/2018-07-11/cl-bip39-20180711-git.tgz"; + sha256 = "04h4lhppvavvqknp11gaj4ka2wpn9i883w1w27llblkg2vnn0816"; + system = "cl-bip39"; + asd = "cl-bip39"; + } + ); + systems = [ "cl-bip39" ]; + lispLibs = [ + (getAttr "ironclad" self) + (getAttr "secure-random" self) + (getAttr "split-sequence" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bloggy = ( + build-asdf-system { + pname = "cl-bloggy"; + version = "20211020-git"; + asds = [ "cl-bloggy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bloggy/2021-10-20/cl-bloggy-20211020-git.tgz"; + sha256 = "1clz2a0s3g3jbsrpypb4byb432l0yb4658riqs6ckin57c4bzxc8"; + system = "cl-bloggy"; + asd = "cl-bloggy"; + } + ); + systems = [ "cl-bloggy" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "do-urlencode" self) + (getAttr "hunchentoot" self) + (getAttr "lass" self) + (getAttr "local-time" self) + (getAttr "lorem-ipsum" self) + (getAttr "spinneret" self) + (getAttr "str" self) + (getAttr "xml-emitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bloom = ( + build-asdf-system { + pname = "cl-bloom"; + version = "20180228-git"; + asds = [ "cl-bloom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bloom/2018-02-28/cl-bloom-20180228-git.tgz"; + sha256 = "1ircc5sa0a2xlx0fca0is6inwrk311hbj8jx6r4sas5pfv78k4am"; + system = "cl-bloom"; + asd = "cl-bloom"; + } + ); + systems = [ "cl-bloom" ]; + lispLibs = [ + (getAttr "cl-murmurhash" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bloom-filter = ( + build-asdf-system { + pname = "cl-bloom-filter"; + version = "20221106-git"; + asds = [ "cl-bloom-filter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bloom-filter/2022-11-06/cl-bloom-filter-20221106-git.tgz"; + sha256 = "1s9m617fh3krh2klc2nx7jf89nk43cvvrnvqrhvw9jprw7gqanvq"; + system = "cl-bloom-filter"; + asd = "cl-bloom-filter"; + } + ); + systems = [ "cl-bloom-filter" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bmp = ( + build-asdf-system { + pname = "cl-bmp"; + version = "20241012-git"; + asds = [ "cl-bmp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bmp/2024-10-12/cl-bmp-20241012-git.tgz"; + sha256 = "1mcayxjppka40q9xx1qwdvrjjblclnggnicg70i95xqnv5sdwdhz"; + system = "cl-bmp"; + asd = "cl-bmp"; + } + ); + systems = [ "cl-bmp" ]; + lispLibs = [ + (getAttr "binary-structures" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bnf = ( + build-asdf-system { + pname = "cl-bnf"; + version = "20241012-git"; + asds = [ "cl-bnf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bnf/2024-10-12/cl-bnf-20241012-git.tgz"; + sha256 = "0aa7hnkj71f37lxzlhsppwcmk3yv42hclq08c4jrdnv8jmdb8r0l"; + system = "cl-bnf"; + asd = "cl-bnf"; + } + ); + systems = [ "cl-bnf" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "utf8-input-stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bnf-examples = ( + build-asdf-system { + pname = "cl-bnf-examples"; + version = "20241012-git"; + asds = [ "cl-bnf-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bnf/2024-10-12/cl-bnf-20241012-git.tgz"; + sha256 = "0aa7hnkj71f37lxzlhsppwcmk3yv42hclq08c4jrdnv8jmdb8r0l"; + system = "cl-bnf-examples"; + asd = "cl-bnf-examples"; + } + ); + systems = [ "cl-bnf-examples" ]; + lispLibs = [ (getAttr "cl-bnf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bnf-tests = ( + build-asdf-system { + pname = "cl-bnf-tests"; + version = "20241012-git"; + asds = [ "cl-bnf-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bnf/2024-10-12/cl-bnf-20241012-git.tgz"; + sha256 = "0aa7hnkj71f37lxzlhsppwcmk3yv42hclq08c4jrdnv8jmdb8r0l"; + system = "cl-bnf-tests"; + asd = "cl-bnf-tests"; + } + ); + systems = [ "cl-bnf-tests" ]; + lispLibs = [ + (getAttr "cl-bnf" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bootstrap = ( + build-asdf-system { + pname = "cl-bootstrap"; + version = "20180831-git"; + asds = [ "cl-bootstrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz"; + sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry"; + system = "cl-bootstrap"; + asd = "cl-bootstrap"; + } + ); + systems = [ "cl-bootstrap" ]; + lispLibs = [ + (getAttr "cl-who" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bootstrap-demo = ( + build-asdf-system { + pname = "cl-bootstrap-demo"; + version = "20180831-git"; + asds = [ "cl-bootstrap-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz"; + sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry"; + system = "cl-bootstrap-demo"; + asd = "cl-bootstrap-demo"; + } + ); + systems = [ "cl-bootstrap-demo" ]; + lispLibs = [ + (getAttr "cl-bootstrap" self) + (getAttr "cl-who" self) + (getAttr "hunchentoot" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bootstrap-test = ( + build-asdf-system { + pname = "cl-bootstrap-test"; + version = "20180831-git"; + asds = [ "cl-bootstrap-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz"; + sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry"; + system = "cl-bootstrap-test"; + asd = "cl-bootstrap-test"; + } + ); + systems = [ "cl-bootstrap-test" ]; + lispLibs = [ + (getAttr "cl-bootstrap" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bplustree = ( + build-asdf-system { + pname = "cl-bplustree"; + version = "20180328-git"; + asds = [ "cl-bplustree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bplustree/2018-03-28/cl-bplustree-20180328-git.tgz"; + sha256 = "1d9pm9fi9bhh73bhcgig0wq5i4fvc4551kxvny3di6x6yr7j2kbl"; + system = "cl-bplustree"; + asd = "cl-bplustree"; + } + ); + systems = [ "cl-bplustree" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bplustree-test = ( + build-asdf-system { + pname = "cl-bplustree-test"; + version = "20180328-git"; + asds = [ "cl-bplustree-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bplustree/2018-03-28/cl-bplustree-20180328-git.tgz"; + sha256 = "1d9pm9fi9bhh73bhcgig0wq5i4fvc4551kxvny3di6x6yr7j2kbl"; + system = "cl-bplustree-test"; + asd = "cl-bplustree"; + } + ); + systems = [ "cl-bplustree-test" ]; + lispLibs = [ (getAttr "cl-bplustree" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-brewer-ci = ( + build-asdf-system { + pname = "cl-brewer-ci"; + version = "20241012-git"; + asds = [ "cl-brewer-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; + sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; + system = "cl-brewer-ci"; + asd = "cl-brewer-ci"; + } + ); + systems = [ "cl-brewer-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-brewer-deploy-hooks = ( + build-asdf-system { + pname = "cl-brewer-deploy-hooks"; + version = "20241012-git"; + asds = [ "cl-brewer-deploy-hooks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; + sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; + system = "cl-brewer-deploy-hooks"; + asd = "cl-brewer-deploy-hooks"; + } + ); + systems = [ "cl-brewer-deploy-hooks" ]; + lispLibs = [ (getAttr "deploy" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-brewer-tests = ( + build-asdf-system { + pname = "cl-brewer-tests"; + version = "20241012-git"; + asds = [ "cl-brewer-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; + sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; + system = "cl-brewer-tests"; + asd = "cl-brewer-tests"; + } + ); + systems = [ "cl-brewer-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-buchberger = ( + build-asdf-system { + pname = "cl-buchberger"; + version = "20241012-git"; + asds = [ "cl-buchberger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-buchberger/2024-10-12/cl-buchberger-20241012-git.tgz"; + sha256 = "0hn340y52xfgj788zh449jrh7blfv6yqfnkmqg2vghy92s8jcr1i"; + system = "cl-buchberger"; + asd = "cl-buchberger"; + } + ); + systems = [ "cl-buchberger" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-bus = ( + build-asdf-system { + pname = "cl-bus"; + version = "20211209-git"; + asds = [ "cl-bus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-bus/2021-12-09/cl-bus-20211209-git.tgz"; + sha256 = "1galzqm1qv2slibn3awfyxnmlslxmzw09a8fidmbdy1r0ppp5r7z"; + system = "cl-bus"; + asd = "cl-bus"; + } + ); + systems = [ "cl-bus" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ca = ( + build-asdf-system { + pname = "cl-ca"; + version = "20161204-git"; + asds = [ "cl-ca" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ca/2016-12-04/cl-ca-20161204-git.tgz"; + sha256 = "0kpwpxw3c8q7b2ajyj9rzhs1r1h6kipdm9qjkgsn0sqrmx9acfnz"; + system = "cl-ca"; + asd = "cl-ca"; + } + ); + systems = [ "cl-ca" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cache-tables = ( + build-asdf-system { + pname = "cl-cache-tables"; + version = "20171019-git"; + asds = [ "cl-cache-tables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cache-tables/2017-10-19/cl-cache-tables-20171019-git.tgz"; + sha256 = "008m7v39mq2475y1f4if5iazb15rm02g22id4q4qgig1zx2vfpg1"; + system = "cl-cache-tables"; + asd = "cl-cache-tables"; + } + ); + systems = [ "cl-cache-tables" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cache-tables-tests = ( + build-asdf-system { + pname = "cl-cache-tables-tests"; + version = "20171019-git"; + asds = [ "cl-cache-tables-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cache-tables/2017-10-19/cl-cache-tables-20171019-git.tgz"; + sha256 = "008m7v39mq2475y1f4if5iazb15rm02g22id4q4qgig1zx2vfpg1"; + system = "cl-cache-tables-tests"; + asd = "cl-cache-tables"; + } + ); + systems = [ "cl-cache-tables-tests" ]; + lispLibs = [ + (getAttr "cl-cache-tables" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cairo2 = ( + build-asdf-system { + pname = "cl-cairo2"; + version = "20211020-git"; + asds = [ "cl-cairo2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; + sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; + system = "cl-cairo2"; + asd = "cl-cairo2"; + } + ); + systems = [ "cl-cairo2" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-colors" self) + (getAttr "cl-utilities" self) + (getAttr "metabang-bind" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + cl-cairo2-demos = ( + build-asdf-system { + pname = "cl-cairo2-demos"; + version = "20211020-git"; + asds = [ "cl-cairo2-demos" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; + sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; + system = "cl-cairo2-demos"; + asd = "cl-cairo2-demos"; + } + ); + systems = [ "cl-cairo2-demos" ]; + lispLibs = [ (getAttr "cl-cairo2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cairo2-xlib = ( + build-asdf-system { + pname = "cl-cairo2-xlib"; + version = "20211020-git"; + asds = [ "cl-cairo2-xlib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz"; + sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"; + system = "cl-cairo2-xlib"; + asd = "cl-cairo2-xlib"; + } + ); + systems = [ "cl-cairo2-xlib" ]; + lispLibs = [ + (getAttr "cl-cairo2" self) + (getAttr "cl-freetype2" self) + ]; + meta = { }; + } + ); + cl-case-control = ( + build-asdf-system { + pname = "cl-case-control"; + version = "20141106-git"; + asds = [ "cl-case-control" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-case-control/2014-11-06/cl-case-control-20141106-git.tgz"; + sha256 = "0510m1dfz4abw3s7w0axr1b1nsmi72avr850r0sn6p2pq091pc71"; + system = "cl-case-control"; + asd = "cl-case-control"; + } + ); + systems = [ "cl-case-control" ]; + lispLibs = [ (getAttr "trivial-types" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-catmull-rom-spline = ( + build-asdf-system { + pname = "cl-catmull-rom-spline"; + version = "20220220-git"; + asds = [ "cl-catmull-rom-spline" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-catmull-rom-spline/2022-02-20/cl-catmull-rom-spline-20220220-git.tgz"; + sha256 = "0702swja11zpfdx04l0901ipvi0acg17mk9ryvhibnbzq70npyjs"; + system = "cl-catmull-rom-spline"; + asd = "cl-catmull-rom-spline"; + } + ); + systems = [ "cl-catmull-rom-spline" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cerf = ( + build-asdf-system { + pname = "cl-cerf"; + version = "20210531-git"; + asds = [ "cl-cerf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cerf/2021-05-31/cl-cerf-20210531-git.tgz"; + sha256 = "0n1b6ig1d0dqkjn06iqsk0m4y7j7msi2gcq7niivcwc4s0ry0ljn"; + system = "cl-cerf"; + asd = "cl-cerf"; + } + ); + systems = [ "cl-cerf" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cffi-gtk = ( + build-asdf-system { + pname = "cl-cffi-gtk"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk"; + asd = "cl-cffi-gtk"; + } + ); + systems = [ "cl-cffi-gtk" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk-cairo" self) + (getAttr "cl-cffi-gtk-gdk" self) + (getAttr "cl-cffi-gtk-gdk-pixbuf" self) + (getAttr "cl-cffi-gtk-gio" self) + (getAttr "cl-cffi-gtk-glib" self) + (getAttr "cl-cffi-gtk-gobject" self) + (getAttr "cl-cffi-gtk-pango" self) + ]; + meta = { }; + } + ); + cl-cffi-gtk-cairo = ( + build-asdf-system { + pname = "cl-cffi-gtk-cairo"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-cairo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-cairo"; + asd = "cl-cffi-gtk-cairo"; + } + ); + systems = [ "cl-cffi-gtk-cairo" ]; + lispLibs = [ (getAttr "cl-cffi-gtk-glib" self) ]; + meta = { }; + } + ); + cl-cffi-gtk-demo-cairo = ( + build-asdf-system { + pname = "cl-cffi-gtk-demo-cairo"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-demo-cairo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-demo-cairo"; + asd = "cl-cffi-gtk-demo-cairo"; + } + ); + systems = [ "cl-cffi-gtk-demo-cairo" ]; + lispLibs = [ (getAttr "cl-cffi-gtk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cffi-gtk-demo-glib = ( + build-asdf-system { + pname = "cl-cffi-gtk-demo-glib"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-demo-glib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-demo-glib"; + asd = "cl-cffi-gtk-demo-glib"; + } + ); + systems = [ "cl-cffi-gtk-demo-glib" ]; + lispLibs = [ (getAttr "cl-cffi-gtk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cffi-gtk-demo-gobject = ( + build-asdf-system { + pname = "cl-cffi-gtk-demo-gobject"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-demo-gobject" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-demo-gobject"; + asd = "cl-cffi-gtk-demo-gobject"; + } + ); + systems = [ "cl-cffi-gtk-demo-gobject" ]; + lispLibs = [ (getAttr "cl-cffi-gtk-gobject" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cffi-gtk-example-gtk = ( + build-asdf-system { + pname = "cl-cffi-gtk-example-gtk"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-example-gtk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-example-gtk"; + asd = "cl-cffi-gtk-example-gtk"; + } + ); + systems = [ "cl-cffi-gtk-example-gtk" ]; + lispLibs = [ (getAttr "cl-cffi-gtk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cffi-gtk-gdk = ( + build-asdf-system { + pname = "cl-cffi-gtk-gdk"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-gdk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-gdk"; + asd = "cl-cffi-gtk-gdk"; + } + ); + systems = [ "cl-cffi-gtk-gdk" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk-cairo" self) + (getAttr "cl-cffi-gtk-gdk-pixbuf" self) + (getAttr "cl-cffi-gtk-gio" self) + (getAttr "cl-cffi-gtk-glib" self) + (getAttr "cl-cffi-gtk-gobject" self) + (getAttr "cl-cffi-gtk-pango" self) + ]; + meta = { }; + } + ); + cl-cffi-gtk-gdk-pixbuf = ( + build-asdf-system { + pname = "cl-cffi-gtk-gdk-pixbuf"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-gdk-pixbuf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-gdk-pixbuf"; + asd = "cl-cffi-gtk-gdk-pixbuf"; + } + ); + systems = [ "cl-cffi-gtk-gdk-pixbuf" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk-glib" self) + (getAttr "cl-cffi-gtk-gobject" self) + ]; + meta = { }; + } + ); + cl-cffi-gtk-gio = ( + build-asdf-system { + pname = "cl-cffi-gtk-gio"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-gio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-gio"; + asd = "cl-cffi-gtk-gio"; + } + ); + systems = [ "cl-cffi-gtk-gio" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk-glib" self) + (getAttr "cl-cffi-gtk-gobject" self) + ]; + meta = { }; + } + ); + cl-cffi-gtk-glib = ( + build-asdf-system { + pname = "cl-cffi-gtk-glib"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-glib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-glib"; + asd = "cl-cffi-gtk-glib"; + } + ); + systems = [ "cl-cffi-gtk-glib" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "iterate" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + cl-cffi-gtk-gobject = ( + build-asdf-system { + pname = "cl-cffi-gtk-gobject"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-gobject" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-gobject"; + asd = "cl-cffi-gtk-gobject"; + } + ); + systems = [ "cl-cffi-gtk-gobject" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk-glib" self) + (getAttr "closer-mop" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + cl-cffi-gtk-opengl-demo = ( + build-asdf-system { + pname = "cl-cffi-gtk-opengl-demo"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-opengl-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-opengl-demo"; + asd = "cl-cffi-gtk-opengl-demo"; + } + ); + systems = [ "cl-cffi-gtk-opengl-demo" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cffi-gtk-pango = ( + build-asdf-system { + pname = "cl-cffi-gtk-pango"; + version = "20230214-git"; + asds = [ "cl-cffi-gtk-pango" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2023-02-14/cl-cffi-gtk-20230214-git.tgz"; + sha256 = "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"; + system = "cl-cffi-gtk-pango"; + asd = "cl-cffi-gtk-pango"; + } + ); + systems = [ "cl-cffi-gtk-pango" ]; + lispLibs = [ + (getAttr "cl-cffi-gtk-cairo" self) + (getAttr "cl-cffi-gtk-glib" self) + (getAttr "cl-cffi-gtk-gobject" self) + ]; + meta = { }; + } + ); + cl-change-case = ( + build-asdf-system { + pname = "cl-change-case"; + version = "20231021-git"; + asds = [ "cl-change-case" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-change-case/2023-10-21/cl-change-case-20231021-git.tgz"; + sha256 = "0g17n80jmaiyqsx8r35v6p0axb03s6j9wywlf8qkvw8rm848pp7s"; + system = "cl-change-case"; + asd = "cl-change-case"; + } + ); + systems = [ "cl-change-case" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-ppcre-unicode" self) + ]; + meta = { }; + } + ); + cl-charms = ( + build-asdf-system { + pname = "cl-charms"; + version = "20230618-git"; + asds = [ "cl-charms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; + sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; + system = "cl-charms"; + asd = "cl-charms"; + } + ); + systems = [ "cl-charms" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-charms-marquee = ( + build-asdf-system { + pname = "cl-charms-marquee"; + version = "20230618-git"; + asds = [ "cl-charms-marquee" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; + sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; + system = "cl-charms-marquee"; + asd = "cl-charms-marquee"; + } + ); + systems = [ "cl-charms-marquee" ]; + lispLibs = [ (getAttr "cl-charms" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-charms-paint = ( + build-asdf-system { + pname = "cl-charms-paint"; + version = "20230618-git"; + asds = [ "cl-charms-paint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; + sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; + system = "cl-charms-paint"; + asd = "cl-charms-paint"; + } + ); + systems = [ "cl-charms-paint" ]; + lispLibs = [ (getAttr "cl-charms" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-charms-timer = ( + build-asdf-system { + pname = "cl-charms-timer"; + version = "20230618-git"; + asds = [ "cl-charms-timer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-charms/2023-06-18/cl-charms-20230618-git.tgz"; + sha256 = "0g6kw0b3b8wjb89rv6slyjl55pymadkcf35ig4d22z8igac7kj8b"; + system = "cl-charms-timer"; + asd = "cl-charms-timer"; + } + ); + systems = [ "cl-charms-timer" ]; + lispLibs = [ (getAttr "cl-charms" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-clblas = ( + build-asdf-system { + pname = "cl-clblas"; + version = "20181018-git"; + asds = [ "cl-clblas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clblas/2018-10-18/cl-clblas-20181018-git.tgz"; + sha256 = "0cn4hvywaw97ccnj2wxjf20lh7h7n5fs6rq6kgjyfs9cxcixmvrj"; + system = "cl-clblas"; + asd = "cl-clblas"; + } + ); + systems = [ "cl-clblas" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-clblas-test = ( + build-asdf-system { + pname = "cl-clblas-test"; + version = "20181018-git"; + asds = [ "cl-clblas-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clblas/2018-10-18/cl-clblas-20181018-git.tgz"; + sha256 = "0cn4hvywaw97ccnj2wxjf20lh7h7n5fs6rq6kgjyfs9cxcixmvrj"; + system = "cl-clblas-test"; + asd = "cl-clblas-test"; + } + ); + systems = [ "cl-clblas-test" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-clblas" self) + (getAttr "cl-oclapi" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cli = ( + build-asdf-system { + pname = "cl-cli"; + version = "20151218-git"; + asds = [ "cl-cli" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cli/2015-12-18/cl-cli-20151218-git.tgz"; + sha256 = "0zlifq55r78vfdlqf8jy6rkny73438f1i9cp9a8vybmila5dij3q"; + system = "cl-cli"; + asd = "cl-cli"; + } + ); + systems = [ "cl-cli" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { }; + } + ); + cl-clsparse = ( + build-asdf-system { + pname = "cl-clsparse"; + version = "20190813-git"; + asds = [ "cl-clsparse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clsparse/2019-08-13/cl-clsparse-20190813-git.tgz"; + sha256 = "0cmmwx2ka1jp5711x21knw3zi6kcpkpcs39dm62w82s97bv794gz"; + system = "cl-clsparse"; + asd = "cl-clsparse"; + } + ); + systems = [ "cl-clsparse" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cognito = ( + build-asdf-system { + pname = "cl-cognito"; + version = "20181210-git"; + asds = [ "cl-cognito" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cognito/2018-12-10/cl-cognito-20181210-git.tgz"; + sha256 = "0zy4yg4zggvxwbvkjkd89d2ps236kz6pvz90zn6gzq812wnidsd3"; + system = "cl-cognito"; + asd = "cl-cognito"; + } + ); + systems = [ "cl-cognito" ]; + lispLibs = [ + (getAttr "aws-foundation" self) + (getAttr "cl-base64" self) + (getAttr "cl-json-helper" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-coinpayments = ( + build-asdf-system { + pname = "cl-coinpayments"; + version = "20210807-git"; + asds = [ "cl-coinpayments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-coinpayments/2021-08-07/cl-coinpayments-20210807-git.tgz"; + sha256 = "1vgsh95vjqqg0a6lqg1ivs36yjx6ck8cqhsmlr5l3ldfd8yr65q7"; + system = "cl-coinpayments"; + asd = "cl-coinpayments"; + } + ); + systems = [ "cl-coinpayments" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-collider = ( + build-asdf-system { + pname = "cl-collider"; + version = "20241012-git"; + asds = [ "cl-collider" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-collider/2024-10-12/cl-collider-20241012-git.tgz"; + sha256 = "0h0fyx7glxnzwyam2aflma6003h8fcvcf5nj5f7svarw9brcc2xa"; + system = "cl-collider"; + asd = "cl-collider"; + } + ); + systems = [ "cl-collider" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "named-readtables" self) + (getAttr "pileup" self) + (getAttr "sc-osc" self) + (getAttr "simple-inferiors" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-colors = ( + build-asdf-system { + pname = "cl-colors"; + version = "20180328-git"; + asds = [ "cl-colors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-colors/2018-03-28/cl-colors-20180328-git.tgz"; + sha256 = "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"; + system = "cl-colors"; + asd = "cl-colors"; + } + ); + systems = [ "cl-colors" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "let-plus" self) + ]; + meta = { }; + } + ); + cl-colors-tests = ( + build-asdf-system { + pname = "cl-colors-tests"; + version = "20180328-git"; + asds = [ "cl-colors-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-colors/2018-03-28/cl-colors-20180328-git.tgz"; + sha256 = "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"; + system = "cl-colors-tests"; + asd = "cl-colors"; + } + ); + systems = [ "cl-colors-tests" ]; + lispLibs = [ + (getAttr "cl-colors" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-colors2 = ( + build-asdf-system { + pname = "cl-colors2"; + version = "20241012-git"; + asds = [ "cl-colors2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-colors2/2024-10-12/cl-colors2-20241012-git.tgz"; + sha256 = "053bidgbqziv5visdq09gy8zf30cvqh1w06l23yygn1yrg7m7302"; + system = "cl-colors2"; + asd = "cl-colors2"; + } + ); + systems = [ "cl-colors2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "parse-number" self) + ]; + meta = { }; + } + ); + cl-concord = ( + build-asdf-system { + pname = "cl-concord"; + version = "20241012-git"; + asds = [ "cl-concord" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-concord/2024-10-12/cl-concord-20241012-git.tgz"; + sha256 = "01i13lp3z2v2w165h0xh72r1vyfbjr6k1gwk4hff1rf2yx2yg9k1"; + system = "cl-concord"; + asd = "cl-concord"; + } + ); + systems = [ "cl-concord" ]; + lispLibs = [ (getAttr "cl-redis" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-conllu = ( + build-asdf-system { + pname = "cl-conllu"; + version = "20211209-git"; + asds = [ "cl-conllu" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-conllu/2021-12-09/cl-conllu-20211209-git.tgz"; + sha256 = "0n69k0apifnirs2g3rfdsxiwy6dimd9qqxaqywaingvbd7yn42jn"; + system = "cl-conllu"; + asd = "cl-conllu"; + } + ); + systems = [ "cl-conllu" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-log" self) + (getAttr "cl-markup" self) + (getAttr "cl-ppcre" self) + (getAttr "lispbuilder-lexer" self) + (getAttr "optima_dot_ppcre" self) + (getAttr "split-sequence" self) + (getAttr "uuid" self) + (getAttr "wilbur" self) + (getAttr "xmls" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-conspack = ( + build-asdf-system { + pname = "cl-conspack"; + version = "20230214-git"; + asds = [ "cl-conspack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-conspack/2023-02-14/cl-conspack-20230214-git.tgz"; + sha256 = "0y5wp5c89ph44k2xjppy1c1jf2ac3q9yrk22da2rkwnbxn0h1a8d"; + system = "cl-conspack"; + asd = "cl-conspack"; + } + ); + systems = [ "cl-conspack" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "fast-io" self) + (getAttr "ieee-floats" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-conspack-test = ( + build-asdf-system { + pname = "cl-conspack-test"; + version = "20230214-git"; + asds = [ "cl-conspack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-conspack/2023-02-14/cl-conspack-20230214-git.tgz"; + sha256 = "0y5wp5c89ph44k2xjppy1c1jf2ac3q9yrk22da2rkwnbxn0h1a8d"; + system = "cl-conspack-test"; + asd = "cl-conspack-test"; + } + ); + systems = [ "cl-conspack-test" ]; + lispLibs = [ + (getAttr "cl-conspack" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cont = ( + build-asdf-system { + pname = "cl-cont"; + version = "20110219-darcs"; + asds = [ "cl-cont" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cont/2011-02-19/cl-cont-20110219-darcs.tgz"; + sha256 = "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"; + system = "cl-cont"; + asd = "cl-cont"; + } + ); + systems = [ "cl-cont" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cont-test = ( + build-asdf-system { + pname = "cl-cont-test"; + version = "20110219-darcs"; + asds = [ "cl-cont-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cont/2011-02-19/cl-cont-20110219-darcs.tgz"; + sha256 = "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"; + system = "cl-cont-test"; + asd = "cl-cont-test"; + } + ); + systems = [ "cl-cont-test" ]; + lispLibs = [ + (getAttr "cl-cont" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-containers = ( + build-asdf-system { + pname = "cl-containers"; + version = "20241012-git"; + asds = [ "cl-containers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-containers/2024-10-12/cl-containers-20241012-git.tgz"; + sha256 = "0xpa5yhsndh33cs4q6vgjc8jxwlmv8lxkg4bamfi0f3ad4smi7zl"; + system = "cl-containers"; + asd = "cl-containers"; + } + ); + systems = [ "cl-containers" ]; + lispLibs = [ + (getAttr "asdf-system-connections" self) + (getAttr "metatilities-base" self) + ]; + meta = { }; + } + ); + cl-containers-test = ( + build-asdf-system { + pname = "cl-containers-test"; + version = "20241012-git"; + asds = [ "cl-containers-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-containers/2024-10-12/cl-containers-20241012-git.tgz"; + sha256 = "0xpa5yhsndh33cs4q6vgjc8jxwlmv8lxkg4bamfi0f3ad4smi7zl"; + system = "cl-containers-test"; + asd = "cl-containers-test"; + } + ); + systems = [ "cl-containers-test" ]; + lispLibs = [ + (getAttr "cl-containers" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cookie = ( + build-asdf-system { + pname = "cl-cookie"; + version = "20241012-git"; + asds = [ "cl-cookie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cookie/2024-10-12/cl-cookie-20241012-git.tgz"; + sha256 = "172lw0sm6i9nvlx0iv0851rsm5pc28xqqf6a75pwv1fvr6srq8qh"; + system = "cl-cookie"; + asd = "cl-cookie"; + } + ); + systems = [ "cl-cookie" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "proc-parse" self) + (getAttr "quri" self) + ]; + meta = { }; + } + ); + cl-cookie-test = ( + build-asdf-system { + pname = "cl-cookie-test"; + version = "20241012-git"; + asds = [ "cl-cookie-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cookie/2024-10-12/cl-cookie-20241012-git.tgz"; + sha256 = "172lw0sm6i9nvlx0iv0851rsm5pc28xqqf6a75pwv1fvr6srq8qh"; + system = "cl-cookie-test"; + asd = "cl-cookie-test"; + } + ); + systems = [ "cl-cookie-test" ]; + lispLibs = [ + (getAttr "cl-cookie" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-coroutine = ( + build-asdf-system { + pname = "cl-coroutine"; + version = "20160929-git"; + asds = [ "cl-coroutine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-coroutine/2016-09-29/cl-coroutine-20160929-git.tgz"; + sha256 = "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"; + system = "cl-coroutine"; + asd = "cl-coroutine"; + } + ); + systems = [ "cl-coroutine" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-cont" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-coroutine-test = ( + build-asdf-system { + pname = "cl-coroutine-test"; + version = "20160929-git"; + asds = [ "cl-coroutine-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-coroutine/2016-09-29/cl-coroutine-20160929-git.tgz"; + sha256 = "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"; + system = "cl-coroutine-test"; + asd = "cl-coroutine-test"; + } + ); + systems = [ "cl-coroutine-test" ]; + lispLibs = [ + (getAttr "cl-coroutine" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-coveralls = ( + build-asdf-system { + pname = "cl-coveralls"; + version = "20210411-git"; + asds = [ "cl-coveralls" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-coveralls/2021-04-11/cl-coveralls-20210411-git.tgz"; + sha256 = "1n4jks92827xbi2zzy6gsx3r2gl97difl04da9wz94n9rjj3bcz0"; + system = "cl-coveralls"; + asd = "cl-coveralls"; + } + ); + systems = [ "cl-coveralls" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "lquery" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-coveralls-test = ( + build-asdf-system { + pname = "cl-coveralls-test"; + version = "20210411-git"; + asds = [ "cl-coveralls-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-coveralls/2021-04-11/cl-coveralls-20210411-git.tgz"; + sha256 = "1n4jks92827xbi2zzy6gsx3r2gl97difl04da9wz94n9rjj3bcz0"; + system = "cl-coveralls-test"; + asd = "cl-coveralls-test"; + } + ); + systems = [ "cl-coveralls-test" ]; + lispLibs = [ + (getAttr "cl-coveralls" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-covid19 = ( + build-asdf-system { + pname = "cl-covid19"; + version = "20220331-git"; + asds = [ "cl-covid19" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-covid19/2022-03-31/cl-covid19-20220331-git.tgz"; + sha256 = "0nxdharz29nrdylrwnhgdayfsfwm0vd5g487mi4i5lly8q0i9vl0"; + system = "cl-covid19"; + asd = "cl-covid19"; + } + ); + systems = [ "cl-covid19" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ascii-table" self) + (getAttr "cl-csv" self) + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_dbi" self) + (getAttr "cl-migratum_dot_provider_dot_local-path" self) + (getAttr "dexador" self) + (getAttr "djula" self) + (getAttr "jonathan" self) + (getAttr "quri" self) + (getAttr "tmpdir" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cpu-affinity = ( + build-asdf-system { + pname = "cl-cpu-affinity"; + version = "20210411-git"; + asds = [ "cl-cpu-affinity" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "cl-cpu-affinity"; + asd = "cl-cpu-affinity"; + } + ); + systems = [ "cl-cpu-affinity" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cpus = ( + build-asdf-system { + pname = "cl-cpus"; + version = "20230618-git"; + asds = [ "cl-cpus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cpus/2023-06-18/cl-cpus-20230618-git.tgz"; + sha256 = "1gxyb85hpjmhz7vhny9cscrzldx06f7c5q93pl1qs0s3b7avh5vd"; + system = "cl-cpus"; + asd = "cl-cpus"; + } + ); + systems = [ "cl-cpus" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cram = ( + build-asdf-system { + pname = "cl-cram"; + version = "20230618-git"; + asds = [ "cl-cram" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cram/2023-06-18/cl-cram-20230618-git.tgz"; + sha256 = "139p4hbb6ac57ay5vgr969d3rki9ypk9ninaqm5vkax2hcx7mq3i"; + system = "cl-cram"; + asd = "cl-cram"; + } + ); + systems = [ "cl-cram" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-crc64 = ( + build-asdf-system { + pname = "cl-crc64"; + version = "20140713-git"; + asds = [ "cl-crc64" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-crc64/2014-07-13/cl-crc64-20140713-git.tgz"; + sha256 = "1cqky5ps28r49z6ib4vjwfjpq3ml81p2ayf0nqppf2lc4vf3kb20"; + system = "cl-crc64"; + asd = "cl-crc64"; + } + ); + systems = [ "cl-crc64" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-creditcard = ( + build-asdf-system { + pname = "cl-creditcard"; + version = "20150113-git"; + asds = [ "cl-creditcard" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz"; + sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr"; + system = "cl-creditcard"; + asd = "cl-creditcard"; + } + ); + systems = [ "cl-creditcard" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cron = ( + build-asdf-system { + pname = "cl-cron"; + version = "20231021-git"; + asds = [ "cl-cron" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cron/2023-10-21/cl-cron-20231021-git.tgz"; + sha256 = "0l1jg2sqdqniaqsaywy0ar49m10gzls8i31gpxmd7c4yzazy4fib"; + system = "cl-cron"; + asd = "cl-cron"; + } + ); + systems = [ "cl-cron" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-css = ( + build-asdf-system { + pname = "cl-css"; + version = "20140914-git"; + asds = [ "cl-css" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-css/2014-09-14/cl-css-20140914-git.tgz"; + sha256 = "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"; + system = "cl-css"; + asd = "cl-css"; + } + ); + systems = [ "cl-css" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-csv = ( + build-asdf-system { + pname = "cl-csv"; + version = "20241012-git"; + asds = [ "cl-csv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-csv/2024-10-12/cl-csv-20241012-git.tgz"; + sha256 = "0pb89l3bi2cnk7sav2w0dmlvjxij1wpy3w6n9c4b6imjs0pznrxi"; + system = "cl-csv"; + asd = "cl-csv"; + } + ); + systems = [ "cl-csv" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + cl-csv-clsql = ( + build-asdf-system { + pname = "cl-csv-clsql"; + version = "20241012-git"; + asds = [ "cl-csv-clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-csv/2024-10-12/cl-csv-20241012-git.tgz"; + sha256 = "0pb89l3bi2cnk7sav2w0dmlvjxij1wpy3w6n9c4b6imjs0pznrxi"; + system = "cl-csv-clsql"; + asd = "cl-csv-clsql"; + } + ); + systems = [ "cl-csv-clsql" ]; + lispLibs = [ + (getAttr "cl-csv" self) + (getAttr "clsql-helper" self) + (getAttr "data-table-clsql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-csv-data-table = ( + build-asdf-system { + pname = "cl-csv-data-table"; + version = "20241012-git"; + asds = [ "cl-csv-data-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-csv/2024-10-12/cl-csv-20241012-git.tgz"; + sha256 = "0pb89l3bi2cnk7sav2w0dmlvjxij1wpy3w6n9c4b6imjs0pznrxi"; + system = "cl-csv-data-table"; + asd = "cl-csv-data-table"; + } + ); + systems = [ "cl-csv-data-table" ]; + lispLibs = [ + (getAttr "cl-csv" self) + (getAttr "data-table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cuda = ( + build-asdf-system { + pname = "cl-cuda"; + version = "20210807-git"; + asds = [ "cl-cuda" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; + sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; + system = "cl-cuda"; + asd = "cl-cuda"; + } + ); + systems = [ "cl-cuda" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-pattern" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-reexport" self) + (getAttr "external-program" self) + (getAttr "osicat" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + cl-cuda-examples = ( + build-asdf-system { + pname = "cl-cuda-examples"; + version = "20210807-git"; + asds = [ "cl-cuda-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; + sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; + system = "cl-cuda-examples"; + asd = "cl-cuda-examples"; + } + ); + systems = [ "cl-cuda-examples" ]; + lispLibs = [ + (getAttr "cl-cuda" self) + (getAttr "imago" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cuda-interop = ( + build-asdf-system { + pname = "cl-cuda-interop"; + version = "20210807-git"; + asds = [ "cl-cuda-interop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; + sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; + system = "cl-cuda-interop"; + asd = "cl-cuda-interop"; + } + ); + systems = [ "cl-cuda-interop" ]; + lispLibs = [ + (getAttr "cl-cuda" self) + (getAttr "cl-glu" self) + (getAttr "cl-glut" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cuda-interop-examples = ( + build-asdf-system { + pname = "cl-cuda-interop-examples"; + version = "20210807-git"; + asds = [ "cl-cuda-interop-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; + sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; + system = "cl-cuda-interop-examples"; + asd = "cl-cuda-interop-examples"; + } + ); + systems = [ "cl-cuda-interop-examples" ]; + lispLibs = [ (getAttr "cl-cuda-interop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-cuda-misc = ( + build-asdf-system { + pname = "cl-cuda-misc"; + version = "20210807-git"; + asds = [ "cl-cuda-misc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz"; + sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg"; + system = "cl-cuda-misc"; + asd = "cl-cuda-misc"; + } + ); + systems = [ "cl-cuda-misc" ]; + lispLibs = [ + (getAttr "cl-emb" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-custom-hash-table = ( + build-asdf-system { + pname = "cl-custom-hash-table"; + version = "20241012-git"; + asds = [ "cl-custom-hash-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-custom-hash-table/2024-10-12/cl-custom-hash-table-20241012-git.tgz"; + sha256 = "1sb5anv9kh7wv165nra95v0qkk1gvp3mn461zi7m0fla1290g598"; + system = "cl-custom-hash-table"; + asd = "cl-custom-hash-table"; + } + ); + systems = [ "cl-custom-hash-table" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-custom-hash-table-test = ( + build-asdf-system { + pname = "cl-custom-hash-table-test"; + version = "20241012-git"; + asds = [ "cl-custom-hash-table-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-custom-hash-table/2024-10-12/cl-custom-hash-table-20241012-git.tgz"; + sha256 = "1sb5anv9kh7wv165nra95v0qkk1gvp3mn461zi7m0fla1290g598"; + system = "cl-custom-hash-table-test"; + asd = "cl-custom-hash-table-test"; + } + ); + systems = [ "cl-custom-hash-table-test" ]; + lispLibs = [ + (getAttr "cl-custom-hash-table" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-data-structures = ( + build-asdf-system { + pname = "cl-data-structures"; + version = "20241012-git"; + asds = [ "cl-data-structures" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-data-structures/2024-10-12/cl-data-structures-20241012-git.tgz"; + sha256 = "0h49h1x9dgr53imj0r4lgx0zvdsv3mnh7lyayzy9hlysy2ixp425"; + system = "cl-data-structures"; + asd = "cl-data-structures"; + } + ); + systems = [ "cl-data-structures" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "documentation-utils-extensions" self) + (getAttr "flexichain" self) + (getAttr "iterate" self) + (getAttr "lparallel" self) + (getAttr "metabang-bind" self) + (getAttr "more-conditions" self) + (getAttr "serapeum" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-data-structures-tests = ( + build-asdf-system { + pname = "cl-data-structures-tests"; + version = "20241012-git"; + asds = [ "cl-data-structures-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-data-structures/2024-10-12/cl-data-structures-20241012-git.tgz"; + sha256 = "0h49h1x9dgr53imj0r4lgx0zvdsv3mnh7lyayzy9hlysy2ixp425"; + system = "cl-data-structures-tests"; + asd = "cl-data-structures-tests"; + } + ); + systems = [ "cl-data-structures-tests" ]; + lispLibs = [ + (getAttr "cl-data-structures" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-date-time-parser = ( + build-asdf-system { + pname = "cl-date-time-parser"; + version = "20140713-git"; + asds = [ "cl-date-time-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-date-time-parser/2014-07-13/cl-date-time-parser-20140713-git.tgz"; + sha256 = "0dswpbbb57jm609xxfah25dxxhjzc7qh5lr1a1ffkpms84l0r7m5"; + system = "cl-date-time-parser"; + asd = "cl-date-time-parser"; + } + ); + systems = [ "cl-date-time-parser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dbi = ( + build-asdf-system { + pname = "cl-dbi"; + version = "20241012-git"; + asds = [ "cl-dbi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; + sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; + system = "cl-dbi"; + asd = "cl-dbi"; + } + ); + systems = [ "cl-dbi" ]; + lispLibs = [ (getAttr "dbi" self) ]; + meta = { }; + } + ); + cl-debug-print = ( + build-asdf-system { + pname = "cl-debug-print"; + version = "20210807-git"; + asds = [ "cl-debug-print" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz"; + sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh"; + system = "cl-debug-print"; + asd = "cl-debug-print"; + } + ); + systems = [ "cl-debug-print" ]; + lispLibs = [ (getAttr "cl-syntax" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-debug-print-test = ( + build-asdf-system { + pname = "cl-debug-print-test"; + version = "20210807-git"; + asds = [ "cl-debug-print-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz"; + sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh"; + system = "cl-debug-print-test"; + asd = "cl-debug-print-test"; + } + ); + systems = [ "cl-debug-print-test" ]; + lispLibs = [ + (getAttr "cl-debug-print" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dejavu = ( + build-asdf-system { + pname = "cl-dejavu"; + version = "20210124-git"; + asds = [ "cl-dejavu" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dejavu/2021-01-24/cl-dejavu-20210124-git.tgz"; + sha256 = "1lbxiq21bxj8r11c58cqskgn8gnl2p8q1ydkhdsv7i7xnhv2y7r0"; + system = "cl-dejavu"; + asd = "cl-dejavu"; + } + ); + systems = [ "cl-dejavu" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-devil = ( + build-asdf-system { + pname = "cl-devil"; + version = "20150302-git"; + asds = [ "cl-devil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz"; + sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf"; + system = "cl-devil"; + asd = "cl-devil"; + } + ); + systems = [ "cl-devil" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-diceware = ( + build-asdf-system { + pname = "cl-diceware"; + version = "20150923-git"; + asds = [ "cl-diceware" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-diceware/2015-09-23/cl-diceware-20150923-git.tgz"; + sha256 = "0560ji51ksp8kngn2pyi41vw9zlnwiqj64ici43lzjx0qgv5v84l"; + system = "cl-diceware"; + asd = "cl-diceware"; + } + ); + systems = [ "cl-diceware" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-difflib = ( + build-asdf-system { + pname = "cl-difflib"; + version = "20130128-git"; + asds = [ "cl-difflib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-difflib/2013-01-28/cl-difflib-20130128-git.tgz"; + sha256 = "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"; + system = "cl-difflib"; + asd = "cl-difflib"; + } + ); + systems = [ "cl-difflib" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-difflib-tests = ( + build-asdf-system { + pname = "cl-difflib-tests"; + version = "20130128-git"; + asds = [ "cl-difflib-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-difflib/2013-01-28/cl-difflib-20130128-git.tgz"; + sha256 = "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"; + system = "cl-difflib-tests"; + asd = "cl-difflib-tests"; + } + ); + systems = [ "cl-difflib-tests" ]; + lispLibs = [ (getAttr "cl-difflib" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-digraph = ( + build-asdf-system { + pname = "cl-digraph"; + version = "20241012-hg"; + asds = [ "cl-digraph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-digraph/2024-10-12/cl-digraph-20241012-hg.tgz"; + sha256 = "18avbb608rv5radbczilfzb2857wz7pad49hwhr5za5qycjam8ss"; + system = "cl-digraph"; + asd = "cl-digraph"; + } + ); + systems = [ "cl-digraph" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-digraph_dot_dot = ( + build-asdf-system { + pname = "cl-digraph.dot"; + version = "20241012-hg"; + asds = [ "cl-digraph.dot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-digraph/2024-10-12/cl-digraph-20241012-hg.tgz"; + sha256 = "18avbb608rv5radbczilfzb2857wz7pad49hwhr5za5qycjam8ss"; + system = "cl-digraph.dot"; + asd = "cl-digraph.dot"; + } + ); + systems = [ "cl-digraph.dot" ]; + lispLibs = [ + (getAttr "cl-digraph" self) + (getAttr "cl-dot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-digraph_dot_test = ( + build-asdf-system { + pname = "cl-digraph.test"; + version = "20241012-hg"; + asds = [ "cl-digraph.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-digraph/2024-10-12/cl-digraph-20241012-hg.tgz"; + sha256 = "18avbb608rv5radbczilfzb2857wz7pad49hwhr5za5qycjam8ss"; + system = "cl-digraph.test"; + asd = "cl-digraph.test"; + } + ); + systems = [ "cl-digraph.test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "alexandria" self) + (getAttr "cl-digraph" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-diskspace = ( + build-asdf-system { + pname = "cl-diskspace"; + version = "20220331-git"; + asds = [ "cl-diskspace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-diskspace/2022-03-31/cl-diskspace-20220331-git.tgz"; + sha256 = "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"; + system = "cl-diskspace"; + asd = "cl-diskspace"; + } + ); + systems = [ "cl-diskspace" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-disque = ( + build-asdf-system { + pname = "cl-disque"; + version = "20171227-git"; + asds = [ "cl-disque" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-disque/2017-12-27/cl-disque-20171227-git.tgz"; + sha256 = "0z26ls9vzlq43fwn307nb7xvqck5h3l9yygf93b0filki83krg3s"; + system = "cl-disque"; + asd = "cl-disque"; + } + ); + systems = [ "cl-disque" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "rutils" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-disque-test = ( + build-asdf-system { + pname = "cl-disque-test"; + version = "20171227-git"; + asds = [ "cl-disque-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-disque/2017-12-27/cl-disque-20171227-git.tgz"; + sha256 = "0z26ls9vzlq43fwn307nb7xvqck5h3l9yygf93b0filki83krg3s"; + system = "cl-disque-test"; + asd = "cl-disque-test"; + } + ); + systems = [ "cl-disque-test" ]; + lispLibs = [ + (getAttr "cl-disque" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-djula-svg = ( + build-asdf-system { + pname = "cl-djula-svg"; + version = "20221106-git"; + asds = [ "cl-djula-svg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-djula-svg/2022-11-06/cl-djula-svg-20221106-git.tgz"; + sha256 = "1jxgngr51ars234by4vnczfqmkwi2iy94sdxnj3pkjrdximy5any"; + system = "cl-djula-svg"; + asd = "cl-djula-svg"; + } + ); + systems = [ "cl-djula-svg" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-djula-tailwind = ( + build-asdf-system { + pname = "cl-djula-tailwind"; + version = "20221106-git"; + asds = [ "cl-djula-tailwind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-djula-tailwind/2022-11-06/cl-djula-tailwind-20221106-git.tgz"; + sha256 = "059mfgh53gpj74rgr7b61fnm24bwx8hdrw15mjk687y9sna3avda"; + system = "cl-djula-tailwind"; + asd = "cl-djula-tailwind"; + } + ); + systems = [ "cl-djula-tailwind" ]; + lispLibs = [ + (getAttr "cl-css" self) + (getAttr "cl-minify-css" self) + (getAttr "cl-ppcre" self) + (getAttr "djula" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dot = ( + build-asdf-system { + pname = "cl-dot"; + version = "20241012-git"; + asds = [ "cl-dot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dot/2024-10-12/cl-dot-20241012-git.tgz"; + sha256 = "1874jsc51pkyh6rz27qdhhsdyzx1mr7zx7v65m849wp49qlxs1ya"; + system = "cl-dot"; + asd = "cl-dot"; + } + ); + systems = [ "cl-dot" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-dotenv = ( + build-asdf-system { + pname = "cl-dotenv"; + version = "20181018-git"; + asds = [ "cl-dotenv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dotenv/2018-10-18/cl-dotenv-20181018-git.tgz"; + sha256 = "0cdbk886aizsnqqs3z4jfn8nyrnxj4yb3y00av49xc4h83h6xn53"; + system = "cl-dotenv"; + asd = "cl-dotenv"; + } + ); + systems = [ "cl-dotenv" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dotenv-test = ( + build-asdf-system { + pname = "cl-dotenv-test"; + version = "20181018-git"; + asds = [ "cl-dotenv-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dotenv/2018-10-18/cl-dotenv-20181018-git.tgz"; + sha256 = "0cdbk886aizsnqqs3z4jfn8nyrnxj4yb3y00av49xc4h83h6xn53"; + system = "cl-dotenv-test"; + asd = "cl-dotenv-test"; + } + ); + systems = [ "cl-dotenv-test" ]; + lispLibs = [ + (getAttr "cl-dotenv" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-drawille = ( + build-asdf-system { + pname = "cl-drawille"; + version = "20210807-git"; + asds = [ "cl-drawille" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-drawille/2021-08-07/cl-drawille-20210807-git.tgz"; + sha256 = "0wmiz0c7h2zsfj7inzzn8jivnfsc94rq8pczfi44h36n2jg6hdys"; + system = "cl-drawille"; + asd = "cl-drawille"; + } + ); + systems = [ "cl-drawille" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "osicat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-drm = ( + build-asdf-system { + pname = "cl-drm"; + version = "20161204-git"; + asds = [ "cl-drm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-drm/2016-12-04/cl-drm-20161204-git.tgz"; + sha256 = "018jsdi9hs71x14mq18k08hwrgdvvbc2yqbqww6gara0bg9cl3l6"; + system = "cl-drm"; + asd = "cl-drm"; + } + ); + systems = [ "cl-drm" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dropbox = ( + build-asdf-system { + pname = "cl-dropbox"; + version = "20150608-git"; + asds = [ "cl-dropbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dropbox/2015-06-08/cl-dropbox-20150608-git.tgz"; + sha256 = "09giwr1wlz42flrpy71gv60p53nixjk9jaj4lirgf59dkh718f9x"; + system = "cl-dropbox"; + asd = "cl-dropbox"; + } + ); + systems = [ "cl-dropbox" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "cl-oauth" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dsl = ( + build-asdf-system { + pname = "cl-dsl"; + version = "20130720-git"; + asds = [ "cl-dsl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dsl/2013-07-20/cl-dsl-20130720-git.tgz"; + sha256 = "1bj5yp20r8z6gi6rpf88kpy4i06c8i2d3cg5sjlq7d1ninkb4gg4"; + system = "cl-dsl"; + asd = "cl-dsl"; + } + ); + systems = [ "cl-dsl" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-dsl-tests = ( + build-asdf-system { + pname = "cl-dsl-tests"; + version = "20130720-git"; + asds = [ "cl-dsl-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dsl/2013-07-20/cl-dsl-20130720-git.tgz"; + sha256 = "1bj5yp20r8z6gi6rpf88kpy4i06c8i2d3cg5sjlq7d1ninkb4gg4"; + system = "cl-dsl-tests"; + asd = "cl-dsl"; + } + ); + systems = [ "cl-dsl-tests" ]; + lispLibs = [ + (getAttr "cl-dsl" self) + (getAttr "eos" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-durian = ( + build-asdf-system { + pname = "cl-durian"; + version = "20150608-git"; + asds = [ "cl-durian" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-durian/2015-06-08/cl-durian-20150608-git.tgz"; + sha256 = "0s89gr5gwwkyirrv7l5fzk9ws7fhy087c3myksblsh00z1xcrvng"; + system = "cl-durian"; + asd = "cl-durian"; + } + ); + systems = [ "cl-durian" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-earley-parser = ( + build-asdf-system { + pname = "cl-earley-parser"; + version = "20211020-git"; + asds = [ "cl-earley-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-earley-parser/2021-10-20/cl-earley-parser-20211020-git.tgz"; + sha256 = "1pkry3ynxn2y3nf13lc3zjqgf4hx43d9zb0w0m34s51xd4xp2h1x"; + system = "cl-earley-parser"; + asd = "cl-earley-parser"; + } + ); + systems = [ "cl-earley-parser" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ecma-48 = ( + build-asdf-system { + pname = "cl-ecma-48"; + version = "20200218-http"; + asds = [ "cl-ecma-48" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ecma-48/2020-02-18/cl-ecma-48-20200218-http.tgz"; + sha256 = "1y3srzahci25qp959b87m82d1i1i8jmq039yp9nf0hifxyhw6dgy"; + system = "cl-ecma-48"; + asd = "cl-ecma-48"; + } + ); + systems = [ "cl-ecma-48" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-egl = ( + build-asdf-system { + pname = "cl-egl"; + version = "20190521-git"; + asds = [ "cl-egl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-egl/2019-05-21/cl-egl-20190521-git.tgz"; + sha256 = "19shhzmdc9f1128slc9m4ns6zraka99awqgb4dkrwzgv7w3miqfl"; + system = "cl-egl"; + asd = "cl-egl"; + } + ); + systems = [ "cl-egl" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-elastic = ( + build-asdf-system { + pname = "cl-elastic"; + version = "20200218-git"; + asds = [ "cl-elastic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-elastic/2020-02-18/cl-elastic-20200218-git.tgz"; + sha256 = "107ha226n3mxzvm0cp8kvgybcv4rr0b4lwik4f4j7lrhz6xvnncq"; + system = "cl-elastic"; + asd = "cl-elastic"; + } + ); + systems = [ "cl-elastic" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "named-readtables" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-elastic-test = ( + build-asdf-system { + pname = "cl-elastic-test"; + version = "20200218-git"; + asds = [ "cl-elastic-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-elastic/2020-02-18/cl-elastic-20200218-git.tgz"; + sha256 = "107ha226n3mxzvm0cp8kvgybcv4rr0b4lwik4f4j7lrhz6xvnncq"; + system = "cl-elastic-test"; + asd = "cl-elastic-test"; + } + ); + systems = [ "cl-elastic-test" ]; + lispLibs = [ + (getAttr "cl-elastic" self) + (getAttr "named-readtables" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-emacs-if = ( + build-asdf-system { + pname = "cl-emacs-if"; + version = "20120305-git"; + asds = [ "cl-emacs-if" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-emacs-if/2012-03-05/cl-emacs-if-20120305-git.tgz"; + sha256 = "0br3jvihq24ymqjn2r2qnl3l099r329bsqh18nmkk3yw3kclrcfv"; + system = "cl-emacs-if"; + asd = "cl-emacs-if"; + } + ); + systems = [ "cl-emacs-if" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-emb = ( + build-asdf-system { + pname = "cl-emb"; + version = "20190521-git"; + asds = [ "cl-emb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-emb/2019-05-21/cl-emb-20190521-git.tgz"; + sha256 = "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"; + system = "cl-emb"; + asd = "cl-emb"; + } + ); + systems = [ "cl-emb" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { }; + } + ); + cl-emoji = ( + build-asdf-system { + pname = "cl-emoji"; + version = "20200218-git"; + asds = [ "cl-emoji" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-emoji/2020-02-18/cl-emoji-20200218-git.tgz"; + sha256 = "1v91kzx42qyjm936frvfsr0cgnj9g197x78xlda6x7x6xri2r9gm"; + system = "cl-emoji"; + asd = "cl-emoji"; + } + ); + systems = [ "cl-emoji" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-emoji-test = ( + build-asdf-system { + pname = "cl-emoji-test"; + version = "20200218-git"; + asds = [ "cl-emoji-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-emoji/2020-02-18/cl-emoji-20200218-git.tgz"; + sha256 = "1v91kzx42qyjm936frvfsr0cgnj9g197x78xlda6x7x6xri2r9gm"; + system = "cl-emoji-test"; + asd = "cl-emoji-test"; + } + ); + systems = [ "cl-emoji-test" ]; + lispLibs = [ + (getAttr "cl-emoji" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-env = ( + build-asdf-system { + pname = "cl-env"; + version = "20180430-git"; + asds = [ "cl-env" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-env/2018-04-30/cl-env-20180430-git.tgz"; + sha256 = "1r0d004gr1za9ib53jhxkx315wd4av0ar2063dcvs9g4nahk2d07"; + system = "cl-env"; + asd = "cl-env"; + } + ); + systems = [ "cl-env" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-environments = ( + build-asdf-system { + pname = "cl-environments"; + version = "20241012-git"; + asds = [ "cl-environments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-environments/2024-10-12/cl-environments-20241012-git.tgz"; + sha256 = "0pafk4c0qdzqp0l23fi1pgrqycbcrwm51wq0x0jvr7975yfx2lim"; + system = "cl-environments"; + asd = "cl-environments"; + } + ); + systems = [ "cl-environments" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "collectors" self) + (getAttr "optima" self) + (getAttr "parse-declarations-1_dot_0" self) + ]; + meta = { }; + } + ); + cl-etcd = ( + build-asdf-system { + pname = "cl-etcd"; + version = "20230214-git"; + asds = [ "cl-etcd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-etcd/2023-02-14/cl-etcd-20230214-git.tgz"; + sha256 = "0bals10r07prxvjxd744vz02ri72isf168lkhrx9qkc96hd214ah"; + system = "cl-etcd"; + asd = "cl-etcd"; + } + ); + systems = [ "cl-etcd" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "async-process" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-events = ( + build-asdf-system { + pname = "cl-events"; + version = "20160318-git"; + asds = [ "cl-events" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-events/2016-03-18/cl-events-20160318-git.tgz"; + sha256 = "1r847q1bwblnb2395dsydylr9nxgjx7gdwc9dx1051zhvi9in36g"; + system = "cl-events"; + asd = "cl-events"; + } + ); + systems = [ "cl-events" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "blackbird" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-events_dot_test = ( + build-asdf-system { + pname = "cl-events.test"; + version = "20160318-git"; + asds = [ "cl-events.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-events/2016-03-18/cl-events-20160318-git.tgz"; + sha256 = "1r847q1bwblnb2395dsydylr9nxgjx7gdwc9dx1051zhvi9in36g"; + system = "cl-events.test"; + asd = "cl-events.test"; + } + ); + systems = [ "cl-events.test" ]; + lispLibs = [ + (getAttr "cl-events" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ewkb = ( + build-asdf-system { + pname = "cl-ewkb"; + version = "20110619-git"; + asds = [ "cl-ewkb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ewkb/2011-06-19/cl-ewkb-20110619-git.tgz"; + sha256 = "1mk5j34m9gkwl7c4d464l42gclxlrcpifp2nq41z3fsfl8badn6w"; + system = "cl-ewkb"; + asd = "cl-ewkb"; + } + ); + systems = [ "cl-ewkb" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "ieee-floats" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ewkb-tests = ( + build-asdf-system { + pname = "cl-ewkb-tests"; + version = "20110619-git"; + asds = [ "cl-ewkb-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ewkb/2011-06-19/cl-ewkb-20110619-git.tgz"; + sha256 = "1mk5j34m9gkwl7c4d464l42gclxlrcpifp2nq41z3fsfl8badn6w"; + system = "cl-ewkb-tests"; + asd = "cl-ewkb"; + } + ); + systems = [ "cl-ewkb-tests" ]; + lispLibs = [ + (getAttr "cl-ewkb" self) + (getAttr "postmodern" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-factoring = ( + build-asdf-system { + pname = "cl-factoring"; + version = "20221106-git"; + asds = [ "cl-factoring" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-factoring/2022-11-06/cl-factoring-20221106-git.tgz"; + sha256 = "0vn3kb8mmi93pr76lx1mbwp7qc2krzb0ayzcrffwq2aw2q201fhd"; + system = "cl-factoring"; + asd = "cl-factoring"; + } + ); + systems = [ "cl-factoring" ]; + lispLibs = [ + (getAttr "cl-primality" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fad = ( + build-asdf-system { + pname = "cl-fad"; + version = "20220220-git"; + asds = [ "cl-fad" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fad/2022-02-20/cl-fad-20220220-git.tgz"; + sha256 = "0a1xqldrq170lflnns3xp6swpnvsvllf5vq0h7sz8jqh4riqlny6"; + system = "cl-fad"; + asd = "cl-fad"; + } + ); + systems = [ "cl-fad" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + ]; + meta = { }; + } + ); + cl-fam = ( + build-asdf-system { + pname = "cl-fam"; + version = "20121125-git"; + asds = [ "cl-fam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fam/2012-11-25/cl-fam-20121125-git.tgz"; + sha256 = "1imv87imhxvigghx3l28kbsldz6hpqd32280wjwffqwvadhx0gng"; + system = "cl-fam"; + asd = "cl-fam"; + } + ); + systems = [ "cl-fam" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fast-ecs = ( + build-asdf-system { + pname = "cl-fast-ecs"; + version = "20241012-git"; + asds = [ "cl-fast-ecs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fast-ecs/2024-10-12/cl-fast-ecs-20241012-git.tgz"; + sha256 = "0hwprzq6dnbfh4y08db615gzpdpr8vphy27whgsjhyg980503hxv"; + system = "cl-fast-ecs"; + asd = "cl-fast-ecs"; + } + ); + systems = [ "cl-fast-ecs" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fastcgi = ( + build-asdf-system { + pname = "cl-fastcgi"; + version = "20241012-git"; + asds = [ "cl-fastcgi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fastcgi/2024-10-12/cl-fastcgi-20241012-git.tgz"; + sha256 = "0hf6a8jrz8dx91px8q4201k3y919ls7cgn4qjmkqxqhjk2gxy5k7"; + system = "cl-fastcgi"; + asd = "cl-fastcgi"; + } + ); + systems = [ "cl-fastcgi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fbclient = ( + build-asdf-system { + pname = "cl-fbclient"; + version = "20140113-git"; + asds = [ "cl-fbclient" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fbclient/2014-01-13/cl-fbclient-20140113-git.tgz"; + sha256 = "1q2dwizrjnal3fdcdgim4kdq0dma71p3s8w6i8bjkg4fs49k5p9j"; + system = "cl-fbclient"; + asd = "cl-fbclient"; + } + ); + systems = [ "cl-fbclient" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fbx = ( + build-asdf-system { + pname = "cl-fbx"; + version = "20241012-git"; + asds = [ "cl-fbx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fbx/2024-10-12/cl-fbx-20241012-git.tgz"; + sha256 = "1g6s3ili3fcxy37g34ykmf2zc6nm70sh5q0diqbikikaly8kfi50"; + system = "cl-fbx"; + asd = "cl-fbx"; + } + ); + systems = [ "cl-fbx" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "float-features" self) + (getAttr "static-vectors" self) + (getAttr "trivial-extensible-sequences" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-feedparser = ( + build-asdf-system { + pname = "cl-feedparser"; + version = "20230618-git"; + asds = [ "cl-feedparser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-feedparser/2023-06-18/cl-feedparser-20230618-git.tgz"; + sha256 = "18cl4318g8szhdsqvg68ajry91m1hn0znmsqd0r2ikq6l5wpixmb"; + system = "cl-feedparser"; + asd = "cl-feedparser"; + } + ); + systems = [ "cl-feedparser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "asdf-package-system" self) + (getAttr "cl-html5-parser" self) + (getAttr "cl-ppcre" self) + (getAttr "fset" self) + (getAttr "fxml" self) + (getAttr "local-time" self) + (getAttr "net-telent-date" self) + (getAttr "plump" self) + (getAttr "quri" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-feedparser-tests = ( + build-asdf-system { + pname = "cl-feedparser-tests"; + version = "20230618-git"; + asds = [ "cl-feedparser-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-feedparser/2023-06-18/cl-feedparser-20230618-git.tgz"; + sha256 = "18cl4318g8szhdsqvg68ajry91m1hn0znmsqd0r2ikq6l5wpixmb"; + system = "cl-feedparser-tests"; + asd = "cl-feedparser-tests"; + } + ); + systems = [ "cl-feedparser-tests" ]; + lispLibs = [ + (getAttr "cl-feedparser" self) + (getAttr "fiveam" self) + (getAttr "fxml" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fix = ( + build-asdf-system { + pname = "cl-fix"; + version = "20230214-git"; + asds = [ "cl-fix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fix/2023-02-14/cl-fix-20230214-git.tgz"; + sha256 = "0hw9sms558vn964sw5bav74wmfahf066nqj1xyd6b3f1lz3jarbb"; + system = "cl-fix"; + asd = "cl-fix"; + } + ); + systems = [ "cl-fix" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arrow-macros" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "parse-number" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fixtures = ( + build-asdf-system { + pname = "cl-fixtures"; + version = "20200325-git"; + asds = [ "cl-fixtures" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fixtures/2020-03-25/cl-fixtures-20200325-git.tgz"; + sha256 = "01z8brw32lv8lqn6r9srwrna5gkd4cyncpbpg6pc0khgdxzpzaag"; + system = "cl-fixtures"; + asd = "cl-fixtures"; + } + ); + systems = [ "cl-fixtures" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fixtures-test = ( + build-asdf-system { + pname = "cl-fixtures-test"; + version = "20200325-git"; + asds = [ "cl-fixtures-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fixtures/2020-03-25/cl-fixtures-20200325-git.tgz"; + sha256 = "01z8brw32lv8lqn6r9srwrna5gkd4cyncpbpg6pc0khgdxzpzaag"; + system = "cl-fixtures-test"; + asd = "cl-fixtures-test"; + } + ); + systems = [ "cl-fixtures-test" ]; + lispLibs = [ + (getAttr "cl-fixtures" self) + (getAttr "incf-cl" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "rutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-flac = ( + build-asdf-system { + pname = "cl-flac"; + version = "20231021-git"; + asds = [ "cl-flac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-flac/2023-10-21/cl-flac-20231021-git.tgz"; + sha256 = "1p6hrg9j58yyml78l82zd6p33apbbnbw24slxw876n2j30qiyc84"; + system = "cl-flac"; + asd = "cl-flac"; + } + ); + systems = [ "cl-flac" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-flow = ( + build-asdf-system { + pname = "cl-flow"; + version = "stable-git"; + asds = [ "cl-flow" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-flow/2022-07-07/cl-flow-stable-git.tgz"; + sha256 = "0mh9g0zj2kwnsq31zg4af5k9jvfbwp28zx02f0r1jlg2rha87vlg"; + system = "cl-flow"; + asd = "cl-flow"; + } + ); + systems = [ "cl-flow" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-muth" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-flowd = ( + build-asdf-system { + pname = "cl-flowd"; + version = "20140713-git"; + asds = [ "cl-flowd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-flowd/2014-07-13/cl-flowd-20140713-git.tgz"; + sha256 = "0qppiqgy4fgvkm519bqjrw1mfp90q8fs1spvawf24d1nzslf51pj"; + system = "cl-flowd"; + asd = "cl-flowd"; + } + ); + systems = [ "cl-flowd" ]; + lispLibs = [ (getAttr "cl-annot" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fluent-logger = ( + build-asdf-system { + pname = "cl-fluent-logger"; + version = "20241012-git"; + asds = [ "cl-fluent-logger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fluent-logger/2024-10-12/cl-fluent-logger-20241012-git.tgz"; + sha256 = "0dqmx28d49fraqymrvaxq19d1x5nd6sb30bza7s9vgcyz404hzg4"; + system = "cl-fluent-logger"; + asd = "cl-fluent-logger"; + } + ); + systems = [ "cl-fluent-logger" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "chanl" self) + (getAttr "cl-messagepack" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "pack" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fluiddb = ( + build-asdf-system { + pname = "cl-fluiddb"; + version = "20130312-git"; + asds = [ "cl-fluiddb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz"; + sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb"; + system = "cl-fluiddb"; + asd = "cl-fluiddb"; + } + ); + systems = [ "cl-fluiddb" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-json" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fluiddb-test = ( + build-asdf-system { + pname = "cl-fluiddb-test"; + version = "20130312-git"; + asds = [ "cl-fluiddb-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz"; + sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb"; + system = "cl-fluiddb-test"; + asd = "cl-fluiddb-test"; + } + ); + systems = [ "cl-fluiddb-test" ]; + lispLibs = [ + (getAttr "cl-fluiddb" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fluidinfo = ( + build-asdf-system { + pname = "cl-fluidinfo"; + version = "20130312-git"; + asds = [ "cl-fluidinfo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz"; + sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb"; + system = "cl-fluidinfo"; + asd = "cl-fluidinfo"; + } + ); + systems = [ "cl-fluidinfo" ]; + lispLibs = [ (getAttr "cl-fluiddb" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fond = ( + build-asdf-system { + pname = "cl-fond"; + version = "20191130-git"; + asds = [ "cl-fond" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fond/2019-11-30/cl-fond-20191130-git.tgz"; + sha256 = "03ygcw1azb44bhdsqcq99xi4ci0by76ap5jf5l2d1vfxq04v8grq"; + system = "cl-fond"; + asd = "cl-fond"; + } + ); + systems = [ "cl-fond" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-form-types = ( + build-asdf-system { + pname = "cl-form-types"; + version = "20241012-git"; + asds = [ "cl-form-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-form-types/2024-10-12/cl-form-types-20241012-git.tgz"; + sha256 = "1qc9dy9ji14nz5k2i17idbfks3ddwrwy9bf60rq95pnngkzqs3d1"; + system = "cl-form-types"; + asd = "cl-form-types"; + } + ); + systems = [ "cl-form-types" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "cl-environments" self) + (getAttr "introspect-environment" self) + (getAttr "optima" self) + ]; + meta = { }; + } + ); + cl-forms = ( + build-asdf-system { + pname = "cl-forms"; + version = "20241012-git"; + asds = [ "cl-forms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms"; + asd = "cl-forms"; + } + ); + systems = [ "cl-forms" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "clavier" self) + (getAttr "fmt" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "str" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-forms_dot_demo = ( + build-asdf-system { + pname = "cl-forms.demo"; + version = "20241012-git"; + asds = [ "cl-forms.demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms.demo"; + asd = "cl-forms.demo"; + } + ); + systems = [ "cl-forms.demo" ]; + lispLibs = [ + (getAttr "cl-css" self) + (getAttr "cl-forms" self) + (getAttr "cl-forms_dot_djula" self) + (getAttr "cl-forms_dot_test" self) + (getAttr "cl-forms_dot_who" self) + (getAttr "cl-forms_dot_who_dot_bootstrap" self) + (getAttr "cl-who" self) + (getAttr "djula" self) + (getAttr "hunchentoot" self) + (getAttr "trivial-open-browser" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-forms_dot_djula = ( + build-asdf-system { + pname = "cl-forms.djula"; + version = "20241012-git"; + asds = [ "cl-forms.djula" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms.djula"; + asd = "cl-forms.djula"; + } + ); + systems = [ "cl-forms.djula" ]; + lispLibs = [ + (getAttr "cl-forms" self) + (getAttr "cl-forms_dot_who" self) + (getAttr "djula" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-forms_dot_peppol = ( + build-asdf-system { + pname = "cl-forms.peppol"; + version = "20241012-git"; + asds = [ "cl-forms.peppol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms.peppol"; + asd = "cl-forms.peppol"; + } + ); + systems = [ "cl-forms.peppol" ]; + lispLibs = [ + (getAttr "cl-forms" self) + (getAttr "peppol" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-forms_dot_test = ( + build-asdf-system { + pname = "cl-forms.test"; + version = "20241012-git"; + asds = [ "cl-forms.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms.test"; + asd = "cl-forms.test"; + } + ); + systems = [ "cl-forms.test" ]; + lispLibs = [ + (getAttr "cl-forms" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-forms_dot_who = ( + build-asdf-system { + pname = "cl-forms.who"; + version = "20241012-git"; + asds = [ "cl-forms.who" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms.who"; + asd = "cl-forms.who"; + } + ); + systems = [ "cl-forms.who" ]; + lispLibs = [ + (getAttr "cl-forms" self) + (getAttr "cl-who" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-forms_dot_who_dot_bootstrap = ( + build-asdf-system { + pname = "cl-forms.who.bootstrap"; + version = "20241012-git"; + asds = [ "cl-forms.who.bootstrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-forms/2024-10-12/cl-forms-20241012-git.tgz"; + sha256 = "19ldfrsa0nvbr0mlzy4cm9fmvxfmh6x9cn0nawaypbsrwpybfslc"; + system = "cl-forms.who.bootstrap"; + asd = "cl-forms.who.bootstrap"; + } + ); + systems = [ "cl-forms.who.bootstrap" ]; + lispLibs = [ (getAttr "cl-forms_dot_who" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-freeimage = ( + build-asdf-system { + pname = "cl-freeimage"; + version = "20170403-git"; + asds = [ "cl-freeimage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-freeimage/2017-04-03/cl-freeimage-20170403-git.tgz"; + sha256 = "1333i8sh670nkb0c35xp511xjlafn5zh8a6gk3wnh19gffvj63hq"; + system = "cl-freeimage"; + asd = "cl-freeimage"; + } + ); + systems = [ "cl-freeimage" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-freetype2 = ( + build-asdf-system { + pname = "cl-freetype2"; + version = "20241012-git"; + asds = [ "cl-freetype2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-freetype2/2024-10-12/cl-freetype2-20241012-git.tgz"; + sha256 = "00lkmawhjgqzfrsaaqmnffm7mmn3b31gzwz8g51kdjm9s16vwpjs"; + system = "cl-freetype2"; + asd = "cl-freetype2"; + } + ); + systems = [ "cl-freetype2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + cl-freetype2-tests = ( + build-asdf-system { + pname = "cl-freetype2-tests"; + version = "20241012-git"; + asds = [ "cl-freetype2-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-freetype2/2024-10-12/cl-freetype2-20241012-git.tgz"; + sha256 = "00lkmawhjgqzfrsaaqmnffm7mmn3b31gzwz8g51kdjm9s16vwpjs"; + system = "cl-freetype2-tests"; + asd = "cl-freetype2-tests"; + } + ); + systems = [ "cl-freetype2-tests" ]; + lispLibs = [ + (getAttr "cl-freetype2" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fsnotify = ( + build-asdf-system { + pname = "cl-fsnotify"; + version = "20150302-git"; + asds = [ "cl-fsnotify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fsnotify/2015-03-02/cl-fsnotify-20150302-git.tgz"; + sha256 = "0693ga1xqcvi89j3aw0lmyi3a1yl3hrfwli2jiwxv0mgpcaxz0yr"; + system = "cl-fsnotify"; + asd = "cl-fsnotify"; + } + ); + systems = [ "cl-fsnotify" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ftp = ( + build-asdf-system { + pname = "cl-ftp"; + version = "20150608-http"; + asds = [ "cl-ftp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ftp/2015-06-08/cl-ftp-20150608-http.tgz"; + sha256 = "1m955rjpaynybzmb9q631mll764hm06lydvhra50mfjj75ynwsvw"; + system = "cl-ftp"; + asd = "cl-ftp"; + } + ); + systems = [ "cl-ftp" ]; + lispLibs = [ + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-fuse = ( + build-asdf-system { + pname = "cl-fuse"; + version = "20200925-git"; + asds = [ "cl-fuse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fuse/2020-09-25/cl-fuse-20200925-git.tgz"; + sha256 = "1qxvf8ybn0v1hiaz11k1h47y0dksj8ah9v8jdfrjp9ad1rrrnxqs"; + system = "cl-fuse"; + asd = "cl-fuse"; + } + ); + systems = [ "cl-fuse" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-utilities" self) + (getAttr "iterate" self) + (getAttr "trivial-backtrace" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { }; + } + ); + cl-fuse-meta-fs = ( + build-asdf-system { + pname = "cl-fuse-meta-fs"; + version = "20190710-git"; + asds = [ "cl-fuse-meta-fs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2019-07-10/cl-fuse-meta-fs-20190710-git.tgz"; + sha256 = "1wbi7lvczfn09qb72rg1bps9w51mz42dwa7lyjl2hp8lbwc2a5a9"; + system = "cl-fuse-meta-fs"; + asd = "cl-fuse-meta-fs"; + } + ); + systems = [ "cl-fuse-meta-fs" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-fuse" self) + (getAttr "iterate" self) + (getAttr "pcall" self) + ]; + meta = { }; + } + ); + cl-fuzz = ( + build-asdf-system { + pname = "cl-fuzz"; + version = "20181018-git"; + asds = [ "cl-fuzz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fuzz/2018-10-18/cl-fuzz-20181018-git.tgz"; + sha256 = "1zvlh0nh4iip75p6dblx5kajqaa3hhv6mdjbx9cids8491r388rz"; + system = "cl-fuzz"; + asd = "cl-fuzz"; + } + ); + systems = [ "cl-fuzz" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + cl-fxml = ( + build-asdf-system { + pname = "cl-fxml"; + version = "20220331-git"; + asds = [ "cl-fxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-fxml/2022-03-31/cl-fxml-20220331-git.tgz"; + sha256 = "0i5w3z0rgyi42rlhvf92k95w6bajf3m1x9g4zprwf602kp7abr3c"; + system = "cl-fxml"; + asd = "cl-fxml"; + } + ); + systems = [ "cl-fxml" ]; + lispLibs = [ + (getAttr "agnostic-lizard" self) + (getAttr "alexandria" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gamepad = ( + build-asdf-system { + pname = "cl-gamepad"; + version = "20241012-git"; + asds = [ "cl-gamepad" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gamepad/2024-10-12/cl-gamepad-20241012-git.tgz"; + sha256 = "015qx89rnkkqaa6qsl78zvb3sb1m4xdgjpgzn5ip5i27gw94770g"; + system = "cl-gamepad"; + asd = "cl-gamepad"; + } + ); + systems = [ "cl-gamepad" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gap-buffer = ( + build-asdf-system { + pname = "cl-gap-buffer"; + version = "20230618-git"; + asds = [ "cl-gap-buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gap-buffer/2023-06-18/cl-gap-buffer-20230618-git.tgz"; + sha256 = "0dzwhzv139z9pspnh1krnldnk4nfrj8f5khh08085xkc5bgg1jfv"; + system = "cl-gap-buffer"; + asd = "cl-gap-buffer"; + } + ); + systems = [ "cl-gap-buffer" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gbm = ( + build-asdf-system { + pname = "cl-gbm"; + version = "20180430-git"; + asds = [ "cl-gbm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gbm/2018-04-30/cl-gbm-20180430-git.tgz"; + sha256 = "14bshi7q1hhyag8va9javjjn5cnhmwyjlw8vvvb4fyzfspz3kpdx"; + system = "cl-gbm"; + asd = "cl-gbm"; + } + ); + systems = [ "cl-gbm" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gcrypt = ( + build-asdf-system { + pname = "cl-gcrypt"; + version = "20211209-git"; + asds = [ "cl-gcrypt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gcrypt/2021-12-09/cl-gcrypt-20211209-git.tgz"; + sha256 = "1f4gx5ssirr4f3n68i2da6ad7hbhgsk18zv0gfqy3q635zai0z3w"; + system = "cl-gcrypt"; + asd = "cl-gcrypt"; + } + ); + systems = [ "cl-gcrypt" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gcrypt-test = ( + build-asdf-system { + pname = "cl-gcrypt-test"; + version = "20211209-git"; + asds = [ "cl-gcrypt-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gcrypt/2021-12-09/cl-gcrypt-20211209-git.tgz"; + sha256 = "1f4gx5ssirr4f3n68i2da6ad7hbhgsk18zv0gfqy3q635zai0z3w"; + system = "cl-gcrypt-test"; + asd = "cl-gcrypt-test"; + } + ); + systems = [ "cl-gcrypt-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cl-gcrypt" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gd = ( + build-asdf-system { + pname = "cl-gd"; + version = "20201220-git"; + asds = [ "cl-gd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gd/2020-12-20/cl-gd-20201220-git.tgz"; + sha256 = "1wa6nv5bdf0v38hzr6cfadkk6mhvvnj9lpl9igcxygdjbnn2a3y6"; + system = "cl-gd"; + asd = "cl-gd"; + } + ); + systems = [ "cl-gd" ]; + lispLibs = [ (getAttr "uffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gd-test = ( + build-asdf-system { + pname = "cl-gd-test"; + version = "20201220-git"; + asds = [ "cl-gd-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gd/2020-12-20/cl-gd-20201220-git.tgz"; + sha256 = "1wa6nv5bdf0v38hzr6cfadkk6mhvvnj9lpl9igcxygdjbnn2a3y6"; + system = "cl-gd-test"; + asd = "cl-gd-test"; + } + ); + systems = [ "cl-gd-test" ]; + lispLibs = [ (getAttr "cl-gd" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gdata = ( + build-asdf-system { + pname = "cl-gdata"; + version = "20171130-git"; + asds = [ "cl-gdata" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gdata/2017-11-30/cl-gdata-20171130-git.tgz"; + sha256 = "0x2sq03nacjbq7p9baxlhr7bb0xg7v1ljq7qj1b3xrd4rbcibxi9"; + system = "cl-gdata"; + asd = "cl-gdata"; + } + ); + systems = [ "cl-gdata" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "gzip-stream" self) + (getAttr "local-time" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + (getAttr "string-case" self) + (getAttr "trivial-utf-8" self) + (getAttr "url-rewrite" self) + (getAttr "xpath" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gearman = ( + build-asdf-system { + pname = "cl-gearman"; + version = "20211020-git"; + asds = [ "cl-gearman" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gearman/2021-10-20/cl-gearman-20211020-git.tgz"; + sha256 = "0cnkpqn43p55xlhdi8bws2ssa1ahvzbgggh3pam0zbqma2m525j6"; + system = "cl-gearman"; + asd = "cl-gearman"; + } + ); + systems = [ "cl-gearman" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gearman-test = ( + build-asdf-system { + pname = "cl-gearman-test"; + version = "20211020-git"; + asds = [ "cl-gearman-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gearman/2021-10-20/cl-gearman-20211020-git.tgz"; + sha256 = "0cnkpqn43p55xlhdi8bws2ssa1ahvzbgggh3pam0zbqma2m525j6"; + system = "cl-gearman-test"; + asd = "cl-gearman-test"; + } + ); + systems = [ "cl-gearman-test" ]; + lispLibs = [ + (getAttr "cl-gearman" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gendoc = ( + build-asdf-system { + pname = "cl-gendoc"; + version = "20180831-git"; + asds = [ "cl-gendoc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gendoc/2018-08-31/cl-gendoc-20180831-git.tgz"; + sha256 = "19f8fmz2hj332kh3y3fbil2dchpckdsqci6ljhadymd8p2h6w4ws"; + system = "cl-gendoc"; + asd = "cl-gendoc"; + } + ); + systems = [ "cl-gendoc" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "cl-who" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gendoc-docs = ( + build-asdf-system { + pname = "cl-gendoc-docs"; + version = "20180831-git"; + asds = [ "cl-gendoc-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gendoc/2018-08-31/cl-gendoc-20180831-git.tgz"; + sha256 = "19f8fmz2hj332kh3y3fbil2dchpckdsqci6ljhadymd8p2h6w4ws"; + system = "cl-gendoc-docs"; + asd = "cl-gendoc"; + } + ); + systems = [ "cl-gendoc-docs" ]; + lispLibs = [ (getAttr "cl-gendoc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gene-searcher = ( + build-asdf-system { + pname = "cl-gene-searcher"; + version = "20111001-git"; + asds = [ "cl-gene-searcher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gene-searcher/2011-10-01/cl-gene-searcher-20111001-git.tgz"; + sha256 = "0n8p6yk600h7m050bjxazmcxdrcfrkcklrcj8ncflyshm72qv1yk"; + system = "cl-gene-searcher"; + asd = "cl-gene-searcher"; + } + ); + systems = [ "cl-gene-searcher" ]; + lispLibs = [ (getAttr "clsql-sqlite3" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-generator = ( + build-asdf-system { + pname = "cl-generator"; + version = "20221106-git"; + asds = [ "cl-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-generator/2022-11-06/cl-generator-20221106-git.tgz"; + sha256 = "0aa5prw6f4fqw9j8m6kvdb3h3lqyvi15dd1l6437p9408mmyxk30"; + system = "cl-generator"; + asd = "cl-generator"; + } + ); + systems = [ "cl-generator" ]; + lispLibs = [ (getAttr "cl-cont" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-generator-test = ( + build-asdf-system { + pname = "cl-generator-test"; + version = "20221106-git"; + asds = [ "cl-generator-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-generator/2022-11-06/cl-generator-20221106-git.tgz"; + sha256 = "0aa5prw6f4fqw9j8m6kvdb3h3lqyvi15dd1l6437p9408mmyxk30"; + system = "cl-generator-test"; + asd = "cl-generator-test"; + } + ); + systems = [ "cl-generator-test" ]; + lispLibs = [ + (getAttr "cl-generator" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-geocode = ( + build-asdf-system { + pname = "cl-geocode"; + version = "20190813-git"; + asds = [ "cl-geocode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-geocode/2019-08-13/cl-geocode-20190813-git.tgz"; + sha256 = "17z0v29rrhsfjikg4sn9ynxckh5i3ahjn7c8qs381n1p9fbd668l"; + system = "cl-geocode"; + asd = "cl-geocode"; + } + ); + systems = [ "cl-geocode" ]; + lispLibs = [ + (getAttr "acl-compat" self) + (getAttr "aserve" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-geoip = ( + build-asdf-system { + pname = "cl-geoip"; + version = "20130615-git"; + asds = [ "cl-geoip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-geoip/2013-06-15/cl-geoip-20130615-git.tgz"; + sha256 = "0ys8wysppx06j3s0dc9lc9zjizr1fmj388fiigyn1wrdyyka41y2"; + system = "cl-geoip"; + asd = "cl-geoip"; + } + ); + systems = [ "cl-geoip" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-geometry = ( + build-asdf-system { + pname = "cl-geometry"; + version = "20160531-git"; + asds = [ "cl-geometry" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-geometry/2016-05-31/cl-geometry-20160531-git.tgz"; + sha256 = "188xrd8plvc34gz7q01zmkdrzxbpwzln103l5dl78pa4a6vzz34h"; + system = "cl-geometry"; + asd = "cl-geometry"; + } + ); + systems = [ "cl-geometry" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "trees" self) + ]; + meta = { }; + } + ); + cl-geometry-tests = ( + build-asdf-system { + pname = "cl-geometry-tests"; + version = "20160531-git"; + asds = [ "cl-geometry-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-geometry/2016-05-31/cl-geometry-20160531-git.tgz"; + sha256 = "188xrd8plvc34gz7q01zmkdrzxbpwzln103l5dl78pa4a6vzz34h"; + system = "cl-geometry-tests"; + asd = "cl-geometry-tests"; + } + ); + systems = [ "cl-geometry-tests" ]; + lispLibs = [ + (getAttr "cl-geometry" self) + (getAttr "iterate" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-geos = ( + build-asdf-system { + pname = "cl-geos"; + version = "20180711-git"; + asds = [ "cl-geos" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-geos/2018-07-11/cl-geos-20180711-git.tgz"; + sha256 = "0igq2c1p82pbkyc7zg90fm3lbsmhwnfmb3q8jc8baklb958555ck"; + system = "cl-geos"; + asd = "cl-geos"; + } + ); + systems = [ "cl-geos" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + (getAttr "xarray" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-getopt = ( + build-asdf-system { + pname = "cl-getopt"; + version = "20211209-git"; + asds = [ "cl-getopt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-getopt/2021-12-09/cl-getopt-20211209-git.tgz"; + sha256 = "16qkpg2qln7q9j5614py00zwsnmxcy3xcmhb4m8f0w0zbnpvkjxl"; + system = "cl-getopt"; + asd = "cl-getopt"; + } + ); + systems = [ "cl-getopt" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-getx = ( + build-asdf-system { + pname = "cl-getx"; + version = "20200925-git"; + asds = [ "cl-getx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-getx/2020-09-25/cl-getx-20200925-git.tgz"; + sha256 = "07gi346vqrhnbkdk4l6g06z4shhnx7f4l44jgayzfdd0xkv02brv"; + system = "cl-getx"; + asd = "cl-getx"; + } + ); + systems = [ "cl-getx" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gimei = ( + build-asdf-system { + pname = "cl-gimei"; + version = "20211020-git"; + asds = [ "cl-gimei" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gimei/2021-10-20/cl-gimei-20211020-git.tgz"; + sha256 = "1405qbqrrrmanmg2dl7yfdj8z4vcsj1silpsa7i1y00pd18xgk8q"; + system = "cl-gimei"; + asd = "cl-gimei"; + } + ); + systems = [ "cl-gimei" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-yaml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gio = ( + build-asdf-system { + pname = "cl-gio"; + version = "20231021-git"; + asds = [ "cl-gio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glib/2023-10-21/cl-glib-20231021-git.tgz"; + sha256 = "07y8hpvdl490p8j4k8y47raqqwnpym9scz7jlg2f1jx897dkssjb"; + system = "cl-gio"; + asd = "cl-gio"; + } + ); + systems = [ "cl-gio" ]; + lispLibs = [ (getAttr "cl-gobject-introspection-wrapper" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gists = ( + build-asdf-system { + pname = "cl-gists"; + version = "20231021-git"; + asds = [ "cl-gists" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gists/2023-10-21/cl-gists-20231021-git.tgz"; + sha256 = "0kza5y6jckvydaw9bw8va5kli5d3ybyvil6w2bhf411crd2z15vc"; + system = "cl-gists"; + asd = "cl-gists"; + } + ); + systems = [ "cl-gists" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "babel" self) + (getAttr "dexador" self) + (getAttr "local-time" self) + (getAttr "quri" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-git = ( + build-asdf-system { + pname = "cl-git"; + version = "20230618-git"; + asds = [ "cl-git" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-git/2023-06-18/cl-git-20230618-git.tgz"; + sha256 = "13h7n3nbpf2qq0vq0dz33r0468baskw83pjfxb3hik4rllrv04h6"; + system = "cl-git"; + asd = "cl-git"; + } + ); + systems = [ "cl-git" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-fad" self) + (getAttr "closer-mop" self) + (getAttr "flexi-streams" self) + (getAttr "local-time" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-github-v3 = ( + build-asdf-system { + pname = "cl-github-v3"; + version = "20241012-git"; + asds = [ "cl-github-v3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-github-v3/2024-10-12/cl-github-v3-20241012-git.tgz"; + sha256 = "0ayhnildyjjmnyk0a1sx7qxg6vq9kcggaprqf37s5qi4kadvcsr2"; + system = "cl-github-v3"; + asd = "cl-github-v3"; + } + ); + systems = [ "cl-github-v3" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw = ( + build-asdf-system { + pname = "cl-glfw"; + version = "20150302-git"; + asds = [ "cl-glfw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw"; + asd = "cl-glfw"; + } + ); + systems = [ "cl-glfw" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-glfw-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-ftgl = ( + build-asdf-system { + pname = "cl-glfw-ftgl"; + version = "20150302-git"; + asds = [ "cl-glfw-ftgl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-ftgl"; + asd = "cl-glfw-ftgl"; + } + ); + systems = [ "cl-glfw-ftgl" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-glu = ( + build-asdf-system { + pname = "cl-glfw-glu"; + version = "20150302-git"; + asds = [ "cl-glfw-glu" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-glu"; + asd = "cl-glfw-glu"; + } + ); + systems = [ "cl-glfw-glu" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-glfw-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-3dfx__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-3dfx_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-3dfx_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-3dfx_multisample"; + asd = "cl-glfw-opengl-3dfx_multisample"; + } + ); + systems = [ "cl-glfw-opengl-3dfx_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-3dfx__tbuffer = ( + build-asdf-system { + pname = "cl-glfw-opengl-3dfx_tbuffer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-3dfx_tbuffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-3dfx_tbuffer"; + asd = "cl-glfw-opengl-3dfx_tbuffer"; + } + ); + systems = [ "cl-glfw-opengl-3dfx_tbuffer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-3dfx__texture__compression__fxt1 = ( + build-asdf-system { + pname = "cl-glfw-opengl-3dfx_texture_compression_fxt1"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-3dfx_texture_compression_fxt1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-3dfx_texture_compression_fxt1"; + asd = "cl-glfw-opengl-3dfx_texture_compression_fxt1"; + } + ); + systems = [ "cl-glfw-opengl-3dfx_texture_compression_fxt1" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__blend__minmax__factor = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_blend_minmax_factor"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_blend_minmax_factor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_blend_minmax_factor"; + asd = "cl-glfw-opengl-amd_blend_minmax_factor"; + } + ); + systems = [ "cl-glfw-opengl-amd_blend_minmax_factor" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__depth__clamp__separate = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_depth_clamp_separate"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_depth_clamp_separate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_depth_clamp_separate"; + asd = "cl-glfw-opengl-amd_depth_clamp_separate"; + } + ); + systems = [ "cl-glfw-opengl-amd_depth_clamp_separate" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__draw__buffers__blend = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_draw_buffers_blend"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_draw_buffers_blend" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_draw_buffers_blend"; + asd = "cl-glfw-opengl-amd_draw_buffers_blend"; + } + ); + systems = [ "cl-glfw-opengl-amd_draw_buffers_blend" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__multi__draw__indirect = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_multi_draw_indirect"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_multi_draw_indirect" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_multi_draw_indirect"; + asd = "cl-glfw-opengl-amd_multi_draw_indirect"; + } + ); + systems = [ "cl-glfw-opengl-amd_multi_draw_indirect" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__name__gen__delete = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_name_gen_delete"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_name_gen_delete" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_name_gen_delete"; + asd = "cl-glfw-opengl-amd_name_gen_delete"; + } + ); + systems = [ "cl-glfw-opengl-amd_name_gen_delete" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__performance__monitor = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_performance_monitor"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_performance_monitor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_performance_monitor"; + asd = "cl-glfw-opengl-amd_performance_monitor"; + } + ); + systems = [ "cl-glfw-opengl-amd_performance_monitor" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__sample__positions = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_sample_positions"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_sample_positions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_sample_positions"; + asd = "cl-glfw-opengl-amd_sample_positions"; + } + ); + systems = [ "cl-glfw-opengl-amd_sample_positions" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__seamless__cubemap__per__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_seamless_cubemap_per_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_seamless_cubemap_per_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_seamless_cubemap_per_texture"; + asd = "cl-glfw-opengl-amd_seamless_cubemap_per_texture"; + } + ); + systems = [ "cl-glfw-opengl-amd_seamless_cubemap_per_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-amd__vertex__shader__tesselator = ( + build-asdf-system { + pname = "cl-glfw-opengl-amd_vertex_shader_tesselator"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-amd_vertex_shader_tesselator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-amd_vertex_shader_tesselator"; + asd = "cl-glfw-opengl-amd_vertex_shader_tesselator"; + } + ); + systems = [ "cl-glfw-opengl-amd_vertex_shader_tesselator" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__aux__depth__stencil = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_aux_depth_stencil"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_aux_depth_stencil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_aux_depth_stencil"; + asd = "cl-glfw-opengl-apple_aux_depth_stencil"; + } + ); + systems = [ "cl-glfw-opengl-apple_aux_depth_stencil" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__client__storage = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_client_storage"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_client_storage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_client_storage"; + asd = "cl-glfw-opengl-apple_client_storage"; + } + ); + systems = [ "cl-glfw-opengl-apple_client_storage" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__element__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_element_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_element_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_element_array"; + asd = "cl-glfw-opengl-apple_element_array"; + } + ); + systems = [ "cl-glfw-opengl-apple_element_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__fence = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_fence"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_fence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_fence"; + asd = "cl-glfw-opengl-apple_fence"; + } + ); + systems = [ "cl-glfw-opengl-apple_fence" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__float__pixels = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_float_pixels"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_float_pixels" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_float_pixels"; + asd = "cl-glfw-opengl-apple_float_pixels"; + } + ); + systems = [ "cl-glfw-opengl-apple_float_pixels" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__flush__buffer__range = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_flush_buffer_range"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_flush_buffer_range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_flush_buffer_range"; + asd = "cl-glfw-opengl-apple_flush_buffer_range"; + } + ); + systems = [ "cl-glfw-opengl-apple_flush_buffer_range" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__object__purgeable = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_object_purgeable"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_object_purgeable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_object_purgeable"; + asd = "cl-glfw-opengl-apple_object_purgeable"; + } + ); + systems = [ "cl-glfw-opengl-apple_object_purgeable" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__rgb__422 = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_rgb_422"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_rgb_422" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_rgb_422"; + asd = "cl-glfw-opengl-apple_rgb_422"; + } + ); + systems = [ "cl-glfw-opengl-apple_rgb_422" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__row__bytes = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_row_bytes"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_row_bytes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_row_bytes"; + asd = "cl-glfw-opengl-apple_row_bytes"; + } + ); + systems = [ "cl-glfw-opengl-apple_row_bytes" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__specular__vector = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_specular_vector"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_specular_vector" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_specular_vector"; + asd = "cl-glfw-opengl-apple_specular_vector"; + } + ); + systems = [ "cl-glfw-opengl-apple_specular_vector" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__texture__range = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_texture_range"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_texture_range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_texture_range"; + asd = "cl-glfw-opengl-apple_texture_range"; + } + ); + systems = [ "cl-glfw-opengl-apple_texture_range" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__transform__hint = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_transform_hint"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_transform_hint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_transform_hint"; + asd = "cl-glfw-opengl-apple_transform_hint"; + } + ); + systems = [ "cl-glfw-opengl-apple_transform_hint" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__vertex__array__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_vertex_array_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_vertex_array_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_vertex_array_object"; + asd = "cl-glfw-opengl-apple_vertex_array_object"; + } + ); + systems = [ "cl-glfw-opengl-apple_vertex_array_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__vertex__array__range = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_vertex_array_range"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_vertex_array_range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_vertex_array_range"; + asd = "cl-glfw-opengl-apple_vertex_array_range"; + } + ); + systems = [ "cl-glfw-opengl-apple_vertex_array_range" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__vertex__program__evaluators = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_vertex_program_evaluators"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_vertex_program_evaluators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_vertex_program_evaluators"; + asd = "cl-glfw-opengl-apple_vertex_program_evaluators"; + } + ); + systems = [ "cl-glfw-opengl-apple_vertex_program_evaluators" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-apple__ycbcr__422 = ( + build-asdf-system { + pname = "cl-glfw-opengl-apple_ycbcr_422"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-apple_ycbcr_422" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-apple_ycbcr_422"; + asd = "cl-glfw-opengl-apple_ycbcr_422"; + } + ); + systems = [ "cl-glfw-opengl-apple_ycbcr_422" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__blend__func__extended = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_blend_func_extended"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_blend_func_extended" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_blend_func_extended"; + asd = "cl-glfw-opengl-arb_blend_func_extended"; + } + ); + systems = [ "cl-glfw-opengl-arb_blend_func_extended" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__color__buffer__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_color_buffer_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_color_buffer_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_color_buffer_float"; + asd = "cl-glfw-opengl-arb_color_buffer_float"; + } + ); + systems = [ "cl-glfw-opengl-arb_color_buffer_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__copy__buffer = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_copy_buffer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_copy_buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_copy_buffer"; + asd = "cl-glfw-opengl-arb_copy_buffer"; + } + ); + systems = [ "cl-glfw-opengl-arb_copy_buffer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__depth__buffer__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_depth_buffer_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_depth_buffer_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_depth_buffer_float"; + asd = "cl-glfw-opengl-arb_depth_buffer_float"; + } + ); + systems = [ "cl-glfw-opengl-arb_depth_buffer_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__depth__clamp = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_depth_clamp"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_depth_clamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_depth_clamp"; + asd = "cl-glfw-opengl-arb_depth_clamp"; + } + ); + systems = [ "cl-glfw-opengl-arb_depth_clamp" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__depth__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_depth_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_depth_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_depth_texture"; + asd = "cl-glfw-opengl-arb_depth_texture"; + } + ); + systems = [ "cl-glfw-opengl-arb_depth_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__draw__buffers = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_draw_buffers"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_draw_buffers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_draw_buffers"; + asd = "cl-glfw-opengl-arb_draw_buffers"; + } + ); + systems = [ "cl-glfw-opengl-arb_draw_buffers" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__draw__buffers__blend = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_draw_buffers_blend"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_draw_buffers_blend" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_draw_buffers_blend"; + asd = "cl-glfw-opengl-arb_draw_buffers_blend"; + } + ); + systems = [ "cl-glfw-opengl-arb_draw_buffers_blend" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__draw__elements__base__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_draw_elements_base_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_draw_elements_base_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_draw_elements_base_vertex"; + asd = "cl-glfw-opengl-arb_draw_elements_base_vertex"; + } + ); + systems = [ "cl-glfw-opengl-arb_draw_elements_base_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__draw__indirect = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_draw_indirect"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_draw_indirect" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_draw_indirect"; + asd = "cl-glfw-opengl-arb_draw_indirect"; + } + ); + systems = [ "cl-glfw-opengl-arb_draw_indirect" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__draw__instanced = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_draw_instanced"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_draw_instanced" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_draw_instanced"; + asd = "cl-glfw-opengl-arb_draw_instanced"; + } + ); + systems = [ "cl-glfw-opengl-arb_draw_instanced" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__es2__compatibility = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_es2_compatibility"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_es2_compatibility" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_es2_compatibility"; + asd = "cl-glfw-opengl-arb_es2_compatibility"; + } + ); + systems = [ "cl-glfw-opengl-arb_es2_compatibility" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__fragment__program = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_fragment_program"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_fragment_program" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_fragment_program"; + asd = "cl-glfw-opengl-arb_fragment_program"; + } + ); + systems = [ "cl-glfw-opengl-arb_fragment_program" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__fragment__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_fragment_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_fragment_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_fragment_shader"; + asd = "cl-glfw-opengl-arb_fragment_shader"; + } + ); + systems = [ "cl-glfw-opengl-arb_fragment_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__framebuffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_framebuffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_framebuffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_framebuffer_object"; + asd = "cl-glfw-opengl-arb_framebuffer_object"; + } + ); + systems = [ "cl-glfw-opengl-arb_framebuffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__framebuffer__object__deprecated = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_framebuffer_object_deprecated"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_framebuffer_object_deprecated" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_framebuffer_object_deprecated"; + asd = "cl-glfw-opengl-arb_framebuffer_object_deprecated"; + } + ); + systems = [ "cl-glfw-opengl-arb_framebuffer_object_deprecated" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__framebuffer__srgb = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_framebuffer_srgb"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_framebuffer_srgb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_framebuffer_srgb"; + asd = "cl-glfw-opengl-arb_framebuffer_srgb"; + } + ); + systems = [ "cl-glfw-opengl-arb_framebuffer_srgb" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__geometry__shader4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_geometry_shader4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_geometry_shader4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_geometry_shader4"; + asd = "cl-glfw-opengl-arb_geometry_shader4"; + } + ); + systems = [ "cl-glfw-opengl-arb_geometry_shader4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__get__program__binary = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_get_program_binary"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_get_program_binary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_get_program_binary"; + asd = "cl-glfw-opengl-arb_get_program_binary"; + } + ); + systems = [ "cl-glfw-opengl-arb_get_program_binary" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__gpu__shader5 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_gpu_shader5"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_gpu_shader5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_gpu_shader5"; + asd = "cl-glfw-opengl-arb_gpu_shader5"; + } + ); + systems = [ "cl-glfw-opengl-arb_gpu_shader5" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__gpu__shader__fp64 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_gpu_shader_fp64"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_gpu_shader_fp64" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_gpu_shader_fp64"; + asd = "cl-glfw-opengl-arb_gpu_shader_fp64"; + } + ); + systems = [ "cl-glfw-opengl-arb_gpu_shader_fp64" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__half__float__pixel = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_half_float_pixel"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_half_float_pixel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_half_float_pixel"; + asd = "cl-glfw-opengl-arb_half_float_pixel"; + } + ); + systems = [ "cl-glfw-opengl-arb_half_float_pixel" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__half__float__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_half_float_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_half_float_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_half_float_vertex"; + asd = "cl-glfw-opengl-arb_half_float_vertex"; + } + ); + systems = [ "cl-glfw-opengl-arb_half_float_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__imaging = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_imaging"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_imaging" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_imaging"; + asd = "cl-glfw-opengl-arb_imaging"; + } + ); + systems = [ "cl-glfw-opengl-arb_imaging" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__imaging__deprecated = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_imaging_deprecated"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_imaging_deprecated" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_imaging_deprecated"; + asd = "cl-glfw-opengl-arb_imaging_deprecated"; + } + ); + systems = [ "cl-glfw-opengl-arb_imaging_deprecated" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__instanced__arrays = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_instanced_arrays"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_instanced_arrays" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_instanced_arrays"; + asd = "cl-glfw-opengl-arb_instanced_arrays"; + } + ); + systems = [ "cl-glfw-opengl-arb_instanced_arrays" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__map__buffer__range = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_map_buffer_range"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_map_buffer_range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_map_buffer_range"; + asd = "cl-glfw-opengl-arb_map_buffer_range"; + } + ); + systems = [ "cl-glfw-opengl-arb_map_buffer_range" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__matrix__palette = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_matrix_palette"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_matrix_palette" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_matrix_palette"; + asd = "cl-glfw-opengl-arb_matrix_palette"; + } + ); + systems = [ "cl-glfw-opengl-arb_matrix_palette" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_multisample"; + asd = "cl-glfw-opengl-arb_multisample"; + } + ); + systems = [ "cl-glfw-opengl-arb_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__multitexture = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_multitexture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_multitexture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_multitexture"; + asd = "cl-glfw-opengl-arb_multitexture"; + } + ); + systems = [ "cl-glfw-opengl-arb_multitexture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__occlusion__query = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_occlusion_query"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_occlusion_query" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_occlusion_query"; + asd = "cl-glfw-opengl-arb_occlusion_query"; + } + ); + systems = [ "cl-glfw-opengl-arb_occlusion_query" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__occlusion__query2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_occlusion_query2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_occlusion_query2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_occlusion_query2"; + asd = "cl-glfw-opengl-arb_occlusion_query2"; + } + ); + systems = [ "cl-glfw-opengl-arb_occlusion_query2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__pixel__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_pixel_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_pixel_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_pixel_buffer_object"; + asd = "cl-glfw-opengl-arb_pixel_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-arb_pixel_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__point__parameters = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_point_parameters"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_point_parameters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_point_parameters"; + asd = "cl-glfw-opengl-arb_point_parameters"; + } + ); + systems = [ "cl-glfw-opengl-arb_point_parameters" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__point__sprite = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_point_sprite"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_point_sprite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_point_sprite"; + asd = "cl-glfw-opengl-arb_point_sprite"; + } + ); + systems = [ "cl-glfw-opengl-arb_point_sprite" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__provoking__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_provoking_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_provoking_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_provoking_vertex"; + asd = "cl-glfw-opengl-arb_provoking_vertex"; + } + ); + systems = [ "cl-glfw-opengl-arb_provoking_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__robustness = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_robustness"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_robustness" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_robustness"; + asd = "cl-glfw-opengl-arb_robustness"; + } + ); + systems = [ "cl-glfw-opengl-arb_robustness" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__sample__shading = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_sample_shading"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_sample_shading" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_sample_shading"; + asd = "cl-glfw-opengl-arb_sample_shading"; + } + ); + systems = [ "cl-glfw-opengl-arb_sample_shading" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__sampler__objects = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_sampler_objects"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_sampler_objects" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_sampler_objects"; + asd = "cl-glfw-opengl-arb_sampler_objects"; + } + ); + systems = [ "cl-glfw-opengl-arb_sampler_objects" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__seamless__cube__map = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_seamless_cube_map"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_seamless_cube_map" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_seamless_cube_map"; + asd = "cl-glfw-opengl-arb_seamless_cube_map"; + } + ); + systems = [ "cl-glfw-opengl-arb_seamless_cube_map" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__separate__shader__objects = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_separate_shader_objects"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_separate_shader_objects" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_separate_shader_objects"; + asd = "cl-glfw-opengl-arb_separate_shader_objects"; + } + ); + systems = [ "cl-glfw-opengl-arb_separate_shader_objects" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__shader__objects = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_shader_objects"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_shader_objects" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_shader_objects"; + asd = "cl-glfw-opengl-arb_shader_objects"; + } + ); + systems = [ "cl-glfw-opengl-arb_shader_objects" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__shader__subroutine = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_shader_subroutine"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_shader_subroutine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_shader_subroutine"; + asd = "cl-glfw-opengl-arb_shader_subroutine"; + } + ); + systems = [ "cl-glfw-opengl-arb_shader_subroutine" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__shading__language__100 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_shading_language_100"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_shading_language_100" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_shading_language_100"; + asd = "cl-glfw-opengl-arb_shading_language_100"; + } + ); + systems = [ "cl-glfw-opengl-arb_shading_language_100" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__shading__language__include = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_shading_language_include"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_shading_language_include" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_shading_language_include"; + asd = "cl-glfw-opengl-arb_shading_language_include"; + } + ); + systems = [ "cl-glfw-opengl-arb_shading_language_include" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__shadow = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_shadow"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_shadow" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_shadow"; + asd = "cl-glfw-opengl-arb_shadow"; + } + ); + systems = [ "cl-glfw-opengl-arb_shadow" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__shadow__ambient = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_shadow_ambient"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_shadow_ambient" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_shadow_ambient"; + asd = "cl-glfw-opengl-arb_shadow_ambient"; + } + ); + systems = [ "cl-glfw-opengl-arb_shadow_ambient" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__tessellation__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_tessellation_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_tessellation_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_tessellation_shader"; + asd = "cl-glfw-opengl-arb_tessellation_shader"; + } + ); + systems = [ "cl-glfw-opengl-arb_tessellation_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__border__clamp = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_border_clamp"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_border_clamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_border_clamp"; + asd = "cl-glfw-opengl-arb_texture_border_clamp"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_border_clamp" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_buffer_object"; + asd = "cl-glfw-opengl-arb_texture_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__buffer__object__rgb32 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_buffer_object_rgb32"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_buffer_object_rgb32" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_buffer_object_rgb32"; + asd = "cl-glfw-opengl-arb_texture_buffer_object_rgb32"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_buffer_object_rgb32" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__compression = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_compression"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_compression" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_compression"; + asd = "cl-glfw-opengl-arb_texture_compression"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_compression" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__compression__bptc = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_compression_bptc"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_compression_bptc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_compression_bptc"; + asd = "cl-glfw-opengl-arb_texture_compression_bptc"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_compression_bptc" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__compression__rgtc = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_compression_rgtc"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_compression_rgtc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_compression_rgtc"; + asd = "cl-glfw-opengl-arb_texture_compression_rgtc"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_compression_rgtc" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__cube__map = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_cube_map"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_cube_map" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_cube_map"; + asd = "cl-glfw-opengl-arb_texture_cube_map"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_cube_map" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__cube__map__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_cube_map_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_cube_map_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_cube_map_array"; + asd = "cl-glfw-opengl-arb_texture_cube_map_array"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_cube_map_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__env__combine = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_env_combine"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_env_combine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_env_combine"; + asd = "cl-glfw-opengl-arb_texture_env_combine"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_env_combine" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__env__dot3 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_env_dot3"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_env_dot3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_env_dot3"; + asd = "cl-glfw-opengl-arb_texture_env_dot3"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_env_dot3" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_float"; + asd = "cl-glfw-opengl-arb_texture_float"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__gather = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_gather"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_gather" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_gather"; + asd = "cl-glfw-opengl-arb_texture_gather"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_gather" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__mirrored__repeat = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_mirrored_repeat"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_mirrored_repeat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_mirrored_repeat"; + asd = "cl-glfw-opengl-arb_texture_mirrored_repeat"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_mirrored_repeat" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_multisample"; + asd = "cl-glfw-opengl-arb_texture_multisample"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__rectangle = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_rectangle"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_rectangle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_rectangle"; + asd = "cl-glfw-opengl-arb_texture_rectangle"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_rectangle" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__rg = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_rg"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_rg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_rg"; + asd = "cl-glfw-opengl-arb_texture_rg"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_rg" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__rgb10__a2ui = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_rgb10_a2ui"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_rgb10_a2ui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_rgb10_a2ui"; + asd = "cl-glfw-opengl-arb_texture_rgb10_a2ui"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_rgb10_a2ui" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__texture__swizzle = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_texture_swizzle"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_texture_swizzle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_texture_swizzle"; + asd = "cl-glfw-opengl-arb_texture_swizzle"; + } + ); + systems = [ "cl-glfw-opengl-arb_texture_swizzle" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__timer__query = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_timer_query"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_timer_query" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_timer_query"; + asd = "cl-glfw-opengl-arb_timer_query"; + } + ); + systems = [ "cl-glfw-opengl-arb_timer_query" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__transform__feedback2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_transform_feedback2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_transform_feedback2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_transform_feedback2"; + asd = "cl-glfw-opengl-arb_transform_feedback2"; + } + ); + systems = [ "cl-glfw-opengl-arb_transform_feedback2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__transpose__matrix = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_transpose_matrix"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_transpose_matrix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_transpose_matrix"; + asd = "cl-glfw-opengl-arb_transpose_matrix"; + } + ); + systems = [ "cl-glfw-opengl-arb_transpose_matrix" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__uniform__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_uniform_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_uniform_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_uniform_buffer_object"; + asd = "cl-glfw-opengl-arb_uniform_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-arb_uniform_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__array__bgra = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_array_bgra"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_array_bgra" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_array_bgra"; + asd = "cl-glfw-opengl-arb_vertex_array_bgra"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_array_bgra" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__array__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_array_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_array_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_array_object"; + asd = "cl-glfw-opengl-arb_vertex_array_object"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_array_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__attrib__64bit = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_attrib_64bit"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_attrib_64bit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_attrib_64bit"; + asd = "cl-glfw-opengl-arb_vertex_attrib_64bit"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_attrib_64bit" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__blend = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_blend"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_blend" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_blend"; + asd = "cl-glfw-opengl-arb_vertex_blend"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_blend" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_buffer_object"; + asd = "cl-glfw-opengl-arb_vertex_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__program = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_program"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_program" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_program"; + asd = "cl-glfw-opengl-arb_vertex_program"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_program" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_shader"; + asd = "cl-glfw-opengl-arb_vertex_shader"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__vertex__type__2__10__10__10__rev = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev"; + asd = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev"; + } + ); + systems = [ "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__viewport__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_viewport_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_viewport_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_viewport_array"; + asd = "cl-glfw-opengl-arb_viewport_array"; + } + ); + systems = [ "cl-glfw-opengl-arb_viewport_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-arb__window__pos = ( + build-asdf-system { + pname = "cl-glfw-opengl-arb_window_pos"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-arb_window_pos" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-arb_window_pos"; + asd = "cl-glfw-opengl-arb_window_pos"; + } + ); + systems = [ "cl-glfw-opengl-arb_window_pos" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__draw__buffers = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_draw_buffers"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_draw_buffers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_draw_buffers"; + asd = "cl-glfw-opengl-ati_draw_buffers"; + } + ); + systems = [ "cl-glfw-opengl-ati_draw_buffers" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__element__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_element_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_element_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_element_array"; + asd = "cl-glfw-opengl-ati_element_array"; + } + ); + systems = [ "cl-glfw-opengl-ati_element_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__envmap__bumpmap = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_envmap_bumpmap"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_envmap_bumpmap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_envmap_bumpmap"; + asd = "cl-glfw-opengl-ati_envmap_bumpmap"; + } + ); + systems = [ "cl-glfw-opengl-ati_envmap_bumpmap" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__fragment__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_fragment_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_fragment_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_fragment_shader"; + asd = "cl-glfw-opengl-ati_fragment_shader"; + } + ); + systems = [ "cl-glfw-opengl-ati_fragment_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__map__object__buffer = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_map_object_buffer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_map_object_buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_map_object_buffer"; + asd = "cl-glfw-opengl-ati_map_object_buffer"; + } + ); + systems = [ "cl-glfw-opengl-ati_map_object_buffer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__meminfo = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_meminfo"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_meminfo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_meminfo"; + asd = "cl-glfw-opengl-ati_meminfo"; + } + ); + systems = [ "cl-glfw-opengl-ati_meminfo" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__pixel__format__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_pixel_format_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_pixel_format_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_pixel_format_float"; + asd = "cl-glfw-opengl-ati_pixel_format_float"; + } + ); + systems = [ "cl-glfw-opengl-ati_pixel_format_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__pn__triangles = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_pn_triangles"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_pn_triangles" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_pn_triangles"; + asd = "cl-glfw-opengl-ati_pn_triangles"; + } + ); + systems = [ "cl-glfw-opengl-ati_pn_triangles" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__separate__stencil = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_separate_stencil"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_separate_stencil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_separate_stencil"; + asd = "cl-glfw-opengl-ati_separate_stencil"; + } + ); + systems = [ "cl-glfw-opengl-ati_separate_stencil" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__text__fragment__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_text_fragment_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_text_fragment_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_text_fragment_shader"; + asd = "cl-glfw-opengl-ati_text_fragment_shader"; + } + ); + systems = [ "cl-glfw-opengl-ati_text_fragment_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__texture__env__combine3 = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_texture_env_combine3"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_texture_env_combine3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_texture_env_combine3"; + asd = "cl-glfw-opengl-ati_texture_env_combine3"; + } + ); + systems = [ "cl-glfw-opengl-ati_texture_env_combine3" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__texture__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_texture_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_texture_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_texture_float"; + asd = "cl-glfw-opengl-ati_texture_float"; + } + ); + systems = [ "cl-glfw-opengl-ati_texture_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__texture__mirror__once = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_texture_mirror_once"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_texture_mirror_once" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_texture_mirror_once"; + asd = "cl-glfw-opengl-ati_texture_mirror_once"; + } + ); + systems = [ "cl-glfw-opengl-ati_texture_mirror_once" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__vertex__array__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_vertex_array_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_vertex_array_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_vertex_array_object"; + asd = "cl-glfw-opengl-ati_vertex_array_object"; + } + ); + systems = [ "cl-glfw-opengl-ati_vertex_array_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__vertex__attrib__array__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_vertex_attrib_array_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_vertex_attrib_array_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_vertex_attrib_array_object"; + asd = "cl-glfw-opengl-ati_vertex_attrib_array_object"; + } + ); + systems = [ "cl-glfw-opengl-ati_vertex_attrib_array_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ati__vertex__streams = ( + build-asdf-system { + pname = "cl-glfw-opengl-ati_vertex_streams"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ati_vertex_streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ati_vertex_streams"; + asd = "cl-glfw-opengl-ati_vertex_streams"; + } + ); + systems = [ "cl-glfw-opengl-ati_vertex_streams" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-core = ( + build-asdf-system { + pname = "cl-glfw-opengl-core"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-core"; + asd = "cl-glfw-opengl-core"; + } + ); + systems = [ "cl-glfw-opengl-core" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-glfw-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__422__pixels = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_422_pixels"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_422_pixels" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_422_pixels"; + asd = "cl-glfw-opengl-ext_422_pixels"; + } + ); + systems = [ "cl-glfw-opengl-ext_422_pixels" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__abgr = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_abgr"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_abgr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_abgr"; + asd = "cl-glfw-opengl-ext_abgr"; + } + ); + systems = [ "cl-glfw-opengl-ext_abgr" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__bgra = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_bgra"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_bgra" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_bgra"; + asd = "cl-glfw-opengl-ext_bgra"; + } + ); + systems = [ "cl-glfw-opengl-ext_bgra" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__bindable__uniform = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_bindable_uniform"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_bindable_uniform" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_bindable_uniform"; + asd = "cl-glfw-opengl-ext_bindable_uniform"; + } + ); + systems = [ "cl-glfw-opengl-ext_bindable_uniform" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__blend__color = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_blend_color"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_blend_color" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_blend_color"; + asd = "cl-glfw-opengl-ext_blend_color"; + } + ); + systems = [ "cl-glfw-opengl-ext_blend_color" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__blend__equation__separate = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_blend_equation_separate"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_blend_equation_separate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_blend_equation_separate"; + asd = "cl-glfw-opengl-ext_blend_equation_separate"; + } + ); + systems = [ "cl-glfw-opengl-ext_blend_equation_separate" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__blend__func__separate = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_blend_func_separate"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_blend_func_separate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_blend_func_separate"; + asd = "cl-glfw-opengl-ext_blend_func_separate"; + } + ); + systems = [ "cl-glfw-opengl-ext_blend_func_separate" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__blend__minmax = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_blend_minmax"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_blend_minmax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_blend_minmax"; + asd = "cl-glfw-opengl-ext_blend_minmax"; + } + ); + systems = [ "cl-glfw-opengl-ext_blend_minmax" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__blend__subtract = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_blend_subtract"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_blend_subtract" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_blend_subtract"; + asd = "cl-glfw-opengl-ext_blend_subtract"; + } + ); + systems = [ "cl-glfw-opengl-ext_blend_subtract" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__clip__volume__hint = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_clip_volume_hint"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_clip_volume_hint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_clip_volume_hint"; + asd = "cl-glfw-opengl-ext_clip_volume_hint"; + } + ); + systems = [ "cl-glfw-opengl-ext_clip_volume_hint" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__cmyka = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_cmyka"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_cmyka" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_cmyka"; + asd = "cl-glfw-opengl-ext_cmyka"; + } + ); + systems = [ "cl-glfw-opengl-ext_cmyka" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__color__subtable = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_color_subtable"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_color_subtable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_color_subtable"; + asd = "cl-glfw-opengl-ext_color_subtable"; + } + ); + systems = [ "cl-glfw-opengl-ext_color_subtable" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__compiled__vertex__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_compiled_vertex_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_compiled_vertex_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_compiled_vertex_array"; + asd = "cl-glfw-opengl-ext_compiled_vertex_array"; + } + ); + systems = [ "cl-glfw-opengl-ext_compiled_vertex_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__convolution = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_convolution"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_convolution" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_convolution"; + asd = "cl-glfw-opengl-ext_convolution"; + } + ); + systems = [ "cl-glfw-opengl-ext_convolution" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__coordinate__frame = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_coordinate_frame"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_coordinate_frame" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_coordinate_frame"; + asd = "cl-glfw-opengl-ext_coordinate_frame"; + } + ); + systems = [ "cl-glfw-opengl-ext_coordinate_frame" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__copy__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_copy_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_copy_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_copy_texture"; + asd = "cl-glfw-opengl-ext_copy_texture"; + } + ); + systems = [ "cl-glfw-opengl-ext_copy_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__cull__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_cull_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_cull_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_cull_vertex"; + asd = "cl-glfw-opengl-ext_cull_vertex"; + } + ); + systems = [ "cl-glfw-opengl-ext_cull_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__depth__bounds__test = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_depth_bounds_test"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_depth_bounds_test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_depth_bounds_test"; + asd = "cl-glfw-opengl-ext_depth_bounds_test"; + } + ); + systems = [ "cl-glfw-opengl-ext_depth_bounds_test" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__direct__state__access = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_direct_state_access"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_direct_state_access" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_direct_state_access"; + asd = "cl-glfw-opengl-ext_direct_state_access"; + } + ); + systems = [ "cl-glfw-opengl-ext_direct_state_access" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__draw__buffers2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_draw_buffers2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_draw_buffers2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_draw_buffers2"; + asd = "cl-glfw-opengl-ext_draw_buffers2"; + } + ); + systems = [ "cl-glfw-opengl-ext_draw_buffers2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__draw__instanced = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_draw_instanced"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_draw_instanced" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_draw_instanced"; + asd = "cl-glfw-opengl-ext_draw_instanced"; + } + ); + systems = [ "cl-glfw-opengl-ext_draw_instanced" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__draw__range__elements = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_draw_range_elements"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_draw_range_elements" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_draw_range_elements"; + asd = "cl-glfw-opengl-ext_draw_range_elements"; + } + ); + systems = [ "cl-glfw-opengl-ext_draw_range_elements" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__fog__coord = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_fog_coord"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_fog_coord" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_fog_coord"; + asd = "cl-glfw-opengl-ext_fog_coord"; + } + ); + systems = [ "cl-glfw-opengl-ext_fog_coord" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__framebuffer__blit = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_framebuffer_blit"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_framebuffer_blit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_framebuffer_blit"; + asd = "cl-glfw-opengl-ext_framebuffer_blit"; + } + ); + systems = [ "cl-glfw-opengl-ext_framebuffer_blit" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__framebuffer__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_framebuffer_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_framebuffer_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_framebuffer_multisample"; + asd = "cl-glfw-opengl-ext_framebuffer_multisample"; + } + ); + systems = [ "cl-glfw-opengl-ext_framebuffer_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__framebuffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_framebuffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_framebuffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_framebuffer_object"; + asd = "cl-glfw-opengl-ext_framebuffer_object"; + } + ); + systems = [ "cl-glfw-opengl-ext_framebuffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__framebuffer__srgb = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_framebuffer_srgb"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_framebuffer_srgb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_framebuffer_srgb"; + asd = "cl-glfw-opengl-ext_framebuffer_srgb"; + } + ); + systems = [ "cl-glfw-opengl-ext_framebuffer_srgb" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__geometry__shader4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_geometry_shader4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_geometry_shader4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_geometry_shader4"; + asd = "cl-glfw-opengl-ext_geometry_shader4"; + } + ); + systems = [ "cl-glfw-opengl-ext_geometry_shader4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__gpu__program__parameters = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_gpu_program_parameters"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_gpu_program_parameters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_gpu_program_parameters"; + asd = "cl-glfw-opengl-ext_gpu_program_parameters"; + } + ); + systems = [ "cl-glfw-opengl-ext_gpu_program_parameters" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__gpu__shader4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_gpu_shader4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_gpu_shader4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_gpu_shader4"; + asd = "cl-glfw-opengl-ext_gpu_shader4"; + } + ); + systems = [ "cl-glfw-opengl-ext_gpu_shader4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__histogram = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_histogram"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_histogram" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_histogram"; + asd = "cl-glfw-opengl-ext_histogram"; + } + ); + systems = [ "cl-glfw-opengl-ext_histogram" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__index__array__formats = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_index_array_formats"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_index_array_formats" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_index_array_formats"; + asd = "cl-glfw-opengl-ext_index_array_formats"; + } + ); + systems = [ "cl-glfw-opengl-ext_index_array_formats" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__index__func = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_index_func"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_index_func" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_index_func"; + asd = "cl-glfw-opengl-ext_index_func"; + } + ); + systems = [ "cl-glfw-opengl-ext_index_func" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__index__material = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_index_material"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_index_material" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_index_material"; + asd = "cl-glfw-opengl-ext_index_material"; + } + ); + systems = [ "cl-glfw-opengl-ext_index_material" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__light__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_light_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_light_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_light_texture"; + asd = "cl-glfw-opengl-ext_light_texture"; + } + ); + systems = [ "cl-glfw-opengl-ext_light_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__multi__draw__arrays = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_multi_draw_arrays"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_multi_draw_arrays" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_multi_draw_arrays"; + asd = "cl-glfw-opengl-ext_multi_draw_arrays"; + } + ); + systems = [ "cl-glfw-opengl-ext_multi_draw_arrays" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_multisample"; + asd = "cl-glfw-opengl-ext_multisample"; + } + ); + systems = [ "cl-glfw-opengl-ext_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__packed__depth__stencil = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_packed_depth_stencil"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_packed_depth_stencil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_packed_depth_stencil"; + asd = "cl-glfw-opengl-ext_packed_depth_stencil"; + } + ); + systems = [ "cl-glfw-opengl-ext_packed_depth_stencil" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__packed__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_packed_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_packed_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_packed_float"; + asd = "cl-glfw-opengl-ext_packed_float"; + } + ); + systems = [ "cl-glfw-opengl-ext_packed_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__packed__pixels = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_packed_pixels"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_packed_pixels" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_packed_pixels"; + asd = "cl-glfw-opengl-ext_packed_pixels"; + } + ); + systems = [ "cl-glfw-opengl-ext_packed_pixels" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__paletted__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_paletted_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_paletted_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_paletted_texture"; + asd = "cl-glfw-opengl-ext_paletted_texture"; + } + ); + systems = [ "cl-glfw-opengl-ext_paletted_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__pixel__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_pixel_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_pixel_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_pixel_buffer_object"; + asd = "cl-glfw-opengl-ext_pixel_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-ext_pixel_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__pixel__transform = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_pixel_transform"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_pixel_transform" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_pixel_transform"; + asd = "cl-glfw-opengl-ext_pixel_transform"; + } + ); + systems = [ "cl-glfw-opengl-ext_pixel_transform" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__point__parameters = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_point_parameters"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_point_parameters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_point_parameters"; + asd = "cl-glfw-opengl-ext_point_parameters"; + } + ); + systems = [ "cl-glfw-opengl-ext_point_parameters" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__polygon__offset = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_polygon_offset"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_polygon_offset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_polygon_offset"; + asd = "cl-glfw-opengl-ext_polygon_offset"; + } + ); + systems = [ "cl-glfw-opengl-ext_polygon_offset" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__provoking__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_provoking_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_provoking_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_provoking_vertex"; + asd = "cl-glfw-opengl-ext_provoking_vertex"; + } + ); + systems = [ "cl-glfw-opengl-ext_provoking_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__secondary__color = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_secondary_color"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_secondary_color" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_secondary_color"; + asd = "cl-glfw-opengl-ext_secondary_color"; + } + ); + systems = [ "cl-glfw-opengl-ext_secondary_color" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__separate__shader__objects = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_separate_shader_objects"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_separate_shader_objects" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_separate_shader_objects"; + asd = "cl-glfw-opengl-ext_separate_shader_objects"; + } + ); + systems = [ "cl-glfw-opengl-ext_separate_shader_objects" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__separate__specular__color = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_separate_specular_color"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_separate_specular_color" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_separate_specular_color"; + asd = "cl-glfw-opengl-ext_separate_specular_color"; + } + ); + systems = [ "cl-glfw-opengl-ext_separate_specular_color" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__shader__image__load__store = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_shader_image_load_store"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_shader_image_load_store" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_shader_image_load_store"; + asd = "cl-glfw-opengl-ext_shader_image_load_store"; + } + ); + systems = [ "cl-glfw-opengl-ext_shader_image_load_store" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__stencil__clear__tag = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_stencil_clear_tag"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_stencil_clear_tag" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_stencil_clear_tag"; + asd = "cl-glfw-opengl-ext_stencil_clear_tag"; + } + ); + systems = [ "cl-glfw-opengl-ext_stencil_clear_tag" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__stencil__two__side = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_stencil_two_side"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_stencil_two_side" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_stencil_two_side"; + asd = "cl-glfw-opengl-ext_stencil_two_side"; + } + ); + systems = [ "cl-glfw-opengl-ext_stencil_two_side" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__stencil__wrap = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_stencil_wrap"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_stencil_wrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_stencil_wrap"; + asd = "cl-glfw-opengl-ext_stencil_wrap"; + } + ); + systems = [ "cl-glfw-opengl-ext_stencil_wrap" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__subtexture = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_subtexture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_subtexture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_subtexture"; + asd = "cl-glfw-opengl-ext_subtexture"; + } + ); + systems = [ "cl-glfw-opengl-ext_subtexture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture"; + asd = "cl-glfw-opengl-ext_texture"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture3d = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture3d"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture3d" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture3d"; + asd = "cl-glfw-opengl-ext_texture3d"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture3d" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_array"; + asd = "cl-glfw-opengl-ext_texture_array"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_buffer_object"; + asd = "cl-glfw-opengl-ext_texture_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__compression__latc = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_compression_latc"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_compression_latc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_compression_latc"; + asd = "cl-glfw-opengl-ext_texture_compression_latc"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_compression_latc" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__compression__rgtc = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_compression_rgtc"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_compression_rgtc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_compression_rgtc"; + asd = "cl-glfw-opengl-ext_texture_compression_rgtc"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_compression_rgtc" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__compression__s3tc = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_compression_s3tc"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_compression_s3tc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_compression_s3tc"; + asd = "cl-glfw-opengl-ext_texture_compression_s3tc"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_compression_s3tc" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__cube__map = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_cube_map"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_cube_map" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_cube_map"; + asd = "cl-glfw-opengl-ext_texture_cube_map"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_cube_map" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__env__combine = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_env_combine"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_env_combine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_env_combine"; + asd = "cl-glfw-opengl-ext_texture_env_combine"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_env_combine" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__env__dot3 = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_env_dot3"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_env_dot3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_env_dot3"; + asd = "cl-glfw-opengl-ext_texture_env_dot3"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_env_dot3" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__filter__anisotropic = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_filter_anisotropic"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_filter_anisotropic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_filter_anisotropic"; + asd = "cl-glfw-opengl-ext_texture_filter_anisotropic"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_filter_anisotropic" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__integer = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_integer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_integer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_integer"; + asd = "cl-glfw-opengl-ext_texture_integer"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_integer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__lod__bias = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_lod_bias"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_lod_bias" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_lod_bias"; + asd = "cl-glfw-opengl-ext_texture_lod_bias"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_lod_bias" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__mirror__clamp = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_mirror_clamp"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_mirror_clamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_mirror_clamp"; + asd = "cl-glfw-opengl-ext_texture_mirror_clamp"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_mirror_clamp" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_object"; + asd = "cl-glfw-opengl-ext_texture_object"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__perturb__normal = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_perturb_normal"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_perturb_normal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_perturb_normal"; + asd = "cl-glfw-opengl-ext_texture_perturb_normal"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_perturb_normal" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__shared__exponent = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_shared_exponent"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_shared_exponent" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_shared_exponent"; + asd = "cl-glfw-opengl-ext_texture_shared_exponent"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_shared_exponent" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__snorm = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_snorm"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_snorm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_snorm"; + asd = "cl-glfw-opengl-ext_texture_snorm"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_snorm" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__srgb = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_srgb"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_srgb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_srgb"; + asd = "cl-glfw-opengl-ext_texture_srgb"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_srgb" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__srgb__decode = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_srgb_decode"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_srgb_decode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_srgb_decode"; + asd = "cl-glfw-opengl-ext_texture_srgb_decode"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_srgb_decode" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__texture__swizzle = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_texture_swizzle"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_texture_swizzle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_texture_swizzle"; + asd = "cl-glfw-opengl-ext_texture_swizzle"; + } + ); + systems = [ "cl-glfw-opengl-ext_texture_swizzle" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__timer__query = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_timer_query"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_timer_query" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_timer_query"; + asd = "cl-glfw-opengl-ext_timer_query"; + } + ); + systems = [ "cl-glfw-opengl-ext_timer_query" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__transform__feedback = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_transform_feedback"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_transform_feedback" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_transform_feedback"; + asd = "cl-glfw-opengl-ext_transform_feedback"; + } + ); + systems = [ "cl-glfw-opengl-ext_transform_feedback" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__vertex__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_vertex_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_vertex_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_vertex_array"; + asd = "cl-glfw-opengl-ext_vertex_array"; + } + ); + systems = [ "cl-glfw-opengl-ext_vertex_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__vertex__array__bgra = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_vertex_array_bgra"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_vertex_array_bgra" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_vertex_array_bgra"; + asd = "cl-glfw-opengl-ext_vertex_array_bgra"; + } + ); + systems = [ "cl-glfw-opengl-ext_vertex_array_bgra" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__vertex__attrib__64bit = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_vertex_attrib_64bit"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_vertex_attrib_64bit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_vertex_attrib_64bit"; + asd = "cl-glfw-opengl-ext_vertex_attrib_64bit"; + } + ); + systems = [ "cl-glfw-opengl-ext_vertex_attrib_64bit" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__vertex__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_vertex_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_vertex_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_vertex_shader"; + asd = "cl-glfw-opengl-ext_vertex_shader"; + } + ); + systems = [ "cl-glfw-opengl-ext_vertex_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ext__vertex__weighting = ( + build-asdf-system { + pname = "cl-glfw-opengl-ext_vertex_weighting"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ext_vertex_weighting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ext_vertex_weighting"; + asd = "cl-glfw-opengl-ext_vertex_weighting"; + } + ); + systems = [ "cl-glfw-opengl-ext_vertex_weighting" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-gremedy__frame__terminator = ( + build-asdf-system { + pname = "cl-glfw-opengl-gremedy_frame_terminator"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-gremedy_frame_terminator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-gremedy_frame_terminator"; + asd = "cl-glfw-opengl-gremedy_frame_terminator"; + } + ); + systems = [ "cl-glfw-opengl-gremedy_frame_terminator" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-gremedy__string__marker = ( + build-asdf-system { + pname = "cl-glfw-opengl-gremedy_string_marker"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-gremedy_string_marker" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-gremedy_string_marker"; + asd = "cl-glfw-opengl-gremedy_string_marker"; + } + ); + systems = [ "cl-glfw-opengl-gremedy_string_marker" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-hp__convolution__border__modes = ( + build-asdf-system { + pname = "cl-glfw-opengl-hp_convolution_border_modes"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-hp_convolution_border_modes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-hp_convolution_border_modes"; + asd = "cl-glfw-opengl-hp_convolution_border_modes"; + } + ); + systems = [ "cl-glfw-opengl-hp_convolution_border_modes" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-hp__image__transform = ( + build-asdf-system { + pname = "cl-glfw-opengl-hp_image_transform"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-hp_image_transform" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-hp_image_transform"; + asd = "cl-glfw-opengl-hp_image_transform"; + } + ); + systems = [ "cl-glfw-opengl-hp_image_transform" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-hp__occlusion__test = ( + build-asdf-system { + pname = "cl-glfw-opengl-hp_occlusion_test"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-hp_occlusion_test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-hp_occlusion_test"; + asd = "cl-glfw-opengl-hp_occlusion_test"; + } + ); + systems = [ "cl-glfw-opengl-hp_occlusion_test" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-hp__texture__lighting = ( + build-asdf-system { + pname = "cl-glfw-opengl-hp_texture_lighting"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-hp_texture_lighting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-hp_texture_lighting"; + asd = "cl-glfw-opengl-hp_texture_lighting"; + } + ); + systems = [ "cl-glfw-opengl-hp_texture_lighting" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ibm__cull__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-ibm_cull_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ibm_cull_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ibm_cull_vertex"; + asd = "cl-glfw-opengl-ibm_cull_vertex"; + } + ); + systems = [ "cl-glfw-opengl-ibm_cull_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ibm__multimode__draw__arrays = ( + build-asdf-system { + pname = "cl-glfw-opengl-ibm_multimode_draw_arrays"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ibm_multimode_draw_arrays" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ibm_multimode_draw_arrays"; + asd = "cl-glfw-opengl-ibm_multimode_draw_arrays"; + } + ); + systems = [ "cl-glfw-opengl-ibm_multimode_draw_arrays" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ibm__rasterpos__clip = ( + build-asdf-system { + pname = "cl-glfw-opengl-ibm_rasterpos_clip"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ibm_rasterpos_clip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ibm_rasterpos_clip"; + asd = "cl-glfw-opengl-ibm_rasterpos_clip"; + } + ); + systems = [ "cl-glfw-opengl-ibm_rasterpos_clip" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ibm__texture__mirrored__repeat = ( + build-asdf-system { + pname = "cl-glfw-opengl-ibm_texture_mirrored_repeat"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ibm_texture_mirrored_repeat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ibm_texture_mirrored_repeat"; + asd = "cl-glfw-opengl-ibm_texture_mirrored_repeat"; + } + ); + systems = [ "cl-glfw-opengl-ibm_texture_mirrored_repeat" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ibm__vertex__array__lists = ( + build-asdf-system { + pname = "cl-glfw-opengl-ibm_vertex_array_lists"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ibm_vertex_array_lists" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ibm_vertex_array_lists"; + asd = "cl-glfw-opengl-ibm_vertex_array_lists"; + } + ); + systems = [ "cl-glfw-opengl-ibm_vertex_array_lists" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ingr__blend__func__separate = ( + build-asdf-system { + pname = "cl-glfw-opengl-ingr_blend_func_separate"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ingr_blend_func_separate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ingr_blend_func_separate"; + asd = "cl-glfw-opengl-ingr_blend_func_separate"; + } + ); + systems = [ "cl-glfw-opengl-ingr_blend_func_separate" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ingr__color__clamp = ( + build-asdf-system { + pname = "cl-glfw-opengl-ingr_color_clamp"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ingr_color_clamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ingr_color_clamp"; + asd = "cl-glfw-opengl-ingr_color_clamp"; + } + ); + systems = [ "cl-glfw-opengl-ingr_color_clamp" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-ingr__interlace__read = ( + build-asdf-system { + pname = "cl-glfw-opengl-ingr_interlace_read"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-ingr_interlace_read" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-ingr_interlace_read"; + asd = "cl-glfw-opengl-ingr_interlace_read"; + } + ); + systems = [ "cl-glfw-opengl-ingr_interlace_read" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-intel__parallel__arrays = ( + build-asdf-system { + pname = "cl-glfw-opengl-intel_parallel_arrays"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-intel_parallel_arrays" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-intel_parallel_arrays"; + asd = "cl-glfw-opengl-intel_parallel_arrays"; + } + ); + systems = [ "cl-glfw-opengl-intel_parallel_arrays" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__pack__invert = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_pack_invert"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_pack_invert" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_pack_invert"; + asd = "cl-glfw-opengl-mesa_pack_invert"; + } + ); + systems = [ "cl-glfw-opengl-mesa_pack_invert" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__packed__depth__stencil = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_packed_depth_stencil"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_packed_depth_stencil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_packed_depth_stencil"; + asd = "cl-glfw-opengl-mesa_packed_depth_stencil"; + } + ); + systems = [ "cl-glfw-opengl-mesa_packed_depth_stencil" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__program__debug = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_program_debug"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_program_debug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_program_debug"; + asd = "cl-glfw-opengl-mesa_program_debug"; + } + ); + systems = [ "cl-glfw-opengl-mesa_program_debug" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__resize__buffers = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_resize_buffers"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_resize_buffers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_resize_buffers"; + asd = "cl-glfw-opengl-mesa_resize_buffers"; + } + ); + systems = [ "cl-glfw-opengl-mesa_resize_buffers" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__shader__debug = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_shader_debug"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_shader_debug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_shader_debug"; + asd = "cl-glfw-opengl-mesa_shader_debug"; + } + ); + systems = [ "cl-glfw-opengl-mesa_shader_debug" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__trace = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_trace"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_trace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_trace"; + asd = "cl-glfw-opengl-mesa_trace"; + } + ); + systems = [ "cl-glfw-opengl-mesa_trace" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__window__pos = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_window_pos"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_window_pos" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_window_pos"; + asd = "cl-glfw-opengl-mesa_window_pos"; + } + ); + systems = [ "cl-glfw-opengl-mesa_window_pos" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesa__ycbcr__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesa_ycbcr_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesa_ycbcr_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesa_ycbcr_texture"; + asd = "cl-glfw-opengl-mesa_ycbcr_texture"; + } + ); + systems = [ "cl-glfw-opengl-mesa_ycbcr_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-mesax__texture__stack = ( + build-asdf-system { + pname = "cl-glfw-opengl-mesax_texture_stack"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-mesax_texture_stack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-mesax_texture_stack"; + asd = "cl-glfw-opengl-mesax_texture_stack"; + } + ); + systems = [ "cl-glfw-opengl-mesax_texture_stack" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__conditional__render = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_conditional_render"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_conditional_render" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_conditional_render"; + asd = "cl-glfw-opengl-nv_conditional_render"; + } + ); + systems = [ "cl-glfw-opengl-nv_conditional_render" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__copy__depth__to__color = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_copy_depth_to_color"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_copy_depth_to_color" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_copy_depth_to_color"; + asd = "cl-glfw-opengl-nv_copy_depth_to_color"; + } + ); + systems = [ "cl-glfw-opengl-nv_copy_depth_to_color" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__copy__image = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_copy_image"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_copy_image" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_copy_image"; + asd = "cl-glfw-opengl-nv_copy_image"; + } + ); + systems = [ "cl-glfw-opengl-nv_copy_image" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__depth__buffer__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_depth_buffer_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_depth_buffer_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_depth_buffer_float"; + asd = "cl-glfw-opengl-nv_depth_buffer_float"; + } + ); + systems = [ "cl-glfw-opengl-nv_depth_buffer_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__depth__clamp = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_depth_clamp"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_depth_clamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_depth_clamp"; + asd = "cl-glfw-opengl-nv_depth_clamp"; + } + ); + systems = [ "cl-glfw-opengl-nv_depth_clamp" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__evaluators = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_evaluators"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_evaluators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_evaluators"; + asd = "cl-glfw-opengl-nv_evaluators"; + } + ); + systems = [ "cl-glfw-opengl-nv_evaluators" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__explicit__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_explicit_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_explicit_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_explicit_multisample"; + asd = "cl-glfw-opengl-nv_explicit_multisample"; + } + ); + systems = [ "cl-glfw-opengl-nv_explicit_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__fence = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_fence"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_fence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_fence"; + asd = "cl-glfw-opengl-nv_fence"; + } + ); + systems = [ "cl-glfw-opengl-nv_fence" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__float__buffer = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_float_buffer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_float_buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_float_buffer"; + asd = "cl-glfw-opengl-nv_float_buffer"; + } + ); + systems = [ "cl-glfw-opengl-nv_float_buffer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__fog__distance = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_fog_distance"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_fog_distance" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_fog_distance"; + asd = "cl-glfw-opengl-nv_fog_distance"; + } + ); + systems = [ "cl-glfw-opengl-nv_fog_distance" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__fragment__program = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_fragment_program"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_fragment_program" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_fragment_program"; + asd = "cl-glfw-opengl-nv_fragment_program"; + } + ); + systems = [ "cl-glfw-opengl-nv_fragment_program" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__fragment__program2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_fragment_program2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_fragment_program2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_fragment_program2"; + asd = "cl-glfw-opengl-nv_fragment_program2"; + } + ); + systems = [ "cl-glfw-opengl-nv_fragment_program2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__framebuffer__multisample__coverage = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_framebuffer_multisample_coverage"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_framebuffer_multisample_coverage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_framebuffer_multisample_coverage"; + asd = "cl-glfw-opengl-nv_framebuffer_multisample_coverage"; + } + ); + systems = [ "cl-glfw-opengl-nv_framebuffer_multisample_coverage" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__geometry__program4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_geometry_program4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_geometry_program4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_geometry_program4"; + asd = "cl-glfw-opengl-nv_geometry_program4"; + } + ); + systems = [ "cl-glfw-opengl-nv_geometry_program4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__gpu__program4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_gpu_program4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_gpu_program4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_gpu_program4"; + asd = "cl-glfw-opengl-nv_gpu_program4"; + } + ); + systems = [ "cl-glfw-opengl-nv_gpu_program4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__gpu__program5 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_gpu_program5"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_gpu_program5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_gpu_program5"; + asd = "cl-glfw-opengl-nv_gpu_program5"; + } + ); + systems = [ "cl-glfw-opengl-nv_gpu_program5" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__gpu__shader5 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_gpu_shader5"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_gpu_shader5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_gpu_shader5"; + asd = "cl-glfw-opengl-nv_gpu_shader5"; + } + ); + systems = [ "cl-glfw-opengl-nv_gpu_shader5" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__half__float = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_half_float"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_half_float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_half_float"; + asd = "cl-glfw-opengl-nv_half_float"; + } + ); + systems = [ "cl-glfw-opengl-nv_half_float" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__light__max__exponent = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_light_max_exponent"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_light_max_exponent" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_light_max_exponent"; + asd = "cl-glfw-opengl-nv_light_max_exponent"; + } + ); + systems = [ "cl-glfw-opengl-nv_light_max_exponent" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__multisample__coverage = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_multisample_coverage"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_multisample_coverage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_multisample_coverage"; + asd = "cl-glfw-opengl-nv_multisample_coverage"; + } + ); + systems = [ "cl-glfw-opengl-nv_multisample_coverage" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__multisample__filter__hint = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_multisample_filter_hint"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_multisample_filter_hint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_multisample_filter_hint"; + asd = "cl-glfw-opengl-nv_multisample_filter_hint"; + } + ); + systems = [ "cl-glfw-opengl-nv_multisample_filter_hint" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__occlusion__query = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_occlusion_query"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_occlusion_query" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_occlusion_query"; + asd = "cl-glfw-opengl-nv_occlusion_query"; + } + ); + systems = [ "cl-glfw-opengl-nv_occlusion_query" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__packed__depth__stencil = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_packed_depth_stencil"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_packed_depth_stencil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_packed_depth_stencil"; + asd = "cl-glfw-opengl-nv_packed_depth_stencil"; + } + ); + systems = [ "cl-glfw-opengl-nv_packed_depth_stencil" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__parameter__buffer__object = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_parameter_buffer_object"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_parameter_buffer_object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_parameter_buffer_object"; + asd = "cl-glfw-opengl-nv_parameter_buffer_object"; + } + ); + systems = [ "cl-glfw-opengl-nv_parameter_buffer_object" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__pixel__data__range = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_pixel_data_range"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_pixel_data_range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_pixel_data_range"; + asd = "cl-glfw-opengl-nv_pixel_data_range"; + } + ); + systems = [ "cl-glfw-opengl-nv_pixel_data_range" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__point__sprite = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_point_sprite"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_point_sprite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_point_sprite"; + asd = "cl-glfw-opengl-nv_point_sprite"; + } + ); + systems = [ "cl-glfw-opengl-nv_point_sprite" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__present__video = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_present_video"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_present_video" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_present_video"; + asd = "cl-glfw-opengl-nv_present_video"; + } + ); + systems = [ "cl-glfw-opengl-nv_present_video" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__primitive__restart = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_primitive_restart"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_primitive_restart" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_primitive_restart"; + asd = "cl-glfw-opengl-nv_primitive_restart"; + } + ); + systems = [ "cl-glfw-opengl-nv_primitive_restart" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__register__combiners = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_register_combiners"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_register_combiners" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_register_combiners"; + asd = "cl-glfw-opengl-nv_register_combiners"; + } + ); + systems = [ "cl-glfw-opengl-nv_register_combiners" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__register__combiners2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_register_combiners2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_register_combiners2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_register_combiners2"; + asd = "cl-glfw-opengl-nv_register_combiners2"; + } + ); + systems = [ "cl-glfw-opengl-nv_register_combiners2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__shader__buffer__load = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_shader_buffer_load"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_shader_buffer_load" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_shader_buffer_load"; + asd = "cl-glfw-opengl-nv_shader_buffer_load"; + } + ); + systems = [ "cl-glfw-opengl-nv_shader_buffer_load" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__shader__buffer__store = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_shader_buffer_store"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_shader_buffer_store" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_shader_buffer_store"; + asd = "cl-glfw-opengl-nv_shader_buffer_store"; + } + ); + systems = [ "cl-glfw-opengl-nv_shader_buffer_store" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__tessellation__program5 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_tessellation_program5"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_tessellation_program5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_tessellation_program5"; + asd = "cl-glfw-opengl-nv_tessellation_program5"; + } + ); + systems = [ "cl-glfw-opengl-nv_tessellation_program5" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texgen__emboss = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texgen_emboss"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texgen_emboss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texgen_emboss"; + asd = "cl-glfw-opengl-nv_texgen_emboss"; + } + ); + systems = [ "cl-glfw-opengl-nv_texgen_emboss" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texgen__reflection = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texgen_reflection"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texgen_reflection" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texgen_reflection"; + asd = "cl-glfw-opengl-nv_texgen_reflection"; + } + ); + systems = [ "cl-glfw-opengl-nv_texgen_reflection" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__barrier = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_barrier"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_barrier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_barrier"; + asd = "cl-glfw-opengl-nv_texture_barrier"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_barrier" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__env__combine4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_env_combine4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_env_combine4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_env_combine4"; + asd = "cl-glfw-opengl-nv_texture_env_combine4"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_env_combine4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__expand__normal = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_expand_normal"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_expand_normal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_expand_normal"; + asd = "cl-glfw-opengl-nv_texture_expand_normal"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_expand_normal" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_multisample"; + asd = "cl-glfw-opengl-nv_texture_multisample"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__rectangle = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_rectangle"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_rectangle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_rectangle"; + asd = "cl-glfw-opengl-nv_texture_rectangle"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_rectangle" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__shader = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_shader"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_shader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_shader"; + asd = "cl-glfw-opengl-nv_texture_shader"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_shader" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__shader2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_shader2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_shader2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_shader2"; + asd = "cl-glfw-opengl-nv_texture_shader2"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_shader2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__texture__shader3 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_texture_shader3"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_texture_shader3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_texture_shader3"; + asd = "cl-glfw-opengl-nv_texture_shader3"; + } + ); + systems = [ "cl-glfw-opengl-nv_texture_shader3" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__transform__feedback = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_transform_feedback"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_transform_feedback" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_transform_feedback"; + asd = "cl-glfw-opengl-nv_transform_feedback"; + } + ); + systems = [ "cl-glfw-opengl-nv_transform_feedback" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__transform__feedback2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_transform_feedback2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_transform_feedback2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_transform_feedback2"; + asd = "cl-glfw-opengl-nv_transform_feedback2"; + } + ); + systems = [ "cl-glfw-opengl-nv_transform_feedback2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__array__range = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_array_range"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_array_range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_array_range"; + asd = "cl-glfw-opengl-nv_vertex_array_range"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_array_range" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__array__range2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_array_range2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_array_range2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_array_range2"; + asd = "cl-glfw-opengl-nv_vertex_array_range2"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_array_range2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__attrib__integer__64bit = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_attrib_integer_64bit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit"; + asd = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_attrib_integer_64bit" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__buffer__unified__memory = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_buffer_unified_memory"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_buffer_unified_memory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_buffer_unified_memory"; + asd = "cl-glfw-opengl-nv_vertex_buffer_unified_memory"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_buffer_unified_memory" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__program = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_program"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_program" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_program"; + asd = "cl-glfw-opengl-nv_vertex_program"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_program" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__program2__option = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_program2_option"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_program2_option" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_program2_option"; + asd = "cl-glfw-opengl-nv_vertex_program2_option"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_program2_option" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__program3 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_program3"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_program3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_program3"; + asd = "cl-glfw-opengl-nv_vertex_program3"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_program3" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-nv__vertex__program4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-nv_vertex_program4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-nv_vertex_program4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-nv_vertex_program4"; + asd = "cl-glfw-opengl-nv_vertex_program4"; + } + ); + systems = [ "cl-glfw-opengl-nv_vertex_program4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-oes__read__format = ( + build-asdf-system { + pname = "cl-glfw-opengl-oes_read_format"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-oes_read_format" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-oes_read_format"; + asd = "cl-glfw-opengl-oes_read_format"; + } + ); + systems = [ "cl-glfw-opengl-oes_read_format" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-oml__interlace = ( + build-asdf-system { + pname = "cl-glfw-opengl-oml_interlace"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-oml_interlace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-oml_interlace"; + asd = "cl-glfw-opengl-oml_interlace"; + } + ); + systems = [ "cl-glfw-opengl-oml_interlace" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-oml__resample = ( + build-asdf-system { + pname = "cl-glfw-opengl-oml_resample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-oml_resample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-oml_resample"; + asd = "cl-glfw-opengl-oml_resample"; + } + ); + systems = [ "cl-glfw-opengl-oml_resample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-oml__subsample = ( + build-asdf-system { + pname = "cl-glfw-opengl-oml_subsample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-oml_subsample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-oml_subsample"; + asd = "cl-glfw-opengl-oml_subsample"; + } + ); + systems = [ "cl-glfw-opengl-oml_subsample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-pgi__misc__hints = ( + build-asdf-system { + pname = "cl-glfw-opengl-pgi_misc_hints"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-pgi_misc_hints" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-pgi_misc_hints"; + asd = "cl-glfw-opengl-pgi_misc_hints"; + } + ); + systems = [ "cl-glfw-opengl-pgi_misc_hints" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-pgi__vertex__hints = ( + build-asdf-system { + pname = "cl-glfw-opengl-pgi_vertex_hints"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-pgi_vertex_hints" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-pgi_vertex_hints"; + asd = "cl-glfw-opengl-pgi_vertex_hints"; + } + ); + systems = [ "cl-glfw-opengl-pgi_vertex_hints" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-rend__screen__coordinates = ( + build-asdf-system { + pname = "cl-glfw-opengl-rend_screen_coordinates"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-rend_screen_coordinates" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-rend_screen_coordinates"; + asd = "cl-glfw-opengl-rend_screen_coordinates"; + } + ); + systems = [ "cl-glfw-opengl-rend_screen_coordinates" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-s3__s3tc = ( + build-asdf-system { + pname = "cl-glfw-opengl-s3_s3tc"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-s3_s3tc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-s3_s3tc"; + asd = "cl-glfw-opengl-s3_s3tc"; + } + ); + systems = [ "cl-glfw-opengl-s3_s3tc" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgi__color__table = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgi_color_table"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgi_color_table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgi_color_table"; + asd = "cl-glfw-opengl-sgi_color_table"; + } + ); + systems = [ "cl-glfw-opengl-sgi_color_table" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgi__depth__pass__instrument = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgi_depth_pass_instrument"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgi_depth_pass_instrument" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgi_depth_pass_instrument"; + asd = "cl-glfw-opengl-sgi_depth_pass_instrument"; + } + ); + systems = [ "cl-glfw-opengl-sgi_depth_pass_instrument" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__detail__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_detail_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_detail_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_detail_texture"; + asd = "cl-glfw-opengl-sgis_detail_texture"; + } + ); + systems = [ "cl-glfw-opengl-sgis_detail_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__fog__function = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_fog_function"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_fog_function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_fog_function"; + asd = "cl-glfw-opengl-sgis_fog_function"; + } + ); + systems = [ "cl-glfw-opengl-sgis_fog_function" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__multisample = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_multisample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_multisample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_multisample"; + asd = "cl-glfw-opengl-sgis_multisample"; + } + ); + systems = [ "cl-glfw-opengl-sgis_multisample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__pixel__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_pixel_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_pixel_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_pixel_texture"; + asd = "cl-glfw-opengl-sgis_pixel_texture"; + } + ); + systems = [ "cl-glfw-opengl-sgis_pixel_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__point__parameters = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_point_parameters"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_point_parameters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_point_parameters"; + asd = "cl-glfw-opengl-sgis_point_parameters"; + } + ); + systems = [ "cl-glfw-opengl-sgis_point_parameters" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__sharpen__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_sharpen_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_sharpen_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_sharpen_texture"; + asd = "cl-glfw-opengl-sgis_sharpen_texture"; + } + ); + systems = [ "cl-glfw-opengl-sgis_sharpen_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__texture4d = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_texture4d"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_texture4d" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_texture4d"; + asd = "cl-glfw-opengl-sgis_texture4d"; + } + ); + systems = [ "cl-glfw-opengl-sgis_texture4d" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__texture__color__mask = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_texture_color_mask"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_texture_color_mask" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_texture_color_mask"; + asd = "cl-glfw-opengl-sgis_texture_color_mask"; + } + ); + systems = [ "cl-glfw-opengl-sgis_texture_color_mask" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__texture__filter4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_texture_filter4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_texture_filter4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_texture_filter4"; + asd = "cl-glfw-opengl-sgis_texture_filter4"; + } + ); + systems = [ "cl-glfw-opengl-sgis_texture_filter4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgis__texture__select = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgis_texture_select"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgis_texture_select" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgis_texture_select"; + asd = "cl-glfw-opengl-sgis_texture_select"; + } + ); + systems = [ "cl-glfw-opengl-sgis_texture_select" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__async = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_async"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_async" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_async"; + asd = "cl-glfw-opengl-sgix_async"; + } + ); + systems = [ "cl-glfw-opengl-sgix_async" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__depth__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_depth_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_depth_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_depth_texture"; + asd = "cl-glfw-opengl-sgix_depth_texture"; + } + ); + systems = [ "cl-glfw-opengl-sgix_depth_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__flush__raster = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_flush_raster"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_flush_raster" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_flush_raster"; + asd = "cl-glfw-opengl-sgix_flush_raster"; + } + ); + systems = [ "cl-glfw-opengl-sgix_flush_raster" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__fog__scale = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_fog_scale"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_fog_scale" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_fog_scale"; + asd = "cl-glfw-opengl-sgix_fog_scale"; + } + ); + systems = [ "cl-glfw-opengl-sgix_fog_scale" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__fragment__lighting = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_fragment_lighting"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_fragment_lighting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_fragment_lighting"; + asd = "cl-glfw-opengl-sgix_fragment_lighting"; + } + ); + systems = [ "cl-glfw-opengl-sgix_fragment_lighting" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__framezoom = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_framezoom"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_framezoom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_framezoom"; + asd = "cl-glfw-opengl-sgix_framezoom"; + } + ); + systems = [ "cl-glfw-opengl-sgix_framezoom" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__igloo__interface = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_igloo_interface"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_igloo_interface" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_igloo_interface"; + asd = "cl-glfw-opengl-sgix_igloo_interface"; + } + ); + systems = [ "cl-glfw-opengl-sgix_igloo_interface" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__instruments = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_instruments"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_instruments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_instruments"; + asd = "cl-glfw-opengl-sgix_instruments"; + } + ); + systems = [ "cl-glfw-opengl-sgix_instruments" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__line__quality__hint = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_line_quality_hint"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_line_quality_hint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_line_quality_hint"; + asd = "cl-glfw-opengl-sgix_line_quality_hint"; + } + ); + systems = [ "cl-glfw-opengl-sgix_line_quality_hint" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__list__priority = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_list_priority"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_list_priority" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_list_priority"; + asd = "cl-glfw-opengl-sgix_list_priority"; + } + ); + systems = [ "cl-glfw-opengl-sgix_list_priority" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__pixel__texture = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_pixel_texture"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_pixel_texture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_pixel_texture"; + asd = "cl-glfw-opengl-sgix_pixel_texture"; + } + ); + systems = [ "cl-glfw-opengl-sgix_pixel_texture" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__polynomial__ffd = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_polynomial_ffd"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_polynomial_ffd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_polynomial_ffd"; + asd = "cl-glfw-opengl-sgix_polynomial_ffd"; + } + ); + systems = [ "cl-glfw-opengl-sgix_polynomial_ffd" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__reference__plane = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_reference_plane"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_reference_plane" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_reference_plane"; + asd = "cl-glfw-opengl-sgix_reference_plane"; + } + ); + systems = [ "cl-glfw-opengl-sgix_reference_plane" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__resample = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_resample"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_resample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_resample"; + asd = "cl-glfw-opengl-sgix_resample"; + } + ); + systems = [ "cl-glfw-opengl-sgix_resample" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__scalebias__hint = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_scalebias_hint"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_scalebias_hint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_scalebias_hint"; + asd = "cl-glfw-opengl-sgix_scalebias_hint"; + } + ); + systems = [ "cl-glfw-opengl-sgix_scalebias_hint" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__shadow = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_shadow"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_shadow" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_shadow"; + asd = "cl-glfw-opengl-sgix_shadow"; + } + ); + systems = [ "cl-glfw-opengl-sgix_shadow" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__shadow__ambient = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_shadow_ambient"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_shadow_ambient" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_shadow_ambient"; + asd = "cl-glfw-opengl-sgix_shadow_ambient"; + } + ); + systems = [ "cl-glfw-opengl-sgix_shadow_ambient" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__slim = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_slim"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_slim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_slim"; + asd = "cl-glfw-opengl-sgix_slim"; + } + ); + systems = [ "cl-glfw-opengl-sgix_slim" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__sprite = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_sprite"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_sprite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_sprite"; + asd = "cl-glfw-opengl-sgix_sprite"; + } + ); + systems = [ "cl-glfw-opengl-sgix_sprite" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__tag__sample__buffer = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_tag_sample_buffer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_tag_sample_buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_tag_sample_buffer"; + asd = "cl-glfw-opengl-sgix_tag_sample_buffer"; + } + ); + systems = [ "cl-glfw-opengl-sgix_tag_sample_buffer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__texture__coordinate__clamp = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_texture_coordinate_clamp"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_texture_coordinate_clamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_texture_coordinate_clamp"; + asd = "cl-glfw-opengl-sgix_texture_coordinate_clamp"; + } + ); + systems = [ "cl-glfw-opengl-sgix_texture_coordinate_clamp" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__texture__lod__bias = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_texture_lod_bias"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_texture_lod_bias" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_texture_lod_bias"; + asd = "cl-glfw-opengl-sgix_texture_lod_bias"; + } + ); + systems = [ "cl-glfw-opengl-sgix_texture_lod_bias" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__texture__multi__buffer = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_texture_multi_buffer"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_texture_multi_buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_texture_multi_buffer"; + asd = "cl-glfw-opengl-sgix_texture_multi_buffer"; + } + ); + systems = [ "cl-glfw-opengl-sgix_texture_multi_buffer" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sgix__ycrcba = ( + build-asdf-system { + pname = "cl-glfw-opengl-sgix_ycrcba"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sgix_ycrcba" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sgix_ycrcba"; + asd = "cl-glfw-opengl-sgix_ycrcba"; + } + ); + systems = [ "cl-glfw-opengl-sgix_ycrcba" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sun__convolution__border__modes = ( + build-asdf-system { + pname = "cl-glfw-opengl-sun_convolution_border_modes"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sun_convolution_border_modes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sun_convolution_border_modes"; + asd = "cl-glfw-opengl-sun_convolution_border_modes"; + } + ); + systems = [ "cl-glfw-opengl-sun_convolution_border_modes" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sun__global__alpha = ( + build-asdf-system { + pname = "cl-glfw-opengl-sun_global_alpha"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sun_global_alpha" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sun_global_alpha"; + asd = "cl-glfw-opengl-sun_global_alpha"; + } + ); + systems = [ "cl-glfw-opengl-sun_global_alpha" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sun__mesh__array = ( + build-asdf-system { + pname = "cl-glfw-opengl-sun_mesh_array"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sun_mesh_array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sun_mesh_array"; + asd = "cl-glfw-opengl-sun_mesh_array"; + } + ); + systems = [ "cl-glfw-opengl-sun_mesh_array" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sun__slice__accum = ( + build-asdf-system { + pname = "cl-glfw-opengl-sun_slice_accum"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sun_slice_accum" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sun_slice_accum"; + asd = "cl-glfw-opengl-sun_slice_accum"; + } + ); + systems = [ "cl-glfw-opengl-sun_slice_accum" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sun__triangle__list = ( + build-asdf-system { + pname = "cl-glfw-opengl-sun_triangle_list"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sun_triangle_list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sun_triangle_list"; + asd = "cl-glfw-opengl-sun_triangle_list"; + } + ); + systems = [ "cl-glfw-opengl-sun_triangle_list" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sun__vertex = ( + build-asdf-system { + pname = "cl-glfw-opengl-sun_vertex"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sun_vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sun_vertex"; + asd = "cl-glfw-opengl-sun_vertex"; + } + ); + systems = [ "cl-glfw-opengl-sun_vertex" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-sunx__constant__data = ( + build-asdf-system { + pname = "cl-glfw-opengl-sunx_constant_data"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-sunx_constant_data" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-sunx_constant_data"; + asd = "cl-glfw-opengl-sunx_constant_data"; + } + ); + systems = [ "cl-glfw-opengl-sunx_constant_data" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__1__0 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_1_0"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_1_0" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_1_0"; + asd = "cl-glfw-opengl-version_1_0"; + } + ); + systems = [ "cl-glfw-opengl-version_1_0" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__1__1 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_1_1"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_1_1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_1_1"; + asd = "cl-glfw-opengl-version_1_1"; + } + ); + systems = [ "cl-glfw-opengl-version_1_1" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__1__2 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_1_2"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_1_2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_1_2"; + asd = "cl-glfw-opengl-version_1_2"; + } + ); + systems = [ "cl-glfw-opengl-version_1_2" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__1__3 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_1_3"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_1_3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_1_3"; + asd = "cl-glfw-opengl-version_1_3"; + } + ); + systems = [ "cl-glfw-opengl-version_1_3" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__1__4 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_1_4"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_1_4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_1_4"; + asd = "cl-glfw-opengl-version_1_4"; + } + ); + systems = [ "cl-glfw-opengl-version_1_4" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__1__5 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_1_5"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_1_5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_1_5"; + asd = "cl-glfw-opengl-version_1_5"; + } + ); + systems = [ "cl-glfw-opengl-version_1_5" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__2__0 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_2_0"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_2_0" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_2_0"; + asd = "cl-glfw-opengl-version_2_0"; + } + ); + systems = [ "cl-glfw-opengl-version_2_0" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-version__2__1 = ( + build-asdf-system { + pname = "cl-glfw-opengl-version_2_1"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-version_2_1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-version_2_1"; + asd = "cl-glfw-opengl-version_2_1"; + } + ); + systems = [ "cl-glfw-opengl-version_2_1" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-win__phong__shading = ( + build-asdf-system { + pname = "cl-glfw-opengl-win_phong_shading"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-win_phong_shading" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-win_phong_shading"; + asd = "cl-glfw-opengl-win_phong_shading"; + } + ); + systems = [ "cl-glfw-opengl-win_phong_shading" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-opengl-win__specular__fog = ( + build-asdf-system { + pname = "cl-glfw-opengl-win_specular_fog"; + version = "20150302-git"; + asds = [ "cl-glfw-opengl-win_specular_fog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-opengl-win_specular_fog"; + asd = "cl-glfw-opengl-win_specular_fog"; + } + ); + systems = [ "cl-glfw-opengl-win_specular_fog" ]; + lispLibs = [ (getAttr "cl-glfw-opengl-core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw-types = ( + build-asdf-system { + pname = "cl-glfw-types"; + version = "20150302-git"; + asds = [ "cl-glfw-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz"; + sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6"; + system = "cl-glfw-types"; + asd = "cl-glfw-types"; + } + ); + systems = [ "cl-glfw-types" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw3 = ( + build-asdf-system { + pname = "cl-glfw3"; + version = "20210531-git"; + asds = [ "cl-glfw3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw3/2021-05-31/cl-glfw3-20210531-git.tgz"; + sha256 = "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"; + system = "cl-glfw3"; + asd = "cl-glfw3"; + } + ); + systems = [ "cl-glfw3" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glfw3-examples = ( + build-asdf-system { + pname = "cl-glfw3-examples"; + version = "20210531-git"; + asds = [ "cl-glfw3-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glfw3/2021-05-31/cl-glfw3-20210531-git.tgz"; + sha256 = "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"; + system = "cl-glfw3-examples"; + asd = "cl-glfw3-examples"; + } + ); + systems = [ "cl-glfw3-examples" ]; + lispLibs = [ + (getAttr "cl-glfw3" self) + (getAttr "cl-opengl" self) + (getAttr "trivial-main-thread" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glib = ( + build-asdf-system { + pname = "cl-glib"; + version = "20231021-git"; + asds = [ "cl-glib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glib/2023-10-21/cl-glib-20231021-git.tgz"; + sha256 = "07y8hpvdl490p8j4k8y47raqqwnpym9scz7jlg2f1jx897dkssjb"; + system = "cl-glib"; + asd = "cl-glib"; + } + ); + systems = [ "cl-glib" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-gobject-introspection-wrapper" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gltf = ( + build-asdf-system { + pname = "cl-gltf"; + version = "20241012-git"; + asds = [ "cl-gltf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gltf/2024-10-12/cl-gltf-20241012-git.tgz"; + sha256 = "0s7q6zsy85wryy3wb2hn3nprh1m4vmjzsai1mdcqlhzqyh5rm6jq"; + system = "cl-gltf"; + asd = "cl-gltf"; + } + ); + systems = [ "cl-gltf" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "documentation-utils" self) + (getAttr "mmap" self) + (getAttr "nibbles" self) + (getAttr "qbase64" self) + (getAttr "static-vectors" self) + (getAttr "trivial-extensible-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glu = ( + build-asdf-system { + pname = "cl-glu"; + version = "20241012-git"; + asds = [ "cl-glu" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; + sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; + system = "cl-glu"; + asd = "cl-glu"; + } + ); + systems = [ "cl-glu" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glut = ( + build-asdf-system { + pname = "cl-glut"; + version = "20241012-git"; + asds = [ "cl-glut" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; + sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; + system = "cl-glut"; + asd = "cl-glut"; + } + ); + systems = [ "cl-glut" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-glut-examples = ( + build-asdf-system { + pname = "cl-glut-examples"; + version = "20241012-git"; + asds = [ "cl-glut-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; + sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; + system = "cl-glut-examples"; + asd = "cl-glut-examples"; + } + ); + systems = [ "cl-glut-examples" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-glu" self) + (getAttr "cl-glut" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gobject = ( + build-asdf-system { + pname = "cl-gobject"; + version = "20231021-git"; + asds = [ "cl-gobject" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-glib/2023-10-21/cl-glib-20231021-git.tgz"; + sha256 = "07y8hpvdl490p8j4k8y47raqqwnpym9scz7jlg2f1jx897dkssjb"; + system = "cl-gobject"; + asd = "cl-gobject"; + } + ); + systems = [ "cl-gobject" ]; + lispLibs = [ (getAttr "cl-gobject-introspection-wrapper" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gobject-introspection = ( + build-asdf-system { + pname = "cl-gobject-introspection"; + version = "20241012-git"; + asds = [ "cl-gobject-introspection" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gobject-introspection/2024-10-12/cl-gobject-introspection-20241012-git.tgz"; + sha256 = "0iw8fciydh9bi2svq30hi029df16arpspk0mjzh0cm1c6kjm9dcj"; + system = "cl-gobject-introspection"; + asd = "cl-gobject-introspection"; + } + ); + systems = [ "cl-gobject-introspection" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "iterate" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + cl-gobject-introspection-test = ( + build-asdf-system { + pname = "cl-gobject-introspection-test"; + version = "20241012-git"; + asds = [ "cl-gobject-introspection-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gobject-introspection/2024-10-12/cl-gobject-introspection-20241012-git.tgz"; + sha256 = "0iw8fciydh9bi2svq30hi029df16arpspk0mjzh0cm1c6kjm9dcj"; + system = "cl-gobject-introspection-test"; + asd = "cl-gobject-introspection-test"; + } + ); + systems = [ "cl-gobject-introspection-test" ]; + lispLibs = [ + (getAttr "cl-gobject-introspection" self) + (getAttr "fiveam" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gobject-introspection-wrapper = ( + build-asdf-system { + pname = "cl-gobject-introspection-wrapper"; + version = "20231021-git"; + asds = [ "cl-gobject-introspection-wrapper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gobject-introspection-wrapper/2023-10-21/cl-gobject-introspection-wrapper-20231021-git.tgz"; + sha256 = "0x1nryxkv6i0bzn2zmlsgbq0impni4drzawy3wc7zy5nr2qnd1x5"; + system = "cl-gobject-introspection-wrapper"; + asd = "cl-gobject-introspection-wrapper"; + } + ); + systems = [ "cl-gobject-introspection-wrapper" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-gobject-introspection" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gog-galaxy = ( + build-asdf-system { + pname = "cl-gog-galaxy"; + version = "20241012-git"; + asds = [ "cl-gog-galaxy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gog-galaxy/2024-10-12/cl-gog-galaxy-20241012-git.tgz"; + sha256 = "0pb8q4q1gj4n8ll5cglip4rl9gqy8y0g9kpqn2xkc3lssvxkkh63"; + system = "cl-gog-galaxy"; + asd = "cl-gog-galaxy"; + } + ); + systems = [ "cl-gog-galaxy" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gopher = ( + build-asdf-system { + pname = "cl-gopher"; + version = "20231021-git"; + asds = [ "cl-gopher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gopher/2023-10-21/cl-gopher-20231021-git.tgz"; + sha256 = "0x8rj4icrx04rfh9qlh7hp2c0zyk4ii6s4wqwhqjxh5580mwblgb"; + system = "cl-gopher"; + asd = "cl-gopher"; + } + ); + systems = [ "cl-gopher" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "quri" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gpio = ( + build-asdf-system { + pname = "cl-gpio"; + version = "20231021-git"; + asds = [ "cl-gpio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gpio/2023-10-21/cl-gpio-20231021-git.tgz"; + sha256 = "0sh40fg9gcz72xsfi17zh1b1wckw4fsyx75kkm2w3757lx69wkmh"; + system = "cl-gpio"; + asd = "cl-gpio"; + } + ); + systems = [ "cl-gpio" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-graph = ( + build-asdf-system { + pname = "cl-graph"; + version = "20241012-git"; + asds = [ "cl-graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-graph/2024-10-12/cl-graph-20241012-git.tgz"; + sha256 = "1adwlkj2qp73irsswfi50ayjvz3di8fh1sqavsdl7l2d6k7yipdg"; + system = "cl-graph"; + asd = "cl-graph"; + } + ); + systems = [ "cl-graph" ]; + lispLibs = [ + (getAttr "asdf-system-connections" self) + (getAttr "cl-containers" self) + (getAttr "metabang-bind" self) + (getAttr "metatilities-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-graph_plus_hu_dot_dwim_dot_graphviz = ( + build-asdf-system { + pname = "cl-graph+hu.dwim.graphviz"; + version = "20241012-git"; + asds = [ "cl-graph+hu.dwim.graphviz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-graph/2024-10-12/cl-graph-20241012-git.tgz"; + sha256 = "1adwlkj2qp73irsswfi50ayjvz3di8fh1sqavsdl7l2d6k7yipdg"; + system = "cl-graph+hu.dwim.graphviz"; + asd = "cl-graph+hu.dwim.graphviz"; + } + ); + systems = [ "cl-graph+hu.dwim.graphviz" ]; + lispLibs = [ + (getAttr "cl-graph" self) + (getAttr "hu_dot_dwim_dot_graphviz" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-grip = ( + build-asdf-system { + pname = "cl-grip"; + version = "20241012-git"; + asds = [ "cl-grip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-grip/2024-10-12/cl-grip-20241012-git.tgz"; + sha256 = "0k9qg6pdj4xs5rshf78jmiasyqj4sy5r5hhrccskfsajw6wfmbc9"; + system = "cl-grip"; + asd = "cl-grip"; + } + ); + systems = [ "cl-grip" ]; + lispLibs = [ + (getAttr "cl-strings" self) + (getAttr "local-time" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-grnm = ( + build-asdf-system { + pname = "cl-grnm"; + version = "20180131-git"; + asds = [ "cl-grnm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-grnm/2018-01-31/cl-grnm-20180131-git.tgz"; + sha256 = "1hb5n37n3x2ylrghcqsia2g9a6f5wg24l659jiz4ncpi5bsv4m3s"; + system = "cl-grnm"; + asd = "cl-grnm"; + } + ); + systems = [ "cl-grnm" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-growl = ( + build-asdf-system { + pname = "cl-growl"; + version = "20161208-git"; + asds = [ "cl-growl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-growl/2016-12-08/cl-growl-20161208-git.tgz"; + sha256 = "1qgj3sq22dznwxj1b3rw0099fsf6wgfbc63r376pab74kdnji3n6"; + system = "cl-growl"; + asd = "cl-growl"; + } + ); + systems = [ "cl-growl" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "trivial-utf-8" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gss = ( + build-asdf-system { + pname = "cl-gss"; + version = "20180228-git"; + asds = [ "cl-gss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gss/2018-02-28/cl-gss-20180228-git.tgz"; + sha256 = "0zhxxn3zarird255s9i56bz0fm6dkv00mn8bbsjrhskg3wpcg4pb"; + system = "cl-gss"; + asd = "cl-gss"; + } + ); + systems = [ "cl-gss" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-gtk2-gdk = ( + build-asdf-system { + pname = "cl-gtk2-gdk"; + version = "20211020-git"; + asds = [ "cl-gtk2-gdk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz"; + sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx"; + system = "cl-gtk2-gdk"; + asd = "cl-gtk2-gdk"; + } + ); + systems = [ "cl-gtk2-gdk" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-gtk2-glib" self) + (getAttr "cl-gtk2-pango" self) + ]; + meta = { }; + } + ); + cl-gtk2-glib = ( + build-asdf-system { + pname = "cl-gtk2-glib"; + version = "20211020-git"; + asds = [ "cl-gtk2-glib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz"; + sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx"; + system = "cl-gtk2-glib"; + asd = "cl-gtk2-glib"; + } + ); + systems = [ "cl-gtk2-glib" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + cl-gtk2-pango = ( + build-asdf-system { + pname = "cl-gtk2-pango"; + version = "20211020-git"; + asds = [ "cl-gtk2-pango" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz"; + sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx"; + system = "cl-gtk2-pango"; + asd = "cl-gtk2-pango"; + } + ); + systems = [ "cl-gtk2-pango" ]; + lispLibs = [ + (getAttr "cl-gtk2-glib" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + cl-haml = ( + build-asdf-system { + pname = "cl-haml"; + version = "20180228-git"; + asds = [ "cl-haml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-haml/2018-02-28/cl-haml-20180228-git.tgz"; + sha256 = "017qr3509ha2680h3c8ip5rqyfaz7v9hfjmx0pg1wrjqw8vyjyb5"; + system = "cl-haml"; + asd = "cl-haml"; + } + ); + systems = [ "cl-haml" ]; + lispLibs = [ (getAttr "cl-who" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-haml-test = ( + build-asdf-system { + pname = "cl-haml-test"; + version = "20180228-git"; + asds = [ "cl-haml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-haml/2018-02-28/cl-haml-20180228-git.tgz"; + sha256 = "017qr3509ha2680h3c8ip5rqyfaz7v9hfjmx0pg1wrjqw8vyjyb5"; + system = "cl-haml-test"; + asd = "cl-haml"; + } + ); + systems = [ "cl-haml-test" ]; + lispLibs = [ + (getAttr "cl-haml" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hamt = ( + build-asdf-system { + pname = "cl-hamt"; + version = "20200325-git"; + asds = [ "cl-hamt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz"; + sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"; + system = "cl-hamt"; + asd = "cl-hamt"; + } + ); + systems = [ "cl-hamt" ]; + lispLibs = [ (getAttr "cl-murmurhash" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hamt-examples = ( + build-asdf-system { + pname = "cl-hamt-examples"; + version = "20200325-git"; + asds = [ "cl-hamt-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz"; + sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"; + system = "cl-hamt-examples"; + asd = "cl-hamt-examples"; + } + ); + systems = [ "cl-hamt-examples" ]; + lispLibs = [ + (getAttr "cl-hamt" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hamt-test = ( + build-asdf-system { + pname = "cl-hamt-test"; + version = "20200325-git"; + asds = [ "cl-hamt-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz"; + sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"; + system = "cl-hamt-test"; + asd = "cl-hamt-test"; + } + ); + systems = [ "cl-hamt-test" ]; + lispLibs = [ + (getAttr "cl-hamt" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hash-table-destructuring = ( + build-asdf-system { + pname = "cl-hash-table-destructuring"; + version = "20160531-git"; + asds = [ "cl-hash-table-destructuring" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hash-table-destructuring/2016-05-31/cl-hash-table-destructuring-20160531-git.tgz"; + sha256 = "0za8jlqfvsilmnidk429509vbdd18w7ykcycni411pjpz0lxrh1v"; + system = "cl-hash-table-destructuring"; + asd = "cl-hash-table-destructuring"; + } + ); + systems = [ "cl-hash-table-destructuring" ]; + lispLibs = [ (getAttr "prove-asdf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hash-table-destructuring-test = ( + build-asdf-system { + pname = "cl-hash-table-destructuring-test"; + version = "20160531-git"; + asds = [ "cl-hash-table-destructuring-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hash-table-destructuring/2016-05-31/cl-hash-table-destructuring-20160531-git.tgz"; + sha256 = "0za8jlqfvsilmnidk429509vbdd18w7ykcycni411pjpz0lxrh1v"; + system = "cl-hash-table-destructuring-test"; + asd = "cl-hash-table-destructuring"; + } + ); + systems = [ "cl-hash-table-destructuring-test" ]; + lispLibs = [ + (getAttr "cl-hash-table-destructuring" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hash-util = ( + build-asdf-system { + pname = "cl-hash-util"; + version = "20241012-git"; + asds = [ "cl-hash-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hash-util/2024-10-12/cl-hash-util-20241012-git.tgz"; + sha256 = "1xab7v2mav241rs8w68qmg485g4f75nrac3hjcnm0cb19ickbs1m"; + system = "cl-hash-util"; + asd = "cl-hash-util"; + } + ); + systems = [ "cl-hash-util" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hash-util-test = ( + build-asdf-system { + pname = "cl-hash-util-test"; + version = "20241012-git"; + asds = [ "cl-hash-util-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hash-util/2024-10-12/cl-hash-util-20241012-git.tgz"; + sha256 = "1xab7v2mav241rs8w68qmg485g4f75nrac3hjcnm0cb19ickbs1m"; + system = "cl-hash-util-test"; + asd = "cl-hash-util-test"; + } + ); + systems = [ "cl-hash-util-test" ]; + lispLibs = [ + (getAttr "cl-hash-util" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-heap = ( + build-asdf-system { + pname = "cl-heap"; + version = "0.1.6"; + asds = [ "cl-heap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-heap/2013-03-12/cl-heap-0.1.6.tgz"; + sha256 = "01bss182x9i167lfv0lr8ylavk2m42s84vz6629kspgjhczm52w7"; + system = "cl-heap"; + asd = "cl-heap"; + } + ); + systems = [ "cl-heap" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-heap-tests = ( + build-asdf-system { + pname = "cl-heap-tests"; + version = "0.1.6"; + asds = [ "cl-heap-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-heap/2013-03-12/cl-heap-0.1.6.tgz"; + sha256 = "01bss182x9i167lfv0lr8ylavk2m42s84vz6629kspgjhczm52w7"; + system = "cl-heap-tests"; + asd = "cl-heap-tests"; + } + ); + systems = [ "cl-heap-tests" ]; + lispLibs = [ + (getAttr "cl-heap" self) + (getAttr "xlunit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-heredoc = ( + build-asdf-system { + pname = "cl-heredoc"; + version = "20220707-git"; + asds = [ "cl-heredoc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-heredoc/2022-07-07/cl-heredoc-20220707-git.tgz"; + sha256 = "0hj9y6drd93nwcbmwwhnc30flm48ppw4rhfgfyqfc02fq2wnc83z"; + system = "cl-heredoc"; + asd = "cl-heredoc"; + } + ); + systems = [ "cl-heredoc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-heredoc-test = ( + build-asdf-system { + pname = "cl-heredoc-test"; + version = "20220707-git"; + asds = [ "cl-heredoc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-heredoc/2022-07-07/cl-heredoc-20220707-git.tgz"; + sha256 = "0hj9y6drd93nwcbmwwhnc30flm48ppw4rhfgfyqfc02fq2wnc83z"; + system = "cl-heredoc-test"; + asd = "cl-heredoc-test"; + } + ); + systems = [ "cl-heredoc-test" ]; + lispLibs = [ + (getAttr "cl-heredoc" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hooks = ( + build-asdf-system { + pname = "cl-hooks"; + version = "20181210-git"; + asds = [ "cl-hooks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/architecture.hooks/2018-12-10/architecture.hooks-20181210-git.tgz"; + sha256 = "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"; + system = "cl-hooks"; + asd = "cl-hooks"; + } + ); + systems = [ "cl-hooks" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "let-plus" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + cl-html-diff = ( + build-asdf-system { + pname = "cl-html-diff"; + version = "20130128-git"; + asds = [ "cl-html-diff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-html-diff/2013-01-28/cl-html-diff-20130128-git.tgz"; + sha256 = "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"; + system = "cl-html-diff"; + asd = "cl-html-diff"; + } + ); + systems = [ "cl-html-diff" ]; + lispLibs = [ (getAttr "cl-difflib" self) ]; + meta = { }; + } + ); + cl-html-parse = ( + build-asdf-system { + pname = "cl-html-parse"; + version = "20231021-git"; + asds = [ "cl-html-parse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-html-parse/2023-10-21/cl-html-parse-20231021-git.tgz"; + sha256 = "1qgjaq45lvqrsw4rrnyy4d5bwlmb7vd45ibdzgbxx5az02x3ahmy"; + system = "cl-html-parse"; + asd = "cl-html-parse"; + } + ); + systems = [ "cl-html-parse" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-html-readme = ( + build-asdf-system { + pname = "cl-html-readme"; + version = "quicklisp-current-release-f8aed591-git"; + asds = [ "cl-html-readme" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-html-readme/2024-10-12/cl-html-readme-quicklisp-current-release-f8aed591-git.tgz"; + sha256 = "1q23fdbhmra7hl12vd70m7q350wych6f739l8xmz6f84dwm9i8c7"; + system = "cl-html-readme"; + asd = "cl-html-readme"; + } + ); + systems = [ "cl-html-readme" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-html5-parser = ( + build-asdf-system { + pname = "cl-html5-parser"; + version = "20190521-git"; + asds = [ "cl-html5-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz"; + sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"; + system = "cl-html5-parser"; + asd = "cl-html5-parser"; + } + ); + systems = [ "cl-html5-parser" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "string-case" self) + ]; + meta = { }; + } + ); + cl-html5-parser-cxml = ( + build-asdf-system { + pname = "cl-html5-parser-cxml"; + version = "20190521-git"; + asds = [ "cl-html5-parser-cxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz"; + sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"; + system = "cl-html5-parser-cxml"; + asd = "cl-html5-parser-cxml"; + } + ); + systems = [ "cl-html5-parser-cxml" ]; + lispLibs = [ + (getAttr "cl-html5-parser" self) + (getAttr "cxml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-html5-parser-tests = ( + build-asdf-system { + pname = "cl-html5-parser-tests"; + version = "20190521-git"; + asds = [ "cl-html5-parser-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz"; + sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"; + system = "cl-html5-parser-tests"; + asd = "cl-html5-parser-tests"; + } + ); + systems = [ "cl-html5-parser-tests" ]; + lispLibs = [ + (getAttr "cl-html5-parser" self) + (getAttr "json-streams" self) + (getAttr "split-sequence" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-htmlprag = ( + build-asdf-system { + pname = "cl-htmlprag"; + version = "20160628-git"; + asds = [ "cl-htmlprag" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-htmlprag/2016-06-28/cl-htmlprag-20160628-git.tgz"; + sha256 = "1akfy9rldx5a2h34vf7y02pj2j7b5anbxja53m41ism4vklgqg1c"; + system = "cl-htmlprag"; + asd = "cl-htmlprag"; + } + ); + systems = [ "cl-htmlprag" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "optima" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-httpsqs = ( + build-asdf-system { + pname = "cl-httpsqs"; + version = "20180228-git"; + asds = [ "cl-httpsqs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-httpsqs/2018-02-28/cl-httpsqs-20180228-git.tgz"; + sha256 = "14nhr03lm8012crczjpgsmf0ydipqf3kggayshm7w72vkyf0haj7"; + system = "cl-httpsqs"; + asd = "cl-httpsqs"; + } + ); + systems = [ "cl-httpsqs" ]; + lispLibs = [ (getAttr "drakma" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-hue = ( + build-asdf-system { + pname = "cl-hue"; + version = "20150113-git"; + asds = [ "cl-hue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hue/2015-01-13/cl-hue-20150113-git.tgz"; + sha256 = "0d2qv60pih1xmk0zzbdwcsyk8k9abjzilcmhz3jdicinl8jinfr4"; + system = "cl-hue"; + asd = "cl-hue"; + } + ); + systems = [ "cl-hue" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "drakma" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-i18n = ( + build-asdf-system { + pname = "cl-i18n"; + version = "20241012-git"; + asds = [ "cl-i18n" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-i18n/2024-10-12/cl-i18n-20241012-git.tgz"; + sha256 = "1gp4ncf7ywyyh2f0zdkqibvn0wxm4hvsj672ni2vfqvhcivqfdza"; + system = "cl-i18n"; + asd = "cl-i18n"; + } + ); + systems = [ "cl-i18n" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-ppcre-unicode" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-id3 = ( + build-asdf-system { + pname = "cl-id3"; + version = "20230618-git"; + asds = [ "cl-id3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-id3/2023-06-18/cl-id3-20230618-git.tgz"; + sha256 = "0p5rcxy6zy8jq673yphbq5dq0g28vx9g7kfklfhicg2blpzy2yf5"; + system = "cl-id3"; + asd = "cl-id3"; + } + ); + systems = [ "cl-id3" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ilu = ( + build-asdf-system { + pname = "cl-ilu"; + version = "20150302-git"; + asds = [ "cl-ilu" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz"; + sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf"; + system = "cl-ilu"; + asd = "cl-ilu"; + } + ); + systems = [ "cl-ilu" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-devil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ilut = ( + build-asdf-system { + pname = "cl-ilut"; + version = "20150302-git"; + asds = [ "cl-ilut" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz"; + sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf"; + system = "cl-ilut"; + asd = "cl-ilut"; + } + ); + systems = [ "cl-ilut" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-devil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-incognia = ( + build-asdf-system { + pname = "cl-incognia"; + version = "20211230-git"; + asds = [ "cl-incognia" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-incognia/2021-12-30/cl-incognia-20211230-git.tgz"; + sha256 = "0c5v7vqh26vg4mzzz7rkq3r29ygj2q4fw6v56pi79bbszyklfs21"; + system = "cl-incognia"; + asd = "cl-incognia"; + } + ); + systems = [ "cl-incognia" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "jonathan" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-indentify = ( + build-asdf-system { + pname = "cl-indentify"; + version = "20230214-git"; + asds = [ "cl-indentify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-indentify/2023-02-14/cl-indentify-20230214-git.tgz"; + sha256 = "1np7b3mh3wd5dv7nvwmjl5rgy7m0qf0fx61s04yazlh46k3d0nxd"; + system = "cl-indentify"; + asd = "cl-indentify"; + } + ); + systems = [ "cl-indentify" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-inflector = ( + build-asdf-system { + pname = "cl-inflector"; + version = "20150113-git"; + asds = [ "cl-inflector" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-inflector/2015-01-13/cl-inflector-20150113-git.tgz"; + sha256 = "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"; + system = "cl-inflector"; + asd = "cl-inflector"; + } + ); + systems = [ "cl-inflector" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-inflector-test = ( + build-asdf-system { + pname = "cl-inflector-test"; + version = "20150113-git"; + asds = [ "cl-inflector-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-inflector/2015-01-13/cl-inflector-20150113-git.tgz"; + sha256 = "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"; + system = "cl-inflector-test"; + asd = "cl-inflector"; + } + ); + systems = [ "cl-inflector-test" ]; + lispLibs = [ + (getAttr "cl-inflector" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-influxdb = ( + build-asdf-system { + pname = "cl-influxdb"; + version = "20180131-git"; + asds = [ "cl-influxdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-influxdb/2018-01-31/cl-influxdb-20180131-git.tgz"; + sha256 = "0fqnsdw6x79qsvw7l6xp1gxgzcj6jwpa4mn0z2gbbipff4g7k527"; + system = "cl-influxdb"; + asd = "cl-influxdb"; + } + ); + systems = [ "cl-influxdb" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "cl-json" self) + (getAttr "do-urlencode" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-info = ( + build-asdf-system { + pname = "cl-info"; + version = "20241012-git"; + asds = [ "cl-info" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-info/2024-10-12/cl-info-20241012-git.tgz"; + sha256 = "0vrrlcwdqnw8v34zd7wkjxh02zysam5c5s5n4l5q6s2jy0gmai0y"; + system = "cl-info"; + asd = "cl-info"; + } + ); + systems = [ "cl-info" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-info-test = ( + build-asdf-system { + pname = "cl-info-test"; + version = "20241012-git"; + asds = [ "cl-info-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-info/2024-10-12/cl-info-20241012-git.tgz"; + sha256 = "0vrrlcwdqnw8v34zd7wkjxh02zysam5c5s5n4l5q6s2jy0gmai0y"; + system = "cl-info-test"; + asd = "cl-info-test"; + } + ); + systems = [ "cl-info-test" ]; + lispLibs = [ + (getAttr "cl-info" self) + (getAttr "hamcrest" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ini = ( + build-asdf-system { + pname = "cl-ini"; + version = "20241012-git"; + asds = [ "cl-ini" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ini/2024-10-12/cl-ini-20241012-git.tgz"; + sha256 = "1dj2w1fs1j52wxy91qy2jrn88aqggrvsg4fngl90ssvfh3awk4wm"; + system = "cl-ini"; + asd = "cl-ini"; + } + ); + systems = [ "cl-ini" ]; + lispLibs = [ (getAttr "str" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ini-test = ( + build-asdf-system { + pname = "cl-ini-test"; + version = "20241012-git"; + asds = [ "cl-ini-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ini/2024-10-12/cl-ini-20241012-git.tgz"; + sha256 = "1dj2w1fs1j52wxy91qy2jrn88aqggrvsg4fngl90ssvfh3awk4wm"; + system = "cl-ini-test"; + asd = "cl-ini-test"; + } + ); + systems = [ "cl-ini-test" ]; + lispLibs = [ + (getAttr "cl-ini" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-inotify = ( + build-asdf-system { + pname = "cl-inotify"; + version = "20220707-git"; + asds = [ "cl-inotify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-inotify/2022-07-07/cl-inotify-20220707-git.tgz"; + sha256 = "0d3bvp5lqnddzhk1w9yyli03njbkhc8d129a058g0j49kgd47c7v"; + system = "cl-inotify"; + asd = "cl-inotify"; + } + ); + systems = [ "cl-inotify" ]; + lispLibs = [ + (getAttr "binary-types" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "iolib" self) + (getAttr "iolib_dot_asdf" self) + (getAttr "iolib_dot_base" self) + (getAttr "iolib_dot_conf" self) + (getAttr "osicat" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-inotify-tests = ( + build-asdf-system { + pname = "cl-inotify-tests"; + version = "20220707-git"; + asds = [ "cl-inotify-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-inotify/2022-07-07/cl-inotify-20220707-git.tgz"; + sha256 = "0d3bvp5lqnddzhk1w9yyli03njbkhc8d129a058g0j49kgd47c7v"; + system = "cl-inotify-tests"; + asd = "cl-inotify-tests"; + } + ); + systems = [ "cl-inotify-tests" ]; + lispLibs = [ + (getAttr "cl-inotify" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-intbytes = ( + build-asdf-system { + pname = "cl-intbytes"; + version = "20150923-git"; + asds = [ "cl-intbytes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-intbytes/2015-09-23/cl-intbytes-20150923-git.tgz"; + sha256 = "0chwfda7pi8mrgwj31li7f0x0hr5yrp4csiq8hwkgd4c1ag1z9fx"; + system = "cl-intbytes"; + asd = "cl-intbytes"; + } + ); + systems = [ "cl-intbytes" ]; + lispLibs = [ (getAttr "fast-io" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-intbytes-test = ( + build-asdf-system { + pname = "cl-intbytes-test"; + version = "20150923-git"; + asds = [ "cl-intbytes-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-intbytes/2015-09-23/cl-intbytes-20150923-git.tgz"; + sha256 = "0chwfda7pi8mrgwj31li7f0x0hr5yrp4csiq8hwkgd4c1ag1z9fx"; + system = "cl-intbytes-test"; + asd = "cl-intbytes-test"; + } + ); + systems = [ "cl-intbytes-test" ]; + lispLibs = [ + (getAttr "cl-intbytes" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-interpol = ( + build-asdf-system { + pname = "cl-interpol"; + version = "20221106-git"; + asds = [ "cl-interpol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-interpol/2022-11-06/cl-interpol-20221106-git.tgz"; + sha256 = "1nkjn8byyfdxhi84rbpqs87bb5m478lvphfgxqqv0q37rn75c946"; + system = "cl-interpol"; + asd = "cl-interpol"; + } + ); + systems = [ "cl-interpol" ]; + lispLibs = [ + (getAttr "cl-unicode" self) + (getAttr "named-readtables" self) + ]; + meta = { }; + } + ); + cl-interval = ( + build-asdf-system { + pname = "cl-interval"; + version = "20200715-git"; + asds = [ "cl-interval" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-interval/2020-07-15/cl-interval-20200715-git.tgz"; + sha256 = "1425l6xmrqadjqgqb5qasisf14pbr6zpj30bpxfv8hhnxs5njq4p"; + system = "cl-interval"; + asd = "cl-interval"; + } + ); + systems = [ "cl-interval" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-interval-docs = ( + build-asdf-system { + pname = "cl-interval-docs"; + version = "20200715-git"; + asds = [ "cl-interval-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-interval/2020-07-15/cl-interval-20200715-git.tgz"; + sha256 = "1425l6xmrqadjqgqb5qasisf14pbr6zpj30bpxfv8hhnxs5njq4p"; + system = "cl-interval-docs"; + asd = "cl-interval-docs"; + } + ); + systems = [ "cl-interval-docs" ]; + lispLibs = [ + (getAttr "cl-gendoc" self) + (getAttr "cl-interval" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ipfs-api2 = ( + build-asdf-system { + pname = "cl-ipfs-api2"; + version = "20241012-git"; + asds = [ "cl-ipfs-api2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ipfs-api2/2024-10-12/cl-ipfs-api2-20241012-git.tgz"; + sha256 = "0lz19ayvcdhakckxp6z6gzlglhvnaj0qqyx1jmp211fms7dzyl0x"; + system = "cl-ipfs-api2"; + asd = "cl-ipfs-api2"; + } + ); + systems = [ "cl-ipfs-api2" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "drakma" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-irc = ( + build-asdf-system { + pname = "cl-irc"; + version = "0.9.2"; + asds = [ "cl-irc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-irc/2015-09-23/cl-irc-0.9.2.tgz"; + sha256 = "15h3ram8b6vyg4718ad2m92xgilda2x3zmkzbjnijk69kkqsq01r"; + system = "cl-irc"; + asd = "cl-irc"; + } + ); + systems = [ "cl-irc" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-irc-test = ( + build-asdf-system { + pname = "cl-irc-test"; + version = "0.9.2"; + asds = [ "cl-irc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-irc/2015-09-23/cl-irc-0.9.2.tgz"; + sha256 = "15h3ram8b6vyg4718ad2m92xgilda2x3zmkzbjnijk69kkqsq01r"; + system = "cl-irc-test"; + asd = "cl-irc-test"; + } + ); + systems = [ "cl-irc-test" ]; + lispLibs = [ + (getAttr "cl-irc" self) + (getAttr "rt" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-irregsexp = ( + build-asdf-system { + pname = "cl-irregsexp"; + version = "20160825-git"; + asds = [ "cl-irregsexp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-irregsexp/2016-08-25/cl-irregsexp-20160825-git.tgz"; + sha256 = "09pf3jlqskcs32shbj9q3m0zww5pxyrizbvk2nxiwwnbl1rdb406"; + system = "cl-irregsexp"; + asd = "cl-irregsexp"; + } + ); + systems = [ "cl-irregsexp" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-isaac = ( + build-asdf-system { + pname = "cl-isaac"; + version = "20231021-git"; + asds = [ "cl-isaac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-isaac/2023-10-21/cl-isaac-20231021-git.tgz"; + sha256 = "07gjfynhqwwsa839i24h08xd9w7kn5g02rm35x96hq1qrfv1v0fn"; + system = "cl-isaac"; + asd = "cl-isaac"; + } + ); + systems = [ "cl-isaac" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-iterative = ( + build-asdf-system { + pname = "cl-iterative"; + version = "20160318-git"; + asds = [ "cl-iterative" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-iterative/2016-03-18/cl-iterative-20160318-git.tgz"; + sha256 = "01h2fs7nq2wivjwh9swsmfdvsdmd7j9dvzgrq0ijbq456zm8vilq"; + system = "cl-iterative"; + asd = "cl-iterative"; + } + ); + systems = [ "cl-iterative" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-iterative-tests = ( + build-asdf-system { + pname = "cl-iterative-tests"; + version = "20160318-git"; + asds = [ "cl-iterative-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-iterative/2016-03-18/cl-iterative-20160318-git.tgz"; + sha256 = "01h2fs7nq2wivjwh9swsmfdvsdmd7j9dvzgrq0ijbq456zm8vilq"; + system = "cl-iterative-tests"; + asd = "cl-iterative-tests"; + } + ); + systems = [ "cl-iterative-tests" ]; + lispLibs = [ + (getAttr "cl-iterative" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-itertools = ( + build-asdf-system { + pname = "cl-itertools"; + version = "20160421-git"; + asds = [ "cl-itertools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-itertools/2016-04-21/cl-itertools-20160421-git.tgz"; + sha256 = "0m1g7nxqnz03bcj46skcr2d50pi3lb4hwizna5d4mvl5hk4zwbxr"; + system = "cl-itertools"; + asd = "cl-itertools"; + } + ); + systems = [ "cl-itertools" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-coroutine" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-itertools-tests = ( + build-asdf-system { + pname = "cl-itertools-tests"; + version = "20160421-git"; + asds = [ "cl-itertools-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-itertools/2016-04-21/cl-itertools-20160421-git.tgz"; + sha256 = "0m1g7nxqnz03bcj46skcr2d50pi3lb4hwizna5d4mvl5hk4zwbxr"; + system = "cl-itertools-tests"; + asd = "cl-itertools"; + } + ); + systems = [ "cl-itertools-tests" ]; + lispLibs = [ + (getAttr "cl-itertools" self) + (getAttr "fiveam" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jpeg = ( + build-asdf-system { + pname = "cl-jpeg"; + version = "20230214-git"; + asds = [ "cl-jpeg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jpeg/2023-02-14/cl-jpeg-20230214-git.tgz"; + sha256 = "1xl1id4k1bdw6hf24ndkzr6nxi30yw7xlr1fhfmxnwjqwy5hcq14"; + system = "cl-jpeg"; + asd = "cl-jpeg"; + } + ); + systems = [ "cl-jpeg" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-js = ( + build-asdf-system { + pname = "cl-js"; + version = "20241012-git"; + asds = [ "cl-js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/js/2024-10-12/js-20241012-git.tgz"; + sha256 = "084rfqxbhrwqb3xfcx3kzmnyzacr2wb8bkxzl0srdgn17pl7hkx3"; + system = "cl-js"; + asd = "cl-js"; + } + ); + systems = [ "cl-js" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "parse-js" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jschema = ( + build-asdf-system { + pname = "cl-jschema"; + version = "v1.1.1"; + asds = [ "cl-jschema" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jschema/2023-06-18/cl-jschema-v1.1.1.tgz"; + sha256 = "0awc7hy07sg4h8k58xxxy578a5qklpkj3slslp7ghfzfdbi7nz11"; + system = "cl-jschema"; + asd = "cl-jschema"; + } + ); + systems = [ "cl-jschema" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-json = ( + build-asdf-system { + pname = "cl-json"; + version = "20220707-git"; + asds = [ "cl-json" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-json/2022-07-07/cl-json-20220707-git.tgz"; + sha256 = "12vakz47d1i7pywgb9cm2364fzykidc9m7l7b6n9lx0gn2qx9ar5"; + system = "cl-json"; + asd = "cl-json"; + } + ); + systems = [ "cl-json" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-json-helper = ( + build-asdf-system { + pname = "cl-json-helper"; + version = "20181210-git"; + asds = [ "cl-json-helper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-json-helper/2018-12-10/cl-json-helper-20181210-git.tgz"; + sha256 = "1dhv5lh514m7bvl77xjhb4ky7nf4bskgpld7rqg3rq24k4y0c79a"; + system = "cl-json-helper"; + asd = "cl-json-helper"; + } + ); + systems = [ "cl-json-helper" ]; + lispLibs = [ (getAttr "cl-json" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-json-pointer = ( + build-asdf-system { + pname = "cl-json-pointer"; + version = "20221106-git"; + asds = [ "cl-json-pointer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-json-pointer/2022-11-06/cl-json-pointer-20221106-git.tgz"; + sha256 = "0b7a755wc2ghsd1pv7d32877b21h4nssp41xs017anbmj55czb2h"; + system = "cl-json-pointer"; + asd = "cl-json-pointer"; + } + ); + systems = [ "cl-json-pointer" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "st-json" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-json-schema = ( + build-asdf-system { + pname = "cl-json-schema"; + version = "20210228-git"; + asds = [ "cl-json-schema" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-json-schema/2021-02-28/cl-json-schema-20210228-git.tgz"; + sha256 = "1c90c9j6d2b02zyyqd07200waqa4saq0svps7vfy5a3lxp9vag9i"; + system = "cl-json-schema"; + asd = "cl-json-schema"; + } + ); + systems = [ "cl-json-schema" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "trivial-do" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-json-schema-tests = ( + build-asdf-system { + pname = "cl-json-schema-tests"; + version = "20210228-git"; + asds = [ "cl-json-schema-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-json-schema/2021-02-28/cl-json-schema-20210228-git.tgz"; + sha256 = "1c90c9j6d2b02zyyqd07200waqa4saq0svps7vfy5a3lxp9vag9i"; + system = "cl-json-schema-tests"; + asd = "cl-json-schema-tests"; + } + ); + systems = [ "cl-json-schema-tests" ]; + lispLibs = [ + (getAttr "cl-json-schema" self) + (getAttr "cl-ppcre" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jsonl = ( + build-asdf-system { + pname = "cl-jsonl"; + version = "20231021-git"; + asds = [ "cl-jsonl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jsonl/2023-10-21/cl-jsonl-20231021-git.tgz"; + sha256 = "0mwszi9r88p21rl6x7gh0cjgmfmzvgs34257h88m6zr7q7h7djw4"; + system = "cl-jsonl"; + asd = "cl-jsonl"; + } + ); + systems = [ "cl-jsonl" ]; + lispLibs = [ + (getAttr "gtwiwtg" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jsx = ( + build-asdf-system { + pname = "cl-jsx"; + version = "20160208-git"; + asds = [ "cl-jsx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jsx/2016-02-08/cl-jsx-20160208-git.tgz"; + sha256 = "1vkqs65sqnfkfka2p93ibfrgg3wps3qhlcgcd8j40h0bv3phcjp7"; + system = "cl-jsx"; + asd = "cl-jsx"; + } + ); + systems = [ "cl-jsx" ]; + lispLibs = [ + (getAttr "cl-who" self) + (getAttr "esrap" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jsx-test = ( + build-asdf-system { + pname = "cl-jsx-test"; + version = "20160208-git"; + asds = [ "cl-jsx-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jsx/2016-02-08/cl-jsx-20160208-git.tgz"; + sha256 = "1vkqs65sqnfkfka2p93ibfrgg3wps3qhlcgcd8j40h0bv3phcjp7"; + system = "cl-jsx-test"; + asd = "cl-jsx-test"; + } + ); + systems = [ "cl-jsx-test" ]; + lispLibs = [ + (getAttr "cl-jsx" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-junit-xml = ( + build-asdf-system { + pname = "cl-junit-xml"; + version = "20150113-git"; + asds = [ "cl-junit-xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; + sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; + system = "cl-junit-xml"; + asd = "cl-junit-xml"; + } + ); + systems = [ "cl-junit-xml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cxml" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-junit-xml_dot_lisp-unit = ( + build-asdf-system { + pname = "cl-junit-xml.lisp-unit"; + version = "20150113-git"; + asds = [ "cl-junit-xml.lisp-unit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; + sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; + system = "cl-junit-xml.lisp-unit"; + asd = "cl-junit-xml.lisp-unit"; + } + ); + systems = [ "cl-junit-xml.lisp-unit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-junit-xml" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-junit-xml_dot_lisp-unit2 = ( + build-asdf-system { + pname = "cl-junit-xml.lisp-unit2"; + version = "20150113-git"; + asds = [ "cl-junit-xml.lisp-unit2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; + sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; + system = "cl-junit-xml.lisp-unit2"; + asd = "cl-junit-xml.lisp-unit2"; + } + ); + systems = [ "cl-junit-xml.lisp-unit2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-junit-xml" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-junit-xml_dot_test = ( + build-asdf-system { + pname = "cl-junit-xml.test"; + version = "20150113-git"; + asds = [ "cl-junit-xml.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz"; + sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr"; + system = "cl-junit-xml.test"; + asd = "cl-junit-xml"; + } + ); + systems = [ "cl-junit-xml.test" ]; + lispLibs = [ + (getAttr "cl-junit-xml" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jwk = ( + build-asdf-system { + pname = "cl-jwk"; + version = "20231021-git"; + asds = [ "cl-jwk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jwk/2023-10-21/cl-jwk-20231021-git.tgz"; + sha256 = "07hphgx40583hpvzj2xnk73lypfp1iq40nfpv3gf3hba4x54c17a"; + system = "cl-jwk"; + asd = "cl-jwk"; + } + ); + systems = [ "cl-jwk" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "binascii" self) + (getAttr "cl-reexport" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "jose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-jwk_dot_test = ( + build-asdf-system { + pname = "cl-jwk.test"; + version = "20231021-git"; + asds = [ "cl-jwk.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jwk/2023-10-21/cl-jwk-20231021-git.tgz"; + sha256 = "07hphgx40583hpvzj2xnk73lypfp1iq40nfpv3gf3hba4x54c17a"; + system = "cl-jwk.test"; + asd = "cl-jwk.test"; + } + ); + systems = [ "cl-jwk.test" ]; + lispLibs = [ + (getAttr "cl-jwk" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-k8055 = ( + build-asdf-system { + pname = "cl-k8055"; + version = "20231021-git"; + asds = [ "cl-k8055" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-k8055/2023-10-21/cl-k8055-20231021-git.tgz"; + sha256 = "1qap7pf90l89lqb8asnnnc0qfaabd6p179vmdq1z7n5wxdwsw2b3"; + system = "cl-k8055"; + asd = "cl-k8055"; + } + ); + systems = [ "cl-k8055" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-kanren = ( + build-asdf-system { + pname = "cl-kanren"; + version = "20241012-git"; + asds = [ "cl-kanren" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kanren/2024-10-12/cl-kanren-20241012-git.tgz"; + sha256 = "136jdgh23vb7imihk9dqwpk8wzjmpvkqfhah3qrxpsw0xpir29sh"; + system = "cl-kanren"; + asd = "cl-kanren"; + } + ); + systems = [ "cl-kanren" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-kanren-test = ( + build-asdf-system { + pname = "cl-kanren-test"; + version = "20241012-git"; + asds = [ "cl-kanren-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kanren/2024-10-12/cl-kanren-20241012-git.tgz"; + sha256 = "136jdgh23vb7imihk9dqwpk8wzjmpvkqfhah3qrxpsw0xpir29sh"; + system = "cl-kanren-test"; + asd = "cl-kanren-test"; + } + ); + systems = [ "cl-kanren-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-kanren" self) + (getAttr "clunit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-keycloak = ( + build-asdf-system { + pname = "cl-keycloak"; + version = "20190710-git"; + asds = [ "cl-keycloak" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-keycloak/2019-07-10/cl-keycloak-20190710-git.tgz"; + sha256 = "052x10xj951061xa80kp1ziwrr8hskjsr7q2ni1d1ab26rkmhb9q"; + system = "cl-keycloak"; + asd = "cl-keycloak"; + } + ); + systems = [ "cl-keycloak" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-kraken = ( + build-asdf-system { + pname = "cl-kraken"; + version = "20220331-git"; + asds = [ "cl-kraken" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kraken/2022-03-31/cl-kraken-20220331-git.tgz"; + sha256 = "07a9a7yqii0gsiaf4r6jfz2nb2m8766rv4acqcdjm8zmsllwx7jz"; + system = "cl-kraken"; + asd = "cl-kraken"; + } + ); + systems = [ "cl-kraken" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "jsown" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ksuid = ( + build-asdf-system { + pname = "cl-ksuid"; + version = "20170830-git"; + asds = [ "cl-ksuid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ksuid/2017-08-30/cl-ksuid-20170830-git.tgz"; + sha256 = "142fr8l6aa6wxnjxv04f61hy9504cx9x1r10byhmj475s5pfr6gl"; + system = "cl-ksuid"; + asd = "cl-ksuid"; + } + ); + systems = [ "cl-ksuid" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "ironclad" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ksuid-test = ( + build-asdf-system { + pname = "cl-ksuid-test"; + version = "20170830-git"; + asds = [ "cl-ksuid-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ksuid/2017-08-30/cl-ksuid-20170830-git.tgz"; + sha256 = "142fr8l6aa6wxnjxv04f61hy9504cx9x1r10byhmj475s5pfr6gl"; + system = "cl-ksuid-test"; + asd = "cl-ksuid"; + } + ); + systems = [ "cl-ksuid-test" ]; + lispLibs = [ + (getAttr "cl-ksuid" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ktx = ( + build-asdf-system { + pname = "cl-ktx"; + version = "20231021-git"; + asds = [ "cl-ktx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ktx/2023-10-21/cl-ktx-20231021-git.tgz"; + sha256 = "1nggg3qixnmv9gisj0aqd369z1rm2qqdf17xnsxcpzz1d9lvxqhq"; + system = "cl-ktx"; + asd = "cl-ktx"; + } + ); + systems = [ "cl-ktx" ]; + lispLibs = [ + (getAttr "binary-structures" self) + (getAttr "cl-opengl" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-kyoto-cabinet = ( + build-asdf-system { + pname = "cl-kyoto-cabinet"; + version = "20191130-git"; + asds = [ "cl-kyoto-cabinet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kyoto-cabinet/2019-11-30/cl-kyoto-cabinet-20191130-git.tgz"; + sha256 = "0ayp87ggayaf8d1dblpv90a87fmgh9vhhcah3ch6jvcw6zzb9lcr"; + system = "cl-kyoto-cabinet"; + asd = "cl-kyoto-cabinet"; + } + ); + systems = [ "cl-kyoto-cabinet" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-l10n = ( + build-asdf-system { + pname = "cl-l10n"; + version = "20211209-git"; + asds = [ "cl-l10n" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-l10n/2021-12-09/cl-l10n-20211209-git.tgz"; + sha256 = "10yknvjcbgc82a6k6yzj2diki2z2s04q5kg642f2gfj2rl3bjyz7"; + system = "cl-l10n"; + asd = "cl-l10n"; + } + ); + systems = [ "cl-l10n" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-l10n-cldr" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "cxml" self) + (getAttr "flexi-streams" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "metabang-bind" self) + ]; + meta = { }; + } + ); + cl-l10n-cldr = ( + build-asdf-system { + pname = "cl-l10n-cldr"; + version = "20120909-darcs"; + asds = [ "cl-l10n-cldr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-l10n-cldr/2012-09-09/cl-l10n-cldr-20120909-darcs.tgz"; + sha256 = "1mwkjdc51158v9rpdpsc1qzqqs0x8hb9k1k7b0pm8q7dp9rrb53v"; + system = "cl-l10n-cldr"; + asd = "cl-l10n-cldr"; + } + ); + systems = [ "cl-l10n-cldr" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-lambdacalc = ( + build-asdf-system { + pname = "cl-lambdacalc"; + version = "20230214-git"; + asds = [ "cl-lambdacalc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lambdacalc/2023-02-14/cl-lambdacalc-20230214-git.tgz"; + sha256 = "0ja08d6p1dnbpf8yl8n59vis5lzr3x32in3iin72zmhj5n60axbd"; + system = "cl-lambdacalc"; + asd = "cl-lambdacalc"; + } + ); + systems = [ "cl-lambdacalc" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lambdacalc-test = ( + build-asdf-system { + pname = "cl-lambdacalc-test"; + version = "20230214-git"; + asds = [ "cl-lambdacalc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lambdacalc/2023-02-14/cl-lambdacalc-20230214-git.tgz"; + sha256 = "0ja08d6p1dnbpf8yl8n59vis5lzr3x32in3iin72zmhj5n60axbd"; + system = "cl-lambdacalc-test"; + asd = "cl-lambdacalc-test"; + } + ); + systems = [ "cl-lambdacalc-test" ]; + lispLibs = [ + (getAttr "cl-lambdacalc" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-las = ( + build-asdf-system { + pname = "cl-las"; + version = "20221106-git"; + asds = [ "cl-las" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-las/2022-11-06/cl-las-20221106-git.tgz"; + sha256 = "119v5mrvxhz8b3alqj9gzfbzhigdm1n1hmwyylncn5w5dkq3jc9k"; + system = "cl-las"; + asd = "cl-las"; + } + ); + systems = [ "cl-las" ]; + lispLibs = [ (getAttr "binary-io" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lastfm = ( + build-asdf-system { + pname = "cl-lastfm"; + version = "0.2.1"; + asds = [ "cl-lastfm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lastfm/2014-07-13/cl-lastfm-0.2.1.tgz"; + sha256 = "0f37b8swgfz57bffcypjhcgzj5dhanssiraahkianj65a6zbindl"; + system = "cl-lastfm"; + asd = "cl-lastfm"; + } + ); + systems = [ "cl-lastfm" ]; + lispLibs = [ + (getAttr "cxml-stp" self) + (getAttr "drakma" self) + (getAttr "trivial-utf-8" self) + (getAttr "url-rewrite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lastfm-test = ( + build-asdf-system { + pname = "cl-lastfm-test"; + version = "0.2.1"; + asds = [ "cl-lastfm-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lastfm/2014-07-13/cl-lastfm-0.2.1.tgz"; + sha256 = "0f37b8swgfz57bffcypjhcgzj5dhanssiraahkianj65a6zbindl"; + system = "cl-lastfm-test"; + asd = "cl-lastfm-test"; + } + ); + systems = [ "cl-lastfm-test" ]; + lispLibs = [ + (getAttr "cl-lastfm" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-launch = ( + build-asdf-system { + pname = "cl-launch"; + version = "4.1.4.1"; + asds = [ "cl-launch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-launch/2015-10-31/cl-launch-4.1.4.1.tgz"; + sha256 = "041nh1sh9rqdk9c1kr63n3g2pn11i68x9plzyfq36wmyhz2aypnr"; + system = "cl-launch"; + asd = "cl-launch"; + } + ); + systems = [ "cl-launch" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lc = ( + build-asdf-system { + pname = "cl-lc"; + version = "20241012-git"; + asds = [ "cl-lc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lc/2024-10-12/cl-lc-20241012-git.tgz"; + sha256 = "07wpbwgjybhp6vdr2rbd93jwakqixr9dyymp3yz1h684ln7wvfkb"; + system = "cl-lc"; + asd = "cl-lc"; + } + ); + systems = [ "cl-lc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ledger = ( + build-asdf-system { + pname = "cl-ledger"; + version = "20200218-git"; + asds = [ "cl-ledger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ledger/2020-02-18/cl-ledger-20200218-git.tgz"; + sha256 = "1dpxna9s0rgshqbc58h698ihwyk34a3napb8zrm8vbq8aigjrrzs"; + system = "cl-ledger"; + asd = "cl-ledger"; + } + ); + systems = [ "cl-ledger" ]; + lispLibs = [ + (getAttr "cambl" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "periods-series" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lex = ( + build-asdf-system { + pname = "cl-lex"; + version = "20160929-git"; + asds = [ "cl-lex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lex/2016-09-29/cl-lex-20160929-git.tgz"; + sha256 = "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"; + system = "cl-lex"; + asd = "cl-lex"; + } + ); + systems = [ "cl-lex" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lexer = ( + build-asdf-system { + pname = "cl-lexer"; + version = "20191007-git"; + asds = [ "cl-lexer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lexer/2019-10-07/cl-lexer-20191007-git.tgz"; + sha256 = "182fnmazfmc3zdp14lvpxlaxrwwsjp8mbjn8sdzywjxcnvlpkdmk"; + system = "cl-lexer"; + asd = "cl-lexer"; + } + ); + systems = [ "cl-lexer" ]; + lispLibs = [ (getAttr "regex" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-liballegro = ( + build-asdf-system { + pname = "cl-liballegro"; + version = "20241012-git"; + asds = [ "cl-liballegro" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-liballegro/2024-10-12/cl-liballegro-20241012-git.tgz"; + sha256 = "1q263wzm25rynyhcym216l3swhrz6fhiwhdbh4iz212hw9w0kn71"; + system = "cl-liballegro"; + asd = "cl-liballegro"; + } + ); + systems = [ "cl-liballegro" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "float-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-gray-streams" self) + (getAttr "trivial-main-thread" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-liballegro-nuklear = ( + build-asdf-system { + pname = "cl-liballegro-nuklear"; + version = "20241012-git"; + asds = [ "cl-liballegro-nuklear" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-liballegro-nuklear/2024-10-12/cl-liballegro-nuklear-20241012-git.tgz"; + sha256 = "15wbs1jfl60dnyzgzdibw2hkl64cx3n3v90i5jp0vd123kix217j"; + system = "cl-liballegro-nuklear"; + asd = "cl-liballegro-nuklear"; + } + ); + systems = [ "cl-liballegro-nuklear" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "cl-liballegro" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libevent2 = ( + build-asdf-system { + pname = "cl-libevent2"; + version = "20190107-git"; + asds = [ "cl-libevent2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libevent2/2019-01-07/cl-libevent2-20190107-git.tgz"; + sha256 = "18c8cxlh0vmyca7ihj8dz3f1j31h7y0kcis6qr6mpkzyi0k2cf0g"; + system = "cl-libevent2"; + asd = "cl-libevent2"; + } + ); + systems = [ "cl-libevent2" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libevent2-ssl = ( + build-asdf-system { + pname = "cl-libevent2-ssl"; + version = "20190107-git"; + asds = [ "cl-libevent2-ssl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libevent2/2019-01-07/cl-libevent2-20190107-git.tgz"; + sha256 = "18c8cxlh0vmyca7ihj8dz3f1j31h7y0kcis6qr6mpkzyi0k2cf0g"; + system = "cl-libevent2-ssl"; + asd = "cl-libevent2-ssl"; + } + ); + systems = [ "cl-libevent2-ssl" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-libevent2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libiio = ( + build-asdf-system { + pname = "cl-libiio"; + version = "20191130-git"; + asds = [ "cl-libiio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libiio/2019-11-30/cl-libiio-20191130-git.tgz"; + sha256 = "1z1jslm303c22imhshr92j1mq7g3j81xa5rk5psj3x00papncwmr"; + system = "cl-libiio"; + asd = "cl-libiio"; + } + ); + systems = [ "cl-libiio" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libinput = ( + build-asdf-system { + pname = "cl-libinput"; + version = "20220707-git"; + asds = [ "cl-libinput" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libinput/2022-07-07/cl-libinput-20220707-git.tgz"; + sha256 = "18c3rl3d2bizbp3607gnn9j50x84f2mkypj9rqbry56i5gcw8zkh"; + system = "cl-libinput"; + asd = "cl-libinput"; + } + ); + systems = [ "cl-libinput" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "osicat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-liblinear = ( + build-asdf-system { + pname = "cl-liblinear"; + version = "20211020-git"; + asds = [ "cl-liblinear" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libsvm/2021-10-20/cl-libsvm-20211020-git.tgz"; + sha256 = "0fpcw82hz6bp2hicjhvhxwcj4azprcl911n8q941lk8xcld3pmi0"; + system = "cl-liblinear"; + asd = "cl-liblinear"; + } + ); + systems = [ "cl-liblinear" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libpuzzle = ( + build-asdf-system { + pname = "cl-libpuzzle"; + version = "20150608-git"; + asds = [ "cl-libpuzzle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libpuzzle/2015-06-08/cl-libpuzzle-20150608-git.tgz"; + sha256 = "0qgpdg4lni4sq6jp23qcd1jldsnrsn4h5b14ddmc8mb7va4qshlp"; + system = "cl-libpuzzle"; + asd = "cl-libpuzzle"; + } + ); + systems = [ "cl-libpuzzle" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libpuzzle-test = ( + build-asdf-system { + pname = "cl-libpuzzle-test"; + version = "20150608-git"; + asds = [ "cl-libpuzzle-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libpuzzle/2015-06-08/cl-libpuzzle-20150608-git.tgz"; + sha256 = "0qgpdg4lni4sq6jp23qcd1jldsnrsn4h5b14ddmc8mb7va4qshlp"; + system = "cl-libpuzzle-test"; + asd = "cl-libpuzzle-test"; + } + ); + systems = [ "cl-libpuzzle-test" ]; + lispLibs = [ + (getAttr "cl-libpuzzle" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libsvm = ( + build-asdf-system { + pname = "cl-libsvm"; + version = "20211020-git"; + asds = [ "cl-libsvm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libsvm/2021-10-20/cl-libsvm-20211020-git.tgz"; + sha256 = "0fpcw82hz6bp2hicjhvhxwcj4azprcl911n8q941lk8xcld3pmi0"; + system = "cl-libsvm"; + asd = "cl-libsvm"; + } + ); + systems = [ "cl-libsvm" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libsvm-format = ( + build-asdf-system { + pname = "cl-libsvm-format"; + version = "20180711-git"; + asds = [ "cl-libsvm-format" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libsvm-format/2018-07-11/cl-libsvm-format-20180711-git.tgz"; + sha256 = "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"; + system = "cl-libsvm-format"; + asd = "cl-libsvm-format"; + } + ); + systems = [ "cl-libsvm-format" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libsvm-format-test = ( + build-asdf-system { + pname = "cl-libsvm-format-test"; + version = "20180711-git"; + asds = [ "cl-libsvm-format-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libsvm-format/2018-07-11/cl-libsvm-format-20180711-git.tgz"; + sha256 = "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"; + system = "cl-libsvm-format-test"; + asd = "cl-libsvm-format-test"; + } + ); + systems = [ "cl-libsvm-format-test" ]; + lispLibs = [ + (getAttr "cl-libsvm-format" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libusb = ( + build-asdf-system { + pname = "cl-libusb"; + version = "20210228-git"; + asds = [ "cl-libusb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libusb/2021-02-28/cl-libusb-20210228-git.tgz"; + sha256 = "0kyzgcflwb85q58fgn82sp0bipnq5bprg5i4h0h3jxafqqyagbnk"; + system = "cl-libusb"; + asd = "cl-libusb"; + } + ); + systems = [ "cl-libusb" ]; + lispLibs = [ + (getAttr "libusb-ffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libuv = ( + build-asdf-system { + pname = "cl-libuv"; + version = "20230618-git"; + asds = [ "cl-libuv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libuv/2023-06-18/cl-libuv-20230618-git.tgz"; + sha256 = "13kymryibhlq7jc8q3yar0c676srx82axfmz0x2r5kq7k94cknl9"; + system = "cl-libuv"; + asd = "cl-libuv"; + } + ); + systems = [ "cl-libuv" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { }; + } + ); + cl-libuv-config = ( + build-asdf-system { + pname = "cl-libuv-config"; + version = "20230618-git"; + asds = [ "cl-libuv-config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libuv/2023-06-18/cl-libuv-20230618-git.tgz"; + sha256 = "13kymryibhlq7jc8q3yar0c676srx82axfmz0x2r5kq7k94cknl9"; + system = "cl-libuv-config"; + asd = "cl-libuv-config"; + } + ); + systems = [ "cl-libuv-config" ]; + lispLibs = [ (getAttr "cffi-grovel" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libxml2 = ( + build-asdf-system { + pname = "cl-libxml2"; + version = "20130615-git"; + asds = [ "cl-libxml2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; + sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; + system = "cl-libxml2"; + asd = "cl-libxml2"; + } + ); + systems = [ "cl-libxml2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "flexi-streams" self) + (getAttr "garbage-pools" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + (getAttr "puri" self) + ]; + meta = { }; + } + ); + cl-libxml2-test = ( + build-asdf-system { + pname = "cl-libxml2-test"; + version = "20130615-git"; + asds = [ "cl-libxml2-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; + sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; + system = "cl-libxml2-test"; + asd = "cl-libxml2"; + } + ); + systems = [ "cl-libxml2-test" ]; + lispLibs = [ + (getAttr "cl-libxml2" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-libyaml = ( + build-asdf-system { + pname = "cl-libyaml"; + version = "20201220-git"; + asds = [ "cl-libyaml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libyaml/2020-12-20/cl-libyaml-20201220-git.tgz"; + sha256 = "06pvmackyhq03rjmihpx6w63m6cy8wx78ll5xpwwvd85bgrqq817"; + system = "cl-libyaml"; + asd = "cl-libyaml"; + } + ); + systems = [ "cl-libyaml" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { }; + } + ); + cl-libyaml-test = ( + build-asdf-system { + pname = "cl-libyaml-test"; + version = "20201220-git"; + asds = [ "cl-libyaml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libyaml/2020-12-20/cl-libyaml-20201220-git.tgz"; + sha256 = "06pvmackyhq03rjmihpx6w63m6cy8wx78ll5xpwwvd85bgrqq817"; + system = "cl-libyaml-test"; + asd = "cl-libyaml-test"; + } + ); + systems = [ "cl-libyaml-test" ]; + lispLibs = [ + (getAttr "cl-libyaml" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lite = ( + build-asdf-system { + pname = "cl-lite"; + version = "master-fe503896-git"; + asds = [ "cl-lite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "cl-lite"; + asd = "cl-lite"; + } + ); + systems = [ "cl-lite" ]; + lispLibs = [ (getAttr "glisp" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-locale = ( + build-asdf-system { + pname = "cl-locale"; + version = "20151031-git"; + asds = [ "cl-locale" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz"; + sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"; + system = "cl-locale"; + asd = "cl-locale"; + } + ); + systems = [ "cl-locale" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "arnesi" self) + (getAttr "cl-annot" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + ]; + meta = { }; + } + ); + cl-locale-syntax = ( + build-asdf-system { + pname = "cl-locale-syntax"; + version = "20151031-git"; + asds = [ "cl-locale-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz"; + sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"; + system = "cl-locale-syntax"; + asd = "cl-locale-syntax"; + } + ); + systems = [ "cl-locale-syntax" ]; + lispLibs = [ + (getAttr "cl-locale" self) + (getAttr "cl-syntax" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-locale-test = ( + build-asdf-system { + pname = "cl-locale-test"; + version = "20151031-git"; + asds = [ "cl-locale-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz"; + sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"; + system = "cl-locale-test"; + asd = "cl-locale-test"; + } + ); + systems = [ "cl-locale-test" ]; + lispLibs = [ + (getAttr "cl-locale" self) + (getAttr "cl-syntax" self) + (getAttr "flexi-streams" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-locatives = ( + build-asdf-system { + pname = "cl-locatives"; + version = "20230618-git"; + asds = [ "cl-locatives" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-locatives/2023-06-18/cl-locatives-20230618-git.tgz"; + sha256 = "05avna8fj3bicdhbcvnjmv9dnqq10g26m9pwgmrh6a4hyxz9zdaq"; + system = "cl-locatives"; + asd = "cl-locatives"; + } + ); + systems = [ "cl-locatives" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-log = ( + build-asdf-system { + pname = "cl-log"; + version = "20241012-git"; + asds = [ "cl-log" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-log/2024-10-12/cl-log-20241012-git.tgz"; + sha256 = "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"; + system = "cl-log"; + asd = "cl-log"; + } + ); + systems = [ "cl-log" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-logic = ( + build-asdf-system { + pname = "cl-logic"; + version = "20141217-git"; + asds = [ "cl-logic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-logic/2014-12-17/cl-logic-20141217-git.tgz"; + sha256 = "17n2wzqali3j6b7pqbydipwlxgwdrj4mdnsgwjdyz32n8jvfyjwh"; + system = "cl-logic"; + asd = "cl-logic"; + } + ); + systems = [ "cl-logic" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "quine-mccluskey" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ltsv = ( + build-asdf-system { + pname = "cl-ltsv"; + version = "20140713-git"; + asds = [ "cl-ltsv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ltsv/2014-07-13/cl-ltsv-20140713-git.tgz"; + sha256 = "1bjvnwxyaaw3yrq5hws2fr4qmk5938hdh2np2bqpm4m3b2c94n22"; + system = "cl-ltsv"; + asd = "cl-ltsv"; + } + ); + systems = [ "cl-ltsv" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ltsv-test = ( + build-asdf-system { + pname = "cl-ltsv-test"; + version = "20140713-git"; + asds = [ "cl-ltsv-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ltsv/2014-07-13/cl-ltsv-20140713-git.tgz"; + sha256 = "1bjvnwxyaaw3yrq5hws2fr4qmk5938hdh2np2bqpm4m3b2c94n22"; + system = "cl-ltsv-test"; + asd = "cl-ltsv-test"; + } + ); + systems = [ "cl-ltsv-test" ]; + lispLibs = [ + (getAttr "cl-ltsv" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-lzma = ( + build-asdf-system { + pname = "cl-lzma"; + version = "20191130-git"; + asds = [ "cl-lzma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lzma/2019-11-30/cl-lzma-20191130-git.tgz"; + sha256 = "17fdinmi2ffdga17slv86van0sp9gkvlmjprfdwak2jzziz6fxx6"; + system = "cl-lzma"; + asd = "cl-lzma"; + } + ); + systems = [ "cl-lzma" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-autowrap" self) + (getAttr "fast-io" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-m4 = ( + build-asdf-system { + pname = "cl-m4"; + version = "20130312-git"; + asds = [ "cl-m4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-m4/2013-03-12/cl-m4-20130312-git.tgz"; + sha256 = "1dqdhxb45j4vqmx38xkq32gsckldca8rxpf2idg4b61wd21c0ci6"; + system = "cl-m4"; + asd = "cl-m4"; + } + ); + systems = [ "cl-m4" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "external-program" self) + (getAttr "graylex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-m4-test = ( + build-asdf-system { + pname = "cl-m4-test"; + version = "20130312-git"; + asds = [ "cl-m4-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-m4/2013-03-12/cl-m4-20130312-git.tgz"; + sha256 = "1dqdhxb45j4vqmx38xkq32gsckldca8rxpf2idg4b61wd21c0ci6"; + system = "cl-m4-test"; + asd = "cl-m4-test"; + } + ); + systems = [ "cl-m4-test" ]; + lispLibs = [ + (getAttr "cl-heredoc" self) + (getAttr "cl-m4" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mango = ( + build-asdf-system { + pname = "cl-mango"; + version = "20200925-git"; + asds = [ "cl-mango" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mango/2020-09-25/cl-mango-20200925-git.tgz"; + sha256 = "0ipa1azakzqigq103m1j2z597bp2i34kx4z1418kp2jn8zwbdz5s"; + system = "cl-mango"; + asd = "cl-mango"; + } + ); + systems = [ "cl-mango" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "json-mop" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markdown = ( + build-asdf-system { + pname = "cl-markdown"; + version = "20191227-git"; + asds = [ "cl-markdown" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz"; + sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg"; + system = "cl-markdown"; + asd = "cl-markdown"; + } + ); + systems = [ "cl-markdown" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "cl-containers" self) + (getAttr "cl-ppcre" self) + (getAttr "dynamic-classes" self) + (getAttr "metabang-bind" self) + (getAttr "metatilities-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markdown-comparisons = ( + build-asdf-system { + pname = "cl-markdown-comparisons"; + version = "20191227-git"; + asds = [ "cl-markdown-comparisons" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz"; + sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg"; + system = "cl-markdown-comparisons"; + asd = "cl-markdown-comparisons"; + } + ); + systems = [ "cl-markdown-comparisons" ]; + lispLibs = [ + (getAttr "cl-html-diff" self) + (getAttr "cl-markdown" self) + (getAttr "html-encode" self) + (getAttr "lift" self) + (getAttr "lml2" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markdown-test = ( + build-asdf-system { + pname = "cl-markdown-test"; + version = "20191227-git"; + asds = [ "cl-markdown-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz"; + sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg"; + system = "cl-markdown-test"; + asd = "cl-markdown-test"; + } + ); + systems = [ "cl-markdown-test" ]; + lispLibs = [ + (getAttr "cl-markdown" self) + (getAttr "lift" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless = ( + build-asdf-system { + pname = "cl-markless"; + version = "20241012-git"; + asds = [ "cl-markless" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless"; + asd = "cl-markless"; + } + ); + systems = [ "cl-markless" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless-epub = ( + build-asdf-system { + pname = "cl-markless-epub"; + version = "20241012-git"; + asds = [ "cl-markless-epub" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless-epub"; + asd = "cl-markless-epub"; + } + ); + systems = [ "cl-markless-epub" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-markless-plump" self) + (getAttr "trivial-gray-streams" self) + (getAttr "trivial-indent" self) + (getAttr "trivial-mimes" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless-latex = ( + build-asdf-system { + pname = "cl-markless-latex"; + version = "20241012-git"; + asds = [ "cl-markless-latex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless-latex"; + asd = "cl-markless-latex"; + } + ); + systems = [ "cl-markless-latex" ]; + lispLibs = [ (getAttr "cl-markless" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless-markdown = ( + build-asdf-system { + pname = "cl-markless-markdown"; + version = "20241012-git"; + asds = [ "cl-markless-markdown" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless-markdown"; + asd = "cl-markless-markdown"; + } + ); + systems = [ "cl-markless-markdown" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "cl-markless" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless-plump = ( + build-asdf-system { + pname = "cl-markless-plump"; + version = "20241012-git"; + asds = [ "cl-markless-plump" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless-plump"; + asd = "cl-markless-plump"; + } + ); + systems = [ "cl-markless-plump" ]; + lispLibs = [ + (getAttr "cl-markless" self) + (getAttr "plump-dom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless-standalone = ( + build-asdf-system { + pname = "cl-markless-standalone"; + version = "20241012-git"; + asds = [ "cl-markless-standalone" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless-standalone"; + asd = "cl-markless-standalone"; + } + ); + systems = [ "cl-markless-standalone" ]; + lispLibs = [ + (getAttr "cl-markless" self) + (getAttr "cl-markless-epub" self) + (getAttr "cl-markless-latex" self) + (getAttr "cl-markless-markdown" self) + (getAttr "cl-markless-plump" self) + (getAttr "command-line-arguments" self) + (getAttr "pathname-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markless-test = ( + build-asdf-system { + pname = "cl-markless-test"; + version = "20241012-git"; + asds = [ "cl-markless-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markless/2024-10-12/cl-markless-20241012-git.tgz"; + sha256 = "0csbqglj5ccjw7j95a6cb8pj195lrdk1pn0y3f37w3pjy4pg782g"; + system = "cl-markless-test"; + asd = "cl-markless-test"; + } + ); + systems = [ "cl-markless-test" ]; + lispLibs = [ + (getAttr "cl-markless" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-marklogic = ( + build-asdf-system { + pname = "cl-marklogic"; + version = "20210124-git"; + asds = [ "cl-marklogic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; + sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; + system = "cl-marklogic"; + asd = "cl-marklogic"; + } + ); + systems = [ "cl-marklogic" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "drakma" self) + (getAttr "fiveam" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-markup = ( + build-asdf-system { + pname = "cl-markup"; + version = "20131003-git"; + asds = [ "cl-markup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz"; + sha256 = "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"; + system = "cl-markup"; + asd = "cl-markup"; + } + ); + systems = [ "cl-markup" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-markup-test = ( + build-asdf-system { + pname = "cl-markup-test"; + version = "20131003-git"; + asds = [ "cl-markup-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz"; + sha256 = "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"; + system = "cl-markup-test"; + asd = "cl-markup-test"; + } + ); + systems = [ "cl-markup-test" ]; + lispLibs = [ + (getAttr "cl-markup" self) + (getAttr "cl-test-more" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-match = ( + build-asdf-system { + pname = "cl-match"; + version = "20121125-git"; + asds = [ "cl-match" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; + sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; + system = "cl-match"; + asd = "cl-match"; + } + ); + systems = [ "cl-match" ]; + lispLibs = [ (getAttr "standard-cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-match-test = ( + build-asdf-system { + pname = "cl-match-test"; + version = "20121125-git"; + asds = [ "cl-match-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; + sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; + system = "cl-match-test"; + asd = "cl-match-test"; + } + ); + systems = [ "cl-match-test" ]; + lispLibs = [ + (getAttr "cl-match" self) + (getAttr "pcl-unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mathstats = ( + build-asdf-system { + pname = "cl-mathstats"; + version = "20230214-git"; + asds = [ "cl-mathstats" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mathstats/2023-02-14/cl-mathstats-20230214-git.tgz"; + sha256 = "17ic625bdsvgfjndl4zzxkjy7dcl54alg2pdr0jjn4cpysffga6z"; + system = "cl-mathstats"; + asd = "cl-mathstats"; + } + ); + systems = [ "cl-mathstats" ]; + lispLibs = [ + (getAttr "cl-containers" self) + (getAttr "metatilities-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mathstats-test = ( + build-asdf-system { + pname = "cl-mathstats-test"; + version = "20230214-git"; + asds = [ "cl-mathstats-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mathstats/2023-02-14/cl-mathstats-20230214-git.tgz"; + sha256 = "17ic625bdsvgfjndl4zzxkjy7dcl54alg2pdr0jjn4cpysffga6z"; + system = "cl-mathstats-test"; + asd = "cl-mathstats-test"; + } + ); + systems = [ "cl-mathstats-test" ]; + lispLibs = [ + (getAttr "cl-mathstats" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-maxminddb = ( + build-asdf-system { + pname = "cl-maxminddb"; + version = "20210630-git"; + asds = [ "cl-maxminddb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-maxminddb/2021-06-30/cl-maxminddb-20210630-git.tgz"; + sha256 = "1mm7cpiygcka39pj4a0rvhayfl4wh0zfjkda60yshq24xmml84pw"; + system = "cl-maxminddb"; + asd = "cl-maxminddb"; + } + ); + systems = [ "cl-maxminddb" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "ieee-floats" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + (getAttr "mmap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-maxsat = ( + build-asdf-system { + pname = "cl-maxsat"; + version = "20200218-git"; + asds = [ "cl-maxsat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-maxsat/2020-02-18/cl-maxsat-20200218-git.tgz"; + sha256 = "0qy4hhi8y3wv88x3s88g2hl2cz25cjp26xapd3z4h7lrx7cy786i"; + system = "cl-maxsat"; + asd = "cl-maxsat"; + } + ); + systems = [ "cl-maxsat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-sat" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-maxsat_dot_test = ( + build-asdf-system { + pname = "cl-maxsat.test"; + version = "20200218-git"; + asds = [ "cl-maxsat.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-maxsat/2020-02-18/cl-maxsat-20200218-git.tgz"; + sha256 = "0qy4hhi8y3wv88x3s88g2hl2cz25cjp26xapd3z4h7lrx7cy786i"; + system = "cl-maxsat.test"; + asd = "cl-maxsat.test"; + } + ); + systems = [ "cl-maxsat.test" ]; + lispLibs = [ + (getAttr "cl-maxsat" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mdb = ( + build-asdf-system { + pname = "cl-mdb"; + version = "20220707-git"; + asds = [ "cl-mdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mdb/2022-07-07/cl-mdb-20220707-git.tgz"; + sha256 = "1xkhk39485yv3j9bshnnv74c95asf9704g80wb8vwvwsvqi7ym2a"; + system = "cl-mdb"; + asd = "cl-mdb"; + } + ); + systems = [ "cl-mdb" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mecab = ( + build-asdf-system { + pname = "cl-mecab"; + version = "20181018-git"; + asds = [ "cl-mecab" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mecab/2018-10-18/cl-mecab-20181018-git.tgz"; + sha256 = "0lfan9p8dsniyp60g6n8awfjvv8lyickc40qdxiry6kmp65636ps"; + system = "cl-mecab"; + asd = "cl-mecab"; + } + ); + systems = [ "cl-mecab" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mecab-test = ( + build-asdf-system { + pname = "cl-mecab-test"; + version = "20181018-git"; + asds = [ "cl-mecab-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mecab/2018-10-18/cl-mecab-20181018-git.tgz"; + sha256 = "0lfan9p8dsniyp60g6n8awfjvv8lyickc40qdxiry6kmp65636ps"; + system = "cl-mecab-test"; + asd = "cl-mecab-test"; + } + ); + systems = [ "cl-mecab-test" ]; + lispLibs = [ + (getAttr "cl-mecab" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mechanize = ( + build-asdf-system { + pname = "cl-mechanize"; + version = "20180711-git"; + asds = [ "cl-mechanize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mechanize/2018-07-11/cl-mechanize-20180711-git.tgz"; + sha256 = "0y86sdi2nl3jv6n535cd62jax0mpc0cckrhffaqacbgbdjc875sn"; + system = "cl-mechanize"; + asd = "cl-mechanize"; + } + ); + systems = [ "cl-mechanize" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closure-html" self) + (getAttr "cxml-stp" self) + (getAttr "drakma" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mediawiki = ( + build-asdf-system { + pname = "cl-mediawiki"; + version = "20161204-git"; + asds = [ "cl-mediawiki" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mediawiki/2016-12-04/cl-mediawiki-20161204-git.tgz"; + sha256 = "1wrysj9l64k3xx152yw1arvn1glnx60j730qvj8prm65iid95xgm"; + system = "cl-mediawiki"; + asd = "cl-mediawiki"; + } + ); + systems = [ "cl-mediawiki" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mediawiki-test = ( + build-asdf-system { + pname = "cl-mediawiki-test"; + version = "20161204-git"; + asds = [ "cl-mediawiki-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mediawiki/2016-12-04/cl-mediawiki-20161204-git.tgz"; + sha256 = "1wrysj9l64k3xx152yw1arvn1glnx60j730qvj8prm65iid95xgm"; + system = "cl-mediawiki-test"; + asd = "cl-mediawiki-test"; + } + ); + systems = [ "cl-mediawiki-test" ]; + lispLibs = [ + (getAttr "cl-mediawiki" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-megolm = ( + build-asdf-system { + pname = "cl-megolm"; + version = "20230214-git"; + asds = [ "cl-megolm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-megolm/2023-02-14/cl-megolm-20230214-git.tgz"; + sha256 = "1n80v63pw2ck419fglgdhhqnc06jmams6mnxb8sqdg966qxhql2k"; + system = "cl-megolm"; + asd = "cl-megolm"; + } + ); + systems = [ "cl-megolm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "claw-olm" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "lisp-unit" self) + (getAttr "s-base64" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-memcached = ( + build-asdf-system { + pname = "cl-memcached"; + version = "20150608-git"; + asds = [ "cl-memcached" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-memcached/2015-06-08/cl-memcached-20150608-git.tgz"; + sha256 = "0g66m0yiazzh0447qbmgxjn4kxjcx9bk2l8cimyzmriz5d0j2q3i"; + system = "cl-memcached"; + asd = "cl-memcached"; + } + ); + systems = [ "cl-memcached" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "pooler" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-messagepack = ( + build-asdf-system { + pname = "cl-messagepack"; + version = "20231021-git"; + asds = [ "cl-messagepack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-messagepack/2023-10-21/cl-messagepack-20231021-git.tgz"; + sha256 = "1hjd1q18lz46k46afz94ljflp76mfr30d6z4jrsgd26y2lc4gchc"; + system = "cl-messagepack"; + asd = "cl-messagepack"; + } + ); + systems = [ "cl-messagepack" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "closer-mop" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-messagepack-rpc = ( + build-asdf-system { + pname = "cl-messagepack-rpc"; + version = "20171227-git"; + asds = [ "cl-messagepack-rpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-messagepack-rpc/2017-12-27/cl-messagepack-rpc-20171227-git.tgz"; + sha256 = "02nrnhav28v5vwig9mmmmax59nl0sbjkmdzwakzpj6y1gafiqgy9"; + system = "cl-messagepack-rpc"; + asd = "cl-messagepack-rpc"; + } + ); + systems = [ "cl-messagepack-rpc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-async" self) + (getAttr "cl-libuv" self) + (getAttr "cl-messagepack" self) + (getAttr "flexi-streams" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-messagepack-rpc-tests = ( + build-asdf-system { + pname = "cl-messagepack-rpc-tests"; + version = "20171227-git"; + asds = [ "cl-messagepack-rpc-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-messagepack-rpc/2017-12-27/cl-messagepack-rpc-20171227-git.tgz"; + sha256 = "02nrnhav28v5vwig9mmmmax59nl0sbjkmdzwakzpj6y1gafiqgy9"; + system = "cl-messagepack-rpc-tests"; + asd = "cl-messagepack-rpc-tests"; + } + ); + systems = [ "cl-messagepack-rpc-tests" ]; + lispLibs = [ + (getAttr "cl-messagepack-rpc" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-messagepack-tests = ( + build-asdf-system { + pname = "cl-messagepack-tests"; + version = "20231021-git"; + asds = [ "cl-messagepack-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-messagepack/2023-10-21/cl-messagepack-20231021-git.tgz"; + sha256 = "1hjd1q18lz46k46afz94ljflp76mfr30d6z4jrsgd26y2lc4gchc"; + system = "cl-messagepack-tests"; + asd = "cl-messagepack-tests"; + } + ); + systems = [ "cl-messagepack-tests" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "cl-messagepack" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migrations = ( + build-asdf-system { + pname = "cl-migrations"; + version = "20110110-http"; + asds = [ "cl-migrations" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migrations/2011-01-10/cl-migrations-20110110-http.tgz"; + sha256 = "0mq3ir1kffw921q5a878964ghnrhcrh79p6yxsrb25bzkwpnfx02"; + system = "cl-migrations"; + asd = "cl-migrations"; + } + ); + systems = [ "cl-migrations" ]; + lispLibs = [ (getAttr "clsql" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum = ( + build-asdf-system { + pname = "cl-migratum"; + version = "20241012-git"; + asds = [ "cl-migratum" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum"; + asd = "cl-migratum"; + } + ); + systems = [ "cl-migratum" ]; + lispLibs = [ + (getAttr "cl-ascii-table" self) + (getAttr "cl-reexport" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_cli = ( + build-asdf-system { + pname = "cl-migratum.cli"; + version = "20241012-git"; + asds = [ "cl-migratum.cli" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.cli"; + asd = "cl-migratum.cli"; + } + ); + systems = [ "cl-migratum.cli" ]; + lispLibs = [ + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_dbi" self) + (getAttr "cl-migratum_dot_driver_dot_rdbms-postgresql" self) + (getAttr "cl-migratum_dot_provider_dot_local-path" self) + (getAttr "clingon" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_driver_dot_dbi = ( + build-asdf-system { + pname = "cl-migratum.driver.dbi"; + version = "20241012-git"; + asds = [ "cl-migratum.driver.dbi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.driver.dbi"; + asd = "cl-migratum.driver.dbi"; + } + ); + systems = [ "cl-migratum.driver.dbi" ]; + lispLibs = [ + (getAttr "cl-dbi" self) + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_mixins" self) + (getAttr "cl-ppcre" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_driver_dot_mixins = ( + build-asdf-system { + pname = "cl-migratum.driver.mixins"; + version = "20241012-git"; + asds = [ "cl-migratum.driver.mixins" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.driver.mixins"; + asd = "cl-migratum.driver.mixins"; + } + ); + systems = [ "cl-migratum.driver.mixins" ]; + lispLibs = [ (getAttr "cl-migratum" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_driver_dot_postmodern-postgresql = ( + build-asdf-system { + pname = "cl-migratum.driver.postmodern-postgresql"; + version = "20241012-git"; + asds = [ "cl-migratum.driver.postmodern-postgresql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.driver.postmodern-postgresql"; + asd = "cl-migratum.driver.postmodern-postgresql"; + } + ); + systems = [ "cl-migratum.driver.postmodern-postgresql" ]; + lispLibs = [ + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_mixins" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "log4cl" self) + (getAttr "postmodern" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_driver_dot_rdbms-postgresql = ( + build-asdf-system { + pname = "cl-migratum.driver.rdbms-postgresql"; + version = "20241012-git"; + asds = [ "cl-migratum.driver.rdbms-postgresql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.driver.rdbms-postgresql"; + asd = "cl-migratum.driver.rdbms-postgresql"; + } + ); + systems = [ "cl-migratum.driver.rdbms-postgresql" ]; + lispLibs = [ + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_mixins" self) + (getAttr "cl-ppcre" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_provider_dot_local-path = ( + build-asdf-system { + pname = "cl-migratum.provider.local-path"; + version = "20241012-git"; + asds = [ "cl-migratum.provider.local-path" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.provider.local-path"; + asd = "cl-migratum.provider.local-path"; + } + ); + systems = [ "cl-migratum.provider.local-path" ]; + lispLibs = [ + (getAttr "cl-migratum" self) + (getAttr "cl-ppcre" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-migratum_dot_test = ( + build-asdf-system { + pname = "cl-migratum.test"; + version = "20241012-git"; + asds = [ "cl-migratum.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-migratum/2024-10-12/cl-migratum-20241012-git.tgz"; + sha256 = "0bkzbvv3s2j5gs032nj82b0p3x6j3in54kqyg74x54b25q75ymvw"; + system = "cl-migratum.test"; + asd = "cl-migratum.test"; + } + ); + systems = [ "cl-migratum.test" ]; + lispLibs = [ + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_dbi" self) + (getAttr "cl-migratum_dot_driver_dot_postmodern-postgresql" self) + (getAttr "cl-migratum_dot_driver_dot_rdbms-postgresql" self) + (getAttr "cl-migratum_dot_provider_dot_local-path" self) + (getAttr "dbd-sqlite3" self) + (getAttr "rove" self) + (getAttr "tmpdir" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mime = ( + build-asdf-system { + pname = "cl-mime"; + version = "20201220-git"; + asds = [ "cl-mime" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mime/2020-12-20/cl-mime-20201220-git.tgz"; + sha256 = "0i2vyc1d4qp36f3c3qfpx9rkp3d2ka80r40wc9lsvhqn1hjxa2gv"; + system = "cl-mime"; + asd = "cl-mime"; + } + ); + systems = [ "cl-mime" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-qprint" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mime-from-string = ( + build-asdf-system { + pname = "cl-mime-from-string"; + version = "20200427-git"; + asds = [ "cl-mime-from-string" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mime-from-string/2020-04-27/cl-mime-from-string-20200427-git.tgz"; + sha256 = "1pzhfbv6j3b0vvf4rxxd56v54lh6v7cs16nq2d64cawn6qzmk4bp"; + system = "cl-mime-from-string"; + asd = "cl-mime-from-string"; + } + ); + systems = [ "cl-mime-from-string" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mime-test = ( + build-asdf-system { + pname = "cl-mime-test"; + version = "20201220-git"; + asds = [ "cl-mime-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mime/2020-12-20/cl-mime-20201220-git.tgz"; + sha256 = "0i2vyc1d4qp36f3c3qfpx9rkp3d2ka80r40wc9lsvhqn1hjxa2gv"; + system = "cl-mime-test"; + asd = "cl-mime-test"; + } + ); + systems = [ "cl-mime-test" ]; + lispLibs = [ + (getAttr "cl-mime" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mimeparse = ( + build-asdf-system { + pname = "cl-mimeparse"; + version = "20210531-git"; + asds = [ "cl-mimeparse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mimeparse/2021-05-31/cl-mimeparse-20210531-git.tgz"; + sha256 = "0gdkpi3620va0a3q56svcn1q9f5w0pqfhx30lnldg8fjnrdfiwkk"; + system = "cl-mimeparse"; + asd = "cl-mimeparse"; + } + ); + systems = [ "cl-mimeparse" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mimeparse-tests = ( + build-asdf-system { + pname = "cl-mimeparse-tests"; + version = "20210531-git"; + asds = [ "cl-mimeparse-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mimeparse/2021-05-31/cl-mimeparse-20210531-git.tgz"; + sha256 = "0gdkpi3620va0a3q56svcn1q9f5w0pqfhx30lnldg8fjnrdfiwkk"; + system = "cl-mimeparse-tests"; + asd = "cl-mimeparse-tests"; + } + ); + systems = [ "cl-mimeparse-tests" ]; + lispLibs = [ + (getAttr "cl-mimeparse" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-minify-css = ( + build-asdf-system { + pname = "cl-minify-css"; + version = "20200925-git"; + asds = [ "cl-minify-css" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-minify-css/2020-09-25/cl-minify-css-20200925-git.tgz"; + sha256 = "1wj1mh7qzr8ybqyx7kxnpsmj3d9lylnzmq1qmycdyf2llqkcdxgd"; + system = "cl-minify-css"; + asd = "cl-minify-css"; + } + ); + systems = [ "cl-minify-css" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-minify-css-test = ( + build-asdf-system { + pname = "cl-minify-css-test"; + version = "20200925-git"; + asds = [ "cl-minify-css-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-minify-css/2020-09-25/cl-minify-css-20200925-git.tgz"; + sha256 = "1wj1mh7qzr8ybqyx7kxnpsmj3d9lylnzmq1qmycdyf2llqkcdxgd"; + system = "cl-minify-css-test"; + asd = "cl-minify-css-test"; + } + ); + systems = [ "cl-minify-css-test" ]; + lispLibs = [ + (getAttr "assert-p" self) + (getAttr "cacau" self) + (getAttr "cacau-asdf" self) + (getAttr "cl-minify-css" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed = ( + build-asdf-system { + pname = "cl-mixed"; + version = "20241012-git"; + asds = [ "cl-mixed" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed"; + asd = "cl-mixed"; + } + ); + systems = [ "cl-mixed" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "static-vectors" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-aaudio = ( + build-asdf-system { + pname = "cl-mixed-aaudio"; + version = "20241012-git"; + asds = [ "cl-mixed-aaudio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-aaudio"; + asd = "cl-mixed-aaudio"; + } + ); + systems = [ "cl-mixed-aaudio" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-alsa = ( + build-asdf-system { + pname = "cl-mixed-alsa"; + version = "20241012-git"; + asds = [ "cl-mixed-alsa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-alsa"; + asd = "cl-mixed-alsa"; + } + ); + systems = [ "cl-mixed-alsa" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-coreaudio = ( + build-asdf-system { + pname = "cl-mixed-coreaudio"; + version = "20241012-git"; + asds = [ "cl-mixed-coreaudio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-coreaudio"; + asd = "cl-mixed-coreaudio"; + } + ); + systems = [ "cl-mixed-coreaudio" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + (getAttr "float-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-examples = ( + build-asdf-system { + pname = "cl-mixed-examples"; + version = "20241012-git"; + asds = [ "cl-mixed-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-examples"; + asd = "cl-mixed-examples"; + } + ); + systems = [ "cl-mixed-examples" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "cl-mixed-mpg123" self) + (getAttr "cl-mixed-out123" self) + (getAttr "cl-mixed-pulse" self) + (getAttr "cl-mixed-wav" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-flac = ( + build-asdf-system { + pname = "cl-mixed-flac"; + version = "20241012-git"; + asds = [ "cl-mixed-flac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-flac"; + asd = "cl-mixed-flac"; + } + ); + systems = [ "cl-mixed-flac" ]; + lispLibs = [ + (getAttr "cl-flac" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-jack = ( + build-asdf-system { + pname = "cl-mixed-jack"; + version = "20241012-git"; + asds = [ "cl-mixed-jack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-jack"; + asd = "cl-mixed-jack"; + } + ); + systems = [ "cl-mixed-jack" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-mpg123 = ( + build-asdf-system { + pname = "cl-mixed-mpg123"; + version = "20241012-git"; + asds = [ "cl-mixed-mpg123" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-mpg123"; + asd = "cl-mixed-mpg123"; + } + ); + systems = [ "cl-mixed-mpg123" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "cl-mpg123" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-mpt = ( + build-asdf-system { + pname = "cl-mixed-mpt"; + version = "20241012-git"; + asds = [ "cl-mixed-mpt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-mpt"; + asd = "cl-mixed-mpt"; + } + ); + systems = [ "cl-mixed-mpt" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-nxau = ( + build-asdf-system { + pname = "cl-mixed-nxau"; + version = "20241012-git"; + asds = [ "cl-mixed-nxau" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-nxau"; + asd = "cl-mixed-nxau"; + } + ); + systems = [ "cl-mixed-nxau" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-opus = ( + build-asdf-system { + pname = "cl-mixed-opus"; + version = "20241012-git"; + asds = [ "cl-mixed-opus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-opus"; + asd = "cl-mixed-opus"; + } + ); + systems = [ "cl-mixed-opus" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "cl-opus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-oss = ( + build-asdf-system { + pname = "cl-mixed-oss"; + version = "20241012-git"; + asds = [ "cl-mixed-oss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-oss"; + asd = "cl-mixed-oss"; + } + ); + systems = [ "cl-mixed-oss" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-out123 = ( + build-asdf-system { + pname = "cl-mixed-out123"; + version = "20241012-git"; + asds = [ "cl-mixed-out123" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-out123"; + asd = "cl-mixed-out123"; + } + ); + systems = [ "cl-mixed-out123" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "cl-out123" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-pulse = ( + build-asdf-system { + pname = "cl-mixed-pulse"; + version = "20241012-git"; + asds = [ "cl-mixed-pulse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-pulse"; + asd = "cl-mixed-pulse"; + } + ); + systems = [ "cl-mixed-pulse" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-qoa = ( + build-asdf-system { + pname = "cl-mixed-qoa"; + version = "20241012-git"; + asds = [ "cl-mixed-qoa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-qoa"; + asd = "cl-mixed-qoa"; + } + ); + systems = [ "cl-mixed-qoa" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "cl-qoa" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-sdl2 = ( + build-asdf-system { + pname = "cl-mixed-sdl2"; + version = "20241012-git"; + asds = [ "cl-mixed-sdl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-sdl2"; + asd = "cl-mixed-sdl2"; + } + ); + systems = [ "cl-mixed-sdl2" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "sdl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-vorbis = ( + build-asdf-system { + pname = "cl-mixed-vorbis"; + version = "20241012-git"; + asds = [ "cl-mixed-vorbis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-vorbis"; + asd = "cl-mixed-vorbis"; + } + ); + systems = [ "cl-mixed-vorbis" ]; + lispLibs = [ + (getAttr "cl-mixed" self) + (getAttr "cl-vorbis" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-wasapi = ( + build-asdf-system { + pname = "cl-mixed-wasapi"; + version = "20241012-git"; + asds = [ "cl-mixed-wasapi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-wasapi"; + asd = "cl-mixed-wasapi"; + } + ); + systems = [ "cl-mixed-wasapi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + (getAttr "com-on" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-wav = ( + build-asdf-system { + pname = "cl-mixed-wav"; + version = "20241012-git"; + asds = [ "cl-mixed-wav" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-wav"; + asd = "cl-mixed-wav"; + } + ); + systems = [ "cl-mixed-wav" ]; + lispLibs = [ (getAttr "cl-mixed" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-winmm = ( + build-asdf-system { + pname = "cl-mixed-winmm"; + version = "20241012-git"; + asds = [ "cl-mixed-winmm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-winmm"; + asd = "cl-mixed-winmm"; + } + ); + systems = [ "cl-mixed-winmm" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mixed-xaudio2 = ( + build-asdf-system { + pname = "cl-mixed-xaudio2"; + version = "20241012-git"; + asds = [ "cl-mixed-xaudio2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mixed/2024-10-12/cl-mixed-20241012-git.tgz"; + sha256 = "1wianjcr1ha9lb46q0i05fwn5cl4yzkg78mqk0ib564fbyx4y0q9"; + system = "cl-mixed-xaudio2"; + asd = "cl-mixed-xaudio2"; + } + ); + systems = [ "cl-mixed-xaudio2" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mixed" self) + (getAttr "com-on" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mock = ( + build-asdf-system { + pname = "cl-mock"; + version = "20221106-git"; + asds = [ "cl-mock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; + sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; + system = "cl-mock"; + asd = "cl-mock"; + } + ); + systems = [ "cl-mock" ]; + lispLibs = [ + (getAttr "cl-mock-basic" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mock-basic = ( + build-asdf-system { + pname = "cl-mock-basic"; + version = "20221106-git"; + asds = [ "cl-mock-basic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; + sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; + system = "cl-mock-basic"; + asd = "cl-mock-basic"; + } + ); + systems = [ "cl-mock-basic" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mock-tests = ( + build-asdf-system { + pname = "cl-mock-tests"; + version = "20221106-git"; + asds = [ "cl-mock-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; + sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; + system = "cl-mock-tests"; + asd = "cl-mock-tests"; + } + ); + systems = [ "cl-mock-tests" ]; + lispLibs = [ + (getAttr "cl-mock" self) + (getAttr "cl-mock-tests-basic" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mock-tests-basic = ( + build-asdf-system { + pname = "cl-mock-tests-basic"; + version = "20221106-git"; + asds = [ "cl-mock-tests-basic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mock/2022-11-06/cl-mock-20221106-git.tgz"; + sha256 = "19641sm3klx9yfk8lr376rfkd26vy72yp1hkpkqcw3q3m1xrf9xp"; + system = "cl-mock-tests-basic"; + asd = "cl-mock-tests-basic"; + } + ); + systems = [ "cl-mock-tests-basic" ]; + lispLibs = [ + (getAttr "cl-mock-basic" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-modio = ( + build-asdf-system { + pname = "cl-modio"; + version = "20241012-git"; + asds = [ "cl-modio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-modio/2024-10-12/cl-modio-20241012-git.tgz"; + sha256 = "1f755xqpibdrxiqclnsiba36bl8xgw958h0lb0rw6hjsvrx9z8dg"; + system = "cl-modio"; + asd = "cl-modio"; + } + ); + systems = [ "cl-modio" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "documentation-utils" self) + (getAttr "drakma" self) + (getAttr "language-codes" self) + (getAttr "zippy" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-monad-macros = ( + build-asdf-system { + pname = "cl-monad-macros"; + version = "20110619-svn"; + asds = [ "cl-monad-macros" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-monad-macros/2011-06-19/cl-monad-macros-20110619-svn.tgz"; + sha256 = "184p018xb07yd04bpscrwrnwv1cdxh9hxggmrnj95lhlr6r97l1z"; + system = "cl-monad-macros"; + asd = "cl-monad-macros"; + } + ); + systems = [ "cl-monad-macros" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-moneris = ( + build-asdf-system { + pname = "cl-moneris"; + version = "20231021-git"; + asds = [ "cl-moneris" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-moneris/2023-10-21/cl-moneris-20231021-git.tgz"; + sha256 = "1ajxqdgqy7cnkq6qz18xayw5z1idz3slzj7nc7pcv4ha7h3ak63k"; + system = "cl-moneris"; + asd = "cl-moneris"; + } + ); + systems = [ "cl-moneris" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-moneris-test = ( + build-asdf-system { + pname = "cl-moneris-test"; + version = "20231021-git"; + asds = [ "cl-moneris-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-moneris/2023-10-21/cl-moneris-20231021-git.tgz"; + sha256 = "1ajxqdgqy7cnkq6qz18xayw5z1idz3slzj7nc7pcv4ha7h3ak63k"; + system = "cl-moneris-test"; + asd = "cl-moneris-test"; + } + ); + systems = [ "cl-moneris-test" ]; + lispLibs = [ + (getAttr "cl-moneris" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mongo = ( + build-asdf-system { + pname = "cl-mongo"; + version = "20160531-git"; + asds = [ "cl-mongo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mongo/2016-05-31/cl-mongo-20160531-git.tgz"; + sha256 = "1l3kydbxbxhs1z76v6qpwjnabv8wf0mff1pfjkrpjfz6bia1svx6"; + system = "cl-mongo"; + asd = "cl-mongo"; + } + ); + systems = [ "cl-mongo" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "documentation-template" self) + (getAttr "lisp-unit" self) + (getAttr "parenscript" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mongo-id = ( + build-asdf-system { + pname = "cl-mongo-id"; + version = "20201220-git"; + asds = [ "cl-mongo-id" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mongo-id/2020-12-20/cl-mongo-id-20201220-git.tgz"; + sha256 = "1bpwmh5970rpr6ayygcgdg96hq2dlrksgpa1vdmy5l6vdbw9xrys"; + system = "cl-mongo-id"; + asd = "cl-mongo-id"; + } + ); + systems = [ "cl-mongo-id" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "local-time" self) + (getAttr "md5" self) + (getAttr "secure-random" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-monitors = ( + build-asdf-system { + pname = "cl-monitors"; + version = "20231021-git"; + asds = [ "cl-monitors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-monitors/2023-10-21/cl-monitors-20231021-git.tgz"; + sha256 = "09ddgs7sbqjx91bajpk5qf6716vnx63mfg9yw0biw16mnfjhrg4i"; + system = "cl-monitors"; + asd = "cl-monitors"; + } + ); + systems = [ "cl-monitors" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mop = ( + build-asdf-system { + pname = "cl-mop"; + version = "20150113-git"; + asds = [ "cl-mop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mop/2015-01-13/cl-mop-20150113-git.tgz"; + sha256 = "0wqjbp6jr868a89hklf1ppxkdfbznafrdpriakqiraicvr9kvksg"; + system = "cl-mop"; + asd = "cl-mop"; + } + ); + systems = [ "cl-mop" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-morse = ( + build-asdf-system { + pname = "cl-morse"; + version = "v1.0.0"; + asds = [ "cl-morse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-morse/2022-07-07/cl-morse-v1.0.0.tgz"; + sha256 = "01sh34nhbsx2dsrb2r1vkd4j8lzm9gjd5jfi8a4cs4m3djjwhh5i"; + system = "cl-morse"; + asd = "cl-morse"; + } + ); + systems = [ "cl-morse" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-moss = ( + build-asdf-system { + pname = "cl-moss"; + version = "20171019-git"; + asds = [ "cl-moss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-moss/2017-10-19/cl-moss-20171019-git.tgz"; + sha256 = "1qxzppnyxc8lkhfbbp5m3dbhp4rfkyc2lfrry2448i5w5icrigzd"; + system = "cl-moss"; + asd = "cl-moss"; + } + ); + systems = [ "cl-moss" ]; + lispLibs = [ (getAttr "usocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mount-info = ( + build-asdf-system { + pname = "cl-mount-info"; + version = "20241012-git"; + asds = [ "cl-mount-info" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mount-info/2024-10-12/cl-mount-info-20241012-git.tgz"; + sha256 = "0i5vpr0s27gqrskl5qkbw23ba00abbmsskgvg2zhpdljg5qiwlcw"; + system = "cl-mount-info"; + asd = "cl-mount-info"; + } + ); + systems = [ "cl-mount-info" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpg123 = ( + build-asdf-system { + pname = "cl-mpg123"; + version = "20241012-git"; + asds = [ "cl-mpg123" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpg123/2024-10-12/cl-mpg123-20241012-git.tgz"; + sha256 = "03ysv3psfj4agf62gn1skc26qzd9g9zx6yjxxs9lrjz7g9kwf1xk"; + system = "cl-mpg123"; + asd = "cl-mpg123"; + } + ); + systems = [ "cl-mpg123" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpg123-example = ( + build-asdf-system { + pname = "cl-mpg123-example"; + version = "20241012-git"; + asds = [ "cl-mpg123-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpg123/2024-10-12/cl-mpg123-20241012-git.tgz"; + sha256 = "03ysv3psfj4agf62gn1skc26qzd9g9zx6yjxxs9lrjz7g9kwf1xk"; + system = "cl-mpg123-example"; + asd = "cl-mpg123-example"; + } + ); + systems = [ "cl-mpg123-example" ]; + lispLibs = [ + (getAttr "cl-mpg123" self) + (getAttr "cl-out123" self) + (getAttr "verbose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpi = ( + build-asdf-system { + pname = "cl-mpi"; + version = "20190710-git"; + asds = [ "cl-mpi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; + sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; + system = "cl-mpi"; + asd = "cl-mpi"; + } + ); + systems = [ "cl-mpi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-mpi-asdf-integration" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpi-asdf-integration = ( + build-asdf-system { + pname = "cl-mpi-asdf-integration"; + version = "20190710-git"; + asds = [ "cl-mpi-asdf-integration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; + sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; + system = "cl-mpi-asdf-integration"; + asd = "cl-mpi-asdf-integration"; + } + ); + systems = [ "cl-mpi-asdf-integration" ]; + lispLibs = [ + (getAttr "cffi-grovel" self) + (getAttr "cffi-toolchain" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpi-examples = ( + build-asdf-system { + pname = "cl-mpi-examples"; + version = "20190710-git"; + asds = [ "cl-mpi-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; + sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; + system = "cl-mpi-examples"; + asd = "cl-mpi-examples"; + } + ); + systems = [ "cl-mpi-examples" ]; + lispLibs = [ + (getAttr "cl-mpi" self) + (getAttr "cl-mpi-asdf-integration" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpi-extensions = ( + build-asdf-system { + pname = "cl-mpi-extensions"; + version = "20190710-git"; + asds = [ "cl-mpi-extensions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; + sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; + system = "cl-mpi-extensions"; + asd = "cl-mpi-extensions"; + } + ); + systems = [ "cl-mpi-extensions" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-conspack" self) + (getAttr "cl-mpi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mpi-test-suite = ( + build-asdf-system { + pname = "cl-mpi-test-suite"; + version = "20190710-git"; + asds = [ "cl-mpi-test-suite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz"; + sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb"; + system = "cl-mpi-test-suite"; + asd = "cl-mpi-test-suite"; + } + ); + systems = [ "cl-mpi-test-suite" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-mpi" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mtgnet = ( + build-asdf-system { + pname = "cl-mtgnet"; + version = "20180711-git"; + asds = [ "cl-mtgnet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz"; + sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb"; + system = "cl-mtgnet"; + asd = "cl-mtgnet"; + } + ); + systems = [ "cl-mtgnet" ]; + lispLibs = [ + (getAttr "blackbird" self) + (getAttr "cl-json" self) + (getAttr "cl-netstring_plus" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mtgnet-async = ( + build-asdf-system { + pname = "cl-mtgnet-async"; + version = "20180711-git"; + asds = [ "cl-mtgnet-async" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz"; + sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb"; + system = "cl-mtgnet-async"; + asd = "cl-mtgnet-async"; + } + ); + systems = [ "cl-mtgnet-async" ]; + lispLibs = [ + (getAttr "cl-async" self) + (getAttr "cl-mtgnet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mtgnet-sync = ( + build-asdf-system { + pname = "cl-mtgnet-sync"; + version = "20180711-git"; + asds = [ "cl-mtgnet-sync" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz"; + sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb"; + system = "cl-mtgnet-sync"; + asd = "cl-mtgnet-sync"; + } + ); + systems = [ "cl-mtgnet-sync" ]; + lispLibs = [ + (getAttr "cl-mtgnet" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-murmurhash = ( + build-asdf-system { + pname = "cl-murmurhash"; + version = "20210630-git"; + asds = [ "cl-murmurhash" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-murmurhash/2021-06-30/cl-murmurhash-20210630-git.tgz"; + sha256 = "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"; + system = "cl-murmurhash"; + asd = "cl-murmurhash"; + } + ); + systems = [ "cl-murmurhash" ]; + lispLibs = [ (getAttr "babel" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mustache = ( + build-asdf-system { + pname = "cl-mustache"; + version = "20241012-git"; + asds = [ "cl-mustache" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mustache/2024-10-12/cl-mustache-20241012-git.tgz"; + sha256 = "0isdrz1dgjvmfqvsgs2pmrran41w9n6f44r9fpdhdkjxa5zvy46b"; + system = "cl-mustache"; + asd = "cl-mustache"; + } + ); + systems = [ "cl-mustache" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-mustache-test = ( + build-asdf-system { + pname = "cl-mustache-test"; + version = "20241012-git"; + asds = [ "cl-mustache-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mustache/2024-10-12/cl-mustache-20241012-git.tgz"; + sha256 = "0isdrz1dgjvmfqvsgs2pmrran41w9n6f44r9fpdhdkjxa5zvy46b"; + system = "cl-mustache-test"; + asd = "cl-mustache-test"; + } + ); + systems = [ "cl-mustache-test" ]; + lispLibs = [ + (getAttr "cl-mustache" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-muth = ( + build-asdf-system { + pname = "cl-muth"; + version = "stable-git"; + asds = [ "cl-muth" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-muth/2022-07-07/cl-muth-stable-git.tgz"; + sha256 = "0409arzy51chgi9anj9s2zn0qkx9wnphlbwcdvpamr4b51b60xjz"; + system = "cl-muth"; + asd = "cl-muth"; + } + ); + systems = [ "cl-muth" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bodge-heap" self) + (getAttr "bodge-queue" self) + (getAttr "bordeaux-threads" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw = ( + build-asdf-system { + pname = "cl-mw"; + version = "20150407-git"; + asds = [ "cl-mw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw"; + asd = "cl-mw"; + } + ); + systems = [ "cl-mw" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "hu_dot_dwim_dot_serializer" self) + (getAttr "iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw_dot_examples_dot_argument-processing = ( + build-asdf-system { + pname = "cl-mw.examples.argument-processing"; + version = "20150407-git"; + asds = [ "cl-mw.examples.argument-processing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw.examples.argument-processing"; + asd = "cl-mw.examples.argument-processing"; + } + ); + systems = [ "cl-mw.examples.argument-processing" ]; + lispLibs = [ (getAttr "cl-mw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw_dot_examples_dot_hello-world = ( + build-asdf-system { + pname = "cl-mw.examples.hello-world"; + version = "20150407-git"; + asds = [ "cl-mw.examples.hello-world" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw.examples.hello-world"; + asd = "cl-mw.examples.hello-world"; + } + ); + systems = [ "cl-mw.examples.hello-world" ]; + lispLibs = [ (getAttr "cl-mw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw_dot_examples_dot_higher-order = ( + build-asdf-system { + pname = "cl-mw.examples.higher-order"; + version = "20150407-git"; + asds = [ "cl-mw.examples.higher-order" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw.examples.higher-order"; + asd = "cl-mw.examples.higher-order"; + } + ); + systems = [ "cl-mw.examples.higher-order" ]; + lispLibs = [ (getAttr "cl-mw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw_dot_examples_dot_monte-carlo-pi = ( + build-asdf-system { + pname = "cl-mw.examples.monte-carlo-pi"; + version = "20150407-git"; + asds = [ "cl-mw.examples.monte-carlo-pi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw.examples.monte-carlo-pi"; + asd = "cl-mw.examples.monte-carlo-pi"; + } + ); + systems = [ "cl-mw.examples.monte-carlo-pi" ]; + lispLibs = [ (getAttr "cl-mw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw_dot_examples_dot_ping = ( + build-asdf-system { + pname = "cl-mw.examples.ping"; + version = "20150407-git"; + asds = [ "cl-mw.examples.ping" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw.examples.ping"; + asd = "cl-mw.examples.ping"; + } + ); + systems = [ "cl-mw.examples.ping" ]; + lispLibs = [ (getAttr "cl-mw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mw_dot_examples_dot_with-task-policy = ( + build-asdf-system { + pname = "cl-mw.examples.with-task-policy"; + version = "20150407-git"; + asds = [ "cl-mw.examples.with-task-policy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz"; + sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn"; + system = "cl-mw.examples.with-task-policy"; + asd = "cl-mw.examples.with-task-policy"; + } + ); + systems = [ "cl-mw.examples.with-task-policy" ]; + lispLibs = [ (getAttr "cl-mw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-myriam = ( + build-asdf-system { + pname = "cl-myriam"; + version = "20220331-git"; + asds = [ "cl-myriam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-myriam/2022-03-31/cl-myriam-20220331-git.tgz"; + sha256 = "0vyyyy6yj62id5m1a98rbq3pz7hm74znnawxh4apqhrff37xcs1l"; + system = "cl-myriam"; + asd = "cl-myriam"; + } + ); + systems = [ "cl-myriam" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-conspack" self) + (getAttr "cl-ppcre" self) + (getAttr "lparallel" self) + (getAttr "pzmq" self) + (getAttr "serapeum" self) + (getAttr "sha3" self) + (getAttr "str" self) + (getAttr "usocket" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-mysql = ( + build-asdf-system { + pname = "cl-mysql"; + version = "20241012-git"; + asds = [ "cl-mysql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mysql/2024-10-12/cl-mysql-20241012-git.tgz"; + sha256 = "0ibxfjnvcgpibsfqjx2d3dcjcabiw6dj43vmr76b55fc4qlkjvz5"; + system = "cl-mysql"; + asd = "cl-mysql"; + } + ); + systems = [ "cl-mysql" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { }; + } + ); + cl-mysql-test = ( + build-asdf-system { + pname = "cl-mysql-test"; + version = "20241012-git"; + asds = [ "cl-mysql-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mysql/2024-10-12/cl-mysql-20241012-git.tgz"; + sha256 = "0ibxfjnvcgpibsfqjx2d3dcjcabiw6dj43vmr76b55fc4qlkjvz5"; + system = "cl-mysql-test"; + asd = "cl-mysql-test"; + } + ); + systems = [ "cl-mysql-test" ]; + lispLibs = [ + (getAttr "cl-mysql" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-naive-deprecation = ( + build-asdf-system { + pname = "cl-naive-deprecation"; + version = "20241012-git"; + asds = [ "cl-naive-deprecation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-naive-deprecation/2024-10-12/cl-naive-deprecation-20241012-git.tgz"; + sha256 = "17x6b5sr34qjfzbn2r6f5n4xa4p1qi438k792b48qiqnalkfp29m"; + system = "cl-naive-deprecation"; + asd = "cl-naive-deprecation"; + } + ); + systems = [ "cl-naive-deprecation" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-naive-ptrees = ( + build-asdf-system { + pname = "cl-naive-ptrees"; + version = "20241012-git"; + asds = [ "cl-naive-ptrees" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-naive-ptrees/2024-10-12/cl-naive-ptrees-20241012-git.tgz"; + sha256 = "10548wm3mpjxmjibidv1dd8wzcn3nn12pzwlpdd1li362v8l9n6y"; + system = "cl-naive-ptrees"; + asd = "cl-naive-ptrees"; + } + ); + systems = [ "cl-naive-ptrees" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-naive-ptrees_dot_tests = ( + build-asdf-system { + pname = "cl-naive-ptrees.tests"; + version = "20241012-git"; + asds = [ "cl-naive-ptrees.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-naive-ptrees/2024-10-12/cl-naive-ptrees-20241012-git.tgz"; + sha256 = "10548wm3mpjxmjibidv1dd8wzcn3nn12pzwlpdd1li362v8l9n6y"; + system = "cl-naive-ptrees.tests"; + asd = "cl-naive-ptrees.tests"; + } + ); + systems = [ "cl-naive-ptrees.tests" ]; + lispLibs = [ + (getAttr "cl-naive-ptrees" self) + (getAttr "cl-naive-tests" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-naive-tests = ( + build-asdf-system { + pname = "cl-naive-tests"; + version = "20241012-git"; + asds = [ "cl-naive-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-naive-tests/2024-10-12/cl-naive-tests-20241012-git.tgz"; + sha256 = "1b7vvl5myybx92k778p3ca5367g4m6rh5k3rpr6qp9p4amd0yy2f"; + system = "cl-naive-tests"; + asd = "cl-naive-tests"; + } + ); + systems = [ "cl-naive-tests" ]; + lispLibs = [ (getAttr "cl-who" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-naive-tests_dot_tests = ( + build-asdf-system { + pname = "cl-naive-tests.tests"; + version = "20241012-git"; + asds = [ "cl-naive-tests.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-naive-tests/2024-10-12/cl-naive-tests-20241012-git.tgz"; + sha256 = "1b7vvl5myybx92k778p3ca5367g4m6rh5k3rpr6qp9p4amd0yy2f"; + system = "cl-naive-tests.tests"; + asd = "cl-naive-tests.tests"; + } + ); + systems = [ "cl-naive-tests.tests" ]; + lispLibs = [ (getAttr "cl-naive-tests" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ncurses = ( + build-asdf-system { + pname = "cl-ncurses"; + version = "0.1.4"; + asds = [ "cl-ncurses" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ncurses/2010-10-06/cl-ncurses_0.1.4.tgz"; + sha256 = "1frcap93i4ni3d648rrbnjjpz7p4cxlv57mmzlpxpzchzbcga026"; + system = "cl-ncurses"; + asd = "cl-ncurses"; + } + ); + systems = [ "cl-ncurses" ]; + lispLibs = [ (getAttr "uffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-neo4j = ( + build-asdf-system { + pname = "cl-neo4j"; + version = "release-b8ad637a-git"; + asds = [ "cl-neo4j" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-neo4j/2013-01-28/cl-neo4j-release-b8ad637a-git.tgz"; + sha256 = "061xqjn08aqynfqygk48pwjp1d1mnhcb6fnl4lcfyw261dxsp871"; + system = "cl-neo4j"; + asd = "cl-neo4j"; + } + ); + systems = [ "cl-neo4j" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "babel" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-neo4j_dot_tests = ( + build-asdf-system { + pname = "cl-neo4j.tests"; + version = "release-b8ad637a-git"; + asds = [ "cl-neo4j.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-neo4j/2013-01-28/cl-neo4j-release-b8ad637a-git.tgz"; + sha256 = "061xqjn08aqynfqygk48pwjp1d1mnhcb6fnl4lcfyw261dxsp871"; + system = "cl-neo4j.tests"; + asd = "cl-neo4j"; + } + ); + systems = [ "cl-neo4j.tests" ]; + lispLibs = [ + (getAttr "cl-neo4j" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-neovim = ( + build-asdf-system { + pname = "cl-neovim"; + version = "20241012-git"; + asds = [ "cl-neovim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-neovim/2024-10-12/cl-neovim-20241012-git.tgz"; + sha256 = "1c72qy10kmccpfl90q4c0yinmy9z9mdqniqx24269h91xd3jyagc"; + system = "cl-neovim"; + asd = "cl-neovim"; + } + ); + systems = [ "cl-neovim" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-messagepack-rpc" self) + (getAttr "form-fiddle" self) + (getAttr "split-sequence" self) + (getAttr "vom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-netpbm = ( + build-asdf-system { + pname = "cl-netpbm"; + version = "20241012-hg"; + asds = [ "cl-netpbm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-netpbm/2024-10-12/cl-netpbm-20241012-hg.tgz"; + sha256 = "16dv3d6x62vvc9wdvm2dc9mrm29ypzjzn2fvy46kl0h0wg7hjz92"; + system = "cl-netpbm"; + asd = "cl-netpbm"; + } + ); + systems = [ "cl-netpbm" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-netstring_plus = ( + build-asdf-system { + pname = "cl-netstring+"; + version = "20150709-git"; + asds = [ "cl-netstring+" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-netstring-plus/2015-07-09/cl-netstring-plus-20150709-git.tgz"; + sha256 = "03nxhgkab8lsx8mvavd4yny1894yxl5bllvqb12hyjdgg1v8whrr"; + system = "cl-netstring+"; + asd = "cl-netstring+"; + } + ); + systems = [ "cl-netstring+" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-netstrings = ( + build-asdf-system { + pname = "cl-netstrings"; + version = "20121013-git"; + asds = [ "cl-netstrings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-netstrings/2012-10-13/cl-netstrings-20121013-git.tgz"; + sha256 = "1mprrb8i3fjpmw7w461ib8zrcjwx77sqwaxyqq7i8yqkbhk7p1ql"; + system = "cl-netstrings"; + asd = "cl-netstrings"; + } + ); + systems = [ "cl-netstrings" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-notebook = ( + build-asdf-system { + pname = "cl-notebook"; + version = "20201220-git"; + asds = [ "cl-notebook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-notebook/2020-12-20/cl-notebook-20201220-git.tgz"; + sha256 = "0kg5wdclz9i64gcx27z5bs739hsvjrfl9kf1awi31x4142yxrva8"; + system = "cl-notebook"; + asd = "cl-notebook"; + } + ); + systems = [ "cl-notebook" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-css" self) + (getAttr "cl-fad" self) + (getAttr "cl-who" self) + (getAttr "closer-mop" self) + (getAttr "fact-base" self) + (getAttr "house" self) + (getAttr "parenscript" self) + (getAttr "prove-asdf" self) + (getAttr "qlot" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ntp-client = ( + build-asdf-system { + pname = "cl-ntp-client"; + version = "20210630-git"; + asds = [ "cl-ntp-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ntp-client/2021-06-30/cl-ntp-client-20210630-git.tgz"; + sha256 = "1mc16bvs0l8srnxjcjg4m192rw5waq291zks2jslxmxij0pa28cm"; + system = "cl-ntp-client"; + asd = "cl-ntp-client"; + } + ); + systems = [ "cl-ntp-client" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ntriples = ( + build-asdf-system { + pname = "cl-ntriples"; + version = "20190307-hg"; + asds = [ "cl-ntriples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ntriples/2019-03-07/cl-ntriples-20190307-hg.tgz"; + sha256 = "0k8q2r2nxkgxp91398gb0iwfy9kd2mn519nxxa3zq831c433l2mq"; + system = "cl-ntriples"; + asd = "cl-ntriples"; + } + ); + systems = [ "cl-ntriples" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-oauth = ( + build-asdf-system { + pname = "cl-oauth"; + version = "20150804-git"; + asds = [ "cl-oauth" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-oauth/2015-08-04/cl-oauth-20150804-git.tgz"; + sha256 = "1q4r5i3099684q5x9wqddrm9g88qm16nnra9glvxngywfjc5zzkk"; + system = "cl-oauth"; + asd = "cl-oauth"; + } + ); + systems = [ "cl-oauth" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "closer-mop" self) + (getAttr "drakma" self) + (getAttr "f-underscore" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "puri" self) + (getAttr "split-sequence" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-oauth_dot_tests = ( + build-asdf-system { + pname = "cl-oauth.tests"; + version = "20150804-git"; + asds = [ "cl-oauth.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-oauth/2015-08-04/cl-oauth-20150804-git.tgz"; + sha256 = "1q4r5i3099684q5x9wqddrm9g88qm16nnra9glvxngywfjc5zzkk"; + system = "cl-oauth.tests"; + asd = "cl-oauth"; + } + ); + systems = [ "cl-oauth.tests" ]; + lispLibs = [ + (getAttr "cl-oauth" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-oclapi = ( + build-asdf-system { + pname = "cl-oclapi"; + version = "20180831-git"; + asds = [ "cl-oclapi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-oclapi/2018-08-31/cl-oclapi-20180831-git.tgz"; + sha256 = "0aix5ipw98fsnvg1w7qmrjbwgn70gn7vf5av21xsgblp2sd7w2aw"; + system = "cl-oclapi"; + asd = "cl-oclapi"; + } + ); + systems = [ "cl-oclapi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-annot" self) + (getAttr "cl-reexport" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-oclapi-test = ( + build-asdf-system { + pname = "cl-oclapi-test"; + version = "20180831-git"; + asds = [ "cl-oclapi-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-oclapi/2018-08-31/cl-oclapi-20180831-git.tgz"; + sha256 = "0aix5ipw98fsnvg1w7qmrjbwgn70gn7vf5av21xsgblp2sd7w2aw"; + system = "cl-oclapi-test"; + asd = "cl-oclapi-test"; + } + ); + systems = [ "cl-oclapi-test" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "cl-oclapi" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-octet-streams = ( + build-asdf-system { + pname = "cl-octet-streams"; + version = "20201220-git"; + asds = [ "cl-octet-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-octet-streams/2020-12-20/cl-octet-streams-20201220-git.tgz"; + sha256 = "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"; + system = "cl-octet-streams"; + asd = "cl-octet-streams"; + } + ); + systems = [ "cl-octet-streams" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ode = ( + build-asdf-system { + pname = "cl-ode"; + version = "20160628-git"; + asds = [ "cl-ode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ode/2016-06-28/cl-ode-20160628-git.tgz"; + sha256 = "1pxm2pq0br0rhdfnvs5jqfkxfs8bc9wdqrzwyv83l8n7pax941b0"; + system = "cl-ode"; + asd = "cl-ode"; + } + ); + systems = [ "cl-ode" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ohm = ( + build-asdf-system { + pname = "cl-ohm"; + version = "20180228-git"; + asds = [ "cl-ohm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ohm/2018-02-28/cl-ohm-20180228-git.tgz"; + sha256 = "00gdfsiba761gk7xw91wfnr9yv84maagf9idh55bk5bs4ws1ymyp"; + system = "cl-ohm"; + asd = "cl-ohm"; + } + ); + systems = [ "cl-ohm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-redis" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-oju = ( + build-asdf-system { + pname = "cl-oju"; + version = "20241012-git"; + asds = [ "cl-oju" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-oju/2024-10-12/cl-oju-20241012-git.tgz"; + sha256 = "0gwzxl4pj45jq7vx6vssgzsp4xxc99bzfi6fbklc5nnlfkqq0v62"; + system = "cl-oju"; + asd = "cl-oju"; + } + ); + systems = [ "cl-oju" ]; + lispLibs = [ (getAttr "_1am" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-olefs = ( + build-asdf-system { + pname = "cl-olefs"; + version = "20150709-git"; + asds = [ "cl-olefs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-olefs/2015-07-09/cl-olefs-20150709-git.tgz"; + sha256 = "0cqna6zzfrjmsq17yc4wg204kr77riczqjpm1w5cj1mba43zcac7"; + system = "cl-olefs"; + asd = "cl-olefs"; + } + ); + systems = [ "cl-olefs" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-one-time-passwords = ( + build-asdf-system { + pname = "cl-one-time-passwords"; + version = "20171019-git"; + asds = [ "cl-one-time-passwords" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-one-time-passwords/2017-10-19/cl-one-time-passwords-20171019-git.tgz"; + sha256 = "1nhq2jij257cfaadh9k421qaisicxpmx3wsc4kivf1psgbrc56lg"; + system = "cl-one-time-passwords"; + asd = "cl-one-time-passwords"; + } + ); + systems = [ "cl-one-time-passwords" ]; + lispLibs = [ (getAttr "ironclad" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-one-time-passwords-test = ( + build-asdf-system { + pname = "cl-one-time-passwords-test"; + version = "20171019-git"; + asds = [ "cl-one-time-passwords-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-one-time-passwords/2017-10-19/cl-one-time-passwords-20171019-git.tgz"; + sha256 = "1nhq2jij257cfaadh9k421qaisicxpmx3wsc4kivf1psgbrc56lg"; + system = "cl-one-time-passwords-test"; + asd = "cl-one-time-passwords-test"; + } + ); + systems = [ "cl-one-time-passwords-test" ]; + lispLibs = [ + (getAttr "cl-one-time-passwords" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-oneliner = ( + build-asdf-system { + pname = "cl-oneliner"; + version = "20131003-git"; + asds = [ "cl-oneliner" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oneliner/2013-10-03/oneliner-20131003-git.tgz"; + sha256 = "0q9350s0r9yjmfc2360g35qi04b3867gd7hw5ada4176whinmjxb"; + system = "cl-oneliner"; + asd = "cl-oneliner"; + } + ); + systems = [ "cl-oneliner" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "lisp-unit" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-online-learning = ( + build-asdf-system { + pname = "cl-online-learning"; + version = "20220331-git"; + asds = [ "cl-online-learning" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-online-learning/2022-03-31/cl-online-learning-20220331-git.tgz"; + sha256 = "136v9kxcy53qar2j4y38awnw2idnf0lwxqwx7wgak664w3hxs6k8"; + system = "cl-online-learning"; + asd = "cl-online-learning"; + } + ); + systems = [ "cl-online-learning" ]; + lispLibs = [ + (getAttr "cl-libsvm-format" self) + (getAttr "cl-store" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-online-learning-test = ( + build-asdf-system { + pname = "cl-online-learning-test"; + version = "20220331-git"; + asds = [ "cl-online-learning-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-online-learning/2022-03-31/cl-online-learning-20220331-git.tgz"; + sha256 = "136v9kxcy53qar2j4y38awnw2idnf0lwxqwx7wgak664w3hxs6k8"; + system = "cl-online-learning-test"; + asd = "cl-online-learning-test"; + } + ); + systems = [ "cl-online-learning-test" ]; + lispLibs = [ + (getAttr "cl-online-learning" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-openal = ( + build-asdf-system { + pname = "cl-openal"; + version = "20221106-git"; + asds = [ "cl-openal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; + sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; + system = "cl-openal"; + asd = "cl-openal"; + } + ); + systems = [ "cl-openal" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-openal-examples = ( + build-asdf-system { + pname = "cl-openal-examples"; + version = "20221106-git"; + asds = [ "cl-openal-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openal/2022-11-06/cl-openal-20221106-git.tgz"; + sha256 = "0jmp81mf23ckcm4knnh0q7zpmyls5220imaqbmnl0xvvra10b1zy"; + system = "cl-openal-examples"; + asd = "cl-openal-examples"; + } + ); + systems = [ "cl-openal-examples" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-alc" self) + (getAttr "cl-alut" self) + (getAttr "cl-openal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-opencl = ( + build-asdf-system { + pname = "cl-opencl"; + version = "20211209-git"; + asds = [ "cl-opencl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opencl/2021-12-09/cl-opencl-20211209-git.tgz"; + sha256 = "1agg6rg7lsbq2jgarx25bwm1nw22jpl20bzhyn4ivygcgzp2mv29"; + system = "cl-opencl"; + asd = "cl-opencl"; + } + ); + systems = [ "cl-opencl" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-opencl-utils = ( + build-asdf-system { + pname = "cl-opencl-utils"; + version = "20230214-git"; + asds = [ "cl-opencl-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opencl-utils/2023-02-14/cl-opencl-utils-20230214-git.tgz"; + sha256 = "17l4wsvhjj3zvhl5nsigh9fwnv7s7xiqfk2998gh86j32a02r95y"; + system = "cl-opencl-utils"; + asd = "cl-opencl-utils"; + } + ); + systems = [ "cl-opencl-utils" ]; + lispLibs = [ (getAttr "cl-opencl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-opengl = ( + build-asdf-system { + pname = "cl-opengl"; + version = "20241012-git"; + asds = [ "cl-opengl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opengl/2024-10-12/cl-opengl-20241012-git.tgz"; + sha256 = "1xpa3x9fx7wxrs5xmkj13yzh2wjfnlb0ihirfr9clngpv1y4gcm6"; + system = "cl-opengl"; + asd = "cl-opengl"; + } + ); + systems = [ "cl-opengl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "float-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-opensearch-query-builder = ( + build-asdf-system { + pname = "cl-opensearch-query-builder"; + version = "20241012-git"; + asds = [ "cl-opensearch-query-builder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opensearch-query-builder/2024-10-12/cl-opensearch-query-builder-20241012-git.tgz"; + sha256 = "1pxlafahhgwyfhila0ikbpljcxgi59cqd2m6dvlib6ii90yq5dqx"; + system = "cl-opensearch-query-builder"; + asd = "cl-opensearch-query-builder"; + } + ); + systems = [ "cl-opensearch-query-builder" ]; + lispLibs = [ (getAttr "com_dot_inuoe_dot_jzon" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-openstack-client = ( + build-asdf-system { + pname = "cl-openstack-client"; + version = "20191007-git"; + asds = [ "cl-openstack-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openstack-client/2019-10-07/cl-openstack-client-20191007-git.tgz"; + sha256 = "1sak75i82vn3acg7bxx8vjbw2y35wbq1vkh1yqhs68ksnph6d097"; + system = "cl-openstack-client"; + asd = "cl-openstack-client"; + } + ); + systems = [ "cl-openstack-client" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-json" self) + (getAttr "drakma" self) + (getAttr "local-time" self) + (getAttr "uri-template" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-openstack-client-test = ( + build-asdf-system { + pname = "cl-openstack-client-test"; + version = "20191007-git"; + asds = [ "cl-openstack-client-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openstack-client/2019-10-07/cl-openstack-client-20191007-git.tgz"; + sha256 = "1sak75i82vn3acg7bxx8vjbw2y35wbq1vkh1yqhs68ksnph6d097"; + system = "cl-openstack-client-test"; + asd = "cl-openstack-client-test"; + } + ); + systems = [ "cl-openstack-client-test" ]; + lispLibs = [ + (getAttr "chunga" self) + (getAttr "cl-openstack-client" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "local-time" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-opsresearch = ( + build-asdf-system { + pname = "cl-opsresearch"; + version = "20170403-git"; + asds = [ "cl-opsresearch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; + sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; + system = "cl-opsresearch"; + asd = "cl-opsresearch"; + } + ); + systems = [ "cl-opsresearch" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-opus = ( + build-asdf-system { + pname = "cl-opus"; + version = "20241012-git"; + asds = [ "cl-opus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opus/2024-10-12/cl-opus-20241012-git.tgz"; + sha256 = "183xjlqjwildm1fb8piiic1f6l9fx4mxf9gcagpav8r60d1wmbpm"; + system = "cl-opus"; + asd = "cl-opus"; + } + ); + systems = [ "cl-opus" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "static-vectors" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-org-mode = ( + build-asdf-system { + pname = "cl-org-mode"; + version = "20101207-git"; + asds = [ "cl-org-mode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-org-mode/2010-12-07/cl-org-mode-20101207-git.tgz"; + sha256 = "1fvwl9jlbpd352b5zn2d45mabsim5xvzabwyz1h10hwv4gviymzf"; + system = "cl-org-mode"; + asd = "cl-org-mode"; + } + ); + systems = [ "cl-org-mode" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-out123 = ( + build-asdf-system { + pname = "cl-out123"; + version = "20231021-git"; + asds = [ "cl-out123" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-out123/2023-10-21/cl-out123-20231021-git.tgz"; + sha256 = "1h48hfd956799wx9kmkmb9azg01jmjbnj16b6z9ciw9y9k5jlzsh"; + system = "cl-out123"; + asd = "cl-out123"; + } + ); + systems = [ "cl-out123" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pack = ( + build-asdf-system { + pname = "cl-pack"; + version = "20200427-git"; + asds = [ "cl-pack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pack/2020-04-27/cl-pack-20200427-git.tgz"; + sha256 = "0q7gawy0cwy49m1mxgj0jqnzzckk2ps74ncfaw1pqiqilfyx7np6"; + system = "cl-pack"; + asd = "cl-pack"; + } + ); + systems = [ "cl-pack" ]; + lispLibs = [ (getAttr "ieee-floats" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pack-test = ( + build-asdf-system { + pname = "cl-pack-test"; + version = "20200427-git"; + asds = [ "cl-pack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pack/2020-04-27/cl-pack-20200427-git.tgz"; + sha256 = "0q7gawy0cwy49m1mxgj0jqnzzckk2ps74ncfaw1pqiqilfyx7np6"; + system = "cl-pack-test"; + asd = "cl-pack"; + } + ); + systems = [ "cl-pack-test" ]; + lispLibs = [ (getAttr "cl-pack" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-package-locks = ( + build-asdf-system { + pname = "cl-package-locks"; + version = "20111203-git"; + asds = [ "cl-package-locks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-package-locks/2011-12-03/cl-package-locks-20111203-git.tgz"; + sha256 = "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"; + system = "cl-package-locks"; + asd = "cl-package-locks"; + } + ); + systems = [ "cl-package-locks" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pango = ( + build-asdf-system { + pname = "cl-pango"; + version = "20170403-git"; + asds = [ "cl-pango" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pango/2017-04-03/cl-pango-20170403-git.tgz"; + sha256 = "0zkn4yn8nkkjr0x1vcy856cvbmnyhdidqz0in8xvd2i93jvw5w0i"; + system = "cl-pango"; + asd = "cl-pango"; + } + ); + systems = [ "cl-pango" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-cairo2" self) + (getAttr "xmls" self) + ]; + meta = { }; + } + ); + cl-parallel = ( + build-asdf-system { + pname = "cl-parallel"; + version = "20130312-git"; + asds = [ "cl-parallel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-parallel/2013-03-12/cl-parallel-20130312-git.tgz"; + sha256 = "1hmkcbwkj7rx8zg5wf2w06nvbabldpr7hbbg1ycj0fss86s2cx2c"; + system = "cl-parallel"; + asd = "cl-parallel"; + } + ); + systems = [ "cl-parallel" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pass = ( + build-asdf-system { + pname = "cl-pass"; + version = "20201220-git"; + asds = [ "cl-pass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pass/2020-12-20/cl-pass-20201220-git.tgz"; + sha256 = "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb"; + system = "cl-pass"; + asd = "cl-pass"; + } + ); + systems = [ "cl-pass" ]; + lispLibs = [ + (getAttr "ironclad" self) + (getAttr "split-sequence" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pass-test = ( + build-asdf-system { + pname = "cl-pass-test"; + version = "20201220-git"; + asds = [ "cl-pass-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pass/2020-12-20/cl-pass-20201220-git.tgz"; + sha256 = "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb"; + system = "cl-pass-test"; + asd = "cl-pass-test"; + } + ); + systems = [ "cl-pass-test" ]; + lispLibs = [ + (getAttr "cl-pass" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-paths = ( + build-asdf-system { + pname = "cl-paths"; + version = "20241012-git"; + asds = [ "cl-paths" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; + sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; + system = "cl-paths"; + asd = "cl-paths"; + } + ); + systems = [ "cl-paths" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-paths-ttf = ( + build-asdf-system { + pname = "cl-paths-ttf"; + version = "20241012-git"; + asds = [ "cl-paths-ttf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; + sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; + system = "cl-paths-ttf"; + asd = "cl-paths-ttf"; + } + ); + systems = [ "cl-paths-ttf" ]; + lispLibs = [ + (getAttr "cl-paths" self) + (getAttr "zpb-ttf" self) + ]; + meta = { }; + } + ); + cl-pattern = ( + build-asdf-system { + pname = "cl-pattern"; + version = "20140713-git"; + asds = [ "cl-pattern" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pattern/2014-07-13/cl-pattern-20140713-git.tgz"; + sha256 = "0kc1yynn1ysa7bcaazhi1pq8l3hj3jq6p835kh5di7g1imrfkrny"; + system = "cl-pattern"; + asd = "cl-pattern"; + } + ); + systems = [ "cl-pattern" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-annot" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + ]; + meta = { }; + } + ); + cl-pattern-benchmark = ( + build-asdf-system { + pname = "cl-pattern-benchmark"; + version = "20140713-git"; + asds = [ "cl-pattern-benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pattern/2014-07-13/cl-pattern-20140713-git.tgz"; + sha256 = "0kc1yynn1ysa7bcaazhi1pq8l3hj3jq6p835kh5di7g1imrfkrny"; + system = "cl-pattern-benchmark"; + asd = "cl-pattern-benchmark"; + } + ); + systems = [ "cl-pattern-benchmark" ]; + lispLibs = [ (getAttr "cl-pattern" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-patterns = ( + build-asdf-system { + pname = "cl-patterns"; + version = "20241012-git"; + asds = [ "cl-patterns" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-patterns/2024-10-12/cl-patterns-20241012-git.tgz"; + sha256 = "0g0q514fn1hxq518358yy2va4cb9xxqwds9cglw133qxy0wsjllh"; + system = "cl-patterns"; + asd = "cl-patterns"; + } + ); + systems = [ "cl-patterns" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + (getAttr "mutility" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-paymill = ( + build-asdf-system { + pname = "cl-paymill"; + version = "20131111-git"; + asds = [ "cl-paymill" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-paymill/2013-11-11/cl-paymill-20131111-git.tgz"; + sha256 = "1dhddmw7gxfxbv1vfqi6nzyh8m5n3b160ch6ianf5sn6apmi92nw"; + system = "cl-paymill"; + asd = "cl-paymill"; + } + ); + systems = [ "cl-paymill" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "drakma" self) + (getAttr "st-json" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-paypal = ( + build-asdf-system { + pname = "cl-paypal"; + version = "20101006-git"; + asds = [ "cl-paypal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-paypal/2010-10-06/cl-paypal-20101006-git.tgz"; + sha256 = "0cc6zv17klgiyj1mbbrkbvajkr6dwsjv3iilh57vhdqd01lrhnb2"; + system = "cl-paypal"; + asd = "cl-paypal"; + } + ); + systems = [ "cl-paypal" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pcg = ( + build-asdf-system { + pname = "cl-pcg"; + version = "20201016-hg"; + asds = [ "cl-pcg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pcg/2020-10-16/cl-pcg-20201016-hg.tgz"; + sha256 = "1w2b2y5fgjc6z8akvlmwasj90dnjv55nvb8pghq4xpv43hfy73mp"; + system = "cl-pcg"; + asd = "cl-pcg"; + } + ); + systems = [ "cl-pcg" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pcg_dot_test = ( + build-asdf-system { + pname = "cl-pcg.test"; + version = "20201016-hg"; + asds = [ "cl-pcg.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pcg/2020-10-16/cl-pcg-20201016-hg.tgz"; + sha256 = "1w2b2y5fgjc6z8akvlmwasj90dnjv55nvb8pghq4xpv43hfy73mp"; + system = "cl-pcg.test"; + asd = "cl-pcg.test"; + } + ); + systems = [ "cl-pcg.test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "cl-pcg" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pdf = ( + build-asdf-system { + pname = "cl-pdf"; + version = "20231021-git"; + asds = [ "cl-pdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pdf/2023-10-21/cl-pdf-20231021-git.tgz"; + sha256 = "1x88fvk3kxi3k6a84iajb6myw67z8n3plfidq8d4c26ymiz0kvfm"; + system = "cl-pdf"; + asd = "cl-pdf"; + } + ); + systems = [ "cl-pdf" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "zpb-ttf" self) + ]; + meta = { }; + } + ); + cl-pdf-doc = ( + build-asdf-system { + pname = "cl-pdf-doc"; + version = "20210531-git"; + asds = [ "cl-pdf-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz"; + sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"; + system = "cl-pdf-doc"; + asd = "cl-pdf-doc"; + } + ); + systems = [ "cl-pdf-doc" ]; + lispLibs = [ + (getAttr "cl-pdf" self) + (getAttr "cl-typesetting" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pdf-parser = ( + build-asdf-system { + pname = "cl-pdf-parser"; + version = "20231021-git"; + asds = [ "cl-pdf-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pdf/2023-10-21/cl-pdf-20231021-git.tgz"; + sha256 = "1x88fvk3kxi3k6a84iajb6myw67z8n3plfidq8d4c26ymiz0kvfm"; + system = "cl-pdf-parser"; + asd = "cl-pdf-parser"; + } + ); + systems = [ "cl-pdf-parser" ]; + lispLibs = [ (getAttr "cl-pdf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-performance-tuning-helper = ( + build-asdf-system { + pname = "cl-performance-tuning-helper"; + version = "20130615-git"; + asds = [ "cl-performance-tuning-helper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-performance-tuning-helper/2013-06-15/cl-performance-tuning-helper-20130615-git.tgz"; + sha256 = "1j0k319il271grm6hjqq2bazp5l105lazayqsmpsy8lsy4lmy0c3"; + system = "cl-performance-tuning-helper"; + asd = "cl-performance-tuning-helper"; + } + ); + systems = [ "cl-performance-tuning-helper" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-performance-tuning-helper-test = ( + build-asdf-system { + pname = "cl-performance-tuning-helper-test"; + version = "20130615-git"; + asds = [ "cl-performance-tuning-helper-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-performance-tuning-helper/2013-06-15/cl-performance-tuning-helper-20130615-git.tgz"; + sha256 = "1j0k319il271grm6hjqq2bazp5l105lazayqsmpsy8lsy4lmy0c3"; + system = "cl-performance-tuning-helper-test"; + asd = "cl-performance-tuning-helper-test"; + } + ); + systems = [ "cl-performance-tuning-helper-test" ]; + lispLibs = [ + (getAttr "cl-performance-tuning-helper" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-permutation = ( + build-asdf-system { + pname = "cl-permutation"; + version = "20231021-git"; + asds = [ "cl-permutation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-permutation/2023-10-21/cl-permutation-20231021-git.tgz"; + sha256 = "1zq7hjfn854jr1sglagvdpn749ihxki0l1wcbg9nd2i7ds1g5h4y"; + system = "cl-permutation"; + asd = "cl-permutation"; + } + ); + systems = [ "cl-permutation" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-fft" self) + (getAttr "cl-algebraic-data-type" self) + (getAttr "cl-cont" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "priority-queue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-permutation-examples = ( + build-asdf-system { + pname = "cl-permutation-examples"; + version = "20231021-git"; + asds = [ "cl-permutation-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-permutation/2023-10-21/cl-permutation-20231021-git.tgz"; + sha256 = "1zq7hjfn854jr1sglagvdpn749ihxki0l1wcbg9nd2i7ds1g5h4y"; + system = "cl-permutation-examples"; + asd = "cl-permutation-examples"; + } + ); + systems = [ "cl-permutation-examples" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-permutation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-permutation-tests = ( + build-asdf-system { + pname = "cl-permutation-tests"; + version = "20231021-git"; + asds = [ "cl-permutation-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-permutation/2023-10-21/cl-permutation-20231021-git.tgz"; + sha256 = "1zq7hjfn854jr1sglagvdpn749ihxki0l1wcbg9nd2i7ds1g5h4y"; + system = "cl-permutation-tests"; + asd = "cl-permutation-tests"; + } + ); + systems = [ "cl-permutation-tests" ]; + lispLibs = [ + (getAttr "cl-permutation" self) + (getAttr "cl-permutation-examples" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-photo = ( + build-asdf-system { + pname = "cl-photo"; + version = "20150923-git"; + asds = [ "cl-photo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-photo/2015-09-23/cl-photo-20150923-git.tgz"; + sha256 = "03rzsi1rqvlnw43z7kh5sy1h8gjxc5n0cfryfkkqnhym9q9186mj"; + system = "cl-photo"; + asd = "cl-photo"; + } + ); + systems = [ "cl-photo" ]; + lispLibs = [ (getAttr "kmrcl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-photo-tests = ( + build-asdf-system { + pname = "cl-photo-tests"; + version = "20150923-git"; + asds = [ "cl-photo-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-photo/2015-09-23/cl-photo-20150923-git.tgz"; + sha256 = "03rzsi1rqvlnw43z7kh5sy1h8gjxc5n0cfryfkkqnhym9q9186mj"; + system = "cl-photo-tests"; + asd = "cl-photo-tests"; + } + ); + systems = [ "cl-photo-tests" ]; + lispLibs = [ + (getAttr "cl-photo" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plplot = ( + build-asdf-system { + pname = "cl-plplot"; + version = "20180228-git"; + asds = [ "cl-plplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plplot/2018-02-28/cl-plplot-20180228-git.tgz"; + sha256 = "0hfgq47ga2r764jfc3ywaz5ynnvp701fjhbw0s4j1mrw4gaf6y6w"; + system = "cl-plplot"; + asd = "cl-plplot"; + } + ); + systems = [ "cl-plplot" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plumbing = ( + build-asdf-system { + pname = "cl-plumbing"; + version = "20181018-git"; + asds = [ "cl-plumbing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plumbing/2018-10-18/cl-plumbing-20181018-git.tgz"; + sha256 = "0bc4qqj0c4hghwx8jm3vg422c3i8livv3vvzfzi0gw79khaqdiyr"; + system = "cl-plumbing"; + asd = "cl-plumbing"; + } + ); + systems = [ "cl-plumbing" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "iterate" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plumbing-test = ( + build-asdf-system { + pname = "cl-plumbing-test"; + version = "20181018-git"; + asds = [ "cl-plumbing-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plumbing/2018-10-18/cl-plumbing-20181018-git.tgz"; + sha256 = "0bc4qqj0c4hghwx8jm3vg422c3i8livv3vvzfzi0gw79khaqdiyr"; + system = "cl-plumbing-test"; + asd = "cl-plumbing-test"; + } + ); + systems = [ "cl-plumbing-test" ]; + lispLibs = [ + (getAttr "cl-plumbing" self) + (getAttr "iterate" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plus-c = ( + build-asdf-system { + pname = "cl-plus-c"; + version = "20241012-git"; + asds = [ "cl-plus-c" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-autowrap/2024-10-12/cl-autowrap-20241012-git.tgz"; + sha256 = "1sfvhyrwm9dhxi0y42xp7mx8mvs6lmq3bzxdx34frxni5srcgly0"; + system = "cl-plus-c"; + asd = "cl-plus-c"; + } + ); + systems = [ "cl-plus-c" ]; + lispLibs = [ (getAttr "cl-autowrap" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plus-ssl-osx-fix = ( + build-asdf-system { + pname = "cl-plus-ssl-osx-fix"; + version = "20241012-git"; + asds = [ "cl-plus-ssl-osx-fix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; + sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; + system = "cl-plus-ssl-osx-fix"; + asd = "cl-plus-ssl-osx-fix"; + } + ); + systems = [ "cl-plus-ssl-osx-fix" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "cl_plus_ssl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plus-ssl-osx-fix-ci = ( + build-asdf-system { + pname = "cl-plus-ssl-osx-fix-ci"; + version = "20241012-git"; + asds = [ "cl-plus-ssl-osx-fix-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; + sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; + system = "cl-plus-ssl-osx-fix-ci"; + asd = "cl-plus-ssl-osx-fix-ci"; + } + ); + systems = [ "cl-plus-ssl-osx-fix-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plus-ssl-osx-fix-docs = ( + build-asdf-system { + pname = "cl-plus-ssl-osx-fix-docs"; + version = "20241012-git"; + asds = [ "cl-plus-ssl-osx-fix-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; + sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; + system = "cl-plus-ssl-osx-fix-docs"; + asd = "cl-plus-ssl-osx-fix-docs"; + } + ); + systems = [ "cl-plus-ssl-osx-fix-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "cl-plus-ssl-osx-fix" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-plus-ssl-osx-fix-tests = ( + build-asdf-system { + pname = "cl-plus-ssl-osx-fix-tests"; + version = "20241012-git"; + asds = [ "cl-plus-ssl-osx-fix-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plus-ssl-osx-fix/2024-10-12/cl-plus-ssl-osx-fix-20241012-git.tgz"; + sha256 = "0rkrazia05zzwzd9vx2kl1azwgjy0d4pvfmwp5mjmqsvpklgacwv"; + system = "cl-plus-ssl-osx-fix-tests"; + asd = "cl-plus-ssl-osx-fix-tests"; + } + ); + systems = [ "cl-plus-ssl-osx-fix-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ply = ( + build-asdf-system { + pname = "cl-ply"; + version = "20150505-git"; + asds = [ "cl-ply" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ply/2015-05-05/cl-ply-20150505-git.tgz"; + sha256 = "1va3il5ahvziwm6i3f2zy3vchv0qkh1l7jci7gnfam43gf88fl12"; + system = "cl-ply"; + asd = "cl-ply"; + } + ); + systems = [ "cl-ply" ]; + lispLibs = [ + (getAttr "cl-pattern" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ply-test = ( + build-asdf-system { + pname = "cl-ply-test"; + version = "20150505-git"; + asds = [ "cl-ply-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ply/2015-05-05/cl-ply-20150505-git.tgz"; + sha256 = "1va3il5ahvziwm6i3f2zy3vchv0qkh1l7jci7gnfam43gf88fl12"; + system = "cl-ply-test"; + asd = "cl-ply-test"; + } + ); + systems = [ "cl-ply-test" ]; + lispLibs = [ + (getAttr "cl-ply" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-poker-eval = ( + build-asdf-system { + pname = "cl-poker-eval"; + version = "20150804-git"; + asds = [ "cl-poker-eval" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-poker-eval/2015-08-04/cl-poker-eval-20150804-git.tgz"; + sha256 = "1w4dsr4j7r3n7p0jbp8ccwwk83wcjjiz1rhhfrqpsd9v263v7kw8"; + system = "cl-poker-eval"; + asd = "cl-poker-eval"; + } + ); + systems = [ "cl-poker-eval" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pop = ( + build-asdf-system { + pname = "cl-pop"; + version = "20110418-http"; + asds = [ "cl-pop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pop/2011-04-18/cl-pop-20110418-http.tgz"; + sha256 = "1g47p9w2pzf7glx92cz859di9pz454xpaq97p76lcvyilxk6q819"; + system = "cl-pop"; + asd = "cl-pop"; + } + ); + systems = [ "cl-pop" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-portaudio = ( + build-asdf-system { + pname = "cl-portaudio"; + version = "20201220-git"; + asds = [ "cl-portaudio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-portaudio/2020-12-20/cl-portaudio-20201220-git.tgz"; + sha256 = "177c6bgf30caj5qpzfnzhbamax7c5zm2p4911mw7fay94vjs7zyb"; + system = "cl-portaudio"; + asd = "cl-portaudio"; + } + ); + systems = [ "cl-portaudio" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "ffa" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-postgres = ( + build-asdf-system { + pname = "cl-postgres"; + version = "20241012-git"; + asds = [ "cl-postgres" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; + sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; + system = "cl-postgres"; + asd = "cl-postgres"; + } + ); + systems = [ "cl-postgres" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "ironclad" self) + (getAttr "md5" self) + (getAttr "split-sequence" self) + (getAttr "uax-15" self) + ]; + meta = { }; + } + ); + cl-postgres_plus_local-time = ( + build-asdf-system { + pname = "cl-postgres+local-time"; + version = "20241012-git"; + asds = [ "cl-postgres+local-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/local-time/2024-10-12/local-time-20241012-git.tgz"; + sha256 = "0jb1mb5zs4ryiah8zjzhpln1z686mfmpmvg1phgpr2mh9vvlgjk2"; + system = "cl-postgres+local-time"; + asd = "cl-postgres+local-time"; + } + ); + systems = [ "cl-postgres+local-time" ]; + lispLibs = [ + (getAttr "cl-postgres" self) + (getAttr "local-time" self) + ]; + meta = { }; + } + ); + cl-postgres_plus_local-time-duration = ( + build-asdf-system { + pname = "cl-postgres+local-time-duration"; + version = "20180430-git"; + asds = [ "cl-postgres+local-time-duration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/local-time-duration/2018-04-30/local-time-duration-20180430-git.tgz"; + sha256 = "0f13mg18lv31lclz9jvqyj8d85p1jj1366nlld8m3dxnnwsbbkd6"; + system = "cl-postgres+local-time-duration"; + asd = "cl-postgres+local-time-duration"; + } + ); + systems = [ "cl-postgres+local-time-duration" ]; + lispLibs = [ + (getAttr "cl-postgres" self) + (getAttr "local-time-duration" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-postgres-datetime = ( + build-asdf-system { + pname = "cl-postgres-datetime"; + version = "20190521-git"; + asds = [ "cl-postgres-datetime" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-postgres-datetime/2019-05-21/cl-postgres-datetime-20190521-git.tgz"; + sha256 = "1vwv5j1i968927j070bagqx9i114a8phmx7k9ankj9j5zg5dj0l3"; + system = "cl-postgres-datetime"; + asd = "cl-postgres-datetime"; + } + ); + systems = [ "cl-postgres-datetime" ]; + lispLibs = [ + (getAttr "cl-postgres" self) + (getAttr "local-time" self) + (getAttr "simple-date" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-postgres-plus-uuid = ( + build-asdf-system { + pname = "cl-postgres-plus-uuid"; + version = "20181018-git"; + asds = [ "cl-postgres-plus-uuid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-postgres-plus-uuid/2018-10-18/cl-postgres-plus-uuid-20181018-git.tgz"; + sha256 = "1iw11v67gpwgpa5dw3d7chjmkc4d7sdwrqvnx0vg0m2qf4j7azmi"; + system = "cl-postgres-plus-uuid"; + asd = "cl-postgres-plus-uuid"; + } + ); + systems = [ "cl-postgres-plus-uuid" ]; + lispLibs = [ + (getAttr "cl-postgres" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ppcre = ( + build-asdf-system { + pname = "cl-ppcre"; + version = "20241012-git"; + asds = [ "cl-ppcre" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ppcre/2024-10-12/cl-ppcre-20241012-git.tgz"; + sha256 = "0aw7lh79wgn18c75v29md2x8irl8v7f96lj1mfkp7x0mkqsb0cs8"; + system = "cl-ppcre"; + asd = "cl-ppcre"; + } + ); + systems = [ "cl-ppcre" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-ppcre-template = ( + build-asdf-system { + pname = "cl-ppcre-template"; + version = "20241012-git"; + asds = [ "cl-ppcre-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; + sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; + system = "cl-ppcre-template"; + asd = "cl-ppcre-template"; + } + ); + systems = [ "cl-ppcre-template" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-unification" self) + ]; + meta = { }; + } + ); + cl-ppcre-unicode = ( + build-asdf-system { + pname = "cl-ppcre-unicode"; + version = "20241012-git"; + asds = [ "cl-ppcre-unicode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ppcre/2024-10-12/cl-ppcre-20241012-git.tgz"; + sha256 = "0aw7lh79wgn18c75v29md2x8irl8v7f96lj1mfkp7x0mkqsb0cs8"; + system = "cl-ppcre-unicode"; + asd = "cl-ppcre-unicode"; + } + ); + systems = [ "cl-ppcre-unicode" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-unicode" self) + ]; + meta = { }; + } + ); + cl-prevalence = ( + build-asdf-system { + pname = "cl-prevalence"; + version = "20230214-git"; + asds = [ "cl-prevalence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prevalence/2023-02-14/cl-prevalence-20230214-git.tgz"; + sha256 = "1lb957ivshgp56phqhvhsmnc4r55x5shvi3mpsan2xsm4hvqspp0"; + system = "cl-prevalence"; + asd = "cl-prevalence"; + } + ); + systems = [ "cl-prevalence" ]; + lispLibs = [ + (getAttr "moptilities" self) + (getAttr "s-sysdeps" self) + (getAttr "s-xml" self) + ]; + meta = { }; + } + ); + cl-prevalence-test = ( + build-asdf-system { + pname = "cl-prevalence-test"; + version = "20230214-git"; + asds = [ "cl-prevalence-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prevalence/2023-02-14/cl-prevalence-20230214-git.tgz"; + sha256 = "1lb957ivshgp56phqhvhsmnc4r55x5shvi3mpsan2xsm4hvqspp0"; + system = "cl-prevalence-test"; + asd = "cl-prevalence-test"; + } + ); + systems = [ "cl-prevalence-test" ]; + lispLibs = [ + (getAttr "cl-prevalence" self) + (getAttr "find-port" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-primality = ( + build-asdf-system { + pname = "cl-primality"; + version = "20150608-git"; + asds = [ "cl-primality" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-primality/2015-06-08/cl-primality-20150608-git.tgz"; + sha256 = "1hvbsd5x7yrrrh7jjq0p8ign3ppzzpacmmz7nps60wgk38q1b618"; + system = "cl-primality"; + asd = "cl-primality"; + } + ); + systems = [ "cl-primality" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-primality-test = ( + build-asdf-system { + pname = "cl-primality-test"; + version = "20150608-git"; + asds = [ "cl-primality-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-primality/2015-06-08/cl-primality-20150608-git.tgz"; + sha256 = "1hvbsd5x7yrrrh7jjq0p8ign3ppzzpacmmz7nps60wgk38q1b618"; + system = "cl-primality-test"; + asd = "cl-primality-test"; + } + ); + systems = [ "cl-primality-test" ]; + lispLibs = [ + (getAttr "cl-primality" self) + (getAttr "iterate" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prime-maker = ( + build-asdf-system { + pname = "cl-prime-maker"; + version = "20150302-git"; + asds = [ "cl-prime-maker" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prime-maker/2015-03-02/cl-prime-maker-20150302-git.tgz"; + sha256 = "0hs95zs990aiwspss2dzmjvl18ipvlkx3p9cgmcncqxhgkizds9s"; + system = "cl-prime-maker"; + asd = "cl-prime-maker"; + } + ); + systems = [ "cl-prime-maker" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-progress-bar = ( + build-asdf-system { + pname = "cl-progress-bar"; + version = "20211209-git"; + asds = [ "cl-progress-bar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-progress-bar/2021-12-09/cl-progress-bar-20211209-git.tgz"; + sha256 = "1y4kg4qb4bxkqnc84mczx5fhqlr6qbagxwsn93xrilv8lqg8ymiv"; + system = "cl-progress-bar"; + asd = "cl-progress-bar"; + } + ); + systems = [ "cl-progress-bar" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "documentation-utils-extensions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-project = ( + build-asdf-system { + pname = "cl-project"; + version = "20241012-git"; + asds = [ "cl-project" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-project/2024-10-12/cl-project-20241012-git.tgz"; + sha256 = "12bvhs1ll6wxwgarvyxbrm978jxpvgj9vyqcbnwqmf5kqxjlrh0j"; + system = "cl-project"; + asd = "cl-project"; + } + ); + systems = [ "cl-project" ]; + lispLibs = [ + (getAttr "cl-emb" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-project-test = ( + build-asdf-system { + pname = "cl-project-test"; + version = "20241012-git"; + asds = [ "cl-project-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-project/2024-10-12/cl-project-20241012-git.tgz"; + sha256 = "12bvhs1ll6wxwgarvyxbrm978jxpvgj9vyqcbnwqmf5kqxjlrh0j"; + system = "cl-project-test"; + asd = "cl-project-test"; + } + ); + systems = [ "cl-project-test" ]; + lispLibs = [ + (getAttr "caveman2" self) + (getAttr "cl-project" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2 = ( + build-asdf-system { + pname = "cl-prolog2"; + version = "20211209-git"; + asds = [ "cl-prolog2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2"; + asd = "cl-prolog2"; + } + ); + systems = [ "cl-prolog2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "external-program" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_quasiquote" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_bprolog = ( + build-asdf-system { + pname = "cl-prolog2.bprolog"; + version = "20211209-git"; + asds = [ "cl-prolog2.bprolog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.bprolog"; + asd = "cl-prolog2.bprolog"; + } + ); + systems = [ "cl-prolog2.bprolog" ]; + lispLibs = [ (getAttr "cl-prolog2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_bprolog_dot_test = ( + build-asdf-system { + pname = "cl-prolog2.bprolog.test"; + version = "20211209-git"; + asds = [ "cl-prolog2.bprolog.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.bprolog.test"; + asd = "cl-prolog2.bprolog.test"; + } + ); + systems = [ "cl-prolog2.bprolog.test" ]; + lispLibs = [ + (getAttr "cl-prolog2_dot_bprolog" self) + (getAttr "cl-prolog2_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_gprolog = ( + build-asdf-system { + pname = "cl-prolog2.gprolog"; + version = "20211209-git"; + asds = [ "cl-prolog2.gprolog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.gprolog"; + asd = "cl-prolog2.gprolog"; + } + ); + systems = [ "cl-prolog2.gprolog" ]; + lispLibs = [ (getAttr "cl-prolog2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_gprolog_dot_test = ( + build-asdf-system { + pname = "cl-prolog2.gprolog.test"; + version = "20211209-git"; + asds = [ "cl-prolog2.gprolog.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.gprolog.test"; + asd = "cl-prolog2.gprolog.test"; + } + ); + systems = [ "cl-prolog2.gprolog.test" ]; + lispLibs = [ + (getAttr "cl-prolog2_dot_gprolog" self) + (getAttr "cl-prolog2_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_swi = ( + build-asdf-system { + pname = "cl-prolog2.swi"; + version = "20211209-git"; + asds = [ "cl-prolog2.swi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.swi"; + asd = "cl-prolog2.swi"; + } + ); + systems = [ "cl-prolog2.swi" ]; + lispLibs = [ (getAttr "cl-prolog2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_swi_dot_test = ( + build-asdf-system { + pname = "cl-prolog2.swi.test"; + version = "20211209-git"; + asds = [ "cl-prolog2.swi.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.swi.test"; + asd = "cl-prolog2.swi.test"; + } + ); + systems = [ "cl-prolog2.swi.test" ]; + lispLibs = [ + (getAttr "cl-prolog2_dot_swi" self) + (getAttr "cl-prolog2_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_test = ( + build-asdf-system { + pname = "cl-prolog2.test"; + version = "20211209-git"; + asds = [ "cl-prolog2.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.test"; + asd = "cl-prolog2.test"; + } + ); + systems = [ "cl-prolog2.test" ]; + lispLibs = [ + (getAttr "cl-prolog2" self) + (getAttr "fiveam" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_xsb = ( + build-asdf-system { + pname = "cl-prolog2.xsb"; + version = "20211209-git"; + asds = [ "cl-prolog2.xsb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.xsb"; + asd = "cl-prolog2.xsb"; + } + ); + systems = [ "cl-prolog2.xsb" ]; + lispLibs = [ (getAttr "cl-prolog2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_xsb_dot_test = ( + build-asdf-system { + pname = "cl-prolog2.xsb.test"; + version = "20211209-git"; + asds = [ "cl-prolog2.xsb.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.xsb.test"; + asd = "cl-prolog2.xsb.test"; + } + ); + systems = [ "cl-prolog2.xsb.test" ]; + lispLibs = [ + (getAttr "cl-prolog2_dot_test" self) + (getAttr "cl-prolog2_dot_xsb" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_yap = ( + build-asdf-system { + pname = "cl-prolog2.yap"; + version = "20211209-git"; + asds = [ "cl-prolog2.yap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.yap"; + asd = "cl-prolog2.yap"; + } + ); + systems = [ "cl-prolog2.yap" ]; + lispLibs = [ (getAttr "cl-prolog2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-prolog2_dot_yap_dot_test = ( + build-asdf-system { + pname = "cl-prolog2.yap.test"; + version = "20211209-git"; + asds = [ "cl-prolog2.yap.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz"; + sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg"; + system = "cl-prolog2.yap.test"; + asd = "cl-prolog2.yap.test"; + } + ); + systems = [ "cl-prolog2.yap.test" ]; + lispLibs = [ + (getAttr "cl-prolog2_dot_test" self) + (getAttr "cl-prolog2_dot_yap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-protobufs_dot_asdf = ( + build-asdf-system { + pname = "cl-protobufs.asdf"; + version = "20241012-git"; + asds = [ "cl-protobufs.asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-protobufs/2024-10-12/cl-protobufs-20241012-git.tgz"; + sha256 = "08digcsyxs46pl7r5d945db5r2hbrxydqqcmzbgziq61ca4p0ifn"; + system = "cl-protobufs.asdf"; + asd = "cl-protobufs.asdf"; + } + ); + systems = [ "cl-protobufs.asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pslib = ( + build-asdf-system { + pname = "cl-pslib"; + version = "20241012-git"; + asds = [ "cl-pslib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pslib/2024-10-12/cl-pslib-20241012-git.tgz"; + sha256 = "12lg64nbjkxmaf212qr4i0msnsixc2cbqmxkdgqjii9rsyqdvrn6"; + system = "cl-pslib"; + asd = "cl-pslib"; + } + ); + systems = [ "cl-pslib" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-colors2" self) + (getAttr "cl-ppcre-unicode" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-pslib-barcode = ( + build-asdf-system { + pname = "cl-pslib-barcode"; + version = "20241012-git"; + asds = [ "cl-pslib-barcode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pslib-barcode/2024-10-12/cl-pslib-barcode-20241012-git.tgz"; + sha256 = "1n17yv7qr6i6dhbjrcc1binlxxkc1p5blj9nwn6g26fyvakgwrsb"; + system = "cl-pslib-barcode"; + asd = "cl-pslib-barcode"; + } + ); + systems = [ "cl-pslib-barcode" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-colors2" self) + (getAttr "cl-ppcre-unicode" self) + (getAttr "cl-pslib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-punch = ( + build-asdf-system { + pname = "cl-punch"; + version = "20190107-git"; + asds = [ "cl-punch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-punch/2019-01-07/cl-punch-20190107-git.tgz"; + sha256 = "1sjgwn6c77n8pgs0rrw70xfl18rps6a0dlf2chfsbgk8shz6qyl2"; + system = "cl-punch"; + asd = "cl-punch"; + } + ); + systems = [ "cl-punch" ]; + lispLibs = [ (getAttr "cl-syntax" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-punch-test = ( + build-asdf-system { + pname = "cl-punch-test"; + version = "20190107-git"; + asds = [ "cl-punch-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-punch/2019-01-07/cl-punch-20190107-git.tgz"; + sha256 = "1sjgwn6c77n8pgs0rrw70xfl18rps6a0dlf2chfsbgk8shz6qyl2"; + system = "cl-punch-test"; + asd = "cl-punch-test"; + } + ); + systems = [ "cl-punch-test" ]; + lispLibs = [ + (getAttr "cl-punch" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-qoa = ( + build-asdf-system { + pname = "cl-qoa"; + version = "20241012-git"; + asds = [ "cl-qoa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-qoa/2024-10-12/cl-qoa-20241012-git.tgz"; + sha256 = "0gxrra0mvvkyvhvg7cc4bvi3nwdsnx0dbjszp41ch6dsdhd3pcpy"; + system = "cl-qoa"; + asd = "cl-qoa"; + } + ); + systems = [ "cl-qoa" ]; + lispLibs = [ + (getAttr "binary-structures" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-qprint = ( + build-asdf-system { + pname = "cl-qprint"; + version = "20150804-git"; + asds = [ "cl-qprint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-qprint/2015-08-04/cl-qprint-20150804-git.tgz"; + sha256 = "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"; + system = "cl-qprint"; + asd = "cl-qprint"; + } + ); + systems = [ "cl-qprint" ]; + lispLibs = [ (getAttr "flexi-streams" self) ]; + meta = { }; + } + ); + cl-qrencode = ( + build-asdf-system { + pname = "cl-qrencode"; + version = "20191007-git"; + asds = [ "cl-qrencode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-qrencode/2019-10-07/cl-qrencode-20191007-git.tgz"; + sha256 = "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"; + system = "cl-qrencode"; + asd = "cl-qrencode"; + } + ); + systems = [ "cl-qrencode" ]; + lispLibs = [ (getAttr "zpng" self) ]; + meta = { }; + } + ); + cl-qrencode-test = ( + build-asdf-system { + pname = "cl-qrencode-test"; + version = "20191007-git"; + asds = [ "cl-qrencode-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-qrencode/2019-10-07/cl-qrencode-20191007-git.tgz"; + sha256 = "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"; + system = "cl-qrencode-test"; + asd = "cl-qrencode-test"; + } + ); + systems = [ "cl-qrencode-test" ]; + lispLibs = [ + (getAttr "cl-qrencode" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-quickcheck = ( + build-asdf-system { + pname = "cl-quickcheck"; + version = "20200610-git"; + asds = [ "cl-quickcheck" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-quickcheck/2020-06-10/cl-quickcheck-20200610-git.tgz"; + sha256 = "0cfyxbdhklvdk3qdzyxxaq9q6cxnsvqjfi86nay1vc7h6ziysb60"; + system = "cl-quickcheck"; + asd = "cl-quickcheck"; + } + ); + systems = [ "cl-quickcheck" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rabbit = ( + build-asdf-system { + pname = "cl-rabbit"; + version = "20210411-git"; + asds = [ "cl-rabbit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rabbit/2021-04-11/cl-rabbit-20210411-git.tgz"; + sha256 = "1q1mhqxqvxbr6ak7j0ym6mjhhq6r0pqk1l7az9hfajmqmw3xfija"; + system = "cl-rabbit"; + asd = "cl-rabbit"; + } + ); + systems = [ "cl-rabbit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cffi-libffi" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rabbit-tests = ( + build-asdf-system { + pname = "cl-rabbit-tests"; + version = "20210411-git"; + asds = [ "cl-rabbit-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rabbit/2021-04-11/cl-rabbit-20210411-git.tgz"; + sha256 = "1q1mhqxqvxbr6ak7j0ym6mjhhq6r0pqk1l7az9hfajmqmw3xfija"; + system = "cl-rabbit-tests"; + asd = "cl-rabbit-tests"; + } + ); + systems = [ "cl-rabbit-tests" ]; + lispLibs = [ + (getAttr "cl-rabbit" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-randist = ( + build-asdf-system { + pname = "cl-randist"; + version = "20221106-git"; + asds = [ "cl-randist" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-randist/2022-11-06/cl-randist-20221106-git.tgz"; + sha256 = "1r0d76n5zjqg5fb2ypqx5i1wg4hsg5g0c126ylqb28wdaf2yjz5a"; + system = "cl-randist"; + asd = "cl-randist"; + } + ); + systems = [ "cl-randist" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-random-forest = ( + build-asdf-system { + pname = "cl-random-forest"; + version = "20221106-git"; + asds = [ "cl-random-forest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-random-forest/2022-11-06/cl-random-forest-20221106-git.tgz"; + sha256 = "0jn5f3s1zvjql35c4m67lqc0vjr7sm7kzf8w4jfbfabcnxf3y6jx"; + system = "cl-random-forest"; + asd = "cl-random-forest"; + } + ); + systems = [ "cl-random-forest" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-libsvm-format" self) + (getAttr "cl-online-learning" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-random-forest-test = ( + build-asdf-system { + pname = "cl-random-forest-test"; + version = "20221106-git"; + asds = [ "cl-random-forest-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-random-forest/2022-11-06/cl-random-forest-20221106-git.tgz"; + sha256 = "0jn5f3s1zvjql35c4m67lqc0vjr7sm7kzf8w4jfbfabcnxf3y6jx"; + system = "cl-random-forest-test"; + asd = "cl-random-forest-test"; + } + ); + systems = [ "cl-random-forest-test" ]; + lispLibs = [ + (getAttr "cl-random-forest" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rdfxml = ( + build-asdf-system { + pname = "cl-rdfxml"; + version = "20140713-git"; + asds = [ "cl-rdfxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rdfxml/2014-07-13/cl-rdfxml-20140713-git.tgz"; + sha256 = "09v76qg6l3y1llapnkfqrfgib67h7lpkzrdmfimwk49bi80iii8v"; + system = "cl-rdfxml"; + asd = "cl-rdfxml"; + } + ); + systems = [ "cl-rdfxml" ]; + lispLibs = [ + (getAttr "cxml" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rdkafka = ( + build-asdf-system { + pname = "cl-rdkafka"; + version = "20230214-git"; + asds = [ "cl-rdkafka" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rdkafka/2023-02-14/cl-rdkafka-20230214-git.tgz"; + sha256 = "10y56avak66k2la9bmfzrni01wybi86avxjh64hz57b351bf2s55"; + system = "cl-rdkafka"; + asd = "cl-rdkafka"; + } + ); + systems = [ "cl-rdkafka" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "lparallel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-readline = ( + build-asdf-system { + pname = "cl-readline"; + version = "20241012-git"; + asds = [ "cl-readline" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-readline/2024-10-12/cl-readline-20241012-git.tgz"; + sha256 = "0law12vnj1d5174kk9l949mgkkxm1x6kpcw5wixxjavmxxwqwric"; + system = "cl-readline"; + asd = "cl-readline"; + } + ); + systems = [ "cl-readline" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { }; + } + ); + cl-recaptcha = ( + build-asdf-system { + pname = "cl-recaptcha"; + version = "20150608-git"; + asds = [ "cl-recaptcha" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-recaptcha/2015-06-08/cl-recaptcha-20150608-git.tgz"; + sha256 = "09qdmzbhc5hikay31mbsfd7dps72rm4gcdbbi0b6gkb6qbia6m71"; + system = "cl-recaptcha"; + asd = "cl-recaptcha"; + } + ); + systems = [ "cl-recaptcha" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "jsown" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-reddit = ( + build-asdf-system { + pname = "cl-reddit"; + version = "20241012-git"; + asds = [ "cl-reddit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-reddit/2024-10-12/cl-reddit-20241012-git.tgz"; + sha256 = "0jnc88mdz7hsmsncqrqmc8m8f1yd3n9087750kqpnn1sp1cwskk1"; + system = "cl-reddit"; + asd = "cl-reddit"; + } + ); + systems = [ "cl-reddit" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-redis = ( + build-asdf-system { + pname = "cl-redis"; + version = "20200925-git"; + asds = [ "cl-redis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-redis/2020-09-25/cl-redis-20200925-git.tgz"; + sha256 = "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi"; + system = "cl-redis"; + asd = "cl-redis"; + } + ); + systems = [ "cl-redis" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "rutils" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-redis-test = ( + build-asdf-system { + pname = "cl-redis-test"; + version = "20200925-git"; + asds = [ "cl-redis-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-redis/2020-09-25/cl-redis-20200925-git.tgz"; + sha256 = "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi"; + system = "cl-redis-test"; + asd = "cl-redis"; + } + ); + systems = [ "cl-redis-test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-redis" self) + (getAttr "flexi-streams" self) + (getAttr "should-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-reexport = ( + build-asdf-system { + pname = "cl-reexport"; + version = "20210228-git"; + asds = [ "cl-reexport" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-reexport/2021-02-28/cl-reexport-20210228-git.tgz"; + sha256 = "02la6z3ickhmh2m87ymm2ijh9nkn7l6slskj99l8a1rhps394qqc"; + system = "cl-reexport"; + asd = "cl-reexport"; + } + ); + systems = [ "cl-reexport" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + cl-reexport-test = ( + build-asdf-system { + pname = "cl-reexport-test"; + version = "20210228-git"; + asds = [ "cl-reexport-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-reexport/2021-02-28/cl-reexport-20210228-git.tgz"; + sha256 = "02la6z3ickhmh2m87ymm2ijh9nkn7l6slskj99l8a1rhps394qqc"; + system = "cl-reexport-test"; + asd = "cl-reexport-test"; + } + ); + systems = [ "cl-reexport-test" ]; + lispLibs = [ + (getAttr "cl-reexport" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-renderdoc = ( + build-asdf-system { + pname = "cl-renderdoc"; + version = "20200925-git"; + asds = [ "cl-renderdoc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-renderdoc/2020-09-25/cl-renderdoc-20200925-git.tgz"; + sha256 = "0rrcp4y1f07x8h0ikvf5ncc3pbqj6vaciblab9qghmgdglnn7akx"; + system = "cl-renderdoc"; + asd = "cl-renderdoc"; + } + ); + systems = [ "cl-renderdoc" ]; + lispLibs = [ (getAttr "cl-autowrap" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-replica = ( + build-asdf-system { + pname = "cl-replica"; + version = "20230618-git"; + asds = [ "cl-replica" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-replica/2023-06-18/cl-replica-20230618-git.tgz"; + sha256 = "06nywqz7il4dk79s3ga8115s5cr9bpz1fh8b7jms5wxlc1h5p0mn"; + system = "cl-replica"; + asd = "cl-replica"; + } + ); + systems = [ "cl-replica" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-resvg = ( + build-asdf-system { + pname = "cl-resvg"; + version = "20241012-git"; + asds = [ "cl-resvg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-resvg/2024-10-12/cl-resvg-20241012-git.tgz"; + sha256 = "0263na51qs0wrc9r2dqigj4a1h70pjf0mqsgbnd6hfshvx0kq1cl"; + system = "cl-resvg"; + asd = "cl-resvg"; + } + ); + systems = [ "cl-resvg" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "float-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rethinkdb = ( + build-asdf-system { + pname = "cl-rethinkdb"; + version = "20160825-git"; + asds = [ "cl-rethinkdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rethinkdb/2016-08-25/cl-rethinkdb-20160825-git.tgz"; + sha256 = "0sps1p203gn7i123w96pj5ggpncmkngkfdb6zfnm5yjq544sjjf7"; + system = "cl-rethinkdb"; + asd = "cl-rethinkdb"; + } + ); + systems = [ "cl-rethinkdb" ]; + lispLibs = [ + (getAttr "blackbird" self) + (getAttr "cl-async" self) + (getAttr "cl-base64" self) + (getAttr "cl-hash-util" self) + (getAttr "cl-ppcre" self) + (getAttr "event-glue" self) + (getAttr "fast-io" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "vom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rethinkdb-test = ( + build-asdf-system { + pname = "cl-rethinkdb-test"; + version = "20160825-git"; + asds = [ "cl-rethinkdb-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rethinkdb/2016-08-25/cl-rethinkdb-20160825-git.tgz"; + sha256 = "0sps1p203gn7i123w96pj5ggpncmkngkfdb6zfnm5yjq544sjjf7"; + system = "cl-rethinkdb-test"; + asd = "cl-rethinkdb-test"; + } + ); + systems = [ "cl-rethinkdb-test" ]; + lispLibs = [ + (getAttr "blackbird" self) + (getAttr "cl-async" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-rethinkdb" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rfc2047 = ( + build-asdf-system { + pname = "cl-rfc2047"; + version = "20150804-git"; + asds = [ "cl-rfc2047" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rfc2047/2015-08-04/cl-rfc2047-20150804-git.tgz"; + sha256 = "1kh48p5i7lmv1hcdsddlcjavhai9gi54jndnbpm9r55a6ladi8gv"; + system = "cl-rfc2047"; + asd = "cl-rfc2047"; + } + ); + systems = [ "cl-rfc2047" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-base64" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rfc2047-test = ( + build-asdf-system { + pname = "cl-rfc2047-test"; + version = "20150804-git"; + asds = [ "cl-rfc2047-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rfc2047/2015-08-04/cl-rfc2047-20150804-git.tgz"; + sha256 = "1kh48p5i7lmv1hcdsddlcjavhai9gi54jndnbpm9r55a6ladi8gv"; + system = "cl-rfc2047-test"; + asd = "cl-rfc2047-test"; + } + ); + systems = [ "cl-rfc2047-test" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-rfc2047" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rfc4251 = ( + build-asdf-system { + pname = "cl-rfc4251"; + version = "20231021-git"; + asds = [ "cl-rfc4251" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rfc4251/2023-10-21/cl-rfc4251-20231021-git.tgz"; + sha256 = "11xz6w1gvyj5a01yjfy52byfrq6v8k1mzkp3wajhzhg60nkhn4jh"; + system = "cl-rfc4251"; + asd = "cl-rfc4251"; + } + ); + systems = [ "cl-rfc4251" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rfc4251_dot_test = ( + build-asdf-system { + pname = "cl-rfc4251.test"; + version = "20231021-git"; + asds = [ "cl-rfc4251.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rfc4251/2023-10-21/cl-rfc4251-20231021-git.tgz"; + sha256 = "11xz6w1gvyj5a01yjfy52byfrq6v8k1mzkp3wajhzhg60nkhn4jh"; + system = "cl-rfc4251.test"; + asd = "cl-rfc4251.test"; + } + ); + systems = [ "cl-rfc4251.test" ]; + lispLibs = [ + (getAttr "cl-rfc4251" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-riff = ( + build-asdf-system { + pname = "cl-riff"; + version = "20220707-git"; + asds = [ "cl-riff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-riff/2022-07-07/cl-riff-20220707-git.tgz"; + sha256 = "0b2j6yw3xkv6611snn7cy56vmnjfgi58wyvfr9lx82xkakd9rw3z"; + system = "cl-riff"; + asd = "cl-riff"; + } + ); + systems = [ "cl-riff" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rlimit = ( + build-asdf-system { + pname = "cl-rlimit"; + version = "20150608-git"; + asds = [ "cl-rlimit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rlimit/2015-06-08/cl-rlimit-20150608-git.tgz"; + sha256 = "19p02r380qhs76qlcb3jp4lm4nsnpy7zch01fdiwn7l7xgxkzxh0"; + system = "cl-rlimit"; + asd = "cl-rlimit"; + } + ); + systems = [ "cl-rlimit" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rmath = ( + build-asdf-system { + pname = "cl-rmath"; + version = "20180328-git"; + asds = [ "cl-rmath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rmath/2018-03-28/cl-rmath-20180328-git.tgz"; + sha256 = "1ld8vbpy10paymx2hn0mcgd21i7cjhdrayln1jx0kayqxm12mmk4"; + system = "cl-rmath"; + asd = "cl-rmath"; + } + ); + systems = [ "cl-rmath" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-robdd = ( + build-asdf-system { + pname = "cl-robdd"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "cl-robdd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "cl-robdd"; + asd = "cl-robdd"; + } + ); + systems = [ "cl-robdd" ]; + lispLibs = [ (getAttr "adjuvant" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-robdd-analysis = ( + build-asdf-system { + pname = "cl-robdd-analysis"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "cl-robdd-analysis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "cl-robdd-analysis"; + asd = "cl-robdd-analysis"; + } + ); + systems = [ "cl-robdd-analysis" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "cl-fad" self) + (getAttr "cl-robdd" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-robdd-analysis-test = ( + build-asdf-system { + pname = "cl-robdd-analysis-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "cl-robdd-analysis-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "cl-robdd-analysis-test"; + asd = "cl-robdd-analysis-test"; + } + ); + systems = [ "cl-robdd-analysis-test" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "cl-robdd-analysis" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-robdd-test = ( + build-asdf-system { + pname = "cl-robdd-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "cl-robdd-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "cl-robdd-test"; + asd = "cl-robdd-test"; + } + ); + systems = [ "cl-robdd-test" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "cl-fad" self) + (getAttr "cl-robdd" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rrd = ( + build-asdf-system { + pname = "cl-rrd"; + version = "20130128-git"; + asds = [ "cl-rrd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rrd/2013-01-28/cl-rrd-20130128-git.tgz"; + sha256 = "0a7fs46q41qzi6k8q9lvxryn2m90vamcsw7vl9kcjivyckjqrsm2"; + system = "cl-rrd"; + asd = "cl-rrd"; + } + ); + systems = [ "cl-rrd" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rrt = ( + build-asdf-system { + pname = "cl-rrt"; + version = "20200925-git"; + asds = [ "cl-rrt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; + sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; + system = "cl-rrt"; + asd = "cl-rrt"; + } + ); + systems = [ "cl-rrt" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-syntax-annot" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rrt_dot_benchmark = ( + build-asdf-system { + pname = "cl-rrt.benchmark"; + version = "20200925-git"; + asds = [ "cl-rrt.benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; + sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; + system = "cl-rrt.benchmark"; + asd = "cl-rrt.benchmark"; + } + ); + systems = [ "cl-rrt.benchmark" ]; + lispLibs = [ + (getAttr "cl-rrt" self) + (getAttr "cl-rrt_dot_rtree" self) + (getAttr "cl-rrt_dot_test" self) + (getAttr "fiveam" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rrt_dot_rtree = ( + build-asdf-system { + pname = "cl-rrt.rtree"; + version = "20200925-git"; + asds = [ "cl-rrt.rtree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; + sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; + system = "cl-rrt.rtree"; + asd = "cl-rrt.rtree"; + } + ); + systems = [ "cl-rrt.rtree" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-rrt" self) + (getAttr "cl-syntax-annot" self) + (getAttr "iterate" self) + (getAttr "spatial-trees" self) + (getAttr "spatial-trees_dot_nns" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rrt_dot_test = ( + build-asdf-system { + pname = "cl-rrt.test"; + version = "20200925-git"; + asds = [ "cl-rrt.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz"; + sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0"; + system = "cl-rrt.test"; + asd = "cl-rrt.test"; + } + ); + systems = [ "cl-rrt.test" ]; + lispLibs = [ + (getAttr "cl-rrt" self) + (getAttr "cl-rrt_dot_rtree" self) + (getAttr "fiveam" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rsvg2 = ( + build-asdf-system { + pname = "cl-rsvg2"; + version = "20200925-git"; + asds = [ "cl-rsvg2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz"; + sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n"; + system = "cl-rsvg2"; + asd = "cl-rsvg2"; + } + ); + systems = [ "cl-rsvg2" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-cairo2" self) + (getAttr "cl-gtk2-glib" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + cl-rsvg2-pixbuf = ( + build-asdf-system { + pname = "cl-rsvg2-pixbuf"; + version = "20200925-git"; + asds = [ "cl-rsvg2-pixbuf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz"; + sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n"; + system = "cl-rsvg2-pixbuf"; + asd = "cl-rsvg2-pixbuf"; + } + ); + systems = [ "cl-rsvg2-pixbuf" ]; + lispLibs = [ + (getAttr "cl-gtk2-gdk" self) + (getAttr "cl-rsvg2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rsvg2-test = ( + build-asdf-system { + pname = "cl-rsvg2-test"; + version = "20200925-git"; + asds = [ "cl-rsvg2-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz"; + sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n"; + system = "cl-rsvg2-test"; + asd = "cl-rsvg2-test"; + } + ); + systems = [ "cl-rsvg2-test" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-rsvg2" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rules = ( + build-asdf-system { + pname = "cl-rules"; + version = "20190710-git"; + asds = [ "cl-rules" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rules/2019-07-10/cl-rules-20190710-git.tgz"; + sha256 = "0jidck62n0jkfqwrpqjn43zmjb3jlfaxxhn2lsyfwy2740i8ppr1"; + system = "cl-rules"; + asd = "cl-rules"; + } + ); + systems = [ "cl-rules" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-yaml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-rules-test = ( + build-asdf-system { + pname = "cl-rules-test"; + version = "20190710-git"; + asds = [ "cl-rules-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rules/2019-07-10/cl-rules-20190710-git.tgz"; + sha256 = "0jidck62n0jkfqwrpqjn43zmjb3jlfaxxhn2lsyfwy2740i8ppr1"; + system = "cl-rules-test"; + asd = "cl-rules-test"; + } + ); + systems = [ "cl-rules-test" ]; + lispLibs = [ + (getAttr "cl-rules" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-s3 = ( + build-asdf-system { + pname = "cl-s3"; + version = "20130128-git"; + asds = [ "cl-s3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-s3/2013-01-28/cl-s3-20130128-git.tgz"; + sha256 = "1lbvf7phkm5vjk013p484rh4vh33i58jlqq3z4cv2yxqcw6r639d"; + system = "cl-s3"; + asd = "cl-s3"; + } + ); + systems = [ "cl-s3" ]; + lispLibs = [ + (getAttr "ironclad" self) + (getAttr "s-base64" self) + (getAttr "s-http-client" self) + (getAttr "s-utils" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sam = ( + build-asdf-system { + pname = "cl-sam"; + version = "20150608-git"; + asds = [ "cl-sam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sam/2015-06-08/cl-sam-20150608-git.tgz"; + sha256 = "0frrxz70jin4sa5n087zm4ikckf1zdjqqpjq3llrv46753c62fc6"; + system = "cl-sam"; + asd = "cl-sam"; + } + ); + systems = [ "cl-sam" ]; + lispLibs = [ + (getAttr "deoxybyte-gzip" self) + (getAttr "deoxybyte-systems" self) + (getAttr "deoxybyte-unix" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sam-test = ( + build-asdf-system { + pname = "cl-sam-test"; + version = "20150608-git"; + asds = [ "cl-sam-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sam/2015-06-08/cl-sam-20150608-git.tgz"; + sha256 = "0frrxz70jin4sa5n087zm4ikckf1zdjqqpjq3llrv46753c62fc6"; + system = "cl-sam-test"; + asd = "cl-sam-test"; + } + ); + systems = [ "cl-sam-test" ]; + lispLibs = [ + (getAttr "cl-sam" self) + (getAttr "deoxybyte-io" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sandbox = ( + build-asdf-system { + pname = "cl-sandbox"; + version = "20180131-git"; + asds = [ "cl-sandbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sandbox/2018-01-31/cl-sandbox-20180131-git.tgz"; + sha256 = "053zxy3zi5jvlbg8zxlf922sxb32mq34zvwfhgpj4rcmgvgmqnxv"; + system = "cl-sandbox"; + asd = "cl-sandbox"; + } + ); + systems = [ "cl-sandbox" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sasl = ( + build-asdf-system { + pname = "cl-sasl"; + version = "v0.3.2"; + asds = [ "cl-sasl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sasl/2019-05-21/cl-sasl-v0.3.2.tgz"; + sha256 = "0a05q8rls2hn46rbbk6w5km9kqvhsj365zlw6hp32724xy2nd98w"; + system = "cl-sasl"; + asd = "cl-sasl"; + } + ); + systems = [ "cl-sasl" ]; + lispLibs = [ (getAttr "ironclad" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sat = ( + build-asdf-system { + pname = "cl-sat"; + version = "20220707-git"; + asds = [ "cl-sat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sat/2022-07-07/cl-sat-20220707-git.tgz"; + sha256 = "1fcvxpmja757vyyhcpb00g150dyx90jsg9z8s596vy1nb0z81f49"; + system = "cl-sat"; + asd = "cl-sat"; + } + ); + systems = [ "cl-sat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + cl-sat_dot_glucose = ( + build-asdf-system { + pname = "cl-sat.glucose"; + version = "20220331-git"; + asds = [ "cl-sat.glucose" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sat.glucose/2022-03-31/cl-sat.glucose-20220331-git.tgz"; + sha256 = "11hbhsjzw3xzz6i6niisk5h271kg52y3y77sl6ljnszfgp9xjfxy"; + system = "cl-sat.glucose"; + asd = "cl-sat.glucose"; + } + ); + systems = [ "cl-sat.glucose" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-sat" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + (getAttr "trivial-package-manager" self) + ]; + meta = { }; + } + ); + cl-sat_dot_glucose_dot_test = ( + build-asdf-system { + pname = "cl-sat.glucose.test"; + version = "20220331-git"; + asds = [ "cl-sat.glucose.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sat.glucose/2022-03-31/cl-sat.glucose-20220331-git.tgz"; + sha256 = "11hbhsjzw3xzz6i6niisk5h271kg52y3y77sl6ljnszfgp9xjfxy"; + system = "cl-sat.glucose.test"; + asd = "cl-sat.glucose.test"; + } + ); + systems = [ "cl-sat.glucose.test" ]; + lispLibs = [ + (getAttr "cl-sat_dot_glucose" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sat_dot_minisat = ( + build-asdf-system { + pname = "cl-sat.minisat"; + version = "20241012-git"; + asds = [ "cl-sat.minisat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sat.minisat/2024-10-12/cl-sat.minisat-20241012-git.tgz"; + sha256 = "00h5smjs60r1abq27w2ayg55ypsw32769pkk72mrikyn29r6z9ni"; + system = "cl-sat.minisat"; + asd = "cl-sat.minisat"; + } + ); + systems = [ "cl-sat.minisat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-sat" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + (getAttr "trivial-package-manager" self) + ]; + meta = { }; + } + ); + cl-sat_dot_minisat_dot_test = ( + build-asdf-system { + pname = "cl-sat.minisat.test"; + version = "20241012-git"; + asds = [ "cl-sat.minisat.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sat.minisat/2024-10-12/cl-sat.minisat-20241012-git.tgz"; + sha256 = "00h5smjs60r1abq27w2ayg55ypsw32769pkk72mrikyn29r6z9ni"; + system = "cl-sat.minisat.test"; + asd = "cl-sat.minisat.test"; + } + ); + systems = [ "cl-sat.minisat.test" ]; + lispLibs = [ + (getAttr "cl-sat_dot_minisat" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sat_dot_test = ( + build-asdf-system { + pname = "cl-sat.test"; + version = "20220707-git"; + asds = [ "cl-sat.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sat/2022-07-07/cl-sat-20220707-git.tgz"; + sha256 = "1fcvxpmja757vyyhcpb00g150dyx90jsg9z8s596vy1nb0z81f49"; + system = "cl-sat.test"; + asd = "cl-sat.test"; + } + ); + systems = [ "cl-sat.test" ]; + lispLibs = [ + (getAttr "cl-sat" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scram = ( + build-asdf-system { + pname = "cl-scram"; + version = "20150923-git"; + asds = [ "cl-scram" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scram/2015-09-23/cl-scram-20150923-git.tgz"; + sha256 = "1absr9h9z79f1fbs4g33y2rc9jsqjs7vd2l5sl8dvqq4fyx8v6g0"; + system = "cl-scram"; + asd = "cl-scram"; + } + ); + systems = [ "cl-scram" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-sasl" self) + (getAttr "ironclad" self) + (getAttr "secure-random" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scribd = ( + build-asdf-system { + pname = "cl-scribd"; + version = "20130312-git"; + asds = [ "cl-scribd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scribd/2013-03-12/cl-scribd-20130312-git.tgz"; + sha256 = "0r4ah3f1ndi66bm1mir3ldl31sfbmav0kdfpb16f1n9931452mry"; + system = "cl-scribd"; + asd = "cl-scribd"; + } + ); + systems = [ "cl-scribd" ]; + lispLibs = [ + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scripting = ( + build-asdf-system { + pname = "cl-scripting"; + version = "20211020-git"; + asds = [ "cl-scripting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scripting/2021-10-20/cl-scripting-20211020-git.tgz"; + sha256 = "1xi8klkn4fhmcrnhxzxvl0rj68dc7az6l2hc10560g9jvblcmmpp"; + system = "cl-scripting"; + asd = "cl-scripting"; + } + ); + systems = [ "cl-scripting" ]; + lispLibs = [ + (getAttr "cl-launch" self) + (getAttr "fare-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scrobbler = ( + build-asdf-system { + pname = "cl-scrobbler"; + version = "20111105-git"; + asds = [ "cl-scrobbler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scrobbler/2011-11-05/cl-scrobbler-20111105-git.tgz"; + sha256 = "0cd0zfmhxf5chcg7hncavfjr8m06cjbiyqylk76z8mprdsv1n062"; + system = "cl-scrobbler"; + asd = "cl-scrobbler"; + } + ); + systems = [ "cl-scrobbler" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "cl-store" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "md5" self) + (getAttr "st-json" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scrobbler-tests = ( + build-asdf-system { + pname = "cl-scrobbler-tests"; + version = "20111105-git"; + asds = [ "cl-scrobbler-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scrobbler/2011-11-05/cl-scrobbler-20111105-git.tgz"; + sha256 = "0cd0zfmhxf5chcg7hncavfjr8m06cjbiyqylk76z8mprdsv1n062"; + system = "cl-scrobbler-tests"; + asd = "cl-scrobbler"; + } + ); + systems = [ "cl-scrobbler-tests" ]; + lispLibs = [ + (getAttr "cl-scrobbler" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scsu = ( + build-asdf-system { + pname = "cl-scsu"; + version = "20221106-git"; + asds = [ "cl-scsu" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scsu/2022-11-06/cl-scsu-20221106-git.tgz"; + sha256 = "0jiqyayflyyrdks4yl894vzw2bkxkd87w4sy4n6ikjz450xk3yxf"; + system = "cl-scsu"; + asd = "cl-scsu"; + } + ); + systems = [ "cl-scsu" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-scsu-test = ( + build-asdf-system { + pname = "cl-scsu-test"; + version = "20221106-git"; + asds = [ "cl-scsu-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-scsu/2022-11-06/cl-scsu-20221106-git.tgz"; + sha256 = "0jiqyayflyyrdks4yl894vzw2bkxkd87w4sy4n6ikjz450xk3yxf"; + system = "cl-scsu-test"; + asd = "cl-scsu-test"; + } + ); + systems = [ "cl-scsu-test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "alexandria" self) + (getAttr "cl-scsu" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-selenium = ( + build-asdf-system { + pname = "cl-selenium"; + version = "20180328-git"; + asds = [ "cl-selenium" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-selenium-webdriver/2018-03-28/cl-selenium-webdriver-20180328-git.tgz"; + sha256 = "0216vqg1ax5gcqahclii7ifqpc92rbi86rfcf1qn8bdahmfjccbb"; + system = "cl-selenium"; + asd = "cl-selenium"; + } + ); + systems = [ "cl-selenium" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-json" self) + (getAttr "dexador" self) + (getAttr "quri" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-selenium-test = ( + build-asdf-system { + pname = "cl-selenium-test"; + version = "20180328-git"; + asds = [ "cl-selenium-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-selenium-webdriver/2018-03-28/cl-selenium-webdriver-20180328-git.tgz"; + sha256 = "0216vqg1ax5gcqahclii7ifqpc92rbi86rfcf1qn8bdahmfjccbb"; + system = "cl-selenium-test"; + asd = "cl-selenium-test"; + } + ); + systems = [ "cl-selenium-test" ]; + lispLibs = [ + (getAttr "cl-selenium" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-semver = ( + build-asdf-system { + pname = "cl-semver"; + version = "20230618-git"; + asds = [ "cl-semver" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-semver/2023-06-18/cl-semver-20230618-git.tgz"; + sha256 = "1zlcn7lrpvjiixgqm4yxnqqwak1hxfmxmchkpvrly41yhl586ril"; + system = "cl-semver"; + asd = "cl-semver"; + } + ); + systems = [ "cl-semver" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-semver-test = ( + build-asdf-system { + pname = "cl-semver-test"; + version = "20230618-git"; + asds = [ "cl-semver-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-semver/2023-06-18/cl-semver-20230618-git.tgz"; + sha256 = "1zlcn7lrpvjiixgqm4yxnqqwak1hxfmxmchkpvrly41yhl586ril"; + system = "cl-semver-test"; + asd = "cl-semver-test"; + } + ); + systems = [ "cl-semver-test" ]; + lispLibs = [ + (getAttr "cl-semver" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sentiment = ( + build-asdf-system { + pname = "cl-sentiment"; + version = "20130128-git"; + asds = [ "cl-sentiment" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sentiment/2013-01-28/cl-sentiment-20130128-git.tgz"; + sha256 = "18jx6ivbzcg9bsmp1pmlqvzr4kfxzll75b4viz1hrkq78nsnpp5v"; + system = "cl-sentiment"; + asd = "cl-sentiment"; + } + ); + systems = [ "cl-sentiment" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-server-manager = ( + build-asdf-system { + pname = "cl-server-manager"; + version = "20231021-git"; + asds = [ "cl-server-manager" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-server-manager/2023-10-21/cl-server-manager-20231021-git.tgz"; + sha256 = "0vrdn9iiwmx2zg7lrw56dqjaxbb9fvn4107qxgp3n3z8zxhiw03s"; + system = "cl-server-manager"; + asd = "cl-server-manager"; + } + ); + systems = [ "cl-server-manager" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "hunchentoot" self) + (getAttr "prepl" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ses4 = ( + build-asdf-system { + pname = "cl-ses4"; + version = "20221106-git"; + asds = [ "cl-ses4" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ses4/2022-11-06/cl-ses4-20221106-git.tgz"; + sha256 = "1n31k81i19hx26h9wcz39fsciq92hbblnbd15krblx9g877a1598"; + system = "cl-ses4"; + asd = "cl-ses4"; + } + ); + systems = [ "cl-ses4" ]; + lispLibs = [ + (getAttr "arrow-macros" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + (getAttr "quickapp" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-setlocale = ( + build-asdf-system { + pname = "cl-setlocale"; + version = "20201220-git"; + asds = [ "cl-setlocale" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-setlocale/2020-12-20/cl-setlocale-20201220-git.tgz"; + sha256 = "0g1b89yj6n42ayf2074krk3h9yvglqxn54a6i3sxgpsqww2ll2a1"; + system = "cl-setlocale"; + asd = "cl-setlocale"; + } + ); + systems = [ "cl-setlocale" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sha1 = ( + build-asdf-system { + pname = "cl-sha1"; + version = "20210807-git"; + asds = [ "cl-sha1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sha1/2021-08-07/cl-sha1-20210807-git.tgz"; + sha256 = "16hczcr7ghah0p9fi29ddrw5c4zbb2d4765iigfx7yrgk5z5jb8p"; + system = "cl-sha1"; + asd = "cl-sha1"; + } + ); + systems = [ "cl-sha1" ]; + lispLibs = [ (getAttr "cl-base64" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-shellwords = ( + build-asdf-system { + pname = "cl-shellwords"; + version = "20150923-git"; + asds = [ "cl-shellwords" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-shellwords/2015-09-23/cl-shellwords-20150923-git.tgz"; + sha256 = "0im8cni1ig5zaha9gbmma7zk1xxa4xajvzfgalvl2f0fhvksl4pn"; + system = "cl-shellwords"; + asd = "cl-shellwords"; + } + ); + systems = [ "cl-shellwords" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { }; + } + ); + cl-shellwords-test = ( + build-asdf-system { + pname = "cl-shellwords-test"; + version = "20150923-git"; + asds = [ "cl-shellwords-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-shellwords/2015-09-23/cl-shellwords-20150923-git.tgz"; + sha256 = "0im8cni1ig5zaha9gbmma7zk1xxa4xajvzfgalvl2f0fhvksl4pn"; + system = "cl-shellwords-test"; + asd = "cl-shellwords-test"; + } + ); + systems = [ "cl-shellwords-test" ]; + lispLibs = [ + (getAttr "cl-shellwords" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-simple-concurrent-jobs = ( + build-asdf-system { + pname = "cl-simple-concurrent-jobs"; + version = "20150505-git"; + asds = [ "cl-simple-concurrent-jobs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-simple-concurrent-jobs/2015-05-05/cl-simple-concurrent-jobs-20150505-git.tgz"; + sha256 = "0mv7svsil58h8v8kq9965bpbradmhfpyrmi61dbzp5mbw8c5mrwj"; + system = "cl-simple-concurrent-jobs"; + asd = "cl-simple-concurrent-jobs"; + } + ); + systems = [ "cl-simple-concurrent-jobs" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "chanl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-simple-table = ( + build-asdf-system { + pname = "cl-simple-table"; + version = "20130312-git"; + asds = [ "cl-simple-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-simple-table/2013-03-12/cl-simple-table-20130312-git.tgz"; + sha256 = "1pnczi5hbqlyxxvzlpy6vc58qc9hh9mdm5rgq304bp3v2qajh0b7"; + system = "cl-simple-table"; + asd = "cl-simple-table"; + } + ); + systems = [ "cl-simple-table" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-singleton-mixin = ( + build-asdf-system { + pname = "cl-singleton-mixin"; + version = "20150505-git"; + asds = [ "cl-singleton-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-singleton-mixin/2015-05-05/cl-singleton-mixin-20150505-git.tgz"; + sha256 = "10dvwzx1kw9ac163i6sc8yfg3hpkn0dlq4hf6qipb46b4mcib01s"; + system = "cl-singleton-mixin"; + asd = "cl-singleton-mixin"; + } + ); + systems = [ "cl-singleton-mixin" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "metap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-singleton-mixin-test = ( + build-asdf-system { + pname = "cl-singleton-mixin-test"; + version = "20150505-git"; + asds = [ "cl-singleton-mixin-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-singleton-mixin/2015-05-05/cl-singleton-mixin-20150505-git.tgz"; + sha256 = "10dvwzx1kw9ac163i6sc8yfg3hpkn0dlq4hf6qipb46b4mcib01s"; + system = "cl-singleton-mixin-test"; + asd = "cl-singleton-mixin-test"; + } + ); + systems = [ "cl-singleton-mixin-test" ]; + lispLibs = [ + (getAttr "cl-singleton-mixin" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-skip-list = ( + build-asdf-system { + pname = "cl-skip-list"; + version = "20220707-git"; + asds = [ "cl-skip-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-skip-list/2022-07-07/cl-skip-list-20220707-git.tgz"; + sha256 = "1k3hbi9n1yzky3hjcg48jkkkp2jx5vm7bsywhnyyb1z6hz5phakd"; + system = "cl-skip-list"; + asd = "cl-skip-list"; + } + ); + systems = [ "cl-skip-list" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-skkserv = ( + build-asdf-system { + pname = "cl-skkserv"; + version = "20241012-git"; + asds = [ "cl-skkserv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-skkserv/2024-10-12/cl-skkserv-20241012-git.tgz"; + sha256 = "1fnar6iw6hr5w37sc96zk9kdcgam8bm71l26l7c6f5daxk57labi"; + system = "cl-skkserv"; + asd = "cl-skkserv"; + } + ); + systems = [ "cl-skkserv" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "esrap" self) + (getAttr "flexi-streams" self) + (getAttr "jp-numeral" self) + (getAttr "named-readtables" self) + (getAttr "papyrus" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-slice = ( + build-asdf-system { + pname = "cl-slice"; + version = "20210531-git"; + asds = [ "cl-slice" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slice/2021-05-31/cl-slice-20210531-git.tgz"; + sha256 = "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"; + system = "cl-slice"; + asd = "cl-slice"; + } + ); + systems = [ "cl-slice" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "let-plus" self) + ]; + meta = { }; + } + ); + cl-slice-tests = ( + build-asdf-system { + pname = "cl-slice-tests"; + version = "20210531-git"; + asds = [ "cl-slice-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slice/2021-05-31/cl-slice-20210531-git.tgz"; + sha256 = "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"; + system = "cl-slice-tests"; + asd = "cl-slice"; + } + ); + systems = [ "cl-slice-tests" ]; + lispLibs = [ + (getAttr "cl-slice" self) + (getAttr "clunit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-slp = ( + build-asdf-system { + pname = "cl-slp"; + version = "20140826-git"; + asds = [ "cl-slp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slp/2014-08-26/cl-slp-20140826-git.tgz"; + sha256 = "10wfrw6r6w646lzx0nasnfvjpy63icxl8qm4888dpcjc57y1cd1w"; + system = "cl-slp"; + asd = "cl-slp"; + } + ); + systems = [ "cl-slp" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-slug = ( + build-asdf-system { + pname = "cl-slug"; + version = "20180228-git"; + asds = [ "cl-slug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slug/2018-02-28/cl-slug-20180228-git.tgz"; + sha256 = "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"; + system = "cl-slug"; + asd = "cl-slug"; + } + ); + systems = [ "cl-slug" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-slug-test = ( + build-asdf-system { + pname = "cl-slug-test"; + version = "20180228-git"; + asds = [ "cl-slug-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slug/2018-02-28/cl-slug-20180228-git.tgz"; + sha256 = "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"; + system = "cl-slug-test"; + asd = "cl-slug-test"; + } + ); + systems = [ "cl-slug-test" ]; + lispLibs = [ + (getAttr "cl-slug" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-slugify = ( + build-asdf-system { + pname = "cl-slugify"; + version = "20230618-git"; + asds = [ "cl-slugify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slugify/2023-06-18/cl-slugify-20230618-git.tgz"; + sha256 = "18vjz9xb8q73j2bd609if2r6svljsnivl3sniz2p7j7w0qppps72"; + system = "cl-slugify"; + asd = "cl-slugify"; + } + ); + systems = [ "cl-slugify" ]; + lispLibs = [ (getAttr "cl-unac" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-slugify_dot_tests = ( + build-asdf-system { + pname = "cl-slugify.tests"; + version = "20230618-git"; + asds = [ "cl-slugify.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-slugify/2023-06-18/cl-slugify-20230618-git.tgz"; + sha256 = "18vjz9xb8q73j2bd609if2r6svljsnivl3sniz2p7j7w0qppps72"; + system = "cl-slugify.tests"; + asd = "cl-slugify.tests"; + } + ); + systems = [ "cl-slugify.tests" ]; + lispLibs = [ + (getAttr "cl-slugify" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-smt-lib = ( + build-asdf-system { + pname = "cl-smt-lib"; + version = "20220331-git"; + asds = [ "cl-smt-lib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-smt-lib/2022-03-31/cl-smt-lib-20220331-git.tgz"; + sha256 = "09xqpmzd8rmp4dkj6mzwlwnhqk266abqvskz9dm6mr3cnf2r774z"; + system = "cl-smt-lib"; + asd = "cl-smt-lib"; + } + ); + systems = [ "cl-smt-lib" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "named-readtables" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + cl-smtp = ( + build-asdf-system { + pname = "cl-smtp"; + version = "20241012-git"; + asds = [ "cl-smtp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-smtp/2024-10-12/cl-smtp-20241012-git.tgz"; + sha256 = "1r4gsklf4p163hn4ylabx7lp5zkz27v6gq3rkyrvwb7qz6sv8ws4"; + system = "cl-smtp"; + asd = "cl-smtp"; + } + ); + systems = [ "cl-smtp" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "flexi-streams" self) + (getAttr "frugal-uuid" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + cl-smtp-tests = ( + build-asdf-system { + pname = "cl-smtp-tests"; + version = "20241012-git"; + asds = [ "cl-smtp-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-smtp/2024-10-12/cl-smtp-20241012-git.tgz"; + sha256 = "1r4gsklf4p163hn4ylabx7lp5zkz27v6gq3rkyrvwb7qz6sv8ws4"; + system = "cl-smtp-tests"; + asd = "cl-smtp-tests"; + } + ); + systems = [ "cl-smtp-tests" ]; + lispLibs = [ (getAttr "cl-smtp" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-soil = ( + build-asdf-system { + pname = "cl-soil"; + version = "release-quicklisp-f27087ce-git"; + asds = [ "cl-soil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-soil/2018-08-31/cl-soil-release-quicklisp-f27087ce-git.tgz"; + sha256 = "0mnz5yaw3kc14ja9g4j7dxh96kd82ifj25gy0dil7kqjd08lwcq9"; + system = "cl-soil"; + asd = "cl-soil"; + } + ); + systems = [ "cl-soil" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-soloud = ( + build-asdf-system { + pname = "cl-soloud"; + version = "20231021-git"; + asds = [ "cl-soloud" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-soloud/2023-10-21/cl-soloud-20231021-git.tgz"; + sha256 = "0r0z365gcgf93vy8g2nbjwgh5r04gv0l645l2knvip420jxqqp1c"; + system = "cl-soloud"; + asd = "cl-soloud"; + } + ); + systems = [ "cl-soloud" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-mpg123" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sophia = ( + build-asdf-system { + pname = "cl-sophia"; + version = "20150608-git"; + asds = [ "cl-sophia" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sophia/2015-06-08/cl-sophia-20150608-git.tgz"; + sha256 = "1x027mr7lg5fs0d82n5mshnd19kan76y3zb9yxbcnq222l4j8j00"; + system = "cl-sophia"; + asd = "cl-sophia"; + } + ); + systems = [ "cl-sophia" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-fad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sophia-test = ( + build-asdf-system { + pname = "cl-sophia-test"; + version = "20150608-git"; + asds = [ "cl-sophia-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sophia/2015-06-08/cl-sophia-20150608-git.tgz"; + sha256 = "1x027mr7lg5fs0d82n5mshnd19kan76y3zb9yxbcnq222l4j8j00"; + system = "cl-sophia-test"; + asd = "cl-sophia"; + } + ); + systems = [ "cl-sophia-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-sophia" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-spark = ( + build-asdf-system { + pname = "cl-spark"; + version = "20150709-git"; + asds = [ "cl-spark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-spark/2015-07-09/cl-spark-20150709-git.tgz"; + sha256 = "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"; + system = "cl-spark"; + asd = "cl-spark"; + } + ); + systems = [ "cl-spark" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-spark-test = ( + build-asdf-system { + pname = "cl-spark-test"; + version = "20150709-git"; + asds = [ "cl-spark-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-spark/2015-07-09/cl-spark-20150709-git.tgz"; + sha256 = "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"; + system = "cl-spark-test"; + asd = "cl-spark-test"; + } + ); + systems = [ "cl-spark-test" ]; + lispLibs = [ + (getAttr "cl-spark" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sparql = ( + build-asdf-system { + pname = "cl-sparql"; + version = "20220331-git"; + asds = [ "cl-sparql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sparql/2022-03-31/cl-sparql-20220331-git.tgz"; + sha256 = "1fjp5a25yly3l3pg07gzhz8q830fcaz0dwspigw8v90sx4insz0p"; + system = "cl-sparql"; + asd = "cl-sparql"; + } + ); + systems = [ "cl-sparql" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "parser-combinators" self) + (getAttr "puri" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sparql-tests = ( + build-asdf-system { + pname = "cl-sparql-tests"; + version = "20220331-git"; + asds = [ "cl-sparql-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sparql/2022-03-31/cl-sparql-20220331-git.tgz"; + sha256 = "1fjp5a25yly3l3pg07gzhz8q830fcaz0dwspigw8v90sx4insz0p"; + system = "cl-sparql-tests"; + asd = "cl-sparql-tests"; + } + ); + systems = [ "cl-sparql-tests" ]; + lispLibs = [ + (getAttr "cl-sparql" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-speedy-queue = ( + build-asdf-system { + pname = "cl-speedy-queue"; + version = "20150302-git"; + asds = [ "cl-speedy-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-speedy-queue/2015-03-02/cl-speedy-queue-20150302-git.tgz"; + sha256 = "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"; + system = "cl-speedy-queue"; + asd = "cl-speedy-queue"; + } + ); + systems = [ "cl-speedy-queue" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-spidev = ( + build-asdf-system { + pname = "cl-spidev"; + version = "20231021-git"; + asds = [ "cl-spidev" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-spidev/2023-10-21/cl-spidev-20231021-git.tgz"; + sha256 = "1dhh6hb2myw8p04psdhdjmikl02r66szpg70yapgyqpycb9yg0l3"; + system = "cl-spidev"; + asd = "cl-spidev"; + } + ); + systems = [ "cl-spidev" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ssdb = ( + build-asdf-system { + pname = "cl-ssdb"; + version = "20210124-git"; + asds = [ "cl-ssdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ssdb/2021-01-24/cl-ssdb-20210124-git.tgz"; + sha256 = "05l0wg4a1kxgggmg1nalq811by76lja0gpa2c4i999h74bf4n3dc"; + system = "cl-ssdb"; + asd = "cl-ssdb"; + } + ); + systems = [ "cl-ssdb" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "parse-number" self) + (getAttr "rutils" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ssdb-test = ( + build-asdf-system { + pname = "cl-ssdb-test"; + version = "20210124-git"; + asds = [ "cl-ssdb-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ssdb/2021-01-24/cl-ssdb-20210124-git.tgz"; + sha256 = "05l0wg4a1kxgggmg1nalq811by76lja0gpa2c4i999h74bf4n3dc"; + system = "cl-ssdb-test"; + asd = "cl-ssdb-test"; + } + ); + systems = [ "cl-ssdb-test" ]; + lispLibs = [ + (getAttr "cl-ssdb" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ssh-keys = ( + build-asdf-system { + pname = "cl-ssh-keys"; + version = "20241012-git"; + asds = [ "cl-ssh-keys" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ssh-keys/2024-10-12/cl-ssh-keys-20241012-git.tgz"; + sha256 = "037j89fjjrld46m9j71x6zfixdm7irwd58c08j0gq6w09qjlk5l2"; + system = "cl-ssh-keys"; + asd = "cl-ssh-keys"; + } + ); + systems = [ "cl-ssh-keys" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-base64" self) + (getAttr "cl-rfc4251" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-ssh-keys_dot_test = ( + build-asdf-system { + pname = "cl-ssh-keys.test"; + version = "20241012-git"; + asds = [ "cl-ssh-keys.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ssh-keys/2024-10-12/cl-ssh-keys-20241012-git.tgz"; + sha256 = "037j89fjjrld46m9j71x6zfixdm7irwd58c08j0gq6w09qjlk5l2"; + system = "cl-ssh-keys.test"; + asd = "cl-ssh-keys.test"; + } + ); + systems = [ "cl-ssh-keys.test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ssh-keys" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-statsd = ( + build-asdf-system { + pname = "cl-statsd"; + version = "20170124-git"; + asds = [ "cl-statsd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-statsd/2017-01-24/cl-statsd-20170124-git.tgz"; + sha256 = "1l2sxbzhp7wwalxn8k0k1gis9c9w462fygfw4ps0s1bnhgbvr6qb"; + system = "cl-statsd"; + asd = "cl-statsd"; + } + ); + systems = [ "cl-statsd" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-interpol" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "safe-queue" self) + (getAttr "trivial-utf-8" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-statsd_dot_test = ( + build-asdf-system { + pname = "cl-statsd.test"; + version = "20170124-git"; + asds = [ "cl-statsd.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-statsd/2017-01-24/cl-statsd-20170124-git.tgz"; + sha256 = "1l2sxbzhp7wwalxn8k0k1gis9c9w462fygfw4ps0s1bnhgbvr6qb"; + system = "cl-statsd.test"; + asd = "cl-statsd.test"; + } + ); + systems = [ "cl-statsd.test" ]; + lispLibs = [ + (getAttr "cl-statsd" self) + (getAttr "log4cl" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-steamworks = ( + build-asdf-system { + pname = "cl-steamworks"; + version = "20241012-git"; + asds = [ "cl-steamworks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-steamworks/2024-10-12/cl-steamworks-20241012-git.tgz"; + sha256 = "0401gfmzcc29pm15yyl0p36id0yza2i02wixma2zl8ah3cxb39w5"; + system = "cl-steamworks"; + asd = "cl-steamworks"; + } + ); + systems = [ "cl-steamworks" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "float-features" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-steamworks-generator = ( + build-asdf-system { + pname = "cl-steamworks-generator"; + version = "20241012-git"; + asds = [ "cl-steamworks-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-steamworks/2024-10-12/cl-steamworks-20241012-git.tgz"; + sha256 = "0401gfmzcc29pm15yyl0p36id0yza2i02wixma2zl8ah3cxb39w5"; + system = "cl-steamworks-generator"; + asd = "cl-steamworks-generator"; + } + ); + systems = [ "cl-steamworks-generator" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "parse-number" self) + (getAttr "pathname-utils" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-stomp = ( + build-asdf-system { + pname = "cl-stomp"; + version = "20200925-git"; + asds = [ "cl-stomp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-stomp/2020-09-25/cl-stomp-20200925-git.tgz"; + sha256 = "180y0x53ghsvz6n0bz67aw69p962bsslarikk89rf41kcv998xvw"; + system = "cl-stomp"; + asd = "cl-stomp"; + } + ); + systems = [ "cl-stomp" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-stopwatch = ( + build-asdf-system { + pname = "cl-stopwatch"; + version = "20230618-git"; + asds = [ "cl-stopwatch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-stopwatch/2023-06-18/cl-stopwatch-20230618-git.tgz"; + sha256 = "14jmylqk1kijbhhn897r76ii4xg32k22p4v7h29jbcs9y2mn2day"; + system = "cl-stopwatch"; + asd = "cl-stopwatch"; + } + ); + systems = [ "cl-stopwatch" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-store = ( + build-asdf-system { + pname = "cl-store"; + version = "20230214-git"; + asds = [ "cl-store" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-store/2023-02-14/cl-store-20230214-git.tgz"; + sha256 = "1kw39lmbiaksrxsq8pf5np8vjarymcvlc451z83275194av3imix"; + system = "cl-store"; + asd = "cl-store"; + } + ); + systems = [ "cl-store" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-store-tests = ( + build-asdf-system { + pname = "cl-store-tests"; + version = "20230214-git"; + asds = [ "cl-store-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-store/2023-02-14/cl-store-20230214-git.tgz"; + sha256 = "1kw39lmbiaksrxsq8pf5np8vjarymcvlc451z83275194av3imix"; + system = "cl-store-tests"; + asd = "cl-store"; + } + ); + systems = [ "cl-store-tests" ]; + lispLibs = [ + (getAttr "cl-store" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-stream = ( + build-asdf-system { + pname = "cl-stream"; + version = "20190521-git"; + asds = [ "cl-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-stream/2019-05-21/cl-stream-20190521-git.tgz"; + sha256 = "1r2spbcx3ifz51yq2pxkdb1n2k5fvyg3pz3w42mnw99pq78cbasv"; + system = "cl-stream"; + asd = "cl-stream"; + } + ); + systems = [ "cl-stream" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-strftime = ( + build-asdf-system { + pname = "cl-strftime"; + version = "20160318-git"; + asds = [ "cl-strftime" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-strftime/2016-03-18/cl-strftime-20160318-git.tgz"; + sha256 = "00c8hq7vzgb89ab3q7mrp60x743kiqmsk1g51ynhxlqhph2bnslf"; + system = "cl-strftime"; + asd = "cl-strftime"; + } + ); + systems = [ "cl-strftime" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-string-complete = ( + build-asdf-system { + pname = "cl-string-complete"; + version = "20230618-git"; + asds = [ "cl-string-complete" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-string-complete/2023-06-18/cl-string-complete-20230618-git.tgz"; + sha256 = "14l1yyz5fakz5xn31yjfn4mz7j9rcbijw1sp4mdfizfvjbbwcixl"; + system = "cl-string-complete"; + asd = "cl-string-complete"; + } + ); + systems = [ "cl-string-complete" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-string-generator = ( + build-asdf-system { + pname = "cl-string-generator"; + version = "20210630-git"; + asds = [ "cl-string-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-string-generator/2021-06-30/cl-string-generator-20210630-git.tgz"; + sha256 = "0zm6lyzd205lw30fdvnhrrlv9fylpfqksqxl32zvj9vzcn8qc1vi"; + system = "cl-string-generator"; + asd = "cl-string-generator"; + } + ); + systems = [ "cl-string-generator" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-string-match = ( + build-asdf-system { + pname = "cl-string-match"; + version = "20211209-git"; + asds = [ "cl-string-match" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; + sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; + system = "cl-string-match"; + asd = "cl-string-match"; + } + ); + systems = [ "cl-string-match" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "ascii-strings" self) + (getAttr "iterate" self) + (getAttr "jpl-queues" self) + (getAttr "mgl-pax" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-string-match-test = ( + build-asdf-system { + pname = "cl-string-match-test"; + version = "20211209-git"; + asds = [ "cl-string-match-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; + sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; + system = "cl-string-match-test"; + asd = "cl-string-match-test"; + } + ); + systems = [ "cl-string-match-test" ]; + lispLibs = [ + (getAttr "ascii-strings" self) + (getAttr "cl-string-match" self) + (getAttr "lisp-unit" self) + (getAttr "simple-scanf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-strings = ( + build-asdf-system { + pname = "cl-strings"; + version = "20210411-git"; + asds = [ "cl-strings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-strings/2021-04-11/cl-strings-20210411-git.tgz"; + sha256 = "1j8hs54fn0wsf5zfzhhgiva47n9hsmfa74iinahz6nmcs8iy75aj"; + system = "cl-strings"; + asd = "cl-strings"; + } + ); + systems = [ "cl-strings" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-strings-tests = ( + build-asdf-system { + pname = "cl-strings-tests"; + version = "20210411-git"; + asds = [ "cl-strings-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-strings/2021-04-11/cl-strings-20210411-git.tgz"; + sha256 = "1j8hs54fn0wsf5zfzhhgiva47n9hsmfa74iinahz6nmcs8iy75aj"; + system = "cl-strings-tests"; + asd = "cl-strings"; + } + ); + systems = [ "cl-strings-tests" ]; + lispLibs = [ + (getAttr "cl-strings" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-svg = ( + build-asdf-system { + pname = "cl-svg"; + version = "20241012-git"; + asds = [ "cl-svg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-svg/2024-10-12/cl-svg-20241012-git.tgz"; + sha256 = "05zrg6sxi01xn940c7lygfgxwjkq0zmlkihbhm7lhfaszg2xj8bh"; + system = "cl-svg"; + asd = "cl-svg"; + } + ); + systems = [ "cl-svg" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-svm = ( + build-asdf-system { + pname = "cl-svm"; + version = "20110418-git"; + asds = [ "cl-svm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-svm/2011-04-18/cl-svm-20110418-git.tgz"; + sha256 = "03d070k3bl5c0b2f6bzig5gkhlj074v74f7kg8hh3znrbmwji2wv"; + system = "cl-svm"; + asd = "cl-svm"; + } + ); + systems = [ "cl-svm" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-swagger = ( + build-asdf-system { + pname = "cl-swagger"; + version = "20180831-git"; + asds = [ "cl-swagger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-swagger-codegen/2018-08-31/cl-swagger-codegen-20180831-git.tgz"; + sha256 = "1lkp69n7wscyf2az3h2bmxmvzzppdfxcq5s0m607b1f7nfmxzjsq"; + system = "cl-swagger"; + asd = "cl-swagger"; + } + ); + systems = [ "cl-swagger" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "cl-mustache" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sxml = ( + build-asdf-system { + pname = "cl-sxml"; + version = "20200325-git"; + asds = [ "cl-sxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sxml/2020-03-25/cl-sxml-20200325-git.tgz"; + sha256 = "1105s9whidq1lf0lli2wdhcfcs5gwzxa0h1x3izx4mp2p7psvciz"; + system = "cl-sxml"; + asd = "cl-sxml"; + } + ); + systems = [ "cl-sxml" ]; + lispLibs = [ (getAttr "cxml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-sxml-test = ( + build-asdf-system { + pname = "cl-sxml-test"; + version = "20200325-git"; + asds = [ "cl-sxml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sxml/2020-03-25/cl-sxml-20200325-git.tgz"; + sha256 = "1105s9whidq1lf0lli2wdhcfcs5gwzxa0h1x3izx4mp2p7psvciz"; + system = "cl-sxml-test"; + asd = "cl-sxml"; + } + ); + systems = [ "cl-sxml-test" ]; + lispLibs = [ + (getAttr "cl-sxml" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-syntax = ( + build-asdf-system { + pname = "cl-syntax"; + version = "20150407-git"; + asds = [ "cl-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax"; + asd = "cl-syntax"; + } + ); + systems = [ "cl-syntax" ]; + lispLibs = [ + (getAttr "named-readtables" self) + (getAttr "trivial-types" self) + ]; + meta = { }; + } + ); + cl-syntax-annot = ( + build-asdf-system { + pname = "cl-syntax-annot"; + version = "20150407-git"; + asds = [ "cl-syntax-annot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax-annot"; + asd = "cl-syntax-annot"; + } + ); + systems = [ "cl-syntax-annot" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "cl-syntax" self) + ]; + meta = { }; + } + ); + cl-syntax-anonfun = ( + build-asdf-system { + pname = "cl-syntax-anonfun"; + version = "20150407-git"; + asds = [ "cl-syntax-anonfun" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax-anonfun"; + asd = "cl-syntax-anonfun"; + } + ); + systems = [ "cl-syntax-anonfun" ]; + lispLibs = [ + (getAttr "cl-anonfun" self) + (getAttr "cl-syntax" self) + ]; + meta = { }; + } + ); + cl-syntax-clsql = ( + build-asdf-system { + pname = "cl-syntax-clsql"; + version = "20150407-git"; + asds = [ "cl-syntax-clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax-clsql"; + asd = "cl-syntax-clsql"; + } + ); + systems = [ "cl-syntax-clsql" ]; + lispLibs = [ + (getAttr "cl-syntax" self) + (getAttr "clsql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-syntax-debug-print = ( + build-asdf-system { + pname = "cl-syntax-debug-print"; + version = "20210807-git"; + asds = [ "cl-syntax-debug-print" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz"; + sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh"; + system = "cl-syntax-debug-print"; + asd = "cl-syntax-debug-print"; + } + ); + systems = [ "cl-syntax-debug-print" ]; + lispLibs = [ + (getAttr "cl-debug-print" self) + (getAttr "cl-syntax" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-syntax-fare-quasiquote = ( + build-asdf-system { + pname = "cl-syntax-fare-quasiquote"; + version = "20150407-git"; + asds = [ "cl-syntax-fare-quasiquote" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax-fare-quasiquote"; + asd = "cl-syntax-fare-quasiquote"; + } + ); + systems = [ "cl-syntax-fare-quasiquote" ]; + lispLibs = [ + (getAttr "cl-syntax" self) + (getAttr "fare-quasiquote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-syntax-interpol = ( + build-asdf-system { + pname = "cl-syntax-interpol"; + version = "20150407-git"; + asds = [ "cl-syntax-interpol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax-interpol"; + asd = "cl-syntax-interpol"; + } + ); + systems = [ "cl-syntax-interpol" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cl-syntax" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-syntax-lsx = ( + build-asdf-system { + pname = "cl-syntax-lsx"; + version = "20220220-git"; + asds = [ "cl-syntax-lsx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lsx/2022-02-20/lsx-20220220-git.tgz"; + sha256 = "1pdq6csr8pkzcq2zkhhm6wkp9zxx2aypjd16rcw4q43mff09y041"; + system = "cl-syntax-lsx"; + asd = "cl-syntax-lsx"; + } + ); + systems = [ "cl-syntax-lsx" ]; + lispLibs = [ + (getAttr "cl-syntax" self) + (getAttr "lsx" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-syntax-markup = ( + build-asdf-system { + pname = "cl-syntax-markup"; + version = "20150407-git"; + asds = [ "cl-syntax-markup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz"; + sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"; + system = "cl-syntax-markup"; + asd = "cl-syntax-markup"; + } + ); + systems = [ "cl-syntax-markup" ]; + lispLibs = [ + (getAttr "cl-markup" self) + (getAttr "cl-syntax" self) + ]; + meta = { }; + } + ); + cl-syslog = ( + build-asdf-system { + pname = "cl-syslog"; + version = "20190202-git"; + asds = [ "cl-syslog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-syslog/2019-02-02/cl-syslog-20190202-git.tgz"; + sha256 = "1qcz55jiqwk91b01hsahxnha884f6zf2883j2m51sqph0mvj69mh"; + system = "cl-syslog"; + asd = "cl-syslog"; + } + ); + systems = [ "cl-syslog" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "global-vars" self) + (getAttr "local-time" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + cl-table = ( + build-asdf-system { + pname = "cl-table"; + version = "20130128-git"; + asds = [ "cl-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-table/2013-01-28/cl-table-20130128-git.tgz"; + sha256 = "0c7bdnpi473grayycdcdh4q8fi137i3c80k05k87pvjdrl1qnkpn"; + system = "cl-table"; + asd = "cl-table"; + } + ); + systems = [ "cl-table" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tasukete = ( + build-asdf-system { + pname = "cl-tasukete"; + version = "20180228-git"; + asds = [ "cl-tasukete" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tasukete/2018-02-28/cl-tasukete-20180228-git.tgz"; + sha256 = "0i8ibg2a33mb32vr2b70psb5dvh47r52lfhkh84rxzmcsk6ww230"; + system = "cl-tasukete"; + asd = "cl-tasukete"; + } + ); + systems = [ "cl-tasukete" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "cl-gists" self) + (getAttr "dissect" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tasukete-test = ( + build-asdf-system { + pname = "cl-tasukete-test"; + version = "20180228-git"; + asds = [ "cl-tasukete-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tasukete/2018-02-28/cl-tasukete-20180228-git.tgz"; + sha256 = "0i8ibg2a33mb32vr2b70psb5dvh47r52lfhkh84rxzmcsk6ww230"; + system = "cl-tasukete-test"; + asd = "cl-tasukete-test"; + } + ); + systems = [ "cl-tasukete-test" ]; + lispLibs = [ + (getAttr "cl-tasukete" self) + (getAttr "dissect" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-telebot = ( + build-asdf-system { + pname = "cl-telebot"; + version = "20211020-git"; + asds = [ "cl-telebot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-telebot/2021-10-20/cl-telebot-20211020-git.tgz"; + sha256 = "0nl002l4f3x6843s6h5w2iz2hganxb369k8c2hbbgqq7plb4mdf1"; + system = "cl-telebot"; + asd = "cl-telebot"; + } + ); + systems = [ "cl-telebot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "dexador" self) + (getAttr "jonathan" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-telegram-bot = ( + build-asdf-system { + pname = "cl-telegram-bot"; + version = "20241012-git"; + asds = [ "cl-telegram-bot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; + sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; + system = "cl-telegram-bot"; + asd = "cl-telegram-bot"; + } + ); + systems = [ "cl-telegram-bot" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "arrows" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-strings" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "jonathan" self) + (getAttr "kebab" self) + (getAttr "log4cl" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-telegram-bot-ci = ( + build-asdf-system { + pname = "cl-telegram-bot-ci"; + version = "20241012-git"; + asds = [ "cl-telegram-bot-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; + sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; + system = "cl-telegram-bot-ci"; + asd = "cl-telegram-bot-ci"; + } + ); + systems = [ "cl-telegram-bot-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-telegram-bot-docs = ( + build-asdf-system { + pname = "cl-telegram-bot-docs"; + version = "20241012-git"; + asds = [ "cl-telegram-bot-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; + sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; + system = "cl-telegram-bot-docs"; + asd = "cl-telegram-bot-docs"; + } + ); + systems = [ "cl-telegram-bot-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "cl-telegram-bot" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-telegram-bot-tests = ( + build-asdf-system { + pname = "cl-telegram-bot-tests"; + version = "20241012-git"; + asds = [ "cl-telegram-bot-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2024-10-12/cl-telegram-bot-20241012-git.tgz"; + sha256 = "1i1g9ax46b5jyx2nckp2q00asb46wwlin0hj5wlqlp7cb27r3dqj"; + system = "cl-telegram-bot-tests"; + asd = "cl-telegram-bot-tests"; + } + ); + systems = [ "cl-telegram-bot-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-template = ( + build-asdf-system { + pname = "cl-template"; + version = "20130615-git"; + asds = [ "cl-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-template/2013-06-15/cl-template-20130615-git.tgz"; + sha256 = "1rhg023a2nxsk5x6abd6i0a8sh36aj0bgsh80w60m3b7xlsva2x2"; + system = "cl-template"; + asd = "cl-template"; + } + ); + systems = [ "cl-template" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-template-tests = ( + build-asdf-system { + pname = "cl-template-tests"; + version = "20130615-git"; + asds = [ "cl-template-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-template/2013-06-15/cl-template-20130615-git.tgz"; + sha256 = "1rhg023a2nxsk5x6abd6i0a8sh36aj0bgsh80w60m3b7xlsva2x2"; + system = "cl-template-tests"; + asd = "cl-template"; + } + ); + systems = [ "cl-template-tests" ]; + lispLibs = [ + (getAttr "cl-template" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-termbox = ( + build-asdf-system { + pname = "cl-termbox"; + version = "20211020-git"; + asds = [ "cl-termbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-termbox/2021-10-20/cl-termbox-20211020-git.tgz"; + sha256 = "1igmq64zndkgchmzggp34jrmxa81dqlhz2il8qizrpfw5a39cpld"; + system = "cl-termbox"; + asd = "cl-termbox"; + } + ); + systems = [ "cl-termbox" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tesseract = ( + build-asdf-system { + pname = "cl-tesseract"; + version = "20171130-git"; + asds = [ "cl-tesseract" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tesseract/2017-11-30/cl-tesseract-20171130-git.tgz"; + sha256 = "086627k8whbj60bpw9r3jrdifr4bigqpnp9hxsi7r6702gixz50x"; + system = "cl-tesseract"; + asd = "cl-tesseract"; + } + ); + systems = [ "cl-tesseract" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-test-more = ( + build-asdf-system { + pname = "cl-test-more"; + version = "20200218-git"; + asds = [ "cl-test-more" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; + sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; + system = "cl-test-more"; + asd = "cl-test-more"; + } + ); + systems = [ "cl-test-more" ]; + lispLibs = [ (getAttr "prove" self) ]; + meta = { }; + } + ); + cl-tetris3d = ( + build-asdf-system { + pname = "cl-tetris3d"; + version = "20181210-git"; + asds = [ "cl-tetris3d" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tetris3d/2018-12-10/cl-tetris3d-20181210-git.tgz"; + sha256 = "09n7344is2vfbp32cd22ynk14h4vqs4xw3plbhga8q25ghhx5y9p"; + system = "cl-tetris3d"; + asd = "cl-tetris3d"; + } + ); + systems = [ "cl-tetris3d" ]; + lispLibs = [ + (getAttr "cl-glu" self) + (getAttr "cl-opengl" self) + (getAttr "iterate" self) + (getAttr "lispbuilder-sdl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-textmagic = ( + build-asdf-system { + pname = "cl-textmagic"; + version = "20151218-git"; + asds = [ "cl-textmagic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-textmagic/2015-12-18/cl-textmagic-20151218-git.tgz"; + sha256 = "0xw6g1r5vxmnbz3kxf2q6s9dr9l2aacyri1wchzw4jx5wlcnkshw"; + system = "cl-textmagic"; + asd = "cl-textmagic"; + } + ); + systems = [ "cl-textmagic" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "dexador" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-textmagic-test = ( + build-asdf-system { + pname = "cl-textmagic-test"; + version = "20151218-git"; + asds = [ "cl-textmagic-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-textmagic/2015-12-18/cl-textmagic-20151218-git.tgz"; + sha256 = "0xw6g1r5vxmnbz3kxf2q6s9dr9l2aacyri1wchzw4jx5wlcnkshw"; + system = "cl-textmagic-test"; + asd = "cl-textmagic-test"; + } + ); + systems = [ "cl-textmagic-test" ]; + lispLibs = [ + (getAttr "cl-textmagic" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tga = ( + build-asdf-system { + pname = "cl-tga"; + version = "20160318-git"; + asds = [ "cl-tga" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tga/2016-03-18/cl-tga-20160318-git.tgz"; + sha256 = "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"; + system = "cl-tga"; + asd = "cl-tga"; + } + ); + systems = [ "cl-tga" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-threadpool = ( + build-asdf-system { + pname = "cl-threadpool"; + version = "quickload-current-release-feda6ff9-git"; + asds = [ "cl-threadpool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-threadpool/2024-10-12/cl-threadpool-quickload-current-release-feda6ff9-git.tgz"; + sha256 = "0y2kai8ijz0y6j54svvdrl2f2v96pz0pl652x86lz7pl4yyg99vr"; + system = "cl-threadpool"; + asd = "cl-threadpool"; + } + ); + systems = [ "cl-threadpool" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "queues_dot_simple-cqueue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tidy = ( + build-asdf-system { + pname = "cl-tidy"; + version = "20170830-git"; + asds = [ "cl-tidy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tidy/2017-08-30/cl-tidy-20170830-git.tgz"; + sha256 = "13j0jgf6czb24148w2wxfwlji6vnc49qvyr5wzq5ps55b27ddlz6"; + system = "cl-tidy"; + asd = "cl-tidy"; + } + ); + systems = [ "cl-tidy" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tiled = ( + build-asdf-system { + pname = "cl-tiled"; + version = "20241012-git"; + asds = [ "cl-tiled" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tiled/2024-10-12/cl-tiled-20241012-git.tgz"; + sha256 = "0ni61iahr58i44psk4z3q1w9nsxbc49m5wbb8w0icm4f7x0ijn07"; + system = "cl-tiled"; + asd = "cl-tiled"; + } + ); + systems = [ "cl-tiled" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "chipz" self) + (getAttr "cl-base64" self) + (getAttr "cl-json" self) + (getAttr "nibbles" self) + (getAttr "parse-float" self) + (getAttr "split-sequence" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tk = ( + build-asdf-system { + pname = "cl-tk"; + version = "20150608-git"; + asds = [ "cl-tk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tk/2015-06-08/cl-tk-20150608-git.tgz"; + sha256 = "0fm4q4pkzbyxr6227vavvy4lm7rfw214lp2dylgzjzcp6f5r4n7w"; + system = "cl-tk"; + asd = "cl-tk"; + } + ); + systems = [ "cl-tk" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tld = ( + build-asdf-system { + pname = "cl-tld"; + version = "20220220-git"; + asds = [ "cl-tld" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tld/2022-02-20/cl-tld-20220220-git.tgz"; + sha256 = "1xm471p92in5g4fcxgqshwgr2d7937jw7jv6j473slwkxjvx8dp6"; + system = "cl-tld"; + asd = "cl-tld"; + } + ); + systems = [ "cl-tld" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tls = ( + build-asdf-system { + pname = "cl-tls"; + version = "20231021-git"; + asds = [ "cl-tls" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tls/2023-10-21/cl-tls-20231021-git.tgz"; + sha256 = "1gq7m5wmsrjmyhrk9xljxz9ickahwzl1anz2fcns5q2nj0j6d9bx"; + system = "cl-tls"; + asd = "cl-tls"; + } + ); + systems = [ "cl-tls" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "fast-io" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tokyo-cabinet = ( + build-asdf-system { + pname = "cl-tokyo-cabinet"; + version = "20160825-git"; + asds = [ "cl-tokyo-cabinet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tokyo-cabinet/2016-08-25/cl-tokyo-cabinet-20160825-git.tgz"; + sha256 = "07961in8fa09bjnpwkdn0w6dj37nppzmgg50kf8khspnjh1sjsr2"; + system = "cl-tokyo-cabinet"; + asd = "cl-tokyo-cabinet"; + } + ); + systems = [ "cl-tokyo-cabinet" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "deoxybyte-systems" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tokyo-cabinet-test = ( + build-asdf-system { + pname = "cl-tokyo-cabinet-test"; + version = "20160825-git"; + asds = [ "cl-tokyo-cabinet-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tokyo-cabinet/2016-08-25/cl-tokyo-cabinet-20160825-git.tgz"; + sha256 = "07961in8fa09bjnpwkdn0w6dj37nppzmgg50kf8khspnjh1sjsr2"; + system = "cl-tokyo-cabinet-test"; + asd = "cl-tokyo-cabinet-test"; + } + ); + systems = [ "cl-tokyo-cabinet-test" ]; + lispLibs = [ + (getAttr "cl-tokyo-cabinet" self) + (getAttr "deoxybyte-io" self) + (getAttr "deoxybyte-utilities" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-toml = ( + build-asdf-system { + pname = "cl-toml"; + version = "20191130-git"; + asds = [ "cl-toml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-toml/2019-11-30/cl-toml-20191130-git.tgz"; + sha256 = "1g5i60i78s0ms608fyc6sgaaqr6jdsln75n26lmfbcaqw2g1q9dk"; + system = "cl-toml"; + asd = "cl-toml"; + } + ); + systems = [ "cl-toml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + (getAttr "local-time" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-toml-test = ( + build-asdf-system { + pname = "cl-toml-test"; + version = "20191130-git"; + asds = [ "cl-toml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-toml/2019-11-30/cl-toml-20191130-git.tgz"; + sha256 = "1g5i60i78s0ms608fyc6sgaaqr6jdsln75n26lmfbcaqw2g1q9dk"; + system = "cl-toml-test"; + asd = "cl-toml-test"; + } + ); + systems = [ "cl-toml-test" ]; + lispLibs = [ + (getAttr "cl-toml" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tqdm = ( + build-asdf-system { + pname = "cl-tqdm"; + version = "20241012-git"; + asds = [ "cl-tqdm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tqdm/2024-10-12/cl-tqdm-20241012-git.tgz"; + sha256 = "0wlbgs7wfiy149d7zq5bpkm8g3785b1crcf2m802f9qhin2r0nzg"; + system = "cl-tqdm"; + asd = "cl-tqdm"; + } + ); + systems = [ "cl-tqdm" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-transmission = ( + build-asdf-system { + pname = "cl-transmission"; + version = "20200325-git"; + asds = [ "cl-transmission" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-transmission/2020-03-25/cl-transmission-20200325-git.tgz"; + sha256 = "0sg3f2jqs2z3mvscjhc43hkd34vlcc4c8hq8rhh5w1gjg19z57hb"; + system = "cl-transmission"; + asd = "cl-transmission"; + } + ); + systems = [ "cl-transmission" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "jonathan" self) + (getAttr "named-readtables" self) + (getAttr "rutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-transmission-test = ( + build-asdf-system { + pname = "cl-transmission-test"; + version = "20200325-git"; + asds = [ "cl-transmission-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-transmission/2020-03-25/cl-transmission-20200325-git.tgz"; + sha256 = "0sg3f2jqs2z3mvscjhc43hkd34vlcc4c8hq8rhh5w1gjg19z57hb"; + system = "cl-transmission-test"; + asd = "cl-transmission-test"; + } + ); + systems = [ "cl-transmission-test" ]; + lispLibs = [ + (getAttr "cl-transmission" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-trie = ( + build-asdf-system { + pname = "cl-trie"; + version = "20230214-git"; + asds = [ "cl-trie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-trie/2023-02-14/cl-trie-20230214-git.tgz"; + sha256 = "0d0mnac9rbqvwr45650yimfw4fyldbgasj139g7y1wzrranrcldf"; + system = "cl-trie"; + asd = "cl-trie"; + } + ); + systems = [ "cl-trie" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-trie-examples = ( + build-asdf-system { + pname = "cl-trie-examples"; + version = "20230214-git"; + asds = [ "cl-trie-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-trie/2023-02-14/cl-trie-20230214-git.tgz"; + sha256 = "0d0mnac9rbqvwr45650yimfw4fyldbgasj139g7y1wzrranrcldf"; + system = "cl-trie-examples"; + asd = "cl-trie-examples"; + } + ); + systems = [ "cl-trie-examples" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-trie" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tui = ( + build-asdf-system { + pname = "cl-tui"; + version = "20200427-git"; + asds = [ "cl-tui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tui/2020-04-27/cl-tui-20200427-git.tgz"; + sha256 = "1s0z7sjb3p1fxypc2x9fl0y094qa1a2iqjbn5him4hs8z7xm5kz8"; + system = "cl-tui"; + asd = "cl-tui"; + } + ); + systems = [ "cl-tui" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-charms" self) + (getAttr "cl-containers" self) + (getAttr "osicat" self) + (getAttr "split-sequence" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tulip-graph = ( + build-asdf-system { + pname = "cl-tulip-graph"; + version = "20130615-git"; + asds = [ "cl-tulip-graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tulip-graph/2013-06-15/cl-tulip-graph-20130615-git.tgz"; + sha256 = "0zmmwqabbyzdikn8x0xqrj192wr5w87l828nwandqg59af2isxav"; + system = "cl-tulip-graph"; + asd = "cl-tulip-graph"; + } + ); + systems = [ "cl-tulip-graph" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-tuples = ( + build-asdf-system { + pname = "cl-tuples"; + version = "20140713-git"; + asds = [ "cl-tuples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tuples/2014-07-13/cl-tuples-20140713-git.tgz"; + sha256 = "060xmr03y8n0mnf4x4fnrirljcjk1jcir7jsjq4w9d5vzq3aqm9m"; + system = "cl-tuples"; + asd = "cl-tuples"; + } + ); + systems = [ "cl-tuples" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-twit-repl = ( + build-asdf-system { + pname = "cl-twit-repl"; + version = "20180228-git"; + asds = [ "cl-twit-repl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz"; + sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr"; + system = "cl-twit-repl"; + asd = "cl-twit-repl"; + } + ); + systems = [ "cl-twit-repl" ]; + lispLibs = [ (getAttr "cl-twitter" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-twitter = ( + build-asdf-system { + pname = "cl-twitter"; + version = "20180228-git"; + asds = [ "cl-twitter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz"; + sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr"; + system = "cl-twitter"; + asd = "cl-twitter"; + } + ); + systems = [ "cl-twitter" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "cl-json" self) + (getAttr "cl-oauth" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "drakma" self) + (getAttr "trivial-http" self) + (getAttr "url-rewrite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-typesetting = ( + build-asdf-system { + pname = "cl-typesetting"; + version = "20210531-git"; + asds = [ "cl-typesetting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz"; + sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"; + system = "cl-typesetting"; + asd = "cl-typesetting"; + } + ); + systems = [ "cl-typesetting" ]; + lispLibs = [ (getAttr "cl-pdf" self) ]; + meta = { }; + } + ); + cl-uglify-js = ( + build-asdf-system { + pname = "cl-uglify-js"; + version = "20150709-git"; + asds = [ "cl-uglify-js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-uglify-js/2015-07-09/cl-uglify-js-20150709-git.tgz"; + sha256 = "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"; + system = "cl-uglify-js"; + asd = "cl-uglify-js"; + } + ); + systems = [ "cl-uglify-js" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-ppcre-unicode" self) + (getAttr "iterate" self) + (getAttr "parse-js" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-unac = ( + build-asdf-system { + pname = "cl-unac"; + version = "20230618-git"; + asds = [ "cl-unac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unac/2023-06-18/cl-unac-20230618-git.tgz"; + sha256 = "16i4lwg70k05dw3vynyyz09ldgr4zzd1ar68g4jcxk7q4ijfdw9m"; + system = "cl-unac"; + asd = "cl-unac"; + } + ); + systems = [ "cl-unac" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-unac_dot_config" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-unac_dot_config = ( + build-asdf-system { + pname = "cl-unac.config"; + version = "20230618-git"; + asds = [ "cl-unac.config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unac/2023-06-18/cl-unac-20230618-git.tgz"; + sha256 = "16i4lwg70k05dw3vynyyz09ldgr4zzd1ar68g4jcxk7q4ijfdw9m"; + system = "cl-unac.config"; + asd = "cl-unac.config"; + } + ); + systems = [ "cl-unac.config" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-unac_dot_tests = ( + build-asdf-system { + pname = "cl-unac.tests"; + version = "20230618-git"; + asds = [ "cl-unac.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unac/2023-06-18/cl-unac-20230618-git.tgz"; + sha256 = "16i4lwg70k05dw3vynyyz09ldgr4zzd1ar68g4jcxk7q4ijfdw9m"; + system = "cl-unac.tests"; + asd = "cl-unac.tests"; + } + ); + systems = [ "cl-unac.tests" ]; + lispLibs = [ + (getAttr "cl-unac" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-unicode = ( + build-asdf-system { + pname = "cl-unicode"; + version = "20241012-git"; + asds = [ "cl-unicode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unicode/2024-10-12/cl-unicode-20241012-git.tgz"; + sha256 = "14ydcjkj94mmx40vs27w8137lgmw16jjhpr5m46mm6gqv46yvr6l"; + system = "cl-unicode"; + asd = "cl-unicode"; + } + ); + systems = [ "cl-unicode" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { }; + } + ); + cl-unification = ( + build-asdf-system { + pname = "cl-unification"; + version = "20241012-git"; + asds = [ "cl-unification" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; + sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; + system = "cl-unification"; + asd = "cl-unification"; + } + ); + systems = [ "cl-unification" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-unification-lib = ( + build-asdf-system { + pname = "cl-unification-lib"; + version = "20241012-git"; + asds = [ "cl-unification-lib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; + sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; + system = "cl-unification-lib"; + asd = "cl-unification-lib"; + } + ); + systems = [ "cl-unification-lib" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-unification" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-unification-test = ( + build-asdf-system { + pname = "cl-unification-test"; + version = "20241012-git"; + asds = [ "cl-unification-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unification/2024-10-12/cl-unification-20241012-git.tgz"; + sha256 = "1q7bjj9dzazhgj32291rqy4lld1ilrpck374c21864qn3pmz31ag"; + system = "cl-unification-test"; + asd = "cl-unification-test"; + } + ); + systems = [ "cl-unification-test" ]; + lispLibs = [ + (getAttr "cl-unification" self) + (getAttr "ptester" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-union-find = ( + build-asdf-system { + pname = "cl-union-find"; + version = "20221106-git"; + asds = [ "cl-union-find" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-union-find/2022-11-06/cl-union-find-20221106-git.tgz"; + sha256 = "14xciva5v3c4zi4vzp1vfhs82a2654yhkfyllr3b0cr7x36jdm7y"; + system = "cl-union-find"; + asd = "cl-union-find"; + } + ); + systems = [ "cl-union-find" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-utilities = ( + build-asdf-system { + pname = "cl-utilities"; + version = "1.2.4"; + asds = [ "cl-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-utilities/2010-10-06/cl-utilities-1.2.4.tgz"; + sha256 = "1dmbkdr8xm2jw5yx1makqbf1ypqbm0hpkd7zyknxv3cblvz0a87w"; + system = "cl-utilities"; + asd = "cl-utilities"; + } + ); + systems = [ "cl-utilities" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-variates = ( + build-asdf-system { + pname = "cl-variates"; + version = "20180131-darcs"; + asds = [ "cl-variates" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-variates/2018-01-31/cl-variates-20180131-darcs.tgz"; + sha256 = "02pd02isfxrn3h8h5kh369rwy17hfjkmd7j24pcihfskamgcqgfx"; + system = "cl-variates"; + asd = "cl-variates"; + } + ); + systems = [ "cl-variates" ]; + lispLibs = [ (getAttr "asdf-system-connections" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-vectors = ( + build-asdf-system { + pname = "cl-vectors"; + version = "20241012-git"; + asds = [ "cl-vectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vectors/2024-10-12/cl-vectors-20241012-git.tgz"; + sha256 = "1nkmmn38y6af10ysff3g2qkf5lb2601dcjp5rffsjh6bv2ik2jd5"; + system = "cl-vectors"; + asd = "cl-vectors"; + } + ); + systems = [ "cl-vectors" ]; + lispLibs = [ + (getAttr "cl-aa" self) + (getAttr "cl-paths" self) + ]; + meta = { }; + } + ); + cl-vhdl = ( + build-asdf-system { + pname = "cl-vhdl"; + version = "20160421-git"; + asds = [ "cl-vhdl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vhdl/2016-04-21/cl-vhdl-20160421-git.tgz"; + sha256 = "0i2780ljak8kcqa2zm24dk2fk771m2mvmnbq4xd4vvx9z87lbnvi"; + system = "cl-vhdl"; + asd = "cl-vhdl"; + } + ); + systems = [ "cl-vhdl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-itertools" self) + (getAttr "cl-ppcre" self) + (getAttr "esrap-liquid" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-vhdl-tests = ( + build-asdf-system { + pname = "cl-vhdl-tests"; + version = "20160421-git"; + asds = [ "cl-vhdl-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vhdl/2016-04-21/cl-vhdl-20160421-git.tgz"; + sha256 = "0i2780ljak8kcqa2zm24dk2fk771m2mvmnbq4xd4vvx9z87lbnvi"; + system = "cl-vhdl-tests"; + asd = "cl-vhdl"; + } + ); + systems = [ "cl-vhdl-tests" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cl-vhdl" self) + (getAttr "fare-quasiquote-optima" self) + (getAttr "fiveam" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-video = ( + build-asdf-system { + pname = "cl-video"; + version = "20180228-git"; + asds = [ "cl-video" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; + sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; + system = "cl-video"; + asd = "cl-video"; + } + ); + systems = [ "cl-video" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-video-avi = ( + build-asdf-system { + pname = "cl-video-avi"; + version = "20180228-git"; + asds = [ "cl-video-avi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; + sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; + system = "cl-video-avi"; + asd = "cl-video-avi"; + } + ); + systems = [ "cl-video-avi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-jpeg" self) + (getAttr "cl-riff" self) + (getAttr "cl-video" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-video-gif = ( + build-asdf-system { + pname = "cl-video-gif"; + version = "20180228-git"; + asds = [ "cl-video-gif" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; + sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; + system = "cl-video-gif"; + asd = "cl-video-gif"; + } + ); + systems = [ "cl-video-gif" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-video" self) + (getAttr "skippy" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-video-player = ( + build-asdf-system { + pname = "cl-video-player"; + version = "20180228-git"; + asds = [ "cl-video-player" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; + sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; + system = "cl-video-player"; + asd = "cl-video-player"; + } + ); + systems = [ "cl-video-player" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-portaudio" self) + (getAttr "cl-video-avi" self) + (getAttr "cl-video-gif" self) + (getAttr "cl-video-wav" self) + (getAttr "clx" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-video-wav = ( + build-asdf-system { + pname = "cl-video-wav"; + version = "20180228-git"; + asds = [ "cl-video-wav" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz"; + sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr"; + system = "cl-video-wav"; + asd = "cl-video-wav"; + } + ); + systems = [ "cl-video-wav" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-riff" self) + (getAttr "cl-video" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-virtualbox = ( + build-asdf-system { + pname = "cl-virtualbox"; + version = "20180831-git"; + asds = [ "cl-virtualbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-virtualbox/2018-08-31/cl-virtualbox-20180831-git.tgz"; + sha256 = "1jzn8jjn9yn9vgnn1r6h0iyxb6j17wm8lmf9j5hk4yqwdzb2nidv"; + system = "cl-virtualbox"; + asd = "cl-virtualbox"; + } + ); + systems = [ "cl-virtualbox" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-vorbis = ( + build-asdf-system { + pname = "cl-vorbis"; + version = "20241012-git"; + asds = [ "cl-vorbis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-vorbis/2024-10-12/cl-vorbis-20241012-git.tgz"; + sha256 = "04p0ix2mxa8iv2dab19mlix6m3inwyb0rs5wsrf8r9l1n41dyp2p"; + system = "cl-vorbis"; + asd = "cl-vorbis"; + } + ); + systems = [ "cl-vorbis" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "static-vectors" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-voxelize = ( + build-asdf-system { + pname = "cl-voxelize"; + version = "20150709-git"; + asds = [ "cl-voxelize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz"; + sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm"; + system = "cl-voxelize"; + asd = "cl-voxelize"; + } + ); + systems = [ "cl-voxelize" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-voxelize-examples = ( + build-asdf-system { + pname = "cl-voxelize-examples"; + version = "20150709-git"; + asds = [ "cl-voxelize-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz"; + sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm"; + system = "cl-voxelize-examples"; + asd = "cl-voxelize-examples"; + } + ); + systems = [ "cl-voxelize-examples" ]; + lispLibs = [ + (getAttr "cl-ply" self) + (getAttr "cl-voxelize" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-voxelize-test = ( + build-asdf-system { + pname = "cl-voxelize-test"; + version = "20150709-git"; + asds = [ "cl-voxelize-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz"; + sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm"; + system = "cl-voxelize-test"; + asd = "cl-voxelize-test"; + } + ); + systems = [ "cl-voxelize-test" ]; + lispLibs = [ + (getAttr "cl-voxelize" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wadler-pprint = ( + build-asdf-system { + pname = "cl-wadler-pprint"; + version = "20191007-git"; + asds = [ "cl-wadler-pprint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wadler-pprint/2019-10-07/cl-wadler-pprint-20191007-git.tgz"; + sha256 = "0y5jxk7yiw8wng7hg91cwibh6d2hf1sv2mzqhkds6l4myhzxb4jr"; + system = "cl-wadler-pprint"; + asd = "cl-wadler-pprint"; + } + ); + systems = [ "cl-wadler-pprint" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wav = ( + build-asdf-system { + pname = "cl-wav"; + version = "20221106-git"; + asds = [ "cl-wav" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wav/2022-11-06/cl-wav-20221106-git.tgz"; + sha256 = "1nf4zw72v0c9fl8mr4si5cr2xz753ydzv19mfzy5dqqx0k1g7wyl"; + system = "cl-wav"; + asd = "cl-wav"; + } + ); + systems = [ "cl-wav" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-riff" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wave-file-writer = ( + build-asdf-system { + pname = "cl-wave-file-writer"; + version = "quickload-current-release-42cde6cf-git"; + asds = [ "cl-wave-file-writer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wave-file-writer/2021-10-20/cl-wave-file-writer-quickload-current-release-42cde6cf-git.tgz"; + sha256 = "0mxzp6rm7ah86vp1xj67q43al71k62x407m5vmbldvyb6pmx37fp"; + system = "cl-wave-file-writer"; + asd = "cl-wave-file-writer"; + } + ); + systems = [ "cl-wave-file-writer" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wavefront = ( + build-asdf-system { + pname = "cl-wavefront"; + version = "20241012-git"; + asds = [ "cl-wavefront" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wavefront/2024-10-12/cl-wavefront-20241012-git.tgz"; + sha256 = "1il5i04x2ff3pnjm2pgvq0hryd9rnjdbczvinj3l3w30lj553g83"; + system = "cl-wavefront"; + asd = "cl-wavefront"; + } + ); + systems = [ "cl-wavefront" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wavelets = ( + build-asdf-system { + pname = "cl-wavelets"; + version = "20220707-git"; + asds = [ "cl-wavelets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wavelets/2022-07-07/cl-wavelets-20220707-git.tgz"; + sha256 = "0z4r01d5mv4rachz5rr5zvnv94q7ka17138vcpsb05sz00vv03ba"; + system = "cl-wavelets"; + asd = "cl-wavelets"; + } + ); + systems = [ "cl-wavelets" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wayland = ( + build-asdf-system { + pname = "cl-wayland"; + version = "20190307-git"; + asds = [ "cl-wayland" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wayland/2019-03-07/cl-wayland-20190307-git.tgz"; + sha256 = "1axdkdm5d2bvj674jq6ylwhfwbzzs7yjj6f04c519qbdq9sknbcn"; + system = "cl-wayland"; + asd = "cl-wayland"; + } + ); + systems = [ "cl-wayland" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-weather-jp = ( + build-asdf-system { + pname = "cl-weather-jp"; + version = "20160208-git"; + asds = [ "cl-weather-jp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-weather-jp/2016-02-08/cl-weather-jp-20160208-git.tgz"; + sha256 = "15bp7gdk7ck9xs9lx2rrzqw6awlk6nz03cqy14wv2lvy3j84dc01"; + system = "cl-weather-jp"; + asd = "cl-weather-jp"; + } + ); + systems = [ "cl-weather-jp" ]; + lispLibs = [ + (getAttr "clss" self) + (getAttr "dexador" self) + (getAttr "function-cache" self) + (getAttr "jonathan" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-weather-jp-test = ( + build-asdf-system { + pname = "cl-weather-jp-test"; + version = "20160208-git"; + asds = [ "cl-weather-jp-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-weather-jp/2016-02-08/cl-weather-jp-20160208-git.tgz"; + sha256 = "15bp7gdk7ck9xs9lx2rrzqw6awlk6nz03cqy14wv2lvy3j84dc01"; + system = "cl-weather-jp-test"; + asd = "cl-weather-jp-test"; + } + ); + systems = [ "cl-weather-jp-test" ]; + lispLibs = [ + (getAttr "cl-weather-jp" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-webdav = ( + build-asdf-system { + pname = "cl-webdav"; + version = "20170830-git"; + asds = [ "cl-webdav" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-webdav/2017-08-30/cl-webdav-20170830-git.tgz"; + sha256 = "1cmzv763k4s5blfhx2p8s7q9gk20p8mj9p34dngydc14d2acrxmg"; + system = "cl-webdav"; + asd = "cl-webdav"; + } + ); + systems = [ "cl-webdav" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cxml" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-webdriver-client = ( + build-asdf-system { + pname = "cl-webdriver-client"; + version = "20241012-git"; + asds = [ "cl-webdriver-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-webdriver-client/2024-10-12/cl-webdriver-client-20241012-git.tgz"; + sha256 = "1975yyvvdxg11vgpyx93nkqr5x6i1xy47230vc40yd0c9bn6lpbr"; + system = "cl-webdriver-client"; + asd = "cl-webdriver-client"; + } + ); + systems = [ "cl-webdriver-client" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "assoc-utils" self) + (getAttr "cl-json" self) + (getAttr "dexador" self) + (getAttr "quri" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-webdriver-client-test = ( + build-asdf-system { + pname = "cl-webdriver-client-test"; + version = "20241012-git"; + asds = [ "cl-webdriver-client-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-webdriver-client/2024-10-12/cl-webdriver-client-20241012-git.tgz"; + sha256 = "1975yyvvdxg11vgpyx93nkqr5x6i1xy47230vc40yd0c9bn6lpbr"; + system = "cl-webdriver-client-test"; + asd = "cl-webdriver-client-test"; + } + ); + systems = [ "cl-webdriver-client-test" ]; + lispLibs = [ + (getAttr "cl-webdriver-client" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-webkit2 = ( + build-asdf-system { + pname = "cl-webkit2"; + version = "20241012-git"; + asds = [ "cl-webkit2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-webkit/2024-10-12/cl-webkit-20241012-git.tgz"; + sha256 = "1ppx4pdnx3c41hp1j8msvpyw22ck2lll2f4ap5hyfvhadp07g3m5"; + system = "cl-webkit2"; + asd = "cl-webkit2"; + } + ); + systems = [ "cl-webkit2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-cffi-gtk" self) + ]; + meta = { }; + } + ); + cl-who = ( + build-asdf-system { + pname = "cl-who"; + version = "20241012-git"; + asds = [ "cl-who" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-who/2024-10-12/cl-who-20241012-git.tgz"; + sha256 = "1kfpy69dw0g7w7k0akimncpkxfqq85r08i2da8nw1dhk2hp6l8jc"; + system = "cl-who"; + asd = "cl-who"; + } + ); + systems = [ "cl-who" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cl-who-test = ( + build-asdf-system { + pname = "cl-who-test"; + version = "20241012-git"; + asds = [ "cl-who-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-who/2024-10-12/cl-who-20241012-git.tgz"; + sha256 = "1kfpy69dw0g7w7k0akimncpkxfqq85r08i2da8nw1dhk2hp6l8jc"; + system = "cl-who-test"; + asd = "cl-who"; + } + ); + systems = [ "cl-who-test" ]; + lispLibs = [ + (getAttr "cl-who" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-why = ( + build-asdf-system { + pname = "cl-why"; + version = "20180228-git"; + asds = [ "cl-why" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-why/2018-02-28/cl-why-20180228-git.tgz"; + sha256 = "01xm7gj1wwd7i3r49jfdm96gwl7nvrn0h6q22kpzrb8zs48wj947"; + system = "cl-why"; + asd = "cl-why"; + } + ); + systems = [ "cl-why" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-why-test = ( + build-asdf-system { + pname = "cl-why-test"; + version = "20180228-git"; + asds = [ "cl-why-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-why/2018-02-28/cl-why-20180228-git.tgz"; + sha256 = "01xm7gj1wwd7i3r49jfdm96gwl7nvrn0h6q22kpzrb8zs48wj947"; + system = "cl-why-test"; + asd = "cl-why"; + } + ); + systems = [ "cl-why-test" ]; + lispLibs = [ + (getAttr "cl-why" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-with = ( + build-asdf-system { + pname = "cl-with"; + version = "20211020-git"; + asds = [ "cl-with" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-with/2021-10-20/cl-with-20211020-git.tgz"; + sha256 = "1x4laq7zi12xb28rfrh8hcy92pkfvjxsp2nn6jkmrhfynky5180w"; + system = "cl-with"; + asd = "cl-with"; + } + ); + systems = [ "cl-with" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wol_dot_cli = ( + build-asdf-system { + pname = "cl-wol.cli"; + version = "20231021-git"; + asds = [ "cl-wol.cli" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wol/2023-10-21/cl-wol-20231021-git.tgz"; + sha256 = "1gfrih0899i7280169cjp6bg3zmrx6znrr3i9qjgda0jk4dn5rp4"; + system = "cl-wol.cli"; + asd = "cl-wol.cli"; + } + ); + systems = [ "cl-wol.cli" ]; + lispLibs = [ + (getAttr "cl-ascii-table" self) + (getAttr "cl-migratum" self) + (getAttr "cl-migratum_dot_driver_dot_dbi" self) + (getAttr "cl-migratum_dot_provider_dot_local-path" self) + (getAttr "cl-wol_dot_core" self) + (getAttr "clingon" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wol_dot_core = ( + build-asdf-system { + pname = "cl-wol.core"; + version = "20231021-git"; + asds = [ "cl-wol.core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wol/2023-10-21/cl-wol-20231021-git.tgz"; + sha256 = "1gfrih0899i7280169cjp6bg3zmrx6znrr3i9qjgda0jk4dn5rp4"; + system = "cl-wol.core"; + asd = "cl-wol.core"; + } + ); + systems = [ "cl-wol.core" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wol_dot_test = ( + build-asdf-system { + pname = "cl-wol.test"; + version = "20231021-git"; + asds = [ "cl-wol.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wol/2023-10-21/cl-wol-20231021-git.tgz"; + sha256 = "1gfrih0899i7280169cjp6bg3zmrx6znrr3i9qjgda0jk4dn5rp4"; + system = "cl-wol.test"; + asd = "cl-wol.test"; + } + ); + systems = [ "cl-wol.test" ]; + lispLibs = [ + (getAttr "cl-wol_dot_core" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-wordcut = ( + build-asdf-system { + pname = "cl-wordcut"; + version = "20160421-git"; + asds = [ "cl-wordcut" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-wordcut/2016-04-21/cl-wordcut-20160421-git.tgz"; + sha256 = "1b8b3b1rgk0y87l54325ilcly8rq9qxalcsmw6rk8q6dq13lgv78"; + system = "cl-wordcut"; + asd = "cl-wordcut"; + } + ); + systems = [ "cl-wordcut" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xdg = ( + build-asdf-system { + pname = "cl-xdg"; + version = "20170124-git"; + asds = [ "cl-xdg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xdg/2017-01-24/cl-xdg-20170124-git.tgz"; + sha256 = "078hgsab0gl6s96wq09ibq5alzyyqh6wwc3yjs44fv18561p5jgc"; + system = "cl-xdg"; + asd = "cl-xdg"; + } + ); + systems = [ "cl-xdg" ]; + lispLibs = [ + (getAttr "cl-sxml" self) + (getAttr "cl-xmlspam" self) + (getAttr "flexi-streams" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xdg-test = ( + build-asdf-system { + pname = "cl-xdg-test"; + version = "20170124-git"; + asds = [ "cl-xdg-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xdg/2017-01-24/cl-xdg-20170124-git.tgz"; + sha256 = "078hgsab0gl6s96wq09ibq5alzyyqh6wwc3yjs44fv18561p5jgc"; + system = "cl-xdg-test"; + asd = "cl-xdg"; + } + ); + systems = [ "cl-xdg-test" ]; + lispLibs = [ + (getAttr "cl-xdg" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xkb = ( + build-asdf-system { + pname = "cl-xkb"; + version = "20230214-git"; + asds = [ "cl-xkb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xkb/2023-02-14/cl-xkb-20230214-git.tgz"; + sha256 = "002bskv0dvq2hahz7dah2zwwkp2zrkf98w7lm96jmqfn8vyp4k75"; + system = "cl-xkb"; + asd = "cl-xkb"; + } + ); + systems = [ "cl-xkb" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xkeysym = ( + build-asdf-system { + pname = "cl-xkeysym"; + version = "20140914-git"; + asds = [ "cl-xkeysym" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xkeysym/2014-09-14/cl-xkeysym-20140914-git.tgz"; + sha256 = "0yxijl6xb5apb6v6qm8g3kfdr90slgg6vsnx4d1ps9z4zhrjlc6c"; + system = "cl-xkeysym"; + asd = "cl-xkeysym"; + } + ); + systems = [ "cl-xkeysym" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xmlspam = ( + build-asdf-system { + pname = "cl-xmlspam"; + version = "20101006-http"; + asds = [ "cl-xmlspam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xmlspam/2010-10-06/cl-xmlspam-20101006-http.tgz"; + sha256 = "03jw57889b60nsqgb13vrf5q1g2fasah7qv7knjlx2w4mc1ci7ks"; + system = "cl-xmlspam"; + asd = "cl-xmlspam"; + } + ); + systems = [ "cl-xmlspam" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + ]; + meta = { }; + } + ); + cl-xmpp = ( + build-asdf-system { + pname = "cl-xmpp"; + version = "0.8.1"; + asds = [ "cl-xmpp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz"; + sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f"; + system = "cl-xmpp"; + asd = "cl-xmpp"; + } + ); + systems = [ "cl-xmpp" ]; + lispLibs = [ + (getAttr "cxml" self) + (getAttr "ironclad" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xmpp-sasl = ( + build-asdf-system { + pname = "cl-xmpp-sasl"; + version = "0.8.1"; + asds = [ "cl-xmpp-sasl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz"; + sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f"; + system = "cl-xmpp-sasl"; + asd = "cl-xmpp-sasl"; + } + ); + systems = [ "cl-xmpp-sasl" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-sasl" self) + (getAttr "cl-xmpp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xmpp-tls = ( + build-asdf-system { + pname = "cl-xmpp-tls"; + version = "0.8.1"; + asds = [ "cl-xmpp-tls" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz"; + sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f"; + system = "cl-xmpp-tls"; + asd = "cl-xmpp-tls"; + } + ); + systems = [ "cl-xmpp-tls" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "cl-xmpp-sasl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xul = ( + build-asdf-system { + pname = "cl-xul"; + version = "20160318-git"; + asds = [ "cl-xul" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xul/2016-03-18/cl-xul-20160318-git.tgz"; + sha256 = "0ldny4bjfndrkyqcq6klqxvqkpb0lhcqlj52y89ybl9w7dkl2d9p"; + system = "cl-xul"; + asd = "cl-xul"; + } + ); + systems = [ "cl-xul" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-json" self) + (getAttr "closer-mop" self) + (getAttr "clws" self) + (getAttr "cxml" self) + (getAttr "log5" self) + (getAttr "md5" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-xul-test = ( + build-asdf-system { + pname = "cl-xul-test"; + version = "20160318-git"; + asds = [ "cl-xul-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-xul/2016-03-18/cl-xul-20160318-git.tgz"; + sha256 = "0ldny4bjfndrkyqcq6klqxvqkpb0lhcqlj52y89ybl9w7dkl2d9p"; + system = "cl-xul-test"; + asd = "cl-xul-test"; + } + ); + systems = [ "cl-xul-test" ]; + lispLibs = [ + (getAttr "cl-xul" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-yaclyaml = ( + build-asdf-system { + pname = "cl-yaclyaml"; + version = "20160825-git"; + asds = [ "cl-yaclyaml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yaclyaml/2016-08-25/cl-yaclyaml-20160825-git.tgz"; + sha256 = "1clfhz4ii2p11yc3bm23ib4rx0rfxsh18ddc2br82i7mbwks3pll"; + system = "cl-yaclyaml"; + asd = "cl-yaclyaml"; + } + ); + systems = [ "cl-yaclyaml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-test-more" self) + (getAttr "esrap-liquid" self) + (getAttr "iterate" self) + (getAttr "parse-number" self) + (getAttr "rutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-yaclyaml-tests = ( + build-asdf-system { + pname = "cl-yaclyaml-tests"; + version = "20160825-git"; + asds = [ "cl-yaclyaml-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yaclyaml/2016-08-25/cl-yaclyaml-20160825-git.tgz"; + sha256 = "1clfhz4ii2p11yc3bm23ib4rx0rfxsh18ddc2br82i7mbwks3pll"; + system = "cl-yaclyaml-tests"; + asd = "cl-yaclyaml"; + } + ); + systems = [ "cl-yaclyaml-tests" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cl-yaclyaml" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-yahoo-finance = ( + build-asdf-system { + pname = "cl-yahoo-finance"; + version = "20130312-git"; + asds = [ "cl-yahoo-finance" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yahoo-finance/2013-03-12/cl-yahoo-finance-20130312-git.tgz"; + sha256 = "1qhs4j00iw1w81lx0vmyiayzqyvixaxc5j2rc89qlr1gx12mqadl"; + system = "cl-yahoo-finance"; + asd = "cl-yahoo-finance"; + } + ); + systems = [ "cl-yahoo-finance" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-csv" self) + (getAttr "drakma" self) + (getAttr "url-rewrite" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-yaml = ( + build-asdf-system { + pname = "cl-yaml"; + version = "20221106-git"; + asds = [ "cl-yaml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yaml/2022-11-06/cl-yaml-20221106-git.tgz"; + sha256 = "053fvrrd0p2xx4zxbz4kg9469895ypwsbjfd3nwpi7lwcll2bir5"; + system = "cl-yaml"; + asd = "cl-yaml"; + } + ); + systems = [ "cl-yaml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-libyaml" self) + (getAttr "cl-ppcre" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-yaml-test = ( + build-asdf-system { + pname = "cl-yaml-test"; + version = "20221106-git"; + asds = [ "cl-yaml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yaml/2022-11-06/cl-yaml-20221106-git.tgz"; + sha256 = "053fvrrd0p2xx4zxbz4kg9469895ypwsbjfd3nwpi7lwcll2bir5"; + system = "cl-yaml-test"; + asd = "cl-yaml-test"; + } + ); + systems = [ "cl-yaml-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-yaml" self) + (getAttr "fiveam" self) + (getAttr "generic-comparability" self) + (getAttr "trivial-benchmark" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-yesql = ( + build-asdf-system { + pname = "cl-yesql"; + version = "20211020-git"; + asds = [ "cl-yesql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yesql/2021-10-20/cl-yesql-20211020-git.tgz"; + sha256 = "0bg133kprbssv0z4ir2hkhf72fbmnz9v9861ncs1isqaby2d4xlj"; + system = "cl-yesql"; + asd = "cl-yesql"; + } + ); + systems = [ "cl-yesql" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "esrap" self) + (getAttr "serapeum" self) + (getAttr "trivia" self) + (getAttr "vernacular" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-zipper = ( + build-asdf-system { + pname = "cl-zipper"; + version = "20200610-git"; + asds = [ "cl-zipper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zipper/2020-06-10/cl-zipper-20200610-git.tgz"; + sha256 = "1zcfy97l40ynbldxpx8nad81jlrfp0k2vic10wbkrqdfkr696xkg"; + system = "cl-zipper"; + asd = "cl-zipper"; + } + ); + systems = [ "cl-zipper" ]; + lispLibs = [ (getAttr "prove-asdf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl-zipper-test = ( + build-asdf-system { + pname = "cl-zipper-test"; + version = "20200610-git"; + asds = [ "cl-zipper-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zipper/2020-06-10/cl-zipper-20200610-git.tgz"; + sha256 = "1zcfy97l40ynbldxpx8nad81jlrfp0k2vic10wbkrqdfkr696xkg"; + system = "cl-zipper-test"; + asd = "cl-zipper"; + } + ); + systems = [ "cl-zipper-test" ]; + lispLibs = [ + (getAttr "cl-zipper" self) + (getAttr "prove-asdf" self) + (getAttr "test-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cl4store = ( + build-asdf-system { + pname = "cl4store"; + version = "20200325-git"; + asds = [ "cl4store" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl4store/2020-03-25/cl4store-20200325-git.tgz"; + sha256 = "0qajxwlvmb5vd9qynnl0n62bcl1xhin49xk0p44v6pig8q2jzc26"; + system = "cl4store"; + asd = "cl4store"; + } + ); + systems = [ "cl4store" ]; + lispLibs = [ + (getAttr "cl-rdfxml" self) + (getAttr "cl-sparql" self) + (getAttr "drakma" self) + (getAttr "log5" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clache = ( + build-asdf-system { + pname = "clache"; + version = "20171130-git"; + asds = [ "clache" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clache/2017-11-30/clache-20171130-git.tgz"; + sha256 = "0wxg004bsay58vr6xr6mlk7wj415qmvisqxvpnjsg6glfwca86ys"; + system = "clache"; + asd = "clache"; + } + ); + systems = [ "clache" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-annot" self) + (getAttr "cl-fad" self) + (getAttr "cl-store" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + (getAttr "ironclad" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clache-test = ( + build-asdf-system { + pname = "clache-test"; + version = "20171130-git"; + asds = [ "clache-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clache/2017-11-30/clache-20171130-git.tgz"; + sha256 = "0wxg004bsay58vr6xr6mlk7wj415qmvisqxvpnjsg6glfwca86ys"; + system = "clache-test"; + asd = "clache-test"; + } + ); + systems = [ "clache-test" ]; + lispLibs = [ + (getAttr "cl-test-more" self) + (getAttr "clache" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack = ( + build-asdf-system { + pname = "clack"; + version = "20241012-git"; + asds = [ "clack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "clack"; + asd = "clack"; + } + ); + systems = [ "clack" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "lack" self) + (getAttr "lack-middleware-backtrace" self) + (getAttr "lack-util" self) + (getAttr "swank" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + clack-cors = ( + build-asdf-system { + pname = "clack-cors"; + version = "20241012-git"; + asds = [ "clack-cors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; + sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; + system = "clack-cors"; + asd = "clack-cors"; + } + ); + systems = [ "clack-cors" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "log4cl" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-cors-ci = ( + build-asdf-system { + pname = "clack-cors-ci"; + version = "20241012-git"; + asds = [ "clack-cors-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; + sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; + system = "clack-cors-ci"; + asd = "clack-cors-ci"; + } + ); + systems = [ "clack-cors-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-cors-docs = ( + build-asdf-system { + pname = "clack-cors-docs"; + version = "20241012-git"; + asds = [ "clack-cors-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; + sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; + system = "clack-cors-docs"; + asd = "clack-cors-docs"; + } + ); + systems = [ "clack-cors-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "clack-cors" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-cors-tests = ( + build-asdf-system { + pname = "clack-cors-tests"; + version = "20241012-git"; + asds = [ "clack-cors-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-cors/2024-10-12/clack-cors-20241012-git.tgz"; + sha256 = "0bndzkrqmdq5cz7wfzr7kw2gy5vk8h1hmf3vplc6mqk7vr3zm6m2"; + system = "clack-cors-tests"; + asd = "clack-cors-tests"; + } + ); + systems = [ "clack-cors-tests" ]; + lispLibs = [ + (getAttr "clack-test" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-errors = ( + build-asdf-system { + pname = "clack-errors"; + version = "20190813-git"; + asds = [ "clack-errors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; + sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; + system = "clack-errors"; + asd = "clack-errors"; + } + ); + systems = [ "clack-errors" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "clack" self) + (getAttr "closer-mop" self) + (getAttr "djula" self) + (getAttr "local-time" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-errors-demo = ( + build-asdf-system { + pname = "clack-errors-demo"; + version = "20190813-git"; + asds = [ "clack-errors-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; + sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; + system = "clack-errors-demo"; + asd = "clack-errors-demo"; + } + ); + systems = [ "clack-errors-demo" ]; + lispLibs = [ + (getAttr "cl-markup" self) + (getAttr "clack-errors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-errors-test = ( + build-asdf-system { + pname = "clack-errors-test"; + version = "20190813-git"; + asds = [ "clack-errors-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; + sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; + system = "clack-errors-test"; + asd = "clack-errors-test"; + } + ); + systems = [ "clack-errors-test" ]; + lispLibs = [ + (getAttr "clack" self) + (getAttr "clack-errors" self) + (getAttr "drakma" self) + (getAttr "fiveam" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-handler-hunchentoot = ( + build-asdf-system { + pname = "clack-handler-hunchentoot"; + version = "20241012-git"; + asds = [ "clack-handler-hunchentoot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "clack-handler-hunchentoot"; + asd = "clack-handler-hunchentoot"; + } + ); + systems = [ "clack-handler-hunchentoot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "clack-socket" self) + (getAttr "flexi-streams" self) + (getAttr "hunchentoot" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-handler-toot = ( + build-asdf-system { + pname = "clack-handler-toot"; + version = "20241012-git"; + asds = [ "clack-handler-toot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "clack-handler-toot"; + asd = "clack-handler-toot"; + } + ); + systems = [ "clack-handler-toot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + (getAttr "toot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-handler-woo = ( + build-asdf-system { + pname = "clack-handler-woo"; + version = "20241012-git"; + asds = [ "clack-handler-woo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/woo/2024-10-12/woo-20241012-git.tgz"; + sha256 = "0nhxlb1qhkl20vknm44gx0cq5cks33rcljczfhgbnmpkzrdpdrrl"; + system = "clack-handler-woo"; + asd = "clack-handler-woo"; + } + ); + systems = [ "clack-handler-woo" ]; + lispLibs = [ (getAttr "woo" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-handler-wookie = ( + build-asdf-system { + pname = "clack-handler-wookie"; + version = "20241012-git"; + asds = [ "clack-handler-wookie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "clack-handler-wookie"; + asd = "clack-handler-wookie"; + } + ); + systems = [ "clack-handler-wookie" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-async" self) + (getAttr "clack-socket" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "flexi-streams" self) + (getAttr "quri" self) + (getAttr "split-sequence" self) + (getAttr "wookie" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-pretend = ( + build-asdf-system { + pname = "clack-pretend"; + version = "20241012-git"; + asds = [ "clack-pretend" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-pretend/2024-10-12/clack-pretend-20241012-git.tgz"; + sha256 = "0f9y264bdxspd3sfzf9hq7v0myvq5va0drw8kji1b4gyprmg995k"; + system = "clack-pretend"; + asd = "clack-pretend"; + } + ); + systems = [ "clack-pretend" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "circular-streams" self) + (getAttr "cl-hash-util" self) + (getAttr "clack" self) + (getAttr "lack-request" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-prometheus = ( + build-asdf-system { + pname = "clack-prometheus"; + version = "20241012-git"; + asds = [ "clack-prometheus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; + sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; + system = "clack-prometheus"; + asd = "clack-prometheus"; + } + ); + systems = [ "clack-prometheus" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "cffi-grovel" self) + (getAttr "lack-middleware-mount" self) + (getAttr "prometheus" self) + (getAttr "prometheus-gc" self) + (getAttr "prometheus_dot_collectors_dot_process" self) + (getAttr "prometheus_dot_collectors_dot_sbcl" self) + (getAttr "prometheus_dot_formats_dot_text" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-prometheus-ci = ( + build-asdf-system { + pname = "clack-prometheus-ci"; + version = "20241012-git"; + asds = [ "clack-prometheus-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; + sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; + system = "clack-prometheus-ci"; + asd = "clack-prometheus-ci"; + } + ); + systems = [ "clack-prometheus-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-prometheus-docs = ( + build-asdf-system { + pname = "clack-prometheus-docs"; + version = "20241012-git"; + asds = [ "clack-prometheus-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; + sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; + system = "clack-prometheus-docs"; + asd = "clack-prometheus-docs"; + } + ); + systems = [ "clack-prometheus-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "clack-prometheus" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-prometheus-tests = ( + build-asdf-system { + pname = "clack-prometheus-tests"; + version = "20241012-git"; + asds = [ "clack-prometheus-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-prometheus/2024-10-12/clack-prometheus-20241012-git.tgz"; + sha256 = "1zkflszvxyhxn7m9c2f1k2snqwdzasbvscw5vpsglb50pczs9g0d"; + system = "clack-prometheus-tests"; + asd = "clack-prometheus-tests"; + } + ); + systems = [ "clack-prometheus-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-socket = ( + build-asdf-system { + pname = "clack-socket"; + version = "20241012-git"; + asds = [ "clack-socket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "clack-socket"; + asd = "clack-socket"; + } + ); + systems = [ "clack-socket" ]; + lispLibs = [ ]; + meta = { }; + } + ); + clack-static-asset-djula-helpers = ( + build-asdf-system { + pname = "clack-static-asset-djula-helpers"; + version = "20211209-git"; + asds = [ "clack-static-asset-djula-helpers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz"; + sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc"; + system = "clack-static-asset-djula-helpers"; + asd = "clack-static-asset-djula-helpers"; + } + ); + systems = [ "clack-static-asset-djula-helpers" ]; + lispLibs = [ + (getAttr "clack-static-asset-middleware" self) + (getAttr "djula" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-static-asset-middleware = ( + build-asdf-system { + pname = "clack-static-asset-middleware"; + version = "20211209-git"; + asds = [ "clack-static-asset-middleware" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz"; + sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc"; + system = "clack-static-asset-middleware"; + asd = "clack-static-asset-middleware"; + } + ); + systems = [ "clack-static-asset-middleware" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + (getAttr "trivial-mimes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-static-asset-middleware-test = ( + build-asdf-system { + pname = "clack-static-asset-middleware-test"; + version = "20211209-git"; + asds = [ "clack-static-asset-middleware-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz"; + sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc"; + system = "clack-static-asset-middleware-test"; + asd = "clack-static-asset-middleware-test"; + } + ); + systems = [ "clack-static-asset-middleware-test" ]; + lispLibs = [ + (getAttr "clack-static-asset-djula-helpers" self) + (getAttr "clack-static-asset-middleware" self) + (getAttr "lack-test" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clack-test = ( + build-asdf-system { + pname = "clack-test"; + version = "20241012-git"; + asds = [ "clack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "clack-test"; + asd = "clack-test"; + } + ); + systems = [ "clack-test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "clack" self) + (getAttr "clack-handler-hunchentoot" self) + (getAttr "dexador" self) + (getAttr "flexi-streams" self) + (getAttr "http-body" self) + (getAttr "ironclad" self) + (getAttr "rove" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clad = ( + build-asdf-system { + pname = "clad"; + version = "20241012-git"; + asds = [ "clad" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clad/2024-10-12/clad-20241012-git.tgz"; + sha256 = "1ah8d4wyd7yqchcnyjcnd27gx2m410cgybyp194ng1ipdpa4mm6n"; + system = "clad"; + asd = "clad"; + } + ); + systems = [ "clad" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + class-options = ( + build-asdf-system { + pname = "class-options"; + version = "1.0.1"; + asds = [ "class-options" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/class-options/2020-10-16/class-options_1.0.1.tgz"; + sha256 = "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk"; + system = "class-options"; + asd = "class-options"; + } + ); + systems = [ "class-options" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + class-options__tests = ( + build-asdf-system { + pname = "class-options_tests"; + version = "1.0.1"; + asds = [ "class-options_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/class-options/2020-10-16/class-options_1.0.1.tgz"; + sha256 = "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk"; + system = "class-options_tests"; + asd = "class-options_tests"; + } + ); + systems = [ "class-options_tests" ]; + lispLibs = [ + (getAttr "class-options" self) + (getAttr "closer-mop" self) + (getAttr "enhanced-boolean" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + classimp = ( + build-asdf-system { + pname = "classimp"; + version = "20241012-git"; + asds = [ "classimp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/classimp/2024-10-12/classimp-20241012-git.tgz"; + sha256 = "1sq34s5yrljh7fffllsscay7xi11lg03alrkyrh6xfwa2w7cnqmx"; + system = "classimp"; + asd = "classimp"; + } + ); + systems = [ "classimp" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + classimp-samples = ( + build-asdf-system { + pname = "classimp-samples"; + version = "20241012-git"; + asds = [ "classimp-samples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/classimp/2024-10-12/classimp-20241012-git.tgz"; + sha256 = "1sq34s5yrljh7fffllsscay7xi11lg03alrkyrh6xfwa2w7cnqmx"; + system = "classimp-samples"; + asd = "classimp-samples"; + } + ); + systems = [ "classimp-samples" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-glu" self) + (getAttr "cl-glut" self) + (getAttr "cl-ilut" self) + (getAttr "classimp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + classowary = ( + build-asdf-system { + pname = "classowary"; + version = "20231021-git"; + asds = [ "classowary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/classowary/2023-10-21/classowary-20231021-git.tgz"; + sha256 = "099zhf41d4frlrm99ldzypqjh03ijrvfn29f2pb0j6664h65bcsm"; + system = "classowary"; + asd = "classowary"; + } + ); + systems = [ "classowary" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { }; + } + ); + classowary-test = ( + build-asdf-system { + pname = "classowary-test"; + version = "20231021-git"; + asds = [ "classowary-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/classowary/2023-10-21/classowary-20231021-git.tgz"; + sha256 = "099zhf41d4frlrm99ldzypqjh03ijrvfn29f2pb0j6664h65bcsm"; + system = "classowary-test"; + asd = "classowary-test"; + } + ); + systems = [ "classowary-test" ]; + lispLibs = [ + (getAttr "classowary" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clast = ( + build-asdf-system { + pname = "clast"; + version = "20241012-git"; + asds = [ "clast" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clast/2024-10-12/clast-20241012-git.tgz"; + sha256 = "0509hrpd049s62s03wwb2mp24dfw8f0l8cg0vgq3s8wrsch7af2m"; + system = "clast"; + asd = "clast"; + } + ); + systems = [ "clast" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clath = ( + build-asdf-system { + pname = "clath"; + version = "20241012-git"; + asds = [ "clath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clath/2024-10-12/clath-20241012-git.tgz"; + sha256 = "0519jzm8r55am6f5w11pfbyq0bvn8jxkcz33kbrznwrf43xz5fcv"; + system = "clath"; + asd = "clath"; + } + ); + systems = [ "clath" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-hash-util" self) + (getAttr "cl-json" self) + (getAttr "cl-who" self) + (getAttr "clack" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "jose" self) + (getAttr "ningle" self) + (getAttr "north" self) + (getAttr "ubiquitous" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clavatar = ( + build-asdf-system { + pname = "clavatar"; + version = "20121013-git"; + asds = [ "clavatar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clavatar/2012-10-13/clavatar-20121013-git.tgz"; + sha256 = "07r58d4dk5nr3aimrryzbf3jw6580b5gkkbpw74ax4nmm8hz6v5y"; + system = "clavatar"; + asd = "clavatar"; + } + ); + systems = [ "clavatar" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "drakma" self) + (getAttr "iolib" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clavier = ( + build-asdf-system { + pname = "clavier"; + version = "20241012-git"; + asds = [ "clavier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clavier/2024-10-12/clavier-20241012-git.tgz"; + sha256 = "0v81ql9bbnsqaxcrv0ynm82xwifxvc6ysmfrn1lgphn4szx1p230"; + system = "clavier"; + asd = "clavier"; + } + ); + systems = [ "clavier" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "chronicity" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clavier_dot_test = ( + build-asdf-system { + pname = "clavier.test"; + version = "20241012-git"; + asds = [ "clavier.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clavier/2024-10-12/clavier-20241012-git.tgz"; + sha256 = "0v81ql9bbnsqaxcrv0ynm82xwifxvc6ysmfrn1lgphn4szx1p230"; + system = "clavier.test"; + asd = "clavier.test"; + } + ); + systems = [ "clavier.test" ]; + lispLibs = [ + (getAttr "clavier" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + claw = ( + build-asdf-system { + pname = "claw"; + version = "stable-git"; + asds = [ "claw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz"; + sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"; + system = "claw"; + asd = "claw"; + } + ); + systems = [ "claw" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "claw-support" self) + (getAttr "local-time" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + claw-olm = ( + build-asdf-system { + pname = "claw-olm"; + version = "20210531-git"; + asds = [ "claw-olm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/claw-olm/2021-05-31/claw-olm-20210531-git.tgz"; + sha256 = "04r6d8infhcc7vz95asrvlpc0wzkzq1blaza74nd62alakr6mmrr"; + system = "claw-olm"; + asd = "claw-olm"; + } + ); + systems = [ "claw-olm" ]; + lispLibs = [ (getAttr "claw-olm-bindings" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + claw-olm-bindings = ( + build-asdf-system { + pname = "claw-olm-bindings"; + version = "20210531-git"; + asds = [ "claw-olm-bindings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/claw-olm/2021-05-31/claw-olm-20210531-git.tgz"; + sha256 = "04r6d8infhcc7vz95asrvlpc0wzkzq1blaza74nd62alakr6mmrr"; + system = "claw-olm-bindings"; + asd = "claw-olm-bindings"; + } + ); + systems = [ "claw-olm-bindings" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + claw-support = ( + build-asdf-system { + pname = "claw-support"; + version = "stable-git"; + asds = [ "claw-support" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/claw-support/2020-10-16/claw-support-stable-git.tgz"; + sha256 = "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"; + system = "claw-support"; + asd = "claw-support"; + } + ); + systems = [ "claw-support" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + claw-utils = ( + build-asdf-system { + pname = "claw-utils"; + version = "stable-git"; + asds = [ "claw-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/claw-utils/2020-10-16/claw-utils-stable-git.tgz"; + sha256 = "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"; + system = "claw-utils"; + asd = "claw-utils"; + } + ); + systems = [ "claw-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "claw" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clawk = ( + build-asdf-system { + pname = "clawk"; + version = "20200925-git"; + asds = [ "clawk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clawk/2020-09-25/clawk-20200925-git.tgz"; + sha256 = "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"; + system = "clawk"; + asd = "clawk"; + } + ); + systems = [ "clawk" ]; + lispLibs = [ (getAttr "regex" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + claxy = ( + build-asdf-system { + pname = "claxy"; + version = "20220220-git"; + asds = [ "claxy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/claxy/2022-02-20/claxy-20220220-git.tgz"; + sha256 = "1n6zbsfp0zkndw7r3nar8srjj1wmfgngia3p7z756mmsvp1l68va"; + system = "claxy"; + asd = "claxy"; + } + ); + systems = [ "claxy" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "dexador" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clazy = ( + build-asdf-system { + pname = "clazy"; + version = "20241012-git"; + asds = [ "clazy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clazy/2024-10-12/clazy-20241012-git.tgz"; + sha256 = "0z9iy89p4grj2a803nlrnvj335c6knmnlbicpf0b4br41j6q74xj"; + system = "clazy"; + asd = "clazy"; + } + ); + systems = [ "clazy" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clem = ( + build-asdf-system { + pname = "clem"; + version = "20210807-git"; + asds = [ "clem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz"; + sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk"; + system = "clem"; + asd = "clem"; + } + ); + systems = [ "clem" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clem-benchmark = ( + build-asdf-system { + pname = "clem-benchmark"; + version = "20210807-git"; + asds = [ "clem-benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz"; + sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk"; + system = "clem-benchmark"; + asd = "clem-benchmark"; + } + ); + systems = [ "clem-benchmark" ]; + lispLibs = [ (getAttr "clem" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clem-test = ( + build-asdf-system { + pname = "clem-test"; + version = "20210807-git"; + asds = [ "clem-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz"; + sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk"; + system = "clem-test"; + asd = "clem-test"; + } + ); + systems = [ "clem-test" ]; + lispLibs = [ (getAttr "clem" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cleric = ( + build-asdf-system { + pname = "cleric"; + version = "20220220-git"; + asds = [ "cleric" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cleric/2022-02-20/cleric-20220220-git.tgz"; + sha256 = "0a0xqr0bpp0v62f8d13yflz3vz6j4fa9icgc134ajaqxcfa7k0vp"; + system = "cleric"; + asd = "cleric"; + } + ); + systems = [ "cleric" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "com_dot_gigamonkeys_dot_binary-data" self) + (getAttr "epmd" self) + (getAttr "erlang-term" self) + (getAttr "md5" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cleric-test = ( + build-asdf-system { + pname = "cleric-test"; + version = "20220220-git"; + asds = [ "cleric-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cleric/2022-02-20/cleric-20220220-git.tgz"; + sha256 = "0a0xqr0bpp0v62f8d13yflz3vz6j4fa9icgc134ajaqxcfa7k0vp"; + system = "cleric-test"; + asd = "cleric-test"; + } + ); + systems = [ "cleric-test" ]; + lispLibs = [ + (getAttr "cleric" self) + (getAttr "erlang-term-test" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clerk = ( + build-asdf-system { + pname = "clerk"; + version = "20241012-git"; + asds = [ "clerk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clerk/2024-10-12/clerk-20241012-git.tgz"; + sha256 = "0p81ha537bfs8421y74vrvhi1h61f38djr3iwgab30f6sdfj4k8j"; + system = "clerk"; + asd = "clerk"; + } + ); + systems = [ "clerk" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clerk-test = ( + build-asdf-system { + pname = "clerk-test"; + version = "20241012-git"; + asds = [ "clerk-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clerk/2024-10-12/clerk-20241012-git.tgz"; + sha256 = "0p81ha537bfs8421y74vrvhi1h61f38djr3iwgab30f6sdfj4k8j"; + system = "clerk-test"; + asd = "clerk"; + } + ); + systems = [ "clerk-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clesh = ( + build-asdf-system { + pname = "clesh"; + version = "20201220-git"; + asds = [ "clesh" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clesh/2020-12-20/clesh-20201220-git.tgz"; + sha256 = "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"; + system = "clesh"; + asd = "clesh"; + } + ); + systems = [ "clesh" ]; + lispLibs = [ + (getAttr "named-readtables" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clesh-tests = ( + build-asdf-system { + pname = "clesh-tests"; + version = "20201220-git"; + asds = [ "clesh-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clesh/2020-12-20/clesh-20201220-git.tgz"; + sha256 = "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"; + system = "clesh-tests"; + asd = "clesh-tests"; + } + ); + systems = [ "clesh-tests" ]; + lispLibs = [ + (getAttr "clesh" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cletris = ( + build-asdf-system { + pname = "cletris"; + version = "20211020-git"; + asds = [ "cletris" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz"; + sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v"; + system = "cletris"; + asd = "cletris"; + } + ); + systems = [ "cletris" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "pal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cletris-network = ( + build-asdf-system { + pname = "cletris-network"; + version = "20211020-git"; + asds = [ "cletris-network" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz"; + sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v"; + system = "cletris-network"; + asd = "cletris-network"; + } + ); + systems = [ "cletris-network" ]; + lispLibs = [ + (getAttr "cl-log" self) + (getAttr "cl-ppcre" self) + (getAttr "cletris" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cletris-test = ( + build-asdf-system { + pname = "cletris-test"; + version = "20211020-git"; + asds = [ "cletris-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz"; + sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v"; + system = "cletris-test"; + asd = "cletris-test"; + } + ); + systems = [ "cletris-test" ]; + lispLibs = [ + (getAttr "cletris" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clfswm = ( + build-asdf-system { + pname = "clfswm"; + version = "20161204-git"; + asds = [ "clfswm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clfswm/2016-12-04/clfswm-20161204-git.tgz"; + sha256 = "1r84cpcs74avkjw18ckz3r3836xhky2fcf5ypbfmajpjzxwn5dzc"; + system = "clfswm"; + asd = "clfswm"; + } + ); + systems = [ "clfswm" ]; + lispLibs = [ (getAttr "clx" self) ]; + meta = { }; + } + ); + clgplot = ( + build-asdf-system { + pname = "clgplot"; + version = "20241012-git"; + asds = [ "clgplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clgplot/2024-10-12/clgplot-20241012-git.tgz"; + sha256 = "0sl5g33v1lpkjimmcs22f32hgnlfhz0ydd5rgy0ykwb7jf7x3pv7"; + system = "clgplot"; + asd = "clgplot"; + } + ); + systems = [ "clgplot" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clgplot-test = ( + build-asdf-system { + pname = "clgplot-test"; + version = "20241012-git"; + asds = [ "clgplot-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clgplot/2024-10-12/clgplot-20241012-git.tgz"; + sha256 = "0sl5g33v1lpkjimmcs22f32hgnlfhz0ydd5rgy0ykwb7jf7x3pv7"; + system = "clgplot-test"; + asd = "clgplot-test"; + } + ); + systems = [ "clgplot-test" ]; + lispLibs = [ + (getAttr "clgplot" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clhs = ( + build-asdf-system { + pname = "clhs"; + version = "0.6.3"; + asds = [ "clhs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clhs/2015-04-07/clhs-0.6.3.tgz"; + sha256 = "1jffq2w9yql4cvxy2g5c2v402014306qklp4xhddjjlfvs30sfjd"; + system = "clhs"; + asd = "clhs"; + } + ); + systems = [ "clhs" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cli-parser = ( + build-asdf-system { + pname = "cli-parser"; + version = "20150608-git"; + asds = [ "cli-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cli-parser/2015-06-08/cl-cli-parser-20150608-git.tgz"; + sha256 = "0gnpakzakkb2j67v2wh4q87k6mmrv0c0fg56m4vx88kgpxp7f90f"; + system = "cli-parser"; + asd = "cli-parser"; + } + ); + systems = [ "cli-parser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clickr = ( + build-asdf-system { + pname = "clickr"; + version = "20140713-git"; + asds = [ "clickr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clickr/2014-07-13/clickr-20140713-git.tgz"; + sha256 = "0sykp4aaxjf8xcyiqyqs6967f0fna8ahjqi7ij5z79fd530sxz2s"; + system = "clickr"; + asd = "clickr"; + } + ); + systems = [ "clickr" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "md5" self) + (getAttr "s-xml" self) + (getAttr "s-xml-rpc" self) + (getAttr "trivial-http" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim = ( + build-asdf-system { + pname = "clim"; + version = "20241012-git"; + asds = [ "clim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim"; + asd = "clim"; + } + ); + systems = [ "clim" ]; + lispLibs = [ + (getAttr "clim-core" self) + (getAttr "drei-mcclim" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-core = ( + build-asdf-system { + pname = "clim-core"; + version = "20241012-git"; + asds = [ "clim-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-core"; + asd = "clim-core"; + } + ); + systems = [ "clim-core" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "cluffer" self) + (getAttr "spatial-trees" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-debugger = ( + build-asdf-system { + pname = "clim-debugger"; + version = "20241012-git"; + asds = [ "clim-debugger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-debugger"; + asd = "clim-debugger"; + } + ); + systems = [ "clim-debugger" ]; + lispLibs = [ + (getAttr "clouseau" self) + (getAttr "mcclim" self) + (getAttr "slim" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-examples = ( + build-asdf-system { + pname = "clim-examples"; + version = "20241012-git"; + asds = [ "clim-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-examples"; + asd = "clim-examples"; + } + ); + systems = [ "clim-examples" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "clim" self) + (getAttr "closer-mop" self) + (getAttr "lorem-ipsum" self) + (getAttr "mcclim" self) + (getAttr "mcclim-raster-image" self) + (getAttr "mcclim-svg" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-lisp = ( + build-asdf-system { + pname = "clim-lisp"; + version = "20241012-git"; + asds = [ "clim-lisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-lisp"; + asd = "clim-lisp"; + } + ); + systems = [ "clim-lisp" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "cluffer" self) + (getAttr "trivial-features" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-listener = ( + build-asdf-system { + pname = "clim-listener"; + version = "20241012-git"; + asds = [ "clim-listener" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-listener"; + asd = "clim-listener"; + } + ); + systems = [ "clim-listener" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "clim-debugger" self) + (getAttr "mcclim" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-pdf = ( + build-asdf-system { + pname = "clim-pdf"; + version = "20241012-git"; + asds = [ "clim-pdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-pdf"; + asd = "clim-pdf"; + } + ); + systems = [ "clim-pdf" ]; + lispLibs = [ + (getAttr "cl-pdf" self) + (getAttr "cl-pdf-parser" self) + (getAttr "clim" self) + (getAttr "clim-postscript" self) + (getAttr "clim-postscript-font" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-postscript = ( + build-asdf-system { + pname = "clim-postscript"; + version = "20241012-git"; + asds = [ "clim-postscript" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-postscript"; + asd = "clim-postscript"; + } + ); + systems = [ "clim-postscript" ]; + lispLibs = [ + (getAttr "clim" self) + (getAttr "clim-postscript-font" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-postscript-font = ( + build-asdf-system { + pname = "clim-postscript-font"; + version = "20241012-git"; + asds = [ "clim-postscript-font" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clim-postscript-font"; + asd = "clim-postscript-font"; + } + ); + systems = [ "clim-postscript-font" ]; + lispLibs = [ (getAttr "clim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clim-widgets = ( + build-asdf-system { + pname = "clim-widgets"; + version = "20200715-git"; + asds = [ "clim-widgets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clim-widgets/2020-07-15/clim-widgets-20200715-git.tgz"; + sha256 = "0cpr8xn5a33sy75d06b95cfd3b1h9m5iixgg5h4isavpx3aglmy2"; + system = "clim-widgets"; + asd = "clim-widgets"; + } + ); + systems = [ "clim-widgets" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + (getAttr "manifest" self) + (getAttr "mcclim" self) + (getAttr "nsort" self) + (getAttr "perlre" self) + (getAttr "simple-date-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + climacs = ( + build-asdf-system { + pname = "climacs"; + version = "20241012-git"; + asds = [ "climacs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/climacs/2024-10-12/climacs-20241012-git.tgz"; + sha256 = "0swbnsnavwaxpdcdsdag6iadc6v436pawbrzz6p8lkkbmbmc7yf8"; + system = "climacs"; + asd = "climacs"; + } + ); + systems = [ "climacs" ]; + lispLibs = [ + (getAttr "flexichain" self) + (getAttr "mcclim" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + climc = ( + build-asdf-system { + pname = "climc"; + version = "20230214-git"; + asds = [ "climc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/climc/2023-02-14/climc-20230214-git.tgz"; + sha256 = "0wnsyxkff5i4n36rwb5z54j4gi0j9n8459wcm6cj3lg77njmpasb"; + system = "climc"; + asd = "climc"; + } + ); + systems = [ "climc" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-xmpp-tls" self) + (getAttr "mcclim" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + climc-test = ( + build-asdf-system { + pname = "climc-test"; + version = "20230214-git"; + asds = [ "climc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/climc/2023-02-14/climc-20230214-git.tgz"; + sha256 = "0wnsyxkff5i4n36rwb5z54j4gi0j9n8459wcm6cj3lg77njmpasb"; + system = "climc-test"; + asd = "climc-test"; + } + ); + systems = [ "climc-test" ]; + lispLibs = [ + (getAttr "climc" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + climon = ( + build-asdf-system { + pname = "climon"; + version = "20220220-git"; + asds = [ "climon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/climon/2022-02-20/climon-20220220-git.tgz"; + sha256 = "00bdxpzgvmf5yg785xc9454nv7x5n314kywjd0f12mbvrgklb818"; + system = "climon"; + asd = "climon"; + } + ); + systems = [ "climon" ]; + lispLibs = [ (getAttr "pal" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + climon-test = ( + build-asdf-system { + pname = "climon-test"; + version = "20220220-git"; + asds = [ "climon-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/climon/2022-02-20/climon-20220220-git.tgz"; + sha256 = "00bdxpzgvmf5yg785xc9454nv7x5n314kywjd0f12mbvrgklb818"; + system = "climon-test"; + asd = "climon-test"; + } + ); + systems = [ "climon-test" ]; + lispLibs = [ + (getAttr "climon" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clinch = ( + build-asdf-system { + pname = "clinch"; + version = "20180228-git"; + asds = [ "clinch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; + sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; + system = "clinch"; + asd = "clinch"; + } + ); + systems = [ "clinch" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-opengl" self) + (getAttr "rtg-math" self) + (getAttr "sdl2" self) + (getAttr "swank" self) + (getAttr "trivial-channels" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clinch-cairo = ( + build-asdf-system { + pname = "clinch-cairo"; + version = "20180228-git"; + asds = [ "clinch-cairo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; + sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; + system = "clinch-cairo"; + asd = "clinch-cairo"; + } + ); + systems = [ "clinch-cairo" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-cairo2" self) + (getAttr "clinch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clinch-classimp = ( + build-asdf-system { + pname = "clinch-classimp"; + version = "20180228-git"; + asds = [ "clinch-classimp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; + sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; + system = "clinch-classimp"; + asd = "clinch-classimp"; + } + ); + systems = [ "clinch-classimp" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "classimp" self) + (getAttr "clinch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clinch-freeimage = ( + build-asdf-system { + pname = "clinch-freeimage"; + version = "20180228-git"; + asds = [ "clinch-freeimage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; + sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; + system = "clinch-freeimage"; + asd = "clinch-freeimage"; + } + ); + systems = [ "clinch-freeimage" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-freeimage" self) + (getAttr "clinch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clinch-pango = ( + build-asdf-system { + pname = "clinch-pango"; + version = "20180228-git"; + asds = [ "clinch-pango" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz"; + sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik"; + system = "clinch-pango"; + asd = "clinch-pango"; + } + ); + systems = [ "clinch-pango" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-cairo2" self) + (getAttr "cl-pango" self) + (getAttr "clinch" self) + (getAttr "clinch-cairo" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clinenoise = ( + build-asdf-system { + pname = "clinenoise"; + version = "20200427-git"; + asds = [ "clinenoise" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clinenoise/2020-04-27/clinenoise-20200427-git.tgz"; + sha256 = "0ydlirfk4dbpqqjwwph99v5swcrhd8v9g8q24fvs35wn2vm08lh1"; + system = "clinenoise"; + asd = "clinenoise"; + } + ); + systems = [ "clinenoise" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clingon = ( + build-asdf-system { + pname = "clingon"; + version = "20241012-git"; + asds = [ "clingon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; + sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; + system = "clingon"; + asd = "clingon"; + } + ); + systems = [ "clingon" ]; + lispLibs = [ + (getAttr "bobbin" self) + (getAttr "cl-reexport" self) + (getAttr "split-sequence" self) + (getAttr "with-user-abort" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clingon_dot_demo = ( + build-asdf-system { + pname = "clingon.demo"; + version = "20241012-git"; + asds = [ "clingon.demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; + sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; + system = "clingon.demo"; + asd = "clingon.demo"; + } + ); + systems = [ "clingon.demo" ]; + lispLibs = [ (getAttr "clingon" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clingon_dot_intro = ( + build-asdf-system { + pname = "clingon.intro"; + version = "20241012-git"; + asds = [ "clingon.intro" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; + sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; + system = "clingon.intro"; + asd = "clingon.intro"; + } + ); + systems = [ "clingon.intro" ]; + lispLibs = [ (getAttr "clingon" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clingon_dot_test = ( + build-asdf-system { + pname = "clingon.test"; + version = "20241012-git"; + asds = [ "clingon.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clingon/2024-10-12/clingon-20241012-git.tgz"; + sha256 = "0p8i9bkzzy4v0pg15dldrl73xri4kxyxa7si82bawh1dnnm53jgc"; + system = "clingon.test"; + asd = "clingon.test"; + } + ); + systems = [ "clingon.test" ]; + lispLibs = [ + (getAttr "clingon" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clip = ( + build-asdf-system { + pname = "clip"; + version = "20241012-git"; + asds = [ "clip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clip/2024-10-12/clip-20241012-git.tgz"; + sha256 = "1ikzfza4s5xl67bz4vi05hmqmkvs5qr2ycy1f6vi1ihsdvjfify0"; + system = "clip"; + asd = "clip"; + } + ); + systems = [ "clip" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "lquery" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clipper = ( + build-asdf-system { + pname = "clipper"; + version = "20150923-git"; + asds = [ "clipper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clipper/2015-09-23/clipper-20150923-git.tgz"; + sha256 = "0xx1z7xjy2qkb6hx4bjjxcpv180lynpxrmx0741zk0qcxf32y56n"; + system = "clipper"; + asd = "clipper"; + } + ); + systems = [ "clipper" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-syntax-annot" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "fast-io" self) + (getAttr "opticl" self) + (getAttr "quri" self) + (getAttr "split-sequence" self) + (getAttr "zs3" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clipper-test = ( + build-asdf-system { + pname = "clipper-test"; + version = "20150923-git"; + asds = [ "clipper-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clipper/2015-09-23/clipper-20150923-git.tgz"; + sha256 = "0xx1z7xjy2qkb6hx4bjjxcpv180lynpxrmx0741zk0qcxf32y56n"; + system = "clipper-test"; + asd = "clipper-test"; + } + ); + systems = [ "clipper-test" ]; + lispLibs = [ + (getAttr "clipper" self) + (getAttr "integral" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clite = ( + build-asdf-system { + pname = "clite"; + version = "20130615-git"; + asds = [ "clite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clite/2013-06-15/clite-20130615-git.tgz"; + sha256 = "0q73vzm55i7m6in9i3fwwaqxvwm3pr7mm7gh7qsvfya61248ynrz"; + system = "clite"; + asd = "clite"; + } + ); + systems = [ "clite" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clith = ( + build-asdf-system { + pname = "clith"; + version = "20241012-git"; + asds = [ "clith" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clith/2024-10-12/clith-20241012-git.tgz"; + sha256 = "02qfyrnihx9x6nwxgzlh2x6ymz90i524jg8gc5zsy9rcfqj2sfa7"; + system = "clith"; + asd = "clith"; + } + ); + systems = [ "clith" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj = ( + build-asdf-system { + pname = "clj"; + version = "20201220-git"; + asds = [ "clj" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj/2020-12-20/clj-20201220-git.tgz"; + sha256 = "0yic6w2n09w3v2r1dlg9a7z59j9rapj4hpz8whcxlw6zs4wrwib2"; + system = "clj"; + asd = "clj"; + } + ); + systems = [ "clj" ]; + lispLibs = [ + (getAttr "agnostic-lizard" self) + (getAttr "arrow-macros" self) + (getAttr "cl-hamt" self) + (getAttr "local-package-aliases" self) + (getAttr "named-readtables" self) + (getAttr "optima" self) + (getAttr "prove-asdf" self) + (getAttr "test-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj-arrows = ( + build-asdf-system { + pname = "clj-arrows"; + version = "20241012-git"; + asds = [ "clj-arrows" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj-arrows/2024-10-12/clj-arrows-20241012-git.tgz"; + sha256 = "0b0dpjbyk41h32laqa4hwlgximafkjgrgdahabyc3blkg5v7lill"; + system = "clj-arrows"; + asd = "clj-arrows"; + } + ); + systems = [ "clj-arrows" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj-arrows-test = ( + build-asdf-system { + pname = "clj-arrows-test"; + version = "20241012-git"; + asds = [ "clj-arrows-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj-arrows/2024-10-12/clj-arrows-20241012-git.tgz"; + sha256 = "0b0dpjbyk41h32laqa4hwlgximafkjgrgdahabyc3blkg5v7lill"; + system = "clj-arrows-test"; + asd = "clj-arrows-test"; + } + ); + systems = [ "clj-arrows-test" ]; + lispLibs = [ + (getAttr "clj-arrows" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj-con = ( + build-asdf-system { + pname = "clj-con"; + version = "20241012-git"; + asds = [ "clj-con" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj-con/2024-10-12/clj-con-20241012-git.tgz"; + sha256 = "05zjw4ncwwpmckxqv61zhv1lcyfm7w4ic59ypcw5bypxwgkapa7c"; + system = "clj-con"; + asd = "clj-con"; + } + ); + systems = [ "clj-con" ]; + lispLibs = [ + (getAttr "atomics" self) + (getAttr "bordeaux-threads" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj-con-test = ( + build-asdf-system { + pname = "clj-con-test"; + version = "20241012-git"; + asds = [ "clj-con-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj-con/2024-10-12/clj-con-20241012-git.tgz"; + sha256 = "05zjw4ncwwpmckxqv61zhv1lcyfm7w4ic59ypcw5bypxwgkapa7c"; + system = "clj-con-test"; + asd = "clj-con-test"; + } + ); + systems = [ "clj-con-test" ]; + lispLibs = [ + (getAttr "clj-con" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj-re = ( + build-asdf-system { + pname = "clj-re"; + version = "20241012-git"; + asds = [ "clj-re" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj-re/2024-10-12/clj-re-20241012-git.tgz"; + sha256 = "05d0xqnhd50hmvicaq3a08m52c12j7cmxz99mpmk10mp0cv572bl"; + system = "clj-re"; + asd = "clj-re"; + } + ); + systems = [ "clj-re" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clj-re-test = ( + build-asdf-system { + pname = "clj-re-test"; + version = "20241012-git"; + asds = [ "clj-re-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clj-re/2024-10-12/clj-re-20241012-git.tgz"; + sha256 = "05d0xqnhd50hmvicaq3a08m52c12j7cmxz99mpmk10mp0cv572bl"; + system = "clj-re-test"; + asd = "clj-re-test"; + } + ); + systems = [ "clj-re-test" ]; + lispLibs = [ + (getAttr "clj-re" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml = ( + build-asdf-system { + pname = "clml"; + version = "20220220-git"; + asds = [ "clml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml"; + asd = "clml"; + } + ); + systems = [ "clml" ]; + lispLibs = [ + (getAttr "clml_dot_association-rule" self) + (getAttr "clml_dot_blas" self) + (getAttr "clml_dot_classifiers" self) + (getAttr "clml_dot_clustering" self) + (getAttr "clml_dot_data" self) + (getAttr "clml_dot_decision-tree" self) + (getAttr "clml_dot_graph" self) + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_lapack" self) + (getAttr "clml_dot_nearest-search" self) + (getAttr "clml_dot_nonparametric" self) + (getAttr "clml_dot_numeric" self) + (getAttr "clml_dot_pca" self) + (getAttr "clml_dot_som" self) + (getAttr "clml_dot_statistics" self) + (getAttr "clml_dot_svm" self) + (getAttr "clml_dot_text" self) + (getAttr "clml_dot_time-series" self) + (getAttr "clml_dot_utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_association-rule = ( + build-asdf-system { + pname = "clml.association-rule"; + version = "20220220-git"; + asds = [ "clml.association-rule" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.association-rule"; + asd = "clml.association-rule"; + } + ); + systems = [ "clml.association-rule" ]; + lispLibs = [ (getAttr "clml_dot_hjs" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_blas = ( + build-asdf-system { + pname = "clml.blas"; + version = "20220220-git"; + asds = [ "clml.blas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.blas"; + asd = "clml.blas"; + } + ); + systems = [ "clml.blas" ]; + lispLibs = [ + (getAttr "clml_dot_blas_dot_complex" self) + (getAttr "clml_dot_blas_dot_hompack" self) + (getAttr "clml_dot_blas_dot_real" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_blas_dot_complex = ( + build-asdf-system { + pname = "clml.blas.complex"; + version = "20220220-git"; + asds = [ "clml.blas.complex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.blas.complex"; + asd = "clml.blas"; + } + ); + systems = [ "clml.blas.complex" ]; + lispLibs = [ (getAttr "f2cl-lib" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_blas_dot_hompack = ( + build-asdf-system { + pname = "clml.blas.hompack"; + version = "20220220-git"; + asds = [ "clml.blas.hompack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.blas.hompack"; + asd = "clml.blas"; + } + ); + systems = [ "clml.blas.hompack" ]; + lispLibs = [ (getAttr "f2cl-lib" self) ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_blas_dot_real = ( + build-asdf-system { + pname = "clml.blas.real"; + version = "20220220-git"; + asds = [ "clml.blas.real" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.blas.real"; + asd = "clml.blas"; + } + ); + systems = [ "clml.blas.real" ]; + lispLibs = [ (getAttr "f2cl-lib" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_classifiers = ( + build-asdf-system { + pname = "clml.classifiers"; + version = "20220220-git"; + asds = [ "clml.classifiers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.classifiers"; + asd = "clml.classifiers"; + } + ); + systems = [ "clml.classifiers" ]; + lispLibs = [ + (getAttr "clml_dot_clustering" self) + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_svm" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_clustering = ( + build-asdf-system { + pname = "clml.clustering"; + version = "20220220-git"; + asds = [ "clml.clustering" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.clustering"; + asd = "clml.clustering"; + } + ); + systems = [ "clml.clustering" ]; + lispLibs = [ + (getAttr "clml_dot_blas" self) + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_nearest-search" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_data = ( + build-asdf-system { + pname = "clml.data"; + version = "20220220-git"; + asds = [ "clml.data" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.data"; + asd = "clml.data"; + } + ); + systems = [ "clml.data" ]; + lispLibs = [ (getAttr "clml_dot_data_dot_r-datasets" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_data_dot_r-datasets = ( + build-asdf-system { + pname = "clml.data.r-datasets"; + version = "20220220-git"; + asds = [ "clml.data.r-datasets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.data.r-datasets"; + asd = "clml.data.r-datasets"; + } + ); + systems = [ "clml.data.r-datasets" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_utility" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_decision-tree = ( + build-asdf-system { + pname = "clml.decision-tree"; + version = "20220220-git"; + asds = [ "clml.decision-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.decision-tree"; + asd = "clml.decision-tree"; + } + ); + systems = [ "clml.decision-tree" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_docs = ( + build-asdf-system { + pname = "clml.docs"; + version = "20220220-git"; + asds = [ "clml.docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.docs"; + asd = "clml.docs"; + } + ); + systems = [ "clml.docs" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "clml" self) + (getAttr "clod" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_graph = ( + build-asdf-system { + pname = "clml.graph"; + version = "20220220-git"; + asds = [ "clml.graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.graph"; + asd = "clml.graph"; + } + ); + systems = [ "clml.graph" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_statistics" self) + (getAttr "clml_dot_time-series" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_hjs = ( + build-asdf-system { + pname = "clml.hjs"; + version = "20220220-git"; + asds = [ "clml.hjs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.hjs"; + asd = "clml.hjs"; + } + ); + systems = [ "clml.hjs" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "clml_dot_blas" self) + (getAttr "clml_dot_lapack" self) + (getAttr "clml_dot_statistics" self) + (getAttr "clml_dot_utility" self) + (getAttr "future" self) + (getAttr "introspect-environment" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_lapack = ( + build-asdf-system { + pname = "clml.lapack"; + version = "20220220-git"; + asds = [ "clml.lapack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.lapack"; + asd = "clml.lapack"; + } + ); + systems = [ "clml.lapack" ]; + lispLibs = [ + (getAttr "clml_dot_blas" self) + (getAttr "clml_dot_lapack-real" self) + (getAttr "f2cl-lib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_lapack-real = ( + build-asdf-system { + pname = "clml.lapack-real"; + version = "20220220-git"; + asds = [ "clml.lapack-real" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.lapack-real"; + asd = "clml.lapack"; + } + ); + systems = [ "clml.lapack-real" ]; + lispLibs = [ + (getAttr "clml_dot_blas" self) + (getAttr "f2cl-lib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_nearest-search = ( + build-asdf-system { + pname = "clml.nearest-search"; + version = "20220220-git"; + asds = [ "clml.nearest-search" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.nearest-search"; + asd = "clml.nearest-search"; + } + ); + systems = [ "clml.nearest-search" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_nonparametric" self) + (getAttr "clml_dot_pca" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_nonparametric = ( + build-asdf-system { + pname = "clml.nonparametric"; + version = "20220220-git"; + asds = [ "clml.nonparametric" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.nonparametric"; + asd = "clml.nonparametric"; + } + ); + systems = [ "clml.nonparametric" ]; + lispLibs = [ (getAttr "clml_dot_hjs" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_numeric = ( + build-asdf-system { + pname = "clml.numeric"; + version = "20220220-git"; + asds = [ "clml.numeric" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.numeric"; + asd = "clml.numeric"; + } + ); + systems = [ "clml.numeric" ]; + lispLibs = [ (getAttr "clml_dot_hjs" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_pca = ( + build-asdf-system { + pname = "clml.pca"; + version = "20220220-git"; + asds = [ "clml.pca" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.pca"; + asd = "clml.pca"; + } + ); + systems = [ "clml.pca" ]; + lispLibs = [ + (getAttr "clml_dot_decision-tree" self) + (getAttr "clml_dot_hjs" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_pca_dot_examples = ( + build-asdf-system { + pname = "clml.pca.examples"; + version = "20220220-git"; + asds = [ "clml.pca.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.pca.examples"; + asd = "clml.pca"; + } + ); + systems = [ "clml.pca.examples" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_pca" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_som = ( + build-asdf-system { + pname = "clml.som"; + version = "20220220-git"; + asds = [ "clml.som" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.som"; + asd = "clml.som"; + } + ); + systems = [ "clml.som" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_statistics" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_som_dot_example = ( + build-asdf-system { + pname = "clml.som.example"; + version = "20220220-git"; + asds = [ "clml.som.example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.som.example"; + asd = "clml.som"; + } + ); + systems = [ "clml.som.example" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_som" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_statistics = ( + build-asdf-system { + pname = "clml.statistics"; + version = "20220220-git"; + asds = [ "clml.statistics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.statistics"; + asd = "clml.statistics"; + } + ); + systems = [ "clml.statistics" ]; + lispLibs = [ (getAttr "clml_dot_statistics_dot_rand" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_statistics_dot_rand = ( + build-asdf-system { + pname = "clml.statistics.rand"; + version = "20220220-git"; + asds = [ "clml.statistics.rand" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.statistics.rand"; + asd = "clml.statistics.rand"; + } + ); + systems = [ "clml.statistics.rand" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_svm = ( + build-asdf-system { + pname = "clml.svm"; + version = "20220220-git"; + asds = [ "clml.svm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.svm"; + asd = "clml.svm"; + } + ); + systems = [ "clml.svm" ]; + lispLibs = [ + (getAttr "clml_dot_decision-tree" self) + (getAttr "clml_dot_hjs" self) + (getAttr "future" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_svm_dot_examples = ( + build-asdf-system { + pname = "clml.svm.examples"; + version = "20220220-git"; + asds = [ "clml.svm.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.svm.examples"; + asd = "clml.svm"; + } + ); + systems = [ "clml.svm.examples" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_svm" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_test = ( + build-asdf-system { + pname = "clml.test"; + version = "20220220-git"; + asds = [ "clml.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.test"; + asd = "clml.test"; + } + ); + systems = [ "clml.test" ]; + lispLibs = [ + (getAttr "clml" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_text = ( + build-asdf-system { + pname = "clml.text"; + version = "20220220-git"; + asds = [ "clml.text" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.text"; + asd = "clml.text"; + } + ); + systems = [ "clml.text" ]; + lispLibs = [ + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_nonparametric" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_time-series = ( + build-asdf-system { + pname = "clml.time-series"; + version = "20220220-git"; + asds = [ "clml.time-series" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.time-series"; + asd = "clml.time-series"; + } + ); + systems = [ "clml.time-series" ]; + lispLibs = [ + (getAttr "array-operations" self) + (getAttr "clml_dot_hjs" self) + (getAttr "clml_dot_numeric" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clml_dot_utility = ( + build-asdf-system { + pname = "clml.utility"; + version = "20220220-git"; + asds = [ "clml.utility" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "clml.utility"; + asd = "clml.utility"; + } + ); + systems = [ "clml.utility" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "iterate" self) + (getAttr "parse-number" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clnuplot = ( + build-asdf-system { + pname = "clnuplot"; + version = "20130128-darcs"; + asds = [ "clnuplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clnuplot/2013-01-28/clnuplot-20130128-darcs.tgz"; + sha256 = "0yfaay5idv9lq4ilafj305sg349c960n3q400kdayr0gda6pqlqr"; + system = "clnuplot"; + asd = "clnuplot"; + } + ); + systems = [ "clnuplot" ]; + lispLibs = [ + (getAttr "cl-containers" self) + (getAttr "cl-mathstats" self) + (getAttr "metabang-bind" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clobber = ( + build-asdf-system { + pname = "clobber"; + version = "20241012-git"; + asds = [ "clobber" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clobber/2024-10-12/clobber-20241012-git.tgz"; + sha256 = "1n6j9q0czrzigw7vfahlylm1g8hmk7b1wm84jm94cgl8r5r3s8ra"; + system = "clobber"; + asd = "clobber"; + } + ); + systems = [ "clobber" ]; + lispLibs = [ (getAttr "clobber-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clobber-base = ( + build-asdf-system { + pname = "clobber-base"; + version = "20241012-git"; + asds = [ "clobber-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clobber/2024-10-12/clobber-20241012-git.tgz"; + sha256 = "1n6j9q0czrzigw7vfahlylm1g8hmk7b1wm84jm94cgl8r5r3s8ra"; + system = "clobber-base"; + asd = "clobber-base"; + } + ); + systems = [ "clobber-base" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clobber-test = ( + build-asdf-system { + pname = "clobber-test"; + version = "20241012-git"; + asds = [ "clobber-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clobber/2024-10-12/clobber-20241012-git.tgz"; + sha256 = "1n6j9q0czrzigw7vfahlylm1g8hmk7b1wm84jm94cgl8r5r3s8ra"; + system = "clobber-test"; + asd = "clobber-test"; + } + ); + systems = [ "clobber-test" ]; + lispLibs = [ (getAttr "clobber" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clod = ( + build-asdf-system { + pname = "clod"; + version = "20190307-hg"; + asds = [ "clod" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clod/2019-03-07/clod-20190307-hg.tgz"; + sha256 = "0sdlr6jlqnbiyf06648zhq8dpni3zy0n5rwjcrvm4hw7vcy8vhy1"; + system = "clod"; + asd = "clod"; + } + ); + systems = [ "clod" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clods-export = ( + build-asdf-system { + pname = "clods-export"; + version = "20210411-git"; + asds = [ "clods-export" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clods-export/2021-04-11/clods-export-20210411-git.tgz"; + sha256 = "1bbzrl855qjs88ni548filghb2y8fvklkik22amwzi6dbzvq48qx"; + system = "clods-export"; + asd = "clods-export"; + } + ); + systems = [ "clods-export" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cxml" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clog = ( + build-asdf-system { + pname = "clog"; + version = "20241012-git"; + asds = [ "clog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog/2024-10-12/clog-20241012-git.tgz"; + sha256 = "0hqpj9ji7kfqgcxdfnc7x202qzmb7zdkmjwcyhdllqs6b0ssw5lx"; + system = "clog"; + asd = "clog"; + } + ); + systems = [ "clog" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "atomics" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-dbi" self) + (getAttr "cl-isaac" self) + (getAttr "cl-pass" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-template" self) + (getAttr "clack" self) + (getAttr "closer-mop" self) + (getAttr "hunchentoot" self) + (getAttr "lack-middleware-static" self) + (getAttr "lack-request" self) + (getAttr "lack-util-writer-stream" self) + (getAttr "mgl-pax" self) + (getAttr "parse-float" self) + (getAttr "quri" self) + (getAttr "sqlite" self) + (getAttr "trivial-gray-streams" self) + (getAttr "websocket-driver" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clog-ace = ( + build-asdf-system { + pname = "clog-ace"; + version = "20241012-git"; + asds = [ "clog-ace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog-ace/2024-10-12/clog-ace-20241012-git.tgz"; + sha256 = "01hwaiccy5i81w22kya00jscgpjw6iib2hnklqwky88i35kbb4sj"; + system = "clog-ace"; + asd = "clog-ace"; + } + ); + systems = [ "clog-ace" ]; + lispLibs = [ (getAttr "clog" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clog-collection = ( + build-asdf-system { + pname = "clog-collection"; + version = "20241012-git"; + asds = [ "clog-collection" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog-collection/2024-10-12/clog-collection-20241012-git.tgz"; + sha256 = "0f6rw9sla5f7jglbisving0c97vz3a5bbn59li0jzngqp8rqwsqx"; + system = "clog-collection"; + asd = "clog-collection"; + } + ); + systems = [ "clog-collection" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "clog" self) + (getAttr "iterate" self) + (getAttr "literate-lisp" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clog-plotly = ( + build-asdf-system { + pname = "clog-plotly"; + version = "20241012-git"; + asds = [ "clog-plotly" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog-plotly/2024-10-12/clog-plotly-20241012-git.tgz"; + sha256 = "064fhfhh5nr1g9f4pn9x2ydmxdnxmvyxhwgbl3dgqm416scjzzs1"; + system = "clog-plotly"; + asd = "clog-plotly"; + } + ); + systems = [ "clog-plotly" ]; + lispLibs = [ (getAttr "clog" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clog-terminal = ( + build-asdf-system { + pname = "clog-terminal"; + version = "20241012-git"; + asds = [ "clog-terminal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog-terminal/2024-10-12/clog-terminal-20241012-git.tgz"; + sha256 = "1pvrja8fvdzqmiqzl23lb7665vcpx9lhwxahns81wlykkyx7cjd5"; + system = "clog-terminal"; + asd = "clog-terminal"; + } + ); + systems = [ "clog-terminal" ]; + lispLibs = [ (getAttr "clog" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clohost = ( + build-asdf-system { + pname = "clohost"; + version = "20241012-git"; + asds = [ "clohost" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clohost/2024-10-12/clohost-20241012-git.tgz"; + sha256 = "1qph7nrjb62qxwkv5wbzqkycdavsjvi39b97qvs5g8jsrvbl50lh"; + system = "clohost"; + asd = "clohost"; + } + ); + systems = [ "clohost" ]; + lispLibs = [ + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "crypto-shortcuts" self) + (getAttr "documentation-utils" self) + (getAttr "drakma" self) + (getAttr "trivial-mimes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clonsigna = ( + build-asdf-system { + pname = "clonsigna"; + version = "20120909-git"; + asds = [ "clonsigna" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clonsigna/2012-09-09/clonsigna-20120909-git.tgz"; + sha256 = "052vdch0q07sx3j615qgw8z536fmqz8fm3qv7f298ql3wcskrj7j"; + system = "clonsigna"; + asd = "clonsigna"; + } + ); + systems = [ "clonsigna" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "iolib" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clop = ( + build-asdf-system { + pname = "clop"; + version = "v1.0.1"; + asds = [ "clop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clop/2022-02-20/clop-v1.0.1.tgz"; + sha256 = "1q7rlizr8gcbfz4a9660gdbw7d2zbld18akjpibg54j7jh5kb8gc"; + system = "clop"; + asd = "clop"; + } + ); + systems = [ "clop" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + (getAttr "local-time" self) + (getAttr "parse-number" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clop-tests = ( + build-asdf-system { + pname = "clop-tests"; + version = "v1.0.1"; + asds = [ "clop-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clop/2022-02-20/clop-v1.0.1.tgz"; + sha256 = "1q7rlizr8gcbfz4a9660gdbw7d2zbld18akjpibg54j7jh5kb8gc"; + system = "clop-tests"; + asd = "clop"; + } + ); + systems = [ "clop-tests" ]; + lispLibs = [ + (getAttr "clop" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clos-diff = ( + build-asdf-system { + pname = "clos-diff"; + version = "20150608-git"; + asds = [ "clos-diff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clos-diff/2015-06-08/clos-diff-20150608-git.tgz"; + sha256 = "0y6chxzqwwwkrrmxxb74wwci6i4ck6i3fq36w9gl03qbrksfyjkz"; + system = "clos-diff"; + asd = "clos-diff"; + } + ); + systems = [ "clos-diff" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clos-encounters = ( + build-asdf-system { + pname = "clos-encounters"; + version = "20241012-git"; + asds = [ "clos-encounters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clos-encounters/2024-10-12/clos-encounters-20241012-git.tgz"; + sha256 = "021ygh6s5qb7l155bcp9qv1w2dhq9csscasp77vjlms1ahpq9ixf"; + system = "clos-encounters"; + asd = "clos-encounters"; + } + ); + systems = [ "clos-encounters" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clos-fixtures = ( + build-asdf-system { + pname = "clos-fixtures"; + version = "20160825-git"; + asds = [ "clos-fixtures" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clos-fixtures/2016-08-25/clos-fixtures-20160825-git.tgz"; + sha256 = "1a3yvqszdwnsnk5hr4zrdpaqxb8vlxpl2nhxjl0j97fnmfaiqjhk"; + system = "clos-fixtures"; + asd = "clos-fixtures"; + } + ); + systems = [ "clos-fixtures" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clos-fixtures-test = ( + build-asdf-system { + pname = "clos-fixtures-test"; + version = "20160825-git"; + asds = [ "clos-fixtures-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clos-fixtures/2016-08-25/clos-fixtures-20160825-git.tgz"; + sha256 = "1a3yvqszdwnsnk5hr4zrdpaqxb8vlxpl2nhxjl0j97fnmfaiqjhk"; + system = "clos-fixtures-test"; + asd = "clos-fixtures-test"; + } + ); + systems = [ "clos-fixtures-test" ]; + lispLibs = [ + (getAttr "clos-fixtures" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + closer-mop = ( + build-asdf-system { + pname = "closer-mop"; + version = "20241012-git"; + asds = [ "closer-mop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/closer-mop/2024-10-12/closer-mop-20241012-git.tgz"; + sha256 = "1affaqh0sm1phs6qa12vbhf69abssjcpy55cwf4fi4nd6hgcrfqr"; + system = "closer-mop"; + asd = "closer-mop"; + } + ); + systems = [ "closer-mop" ]; + lispLibs = [ ]; + meta = { }; + } + ); + closure-common = ( + build-asdf-system { + pname = "closure-common"; + version = "20181018-git"; + asds = [ "closure-common" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/closure-common/2018-10-18/closure-common-20181018-git.tgz"; + sha256 = "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"; + system = "closure-common"; + asd = "closure-common"; + } + ); + systems = [ "closure-common" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + closure-html = ( + build-asdf-system { + pname = "closure-html"; + version = "20180711-git"; + asds = [ "closure-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/closure-html/2018-07-11/closure-html-20180711-git.tgz"; + sha256 = "105vm29qnxh6zj3rh4jwpm8dyp3b9bsva64c8a78cr270p28d032"; + system = "closure-html"; + asd = "closure-html"; + } + ); + systems = [ "closure-html" ]; + lispLibs = [ + (getAttr "closure-common" self) + (getAttr "flexi-streams" self) + ]; + meta = { }; + } + ); + closure-template = ( + build-asdf-system { + pname = "closure-template"; + version = "20150804-git"; + asds = [ "closure-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-closure-template/2015-08-04/cl-closure-template-20150804-git.tgz"; + sha256 = "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv"; + system = "closure-template"; + asd = "closure-template"; + } + ); + systems = [ "closure-template" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "closer-mop" self) + (getAttr "esrap" self) + (getAttr "iterate" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + closure-template-test = ( + build-asdf-system { + pname = "closure-template-test"; + version = "20150804-git"; + asds = [ "closure-template-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-closure-template/2015-08-04/cl-closure-template-20150804-git.tgz"; + sha256 = "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv"; + system = "closure-template-test"; + asd = "closure-template"; + } + ); + systems = [ "closure-template-test" ]; + lispLibs = [ + (getAttr "closure-template" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clouchdb = ( + build-asdf-system { + pname = "clouchdb"; + version = "0.0.16"; + asds = [ "clouchdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clouchdb/2012-04-07/clouchdb_0.0.16.tgz"; + sha256 = "1zfk4wkz0k5gbfznnbds0gcpc2y08p47rq7mhchf27v6rqg4kd7d"; + system = "clouchdb"; + asd = "clouchdb"; + } + ); + systems = [ "clouchdb" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "parenscript" self) + (getAttr "s-base64" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clouchdb-examples = ( + build-asdf-system { + pname = "clouchdb-examples"; + version = "0.0.16"; + asds = [ "clouchdb-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clouchdb/2012-04-07/clouchdb_0.0.16.tgz"; + sha256 = "1zfk4wkz0k5gbfznnbds0gcpc2y08p47rq7mhchf27v6rqg4kd7d"; + system = "clouchdb-examples"; + asd = "clouchdb-examples"; + } + ); + systems = [ "clouchdb-examples" ]; + lispLibs = [ + (getAttr "clouchdb" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clouseau = ( + build-asdf-system { + pname = "clouseau"; + version = "20241012-git"; + asds = [ "clouseau" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "clouseau"; + asd = "clouseau"; + } + ); + systems = [ "clouseau" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "mcclim" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clpython = ( + build-asdf-system { + pname = "clpython"; + version = "20220331-git"; + asds = [ "clpython" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-python/2022-03-31/cl-python-20220331-git.tgz"; + sha256 = "1liskpyfd8rbqn45xbymwvh4vic05pyvvf3hnq2ybyixwnkan9i9"; + system = "clpython"; + asd = "clpython"; + } + ); + systems = [ "clpython" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "closer-mop" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql = ( + build-asdf-system { + pname = "clsql"; + version = "20221106-git"; + asds = [ "clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql"; + asd = "clsql"; + } + ); + systems = [ "clsql" ]; + lispLibs = [ (getAttr "uffi" self) ]; + meta = { }; + } + ); + clsql-aodbc = ( + build-asdf-system { + pname = "clsql-aodbc"; + version = "20221106-git"; + asds = [ "clsql-aodbc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-aodbc"; + asd = "clsql-aodbc"; + } + ); + systems = [ "clsql-aodbc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-cffi = ( + build-asdf-system { + pname = "clsql-cffi"; + version = "20221106-git"; + asds = [ "clsql-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-cffi"; + asd = "clsql-cffi"; + } + ); + systems = [ "clsql-cffi" ]; + lispLibs = [ (getAttr "clsql" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-fluid = ( + build-asdf-system { + pname = "clsql-fluid"; + version = "20170830-git"; + asds = [ "clsql-fluid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-fluid/2017-08-30/clsql-fluid-20170830-git.tgz"; + sha256 = "0i7x1xbh83wfr3k4ddsdy57yf0nqfhdxcbwv1na1ina6m5javg11"; + system = "clsql-fluid"; + asd = "clsql-fluid"; + } + ); + systems = [ "clsql-fluid" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "clsql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-helper = ( + build-asdf-system { + pname = "clsql-helper"; + version = "20180131-git"; + asds = [ "clsql-helper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; + sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; + system = "clsql-helper"; + asd = "clsql-helper"; + } + ); + systems = [ "clsql-helper" ]; + lispLibs = [ + (getAttr "access" self) + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "clsql" self) + (getAttr "collectors" self) + (getAttr "iterate" self) + (getAttr "md5" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-helper-slot-coercer = ( + build-asdf-system { + pname = "clsql-helper-slot-coercer"; + version = "20180131-git"; + asds = [ "clsql-helper-slot-coercer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; + sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; + system = "clsql-helper-slot-coercer"; + asd = "clsql-helper-slot-coercer"; + } + ); + systems = [ "clsql-helper-slot-coercer" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "clsql-helper" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-helper-slot-coercer-test = ( + build-asdf-system { + pname = "clsql-helper-slot-coercer-test"; + version = "20180131-git"; + asds = [ "clsql-helper-slot-coercer-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; + sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; + system = "clsql-helper-slot-coercer-test"; + asd = "clsql-helper-slot-coercer"; + } + ); + systems = [ "clsql-helper-slot-coercer-test" ]; + lispLibs = [ + (getAttr "clsql-helper-slot-coercer" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-helper-test = ( + build-asdf-system { + pname = "clsql-helper-test"; + version = "20180131-git"; + asds = [ "clsql-helper-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz"; + sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g"; + system = "clsql-helper-test"; + asd = "clsql-helper"; + } + ); + systems = [ "clsql-helper-test" ]; + lispLibs = [ + (getAttr "clsql-helper" self) + (getAttr "clsql-tests" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-local-time = ( + build-asdf-system { + pname = "clsql-local-time"; + version = "20201016-git"; + asds = [ "clsql-local-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-local-time/2020-10-16/clsql-local-time-20201016-git.tgz"; + sha256 = "1ipv6ij1md5mw44cbif31hiccrric3302rhssj8f7kg3s8n6mphv"; + system = "clsql-local-time"; + asd = "clsql-local-time"; + } + ); + systems = [ "clsql-local-time" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-mysql = ( + build-asdf-system { + pname = "clsql-mysql"; + version = "20221106-git"; + asds = [ "clsql-mysql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-mysql"; + asd = "clsql-mysql"; + } + ); + systems = [ "clsql-mysql" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-uffi" self) + (getAttr "uffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-odbc = ( + build-asdf-system { + pname = "clsql-odbc"; + version = "20221106-git"; + asds = [ "clsql-odbc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-odbc"; + asd = "clsql-odbc"; + } + ); + systems = [ "clsql-odbc" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-uffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-orm = ( + build-asdf-system { + pname = "clsql-orm"; + version = "20160208-git"; + asds = [ "clsql-orm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql-orm/2016-02-08/clsql-orm-20160208-git.tgz"; + sha256 = "1y9604k0mj8h03p85l5nrjkihr3yfj5fp910db9f4ksd1ln2qkka"; + system = "clsql-orm"; + asd = "clsql-orm"; + } + ); + systems = [ "clsql-orm" ]; + lispLibs = [ + (getAttr "cl-inflector" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "clsql" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-postgresql = ( + build-asdf-system { + pname = "clsql-postgresql"; + version = "20221106-git"; + asds = [ "clsql-postgresql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-postgresql"; + asd = "clsql-postgresql"; + } + ); + systems = [ "clsql-postgresql" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-uffi" self) + ]; + meta = { }; + } + ); + clsql-postgresql-socket = ( + build-asdf-system { + pname = "clsql-postgresql-socket"; + version = "20221106-git"; + asds = [ "clsql-postgresql-socket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-postgresql-socket"; + asd = "clsql-postgresql-socket"; + } + ); + systems = [ "clsql-postgresql-socket" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "md5" self) + (getAttr "uffi" self) + ]; + meta = { }; + } + ); + clsql-postgresql-socket3 = ( + build-asdf-system { + pname = "clsql-postgresql-socket3"; + version = "20221106-git"; + asds = [ "clsql-postgresql-socket3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-postgresql-socket3"; + asd = "clsql-postgresql-socket3"; + } + ); + systems = [ "clsql-postgresql-socket3" ]; + lispLibs = [ + (getAttr "cl-postgres" self) + (getAttr "clsql" self) + (getAttr "md5" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-sqlite = ( + build-asdf-system { + pname = "clsql-sqlite"; + version = "20221106-git"; + asds = [ "clsql-sqlite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-sqlite"; + asd = "clsql-sqlite"; + } + ); + systems = [ "clsql-sqlite" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-uffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-sqlite3 = ( + build-asdf-system { + pname = "clsql-sqlite3"; + version = "20221106-git"; + asds = [ "clsql-sqlite3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-sqlite3"; + asd = "clsql-sqlite3"; + } + ); + systems = [ "clsql-sqlite3" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-uffi" self) + ]; + meta = { }; + } + ); + clsql-tests = ( + build-asdf-system { + pname = "clsql-tests"; + version = "20221106-git"; + asds = [ "clsql-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-tests"; + asd = "clsql-tests"; + } + ); + systems = [ "clsql-tests" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "rt" self) + (getAttr "uffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clsql-uffi = ( + build-asdf-system { + pname = "clsql-uffi"; + version = "20221106-git"; + asds = [ "clsql-uffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clsql/2022-11-06/clsql-20221106-git.tgz"; + sha256 = "15kxrjv88ai9nvzxswa6rp8dbd1ad3816r4c5zb8xynsd8i5vpz0"; + system = "clsql-uffi"; + asd = "clsql-uffi"; + } + ); + systems = [ "clsql-uffi" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "uffi" self) + ]; + meta = { }; + } + ); + clss = ( + build-asdf-system { + pname = "clss"; + version = "20241012-git"; + asds = [ "clss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clss/2024-10-12/clss-20241012-git.tgz"; + sha256 = "1l2yq6wi8wmb7l8fy6w4xb3mb2yd9d14ijgqdsbnwb5k2hbmndbf"; + system = "clss"; + asd = "clss"; + } + ); + systems = [ "clss" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "plump" self) + ]; + meta = { }; + } + ); + cltcl = ( + build-asdf-system { + pname = "cltcl"; + version = "20161204-git"; + asds = [ "cltcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cltcl/2016-12-04/cltcl-20161204-git.tgz"; + sha256 = "18b7fa7m9h9xfhnkxa6r3xzj86p1fvq0mh5q8vdrdv3vxfyc2l68"; + system = "cltcl"; + asd = "cltcl"; + } + ); + systems = [ "cltcl" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cluffer = ( + build-asdf-system { + pname = "cluffer"; + version = "20241012-git"; + asds = [ "cluffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer"; + asd = "cluffer"; + } + ); + systems = [ "cluffer" ]; + lispLibs = [ + (getAttr "cluffer-base" self) + (getAttr "cluffer-simple-buffer" self) + (getAttr "cluffer-simple-line" self) + (getAttr "cluffer-standard-buffer" self) + (getAttr "cluffer-standard-line" self) + ]; + meta = { }; + } + ); + cluffer-base = ( + build-asdf-system { + pname = "cluffer-base"; + version = "20241012-git"; + asds = [ "cluffer-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer-base"; + asd = "cluffer-base"; + } + ); + systems = [ "cluffer-base" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cluffer-simple-buffer = ( + build-asdf-system { + pname = "cluffer-simple-buffer"; + version = "20241012-git"; + asds = [ "cluffer-simple-buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer-simple-buffer"; + asd = "cluffer-simple-buffer"; + } + ); + systems = [ "cluffer-simple-buffer" ]; + lispLibs = [ (getAttr "cluffer-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cluffer-simple-line = ( + build-asdf-system { + pname = "cluffer-simple-line"; + version = "20241012-git"; + asds = [ "cluffer-simple-line" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer-simple-line"; + asd = "cluffer-simple-line"; + } + ); + systems = [ "cluffer-simple-line" ]; + lispLibs = [ (getAttr "cluffer-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cluffer-standard-buffer = ( + build-asdf-system { + pname = "cluffer-standard-buffer"; + version = "20241012-git"; + asds = [ "cluffer-standard-buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer-standard-buffer"; + asd = "cluffer-standard-buffer"; + } + ); + systems = [ "cluffer-standard-buffer" ]; + lispLibs = [ + (getAttr "cluffer-base" self) + (getAttr "clump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cluffer-standard-line = ( + build-asdf-system { + pname = "cluffer-standard-line"; + version = "20241012-git"; + asds = [ "cluffer-standard-line" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer-standard-line"; + asd = "cluffer-standard-line"; + } + ); + systems = [ "cluffer-standard-line" ]; + lispLibs = [ (getAttr "cluffer-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cluffer-test = ( + build-asdf-system { + pname = "cluffer-test"; + version = "20241012-git"; + asds = [ "cluffer-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cluffer/2024-10-12/cluffer-20241012-git.tgz"; + sha256 = "1q5232v9vkjmiks2ciqj1fa1h3gh53rfhl301wp46jwra3r7qqyg"; + system = "cluffer-test"; + asd = "cluffer-test"; + } + ); + systems = [ "cluffer-test" ]; + lispLibs = [ (getAttr "cluffer" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clump = ( + build-asdf-system { + pname = "clump"; + version = "20160825-git"; + asds = [ "clump" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; + sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; + system = "clump"; + asd = "clump"; + } + ); + systems = [ "clump" ]; + lispLibs = [ + (getAttr "clump-2-3-tree" self) + (getAttr "clump-binary-tree" self) + ]; + meta = { }; + } + ); + clump-2-3-tree = ( + build-asdf-system { + pname = "clump-2-3-tree"; + version = "20160825-git"; + asds = [ "clump-2-3-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; + sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; + system = "clump-2-3-tree"; + asd = "clump-2-3-tree"; + } + ); + systems = [ "clump-2-3-tree" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { }; + } + ); + clump-binary-tree = ( + build-asdf-system { + pname = "clump-binary-tree"; + version = "20160825-git"; + asds = [ "clump-binary-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; + sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; + system = "clump-binary-tree"; + asd = "clump-binary-tree"; + } + ); + systems = [ "clump-binary-tree" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { }; + } + ); + clump-test = ( + build-asdf-system { + pname = "clump-test"; + version = "20160825-git"; + asds = [ "clump-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz"; + sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"; + system = "clump-test"; + asd = "clump-test"; + } + ); + systems = [ "clump-test" ]; + lispLibs = [ (getAttr "clump" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clunit = ( + build-asdf-system { + pname = "clunit"; + version = "20171019-git"; + asds = [ "clunit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clunit/2017-10-19/clunit-20171019-git.tgz"; + sha256 = "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"; + system = "clunit"; + asd = "clunit"; + } + ); + systems = [ "clunit" ]; + lispLibs = [ ]; + meta = { }; + } + ); + clunit2 = ( + build-asdf-system { + pname = "clunit2"; + version = "20241012-git"; + asds = [ "clunit2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clunit2/2024-10-12/clunit2-20241012-git.tgz"; + sha256 = "03k4wc2zz31wcqcxy8fhq095i8xzcaxrzgrlrn2va10lcjs4v51b"; + system = "clunit2"; + asd = "clunit2"; + } + ); + systems = [ "clunit2" ]; + lispLibs = [ ]; + meta = { }; + } + ); + clustered-intset = ( + build-asdf-system { + pname = "clustered-intset"; + version = "20220707-git"; + asds = [ "clustered-intset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clustered-intset/2022-07-07/clustered-intset-20220707-git.tgz"; + sha256 = "035s2gn59l8389b0ypnb4qna7zplz9rxk05aw88qf8g4b7wyba1h"; + system = "clustered-intset"; + asd = "clustered-intset"; + } + ); + systems = [ "clustered-intset" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clustered-intset-test = ( + build-asdf-system { + pname = "clustered-intset-test"; + version = "20220707-git"; + asds = [ "clustered-intset-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clustered-intset/2022-07-07/clustered-intset-20220707-git.tgz"; + sha256 = "035s2gn59l8389b0ypnb4qna7zplz9rxk05aw88qf8g4b7wyba1h"; + system = "clustered-intset-test"; + asd = "clustered-intset-test"; + } + ); + systems = [ "clustered-intset-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "clustered-intset" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clusters = ( + build-asdf-system { + pname = "clusters"; + version = "20220331-git"; + asds = [ "clusters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clusters/2022-03-31/clusters-20220331-git.tgz"; + sha256 = "1x78ihrrah0rrb2ddxmxqcqpkswdvb3f0via56bkf1f3f5kqmsb8"; + system = "clusters"; + asd = "clusters"; + } + ); + systems = [ "clusters" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-data-structures" self) + (getAttr "documentation-utils-extensions" self) + (getAttr "iterate" self) + (getAttr "lparallel" self) + (getAttr "metabang-bind" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clusters-tests = ( + build-asdf-system { + pname = "clusters-tests"; + version = "20220331-git"; + asds = [ "clusters-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clusters/2022-03-31/clusters-20220331-git.tgz"; + sha256 = "1x78ihrrah0rrb2ddxmxqcqpkswdvb3f0via56bkf1f3f5kqmsb8"; + system = "clusters-tests"; + asd = "clusters-tests"; + } + ); + systems = [ "clusters-tests" ]; + lispLibs = [ + (getAttr "clusters" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clutter = ( + build-asdf-system { + pname = "clutter"; + version = "v1.0.0"; + asds = [ "clutter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clutter/2021-10-20/clutter-v1.0.0.tgz"; + sha256 = "1q9mg4d0nja9ypm13i24wymhjwziw6n7r7p1dzw6xc5zhavqsni7"; + system = "clutter"; + asd = "clutter"; + } + ); + systems = [ "clutter" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "doplus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clweb = ( + build-asdf-system { + pname = "clweb"; + version = "20201220-git"; + asds = [ "clweb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clweb/2020-12-20/clweb-20201220-git.tgz"; + sha256 = "0hqyrglgsgal5s8f0n247hg0hqlw6l6w1r5i8lzf0a0xvcz49f48"; + system = "clweb"; + asd = "clweb"; + } + ); + systems = [ "clweb" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clws = ( + build-asdf-system { + pname = "clws"; + version = "20130813-git"; + asds = [ "clws" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clws/2013-08-13/clws-20130813-git.tgz"; + sha256 = "1svj025zwsbkb0hrbz1nj0x306hkhy9xinq0x1qdflc9vg169dh6"; + system = "clws"; + asd = "clws"; + } + ); + systems = [ "clws" ]; + lispLibs = [ + (getAttr "chunga" self) + (getAttr "cl-base64" self) + (getAttr "flexi-streams" self) + (getAttr "iolib" self) + (getAttr "ironclad" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + clx = ( + build-asdf-system { + pname = "clx"; + version = "20241012-git"; + asds = [ "clx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clx/2024-10-12/clx-20241012-git.tgz"; + sha256 = "16l0badm7dxwi7x5ynk1scrbrilnxi1nzz79h1v15xi6b41pf65w"; + system = "clx"; + asd = "clx"; + } + ); + systems = [ "clx" ]; + lispLibs = [ ]; + meta = { }; + } + ); + cmake-parser = ( + build-asdf-system { + pname = "cmake-parser"; + version = "20180831-git"; + asds = [ "cmake-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cmake-parser/2018-08-31/cmake-parser-20180831-git.tgz"; + sha256 = "1sb5pwxhg7k41202kvxj1b60c5pxnl0mfbqdz53xayddngn2brgl"; + system = "cmake-parser"; + asd = "cmake-parser"; + } + ); + systems = [ "cmake-parser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cmark = ( + build-asdf-system { + pname = "cmark"; + version = "20241012-git"; + asds = [ "cmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cmark/2024-10-12/cl-cmark-20241012-git.tgz"; + sha256 = "1l4i530161ppfz0wn1da7g7dwf644ppp1afrq2p7qfkajm7dcfg5"; + system = "cmark"; + asd = "cmark"; + } + ); + systems = [ "cmark" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "flexi-streams" self) + (getAttr "libcmark" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cmd = ( + build-asdf-system { + pname = "cmd"; + version = "20241012-git"; + asds = [ "cmd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cmd/2024-10-12/cmd-20241012-git.tgz"; + sha256 = "0rs2priccm34yx8cj29214i4bwa908gqs1ss23gyjb7v5qcq1sj7"; + system = "cmd"; + asd = "cmd"; + } + ); + systems = [ "cmd" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "serapeum" self) + (getAttr "shlex" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cmu-infix = ( + build-asdf-system { + pname = "cmu-infix"; + version = "20180228-git"; + asds = [ "cmu-infix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cmu-infix/2018-02-28/cmu-infix-20180228-git.tgz"; + sha256 = "0macs398088cfif1dkjrpmidk515sjl7ld96f9ys5cpzx8sc5gib"; + system = "cmu-infix"; + asd = "cmu-infix"; + } + ); + systems = [ "cmu-infix" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cmu-infix-tests = ( + build-asdf-system { + pname = "cmu-infix-tests"; + version = "20180228-git"; + asds = [ "cmu-infix-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cmu-infix/2018-02-28/cmu-infix-20180228-git.tgz"; + sha256 = "0macs398088cfif1dkjrpmidk515sjl7ld96f9ys5cpzx8sc5gib"; + system = "cmu-infix-tests"; + asd = "cmu-infix-tests"; + } + ); + systems = [ "cmu-infix-tests" ]; + lispLibs = [ + (getAttr "cmu-infix" self) + (getAttr "fiasco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coalton = ( + build-asdf-system { + pname = "coalton"; + version = "20241012-git"; + asds = [ "coalton" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "coalton"; + asd = "coalton"; + } + ); + systems = [ "coalton" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "coalton-asdf" self) + (getAttr "coalton-compiler" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coalton-asdf = ( + build-asdf-system { + pname = "coalton-asdf"; + version = "20241012-git"; + asds = [ "coalton-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "coalton-asdf"; + asd = "coalton-asdf"; + } + ); + systems = [ "coalton-asdf" ]; + lispLibs = [ (getAttr "coalton-compiler" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coalton-compiler = ( + build-asdf-system { + pname = "coalton-compiler"; + version = "20241012-git"; + asds = [ "coalton-compiler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "coalton-compiler"; + asd = "coalton-compiler"; + } + ); + systems = [ "coalton-compiler" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "concrete-syntax-tree" self) + (getAttr "eclector" self) + (getAttr "eclector-concrete-syntax-tree" self) + (getAttr "float-features" self) + (getAttr "fset" self) + (getAttr "named-readtables" self) + (getAttr "source-error" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coalton-testing-example-project = ( + build-asdf-system { + pname = "coalton-testing-example-project"; + version = "20241012-git"; + asds = [ "coalton-testing-example-project" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "coalton-testing-example-project"; + asd = "coalton-testing-example-project"; + } + ); + systems = [ "coalton-testing-example-project" ]; + lispLibs = [ + (getAttr "coalton" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cocoahelper = ( + build-asdf-system { + pname = "cocoahelper"; + version = "20210807-git"; + asds = [ "cocoahelper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "cocoahelper"; + asd = "cocoahelper"; + } + ); + systems = [ "cocoahelper" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl-binaries" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cocoas = ( + build-asdf-system { + pname = "cocoas"; + version = "20241012-git"; + asds = [ "cocoas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cocoas/2024-10-12/cocoas-20241012-git.tgz"; + sha256 = "0a3jpni8hnzd6103qj3nywy61c3jq6j9yzmg35wy4b8j94pgyvj5"; + system = "cocoas"; + asd = "cocoas"; + } + ); + systems = [ "cocoas" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "float-features" self) + (getAttr "trivial-main-thread" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + codata-recommended-values = ( + build-asdf-system { + pname = "codata-recommended-values"; + version = "20241012-git"; + asds = [ "codata-recommended-values" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/codata-recommended-values/2024-10-12/codata-recommended-values-20241012-git.tgz"; + sha256 = "0mks9hzw5wkdjkqkcfbafm9rvbfgkn2na4bajfrhs4mn7bg4bv74"; + system = "codata-recommended-values"; + asd = "codata-recommended-values"; + } + ); + systems = [ "codata-recommended-values" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + codex = ( + build-asdf-system { + pname = "codex"; + version = "20241012-git"; + asds = [ "codex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/codex/2024-10-12/codex-20241012-git.tgz"; + sha256 = "06d1qscqnkd24fhpvsm0206a4cj3wsxma7amazhvzqy1y4girgc3"; + system = "codex"; + asd = "codex"; + } + ); + systems = [ "codex" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-slug" self) + (getAttr "codex-templates" self) + (getAttr "common-doc" self) + (getAttr "common-doc-contrib" self) + (getAttr "docparser" self) + (getAttr "pandocl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + codex-templates = ( + build-asdf-system { + pname = "codex-templates"; + version = "20241012-git"; + asds = [ "codex-templates" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/codex/2024-10-12/codex-20241012-git.tgz"; + sha256 = "06d1qscqnkd24fhpvsm0206a4cj3wsxma7amazhvzqy1y4girgc3"; + system = "codex-templates"; + asd = "codex-templates"; + } + ); + systems = [ "codex-templates" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "common-html" self) + (getAttr "djula" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coleslaw = ( + build-asdf-system { + pname = "coleslaw"; + version = "20241012-git"; + asds = [ "coleslaw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coleslaw/2024-10-12/coleslaw-20241012-git.tgz"; + sha256 = "1p9hg5qnymxzx2bzcvkzjarwxw383misq0cmqgggpzyhignx80av"; + system = "coleslaw"; + asd = "coleslaw"; + } + ); + systems = [ "coleslaw" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-unicode" self) + (getAttr "closer-mop" self) + (getAttr "closure-template" self) + (getAttr "inferior-shell" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coleslaw-cli = ( + build-asdf-system { + pname = "coleslaw-cli"; + version = "20241012-git"; + asds = [ "coleslaw-cli" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coleslaw/2024-10-12/coleslaw-20241012-git.tgz"; + sha256 = "1p9hg5qnymxzx2bzcvkzjarwxw383misq0cmqgggpzyhignx80av"; + system = "coleslaw-cli"; + asd = "coleslaw-cli"; + } + ); + systems = [ "coleslaw-cli" ]; + lispLibs = [ + (getAttr "clack" self) + (getAttr "coleslaw" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + coleslaw-test = ( + build-asdf-system { + pname = "coleslaw-test"; + version = "20241012-git"; + asds = [ "coleslaw-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coleslaw/2024-10-12/coleslaw-20241012-git.tgz"; + sha256 = "1p9hg5qnymxzx2bzcvkzjarwxw383misq0cmqgggpzyhignx80av"; + system = "coleslaw-test"; + asd = "coleslaw-test"; + } + ); + systems = [ "coleslaw-test" ]; + lispLibs = [ + (getAttr "coleslaw" self) + (getAttr "coleslaw-cli" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + collectors = ( + build-asdf-system { + pname = "collectors"; + version = "20241012-git"; + asds = [ "collectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/collectors/2024-10-12/collectors-20241012-git.tgz"; + sha256 = "1kc9q05wyp8yjz5wqc73nar7l49vcnfhj4924li81v76hlb03665"; + system = "collectors"; + asd = "collectors"; + } + ); + systems = [ "collectors" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "symbol-munger" self) + ]; + meta = { }; + } + ); + colliflower = ( + build-asdf-system { + pname = "colliflower"; + version = "20211020-git"; + asds = [ "colliflower" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; + sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; + system = "colliflower"; + asd = "colliflower"; + } + ); + systems = [ "colliflower" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "garten" self) + (getAttr "liter" self) + (getAttr "silo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + colliflower-fset = ( + build-asdf-system { + pname = "colliflower-fset"; + version = "20211020-git"; + asds = [ "colliflower-fset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; + sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; + system = "colliflower-fset"; + asd = "colliflower-fset"; + } + ); + systems = [ "colliflower-fset" ]; + lispLibs = [ + (getAttr "colliflower" self) + (getAttr "fset" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + colliflower-test = ( + build-asdf-system { + pname = "colliflower-test"; + version = "20211020-git"; + asds = [ "colliflower-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; + sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; + system = "colliflower-test"; + asd = "colliflower-test"; + } + ); + systems = [ "colliflower-test" ]; + lispLibs = [ + (getAttr "colliflower" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + colnew = ( + build-asdf-system { + pname = "colnew"; + version = "20231021-git"; + asds = [ "colnew" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "colnew"; + asd = "colnew"; + } + ); + systems = [ "colnew" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + colored = ( + build-asdf-system { + pname = "colored"; + version = "20241012-git"; + asds = [ "colored" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colored/2024-10-12/colored-20241012-git.tgz"; + sha256 = "0msw83gs5m887n1ha54jhflqjxb2mc7yv1hifspv9g16fn6h355c"; + system = "colored"; + asd = "colored"; + } + ); + systems = [ "colored" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + colored-test = ( + build-asdf-system { + pname = "colored-test"; + version = "20241012-git"; + asds = [ "colored-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colored/2024-10-12/colored-20241012-git.tgz"; + sha256 = "0msw83gs5m887n1ha54jhflqjxb2mc7yv1hifspv9g16fn6h355c"; + system = "colored-test"; + asd = "colored-test"; + } + ); + systems = [ "colored-test" ]; + lispLibs = [ + (getAttr "colored" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + colorize = ( + build-asdf-system { + pname = "colorize"; + version = "20230214-git"; + asds = [ "colorize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colorize/2023-02-14/colorize-20230214-git.tgz"; + sha256 = "1gbg11ghs4iak3n4c66qn6yvrcsg71xcbnjjf8qks0y4c8573fyf"; + system = "colorize"; + asd = "colorize"; + } + ); + systems = [ "colorize" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "html-encode" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + com-on = ( + build-asdf-system { + pname = "com-on"; + version = "20241012-git"; + asds = [ "com-on" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com-on/2024-10-12/com-on-20241012-git.tgz"; + sha256 = "1a3by2kx3iq0zl4304zhs89dfkp8xdjmdlnfmgywdg3wjdkxakci"; + system = "com-on"; + asd = "com-on"; + } + ); + systems = [ "com-on" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com-on-test = ( + build-asdf-system { + pname = "com-on-test"; + version = "20241012-git"; + asds = [ "com-on-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com-on/2024-10-12/com-on-20241012-git.tgz"; + sha256 = "1a3by2kx3iq0zl4304zhs89dfkp8xdjmdlnfmgywdg3wjdkxakci"; + system = "com-on-test"; + asd = "com-on-test"; + } + ); + systems = [ "com-on-test" ]; + lispLibs = [ + (getAttr "com-on" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_clearly-useful_dot_generic-collection-interface = ( + build-asdf-system { + pname = "com.clearly-useful.generic-collection-interface"; + version = "20190710-git"; + asds = [ "com.clearly-useful.generic-collection-interface" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.clearly-useful.generic-collection-interface/2019-07-10/com.clearly-useful.generic-collection-interface-20190710-git.tgz"; + sha256 = "1yfxwqgvrb1nwryymsl4s3h1lr8yskb9c76lxqy3mw5l0vwvl5zl"; + system = "com.clearly-useful.generic-collection-interface"; + asd = "com.clearly-useful.generic-collection-interface"; + } + ); + systems = [ "com.clearly-useful.generic-collection-interface" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "com_dot_clearly-useful_dot_protocols" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_clearly-useful_dot_generic-collection-interface_dot_test = ( + build-asdf-system { + pname = "com.clearly-useful.generic-collection-interface.test"; + version = "20190710-git"; + asds = [ "com.clearly-useful.generic-collection-interface.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.clearly-useful.generic-collection-interface/2019-07-10/com.clearly-useful.generic-collection-interface-20190710-git.tgz"; + sha256 = "1yfxwqgvrb1nwryymsl4s3h1lr8yskb9c76lxqy3mw5l0vwvl5zl"; + system = "com.clearly-useful.generic-collection-interface.test"; + asd = "com.clearly-useful.generic-collection-interface.test"; + } + ); + systems = [ "com.clearly-useful.generic-collection-interface.test" ]; + lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_clearly-useful_dot_iterate_plus = ( + build-asdf-system { + pname = "com.clearly-useful.iterate+"; + version = "20121013-git"; + asds = [ "com.clearly-useful.iterate+" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.clearly-useful.iterate-plus/2012-10-13/com.clearly-useful.iterate-plus-20121013-git.tgz"; + sha256 = "0fpymg6p9zglkclfn035agcs5k83fakad7dj2612v5p1snzzcika"; + system = "com.clearly-useful.iterate+"; + asd = "com.clearly-useful.iterate+"; + } + ); + systems = [ "com.clearly-useful.iterate+" ]; + lispLibs = [ + (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" self) + (getAttr "com_dot_clearly-useful_dot_iterator-protocol" self) + (getAttr "com_dot_clearly-useful_dot_protocols" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_clearly-useful_dot_iterator-protocol = ( + build-asdf-system { + pname = "com.clearly-useful.iterator-protocol"; + version = "20130312-git"; + asds = [ "com.clearly-useful.iterator-protocol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.clearly-useful.iterator-protocol/2013-03-12/com.clearly-useful.iterator-protocol-20130312-git.tgz"; + sha256 = "1wgksgpck6na1ygdnln5n1y8rj2kylg3lpbkyrhdka2cgsqiqs4a"; + system = "com.clearly-useful.iterator-protocol"; + asd = "com.clearly-useful.iterator-protocol"; + } + ); + systems = [ "com.clearly-useful.iterator-protocol" ]; + lispLibs = [ + (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" self) + (getAttr "com_dot_clearly-useful_dot_protocols" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_clearly-useful_dot_protocols = ( + build-asdf-system { + pname = "com.clearly-useful.protocols"; + version = "20130312-git"; + asds = [ "com.clearly-useful.protocols" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.clearly-useful.protocols/2013-03-12/com.clearly-useful.protocols-20130312-git.tgz"; + sha256 = "0az9rs98chjj2fdmpapqkv4sgfs84n9s7vvngcl05hcbsldm0xvn"; + system = "com.clearly-useful.protocols"; + asd = "com.clearly-useful.protocols"; + } + ); + systems = [ "com.clearly-useful.protocols" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_danielkeogh_dot_graph = ( + build-asdf-system { + pname = "com.danielkeogh.graph"; + version = "20241012-git"; + asds = [ "com.danielkeogh.graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.danielkeogh.graph/2024-10-12/com.danielkeogh.graph-20241012-git.tgz"; + sha256 = "1hy9g49aqi1li0cdxzjmzgiskh00vlxbp1kjwiyk8a8kqzg69hj2"; + system = "com.danielkeogh.graph"; + asd = "com.danielkeogh.graph"; + } + ); + systems = [ "com.danielkeogh.graph" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-speedy-queue" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_danielkeogh_dot_graph-tests = ( + build-asdf-system { + pname = "com.danielkeogh.graph-tests"; + version = "20241012-git"; + asds = [ "com.danielkeogh.graph-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.danielkeogh.graph/2024-10-12/com.danielkeogh.graph-20241012-git.tgz"; + sha256 = "1hy9g49aqi1li0cdxzjmzgiskh00vlxbp1kjwiyk8a8kqzg69hj2"; + system = "com.danielkeogh.graph-tests"; + asd = "com.danielkeogh.graph-tests"; + } + ); + systems = [ "com.danielkeogh.graph-tests" ]; + lispLibs = [ + (getAttr "com_dot_danielkeogh_dot_graph" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_dvlsoft_dot_rcfiles = ( + build-asdf-system { + pname = "com.dvlsoft.rcfiles"; + version = "20111203-http"; + asds = [ "com.dvlsoft.rcfiles" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rcfiles/2011-12-03/cl-rcfiles-20111203-http.tgz"; + sha256 = "06ahp9jaim216k7vbya1kp8iy5yb1i7axwrsjx7gwhl2b2q63r0a"; + system = "com.dvlsoft.rcfiles"; + asd = "com.dvlsoft.rcfiles"; + } + ); + systems = [ "com.dvlsoft.rcfiles" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_elbeno_dot_curve = ( + build-asdf-system { + pname = "com.elbeno.curve"; + version = "20130128-git"; + asds = [ "com.elbeno.curve" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/curve/2013-01-28/curve-20130128-git.tgz"; + sha256 = "0223sxrdixjg0bmy76a9kiv7g4zjkqxs92x6kys5dnaywx7mjb6j"; + system = "com.elbeno.curve"; + asd = "com.elbeno.curve"; + } + ); + systems = [ "com.elbeno.curve" ]; + lispLibs = [ + (getAttr "com_dot_elbeno_dot_vector" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_elbeno_dot_vector = ( + build-asdf-system { + pname = "com.elbeno.vector"; + version = "20130128-git"; + asds = [ "com.elbeno.vector" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vector/2013-01-28/vector-20130128-git.tgz"; + sha256 = "04czvqycn9j2hzbjmrp9fgqlgns5l7vbb73dgv3zqmiwzdb66qr5"; + system = "com.elbeno.vector"; + asd = "com.elbeno.vector"; + } + ); + systems = [ "com.elbeno.vector" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_binary-data = ( + build-asdf-system { + pname = "com.gigamonkeys.binary-data"; + version = "20111203-git"; + asds = [ "com.gigamonkeys.binary-data" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-binary-data/2011-12-03/monkeylib-binary-data-20111203-git.tgz"; + sha256 = "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"; + system = "com.gigamonkeys.binary-data"; + asd = "com.gigamonkeys.binary-data"; + } + ); + systems = [ "com.gigamonkeys.binary-data" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_json = ( + build-asdf-system { + pname = "com.gigamonkeys.json"; + version = "20180228-git"; + asds = [ "com.gigamonkeys.json" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-json/2018-02-28/monkeylib-json-20180228-git.tgz"; + sha256 = "188717pmyhpgwg9ncc1fbqvbvw5fikbfhvchsy9gg4haxhdgpzsn"; + system = "com.gigamonkeys.json"; + asd = "com.gigamonkeys.json"; + } + ); + systems = [ "com.gigamonkeys.json" ]; + lispLibs = [ + (getAttr "com_dot_gigamonkeys_dot_parser" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_macro-utilities = ( + build-asdf-system { + pname = "com.gigamonkeys.macro-utilities"; + version = "20111203-git"; + asds = [ "com.gigamonkeys.macro-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-macro-utilities/2011-12-03/monkeylib-macro-utilities-20111203-git.tgz"; + sha256 = "0l3m44zlzrvyn6fyvxslga8cppp4mh8dkgqzy297nnm0vnij5r8w"; + system = "com.gigamonkeys.macro-utilities"; + asd = "com.gigamonkeys.macro-utilities"; + } + ); + systems = [ "com.gigamonkeys.macro-utilities" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_markup = ( + build-asdf-system { + pname = "com.gigamonkeys.markup"; + version = "20120909-git"; + asds = [ "com.gigamonkeys.markup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-markup/2012-09-09/monkeylib-markup-20120909-git.tgz"; + sha256 = "049zqgnprvddn2zp1a8g862m3ikll3a3lpi1k2vimjmx1bkc0vs0"; + system = "com.gigamonkeys.markup"; + asd = "com.gigamonkeys.markup"; + } + ); + systems = [ "com.gigamonkeys.markup" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "com_dot_gigamonkeys_dot_pathnames" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_parser = ( + build-asdf-system { + pname = "com.gigamonkeys.parser"; + version = "20120208-git"; + asds = [ "com.gigamonkeys.parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-parser/2012-02-08/monkeylib-parser-20120208-git.tgz"; + sha256 = "1xvzrih813311p48bzlm0z0592lx6iss3m36vz55qsw4sr397ncd"; + system = "com.gigamonkeys.parser"; + asd = "com.gigamonkeys.parser"; + } + ); + systems = [ "com.gigamonkeys.parser" ]; + lispLibs = [ + (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_pathnames = ( + build-asdf-system { + pname = "com.gigamonkeys.pathnames"; + version = "20120208-git"; + asds = [ "com.gigamonkeys.pathnames" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-pathnames/2012-02-08/monkeylib-pathnames-20120208-git.tgz"; + sha256 = "108cc39g7razng316df4d47zzpj2zr576wzwwrpggdkm4q599gvk"; + system = "com.gigamonkeys.pathnames"; + asd = "com.gigamonkeys.pathnames"; + } + ); + systems = [ "com.gigamonkeys.pathnames" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_prose-diff = ( + build-asdf-system { + pname = "com.gigamonkeys.prose-diff"; + version = "20140713-git"; + asds = [ "com.gigamonkeys.prose-diff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-prose-diff/2014-07-13/monkeylib-prose-diff-20140713-git.tgz"; + sha256 = "1zwaa8qmpbdpdg8zzk3as73i55c54k9m694gx4bla1xxli5f8ijc"; + system = "com.gigamonkeys.prose-diff"; + asd = "com.gigamonkeys.prose-diff"; + } + ); + systems = [ "com.gigamonkeys.prose-diff" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) + (getAttr "com_dot_gigamonkeys_dot_markup" self) + (getAttr "com_dot_gigamonkeys_dot_pathnames" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + (getAttr "monkeylib-markup-html" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_test-framework = ( + build-asdf-system { + pname = "com.gigamonkeys.test-framework"; + version = "20101207-git"; + asds = [ "com.gigamonkeys.test-framework" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-test-framework/2010-12-07/monkeylib-test-framework-20101207-git.tgz"; + sha256 = "1d6b8zg0vnbqxxsbbjr3b4r46d8whj84h9yqnqw3ii0bwr8hn82v"; + system = "com.gigamonkeys.test-framework"; + asd = "com.gigamonkeys.test-framework"; + } + ); + systems = [ "com.gigamonkeys.test-framework" ]; + lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_gigamonkeys_dot_utilities = ( + build-asdf-system { + pname = "com.gigamonkeys.utilities"; + version = "20170403-git"; + asds = [ "com.gigamonkeys.utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-utilities/2017-04-03/monkeylib-utilities-20170403-git.tgz"; + sha256 = "0d0h1y43mn6r8s4g9gbr02d09565p0gig21jfnk7zf1dl6rnvkvm"; + system = "com.gigamonkeys.utilities"; + asd = "com.gigamonkeys.utilities"; + } + ); + systems = [ "com.gigamonkeys.utilities" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_google_dot_base = ( + build-asdf-system { + pname = "com.google.base"; + version = "20200925-git"; + asds = [ "com.google.base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/com.google.base/2020-09-25/com.google.base-20200925-git.tgz"; + sha256 = "1drc341sqmrmyvdgqpdy066f0z0ia0kl3ppq0rlxznlxhn17x3xj"; + system = "com.google.base"; + asd = "com.google.base"; + } + ); + systems = [ "com.google.base" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_google_dot_flag = ( + build-asdf-system { + pname = "com.google.flag"; + version = "20201220-git"; + asds = [ "com.google.flag" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-gflags/2020-12-20/lisp-gflags-20201220-git.tgz"; + sha256 = "06p70v1wv0ynr6ng6vr6krc5773xphvkv2nfxvnschc1bzqhds5k"; + system = "com.google.flag"; + asd = "com.google.flag"; + } + ); + systems = [ "com.google.flag" ]; + lispLibs = [ (getAttr "com_dot_google_dot_base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + com_dot_inuoe_dot_jzon = ( + build-asdf-system { + pname = "com.inuoe.jzon"; + version = "v1.1.4"; + asds = [ "com.inuoe.jzon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jzon/2024-10-12/jzon-v1.1.4.tgz"; + sha256 = "0z7xpylyk8rakz449rxqpz4hazn91ap2dnf0689iigdvvl3yqz3g"; + system = "com.inuoe.jzon"; + asd = "com.inuoe.jzon"; + } + ); + systems = [ "com.inuoe.jzon" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "flexi-streams" self) + (getAttr "float-features" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + com_dot_inuoe_dot_jzon-tests = ( + build-asdf-system { + pname = "com.inuoe.jzon-tests"; + version = "v1.1.4"; + asds = [ "com.inuoe.jzon-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jzon/2024-10-12/jzon-v1.1.4.tgz"; + sha256 = "0z7xpylyk8rakz449rxqpz4hazn91ap2dnf0689iigdvvl3yqz3g"; + system = "com.inuoe.jzon-tests"; + asd = "com.inuoe.jzon-tests"; + } + ); + systems = [ "com.inuoe.jzon-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "float-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + command-line-arguments = ( + build-asdf-system { + pname = "command-line-arguments"; + version = "20210807-git"; + asds = [ "command-line-arguments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/command-line-arguments/2021-08-07/command-line-arguments-20210807-git.tgz"; + sha256 = "1wbb83b559nfv65rsxz3jrixic9gndk2whj40hhwb0s13rf5a62y"; + system = "command-line-arguments"; + asd = "command-line-arguments"; + } + ); + systems = [ "command-line-arguments" ]; + lispLibs = [ ]; + meta = { }; + } + ); + common-doc = ( + build-asdf-system { + pname = "common-doc"; + version = "20230214-git"; + asds = [ "common-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc"; + asd = "common-doc"; + } + ); + systems = [ "common-doc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + (getAttr "quri" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-contrib = ( + build-asdf-system { + pname = "common-doc-contrib"; + version = "20230214-git"; + asds = [ "common-doc-contrib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-contrib"; + asd = "common-doc-contrib"; + } + ); + systems = [ "common-doc-contrib" ]; + lispLibs = [ + (getAttr "common-doc-gnuplot" self) + (getAttr "common-doc-graphviz" self) + (getAttr "common-doc-include" self) + (getAttr "common-doc-plantuml" self) + (getAttr "common-doc-split-paragraphs" self) + (getAttr "common-doc-tex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-gnuplot = ( + build-asdf-system { + pname = "common-doc-gnuplot"; + version = "20230214-git"; + asds = [ "common-doc-gnuplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-gnuplot"; + asd = "common-doc-gnuplot"; + } + ); + systems = [ "common-doc-gnuplot" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-graphviz = ( + build-asdf-system { + pname = "common-doc-graphviz"; + version = "20230214-git"; + asds = [ "common-doc-graphviz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-graphviz"; + asd = "common-doc-graphviz"; + } + ); + systems = [ "common-doc-graphviz" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-include = ( + build-asdf-system { + pname = "common-doc-include"; + version = "20230214-git"; + asds = [ "common-doc-include" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-include"; + asd = "common-doc-include"; + } + ); + systems = [ "common-doc-include" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-plantuml = ( + build-asdf-system { + pname = "common-doc-plantuml"; + version = "20230214-git"; + asds = [ "common-doc-plantuml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-plantuml"; + asd = "common-doc-plantuml"; + } + ); + systems = [ "common-doc-plantuml" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-plump = ( + build-asdf-system { + pname = "common-doc-plump"; + version = "20160421-git"; + asds = [ "common-doc-plump" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc-plump/2016-04-21/common-doc-plump-20160421-git.tgz"; + sha256 = "08h7m4c599rf2kz4wkpbj05441ax0vb3bd88a7dw5x57djf765r6"; + system = "common-doc-plump"; + asd = "common-doc-plump"; + } + ); + systems = [ "common-doc-plump" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "cl-markup" self) + (getAttr "common-doc" self) + (getAttr "common-doc-split-paragraphs" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-plump-test = ( + build-asdf-system { + pname = "common-doc-plump-test"; + version = "20160421-git"; + asds = [ "common-doc-plump-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc-plump/2016-04-21/common-doc-plump-20160421-git.tgz"; + sha256 = "08h7m4c599rf2kz4wkpbj05441ax0vb3bd88a7dw5x57djf765r6"; + system = "common-doc-plump-test"; + asd = "common-doc-plump-test"; + } + ); + systems = [ "common-doc-plump-test" ]; + lispLibs = [ + (getAttr "common-doc-plump" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-split-paragraphs = ( + build-asdf-system { + pname = "common-doc-split-paragraphs"; + version = "20230214-git"; + asds = [ "common-doc-split-paragraphs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-split-paragraphs"; + asd = "common-doc-split-paragraphs"; + } + ); + systems = [ "common-doc-split-paragraphs" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "common-doc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-test = ( + build-asdf-system { + pname = "common-doc-test"; + version = "20230214-git"; + asds = [ "common-doc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-test"; + asd = "common-doc-test"; + } + ); + systems = [ "common-doc-test" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "common-doc-contrib" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-doc-tex = ( + build-asdf-system { + pname = "common-doc-tex"; + version = "20230214-git"; + asds = [ "common-doc-tex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-doc/2023-02-14/common-doc-20230214-git.tgz"; + sha256 = "0bzc4w37cq5mbkd15vxziks6nq58yad04mki4nwy5w6pza7z0faa"; + system = "common-doc-tex"; + asd = "common-doc-tex"; + } + ); + systems = [ "common-doc-tex" ]; + lispLibs = [ (getAttr "common-doc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-html = ( + build-asdf-system { + pname = "common-html"; + version = "20210807-git"; + asds = [ "common-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-html/2021-08-07/common-html-20210807-git.tgz"; + sha256 = "1i11w4l95nybz5ibnaxrnrkfhch2s9wynqrg6kx6sl6y47khq1xz"; + system = "common-html"; + asd = "common-html"; + } + ); + systems = [ "common-html" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "common-doc" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-html-test = ( + build-asdf-system { + pname = "common-html-test"; + version = "20210807-git"; + asds = [ "common-html-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-html/2021-08-07/common-html-20210807-git.tgz"; + sha256 = "1i11w4l95nybz5ibnaxrnrkfhch2s9wynqrg6kx6sl6y47khq1xz"; + system = "common-html-test"; + asd = "common-html-test"; + } + ); + systems = [ "common-html-test" ]; + lispLibs = [ + (getAttr "common-html" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + common-lisp-jupyter = ( + build-asdf-system { + pname = "common-lisp-jupyter"; + version = "20241012-git"; + asds = [ "common-lisp-jupyter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-lisp-jupyter/2024-10-12/common-lisp-jupyter-20241012-git.tgz"; + sha256 = "1qbrzv0myxfxq7rzm2y9cm2xymkl982982h2kbsl7d1yd5hrjvl6"; + system = "common-lisp-jupyter"; + asd = "common-lisp-jupyter"; + } + ); + systems = [ "common-lisp-jupyter" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "cl-indentify" self) + (getAttr "closer-mop" self) + (getAttr "dissect" self) + (getAttr "eclector" self) + (getAttr "ironclad" self) + (getAttr "jupyter-lab-extension" self) + (getAttr "multilang-documentation" self) + (getAttr "nontrivial-gray-streams" self) + (getAttr "puri" self) + (getAttr "pzmq" self) + (getAttr "shasht" self) + (getAttr "static-vectors" self) + (getAttr "trivial-do" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-mimes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + commondoc-markdown = ( + build-asdf-system { + pname = "commondoc-markdown"; + version = "20241012-git"; + asds = [ "commondoc-markdown" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/commondoc-markdown/2024-10-12/commondoc-markdown-20241012-git.tgz"; + sha256 = "12n8yx8jhz8713r63gmrymplm1mfczm7q7a343d13wl6gng1gjs1"; + system = "commondoc-markdown"; + asd = "commondoc-markdown"; + } + ); + systems = [ "commondoc-markdown" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "_3bmd-ext-tables" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "common-doc" self) + (getAttr "common-html" self) + (getAttr "esrap" self) + (getAttr "ironclad" self) + (getAttr "plump" self) + (getAttr "quri" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + commondoc-markdown-docs = ( + build-asdf-system { + pname = "commondoc-markdown-docs"; + version = "20241012-git"; + asds = [ "commondoc-markdown-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/commondoc-markdown/2024-10-12/commondoc-markdown-20241012-git.tgz"; + sha256 = "12n8yx8jhz8713r63gmrymplm1mfczm7q7a343d13wl6gng1gjs1"; + system = "commondoc-markdown-docs"; + asd = "commondoc-markdown-docs"; + } + ); + systems = [ "commondoc-markdown-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + commondoc-markdown-test = ( + build-asdf-system { + pname = "commondoc-markdown-test"; + version = "20241012-git"; + asds = [ "commondoc-markdown-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/commondoc-markdown/2024-10-12/commondoc-markdown-20241012-git.tgz"; + sha256 = "12n8yx8jhz8713r63gmrymplm1mfczm7q7a343d13wl6gng1gjs1"; + system = "commondoc-markdown-test"; + asd = "commondoc-markdown-test"; + } + ); + systems = [ "commondoc-markdown-test" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "commondoc-markdown" self) + (getAttr "hamcrest" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + commonqt = ( + build-asdf-system { + pname = "commonqt"; + version = "20210531-git"; + asds = [ "commonqt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "commonqt"; + asd = "commonqt"; + } + ); + systems = [ "commonqt" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "smokebase" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + comp-set = ( + build-asdf-system { + pname = "comp-set"; + version = "20210807-git"; + asds = [ "comp-set" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "comp-set"; + asd = "comp-set"; + } + ); + systems = [ "comp-set" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + compatible-metaclasses = ( + build-asdf-system { + pname = "compatible-metaclasses"; + version = "1.0"; + asds = [ "compatible-metaclasses" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/compatible-metaclasses/2020-09-25/compatible-metaclasses_1.0.tgz"; + sha256 = "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6"; + system = "compatible-metaclasses"; + asd = "compatible-metaclasses"; + } + ); + systems = [ "compatible-metaclasses" ]; + lispLibs = [ + (getAttr "class-options" self) + (getAttr "closer-mop" self) + (getAttr "enhanced-find-class" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + compatible-metaclasses__tests = ( + build-asdf-system { + pname = "compatible-metaclasses_tests"; + version = "1.0"; + asds = [ "compatible-metaclasses_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/compatible-metaclasses/2020-09-25/compatible-metaclasses_1.0.tgz"; + sha256 = "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6"; + system = "compatible-metaclasses_tests"; + asd = "compatible-metaclasses_tests"; + } + ); + systems = [ "compatible-metaclasses_tests" ]; + lispLibs = [ + (getAttr "compatible-metaclasses" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + compiler-macro-notes = ( + build-asdf-system { + pname = "compiler-macro-notes"; + version = "v0.3.1"; + asds = [ "compiler-macro-notes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/compiler-macro-notes/2024-10-12/compiler-macro-notes-v0.3.1.tgz"; + sha256 = "0pchhvk14fx54p7qq92dnf0g4jnapqr6p2a4za6bhzd8im1d9gad"; + system = "compiler-macro-notes"; + asd = "compiler-macro-notes"; + } + ); + systems = [ "compiler-macro-notes" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-environments" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + computable-reals = ( + build-asdf-system { + pname = "computable-reals"; + version = "20231021-git"; + asds = [ "computable-reals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/computable-reals/2023-10-21/computable-reals-20231021-git.tgz"; + sha256 = "1x8kkdyjil0zzg8fq9b76z12kmfrqwhsxnr6qqnlrg0c8c5bzz9c"; + system = "computable-reals"; + asd = "computable-reals"; + } + ); + systems = [ "computable-reals" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + concrete-syntax-tree = ( + build-asdf-system { + pname = "concrete-syntax-tree"; + version = "20230618-git"; + asds = [ "concrete-syntax-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; + sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; + system = "concrete-syntax-tree"; + asd = "concrete-syntax-tree"; + } + ); + systems = [ "concrete-syntax-tree" ]; + lispLibs = [ + (getAttr "concrete-syntax-tree-base" self) + (getAttr "concrete-syntax-tree-lambda-list" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + concrete-syntax-tree-base = ( + build-asdf-system { + pname = "concrete-syntax-tree-base"; + version = "20230618-git"; + asds = [ "concrete-syntax-tree-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; + sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; + system = "concrete-syntax-tree-base"; + asd = "concrete-syntax-tree-base"; + } + ); + systems = [ "concrete-syntax-tree-base" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + concrete-syntax-tree-destructuring = ( + build-asdf-system { + pname = "concrete-syntax-tree-destructuring"; + version = "20230618-git"; + asds = [ "concrete-syntax-tree-destructuring" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; + sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; + system = "concrete-syntax-tree-destructuring"; + asd = "concrete-syntax-tree-destructuring"; + } + ); + systems = [ "concrete-syntax-tree-destructuring" ]; + lispLibs = [ (getAttr "concrete-syntax-tree-lambda-list" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + concrete-syntax-tree-lambda-list = ( + build-asdf-system { + pname = "concrete-syntax-tree-lambda-list"; + version = "20230618-git"; + asds = [ "concrete-syntax-tree-lambda-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; + sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; + system = "concrete-syntax-tree-lambda-list"; + asd = "concrete-syntax-tree-lambda-list"; + } + ); + systems = [ "concrete-syntax-tree-lambda-list" ]; + lispLibs = [ (getAttr "concrete-syntax-tree-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + concrete-syntax-tree-lambda-list-test = ( + build-asdf-system { + pname = "concrete-syntax-tree-lambda-list-test"; + version = "20230618-git"; + asds = [ "concrete-syntax-tree-lambda-list-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; + sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; + system = "concrete-syntax-tree-lambda-list-test"; + asd = "concrete-syntax-tree-lambda-list-test"; + } + ); + systems = [ "concrete-syntax-tree-lambda-list-test" ]; + lispLibs = [ (getAttr "concrete-syntax-tree-lambda-list" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + concrete-syntax-tree-source-info = ( + build-asdf-system { + pname = "concrete-syntax-tree-source-info"; + version = "20230618-git"; + asds = [ "concrete-syntax-tree-source-info" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2023-06-18/concrete-syntax-tree-20230618-git.tgz"; + sha256 = "15q9jyqsh2z921li9my8c840cj2ci7k217x5frfiyk0kymkx4rgv"; + system = "concrete-syntax-tree-source-info"; + asd = "concrete-syntax-tree-source-info"; + } + ); + systems = [ "concrete-syntax-tree-source-info" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + conditional-commands = ( + build-asdf-system { + pname = "conditional-commands"; + version = "20241012-git"; + asds = [ "conditional-commands" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "conditional-commands"; + asd = "conditional-commands"; + } + ); + systems = [ "conditional-commands" ]; + lispLibs = [ (getAttr "clim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + conf = ( + build-asdf-system { + pname = "conf"; + version = "20191227-git"; + asds = [ "conf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/conf/2019-12-27/conf-20191227-git.tgz"; + sha256 = "0mif91gb6yqg2qrzd2p6n83w9injikm5gggzv2mgxkiyzmr5gnay"; + system = "conf"; + asd = "conf"; + } + ); + systems = [ "conf" ]; + lispLibs = [ (getAttr "cl-fad" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options = ( + build-asdf-system { + pname = "configuration.options"; + version = "20210531-git"; + asds = [ "configuration.options" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options"; + asd = "configuration.options"; + } + ); + systems = [ "configuration.options" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_service-provider" self) + (getAttr "cl-hooks" self) + (getAttr "esrap" self) + (getAttr "let-plus" self) + (getAttr "log4cl" self) + (getAttr "more-conditions" self) + (getAttr "split-sequence" self) + (getAttr "utilities_dot_print-items" self) + (getAttr "utilities_dot_print-tree" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options-and-mop = ( + build-asdf-system { + pname = "configuration.options-and-mop"; + version = "20210531-git"; + asds = [ "configuration.options-and-mop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options-and-mop"; + asd = "configuration.options-and-mop"; + } + ); + systems = [ "configuration.options-and-mop" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "configuration_dot_options" self) + (getAttr "let-plus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options-and-puri = ( + build-asdf-system { + pname = "configuration.options-and-puri"; + version = "20210531-git"; + asds = [ "configuration.options-and-puri" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options-and-puri"; + asd = "configuration.options-and-puri"; + } + ); + systems = [ "configuration.options-and-puri" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "configuration_dot_options" self) + (getAttr "let-plus" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options-and-quri = ( + build-asdf-system { + pname = "configuration.options-and-quri"; + version = "20210531-git"; + asds = [ "configuration.options-and-quri" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options-and-quri"; + asd = "configuration.options-and-quri"; + } + ); + systems = [ "configuration.options-and-quri" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "configuration_dot_options" self) + (getAttr "let-plus" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options-and-service-provider = ( + build-asdf-system { + pname = "configuration.options-and-service-provider"; + version = "20210531-git"; + asds = [ "configuration.options-and-service-provider" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options-and-service-provider"; + asd = "configuration.options-and-service-provider"; + } + ); + systems = [ "configuration.options-and-service-provider" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_service-provider" self) + (getAttr "architecture_dot_service-provider-and-hooks" self) + (getAttr "configuration_dot_options" self) + (getAttr "configuration_dot_options-and-mop" self) + (getAttr "let-plus" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options-syntax-ini = ( + build-asdf-system { + pname = "configuration.options-syntax-ini"; + version = "20210531-git"; + asds = [ "configuration.options-syntax-ini" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options-syntax-ini"; + asd = "configuration.options-syntax-ini"; + } + ); + systems = [ "configuration.options-syntax-ini" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "configuration_dot_options" self) + (getAttr "let-plus" self) + (getAttr "parser_dot_ini" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + configuration_dot_options-syntax-xml = ( + build-asdf-system { + pname = "configuration.options-syntax-xml"; + version = "20210531-git"; + asds = [ "configuration.options-syntax-xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz"; + sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g"; + system = "configuration.options-syntax-xml"; + asd = "configuration.options-syntax-xml"; + } + ); + systems = [ "configuration.options-syntax-xml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "configuration_dot_options" self) + (getAttr "let-plus" self) + (getAttr "xml_dot_location" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + conium = ( + build-asdf-system { + pname = "conium"; + version = "20210630-git"; + asds = [ "conium" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/conium/2021-06-30/conium-20210630-git.tgz"; + sha256 = "0y31za8xr8734p2pf8mrw1jd1fksh2d4y1p12wwjyn8hxxsvsx1w"; + system = "conium"; + asd = "conium"; + } + ); + systems = [ "conium" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + consfigurator = ( + build-asdf-system { + pname = "consfigurator"; + version = "v1.4.4"; + asds = [ "consfigurator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/consfigurator/2024-10-12/consfigurator-v1.4.4.tgz"; + sha256 = "1f4q5w58phj5a6i2fj712ggz2p8b5m4v77qzsvbb3xmy2vhppvv0"; + system = "consfigurator"; + asd = "consfigurator"; + } + ); + systems = [ "consfigurator" ]; + lispLibs = [ + (getAttr "agnostic-lizard" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "babel" self) + (getAttr "babel-streams" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-heredoc" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "named-readtables" self) + (getAttr "osicat" self) + (getAttr "parse-number" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + consix = ( + build-asdf-system { + pname = "consix"; + version = "20201220-git"; + asds = [ "consix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/consix/2020-12-20/consix-20201220-git.tgz"; + sha256 = "0zpcaxgq9jx0baj5sid8rnzq8ygsmd8yzb0x37nkaiwa67x5jjck"; + system = "consix"; + asd = "consix"; + } + ); + systems = [ "consix" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-glu" self) + (getAttr "cl-glut" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + constantfold = ( + build-asdf-system { + pname = "constantfold"; + version = "20191227-git"; + asds = [ "constantfold" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/constantfold/2019-12-27/constantfold-20191227-git.tgz"; + sha256 = "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"; + system = "constantfold"; + asd = "constantfold"; + } + ); + systems = [ "constantfold" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "lisp-namespace" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + constantfold_dot_test = ( + build-asdf-system { + pname = "constantfold.test"; + version = "20191227-git"; + asds = [ "constantfold.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/constantfold/2019-12-27/constantfold-20191227-git.tgz"; + sha256 = "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"; + system = "constantfold.test"; + asd = "constantfold.test"; + } + ); + systems = [ "constantfold.test" ]; + lispLibs = [ + (getAttr "constantfold" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + context-lite = ( + build-asdf-system { + pname = "context-lite"; + version = "20220331-git"; + asds = [ "context-lite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/context-lite/2022-03-31/context-lite-20220331-git.tgz"; + sha256 = "16hmid3adimn10c0y4p6hg7n42al2qgsy7wxlpargk0xbn4h3km4"; + system = "context-lite"; + asd = "context-lite"; + } + ); + systems = [ "context-lite" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + contextl = ( + build-asdf-system { + pname = "contextl"; + version = "20241012-git"; + asds = [ "contextl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/contextl/2024-10-12/contextl-20241012-git.tgz"; + sha256 = "1jsa5wyjzzfw9pii3d6x20mh8ijnpb291g3i0y2ccj0x8z3xfyyk"; + system = "contextl"; + asd = "contextl"; + } + ); + systems = [ "contextl" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "lw-compat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + control = ( + build-asdf-system { + pname = "control"; + version = "20200427-git"; + asds = [ "control" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "control"; + asd = "control"; + } + ); + systems = [ "control" ]; + lispLibs = [ + (getAttr "character-modifier-bits" self) + (getAttr "utility" self) + (getAttr "window" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + copy-directory = ( + build-asdf-system { + pname = "copy-directory"; + version = "20160628-git"; + asds = [ "copy-directory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/copy-directory/2016-06-28/copy-directory-20160628-git.tgz"; + sha256 = "19wvzb046lcyifhx26ydzf7ngfa52n64nyx76k3lh02x7ahhpc93"; + system = "copy-directory"; + asd = "copy-directory"; + } + ); + systems = [ "copy-directory" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "which" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + copy-directory-test = ( + build-asdf-system { + pname = "copy-directory-test"; + version = "20160628-git"; + asds = [ "copy-directory-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/copy-directory/2016-06-28/copy-directory-20160628-git.tgz"; + sha256 = "19wvzb046lcyifhx26ydzf7ngfa52n64nyx76k3lh02x7ahhpc93"; + system = "copy-directory-test"; + asd = "copy-directory-test"; + } + ); + systems = [ "copy-directory-test" ]; + lispLibs = [ + (getAttr "copy-directory" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + core-reader = ( + build-asdf-system { + pname = "core-reader"; + version = "20220707-git"; + asds = [ "core-reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/core-reader/2022-07-07/core-reader-20220707-git.tgz"; + sha256 = "1f2cm44r3pnahgx1b3c3psf6myaliwsrvfcgz8c9ydqi5qlx49gb"; + system = "core-reader"; + asd = "core-reader"; + } + ); + systems = [ "core-reader" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + core-reader_dot_test = ( + build-asdf-system { + pname = "core-reader.test"; + version = "20220707-git"; + asds = [ "core-reader.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/core-reader/2022-07-07/core-reader-20220707-git.tgz"; + sha256 = "1f2cm44r3pnahgx1b3c3psf6myaliwsrvfcgz8c9ydqi5qlx49gb"; + system = "core-reader.test"; + asd = "core-reader.test"; + } + ); + systems = [ "core-reader.test" ]; + lispLibs = [ + (getAttr "core-reader" self) + (getAttr "jingoh" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cover = ( + build-asdf-system { + pname = "cover"; + version = "20230618-git"; + asds = [ "cover" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cover/2023-06-18/cover-20230618-git.tgz"; + sha256 = "0152zzdszhiblzm3a80x8bnalip7gnzyvvwnlswsnnlb509nby89"; + system = "cover"; + asd = "cover"; + } + ); + systems = [ "cover" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cqlcl = ( + build-asdf-system { + pname = "cqlcl"; + version = "20141106-git"; + asds = [ "cqlcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cqlcl/2014-11-06/cqlcl-20141106-git.tgz"; + sha256 = "0ppdsrrf2hz0s4y02a2p5mgms92znrj7hz7x9j6azppfkal25zid"; + system = "cqlcl"; + asd = "cqlcl"; + } + ); + systems = [ "cqlcl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "lparallel" self) + (getAttr "pooler" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cqlcl-test = ( + build-asdf-system { + pname = "cqlcl-test"; + version = "20141106-git"; + asds = [ "cqlcl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cqlcl/2014-11-06/cqlcl-20141106-git.tgz"; + sha256 = "0ppdsrrf2hz0s4y02a2p5mgms92znrj7hz7x9j6azppfkal25zid"; + system = "cqlcl-test"; + asd = "cqlcl"; + } + ); + systems = [ "cqlcl-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cqlcl" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + crane = ( + build-asdf-system { + pname = "crane"; + version = "20160208-git"; + asds = [ "crane" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/crane/2016-02-08/crane-20160208-git.tgz"; + sha256 = "1wai4h7vz5i0ld1fnnbcmpz5d67dmykyxx0ay0fkclkwvpj7gh5n"; + system = "crane"; + asd = "crane"; + } + ); + systems = [ "crane" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "cl-fad" self) + (getAttr "clos-fixtures" self) + (getAttr "closer-mop" self) + (getAttr "dbi" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "sxql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + crane-test = ( + build-asdf-system { + pname = "crane-test"; + version = "20160208-git"; + asds = [ "crane-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/crane/2016-02-08/crane-20160208-git.tgz"; + sha256 = "1wai4h7vz5i0ld1fnnbcmpz5d67dmykyxx0ay0fkclkwvpj7gh5n"; + system = "crane-test"; + asd = "crane-test"; + } + ); + systems = [ "crane-test" ]; + lispLibs = [ + (getAttr "crane" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cricket = ( + build-asdf-system { + pname = "cricket"; + version = "20220707-git"; + asds = [ "cricket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cricket/2022-07-07/cricket-20220707-git.tgz"; + sha256 = "0wdpzdmalbnfjmd9s7yalris4i1vvc2klnhfl8g0h2ahq0mqv9p9"; + system = "cricket"; + asd = "cricket"; + } + ); + systems = [ "cricket" ]; + lispLibs = [ + (getAttr "arrow-macros" self) + (getAttr "cl-cpus" self) + (getAttr "lparallel" self) + (getAttr "mfiano-utils" self) + (getAttr "seedable-rng" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cricket_dot_test = ( + build-asdf-system { + pname = "cricket.test"; + version = "20220707-git"; + asds = [ "cricket.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cricket/2022-07-07/cricket-20220707-git.tgz"; + sha256 = "0wdpzdmalbnfjmd9s7yalris4i1vvc2klnhfl8g0h2ahq0mqv9p9"; + system = "cricket.test"; + asd = "cricket.test"; + } + ); + systems = [ "cricket.test" ]; + lispLibs = [ + (getAttr "cricket" self) + (getAttr "mfiano-utils" self) + (getAttr "pngload" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + croatoan = ( + build-asdf-system { + pname = "croatoan"; + version = "20241012-git"; + asds = [ "croatoan" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; + sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; + system = "croatoan"; + asd = "croatoan"; + } + ); + systems = [ "croatoan" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "croatoan-ncurses" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + croatoan-ncurses = ( + build-asdf-system { + pname = "croatoan-ncurses"; + version = "20241012-git"; + asds = [ "croatoan-ncurses" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; + sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; + system = "croatoan-ncurses"; + asd = "croatoan-ncurses"; + } + ); + systems = [ "croatoan-ncurses" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + croatoan-test = ( + build-asdf-system { + pname = "croatoan-test"; + version = "20241012-git"; + asds = [ "croatoan-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/croatoan/2024-10-12/croatoan-20241012-git.tgz"; + sha256 = "04776x4i8inxs8n4mgy9xf0q39bzv4mfz4cl880sxwk6mnhwnn4c"; + system = "croatoan-test"; + asd = "croatoan-test"; + } + ); + systems = [ "croatoan-test" ]; + lispLibs = [ (getAttr "croatoan" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + crud = ( + build-asdf-system { + pname = "crud"; + version = "20200427-git"; + asds = [ "crud" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "crud"; + asd = "crud"; + } + ); + systems = [ "crud" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "base64" self) + (getAttr "lparallel" self) + (getAttr "sqlite" self) + (getAttr "sucle-serialize" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + crypt = ( + build-asdf-system { + pname = "crypt"; + version = "20120520-git"; + asds = [ "crypt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-crypt/2012-05-20/cl-crypt-20120520-git.tgz"; + sha256 = "02fc3aqfbbwjpz79a4mwffv33pnmmknpkmd1r8v9mkn9a6c1ssmh"; + system = "crypt"; + asd = "crypt"; + } + ); + systems = [ "crypt" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + crypto-shortcuts = ( + build-asdf-system { + pname = "crypto-shortcuts"; + version = "20231021-git"; + asds = [ "crypto-shortcuts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/crypto-shortcuts/2023-10-21/crypto-shortcuts-20231021-git.tgz"; + sha256 = "0ghih34xlf9vgbh8arsqjbgf8iymvs5s0ys0n2bm73b1z0632ygr"; + system = "crypto-shortcuts"; + asd = "crypto-shortcuts"; + } + ); + systems = [ "crypto-shortcuts" ]; + lispLibs = [ + (getAttr "cl-base32" self) + (getAttr "cl-base64" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cserial-port = ( + build-asdf-system { + pname = "cserial-port"; + version = "20230214-git"; + asds = [ "cserial-port" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cserial-port/2023-02-14/cserial-port-20230214-git.tgz"; + sha256 = "0l38qh66g2iba7kjw6fml3q55ax6vkk0khbwrsvkglwhpan79fsm"; + system = "cserial-port"; + asd = "cserial-port"; + } + ); + systems = [ "cserial-port" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "osicat" self) + (getAttr "trivial-features" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + css-lite = ( + build-asdf-system { + pname = "css-lite"; + version = "20230618-git"; + asds = [ "css-lite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/css-lite/2023-06-18/css-lite-20230618-git.tgz"; + sha256 = "1pvvwd6ysdc7m5945vkwdbq4jjmcszmkxp9jhgi0lba23si07dp5"; + system = "css-lite"; + asd = "css-lite"; + } + ); + systems = [ "css-lite" ]; + lispLibs = [ (getAttr "parenscript" self) ]; + meta = { }; + } + ); + css-selectors = ( + build-asdf-system { + pname = "css-selectors"; + version = "20160628-git"; + asds = [ "css-selectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; + sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; + system = "css-selectors"; + asd = "css-selectors"; + } + ); + systems = [ "css-selectors" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "buildnode" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + (getAttr "yacc" self) + ]; + meta = { }; + } + ); + css-selectors-simple-tree = ( + build-asdf-system { + pname = "css-selectors-simple-tree"; + version = "20160628-git"; + asds = [ "css-selectors-simple-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; + sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; + system = "css-selectors-simple-tree"; + asd = "css-selectors-simple-tree"; + } + ); + systems = [ "css-selectors-simple-tree" ]; + lispLibs = [ + (getAttr "cl-html5-parser" self) + (getAttr "css-selectors" self) + ]; + meta = { }; + } + ); + css-selectors-stp = ( + build-asdf-system { + pname = "css-selectors-stp"; + version = "20160628-git"; + asds = [ "css-selectors-stp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; + sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; + system = "css-selectors-stp"; + asd = "css-selectors-stp"; + } + ); + systems = [ "css-selectors-stp" ]; + lispLibs = [ + (getAttr "css-selectors" self) + (getAttr "cxml-stp" self) + ]; + meta = { }; + } + ); + css-selectors-test = ( + build-asdf-system { + pname = "css-selectors-test"; + version = "20160628-git"; + asds = [ "css-selectors-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz"; + sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6"; + system = "css-selectors-test"; + asd = "css-selectors"; + } + ); + systems = [ "css-selectors-test" ]; + lispLibs = [ + (getAttr "buildnode-xhtml" self) + (getAttr "css-selectors" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + csv = ( + build-asdf-system { + pname = "csv"; + version = "20190710-git"; + asds = [ "csv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/csv/2019-07-10/csv-20190710-git.tgz"; + sha256 = "0jykv91w7anisac2aip38vnj7ywi567rcp4n8nv3lz5qb7g1dpy4"; + system = "csv"; + asd = "csv"; + } + ); + systems = [ "csv" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + csv-parser = ( + build-asdf-system { + pname = "csv-parser"; + version = "20140713-git"; + asds = [ "csv-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/csv-parser/2014-07-13/csv-parser-20140713-git.tgz"; + sha256 = "0pcp709dwxi3p2vrmx5qiy571pybfs1hpv9z8g4i1ig2l4mc3djh"; + system = "csv-parser"; + asd = "csv-parser"; + } + ); + systems = [ "csv-parser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + csv-validator = ( + build-asdf-system { + pname = "csv-validator"; + version = "20230618-git"; + asds = [ "csv-validator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/csv-validator/2023-06-18/csv-validator-20230618-git.tgz"; + sha256 = "14cwjc43q05a1gdl0m79sps59605dfrhd4mjhcxh7gxyj8x7x1k2"; + system = "csv-validator"; + asd = "csv-validator"; + } + ); + systems = [ "csv-validator" ]; + lispLibs = [ + (getAttr "local-time" self) + (getAttr "lparallel" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + csv-validator-tests = ( + build-asdf-system { + pname = "csv-validator-tests"; + version = "20230618-git"; + asds = [ "csv-validator-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/csv-validator/2023-06-18/csv-validator-20230618-git.tgz"; + sha256 = "14cwjc43q05a1gdl0m79sps59605dfrhd4mjhcxh7gxyj8x7x1k2"; + system = "csv-validator-tests"; + asd = "csv-validator-tests"; + } + ); + systems = [ "csv-validator-tests" ]; + lispLibs = [ + (getAttr "csv-validator" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ctype = ( + build-asdf-system { + pname = "ctype"; + version = "20241012-git"; + asds = [ "ctype" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ctype/2024-10-12/ctype-20241012-git.tgz"; + sha256 = "0qnssrjssb7258i3a1s1bv3z6plx4pzrkg65i8an25bvwrjwpvqv"; + system = "ctype"; + asd = "ctype"; + } + ); + systems = [ "ctype" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cubic-bezier = ( + build-asdf-system { + pname = "cubic-bezier"; + version = "20220707-git"; + asds = [ "cubic-bezier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cubic-bezier/2022-07-07/cubic-bezier-20220707-git.tgz"; + sha256 = "08byf1pw2s5sz97bk0sp2a6gdx5dkankbbg14azafd1k0vfh7vcr"; + system = "cubic-bezier"; + asd = "cubic-bezier"; + } + ); + systems = [ "cubic-bezier" ]; + lispLibs = [ + (getAttr "mfiano-utils" self) + (getAttr "origin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cue-parser = ( + build-asdf-system { + pname = "cue-parser"; + version = "20180228-git"; + asds = [ "cue-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cue-parser/2018-02-28/cue-parser-20180228-git.tgz"; + sha256 = "1zl3a02b68yywchd1aldls07b4qgrf08xpb4xiaaw8njk2qa0lz1"; + system = "cue-parser"; + asd = "cue-parser"; + } + ); + systems = [ "cue-parser" ]; + lispLibs = [ + (getAttr "esrap" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + curly = ( + build-asdf-system { + pname = "curly"; + version = "20120407-git"; + asds = [ "curly" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/curly/2012-04-07/curly-20120407-git.tgz"; + sha256 = "04gpkq6hd7wvvny0p3lgn87bfalswqc67sbg4p35j52w51mqd8vf"; + system = "curly"; + asd = "curly"; + } + ); + systems = [ "curly" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + curly_dot_test = ( + build-asdf-system { + pname = "curly.test"; + version = "20120407-git"; + asds = [ "curly.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/curly/2012-04-07/curly-20120407-git.tgz"; + sha256 = "04gpkq6hd7wvvny0p3lgn87bfalswqc67sbg4p35j52w51mqd8vf"; + system = "curly.test"; + asd = "curly"; + } + ); + systems = [ "curly.test" ]; + lispLibs = [ + (getAttr "curly" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + curry-compose-reader-macros = ( + build-asdf-system { + pname = "curry-compose-reader-macros"; + version = "20201220-git"; + asds = [ "curry-compose-reader-macros" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/curry-compose-reader-macros/2020-12-20/curry-compose-reader-macros-20201220-git.tgz"; + sha256 = "0j4qfwpw4ykf5npiln54w7jcnj46p7xf9d4p3jpx4a67fdkrlxd1"; + system = "curry-compose-reader-macros"; + asd = "curry-compose-reader-macros"; + } + ); + systems = [ "curry-compose-reader-macros" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxml = ( + build-asdf-system { + pname = "cxml"; + version = "20200610-git"; + asds = [ "cxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; + sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; + system = "cxml"; + asd = "cxml"; + } + ); + systems = [ "cxml" ]; + lispLibs = [ + (getAttr "closure-common" self) + (getAttr "puri" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + cxml-dom = ( + build-asdf-system { + pname = "cxml-dom"; + version = "20200610-git"; + asds = [ "cxml-dom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; + sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; + system = "cxml-dom"; + asd = "cxml-dom"; + } + ); + systems = [ "cxml-dom" ]; + lispLibs = [ + (getAttr "closure-common" self) + (getAttr "puri" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxml-klacks = ( + build-asdf-system { + pname = "cxml-klacks"; + version = "20200610-git"; + asds = [ "cxml-klacks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; + sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; + system = "cxml-klacks"; + asd = "cxml-klacks"; + } + ); + systems = [ "cxml-klacks" ]; + lispLibs = [ + (getAttr "closure-common" self) + (getAttr "puri" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxml-rng = ( + build-asdf-system { + pname = "cxml-rng"; + version = "20190710-git"; + asds = [ "cxml-rng" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml-rng/2019-07-10/cxml-rng-20190710-git.tgz"; + sha256 = "0pjb5268spiwq6b0cly8nfajr6rsh2wf6si646bzzjrxbgs51sxa"; + system = "cxml-rng"; + asd = "cxml-rng"; + } + ); + systems = [ "cxml-rng" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "parse-number" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxml-rpc = ( + build-asdf-system { + pname = "cxml-rpc"; + version = "20121013-git"; + asds = [ "cxml-rpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml-rpc/2012-10-13/cxml-rpc-20121013-git.tgz"; + sha256 = "1ihd8rg0shy7nykqcbvvx5px7sw8wr1nwz70jdrh6ibq74yr8flh"; + system = "cxml-rpc"; + asd = "cxml-rpc"; + } + ); + systems = [ "cxml-rpc" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxml-stp = ( + build-asdf-system { + pname = "cxml-stp"; + version = "20200325-git"; + asds = [ "cxml-stp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml-stp/2020-03-25/cxml-stp-20200325-git.tgz"; + sha256 = "01yfxxvb144i2mlp06fxx410mf3phxz5qaqvk90pp4dzdl883knv"; + system = "cxml-stp"; + asd = "cxml-stp"; + } + ); + systems = [ "cxml-stp" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cxml" self) + (getAttr "xpath" self) + ]; + meta = { }; + } + ); + cxml-test = ( + build-asdf-system { + pname = "cxml-test"; + version = "20200610-git"; + asds = [ "cxml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz"; + sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51"; + system = "cxml-test"; + asd = "cxml-test"; + } + ); + systems = [ "cxml-test" ]; + lispLibs = [ + (getAttr "closure-common" self) + (getAttr "puri" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxx = ( + build-asdf-system { + pname = "cxx"; + version = "20230214-git"; + asds = [ "cxx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cxx/2023-02-14/cl-cxx-20230214-git.tgz"; + sha256 = "08jh7ajgfdr3cqla02c4d2y06y0imkky5d4mwnlph01nczzf85cy"; + system = "cxx"; + asd = "cxx"; + } + ); + systems = [ "cxx" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxx-jit = ( + build-asdf-system { + pname = "cxx-jit"; + version = "20241012-git"; + asds = [ "cxx-jit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cxx-jit/2024-10-12/cl-cxx-jit-20241012-git.tgz"; + sha256 = "1xnhkhynikqs61s488jjzklbvwb46yxqx3zi98ifszj4r8ndi3ym"; + system = "cxx-jit"; + asd = "cxx-jit"; + } + ); + systems = [ "cxx-jit" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxx-jit-test = ( + build-asdf-system { + pname = "cxx-jit-test"; + version = "20241012-git"; + asds = [ "cxx-jit-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cxx-jit/2024-10-12/cl-cxx-jit-20241012-git.tgz"; + sha256 = "1xnhkhynikqs61s488jjzklbvwb46yxqx3zi98ifszj4r8ndi3ym"; + system = "cxx-jit-test"; + asd = "cxx-jit-test"; + } + ); + systems = [ "cxx-jit-test" ]; + lispLibs = [ + (getAttr "cxx-jit" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cxx-test = ( + build-asdf-system { + pname = "cxx-test"; + version = "20230214-git"; + asds = [ "cxx-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cxx/2023-02-14/cl-cxx-20230214-git.tgz"; + sha256 = "08jh7ajgfdr3cqla02c4d2y06y0imkky5d4mwnlph01nczzf85cy"; + system = "cxx-test"; + asd = "cxx-test"; + } + ); + systems = [ "cxx-test" ]; + lispLibs = [ + (getAttr "cxx" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + cytoscape-clj = ( + build-asdf-system { + pname = "cytoscape-clj"; + version = "20241012-git"; + asds = [ "cytoscape-clj" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cytoscape-clj/2024-10-12/cytoscape-clj-20241012-git.tgz"; + sha256 = "0kyjgffm8nlvz75dbyz4fp1v8sr7j2bd7axxyn226s30gwzhihck"; + system = "cytoscape-clj"; + asd = "cytoscape-clj"; + } + ); + systems = [ "cytoscape-clj" ]; + lispLibs = [ + (getAttr "common-lisp-jupyter" self) + (getAttr "jupyter-lab-extension" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + daemon = ( + build-asdf-system { + pname = "daemon"; + version = "20170403-git"; + asds = [ "daemon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/daemon/2017-04-03/daemon-20170403-git.tgz"; + sha256 = "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"; + system = "daemon"; + asd = "daemon"; + } + ); + systems = [ "daemon" ]; + lispLibs = [ (getAttr "trivial-features" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + damn-fast-priority-queue = ( + build-asdf-system { + pname = "damn-fast-priority-queue"; + version = "20241012-git"; + asds = [ "damn-fast-priority-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2024-10-12/damn-fast-priority-queue-20241012-git.tgz"; + sha256 = "1mbigpgi7qbqvpj59l1f7p2qcg00ybvqzdca1j1b9hx62h224ndw"; + system = "damn-fast-priority-queue"; + asd = "damn-fast-priority-queue"; + } + ); + systems = [ "damn-fast-priority-queue" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + damn-fast-stable-priority-queue = ( + build-asdf-system { + pname = "damn-fast-stable-priority-queue"; + version = "20241012-git"; + asds = [ "damn-fast-stable-priority-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2024-10-12/damn-fast-priority-queue-20241012-git.tgz"; + sha256 = "1mbigpgi7qbqvpj59l1f7p2qcg00ybvqzdca1j1b9hx62h224ndw"; + system = "damn-fast-stable-priority-queue"; + asd = "damn-fast-stable-priority-queue"; + } + ); + systems = [ "damn-fast-stable-priority-queue" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_email-address = ( + build-asdf-system { + pname = "darts.lib.email-address"; + version = "quicklisp-release-48464635-git"; + asds = [ "darts.lib.email-address" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclemailaddress/2016-04-21/dartsclemailaddress-quicklisp-release-48464635-git.tgz"; + sha256 = "15155nqi9q7ilaf14p4yi4iga8203rl7fn9v2iaxcfm18gsvqcjd"; + system = "darts.lib.email-address"; + asd = "darts.lib.email-address"; + } + ); + systems = [ "darts.lib.email-address" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_email-address-test = ( + build-asdf-system { + pname = "darts.lib.email-address-test"; + version = "quicklisp-release-48464635-git"; + asds = [ "darts.lib.email-address-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclemailaddress/2016-04-21/dartsclemailaddress-quicklisp-release-48464635-git.tgz"; + sha256 = "15155nqi9q7ilaf14p4yi4iga8203rl7fn9v2iaxcfm18gsvqcjd"; + system = "darts.lib.email-address-test"; + asd = "darts.lib.email-address-test"; + } + ); + systems = [ "darts.lib.email-address-test" ]; + lispLibs = [ + (getAttr "darts_dot_lib_dot_email-address" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_hashtree-test = ( + build-asdf-system { + pname = "darts.lib.hashtree-test"; + version = "20231021-git"; + asds = [ "darts.lib.hashtree-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclhashtree/2023-10-21/dartsclhashtree-20231021-git.tgz"; + sha256 = "1kbxk7vnpv9zy6pm004cyyp9mbb4n845pfdv4wxngaj96ndi5v6j"; + system = "darts.lib.hashtree-test"; + asd = "darts.lib.hashtree-test"; + } + ); + systems = [ "darts.lib.hashtree-test" ]; + lispLibs = [ + (getAttr "darts_dot_lib_dot_hashtrie" self) + (getAttr "darts_dot_lib_dot_wbtree" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_hashtrie = ( + build-asdf-system { + pname = "darts.lib.hashtrie"; + version = "20231021-git"; + asds = [ "darts.lib.hashtrie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclhashtree/2023-10-21/dartsclhashtree-20231021-git.tgz"; + sha256 = "1kbxk7vnpv9zy6pm004cyyp9mbb4n845pfdv4wxngaj96ndi5v6j"; + system = "darts.lib.hashtrie"; + asd = "darts.lib.hashtrie"; + } + ); + systems = [ "darts.lib.hashtrie" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_message-pack = ( + build-asdf-system { + pname = "darts.lib.message-pack"; + version = "20200325-git"; + asds = [ "darts.lib.message-pack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclmessagepack/2020-03-25/dartsclmessagepack-20200325-git.tgz"; + sha256 = "0i9jnvq6dp5zya1ijj3z7s10803jk8rb4nrjrzcgcfhkczd5si6y"; + system = "darts.lib.message-pack"; + asd = "darts.lib.message-pack"; + } + ); + systems = [ "darts.lib.message-pack" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "ieee-floats" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_message-pack-test = ( + build-asdf-system { + pname = "darts.lib.message-pack-test"; + version = "20200325-git"; + asds = [ "darts.lib.message-pack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclmessagepack/2020-03-25/dartsclmessagepack-20200325-git.tgz"; + sha256 = "0i9jnvq6dp5zya1ijj3z7s10803jk8rb4nrjrzcgcfhkczd5si6y"; + system = "darts.lib.message-pack-test"; + asd = "darts.lib.message-pack-test"; + } + ); + systems = [ "darts.lib.message-pack-test" ]; + lispLibs = [ + (getAttr "darts_dot_lib_dot_message-pack" self) + (getAttr "stefil" self) + (getAttr "trivial-octet-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_sequence-metrics = ( + build-asdf-system { + pname = "darts.lib.sequence-metrics"; + version = "20130312-git"; + asds = [ "darts.lib.sequence-metrics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclsequencemetrics/2013-03-12/dartsclsequencemetrics-20130312-git.tgz"; + sha256 = "1x99gj5dfgiaraawx1nd157g5ajygfxz47cz8jgi1fh52fp1p969"; + system = "darts.lib.sequence-metrics"; + asd = "darts.lib.sequence-metrics"; + } + ); + systems = [ "darts.lib.sequence-metrics" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_tools = ( + build-asdf-system { + pname = "darts.lib.tools"; + version = "20201220-git"; + asds = [ "darts.lib.tools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartscltools/2020-12-20/dartscltools-20201220-git.tgz"; + sha256 = "0mbz7ak03qsw41fgybdw4mbibr656y9xl9bfgr2rmkdkgxbicys9"; + system = "darts.lib.tools"; + asd = "darts.lib.tools"; + } + ); + systems = [ "darts.lib.tools" ]; + lispLibs = [ (getAttr "atomics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_tools_dot_test = ( + build-asdf-system { + pname = "darts.lib.tools.test"; + version = "20201220-git"; + asds = [ "darts.lib.tools.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartscltools/2020-12-20/dartscltools-20201220-git.tgz"; + sha256 = "0mbz7ak03qsw41fgybdw4mbibr656y9xl9bfgr2rmkdkgxbicys9"; + system = "darts.lib.tools.test"; + asd = "darts.lib.tools.test"; + } + ); + systems = [ "darts.lib.tools.test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "darts_dot_lib_dot_tools" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_uuid = ( + build-asdf-system { + pname = "darts.lib.uuid"; + version = "20241012-git"; + asds = [ "darts.lib.uuid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartscluuid/2024-10-12/dartscluuid-20241012-git.tgz"; + sha256 = "17i2icz6k6vb5mp95rsjr8ldzhjjlcn7dyylvxjrccbxbrblnnsl"; + system = "darts.lib.uuid"; + asd = "darts.lib.uuid"; + } + ); + systems = [ "darts.lib.uuid" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "ironclad" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_uuid-test = ( + build-asdf-system { + pname = "darts.lib.uuid-test"; + version = "20241012-git"; + asds = [ "darts.lib.uuid-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartscluuid/2024-10-12/dartscluuid-20241012-git.tgz"; + sha256 = "17i2icz6k6vb5mp95rsjr8ldzhjjlcn7dyylvxjrccbxbrblnnsl"; + system = "darts.lib.uuid-test"; + asd = "darts.lib.uuid-test"; + } + ); + systems = [ "darts.lib.uuid-test" ]; + lispLibs = [ + (getAttr "darts_dot_lib_dot_uuid" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + darts_dot_lib_dot_wbtree = ( + build-asdf-system { + pname = "darts.lib.wbtree"; + version = "20231021-git"; + asds = [ "darts.lib.wbtree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dartsclhashtree/2023-10-21/dartsclhashtree-20231021-git.tgz"; + sha256 = "1kbxk7vnpv9zy6pm004cyyp9mbb4n845pfdv4wxngaj96ndi5v6j"; + system = "darts.lib.wbtree"; + asd = "darts.lib.wbtree"; + } + ); + systems = [ "darts.lib.wbtree" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-format-validation = ( + build-asdf-system { + pname = "data-format-validation"; + version = "20140713-git"; + asds = [ "data-format-validation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-data-format-validation/2014-07-13/cl-data-format-validation-20140713-git.tgz"; + sha256 = "0zmk47xmicyqvp1impn8kgh5373ysmx3gfpqcvbi9r31qsir2nqa"; + system = "data-format-validation"; + asd = "data-format-validation"; + } + ); + systems = [ "data-format-validation" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-frame = ( + build-asdf-system { + pname = "data-frame"; + version = "20241012-git"; + asds = [ "data-frame" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-frame/2024-10-12/data-frame-20241012-git.tgz"; + sha256 = "1sqyvb6hscz070d5ap5v5yvql4nx69c7jkp29za5dj84rsvbckcp"; + system = "data-frame"; + asd = "data-frame"; + } + ); + systems = [ "data-frame" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "anaphora" self) + (getAttr "array-operations" self) + (getAttr "duologue" self) + (getAttr "let-plus" self) + (getAttr "num-utils" self) + (getAttr "select" self) + (getAttr "statistics" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-lens = ( + build-asdf-system { + pname = "data-lens"; + version = "20241012-git"; + asds = [ "data-lens" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-lens/2024-10-12/data-lens-20241012-git.tgz"; + sha256 = "1bark9r3br5ndcbkiagq891gn82xdiy8hrgzp72656yyadsrid5i"; + system = "data-lens"; + asd = "data-lens"; + } + ); + systems = [ "data-lens" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-lens_plus_fset = ( + build-asdf-system { + pname = "data-lens+fset"; + version = "20241012-git"; + asds = [ "data-lens+fset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-lens/2024-10-12/data-lens-20241012-git.tgz"; + sha256 = "1bark9r3br5ndcbkiagq891gn82xdiy8hrgzp72656yyadsrid5i"; + system = "data-lens+fset"; + asd = "data-lens+fset"; + } + ); + systems = [ "data-lens+fset" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "data-lens" self) + (getAttr "fset" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-sift = ( + build-asdf-system { + pname = "data-sift"; + version = "20130128-git"; + asds = [ "data-sift" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-sift/2013-01-28/data-sift-20130128-git.tgz"; + sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146"; + system = "data-sift"; + asd = "data-sift"; + } + ); + systems = [ "data-sift" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "parse-number" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-sift-test = ( + build-asdf-system { + pname = "data-sift-test"; + version = "20130128-git"; + asds = [ "data-sift-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-sift/2013-01-28/data-sift-20130128-git.tgz"; + sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146"; + system = "data-sift-test"; + asd = "data-sift"; + } + ); + systems = [ "data-sift-test" ]; + lispLibs = [ + (getAttr "data-sift" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-table = ( + build-asdf-system { + pname = "data-table"; + version = "20231021-git"; + asds = [ "data-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-table/2023-10-21/data-table-20231021-git.tgz"; + sha256 = "1x64s3r2p28wgx7ffm205i90am2azfqkl6zlkrnjhppp82xan8yd"; + system = "data-table"; + asd = "data-table"; + } + ); + systems = [ "data-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + ]; + meta = { }; + } + ); + data-table-clsql = ( + build-asdf-system { + pname = "data-table-clsql"; + version = "20231021-git"; + asds = [ "data-table-clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-table/2023-10-21/data-table-20231021-git.tgz"; + sha256 = "1x64s3r2p28wgx7ffm205i90am2azfqkl6zlkrnjhppp82xan8yd"; + system = "data-table-clsql"; + asd = "data-table-clsql"; + } + ); + systems = [ "data-table-clsql" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-helper" self) + (getAttr "collectors" self) + (getAttr "data-table" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + data-table-test = ( + build-asdf-system { + pname = "data-table-test"; + version = "20231021-git"; + asds = [ "data-table-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/data-table/2023-10-21/data-table-20231021-git.tgz"; + sha256 = "1x64s3r2p28wgx7ffm205i90am2azfqkl6zlkrnjhppp82xan8yd"; + system = "data-table-test"; + asd = "data-table"; + } + ); + systems = [ "data-table-test" ]; + lispLibs = [ + (getAttr "data-table" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + database-migrations = ( + build-asdf-system { + pname = "database-migrations"; + version = "20230214-git"; + asds = [ "database-migrations" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/database-migrations/2023-02-14/database-migrations-20230214-git.tgz"; + sha256 = "1mm5adjhqy0djr8fxpdsamc2ry2x5krc9w0s5nnfvyc4yqs0bwaa"; + system = "database-migrations"; + asd = "database-migrations"; + } + ); + systems = [ "database-migrations" ]; + lispLibs = [ (getAttr "postmodern" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + datafly = ( + build-asdf-system { + pname = "datafly"; + version = "20241012-git"; + asds = [ "datafly" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/datafly/2024-10-12/datafly-20241012-git.tgz"; + sha256 = "103zp5s778lys4lsn7hvyis65757338n0l9gzl595qfim4apx8g0"; + system = "datafly"; + asd = "datafly"; + } + ); + systems = [ "datafly" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "closer-mop" self) + (getAttr "dbi" self) + (getAttr "function-cache" self) + (getAttr "iterate" self) + (getAttr "jonathan" self) + (getAttr "kebab" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "named-readtables" self) + (getAttr "optima" self) + (getAttr "sxql" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + datafly-test = ( + build-asdf-system { + pname = "datafly-test"; + version = "20241012-git"; + asds = [ "datafly-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/datafly/2024-10-12/datafly-20241012-git.tgz"; + sha256 = "103zp5s778lys4lsn7hvyis65757338n0l9gzl595qfim4apx8g0"; + system = "datafly-test"; + asd = "datafly-test"; + } + ); + systems = [ "datafly-test" ]; + lispLibs = [ + (getAttr "datafly" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "sxql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dataloader = ( + build-asdf-system { + pname = "dataloader"; + version = "20210531-git"; + asds = [ "dataloader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dataloader/2021-05-31/dataloader-20210531-git.tgz"; + sha256 = "1a7nap2yp0jjd9r3xpkj0a6z0m3gshz73abm8kfza4kf31ipzyik"; + system = "dataloader"; + asd = "dataloader"; + } + ); + systems = [ "dataloader" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-csv" self) + (getAttr "cl-jpeg" self) + (getAttr "cl-wav" self) + (getAttr "iterate" self) + (getAttr "magicffi" self) + (getAttr "numcl" self) + (getAttr "numpy-file-format" self) + (getAttr "png" self) + (getAttr "retrospectiff" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dataloader_dot_test = ( + build-asdf-system { + pname = "dataloader.test"; + version = "20210531-git"; + asds = [ "dataloader.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dataloader/2021-05-31/dataloader-20210531-git.tgz"; + sha256 = "1a7nap2yp0jjd9r3xpkj0a6z0m3gshz73abm8kfza4kf31ipzyik"; + system = "dataloader.test"; + asd = "dataloader.test"; + } + ); + systems = [ "dataloader.test" ]; + lispLibs = [ + (getAttr "dataloader" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + datamuse = ( + build-asdf-system { + pname = "datamuse"; + version = "20231021-git"; + asds = [ "datamuse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/datamuse/2023-10-21/datamuse-20231021-git.tgz"; + sha256 = "18mminvwv6wql6qh9kxxkhjfbxfz37gr125wy9h6za83vn1rkpwc"; + system = "datamuse"; + asd = "datamuse"; + } + ); + systems = [ "datamuse" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "drakma" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + date-calc = ( + build-asdf-system { + pname = "date-calc"; + version = "20191227-git"; + asds = [ "date-calc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/date-calc/2019-12-27/date-calc-20191227-git.tgz"; + sha256 = "09wmjp3ypxigcmx4mvc0yjnj56wkjjchhssdmklbaswy5mi7xc9s"; + system = "date-calc"; + asd = "date-calc"; + } + ); + systems = [ "date-calc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + datum-comments = ( + build-asdf-system { + pname = "datum-comments"; + version = "20210228-git"; + asds = [ "datum-comments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/datum-comments/2021-02-28/datum-comments-20210228-git.tgz"; + sha256 = "07zzlhphcmwimp4pjckhnbjbn127lcpafi7j0l74137dz9pimjik"; + system = "datum-comments"; + asd = "datum-comments"; + } + ); + systems = [ "datum-comments" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + db3 = ( + build-asdf-system { + pname = "db3"; + version = "20200218-git"; + asds = [ "db3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-db3/2020-02-18/cl-db3-20200218-git.tgz"; + sha256 = "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"; + system = "db3"; + asd = "db3"; + } + ); + systems = [ "db3" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dbd-mysql = ( + build-asdf-system { + pname = "dbd-mysql"; + version = "20241012-git"; + asds = [ "dbd-mysql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; + sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; + system = "dbd-mysql"; + asd = "dbd-mysql"; + } + ); + systems = [ "dbd-mysql" ]; + lispLibs = [ + (getAttr "cl-mysql" self) + (getAttr "dbi" self) + ]; + meta = { }; + } + ); + dbd-postgres = ( + build-asdf-system { + pname = "dbd-postgres"; + version = "20241012-git"; + asds = [ "dbd-postgres" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; + sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; + system = "dbd-postgres"; + asd = "dbd-postgres"; + } + ); + systems = [ "dbd-postgres" ]; + lispLibs = [ + (getAttr "cl-postgres" self) + (getAttr "dbi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + dbd-sqlite3 = ( + build-asdf-system { + pname = "dbd-sqlite3"; + version = "20241012-git"; + asds = [ "dbd-sqlite3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; + sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; + system = "dbd-sqlite3"; + asd = "dbd-sqlite3"; + } + ); + systems = [ "dbd-sqlite3" ]; + lispLibs = [ + (getAttr "dbi" self) + (getAttr "sqlite" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + dbi = ( + build-asdf-system { + pname = "dbi"; + version = "20241012-git"; + asds = [ "dbi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; + sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; + system = "dbi"; + asd = "dbi"; + } + ); + systems = [ "dbi" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + dbi-test = ( + build-asdf-system { + pname = "dbi-test"; + version = "20241012-git"; + asds = [ "dbi-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dbi/2024-10-12/cl-dbi-20241012-git.tgz"; + sha256 = "17szd6sz1hlwl5fm4qjgyd8ax01wkbhv8hxcyy8qscx39sc0cnpy"; + system = "dbi-test"; + asd = "dbi-test"; + } + ); + systems = [ "dbi-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "dbi" self) + (getAttr "rove" self) + (getAttr "trivial-types" self) + ]; + meta = { }; + } + ); + dbus = ( + build-asdf-system { + pname = "dbus"; + version = "20241012-git"; + asds = [ "dbus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dbus/2024-10-12/dbus-20241012-git.tgz"; + sha256 = "1y880074m9g0swxrzpbplmkdxc6r62gzyigglf4x2i0zyss3gf65"; + system = "dbus"; + asd = "dbus"; + } + ); + systems = [ "dbus" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "babel" self) + (getAttr "cl-xmlspam" self) + (getAttr "cxml" self) + (getAttr "flexi-streams" self) + (getAttr "ieee-floats" self) + (getAttr "iolib" self) + (getAttr "ironclad" self) + (getAttr "split-sequence" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + dct = ( + build-asdf-system { + pname = "dct"; + version = "20220331-git"; + asds = [ "dct" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dct/2022-03-31/cl-dct-20220331-git.tgz"; + sha256 = "1rzq4vdhvr454668a3xf56mha061d27ymsgawmxikgk86wi8biin"; + system = "dct"; + asd = "dct"; + } + ); + systems = [ "dct" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dct-test = ( + build-asdf-system { + pname = "dct-test"; + version = "20220331-git"; + asds = [ "dct-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-dct/2022-03-31/cl-dct-20220331-git.tgz"; + sha256 = "1rzq4vdhvr454668a3xf56mha061d27ymsgawmxikgk86wi8biin"; + system = "dct-test"; + asd = "dct-test"; + } + ); + systems = [ "dct-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-coveralls" self) + (getAttr "dct" self) + (getAttr "lisp-unit" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ddo = ( + build-asdf-system { + pname = "ddo"; + version = "20210411-git"; + asds = [ "ddo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "ddo"; + asd = "ddo"; + } + ); + systems = [ "ddo" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-mpi" self) + (getAttr "cl-mpi-extensions" self) + (getAttr "femlisp-basic" self) + (getAttr "femlisp-dictionary" self) + (getAttr "femlisp-parallel" self) + (getAttr "lfarm-admin" self) + (getAttr "lfarm-client" self) + (getAttr "lfarm-server" self) + (getAttr "trees" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + de-mock-racy = ( + build-asdf-system { + pname = "de-mock-racy"; + version = "20221106-git"; + asds = [ "de-mock-racy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/de-mock-racy/2022-11-06/de-mock-racy-20221106-git.tgz"; + sha256 = "02rkg1i5r8fgyhaipb0mkz543c8r81kqmwmmvywnnw8hpyvav2xb"; + system = "de-mock-racy"; + asd = "de-mock-racy"; + } + ); + systems = [ "de-mock-racy" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dealii-tutorial = ( + build-asdf-system { + pname = "dealii-tutorial"; + version = "20210411-git"; + asds = [ "dealii-tutorial" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "dealii-tutorial"; + asd = "dealii-tutorial"; + } + ); + systems = [ "dealii-tutorial" ]; + lispLibs = [ (getAttr "femlisp" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + decimals = ( + build-asdf-system { + pname = "decimals"; + version = "20211209-git"; + asds = [ "decimals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-decimals/2021-12-09/cl-decimals-20211209-git.tgz"; + sha256 = "0wn5hq1pwd3wpjqqhpjzarcdk1q6416g8y447iaf55j5nbhlmbn6"; + system = "decimals"; + asd = "decimals"; + } + ); + systems = [ "decimals" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deeds = ( + build-asdf-system { + pname = "deeds"; + version = "20231021-git"; + asds = [ "deeds" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deeds/2023-10-21/deeds-20231021-git.tgz"; + sha256 = "0pd178wydg2zld8pvfm7ss5qvbjh4g8klqbhx2k7h68hn2q1xnn8"; + system = "deeds"; + asd = "deeds"; + } + ); + systems = [ "deeds" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "form-fiddle" self) + (getAttr "lambda-fiddle" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + def-properties = ( + build-asdf-system { + pname = "def-properties"; + version = "20230618-git"; + asds = [ "def-properties" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-def-properties/2023-06-18/cl-def-properties-20230618-git.tgz"; + sha256 = "0yvii6llhmjv1k7hli6waj1bprj8fqhncgnk8mdlg08wwa27a2j8"; + system = "def-properties"; + asd = "def-properties"; + } + ); + systems = [ "def-properties" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defclass-std = ( + build-asdf-system { + pname = "defclass-std"; + version = "20201220-git"; + asds = [ "defclass-std" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defclass-std/2020-12-20/defclass-std-20201220-git.tgz"; + sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18"; + system = "defclass-std"; + asd = "defclass-std"; + } + ); + systems = [ "defclass-std" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + ]; + meta = { }; + } + ); + defclass-std-test = ( + build-asdf-system { + pname = "defclass-std-test"; + version = "20201220-git"; + asds = [ "defclass-std-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defclass-std/2020-12-20/defclass-std-20201220-git.tgz"; + sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18"; + system = "defclass-std-test"; + asd = "defclass-std-test"; + } + ); + systems = [ "defclass-std-test" ]; + lispLibs = [ + (getAttr "defclass-std" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defconfig = ( + build-asdf-system { + pname = "defconfig"; + version = "20211209-git"; + asds = [ "defconfig" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defconfig/2021-12-09/defconfig-20211209-git.tgz"; + sha256 = "1gvgni43fxknj800k2k7jhgayzqqqp3s321sw4qmsjxpv479hcqy"; + system = "defconfig"; + asd = "defconfig"; + } + ); + systems = [ "defconfig" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-cltl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defenum = ( + build-asdf-system { + pname = "defenum"; + version = "20241012-git"; + asds = [ "defenum" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defenum/2024-10-12/defenum-20241012-git.tgz"; + sha256 = "1856w0vsjj9fcyqrry5k4b2iv87xms5wlw8xbqawjax6w5hdsrhk"; + system = "defenum"; + asd = "defenum"; + } + ); + systems = [ "defenum" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deferred = ( + build-asdf-system { + pname = "deferred"; + version = "20231021-git"; + asds = [ "deferred" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deferred/2023-10-21/deferred-20231021-git.tgz"; + sha256 = "0npsxxapah8c3sxmfmi0djvw5kw5pj03dk5ia4yh3q2v7mwzpqy2"; + system = "deferred"; + asd = "deferred"; + } + ); + systems = [ "deferred" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + define-json-expander = ( + build-asdf-system { + pname = "define-json-expander"; + version = "20140713-git"; + asds = [ "define-json-expander" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/define-json-expander/2014-07-13/define-json-expander-20140713-git.tgz"; + sha256 = "193mhjcy1qnfd7r7zia3qs8p7gllvq6s0b2wcqmkh0y17aw8brkh"; + system = "define-json-expander"; + asd = "define-json-expander"; + } + ); + systems = [ "define-json-expander" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + definer = ( + build-asdf-system { + pname = "definer"; + version = "20241012-git"; + asds = [ "definer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/definer/2024-10-12/definer-20241012-git.tgz"; + sha256 = "0vd7gcj55pdzgxq2309pxshplg3rjx95xikkc2ylqrcm9nf3d2zb"; + system = "definer"; + asd = "definer"; + } + ); + systems = [ "definer" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + definitions = ( + build-asdf-system { + pname = "definitions"; + version = "20241012-git"; + asds = [ "definitions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/definitions/2024-10-12/definitions-20241012-git.tgz"; + sha256 = "16wg9rzxc193qvhzay69czr19wzy16b53vm1gy6p25gqvz90zryd"; + system = "definitions"; + asd = "definitions"; + } + ); + systems = [ "definitions" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + definitions-systems = ( + build-asdf-system { + pname = "definitions-systems"; + version = "3.0"; + asds = [ "definitions-systems" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/definitions-systems/2023-06-18/definitions-systems_3.0.tgz"; + sha256 = "0wly8hr9gfxhdz4l46xsh4vj99q9aq7p3cfsglbgv19kdsvv217r"; + system = "definitions-systems"; + asd = "definitions-systems"; + } + ); + systems = [ "definitions-systems" ]; + lispLibs = [ + (getAttr "canonicalized-initargs" self) + (getAttr "closer-mop" self) + (getAttr "enhanced-defclass" self) + (getAttr "enhanced-find-class" self) + (getAttr "shared-preferences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + definitions-systems__tests = ( + build-asdf-system { + pname = "definitions-systems_tests"; + version = "3.0"; + asds = [ "definitions-systems_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/definitions-systems/2023-06-18/definitions-systems_3.0.tgz"; + sha256 = "0wly8hr9gfxhdz4l46xsh4vj99q9aq7p3cfsglbgv19kdsvv217r"; + system = "definitions-systems_tests"; + asd = "definitions-systems_tests"; + } + ); + systems = [ "definitions-systems_tests" ]; + lispLibs = [ + (getAttr "definitions-systems" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deflate = ( + build-asdf-system { + pname = "deflate"; + version = "20241012-git"; + asds = [ "deflate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deflate/2024-10-12/deflate-20241012-git.tgz"; + sha256 = "1b225rgc3b2b2k941aj8mz4fkyysi0my368r042wzykq28lwwwij"; + system = "deflate"; + asd = "deflate"; + } + ); + systems = [ "deflate" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deflazy = ( + build-asdf-system { + pname = "deflazy"; + version = "20200427-git"; + asds = [ "deflazy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "deflazy"; + asd = "deflazy"; + } + ); + systems = [ "deflazy" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "uncommon-lisp" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defmain = ( + build-asdf-system { + pname = "defmain"; + version = "20241012-git"; + asds = [ "defmain" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defmain/2024-10-12/defmain-20241012-git.tgz"; + sha256 = "0lb45xmpan188vcysc7d579gg1mc7qi3xyyqc6mqr49571zshzb1"; + system = "defmain"; + asd = "defmain"; + } + ); + systems = [ "defmain" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "cl-inflector" self) + (getAttr "cl-strings" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "net_dot_didierverna_dot_clon_dot_core" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defmain-test = ( + build-asdf-system { + pname = "defmain-test"; + version = "20241012-git"; + asds = [ "defmain-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defmain/2024-10-12/defmain-20241012-git.tgz"; + sha256 = "0lb45xmpan188vcysc7d579gg1mc7qi3xyyqc6mqr49571zshzb1"; + system = "defmain-test"; + asd = "defmain-test"; + } + ); + systems = [ "defmain-test" ]; + lispLibs = [ + (getAttr "defmain" self) + (getAttr "hamcrest" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defmemo = ( + build-asdf-system { + pname = "defmemo"; + version = "20120407-git"; + asds = [ "defmemo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defmemo/2012-04-07/defmemo-20120407-git.tgz"; + sha256 = "0rkvnjfb6fajzfzislz6z372bqpkj6wfbf0sxmzhhigni4wnil27"; + system = "defmemo"; + asd = "defmemo"; + } + ); + systems = [ "defmemo" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defmemo-test = ( + build-asdf-system { + pname = "defmemo-test"; + version = "20120407-git"; + asds = [ "defmemo-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defmemo/2012-04-07/defmemo-20120407-git.tgz"; + sha256 = "0rkvnjfb6fajzfzislz6z372bqpkj6wfbf0sxmzhhigni4wnil27"; + system = "defmemo-test"; + asd = "defmemo"; + } + ); + systems = [ "defmemo-test" ]; + lispLibs = [ (getAttr "defmemo" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defpackage-plus = ( + build-asdf-system { + pname = "defpackage-plus"; + version = "20180131-git"; + asds = [ "defpackage-plus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defpackage-plus/2018-01-31/defpackage-plus-20180131-git.tgz"; + sha256 = "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"; + system = "defpackage-plus"; + asd = "defpackage-plus"; + } + ); + systems = [ "defpackage-plus" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defrec = ( + build-asdf-system { + pname = "defrec"; + version = "20230618-git"; + asds = [ "defrec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defrec/2023-06-18/defrec-20230618-git.tgz"; + sha256 = "04wd43z2k5cv4a55x532y3aqc7gf1ksndvndvy0y6bslxqqgv63m"; + system = "defrec"; + asd = "defrec"; + } + ); + systems = [ "defrec" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defrest = ( + build-asdf-system { + pname = "defrest"; + version = "20210531-git"; + asds = [ "defrest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defrest/2021-05-31/defrest-20210531-git.tgz"; + sha256 = "14pap344a0549mb7p79jf87ibfxmymk0hf9i7galcfi4s8nqq45g"; + system = "defrest"; + asd = "defrest"; + } + ); + systems = [ "defrest" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "hunchentoot" self) + (getAttr "quri" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defrest_dot_test = ( + build-asdf-system { + pname = "defrest.test"; + version = "20210531-git"; + asds = [ "defrest.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defrest/2021-05-31/defrest-20210531-git.tgz"; + sha256 = "14pap344a0549mb7p79jf87ibfxmymk0hf9i7galcfi4s8nqq45g"; + system = "defrest.test"; + asd = "defrest"; + } + ); + systems = [ "defrest.test" ]; + lispLibs = [ + (getAttr "defrest" self) + (getAttr "drakma" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defstar = ( + build-asdf-system { + pname = "defstar"; + version = "20140713-git"; + asds = [ "defstar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defstar/2014-07-13/defstar-20140713-git.tgz"; + sha256 = "0n6m3aqvdfnsrhlhqjcy72d1i55lbkjg13ij5c7vw003p1n78wxi"; + system = "defstar"; + asd = "defstar"; + } + ); + systems = [ "defstar" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defsystem-compatibility = ( + build-asdf-system { + pname = "defsystem-compatibility"; + version = "20101006-darcs"; + asds = [ "defsystem-compatibility" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz"; + sha256 = "0bw0c69zyika19rvzl8xplwrqsgznhnlbj40fcszfw0vxh2czj0f"; + system = "defsystem-compatibility"; + asd = "defsystem-compatibility"; + } + ); + systems = [ "defsystem-compatibility" ]; + lispLibs = [ (getAttr "metatilities-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defsystem-compatibility-test = ( + build-asdf-system { + pname = "defsystem-compatibility-test"; + version = "20101006-darcs"; + asds = [ "defsystem-compatibility-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz"; + sha256 = "0bw0c69zyika19rvzl8xplwrqsgznhnlbj40fcszfw0vxh2czj0f"; + system = "defsystem-compatibility-test"; + asd = "defsystem-compatibility-test"; + } + ); + systems = [ "defsystem-compatibility-test" ]; + lispLibs = [ + (getAttr "defsystem-compatibility" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + defvariant = ( + build-asdf-system { + pname = "defvariant"; + version = "20140713-git"; + asds = [ "defvariant" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/defvariant/2014-07-13/defvariant-20140713-git.tgz"; + sha256 = "0rma557l2irjyzrswcd7329iic2pjxw0jgk3m2inag39l6wyqsr1"; + system = "defvariant"; + asd = "defvariant"; + } + ); + systems = [ "defvariant" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + delorean = ( + build-asdf-system { + pname = "delorean"; + version = "20130615-git"; + asds = [ "delorean" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/delorean/2013-06-15/delorean-20130615-git.tgz"; + sha256 = "0q11wqdlvis91i996mar72icw07yf7mwmsnlmsbsya9kaqj7n3cd"; + system = "delorean"; + asd = "delorean"; + } + ); + systems = [ "delorean" ]; + lispLibs = [ (getAttr "local-time" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + delorean-test = ( + build-asdf-system { + pname = "delorean-test"; + version = "20130615-git"; + asds = [ "delorean-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/delorean/2013-06-15/delorean-20130615-git.tgz"; + sha256 = "0q11wqdlvis91i996mar72icw07yf7mwmsnlmsbsya9kaqj7n3cd"; + system = "delorean-test"; + asd = "delorean"; + } + ); + systems = [ "delorean-test" ]; + lispLibs = [ + (getAttr "delorean" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + delta-debug = ( + build-asdf-system { + pname = "delta-debug"; + version = "20180831-git"; + asds = [ "delta-debug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/delta-debug/2018-08-31/delta-debug-20180831-git.tgz"; + sha256 = "0dm33v8ipkpr23mjb9s6z2c7gmxwjbd5khc7c1vangba18nzm7ir"; + system = "delta-debug"; + asd = "delta-debug"; + } + ); + systems = [ "delta-debug" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "curry-compose-reader-macros" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dendrite = ( + build-asdf-system { + pname = "dendrite"; + version = "release-quicklisp-409b1061-git"; + asds = [ "dendrite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz"; + sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5"; + system = "dendrite"; + asd = "dendrite"; + } + ); + systems = [ "dendrite" ]; + lispLibs = [ + (getAttr "dendrite_dot_micro-l-system" self) + (getAttr "dendrite_dot_primitives" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dendrite_dot_micro-l-system = ( + build-asdf-system { + pname = "dendrite.micro-l-system"; + version = "release-quicklisp-409b1061-git"; + asds = [ "dendrite.micro-l-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz"; + sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5"; + system = "dendrite.micro-l-system"; + asd = "dendrite.micro-l-system"; + } + ); + systems = [ "dendrite.micro-l-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dendrite_dot_primitives = ( + build-asdf-system { + pname = "dendrite.primitives"; + version = "release-quicklisp-409b1061-git"; + asds = [ "dendrite.primitives" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz"; + sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5"; + system = "dendrite.primitives"; + asd = "dendrite.primitives"; + } + ); + systems = [ "dendrite.primitives" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "rtg-math" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-gzip = ( + build-asdf-system { + pname = "deoxybyte-gzip"; + version = "20140113-git"; + asds = [ "deoxybyte-gzip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-gzip/2014-01-13/deoxybyte-gzip-20140113-git.tgz"; + sha256 = "0ccci902nxqhdlskw3pghcjg0vgl10xlh16cb5b631j3n2ajfa16"; + system = "deoxybyte-gzip"; + asd = "deoxybyte-gzip"; + } + ); + systems = [ "deoxybyte-gzip" ]; + lispLibs = [ + (getAttr "deoxybyte-io" self) + (getAttr "deoxybyte-systems" self) + (getAttr "deoxybyte-unix" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-gzip-test = ( + build-asdf-system { + pname = "deoxybyte-gzip-test"; + version = "20140113-git"; + asds = [ "deoxybyte-gzip-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-gzip/2014-01-13/deoxybyte-gzip-20140113-git.tgz"; + sha256 = "0ccci902nxqhdlskw3pghcjg0vgl10xlh16cb5b631j3n2ajfa16"; + system = "deoxybyte-gzip-test"; + asd = "deoxybyte-gzip-test"; + } + ); + systems = [ "deoxybyte-gzip-test" ]; + lispLibs = [ + (getAttr "deoxybyte-gzip" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-io = ( + build-asdf-system { + pname = "deoxybyte-io"; + version = "20140113-git"; + asds = [ "deoxybyte-io" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-io/2014-01-13/deoxybyte-io-20140113-git.tgz"; + sha256 = "0pjx96g50yqhdk0l1y970hc22fc1bl8ppyklhp62l41b4fb7hbbv"; + system = "deoxybyte-io"; + asd = "deoxybyte-io"; + } + ); + systems = [ "deoxybyte-io" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "deoxybyte-systems" self) + (getAttr "deoxybyte-utilities" self) + (getAttr "getopt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-io-test = ( + build-asdf-system { + pname = "deoxybyte-io-test"; + version = "20140113-git"; + asds = [ "deoxybyte-io-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-io/2014-01-13/deoxybyte-io-20140113-git.tgz"; + sha256 = "0pjx96g50yqhdk0l1y970hc22fc1bl8ppyklhp62l41b4fb7hbbv"; + system = "deoxybyte-io-test"; + asd = "deoxybyte-io-test"; + } + ); + systems = [ "deoxybyte-io-test" ]; + lispLibs = [ + (getAttr "deoxybyte-io" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-systems = ( + build-asdf-system { + pname = "deoxybyte-systems"; + version = "20140113-git"; + asds = [ "deoxybyte-systems" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-systems/2014-01-13/deoxybyte-systems-20140113-git.tgz"; + sha256 = "0sbzl0ngz85mvkghcy8y94hk34v5hvi41b111mb76f2jvdq9jjr8"; + system = "deoxybyte-systems"; + asd = "deoxybyte-systems"; + } + ); + systems = [ "deoxybyte-systems" ]; + lispLibs = [ (getAttr "cl-fad" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-unix = ( + build-asdf-system { + pname = "deoxybyte-unix"; + version = "20140113-git"; + asds = [ "deoxybyte-unix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-unix/2014-01-13/deoxybyte-unix-20140113-git.tgz"; + sha256 = "016lgb8vcnn7qwhndan1d61wbb10xmsczqp7h2kkfnhlvkr484qf"; + system = "deoxybyte-unix"; + asd = "deoxybyte-unix"; + } + ); + systems = [ "deoxybyte-unix" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "deoxybyte-io" self) + (getAttr "deoxybyte-systems" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-unix-test = ( + build-asdf-system { + pname = "deoxybyte-unix-test"; + version = "20140113-git"; + asds = [ "deoxybyte-unix-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-unix/2014-01-13/deoxybyte-unix-20140113-git.tgz"; + sha256 = "016lgb8vcnn7qwhndan1d61wbb10xmsczqp7h2kkfnhlvkr484qf"; + system = "deoxybyte-unix-test"; + asd = "deoxybyte-unix-test"; + } + ); + systems = [ "deoxybyte-unix-test" ]; + lispLibs = [ + (getAttr "deoxybyte-unix" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-utilities = ( + build-asdf-system { + pname = "deoxybyte-utilities"; + version = "20140113-git"; + asds = [ "deoxybyte-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-utilities/2014-01-13/deoxybyte-utilities-20140113-git.tgz"; + sha256 = "054mvn27d9xdsal87avyxzphgv6pk96a0c1icpkldqczlmzl9j0g"; + system = "deoxybyte-utilities"; + asd = "deoxybyte-utilities"; + } + ); + systems = [ "deoxybyte-utilities" ]; + lispLibs = [ (getAttr "deoxybyte-systems" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deoxybyte-utilities-test = ( + build-asdf-system { + pname = "deoxybyte-utilities-test"; + version = "20140113-git"; + asds = [ "deoxybyte-utilities-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deoxybyte-utilities/2014-01-13/deoxybyte-utilities-20140113-git.tgz"; + sha256 = "054mvn27d9xdsal87avyxzphgv6pk96a0c1icpkldqczlmzl9j0g"; + system = "deoxybyte-utilities-test"; + asd = "deoxybyte-utilities-test"; + } + ); + systems = [ "deoxybyte-utilities-test" ]; + lispLibs = [ + (getAttr "deoxybyte-utilities" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deploy = ( + build-asdf-system { + pname = "deploy"; + version = "20241012-git"; + asds = [ "deploy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deploy/2024-10-12/deploy-20241012-git.tgz"; + sha256 = "1ysi8fjgb7kq3cycb6ms44j0m70xbd140fh4qgcpj7fm26p2a59p"; + system = "deploy"; + asd = "deploy"; + } + ); + systems = [ "deploy" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "sha3" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deploy-test = ( + build-asdf-system { + pname = "deploy-test"; + version = "20241012-git"; + asds = [ "deploy-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deploy/2024-10-12/deploy-20241012-git.tgz"; + sha256 = "1ysi8fjgb7kq3cycb6ms44j0m70xbd140fh4qgcpj7fm26p2a59p"; + system = "deploy-test"; + asd = "deploy-test"; + } + ); + systems = [ "deploy-test" ]; + lispLibs = [ + (getAttr "cl-mpg123" self) + (getAttr "cl-out123" self) + (getAttr "deploy" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + depot = ( + build-asdf-system { + pname = "depot"; + version = "20241012-git"; + asds = [ "depot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; + sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; + system = "depot"; + asd = "depot"; + } + ); + systems = [ "depot" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + depot-in-memory = ( + build-asdf-system { + pname = "depot-in-memory"; + version = "20241012-git"; + asds = [ "depot-in-memory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; + sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; + system = "depot-in-memory"; + asd = "depot-in-memory"; + } + ); + systems = [ "depot-in-memory" ]; + lispLibs = [ + (getAttr "atomics" self) + (getAttr "depot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + depot-test = ( + build-asdf-system { + pname = "depot-test"; + version = "20241012-git"; + asds = [ "depot-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; + sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; + system = "depot-test"; + asd = "depot-test"; + } + ); + systems = [ "depot-test" ]; + lispLibs = [ + (getAttr "depot" self) + (getAttr "depot-in-memory" self) + (getAttr "depot-zip" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + depot-virtual = ( + build-asdf-system { + pname = "depot-virtual"; + version = "20241012-git"; + asds = [ "depot-virtual" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; + sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; + system = "depot-virtual"; + asd = "depot-virtual"; + } + ); + systems = [ "depot-virtual" ]; + lispLibs = [ (getAttr "depot" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + depot-zip = ( + build-asdf-system { + pname = "depot-zip"; + version = "20241012-git"; + asds = [ "depot-zip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/depot/2024-10-12/depot-20241012-git.tgz"; + sha256 = "1k9p4jqylh7i53sngi0yn2hww6y6lxqc7c0hd3j3p8jc4q3h4zn4"; + system = "depot-zip"; + asd = "depot-zip"; + } + ); + systems = [ "depot-zip" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "depot" self) + (getAttr "zippy" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + deptree = ( + build-asdf-system { + pname = "deptree"; + version = "20241012-git"; + asds = [ "deptree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/deptree/2024-10-12/deptree-20241012-git.tgz"; + sha256 = "10ybmw28c52ahbm7xjn795367lssp6088v6705fmqbl0fgjpvxnw"; + system = "deptree"; + asd = "deptree"; + } + ); + systems = [ "deptree" ]; + lispLibs = [ (getAttr "tar" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + descriptions = ( + build-asdf-system { + pname = "descriptions"; + version = "20150302-git"; + asds = [ "descriptions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; + sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; + system = "descriptions"; + asd = "descriptions"; + } + ); + systems = [ "descriptions" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "closer-mop" self) + (getAttr "sheeple" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + descriptions-test = ( + build-asdf-system { + pname = "descriptions-test"; + version = "20150302-git"; + asds = [ "descriptions-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; + sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; + system = "descriptions-test"; + asd = "descriptions-test"; + } + ); + systems = [ "descriptions-test" ]; + lispLibs = [ + (getAttr "descriptions" self) + (getAttr "descriptions_dot_serialization" self) + (getAttr "descriptions_dot_validation" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + descriptions_dot_serialization = ( + build-asdf-system { + pname = "descriptions.serialization"; + version = "20150302-git"; + asds = [ "descriptions.serialization" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; + sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; + system = "descriptions.serialization"; + asd = "descriptions.serialization"; + } + ); + systems = [ "descriptions.serialization" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "descriptions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + descriptions_dot_validation = ( + build-asdf-system { + pname = "descriptions.validation"; + version = "20150302-git"; + asds = [ "descriptions.validation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz"; + sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f"; + system = "descriptions.validation"; + asd = "descriptions.validation"; + } + ); + systems = [ "descriptions.validation" ]; + lispLibs = [ + (getAttr "clavier" self) + (getAttr "descriptions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + destructuring-bind-star = ( + build-asdf-system { + pname = "destructuring-bind-star"; + version = "20200610-git"; + asds = [ "destructuring-bind-star" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/destructuring-bind-star/2020-06-10/destructuring-bind-star-20200610-git.tgz"; + sha256 = "1j1xnhvb6pm9q291aawbrcwp8bgbmiij9a53gifxhr4kp934ciz2"; + system = "destructuring-bind-star"; + asd = "destructuring-bind-star"; + } + ); + systems = [ "destructuring-bind-star" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dexador = ( + build-asdf-system { + pname = "dexador"; + version = "20241012-git"; + asds = [ "dexador" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dexador/2024-10-12/dexador-20241012-git.tgz"; + sha256 = "19y95k821665vcy7gbxhh4rqwk7fh4brv1sgkaykncpw2l2lll5r"; + system = "dexador"; + asd = "dexador"; + } + ); + systems = [ "dexador" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "chipz" self) + (getAttr "chunga" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "cl-cookie" self) + (getAttr "cl-ppcre" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "quri" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-gray-streams" self) + (getAttr "trivial-mimes" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + dexador-test = ( + build-asdf-system { + pname = "dexador-test"; + version = "20241012-git"; + asds = [ "dexador-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dexador/2024-10-12/dexador-20241012-git.tgz"; + sha256 = "19y95k821665vcy7gbxhh4rqwk7fh4brv1sgkaykncpw2l2lll5r"; + system = "dexador-test"; + asd = "dexador-test"; + } + ); + systems = [ "dexador-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-cookie" self) + (getAttr "clack-test" self) + (getAttr "dexador" self) + (getAttr "lack-request" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dexador-usocket = ( + build-asdf-system { + pname = "dexador-usocket"; + version = "20241012-git"; + asds = [ "dexador-usocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dexador/2024-10-12/dexador-20241012-git.tgz"; + sha256 = "19y95k821665vcy7gbxhh4rqwk7fh4brv1sgkaykncpw2l2lll5r"; + system = "dexador-usocket"; + asd = "dexador-usocket"; + } + ); + systems = [ "dexador-usocket" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "dexador" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dfio = ( + build-asdf-system { + pname = "dfio"; + version = "20221106-git"; + asds = [ "dfio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dfio/2022-11-06/dfio-20221106-git.tgz"; + sha256 = "1p53r7773939jnap518xp4b4wfvc1kbrz9jp6yd40xq0jpf9pbqg"; + system = "dfio"; + asd = "dfio"; + } + ); + systems = [ "dfio" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "data-frame" self) + (getAttr "dexador" self) + (getAttr "fare-csv" self) + (getAttr "let-plus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + diff = ( + build-asdf-system { + pname = "diff"; + version = "20130813-git"; + asds = [ "diff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/diff/2013-08-13/diff-20130813-git.tgz"; + sha256 = "1giafck8qfvb688kx5bn9g32rfc12jjywg8vdav36aqbd6lxf5z5"; + system = "diff"; + asd = "diff"; + } + ); + systems = [ "diff" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + diff-match-patch = ( + build-asdf-system { + pname = "diff-match-patch"; + version = "20210531-git"; + asds = [ "diff-match-patch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/diff-match-patch/2021-05-31/diff-match-patch-20210531-git.tgz"; + sha256 = "0wxz2q9sd2v8fg521f7bzv6wi3za7saz2j2snsnw2p1kcsj6zqa4"; + system = "diff-match-patch"; + asd = "diff-match-patch"; + } + ); + systems = [ "diff-match-patch" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dirt = ( + build-asdf-system { + pname = "dirt"; + version = "release-quicklisp-0d13ebc2-git"; + asds = [ "dirt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dirt/2017-10-19/dirt-release-quicklisp-0d13ebc2-git.tgz"; + sha256 = "1lqxfdzn9rh7rzsq97d4hp6fl4g9fs6s0n2pvf460d6ri6p40xna"; + system = "dirt"; + asd = "dirt"; + } + ); + systems = [ "dirt" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "cl-soil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dispatch = ( + build-asdf-system { + pname = "dispatch"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "dispatch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "dispatch"; + asd = "dispatch"; + } + ); + systems = [ "dispatch" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dispatch-test = ( + build-asdf-system { + pname = "dispatch-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "dispatch-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "dispatch-test"; + asd = "dispatch-test"; + } + ); + systems = [ "dispatch-test" ]; + lispLibs = [ + (getAttr "dispatch" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + disposable = ( + build-asdf-system { + pname = "disposable"; + version = "20160208-git"; + asds = [ "disposable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/disposable/2016-02-08/disposable-20160208-git.tgz"; + sha256 = "18synnlg4b8203rgww644dj7ghb4m1j33lb4zm64850vqy5b3pz7"; + system = "disposable"; + asd = "disposable"; + } + ); + systems = [ "disposable" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dissect = ( + build-asdf-system { + pname = "dissect"; + version = "20241012-git"; + asds = [ "dissect" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dissect/2024-10-12/dissect-20241012-git.tgz"; + sha256 = "1ym1zggwrj15l7y2mcz5l2gfk68prqxhdswffd9s5014pa6zyysr"; + system = "dissect"; + asd = "dissect"; + } + ); + systems = [ "dissect" ]; + lispLibs = [ ]; + meta = { }; + } + ); + distributions = ( + build-asdf-system { + pname = "distributions"; + version = "20221106-git"; + asds = [ "distributions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/distributions/2022-11-06/distributions-20221106-git.tgz"; + sha256 = "1fkzigd0s0s0mvszgmv04yc8jp9gm4812445hfh6kpz6cjy5zpsk"; + system = "distributions"; + asd = "distributions"; + } + ); + systems = [ "distributions" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "array-operations" self) + (getAttr "cephes" self) + (getAttr "float-features" self) + (getAttr "let-plus" self) + (getAttr "num-utils" self) + (getAttr "special-functions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + djula = ( + build-asdf-system { + pname = "djula"; + version = "20241012-git"; + asds = [ "djula" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; + sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; + system = "djula"; + asd = "djula"; + } + ); + systems = [ "djula" ]; + lispLibs = [ + (getAttr "access" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-locale" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-slice" self) + (getAttr "closer-mop" self) + (getAttr "gettext" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "parser-combinators" self) + (getAttr "split-sequence" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { }; + } + ); + djula-demo = ( + build-asdf-system { + pname = "djula-demo"; + version = "20241012-git"; + asds = [ "djula-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; + sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; + system = "djula-demo"; + asd = "djula-demo"; + } + ); + systems = [ "djula-demo" ]; + lispLibs = [ + (getAttr "djula" self) + (getAttr "hunchentoot" self) + (getAttr "trivial-open-browser" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + djula-gettext = ( + build-asdf-system { + pname = "djula-gettext"; + version = "20241012-git"; + asds = [ "djula-gettext" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; + sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; + system = "djula-gettext"; + asd = "djula-gettext"; + } + ); + systems = [ "djula-gettext" ]; + lispLibs = [ + (getAttr "djula" self) + (getAttr "gettext" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + djula-locale = ( + build-asdf-system { + pname = "djula-locale"; + version = "20241012-git"; + asds = [ "djula-locale" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; + sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; + system = "djula-locale"; + asd = "djula-locale"; + } + ); + systems = [ "djula-locale" ]; + lispLibs = [ + (getAttr "cl-locale" self) + (getAttr "djula" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + djula-test = ( + build-asdf-system { + pname = "djula-test"; + version = "20241012-git"; + asds = [ "djula-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; + sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; + system = "djula-test"; + asd = "djula-test"; + } + ); + systems = [ "djula-test" ]; + lispLibs = [ + (getAttr "djula" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + djula-translate = ( + build-asdf-system { + pname = "djula-translate"; + version = "20241012-git"; + asds = [ "djula-translate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/djula/2024-10-12/djula-20241012-git.tgz"; + sha256 = "1m4k0ywkpvbpljd8r9vfmsw2zkphwcfwgbdp911zkiv5rcnmgykw"; + system = "djula-translate"; + asd = "djula-translate"; + } + ); + systems = [ "djula-translate" ]; + lispLibs = [ + (getAttr "djula" self) + (getAttr "translate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dlist = ( + build-asdf-system { + pname = "dlist"; + version = "20121125-git"; + asds = [ "dlist" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dlist/2012-11-25/dlist-20121125-git.tgz"; + sha256 = "1ycgjmbxpj0bj95xg0x7m30yz8y73s7mnqs0dzam00rkf8g00h89"; + system = "dlist"; + asd = "dlist"; + } + ); + systems = [ "dlist" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dlist-test = ( + build-asdf-system { + pname = "dlist-test"; + version = "20121125-git"; + asds = [ "dlist-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dlist/2012-11-25/dlist-20121125-git.tgz"; + sha256 = "1ycgjmbxpj0bj95xg0x7m30yz8y73s7mnqs0dzam00rkf8g00h89"; + system = "dlist-test"; + asd = "dlist"; + } + ); + systems = [ "dlist-test" ]; + lispLibs = [ + (getAttr "dlist" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dml = ( + build-asdf-system { + pname = "dml"; + version = "20231021-git"; + asds = [ "dml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dml/2023-10-21/dml-20231021-git.tgz"; + sha256 = "15yxfgmzxpn3hr3kfmw7iid652v1v1v0fw7ngvs1ig6693kci72h"; + system = "dml"; + asd = "dml"; + } + ); + systems = [ "dml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-cairo2" self) + (getAttr "cl-ppcre" self) + (getAttr "donuts" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dns-client = ( + build-asdf-system { + pname = "dns-client"; + version = "20241012-git"; + asds = [ "dns-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dns-client/2024-10-12/dns-client-20241012-git.tgz"; + sha256 = "1lbxryi0hx1i0ib3rz3ci89pfdyzikhv4dg0lk5piggrkdji2fx3"; + system = "dns-client"; + asd = "dns-client"; + } + ); + systems = [ "dns-client" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "punycode" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + do-urlencode = ( + build-asdf-system { + pname = "do-urlencode"; + version = "20181018-git"; + asds = [ "do-urlencode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/do-urlencode/2018-10-18/do-urlencode-20181018-git.tgz"; + sha256 = "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"; + system = "do-urlencode"; + asd = "do-urlencode"; + } + ); + systems = [ "do-urlencode" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + ]; + meta = { }; + } + ); + docbrowser = ( + build-asdf-system { + pname = "docbrowser"; + version = "20200610-git"; + asds = [ "docbrowser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/docbrowser/2020-06-10/docbrowser-20200610-git.tgz"; + sha256 = "0k7gkyciqfbwdmvip2s8h4k21a63h45bj3qydq3jbvkhaq4gj9x1"; + system = "docbrowser"; + asd = "docbrowser"; + } + ); + systems = [ "docbrowser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-json" self) + (getAttr "closer-mop" self) + (getAttr "colorize" self) + (getAttr "flexi-streams" self) + (getAttr "hunchentoot" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + (getAttr "string-case" self) + (getAttr "swank" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + docparser = ( + build-asdf-system { + pname = "docparser"; + version = "20230214-git"; + asds = [ "docparser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/docparser/2023-02-14/docparser-20230214-git.tgz"; + sha256 = "1ix8n6albgl34kwvk2f3vfz9afi6y4m9dd6k3axlm9g16zhmhma1"; + system = "docparser"; + asd = "docparser"; + } + ); + systems = [ "docparser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cffi" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + docparser-test = ( + build-asdf-system { + pname = "docparser-test"; + version = "20230214-git"; + asds = [ "docparser-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/docparser/2023-02-14/docparser-20230214-git.tgz"; + sha256 = "1ix8n6albgl34kwvk2f3vfz9afi6y4m9dd6k3axlm9g16zhmhma1"; + system = "docparser-test"; + asd = "docparser-test"; + } + ); + systems = [ "docparser-test" ]; + lispLibs = [ + (getAttr "docparser" self) + (getAttr "docparser-test-system" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + docparser-test-system = ( + build-asdf-system { + pname = "docparser-test-system"; + version = "20230214-git"; + asds = [ "docparser-test-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/docparser/2023-02-14/docparser-20230214-git.tgz"; + sha256 = "1ix8n6albgl34kwvk2f3vfz9afi6y4m9dd6k3axlm9g16zhmhma1"; + system = "docparser-test-system"; + asd = "docparser-test-system"; + } + ); + systems = [ "docparser-test-system" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + docs-builder = ( + build-asdf-system { + pname = "docs-builder"; + version = "20241012-git"; + asds = [ "docs-builder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/docs-builder/2024-10-12/docs-builder-20241012-git.tgz"; + sha256 = "09pg4frik728g7njrpkb8jmzw6q9f47ng4c123lmqlmjha9bs03c"; + system = "docs-builder"; + asd = "docs-builder"; + } + ); + systems = [ "docs-builder" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "docs-config" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + docs-config = ( + build-asdf-system { + pname = "docs-config"; + version = "20241012-git"; + asds = [ "docs-config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/docs-builder/2024-10-12/docs-builder-20241012-git.tgz"; + sha256 = "09pg4frik728g7njrpkb8jmzw6q9f47ng4c123lmqlmjha9bs03c"; + system = "docs-config"; + asd = "docs-config"; + } + ); + systems = [ "docs-config" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + documentation-template = ( + build-asdf-system { + pname = "documentation-template"; + version = "0.4.4"; + asds = [ "documentation-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/documentation-template/2014-12-17/documentation-template-0.4.4.tgz"; + sha256 = "0pfcg38ws0syhg2l15nwslfyj175dq1dvjip64nx02knw26zj56y"; + system = "documentation-template"; + asd = "documentation-template"; + } + ); + systems = [ "documentation-template" ]; + lispLibs = [ (getAttr "cl-who" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + documentation-utils = ( + build-asdf-system { + pname = "documentation-utils"; + version = "20231021-git"; + asds = [ "documentation-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/documentation-utils/2023-10-21/documentation-utils-20231021-git.tgz"; + sha256 = "0nzkjzvcqi1l2ywiz17h1f54vgvbkywv95in4yww6lyzqjqsqqhy"; + system = "documentation-utils"; + asd = "documentation-utils"; + } + ); + systems = [ "documentation-utils" ]; + lispLibs = [ (getAttr "trivial-indent" self) ]; + meta = { }; + } + ); + documentation-utils-extensions = ( + build-asdf-system { + pname = "documentation-utils-extensions"; + version = "20220707-git"; + asds = [ "documentation-utils-extensions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/documentation-utils-extensions/2022-07-07/documentation-utils-extensions-20220707-git.tgz"; + sha256 = "1bv8y1hbn6fivvsanaci19k47vfdchj3argz92az3izmar9ybp4f"; + system = "documentation-utils-extensions"; + asd = "documentation-utils-extensions"; + } + ); + systems = [ "documentation-utils-extensions" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + docutils = ( + build-asdf-system { + pname = "docutils"; + version = "20130128-git"; + asds = [ "docutils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-docutils/2013-01-28/cl-docutils-20130128-git.tgz"; + sha256 = "132bxlj0jlhiabi29mygmkcbbgyb5s1yz1xdfhm3pgrf9f8605gg"; + system = "docutils"; + asd = "docutils"; + } + ); + systems = [ "docutils" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "data-format-validation" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dom = ( + build-asdf-system { + pname = "dom"; + version = "master-fe503896-git"; + asds = [ "dom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "dom"; + asd = "dom"; + } + ); + systems = [ "dom" ]; + lispLibs = [ + (getAttr "cl-who" self) + (getAttr "yadd" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + donuts = ( + build-asdf-system { + pname = "donuts"; + version = "20120703-git"; + asds = [ "donuts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/donuts/2012-07-03/donuts-20120703-git.tgz"; + sha256 = "1arjlwic0gk28ja1ql5k1r3v0pqzg42ds8vzq9266hq5lp06q3ii"; + system = "donuts"; + asd = "donuts"; + } + ); + systems = [ "donuts" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + doplus = ( + build-asdf-system { + pname = "doplus"; + version = "v1.1.0"; + asds = [ "doplus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/doplus/2021-10-20/doplus-v1.1.0.tgz"; + sha256 = "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c"; + system = "doplus"; + asd = "doplus"; + } + ); + systems = [ "doplus" ]; + lispLibs = [ (getAttr "parse-declarations-1_dot_0" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + doplus-fset = ( + build-asdf-system { + pname = "doplus-fset"; + version = "v1.1.0"; + asds = [ "doplus-fset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/doplus/2021-10-20/doplus-v1.1.0.tgz"; + sha256 = "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c"; + system = "doplus-fset"; + asd = "doplus-fset"; + } + ); + systems = [ "doplus-fset" ]; + lispLibs = [ + (getAttr "doplus" self) + (getAttr "fset" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dotenv = ( + build-asdf-system { + pname = "dotenv"; + version = "20211209-git"; + asds = [ "dotenv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dotenv/2021-12-09/dotenv-20211209-git.tgz"; + sha256 = "0g19svpxy2169rym532gjwsg1zybinpc99mjsy6im4n6zdd57hzh"; + system = "dotenv"; + asd = "dotenv"; + } + ); + systems = [ "dotenv" ]; + lispLibs = [ + (getAttr "prove-asdf" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dotenv-test = ( + build-asdf-system { + pname = "dotenv-test"; + version = "20211209-git"; + asds = [ "dotenv-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dotenv/2021-12-09/dotenv-20211209-git.tgz"; + sha256 = "0g19svpxy2169rym532gjwsg1zybinpc99mjsy6im4n6zdd57hzh"; + system = "dotenv-test"; + asd = "dotenv"; + } + ); + systems = [ "dotenv-test" ]; + lispLibs = [ + (getAttr "dotenv" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + doubly-linked-list = ( + build-asdf-system { + pname = "doubly-linked-list"; + version = "20220707-git"; + asds = [ "doubly-linked-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/doubly-linked-list/2022-07-07/doubly-linked-list-20220707-git.tgz"; + sha256 = "073r1zyp0slzzvcyj7ibjs85bss1iqh42zn5dvkjd6ls78v2bn9f"; + system = "doubly-linked-list"; + asd = "doubly-linked-list"; + } + ); + systems = [ "doubly-linked-list" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + drakma = ( + build-asdf-system { + pname = "drakma"; + version = "v2.0.10"; + asds = [ "drakma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/drakma/2023-10-21/drakma-v2.0.10.tgz"; + sha256 = "0clj7c1hysisdvkidvx7m0702alsksna6iiqlk499hn3hjpafmln"; + system = "drakma"; + asd = "drakma"; + } + ); + systems = [ "drakma" ]; + lispLibs = [ + (getAttr "chipz" self) + (getAttr "chunga" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "puri" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + drakma-async = ( + build-asdf-system { + pname = "drakma-async"; + version = "20210807-git"; + asds = [ "drakma-async" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/drakma-async/2021-08-07/drakma-async-20210807-git.tgz"; + sha256 = "19cd4xrcx3mz86sl0326x5lcrh9jizrwzi6p7pd856nrmx7ynf4w"; + system = "drakma-async"; + asd = "drakma-async"; + } + ); + systems = [ "drakma-async" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-async-future" self) + (getAttr "cl-async-ssl" self) + (getAttr "drakma" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + drakma-test = ( + build-asdf-system { + pname = "drakma-test"; + version = "v2.0.10"; + asds = [ "drakma-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/drakma/2023-10-21/drakma-v2.0.10.tgz"; + sha256 = "0clj7c1hysisdvkidvx7m0702alsksna6iiqlk499hn3hjpafmln"; + system = "drakma-test"; + asd = "drakma-test"; + } + ); + systems = [ "drakma-test" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "easy-routes" self) + (getAttr "fiveam" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + draw-cons-tree = ( + build-asdf-system { + pname = "draw-cons-tree"; + version = "20230618-git"; + asds = [ "draw-cons-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/draw-cons-tree/2023-06-18/draw-cons-tree-20230618-git.tgz"; + sha256 = "1523bdkq8a5qn0qp9q7r16w47y6jb0hkfj7hbjfj6mg3xv001s3x"; + system = "draw-cons-tree"; + asd = "draw-cons-tree"; + } + ); + systems = [ "draw-cons-tree" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dref = ( + build-asdf-system { + pname = "dref"; + version = "20241012-git"; + asds = [ "dref" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; + sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; + system = "dref"; + asd = "dref"; + } + ); + systems = [ "dref" ]; + lispLibs = [ + (getAttr "mgl-pax-bootstrap" self) + (getAttr "mgl-pax_dot_asdf" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dref-test = ( + build-asdf-system { + pname = "dref-test"; + version = "20241012-git"; + asds = [ "dref-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; + sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; + system = "dref-test"; + asd = "dref-test"; + } + ); + systems = [ "dref-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "dref" self) + (getAttr "mgl-pax" self) + (getAttr "mgl-pax_dot_asdf" self) + (getAttr "swank" self) + (getAttr "try" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + drei-mcclim = ( + build-asdf-system { + pname = "drei-mcclim"; + version = "20241012-git"; + asds = [ "drei-mcclim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "drei-mcclim"; + asd = "drei-mcclim"; + } + ); + systems = [ "drei-mcclim" ]; + lispLibs = [ + (getAttr "automaton" self) + (getAttr "clim-core" self) + (getAttr "esa-mcclim" self) + (getAttr "flexichain" self) + (getAttr "persistent" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dso-lex = ( + build-asdf-system { + pname = "dso-lex"; + version = "0.3.2"; + asds = [ "dso-lex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dso-lex/2011-01-10/dso-lex-0.3.2.tgz"; + sha256 = "09vx0dsfaj1c5ivfkx9zl9s2yxmqpdc2v41fhpq75anq9ffr6qyr"; + system = "dso-lex"; + asd = "dso-lex"; + } + ); + systems = [ "dso-lex" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "dso-util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dso-util = ( + build-asdf-system { + pname = "dso-util"; + version = "0.1.2"; + asds = [ "dso-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dso-util/2011-01-10/dso-util-0.1.2.tgz"; + sha256 = "12w1rxxk2hi6k7ng9kqf2yb1kff78bshdfl7bwv6fz8im8vq13b3"; + system = "dso-util"; + asd = "dso-util"; + } + ); + systems = [ "dso-util" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + duckdb = ( + build-asdf-system { + pname = "duckdb"; + version = "20241012-git"; + asds = [ "duckdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-duckdb/2024-10-12/cl-duckdb-20241012-git.tgz"; + sha256 = "144c8c4m8vwmdg1ny5hjsvxmm8k6jijmrabyf2hmcnvk7hdy5sq0"; + system = "duckdb"; + asd = "duckdb"; + } + ); + systems = [ "duckdb" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "cl-ascii-table" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-spark" self) + (getAttr "float-features" self) + (getAttr "frugal-uuid" self) + (getAttr "let-plus" self) + (getAttr "local-time" self) + (getAttr "local-time-duration" self) + (getAttr "periods" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dufy = ( + build-asdf-system { + pname = "dufy"; + version = "20241012-git"; + asds = [ "dufy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dufy/2024-10-12/dufy-20241012-git.tgz"; + sha256 = "1fj1ad7jh8i72jvdc5ypdk1j1mlkr7dc9xs4khii9adj3jl1nb0v"; + system = "dufy"; + asd = "dufy"; + } + ); + systems = [ "dufy" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dungen = ( + build-asdf-system { + pname = "dungen"; + version = "20220707-git"; + asds = [ "dungen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dungen/2022-07-07/dungen-20220707-git.tgz"; + sha256 = "1yvkch227g0yawv2682ysdv9q2g5yyyxjvfpx3hijl0mm0awgxv5"; + system = "dungen"; + asd = "dungen"; + } + ); + systems = [ "dungen" ]; + lispLibs = [ + (getAttr "graph" self) + (getAttr "mfiano-utils" self) + (getAttr "seedable-rng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + duologue = ( + build-asdf-system { + pname = "duologue"; + version = "20230214-git"; + asds = [ "duologue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/duologue/2023-02-14/duologue-20230214-git.tgz"; + sha256 = "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"; + system = "duologue"; + asd = "duologue"; + } + ); + systems = [ "duologue" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "chronicity" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-fad" self) + (getAttr "clavier" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + duologue-readline = ( + build-asdf-system { + pname = "duologue-readline"; + version = "20230214-git"; + asds = [ "duologue-readline" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/duologue/2023-02-14/duologue-20230214-git.tgz"; + sha256 = "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"; + system = "duologue-readline"; + asd = "duologue-readline"; + } + ); + systems = [ "duologue-readline" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "chronicity" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-fad" self) + (getAttr "cl-readline" self) + (getAttr "clavier" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + duologue-test = ( + build-asdf-system { + pname = "duologue-test"; + version = "20230214-git"; + asds = [ "duologue-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/duologue/2023-02-14/duologue-20230214-git.tgz"; + sha256 = "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"; + system = "duologue-test"; + asd = "duologue-test"; + } + ); + systems = [ "duologue-test" ]; + lispLibs = [ + (getAttr "duologue" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dweet = ( + build-asdf-system { + pname = "dweet"; + version = "20141217-git"; + asds = [ "dweet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dweet/2014-12-17/dweet-20141217-git.tgz"; + sha256 = "1i3ab3igvdy6fhq3zlx1vaswhvm9dlp6fagzxbrqhqj6jsbhiwv7"; + system = "dweet"; + asd = "dweet"; + } + ); + systems = [ "dweet" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "com_dot_gigamonkeys_dot_json" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-array = ( + build-asdf-system { + pname = "dynamic-array"; + version = "20220707-git"; + asds = [ "dynamic-array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dynamic-array/2022-07-07/dynamic-array-20220707-git.tgz"; + sha256 = "02kg1m5xscg521074nasx3f04784jbm0x61a7skixbdprpg6hhnh"; + system = "dynamic-array"; + asd = "dynamic-array"; + } + ); + systems = [ "dynamic-array" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-classes = ( + build-asdf-system { + pname = "dynamic-classes"; + version = "20231021-git"; + asds = [ "dynamic-classes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dynamic-classes/2023-10-21/dynamic-classes-20231021-git.tgz"; + sha256 = "1k9lkchwyi2xhygp2v8ifq3kg1l3wcnihhzgr06jrivjxgdqpc1a"; + system = "dynamic-classes"; + asd = "dynamic-classes"; + } + ); + systems = [ "dynamic-classes" ]; + lispLibs = [ (getAttr "metatilities-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-classes-test = ( + build-asdf-system { + pname = "dynamic-classes-test"; + version = "20231021-git"; + asds = [ "dynamic-classes-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dynamic-classes/2023-10-21/dynamic-classes-20231021-git.tgz"; + sha256 = "1k9lkchwyi2xhygp2v8ifq3kg1l3wcnihhzgr06jrivjxgdqpc1a"; + system = "dynamic-classes-test"; + asd = "dynamic-classes-test"; + } + ); + systems = [ "dynamic-classes-test" ]; + lispLibs = [ + (getAttr "dynamic-classes" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-collect = ( + build-asdf-system { + pname = "dynamic-collect"; + version = "20230618-git"; + asds = [ "dynamic-collect" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dynamic-collect/2023-06-18/dynamic-collect-20230618-git.tgz"; + sha256 = "0p1ylba1myby21jg8x9lgwxfv958za32qsz426yd2vc485j887iw"; + system = "dynamic-collect"; + asd = "dynamic-collect"; + } + ); + systems = [ "dynamic-collect" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-mixins = ( + build-asdf-system { + pname = "dynamic-mixins"; + version = "20181018-git"; + asds = [ "dynamic-mixins" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dynamic-mixins/2018-10-18/dynamic-mixins-20181018-git.tgz"; + sha256 = "00g3s509ysh2jp1qwsgb5bwl6qvhzcljwjz3z4mspbcak51484zj"; + system = "dynamic-mixins"; + asd = "dynamic-mixins"; + } + ); + systems = [ "dynamic-mixins" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-mixins-swm = ( + build-asdf-system { + pname = "dynamic-mixins-swm"; + version = "20231021-git"; + asds = [ "dynamic-mixins-swm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stumpwm/2023-10-21/stumpwm-20231021-git.tgz"; + sha256 = "114kicsziqvm15x15yhc39j8qzv6gxz4wxc40xp968pprzr4a4d1"; + system = "dynamic-mixins-swm"; + asd = "dynamic-mixins-swm"; + } + ); + systems = [ "dynamic-mixins-swm" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + dynamic-wind = ( + build-asdf-system { + pname = "dynamic-wind"; + version = "20241012-git"; + asds = [ "dynamic-wind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/contextl/2024-10-12/contextl-20241012-git.tgz"; + sha256 = "1jsa5wyjzzfw9pii3d6x20mh8ijnpb291g3i0y2ccj0x8z3xfyyk"; + system = "dynamic-wind"; + asd = "dynamic-wind"; + } + ); + systems = [ "dynamic-wind" ]; + lispLibs = [ (getAttr "lw-compat" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eager-future = ( + build-asdf-system { + pname = "eager-future"; + version = "20101006-darcs"; + asds = [ "eager-future" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz"; + sha256 = "0l7khqfqfchk7j24fk7rwagwanjargxsrzr6g1h4ainqjajd91jl"; + system = "eager-future"; + asd = "eager-future"; + } + ); + systems = [ "eager-future" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eager-future_dot_test = ( + build-asdf-system { + pname = "eager-future.test"; + version = "20101006-darcs"; + asds = [ "eager-future.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz"; + sha256 = "0l7khqfqfchk7j24fk7rwagwanjargxsrzr6g1h4ainqjajd91jl"; + system = "eager-future.test"; + asd = "eager-future"; + } + ); + systems = [ "eager-future.test" ]; + lispLibs = [ + (getAttr "eager-future" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eager-future2 = ( + build-asdf-system { + pname = "eager-future2"; + version = "20191130-git"; + asds = [ "eager-future2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eager-future2/2019-11-30/eager-future2-20191130-git.tgz"; + sha256 = "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"; + system = "eager-future2"; + asd = "eager-future2"; + } + ); + systems = [ "eager-future2" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + easing = ( + build-asdf-system { + pname = "easing"; + version = "20180228-git"; + asds = [ "easing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz"; + sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5"; + system = "easing"; + asd = "easing"; + } + ); + systems = [ "easing" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easing-demo = ( + build-asdf-system { + pname = "easing-demo"; + version = "20180228-git"; + asds = [ "easing-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz"; + sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5"; + system = "easing-demo"; + asd = "easing-demo"; + } + ); + systems = [ "easing-demo" ]; + lispLibs = [ + (getAttr "easing" self) + (getAttr "sketch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easing-test = ( + build-asdf-system { + pname = "easing-test"; + version = "20180228-git"; + asds = [ "easing-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz"; + sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5"; + system = "easing-test"; + asd = "easing-test"; + } + ); + systems = [ "easing-test" ]; + lispLibs = [ + (getAttr "easing" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easter-gauss = ( + build-asdf-system { + pname = "easter-gauss"; + version = "20241012-git"; + asds = [ "easter-gauss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easter-gauss/2024-10-12/easter-gauss-20241012-git.tgz"; + sha256 = "1wgr7j8b32yq0ajy4a3g08yr7z4p987gfjsrd6gai5i9zqxkbyih"; + system = "easter-gauss"; + asd = "easter-gauss"; + } + ); + systems = [ "easter-gauss" ]; + lispLibs = [ (getAttr "local-time" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easy-audio = ( + build-asdf-system { + pname = "easy-audio"; + version = "20241012-git"; + asds = [ "easy-audio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easy-audio/2024-10-12/easy-audio-20241012-git.tgz"; + sha256 = "1vlk2lzipz7sspizv4fiv6nmxhgq9piangc6gfxz6m5k3r74mwrg"; + system = "easy-audio"; + asd = "easy-audio"; + } + ); + systems = [ "easy-audio" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "flexi-streams" self) + (getAttr "nibbles-streams" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easy-bind = ( + build-asdf-system { + pname = "easy-bind"; + version = "20190202-git"; + asds = [ "easy-bind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easy-bind/2019-02-02/easy-bind-20190202-git.tgz"; + sha256 = "0z7mqm7vnk8jcsmawlyhzg81v2bmgdbxmx3jkf2m74170q78jhkl"; + system = "easy-bind"; + asd = "easy-bind"; + } + ); + systems = [ "easy-bind" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easy-macros = ( + build-asdf-system { + pname = "easy-macros"; + version = "20241012-git"; + asds = [ "easy-macros" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easy-macros/2024-10-12/easy-macros-20241012-git.tgz"; + sha256 = "12ixfmxbxszhdcv2fnd9q8m573bn6q2nvn656bpwnzvka9si6vrq"; + system = "easy-macros"; + asd = "easy-macros"; + } + ); + systems = [ "easy-macros" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easy-routes = ( + build-asdf-system { + pname = "easy-routes"; + version = "20241012-git"; + asds = [ "easy-routes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easy-routes/2024-10-12/easy-routes-20241012-git.tgz"; + sha256 = "0bz91g0vd1nn9b23npmrjw2ig6fahjs3b6iiw7ncajc2w5x9w1y4"; + system = "easy-routes"; + asd = "easy-routes"; + } + ); + systems = [ "easy-routes" ]; + lispLibs = [ + (getAttr "hunchentoot" self) + (getAttr "routes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easy-routes_plus_djula = ( + build-asdf-system { + pname = "easy-routes+djula"; + version = "20241012-git"; + asds = [ "easy-routes+djula" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easy-routes/2024-10-12/easy-routes-20241012-git.tgz"; + sha256 = "0bz91g0vd1nn9b23npmrjw2ig6fahjs3b6iiw7ncajc2w5x9w1y4"; + system = "easy-routes+djula"; + asd = "easy-routes+djula"; + } + ); + systems = [ "easy-routes+djula" ]; + lispLibs = [ + (getAttr "djula" self) + (getAttr "easy-routes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + easy-routes_plus_errors = ( + build-asdf-system { + pname = "easy-routes+errors"; + version = "20241012-git"; + asds = [ "easy-routes+errors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/easy-routes/2024-10-12/easy-routes-20241012-git.tgz"; + sha256 = "0bz91g0vd1nn9b23npmrjw2ig6fahjs3b6iiw7ncajc2w5x9w1y4"; + system = "easy-routes+errors"; + asd = "easy-routes+errors"; + } + ); + systems = [ "easy-routes+errors" ]; + lispLibs = [ + (getAttr "easy-routes" self) + (getAttr "hunchentoot-errors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-documentation = ( + build-asdf-system { + pname = "eazy-documentation"; + version = "20210411-git"; + asds = [ "eazy-documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-documentation/2021-04-11/eazy-documentation-20210411-git.tgz"; + sha256 = "0wqd6jih98ab8qpajmcmbj0cwa3g6jjbr7v0wp5gqn1wllwn70ix"; + system = "eazy-documentation"; + asd = "eazy-documentation"; + } + ); + systems = [ "eazy-documentation" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "common-doc" self) + (getAttr "common-doc-split-paragraphs" self) + (getAttr "common-html" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-gnuplot = ( + build-asdf-system { + pname = "eazy-gnuplot"; + version = "20220331-git"; + asds = [ "eazy-gnuplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-gnuplot/2022-03-31/eazy-gnuplot-20220331-git.tgz"; + sha256 = "0mpkx1z52riahydzvqv7kk15p0pv2k7k5a7j65fg571kcxmssx8s"; + system = "eazy-gnuplot"; + asd = "eazy-gnuplot"; + } + ); + systems = [ "eazy-gnuplot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-gnuplot_dot_test = ( + build-asdf-system { + pname = "eazy-gnuplot.test"; + version = "20220331-git"; + asds = [ "eazy-gnuplot.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-gnuplot/2022-03-31/eazy-gnuplot-20220331-git.tgz"; + sha256 = "0mpkx1z52riahydzvqv7kk15p0pv2k7k5a7j65fg571kcxmssx8s"; + system = "eazy-gnuplot.test"; + asd = "eazy-gnuplot.test"; + } + ); + systems = [ "eazy-gnuplot.test" ]; + lispLibs = [ + (getAttr "eazy-gnuplot" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-process = ( + build-asdf-system { + pname = "eazy-process"; + version = "20200925-git"; + asds = [ "eazy-process" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-process/2020-09-25/eazy-process-20200925-git.tgz"; + sha256 = "1fvc613jg3b0kra664lbyyzvig7sm1xzaawack28c5m61yiwakiw"; + system = "eazy-process"; + asd = "eazy-process"; + } + ); + systems = [ "eazy-process" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-rlimit" self) + (getAttr "iolib" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_ppcre" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-process_dot_test = ( + build-asdf-system { + pname = "eazy-process.test"; + version = "20200925-git"; + asds = [ "eazy-process.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-process/2020-09-25/eazy-process-20200925-git.tgz"; + sha256 = "1fvc613jg3b0kra664lbyyzvig7sm1xzaawack28c5m61yiwakiw"; + system = "eazy-process.test"; + asd = "eazy-process.test"; + } + ); + systems = [ "eazy-process.test" ]; + lispLibs = [ + (getAttr "eazy-process" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-project = ( + build-asdf-system { + pname = "eazy-project"; + version = "20190710-git"; + asds = [ "eazy-project" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz"; + sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b"; + system = "eazy-project"; + asd = "eazy-project"; + } + ); + systems = [ "eazy-project" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-emb" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + (getAttr "introspect-environment" self) + (getAttr "iterate" self) + (getAttr "lisp-namespace" self) + (getAttr "local-time" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-project_dot_autoload = ( + build-asdf-system { + pname = "eazy-project.autoload"; + version = "20190710-git"; + asds = [ "eazy-project.autoload" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz"; + sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b"; + system = "eazy-project.autoload"; + asd = "eazy-project.autoload"; + } + ); + systems = [ "eazy-project.autoload" ]; + lispLibs = [ (getAttr "eazy-project" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eazy-project_dot_test = ( + build-asdf-system { + pname = "eazy-project.test"; + version = "20190710-git"; + asds = [ "eazy-project.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz"; + sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b"; + system = "eazy-project.test"; + asd = "eazy-project.test"; + } + ); + systems = [ "eazy-project.test" ]; + lispLibs = [ + (getAttr "eazy-project" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ec2 = ( + build-asdf-system { + pname = "ec2"; + version = "20120909-git"; + asds = [ "ec2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ec2/2012-09-09/ec2-20120909-git.tgz"; + sha256 = "1z9yv1b8ckyvla80rha7amfhhy57kylkscf504rpfx8994fnfbsy"; + system = "ec2"; + asd = "ec2"; + } + ); + systems = [ "ec2" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "ironclad" self) + (getAttr "s-base64" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ec2-price-finder = ( + build-asdf-system { + pname = "ec2-price-finder"; + version = "20210531-git"; + asds = [ "ec2-price-finder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ec2-price-finder/2021-05-31/ec2-price-finder-20210531-git.tgz"; + sha256 = "1511py79fj0xpzzjlfk6fchp6lmikvhy42s3p6s85fbq4dyj4mpj"; + system = "ec2-price-finder"; + asd = "ec2-price-finder"; + } + ); + systems = [ "ec2-price-finder" ]; + lispLibs = [ + (getAttr "easy-routes" self) + (getAttr "hunchentoot" self) + (getAttr "lass" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + (getAttr "read-csv" self) + (getAttr "spinneret" self) + (getAttr "wu-decimal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ecclesia = ( + build-asdf-system { + pname = "ecclesia"; + version = "20231021-git"; + asds = [ "ecclesia" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ecclesia/2023-10-21/ecclesia-20231021-git.tgz"; + sha256 = "0hamxgkqq833m02wjnghnjq9ny9k8xk3qx1wffm809qsm9ivwah8"; + system = "ecclesia"; + asd = "ecclesia"; + } + ); + systems = [ "ecclesia" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eclecticse_dot_iso-8601-date = ( + build-asdf-system { + pname = "eclecticse.iso-8601-date"; + version = "20190107-git"; + asds = [ "eclecticse.iso-8601-date" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iso-8601-date/2019-01-07/iso-8601-date-20190107-git.tgz"; + sha256 = "12d6jyznglm13sb04xh5l0d0bwi4y449wdyifvfy7r03qy8wypdx"; + system = "eclecticse.iso-8601-date"; + asd = "eclecticse.iso-8601-date"; + } + ); + systems = [ "eclecticse.iso-8601-date" ]; + lispLibs = [ (getAttr "local-time" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eclecticse_dot_omer = ( + build-asdf-system { + pname = "eclecticse.omer"; + version = "20210411-git"; + asds = [ "eclecticse.omer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/omer-count/2021-04-11/omer-count-20210411-git.tgz"; + sha256 = "1rvg7rfalvi28x3jkknfdyf4y7zjrqdx073iqi2gin4amin6n7jv"; + system = "eclecticse.omer"; + asd = "eclecticse.omer"; + } + ); + systems = [ "eclecticse.omer" ]; + lispLibs = [ (getAttr "local-time" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eclecticse_dot_slk-581 = ( + build-asdf-system { + pname = "eclecticse.slk-581"; + version = "20190107-git"; + asds = [ "eclecticse.slk-581" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slk-581/2019-01-07/slk-581-20190107-git.tgz"; + sha256 = "1pxyr1gi4ppnfld399wiypqqkgm3bqd9kpizpwgll2fd10yh2qmf"; + system = "eclecticse.slk-581"; + asd = "eclecticse.slk-581"; + } + ); + systems = [ "eclecticse.slk-581" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eclector = ( + build-asdf-system { + pname = "eclector"; + version = "20241012-git"; + asds = [ "eclector" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eclector/2024-10-12/eclector-20241012-git.tgz"; + sha256 = "06qhll5k0hq652gdzvvhcv4amqg9z7qillnn3z9cm8z9sv1n912v"; + system = "eclector"; + asd = "eclector"; + } + ); + systems = [ "eclector" ]; + lispLibs = [ + (getAttr "acclimation" self) + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eclector-concrete-syntax-tree = ( + build-asdf-system { + pname = "eclector-concrete-syntax-tree"; + version = "20241012-git"; + asds = [ "eclector-concrete-syntax-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eclector/2024-10-12/eclector-20241012-git.tgz"; + sha256 = "06qhll5k0hq652gdzvvhcv4amqg9z7qillnn3z9cm8z9sv1n912v"; + system = "eclector-concrete-syntax-tree"; + asd = "eclector-concrete-syntax-tree"; + } + ); + systems = [ "eclector-concrete-syntax-tree" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "concrete-syntax-tree" self) + (getAttr "eclector" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eclector_dot_syntax-extensions = ( + build-asdf-system { + pname = "eclector.syntax-extensions"; + version = "20241012-git"; + asds = [ "eclector.syntax-extensions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eclector/2024-10-12/eclector-20241012-git.tgz"; + sha256 = "06qhll5k0hq652gdzvvhcv4amqg9z7qillnn3z9cm8z9sv1n912v"; + system = "eclector.syntax-extensions"; + asd = "eclector.syntax-extensions"; + } + ); + systems = [ "eclector.syntax-extensions" ]; + lispLibs = [ (getAttr "eclector" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eco = ( + build-asdf-system { + pname = "eco"; + version = "20190813-git"; + asds = [ "eco" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eco/2019-08-13/eco-20190813-git.tgz"; + sha256 = "13fsv9v7fhf05p7j1hrfy2sg813wmgsp9aw4ng4cpzdss24zvf7q"; + system = "eco"; + asd = "eco"; + } + ); + systems = [ "eco" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-who" self) + (getAttr "esrap" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eco-test = ( + build-asdf-system { + pname = "eco-test"; + version = "20190813-git"; + asds = [ "eco-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eco/2019-08-13/eco-20190813-git.tgz"; + sha256 = "13fsv9v7fhf05p7j1hrfy2sg813wmgsp9aw4ng4cpzdss24zvf7q"; + system = "eco-test"; + asd = "eco-test"; + } + ); + systems = [ "eco-test" ]; + lispLibs = [ + (getAttr "eco" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + edit-distance = ( + build-asdf-system { + pname = "edit-distance"; + version = "20220331-git"; + asds = [ "edit-distance" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-editdistance/2022-03-31/cl-editdistance-20220331-git.tgz"; + sha256 = "0nzbgq69wak18vwpk0fp68x8shdxq5vy70213dc2r0hwfzzc10v9"; + system = "edit-distance"; + asd = "edit-distance"; + } + ); + systems = [ "edit-distance" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + edit-distance-test = ( + build-asdf-system { + pname = "edit-distance-test"; + version = "20220331-git"; + asds = [ "edit-distance-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-editdistance/2022-03-31/cl-editdistance-20220331-git.tgz"; + sha256 = "0nzbgq69wak18vwpk0fp68x8shdxq5vy70213dc2r0hwfzzc10v9"; + system = "edit-distance-test"; + asd = "edit-distance-test"; + } + ); + systems = [ "edit-distance-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-coveralls" self) + (getAttr "edit-distance" self) + (getAttr "lisp-unit" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + elb-log = ( + build-asdf-system { + pname = "elb-log"; + version = "20150923-git"; + asds = [ "elb-log" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/elb-log/2015-09-23/elb-log-20150923-git.tgz"; + sha256 = "1d0vkmkjr6d96j7cggw5frj50jf14brbm63is41zwfkfl9r4i6bp"; + system = "elb-log"; + asd = "elb-log"; + } + ); + systems = [ "elb-log" ]; + lispLibs = [ + (getAttr "cl-annot-prove" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + (getAttr "cl-syntax-interpol" self) + (getAttr "local-time" self) + (getAttr "zs3" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + elb-log-test = ( + build-asdf-system { + pname = "elb-log-test"; + version = "20150923-git"; + asds = [ "elb-log-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/elb-log/2015-09-23/elb-log-20150923-git.tgz"; + sha256 = "1d0vkmkjr6d96j7cggw5frj50jf14brbm63is41zwfkfl9r4i6bp"; + system = "elb-log-test"; + asd = "elb-log-test"; + } + ); + systems = [ "elb-log-test" ]; + lispLibs = [ + (getAttr "elb-log" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + electron-tools = ( + build-asdf-system { + pname = "electron-tools"; + version = "20160421-git"; + asds = [ "electron-tools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/electron-tools/2016-04-21/electron-tools-20160421-git.tgz"; + sha256 = "0fr16gsbn87vyyjpn2gndhpjg7yzsn4j7skyn0py252cvdk5ygf7"; + system = "electron-tools"; + asd = "electron-tools"; + } + ); + systems = [ "electron-tools" ]; + lispLibs = [ + (getAttr "osicat" self) + (getAttr "trivial-download" self) + (getAttr "trivial-exe" self) + (getAttr "trivial-extract" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + electron-tools-test = ( + build-asdf-system { + pname = "electron-tools-test"; + version = "20160421-git"; + asds = [ "electron-tools-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/electron-tools/2016-04-21/electron-tools-20160421-git.tgz"; + sha256 = "0fr16gsbn87vyyjpn2gndhpjg7yzsn4j7skyn0py252cvdk5ygf7"; + system = "electron-tools-test"; + asd = "electron-tools-test"; + } + ); + systems = [ "electron-tools-test" ]; + lispLibs = [ + (getAttr "electron-tools" self) + (getAttr "fiveam" self) + (getAttr "trivial-extract" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + elf = ( + build-asdf-system { + pname = "elf"; + version = "20190710-git"; + asds = [ "elf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/elf/2019-07-10/elf-20190710-git.tgz"; + sha256 = "0rd1qcczr2gx76fmxia0kix0p5b49myc9fndibkvwc94cxg085gk"; + system = "elf"; + asd = "elf"; + } + ); + systems = [ "elf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "com_dot_gigamonkeys_dot_binary-data" self) + (getAttr "flexi-streams" self) + (getAttr "metabang-bind" self) + (getAttr "split-sequence" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enchant = ( + build-asdf-system { + pname = "enchant"; + version = "20241012-git"; + asds = [ "enchant" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-enchant/2024-10-12/cl-enchant-20241012-git.tgz"; + sha256 = "1fcxyb9b8g0v2il2q4xj7z19y1qfxvgd34zax8sdjvl4rp66b08v"; + system = "enchant"; + asd = "enchant"; + } + ); + systems = [ "enchant" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { }; + } + ); + enhanced-boolean = ( + build-asdf-system { + pname = "enhanced-boolean"; + version = "1.0"; + asds = [ "enhanced-boolean" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-boolean/2020-03-25/enhanced-boolean_1.0.tgz"; + sha256 = "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy"; + system = "enhanced-boolean"; + asd = "enhanced-boolean"; + } + ); + systems = [ "enhanced-boolean" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-boolean__tests = ( + build-asdf-system { + pname = "enhanced-boolean_tests"; + version = "1.0"; + asds = [ "enhanced-boolean_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-boolean/2020-03-25/enhanced-boolean_1.0.tgz"; + sha256 = "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy"; + system = "enhanced-boolean_tests"; + asd = "enhanced-boolean_tests"; + } + ); + systems = [ "enhanced-boolean_tests" ]; + lispLibs = [ + (getAttr "enhanced-boolean" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-defclass = ( + build-asdf-system { + pname = "enhanced-defclass"; + version = "2.1"; + asds = [ "enhanced-defclass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-defclass/2021-04-11/enhanced-defclass_2.1.tgz"; + sha256 = "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg"; + system = "enhanced-defclass"; + asd = "enhanced-defclass"; + } + ); + systems = [ "enhanced-defclass" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "compatible-metaclasses" self) + (getAttr "enhanced-eval-when" self) + (getAttr "enhanced-find-class" self) + (getAttr "evaled-when" self) + (getAttr "shared-preferences" self) + (getAttr "simple-guess" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-defclass__tests = ( + build-asdf-system { + pname = "enhanced-defclass_tests"; + version = "2.1"; + asds = [ "enhanced-defclass_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-defclass/2021-04-11/enhanced-defclass_2.1.tgz"; + sha256 = "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg"; + system = "enhanced-defclass_tests"; + asd = "enhanced-defclass_tests"; + } + ); + systems = [ "enhanced-defclass_tests" ]; + lispLibs = [ + (getAttr "enhanced-defclass" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-eval-when = ( + build-asdf-system { + pname = "enhanced-eval-when"; + version = "2.0"; + asds = [ "enhanced-eval-when" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-eval-when/2023-10-21/enhanced-eval-when_2.0.tgz"; + sha256 = "1l7n04pzcwsxvw6m4pcksmlx525ijbgh5n28h56clpvpwlwnzjs3"; + system = "enhanced-eval-when"; + asd = "enhanced-eval-when"; + } + ); + systems = [ "enhanced-eval-when" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-eval-when__tests = ( + build-asdf-system { + pname = "enhanced-eval-when_tests"; + version = "2.0"; + asds = [ "enhanced-eval-when_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-eval-when/2023-10-21/enhanced-eval-when_2.0.tgz"; + sha256 = "1l7n04pzcwsxvw6m4pcksmlx525ijbgh5n28h56clpvpwlwnzjs3"; + system = "enhanced-eval-when_tests"; + asd = "enhanced-eval-when_tests"; + } + ); + systems = [ "enhanced-eval-when_tests" ]; + lispLibs = [ + (getAttr "enhanced-eval-when" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-find-class = ( + build-asdf-system { + pname = "enhanced-find-class"; + version = "1.0"; + asds = [ "enhanced-find-class" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-find-class/2020-09-25/enhanced-find-class_1.0.tgz"; + sha256 = "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx"; + system = "enhanced-find-class"; + asd = "enhanced-find-class"; + } + ); + systems = [ "enhanced-find-class" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-find-class__tests = ( + build-asdf-system { + pname = "enhanced-find-class_tests"; + version = "1.0"; + asds = [ "enhanced-find-class_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-find-class/2020-09-25/enhanced-find-class_1.0.tgz"; + sha256 = "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx"; + system = "enhanced-find-class_tests"; + asd = "enhanced-find-class_tests"; + } + ); + systems = [ "enhanced-find-class_tests" ]; + lispLibs = [ + (getAttr "enhanced-find-class" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-multiple-value-bind = ( + build-asdf-system { + pname = "enhanced-multiple-value-bind"; + version = "2.0"; + asds = [ "enhanced-multiple-value-bind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-multiple-value-bind/2023-10-21/enhanced-multiple-value-bind_2.0.tgz"; + sha256 = "191h0rd3fs5vqc15kvblvvwmvcqddmvj3s8x6xfp78gm69wk9bdq"; + system = "enhanced-multiple-value-bind"; + asd = "enhanced-multiple-value-bind"; + } + ); + systems = [ "enhanced-multiple-value-bind" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-multiple-value-bind__tests = ( + build-asdf-system { + pname = "enhanced-multiple-value-bind_tests"; + version = "2.0"; + asds = [ "enhanced-multiple-value-bind_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-multiple-value-bind/2023-10-21/enhanced-multiple-value-bind_2.0.tgz"; + sha256 = "191h0rd3fs5vqc15kvblvvwmvcqddmvj3s8x6xfp78gm69wk9bdq"; + system = "enhanced-multiple-value-bind_tests"; + asd = "enhanced-multiple-value-bind_tests"; + } + ); + systems = [ "enhanced-multiple-value-bind_tests" ]; + lispLibs = [ + (getAttr "enhanced-eval-when" self) + (getAttr "enhanced-multiple-value-bind" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-typep = ( + build-asdf-system { + pname = "enhanced-typep"; + version = "1.0"; + asds = [ "enhanced-typep" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-typep/2020-10-16/enhanced-typep_1.0.tgz"; + sha256 = "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21"; + system = "enhanced-typep"; + asd = "enhanced-typep"; + } + ); + systems = [ "enhanced-typep" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-typep__tests = ( + build-asdf-system { + pname = "enhanced-typep_tests"; + version = "1.0"; + asds = [ "enhanced-typep_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-typep/2020-10-16/enhanced-typep_1.0.tgz"; + sha256 = "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21"; + system = "enhanced-typep_tests"; + asd = "enhanced-typep_tests"; + } + ); + systems = [ "enhanced-typep_tests" ]; + lispLibs = [ + (getAttr "enhanced-boolean" self) + (getAttr "enhanced-typep" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-unwind-protect = ( + build-asdf-system { + pname = "enhanced-unwind-protect"; + version = "1.0"; + asds = [ "enhanced-unwind-protect" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-unwind-protect/2023-10-21/enhanced-unwind-protect_1.0.tgz"; + sha256 = "00yak6ga0rsz58r96clmzvqbcmnfxcdxvn3h3ysirrsfr8rayy5m"; + system = "enhanced-unwind-protect"; + asd = "enhanced-unwind-protect"; + } + ); + systems = [ "enhanced-unwind-protect" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enhanced-unwind-protect__tests = ( + build-asdf-system { + pname = "enhanced-unwind-protect_tests"; + version = "1.0"; + asds = [ "enhanced-unwind-protect_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/enhanced-unwind-protect/2023-10-21/enhanced-unwind-protect_1.0.tgz"; + sha256 = "00yak6ga0rsz58r96clmzvqbcmnfxcdxvn3h3ysirrsfr8rayy5m"; + system = "enhanced-unwind-protect_tests"; + asd = "enhanced-unwind-protect_tests"; + } + ); + systems = [ "enhanced-unwind-protect_tests" ]; + lispLibs = [ + (getAttr "enhanced-unwind-protect" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + enumerations = ( + build-asdf-system { + pname = "enumerations"; + version = "20230214-git"; + asds = [ "enumerations" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-enumeration/2023-02-14/cl-enumeration-20230214-git.tgz"; + sha256 = "08jp5sf1230d4yyr7jyjqv235hdjjbmabh8r5lsqjh4kgqbwrvqr"; + system = "enumerations"; + asd = "enumerations"; + } + ); + systems = [ "enumerations" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + envy = ( + build-asdf-system { + pname = "envy"; + version = "20220331-git"; + asds = [ "envy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/envy/2022-03-31/envy-20220331-git.tgz"; + sha256 = "1r0wgimd7z57x8cv69sw76w3y5l70hq50882a9nq5l4v64lg55fq"; + system = "envy"; + asd = "envy"; + } + ); + systems = [ "envy" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + envy-test = ( + build-asdf-system { + pname = "envy-test"; + version = "20220331-git"; + asds = [ "envy-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/envy/2022-03-31/envy-20220331-git.tgz"; + sha256 = "1r0wgimd7z57x8cv69sw76w3y5l70hq50882a9nq5l4v64lg55fq"; + system = "envy-test"; + asd = "envy-test"; + } + ); + systems = [ "envy-test" ]; + lispLibs = [ + (getAttr "envy" self) + (getAttr "osicat" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eos = ( + build-asdf-system { + pname = "eos"; + version = "20200925-git"; + asds = [ "eos" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eos/2020-09-25/eos-20200925-git.tgz"; + sha256 = "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"; + system = "eos"; + asd = "eos"; + } + ); + systems = [ "eos" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eos-tests = ( + build-asdf-system { + pname = "eos-tests"; + version = "20200925-git"; + asds = [ "eos-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eos/2020-09-25/eos-20200925-git.tgz"; + sha256 = "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"; + system = "eos-tests"; + asd = "eos"; + } + ); + systems = [ "eos-tests" ]; + lispLibs = [ (getAttr "eos" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + epigraph = ( + build-asdf-system { + pname = "epigraph"; + version = "20200325-git"; + asds = [ "epigraph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/epigraph/2020-03-25/epigraph-20200325-git.tgz"; + sha256 = "0gqiv23grdiz6pfly7mqyfmq4c6nwcamlvgsnixn8qi9md7b9d64"; + system = "epigraph"; + asd = "epigraph"; + } + ); + systems = [ "epigraph" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + epigraph-test = ( + build-asdf-system { + pname = "epigraph-test"; + version = "20200325-git"; + asds = [ "epigraph-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/epigraph/2020-03-25/epigraph-20200325-git.tgz"; + sha256 = "0gqiv23grdiz6pfly7mqyfmq4c6nwcamlvgsnixn8qi9md7b9d64"; + system = "epigraph-test"; + asd = "epigraph"; + } + ); + systems = [ "epigraph-test" ]; + lispLibs = [ + (getAttr "epigraph" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + epmd = ( + build-asdf-system { + pname = "epmd"; + version = "20140211-git"; + asds = [ "epmd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-epmd/2014-02-11/cl-epmd-20140211-git.tgz"; + sha256 = "1334856x7jqhv52wlab6wxmfqslj21pmryx3lwmlsn7c3ypwz4rw"; + system = "epmd"; + asd = "epmd"; + } + ); + systems = [ "epmd" ]; + lispLibs = [ + (getAttr "com_dot_gigamonkeys_dot_binary-data" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + epmd-test = ( + build-asdf-system { + pname = "epmd-test"; + version = "20140211-git"; + asds = [ "epmd-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-epmd/2014-02-11/cl-epmd-20140211-git.tgz"; + sha256 = "1334856x7jqhv52wlab6wxmfqslj21pmryx3lwmlsn7c3ypwz4rw"; + system = "epmd-test"; + asd = "epmd-test"; + } + ); + systems = [ "epmd-test" ]; + lispLibs = [ + (getAttr "epmd" self) + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + equals = ( + build-asdf-system { + pname = "equals"; + version = "20241012-git"; + asds = [ "equals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/equals/2024-10-12/equals-20241012-git.tgz"; + sha256 = "1pzhj748dgjcw6qffkykxx156y78wy3bsbqmq5ijkybfjpnfsg27"; + system = "equals"; + asd = "equals"; + } + ); + systems = [ "equals" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + erjoalgo-webutil = ( + build-asdf-system { + pname = "erjoalgo-webutil"; + version = "20241012-git"; + asds = [ "erjoalgo-webutil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/erjoalgo-webutil/2024-10-12/erjoalgo-webutil-20241012-git.tgz"; + sha256 = "1mf9f23p6pagdi97k306a6122a5djx06nfwsxnx61gbyir2cpl2c"; + system = "erjoalgo-webutil"; + asd = "erjoalgo-webutil"; + } + ); + systems = [ "erjoalgo-webutil" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "fiasco" self) + (getAttr "gzip-stream" self) + (getAttr "hunchentoot" self) + (getAttr "vom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + erlang-term = ( + build-asdf-system { + pname = "erlang-term"; + version = "20220220-git"; + asds = [ "erlang-term" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-erlang-term/2022-02-20/cl-erlang-term-20220220-git.tgz"; + sha256 = "1rmnbirbvwmik3j0xkkn90kzx90klrwx7hmscl0ywcbaprm71wkv"; + system = "erlang-term"; + asd = "erlang-term"; + } + ); + systems = [ "erlang-term" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "ieee-floats" self) + (getAttr "nibbles" self) + (getAttr "zlib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + erlang-term-test = ( + build-asdf-system { + pname = "erlang-term-test"; + version = "20220220-git"; + asds = [ "erlang-term-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-erlang-term/2022-02-20/cl-erlang-term-20220220-git.tgz"; + sha256 = "1rmnbirbvwmik3j0xkkn90kzx90klrwx7hmscl0ywcbaprm71wkv"; + system = "erlang-term-test"; + asd = "erlang-term-test"; + } + ); + systems = [ "erlang-term-test" ]; + lispLibs = [ + (getAttr "erlang-term" self) + (getAttr "fiveam" self) + (getAttr "nibbles" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ernestine = ( + build-asdf-system { + pname = "ernestine"; + version = "20220220-git"; + asds = [ "ernestine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ernestine/2022-02-20/ernestine-20220220-git.tgz"; + sha256 = "1gl8pjp44j01nfw9dzk1qdl6njnqcaccp5czcr5rq47l1aicrymn"; + system = "ernestine"; + asd = "ernestine"; + } + ); + systems = [ "ernestine" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-prevalence" self) + (getAttr "drakma" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ernestine-tests = ( + build-asdf-system { + pname = "ernestine-tests"; + version = "20220220-git"; + asds = [ "ernestine-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ernestine/2022-02-20/ernestine-20220220-git.tgz"; + sha256 = "1gl8pjp44j01nfw9dzk1qdl6njnqcaccp5czcr5rq47l1aicrymn"; + system = "ernestine-tests"; + asd = "ernestine-tests"; + } + ); + systems = [ "ernestine-tests" ]; + lispLibs = [ + (getAttr "ernestine" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + erudite = ( + build-asdf-system { + pname = "erudite"; + version = "20241012-git"; + asds = [ "erudite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/erudite/2024-10-12/erudite-20241012-git.tgz"; + sha256 = "159fmpm770rnixdpzpmzvqzd2kpns5mglpdxykvv2lqlnac24jn5"; + system = "erudite"; + asd = "erudite"; + } + ); + systems = [ "erudite" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-template" self) + (getAttr "log4cl" self) + (getAttr "split-sequence" self) + (getAttr "swank-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + erudite-test = ( + build-asdf-system { + pname = "erudite-test"; + version = "20241012-git"; + asds = [ "erudite-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/erudite/2024-10-12/erudite-20241012-git.tgz"; + sha256 = "159fmpm770rnixdpzpmzvqzd2kpns5mglpdxykvv2lqlnac24jn5"; + system = "erudite-test"; + asd = "erudite-test"; + } + ); + systems = [ "erudite-test" ]; + lispLibs = [ + (getAttr "erudite" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + esa-mcclim = ( + build-asdf-system { + pname = "esa-mcclim"; + version = "20241012-git"; + asds = [ "esa-mcclim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "esa-mcclim"; + asd = "esa-mcclim"; + } + ); + systems = [ "esa-mcclim" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "clim-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + escalator = ( + build-asdf-system { + pname = "escalator"; + version = "20200427-git"; + asds = [ "escalator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/escalator/2020-04-27/escalator-20200427-git.tgz"; + sha256 = "136n4k983f90cqj6na17ff2fvk9rv4ma8l5y66q7lkbb69idipla"; + system = "escalator"; + asd = "escalator"; + } + ); + systems = [ "escalator" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + escalator-bench = ( + build-asdf-system { + pname = "escalator-bench"; + version = "20200427-git"; + asds = [ "escalator-bench" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/escalator/2020-04-27/escalator-20200427-git.tgz"; + sha256 = "136n4k983f90cqj6na17ff2fvk9rv4ma8l5y66q7lkbb69idipla"; + system = "escalator-bench"; + asd = "escalator-bench"; + } + ); + systems = [ "escalator-bench" ]; + lispLibs = [ + (getAttr "escalator" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + esrap = ( + build-asdf-system { + pname = "esrap"; + version = "20241012-git"; + asds = [ "esrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/esrap/2024-10-12/esrap-20241012-git.tgz"; + sha256 = "0pvid1hld03vz2zyszvsxckcpjb2lfl2vjfig6dlrmw3dx8grdj0"; + system = "esrap"; + asd = "esrap"; + } + ); + systems = [ "esrap" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-with-current-source-form" self) + ]; + meta = { }; + } + ); + esrap-liquid = ( + build-asdf-system { + pname = "esrap-liquid"; + version = "20161031-git"; + asds = [ "esrap-liquid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/esrap-liquid/2016-10-31/esrap-liquid-20161031-git.tgz"; + sha256 = "0agsi8qx6v3c7r6ri5rp78vdb570pdgkvw80va3045crl61mkjzs"; + system = "esrap-liquid"; + asd = "esrap-liquid"; + } + ); + systems = [ "esrap-liquid" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + esrap-liquid-tests = ( + build-asdf-system { + pname = "esrap-liquid-tests"; + version = "20161031-git"; + asds = [ "esrap-liquid-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/esrap-liquid/2016-10-31/esrap-liquid-20161031-git.tgz"; + sha256 = "0agsi8qx6v3c7r6ri5rp78vdb570pdgkvw80va3045crl61mkjzs"; + system = "esrap-liquid-tests"; + asd = "esrap-liquid"; + } + ); + systems = [ "esrap-liquid-tests" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "esrap-liquid" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + esrap-peg = ( + build-asdf-system { + pname = "esrap-peg"; + version = "20191007-git"; + asds = [ "esrap-peg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/esrap-peg/2019-10-07/esrap-peg-20191007-git.tgz"; + sha256 = "0540i7whx1w0n9fdakwk8rnn511xga9xfvczq9y1jcgz1hh42w53"; + system = "esrap-peg"; + asd = "esrap-peg"; + } + ); + systems = [ "esrap-peg" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-unification" self) + (getAttr "esrap" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + etcd-test = ( + build-asdf-system { + pname = "etcd-test"; + version = "20230214-git"; + asds = [ "etcd-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-etcd/2023-02-14/cl-etcd-20230214-git.tgz"; + sha256 = "0bals10r07prxvjxd744vz02ri72isf168lkhrx9qkc96hd214ah"; + system = "etcd-test"; + asd = "etcd-test"; + } + ); + systems = [ "etcd-test" ]; + lispLibs = [ + (getAttr "cl-etcd" self) + (getAttr "cl-toml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ev = ( + build-asdf-system { + pname = "ev"; + version = "20150923-git"; + asds = [ "ev" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ev/2015-09-23/cl-ev-20150923-git.tgz"; + sha256 = "0qnkzkw9mn4w6b0q9y207z8ddnd5a2gn42q55yycp2qrvvv47lhp"; + system = "ev"; + asd = "ev"; + } + ); + systems = [ "ev" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + evaled-when = ( + build-asdf-system { + pname = "evaled-when"; + version = "1.0"; + asds = [ "evaled-when" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/evaled-when/2020-09-25/evaled-when_1.0.tgz"; + sha256 = "0482s89nb5jyyg5wmb010p914pgq6ls8z5s12hdw7wrpy675kdkh"; + system = "evaled-when"; + asd = "evaled-when"; + } + ); + systems = [ "evaled-when" ]; + lispLibs = [ (getAttr "trivial-cltl2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + evaled-when__tests = ( + build-asdf-system { + pname = "evaled-when_tests"; + version = "1.0"; + asds = [ "evaled-when_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/evaled-when/2020-09-25/evaled-when_1.0.tgz"; + sha256 = "0482s89nb5jyyg5wmb010p914pgq6ls8z5s12hdw7wrpy675kdkh"; + system = "evaled-when_tests"; + asd = "evaled-when_tests"; + } + ); + systems = [ "evaled-when_tests" ]; + lispLibs = [ + (getAttr "enhanced-boolean" self) + (getAttr "evaled-when" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + event-emitter = ( + build-asdf-system { + pname = "event-emitter"; + version = "20241012-git"; + asds = [ "event-emitter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/event-emitter/2024-10-12/event-emitter-20241012-git.tgz"; + sha256 = "0kj77r09wbsiq6n62vvgk9fh37p3n3ycmhln1mhswz24rhirnpyn"; + system = "event-emitter"; + asd = "event-emitter"; + } + ); + systems = [ "event-emitter" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + event-emitter-benchmark = ( + build-asdf-system { + pname = "event-emitter-benchmark"; + version = "20241012-git"; + asds = [ "event-emitter-benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/event-emitter/2024-10-12/event-emitter-20241012-git.tgz"; + sha256 = "0kj77r09wbsiq6n62vvgk9fh37p3n3ycmhln1mhswz24rhirnpyn"; + system = "event-emitter-benchmark"; + asd = "event-emitter-benchmark"; + } + ); + systems = [ "event-emitter-benchmark" ]; + lispLibs = [ (getAttr "event-emitter" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + event-emitter-test = ( + build-asdf-system { + pname = "event-emitter-test"; + version = "20241012-git"; + asds = [ "event-emitter-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/event-emitter/2024-10-12/event-emitter-20241012-git.tgz"; + sha256 = "0kj77r09wbsiq6n62vvgk9fh37p3n3ycmhln1mhswz24rhirnpyn"; + system = "event-emitter-test"; + asd = "event-emitter-test"; + } + ); + systems = [ "event-emitter-test" ]; + lispLibs = [ + (getAttr "event-emitter" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + event-glue = ( + build-asdf-system { + pname = "event-glue"; + version = "20150608-git"; + asds = [ "event-glue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/event-glue/2015-06-08/event-glue-20150608-git.tgz"; + sha256 = "1cmxdx5nawzqafz9b6nswp20d3zlaks44ln4n6bf5jxji9n3vany"; + system = "event-glue"; + asd = "event-glue"; + } + ); + systems = [ "event-glue" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + event-glue-test = ( + build-asdf-system { + pname = "event-glue-test"; + version = "20150608-git"; + asds = [ "event-glue-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/event-glue/2015-06-08/event-glue-20150608-git.tgz"; + sha256 = "1cmxdx5nawzqafz9b6nswp20d3zlaks44ln4n6bf5jxji9n3vany"; + system = "event-glue-test"; + asd = "event-glue-test"; + } + ); + systems = [ "event-glue-test" ]; + lispLibs = [ + (getAttr "event-glue" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eventbus = ( + build-asdf-system { + pname = "eventbus"; + version = "20191227-git"; + asds = [ "eventbus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eventbus/2019-12-27/eventbus-20191227-git.tgz"; + sha256 = "0slqx3zq6sbz3rg4g79j8y25sx4405y6ff3x6l5v8v4v42m1s0p2"; + system = "eventbus"; + asd = "eventbus"; + } + ); + systems = [ "eventbus" ]; + lispLibs = [ (getAttr "simplet-asdf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + eventfd = ( + build-asdf-system { + pname = "eventfd"; + version = "20171130-git"; + asds = [ "eventfd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eventfd/2017-11-30/eventfd-20171130-git.tgz"; + sha256 = "1zwg043vqzk665k9dxgxhik20wgkl204anjna94zg6037m33vdiw"; + system = "eventfd"; + asd = "eventfd"; + } + ); + systems = [ "eventfd" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi-grovel" self) + (getAttr "iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + everblocking-stream = ( + build-asdf-system { + pname = "everblocking-stream"; + version = "20181018-git"; + asds = [ "everblocking-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/everblocking-stream/2018-10-18/everblocking-stream-20181018-git.tgz"; + sha256 = "1xvfsx2ldwcprlynikn1rikxh3lfdyzl2p72glzvgh20sm93p1rz"; + system = "everblocking-stream"; + asd = "everblocking-stream"; + } + ); + systems = [ "everblocking-stream" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + evol = ( + build-asdf-system { + pname = "evol"; + version = "20101006-git"; + asds = [ "evol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/evol/2010-10-06/evol-20101006-git.tgz"; + sha256 = "1hp6wygj44llkscqq721xg4a7j5faqjcfc646lvkia5xg81zbf65"; + system = "evol"; + asd = "evol"; + } + ); + systems = [ "evol" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "external-program" self) + (getAttr "patron" self) + (getAttr "unix-options" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + evol-test = ( + build-asdf-system { + pname = "evol-test"; + version = "20101006-git"; + asds = [ "evol-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/evol/2010-10-06/evol-20101006-git.tgz"; + sha256 = "1hp6wygj44llkscqq721xg4a7j5faqjcfc646lvkia5xg81zbf65"; + system = "evol-test"; + asd = "evol-test"; + } + ); + systems = [ "evol-test" ]; + lispLibs = [ + (getAttr "evol" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + example-bot = ( + build-asdf-system { + pname = "example-bot"; + version = "20241012-git"; + asds = [ "example-bot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispcord/2024-10-12/lispcord-20241012-git.tgz"; + sha256 = "11xwrrvvqdm1wdnxrxqgizgw25plsn28n2k0lm5kakax9n221brn"; + system = "example-bot"; + asd = "example-bot"; + } + ); + systems = [ "example-bot" ]; + lispLibs = [ (getAttr "lispcord" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + exit-hooks = ( + build-asdf-system { + pname = "exit-hooks"; + version = "20170403-git"; + asds = [ "exit-hooks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/exit-hooks/2017-04-03/exit-hooks-20170403-git.tgz"; + sha256 = "00rk0pr2cy3hy6giblh166b7yrg06d5lanipjcqv508gkfb0vi47"; + system = "exit-hooks"; + asd = "exit-hooks"; + } + ); + systems = [ "exit-hooks" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + exponential-backoff = ( + build-asdf-system { + pname = "exponential-backoff"; + version = "20150113-git"; + asds = [ "exponential-backoff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/exponential-backoff/2015-01-13/exponential-backoff-20150113-git.tgz"; + sha256 = "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"; + system = "exponential-backoff"; + asd = "exponential-backoff"; + } + ); + systems = [ "exponential-backoff" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + exscribe = ( + build-asdf-system { + pname = "exscribe"; + version = "20200925-git"; + asds = [ "exscribe" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/exscribe/2020-09-25/exscribe-20200925-git.tgz"; + sha256 = "02vsavasr5nbhrk86b7d8xpr6sm8cyrg3vs2pbpkls2iypffyd2h"; + system = "exscribe"; + asd = "exscribe"; + } + ); + systems = [ "exscribe" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fare-memoization" self) + (getAttr "fare-scripts" self) + (getAttr "fare-utils" self) + (getAttr "quri" self) + (getAttr "scribble" self) + (getAttr "trivia_dot_quasiquote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ext-blog = ( + build-asdf-system { + pname = "ext-blog"; + version = "20160825-git"; + asds = [ "ext-blog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ext-blog/2016-08-25/ext-blog-20160825-git.tgz"; + sha256 = "10qnl3p994wg12c0cn6xgkgmwfip0fk0sjyqyy0j5bdrp32gr5wg"; + system = "ext-blog"; + asd = "ext-blog"; + } + ); + systems = [ "ext-blog" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-store" self) + (getAttr "closure-template" self) + (getAttr "image" self) + (getAttr "kl-verify" self) + (getAttr "local-time" self) + (getAttr "restas" self) + (getAttr "restas_dot_file-publisher" self) + (getAttr "s-xml-rpc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + extended-reals = ( + build-asdf-system { + pname = "extended-reals"; + version = "20180328-git"; + asds = [ "extended-reals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/extended-reals/2018-03-28/extended-reals-20180328-git.tgz"; + sha256 = "0vq191win5sq37mrwjhvi463jqh1mkwbsa0hja69syq789pgaxmb"; + system = "extended-reals"; + asd = "extended-reals"; + } + ); + systems = [ "extended-reals" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + extensible-sequences = ( + build-asdf-system { + pname = "extensible-sequences"; + version = "20130813-darcs"; + asds = [ "extensible-sequences" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz"; + sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5"; + system = "extensible-sequences"; + asd = "extensible-sequences"; + } + ); + systems = [ "extensible-sequences" ]; + lispLibs = [ (getAttr "sequence-iterators" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + external-program = ( + build-asdf-system { + pname = "external-program"; + version = "20241012-git"; + asds = [ "external-program" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/external-program/2024-10-12/external-program-20241012-git.tgz"; + sha256 = "1g7hawsbbfspzljj2spxxv26a5079xsa0kd7dqdclm5n71fypwx6"; + system = "external-program"; + asd = "external-program"; + } + ); + systems = [ "external-program" ]; + lispLibs = [ (getAttr "trivial-features" self) ]; + meta = { }; + } + ); + external-program-test = ( + build-asdf-system { + pname = "external-program-test"; + version = "20241012-git"; + asds = [ "external-program-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/external-program/2024-10-12/external-program-20241012-git.tgz"; + sha256 = "1g7hawsbbfspzljj2spxxv26a5079xsa0kd7dqdclm5n71fypwx6"; + system = "external-program-test"; + asd = "external-program"; + } + ); + systems = [ "external-program-test" ]; + lispLibs = [ + (getAttr "external-program" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + external-symbol-not-found = ( + build-asdf-system { + pname = "external-symbol-not-found"; + version = "20241012-git"; + asds = [ "external-symbol-not-found" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/external-symbol-not-found/2024-10-12/external-symbol-not-found-20241012-git.tgz"; + sha256 = "1ic982jbcy71wlni60wnb8hqg3cqw488h4jj5pd2sqmjwv1960v7"; + system = "external-symbol-not-found"; + asd = "external-symbol-not-found"; + } + ); + systems = [ "external-symbol-not-found" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + f-underscore = ( + build-asdf-system { + pname = "f-underscore"; + version = "20101006-darcs"; + asds = [ "f-underscore" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f-underscore/2010-10-06/f-underscore-20101006-darcs.tgz"; + sha256 = "0mqvb2rxa08y07lj6smp8gf1ig32802fxq7mw5a283f2nkrinnb5"; + system = "f-underscore"; + asd = "f-underscore"; + } + ); + systems = [ "f-underscore" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + f2cl = ( + build-asdf-system { + pname = "f2cl"; + version = "20231021-git"; + asds = [ "f2cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "f2cl"; + asd = "f2cl"; + } + ); + systems = [ "f2cl" ]; + lispLibs = [ (getAttr "f2cl-asdf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + f2cl-asdf = ( + build-asdf-system { + pname = "f2cl-asdf"; + version = "20231021-git"; + asds = [ "f2cl-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "f2cl-asdf"; + asd = "f2cl-asdf"; + } + ); + systems = [ "f2cl-asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + f2cl-lib = ( + build-asdf-system { + pname = "f2cl-lib"; + version = "20220220-git"; + asds = [ "f2cl-lib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "f2cl-lib"; + asd = "f2cl-lib"; + } + ); + systems = [ "f2cl-lib" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fact-base = ( + build-asdf-system { + pname = "fact-base"; + version = "20180328-git"; + asds = [ "fact-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fact-base/2018-03-28/fact-base-20180328-git.tgz"; + sha256 = "14i0vqqxszabhas0z9dfxhvnbsxl4iic77m4i76w7iznmrcma2ar"; + system = "fact-base"; + asd = "fact-base"; + } + ); + systems = [ "fact-base" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "local-time" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + factory-alien = ( + build-asdf-system { + pname = "factory-alien"; + version = "20230618-git"; + asds = [ "factory-alien" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/factory-alien/2023-06-18/factory-alien-20230618-git.tgz"; + sha256 = "0n1fwxapl9vr0cm66gkhihws6zhvg2f4acx017lavn0g42b5fc4a"; + system = "factory-alien"; + asd = "factory-alien"; + } + ); + systems = [ "factory-alien" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fakenil = ( + build-asdf-system { + pname = "fakenil"; + version = "1.0"; + asds = [ "fakenil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fakenil/2020-03-25/fakenil_1.0.tgz"; + sha256 = "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3"; + system = "fakenil"; + asd = "fakenil"; + } + ); + systems = [ "fakenil" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fakenil__tests = ( + build-asdf-system { + pname = "fakenil_tests"; + version = "1.0"; + asds = [ "fakenil_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fakenil/2020-03-25/fakenil_1.0.tgz"; + sha256 = "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3"; + system = "fakenil_tests"; + asd = "fakenil_tests"; + } + ); + systems = [ "fakenil_tests" ]; + lispLibs = [ + (getAttr "fakenil" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fare-csv = ( + build-asdf-system { + pname = "fare-csv"; + version = "20241012-git"; + asds = [ "fare-csv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-csv/2024-10-12/fare-csv-20241012-git.tgz"; + sha256 = "153sxb0vyd1cnhfw15j3183kqhcnma0ygaf5svzibknclm16n767"; + system = "fare-csv"; + asd = "fare-csv"; + } + ); + systems = [ "fare-csv" ]; + lispLibs = [ ]; + meta = { }; + } + ); + fare-memoization = ( + build-asdf-system { + pname = "fare-memoization"; + version = "20180430-git"; + asds = [ "fare-memoization" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-memoization/2018-04-30/fare-memoization-20180430-git.tgz"; + sha256 = "1blmrb4c9gsxj87scz74z1s8w9d1w2r48fyxj0y1sw3vr6bsbb8f"; + system = "fare-memoization"; + asd = "fare-memoization"; + } + ); + systems = [ "fare-memoization" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fare-mop = ( + build-asdf-system { + pname = "fare-mop"; + version = "20151218-git"; + asds = [ "fare-mop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-mop/2015-12-18/fare-mop-20151218-git.tgz"; + sha256 = "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"; + system = "fare-mop"; + asd = "fare-mop"; + } + ); + systems = [ "fare-mop" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "fare-utils" self) + ]; + meta = { }; + } + ); + fare-quasiquote = ( + build-asdf-system { + pname = "fare-quasiquote"; + version = "20200925-git"; + asds = [ "fare-quasiquote" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; + sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; + system = "fare-quasiquote"; + asd = "fare-quasiquote"; + } + ); + systems = [ "fare-quasiquote" ]; + lispLibs = [ (getAttr "fare-utils" self) ]; + meta = { }; + } + ); + fare-quasiquote-extras = ( + build-asdf-system { + pname = "fare-quasiquote-extras"; + version = "20200925-git"; + asds = [ "fare-quasiquote-extras" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; + sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; + system = "fare-quasiquote-extras"; + asd = "fare-quasiquote-extras"; + } + ); + systems = [ "fare-quasiquote-extras" ]; + lispLibs = [ + (getAttr "fare-quasiquote-optima" self) + (getAttr "fare-quasiquote-readtable" self) + ]; + meta = { }; + } + ); + fare-quasiquote-optima = ( + build-asdf-system { + pname = "fare-quasiquote-optima"; + version = "20200925-git"; + asds = [ "fare-quasiquote-optima" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; + sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; + system = "fare-quasiquote-optima"; + asd = "fare-quasiquote-optima"; + } + ); + systems = [ "fare-quasiquote-optima" ]; + lispLibs = [ (getAttr "trivia_dot_quasiquote" self) ]; + meta = { }; + } + ); + fare-quasiquote-readtable = ( + build-asdf-system { + pname = "fare-quasiquote-readtable"; + version = "20200925-git"; + asds = [ "fare-quasiquote-readtable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz"; + sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n"; + system = "fare-quasiquote-readtable"; + asd = "fare-quasiquote-readtable"; + } + ); + systems = [ "fare-quasiquote-readtable" ]; + lispLibs = [ + (getAttr "fare-quasiquote" self) + (getAttr "named-readtables" self) + ]; + meta = { }; + } + ); + fare-scripts = ( + build-asdf-system { + pname = "fare-scripts"; + version = "20241012-git"; + asds = [ "fare-scripts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-scripts/2024-10-12/fare-scripts-20241012-git.tgz"; + sha256 = "08fq1ry4prlww4gr7zris7vywqs3vm1253mqfgx8vg0awrccmf98"; + system = "fare-scripts"; + asd = "fare-scripts"; + } + ); + systems = [ "fare-scripts" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "binascii" self) + (getAttr "cl-launch" self) + (getAttr "cl-mime" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-scripting" self) + (getAttr "cl-unicode" self) + (getAttr "command-line-arguments" self) + (getAttr "fare-utils" self) + (getAttr "inferior-shell" self) + (getAttr "optima" self) + (getAttr "optima_dot_ppcre" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fare-utils = ( + build-asdf-system { + pname = "fare-utils"; + version = "20230214-git"; + asds = [ "fare-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-utils/2023-02-14/fare-utils-20230214-git.tgz"; + sha256 = "0kw6xzavzvpzac3xa6x4681q6w6v6bjk1g71flr2x9xixxg61sak"; + system = "fare-utils"; + asd = "fare-utils"; + } + ); + systems = [ "fare-utils" ]; + lispLibs = [ ]; + meta = { }; + } + ); + fare-utils-test = ( + build-asdf-system { + pname = "fare-utils-test"; + version = "20230214-git"; + asds = [ "fare-utils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fare-utils/2023-02-14/fare-utils-20230214-git.tgz"; + sha256 = "0kw6xzavzvpzac3xa6x4681q6w6v6bjk1g71flr2x9xixxg61sak"; + system = "fare-utils-test"; + asd = "fare-utils-test"; + } + ); + systems = [ "fare-utils-test" ]; + lispLibs = [ + (getAttr "fare-utils" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fast-http = ( + build-asdf-system { + pname = "fast-http"; + version = "20241012-git"; + asds = [ "fast-http" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-http/2024-10-12/fast-http-20241012-git.tgz"; + sha256 = "04cxh2241l9hyzarrxs528v2jjdfm5g3prc2374m4xkrb0wiygh0"; + system = "fast-http"; + asd = "fast-http"; + } + ); + systems = [ "fast-http" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-utilities" self) + (getAttr "proc-parse" self) + (getAttr "smart-buffer" self) + (getAttr "xsubseq" self) + ]; + meta = { }; + } + ); + fast-http-test = ( + build-asdf-system { + pname = "fast-http-test"; + version = "20241012-git"; + asds = [ "fast-http-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-http/2024-10-12/fast-http-20241012-git.tgz"; + sha256 = "04cxh2241l9hyzarrxs528v2jjdfm5g3prc2374m4xkrb0wiygh0"; + system = "fast-http-test"; + asd = "fast-http-test"; + } + ); + systems = [ "fast-http-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-syntax-interpol" self) + (getAttr "fast-http" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "xsubseq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fast-io = ( + build-asdf-system { + pname = "fast-io"; + version = "20221106-git"; + asds = [ "fast-io" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-io/2022-11-06/fast-io-20221106-git.tgz"; + sha256 = "0wh02yagbqahy9z6787jz5ggpagvr18qd0z13wvwq1vjf8xd2530"; + system = "fast-io"; + asd = "fast-io"; + } + ); + systems = [ "fast-io" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "static-vectors" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + fast-io-test = ( + build-asdf-system { + pname = "fast-io-test"; + version = "20221106-git"; + asds = [ "fast-io-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-io/2022-11-06/fast-io-20221106-git.tgz"; + sha256 = "0wh02yagbqahy9z6787jz5ggpagvr18qd0z13wvwq1vjf8xd2530"; + system = "fast-io-test"; + asd = "fast-io-test"; + } + ); + systems = [ "fast-io-test" ]; + lispLibs = [ + (getAttr "checkl" self) + (getAttr "fast-io" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fast-mpsc-queue = ( + build-asdf-system { + pname = "fast-mpsc-queue"; + version = "20241012-git"; + asds = [ "fast-mpsc-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-mpsc-queue/2024-10-12/fast-mpsc-queue-20241012-git.tgz"; + sha256 = "1ggiaryjv3lmzrk6m22y7vvbqn3z0n7ahmkyfjq6iyrd64d77ck7"; + system = "fast-mpsc-queue"; + asd = "fast-mpsc-queue"; + } + ); + systems = [ "fast-mpsc-queue" ]; + lispLibs = [ (getAttr "metabang-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fast-websocket = ( + build-asdf-system { + pname = "fast-websocket"; + version = "20241012-git"; + asds = [ "fast-websocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-websocket/2024-10-12/fast-websocket-20241012-git.tgz"; + sha256 = "102z58d27966lpx08kc6apgaainbsdfhygb67ibyw6lxnaasy3jz"; + system = "fast-websocket"; + asd = "fast-websocket"; + } + ); + systems = [ "fast-websocket" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "fast-io" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fast-websocket-test = ( + build-asdf-system { + pname = "fast-websocket-test"; + version = "20241012-git"; + asds = [ "fast-websocket-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fast-websocket/2024-10-12/fast-websocket-20241012-git.tgz"; + sha256 = "102z58d27966lpx08kc6apgaainbsdfhygb67ibyw6lxnaasy3jz"; + system = "fast-websocket-test"; + asd = "fast-websocket-test"; + } + ); + systems = [ "fast-websocket-test" ]; + lispLibs = [ + (getAttr "fast-io" self) + (getAttr "fast-websocket" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + feeder = ( + build-asdf-system { + pname = "feeder"; + version = "20231021-git"; + asds = [ "feeder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/feeder/2023-10-21/feeder-20231021-git.tgz"; + sha256 = "00j3s98lbh6h2p007s7x48rw0ckd3c1apfwb28y89jxnwqk7sng7"; + system = "feeder"; + asd = "feeder"; + } + ); + systems = [ "feeder" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "local-time" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + femlisp = ( + build-asdf-system { + pname = "femlisp"; + version = "20210411-git"; + asds = [ "femlisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "femlisp"; + asd = "femlisp"; + } + ); + systems = [ "femlisp" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "femlisp-basic" self) + (getAttr "femlisp-dictionary" self) + (getAttr "femlisp-matlisp" self) + (getAttr "femlisp-parallel" self) + (getAttr "flexi-streams" self) + (getAttr "infix" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + femlisp-basic = ( + build-asdf-system { + pname = "femlisp-basic"; + version = "20210411-git"; + asds = [ "femlisp-basic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "femlisp-basic"; + asd = "femlisp-basic"; + } + ); + systems = [ "femlisp-basic" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + femlisp-dictionary = ( + build-asdf-system { + pname = "femlisp-dictionary"; + version = "20210411-git"; + asds = [ "femlisp-dictionary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "femlisp-dictionary"; + asd = "femlisp-dictionary"; + } + ); + systems = [ "femlisp-dictionary" ]; + lispLibs = [ + (getAttr "femlisp-basic" self) + (getAttr "femlisp-parallel" self) + (getAttr "trees" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + femlisp-matlisp = ( + build-asdf-system { + pname = "femlisp-matlisp"; + version = "20210411-git"; + asds = [ "femlisp-matlisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "femlisp-matlisp"; + asd = "femlisp-matlisp"; + } + ); + systems = [ "femlisp-matlisp" ]; + lispLibs = [ + (getAttr "femlisp-basic" self) + (getAttr "femlisp-dictionary" self) + (getAttr "femlisp-parallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + femlisp-parallel = ( + build-asdf-system { + pname = "femlisp-parallel"; + version = "20210411-git"; + asds = [ "femlisp-parallel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "femlisp-parallel"; + asd = "femlisp-parallel"; + } + ); + systems = [ "femlisp-parallel" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-cpu-affinity" self) + (getAttr "cl-ppcre" self) + (getAttr "femlisp-basic" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + femlisp-picture = ( + build-asdf-system { + pname = "femlisp-picture"; + version = "20210411-git"; + asds = [ "femlisp-picture" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "femlisp-picture"; + asd = "femlisp-picture"; + } + ); + systems = [ "femlisp-picture" ]; + lispLibs = [ + (getAttr "cl-gd" self) + (getAttr "femlisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ffa = ( + build-asdf-system { + pname = "ffa"; + version = "20101006-git"; + asds = [ "ffa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ffa/2010-10-06/ffa-20101006-git.tgz"; + sha256 = "0l7kqcjp3sn1129hpwq6zhjqc0ydx9gc53z7k13i38x3z1asap7a"; + system = "ffa"; + asd = "ffa"; + } + ); + systems = [ "ffa" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-utilities" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fft = ( + build-asdf-system { + pname = "fft"; + version = "20180711-git"; + asds = [ "fft" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fft/2018-07-11/fft-20180711-git.tgz"; + sha256 = "0ymnfplap2cncw49mhq7crapgxphfwsvqdgrcckpgsvw6qsymasd"; + system = "fft"; + asd = "fft"; + } + ); + systems = [ "fft" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fftpack5 = ( + build-asdf-system { + pname = "fftpack5"; + version = "20231021-git"; + asds = [ "fftpack5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "fftpack5"; + asd = "fftpack5"; + } + ); + systems = [ "fftpack5" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fftpack5-double = ( + build-asdf-system { + pname = "fftpack5-double"; + version = "20231021-git"; + asds = [ "fftpack5-double" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "fftpack5-double"; + asd = "fftpack5-double"; + } + ); + systems = [ "fftpack5-double" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fiasco = ( + build-asdf-system { + pname = "fiasco"; + version = "20200610-git"; + asds = [ "fiasco" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fiasco/2020-06-10/fiasco-20200610-git.tgz"; + sha256 = "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw"; + system = "fiasco"; + asd = "fiasco"; + } + ); + systems = [ "fiasco" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + fiasco-self-tests = ( + build-asdf-system { + pname = "fiasco-self-tests"; + version = "20200610-git"; + asds = [ "fiasco-self-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fiasco/2020-06-10/fiasco-20200610-git.tgz"; + sha256 = "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw"; + system = "fiasco-self-tests"; + asd = "fiasco"; + } + ); + systems = [ "fiasco-self-tests" ]; + lispLibs = [ (getAttr "fiasco" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-attributes = ( + build-asdf-system { + pname = "file-attributes"; + version = "20241012-git"; + asds = [ "file-attributes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-attributes/2024-10-12/file-attributes-20241012-git.tgz"; + sha256 = "14jimsmwcp8bygm2f0fjmjv0ncc5yxl7pvh04x0kw6gs1mc7rc9x"; + system = "file-attributes"; + asd = "file-attributes"; + } + ); + systems = [ "file-attributes" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + file-finder = ( + build-asdf-system { + pname = "file-finder"; + version = "20241012-git"; + asds = [ "file-finder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-finder/2024-10-12/file-finder-20241012-git.tgz"; + sha256 = "11cjyyngvydcq2sbgsqkxd9060a0cb3ndqrqr318djndf30ckmqx"; + system = "file-finder"; + asd = "file-finder"; + } + ); + systems = [ "file-finder" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "file-attributes" self) + (getAttr "local-time" self) + (getAttr "named-readtables" self) + (getAttr "serapeum" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-local-variable = ( + build-asdf-system { + pname = "file-local-variable"; + version = "20160318-git"; + asds = [ "file-local-variable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-local-variable/2016-03-18/file-local-variable-20160318-git.tgz"; + sha256 = "1jsjd0g41mg76wlqjxliyrfz8fk7ihi06nq2zizmk9np0pmwsxl9"; + system = "file-local-variable"; + asd = "file-local-variable"; + } + ); + systems = [ "file-local-variable" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-local-variable_dot_test = ( + build-asdf-system { + pname = "file-local-variable.test"; + version = "20160318-git"; + asds = [ "file-local-variable.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-local-variable/2016-03-18/file-local-variable-20160318-git.tgz"; + sha256 = "1jsjd0g41mg76wlqjxliyrfz8fk7ihi06nq2zizmk9np0pmwsxl9"; + system = "file-local-variable.test"; + asd = "file-local-variable.test"; + } + ); + systems = [ "file-local-variable.test" ]; + lispLibs = [ + (getAttr "file-local-variable" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-lock = ( + build-asdf-system { + pname = "file-lock"; + version = "20231021-git"; + asds = [ "file-lock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-lock/2023-10-21/file-lock-20231021-git.tgz"; + sha256 = "0n2mn931h83dh2diifsghc78agsz4savlfv5dr9pfmpk16vkwi5b"; + system = "file-lock"; + asd = "file-lock"; + } + ); + systems = [ "file-lock" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "easy-macros" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-notify = ( + build-asdf-system { + pname = "file-notify"; + version = "20241012-git"; + asds = [ "file-notify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-notify/2024-10-12/file-notify-20241012-git.tgz"; + sha256 = "1zxn0smgahbxvy8v2bwmff3262msqhqqc5qpmh4ffinx6azln1hq"; + system = "file-notify"; + asd = "file-notify"; + } + ); + systems = [ "file-notify" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-select = ( + build-asdf-system { + pname = "file-select"; + version = "20241012-git"; + asds = [ "file-select" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-select/2024-10-12/file-select-20241012-git.tgz"; + sha256 = "0vp7qfqymlw21yrlfack799xjwyh23dyxnbc5ix4fnylpi1lxjbn"; + system = "file-select"; + asd = "file-select"; + } + ); + systems = [ "file-select" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "float-features" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + file-types = ( + build-asdf-system { + pname = "file-types"; + version = "20160929-git"; + asds = [ "file-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/file-types/2016-09-29/file-types-20160929-git.tgz"; + sha256 = "09l67gzjwx7kx237grm709dsj9rkmmm8s3ya6irmcw8nh587inbs"; + system = "file-types"; + asd = "file-types"; + } + ); + systems = [ "file-types" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + filesystem-utils = ( + build-asdf-system { + pname = "filesystem-utils"; + version = "20241012-git"; + asds = [ "filesystem-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/filesystem-utils/2024-10-12/filesystem-utils-20241012-git.tgz"; + sha256 = "0h1xqpc11iachb9yg1d2xrzp1df1qadr1call904cjf45xadn62r"; + system = "filesystem-utils"; + asd = "filesystem-utils"; + } + ); + systems = [ "filesystem-utils" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "pathname-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + filesystem-utils-test = ( + build-asdf-system { + pname = "filesystem-utils-test"; + version = "20241012-git"; + asds = [ "filesystem-utils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/filesystem-utils/2024-10-12/filesystem-utils-20241012-git.tgz"; + sha256 = "0h1xqpc11iachb9yg1d2xrzp1df1qadr1call904cjf45xadn62r"; + system = "filesystem-utils-test"; + asd = "filesystem-utils-test"; + } + ); + systems = [ "filesystem-utils-test" ]; + lispLibs = [ + (getAttr "filesystem-utils" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + filter-maker = ( + build-asdf-system { + pname = "filter-maker"; + version = "20221106-git"; + asds = [ "filter-maker" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/filter-maker/2022-11-06/filter-maker-20221106-git.tgz"; + sha256 = "00algyghniqsvjy5vwx39fd98nd7x4w944ahy981jlh33lzc2qmn"; + system = "filter-maker"; + asd = "filter-maker"; + } + ); + systems = [ "filter-maker" ]; + lispLibs = [ (getAttr "mcclim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + filtered-functions = ( + build-asdf-system { + pname = "filtered-functions"; + version = "20160318-git"; + asds = [ "filtered-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/filtered-functions/2016-03-18/filtered-functions-20160318-git.tgz"; + sha256 = "0m13k8pl0gfll8ss83c0z3gax7zrrw2i4s26451jfbka1xr4fgy9"; + system = "filtered-functions"; + asd = "filtered-functions"; + } + ); + systems = [ "filtered-functions" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + find-port = ( + build-asdf-system { + pname = "find-port"; + version = "20230214-git"; + asds = [ "find-port" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/find-port/2023-02-14/find-port-20230214-git.tgz"; + sha256 = "1hmbkqazk6m7075gmbrwzxkysp9779xm9qxrzj7p85bwlbk5m5i7"; + system = "find-port"; + asd = "find-port"; + } + ); + systems = [ "find-port" ]; + lispLibs = [ (getAttr "usocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + find-port-test = ( + build-asdf-system { + pname = "find-port-test"; + version = "20230214-git"; + asds = [ "find-port-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/find-port/2023-02-14/find-port-20230214-git.tgz"; + sha256 = "1hmbkqazk6m7075gmbrwzxkysp9779xm9qxrzj7p85bwlbk5m5i7"; + system = "find-port-test"; + asd = "find-port-test"; + } + ); + systems = [ "find-port-test" ]; + lispLibs = [ + (getAttr "find-port" self) + (getAttr "fiveam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + finite-state-machine = ( + build-asdf-system { + pname = "finite-state-machine"; + version = "20200218-git"; + asds = [ "finite-state-machine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-simple-fsm/2020-02-18/cl-simple-fsm-20200218-git.tgz"; + sha256 = "1w07df7kakjq3r1v5c4gnavp08ngpn2ni85cggnnsqzc27hly07b"; + system = "finite-state-machine"; + asd = "finite-state-machine"; + } + ); + systems = [ "finite-state-machine" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + firephp = ( + build-asdf-system { + pname = "firephp"; + version = "20160531-git"; + asds = [ "firephp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/firephp/2016-05-31/firephp-20160531-git.tgz"; + sha256 = "1j98z73c21xcjp4f8qvmv37y9zlsnwxx88nnxc3r1ngvxv23dlgh"; + system = "firephp"; + asd = "firephp"; + } + ); + systems = [ "firephp" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + firephp-tests = ( + build-asdf-system { + pname = "firephp-tests"; + version = "20160531-git"; + asds = [ "firephp-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/firephp/2016-05-31/firephp-20160531-git.tgz"; + sha256 = "1j98z73c21xcjp4f8qvmv37y9zlsnwxx88nnxc3r1ngvxv23dlgh"; + system = "firephp-tests"; + asd = "firephp-tests"; + } + ); + systems = [ "firephp-tests" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "firephp" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + first-time-value = ( + build-asdf-system { + pname = "first-time-value"; + version = "1.0.1"; + asds = [ "first-time-value" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/first-time-value/2018-12-10/first-time-value-1.0.1.tgz"; + sha256 = "155mqhnw1307b18a8bv8jhqp20qv83b409mlr61m45nq3sivxxp2"; + system = "first-time-value"; + asd = "first-time-value"; + } + ); + systems = [ "first-time-value" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + first-time-value__tests = ( + build-asdf-system { + pname = "first-time-value_tests"; + version = "1.0.1"; + asds = [ "first-time-value_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/first-time-value/2018-12-10/first-time-value-1.0.1.tgz"; + sha256 = "155mqhnw1307b18a8bv8jhqp20qv83b409mlr61m45nq3sivxxp2"; + system = "first-time-value_tests"; + asd = "first-time-value_tests"; + } + ); + systems = [ "first-time-value_tests" ]; + lispLibs = [ + (getAttr "first-time-value" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fishpack = ( + build-asdf-system { + pname = "fishpack"; + version = "20231021-git"; + asds = [ "fishpack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "fishpack"; + asd = "fishpack"; + } + ); + systems = [ "fishpack" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fiveam = ( + build-asdf-system { + pname = "fiveam"; + version = "20241012-git"; + asds = [ "fiveam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fiveam/2024-10-12/fiveam-20241012-git.tgz"; + sha256 = "066amfjqhagzhb602y911wbw7jh9cv1fb7bfn2ppjzm5kf7hqbnh"; + system = "fiveam"; + asd = "fiveam"; + } + ); + systems = [ "fiveam" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "net_dot_didierverna_dot_asdf-flv" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { }; + } + ); + fiveam-asdf = ( + build-asdf-system { + pname = "fiveam-asdf"; + version = "20221106-git"; + asds = [ "fiveam-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fiveam-asdf/2022-11-06/fiveam-asdf-20221106-git.tgz"; + sha256 = "18dhyznwl56lpp289dwg9xm9qwwv5062yawfaj6h1b2jwybqfrq7"; + system = "fiveam-asdf"; + asd = "fiveam-asdf"; + } + ); + systems = [ "fiveam-asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fiveam-matchers = ( + build-asdf-system { + pname = "fiveam-matchers"; + version = "20241012-git"; + asds = [ "fiveam-matchers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fiveam-matchers/2024-10-12/fiveam-matchers-20241012-git.tgz"; + sha256 = "1kwichcxjmqdi8whx4daggp4fdp53w17jj1rqlph9ixgr4s9kvqv"; + system = "fiveam-matchers"; + asd = "fiveam-matchers"; + } + ); + systems = [ "fiveam-matchers" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "fiveam" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fixed = ( + build-asdf-system { + pname = "fixed"; + version = "20170124-git"; + asds = [ "fixed" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fixed/2017-01-24/fixed-20170124-git.tgz"; + sha256 = "0bx8802fmlml5k5xhcm4g5r6c7ambij4gb0b37xljjn3wxgs83dc"; + system = "fixed"; + asd = "fixed"; + } + ); + systems = [ "fixed" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flac = ( + build-asdf-system { + pname = "flac"; + version = "20151218-git"; + asds = [ "flac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "flac"; + asd = "flac"; + } + ); + systems = [ "flac" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flare = ( + build-asdf-system { + pname = "flare"; + version = "20231021-git"; + asds = [ "flare" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flare/2023-10-21/flare-20231021-git.tgz"; + sha256 = "1ws357819rr9lzh5b2hmqid6vrq8zj46a5dzwqa0fdmxxbam75zm"; + system = "flare"; + asd = "flare"; + } + ); + systems = [ "flare" ]; + lispLibs = [ + (getAttr "_3d-vectors" self) + (getAttr "array-utils" self) + (getAttr "documentation-utils" self) + (getAttr "for" self) + (getAttr "lambda-fiddle" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flare-viewer = ( + build-asdf-system { + pname = "flare-viewer"; + version = "20231021-git"; + asds = [ "flare-viewer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flare/2023-10-21/flare-20231021-git.tgz"; + sha256 = "1ws357819rr9lzh5b2hmqid6vrq8zj46a5dzwqa0fdmxxbam75zm"; + system = "flare-viewer"; + asd = "flare-viewer"; + } + ); + systems = [ "flare-viewer" ]; + lispLibs = [ + (getAttr "cl-opengl" self) + (getAttr "flare" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + (getAttr "qtopengl" self) + (getAttr "verbose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flat-tree = ( + build-asdf-system { + pname = "flat-tree"; + version = "20190813-git"; + asds = [ "flat-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-flat-tree/2019-08-13/cl-flat-tree-20190813-git.tgz"; + sha256 = "05nw1j0rr0vgz6shkjv87yn2mp0b4s7v5gxxcqcn1qi7fgbn55z7"; + system = "flat-tree"; + asd = "flat-tree"; + } + ); + systems = [ "flat-tree" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flexi-streams = ( + build-asdf-system { + pname = "flexi-streams"; + version = "20241012-git"; + asds = [ "flexi-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flexi-streams/2024-10-12/flexi-streams-20241012-git.tgz"; + sha256 = "1bk224ryfiwsmnmq2gdfv9gld85z2rvnlx7fxcl2k122vc344akh"; + system = "flexi-streams"; + asd = "flexi-streams"; + } + ); + systems = [ "flexi-streams" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { }; + } + ); + flexi-streams-test = ( + build-asdf-system { + pname = "flexi-streams-test"; + version = "20241012-git"; + asds = [ "flexi-streams-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flexi-streams/2024-10-12/flexi-streams-20241012-git.tgz"; + sha256 = "1bk224ryfiwsmnmq2gdfv9gld85z2rvnlx7fxcl2k122vc344akh"; + system = "flexi-streams-test"; + asd = "flexi-streams-test"; + } + ); + systems = [ "flexi-streams-test" ]; + lispLibs = [ (getAttr "flexi-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flexichain = ( + build-asdf-system { + pname = "flexichain"; + version = "20201220-git"; + asds = [ "flexichain" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flexichain/2020-12-20/flexichain-20201220-git.tgz"; + sha256 = "1ivkffnkc1iqmpl1p1rgyfbbgjmjcid4iszvdql1jjz324lq94g6"; + system = "flexichain"; + asd = "flexichain"; + } + ); + systems = [ "flexichain" ]; + lispLibs = [ (getAttr "trivial-garbage" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flexichain-doc = ( + build-asdf-system { + pname = "flexichain-doc"; + version = "20201220-git"; + asds = [ "flexichain-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flexichain/2020-12-20/flexichain-20201220-git.tgz"; + sha256 = "1ivkffnkc1iqmpl1p1rgyfbbgjmjcid4iszvdql1jjz324lq94g6"; + system = "flexichain-doc"; + asd = "flexichain-doc"; + } + ); + systems = [ "flexichain-doc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + float-features = ( + build-asdf-system { + pname = "float-features"; + version = "20241012-git"; + asds = [ "float-features" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/float-features/2024-10-12/float-features-20241012-git.tgz"; + sha256 = "1vxnvaprki5rk3phj20m35pva9dpgsixm8d9rnsixq1qgrv3djjf"; + system = "float-features"; + asd = "float-features"; + } + ); + systems = [ "float-features" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + float-features-tests = ( + build-asdf-system { + pname = "float-features-tests"; + version = "20241012-git"; + asds = [ "float-features-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/float-features/2024-10-12/float-features-20241012-git.tgz"; + sha256 = "1vxnvaprki5rk3phj20m35pva9dpgsixm8d9rnsixq1qgrv3djjf"; + system = "float-features-tests"; + asd = "float-features-tests"; + } + ); + systems = [ "float-features-tests" ]; + lispLibs = [ + (getAttr "float-features" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + floating-point = ( + build-asdf-system { + pname = "floating-point"; + version = "20141106-git"; + asds = [ "floating-point" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/floating-point/2014-11-06/floating-point-20141106-git.tgz"; + sha256 = "1bqslmykg04innaqlp369pyjh61isj8xgv2h6pm95gsrxnf6wf7s"; + system = "floating-point"; + asd = "floating-point"; + } + ); + systems = [ "floating-point" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + floating-point-contractions = ( + build-asdf-system { + pname = "floating-point-contractions"; + version = "20201220-git"; + asds = [ "floating-point-contractions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/floating-point-contractions/2020-12-20/floating-point-contractions-20201220-git.tgz"; + sha256 = "0mr8bnc7hn0ii0cmlfnlwc14zkgbgdf099x5crrf9cp9wda4p082"; + system = "floating-point-contractions"; + asd = "floating-point-contractions"; + } + ); + systems = [ "floating-point-contractions" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + floating-point-test = ( + build-asdf-system { + pname = "floating-point-test"; + version = "20141106-git"; + asds = [ "floating-point-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/floating-point/2014-11-06/floating-point-20141106-git.tgz"; + sha256 = "1bqslmykg04innaqlp369pyjh61isj8xgv2h6pm95gsrxnf6wf7s"; + system = "floating-point-test"; + asd = "floating-point-test"; + } + ); + systems = [ "floating-point-test" ]; + lispLibs = [ + (getAttr "floating-point" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flow = ( + build-asdf-system { + pname = "flow"; + version = "20241012-git"; + asds = [ "flow" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flow/2024-10-12/flow-20241012-git.tgz"; + sha256 = "1623kkyygwkqpgrbvv1zqj13mjkycqyh88nwcjsxd0clrlhlyfz3"; + system = "flow"; + asd = "flow"; + } + ); + systems = [ "flow" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "documentation-utils" self) + ]; + meta = { }; + } + ); + flow-visualizer = ( + build-asdf-system { + pname = "flow-visualizer"; + version = "20241012-git"; + asds = [ "flow-visualizer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flow/2024-10-12/flow-20241012-git.tgz"; + sha256 = "1623kkyygwkqpgrbvv1zqj13mjkycqyh88nwcjsxd0clrlhlyfz3"; + system = "flow-visualizer"; + asd = "flow-visualizer"; + } + ); + systems = [ "flow-visualizer" ]; + lispLibs = [ + (getAttr "flow" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flute = ( + build-asdf-system { + pname = "flute"; + version = "20180831-git"; + asds = [ "flute" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flute/2018-08-31/flute-20180831-git.tgz"; + sha256 = "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f"; + system = "flute"; + asd = "flute"; + } + ); + systems = [ "flute" ]; + lispLibs = [ + (getAttr "assoc-utils" self) + (getAttr "let-over-lambda" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flute-test = ( + build-asdf-system { + pname = "flute-test"; + version = "20180831-git"; + asds = [ "flute-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/flute/2018-08-31/flute-20180831-git.tgz"; + sha256 = "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f"; + system = "flute-test"; + asd = "flute-test"; + } + ); + systems = [ "flute-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "flute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + flx = ( + build-asdf-system { + pname = "flx"; + version = "20241012-git"; + asds = [ "flx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-flx/2024-10-12/cl-flx-20241012-git.tgz"; + sha256 = "02p8qmc6wy3kf6w3rpgjvyg3jb699i5x9zk2f1p2y9h3m86d7hsw"; + system = "flx"; + asd = "flx"; + } + ); + systems = [ "flx" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fmarshal = ( + build-asdf-system { + pname = "fmarshal"; + version = "20130720-git"; + asds = [ "fmarshal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/marshal/2013-07-20/marshal-20130720-git.tgz"; + sha256 = "1c0hcf7i9kzgbmayhmcjg0kv5966yqlimvj67gl4mzvwhbdkc2nf"; + system = "fmarshal"; + asd = "fmarshal"; + } + ); + systems = [ "fmarshal" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fmarshal-test = ( + build-asdf-system { + pname = "fmarshal-test"; + version = "20130720-git"; + asds = [ "fmarshal-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/marshal/2013-07-20/marshal-20130720-git.tgz"; + sha256 = "1c0hcf7i9kzgbmayhmcjg0kv5966yqlimvj67gl4mzvwhbdkc2nf"; + system = "fmarshal-test"; + asd = "fmarshal-test"; + } + ); + systems = [ "fmarshal-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "fmarshal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fmcs = ( + build-asdf-system { + pname = "fmcs"; + version = "20231021-git"; + asds = [ "fmcs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fmcs/2023-10-21/fmcs-20231021-git.tgz"; + sha256 = "1zp73i68f5sl93z10l2f94nylbkaj601ani6yg3bg7iqhs543651"; + system = "fmcs"; + asd = "fmcs"; + } + ); + systems = [ "fmcs" ]; + lispLibs = [ (getAttr "fare-quasiquote-extras" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fmt = ( + build-asdf-system { + pname = "fmt"; + version = "20220331-git"; + asds = [ "fmt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fmt/2022-03-31/fmt-20220331-git.tgz"; + sha256 = "078y5yig5fw0jcsjjabaq7dlyxsd10w5k80ywx6gbm0j88al3fzp"; + system = "fmt"; + asd = "fmt"; + } + ); + systems = [ "fmt" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fmt-test = ( + build-asdf-system { + pname = "fmt-test"; + version = "20220331-git"; + asds = [ "fmt-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fmt/2022-03-31/fmt-20220331-git.tgz"; + sha256 = "078y5yig5fw0jcsjjabaq7dlyxsd10w5k80ywx6gbm0j88al3fzp"; + system = "fmt-test"; + asd = "fmt-test"; + } + ); + systems = [ "fmt-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "fmt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fmt-time = ( + build-asdf-system { + pname = "fmt-time"; + version = "20220331-git"; + asds = [ "fmt-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fmt/2022-03-31/fmt-20220331-git.tgz"; + sha256 = "078y5yig5fw0jcsjjabaq7dlyxsd10w5k80ywx6gbm0j88al3fzp"; + system = "fmt-time"; + asd = "fmt-time"; + } + ); + systems = [ "fmt-time" ]; + lispLibs = [ + (getAttr "fmt" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fn = ( + build-asdf-system { + pname = "fn"; + version = "20241012-git"; + asds = [ "fn" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fn/2024-10-12/fn-20241012-git.tgz"; + sha256 = "08ydmfly5jaisfj8pkksq6npz992zlz4ni1yqlrq5yigwx41xaz0"; + system = "fn"; + asd = "fn"; + } + ); + systems = [ "fn" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { }; + } + ); + fof = ( + build-asdf-system { + pname = "fof"; + version = "20211230-git"; + asds = [ "fof" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fof/2021-12-30/fof-20211230-git.tgz"; + sha256 = "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6"; + system = "fof"; + asd = "fof"; + } + ); + systems = [ "fof" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "local-time" self) + (getAttr "magicffi" self) + (getAttr "named-readtables" self) + (getAttr "osicat" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "trivia" self) + (getAttr "trivial-package-local-nicknames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio = ( + build-asdf-system { + pname = "folio"; + version = "20130128-git"; + asds = [ "folio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; + sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; + system = "folio"; + asd = "folio"; + } + ); + systems = [ "folio" ]; + lispLibs = [ + (getAttr "folio_dot_as" self) + (getAttr "folio_dot_boxes" self) + (getAttr "folio_dot_collections" self) + (getAttr "folio_dot_functions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio_dot_as = ( + build-asdf-system { + pname = "folio.as"; + version = "20130128-git"; + asds = [ "folio.as" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; + sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; + system = "folio.as"; + asd = "folio.as"; + } + ); + systems = [ "folio.as" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio_dot_boxes = ( + build-asdf-system { + pname = "folio.boxes"; + version = "20130128-git"; + asds = [ "folio.boxes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; + sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; + system = "folio.boxes"; + asd = "folio.boxes"; + } + ); + systems = [ "folio.boxes" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio_dot_collections = ( + build-asdf-system { + pname = "folio.collections"; + version = "20130128-git"; + asds = [ "folio.collections" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; + sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; + system = "folio.collections"; + asd = "folio.collections"; + } + ); + systems = [ "folio.collections" ]; + lispLibs = [ + (getAttr "folio_dot_as" self) + (getAttr "folio_dot_functions" self) + (getAttr "fset" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio_dot_functions = ( + build-asdf-system { + pname = "folio.functions"; + version = "20130128-git"; + asds = [ "folio.functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz"; + sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64"; + system = "folio.functions"; + asd = "folio.functions"; + } + ); + systems = [ "folio.functions" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2 = ( + build-asdf-system { + pname = "folio2"; + version = "20191007-git"; + asds = [ "folio2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2"; + asd = "folio2"; + } + ); + systems = [ "folio2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "folio2-as" self) + (getAttr "folio2-as-syntax" self) + (getAttr "folio2-boxes" self) + (getAttr "folio2-functions" self) + (getAttr "folio2-functions-syntax" self) + (getAttr "folio2-make" self) + (getAttr "folio2-maps" self) + (getAttr "folio2-maps-syntax" self) + (getAttr "folio2-pairs" self) + (getAttr "folio2-sequences" self) + (getAttr "folio2-sequences-syntax" self) + (getAttr "folio2-series" self) + (getAttr "folio2-taps" self) + (getAttr "fset" self) + (getAttr "series" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-as = ( + build-asdf-system { + pname = "folio2-as"; + version = "20191007-git"; + asds = [ "folio2-as" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-as"; + asd = "folio2-as"; + } + ); + systems = [ "folio2-as" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-as-syntax = ( + build-asdf-system { + pname = "folio2-as-syntax"; + version = "20191007-git"; + asds = [ "folio2-as-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-as-syntax"; + asd = "folio2-as-syntax"; + } + ); + systems = [ "folio2-as-syntax" ]; + lispLibs = [ (getAttr "folio2-as" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-as-tests = ( + build-asdf-system { + pname = "folio2-as-tests"; + version = "20191007-git"; + asds = [ "folio2-as-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-as-tests"; + asd = "folio2-as-tests"; + } + ); + systems = [ "folio2-as-tests" ]; + lispLibs = [ + (getAttr "folio2-as" self) + (getAttr "folio2-as-syntax" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-boxes = ( + build-asdf-system { + pname = "folio2-boxes"; + version = "20191007-git"; + asds = [ "folio2-boxes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-boxes"; + asd = "folio2-boxes"; + } + ); + systems = [ "folio2-boxes" ]; + lispLibs = [ + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-boxes-tests = ( + build-asdf-system { + pname = "folio2-boxes-tests"; + version = "20191007-git"; + asds = [ "folio2-boxes-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-boxes-tests"; + asd = "folio2-boxes-tests"; + } + ); + systems = [ "folio2-boxes-tests" ]; + lispLibs = [ + (getAttr "folio2-boxes" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-functions = ( + build-asdf-system { + pname = "folio2-functions"; + version = "20191007-git"; + asds = [ "folio2-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-functions"; + asd = "folio2-functions"; + } + ); + systems = [ "folio2-functions" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-functions-syntax = ( + build-asdf-system { + pname = "folio2-functions-syntax"; + version = "20191007-git"; + asds = [ "folio2-functions-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-functions-syntax"; + asd = "folio2-functions-syntax"; + } + ); + systems = [ "folio2-functions-syntax" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "folio2-functions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-functions-tests = ( + build-asdf-system { + pname = "folio2-functions-tests"; + version = "20191007-git"; + asds = [ "folio2-functions-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-functions-tests"; + asd = "folio2-functions-tests"; + } + ); + systems = [ "folio2-functions-tests" ]; + lispLibs = [ + (getAttr "folio2-functions" self) + (getAttr "folio2-functions-syntax" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-make = ( + build-asdf-system { + pname = "folio2-make"; + version = "20191007-git"; + asds = [ "folio2-make" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-make"; + asd = "folio2-make"; + } + ); + systems = [ "folio2-make" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-make-tests = ( + build-asdf-system { + pname = "folio2-make-tests"; + version = "20191007-git"; + asds = [ "folio2-make-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-make-tests"; + asd = "folio2-make-tests"; + } + ); + systems = [ "folio2-make-tests" ]; + lispLibs = [ + (getAttr "folio2-make" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-maps = ( + build-asdf-system { + pname = "folio2-maps"; + version = "20191007-git"; + asds = [ "folio2-maps" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-maps"; + asd = "folio2-maps"; + } + ); + systems = [ "folio2-maps" ]; + lispLibs = [ + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + (getAttr "fset" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-maps-syntax = ( + build-asdf-system { + pname = "folio2-maps-syntax"; + version = "20191007-git"; + asds = [ "folio2-maps-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-maps-syntax"; + asd = "folio2-maps-syntax"; + } + ); + systems = [ "folio2-maps-syntax" ]; + lispLibs = [ (getAttr "folio2-maps" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-maps-tests = ( + build-asdf-system { + pname = "folio2-maps-tests"; + version = "20191007-git"; + asds = [ "folio2-maps-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-maps-tests"; + asd = "folio2-maps-tests"; + } + ); + systems = [ "folio2-maps-tests" ]; + lispLibs = [ + (getAttr "folio2-maps" self) + (getAttr "folio2-maps-syntax" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-pairs = ( + build-asdf-system { + pname = "folio2-pairs"; + version = "20191007-git"; + asds = [ "folio2-pairs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-pairs"; + asd = "folio2-pairs"; + } + ); + systems = [ "folio2-pairs" ]; + lispLibs = [ + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-pairs-tests = ( + build-asdf-system { + pname = "folio2-pairs-tests"; + version = "20191007-git"; + asds = [ "folio2-pairs-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-pairs-tests"; + asd = "folio2-pairs-tests"; + } + ); + systems = [ "folio2-pairs-tests" ]; + lispLibs = [ + (getAttr "folio2-pairs" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-sequences = ( + build-asdf-system { + pname = "folio2-sequences"; + version = "20191007-git"; + asds = [ "folio2-sequences" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-sequences"; + asd = "folio2-sequences"; + } + ); + systems = [ "folio2-sequences" ]; + lispLibs = [ + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + (getAttr "folio2-pairs" self) + (getAttr "fset" self) + (getAttr "series" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-sequences-syntax = ( + build-asdf-system { + pname = "folio2-sequences-syntax"; + version = "20191007-git"; + asds = [ "folio2-sequences-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-sequences-syntax"; + asd = "folio2-sequences-syntax"; + } + ); + systems = [ "folio2-sequences-syntax" ]; + lispLibs = [ (getAttr "folio2-sequences" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-sequences-tests = ( + build-asdf-system { + pname = "folio2-sequences-tests"; + version = "20191007-git"; + asds = [ "folio2-sequences-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-sequences-tests"; + asd = "folio2-sequences-tests"; + } + ); + systems = [ "folio2-sequences-tests" ]; + lispLibs = [ + (getAttr "folio2-sequences" self) + (getAttr "folio2-sequences-syntax" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-series = ( + build-asdf-system { + pname = "folio2-series"; + version = "20191007-git"; + asds = [ "folio2-series" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-series"; + asd = "folio2-series"; + } + ); + systems = [ "folio2-series" ]; + lispLibs = [ + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + (getAttr "folio2-pairs" self) + (getAttr "folio2-sequences" self) + (getAttr "fset" self) + (getAttr "series" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-series-tests = ( + build-asdf-system { + pname = "folio2-series-tests"; + version = "20191007-git"; + asds = [ "folio2-series-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-series-tests"; + asd = "folio2-series-tests"; + } + ); + systems = [ "folio2-series-tests" ]; + lispLibs = [ + (getAttr "folio2-series" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-taps = ( + build-asdf-system { + pname = "folio2-taps"; + version = "20191007-git"; + asds = [ "folio2-taps" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-taps"; + asd = "folio2-taps"; + } + ); + systems = [ "folio2-taps" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "folio2-as" self) + (getAttr "folio2-make" self) + (getAttr "folio2-maps" self) + (getAttr "folio2-pairs" self) + (getAttr "folio2-sequences" self) + (getAttr "folio2-series" self) + (getAttr "fset" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-taps-tests = ( + build-asdf-system { + pname = "folio2-taps-tests"; + version = "20191007-git"; + asds = [ "folio2-taps-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-taps-tests"; + asd = "folio2-taps-tests"; + } + ); + systems = [ "folio2-taps-tests" ]; + lispLibs = [ + (getAttr "folio2-taps" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + folio2-tests = ( + build-asdf-system { + pname = "folio2-tests"; + version = "20191007-git"; + asds = [ "folio2-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz"; + sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd"; + system = "folio2-tests"; + asd = "folio2-tests"; + } + ); + systems = [ "folio2-tests" ]; + lispLibs = [ (getAttr "folio2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + font-discovery = ( + build-asdf-system { + pname = "font-discovery"; + version = "20231021-git"; + asds = [ "font-discovery" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/font-discovery/2023-10-21/font-discovery-20231021-git.tgz"; + sha256 = "1kx83564p1w2wka3l6g4rj7zvzi85prvs6yag2qv2a9xh80yv9rz"; + system = "font-discovery"; + asd = "font-discovery"; + } + ); + systems = [ "font-discovery" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + foo-wild = ( + build-asdf-system { + pname = "foo-wild"; + version = "20210531-git"; + asds = [ "foo-wild" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz"; + sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80"; + system = "foo-wild"; + asd = "foo-wild"; + } + ); + systems = [ "foo-wild" ]; + lispLibs = [ (getAttr "wild-package-inferred-system" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + for = ( + build-asdf-system { + pname = "for"; + version = "20231021-git"; + asds = [ "for" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/for/2023-10-21/for-20231021-git.tgz"; + sha256 = "07jdwqkyb3qd65mng60cs723z7p0bv2769hhalz4c0mfzn8qrn99"; + system = "for"; + asd = "for"; + } + ); + systems = [ "for" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "form-fiddle" self) + (getAttr "lambda-fiddle" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + foreign-array = ( + build-asdf-system { + pname = "foreign-array"; + version = "master-df14cb8c-git"; + asds = [ "foreign-array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; + sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; + system = "foreign-array"; + asd = "foreign-array"; + } + ); + systems = [ "foreign-array" ]; + lispLibs = [ + (getAttr "antik-base" self) + (getAttr "cffi" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fork-future = ( + build-asdf-system { + pname = "fork-future"; + version = "20220220-git"; + asds = [ "fork-future" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "fork-future"; + asd = "fork-future"; + } + ); + systems = [ "fork-future" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-store" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + form-fiddle = ( + build-asdf-system { + pname = "form-fiddle"; + version = "20231021-git"; + asds = [ "form-fiddle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/form-fiddle/2023-10-21/form-fiddle-20231021-git.tgz"; + sha256 = "0vl28q8xa42i9gr1bch22jdha9jh8sr2hcv6d9kykj4jsqi9kwbg"; + system = "form-fiddle"; + asd = "form-fiddle"; + } + ); + systems = [ "form-fiddle" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { }; + } + ); + format-string-builder = ( + build-asdf-system { + pname = "format-string-builder"; + version = "20170124-git"; + asds = [ "format-string-builder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/format-string-builder/2017-01-24/format-string-builder-20170124-git.tgz"; + sha256 = "1266w5wynfhamxdf8ms2236m202f6982fd9ph8fs98nqccq2pcac"; + system = "format-string-builder"; + asd = "format-string-builder"; + } + ); + systems = [ "format-string-builder" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + formlets = ( + build-asdf-system { + pname = "formlets"; + version = "20161204-git"; + asds = [ "formlets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/formlets/2016-12-04/formlets-20161204-git.tgz"; + sha256 = "0r2afi5lwzxfb8xylx9cs44wqhla4b50k21nzg2dxn7z8m6yspfn"; + system = "formlets"; + asd = "formlets"; + } + ); + systems = [ "formlets" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + formlets-test = ( + build-asdf-system { + pname = "formlets-test"; + version = "20161204-git"; + asds = [ "formlets-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/formlets/2016-12-04/formlets-20161204-git.tgz"; + sha256 = "0r2afi5lwzxfb8xylx9cs44wqhla4b50k21nzg2dxn7z8m6yspfn"; + system = "formlets-test"; + asd = "formlets-test"; + } + ); + systems = [ "formlets-test" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "drakma" self) + (getAttr "formlets" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fprog = ( + build-asdf-system { + pname = "fprog"; + version = "20181210-git"; + asds = [ "fprog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz"; + sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"; + system = "fprog"; + asd = "fprog"; + } + ); + systems = [ "fprog" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fps-independent-timestep = ( + build-asdf-system { + pname = "fps-independent-timestep"; + version = "20200427-git"; + asds = [ "fps-independent-timestep" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "fps-independent-timestep"; + asd = "fps-independent-timestep"; + } + ); + systems = [ "fps-independent-timestep" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fred = ( + build-asdf-system { + pname = "fred"; + version = "20150923-git"; + asds = [ "fred" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fred/2015-09-23/fred-20150923-git.tgz"; + sha256 = "0qn2rd67haz4pvvv4yp2yvbvjhficv8xjm7ijg0r34gxllm6i373"; + system = "fred"; + asd = "fred"; + } + ); + systems = [ "fred" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + freebsd-sysctl = ( + build-asdf-system { + pname = "freebsd-sysctl"; + version = "20210228-git"; + asds = [ "freebsd-sysctl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/freebsd-sysctl/2021-02-28/freebsd-sysctl-20210228-git.tgz"; + sha256 = "1gzqiqz0pi273ia2q61bhr908ymbl8cll5v2h8lkicr9pff37g91"; + system = "freebsd-sysctl"; + asd = "freebsd-sysctl"; + } + ); + systems = [ "freebsd-sysctl" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + freesound = ( + build-asdf-system { + pname = "freesound"; + version = "20210411-git"; + asds = [ "freesound" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/freesound/2021-04-11/freesound-20210411-git.tgz"; + sha256 = "1nsmbz7qx9wn86860zlnw75sdgpr8qfzgqfbwxggc3zr7p83kric"; + system = "freesound"; + asd = "freesound"; + } + ); + systems = [ "freesound" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "trivial-open-browser" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fresnel = ( + build-asdf-system { + pname = "fresnel"; + version = "20230618-git"; + asds = [ "fresnel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fresnel/2023-06-18/fresnel-20230618-git.tgz"; + sha256 = "0rzi3pz1cjf8m0fmj7dg7wxbbcmxnbx75hfp9hbmrm9yqsjc4khv"; + system = "fresnel"; + asd = "fresnel"; + } + ); + systems = [ "fresnel" ]; + lispLibs = [ + (getAttr "fare-quasiquote-extras" self) + (getAttr "gt" self) + (getAttr "trivial-package-local-nicknames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + froute = ( + build-asdf-system { + pname = "froute"; + version = "20180711-git"; + asds = [ "froute" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/froute/2018-07-11/froute-20180711-git.tgz"; + sha256 = "1q7xzgn7g5ky1d8m121r8hskcg4gqpripr791k03y7dz5vkfj14x"; + system = "froute"; + asd = "froute"; + } + ); + systems = [ "froute" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + frpc = ( + build-asdf-system { + pname = "frpc"; + version = "20151031-git"; + asds = [ "frpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; + sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; + system = "frpc"; + asd = "frpc"; + } + ); + systems = [ "frpc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "flexi-streams" self) + (getAttr "glass" self) + (getAttr "nibbles" self) + (getAttr "pounds" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + frpc-des = ( + build-asdf-system { + pname = "frpc-des"; + version = "20151031-git"; + asds = [ "frpc-des" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; + sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; + system = "frpc-des"; + asd = "frpc"; + } + ); + systems = [ "frpc-des" ]; + lispLibs = [ + (getAttr "frpc" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + frpc-gss = ( + build-asdf-system { + pname = "frpc-gss"; + version = "20151031-git"; + asds = [ "frpc-gss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; + sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; + system = "frpc-gss"; + asd = "frpc"; + } + ); + systems = [ "frpc-gss" ]; + lispLibs = [ + (getAttr "cerberus" self) + (getAttr "frpc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + frpcgen = ( + build-asdf-system { + pname = "frpcgen"; + version = "20151031-git"; + asds = [ "frpcgen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz"; + sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r"; + system = "frpcgen"; + asd = "frpcgen"; + } + ); + systems = [ "frpcgen" ]; + lispLibs = [ + (getAttr "cl-lex" self) + (getAttr "frpc" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + frugal-uuid = ( + build-asdf-system { + pname = "frugal-uuid"; + version = "20241012-git"; + asds = [ "frugal-uuid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-frugal-uuid/2024-10-12/cl-frugal-uuid-20241012-git.tgz"; + sha256 = "01hli6gh0rr6mizqp1iqfch7rd0jw6ygrskjdr5hf3r8wwwvr9hh"; + system = "frugal-uuid"; + asd = "frugal-uuid"; + } + ); + systems = [ "frugal-uuid" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fs-watcher = ( + build-asdf-system { + pname = "fs-watcher"; + version = "20171130-git"; + asds = [ "fs-watcher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fs-watcher/2017-11-30/fs-watcher-20171130-git.tgz"; + sha256 = "0fr2wb39609z4afk4w21vwnwi4g050x4gag2ykdx6hn9m65cp9db"; + system = "fs-watcher"; + asd = "fs-watcher"; + } + ); + systems = [ "fs-watcher" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "com_dot_gigamonkeys_dot_pathnames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fset = ( + build-asdf-system { + pname = "fset"; + version = "20241012-git"; + asds = [ "fset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fset/2024-10-12/fset-20241012-git.tgz"; + sha256 = "0h9j5a7vlr8g0hq99y4wgw1l1wialzs6k16nrpmd4pwiyiypzkm6"; + system = "fset"; + asd = "fset"; + } + ); + systems = [ "fset" ]; + lispLibs = [ + (getAttr "misc-extensions" self) + (getAttr "named-readtables" self) + (getAttr "random-state" self) + ]; + meta = { }; + } + ); + fsocket = ( + build-asdf-system { + pname = "fsocket"; + version = "20211230-git"; + asds = [ "fsocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fsocket/2021-12-30/fsocket-20211230-git.tgz"; + sha256 = "18h3s4bv3243xbp0qdywn9kmqvx8zh9cscc9f6sfyxrz6xhymw6p"; + system = "fsocket"; + asd = "fsocket"; + } + ); + systems = [ "fsocket" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fsvd = ( + build-asdf-system { + pname = "fsvd"; + version = "20131211-git"; + asds = [ "fsvd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fsvd/2013-12-11/fsvd-20131211-git.tgz"; + sha256 = "1m22g9x18ixjh5nylm56l5p67ryx9dbd3g6lyzvwk9nayjmqn7x5"; + system = "fsvd"; + asd = "fsvd"; + } + ); + systems = [ "fsvd" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ftp = ( + build-asdf-system { + pname = "ftp"; + version = "20150608-http"; + asds = [ "ftp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ftp/2015-06-08/cl-ftp-20150608-http.tgz"; + sha256 = "1m955rjpaynybzmb9q631mll764hm06lydvhra50mfjj75ynwsvw"; + system = "ftp"; + asd = "ftp"; + } + ); + systems = [ "ftp" ]; + lispLibs = [ (getAttr "cl-ftp" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fucc-generator = ( + build-asdf-system { + pname = "fucc-generator"; + version = "v0.2.2"; + asds = [ "fucc-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fucc/2020-04-27/fucc-v0.2.2.tgz"; + sha256 = "10wznxw6yhkyh943xnm694innj13xdlmkx13pr8xwc6zdbdyb32k"; + system = "fucc-generator"; + asd = "fucc-generator"; + } + ); + systems = [ "fucc-generator" ]; + lispLibs = [ (getAttr "fucc-parser" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fucc-parser = ( + build-asdf-system { + pname = "fucc-parser"; + version = "v0.2.2"; + asds = [ "fucc-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fucc/2020-04-27/fucc-v0.2.2.tgz"; + sha256 = "10wznxw6yhkyh943xnm694innj13xdlmkx13pr8xwc6zdbdyb32k"; + system = "fucc-parser"; + asd = "fucc-parser"; + } + ); + systems = [ "fucc-parser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + function-cache = ( + build-asdf-system { + pname = "function-cache"; + version = "20231021-git"; + asds = [ "function-cache" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/function-cache/2023-10-21/function-cache-20231021-git.tgz"; + sha256 = "1sk35fd7zw6kx9zpv18wmzmkksbn0ac4ycjzi6hqdgkbyn3l136w"; + system = "function-cache"; + asd = "function-cache"; + } + ); + systems = [ "function-cache" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + function-cache-clsql = ( + build-asdf-system { + pname = "function-cache-clsql"; + version = "20231021-git"; + asds = [ "function-cache-clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/function-cache/2023-10-21/function-cache-20231021-git.tgz"; + sha256 = "1sk35fd7zw6kx9zpv18wmzmkksbn0ac4ycjzi6hqdgkbyn3l136w"; + system = "function-cache-clsql"; + asd = "function-cache-clsql"; + } + ); + systems = [ "function-cache-clsql" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-helper" self) + (getAttr "function-cache" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + functional-geometry = ( + build-asdf-system { + pname = "functional-geometry"; + version = "20241012-git"; + asds = [ "functional-geometry" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "functional-geometry"; + asd = "functional-geometry"; + } + ); + systems = [ "functional-geometry" ]; + lispLibs = [ (getAttr "clim-listener" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + functional-trees = ( + build-asdf-system { + pname = "functional-trees"; + version = "20241012-git"; + asds = [ "functional-trees" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/functional-trees/2024-10-12/functional-trees-20241012-git.tgz"; + sha256 = "02jhc2c6d7zd75cpjmwck62b3iyzsf5q2yqqpp5ymwjmnx4bnysd"; + system = "functional-trees"; + asd = "functional-trees"; + } + ); + systems = [ "functional-trees" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "atomics" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-store" self) + (getAttr "closer-mop" self) + (getAttr "fset" self) + (getAttr "iterate" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + funds = ( + build-asdf-system { + pname = "funds"; + version = "20211020-git"; + asds = [ "funds" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/funds/2021-10-20/funds-20211020-git.tgz"; + sha256 = "13y1jhvnpzrs9daz6f3z67w6h2y21ggb10j3j4vnc5p3m8i7ps4p"; + system = "funds"; + asd = "funds"; + } + ); + systems = [ "funds" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + future = ( + build-asdf-system { + pname = "future"; + version = "20220220-git"; + asds = [ "future" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clml/2022-02-20/clml-20220220-git.tgz"; + sha256 = "0m3w59c74z3wdj1g26122svljiq192xhvmx7b2lkb7bxnf4778m1"; + system = "future"; + asd = "future"; + } + ); + systems = [ "future" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fuzzy-dates = ( + build-asdf-system { + pname = "fuzzy-dates"; + version = "20241012-git"; + asds = [ "fuzzy-dates" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fuzzy-dates/2024-10-12/fuzzy-dates-20241012-git.tgz"; + sha256 = "1nnwb7dl772zax0ysc9v4z29kq639f3za7k34hdk9fyyqbln9dgl"; + system = "fuzzy-dates"; + asd = "fuzzy-dates"; + } + ); + systems = [ "fuzzy-dates" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fuzzy-match = ( + build-asdf-system { + pname = "fuzzy-match"; + version = "20210124-git"; + asds = [ "fuzzy-match" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fuzzy-match/2021-01-24/fuzzy-match-20210124-git.tgz"; + sha256 = "1lawndmzkl6f9sviy7ngn2s3xkc4akp8l505kvpslaz6qq0ayyqv"; + system = "fuzzy-match"; + asd = "fuzzy-match"; + } + ); + systems = [ "fuzzy-match" ]; + lispLibs = [ + (getAttr "mk-string-metrics" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + fxml = ( + build-asdf-system { + pname = "fxml"; + version = "20210228-git"; + asds = [ "fxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz"; + sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm"; + system = "fxml"; + asd = "fxml"; + } + ); + systems = [ "fxml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "flexi-streams" self) + (getAttr "named-readtables" self) + (getAttr "quri" self) + (getAttr "serapeum" self) + (getAttr "split-sequence" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gadgets = ( + build-asdf-system { + pname = "gadgets"; + version = "20241012-git"; + asds = [ "gadgets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gadgets/2024-10-12/gadgets-20241012-git.tgz"; + sha256 = "1ba4gj8lh3ihbb66xiz7hc8cdg3gvi3q20w32nmsqdch956is34k"; + system = "gadgets"; + asd = "gadgets"; + } + ); + systems = [ "gadgets" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-hash-util" self) + (getAttr "cl-utilities" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + garbage-pools = ( + build-asdf-system { + pname = "garbage-pools"; + version = "20210124-git"; + asds = [ "garbage-pools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/garbage-pools/2021-01-24/garbage-pools-20210124-git.tgz"; + sha256 = "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"; + system = "garbage-pools"; + asd = "garbage-pools"; + } + ); + systems = [ "garbage-pools" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + garbage-pools-test = ( + build-asdf-system { + pname = "garbage-pools-test"; + version = "20210124-git"; + asds = [ "garbage-pools-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/garbage-pools/2021-01-24/garbage-pools-20210124-git.tgz"; + sha256 = "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"; + system = "garbage-pools-test"; + asd = "garbage-pools-test"; + } + ); + systems = [ "garbage-pools-test" ]; + lispLibs = [ + (getAttr "garbage-pools" self) + (getAttr "lift" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + garten = ( + build-asdf-system { + pname = "garten"; + version = "20211020-git"; + asds = [ "garten" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; + sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; + system = "garten"; + asd = "garten"; + } + ); + systems = [ "garten" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gcm = ( + build-asdf-system { + pname = "gcm"; + version = "20141217-git"; + asds = [ "gcm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gcm/2014-12-17/gcm-20141217-git.tgz"; + sha256 = "1xnm1cj417d9syb634zi9w90c2191gxjrixa724s4h3hvj70y0ff"; + system = "gcm"; + asd = "gcm"; + } + ); + systems = [ "gcm" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "com_dot_gigamonkeys_dot_json" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geco = ( + build-asdf-system { + pname = "geco"; + version = "20210228-git"; + asds = [ "geco" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geco/2021-02-28/geco-20210228-git.tgz"; + sha256 = "1ncaf9ab7jz59zmga0p97blsjjb1m6db0qih57wipfhqdb5ylz17"; + system = "geco"; + asd = "geco"; + } + ); + systems = [ "geco" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gendl = ( + build-asdf-system { + pname = "gendl"; + version = "master-fe503896-git"; + asds = [ "gendl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "gendl"; + asd = "gendl"; + } + ); + systems = [ "gendl" ]; + lispLibs = [ + (getAttr "cl-lite" self) + (getAttr "geysr" self) + (getAttr "gwl-graphics" self) + (getAttr "robot" self) + (getAttr "yadd" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gendl-asdf = ( + build-asdf-system { + pname = "gendl-asdf"; + version = "master-fe503896-git"; + asds = [ "gendl-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "gendl-asdf"; + asd = "gendl-asdf"; + } + ); + systems = [ "gendl-asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + general-accumulator = ( + build-asdf-system { + pname = "general-accumulator"; + version = "20211209-git"; + asds = [ "general-accumulator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-general-accumulator/2021-12-09/cl-general-accumulator-20211209-git.tgz"; + sha256 = "14ybsk1ahgya67clspacqij1lvs5bzv07rdq60nhgqsbc6s56j9g"; + system = "general-accumulator"; + asd = "general-accumulator"; + } + ); + systems = [ "general-accumulator" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generalized-reference = ( + build-asdf-system { + pname = "generalized-reference"; + version = "20220707-git"; + asds = [ "generalized-reference" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generalized-reference/2022-07-07/generalized-reference-20220707-git.tgz"; + sha256 = "0q1cm52lijn4p6bjzx2yr2kwy729lcj3f6lsanbnbjw56xgp4cpb"; + system = "generalized-reference"; + asd = "generalized-reference"; + } + ); + systems = [ "generalized-reference" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "serapeum" self) + (getAttr "series" self) + (getAttr "split-sequence" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generators = ( + build-asdf-system { + pname = "generators"; + version = "20130615-git"; + asds = [ "generators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generators/2013-06-15/generators-20130615-git.tgz"; + sha256 = "1y8jlvv5c3av2ww33rwm2kh9sxmhfykhz235b33fbjpdxpx1r9bs"; + system = "generators"; + asd = "generators"; + } + ); + systems = [ "generators" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-cont" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl = ( + build-asdf-system { + pname = "generic-cl"; + version = "20241012-git"; + asds = [ "generic-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl"; + asd = "generic-cl"; + } + ); + systems = [ "generic-cl" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "generic-cl_dot_arithmetic" self) + (getAttr "generic-cl_dot_collector" self) + (getAttr "generic-cl_dot_comparison" self) + (getAttr "generic-cl_dot_container" self) + (getAttr "generic-cl_dot_iterator" self) + (getAttr "generic-cl_dot_lazy-seq" self) + (getAttr "generic-cl_dot_map" self) + (getAttr "generic-cl_dot_math" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "generic-cl_dot_sequence" self) + (getAttr "generic-cl_dot_set" self) + ]; + meta = { }; + } + ); + generic-cl_dot_arithmetic = ( + build-asdf-system { + pname = "generic-cl.arithmetic"; + version = "20241012-git"; + asds = [ "generic-cl.arithmetic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.arithmetic"; + asd = "generic-cl.arithmetic"; + } + ); + systems = [ "generic-cl.arithmetic" ]; + lispLibs = [ + (getAttr "generic-cl_dot_comparison" self) + (getAttr "generic-cl_dot_internal" self) + (getAttr "static-dispatch" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_collector = ( + build-asdf-system { + pname = "generic-cl.collector"; + version = "20241012-git"; + asds = [ "generic-cl.collector" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.collector"; + asd = "generic-cl.collector"; + } + ); + systems = [ "generic-cl.collector" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "generic-cl_dot_iterator" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "static-dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_comparison = ( + build-asdf-system { + pname = "generic-cl.comparison"; + version = "20241012-git"; + asds = [ "generic-cl.comparison" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.comparison"; + asd = "generic-cl.comparison"; + } + ); + systems = [ "generic-cl.comparison" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "generic-cl_dot_internal" self) + (getAttr "static-dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_container = ( + build-asdf-system { + pname = "generic-cl.container"; + version = "20241012-git"; + asds = [ "generic-cl.container" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.container"; + asd = "generic-cl.container"; + } + ); + systems = [ "generic-cl.container" ]; + lispLibs = [ + (getAttr "generic-cl_dot_object" self) + (getAttr "static-dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_internal = ( + build-asdf-system { + pname = "generic-cl.internal"; + version = "20241012-git"; + asds = [ "generic-cl.internal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.internal"; + asd = "generic-cl.internal"; + } + ); + systems = [ "generic-cl.internal" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-form-types" self) + (getAttr "static-dispatch" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_iterator = ( + build-asdf-system { + pname = "generic-cl.iterator"; + version = "20241012-git"; + asds = [ "generic-cl.iterator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.iterator"; + asd = "generic-cl.iterator"; + } + ); + systems = [ "generic-cl.iterator" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "cl-form-types" self) + (getAttr "generic-cl_dot_container" self) + (getAttr "generic-cl_dot_internal" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "parse-declarations-1_dot_0" self) + (getAttr "static-dispatch" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_lazy-seq = ( + build-asdf-system { + pname = "generic-cl.lazy-seq"; + version = "20241012-git"; + asds = [ "generic-cl.lazy-seq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.lazy-seq"; + asd = "generic-cl.lazy-seq"; + } + ); + systems = [ "generic-cl.lazy-seq" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "arrows" self) + (getAttr "cl-custom-hash-table" self) + (getAttr "generic-cl_dot_collector" self) + (getAttr "generic-cl_dot_comparison" self) + (getAttr "generic-cl_dot_container" self) + (getAttr "generic-cl_dot_iterator" self) + (getAttr "generic-cl_dot_map" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "generic-cl_dot_sequence" self) + (getAttr "static-dispatch" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_map = ( + build-asdf-system { + pname = "generic-cl.map"; + version = "20241012-git"; + asds = [ "generic-cl.map" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.map"; + asd = "generic-cl.map"; + } + ); + systems = [ "generic-cl.map" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "cl-custom-hash-table" self) + (getAttr "generic-cl_dot_collector" self) + (getAttr "generic-cl_dot_comparison" self) + (getAttr "generic-cl_dot_container" self) + (getAttr "generic-cl_dot_internal" self) + (getAttr "generic-cl_dot_iterator" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "static-dispatch" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_math = ( + build-asdf-system { + pname = "generic-cl.math"; + version = "20241012-git"; + asds = [ "generic-cl.math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.math"; + asd = "generic-cl.math"; + } + ); + systems = [ "generic-cl.math" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "generic-cl_dot_arithmetic" self) + (getAttr "static-dispatch" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_object = ( + build-asdf-system { + pname = "generic-cl.object"; + version = "20241012-git"; + asds = [ "generic-cl.object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.object"; + asd = "generic-cl.object"; + } + ); + systems = [ "generic-cl.object" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arrows" self) + (getAttr "generic-cl_dot_comparison" self) + (getAttr "static-dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_sequence = ( + build-asdf-system { + pname = "generic-cl.sequence"; + version = "20241012-git"; + asds = [ "generic-cl.sequence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.sequence"; + asd = "generic-cl.sequence"; + } + ); + systems = [ "generic-cl.sequence" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "cl-custom-hash-table" self) + (getAttr "cl-form-types" self) + (getAttr "generic-cl_dot_collector" self) + (getAttr "generic-cl_dot_comparison" self) + (getAttr "generic-cl_dot_container" self) + (getAttr "generic-cl_dot_internal" self) + (getAttr "generic-cl_dot_iterator" self) + (getAttr "generic-cl_dot_map" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "static-dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_set = ( + build-asdf-system { + pname = "generic-cl.set"; + version = "20241012-git"; + asds = [ "generic-cl.set" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.set"; + asd = "generic-cl.set"; + } + ); + systems = [ "generic-cl.set" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "generic-cl_dot_arithmetic" self) + (getAttr "generic-cl_dot_collector" self) + (getAttr "generic-cl_dot_comparison" self) + (getAttr "generic-cl_dot_container" self) + (getAttr "generic-cl_dot_iterator" self) + (getAttr "generic-cl_dot_map" self) + (getAttr "generic-cl_dot_object" self) + (getAttr "generic-cl_dot_sequence" self) + (getAttr "static-dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-cl_dot_util = ( + build-asdf-system { + pname = "generic-cl.util"; + version = "20241012-git"; + asds = [ "generic-cl.util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-cl/2024-10-12/generic-cl-20241012-git.tgz"; + sha256 = "14qlfzfd8gvvbhl766801g9258z1dirmszzp1wrf24wj9yf4m0f4"; + system = "generic-cl.util"; + asd = "generic-cl.util"; + } + ); + systems = [ "generic-cl.util" ]; + lispLibs = [ (getAttr "generic-cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-comparability = ( + build-asdf-system { + pname = "generic-comparability"; + version = "20180131-git"; + asds = [ "generic-comparability" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-comparability/2018-01-31/generic-comparability-20180131-git.tgz"; + sha256 = "01ma0cwirxarwwmdwflnh8kmysmr2smh5kyvzhb2074ljxg8yq2p"; + system = "generic-comparability"; + asd = "generic-comparability"; + } + ); + systems = [ "generic-comparability" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-comparability-test = ( + build-asdf-system { + pname = "generic-comparability-test"; + version = "20180131-git"; + asds = [ "generic-comparability-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-comparability/2018-01-31/generic-comparability-20180131-git.tgz"; + sha256 = "01ma0cwirxarwwmdwflnh8kmysmr2smh5kyvzhb2074ljxg8yq2p"; + system = "generic-comparability-test"; + asd = "generic-comparability"; + } + ); + systems = [ "generic-comparability-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam" self) + (getAttr "generic-comparability" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-sequences = ( + build-asdf-system { + pname = "generic-sequences"; + version = "20150709-git"; + asds = [ "generic-sequences" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; + sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; + system = "generic-sequences"; + asd = "generic-sequences"; + } + ); + systems = [ "generic-sequences" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-sequences-cont = ( + build-asdf-system { + pname = "generic-sequences-cont"; + version = "20150709-git"; + asds = [ "generic-sequences-cont" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; + sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; + system = "generic-sequences-cont"; + asd = "generic-sequences-cont"; + } + ); + systems = [ "generic-sequences-cont" ]; + lispLibs = [ + (getAttr "cl-cont" self) + (getAttr "generic-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-sequences-iterate = ( + build-asdf-system { + pname = "generic-sequences-iterate"; + version = "20150709-git"; + asds = [ "generic-sequences-iterate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; + sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; + system = "generic-sequences-iterate"; + asd = "generic-sequences-iterate"; + } + ); + systems = [ "generic-sequences-iterate" ]; + lispLibs = [ + (getAttr "generic-sequences" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-sequences-stream = ( + build-asdf-system { + pname = "generic-sequences-stream"; + version = "20150709-git"; + asds = [ "generic-sequences-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; + sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; + system = "generic-sequences-stream"; + asd = "generic-sequences-stream"; + } + ); + systems = [ "generic-sequences-stream" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "generic-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + generic-sequences-test = ( + build-asdf-system { + pname = "generic-sequences-test"; + version = "20150709-git"; + asds = [ "generic-sequences-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz"; + sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3"; + system = "generic-sequences-test"; + asd = "generic-sequences-test"; + } + ); + systems = [ "generic-sequences-test" ]; + lispLibs = [ + (getAttr "generic-sequences" self) + (getAttr "generic-sequences-cont" self) + (getAttr "generic-sequences-iterate" self) + (getAttr "generic-sequences-stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva = ( + build-asdf-system { + pname = "geneva"; + version = "20161204-git"; + asds = [ "geneva" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva"; + asd = "geneva"; + } + ); + systems = [ "geneva" ]; + lispLibs = [ + (getAttr "named-readtables" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva-cl = ( + build-asdf-system { + pname = "geneva-cl"; + version = "20161204-git"; + asds = [ "geneva-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva-cl"; + asd = "geneva-cl"; + } + ); + systems = [ "geneva-cl" ]; + lispLibs = [ + (getAttr "geneva" self) + (getAttr "geneva-mk2" self) + (getAttr "named-readtables" self) + (getAttr "split-sequence" self) + (getAttr "trivial-documentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva-html = ( + build-asdf-system { + pname = "geneva-html"; + version = "20161204-git"; + asds = [ "geneva-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva-html"; + asd = "geneva-html"; + } + ); + systems = [ "geneva-html" ]; + lispLibs = [ + (getAttr "file-types" self) + (getAttr "geneva" self) + (getAttr "macro-html" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva-latex = ( + build-asdf-system { + pname = "geneva-latex"; + version = "20161204-git"; + asds = [ "geneva-latex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva-latex"; + asd = "geneva-latex"; + } + ); + systems = [ "geneva-latex" ]; + lispLibs = [ + (getAttr "geneva" self) + (getAttr "geneva-tex" self) + (getAttr "named-readtables" self) + (getAttr "texp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva-mk2 = ( + build-asdf-system { + pname = "geneva-mk2"; + version = "20161204-git"; + asds = [ "geneva-mk2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva-mk2"; + asd = "geneva-mk2"; + } + ); + systems = [ "geneva-mk2" ]; + lispLibs = [ + (getAttr "geneva" self) + (getAttr "maxpc" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva-plain-text = ( + build-asdf-system { + pname = "geneva-plain-text"; + version = "20161204-git"; + asds = [ "geneva-plain-text" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva-plain-text"; + asd = "geneva-plain-text"; + } + ); + systems = [ "geneva-plain-text" ]; + lispLibs = [ + (getAttr "geneva" self) + (getAttr "geneva-mk2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geneva-tex = ( + build-asdf-system { + pname = "geneva-tex"; + version = "20161204-git"; + asds = [ "geneva-tex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "geneva-tex"; + asd = "geneva-tex"; + } + ); + systems = [ "geneva-tex" ]; + lispLibs = [ + (getAttr "file-types" self) + (getAttr "geneva" self) + (getAttr "named-readtables" self) + (getAttr "texp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + genhash = ( + build-asdf-system { + pname = "genhash"; + version = "20181210-git"; + asds = [ "genhash" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/genhash/2018-12-10/genhash-20181210-git.tgz"; + sha256 = "1jnk1fix1zydhy0kn3cvlp6dy0241x7v8ahq001nlr6v152z1cwk"; + system = "genhash"; + asd = "genhash"; + } + ); + systems = [ "genhash" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geodesic = ( + build-asdf-system { + pname = "geodesic"; + version = "20230618-git"; + asds = [ "geodesic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geodesic/2023-06-18/geodesic-20230618-git.tgz"; + sha256 = "13hvkf6r1y1yx0zqgkl8yg1fskfp7vpa9p34ar00s4ly432vbpxq"; + system = "geodesic"; + asd = "geodesic"; + } + ); + systems = [ "geodesic" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geom-base = ( + build-asdf-system { + pname = "geom-base"; + version = "master-fe503896-git"; + asds = [ "geom-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "geom-base"; + asd = "geom-base"; + } + ); + systems = [ "geom-base" ]; + lispLibs = [ + (getAttr "base" self) + (getAttr "cl-pdf" self) + (getAttr "cl-typesetting" self) + (getAttr "cl-who" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geowkt = ( + build-asdf-system { + pname = "geowkt"; + version = "20200610-git"; + asds = [ "geowkt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geowkt/2020-06-10/geowkt-20200610-git.tgz"; + sha256 = "02l8cb2k10j7k6fvhk9dpqmkxs6vb5w5nh3159w7drprvjqhfrjw"; + system = "geowkt"; + asd = "geowkt"; + } + ); + systems = [ "geowkt" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geowkt-update = ( + build-asdf-system { + pname = "geowkt-update"; + version = "20200610-git"; + asds = [ "geowkt-update" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geowkt/2020-06-10/geowkt-20200610-git.tgz"; + sha256 = "02l8cb2k10j7k6fvhk9dpqmkxs6vb5w5nh3159w7drprvjqhfrjw"; + system = "geowkt-update"; + asd = "geowkt-update"; + } + ); + systems = [ "geowkt-update" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + getopt = ( + build-asdf-system { + pname = "getopt"; + version = "20150923-git"; + asds = [ "getopt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/getopt/2015-09-23/getopt-20150923-git.tgz"; + sha256 = "1liwzghx2swws84xlxnq756gbass0s916a9sq5mjfnlg3scbwcs3"; + system = "getopt"; + asd = "getopt"; + } + ); + systems = [ "getopt" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + getopt-tests = ( + build-asdf-system { + pname = "getopt-tests"; + version = "20150923-git"; + asds = [ "getopt-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/getopt/2015-09-23/getopt-20150923-git.tgz"; + sha256 = "1liwzghx2swws84xlxnq756gbass0s916a9sq5mjfnlg3scbwcs3"; + system = "getopt-tests"; + asd = "getopt"; + } + ); + systems = [ "getopt-tests" ]; + lispLibs = [ + (getAttr "getopt" self) + (getAttr "ptester" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gettext = ( + build-asdf-system { + pname = "gettext"; + version = "20171130-git"; + asds = [ "gettext" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz"; + sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"; + system = "gettext"; + asd = "gettext"; + } + ); + systems = [ "gettext" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "split-sequence" self) + (getAttr "yacc" self) + ]; + meta = { }; + } + ); + gettext-example = ( + build-asdf-system { + pname = "gettext-example"; + version = "20171130-git"; + asds = [ "gettext-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz"; + sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"; + system = "gettext-example"; + asd = "gettext-example"; + } + ); + systems = [ "gettext-example" ]; + lispLibs = [ (getAttr "gettext" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gettext-tests = ( + build-asdf-system { + pname = "gettext-tests"; + version = "20171130-git"; + asds = [ "gettext-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz"; + sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"; + system = "gettext-tests"; + asd = "gettext-tests"; + } + ); + systems = [ "gettext-tests" ]; + lispLibs = [ + (getAttr "gettext" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + geysr = ( + build-asdf-system { + pname = "geysr"; + version = "master-fe503896-git"; + asds = [ "geysr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "geysr"; + asd = "geysr"; + } + ); + systems = [ "geysr" ]; + lispLibs = [ + (getAttr "gendl-asdf" self) + (getAttr "gwl-graphics" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + git-file-history = ( + build-asdf-system { + pname = "git-file-history"; + version = "20160825-git"; + asds = [ "git-file-history" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/git-file-history/2016-08-25/git-file-history-20160825-git.tgz"; + sha256 = "00kdawcy3mhljv04xpx5n7l2s21qdpbm8i9avjdqbxvfc5j05bq8"; + system = "git-file-history"; + asd = "git-file-history"; + } + ); + systems = [ "git-file-history" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "legit" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + git-file-history-test = ( + build-asdf-system { + pname = "git-file-history-test"; + version = "20160825-git"; + asds = [ "git-file-history-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/git-file-history/2016-08-25/git-file-history-20160825-git.tgz"; + sha256 = "00kdawcy3mhljv04xpx5n7l2s21qdpbm8i9avjdqbxvfc5j05bq8"; + system = "git-file-history-test"; + asd = "git-file-history-test"; + } + ); + systems = [ "git-file-history-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "git-file-history" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + github-api-cl = ( + build-asdf-system { + pname = "github-api-cl"; + version = "20241012-git"; + asds = [ "github-api-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/github-api-cl/2024-10-12/github-api-cl-20241012-git.tgz"; + sha256 = "04kvhap041v26axg4pzzymnibzh430yvja8c6dhic27g2639kswh"; + system = "github-api-cl"; + asd = "github-api-cl"; + } + ); + systems = [ "github-api-cl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-base64" self) + (getAttr "clack" self) + (getAttr "dexador" self) + (getAttr "str" self) + (getAttr "trivial-features" self) + (getAttr "woo" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + github-gist-api-cl = ( + build-asdf-system { + pname = "github-gist-api-cl"; + version = "20241012-git"; + asds = [ "github-gist-api-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/github-api-cl/2024-10-12/github-api-cl-20241012-git.tgz"; + sha256 = "04kvhap041v26axg4pzzymnibzh430yvja8c6dhic27g2639kswh"; + system = "github-gist-api-cl"; + asd = "github-gist-api-cl"; + } + ); + systems = [ "github-gist-api-cl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-base64" self) + (getAttr "clack" self) + (getAttr "dexador" self) + (getAttr "github-api-cl" self) + (getAttr "str" self) + (getAttr "trivial-features" self) + (getAttr "woo" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glacier = ( + build-asdf-system { + pname = "glacier"; + version = "20230214-git"; + asds = [ "glacier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glacier/2023-02-14/glacier-20230214-git.tgz"; + sha256 = "1h66cd3bn3n8yjd922xsvv0r668cm82106nm2k3fnll67apazlwi"; + system = "glacier"; + asd = "glacier"; + } + ); + systems = [ "glacier" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "simple-config" self) + (getAttr "str" self) + (getAttr "tooter" self) + (getAttr "websocket-driver" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glad-blob = ( + build-asdf-system { + pname = "glad-blob"; + version = "stable-git"; + asds = [ "glad-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glad-blob/2020-10-16/glad-blob-stable-git.tgz"; + sha256 = "19vp7nyf4kxhczi8i2w47lvipk1i4psrxlpk4nvbdh97vc12k5a7"; + system = "glad-blob"; + asd = "glad-blob"; + } + ); + systems = [ "glad-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glass = ( + build-asdf-system { + pname = "glass"; + version = "20150709-git"; + asds = [ "glass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glass/2015-07-09/glass-20150709-git.tgz"; + sha256 = "1xwr6mj25m0z1qhp30hafbbhrfj34dfidy320x5m3lij13vbyb1p"; + system = "glass"; + asd = "glass"; + } + ); + systems = [ "glass" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glaw = ( + build-asdf-system { + pname = "glaw"; + version = "20180228-git"; + asds = [ "glaw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; + sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; + system = "glaw"; + asd = "glaw"; + } + ); + systems = [ "glaw" ]; + lispLibs = [ + (getAttr "cl-alc" self) + (getAttr "cl-openal" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glaw-examples = ( + build-asdf-system { + pname = "glaw-examples"; + version = "20180228-git"; + asds = [ "glaw-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; + sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; + system = "glaw-examples"; + asd = "glaw-examples"; + } + ); + systems = [ "glaw-examples" ]; + lispLibs = [ + (getAttr "glaw" self) + (getAttr "glaw-imago" self) + (getAttr "glop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glaw-imago = ( + build-asdf-system { + pname = "glaw-imago"; + version = "20180228-git"; + asds = [ "glaw-imago" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; + sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; + system = "glaw-imago"; + asd = "glaw-imago"; + } + ); + systems = [ "glaw-imago" ]; + lispLibs = [ + (getAttr "glaw" self) + (getAttr "imago" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glaw-sdl = ( + build-asdf-system { + pname = "glaw-sdl"; + version = "20180228-git"; + asds = [ "glaw-sdl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz"; + sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp"; + system = "glaw-sdl"; + asd = "glaw-sdl"; + } + ); + systems = [ "glaw-sdl" ]; + lispLibs = [ + (getAttr "glaw" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-image" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glfw = ( + build-asdf-system { + pname = "glfw"; + version = "20241012-git"; + asds = [ "glfw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glfw/2024-10-12/glfw-20241012-git.tgz"; + sha256 = "1n421gvrzs76v57icy0c4zhz84ymin91vbv5gkkj4i00cnggwdxv"; + system = "glfw"; + asd = "glfw"; + } + ); + systems = [ "glfw" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + (getAttr "documentation-utils" self) + (getAttr "float-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glfw-blob = ( + build-asdf-system { + pname = "glfw-blob"; + version = "stable-git"; + asds = [ "glfw-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glfw-blob/2020-10-16/glfw-blob-stable-git.tgz"; + sha256 = "0j953vqsyswipgyhc39swsgwgaqb53wvs80izraknlsp379hzabs"; + system = "glfw-blob"; + asd = "glfw-blob"; + } + ); + systems = [ "glfw-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glhelp = ( + build-asdf-system { + pname = "glhelp"; + version = "20200427-git"; + asds = [ "glhelp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "glhelp"; + asd = "glhelp"; + } + ); + systems = [ "glhelp" ]; + lispLibs = [ + (getAttr "cl-opengl" self) + (getAttr "deflazy" self) + (getAttr "glsl-toolkit" self) + (getAttr "split-sequence" self) + (getAttr "uncommon-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glisp = ( + build-asdf-system { + pname = "glisp"; + version = "master-fe503896-git"; + asds = [ "glisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "glisp"; + asd = "glisp"; + } + ); + systems = [ "glisp" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "base" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glisph = ( + build-asdf-system { + pname = "glisph"; + version = "20170403-git"; + asds = [ "glisph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glisph/2017-04-03/glisph-20170403-git.tgz"; + sha256 = "097d6kjk4rndpqn181k9nyr2bps4gf3shq5x2fy1swvks3pvys91"; + system = "glisph"; + asd = "glisph"; + } + ); + systems = [ "glisph" ]; + lispLibs = [ + (getAttr "cl-annot" self) + (getAttr "cl-glu" self) + (getAttr "cl-opengl" self) + (getAttr "cl-reexport" self) + (getAttr "zpb-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glisph-test = ( + build-asdf-system { + pname = "glisph-test"; + version = "20170403-git"; + asds = [ "glisph-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glisph/2017-04-03/glisph-20170403-git.tgz"; + sha256 = "097d6kjk4rndpqn181k9nyr2bps4gf3shq5x2fy1swvks3pvys91"; + system = "glisph-test"; + asd = "glisph-test"; + } + ); + systems = [ "glisph-test" ]; + lispLibs = [ + (getAttr "cl-glut" self) + (getAttr "glisph" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glkit = ( + build-asdf-system { + pname = "glkit"; + version = "20201016-git"; + asds = [ "glkit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glkit/2020-10-16/glkit-20201016-git.tgz"; + sha256 = "1x3y5jcr1f0v9sgn3y5b7b8fhgd6vv37nz73016gdwh511idi8jn"; + system = "glkit"; + asd = "glkit"; + } + ); + systems = [ "glkit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-opengl" self) + (getAttr "defpackage-plus" self) + (getAttr "mathkit" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glkit-examples = ( + build-asdf-system { + pname = "glkit-examples"; + version = "20201016-git"; + asds = [ "glkit-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glkit/2020-10-16/glkit-20201016-git.tgz"; + sha256 = "1x3y5jcr1f0v9sgn3y5b7b8fhgd6vv37nz73016gdwh511idi8jn"; + system = "glkit-examples"; + asd = "glkit-examples"; + } + ); + systems = [ "glkit-examples" ]; + lispLibs = [ + (getAttr "glkit" self) + (getAttr "sdl2kit-examples" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + global-vars = ( + build-asdf-system { + pname = "global-vars"; + version = "20141106-git"; + asds = [ "global-vars" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz"; + sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"; + system = "global-vars"; + asd = "global-vars"; + } + ); + systems = [ "global-vars" ]; + lispLibs = [ ]; + meta = { }; + } + ); + global-vars-test = ( + build-asdf-system { + pname = "global-vars-test"; + version = "20141106-git"; + asds = [ "global-vars-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz"; + sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"; + system = "global-vars-test"; + asd = "global-vars-test"; + } + ); + systems = [ "global-vars-test" ]; + lispLibs = [ (getAttr "global-vars" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glop = ( + build-asdf-system { + pname = "glop"; + version = "20171019-git"; + asds = [ "glop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glop/2017-10-19/glop-20171019-git.tgz"; + sha256 = "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv"; + system = "glop"; + asd = "glop"; + } + ); + systems = [ "glop" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "split-sequence" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glop-test = ( + build-asdf-system { + pname = "glop-test"; + version = "20171019-git"; + asds = [ "glop-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glop/2017-10-19/glop-20171019-git.tgz"; + sha256 = "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv"; + system = "glop-test"; + asd = "glop-test"; + } + ); + systems = [ "glop-test" ]; + lispLibs = [ + (getAttr "cl-glu" self) + (getAttr "cl-opengl" self) + (getAttr "glop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glsl-docs = ( + build-asdf-system { + pname = "glsl-docs"; + version = "release-quicklisp-f04476f7-git"; + asds = [ "glsl-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz"; + sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"; + system = "glsl-docs"; + asd = "glsl-docs"; + } + ); + systems = [ "glsl-docs" ]; + lispLibs = [ (getAttr "glsl-symbols" self) ]; + meta = { }; + } + ); + glsl-packing = ( + build-asdf-system { + pname = "glsl-packing"; + version = "20180131-git"; + asds = [ "glsl-packing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glsl-packing/2018-01-31/glsl-packing-20180131-git.tgz"; + sha256 = "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"; + system = "glsl-packing"; + asd = "glsl-packing"; + } + ); + systems = [ "glsl-packing" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glsl-spec = ( + build-asdf-system { + pname = "glsl-spec"; + version = "release-quicklisp-f04476f7-git"; + asds = [ "glsl-spec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz"; + sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"; + system = "glsl-spec"; + asd = "glsl-spec"; + } + ); + systems = [ "glsl-spec" ]; + lispLibs = [ ]; + meta = { }; + } + ); + glsl-symbols = ( + build-asdf-system { + pname = "glsl-symbols"; + version = "release-quicklisp-f04476f7-git"; + asds = [ "glsl-symbols" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz"; + sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"; + system = "glsl-symbols"; + asd = "glsl-symbols"; + } + ); + systems = [ "glsl-symbols" ]; + lispLibs = [ ]; + meta = { }; + } + ); + glsl-toolkit = ( + build-asdf-system { + pname = "glsl-toolkit"; + version = "20241012-git"; + asds = [ "glsl-toolkit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glsl-toolkit/2024-10-12/glsl-toolkit-20241012-git.tgz"; + sha256 = "0yh6y2k2v5ivzwfnvnprlcih8jn7fv3pzz2wn85fpvbfw4mg120x"; + system = "glsl-toolkit"; + asd = "glsl-toolkit"; + } + ); + systems = [ "glsl-toolkit" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "parse-float" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glu-tessellate = ( + build-asdf-system { + pname = "glu-tessellate"; + version = "20150608-git"; + asds = [ "glu-tessellate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glu-tessellate/2015-06-08/glu-tessellate-20150608-git.tgz"; + sha256 = "1iwnvk341pidxdsjb2c730k6a7nr1knd5ir0v83y6jhsf78r9krh"; + system = "glu-tessellate"; + asd = "glu-tessellate"; + } + ); + systems = [ "glu-tessellate" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glyphs = ( + build-asdf-system { + pname = "glyphs"; + version = "20180711-git"; + asds = [ "glyphs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glyphs/2018-07-11/glyphs-20180711-git.tgz"; + sha256 = "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"; + system = "glyphs"; + asd = "glyphs"; + } + ); + systems = [ "glyphs" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "named-readtables" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + glyphs-test = ( + build-asdf-system { + pname = "glyphs-test"; + version = "20180711-git"; + asds = [ "glyphs-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/glyphs/2018-07-11/glyphs-20180711-git.tgz"; + sha256 = "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"; + system = "glyphs-test"; + asd = "glyphs-test"; + } + ); + systems = [ "glyphs-test" ]; + lispLibs = [ + (getAttr "glyphs" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + golden-utils = ( + build-asdf-system { + pname = "golden-utils"; + version = "20241012-git"; + asds = [ "golden-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/golden-utils/2024-10-12/golden-utils-20241012-git.tgz"; + sha256 = "09vq29wjr3x7h3fshwxg8h1psy4p73yl61cjljarpqjhsgz7lmbp"; + system = "golden-utils"; + asd = "golden-utils"; + } + ); + systems = [ "golden-utils" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gooptest = ( + build-asdf-system { + pname = "gooptest"; + version = "20200925-git"; + asds = [ "gooptest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gooptest/2020-09-25/gooptest-20200925-git.tgz"; + sha256 = "1g9q4frlc79xkmz74ybs954rc5kmfwjsn4xi64aig1fh5wjni5xs"; + system = "gooptest"; + asd = "gooptest"; + } + ); + systems = [ "gooptest" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cl-autowrap" self) + (getAttr "cl-plus-c" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + graph = ( + build-asdf-system { + pname = "graph"; + version = "20220331-git"; + asds = [ "graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/graph/2022-03-31/graph-20220331-git.tgz"; + sha256 = "0m76vb0mk7rlbv9xhnix001gxik9f7vy9lspradcvzbk1rfxyyf7"; + system = "graph"; + asd = "graph"; + } + ); + systems = [ "graph" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "curry-compose-reader-macros" self) + (getAttr "damn-fast-priority-queue" self) + (getAttr "metabang-bind" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + graphs = ( + build-asdf-system { + pname = "graphs"; + version = "master-fe503896-git"; + asds = [ "graphs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "graphs"; + asd = "graphs"; + } + ); + systems = [ "graphs" ]; + lispLibs = [ (getAttr "gwl-graphics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gravatar = ( + build-asdf-system { + pname = "gravatar"; + version = "20110320-git"; + asds = [ "gravatar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gravatar/2011-03-20/cl-gravatar-20110320-git.tgz"; + sha256 = "1r9fq1zaywlhpxr3s3wgajhxf1kgwsgsql0a7ccfgsbwkgy2qzfs"; + system = "gravatar"; + asd = "gravatar"; + } + ); + systems = [ "gravatar" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-json" self) + (getAttr "drakma" self) + (getAttr "md5" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + graylex = ( + build-asdf-system { + pname = "graylex"; + version = "20110522-git"; + asds = [ "graylex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/graylex/2011-05-22/graylex-20110522-git.tgz"; + sha256 = "0s1mpz6cpx3fywznxc8kzkhbb4fpmzyjpfgc85lnxqmri8wy6xqy"; + system = "graylex"; + asd = "graylex"; + } + ); + systems = [ "graylex" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + graylex-m4-example = ( + build-asdf-system { + pname = "graylex-m4-example"; + version = "20110522-git"; + asds = [ "graylex-m4-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/graylex/2011-05-22/graylex-20110522-git.tgz"; + sha256 = "0s1mpz6cpx3fywznxc8kzkhbb4fpmzyjpfgc85lnxqmri8wy6xqy"; + system = "graylex-m4-example"; + asd = "graylex-m4-example"; + } + ); + systems = [ "graylex-m4-example" ]; + lispLibs = [ + (getAttr "cl-heredoc" self) + (getAttr "graylex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + graylog = ( + build-asdf-system { + pname = "graylog"; + version = "20180430-git"; + asds = [ "graylog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-graylog/2018-04-30/cl-graylog-20180430-git.tgz"; + sha256 = "1bj1v6vwz8w78h0bkjv5614gq50jdpjix88rbn3nvh81cfjvsqdg"; + system = "graylog"; + asd = "graylog"; + } + ); + systems = [ "graylog" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-json" self) + (getAttr "local-time" self) + (getAttr "salza2" self) + (getAttr "trivial-backtrace" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + graylog-log5 = ( + build-asdf-system { + pname = "graylog-log5"; + version = "20180430-git"; + asds = [ "graylog-log5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-graylog/2018-04-30/cl-graylog-20180430-git.tgz"; + sha256 = "1bj1v6vwz8w78h0bkjv5614gq50jdpjix88rbn3nvh81cfjvsqdg"; + system = "graylog-log5"; + asd = "graylog-log5"; + } + ); + systems = [ "graylog-log5" ]; + lispLibs = [ + (getAttr "graylog" self) + (getAttr "log5" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + green-threads = ( + build-asdf-system { + pname = "green-threads"; + version = "20141217-git"; + asds = [ "green-threads" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/green-threads/2014-12-17/green-threads-20141217-git.tgz"; + sha256 = "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"; + system = "green-threads"; + asd = "green-threads"; + } + ); + systems = [ "green-threads" ]; + lispLibs = [ + (getAttr "cl-async-future" self) + (getAttr "cl-cont" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + grid-formation = ( + build-asdf-system { + pname = "grid-formation"; + version = "20220707-git"; + asds = [ "grid-formation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/grid-formation/2022-07-07/grid-formation-20220707-git.tgz"; + sha256 = "0s5picmkn7gn98k23axadbc0mlzlrbadi1ln85gpqp17k3cmd54m"; + system = "grid-formation"; + asd = "grid-formation"; + } + ); + systems = [ "grid-formation" ]; + lispLibs = [ + (getAttr "mfiano-utils" self) + (getAttr "origin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + group-by = ( + build-asdf-system { + pname = "group-by"; + version = "20140211-git"; + asds = [ "group-by" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/group-by/2014-02-11/group-by-20140211-git.tgz"; + sha256 = "1p1qprb57fjd6sj8ws6c7y40ab38mym65wni8xivdy89i3d63dz4"; + system = "group-by"; + asd = "group-by"; + } + ); + systems = [ "group-by" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + group-by-test = ( + build-asdf-system { + pname = "group-by-test"; + version = "20140211-git"; + asds = [ "group-by-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/group-by/2014-02-11/group-by-20140211-git.tgz"; + sha256 = "1p1qprb57fjd6sj8ws6c7y40ab38mym65wni8xivdy89i3d63dz4"; + system = "group-by-test"; + asd = "group-by"; + } + ); + systems = [ "group-by-test" ]; + lispLibs = [ + (getAttr "group-by" self) + (getAttr "lisp-unit2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + groupby = ( + build-asdf-system { + pname = "groupby"; + version = "20170830-git"; + asds = [ "groupby" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-groupby/2017-08-30/cl-groupby-20170830-git.tgz"; + sha256 = "1ra4zi9ifrhxxsj4svg1iqqzzsv9aqqa76pswygp7g084x6kn5km"; + system = "groupby"; + asd = "groupby"; + } + ); + systems = [ "groupby" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + grovel-locally = ( + build-asdf-system { + pname = "grovel-locally"; + version = "20180228-git"; + asds = [ "grovel-locally" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/grovel-locally/2018-02-28/grovel-locally-20180228-git.tgz"; + sha256 = "07q7zjgv3d1f35zwxpzcz020z0gcqi6m2l2szw99bsqk5hn93szl"; + system = "grovel-locally"; + asd = "grovel-locally"; + } + ); + systems = [ "grovel-locally" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-ppcre" self) + (getAttr "with-cached-reader-conditionals" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gsll = ( + build-asdf-system { + pname = "gsll"; + version = "quicklisp-eeeda841-git"; + asds = [ "gsll" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gsll/2018-08-31/gsll-quicklisp-eeeda841-git.tgz"; + sha256 = "0zsjvi1f62hjgfjk4wqg13d4r53bli9nglkwnd31qrygn8pmzlhi"; + system = "gsll"; + asd = "gsll"; + } + ); + systems = [ "gsll" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi-grovel" self) + (getAttr "cffi-libffi" self) + (getAttr "foreign-array" self) + (getAttr "lisp-unit" self) + (getAttr "metabang-bind" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + gt = ( + build-asdf-system { + pname = "gt"; + version = "20241012-git"; + asds = [ "gt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-utils/2024-10-12/cl-utils-20241012-git.tgz"; + sha256 = "133alv8368k9pjkvh3vsfsk50whw7si4i2i7b8z256knpb2d35gh"; + system = "gt"; + asd = "gt"; + } + ); + systems = [ "gt" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "curry-compose-reader-macros" self) + (getAttr "fset" self) + (getAttr "functional-trees" self) + (getAttr "iterate" self) + (getAttr "misc-extensions" self) + (getAttr "named-readtables" self) + (getAttr "serapeum" self) + (getAttr "split-sequence" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtirb = ( + build-asdf-system { + pname = "gtirb"; + version = "quicklisp-dd18337d-git"; + asds = [ "gtirb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz"; + sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1"; + system = "gtirb"; + asd = "gtirb"; + } + ); + systems = [ "gtirb" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "cl-intbytes" self) + (getAttr "cl-interval" self) + (getAttr "curry-compose-reader-macros" self) + (getAttr "graph" self) + (getAttr "named-readtables" self) + (getAttr "proto" self) + (getAttr "protobuf" self) + (getAttr "trivia" self) + (getAttr "trivial-package-local-nicknames" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtirb-capstone = ( + build-asdf-system { + pname = "gtirb-capstone"; + version = "20231021-git"; + asds = [ "gtirb-capstone" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtirb-capstone/2023-10-21/gtirb-capstone-20231021-git.tgz"; + sha256 = "1i65iay3pkc0q00inqyykjpv38jj0abz7j7dbsm6bamjvrh8n1v8"; + system = "gtirb-capstone"; + asd = "gtirb-capstone"; + } + ); + systems = [ "gtirb-capstone" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "capstone" self) + (getAttr "graph" self) + (getAttr "gt" self) + (getAttr "gtirb" self) + (getAttr "keystone" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtirb-functions = ( + build-asdf-system { + pname = "gtirb-functions"; + version = "20230618-git"; + asds = [ "gtirb-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtirb-functions/2023-06-18/gtirb-functions-20230618-git.tgz"; + sha256 = "19w18vfqrkjrsn4i4i3ppw5q80557pj0844r4zr3pbr0l8ypjcnp"; + system = "gtirb-functions"; + asd = "gtirb-functions"; + } + ); + systems = [ "gtirb-functions" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "graph" self) + (getAttr "gt" self) + (getAttr "gtirb" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtk-tagged-streams = ( + build-asdf-system { + pname = "gtk-tagged-streams"; + version = "quicklisp-d1c2b827-git"; + asds = [ "gtk-tagged-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtk-tagged-streams/2018-02-28/gtk-tagged-streams-quicklisp-d1c2b827-git.tgz"; + sha256 = "0ciw4ydcb8clsqb338hxpzncj2m59i6scnqlgbwkznm5i9dxvkyd"; + system = "gtk-tagged-streams"; + asd = "gtk-tagged-streams"; + } + ); + systems = [ "gtk-tagged-streams" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-cffi-gtk" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtwiwtg = ( + build-asdf-system { + pname = "gtwiwtg"; + version = "20231021-git"; + asds = [ "gtwiwtg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtwiwtg/2023-10-21/gtwiwtg-20231021-git.tgz"; + sha256 = "0pp28s2bydqcd850kyk4jjvjky692lqgld9lc9v64lb96ibxzplk"; + system = "gtwiwtg"; + asd = "gtwiwtg"; + } + ); + systems = [ "gtwiwtg" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtype = ( + build-asdf-system { + pname = "gtype"; + version = "20200610-git"; + asds = [ "gtype" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtype/2020-06-10/gtype-20200610-git.tgz"; + sha256 = "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"; + system = "gtype"; + asd = "gtype"; + } + ); + systems = [ "gtype" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + (getAttr "trivial-cltl2" self) + (getAttr "trivialib_dot_type-unify" self) + (getAttr "type-r" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gtype_dot_test = ( + build-asdf-system { + pname = "gtype.test"; + version = "20200610-git"; + asds = [ "gtype.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtype/2020-06-10/gtype-20200610-git.tgz"; + sha256 = "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"; + system = "gtype.test"; + asd = "gtype.test"; + } + ); + systems = [ "gtype.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "gtype" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gute = ( + build-asdf-system { + pname = "gute"; + version = "20221106-git"; + asds = [ "gute" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gute/2022-11-06/gute-20221106-git.tgz"; + sha256 = "1d1m4qaygvmkglwdqlnhkvwq0wrig13h97w8ansfkyig359vpzy0"; + system = "gute"; + asd = "gute"; + } + ); + systems = [ "gute" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-mathstats" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-strings" self) + (getAttr "conium" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gwl = ( + build-asdf-system { + pname = "gwl"; + version = "master-fe503896-git"; + asds = [ "gwl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "gwl"; + asd = "gwl"; + } + ); + systems = [ "gwl" ]; + lispLibs = [ + (getAttr "cl-html-parse" self) + (getAttr "cl-markdown" self) + (getAttr "cl-who" self) + (getAttr "glisp" self) + (getAttr "yason" self) + (getAttr "zaserve" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gwl-graphics = ( + build-asdf-system { + pname = "gwl-graphics"; + version = "master-fe503896-git"; + asds = [ "gwl-graphics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "gwl-graphics"; + asd = "gwl-graphics"; + } + ); + systems = [ "gwl-graphics" ]; + lispLibs = [ + (getAttr "geom-base" self) + (getAttr "gwl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + gzip-stream = ( + build-asdf-system { + pname = "gzip-stream"; + version = "0.2.8"; + asds = [ "gzip-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gzip-stream/2010-10-06/gzip-stream_0.2.8.tgz"; + sha256 = "1m2x685mk9zp8vq45r4gf6mlbzmzr79mvdxibw1fqzv7r1bqrwrs"; + system = "gzip-stream"; + asd = "gzip-stream"; + } + ); + systems = [ "gzip-stream" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "salza2" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hamcrest = ( + build-asdf-system { + pname = "hamcrest"; + version = "20241012-git"; + asds = [ "hamcrest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hamcrest/2024-10-12/cl-hamcrest-20241012-git.tgz"; + sha256 = "05l5i5cmm1yqg8x9ayffaf3a9xf742k02wkxwpkc125ih5x0ggws"; + system = "hamcrest"; + asd = "hamcrest"; + } + ); + systems = [ "hamcrest" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hamcrest-ci = ( + build-asdf-system { + pname = "hamcrest-ci"; + version = "20241012-git"; + asds = [ "hamcrest-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hamcrest/2024-10-12/cl-hamcrest-20241012-git.tgz"; + sha256 = "05l5i5cmm1yqg8x9ayffaf3a9xf742k02wkxwpkc125ih5x0ggws"; + system = "hamcrest-ci"; + asd = "hamcrest-ci"; + } + ); + systems = [ "hamcrest-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hamcrest-tests = ( + build-asdf-system { + pname = "hamcrest-tests"; + version = "20241012-git"; + asds = [ "hamcrest-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-hamcrest/2024-10-12/cl-hamcrest-20241012-git.tgz"; + sha256 = "05l5i5cmm1yqg8x9ayffaf3a9xf742k02wkxwpkc125ih5x0ggws"; + system = "hamcrest-tests"; + asd = "hamcrest-tests"; + } + ); + systems = [ "hamcrest-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "prove" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + harmony = ( + build-asdf-system { + pname = "harmony"; + version = "20241012-git"; + asds = [ "harmony" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/harmony/2024-10-12/harmony-20241012-git.tgz"; + sha256 = "0bzqwcbnpb529bdp35c4s3p4p6rsrjnsvll2bkkrwpxlwzdd3fim"; + system = "harmony"; + asd = "harmony"; + } + ); + systems = [ "harmony" ]; + lispLibs = [ + (getAttr "atomics" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-mixed" self) + (getAttr "cl-mixed-alsa" self) + (getAttr "cl-mixed-pulse" self) + (getAttr "stealth-mixin" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hash-set = ( + build-asdf-system { + pname = "hash-set"; + version = "20211230-git"; + asds = [ "hash-set" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hash-set/2021-12-30/hash-set-20211230-git.tgz"; + sha256 = "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na"; + system = "hash-set"; + asd = "hash-set"; + } + ); + systems = [ "hash-set" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hash-set-tests = ( + build-asdf-system { + pname = "hash-set-tests"; + version = "20211230-git"; + asds = [ "hash-set-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hash-set/2021-12-30/hash-set-20211230-git.tgz"; + sha256 = "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na"; + system = "hash-set-tests"; + asd = "hash-set-tests"; + } + ); + systems = [ "hash-set-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "hash-set" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hash-table-ext = ( + build-asdf-system { + pname = "hash-table-ext"; + version = "20211020-git"; + asds = [ "hash-table-ext" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hash-table-ext/2021-10-20/hash-table-ext-20211020-git.tgz"; + sha256 = "00pafnjy5w9yhbzzdvgg4wwb8yicjjshgzxnn0by3d9qknxc7539"; + system = "hash-table-ext"; + asd = "hash-table-ext"; + } + ); + systems = [ "hash-table-ext" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "jingoh_dot_documentizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hash-table-ext_dot_test = ( + build-asdf-system { + pname = "hash-table-ext.test"; + version = "20211020-git"; + asds = [ "hash-table-ext.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hash-table-ext/2021-10-20/hash-table-ext-20211020-git.tgz"; + sha256 = "00pafnjy5w9yhbzzdvgg4wwb8yicjjshgzxnn0by3d9qknxc7539"; + system = "hash-table-ext.test"; + asd = "hash-table-ext.test"; + } + ); + systems = [ "hash-table-ext.test" ]; + lispLibs = [ + (getAttr "hash-table-ext" self) + (getAttr "jingoh" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hashtrie = ( + build-asdf-system { + pname = "hashtrie"; + version = "20241012-git"; + asds = [ "hashtrie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hashtrie/2024-10-12/hashtrie-20241012-git.tgz"; + sha256 = "1qn7azbl2p3hjvrb87bb06d3njsi5ksmdcv4mk80iadq06w0rn0n"; + system = "hashtrie"; + asd = "hashtrie"; + } + ); + systems = [ "hashtrie" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hashtrie-tests = ( + build-asdf-system { + pname = "hashtrie-tests"; + version = "20241012-git"; + asds = [ "hashtrie-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hashtrie/2024-10-12/hashtrie-20241012-git.tgz"; + sha256 = "1qn7azbl2p3hjvrb87bb06d3njsi5ksmdcv4mk80iadq06w0rn0n"; + system = "hashtrie-tests"; + asd = "hashtrie-tests"; + } + ); + systems = [ "hashtrie-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "hashtrie" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hdf5-cffi = ( + build-asdf-system { + pname = "hdf5-cffi"; + version = "20180228-git"; + asds = [ "hdf5-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz"; + sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"; + system = "hdf5-cffi"; + asd = "hdf5-cffi"; + } + ); + systems = [ "hdf5-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hdf5-cffi_dot_examples = ( + build-asdf-system { + pname = "hdf5-cffi.examples"; + version = "20180228-git"; + asds = [ "hdf5-cffi.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz"; + sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"; + system = "hdf5-cffi.examples"; + asd = "hdf5-cffi.examples"; + } + ); + systems = [ "hdf5-cffi.examples" ]; + lispLibs = [ (getAttr "hdf5-cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hdf5-cffi_dot_test = ( + build-asdf-system { + pname = "hdf5-cffi.test"; + version = "20180228-git"; + asds = [ "hdf5-cffi.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz"; + sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"; + system = "hdf5-cffi.test"; + asd = "hdf5-cffi.test"; + } + ); + systems = [ "hdf5-cffi.test" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "fiveam" self) + (getAttr "hdf5-cffi" self) + (getAttr "hdf5-cffi_dot_examples" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + heap = ( + build-asdf-system { + pname = "heap"; + version = "20181018-git"; + asds = [ "heap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/heap/2018-10-18/heap-20181018-git.tgz"; + sha256 = "0jkgazjnjip7y41zd8rpy89ymh75yimk1q24qbddcisq5rzdl52k"; + system = "heap"; + asd = "heap"; + } + ); + systems = [ "heap" ]; + lispLibs = [ ]; + meta = { }; + } + ); + helambdap = ( + build-asdf-system { + pname = "helambdap"; + version = "20241012-git"; + asds = [ "helambdap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/helambdap/2024-10-12/helambdap-20241012-git.tgz"; + sha256 = "0z7hnphjxfr5z5h9gp5940pbbh163w3nnis2fan2wrrh0l88scn3"; + system = "helambdap"; + asd = "helambdap"; + } + ); + systems = [ "helambdap" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "clad" self) + (getAttr "split-sequence" self) + (getAttr "xhtmlambda" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hello-builder = ( + build-asdf-system { + pname = "hello-builder"; + version = "20241012-git"; + asds = [ "hello-builder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog/2024-10-12/clog-20241012-git.tgz"; + sha256 = "0hqpj9ji7kfqgcxdfnc7x202qzmb7zdkmjwcyhdllqs6b0ssw5lx"; + system = "hello-builder"; + asd = "hello-builder"; + } + ); + systems = [ "hello-builder" ]; + lispLibs = [ (getAttr "clog" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hello-clog = ( + build-asdf-system { + pname = "hello-clog"; + version = "20241012-git"; + asds = [ "hello-clog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clog/2024-10-12/clog-20241012-git.tgz"; + sha256 = "0hqpj9ji7kfqgcxdfnc7x202qzmb7zdkmjwcyhdllqs6b0ssw5lx"; + system = "hello-clog"; + asd = "hello-clog"; + } + ); + systems = [ "hello-clog" ]; + lispLibs = [ (getAttr "clog" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hemlock_dot_base = ( + build-asdf-system { + pname = "hemlock.base"; + version = "20231021-git"; + asds = [ "hemlock.base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hemlock/2023-10-21/hemlock-20231021-git.tgz"; + sha256 = "0c1lmznz1md7r9jbyg2n22h1svw8pvqjxyp7mvxgvqp34mmbf5ad"; + system = "hemlock.base"; + asd = "hemlock.base"; + } + ); + systems = [ "hemlock.base" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "command-line-arguments" self) + (getAttr "conium" self) + (getAttr "iolib" self) + (getAttr "iterate" self) + (getAttr "osicat" self) + (getAttr "prepl" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hemlock_dot_clx = ( + build-asdf-system { + pname = "hemlock.clx"; + version = "20231021-git"; + asds = [ "hemlock.clx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hemlock/2023-10-21/hemlock-20231021-git.tgz"; + sha256 = "0c1lmznz1md7r9jbyg2n22h1svw8pvqjxyp7mvxgvqp34mmbf5ad"; + system = "hemlock.clx"; + asd = "hemlock.clx"; + } + ); + systems = [ "hemlock.clx" ]; + lispLibs = [ + (getAttr "clx" self) + (getAttr "hemlock_dot_base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hemlock_dot_tty = ( + build-asdf-system { + pname = "hemlock.tty"; + version = "20231021-git"; + asds = [ "hemlock.tty" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hemlock/2023-10-21/hemlock-20231021-git.tgz"; + sha256 = "0c1lmznz1md7r9jbyg2n22h1svw8pvqjxyp7mvxgvqp34mmbf5ad"; + system = "hemlock.tty"; + asd = "hemlock.tty"; + } + ); + systems = [ "hemlock.tty" ]; + lispLibs = [ (getAttr "hemlock_dot_base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hermetic = ( + build-asdf-system { + pname = "hermetic"; + version = "20191007-git"; + asds = [ "hermetic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hermetic/2019-10-07/hermetic-20191007-git.tgz"; + sha256 = "1sndxkkj45sqr13xw9kvnhj25an96q4la70ni3w468yrcbf782pi"; + system = "hermetic"; + asd = "hermetic"; + } + ); + systems = [ "hermetic" ]; + lispLibs = [ + (getAttr "cl-pass" self) + (getAttr "clack" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + herodotus = ( + build-asdf-system { + pname = "herodotus"; + version = "20220331-git"; + asds = [ "herodotus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/herodotus/2022-03-31/herodotus-20220331-git.tgz"; + sha256 = "085r6b8fydac2a939r80vlavs1ij5ij5li5xnl5q8qvn9dl4rr5k"; + system = "herodotus"; + asd = "herodotus"; + } + ); + systems = [ "herodotus" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hh-aws = ( + build-asdf-system { + pname = "hh-aws"; + version = "20150804-git"; + asds = [ "hh-aws" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hh-aws/2015-08-04/hh-aws-20150804-git.tgz"; + sha256 = "02kfq7krn8788iphzcxnf0da88sy30gxpj1acgy9fl2n8qc03qdp"; + system = "hh-aws"; + asd = "hh-aws"; + } + ); + systems = [ "hh-aws" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "drakma" self) + (getAttr "ironclad" self) + (getAttr "puri" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hh-aws-tests = ( + build-asdf-system { + pname = "hh-aws-tests"; + version = "20150804-git"; + asds = [ "hh-aws-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hh-aws/2015-08-04/hh-aws-20150804-git.tgz"; + sha256 = "02kfq7krn8788iphzcxnf0da88sy30gxpj1acgy9fl2n8qc03qdp"; + system = "hh-aws-tests"; + asd = "hh-aws"; + } + ); + systems = [ "hh-aws-tests" ]; + lispLibs = [ + (getAttr "hh-aws" self) + (getAttr "lisp-unit" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hh-redblack = ( + build-asdf-system { + pname = "hh-redblack"; + version = "20151031-git"; + asds = [ "hh-redblack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hh-redblack/2015-10-31/hh-redblack-20151031-git.tgz"; + sha256 = "1klr78m4g60c82dnxksb7710jjj35rnfl4gl3dx3nrx0nb04bam6"; + system = "hh-redblack"; + asd = "hh-redblack"; + } + ); + systems = [ "hh-redblack" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hh-redblack-tests = ( + build-asdf-system { + pname = "hh-redblack-tests"; + version = "20151031-git"; + asds = [ "hh-redblack-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hh-redblack/2015-10-31/hh-redblack-20151031-git.tgz"; + sha256 = "1klr78m4g60c82dnxksb7710jjj35rnfl4gl3dx3nrx0nb04bam6"; + system = "hh-redblack-tests"; + asd = "hh-redblack"; + } + ); + systems = [ "hh-redblack-tests" ]; + lispLibs = [ + (getAttr "hh-redblack" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hh-web = ( + build-asdf-system { + pname = "hh-web"; + version = "20141106-git"; + asds = [ "hh-web" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hh-web/2014-11-06/hh-web-20141106-git.tgz"; + sha256 = "1i3jyifayczm9b7rvw3fafiisxvjq87xd9z0hdf957qc2albsq87"; + system = "hh-web"; + asd = "hh-web"; + } + ); + systems = [ "hh-web" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + (getAttr "log5" self) + (getAttr "parenscript" self) + (getAttr "trivial-backtrace" self) + (getAttr "uuid" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hiccl = ( + build-asdf-system { + pname = "hiccl"; + version = "20241012-git"; + asds = [ "hiccl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hiccl/2024-10-12/hiccl-20241012-git.tgz"; + sha256 = "0d92q8kb8xn6c9gsm822339f9qmpf9lpzy6s6abvxbhhyfk136yp"; + system = "hiccl"; + asd = "hiccl"; + } + ); + systems = [ "hiccl" ]; + lispLibs = [ + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hiccl-test = ( + build-asdf-system { + pname = "hiccl-test"; + version = "20241012-git"; + asds = [ "hiccl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hiccl/2024-10-12/hiccl-20241012-git.tgz"; + sha256 = "0d92q8kb8xn6c9gsm822339f9qmpf9lpzy6s6abvxbhhyfk136yp"; + system = "hiccl-test"; + asd = "hiccl-test"; + } + ); + systems = [ "hiccl-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam" self) + (getAttr "hiccl" self) + (getAttr "lquery" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hl7-client = ( + build-asdf-system { + pname = "hl7-client"; + version = "20150407-git"; + asds = [ "hl7-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hl7-client/2015-04-07/hl7-client-20150407-git.tgz"; + sha256 = "0hq5ip6f1hbdiydml5f1z7qsjaq1v3a3g4y5a87jaif027pwhd89"; + system = "hl7-client"; + asd = "hl7-client"; + } + ); + systems = [ "hl7-client" ]; + lispLibs = [ (getAttr "usocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hl7-parser = ( + build-asdf-system { + pname = "hl7-parser"; + version = "20160531-git"; + asds = [ "hl7-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hl7-parser/2016-05-31/hl7-parser-20160531-git.tgz"; + sha256 = "1lcyvk3vap73d23s6pk8p1ficqhl2gs84nan6d0yy0hx8c4gip0x"; + system = "hl7-parser"; + asd = "hl7-parser"; + } + ); + systems = [ "hl7-parser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hompack = ( + build-asdf-system { + pname = "hompack"; + version = "20231021-git"; + asds = [ "hompack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "hompack"; + asd = "hompack"; + } + ); + systems = [ "hompack" ]; + lispLibs = [ + (getAttr "blas-hompack" self) + (getAttr "f2cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + horner = ( + build-asdf-system { + pname = "horner"; + version = "20191130-git"; + asds = [ "horner" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/horner/2019-11-30/horner-20191130-git.tgz"; + sha256 = "05afvf7sxn1db7xxw7qmys1dwbgsx53iw4w556r277da6bpyacr9"; + system = "horner"; + asd = "horner"; + } + ); + systems = [ "horner" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "infix-math" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + horse-html = ( + build-asdf-system { + pname = "horse-html"; + version = "20191007-git"; + asds = [ "horse-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/horse-html/2019-10-07/horse-html-20191007-git.tgz"; + sha256 = "0g6cs38123ajf1hvv056df9d8gy5ajarg0f5gywzhmmf0rhr9br5"; + system = "horse-html"; + asd = "horse-html"; + } + ); + systems = [ "horse-html" ]; + lispLibs = [ (getAttr "parenscript" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + house = ( + build-asdf-system { + pname = "house"; + version = "20210124-git"; + asds = [ "house" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/house/2021-01-24/house-20210124-git.tgz"; + sha256 = "1x3dprg5j5rhbf8r1nr6py6g8wgfb9zysbqbjdcyh91szg7w80mb"; + system = "house"; + asd = "house"; + } + ); + systems = [ "house" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "lisp-unit" self) + (getAttr "optima" self) + (getAttr "prove-asdf" self) + (getAttr "quri" self) + (getAttr "session-token" self) + (getAttr "split-sequence" self) + (getAttr "trivial-features" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hsx = ( + build-asdf-system { + pname = "hsx"; + version = "20241012-git"; + asds = [ "hsx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hsx/2024-10-12/hsx-20241012-git.tgz"; + sha256 = "0aldv9cjzl9n4p1arlmvbjdy3zwhxcmx1ajp5lwdz5vq4mivw3zy"; + system = "hsx"; + asd = "hsx"; + } + ); + systems = [ "hsx" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hsx-test = ( + build-asdf-system { + pname = "hsx-test"; + version = "20241012-git"; + asds = [ "hsx-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hsx/2024-10-12/hsx-20241012-git.tgz"; + sha256 = "0aldv9cjzl9n4p1arlmvbjdy3zwhxcmx1ajp5lwdz5vq4mivw3zy"; + system = "hsx-test"; + asd = "hsx-test"; + } + ); + systems = [ "hsx-test" ]; + lispLibs = [ + (getAttr "mstrings" self) + (getAttr "named-readtables" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ht-simple-ajax = ( + build-asdf-system { + pname = "ht-simple-ajax"; + version = "20130421-git"; + asds = [ "ht-simple-ajax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ht-simple-ajax/2013-04-21/ht-simple-ajax-20130421-git.tgz"; + sha256 = "1l87c0arjzyrp3g6ay189fjkqmy81b7i35rfrcs9b269n7d4iis4"; + system = "ht-simple-ajax"; + asd = "ht-simple-ajax"; + } + ); + systems = [ "ht-simple-ajax" ]; + lispLibs = [ (getAttr "hunchentoot" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + html-encode = ( + build-asdf-system { + pname = "html-encode"; + version = "1.2"; + asds = [ "html-encode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-1.2.tgz"; + sha256 = "1ydgb5xnbj1qbvzn7x32dm38gpqg5h0pjxc31f8df3j8sar843db"; + system = "html-encode"; + asd = "html-encode"; + } + ); + systems = [ "html-encode" ]; + lispLibs = [ ]; + meta = { }; + } + ); + html-entities = ( + build-asdf-system { + pname = "html-entities"; + version = "20171019-git"; + asds = [ "html-entities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/html-entities/2017-10-19/html-entities-20171019-git.tgz"; + sha256 = "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"; + system = "html-entities"; + asd = "html-entities"; + } + ); + systems = [ "html-entities" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + html-entities-tests = ( + build-asdf-system { + pname = "html-entities-tests"; + version = "20171019-git"; + asds = [ "html-entities-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/html-entities/2017-10-19/html-entities-20171019-git.tgz"; + sha256 = "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"; + system = "html-entities-tests"; + asd = "html-entities"; + } + ); + systems = [ "html-entities-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "html-entities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + html-match = ( + build-asdf-system { + pname = "html-match"; + version = "20140713-git"; + asds = [ "html-match" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; + sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; + system = "html-match"; + asd = "html-match"; + } + ); + systems = [ "html-match" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + html-match_dot_test = ( + build-asdf-system { + pname = "html-match.test"; + version = "20140713-git"; + asds = [ "html-match.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; + sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; + system = "html-match.test"; + asd = "html-match"; + } + ); + systems = [ "html-match.test" ]; + lispLibs = [ + (getAttr "html-match" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + html-template = ( + build-asdf-system { + pname = "html-template"; + version = "20171227-git"; + asds = [ "html-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/html-template/2017-12-27/html-template-20171227-git.tgz"; + sha256 = "0g700zlyjjba17nbmw1adspw7r9s0321xhayfiqh0drg20zixaf7"; + system = "html-template"; + asd = "html-template"; + } + ); + systems = [ "html-template" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + htmlgen = ( + build-asdf-system { + pname = "htmlgen"; + version = "20190813-git"; + asds = [ "htmlgen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; + sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; + system = "htmlgen"; + asd = "htmlgen"; + } + ); + systems = [ "htmlgen" ]; + lispLibs = [ (getAttr "acl-compat" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + http-body = ( + build-asdf-system { + pname = "http-body"; + version = "20190813-git"; + asds = [ "http-body" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/http-body/2019-08-13/http-body-20190813-git.tgz"; + sha256 = "0kcg43l5674drzid9cj938q0ki5z25glx296rl239dm7yfmxlzz2"; + system = "http-body"; + asd = "http-body"; + } + ); + systems = [ "http-body" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-utilities" self) + (getAttr "fast-http" self) + (getAttr "flexi-streams" self) + (getAttr "jonathan" self) + (getAttr "quri" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + http-body-test = ( + build-asdf-system { + pname = "http-body-test"; + version = "20190813-git"; + asds = [ "http-body-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/http-body/2019-08-13/http-body-20190813-git.tgz"; + sha256 = "0kcg43l5674drzid9cj938q0ki5z25glx296rl239dm7yfmxlzz2"; + system = "http-body-test"; + asd = "http-body-test"; + } + ); + systems = [ "http-body-test" ]; + lispLibs = [ + (getAttr "assoc-utils" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "http-body" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + http-get-cache = ( + build-asdf-system { + pname = "http-get-cache"; + version = "20180228-git"; + asds = [ "http-get-cache" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/http-get-cache/2018-02-28/http-get-cache-20180228-git.tgz"; + sha256 = "03bw4zf4hlxyrqm5mq53z0qksb9jbrcc5nv90y7qry83kxic2cgv"; + system = "http-get-cache"; + asd = "http-get-cache"; + } + ); + systems = [ "http-get-cache" ]; + lispLibs = [ (getAttr "drakma" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + http-parse = ( + build-asdf-system { + pname = "http-parse"; + version = "20150608-git"; + asds = [ "http-parse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/http-parse/2015-06-08/http-parse-20150608-git.tgz"; + sha256 = "1plycsx2kch2l143s56hvi5dqx51n5bvp7vazmphqj5skmnw4576"; + system = "http-parse"; + asd = "http-parse"; + } + ); + systems = [ "http-parse" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + http-parse-test = ( + build-asdf-system { + pname = "http-parse-test"; + version = "20150608-git"; + asds = [ "http-parse-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/http-parse/2015-06-08/http-parse-20150608-git.tgz"; + sha256 = "1plycsx2kch2l143s56hvi5dqx51n5bvp7vazmphqj5skmnw4576"; + system = "http-parse-test"; + asd = "http-parse-test"; + } + ); + systems = [ "http-parse-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "eos" self) + (getAttr "http-parse" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + http2 = ( + build-asdf-system { + pname = "http2"; + version = "20241012-git"; + asds = [ "http2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/http2/2024-10-12/http2-20241012-git.tgz"; + sha256 = "1zb21np8rksz7b0vkfr3hg8y1a4m20vgkks3v39cc1yclnrfavii"; + system = "http2"; + asd = "http2"; + } + ); + systems = [ "http2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "flexi-streams" self) + (getAttr "gzip-stream" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_asdf = ( + build-asdf-system { + pname = "hu.dwim.asdf"; + version = "stable-git"; + asds = [ "hu.dwim.asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.asdf/2021-12-30/hu.dwim.asdf-stable-git.tgz"; + sha256 = "0zfwdsvcywvwzkn0a80ghi5kn1hs4iwinvi17ld58gyskf15frx9"; + system = "hu.dwim.asdf"; + asd = "hu.dwim.asdf"; + } + ); + systems = [ "hu.dwim.asdf" ]; + lispLibs = [ ]; + meta = { }; + } + ); + hu_dot_dwim_dot_asdf_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.asdf.documentation"; + version = "stable-git"; + asds = [ "hu.dwim.asdf.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.asdf/2021-12-30/hu.dwim.asdf-stable-git.tgz"; + sha256 = "0zfwdsvcywvwzkn0a80ghi5kn1hs4iwinvi17ld58gyskf15frx9"; + system = "hu.dwim.asdf.documentation"; + asd = "hu.dwim.asdf.documentation"; + } + ); + systems = [ "hu.dwim.asdf.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_bluez = ( + build-asdf-system { + pname = "hu.dwim.bluez"; + version = "stable-git"; + asds = [ "hu.dwim.bluez" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.bluez/2021-02-28/hu.dwim.bluez-stable-git.tgz"; + sha256 = "0gjh3bgmdz4aabdavbd5m27r273hna47vs388r4m7l2xnd3b3j55"; + system = "hu.dwim.bluez"; + asd = "hu.dwim.bluez"; + } + ); + systems = [ "hu.dwim.bluez" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_common = ( + build-asdf-system { + pname = "hu.dwim.common"; + version = "20150709-darcs"; + asds = [ "hu.dwim.common" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.common/2015-07-09/hu.dwim.common-20150709-darcs.tgz"; + sha256 = "0mkhq6bqysdy09gswgxm1s50xrq7gimdyqiq84xk8vpyp2hv6hqq"; + system = "hu.dwim.common"; + asd = "hu.dwim.common"; + } + ); + systems = [ "hu.dwim.common" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "closer-mop" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common-lisp" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + ]; + meta = { }; + } + ); + hu_dot_dwim_dot_common-lisp = ( + build-asdf-system { + pname = "hu.dwim.common-lisp"; + version = "stable-git"; + asds = [ "hu.dwim.common-lisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/2021-02-28/hu.dwim.common-lisp-stable-git.tgz"; + sha256 = "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"; + system = "hu.dwim.common-lisp"; + asd = "hu.dwim.common-lisp"; + } + ); + systems = [ "hu.dwim.common-lisp" ]; + lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) ]; + meta = { }; + } + ); + hu_dot_dwim_dot_common-lisp_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.common-lisp.documentation"; + version = "stable-git"; + asds = [ "hu.dwim.common-lisp.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/2021-02-28/hu.dwim.common-lisp-stable-git.tgz"; + sha256 = "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"; + system = "hu.dwim.common-lisp.documentation"; + asd = "hu.dwim.common-lisp.documentation"; + } + ); + systems = [ "hu.dwim.common-lisp.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common-lisp" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_common_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.common.documentation"; + version = "20150709-darcs"; + asds = [ "hu.dwim.common.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.common/2015-07-09/hu.dwim.common-20150709-darcs.tgz"; + sha256 = "0mkhq6bqysdy09gswgxm1s50xrq7gimdyqiq84xk8vpyp2hv6hqq"; + system = "hu.dwim.common.documentation"; + asd = "hu.dwim.common.documentation"; + } + ); + systems = [ "hu.dwim.common.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_computed-class = ( + build-asdf-system { + pname = "hu.dwim.computed-class"; + version = "20200427-darcs"; + asds = [ "hu.dwim.computed-class" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; + sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; + system = "hu.dwim.computed-class"; + asd = "hu.dwim.computed-class"; + } + ); + systems = [ "hu.dwim.computed-class" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger = ( + build-asdf-system { + pname = "hu.dwim.computed-class+hu.dwim.logger"; + version = "20200427-darcs"; + asds = [ "hu.dwim.computed-class+hu.dwim.logger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; + sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; + system = "hu.dwim.computed-class+hu.dwim.logger"; + asd = "hu.dwim.computed-class+hu.dwim.logger"; + } + ); + systems = [ "hu.dwim.computed-class+hu.dwim.logger" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_computed-class" self) + (getAttr "hu_dot_dwim_dot_logger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_computed-class_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.computed-class+swank"; + version = "20200427-darcs"; + asds = [ "hu.dwim.computed-class+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; + sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; + system = "hu.dwim.computed-class+swank"; + asd = "hu.dwim.computed-class+swank"; + } + ); + systems = [ "hu.dwim.computed-class+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_computed-class" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_computed-class_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.computed-class.documentation"; + version = "20200427-darcs"; + asds = [ "hu.dwim.computed-class.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; + sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; + system = "hu.dwim.computed-class.documentation"; + asd = "hu.dwim.computed-class.documentation"; + } + ); + systems = [ "hu.dwim.computed-class.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_computed-class_dot_test" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_computed-class_dot_test = ( + build-asdf-system { + pname = "hu.dwim.computed-class.test"; + version = "20200427-darcs"; + asds = [ "hu.dwim.computed-class.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz"; + sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1"; + system = "hu.dwim.computed-class.test"; + asd = "hu.dwim.computed-class.test"; + } + ); + systems = [ "hu.dwim.computed-class.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_debug = ( + build-asdf-system { + pname = "hu.dwim.debug"; + version = "20190107-darcs"; + asds = [ "hu.dwim.debug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz"; + sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b"; + system = "hu.dwim.debug"; + asd = "hu.dwim.debug"; + } + ); + systems = [ "hu.dwim.debug" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_debug_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.debug.documentation"; + version = "20190107-darcs"; + asds = [ "hu.dwim.debug.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz"; + sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b"; + system = "hu.dwim.debug.documentation"; + asd = "hu.dwim.debug.documentation"; + } + ); + systems = [ "hu.dwim.debug.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_debug_dot_test" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_debug_dot_test = ( + build-asdf-system { + pname = "hu.dwim.debug.test"; + version = "20190107-darcs"; + asds = [ "hu.dwim.debug.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz"; + sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b"; + system = "hu.dwim.debug.test"; + asd = "hu.dwim.debug.test"; + } + ); + systems = [ "hu.dwim.debug.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_debug" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_def = ( + build-asdf-system { + pname = "hu.dwim.def"; + version = "stable-git"; + asds = [ "hu.dwim.def" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; + sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; + system = "hu.dwim.def"; + asd = "hu.dwim.def"; + } + ); + systems = [ "hu.dwim.def" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + ]; + meta = { }; + } + ); + hu_dot_dwim_dot_def_plus_cl-l10n = ( + build-asdf-system { + pname = "hu.dwim.def+cl-l10n"; + version = "stable-git"; + asds = [ "hu.dwim.def+cl-l10n" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; + sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; + system = "hu.dwim.def+cl-l10n"; + asd = "hu.dwim.def+cl-l10n"; + } + ); + systems = [ "hu.dwim.def+cl-l10n" ]; + lispLibs = [ + (getAttr "cl-l10n" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_def_plus_contextl = ( + build-asdf-system { + pname = "hu.dwim.def+contextl"; + version = "stable-git"; + asds = [ "hu.dwim.def+contextl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; + sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; + system = "hu.dwim.def+contextl"; + asd = "hu.dwim.def+contextl"; + } + ); + systems = [ "hu.dwim.def+contextl" ]; + lispLibs = [ + (getAttr "contextl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common = ( + build-asdf-system { + pname = "hu.dwim.def+hu.dwim.common"; + version = "stable-git"; + asds = [ "hu.dwim.def+hu.dwim.common" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; + sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; + system = "hu.dwim.def+hu.dwim.common"; + asd = "hu.dwim.def+hu.dwim.common"; + } + ); + systems = [ "hu.dwim.def+hu.dwim.common" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_def" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico = ( + build-asdf-system { + pname = "hu.dwim.def+hu.dwim.delico"; + version = "stable-git"; + asds = [ "hu.dwim.def+hu.dwim.delico" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; + sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; + system = "hu.dwim.def+hu.dwim.delico"; + asd = "hu.dwim.def+hu.dwim.delico"; + } + ); + systems = [ "hu.dwim.def+hu.dwim.delico" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_delico" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_def_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.def+swank"; + version = "stable-git"; + asds = [ "hu.dwim.def+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz"; + sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab"; + system = "hu.dwim.def+swank"; + asd = "hu.dwim.def+swank"; + } + ); + systems = [ "hu.dwim.def+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "swank" self) + ]; + meta = { }; + } + ); + hu_dot_dwim_dot_defclass-star = ( + build-asdf-system { + pname = "hu.dwim.defclass-star"; + version = "stable-git"; + asds = [ "hu.dwim.defclass-star" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; + sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; + system = "hu.dwim.defclass-star"; + asd = "hu.dwim.defclass-star"; + } + ); + systems = [ "hu.dwim.defclass-star" ]; + lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" self) ]; + meta = { }; + } + ); + hu_dot_dwim_dot_defclass-star_plus_contextl = ( + build-asdf-system { + pname = "hu.dwim.defclass-star+contextl"; + version = "stable-git"; + asds = [ "hu.dwim.defclass-star+contextl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; + sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; + system = "hu.dwim.defclass-star+contextl"; + asd = "hu.dwim.defclass-star+contextl"; + } + ); + systems = [ "hu.dwim.defclass-star+contextl" ]; + lispLibs = [ + (getAttr "contextl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def = ( + build-asdf-system { + pname = "hu.dwim.defclass-star+hu.dwim.def"; + version = "stable-git"; + asds = [ "hu.dwim.defclass-star+hu.dwim.def" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; + sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; + system = "hu.dwim.defclass-star+hu.dwim.def"; + asd = "hu.dwim.defclass-star+hu.dwim.def"; + } + ); + systems = [ "hu.dwim.defclass-star+hu.dwim.def" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def_plus_contextl = ( + build-asdf-system { + pname = "hu.dwim.defclass-star+hu.dwim.def+contextl"; + version = "stable-git"; + asds = [ "hu.dwim.defclass-star+hu.dwim.def+contextl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; + sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; + system = "hu.dwim.defclass-star+hu.dwim.def+contextl"; + asd = "hu.dwim.defclass-star+hu.dwim.def+contextl"; + } + ); + systems = [ "hu.dwim.defclass-star+hu.dwim.def+contextl" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_contextl" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_defclass-star_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.defclass-star+swank"; + version = "stable-git"; + asds = [ "hu.dwim.defclass-star+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz"; + sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2"; + system = "hu.dwim.defclass-star+swank"; + asd = "hu.dwim.defclass-star+swank"; + } + ); + systems = [ "hu.dwim.defclass-star+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_delico = ( + build-asdf-system { + pname = "hu.dwim.delico"; + version = "20200925-darcs"; + asds = [ "hu.dwim.delico" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.delico/2020-09-25/hu.dwim.delico-20200925-darcs.tgz"; + sha256 = "12n5cddg7vd3y4dqjcf4wayxwj905ja8jh90ixvrhgnvs559lbnl"; + system = "hu.dwim.delico"; + asd = "hu.dwim.delico"; + } + ); + systems = [ "hu.dwim.delico" ]; + lispLibs = [ + (getAttr "contextl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_walker" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_graphviz = ( + build-asdf-system { + pname = "hu.dwim.graphviz"; + version = "stable-git"; + asds = [ "hu.dwim.graphviz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz"; + sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy"; + system = "hu.dwim.graphviz"; + asd = "hu.dwim.graphviz"; + } + ); + systems = [ "hu.dwim.graphviz" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_graphviz_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.graphviz.documentation"; + version = "stable-git"; + asds = [ "hu.dwim.graphviz.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz"; + sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy"; + system = "hu.dwim.graphviz.documentation"; + asd = "hu.dwim.graphviz.documentation"; + } + ); + systems = [ "hu.dwim.graphviz.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_graphviz_dot_test" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_graphviz_dot_test = ( + build-asdf-system { + pname = "hu.dwim.graphviz.test"; + version = "stable-git"; + asds = [ "hu.dwim.graphviz.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz"; + sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy"; + system = "hu.dwim.graphviz.test"; + asd = "hu.dwim.graphviz.test"; + } + ); + systems = [ "hu.dwim.graphviz.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_graphviz" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_logger = ( + build-asdf-system { + pname = "hu.dwim.logger"; + version = "stable-git"; + asds = [ "hu.dwim.logger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; + sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; + system = "hu.dwim.logger"; + asd = "hu.dwim.logger"; + } + ); + systems = [ "hu.dwim.logger" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "local-time" self) + ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_logger_plus_iolib = ( + build-asdf-system { + pname = "hu.dwim.logger+iolib"; + version = "stable-git"; + asds = [ "hu.dwim.logger+iolib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; + sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; + system = "hu.dwim.logger+iolib"; + asd = "hu.dwim.logger+iolib"; + } + ); + systems = [ "hu.dwim.logger+iolib" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_util_plus_iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_logger_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.logger+swank"; + version = "stable-git"; + asds = [ "hu.dwim.logger+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; + sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; + system = "hu.dwim.logger+swank"; + asd = "hu.dwim.logger+swank"; + } + ); + systems = [ "hu.dwim.logger+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_logger_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.logger.documentation"; + version = "stable-git"; + asds = [ "hu.dwim.logger.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; + sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; + system = "hu.dwim.logger.documentation"; + asd = "hu.dwim.logger.documentation"; + } + ); + systems = [ "hu.dwim.logger.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_logger_dot_test" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_logger_dot_test = ( + build-asdf-system { + pname = "hu.dwim.logger.test"; + version = "stable-git"; + asds = [ "hu.dwim.logger.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz"; + sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74"; + system = "hu.dwim.logger.test"; + asd = "hu.dwim.logger.test"; + } + ); + systems = [ "hu.dwim.logger.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_partial-eval = ( + build-asdf-system { + pname = "hu.dwim.partial-eval"; + version = "stable-git"; + asds = [ "hu.dwim.partial-eval" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.partial-eval/2024-10-12/hu.dwim.partial-eval-stable-git.tgz"; + sha256 = "1zsh1rk9rcxkrqavhx2slpczii23y51fn66n68vsw5d97g9k6gzz"; + system = "hu.dwim.partial-eval"; + asd = "hu.dwim.partial-eval"; + } + ); + systems = [ "hu.dwim.partial-eval" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def_plus_contextl" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec = ( + build-asdf-system { + pname = "hu.dwim.perec"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec"; + asd = "hu.dwim.perec"; + } + ); + systems = [ "hu.dwim.perec" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-containers" self) + (getAttr "cl-ppcre" self) + (getAttr "contextl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_computed-class" self) + (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_rdbms" self) + (getAttr "hu_dot_dwim_dot_serializer" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + (getAttr "metacopy-with-contextl" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_plus_hu_dot_dwim_dot_quasi-quote_dot_xml = ( + build-asdf-system { + pname = "hu.dwim.perec+hu.dwim.quasi-quote.xml"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec+hu.dwim.quasi-quote.xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec+hu.dwim.quasi-quote.xml"; + asd = "hu.dwim.perec+hu.dwim.quasi-quote.xml"; + } + ); + systems = [ "hu.dwim.perec+hu.dwim.quasi-quote.xml" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_plus_iolib = ( + build-asdf-system { + pname = "hu.dwim.perec+iolib"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec+iolib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec+iolib"; + asd = "hu.dwim.perec+iolib"; + } + ); + systems = [ "hu.dwim.perec+iolib" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.perec+swank"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec+swank"; + asd = "hu.dwim.perec+swank"; + } + ); + systems = [ "hu.dwim.perec+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_all = ( + build-asdf-system { + pname = "hu.dwim.perec.all"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.all" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.all"; + asd = "hu.dwim.perec.all"; + } + ); + systems = [ "hu.dwim.perec.all" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_dot_oracle" self) + (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" self) + (getAttr "hu_dot_dwim_dot_perec_dot_sqlite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_all_dot_test = ( + build-asdf-system { + pname = "hu.dwim.perec.all.test"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.all.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.all.test"; + asd = "hu.dwim.perec.all.test"; + } + ); + systems = [ "hu.dwim.perec.all.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_dot_oracle_dot_test" self) + (getAttr "hu_dot_dwim_dot_perec_dot_postgresql_dot_test" self) + (getAttr "hu_dot_dwim_dot_perec_dot_sqlite_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.perec.documentation"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.documentation"; + asd = "hu.dwim.perec.documentation"; + } + ); + systems = [ "hu.dwim.perec.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_dot_all_dot_test" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_oracle = ( + build-asdf-system { + pname = "hu.dwim.perec.oracle"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.oracle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.oracle"; + asd = "hu.dwim.perec.oracle"; + } + ); + systems = [ "hu.dwim.perec.oracle" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_oracle_dot_test = ( + build-asdf-system { + pname = "hu.dwim.perec.oracle.test"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.oracle.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.oracle.test"; + asd = "hu.dwim.perec.oracle.test"; + } + ); + systems = [ "hu.dwim.perec.oracle.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_dot_oracle" self) + (getAttr "hu_dot_dwim_dot_perec_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_postgresql = ( + build-asdf-system { + pname = "hu.dwim.perec.postgresql"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.postgresql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.postgresql"; + asd = "hu.dwim.perec.postgresql"; + } + ); + systems = [ "hu.dwim.perec.postgresql" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_postgresql_dot_test = ( + build-asdf-system { + pname = "hu.dwim.perec.postgresql.test"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.postgresql.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.postgresql.test"; + asd = "hu.dwim.perec.postgresql.test"; + } + ); + systems = [ "hu.dwim.perec.postgresql.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" self) + (getAttr "hu_dot_dwim_dot_perec_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_sqlite = ( + build-asdf-system { + pname = "hu.dwim.perec.sqlite"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.sqlite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.sqlite"; + asd = "hu.dwim.perec.sqlite"; + } + ); + systems = [ "hu.dwim.perec.sqlite" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_sqlite_dot_test = ( + build-asdf-system { + pname = "hu.dwim.perec.sqlite.test"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.sqlite.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.sqlite.test"; + asd = "hu.dwim.perec.sqlite.test"; + } + ); + systems = [ "hu.dwim.perec.sqlite.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_dot_sqlite" self) + (getAttr "hu_dot_dwim_dot_perec_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_perec_dot_test = ( + build-asdf-system { + pname = "hu.dwim.perec.test"; + version = "20211209-darcs"; + asds = [ "hu.dwim.perec.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz"; + sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz"; + system = "hu.dwim.perec.test"; + asd = "hu.dwim.perec.test"; + } + ); + systems = [ "hu.dwim.perec.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec_plus_hu_dot_dwim_dot_quasi-quote_dot_xml" self) + (getAttr "hu_dot_dwim_dot_perec_plus_iolib" self) + (getAttr "hu_dot_dwim_dot_perec_plus_swank" self) + (getAttr "hu_dot_dwim_dot_util_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_presentation = ( + build-asdf-system { + pname = "hu.dwim.presentation"; + version = "20211230-darcs"; + asds = [ "hu.dwim.presentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; + sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; + system = "hu.dwim.presentation"; + asd = "hu.dwim.presentation"; + } + ); + systems = [ "hu.dwim.presentation" ]; + lispLibs = [ + (getAttr "cl-graph_plus_hu_dot_dwim_dot_graphviz" self) + (getAttr "contextl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) + (getAttr "iolib" self) + (getAttr "moptilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_presentation_plus_cl-graph_plus_cl-typesetting = ( + build-asdf-system { + pname = "hu.dwim.presentation+cl-graph+cl-typesetting"; + version = "20211230-darcs"; + asds = [ "hu.dwim.presentation+cl-graph+cl-typesetting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; + sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; + system = "hu.dwim.presentation+cl-graph+cl-typesetting"; + asd = "hu.dwim.presentation+cl-graph+cl-typesetting"; + } + ); + systems = [ "hu.dwim.presentation+cl-graph+cl-typesetting" ]; + lispLibs = [ + (getAttr "cl-graph" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation_plus_cl-typesetting" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_presentation_plus_cl-typesetting = ( + build-asdf-system { + pname = "hu.dwim.presentation+cl-typesetting"; + version = "20211230-darcs"; + asds = [ "hu.dwim.presentation+cl-typesetting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; + sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; + system = "hu.dwim.presentation+cl-typesetting"; + asd = "hu.dwim.presentation+cl-typesetting"; + } + ); + systems = [ "hu.dwim.presentation+cl-typesetting" ]; + lispLibs = [ + (getAttr "cl-typesetting" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_presentation_plus_hu_dot_dwim_dot_stefil = ( + build-asdf-system { + pname = "hu.dwim.presentation+hu.dwim.stefil"; + version = "20211230-darcs"; + asds = [ "hu.dwim.presentation+hu.dwim.stefil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; + sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; + system = "hu.dwim.presentation+hu.dwim.stefil"; + asd = "hu.dwim.presentation+hu.dwim.stefil"; + } + ); + systems = [ "hu.dwim.presentation+hu.dwim.stefil" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_presentation_plus_hu_dot_dwim_dot_web-server = ( + build-asdf-system { + pname = "hu.dwim.presentation+hu.dwim.web-server"; + version = "20211230-darcs"; + asds = [ "hu.dwim.presentation+hu.dwim.web-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz"; + sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp"; + system = "hu.dwim.presentation+hu.dwim.web-server"; + asd = "hu.dwim.presentation+hu.dwim.web-server"; + } + ); + systems = [ "hu.dwim.presentation+hu.dwim.web-server" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_web-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote"; + asd = "hu.dwim.quasi-quote"; + } + ); + systems = [ "hu.dwim.quasi-quote" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "babel-streams" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote_dot_css = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote.css"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote.css" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote.css"; + asd = "hu.dwim.quasi-quote.css"; + } + ); + systems = [ "hu.dwim.quasi-quote.css" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_quasi-quote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote_dot_js = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote.js"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote.js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote.js"; + asd = "hu.dwim.quasi-quote.js"; + } + ); + systems = [ "hu.dwim.quasi-quote.js" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_quasi-quote" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote_dot_pdf = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote.pdf"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote.pdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote.pdf"; + asd = "hu.dwim.quasi-quote.pdf"; + } + ); + systems = [ "hu.dwim.quasi-quote.pdf" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_quasi-quote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote_dot_xml = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote.xml"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote.xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote.xml"; + asd = "hu.dwim.quasi-quote.xml"; + } + ); + systems = [ "hu.dwim.quasi-quote.xml" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_quasi-quote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote_dot_xml_plus_cxml = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote.xml+cxml"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote.xml+cxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote.xml+cxml"; + asd = "hu.dwim.quasi-quote.xml+cxml"; + } + ); + systems = [ "hu.dwim.quasi-quote.xml+cxml" ]; + lispLibs = [ + (getAttr "cxml" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js = ( + build-asdf-system { + pname = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js"; + version = "stable-git"; + asds = [ "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2022-07-07/hu.dwim.quasi-quote-stable-git.tgz"; + sha256 = "1bawkv7ppn6yay1dd6vvmf9bz2400jvks1w8bqmslv8facfhbprm"; + system = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js"; + asd = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js"; + } + ); + systems = [ "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_quasi-quote_dot_js" self) + (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms = ( + build-asdf-system { + pname = "hu.dwim.rdbms"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms"; + asd = "hu.dwim.rdbms"; + } + ); + systems = [ "hu.dwim.rdbms" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + (getAttr "ironclad" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_all = ( + build-asdf-system { + pname = "hu.dwim.rdbms.all"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.all" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.all"; + asd = "hu.dwim.rdbms.all"; + } + ); + systems = [ "hu.dwim.rdbms.all" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_all_dot_test = ( + build-asdf-system { + pname = "hu.dwim.rdbms.all.test"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.all.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.all.test"; + asd = "hu.dwim.rdbms.all.test"; + } + ); + systems = [ "hu.dwim.rdbms.all.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle_dot_test" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql_dot_test" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.rdbms.documentation"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.documentation"; + asd = "hu.dwim.rdbms.documentation"; + } + ); + systems = [ "hu.dwim.rdbms.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_all_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_oracle = ( + build-asdf-system { + pname = "hu.dwim.rdbms.oracle"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.oracle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.oracle"; + asd = "hu.dwim.rdbms.oracle"; + } + ); + systems = [ "hu.dwim.rdbms.oracle" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_oracle_dot_test = ( + build-asdf-system { + pname = "hu.dwim.rdbms.oracle.test"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.oracle.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.oracle.test"; + asd = "hu.dwim.rdbms.oracle.test"; + } + ); + systems = [ "hu.dwim.rdbms.oracle.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_postgresql = ( + build-asdf-system { + pname = "hu.dwim.rdbms.postgresql"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.postgresql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.postgresql"; + asd = "hu.dwim.rdbms.postgresql"; + } + ); + systems = [ "hu.dwim.rdbms.postgresql" ]; + lispLibs = [ + (getAttr "cl-postgres_plus_local-time" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_postgresql_dot_test = ( + build-asdf-system { + pname = "hu.dwim.rdbms.postgresql.test"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.postgresql.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.postgresql.test"; + asd = "hu.dwim.rdbms.postgresql.test"; + } + ); + systems = [ "hu.dwim.rdbms.postgresql.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_sqlite = ( + build-asdf-system { + pname = "hu.dwim.rdbms.sqlite"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.sqlite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.sqlite"; + asd = "hu.dwim.rdbms.sqlite"; + } + ); + systems = [ "hu.dwim.rdbms.sqlite" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_sqlite_dot_test = ( + build-asdf-system { + pname = "hu.dwim.rdbms.sqlite.test"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.sqlite.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.sqlite.test"; + asd = "hu.dwim.rdbms.sqlite.test"; + } + ); + systems = [ "hu.dwim.rdbms.sqlite.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" self) + (getAttr "hu_dot_dwim_dot_rdbms_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_rdbms_dot_test = ( + build-asdf-system { + pname = "hu.dwim.rdbms.test"; + version = "20201016-darcs"; + asds = [ "hu.dwim.rdbms.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz"; + sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av"; + system = "hu.dwim.rdbms.test"; + asd = "hu.dwim.rdbms.test"; + } + ); + systems = [ "hu.dwim.rdbms.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_rdbms" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_reiterate = ( + build-asdf-system { + pname = "hu.dwim.reiterate"; + version = "stable-git"; + asds = [ "hu.dwim.reiterate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.reiterate/2021-12-30/hu.dwim.reiterate-stable-git.tgz"; + sha256 = "0h6cgg385ivgc6942xal09c7n9vmy6gn4y3zz4zafc1qyl5jwyv9"; + system = "hu.dwim.reiterate"; + asd = "hu.dwim.reiterate"; + } + ); + systems = [ "hu.dwim.reiterate" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common-lisp" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_reiterate_plus_hu_dot_dwim_dot_logger = ( + build-asdf-system { + pname = "hu.dwim.reiterate+hu.dwim.logger"; + version = "stable-git"; + asds = [ "hu.dwim.reiterate+hu.dwim.logger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.reiterate/2021-12-30/hu.dwim.reiterate-stable-git.tgz"; + sha256 = "0h6cgg385ivgc6942xal09c7n9vmy6gn4y3zz4zafc1qyl5jwyv9"; + system = "hu.dwim.reiterate+hu.dwim.logger"; + asd = "hu.dwim.reiterate+hu.dwim.logger"; + } + ); + systems = [ "hu.dwim.reiterate+hu.dwim.logger" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_reiterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_sdl = ( + build-asdf-system { + pname = "hu.dwim.sdl"; + version = "stable-git"; + asds = [ "hu.dwim.sdl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2022-07-07/hu.dwim.sdl-stable-git.tgz"; + sha256 = "175kha5f7kvis2nlxbzrybswbr62lgmjh691ajwl5i9y7andqhq2"; + system = "hu.dwim.sdl"; + asd = "hu.dwim.sdl"; + } + ); + systems = [ "hu.dwim.sdl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_serializer = ( + build-asdf-system { + pname = "hu.dwim.serializer"; + version = "20161204-darcs"; + asds = [ "hu.dwim.serializer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz"; + sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2"; + system = "hu.dwim.serializer"; + asd = "hu.dwim.serializer"; + } + ); + systems = [ "hu.dwim.serializer" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_serializer_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.serializer.documentation"; + version = "20161204-darcs"; + asds = [ "hu.dwim.serializer.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz"; + sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2"; + system = "hu.dwim.serializer.documentation"; + asd = "hu.dwim.serializer.documentation"; + } + ); + systems = [ "hu.dwim.serializer.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_serializer_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_serializer_dot_test = ( + build-asdf-system { + pname = "hu.dwim.serializer.test"; + version = "20161204-darcs"; + asds = [ "hu.dwim.serializer.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz"; + sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2"; + system = "hu.dwim.serializer.test"; + asd = "hu.dwim.serializer.test"; + } + ); + systems = [ "hu.dwim.serializer.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_serializer" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_stefil = ( + build-asdf-system { + pname = "hu.dwim.stefil"; + version = "stable-git"; + asds = [ "hu.dwim.stefil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; + sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; + system = "hu.dwim.stefil"; + asd = "hu.dwim.stefil"; + } + ); + systems = [ "hu.dwim.stefil" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def = ( + build-asdf-system { + pname = "hu.dwim.stefil+hu.dwim.def"; + version = "stable-git"; + asds = [ "hu.dwim.stefil+hu.dwim.def" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; + sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; + system = "hu.dwim.stefil+hu.dwim.def"; + asd = "hu.dwim.stefil+hu.dwim.def"; + } + ); + systems = [ "hu.dwim.stefil+hu.dwim.def" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + ]; + meta = { }; + } + ); + hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.stefil+hu.dwim.def+swank"; + version = "stable-git"; + asds = [ "hu.dwim.stefil+hu.dwim.def+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; + sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; + system = "hu.dwim.stefil+hu.dwim.def+swank"; + asd = "hu.dwim.stefil+hu.dwim.def+swank"; + } + ); + systems = [ "hu.dwim.stefil+hu.dwim.def+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_swank" self) + ]; + meta = { }; + } + ); + hu_dot_dwim_dot_stefil_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.stefil+swank"; + version = "stable-git"; + asds = [ "hu.dwim.stefil+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz"; + sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx"; + system = "hu.dwim.stefil+swank"; + asd = "hu.dwim.stefil+swank"; + } + ); + systems = [ "hu.dwim.stefil+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "swank" self) + ]; + meta = { }; + } + ); + hu_dot_dwim_dot_syntax-sugar = ( + build-asdf-system { + pname = "hu.dwim.syntax-sugar"; + version = "stable-git"; + asds = [ "hu.dwim.syntax-sugar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2023-02-14/hu.dwim.syntax-sugar-stable-git.tgz"; + sha256 = "1cy474di8njy4s39n7kn2w9jw39n4rssrk0fghrj0gabfxiz4wv9"; + system = "hu.dwim.syntax-sugar"; + asd = "hu.dwim.syntax-sugar"; + } + ); + systems = [ "hu.dwim.syntax-sugar" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_syntax-sugar_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.syntax-sugar.documentation"; + version = "stable-git"; + asds = [ "hu.dwim.syntax-sugar.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2023-02-14/hu.dwim.syntax-sugar-stable-git.tgz"; + sha256 = "1cy474di8njy4s39n7kn2w9jw39n4rssrk0fghrj0gabfxiz4wv9"; + system = "hu.dwim.syntax-sugar.documentation"; + asd = "hu.dwim.syntax-sugar.documentation"; + } + ); + systems = [ "hu.dwim.syntax-sugar.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_syntax-sugar_dot_test = ( + build-asdf-system { + pname = "hu.dwim.syntax-sugar.test"; + version = "stable-git"; + asds = [ "hu.dwim.syntax-sugar.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2023-02-14/hu.dwim.syntax-sugar-stable-git.tgz"; + sha256 = "1cy474di8njy4s39n7kn2w9jw39n4rssrk0fghrj0gabfxiz4wv9"; + system = "hu.dwim.syntax-sugar.test"; + asd = "hu.dwim.syntax-sugar.test"; + } + ); + systems = [ "hu.dwim.syntax-sugar.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_walker" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_uri = ( + build-asdf-system { + pname = "hu.dwim.uri"; + version = "20180228-darcs"; + asds = [ "hu.dwim.uri" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.uri/2018-02-28/hu.dwim.uri-20180228-darcs.tgz"; + sha256 = "0wvai7djmbry0b0j8vhzw3s8m30ghs2sml29gw6snh1pynh3c2ir"; + system = "hu.dwim.uri"; + asd = "hu.dwim.uri"; + } + ); + systems = [ "hu.dwim.uri" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_uri_dot_test = ( + build-asdf-system { + pname = "hu.dwim.uri.test"; + version = "20180228-darcs"; + asds = [ "hu.dwim.uri.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.uri/2018-02-28/hu.dwim.uri-20180228-darcs.tgz"; + sha256 = "0wvai7djmbry0b0j8vhzw3s8m30ghs2sml29gw6snh1pynh3c2ir"; + system = "hu.dwim.uri.test"; + asd = "hu.dwim.uri.test"; + } + ); + systems = [ "hu.dwim.uri.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_uri" self) + (getAttr "hu_dot_dwim_dot_util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_util = ( + build-asdf-system { + pname = "hu.dwim.util"; + version = "stable-git"; + asds = [ "hu.dwim.util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; + sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; + system = "hu.dwim.util"; + asd = "hu.dwim.util"; + } + ); + systems = [ "hu.dwim.util" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_util_plus_iolib = ( + build-asdf-system { + pname = "hu.dwim.util+iolib"; + version = "stable-git"; + asds = [ "hu.dwim.util+iolib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; + sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; + system = "hu.dwim.util+iolib"; + asd = "hu.dwim.util+iolib"; + } + ); + systems = [ "hu.dwim.util+iolib" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_util_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.util.documentation"; + version = "stable-git"; + asds = [ "hu.dwim.util.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; + sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; + system = "hu.dwim.util.documentation"; + asd = "hu.dwim.util.documentation"; + } + ); + systems = [ "hu.dwim.util.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_util_dot_test = ( + build-asdf-system { + pname = "hu.dwim.util.test"; + version = "stable-git"; + asds = [ "hu.dwim.util.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz"; + sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi"; + system = "hu.dwim.util.test"; + asd = "hu.dwim.util.test"; + } + ); + systems = [ "hu.dwim.util.test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "babel-streams" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-l10n" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "command-line-arguments" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_delico" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" self) + (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_util_plus_iolib" self) + (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) + (getAttr "iolib" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_walker = ( + build-asdf-system { + pname = "hu.dwim.walker"; + version = "stable-git"; + asds = [ "hu.dwim.walker" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.walker/2022-07-07/hu.dwim.walker-stable-git.tgz"; + sha256 = "0sw7z5iml82sklxjy1wr42mbp2qqml49ci36d6xsckar0sqsc8vr"; + system = "hu.dwim.walker"; + asd = "hu.dwim.walker"; + } + ); + systems = [ "hu.dwim.walker" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "closer-mop" self) + (getAttr "contextl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) + (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server = ( + build-asdf-system { + pname = "hu.dwim.web-server"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server"; + asd = "hu.dwim.web-server"; + } + ); + systems = [ "hu.dwim.web-server" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "babel-streams" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl_plus_ssl" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_computed-class" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_def_plus_cl-l10n" self) + (getAttr "hu_dot_dwim_dot_def_plus_contextl" self) + (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico" self) + (getAttr "hu_dot_dwim_dot_logger_plus_iolib" self) + (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_uri" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_zlib" self) + (getAttr "iolib" self) + (getAttr "local-time" self) + (getAttr "parse-number" self) + (getAttr "rfc2109" self) + (getAttr "rfc2388-binary" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_plus_swank = ( + build-asdf-system { + pname = "hu.dwim.web-server+swank"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server+swank"; + asd = "hu.dwim.web-server+swank"; + } + ); + systems = [ "hu.dwim.web-server+swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_web-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_dot_application = ( + build-asdf-system { + pname = "hu.dwim.web-server.application"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server.application" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server.application"; + asd = "hu.dwim.web-server.application"; + } + ); + systems = [ "hu.dwim.web-server.application" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_web-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_dot_application_plus_hu_dot_dwim_dot_perec = ( + build-asdf-system { + pname = "hu.dwim.web-server.application+hu.dwim.perec"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server.application+hu.dwim.perec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server.application+hu.dwim.perec"; + asd = "hu.dwim.web-server.application+hu.dwim.perec"; + } + ); + systems = [ "hu.dwim.web-server.application+hu.dwim.perec" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_dot_application_dot_test = ( + build-asdf-system { + pname = "hu.dwim.web-server.application.test"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server.application.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server.application.test"; + asd = "hu.dwim.web-server.application.test"; + } + ); + systems = [ "hu.dwim.web-server.application.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_web-server_dot_application" self) + (getAttr "hu_dot_dwim_dot_web-server_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_dot_documentation = ( + build-asdf-system { + pname = "hu.dwim.web-server.documentation"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server.documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server.documentation"; + asd = "hu.dwim.web-server.documentation"; + } + ); + systems = [ "hu.dwim.web-server.documentation" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_presentation" self) + (getAttr "hu_dot_dwim_dot_web-server_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_dot_test = ( + build-asdf-system { + pname = "hu.dwim.web-server.test"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server.test"; + asd = "hu.dwim.web-server.test"; + } + ); + systems = [ "hu.dwim.web-server.test" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "hu_dot_dwim_dot_web-server" self) + (getAttr "hu_dot_dwim_dot_web-server_plus_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_web-server_dot_websocket = ( + build-asdf-system { + pname = "hu.dwim.web-server.websocket"; + version = "20220707-darcs"; + asds = [ "hu.dwim.web-server.websocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2022-07-07/hu.dwim.web-server-20220707-darcs.tgz"; + sha256 = "0kz8v5qlyj96rjvqic031f6c405zrpsyqnlkh2mvlsmc7rqg2zjf"; + system = "hu.dwim.web-server.websocket"; + asd = "hu.dwim.web-server.websocket"; + } + ); + systems = [ "hu.dwim.web-server.websocket" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_web-server" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hu_dot_dwim_dot_zlib = ( + build-asdf-system { + pname = "hu.dwim.zlib"; + version = "stable-git"; + asds = [ "hu.dwim.zlib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hu.dwim.zlib/2022-07-07/hu.dwim.zlib-stable-git.tgz"; + sha256 = "1yrsbl6rmsp6sdaj9yzwx1bpbs529akndxnpplafw31195khnxm1"; + system = "hu.dwim.zlib"; + asd = "hu.dwim.zlib"; + } + ); + systems = [ "hu.dwim.zlib" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + huffman = ( + build-asdf-system { + pname = "huffman"; + version = "20181018-git"; + asds = [ "huffman" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/huffman/2018-10-18/huffman-20181018-git.tgz"; + sha256 = "05b3ql5szzi4vsry76i76483mxf9m5i9620hdshykh5rbfiarvcx"; + system = "huffman"; + asd = "huffman"; + } + ); + systems = [ "huffman" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + humbler = ( + build-asdf-system { + pname = "humbler"; + version = "20231021-git"; + asds = [ "humbler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/humbler/2023-10-21/humbler-20231021-git.tgz"; + sha256 = "15fdvlrhdvr58i2rwa87i4is2rgh9xzjag0sqhga8ri7a8i63fgf"; + system = "humbler"; + asd = "humbler"; + } + ); + systems = [ "humbler" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + (getAttr "north-core" self) + (getAttr "trivial-mimes" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchensocket = ( + build-asdf-system { + pname = "hunchensocket"; + version = "20221106-git"; + asds = [ "hunchensocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchensocket/2022-11-06/hunchensocket-20221106-git.tgz"; + sha256 = "1vhd009lwl62l1czmhsalblxmyz4x9v3nspjflpajwm1db5rnd7h"; + system = "hunchensocket"; + asd = "hunchensocket"; + } + ); + systems = [ "hunchensocket" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "chunga" self) + (getAttr "cl-base64" self) + (getAttr "cl-fad" self) + (getAttr "flexi-streams" self) + (getAttr "hunchentoot" self) + (getAttr "sha1" self) + (getAttr "trivial-backtrace" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { }; + } + ); + hunchensocket-tests = ( + build-asdf-system { + pname = "hunchensocket-tests"; + version = "20221106-git"; + asds = [ "hunchensocket-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchensocket/2022-11-06/hunchensocket-20221106-git.tgz"; + sha256 = "1vhd009lwl62l1czmhsalblxmyz4x9v3nspjflpajwm1db5rnd7h"; + system = "hunchensocket-tests"; + asd = "hunchensocket"; + } + ); + systems = [ "hunchensocket-tests" ]; + lispLibs = [ + (getAttr "fiasco" self) + (getAttr "hunchensocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentools = ( + build-asdf-system { + pname = "hunchentools"; + version = "20161204-git"; + asds = [ "hunchentools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentools/2016-12-04/hunchentools-20161204-git.tgz"; + sha256 = "12r1ml1xxhyz646nnxqzixfisljjaracwp9jhwl3wb285qbmai4b"; + system = "hunchentools"; + asd = "hunchentools"; + } + ); + systems = [ "hunchentools" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentoot = ( + build-asdf-system { + pname = "hunchentoot"; + version = "v1.3.1"; + asds = [ "hunchentoot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot/2024-10-12/hunchentoot-v1.3.1.tgz"; + sha256 = "0g4lh26l2vd10ilk1hrfmpj6hpjb986jp191ha2j6p2q1pil3kgc"; + system = "hunchentoot"; + asd = "hunchentoot"; + } + ); + systems = [ "hunchentoot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "chunga" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "md5" self) + (getAttr "rfc2388" self) + (getAttr "trivial-backtrace" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + hunchentoot-auth = ( + build-asdf-system { + pname = "hunchentoot-auth"; + version = "20140113-git"; + asds = [ "hunchentoot-auth" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot-auth/2014-01-13/hunchentoot-auth-20140113-git.tgz"; + sha256 = "1bc70lh2jvk6gqmhczgv0indxk6j5whxbh7gylrlbv16041sdkbj"; + system = "hunchentoot-auth"; + asd = "hunchentoot-auth"; + } + ); + systems = [ "hunchentoot-auth" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-store" self) + (getAttr "cl-who" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentoot-cgi = ( + build-asdf-system { + pname = "hunchentoot-cgi"; + version = "20140211-git"; + asds = [ "hunchentoot-cgi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot-cgi/2014-02-11/hunchentoot-cgi-20140211-git.tgz"; + sha256 = "0al6qfs6661avhywsqxh3nwyhl1d1gip3yx57b8siczjarpgpawc"; + system = "hunchentoot-cgi"; + asd = "hunchentoot-cgi"; + } + ); + systems = [ "hunchentoot-cgi" ]; + lispLibs = [ + (getAttr "hunchentoot" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentoot-errors = ( + build-asdf-system { + pname = "hunchentoot-errors"; + version = "20231021-git"; + asds = [ "hunchentoot-errors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot-errors/2023-10-21/hunchentoot-errors-20231021-git.tgz"; + sha256 = "0fab7s8qhhs713cw014qqvzm5z61wmxm2fcbkarhg41cz3li9k1j"; + system = "hunchentoot-errors"; + asd = "hunchentoot-errors"; + } + ); + systems = [ "hunchentoot-errors" ]; + lispLibs = [ + (getAttr "cl-mimeparse" self) + (getAttr "hunchentoot" self) + (getAttr "parse-number" self) + (getAttr "string-case" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentoot-multi-acceptor = ( + build-asdf-system { + pname = "hunchentoot-multi-acceptor"; + version = "20220331-git"; + asds = [ "hunchentoot-multi-acceptor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot-multi-acceptor/2022-03-31/hunchentoot-multi-acceptor-20220331-git.tgz"; + sha256 = "0m42dw8x0bp03n4hx4ppf45gjg14igf69z4rn7dslch6km58mrha"; + system = "hunchentoot-multi-acceptor"; + asd = "hunchentoot-multi-acceptor"; + } + ); + systems = [ "hunchentoot-multi-acceptor" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "hunchentoot" self) + (getAttr "str" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentoot-single-signon = ( + build-asdf-system { + pname = "hunchentoot-single-signon"; + version = "20131111-git"; + asds = [ "hunchentoot-single-signon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot-single-signon/2013-11-11/hunchentoot-single-signon-20131111-git.tgz"; + sha256 = "0dh16k4105isqwnkl52m55m6cbl7g8wmcrym8175r2zr6qcbghq8"; + system = "hunchentoot-single-signon"; + asd = "hunchentoot-single-signon"; + } + ); + systems = [ "hunchentoot-single-signon" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-gss" self) + (getAttr "hunchentoot" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hunchentoot-stuck-connection-monitor = ( + build-asdf-system { + pname = "hunchentoot-stuck-connection-monitor"; + version = "20241012-git"; + asds = [ "hunchentoot-stuck-connection-monitor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchentoot-stuck-connection-monitor/2024-10-12/hunchentoot-stuck-connection-monitor-20241012-git.tgz"; + sha256 = "1zbpxcym8pi9bf3m7f8f5aa2xhq048kx54sj1ka1vnz7rgccghc6"; + system = "hunchentoot-stuck-connection-monitor"; + asd = "hunchentoot-stuck-connection-monitor"; + } + ); + systems = [ "hunchentoot-stuck-connection-monitor" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "hunchentoot" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hyperlattices = ( + build-asdf-system { + pname = "hyperlattices"; + version = "20231021-git"; + asds = [ "hyperlattices" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hyperlattices/2023-10-21/hyperlattices-20231021-git.tgz"; + sha256 = "1d0jhy7yv5917bgx1b8r8ch5b94zbg933kx8ak2sbpgsf16pqf2h"; + system = "hyperlattices"; + asd = "hyperlattices"; + } + ); + systems = [ "hyperlattices" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "serapeum" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hyperluminal-mem = ( + build-asdf-system { + pname = "hyperluminal-mem"; + version = "20210630-git"; + asds = [ "hyperluminal-mem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hyperluminal-mem/2021-06-30/hyperluminal-mem-20210630-git.tgz"; + sha256 = "0qp00g43v518j0wccqnpglkrpikagnn9naphb29wbil6k7y9y7r9"; + system = "hyperluminal-mem"; + asd = "hyperluminal-mem"; + } + ); + systems = [ "hyperluminal-mem" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "osicat" self) + (getAttr "stmx" self) + (getAttr "swap-bytes" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hyperluminal-mem-test = ( + build-asdf-system { + pname = "hyperluminal-mem-test"; + version = "20210630-git"; + asds = [ "hyperluminal-mem-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hyperluminal-mem/2021-06-30/hyperluminal-mem-20210630-git.tgz"; + sha256 = "0qp00g43v518j0wccqnpglkrpikagnn9naphb29wbil6k7y9y7r9"; + system = "hyperluminal-mem-test"; + asd = "hyperluminal-mem-test"; + } + ); + systems = [ "hyperluminal-mem-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "hyperluminal-mem" self) + (getAttr "log4cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hyperobject = ( + build-asdf-system { + pname = "hyperobject"; + version = "20201016-git"; + asds = [ "hyperobject" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hyperobject/2020-10-16/hyperobject-20201016-git.tgz"; + sha256 = "1ggqlvwcd52c2d4k8csy7qciaq7lyldi0rpk3b9x4rw4gllcch8n"; + system = "hyperobject"; + asd = "hyperobject"; + } + ); + systems = [ "hyperobject" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "kmrcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + hyperspec = ( + build-asdf-system { + pname = "hyperspec"; + version = "20181210-git"; + asds = [ "hyperspec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hyperspec/2018-12-10/hyperspec-20181210-git.tgz"; + sha256 = "0zh1dq2451xw7yiycdr2mrcjx6rgnqnm8c8l9zhhn7hnf51b4x5l"; + system = "hyperspec"; + asd = "hyperspec"; + } + ); + systems = [ "hyperspec" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ia-hash-table = ( + build-asdf-system { + pname = "ia-hash-table"; + version = "20160318-git"; + asds = [ "ia-hash-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ia-hash-table/2016-03-18/ia-hash-table-20160318-git.tgz"; + sha256 = "11wnwjxa528yyjnfsvw315hyvq3lc996dwx83isdg4hlirj3amy4"; + system = "ia-hash-table"; + asd = "ia-hash-table"; + } + ); + systems = [ "ia-hash-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ia-hash-table_dot_test = ( + build-asdf-system { + pname = "ia-hash-table.test"; + version = "20160318-git"; + asds = [ "ia-hash-table.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ia-hash-table/2016-03-18/ia-hash-table-20160318-git.tgz"; + sha256 = "11wnwjxa528yyjnfsvw315hyvq3lc996dwx83isdg4hlirj3amy4"; + system = "ia-hash-table.test"; + asd = "ia-hash-table.test"; + } + ); + systems = [ "ia-hash-table.test" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "ia-hash-table" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + iclendar = ( + build-asdf-system { + pname = "iclendar"; + version = "20231021-git"; + asds = [ "iclendar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iclendar/2023-10-21/iclendar-20231021-git.tgz"; + sha256 = "13ic0zlwrlf6k08x7c8v96kjpbh1dmap15q4cv4in7rkx6rn2rsa"; + system = "iclendar"; + asd = "iclendar"; + } + ); + systems = [ "iclendar" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "closer-mop" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + iconv = ( + build-asdf-system { + pname = "iconv"; + version = "20171227-git"; + asds = [ "iconv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-iconv/2017-12-27/cl-iconv-20171227-git.tgz"; + sha256 = "1lpw95c02inifhdh9kkab9q92i5w9zd788dww1wly2p0a6kyx9wg"; + system = "iconv"; + asd = "iconv"; + } + ); + systems = [ "iconv" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + id3v2 = ( + build-asdf-system { + pname = "id3v2"; + version = "20160208-git"; + asds = [ "id3v2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/id3v2/2016-02-08/id3v2-20160208-git.tgz"; + sha256 = "0x017dfh9m80b8ml2vsgdcfs4kv7p06yzmwdilf1k8nfsilwpfra"; + system = "id3v2"; + asd = "id3v2"; + } + ); + systems = [ "id3v2" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + id3v2-test = ( + build-asdf-system { + pname = "id3v2-test"; + version = "20160208-git"; + asds = [ "id3v2-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/id3v2/2016-02-08/id3v2-20160208-git.tgz"; + sha256 = "0x017dfh9m80b8ml2vsgdcfs4kv7p06yzmwdilf1k8nfsilwpfra"; + system = "id3v2-test"; + asd = "id3v2-test"; + } + ); + systems = [ "id3v2-test" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "id3v2" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + identifier-pool = ( + build-asdf-system { + pname = "identifier-pool"; + version = "20220707-git"; + asds = [ "identifier-pool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/identifier-pool/2022-07-07/identifier-pool-20220707-git.tgz"; + sha256 = "01fs960s02nf8m3a5v95r12magq9rvgcc3awcppqa7c8yg7qdc55"; + system = "identifier-pool"; + asd = "identifier-pool"; + } + ); + systems = [ "identifier-pool" ]; + lispLibs = [ + (getAttr "dynamic-array" self) + (getAttr "mfiano-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + idna = ( + build-asdf-system { + pname = "idna"; + version = "20120107-git"; + asds = [ "idna" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz"; + sha256 = "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"; + system = "idna"; + asd = "idna"; + } + ); + systems = [ "idna" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { }; + } + ); + ieee-floats = ( + build-asdf-system { + pname = "ieee-floats"; + version = "20220220-git"; + asds = [ "ieee-floats" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ieee-floats/2022-02-20/ieee-floats-20220220-git.tgz"; + sha256 = "0qp2dxq9jzndjfmc8nh0fvcwrrxjm7f012biczipifjckp9gxw7d"; + system = "ieee-floats"; + asd = "ieee-floats"; + } + ); + systems = [ "ieee-floats" ]; + lispLibs = [ ]; + meta = { }; + } + ); + illogical-pathnames = ( + build-asdf-system { + pname = "illogical-pathnames"; + version = "20160825-git"; + asds = [ "illogical-pathnames" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/illogical-pathnames/2016-08-25/illogical-pathnames-20160825-git.tgz"; + sha256 = "1yjs1lzgak1d3hz2q6sbac98vqgdxp0dz72fskpz73vrbp6h6da5"; + system = "illogical-pathnames"; + asd = "illogical-pathnames"; + } + ); + systems = [ "illogical-pathnames" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + illusion = ( + build-asdf-system { + pname = "illusion"; + version = "20180831-git"; + asds = [ "illusion" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/illusion/2018-08-31/illusion-20180831-git.tgz"; + sha256 = "05wik6q8hlhm7szzymkljfigcp7z35j6rz2ihsmng1y6zq9crk7z"; + system = "illusion"; + asd = "illusion"; + } + ); + systems = [ "illusion" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "let-over-lambda" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + illusion-test = ( + build-asdf-system { + pname = "illusion-test"; + version = "20180831-git"; + asds = [ "illusion-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/illusion/2018-08-31/illusion-20180831-git.tgz"; + sha256 = "05wik6q8hlhm7szzymkljfigcp7z35j6rz2ihsmng1y6zq9crk7z"; + system = "illusion-test"; + asd = "illusion-test"; + } + ); + systems = [ "illusion-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "illusion" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + image = ( + build-asdf-system { + pname = "image"; + version = "20120107-git"; + asds = [ "image" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/image/2012-01-07/image-20120107-git.tgz"; + sha256 = "04by1snzw2kpw208fdi2azxbq5y2q2r6x8zkdh7jk43amkr18f5k"; + system = "image"; + asd = "image"; + } + ); + systems = [ "image" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "gzip-stream" self) + (getAttr "skippy" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + image-test = ( + build-asdf-system { + pname = "image-test"; + version = "20211020-git"; + asds = [ "image-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; + sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; + system = "image-test"; + asd = "image-test"; + } + ); + systems = [ "image-test" ]; + lispLibs = [ (getAttr "png" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + image-utility = ( + build-asdf-system { + pname = "image-utility"; + version = "20200427-git"; + asds = [ "image-utility" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "image-utility"; + asd = "image-utility"; + } + ); + systems = [ "image-utility" ]; + lispLibs = [ (getAttr "opticl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + imago = ( + build-asdf-system { + pname = "imago"; + version = "20241012-git"; + asds = [ "imago" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/imago/2024-10-12/imago-20241012-git.tgz"; + sha256 = "1jhhlqbzdd68n8scl98dxfr92s1rgd43isgd317l3ynfjwz63wq1"; + system = "imago"; + asd = "imago"; + } + ); + systems = [ "imago" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "array-operations" self) + (getAttr "cl-jpeg" self) + (getAttr "flexi-streams" self) + (getAttr "serapeum" self) + (getAttr "trivial-gray-streams" self) + (getAttr "zlib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + immutable-struct = ( + build-asdf-system { + pname = "immutable-struct"; + version = "20150709-git"; + asds = [ "immutable-struct" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/immutable-struct/2015-07-09/immutable-struct-20150709-git.tgz"; + sha256 = "02868d21hcc0kc3jw8afx23kj6iy1vyf2pddn8yqfrkpldhd0rv9"; + system = "immutable-struct"; + asd = "immutable-struct"; + } + ); + systems = [ "immutable-struct" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + in-nomine = ( + build-asdf-system { + pname = "in-nomine"; + version = "20241012-git"; + asds = [ "in-nomine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/in-nomine/2024-10-12/in-nomine-20241012-git.tgz"; + sha256 = "1wcfxqj5dfmkg94rnz2nsmyw8iwicncxmklnirlngqqvlcrd0rv4"; + system = "in-nomine"; + asd = "in-nomine"; + } + ); + systems = [ "in-nomine" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-arguments" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + incf-cl = ( + build-asdf-system { + pname = "incf-cl"; + version = "20190710-git"; + asds = [ "incf-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/incf-cl/2019-07-10/incf-cl-20190710-git.tgz"; + sha256 = "1yvwb57dzccvd2lw2h3mwxgbi8ml3cgkyy8kl8hwhd4s8c016ibb"; + system = "incf-cl"; + asd = "incf-cl"; + } + ); + systems = [ "incf-cl" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + incless = ( + build-asdf-system { + pname = "incless"; + version = "20241012-git"; + asds = [ "incless" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/incless/2024-10-12/incless-20241012-git.tgz"; + sha256 = "1ypxhsx3fqwfng3b425bsgxbra7asny9261amdbfd6p59r51cyiy"; + system = "incless"; + asd = "incless"; + } + ); + systems = [ "incless" ]; + lispLibs = [ (getAttr "quaviver" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + incless-extrinsic = ( + build-asdf-system { + pname = "incless-extrinsic"; + version = "20241012-git"; + asds = [ "incless-extrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/incless/2024-10-12/incless-20241012-git.tgz"; + sha256 = "1ypxhsx3fqwfng3b425bsgxbra7asny9261amdbfd6p59r51cyiy"; + system = "incless-extrinsic"; + asd = "incless-extrinsic"; + } + ); + systems = [ "incless-extrinsic" ]; + lispLibs = [ + (getAttr "incless" self) + (getAttr "quaviver" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + incless-native = ( + build-asdf-system { + pname = "incless-native"; + version = "20241012-git"; + asds = [ "incless-native" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/incless/2024-10-12/incless-20241012-git.tgz"; + sha256 = "1ypxhsx3fqwfng3b425bsgxbra7asny9261amdbfd6p59r51cyiy"; + system = "incless-native"; + asd = "incless-native"; + } + ); + systems = [ "incless-native" ]; + lispLibs = [ (getAttr "incless" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + incognito-keywords = ( + build-asdf-system { + pname = "incognito-keywords"; + version = "1.1"; + asds = [ "incognito-keywords" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/incognito-keywords/2013-01-28/incognito-keywords-1.1.tgz"; + sha256 = "1ignvz8v7bq8z9x22skzp1xsna2bxqcw22zh5sp9v2ndbjhqri5c"; + system = "incognito-keywords"; + asd = "incognito-keywords"; + } + ); + systems = [ "incognito-keywords" ]; + lispLibs = [ + (getAttr "enhanced-eval-when" self) + (getAttr "map-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + incongruent-methods = ( + build-asdf-system { + pname = "incongruent-methods"; + version = "20130312-git"; + asds = [ "incongruent-methods" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/incongruent-methods/2013-03-12/incongruent-methods-20130312-git.tgz"; + sha256 = "15xfbpnqymbkk92vbirvccxcphyvjmxcw02yv1zs6c78aaf4ms9z"; + system = "incongruent-methods"; + asd = "incongruent-methods"; + } + ); + systems = [ "incongruent-methods" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inferior-shell = ( + build-asdf-system { + pname = "inferior-shell"; + version = "20241012-git"; + asds = [ "inferior-shell" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inferior-shell/2024-10-12/inferior-shell-20241012-git.tgz"; + sha256 = "1bmw0jjcpssahymqidz159pqbz5ficz56w7b97hfy1xnwkd2fwg5"; + system = "inferior-shell"; + asd = "inferior-shell"; + } + ); + systems = [ "inferior-shell" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fare-mop" self) + (getAttr "fare-quasiquote-extras" self) + (getAttr "fare-utils" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_quasiquote" self) + ]; + meta = { }; + } + ); + infix = ( + build-asdf-system { + pname = "infix"; + version = "20210411-git"; + asds = [ "infix" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "infix"; + asd = "infix"; + } + ); + systems = [ "infix" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + infix-dollar-reader = ( + build-asdf-system { + pname = "infix-dollar-reader"; + version = "20121013-git"; + asds = [ "infix-dollar-reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/infix-dollar-reader/2012-10-13/infix-dollar-reader-20121013-git.tgz"; + sha256 = "11sf4kqcw8s0zcjz1qpbhkn33rizvq5ijl6xp59q9wadvkd0wx0w"; + system = "infix-dollar-reader"; + asd = "infix-dollar-reader"; + } + ); + systems = [ "infix-dollar-reader" ]; + lispLibs = [ (getAttr "cl-syntax" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + infix-dollar-reader-test = ( + build-asdf-system { + pname = "infix-dollar-reader-test"; + version = "20121013-git"; + asds = [ "infix-dollar-reader-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/infix-dollar-reader/2012-10-13/infix-dollar-reader-20121013-git.tgz"; + sha256 = "11sf4kqcw8s0zcjz1qpbhkn33rizvq5ijl6xp59q9wadvkd0wx0w"; + system = "infix-dollar-reader-test"; + asd = "infix-dollar-reader-test"; + } + ); + systems = [ "infix-dollar-reader-test" ]; + lispLibs = [ + (getAttr "infix-dollar-reader" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + infix-math = ( + build-asdf-system { + pname = "infix-math"; + version = "20211020-git"; + asds = [ "infix-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/infix-math/2021-10-20/infix-math-20211020-git.tgz"; + sha256 = "1h6p254xl793wfq3qla5y95k6zimy477f8brblx6ran3rg3bydbg"; + system = "infix-math"; + asd = "infix-math"; + } + ); + systems = [ "infix-math" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-package-system" self) + (getAttr "parse-number" self) + (getAttr "serapeum" self) + (getAttr "wu-decimal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + infix-reader = ( + build-asdf-system { + pname = "infix-reader"; + version = "20221106-git"; + asds = [ "infix-reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/infix-reader/2022-11-06/infix-reader-20221106-git.tgz"; + sha256 = "16b6cw4w80p3yxsv0pqaiq0ay1v3jswlav2mlfsmhawpvhxsmb7z"; + system = "infix-reader"; + asd = "infix-reader"; + } + ); + systems = [ "infix-reader" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inheriting-readers = ( + build-asdf-system { + pname = "inheriting-readers"; + version = "1.0.1"; + asds = [ "inheriting-readers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inheriting-readers/2021-01-24/inheriting-readers_1.0.1.tgz"; + sha256 = "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p"; + system = "inheriting-readers"; + asd = "inheriting-readers"; + } + ); + systems = [ "inheriting-readers" ]; + lispLibs = [ + (getAttr "class-options" self) + (getAttr "closer-mop" self) + (getAttr "compatible-metaclasses" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inheriting-readers__tests = ( + build-asdf-system { + pname = "inheriting-readers_tests"; + version = "1.0.1"; + asds = [ "inheriting-readers_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inheriting-readers/2021-01-24/inheriting-readers_1.0.1.tgz"; + sha256 = "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p"; + system = "inheriting-readers_tests"; + asd = "inheriting-readers_tests"; + } + ); + systems = [ "inheriting-readers_tests" ]; + lispLibs = [ + (getAttr "compatible-metaclasses" self) + (getAttr "inheriting-readers" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + injection = ( + build-asdf-system { + pname = "injection"; + version = "20160531-git"; + asds = [ "injection" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/injection/2016-05-31/injection-20160531-git.tgz"; + sha256 = "12f838ikgyl7gzh2dnqh54hfa8rncbkk266bsibmbbqxz0cn2da7"; + system = "injection"; + asd = "injection"; + } + ); + systems = [ "injection" ]; + lispLibs = [ (getAttr "cl-yaml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + injection-test = ( + build-asdf-system { + pname = "injection-test"; + version = "20160531-git"; + asds = [ "injection-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/injection/2016-05-31/injection-20160531-git.tgz"; + sha256 = "12f838ikgyl7gzh2dnqh54hfa8rncbkk266bsibmbbqxz0cn2da7"; + system = "injection-test"; + asd = "injection-test"; + } + ); + systems = [ "injection-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "injection" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inkwell = ( + build-asdf-system { + pname = "inkwell"; + version = "20231021-git"; + asds = [ "inkwell" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inkwell/2023-10-21/inkwell-20231021-git.tgz"; + sha256 = "07yxgs2zfnyr158v8q2s4npvzjzmpifx61hg7fc17dsmqgw296yc"; + system = "inkwell"; + asd = "inkwell"; + } + ); + systems = [ "inkwell" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "documentation-utils" self) + (getAttr "drakma" self) + (getAttr "local-time" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inlined-generic-function = ( + build-asdf-system { + pname = "inlined-generic-function"; + version = "20190521-git"; + asds = [ "inlined-generic-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inlined-generic-function/2019-05-21/inlined-generic-function-20190521-git.tgz"; + sha256 = "0kj9p99m9hwx4lx95npfln5dc5ip884f8agjc6h4y0rhnpj7r8gk"; + system = "inlined-generic-function"; + asd = "inlined-generic-function"; + } + ); + systems = [ "inlined-generic-function" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "introspect-environment" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inlined-generic-function_dot_test = ( + build-asdf-system { + pname = "inlined-generic-function.test"; + version = "20190521-git"; + asds = [ "inlined-generic-function.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inlined-generic-function/2019-05-21/inlined-generic-function-20190521-git.tgz"; + sha256 = "0kj9p99m9hwx4lx95npfln5dc5ip884f8agjc6h4y0rhnpj7r8gk"; + system = "inlined-generic-function.test"; + asd = "inlined-generic-function.test"; + } + ); + systems = [ "inlined-generic-function.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "inlined-generic-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inner-conditional = ( + build-asdf-system { + pname = "inner-conditional"; + version = "20200925-git"; + asds = [ "inner-conditional" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inner-conditional/2020-09-25/inner-conditional-20200925-git.tgz"; + sha256 = "08vaq29l2bhv4n1c6zb3syddwpad66rghfy71fqidjvbag0ji71k"; + system = "inner-conditional"; + asd = "inner-conditional"; + } + ); + systems = [ "inner-conditional" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-syntax-annot" self) + (getAttr "iterate" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inner-conditional-test = ( + build-asdf-system { + pname = "inner-conditional-test"; + version = "20200925-git"; + asds = [ "inner-conditional-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inner-conditional/2020-09-25/inner-conditional-20200925-git.tgz"; + sha256 = "08vaq29l2bhv4n1c6zb3syddwpad66rghfy71fqidjvbag0ji71k"; + system = "inner-conditional-test"; + asd = "inner-conditional-test"; + } + ); + systems = [ "inner-conditional-test" ]; + lispLibs = [ + (getAttr "cl-test-more" self) + (getAttr "inner-conditional" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inotify = ( + build-asdf-system { + pname = "inotify"; + version = "20150608-git"; + asds = [ "inotify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inotify/2015-06-08/inotify-20150608-git.tgz"; + sha256 = "0jill05wsa7xbnkycc1ik1a05slv2h34fpyap2rxbnxvfjvyzw98"; + system = "inotify"; + asd = "inotify"; + } + ); + systems = [ "inotify" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "iolib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + input-event-codes = ( + build-asdf-system { + pname = "input-event-codes"; + version = "20221106-git"; + asds = [ "input-event-codes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/input-event-codes/2022-11-06/input-event-codes-20221106-git.tgz"; + sha256 = "1m96m9ia4frcn2xqaw4mfspjjzwl8gyj4k4rv0lq28va4s6mkgii"; + system = "input-event-codes"; + asd = "input-event-codes"; + } + ); + systems = [ "input-event-codes" ]; + lispLibs = [ (getAttr "trivial-features" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inquisitor = ( + build-asdf-system { + pname = "inquisitor"; + version = "20190521-git"; + asds = [ "inquisitor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; + sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; + system = "inquisitor"; + asd = "inquisitor"; + } + ); + systems = [ "inquisitor" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inquisitor-flexi = ( + build-asdf-system { + pname = "inquisitor-flexi"; + version = "20190521-git"; + asds = [ "inquisitor-flexi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; + sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; + system = "inquisitor-flexi"; + asd = "inquisitor-flexi"; + } + ); + systems = [ "inquisitor-flexi" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "inquisitor" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inquisitor-flexi-test = ( + build-asdf-system { + pname = "inquisitor-flexi-test"; + version = "20190521-git"; + asds = [ "inquisitor-flexi-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; + sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; + system = "inquisitor-flexi-test"; + asd = "inquisitor-flexi-test"; + } + ); + systems = [ "inquisitor-flexi-test" ]; + lispLibs = [ + (getAttr "inquisitor-flexi" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inquisitor-test = ( + build-asdf-system { + pname = "inquisitor-test"; + version = "20190521-git"; + asds = [ "inquisitor-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz"; + sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw"; + system = "inquisitor-test"; + asd = "inquisitor-test"; + } + ); + systems = [ "inquisitor-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "flexi-streams" self) + (getAttr "inquisitor" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inravina = ( + build-asdf-system { + pname = "inravina"; + version = "20241012-git"; + asds = [ "inravina" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; + sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; + system = "inravina"; + asd = "inravina"; + } + ); + systems = [ "inravina" ]; + lispLibs = [ + (getAttr "incless" self) + (getAttr "nontrivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inravina-examples = ( + build-asdf-system { + pname = "inravina-examples"; + version = "20241012-git"; + asds = [ "inravina-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; + sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; + system = "inravina-examples"; + asd = "inravina-examples"; + } + ); + systems = [ "inravina-examples" ]; + lispLibs = [ + (getAttr "cl-pdf" self) + (getAttr "inravina-extrinsic" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inravina-extrinsic = ( + build-asdf-system { + pname = "inravina-extrinsic"; + version = "20241012-git"; + asds = [ "inravina-extrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; + sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; + system = "inravina-extrinsic"; + asd = "inravina-extrinsic"; + } + ); + systems = [ "inravina-extrinsic" ]; + lispLibs = [ + (getAttr "incless-extrinsic" self) + (getAttr "inravina" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inravina-native = ( + build-asdf-system { + pname = "inravina-native"; + version = "20241012-git"; + asds = [ "inravina-native" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; + sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; + system = "inravina-native"; + asd = "inravina-native"; + } + ); + systems = [ "inravina-native" ]; + lispLibs = [ (getAttr "inravina" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + inravina-shim = ( + build-asdf-system { + pname = "inravina-shim"; + version = "20241012-git"; + asds = [ "inravina-shim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/inravina/2024-10-12/inravina-20241012-git.tgz"; + sha256 = "16kbxzsbb4vdhbf1dzgsgwj9n3cizk3sjixjgrfa8fal4nys7sa3"; + system = "inravina-shim"; + asd = "inravina-shim"; + } + ); + systems = [ "inravina-shim" ]; + lispLibs = [ + (getAttr "incless-native" self) + (getAttr "inravina" self) + (getAttr "trivial-package-locks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + instance-tracking = ( + build-asdf-system { + pname = "instance-tracking"; + version = "20221106-git"; + asds = [ "instance-tracking" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/instance-tracking/2022-11-06/instance-tracking-20221106-git.tgz"; + sha256 = "0bbxvl14ahws30x5dgjhilhybjgn1jfcbxwr8ji1ls31zf88fphr"; + system = "instance-tracking"; + asd = "instance-tracking"; + } + ); + systems = [ "instance-tracking" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + integral = ( + build-asdf-system { + pname = "integral"; + version = "20200325-git"; + asds = [ "integral" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/integral/2020-03-25/integral-20200325-git.tgz"; + sha256 = "17a9wg7n3f81fsi5mlsdxain1fw7ggfniipfrb9sr1ajff6lx9gs"; + system = "integral"; + asd = "integral"; + } + ); + systems = [ "integral" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax-annot" self) + (getAttr "clos-fixtures" self) + (getAttr "closer-mop" self) + (getAttr "dbi" self) + (getAttr "group-by" self) + (getAttr "iterate" self) + (getAttr "split-sequence" self) + (getAttr "sxql" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + integral-rest = ( + build-asdf-system { + pname = "integral-rest"; + version = "20150923-git"; + asds = [ "integral-rest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/integral-rest/2015-09-23/integral-rest-20150923-git.tgz"; + sha256 = "0187d9i7acw2v1hhy7wcz0vk90ji7cdgpaikb7admvzq0nnbzrmm"; + system = "integral-rest"; + asd = "integral-rest"; + } + ); + systems = [ "integral-rest" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-inflector" self) + (getAttr "closer-mop" self) + (getAttr "integral" self) + (getAttr "jonathan" self) + (getAttr "map-set" self) + (getAttr "ningle" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + integral-rest-test = ( + build-asdf-system { + pname = "integral-rest-test"; + version = "20150923-git"; + asds = [ "integral-rest-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/integral-rest/2015-09-23/integral-rest-20150923-git.tgz"; + sha256 = "0187d9i7acw2v1hhy7wcz0vk90ji7cdgpaikb7admvzq0nnbzrmm"; + system = "integral-rest-test"; + asd = "integral-rest-test"; + } + ); + systems = [ "integral-rest-test" ]; + lispLibs = [ + (getAttr "integral" self) + (getAttr "integral-rest" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + integral-test = ( + build-asdf-system { + pname = "integral-test"; + version = "20200325-git"; + asds = [ "integral-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/integral/2020-03-25/integral-20200325-git.tgz"; + sha256 = "17a9wg7n3f81fsi5mlsdxain1fw7ggfniipfrb9sr1ajff6lx9gs"; + system = "integral-test"; + asd = "integral-test"; + } + ); + systems = [ "integral-test" ]; + lispLibs = [ + (getAttr "integral" self) + (getAttr "local-time" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + intel-hex = ( + build-asdf-system { + pname = "intel-hex"; + version = "20160318-git"; + asds = [ "intel-hex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/intel-hex/2016-03-18/intel-hex-20160318-git.tgz"; + sha256 = "0sz51qw262nh6ziwpy1kgv257nj56rp42s0g6g2rx3xv1ijdy395"; + system = "intel-hex"; + asd = "intel-hex"; + } + ); + systems = [ "intel-hex" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + intel-hex-test = ( + build-asdf-system { + pname = "intel-hex-test"; + version = "20160318-git"; + asds = [ "intel-hex-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/intel-hex/2016-03-18/intel-hex-20160318-git.tgz"; + sha256 = "0sz51qw262nh6ziwpy1kgv257nj56rp42s0g6g2rx3xv1ijdy395"; + system = "intel-hex-test"; + asd = "intel-hex-test"; + } + ); + systems = [ "intel-hex-test" ]; + lispLibs = [ + (getAttr "intel-hex" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + intercom = ( + build-asdf-system { + pname = "intercom"; + version = "20130615-git"; + asds = [ "intercom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/intercom/2013-06-15/intercom-20130615-git.tgz"; + sha256 = "017klgjsza4cxdxms4hxgrfrwjshkcr2yyxnhg14zs9w0vjwkikl"; + system = "intercom"; + asd = "intercom"; + } + ); + systems = [ "intercom" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "hunchentoot" self) + (getAttr "jsown" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + intercom-examples = ( + build-asdf-system { + pname = "intercom-examples"; + version = "20130615-git"; + asds = [ "intercom-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/intercom/2013-06-15/intercom-20130615-git.tgz"; + sha256 = "017klgjsza4cxdxms4hxgrfrwjshkcr2yyxnhg14zs9w0vjwkikl"; + system = "intercom-examples"; + asd = "intercom-examples"; + } + ); + systems = [ "intercom-examples" ]; + lispLibs = [ + (getAttr "intercom" self) + (getAttr "jsown" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + interface = ( + build-asdf-system { + pname = "interface"; + version = "20230618-git"; + asds = [ "interface" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/interface/2023-06-18/interface-20230618-git.tgz"; + sha256 = "0h1bckhyig2znl6nrd3agjzz7knrm2kyh2vfyk7j60kzki9rpzxy"; + system = "interface"; + asd = "interface"; + } + ); + systems = [ "interface" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "global-vars" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + interfaces-test-implementation = ( + build-asdf-system { + pname = "interfaces-test-implementation"; + version = "20231021-git"; + asds = [ "interfaces-test-implementation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modularize-interfaces/2023-10-21/modularize-interfaces-20231021-git.tgz"; + sha256 = "0lmq2jbkbr5wrrjl2qb1x64fcvl0lmii0h9301b9bq4d47s4w8sh"; + system = "interfaces-test-implementation"; + asd = "interfaces-test-implementation"; + } + ); + systems = [ "interfaces-test-implementation" ]; + lispLibs = [ + (getAttr "modularize" self) + (getAttr "modularize-interfaces" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + introspect-environment = ( + build-asdf-system { + pname = "introspect-environment"; + version = "20241012-git"; + asds = [ "introspect-environment" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/introspect-environment/2024-10-12/introspect-environment-20241012-git.tgz"; + sha256 = "1jll8h1fmf9i8nk3j3hrh62s858fzmly22zb690a2hnb685w3zlf"; + system = "introspect-environment"; + asd = "introspect-environment"; + } + ); + systems = [ "introspect-environment" ]; + lispLibs = [ ]; + meta = { }; + } + ); + introspect-environment-test = ( + build-asdf-system { + pname = "introspect-environment-test"; + version = "20241012-git"; + asds = [ "introspect-environment-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/introspect-environment/2024-10-12/introspect-environment-20241012-git.tgz"; + sha256 = "1jll8h1fmf9i8nk3j3hrh62s858fzmly22zb690a2hnb685w3zlf"; + system = "introspect-environment-test"; + asd = "introspect-environment-test"; + } + ); + systems = [ "introspect-environment-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "introspect-environment" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + invistra = ( + build-asdf-system { + pname = "invistra"; + version = "20241012-git"; + asds = [ "invistra" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/invistra/2024-10-12/invistra-20241012-git.tgz"; + sha256 = "14ja35zqa85hjl9wxkwrff2wnlfflxi6lnkw0ic7jp7b59f80qas"; + system = "invistra"; + asd = "invistra"; + } + ); + systems = [ "invistra" ]; + lispLibs = [ + (getAttr "acclimation" self) + (getAttr "incless" self) + (getAttr "inravina" self) + (getAttr "nontrivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + invistra-extrinsic = ( + build-asdf-system { + pname = "invistra-extrinsic"; + version = "20241012-git"; + asds = [ "invistra-extrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/invistra/2024-10-12/invistra-20241012-git.tgz"; + sha256 = "14ja35zqa85hjl9wxkwrff2wnlfflxi6lnkw0ic7jp7b59f80qas"; + system = "invistra-extrinsic"; + asd = "invistra-extrinsic"; + } + ); + systems = [ "invistra-extrinsic" ]; + lispLibs = [ + (getAttr "inravina-extrinsic" self) + (getAttr "invistra" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + invistra-numeral = ( + build-asdf-system { + pname = "invistra-numeral"; + version = "20241012-git"; + asds = [ "invistra-numeral" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/invistra/2024-10-12/invistra-20241012-git.tgz"; + sha256 = "14ja35zqa85hjl9wxkwrff2wnlfflxi6lnkw0ic7jp7b59f80qas"; + system = "invistra-numeral"; + asd = "invistra-numeral"; + } + ); + systems = [ "invistra-numeral" ]; + lispLibs = [ (getAttr "invistra" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + iolib = ( + build-asdf-system { + pname = "iolib"; + version = "v0.8.4"; + asds = [ "iolib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; + sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; + system = "iolib"; + asd = "iolib"; + } + ); + systems = [ "iolib" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "idna" self) + (getAttr "iolib_dot_asdf" self) + (getAttr "iolib_dot_base" self) + (getAttr "iolib_dot_conf" self) + (getAttr "swap-bytes" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + iolib_dot_asdf = ( + build-asdf-system { + pname = "iolib.asdf"; + version = "v0.8.4"; + asds = [ "iolib.asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; + sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; + system = "iolib.asdf"; + asd = "iolib.asdf"; + } + ); + systems = [ "iolib.asdf" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + iolib_dot_base = ( + build-asdf-system { + pname = "iolib.base"; + version = "v0.8.4"; + asds = [ "iolib.base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; + sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; + system = "iolib.base"; + asd = "iolib.base"; + } + ); + systems = [ "iolib.base" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iolib_dot_asdf" self) + (getAttr "iolib_dot_common-lisp" self) + (getAttr "iolib_dot_conf" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + iolib_dot_common-lisp = ( + build-asdf-system { + pname = "iolib.common-lisp"; + version = "v0.8.4"; + asds = [ "iolib.common-lisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; + sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; + system = "iolib.common-lisp"; + asd = "iolib.common-lisp"; + } + ); + systems = [ "iolib.common-lisp" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iolib_dot_asdf" self) + (getAttr "iolib_dot_conf" self) + ]; + meta = { }; + } + ); + iolib_dot_conf = ( + build-asdf-system { + pname = "iolib.conf"; + version = "v0.8.4"; + asds = [ "iolib.conf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; + sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; + system = "iolib.conf"; + asd = "iolib.conf"; + } + ); + systems = [ "iolib.conf" ]; + lispLibs = [ (getAttr "iolib_dot_asdf" self) ]; + meta = { }; + } + ); + iolib_dot_examples = ( + build-asdf-system { + pname = "iolib.examples"; + version = "v0.8.4"; + asds = [ "iolib.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz"; + sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"; + system = "iolib.examples"; + asd = "iolib.examples"; + } + ); + systems = [ "iolib.examples" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "iolib" self) + (getAttr "iolib_dot_asdf" self) + (getAttr "iolib_dot_base" self) + (getAttr "iolib_dot_conf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ip-interfaces = ( + build-asdf-system { + pname = "ip-interfaces"; + version = "0.2.1"; + asds = [ "ip-interfaces" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ip-interfaces/2018-12-10/ip-interfaces-0.2.1.tgz"; + sha256 = "035sc4li0qz4lzjn555h8r2qkhc8a65zglk30f1b3pi9p44g91mw"; + system = "ip-interfaces"; + asd = "ip-interfaces"; + } + ); + systems = [ "ip-interfaces" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ip-interfaces-test = ( + build-asdf-system { + pname = "ip-interfaces-test"; + version = "0.2.1"; + asds = [ "ip-interfaces-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ip-interfaces/2018-12-10/ip-interfaces-0.2.1.tgz"; + sha256 = "035sc4li0qz4lzjn555h8r2qkhc8a65zglk30f1b3pi9p44g91mw"; + system = "ip-interfaces-test"; + asd = "ip-interfaces-test"; + } + ); + systems = [ "ip-interfaces-test" ]; + lispLibs = [ + (getAttr "ip-interfaces" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + irc-logger = ( + build-asdf-system { + pname = "irc-logger"; + version = "20150923-git"; + asds = [ "irc-logger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/irc-logger/2015-09-23/irc-logger-20150923-git.tgz"; + sha256 = "1ylq8qnf29dij7133p19cmmmw3i7w6azncsdvpd4j0k1fqp14bq7"; + system = "irc-logger"; + asd = "irc-logger"; + } + ); + systems = [ "irc-logger" ]; + lispLibs = [ + (getAttr "cl-irc" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ironclad = ( + build-asdf-system { + pname = "ironclad"; + version = "v0.61"; + asds = [ "ironclad" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ironclad/2024-10-12/ironclad-v0.61.tgz"; + sha256 = "1yszjy6a0q1jvdgd7fpmnvi9851s8ivp4plscw27lbnl7jlj1pmk"; + system = "ironclad"; + asd = "ironclad"; + } + ); + systems = [ "ironclad" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { }; + } + ); + ironclad-text = ( + build-asdf-system { + pname = "ironclad-text"; + version = "v0.61"; + asds = [ "ironclad-text" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ironclad/2024-10-12/ironclad-v0.61.tgz"; + sha256 = "1yszjy6a0q1jvdgd7fpmnvi9851s8ivp4plscw27lbnl7jlj1pmk"; + system = "ironclad-text"; + asd = "ironclad-text"; + } + ); + systems = [ "ironclad-text" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + isolated = ( + build-asdf-system { + pname = "isolated"; + version = "20200218-git"; + asds = [ "isolated" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-isolated/2020-02-18/cl-isolated-20200218-git.tgz"; + sha256 = "01wbis4dw2cy7d2yh30rwvmlx3dr5s9dx8hs19xhjpznjbqfyksi"; + system = "isolated"; + asd = "isolated"; + } + ); + systems = [ "isolated" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + issr = ( + build-asdf-system { + pname = "issr"; + version = "20211020-git"; + asds = [ "issr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/hunchenissr/2021-10-20/hunchenissr-20211020-git.tgz"; + sha256 = "1dfm7zdvyj14my8giznq1vsy20nj7my71y7a657slhf6v2cap5vs"; + system = "issr"; + asd = "issr"; + } + ); + systems = [ "issr" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "do-urlencode" self) + (getAttr "hunchentoot" self) + (getAttr "jonathan" self) + (getAttr "plump" self) + (getAttr "portal" self) + (getAttr "str" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + (getAttr "yxorp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + issr-core = ( + build-asdf-system { + pname = "issr-core"; + version = "20210228-git"; + asds = [ "issr-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/core/2021-02-28/core-20210228-git.tgz"; + sha256 = "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"; + system = "issr-core"; + asd = "issr-core"; + } + ); + systems = [ "issr-core" ]; + lispLibs = [ + (getAttr "global-vars" self) + (getAttr "plump" self) + (getAttr "str" self) + (getAttr "tailrec" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + iterate = ( + build-asdf-system { + pname = "iterate"; + version = "release-b0f9a9c6-git"; + asds = [ "iterate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iterate/2021-05-31/iterate-release-b0f9a9c6-git.tgz"; + sha256 = "09xq2mdr97hagjrjpc47mp8l9wfp697aa9qaqmsy0yskayzg6xsc"; + system = "iterate"; + asd = "iterate"; + } + ); + systems = [ "iterate" ]; + lispLibs = [ ]; + meta = { }; + } + ); + iterate-clsql = ( + build-asdf-system { + pname = "iterate-clsql"; + version = "20130312-http"; + asds = [ "iterate-clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/iterate-clsql/2013-03-12/iterate-clsql-20130312-http.tgz"; + sha256 = "0adfs31zin5kkg9z5kyzykf8gmcgr600vvi4mjx7nixybh326h3h"; + system = "iterate-clsql"; + asd = "iterate-clsql"; + } + ); + systems = [ "iterate-clsql" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ixf = ( + build-asdf-system { + pname = "ixf"; + version = "20180228-git"; + asds = [ "ixf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-ixf/2018-02-28/cl-ixf-20180228-git.tgz"; + sha256 = "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"; + system = "ixf"; + asd = "ixf"; + } + ); + systems = [ "ixf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "ieee-floats" self) + (getAttr "local-time" self) + (getAttr "md5" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jenkins_dot_api = ( + build-asdf-system { + pname = "jenkins.api"; + version = "20130312-git"; + asds = [ "jenkins.api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jenkins/2013-03-12/jenkins-20130312-git.tgz"; + sha256 = "1kis95k3fwlaq2jbpia0wps4gq461w6p57dxlbvb0c6a5dgh4dwf"; + system = "jenkins.api"; + asd = "jenkins.api"; + } + ); + systems = [ "jenkins.api" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "drakma" self) + (getAttr "iterate" self) + (getAttr "let-plus" self) + (getAttr "more-conditions" self) + (getAttr "puri" self) + (getAttr "split-sequence" self) + (getAttr "xml_dot_location" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingle = ( + build-asdf-system { + pname = "jingle"; + version = "20231021-git"; + asds = [ "jingle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; + sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; + system = "jingle"; + asd = "jingle"; + } + ); + systems = [ "jingle" ]; + lispLibs = [ + (getAttr "cl-reexport" self) + (getAttr "clack" self) + (getAttr "find-port" self) + (getAttr "jonathan" self) + (getAttr "lack" self) + (getAttr "lack-app-directory" self) + (getAttr "lack-middleware-mount" self) + (getAttr "lack-middleware-static" self) + (getAttr "local-time" self) + (getAttr "myway" self) + (getAttr "ningle" self) + (getAttr "quri" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingle_dot_demo = ( + build-asdf-system { + pname = "jingle.demo"; + version = "20231021-git"; + asds = [ "jingle.demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; + sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; + system = "jingle.demo"; + asd = "jingle.demo"; + } + ); + systems = [ "jingle.demo" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ascii-table" self) + (getAttr "clack-handler-hunchentoot" self) + (getAttr "clingon" self) + (getAttr "dexador" self) + (getAttr "jingle" self) + (getAttr "jonathan" self) + (getAttr "lack-middleware-accesslog" self) + (getAttr "local-time" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingle_dot_demo_dot_test = ( + build-asdf-system { + pname = "jingle.demo.test"; + version = "20231021-git"; + asds = [ "jingle.demo.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; + sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; + system = "jingle.demo.test"; + asd = "jingle.demo.test"; + } + ); + systems = [ "jingle.demo.test" ]; + lispLibs = [ + (getAttr "jingle_dot_demo" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingle_dot_test = ( + build-asdf-system { + pname = "jingle.test"; + version = "20231021-git"; + asds = [ "jingle.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jingle/2023-10-21/cl-jingle-20231021-git.tgz"; + sha256 = "0g64y9nzkdrb2yjp0lvhfc0qm3595n6w76hk9hd1v0ril78vzybc"; + system = "jingle.test"; + asd = "jingle.test"; + } + ); + systems = [ "jingle.test" ]; + lispLibs = [ + (getAttr "jingle" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh = ( + build-asdf-system { + pname = "jingoh"; + version = "20220707-git"; + asds = [ "jingoh" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh"; + asd = "jingoh"; + } + ); + systems = [ "jingoh" ]; + lispLibs = [ + (getAttr "jingoh_dot_examiner" self) + (getAttr "jingoh_dot_org" self) + (getAttr "jingoh_dot_reader" self) + (getAttr "jingoh_dot_tester" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_documentizer = ( + build-asdf-system { + pname = "jingoh.documentizer"; + version = "20220707-git"; + asds = [ "jingoh.documentizer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.documentizer"; + asd = "jingoh.documentizer"; + } + ); + systems = [ "jingoh.documentizer" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "cl-ppcre" self) + (getAttr "eclector" self) + (getAttr "read-as-string" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_documentizer_dot_test = ( + build-asdf-system { + pname = "jingoh.documentizer.test"; + version = "20220707-git"; + asds = [ "jingoh.documentizer.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.documentizer.test"; + asd = "jingoh.documentizer.test"; + } + ); + systems = [ "jingoh.documentizer.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "jingoh_dot_documentizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_examiner = ( + build-asdf-system { + pname = "jingoh.examiner"; + version = "20220707-git"; + asds = [ "jingoh.examiner" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.examiner"; + asd = "jingoh.examiner"; + } + ); + systems = [ "jingoh.examiner" ]; + lispLibs = [ + (getAttr "cl-ansi-text" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "jingoh_dot_org" self) + (getAttr "jingoh_dot_tester" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_examiner_dot_test = ( + build-asdf-system { + pname = "jingoh.examiner.test"; + version = "20220707-git"; + asds = [ "jingoh.examiner.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.examiner.test"; + asd = "jingoh.examiner.test"; + } + ); + systems = [ "jingoh.examiner.test" ]; + lispLibs = [ + (getAttr "cl-ansi-text" self) + (getAttr "jingoh" self) + (getAttr "jingoh_dot_examiner" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_generator = ( + build-asdf-system { + pname = "jingoh.generator"; + version = "20220707-git"; + asds = [ "jingoh.generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.generator"; + asd = "jingoh.generator"; + } + ); + systems = [ "jingoh.generator" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-unification" self) + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "lambda-fiddle" self) + (getAttr "millet" self) + (getAttr "named-readtables" self) + (getAttr "prompt-for" self) + (getAttr "trivial-cltl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_generator_dot_test = ( + build-asdf-system { + pname = "jingoh.generator.test"; + version = "20220707-git"; + asds = [ "jingoh.generator.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.generator.test"; + asd = "jingoh.generator.test"; + } + ); + systems = [ "jingoh.generator.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "jingoh_dot_generator" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_org = ( + build-asdf-system { + pname = "jingoh.org"; + version = "20220707-git"; + asds = [ "jingoh.org" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.org"; + asd = "jingoh.org"; + } + ); + systems = [ "jingoh.org" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "check-bnf" self) + (getAttr "jingoh_dot_documentizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_org_dot_test = ( + build-asdf-system { + pname = "jingoh.org.test"; + version = "20220707-git"; + asds = [ "jingoh.org.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.org.test"; + asd = "jingoh.org.test"; + } + ); + systems = [ "jingoh.org.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "jingoh_dot_org" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_parallel = ( + build-asdf-system { + pname = "jingoh.parallel"; + version = "20220707-git"; + asds = [ "jingoh.parallel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.parallel"; + asd = "jingoh.parallel"; + } + ); + systems = [ "jingoh.parallel" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-cpus" self) + (getAttr "jingoh" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_parallel_dot_test = ( + build-asdf-system { + pname = "jingoh.parallel.test"; + version = "20220707-git"; + asds = [ "jingoh.parallel.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.parallel.test"; + asd = "jingoh.parallel.test"; + } + ); + systems = [ "jingoh.parallel.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "jingoh_dot_parallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_reader = ( + build-asdf-system { + pname = "jingoh.reader"; + version = "20220707-git"; + asds = [ "jingoh.reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.reader"; + asd = "jingoh.reader"; + } + ); + systems = [ "jingoh.reader" ]; + lispLibs = [ + (getAttr "eclector" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "jingoh_dot_tester" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_reader_dot_test = ( + build-asdf-system { + pname = "jingoh.reader.test"; + version = "20220707-git"; + asds = [ "jingoh.reader.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.reader.test"; + asd = "jingoh.reader.test"; + } + ); + systems = [ "jingoh.reader.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "jingoh_dot_reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_tester = ( + build-asdf-system { + pname = "jingoh.tester"; + version = "20220707-git"; + asds = [ "jingoh.tester" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.tester"; + asd = "jingoh.tester"; + } + ); + systems = [ "jingoh.tester" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "check-bnf" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-colors2" self) + (getAttr "closer-mop" self) + (getAttr "fuzzy-match" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "jingoh_dot_org" self) + (getAttr "structure-ext" self) + (getAttr "vivid-colors" self) + (getAttr "vivid-diff" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jingoh_dot_tester_dot_test = ( + build-asdf-system { + pname = "jingoh.tester.test"; + version = "20220707-git"; + asds = [ "jingoh.tester.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jingoh/2022-07-07/jingoh-20220707-git.tgz"; + sha256 = "02wcamw47grg5rz5spn6vl441dk1m82rdrbk6nln69nazj2af76r"; + system = "jingoh.tester.test"; + asd = "jingoh.tester.test"; + } + ); + systems = [ "jingoh.tester.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "jingoh_dot_tester" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jonathan = ( + build-asdf-system { + pname = "jonathan"; + version = "20200925-git"; + asds = [ "jonathan" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jonathan/2020-09-25/jonathan-20200925-git.tgz"; + sha256 = "1l4sfxfmijibsvkbszikzslw1yy8z52ml9may1w2s0ay7lg7rsng"; + system = "jonathan"; + asd = "jonathan"; + } + ); + systems = [ "jonathan" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-annot" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + (getAttr "fast-io" self) + (getAttr "proc-parse" self) + (getAttr "trivial-types" self) + ]; + meta = { }; + } + ); + jonathan-test = ( + build-asdf-system { + pname = "jonathan-test"; + version = "20200925-git"; + asds = [ "jonathan-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jonathan/2020-09-25/jonathan-20200925-git.tgz"; + sha256 = "1l4sfxfmijibsvkbszikzslw1yy8z52ml9may1w2s0ay7lg7rsng"; + system = "jonathan-test"; + asd = "jonathan-test"; + } + ); + systems = [ "jonathan-test" ]; + lispLibs = [ + (getAttr "jonathan" self) + (getAttr "legion" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jose = ( + build-asdf-system { + pname = "jose"; + version = "20241012-git"; + asds = [ "jose" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jose/2024-10-12/jose-20241012-git.tgz"; + sha256 = "1z7xjy4ihxa8ay5vznhnxkjflfx6xmfpgwxdakk9wmkw30p2yn4h"; + system = "jose"; + asd = "jose"; + } + ); + systems = [ "jose" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "assoc-utils" self) + (getAttr "cl-base64" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "split-sequence" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + journal = ( + build-asdf-system { + pname = "journal"; + version = "20231021-git"; + asds = [ "journal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/journal/2023-10-21/journal-20231021-git.tgz"; + sha256 = "0h55mi3n0cwsl3gb9v7xsl9jzq0x5fbv2s8a0haby7g9995jr98v"; + system = "journal"; + asd = "journal"; + } + ); + systems = [ "journal" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "local-time" self) + (getAttr "mgl-pax" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jp-numeral = ( + build-asdf-system { + pname = "jp-numeral"; + version = "20221106-git"; + asds = [ "jp-numeral" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jp-numeral/2022-11-06/jp-numeral-20221106-git.tgz"; + sha256 = "1xqvah6mjd8lb2n19wzsn29q6az9kx1c48js3yj0ij73kjncby30"; + system = "jp-numeral"; + asd = "jp-numeral"; + } + ); + systems = [ "jp-numeral" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jp-numeral-test = ( + build-asdf-system { + pname = "jp-numeral-test"; + version = "20221106-git"; + asds = [ "jp-numeral-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jp-numeral/2022-11-06/jp-numeral-20221106-git.tgz"; + sha256 = "1xqvah6mjd8lb2n19wzsn29q6az9kx1c48js3yj0ij73kjncby30"; + system = "jp-numeral-test"; + asd = "jp-numeral-test"; + } + ); + systems = [ "jp-numeral-test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "alexandria" self) + (getAttr "jp-numeral" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jpeg-turbo = ( + build-asdf-system { + pname = "jpeg-turbo"; + version = "20201220-git"; + asds = [ "jpeg-turbo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jpeg-turbo/2020-12-20/jpeg-turbo-20201220-git.tgz"; + sha256 = "1andd1ibbk3224idnpsnrn96flr5d1wm9ja3di57fs04wn577sag"; + system = "jpeg-turbo"; + asd = "jpeg-turbo"; + } + ); + systems = [ "jpeg-turbo" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jpl-queues = ( + build-asdf-system { + pname = "jpl-queues"; + version = "0.1"; + asds = [ "jpl-queues" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jpl-queues/2010-10-06/jpl-queues-0.1.tgz"; + sha256 = "1xgddsfa1gr0cjmdlc304j3msxi8w2fyk9i497x56kmkif7pkj88"; + system = "jpl-queues"; + asd = "jpl-queues"; + } + ); + systems = [ "jpl-queues" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "jpl-util" self) + ]; + meta = { }; + } + ); + jpl-util = ( + build-asdf-system { + pname = "jpl-util"; + version = "20151031-git"; + asds = [ "jpl-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-jpl-util/2015-10-31/cl-jpl-util-20151031-git.tgz"; + sha256 = "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"; + system = "jpl-util"; + asd = "jpl-util"; + } + ); + systems = [ "jpl-util" ]; + lispLibs = [ ]; + meta = { }; + } + ); + js-parser = ( + build-asdf-system { + pname = "js-parser"; + version = "20150407-git"; + asds = [ "js-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/js-parser/2015-04-07/js-parser-20150407-git.tgz"; + sha256 = "0hqw515vyhrv1as5sfn3l792ddjps85zbzpblr2cjyq9dmdrg89a"; + system = "js-parser"; + asd = "js-parser"; + } + ); + systems = [ "js-parser" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + js-parser-tests = ( + build-asdf-system { + pname = "js-parser-tests"; + version = "20150407-git"; + asds = [ "js-parser-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/js-parser/2015-04-07/js-parser-20150407-git.tgz"; + sha256 = "0hqw515vyhrv1as5sfn3l792ddjps85zbzpblr2cjyq9dmdrg89a"; + system = "js-parser-tests"; + asd = "js-parser-tests"; + } + ); + systems = [ "js-parser-tests" ]; + lispLibs = [ (getAttr "js-parser" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-lib = ( + build-asdf-system { + pname = "json-lib"; + version = "20230618-git"; + asds = [ "json-lib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-lib/2023-06-18/json-lib-20230618-git.tgz"; + sha256 = "08cbnj6h53ifwm6kk5pvpxmy2a11kiph9zjccd2ml3fj6257krpv"; + system = "json-lib"; + asd = "json-lib"; + } + ); + systems = [ "json-lib" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-fad" self) + (getAttr "parse-float" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-mop = ( + build-asdf-system { + pname = "json-mop"; + version = "20241012-git"; + asds = [ "json-mop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-mop/2024-10-12/json-mop-20241012-git.tgz"; + sha256 = "1q6mmq64hf4v448bnzfh8nxsxg5h18a9snh785r1fnvv1aij3fi1"; + system = "json-mop"; + asd = "json-mop"; + } + ); + systems = [ "json-mop" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "closer-mop" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-mop-tests = ( + build-asdf-system { + pname = "json-mop-tests"; + version = "20241012-git"; + asds = [ "json-mop-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-mop/2024-10-12/json-mop-20241012-git.tgz"; + sha256 = "1q6mmq64hf4v448bnzfh8nxsxg5h18a9snh785r1fnvv1aij3fi1"; + system = "json-mop-tests"; + asd = "json-mop-tests"; + } + ); + systems = [ "json-mop-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "json-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-responses = ( + build-asdf-system { + pname = "json-responses"; + version = "20190307-hg"; + asds = [ "json-responses" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz"; + sha256 = "0f1hrs3rhi6qn0r8qd3fbsknn417b8v8b4s4989yfwfvnf922g05"; + system = "json-responses"; + asd = "json-responses"; + } + ); + systems = [ "json-responses" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-responses-test = ( + build-asdf-system { + pname = "json-responses-test"; + version = "20190307-hg"; + asds = [ "json-responses-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz"; + sha256 = "0f1hrs3rhi6qn0r8qd3fbsknn417b8v8b4s4989yfwfvnf922g05"; + system = "json-responses-test"; + asd = "json-responses"; + } + ); + systems = [ "json-responses-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "json-responses" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-schema = ( + build-asdf-system { + pname = "json-schema"; + version = "20221106-git"; + asds = [ "json-schema" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-schema/2022-11-06/json-schema-20221106-git.tgz"; + sha256 = "11rgnj14p8x059zx8hs02jji1p69v8kix783vf557zpcbydrw2mn"; + system = "json-schema"; + asd = "json-schema"; + } + ); + systems = [ "json-schema" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arrows" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "function-cache" self) + (getAttr "local-time" self) + (getAttr "local-time-duration" self) + (getAttr "quri" self) + (getAttr "sanity-clause" self) + (getAttr "st-json" self) + (getAttr "str" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-streams = ( + build-asdf-system { + pname = "json-streams"; + version = "20171019-git"; + asds = [ "json-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-streams/2017-10-19/json-streams-20171019-git.tgz"; + sha256 = "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"; + system = "json-streams"; + asd = "json-streams"; + } + ); + systems = [ "json-streams" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-streams-tests = ( + build-asdf-system { + pname = "json-streams-tests"; + version = "20171019-git"; + asds = [ "json-streams-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/json-streams/2017-10-19/json-streams-20171019-git.tgz"; + sha256 = "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"; + system = "json-streams-tests"; + asd = "json-streams-tests"; + } + ); + systems = [ "json-streams-tests" ]; + lispLibs = [ + (getAttr "cl-quickcheck" self) + (getAttr "flexi-streams" self) + (getAttr "json-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + json-test-suite = ( + build-asdf-system { + pname = "json-test-suite"; + version = "20230618-git"; + asds = [ "json-test-suite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-json/2023-06-18/rs-json-20230618-git.tgz"; + sha256 = "0y71as0sg5vfijpzdhv6pj6yv064ldn2shx0y4da8kvaqv949dnq"; + system = "json-test-suite"; + asd = "json-test-suite"; + } + ); + systems = [ "json-test-suite" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jsonrpc = ( + build-asdf-system { + pname = "jsonrpc"; + version = "20241012-git"; + asds = [ "jsonrpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jsonrpc/2024-10-12/jsonrpc-20241012-git.tgz"; + sha256 = "1wsc6bv8xpzad0lgrlldzrpb9r4aksnw7ss2ifwa7ykbzfxcr8gi"; + system = "jsonrpc"; + asd = "jsonrpc"; + } + ); + systems = [ "jsonrpc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "chanl" self) + (getAttr "dissect" self) + (getAttr "trivial-timeout" self) + (getAttr "usocket" self) + (getAttr "vom" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jsown = ( + build-asdf-system { + pname = "jsown"; + version = "20200218-git"; + asds = [ "jsown" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jsown/2020-02-18/jsown-20200218-git.tgz"; + sha256 = "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"; + system = "jsown"; + asd = "jsown"; + } + ); + systems = [ "jsown" ]; + lispLibs = [ ]; + meta = { }; + } + ); + jsown-tests = ( + build-asdf-system { + pname = "jsown-tests"; + version = "20200218-git"; + asds = [ "jsown-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jsown/2020-02-18/jsown-20200218-git.tgz"; + sha256 = "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"; + system = "jsown-tests"; + asd = "jsown-tests"; + } + ); + systems = [ "jsown-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "jsown" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jsown-utils = ( + build-asdf-system { + pname = "jsown-utils"; + version = "20220707-git"; + asds = [ "jsown-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jsown-utils/2022-07-07/jsown-utils-20220707-git.tgz"; + sha256 = "046a18fywkim0jbnpls5zqdv65j1kwl268p4dbdd2dxgx050fwak"; + system = "jsown-utils"; + asd = "jsown-utils"; + } + ); + systems = [ "jsown-utils" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "jsown" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jupyter-lab-extension = ( + build-asdf-system { + pname = "jupyter-lab-extension"; + version = "20241012-git"; + asds = [ "jupyter-lab-extension" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/common-lisp-jupyter/2024-10-12/common-lisp-jupyter-20241012-git.tgz"; + sha256 = "1qbrzv0myxfxq7rzm2y9cm2xymkl982982h2kbsl7d1yd5hrjvl6"; + system = "jupyter-lab-extension"; + asd = "jupyter-lab-extension"; + } + ); + systems = [ "jupyter-lab-extension" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + just-getopt-parser = ( + build-asdf-system { + pname = "just-getopt-parser"; + version = "20211209-git"; + asds = [ "just-getopt-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-just-getopt-parser/2021-12-09/cl-just-getopt-parser-20211209-git.tgz"; + sha256 = "0ngh8b51ngh3bqacl40j6wwiinhwxswsy02d9k7qlzv9sbjxay4s"; + system = "just-getopt-parser"; + asd = "just-getopt-parser"; + } + ); + systems = [ "just-getopt-parser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jwacs = ( + build-asdf-system { + pname = "jwacs"; + version = "20180228-git"; + asds = [ "jwacs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jwacs/2018-02-28/jwacs-20180228-git.tgz"; + sha256 = "1wzln3bjjmdv040i339dsm48a1sc2cnwhh4z066x2wkl5ka7j5b2"; + system = "jwacs"; + asd = "jwacs"; + } + ); + systems = [ "jwacs" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + jwacs-tests = ( + build-asdf-system { + pname = "jwacs-tests"; + version = "20180228-git"; + asds = [ "jwacs-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/jwacs/2018-02-28/jwacs-20180228-git.tgz"; + sha256 = "1wzln3bjjmdv040i339dsm48a1sc2cnwhh4z066x2wkl5ka7j5b2"; + system = "jwacs-tests"; + asd = "jwacs-tests"; + } + ); + systems = [ "jwacs-tests" ]; + lispLibs = [ (getAttr "jwacs" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kanren-trs = ( + build-asdf-system { + pname = "kanren-trs"; + version = "20120305-svn"; + asds = [ "kanren-trs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kanren-trs/2012-03-05/cl-kanren-trs-20120305-svn.tgz"; + sha256 = "1r9xyickdkkqcaa7abvks4hqwjb7s95lcrym026c1w6ciibiypr7"; + system = "kanren-trs"; + asd = "kanren-trs"; + } + ); + systems = [ "kanren-trs" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kanren-trs-test = ( + build-asdf-system { + pname = "kanren-trs-test"; + version = "20120305-svn"; + asds = [ "kanren-trs-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kanren-trs/2012-03-05/cl-kanren-trs-20120305-svn.tgz"; + sha256 = "1r9xyickdkkqcaa7abvks4hqwjb7s95lcrym026c1w6ciibiypr7"; + system = "kanren-trs-test"; + asd = "kanren-trs-test"; + } + ); + systems = [ "kanren-trs-test" ]; + lispLibs = [ (getAttr "kanren-trs" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kaputt = ( + build-asdf-system { + pname = "kaputt"; + version = "20221106-git"; + asds = [ "kaputt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-kaputt/2022-11-06/cl-kaputt-20221106-git.tgz"; + sha256 = "1jd9lmdzkjm6mawsxczg6czyv7zbmaplq0ikmda0ysh4aq3apnnj"; + system = "kaputt"; + asd = "kaputt"; + } + ); + systems = [ "kaputt" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kdl = ( + build-asdf-system { + pname = "kdl"; + version = "20230618-git"; + asds = [ "kdl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kdlcl/2023-06-18/kdlcl-20230618-git.tgz"; + sha256 = "0bqqxkd6s420ld2hmhvbbvpzss0m2kimmxaqhz7j1ksmq86bvvmj"; + system = "kdl"; + asd = "kdl"; + } + ); + systems = [ "kdl" ]; + lispLibs = [ + (getAttr "esrap" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kdtree-jk = ( + build-asdf-system { + pname = "kdtree-jk"; + version = "20230618-git"; + asds = [ "kdtree-jk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kdtree-jk/2023-06-18/kdtree-jk-20230618-git.tgz"; + sha256 = "0l311lmwp4sminl0k534s1kvfwmlk56bfnj7367zd7jl0hvs06ck"; + system = "kdtree-jk"; + asd = "kdtree-jk"; + } + ); + systems = [ "kdtree-jk" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kebab = ( + build-asdf-system { + pname = "kebab"; + version = "20150608-git"; + asds = [ "kebab" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kebab/2015-06-08/kebab-20150608-git.tgz"; + sha256 = "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"; + system = "kebab"; + asd = "kebab"; + } + ); + systems = [ "kebab" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kebab-test = ( + build-asdf-system { + pname = "kebab-test"; + version = "20150608-git"; + asds = [ "kebab-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kebab/2015-06-08/kebab-20150608-git.tgz"; + sha256 = "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"; + system = "kebab-test"; + asd = "kebab-test"; + } + ); + systems = [ "kebab-test" ]; + lispLibs = [ + (getAttr "kebab" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kekule-clj = ( + build-asdf-system { + pname = "kekule-clj"; + version = "20231021-git"; + asds = [ "kekule-clj" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kekule-clj/2023-10-21/kekule-clj-20231021-git.tgz"; + sha256 = "1901b11ilknd4gy7r5b00yq6syb6qsh0xalkdw4g0dqzvqqxnfj5"; + system = "kekule-clj"; + asd = "kekule-clj"; + } + ); + systems = [ "kekule-clj" ]; + lispLibs = [ + (getAttr "common-lisp-jupyter" self) + (getAttr "jupyter-lab-extension" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kenzo = ( + build-asdf-system { + pname = "kenzo"; + version = "20200325-git"; + asds = [ "kenzo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kenzo/2020-03-25/kenzo-20200325-git.tgz"; + sha256 = "0dg70p5pxvx2ksr66z3p2nkxxwkjd852pkckr15j6cwfaji9fr8r"; + system = "kenzo"; + asd = "kenzo"; + } + ); + systems = [ "kenzo" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kenzo-test = ( + build-asdf-system { + pname = "kenzo-test"; + version = "20200325-git"; + asds = [ "kenzo-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kenzo/2020-03-25/kenzo-20200325-git.tgz"; + sha256 = "0dg70p5pxvx2ksr66z3p2nkxxwkjd852pkckr15j6cwfaji9fr8r"; + system = "kenzo-test"; + asd = "kenzo-test"; + } + ); + systems = [ "kenzo-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "kenzo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + keystone = ( + build-asdf-system { + pname = "keystone"; + version = "20200427-git"; + asds = [ "keystone" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/keystone/2020-04-27/keystone-20200427-git.tgz"; + sha256 = "04fczbkihf87qyp9f1sv45h69xrvdmcmxkv4m868q8zqw6z48hlj"; + system = "keystone"; + asd = "keystone"; + } + ); + systems = [ "keystone" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "gt" self) + (getAttr "static-vectors" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + khazern = ( + build-asdf-system { + pname = "khazern"; + version = "20241012-git"; + asds = [ "khazern" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; + sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; + system = "khazern"; + asd = "khazern"; + } + ); + systems = [ "khazern" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + khazern-extrinsic = ( + build-asdf-system { + pname = "khazern-extrinsic"; + version = "20241012-git"; + asds = [ "khazern-extrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; + sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; + system = "khazern-extrinsic"; + asd = "khazern-extrinsic"; + } + ); + systems = [ "khazern-extrinsic" ]; + lispLibs = [ (getAttr "khazern" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + khazern-intrinsic = ( + build-asdf-system { + pname = "khazern-intrinsic"; + version = "20241012-git"; + asds = [ "khazern-intrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; + sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; + system = "khazern-intrinsic"; + asd = "khazern-intrinsic"; + } + ); + systems = [ "khazern-intrinsic" ]; + lispLibs = [ + (getAttr "khazern" self) + (getAttr "trivial-package-locks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + khazern-sequence = ( + build-asdf-system { + pname = "khazern-sequence"; + version = "20241012-git"; + asds = [ "khazern-sequence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; + sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; + system = "khazern-sequence"; + asd = "khazern-sequence"; + } + ); + systems = [ "khazern-sequence" ]; + lispLibs = [ + (getAttr "khazern" self) + (getAttr "trivial-extensible-sequences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + khazern-sequence-extrinsic = ( + build-asdf-system { + pname = "khazern-sequence-extrinsic"; + version = "20241012-git"; + asds = [ "khazern-sequence-extrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; + sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; + system = "khazern-sequence-extrinsic"; + asd = "khazern-sequence-extrinsic"; + } + ); + systems = [ "khazern-sequence-extrinsic" ]; + lispLibs = [ + (getAttr "khazern-extrinsic" self) + (getAttr "khazern-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + khazern-sequence-intrinsic = ( + build-asdf-system { + pname = "khazern-sequence-intrinsic"; + version = "20241012-git"; + asds = [ "khazern-sequence-intrinsic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/khazern/2024-10-12/khazern-20241012-git.tgz"; + sha256 = "1kc15gc0kahp8w9qfyb4yr1gnwqhk8dcvi5gm678bsnbqipaj30h"; + system = "khazern-sequence-intrinsic"; + asd = "khazern-sequence-intrinsic"; + } + ); + systems = [ "khazern-sequence-intrinsic" ]; + lispLibs = [ + (getAttr "khazern-intrinsic" self) + (getAttr "khazern-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kl-verify = ( + build-asdf-system { + pname = "kl-verify"; + version = "20120909-git"; + asds = [ "kl-verify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kl-verify/2012-09-09/kl-verify-20120909-git.tgz"; + sha256 = "1m5jyvvfb24idw0xzi92diyrygmq638dwxg0sl247yyvmwsqb8yj"; + system = "kl-verify"; + asd = "kl-verify"; + } + ); + systems = [ "kl-verify" ]; + lispLibs = [ (getAttr "image" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + km = ( + build-asdf-system { + pname = "km"; + version = "2-5-33"; + asds = [ "km" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/km/2011-05-22/km-2-5-33.tgz"; + sha256 = "0vl4g7vg20l14xc1b5g1d0scak6ck5028q5s5c75pr8fp15m7wyb"; + system = "km"; + asd = "km"; + } + ); + systems = [ "km" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + kmrcl = ( + build-asdf-system { + pname = "kmrcl"; + version = "20201016-git"; + asds = [ "kmrcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/kmrcl/2020-10-16/kmrcl-20201016-git.tgz"; + sha256 = "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"; + system = "kmrcl"; + asd = "kmrcl"; + } + ); + systems = [ "kmrcl" ]; + lispLibs = [ ]; + meta = { }; + } + ); + knx-conn = ( + build-asdf-system { + pname = "knx-conn"; + version = "20241012-git"; + asds = [ "knx-conn" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/knx-conn/2024-10-12/knx-conn-20241012-git.tgz"; + sha256 = "1zq716fr1mq096hbpndfawyi1a7pr6gsyxnv2g1b00vpgyf37c4r"; + system = "knx-conn"; + asd = "knx-conn"; + } + ); + systems = [ "knx-conn" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "binding-arrows" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "sento" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + l-math = ( + build-asdf-system { + pname = "l-math"; + version = "20190307-git"; + asds = [ "l-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/l-math/2019-03-07/l-math-20190307-git.tgz"; + sha256 = "12nhj1hrvgvmichrjf46fi0f1lzrjajw7k9i1f6qycnnqw45qan1"; + system = "l-math"; + asd = "l-math"; + } + ); + systems = [ "l-math" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + l-system = ( + build-asdf-system { + pname = "l-system"; + version = "20180228-git"; + asds = [ "l-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/l-system/2018-02-28/l-system-20180228-git.tgz"; + sha256 = "1zvd90s7y936bx7sirc38vs8r2rs62064ndj06ahrc38vagv4qwd"; + system = "l-system"; + asd = "l-system"; + } + ); + systems = [ "l-system" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + l-system-examples = ( + build-asdf-system { + pname = "l-system-examples"; + version = "20180228-git"; + asds = [ "l-system-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/l-system/2018-02-28/l-system-20180228-git.tgz"; + sha256 = "1zvd90s7y936bx7sirc38vs8r2rs62064ndj06ahrc38vagv4qwd"; + system = "l-system-examples"; + asd = "l-system-examples"; + } + ); + systems = [ "l-system-examples" ]; + lispLibs = [ (getAttr "l-system" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + laap = ( + build-asdf-system { + pname = "laap"; + version = "20170830-git"; + asds = [ "laap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/laap/2017-08-30/laap-20170830-git.tgz"; + sha256 = "0rzjdi4qcv2l99mk4bk94xlpfx1mav0kvd7crpax7dx4dfwkq8k5"; + system = "laap"; + asd = "laap"; + } + ); + systems = [ "laap" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-base32" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack = ( + build-asdf-system { + pname = "lack"; + version = "20241012-git"; + asds = [ "lack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack"; + asd = "lack"; + } + ); + systems = [ "lack" ]; + lispLibs = [ + (getAttr "lack-component" self) + (getAttr "lack-util" self) + ]; + meta = { }; + } + ); + lack-app-directory = ( + build-asdf-system { + pname = "lack-app-directory"; + version = "20241012-git"; + asds = [ "lack-app-directory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-app-directory"; + asd = "lack-app-directory"; + } + ); + systems = [ "lack-app-directory" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "lack-app-file" self) + (getAttr "quri" self) + (getAttr "trivial-mimes" self) + (getAttr "trivial-rfc-1123" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-app-file = ( + build-asdf-system { + pname = "lack-app-file"; + version = "20241012-git"; + asds = [ "lack-app-file" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-app-file"; + asd = "lack-app-file"; + } + ); + systems = [ "lack-app-file" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "lack-component" self) + (getAttr "trivial-mimes" self) + (getAttr "trivial-rfc-1123" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-component = ( + build-asdf-system { + pname = "lack-component"; + version = "20241012-git"; + asds = [ "lack-component" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-component"; + asd = "lack-component"; + } + ); + systems = [ "lack-component" ]; + lispLibs = [ ]; + meta = { }; + } + ); + lack-middleware-accesslog = ( + build-asdf-system { + pname = "lack-middleware-accesslog"; + version = "20241012-git"; + asds = [ "lack-middleware-accesslog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-accesslog"; + asd = "lack-middleware-accesslog"; + } + ); + systems = [ "lack-middleware-accesslog" ]; + lispLibs = [ + (getAttr "lack-util" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-anypool = ( + build-asdf-system { + pname = "lack-middleware-anypool"; + version = "20241012-git"; + asds = [ "lack-middleware-anypool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/anypool/2024-10-12/anypool-20241012-git.tgz"; + sha256 = "1ffssc5fzh7gj0z94xxfb3mk5cwja65lrhxyfgib15a6yxqf1kk1"; + system = "lack-middleware-anypool"; + asd = "lack-middleware-anypool"; + } + ); + systems = [ "lack-middleware-anypool" ]; + lispLibs = [ (getAttr "anypool" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-auth-basic = ( + build-asdf-system { + pname = "lack-middleware-auth-basic"; + version = "20241012-git"; + asds = [ "lack-middleware-auth-basic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-auth-basic"; + asd = "lack-middleware-auth-basic"; + } + ); + systems = [ "lack-middleware-auth-basic" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-backtrace = ( + build-asdf-system { + pname = "lack-middleware-backtrace"; + version = "20241012-git"; + asds = [ "lack-middleware-backtrace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-backtrace"; + asd = "lack-middleware-backtrace"; + } + ); + systems = [ "lack-middleware-backtrace" ]; + lispLibs = [ ]; + meta = { }; + } + ); + lack-middleware-clack-errors = ( + build-asdf-system { + pname = "lack-middleware-clack-errors"; + version = "20190813-git"; + asds = [ "lack-middleware-clack-errors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz"; + sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf"; + system = "lack-middleware-clack-errors"; + asd = "lack-middleware-clack-errors"; + } + ); + systems = [ "lack-middleware-clack-errors" ]; + lispLibs = [ (getAttr "clack-errors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-csrf = ( + build-asdf-system { + pname = "lack-middleware-csrf"; + version = "20241012-git"; + asds = [ "lack-middleware-csrf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-csrf"; + asd = "lack-middleware-csrf"; + } + ); + systems = [ "lack-middleware-csrf" ]; + lispLibs = [ + (getAttr "lack-request" self) + (getAttr "lack-util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-dbpool = ( + build-asdf-system { + pname = "lack-middleware-dbpool"; + version = "20241012-git"; + asds = [ "lack-middleware-dbpool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-dbpool"; + asd = "lack-middleware-dbpool"; + } + ); + systems = [ "lack-middleware-dbpool" ]; + lispLibs = [ + (getAttr "anypool" self) + (getAttr "dbi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-mito = ( + build-asdf-system { + pname = "lack-middleware-mito"; + version = "20241012-git"; + asds = [ "lack-middleware-mito" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; + sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; + system = "lack-middleware-mito"; + asd = "lack-middleware-mito"; + } + ); + systems = [ "lack-middleware-mito" ]; + lispLibs = [ + (getAttr "dbi" self) + (getAttr "mito-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-mount = ( + build-asdf-system { + pname = "lack-middleware-mount"; + version = "20241012-git"; + asds = [ "lack-middleware-mount" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-mount"; + asd = "lack-middleware-mount"; + } + ); + systems = [ "lack-middleware-mount" ]; + lispLibs = [ (getAttr "lack-component" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-session = ( + build-asdf-system { + pname = "lack-middleware-session"; + version = "20241012-git"; + asds = [ "lack-middleware-session" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-session"; + asd = "lack-middleware-session"; + } + ); + systems = [ "lack-middleware-session" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "lack-request" self) + (getAttr "lack-response" self) + (getAttr "lack-util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-middleware-static = ( + build-asdf-system { + pname = "lack-middleware-static"; + version = "20241012-git"; + asds = [ "lack-middleware-static" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-middleware-static"; + asd = "lack-middleware-static"; + } + ); + systems = [ "lack-middleware-static" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "lack-app-file" self) + (getAttr "lack-component" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-request = ( + build-asdf-system { + pname = "lack-request"; + version = "20241012-git"; + asds = [ "lack-request" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-request"; + asd = "lack-request"; + } + ); + systems = [ "lack-request" ]; + lispLibs = [ + (getAttr "circular-streams" self) + (getAttr "cl-ppcre" self) + (getAttr "http-body" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-response = ( + build-asdf-system { + pname = "lack-response"; + version = "20241012-git"; + asds = [ "lack-response" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-response"; + asd = "lack-response"; + } + ); + systems = [ "lack-response" ]; + lispLibs = [ + (getAttr "local-time" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-session-store-dbi = ( + build-asdf-system { + pname = "lack-session-store-dbi"; + version = "20241012-git"; + asds = [ "lack-session-store-dbi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-session-store-dbi"; + asd = "lack-session-store-dbi"; + } + ); + systems = [ "lack-session-store-dbi" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "dbi" self) + (getAttr "lack-middleware-session" self) + (getAttr "marshal" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-session-store-redis = ( + build-asdf-system { + pname = "lack-session-store-redis"; + version = "20241012-git"; + asds = [ "lack-session-store-redis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-session-store-redis"; + asd = "lack-session-store-redis"; + } + ); + systems = [ "lack-session-store-redis" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-redis" self) + (getAttr "lack-middleware-session" self) + (getAttr "marshal" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-test = ( + build-asdf-system { + pname = "lack-test"; + version = "20241012-git"; + asds = [ "lack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-test"; + asd = "lack-test"; + } + ); + systems = [ "lack-test" ]; + lispLibs = [ + (getAttr "cl-cookie" self) + (getAttr "flexi-streams" self) + (getAttr "lack" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lack-util = ( + build-asdf-system { + pname = "lack-util"; + version = "20241012-git"; + asds = [ "lack-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-util"; + asd = "lack-util"; + } + ); + systems = [ "lack-util" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-isaac" self) + ]; + meta = { }; + } + ); + lack-util-writer-stream = ( + build-asdf-system { + pname = "lack-util-writer-stream"; + version = "20241012-git"; + asds = [ "lack-util-writer-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lack/2024-10-12/lack-20241012-git.tgz"; + sha256 = "0w1gw5sma9lajap0v2fvy7b5nysswrakmqvczhv48wp65i9lvcys"; + system = "lack-util-writer-stream"; + asd = "lack-util-writer-stream"; + } + ); + systems = [ "lack-util-writer-stream" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lake = ( + build-asdf-system { + pname = "lake"; + version = "20220220-git"; + asds = [ "lake" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lake/2022-02-20/lake-20220220-git.tgz"; + sha256 = "1g6rr4d5vjx487ym5qjlnw5sd6rwx6l4zx1l9mj0j30lpm1k4il0"; + system = "lake"; + asd = "lake"; + } + ); + systems = [ "lake" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-interpol" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lake-cli = ( + build-asdf-system { + pname = "lake-cli"; + version = "20220220-git"; + asds = [ "lake-cli" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lake/2022-02-20/lake-20220220-git.tgz"; + sha256 = "1g6rr4d5vjx487ym5qjlnw5sd6rwx6l4zx1l9mj0j30lpm1k4il0"; + system = "lake-cli"; + asd = "lake-cli"; + } + ); + systems = [ "lake-cli" ]; + lispLibs = [ + (getAttr "deploy" self) + (getAttr "lake" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lake-test = ( + build-asdf-system { + pname = "lake-test"; + version = "20220220-git"; + asds = [ "lake-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lake/2022-02-20/lake-20220220-git.tgz"; + sha256 = "1g6rr4d5vjx487ym5qjlnw5sd6rwx6l4zx1l9mj0j30lpm1k4il0"; + system = "lake-test"; + asd = "lake-test"; + } + ); + systems = [ "lake-test" ]; + lispLibs = [ + (getAttr "lake" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lambda-fiddle = ( + build-asdf-system { + pname = "lambda-fiddle"; + version = "20231021-git"; + asds = [ "lambda-fiddle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lambda-fiddle/2023-10-21/lambda-fiddle-20231021-git.tgz"; + sha256 = "1hh0192qvymn3zwy9a0rsg98wgb8mnb9z2jzl2a2n1ssvpx61gpj"; + system = "lambda-fiddle"; + asd = "lambda-fiddle"; + } + ); + systems = [ "lambda-fiddle" ]; + lispLibs = [ ]; + meta = { }; + } + ); + lambda-reader = ( + build-asdf-system { + pname = "lambda-reader"; + version = "20170124-git"; + asds = [ "lambda-reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lambda-reader/2017-01-24/lambda-reader-20170124-git.tgz"; + sha256 = "0s73nrnvr0d2ql1gabcasmfnckzq0f2qs9317hv2mrrh0q1giq1w"; + system = "lambda-reader"; + asd = "lambda-reader"; + } + ); + systems = [ "lambda-reader" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lambda-reader-8bit = ( + build-asdf-system { + pname = "lambda-reader-8bit"; + version = "20170124-git"; + asds = [ "lambda-reader-8bit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lambda-reader/2017-01-24/lambda-reader-20170124-git.tgz"; + sha256 = "0s73nrnvr0d2ql1gabcasmfnckzq0f2qs9317hv2mrrh0q1giq1w"; + system = "lambda-reader-8bit"; + asd = "lambda-reader-8bit"; + } + ); + systems = [ "lambda-reader-8bit" ]; + lispLibs = [ + (getAttr "asdf-encodings" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lambdalite = ( + build-asdf-system { + pname = "lambdalite"; + version = "20141217-git"; + asds = [ "lambdalite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lambdalite/2014-12-17/lambdalite-20141217-git.tgz"; + sha256 = "0bvhix74afak5bpaa4x3p1b7gskpvzvw78aqkml9d40gpd1ky8lh"; + system = "lambdalite"; + asd = "lambdalite"; + } + ); + systems = [ "lambdalite" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "wu-sugar" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + language-codes = ( + build-asdf-system { + pname = "language-codes"; + version = "20231021-git"; + asds = [ "language-codes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/language-codes/2023-10-21/language-codes-20231021-git.tgz"; + sha256 = "0qbv0x0w415m48c6gjaw7ncnb1446q9sswr2p3svx7ijiwd19kja"; + system = "language-codes"; + asd = "language-codes"; + } + ); + systems = [ "language-codes" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + langutils = ( + build-asdf-system { + pname = "langutils"; + version = "20121125-git"; + asds = [ "langutils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-langutils/2012-11-25/cl-langutils-20121125-git.tgz"; + sha256 = "15y9x5wkg3fqndc04w2sc650fnwimxp4gjgpv9xvvdm9x4v433x6"; + system = "langutils"; + asd = "langutils"; + } + ); + systems = [ "langutils" ]; + lispLibs = [ + (getAttr "s-xml-rpc" self) + (getAttr "stdutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lapack = ( + build-asdf-system { + pname = "lapack"; + version = "20231021-git"; + asds = [ "lapack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "lapack"; + asd = "lapack"; + } + ); + systems = [ "lapack" ]; + lispLibs = [ + (getAttr "blas-complex" self) + (getAttr "blas-package" self) + (getAttr "blas-real" self) + (getAttr "f2cl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lass = ( + build-asdf-system { + pname = "lass"; + version = "20241012-git"; + asds = [ "lass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lass/2024-10-12/lass-20241012-git.tgz"; + sha256 = "1b6a3v763i5fcdxczffd59kh4m73p4ilz6az85apd22apc8lr80z"; + system = "lass"; + asd = "lass"; + } + ); + systems = [ "lass" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "trivial-indent" self) + (getAttr "trivial-mimes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lass-flexbox = ( + build-asdf-system { + pname = "lass-flexbox"; + version = "20160208-git"; + asds = [ "lass-flexbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lass-flexbox/2016-02-08/lass-flexbox-20160208-git.tgz"; + sha256 = "143rkff1ybi3b07qyzndxxndp7j4nw1biyp51rkl0yvsk85kj1jp"; + system = "lass-flexbox"; + asd = "lass-flexbox"; + } + ); + systems = [ "lass-flexbox" ]; + lispLibs = [ (getAttr "lass" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lass-flexbox-test = ( + build-asdf-system { + pname = "lass-flexbox-test"; + version = "20160208-git"; + asds = [ "lass-flexbox-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lass-flexbox/2016-02-08/lass-flexbox-20160208-git.tgz"; + sha256 = "143rkff1ybi3b07qyzndxxndp7j4nw1biyp51rkl0yvsk85kj1jp"; + system = "lass-flexbox-test"; + asd = "lass-flexbox-test"; + } + ); + systems = [ "lass-flexbox-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "lass-flexbox" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lassie = ( + build-asdf-system { + pname = "lassie"; + version = "20140713-git"; + asds = [ "lassie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lassie/2014-07-13/lassie-20140713-git.tgz"; + sha256 = "06ps25422ymp9n35745xhg3qsclfli52b7mxhw58wwz9q1v1n0rn"; + system = "lassie"; + asd = "lassie"; + } + ); + systems = [ "lassie" ]; + lispLibs = [ (getAttr "fsvd" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lastfm = ( + build-asdf-system { + pname = "lastfm"; + version = "20191007-git"; + asds = [ "lastfm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lastfm/2019-10-07/lastfm-20191007-git.tgz"; + sha256 = "1crg82fyzkm9a0czsf5vq6nwndg6gy7zqb2glbp3yaw6p2hrwkp4"; + system = "lastfm"; + asd = "lastfm"; + } + ); + systems = [ "lastfm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "defmemo" self) + (getAttr "drakma" self) + (getAttr "generators" self) + (getAttr "ironclad" self) + (getAttr "lquery" self) + (getAttr "plump" self) + (getAttr "trivial-open-browser" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + latex-table = ( + build-asdf-system { + pname = "latex-table"; + version = "20180328-git"; + asds = [ "latex-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/latex-table/2018-03-28/latex-table-20180328-git.tgz"; + sha256 = "04qqr62pdi7qs9p74a4a014l6sl6bk6hrlb7b7pknxx5c15xvcgv"; + system = "latex-table"; + asd = "latex-table"; + } + ); + systems = [ "latex-table" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "array-operations" self) + (getAttr "let-plus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + latter-day-paypal = ( + build-asdf-system { + pname = "latter-day-paypal"; + version = "20221106-git"; + asds = [ "latter-day-paypal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/latter-day-paypal/2022-11-06/latter-day-paypal-20221106-git.tgz"; + sha256 = "0a4xji2ymmr7s4gq0gc3bhbf62gwfs93ymmpvgsmb0afcsi5099q"; + system = "latter-day-paypal"; + asd = "latter-day-paypal"; + } + ); + systems = [ "latter-day-paypal" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "cl-tls" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "do-urlencode" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "ningle" self) + (getAttr "quri" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lazy = ( + build-asdf-system { + pname = "lazy"; + version = "20200925-git"; + asds = [ "lazy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lazy/2020-09-25/lazy-20200925-git.tgz"; + sha256 = "0m099rwr7k17v984n4jnq4hadf19vza5qilxdyrr43scxbbrmw1n"; + system = "lazy"; + asd = "lazy"; + } + ); + systems = [ "lazy" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ledger = ( + build-asdf-system { + pname = "ledger"; + version = "master-fe503896-git"; + asds = [ "ledger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "ledger"; + asd = "ledger"; + } + ); + systems = [ "ledger" ]; + lispLibs = [ (getAttr "gwl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + leech = ( + build-asdf-system { + pname = "leech"; + version = "20140713-git"; + asds = [ "leech" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz"; + sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2"; + system = "leech"; + asd = "leech"; + } + ); + systems = [ "leech" ]; + lispLibs = [ + (getAttr "aserve" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + legion = ( + build-asdf-system { + pname = "legion"; + version = "20231021-git"; + asds = [ "legion" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/legion/2023-10-21/legion-20231021-git.tgz"; + sha256 = "0mf29w6s45dwkjvvirqk7b87swb5wvaffgb836s6sx74wwdgyyk8"; + system = "legion"; + asd = "legion"; + } + ); + systems = [ "legion" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-speedy-queue" self) + (getAttr "vom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + legion-test = ( + build-asdf-system { + pname = "legion-test"; + version = "20231021-git"; + asds = [ "legion-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/legion/2023-10-21/legion-20231021-git.tgz"; + sha256 = "0mf29w6s45dwkjvvirqk7b87swb5wvaffgb836s6sx74wwdgyyk8"; + system = "legion-test"; + asd = "legion-test"; + } + ); + systems = [ "legion-test" ]; + lispLibs = [ + (getAttr "legion" self) + (getAttr "local-time" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + legit = ( + build-asdf-system { + pname = "legit"; + version = "20231021-git"; + asds = [ "legit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/legit/2023-10-21/legit-20231021-git.tgz"; + sha256 = "0jy021ywrbnkgbgb63ip6j7kr40m4wz2pz1v5ybn6xkkn6dyprsz"; + system = "legit"; + asd = "legit"; + } + ); + systems = [ "legit" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "lambda-fiddle" self) + (getAttr "simple-inferiors" self) + ]; + meta = { }; + } + ); + lem-opengl = ( + build-asdf-system { + pname = "lem-opengl"; + version = "20200427-git"; + asds = [ "lem-opengl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "lem-opengl"; + asd = "lem-opengl"; + } + ); + systems = [ "lem-opengl" ]; + lispLibs = [ + (getAttr "application" self) + (getAttr "control" self) + (getAttr "livesupport" self) + (getAttr "minilem" self) + (getAttr "ncurses-clone-for-lem" self) + (getAttr "sucle" self) + (getAttr "trivial-clipboard" self) + (getAttr "uncommon-lisp" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lemmy-api = ( + build-asdf-system { + pname = "lemmy-api"; + version = "20241012-git"; + asds = [ "lemmy-api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lemmy-api/2024-10-12/lemmy-api-20241012-git.tgz"; + sha256 = "0krlf3zw4snpkgqb564xk82b1d0q2scqs05s1kalr773a5d801s7"; + system = "lemmy-api"; + asd = "lemmy-api"; + } + ); + systems = [ "lemmy-api" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "dexador" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lemmy-api-bindings-generator = ( + build-asdf-system { + pname = "lemmy-api-bindings-generator"; + version = "20241012-git"; + asds = [ "lemmy-api-bindings-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lemmy-api/2024-10-12/lemmy-api-20241012-git.tgz"; + sha256 = "0krlf3zw4snpkgqb564xk82b1d0q2scqs05s1kalr773a5d801s7"; + system = "lemmy-api-bindings-generator"; + asd = "lemmy-api-bindings-generator"; + } + ); + systems = [ "lemmy-api-bindings-generator" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lense = ( + build-asdf-system { + pname = "lense"; + version = "20201220-git"; + asds = [ "lense" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lense/2020-12-20/lense-20201220-git.tgz"; + sha256 = "0j11m93an38d1cl6b1kaaj5azhkn64wpiiprlj2c4cjfzrc32ffv"; + system = "lense"; + asd = "lense"; + } + ); + systems = [ "lense" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "documentation-utils-extensions" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + let-over-lambda = ( + build-asdf-system { + pname = "let-over-lambda"; + version = "20231021-git"; + asds = [ "let-over-lambda" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/let-over-lambda/2023-10-21/let-over-lambda-20231021-git.tgz"; + sha256 = "0inzbmxlx5cvvx1isv827c2zr4qixcb47n6l6qjvc11gnwihdfjf"; + system = "let-over-lambda"; + asd = "let-over-lambda"; + } + ); + systems = [ "let-over-lambda" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "fare-quasiquote-extras" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + let-over-lambda-test = ( + build-asdf-system { + pname = "let-over-lambda-test"; + version = "20231021-git"; + asds = [ "let-over-lambda-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/let-over-lambda/2023-10-21/let-over-lambda-20231021-git.tgz"; + sha256 = "0inzbmxlx5cvvx1isv827c2zr4qixcb47n6l6qjvc11gnwihdfjf"; + system = "let-over-lambda-test"; + asd = "let-over-lambda-test"; + } + ); + systems = [ "let-over-lambda-test" ]; + lispLibs = [ + (getAttr "let-over-lambda" self) + (getAttr "named-readtables" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + let-plus = ( + build-asdf-system { + pname = "let-plus"; + version = "20191130-git"; + asds = [ "let-plus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/let-plus/2019-11-30/let-plus-20191130-git.tgz"; + sha256 = "00c0nq6l4zb692rzsc9aliqzj3avrssfyz4bhxzl7f1jsz3m29jb"; + system = "let-plus"; + asd = "let-plus"; + } + ); + systems = [ "let-plus" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + ]; + meta = { }; + } + ); + letrec = ( + build-asdf-system { + pname = "letrec"; + version = "20230618-git"; + asds = [ "letrec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/letrec/2023-06-18/letrec-20230618-git.tgz"; + sha256 = "1iwpqrpjbapdxq37g2w65r966f5nhj5466wwvd7lb1jgb03kaghn"; + system = "letrec"; + asd = "letrec"; + } + ); + systems = [ "letrec" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + letv = ( + build-asdf-system { + pname = "letv"; + version = "20241012-git"; + asds = [ "letv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/letv/2024-10-12/letv-20241012-git.tgz"; + sha256 = "000alkhqb2n47y6849pswp7dg9pd0wwgswfrcm0sm4bz3r7dyjx1"; + system = "letv"; + asd = "letv"; + } + ); + systems = [ "letv" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lev = ( + build-asdf-system { + pname = "lev"; + version = "20231021-git"; + asds = [ "lev" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lev/2023-10-21/lev-20231021-git.tgz"; + sha256 = "1lr3lzghvl5mbg9cp66carmawbzg64yd8vyivf1df10vllc7ngd6"; + system = "lev"; + asd = "lev"; + } + ); + systems = [ "lev" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lev-config" self) + ]; + meta = { }; + } + ); + lev-config = ( + build-asdf-system { + pname = "lev-config"; + version = "20231021-git"; + asds = [ "lev-config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lev/2023-10-21/lev-20231021-git.tgz"; + sha256 = "1lr3lzghvl5mbg9cp66carmawbzg64yd8vyivf1df10vllc7ngd6"; + system = "lev-config"; + asd = "lev-config"; + } + ); + systems = [ "lev-config" ]; + lispLibs = [ (getAttr "cffi-grovel" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + leveldb = ( + build-asdf-system { + pname = "leveldb"; + version = "20160531-git"; + asds = [ "leveldb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/leveldb/2016-05-31/leveldb-20160531-git.tgz"; + sha256 = "03i4qr3g8ga2vpc8qbnipan3i7y4809i036wppkkixcsbckslckv"; + system = "leveldb"; + asd = "leveldb"; + } + ); + systems = [ "leveldb" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + levenshtein = ( + build-asdf-system { + pname = "levenshtein"; + version = "1.0"; + asds = [ "levenshtein" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/levenshtein/2010-10-06/levenshtein-1.0.tgz"; + sha256 = "0b4hdv55qcjlh3ixy3fglvb90ggmm79nl02nxkly2ls6cd7rbf5i"; + system = "levenshtein"; + asd = "levenshtein"; + } + ); + systems = [ "levenshtein" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lfarm-admin = ( + build-asdf-system { + pname = "lfarm-admin"; + version = "20150608-git"; + asds = [ "lfarm-admin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-admin"; + asd = "lfarm-admin"; + } + ); + systems = [ "lfarm-admin" ]; + lispLibs = [ + (getAttr "lfarm-common" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lfarm-client = ( + build-asdf-system { + pname = "lfarm-client"; + version = "20150608-git"; + asds = [ "lfarm-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-client"; + asd = "lfarm-client"; + } + ); + systems = [ "lfarm-client" ]; + lispLibs = [ + (getAttr "lfarm-common" self) + (getAttr "lparallel" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + lfarm-common = ( + build-asdf-system { + pname = "lfarm-common"; + version = "20150608-git"; + asds = [ "lfarm-common" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-common"; + asd = "lfarm-common"; + } + ); + systems = [ "lfarm-common" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-store" self) + (getAttr "flexi-streams" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + lfarm-gss = ( + build-asdf-system { + pname = "lfarm-gss"; + version = "20150608-git"; + asds = [ "lfarm-gss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-gss"; + asd = "lfarm-gss"; + } + ); + systems = [ "lfarm-gss" ]; + lispLibs = [ + (getAttr "cl-gss" self) + (getAttr "lfarm-common" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lfarm-launcher = ( + build-asdf-system { + pname = "lfarm-launcher"; + version = "20150608-git"; + asds = [ "lfarm-launcher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-launcher"; + asd = "lfarm-launcher"; + } + ); + systems = [ "lfarm-launcher" ]; + lispLibs = [ + (getAttr "external-program" self) + (getAttr "lfarm-admin" self) + (getAttr "lfarm-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lfarm-server = ( + build-asdf-system { + pname = "lfarm-server"; + version = "20150608-git"; + asds = [ "lfarm-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-server"; + asd = "lfarm-server"; + } + ); + systems = [ "lfarm-server" ]; + lispLibs = [ + (getAttr "lfarm-common" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + lfarm-ssl = ( + build-asdf-system { + pname = "lfarm-ssl"; + version = "20150608-git"; + asds = [ "lfarm-ssl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-ssl"; + asd = "lfarm-ssl"; + } + ); + systems = [ "lfarm-ssl" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "lfarm-common" self) + ]; + meta = { }; + } + ); + lfarm-test = ( + build-asdf-system { + pname = "lfarm-test"; + version = "20150608-git"; + asds = [ "lfarm-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz"; + sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv"; + system = "lfarm-test"; + asd = "lfarm-test"; + } + ); + systems = [ "lfarm-test" ]; + lispLibs = [ + (getAttr "lfarm-admin" self) + (getAttr "lfarm-client" self) + (getAttr "lfarm-launcher" self) + (getAttr "lfarm-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lhstats = ( + build-asdf-system { + pname = "lhstats"; + version = "20120107-git"; + asds = [ "lhstats" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lhstats/2012-01-07/lhstats-20120107-git.tgz"; + sha256 = "1x8h37vm9yd0a2g7qzili673n1c3a9rzawq27rxyzjrggv9wdnlz"; + system = "lhstats"; + asd = "lhstats"; + } + ); + systems = [ "lhstats" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lib-helper = ( + build-asdf-system { + pname = "lib-helper"; + version = "20241012-git"; + asds = [ "lib-helper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lib-helper/2024-10-12/cl-lib-helper-20241012-git.tgz"; + sha256 = "11aq60cs510kx9gj709q3kkgddk8aqb32pdzyikr9jylig050wyk"; + system = "lib-helper"; + asd = "lib-helper"; + } + ); + systems = [ "lib-helper" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-containers" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lib-helper-test-system = ( + build-asdf-system { + pname = "lib-helper-test-system"; + version = "20241012-git"; + asds = [ "lib-helper-test-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lib-helper/2024-10-12/cl-lib-helper-20241012-git.tgz"; + sha256 = "11aq60cs510kx9gj709q3kkgddk8aqb32pdzyikr9jylig050wyk"; + system = "lib-helper-test-system"; + asd = "lib-helper-test-system"; + } + ); + systems = [ "lib-helper-test-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + libcmark = ( + build-asdf-system { + pname = "libcmark"; + version = "20241012-git"; + asds = [ "libcmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-cmark/2024-10-12/cl-cmark-20241012-git.tgz"; + sha256 = "1l4i530161ppfz0wn1da7g7dwf644ppp1afrq2p7qfkajm7dcfg5"; + system = "libcmark"; + asd = "libcmark"; + } + ); + systems = [ "libcmark" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + liblmdb = ( + build-asdf-system { + pname = "liblmdb"; + version = "20170830-git"; + asds = [ "liblmdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/liblmdb/2017-08-30/liblmdb-20170830-git.tgz"; + sha256 = "0484245fcbqza40n377qhsr2v838cih6pziav5vlnml1y0cgv62b"; + system = "liblmdb"; + asd = "liblmdb"; + } + ); + systems = [ "liblmdb" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + libssh2 = ( + build-asdf-system { + pname = "libssh2"; + version = "20160531-git"; + asds = [ "libssh2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libssh2/2016-05-31/cl-libssh2-20160531-git.tgz"; + sha256 = "1f2zq30zli0gnawclpasxsajpn20cpyy9d3q9zpqyw1sfrsn0hmk"; + system = "libssh2"; + asd = "libssh2"; + } + ); + systems = [ "libssh2" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-fad" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "split-sequence" self) + (getAttr "trivial-gray-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + libssh2_dot_test = ( + build-asdf-system { + pname = "libssh2.test"; + version = "20160531-git"; + asds = [ "libssh2.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libssh2/2016-05-31/cl-libssh2-20160531-git.tgz"; + sha256 = "1f2zq30zli0gnawclpasxsajpn20cpyy9d3q9zpqyw1sfrsn0hmk"; + system = "libssh2.test"; + asd = "libssh2.test"; + } + ); + systems = [ "libssh2.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "libssh2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + libusb-ffi = ( + build-asdf-system { + pname = "libusb-ffi"; + version = "20210228-git"; + asds = [ "libusb-ffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libusb/2021-02-28/cl-libusb-20210228-git.tgz"; + sha256 = "0kyzgcflwb85q58fgn82sp0bipnq5bprg5i4h0h3jxafqqyagbnk"; + system = "libusb-ffi"; + asd = "libusb-ffi"; + } + ); + systems = [ "libusb-ffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lichat-ldap = ( + build-asdf-system { + pname = "lichat-ldap"; + version = "20231021-git"; + asds = [ "lichat-ldap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lichat-ldap/2023-10-21/lichat-ldap-20231021-git.tgz"; + sha256 = "1jgj5c0sgr4rw9vsjhz71k3ld7hp8fbbmzrn3g11fq8jl4c4iai1"; + system = "lichat-ldap"; + asd = "lichat-ldap"; + } + ); + systems = [ "lichat-ldap" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "lichat-serverlib" self) + (getAttr "trivial-ldap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lichat-protocol = ( + build-asdf-system { + pname = "lichat-protocol"; + version = "20241012-git"; + asds = [ "lichat-protocol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lichat-protocol/2024-10-12/lichat-protocol-20241012-git.tgz"; + sha256 = "0y8546aaf539jnl29r4a8sa975jak1ld4d62w2n1kp8s9nb80z11"; + system = "lichat-protocol"; + asd = "lichat-protocol"; + } + ); + systems = [ "lichat-protocol" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-package-local-nicknames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lichat-serverlib = ( + build-asdf-system { + pname = "lichat-serverlib"; + version = "20231021-git"; + asds = [ "lichat-serverlib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lichat-serverlib/2023-10-21/lichat-serverlib-20231021-git.tgz"; + sha256 = "04830z49lczgdf8gval4j3s0fp5p6pfgvy783mrkcdfal2dcwacq"; + system = "lichat-serverlib"; + asd = "lichat-serverlib"; + } + ); + systems = [ "lichat-serverlib" ]; + lispLibs = [ + (getAttr "crypto-shortcuts" self) + (getAttr "documentation-utils" self) + (getAttr "lichat-protocol" self) + (getAttr "trivial-mimes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lichat-tcp-client = ( + build-asdf-system { + pname = "lichat-tcp-client"; + version = "20241012-git"; + asds = [ "lichat-tcp-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lichat-tcp-client/2024-10-12/lichat-tcp-client-20241012-git.tgz"; + sha256 = "1wwh396z7185nylrsz47b6l45hyfq6mjrm620fk5bsxr3jrzxs25"; + system = "lichat-tcp-client"; + asd = "lichat-tcp-client"; + } + ); + systems = [ "lichat-tcp-client" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "documentation-utils" self) + (getAttr "lichat-protocol" self) + (getAttr "trivial-mimes" self) + (getAttr "usocket" self) + (getAttr "verbose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lichat-tcp-server = ( + build-asdf-system { + pname = "lichat-tcp-server"; + version = "20231021-git"; + asds = [ "lichat-tcp-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lichat-tcp-server/2023-10-21/lichat-tcp-server-20231021-git.tgz"; + sha256 = "18dys957iw678y6bqfq9x85m2bnb0ck8gr6l4b61vv3g2yl2w53y"; + system = "lichat-tcp-server"; + asd = "lichat-tcp-server"; + } + ); + systems = [ "lichat-tcp-server" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "documentation-utils" self) + (getAttr "lichat-protocol" self) + (getAttr "lichat-serverlib" self) + (getAttr "usocket" self) + (getAttr "verbose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lichat-ws-server = ( + build-asdf-system { + pname = "lichat-ws-server"; + version = "20231021-git"; + asds = [ "lichat-ws-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lichat-ws-server/2023-10-21/lichat-ws-server-20231021-git.tgz"; + sha256 = "05vmc9b8b5igifm6lb5p3fssmny6ils7aimsizql3gay4nycvxgp"; + system = "lichat-ws-server"; + asd = "lichat-ws-server"; + } + ); + systems = [ "lichat-ws-server" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "documentation-utils" self) + (getAttr "hunchensocket" self) + (getAttr "lichat-protocol" self) + (getAttr "lichat-serverlib" self) + (getAttr "verbose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lift = ( + build-asdf-system { + pname = "lift"; + version = "20231021-git"; + asds = [ "lift" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lift/2023-10-21/lift-20231021-git.tgz"; + sha256 = "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"; + system = "lift"; + asd = "lift"; + } + ); + systems = [ "lift" ]; + lispLibs = [ ]; + meta = { }; + } + ); + lift-documentation = ( + build-asdf-system { + pname = "lift-documentation"; + version = "20231021-git"; + asds = [ "lift-documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lift/2023-10-21/lift-20231021-git.tgz"; + sha256 = "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"; + system = "lift-documentation"; + asd = "lift-documentation"; + } + ); + systems = [ "lift-documentation" ]; + lispLibs = [ (getAttr "lift" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lift-test = ( + build-asdf-system { + pname = "lift-test"; + version = "20231021-git"; + asds = [ "lift-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lift/2023-10-21/lift-20231021-git.tgz"; + sha256 = "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"; + system = "lift-test"; + asd = "lift-test"; + } + ); + systems = [ "lift-test" ]; + lispLibs = [ (getAttr "lift" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lil = ( + build-asdf-system { + pname = "lil"; + version = "20231021-git"; + asds = [ "lil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-interface-library/2023-10-21/lisp-interface-library-20231021-git.tgz"; + sha256 = "0krh8z696a0p894vmqdw9clzhpqfqff4c4rd7s8d8hd5jwjm40aq"; + system = "lil"; + asd = "lil"; + } + ); + systems = [ "lil" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "fare-memoization" self) + (getAttr "fare-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lila = ( + build-asdf-system { + pname = "lila"; + version = "20191007-git"; + asds = [ "lila" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lila/2019-10-07/lila-20191007-git.tgz"; + sha256 = "0n29ipbcxh4fm8f1vpaywv02iaayqqk61zsfk051ksjfl5kyqypq"; + system = "lila"; + asd = "lila"; + } + ); + systems = [ "lila" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lime = ( + build-asdf-system { + pname = "lime"; + version = "20230618-git"; + asds = [ "lime" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lime/2023-06-18/lime-20230618-git.tgz"; + sha256 = "1af1m3nxxqpaw85s1cc4qf0fkv3z061xk5k17ygfmchmv8sj1agp"; + system = "lime"; + asd = "lime"; + } + ); + systems = [ "lime" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "swank-protocol" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lime-example = ( + build-asdf-system { + pname = "lime-example"; + version = "20230618-git"; + asds = [ "lime-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lime/2023-06-18/lime-20230618-git.tgz"; + sha256 = "1af1m3nxxqpaw85s1cc4qf0fkv3z061xk5k17ygfmchmv8sj1agp"; + system = "lime-example"; + asd = "lime-example"; + } + ); + systems = [ "lime-example" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "lime" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lime-test = ( + build-asdf-system { + pname = "lime-test"; + version = "20230618-git"; + asds = [ "lime-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lime/2023-06-18/lime-20230618-git.tgz"; + sha256 = "1af1m3nxxqpaw85s1cc4qf0fkv3z061xk5k17ygfmchmv8sj1agp"; + system = "lime-test"; + asd = "lime-test"; + } + ); + systems = [ "lime-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "external-program" self) + (getAttr "fiveam" self) + (getAttr "lime" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linear-programming = ( + build-asdf-system { + pname = "linear-programming"; + version = "20241012-git"; + asds = [ "linear-programming" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linear-programming/2024-10-12/linear-programming-20241012-git.tgz"; + sha256 = "01dy54ycmalqlk4wrkw1y6vixr0mk0nxmfy3p1w5kpdwp3642h9g"; + system = "linear-programming"; + asd = "linear-programming"; + } + ); + systems = [ "linear-programming" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linear-programming-glpk = ( + build-asdf-system { + pname = "linear-programming-glpk"; + version = "20221106-git"; + asds = [ "linear-programming-glpk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linear-programming-glpk/2022-11-06/linear-programming-glpk-20221106-git.tgz"; + sha256 = "0vm4qgjvw5k3v62h78j6802dm075aif06hbjw600m3hybn84rs3l"; + system = "linear-programming-glpk"; + asd = "linear-programming-glpk"; + } + ); + systems = [ "linear-programming-glpk" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "linear-programming" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linear-programming-test = ( + build-asdf-system { + pname = "linear-programming-test"; + version = "20241012-git"; + asds = [ "linear-programming-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linear-programming/2024-10-12/linear-programming-20241012-git.tgz"; + sha256 = "01dy54ycmalqlk4wrkw1y6vixr0mk0nxmfy3p1w5kpdwp3642h9g"; + system = "linear-programming-test"; + asd = "linear-programming-test"; + } + ); + systems = [ "linear-programming-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "iterate" self) + (getAttr "linear-programming" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linedit = ( + build-asdf-system { + pname = "linedit"; + version = "20180430-git"; + asds = [ "linedit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linedit/2018-04-30/linedit-20180430-git.tgz"; + sha256 = "0hhh7xn6q12rviayfihg1ym6x6csa0pdjgb88ykqbrz2rs3pgpz5"; + system = "linedit"; + asd = "linedit"; + } + ); + systems = [ "linedit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "osicat" self) + (getAttr "terminfo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lineva = ( + build-asdf-system { + pname = "lineva"; + version = "20221106-git"; + asds = [ "lineva" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lineva/2022-11-06/lineva-20221106-git.tgz"; + sha256 = "193v40llsi51b4zk93fyrg5ll2309waw7ibl4z75bbw73kc4f2wx"; + system = "lineva"; + asd = "lineva"; + } + ); + systems = [ "lineva" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linewise-template = ( + build-asdf-system { + pname = "linewise-template"; + version = "20230618-git"; + asds = [ "linewise-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linewise-template/2023-06-18/linewise-template-20230618-git.tgz"; + sha256 = "08i2426lkcfcydmm9ca71whvyairrd0lklr6w7w17zbg0bsxsaaa"; + system = "linewise-template"; + asd = "linewise-template"; + } + ); + systems = [ "linewise-template" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linux-packaging = ( + build-asdf-system { + pname = "linux-packaging"; + version = "20211020-git"; + asds = [ "linux-packaging" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz"; + sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5"; + system = "linux-packaging"; + asd = "linux-packaging"; + } + ); + systems = [ "linux-packaging" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cffi-toolchain" self) + (getAttr "cl-ppcre" self) + (getAttr "wild-package-inferred-system" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + linux-packaging-tests = ( + build-asdf-system { + pname = "linux-packaging-tests"; + version = "20211020-git"; + asds = [ "linux-packaging-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz"; + sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5"; + system = "linux-packaging-tests"; + asd = "linux-packaging-tests"; + } + ); + systems = [ "linux-packaging-tests" ]; + lispLibs = [ + (getAttr "linux-packaging" self) + (getAttr "osicat" self) + (getAttr "sqlite" self) + (getAttr "wild-package-inferred-system" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisa = ( + build-asdf-system { + pname = "lisa"; + version = "20120407-git"; + asds = [ "lisa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisa/2012-04-07/lisa-20120407-git.tgz"; + sha256 = "12mpwxpczfq2hridjspbg51121hngbcnji37fhlr0vv4dqrg1z15"; + system = "lisa"; + asd = "lisa"; + } + ); + systems = [ "lisa" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-binary = ( + build-asdf-system { + pname = "lisp-binary"; + version = "20241012-git"; + asds = [ "lisp-binary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-binary/2024-10-12/lisp-binary-20241012-git.tgz"; + sha256 = "1zgk6pbhjj4agazffv6mc3hjzyg4xh256sla83iqy5mwm172d810"; + system = "lisp-binary"; + asd = "lisp-binary"; + } + ); + systems = [ "lisp-binary" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "closer-mop" self) + (getAttr "flexi-streams" self) + (getAttr "moptilities" self) + (getAttr "quasiquote-2_dot_0" self) + ]; + meta = { }; + } + ); + lisp-binary-test = ( + build-asdf-system { + pname = "lisp-binary-test"; + version = "20241012-git"; + asds = [ "lisp-binary-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-binary/2024-10-12/lisp-binary-20241012-git.tgz"; + sha256 = "1zgk6pbhjj4agazffv6mc3hjzyg4xh256sla83iqy5mwm172d810"; + system = "lisp-binary-test"; + asd = "lisp-binary-test"; + } + ); + systems = [ "lisp-binary-test" ]; + lispLibs = [ (getAttr "lisp-binary" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-chat = ( + build-asdf-system { + pname = "lisp-chat"; + version = "20241012-git"; + asds = [ "lisp-chat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-chat/2024-10-12/lisp-chat-20241012-git.tgz"; + sha256 = "16ckgxg0c3rx6qvwj5cn6rmfgxbj7587r9g342bw3nfxab0sqlzd"; + system = "lisp-chat"; + asd = "lisp-chat"; + } + ); + systems = [ "lisp-chat" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-readline" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-critic = ( + build-asdf-system { + pname = "lisp-critic"; + version = "20241012-git"; + asds = [ "lisp-critic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-critic/2024-10-12/lisp-critic-20241012-git.tgz"; + sha256 = "19czs2m8h3kgwjd10pdk9r5kazbgly8g82a5q3bs7pqkja42i7x7"; + system = "lisp-critic"; + asd = "lisp-critic"; + } + ); + systems = [ "lisp-critic" ]; + lispLibs = [ (getAttr "ckr-tables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-executable = ( + build-asdf-system { + pname = "lisp-executable"; + version = "20180831-git"; + asds = [ "lisp-executable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz"; + sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7"; + system = "lisp-executable"; + asd = "lisp-executable"; + } + ); + systems = [ "lisp-executable" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-executable-example = ( + build-asdf-system { + pname = "lisp-executable-example"; + version = "20180831-git"; + asds = [ "lisp-executable-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz"; + sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7"; + system = "lisp-executable-example"; + asd = "lisp-executable-example"; + } + ); + systems = [ "lisp-executable-example" ]; + lispLibs = [ (getAttr "lisp-executable" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-executable-tests = ( + build-asdf-system { + pname = "lisp-executable-tests"; + version = "20180831-git"; + asds = [ "lisp-executable-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz"; + sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7"; + system = "lisp-executable-tests"; + asd = "lisp-executable-tests"; + } + ); + systems = [ "lisp-executable-tests" ]; + lispLibs = [ + (getAttr "lisp-executable" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-interface-library = ( + build-asdf-system { + pname = "lisp-interface-library"; + version = "20231021-git"; + asds = [ "lisp-interface-library" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-interface-library/2023-10-21/lisp-interface-library-20231021-git.tgz"; + sha256 = "0krh8z696a0p894vmqdw9clzhpqfqff4c4rd7s8d8hd5jwjm40aq"; + system = "lisp-interface-library"; + asd = "lisp-interface-library"; + } + ); + systems = [ "lisp-interface-library" ]; + lispLibs = [ (getAttr "lil" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-invocation = ( + build-asdf-system { + pname = "lisp-invocation"; + version = "20180228-git"; + asds = [ "lisp-invocation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-invocation/2018-02-28/lisp-invocation-20180228-git.tgz"; + sha256 = "1qwvczjd5w6mrkz7ip3gl46f72dnxgngdc5bla35l2g7br96kzsl"; + system = "lisp-invocation"; + asd = "lisp-invocation"; + } + ); + systems = [ "lisp-invocation" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-namespace = ( + build-asdf-system { + pname = "lisp-namespace"; + version = "20221106-git"; + asds = [ "lisp-namespace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-namespace/2022-11-06/lisp-namespace-20221106-git.tgz"; + sha256 = "1p5db9mab4whapy1pl38ajw5fkrrdw266n05mnhf4xx2fb9sbx6p"; + system = "lisp-namespace"; + asd = "lisp-namespace"; + } + ); + systems = [ "lisp-namespace" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + lisp-namespace_dot_test = ( + build-asdf-system { + pname = "lisp-namespace.test"; + version = "20221106-git"; + asds = [ "lisp-namespace.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-namespace/2022-11-06/lisp-namespace-20221106-git.tgz"; + sha256 = "1p5db9mab4whapy1pl38ajw5fkrrdw266n05mnhf4xx2fb9sbx6p"; + system = "lisp-namespace.test"; + asd = "lisp-namespace.test"; + } + ); + systems = [ "lisp-namespace.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "lisp-namespace" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-pay = ( + build-asdf-system { + pname = "lisp-pay"; + version = "20241012-git"; + asds = [ "lisp-pay" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-pay/2024-10-12/lisp-pay-20241012-git.tgz"; + sha256 = "1rbkzngas67ras5cf90y3dk99md05jmnjgsh45khj4b6kzw5a4v5"; + system = "lisp-pay"; + asd = "lisp-pay"; + } + ); + systems = [ "lisp-pay" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "cl-tls" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "lack" self) + (getAttr "ningle" self) + (getAttr "shasht" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-preprocessor = ( + build-asdf-system { + pname = "lisp-preprocessor"; + version = "20200715-git"; + asds = [ "lisp-preprocessor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-preprocessor/2020-07-15/lisp-preprocessor-20200715-git.tgz"; + sha256 = "0v0qhawcvgbxk06nfwyvcqwmqvzn2svq80l2rb12myr0znschhpi"; + system = "lisp-preprocessor"; + asd = "lisp-preprocessor"; + } + ); + systems = [ "lisp-preprocessor" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + (getAttr "trivia" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-preprocessor-tests = ( + build-asdf-system { + pname = "lisp-preprocessor-tests"; + version = "20200715-git"; + asds = [ "lisp-preprocessor-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-preprocessor/2020-07-15/lisp-preprocessor-20200715-git.tgz"; + sha256 = "0v0qhawcvgbxk06nfwyvcqwmqvzn2svq80l2rb12myr0znschhpi"; + system = "lisp-preprocessor-tests"; + asd = "lisp-preprocessor"; + } + ); + systems = [ "lisp-preprocessor-tests" ]; + lispLibs = [ + (getAttr "lisp-preprocessor" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-stat = ( + build-asdf-system { + pname = "lisp-stat"; + version = "20241012-git"; + asds = [ "lisp-stat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-stat/2024-10-12/lisp-stat-20241012-git.tgz"; + sha256 = "0igrrwlfvdqxdqwqij819zlkma6b815d10v3kzh1r6hp9fhn0r3p"; + system = "lisp-stat"; + asd = "lisp-stat"; + } + ); + systems = [ "lisp-stat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "array-operations" self) + (getAttr "data-frame" self) + (getAttr "dexador" self) + (getAttr "dfio" self) + (getAttr "distributions" self) + (getAttr "num-utils" self) + (getAttr "org_dot_tfeb_dot_conduit-packages" self) + (getAttr "select" self) + (getAttr "statistics" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-types = ( + build-asdf-system { + pname = "lisp-types"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "lisp-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "lisp-types"; + asd = "lisp-types"; + } + ); + systems = [ "lisp-types" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "cl-robdd" self) + (getAttr "dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-types-analysis = ( + build-asdf-system { + pname = "lisp-types-analysis"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "lisp-types-analysis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "lisp-types-analysis"; + asd = "lisp-types-analysis"; + } + ); + systems = [ "lisp-types-analysis" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "cl-fad" self) + (getAttr "cl-robdd" self) + (getAttr "cl-robdd-analysis" self) + (getAttr "lisp-types" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-types-test = ( + build-asdf-system { + pname = "lisp-types-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "lisp-types-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "lisp-types-test"; + asd = "lisp-types-test"; + } + ); + systems = [ "lisp-types-test" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "lisp-types" self) + (getAttr "lisp-types-analysis" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lisp-unit = ( + build-asdf-system { + pname = "lisp-unit"; + version = "20170124-git"; + asds = [ "lisp-unit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-unit/2017-01-24/lisp-unit-20170124-git.tgz"; + sha256 = "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"; + system = "lisp-unit"; + asd = "lisp-unit"; + } + ); + systems = [ "lisp-unit" ]; + lispLibs = [ ]; + meta = { }; + } + ); + lisp-unit2 = ( + build-asdf-system { + pname = "lisp-unit2"; + version = "20230214-git"; + asds = [ "lisp-unit2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-unit2/2023-02-14/lisp-unit2-20230214-git.tgz"; + sha256 = "140nn22n1xv3qaash3x6h2h7xmys44s3f42b7bakfhpc4qlx0b69"; + system = "lisp-unit2"; + asd = "lisp-unit2"; + } + ); + systems = [ "lisp-unit2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-interpol" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + ]; + meta = { }; + } + ); + lispbuilder-lexer = ( + build-asdf-system { + pname = "lispbuilder-lexer"; + version = "20210807-git"; + asds = [ "lispbuilder-lexer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-lexer"; + asd = "lispbuilder-lexer"; + } + ); + systems = [ "lispbuilder-lexer" ]; + lispLibs = [ (getAttr "lispbuilder-regex" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-net = ( + build-asdf-system { + pname = "lispbuilder-net"; + version = "20210807-git"; + asds = [ "lispbuilder-net" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-net"; + asd = "lispbuilder-net"; + } + ); + systems = [ "lispbuilder-net" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-net-cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-net-cffi = ( + build-asdf-system { + pname = "lispbuilder-net-cffi"; + version = "20210807-git"; + asds = [ "lispbuilder-net-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-net-cffi"; + asd = "lispbuilder-net-cffi"; + } + ); + systems = [ "lispbuilder-net-cffi" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-opengl-1-1 = ( + build-asdf-system { + pname = "lispbuilder-opengl-1-1"; + version = "20210807-git"; + asds = [ "lispbuilder-opengl-1-1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-opengl-1-1"; + asd = "lispbuilder-opengl-1-1"; + } + ); + systems = [ "lispbuilder-opengl-1-1" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-opengl-examples = ( + build-asdf-system { + pname = "lispbuilder-opengl-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-opengl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-opengl-examples"; + asd = "lispbuilder-opengl-examples"; + } + ); + systems = [ "lispbuilder-opengl-examples" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-opengl-1-1" self) + (getAttr "lispbuilder-sdl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-regex = ( + build-asdf-system { + pname = "lispbuilder-regex"; + version = "20210807-git"; + asds = [ "lispbuilder-regex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-regex"; + asd = "lispbuilder-regex"; + } + ); + systems = [ "lispbuilder-regex" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl = ( + build-asdf-system { + pname = "lispbuilder-sdl"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl"; + asd = "lispbuilder-sdl"; + } + ); + systems = [ "lispbuilder-sdl" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl-assets" self) + (getAttr "lispbuilder-sdl-base" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-assets = ( + build-asdf-system { + pname = "lispbuilder-sdl-assets"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-assets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-assets"; + asd = "lispbuilder-sdl-assets"; + } + ); + systems = [ "lispbuilder-sdl-assets" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-base = ( + build-asdf-system { + pname = "lispbuilder-sdl-base"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-base"; + asd = "lispbuilder-sdl-base"; + } + ); + systems = [ "lispbuilder-sdl-base" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl-cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-binaries = ( + build-asdf-system { + pname = "lispbuilder-sdl-binaries"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-binaries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-binaries"; + asd = "lispbuilder-sdl-binaries"; + } + ); + systems = [ "lispbuilder-sdl-binaries" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-cffi = ( + build-asdf-system { + pname = "lispbuilder-sdl-cffi"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-cffi"; + asd = "lispbuilder-sdl-cffi"; + } + ); + systems = [ "lispbuilder-sdl-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl-binaries" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-cl-vectors = ( + build-asdf-system { + pname = "lispbuilder-sdl-cl-vectors"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-cl-vectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-cl-vectors"; + asd = "lispbuilder-sdl-cl-vectors"; + } + ); + systems = [ "lispbuilder-sdl-cl-vectors" ]; + lispLibs = [ + (getAttr "cl-aa-misc" self) + (getAttr "cl-paths-ttf" self) + (getAttr "cl-vectors" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "zpb-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-cl-vectors-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-cl-vectors-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-cl-vectors-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-cl-vectors-examples"; + asd = "lispbuilder-sdl-cl-vectors-examples"; + } + ); + systems = [ "lispbuilder-sdl-cl-vectors-examples" ]; + lispLibs = [ (getAttr "lispbuilder-sdl-cl-vectors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-examples"; + asd = "lispbuilder-sdl-examples"; + } + ); + systems = [ "lispbuilder-sdl-examples" ]; + lispLibs = [ (getAttr "lispbuilder-sdl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-gfx = ( + build-asdf-system { + pname = "lispbuilder-sdl-gfx"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-gfx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-gfx"; + asd = "lispbuilder-sdl-gfx"; + } + ); + systems = [ "lispbuilder-sdl-gfx" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-gfx-cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-gfx-binaries = ( + build-asdf-system { + pname = "lispbuilder-sdl-gfx-binaries"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-gfx-binaries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-gfx-binaries"; + asd = "lispbuilder-sdl-gfx-binaries"; + } + ); + systems = [ "lispbuilder-sdl-gfx-binaries" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-gfx-cffi = ( + build-asdf-system { + pname = "lispbuilder-sdl-gfx-cffi"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-gfx-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-gfx-cffi"; + asd = "lispbuilder-sdl-gfx-cffi"; + } + ); + systems = [ "lispbuilder-sdl-gfx-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-gfx-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-gfx-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-gfx-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-gfx-examples"; + asd = "lispbuilder-sdl-gfx-examples"; + } + ); + systems = [ "lispbuilder-sdl-gfx-examples" ]; + lispLibs = [ (getAttr "lispbuilder-sdl-gfx" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-image = ( + build-asdf-system { + pname = "lispbuilder-sdl-image"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-image" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-image"; + asd = "lispbuilder-sdl-image"; + } + ); + systems = [ "lispbuilder-sdl-image" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-image-cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-image-binaries = ( + build-asdf-system { + pname = "lispbuilder-sdl-image-binaries"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-image-binaries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-image-binaries"; + asd = "lispbuilder-sdl-image-binaries"; + } + ); + systems = [ "lispbuilder-sdl-image-binaries" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-image-cffi = ( + build-asdf-system { + pname = "lispbuilder-sdl-image-cffi"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-image-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-image-cffi"; + asd = "lispbuilder-sdl-image-cffi"; + } + ); + systems = [ "lispbuilder-sdl-image-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-image-binaries" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-image-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-image-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-image-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-image-examples"; + asd = "lispbuilder-sdl-image-examples"; + } + ); + systems = [ "lispbuilder-sdl-image-examples" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-image" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-mixer = ( + build-asdf-system { + pname = "lispbuilder-sdl-mixer"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-mixer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-mixer"; + asd = "lispbuilder-sdl-mixer"; + } + ); + systems = [ "lispbuilder-sdl-mixer" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-mixer-cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-mixer-binaries = ( + build-asdf-system { + pname = "lispbuilder-sdl-mixer-binaries"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-mixer-binaries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-mixer-binaries"; + asd = "lispbuilder-sdl-mixer-binaries"; + } + ); + systems = [ "lispbuilder-sdl-mixer-binaries" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-mixer-cffi = ( + build-asdf-system { + pname = "lispbuilder-sdl-mixer-cffi"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-mixer-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-mixer-cffi"; + asd = "lispbuilder-sdl-mixer-cffi"; + } + ); + systems = [ "lispbuilder-sdl-mixer-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-mixer-binaries" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-mixer-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-mixer-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-mixer-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-mixer-examples"; + asd = "lispbuilder-sdl-mixer-examples"; + } + ); + systems = [ "lispbuilder-sdl-mixer-examples" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-mixer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-ttf = ( + build-asdf-system { + pname = "lispbuilder-sdl-ttf"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-ttf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-ttf"; + asd = "lispbuilder-sdl-ttf"; + } + ); + systems = [ "lispbuilder-sdl-ttf" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-ttf-cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-ttf-binaries = ( + build-asdf-system { + pname = "lispbuilder-sdl-ttf-binaries"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-ttf-binaries" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-ttf-binaries"; + asd = "lispbuilder-sdl-ttf-binaries"; + } + ); + systems = [ "lispbuilder-sdl-ttf-binaries" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-ttf-cffi = ( + build-asdf-system { + pname = "lispbuilder-sdl-ttf-cffi"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-ttf-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-ttf-cffi"; + asd = "lispbuilder-sdl-ttf-cffi"; + } + ); + systems = [ "lispbuilder-sdl-ttf-cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-ttf-binaries" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-ttf-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-ttf-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-ttf-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-ttf-examples"; + asd = "lispbuilder-sdl-ttf-examples"; + } + ); + systems = [ "lispbuilder-sdl-ttf-examples" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-vecto = ( + build-asdf-system { + pname = "lispbuilder-sdl-vecto"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-vecto" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-vecto"; + asd = "lispbuilder-sdl-vecto"; + } + ); + systems = [ "lispbuilder-sdl-vecto" ]; + lispLibs = [ + (getAttr "lispbuilder-sdl" self) + (getAttr "lispbuilder-sdl-cl-vectors" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-sdl-vecto-examples = ( + build-asdf-system { + pname = "lispbuilder-sdl-vecto-examples"; + version = "20210807-git"; + asds = [ "lispbuilder-sdl-vecto-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-sdl-vecto-examples"; + asd = "lispbuilder-sdl-vecto-examples"; + } + ); + systems = [ "lispbuilder-sdl-vecto-examples" ]; + lispLibs = [ (getAttr "lispbuilder-sdl-vecto" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-windows = ( + build-asdf-system { + pname = "lispbuilder-windows"; + version = "20210807-git"; + asds = [ "lispbuilder-windows" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-windows"; + asd = "lispbuilder-windows"; + } + ); + systems = [ "lispbuilder-windows" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispbuilder-yacc = ( + build-asdf-system { + pname = "lispbuilder-yacc"; + version = "20210807-git"; + asds = [ "lispbuilder-yacc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz"; + sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq"; + system = "lispbuilder-yacc"; + asd = "lispbuilder-yacc"; + } + ); + systems = [ "lispbuilder-yacc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispcord = ( + build-asdf-system { + pname = "lispcord"; + version = "20241012-git"; + asds = [ "lispcord" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispcord/2024-10-12/lispcord-20241012-git.tgz"; + sha256 = "11xwrrvvqdm1wdnxrxqgizgw25plsn28n2k0lm5kakax9n221brn"; + system = "lispcord"; + asd = "lispcord"; + } + ); + systems = [ "lispcord" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "drakma" self) + (getAttr "jonathan" self) + (getAttr "split-sequence" self) + (getAttr "verbose" self) + (getAttr "websocket-driver-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lispqr = ( + build-asdf-system { + pname = "lispqr"; + version = "20210630-git"; + asds = [ "lispqr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lispqr/2021-06-30/lispqr-20210630-git.tgz"; + sha256 = "06v1xpw5r4nxll286frhkc3ysvr50m904d33marnjmiax41y8qkc"; + system = "lispqr"; + asd = "lispqr"; + } + ); + systems = [ "lispqr" ]; + lispLibs = [ (getAttr "zpng" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + list-named-class = ( + build-asdf-system { + pname = "list-named-class"; + version = "20200325-git"; + asds = [ "list-named-class" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/list-named-class/2020-03-25/list-named-class-20200325-git.tgz"; + sha256 = "1bdi9q9wvfj66jji3n9hpjrj9271ial2awsb0xw80bmy6wqbg8kq"; + system = "list-named-class"; + asd = "list-named-class"; + } + ); + systems = [ "list-named-class" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + list-of = ( + build-asdf-system { + pname = "list-of"; + version = "20221106-git"; + asds = [ "list-of" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-finalizers/2022-11-06/asdf-finalizers-20221106-git.tgz"; + sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"; + system = "list-of"; + asd = "list-of"; + } + ); + systems = [ "list-of" ]; + lispLibs = [ (getAttr "asdf-finalizers" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + listopia = ( + build-asdf-system { + pname = "listopia"; + version = "20210411-git"; + asds = [ "listopia" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz"; + sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0"; + system = "listopia"; + asd = "listopia"; + } + ); + systems = [ "listopia" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + listopia-bench = ( + build-asdf-system { + pname = "listopia-bench"; + version = "20210411-git"; + asds = [ "listopia-bench" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz"; + sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0"; + system = "listopia-bench"; + asd = "listopia-bench"; + } + ); + systems = [ "listopia-bench" ]; + lispLibs = [ + (getAttr "listopia" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-benchmark" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + liter = ( + build-asdf-system { + pname = "liter"; + version = "20211020-git"; + asds = [ "liter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; + sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; + system = "liter"; + asd = "liter"; + } + ); + systems = [ "liter" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + literate-demo = ( + build-asdf-system { + pname = "literate-demo"; + version = "20230618-git"; + asds = [ "literate-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/literate-lisp/2023-06-18/literate-lisp-20230618-git.tgz"; + sha256 = "0smxf0a62dnwcfxsbsdkx4n5nqx9dlxdz6c2vfivxpqld6d6ap02"; + system = "literate-demo"; + asd = "literate-demo"; + } + ); + systems = [ "literate-demo" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "literate-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + literate-lisp = ( + build-asdf-system { + pname = "literate-lisp"; + version = "20230618-git"; + asds = [ "literate-lisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/literate-lisp/2023-06-18/literate-lisp-20230618-git.tgz"; + sha256 = "0smxf0a62dnwcfxsbsdkx4n5nqx9dlxdz6c2vfivxpqld6d6ap02"; + system = "literate-lisp"; + asd = "literate-lisp"; + } + ); + systems = [ "literate-lisp" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + litterae = ( + build-asdf-system { + pname = "litterae"; + version = "20200715-git"; + asds = [ "litterae" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz"; + sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl"; + system = "litterae"; + asd = "litterae"; + } + ); + systems = [ "litterae" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "cl-yaml" self) + (getAttr "docparser" self) + (getAttr "lsx" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + litterae-test-system = ( + build-asdf-system { + pname = "litterae-test-system"; + version = "20200715-git"; + asds = [ "litterae-test-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz"; + sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl"; + system = "litterae-test-system"; + asd = "litterae-test-system"; + } + ); + systems = [ "litterae-test-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + livesupport = ( + build-asdf-system { + pname = "livesupport"; + version = "release-quicklisp-71e6e412-git"; + asds = [ "livesupport" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/livesupport/2019-05-21/livesupport-release-quicklisp-71e6e412-git.tgz"; + sha256 = "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"; + system = "livesupport"; + asd = "livesupport"; + } + ); + systems = [ "livesupport" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lla = ( + build-asdf-system { + pname = "lla"; + version = "20241012-git"; + asds = [ "lla" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lla/2024-10-12/lla-20241012-git.tgz"; + sha256 = "19j11z8m00ry2bfn3ahai155b6qz995qqg7ipzvjdr05sj4gfb58"; + system = "lla"; + asd = "lla"; + } + ); + systems = [ "lla" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cffi" self) + (getAttr "let-plus" self) + (getAttr "num-utils" self) + (getAttr "select" self) + ]; + meta = { }; + } + ); + lmdb = ( + build-asdf-system { + pname = "lmdb"; + version = "20230214-git"; + asds = [ "lmdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lmdb/2023-02-14/lmdb-20230214-git.tgz"; + sha256 = "1mccswfdgg7pxvnq3rds2zh0257853zqf81q4igfpjh5lhg3czgh"; + system = "lmdb"; + asd = "lmdb"; + } + ); + systems = [ "lmdb" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-reexport" self) + (getAttr "mgl-pax" self) + (getAttr "osicat" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lml = ( + build-asdf-system { + pname = "lml"; + version = "20150923-git"; + asds = [ "lml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lml/2015-09-23/lml-20150923-git.tgz"; + sha256 = "1s8v9p08vwl08y6ssxn4l088zz57d6fr13lzdz93i9jb8w8884wk"; + system = "lml"; + asd = "lml"; + } + ); + systems = [ "lml" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lml-tests = ( + build-asdf-system { + pname = "lml-tests"; + version = "20150923-git"; + asds = [ "lml-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lml/2015-09-23/lml-20150923-git.tgz"; + sha256 = "1s8v9p08vwl08y6ssxn4l088zz57d6fr13lzdz93i9jb8w8884wk"; + system = "lml-tests"; + asd = "lml-tests"; + } + ); + systems = [ "lml-tests" ]; + lispLibs = [ + (getAttr "lml" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lml2 = ( + build-asdf-system { + pname = "lml2"; + version = "20150923-git"; + asds = [ "lml2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lml2/2015-09-23/lml2-20150923-git.tgz"; + sha256 = "0v4d30x5zq1asp4r91nrzljpk2pm1plr0jns7a5wrf1n9fay57a6"; + system = "lml2"; + asd = "lml2"; + } + ); + systems = [ "lml2" ]; + lispLibs = [ (getAttr "kmrcl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lml2-tests = ( + build-asdf-system { + pname = "lml2-tests"; + version = "20150923-git"; + asds = [ "lml2-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lml2/2015-09-23/lml2-20150923-git.tgz"; + sha256 = "0v4d30x5zq1asp4r91nrzljpk2pm1plr0jns7a5wrf1n9fay57a6"; + system = "lml2-tests"; + asd = "lml2-tests"; + } + ); + systems = [ "lml2-tests" ]; + lispLibs = [ + (getAttr "lml2" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + local-package-aliases = ( + build-asdf-system { + pname = "local-package-aliases"; + version = "20201220-git"; + asds = [ "local-package-aliases" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/local-package-aliases/2020-12-20/local-package-aliases-20201220-git.tgz"; + sha256 = "01knnxnximj2qyg8lhv0ijw69hfwqbfbmgvfjwnm7jbdgcp9wxnr"; + system = "local-package-aliases"; + asd = "local-package-aliases"; + } + ); + systems = [ "local-package-aliases" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + local-time = ( + build-asdf-system { + pname = "local-time"; + version = "20241012-git"; + asds = [ "local-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/local-time/2024-10-12/local-time-20241012-git.tgz"; + sha256 = "0jb1mb5zs4ryiah8zjzhpln1z686mfmpmvg1phgpr2mh9vvlgjk2"; + system = "local-time"; + asd = "local-time"; + } + ); + systems = [ "local-time" ]; + lispLibs = [ ]; + meta = { }; + } + ); + local-time-duration = ( + build-asdf-system { + pname = "local-time-duration"; + version = "20180430-git"; + asds = [ "local-time-duration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/local-time-duration/2018-04-30/local-time-duration-20180430-git.tgz"; + sha256 = "0f13mg18lv31lclz9jvqyj8d85p1jj1366nlld8m3dxnnwsbbkd6"; + system = "local-time-duration"; + asd = "local-time-duration"; + } + ); + systems = [ "local-time-duration" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + log4cl = ( + build-asdf-system { + pname = "log4cl"; + version = "20230618-git"; + asds = [ "log4cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; + sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; + system = "log4cl"; + asd = "log4cl"; + } + ); + systems = [ "log4cl" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { }; + } + ); + log4cl-examples = ( + build-asdf-system { + pname = "log4cl-examples"; + version = "20230618-git"; + asds = [ "log4cl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; + sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; + system = "log4cl-examples"; + asd = "log4cl-examples"; + } + ); + systems = [ "log4cl-examples" ]; + lispLibs = [ + (getAttr "log4cl" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + log4cl-extras = ( + build-asdf-system { + pname = "log4cl-extras"; + version = "20241012-git"; + asds = [ "log4cl-extras" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log4cl-extras/2024-10-12/log4cl-extras-20241012-git.tgz"; + sha256 = "17p8y884163j0gab0idra297kivzdgagl2im0gkmdhgrh0dw3b53"; + system = "log4cl-extras"; + asd = "log4cl-extras"; + } + ); + systems = [ "log4cl-extras" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "cl-strings" self) + (getAttr "dissect" self) + (getAttr "global-vars" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "with-output-to-stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + log4cl-extras-test = ( + build-asdf-system { + pname = "log4cl-extras-test"; + version = "20241012-git"; + asds = [ "log4cl-extras-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log4cl-extras/2024-10-12/log4cl-extras-20241012-git.tgz"; + sha256 = "17p8y884163j0gab0idra297kivzdgagl2im0gkmdhgrh0dw3b53"; + system = "log4cl-extras-test"; + asd = "log4cl-extras-test"; + } + ); + systems = [ "log4cl-extras-test" ]; + lispLibs = [ + (getAttr "hamcrest" self) + (getAttr "jonathan" self) + (getAttr "rove" self) + (getAttr "secret-values" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + log4cl_dot_log4slime = ( + build-asdf-system { + pname = "log4cl.log4slime"; + version = "20230618-git"; + asds = [ "log4cl.log4slime" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; + sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; + system = "log4cl.log4slime"; + asd = "log4cl.log4slime"; + } + ); + systems = [ "log4cl.log4slime" ]; + lispLibs = [ + (getAttr "log4cl" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + log4cl_dot_log4sly = ( + build-asdf-system { + pname = "log4cl.log4sly"; + version = "20230618-git"; + asds = [ "log4cl.log4sly" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log4cl/2023-06-18/log4cl-20230618-git.tgz"; + sha256 = "0n119sy35k9yl4n18az1sw9a7saa5jh3v44863b305by1p5xdy7k"; + system = "log4cl.log4sly"; + asd = "log4cl.log4sly"; + } + ); + systems = [ "log4cl.log4sly" ]; + lispLibs = [ + (getAttr "log4cl" self) + (getAttr "slynk" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + log5 = ( + build-asdf-system { + pname = "log5"; + version = "20110619-git"; + asds = [ "log5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/log5/2011-06-19/log5-20110619-git.tgz"; + sha256 = "0f7qhhphijwk6a4hq18gpgifld7hwwpma6md845hgjmpvyqvrw2g"; + system = "log5"; + asd = "log5"; + } + ); + systems = [ "log5" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lorem-ipsum = ( + build-asdf-system { + pname = "lorem-ipsum"; + version = "20181018-git"; + asds = [ "lorem-ipsum" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lorem-ipsum/2018-10-18/lorem-ipsum-20181018-git.tgz"; + sha256 = "1530qq0bk3xr25m77q96pbi1idnxdkax8cwmvq4ch03rfjy34j7n"; + system = "lorem-ipsum"; + asd = "lorem-ipsum"; + } + ); + systems = [ "lorem-ipsum" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lowlight = ( + build-asdf-system { + pname = "lowlight"; + version = "20131211-git"; + asds = [ "lowlight" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; + sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; + system = "lowlight"; + asd = "lowlight"; + } + ); + systems = [ "lowlight" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "graylex" self) + (getAttr "spinneret" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lowlight_dot_doc = ( + build-asdf-system { + pname = "lowlight.doc"; + version = "20131211-git"; + asds = [ "lowlight.doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; + sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; + system = "lowlight.doc"; + asd = "lowlight.doc"; + } + ); + systems = [ "lowlight.doc" ]; + lispLibs = [ + (getAttr "cl-gendoc" self) + (getAttr "lowlight" self) + (getAttr "lowlight_dot_tests" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lowlight_dot_old = ( + build-asdf-system { + pname = "lowlight.old"; + version = "20131211-git"; + asds = [ "lowlight.old" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; + sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; + system = "lowlight.old"; + asd = "lowlight.old"; + } + ); + systems = [ "lowlight.old" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "spinneret" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lowlight_dot_tests = ( + build-asdf-system { + pname = "lowlight.tests"; + version = "20131211-git"; + asds = [ "lowlight.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz"; + sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p"; + system = "lowlight.tests"; + asd = "lowlight.tests"; + } + ); + systems = [ "lowlight.tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "lowlight" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lparallel = ( + build-asdf-system { + pname = "lparallel"; + version = "20160825-git"; + asds = [ "lparallel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz"; + sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"; + system = "lparallel"; + asd = "lparallel"; + } + ); + systems = [ "lparallel" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + ]; + meta = { }; + } + ); + lparallel-bench = ( + build-asdf-system { + pname = "lparallel-bench"; + version = "20160825-git"; + asds = [ "lparallel-bench" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz"; + sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"; + system = "lparallel-bench"; + asd = "lparallel-bench"; + } + ); + systems = [ "lparallel-bench" ]; + lispLibs = [ + (getAttr "lparallel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lparallel-test = ( + build-asdf-system { + pname = "lparallel-test"; + version = "20160825-git"; + asds = [ "lparallel-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz"; + sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"; + system = "lparallel-test"; + asd = "lparallel-test"; + } + ); + systems = [ "lparallel-test" ]; + lispLibs = [ (getAttr "lparallel" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lquery = ( + build-asdf-system { + pname = "lquery"; + version = "20231021-git"; + asds = [ "lquery" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lquery/2023-10-21/lquery-20231021-git.tgz"; + sha256 = "124cjp4a99cicdk18rwz2slcyzvm982saddrvqcr97fi4i2nhnsg"; + system = "lquery"; + asd = "lquery"; + } + ); + systems = [ "lquery" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "clss" self) + (getAttr "form-fiddle" self) + (getAttr "plump" self) + ]; + meta = { }; + } + ); + lquery-test = ( + build-asdf-system { + pname = "lquery-test"; + version = "20231021-git"; + asds = [ "lquery-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lquery/2023-10-21/lquery-20231021-git.tgz"; + sha256 = "124cjp4a99cicdk18rwz2slcyzvm982saddrvqcr97fi4i2nhnsg"; + system = "lquery-test"; + asd = "lquery-test"; + } + ); + systems = [ "lquery-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "lquery" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lracer = ( + build-asdf-system { + pname = "lracer"; + version = "20241012-git"; + asds = [ "lracer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/racer/2024-10-12/racer-20241012-git.tgz"; + sha256 = "120x046c6vcrj70vb6ryf04mwbr8c6a15llb68x7h1siij8vwgvk"; + system = "lracer"; + asd = "lracer"; + } + ); + systems = [ "lracer" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lredis = ( + build-asdf-system { + pname = "lredis"; + version = "20141106-git"; + asds = [ "lredis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lredis/2014-11-06/lredis-20141106-git.tgz"; + sha256 = "08srvlys0fyslfpmhc740cana7fkxm2kc7mxds4083wgxw3prhf2"; + system = "lredis"; + asd = "lredis"; + } + ); + systems = [ "lredis" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "babel-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lru-cache = ( + build-asdf-system { + pname = "lru-cache"; + version = "20241012-git"; + asds = [ "lru-cache" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lru-cache/2024-10-12/lru-cache-20241012-git.tgz"; + sha256 = "035pl11j1l129akgf33w5c0b8c6gxw1xpj54r0fzxz3dw7cs8pg1"; + system = "lru-cache"; + asd = "lru-cache"; + } + ); + systems = [ "lru-cache" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lru-cache-test = ( + build-asdf-system { + pname = "lru-cache-test"; + version = "20241012-git"; + asds = [ "lru-cache-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lru-cache/2024-10-12/lru-cache-20241012-git.tgz"; + sha256 = "035pl11j1l129akgf33w5c0b8c6gxw1xpj54r0fzxz3dw7cs8pg1"; + system = "lru-cache-test"; + asd = "lru-cache-test"; + } + ); + systems = [ "lru-cache-test" ]; + lispLibs = [ + (getAttr "lru-cache" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lsx = ( + build-asdf-system { + pname = "lsx"; + version = "20220220-git"; + asds = [ "lsx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lsx/2022-02-20/lsx-20220220-git.tgz"; + sha256 = "1pdq6csr8pkzcq2zkhhm6wkp9zxx2aypjd16rcw4q43mff09y041"; + system = "lsx"; + asd = "lsx"; + } + ); + systems = [ "lsx" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ltk = ( + build-asdf-system { + pname = "ltk"; + version = "20221106-git"; + asds = [ "ltk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ltk/2022-11-06/ltk-20221106-git.tgz"; + sha256 = "0vqmdq3k235hd8d9cg0ipv0kw28aiydvr9j1igfnrs1ns9sm79va"; + system = "ltk"; + asd = "ltk"; + } + ); + systems = [ "ltk" ]; + lispLibs = [ ]; + meta = { }; + } + ); + ltk-mw = ( + build-asdf-system { + pname = "ltk-mw"; + version = "20221106-git"; + asds = [ "ltk-mw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ltk/2022-11-06/ltk-20221106-git.tgz"; + sha256 = "0vqmdq3k235hd8d9cg0ipv0kw28aiydvr9j1igfnrs1ns9sm79va"; + system = "ltk-mw"; + asd = "ltk-mw"; + } + ); + systems = [ "ltk-mw" ]; + lispLibs = [ (getAttr "ltk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ltk-remote = ( + build-asdf-system { + pname = "ltk-remote"; + version = "20221106-git"; + asds = [ "ltk-remote" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ltk/2022-11-06/ltk-20221106-git.tgz"; + sha256 = "0vqmdq3k235hd8d9cg0ipv0kw28aiydvr9j1igfnrs1ns9sm79va"; + system = "ltk-remote"; + asd = "ltk-remote"; + } + ); + systems = [ "ltk-remote" ]; + lispLibs = [ (getAttr "ltk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lucene-in-action-tests = ( + build-asdf-system { + pname = "lucene-in-action-tests"; + version = "20180228-git"; + asds = [ "lucene-in-action-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; + sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; + system = "lucene-in-action-tests"; + asd = "lucene-in-action-tests"; + } + ); + systems = [ "lucene-in-action-tests" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "montezuma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lunamech-matrix-api = ( + build-asdf-system { + pname = "lunamech-matrix-api"; + version = "20230214-git"; + asds = [ "lunamech-matrix-api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lunamech-matrix-api/2023-02-14/lunamech-matrix-api-20230214-git.tgz"; + sha256 = "0a664qq4m5gk4iv5ck63gmsl3218jhjsalawklj56wn2pw0cf8a0"; + system = "lunamech-matrix-api"; + asd = "lunamech-matrix-api"; + } + ); + systems = [ "lunamech-matrix-api" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "do-urlencode" self) + (getAttr "drakma" self) + (getAttr "jonathan" self) + (getAttr "plump" self) + (getAttr "quri" self) + (getAttr "reader" self) + (getAttr "shasht" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lw-compat = ( + build-asdf-system { + pname = "lw-compat"; + version = "20160318-git"; + asds = [ "lw-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lw-compat/2016-03-18/lw-compat-20160318-git.tgz"; + sha256 = "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"; + system = "lw-compat"; + asd = "lw-compat"; + } + ); + systems = [ "lw-compat" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lyrics = ( + build-asdf-system { + pname = "lyrics"; + version = "20210807-git"; + asds = [ "lyrics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lyrics/2021-08-07/lyrics-20210807-git.tgz"; + sha256 = "1xdhl53i9pim2mbviwqahlkgfsja7ihyvvrwz8q22ljv6bnb6011"; + system = "lyrics"; + asd = "lyrics"; + } + ); + systems = [ "lyrics" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "defmemo" self) + (getAttr "drakma" self) + (getAttr "lquery" self) + (getAttr "plump" self) + (getAttr "sqlite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lzlib = ( + build-asdf-system { + pname = "lzlib"; + version = "20230618-git"; + asds = [ "lzlib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lzlib/2023-06-18/cl-lzlib-20230618-git.tgz"; + sha256 = "1nb2g6a7l1qzm1bwv8b15nflgv8rv478x0n7viv6rlwzgqs5q3b8"; + system = "lzlib"; + asd = "lzlib"; + } + ); + systems = [ "lzlib" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-octet-streams" self) + (getAttr "lparallel" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + lzlib-tests = ( + build-asdf-system { + pname = "lzlib-tests"; + version = "20230618-git"; + asds = [ "lzlib-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-lzlib/2023-06-18/cl-lzlib-20230618-git.tgz"; + sha256 = "1nb2g6a7l1qzm1bwv8b15nflgv8rv478x0n7viv6rlwzgqs5q3b8"; + system = "lzlib-tests"; + asd = "lzlib-tests"; + } + ); + systems = [ "lzlib-tests" ]; + lispLibs = [ + (getAttr "cl-octet-streams" self) + (getAttr "fiveam" self) + (getAttr "lzlib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + machine-state = ( + build-asdf-system { + pname = "machine-state"; + version = "20241012-git"; + asds = [ "machine-state" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/machine-state/2024-10-12/machine-state-20241012-git.tgz"; + sha256 = "1zmag6j9zfpnv9xfdjzb6dfg3jzvhandm1plyv50i619p0w0nagk"; + system = "machine-state"; + asd = "machine-state"; + } + ); + systems = [ "machine-state" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "pathname-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + macro-html = ( + build-asdf-system { + pname = "macro-html"; + version = "20151218-git"; + asds = [ "macro-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/macro-html/2015-12-18/macro-html-20151218-git.tgz"; + sha256 = "05gzgijz8r3dw3ilz7d5i0g0mbcyv9k8w2dgvw7n478njp1gfj4b"; + system = "macro-html"; + asd = "macro-html"; + } + ); + systems = [ "macro-html" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + macro-level = ( + build-asdf-system { + pname = "macro-level"; + version = "1.1"; + asds = [ "macro-level" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/macro-level/2023-10-21/macro-level_1.1.tgz"; + sha256 = "1jcidyf4kfzzj5vj4i3l1vw0sbj9njaminb6j1bcq70y9w15qm68"; + system = "macro-level"; + asd = "macro-level"; + } + ); + systems = [ "macro-level" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + macro-level__tests = ( + build-asdf-system { + pname = "macro-level_tests"; + version = "1.1"; + asds = [ "macro-level_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/macro-level/2023-10-21/macro-level_1.1.tgz"; + sha256 = "1jcidyf4kfzzj5vj4i3l1vw0sbj9njaminb6j1bcq70y9w15qm68"; + system = "macro-level_tests"; + asd = "macro-level_tests"; + } + ); + systems = [ "macro-level_tests" ]; + lispLibs = [ + (getAttr "macro-level" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + macrodynamics = ( + build-asdf-system { + pname = "macrodynamics"; + version = "20180228-git"; + asds = [ "macrodynamics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/macrodynamics/2018-02-28/macrodynamics-20180228-git.tgz"; + sha256 = "1ysgin8lzd4fdl5c63v3ga9v6lzk3gyl1h8jhl0ar6wyhd3023l4"; + system = "macrodynamics"; + asd = "macrodynamics"; + } + ); + systems = [ "macrodynamics" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + macroexpand-dammit = ( + build-asdf-system { + pname = "macroexpand-dammit"; + version = "20131111-http"; + asds = [ "macroexpand-dammit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/macroexpand-dammit/2013-11-11/macroexpand-dammit-20131111-http.tgz"; + sha256 = "10avpq3qffrc51hrfjwp3vi5vv9b1aip1dnwncnlc3yd498b3pfl"; + system = "macroexpand-dammit"; + asd = "macroexpand-dammit"; + } + ); + systems = [ "macroexpand-dammit" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + madeira-port = ( + build-asdf-system { + pname = "madeira-port"; + version = "20150709-git"; + asds = [ "madeira-port" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/madeira-port/2015-07-09/madeira-port-20150709-git.tgz"; + sha256 = "0zl6i11vm1akr0382zh582v3vkxjwmabsnfjcfgrp2wbkq4mvdgq"; + system = "madeira-port"; + asd = "madeira-port"; + } + ); + systems = [ "madeira-port" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + madeira-port-tests = ( + build-asdf-system { + pname = "madeira-port-tests"; + version = "20150709-git"; + asds = [ "madeira-port-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/madeira-port/2015-07-09/madeira-port-20150709-git.tgz"; + sha256 = "0zl6i11vm1akr0382zh582v3vkxjwmabsnfjcfgrp2wbkq4mvdgq"; + system = "madeira-port-tests"; + asd = "madeira-port"; + } + ); + systems = [ "madeira-port-tests" ]; + lispLibs = [ + (getAttr "eos" self) + (getAttr "madeira-port" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + magic-ed = ( + build-asdf-system { + pname = "magic-ed"; + version = "20200325-git"; + asds = [ "magic-ed" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magic-ed/2020-03-25/magic-ed-20200325-git.tgz"; + sha256 = "1j6il4lif0dy6hqiz6n91yl8dvii9pk1i9vz0faq5mnr42mr7i5f"; + system = "magic-ed"; + asd = "magic-ed"; + } + ); + systems = [ "magic-ed" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + magicffi = ( + build-asdf-system { + pname = "magicffi"; + version = "20210531-git"; + asds = [ "magicffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magicffi/2021-05-31/magicffi-20210531-git.tgz"; + sha256 = "0l2b2irpb19b9pyxbmkxi4i5y6crx8nk7qrbihsdqahlkrwsk1il"; + system = "magicffi"; + asd = "magicffi"; + } + ); + systems = [ "magicffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + magicl = ( + build-asdf-system { + pname = "magicl"; + version = "v0.11.0"; + asds = [ "magicl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; + sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; + system = "magicl"; + asd = "magicl"; + } + ); + systems = [ "magicl" ]; + lispLibs = [ + (getAttr "abstract-classes" self) + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "interface" self) + (getAttr "policy-cond" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + magicl-examples = ( + build-asdf-system { + pname = "magicl-examples"; + version = "v0.11.0"; + asds = [ "magicl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; + sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; + system = "magicl-examples"; + asd = "magicl-examples"; + } + ); + systems = [ "magicl-examples" ]; + lispLibs = [ (getAttr "magicl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + magicl-gen = ( + build-asdf-system { + pname = "magicl-gen"; + version = "v0.11.0"; + asds = [ "magicl-gen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; + sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; + system = "magicl-gen"; + asd = "magicl-gen"; + } + ); + systems = [ "magicl-gen" ]; + lispLibs = [ + (getAttr "abstract-classes" self) + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "interface" self) + (getAttr "policy-cond" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + magicl-tests = ( + build-asdf-system { + pname = "magicl-tests"; + version = "v0.11.0"; + asds = [ "magicl-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; + sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; + system = "magicl-tests"; + asd = "magicl-tests"; + } + ); + systems = [ "magicl-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiasco" self) + (getAttr "magicl" self) + (getAttr "magicl-examples" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + magicl-transcendental = ( + build-asdf-system { + pname = "magicl-transcendental"; + version = "v0.11.0"; + asds = [ "magicl-transcendental" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/magicl/2024-10-12/magicl-v0.11.0.tgz"; + sha256 = "10scw5qhrgjhfrlia5iqn2yy2zj1d57m45g479vg56lw849whscw"; + system = "magicl-transcendental"; + asd = "magicl-transcendental"; + } + ); + systems = [ "magicl-transcendental" ]; + lispLibs = [ + (getAttr "abstract-classes" self) + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "interface" self) + (getAttr "policy-cond" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden = ( + build-asdf-system { + pname = "maiden"; + version = "20241012-git"; + asds = [ "maiden" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden"; + asd = "maiden"; + } + ); + systems = [ "maiden" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "deeds" self) + (getAttr "documentation-utils" self) + (getAttr "form-fiddle" self) + (getAttr "lambda-fiddle" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-indent" self) + (getAttr "uuid" self) + (getAttr "verbose" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-accounts = ( + build-asdf-system { + pname = "maiden-accounts"; + version = "20241012-git"; + asds = [ "maiden-accounts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-accounts"; + asd = "maiden-accounts"; + } + ); + systems = [ "maiden-accounts" ]; + lispLibs = [ + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-activatable = ( + build-asdf-system { + pname = "maiden-activatable"; + version = "20241012-git"; + asds = [ "maiden-activatable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-activatable"; + asd = "maiden-activatable"; + } + ); + systems = [ "maiden-activatable" ]; + lispLibs = [ + (getAttr "maiden" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-api-access = ( + build-asdf-system { + pname = "maiden-api-access"; + version = "20241012-git"; + asds = [ "maiden-api-access" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-api-access"; + asd = "maiden-api-access"; + } + ); + systems = [ "maiden-api-access" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "jsown" self) + (getAttr "maiden" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-blocker = ( + build-asdf-system { + pname = "maiden-blocker"; + version = "20241012-git"; + asds = [ "maiden-blocker" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-blocker"; + asd = "maiden-blocker"; + } + ); + systems = [ "maiden-blocker" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-channel-relay = ( + build-asdf-system { + pname = "maiden-channel-relay"; + version = "20241012-git"; + asds = [ "maiden-channel-relay" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-channel-relay"; + asd = "maiden-channel-relay"; + } + ); + systems = [ "maiden-channel-relay" ]; + lispLibs = [ + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-chatlog = ( + build-asdf-system { + pname = "maiden-chatlog"; + version = "20241012-git"; + asds = [ "maiden-chatlog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-chatlog"; + asd = "maiden-chatlog"; + } + ); + systems = [ "maiden-chatlog" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + (getAttr "postmodern" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-client-entities = ( + build-asdf-system { + pname = "maiden-client-entities"; + version = "20241012-git"; + asds = [ "maiden-client-entities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-client-entities"; + asd = "maiden-client-entities"; + } + ); + systems = [ "maiden-client-entities" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "maiden" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-commands = ( + build-asdf-system { + pname = "maiden-commands"; + version = "20241012-git"; + asds = [ "maiden-commands" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-commands"; + asd = "maiden-commands"; + } + ); + systems = [ "maiden-commands" ]; + lispLibs = [ + (getAttr "lambda-fiddle" self) + (getAttr "maiden" self) + (getAttr "maiden-client-entities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-core-manager = ( + build-asdf-system { + pname = "maiden-core-manager"; + version = "20241012-git"; + asds = [ "maiden-core-manager" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-core-manager"; + asd = "maiden-core-manager"; + } + ); + systems = [ "maiden-core-manager" ]; + lispLibs = [ + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-counter = ( + build-asdf-system { + pname = "maiden-counter"; + version = "20241012-git"; + asds = [ "maiden-counter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-counter"; + asd = "maiden-counter"; + } + ); + systems = [ "maiden-counter" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "maiden-activatable" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-crimes = ( + build-asdf-system { + pname = "maiden-crimes"; + version = "20241012-git"; + asds = [ "maiden-crimes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-crimes"; + asd = "maiden-crimes"; + } + ); + systems = [ "maiden-crimes" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-dictionary = ( + build-asdf-system { + pname = "maiden-dictionary"; + version = "20241012-git"; + asds = [ "maiden-dictionary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-dictionary"; + asd = "maiden-dictionary"; + } + ); + systems = [ "maiden-dictionary" ]; + lispLibs = [ + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + (getAttr "oxenfurt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-emoticon = ( + build-asdf-system { + pname = "maiden-emoticon"; + version = "20241012-git"; + asds = [ "maiden-emoticon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-emoticon"; + asd = "maiden-emoticon"; + } + ); + systems = [ "maiden-emoticon" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "maiden-activatable" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-help = ( + build-asdf-system { + pname = "maiden-help"; + version = "20241012-git"; + asds = [ "maiden-help" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-help"; + asd = "maiden-help"; + } + ); + systems = [ "maiden-help" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-irc = ( + build-asdf-system { + pname = "maiden-irc"; + version = "20241012-git"; + asds = [ "maiden-irc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-irc"; + asd = "maiden-irc"; + } + ); + systems = [ "maiden-irc" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "form-fiddle" self) + (getAttr "lambda-fiddle" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-networking" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-lastfm = ( + build-asdf-system { + pname = "maiden-lastfm"; + version = "20241012-git"; + asds = [ "maiden-lastfm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-lastfm"; + asd = "maiden-lastfm"; + } + ); + systems = [ "maiden-lastfm" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-lichat = ( + build-asdf-system { + pname = "maiden-lichat"; + version = "20241012-git"; + asds = [ "maiden-lichat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-lichat"; + asd = "maiden-lichat"; + } + ); + systems = [ "maiden-lichat" ]; + lispLibs = [ + (getAttr "lichat-protocol" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-networking" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-location = ( + build-asdf-system { + pname = "maiden-location"; + version = "20241012-git"; + asds = [ "maiden-location" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-location"; + asd = "maiden-location"; + } + ); + systems = [ "maiden-location" ]; + lispLibs = [ + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-lookup = ( + build-asdf-system { + pname = "maiden-lookup"; + version = "20241012-git"; + asds = [ "maiden-lookup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-lookup"; + asd = "maiden-lookup"; + } + ); + systems = [ "maiden-lookup" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "lquery" self) + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-markov = ( + build-asdf-system { + pname = "maiden-markov"; + version = "20241012-git"; + asds = [ "maiden-markov" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-markov"; + asd = "maiden-markov"; + } + ); + systems = [ "maiden-markov" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "fast-io" self) + (getAttr "maiden-activatable" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-medals = ( + build-asdf-system { + pname = "maiden-medals"; + version = "20241012-git"; + asds = [ "maiden-medals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-medals"; + asd = "maiden-medals"; + } + ); + systems = [ "maiden-medals" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "maiden-accounts" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-networking = ( + build-asdf-system { + pname = "maiden-networking"; + version = "20241012-git"; + asds = [ "maiden-networking" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-networking"; + asd = "maiden-networking"; + } + ); + systems = [ "maiden-networking" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "maiden" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-notify = ( + build-asdf-system { + pname = "maiden-notify"; + version = "20241012-git"; + asds = [ "maiden-notify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-notify"; + asd = "maiden-notify"; + } + ); + systems = [ "maiden-notify" ]; + lispLibs = [ + (getAttr "maiden-accounts" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-permissions = ( + build-asdf-system { + pname = "maiden-permissions"; + version = "20241012-git"; + asds = [ "maiden-permissions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-permissions"; + asd = "maiden-permissions"; + } + ); + systems = [ "maiden-permissions" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-relay = ( + build-asdf-system { + pname = "maiden-relay"; + version = "20241012-git"; + asds = [ "maiden-relay" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-relay"; + asd = "maiden-relay"; + } + ); + systems = [ "maiden-relay" ]; + lispLibs = [ + (getAttr "maiden-networking" self) + (getAttr "maiden-serialize" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-serialize = ( + build-asdf-system { + pname = "maiden-serialize"; + version = "20241012-git"; + asds = [ "maiden-serialize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-serialize"; + asd = "maiden-serialize"; + } + ); + systems = [ "maiden-serialize" ]; + lispLibs = [ + (getAttr "cl-store" self) + (getAttr "gzip-stream" self) + (getAttr "maiden" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-silly = ( + build-asdf-system { + pname = "maiden-silly"; + version = "20241012-git"; + asds = [ "maiden-silly" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-silly"; + asd = "maiden-silly"; + } + ); + systems = [ "maiden-silly" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "lquery" self) + (getAttr "maiden-activatable" self) + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-storage = ( + build-asdf-system { + pname = "maiden-storage"; + version = "20241012-git"; + asds = [ "maiden-storage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-storage"; + asd = "maiden-storage"; + } + ); + systems = [ "maiden-storage" ]; + lispLibs = [ + (getAttr "maiden" self) + (getAttr "pathname-utils" self) + (getAttr "ubiquitous-concurrent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-talk = ( + build-asdf-system { + pname = "maiden-talk"; + version = "20241012-git"; + asds = [ "maiden-talk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-talk"; + asd = "maiden-talk"; + } + ); + systems = [ "maiden-talk" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "cl-mixed-mpg123" self) + (getAttr "drakma" self) + (getAttr "harmony" self) + (getAttr "maiden-commands" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-throttle = ( + build-asdf-system { + pname = "maiden-throttle"; + version = "20241012-git"; + asds = [ "maiden-throttle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-throttle"; + asd = "maiden-throttle"; + } + ); + systems = [ "maiden-throttle" ]; + lispLibs = [ + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-time = ( + build-asdf-system { + pname = "maiden-time"; + version = "20241012-git"; + asds = [ "maiden-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-time"; + asd = "maiden-time"; + } + ); + systems = [ "maiden-time" ]; + lispLibs = [ + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-location" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-trivia = ( + build-asdf-system { + pname = "maiden-trivia"; + version = "20241012-git"; + asds = [ "maiden-trivia" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-trivia"; + asd = "maiden-trivia"; + } + ); + systems = [ "maiden-trivia" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-twitter = ( + build-asdf-system { + pname = "maiden-twitter"; + version = "20241012-git"; + asds = [ "maiden-twitter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-twitter"; + asd = "maiden-twitter"; + } + ); + systems = [ "maiden-twitter" ]; + lispLibs = [ + (getAttr "chirp" self) + (getAttr "maiden-client-entities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-urlinfo = ( + build-asdf-system { + pname = "maiden-urlinfo"; + version = "20241012-git"; + asds = [ "maiden-urlinfo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-urlinfo"; + asd = "maiden-urlinfo"; + } + ); + systems = [ "maiden-urlinfo" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "maiden-activatable" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-vote = ( + build-asdf-system { + pname = "maiden-vote"; + version = "20241012-git"; + asds = [ "maiden-vote" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-vote"; + asd = "maiden-vote"; + } + ); + systems = [ "maiden-vote" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maiden-weather = ( + build-asdf-system { + pname = "maiden-weather"; + version = "20241012-git"; + asds = [ "maiden-weather" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maiden/2024-10-12/maiden-20241012-git.tgz"; + sha256 = "09r11y5j6l72qmalgwvrnbvgx7gxfnlrwjb5sy83krk4cw7hx6fd"; + system = "maiden-weather"; + asd = "maiden-weather"; + } + ); + systems = [ "maiden-weather" ]; + lispLibs = [ + (getAttr "local-time" self) + (getAttr "maiden-api-access" self) + (getAttr "maiden-client-entities" self) + (getAttr "maiden-commands" self) + (getAttr "maiden-location" self) + (getAttr "maiden-storage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maidenhead = ( + build-asdf-system { + pname = "maidenhead"; + version = "20241012-git"; + asds = [ "maidenhead" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maidenhead/2024-10-12/maidenhead-20241012-git.tgz"; + sha256 = "10pcx2ngyj6lkfbg1b58lzcm02xl1a3smnad5lvvw30pbalwcq46"; + system = "maidenhead"; + asd = "maidenhead"; + } + ); + systems = [ "maidenhead" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mailbox = ( + build-asdf-system { + pname = "mailbox"; + version = "20131003-git"; + asds = [ "mailbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mailbox/2013-10-03/mailbox-20131003-git.tgz"; + sha256 = "1qgkcss8m2q29kr9d040dnjmzl17vb7zzvlz5ry3z3zgbdwgj1sy"; + system = "mailbox"; + asd = "mailbox"; + } + ); + systems = [ "mailbox" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mailgun = ( + build-asdf-system { + pname = "mailgun"; + version = "20220707-git"; + asds = [ "mailgun" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mailgun/2022-07-07/mailgun-20220707-git.tgz"; + sha256 = "1wadkm5r2hmyz40m4kwg5rv4g4dwn3h2d8l2mn9dncg5qy37x2vl"; + system = "mailgun"; + asd = "mailgun"; + } + ); + systems = [ "mailgun" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "log4cl" self) + (getAttr "secret-values" self) + (getAttr "spinneret" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + make-hash = ( + build-asdf-system { + pname = "make-hash"; + version = "20130615-git"; + asds = [ "make-hash" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/make-hash/2013-06-15/make-hash-20130615-git.tgz"; + sha256 = "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"; + system = "make-hash"; + asd = "make-hash"; + } + ); + systems = [ "make-hash" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + make-hash-tests = ( + build-asdf-system { + pname = "make-hash-tests"; + version = "20130615-git"; + asds = [ "make-hash-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/make-hash/2013-06-15/make-hash-20130615-git.tgz"; + sha256 = "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"; + system = "make-hash-tests"; + asd = "make-hash-tests"; + } + ); + systems = [ "make-hash-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "make-hash" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + manifest = ( + build-asdf-system { + pname = "manifest"; + version = "20120208-git"; + asds = [ "manifest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/manifest/2012-02-08/manifest-20120208-git.tgz"; + sha256 = "0dswslnskskdbsln6vi7w8cbypw001d81xaxkfn4g7m15m9pzkgf"; + system = "manifest"; + asd = "manifest"; + } + ); + systems = [ "manifest" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "monkeylib-html" self) + (getAttr "puri" self) + (getAttr "split-sequence" self) + (getAttr "toot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + manifolds = ( + build-asdf-system { + pname = "manifolds"; + version = "20241012-git"; + asds = [ "manifolds" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/manifolds/2024-10-12/manifolds-20241012-git.tgz"; + sha256 = "1q9hy2k1xabf8whnyxjiaqypbnbq84q94z1gmqgicxyzn7h3ybw4"; + system = "manifolds"; + asd = "manifolds"; + } + ); + systems = [ "manifolds" ]; + lispLibs = [ + (getAttr "_3d-math" self) + (getAttr "_3d-spaces" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + manifolds-test = ( + build-asdf-system { + pname = "manifolds-test"; + version = "20241012-git"; + asds = [ "manifolds-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/manifolds/2024-10-12/manifolds-20241012-git.tgz"; + sha256 = "1q9hy2k1xabf8whnyxjiaqypbnbq84q94z1gmqgicxyzn7h3ybw4"; + system = "manifolds-test"; + asd = "manifolds-test"; + } + ); + systems = [ "manifolds-test" ]; + lispLibs = [ + (getAttr "cl-wavefront" self) + (getAttr "manifolds" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + map-bind = ( + build-asdf-system { + pname = "map-bind"; + version = "20120811-git"; + asds = [ "map-bind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/map-bind/2012-08-11/map-bind-20120811-git.tgz"; + sha256 = "06z02c0ypfrd789glbidnhf95839hardd7nr3i95l1adm8pas30f"; + system = "map-bind"; + asd = "map-bind"; + } + ); + systems = [ "map-bind" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + map-set = ( + build-asdf-system { + pname = "map-set"; + version = "20230618-git"; + asds = [ "map-set" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/map-set/2023-06-18/map-set-20230618-git.tgz"; + sha256 = "1jlvgyvw9v49x65xvcc6vyy5nfgih43yysqj5v2555rm75p5ipgg"; + system = "map-set"; + asd = "map-set"; + } + ); + systems = [ "map-set" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + marching-cubes = ( + build-asdf-system { + pname = "marching-cubes"; + version = "20150709-git"; + asds = [ "marching-cubes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz"; + sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh"; + system = "marching-cubes"; + asd = "marching-cubes"; + } + ); + systems = [ "marching-cubes" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + marching-cubes-example = ( + build-asdf-system { + pname = "marching-cubes-example"; + version = "20150709-git"; + asds = [ "marching-cubes-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz"; + sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh"; + system = "marching-cubes-example"; + asd = "marching-cubes-example"; + } + ); + systems = [ "marching-cubes-example" ]; + lispLibs = [ (getAttr "marching-cubes" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + marching-cubes-test = ( + build-asdf-system { + pname = "marching-cubes-test"; + version = "20150709-git"; + asds = [ "marching-cubes-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz"; + sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh"; + system = "marching-cubes-test"; + asd = "marching-cubes-test"; + } + ); + systems = [ "marching-cubes-test" ]; + lispLibs = [ + (getAttr "cl-test-more" self) + (getAttr "marching-cubes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + markdown_dot_cl = ( + build-asdf-system { + pname = "markdown.cl"; + version = "20210228-git"; + asds = [ "markdown.cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/markdown.cl/2021-02-28/markdown.cl-20210228-git.tgz"; + sha256 = "00yxg67skx3navq7fdsjy0wds16n9n12bhdzv08f43bgbwali7v8"; + system = "markdown.cl"; + asd = "markdown.cl"; + } + ); + systems = [ "markdown.cl" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + markdown_dot_cl-test = ( + build-asdf-system { + pname = "markdown.cl-test"; + version = "20210228-git"; + asds = [ "markdown.cl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/markdown.cl/2021-02-28/markdown.cl-20210228-git.tgz"; + sha256 = "00yxg67skx3navq7fdsjy0wds16n9n12bhdzv08f43bgbwali7v8"; + system = "markdown.cl-test"; + asd = "markdown.cl-test"; + } + ); + systems = [ "markdown.cl-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "markdown_dot_cl" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + markup = ( + build-asdf-system { + pname = "markup"; + version = "20230618-git"; + asds = [ "markup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/markup/2023-06-18/markup-20230618-git.tgz"; + sha256 = "1paj76r1bfq4pr6m6j1mgik8b97sl2zgzy7rvvwwfrs2j1mf8byd"; + system = "markup"; + asd = "markup"; + } + ); + systems = [ "markup" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "named-readtables" self) + (getAttr "str" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + markup_dot_test = ( + build-asdf-system { + pname = "markup.test"; + version = "20230618-git"; + asds = [ "markup.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/markup/2023-06-18/markup-20230618-git.tgz"; + sha256 = "1paj76r1bfq4pr6m6j1mgik8b97sl2zgzy7rvvwwfrs2j1mf8byd"; + system = "markup.test"; + asd = "markup.test"; + } + ); + systems = [ "markup.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "markup" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + marshal = ( + build-asdf-system { + pname = "marshal"; + version = "20241012-git"; + asds = [ "marshal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-marshal/2024-10-12/cl-marshal-20241012-git.tgz"; + sha256 = "081j2gfjdg05xzcq0jzqxjb874wkjdbxk9vah7hmlw9d767mzs5b"; + system = "marshal"; + asd = "marshal"; + } + ); + systems = [ "marshal" ]; + lispLibs = [ ]; + meta = { }; + } + ); + marshal-tests = ( + build-asdf-system { + pname = "marshal-tests"; + version = "20241012-git"; + asds = [ "marshal-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-marshal/2024-10-12/cl-marshal-20241012-git.tgz"; + sha256 = "081j2gfjdg05xzcq0jzqxjb874wkjdbxk9vah7hmlw9d767mzs5b"; + system = "marshal-tests"; + asd = "marshal-tests"; + } + ); + systems = [ "marshal-tests" ]; + lispLibs = [ + (getAttr "marshal" self) + (getAttr "xlunit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + math = ( + build-asdf-system { + pname = "math"; + version = "20241012-git"; + asds = [ "math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/math/2024-10-12/math-20241012-git.tgz"; + sha256 = "104rga7fqq3xvdxryhmgdq8zygd00zk5xb05glwqw01ygl3bc0r3"; + system = "math"; + asd = "math"; + } + ); + systems = [ "math" ]; + lispLibs = [ + (getAttr "cl-utilities" self) + (getAttr "closer-mop" self) + (getAttr "font-discovery" self) + (getAttr "gsll" self) + (getAttr "vgplot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mathkit = ( + build-asdf-system { + pname = "mathkit"; + version = "20160208-git"; + asds = [ "mathkit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mathkit/2016-02-08/mathkit-20160208-git.tgz"; + sha256 = "174y6ndmf52h8sml87qjfl48llmynvdizzk2h0mr85zbaysx73i3"; + system = "mathkit"; + asd = "mathkit"; + } + ); + systems = [ "mathkit" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + matrix-case = ( + build-asdf-system { + pname = "matrix-case"; + version = "20211020-git"; + asds = [ "matrix-case" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/matrix-case/2021-10-20/matrix-case-20211020-git.tgz"; + sha256 = "17k7x7wcl78xw4ajd38gva2dw7snsm9jppbnnl4by2s0grsqg50a"; + system = "matrix-case"; + asd = "matrix-case"; + } + ); + systems = [ "matrix-case" ]; + lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + matrix-case_dot_test = ( + build-asdf-system { + pname = "matrix-case.test"; + version = "20211020-git"; + asds = [ "matrix-case.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/matrix-case/2021-10-20/matrix-case-20211020-git.tgz"; + sha256 = "17k7x7wcl78xw4ajd38gva2dw7snsm9jppbnnl4by2s0grsqg50a"; + system = "matrix-case.test"; + asd = "matrix-case.test"; + } + ); + systems = [ "matrix-case.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "matrix-case" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maxpc = ( + build-asdf-system { + pname = "maxpc"; + version = "20200427-git"; + asds = [ "maxpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maxpc/2020-04-27/maxpc-20200427-git.tgz"; + sha256 = "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf"; + system = "maxpc"; + asd = "maxpc"; + } + ); + systems = [ "maxpc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maxpc-apache = ( + build-asdf-system { + pname = "maxpc-apache"; + version = "20241012-git"; + asds = [ "maxpc-apache" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "maxpc-apache"; + asd = "maxpc-apache"; + } + ); + systems = [ "maxpc-apache" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maxpc-apache-test = ( + build-asdf-system { + pname = "maxpc-apache-test"; + version = "20241012-git"; + asds = [ "maxpc-apache-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "maxpc-apache-test"; + asd = "maxpc-apache-test"; + } + ); + systems = [ "maxpc-apache-test" ]; + lispLibs = [ (getAttr "maxpc-apache" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + maxpc-test = ( + build-asdf-system { + pname = "maxpc-test"; + version = "20200427-git"; + asds = [ "maxpc-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/maxpc/2020-04-27/maxpc-20200427-git.tgz"; + sha256 = "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf"; + system = "maxpc-test"; + asd = "maxpc-test"; + } + ); + systems = [ "maxpc-test" ]; + lispLibs = [ (getAttr "maxpc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mbe = ( + build-asdf-system { + pname = "mbe"; + version = "20200218-git"; + asds = [ "mbe" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mbe/2020-02-18/mbe-20200218-git.tgz"; + sha256 = "1wlhlddfv0jbqliqlvhxkmmj9pfym0f9qlvjjmlrkvx6fxpv0450"; + system = "mbe"; + asd = "mbe"; + } + ); + systems = [ "mbe" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcase = ( + build-asdf-system { + pname = "mcase"; + version = "20211020-git"; + asds = [ "mcase" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcase/2021-10-20/mcase-20211020-git.tgz"; + sha256 = "1k0agm57xbzlskdi8cgsg2z9lsamm4jl6fw7687z3bw1s2dbsm59"; + system = "mcase"; + asd = "mcase"; + } + ); + systems = [ "mcase" ]; + lispLibs = [ + (getAttr "jingoh_dot_documentizer" self) + (getAttr "millet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcase_dot_test = ( + build-asdf-system { + pname = "mcase.test"; + version = "20211020-git"; + asds = [ "mcase.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcase/2021-10-20/mcase-20211020-git.tgz"; + sha256 = "1k0agm57xbzlskdi8cgsg2z9lsamm4jl6fw7687z3bw1s2dbsm59"; + system = "mcase.test"; + asd = "mcase.test"; + } + ); + systems = [ "mcase.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "mcase" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim = ( + build-asdf-system { + pname = "mcclim"; + version = "20241012-git"; + asds = [ "mcclim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim"; + asd = "mcclim"; + } + ); + systems = [ "mcclim" ]; + lispLibs = [ + (getAttr "clim" self) + (getAttr "clim-pdf" self) + (getAttr "clim-postscript" self) + (getAttr "conditional-commands" self) + (getAttr "mcclim-bezier" self) + (getAttr "mcclim-bitmaps" self) + (getAttr "mcclim-clx" self) + (getAttr "mcclim-clx-fb" self) + (getAttr "mcclim-franz" self) + (getAttr "mcclim-null" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-bezier = ( + build-asdf-system { + pname = "mcclim-bezier"; + version = "20241012-git"; + asds = [ "mcclim-bezier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-bezier"; + asd = "mcclim-bezier"; + } + ); + systems = [ "mcclim-bezier" ]; + lispLibs = [ + (getAttr "clim" self) + (getAttr "clim-pdf" self) + (getAttr "clim-postscript" self) + (getAttr "flexichain" self) + (getAttr "mcclim-clx" self) + (getAttr "mcclim-null" self) + (getAttr "mcclim-render" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-bitmaps = ( + build-asdf-system { + pname = "mcclim-bitmaps"; + version = "20241012-git"; + asds = [ "mcclim-bitmaps" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-bitmaps"; + asd = "mcclim-bitmaps"; + } + ); + systems = [ "mcclim-bitmaps" ]; + lispLibs = [ + (getAttr "clim" self) + (getAttr "opticl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-clx = ( + build-asdf-system { + pname = "mcclim-clx"; + version = "20241012-git"; + asds = [ "mcclim-clx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-clx"; + asd = "mcclim-clx"; + } + ); + systems = [ "mcclim-clx" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-aa" self) + (getAttr "cl-dejavu" self) + (getAttr "cl-paths-ttf" self) + (getAttr "cl-unicode" self) + (getAttr "cl-vectors" self) + (getAttr "clim" self) + (getAttr "clx" self) + (getAttr "flexi-streams" self) + (getAttr "trivial-garbage" self) + (getAttr "zpb-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-clx-fb = ( + build-asdf-system { + pname = "mcclim-clx-fb"; + version = "20241012-git"; + asds = [ "mcclim-clx-fb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-clx-fb"; + asd = "mcclim-clx-fb"; + } + ); + systems = [ "mcclim-clx-fb" ]; + lispLibs = [ + (getAttr "mcclim-clx" self) + (getAttr "mcclim-render" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-dot = ( + build-asdf-system { + pname = "mcclim-dot"; + version = "20241012-git"; + asds = [ "mcclim-dot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-dot"; + asd = "mcclim-dot"; + } + ); + systems = [ "mcclim-dot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-dot" self) + (getAttr "closer-mop" self) + (getAttr "mcclim" self) + (getAttr "parse-number" self) + (getAttr "shasht" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-fontconfig = ( + build-asdf-system { + pname = "mcclim-fontconfig"; + version = "20241012-git"; + asds = [ "mcclim-fontconfig" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-fontconfig"; + asd = "mcclim-fontconfig"; + } + ); + systems = [ "mcclim-fontconfig" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-fonts = ( + build-asdf-system { + pname = "mcclim-fonts"; + version = "20241012-git"; + asds = [ "mcclim-fonts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-fonts"; + asd = "mcclim-fonts"; + } + ); + systems = [ "mcclim-fonts" ]; + lispLibs = [ (getAttr "clim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-franz = ( + build-asdf-system { + pname = "mcclim-franz"; + version = "20241012-git"; + asds = [ "mcclim-franz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-franz"; + asd = "mcclim-franz"; + } + ); + systems = [ "mcclim-franz" ]; + lispLibs = [ (getAttr "clim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-harfbuzz = ( + build-asdf-system { + pname = "mcclim-harfbuzz"; + version = "20241012-git"; + asds = [ "mcclim-harfbuzz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-harfbuzz"; + asd = "mcclim-harfbuzz"; + } + ); + systems = [ "mcclim-harfbuzz" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-layouts = ( + build-asdf-system { + pname = "mcclim-layouts"; + version = "20241012-git"; + asds = [ "mcclim-layouts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-layouts"; + asd = "mcclim-layouts"; + } + ); + systems = [ "mcclim-layouts" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-null = ( + build-asdf-system { + pname = "mcclim-null"; + version = "20241012-git"; + asds = [ "mcclim-null" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-null"; + asd = "mcclim-null"; + } + ); + systems = [ "mcclim-null" ]; + lispLibs = [ (getAttr "clim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-raster-image = ( + build-asdf-system { + pname = "mcclim-raster-image"; + version = "20241012-git"; + asds = [ "mcclim-raster-image" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-raster-image"; + asd = "mcclim-raster-image"; + } + ); + systems = [ "mcclim-raster-image" ]; + lispLibs = [ + (getAttr "clim" self) + (getAttr "mcclim-render" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-render = ( + build-asdf-system { + pname = "mcclim-render"; + version = "20241012-git"; + asds = [ "mcclim-render" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-render"; + asd = "mcclim-render"; + } + ); + systems = [ "mcclim-render" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-aa" self) + (getAttr "cl-dejavu" self) + (getAttr "cl-paths-ttf" self) + (getAttr "cl-vectors" self) + (getAttr "clim" self) + (getAttr "flexi-streams" self) + (getAttr "zpb-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-svg = ( + build-asdf-system { + pname = "mcclim-svg"; + version = "20241012-git"; + asds = [ "mcclim-svg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-svg"; + asd = "mcclim-svg"; + } + ); + systems = [ "mcclim-svg" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-aa" self) + (getAttr "cl-base64" self) + (getAttr "cl-dejavu" self) + (getAttr "cl-paths-ttf" self) + (getAttr "cl-vectors" self) + (getAttr "cl-who" self) + (getAttr "clim" self) + (getAttr "flexi-streams" self) + (getAttr "mcclim" self) + (getAttr "mcclim-bitmaps" self) + (getAttr "zpb-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-tooltips = ( + build-asdf-system { + pname = "mcclim-tooltips"; + version = "20241012-git"; + asds = [ "mcclim-tooltips" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-tooltips"; + asd = "mcclim-tooltips"; + } + ); + systems = [ "mcclim-tooltips" ]; + lispLibs = [ (getAttr "clim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mcclim-tree-with-cross-edges = ( + build-asdf-system { + pname = "mcclim-tree-with-cross-edges"; + version = "20241012-git"; + asds = [ "mcclim-tree-with-cross-edges" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "mcclim-tree-with-cross-edges"; + asd = "mcclim-tree-with-cross-edges"; + } + ); + systems = [ "mcclim-tree-with-cross-edges" ]; + lispLibs = [ (getAttr "mcclim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + md5 = ( + build-asdf-system { + pname = "md5"; + version = "20210630-git"; + asds = [ "md5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/md5/2021-06-30/md5-20210630-git.tgz"; + sha256 = "1g20np6rhn3y08z8mlmlk721mw2207s52v2pwp4smm3lz25sx3q5"; + system = "md5"; + asd = "md5"; + } + ); + systems = [ "md5" ]; + lispLibs = [ ]; + meta = { }; + } + ); + media-types = ( + build-asdf-system { + pname = "media-types"; + version = "20220331-git"; + asds = [ "media-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/media-types/2022-03-31/media-types-20220331-git.tgz"; + sha256 = "07ly7jr0ff2ks4gyjpq2jyj9gm47frllal5is3iqhc4xrmpyzrqc"; + system = "media-types"; + asd = "media-types"; + } + ); + systems = [ "media-types" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mel-base = ( + build-asdf-system { + pname = "mel-base"; + version = "20180228-git"; + asds = [ "mel-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mel-base/2018-02-28/mel-base-20180228-git.tgz"; + sha256 = "1dvhmlkxasww3kb7xnwqlmdvi31w2awjrbkgk5d0hsfzqmyhhjh0"; + system = "mel-base"; + asd = "mel-base"; + } + ); + systems = [ "mel-base" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "flexi-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + memoize = ( + build-asdf-system { + pname = "memoize"; + version = "20140826-http"; + asds = [ "memoize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/memoize/2014-08-26/memoize-20140826-http.tgz"; + sha256 = "1f1plqy9xdv40235b7kkm63gsgssk8l81azhfniy8j9yww39gihf"; + system = "memoize"; + asd = "memoize"; + } + ); + systems = [ "memoize" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + memory-regions = ( + build-asdf-system { + pname = "memory-regions"; + version = "20241012-git"; + asds = [ "memory-regions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/memory-regions/2024-10-12/memory-regions-20241012-git.tgz"; + sha256 = "0j2qfbh2kwl8k6v0h0pbh5hml8aia888kaq4kgb12nfslim81iyd"; + system = "memory-regions"; + asd = "memory-regions"; + } + ); + systems = [ "memory-regions" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "closer-mop" self) + (getAttr "documentation-utils" self) + (getAttr "mmap" self) + (getAttr "static-vectors" self) + (getAttr "trivial-extensible-sequences" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + message-oo = ( + build-asdf-system { + pname = "message-oo"; + version = "20130615-git"; + asds = [ "message-oo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/message-oo/2013-06-15/message-oo-20130615-git.tgz"; + sha256 = "164yypzhr6pxb84x47s9vjl97imbq5r8sxan22101q0y1jn3dznp"; + system = "message-oo"; + asd = "message-oo"; + } + ); + systems = [ "message-oo" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + messagebox = ( + build-asdf-system { + pname = "messagebox"; + version = "20241012-git"; + asds = [ "messagebox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/messagebox/2024-10-12/messagebox-20241012-git.tgz"; + sha256 = "0wf25rfx7vg0l1mnzjjzwjqcjaa96a95k9diijppn7y9v2knr1qq"; + system = "messagebox"; + asd = "messagebox"; + } + ); + systems = [ "messagebox" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + meta = ( + build-asdf-system { + pname = "meta"; + version = "20150608-git"; + asds = [ "meta" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/meta/2015-06-08/meta-20150608-git.tgz"; + sha256 = "08s53zj3mcx82kszp1bg2vsb4kydvkc70kj4hpq9h1l5a1wh44cy"; + system = "meta"; + asd = "meta"; + } + ); + systems = [ "meta" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + meta-sexp = ( + build-asdf-system { + pname = "meta-sexp"; + version = "20201016-git"; + asds = [ "meta-sexp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/meta-sexp/2020-10-16/meta-sexp-20201016-git.tgz"; + sha256 = "14z4xglybsj4pdaifhjvnki0vm0wg985x00n94djc0fdcclczv1c"; + system = "meta-sexp"; + asd = "meta-sexp"; + } + ); + systems = [ "meta-sexp" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metabang-bind = ( + build-asdf-system { + pname = "metabang-bind"; + version = "20230618-git"; + asds = [ "metabang-bind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metabang-bind/2023-06-18/metabang-bind-20230618-git.tgz"; + sha256 = "14g7k3zhm8cd6bssc5mm5h6iq1dv5lfhiq33aimcmj5a6vbiq47d"; + system = "metabang-bind"; + asd = "metabang-bind"; + } + ); + systems = [ "metabang-bind" ]; + lispLibs = [ ]; + meta = { }; + } + ); + metabang-bind-test = ( + build-asdf-system { + pname = "metabang-bind-test"; + version = "20230618-git"; + asds = [ "metabang-bind-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metabang-bind/2023-06-18/metabang-bind-20230618-git.tgz"; + sha256 = "14g7k3zhm8cd6bssc5mm5h6iq1dv5lfhiq33aimcmj5a6vbiq47d"; + system = "metabang-bind-test"; + asd = "metabang-bind-test"; + } + ); + systems = [ "metabang-bind-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metacopy = ( + build-asdf-system { + pname = "metacopy"; + version = "20170403-darcs"; + asds = [ "metacopy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz"; + sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x"; + system = "metacopy"; + asd = "metacopy"; + } + ); + systems = [ "metacopy" ]; + lispLibs = [ (getAttr "moptilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metacopy-with-contextl = ( + build-asdf-system { + pname = "metacopy-with-contextl"; + version = "20170403-darcs"; + asds = [ "metacopy-with-contextl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz"; + sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x"; + system = "metacopy-with-contextl"; + asd = "metacopy-with-contextl"; + } + ); + systems = [ "metacopy-with-contextl" ]; + lispLibs = [ + (getAttr "contextl" self) + (getAttr "metacopy" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metalock = ( + build-asdf-system { + pname = "metalock"; + version = "20200925-git"; + asds = [ "metalock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metalock/2020-09-25/metalock-20200925-git.tgz"; + sha256 = "0z2vk0s694zhnkai593q42vln5a6ykm8pilyikc4qp9aw9r43lc5"; + system = "metalock"; + asd = "metalock"; + } + ); + systems = [ "metalock" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metap = ( + build-asdf-system { + pname = "metap"; + version = "20150505-git"; + asds = [ "metap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metap/2015-05-05/metap-20150505-git.tgz"; + sha256 = "0drqyjscl0lmhgplld6annmlqma83q76xkxnahcq4ksnhpbsz9wx"; + system = "metap"; + asd = "metap"; + } + ); + systems = [ "metap" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metap-test = ( + build-asdf-system { + pname = "metap-test"; + version = "20150505-git"; + asds = [ "metap-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metap/2015-05-05/metap-20150505-git.tgz"; + sha256 = "0drqyjscl0lmhgplld6annmlqma83q76xkxnahcq4ksnhpbsz9wx"; + system = "metap-test"; + asd = "metap-test"; + } + ); + systems = [ "metap-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "metap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metatilities = ( + build-asdf-system { + pname = "metatilities"; + version = "20180228-git"; + asds = [ "metatilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz"; + sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd"; + system = "metatilities"; + asd = "metatilities"; + } + ); + systems = [ "metatilities" ]; + lispLibs = [ + (getAttr "asdf-system-connections" self) + (getAttr "cl-containers" self) + (getAttr "metabang-bind" self) + (getAttr "metatilities-base" self) + (getAttr "moptilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metatilities-base = ( + build-asdf-system { + pname = "metatilities-base"; + version = "20191227-git"; + asds = [ "metatilities-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metatilities-base/2019-12-27/metatilities-base-20191227-git.tgz"; + sha256 = "069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk"; + system = "metatilities-base"; + asd = "metatilities-base"; + } + ); + systems = [ "metatilities-base" ]; + lispLibs = [ ]; + meta = { }; + } + ); + metatilities-base-test = ( + build-asdf-system { + pname = "metatilities-base-test"; + version = "20191227-git"; + asds = [ "metatilities-base-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metatilities-base/2019-12-27/metatilities-base-20191227-git.tgz"; + sha256 = "069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk"; + system = "metatilities-base-test"; + asd = "metatilities-base-test"; + } + ); + systems = [ "metatilities-base-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "metatilities-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metatilities-test = ( + build-asdf-system { + pname = "metatilities-test"; + version = "20180228-git"; + asds = [ "metatilities-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz"; + sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd"; + system = "metatilities-test"; + asd = "metatilities-test"; + } + ); + systems = [ "metatilities-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "metatilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + metering = ( + build-asdf-system { + pname = "metering"; + version = "20200218-git"; + asds = [ "metering" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/metering/2020-02-18/metering-20200218-git.tgz"; + sha256 = "0jx3ypk8m815yp7208xkcxkvila847mvna25a2p22ihnj0ms9rn1"; + system = "metering"; + asd = "metering"; + } + ); + systems = [ "metering" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + method-combination-utilities = ( + build-asdf-system { + pname = "method-combination-utilities"; + version = "20241012-git"; + asds = [ "method-combination-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/method-combination-utilities/2024-10-12/method-combination-utilities-20241012-git.tgz"; + sha256 = "15wjzf6r9kkfw89rgzhrr60p5b4i15b90nr3wz6idkv3n4j7fsjl"; + system = "method-combination-utilities"; + asd = "method-combination-utilities"; + } + ); + systems = [ "method-combination-utilities" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + method-combination-utilities_dot_tests = ( + build-asdf-system { + pname = "method-combination-utilities.tests"; + version = "20241012-git"; + asds = [ "method-combination-utilities.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/method-combination-utilities/2024-10-12/method-combination-utilities-20241012-git.tgz"; + sha256 = "15wjzf6r9kkfw89rgzhrr60p5b4i15b90nr3wz6idkv3n4j7fsjl"; + system = "method-combination-utilities.tests"; + asd = "method-combination-utilities"; + } + ); + systems = [ "method-combination-utilities.tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "method-combination-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + method-hooks = ( + build-asdf-system { + pname = "method-hooks"; + version = "20200925-git"; + asds = [ "method-hooks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/method-hooks/2020-09-25/method-hooks-20200925-git.tgz"; + sha256 = "0kzijk02wjzms3hihmn6n6p9r6awkrsqlkghf6ixzf6400fiy212"; + system = "method-hooks"; + asd = "method-hooks"; + } + ); + systems = [ "method-hooks" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + method-hooks-test = ( + build-asdf-system { + pname = "method-hooks-test"; + version = "20200925-git"; + asds = [ "method-hooks-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/method-hooks/2020-09-25/method-hooks-20200925-git.tgz"; + sha256 = "0kzijk02wjzms3hihmn6n6p9r6awkrsqlkghf6ixzf6400fiy212"; + system = "method-hooks-test"; + asd = "method-hooks-test"; + } + ); + systems = [ "method-hooks-test" ]; + lispLibs = [ + (getAttr "method-hooks" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + method-versions = ( + build-asdf-system { + pname = "method-versions"; + version = "0.1.2011.05.18"; + asds = [ "method-versions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/method-versions/2011-05-22/method-versions_0.1.2011.05.18.tgz"; + sha256 = "119x3dbjry25issq2m8xcacknd1y9mcnla5rhqzcsrj58zsmwmwf"; + system = "method-versions"; + asd = "method-versions"; + } + ); + systems = [ "method-versions" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mexpr = ( + build-asdf-system { + pname = "mexpr"; + version = "20150709-git"; + asds = [ "mexpr" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mexpr/2015-07-09/mexpr-20150709-git.tgz"; + sha256 = "0ri9cp7vhnn9sah1lhvxn523c342n0q4v0xzi6fzlfvpj84jfzqk"; + system = "mexpr"; + asd = "mexpr"; + } + ); + systems = [ "mexpr" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-syntax" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mexpr-tests = ( + build-asdf-system { + pname = "mexpr-tests"; + version = "20150709-git"; + asds = [ "mexpr-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mexpr/2015-07-09/mexpr-20150709-git.tgz"; + sha256 = "0ri9cp7vhnn9sah1lhvxn523c342n0q4v0xzi6fzlfvpj84jfzqk"; + system = "mexpr-tests"; + asd = "mexpr-tests"; + } + ); + systems = [ "mexpr-tests" ]; + lispLibs = [ + (getAttr "mexpr" self) + (getAttr "named-readtables" self) + (getAttr "should-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mfiano-utils = ( + build-asdf-system { + pname = "mfiano-utils"; + version = "20230214-git"; + asds = [ "mfiano-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mfiano-utils/2023-02-14/mfiano-utils-20230214-git.tgz"; + sha256 = "06nrrwwlrwi4w87y6888759b5vpa5264lli5m4crl9r9lr9bnay9"; + system = "mfiano-utils"; + asd = "mfiano-utils"; + } + ); + systems = [ "mfiano-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mgl = ( + build-asdf-system { + pname = "mgl"; + version = "20230618-git"; + asds = [ "mgl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl/2023-06-18/mgl-20230618-git.tgz"; + sha256 = "1jr2jill9b1rq0msy0bzzl0q2w0bm3gpd0dwrmkyazzjym2rdsjx"; + system = "mgl"; + asd = "mgl"; + } + ); + systems = [ "mgl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "array-operations" self) + (getAttr "cl-reexport" self) + (getAttr "closer-mop" self) + (getAttr "lla" self) + (getAttr "mgl-gnuplot" self) + (getAttr "mgl-mat" self) + (getAttr "mgl-pax" self) + (getAttr "named-readtables" self) + (getAttr "num-utils" self) + (getAttr "pythonic-string-reader" self) + (getAttr "swank" self) + ]; + meta = { }; + } + ); + mgl-example = ( + build-asdf-system { + pname = "mgl-example"; + version = "20230618-git"; + asds = [ "mgl-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl/2023-06-18/mgl-20230618-git.tgz"; + sha256 = "1jr2jill9b1rq0msy0bzzl0q2w0bm3gpd0dwrmkyazzjym2rdsjx"; + system = "mgl-example"; + asd = "mgl-example"; + } + ); + systems = [ "mgl-example" ]; + lispLibs = [ (getAttr "mgl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mgl-gnuplot = ( + build-asdf-system { + pname = "mgl-gnuplot"; + version = "20230618-git"; + asds = [ "mgl-gnuplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl/2023-06-18/mgl-20230618-git.tgz"; + sha256 = "1jr2jill9b1rq0msy0bzzl0q2w0bm3gpd0dwrmkyazzjym2rdsjx"; + system = "mgl-gnuplot"; + asd = "mgl-gnuplot"; + } + ); + systems = [ "mgl-gnuplot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "external-program" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mgl-mat = ( + build-asdf-system { + pname = "mgl-mat"; + version = "20231021-git"; + asds = [ "mgl-mat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-mat/2023-10-21/mgl-mat-20231021-git.tgz"; + sha256 = "0pl9ksdjr57sg2w85ql6y9pgbzrxcsz6irb7i0s1q3d08f87il1i"; + system = "mgl-mat"; + asd = "mgl-mat"; + } + ); + systems = [ "mgl-mat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-cuda" self) + (getAttr "flexi-streams" self) + (getAttr "ieee-floats" self) + (getAttr "lla" self) + (getAttr "mgl-pax" self) + (getAttr "num-utils" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + ]; + meta = { }; + } + ); + mgl-pax = ( + build-asdf-system { + pname = "mgl-pax"; + version = "20241012-git"; + asds = [ "mgl-pax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; + sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; + system = "mgl-pax"; + asd = "mgl-pax"; + } + ); + systems = [ "mgl-pax" ]; + lispLibs = [ + (getAttr "dref" self) + (getAttr "mgl-pax-bootstrap" self) + (getAttr "mgl-pax_dot_asdf" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + ]; + meta = { }; + } + ); + mgl-pax-bootstrap = ( + build-asdf-system { + pname = "mgl-pax-bootstrap"; + version = "20241012-git"; + asds = [ "mgl-pax-bootstrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; + sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; + system = "mgl-pax-bootstrap"; + asd = "mgl-pax-bootstrap"; + } + ); + systems = [ "mgl-pax-bootstrap" ]; + lispLibs = [ (getAttr "mgl-pax_dot_asdf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mgl-pax-test = ( + build-asdf-system { + pname = "mgl-pax-test"; + version = "20241012-git"; + asds = [ "mgl-pax-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; + sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; + system = "mgl-pax-test"; + asd = "mgl-pax-test"; + } + ); + systems = [ "mgl-pax-test" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "alexandria" self) + (getAttr "colorize" self) + (getAttr "dref" self) + (getAttr "dref-test" self) + (getAttr "md5" self) + (getAttr "mgl-pax" self) + (getAttr "mgl-pax_dot_asdf" self) + (getAttr "swank" self) + (getAttr "trivial-utf-8" self) + (getAttr "try" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mgl-pax_dot_asdf = ( + build-asdf-system { + pname = "mgl-pax.asdf"; + version = "20241012-git"; + asds = [ "mgl-pax.asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgl-pax/2024-10-12/mgl-pax-20241012-git.tgz"; + sha256 = "17szk2ijccssa9n7zg8qh6hc706hahvzcrzlx716hmgq2hfwvvy0"; + system = "mgl-pax.asdf"; + asd = "mgl-pax.asdf"; + } + ); + systems = [ "mgl-pax.asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mgrs = ( + build-asdf-system { + pname = "mgrs"; + version = "20220331-git"; + asds = [ "mgrs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mgrs/2022-03-31/mgrs-20220331-git.tgz"; + sha256 = "1n4kd734qjj7mrcg0q28hml3npam1rm067iwljwc87zshnxh5gmn"; + system = "mgrs"; + asd = "mgrs"; + } + ); + systems = [ "mgrs" ]; + lispLibs = [ (getAttr "utm-ups" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + micmac = ( + build-asdf-system { + pname = "micmac"; + version = "20230618-git"; + asds = [ "micmac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/micmac/2023-06-18/micmac-20230618-git.tgz"; + sha256 = "10zjxqc7y5spr3y5yrnfqmv881ia168scbhiq8i98rvizabgxf6x"; + system = "micmac"; + asd = "micmac"; + } + ); + systems = [ "micmac" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "mgl-pax" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + midi = ( + build-asdf-system { + pname = "midi"; + version = "20070618"; + asds = [ "midi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/midi/2010-10-06/midi-20070618.tgz"; + sha256 = "06hb6vm4dckhr1ln5jn3b31x1yampkl5fl0lfbg9zyazli7fgl87"; + system = "midi"; + asd = "midi"; + } + ); + systems = [ "midi" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + millet = ( + build-asdf-system { + pname = "millet"; + version = "20211209-git"; + asds = [ "millet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/millet/2021-12-09/millet-20211209-git.tgz"; + sha256 = "1jdqyr1f9a6083k7n88rwc6mjmgccj6za50ybl1dlnxqvqj2pw80"; + system = "millet"; + asd = "millet"; + } + ); + systems = [ "millet" ]; + lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + millet_dot_test = ( + build-asdf-system { + pname = "millet.test"; + version = "20211209-git"; + asds = [ "millet.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/millet/2021-12-09/millet-20211209-git.tgz"; + sha256 = "1jdqyr1f9a6083k7n88rwc6mjmgccj6za50ybl1dlnxqvqj2pw80"; + system = "millet.test"; + asd = "millet.test"; + } + ); + systems = [ "millet.test" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "jingoh" self) + (getAttr "millet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + minheap = ( + build-asdf-system { + pname = "minheap"; + version = "20160628-git"; + asds = [ "minheap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/minheap/2016-06-28/minheap-20160628-git.tgz"; + sha256 = "03v0dqxg4kmwvfrlrkq8bmfcv70k9n9f48p9p3z8kmfbc4p3f1vd"; + system = "minheap"; + asd = "minheap"; + } + ); + systems = [ "minheap" ]; + lispLibs = [ ]; + meta = { }; + } + ); + minheap-tests = ( + build-asdf-system { + pname = "minheap-tests"; + version = "20160628-git"; + asds = [ "minheap-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/minheap/2016-06-28/minheap-20160628-git.tgz"; + sha256 = "03v0dqxg4kmwvfrlrkq8bmfcv70k9n9f48p9p3z8kmfbc4p3f1vd"; + system = "minheap-tests"; + asd = "minheap-tests"; + } + ); + systems = [ "minheap-tests" ]; + lispLibs = [ + (getAttr "lisp-unit" self) + (getAttr "minheap" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mini-cas = ( + build-asdf-system { + pname = "mini-cas"; + version = "20150923-git"; + asds = [ "mini-cas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mini-cas/2015-09-23/mini-cas-20150923-git.tgz"; + sha256 = "1y9a111877lkpssi651q684mj052vp6qr9pz5gl47s6swiqvqp24"; + system = "mini-cas"; + asd = "mini-cas"; + } + ); + systems = [ "mini-cas" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + minilem = ( + build-asdf-system { + pname = "minilem"; + version = "20200218-git"; + asds = [ "minilem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/minilem/2020-02-18/minilem-20200218-git.tgz"; + sha256 = "1hpcgj8k5m11nk1pfd479hrbh15dcas7z1s8w877rqmlf69ga4cp"; + system = "minilem"; + asd = "minilem"; + } + ); + systems = [ "minilem" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "esrap" self) + (getAttr "inquisitor" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "optima" self) + (getAttr "swank" self) + (getAttr "trivial-gray-streams" self) + (getAttr "trivial-types" self) + (getAttr "usocket" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + minpack = ( + build-asdf-system { + pname = "minpack"; + version = "20231021-git"; + asds = [ "minpack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "minpack"; + asd = "minpack"; + } + ); + systems = [ "minpack" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + misc-extensions = ( + build-asdf-system { + pname = "misc-extensions"; + version = "20241012-git"; + asds = [ "misc-extensions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/misc-extensions/2024-10-12/misc-extensions-20241012-git.tgz"; + sha256 = "0pvgg376vkydp2831bnnvwrv27m4ivc78c0nhvb4848c3ik1hn5j"; + system = "misc-extensions"; + asd = "misc-extensions"; + } + ); + systems = [ "misc-extensions" ]; + lispLibs = [ ]; + meta = { }; + } + ); + mito = ( + build-asdf-system { + pname = "mito"; + version = "20241012-git"; + asds = [ "mito" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; + sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; + system = "mito"; + asd = "mito"; + } + ); + systems = [ "mito" ]; + lispLibs = [ + (getAttr "cl-package-locks" self) + (getAttr "lack-middleware-mito" self) + (getAttr "mito-core" self) + (getAttr "mito-migration" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mito-attachment = ( + build-asdf-system { + pname = "mito-attachment"; + version = "20230214-git"; + asds = [ "mito-attachment" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito-attachment/2023-02-14/mito-attachment-20230214-git.tgz"; + sha256 = "0an744m6wmnbb5zrxqxcf719r7im1n7p63z632p3m5sqv8d86fm1"; + system = "mito-attachment"; + asd = "mito-attachment"; + } + ); + systems = [ "mito-attachment" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "aws-sign4" self) + (getAttr "lack-component" self) + (getAttr "mito" self) + (getAttr "quri" self) + (getAttr "trivial-mimes" self) + (getAttr "uuid" self) + (getAttr "zs3" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mito-auth = ( + build-asdf-system { + pname = "mito-auth"; + version = "20171019-git"; + asds = [ "mito-auth" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito-auth/2017-10-19/mito-auth-20171019-git.tgz"; + sha256 = "1q1yxjpnshzmia34a68dlscjadzynzyzz14sr4mkkkjyg5dhkazi"; + system = "mito-auth"; + asd = "mito-auth"; + } + ); + systems = [ "mito-auth" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "ironclad" self) + (getAttr "mito" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mito-core = ( + build-asdf-system { + pname = "mito-core"; + version = "20241012-git"; + asds = [ "mito-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; + sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; + system = "mito-core"; + asd = "mito-core"; + } + ); + systems = [ "mito-core" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "dbi" self) + (getAttr "dissect" self) + (getAttr "local-time" self) + (getAttr "sxql" self) + (getAttr "trivia" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mito-migration = ( + build-asdf-system { + pname = "mito-migration"; + version = "20241012-git"; + asds = [ "mito-migration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; + sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; + system = "mito-migration"; + asd = "mito-migration"; + } + ); + systems = [ "mito-migration" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "chipz" self) + (getAttr "closer-mop" self) + (getAttr "dbi" self) + (getAttr "esrap" self) + (getAttr "mito-core" self) + (getAttr "sxql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mito-test = ( + build-asdf-system { + pname = "mito-test"; + version = "20241012-git"; + asds = [ "mito-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mito/2024-10-12/mito-20241012-git.tgz"; + sha256 = "0nz72qss2jji0narxffpnpfgz74grvhmwqqlydpw6wv3ji1rrrq3"; + system = "mito-test"; + asd = "mito-test"; + } + ); + systems = [ "mito-test" ]; + lispLibs = [ + (getAttr "dbd-mysql" self) + (getAttr "dbd-postgres" self) + (getAttr "dbd-sqlite3" self) + (getAttr "mito" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mixalot = ( + build-asdf-system { + pname = "mixalot"; + version = "20151218-git"; + asds = [ "mixalot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "mixalot"; + asd = "mixalot"; + } + ); + systems = [ "mixalot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mixalot-flac = ( + build-asdf-system { + pname = "mixalot-flac"; + version = "20151218-git"; + asds = [ "mixalot-flac" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "mixalot-flac"; + asd = "mixalot-flac"; + } + ); + systems = [ "mixalot-flac" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "flac" self) + (getAttr "mixalot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mixalot-mp3 = ( + build-asdf-system { + pname = "mixalot-mp3"; + version = "20151218-git"; + asds = [ "mixalot-mp3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "mixalot-mp3"; + asd = "mixalot-mp3"; + } + ); + systems = [ "mixalot-mp3" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "mixalot" self) + (getAttr "mpg123-ffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mixalot-vorbis = ( + build-asdf-system { + pname = "mixalot-vorbis"; + version = "20151218-git"; + asds = [ "mixalot-vorbis" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "mixalot-vorbis"; + asd = "mixalot-vorbis"; + } + ); + systems = [ "mixalot-vorbis" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "mixalot" self) + (getAttr "vorbisfile-ffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mk-defsystem = ( + build-asdf-system { + pname = "mk-defsystem"; + version = "20241012-git"; + asds = [ "mk-defsystem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mk-defsystem/2024-10-12/mk-defsystem-20241012-git.tgz"; + sha256 = "0zrr11szr50bqaxybm66ggj5bmchwljjafhxcwsyzgpqbnf06740"; + system = "mk-defsystem"; + asd = "mk-defsystem"; + } + ); + systems = [ "mk-defsystem" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mk-string-metrics = ( + build-asdf-system { + pname = "mk-string-metrics"; + version = "20180131-git"; + asds = [ "mk-string-metrics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mk-string-metrics/2018-01-31/mk-string-metrics-20180131-git.tgz"; + sha256 = "0c50hjpylhkh5phcxxcwqdzpa94vk5pq1j7c6x0d3wfpb2yx0wkd"; + system = "mk-string-metrics"; + asd = "mk-string-metrics"; + } + ); + systems = [ "mk-string-metrics" ]; + lispLibs = [ ]; + meta = { }; + } + ); + mk-string-metrics-tests = ( + build-asdf-system { + pname = "mk-string-metrics-tests"; + version = "20180131-git"; + asds = [ "mk-string-metrics-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mk-string-metrics/2018-01-31/mk-string-metrics-20180131-git.tgz"; + sha256 = "0c50hjpylhkh5phcxxcwqdzpa94vk5pq1j7c6x0d3wfpb2yx0wkd"; + system = "mk-string-metrics-tests"; + asd = "mk-string-metrics-tests"; + } + ); + systems = [ "mk-string-metrics-tests" ]; + lispLibs = [ (getAttr "mk-string-metrics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ml-dsl = ( + build-asdf-system { + pname = "ml-dsl"; + version = "20210124-git"; + asds = [ "ml-dsl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; + sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; + system = "ml-dsl"; + asd = "ml-dsl"; + } + ); + systems = [ "ml-dsl" ]; + lispLibs = [ (getAttr "cl-marklogic" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ml-optimizer = ( + build-asdf-system { + pname = "ml-optimizer"; + version = "20210124-git"; + asds = [ "ml-optimizer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; + sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; + system = "ml-optimizer"; + asd = "ml-optimizer"; + } + ); + systems = [ "ml-optimizer" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "cl-marklogic" self) + (getAttr "cl-opsresearch" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ml-test = ( + build-asdf-system { + pname = "ml-test"; + version = "20210124-git"; + asds = [ "ml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz"; + sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5"; + system = "ml-test"; + asd = "ml-test"; + } + ); + systems = [ "ml-test" ]; + lispLibs = [ + (getAttr "cl-marklogic" self) + (getAttr "fiveam" self) + (getAttr "ml-optimizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mlep = ( + build-asdf-system { + pname = "mlep"; + version = "20231021-git"; + asds = [ "mlep" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mlep/2023-10-21/cl-mlep-20231021-git.tgz"; + sha256 = "0na6hjjp1a3bril14v878h9198zrbymnfw7nybgcll0kwv90815g"; + system = "mlep"; + asd = "mlep"; + } + ); + systems = [ "mlep" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mlep-add = ( + build-asdf-system { + pname = "mlep-add"; + version = "20231021-git"; + asds = [ "mlep-add" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mlep/2023-10-21/cl-mlep-20231021-git.tgz"; + sha256 = "0na6hjjp1a3bril14v878h9198zrbymnfw7nybgcll0kwv90815g"; + system = "mlep-add"; + asd = "mlep-add"; + } + ); + systems = [ "mlep-add" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "lla" self) + (getAttr "mlep" self) + (getAttr "num-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mmap = ( + build-asdf-system { + pname = "mmap"; + version = "20241012-git"; + asds = [ "mmap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mmap/2024-10-12/mmap-20241012-git.tgz"; + sha256 = "1wlxymkkbjyyp6fikxi94q26pjfz656y4d8kgm22xxvw70hppgc3"; + system = "mmap"; + asd = "mmap"; + } + ); + systems = [ "mmap" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + mmap-test = ( + build-asdf-system { + pname = "mmap-test"; + version = "20241012-git"; + asds = [ "mmap-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mmap/2024-10-12/mmap-20241012-git.tgz"; + sha256 = "1wlxymkkbjyyp6fikxi94q26pjfz656y4d8kgm22xxvw70hppgc3"; + system = "mmap-test"; + asd = "mmap-test"; + } + ); + systems = [ "mmap-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "mmap" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mnas-graph = ( + build-asdf-system { + pname = "mnas-graph"; + version = "20230618-git"; + asds = [ "mnas-graph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mnas-graph/2023-06-18/mnas-graph-20230618-git.tgz"; + sha256 = "1psz8vh8s8zv9hh5pr0753r0baavfb1v6v9nc9kw50hkjvkchc1q"; + system = "mnas-graph"; + asd = "mnas-graph"; + } + ); + systems = [ "mnas-graph" ]; + lispLibs = [ + (getAttr "mnas-hash-table" self) + (getAttr "mnas-string" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mnas-hash-table = ( + build-asdf-system { + pname = "mnas-hash-table"; + version = "20230618-git"; + asds = [ "mnas-hash-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mnas-hash-table/2023-06-18/mnas-hash-table-20230618-git.tgz"; + sha256 = "107fqc2wipvs2ifj12sqizv3gc7j3yqww529vkp92xhkmrnkp833"; + system = "mnas-hash-table"; + asd = "mnas-hash-table"; + } + ); + systems = [ "mnas-hash-table" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mnas-package = ( + build-asdf-system { + pname = "mnas-package"; + version = "20241012-git"; + asds = [ "mnas-package" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mnas-package/2024-10-12/mnas-package-20241012-git.tgz"; + sha256 = "05wkh2rzlp3csnk3p50rp3jv4jycdqa5hylqf93b2q8vjxvv67wm"; + system = "mnas-package"; + asd = "mnas-package"; + } + ); + systems = [ "mnas-package" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "inferior-shell" self) + (getAttr "mnas-graph" self) + (getAttr "mnas-string" self) + (getAttr "slynk" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mnas-path = ( + build-asdf-system { + pname = "mnas-path"; + version = "20231021-git"; + asds = [ "mnas-path" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mnas-path/2023-10-21/mnas-path-20231021-git.tgz"; + sha256 = "10hijr71nlnl9wf15ahzjgynvq1n1y8446fxk7pkfwcw832x874z"; + system = "mnas-path"; + asd = "mnas-path"; + } + ); + systems = [ "mnas-path" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "mnas-string" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mnas-string = ( + build-asdf-system { + pname = "mnas-string"; + version = "20241012-git"; + asds = [ "mnas-string" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mnas-string/2024-10-12/mnas-string-20241012-git.tgz"; + sha256 = "1pk0fyi3pjq7h9x40hixapsa06s0dah6xd4d63jpyhp7y6fa8w6f"; + system = "mnas-string"; + asd = "mnas-string"; + } + ); + systems = [ "mnas-string" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "mnas-hash-table" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mnst-relay = ( + build-asdf-system { + pname = "mnst-relay"; + version = "20210807-git"; + asds = [ "mnst-relay" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "mnst-relay"; + asd = "mnst-relay"; + } + ); + systems = [ "mnst-relay" ]; + lispLibs = [ + (getAttr "asdf-nst" self) + (getAttr "nst" self) + (getAttr "nst-selftest-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mockingbird = ( + build-asdf-system { + pname = "mockingbird"; + version = "20211020-git"; + asds = [ "mockingbird" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mockingbird/2021-10-20/mockingbird-20211020-git.tgz"; + sha256 = "1n1mxl2qk7g63z92d943ysn12axw0bx5dvw0cmm3cs1hjpx5rdly"; + system = "mockingbird"; + asd = "mockingbird"; + } + ); + systems = [ "mockingbird" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "fare-utils" self) + (getAttr "trivial-arguments" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mockingbird-test = ( + build-asdf-system { + pname = "mockingbird-test"; + version = "20211020-git"; + asds = [ "mockingbird-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mockingbird/2021-10-20/mockingbird-20211020-git.tgz"; + sha256 = "1n1mxl2qk7g63z92d943ysn12axw0bx5dvw0cmm3cs1hjpx5rdly"; + system = "mockingbird-test"; + asd = "mockingbird-test"; + } + ); + systems = [ "mockingbird-test" ]; + lispLibs = [ + (getAttr "mockingbird" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modest-config = ( + build-asdf-system { + pname = "modest-config"; + version = "20180228-git"; + asds = [ "modest-config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modest-config/2018-02-28/modest-config-20180228-git.tgz"; + sha256 = "0ali9lvg7ngzmpgaxmbc4adp4djznavbywiig8x94c2xwicvjh83"; + system = "modest-config"; + asd = "modest-config"; + } + ); + systems = [ "modest-config" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modest-config-test = ( + build-asdf-system { + pname = "modest-config-test"; + version = "20180228-git"; + asds = [ "modest-config-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modest-config/2018-02-28/modest-config-20180228-git.tgz"; + sha256 = "0ali9lvg7ngzmpgaxmbc4adp4djznavbywiig8x94c2xwicvjh83"; + system = "modest-config-test"; + asd = "modest-config-test"; + } + ); + systems = [ "modest-config-test" ]; + lispLibs = [ + (getAttr "modest-config" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modf = ( + build-asdf-system { + pname = "modf"; + version = "20200925-git"; + asds = [ "modf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modf/2020-09-25/modf-20200925-git.tgz"; + sha256 = "1aap7ldy7lv942khp026pgndgdzfkkqa9xcq1ykinrmflrgdazay"; + system = "modf"; + asd = "modf"; + } + ); + systems = [ "modf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modf-fset = ( + build-asdf-system { + pname = "modf-fset"; + version = "20150608-git"; + asds = [ "modf-fset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modf-fset/2015-06-08/modf-fset-20150608-git.tgz"; + sha256 = "0xdlwsw3b31l9c6db7rgvikn42ncqk98s45zcq116f51ph3dr95y"; + system = "modf-fset"; + asd = "modf-fset"; + } + ); + systems = [ "modf-fset" ]; + lispLibs = [ + (getAttr "fset" self) + (getAttr "modf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modf-fset-test = ( + build-asdf-system { + pname = "modf-fset-test"; + version = "20150608-git"; + asds = [ "modf-fset-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modf-fset/2015-06-08/modf-fset-20150608-git.tgz"; + sha256 = "0xdlwsw3b31l9c6db7rgvikn42ncqk98s45zcq116f51ph3dr95y"; + system = "modf-fset-test"; + asd = "modf-fset-test"; + } + ); + systems = [ "modf-fset-test" ]; + lispLibs = [ + (getAttr "modf" self) + (getAttr "modf-fset" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modf-test = ( + build-asdf-system { + pname = "modf-test"; + version = "20200925-git"; + asds = [ "modf-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modf/2020-09-25/modf-20200925-git.tgz"; + sha256 = "1aap7ldy7lv942khp026pgndgdzfkkqa9xcq1ykinrmflrgdazay"; + system = "modf-test"; + asd = "modf-test"; + } + ); + systems = [ "modf-test" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "modf" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modlisp = ( + build-asdf-system { + pname = "modlisp"; + version = "20150923-git"; + asds = [ "modlisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-modlisp/2015-09-23/cl-modlisp-20150923-git.tgz"; + sha256 = "14gfhhy8blyrhpb1jk17bq4vazgwmzgcx3misw48ja77x17bl1zf"; + system = "modlisp"; + asd = "modlisp"; + } + ); + systems = [ "modlisp" ]; + lispLibs = [ (getAttr "kmrcl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modularize = ( + build-asdf-system { + pname = "modularize"; + version = "20231021-git"; + asds = [ "modularize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modularize/2023-10-21/modularize-20231021-git.tgz"; + sha256 = "1i660gpljl97j51sj4mx8pk91v96zddww24rbwz0p20cl9hfp0xj"; + system = "modularize"; + asd = "modularize"; + } + ); + systems = [ "modularize" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-package-local-nicknames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modularize-hooks = ( + build-asdf-system { + pname = "modularize-hooks"; + version = "20231021-git"; + asds = [ "modularize-hooks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modularize-hooks/2023-10-21/modularize-hooks-20231021-git.tgz"; + sha256 = "0f60rk9753vil56wyi54db35ffanjw5fmkyn79jc5hnlab78ffhy"; + system = "modularize-hooks"; + asd = "modularize-hooks"; + } + ); + systems = [ "modularize-hooks" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "lambda-fiddle" self) + (getAttr "modularize" self) + (getAttr "trivial-arguments" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modularize-interfaces = ( + build-asdf-system { + pname = "modularize-interfaces"; + version = "20231021-git"; + asds = [ "modularize-interfaces" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modularize-interfaces/2023-10-21/modularize-interfaces-20231021-git.tgz"; + sha256 = "0lmq2jbkbr5wrrjl2qb1x64fcvl0lmii0h9301b9bq4d47s4w8sh"; + system = "modularize-interfaces"; + asd = "modularize-interfaces"; + } + ); + systems = [ "modularize-interfaces" ]; + lispLibs = [ + (getAttr "lambda-fiddle" self) + (getAttr "modularize" self) + (getAttr "trivial-arguments" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + modularize-test-module = ( + build-asdf-system { + pname = "modularize-test-module"; + version = "20231021-git"; + asds = [ "modularize-test-module" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/modularize/2023-10-21/modularize-20231021-git.tgz"; + sha256 = "1i660gpljl97j51sj4mx8pk91v96zddww24rbwz0p20cl9hfp0xj"; + system = "modularize-test-module"; + asd = "modularize-test-module"; + } + ); + systems = [ "modularize-test-module" ]; + lispLibs = [ (getAttr "modularize" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + moira = ( + build-asdf-system { + pname = "moira"; + version = "20241012-git"; + asds = [ "moira" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/moira/2024-10-12/moira-20241012-git.tgz"; + sha256 = "01wxjg122flla4pgys57hya3fwrkyjkpp26j5ypl5885zz1ip5b7"; + system = "moira"; + asd = "moira"; + } + ); + systems = [ "moira" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "osicat" self) + (getAttr "serapeum" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + monkeylib-html = ( + build-asdf-system { + pname = "monkeylib-html"; + version = "20180228-git"; + asds = [ "monkeylib-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-html/2018-02-28/monkeylib-html-20180228-git.tgz"; + sha256 = "11a778ynyb8mhiy9fkpyg2x1p53hi1i9mry9gfin2r28mjgwj096"; + system = "monkeylib-html"; + asd = "monkeylib-html"; + } + ); + systems = [ "monkeylib-html" ]; + lispLibs = [ + (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) + (getAttr "com_dot_gigamonkeys_dot_pathnames" self) + (getAttr "com_dot_gigamonkeys_dot_test-framework" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + (getAttr "monkeylib-text-languages" self) + (getAttr "monkeylib-text-output" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + monkeylib-markup-html = ( + build-asdf-system { + pname = "monkeylib-markup-html"; + version = "20120208-git"; + asds = [ "monkeylib-markup-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-markup-html/2012-02-08/monkeylib-markup-html-20120208-git.tgz"; + sha256 = "1kwnlb7dka9bqyc8a06lbsap8j83kdayk4m9a1m3mazjgaxlpv2a"; + system = "monkeylib-markup-html"; + asd = "monkeylib-markup-html"; + } + ); + systems = [ "monkeylib-markup-html" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) + (getAttr "com_dot_gigamonkeys_dot_markup" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + (getAttr "monkeylib-html" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + monkeylib-text-languages = ( + build-asdf-system { + pname = "monkeylib-text-languages"; + version = "20111203-git"; + asds = [ "monkeylib-text-languages" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-text-languages/2011-12-03/monkeylib-text-languages-20111203-git.tgz"; + sha256 = "1f6hb3r2s5phz5z4rv3llyfi30vbxlq9qpipsq9vppmw51fvdsdk"; + system = "monkeylib-text-languages"; + asd = "monkeylib-text-languages"; + } + ); + systems = [ "monkeylib-text-languages" ]; + lispLibs = [ + (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) + (getAttr "monkeylib-text-output" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + monkeylib-text-output = ( + build-asdf-system { + pname = "monkeylib-text-output"; + version = "20111203-git"; + asds = [ "monkeylib-text-output" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/monkeylib-text-output/2011-12-03/monkeylib-text-output-20111203-git.tgz"; + sha256 = "0lygfxap2ppxxi0sbz8lig1h878ad84jwbp3c895r7h9svjh1ffm"; + system = "monkeylib-text-output"; + asd = "monkeylib-text-output"; + } + ); + systems = [ "monkeylib-text-output" ]; + lispLibs = [ + (getAttr "com_dot_gigamonkeys_dot_macro-utilities" self) + (getAttr "com_dot_gigamonkeys_dot_pathnames" self) + (getAttr "com_dot_gigamonkeys_dot_test-framework" self) + (getAttr "com_dot_gigamonkeys_dot_utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + montezuma = ( + build-asdf-system { + pname = "montezuma"; + version = "20180228-git"; + asds = [ "montezuma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; + sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; + system = "montezuma"; + asd = "montezuma"; + } + ); + systems = [ "montezuma" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + montezuma-indexfiles = ( + build-asdf-system { + pname = "montezuma-indexfiles"; + version = "20180228-git"; + asds = [ "montezuma-indexfiles" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; + sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; + system = "montezuma-indexfiles"; + asd = "montezuma-indexfiles"; + } + ); + systems = [ "montezuma-indexfiles" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "montezuma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + montezuma-tests = ( + build-asdf-system { + pname = "montezuma-tests"; + version = "20180228-git"; + asds = [ "montezuma-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz"; + sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c"; + system = "montezuma-tests"; + asd = "montezuma"; + } + ); + systems = [ "montezuma-tests" ]; + lispLibs = [ + (getAttr "montezuma" self) + (getAttr "trivial-timeout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + moptilities = ( + build-asdf-system { + pname = "moptilities"; + version = "20170403-git"; + asds = [ "moptilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz"; + sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"; + system = "moptilities"; + asd = "moptilities"; + } + ); + systems = [ "moptilities" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { }; + } + ); + moptilities-test = ( + build-asdf-system { + pname = "moptilities-test"; + version = "20170403-git"; + asds = [ "moptilities-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz"; + sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"; + system = "moptilities-test"; + asd = "moptilities-test"; + } + ); + systems = [ "moptilities-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "moptilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + more-conditions = ( + build-asdf-system { + pname = "more-conditions"; + version = "20180831-git"; + asds = [ "more-conditions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/more-conditions/2018-08-31/more-conditions-20180831-git.tgz"; + sha256 = "1n0xbz0yiqn9dxf0ycm57wqvsr4gh2q4hs5fskjbv87c47d7l7zr"; + system = "more-conditions"; + asd = "more-conditions"; + } + ); + systems = [ "more-conditions" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { }; + } + ); + mp3-duration = ( + build-asdf-system { + pname = "mp3-duration"; + version = "20160208-git"; + asds = [ "mp3-duration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mp3-duration/2016-02-08/mp3-duration-20160208-git.tgz"; + sha256 = "1mhn9g1kz2yan178m2adg0pz3dx2nmg7hq4gfmfz7lrlsxm08bs7"; + system = "mp3-duration"; + asd = "mp3-duration"; + } + ); + systems = [ "mp3-duration" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mp3-duration-test = ( + build-asdf-system { + pname = "mp3-duration-test"; + version = "20160208-git"; + asds = [ "mp3-duration-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mp3-duration/2016-02-08/mp3-duration-20160208-git.tgz"; + sha256 = "1mhn9g1kz2yan178m2adg0pz3dx2nmg7hq4gfmfz7lrlsxm08bs7"; + system = "mp3-duration-test"; + asd = "mp3-duration-test"; + } + ); + systems = [ "mp3-duration-test" ]; + lispLibs = [ + (getAttr "mp3-duration" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mpc = ( + build-asdf-system { + pname = "mpc"; + version = "20160929-git"; + asds = [ "mpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mpc/2016-09-29/mpc-20160929-git.tgz"; + sha256 = "1nig0v91m4ybcr19s50xijwv488qlma0b36zy6cric2y8wgclmsx"; + system = "mpc"; + asd = "mpc"; + } + ); + systems = [ "mpc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mpg123-ffi = ( + build-asdf-system { + pname = "mpg123-ffi"; + version = "20151218-git"; + asds = [ "mpg123-ffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "mpg123-ffi"; + asd = "mpg123-ffi"; + } + ); + systems = [ "mpg123-ffi" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mra-wavelet-plot = ( + build-asdf-system { + pname = "mra-wavelet-plot"; + version = "20181210-git"; + asds = [ "mra-wavelet-plot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mra-wavelet-plot/2018-12-10/mra-wavelet-plot-20181210-git.tgz"; + sha256 = "0d6sdgj1zvkliga9drsqnj4l748vbcwwz744ayq5nnvp5fvhnc29"; + system = "mra-wavelet-plot"; + asd = "mra-wavelet-plot"; + } + ); + systems = [ "mra-wavelet-plot" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mssql = ( + build-asdf-system { + pname = "mssql"; + version = "20241012-git"; + asds = [ "mssql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-mssql/2024-10-12/cl-mssql-20241012-git.tgz"; + sha256 = "15hnlkx6d2vw46v7h01wljzag33j5is679amv74kzk4qq91wfkx2"; + system = "mssql"; + asd = "mssql"; + } + ); + systems = [ "mssql" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "garbage-pools" self) + (getAttr "iterate" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mstrings = ( + build-asdf-system { + pname = "mstrings"; + version = "20220707-git"; + asds = [ "mstrings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mstrings/2022-07-07/mstrings-20220707-git.tgz"; + sha256 = "0s1zqwnv9agvlp79gh7y06rmly56v8nm1l594rry9gzwvvx1jj1k"; + system = "mstrings"; + asd = "mstrings"; + } + ); + systems = [ "mstrings" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mt19937 = ( + build-asdf-system { + pname = "mt19937"; + version = "1.1.1"; + asds = [ "mt19937" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mt19937/2011-02-19/mt19937-1.1.1.tgz"; + sha256 = "0h02ssnncc760b68ipm0sbrzrbnllp6fqabvw98w43af08s36xlg"; + system = "mt19937"; + asd = "mt19937"; + } + ); + systems = [ "mt19937" ]; + lispLibs = [ ]; + meta = { }; + } + ); + mtif = ( + build-asdf-system { + pname = "mtif"; + version = "20171130-git"; + asds = [ "mtif" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mtif/2017-11-30/mtif-20171130-git.tgz"; + sha256 = "0fzlf0xawv579i4jp5l994d7m220py5j169klaj0l43frgxb4n7y"; + system = "mtif"; + asd = "mtif"; + } + ); + systems = [ "mtif" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mtlisp = ( + build-asdf-system { + pname = "mtlisp"; + version = "20130615-git"; + asds = [ "mtlisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mtlisp/2013-06-15/mtlisp-20130615-git.tgz"; + sha256 = "0qpbhiy2z2q7mf4lf2lpj66a13xj7bj0c584d1i7zi156s2hcnvs"; + system = "mtlisp"; + asd = "mtlisp"; + } + ); + systems = [ "mtlisp" ]; + lispLibs = [ (getAttr "acl-compat" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + multilang-documentation = ( + build-asdf-system { + pname = "multilang-documentation"; + version = "20231021-git"; + asds = [ "multilang-documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/multilang-documentation/2023-10-21/multilang-documentation-20231021-git.tgz"; + sha256 = "1v9sv81lx0ms9djz0hqhwdswg0rmzqv47g57k5jmzkx6lbjsya7z"; + system = "multilang-documentation"; + asd = "multilang-documentation"; + } + ); + systems = [ "multilang-documentation" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "language-codes" self) + (getAttr "system-locale" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + multilang-documentation-utils = ( + build-asdf-system { + pname = "multilang-documentation-utils"; + version = "20231021-git"; + asds = [ "multilang-documentation-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/documentation-utils/2023-10-21/documentation-utils-20231021-git.tgz"; + sha256 = "0nzkjzvcqi1l2ywiz17h1f54vgvbkywv95in4yww6lyzqjqsqqhy"; + system = "multilang-documentation-utils"; + asd = "multilang-documentation-utils"; + } + ); + systems = [ "multilang-documentation-utils" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "multilang-documentation" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + multiple-value-variants = ( + build-asdf-system { + pname = "multiple-value-variants"; + version = "1.0.1"; + asds = [ "multiple-value-variants" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/multiple-value-variants/2014-08-26/multiple-value-variants-1.0.1.tgz"; + sha256 = "0kb7bkgg2iri89ph2lcgfk57pf8h4r6471sn2jcyp5sz13g4f6yw"; + system = "multiple-value-variants"; + asd = "multiple-value-variants"; + } + ); + systems = [ "multiple-value-variants" ]; + lispLibs = [ + (getAttr "enhanced-multiple-value-bind" self) + (getAttr "map-bind" self) + (getAttr "positional-lambda" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + multiposter = ( + build-asdf-system { + pname = "multiposter"; + version = "20241012-git"; + asds = [ "multiposter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/multiposter/2024-10-12/multiposter-20241012-git.tgz"; + sha256 = "1q1zinv4csnb0yjlndym5dlf7apax3f5qdiids3dlai09jb4hbjg"; + system = "multiposter"; + asd = "multiposter"; + } + ); + systems = [ "multiposter" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "clohost" self) + (getAttr "closer-mop" self) + (getAttr "documentation-utils" self) + (getAttr "fuzzy-dates" self) + (getAttr "humbler" self) + (getAttr "lichat-tcp-client" self) + (getAttr "lquery" self) + (getAttr "north-drakma" self) + (getAttr "pathname-utils" self) + (getAttr "studio-client" self) + (getAttr "tooter" self) + (getAttr "trivial-arguments" self) + (getAttr "trivial-mimes" self) + (getAttr "ubiquitous" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + multival-plist = ( + build-asdf-system { + pname = "multival-plist"; + version = "20120305-git"; + asds = [ "multival-plist" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/multival-plist/2012-03-05/multival-plist-20120305-git.tgz"; + sha256 = "0cfca0qvngbvs9v4z8qpzr6wsjvf01jzaszagmasa4zkvmjycx1b"; + system = "multival-plist"; + asd = "multival-plist"; + } + ); + systems = [ "multival-plist" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-annot" self) + (getAttr "cl-syntax-annot" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + multival-plist-test = ( + build-asdf-system { + pname = "multival-plist-test"; + version = "20120305-git"; + asds = [ "multival-plist-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/multival-plist/2012-03-05/multival-plist-20120305-git.tgz"; + sha256 = "0cfca0qvngbvs9v4z8qpzr6wsjvf01jzaszagmasa4zkvmjycx1b"; + system = "multival-plist-test"; + asd = "multival-plist-test"; + } + ); + systems = [ "multival-plist-test" ]; + lispLibs = [ + (getAttr "cl-test-more" self) + (getAttr "multival-plist" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + music-spelling = ( + build-asdf-system { + pname = "music-spelling"; + version = "20230214-git"; + asds = [ "music-spelling" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/music-spelling/2023-02-14/music-spelling-20230214-git.tgz"; + sha256 = "0fgahb0jjr4sp2739d55gylmx8alsghnx3spyaqfqci4cxfrys52"; + system = "music-spelling"; + asd = "music-spelling"; + } + ); + systems = [ "music-spelling" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mutility = ( + build-asdf-system { + pname = "mutility"; + version = "20241012-git"; + asds = [ "mutility" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mutility/2024-10-12/mutility-20241012-git.tgz"; + sha256 = "17ip4rkvval66k9r3a2hvpr4pqa087b3rqjdayl115fi6bfzncr4"; + system = "mutility"; + asd = "mutility"; + } + ); + systems = [ "mutility" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mutils = ( + build-asdf-system { + pname = "mutils"; + version = "20241012-git"; + asds = [ "mutils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mutils/2024-10-12/mutils-20241012-git.tgz"; + sha256 = "1xmqms002bafrdrpzgqq5dr0qfiywg3p7mhvb6xny1jrk3qdqz75"; + system = "mutils"; + asd = "mutils"; + } + ); + systems = [ "mutils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mw-equiv = ( + build-asdf-system { + pname = "mw-equiv"; + version = "0.1.3"; + asds = [ "mw-equiv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mw-equiv/2010-10-06/mw-equiv-0.1.3.tgz"; + sha256 = "1fl90wp0jp7l90mps53fq0kzb28f10qfr739527h03xwqccyylad"; + system = "mw-equiv"; + asd = "mw-equiv"; + } + ); + systems = [ "mw-equiv" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + my-cool-system = ( + build-asdf-system { + pname = "my-cool-system"; + version = "20231021-git"; + asds = [ "my-cool-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/super-loader/2023-10-21/super-loader-20231021-git.tgz"; + sha256 = "0jicqg3w1yhwkmjfag0lvlhw83w2hpanwav1gzyf4s58sng6cxf4"; + system = "my-cool-system"; + asd = "my-cool-system"; + } + ); + systems = [ "my-cool-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + my-secret-system = ( + build-asdf-system { + pname = "my-secret-system"; + version = "20231021-git"; + asds = [ "my-secret-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/super-loader/2023-10-21/super-loader-20231021-git.tgz"; + sha256 = "0jicqg3w1yhwkmjfag0lvlhw83w2hpanwav1gzyf4s58sng6cxf4"; + system = "my-secret-system"; + asd = "my-secret-system"; + } + ); + systems = [ "my-secret-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic = ( + build-asdf-system { + pname = "mystic"; + version = "20230618-git"; + asds = [ "mystic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic"; + asd = "mystic"; + } + ); + systems = [ "mystic" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-mustache" self) + (getAttr "local-time" self) + (getAttr "split-sequence" self) + (getAttr "ubiquitous" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-file-mixin = ( + build-asdf-system { + pname = "mystic-file-mixin"; + version = "20230618-git"; + asds = [ "mystic-file-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-file-mixin"; + asd = "mystic-file-mixin"; + } + ); + systems = [ "mystic-file-mixin" ]; + lispLibs = [ (getAttr "mystic" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-fiveam-mixin = ( + build-asdf-system { + pname = "mystic-fiveam-mixin"; + version = "20230618-git"; + asds = [ "mystic-fiveam-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-fiveam-mixin"; + asd = "mystic-fiveam-mixin"; + } + ); + systems = [ "mystic-fiveam-mixin" ]; + lispLibs = [ + (getAttr "mystic" self) + (getAttr "mystic-file-mixin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-gitignore-mixin = ( + build-asdf-system { + pname = "mystic-gitignore-mixin"; + version = "20230618-git"; + asds = [ "mystic-gitignore-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-gitignore-mixin"; + asd = "mystic-gitignore-mixin"; + } + ); + systems = [ "mystic-gitignore-mixin" ]; + lispLibs = [ + (getAttr "mystic" self) + (getAttr "mystic-file-mixin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-library-template = ( + build-asdf-system { + pname = "mystic-library-template"; + version = "20230618-git"; + asds = [ "mystic-library-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-library-template"; + asd = "mystic-library-template"; + } + ); + systems = [ "mystic-library-template" ]; + lispLibs = [ + (getAttr "mystic" self) + (getAttr "mystic-fiveam-mixin" self) + (getAttr "mystic-gitignore-mixin" self) + (getAttr "mystic-readme-mixin" self) + (getAttr "mystic-travis-mixin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-readme-mixin = ( + build-asdf-system { + pname = "mystic-readme-mixin"; + version = "20230618-git"; + asds = [ "mystic-readme-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-readme-mixin"; + asd = "mystic-readme-mixin"; + } + ); + systems = [ "mystic-readme-mixin" ]; + lispLibs = [ + (getAttr "mystic" self) + (getAttr "mystic-file-mixin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-test = ( + build-asdf-system { + pname = "mystic-test"; + version = "20230618-git"; + asds = [ "mystic-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-test"; + asd = "mystic-test"; + } + ); + systems = [ "mystic-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "mystic" self) + (getAttr "mystic-library-template" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + mystic-travis-mixin = ( + build-asdf-system { + pname = "mystic-travis-mixin"; + version = "20230618-git"; + asds = [ "mystic-travis-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mystic/2023-06-18/mystic-20230618-git.tgz"; + sha256 = "0fa7mb326vz7ygiwzk0x2y8gna0xnq19cics5vxc6smw6a8mhxi5"; + system = "mystic-travis-mixin"; + asd = "mystic-travis-mixin"; + } + ); + systems = [ "mystic-travis-mixin" ]; + lispLibs = [ + (getAttr "mystic" self) + (getAttr "mystic-file-mixin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + myway = ( + build-asdf-system { + pname = "myway"; + version = "20221106-git"; + asds = [ "myway" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/myway/2022-11-06/myway-20221106-git.tgz"; + sha256 = "0xac8xpbcvq457f2jzzkf46mh5ganf1k2ix8sg61hqqmld5z4dag"; + system = "myway"; + asd = "myway"; + } + ); + systems = [ "myway" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-utilities" self) + (getAttr "map-set" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + myway-test = ( + build-asdf-system { + pname = "myway-test"; + version = "20221106-git"; + asds = [ "myway-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/myway/2022-11-06/myway-20221106-git.tgz"; + sha256 = "0xac8xpbcvq457f2jzzkf46mh5ganf1k2ix8sg61hqqmld5z4dag"; + system = "myway-test"; + asd = "myway-test"; + } + ); + systems = [ "myway-test" ]; + lispLibs = [ + (getAttr "myway" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + myweb = ( + build-asdf-system { + pname = "myweb"; + version = "20241012-git"; + asds = [ "myweb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/myweb/2024-10-12/myweb-20241012-git.tgz"; + sha256 = "10r67w3cgrq0r7qmqdnv4c3pjz7kkhz9q3jj0amlknr0nsr4y2zp"; + system = "myweb"; + asd = "myweb"; + } + ); + systems = [ "myweb" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-log" self) + (getAttr "local-time" self) + (getAttr "trivial-utf-8" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nail = ( + build-asdf-system { + pname = "nail"; + version = "20230214-git"; + asds = [ "nail" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nail/2023-02-14/nail-20230214-git.tgz"; + sha256 = "0m5a1zx9s033mz3ypx27c26z5bvc8mcpnpzslypzdp6xah1nv0g3"; + system = "nail"; + asd = "nail"; + } + ); + systems = [ "nail" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cl-reexport" self) + (getAttr "eazy-gnuplot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + named-closure = ( + build-asdf-system { + pname = "named-closure"; + version = "20241012-git"; + asds = [ "named-closure" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/named-closure/2024-10-12/named-closure-20241012-git.tgz"; + sha256 = "1ja7lvid589n3r25vh7j21wji60dm2qika2jn51jvfbbii853x09"; + system = "named-closure"; + asd = "named-closure"; + } + ); + systems = [ "named-closure" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "hu_dot_dwim_dot_walker" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + named-read-macros = ( + build-asdf-system { + pname = "named-read-macros"; + version = "20210228-git"; + asds = [ "named-read-macros" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/named-read-macros/2021-02-28/named-read-macros-20210228-git.tgz"; + sha256 = "0bgqy43h06nq2p9avqix2k15ab306sghrz2pkr17pli87q0qkxhi"; + system = "named-read-macros"; + asd = "named-read-macros"; + } + ); + systems = [ "named-read-macros" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + named-read-macros-test = ( + build-asdf-system { + pname = "named-read-macros-test"; + version = "20210228-git"; + asds = [ "named-read-macros-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/named-read-macros/2021-02-28/named-read-macros-20210228-git.tgz"; + sha256 = "0bgqy43h06nq2p9avqix2k15ab306sghrz2pkr17pli87q0qkxhi"; + system = "named-read-macros-test"; + asd = "named-read-macros-test"; + } + ); + systems = [ "named-read-macros-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "named-read-macros" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + named-readtables = ( + build-asdf-system { + pname = "named-readtables"; + version = "20231021-git"; + asds = [ "named-readtables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/named-readtables/2023-10-21/named-readtables-20231021-git.tgz"; + sha256 = "0cnxs13qf0y1r05mhhf54jihvv7pqk1a2p3x5jzs4y8ld1in6xzp"; + system = "named-readtables"; + asd = "named-readtables"; + } + ); + systems = [ "named-readtables" ]; + lispLibs = [ (getAttr "mgl-pax-bootstrap" self) ]; + meta = { }; + } + ); + named-readtables-test = ( + build-asdf-system { + pname = "named-readtables-test"; + version = "20231021-git"; + asds = [ "named-readtables-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/named-readtables/2023-10-21/named-readtables-20231021-git.tgz"; + sha256 = "0cnxs13qf0y1r05mhhf54jihvv7pqk1a2p3x5jzs4y8ld1in6xzp"; + system = "named-readtables-test"; + asd = "named-readtables-test"; + } + ); + systems = [ "named-readtables-test" ]; + lispLibs = [ + (getAttr "named-readtables" self) + (getAttr "try" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nanovg-blob = ( + build-asdf-system { + pname = "nanovg-blob"; + version = "stable-git"; + asds = [ "nanovg-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nanovg-blob/2020-10-16/nanovg-blob-stable-git.tgz"; + sha256 = "1q80inrlfcqqqc912jcskfn667jgq6lcw0jvhk270x5qpj8z2pfj"; + system = "nanovg-blob"; + asd = "nanovg-blob"; + } + ); + systems = [ "nanovg-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "glad-blob" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + napa-fft3 = ( + build-asdf-system { + pname = "napa-fft3"; + version = "20151218-git"; + asds = [ "napa-fft3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/napa-fft3/2015-12-18/napa-fft3-20151218-git.tgz"; + sha256 = "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"; + system = "napa-fft3"; + asd = "napa-fft3"; + } + ); + systems = [ "napa-fft3" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + narrowed-types = ( + build-asdf-system { + pname = "narrowed-types"; + version = "20180228-git"; + asds = [ "narrowed-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/narrowed-types/2018-02-28/narrowed-types-20180228-git.tgz"; + sha256 = "03v4jgdysapj3ndg2qij7liqc6n9zb07r5j4k1jhmhpml86jxg4g"; + system = "narrowed-types"; + asd = "narrowed-types"; + } + ); + systems = [ "narrowed-types" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + narrowed-types-test = ( + build-asdf-system { + pname = "narrowed-types-test"; + version = "20180228-git"; + asds = [ "narrowed-types-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/narrowed-types/2018-02-28/narrowed-types-20180228-git.tgz"; + sha256 = "03v4jgdysapj3ndg2qij7liqc6n9zb07r5j4k1jhmhpml86jxg4g"; + system = "narrowed-types-test"; + asd = "narrowed-types-test"; + } + ); + systems = [ "narrowed-types-test" ]; + lispLibs = [ + (getAttr "narrowed-types" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + native-lazy-seq = ( + build-asdf-system { + pname = "native-lazy-seq"; + version = "20230618-git"; + asds = [ "native-lazy-seq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/native-lazy-seq/2023-06-18/native-lazy-seq-20230618-git.tgz"; + sha256 = "1p5zja0qg61girf67ic8j6wv9s1faxki0mazxmydbm92ckrns2rp"; + system = "native-lazy-seq"; + asd = "native-lazy-seq"; + } + ); + systems = [ "native-lazy-seq" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "serapeum" self) + (getAttr "trivial-extensible-sequences" self) + (getAttr "trivial-package-local-nicknames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nbd = ( + build-asdf-system { + pname = "nbd"; + version = "20211020-git"; + asds = [ "nbd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nbd/2021-10-20/nbd-20211020-git.tgz"; + sha256 = "1p9dpyvlpjm32a2ymhps782dp5pjya5bnky6sb20gf4zyw6r826n"; + system = "nbd"; + asd = "nbd"; + } + ); + systems = [ "nbd" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "flexi-streams" self) + (getAttr "lisp-binary" self) + (getAttr "wild-package-inferred-system" self) + ]; + meta = { }; + } + ); + ncurses-clone-for-lem = ( + build-asdf-system { + pname = "ncurses-clone-for-lem"; + version = "20200427-git"; + asds = [ "ncurses-clone-for-lem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "ncurses-clone-for-lem"; + asd = "ncurses-clone-for-lem"; + } + ); + systems = [ "ncurses-clone-for-lem" ]; + lispLibs = [ + (getAttr "application" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "lparallel" self) + (getAttr "nsb-cga" self) + (getAttr "text-subsystem" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ndebug = ( + build-asdf-system { + pname = "ndebug"; + version = "20241012-git"; + asds = [ "ndebug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ndebug/2024-10-12/ndebug-20241012-git.tgz"; + sha256 = "168khn4190p55fjhbpnbq130lbaafq7cw0131x7n650d9f4h2hyq"; + system = "ndebug"; + asd = "ndebug"; + } + ); + systems = [ "ndebug" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "dissect" self) + (getAttr "trivial-custom-debugger" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ndfa = ( + build-asdf-system { + pname = "ndfa"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "ndfa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "ndfa"; + asd = "ndfa"; + } + ); + systems = [ "ndfa" ]; + lispLibs = [ (getAttr "adjuvant" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ndfa-test = ( + build-asdf-system { + pname = "ndfa-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "ndfa-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "ndfa-test"; + asd = "ndfa-test"; + } + ); + systems = [ "ndfa-test" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "ndfa" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net-telent-date = ( + build-asdf-system { + pname = "net-telent-date"; + version = "0.42"; + asds = [ "net-telent-date" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/net-telent-date/2010-10-06/net-telent-date_0.42.tgz"; + sha256 = "0vgibf76hy3zy39pix367xnvpwxiqsxvv6w0gqdxprd5ljpb7g2j"; + system = "net-telent-date"; + asd = "net-telent-date"; + } + ); + systems = [ "net-telent-date" ]; + lispLibs = [ ]; + meta = { }; + } + ); + net_dot_didierverna_dot_asdf-flv = ( + build-asdf-system { + pname = "net.didierverna.asdf-flv"; + version = "version-2.2"; + asds = [ "net.didierverna.asdf-flv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-flv/2023-10-21/asdf-flv-version-2.2.tgz"; + sha256 = "1svcjhdlsdayr07qa38kj8n5m40qplklspmlrkmvc5wdhk9jz8sw"; + system = "net.didierverna.asdf-flv"; + asd = "net.didierverna.asdf-flv"; + } + ); + systems = [ "net.didierverna.asdf-flv" ]; + lispLibs = [ ]; + meta = { }; + } + ); + net_dot_didierverna_dot_clon = ( + build-asdf-system { + pname = "net.didierverna.clon"; + version = "version-1.0b27"; + asds = [ "net.didierverna.clon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; + sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; + system = "net.didierverna.clon"; + asd = "net.didierverna.clon"; + } + ); + systems = [ "net.didierverna.clon" ]; + lispLibs = [ + (getAttr "net_dot_didierverna_dot_clon_dot_core" self) + (getAttr "net_dot_didierverna_dot_clon_dot_setup" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_clon_dot_core = ( + build-asdf-system { + pname = "net.didierverna.clon.core"; + version = "version-1.0b27"; + asds = [ "net.didierverna.clon.core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; + sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; + system = "net.didierverna.clon.core"; + asd = "net.didierverna.clon.core"; + } + ); + systems = [ "net.didierverna.clon.core" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_setup" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_clon_dot_demo_dot_advanced = ( + build-asdf-system { + pname = "net.didierverna.clon.demo.advanced"; + version = "version-1.0b27"; + asds = [ "net.didierverna.clon.demo.advanced" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; + sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; + system = "net.didierverna.clon.demo.advanced"; + asd = "net.didierverna.clon.demo.advanced"; + } + ); + systems = [ "net.didierverna.clon.demo.advanced" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_clon" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_clon_dot_demo_dot_simple = ( + build-asdf-system { + pname = "net.didierverna.clon.demo.simple"; + version = "version-1.0b27"; + asds = [ "net.didierverna.clon.demo.simple" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; + sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; + system = "net.didierverna.clon.demo.simple"; + asd = "net.didierverna.clon.demo.simple"; + } + ); + systems = [ "net.didierverna.clon.demo.simple" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_clon" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_clon_dot_setup = ( + build-asdf-system { + pname = "net.didierverna.clon.setup"; + version = "version-1.0b27"; + asds = [ "net.didierverna.clon.setup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; + sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; + system = "net.didierverna.clon.setup"; + asd = "net.didierverna.clon.setup"; + } + ); + systems = [ "net.didierverna.clon.setup" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_clon_dot_termio = ( + build-asdf-system { + pname = "net.didierverna.clon.termio"; + version = "version-1.0b27"; + asds = [ "net.didierverna.clon.termio" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-clon/2023-10-21/cl-clon-version-1.0b27.tgz"; + sha256 = "0cyh5z78r7qhv2rzghkhksgg848d6iy1xv7y87p3aivd23c916b1"; + system = "net.didierverna.clon.termio"; + asd = "net.didierverna.clon.termio"; + } + ); + systems = [ "net.didierverna.clon.termio" ]; + lispLibs = [ + (getAttr "net_dot_didierverna_dot_clon_dot_core" self) + (getAttr "net_dot_didierverna_dot_clon_dot_setup" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_declt_dot_setup = ( + build-asdf-system { + pname = "net.didierverna.declt.setup"; + version = "4.0b2"; + asds = [ "net.didierverna.declt.setup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/declt/2024-10-12/declt-4.0b2.tgz"; + sha256 = "1xkbf1xqrkmr8na09b0spmrznsx2ml10i9q026zv9mpbsc7gh0i6"; + system = "net.didierverna.declt.setup"; + asd = "net.didierverna.declt.setup"; + } + ); + systems = [ "net.didierverna.declt.setup" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_focus = ( + build-asdf-system { + pname = "net.didierverna.focus"; + version = "20170403-git"; + asds = [ "net.didierverna.focus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; + sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; + system = "net.didierverna.focus"; + asd = "net.didierverna.focus"; + } + ); + systems = [ "net.didierverna.focus" ]; + lispLibs = [ + (getAttr "net_dot_didierverna_dot_focus_dot_core" self) + (getAttr "net_dot_didierverna_dot_focus_dot_flv" self) + (getAttr "net_dot_didierverna_dot_focus_dot_setup" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_focus_dot_core = ( + build-asdf-system { + pname = "net.didierverna.focus.core"; + version = "20170403-git"; + asds = [ "net.didierverna.focus.core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; + sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; + system = "net.didierverna.focus.core"; + asd = "net.didierverna.focus.core"; + } + ); + systems = [ "net.didierverna.focus.core" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_setup" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_focus_dot_demos_dot_quotation = ( + build-asdf-system { + pname = "net.didierverna.focus.demos.quotation"; + version = "20170403-git"; + asds = [ "net.didierverna.focus.demos.quotation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; + sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; + system = "net.didierverna.focus.demos.quotation"; + asd = "net.didierverna.focus.demos.quotation"; + } + ); + systems = [ "net.didierverna.focus.demos.quotation" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_flv" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_focus_dot_flv = ( + build-asdf-system { + pname = "net.didierverna.focus.flv"; + version = "20170403-git"; + asds = [ "net.didierverna.focus.flv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; + sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; + system = "net.didierverna.focus.flv"; + asd = "net.didierverna.focus.flv"; + } + ); + systems = [ "net.didierverna.focus.flv" ]; + lispLibs = [ + (getAttr "net_dot_didierverna_dot_asdf-flv" self) + (getAttr "net_dot_didierverna_dot_focus_dot_core" self) + (getAttr "net_dot_didierverna_dot_focus_dot_setup" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_focus_dot_setup = ( + build-asdf-system { + pname = "net.didierverna.focus.setup"; + version = "20170403-git"; + asds = [ "net.didierverna.focus.setup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz"; + sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc"; + system = "net.didierverna.focus.setup"; + asd = "net.didierverna.focus.setup"; + } + ); + systems = [ "net.didierverna.focus.setup" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_tfm = ( + build-asdf-system { + pname = "net.didierverna.tfm"; + version = "20241012-git"; + asds = [ "net.didierverna.tfm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfm/2024-10-12/tfm-20241012-git.tgz"; + sha256 = "15lnp9w9z5ar64bynb365n4wqh8wa7z4m4dzy320xrxnnc1w2sn2"; + system = "net.didierverna.tfm"; + asd = "net.didierverna.tfm"; + } + ); + systems = [ "net.didierverna.tfm" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_tfm_dot_core" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_tfm_dot_core = ( + build-asdf-system { + pname = "net.didierverna.tfm.core"; + version = "20241012-git"; + asds = [ "net.didierverna.tfm.core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfm/2024-10-12/tfm-20241012-git.tgz"; + sha256 = "15lnp9w9z5ar64bynb365n4wqh8wa7z4m4dzy320xrxnnc1w2sn2"; + system = "net.didierverna.tfm.core"; + asd = "net.didierverna.tfm.core"; + } + ); + systems = [ "net.didierverna.tfm.core" ]; + lispLibs = [ (getAttr "net_dot_didierverna_dot_tfm_dot_setup" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_didierverna_dot_tfm_dot_setup = ( + build-asdf-system { + pname = "net.didierverna.tfm.setup"; + version = "20241012-git"; + asds = [ "net.didierverna.tfm.setup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfm/2024-10-12/tfm-20241012-git.tgz"; + sha256 = "15lnp9w9z5ar64bynb365n4wqh8wa7z4m4dzy320xrxnnc1w2sn2"; + system = "net.didierverna.tfm.setup"; + asd = "net.didierverna.tfm.setup"; + } + ); + systems = [ "net.didierverna.tfm.setup" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + net_dot_scipolis_dot_graphs = ( + build-asdf-system { + pname = "net.scipolis.graphs"; + version = "20210411-git"; + asds = [ "net.scipolis.graphs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz"; + sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa"; + system = "net.scipolis.graphs"; + asd = "net.scipolis.graphs"; + } + ); + systems = [ "net.scipolis.graphs" ]; + lispLibs = [ (getAttr "femlisp-basic" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + network-addresses = ( + build-asdf-system { + pname = "network-addresses"; + version = "20160628-git"; + asds = [ "network-addresses" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/network-addresses/2016-06-28/network-addresses-20160628-git.tgz"; + sha256 = "0zkyfdvfy9pz08vrgz40qpnqx0y7vf92aarp9dq2wipimnwy8df2"; + system = "network-addresses"; + asd = "network-addresses"; + } + ); + systems = [ "network-addresses" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + network-addresses-test = ( + build-asdf-system { + pname = "network-addresses-test"; + version = "20160628-git"; + asds = [ "network-addresses-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/network-addresses/2016-06-28/network-addresses-20160628-git.tgz"; + sha256 = "0zkyfdvfy9pz08vrgz40qpnqx0y7vf92aarp9dq2wipimnwy8df2"; + system = "network-addresses-test"; + asd = "network-addresses-test"; + } + ); + systems = [ "network-addresses-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "network-addresses" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + neural-classifier = ( + build-asdf-system { + pname = "neural-classifier"; + version = "20241012-git"; + asds = [ "neural-classifier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/neural-classifier/2024-10-12/neural-classifier-20241012-git.tgz"; + sha256 = "0aq7m781c27di7lfs1a7di55f31i7x490yfd2033738biqn0x019"; + system = "neural-classifier"; + asd = "neural-classifier"; + } + ); + systems = [ "neural-classifier" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "magicl" self) + (getAttr "serapeum" self) + (getAttr "snakes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + new-op = ( + build-asdf-system { + pname = "new-op"; + version = "20241012-git"; + asds = [ "new-op" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/new-op/2024-10-12/new-op-20241012-git.tgz"; + sha256 = "1jrnn4xbx5gc1202hqpinh0q1gm2wcv28jr8fl6g7wm6170nscxh"; + system = "new-op"; + asd = "new-op"; + } + ); + systems = [ "new-op" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nibbles = ( + build-asdf-system { + pname = "nibbles"; + version = "20241012-git"; + asds = [ "nibbles" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nibbles/2024-10-12/nibbles-20241012-git.tgz"; + sha256 = "00j464l3l1rx2x9gzx45gz7wcpplk1wmfh5liigzlxqq0ybjc7lr"; + system = "nibbles"; + asd = "nibbles"; + } + ); + systems = [ "nibbles" ]; + lispLibs = [ ]; + meta = { }; + } + ); + nibbles-streams = ( + build-asdf-system { + pname = "nibbles-streams"; + version = "20241012-git"; + asds = [ "nibbles-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nibbles-streams/2024-10-12/nibbles-streams-20241012-git.tgz"; + sha256 = "1m1i9nivpahk11rzdwy3xxdcdwmkx3xzb4kqcz3gh3prwhyg83a1"; + system = "nibbles-streams"; + asd = "nibbles-streams"; + } + ); + systems = [ "nibbles-streams" ]; + lispLibs = [ + (getAttr "nibbles" self) + (getAttr "serapeum" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nineveh = ( + build-asdf-system { + pname = "nineveh"; + version = "release-quicklisp-0a10a846-git"; + asds = [ "nineveh" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nineveh/2019-10-07/nineveh-release-quicklisp-0a10a846-git.tgz"; + sha256 = "0bpdgqc9iz37240ypirpi489pnqpb92i94snyhjbh87i50y4br2l"; + system = "nineveh"; + asd = "nineveh"; + } + ); + systems = [ "nineveh" ]; + lispLibs = [ + (getAttr "cepl" self) + (getAttr "cl-soil" self) + (getAttr "dendrite_dot_primitives" self) + (getAttr "documentation-utils" self) + (getAttr "easing" self) + (getAttr "livesupport" self) + (getAttr "rtg-math_dot_vari" self) + (getAttr "with-setf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ningle = ( + build-asdf-system { + pname = "ningle"; + version = "20241012-git"; + asds = [ "ningle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ningle/2024-10-12/ningle-20241012-git.tgz"; + sha256 = "1ym6phipbg94q7344ng9yf02ykh0x5ldx8nfrbsh8p15qajsw7hc"; + system = "ningle"; + asd = "ningle"; + } + ); + systems = [ "ningle" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "lack-component" self) + (getAttr "lack-request" self) + (getAttr "lack-response" self) + (getAttr "myway" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ningle-test = ( + build-asdf-system { + pname = "ningle-test"; + version = "20241012-git"; + asds = [ "ningle-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ningle/2024-10-12/ningle-20241012-git.tgz"; + sha256 = "1ym6phipbg94q7344ng9yf02ykh0x5ldx8nfrbsh8p15qajsw7hc"; + system = "ningle-test"; + asd = "ningle-test"; + } + ); + systems = [ "ningle-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "lack-component" self) + (getAttr "lack-test" self) + (getAttr "ningle" self) + (getAttr "prove" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nlopt = ( + build-asdf-system { + pname = "nlopt"; + version = "20220707-git"; + asds = [ "nlopt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nlopt/2022-07-07/nlopt-20220707-git.tgz"; + sha256 = "01zw4yx38kc8x3by0m3dw5j87hwb180ggp4njfnzi1qjq1fdczp5"; + system = "nlopt"; + asd = "nlopt"; + } + ); + systems = [ "nlopt" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nodgui = ( + build-asdf-system { + pname = "nodgui"; + version = "20241012-git"; + asds = [ "nodgui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nodgui/2024-10-12/nodgui-20241012-git.tgz"; + sha256 = "088dkpqsxc4dmfsbz24wrgi192xrn8116p4zpklwfqa0fblmfzpb"; + system = "nodgui"; + asd = "nodgui"; + } + ); + systems = [ "nodgui" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-colors2" self) + (getAttr "cl-opengl" self) + (getAttr "cl-ppcre-unicode" self) + (getAttr "cl-unicode" self) + (getAttr "esrap" self) + (getAttr "flexi-streams" self) + (getAttr "jpeg-turbo" self) + (getAttr "named-readtables" self) + (getAttr "parse-number" self) + (getAttr "pngload" self) + (getAttr "sdl2" self) + (getAttr "sdl2-ttf" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nodgui-lite = ( + build-asdf-system { + pname = "nodgui-lite"; + version = "20241012-git"; + asds = [ "nodgui-lite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nodgui/2024-10-12/nodgui-20241012-git.tgz"; + sha256 = "088dkpqsxc4dmfsbz24wrgi192xrn8116p4zpklwfqa0fblmfzpb"; + system = "nodgui-lite"; + asd = "nodgui-lite"; + } + ); + systems = [ "nodgui-lite" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-colors2" self) + (getAttr "cl-ppcre-unicode" self) + (getAttr "cl-unicode" self) + (getAttr "esrap" self) + (getAttr "flexi-streams" self) + (getAttr "named-readtables" self) + (getAttr "parse-number" self) + (getAttr "pngload" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + noisy = ( + build-asdf-system { + pname = "noisy"; + version = "20241012-git"; + asds = [ "noisy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/noisy/2024-10-12/noisy-20241012-git.tgz"; + sha256 = "0qr29rxbrrlgd3k7hb6c62yzgflaygvxabq2sbhs90r0bi3cs0dj"; + system = "noisy"; + asd = "noisy"; + } + ); + systems = [ "noisy" ]; + lispLibs = [ (getAttr "random-state" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nontrivial-gray-streams = ( + build-asdf-system { + pname = "nontrivial-gray-streams"; + version = "20241012-git"; + asds = [ "nontrivial-gray-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nontrivial-gray-streams/2024-10-12/nontrivial-gray-streams-20241012-git.tgz"; + sha256 = "0v49nqsc5jbrg499qhk550zg4v5arjh9nch33n5g4f5bfgw7lzh3"; + system = "nontrivial-gray-streams"; + asd = "nontrivial-gray-streams"; + } + ); + systems = [ "nontrivial-gray-streams" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + north = ( + build-asdf-system { + pname = "north"; + version = "20241012-git"; + asds = [ "north" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; + sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; + system = "north"; + asd = "north"; + } + ); + systems = [ "north" ]; + lispLibs = [ (getAttr "north-drakma" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + north-core = ( + build-asdf-system { + pname = "north-core"; + version = "20241012-git"; + asds = [ "north-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; + sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; + system = "north-core"; + asd = "north-core"; + } + ); + systems = [ "north-core" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "crypto-shortcuts" self) + (getAttr "documentation-utils" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + north-dexador = ( + build-asdf-system { + pname = "north-dexador"; + version = "20241012-git"; + asds = [ "north-dexador" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; + sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; + system = "north-dexador"; + asd = "north-dexador"; + } + ); + systems = [ "north-dexador" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "north-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + north-drakma = ( + build-asdf-system { + pname = "north-drakma"; + version = "20241012-git"; + asds = [ "north-drakma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; + sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; + system = "north-drakma"; + asd = "north-drakma"; + } + ); + systems = [ "north-drakma" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "north-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + north-example = ( + build-asdf-system { + pname = "north-example"; + version = "20241012-git"; + asds = [ "north-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/north/2024-10-12/north-20241012-git.tgz"; + sha256 = "0ml49xixdr1aagj580dr0dzx7dvdqrf45yyh3pzdzbp0pzqbpjz2"; + system = "north-example"; + asd = "north-example"; + } + ); + systems = [ "north-example" ]; + lispLibs = [ + (getAttr "clip" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + (getAttr "north" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nsb-cga = ( + build-asdf-system { + pname = "nsb-cga"; + version = "20200427-git"; + asds = [ "nsb-cga" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "nsb-cga"; + asd = "nsb-cga"; + } + ); + systems = [ "nsb-cga" ]; + lispLibs = [ (getAttr "cl-reexport" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nsort = ( + build-asdf-system { + pname = "nsort"; + version = "20150505-git"; + asds = [ "nsort" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nsort/2015-05-05/nsort-20150505-git.tgz"; + sha256 = "1q58slg8pl390av8pv16xb8g9qibgy3pm6vyl1fw75mx37yqkyd3"; + system = "nsort"; + asd = "nsort"; + } + ); + systems = [ "nsort" ]; + lispLibs = [ (getAttr "prove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst = ( + build-asdf-system { + pname = "nst"; + version = "20210807-git"; + asds = [ "nst" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst"; + asd = "nst"; + } + ); + systems = [ "nst" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "org-sampler" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-manual-tests = ( + build-asdf-system { + pname = "nst-manual-tests"; + version = "20210807-git"; + asds = [ "nst-manual-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-manual-tests"; + asd = "nst-manual-tests"; + } + ); + systems = [ "nst-manual-tests" ]; + lispLibs = [ + (getAttr "asdf-nst" self) + (getAttr "nst" self) + (getAttr "nst-selftest-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-meta-tests = ( + build-asdf-system { + pname = "nst-meta-tests"; + version = "20210807-git"; + asds = [ "nst-meta-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-meta-tests"; + asd = "nst-meta-tests"; + } + ); + systems = [ "nst-meta-tests" ]; + lispLibs = [ + (getAttr "asdf-nst" self) + (getAttr "nst" self) + (getAttr "nst-selftest-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-mop-utils = ( + build-asdf-system { + pname = "nst-mop-utils"; + version = "20210807-git"; + asds = [ "nst-mop-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-mop-utils"; + asd = "nst-mop-utils"; + } + ); + systems = [ "nst-mop-utils" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "nst" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-selftest-utils = ( + build-asdf-system { + pname = "nst-selftest-utils"; + version = "20210807-git"; + asds = [ "nst-selftest-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-selftest-utils"; + asd = "nst-selftest-utils"; + } + ); + systems = [ "nst-selftest-utils" ]; + lispLibs = [ (getAttr "nst" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-simple-tests = ( + build-asdf-system { + pname = "nst-simple-tests"; + version = "20210807-git"; + asds = [ "nst-simple-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-simple-tests"; + asd = "nst-simple-tests"; + } + ); + systems = [ "nst-simple-tests" ]; + lispLibs = [ + (getAttr "asdf-nst" self) + (getAttr "nst" self) + (getAttr "nst-selftest-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-test = ( + build-asdf-system { + pname = "nst-test"; + version = "20210807-git"; + asds = [ "nst-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-test"; + asd = "nst-test"; + } + ); + systems = [ "nst-test" ]; + lispLibs = [ + (getAttr "asdf-nst" self) + (getAttr "nst" self) + (getAttr "nst-meta-tests" self) + (getAttr "nst-simple-tests" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nst-test-jenkins = ( + build-asdf-system { + pname = "nst-test-jenkins"; + version = "20210807-git"; + asds = [ "nst-test-jenkins" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz"; + sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"; + system = "nst-test-jenkins"; + asd = "nst-test-jenkins"; + } + ); + systems = [ "nst-test-jenkins" ]; + lispLibs = [ + (getAttr "asdf-nst" self) + (getAttr "nst" self) + (getAttr "nst-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nuclblog = ( + build-asdf-system { + pname = "nuclblog"; + version = "20140826-git"; + asds = [ "nuclblog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nuclblog/2014-08-26/nuclblog-20140826-git.tgz"; + sha256 = "03ngrxas65l7h9ykyy100arm0imvnrxxyyf809l8iqqv87b3k1hz"; + system = "nuclblog"; + asd = "nuclblog"; + } + ); + systems = [ "nuclblog" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-markdown" self) + (getAttr "cl-store" self) + (getAttr "cl-who" self) + (getAttr "hunchentoot" self) + (getAttr "hunchentoot-auth" self) + (getAttr "md5" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nuklear-blob = ( + build-asdf-system { + pname = "nuklear-blob"; + version = "stable-git"; + asds = [ "nuklear-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nuklear-blob/2020-10-16/nuklear-blob-stable-git.tgz"; + sha256 = "1qqx08sd74ix027p6w35yr0ycp72swy1zzps015hwkiwxsawkncm"; + system = "nuklear-blob"; + asd = "nuklear-blob"; + } + ); + systems = [ "nuklear-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "glad-blob" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nuklear-renderer-blob = ( + build-asdf-system { + pname = "nuklear-renderer-blob"; + version = "stable-git"; + asds = [ "nuklear-renderer-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nuklear-renderer-blob/2020-10-16/nuklear-renderer-blob-stable-git.tgz"; + sha256 = "0f73ns9dq02v7ixpbnvrfgp52cjdvmbbbhhfwjyv0ywxx30mrdq4"; + system = "nuklear-renderer-blob"; + asd = "nuklear-renderer-blob"; + } + ); + systems = [ "nuklear-renderer-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "glad-blob" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + null-package = ( + build-asdf-system { + pname = "null-package"; + version = "20220707-git"; + asds = [ "null-package" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/null-package/2022-07-07/null-package-20220707-git.tgz"; + sha256 = "1ildain46gw0nfnxdwfvasr5vg1fs93afni3k65sl5imc82g910f"; + system = "null-package"; + asd = "null-package"; + } + ); + systems = [ "null-package" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "core-reader" self) + (getAttr "named-readtables" self) + (getAttr "read-as-string" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + null-package_dot_test = ( + build-asdf-system { + pname = "null-package.test"; + version = "20220707-git"; + asds = [ "null-package.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/null-package/2022-07-07/null-package-20220707-git.tgz"; + sha256 = "1ildain46gw0nfnxdwfvasr5vg1fs93afni3k65sl5imc82g910f"; + system = "null-package.test"; + asd = "null-package.test"; + } + ); + systems = [ "null-package.test" ]; + lispLibs = [ + (getAttr "bnf" self) + (getAttr "jingoh" self) + (getAttr "null-package" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + num-utils = ( + build-asdf-system { + pname = "num-utils"; + version = "20241012-git"; + asds = [ "num-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/numerical-utilities/2024-10-12/numerical-utilities-20241012-git.tgz"; + sha256 = "00ck2bj4pqir2aan26xhirk41wzrfaziqmnngabhmwi0hz81bjs6"; + system = "num-utils"; + asd = "num-utils"; + } + ); + systems = [ "num-utils" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "anaphora" self) + (getAttr "array-operations" self) + (getAttr "let-plus" self) + (getAttr "select" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + numcl = ( + build-asdf-system { + pname = "numcl"; + version = "20221106-git"; + asds = [ "numcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/numcl/2022-11-06/numcl-20221106-git.tgz"; + sha256 = "1x0j4vx5w3rn18pssfwys3ghfxr2lkkrv37y47144kr890jrcad9"; + system = "numcl"; + asd = "numcl"; + } + ); + systems = [ "numcl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-randist" self) + (getAttr "constantfold" self) + (getAttr "float-features" self) + (getAttr "function-cache" self) + (getAttr "gtype" self) + (getAttr "iterate" self) + (getAttr "lisp-namespace" self) + (getAttr "specialized-function" self) + (getAttr "trivia" self) + (getAttr "type-r" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + numcl_dot_test = ( + build-asdf-system { + pname = "numcl.test"; + version = "20221106-git"; + asds = [ "numcl.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/numcl/2022-11-06/numcl-20221106-git.tgz"; + sha256 = "1x0j4vx5w3rn18pssfwys3ghfxr2lkkrv37y47144kr890jrcad9"; + system = "numcl.test"; + asd = "numcl.test"; + } + ); + systems = [ "numcl.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "numcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + numpy-file-format = ( + build-asdf-system { + pname = "numpy-file-format"; + version = "20231021-git"; + asds = [ "numpy-file-format" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/numpy-file-format/2023-10-21/numpy-file-format-20231021-git.tgz"; + sha256 = "1n0nixc44z1cymm20wif0l2100ydv0h69l6i6xz5bmwcb2zc4gqr"; + system = "numpy-file-format"; + asd = "numpy-file-format"; + } + ); + systems = [ "numpy-file-format" ]; + lispLibs = [ + (getAttr "ieee-floats" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nxt = ( + build-asdf-system { + pname = "nxt"; + version = "20150608-git"; + asds = [ "nxt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nxt/2015-06-08/cl-nxt-20150608-git.tgz"; + sha256 = "1r9004ra140i9v2pmxnjv86dix4040jr0rgww2zwk370zxys7h2g"; + system = "nxt"; + asd = "nxt"; + } + ); + systems = [ "nxt" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "static-vectors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nxt-proxy = ( + build-asdf-system { + pname = "nxt-proxy"; + version = "20150608-git"; + asds = [ "nxt-proxy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-nxt/2015-06-08/cl-nxt-20150608-git.tgz"; + sha256 = "1r9004ra140i9v2pmxnjv86dix4040jr0rgww2zwk370zxys7h2g"; + system = "nxt-proxy"; + asd = "nxt-proxy"; + } + ); + systems = [ "nxt-proxy" ]; + lispLibs = [ + (getAttr "nxt" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nyaml = ( + build-asdf-system { + pname = "nyaml"; + version = "20211230-git"; + asds = [ "nyaml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nyaml/2021-12-30/nyaml-20211230-git.tgz"; + sha256 = "1gdsxhgqx9ynzrxwjidgljlkmz35wx83r6gwslxgg4v0g4vix9da"; + system = "nyaml"; + asd = "nyaml"; + } + ); + systems = [ "nyaml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "esrap" self) + (getAttr "fare-quasiquote" self) + (getAttr "fare-quasiquote-extras" self) + (getAttr "parse-number" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + nytpu_dot_lisp-utils = ( + build-asdf-system { + pname = "nytpu.lisp-utils"; + version = "20241012-git"; + asds = [ "nytpu.lisp-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/nytpu.lisp-utils/2024-10-12/nytpu.lisp-utils-20241012-git.tgz"; + sha256 = "11mn2xf0nlaqmni0s22n4jbdy8rkqkin1sqni90drd8cs6mccmsd"; + system = "nytpu.lisp-utils"; + asd = "nytpu.lisp-utils"; + } + ); + systems = [ "nytpu.lisp-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + object-class = ( + build-asdf-system { + pname = "object-class"; + version = "1.0"; + asds = [ "object-class" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/object-class/2020-09-25/object-class_1.0.tgz"; + sha256 = "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683"; + system = "object-class"; + asd = "object-class"; + } + ); + systems = [ "object-class" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "compatible-metaclasses" self) + (getAttr "enhanced-find-class" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + object-class__tests = ( + build-asdf-system { + pname = "object-class_tests"; + version = "1.0"; + asds = [ "object-class_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/object-class/2020-09-25/object-class_1.0.tgz"; + sha256 = "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683"; + system = "object-class_tests"; + asd = "object-class_tests"; + } + ); + systems = [ "object-class_tests" ]; + lispLibs = [ + (getAttr "compatible-metaclasses" self) + (getAttr "object-class" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oclcl = ( + build-asdf-system { + pname = "oclcl"; + version = "20190521-git"; + asds = [ "oclcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz"; + sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q"; + system = "oclcl"; + asd = "oclcl"; + } + ); + systems = [ "oclcl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-pattern" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-reexport" self) + (getAttr "external-program" self) + (getAttr "lisp-namespace" self) + (getAttr "osicat" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oclcl-examples = ( + build-asdf-system { + pname = "oclcl-examples"; + version = "20190521-git"; + asds = [ "oclcl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz"; + sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q"; + system = "oclcl-examples"; + asd = "oclcl-examples"; + } + ); + systems = [ "oclcl-examples" ]; + lispLibs = [ + (getAttr "cl-oclapi" self) + (getAttr "imago" self) + (getAttr "oclcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oclcl-test = ( + build-asdf-system { + pname = "oclcl-test"; + version = "20190521-git"; + asds = [ "oclcl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz"; + sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q"; + system = "oclcl-test"; + asd = "oclcl-test"; + } + ); + systems = [ "oclcl-test" ]; + lispLibs = [ + (getAttr "arrow-macros" self) + (getAttr "oclcl" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ode-blob = ( + build-asdf-system { + pname = "ode-blob"; + version = "stable-git"; + asds = [ "ode-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ode-blob/2020-10-16/ode-blob-stable-git.tgz"; + sha256 = "1l2zq27zmivmr6h66kadbh3isnbdmkxvc7wq16wwmsvq23bhpss6"; + system = "ode-blob"; + asd = "ode-blob"; + } + ); + systems = [ "ode-blob" ]; + lispLibs = [ + (getAttr "base-blobs" self) + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + odepack = ( + build-asdf-system { + pname = "odepack"; + version = "20231021-git"; + asds = [ "odepack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "odepack"; + asd = "odepack"; + } + ); + systems = [ "odepack" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + odesk = ( + build-asdf-system { + pname = "odesk"; + version = "20150608-git"; + asds = [ "odesk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-odesk/2015-06-08/cl-odesk-20150608-git.tgz"; + sha256 = "1j5pjq4aw83m1in0l7ljn7jq4ixckg91p4h0lwf420xks3lhi4ka"; + system = "odesk"; + asd = "odesk"; + } + ); + systems = [ "odesk" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "iterate" self) + (getAttr "md5" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oe-encode = ( + build-asdf-system { + pname = "oe-encode"; + version = "20150804-git"; + asds = [ "oe-encode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oe-encode/2015-08-04/oe-encode-20150804-git.tgz"; + sha256 = "18hd97509vpg04gaf8lzjr2jfyj3w4ql1ydb5202p2r9k4qpvnj9"; + system = "oe-encode"; + asd = "oe-encode"; + } + ); + systems = [ "oe-encode" ]; + lispLibs = [ (getAttr "babel" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oe-encode-test = ( + build-asdf-system { + pname = "oe-encode-test"; + version = "20150804-git"; + asds = [ "oe-encode-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oe-encode/2015-08-04/oe-encode-20150804-git.tgz"; + sha256 = "18hd97509vpg04gaf8lzjr2jfyj3w4ql1ydb5202p2r9k4qpvnj9"; + system = "oe-encode-test"; + asd = "oe-encode"; + } + ); + systems = [ "oe-encode-test" ]; + lispLibs = [ + (getAttr "clunit" self) + (getAttr "oe-encode" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + olc = ( + build-asdf-system { + pname = "olc"; + version = "20220331-git"; + asds = [ "olc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/olc/2022-03-31/olc-20220331-git.tgz"; + sha256 = "02r6w9kfa6v4a12y2azmyjkxbn54r1y18c6a024vq4y6zp20fqnz"; + system = "olc"; + asd = "olc"; + } + ); + systems = [ "olc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + omg = ( + build-asdf-system { + pname = "omg"; + version = "20241012-git"; + asds = [ "omg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/omglib/2024-10-12/omglib-20241012-git.tgz"; + sha256 = "0jp68w3sw9z8gn3498lrmysf93f22a71hsr9c886wix5zpwgqpx7"; + system = "omg"; + asd = "omg"; + } + ); + systems = [ "omg" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-jpeg" self) + (getAttr "cl-parallel" self) + (getAttr "clack" self) + (getAttr "hunchentoot" self) + (getAttr "media-types" self) + (getAttr "pngload" self) + (getAttr "skippy" self) + (getAttr "trivial-utf-8" self) + (getAttr "websocket-driver-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + omgdaemon = ( + build-asdf-system { + pname = "omgdaemon"; + version = "20241012-git"; + asds = [ "omgdaemon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/omglib/2024-10-12/omglib-20241012-git.tgz"; + sha256 = "0jp68w3sw9z8gn3498lrmysf93f22a71hsr9c886wix5zpwgqpx7"; + system = "omgdaemon"; + asd = "omgdaemon"; + } + ); + systems = [ "omgdaemon" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "find-port" self) + (getAttr "inferior-shell" self) + (getAttr "iolib" self) + (getAttr "log4cl" self) + (getAttr "omg" self) + (getAttr "osicat" self) + (getAttr "swank" self) + (getAttr "trivial-dump-core" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ook = ( + build-asdf-system { + pname = "ook"; + version = "20241012-git"; + asds = [ "ook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ook/2024-10-12/ook-20241012-git.tgz"; + sha256 = "0vh6g6a392z77yd4vgj3izajyai7pckr90ij1xns6cf9w505aq8w"; + system = "ook"; + asd = "ook"; + } + ); + systems = [ "ook" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oook = ( + build-asdf-system { + pname = "oook"; + version = "20171130-git"; + asds = [ "oook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oook/2017-11-30/oook-20171130-git.tgz"; + sha256 = "0vxw160kbb2b624lc2aqvrx91xnmfhwz8nrzjvmbk5m55q1s4hxr"; + system = "oook"; + asd = "oook"; + } + ); + systems = [ "oook" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-inflector" self) + (getAttr "closer-mop" self) + (getAttr "clsql" self) + (getAttr "jonathan" self) + (getAttr "parse-number" self) + (getAttr "semantic-spinneret" self) + (getAttr "spinneret" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + open-geneva = ( + build-asdf-system { + pname = "open-geneva"; + version = "20161204-git"; + asds = [ "open-geneva" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz"; + sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3"; + system = "open-geneva"; + asd = "open-geneva"; + } + ); + systems = [ "open-geneva" ]; + lispLibs = [ + (getAttr "geneva" self) + (getAttr "geneva-cl" self) + (getAttr "geneva-html" self) + (getAttr "geneva-latex" self) + (getAttr "geneva-mk2" self) + (getAttr "geneva-plain-text" self) + (getAttr "geneva-tex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + open-location-code = ( + build-asdf-system { + pname = "open-location-code"; + version = "20241012-git"; + asds = [ "open-location-code" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/open-location-code/2024-10-12/open-location-code-20241012-git.tgz"; + sha256 = "17ip3xzqr2jk9br39d58grrjbk6gsh2mq1a9irjg9a5fig0jlyb2"; + system = "open-location-code"; + asd = "open-location-code"; + } + ); + systems = [ "open-location-code" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + open-vrp = ( + build-asdf-system { + pname = "open-vrp"; + version = "20140914-git"; + asds = [ "open-vrp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/open-vrp/2014-09-14/open-vrp-20140914-git.tgz"; + sha256 = "04k0kp18gpr4cfpsck7pjizawwswh372df4pvm5v87brm6xdw1fr"; + system = "open-vrp"; + asd = "open-vrp"; + } + ); + systems = [ "open-vrp" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam" self) + (getAttr "open-vrp-lib" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + open-vrp-lib = ( + build-asdf-system { + pname = "open-vrp-lib"; + version = "20140914-git"; + asds = [ "open-vrp-lib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/open-vrp/2014-09-14/open-vrp-20140914-git.tgz"; + sha256 = "04k0kp18gpr4cfpsck7pjizawwswh372df4pvm5v87brm6xdw1fr"; + system = "open-vrp-lib"; + asd = "open-vrp-lib"; + } + ); + systems = [ "open-vrp-lib" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "fiveam" self) + (getAttr "vecto" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + open-with = ( + build-asdf-system { + pname = "open-with"; + version = "20241012-git"; + asds = [ "open-with" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/open-with/2024-10-12/open-with-20241012-git.tgz"; + sha256 = "0bc0p8nigmfq4axx6qmlxdkm4sb0d2mdi1h7bwmnh0irvmrgdy33"; + system = "open-with"; + asd = "open-with"; + } + ); + systems = [ "open-with" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openai-openapi-client = ( + build-asdf-system { + pname = "openai-openapi-client"; + version = "20241012-git"; + asds = [ "openai-openapi-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openai-openapi-client/2024-10-12/openai-openapi-client-20241012-git.tgz"; + sha256 = "0qyd9i0y75gf92kf8v22n6wmh63791115r7gmg9ca9pl0dgbpmg9"; + system = "openai-openapi-client"; + asd = "openai-openapi-client"; + } + ); + systems = [ "openai-openapi-client" ]; + lispLibs = [ + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "dexador" self) + (getAttr "openapi-generator" self) + (getAttr "quri" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openal-blob = ( + build-asdf-system { + pname = "openal-blob"; + version = "stable-git"; + asds = [ "openal-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openal-blob/2020-10-16/openal-blob-stable-git.tgz"; + sha256 = "0bspdqb0xbvwvi6xkn88n4jswpds8fzbgj44ygm7mi6lpwp7lmv2"; + system = "openal-blob"; + asd = "openal-blob"; + } + ); + systems = [ "openal-blob" ]; + lispLibs = [ + (getAttr "base-blobs" self) + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openapi-generator = ( + build-asdf-system { + pname = "openapi-generator"; + version = "20241012-git"; + asds = [ "openapi-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openapi-generator/2024-10-12/openapi-generator-20241012-git.tgz"; + sha256 = "0zc0y8frcnsqj76sqmqsgfv0zhdz5kkpynwan3sigc78fl1nrs3q"; + system = "openapi-generator"; + asd = "openapi-generator"; + } + ); + systems = [ "openapi-generator" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-hash-util" self) + (getAttr "cl-json-pointer" self) + (getAttr "cl-project" self) + (getAttr "cl-semver" self) + (getAttr "cl-yaml" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "dexador" self) + (getAttr "json-mop" self) + (getAttr "listopia" self) + (getAttr "moptilities" self) + (getAttr "parse-float" self) + (getAttr "pathname-utils" self) + (getAttr "quri" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openapi-parser = ( + build-asdf-system { + pname = "openapi-parser"; + version = "20230618-git"; + asds = [ "openapi-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openapi-parser/2023-06-18/cl-openapi-parser-20230618-git.tgz"; + sha256 = "1vjqmxgkd8zvsfa1m6jzp6adwv1hz79z1x662v0f567iar01rzyz"; + system = "openapi-parser"; + asd = "openapi-parser"; + } + ); + systems = [ "openapi-parser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-change-case" self) + (getAttr "cl-package-locks" self) + (getAttr "cl-yaml" self) + (getAttr "closer-mop" self) + (getAttr "esrap" self) + (getAttr "str" self) + (getAttr "trivia" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openapi-parser-tests = ( + build-asdf-system { + pname = "openapi-parser-tests"; + version = "20230618-git"; + asds = [ "openapi-parser-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-openapi-parser/2023-06-18/cl-openapi-parser-20230618-git.tgz"; + sha256 = "1vjqmxgkd8zvsfa1m6jzp6adwv1hz79z1x662v0f567iar01rzyz"; + system = "openapi-parser-tests"; + asd = "openapi-parser"; + } + ); + systems = [ "openapi-parser-tests" ]; + lispLibs = [ + (getAttr "openapi-parser" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openid-key = ( + build-asdf-system { + pname = "openid-key"; + version = "20181210-git"; + asds = [ "openid-key" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openid-key/2018-12-10/openid-key-20181210-git.tgz"; + sha256 = "0ja1g4f8nrcn965376j7lnhha9krx4wjqxrg6vc57k7rmkhkzm1z"; + system = "openid-key"; + asd = "openid-key"; + } + ); + systems = [ "openid-key" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "dexador" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "quri" self) + (getAttr "trivial-rfc-1123" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openid-key-test = ( + build-asdf-system { + pname = "openid-key-test"; + version = "20181210-git"; + asds = [ "openid-key-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openid-key/2018-12-10/openid-key-20181210-git.tgz"; + sha256 = "0ja1g4f8nrcn965376j7lnhha9krx4wjqxrg6vc57k7rmkhkzm1z"; + system = "openid-key-test"; + asd = "openid-key-test"; + } + ); + systems = [ "openid-key-test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "openid-key" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openrpc-ci = ( + build-asdf-system { + pname = "openrpc-ci"; + version = "20241012-git"; + asds = [ "openrpc-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; + sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; + system = "openrpc-ci"; + asd = "openrpc-ci"; + } + ); + systems = [ "openrpc-ci" ]; + lispLibs = [ (getAttr "_40ants-asdf-system" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openrpc-client = ( + build-asdf-system { + pname = "openrpc-client"; + version = "20241012-git"; + asds = [ "openrpc-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; + sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; + system = "openrpc-client"; + asd = "openrpc-client"; + } + ); + systems = [ "openrpc-client" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "jsonrpc" self) + (getAttr "kebab" self) + (getAttr "log4cl" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "usocket" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openrpc-deps = ( + build-asdf-system { + pname = "openrpc-deps"; + version = "20241012-git"; + asds = [ "openrpc-deps" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; + sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; + system = "openrpc-deps"; + asd = "openrpc-deps"; + } + ); + systems = [ "openrpc-deps" ]; + lispLibs = [ (getAttr "jsonrpc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openrpc-docs = ( + build-asdf-system { + pname = "openrpc-docs"; + version = "20241012-git"; + asds = [ "openrpc-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; + sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; + system = "openrpc-docs"; + asd = "openrpc-docs"; + } + ); + systems = [ "openrpc-docs" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openrpc-example = ( + build-asdf-system { + pname = "openrpc-example"; + version = "20241012-git"; + asds = [ "openrpc-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; + sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; + system = "openrpc-example"; + asd = "openrpc-example"; + } + ); + systems = [ "openrpc-example" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "clack" self) + (getAttr "clack-handler-hunchentoot" self) + (getAttr "jsonrpc" self) + (getAttr "openrpc-client" self) + (getAttr "openrpc-server" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + openrpc-server = ( + build-asdf-system { + pname = "openrpc-server"; + version = "20241012-git"; + asds = [ "openrpc-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/openrpc/2024-10-12/openrpc-20241012-git.tgz"; + sha256 = "1s3c5yzfdzvv9wdfjl6lmap7dv5wqz6ywnxl1sbahy1k2xm3fg1s"; + system = "openrpc-server"; + asd = "openrpc-server"; + } + ); + systems = [ "openrpc-server" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "clack-cors" self) + (getAttr "clack-prometheus" self) + (getAttr "closer-mop" self) + (getAttr "jsonrpc" self) + (getAttr "lack-request" self) + (getAttr "lambda-fiddle" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "log4cl-extras" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "websocket-driver" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ops-test = ( + build-asdf-system { + pname = "ops-test"; + version = "20211020-git"; + asds = [ "ops-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; + sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; + system = "ops-test"; + asd = "ops-test"; + } + ); + systems = [ "ops-test" ]; + lispLibs = [ (getAttr "png" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ops5 = ( + build-asdf-system { + pname = "ops5"; + version = "20200218-git"; + asds = [ "ops5" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ops5/2020-02-18/ops5-20200218-git.tgz"; + sha256 = "1q2mrza40qvhny06f4ks2dghyk8a7pjjsi3vj83b9if7fmyj152a"; + system = "ops5"; + asd = "ops5"; + } + ); + systems = [ "ops5" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + opticl = ( + build-asdf-system { + pname = "opticl"; + version = "20220220-git"; + asds = [ "opticl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/opticl/2022-02-20/opticl-20220220-git.tgz"; + sha256 = "1jx9n78d4lf53iz24yid34l92zrpqxfihv6049ixcy0xigf7j4ac"; + system = "opticl"; + asd = "opticl"; + } + ); + systems = [ "opticl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-jpeg" self) + (getAttr "cl-tga" self) + (getAttr "opticl-core" self) + (getAttr "pngload" self) + (getAttr "retrospectiff" self) + (getAttr "skippy" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + opticl-core = ( + build-asdf-system { + pname = "opticl-core"; + version = "20171019-git"; + asds = [ "opticl-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/opticl-core/2017-10-19/opticl-core-20171019-git.tgz"; + sha256 = "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"; + system = "opticl-core"; + asd = "opticl-core"; + } + ); + systems = [ "opticl-core" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + opticl-doc = ( + build-asdf-system { + pname = "opticl-doc"; + version = "20220220-git"; + asds = [ "opticl-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/opticl/2022-02-20/opticl-20220220-git.tgz"; + sha256 = "1jx9n78d4lf53iz24yid34l92zrpqxfihv6049ixcy0xigf7j4ac"; + system = "opticl-doc"; + asd = "opticl-doc"; + } + ); + systems = [ "opticl-doc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-containers" self) + (getAttr "cl-markdown" self) + (getAttr "opticl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + optima = ( + build-asdf-system { + pname = "optima"; + version = "20150709-git"; + asds = [ "optima" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz"; + sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"; + system = "optima"; + asd = "optima"; + } + ); + systems = [ "optima" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + ]; + meta = { }; + } + ); + optima_dot_ppcre = ( + build-asdf-system { + pname = "optima.ppcre"; + version = "20150709-git"; + asds = [ "optima.ppcre" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz"; + sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"; + system = "optima.ppcre"; + asd = "optima.ppcre"; + } + ); + systems = [ "optima.ppcre" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + optima_dot_test = ( + build-asdf-system { + pname = "optima.test"; + version = "20150709-git"; + asds = [ "optima.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz"; + sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"; + system = "optima.test"; + asd = "optima.test"; + } + ); + systems = [ "optima.test" ]; + lispLibs = [ + (getAttr "eos" self) + (getAttr "optima" self) + (getAttr "optima_dot_ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + or-cluster = ( + build-asdf-system { + pname = "or-cluster"; + version = "20170403-git"; + asds = [ "or-cluster" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; + sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; + system = "or-cluster"; + asd = "or-cluster"; + } + ); + systems = [ "or-cluster" ]; + lispLibs = [ + (getAttr "cl-opsresearch" self) + (getAttr "drakma" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + or-fann = ( + build-asdf-system { + pname = "or-fann"; + version = "20170403-git"; + asds = [ "or-fann" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; + sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; + system = "or-fann"; + asd = "or-fann"; + } + ); + systems = [ "or-fann" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opsresearch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + or-glpk = ( + build-asdf-system { + pname = "or-glpk"; + version = "20170403-git"; + asds = [ "or-glpk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; + sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; + system = "or-glpk"; + asd = "or-glpk"; + } + ); + systems = [ "or-glpk" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opsresearch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + or-gsl = ( + build-asdf-system { + pname = "or-gsl"; + version = "20170403-git"; + asds = [ "or-gsl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; + sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; + system = "or-gsl"; + asd = "or-gsl"; + } + ); + systems = [ "or-gsl" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opsresearch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + or-test = ( + build-asdf-system { + pname = "or-test"; + version = "20170403-git"; + asds = [ "or-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz"; + sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7"; + system = "or-test"; + asd = "or-test"; + } + ); + systems = [ "or-test" ]; + lispLibs = [ + (getAttr "cl-opsresearch" self) + (getAttr "fiveam" self) + (getAttr "or-fann" self) + (getAttr "or-glpk" self) + (getAttr "or-gsl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org-davep-dict = ( + build-asdf-system { + pname = "org-davep-dict"; + version = "20190521-git"; + asds = [ "org-davep-dict" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/org-davep-dict/2019-05-21/org-davep-dict-20190521-git.tgz"; + sha256 = "09dryqlprssrw0jpcg2313cc1hmlsasxvp1rs5z7axhasc16kl31"; + system = "org-davep-dict"; + asd = "org-davep-dict"; + } + ); + systems = [ "org-davep-dict" ]; + lispLibs = [ + (getAttr "acl-compat" self) + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org-davep-dictrepl = ( + build-asdf-system { + pname = "org-davep-dictrepl"; + version = "20190521-git"; + asds = [ "org-davep-dictrepl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/org-davep-dictrepl/2019-05-21/org-davep-dictrepl-20190521-git.tgz"; + sha256 = "1s461asil8cxsbcpyxsw3g7phdn5c3mwv6wswp86hsxiga5hi327"; + system = "org-davep-dictrepl"; + asd = "org-davep-dictrepl"; + } + ); + systems = [ "org-davep-dictrepl" ]; + lispLibs = [ (getAttr "org-davep-dict" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org-sampler = ( + build-asdf-system { + pname = "org-sampler"; + version = "0.2.0"; + asds = [ "org-sampler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/org-sampler/2016-03-18/org-sampler-0.2.0.tgz"; + sha256 = "1j2i24x9afxp6s5gyqlvy11c0lq9rzhmdj1bf0qpxcaa4znj48c3"; + system = "org-sampler"; + asd = "org-sampler"; + } + ); + systems = [ "org-sampler" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_melusina_dot_atelier = ( + build-asdf-system { + pname = "org.melusina.atelier"; + version = "20241012-git"; + asds = [ "org.melusina.atelier" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-atelier/2024-10-12/cl-atelier-20241012-git.tgz"; + sha256 = "0n8v4f7xq1szxhipmkvg4x5s41vqllcq6hxzcd7r0rbxi9i57pqz"; + system = "org.melusina.atelier"; + asd = "org.melusina.atelier"; + } + ); + systems = [ "org.melusina.atelier" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "org_dot_melusina_dot_rashell" self) + (getAttr "osicat" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_melusina_dot_confidence = ( + build-asdf-system { + pname = "org.melusina.confidence"; + version = "20241012-git"; + asds = [ "org.melusina.confidence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-confidence/2024-10-12/cl-confidence-20241012-git.tgz"; + sha256 = "1azvv54zchw88gpzh4dkflz6y0pvf7wq433yc7m90fs3c70wmsjl"; + system = "org.melusina.confidence"; + asd = "org.melusina.confidence"; + } + ); + systems = [ "org.melusina.confidence" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_melusina_dot_rashell = ( + build-asdf-system { + pname = "org.melusina.rashell"; + version = "20241012-git"; + asds = [ "org.melusina.rashell" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rashell/2024-10-12/cl-rashell-20241012-git.tgz"; + sha256 = "0fpdyhfc68xy6m0ixfvcnczlmlwasby24k47nc25x73swshlxqwq"; + system = "org.melusina.rashell"; + asd = "org.melusina.rashell"; + } + ); + systems = [ "org.melusina.rashell" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_melusina_dot_webmachine = ( + build-asdf-system { + pname = "org.melusina.webmachine"; + version = "20241012-git"; + asds = [ "org.melusina.webmachine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-webmachine/2024-10-12/cl-webmachine-20241012-git.tgz"; + sha256 = "0k31fbwsv0zdixzis625dsk9zlz04g4908wzwb8p593dksqa0sr8"; + system = "org.melusina.webmachine"; + asd = "org.melusina.webmachine"; + } + ); + systems = [ "org.melusina.webmachine" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "hunchentoot" self) + (getAttr "parse-number" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_conduit-packages = ( + build-asdf-system { + pname = "org.tfeb.conduit-packages"; + version = "20241012-git"; + asds = [ "org.tfeb.conduit-packages" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/conduit-packages/2024-10-12/conduit-packages-20241012-git.tgz"; + sha256 = "1x89maglc4cw2c87y23zrsvh8mk22ik1anmps462w3a0j3c1ly12"; + system = "org.tfeb.conduit-packages"; + asd = "org.tfeb.conduit-packages"; + } + ); + systems = [ "org.tfeb.conduit-packages" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_dsm = ( + build-asdf-system { + pname = "org.tfeb.dsm"; + version = "20241012-git"; + asds = [ "org.tfeb.dsm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/dsm/2024-10-12/dsm-20241012-git.tgz"; + sha256 = "033swj37bgbzn35fjndxqsk89i17bhsim12j8mciiziykx62c4pw"; + system = "org.tfeb.dsm"; + asd = "org.tfeb.dsm"; + } + ); + systems = [ "org.tfeb.dsm" ]; + lispLibs = [ + (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) + (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) + (getAttr "org_dot_tfeb_dot_hax_dot_simple-loops" self) + (getAttr "org_dot_tfeb_dot_hax_dot_spam" self) + (getAttr "org_dot_tfeb_dot_hax_dot_utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax = ( + build-asdf-system { + pname = "org.tfeb.hax"; + version = "20241012-git"; + asds = [ "org.tfeb.hax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax"; + asd = "org.tfeb.hax"; + } + ); + systems = [ "org.tfeb.hax" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_abstract-classes = ( + build-asdf-system { + pname = "org.tfeb.hax.abstract-classes"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.abstract-classes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.abstract-classes"; + asd = "org.tfeb.hax.abstract-classes"; + } + ); + systems = [ "org.tfeb.hax.abstract-classes" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_binding = ( + build-asdf-system { + pname = "org.tfeb.hax.binding"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.binding" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.binding"; + asd = "org.tfeb.hax.binding"; + } + ); + systems = [ "org.tfeb.hax.binding" ]; + lispLibs = [ + (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) + (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_collecting = ( + build-asdf-system { + pname = "org.tfeb.hax.collecting"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.collecting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.collecting"; + asd = "org.tfeb.hax.collecting"; + } + ); + systems = [ "org.tfeb.hax.collecting" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_comment-form = ( + build-asdf-system { + pname = "org.tfeb.hax.comment-form"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.comment-form" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.comment-form"; + asd = "org.tfeb.hax.comment-form"; + } + ); + systems = [ "org.tfeb.hax.comment-form" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_cs-forms = ( + build-asdf-system { + pname = "org.tfeb.hax.cs-forms"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.cs-forms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.cs-forms"; + asd = "org.tfeb.hax.cs-forms"; + } + ); + systems = [ "org.tfeb.hax.cs-forms" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_define-functions = ( + build-asdf-system { + pname = "org.tfeb.hax.define-functions"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.define-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.define-functions"; + asd = "org.tfeb.hax.define-functions"; + } + ); + systems = [ "org.tfeb.hax.define-functions" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_dynamic-state = ( + build-asdf-system { + pname = "org.tfeb.hax.dynamic-state"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.dynamic-state" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.dynamic-state"; + asd = "org.tfeb.hax.dynamic-state"; + } + ); + systems = [ "org.tfeb.hax.dynamic-state" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_iterate = ( + build-asdf-system { + pname = "org.tfeb.hax.iterate"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.iterate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.iterate"; + asd = "org.tfeb.hax.iterate"; + } + ); + systems = [ "org.tfeb.hax.iterate" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_memoize = ( + build-asdf-system { + pname = "org.tfeb.hax.memoize"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.memoize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.memoize"; + asd = "org.tfeb.hax.memoize"; + } + ); + systems = [ "org.tfeb.hax.memoize" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_metatronic = ( + build-asdf-system { + pname = "org.tfeb.hax.metatronic"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.metatronic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.metatronic"; + asd = "org.tfeb.hax.metatronic"; + } + ); + systems = [ "org.tfeb.hax.metatronic" ]; + lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_utilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_object-accessors = ( + build-asdf-system { + pname = "org.tfeb.hax.object-accessors"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.object-accessors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.object-accessors"; + asd = "org.tfeb.hax.object-accessors"; + } + ); + systems = [ "org.tfeb.hax.object-accessors" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_read-package = ( + build-asdf-system { + pname = "org.tfeb.hax.read-package"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.read-package" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.read-package"; + asd = "org.tfeb.hax.read-package"; + } + ); + systems = [ "org.tfeb.hax.read-package" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_simple-loops = ( + build-asdf-system { + pname = "org.tfeb.hax.simple-loops"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.simple-loops" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.simple-loops"; + asd = "org.tfeb.hax.simple-loops"; + } + ); + systems = [ "org.tfeb.hax.simple-loops" ]; + lispLibs = [ + (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) + (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) + (getAttr "org_dot_tfeb_dot_hax_dot_utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_singleton-classes = ( + build-asdf-system { + pname = "org.tfeb.hax.singleton-classes"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.singleton-classes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.singleton-classes"; + asd = "org.tfeb.hax.singleton-classes"; + } + ); + systems = [ "org.tfeb.hax.singleton-classes" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_slog = ( + build-asdf-system { + pname = "org.tfeb.hax.slog"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.slog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.slog"; + asd = "org.tfeb.hax.slog"; + } + ); + systems = [ "org.tfeb.hax.slog" ]; + lispLibs = [ + (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) + (getAttr "org_dot_tfeb_dot_hax_dot_metatronic" self) + (getAttr "org_dot_tfeb_dot_hax_dot_simple-loops" self) + (getAttr "org_dot_tfeb_dot_hax_dot_spam" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_spam = ( + build-asdf-system { + pname = "org.tfeb.hax.spam"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.spam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.spam"; + asd = "org.tfeb.hax.spam"; + } + ); + systems = [ "org.tfeb.hax.spam" ]; + lispLibs = [ (getAttr "org_dot_tfeb_dot_hax_dot_simple-loops" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_stringtable = ( + build-asdf-system { + pname = "org.tfeb.hax.stringtable"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.stringtable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.stringtable"; + asd = "org.tfeb.hax.stringtable"; + } + ); + systems = [ "org.tfeb.hax.stringtable" ]; + lispLibs = [ + (getAttr "org_dot_tfeb_dot_hax_dot_collecting" self) + (getAttr "org_dot_tfeb_dot_hax_dot_iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_trace-macroexpand = ( + build-asdf-system { + pname = "org.tfeb.hax.trace-macroexpand"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.trace-macroexpand" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.trace-macroexpand"; + asd = "org.tfeb.hax.trace-macroexpand"; + } + ); + systems = [ "org.tfeb.hax.trace-macroexpand" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_utilities = ( + build-asdf-system { + pname = "org.tfeb.hax.utilities"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.utilities"; + asd = "org.tfeb.hax.utilities"; + } + ); + systems = [ "org.tfeb.hax.utilities" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_hax_dot_wrapping-standard = ( + build-asdf-system { + pname = "org.tfeb.hax.wrapping-standard"; + version = "20241012-git"; + asds = [ "org.tfeb.hax.wrapping-standard" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2024-10-12/tfeb-lisp-hax-20241012-git.tgz"; + sha256 = "08rrl3kihqkhxgghdvsd1304i4jcnmag5jzw15pp4rbqvsp36nfa"; + system = "org.tfeb.hax.wrapping-standard"; + asd = "org.tfeb.hax.wrapping-standard"; + } + ); + systems = [ "org.tfeb.hax.wrapping-standard" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools = ( + build-asdf-system { + pname = "org.tfeb.tools"; + version = "20231021-git"; + asds = [ "org.tfeb.tools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools"; + asd = "org.tfeb.tools"; + } + ); + systems = [ "org.tfeb.tools" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools_dot_asdf-module-sysdcls = ( + build-asdf-system { + pname = "org.tfeb.tools.asdf-module-sysdcls"; + version = "20231021-git"; + asds = [ "org.tfeb.tools.asdf-module-sysdcls" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools.asdf-module-sysdcls"; + asd = "org.tfeb.tools.asdf-module-sysdcls"; + } + ); + systems = [ "org.tfeb.tools.asdf-module-sysdcls" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools_dot_build-modules = ( + build-asdf-system { + pname = "org.tfeb.tools.build-modules"; + version = "20231021-git"; + asds = [ "org.tfeb.tools.build-modules" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools.build-modules"; + asd = "org.tfeb.tools.build-modules"; + } + ); + systems = [ "org.tfeb.tools.build-modules" ]; + lispLibs = [ (getAttr "org_dot_tfeb_dot_tools_dot_require-module" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools_dot_deprecations = ( + build-asdf-system { + pname = "org.tfeb.tools.deprecations"; + version = "20231021-git"; + asds = [ "org.tfeb.tools.deprecations" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools.deprecations"; + asd = "org.tfeb.tools.deprecations"; + } + ); + systems = [ "org.tfeb.tools.deprecations" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools_dot_feature-expressions = ( + build-asdf-system { + pname = "org.tfeb.tools.feature-expressions"; + version = "20231021-git"; + asds = [ "org.tfeb.tools.feature-expressions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools.feature-expressions"; + asd = "org.tfeb.tools.feature-expressions"; + } + ); + systems = [ "org.tfeb.tools.feature-expressions" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools_dot_install-providers = ( + build-asdf-system { + pname = "org.tfeb.tools.install-providers"; + version = "20231021-git"; + asds = [ "org.tfeb.tools.install-providers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools.install-providers"; + asd = "org.tfeb.tools.install-providers"; + } + ); + systems = [ "org.tfeb.tools.install-providers" ]; + lispLibs = [ (getAttr "org_dot_tfeb_dot_tools_dot_require-module" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + org_dot_tfeb_dot_tools_dot_require-module = ( + build-asdf-system { + pname = "org.tfeb.tools.require-module"; + version = "20231021-git"; + asds = [ "org.tfeb.tools.require-module" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2023-10-21/tfeb-lisp-tools-20231021-git.tgz"; + sha256 = "180zg96ln2fp7fzdmf5yiz0dxy36r2ddq0nxl0dkmhbrn03bd4iq"; + system = "org.tfeb.tools.require-module"; + asd = "org.tfeb.tools.require-module"; + } + ); + systems = [ "org.tfeb.tools.require-module" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + origin = ( + build-asdf-system { + pname = "origin"; + version = "20220707-git"; + asds = [ "origin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/origin/2022-07-07/origin-20220707-git.tgz"; + sha256 = "01b5rn83w85fnd92x5jgan2a092y7ir420r55p2b0a98xpvb4a71"; + system = "origin"; + asd = "origin"; + } + ); + systems = [ "origin" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + origin_dot_test = ( + build-asdf-system { + pname = "origin.test"; + version = "20220707-git"; + asds = [ "origin.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/origin/2022-07-07/origin-20220707-git.tgz"; + sha256 = "01b5rn83w85fnd92x5jgan2a092y7ir420r55p2b0a98xpvb4a71"; + system = "origin.test"; + asd = "origin.test"; + } + ); + systems = [ "origin.test" ]; + lispLibs = [ + (getAttr "origin" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + orizuru-orm = ( + build-asdf-system { + pname = "orizuru-orm"; + version = "20241012-git"; + asds = [ "orizuru-orm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/orizuru-orm/2024-10-12/orizuru-orm-20241012-git.tgz"; + sha256 = "064sr0nxz884vrh550d8v3v9pqgs65d97lrr3828qn6bgaxwm1va"; + system = "orizuru-orm"; + asd = "orizuru-orm"; + } + ); + systems = [ "orizuru-orm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre-unicode" self) + (getAttr "clos-fixtures" self) + (getAttr "closer-mop" self) + (getAttr "clunit2" self) + (getAttr "dbi" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "sxql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + osc = ( + build-asdf-system { + pname = "osc"; + version = "20230618-git"; + asds = [ "osc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/osc/2023-06-18/osc-20230618-git.tgz"; + sha256 = "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa"; + system = "osc"; + asd = "osc"; + } + ); + systems = [ "osc" ]; + lispLibs = [ (getAttr "usocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + osicat = ( + build-asdf-system { + pname = "osicat"; + version = "20231021-git"; + asds = [ "osicat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/osicat/2023-10-21/osicat-20231021-git.tgz"; + sha256 = "10q1dfkhrvp5ia860q10y4wdm11fmxf7xv8zl4viz2np9xzf5v22"; + system = "osicat"; + asd = "osicat"; + } + ); + systems = [ "osicat" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + ospm = ( + build-asdf-system { + pname = "ospm"; + version = "20231021-git"; + asds = [ "ospm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ospm/2023-10-21/ospm-20231021-git.tgz"; + sha256 = "1z2wz2xg7rn7p1lladdhj789iz2f3wfjgpi2hjr08vkf1pkp15xf"; + system = "ospm"; + asd = "ospm"; + } + ); + systems = [ "ospm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "calispel" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "local-time" self) + (getAttr "moptilities" self) + (getAttr "named-readtables" self) + (getAttr "serapeum" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + overlord = ( + build-asdf-system { + pname = "overlord"; + version = "20241012-git"; + asds = [ "overlord" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/overlord/2024-10-12/overlord-20241012-git.tgz"; + sha256 = "1afhqx6wdqdah1fpapvr6zxpzkkqmhbrxkqxam523fqjyg4a6941"; + system = "overlord"; + asd = "overlord"; + } + ); + systems = [ "overlord" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "bit-smasher" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-murmurhash" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-strftime" self) + (getAttr "cmd" self) + (getAttr "exit-hooks" self) + (getAttr "fset" self) + (getAttr "global-vars" self) + (getAttr "local-time" self) + (getAttr "lparallel" self) + (getAttr "named-readtables" self) + (getAttr "quickproject" self) + (getAttr "serapeum" self) + (getAttr "trivia" self) + (getAttr "trivial-file-size" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oxenfurt = ( + build-asdf-system { + pname = "oxenfurt"; + version = "20231021-git"; + asds = [ "oxenfurt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; + sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; + system = "oxenfurt"; + asd = "oxenfurt"; + } + ); + systems = [ "oxenfurt" ]; + lispLibs = [ (getAttr "oxenfurt-dexador" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oxenfurt-core = ( + build-asdf-system { + pname = "oxenfurt-core"; + version = "20231021-git"; + asds = [ "oxenfurt-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; + sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; + system = "oxenfurt-core"; + asd = "oxenfurt-core"; + } + ); + systems = [ "oxenfurt-core" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "documentation-utils" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oxenfurt-dexador = ( + build-asdf-system { + pname = "oxenfurt-dexador"; + version = "20231021-git"; + asds = [ "oxenfurt-dexador" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; + sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; + system = "oxenfurt-dexador"; + asd = "oxenfurt-dexador"; + } + ); + systems = [ "oxenfurt-dexador" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "oxenfurt-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + oxenfurt-drakma = ( + build-asdf-system { + pname = "oxenfurt-drakma"; + version = "20231021-git"; + asds = [ "oxenfurt-drakma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/oxenfurt/2023-10-21/oxenfurt-20231021-git.tgz"; + sha256 = "1yqw21l19091aghvnfpdp62zs8scspaas4syn2yajm1b55jzxvya"; + system = "oxenfurt-drakma"; + asd = "oxenfurt-drakma"; + } + ); + systems = [ "oxenfurt-drakma" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "oxenfurt-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pack = ( + build-asdf-system { + pname = "pack"; + version = "20110619-git"; + asds = [ "pack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pack/2011-06-19/pack-20110619-git.tgz"; + sha256 = "1b3qi04v1wj9nig0mx591sl4phqcalwdl0vsnf4kqp4d2qx2czi1"; + system = "pack"; + asd = "pack"; + } + ); + systems = [ "pack" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "ieee-floats" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + package-renaming = ( + build-asdf-system { + pname = "package-renaming"; + version = "20120407-git"; + asds = [ "package-renaming" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/package-renaming/2012-04-07/package-renaming-20120407-git.tgz"; + sha256 = "15kgd15r9bib8wfnn3hmv42rlifr4ph3rv2mji5i9d5ixhyqqwgq"; + system = "package-renaming"; + asd = "package-renaming"; + } + ); + systems = [ "package-renaming" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + package-renaming-test = ( + build-asdf-system { + pname = "package-renaming-test"; + version = "20120407-git"; + asds = [ "package-renaming-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/package-renaming/2012-04-07/package-renaming-20120407-git.tgz"; + sha256 = "15kgd15r9bib8wfnn3hmv42rlifr4ph3rv2mji5i9d5ixhyqqwgq"; + system = "package-renaming-test"; + asd = "package-renaming-test"; + } + ); + systems = [ "package-renaming-test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "package-renaming" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + packet = ( + build-asdf-system { + pname = "packet"; + version = "20150302-git"; + asds = [ "packet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/packet/2015-03-02/packet-20150302-git.tgz"; + sha256 = "1vcmxwrliwczz161nz3ysx9cbfia4cmlqgnjgrx5016lp394pnx1"; + system = "packet"; + asd = "packet"; + } + ); + systems = [ "packet" ]; + lispLibs = [ (getAttr "ieee-floats" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + packet-crafting = ( + build-asdf-system { + pname = "packet-crafting"; + version = "20200610-git"; + asds = [ "packet-crafting" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/packet-crafting/2020-06-10/packet-crafting-20200610-git.tgz"; + sha256 = "1ivnvkbqckqf5hm6khffc2wkbjl64fn03w9i0kypkb0mrazxdpdq"; + system = "packet-crafting"; + asd = "packet-crafting"; + } + ); + systems = [ "packet-crafting" ]; + lispLibs = [ (getAttr "lisp-binary" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + paiprolog = ( + build-asdf-system { + pname = "paiprolog"; + version = "20180228-git"; + asds = [ "paiprolog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paiprolog/2018-02-28/paiprolog-20180228-git.tgz"; + sha256 = "1nxz01i6f8s920gm69r2kwjdpq9pli8b2ayqwijhzgjwi0r4jj9r"; + system = "paiprolog"; + asd = "paiprolog"; + } + ); + systems = [ "paiprolog" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pal = ( + build-asdf-system { + pname = "pal"; + version = "20150608-git"; + asds = [ "pal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pal/2015-06-08/pal-20150608-git.tgz"; + sha256 = "0kn6jxirrn7wzqymzsi0kx2ivl0nrrcgbl4dm1714s48qw0jwhcw"; + system = "pal"; + asd = "pal"; + } + ); + systems = [ "pal" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pandocl = ( + build-asdf-system { + pname = "pandocl"; + version = "20150923-git"; + asds = [ "pandocl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pandocl/2015-09-23/pandocl-20150923-git.tgz"; + sha256 = "1fmlpx5m7ivdkqss1fa3xqbpcwzqrpyyx2nny12aqxn8f13vpvmg"; + system = "pandocl"; + asd = "pandocl"; + } + ); + systems = [ "pandocl" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "common-doc-contrib" self) + (getAttr "common-html" self) + (getAttr "parenml" self) + (getAttr "scriba" self) + (getAttr "thorn" self) + (getAttr "vertex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pango-markup = ( + build-asdf-system { + pname = "pango-markup"; + version = "20231021-git"; + asds = [ "pango-markup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pango-markup/2023-10-21/pango-markup-20231021-git.tgz"; + sha256 = "1165z3ycbkgr9g3ni1z59r258c1jd2viyf3mj8a5p72kx6dqb8gf"; + system = "pango-markup"; + asd = "pango-markup"; + } + ); + systems = [ "pango-markup" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + papyrus = ( + build-asdf-system { + pname = "papyrus"; + version = "20241012-git"; + asds = [ "papyrus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/papyrus/2024-10-12/papyrus-20241012-git.tgz"; + sha256 = "0cnhdl2x5vs91srlfjnaznwj5vrg6qlyn2xjbyy40p8yvr5pny88"; + system = "papyrus"; + asd = "papyrus"; + } + ); + systems = [ "papyrus" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parachute = ( + build-asdf-system { + pname = "parachute"; + version = "20241012-git"; + asds = [ "parachute" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; + sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; + system = "parachute"; + asd = "parachute"; + } + ); + systems = [ "parachute" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "form-fiddle" self) + (getAttr "trivial-custom-debugger" self) + ]; + meta = { }; + } + ); + parachute-fiveam = ( + build-asdf-system { + pname = "parachute-fiveam"; + version = "20241012-git"; + asds = [ "parachute-fiveam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; + sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; + system = "parachute-fiveam"; + asd = "parachute-fiveam"; + } + ); + systems = [ "parachute-fiveam" ]; + lispLibs = [ (getAttr "parachute" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parachute-lisp-unit = ( + build-asdf-system { + pname = "parachute-lisp-unit"; + version = "20241012-git"; + asds = [ "parachute-lisp-unit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; + sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; + system = "parachute-lisp-unit"; + asd = "parachute-lisp-unit"; + } + ); + systems = [ "parachute-lisp-unit" ]; + lispLibs = [ (getAttr "parachute" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parachute-prove = ( + build-asdf-system { + pname = "parachute-prove"; + version = "20241012-git"; + asds = [ "parachute-prove" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parachute/2024-10-12/parachute-20241012-git.tgz"; + sha256 = "1hghjrv5d5w9nz27lhwz8vvbdcjl2skm76r8adpzmi7s1f9ww121"; + system = "parachute-prove"; + asd = "parachute-prove"; + } + ); + systems = [ "parachute-prove" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "parachute" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parameterized-function = ( + build-asdf-system { + pname = "parameterized-function"; + version = "20230618-git"; + asds = [ "parameterized-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parameterized-function/2023-06-18/parameterized-function-20230618-git.tgz"; + sha256 = "0pjdk4il83izd4iiavg6z7ighmjfmg39j8gp82qq2kikzlmklxxf"; + system = "parameterized-function"; + asd = "parameterized-function"; + } + ); + systems = [ "parameterized-function" ]; + lispLibs = [ (getAttr "interface" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + paren-files = ( + build-asdf-system { + pname = "paren-files"; + version = "20110418-git"; + asds = [ "paren-files" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paren-files/2011-04-18/paren-files-20110418-git.tgz"; + sha256 = "19lwzvdn9gpn28x6ismkwzs49vr4cbc6drsivkmll3dxb950wgw9"; + system = "paren-files"; + asd = "paren-files"; + } + ); + systems = [ "paren-files" ]; + lispLibs = [ (getAttr "parenscript" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + paren-test = ( + build-asdf-system { + pname = "paren-test"; + version = "20170830-git"; + asds = [ "paren-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paren-test/2017-08-30/paren-test-20170830-git.tgz"; + sha256 = "0b2d3kcv3n4b0dm67pzhxx8wxjsgnb32bw2dsprblc7149gaczdr"; + system = "paren-test"; + asd = "paren-test"; + } + ); + systems = [ "paren-test" ]; + lispLibs = [ + (getAttr "paren-files" self) + (getAttr "parenscript" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + paren-util = ( + build-asdf-system { + pname = "paren-util"; + version = "20110418-git"; + asds = [ "paren-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paren-util/2011-04-18/paren-util-20110418-git.tgz"; + sha256 = "0jn7sgndhpn9ndn3xfmsp03alj2qksqz6p1c5h6x8hvi46caqvpy"; + system = "paren-util"; + asd = "paren-util"; + } + ); + systems = [ "paren-util" ]; + lispLibs = [ + (getAttr "paren-files" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + paren6 = ( + build-asdf-system { + pname = "paren6"; + version = "20220331-git"; + asds = [ "paren6" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paren6/2022-03-31/paren6-20220331-git.tgz"; + sha256 = "0m7z7zkc1vrwmp68f3yx0mdsb0j45dmw3iddnbvf94dpv8aywwpx"; + system = "paren6"; + asd = "paren6"; + } + ); + systems = [ "paren6" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parenml = ( + build-asdf-system { + pname = "parenml"; + version = "20150923-git"; + asds = [ "parenml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parenml/2015-09-23/parenml-20150923-git.tgz"; + sha256 = "0g6s5phinpcfhixgsfqniwxd3kd4bwh78s90ixs2fwk3qjhh9zsb"; + system = "parenml"; + asd = "parenml"; + } + ); + systems = [ "parenml" ]; + lispLibs = [ + (getAttr "common-doc-plump" self) + (getAttr "esrap" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parenml-test = ( + build-asdf-system { + pname = "parenml-test"; + version = "20150923-git"; + asds = [ "parenml-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parenml/2015-09-23/parenml-20150923-git.tgz"; + sha256 = "0g6s5phinpcfhixgsfqniwxd3kd4bwh78s90ixs2fwk3qjhh9zsb"; + system = "parenml-test"; + asd = "parenml-test"; + } + ); + systems = [ "parenml-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "parenml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parenscript = ( + build-asdf-system { + pname = "parenscript"; + version = "Parenscript-2.7.1"; + asds = [ "parenscript" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parenscript/2018-12-10/Parenscript-2.7.1.tgz"; + sha256 = "0vg9b9j5psil5iba1d9k6vfxl5rn133qvy750dny20qkp9mf3a13"; + system = "parenscript"; + asd = "parenscript"; + } + ); + systems = [ "parenscript" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "cl-ppcre" self) + (getAttr "named-readtables" self) + ]; + meta = { }; + } + ); + parenscript-classic = ( + build-asdf-system { + pname = "parenscript-classic"; + version = "20111203-darcs"; + asds = [ "parenscript-classic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parenscript-classic/2011-12-03/parenscript-classic-20111203-darcs.tgz"; + sha256 = "19zsiyjlz938la2dd39cy6lwh95m10j4nx8837xm6qk8rz5f8dgy"; + system = "parenscript-classic"; + asd = "parenscript-classic"; + } + ); + systems = [ "parenscript-classic" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parenscript_dot_tests = ( + build-asdf-system { + pname = "parenscript.tests"; + version = "Parenscript-2.7.1"; + asds = [ "parenscript.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parenscript/2018-12-10/Parenscript-2.7.1.tgz"; + sha256 = "0vg9b9j5psil5iba1d9k6vfxl5rn133qvy750dny20qkp9mf3a13"; + system = "parenscript.tests"; + asd = "parenscript.tests"; + } + ); + systems = [ "parenscript.tests" ]; + lispLibs = [ + (getAttr "cl-js" self) + (getAttr "fiveam" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse = ( + build-asdf-system { + pname = "parse"; + version = "20200925-git"; + asds = [ "parse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse/2020-09-25/parse-20200925-git.tgz"; + sha256 = "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"; + system = "parse"; + asd = "parse"; + } + ); + systems = [ "parse" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-declarations-1_dot_0 = ( + build-asdf-system { + pname = "parse-declarations-1.0"; + version = "20101006-darcs"; + asds = [ "parse-declarations-1.0" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-declarations/2010-10-06/parse-declarations-20101006-darcs.tgz"; + sha256 = "04l3s180wxq6xyhgd77mbd03a1w1m0j9snag961g2f9dd77w6q1r"; + system = "parse-declarations-1.0"; + asd = "parse-declarations-1.0"; + } + ); + systems = [ "parse-declarations-1.0" ]; + lispLibs = [ ]; + meta = { }; + } + ); + parse-float = ( + build-asdf-system { + pname = "parse-float"; + version = "20200218-git"; + asds = [ "parse-float" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-float/2020-02-18/parse-float-20200218-git.tgz"; + sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"; + system = "parse-float"; + asd = "parse-float"; + } + ); + systems = [ "parse-float" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + parse-float-tests = ( + build-asdf-system { + pname = "parse-float-tests"; + version = "20200218-git"; + asds = [ "parse-float-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-float/2020-02-18/parse-float-20200218-git.tgz"; + sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"; + system = "parse-float-tests"; + asd = "parse-float"; + } + ); + systems = [ "parse-float-tests" ]; + lispLibs = [ + (getAttr "lisp-unit" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-front-matter = ( + build-asdf-system { + pname = "parse-front-matter"; + version = "20160825-git"; + asds = [ "parse-front-matter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-front-matter/2016-08-25/parse-front-matter-20160825-git.tgz"; + sha256 = "1yzadrjwycvyzlzb0mixxmwi5bjzkjwylnv3aslnr1j14q44vq58"; + system = "parse-front-matter"; + asd = "parse-front-matter"; + } + ); + systems = [ "parse-front-matter" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-front-matter-test = ( + build-asdf-system { + pname = "parse-front-matter-test"; + version = "20160825-git"; + asds = [ "parse-front-matter-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-front-matter/2016-08-25/parse-front-matter-20160825-git.tgz"; + sha256 = "1yzadrjwycvyzlzb0mixxmwi5bjzkjwylnv3aslnr1j14q44vq58"; + system = "parse-front-matter-test"; + asd = "parse-front-matter-test"; + } + ); + systems = [ "parse-front-matter-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "parse-front-matter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-js = ( + build-asdf-system { + pname = "parse-js"; + version = "20160421-git"; + asds = [ "parse-js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-js/2016-04-21/parse-js-20160421-git.tgz"; + sha256 = "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"; + system = "parse-js"; + asd = "parse-js"; + } + ); + systems = [ "parse-js" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-number = ( + build-asdf-system { + pname = "parse-number"; + version = "v1.8"; + asds = [ "parse-number" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-number/2024-10-12/parse-number-v1.8.tgz"; + sha256 = "1yh54v02i9b55bmkfkz59qd14irw8llasp48drbilkbz1az1qg2p"; + system = "parse-number"; + asd = "parse-number"; + } + ); + systems = [ "parse-number" ]; + lispLibs = [ ]; + meta = { }; + } + ); + parse-number-range = ( + build-asdf-system { + pname = "parse-number-range"; + version = "1.0.1"; + asds = [ "parse-number-range" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-number-range/2024-10-12/parse-number-range_1.0.1.tgz"; + sha256 = "1kd0l3bcywhwmnjil0zzvq4cjlhpj2g1wiy7h7860nflzfz7qvds"; + system = "parse-number-range"; + asd = "parse-number-range"; + } + ); + systems = [ "parse-number-range" ]; + lispLibs = [ + (getAttr "cartesian-product-switch" self) + (getAttr "enhanced-multiple-value-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-number-range__tests = ( + build-asdf-system { + pname = "parse-number-range_tests"; + version = "1.0.1"; + asds = [ "parse-number-range_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parse-number-range/2024-10-12/parse-number-range_1.0.1.tgz"; + sha256 = "1kd0l3bcywhwmnjil0zzvq4cjlhpj2g1wiy7h7860nflzfz7qvds"; + system = "parse-number-range_tests"; + asd = "parse-number-range_tests"; + } + ); + systems = [ "parse-number-range_tests" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "parse-number-range" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parse-rgb = ( + build-asdf-system { + pname = "parse-rgb"; + version = "20231021-git"; + asds = [ "parse-rgb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tcod/2023-10-21/cl-tcod-20231021-git.tgz"; + sha256 = "1r4ip16dlzr56p94b0grw6nmkykbmgb04jsqdvgl1ypcmbpfr3i1"; + system = "parse-rgb"; + asd = "parse-rgb"; + } + ); + systems = [ "parse-rgb" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "tcod" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parseltongue = ( + build-asdf-system { + pname = "parseltongue"; + version = "20130312-git"; + asds = [ "parseltongue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parseltongue/2013-03-12/parseltongue-20130312-git.tgz"; + sha256 = "1cjy7p0snms604zp6x0jlm4v9divqc5r38ns737hffj9q6pi1nlx"; + system = "parseltongue"; + asd = "parseltongue"; + } + ); + systems = [ "parseltongue" ]; + lispLibs = [ (getAttr "lisp-unit" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parseq = ( + build-asdf-system { + pname = "parseq"; + version = "20231021-git"; + asds = [ "parseq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parseq/2023-10-21/parseq-20231021-git.tgz"; + sha256 = "13bdv9slnkf4b3py5dfvdnxvyb7zxwf2apcbr2p3s7ij26qslbbw"; + system = "parseq"; + asd = "parseq"; + } + ); + systems = [ "parseq" ]; + lispLibs = [ ]; + meta = { }; + } + ); + parser-combinators = ( + build-asdf-system { + pname = "parser-combinators"; + version = "20131111-git"; + asds = [ "parser-combinators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; + sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; + system = "parser-combinators"; + asd = "parser-combinators"; + } + ); + systems = [ "parser-combinators" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + parser-combinators-cl-ppcre = ( + build-asdf-system { + pname = "parser-combinators-cl-ppcre"; + version = "20131111-git"; + asds = [ "parser-combinators-cl-ppcre" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; + sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; + system = "parser-combinators-cl-ppcre"; + asd = "parser-combinators-cl-ppcre"; + } + ); + systems = [ "parser-combinators-cl-ppcre" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "parser-combinators" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parser-combinators-debug = ( + build-asdf-system { + pname = "parser-combinators-debug"; + version = "20131111-git"; + asds = [ "parser-combinators-debug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; + sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; + system = "parser-combinators-debug"; + asd = "parser-combinators-debug"; + } + ); + systems = [ "parser-combinators-debug" ]; + lispLibs = [ + (getAttr "cl-containers" self) + (getAttr "parser-combinators" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parser-combinators-tests = ( + build-asdf-system { + pname = "parser-combinators-tests"; + version = "20131111-git"; + asds = [ "parser-combinators-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz"; + sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"; + system = "parser-combinators-tests"; + asd = "parser-combinators-tests"; + } + ); + systems = [ "parser-combinators-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "infix" self) + (getAttr "iterate" self) + (getAttr "parser-combinators" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parser_dot_common-rules = ( + build-asdf-system { + pname = "parser.common-rules"; + version = "20200715-git"; + asds = [ "parser.common-rules" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz"; + sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa"; + system = "parser.common-rules"; + asd = "parser.common-rules"; + } + ); + systems = [ "parser.common-rules" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "esrap" self) + (getAttr "let-plus" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + parser_dot_common-rules_dot_operators = ( + build-asdf-system { + pname = "parser.common-rules.operators"; + version = "20200715-git"; + asds = [ "parser.common-rules.operators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz"; + sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa"; + system = "parser.common-rules.operators"; + asd = "parser.common-rules.operators"; + } + ); + systems = [ "parser.common-rules.operators" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "esrap" self) + (getAttr "let-plus" self) + (getAttr "parser_dot_common-rules" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parser_dot_ini = ( + build-asdf-system { + pname = "parser.ini"; + version = "20181018-git"; + asds = [ "parser.ini" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parser.ini/2018-10-18/parser.ini-20181018-git.tgz"; + sha256 = "0ri4c7877i9val67z5sm8nfhz04p9l6brajx2fkavs8556l1wm1d"; + system = "parser.ini"; + asd = "parser.ini"; + } + ); + systems = [ "parser.ini" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "architecture_dot_builder-protocol" self) + (getAttr "esrap" self) + (getAttr "let-plus" self) + (getAttr "more-conditions" self) + (getAttr "parser_dot_common-rules" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + parsnip = ( + build-asdf-system { + pname = "parsnip"; + version = "20220331-git"; + asds = [ "parsnip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/parsnip/2022-03-31/parsnip-20220331-git.tgz"; + sha256 = "0gl7z8kn37qiz0vab89wawn78iczii7iqw43jy2ls7nw0l5jv13w"; + system = "parsnip"; + asd = "parsnip"; + } + ); + systems = [ "parsnip" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + patchwork = ( + build-asdf-system { + pname = "patchwork"; + version = "20220707-git"; + asds = [ "patchwork" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/patchwork/2022-07-07/patchwork-20220707-git.tgz"; + sha256 = "08d08hslcs69509wj56mlklv1cz5lq2rz0sl870zcxyn4j1nnf3f"; + system = "patchwork"; + asd = "patchwork"; + } + ); + systems = [ "patchwork" ]; + lispLibs = [ + (getAttr "binpack" self) + (getAttr "mfiano-utils" self) + (getAttr "opticl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + path-parse = ( + build-asdf-system { + pname = "path-parse"; + version = "20160421-git"; + asds = [ "path-parse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/path-parse/2016-04-21/path-parse-20160421-git.tgz"; + sha256 = "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq"; + system = "path-parse"; + asd = "path-parse"; + } + ); + systems = [ "path-parse" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + path-parse-test = ( + build-asdf-system { + pname = "path-parse-test"; + version = "20160421-git"; + asds = [ "path-parse-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/path-parse/2016-04-21/path-parse-20160421-git.tgz"; + sha256 = "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq"; + system = "path-parse-test"; + asd = "path-parse-test"; + } + ); + systems = [ "path-parse-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "path-parse" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + path-string = ( + build-asdf-system { + pname = "path-string"; + version = "20160825-git"; + asds = [ "path-string" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/path-string/2016-08-25/path-string-20160825-git.tgz"; + sha256 = "0hs36kf4njxafxrngs1m1sh9c7b9wv7sa8n316dq4icx3kf3v6yp"; + system = "path-string"; + asd = "path-string"; + } + ); + systems = [ "path-string" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + path-string-test = ( + build-asdf-system { + pname = "path-string-test"; + version = "20160825-git"; + asds = [ "path-string-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/path-string/2016-08-25/path-string-20160825-git.tgz"; + sha256 = "0hs36kf4njxafxrngs1m1sh9c7b9wv7sa8n316dq4icx3kf3v6yp"; + system = "path-string-test"; + asd = "path-string-test"; + } + ); + systems = [ "path-string-test" ]; + lispLibs = [ + (getAttr "path-string" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pathname-utils = ( + build-asdf-system { + pname = "pathname-utils"; + version = "20241012-git"; + asds = [ "pathname-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pathname-utils/2024-10-12/pathname-utils-20241012-git.tgz"; + sha256 = "1z1z3dar6g2ybxgk9zgcyb8bh5g6rh12bwl3ik6rdwy3rdd5b1q5"; + system = "pathname-utils"; + asd = "pathname-utils"; + } + ); + systems = [ "pathname-utils" ]; + lispLibs = [ (getAttr "trivial-features" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pathname-utils-test = ( + build-asdf-system { + pname = "pathname-utils-test"; + version = "20241012-git"; + asds = [ "pathname-utils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pathname-utils/2024-10-12/pathname-utils-20241012-git.tgz"; + sha256 = "1z1z3dar6g2ybxgk9zgcyb8bh5g6rh12bwl3ik6rdwy3rdd5b1q5"; + system = "pathname-utils-test"; + asd = "pathname-utils-test"; + } + ); + systems = [ "pathname-utils-test" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "pathname-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + patron = ( + build-asdf-system { + pname = "patron"; + version = "20130420-git"; + asds = [ "patron" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/patron/2013-04-20/patron-20130420-git.tgz"; + sha256 = "0i2vlwspnssjxdnq7dsrb98q3y8c8drd0a11nxn9808q76sqzsqc"; + system = "patron"; + asd = "patron"; + } + ); + systems = [ "patron" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcall = ( + build-asdf-system { + pname = "pcall"; + version = "0.3"; + asds = [ "pcall" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz"; + sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps"; + system = "pcall"; + asd = "pcall"; + } + ); + systems = [ "pcall" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "pcall-queue" self) + ]; + meta = { }; + } + ); + pcall-queue = ( + build-asdf-system { + pname = "pcall-queue"; + version = "0.3"; + asds = [ "pcall-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz"; + sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps"; + system = "pcall-queue"; + asd = "pcall-queue"; + } + ); + systems = [ "pcall-queue" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { }; + } + ); + pcall-tests = ( + build-asdf-system { + pname = "pcall-tests"; + version = "0.3"; + asds = [ "pcall-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz"; + sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps"; + system = "pcall-tests"; + asd = "pcall"; + } + ); + systems = [ "pcall-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "pcall" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-binary-data = ( + build-asdf-system { + pname = "pcl-binary-data"; + version = "20180430-git"; + asds = [ "pcl-binary-data" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-binary-data"; + asd = "pcl-binary-data"; + } + ); + systems = [ "pcl-binary-data" ]; + lispLibs = [ (getAttr "pcl-macro-utilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-html = ( + build-asdf-system { + pname = "pcl-html"; + version = "20180430-git"; + asds = [ "pcl-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-html"; + asd = "pcl-html"; + } + ); + systems = [ "pcl-html" ]; + lispLibs = [ (getAttr "pcl-macro-utilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-id3v2 = ( + build-asdf-system { + pname = "pcl-id3v2"; + version = "20180430-git"; + asds = [ "pcl-id3v2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-id3v2"; + asd = "pcl-id3v2"; + } + ); + systems = [ "pcl-id3v2" ]; + lispLibs = [ + (getAttr "pcl-binary-data" self) + (getAttr "pcl-pathnames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-macro-utilities = ( + build-asdf-system { + pname = "pcl-macro-utilities"; + version = "20180430-git"; + asds = [ "pcl-macro-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-macro-utilities"; + asd = "pcl-macro-utilities"; + } + ); + systems = [ "pcl-macro-utilities" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-mp3-browser = ( + build-asdf-system { + pname = "pcl-mp3-browser"; + version = "20180430-git"; + asds = [ "pcl-mp3-browser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-mp3-browser"; + asd = "pcl-mp3-browser"; + } + ); + systems = [ "pcl-mp3-browser" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "pcl-html" self) + (getAttr "pcl-id3v2" self) + (getAttr "pcl-mp3-database" self) + (getAttr "pcl-shoutcast" self) + (getAttr "pcl-url-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-mp3-database = ( + build-asdf-system { + pname = "pcl-mp3-database"; + version = "20180430-git"; + asds = [ "pcl-mp3-database" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-mp3-database"; + asd = "pcl-mp3-database"; + } + ); + systems = [ "pcl-mp3-database" ]; + lispLibs = [ + (getAttr "pcl-id3v2" self) + (getAttr "pcl-macro-utilities" self) + (getAttr "pcl-pathnames" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-pathnames = ( + build-asdf-system { + pname = "pcl-pathnames"; + version = "20180430-git"; + asds = [ "pcl-pathnames" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-pathnames"; + asd = "pcl-pathnames"; + } + ); + systems = [ "pcl-pathnames" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-shoutcast = ( + build-asdf-system { + pname = "pcl-shoutcast"; + version = "20180430-git"; + asds = [ "pcl-shoutcast" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-shoutcast"; + asd = "pcl-shoutcast"; + } + ); + systems = [ "pcl-shoutcast" ]; + lispLibs = [ + (getAttr "pcl-html" self) + (getAttr "pcl-id3v2" self) + (getAttr "pcl-macro-utilities" self) + (getAttr "pcl-mp3-database" self) + (getAttr "pcl-pathnames" self) + (getAttr "pcl-url-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-simple-database = ( + build-asdf-system { + pname = "pcl-simple-database"; + version = "20180430-git"; + asds = [ "pcl-simple-database" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-simple-database"; + asd = "pcl-simple-database"; + } + ); + systems = [ "pcl-simple-database" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-spam = ( + build-asdf-system { + pname = "pcl-spam"; + version = "20180430-git"; + asds = [ "pcl-spam" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-spam"; + asd = "pcl-spam"; + } + ); + systems = [ "pcl-spam" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "pcl-pathnames" self) + (getAttr "pcl-test-framework" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-test-framework = ( + build-asdf-system { + pname = "pcl-test-framework"; + version = "20180430-git"; + asds = [ "pcl-test-framework" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-test-framework"; + asd = "pcl-test-framework"; + } + ); + systems = [ "pcl-test-framework" ]; + lispLibs = [ (getAttr "pcl-macro-utilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-unit-test = ( + build-asdf-system { + pname = "pcl-unit-test"; + version = "20121125-git"; + asds = [ "pcl-unit-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; + sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; + system = "pcl-unit-test"; + asd = "pcl-unit-test"; + } + ); + systems = [ "pcl-unit-test" ]; + lispLibs = [ (getAttr "standard-cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pcl-url-function = ( + build-asdf-system { + pname = "pcl-url-function"; + version = "20180430-git"; + asds = [ "pcl-url-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "pcl-url-function"; + asd = "pcl-url-function"; + } + ); + systems = [ "pcl-url-function" ]; + lispLibs = [ + (getAttr "aserve" self) + (getAttr "pcl-html" self) + (getAttr "pcl-macro-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + peppol = ( + build-asdf-system { + pname = "peppol"; + version = "20201016-git"; + asds = [ "peppol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-peppol/2020-10-16/cl-peppol-20201016-git.tgz"; + sha256 = "02wc6h1fiaqzf14py2kwsvx0dmb22wdkd54pl0ixnmivj436ln99"; + system = "peppol"; + asd = "peppol"; + } + ); + systems = [ "peppol" ]; + lispLibs = [ + (getAttr "cxml" self) + (getAttr "xpath" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + percent-encoding = ( + build-asdf-system { + pname = "percent-encoding"; + version = "20121013-git"; + asds = [ "percent-encoding" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/percent-encoding/2012-10-13/percent-encoding-20121013-git.tgz"; + sha256 = "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"; + system = "percent-encoding"; + asd = "percent-encoding"; + } + ); + systems = [ "percent-encoding" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "babel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + percent-encoding-test = ( + build-asdf-system { + pname = "percent-encoding-test"; + version = "20121013-git"; + asds = [ "percent-encoding-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/percent-encoding/2012-10-13/percent-encoding-20121013-git.tgz"; + sha256 = "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"; + system = "percent-encoding-test"; + asd = "percent-encoding"; + } + ); + systems = [ "percent-encoding-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "percent-encoding" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + perceptual-hashes = ( + build-asdf-system { + pname = "perceptual-hashes"; + version = "20220707-git"; + asds = [ "perceptual-hashes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/perceptual-hashes/2022-07-07/perceptual-hashes-20220707-git.tgz"; + sha256 = "1hg2vxi4avmjwscgab7wqf3c4d60x933lac4d86fmfk0wgl5nzzd"; + system = "perceptual-hashes"; + asd = "perceptual-hashes"; + } + ); + systems = [ "perceptual-hashes" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "array-operations" self) + (getAttr "imago" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + periodic-table = ( + build-asdf-system { + pname = "periodic-table"; + version = "1.0"; + asds = [ "periodic-table" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/periodic-table/2011-10-01/periodic-table-1.0.tgz"; + sha256 = "147j9kn0afsvlz09vdjmvw5si08ix3dyypg21vrc5xvn9nsalrxx"; + system = "periodic-table"; + asd = "periodic-table"; + } + ); + systems = [ "periodic-table" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + periods = ( + build-asdf-system { + pname = "periods"; + version = "20221106-git"; + asds = [ "periods" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/periods/2022-11-06/periods-20221106-git.tgz"; + sha256 = "0ynhdmlzb499mlm7c7zy6vgw8vglkkf14zr0v40jcl1sgq3236ry"; + system = "periods"; + asd = "periods"; + } + ); + systems = [ "periods" ]; + lispLibs = [ (getAttr "local-time" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + periods-series = ( + build-asdf-system { + pname = "periods-series"; + version = "20221106-git"; + asds = [ "periods-series" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/periods/2022-11-06/periods-20221106-git.tgz"; + sha256 = "0ynhdmlzb499mlm7c7zy6vgw8vglkkf14zr0v40jcl1sgq3236ry"; + system = "periods-series"; + asd = "periods-series"; + } + ); + systems = [ "periods-series" ]; + lispLibs = [ + (getAttr "periods" self) + (getAttr "series" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + perlre = ( + build-asdf-system { + pname = "perlre"; + version = "20200715-git"; + asds = [ "perlre" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/perlre/2020-07-15/perlre-20200715-git.tgz"; + sha256 = "1izhrn1xd0mi2nl0p6930ln3nb4wp3y5ngg81wy5g5s4vqy2h54a"; + system = "perlre"; + asd = "perlre"; + } + ); + systems = [ "perlre" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "let-over-lambda" self) + (getAttr "prove" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pero = ( + build-asdf-system { + pname = "pero"; + version = "20230214-git"; + asds = [ "pero" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pero/2023-02-14/pero-20230214-git.tgz"; + sha256 = "1q513lvnq4m8l332glriid0vxcdcnakcdag3lck1wmrfaxhdpnmc"; + system = "pero"; + asd = "pero"; + } + ); + systems = [ "pero" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + persistent = ( + build-asdf-system { + pname = "persistent"; + version = "20241012-git"; + asds = [ "persistent" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "persistent"; + asd = "persistent"; + } + ); + systems = [ "persistent" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + persistent-tables = ( + build-asdf-system { + pname = "persistent-tables"; + version = "20120208-git"; + asds = [ "persistent-tables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/persistent-tables/2012-02-08/persistent-tables-20120208-git.tgz"; + sha256 = "0klfjza85mgj2z42x2lhcqy9q66avac7zw0cpbmwwng3m7679hpa"; + system = "persistent-tables"; + asd = "persistent-tables"; + } + ); + systems = [ "persistent-tables" ]; + lispLibs = [ + (getAttr "lisp-unit" self) + (getAttr "random-access-lists" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + persistent-variables = ( + build-asdf-system { + pname = "persistent-variables"; + version = "20130312-git"; + asds = [ "persistent-variables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/persistent-variables/2013-03-12/persistent-variables-20130312-git.tgz"; + sha256 = "0r72cbjkb5q4sn109svlcsvrwgvwdsn5c63rv5cpaf3jrfv1z8xn"; + system = "persistent-variables"; + asd = "persistent-variables"; + } + ); + systems = [ "persistent-variables" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + persistent-variables_dot_test = ( + build-asdf-system { + pname = "persistent-variables.test"; + version = "20130312-git"; + asds = [ "persistent-variables.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/persistent-variables/2013-03-12/persistent-variables-20130312-git.tgz"; + sha256 = "0r72cbjkb5q4sn109svlcsvrwgvwdsn5c63rv5cpaf3jrfv1z8xn"; + system = "persistent-variables.test"; + asd = "persistent-variables"; + } + ); + systems = [ "persistent-variables.test" ]; + lispLibs = [ (getAttr "persistent-variables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp = ( + build-asdf-system { + pname = "petalisp"; + version = "20241012-git"; + asds = [ "petalisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp"; + asd = "petalisp"; + } + ); + systems = [ "petalisp" ]; + lispLibs = [ + (getAttr "petalisp_dot_api" self) + (getAttr "petalisp_dot_test-suite" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_api = ( + build-asdf-system { + pname = "petalisp.api"; + version = "20241012-git"; + asds = [ "petalisp.api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.api"; + asd = "petalisp.api"; + } + ); + systems = [ "petalisp.api" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "petalisp_dot_codegen" self) + (getAttr "petalisp_dot_core" self) + (getAttr "petalisp_dot_ir" self) + (getAttr "petalisp_dot_native-backend" self) + (getAttr "petalisp_dot_packages" self) + (getAttr "petalisp_dot_utilities" self) + (getAttr "split-sequence" self) + (getAttr "trivia" self) + (getAttr "trivial-macroexpand-all" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_codegen = ( + build-asdf-system { + pname = "petalisp.codegen"; + version = "20241012-git"; + asds = [ "petalisp.codegen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.codegen"; + asd = "petalisp.codegen"; + } + ); + systems = [ "petalisp.codegen" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "petalisp_dot_core" self) + (getAttr "petalisp_dot_ir" self) + (getAttr "petalisp_dot_utilities" self) + (getAttr "trivia" self) + (getAttr "trivial-macroexpand-all" self) + (getAttr "ucons" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_core = ( + build-asdf-system { + pname = "petalisp.core"; + version = "20241012-git"; + asds = [ "petalisp.core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.core"; + asd = "petalisp.core"; + } + ); + systems = [ "petalisp.core" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "lparallel" self) + (getAttr "petalisp_dot_packages" self) + (getAttr "petalisp_dot_utilities" self) + (getAttr "trivia" self) + (getAttr "typo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_examples = ( + build-asdf-system { + pname = "petalisp.examples"; + version = "20241012-git"; + asds = [ "petalisp.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.examples"; + asd = "petalisp.examples"; + } + ); + systems = [ "petalisp.examples" ]; + lispLibs = [ + (getAttr "numpy-file-format" self) + (getAttr "petalisp_dot_api" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_ir = ( + build-asdf-system { + pname = "petalisp.ir"; + version = "20241012-git"; + asds = [ "petalisp.ir" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.ir"; + asd = "petalisp.ir"; + } + ); + systems = [ "petalisp.ir" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "petalisp_dot_core" self) + (getAttr "petalisp_dot_utilities" self) + (getAttr "priority-queue" self) + (getAttr "split-sequence" self) + (getAttr "ucons" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_native-backend = ( + build-asdf-system { + pname = "petalisp.native-backend"; + version = "20241012-git"; + asds = [ "petalisp.native-backend" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.native-backend"; + asd = "petalisp.native-backend"; + } + ); + systems = [ "petalisp.native-backend" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "lparallel" self) + (getAttr "petalisp_dot_codegen" self) + (getAttr "petalisp_dot_core" self) + (getAttr "petalisp_dot_ir" self) + (getAttr "petalisp_dot_utilities" self) + (getAttr "static-vectors" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + (getAttr "typo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_packages = ( + build-asdf-system { + pname = "petalisp.packages"; + version = "20241012-git"; + asds = [ "petalisp.packages" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.packages"; + asd = "petalisp.packages"; + } + ); + systems = [ "petalisp.packages" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_test-suite = ( + build-asdf-system { + pname = "petalisp.test-suite"; + version = "20241012-git"; + asds = [ "petalisp.test-suite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.test-suite"; + asd = "petalisp.test-suite"; + } + ); + systems = [ "petalisp.test-suite" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "petalisp_dot_api" self) + (getAttr "petalisp_dot_examples" self) + (getAttr "petalisp_dot_native-backend" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petalisp_dot_utilities = ( + build-asdf-system { + pname = "petalisp.utilities"; + version = "20241012-git"; + asds = [ "petalisp.utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petalisp/2024-10-12/petalisp-20241012-git.tgz"; + sha256 = "06njw0jx48rm52zbpwdw442j6rasqsmfd2zsi71y30aij7c9b0h9"; + system = "petalisp.utilities"; + asd = "petalisp.utilities"; + } + ); + systems = [ "petalisp.utilities" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "queues_dot_priority-queue" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petit_dot_package-utils = ( + build-asdf-system { + pname = "petit.package-utils"; + version = "20140826-git"; + asds = [ "petit.package-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petit.package-utils/2014-08-26/petit.package-utils-20140826-git.tgz"; + sha256 = "0jj4c1jpcqfy9mrlxhjmq4ypwlzk84h09i8nr34wjwh6z7idhpyv"; + system = "petit.package-utils"; + asd = "petit.package-utils"; + } + ); + systems = [ "petit.package-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petit_dot_string-utils = ( + build-asdf-system { + pname = "petit.string-utils"; + version = "20141106-git"; + asds = [ "petit.string-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petit.string-utils/2014-11-06/petit.string-utils-20141106-git.tgz"; + sha256 = "04kqdj69x53wzvpp54zp6767186in24p8yrr82wdg2bwzw4qh4yl"; + system = "petit.string-utils"; + asd = "petit.string-utils"; + } + ); + systems = [ "petit.string-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petit_dot_string-utils-test = ( + build-asdf-system { + pname = "petit.string-utils-test"; + version = "20141106-git"; + asds = [ "petit.string-utils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petit.string-utils/2014-11-06/petit.string-utils-20141106-git.tgz"; + sha256 = "04kqdj69x53wzvpp54zp6767186in24p8yrr82wdg2bwzw4qh4yl"; + system = "petit.string-utils-test"; + asd = "petit.string-utils-test"; + } + ); + systems = [ "petit.string-utils-test" ]; + lispLibs = [ + (getAttr "petit_dot_string-utils" self) + (getAttr "rt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + petri = ( + build-asdf-system { + pname = "petri"; + version = "20200427-git"; + asds = [ "petri" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/petri/2020-04-27/petri-20200427-git.tgz"; + sha256 = "1y78s3jndyxll46zq7s5is9pwv8f6jr2npjkcpd48ik7xkj2269b"; + system = "petri"; + asd = "petri"; + } + ); + systems = [ "petri" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "phoe-toolbox" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pettomato-deque = ( + build-asdf-system { + pname = "pettomato-deque"; + version = "20120107-git"; + asds = [ "pettomato-deque" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pettomato-deque/2012-01-07/pettomato-deque-20120107-git.tgz"; + sha256 = "07ai4fa64cg6shfvnx9xk7pscbsz64ys80482zz2fb9q0rba80b7"; + system = "pettomato-deque"; + asd = "pettomato-deque"; + } + ); + systems = [ "pettomato-deque" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pettomato-deque-tests = ( + build-asdf-system { + pname = "pettomato-deque-tests"; + version = "20120107-git"; + asds = [ "pettomato-deque-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pettomato-deque/2012-01-07/pettomato-deque-20120107-git.tgz"; + sha256 = "07ai4fa64cg6shfvnx9xk7pscbsz64ys80482zz2fb9q0rba80b7"; + system = "pettomato-deque-tests"; + asd = "pettomato-deque-tests"; + } + ); + systems = [ "pettomato-deque-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "pettomato-deque" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pettomato-indexed-priority-queue = ( + build-asdf-system { + pname = "pettomato-indexed-priority-queue"; + version = "20120909-git"; + asds = [ "pettomato-indexed-priority-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pettomato-indexed-priority-queue/2012-09-09/pettomato-indexed-priority-queue-20120909-git.tgz"; + sha256 = "14i36qbdnif28xcbxdbr5abzmzxr7vzv64n1aix0f6khxg99pylz"; + system = "pettomato-indexed-priority-queue"; + asd = "pettomato-indexed-priority-queue"; + } + ); + systems = [ "pettomato-indexed-priority-queue" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pettomato-indexed-priority-queue-tests = ( + build-asdf-system { + pname = "pettomato-indexed-priority-queue-tests"; + version = "20120909-git"; + asds = [ "pettomato-indexed-priority-queue-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pettomato-indexed-priority-queue/2012-09-09/pettomato-indexed-priority-queue-20120909-git.tgz"; + sha256 = "14i36qbdnif28xcbxdbr5abzmzxr7vzv64n1aix0f6khxg99pylz"; + system = "pettomato-indexed-priority-queue-tests"; + asd = "pettomato-indexed-priority-queue-tests"; + } + ); + systems = [ "pettomato-indexed-priority-queue-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "pettomato-indexed-priority-queue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pfft = ( + build-asdf-system { + pname = "pfft"; + version = "20180711-git"; + asds = [ "pfft" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/fft/2018-07-11/fft-20180711-git.tgz"; + sha256 = "0ymnfplap2cncw49mhq7crapgxphfwsvqdgrcckpgsvw6qsymasd"; + system = "pfft"; + asd = "pfft"; + } + ); + systems = [ "pfft" ]; + lispLibs = [ + (getAttr "fft" self) + (getAttr "pcall" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pg = ( + build-asdf-system { + pname = "pg"; + version = "20150608-git"; + asds = [ "pg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pg/2015-06-08/pg-20150608-git.tgz"; + sha256 = "1c7axd2yxw9lxf7l5djrnfkp197mmr88qpigy2cjgim8vxab4n2l"; + system = "pg"; + asd = "pg"; + } + ); + systems = [ "pg" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pgloader = ( + build-asdf-system { + pname = "pgloader"; + version = "v3.6.9"; + asds = [ "pgloader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pgloader/2022-11-06/pgloader-v3.6.9.tgz"; + sha256 = "03kp3ms2sjz4gwb94xs404mi63fnv1bq00hyqxyvc9csmicxzawn"; + system = "pgloader"; + asd = "pgloader"; + } + ); + systems = [ "pgloader" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-base64" self) + (getAttr "cl-csv" self) + (getAttr "cl-fad" self) + (getAttr "cl-log" self) + (getAttr "cl-markdown" self) + (getAttr "cl-mustache" self) + (getAttr "cl-postgres" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "command-line-arguments" self) + (getAttr "db3" self) + (getAttr "drakma" self) + (getAttr "esrap" self) + (getAttr "flexi-streams" self) + (getAttr "ixf" self) + (getAttr "local-time" self) + (getAttr "lparallel" self) + (getAttr "metabang-bind" self) + (getAttr "mssql" self) + (getAttr "postmodern" self) + (getAttr "py-configparser" self) + (getAttr "qmynd" self) + (getAttr "quri" self) + (getAttr "simple-date" self) + (getAttr "split-sequence" self) + (getAttr "sqlite" self) + (getAttr "trivial-backtrace" self) + (getAttr "usocket" self) + (getAttr "uuid" self) + (getAttr "yason" self) + (getAttr "zs3" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + phoe-toolbox = ( + build-asdf-system { + pname = "phoe-toolbox"; + version = "20210124-git"; + asds = [ "phoe-toolbox" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/phoe-toolbox/2021-01-24/phoe-toolbox-20210124-git.tgz"; + sha256 = "0bzbgs4lkhw93y1cwrs9kp5yiyz8sg4885cnvi83dzzbla9b74kv"; + system = "phoe-toolbox"; + asd = "phoe-toolbox"; + } + ); + systems = [ "phoe-toolbox" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + phonon = ( + build-asdf-system { + pname = "phonon"; + version = "20210531-git"; + asds = [ "phonon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "phonon"; + asd = "phonon"; + } + ); + systems = [ "phonon" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtdbus" self) + (getAttr "qtgui" self) + (getAttr "qtxml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + phos = ( + build-asdf-system { + pname = "phos"; + version = "20241012-git"; + asds = [ "phos" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/phos/2024-10-12/phos-20241012-git.tgz"; + sha256 = "0lnv54iczidjpskciw7y2faazgxjwpncggdh5kggpjziq03pr7lv"; + system = "phos"; + asd = "phos"; + } + ); + systems = [ "phos" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "cl-ppcre" self) + (getAttr "quri" self) + (getAttr "trivia" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + physical-dimension = ( + build-asdf-system { + pname = "physical-dimension"; + version = "master-df14cb8c-git"; + asds = [ "physical-dimension" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; + sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; + system = "physical-dimension"; + asd = "physical-dimension"; + } + ); + systems = [ "physical-dimension" ]; + lispLibs = [ + (getAttr "fare-utils" self) + (getAttr "foreign-array" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + physical-quantities = ( + build-asdf-system { + pname = "physical-quantities"; + version = "20211020-git"; + asds = [ "physical-quantities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/physical-quantities/2021-10-20/physical-quantities-20211020-git.tgz"; + sha256 = "0mb2s94s6fhw5vfa89naalw7ld11sdsszlqpz0c65dvpfyfmmdmh"; + system = "physical-quantities"; + asd = "physical-quantities"; + } + ); + systems = [ "physical-quantities" ]; + lispLibs = [ (getAttr "parseq" self) ]; + meta = { }; + } + ); + picl = ( + build-asdf-system { + pname = "picl"; + version = "20241012-git"; + asds = [ "picl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/picl/2024-10-12/picl-20241012-git.tgz"; + sha256 = "0pdzlmphf1bqk5xdvwf1m1l3s5whwm4ysnpl5kpwq70adx38rysk"; + system = "picl"; + asd = "picl"; + } + ); + systems = [ "picl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "defclass-std" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + piggyback-parameters = ( + build-asdf-system { + pname = "piggyback-parameters"; + version = "20200610-git"; + asds = [ "piggyback-parameters" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/piggyback-parameters/2020-06-10/piggyback-parameters-20200610-git.tgz"; + sha256 = "1187bgnz9pvs8xdxapqhrm4yqzwlp368ijmc5szm8r8q3zrb219n"; + system = "piggyback-parameters"; + asd = "piggyback-parameters"; + } + ); + systems = [ "piggyback-parameters" ]; + lispLibs = [ + (getAttr "trivial-hashtable-serialize" self) + (getAttr "trivial-json-codec" self) + (getAttr "trivial-pooled-database" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pileup = ( + build-asdf-system { + pname = "pileup"; + version = "20150709-git"; + asds = [ "pileup" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pileup/2015-07-09/pileup-20150709-git.tgz"; + sha256 = "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb"; + system = "pileup"; + asd = "pileup"; + } + ); + systems = [ "pileup" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pileup-tests = ( + build-asdf-system { + pname = "pileup-tests"; + version = "20150709-git"; + asds = [ "pileup-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pileup/2015-07-09/pileup-20150709-git.tgz"; + sha256 = "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb"; + system = "pileup-tests"; + asd = "pileup"; + } + ); + systems = [ "pileup-tests" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "pileup" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pipes = ( + build-asdf-system { + pname = "pipes"; + version = "20150923-git"; + asds = [ "pipes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pipes/2015-09-23/pipes-20150923-git.tgz"; + sha256 = "17qcxalbdip20nkbwiv3kpdjjsy0g1y9s4a0zv38ch47bdl9yxpc"; + system = "pipes"; + asd = "pipes"; + } + ); + systems = [ "pipes" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + piping = ( + build-asdf-system { + pname = "piping"; + version = "20231021-git"; + asds = [ "piping" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/piping/2023-10-21/piping-20231021-git.tgz"; + sha256 = "0g0k6w7xa0xyzlr3j5j85b91kazbba4rxwplmqcb5ns3shk8745g"; + system = "piping"; + asd = "piping"; + } + ); + systems = [ "piping" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pithy-xml = ( + build-asdf-system { + pname = "pithy-xml"; + version = "20101006-git"; + asds = [ "pithy-xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pithy-xml/2010-10-06/pithy-xml-20101006-git.tgz"; + sha256 = "05zw5adiw7jgvi9w9c661s4r49fidpcxn6m7azmn0pzc936dg17h"; + system = "pithy-xml"; + asd = "pithy-xml"; + } + ); + systems = [ "pithy-xml" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pixman = ( + build-asdf-system { + pname = "pixman"; + version = "20170830-git"; + asds = [ "pixman" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-pixman/2017-08-30/cl-pixman-20170830-git.tgz"; + sha256 = "068hh7cv6f2wqwd8092wqh3rgdix6sa319qpm648mss8jfnjjbgj"; + system = "pixman"; + asd = "pixman"; + } + ); + systems = [ "pixman" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pjlink = ( + build-asdf-system { + pname = "pjlink"; + version = "20220331-git"; + asds = [ "pjlink" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pjlink/2022-03-31/pjlink-20220331-git.tgz"; + sha256 = "1rsmg0x7fd32na36x9ahj6vji3xs6ckg5pyng8nf33fmdj8dscbc"; + system = "pjlink"; + asd = "pjlink"; + } + ); + systems = [ "pjlink" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "ip-interfaces" self) + (getAttr "md5" self) + (getAttr "split-sequence" self) + (getAttr "trivial-garbage" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pk-serialize = ( + build-asdf-system { + pname = "pk-serialize"; + version = "20221106-git"; + asds = [ "pk-serialize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pk-serialize/2022-11-06/pk-serialize-20221106-git.tgz"; + sha256 = "1fi9xxdlg2z9dnqb2sc7wg37aqzqjz43h2l1wxa5zvk73qqzapyn"; + system = "pk-serialize"; + asd = "pk-serialize"; + } + ); + systems = [ "pk-serialize" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pkg-doc = ( + build-asdf-system { + pname = "pkg-doc"; + version = "20200925-git"; + asds = [ "pkg-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pkg-doc/2020-09-25/pkg-doc-20200925-git.tgz"; + sha256 = "1y4dcc0q3iizgvavnkl8q4bjxq0dngvqw5dhrf9bxf4d3q3vrbd4"; + system = "pkg-doc"; + asd = "pkg-doc"; + } + ); + systems = [ "pkg-doc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "clim-widgets" self) + (getAttr "manifest" self) + (getAttr "nsort" self) + (getAttr "repl-utilities" self) + (getAttr "stdutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + place-modifiers = ( + build-asdf-system { + pname = "place-modifiers"; + version = "2.1"; + asds = [ "place-modifiers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/place-modifiers/2012-11-25/place-modifiers-2.1.tgz"; + sha256 = "13nd911h6i7gks78l30bzdqzygcqh47946jwaf50ak2iraagknvf"; + system = "place-modifiers"; + asd = "place-modifiers"; + } + ); + systems = [ "place-modifiers" ]; + lispLibs = [ + (getAttr "cartesian-product-switch" self) + (getAttr "map-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + place-utils = ( + build-asdf-system { + pname = "place-utils"; + version = "0.2"; + asds = [ "place-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/place-utils/2018-10-18/place-utils-0.2.tgz"; + sha256 = "1riaxxafn2xbyy6776yqns1bhz5jnzzpd177wb5xzvwlxiix6yf9"; + system = "place-utils"; + asd = "place-utils"; + } + ); + systems = [ "place-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + planks = ( + build-asdf-system { + pname = "planks"; + version = "20110522-git"; + asds = [ "planks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/planks/2011-05-22/planks-20110522-git.tgz"; + sha256 = "1y7cg9xb75j1yslbxsmw0fyg738f4d28lnlm7w7hzgc51fc7875k"; + system = "planks"; + asd = "planks"; + } + ); + systems = [ "planks" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "ironclad" self) + (getAttr "rucksack" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plokami = ( + build-asdf-system { + pname = "plokami"; + version = "20200218-git"; + asds = [ "plokami" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plokami/2020-02-18/plokami-20200218-git.tgz"; + sha256 = "1k78lpbaqqa2gnwi9k0y646md4s9xnijm774knl11p05r83w5ycb"; + system = "plokami"; + asd = "plokami"; + } + ); + systems = [ "plokami" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plot = ( + build-asdf-system { + pname = "plot"; + version = "20241012-git"; + asds = [ "plot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plot/2024-10-12/plot-20241012-git.tgz"; + sha256 = "1x5kc5y0s082y24qgq138331qmfs0xxxj43ss3aw0kgx7wfpxlms"; + system = "plot"; + asd = "plot"; + } + ); + systems = [ "plot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "cl-ppcre" self) + (getAttr "data-frame" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plplot-examples = ( + build-asdf-system { + pname = "plplot-examples"; + version = "20180228-git"; + asds = [ "plplot-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-plplot/2018-02-28/cl-plplot-20180228-git.tgz"; + sha256 = "0hfgq47ga2r764jfc3ywaz5ynnvp701fjhbw0s4j1mrw4gaf6y6w"; + system = "plplot-examples"; + asd = "cl-plplot"; + } + ); + systems = [ "plplot-examples" ]; + lispLibs = [ + (getAttr "cl-plplot" self) + (getAttr "png" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pludeck = ( + build-asdf-system { + pname = "pludeck"; + version = "20180831-git"; + asds = [ "pludeck" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pludeck/2018-08-31/pludeck-20180831-git.tgz"; + sha256 = "0p6v7fxs48fxr76kvkh6z2mjjyz3vf2rp698jq1fl6p3hihbgl0m"; + system = "pludeck"; + asd = "pludeck"; + } + ); + systems = [ "pludeck" ]; + lispLibs = [ (getAttr "plump" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump = ( + build-asdf-system { + pname = "plump"; + version = "20241012-git"; + asds = [ "plump" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; + sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; + system = "plump"; + asd = "plump"; + } + ); + systems = [ "plump" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "documentation-utils" self) + ]; + meta = { }; + } + ); + plump-bundle = ( + build-asdf-system { + pname = "plump-bundle"; + version = "20231021-git"; + asds = [ "plump-bundle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump-bundle/2023-10-21/plump-bundle-20231021-git.tgz"; + sha256 = "0qknmdryyynjk5g0zda2788p4j0s6w4fj27kdca22z0n8r8yfhhk"; + system = "plump-bundle"; + asd = "plump-bundle"; + } + ); + systems = [ "plump-bundle" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "closer-mop" self) + (getAttr "fast-io" self) + (getAttr "plump-dom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump-dom = ( + build-asdf-system { + pname = "plump-dom"; + version = "20241012-git"; + asds = [ "plump-dom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; + sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; + system = "plump-dom"; + asd = "plump-dom"; + } + ); + systems = [ "plump-dom" ]; + lispLibs = [ (getAttr "plump" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump-lexer = ( + build-asdf-system { + pname = "plump-lexer"; + version = "20241012-git"; + asds = [ "plump-lexer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; + sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; + system = "plump-lexer"; + asd = "plump-lexer"; + } + ); + systems = [ "plump-lexer" ]; + lispLibs = [ (getAttr "plump" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump-parser = ( + build-asdf-system { + pname = "plump-parser"; + version = "20241012-git"; + asds = [ "plump-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump/2024-10-12/plump-20241012-git.tgz"; + sha256 = "04wy2v69zal186gg0pvcj60184gi7cpkpx3h1w93c9nilmla0dv9"; + system = "plump-parser"; + asd = "plump-parser"; + } + ); + systems = [ "plump-parser" ]; + lispLibs = [ (getAttr "plump" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump-sexp = ( + build-asdf-system { + pname = "plump-sexp"; + version = "20241012-git"; + asds = [ "plump-sexp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump-sexp/2024-10-12/plump-sexp-20241012-git.tgz"; + sha256 = "19gihmsbwv42zwyc4rd1pcvj5yzf1vnhpci7r5kz1dnrmz9gzy3l"; + system = "plump-sexp"; + asd = "plump-sexp"; + } + ); + systems = [ "plump-sexp" ]; + lispLibs = [ (getAttr "plump" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump-tex = ( + build-asdf-system { + pname = "plump-tex"; + version = "20231021-git"; + asds = [ "plump-tex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump-tex/2023-10-21/plump-tex-20231021-git.tgz"; + sha256 = "1k0cmk5sbn042bx7nxiw0rvsjmgmj221zim1hg23r0485jbx0r3h"; + system = "plump-tex"; + asd = "plump-tex"; + } + ); + systems = [ "plump-tex" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + plump-tex-test = ( + build-asdf-system { + pname = "plump-tex-test"; + version = "20231021-git"; + asds = [ "plump-tex-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plump-tex/2023-10-21/plump-tex-20231021-git.tgz"; + sha256 = "1k0cmk5sbn042bx7nxiw0rvsjmgmj221zim1hg23r0485jbx0r3h"; + system = "plump-tex-test"; + asd = "plump-tex-test"; + } + ); + systems = [ "plump-tex-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "plump-tex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + png = ( + build-asdf-system { + pname = "png"; + version = "20211020-git"; + asds = [ "png" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; + sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; + system = "png"; + asd = "png"; + } + ); + systems = [ "png" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + png-read = ( + build-asdf-system { + pname = "png-read"; + version = "20170830-git"; + asds = [ "png-read" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/png-read/2017-08-30/png-read-20170830-git.tgz"; + sha256 = "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"; + system = "png-read"; + asd = "png-read"; + } + ); + systems = [ "png-read" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "chipz" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + png-test = ( + build-asdf-system { + pname = "png-test"; + version = "20211020-git"; + asds = [ "png-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz"; + sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4"; + system = "png-test"; + asd = "png-test"; + } + ); + systems = [ "png-test" ]; + lispLibs = [ (getAttr "png" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pngload = ( + build-asdf-system { + pname = "pngload"; + version = "20241012-git"; + asds = [ "pngload" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pngload/2024-10-12/pngload-20241012-git.tgz"; + sha256 = "1j5j8n8xa8hgc413lfxij3wmkwyal13p0a5q6n74zzr61f1kn6vc"; + system = "pngload"; + asd = "pngload"; + } + ); + systems = [ "pngload" ]; + lispLibs = [ + (getAttr "_3bz" self) + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "mmap" self) + (getAttr "parse-float" self) + (getAttr "static-vectors" self) + (getAttr "swap-bytes" self) + (getAttr "zpb-exif" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pngload_dot_test = ( + build-asdf-system { + pname = "pngload.test"; + version = "20241012-git"; + asds = [ "pngload.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pngload/2024-10-12/pngload-20241012-git.tgz"; + sha256 = "1j5j8n8xa8hgc413lfxij3wmkwyal13p0a5q6n74zzr61f1kn6vc"; + system = "pngload.test"; + asd = "pngload.test"; + } + ); + systems = [ "pngload.test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "local-time" self) + (getAttr "opticl" self) + (getAttr "png-read" self) + (getAttr "pngload" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + poler = ( + build-asdf-system { + pname = "poler"; + version = "20181210-git"; + asds = [ "poler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/poler/2018-12-10/poler-20181210-git.tgz"; + sha256 = "1lcyjxmz5vm5is1kgxqjvpkllywvbsj6wqx5v2ac0py5vqws1l8z"; + system = "poler"; + asd = "poler"; + } + ); + systems = [ "poler" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + poler-test = ( + build-asdf-system { + pname = "poler-test"; + version = "20181210-git"; + asds = [ "poler-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/poler/2018-12-10/poler-20181210-git.tgz"; + sha256 = "1lcyjxmz5vm5is1kgxqjvpkllywvbsj6wqx5v2ac0py5vqws1l8z"; + system = "poler-test"; + asd = "poler-test"; + } + ); + systems = [ "poler-test" ]; + lispLibs = [ + (getAttr "poler" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + policy-cond = ( + build-asdf-system { + pname = "policy-cond"; + version = "20241012-git"; + asds = [ "policy-cond" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/policy-cond/2024-10-12/policy-cond-20241012-git.tgz"; + sha256 = "17gm4alfb8nf85963ckahipx61xfffj0ra2cnn6yra32krzj7gnk"; + system = "policy-cond"; + asd = "policy-cond"; + } + ); + systems = [ "policy-cond" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + polisher = ( + build-asdf-system { + pname = "polisher"; + version = "20211230-git"; + asds = [ "polisher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/polisher/2021-12-30/polisher-20211230-git.tgz"; + sha256 = "1i63kgk4vfisiyrfqdz0wc8ldvfh9jpkivsasgdhc97cad095ln0"; + system = "polisher"; + asd = "polisher"; + } + ); + systems = [ "polisher" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + polisher_dot_test = ( + build-asdf-system { + pname = "polisher.test"; + version = "20211230-git"; + asds = [ "polisher.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/polisher/2021-12-30/polisher-20211230-git.tgz"; + sha256 = "1i63kgk4vfisiyrfqdz0wc8ldvfh9jpkivsasgdhc97cad095ln0"; + system = "polisher.test"; + asd = "polisher.test"; + } + ); + systems = [ "polisher.test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "polisher" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + polymorphic-functions-lite = ( + build-asdf-system { + pname = "polymorphic-functions-lite"; + version = "20241012-git"; + asds = [ "polymorphic-functions-lite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/polymorphic-functions/2024-10-12/polymorphic-functions-20241012-git.tgz"; + sha256 = "1bawhbj5rh1q6qrcjnx48n78841mgri5n63pmicxxyhif2il0zq3"; + system = "polymorphic-functions-lite"; + asd = "polymorphic-functions-lite"; + } + ); + systems = [ "polymorphic-functions-lite" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam" self) + (getAttr "introspect-environment" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pooler = ( + build-asdf-system { + pname = "pooler"; + version = "20150608-git"; + asds = [ "pooler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pooler/2015-06-08/pooler-20150608-git.tgz"; + sha256 = "18vdl06cckk07m7r477qzcz24j3sid1agfa69fp91jna5aqi46kb"; + system = "pooler"; + asd = "pooler"; + } + ); + systems = [ "pooler" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + portable-condition-system = ( + build-asdf-system { + pname = "portable-condition-system"; + version = "20210807-git"; + asds = [ "portable-condition-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz"; + sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h"; + system = "portable-condition-system"; + asd = "portable-condition-system"; + } + ); + systems = [ "portable-condition-system" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + portable-condition-system_dot_integration = ( + build-asdf-system { + pname = "portable-condition-system.integration"; + version = "20210807-git"; + asds = [ "portable-condition-system.integration" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz"; + sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h"; + system = "portable-condition-system.integration"; + asd = "portable-condition-system.integration"; + } + ); + systems = [ "portable-condition-system.integration" ]; + lispLibs = [ + (getAttr "portable-condition-system" self) + (getAttr "trivial-custom-debugger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + portable-threads = ( + build-asdf-system { + pname = "portable-threads"; + version = "20210531-git"; + asds = [ "portable-threads" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portable-threads/2021-05-31/portable-threads-20210531-git.tgz"; + sha256 = "05y00mlvwlfas4jj50qas2v2rxa0hyc9834lpnbh61a3g8sz0d1f"; + system = "portable-threads"; + asd = "portable-threads"; + } + ); + systems = [ "portable-threads" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + portal = ( + build-asdf-system { + pname = "portal"; + version = "20211209-git"; + asds = [ "portal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portal/2021-12-09/portal-20211209-git.tgz"; + sha256 = "1012jc068qdd8df6mmbn8vmmqlniqm5j2jbyrraw3yz8c13c8280"; + system = "portal"; + asd = "portal"; + } + ); + systems = [ "portal" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arrows" self) + (getAttr "cl-base64" self) + (getAttr "flexi-streams" self) + (getAttr "global-vars" self) + (getAttr "ironclad" self) + (getAttr "parse-float" self) + (getAttr "str" self) + (getAttr "usocket-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + portmanteau = ( + build-asdf-system { + pname = "portmanteau"; + version = "20181018-git"; + asds = [ "portmanteau" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-portmanteau/2018-10-18/cl-portmanteau-20181018-git.tgz"; + sha256 = "0430yixy722zkiljc6kh68hx2pyf2pbylgyp7n4qnnky86c0z0ip"; + system = "portmanteau"; + asd = "portmanteau"; + } + ); + systems = [ "portmanteau" ]; + lispLibs = [ (getAttr "vom" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + portmanteau-tests = ( + build-asdf-system { + pname = "portmanteau-tests"; + version = "20181018-git"; + asds = [ "portmanteau-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-portmanteau/2018-10-18/cl-portmanteau-20181018-git.tgz"; + sha256 = "0430yixy722zkiljc6kh68hx2pyf2pbylgyp7n4qnnky86c0z0ip"; + system = "portmanteau-tests"; + asd = "portmanteau-tests"; + } + ); + systems = [ "portmanteau-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "portmanteau" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + positional-lambda = ( + build-asdf-system { + pname = "positional-lambda"; + version = "2.0"; + asds = [ "positional-lambda" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/positional-lambda/2012-10-13/positional-lambda-2.0.tgz"; + sha256 = "00jbr42czv7piza5sm5hmmls7xnhq1pnzl09j6c28xrknr61cj8r"; + system = "positional-lambda"; + asd = "positional-lambda"; + } + ); + systems = [ "positional-lambda" ]; + lispLibs = [ (getAttr "map-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + posix-shm = ( + build-asdf-system { + pname = "posix-shm"; + version = "20231021-git"; + asds = [ "posix-shm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/posix-shm/2023-10-21/posix-shm-20231021-git.tgz"; + sha256 = "0ah7xh7dxvdk58slic60gx7k56idjw5x30q5ifg90hxfhd32qz6l"; + system = "posix-shm"; + asd = "posix-shm"; + } + ); + systems = [ "posix-shm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + postmodern = ( + build-asdf-system { + pname = "postmodern"; + version = "20241012-git"; + asds = [ "postmodern" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; + sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; + system = "postmodern"; + asd = "postmodern"; + } + ); + systems = [ "postmodern" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-postgres" self) + (getAttr "closer-mop" self) + (getAttr "global-vars" self) + (getAttr "s-sql" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + postmodernity = ( + build-asdf-system { + pname = "postmodernity"; + version = "20170124-git"; + asds = [ "postmodernity" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/postmodernity/2017-01-24/postmodernity-20170124-git.tgz"; + sha256 = "06mwlp79dgzsgfhgbhvqk4691nm52v3lqm99y72dm7pm4gmc2m9m"; + system = "postmodernity"; + asd = "postmodernity"; + } + ); + systems = [ "postmodernity" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "postmodern" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + postoffice = ( + build-asdf-system { + pname = "postoffice"; + version = "20120909-git"; + asds = [ "postoffice" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/postoffice/2012-09-09/postoffice-20120909-git.tgz"; + sha256 = "041k8nc969xyjdmbn6348pra3v5jb1sw4mrnxmamv0flngyv12fg"; + system = "postoffice"; + asd = "postoffice"; + } + ); + systems = [ "postoffice" ]; + lispLibs = [ (getAttr "acl-compat" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pounds = ( + build-asdf-system { + pname = "pounds"; + version = "20160208-git"; + asds = [ "pounds" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pounds/2016-02-08/pounds-20160208-git.tgz"; + sha256 = "17hz0ywzfirmlwkrd9zrbl07ihhm03zhzqrz3rkmh1j9v95sy2kl"; + system = "pounds"; + asd = "pounds"; + } + ); + systems = [ "pounds" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "nibbles" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pp-toml = ( + build-asdf-system { + pname = "pp-toml"; + version = "20221106-git"; + asds = [ "pp-toml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pp-toml/2022-11-06/pp-toml-20221106-git.tgz"; + sha256 = "136d7jzz7l2ck9wwld0ac46jmpm94lvja6m50sy73s232slka2hg"; + system = "pp-toml"; + asd = "pp-toml"; + } + ); + systems = [ "pp-toml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "esrap" self) + (getAttr "generic-comparability" self) + (getAttr "local-time" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pp-toml-tests = ( + build-asdf-system { + pname = "pp-toml-tests"; + version = "20221106-git"; + asds = [ "pp-toml-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pp-toml/2022-11-06/pp-toml-20221106-git.tgz"; + sha256 = "136d7jzz7l2ck9wwld0ac46jmpm94lvja6m50sy73s232slka2hg"; + system = "pp-toml-tests"; + asd = "pp-toml-tests"; + } + ); + systems = [ "pp-toml-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "esrap" self) + (getAttr "fiveam" self) + (getAttr "generic-comparability" self) + (getAttr "local-time" self) + (getAttr "parse-number" self) + (getAttr "pp-toml" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ppath = ( + build-asdf-system { + pname = "ppath"; + version = "20241012-git"; + asds = [ "ppath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ppath/2024-10-12/ppath-20241012-git.tgz"; + sha256 = "122h2xlr9435gjim567cyry13ylbsixziy5bi1n4lzpfjnkq68qg"; + system = "ppath"; + asd = "ppath"; + } + ); + systems = [ "ppath" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "osicat" self) + (getAttr "split-sequence" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ppath-test = ( + build-asdf-system { + pname = "ppath-test"; + version = "20241012-git"; + asds = [ "ppath-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ppath/2024-10-12/ppath-20241012-git.tgz"; + sha256 = "122h2xlr9435gjim567cyry13ylbsixziy5bi1n4lzpfjnkq68qg"; + system = "ppath-test"; + asd = "ppath-test"; + } + ); + systems = [ "ppath-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fad" self) + (getAttr "ppath" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + practical-cl = ( + build-asdf-system { + pname = "practical-cl"; + version = "20180430-git"; + asds = [ "practical-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz"; + sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9"; + system = "practical-cl"; + asd = "practical-cl"; + } + ); + systems = [ "practical-cl" ]; + lispLibs = [ + (getAttr "pcl-binary-data" self) + (getAttr "pcl-html" self) + (getAttr "pcl-id3v2" self) + (getAttr "pcl-macro-utilities" self) + (getAttr "pcl-mp3-browser" self) + (getAttr "pcl-mp3-database" self) + (getAttr "pcl-pathnames" self) + (getAttr "pcl-shoutcast" self) + (getAttr "pcl-simple-database" self) + (getAttr "pcl-spam" self) + (getAttr "pcl-test-framework" self) + (getAttr "pcl-url-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prbs = ( + build-asdf-system { + pname = "prbs"; + version = "20180228-git"; + asds = [ "prbs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prbs/2018-02-28/prbs-20180228-git.tgz"; + sha256 = "0qbvbmxa66b367z9px4nyxqb21b9w2hr82rw7hfq5aynmwfk3fzi"; + system = "prbs"; + asd = "prbs"; + } + ); + systems = [ "prbs" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prbs-docs = ( + build-asdf-system { + pname = "prbs-docs"; + version = "20180228-git"; + asds = [ "prbs-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prbs/2018-02-28/prbs-20180228-git.tgz"; + sha256 = "0qbvbmxa66b367z9px4nyxqb21b9w2hr82rw7hfq5aynmwfk3fzi"; + system = "prbs-docs"; + asd = "prbs-docs"; + } + ); + systems = [ "prbs-docs" ]; + lispLibs = [ + (getAttr "cl-gendoc" self) + (getAttr "prbs" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + precise-time = ( + build-asdf-system { + pname = "precise-time"; + version = "20241012-git"; + asds = [ "precise-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/precise-time/2024-10-12/precise-time-20241012-git.tgz"; + sha256 = "114ix5nldfg301g0af8lsnc129i7hnhgdzmnznda2fv92zf3vn8g"; + system = "precise-time"; + asd = "precise-time"; + } + ); + systems = [ "precise-time" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pregexp = ( + build-asdf-system { + pname = "pregexp"; + version = "20241012-git"; + asds = [ "pregexp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pregexp/2024-10-12/pregexp-20241012-git.tgz"; + sha256 = "10l9hj7a812km1hygg6iwwl1bf8jgsfyfr1ixj7bif8k8502h4nz"; + system = "pregexp"; + asd = "pregexp"; + } + ); + systems = [ "pregexp" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prepl = ( + build-asdf-system { + pname = "prepl"; + version = "20231021-git"; + asds = [ "prepl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prepl/2023-10-21/prepl-20231021-git.tgz"; + sha256 = "0sbqlqbk9xrl30iklp3vs493zq4bc2nxv6q435cspicwz6igbjdw"; + system = "prepl"; + asd = "prepl"; + } + ); + systems = [ "prepl" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "conium" self) + (getAttr "iterate" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prettier-builtins = ( + build-asdf-system { + pname = "prettier-builtins"; + version = "20231021-git"; + asds = [ "prettier-builtins" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prettier-builtins/2023-10-21/prettier-builtins-20231021-git.tgz"; + sha256 = "15lbf0zi1vxqpxwsfgkq7dlg5c9m1b2a4hvcfm3qlh9ir7ahggck"; + system = "prettier-builtins"; + asd = "prettier-builtins"; + } + ); + systems = [ "prettier-builtins" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pretty-function = ( + build-asdf-system { + pname = "pretty-function"; + version = "20130615-git"; + asds = [ "pretty-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pretty-function/2013-06-15/pretty-function-20130615-git.tgz"; + sha256 = "1hzfjwsp6r5nki6h8kry8k2bgj19mrp0jbq7jhsz3kz6y4ll0hb5"; + system = "pretty-function"; + asd = "pretty-function"; + } + ); + systems = [ "pretty-function" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + primecount = ( + build-asdf-system { + pname = "primecount"; + version = "20200325-git"; + asds = [ "primecount" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/primecount/2020-03-25/primecount-20200325-git.tgz"; + sha256 = "1fw855qp82b887azww7z3yhd2zafaxjnzyff1ldf2wa6mb4f0dj8"; + system = "primecount"; + asd = "primecount"; + } + ); + systems = [ "primecount" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + print-html = ( + build-asdf-system { + pname = "print-html"; + version = "20181018-git"; + asds = [ "print-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/print-html/2018-10-18/print-html-20181018-git.tgz"; + sha256 = "1ihr2yy6fvli3awrkfn4v8pm41wab5wsj30v84rr75v4p5irqmz8"; + system = "print-html"; + asd = "print-html"; + } + ); + systems = [ "print-html" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + print-licenses = ( + build-asdf-system { + pname = "print-licenses"; + version = "20230618-git"; + asds = [ "print-licenses" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/print-licenses/2023-06-18/print-licenses-20230618-git.tgz"; + sha256 = "14i6r6mf16dlj1g4xk0alg2912y3wy0qbfpyvvgsgxkkar63cmi5"; + system = "print-licenses"; + asd = "print-licenses"; + } + ); + systems = [ "print-licenses" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + printv = ( + build-asdf-system { + pname = "printv"; + version = "20211230-git"; + asds = [ "printv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/printv/2021-12-30/printv-20211230-git.tgz"; + sha256 = "07agyzkwp3w2r4d2anrmr8h00yngpr5dq9mjd3m4kzhn1jcmilfb"; + system = "printv"; + asd = "printv"; + } + ); + systems = [ "printv" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + priority-queue = ( + build-asdf-system { + pname = "priority-queue"; + version = "20150709-git"; + asds = [ "priority-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/priority-queue/2015-07-09/priority-queue-20150709-git.tgz"; + sha256 = "0y5a1fid8xzzl58hfdj64n8mrzq0kr06a0lnmdjpgi0czc3x0jcy"; + system = "priority-queue"; + asd = "priority-queue"; + } + ); + systems = [ "priority-queue" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + priority-queue-benchmark = ( + build-asdf-system { + pname = "priority-queue-benchmark"; + version = "20241012-git"; + asds = [ "priority-queue-benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2024-10-12/damn-fast-priority-queue-20241012-git.tgz"; + sha256 = "1mbigpgi7qbqvpj59l1f7p2qcg00ybvqzdca1j1b9hx62h224ndw"; + system = "priority-queue-benchmark"; + asd = "priority-queue-benchmark"; + } + ); + systems = [ "priority-queue-benchmark" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bodge-heap" self) + (getAttr "cl-heap" self) + (getAttr "damn-fast-priority-queue" self) + (getAttr "damn-fast-stable-priority-queue" self) + (getAttr "heap" self) + (getAttr "minheap" self) + (getAttr "pettomato-indexed-priority-queue" self) + (getAttr "pileup" self) + (getAttr "priority-queue" self) + (getAttr "queues_dot_priority-queue" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + proc-parse = ( + build-asdf-system { + pname = "proc-parse"; + version = "20190813-git"; + asds = [ "proc-parse" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/proc-parse/2019-08-13/proc-parse-20190813-git.tgz"; + sha256 = "07vbj26bfq4ywlcmamsqyac29rsdsa8lamjqx1ycla1bcvgmi4w2"; + system = "proc-parse"; + asd = "proc-parse"; + } + ); + systems = [ "proc-parse" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + ]; + meta = { }; + } + ); + proc-parse-test = ( + build-asdf-system { + pname = "proc-parse-test"; + version = "20190813-git"; + asds = [ "proc-parse-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/proc-parse/2019-08-13/proc-parse-20190813-git.tgz"; + sha256 = "07vbj26bfq4ywlcmamsqyac29rsdsa8lamjqx1ycla1bcvgmi4w2"; + system = "proc-parse-test"; + asd = "proc-parse-test"; + } + ); + systems = [ "proc-parse-test" ]; + lispLibs = [ + (getAttr "proc-parse" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + progressons = ( + build-asdf-system { + pname = "progressons"; + version = "20241012-git"; + asds = [ "progressons" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/progressons/2024-10-12/progressons-20241012-git.tgz"; + sha256 = "1i93khd0l1aphzh6qb4yy9cpi2nmqac08b90yx95p4zymap03nly"; + system = "progressons"; + asd = "progressons"; + } + ); + systems = [ "progressons" ]; + lispLibs = [ + (getAttr "cl-ansi-text" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_document = ( + build-asdf-system { + pname = "projectured.document"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.document" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.document"; + asd = "projectured.document"; + } + ); + systems = [ "projectured.document" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "parse-number" self) + (getAttr "projectured_dot_editor" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_editor = ( + build-asdf-system { + pname = "projectured.editor"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.editor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.editor"; + asd = "projectured.editor"; + } + ); + systems = [ "projectured.editor" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_common" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "hu_dot_dwim_dot_defclass-star" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_serializer" self) + (getAttr "hu_dot_dwim_dot_syntax-sugar" self) + (getAttr "hu_dot_dwim_dot_util" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_executable = ( + build-asdf-system { + pname = "projectured.executable"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.executable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.executable"; + asd = "projectured.executable"; + } + ); + systems = [ "projectured.executable" ]; + lispLibs = [ + (getAttr "command-line-arguments" self) + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "projectured_dot_sdl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_projection = ( + build-asdf-system { + pname = "projectured.projection"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.projection" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.projection"; + asd = "projectured.projection"; + } + ); + systems = [ "projectured.projection" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "projectured_dot_document" self) + (getAttr "projectured_dot_editor" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_sdl = ( + build-asdf-system { + pname = "projectured.sdl"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.sdl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.sdl"; + asd = "projectured.sdl"; + } + ); + systems = [ "projectured.sdl" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_sdl" self) + (getAttr "projectured_dot_document" self) + (getAttr "projectured_dot_editor" self) + (getAttr "projectured_dot_projection" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_sdl_dot_test = ( + build-asdf-system { + pname = "projectured.sdl.test"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.sdl.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.sdl.test"; + asd = "projectured.sdl.test"; + } + ); + systems = [ "projectured.sdl.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "projectured_dot_sdl" self) + (getAttr "projectured_dot_test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_swank = ( + build-asdf-system { + pname = "projectured.swank"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.swank"; + asd = "projectured.swank"; + } + ); + systems = [ "projectured.swank" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "projectured_dot_editor" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + projectured_dot_test = ( + build-asdf-system { + pname = "projectured.test"; + version = "quicklisp-c3a60e76-git"; + asds = [ "projectured.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz"; + sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn"; + system = "projectured.test"; + asd = "projectured.test"; + } + ); + systems = [ "projectured.test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_asdf" self) + (getAttr "hu_dot_dwim_dot_logger" self) + (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" self) + (getAttr "projectured_dot_document" self) + (getAttr "projectured_dot_editor" self) + (getAttr "projectured_dot_projection" self) + (getAttr "projectured_dot_swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus = ( + build-asdf-system { + pname = "prometheus"; + version = "20201220-git"; + asds = [ "prometheus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus"; + asd = "prometheus"; + } + ); + systems = [ "prometheus" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "quantile-estimator" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus-gc = ( + build-asdf-system { + pname = "prometheus-gc"; + version = "20241012-git"; + asds = [ "prometheus-gc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus-gc/2024-10-12/prometheus-gc-20241012-git.tgz"; + sha256 = "0lfdh7j7jzklhr76fdw1z3a777h5sr5c9h1i6nv1knnm36l44zpj"; + system = "prometheus-gc"; + asd = "prometheus-gc"; + } + ); + systems = [ "prometheus-gc" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "prometheus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus-gc-ci = ( + build-asdf-system { + pname = "prometheus-gc-ci"; + version = "20241012-git"; + asds = [ "prometheus-gc-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus-gc/2024-10-12/prometheus-gc-20241012-git.tgz"; + sha256 = "0lfdh7j7jzklhr76fdw1z3a777h5sr5c9h1i6nv1knnm36l44zpj"; + system = "prometheus-gc-ci"; + asd = "prometheus-gc-ci"; + } + ); + systems = [ "prometheus-gc-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus-gc-tests = ( + build-asdf-system { + pname = "prometheus-gc-tests"; + version = "20241012-git"; + asds = [ "prometheus-gc-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus-gc/2024-10-12/prometheus-gc-20241012-git.tgz"; + sha256 = "0lfdh7j7jzklhr76fdw1z3a777h5sr5c9h1i6nv1knnm36l44zpj"; + system = "prometheus-gc-tests"; + asd = "prometheus-gc-tests"; + } + ); + systems = [ "prometheus-gc-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_collectors_dot_process = ( + build-asdf-system { + pname = "prometheus.collectors.process"; + version = "20201220-git"; + asds = [ "prometheus.collectors.process" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.collectors.process"; + asd = "prometheus.collectors.process"; + } + ); + systems = [ "prometheus.collectors.process" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-fad" self) + (getAttr "prometheus" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_collectors_dot_process_dot_test = ( + build-asdf-system { + pname = "prometheus.collectors.process.test"; + version = "20201220-git"; + asds = [ "prometheus.collectors.process.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.collectors.process.test"; + asd = "prometheus.collectors.process.test"; + } + ); + systems = [ "prometheus.collectors.process.test" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prometheus_dot_collectors_dot_process" self) + (getAttr "prometheus_dot_test_dot_support" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_collectors_dot_sbcl = ( + build-asdf-system { + pname = "prometheus.collectors.sbcl"; + version = "20201220-git"; + asds = [ "prometheus.collectors.sbcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.collectors.sbcl"; + asd = "prometheus.collectors.sbcl"; + } + ); + systems = [ "prometheus.collectors.sbcl" ]; + lispLibs = [ (getAttr "prometheus" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_collectors_dot_sbcl_dot_test = ( + build-asdf-system { + pname = "prometheus.collectors.sbcl.test"; + version = "20201220-git"; + asds = [ "prometheus.collectors.sbcl.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.collectors.sbcl.test"; + asd = "prometheus.collectors.sbcl.test"; + } + ); + systems = [ "prometheus.collectors.sbcl.test" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prometheus_dot_collectors_dot_sbcl" self) + (getAttr "prometheus_dot_test_dot_support" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_examples = ( + build-asdf-system { + pname = "prometheus.examples"; + version = "20201220-git"; + asds = [ "prometheus.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.examples"; + asd = "prometheus.examples"; + } + ); + systems = [ "prometheus.examples" ]; + lispLibs = [ + (getAttr "prometheus" self) + (getAttr "prometheus_dot_collectors_dot_process" self) + (getAttr "prometheus_dot_collectors_dot_sbcl" self) + (getAttr "prometheus_dot_exposers_dot_hunchentoot" self) + (getAttr "prometheus_dot_formats_dot_text" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_exposers_dot_hunchentoot = ( + build-asdf-system { + pname = "prometheus.exposers.hunchentoot"; + version = "20201220-git"; + asds = [ "prometheus.exposers.hunchentoot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.exposers.hunchentoot"; + asd = "prometheus.exposers.hunchentoot"; + } + ); + systems = [ "prometheus.exposers.hunchentoot" ]; + lispLibs = [ + (getAttr "hunchentoot" self) + (getAttr "prometheus" self) + (getAttr "prometheus_dot_formats_dot_text" self) + (getAttr "salza2" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_exposers_dot_hunchentoot_dot_test = ( + build-asdf-system { + pname = "prometheus.exposers.hunchentoot.test"; + version = "20201220-git"; + asds = [ "prometheus.exposers.hunchentoot.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.exposers.hunchentoot.test"; + asd = "prometheus.exposers.hunchentoot.test"; + } + ); + systems = [ "prometheus.exposers.hunchentoot.test" ]; + lispLibs = [ + (getAttr "chipz" self) + (getAttr "cl-interpol" self) + (getAttr "drakma" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prometheus_dot_exposers_dot_hunchentoot" self) + (getAttr "prometheus_dot_formats_dot_text" self) + (getAttr "prometheus_dot_test_dot_support" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_formats_dot_text = ( + build-asdf-system { + pname = "prometheus.formats.text"; + version = "20201220-git"; + asds = [ "prometheus.formats.text" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.formats.text"; + asd = "prometheus.formats.text"; + } + ); + systems = [ "prometheus.formats.text" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "prometheus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_formats_dot_text_dot_test = ( + build-asdf-system { + pname = "prometheus.formats.text.test"; + version = "20201220-git"; + asds = [ "prometheus.formats.text.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.formats.text.test"; + asd = "prometheus.formats.text.test"; + } + ); + systems = [ "prometheus.formats.text.test" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prometheus_dot_formats_dot_text" self) + (getAttr "prometheus_dot_test_dot_support" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_pushgateway = ( + build-asdf-system { + pname = "prometheus.pushgateway"; + version = "20201220-git"; + asds = [ "prometheus.pushgateway" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.pushgateway"; + asd = "prometheus.pushgateway"; + } + ); + systems = [ "prometheus.pushgateway" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "prometheus" self) + (getAttr "prometheus_dot_formats_dot_text" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_pushgateway_dot_test = ( + build-asdf-system { + pname = "prometheus.pushgateway.test"; + version = "20201220-git"; + asds = [ "prometheus.pushgateway.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.pushgateway.test"; + asd = "prometheus.pushgateway.test"; + } + ); + systems = [ "prometheus.pushgateway.test" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "hunchentoot" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prometheus_dot_pushgateway" self) + (getAttr "prometheus_dot_test_dot_support" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_test = ( + build-asdf-system { + pname = "prometheus.test"; + version = "20201220-git"; + asds = [ "prometheus.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.test"; + asd = "prometheus.test"; + } + ); + systems = [ "prometheus.test" ]; + lispLibs = [ + (getAttr "cl-interpol" self) + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prometheus" self) + (getAttr "prometheus_dot_test_dot_support" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_test_dot_all = ( + build-asdf-system { + pname = "prometheus.test.all"; + version = "20201220-git"; + asds = [ "prometheus.test.all" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.test.all"; + asd = "prometheus.test.all"; + } + ); + systems = [ "prometheus.test.all" ]; + lispLibs = [ + (getAttr "cl-coveralls" self) + (getAttr "prometheus_dot_collectors_dot_process_dot_test" self) + (getAttr "prometheus_dot_collectors_dot_sbcl_dot_test" self) + (getAttr "prometheus_dot_exposers_dot_hunchentoot_dot_test" self) + (getAttr "prometheus_dot_formats_dot_text_dot_test" self) + (getAttr "prometheus_dot_pushgateway_dot_test" self) + (getAttr "prometheus_dot_test" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prometheus_dot_test_dot_support = ( + build-asdf-system { + pname = "prometheus.test.support"; + version = "20201220-git"; + asds = [ "prometheus.test.support" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz"; + sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp"; + system = "prometheus.test.support"; + asd = "prometheus.test.support"; + } + ); + systems = [ "prometheus.test.support" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "prometheus" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + promise = ( + build-asdf-system { + pname = "promise"; + version = "20231021-git"; + asds = [ "promise" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/promise/2023-10-21/promise-20231021-git.tgz"; + sha256 = "1xm10s89a2f7ydzayjgg94y9plrz1jnyvi6yzhk5v3vrbnmpggh1"; + system = "promise"; + asd = "promise"; + } + ); + systems = [ "promise" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + promise-test = ( + build-asdf-system { + pname = "promise-test"; + version = "20231021-git"; + asds = [ "promise-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/promise/2023-10-21/promise-20231021-git.tgz"; + sha256 = "1xm10s89a2f7ydzayjgg94y9plrz1jnyvi6yzhk5v3vrbnmpggh1"; + system = "promise-test"; + asd = "promise-test"; + } + ); + systems = [ "promise-test" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "promise" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prompt-for = ( + build-asdf-system { + pname = "prompt-for"; + version = "20220707-git"; + asds = [ "prompt-for" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prompt-for/2022-07-07/prompt-for-20220707-git.tgz"; + sha256 = "1zjc96ryyzsr5519s7yji40askqyymjrbdwx3r2r7bv146siqs5m"; + system = "prompt-for"; + asd = "prompt-for"; + } + ); + systems = [ "prompt-for" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prompt-for_dot_test = ( + build-asdf-system { + pname = "prompt-for.test"; + version = "20220707-git"; + asds = [ "prompt-for.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prompt-for/2022-07-07/prompt-for-20220707-git.tgz"; + sha256 = "1zjc96ryyzsr5519s7yji40askqyymjrbdwx3r2r7bv146siqs5m"; + system = "prompt-for.test"; + asd = "prompt-for.test"; + } + ); + systems = [ "prompt-for.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "prompt-for" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + protest = ( + build-asdf-system { + pname = "protest"; + version = "20201220-git"; + asds = [ "protest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz"; + sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h"; + system = "protest"; + asd = "protest"; + } + ); + systems = [ "protest" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "moptilities" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + proto = ( + build-asdf-system { + pname = "proto"; + version = "quicklisp-dd18337d-git"; + asds = [ "proto" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz"; + sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1"; + system = "proto"; + asd = "gtirb"; + } + ); + systems = [ "proto" ]; + lispLibs = [ (getAttr "protobuf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + proto-v0 = ( + build-asdf-system { + pname = "proto-v0"; + version = "quicklisp-dd18337d-git"; + asds = [ "proto-v0" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz"; + sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1"; + system = "proto-v0"; + asd = "gtirb"; + } + ); + systems = [ "proto-v0" ]; + lispLibs = [ (getAttr "protobuf" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + protobuf = ( + build-asdf-system { + pname = "protobuf"; + version = "20230618-git"; + asds = [ "protobuf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/protobuf/2023-06-18/protobuf-20230618-git.tgz"; + sha256 = "0pp8i2i72p6cng11sxj83klw45jqv05l5024h7c2rl0pvsg8f6bc"; + system = "protobuf"; + asd = "protobuf"; + } + ); + systems = [ "protobuf" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "varint" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + protobuf-conformance = ( + build-asdf-system { + pname = "protobuf-conformance"; + version = "20230618-git"; + asds = [ "protobuf-conformance" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/protobuf/2023-06-18/protobuf-20230618-git.tgz"; + sha256 = "0pp8i2i72p6cng11sxj83klw45jqv05l5024h7c2rl0pvsg8f6bc"; + system = "protobuf-conformance"; + asd = "protobuf-conformance"; + } + ); + systems = [ "protobuf-conformance" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "nibbles" self) + (getAttr "protobuf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + prove = ( + build-asdf-system { + pname = "prove"; + version = "20200218-git"; + asds = [ "prove" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; + sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; + system = "prove"; + asd = "prove"; + } + ); + systems = [ "prove" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-colors" self) + (getAttr "cl-ppcre" self) + ]; + meta = { }; + } + ); + prove-asdf = ( + build-asdf-system { + pname = "prove-asdf"; + version = "20200218-git"; + asds = [ "prove-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; + sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; + system = "prove-asdf"; + asd = "prove-asdf"; + } + ); + systems = [ "prove-asdf" ]; + lispLibs = [ ]; + meta = { }; + } + ); + prove-test = ( + build-asdf-system { + pname = "prove-test"; + version = "20200218-git"; + asds = [ "prove-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz"; + sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"; + system = "prove-test"; + asd = "prove-test"; + } + ); + systems = [ "prove-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pseudonyms = ( + build-asdf-system { + pname = "pseudonyms"; + version = "20200325-git"; + asds = [ "pseudonyms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pseudonyms/2020-03-25/pseudonyms-20200325-git.tgz"; + sha256 = "0ph7l130hr8gz88gw8i15zbsbq96519srfhzgm6zzkw85vab1ysn"; + system = "pseudonyms"; + asd = "pseudonyms"; + } + ); + systems = [ "pseudonyms" ]; + lispLibs = [ + (getAttr "named-readtables" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + psgraph = ( + build-asdf-system { + pname = "psgraph"; + version = "1.2"; + asds = [ "psgraph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/psgraph/2010-10-06/psgraph-1.2.tgz"; + sha256 = "19x1lvzfj2c2h83y5bng6jsp2300qfvd25mmf157qiss15al22vs"; + system = "psgraph"; + asd = "psgraph"; + } + ); + systems = [ "psgraph" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + psychiq = ( + build-asdf-system { + pname = "psychiq"; + version = "20241012-git"; + asds = [ "psychiq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/psychiq/2024-10-12/psychiq-20241012-git.tgz"; + sha256 = "1036yyrzvyqszn037y4189h12221mkxdyp0nlyj26qjyil3qizbl"; + system = "psychiq"; + asd = "psychiq"; + } + ); + systems = [ "psychiq" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-redis" self) + (getAttr "cl-reexport" self) + (getAttr "dissect" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "vom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + psychiq-test = ( + build-asdf-system { + pname = "psychiq-test"; + version = "20241012-git"; + asds = [ "psychiq-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/psychiq/2024-10-12/psychiq-20241012-git.tgz"; + sha256 = "1036yyrzvyqszn037y4189h12221mkxdyp0nlyj26qjyil3qizbl"; + system = "psychiq-test"; + asd = "psychiq-test"; + } + ); + systems = [ "psychiq-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "psychiq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ptc = ( + build-asdf-system { + pname = "ptc"; + version = "20231021-git"; + asds = [ "ptc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ptc/2023-10-21/ptc-20231021-git.tgz"; + sha256 = "1r4izrc6dhz3pqpcqn3y0sga4f77s2vzd1xpl8fsr41rfpyiff3x"; + system = "ptc"; + asd = "ptc"; + } + ); + systems = [ "ptc" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ptester = ( + build-asdf-system { + pname = "ptester"; + version = "20160929-git"; + asds = [ "ptester" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ptester/2016-09-29/ptester-20160929-git.tgz"; + sha256 = "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"; + system = "ptester"; + asd = "ptester"; + } + ); + systems = [ "ptester" ]; + lispLibs = [ ]; + meta = { }; + } + ); + punycode = ( + build-asdf-system { + pname = "punycode"; + version = "20231021-git"; + asds = [ "punycode" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/punycode/2023-10-21/punycode-20231021-git.tgz"; + sha256 = "0779aj2bqsz7qb475x5sacr5q254wjar74sab04zfhrlpkgij9xh"; + system = "punycode"; + asd = "punycode"; + } + ); + systems = [ "punycode" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + punycode-test = ( + build-asdf-system { + pname = "punycode-test"; + version = "20231021-git"; + asds = [ "punycode-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/punycode/2023-10-21/punycode-20231021-git.tgz"; + sha256 = "0779aj2bqsz7qb475x5sacr5q254wjar74sab04zfhrlpkgij9xh"; + system = "punycode-test"; + asd = "punycode-test"; + } + ); + systems = [ "punycode-test" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "punycode" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + purgatory = ( + build-asdf-system { + pname = "purgatory"; + version = "20241012-git"; + asds = [ "purgatory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/purgatory/2024-10-12/purgatory-20241012-git.tgz"; + sha256 = "1srafcpl01a1dv84z3sqc1wl23r8hz1nm3rrmmqiilfh2r4jfw6f"; + system = "purgatory"; + asd = "purgatory"; + } + ); + systems = [ "purgatory" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + purgatory-tests = ( + build-asdf-system { + pname = "purgatory-tests"; + version = "20241012-git"; + asds = [ "purgatory-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/purgatory/2024-10-12/purgatory-20241012-git.tgz"; + sha256 = "1srafcpl01a1dv84z3sqc1wl23r8hz1nm3rrmmqiilfh2r4jfw6f"; + system = "purgatory-tests"; + asd = "purgatory-tests"; + } + ); + systems = [ "purgatory-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-ppcre" self) + (getAttr "clunit2" self) + (getAttr "purgatory" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + puri = ( + build-asdf-system { + pname = "puri"; + version = "20201016-git"; + asds = [ "puri" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/puri/2020-10-16/puri-20201016-git.tgz"; + sha256 = "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"; + system = "puri"; + asd = "puri"; + } + ); + systems = [ "puri" ]; + lispLibs = [ ]; + meta = { }; + } + ); + purl = ( + build-asdf-system { + pname = "purl"; + version = "20160929-git"; + asds = [ "purl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/purl/2016-09-29/purl-20160929-git.tgz"; + sha256 = "1fw3ip4b7n3q6kimh683apg381p7y4w6s4mb8mmv9n3dw0p0sdww"; + system = "purl"; + asd = "purl"; + } + ); + systems = [ "purl" ]; + lispLibs = [ + (getAttr "maxpc" self) + (getAttr "percent-encoding" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pvars = ( + build-asdf-system { + pname = "pvars"; + version = "20210228-git"; + asds = [ "pvars" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pvars/2021-02-28/pvars-20210228-git.tgz"; + sha256 = "1x9mmz53sj0mgd288pa65x963mrd27sw47a8vbggsc4ykwacqf1d"; + system = "pvars"; + asd = "pvars"; + } + ); + systems = [ "pvars" ]; + lispLibs = [ + (getAttr "cl-store" self) + (getAttr "global-vars" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + py-configparser = ( + build-asdf-system { + pname = "py-configparser"; + version = "20170830-svn"; + asds = [ "py-configparser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/py-configparser/2017-08-30/py-configparser-20170830-svn.tgz"; + sha256 = "1mpzhrys1b1mp1kp2xvryl6v01gfqfccb1zdiib49nf4bms4irvw"; + system = "py-configparser"; + asd = "py-configparser"; + } + ); + systems = [ "py-configparser" ]; + lispLibs = [ (getAttr "parse-number" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + py4cl = ( + build-asdf-system { + pname = "py4cl"; + version = "20241012-git"; + asds = [ "py4cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/py4cl/2024-10-12/py4cl-20241012-git.tgz"; + sha256 = "0i2zg58zgcyw68m846sqwjb77mvps766xlp30i65h18plc8yqmpg"; + system = "py4cl"; + asd = "py4cl"; + } + ); + systems = [ "py4cl" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "numpy-file-format" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + py4cl2 = ( + build-asdf-system { + pname = "py4cl2"; + version = "v2.9.3"; + asds = [ "py4cl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/py4cl2/2024-10-12/py4cl2-v2.9.3.tgz"; + sha256 = "0g7qhwnyi1la22k90z8993q8knr117f40jk73wjsvixicqc4awqq"; + system = "py4cl2"; + asd = "py4cl2"; + } + ); + systems = [ "py4cl2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-json" self) + (getAttr "float-features" self) + (getAttr "iterate" self) + (getAttr "numpy-file-format" self) + (getAttr "parse-number" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + py4cl2-cffi = ( + build-asdf-system { + pname = "py4cl2-cffi"; + version = "20241012-git"; + asds = [ "py4cl2-cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/py4cl2-cffi/2024-10-12/py4cl2-cffi-20241012-git.tgz"; + sha256 = "12ggqz8ibbzsmym51yfd19dlw751s7a1i6ra4z8m2ml3zw1k63zr"; + system = "py4cl2-cffi"; + asd = "py4cl2-cffi"; + } + ); + systems = [ "py4cl2-cffi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "float-features" self) + (getAttr "iterate" self) + (getAttr "optima" self) + (getAttr "parse-number" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + pythonic-string-reader = ( + build-asdf-system { + pname = "pythonic-string-reader"; + version = "20180711-git"; + asds = [ "pythonic-string-reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pythonic-string-reader/2018-07-11/pythonic-string-reader-20180711-git.tgz"; + sha256 = "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"; + system = "pythonic-string-reader"; + asd = "pythonic-string-reader"; + } + ); + systems = [ "pythonic-string-reader" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { }; + } + ); + pzmq = ( + build-asdf-system { + pname = "pzmq"; + version = "20210531-git"; + asds = [ "pzmq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; + sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; + system = "pzmq"; + asd = "pzmq"; + } + ); + systems = [ "pzmq" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { }; + } + ); + pzmq-compat = ( + build-asdf-system { + pname = "pzmq-compat"; + version = "20210531-git"; + asds = [ "pzmq-compat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; + sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; + system = "pzmq-compat"; + asd = "pzmq"; + } + ); + systems = [ "pzmq-compat" ]; + lispLibs = [ (getAttr "pzmq" self) ]; + meta = { }; + } + ); + pzmq-examples = ( + build-asdf-system { + pname = "pzmq-examples"; + version = "20210531-git"; + asds = [ "pzmq-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; + sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; + system = "pzmq-examples"; + asd = "pzmq"; + } + ); + systems = [ "pzmq-examples" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "pzmq" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + pzmq-test = ( + build-asdf-system { + pname = "pzmq-test"; + version = "20210531-git"; + asds = [ "pzmq-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz"; + sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"; + system = "pzmq-test"; + asd = "pzmq"; + } + ); + systems = [ "pzmq-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "fiveam" self) + (getAttr "let-plus" self) + (getAttr "pzmq" self) + ]; + meta = { }; + } + ); + q_plus = ( + build-asdf-system { + pname = "q+"; + version = "20230214-git"; + asds = [ "q+" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "q+"; + asd = "q+"; + } + ); + systems = [ "q+" ]; + lispLibs = [ (getAttr "qtools" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qbase64 = ( + build-asdf-system { + pname = "qbase64"; + version = "20220220-git"; + asds = [ "qbase64" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qbase64/2022-02-20/qbase64-20220220-git.tgz"; + sha256 = "06daqqfdd51wkx0pyxgz7zq4ibzsqsgn3qs04jabx67gyybgnmjm"; + system = "qbase64"; + asd = "qbase64"; + } + ); + systems = [ "qbase64" ]; + lispLibs = [ + (getAttr "metabang-bind" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qbook = ( + build-asdf-system { + pname = "qbook"; + version = "20130312-darcs"; + asds = [ "qbook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qbook/2013-03-12/qbook-20130312-darcs.tgz"; + sha256 = "0l5hc2v73416jpwc2nsnj03z85fisirgm4av2anvlpv5m1291p6g"; + system = "qbook"; + asd = "qbook"; + } + ); + systems = [ "qbook" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "yaclml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qimageblitz = ( + build-asdf-system { + pname = "qimageblitz"; + version = "20210531-git"; + asds = [ "qimageblitz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qimageblitz"; + asd = "qimageblitz"; + } + ); + systems = [ "qimageblitz" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ql-checkout = ( + build-asdf-system { + pname = "ql-checkout"; + version = "20190521-git"; + asds = [ "ql-checkout" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ql-checkout/2019-05-21/ql-checkout-20190521-git.tgz"; + sha256 = "1zp3wa7g1wn7sypfsla7510ywvldqavlmv90pncanwpwn79klyhw"; + system = "ql-checkout"; + asd = "ql-checkout"; + } + ); + systems = [ "ql-checkout" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qlot = ( + build-asdf-system { + pname = "qlot"; + version = "1.5.14"; + asds = [ "qlot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qlot/2024-10-12/qlot-1.5.14.tgz"; + sha256 = "15rg8gjwisi2gp7a0pfgdvs9mjs1xxff0a58b14nm8sf11cdggkr"; + system = "qlot"; + asd = "qlot"; + } + ); + systems = [ "qlot" ]; + lispLibs = [ + (getAttr "archive" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl_plus_ssl" self) + (getAttr "deflate" self) + (getAttr "dexador" self) + (getAttr "fuzzy-match" self) + (getAttr "ironclad" self) + (getAttr "lparallel" self) + (getAttr "quri" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qmynd = ( + build-asdf-system { + pname = "qmynd"; + version = "20190710-git"; + asds = [ "qmynd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qmynd/2019-07-10/qmynd-20190710-git.tgz"; + sha256 = "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"; + system = "qmynd"; + asd = "qmynd"; + } + ); + systems = [ "qmynd" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "chipz" self) + (getAttr "cl_plus_ssl" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + (getAttr "list-of" self) + (getAttr "salza2" self) + (getAttr "trivial-gray-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qmynd-test = ( + build-asdf-system { + pname = "qmynd-test"; + version = "20190710-git"; + asds = [ "qmynd-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qmynd/2019-07-10/qmynd-20190710-git.tgz"; + sha256 = "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"; + system = "qmynd-test"; + asd = "qmynd-test"; + } + ); + systems = [ "qmynd-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "flexi-streams" self) + (getAttr "qmynd" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qoi = ( + build-asdf-system { + pname = "qoi"; + version = "20241012-git"; + asds = [ "qoi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qoi/2024-10-12/qoi-20241012-git.tgz"; + sha256 = "06akq38q7m648c3kpx1pzw21fwqry7fkg6sfgbap0b7bifzg1dsn"; + system = "qoi"; + asd = "qoi"; + } + ); + systems = [ "qoi" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qsci = ( + build-asdf-system { + pname = "qsci"; + version = "20210531-git"; + asds = [ "qsci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qsci"; + asd = "qsci"; + } + ); + systems = [ "qsci" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qt_plus_libs = ( + build-asdf-system { + pname = "qt+libs"; + version = "20230214-git"; + asds = [ "qt+libs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/commonqt/2023-02-14/commonqt-20230214-git.tgz"; + sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q"; + system = "qt+libs"; + asd = "qt+libs"; + } + ); + systems = [ "qt+libs" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "named-readtables" self) + (getAttr "qt-libs" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qt-lib-generator = ( + build-asdf-system { + pname = "qt-lib-generator"; + version = "20210531-git"; + asds = [ "qt-lib-generator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qt-lib-generator"; + asd = "qt-lib-generator"; + } + ); + systems = [ "qt-lib-generator" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "pathname-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qt-libs = ( + build-asdf-system { + pname = "qt-libs"; + version = "20210531-git"; + asds = [ "qt-libs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qt-libs"; + asd = "qt-libs"; + } + ); + systems = [ "qt-libs" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "qt-lib-generator" self) + ]; + meta = { }; + } + ); + qt3support = ( + build-asdf-system { + pname = "qt3support"; + version = "20210531-git"; + asds = [ "qt3support" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qt3support"; + asd = "qt3support"; + } + ); + systems = [ "qt3support" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtnetwork" self) + (getAttr "qtsql" self) + (getAttr "qtxml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtcore = ( + build-asdf-system { + pname = "qtcore"; + version = "20210531-git"; + asds = [ "qtcore" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtcore"; + asd = "qtcore"; + } + ); + systems = [ "qtcore" ]; + lispLibs = [ + (getAttr "commonqt" self) + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtdbus = ( + build-asdf-system { + pname = "qtdbus"; + version = "20210531-git"; + asds = [ "qtdbus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtdbus"; + asd = "qtdbus"; + } + ); + systems = [ "qtdbus" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtxml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtdeclarative = ( + build-asdf-system { + pname = "qtdeclarative"; + version = "20210531-git"; + asds = [ "qtdeclarative" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtdeclarative"; + asd = "qtdeclarative"; + } + ); + systems = [ "qtdeclarative" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtnetwork" self) + (getAttr "qtscript" self) + (getAttr "qtsql" self) + (getAttr "qtxmlpatterns" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtgui = ( + build-asdf-system { + pname = "qtgui"; + version = "20210531-git"; + asds = [ "qtgui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtgui"; + asd = "qtgui"; + } + ); + systems = [ "qtgui" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qthelp = ( + build-asdf-system { + pname = "qthelp"; + version = "20210531-git"; + asds = [ "qthelp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qthelp"; + asd = "qthelp"; + } + ); + systems = [ "qthelp" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtnetwork" self) + (getAttr "qtsql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtnetwork = ( + build-asdf-system { + pname = "qtnetwork"; + version = "20210531-git"; + asds = [ "qtnetwork" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtnetwork"; + asd = "qtnetwork"; + } + ); + systems = [ "qtnetwork" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools = ( + build-asdf-system { + pname = "qtools"; + version = "20230214-git"; + asds = [ "qtools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools"; + asd = "qtools"; + } + ); + systems = [ "qtools" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "deploy" self) + (getAttr "documentation-utils" self) + (getAttr "form-fiddle" self) + (getAttr "named-readtables" self) + (getAttr "qt_plus_libs" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-indent" self) + (getAttr "trivial-main-thread" self) + ]; + meta = { }; + } + ); + qtools-evaluator = ( + build-asdf-system { + pname = "qtools-evaluator"; + version = "20230214-git"; + asds = [ "qtools-evaluator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools-evaluator"; + asd = "qtools-evaluator"; + } + ); + systems = [ "qtools-evaluator" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-game = ( + build-asdf-system { + pname = "qtools-game"; + version = "20230214-git"; + asds = [ "qtools-game" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools-game"; + asd = "qtools-game"; + } + ); + systems = [ "qtools-game" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + (getAttr "qtopengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-helloworld = ( + build-asdf-system { + pname = "qtools-helloworld"; + version = "20230214-git"; + asds = [ "qtools-helloworld" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools-helloworld"; + asd = "qtools-helloworld"; + } + ); + systems = [ "qtools-helloworld" ]; + lispLibs = [ + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-melody = ( + build-asdf-system { + pname = "qtools-melody"; + version = "20230214-git"; + asds = [ "qtools-melody" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools-melody"; + asd = "qtools-melody"; + } + ); + systems = [ "qtools-melody" ]; + lispLibs = [ + (getAttr "phonon" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-opengl = ( + build-asdf-system { + pname = "qtools-opengl"; + version = "20230214-git"; + asds = [ "qtools-opengl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools-opengl"; + asd = "qtools-opengl"; + } + ); + systems = [ "qtools-opengl" ]; + lispLibs = [ + (getAttr "cl-opengl" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + (getAttr "qtopengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-titter = ( + build-asdf-system { + pname = "qtools-titter"; + version = "20230214-git"; + asds = [ "qtools-titter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools/2023-02-14/qtools-20230214-git.tgz"; + sha256 = "1w9v2swdqqalvlc36kbb1fbvqmwlndisp2dnqbkx8s8h67k1m4lx"; + system = "qtools-titter"; + asd = "qtools-titter"; + } + ); + systems = [ "qtools-titter" ]; + lispLibs = [ + (getAttr "chirp" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui = ( + build-asdf-system { + pname = "qtools-ui"; + version = "20200218-git"; + asds = [ "qtools-ui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui"; + asd = "qtools-ui"; + } + ); + systems = [ "qtools-ui" ]; + lispLibs = [ + (getAttr "qtools-ui-auto-resizing-textedit" self) + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-cell" self) + (getAttr "qtools-ui-color-history" self) + (getAttr "qtools-ui-color-picker" self) + (getAttr "qtools-ui-color-sliders" self) + (getAttr "qtools-ui-color-triangle" self) + (getAttr "qtools-ui-compass" self) + (getAttr "qtools-ui-container" self) + (getAttr "qtools-ui-debugger" self) + (getAttr "qtools-ui-dialog" self) + (getAttr "qtools-ui-dictionary" self) + (getAttr "qtools-ui-drag-and-drop" self) + (getAttr "qtools-ui-fixed-qtextedit" self) + (getAttr "qtools-ui-flow-layout" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "qtools-ui-imagetools" self) + (getAttr "qtools-ui-keychord-editor" self) + (getAttr "qtools-ui-layout" self) + (getAttr "qtools-ui-listing" self) + (getAttr "qtools-ui-notification" self) + (getAttr "qtools-ui-options" self) + (getAttr "qtools-ui-panels" self) + (getAttr "qtools-ui-placeholder-text-edit" self) + (getAttr "qtools-ui-plot" self) + (getAttr "qtools-ui-repl" self) + (getAttr "qtools-ui-slider" self) + (getAttr "qtools-ui-spellchecked-text-edit" self) + (getAttr "qtools-ui-splitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-auto-resizing-textedit = ( + build-asdf-system { + pname = "qtools-ui-auto-resizing-textedit"; + version = "20200218-git"; + asds = [ "qtools-ui-auto-resizing-textedit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-auto-resizing-textedit"; + asd = "qtools-ui-auto-resizing-textedit"; + } + ); + systems = [ "qtools-ui-auto-resizing-textedit" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-fixed-qtextedit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-base = ( + build-asdf-system { + pname = "qtools-ui-base"; + version = "20200218-git"; + asds = [ "qtools-ui-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-base"; + asd = "qtools-ui-base"; + } + ); + systems = [ "qtools-ui-base" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "documentation-utils" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtools" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-bytearray = ( + build-asdf-system { + pname = "qtools-ui-bytearray"; + version = "20200218-git"; + asds = [ "qtools-ui-bytearray" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-bytearray"; + asd = "qtools-ui-bytearray"; + } + ); + systems = [ "qtools-ui-bytearray" ]; + lispLibs = [ (getAttr "qtools-ui-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-cell = ( + build-asdf-system { + pname = "qtools-ui-cell"; + version = "20200218-git"; + asds = [ "qtools-ui-cell" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-cell"; + asd = "qtools-ui-cell"; + } + ); + systems = [ "qtools-ui-cell" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "qtools-ui-layout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-color-history = ( + build-asdf-system { + pname = "qtools-ui-color-history"; + version = "20200218-git"; + asds = [ "qtools-ui-color-history" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-color-history"; + asd = "qtools-ui-color-history"; + } + ); + systems = [ "qtools-ui-color-history" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-flow-layout" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-color-picker = ( + build-asdf-system { + pname = "qtools-ui-color-picker"; + version = "20200218-git"; + asds = [ "qtools-ui-color-picker" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-color-picker"; + asd = "qtools-ui-color-picker"; + } + ); + systems = [ "qtools-ui-color-picker" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-color-history" self) + (getAttr "qtools-ui-color-sliders" self) + (getAttr "qtools-ui-color-triangle" self) + (getAttr "qtools-ui-dialog" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-color-sliders = ( + build-asdf-system { + pname = "qtools-ui-color-sliders"; + version = "20200218-git"; + asds = [ "qtools-ui-color-sliders" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-color-sliders"; + asd = "qtools-ui-color-sliders"; + } + ); + systems = [ "qtools-ui-color-sliders" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-color-triangle = ( + build-asdf-system { + pname = "qtools-ui-color-triangle"; + version = "20200218-git"; + asds = [ "qtools-ui-color-triangle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-color-triangle"; + asd = "qtools-ui-color-triangle"; + } + ); + systems = [ "qtools-ui-color-triangle" ]; + lispLibs = [ + (getAttr "cl-opengl" self) + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "qtopengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-compass = ( + build-asdf-system { + pname = "qtools-ui-compass"; + version = "20200218-git"; + asds = [ "qtools-ui-compass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-compass"; + asd = "qtools-ui-compass"; + } + ); + systems = [ "qtools-ui-compass" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-layout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-container = ( + build-asdf-system { + pname = "qtools-ui-container"; + version = "20200218-git"; + asds = [ "qtools-ui-container" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-container"; + asd = "qtools-ui-container"; + } + ); + systems = [ "qtools-ui-container" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-layout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-debugger = ( + build-asdf-system { + pname = "qtools-ui-debugger"; + version = "20200218-git"; + asds = [ "qtools-ui-debugger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-debugger"; + asd = "qtools-ui-debugger"; + } + ); + systems = [ "qtools-ui-debugger" ]; + lispLibs = [ + (getAttr "dissect" self) + (getAttr "qtools-ui-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-dialog = ( + build-asdf-system { + pname = "qtools-ui-dialog"; + version = "20200218-git"; + asds = [ "qtools-ui-dialog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-dialog"; + asd = "qtools-ui-dialog"; + } + ); + systems = [ "qtools-ui-dialog" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-dictionary = ( + build-asdf-system { + pname = "qtools-ui-dictionary"; + version = "20200218-git"; + asds = [ "qtools-ui-dictionary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-dictionary"; + asd = "qtools-ui-dictionary"; + } + ); + systems = [ "qtools-ui-dictionary" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-fixed-qtextedit" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "wordnet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-drag-and-drop = ( + build-asdf-system { + pname = "qtools-ui-drag-and-drop"; + version = "20200218-git"; + asds = [ "qtools-ui-drag-and-drop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-drag-and-drop"; + asd = "qtools-ui-drag-and-drop"; + } + ); + systems = [ "qtools-ui-drag-and-drop" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-executable = ( + build-asdf-system { + pname = "qtools-ui-executable"; + version = "20200218-git"; + asds = [ "qtools-ui-executable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-executable"; + asd = "qtools-ui-executable"; + } + ); + systems = [ "qtools-ui-executable" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "qtools-ui-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-fixed-qtextedit = ( + build-asdf-system { + pname = "qtools-ui-fixed-qtextedit"; + version = "20200218-git"; + asds = [ "qtools-ui-fixed-qtextedit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-fixed-qtextedit"; + asd = "qtools-ui-fixed-qtextedit"; + } + ); + systems = [ "qtools-ui-fixed-qtextedit" ]; + lispLibs = [ (getAttr "qtools-ui-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-flow-layout = ( + build-asdf-system { + pname = "qtools-ui-flow-layout"; + version = "20200218-git"; + asds = [ "qtools-ui-flow-layout" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-flow-layout"; + asd = "qtools-ui-flow-layout"; + } + ); + systems = [ "qtools-ui-flow-layout" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-container" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-helpers = ( + build-asdf-system { + pname = "qtools-ui-helpers"; + version = "20200218-git"; + asds = [ "qtools-ui-helpers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-helpers"; + asd = "qtools-ui-helpers"; + } + ); + systems = [ "qtools-ui-helpers" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-layout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-imagetools = ( + build-asdf-system { + pname = "qtools-ui-imagetools"; + version = "20200218-git"; + asds = [ "qtools-ui-imagetools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-imagetools"; + asd = "qtools-ui-imagetools"; + } + ); + systems = [ "qtools-ui-imagetools" ]; + lispLibs = [ + (getAttr "qimageblitz" self) + (getAttr "qtools-ui-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-keychord-editor = ( + build-asdf-system { + pname = "qtools-ui-keychord-editor"; + version = "20200218-git"; + asds = [ "qtools-ui-keychord-editor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-keychord-editor"; + asd = "qtools-ui-keychord-editor"; + } + ); + systems = [ "qtools-ui-keychord-editor" ]; + lispLibs = [ (getAttr "qtools-ui-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-layout = ( + build-asdf-system { + pname = "qtools-ui-layout"; + version = "20200218-git"; + asds = [ "qtools-ui-layout" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-layout"; + asd = "qtools-ui-layout"; + } + ); + systems = [ "qtools-ui-layout" ]; + lispLibs = [ (getAttr "qtools-ui-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-listing = ( + build-asdf-system { + pname = "qtools-ui-listing"; + version = "20200218-git"; + asds = [ "qtools-ui-listing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-listing"; + asd = "qtools-ui-listing"; + } + ); + systems = [ "qtools-ui-listing" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-cell" self) + (getAttr "qtools-ui-container" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-notification = ( + build-asdf-system { + pname = "qtools-ui-notification"; + version = "20200218-git"; + asds = [ "qtools-ui-notification" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-notification"; + asd = "qtools-ui-notification"; + } + ); + systems = [ "qtools-ui-notification" ]; + lispLibs = [ (getAttr "qtools-ui-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-options = ( + build-asdf-system { + pname = "qtools-ui-options"; + version = "20200218-git"; + asds = [ "qtools-ui-options" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-options"; + asd = "qtools-ui-options"; + } + ); + systems = [ "qtools-ui-options" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-color-picker" self) + (getAttr "qtools-ui-color-triangle" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "qtools-ui-listing" self) + (getAttr "qtools-ui-slider" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-panels = ( + build-asdf-system { + pname = "qtools-ui-panels"; + version = "20200218-git"; + asds = [ "qtools-ui-panels" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-panels"; + asd = "qtools-ui-panels"; + } + ); + systems = [ "qtools-ui-panels" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-compass" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "qtools-ui-splitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-placeholder-text-edit = ( + build-asdf-system { + pname = "qtools-ui-placeholder-text-edit"; + version = "20200218-git"; + asds = [ "qtools-ui-placeholder-text-edit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-placeholder-text-edit"; + asd = "qtools-ui-placeholder-text-edit"; + } + ); + systems = [ "qtools-ui-placeholder-text-edit" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-fixed-qtextedit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-plot = ( + build-asdf-system { + pname = "qtools-ui-plot"; + version = "20200218-git"; + asds = [ "qtools-ui-plot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-plot"; + asd = "qtools-ui-plot"; + } + ); + systems = [ "qtools-ui-plot" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-progress-bar = ( + build-asdf-system { + pname = "qtools-ui-progress-bar"; + version = "20200218-git"; + asds = [ "qtools-ui-progress-bar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-progress-bar"; + asd = "qtools-ui-progress-bar"; + } + ); + systems = [ "qtools-ui-progress-bar" ]; + lispLibs = [ (getAttr "qtools-ui-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-repl = ( + build-asdf-system { + pname = "qtools-ui-repl"; + version = "20200218-git"; + asds = [ "qtools-ui-repl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-repl"; + asd = "qtools-ui-repl"; + } + ); + systems = [ "qtools-ui-repl" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "qtools-ui-base" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-slider = ( + build-asdf-system { + pname = "qtools-ui-slider"; + version = "20200218-git"; + asds = [ "qtools-ui-slider" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-slider"; + asd = "qtools-ui-slider"; + } + ); + systems = [ "qtools-ui-slider" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-spellchecked-text-edit = ( + build-asdf-system { + pname = "qtools-ui-spellchecked-text-edit"; + version = "20200218-git"; + asds = [ "qtools-ui-spellchecked-text-edit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-spellchecked-text-edit"; + asd = "qtools-ui-spellchecked-text-edit"; + } + ); + systems = [ "qtools-ui-spellchecked-text-edit" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-fixed-qtextedit" self) + (getAttr "qtools-ui-helpers" self) + (getAttr "spell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-splitter = ( + build-asdf-system { + pname = "qtools-ui-splitter"; + version = "20200218-git"; + asds = [ "qtools-ui-splitter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-splitter"; + asd = "qtools-ui-splitter"; + } + ); + systems = [ "qtools-ui-splitter" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtools-ui-container" self) + (getAttr "qtools-ui-helpers" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtools-ui-svgtools = ( + build-asdf-system { + pname = "qtools-ui-svgtools"; + version = "20200218-git"; + asds = [ "qtools-ui-svgtools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz"; + sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z"; + system = "qtools-ui-svgtools"; + asd = "qtools-ui-svgtools"; + } + ); + systems = [ "qtools-ui-svgtools" ]; + lispLibs = [ + (getAttr "qtools-ui-base" self) + (getAttr "qtsvg" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtopengl = ( + build-asdf-system { + pname = "qtopengl"; + version = "20210531-git"; + asds = [ "qtopengl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtopengl"; + asd = "qtopengl"; + } + ); + systems = [ "qtopengl" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtscript = ( + build-asdf-system { + pname = "qtscript"; + version = "20210531-git"; + asds = [ "qtscript" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtscript"; + asd = "qtscript"; + } + ); + systems = [ "qtscript" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtsql = ( + build-asdf-system { + pname = "qtsql"; + version = "20210531-git"; + asds = [ "qtsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtsql"; + asd = "qtsql"; + } + ); + systems = [ "qtsql" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtsvg = ( + build-asdf-system { + pname = "qtsvg"; + version = "20210531-git"; + asds = [ "qtsvg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtsvg"; + asd = "qtsvg"; + } + ); + systems = [ "qtsvg" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qttest = ( + build-asdf-system { + pname = "qttest"; + version = "20210531-git"; + asds = [ "qttest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qttest"; + asd = "qttest"; + } + ); + systems = [ "qttest" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtuitools = ( + build-asdf-system { + pname = "qtuitools"; + version = "20210531-git"; + asds = [ "qtuitools" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtuitools"; + asd = "qtuitools"; + } + ); + systems = [ "qtuitools" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtwebkit = ( + build-asdf-system { + pname = "qtwebkit"; + version = "20210531-git"; + asds = [ "qtwebkit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtwebkit"; + asd = "qtwebkit"; + } + ); + systems = [ "qtwebkit" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + (getAttr "qtnetwork" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtxml = ( + build-asdf-system { + pname = "qtxml"; + version = "20210531-git"; + asds = [ "qtxml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtxml"; + asd = "qtxml"; + } + ); + systems = [ "qtxml" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qtxmlpatterns = ( + build-asdf-system { + pname = "qtxmlpatterns"; + version = "20210531-git"; + asds = [ "qtxmlpatterns" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qtxmlpatterns"; + asd = "qtxmlpatterns"; + } + ); + systems = [ "qtxmlpatterns" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtnetwork" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quad-tree = ( + build-asdf-system { + pname = "quad-tree"; + version = "20220707-git"; + asds = [ "quad-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quad-tree/2022-07-07/quad-tree-20220707-git.tgz"; + sha256 = "1pg43zw75dbqxs8vca3fynqfvza59v1fmwh9m4x0jrnw7ysgkl6j"; + system = "quad-tree"; + asd = "quad-tree"; + } + ); + systems = [ "quad-tree" ]; + lispLibs = [ + (getAttr "mfiano-utils" self) + (getAttr "origin" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quadpack = ( + build-asdf-system { + pname = "quadpack"; + version = "20231021-git"; + asds = [ "quadpack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "quadpack"; + asd = "quadpack"; + } + ); + systems = [ "quadpack" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quads = ( + build-asdf-system { + pname = "quads"; + version = "20200427-git"; + asds = [ "quads" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "quads"; + asd = "quads"; + } + ); + systems = [ "quads" ]; + lispLibs = [ (getAttr "utility" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quadtree = ( + build-asdf-system { + pname = "quadtree"; + version = "20150709-git"; + asds = [ "quadtree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quadtree/2015-07-09/quadtree-20150709-git.tgz"; + sha256 = "0590f0sbv4qg590d2bb7ypncg3wn5xjapi24w78mnzr9bdnhh4vx"; + system = "quadtree"; + asd = "quadtree"; + } + ); + systems = [ "quadtree" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quadtree-test = ( + build-asdf-system { + pname = "quadtree-test"; + version = "20150709-git"; + asds = [ "quadtree-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quadtree/2015-07-09/quadtree-20150709-git.tgz"; + sha256 = "0590f0sbv4qg590d2bb7ypncg3wn5xjapi24w78mnzr9bdnhh4vx"; + system = "quadtree-test"; + asd = "quadtree-test"; + } + ); + systems = [ "quadtree-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "quadtree" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quantile-estimator = ( + build-asdf-system { + pname = "quantile-estimator"; + version = "20160825-git"; + asds = [ "quantile-estimator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quantile-estimator.cl/2016-08-25/quantile-estimator.cl-20160825-git.tgz"; + sha256 = "1rrazbl0gbsymynlxp7ild6wvwp6csmdig4hwrp3wjvqhdl8j3mj"; + system = "quantile-estimator"; + asd = "quantile-estimator"; + } + ); + systems = [ "quantile-estimator" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quantile-estimator_dot_test = ( + build-asdf-system { + pname = "quantile-estimator.test"; + version = "20160825-git"; + asds = [ "quantile-estimator.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quantile-estimator.cl/2016-08-25/quantile-estimator.cl-20160825-git.tgz"; + sha256 = "1rrazbl0gbsymynlxp7ild6wvwp6csmdig4hwrp3wjvqhdl8j3mj"; + system = "quantile-estimator.test"; + asd = "quantile-estimator.test"; + } + ); + systems = [ "quantile-estimator.test" ]; + lispLibs = [ + (getAttr "log4cl" self) + (getAttr "mw-equiv" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "quantile-estimator" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quasiquote-2_dot_0 = ( + build-asdf-system { + pname = "quasiquote-2.0"; + version = "20150505-git"; + asds = [ "quasiquote-2.0" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz"; + sha256 = "1g0s3aplrgmdjj8k1wrx3dkqdsl4lka2nmgdng0rcd93xp11q6hn"; + system = "quasiquote-2.0"; + asd = "quasiquote-2.0"; + } + ); + systems = [ "quasiquote-2.0" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { }; + } + ); + quasiquote-2_dot_0-tests = ( + build-asdf-system { + pname = "quasiquote-2.0-tests"; + version = "20150505-git"; + asds = [ "quasiquote-2.0-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz"; + sha256 = "1g0s3aplrgmdjj8k1wrx3dkqdsl4lka2nmgdng0rcd93xp11q6hn"; + system = "quasiquote-2.0-tests"; + asd = "quasiquote-2.0"; + } + ); + systems = [ "quasiquote-2.0-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "quasiquote-2_dot_0" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quaviver = ( + build-asdf-system { + pname = "quaviver"; + version = "20241012-git"; + asds = [ "quaviver" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quaviver/2024-10-12/quaviver-20241012-git.tgz"; + sha256 = "17kixyznxfwlxkfl2d2ngxas3vi7r21bgfy4g7xlngvakxw3zfzp"; + system = "quaviver"; + asd = "quaviver"; + } + ); + systems = [ "quaviver" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + queen = ( + build-asdf-system { + pname = "queen"; + version = "20230618-git"; + asds = [ "queen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/queen.lisp/2023-06-18/queen.lisp-20230618-git.tgz"; + sha256 = "14y4688f9gazdxh03k2jnxnla2bygcsz6wk55yc0id1achak95fa"; + system = "queen"; + asd = "queen"; + } + ); + systems = [ "queen" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-ppcre-unicode" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + query-fs = ( + build-asdf-system { + pname = "query-fs"; + version = "20241012-git"; + asds = [ "query-fs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/query-fs/2024-10-12/query-fs-20241012-git.tgz"; + sha256 = "09gz8xrjg9r5bclphgwjdnif8qx4qnx518jragq3znwvlzfb34fw"; + system = "query-fs"; + asd = "query-fs"; + } + ); + systems = [ "query-fs" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-fuse" self) + (getAttr "cl-fuse-meta-fs" self) + (getAttr "cl-ppcre" self) + (getAttr "command-line-arguments" self) + (getAttr "iterate" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { }; + } + ); + query-repl = ( + build-asdf-system { + pname = "query-repl"; + version = "20220331-git"; + asds = [ "query-repl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/query-repl/2022-03-31/query-repl-20220331-git.tgz"; + sha256 = "0gzrr1k7071hdmd64i5lqmg62i3yqim7nmcc9r94sry47bkp16v2"; + system = "query-repl"; + asd = "query-repl"; + } + ); + systems = [ "query-repl" ]; + lispLibs = [ + (getAttr "check-bnf" self) + (getAttr "jingoh_dot_documentizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + query-repl_dot_test = ( + build-asdf-system { + pname = "query-repl.test"; + version = "20220331-git"; + asds = [ "query-repl.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/query-repl/2022-03-31/query-repl-20220331-git.tgz"; + sha256 = "0gzrr1k7071hdmd64i5lqmg62i3yqim7nmcc9r94sry47bkp16v2"; + system = "query-repl.test"; + asd = "query-repl.test"; + } + ); + systems = [ "query-repl.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "query-repl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + queues = ( + build-asdf-system { + pname = "queues"; + version = "20170124-git"; + asds = [ "queues" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; + sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; + system = "queues"; + asd = "queues"; + } + ); + systems = [ "queues" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + queues_dot_priority-cqueue = ( + build-asdf-system { + pname = "queues.priority-cqueue"; + version = "20170124-git"; + asds = [ "queues.priority-cqueue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; + sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; + system = "queues.priority-cqueue"; + asd = "queues.priority-cqueue"; + } + ); + systems = [ "queues.priority-cqueue" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "queues" self) + (getAttr "queues_dot_priority-queue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + queues_dot_priority-queue = ( + build-asdf-system { + pname = "queues.priority-queue"; + version = "20170124-git"; + asds = [ "queues.priority-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; + sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; + system = "queues.priority-queue"; + asd = "queues.priority-queue"; + } + ); + systems = [ "queues.priority-queue" ]; + lispLibs = [ (getAttr "queues" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + queues_dot_simple-cqueue = ( + build-asdf-system { + pname = "queues.simple-cqueue"; + version = "20170124-git"; + asds = [ "queues.simple-cqueue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; + sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; + system = "queues.simple-cqueue"; + asd = "queues.simple-cqueue"; + } + ); + systems = [ "queues.simple-cqueue" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "queues" self) + (getAttr "queues_dot_simple-queue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + queues_dot_simple-queue = ( + build-asdf-system { + pname = "queues.simple-queue"; + version = "20170124-git"; + asds = [ "queues.simple-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz"; + sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"; + system = "queues.simple-queue"; + asd = "queues.simple-queue"; + } + ); + systems = [ "queues.simple-queue" ]; + lispLibs = [ (getAttr "queues" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quick-patch = ( + build-asdf-system { + pname = "quick-patch"; + version = "20241012-git"; + asds = [ "quick-patch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quick-patch/2024-10-12/quick-patch-20241012-git.tgz"; + sha256 = "0a2wkqn65kl88yz7a8728x9gjy4w37hjavfqx4hyijhs1ph38wdi"; + system = "quick-patch"; + asd = "quick-patch"; + } + ); + systems = [ "quick-patch" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickapp = ( + build-asdf-system { + pname = "quickapp"; + version = "20160825-git"; + asds = [ "quickapp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickapp/2016-08-25/quickapp-20160825-git.tgz"; + sha256 = "0rhhxwggbh9sf3c4c9fv39c5imy48416mwf0dkhqpnm8x55xbw22"; + system = "quickapp"; + asd = "quickapp"; + } + ); + systems = [ "quickapp" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickhull = ( + build-asdf-system { + pname = "quickhull"; + version = "20241012-git"; + asds = [ "quickhull" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickhull/2024-10-12/quickhull-20241012-git.tgz"; + sha256 = "1814qq23dg2shnfdkw9w9ap53qzg2igy119bwslvflmcb1jd7bpm"; + system = "quickhull"; + asd = "quickhull"; + } + ); + systems = [ "quickhull" ]; + lispLibs = [ + (getAttr "_3d-math" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quicklisp-slime-helper = ( + build-asdf-system { + pname = "quicklisp-slime-helper"; + version = "20150709-git"; + asds = [ "quicklisp-slime-helper" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quicklisp-slime-helper/2015-07-09/quicklisp-slime-helper-20150709-git.tgz"; + sha256 = "14b1zg26h75pnhj3ic0h9i5jbmwf8wjp91scbcg1ra9fyhh73pa6"; + system = "quicklisp-slime-helper"; + asd = "quicklisp-slime-helper"; + } + ); + systems = [ "quicklisp-slime-helper" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quicklisp-starter = ( + build-asdf-system { + pname = "quicklisp-starter"; + version = "20241012-git"; + asds = [ "quicklisp-starter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-brewer/2024-10-12/cl-brewer-20241012-git.tgz"; + sha256 = "0izf6v4qx82jhk7ln28jhdmnr3lb0r5iqjj0by9igq5sk3y1my4x"; + system = "quicklisp-starter"; + asd = "quicklisp-starter"; + } + ); + systems = [ "quicklisp-starter" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quicklisp-stats = ( + build-asdf-system { + pname = "quicklisp-stats"; + version = "20210411-git"; + asds = [ "quicklisp-stats" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quicklisp-stats/2021-04-11/quicklisp-stats-20210411-git.tgz"; + sha256 = "0v8dgmlgd283n1g486q4sj2mghgdvgywg2nqp43nnrfc04mkvgc0"; + system = "quicklisp-stats"; + asd = "quicklisp-stats"; + } + ); + systems = [ "quicklisp-stats" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "drakma" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickproject = ( + build-asdf-system { + pname = "quickproject"; + version = "1.4.1"; + asds = [ "quickproject" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickproject/2019-12-27/quickproject-1.4.1.tgz"; + sha256 = "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"; + system = "quickproject"; + asd = "quickproject"; + } + ); + systems = [ "quickproject" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "html-template" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quicksearch = ( + build-asdf-system { + pname = "quicksearch"; + version = "20171019-git"; + asds = [ "quicksearch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quicksearch/2017-10-19/quicksearch-20171019-git.tgz"; + sha256 = "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"; + system = "quicksearch"; + asd = "quicksearch"; + } + ); + systems = [ "quicksearch" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "do-urlencode" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "html-entities" self) + (getAttr "iterate" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickutil = ( + build-asdf-system { + pname = "quickutil"; + version = "20210807-git"; + asds = [ "quickutil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; + sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; + system = "quickutil"; + asd = "quickutil"; + } + ); + systems = [ "quickutil" ]; + lispLibs = [ (getAttr "quickutil-client" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickutil-client = ( + build-asdf-system { + pname = "quickutil-client"; + version = "20210807-git"; + asds = [ "quickutil-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; + sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; + system = "quickutil-client"; + asd = "quickutil-client"; + } + ); + systems = [ "quickutil-client" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "quickutil-client-management" self) + (getAttr "quickutil-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickutil-client-management = ( + build-asdf-system { + pname = "quickutil-client-management"; + version = "20210807-git"; + asds = [ "quickutil-client-management" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; + sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; + system = "quickutil-client-management"; + asd = "quickutil-client-management"; + } + ); + systems = [ "quickutil-client-management" ]; + lispLibs = [ (getAttr "trivial-garbage" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickutil-server = ( + build-asdf-system { + pname = "quickutil-server"; + version = "20210807-git"; + asds = [ "quickutil-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; + sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; + system = "quickutil-server"; + asd = "quickutil-server"; + } + ); + systems = [ "quickutil-server" ]; + lispLibs = [ + (getAttr "assoc-utils" self) + (getAttr "cl-fad" self) + (getAttr "cl-markdown" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syntax" self) + (getAttr "cl-syntax-annot" self) + (getAttr "clack" self) + (getAttr "closure-template" self) + (getAttr "dbi" self) + (getAttr "lack" self) + (getAttr "lack-component" self) + (getAttr "lack-middleware-csrf" self) + (getAttr "lack-request" self) + (getAttr "lack-response" self) + (getAttr "ningle" self) + (getAttr "quickutil-utilities" self) + (getAttr "trivial-shell" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickutil-utilities = ( + build-asdf-system { + pname = "quickutil-utilities"; + version = "20210807-git"; + asds = [ "quickutil-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; + sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; + system = "quickutil-utilities"; + asd = "quickutil-utilities"; + } + ); + systems = [ "quickutil-utilities" ]; + lispLibs = [ (getAttr "cl-heredoc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quickutil-utilities-test = ( + build-asdf-system { + pname = "quickutil-utilities-test"; + version = "20210807-git"; + asds = [ "quickutil-utilities-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz"; + sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz"; + system = "quickutil-utilities-test"; + asd = "quickutil-utilities-test"; + } + ); + systems = [ "quickutil-utilities-test" ]; + lispLibs = [ + (getAttr "quickutil-client" self) + (getAttr "quickutil-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quil-coalton = ( + build-asdf-system { + pname = "quil-coalton"; + version = "20241012-git"; + asds = [ "quil-coalton" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "quil-coalton"; + asd = "quil-coalton"; + } + ); + systems = [ "quil-coalton" ]; + lispLibs = [ (getAttr "coalton" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quine-mccluskey = ( + build-asdf-system { + pname = "quine-mccluskey"; + version = "20141217-git"; + asds = [ "quine-mccluskey" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-logic/2014-12-17/cl-logic-20141217-git.tgz"; + sha256 = "17n2wzqali3j6b7pqbydipwlxgwdrj4mdnsgwjdyz32n8jvfyjwh"; + system = "quine-mccluskey"; + asd = "cl-logic"; + } + ); + systems = [ "quine-mccluskey" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quri = ( + build-asdf-system { + pname = "quri"; + version = "20241012-git"; + asds = [ "quri" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quri/2024-10-12/quri-20241012-git.tgz"; + sha256 = "0vismgg72xrflzdsrv8ybq3cxf717k5296g9b731974vwlf7ibh0"; + system = "quri"; + asd = "quri"; + } + ); + systems = [ "quri" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-utilities" self) + (getAttr "idna" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + quri-test = ( + build-asdf-system { + pname = "quri-test"; + version = "20241012-git"; + asds = [ "quri-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quri/2024-10-12/quri-20241012-git.tgz"; + sha256 = "0vismgg72xrflzdsrv8ybq3cxf717k5296g9b731974vwlf7ibh0"; + system = "quri-test"; + asd = "quri-test"; + } + ); + systems = [ "quri-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "quri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quux-hunchentoot = ( + build-asdf-system { + pname = "quux-hunchentoot"; + version = "20211230-git"; + asds = [ "quux-hunchentoot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quux-hunchentoot/2021-12-30/quux-hunchentoot-20211230-git.tgz"; + sha256 = "0v0x4hzzfm835blqbp00vmj74gaq8wyldrnfj0x5s6zfl64w135y"; + system = "quux-hunchentoot"; + asd = "quux-hunchentoot"; + } + ); + systems = [ "quux-hunchentoot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "hunchentoot" self) + (getAttr "lil" self) + (getAttr "lparallel" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + quux-time = ( + build-asdf-system { + pname = "quux-time"; + version = "20150407-git"; + asds = [ "quux-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/quux-time/2015-04-07/quux-time-20150407-git.tgz"; + sha256 = "0hsa2n1j0abhw8na9fql47rq1rxpf2vkwg2mbb1c3ax56r8dsh0v"; + system = "quux-time"; + asd = "quux-time"; + } + ); + systems = [ "quux-time" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + qwt = ( + build-asdf-system { + pname = "qwt"; + version = "20210531-git"; + asds = [ "qwt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "qwt"; + asd = "qwt"; + } + ); + systems = [ "qwt" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + (getAttr "qtcore" self) + (getAttr "qtgui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rail = ( + build-asdf-system { + pname = "rail"; + version = "20171227-git"; + asds = [ "rail" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rail/2017-12-27/cl-rail-20171227-git.tgz"; + sha256 = "0vxbxyfl5lw7na8iki1cjp0cd31z2bnxcpdv0x25hq0vch1cb5rj"; + system = "rail"; + asd = "rail"; + } + ); + systems = [ "rail" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rail-test = ( + build-asdf-system { + pname = "rail-test"; + version = "20171227-git"; + asds = [ "rail-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rail/2017-12-27/cl-rail-20171227-git.tgz"; + sha256 = "0vxbxyfl5lw7na8iki1cjp0cd31z2bnxcpdv0x25hq0vch1cb5rj"; + system = "rail-test"; + asd = "rail"; + } + ); + systems = [ "rail-test" ]; + lispLibs = [ + (getAttr "fiasco" self) + (getAttr "rail" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random = ( + build-asdf-system { + pname = "random"; + version = "20191007-git"; + asds = [ "random" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; + sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; + system = "random"; + asd = "random"; + } + ); + systems = [ "random" ]; + lispLibs = [ (getAttr "com_dot_google_dot_base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-access-lists = ( + build-asdf-system { + pname = "random-access-lists"; + version = "20120208-git"; + asds = [ "random-access-lists" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-access-lists/2012-02-08/random-access-lists-20120208-git.tgz"; + sha256 = "0wslxxdmmr25hvmcyscph1bjlknm3nzh5g79cif22was1z411m5c"; + system = "random-access-lists"; + asd = "random-access-lists"; + } + ); + systems = [ "random-access-lists" ]; + lispLibs = [ (getAttr "lisp-unit" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-sample = ( + build-asdf-system { + pname = "random-sample"; + version = "20230618-git"; + asds = [ "random-sample" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-sample/2023-06-18/random-sample-20230618-git.tgz"; + sha256 = "13g5wgq6z3gx07qr3q17mgwfn2rsck5p1b9cfswajagl0m8z3f51"; + system = "random-sample"; + asd = "random-sample"; + } + ); + systems = [ "random-sample" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "infix-math" self) + (getAttr "named-readtables" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-sampling = ( + build-asdf-system { + pname = "random-sampling"; + version = "20241012-git"; + asds = [ "random-sampling" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-sampling/2024-10-12/random-sampling-20241012-git.tgz"; + sha256 = "0c5cf7k37fh8h9dhcj9bfk9zx245i806wh7qkvh1g659kvl2gamj"; + system = "random-sampling"; + asd = "random-sampling"; + } + ); + systems = [ "random-sampling" ]; + lispLibs = [ + (getAttr "_3d-math" self) + (getAttr "documentation-utils" self) + (getAttr "random-state" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-state = ( + build-asdf-system { + pname = "random-state"; + version = "20241012-git"; + asds = [ "random-state" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-state/2024-10-12/random-state-20241012-git.tgz"; + sha256 = "1iwcrn2fqvsw651wk60nm6x5hlmlvj04v8xxfxmzhqmx5f081f1g"; + system = "random-state"; + asd = "random-state"; + } + ); + systems = [ "random-state" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-state-test = ( + build-asdf-system { + pname = "random-state-test"; + version = "20241012-git"; + asds = [ "random-state-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-state/2024-10-12/random-state-20241012-git.tgz"; + sha256 = "1iwcrn2fqvsw651wk60nm6x5hlmlvj04v8xxfxmzhqmx5f081f1g"; + system = "random-state-test"; + asd = "random-state-test"; + } + ); + systems = [ "random-state-test" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "random-state" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-state-viewer = ( + build-asdf-system { + pname = "random-state-viewer"; + version = "20241012-git"; + asds = [ "random-state-viewer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-state/2024-10-12/random-state-20241012-git.tgz"; + sha256 = "1iwcrn2fqvsw651wk60nm6x5hlmlvj04v8xxfxmzhqmx5f081f1g"; + system = "random-state-viewer"; + asd = "random-state-viewer"; + } + ); + systems = [ "random-state-viewer" ]; + lispLibs = [ + (getAttr "random-state" self) + (getAttr "trivial-features" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-test = ( + build-asdf-system { + pname = "random-test"; + version = "20191007-git"; + asds = [ "random-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz"; + sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p"; + system = "random-test"; + asd = "random-test"; + } + ); + systems = [ "random-test" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "random" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + random-uuid = ( + build-asdf-system { + pname = "random-uuid"; + version = "20220707-git"; + asds = [ "random-uuid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/random-uuid/2022-07-07/random-uuid-20220707-git.tgz"; + sha256 = "09yfi16gh12qg4pi13gbr5n881q5zvw7acq27a6sbqbkny35a6wj"; + system = "random-uuid"; + asd = "random-uuid"; + } + ); + systems = [ "random-uuid" ]; + lispLibs = [ + (getAttr "mfiano-utils" self) + (getAttr "seedable-rng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rate-monotonic = ( + build-asdf-system { + pname = "rate-monotonic"; + version = "20200325-git"; + asds = [ "rate-monotonic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rate-monotonic/2020-03-25/rate-monotonic-20200325-git.tgz"; + sha256 = "0v9m704zy3834whldx2fbs8x92hp7hlrzdlcxm1rd17wqpv7pvrv"; + system = "rate-monotonic"; + asd = "rate-monotonic"; + } + ); + systems = [ "rate-monotonic" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "timer-wheel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rate-monotonic_dot_examples = ( + build-asdf-system { + pname = "rate-monotonic.examples"; + version = "20200325-git"; + asds = [ "rate-monotonic.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rate-monotonic/2020-03-25/rate-monotonic-20200325-git.tgz"; + sha256 = "0v9m704zy3834whldx2fbs8x92hp7hlrzdlcxm1rd17wqpv7pvrv"; + system = "rate-monotonic.examples"; + asd = "rate-monotonic.examples"; + } + ); + systems = [ "rate-monotonic.examples" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "rate-monotonic" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ratify = ( + build-asdf-system { + pname = "ratify"; + version = "20231021-git"; + asds = [ "ratify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ratify/2023-10-21/ratify-20231021-git.tgz"; + sha256 = "11fsamjjbc77kjhbsh0w9wkwbdq51paa07sxjb2brvcm0ji4hynf"; + system = "ratify"; + asd = "ratify"; + } + ); + systems = [ "ratify" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ratmath = ( + build-asdf-system { + pname = "ratmath"; + version = "20200218-git"; + asds = [ "ratmath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ratmath/2020-02-18/ratmath-20200218-git.tgz"; + sha256 = "1p5rl1bam8qjsgscn7gwk2w55hdjawfgjikka59lwb6ia13v4rj9"; + system = "ratmath"; + asd = "ratmath"; + } + ); + systems = [ "ratmath" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rcl = ( + build-asdf-system { + pname = "rcl"; + version = "20201220-http"; + asds = [ "rcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rcl/2020-12-20/rcl-20201220-http.tgz"; + sha256 = "1s6cvqs0s7fxh63zwc5zj7ryrffmv780rscm7aq3alzb9njwmg14"; + system = "rcl"; + asd = "rcl"; + } + ); + systems = [ "rcl" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "named-readtables" self) + (getAttr "prove-asdf" self) + (getAttr "simple-tasks" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + re = ( + build-asdf-system { + pname = "re"; + version = "20210630-git"; + asds = [ "re" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/re/2021-06-30/re-20210630-git.tgz"; + sha256 = "15q4zvvzkxf1j0wxw0b1kz4d03js9cbgv82ndl8z6riz40kbffdp"; + system = "re"; + asd = "re"; + } + ); + systems = [ "re" ]; + lispLibs = [ (getAttr "parse" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + read-as-string = ( + build-asdf-system { + pname = "read-as-string"; + version = "20220707-git"; + asds = [ "read-as-string" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/read-as-string/2022-07-07/read-as-string-20220707-git.tgz"; + sha256 = "08dnnqmbadsrbsqr4n1x7rf0p46j9al0hw6la0z3jclp604dd0k3"; + system = "read-as-string"; + asd = "read-as-string"; + } + ); + systems = [ "read-as-string" ]; + lispLibs = [ + (getAttr "core-reader" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + read-as-string_dot_test = ( + build-asdf-system { + pname = "read-as-string.test"; + version = "20220707-git"; + asds = [ "read-as-string.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/read-as-string/2022-07-07/read-as-string-20220707-git.tgz"; + sha256 = "08dnnqmbadsrbsqr4n1x7rf0p46j9al0hw6la0z3jclp604dd0k3"; + system = "read-as-string.test"; + asd = "read-as-string.test"; + } + ); + systems = [ "read-as-string.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "read-as-string" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + read-csv = ( + build-asdf-system { + pname = "read-csv"; + version = "20181018-git"; + asds = [ "read-csv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/read-csv/2018-10-18/read-csv-20181018-git.tgz"; + sha256 = "1wr6n8z7jm611xf2jwp3pw03qzq76440cmb75495l5p907lmrbcs"; + system = "read-csv"; + asd = "read-csv"; + } + ); + systems = [ "read-csv" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + read-csv_dot_test = ( + build-asdf-system { + pname = "read-csv.test"; + version = "20181018-git"; + asds = [ "read-csv.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/read-csv/2018-10-18/read-csv-20181018-git.tgz"; + sha256 = "1wr6n8z7jm611xf2jwp3pw03qzq76440cmb75495l5p907lmrbcs"; + system = "read-csv.test"; + asd = "read-csv"; + } + ); + systems = [ "read-csv.test" ]; + lispLibs = [ (getAttr "read-csv" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + read-number = ( + build-asdf-system { + pname = "read-number"; + version = "20230214-git"; + asds = [ "read-number" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/read-number/2023-02-14/read-number-20230214-git.tgz"; + sha256 = "1y2g2vbg9zccm9h8r7dabgb315z7jhr91d81wa2cccibpgccdyac"; + system = "read-number"; + asd = "read-number"; + } + ); + systems = [ "read-number" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reader = ( + build-asdf-system { + pname = "reader"; + version = "v0.10.0"; + asds = [ "reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reader/2020-12-20/reader-v0.10.0.tgz"; + sha256 = "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7"; + system = "reader"; + asd = "reader"; + } + ); + systems = [ "reader" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam" self) + (getAttr "hash-set" self) + (getAttr "iterate" self) + (getAttr "split-sequence" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reader_plus_swank = ( + build-asdf-system { + pname = "reader+swank"; + version = "v0.10.0"; + asds = [ "reader+swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reader/2020-12-20/reader-v0.10.0.tgz"; + sha256 = "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7"; + system = "reader+swank"; + asd = "reader+swank"; + } + ); + systems = [ "reader+swank" ]; + lispLibs = [ + (getAttr "reader" self) + (getAttr "swank" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reader-interception = ( + build-asdf-system { + pname = "reader-interception"; + version = "20150608-git"; + asds = [ "reader-interception" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reader-interception/2015-06-08/reader-interception-20150608-git.tgz"; + sha256 = "1f6xblayqb9q01qclvqx2gllqxm0qk8rmlp38rz433vgjxbq79y0"; + system = "reader-interception"; + asd = "reader-interception"; + } + ); + systems = [ "reader-interception" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reader-interception-test = ( + build-asdf-system { + pname = "reader-interception-test"; + version = "20150608-git"; + asds = [ "reader-interception-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reader-interception/2015-06-08/reader-interception-20150608-git.tgz"; + sha256 = "1f6xblayqb9q01qclvqx2gllqxm0qk8rmlp38rz433vgjxbq79y0"; + system = "reader-interception-test"; + asd = "reader-interception-test"; + } + ); + systems = [ "reader-interception-test" ]; + lispLibs = [ + (getAttr "fare-utils" self) + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "reader-interception" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks = ( + build-asdf-system { + pname = "reblocks"; + version = "20241012-git"; + asds = [ "reblocks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks/2024-10-12/reblocks-20241012-git.tgz"; + sha256 = "0s8npy7bh013qhm6ngvi7ar117ja2m098nr4krnzlcg2ivxdff3i"; + system = "reblocks"; + asd = "reblocks"; + } + ); + systems = [ "reblocks" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-cookie" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-strings" self) + (getAttr "clack" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "f-underscore" self) + (getAttr "find-port" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "lack" self) + (getAttr "lack-middleware-session" self) + (getAttr "lack-request" self) + (getAttr "lack-response" self) + (getAttr "lack-util" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "log4cl-extras" self) + (getAttr "metacopy" self) + (getAttr "metatilities" self) + (getAttr "named-readtables" self) + (getAttr "parenscript" self) + (getAttr "puri" self) + (getAttr "pythonic-string-reader" self) + (getAttr "quri" self) + (getAttr "routes" self) + (getAttr "salza2" self) + (getAttr "serapeum" self) + (getAttr "spinneret" self) + (getAttr "str" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-open-browser" self) + (getAttr "trivial-timeout" self) + (getAttr "uuid" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-auth = ( + build-asdf-system { + pname = "reblocks-auth"; + version = "20241012-git"; + asds = [ "reblocks-auth" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; + sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; + system = "reblocks-auth"; + asd = "reblocks-auth"; + } + ); + systems = [ "reblocks-auth" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "cl-strings" self) + (getAttr "dexador" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "log4cl" self) + (getAttr "mailgun" self) + (getAttr "mito" self) + (getAttr "quri" self) + (getAttr "reblocks" self) + (getAttr "reblocks-lass" self) + (getAttr "reblocks-ui" self) + (getAttr "secret-values" self) + (getAttr "serapeum" self) + (getAttr "uuid" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-auth-ci = ( + build-asdf-system { + pname = "reblocks-auth-ci"; + version = "20241012-git"; + asds = [ "reblocks-auth-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; + sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; + system = "reblocks-auth-ci"; + asd = "reblocks-auth-ci"; + } + ); + systems = [ "reblocks-auth-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-auth-example = ( + build-asdf-system { + pname = "reblocks-auth-example"; + version = "20241012-git"; + asds = [ "reblocks-auth-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; + sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; + system = "reblocks-auth-example"; + asd = "reblocks-auth-example"; + } + ); + systems = [ "reblocks-auth-example" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "_40ants-logging" self) + (getAttr "_40ants-slynk" self) + (getAttr "cl_plus_ssl" self) + (getAttr "clack-handler-hunchentoot" self) + (getAttr "local-time" self) + (getAttr "mito" self) + (getAttr "reblocks" self) + (getAttr "reblocks-auth" self) + (getAttr "reblocks-lass" self) + (getAttr "reblocks-navigation-widget" self) + (getAttr "reblocks-prometheus" self) + (getAttr "reblocks-ui" self) + (getAttr "serapeum" self) + (getAttr "spinneret" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-auth-tests = ( + build-asdf-system { + pname = "reblocks-auth-tests"; + version = "20241012-git"; + asds = [ "reblocks-auth-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-auth/2024-10-12/reblocks-auth-20241012-git.tgz"; + sha256 = "1qydbk61a5xb2a61gj8mal0bmanhzynky1rh6lzwa10r5ybls4dq"; + system = "reblocks-auth-tests"; + asd = "reblocks-auth-tests"; + } + ); + systems = [ "reblocks-auth-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-docs = ( + build-asdf-system { + pname = "reblocks-docs"; + version = "20241012-git"; + asds = [ "reblocks-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks/2024-10-12/reblocks-20241012-git.tgz"; + sha256 = "0s8npy7bh013qhm6ngvi7ar117ja2m098nr4krnzlcg2ivxdff3i"; + system = "reblocks-docs"; + asd = "reblocks-docs"; + } + ); + systems = [ "reblocks-docs" ]; + lispLibs = [ (getAttr "reblocks" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-file-server = ( + build-asdf-system { + pname = "reblocks-file-server"; + version = "20241012-git"; + asds = [ "reblocks-file-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; + sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; + system = "reblocks-file-server"; + asd = "reblocks-file-server"; + } + ); + systems = [ "reblocks-file-server" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "log4cl" self) + (getAttr "reblocks" self) + (getAttr "routes" self) + (getAttr "trivial-mimes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-file-server-ci = ( + build-asdf-system { + pname = "reblocks-file-server-ci"; + version = "20241012-git"; + asds = [ "reblocks-file-server-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; + sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; + system = "reblocks-file-server-ci"; + asd = "reblocks-file-server-ci"; + } + ); + systems = [ "reblocks-file-server-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-file-server-docs = ( + build-asdf-system { + pname = "reblocks-file-server-docs"; + version = "20241012-git"; + asds = [ "reblocks-file-server-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; + sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; + system = "reblocks-file-server-docs"; + asd = "reblocks-file-server-docs"; + } + ); + systems = [ "reblocks-file-server-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-file-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-file-server-tests = ( + build-asdf-system { + pname = "reblocks-file-server-tests"; + version = "20241012-git"; + asds = [ "reblocks-file-server-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-file-server/2024-10-12/reblocks-file-server-20241012-git.tgz"; + sha256 = "1v17v0474k845l0s0bgly3zbgq2rjn5fyh8zmjnisszgkdd3bh13"; + system = "reblocks-file-server-tests"; + asd = "reblocks-file-server-tests"; + } + ); + systems = [ "reblocks-file-server-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-lass = ( + build-asdf-system { + pname = "reblocks-lass"; + version = "20241012-git"; + asds = [ "reblocks-lass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; + sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; + system = "reblocks-lass"; + asd = "reblocks-lass"; + } + ); + systems = [ "reblocks-lass" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "lass" self) + (getAttr "reblocks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-lass-ci = ( + build-asdf-system { + pname = "reblocks-lass-ci"; + version = "20241012-git"; + asds = [ "reblocks-lass-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; + sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; + system = "reblocks-lass-ci"; + asd = "reblocks-lass-ci"; + } + ); + systems = [ "reblocks-lass-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-lass-docs = ( + build-asdf-system { + pname = "reblocks-lass-docs"; + version = "20241012-git"; + asds = [ "reblocks-lass-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; + sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; + system = "reblocks-lass-docs"; + asd = "reblocks-lass-docs"; + } + ); + systems = [ "reblocks-lass-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-lass" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-lass-tests = ( + build-asdf-system { + pname = "reblocks-lass-tests"; + version = "20241012-git"; + asds = [ "reblocks-lass-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-lass/2024-10-12/reblocks-lass-20241012-git.tgz"; + sha256 = "0aic2dnsp4hkc26fpnn0p493psz1fip9rfhbacfwaaqyxdgrh9cl"; + system = "reblocks-lass-tests"; + asd = "reblocks-lass-tests"; + } + ); + systems = [ "reblocks-lass-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-navigation-widget = ( + build-asdf-system { + pname = "reblocks-navigation-widget"; + version = "20241012-git"; + asds = [ "reblocks-navigation-widget" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; + sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; + system = "reblocks-navigation-widget"; + asd = "reblocks-navigation-widget"; + } + ); + systems = [ "reblocks-navigation-widget" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "log4cl" self) + (getAttr "reblocks" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-navigation-widget-ci = ( + build-asdf-system { + pname = "reblocks-navigation-widget-ci"; + version = "20241012-git"; + asds = [ "reblocks-navigation-widget-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; + sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; + system = "reblocks-navigation-widget-ci"; + asd = "reblocks-navigation-widget-ci"; + } + ); + systems = [ "reblocks-navigation-widget-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-navigation-widget-docs = ( + build-asdf-system { + pname = "reblocks-navigation-widget-docs"; + version = "20241012-git"; + asds = [ "reblocks-navigation-widget-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; + sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; + system = "reblocks-navigation-widget-docs"; + asd = "reblocks-navigation-widget-docs"; + } + ); + systems = [ "reblocks-navigation-widget-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-navigation-widget" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-navigation-widget-tests = ( + build-asdf-system { + pname = "reblocks-navigation-widget-tests"; + version = "20241012-git"; + asds = [ "reblocks-navigation-widget-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-navigation-widget/2024-10-12/reblocks-navigation-widget-20241012-git.tgz"; + sha256 = "0gwfzlf8054g3iizbkbbzkxfmr8xlcvgcqycx7crlgzc8qksrqhm"; + system = "reblocks-navigation-widget-tests"; + asd = "reblocks-navigation-widget-tests"; + } + ); + systems = [ "reblocks-navigation-widget-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-parenscript = ( + build-asdf-system { + pname = "reblocks-parenscript"; + version = "20241012-git"; + asds = [ "reblocks-parenscript" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; + sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; + system = "reblocks-parenscript"; + asd = "reblocks-parenscript"; + } + ); + systems = [ "reblocks-parenscript" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "parenscript" self) + (getAttr "reblocks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-parenscript-ci = ( + build-asdf-system { + pname = "reblocks-parenscript-ci"; + version = "20241012-git"; + asds = [ "reblocks-parenscript-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; + sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; + system = "reblocks-parenscript-ci"; + asd = "reblocks-parenscript-ci"; + } + ); + systems = [ "reblocks-parenscript-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-parenscript-docs = ( + build-asdf-system { + pname = "reblocks-parenscript-docs"; + version = "20241012-git"; + asds = [ "reblocks-parenscript-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; + sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; + system = "reblocks-parenscript-docs"; + asd = "reblocks-parenscript-docs"; + } + ); + systems = [ "reblocks-parenscript-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-parenscript-tests = ( + build-asdf-system { + pname = "reblocks-parenscript-tests"; + version = "20241012-git"; + asds = [ "reblocks-parenscript-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-parenscript/2024-10-12/reblocks-parenscript-20241012-git.tgz"; + sha256 = "0c29y7k6kczzcz1fgsk0iyf93qsx4nmw3iir807zicya8dkvvpk6"; + system = "reblocks-parenscript-tests"; + asd = "reblocks-parenscript-tests"; + } + ); + systems = [ "reblocks-parenscript-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-prometheus = ( + build-asdf-system { + pname = "reblocks-prometheus"; + version = "20241012-git"; + asds = [ "reblocks-prometheus" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; + sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; + system = "reblocks-prometheus"; + asd = "reblocks-prometheus"; + } + ); + systems = [ "reblocks-prometheus" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "cffi-grovel" self) + (getAttr "log4cl-extras" self) + (getAttr "prometheus" self) + (getAttr "prometheus-gc" self) + (getAttr "prometheus_dot_collectors_dot_process" self) + (getAttr "prometheus_dot_collectors_dot_sbcl" self) + (getAttr "prometheus_dot_formats_dot_text" self) + (getAttr "reblocks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-prometheus-ci = ( + build-asdf-system { + pname = "reblocks-prometheus-ci"; + version = "20241012-git"; + asds = [ "reblocks-prometheus-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; + sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; + system = "reblocks-prometheus-ci"; + asd = "reblocks-prometheus-ci"; + } + ); + systems = [ "reblocks-prometheus-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-prometheus-docs = ( + build-asdf-system { + pname = "reblocks-prometheus-docs"; + version = "20241012-git"; + asds = [ "reblocks-prometheus-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; + sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; + system = "reblocks-prometheus-docs"; + asd = "reblocks-prometheus-docs"; + } + ); + systems = [ "reblocks-prometheus-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-prometheus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-prometheus-tests = ( + build-asdf-system { + pname = "reblocks-prometheus-tests"; + version = "20241012-git"; + asds = [ "reblocks-prometheus-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-prometheus/2024-10-12/reblocks-prometheus-20241012-git.tgz"; + sha256 = "0bjzwk28csfdvnic2znil6cxk8fmh5p49n971q5pjs0dmwdzmwra"; + system = "reblocks-prometheus-tests"; + asd = "reblocks-prometheus-tests"; + } + ); + systems = [ "reblocks-prometheus-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-tests = ( + build-asdf-system { + pname = "reblocks-tests"; + version = "20241012-git"; + asds = [ "reblocks-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks/2024-10-12/reblocks-20241012-git.tgz"; + sha256 = "0s8npy7bh013qhm6ngvi7ar117ja2m098nr4krnzlcg2ivxdff3i"; + system = "reblocks-tests"; + asd = "reblocks-tests"; + } + ); + systems = [ "reblocks-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-mock" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "hamcrest" self) + (getAttr "lack-request" self) + (getAttr "lack-test" self) + (getAttr "reblocks" self) + (getAttr "rove" self) + (getAttr "serapeum" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-typeahead = ( + build-asdf-system { + pname = "reblocks-typeahead"; + version = "20241012-git"; + asds = [ "reblocks-typeahead" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; + sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; + system = "reblocks-typeahead"; + asd = "reblocks-typeahead"; + } + ); + systems = [ "reblocks-typeahead" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "parenscript" self) + (getAttr "reblocks" self) + (getAttr "reblocks-lass" self) + (getAttr "reblocks-parenscript" self) + (getAttr "reblocks-ui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-typeahead-ci = ( + build-asdf-system { + pname = "reblocks-typeahead-ci"; + version = "20241012-git"; + asds = [ "reblocks-typeahead-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; + sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; + system = "reblocks-typeahead-ci"; + asd = "reblocks-typeahead-ci"; + } + ); + systems = [ "reblocks-typeahead-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-typeahead-docs = ( + build-asdf-system { + pname = "reblocks-typeahead-docs"; + version = "20241012-git"; + asds = [ "reblocks-typeahead-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; + sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; + system = "reblocks-typeahead-docs"; + asd = "reblocks-typeahead-docs"; + } + ); + systems = [ "reblocks-typeahead-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-typeahead" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-typeahead-example = ( + build-asdf-system { + pname = "reblocks-typeahead-example"; + version = "20241012-git"; + asds = [ "reblocks-typeahead-example" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; + sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; + system = "reblocks-typeahead-example"; + asd = "reblocks-typeahead-example"; + } + ); + systems = [ "reblocks-typeahead-example" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "_40ants-logging" self) + (getAttr "_40ants-slynk" self) + (getAttr "alexandria" self) + (getAttr "clack-handler-hunchentoot" self) + (getAttr "mito" self) + (getAttr "reblocks" self) + (getAttr "reblocks-auth" self) + (getAttr "reblocks-lass" self) + (getAttr "reblocks-navigation-widget" self) + (getAttr "reblocks-prometheus" self) + (getAttr "reblocks-typeahead" self) + (getAttr "reblocks-ui" self) + (getAttr "serapeum" self) + (getAttr "spinneret" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-typeahead-tests = ( + build-asdf-system { + pname = "reblocks-typeahead-tests"; + version = "20241012-git"; + asds = [ "reblocks-typeahead-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-typeahead/2024-10-12/reblocks-typeahead-20241012-git.tgz"; + sha256 = "150msgfsagpcpbgfva3hgnw3jhd3rg13g0ham9ns0lhf1lb3777m"; + system = "reblocks-typeahead-tests"; + asd = "reblocks-typeahead-tests"; + } + ); + systems = [ "reblocks-typeahead-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-ui = ( + build-asdf-system { + pname = "reblocks-ui"; + version = "20241012-git"; + asds = [ "reblocks-ui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-ui/2024-10-12/reblocks-ui-20241012-git.tgz"; + sha256 = "1iwq62ba0rsiqw34d681nzg88wzps1f3d1ahl99crrk9xpy1c3y5"; + system = "reblocks-ui"; + asd = "reblocks-ui"; + } + ); + systems = [ "reblocks-ui" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "log4cl" self) + (getAttr "log4cl-extras" self) + (getAttr "parenscript" self) + (getAttr "quri" self) + (getAttr "reblocks" self) + (getAttr "reblocks-parenscript" self) + (getAttr "serapeum" self) + (getAttr "spinneret" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-ui-docs = ( + build-asdf-system { + pname = "reblocks-ui-docs"; + version = "20241012-git"; + asds = [ "reblocks-ui-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-ui/2024-10-12/reblocks-ui-20241012-git.tgz"; + sha256 = "1iwq62ba0rsiqw34d681nzg88wzps1f3d1ahl99crrk9xpy1c3y5"; + system = "reblocks-ui-docs"; + asd = "reblocks-ui-docs"; + } + ); + systems = [ "reblocks-ui-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "reblocks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-ui-examples = ( + build-asdf-system { + pname = "reblocks-ui-examples"; + version = "20241012-git"; + asds = [ "reblocks-ui-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-ui/2024-10-12/reblocks-ui-20241012-git.tgz"; + sha256 = "1iwq62ba0rsiqw34d681nzg88wzps1f3d1ahl99crrk9xpy1c3y5"; + system = "reblocks-ui-examples"; + asd = "reblocks-ui-examples"; + } + ); + systems = [ "reblocks-ui-examples" ]; + lispLibs = [ + (getAttr "reblocks" self) + (getAttr "reblocks-lass" self) + (getAttr "reblocks-ui" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-websocket = ( + build-asdf-system { + pname = "reblocks-websocket"; + version = "20241012-git"; + asds = [ "reblocks-websocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; + sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; + system = "reblocks-websocket"; + asd = "reblocks-websocket"; + } + ); + systems = [ "reblocks-websocket" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "jonathan" self) + (getAttr "log4cl-extras" self) + (getAttr "parenscript" self) + (getAttr "reblocks" self) + (getAttr "reblocks-parenscript" self) + (getAttr "serapeum" self) + (getAttr "websocket-driver" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-websocket-ci = ( + build-asdf-system { + pname = "reblocks-websocket-ci"; + version = "20241012-git"; + asds = [ "reblocks-websocket-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; + sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; + system = "reblocks-websocket-ci"; + asd = "reblocks-websocket-ci"; + } + ); + systems = [ "reblocks-websocket-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-websocket-docs = ( + build-asdf-system { + pname = "reblocks-websocket-docs"; + version = "20241012-git"; + asds = [ "reblocks-websocket-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; + sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; + system = "reblocks-websocket-docs"; + asd = "reblocks-websocket-docs"; + } + ); + systems = [ "reblocks-websocket-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "reblocks-websocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reblocks-websocket-tests = ( + build-asdf-system { + pname = "reblocks-websocket-tests"; + version = "20241012-git"; + asds = [ "reblocks-websocket-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reblocks-websocket/2024-10-12/reblocks-websocket-20241012-git.tgz"; + sha256 = "0zn14if637cfadz93cgyk79hqrjyzddwc483gl10386rj9nvcf6b"; + system = "reblocks-websocket-tests"; + asd = "reblocks-websocket-tests"; + } + ); + systems = [ "reblocks-websocket-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rectangle-packing = ( + build-asdf-system { + pname = "rectangle-packing"; + version = "20130615-git"; + asds = [ "rectangle-packing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rectangle-packing/2013-06-15/rectangle-packing-20130615-git.tgz"; + sha256 = "1m31qbgkrgbp753mr012hpzjfddwmfzvazaadp3s6wd34vmbbv01"; + system = "rectangle-packing"; + asd = "rectangle-packing"; + } + ); + systems = [ "rectangle-packing" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + recur = ( + build-asdf-system { + pname = "recur"; + version = "20230618-git"; + asds = [ "recur" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/recur/2023-06-18/recur-20230618-git.tgz"; + sha256 = "1wlw378h3k4ganw49kk5zrhx3w692yfdb4zaiciwqzviwz52c7gc"; + system = "recur"; + asd = "recur"; + } + ); + systems = [ "recur" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + recursive-regex = ( + build-asdf-system { + pname = "recursive-regex"; + version = "20120407-git"; + asds = [ "recursive-regex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/recursive-regex/2012-04-07/recursive-regex-20120407-git.tgz"; + sha256 = "1alsfqfa85dwms7i3xrbp6ahlqk9a3sl8d4llxy1ydb0rlb09l4r"; + system = "recursive-regex"; + asd = "recursive-regex"; + } + ); + systems = [ "recursive-regex" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + recursive-regex-test = ( + build-asdf-system { + pname = "recursive-regex-test"; + version = "20120407-git"; + asds = [ "recursive-regex-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/recursive-regex/2012-04-07/recursive-regex-20120407-git.tgz"; + sha256 = "1alsfqfa85dwms7i3xrbp6ahlqk9a3sl8d4llxy1ydb0rlb09l4r"; + system = "recursive-regex-test"; + asd = "recursive-regex"; + } + ); + systems = [ "recursive-regex-test" ]; + lispLibs = [ + (getAttr "lisp-unit" self) + (getAttr "recursive-regex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + recursive-restart = ( + build-asdf-system { + pname = "recursive-restart"; + version = "20161031-git"; + asds = [ "recursive-restart" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/recursive-restart/2016-10-31/recursive-restart-20161031-git.tgz"; + sha256 = "0lgw95bnzw99avrb7vcg02fbw3y5mazfgnkim8gsazfjliaj21m7"; + system = "recursive-restart"; + asd = "recursive-restart"; + } + ); + systems = [ "recursive-restart" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + red-black-tree = ( + build-asdf-system { + pname = "red-black-tree"; + version = "20220707-git"; + asds = [ "red-black-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/red-black-tree/2022-07-07/red-black-tree-20220707-git.tgz"; + sha256 = "0dbl6y4l7k30a13d6rfdfby6p27li5b17nvz7xgyajxl9q5zz5kk"; + system = "red-black-tree"; + asd = "red-black-tree"; + } + ); + systems = [ "red-black-tree" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + redirect-stream = ( + build-asdf-system { + pname = "redirect-stream"; + version = "20231021-git"; + asds = [ "redirect-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/redirect-stream/2023-10-21/redirect-stream-20231021-git.tgz"; + sha256 = "1x8m2jk02dmsc2y8kq5h1bkdl51qz3ldg58hdzj6dpyi6ciykj28"; + system = "redirect-stream"; + asd = "redirect-stream"; + } + ); + systems = [ "redirect-stream" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + regex = ( + build-asdf-system { + pname = "regex"; + version = "20120909-git"; + asds = [ "regex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regex/2012-09-09/regex-20120909-git.tgz"; + sha256 = "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"; + system = "regex"; + asd = "regex"; + } + ); + systems = [ "regex" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + remote-js = ( + build-asdf-system { + pname = "remote-js"; + version = "20190710-git"; + asds = [ "remote-js" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/remote-js/2019-07-10/remote-js-20190710-git.tgz"; + sha256 = "1z8apvfng8i7x4dsnz9da4y2l9mr7jykm19lmq3070qra7r3lby6"; + system = "remote-js"; + asd = "remote-js"; + } + ); + systems = [ "remote-js" ]; + lispLibs = [ + (getAttr "cl-markup" self) + (getAttr "find-port" self) + (getAttr "trivial-ws" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + remote-js-test = ( + build-asdf-system { + pname = "remote-js-test"; + version = "20190710-git"; + asds = [ "remote-js-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/remote-js/2019-07-10/remote-js-20190710-git.tgz"; + sha256 = "1z8apvfng8i7x4dsnz9da4y2l9mr7jykm19lmq3070qra7r3lby6"; + system = "remote-js-test"; + asd = "remote-js-test"; + } + ); + systems = [ "remote-js-test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "fiveam" self) + (getAttr "remote-js" self) + (getAttr "trivial-open-browser" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + repl-utilities = ( + build-asdf-system { + pname = "repl-utilities"; + version = "20210228-git"; + asds = [ "repl-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/repl-utilities/2021-02-28/repl-utilities-20210228-git.tgz"; + sha256 = "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"; + system = "repl-utilities"; + asd = "repl-utilities"; + } + ); + systems = [ "repl-utilities" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + replic = ( + build-asdf-system { + pname = "replic"; + version = "20230214-git"; + asds = [ "replic" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/replic/2023-02-14/replic-20230214-git.tgz"; + sha256 = "1jq0ysgpkcsw2fbxjy0v9kqvfnrdwzvrzc1a7fykihds548z3slf"; + system = "replic"; + asd = "replic"; + } + ); + systems = [ "replic" ]; + lispLibs = [ + (getAttr "cl-ansi-text" self) + (getAttr "cl-readline" self) + (getAttr "py-configparser" self) + (getAttr "shlex" self) + (getAttr "str" self) + (getAttr "unix-opts" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + replic-test = ( + build-asdf-system { + pname = "replic-test"; + version = "20230214-git"; + asds = [ "replic-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/replic/2023-02-14/replic-20230214-git.tgz"; + sha256 = "1jq0ysgpkcsw2fbxjy0v9kqvfnrdwzvrzc1a7fykihds548z3slf"; + system = "replic-test"; + asd = "replic-test"; + } + ); + systems = [ "replic-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "replic" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + research = ( + build-asdf-system { + pname = "research"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "research" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "research"; + asd = "research"; + } + ); + systems = [ "research" ]; + lispLibs = [ + (getAttr "_2d-array-test" self) + (getAttr "adjuvant" self) + (getAttr "adjuvant-test" self) + (getAttr "dispatch-test" self) + (getAttr "ndfa-test" self) + (getAttr "rte-regexp-test" self) + (getAttr "rte-test" self) + (getAttr "scrutiny" self) + (getAttr "scrutiny-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + resignal-bind = ( + build-asdf-system { + pname = "resignal-bind"; + version = "20211020-git"; + asds = [ "resignal-bind" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/resignal-bind/2021-10-20/resignal-bind-20211020-git.tgz"; + sha256 = "109b5bf2h3yqax87r16dsbnb0xdd9kqi0zdisy0wja1h622yrxhc"; + system = "resignal-bind"; + asd = "resignal-bind"; + } + ); + systems = [ "resignal-bind" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + resignal-bind_dot_test = ( + build-asdf-system { + pname = "resignal-bind.test"; + version = "20211020-git"; + asds = [ "resignal-bind.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/resignal-bind/2021-10-20/resignal-bind-20211020-git.tgz"; + sha256 = "109b5bf2h3yqax87r16dsbnb0xdd9kqi0zdisy0wja1h622yrxhc"; + system = "resignal-bind.test"; + asd = "resignal-bind.test"; + } + ); + systems = [ "resignal-bind.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "resignal-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restas = ( + build-asdf-system { + pname = "restas"; + version = "20191008-git"; + asds = [ "restas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restas/2019-10-08/restas-20191008-git.tgz"; + sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn"; + system = "restas"; + asd = "restas"; + } + ); + systems = [ "restas" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "data-sift" self) + (getAttr "hunchentoot" self) + (getAttr "routes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restas-directory-publisher = ( + build-asdf-system { + pname = "restas-directory-publisher"; + version = "20130128-git"; + asds = [ "restas-directory-publisher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restas-directory-publisher/2013-01-28/restas-directory-publisher-20130128-git.tgz"; + sha256 = "1ra4bxsg9v507zrqjx78ak3797clagl6n62d3bx0aghrnkal1gmp"; + system = "restas-directory-publisher"; + asd = "restas-directory-publisher"; + } + ); + systems = [ "restas-directory-publisher" ]; + lispLibs = [ + (getAttr "closure-template" self) + (getAttr "local-time" self) + (getAttr "restas" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restas-doc = ( + build-asdf-system { + pname = "restas-doc"; + version = "20191008-git"; + asds = [ "restas-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restas/2019-10-08/restas-20191008-git.tgz"; + sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn"; + system = "restas-doc"; + asd = "restas-doc"; + } + ); + systems = [ "restas-doc" ]; + lispLibs = [ + (getAttr "restas" self) + (getAttr "restas-directory-publisher" self) + (getAttr "sphinx" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restas_dot_file-publisher = ( + build-asdf-system { + pname = "restas.file-publisher"; + version = "20120107-git"; + asds = [ "restas.file-publisher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restas.file-publisher/2012-01-07/restas.file-publisher-20120107-git.tgz"; + sha256 = "12h291as21ziqb1l6p2p4hy429z6zznacp1gn0m2vah7f811q75l"; + system = "restas.file-publisher"; + asd = "restas.file-publisher"; + } + ); + systems = [ "restas.file-publisher" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "restas" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restful = ( + build-asdf-system { + pname = "restful"; + version = "20150608-git"; + asds = [ "restful" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restful/2015-06-08/restful-20150608-git.tgz"; + sha256 = "1imcpd9zm1dbb1675pf3g3d6w9vyxk07g7r33174qdw470j8ml5n"; + system = "restful"; + asd = "restful"; + } + ); + systems = [ "restful" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "hunchentoot" self) + (getAttr "jonathan" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restful-test = ( + build-asdf-system { + pname = "restful-test"; + version = "20150608-git"; + asds = [ "restful-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restful/2015-06-08/restful-20150608-git.tgz"; + sha256 = "1imcpd9zm1dbb1675pf3g3d6w9vyxk07g7r33174qdw470j8ml5n"; + system = "restful-test"; + asd = "restful-test"; + } + ); + systems = [ "restful-test" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "restful" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + restricted-functions = ( + build-asdf-system { + pname = "restricted-functions"; + version = "20190521-git"; + asds = [ "restricted-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/restricted-functions/2019-05-21/restricted-functions-20190521-git.tgz"; + sha256 = "092k7bp6n8kppf2wdqf1kf1h8lrww6k1dcxp05dby779b8c6kfz4"; + system = "restricted-functions"; + asd = "restricted-functions"; + } + ); + systems = [ "restricted-functions" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "simplified-types" self) + (getAttr "trivia" self) + (getAttr "trivial-arguments" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + retrospectiff = ( + build-asdf-system { + pname = "retrospectiff"; + version = "20211209-git"; + asds = [ "retrospectiff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/retrospectiff/2021-12-09/retrospectiff-20211209-git.tgz"; + sha256 = "1vfcbfzhkm2wkxnjg7y6gg93wlib9cqpbdbhyqcm5kc7170ci3vz"; + system = "retrospectiff"; + asd = "retrospectiff"; + } + ); + systems = [ "retrospectiff" ]; + lispLibs = [ + (getAttr "cl-jpeg" self) + (getAttr "com_dot_gigamonkeys_dot_binary-data" self) + (getAttr "deflate" self) + (getAttr "flexi-streams" self) + (getAttr "ieee-floats" self) + (getAttr "opticl-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + reversi = ( + build-asdf-system { + pname = "reversi"; + version = "20201016-git"; + asds = [ "reversi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/reversi/2020-10-16/reversi-20201016-git.tgz"; + sha256 = "1vwjk207hvn5skazmkrcifkv4ia9nm5312rj0fr3w5423dr56swx"; + system = "reversi"; + asd = "reversi"; + } + ); + systems = [ "reversi" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rfc2109 = ( + build-asdf-system { + pname = "rfc2109"; + version = "20151218-darcs"; + asds = [ "rfc2109" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rfc2109/2015-12-18/rfc2109-20151218-darcs.tgz"; + sha256 = "1y767qjv5jxyfqzp0zpw96yz95mb8hhpjj9dn2i6b92r0z2vr42d"; + system = "rfc2109"; + asd = "rfc2109"; + } + ); + systems = [ "rfc2109" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rfc2388 = ( + build-asdf-system { + pname = "rfc2388"; + version = "20180831-git"; + asds = [ "rfc2388" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rfc2388/2018-08-31/rfc2388-20180831-git.tgz"; + sha256 = "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"; + system = "rfc2388"; + asd = "rfc2388"; + } + ); + systems = [ "rfc2388" ]; + lispLibs = [ ]; + meta = { }; + } + ); + rfc2388-binary = ( + build-asdf-system { + pname = "rfc2388-binary"; + version = "20170124-darcs"; + asds = [ "rfc2388-binary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rfc2388-binary/2017-01-24/rfc2388-binary-20170124-darcs.tgz"; + sha256 = "1ddjhd9vqramg93963d4py9a2hqpy1fr1ly517r3bpjx7a5mffwk"; + system = "rfc2388-binary"; + asd = "rfc2388-binary"; + } + ); + systems = [ "rfc2388-binary" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rlc = ( + build-asdf-system { + pname = "rlc"; + version = "20150923-git"; + asds = [ "rlc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rlc/2015-09-23/rlc-20150923-git.tgz"; + sha256 = "1c37as5x45yizs76s7115a0w3fgas80bjb8xzq7yylpmxq44s2rk"; + system = "rlc"; + asd = "rlc"; + } + ); + systems = [ "rlc" ]; + lispLibs = [ (getAttr "kmrcl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + roan = ( + build-asdf-system { + pname = "roan"; + version = "20201220-git"; + asds = [ "roan" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/roan/2020-12-20/roan-20201220-git.tgz"; + sha256 = "032znprz03x4apzssb5vzs55cfdfyvca56bcrwxwm9dgkh3cnh7z"; + system = "roan"; + asd = "roan"; + } + ); + systems = [ "roan" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-encodings" self) + (getAttr "binascii" self) + (getAttr "cl-fad" self) + (getAttr "cl-interpol" self) + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "named-readtables" self) + (getAttr "plump" self) + (getAttr "uuid" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + robot = ( + build-asdf-system { + pname = "robot"; + version = "master-fe503896-git"; + asds = [ "robot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "robot"; + asd = "robot"; + } + ); + systems = [ "robot" ]; + lispLibs = [ (getAttr "gwl-graphics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rock = ( + build-asdf-system { + pname = "rock"; + version = "20150608-git"; + asds = [ "rock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz"; + sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8"; + system = "rock"; + asd = "rock"; + } + ); + systems = [ "rock" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "trivial-download" self) + (getAttr "trivial-extract" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rock-test = ( + build-asdf-system { + pname = "rock-test"; + version = "20150608-git"; + asds = [ "rock-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz"; + sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8"; + system = "rock-test"; + asd = "rock-test"; + } + ); + systems = [ "rock-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "rock" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rock-web = ( + build-asdf-system { + pname = "rock-web"; + version = "20150608-git"; + asds = [ "rock-web" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz"; + sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8"; + system = "rock-web"; + asd = "rock-web"; + } + ); + systems = [ "rock-web" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "_3bmd-ext-definition-lists" self) + (getAttr "cl-markup" self) + (getAttr "lass" self) + (getAttr "rock" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + romreader = ( + build-asdf-system { + pname = "romreader"; + version = "20140713-git"; + asds = [ "romreader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/romreader/2014-07-13/romreader-20140713-git.tgz"; + sha256 = "1k3fnh48vy5wdbqif4hmflmxc3xnihyi1222cldcjvxl294yk6xx"; + system = "romreader"; + asd = "romreader"; + } + ); + systems = [ "romreader" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + routes = ( + build-asdf-system { + pname = "routes"; + version = "20170124-git"; + asds = [ "routes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-routes/2017-01-24/cl-routes-20170124-git.tgz"; + sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1"; + system = "routes"; + asd = "routes"; + } + ); + systems = [ "routes" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "puri" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + routes-test = ( + build-asdf-system { + pname = "routes-test"; + version = "20170124-git"; + asds = [ "routes-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-routes/2017-01-24/cl-routes-20170124-git.tgz"; + sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1"; + system = "routes-test"; + asd = "routes"; + } + ); + systems = [ "routes-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "routes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rove = ( + build-asdf-system { + pname = "rove"; + version = "20241012-git"; + asds = [ "rove" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rove/2024-10-12/rove-20241012-git.tgz"; + sha256 = "1cx55d8frlk8rzdwbf1698rsvy34gx0ws2ix257qsh7gxy2mld05"; + system = "rove"; + asd = "rove"; + } + ); + systems = [ "rove" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "dissect" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + rovers-problem-translator = ( + build-asdf-system { + pname = "rovers-problem-translator"; + version = "20241012-git"; + asds = [ "rovers-problem-translator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shop3/2024-10-12/shop3-20241012-git.tgz"; + sha256 = "1sdyyyd82fqmm9lcqmg7k8yy3l3891m2gjwidibzvk95bp4xf9sd"; + system = "rovers-problem-translator"; + asd = "rovers-problem-translator"; + } + ); + systems = [ "rovers-problem-translator" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "shop3" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rpcq = ( + build-asdf-system { + pname = "rpcq"; + version = "v3.10.0"; + asds = [ "rpcq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rpcq/2022-07-07/rpcq-v3.10.0.tgz"; + sha256 = "1bvppxlacvp0pfdbpn7ls1zxd127jacl225ds7lph5s8f8cyvf17"; + system = "rpcq"; + asd = "rpcq"; + } + ); + systems = [ "rpcq" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-messagepack" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-syslog" self) + (getAttr "flexi-streams" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + (getAttr "pzmq" self) + (getAttr "trivial-backtrace" self) + (getAttr "uuid" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rpcq-tests = ( + build-asdf-system { + pname = "rpcq-tests"; + version = "v3.10.0"; + asds = [ "rpcq-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rpcq/2022-07-07/rpcq-v3.10.0.tgz"; + sha256 = "1bvppxlacvp0pfdbpn7ls1zxd127jacl225ds7lph5s8f8cyvf17"; + system = "rpcq-tests"; + asd = "rpcq-tests"; + } + ); + systems = [ "rpcq-tests" ]; + lispLibs = [ + (getAttr "cl-messagepack" self) + (getAttr "cl-syslog" self) + (getAttr "fiasco" self) + (getAttr "rpcq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rpm = ( + build-asdf-system { + pname = "rpm"; + version = "20160421-git"; + asds = [ "rpm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rpm/2016-04-21/rpm-20160421-git.tgz"; + sha256 = "0qn4vw3pvjm0maksl57mwikcmv7calzlblp5s01ixrn3nrgxmd9k"; + system = "rpm"; + asd = "rpm"; + } + ); + systems = [ "rpm" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "fare-utils" self) + (getAttr "inferior-shell" self) + (getAttr "lambda-reader" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors = ( + build-asdf-system { + pname = "rs-colors"; + version = "20220331-git"; + asds = [ "rs-colors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors"; + asd = "rs-colors"; + } + ); + systems = [ "rs-colors" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "read-number" self) + (getAttr "rs-colors-internal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-html = ( + build-asdf-system { + pname = "rs-colors-html"; + version = "20220331-git"; + asds = [ "rs-colors-html" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-html"; + asd = "rs-colors-html"; + } + ); + systems = [ "rs-colors-html" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-internal = ( + build-asdf-system { + pname = "rs-colors-internal"; + version = "20220331-git"; + asds = [ "rs-colors-internal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-internal"; + asd = "rs-colors-internal"; + } + ); + systems = [ "rs-colors-internal" ]; + lispLibs = [ (getAttr "iterate" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-material-io = ( + build-asdf-system { + pname = "rs-colors-material-io"; + version = "20220331-git"; + asds = [ "rs-colors-material-io" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-material-io"; + asd = "rs-colors-material-io"; + } + ); + systems = [ "rs-colors-material-io" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-ral = ( + build-asdf-system { + pname = "rs-colors-ral"; + version = "20220331-git"; + asds = [ "rs-colors-ral" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-ral"; + asd = "rs-colors-ral"; + } + ); + systems = [ "rs-colors-ral" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-ral-design = ( + build-asdf-system { + pname = "rs-colors-ral-design"; + version = "20220331-git"; + asds = [ "rs-colors-ral-design" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-ral-design"; + asd = "rs-colors-ral-design"; + } + ); + systems = [ "rs-colors-ral-design" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-svg = ( + build-asdf-system { + pname = "rs-colors-svg"; + version = "20220331-git"; + asds = [ "rs-colors-svg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-svg"; + asd = "rs-colors-svg"; + } + ); + systems = [ "rs-colors-svg" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-tango = ( + build-asdf-system { + pname = "rs-colors-tango"; + version = "20220331-git"; + asds = [ "rs-colors-tango" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-tango"; + asd = "rs-colors-tango"; + } + ); + systems = [ "rs-colors-tango" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-colors-x11 = ( + build-asdf-system { + pname = "rs-colors-x11"; + version = "20220331-git"; + asds = [ "rs-colors-x11" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-colors/2022-03-31/rs-colors-20220331-git.tgz"; + sha256 = "06akjly9s4pfix39yca8n3dpazbby09wc8cj0fsfvkg61lvacic5"; + system = "rs-colors-x11"; + asd = "rs-colors-x11"; + } + ); + systems = [ "rs-colors-x11" ]; + lispLibs = [ (getAttr "rs-colors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-dlx = ( + build-asdf-system { + pname = "rs-dlx"; + version = "20241012-git"; + asds = [ "rs-dlx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-dlx/2024-10-12/rs-dlx-20241012-git.tgz"; + sha256 = "003ykkh61hg5q9lxjckqp8njhpgg21j9008gcsw60hnxdipmanaf"; + system = "rs-dlx"; + asd = "rs-dlx"; + } + ); + systems = [ "rs-dlx" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rs-json = ( + build-asdf-system { + pname = "rs-json"; + version = "20230618-git"; + asds = [ "rs-json" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rs-json/2023-06-18/rs-json-20230618-git.tgz"; + sha256 = "0y71as0sg5vfijpzdhv6pj6yv064ldn2shx0y4da8kvaqv949dnq"; + system = "rs-json"; + asd = "rs-json"; + } + ); + systems = [ "rs-json" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-unicode" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rss = ( + build-asdf-system { + pname = "rss"; + version = "20201016-git"; + asds = [ "rss" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-rss/2020-10-16/cl-rss-20201016-git.tgz"; + sha256 = "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly"; + system = "rss"; + asd = "rss"; + } + ); + systems = [ "rss" ]; + lispLibs = [ + (getAttr "aserve" self) + (getAttr "kmrcl" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rt = ( + build-asdf-system { + pname = "rt"; + version = "20101006-git"; + asds = [ "rt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rt/2010-10-06/rt-20101006-git.tgz"; + sha256 = "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"; + system = "rt"; + asd = "rt"; + } + ); + systems = [ "rt" ]; + lispLibs = [ ]; + meta = { }; + } + ); + rt-events = ( + build-asdf-system { + pname = "rt-events"; + version = "20160318-git"; + asds = [ "rt-events" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rt-events/2016-03-18/rt-events-20160318-git.tgz"; + sha256 = "17wqhczsi4mq00fp5hfc38b9ijdiaqjh7cvxhy714qqz3f5mxzdw"; + system = "rt-events"; + asd = "rt-events"; + } + ); + systems = [ "rt-events" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rt-events_dot_examples = ( + build-asdf-system { + pname = "rt-events.examples"; + version = "20160318-git"; + asds = [ "rt-events.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rt-events/2016-03-18/rt-events-20160318-git.tgz"; + sha256 = "17wqhczsi4mq00fp5hfc38b9ijdiaqjh7cvxhy714qqz3f5mxzdw"; + system = "rt-events.examples"; + asd = "rt-events.examples"; + } + ); + systems = [ "rt-events.examples" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "rt-events" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rte = ( + build-asdf-system { + pname = "rte"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "rte" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "rte"; + asd = "rte"; + } + ); + systems = [ "rte" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "lisp-types" self) + (getAttr "ndfa" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rte-regexp = ( + build-asdf-system { + pname = "rte-regexp"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "rte-regexp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "rte-regexp"; + asd = "rte-regexp"; + } + ); + systems = [ "rte-regexp" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "rte" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rte-regexp-test = ( + build-asdf-system { + pname = "rte-regexp-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "rte-regexp-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "rte-regexp-test"; + asd = "rte-regexp-test"; + } + ); + systems = [ "rte-regexp-test" ]; + lispLibs = [ + (getAttr "adjuvant" self) + (getAttr "rte" self) + (getAttr "rte-regexp" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rte-test = ( + build-asdf-system { + pname = "rte-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "rte-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "rte-test"; + asd = "rte-test"; + } + ); + systems = [ "rte-test" ]; + lispLibs = [ + (getAttr "_2d-array" self) + (getAttr "_2d-array-test" self) + (getAttr "adjuvant" self) + (getAttr "lisp-types-test" self) + (getAttr "ndfa-test" self) + (getAttr "rte" self) + (getAttr "rte-regexp-test" self) + (getAttr "scrutiny" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rtg-math = ( + build-asdf-system { + pname = "rtg-math"; + version = "release-quicklisp-29fc5b3d-git"; + asds = [ "rtg-math" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rtg-math/2019-10-07/rtg-math-release-quicklisp-29fc5b3d-git.tgz"; + sha256 = "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"; + system = "rtg-math"; + asd = "rtg-math"; + } + ); + systems = [ "rtg-math" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "documentation-utils" self) + (getAttr "glsl-symbols" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rtg-math_dot_vari = ( + build-asdf-system { + pname = "rtg-math.vari"; + version = "release-quicklisp-29fc5b3d-git"; + asds = [ "rtg-math.vari" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rtg-math/2019-10-07/rtg-math-release-quicklisp-29fc5b3d-git.tgz"; + sha256 = "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"; + system = "rtg-math.vari"; + asd = "rtg-math.vari"; + } + ); + systems = [ "rtg-math.vari" ]; + lispLibs = [ + (getAttr "glsl-symbols" self) + (getAttr "rtg-math" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rucksack = ( + build-asdf-system { + pname = "rucksack"; + version = "20150608-git"; + asds = [ "rucksack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rucksack/2015-06-08/rucksack-20150608-git.tgz"; + sha256 = "0d6lvhc18i0brh75vp3n974ssx52b42rvwd24llhnphlnhryxh86"; + system = "rucksack"; + asd = "rucksack"; + } + ); + systems = [ "rucksack" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rucksack-test = ( + build-asdf-system { + pname = "rucksack-test"; + version = "20150608-git"; + asds = [ "rucksack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rucksack/2015-06-08/rucksack-20150608-git.tgz"; + sha256 = "0d6lvhc18i0brh75vp3n974ssx52b42rvwd24llhnphlnhryxh86"; + system = "rucksack-test"; + asd = "rucksack-test"; + } + ); + systems = [ "rucksack-test" ]; + lispLibs = [ (getAttr "rucksack" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rutils = ( + build-asdf-system { + pname = "rutils"; + version = "20221106-git"; + asds = [ "rutils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rutils/2022-11-06/rutils-20221106-git.tgz"; + sha256 = "108l64k7qhbhmgp0wa4krm23wakyfc41wzyl2fgc9k59gf47axhq"; + system = "rutils"; + asd = "rutils"; + } + ); + systems = [ "rutils" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rutils-test = ( + build-asdf-system { + pname = "rutils-test"; + version = "20221106-git"; + asds = [ "rutils-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rutils/2022-11-06/rutils-20221106-git.tgz"; + sha256 = "108l64k7qhbhmgp0wa4krm23wakyfc41wzyl2fgc9k59gf47axhq"; + system = "rutils-test"; + asd = "rutils-test"; + } + ); + systems = [ "rutils-test" ]; + lispLibs = [ + (getAttr "rutils" self) + (getAttr "should-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + rutilsx = ( + build-asdf-system { + pname = "rutilsx"; + version = "20221106-git"; + asds = [ "rutilsx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/rutils/2022-11-06/rutils-20221106-git.tgz"; + sha256 = "108l64k7qhbhmgp0wa4krm23wakyfc41wzyl2fgc9k59gf47axhq"; + system = "rutilsx"; + asd = "rutilsx"; + } + ); + systems = [ "rutilsx" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "named-readtables" self) + (getAttr "rutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ryeboy = ( + build-asdf-system { + pname = "ryeboy"; + version = "20201016-git"; + asds = [ "ryeboy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ryeboy/2020-10-16/ryeboy-20201016-git.tgz"; + sha256 = "0div6m6861damksxdxcycpdyyjn50bjsxfdkksm34w6162zdjcla"; + system = "ryeboy"; + asd = "ryeboy"; + } + ); + systems = [ "ryeboy" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "com_dot_google_dot_base" self) + (getAttr "protobuf" self) + (getAttr "prove-asdf" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-base64 = ( + build-asdf-system { + pname = "s-base64"; + version = "20130128-git"; + asds = [ "s-base64" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-base64/2013-01-28/s-base64-20130128-git.tgz"; + sha256 = "0zrr8zhnkdy97c5g54605nhjlf7fly79ylr1yf6wwyssia04cagg"; + system = "s-base64"; + asd = "s-base64"; + } + ); + systems = [ "s-base64" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-dot2 = ( + build-asdf-system { + pname = "s-dot2"; + version = "20241012-git"; + asds = [ "s-dot2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-dot2/2024-10-12/s-dot2-20241012-git.tgz"; + sha256 = "0zc833sc7szwyrrcinl84q3b0y9akh7hd5lhq3vxclk4zgb9n4nf"; + system = "s-dot2"; + asd = "s-dot2"; + } + ); + systems = [ "s-dot2" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-graphviz = ( + build-asdf-system { + pname = "s-graphviz"; + version = "20201220-git"; + asds = [ "s-graphviz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-graphviz/2020-12-20/s-graphviz-20201220-git.tgz"; + sha256 = "1841xwci6y1gfhg15464wrlnw8xgsh1mwbg4yy2y7di02q4fbma2"; + system = "s-graphviz"; + asd = "s-graphviz"; + } + ); + systems = [ "s-graphviz" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "literate-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-http-client = ( + build-asdf-system { + pname = "s-http-client"; + version = "20200427-git"; + asds = [ "s-http-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-http-client/2020-04-27/s-http-client-20200427-git.tgz"; + sha256 = "1fb2901h91rgfxz3cm1lb2dnd84m1fr745nd2kswd1mj2xz94zn8"; + system = "s-http-client"; + asd = "s-http-client"; + } + ); + systems = [ "s-http-client" ]; + lispLibs = [ + (getAttr "chipz" self) + (getAttr "puri" self) + (getAttr "s-base64" self) + (getAttr "s-sysdeps" self) + (getAttr "s-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-http-server = ( + build-asdf-system { + pname = "s-http-server"; + version = "20200427-git"; + asds = [ "s-http-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-http-server/2020-04-27/s-http-server-20200427-git.tgz"; + sha256 = "025mvnqhxx2c092aam3s4fk9v0p65hzdw39y4lamm0bdralda4bk"; + system = "s-http-server"; + asd = "s-http-server"; + } + ); + systems = [ "s-http-server" ]; + lispLibs = [ + (getAttr "puri" self) + (getAttr "s-base64" self) + (getAttr "s-sysdeps" self) + (getAttr "s-utils" self) + (getAttr "salza2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-sql = ( + build-asdf-system { + pname = "s-sql"; + version = "20241012-git"; + asds = [ "s-sql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; + sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; + system = "s-sql"; + asd = "s-sql"; + } + ); + systems = [ "s-sql" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-postgres" self) + ]; + meta = { }; + } + ); + s-sysdeps = ( + build-asdf-system { + pname = "s-sysdeps"; + version = "20210228-git"; + asds = [ "s-sysdeps" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-sysdeps/2021-02-28/s-sysdeps-20210228-git.tgz"; + sha256 = "0rp81iq0rgl48qdwbmfy89glga81hmry2lp8adjbr5h5ybr92b4n"; + system = "s-sysdeps"; + asd = "s-sysdeps"; + } + ); + systems = [ "s-sysdeps" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "usocket" self) + (getAttr "usocket-server" self) + ]; + meta = { }; + } + ); + s-utils = ( + build-asdf-system { + pname = "s-utils"; + version = "20200427-git"; + asds = [ "s-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-utils/2020-04-27/s-utils-20200427-git.tgz"; + sha256 = "0xggbcvjmj4sdqcs6vaccryqp2piaqxkc0ygkczrd5m14bwrmlp6"; + system = "s-utils"; + asd = "s-utils"; + } + ); + systems = [ "s-utils" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-xml = ( + build-asdf-system { + pname = "s-xml"; + version = "20150608-git"; + asds = [ "s-xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz"; + sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1"; + system = "s-xml"; + asd = "s-xml"; + } + ); + systems = [ "s-xml" ]; + lispLibs = [ ]; + meta = { }; + } + ); + s-xml-rpc = ( + build-asdf-system { + pname = "s-xml-rpc"; + version = "20190521-git"; + asds = [ "s-xml-rpc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-xml-rpc/2019-05-21/s-xml-rpc-20190521-git.tgz"; + sha256 = "0z42awkz124xphkahw0mhg1pk029l2799rhyy51387ndd6gbqscx"; + system = "s-xml-rpc"; + asd = "s-xml-rpc"; + } + ); + systems = [ "s-xml-rpc" ]; + lispLibs = [ (getAttr "s-xml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-xml_dot_examples = ( + build-asdf-system { + pname = "s-xml.examples"; + version = "20150608-git"; + asds = [ "s-xml.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz"; + sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1"; + system = "s-xml.examples"; + asd = "s-xml"; + } + ); + systems = [ "s-xml.examples" ]; + lispLibs = [ (getAttr "s-xml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + s-xml_dot_test = ( + build-asdf-system { + pname = "s-xml.test"; + version = "20150608-git"; + asds = [ "s-xml.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz"; + sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1"; + system = "s-xml.test"; + asd = "s-xml"; + } + ); + systems = [ "s-xml.test" ]; + lispLibs = [ (getAttr "s-xml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + safe-queue = ( + build-asdf-system { + pname = "safe-queue"; + version = "20200325-git"; + asds = [ "safe-queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/safe-queue/2020-03-25/safe-queue-20200325-git.tgz"; + sha256 = "1agvp8y2k5c6w35kly6d9a7hi1y6csn4k0hqqdv7i87lgjdi7vrq"; + system = "safe-queue"; + asd = "safe-queue"; + } + ); + systems = [ "safe-queue" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + safe-read = ( + build-asdf-system { + pname = "safe-read"; + version = "20220220-git"; + asds = [ "safe-read" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/safe-read/2022-02-20/safe-read-20220220-git.tgz"; + sha256 = "1r9k8danfnqgpbn2vb90n6wdc6jd92h1ig565yplrbh6232lhi26"; + system = "safe-read"; + asd = "safe-read"; + } + ); + systems = [ "safe-read" ]; + lispLibs = [ + (getAttr "local-time" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + safety-params = ( + build-asdf-system { + pname = "safety-params"; + version = "20190202-git"; + asds = [ "safety-params" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/safety-params/2019-02-02/safety-params-20190202-git.tgz"; + sha256 = "1y69b9aw3vsnsk0vdjyxw011j0lgc5gdwv6ay6vzfipa9gzi92ki"; + system = "safety-params"; + asd = "safety-params"; + } + ); + systems = [ "safety-params" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + salza2 = ( + build-asdf-system { + pname = "salza2"; + version = "2.1"; + asds = [ "salza2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/salza2/2021-10-20/salza2-2.1.tgz"; + sha256 = "1p48lxdibnps5rpyh5cmnk0vc77bmmxb32qdzfz93zadr8wwas10"; + system = "salza2"; + asd = "salza2"; + } + ); + systems = [ "salza2" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { }; + } + ); + sandalphon_dot_lambda-list = ( + build-asdf-system { + pname = "sandalphon.lambda-list"; + version = "20241012-git"; + asds = [ "sandalphon.lambda-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sandalphon.lambda-list/2024-10-12/sandalphon.lambda-list-20241012-git.tgz"; + sha256 = "1j4xfcb1n71kh95v0y495snkna5avdp0inbiaia7r5fsxlcf4s45"; + system = "sandalphon.lambda-list"; + asd = "sandalphon.lambda-list"; + } + ); + systems = [ "sandalphon.lambda-list" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sanitize = ( + build-asdf-system { + pname = "sanitize"; + version = "20130720-git"; + asds = [ "sanitize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sanitize/2013-07-20/cl-sanitize-20130720-git.tgz"; + sha256 = "101qqgi53scz3aaca57yg5wk9ana2axpwssmgrcb5c2ip5a2lwi3"; + system = "sanitize"; + asd = "sanitize"; + } + ); + systems = [ "sanitize" ]; + lispLibs = [ (getAttr "cl-libxml2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sanitize-test = ( + build-asdf-system { + pname = "sanitize-test"; + version = "20130720-git"; + asds = [ "sanitize-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sanitize/2013-07-20/cl-sanitize-20130720-git.tgz"; + sha256 = "101qqgi53scz3aaca57yg5wk9ana2axpwssmgrcb5c2ip5a2lwi3"; + system = "sanitize-test"; + asd = "sanitize"; + } + ); + systems = [ "sanitize-test" ]; + lispLibs = [ + (getAttr "eos" self) + (getAttr "sanitize" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sanity-clause = ( + build-asdf-system { + pname = "sanity-clause"; + version = "20210807-git"; + asds = [ "sanity-clause" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sanity-clause/2021-08-07/sanity-clause-20210807-git.tgz"; + sha256 = "0dzh00zpaqv48pn0xhbibiy33j8fwd2scsy5i466c9x9mcbhjz4f"; + system = "sanity-clause"; + asd = "sanity-clause"; + } + ); + systems = [ "sanity-clause" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arrows" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + (getAttr "quri" self) + (getAttr "str" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sapaclisp = ( + build-asdf-system { + pname = "sapaclisp"; + version = "1.0a"; + asds = [ "sapaclisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sapaclisp/2012-05-20/sapaclisp-1.0a.tgz"; + sha256 = "1bgqvwvjq8g5wrmp5r1dn1v99hgin9gihwkihz455n9dn90l3pyq"; + system = "sapaclisp"; + asd = "sapaclisp"; + } + ); + systems = [ "sapaclisp" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sb-cga = ( + build-asdf-system { + pname = "sb-cga"; + version = "20210531-git"; + asds = [ "sb-cga" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sb-cga/2021-05-31/sb-cga-20210531-git.tgz"; + sha256 = "1y54qlwfrhch9aghk7nsbdx7x2qsvgsws1g2k631l9dsgdakw4w8"; + system = "sb-cga"; + asd = "sb-cga"; + } + ); + systems = [ "sb-cga" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sb-fastcgi = ( + build-asdf-system { + pname = "sb-fastcgi"; + version = "20241012-git"; + asds = [ "sb-fastcgi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sb-fastcgi/2024-10-12/sb-fastcgi-20241012-git.tgz"; + sha256 = "1jw5bmim4ll3a1bqlw02ksgw58cv1qr5li0gbczj7g9fjfk3r64z"; + system = "sb-fastcgi"; + asd = "sb-fastcgi"; + } + ); + systems = [ "sb-fastcgi" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sb-vector-io = ( + build-asdf-system { + pname = "sb-vector-io"; + version = "20110829-git"; + asds = [ "sb-vector-io" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sb-vector-io/2011-08-29/sb-vector-io-20110829-git.tgz"; + sha256 = "0pwc0nxhv8ba33i8z2f1y7r7ldik4a4xrqrb69dvvasz838k6r22"; + system = "sb-vector-io"; + asd = "sb-vector-io"; + } + ); + systems = [ "sb-vector-io" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sc-extensions = ( + build-asdf-system { + pname = "sc-extensions"; + version = "20241012-git"; + asds = [ "sc-extensions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sc-extensions/2024-10-12/sc-extensions-20241012-git.tgz"; + sha256 = "1va153gr7002j5hshalq13gk6jpij29h613nm47aimj01hjy9p0n"; + system = "sc-extensions"; + asd = "sc-extensions"; + } + ); + systems = [ "sc-extensions" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-collider" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sc-osc = ( + build-asdf-system { + pname = "sc-osc"; + version = "20241012-git"; + asds = [ "sc-osc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-collider/2024-10-12/cl-collider-20241012-git.tgz"; + sha256 = "0h0fyx7glxnzwyam2aflma6003h8fcvcf5nj5f7svarw9brcc2xa"; + system = "sc-osc"; + asd = "sc-osc"; + } + ); + systems = [ "sc-osc" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "ieee-floats" self) + (getAttr "osc" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + schannel = ( + build-asdf-system { + pname = "schannel"; + version = "20211230-git"; + asds = [ "schannel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/schannel/2021-12-30/schannel-20211230-git.tgz"; + sha256 = "1f7dncrjsswrr8wrm7qzxdvrmzg3n2ap607ad74mnfd806rwldnw"; + system = "schannel"; + asd = "schannel"; + } + ); + systems = [ "schannel" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scheduler = ( + build-asdf-system { + pname = "scheduler"; + version = "20230618-git"; + asds = [ "scheduler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scheduler/2023-06-18/scheduler-20230618-git.tgz"; + sha256 = "0559hxypgyg9863mb51wil777prspfsjbslj6psm3wndvl6xiprg"; + system = "scheduler"; + asd = "scheduler"; + } + ); + systems = [ "scheduler" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "local-time" self) + (getAttr "optima" self) + (getAttr "optima_dot_ppcre" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + science-data = ( + build-asdf-system { + pname = "science-data"; + version = "master-df14cb8c-git"; + asds = [ "science-data" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/antik/2024-10-12/antik-master-df14cb8c-git.tgz"; + sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0"; + system = "science-data"; + asd = "science-data"; + } + ); + systems = [ "science-data" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "physical-dimension" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scigraph = ( + build-asdf-system { + pname = "scigraph"; + version = "20241012-git"; + asds = [ "scigraph" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "scigraph"; + asd = "scigraph"; + } + ); + systems = [ "scigraph" ]; + lispLibs = [ (getAttr "mcclim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scrapycl = ( + build-asdf-system { + pname = "scrapycl"; + version = "20241012-git"; + asds = [ "scrapycl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; + sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; + system = "scrapycl"; + asd = "scrapycl"; + } + ); + systems = [ "scrapycl" ]; + lispLibs = [ + (getAttr "_40ants-asdf-system" self) + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "log4cl" self) + (getAttr "log4cl-extras" self) + (getAttr "lquery" self) + (getAttr "plump" self) + (getAttr "quri" self) + (getAttr "serapeum" self) + (getAttr "spinneret" self) + (getAttr "str" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scrapycl-ci = ( + build-asdf-system { + pname = "scrapycl-ci"; + version = "20241012-git"; + asds = [ "scrapycl-ci" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; + sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; + system = "scrapycl-ci"; + asd = "scrapycl-ci"; + } + ); + systems = [ "scrapycl-ci" ]; + lispLibs = [ (getAttr "_40ants-ci" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scrapycl-docs = ( + build-asdf-system { + pname = "scrapycl-docs"; + version = "20241012-git"; + asds = [ "scrapycl-docs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; + sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; + system = "scrapycl-docs"; + asd = "scrapycl-docs"; + } + ); + systems = [ "scrapycl-docs" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "docs-config" self) + (getAttr "named-readtables" self) + (getAttr "pythonic-string-reader" self) + (getAttr "scrapycl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scrapycl-tests = ( + build-asdf-system { + pname = "scrapycl-tests"; + version = "20241012-git"; + asds = [ "scrapycl-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scrapycl/2024-10-12/scrapycl-20241012-git.tgz"; + sha256 = "0qlvsc5qr8vyyrsasp041ydlfx8vgsy191m0nhab487fzmrlbzwp"; + system = "scrapycl-tests"; + asd = "scrapycl-tests"; + } + ); + systems = [ "scrapycl-tests" ]; + lispLibs = [ (getAttr "rove" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scratch-buffer = ( + build-asdf-system { + pname = "scratch-buffer"; + version = "20200427-git"; + asds = [ "scratch-buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "scratch-buffer"; + asd = "scratch-buffer"; + } + ); + systems = [ "scratch-buffer" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + screamer = ( + build-asdf-system { + pname = "screamer"; + version = "20210807-git"; + asds = [ "screamer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/screamer/2021-08-07/screamer-20210807-git.tgz"; + sha256 = "0913wmy0fpf6shvbz40ay9gnjhgyjglf661d1p5ld2glkw1ky8hm"; + system = "screamer"; + asd = "screamer"; + } + ); + systems = [ "screamer" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + screamer-tests = ( + build-asdf-system { + pname = "screamer-tests"; + version = "20210807-git"; + asds = [ "screamer-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/screamer/2021-08-07/screamer-20210807-git.tgz"; + sha256 = "0913wmy0fpf6shvbz40ay9gnjhgyjglf661d1p5ld2glkw1ky8hm"; + system = "screamer-tests"; + asd = "screamer-tests"; + } + ); + systems = [ "screamer-tests" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_stefil" self) + (getAttr "iterate" self) + (getAttr "screamer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scriba = ( + build-asdf-system { + pname = "scriba"; + version = "20220707-git"; + asds = [ "scriba" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scriba/2022-07-07/scriba-20220707-git.tgz"; + sha256 = "1n32bxf3b1cgb7y4015y3vahjgnbw59pi6d08by78pnpa2nx43sa"; + system = "scriba"; + asd = "scriba"; + } + ); + systems = [ "scriba" ]; + lispLibs = [ + (getAttr "common-doc-plump" self) + (getAttr "esrap" self) + (getAttr "plump-sexp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scriba-test = ( + build-asdf-system { + pname = "scriba-test"; + version = "20220707-git"; + asds = [ "scriba-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scriba/2022-07-07/scriba-20220707-git.tgz"; + sha256 = "1n32bxf3b1cgb7y4015y3vahjgnbw59pi6d08by78pnpa2nx43sa"; + system = "scriba-test"; + asd = "scriba-test"; + } + ); + systems = [ "scriba-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "scriba" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scribble = ( + build-asdf-system { + pname = "scribble"; + version = "20231021-git"; + asds = [ "scribble" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scribble/2023-10-21/scribble-20231021-git.tgz"; + sha256 = "1ng56lzfva5231lkjls18mw7gcfc3vzksyh6habk0x5dff92cwvw"; + system = "scribble"; + asd = "scribble"; + } + ); + systems = [ "scribble" ]; + lispLibs = [ + (getAttr "fare-memoization" self) + (getAttr "fare-quasiquote-readtable" self) + (getAttr "fare-utils" self) + (getAttr "meta" self) + (getAttr "ptc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scriptl = ( + build-asdf-system { + pname = "scriptl"; + version = "20180228-git"; + asds = [ "scriptl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz"; + sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4"; + system = "scriptl"; + asd = "scriptl"; + } + ); + systems = [ "scriptl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "defpackage-plus" self) + (getAttr "iolib" self) + (getAttr "osicat" self) + (getAttr "trivial-backtrace" self) + (getAttr "trivial-gray-streams" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scriptl-examples = ( + build-asdf-system { + pname = "scriptl-examples"; + version = "20180228-git"; + asds = [ "scriptl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz"; + sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4"; + system = "scriptl-examples"; + asd = "scriptl-examples"; + } + ); + systems = [ "scriptl-examples" ]; + lispLibs = [ + (getAttr "scriptl" self) + (getAttr "unix-options" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scriptl-util = ( + build-asdf-system { + pname = "scriptl-util"; + version = "20180228-git"; + asds = [ "scriptl-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz"; + sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4"; + system = "scriptl-util"; + asd = "scriptl-util"; + } + ); + systems = [ "scriptl-util" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "scriptl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scrutiny = ( + build-asdf-system { + pname = "scrutiny"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "scrutiny" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "scrutiny"; + asd = "scrutiny"; + } + ); + systems = [ "scrutiny" ]; + lispLibs = [ (getAttr "adjuvant" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + scrutiny-test = ( + build-asdf-system { + pname = "scrutiny-test"; + version = "export-to-quicklisp-502a46e2-git"; + asds = [ "scrutiny-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz"; + sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi"; + system = "scrutiny-test"; + asd = "scrutiny-test"; + } + ); + systems = [ "scrutiny-test" ]; + lispLibs = [ (getAttr "scrutiny" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2 = ( + build-asdf-system { + pname = "sdl2"; + version = "20231021-git"; + asds = [ "sdl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sdl2/2023-10-21/cl-sdl2-20231021-git.tgz"; + sha256 = "189awhgxnqdyvypmw9k39542whb1jcpxx4psy6196qdbrgab8lc7"; + system = "sdl2"; + asd = "sdl2"; + } + ); + systems = [ "sdl2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-autowrap" self) + (getAttr "cl-plus-c" self) + (getAttr "cl-ppcre" self) + (getAttr "trivial-channels" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2-game-controller-db = ( + build-asdf-system { + pname = "sdl2-game-controller-db"; + version = "release-quicklisp-335d2b68-git"; + asds = [ "sdl2-game-controller-db" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sdl2-game-controller-db/2018-02-28/sdl2-game-controller-db-release-quicklisp-335d2b68-git.tgz"; + sha256 = "0yf4ygndmacs0pf3ws5197k51c4fdximvxcmvn56bqmsvil56kcd"; + system = "sdl2-game-controller-db"; + asd = "sdl2-game-controller-db"; + } + ); + systems = [ "sdl2-game-controller-db" ]; + lispLibs = [ (getAttr "sdl2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2-image = ( + build-asdf-system { + pname = "sdl2-image"; + version = "20241012-git"; + asds = [ "sdl2-image" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sdl2-image/2024-10-12/cl-sdl2-image-20241012-git.tgz"; + sha256 = "1jzrz3ppr5nbh0w6cvbbpv5x6gdq71a6v2qanvnjvcjs0zwf97iq"; + system = "sdl2-image"; + asd = "sdl2-image"; + } + ); + systems = [ "sdl2-image" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-autowrap" self) + (getAttr "defpackage-plus" self) + (getAttr "sdl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2-mixer = ( + build-asdf-system { + pname = "sdl2-mixer"; + version = "20241012-git"; + asds = [ "sdl2-mixer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sdl2-mixer/2024-10-12/cl-sdl2-mixer-20241012-git.tgz"; + sha256 = "0d33pmyrcni90qfj0d4hxf97may1bv7i9z4a6rj02dw254n9r9lh"; + system = "sdl2-mixer"; + asd = "sdl2-mixer"; + } + ); + systems = [ "sdl2-mixer" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-autowrap" self) + (getAttr "sdl2" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2-ttf = ( + build-asdf-system { + pname = "sdl2-ttf"; + version = "20241012-git"; + asds = [ "sdl2-ttf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sdl2-ttf/2024-10-12/cl-sdl2-ttf-20241012-git.tgz"; + sha256 = "1asdymsn65a06qr1c8fknakdvpjwxsvl69py6fsz21nirxyha5nc"; + system = "sdl2-ttf"; + asd = "sdl2-ttf"; + } + ); + systems = [ "sdl2-ttf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi-libffi" self) + (getAttr "cl-autowrap" self) + (getAttr "defpackage-plus" self) + (getAttr "sdl2" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2-ttf-examples = ( + build-asdf-system { + pname = "sdl2-ttf-examples"; + version = "20241012-git"; + asds = [ "sdl2-ttf-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sdl2-ttf/2024-10-12/cl-sdl2-ttf-20241012-git.tgz"; + sha256 = "1asdymsn65a06qr1c8fknakdvpjwxsvl69py6fsz21nirxyha5nc"; + system = "sdl2-ttf-examples"; + asd = "sdl2-ttf-examples"; + } + ); + systems = [ "sdl2-ttf-examples" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-opengl" self) + (getAttr "mathkit" self) + (getAttr "sdl2" self) + (getAttr "sdl2-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2kit = ( + build-asdf-system { + pname = "sdl2kit"; + version = "20171130-git"; + asds = [ "sdl2kit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sdl2kit/2017-11-30/sdl2kit-20171130-git.tgz"; + sha256 = "10ymmxqsvdn7ndda9k2qcixj75l7namgqdxc5y2w3v5r1313fy2d"; + system = "sdl2kit"; + asd = "sdl2kit"; + } + ); + systems = [ "sdl2kit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-opengl" self) + (getAttr "defpackage-plus" self) + (getAttr "sdl2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sdl2kit-examples = ( + build-asdf-system { + pname = "sdl2kit-examples"; + version = "20171130-git"; + asds = [ "sdl2kit-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sdl2kit/2017-11-30/sdl2kit-20171130-git.tgz"; + sha256 = "10ymmxqsvdn7ndda9k2qcixj75l7namgqdxc5y2w3v5r1313fy2d"; + system = "sdl2kit-examples"; + asd = "sdl2kit-examples"; + } + ); + systems = [ "sdl2kit-examples" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "defpackage-plus" self) + (getAttr "glkit" self) + (getAttr "mathkit" self) + (getAttr "sdl2kit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sealable-metaobjects = ( + build-asdf-system { + pname = "sealable-metaobjects"; + version = "20200610-git"; + asds = [ "sealable-metaobjects" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sealable-metaobjects/2020-06-10/sealable-metaobjects-20200610-git.tgz"; + sha256 = "0hz1ivlpfhnk1w2cw4q2i000j2dc7maay06ndzziyywg7li6zf2p"; + system = "sealable-metaobjects"; + asd = "sealable-metaobjects"; + } + ); + systems = [ "sealable-metaobjects" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + secp256k1 = ( + build-asdf-system { + pname = "secp256k1"; + version = "20220707-git"; + asds = [ "secp256k1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-secp256k1/2022-07-07/cl-secp256k1-20220707-git.tgz"; + sha256 = "0lg84jkwwp95nnk865yfhg16z0d04wk3dzf5yilkfm2yxnmjnv85"; + system = "secp256k1"; + asd = "secp256k1"; + } + ); + systems = [ "secp256k1" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + secret-values = ( + build-asdf-system { + pname = "secret-values"; + version = "20201220-git"; + asds = [ "secret-values" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/secret-values/2020-12-20/secret-values-20201220-git.tgz"; + sha256 = "07ph49s27gvjzx60yy094bb9ddwiys34r8cx5l837i34nm2fn3nh"; + system = "secret-values"; + asd = "secret-values"; + } + ); + systems = [ "secret-values" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + secure-random = ( + build-asdf-system { + pname = "secure-random"; + version = "20160208-git"; + asds = [ "secure-random" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/secure-random/2016-02-08/secure-random-20160208-git.tgz"; + sha256 = "09cnclnivkc87ja3z12ihcm02vkwp0cflcfa6hpjlbd5m75hvgsd"; + system = "secure-random"; + asd = "secure-random"; + } + ); + systems = [ "secure-random" ]; + lispLibs = [ (getAttr "cl_plus_ssl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + seedable-rng = ( + build-asdf-system { + pname = "seedable-rng"; + version = "20220707-git"; + asds = [ "seedable-rng" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/seedable-rng/2022-07-07/seedable-rng-20220707-git.tgz"; + sha256 = "1pr2flvrj32m055apwn5f2cddki2ws5xldmj2v367iyry3lz2vm1"; + system = "seedable-rng"; + asd = "seedable-rng"; + } + ); + systems = [ "seedable-rng" ]; + lispLibs = [ + (getAttr "cl-pcg" self) + (getAttr "ironclad" self) + (getAttr "mfiano-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + select = ( + build-asdf-system { + pname = "select"; + version = "20241012-git"; + asds = [ "select" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/select/2024-10-12/select-20241012-git.tgz"; + sha256 = "1js02xgfd488lhv90rgxw0cvfbsarlpakydwrg1jr2hh5bhqyifh"; + system = "select"; + asd = "select"; + } + ); + systems = [ "select" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "anaphora" self) + (getAttr "let-plus" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + select-file = ( + build-asdf-system { + pname = "select-file"; + version = "20200427-git"; + asds = [ "select-file" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/select-file/2020-04-27/select-file-20200427-git.tgz"; + sha256 = "1v89k5vvn1a3gdhlwbb4wxggzzr1ic7iqzvrrxgsh90fr129rmzq"; + system = "select-file"; + asd = "select-file"; + } + ); + systems = [ "select-file" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "mcclim" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + selenium = ( + build-asdf-system { + pname = "selenium"; + version = "20160531-git"; + asds = [ "selenium" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-selenium/2016-05-31/cl-selenium-20160531-git.tgz"; + sha256 = "1wx3343gkmyb25vbbpv6g5d1m2c5qxrkq7hsz1v2fcchgdgvwgxl"; + system = "selenium"; + asd = "selenium"; + } + ); + systems = [ "selenium" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "puri" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + semantic-spinneret = ( + build-asdf-system { + pname = "semantic-spinneret"; + version = "20170830-git"; + asds = [ "semantic-spinneret" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/semantic-spinneret/2017-08-30/semantic-spinneret-20170830-git.tgz"; + sha256 = "0ghd4lwwcbcidj70j26hj9vic1nqrj78ksrqlxj29q61bnji05ix"; + system = "semantic-spinneret"; + asd = "semantic-spinneret"; + } + ); + systems = [ "semantic-spinneret" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "spinneret" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + semz_dot_decompress = ( + build-asdf-system { + pname = "semz.decompress"; + version = "20241012-git"; + asds = [ "semz.decompress" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/decompress/2024-10-12/decompress-20241012-git.tgz"; + sha256 = "0nzz6r57v94kyl5r77yawalnjszw93qjiqqargl3vjrmiga37gjp"; + system = "semz.decompress"; + asd = "semz.decompress"; + } + ); + systems = [ "semz.decompress" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sendgrid = ( + build-asdf-system { + pname = "sendgrid"; + version = "20241012-git"; + asds = [ "sendgrid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sendgrid/2024-10-12/cl-sendgrid-20241012-git.tgz"; + sha256 = "02wwi2fwfd21aisf1y6ngypg7dmfvlf3bgxhqhrp1vpw8b34ha4w"; + system = "sendgrid"; + asd = "sendgrid"; + } + ); + systems = [ "sendgrid" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "dexador" self) + (getAttr "jonathan" self) + (getAttr "qbase64" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sento = ( + build-asdf-system { + pname = "sento"; + version = "20241012-git"; + asds = [ "sento" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-gserver/2024-10-12/cl-gserver-20241012-git.tgz"; + sha256 = "1281iir75ccr5ilh2jv9xh1w446492gywvady48xggqyh6idaz9k"; + system = "sento"; + asd = "sento"; + } + ); + systems = [ "sento" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "atomics" self) + (getAttr "binding-arrows" self) + (getAttr "blackbird" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-speedy-queue" self) + (getAttr "local-time-duration" self) + (getAttr "log4cl" self) + (getAttr "str" self) + (getAttr "timer-wheel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sentry-client = ( + build-asdf-system { + pname = "sentry-client"; + version = "20241012-git"; + asds = [ "sentry-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sentry-client/2024-10-12/cl-sentry-client-20241012-git.tgz"; + sha256 = "0i83kgrjznffj6z5ryxnxlk995937askhilsbfa2nixakwal2c5h"; + system = "sentry-client"; + asd = "sentry-client"; + } + ); + systems = [ "sentry-client" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "dexador" self) + (getAttr "local-time" self) + (getAttr "salza2" self) + (getAttr "swank" self) + (getAttr "trivial-backtrace" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sentry-client_dot_async = ( + build-asdf-system { + pname = "sentry-client.async"; + version = "20241012-git"; + asds = [ "sentry-client.async" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sentry-client/2024-10-12/cl-sentry-client-20241012-git.tgz"; + sha256 = "0i83kgrjznffj6z5ryxnxlk995937askhilsbfa2nixakwal2c5h"; + system = "sentry-client.async"; + asd = "sentry-client.async"; + } + ); + systems = [ "sentry-client.async" ]; + lispLibs = [ + (getAttr "sentry-client" self) + (getAttr "simple-tasks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sentry-client_dot_hunchentoot = ( + build-asdf-system { + pname = "sentry-client.hunchentoot"; + version = "20241012-git"; + asds = [ "sentry-client.hunchentoot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sentry-client/2024-10-12/cl-sentry-client-20241012-git.tgz"; + sha256 = "0i83kgrjznffj6z5ryxnxlk995937askhilsbfa2nixakwal2c5h"; + system = "sentry-client.hunchentoot"; + asd = "sentry-client.hunchentoot"; + } + ); + systems = [ "sentry-client.hunchentoot" ]; + lispLibs = [ + (getAttr "hunchentoot" self) + (getAttr "sentry-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sequence-iterators = ( + build-asdf-system { + pname = "sequence-iterators"; + version = "20130813-darcs"; + asds = [ "sequence-iterators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz"; + sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5"; + system = "sequence-iterators"; + asd = "sequence-iterators"; + } + ); + systems = [ "sequence-iterators" ]; + lispLibs = [ (getAttr "parse-declarations-1_dot_0" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sequence-iterators-test = ( + build-asdf-system { + pname = "sequence-iterators-test"; + version = "20130813-darcs"; + asds = [ "sequence-iterators-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz"; + sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5"; + system = "sequence-iterators-test"; + asd = "sequence-iterators"; + } + ); + systems = [ "sequence-iterators-test" ]; + lispLibs = [ (getAttr "sequence-iterators" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + serapeum = ( + build-asdf-system { + pname = "serapeum"; + version = "20241012-git"; + asds = [ "serapeum" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/serapeum/2024-10-12/serapeum-20241012-git.tgz"; + sha256 = "12dc4p3i82p3jhxpp5wd6xiwy2fgdjybgfgj54nv8ya75rl9a64z"; + system = "serapeum"; + asd = "serapeum"; + } + ); + systems = [ "serapeum" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "global-vars" self) + (getAttr "introspect-environment" self) + (getAttr "parse-declarations-1_dot_0" self) + (getAttr "parse-number" self) + (getAttr "split-sequence" self) + (getAttr "string-case" self) + (getAttr "trivia" self) + (getAttr "trivial-cltl2" self) + (getAttr "trivial-file-size" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-macroexpand-all" self) + ]; + meta = { }; + } + ); + serializable-object = ( + build-asdf-system { + pname = "serializable-object"; + version = "20191227-git"; + asds = [ "serializable-object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/serializable-object/2019-12-27/serializable-object-20191227-git.tgz"; + sha256 = "0978ljw998ypryiiqmb1s11ymwg4h5qz9bv7ig1i29wf5s14s2i0"; + system = "serializable-object"; + asd = "serializable-object"; + } + ); + systems = [ "serializable-object" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + serializable-object_dot_test = ( + build-asdf-system { + pname = "serializable-object.test"; + version = "20191227-git"; + asds = [ "serializable-object.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/serializable-object/2019-12-27/serializable-object-20191227-git.tgz"; + sha256 = "0978ljw998ypryiiqmb1s11ymwg4h5qz9bv7ig1i29wf5s14s2i0"; + system = "serializable-object.test"; + asd = "serializable-object.test"; + } + ); + systems = [ "serializable-object.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "serializable-object" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + series = ( + build-asdf-system { + pname = "series"; + version = "20131111-git"; + asds = [ "series" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/series/2013-11-11/series-20131111-git.tgz"; + sha256 = "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"; + system = "series"; + asd = "series"; + } + ); + systems = [ "series" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + series-tests = ( + build-asdf-system { + pname = "series-tests"; + version = "20131111-git"; + asds = [ "series-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/series/2013-11-11/series-20131111-git.tgz"; + sha256 = "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"; + system = "series-tests"; + asd = "series"; + } + ); + systems = [ "series-tests" ]; + lispLibs = [ (getAttr "series" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + session-token = ( + build-asdf-system { + pname = "session-token"; + version = "20141106-git"; + asds = [ "session-token" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/session-token/2014-11-06/session-token-20141106-git.tgz"; + sha256 = "1yb6m8nbh4gaskplrd2bwsnpkq6dl9dkvbjmvhzls6vh4lp6cc2z"; + system = "session-token"; + asd = "session-token"; + } + ); + systems = [ "session-token" ]; + lispLibs = [ (getAttr "cl-isaac" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + setup-cl_plus_ssl = ( + build-asdf-system { + pname = "setup-cl+ssl"; + version = "20230618-git"; + asds = [ "setup-cl+ssl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zacl/2023-06-18/zacl-20230618-git.tgz"; + sha256 = "1s31d47zx8hczim78zrqzg4bvj4bshj31gmrff065q6racx3q1dk"; + system = "setup-cl+ssl"; + asd = "setup-cl+ssl"; + } + ); + systems = [ "setup-cl+ssl" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sexml = ( + build-asdf-system { + pname = "sexml"; + version = "20140713-git"; + asds = [ "sexml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sexml/2014-07-13/sexml-20140713-git.tgz"; + sha256 = "1s7isk9v7qh03sf60zw32kaa1rgvdh24bsc37q173r282m8plbk3"; + system = "sexml"; + asd = "sexml"; + } + ); + systems = [ "sexml" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "contextl" self) + (getAttr "cxml" self) + (getAttr "macroexpand-dammit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sexml-objects = ( + build-asdf-system { + pname = "sexml-objects"; + version = "20140713-git"; + asds = [ "sexml-objects" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sexml/2014-07-13/sexml-20140713-git.tgz"; + sha256 = "1s7isk9v7qh03sf60zw32kaa1rgvdh24bsc37q173r282m8plbk3"; + system = "sexml-objects"; + asd = "sexml-objects"; + } + ); + systems = [ "sexml-objects" ]; + lispLibs = [ (getAttr "sexml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sha1 = ( + build-asdf-system { + pname = "sha1"; + version = "20211020-git"; + asds = [ "sha1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sha1/2021-10-20/sha1-20211020-git.tgz"; + sha256 = "1cfn0j5yfwqkwr2dm73wr9hz8dmws3ngxlbk9886ahxkg544qx4z"; + system = "sha1"; + asd = "sha1"; + } + ); + systems = [ "sha1" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sha3 = ( + build-asdf-system { + pname = "sha3"; + version = "20231021-git"; + asds = [ "sha3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sha3/2023-10-21/sha3-20231021-git.tgz"; + sha256 = "0jl59js4n1gc08j2bcwf0d1gy82lf7g53b639dwh6b0milbqh7gz"; + system = "sha3"; + asd = "sha3"; + } + ); + systems = [ "sha3" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shadchen = ( + build-asdf-system { + pname = "shadchen"; + version = "20131003-git"; + asds = [ "shadchen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shadchen/2013-10-03/shadchen-20131003-git.tgz"; + sha256 = "0731hrpzf9pn1hyvs9wl0w3mnv13mr9ky3jx3dc4baj4nmjyb1k6"; + system = "shadchen"; + asd = "shadchen"; + } + ); + systems = [ "shadchen" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shadow = ( + build-asdf-system { + pname = "shadow"; + version = "20220707-git"; + asds = [ "shadow" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shadow/2022-07-07/shadow-20220707-git.tgz"; + sha256 = "1lw98ir9381kmmranaa111f8jh47adsx0v4hzlw3qkf2xjcfah3l"; + system = "shadow"; + asd = "shadow"; + } + ); + systems = [ "shadow" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-opengl" self) + (getAttr "glsl-packing" self) + (getAttr "mfiano-utils" self) + (getAttr "static-vectors" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shared-preferences = ( + build-asdf-system { + pname = "shared-preferences"; + version = "1.1.1"; + asds = [ "shared-preferences" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shared-preferences/2021-02-28/shared-preferences_1.1.1.tgz"; + sha256 = "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf"; + system = "shared-preferences"; + asd = "shared-preferences"; + } + ); + systems = [ "shared-preferences" ]; + lispLibs = [ + (getAttr "inheriting-readers" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shared-preferences__tests = ( + build-asdf-system { + pname = "shared-preferences_tests"; + version = "1.1.1"; + asds = [ "shared-preferences_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shared-preferences/2021-02-28/shared-preferences_1.1.1.tgz"; + sha256 = "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf"; + system = "shared-preferences_tests"; + asd = "shared-preferences_tests"; + } + ); + systems = [ "shared-preferences_tests" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "shared-preferences" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shasht = ( + build-asdf-system { + pname = "shasht"; + version = "20241012-git"; + asds = [ "shasht" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shasht/2024-10-12/shasht-20241012-git.tgz"; + sha256 = "0i4k6w5r74f2a0i3ffian715v057w63psywk89ih0hl9xxpc4pga"; + system = "shasht"; + asd = "shasht"; + } + ); + systems = [ "shasht" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "trivial-do" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sheeple = ( + build-asdf-system { + pname = "sheeple"; + version = "20210124-git"; + asds = [ "sheeple" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sheeple/2021-01-24/sheeple-20210124-git.tgz"; + sha256 = "13k6xm8a29xxkrwgc5j3bk2wr9skg4bzdnc4krrzgcdmx4gbcca3"; + system = "sheeple"; + asd = "sheeple"; + } + ); + systems = [ "sheeple" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sheeple-tests = ( + build-asdf-system { + pname = "sheeple-tests"; + version = "20210124-git"; + asds = [ "sheeple-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sheeple/2021-01-24/sheeple-20210124-git.tgz"; + sha256 = "13k6xm8a29xxkrwgc5j3bk2wr9skg4bzdnc4krrzgcdmx4gbcca3"; + system = "sheeple-tests"; + asd = "sheeple"; + } + ); + systems = [ "sheeple-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "sheeple" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shellpool = ( + build-asdf-system { + pname = "shellpool"; + version = "20200925-git"; + asds = [ "shellpool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shellpool/2020-09-25/shellpool-20200925-git.tgz"; + sha256 = "1bpv58i2l2a3ayk3jvi2wwd90gjczp0qk24bj82775qp8miw9vz0"; + system = "shellpool"; + asd = "shellpool"; + } + ); + systems = [ "shellpool" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "bt-semaphore" self) + (getAttr "cl-fad" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shelly = ( + build-asdf-system { + pname = "shelly"; + version = "20141106-git"; + asds = [ "shelly" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shelly/2014-11-06/shelly-20141106-git.tgz"; + sha256 = "07whfcd2ygq07lw73bqby74cqbp2bx0rnyx7c0v7s16y9xfqxw7b"; + system = "shelly"; + asd = "shelly"; + } + ); + systems = [ "shelly" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "local-time" self) + (getAttr "split-sequence" self) + (getAttr "trivial-signal" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shelly-test = ( + build-asdf-system { + pname = "shelly-test"; + version = "20141106-git"; + asds = [ "shelly-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shelly/2014-11-06/shelly-20141106-git.tgz"; + sha256 = "07whfcd2ygq07lw73bqby74cqbp2bx0rnyx7c0v7s16y9xfqxw7b"; + system = "shelly-test"; + asd = "shelly-test"; + } + ); + systems = [ "shelly-test" ]; + lispLibs = [ + (getAttr "cl-test-more" self) + (getAttr "shelly" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shlex = ( + build-asdf-system { + pname = "shlex"; + version = "20210411-git"; + asds = [ "shlex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-shlex/2021-04-11/cl-shlex-20210411-git.tgz"; + sha256 = "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"; + system = "shlex"; + asd = "shlex"; + } + ); + systems = [ "shlex" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-unicode" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shop3 = ( + build-asdf-system { + pname = "shop3"; + version = "20241012-git"; + asds = [ "shop3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shop3/2024-10-12/shop3-20241012-git.tgz"; + sha256 = "1sdyyyd82fqmm9lcqmg7k8yy3l3891m2gjwidibzvk95bp4xf9sd"; + system = "shop3"; + asd = "shop3"; + } + ); + systems = [ "shop3" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam-asdf" self) + (getAttr "iterate" self) + (getAttr "random-state" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shop3-thmpr-api = ( + build-asdf-system { + pname = "shop3-thmpr-api"; + version = "20241012-git"; + asds = [ "shop3-thmpr-api" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shop3/2024-10-12/shop3-20241012-git.tgz"; + sha256 = "1sdyyyd82fqmm9lcqmg7k8yy3l3891m2gjwidibzvk95bp4xf9sd"; + system = "shop3-thmpr-api"; + asd = "shop3-thmpr-api"; + } + ); + systems = [ "shop3-thmpr-api" ]; + lispLibs = [ (getAttr "shop3" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + should-test = ( + build-asdf-system { + pname = "should-test"; + version = "20191007-git"; + asds = [ "should-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/should-test/2019-10-07/should-test-20191007-git.tgz"; + sha256 = "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm"; + system = "should-test"; + asd = "should-test"; + } + ); + systems = [ "should-test" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + (getAttr "osicat" self) + (getAttr "rutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + shuffletron = ( + build-asdf-system { + pname = "shuffletron"; + version = "20181018-git"; + asds = [ "shuffletron" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/shuffletron/2018-10-18/shuffletron-20181018-git.tgz"; + sha256 = "10626wp2xdk0wxj0kl49m9gyb2bp6f0vp67563mw6zrzfs7ynpkb"; + system = "shuffletron"; + asd = "shuffletron"; + } + ); + systems = [ "shuffletron" ]; + lispLibs = [ + (getAttr "mixalot" self) + (getAttr "mixalot-flac" self) + (getAttr "mixalot-mp3" self) + (getAttr "mixalot-vorbis" self) + (getAttr "osicat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + si-kanren = ( + build-asdf-system { + pname = "si-kanren"; + version = "20241012-git"; + asds = [ "si-kanren" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/si-kanren/2024-10-12/si-kanren-20241012-git.tgz"; + sha256 = "1m99ryyfjxbjbmswprz8gr9hl3srwz74fwjna35wf8d41ns5ajlj"; + system = "si-kanren"; + asd = "si-kanren"; + } + ); + systems = [ "si-kanren" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + silo = ( + build-asdf-system { + pname = "silo"; + version = "20211020-git"; + asds = [ "silo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz"; + sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r"; + system = "silo"; + asd = "silo"; + } + ); + systems = [ "silo" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-actors = ( + build-asdf-system { + pname = "simple-actors"; + version = "20200925-git"; + asds = [ "simple-actors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-actors/2020-09-25/simple-actors-20200925-git.tgz"; + sha256 = "1q843l1bh0xipp535gwm7713gpp04cycvq0i8yz54b6ym3dzkql4"; + system = "simple-actors"; + asd = "simple-actors"; + } + ); + systems = [ "simple-actors" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-config = ( + build-asdf-system { + pname = "simple-config"; + version = "20230618-git"; + asds = [ "simple-config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-config/2023-06-18/simple-config-20230618-git.tgz"; + sha256 = "1ihw5yr5jwlpixaa011611q6i4j406rvc42bkm0da1arzd76pfhn"; + system = "simple-config"; + asd = "simple-config"; + } + ); + systems = [ "simple-config" ]; + lispLibs = [ (getAttr "str" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-config-test = ( + build-asdf-system { + pname = "simple-config-test"; + version = "20230618-git"; + asds = [ "simple-config-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-config/2023-06-18/simple-config-20230618-git.tgz"; + sha256 = "1ihw5yr5jwlpixaa011611q6i4j406rvc42bkm0da1arzd76pfhn"; + system = "simple-config-test"; + asd = "simple-config-test"; + } + ); + systems = [ "simple-config-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "simple-config" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-currency = ( + build-asdf-system { + pname = "simple-currency"; + version = "20171130-git"; + asds = [ "simple-currency" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-currency/2017-11-30/simple-currency-20171130-git.tgz"; + sha256 = "1qrxaj5v25165vyjp2fmasasjri2cn53y6ckv3rlv04skifvnq2s"; + system = "simple-currency"; + asd = "simple-currency"; + } + ); + systems = [ "simple-currency" ]; + lispLibs = [ + (getAttr "cl-store" self) + (getAttr "dexador" self) + (getAttr "plump" self) + (getAttr "simple-date" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-date = ( + build-asdf-system { + pname = "simple-date"; + version = "20241012-git"; + asds = [ "simple-date" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/postmodern/2024-10-12/postmodern-20241012-git.tgz"; + sha256 = "1hj0dpclzihy1rcnwhiv16abmaa54wygxyib3j2h9q4qs26w7pzb"; + system = "simple-date"; + asd = "simple-date"; + } + ); + systems = [ "simple-date" ]; + lispLibs = [ ]; + meta = { }; + } + ); + simple-date-time = ( + build-asdf-system { + pname = "simple-date-time"; + version = "20160421-git"; + asds = [ "simple-date-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-date-time/2016-04-21/simple-date-time-20160421-git.tgz"; + sha256 = "06iwf13gcdyqhkzfkcsfdl8iqbdl44cx01c3fjsmhl0v1pp8h2m4"; + system = "simple-date-time"; + asd = "simple-date-time"; + } + ); + systems = [ "simple-date-time" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { }; + } + ); + simple-finalizer = ( + build-asdf-system { + pname = "simple-finalizer"; + version = "20101006-git"; + asds = [ "simple-finalizer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-finalizer/2010-10-06/simple-finalizer-20101006-git.tgz"; + sha256 = "1qdm48zjlkbygz9ip006xwpas59fhijrswv1k7pzvhdwl04vkq65"; + system = "simple-finalizer"; + asd = "simple-finalizer"; + } + ); + systems = [ "simple-finalizer" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-flow-dispatcher = ( + build-asdf-system { + pname = "simple-flow-dispatcher"; + version = "stable-git"; + asds = [ "simple-flow-dispatcher" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-flow-dispatcher/2020-10-16/simple-flow-dispatcher-stable-git.tgz"; + sha256 = "11k16svq4mgf0pagrs4drvf57hawffghv9g96b1n071nqyk2ald2"; + system = "simple-flow-dispatcher"; + asd = "simple-flow-dispatcher"; + } + ); + systems = [ "simple-flow-dispatcher" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bodge-queue" self) + (getAttr "cl-muth" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-guess = ( + build-asdf-system { + pname = "simple-guess"; + version = "1.0"; + asds = [ "simple-guess" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-guess/2020-09-25/simple-guess_1.0.tgz"; + sha256 = "11v3wxj3k036r0kazn69vi580qm593ir1yf7j5d737j4rb382682"; + system = "simple-guess"; + asd = "simple-guess"; + } + ); + systems = [ "simple-guess" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-guess__tests = ( + build-asdf-system { + pname = "simple-guess_tests"; + version = "1.0"; + asds = [ "simple-guess_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-guess/2020-09-25/simple-guess_1.0.tgz"; + sha256 = "11v3wxj3k036r0kazn69vi580qm593ir1yf7j5d737j4rb382682"; + system = "simple-guess_tests"; + asd = "simple-guess_tests"; + } + ); + systems = [ "simple-guess_tests" ]; + lispLibs = [ + (getAttr "fakenil" self) + (getAttr "parachute" self) + (getAttr "simple-guess" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-inferiors = ( + build-asdf-system { + pname = "simple-inferiors"; + version = "20231021-git"; + asds = [ "simple-inferiors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-inferiors/2023-10-21/simple-inferiors-20231021-git.tgz"; + sha256 = "1b7y44r2ncpfc5766pw56k07036qjvwqdbycizldfk9rjam2afa6"; + system = "simple-inferiors"; + asd = "simple-inferiors"; + } + ); + systems = [ "simple-inferiors" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "documentation-utils" self) + ]; + meta = { }; + } + ); + simple-neural-network = ( + build-asdf-system { + pname = "simple-neural-network"; + version = "20230214-git"; + asds = [ "simple-neural-network" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-neural-network/2023-02-14/simple-neural-network-20230214-git.tgz"; + sha256 = "14ix2f560bhvccfzi30ghmmg79785nmg8c3lpq5hg99djgigxyfw"; + system = "simple-neural-network"; + asd = "simple-neural-network"; + } + ); + systems = [ "simple-neural-network" ]; + lispLibs = [ + (getAttr "cl-store" self) + (getAttr "lparallel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-parallel-tasks = ( + build-asdf-system { + pname = "simple-parallel-tasks"; + version = "20201220-git"; + asds = [ "simple-parallel-tasks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-parallel-tasks/2020-12-20/simple-parallel-tasks-20201220-git.tgz"; + sha256 = "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"; + system = "simple-parallel-tasks"; + asd = "simple-parallel-tasks"; + } + ); + systems = [ "simple-parallel-tasks" ]; + lispLibs = [ (getAttr "chanl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-parallel-tasks-tests = ( + build-asdf-system { + pname = "simple-parallel-tasks-tests"; + version = "20201220-git"; + asds = [ "simple-parallel-tasks-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-parallel-tasks/2020-12-20/simple-parallel-tasks-20201220-git.tgz"; + sha256 = "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"; + system = "simple-parallel-tasks-tests"; + asd = "simple-parallel-tasks-tests"; + } + ); + systems = [ "simple-parallel-tasks-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "simple-parallel-tasks" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-rgb = ( + build-asdf-system { + pname = "simple-rgb"; + version = "20190521-git"; + asds = [ "simple-rgb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-rgb/2019-05-21/simple-rgb-20190521-git.tgz"; + sha256 = "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"; + system = "simple-rgb"; + asd = "simple-rgb"; + } + ); + systems = [ "simple-rgb" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-routes = ( + build-asdf-system { + pname = "simple-routes"; + version = "20180228-git"; + asds = [ "simple-routes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz"; + sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"; + system = "simple-routes"; + asd = "simple-routes"; + } + ); + systems = [ "simple-routes" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "hunchentoot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-scanf = ( + build-asdf-system { + pname = "simple-scanf"; + version = "20211209-git"; + asds = [ "simple-scanf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz"; + sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9"; + system = "simple-scanf"; + asd = "simple-scanf"; + } + ); + systems = [ "simple-scanf" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "parse-float" self) + (getAttr "proc-parse" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simple-tasks = ( + build-asdf-system { + pname = "simple-tasks"; + version = "20231021-git"; + asds = [ "simple-tasks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-tasks/2023-10-21/simple-tasks-20231021-git.tgz"; + sha256 = "14j0sbi9zv22rrcp3wvjzmrgk6f75zydhs50cbmspr2r0c9s5c6n"; + system = "simple-tasks"; + asd = "simple-tasks"; + } + ); + systems = [ "simple-tasks" ]; + lispLibs = [ + (getAttr "array-utils" self) + (getAttr "bordeaux-threads" self) + (getAttr "dissect" self) + ]; + meta = { }; + } + ); + simpleroutes-demo = ( + build-asdf-system { + pname = "simpleroutes-demo"; + version = "20180228-git"; + asds = [ "simpleroutes-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz"; + sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"; + system = "simpleroutes-demo"; + asd = "simple-routes"; + } + ); + systems = [ "simpleroutes-demo" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "hunchentoot" self) + (getAttr "simple-routes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simpleroutes-test = ( + build-asdf-system { + pname = "simpleroutes-test"; + version = "20180228-git"; + asds = [ "simpleroutes-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz"; + sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"; + system = "simpleroutes-test"; + asd = "simple-routes"; + } + ); + systems = [ "simpleroutes-test" ]; + lispLibs = [ (getAttr "simple-routes" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simplet = ( + build-asdf-system { + pname = "simplet"; + version = "20191227-git"; + asds = [ "simplet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz"; + sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs"; + system = "simplet"; + asd = "simplet"; + } + ); + systems = [ "simplet" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simplet-asdf = ( + build-asdf-system { + pname = "simplet-asdf"; + version = "20191227-git"; + asds = [ "simplet-asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz"; + sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs"; + system = "simplet-asdf"; + asd = "simplet-asdf"; + } + ); + systems = [ "simplet-asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simplified-types = ( + build-asdf-system { + pname = "simplified-types"; + version = "20190813-git"; + asds = [ "simplified-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simplified-types/2019-08-13/simplified-types-20190813-git.tgz"; + sha256 = "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y"; + system = "simplified-types"; + asd = "simplified-types"; + } + ); + systems = [ "simplified-types" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "introspect-environment" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simplified-types-test-suite = ( + build-asdf-system { + pname = "simplified-types-test-suite"; + version = "20190813-git"; + asds = [ "simplified-types-test-suite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simplified-types/2019-08-13/simplified-types-20190813-git.tgz"; + sha256 = "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y"; + system = "simplified-types-test-suite"; + asd = "simplified-types-test-suite"; + } + ); + systems = [ "simplified-types-test-suite" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "simplified-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + simpsamp = ( + build-asdf-system { + pname = "simpsamp"; + version = "0.1"; + asds = [ "simpsamp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/simpsamp/2010-10-06/simpsamp-0.1.tgz"; + sha256 = "0i85andjaz16lh4wwpdvd5kgg7lsfp206g7kniy16gs78xjy5jlc"; + system = "simpsamp"; + asd = "simpsamp"; + } + ); + systems = [ "simpsamp" ]; + lispLibs = [ (getAttr "jpl-util" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + single-threaded-ccl = ( + build-asdf-system { + pname = "single-threaded-ccl"; + version = "20150608-git"; + asds = [ "single-threaded-ccl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/single-threaded-ccl/2015-06-08/single-threaded-ccl-20150608-git.tgz"; + sha256 = "0d8cf8x77b3f7qh2cr3fnkc6i7dm7pwlnldmv9k4q033rmmhnfxb"; + system = "single-threaded-ccl"; + asd = "single-threaded-ccl"; + } + ); + systems = [ "single-threaded-ccl" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + singleton-classes = ( + build-asdf-system { + pname = "singleton-classes"; + version = "20190307-hg"; + asds = [ "singleton-classes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-abstract-classes/2019-03-07/cl-abstract-classes-20190307-hg.tgz"; + sha256 = "0q03j3ksgn56j9xvs3d3hhasplj3hvg488f4cx1z97nlyqxr5w1d"; + system = "singleton-classes"; + asd = "singleton-classes"; + } + ); + systems = [ "singleton-classes" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sip-hash = ( + build-asdf-system { + pname = "sip-hash"; + version = "20200610-git"; + asds = [ "sip-hash" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sip-hash/2020-06-10/sip-hash-20200610-git.tgz"; + sha256 = "0cd6g37lxd5i5fyg9my4jja27ki5agbpr9d635rcwpf32yhc4sh9"; + system = "sip-hash"; + asd = "sip-hash"; + } + ); + systems = [ "sip-hash" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "nibbles" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + skeleton-creator = ( + build-asdf-system { + pname = "skeleton-creator"; + version = "20191227-git"; + asds = [ "skeleton-creator" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/skeleton-creator/2019-12-27/skeleton-creator-20191227-git.tgz"; + sha256 = "1yj8w9lpb2jzyf02zg65ngmjfsakzc7k1kcw90w52gk14hv1lk6s"; + system = "skeleton-creator"; + asd = "skeleton-creator"; + } + ); + systems = [ "skeleton-creator" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "conf" self) + (getAttr "simplet-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sketch = ( + build-asdf-system { + pname = "sketch"; + version = "20241012-git"; + asds = [ "sketch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sketch/2024-10-12/sketch-20241012-git.tgz"; + sha256 = "1bq0ljb2awzkk4shsd0w4v2hc2abmkwfv7nz8d88hglrvar8qbnl"; + system = "sketch"; + asd = "sketch"; + } + ); + systems = [ "sketch" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-plus-c" self) + (getAttr "closer-mop" self) + (getAttr "glkit" self) + (getAttr "glu-tessellate" self) + (getAttr "mathkit" self) + (getAttr "md5" self) + (getAttr "sdl2" self) + (getAttr "sdl2-image" self) + (getAttr "sdl2-ttf" self) + (getAttr "sdl2kit" self) + (getAttr "split-sequence" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + (getAttr "zpng" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sketch-examples = ( + build-asdf-system { + pname = "sketch-examples"; + version = "20241012-git"; + asds = [ "sketch-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sketch/2024-10-12/sketch-20241012-git.tgz"; + sha256 = "1bq0ljb2awzkk4shsd0w4v2hc2abmkwfv7nz8d88hglrvar8qbnl"; + system = "sketch-examples"; + asd = "sketch-examples"; + } + ); + systems = [ "sketch-examples" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "sketch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + skippy = ( + build-asdf-system { + pname = "skippy"; + version = "1.3.12"; + asds = [ "skippy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/skippy/2015-04-07/skippy-1.3.12.tgz"; + sha256 = "1n8925qz19w00qc67z3hc97fpmfhi0r54dd50fzqm24vhyb7qwc2"; + system = "skippy"; + asd = "skippy"; + } + ); + systems = [ "skippy" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + skippy-renderer = ( + build-asdf-system { + pname = "skippy-renderer"; + version = "20221106-git"; + asds = [ "skippy-renderer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/skippy-renderer/2022-11-06/skippy-renderer-20221106-git.tgz"; + sha256 = "0x9zv8zchxn48axl5rwfnywg9kb9m0pz3gwjk7gpg9m574jw8x0c"; + system = "skippy-renderer"; + asd = "skippy-renderer"; + } + ); + systems = [ "skippy-renderer" ]; + lispLibs = [ (getAttr "skippy" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + skitter = ( + build-asdf-system { + pname = "skitter"; + version = "release-quicklisp-620772ae-git"; + asds = [ "skitter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz"; + sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl"; + system = "skitter"; + asd = "skitter"; + } + ); + systems = [ "skitter" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "rtg-math" self) + (getAttr "structy-defclass" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + skitter_dot_glop = ( + build-asdf-system { + pname = "skitter.glop"; + version = "release-quicklisp-620772ae-git"; + asds = [ "skitter.glop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz"; + sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl"; + system = "skitter.glop"; + asd = "skitter.glop"; + } + ); + systems = [ "skitter.glop" ]; + lispLibs = [ + (getAttr "glop" self) + (getAttr "skitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + skitter_dot_sdl2 = ( + build-asdf-system { + pname = "skitter.sdl2"; + version = "release-quicklisp-620772ae-git"; + asds = [ "skitter.sdl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz"; + sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl"; + system = "skitter.sdl2"; + asd = "skitter.sdl2"; + } + ); + systems = [ "skitter.sdl2" ]; + lispLibs = [ + (getAttr "sdl2" self) + (getAttr "skitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slack-client = ( + build-asdf-system { + pname = "slack-client"; + version = "20160825-git"; + asds = [ "slack-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slack-client/2016-08-25/slack-client-20160825-git.tgz"; + sha256 = "1yl2wqhx1h2kw3s5dkkq5c4hk1r7679yzq41j2j2bscbl3xk3jp9"; + system = "slack-client"; + asd = "slack-client"; + } + ); + systems = [ "slack-client" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "blackbird" self) + (getAttr "cl-async" self) + (getAttr "drakma-async" self) + (getAttr "event-glue" self) + (getAttr "jonathan" self) + (getAttr "safe-queue" self) + (getAttr "websocket-driver" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slack-client-test = ( + build-asdf-system { + pname = "slack-client-test"; + version = "20160825-git"; + asds = [ "slack-client-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slack-client/2016-08-25/slack-client-20160825-git.tgz"; + sha256 = "1yl2wqhx1h2kw3s5dkkq5c4hk1r7679yzq41j2j2bscbl3xk3jp9"; + system = "slack-client-test"; + asd = "slack-client-test"; + } + ); + systems = [ "slack-client-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "slack-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slim = ( + build-asdf-system { + pname = "slim"; + version = "20241012-git"; + asds = [ "slim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mcclim/2024-10-12/mcclim-20241012-git.tgz"; + sha256 = "17chywrma5vhq254spmg1idpk1sq8isk1qj0lga9n8aiybqssxv9"; + system = "slim"; + asd = "slim"; + } + ); + systems = [ "slim" ]; + lispLibs = [ (getAttr "mcclim" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slite = ( + build-asdf-system { + pname = "slite"; + version = "20241012-git"; + asds = [ "slite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slite/2024-10-12/slite-20241012-git.tgz"; + sha256 = "1ij1qxp20p7zfxm453v42z27ff3z6lk7hly8knk5fj3awj9nvljd"; + system = "slite"; + asd = "slite"; + } + ); + systems = [ "slite" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slot-extra-options = ( + build-asdf-system { + pname = "slot-extra-options"; + version = "20210411-git"; + asds = [ "slot-extra-options" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slot-extra-options/2021-04-11/slot-extra-options-20210411-git.tgz"; + sha256 = "1b2swhjjs0w1034cy045q8l3ndmci7rjawka39q23vncy6d90497"; + system = "slot-extra-options"; + asd = "slot-extra-options"; + } + ); + systems = [ "slot-extra-options" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slot-extra-options-tests = ( + build-asdf-system { + pname = "slot-extra-options-tests"; + version = "20210411-git"; + asds = [ "slot-extra-options-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slot-extra-options/2021-04-11/slot-extra-options-20210411-git.tgz"; + sha256 = "1b2swhjjs0w1034cy045q8l3ndmci7rjawka39q23vncy6d90497"; + system = "slot-extra-options-tests"; + asd = "slot-extra-options-tests"; + } + ); + systems = [ "slot-extra-options-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "parachute" self) + (getAttr "serapeum" self) + (getAttr "slot-extra-options" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slot-map = ( + build-asdf-system { + pname = "slot-map"; + version = "20220707-git"; + asds = [ "slot-map" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slot-map/2022-07-07/slot-map-20220707-git.tgz"; + sha256 = "1z9qprjqj3pwqf469bxj0fvvjni1ncap6g7w5q9gmv5hnf2a4yjb"; + system = "slot-map"; + asd = "slot-map"; + } + ); + systems = [ "slot-map" ]; + lispLibs = [ + (getAttr "dynamic-array" self) + (getAttr "mfiano-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slynk = ( + build-asdf-system { + pname = "slynk"; + version = "20241012-git"; + asds = [ "slynk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sly/2024-10-12/sly-20241012-git.tgz"; + sha256 = "1mxkcgh7g76mqn148zm2mhsh09whwh89wldlyfhq0d9h96zch451"; + system = "slynk"; + asd = "slynk"; + } + ); + systems = [ "slynk" ]; + lispLibs = [ ]; + meta = { }; + } + ); + slynk-macrostep = ( + build-asdf-system { + pname = "slynk-macrostep"; + version = "20230618-git"; + asds = [ "slynk-macrostep" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sly-macrostep/2023-06-18/sly-macrostep-20230618-git.tgz"; + sha256 = "1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"; + system = "slynk-macrostep"; + asd = "slynk-macrostep"; + } + ); + systems = [ "slynk-macrostep" ]; + lispLibs = [ (getAttr "slynk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + slynk-named-readtables = ( + build-asdf-system { + pname = "slynk-named-readtables"; + version = "20230618-git"; + asds = [ "slynk-named-readtables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sly-named-readtables/2023-06-18/sly-named-readtables-20230618-git.tgz"; + sha256 = "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"; + system = "slynk-named-readtables"; + asd = "slynk-named-readtables"; + } + ); + systems = [ "slynk-named-readtables" ]; + lispLibs = [ (getAttr "slynk" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + smackjack = ( + build-asdf-system { + pname = "smackjack"; + version = "20180228-git"; + asds = [ "smackjack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/smackjack/2018-02-28/smackjack-20180228-git.tgz"; + sha256 = "1n2x7qij2ci70axd2xn295qqgqrvbfbpvv2438lhwd8qa92dhk8b"; + system = "smackjack"; + asd = "smackjack"; + } + ); + systems = [ "smackjack" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-containers" self) + (getAttr "cl-json" self) + (getAttr "hunchentoot" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + smackjack-demo = ( + build-asdf-system { + pname = "smackjack-demo"; + version = "20180228-git"; + asds = [ "smackjack-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/smackjack/2018-02-28/smackjack-20180228-git.tgz"; + sha256 = "1n2x7qij2ci70axd2xn295qqgqrvbfbpvv2438lhwd8qa92dhk8b"; + system = "smackjack-demo"; + asd = "smackjack-demo"; + } + ); + systems = [ "smackjack-demo" ]; + lispLibs = [ + (getAttr "cl-containers" self) + (getAttr "cl-who" self) + (getAttr "local-time" self) + (getAttr "smackjack" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + small-coalton-programs = ( + build-asdf-system { + pname = "small-coalton-programs"; + version = "20241012-git"; + asds = [ "small-coalton-programs" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "small-coalton-programs"; + asd = "small-coalton-programs"; + } + ); + systems = [ "small-coalton-programs" ]; + lispLibs = [ (getAttr "coalton" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + smart-buffer = ( + build-asdf-system { + pname = "smart-buffer"; + version = "20211020-git"; + asds = [ "smart-buffer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz"; + sha256 = "1r9y61a791m7aqgg2ixs86lc63y78w7n6dwipakcpjzscqmprppr"; + system = "smart-buffer"; + asd = "smart-buffer"; + } + ); + systems = [ "smart-buffer" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "xsubseq" self) + ]; + meta = { }; + } + ); + smart-buffer-test = ( + build-asdf-system { + pname = "smart-buffer-test"; + version = "20211020-git"; + asds = [ "smart-buffer-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz"; + sha256 = "1r9y61a791m7aqgg2ixs86lc63y78w7n6dwipakcpjzscqmprppr"; + system = "smart-buffer-test"; + asd = "smart-buffer-test"; + } + ); + systems = [ "smart-buffer-test" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "smart-buffer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + smokebase = ( + build-asdf-system { + pname = "smokebase"; + version = "20210531-git"; + asds = [ "smokebase" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz"; + sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w"; + system = "smokebase"; + asd = "smokebase"; + } + ); + systems = [ "smokebase" ]; + lispLibs = [ + (getAttr "qt_plus_libs" self) + (getAttr "qt-libs" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + smoothers = ( + build-asdf-system { + pname = "smoothers"; + version = "20241012-git"; + asds = [ "smoothers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/smoothers/2024-10-12/smoothers-20241012-git.tgz"; + sha256 = "0byqn3xni83jkbzc0jllpyfsgjaiifsjr55aaf90pbi71as39xfd"; + system = "smoothers"; + asd = "smoothers"; + } + ); + systems = [ "smoothers" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "alexandria_plus" self) + (getAttr "array-operations" self) + (getAttr "lla" self) + (getAttr "num-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + smug = ( + build-asdf-system { + pname = "smug"; + version = "20211230-git"; + asds = [ "smug" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/smug/2021-12-30/smug-20211230-git.tgz"; + sha256 = "13gzkj9skya2ziwclk041v7sif392ydbvhvikhg2raa3qjcxb3rq"; + system = "smug"; + asd = "smug"; + } + ); + systems = [ "smug" ]; + lispLibs = [ (getAttr "asdf-package-system" self) ]; + meta = { }; + } + ); + snakes = ( + build-asdf-system { + pname = "snakes"; + version = "20221106-git"; + asds = [ "snakes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snakes/2022-11-06/snakes-20221106-git.tgz"; + sha256 = "17fqkw256c2iacy5g37sv9h0mbrmb3fg2s9sd83gj9clrg5r4wkl"; + system = "snakes"; + asd = "snakes"; + } + ); + systems = [ "snakes" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-cont" self) + (getAttr "cl-utilities" self) + (getAttr "closer-mop" self) + (getAttr "fiveam" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snappy = ( + build-asdf-system { + pname = "snappy"; + version = "20211209-git"; + asds = [ "snappy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snappy/2021-12-09/snappy-20211209-git.tgz"; + sha256 = "1g0d8icbqmahywqczb8pimr63970dil6mnlxkv3y9ng31dg0npy6"; + system = "snappy"; + asd = "snappy"; + } + ); + systems = [ "snappy" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "nibbles" self) + (getAttr "varint" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark = ( + build-asdf-system { + pname = "snark"; + version = "20160421-git"; + asds = [ "snark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark"; + asd = "snark"; + } + ); + systems = [ "snark" ]; + lispLibs = [ (getAttr "snark-implementation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-agenda = ( + build-asdf-system { + pname = "snark-agenda"; + version = "20160421-git"; + asds = [ "snark-agenda" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-agenda"; + asd = "snark-agenda"; + } + ); + systems = [ "snark-agenda" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-deque" self) + (getAttr "snark-lisp" self) + (getAttr "snark-sparse-array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-auxiliary-packages = ( + build-asdf-system { + pname = "snark-auxiliary-packages"; + version = "20160421-git"; + asds = [ "snark-auxiliary-packages" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-auxiliary-packages"; + asd = "snark-auxiliary-packages"; + } + ); + systems = [ "snark-auxiliary-packages" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-deque = ( + build-asdf-system { + pname = "snark-deque"; + version = "20160421-git"; + asds = [ "snark-deque" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-deque"; + asd = "snark-deque"; + } + ); + systems = [ "snark-deque" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-dpll = ( + build-asdf-system { + pname = "snark-dpll"; + version = "20160421-git"; + asds = [ "snark-dpll" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-dpll"; + asd = "snark-dpll"; + } + ); + systems = [ "snark-dpll" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-examples = ( + build-asdf-system { + pname = "snark-examples"; + version = "20160421-git"; + asds = [ "snark-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-examples"; + asd = "snark-examples"; + } + ); + systems = [ "snark-examples" ]; + lispLibs = [ (getAttr "snark" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-feature = ( + build-asdf-system { + pname = "snark-feature"; + version = "20160421-git"; + asds = [ "snark-feature" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-feature"; + asd = "snark-feature"; + } + ); + systems = [ "snark-feature" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-implementation = ( + build-asdf-system { + pname = "snark-implementation"; + version = "20160421-git"; + asds = [ "snark-implementation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-implementation"; + asd = "snark-implementation"; + } + ); + systems = [ "snark-implementation" ]; + lispLibs = [ + (getAttr "snark-agenda" self) + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-deque" self) + (getAttr "snark-dpll" self) + (getAttr "snark-feature" self) + (getAttr "snark-infix-reader" self) + (getAttr "snark-lisp" self) + (getAttr "snark-numbering" self) + (getAttr "snark-pkg" self) + (getAttr "snark-sparse-array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-infix-reader = ( + build-asdf-system { + pname = "snark-infix-reader"; + version = "20160421-git"; + asds = [ "snark-infix-reader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-infix-reader"; + asd = "snark-infix-reader"; + } + ); + systems = [ "snark-infix-reader" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-lisp = ( + build-asdf-system { + pname = "snark-lisp"; + version = "20160421-git"; + asds = [ "snark-lisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-lisp"; + asd = "snark-lisp"; + } + ); + systems = [ "snark-lisp" ]; + lispLibs = [ (getAttr "snark-auxiliary-packages" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-loads = ( + build-asdf-system { + pname = "snark-loads"; + version = "20160421-git"; + asds = [ "snark-loads" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-loads"; + asd = "snark-loads"; + } + ); + systems = [ "snark-loads" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-numbering = ( + build-asdf-system { + pname = "snark-numbering"; + version = "20160421-git"; + asds = [ "snark-numbering" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-numbering"; + asd = "snark-numbering"; + } + ); + systems = [ "snark-numbering" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-lisp" self) + (getAttr "snark-sparse-array" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-pkg = ( + build-asdf-system { + pname = "snark-pkg"; + version = "20160421-git"; + asds = [ "snark-pkg" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-pkg"; + asd = "snark-pkg"; + } + ); + systems = [ "snark-pkg" ]; + lispLibs = [ (getAttr "snark-dpll" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snark-sparse-array = ( + build-asdf-system { + pname = "snark-sparse-array"; + version = "20160421-git"; + asds = [ "snark-sparse-array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz"; + sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5"; + system = "snark-sparse-array"; + asd = "snark-sparse-array"; + } + ); + systems = [ "snark-sparse-array" ]; + lispLibs = [ + (getAttr "snark-auxiliary-packages" self) + (getAttr "snark-lisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sndfile-blob = ( + build-asdf-system { + pname = "sndfile-blob"; + version = "stable-git"; + asds = [ "sndfile-blob" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sndfile-blob/2020-10-16/sndfile-blob-stable-git.tgz"; + sha256 = "1csbm2cgj76smia59044vx8698w9dy223cmwv8l4i8kb95m1i3l0"; + system = "sndfile-blob"; + asd = "sndfile-blob"; + } + ); + systems = [ "sndfile-blob" ]; + lispLibs = [ + (getAttr "bodge-blobs-support" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snmp = ( + build-asdf-system { + pname = "snmp"; + version = "6.1"; + asds = [ "snmp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; + sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; + system = "snmp"; + asd = "snmp"; + } + ); + systems = [ "snmp" ]; + lispLibs = [ + (getAttr "ieee-floats" self) + (getAttr "ironclad" self) + (getAttr "portable-threads" self) + (getAttr "trivial-gray-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snmp-server = ( + build-asdf-system { + pname = "snmp-server"; + version = "6.1"; + asds = [ "snmp-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; + sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; + system = "snmp-server"; + asd = "snmp-server"; + } + ); + systems = [ "snmp-server" ]; + lispLibs = [ + (getAttr "snmp" self) + (getAttr "usocket-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snmp-test = ( + build-asdf-system { + pname = "snmp-test"; + version = "6.1"; + asds = [ "snmp-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; + sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; + system = "snmp-test"; + asd = "snmp-test"; + } + ); + systems = [ "snmp-test" ]; + lispLibs = [ + (getAttr "snmp" self) + (getAttr "snmp-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snmp-ui = ( + build-asdf-system { + pname = "snmp-ui"; + version = "6.1"; + asds = [ "snmp-ui" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz"; + sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s"; + system = "snmp-ui"; + asd = "snmp-ui"; + } + ); + systems = [ "snmp-ui" ]; + lispLibs = [ (getAttr "snmp" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snooze = ( + build-asdf-system { + pname = "snooze"; + version = "20241012-git"; + asds = [ "snooze" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snooze/2024-10-12/snooze-20241012-git.tgz"; + sha256 = "0gm9vxi7lcir80snka3qkl6sw8z90jaqf31c72bgyk9j8qkf7xvc"; + system = "snooze"; + asd = "snooze"; + } + ); + systems = [ "snooze" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "parse-float" self) + (getAttr "quri" self) + (getAttr "rfc2388" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snooze-demo = ( + build-asdf-system { + pname = "snooze-demo"; + version = "20241012-git"; + asds = [ "snooze-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snooze/2024-10-12/snooze-20241012-git.tgz"; + sha256 = "0gm9vxi7lcir80snka3qkl6sw8z90jaqf31c72bgyk9j8qkf7xvc"; + system = "snooze-demo"; + asd = "snooze"; + } + ); + systems = [ "snooze-demo" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-css" self) + (getAttr "cl-fad" self) + (getAttr "cl-json" self) + (getAttr "cl-who" self) + (getAttr "hunchentoot" self) + (getAttr "local-time" self) + (getAttr "local-time-duration" self) + (getAttr "snooze" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + snooze-tests = ( + build-asdf-system { + pname = "snooze-tests"; + version = "20241012-git"; + asds = [ "snooze-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/snooze/2024-10-12/snooze-20241012-git.tgz"; + sha256 = "0gm9vxi7lcir80snka3qkl6sw8z90jaqf31c72bgyk9j8qkf7xvc"; + system = "snooze-tests"; + asd = "snooze"; + } + ); + systems = [ "snooze-tests" ]; + lispLibs = [ + (getAttr "fiasco" self) + (getAttr "snooze" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + softdrink = ( + build-asdf-system { + pname = "softdrink"; + version = "20231021-git"; + asds = [ "softdrink" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/softdrink/2023-10-21/softdrink-20231021-git.tgz"; + sha256 = "1454mqpwb2s7m1myhibj2mrlm64wng1jgbv94mhs6hpzj2r2mgdi"; + system = "softdrink"; + asd = "softdrink"; + } + ); + systems = [ "softdrink" ]; + lispLibs = [ + (getAttr "lass" self) + (getAttr "lquery" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + software-evolution-library = ( + build-asdf-system { + pname = "software-evolution-library"; + version = "20241012-git"; + asds = [ "software-evolution-library" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sel/2024-10-12/sel-20241012-git.tgz"; + sha256 = "1j1disr1wcql30hdj3f49ss41843wlmqx486nkna6qbnnsfay66w"; + system = "software-evolution-library"; + asd = "software-evolution-library"; + } + ); + systems = [ "software-evolution-library" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "atomics" self) + (getAttr "cffi-grovel" self) + (getAttr "deploy" self) + (getAttr "gt" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + solid-engine = ( + build-asdf-system { + pname = "solid-engine"; + version = "20190521-git"; + asds = [ "solid-engine" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/solid-engine/2019-05-21/solid-engine-20190521-git.tgz"; + sha256 = "1pxrgxfqz8br258jy35qyimsrz544fg9k7lw2jshkj4jr2pswsv0"; + system = "solid-engine"; + asd = "solid-engine"; + } + ); + systems = [ "solid-engine" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + soundex = ( + build-asdf-system { + pname = "soundex"; + version = "1.0"; + asds = [ "soundex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/soundex/2010-10-06/soundex-1.0.tgz"; + sha256 = "00ar2x7ja35337v6gwa4h2b8w7gf7dwx5mdfz91dqay43kx1pjsi"; + system = "soundex"; + asd = "soundex"; + } + ); + systems = [ "soundex" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + source-error = ( + build-asdf-system { + pname = "source-error"; + version = "20241012-git"; + asds = [ "source-error" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "source-error"; + asd = "source-error"; + } + ); + systems = [ "source-error" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + south = ( + build-asdf-system { + pname = "south"; + version = "20231021-git"; + asds = [ "south" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/south/2023-10-21/south-20231021-git.tgz"; + sha256 = "0acvi3nwddwphxm92i8bbv1nbb9zzx7gbcza5cr68rs8wydsr8h3"; + system = "south"; + asd = "south"; + } + ); + systems = [ "south" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "ironclad" self) + (getAttr "uuid" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sparse-set = ( + build-asdf-system { + pname = "sparse-set"; + version = "20220707-git"; + asds = [ "sparse-set" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sparse-set/2022-07-07/sparse-set-20220707-git.tgz"; + sha256 = "0czms03lrvg20hw3sz7wzzkl1z0vm0ndb3dmbvwsjd7m89fag793"; + system = "sparse-set"; + asd = "sparse-set"; + } + ); + systems = [ "sparse-set" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spatial-trees = ( + build-asdf-system { + pname = "spatial-trees"; + version = "20140826-git"; + asds = [ "spatial-trees" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; + sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; + system = "spatial-trees"; + asd = "spatial-trees"; + } + ); + systems = [ "spatial-trees" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spatial-trees_dot_nns = ( + build-asdf-system { + pname = "spatial-trees.nns"; + version = "20140826-git"; + asds = [ "spatial-trees.nns" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; + sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; + system = "spatial-trees.nns"; + asd = "spatial-trees.nns"; + } + ); + systems = [ "spatial-trees.nns" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "optima" self) + (getAttr "spatial-trees" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spatial-trees_dot_nns_dot_test = ( + build-asdf-system { + pname = "spatial-trees.nns.test"; + version = "20140826-git"; + asds = [ "spatial-trees.nns.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; + sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; + system = "spatial-trees.nns.test"; + asd = "spatial-trees.nns.test"; + } + ); + systems = [ "spatial-trees.nns.test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "fiveam" self) + (getAttr "iterate" self) + (getAttr "optima" self) + (getAttr "spatial-trees" self) + (getAttr "spatial-trees_dot_nns" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spatial-trees_dot_test = ( + build-asdf-system { + pname = "spatial-trees.test"; + version = "20140826-git"; + asds = [ "spatial-trees.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz"; + sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"; + system = "spatial-trees.test"; + asd = "spatial-trees.test"; + } + ); + systems = [ "spatial-trees.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "spatial-trees" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + special-functions = ( + build-asdf-system { + pname = "special-functions"; + version = "20221106-git"; + asds = [ "special-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/special-functions/2022-11-06/special-functions-20221106-git.tgz"; + sha256 = "092szffy7zfxgrvfck11wnj8l0mgcym13yiafj01ad02lbj1fnnv"; + system = "special-functions"; + asd = "special-functions"; + } + ); + systems = [ "special-functions" ]; + lispLibs = [ + (getAttr "alexandria_plus" self) + (getAttr "float-features" self) + (getAttr "let-plus" self) + (getAttr "num-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + specialization-store = ( + build-asdf-system { + pname = "specialization-store"; + version = "v0.0.5"; + asds = [ "specialization-store" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz"; + sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c"; + system = "specialization-store"; + asd = "specialization-store"; + } + ); + systems = [ "specialization-store" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "introspect-environment" self) + (getAttr "specialization-store-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + specialization-store-features = ( + build-asdf-system { + pname = "specialization-store-features"; + version = "v0.0.5"; + asds = [ "specialization-store-features" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz"; + sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c"; + system = "specialization-store-features"; + asd = "specialization-store-features"; + } + ); + systems = [ "specialization-store-features" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "introspect-environment" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + specialization-store-tests = ( + build-asdf-system { + pname = "specialization-store-tests"; + version = "v0.0.5"; + asds = [ "specialization-store-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz"; + sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c"; + system = "specialization-store-tests"; + asd = "specialization-store-tests"; + } + ); + systems = [ "specialization-store-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "specialization-store" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + specialized-function = ( + build-asdf-system { + pname = "specialized-function"; + version = "20210531-git"; + asds = [ "specialized-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/specialized-function/2021-05-31/specialized-function-20210531-git.tgz"; + sha256 = "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"; + system = "specialized-function"; + asd = "specialized-function"; + } + ); + systems = [ "specialized-function" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "lisp-namespace" self) + (getAttr "trivia" self) + (getAttr "trivial-cltl2" self) + (getAttr "type-r" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + specialized-function_dot_test = ( + build-asdf-system { + pname = "specialized-function.test"; + version = "20210531-git"; + asds = [ "specialized-function.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/specialized-function/2021-05-31/specialized-function-20210531-git.tgz"; + sha256 = "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"; + system = "specialized-function.test"; + asd = "specialized-function.test"; + } + ); + systems = [ "specialized-function.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "specialized-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + speechless = ( + build-asdf-system { + pname = "speechless"; + version = "20231021-git"; + asds = [ "speechless" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/speechless/2023-10-21/speechless-20231021-git.tgz"; + sha256 = "0x1v3gf0f0xpyxs8392r4xaqz214zmd1j89l61x9bg2h30k8ls37"; + system = "speechless"; + asd = "speechless"; + } + ); + systems = [ "speechless" ]; + lispLibs = [ + (getAttr "cl-markless" self) + (getAttr "documentation-utils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spell = ( + build-asdf-system { + pname = "spell"; + version = "20190307-git"; + asds = [ "spell" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spell/2019-03-07/spell-20190307-git.tgz"; + sha256 = "1ifhx5q0iz80i9zwgcpv3w7xpp92ar9grz25008wnqzaayhfl020"; + system = "spell"; + asd = "spell"; + } + ); + systems = [ "spell" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spellcheck = ( + build-asdf-system { + pname = "spellcheck"; + version = "20131003-git"; + asds = [ "spellcheck" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spellcheck/2013-10-03/spellcheck-20131003-git.tgz"; + sha256 = "0a0r1dgh7y06s7j9mzxrryri8fhajzjsrrsh3i6vv65vq5zzxlka"; + system = "spellcheck"; + asd = "spellcheck"; + } + ); + systems = [ "spellcheck" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sphinx = ( + build-asdf-system { + pname = "sphinx"; + version = "20110619-git"; + asds = [ "sphinx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sphinx/2011-06-19/cl-sphinx-20110619-git.tgz"; + sha256 = "0z1ksxz1gh12ly6lbc77l0d5f380s81vx44qakm2dl1398lgb7x1"; + system = "sphinx"; + asd = "sphinx"; + } + ); + systems = [ "sphinx" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "closure-template" self) + (getAttr "colorize" self) + (getAttr "docutils" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + spinneret = ( + build-asdf-system { + pname = "spinneret"; + version = "20241012-git"; + asds = [ "spinneret" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/spinneret/2024-10-12/spinneret-20241012-git.tgz"; + sha256 = "09ak35p487bwlwbv0vcdg9h869n8m7i3j1qj4f53lh1bm5s1zi5n"; + system = "spinneret"; + asd = "spinneret"; + } + ); + systems = [ "spinneret" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "global-vars" self) + (getAttr "in-nomine" self) + (getAttr "parenscript" self) + (getAttr "serapeum" self) + (getAttr "trivia" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + split-sequence = ( + build-asdf-system { + pname = "split-sequence"; + version = "v2.0.1"; + asds = [ "split-sequence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/split-sequence/2021-05-31/split-sequence-v2.0.1.tgz"; + sha256 = "172k7iv775kwism6304p6z7mqpjvipl57nq1bgvmbk445943fmhq"; + system = "split-sequence"; + asd = "split-sequence"; + } + ); + systems = [ "split-sequence" ]; + lispLibs = [ ]; + meta = { }; + } + ); + sqlite = ( + build-asdf-system { + pname = "sqlite"; + version = "20190813-git"; + asds = [ "sqlite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sqlite/2019-08-13/cl-sqlite-20190813-git.tgz"; + sha256 = "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"; + system = "sqlite"; + asd = "sqlite"; + } + ); + systems = [ "sqlite" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + srfi-1 = ( + build-asdf-system { + pname = "srfi-1"; + version = "20200218-git"; + asds = [ "srfi-1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/srfi-1/2020-02-18/srfi-1-20200218-git.tgz"; + sha256 = "00r2ikf1ck1zz3mx3jgk3plf3ibfhhrr8sc8hzr6ix34sbfvdadg"; + system = "srfi-1"; + asd = "srfi-1"; + } + ); + systems = [ "srfi-1" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + srfi-1_dot_test = ( + build-asdf-system { + pname = "srfi-1.test"; + version = "20200218-git"; + asds = [ "srfi-1.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/srfi-1/2020-02-18/srfi-1-20200218-git.tgz"; + sha256 = "00r2ikf1ck1zz3mx3jgk3plf3ibfhhrr8sc8hzr6ix34sbfvdadg"; + system = "srfi-1.test"; + asd = "srfi-1"; + } + ); + systems = [ "srfi-1.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "srfi-1" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + srfi-23 = ( + build-asdf-system { + pname = "srfi-23"; + version = "20200218-git"; + asds = [ "srfi-23" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/srfi-23/2020-02-18/srfi-23-20200218-git.tgz"; + sha256 = "0hgq2bdpdjp550kk9xlrxh82n45ldb42j2zzhkndmffh4rp9hd13"; + system = "srfi-23"; + asd = "srfi-23"; + } + ); + systems = [ "srfi-23" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + srfi-6 = ( + build-asdf-system { + pname = "srfi-6"; + version = "20200218-git"; + asds = [ "srfi-6" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/srfi-6/2020-02-18/srfi-6-20200218-git.tgz"; + sha256 = "1m9316r75haig84fhcrfm69gq0zfh5xqwqw8wsccc6z6vpz7pfwm"; + system = "srfi-6"; + asd = "srfi-6"; + } + ); + systems = [ "srfi-6" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + srfi-98 = ( + build-asdf-system { + pname = "srfi-98"; + version = "20200218-git"; + asds = [ "srfi-98" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/srfi-98/2020-02-18/srfi-98-20200218-git.tgz"; + sha256 = "0qqa7c6nas85n8mdpmk996jh12xm0nf63nhj1chi9qkwgm924fj3"; + system = "srfi-98"; + asd = "srfi-98"; + } + ); + systems = [ "srfi-98" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + srfi-98_dot_test = ( + build-asdf-system { + pname = "srfi-98.test"; + version = "20200218-git"; + asds = [ "srfi-98.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/srfi-98/2020-02-18/srfi-98-20200218-git.tgz"; + sha256 = "0qqa7c6nas85n8mdpmk996jh12xm0nf63nhj1chi9qkwgm924fj3"; + system = "srfi-98.test"; + asd = "srfi-98"; + } + ); + systems = [ "srfi-98.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "srfi-98" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sse-client = ( + build-asdf-system { + pname = "sse-client"; + version = "20210807-git"; + asds = [ "sse-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; + sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; + system = "sse-client"; + asd = "sse-client"; + } + ); + systems = [ "sse-client" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sse-client-test = ( + build-asdf-system { + pname = "sse-client-test"; + version = "20210807-git"; + asds = [ "sse-client-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; + sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; + system = "sse-client-test"; + asd = "sse-client-test"; + } + ); + systems = [ "sse-client-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "sse-client" self) + (getAttr "trivial-escapes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sse-demo = ( + build-asdf-system { + pname = "sse-demo"; + version = "20210807-git"; + asds = [ "sse-demo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; + sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; + system = "sse-demo"; + asd = "sse-demo"; + } + ); + systems = [ "sse-demo" ]; + lispLibs = [ + (getAttr "easy-routes" self) + (getAttr "flexi-streams" self) + (getAttr "hunchentoot" self) + (getAttr "sse-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sse-server = ( + build-asdf-system { + pname = "sse-server"; + version = "20210807-git"; + asds = [ "sse-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; + sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; + system = "sse-server"; + asd = "sse-server"; + } + ); + systems = [ "sse-server" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "trivial-escapes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sse-server-test = ( + build-asdf-system { + pname = "sse-server-test"; + version = "20210807-git"; + asds = [ "sse-server-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz"; + sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl"; + system = "sse-server-test"; + asd = "sse-server-test"; + } + ); + systems = [ "sse-server-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "sse-server" self) + (getAttr "trivial-escapes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + st-json = ( + build-asdf-system { + pname = "st-json"; + version = "20210630-git"; + asds = [ "st-json" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/st-json/2021-06-30/st-json-20210630-git.tgz"; + sha256 = "06qrhr5iw73k96lai2x9w52l6gnmlxy7fsr0r35gz6nz1f71x7gx"; + system = "st-json"; + asd = "st-json"; + } + ); + systems = [ "st-json" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + standard-cl = ( + build-asdf-system { + pname = "standard-cl"; + version = "20121125-git"; + asds = [ "standard-cl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz"; + sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf"; + system = "standard-cl"; + asd = "standard-cl"; + } + ); + systems = [ "standard-cl" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple = ( + build-asdf-system { + pname = "staple"; + version = "20241012-git"; + asds = [ "staple" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple"; + asd = "staple"; + } + ); + systems = [ "staple" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "clip" self) + (getAttr "definitions" self) + (getAttr "documentation-utils" self) + (getAttr "language-codes" self) + (getAttr "pathname-utils" self) + (getAttr "staple-code-parser" self) + (getAttr "staple-package-recording" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple-code-parser = ( + build-asdf-system { + pname = "staple-code-parser"; + version = "20241012-git"; + asds = [ "staple-code-parser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple-code-parser"; + asd = "staple-code-parser"; + } + ); + systems = [ "staple-code-parser" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "concrete-syntax-tree" self) + (getAttr "concrete-syntax-tree-destructuring" self) + (getAttr "concrete-syntax-tree-lambda-list" self) + (getAttr "definitions" self) + (getAttr "documentation-utils" self) + (getAttr "eclector" self) + (getAttr "eclector-concrete-syntax-tree" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple-markdown = ( + build-asdf-system { + pname = "staple-markdown"; + version = "20241012-git"; + asds = [ "staple-markdown" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple-markdown"; + asd = "staple-markdown"; + } + ); + systems = [ "staple-markdown" ]; + lispLibs = [ + (getAttr "_3bmd" self) + (getAttr "_3bmd-ext-code-blocks" self) + (getAttr "staple" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple-markless = ( + build-asdf-system { + pname = "staple-markless"; + version = "20241012-git"; + asds = [ "staple-markless" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple-markless"; + asd = "staple-markless"; + } + ); + systems = [ "staple-markless" ]; + lispLibs = [ + (getAttr "cl-markless-plump" self) + (getAttr "staple" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple-package-recording = ( + build-asdf-system { + pname = "staple-package-recording"; + version = "20241012-git"; + asds = [ "staple-package-recording" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple-package-recording"; + asd = "staple-package-recording"; + } + ); + systems = [ "staple-package-recording" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple-restructured-text = ( + build-asdf-system { + pname = "staple-restructured-text"; + version = "20241012-git"; + asds = [ "staple-restructured-text" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple-restructured-text"; + asd = "staple-restructured-text"; + } + ); + systems = [ "staple-restructured-text" ]; + lispLibs = [ + (getAttr "docutils" self) + (getAttr "staple" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + staple-server = ( + build-asdf-system { + pname = "staple-server"; + version = "20241012-git"; + asds = [ "staple-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/staple/2024-10-12/staple-20241012-git.tgz"; + sha256 = "147511d57xkv9d9crnqygj8lqkdpmbyq3g8b9cns130d8m46f2vi"; + system = "staple-server"; + asd = "staple-server"; + } + ); + systems = [ "staple-server" ]; + lispLibs = [ + (getAttr "dissect" self) + (getAttr "documentation-utils" self) + (getAttr "hunchentoot" self) + (getAttr "staple-markdown" self) + (getAttr "staple-markless" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stars = ( + build-asdf-system { + pname = "stars"; + version = "20180831-git"; + asds = [ "stars" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sprint-stars/2018-08-31/sprint-stars-20180831-git.tgz"; + sha256 = "1pm6wvywfgy0vlb0b2lbybpvhw9xzyn1nlpy0wpcglxxig6mnrgi"; + system = "stars"; + asd = "stars"; + } + ); + systems = [ "stars" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "drakma" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + static-dispatch = ( + build-asdf-system { + pname = "static-dispatch"; + version = "20211209-git"; + asds = [ "static-dispatch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/static-dispatch/2021-12-09/static-dispatch-20211209-git.tgz"; + sha256 = "1cishp7nckda5hav6c907axdfn1zpmzxpsy6hk7kkb69qn81yn2i"; + system = "static-dispatch"; + asd = "static-dispatch"; + } + ); + systems = [ "static-dispatch" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "arrows" self) + (getAttr "cl-environments" self) + (getAttr "cl-form-types" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "optima" self) + ]; + meta = { }; + } + ); + static-vectors = ( + build-asdf-system { + pname = "static-vectors"; + version = "v1.9.3"; + asds = [ "static-vectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/static-vectors/2024-10-12/static-vectors-v1.9.3.tgz"; + sha256 = "1sn37hyf6x56irn2qqc51ncqswa3n94j6cxwcj2ixgxmszcyzx5h"; + system = "static-vectors"; + asd = "static-vectors"; + } + ); + systems = [ "static-vectors" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + ]; + meta = { }; + } + ); + statistics = ( + build-asdf-system { + pname = "statistics"; + version = "20241012-git"; + asds = [ "statistics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/statistics/2024-10-12/statistics-20241012-git.tgz"; + sha256 = "00dir3sif9jqc0b48vsk8r41h4zmf95jj4nqrc45mbnr80pmdrsl"; + system = "statistics"; + asd = "statistics"; + } + ); + systems = [ "statistics" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "distributions" self) + (getAttr "let-plus" self) + (getAttr "num-utils" self) + (getAttr "org_dot_tfeb_dot_conduit-packages" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + statusor = ( + build-asdf-system { + pname = "statusor"; + version = "20230618-git"; + asds = [ "statusor" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/statusor/2023-06-18/statusor-20230618-git.tgz"; + sha256 = "1mxj4q7grvma6q05vj6sw4h4f2s121mnd77271lwnp74kjwh17cq"; + system = "statusor"; + asd = "statusor"; + } + ); + systems = [ "statusor" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stdutils = ( + build-asdf-system { + pname = "stdutils"; + version = "20111001-git"; + asds = [ "stdutils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-stdutils/2011-10-01/cl-stdutils-20111001-git.tgz"; + sha256 = "16vxxphqdq8264x0aanm36x9r6d3ci1gjf4vf46mwl59gcff4wcj"; + system = "stdutils"; + asd = "stdutils"; + } + ); + systems = [ "stdutils" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stealth-mixin = ( + build-asdf-system { + pname = "stealth-mixin"; + version = "20211020-git"; + asds = [ "stealth-mixin" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stealth-mixin/2021-10-20/stealth-mixin-20211020-git.tgz"; + sha256 = "0ar9cdmbmdnqz1ywpw34n47hlh0vqmb6pl76f5vbfgip3c81xwyi"; + system = "stealth-mixin"; + asd = "stealth-mixin"; + } + ); + systems = [ "stealth-mixin" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stefil = ( + build-asdf-system { + pname = "stefil"; + version = "20181210-git"; + asds = [ "stefil" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stefil/2018-12-10/stefil-20181210-git.tgz"; + sha256 = "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"; + system = "stefil"; + asd = "stefil"; + } + ); + systems = [ "stefil" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + (getAttr "swank" self) + ]; + meta = { }; + } + ); + stefil_plus = ( + build-asdf-system { + pname = "stefil+"; + version = "20211209-git"; + asds = [ "stefil+" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stefil-/2021-12-09/stefil--20211209-git.tgz"; + sha256 = "039jjhcb3ka6vag39hz5v1bi81x444rqj6rb3np5qbm07dh1aij0"; + system = "stefil+"; + asd = "stefil+"; + } + ); + systems = [ "stefil+" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "gt" self) + (getAttr "metabang-bind" self) + (getAttr "stefil" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stefil-test = ( + build-asdf-system { + pname = "stefil-test"; + version = "20181210-git"; + asds = [ "stefil-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stefil/2018-12-10/stefil-20181210-git.tgz"; + sha256 = "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"; + system = "stefil-test"; + asd = "stefil"; + } + ); + systems = [ "stefil-test" ]; + lispLibs = [ (getAttr "stefil" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stem = ( + build-asdf-system { + pname = "stem"; + version = "20150608-git"; + asds = [ "stem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stem/2015-06-08/stem-20150608-git.tgz"; + sha256 = "0a2kr09c3qcwg16n8rm15qgy5p9l6z4m72jray0846hqbnji77mp"; + system = "stem"; + asd = "stem"; + } + ); + systems = [ "stem" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stepster = ( + build-asdf-system { + pname = "stepster"; + version = "20241012-git"; + asds = [ "stepster" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stepster/2024-10-12/stepster-20241012-git.tgz"; + sha256 = "027psal692mvpaj8bzp8fkkrsy5pgyrg8sr21xgc4m8ypp0shvw3"; + system = "stepster"; + asd = "stepster"; + } + ); + systems = [ "stepster" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-reexport" self) + (getAttr "clss" self) + (getAttr "dexador" self) + (getAttr "jonathan" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stl = ( + build-asdf-system { + pname = "stl"; + version = "20171019-git"; + asds = [ "stl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stl/2017-10-19/stl-20171019-git.tgz"; + sha256 = "12v11bsarlnx5k930gx116wbgv41kwm45ysdikq3am4x3lqsjz2n"; + system = "stl"; + asd = "stl"; + } + ); + systems = [ "stl" ]; + lispLibs = [ (getAttr "_3d-vectors" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stmx = ( + build-asdf-system { + pname = "stmx"; + version = "stable-95f7dea8-git"; + asds = [ "stmx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stmx/2024-10-12/stmx-stable-95f7dea8-git.tgz"; + sha256 = "1qq25y79casaa56a76gj9hk2f3hjcc5z3f4na4vy3sw99km54hn9"; + system = "stmx"; + asd = "stmx"; + } + ); + systems = [ "stmx" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "closer-mop" self) + (getAttr "log4cl" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stmx_dot_test = ( + build-asdf-system { + pname = "stmx.test"; + version = "stable-95f7dea8-git"; + asds = [ "stmx.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stmx/2024-10-12/stmx-stable-95f7dea8-git.tgz"; + sha256 = "1qq25y79casaa56a76gj9hk2f3hjcc5z3f4na4vy3sw99km54hn9"; + system = "stmx.test"; + asd = "stmx.test"; + } + ); + systems = [ "stmx.test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "fiveam" self) + (getAttr "log4cl" self) + (getAttr "stmx" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stopclock = ( + build-asdf-system { + pname = "stopclock"; + version = "v1.0.2"; + asds = [ "stopclock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stopclock/2023-10-21/stopclock-v1.0.2.tgz"; + sha256 = "1p5lygznfasad1sw8whd2bg9bwi3z7nbncr3samd55nsi5yr3hfd"; + system = "stopclock"; + asd = "stopclock"; + } + ); + systems = [ "stopclock" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + str = ( + build-asdf-system { + pname = "str"; + version = "20241012-git"; + asds = [ "str" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-str/2024-10-12/cl-str-20241012-git.tgz"; + sha256 = "1c9vcrm4gy3ljwnzjimsxswszfs2im1a4iqalpn1mhv8ddwavb2j"; + system = "str"; + asd = "str"; + } + ); + systems = [ "str" ]; + lispLibs = [ + (getAttr "cl-change-case" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-ppcre-unicode" self) + ]; + meta = { }; + } + ); + str_dot_test = ( + build-asdf-system { + pname = "str.test"; + version = "20241012-git"; + asds = [ "str.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-str/2024-10-12/cl-str-20241012-git.tgz"; + sha256 = "1c9vcrm4gy3ljwnzjimsxswszfs2im1a4iqalpn1mhv8ddwavb2j"; + system = "str.test"; + asd = "str.test"; + } + ); + systems = [ "str.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + strict-function = ( + build-asdf-system { + pname = "strict-function"; + version = "20211020-git"; + asds = [ "strict-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/strict-function/2021-10-20/strict-function-20211020-git.tgz"; + sha256 = "176l5024qa72my7wiag0w6mmwys1q4yk6b4n944378qbqr2zpq2a"; + system = "strict-function"; + asd = "strict-function"; + } + ); + systems = [ "strict-function" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + string-case = ( + build-asdf-system { + pname = "string-case"; + version = "20180711-git"; + asds = [ "string-case" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/string-case/2018-07-11/string-case-20180711-git.tgz"; + sha256 = "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"; + system = "string-case"; + asd = "string-case"; + } + ); + systems = [ "string-case" ]; + lispLibs = [ ]; + meta = { }; + } + ); + string-escape = ( + build-asdf-system { + pname = "string-escape"; + version = "20150407-http"; + asds = [ "string-escape" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/string-escape/2015-04-07/string-escape-20150407-http.tgz"; + sha256 = "0r7b699332hy3qj17jax9jdhq4jx6rbw5xf0j43bwg79wddk0rq3"; + system = "string-escape"; + asd = "string-escape"; + } + ); + systems = [ "string-escape" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stripe = ( + build-asdf-system { + pname = "stripe"; + version = "20241012-git"; + asds = [ "stripe" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stripe/2024-10-12/stripe-20241012-git.tgz"; + sha256 = "1ng1381pg0mj1ba0ndxvhaqmm0w64v0gq0qsxbfm9kr6hq46gsf9"; + system = "stripe"; + asd = "stripe"; + } + ); + systems = [ "stripe" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "golden-utils" self) + (getAttr "local-time" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stripe-against-the-modern-world = ( + build-asdf-system { + pname = "stripe-against-the-modern-world"; + version = "20221106-git"; + asds = [ "stripe-against-the-modern-world" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stripe-against-the-modern-world/2022-11-06/stripe-against-the-modern-world-20221106-git.tgz"; + sha256 = "1qp714y7b7vfdafirlphk02gixa4jffs0xgcy96fncxs6r2zq3q9"; + system = "stripe-against-the-modern-world"; + asd = "stripe-against-the-modern-world"; + } + ); + systems = [ "stripe-against-the-modern-world" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "do-urlencode" self) + (getAttr "ironclad" self) + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "ningle" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext = ( + build-asdf-system { + pname = "structure-ext"; + version = "20211209-git"; + asds = [ "structure-ext" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext"; + asd = "structure-ext"; + } + ); + systems = [ "structure-ext" ]; + lispLibs = [ + (getAttr "structure-ext_dot_as-class" self) + (getAttr "structure-ext_dot_left-arrow-accessors" self) + (getAttr "structure-ext_dot_make-instance" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext_dot_as-class = ( + build-asdf-system { + pname = "structure-ext.as-class"; + version = "20211209-git"; + asds = [ "structure-ext.as-class" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext.as-class"; + asd = "structure-ext.as-class"; + } + ); + systems = [ "structure-ext.as-class" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "lambda-fiddle" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext_dot_as-class_dot_test = ( + build-asdf-system { + pname = "structure-ext.as-class.test"; + version = "20211209-git"; + asds = [ "structure-ext.as-class.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext.as-class.test"; + asd = "structure-ext.as-class.test"; + } + ); + systems = [ "structure-ext.as-class.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "structure-ext_dot_as-class" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext_dot_left-arrow-accessors = ( + build-asdf-system { + pname = "structure-ext.left-arrow-accessors"; + version = "20211209-git"; + asds = [ "structure-ext.left-arrow-accessors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext.left-arrow-accessors"; + asd = "structure-ext.left-arrow-accessors"; + } + ); + systems = [ "structure-ext.left-arrow-accessors" ]; + lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext_dot_left-arrow-accessors_dot_test = ( + build-asdf-system { + pname = "structure-ext.left-arrow-accessors.test"; + version = "20211209-git"; + asds = [ "structure-ext.left-arrow-accessors.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext.left-arrow-accessors.test"; + asd = "structure-ext.left-arrow-accessors.test"; + } + ); + systems = [ "structure-ext.left-arrow-accessors.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "structure-ext_dot_left-arrow-accessors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext_dot_make-instance = ( + build-asdf-system { + pname = "structure-ext.make-instance"; + version = "20211209-git"; + asds = [ "structure-ext.make-instance" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext.make-instance"; + asd = "structure-ext.make-instance"; + } + ); + systems = [ "structure-ext.make-instance" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structure-ext_dot_make-instance_dot_test = ( + build-asdf-system { + pname = "structure-ext.make-instance.test"; + version = "20211209-git"; + asds = [ "structure-ext.make-instance.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz"; + sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq"; + system = "structure-ext.make-instance.test"; + asd = "structure-ext.make-instance.test"; + } + ); + systems = [ "structure-ext.make-instance.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "structure-ext_dot_make-instance" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + structy-defclass = ( + build-asdf-system { + pname = "structy-defclass"; + version = "20170630-git"; + asds = [ "structy-defclass" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/structy-defclass/2017-06-30/structy-defclass-20170630-git.tgz"; + sha256 = "0fdlj45xzyghmg65dvs7ww7dxji84iid2y6rh9j77aip7v0l5q63"; + system = "structy-defclass"; + asd = "structy-defclass"; + } + ); + systems = [ "structy-defclass" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + studio-client = ( + build-asdf-system { + pname = "studio-client"; + version = "20231021-git"; + asds = [ "studio-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/studio-client/2023-10-21/studio-client-20231021-git.tgz"; + sha256 = "0wxakd5jd0y6h2ii4690qav7zna6iyamdyksw5zjyz4xmsg4by2l"; + system = "studio-client"; + asd = "studio-client"; + } + ); + systems = [ "studio-client" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "documentation-utils" self) + (getAttr "north-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + stumpwm = ( + build-asdf-system { + pname = "stumpwm"; + version = "20231021-git"; + asds = [ "stumpwm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stumpwm/2023-10-21/stumpwm-20231021-git.tgz"; + sha256 = "114kicsziqvm15x15yhc39j8qzv6gxz4wxc40xp968pprzr4a4d1"; + system = "stumpwm"; + asd = "stumpwm"; + } + ); + systems = [ "stumpwm" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "clx" self) + (getAttr "dynamic-mixins-swm" self) + ]; + meta = { }; + } + ); + stumpwm-tests = ( + build-asdf-system { + pname = "stumpwm-tests"; + version = "20231021-git"; + asds = [ "stumpwm-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/stumpwm/2023-10-21/stumpwm-20231021-git.tgz"; + sha256 = "114kicsziqvm15x15yhc39j8qzv6gxz4wxc40xp968pprzr4a4d1"; + system = "stumpwm-tests"; + asd = "stumpwm-tests"; + } + ); + systems = [ "stumpwm-tests" ]; + lispLibs = [ + (getAttr "fiasco" self) + (getAttr "stumpwm" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sucle = ( + build-asdf-system { + pname = "sucle"; + version = "20200427-git"; + asds = [ "sucle" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "sucle"; + asd = "sucle"; + } + ); + systems = [ "sucle" ]; + lispLibs = [ + (getAttr "aabbcc" self) + (getAttr "alexandria" self) + (getAttr "application" self) + (getAttr "black-tie" self) + (getAttr "camera-matrix" self) + (getAttr "cl-opengl" self) + (getAttr "control" self) + (getAttr "crud" self) + (getAttr "fps-independent-timestep" self) + (getAttr "glhelp" self) + (getAttr "image-utility" self) + (getAttr "livesupport" self) + (getAttr "ncurses-clone-for-lem" self) + (getAttr "nsb-cga" self) + (getAttr "quads" self) + (getAttr "scratch-buffer" self) + (getAttr "sucle-multiprocessing" self) + (getAttr "sucle-temp" self) + (getAttr "text-subsystem" self) + (getAttr "uncommon-lisp" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sucle-multiprocessing = ( + build-asdf-system { + pname = "sucle-multiprocessing"; + version = "20200427-git"; + asds = [ "sucle-multiprocessing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "sucle-multiprocessing"; + asd = "sucle-multiprocessing"; + } + ); + systems = [ "sucle-multiprocessing" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-cpus" self) + (getAttr "lparallel" self) + (getAttr "uncommon-lisp" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sucle-serialize = ( + build-asdf-system { + pname = "sucle-serialize"; + version = "20200427-git"; + asds = [ "sucle-serialize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "sucle-serialize"; + asd = "sucle-serialize"; + } + ); + systems = [ "sucle-serialize" ]; + lispLibs = [ + (getAttr "chipz" self) + (getAttr "cl-conspack" self) + (getAttr "salza2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sucle-temp = ( + build-asdf-system { + pname = "sucle-temp"; + version = "20200427-git"; + asds = [ "sucle-temp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "sucle-temp"; + asd = "sucle-temp"; + } + ); + systems = [ "sucle-temp" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sucle-test = ( + build-asdf-system { + pname = "sucle-test"; + version = "20200427-git"; + asds = [ "sucle-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "sucle-test"; + asd = "sucle-test"; + } + ); + systems = [ "sucle-test" ]; + lispLibs = [ + (getAttr "aabbcc" self) + (getAttr "alexandria" self) + (getAttr "application" self) + (getAttr "camera-matrix" self) + (getAttr "character-modifier-bits" self) + (getAttr "cl-opengl" self) + (getAttr "control" self) + (getAttr "deflazy" self) + (getAttr "fps-independent-timestep" self) + (getAttr "image-utility" self) + (getAttr "ncurses-clone-for-lem" self) + (getAttr "nsb-cga" self) + (getAttr "quads" self) + (getAttr "scratch-buffer" self) + (getAttr "sucle" self) + (getAttr "sucle-multiprocessing" self) + (getAttr "sucle-serialize" self) + (getAttr "text-subsystem" self) + (getAttr "uncommon-lisp" self) + (getAttr "window" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + surf = ( + build-asdf-system { + pname = "surf"; + version = "master-fe503896-git"; + asds = [ "surf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "surf"; + asd = "surf"; + } + ); + systems = [ "surf" ]; + lispLibs = [ (getAttr "geom-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + swank = ( + build-asdf-system { + pname = "swank"; + version = "v2.30"; + asds = [ "swank" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/slime/2024-10-12/slime-v2.30.tgz"; + sha256 = "0qb7m65gq0mbxfrdppkh3k4jn13i14i07ziga4r8b3rmrxhrmlv0"; + system = "swank"; + asd = "swank"; + } + ); + systems = [ "swank" ]; + lispLibs = [ ]; + meta = { }; + } + ); + swank-client = ( + build-asdf-system { + pname = "swank-client"; + version = "20230618-git"; + asds = [ "swank-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/swank-client/2023-06-18/swank-client-20230618-git.tgz"; + sha256 = "0sd0xblaxj8zi03acmfq4pwv84jcl04fvyp1jqlb7d6iq0mbxvan"; + system = "swank-client"; + asd = "swank-client"; + } + ); + systems = [ "swank-client" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "com_dot_google_dot_base" self) + (getAttr "swank" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + swank-crew = ( + build-asdf-system { + pname = "swank-crew"; + version = "20241012-git"; + asds = [ "swank-crew" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/swank-crew/2024-10-12/swank-crew-20241012-git.tgz"; + sha256 = "0v0gg9d74x28xw3n12nrvkdnnvz0m972l4rymfansfaawiqm7ssz"; + system = "swank-crew"; + asd = "swank-crew"; + } + ); + systems = [ "swank-crew" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "com_dot_google_dot_base" self) + (getAttr "swank-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + swank-protocol = ( + build-asdf-system { + pname = "swank-protocol"; + version = "20241012-git"; + asds = [ "swank-protocol" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/swank-protocol/2024-10-12/swank-protocol-20241012-git.tgz"; + sha256 = "0vqcdxp228fk3snay90ml33r1y03l5k05snq633f95his8ffxknl"; + system = "swank-protocol"; + asd = "swank-protocol"; + } + ); + systems = [ "swank-protocol" ]; + lispLibs = [ + (getAttr "swank" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + swank_dot_live = ( + build-asdf-system { + pname = "swank.live"; + version = "20160208-git"; + asds = [ "swank.live" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/swank.live/2016-02-08/swank.live-20160208-git.tgz"; + sha256 = "0p7jyf07symfan6lmbhd3r42kf5vrsbmmh9li0n1kky8rd6fhgls"; + system = "swank.live"; + asd = "swank.live"; + } + ); + systems = [ "swank.live" ]; + lispLibs = [ (getAttr "swank" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + swap-bytes = ( + build-asdf-system { + pname = "swap-bytes"; + version = "v1.2"; + asds = [ "swap-bytes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/swap-bytes/2019-11-30/swap-bytes-v1.2.tgz"; + sha256 = "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"; + system = "swap-bytes"; + asd = "swap-bytes"; + } + ); + systems = [ "swap-bytes" ]; + lispLibs = [ (getAttr "trivial-features" self) ]; + meta = { }; + } + ); + sxql = ( + build-asdf-system { + pname = "sxql"; + version = "20241012-git"; + asds = [ "sxql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sxql/2024-10-12/sxql-20241012-git.tgz"; + sha256 = "11x4qgdwbddbk0a8avrirp1ksmphfxlimirfwvmiwi0jc4zd5csa"; + system = "sxql"; + asd = "sxql"; + } + ); + systems = [ "sxql" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-annot" self) + (getAttr "cl-package-locks" self) + (getAttr "iterate" self) + (getAttr "named-readtables" self) + (getAttr "split-sequence" self) + (getAttr "trivia" self) + (getAttr "trivial-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sxql-composer = ( + build-asdf-system { + pname = "sxql-composer"; + version = "20200325-git"; + asds = [ "sxql-composer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sxql-composer/2020-03-25/sxql-composer-20200325-git.tgz"; + sha256 = "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"; + system = "sxql-composer"; + asd = "sxql-composer"; + } + ); + systems = [ "sxql-composer" ]; + lispLibs = [ (getAttr "sxql" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sxql-test = ( + build-asdf-system { + pname = "sxql-test"; + version = "20241012-git"; + asds = [ "sxql-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sxql/2024-10-12/sxql-20241012-git.tgz"; + sha256 = "11x4qgdwbddbk0a8avrirp1ksmphfxlimirfwvmiwi0jc4zd5csa"; + system = "sxql-test"; + asd = "sxql-test"; + } + ); + systems = [ "sxql-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "sxql" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sycamore = ( + build-asdf-system { + pname = "sycamore"; + version = "20211020-git"; + asds = [ "sycamore" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sycamore/2021-10-20/sycamore-20211020-git.tgz"; + sha256 = "0icw7fba1ch51w24f4sinvy4xg3zc7zif0aqcjfrzxj14x108hai"; + system = "sycamore"; + asd = "sycamore"; + } + ); + systems = [ "sycamore" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-fuzz" self) + (getAttr "cl-ppcre" self) + (getAttr "lisp-unit" self) + ]; + meta = { }; + } + ); + symath = ( + build-asdf-system { + pname = "symath"; + version = "20241012-git"; + asds = [ "symath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/symath/2024-10-12/symath-20241012-git.tgz"; + sha256 = "1bxggf9kn4bhx877hyj4kpr76p47d8cd35lgv224hri5211fqyaz"; + system = "symath"; + asd = "symath"; + } + ); + systems = [ "symath" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + symbol-munger = ( + build-asdf-system { + pname = "symbol-munger"; + version = "20220220-git"; + asds = [ "symbol-munger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/symbol-munger/2022-02-20/symbol-munger-20220220-git.tgz"; + sha256 = "16fshnxp9212503z1vjlmx5pafv14bzpihn486x1ljakqjigfnfz"; + system = "symbol-munger"; + asd = "symbol-munger"; + } + ); + systems = [ "symbol-munger" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { }; + } + ); + symbol-namespaces = ( + build-asdf-system { + pname = "symbol-namespaces"; + version = "1.0"; + asds = [ "symbol-namespaces" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/symbol-namespaces/2013-01-28/symbol-namespaces-1.0.tgz"; + sha256 = "0rw4ndhg669rkpjmv5n0zh69bzar60zn3bb4vs5ijgvxyl5f7xp1"; + system = "symbol-namespaces"; + asd = "symbol-namespaces"; + } + ); + systems = [ "symbol-namespaces" ]; + lispLibs = [ (getAttr "map-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + synonyms = ( + build-asdf-system { + pname = "synonyms"; + version = "20230618-git"; + asds = [ "synonyms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/synonyms/2023-06-18/synonyms-20230618-git.tgz"; + sha256 = "1373m0h765r60lif0jz3frqbq7phrm2jhc30b5dh51spd7732v3x"; + system = "synonyms"; + asd = "synonyms"; + } + ); + systems = [ "synonyms" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + sysexits = ( + build-asdf-system { + pname = "sysexits"; + version = "20220707-git"; + asds = [ "sysexits" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-sysexits/2022-07-07/cl-sysexits-20220707-git.tgz"; + sha256 = "1khkj0qqvmgylnvl32sks8v3iabasbcr9sj9zl89xh3rajc67z73"; + system = "sysexits"; + asd = "sysexits"; + } + ); + systems = [ "sysexits" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + system-locale = ( + build-asdf-system { + pname = "system-locale"; + version = "20241012-git"; + asds = [ "system-locale" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/system-locale/2024-10-12/system-locale-20241012-git.tgz"; + sha256 = "1q91vyvsh787fz3j49lmyw2lx85288cmamb11h99wdmbmf61rdgr"; + system = "system-locale"; + asd = "system-locale"; + } + ); + systems = [ "system-locale" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + t-clack-handler-hunchentoot = ( + build-asdf-system { + pname = "t-clack-handler-hunchentoot"; + version = "20241012-git"; + asds = [ "t-clack-handler-hunchentoot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "t-clack-handler-hunchentoot"; + asd = "t-clack-handler-hunchentoot"; + } + ); + systems = [ "t-clack-handler-hunchentoot" ]; + lispLibs = [ + (getAttr "clack-handler-hunchentoot" self) + (getAttr "clack-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + t-clack-handler-toot = ( + build-asdf-system { + pname = "t-clack-handler-toot"; + version = "20241012-git"; + asds = [ "t-clack-handler-toot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "t-clack-handler-toot"; + asd = "t-clack-handler-toot"; + } + ); + systems = [ "t-clack-handler-toot" ]; + lispLibs = [ + (getAttr "clack-handler-toot" self) + (getAttr "clack-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + t-clack-handler-wookie = ( + build-asdf-system { + pname = "t-clack-handler-wookie"; + version = "20241012-git"; + asds = [ "t-clack-handler-wookie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clack/2024-10-12/clack-20241012-git.tgz"; + sha256 = "0dljkfxdypn50d6jlssl79ag072r7lcdhfy771hna0ihxii8vsm3"; + system = "t-clack-handler-wookie"; + asd = "t-clack-handler-wookie"; + } + ); + systems = [ "t-clack-handler-wookie" ]; + lispLibs = [ (getAttr "clack-test" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ta2 = ( + build-asdf-system { + pname = "ta2"; + version = "master-fe503896-git"; + asds = [ "ta2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "ta2"; + asd = "ta2"; + } + ); + systems = [ "ta2" ]; + lispLibs = [ (getAttr "gwl-graphics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tagger = ( + build-asdf-system { + pname = "tagger"; + version = "20200715-git"; + asds = [ "tagger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tagger/2020-07-15/tagger-20200715-git.tgz"; + sha256 = "1mxkr5hx8p4rxc7vajgrpl49zh018wyspvww5fg50164if0n7j2q"; + system = "tagger"; + asd = "tagger"; + } + ); + systems = [ "tagger" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + taglib = ( + build-asdf-system { + pname = "taglib"; + version = "20241012-git"; + asds = [ "taglib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/taglib/2024-10-12/taglib-20241012-git.tgz"; + sha256 = "1jhi38g2ngmbsv71chxyavgf4fzb64nr7z648ia01qxii0435csb"; + system = "taglib"; + asd = "taglib"; + } + ); + systems = [ "taglib" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "flexi-streams" self) + (getAttr "optima" self) + (getAttr "optima_dot_ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + taglib-tests = ( + build-asdf-system { + pname = "taglib-tests"; + version = "20241012-git"; + asds = [ "taglib-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/taglib/2024-10-12/taglib-20241012-git.tgz"; + sha256 = "1jhi38g2ngmbsv71chxyavgf4fzb64nr7z648ia01qxii0435csb"; + system = "taglib-tests"; + asd = "taglib-tests"; + } + ); + systems = [ "taglib-tests" ]; + lispLibs = [ + (getAttr "chanl" self) + (getAttr "cl-fad" self) + (getAttr "taglib" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tailrec = ( + build-asdf-system { + pname = "tailrec"; + version = "20210807-git"; + asds = [ "tailrec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tailrec/2021-08-07/tailrec-20210807-git.tgz"; + sha256 = "1h8m2npdzd2cpnl75pvv4yvvfwxa7kl6qvalc9s0y4yws0kaih3i"; + system = "tailrec"; + asd = "tailrec"; + } + ); + systems = [ "tailrec" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-macroexpand-all" self) + (getAttr "trivial-with-current-source-form" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + talcl = ( + build-asdf-system { + pname = "talcl"; + version = "20180228-git"; + asds = [ "talcl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; + sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; + system = "talcl"; + asd = "talcl"; + } + ); + systems = [ "talcl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "buildnode" self) + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "iterate" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + talcl-examples = ( + build-asdf-system { + pname = "talcl-examples"; + version = "20180228-git"; + asds = [ "talcl-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; + sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; + system = "talcl-examples"; + asd = "talcl"; + } + ); + systems = [ "talcl-examples" ]; + lispLibs = [ + (getAttr "buildnode-xhtml" self) + (getAttr "talcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + talcl-speed-tests = ( + build-asdf-system { + pname = "talcl-speed-tests"; + version = "20180228-git"; + asds = [ "talcl-speed-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; + sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; + system = "talcl-speed-tests"; + asd = "talcl"; + } + ); + systems = [ "talcl-speed-tests" ]; + lispLibs = [ + (getAttr "buildnode-xhtml" self) + (getAttr "lisp-unit2" self) + (getAttr "talcl" self) + (getAttr "talcl-examples" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + talcl-test = ( + build-asdf-system { + pname = "talcl-test"; + version = "20180228-git"; + asds = [ "talcl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz"; + sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p"; + system = "talcl-test"; + asd = "talcl"; + } + ); + systems = [ "talcl-test" ]; + lispLibs = [ + (getAttr "buildnode-xhtml" self) + (getAttr "lisp-unit2" self) + (getAttr "talcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tap-unit-test = ( + build-asdf-system { + pname = "tap-unit-test"; + version = "20171227-git"; + asds = [ "tap-unit-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tap-unit-test/2017-12-27/tap-unit-test-20171227-git.tgz"; + sha256 = "1fzsnpng7y4sghasl29sjicbs4v6m5mgfj8wf2izhhcn1hbhr694"; + system = "tap-unit-test"; + asd = "tap-unit-test"; + } + ); + systems = [ "tap-unit-test" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tar = ( + build-asdf-system { + pname = "tar"; + version = "20230618-git"; + asds = [ "tar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tar/2023-06-18/cl-tar-20230618-git.tgz"; + sha256 = "0wp23cs3i6a89dibifiz6559la5nk58d1n17xvbxq4nrl8cqsllf"; + system = "tar"; + asd = "tar"; + } + ); + systems = [ "tar" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "local-time" self) + (getAttr "split-sequence" self) + (getAttr "tar-file" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tar-file = ( + build-asdf-system { + pname = "tar-file"; + version = "20220220-git"; + asds = [ "tar-file" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tar-file/2022-02-20/cl-tar-file-20220220-git.tgz"; + sha256 = "0i8j05fkgdqy4c4pqj0c68sh4s3klpx9kc5wp73qwzrl3xqd2svy"; + system = "tar-file"; + asd = "tar-file"; + } + ); + systems = [ "tar-file" ]; + lispLibs = [ + (getAttr "_40ants-doc" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "chipz" self) + (getAttr "flexi-streams" self) + (getAttr "salza2" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + targa = ( + build-asdf-system { + pname = "targa"; + version = "20181018-git"; + asds = [ "targa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/targa/2018-10-18/targa-20181018-git.tgz"; + sha256 = "0fslb2alp4pfmp8md2q89xh8n43r8awwf343wfvkywwqdnls2zws"; + system = "targa"; + asd = "targa"; + } + ); + systems = [ "targa" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tasty = ( + build-asdf-system { + pname = "tasty"; + version = "master-fe503896-git"; + asds = [ "tasty" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "tasty"; + asd = "tasty"; + } + ); + systems = [ "tasty" ]; + lispLibs = [ + (getAttr "gwl-graphics" self) + (getAttr "tree" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tclcs-code = ( + build-asdf-system { + pname = "tclcs-code"; + version = "20210124-git"; + asds = [ "tclcs-code" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tclcs-code/2021-01-24/tclcs-code-20210124-git.tgz"; + sha256 = "0p0g8shy284sj9ncq27zn8yj7xsrdcg2aiy2q783l6sl2ip6nfxa"; + system = "tclcs-code"; + asd = "tclcs-code"; + } + ); + systems = [ "tclcs-code" ]; + lispLibs = [ (getAttr "trivial-custom-debugger" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tcod = ( + build-asdf-system { + pname = "tcod"; + version = "20231021-git"; + asds = [ "tcod" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-tcod/2023-10-21/cl-tcod-20231021-git.tgz"; + sha256 = "1r4ip16dlzr56p94b0grw6nmkykbmgb04jsqdvgl1ypcmbpfr3i1"; + system = "tcod"; + asd = "tcod"; + } + ); + systems = [ "tcod" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-libffi" self) + (getAttr "defstar" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + teddy = ( + build-asdf-system { + pname = "teddy"; + version = "20241012-git"; + asds = [ "teddy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/teddy/2024-10-12/teddy-20241012-git.tgz"; + sha256 = "0qg83khyny5pw9lk3ysid32wl1wds43ja35qx72mxpli3nhj7nhq"; + system = "teddy"; + asd = "teddy"; + } + ); + systems = [ "teddy" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "asdf-finalizers" self) + (getAttr "cl-ascii-table" self) + (getAttr "eazy-gnuplot" self) + (getAttr "hu_dot_dwim_dot_def" self) + (getAttr "lhstats" self) + (getAttr "list-of" self) + (getAttr "rutils" self) + (getAttr "simplified-types" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + teepeedee2 = ( + build-asdf-system { + pname = "teepeedee2"; + version = "20230214-git"; + asds = [ "teepeedee2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/teepeedee2/2023-02-14/teepeedee2-20230214-git.tgz"; + sha256 = "16mfc1hcjdjcj1iiihdn9a725xry8hpvxijf5ic6yi4ydcv84pni"; + system = "teepeedee2"; + asd = "teepeedee2"; + } + ); + systems = [ "teepeedee2" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-cont" self) + (getAttr "cl-fad" self) + (getAttr "cl-irregsexp" self) + (getAttr "iterate" self) + (getAttr "parenscript" self) + (getAttr "trivial-backtrace" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + teepeedee2-test = ( + build-asdf-system { + pname = "teepeedee2-test"; + version = "20230214-git"; + asds = [ "teepeedee2-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/teepeedee2/2023-02-14/teepeedee2-20230214-git.tgz"; + sha256 = "16mfc1hcjdjcj1iiihdn9a725xry8hpvxijf5ic6yi4ydcv84pni"; + system = "teepeedee2-test"; + asd = "teepeedee2-test"; + } + ); + systems = [ "teepeedee2-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "teepeedee2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + telnetlib = ( + build-asdf-system { + pname = "telnetlib"; + version = "20141217-git"; + asds = [ "telnetlib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/telnetlib/2014-12-17/telnetlib-20141217-git.tgz"; + sha256 = "1gdf6i352qkmp27nqbv6qfi7sqn5wjzdaffh6ls1y5jznqh3nb0h"; + system = "telnetlib"; + asd = "telnetlib"; + } + ); + systems = [ "telnetlib" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + template = ( + build-asdf-system { + pname = "template"; + version = "20230618-git"; + asds = [ "template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/template/2023-06-18/template-20230618-git.tgz"; + sha256 = "1ccnjawxwjqk8gavqga7waqrxv0pmncbycyfwylyly7a1c7zjadr"; + system = "template"; + asd = "template"; + } + ); + systems = [ "template" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "parameterized-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + template-function = ( + build-asdf-system { + pname = "template-function"; + version = "v0.0.1-git"; + asds = [ "template-function" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/template-function/2017-11-30/template-function-v0.0.1-git.tgz"; + sha256 = "1nq782cdi9vr3hgqqyzvvng2sbyc09biggwq4zp7k1vmqnm6qdaf"; + system = "template-function"; + asd = "template-function"; + } + ); + systems = [ "template-function" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "introspect-environment" self) + (getAttr "specialization-store" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + template-function-tests = ( + build-asdf-system { + pname = "template-function-tests"; + version = "v0.0.1-git"; + asds = [ "template-function-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/template-function/2017-11-30/template-function-v0.0.1-git.tgz"; + sha256 = "1nq782cdi9vr3hgqqyzvvng2sbyc09biggwq4zp7k1vmqnm6qdaf"; + system = "template-function-tests"; + asd = "template-function-tests"; + } + ); + systems = [ "template-function-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "template-function" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + temporal-functions = ( + build-asdf-system { + pname = "temporal-functions"; + version = "20171019-git"; + asds = [ "temporal-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/temporal-functions/2017-10-19/temporal-functions-20171019-git.tgz"; + sha256 = "03cbgw949g68n72nqp0nmjq9nx0kfz5zs6kpk0pwchy3i8bwf22j"; + system = "temporal-functions"; + asd = "temporal-functions"; + } + ); + systems = [ "temporal-functions" ]; + lispLibs = [ (getAttr "fn" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + temporary-file = ( + build-asdf-system { + pname = "temporary-file"; + version = "20150608-git"; + asds = [ "temporary-file" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/temporary-file/2015-06-08/temporary-file-20150608-git.tgz"; + sha256 = "0m38lncj6bmj7gwq8vp7l0gwzmk7pfasl4samzgl2fah8hzb064a"; + system = "temporary-file"; + asd = "temporary-file"; + } + ); + systems = [ "temporary-file" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "unit-test" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ten = ( + build-asdf-system { + pname = "ten"; + version = "20241012-git"; + asds = [ "ten" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; + sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; + system = "ten"; + asd = "ten"; + } + ); + systems = [ "ten" ]; + lispLibs = [ + (getAttr "access" self) + (getAttr "cl-who" self) + (getAttr "esrap" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ten_dot_examples = ( + build-asdf-system { + pname = "ten.examples"; + version = "20241012-git"; + asds = [ "ten.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; + sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; + system = "ten.examples"; + asd = "ten.examples"; + } + ); + systems = [ "ten.examples" ]; + lispLibs = [ (getAttr "ten" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ten_dot_i18n_dot_cl-locale = ( + build-asdf-system { + pname = "ten.i18n.cl-locale"; + version = "20241012-git"; + asds = [ "ten.i18n.cl-locale" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; + sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; + system = "ten.i18n.cl-locale"; + asd = "ten.i18n.cl-locale"; + } + ); + systems = [ "ten.i18n.cl-locale" ]; + lispLibs = [ + (getAttr "cl-locale" self) + (getAttr "ten" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ten_dot_i18n_dot_gettext = ( + build-asdf-system { + pname = "ten.i18n.gettext"; + version = "20241012-git"; + asds = [ "ten.i18n.gettext" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; + sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; + system = "ten.i18n.gettext"; + asd = "ten.i18n.gettext"; + } + ); + systems = [ "ten.i18n.gettext" ]; + lispLibs = [ + (getAttr "gettext" self) + (getAttr "ten" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ten_dot_tests = ( + build-asdf-system { + pname = "ten.tests"; + version = "20241012-git"; + asds = [ "ten.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ten/2024-10-12/ten-20241012-git.tgz"; + sha256 = "0zrbgyvc21gq8r507jm664zd4r9q206g2ah1yybwi32lgzify6nk"; + system = "ten.tests"; + asd = "ten.tests"; + } + ); + systems = [ "ten.tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "ten" self) + (getAttr "ten_dot_examples" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + terminfo = ( + build-asdf-system { + pname = "terminfo"; + version = "20210124-git"; + asds = [ "terminfo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/terminfo/2021-01-24/terminfo-20210124-git.tgz"; + sha256 = "1nmin9rr6f75xdhxysba66xa1dh62fh27w9ad1cvmj0062armf6b"; + system = "terminfo"; + asd = "terminfo"; + } + ); + systems = [ "terminfo" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + terrable = ( + build-asdf-system { + pname = "terrable"; + version = "20231021-git"; + asds = [ "terrable" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/terrable/2023-10-21/terrable-20231021-git.tgz"; + sha256 = "03fjfdffr5lf12llqbf3d07dd87ykfyw525dxnwm6gpyvg49wlgl"; + system = "terrable"; + asd = "terrable"; + } + ); + systems = [ "terrable" ]; + lispLibs = [ + (getAttr "documentation-utils" self) + (getAttr "fast-io" self) + (getAttr "ieee-floats" self) + (getAttr "static-vectors" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tesseract-capi = ( + build-asdf-system { + pname = "tesseract-capi"; + version = "20201220-git"; + asds = [ "tesseract-capi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tesseract-capi/2020-12-20/tesseract-capi-20201220-git.tgz"; + sha256 = "1g8afgzbvfk80gi05nbwp9cmmrsqm5knhqi04v1cx556vrbp6ks1"; + system = "tesseract-capi"; + asd = "tesseract-capi"; + } + ); + systems = [ "tesseract-capi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test-40ants-system = ( + build-asdf-system { + pname = "test-40ants-system"; + version = "20241012-git"; + asds = [ "test-40ants-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/40ants-asdf-system/2024-10-12/40ants-asdf-system-20241012-git.tgz"; + sha256 = "0wi575m0s0a9fvp1wy5ga760f71la16z1633qk6s2f87rwcjs8kw"; + system = "test-40ants-system"; + asd = "test-40ants-system"; + } + ); + systems = [ "test-40ants-system" ]; + lispLibs = [ (getAttr "_40ants-asdf-system" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test-gadgets = ( + build-asdf-system { + pname = "test-gadgets"; + version = "20241012-git"; + asds = [ "test-gadgets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gadgets/2024-10-12/gadgets-20241012-git.tgz"; + sha256 = "1ba4gj8lh3ihbb66xiz7hc8cdg3gvi3q20w32nmsqdch956is34k"; + system = "test-gadgets"; + asd = "test-gadgets"; + } + ); + systems = [ "test-gadgets" ]; + lispLibs = [ + (getAttr "gadgets" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test-paren6 = ( + build-asdf-system { + pname = "test-paren6"; + version = "20220331-git"; + asds = [ "test-paren6" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paren6/2022-03-31/paren6-20220331-git.tgz"; + sha256 = "0m7z7zkc1vrwmp68f3yx0mdsb0j45dmw3iddnbvf94dpv8aywwpx"; + system = "test-paren6"; + asd = "test-paren6"; + } + ); + systems = [ "test-paren6" ]; + lispLibs = [ + (getAttr "external-program" self) + (getAttr "paren6" self) + (getAttr "parenscript" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test-serial-system = ( + build-asdf-system { + pname = "test-serial-system"; + version = "20170403-git"; + asds = [ "test-serial-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/asdf-dependency-grovel/2017-04-03/asdf-dependency-grovel-20170403-git.tgz"; + sha256 = "1y4kdqsda4ira4r9dws6kxzzv6mg45q3lkmb2c9mg9q7ksc5glif"; + system = "test-serial-system"; + asd = "test-serial-system"; + } + ); + systems = [ "test-serial-system" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test-utils = ( + build-asdf-system { + pname = "test-utils"; + version = "20200610-git"; + asds = [ "test-utils" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/test-utils/2020-06-10/test-utils-20200610-git.tgz"; + sha256 = "036a8wvs37lnsf9dy3c810qk54963v7hnxx0zas25b50ikcmiqm5"; + system = "test-utils"; + asd = "test-utils"; + } + ); + systems = [ "test-utils" ]; + lispLibs = [ + (getAttr "agnostic-lizard" self) + (getAttr "alexandria" self) + (getAttr "cl-quickcheck" self) + (getAttr "prove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test_dot_eager-future2 = ( + build-asdf-system { + pname = "test.eager-future2"; + version = "20191130-git"; + asds = [ "test.eager-future2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/eager-future2/2019-11-30/eager-future2-20191130-git.tgz"; + sha256 = "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"; + system = "test.eager-future2"; + asd = "test.eager-future2"; + } + ); + systems = [ "test.eager-future2" ]; + lispLibs = [ + (getAttr "eager-future2" self) + (getAttr "eos" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + test_dot_vas-string-metrics = ( + build-asdf-system { + pname = "test.vas-string-metrics"; + version = "20211209-git"; + asds = [ "test.vas-string-metrics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vas-string-metrics/2021-12-09/vas-string-metrics-20211209-git.tgz"; + sha256 = "1yvkwc939dckv070nlgqfj5ys9ii2rm32m5wfx7qxdjrb4n19sx9"; + system = "test.vas-string-metrics"; + asd = "test.vas-string-metrics"; + } + ); + systems = [ "test.vas-string-metrics" ]; + lispLibs = [ (getAttr "vas-string-metrics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + testbild = ( + build-asdf-system { + pname = "testbild"; + version = "20101207-git"; + asds = [ "testbild" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/testbild/2010-12-07/testbild-20101207-git.tgz"; + sha256 = "024b6rlgljcjazwg302zkdmkpxs2hirjg7g39ypppz81ns2v65sw"; + system = "testbild"; + asd = "testbild"; + } + ); + systems = [ "testbild" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "graylex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + testbild-test = ( + build-asdf-system { + pname = "testbild-test"; + version = "20101207-git"; + asds = [ "testbild-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/testbild/2010-12-07/testbild-20101207-git.tgz"; + sha256 = "024b6rlgljcjazwg302zkdmkpxs2hirjg7g39ypppz81ns2v65sw"; + system = "testbild-test"; + asd = "testbild-test"; + } + ); + systems = [ "testbild-test" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-heredoc" self) + (getAttr "testbild" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + testiere = ( + build-asdf-system { + pname = "testiere"; + version = "20241012-git"; + asds = [ "testiere" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/testiere/2024-10-12/testiere-20241012-git.tgz"; + sha256 = "0sfsk7i5kxk8s1273i9vwz49hak0qdrr9asq70kdiwq0lfd56kgg"; + system = "testiere"; + asd = "testiere"; + } + ); + systems = [ "testiere" ]; + lispLibs = [ (getAttr "trivia" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + texp = ( + build-asdf-system { + pname = "texp"; + version = "20151218-git"; + asds = [ "texp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/texp/2015-12-18/texp-20151218-git.tgz"; + sha256 = "1sbll7jwmzd86hg0zva8r7db2565nnliasv2x6rkrm9xl97q0kg5"; + system = "texp"; + asd = "texp"; + } + ); + systems = [ "texp" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + text-query = ( + build-asdf-system { + pname = "text-query"; + version = "1.1"; + asds = [ "text-query" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/text-query/2011-11-05/text-query-1.1.tgz"; + sha256 = "082xqpfchmg2752m1lw78q6c0z3walzsmqk8gl6qnj6bdwbhf4dm"; + system = "text-query"; + asd = "text-query"; + } + ); + systems = [ "text-query" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + text-subsystem = ( + build-asdf-system { + pname = "text-subsystem"; + version = "20200427-git"; + asds = [ "text-subsystem" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "text-subsystem"; + asd = "text-subsystem"; + } + ); + systems = [ "text-subsystem" ]; + lispLibs = [ + (getAttr "application" self) + (getAttr "deflazy" self) + (getAttr "image-utility" self) + (getAttr "nsb-cga" self) + (getAttr "quads" self) + (getAttr "sucle-temp" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + text-subsystem-generate-font = ( + build-asdf-system { + pname = "text-subsystem-generate-font"; + version = "20200427-git"; + asds = [ "text-subsystem-generate-font" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "text-subsystem-generate-font"; + asd = "text-subsystem-generate-font"; + } + ); + systems = [ "text-subsystem-generate-font" ]; + lispLibs = [ + (getAttr "cl-freetype2" self) + (getAttr "opticl" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + textery = ( + build-asdf-system { + pname = "textery"; + version = "20201220-git"; + asds = [ "textery" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/textery/2020-12-20/textery-20201220-git.tgz"; + sha256 = "0v8zk1s18fi462qwvjbci8nikgs5wqjpl97ckfk0spvhybrdgwcc"; + system = "textery"; + asd = "textery"; + } + ); + systems = [ "textery" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "str" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + the-cost-of-nothing = ( + build-asdf-system { + pname = "the-cost-of-nothing"; + version = "20191130-git"; + asds = [ "the-cost-of-nothing" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/the-cost-of-nothing/2019-11-30/the-cost-of-nothing-20191130-git.tgz"; + sha256 = "1ccrglyr1wnnfp218w1qj7yfl4yzlxkki3hqaifi5axgbi5dmmh8"; + system = "the-cost-of-nothing"; + asd = "the-cost-of-nothing"; + } + ); + systems = [ "the-cost-of-nothing" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "local-time" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thih-coalton = ( + build-asdf-system { + pname = "thih-coalton"; + version = "20241012-git"; + asds = [ "thih-coalton" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/coalton/2024-10-12/coalton-20241012-git.tgz"; + sha256 = "19flzjxf3y6pxm09bmr8bmiqbgh4f7d5jjbgx2cb3dckmgvvg1d7"; + system = "thih-coalton"; + asd = "thih-coalton"; + } + ); + systems = [ "thih-coalton" ]; + lispLibs = [ (getAttr "coalton" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thnappy = ( + build-asdf-system { + pname = "thnappy"; + version = "20180831-git"; + asds = [ "thnappy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thnappy/2018-08-31/thnappy-20180831-git.tgz"; + sha256 = "0p03w2mcc655gm9x3rpgixhap9l56imjyblkwv05rk6mjx7wfnrp"; + system = "thnappy"; + asd = "thnappy"; + } + ); + systems = [ "thnappy" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thorn = ( + build-asdf-system { + pname = "thorn"; + version = "20150608-git"; + asds = [ "thorn" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz"; + sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7"; + system = "thorn"; + asd = "thorn"; + } + ); + systems = [ "thorn" ]; + lispLibs = [ (getAttr "common-doc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thorn-doc = ( + build-asdf-system { + pname = "thorn-doc"; + version = "20150608-git"; + asds = [ "thorn-doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz"; + sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7"; + system = "thorn-doc"; + asd = "thorn-doc"; + } + ); + systems = [ "thorn-doc" ]; + lispLibs = [ (getAttr "thorn" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thorn-test = ( + build-asdf-system { + pname = "thorn-test"; + version = "20150608-git"; + asds = [ "thorn-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz"; + sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7"; + system = "thorn-test"; + asd = "thorn-test"; + } + ); + systems = [ "thorn-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "thorn" self) + (getAttr "thorn-doc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thread-pool = ( + build-asdf-system { + pname = "thread-pool"; + version = "20120107-git"; + asds = [ "thread-pool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thread-pool/2012-01-07/thread-pool-20120107-git.tgz"; + sha256 = "0wi9l0m660332w9pnc3w08m5hlsry9s0cgc3rznb5kyap68iv847"; + system = "thread-pool"; + asd = "thread-pool"; + } + ); + systems = [ "thread-pool" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "bordeaux-threads" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thread_dot_comm_dot_rendezvous = ( + build-asdf-system { + pname = "thread.comm.rendezvous"; + version = "20121013-git"; + asds = [ "thread.comm.rendezvous" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thread.comm.rendezvous/2012-10-13/thread.comm.rendezvous-20121013-git.tgz"; + sha256 = "16crdy09zm20iclgln1vj0psd8ifz4rqb6g9255p0d2rkjk2rgfx"; + system = "thread.comm.rendezvous"; + asd = "thread.comm.rendezvous"; + } + ); + systems = [ "thread.comm.rendezvous" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-annot" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + thread_dot_comm_dot_rendezvous_dot_test = ( + build-asdf-system { + pname = "thread.comm.rendezvous.test"; + version = "20121013-git"; + asds = [ "thread.comm.rendezvous.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/thread.comm.rendezvous/2012-10-13/thread.comm.rendezvous-20121013-git.tgz"; + sha256 = "16crdy09zm20iclgln1vj0psd8ifz4rqb6g9255p0d2rkjk2rgfx"; + system = "thread.comm.rendezvous.test"; + asd = "thread.comm.rendezvous.test"; + } + ); + systems = [ "thread.comm.rendezvous.test" ]; + lispLibs = [ + (getAttr "cl-test-more" self) + (getAttr "thread_dot_comm_dot_rendezvous" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tile-grid = ( + build-asdf-system { + pname = "tile-grid"; + version = "20220707-git"; + asds = [ "tile-grid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tile-grid/2022-07-07/tile-grid-20220707-git.tgz"; + sha256 = "10sqiqspiljnk4i1v4w0dkr640cgf9nvkgmkaww3smmhyjsd9270"; + system = "tile-grid"; + asd = "tile-grid"; + } + ); + systems = [ "tile-grid" ]; + lispLibs = [ (getAttr "mfiano-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + time-interval = ( + build-asdf-system { + pname = "time-interval"; + version = "20190202-git"; + asds = [ "time-interval" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/time-interval/2019-02-02/time-interval-20190202-git.tgz"; + sha256 = "0dydlg42bwcd7sr57v8hhrd86n80d5cb5r6r2id0zyqbrijabdw5"; + system = "time-interval"; + asd = "time-interval"; + } + ); + systems = [ "time-interval" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + timer-wheel = ( + build-asdf-system { + pname = "timer-wheel"; + version = "20180228-git"; + asds = [ "timer-wheel" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/timer-wheel/2018-02-28/timer-wheel-20180228-git.tgz"; + sha256 = "12pc1dpnkwj43n1sdqhg8n8h0mb16zcx4wxly85b7bqf00s962bc"; + system = "timer-wheel"; + asd = "timer-wheel"; + } + ); + systems = [ "timer-wheel" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + timer-wheel_dot_examples = ( + build-asdf-system { + pname = "timer-wheel.examples"; + version = "20180228-git"; + asds = [ "timer-wheel.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/timer-wheel/2018-02-28/timer-wheel-20180228-git.tgz"; + sha256 = "12pc1dpnkwj43n1sdqhg8n8h0mb16zcx4wxly85b7bqf00s962bc"; + system = "timer-wheel.examples"; + asd = "timer-wheel.examples"; + } + ); + systems = [ "timer-wheel.examples" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "timer-wheel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tinaa = ( + build-asdf-system { + pname = "tinaa"; + version = "20171227-git"; + asds = [ "tinaa" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz"; + sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1"; + system = "tinaa"; + asd = "tinaa"; + } + ); + systems = [ "tinaa" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "asdf-system-connections" self) + (getAttr "cl-containers" self) + (getAttr "cl-graph" self) + (getAttr "defsystem-compatibility" self) + (getAttr "dynamic-classes" self) + (getAttr "lml2" self) + (getAttr "metatilities" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tinaa-test = ( + build-asdf-system { + pname = "tinaa-test"; + version = "20171227-git"; + asds = [ "tinaa-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz"; + sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1"; + system = "tinaa-test"; + asd = "tinaa-test"; + } + ); + systems = [ "tinaa-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "tinaa" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tiny-routes = ( + build-asdf-system { + pname = "tiny-routes"; + version = "20241012-git"; + asds = [ "tiny-routes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tiny-routes/2024-10-12/tiny-routes-20241012-git.tgz"; + sha256 = "1wswzz7d26ic9izls7pnkybm8ryf5j0ksv55gr6k5nji9x8r5jqx"; + system = "tiny-routes"; + asd = "tiny-routes"; + } + ); + systems = [ "tiny-routes" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tiny-routes-middleware-cookie = ( + build-asdf-system { + pname = "tiny-routes-middleware-cookie"; + version = "20241012-git"; + asds = [ "tiny-routes-middleware-cookie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tiny-routes/2024-10-12/tiny-routes-20241012-git.tgz"; + sha256 = "1wswzz7d26ic9izls7pnkybm8ryf5j0ksv55gr6k5nji9x8r5jqx"; + system = "tiny-routes-middleware-cookie"; + asd = "tiny-routes-middleware-cookie"; + } + ); + systems = [ "tiny-routes-middleware-cookie" ]; + lispLibs = [ + (getAttr "cl-cookie" self) + (getAttr "tiny-routes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tm = ( + build-asdf-system { + pname = "tm"; + version = "v0.8"; + asds = [ "tm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tm/2018-02-28/tm-v0.8.tgz"; + sha256 = "0lhqg5jpkzni1vzni0nnw7jb8ick1pbp04gfij2iczbi82qsw8x1"; + system = "tm"; + asd = "tm"; + } + ); + systems = [ "tm" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tmpdir = ( + build-asdf-system { + pname = "tmpdir"; + version = "20200218-git"; + asds = [ "tmpdir" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tmpdir/2020-02-18/tmpdir-20200218-git.tgz"; + sha256 = "11yshmg2wyd75ywwfybklm131d5rdw246pg35a6ksndiq3w5n4k8"; + system = "tmpdir"; + asd = "tmpdir"; + } + ); + systems = [ "tmpdir" ]; + lispLibs = [ (getAttr "cl-fad" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tmpdir_dot_tests = ( + build-asdf-system { + pname = "tmpdir.tests"; + version = "20200218-git"; + asds = [ "tmpdir.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tmpdir/2020-02-18/tmpdir-20200218-git.tgz"; + sha256 = "11yshmg2wyd75ywwfybklm131d5rdw246pg35a6ksndiq3w5n4k8"; + system = "tmpdir.tests"; + asd = "tmpdir.tests"; + } + ); + systems = [ "tmpdir.tests" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "fiveam" self) + (getAttr "osicat" self) + (getAttr "tmpdir" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + toadstool = ( + build-asdf-system { + pname = "toadstool"; + version = "20130615-git"; + asds = [ "toadstool" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/toadstool/2013-06-15/toadstool-20130615-git.tgz"; + sha256 = "0njb1mdzk0247h87db90zv7bk40mw54pq8sj35l1dwa30d5yhi6r"; + system = "toadstool"; + asd = "toadstool"; + } + ); + systems = [ "toadstool" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + toadstool-tests = ( + build-asdf-system { + pname = "toadstool-tests"; + version = "20130615-git"; + asds = [ "toadstool-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/toadstool/2013-06-15/toadstool-20130615-git.tgz"; + sha256 = "0njb1mdzk0247h87db90zv7bk40mw54pq8sj35l1dwa30d5yhi6r"; + system = "toadstool-tests"; + asd = "toadstool-tests"; + } + ); + systems = [ "toadstool-tests" ]; + lispLibs = [ + (getAttr "stefil" self) + (getAttr "toadstool" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + toms419 = ( + build-asdf-system { + pname = "toms419"; + version = "20231021-git"; + asds = [ "toms419" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "toms419"; + asd = "toms419"; + } + ); + systems = [ "toms419" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + toms715 = ( + build-asdf-system { + pname = "toms715"; + version = "20231021-git"; + asds = [ "toms715" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "toms715"; + asd = "toms715"; + } + ); + systems = [ "toms715" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + toms717 = ( + build-asdf-system { + pname = "toms717"; + version = "20231021-git"; + asds = [ "toms717" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/f2cl/2023-10-21/f2cl-20231021-git.tgz"; + sha256 = "0ifwsal8kxsbi4xrn90z2smvbz393babl3j25n33fadjpfan2f1z"; + system = "toms717"; + asd = "toms717"; + } + ); + systems = [ "toms717" ]; + lispLibs = [ (getAttr "f2cl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + toot = ( + build-asdf-system { + pname = "toot"; + version = "20121125-git"; + asds = [ "toot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/toot/2012-11-25/toot-20121125-git.tgz"; + sha256 = "1235qhkjrg1mmy6kx1vhsqvgjjgc7hk2sjssapv7xr43m71n6ivx"; + system = "toot"; + asd = "toot"; + } + ); + systems = [ "toot" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "chunga" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "md5" self) + (getAttr "puri" self) + (getAttr "trivial-backtrace" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tooter = ( + build-asdf-system { + pname = "tooter"; + version = "20241012-git"; + asds = [ "tooter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tooter/2024-10-12/tooter-20241012-git.tgz"; + sha256 = "03ymavph34248lh18jycsky55dg83kjr6k5a9bib5wh2idswrfxp"; + system = "tooter"; + asd = "tooter"; + } + ); + systems = [ "tooter" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "drakma" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + torrents = ( + build-asdf-system { + pname = "torrents"; + version = "20241012-git"; + asds = [ "torrents" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-torrents/2024-10-12/cl-torrents-20241012-git.tgz"; + sha256 = "1xigzskksgn8pg18v2dncfapdn94zv0djr4yi8nmkqbv8ljx93l4"; + system = "torrents"; + asd = "torrents"; + } + ); + systems = [ "torrents" ]; + lispLibs = [ + (getAttr "access" self) + (getAttr "cl-ansi-text" self) + (getAttr "cl-readline" self) + (getAttr "cl-transmission" self) + (getAttr "clache" self) + (getAttr "dexador" self) + (getAttr "jonathan" self) + (getAttr "log4cl" self) + (getAttr "lparallel" self) + (getAttr "lquery" self) + (getAttr "mockingbird" self) + (getAttr "parse-float" self) + (getAttr "plump" self) + (getAttr "py-configparser" self) + (getAttr "replic" self) + (getAttr "str" self) + (getAttr "unix-opts" self) + (getAttr "x_dot_let-star" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + torrents-test = ( + build-asdf-system { + pname = "torrents-test"; + version = "20241012-git"; + asds = [ "torrents-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-torrents/2024-10-12/cl-torrents-20241012-git.tgz"; + sha256 = "1xigzskksgn8pg18v2dncfapdn94zv0djr4yi8nmkqbv8ljx93l4"; + system = "torrents-test"; + asd = "torrents-test"; + } + ); + systems = [ "torrents-test" ]; + lispLibs = [ + (getAttr "mockingbird" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "torrents" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + towers = ( + build-asdf-system { + pname = "towers"; + version = "20141217-git"; + asds = [ "towers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/towers/2014-12-17/towers-20141217-git.tgz"; + sha256 = "0r89z1hfb7kmj0a4qm7ih599hlin8rhxk6pb7nnvsdjgn436dkga"; + system = "towers"; + asd = "towers"; + } + ); + systems = [ "towers" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-glu" self) + (getAttr "cl-glut" self) + (getAttr "cl-opengl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trace-db = ( + build-asdf-system { + pname = "trace-db"; + version = "20230618-git"; + asds = [ "trace-db" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trace-db/2023-06-18/trace-db-20230618-git.tgz"; + sha256 = "1n2mj8nzd0c3clz5xjllajfad50i6yhir27i9q41r4sc5z1k0x63"; + system = "trace-db"; + asd = "trace-db"; + } + ); + systems = [ "trace-db" ]; + lispLibs = [ (getAttr "asdf-package-system" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + track-best = ( + build-asdf-system { + pname = "track-best"; + version = "20220220-git"; + asds = [ "track-best" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/track-best/2022-02-20/track-best-20220220-git.tgz"; + sha256 = "1f59bn57y1mdq18l1ji5q8yazv73g85y1mns2xzwbmx8sgxsa6pq"; + system = "track-best"; + asd = "track-best"; + } + ); + systems = [ "track-best" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trainable-object = ( + build-asdf-system { + pname = "trainable-object"; + version = "20191227-git"; + asds = [ "trainable-object" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trainable-object/2019-12-27/trainable-object-20191227-git.tgz"; + sha256 = "06hfv039xx5vwm3qpm4kwlzlxc4zxlfcpxnbbq8x12a32ngqykwm"; + system = "trainable-object"; + asd = "trainable-object"; + } + ); + systems = [ "trainable-object" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "serializable-object" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trainable-object_dot_test = ( + build-asdf-system { + pname = "trainable-object.test"; + version = "20191227-git"; + asds = [ "trainable-object.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trainable-object/2019-12-27/trainable-object-20191227-git.tgz"; + sha256 = "06hfv039xx5vwm3qpm4kwlzlxc4zxlfcpxnbbq8x12a32ngqykwm"; + system = "trainable-object.test"; + asd = "trainable-object.test"; + } + ); + systems = [ "trainable-object.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trainable-object" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + transducers = ( + build-asdf-system { + pname = "transducers"; + version = "20241012-git"; + asds = [ "transducers" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-transducers/2024-10-12/cl-transducers-20241012-git.tgz"; + sha256 = "1n7g2fr5bxyq1axp3a1pw01c5v167njhd7i0gbpq35s1fxvqw6ik"; + system = "transducers"; + asd = "transducers"; + } + ); + systems = [ "transducers" ]; + lispLibs = [ (getAttr "sycamore" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + transducers-jzon = ( + build-asdf-system { + pname = "transducers-jzon"; + version = "20241012-git"; + asds = [ "transducers-jzon" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-transducers/2024-10-12/cl-transducers-20241012-git.tgz"; + sha256 = "1n7g2fr5bxyq1axp3a1pw01c5v167njhd7i0gbpq35s1fxvqw6ik"; + system = "transducers-jzon"; + asd = "transducers"; + } + ); + systems = [ "transducers-jzon" ]; + lispLibs = [ + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "transducers" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + transit = ( + build-asdf-system { + pname = "transit"; + version = "20241012-git"; + asds = [ "transit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-transit/2024-10-12/cl-transit-20241012-git.tgz"; + sha256 = "09rlajmcljl43n5866ackbdjkdz19sd12wzdzxnk2l7bjx3khqm4"; + system = "transit"; + asd = "transit"; + } + ); + systems = [ "transit" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bit-smasher" self) + (getAttr "cl-messagepack" self) + (getAttr "com_dot_inuoe_dot_jzon" self) + (getAttr "flexi-streams" self) + (getAttr "frugal-uuid" self) + (getAttr "fset" self) + (getAttr "local-time" self) + (getAttr "parse-float" self) + (getAttr "quri" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + transit-tests = ( + build-asdf-system { + pname = "transit-tests"; + version = "20241012-git"; + asds = [ "transit-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-transit/2024-10-12/cl-transit-20241012-git.tgz"; + sha256 = "09rlajmcljl43n5866ackbdjkdz19sd12wzdzxnk2l7bjx3khqm4"; + system = "transit-tests"; + asd = "transit-tests"; + } + ); + systems = [ "transit-tests" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "fiveam" self) + (getAttr "marshal" self) + (getAttr "transit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + translate = ( + build-asdf-system { + pname = "translate"; + version = "20180228-git"; + asds = [ "translate" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/translate/2018-02-28/translate-20180228-git.tgz"; + sha256 = "07bvdmj8x77k8pw24yhfp1xv9h40n5w717vgj3wmq703159kyjia"; + system = "translate"; + asd = "translate"; + } + ); + systems = [ "translate" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + translate-client = ( + build-asdf-system { + pname = "translate-client"; + version = "20180228-git"; + asds = [ "translate-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/translate-client/2018-02-28/translate-client-20180228-git.tgz"; + sha256 = "0mjzzahy5wrycik37dirwnvcd5bj5xm20cnw6cmzh0ncvb442mdx"; + system = "translate-client"; + asd = "translate-client"; + } + ); + systems = [ "translate-client" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "assoc-utils" self) + (getAttr "dexador" self) + (getAttr "quri" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + translators = ( + build-asdf-system { + pname = "translators"; + version = "master-fe503896-git"; + asds = [ "translators" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "translators"; + asd = "translators"; + } + ); + systems = [ "translators" ]; + lispLibs = [ (getAttr "gwl" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + transparent-wrap = ( + build-asdf-system { + pname = "transparent-wrap"; + version = "20200925-git"; + asds = [ "transparent-wrap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/transparent-wrap/2020-09-25/transparent-wrap-20200925-git.tgz"; + sha256 = "0ghva34ksdvczfwpjdaf97bkjxrp35fjqkxamyqf7fbadh4wmfqj"; + system = "transparent-wrap"; + asd = "transparent-wrap"; + } + ); + systems = [ "transparent-wrap" ]; + lispLibs = [ + (getAttr "fare-quasiquote-extras" self) + (getAttr "named-readtables" self) + (getAttr "optima" self) + (getAttr "trivial-arguments" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tree = ( + build-asdf-system { + pname = "tree"; + version = "master-fe503896-git"; + asds = [ "tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "tree"; + asd = "tree"; + } + ); + systems = [ "tree" ]; + lispLibs = [ (getAttr "gwl-graphics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tree-search = ( + build-asdf-system { + pname = "tree-search"; + version = "0.0.1"; + asds = [ "tree-search" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tree-search/2020-12-20/tree-search-0.0.1.tgz"; + sha256 = "10qgd5yj3n2w4j6wsq1xly0hnpdi1bhhzpia4s1gpkywhglw84zq"; + system = "tree-search"; + asd = "tree-search"; + } + ); + systems = [ "tree-search" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + treedb = ( + build-asdf-system { + pname = "treedb"; + version = "20160825-git"; + asds = [ "treedb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz"; + sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq"; + system = "treedb"; + asd = "treedb"; + } + ); + systems = [ "treedb" ]; + lispLibs = [ (getAttr "cl-json" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + treedb_dot_doc = ( + build-asdf-system { + pname = "treedb.doc"; + version = "20160825-git"; + asds = [ "treedb.doc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz"; + sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq"; + system = "treedb.doc"; + asd = "treedb.doc"; + } + ); + systems = [ "treedb.doc" ]; + lispLibs = [ + (getAttr "cl-gendoc" self) + (getAttr "treedb" self) + (getAttr "treedb_dot_tests" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + treedb_dot_tests = ( + build-asdf-system { + pname = "treedb.tests"; + version = "20160825-git"; + asds = [ "treedb.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz"; + sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq"; + system = "treedb.tests"; + asd = "treedb.tests"; + } + ); + systems = [ "treedb.tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "treedb" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trees = ( + build-asdf-system { + pname = "trees"; + version = "20180131-git"; + asds = [ "trees" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trees/2018-01-31/trees-20180131-git.tgz"; + sha256 = "1xvydf3qc17rd7ia8sffxcpclgm3l0iyhx8k72ddk59v3pg5is4k"; + system = "trees"; + asd = "trees"; + } + ); + systems = [ "trees" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trees-tests = ( + build-asdf-system { + pname = "trees-tests"; + version = "20180131-git"; + asds = [ "trees-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trees/2018-01-31/trees-20180131-git.tgz"; + sha256 = "1xvydf3qc17rd7ia8sffxcpclgm3l0iyhx8k72ddk59v3pg5is4k"; + system = "trees-tests"; + asd = "trees"; + } + ); + systems = [ "trees-tests" ]; + lispLibs = [ (getAttr "trees" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trestrul = ( + build-asdf-system { + pname = "trestrul"; + version = "20211020-git"; + asds = [ "trestrul" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trestrul/2021-10-20/trestrul-20211020-git.tgz"; + sha256 = "12bghcfnfxq8l4a1jzh6vx4yna9da1xvp0b7kfdcfylnyga9ivy6"; + system = "trestrul"; + asd = "trestrul"; + } + ); + systems = [ "trestrul" ]; + lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trestrul_dot_test = ( + build-asdf-system { + pname = "trestrul.test"; + version = "20211020-git"; + asds = [ "trestrul.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trestrul/2021-10-20/trestrul-20211020-git.tgz"; + sha256 = "12bghcfnfxq8l4a1jzh6vx4yna9da1xvp0b7kfdcfylnyga9ivy6"; + system = "trestrul.test"; + asd = "trestrul.test"; + } + ); + systems = [ "trestrul.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "trestrul" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivia = ( + build-asdf-system { + pname = "trivia"; + version = "20241012-git"; + asds = [ "trivia" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia"; + asd = "trivia"; + } + ); + systems = [ "trivia" ]; + lispLibs = [ (getAttr "trivia_dot_balland2006" self) ]; + meta = { }; + } + ); + trivia_dot_balland2006 = ( + build-asdf-system { + pname = "trivia.balland2006"; + version = "20241012-git"; + asds = [ "trivia.balland2006" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.balland2006"; + asd = "trivia.balland2006"; + } + ); + systems = [ "trivia.balland2006" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + (getAttr "trivia_dot_trivial" self) + (getAttr "type-i" self) + ]; + meta = { }; + } + ); + trivia_dot_benchmark = ( + build-asdf-system { + pname = "trivia.benchmark"; + version = "20241012-git"; + asds = [ "trivia.benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.benchmark"; + asd = "trivia.benchmark"; + } + ); + systems = [ "trivia.benchmark" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "optima" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_balland2006" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivia_dot_cffi = ( + build-asdf-system { + pname = "trivia.cffi"; + version = "20241012-git"; + asds = [ "trivia.cffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.cffi"; + asd = "trivia.cffi"; + } + ); + systems = [ "trivia.cffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "trivia_dot_trivial" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivia_dot_fset = ( + build-asdf-system { + pname = "trivia.fset"; + version = "20241012-git"; + asds = [ "trivia.fset" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.fset"; + asd = "trivia.fset"; + } + ); + systems = [ "trivia.fset" ]; + lispLibs = [ + (getAttr "fset" self) + (getAttr "trivia_dot_trivial" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivia_dot_level0 = ( + build-asdf-system { + pname = "trivia.level0"; + version = "20241012-git"; + asds = [ "trivia.level0" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.level0"; + asd = "trivia.level0"; + } + ); + systems = [ "trivia.level0" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + trivia_dot_level1 = ( + build-asdf-system { + pname = "trivia.level1"; + version = "20241012-git"; + asds = [ "trivia.level1" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.level1"; + asd = "trivia.level1"; + } + ); + systems = [ "trivia.level1" ]; + lispLibs = [ (getAttr "trivia_dot_level0" self) ]; + meta = { }; + } + ); + trivia_dot_level2 = ( + build-asdf-system { + pname = "trivia.level2"; + version = "20241012-git"; + asds = [ "trivia.level2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.level2"; + asd = "trivia.level2"; + } + ); + systems = [ "trivia.level2" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "lisp-namespace" self) + (getAttr "trivia_dot_level1" self) + (getAttr "trivial-cltl2" self) + ]; + meta = { }; + } + ); + trivia_dot_ppcre = ( + build-asdf-system { + pname = "trivia.ppcre"; + version = "20241012-git"; + asds = [ "trivia.ppcre" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.ppcre"; + asd = "trivia.ppcre"; + } + ); + systems = [ "trivia.ppcre" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "trivia_dot_trivial" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivia_dot_quasiquote = ( + build-asdf-system { + pname = "trivia.quasiquote"; + version = "20241012-git"; + asds = [ "trivia.quasiquote" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.quasiquote"; + asd = "trivia.quasiquote"; + } + ); + systems = [ "trivia.quasiquote" ]; + lispLibs = [ + (getAttr "fare-quasiquote-readtable" self) + (getAttr "trivia_dot_trivial" self) + ]; + meta = { }; + } + ); + trivia_dot_test = ( + build-asdf-system { + pname = "trivia.test"; + version = "20241012-git"; + asds = [ "trivia.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.test"; + asd = "trivia.test"; + } + ); + systems = [ "trivia.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "optima" self) + (getAttr "trivia" self) + (getAttr "trivia_dot_cffi" self) + (getAttr "trivia_dot_fset" self) + (getAttr "trivia_dot_ppcre" self) + (getAttr "trivia_dot_quasiquote" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivia_dot_trivial = ( + build-asdf-system { + pname = "trivia.trivial"; + version = "20241012-git"; + asds = [ "trivia.trivial" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivia/2024-10-12/trivia-20241012-git.tgz"; + sha256 = "1kysjmgi0hg4f4vwn64494aylsywxs66ksz3bnissf9p5nzgz61b"; + system = "trivia.trivial"; + asd = "trivia.trivial"; + } + ); + systems = [ "trivia.trivial" ]; + lispLibs = [ (getAttr "trivia_dot_level2" self) ]; + meta = { }; + } + ); + trivial-adjust-simple-array = ( + build-asdf-system { + pname = "trivial-adjust-simple-array"; + version = "20241012-git"; + asds = [ "trivial-adjust-simple-array" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-adjust-simple-array/2024-10-12/trivial-adjust-simple-array-20241012-git.tgz"; + sha256 = "05yifs4b44whqz4bgv4wys6kvza8y7z5w52kh55ch7krpv61ncy6"; + system = "trivial-adjust-simple-array"; + asd = "trivial-adjust-simple-array"; + } + ); + systems = [ "trivial-adjust-simple-array" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-arguments = ( + build-asdf-system { + pname = "trivial-arguments"; + version = "20241012-git"; + asds = [ "trivial-arguments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-arguments/2024-10-12/trivial-arguments-20241012-git.tgz"; + sha256 = "1x1jifrw4ryyqgbln07znrc1drl4gxvzhbhv5gl1kgp2xm0rvr7j"; + system = "trivial-arguments"; + asd = "trivial-arguments"; + } + ); + systems = [ "trivial-arguments" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-backtrace = ( + build-asdf-system { + pname = "trivial-backtrace"; + version = "20230214-git"; + asds = [ "trivial-backtrace" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-backtrace/2023-02-14/trivial-backtrace-20230214-git.tgz"; + sha256 = "11j0p3vgmnn5q84xw7sacr5p3cvff2hfhsh2is8xpm2iwxc723kn"; + system = "trivial-backtrace"; + asd = "trivial-backtrace"; + } + ); + systems = [ "trivial-backtrace" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-backtrace-test = ( + build-asdf-system { + pname = "trivial-backtrace-test"; + version = "20230214-git"; + asds = [ "trivial-backtrace-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-backtrace/2023-02-14/trivial-backtrace-20230214-git.tgz"; + sha256 = "11j0p3vgmnn5q84xw7sacr5p3cvff2hfhsh2is8xpm2iwxc723kn"; + system = "trivial-backtrace-test"; + asd = "trivial-backtrace-test"; + } + ); + systems = [ "trivial-backtrace-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "trivial-backtrace" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-battery = ( + build-asdf-system { + pname = "trivial-battery"; + version = "20211020-git"; + asds = [ "trivial-battery" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-battery/2021-10-20/trivial-battery-20211020-git.tgz"; + sha256 = "12ni2502v9gjszhjsh0aai08cm64gl8g815xghdjhcf7y34ffl2b"; + system = "trivial-battery"; + asd = "trivial-battery"; + } + ); + systems = [ "trivial-battery" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-benchmark = ( + build-asdf-system { + pname = "trivial-benchmark"; + version = "20231021-git"; + asds = [ "trivial-benchmark" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-benchmark/2023-10-21/trivial-benchmark-20231021-git.tgz"; + sha256 = "1p48wgpady0n8frdcgp7sbg93b0fbvpx1qk5valmanhwr9j3xh88"; + system = "trivial-benchmark"; + asd = "trivial-benchmark"; + } + ); + systems = [ "trivial-benchmark" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-bit-streams = ( + build-asdf-system { + pname = "trivial-bit-streams"; + version = "20190710-git"; + asds = [ "trivial-bit-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-bit-streams/2019-07-10/trivial-bit-streams-20190710-git.tgz"; + sha256 = "01xcs069934pzm8gi1xkwgd4lw37ams30i6rcgrlw8gnx4zc4zc9"; + system = "trivial-bit-streams"; + asd = "trivial-bit-streams"; + } + ); + systems = [ "trivial-bit-streams" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-bit-streams-tests = ( + build-asdf-system { + pname = "trivial-bit-streams-tests"; + version = "20190710-git"; + asds = [ "trivial-bit-streams-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-bit-streams/2019-07-10/trivial-bit-streams-20190710-git.tgz"; + sha256 = "01xcs069934pzm8gi1xkwgd4lw37ams30i6rcgrlw8gnx4zc4zc9"; + system = "trivial-bit-streams-tests"; + asd = "trivial-bit-streams-tests"; + } + ); + systems = [ "trivial-bit-streams-tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "trivial-bit-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-build = ( + build-asdf-system { + pname = "trivial-build"; + version = "20151218-git"; + asds = [ "trivial-build" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-build/2015-12-18/trivial-build-20151218-git.tgz"; + sha256 = "10h1igvryaqz6f72i57ppifysnw8swnss9395sijnk595icja7q0"; + system = "trivial-build"; + asd = "trivial-build"; + } + ); + systems = [ "trivial-build" ]; + lispLibs = [ + (getAttr "lisp-invocation" self) + (getAttr "trivial-exe" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-build-test = ( + build-asdf-system { + pname = "trivial-build-test"; + version = "20151218-git"; + asds = [ "trivial-build-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-build/2015-12-18/trivial-build-20151218-git.tgz"; + sha256 = "10h1igvryaqz6f72i57ppifysnw8swnss9395sijnk595icja7q0"; + system = "trivial-build-test"; + asd = "trivial-build-test"; + } + ); + systems = [ "trivial-build-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-build" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-channels = ( + build-asdf-system { + pname = "trivial-channels"; + version = "20160421-git"; + asds = [ "trivial-channels" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-channels/2016-04-21/trivial-channels-20160421-git.tgz"; + sha256 = "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"; + system = "trivial-channels"; + asd = "trivial-channels"; + } + ); + systems = [ "trivial-channels" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "trivial-timeout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-clipboard = ( + build-asdf-system { + pname = "trivial-clipboard"; + version = "20241012-git"; + asds = [ "trivial-clipboard" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-clipboard/2024-10-12/trivial-clipboard-20241012-git.tgz"; + sha256 = "1agj4nvw4qq7k4vp64y15gq5h5g22zasys48c2bvzqjr0n9d4lj1"; + system = "trivial-clipboard"; + asd = "trivial-clipboard"; + } + ); + systems = [ "trivial-clipboard" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-clipboard-test = ( + build-asdf-system { + pname = "trivial-clipboard-test"; + version = "20241012-git"; + asds = [ "trivial-clipboard-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-clipboard/2024-10-12/trivial-clipboard-20241012-git.tgz"; + sha256 = "1agj4nvw4qq7k4vp64y15gq5h5g22zasys48c2bvzqjr0n9d4lj1"; + system = "trivial-clipboard-test"; + asd = "trivial-clipboard-test"; + } + ); + systems = [ "trivial-clipboard-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-clipboard" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-clock = ( + build-asdf-system { + pname = "trivial-clock"; + version = "20241012-git"; + asds = [ "trivial-clock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-trivial-clock/2024-10-12/cl-trivial-clock-20241012-git.tgz"; + sha256 = "1m1351j3xvrf6631gmf99xaxb3dhh4ak657p1hac3b9f9a5h85nd"; + system = "trivial-clock"; + asd = "trivial-clock"; + } + ); + systems = [ "trivial-clock" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-cltl2 = ( + build-asdf-system { + pname = "trivial-cltl2"; + version = "20211230-git"; + asds = [ "trivial-cltl2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-cltl2/2021-12-30/trivial-cltl2-20211230-git.tgz"; + sha256 = "0xx5vr0dp623m111zbfdk6x7l4jgd4wwyp6iarbj6ijq514wi3a3"; + system = "trivial-cltl2"; + asd = "trivial-cltl2"; + } + ); + systems = [ "trivial-cltl2" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-compress = ( + build-asdf-system { + pname = "trivial-compress"; + version = "20201220-git"; + asds = [ "trivial-compress" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-compress/2020-12-20/trivial-compress-20201220-git.tgz"; + sha256 = "1pbaz0phvzi27dgnfknscak1h27bsi16gys23kchg8y8zbm0z0g7"; + system = "trivial-compress"; + asd = "trivial-compress"; + } + ); + systems = [ "trivial-compress" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "archive" self) + (getAttr "which" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-compress-test = ( + build-asdf-system { + pname = "trivial-compress-test"; + version = "20201220-git"; + asds = [ "trivial-compress-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-compress/2020-12-20/trivial-compress-20201220-git.tgz"; + sha256 = "1pbaz0phvzi27dgnfknscak1h27bsi16gys23kchg8y8zbm0z0g7"; + system = "trivial-compress-test"; + asd = "trivial-compress-test"; + } + ); + systems = [ "trivial-compress-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-compress" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-continuation = ( + build-asdf-system { + pname = "trivial-continuation"; + version = "20191007-git"; + asds = [ "trivial-continuation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-continuation/2019-10-07/trivial-continuation-20191007-git.tgz"; + sha256 = "1j8d8q86r60qr9pi5p3q7rqn16xpzbzygs0i9b8sn3qyxnnz5037"; + system = "trivial-continuation"; + asd = "trivial-continuation"; + } + ); + systems = [ "trivial-continuation" ]; + lispLibs = [ + (getAttr "log4cl" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-coverage = ( + build-asdf-system { + pname = "trivial-coverage"; + version = "20200218-git"; + asds = [ "trivial-coverage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-coverage/2020-02-18/trivial-coverage-20200218-git.tgz"; + sha256 = "1ak4mjcvzdjsjjh7j89zlnwgaamfrspxmjh2i9kg67kqn36prbsp"; + system = "trivial-coverage"; + asd = "trivial-coverage"; + } + ); + systems = [ "trivial-coverage" ]; + lispLibs = [ (getAttr "lquery" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-custom-debugger = ( + build-asdf-system { + pname = "trivial-custom-debugger"; + version = "20231021-git"; + asds = [ "trivial-custom-debugger" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-custom-debugger/2023-10-21/trivial-custom-debugger-20231021-git.tgz"; + sha256 = "11x0wpnfllazaqlrgv9xx1mb5q62dx6ny08hpwgkq3jpvqbhxs3b"; + system = "trivial-custom-debugger"; + asd = "trivial-custom-debugger"; + } + ); + systems = [ "trivial-custom-debugger" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-debug-console = ( + build-asdf-system { + pname = "trivial-debug-console"; + version = "20150407-git"; + asds = [ "trivial-debug-console" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-debug-console/2015-04-07/trivial-debug-console-20150407-git.tgz"; + sha256 = "07r42k57vldg01hfwjhkic2hsy84c2s5zj7pl60xjl960i0lqnam"; + system = "trivial-debug-console"; + asd = "trivial-debug-console"; + } + ); + systems = [ "trivial-debug-console" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-do = ( + build-asdf-system { + pname = "trivial-do"; + version = "20220331-git"; + asds = [ "trivial-do" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-do/2022-03-31/trivial-do-20220331-git.tgz"; + sha256 = "0vql7am4zyg6zav3l6n6q3qgdxlnchdxpgdxp8lr9sm7jra7sdsf"; + system = "trivial-do"; + asd = "trivial-do"; + } + ); + systems = [ "trivial-do" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-documentation = ( + build-asdf-system { + pname = "trivial-documentation"; + version = "20161204-git"; + asds = [ "trivial-documentation" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-documentation/2016-12-04/trivial-documentation-20161204-git.tgz"; + sha256 = "0y90zi6kaw7226xc089dl47677fz594a5ck1ld8yggk9ww7cdaav"; + system = "trivial-documentation"; + asd = "trivial-documentation"; + } + ); + systems = [ "trivial-documentation" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-documentation-test = ( + build-asdf-system { + pname = "trivial-documentation-test"; + version = "20161204-git"; + asds = [ "trivial-documentation-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-documentation/2016-12-04/trivial-documentation-20161204-git.tgz"; + sha256 = "0y90zi6kaw7226xc089dl47677fz594a5ck1ld8yggk9ww7cdaav"; + system = "trivial-documentation-test"; + asd = "trivial-documentation-test"; + } + ); + systems = [ "trivial-documentation-test" ]; + lispLibs = [ (getAttr "trivial-documentation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-download = ( + build-asdf-system { + pname = "trivial-download"; + version = "20230214-git"; + asds = [ "trivial-download" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-download/2023-02-14/trivial-download-20230214-git.tgz"; + sha256 = "17kag2zi1r766n2mg4knz4ix268bll2acl0150cksibfa4dbq1k7"; + system = "trivial-download"; + asd = "trivial-download"; + } + ); + systems = [ "trivial-download" ]; + lispLibs = [ (getAttr "drakma" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-dump-core = ( + build-asdf-system { + pname = "trivial-dump-core"; + version = "20170227-git"; + asds = [ "trivial-dump-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-dump-core/2017-02-27/trivial-dump-core-20170227-git.tgz"; + sha256 = "08lnp84gbf3yd3gpnbjbl8jm9p42j3m4hf2f355l7lylb8kabxn8"; + system = "trivial-dump-core"; + asd = "trivial-dump-core"; + } + ); + systems = [ "trivial-dump-core" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ed-functions = ( + build-asdf-system { + pname = "trivial-ed-functions"; + version = "20210807-git"; + asds = [ "trivial-ed-functions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ed-functions/2021-08-07/trivial-ed-functions-20210807-git.tgz"; + sha256 = "05r8n4jjcg2lci5qrjwqz913wivckgk01ivjg1barpnm0nr29qn1"; + system = "trivial-ed-functions"; + asd = "trivial-ed-functions"; + } + ); + systems = [ "trivial-ed-functions" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-escapes = ( + build-asdf-system { + pname = "trivial-escapes"; + version = "20180228-git"; + asds = [ "trivial-escapes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-escapes/2018-02-28/trivial-escapes-20180228-git.tgz"; + sha256 = "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"; + system = "trivial-escapes"; + asd = "trivial-escapes"; + } + ); + systems = [ "trivial-escapes" ]; + lispLibs = [ (getAttr "named-readtables" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-escapes-test = ( + build-asdf-system { + pname = "trivial-escapes-test"; + version = "20180228-git"; + asds = [ "trivial-escapes-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-escapes/2018-02-28/trivial-escapes-20180228-git.tgz"; + sha256 = "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"; + system = "trivial-escapes-test"; + asd = "trivial-escapes-test"; + } + ); + systems = [ "trivial-escapes-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-escapes" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-exe = ( + build-asdf-system { + pname = "trivial-exe"; + version = "20151218-git"; + asds = [ "trivial-exe" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-exe/2015-12-18/trivial-exe-20151218-git.tgz"; + sha256 = "1ryn7gh3n057czj3hwq6lx7h25ipfjxsvddywpm2ngfdwywaqzvc"; + system = "trivial-exe"; + asd = "trivial-exe"; + } + ); + systems = [ "trivial-exe" ]; + lispLibs = [ (getAttr "osicat" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-exe-test = ( + build-asdf-system { + pname = "trivial-exe-test"; + version = "20151218-git"; + asds = [ "trivial-exe-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-exe/2015-12-18/trivial-exe-20151218-git.tgz"; + sha256 = "1ryn7gh3n057czj3hwq6lx7h25ipfjxsvddywpm2ngfdwywaqzvc"; + system = "trivial-exe-test"; + asd = "trivial-exe-test"; + } + ); + systems = [ "trivial-exe-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-exe" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-extensible-sequences = ( + build-asdf-system { + pname = "trivial-extensible-sequences"; + version = "20231021-git"; + asds = [ "trivial-extensible-sequences" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-extensible-sequences/2023-10-21/trivial-extensible-sequences-20231021-git.tgz"; + sha256 = "1mgfvyvy3dkn8wyjqc49czl990rbbfkz7sfrhz9641dilasmw9s6"; + system = "trivial-extensible-sequences"; + asd = "trivial-extensible-sequences"; + } + ); + systems = [ "trivial-extensible-sequences" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-extract = ( + build-asdf-system { + pname = "trivial-extract"; + version = "20160421-git"; + asds = [ "trivial-extract" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-extract/2016-04-21/trivial-extract-20160421-git.tgz"; + sha256 = "0083x71f4x6b64wd8ywgaiqi0ygmdhl5rv101jcv44l3l61839sx"; + system = "trivial-extract"; + asd = "trivial-extract"; + } + ); + systems = [ "trivial-extract" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "archive" self) + (getAttr "cl-fad" self) + (getAttr "deflate" self) + (getAttr "which" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-extract-test = ( + build-asdf-system { + pname = "trivial-extract-test"; + version = "20160421-git"; + asds = [ "trivial-extract-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-extract/2016-04-21/trivial-extract-20160421-git.tgz"; + sha256 = "0083x71f4x6b64wd8ywgaiqi0ygmdhl5rv101jcv44l3l61839sx"; + system = "trivial-extract-test"; + asd = "trivial-extract-test"; + } + ); + systems = [ "trivial-extract-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-extract" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-features = ( + build-asdf-system { + pname = "trivial-features"; + version = "20230618-git"; + asds = [ "trivial-features" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-features/2023-06-18/trivial-features-20230618-git.tgz"; + sha256 = "0r33ycg1wsmglbsychglzkd6fachnnqfzd0w9mhpwi6cz94hx7c3"; + system = "trivial-features"; + asd = "trivial-features"; + } + ); + systems = [ "trivial-features" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-features-tests = ( + build-asdf-system { + pname = "trivial-features-tests"; + version = "20230618-git"; + asds = [ "trivial-features-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-features/2023-06-18/trivial-features-20230618-git.tgz"; + sha256 = "0r33ycg1wsmglbsychglzkd6fachnnqfzd0w9mhpwi6cz94hx7c3"; + system = "trivial-features-tests"; + asd = "trivial-features-tests"; + } + ); + systems = [ "trivial-features-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "rt" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-file-size = ( + build-asdf-system { + pname = "trivial-file-size"; + version = "20241012-git"; + asds = [ "trivial-file-size" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-file-size/2024-10-12/trivial-file-size-20241012-git.tgz"; + sha256 = "08dbyrrgvvl459lk3pcq0j7qryb20hdh946y42h4jsp5crhbi71z"; + system = "trivial-file-size"; + asd = "trivial-file-size"; + } + ); + systems = [ "trivial-file-size" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-garbage = ( + build-asdf-system { + pname = "trivial-garbage"; + version = "20231021-git"; + asds = [ "trivial-garbage" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-garbage/2023-10-21/trivial-garbage-20231021-git.tgz"; + sha256 = "0rfwxvwg0kpcaa0hsi035yrkfdfks4bq8d9azmrww2f0rmv9g6sd"; + system = "trivial-garbage"; + asd = "trivial-garbage"; + } + ); + systems = [ "trivial-garbage" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-gray-streams = ( + build-asdf-system { + pname = "trivial-gray-streams"; + version = "20241012-git"; + asds = [ "trivial-gray-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-gray-streams/2024-10-12/trivial-gray-streams-20241012-git.tgz"; + sha256 = "0iw6q5hx7x8sc5s7ikvsjccsksbm0rd13d54mkrg62sc56hjywrm"; + system = "trivial-gray-streams"; + asd = "trivial-gray-streams"; + } + ); + systems = [ "trivial-gray-streams" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-gray-streams-test = ( + build-asdf-system { + pname = "trivial-gray-streams-test"; + version = "20241012-git"; + asds = [ "trivial-gray-streams-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-gray-streams/2024-10-12/trivial-gray-streams-20241012-git.tgz"; + sha256 = "0iw6q5hx7x8sc5s7ikvsjccsksbm0rd13d54mkrg62sc56hjywrm"; + system = "trivial-gray-streams-test"; + asd = "trivial-gray-streams-test"; + } + ); + systems = [ "trivial-gray-streams-test" ]; + lispLibs = [ (getAttr "trivial-gray-streams" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-hashtable-serialize = ( + build-asdf-system { + pname = "trivial-hashtable-serialize"; + version = "20191007-git"; + asds = [ "trivial-hashtable-serialize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-hashtable-serialize/2019-10-07/trivial-hashtable-serialize-20191007-git.tgz"; + sha256 = "06xdci47h6rpfkmrf7p9kd217jbkmkmf90ygqcmkkgf3sv5623bh"; + system = "trivial-hashtable-serialize"; + asd = "trivial-hashtable-serialize"; + } + ); + systems = [ "trivial-hashtable-serialize" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-http = ( + build-asdf-system { + pname = "trivial-http"; + version = "20110219-http"; + asds = [ "trivial-http" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-http/2011-02-19/trivial-http-20110219-http.tgz"; + sha256 = "06mrh2bjzhfdzi48dnq0bhl2cac4v41aqck53rfm4rnsygcjsn78"; + system = "trivial-http"; + asd = "trivial-http"; + } + ); + systems = [ "trivial-http" ]; + lispLibs = [ (getAttr "usocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-http-test = ( + build-asdf-system { + pname = "trivial-http-test"; + version = "20110219-http"; + asds = [ "trivial-http-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-http/2011-02-19/trivial-http-20110219-http.tgz"; + sha256 = "06mrh2bjzhfdzi48dnq0bhl2cac4v41aqck53rfm4rnsygcjsn78"; + system = "trivial-http-test"; + asd = "trivial-http-test"; + } + ); + systems = [ "trivial-http-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "trivial-http" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-indent = ( + build-asdf-system { + pname = "trivial-indent"; + version = "20231021-git"; + asds = [ "trivial-indent" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-indent/2023-10-21/trivial-indent-20231021-git.tgz"; + sha256 = "08qgx34zbpafzws96nq68bgpynddf22ibliqni2jnvhwv74lcpiw"; + system = "trivial-indent"; + asd = "trivial-indent"; + } + ); + systems = [ "trivial-indent" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-inspector-hook = ( + build-asdf-system { + pname = "trivial-inspector-hook"; + version = "20210807-git"; + asds = [ "trivial-inspector-hook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-inspector-hook/2021-08-07/trivial-inspector-hook-20210807-git.tgz"; + sha256 = "0h9m1ps5sqgrr171czj6rq84wpy2xvggfzspvy667xsldv4xi0c2"; + system = "trivial-inspector-hook"; + asd = "trivial-inspector-hook"; + } + ); + systems = [ "trivial-inspector-hook" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-irc = ( + build-asdf-system { + pname = "trivial-irc"; + version = "20171019-git"; + asds = [ "trivial-irc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-irc/2017-10-19/trivial-irc-20171019-git.tgz"; + sha256 = "0jjgx6ld2gcr0w0g5k62dr0rl6202ydih6ylmypv6m5jmrarcbza"; + system = "trivial-irc"; + asd = "trivial-irc"; + } + ); + systems = [ "trivial-irc" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-irc-echobot = ( + build-asdf-system { + pname = "trivial-irc-echobot"; + version = "20171019-git"; + asds = [ "trivial-irc-echobot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-irc/2017-10-19/trivial-irc-20171019-git.tgz"; + sha256 = "0jjgx6ld2gcr0w0g5k62dr0rl6202ydih6ylmypv6m5jmrarcbza"; + system = "trivial-irc-echobot"; + asd = "trivial-irc-echobot"; + } + ); + systems = [ "trivial-irc-echobot" ]; + lispLibs = [ (getAttr "trivial-irc" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-json-codec = ( + build-asdf-system { + pname = "trivial-json-codec"; + version = "20220707-git"; + asds = [ "trivial-json-codec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-json-codec/2022-07-07/trivial-json-codec-20220707-git.tgz"; + sha256 = "1k0nnsn3nsb83gzmkrf81zqz6ydn21gzfq96r2d5690v5zkrg1kg"; + system = "trivial-json-codec"; + asd = "trivial-json-codec"; + } + ); + systems = [ "trivial-json-codec" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "parse-number" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-jumptables = ( + build-asdf-system { + pname = "trivial-jumptables"; + version = "1.1"; + asds = [ "trivial-jumptables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-jumptables/2019-11-30/trivial-jumptables_1.1.tgz"; + sha256 = "10ih84hkscj0l4ki3s196d9b85iil8f56ps5r8ng222i0lln1ni9"; + system = "trivial-jumptables"; + asd = "trivial-jumptables"; + } + ); + systems = [ "trivial-jumptables" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-jumptables__tests = ( + build-asdf-system { + pname = "trivial-jumptables_tests"; + version = "1.1"; + asds = [ "trivial-jumptables_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-jumptables/2019-11-30/trivial-jumptables_1.1.tgz"; + sha256 = "10ih84hkscj0l4ki3s196d9b85iil8f56ps5r8ng222i0lln1ni9"; + system = "trivial-jumptables_tests"; + asd = "trivial-jumptables_tests"; + } + ); + systems = [ "trivial-jumptables_tests" ]; + lispLibs = [ + (getAttr "bubble-operator-upwards" self) + (getAttr "parachute" self) + (getAttr "trivial-jumptables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-lazy = ( + build-asdf-system { + pname = "trivial-lazy"; + version = "20150709-git"; + asds = [ "trivial-lazy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-lazy/2015-07-09/trivial-lazy-20150709-git.tgz"; + sha256 = "0fnsz2kdb0v5cz4xl5a2c1szcif7jmnkxhbzvk6lrhzjccgyhjc7"; + system = "trivial-lazy"; + asd = "trivial-lazy"; + } + ); + systems = [ "trivial-lazy" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ldap = ( + build-asdf-system { + pname = "trivial-ldap"; + version = "20180711-git"; + asds = [ "trivial-ldap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ldap/2018-07-11/trivial-ldap-20180711-git.tgz"; + sha256 = "1zaa4wnk5y5ff211pkg6dl27j4pjwh56hq0246slxsdxv6kvp1z9"; + system = "trivial-ldap"; + asd = "trivial-ldap"; + } + ); + systems = [ "trivial-ldap" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "usocket" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-left-pad = ( + build-asdf-system { + pname = "trivial-left-pad"; + version = "20190813-git"; + asds = [ "trivial-left-pad" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-left-pad/2019-08-13/trivial-left-pad-20190813-git.tgz"; + sha256 = "0q68j0x0x3z8rl577jsl3y0s3x5xiqv54sla6kds43q7821qfnwk"; + system = "trivial-left-pad"; + asd = "trivial-left-pad"; + } + ); + systems = [ "trivial-left-pad" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "prove-asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-left-pad-test = ( + build-asdf-system { + pname = "trivial-left-pad-test"; + version = "20190813-git"; + asds = [ "trivial-left-pad-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-left-pad/2019-08-13/trivial-left-pad-20190813-git.tgz"; + sha256 = "0q68j0x0x3z8rl577jsl3y0s3x5xiqv54sla6kds43q7821qfnwk"; + system = "trivial-left-pad-test"; + asd = "trivial-left-pad"; + } + ); + systems = [ "trivial-left-pad-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-left-pad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-macroexpand-all = ( + build-asdf-system { + pname = "trivial-macroexpand-all"; + version = "20171023-git"; + asds = [ "trivial-macroexpand-all" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-macroexpand-all/2017-10-23/trivial-macroexpand-all-20171023-git.tgz"; + sha256 = "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"; + system = "trivial-macroexpand-all"; + asd = "trivial-macroexpand-all"; + } + ); + systems = [ "trivial-macroexpand-all" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-main-thread = ( + build-asdf-system { + pname = "trivial-main-thread"; + version = "20241012-git"; + asds = [ "trivial-main-thread" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-main-thread/2024-10-12/trivial-main-thread-20241012-git.tgz"; + sha256 = "0vxr82ald41355hvlg0ngrpzkz9y3nyl24h58306kmg982xk4hnk"; + system = "trivial-main-thread"; + asd = "trivial-main-thread"; + } + ); + systems = [ "trivial-main-thread" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "documentation-utils" self) + (getAttr "trivial-features" self) + ]; + meta = { }; + } + ); + trivial-method-combinations = ( + build-asdf-system { + pname = "trivial-method-combinations"; + version = "20191130-git"; + asds = [ "trivial-method-combinations" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-method-combinations/2019-11-30/trivial-method-combinations-20191130-git.tgz"; + sha256 = "0w9w8bj835sfp797rdm7b5crpnz0xrz2q5vgbzm2p9n9jskxnxnv"; + system = "trivial-method-combinations"; + asd = "trivial-method-combinations"; + } + ); + systems = [ "trivial-method-combinations" ]; + lispLibs = [ (getAttr "closer-mop" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-mimes = ( + build-asdf-system { + pname = "trivial-mimes"; + version = "20231021-git"; + asds = [ "trivial-mimes" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-mimes/2023-10-21/trivial-mimes-20231021-git.tgz"; + sha256 = "05cqbg9bh4r9av675vrzgw4p3s1dxb74r2ygvbfkych79kdik871"; + system = "trivial-mimes"; + asd = "trivial-mimes"; + } + ); + systems = [ "trivial-mimes" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-mmap = ( + build-asdf-system { + pname = "trivial-mmap"; + version = "20210124-git"; + asds = [ "trivial-mmap" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-mmap/2021-01-24/trivial-mmap-20210124-git.tgz"; + sha256 = "1ckhd7b0ll9xcmwdh42g0v38grk2acs3kv66k1gwh539f99kzcps"; + system = "trivial-mmap"; + asd = "trivial-mmap"; + } + ); + systems = [ "trivial-mmap" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "osicat" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-monitored-thread = ( + build-asdf-system { + pname = "trivial-monitored-thread"; + version = "20220707-git"; + asds = [ "trivial-monitored-thread" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-monitored-thread/2022-07-07/trivial-monitored-thread-20220707-git.tgz"; + sha256 = "1vmhc5id0qk5yh8az4j1znqc73r18pygmrnfxmwwndh1a9yf98z4"; + system = "trivial-monitored-thread"; + asd = "trivial-monitored-thread"; + } + ); + systems = [ "trivial-monitored-thread" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-msi = ( + build-asdf-system { + pname = "trivial-msi"; + version = "20160208-git"; + asds = [ "trivial-msi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-msi/2016-02-08/trivial-msi-20160208-git.tgz"; + sha256 = "1mbpwnsvv30gf7z8m96kv8933s6csg4q0frx03vazp4ckplwff8w"; + system = "trivial-msi"; + asd = "trivial-msi"; + } + ); + systems = [ "trivial-msi" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-msi-test = ( + build-asdf-system { + pname = "trivial-msi-test"; + version = "20160208-git"; + asds = [ "trivial-msi-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-msi/2016-02-08/trivial-msi-20160208-git.tgz"; + sha256 = "1mbpwnsvv30gf7z8m96kv8933s6csg4q0frx03vazp4ckplwff8w"; + system = "trivial-msi-test"; + asd = "trivial-msi-test"; + } + ); + systems = [ "trivial-msi-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-msi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-nntp = ( + build-asdf-system { + pname = "trivial-nntp"; + version = "20161204-git"; + asds = [ "trivial-nntp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-nntp/2016-12-04/trivial-nntp-20161204-git.tgz"; + sha256 = "0ywwrjx4vaz117zaxqhk2b4xrb75cw1ac5xir9zhvgzkyl6wf867"; + system = "trivial-nntp"; + asd = "trivial-nntp"; + } + ); + systems = [ "trivial-nntp" ]; + lispLibs = [ + (getAttr "cl_plus_ssl" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-object-lock = ( + build-asdf-system { + pname = "trivial-object-lock"; + version = "20220707-git"; + asds = [ "trivial-object-lock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-object-lock/2022-07-07/trivial-object-lock-20220707-git.tgz"; + sha256 = "18xwwgvshib4l2bs6m16mk0kzdp40482yf7v72nzk13v0bgnw91s"; + system = "trivial-object-lock"; + asd = "trivial-object-lock"; + } + ); + systems = [ "trivial-object-lock" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-octet-streams = ( + build-asdf-system { + pname = "trivial-octet-streams"; + version = "20241012-git"; + asds = [ "trivial-octet-streams" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-octet-streams/2024-10-12/trivial-octet-streams-20241012-git.tgz"; + sha256 = "0zj7aijn10hflr87774hwi5k1jzq6j5bgh2hm70ixxhcmaq7lqk5"; + system = "trivial-octet-streams"; + asd = "trivial-octet-streams"; + } + ); + systems = [ "trivial-octet-streams" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-open-browser = ( + build-asdf-system { + pname = "trivial-open-browser"; + version = "20160825-git"; + asds = [ "trivial-open-browser" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-open-browser/2016-08-25/trivial-open-browser-20160825-git.tgz"; + sha256 = "0ixay1piq420i6adx642qhw45l6ik7rvgk52lyz27dvx5f8yqsdb"; + system = "trivial-open-browser"; + asd = "trivial-open-browser"; + } + ); + systems = [ "trivial-open-browser" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-openstack = ( + build-asdf-system { + pname = "trivial-openstack"; + version = "20160628-git"; + asds = [ "trivial-openstack" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-openstack/2016-06-28/trivial-openstack-20160628-git.tgz"; + sha256 = "0sdc6rhjqv1i7wknn44jg5xxnz70087bhfslh0izggny9d9s015i"; + system = "trivial-openstack"; + asd = "trivial-openstack"; + } + ); + systems = [ "trivial-openstack" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "drakma" self) + (getAttr "local-time" self) + (getAttr "st-json" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-openstack-test = ( + build-asdf-system { + pname = "trivial-openstack-test"; + version = "20160628-git"; + asds = [ "trivial-openstack-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-openstack/2016-06-28/trivial-openstack-20160628-git.tgz"; + sha256 = "0sdc6rhjqv1i7wknn44jg5xxnz70087bhfslh0izggny9d9s015i"; + system = "trivial-openstack-test"; + asd = "trivial-openstack-test"; + } + ); + systems = [ "trivial-openstack-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "hunchentoot" self) + (getAttr "local-time" self) + (getAttr "st-json" self) + (getAttr "trivial-openstack" self) + (getAttr "uri-template" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-package-local-nicknames = ( + build-asdf-system { + pname = "trivial-package-local-nicknames"; + version = "20220220-git"; + asds = [ "trivial-package-local-nicknames" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-package-local-nicknames/2022-02-20/trivial-package-local-nicknames-20220220-git.tgz"; + sha256 = "0p80s474czfqh7phd4qq5yjcy8q2160vxmn8pi6qlkqgdd7ix37r"; + system = "trivial-package-local-nicknames"; + asd = "trivial-package-local-nicknames"; + } + ); + systems = [ "trivial-package-local-nicknames" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-package-locks = ( + build-asdf-system { + pname = "trivial-package-locks"; + version = "20241012-git"; + asds = [ "trivial-package-locks" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-package-locks/2024-10-12/trivial-package-locks-20241012-git.tgz"; + sha256 = "09zhirygjmwr4xvwp1zx9b17mkxml7f7rni1xiwxg5vfgn0y1bi3"; + system = "trivial-package-locks"; + asd = "trivial-package-locks"; + } + ); + systems = [ "trivial-package-locks" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-package-manager = ( + build-asdf-system { + pname = "trivial-package-manager"; + version = "20241012-git"; + asds = [ "trivial-package-manager" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-package-manager/2024-10-12/trivial-package-manager-20241012-git.tgz"; + sha256 = "1q71r9h5xra0bg5c5v2gzjjswfv626gfg9sxn59w645g30xn1sph"; + system = "trivial-package-manager"; + asd = "trivial-package-manager"; + } + ); + systems = [ "trivial-package-manager" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-features" self) + (getAttr "trivial-open-browser" self) + ]; + meta = { }; + } + ); + trivial-package-manager_dot_test = ( + build-asdf-system { + pname = "trivial-package-manager.test"; + version = "20241012-git"; + asds = [ "trivial-package-manager.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-package-manager/2024-10-12/trivial-package-manager-20241012-git.tgz"; + sha256 = "1q71r9h5xra0bg5c5v2gzjjswfv626gfg9sxn59w645g30xn1sph"; + system = "trivial-package-manager.test"; + asd = "trivial-package-manager.test"; + } + ); + systems = [ "trivial-package-manager.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-package-manager" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-pooled-database = ( + build-asdf-system { + pname = "trivial-pooled-database"; + version = "20201220-git"; + asds = [ "trivial-pooled-database" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-pooled-database/2020-12-20/trivial-pooled-database-20201220-git.tgz"; + sha256 = "0a7c8bjl13k37b83lksklcw9sch570wgqv58cgs0dw9jcmsihqmx"; + system = "trivial-pooled-database"; + asd = "trivial-pooled-database"; + } + ); + systems = [ "trivial-pooled-database" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-dbi" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "parse-number" self) + (getAttr "trivial-object-lock" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-project = ( + build-asdf-system { + pname = "trivial-project"; + version = "quicklisp-9e3fe231-git"; + asds = [ "trivial-project" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-project/2017-08-30/trivial-project-quicklisp-9e3fe231-git.tgz"; + sha256 = "1s5h0fgs0rq00j492xln716w9i52v90rnfcr0idjzyimicx7hk22"; + system = "trivial-project"; + asd = "trivial-project"; + } + ); + systems = [ "trivial-project" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-raw-io = ( + build-asdf-system { + pname = "trivial-raw-io"; + version = "20141217-git"; + asds = [ "trivial-raw-io" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-raw-io/2014-12-17/trivial-raw-io-20141217-git.tgz"; + sha256 = "19290zw2b64k78wr62gv30pp7cmqg07q85vfwjknaffjdd73xwi1"; + system = "trivial-raw-io"; + asd = "trivial-raw-io"; + } + ); + systems = [ "trivial-raw-io" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-renamer = ( + build-asdf-system { + pname = "trivial-renamer"; + version = "quicklisp-1282597d-git"; + asds = [ "trivial-renamer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-renamer/2017-08-30/trivial-renamer-quicklisp-1282597d-git.tgz"; + sha256 = "1nlgsayx4iw6gskg0d5vc823p0lmh414k9jiccvcsk1r17684mp8"; + system = "trivial-renamer"; + asd = "trivial-renamer"; + } + ); + systems = [ "trivial-renamer" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-rfc-1123 = ( + build-asdf-system { + pname = "trivial-rfc-1123"; + version = "20220707-git"; + asds = [ "trivial-rfc-1123" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-rfc-1123/2022-07-07/trivial-rfc-1123-20220707-git.tgz"; + sha256 = "1w4ywpj10fnp7cya62dzlxlg8nyk4lppn2pnmfixsndwr4ib1h6x"; + system = "trivial-rfc-1123"; + asd = "trivial-rfc-1123"; + } + ); + systems = [ "trivial-rfc-1123" ]; + lispLibs = [ (getAttr "cl-ppcre" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-sanitize = ( + build-asdf-system { + pname = "trivial-sanitize"; + version = "20241012-git"; + asds = [ "trivial-sanitize" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-sanitize/2024-10-12/trivial-sanitize-20241012-git.tgz"; + sha256 = "18pc1diq0mfmr3ql79islv2mfm4y791vg9xwz3dwp8wa912dd93h"; + system = "trivial-sanitize"; + asd = "trivial-sanitize"; + } + ); + systems = [ "trivial-sanitize" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-html5-parser" self) + (getAttr "cl-ppcre-unicode" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-sanitize-tests = ( + build-asdf-system { + pname = "trivial-sanitize-tests"; + version = "20241012-git"; + asds = [ "trivial-sanitize-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-sanitize/2024-10-12/trivial-sanitize-20241012-git.tgz"; + sha256 = "18pc1diq0mfmr3ql79islv2mfm4y791vg9xwz3dwp8wa912dd93h"; + system = "trivial-sanitize-tests"; + asd = "trivial-sanitize-tests"; + } + ); + systems = [ "trivial-sanitize-tests" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "clunit2" self) + (getAttr "trivial-sanitize" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-shell = ( + build-asdf-system { + pname = "trivial-shell"; + version = "20241012-git"; + asds = [ "trivial-shell" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-shell/2024-10-12/trivial-shell-20241012-git.tgz"; + sha256 = "0cqfipcywi1ndl43walw7d54rd7layjq3wv2wpz5rlprv7dhpb2p"; + system = "trivial-shell"; + asd = "trivial-shell"; + } + ); + systems = [ "trivial-shell" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-shell-test = ( + build-asdf-system { + pname = "trivial-shell-test"; + version = "20241012-git"; + asds = [ "trivial-shell-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-shell/2024-10-12/trivial-shell-20241012-git.tgz"; + sha256 = "0cqfipcywi1ndl43walw7d54rd7layjq3wv2wpz5rlprv7dhpb2p"; + system = "trivial-shell-test"; + asd = "trivial-shell-test"; + } + ); + systems = [ "trivial-shell-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-signal = ( + build-asdf-system { + pname = "trivial-signal"; + version = "20190710-git"; + asds = [ "trivial-signal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-signal/2019-07-10/trivial-signal-20190710-git.tgz"; + sha256 = "13rh1jwh786xg235rkgqbdqga4b9jwn99zlxm0wr73rs2a5ga8ad"; + system = "trivial-signal"; + asd = "trivial-signal"; + } + ); + systems = [ "trivial-signal" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-sockets = ( + build-asdf-system { + pname = "trivial-sockets"; + version = "20190107-git"; + asds = [ "trivial-sockets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-sockets/2019-01-07/trivial-sockets-20190107-git.tgz"; + sha256 = "0xj9x5z3psxqap9c29qz1xswx5fiqxyzd35kmbw2g6z08cgb7nd0"; + system = "trivial-sockets"; + asd = "trivial-sockets"; + } + ); + systems = [ "trivial-sockets" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ssh = ( + build-asdf-system { + pname = "trivial-ssh"; + version = "20191130-git"; + asds = [ "trivial-ssh" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz"; + sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb"; + system = "trivial-ssh"; + asd = "trivial-ssh"; + } + ); + systems = [ "trivial-ssh" ]; + lispLibs = [ (getAttr "trivial-ssh-libssh2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ssh-libssh2 = ( + build-asdf-system { + pname = "trivial-ssh-libssh2"; + version = "20191130-git"; + asds = [ "trivial-ssh-libssh2" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz"; + sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb"; + system = "trivial-ssh-libssh2"; + asd = "trivial-ssh-libssh2"; + } + ); + systems = [ "trivial-ssh-libssh2" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-fad" self) + (getAttr "split-sequence" self) + (getAttr "trivial-gray-streams" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ssh-test = ( + build-asdf-system { + pname = "trivial-ssh-test"; + version = "20191130-git"; + asds = [ "trivial-ssh-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz"; + sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb"; + system = "trivial-ssh-test"; + asd = "trivial-ssh-test"; + } + ); + systems = [ "trivial-ssh-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivial-ssh" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-system-loader = ( + build-asdf-system { + pname = "trivial-system-loader"; + version = "20241012-git"; + asds = [ "trivial-system-loader" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-system-loader/2024-10-12/trivial-system-loader-20241012-git.tgz"; + sha256 = "094j50asfgyhqcm86p47azviivap0hni2gjp3khdxcn4f9i9d2b0"; + system = "trivial-system-loader"; + asd = "trivial-system-loader"; + } + ); + systems = [ "trivial-system-loader" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-tco = ( + build-asdf-system { + pname = "trivial-tco"; + version = "20131003-git"; + asds = [ "trivial-tco" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-tco/2013-10-03/trivial-tco-20131003-git.tgz"; + sha256 = "0j6mkchrk6bzkpdkrahagip9lxxr8rx3qj4547wg8bdqr7mm2nmi"; + system = "trivial-tco"; + asd = "trivial-tco"; + } + ); + systems = [ "trivial-tco" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-tco-test = ( + build-asdf-system { + pname = "trivial-tco-test"; + version = "20131003-git"; + asds = [ "trivial-tco-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-tco/2013-10-03/trivial-tco-20131003-git.tgz"; + sha256 = "0j6mkchrk6bzkpdkrahagip9lxxr8rx3qj4547wg8bdqr7mm2nmi"; + system = "trivial-tco-test"; + asd = "trivial-tco-test"; + } + ); + systems = [ "trivial-tco-test" ]; + lispLibs = [ + (getAttr "clunit" self) + (getAttr "trivial-tco" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-thumbnail = ( + build-asdf-system { + pname = "trivial-thumbnail"; + version = "20231021-git"; + asds = [ "trivial-thumbnail" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-thumbnail/2023-10-21/trivial-thumbnail-20231021-git.tgz"; + sha256 = "1asa8vg8cyfr0kl86xrpywk0cpqym9lzhkhxb829lqr49vr8zfa7"; + system = "trivial-thumbnail"; + asd = "trivial-thumbnail"; + } + ); + systems = [ "trivial-thumbnail" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-timeout = ( + build-asdf-system { + pname = "trivial-timeout"; + version = "20231021-git"; + asds = [ "trivial-timeout" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-timeout/2023-10-21/trivial-timeout-20231021-git.tgz"; + sha256 = "0s8z9aj6b3kv21yiyk13cjylzf5zlnw9v86vcff477m1gk9yddjs"; + system = "trivial-timeout"; + asd = "trivial-timeout"; + } + ); + systems = [ "trivial-timeout" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-timer = ( + build-asdf-system { + pname = "trivial-timer"; + version = "20210531-git"; + asds = [ "trivial-timer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-timer/2021-05-31/trivial-timer-20210531-git.tgz"; + sha256 = "1b8pnw613h1dngzmv3qglmfrl1jdjbxrsbqnh7rfdj0lnv43h1il"; + system = "trivial-timer"; + asd = "trivial-timer"; + } + ); + systems = [ "trivial-timer" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "chanl" self) + (getAttr "iterate" self) + (getAttr "log4cl" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-toplevel-commands = ( + build-asdf-system { + pname = "trivial-toplevel-commands"; + version = "20241012-git"; + asds = [ "trivial-toplevel-commands" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-toplevel-commands/2024-10-12/trivial-toplevel-commands-20241012-git.tgz"; + sha256 = "03n0dpzgdgghc7cxj1s19w2wlx6r8f1s983f5a6cix5rigx9r834"; + system = "trivial-toplevel-commands"; + asd = "trivial-toplevel-commands"; + } + ); + systems = [ "trivial-toplevel-commands" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-toplevel-prompt = ( + build-asdf-system { + pname = "trivial-toplevel-prompt"; + version = "20241012-git"; + asds = [ "trivial-toplevel-prompt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-toplevel-prompt/2024-10-12/trivial-toplevel-prompt-20241012-git.tgz"; + sha256 = "07gvazwqiw37sic9zz8qnl3gz0b8n4qzrwbmg4wy3rlkps98i4s2"; + system = "trivial-toplevel-prompt"; + asd = "trivial-toplevel-prompt"; + } + ); + systems = [ "trivial-toplevel-prompt" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-types = ( + build-asdf-system { + pname = "trivial-types"; + version = "20120407-git"; + asds = [ "trivial-types" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-types/2012-04-07/trivial-types-20120407-git.tgz"; + sha256 = "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"; + system = "trivial-types"; + asd = "trivial-types"; + } + ); + systems = [ "trivial-types" ]; + lispLibs = [ ]; + meta = { }; + } + ); + trivial-update = ( + build-asdf-system { + pname = "trivial-update"; + version = "20180131-git"; + asds = [ "trivial-update" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-update/2018-01-31/trivial-update-20180131-git.tgz"; + sha256 = "0dpijh9alljk0jmnkp37hfliylscs7xwvlmjkfshizmyh0qjjxir"; + system = "trivial-update"; + asd = "trivial-update"; + } + ); + systems = [ "trivial-update" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-utf-8 = ( + build-asdf-system { + pname = "trivial-utf-8"; + version = "20231021-git"; + asds = [ "trivial-utf-8" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-utf-8/2023-10-21/trivial-utf-8-20231021-git.tgz"; + sha256 = "0paf7ldw6ffl5xilyri3rfygz1v1npagf186i1z8hyxxjkri4q9s"; + system = "trivial-utf-8"; + asd = "trivial-utf-8"; + } + ); + systems = [ "trivial-utf-8" ]; + lispLibs = [ (getAttr "mgl-pax-bootstrap" self) ]; + meta = { }; + } + ); + trivial-utilities = ( + build-asdf-system { + pname = "trivial-utilities"; + version = "20220707-git"; + asds = [ "trivial-utilities" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-utilities/2022-07-07/trivial-utilities-20220707-git.tgz"; + sha256 = "0k1xmn5f5dik7scadw0vyy67mik4ypnfqbhlv2vsg9afxzbpx2dz"; + system = "trivial-utilities"; + asd = "trivial-utilities"; + } + ); + systems = [ "trivial-utilities" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-variable-bindings = ( + build-asdf-system { + pname = "trivial-variable-bindings"; + version = "20191007-git"; + asds = [ "trivial-variable-bindings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-variable-bindings/2019-10-07/trivial-variable-bindings-20191007-git.tgz"; + sha256 = "08lx5m1bspxsnv572zma1hxk3yfyk9fkmi5cvcr5riannyimdqgy"; + system = "trivial-variable-bindings"; + asd = "trivial-variable-bindings"; + } + ); + systems = [ "trivial-variable-bindings" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "trivial-utilities" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-wish = ( + build-asdf-system { + pname = "trivial-wish"; + version = "quicklisp-910afeea-git"; + asds = [ "trivial-wish" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-wish/2017-06-30/trivial-wish-quicklisp-910afeea-git.tgz"; + sha256 = "1ydb9vsanrv6slbddhxc38pq5s88k0rzgqnwabw5cgc8cp5gqvyp"; + system = "trivial-wish"; + asd = "trivial-wish"; + } + ); + systems = [ "trivial-wish" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-with = ( + build-asdf-system { + pname = "trivial-with"; + version = "quicklisp-2fd8ca54-git"; + asds = [ "trivial-with" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-with/2017-08-30/trivial-with-quicklisp-2fd8ca54-git.tgz"; + sha256 = "1h880j9k7piq6y5a6sywn1r43h439dd6vfymqvhgnbx458wy69sq"; + system = "trivial-with"; + asd = "trivial-with"; + } + ); + systems = [ "trivial-with" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-with-current-source-form = ( + build-asdf-system { + pname = "trivial-with-current-source-form"; + version = "20230618-git"; + asds = [ "trivial-with-current-source-form" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-with-current-source-form/2023-06-18/trivial-with-current-source-form-20230618-git.tgz"; + sha256 = "1856m234mcg8l0p63h0j76isx8n2iji569b4r4zf7qs135xbw930"; + system = "trivial-with-current-source-form"; + asd = "trivial-with-current-source-form"; + } + ); + systems = [ "trivial-with-current-source-form" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + trivial-ws = ( + build-asdf-system { + pname = "trivial-ws"; + version = "20180131-git"; + asds = [ "trivial-ws" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz"; + sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7"; + system = "trivial-ws"; + asd = "trivial-ws"; + } + ); + systems = [ "trivial-ws" ]; + lispLibs = [ (getAttr "hunchensocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ws-client = ( + build-asdf-system { + pname = "trivial-ws-client"; + version = "20180131-git"; + asds = [ "trivial-ws-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz"; + sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7"; + system = "trivial-ws-client"; + asd = "trivial-ws-client"; + } + ); + systems = [ "trivial-ws-client" ]; + lispLibs = [ + (getAttr "cl-async" self) + (getAttr "websocket-driver" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-ws-test = ( + build-asdf-system { + pname = "trivial-ws-test"; + version = "20180131-git"; + asds = [ "trivial-ws-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz"; + sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7"; + system = "trivial-ws-test"; + asd = "trivial-ws-test"; + } + ); + systems = [ "trivial-ws-test" ]; + lispLibs = [ + (getAttr "find-port" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "trivial-ws" self) + (getAttr "trivial-ws-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivial-yenc = ( + build-asdf-system { + pname = "trivial-yenc"; + version = "20161204-git"; + asds = [ "trivial-yenc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivial-yenc/2016-12-04/trivial-yenc-20161204-git.tgz"; + sha256 = "0jsqwixgikdinc1rq22c4dh9kgg6z0kvw9rh9sbssbmxv99sb5bf"; + system = "trivial-yenc"; + asd = "trivial-yenc"; + } + ); + systems = [ "trivial-yenc" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivialib_dot_bdd = ( + build-asdf-system { + pname = "trivialib.bdd"; + version = "20211209-git"; + asds = [ "trivialib.bdd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivialib.bdd/2021-12-09/trivialib.bdd-20211209-git.tgz"; + sha256 = "1iqpcihpm6glr0afi35z6qifj0ppl7s4h1k94fn6lqpv2js6lzbr"; + system = "trivialib.bdd"; + asd = "trivialib.bdd"; + } + ); + systems = [ "trivialib.bdd" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "immutable-struct" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivialib_dot_bdd_dot_test = ( + build-asdf-system { + pname = "trivialib.bdd.test"; + version = "20211209-git"; + asds = [ "trivialib.bdd.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivialib.bdd/2021-12-09/trivialib.bdd-20211209-git.tgz"; + sha256 = "1iqpcihpm6glr0afi35z6qifj0ppl7s4h1k94fn6lqpv2js6lzbr"; + system = "trivialib.bdd.test"; + asd = "trivialib.bdd.test"; + } + ); + systems = [ "trivialib.bdd.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivialib_dot_bdd" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivialib_dot_type-unify = ( + build-asdf-system { + pname = "trivialib.type-unify"; + version = "20200325-git"; + asds = [ "trivialib.type-unify" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivialib.type-unify/2020-03-25/trivialib.type-unify-20200325-git.tgz"; + sha256 = "0b5ck9ldn1w3imgpxyh164bypy28kvjzkwlcyyfsc0h1njnm5jmy"; + system = "trivialib.type-unify"; + asd = "trivialib.type-unify"; + } + ); + systems = [ "trivialib.type-unify" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "introspect-environment" self) + (getAttr "trivia" self) + (getAttr "type-r" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trivialib_dot_type-unify_dot_test = ( + build-asdf-system { + pname = "trivialib.type-unify.test"; + version = "20200325-git"; + asds = [ "trivialib.type-unify.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trivialib.type-unify/2020-03-25/trivialib.type-unify-20200325-git.tgz"; + sha256 = "0b5ck9ldn1w3imgpxyh164bypy28kvjzkwlcyyfsc0h1njnm5jmy"; + system = "trivialib.type-unify.test"; + asd = "trivialib.type-unify.test"; + } + ); + systems = [ "trivialib.type-unify.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "trivialib_dot_type-unify" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trucler = ( + build-asdf-system { + pname = "trucler"; + version = "20231021-git"; + asds = [ "trucler" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; + sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; + system = "trucler"; + asd = "trucler"; + } + ); + systems = [ "trucler" ]; + lispLibs = [ + (getAttr "trucler-base" self) + (getAttr "trucler-native" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trucler-base = ( + build-asdf-system { + pname = "trucler-base"; + version = "20231021-git"; + asds = [ "trucler-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; + sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; + system = "trucler-base"; + asd = "trucler-base"; + } + ); + systems = [ "trucler-base" ]; + lispLibs = [ (getAttr "acclimation" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trucler-native = ( + build-asdf-system { + pname = "trucler-native"; + version = "20231021-git"; + asds = [ "trucler-native" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; + sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; + system = "trucler-native"; + asd = "trucler-native"; + } + ); + systems = [ "trucler-native" ]; + lispLibs = [ (getAttr "trucler-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trucler-native-test = ( + build-asdf-system { + pname = "trucler-native-test"; + version = "20231021-git"; + asds = [ "trucler-native-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; + sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; + system = "trucler-native-test"; + asd = "trucler-native-test"; + } + ); + systems = [ "trucler-native-test" ]; + lispLibs = [ + (getAttr "trucler-base" self) + (getAttr "trucler-native" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + trucler-reference = ( + build-asdf-system { + pname = "trucler-reference"; + version = "20231021-git"; + asds = [ "trucler-reference" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/trucler/2023-10-21/trucler-20231021-git.tgz"; + sha256 = "16cxx9pgpn3bkrmazc4lqhmaf20c0rhp1vaj78ms8ldwfqqrgznr"; + system = "trucler-reference"; + asd = "trucler-reference"; + } + ); + systems = [ "trucler-reference" ]; + lispLibs = [ (getAttr "trucler-base" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + truetype-clx = ( + build-asdf-system { + pname = "truetype-clx"; + version = "20200218-git"; + asds = [ "truetype-clx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/truetype-clx/2020-02-18/truetype-clx-20200218-git.tgz"; + sha256 = "1k46xa0nclj0mpd7khnlpam6q5hgnp23jixryhvv96gx47swhddr"; + system = "truetype-clx"; + asd = "truetype-clx"; + } + ); + systems = [ "truetype-clx" ]; + lispLibs = [ + (getAttr "cl-aa" self) + (getAttr "cl-paths-ttf" self) + (getAttr "cl-vectors" self) + (getAttr "zpb-ttf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + try = ( + build-asdf-system { + pname = "try"; + version = "20231021-git"; + asds = [ "try" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/try/2023-10-21/try-20231021-git.tgz"; + sha256 = "166i3fqwxfv9skz6yf95c95nx0jjqy1ak1131bd0sqmd582gi9mg"; + system = "try"; + asd = "try"; + } + ); + systems = [ "try" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "ieee-floats" self) + (getAttr "mgl-pax" self) + (getAttr "trivial-gray-streams" self) + (getAttr "try_dot_asdf" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + try_dot_asdf = ( + build-asdf-system { + pname = "try.asdf"; + version = "20231021-git"; + asds = [ "try.asdf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/try/2023-10-21/try-20231021-git.tgz"; + sha256 = "166i3fqwxfv9skz6yf95c95nx0jjqy1ak1131bd0sqmd582gi9mg"; + system = "try.asdf"; + asd = "try.asdf"; + } + ); + systems = [ "try.asdf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + tsqueue = ( + build-asdf-system { + pname = "tsqueue"; + version = "20221106-git"; + asds = [ "tsqueue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/tsqueue/2022-11-06/tsqueue-20221106-git.tgz"; + sha256 = "1ifq53b95a1sdpgx1hlz31pjbh0z6izh3wrgsiqvzgkbiyxq513q"; + system = "tsqueue"; + asd = "tsqueue"; + } + ); + systems = [ "tsqueue" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ttt = ( + build-asdf-system { + pname = "ttt"; + version = "20220707-git"; + asds = [ "ttt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ttt/2022-07-07/ttt-20220707-git.tgz"; + sha256 = "0g6p8gpl8hl427mfrrf8824zq6wmkj11v1xq7pyv7v0b5cwp5ccv"; + system = "ttt"; + asd = "ttt"; + } + ); + systems = [ "ttt" ]; + lispLibs = [ (getAttr "bordeaux-threads" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + twfy = ( + build-asdf-system { + pname = "twfy"; + version = "20130420-git"; + asds = [ "twfy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/twfy/2013-04-20/twfy-20130420-git.tgz"; + sha256 = "1srns5ayg7q8dzviizgm7j767dxbbyzh2ca8a5wdz3bc0qmwrsbs"; + system = "twfy"; + asd = "twfy"; + } + ); + systems = [ "twfy" ]; + lispLibs = [ + (getAttr "cl-json" self) + (getAttr "drakma" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + twitter-mongodb-driver = ( + build-asdf-system { + pname = "twitter-mongodb-driver"; + version = "20180228-git"; + asds = [ "twitter-mongodb-driver" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz"; + sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr"; + system = "twitter-mongodb-driver"; + asd = "twitter-mongodb-driver"; + } + ); + systems = [ "twitter-mongodb-driver" ]; + lispLibs = [ + (getAttr "cl-mongo" self) + (getAttr "cl-twitter" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + type-i = ( + build-asdf-system { + pname = "type-i"; + version = "20230214-git"; + asds = [ "type-i" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/type-i/2023-02-14/type-i-20230214-git.tgz"; + sha256 = "1y9dh1iziv3gwpf5yls0amwjhdqjidfibcla04mz6dqdv3zrg3hs"; + system = "type-i"; + asd = "type-i"; + } + ); + systems = [ "type-i" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "introspect-environment" self) + (getAttr "lisp-namespace" self) + (getAttr "trivia_dot_trivial" self) + ]; + meta = { }; + } + ); + type-i_dot_test = ( + build-asdf-system { + pname = "type-i.test"; + version = "20230214-git"; + asds = [ "type-i.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/type-i/2023-02-14/type-i-20230214-git.tgz"; + sha256 = "1y9dh1iziv3gwpf5yls0amwjhdqjidfibcla04mz6dqdv3zrg3hs"; + system = "type-i.test"; + asd = "type-i.test"; + } + ); + systems = [ "type-i.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "type-i" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + type-r = ( + build-asdf-system { + pname = "type-r"; + version = "20191227-git"; + asds = [ "type-r" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/type-r/2019-12-27/type-r-20191227-git.tgz"; + sha256 = "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"; + system = "type-r"; + asd = "type-r"; + } + ); + systems = [ "type-r" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + type-r_dot_test = ( + build-asdf-system { + pname = "type-r.test"; + version = "20191227-git"; + asds = [ "type-r.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/type-r/2019-12-27/type-r-20191227-git.tgz"; + sha256 = "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"; + system = "type-r.test"; + asd = "type-r.test"; + } + ); + systems = [ "type-r.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "type-r" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + type-templates = ( + build-asdf-system { + pname = "type-templates"; + version = "20241012-git"; + asds = [ "type-templates" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/type-templates/2024-10-12/type-templates-20241012-git.tgz"; + sha256 = "1zmz3bmwg8ncqbnjwimn8n7q9ik9arnhd5ijd22ap1nwhbnmk1rj"; + system = "type-templates"; + asd = "type-templates"; + } + ); + systems = [ "type-templates" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "documentation-utils" self) + (getAttr "form-fiddle" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + typo = ( + build-asdf-system { + pname = "typo"; + version = "20241012-git"; + asds = [ "typo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/typo/2024-10-12/typo-20241012-git.tgz"; + sha256 = "1xgrfj1yxay04zf1ppf56b4j5p1wn67zfhiwpfd30dvk53mcrlik"; + system = "typo"; + asd = "typo"; + } + ); + systems = [ "typo" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "introspect-environment" self) + (getAttr "trivia" self) + (getAttr "trivial-arguments" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + typo_dot_test-suite = ( + build-asdf-system { + pname = "typo.test-suite"; + version = "20241012-git"; + asds = [ "typo.test-suite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/typo/2024-10-12/typo-20241012-git.tgz"; + sha256 = "1xgrfj1yxay04zf1ppf56b4j5p1wn67zfhiwpfd30dvk53mcrlik"; + system = "typo.test-suite"; + asd = "typo.test-suite"; + } + ); + systems = [ "typo.test-suite" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "typo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uax-14 = ( + build-asdf-system { + pname = "uax-14"; + version = "20231021-git"; + asds = [ "uax-14" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uax-14/2023-10-21/uax-14-20231021-git.tgz"; + sha256 = "1k9cqs9lb5i2y9b3zgrr1kq2w8bcr3h362105ykz0if5yz8m59fq"; + system = "uax-14"; + asd = "uax-14"; + } + ); + systems = [ "uax-14" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uax-14-test = ( + build-asdf-system { + pname = "uax-14-test"; + version = "20231021-git"; + asds = [ "uax-14-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uax-14/2023-10-21/uax-14-20231021-git.tgz"; + sha256 = "1k9cqs9lb5i2y9b3zgrr1kq2w8bcr3h362105ykz0if5yz8m59fq"; + system = "uax-14-test"; + asd = "uax-14-test"; + } + ); + systems = [ "uax-14-test" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "parachute" self) + (getAttr "uax-14" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uax-15 = ( + build-asdf-system { + pname = "uax-15"; + version = "20241012-git"; + asds = [ "uax-15" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uax-15/2024-10-12/uax-15-20241012-git.tgz"; + sha256 = "12qkq4r6qv5cn535bwpkq7zfahajlrv8v7661x4wzf4pp0avx7n6"; + system = "uax-15"; + asd = "uax-15"; + } + ); + systems = [ "uax-15" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "split-sequence" self) + ]; + meta = { }; + } + ); + uax-9 = ( + build-asdf-system { + pname = "uax-9"; + version = "20231021-git"; + asds = [ "uax-9" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uax-9/2023-10-21/uax-9-20231021-git.tgz"; + sha256 = "1kbq8v45pxhmwqn6is5lfsp51h80kns4s1cqbh9z0xdmxzw63ip1"; + system = "uax-9"; + asd = "uax-9"; + } + ); + systems = [ "uax-9" ]; + lispLibs = [ (getAttr "documentation-utils" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uax-9-test = ( + build-asdf-system { + pname = "uax-9-test"; + version = "20231021-git"; + asds = [ "uax-9-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uax-9/2023-10-21/uax-9-20231021-git.tgz"; + sha256 = "1kbq8v45pxhmwqn6is5lfsp51h80kns4s1cqbh9z0xdmxzw63ip1"; + system = "uax-9-test"; + asd = "uax-9-test"; + } + ); + systems = [ "uax-9-test" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "parachute" self) + (getAttr "uax-9" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ubiquitous = ( + build-asdf-system { + pname = "ubiquitous"; + version = "20231021-git"; + asds = [ "ubiquitous" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ubiquitous/2023-10-21/ubiquitous-20231021-git.tgz"; + sha256 = "02q6yz9j374q23avi06lddy6gkzza0xn3855n7dqgy34fv1shw1i"; + system = "ubiquitous"; + asd = "ubiquitous"; + } + ); + systems = [ "ubiquitous" ]; + lispLibs = [ ]; + meta = { + broken = true; + hydraPlatforms = [ ]; + }; + } + ); + ubiquitous-concurrent = ( + build-asdf-system { + pname = "ubiquitous-concurrent"; + version = "20231021-git"; + asds = [ "ubiquitous-concurrent" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ubiquitous/2023-10-21/ubiquitous-20231021-git.tgz"; + sha256 = "02q6yz9j374q23avi06lddy6gkzza0xn3855n7dqgy34fv1shw1i"; + system = "ubiquitous-concurrent"; + asd = "ubiquitous-concurrent"; + } + ); + systems = [ "ubiquitous-concurrent" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "ubiquitous" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucons = ( + build-asdf-system { + pname = "ucons"; + version = "20230618-git"; + asds = [ "ucons" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucons/2023-06-18/ucons-20230618-git.tgz"; + sha256 = "0pisf8sswh1wainabpnczla8c98kr0lv0qvh0zapwkf1lq1drzp1"; + system = "ucons"; + asd = "ucons"; + } + ); + systems = [ "ucons" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "atomics" self) + (getAttr "bordeaux-threads" self) + (getAttr "named-readtables" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucw = ( + build-asdf-system { + pname = "ucw"; + version = "20160208-darcs"; + asds = [ "ucw" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; + sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; + system = "ucw"; + asd = "ucw"; + } + ); + systems = [ "ucw" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "ucw-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucw-core = ( + build-asdf-system { + pname = "ucw-core"; + version = "20160208-darcs"; + asds = [ "ucw-core" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; + sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; + system = "ucw-core"; + asd = "ucw-core"; + } + ); + systems = [ "ucw-core" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-fad" self) + (getAttr "closer-mop" self) + (getAttr "iterate" self) + (getAttr "local-time" self) + (getAttr "net-telent-date" self) + (getAttr "rfc2109" self) + (getAttr "swank" self) + (getAttr "trivial-garbage" self) + (getAttr "usocket" self) + (getAttr "yaclml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucw-core_dot_test = ( + build-asdf-system { + pname = "ucw-core.test"; + version = "20160208-darcs"; + asds = [ "ucw-core.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; + sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; + system = "ucw-core.test"; + asd = "ucw-core"; + } + ); + systems = [ "ucw-core.test" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "iterate" self) + (getAttr "stefil" self) + (getAttr "ucw-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucw_dot_examples = ( + build-asdf-system { + pname = "ucw.examples"; + version = "20160208-darcs"; + asds = [ "ucw.examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; + sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; + system = "ucw.examples"; + asd = "ucw"; + } + ); + systems = [ "ucw.examples" ]; + lispLibs = [ (getAttr "ucw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucw_dot_httpd = ( + build-asdf-system { + pname = "ucw.httpd"; + version = "20160208-darcs"; + asds = [ "ucw.httpd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; + sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; + system = "ucw.httpd"; + asd = "ucw-core"; + } + ); + systems = [ "ucw.httpd" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "puri" self) + (getAttr "rfc2388-binary" self) + (getAttr "ucw-core" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ucw_dot_manual-examples = ( + build-asdf-system { + pname = "ucw.manual-examples"; + version = "20160208-darcs"; + asds = [ "ucw.manual-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz"; + sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z"; + system = "ucw.manual-examples"; + asd = "ucw"; + } + ); + systems = [ "ucw.manual-examples" ]; + lispLibs = [ (getAttr "ucw" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uffi = ( + build-asdf-system { + pname = "uffi"; + version = "20180228-git"; + asds = [ "uffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uffi/2018-02-28/uffi-20180228-git.tgz"; + sha256 = "0ywly04k8vir39ld7ids80yjn34y3y3mlpky1pr1fh9p8q412a85"; + system = "uffi"; + asd = "uffi"; + } + ); + systems = [ "uffi" ]; + lispLibs = [ ]; + meta = { }; + } + ); + uffi-tests = ( + build-asdf-system { + pname = "uffi-tests"; + version = "20180228-git"; + asds = [ "uffi-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uffi/2018-02-28/uffi-20180228-git.tgz"; + sha256 = "0ywly04k8vir39ld7ids80yjn34y3y3mlpky1pr1fh9p8q412a85"; + system = "uffi-tests"; + asd = "uffi-tests"; + } + ); + systems = [ "uffi-tests" ]; + lispLibs = [ (getAttr "uffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ufo = ( + build-asdf-system { + pname = "ufo"; + version = "20210807-git"; + asds = [ "ufo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ufo/2021-08-07/ufo-20210807-git.tgz"; + sha256 = "0bbq4pjnbmf1zpmh11jlriv0qnvrhw1xxnjj2y35gk75rr8rvizy"; + system = "ufo"; + asd = "ufo"; + } + ); + systems = [ "ufo" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ufo-test = ( + build-asdf-system { + pname = "ufo-test"; + version = "20210807-git"; + asds = [ "ufo-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ufo/2021-08-07/ufo-20210807-git.tgz"; + sha256 = "0bbq4pjnbmf1zpmh11jlriv0qnvrhw1xxnjj2y35gk75rr8rvizy"; + system = "ufo-test"; + asd = "ufo-test"; + } + ); + systems = [ "ufo-test" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "ufo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ugly-tiny-infix-macro = ( + build-asdf-system { + pname = "ugly-tiny-infix-macro"; + version = "20160825-git"; + asds = [ "ugly-tiny-infix-macro" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ugly-tiny-infix-macro/2016-08-25/ugly-tiny-infix-macro-20160825-git.tgz"; + sha256 = "15bbnr3kzy3p35skm6bkyyl5ck4d264am0zyjsix5k58d9fli3ii"; + system = "ugly-tiny-infix-macro"; + asd = "ugly-tiny-infix-macro"; + } + ); + systems = [ "ugly-tiny-infix-macro" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + umbra = ( + build-asdf-system { + pname = "umbra"; + version = "20220707-git"; + asds = [ "umbra" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/umbra/2022-07-07/umbra-20220707-git.tgz"; + sha256 = "125bsf69gzdy0r6jh6fz8000rqww1rji354x0yrgmkz9x3mvz4k4"; + system = "umbra"; + asd = "umbra"; + } + ); + systems = [ "umbra" ]; + lispLibs = [ + (getAttr "mfiano-utils" self) + (getAttr "shadow" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + umlisp = ( + build-asdf-system { + pname = "umlisp"; + version = "20210411-git"; + asds = [ "umlisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/umlisp/2021-04-11/umlisp-20210411-git.tgz"; + sha256 = "1yyyn1qka4iw3hwii7i8k939dbwvhn543m8qclk2ajggkdky4mqb"; + system = "umlisp"; + asd = "umlisp"; + } + ); + systems = [ "umlisp" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-mysql" self) + (getAttr "hyperobject" self) + (getAttr "kmrcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + umlisp-orf = ( + build-asdf-system { + pname = "umlisp-orf"; + version = "20150923-git"; + asds = [ "umlisp-orf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/umlisp-orf/2015-09-23/umlisp-orf-20150923-git.tgz"; + sha256 = "187i9rcj3rymi8hmlvglvig7yqandzzx57x0rzr4yfv8sgnb82qx"; + system = "umlisp-orf"; + asd = "umlisp-orf"; + } + ); + systems = [ "umlisp-orf" ]; + lispLibs = [ + (getAttr "clsql" self) + (getAttr "clsql-postgresql-socket" self) + (getAttr "hyperobject" self) + (getAttr "kmrcl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + umlisp-tests = ( + build-asdf-system { + pname = "umlisp-tests"; + version = "20210411-git"; + asds = [ "umlisp-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/umlisp/2021-04-11/umlisp-20210411-git.tgz"; + sha256 = "1yyyn1qka4iw3hwii7i8k939dbwvhn543m8qclk2ajggkdky4mqb"; + system = "umlisp-tests"; + asd = "umlisp-tests"; + } + ); + systems = [ "umlisp-tests" ]; + lispLibs = [ + (getAttr "rt" self) + (getAttr "umlisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + unboxables = ( + build-asdf-system { + pname = "unboxables"; + version = "20231021-git"; + asds = [ "unboxables" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/unboxables/2023-10-21/unboxables-20231021-git.tgz"; + sha256 = "099qcsc9q9q5cz2qlvkylc2g8g80fqzrxyq4lc072bmw96wy27fs"; + system = "unboxables"; + asd = "unboxables"; + } + ); + systems = [ "unboxables" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uncommon-lisp = ( + build-asdf-system { + pname = "uncommon-lisp"; + version = "20200427-git"; + asds = [ "uncommon-lisp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "uncommon-lisp"; + asd = "uncommon-lisp"; + } + ); + systems = [ "uncommon-lisp" ]; + lispLibs = [ (getAttr "structy-defclass" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uncursed = ( + build-asdf-system { + pname = "uncursed"; + version = "20220220-git"; + asds = [ "uncursed" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uncursed/2022-02-20/uncursed-20220220-git.tgz"; + sha256 = "1hydiwh12851rrm12y0a6pb2jml2cjdk8wxvz4c00d2xwraqc6mr"; + system = "uncursed"; + asd = "uncursed"; + } + ); + systems = [ "uncursed" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl-setlocale" self) + (getAttr "terminfo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uncursed-examples = ( + build-asdf-system { + pname = "uncursed-examples"; + version = "20220220-git"; + asds = [ "uncursed-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uncursed/2022-02-20/uncursed-20220220-git.tgz"; + sha256 = "1hydiwh12851rrm12y0a6pb2jml2cjdk8wxvz4c00d2xwraqc6mr"; + system = "uncursed-examples"; + asd = "uncursed-examples"; + } + ); + systems = [ "uncursed-examples" ]; + lispLibs = [ + (getAttr "cffi-grovel" self) + (getAttr "uncursed" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + unifgram = ( + build-asdf-system { + pname = "unifgram"; + version = "20180228-git"; + asds = [ "unifgram" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/paiprolog/2018-02-28/paiprolog-20180228-git.tgz"; + sha256 = "1nxz01i6f8s920gm69r2kwjdpq9pli8b2ayqwijhzgjwi0r4jj9r"; + system = "unifgram"; + asd = "unifgram"; + } + ); + systems = [ "unifgram" ]; + lispLibs = [ (getAttr "paiprolog" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + unit-formulas = ( + build-asdf-system { + pname = "unit-formulas"; + version = "20180711-git"; + asds = [ "unit-formulas" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/unit-formula/2018-07-11/unit-formula-20180711-git.tgz"; + sha256 = "1j9zcnyj2ik7f2130pkfwr2bhh5ldlgc83n1024w0dy95ksl1f20"; + system = "unit-formulas"; + asd = "unit-formulas"; + } + ); + systems = [ "unit-formulas" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + unit-test = ( + build-asdf-system { + pname = "unit-test"; + version = "20120520-git"; + asds = [ "unit-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/unit-test/2012-05-20/unit-test-20120520-git.tgz"; + sha256 = "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"; + system = "unit-test"; + asd = "unit-test"; + } + ); + systems = [ "unit-test" ]; + lispLibs = [ ]; + meta = { }; + } + ); + universal-config = ( + build-asdf-system { + pname = "universal-config"; + version = "20180430-git"; + asds = [ "universal-config" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/universal-config/2018-04-30/universal-config-20180430-git.tgz"; + sha256 = "17sjd37jwsi47yhsj9qsnfyhyrlhlxdrxa4szklwjh489hf01hd0"; + system = "universal-config"; + asd = "universal-config"; + } + ); + systems = [ "universal-config" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "parse-float" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + unix-options = ( + build-asdf-system { + pname = "unix-options"; + version = "20151031-git"; + asds = [ "unix-options" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/unix-options/2015-10-31/unix-options-20151031-git.tgz"; + sha256 = "17q7irrbmaja7gj86h01ali9n9p782jxisgkb1r2q5ajf4lr1rsv"; + system = "unix-options"; + asd = "unix-options"; + } + ); + systems = [ "unix-options" ]; + lispLibs = [ ]; + meta = { }; + } + ); + unix-opts = ( + build-asdf-system { + pname = "unix-opts"; + version = "20210124-git"; + asds = [ "unix-opts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/unix-opts/2021-01-24/unix-opts-20210124-git.tgz"; + sha256 = "16mcqpzwrz808p9n3wwl99ckg3hg7yihw08y1i4l7c92aldbkasq"; + system = "unix-opts"; + asd = "unix-opts"; + } + ); + systems = [ "unix-opts" ]; + lispLibs = [ ]; + meta = { }; + } + ); + unix-sockets = ( + build-asdf-system { + pname = "unix-sockets"; + version = "20241012-git"; + asds = [ "unix-sockets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unix-sockets/2024-10-12/cl-unix-sockets-20241012-git.tgz"; + sha256 = "09l3032p3gavyin1hn45yqv6b3vrg74vzcz85ppqg4nzpmp44845"; + system = "unix-sockets"; + asd = "unix-sockets"; + } + ); + systems = [ "unix-sockets" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "flexi-streams" self) + (getAttr "log4cl" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-gray-streams" self) + (getAttr "uffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + unix-sockets_dot_tests = ( + build-asdf-system { + pname = "unix-sockets.tests"; + version = "20241012-git"; + asds = [ "unix-sockets.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-unix-sockets/2024-10-12/cl-unix-sockets-20241012-git.tgz"; + sha256 = "09l3032p3gavyin1hn45yqv6b3vrg74vzcz85ppqg4nzpmp44845"; + system = "unix-sockets.tests"; + asd = "unix-sockets.tests"; + } + ); + systems = [ "unix-sockets.tests" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "fiveam" self) + (getAttr "tmpdir" self) + (getAttr "trivial-timeout" self) + (getAttr "unix-sockets" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uri-template = ( + build-asdf-system { + pname = "uri-template"; + version = "1.3.1"; + asds = [ "uri-template" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uri-template/2019-08-13/uri-template-1.3.1.tgz"; + sha256 = "06n5kmjax64kv57ng5g2030a67z131i4wm53npg9zq2xlj9sprd8"; + system = "uri-template"; + asd = "uri-template"; + } + ); + systems = [ "uri-template" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "named-readtables" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uri-template_dot_test = ( + build-asdf-system { + pname = "uri-template.test"; + version = "1.3.1"; + asds = [ "uri-template.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uri-template/2019-08-13/uri-template-1.3.1.tgz"; + sha256 = "06n5kmjax64kv57ng5g2030a67z131i4wm53npg9zq2xlj9sprd8"; + system = "uri-template.test"; + asd = "uri-template.test"; + } + ); + systems = [ "uri-template.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "uri-template" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + url-rewrite = ( + build-asdf-system { + pname = "url-rewrite"; + version = "20171227-git"; + asds = [ "url-rewrite" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/url-rewrite/2017-12-27/url-rewrite-20171227-git.tgz"; + sha256 = "0d3awcb938ajiylyfnbqsc7nndy6csx0qz1bcyr4f0p862w3xbqf"; + system = "url-rewrite"; + asd = "url-rewrite"; + } + ); + systems = [ "url-rewrite" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + userial = ( + build-asdf-system { + pname = "userial"; + version = "0.8.2011.06.02"; + asds = [ "userial" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/userial/2011-06-19/userial_0.8.2011.06.02.tgz"; + sha256 = "08f8hc1f81gyn4br9p732p8r2gl6cvccd4yzc9ydz4i0ijclpp2m"; + system = "userial"; + asd = "userial"; + } + ); + systems = [ "userial" ]; + lispLibs = [ + (getAttr "contextl" self) + (getAttr "ieee-floats" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + userial-tests = ( + build-asdf-system { + pname = "userial-tests"; + version = "0.8.2011.06.02"; + asds = [ "userial-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/userial/2011-06-19/userial_0.8.2011.06.02.tgz"; + sha256 = "08f8hc1f81gyn4br9p732p8r2gl6cvccd4yzc9ydz4i0ijclpp2m"; + system = "userial-tests"; + asd = "userial-tests"; + } + ); + systems = [ "userial-tests" ]; + lispLibs = [ + (getAttr "nst" self) + (getAttr "userial" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + usocket = ( + build-asdf-system { + pname = "usocket"; + version = "0.8.8"; + asds = [ "usocket" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"; + sha256 = "13j2hyl7j06vl8hh3930wd3bi2p0pcg4dcd243al31fgw4m0bvag"; + system = "usocket"; + asd = "usocket"; + } + ); + systems = [ "usocket" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { }; + } + ); + usocket-server = ( + build-asdf-system { + pname = "usocket-server"; + version = "0.8.8"; + asds = [ "usocket-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"; + sha256 = "13j2hyl7j06vl8hh3930wd3bi2p0pcg4dcd243al31fgw4m0bvag"; + system = "usocket-server"; + asd = "usocket-server"; + } + ); + systems = [ "usocket-server" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "usocket" self) + ]; + meta = { }; + } + ); + usocket-test = ( + build-asdf-system { + pname = "usocket-test"; + version = "0.8.8"; + asds = [ "usocket-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"; + sha256 = "13j2hyl7j06vl8hh3930wd3bi2p0pcg4dcd243al31fgw4m0bvag"; + system = "usocket-test"; + asd = "usocket-test"; + } + ); + systems = [ "usocket-test" ]; + lispLibs = [ + (getAttr "rt" self) + (getAttr "usocket-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utf8-input-stream = ( + build-asdf-system { + pname = "utf8-input-stream"; + version = "20241012-git"; + asds = [ "utf8-input-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utf8-input-stream/2024-10-12/utf8-input-stream-20241012-git.tgz"; + sha256 = "06fk8fsz9nngdfjymg93h1l5m4yhfg4w8as68zlaj698xf9ry3i5"; + system = "utf8-input-stream"; + asd = "utf8-input-stream"; + } + ); + systems = [ "utf8-input-stream" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utf8-input-stream_dot_tests = ( + build-asdf-system { + pname = "utf8-input-stream.tests"; + version = "20241012-git"; + asds = [ "utf8-input-stream.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utf8-input-stream/2024-10-12/utf8-input-stream-20241012-git.tgz"; + sha256 = "06fk8fsz9nngdfjymg93h1l5m4yhfg4w8as68zlaj698xf9ry3i5"; + system = "utf8-input-stream.tests"; + asd = "utf8-input-stream.tests"; + } + ); + systems = [ "utf8-input-stream.tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "flexi-streams" self) + (getAttr "utf8-input-stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utilities_dot_binary-dump = ( + build-asdf-system { + pname = "utilities.binary-dump"; + version = "20181210-git"; + asds = [ "utilities.binary-dump" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utilities.binary-dump/2018-12-10/utilities.binary-dump-20181210-git.tgz"; + sha256 = "1l20r1782bskyy50ca6vsyxrvbxlgfq4nm33wl8as761dcjpj4d4"; + system = "utilities.binary-dump"; + asd = "utilities.binary-dump"; + } + ); + systems = [ "utilities.binary-dump" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "let-plus" self) + (getAttr "nibbles" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utilities_dot_print-items = ( + build-asdf-system { + pname = "utilities.print-items"; + version = "20221106-git"; + asds = [ "utilities.print-items" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utilities.print-items/2022-11-06/utilities.print-items-20221106-git.tgz"; + sha256 = "0qn0w7cyl76c3ssipqsx4ngb1641ajfkaihnb31w374zrzbns8wi"; + system = "utilities.print-items"; + asd = "utilities.print-items"; + } + ); + systems = [ "utilities.print-items" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + utilities_dot_print-tree = ( + build-asdf-system { + pname = "utilities.print-tree"; + version = "20221106-git"; + asds = [ "utilities.print-tree" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utilities.print-tree/2022-11-06/utilities.print-tree-20221106-git.tgz"; + sha256 = "0i7371qvlnwjcybh3c2ac88xz39vjdynhgxwz4acjbcnsw0jqsls"; + system = "utilities.print-tree"; + asd = "utilities.print-tree"; + } + ); + systems = [ "utilities.print-tree" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { }; + } + ); + utility = ( + build-asdf-system { + pname = "utility"; + version = "20190202-git"; + asds = [ "utility" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utility/2019-02-02/utility-20190202-git.tgz"; + sha256 = "0nc83kxp2c0wy5ai7dm6w4anx5266j99pxzr0c7fxgllc7d0g1qd"; + system = "utility"; + asd = "utility"; + } + ); + systems = [ "utility" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utility-arguments = ( + build-asdf-system { + pname = "utility-arguments"; + version = "20161204-git"; + asds = [ "utility-arguments" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utility-arguments/2016-12-04/utility-arguments-20161204-git.tgz"; + sha256 = "0dzbzzrla9709zl5dqdfw02mxa3rvcpca466qrcprgs3hnxdvgwb"; + system = "utility-arguments"; + asd = "utility-arguments"; + } + ); + systems = [ "utility-arguments" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utils-kt = ( + build-asdf-system { + pname = "utils-kt"; + version = "20200218-git"; + asds = [ "utils-kt" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utils-kt/2020-02-18/utils-kt-20200218-git.tgz"; + sha256 = "016x3w034brz02z9mrsrkhk2djizg3yqsvhl9k62xqcnpy3b87dn"; + system = "utils-kt"; + asd = "utils-kt"; + } + ); + systems = [ "utils-kt" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utm = ( + build-asdf-system { + pname = "utm"; + version = "20200218-git"; + asds = [ "utm" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utm/2020-02-18/utm-20200218-git.tgz"; + sha256 = "1a5dp5fls26ppc6fnvd941nfvk2qs72grl0a3pycq7vzw6580v01"; + system = "utm"; + asd = "utm"; + } + ); + systems = [ "utm" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utm-ups = ( + build-asdf-system { + pname = "utm-ups"; + version = "20230618-git"; + asds = [ "utm-ups" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utm-ups/2023-06-18/utm-ups-20230618-git.tgz"; + sha256 = "19nnnqagfg1c1vzwlqpp8mq2d0hrk8r6r07a46nvdyzmwbnmbwyr"; + system = "utm-ups"; + asd = "utm-ups"; + } + ); + systems = [ "utm-ups" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + utm_dot_test = ( + build-asdf-system { + pname = "utm.test"; + version = "20200218-git"; + asds = [ "utm.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/utm/2020-02-18/utm-20200218-git.tgz"; + sha256 = "1a5dp5fls26ppc6fnvd941nfvk2qs72grl0a3pycq7vzw6580v01"; + system = "utm.test"; + asd = "utm.test"; + } + ); + systems = [ "utm.test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "utm" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + uuid = ( + build-asdf-system { + pname = "uuid"; + version = "20200715-git"; + asds = [ "uuid" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uuid/2020-07-15/uuid-20200715-git.tgz"; + sha256 = "1ncwhyw0zggwpkzjsw7d4pkrlldi34xvb69c0bzxmyz2krg8rpx0"; + system = "uuid"; + asd = "uuid"; + } + ); + systems = [ "uuid" ]; + lispLibs = [ + (getAttr "ironclad" self) + (getAttr "trivial-utf-8" self) + ]; + meta = { }; + } + ); + uuidv7 = ( + build-asdf-system { + pname = "uuidv7"; + version = "20241012-git"; + asds = [ "uuidv7" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/uuidv7.lisp/2024-10-12/uuidv7.lisp-20241012-git.tgz"; + sha256 = "1lirb92a1b3hpf66gndas4yix0smfckg9arzk69lpcvxsidzc66l"; + system = "uuidv7"; + asd = "uuidv7"; + } + ); + systems = [ "uuidv7" ]; + lispLibs = [ (getAttr "local-time" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + validate-list = ( + build-asdf-system { + pname = "validate-list"; + version = "20210411-git"; + asds = [ "validate-list" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/validate-list/2021-04-11/validate-list-20210411-git.tgz"; + sha256 = "1rb7glqvlaz84cfd2wjk49si9jh4ffysmva5007gjhqfhr9z23lj"; + system = "validate-list"; + asd = "validate-list"; + } + ); + systems = [ "validate-list" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "arithmetic-operators-as-words" self) + (getAttr "lisp-unit" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + varint = ( + build-asdf-system { + pname = "varint"; + version = "20230618-git"; + asds = [ "varint" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/protobuf/2023-06-18/protobuf-20230618-git.tgz"; + sha256 = "0pp8i2i72p6cng11sxj83klw45jqv05l5024h7c2rl0pvsg8f6bc"; + system = "varint"; + asd = "varint"; + } + ); + systems = [ "varint" ]; + lispLibs = [ + (getAttr "com_dot_google_dot_base" self) + (getAttr "nibbles" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + varjo = ( + build-asdf-system { + pname = "varjo"; + version = "release-quicklisp-92f9c75b-git"; + asds = [ "varjo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz"; + sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9"; + system = "varjo"; + asd = "varjo"; + } + ); + systems = [ "varjo" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "documentation-utils" self) + (getAttr "fn" self) + (getAttr "glsl-docs" self) + (getAttr "glsl-spec" self) + (getAttr "glsl-symbols" self) + (getAttr "named-readtables" self) + (getAttr "parse-float" self) + (getAttr "vas-string-metrics" self) + ]; + meta = { }; + } + ); + varjo_dot_import = ( + build-asdf-system { + pname = "varjo.import"; + version = "release-quicklisp-92f9c75b-git"; + asds = [ "varjo.import" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz"; + sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9"; + system = "varjo.import"; + asd = "varjo.import"; + } + ); + systems = [ "varjo.import" ]; + lispLibs = [ + (getAttr "fare-quasiquote-extras" self) + (getAttr "glsl-toolkit" self) + (getAttr "rtg-math_dot_vari" self) + (getAttr "split-sequence" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + varjo_dot_tests = ( + build-asdf-system { + pname = "varjo.tests"; + version = "release-quicklisp-92f9c75b-git"; + asds = [ "varjo.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz"; + sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9"; + system = "varjo.tests"; + asd = "varjo.tests"; + } + ); + systems = [ "varjo.tests" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "rtg-math_dot_vari" self) + (getAttr "varjo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + varray = ( + build-asdf-system { + pname = "varray"; + version = "20241012-git"; + asds = [ "varray" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "varray"; + asd = "varray"; + } + ); + systems = [ "varray" ]; + lispLibs = [ + (getAttr "aplesque" self) + (getAttr "lparallel" self) + (getAttr "random-state" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vas-string-metrics = ( + build-asdf-system { + pname = "vas-string-metrics"; + version = "20211209-git"; + asds = [ "vas-string-metrics" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vas-string-metrics/2021-12-09/vas-string-metrics-20211209-git.tgz"; + sha256 = "1yvkwc939dckv070nlgqfj5ys9ii2rm32m5wfx7qxdjrb4n19sx9"; + system = "vas-string-metrics"; + asd = "vas-string-metrics"; + } + ); + systems = [ "vas-string-metrics" ]; + lispLibs = [ ]; + meta = { }; + } + ); + vecto = ( + build-asdf-system { + pname = "vecto"; + version = "1.6"; + asds = [ "vecto" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vecto/2021-12-30/vecto-1.6.tgz"; + sha256 = "1s3ii9absili7yiv89byjikxcxlbagsvcxdwkxgsm1rahgggyk5x"; + system = "vecto"; + asd = "vecto"; + } + ); + systems = [ "vecto" ]; + lispLibs = [ + (getAttr "cl-vectors" self) + (getAttr "zpb-ttf" self) + (getAttr "zpng" self) + ]; + meta = { }; + } + ); + vectometry = ( + build-asdf-system { + pname = "vectometry"; + version = "1.6"; + asds = [ "vectometry" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vecto/2021-12-30/vecto-1.6.tgz"; + sha256 = "1s3ii9absili7yiv89byjikxcxlbagsvcxdwkxgsm1rahgggyk5x"; + system = "vectometry"; + asd = "vectometry"; + } + ); + systems = [ "vectometry" ]; + lispLibs = [ (getAttr "vecto" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vectors = ( + build-asdf-system { + pname = "vectors"; + version = "20171227-git"; + asds = [ "vectors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vectors/2017-12-27/vectors-20171227-git.tgz"; + sha256 = "1sflb1wz6fcszdbqrcfh52bp5ch6wbizzp7jx97ni8lrqq2r6cqy"; + system = "vectors"; + asd = "vectors"; + } + ); + systems = [ "vectors" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum = ( + build-asdf-system { + pname = "vellum"; + version = "20241012-git"; + asds = [ "vellum" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum/2024-10-12/vellum-20241012-git.tgz"; + sha256 = "0qy5hsyy3qf5245n5lfnhsfdjmsdjmwa2d3jp8gr6zg71npfx926"; + system = "vellum"; + asd = "vellum"; + } + ); + systems = [ "vellum" ]; + lispLibs = [ + (getAttr "agnostic-lizard" self) + (getAttr "alexandria" self) + (getAttr "cl-data-structures" self) + (getAttr "closer-mop" self) + (getAttr "documentation-utils-extensions" self) + (getAttr "iterate" self) + (getAttr "lparallel" self) + (getAttr "metabang-bind" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum-binary = ( + build-asdf-system { + pname = "vellum-binary"; + version = "20241012-git"; + asds = [ "vellum-binary" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum-binary/2024-10-12/vellum-binary-20241012-git.tgz"; + sha256 = "15kv5vzzrf6c3nvibz3p3d9arxmvwska37p5s13g9d2z1k3wyag1"; + system = "vellum-binary"; + asd = "vellum-binary"; + } + ); + systems = [ "vellum-binary" ]; + lispLibs = [ + (getAttr "chipz" self) + (getAttr "cl-conspack" self) + (getAttr "ieee-floats" self) + (getAttr "nibbles" self) + (getAttr "salza2" self) + (getAttr "trivial-utf-8" self) + (getAttr "vellum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum-clim = ( + build-asdf-system { + pname = "vellum-clim"; + version = "20210531-git"; + asds = [ "vellum-clim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum-clim/2021-05-31/vellum-clim-20210531-git.tgz"; + sha256 = "06g1pw0r60yd13hzbjrbpa1p0pnlwkqfn06ipk1gs0kc76gf2im5"; + system = "vellum-clim"; + asd = "vellum-clim"; + } + ); + systems = [ "vellum-clim" ]; + lispLibs = [ + (getAttr "iterate" self) + (getAttr "mcclim" self) + (getAttr "vellum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum-csv = ( + build-asdf-system { + pname = "vellum-csv"; + version = "20241012-git"; + asds = [ "vellum-csv" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum-csv/2024-10-12/vellum-csv-20241012-git.tgz"; + sha256 = "0xk4n6w3hsnn8cl34x8vigzmqnkdn04j6831095yyqk7373hvfql"; + system = "vellum-csv"; + asd = "vellum-csv"; + } + ); + systems = [ "vellum-csv" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "documentation-utils-extensions" self) + (getAttr "iterate" self) + (getAttr "parse-float" self) + (getAttr "serapeum" self) + (getAttr "vellum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum-csv-tests = ( + build-asdf-system { + pname = "vellum-csv-tests"; + version = "20241012-git"; + asds = [ "vellum-csv-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum-csv/2024-10-12/vellum-csv-20241012-git.tgz"; + sha256 = "0xk4n6w3hsnn8cl34x8vigzmqnkdn04j6831095yyqk7373hvfql"; + system = "vellum-csv-tests"; + asd = "vellum-csv-tests"; + } + ); + systems = [ "vellum-csv-tests" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "vellum-csv" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum-postmodern = ( + build-asdf-system { + pname = "vellum-postmodern"; + version = "20241012-git"; + asds = [ "vellum-postmodern" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum-postmodern/2024-10-12/vellum-postmodern-20241012-git.tgz"; + sha256 = "1q7s57vfcs01nl03kjkyjk9ya68cnl9p6mf1z864imfd04ssy9gr"; + system = "vellum-postmodern"; + asd = "vellum-postmodern"; + } + ); + systems = [ "vellum-postmodern" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-postgres" self) + (getAttr "documentation-utils-extensions" self) + (getAttr "iterate" self) + (getAttr "postmodern" self) + (getAttr "s-sql" self) + (getAttr "serapeum" self) + (getAttr "vellum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vellum-tests = ( + build-asdf-system { + pname = "vellum-tests"; + version = "20241012-git"; + asds = [ "vellum-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vellum/2024-10-12/vellum-20241012-git.tgz"; + sha256 = "0qy5hsyy3qf5245n5lfnhsfdjmsdjmwa2d3jp8gr6zg71npfx926"; + system = "vellum-tests"; + asd = "vellum-tests"; + } + ); + systems = [ "vellum-tests" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "vellum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + veq = ( + build-asdf-system { + pname = "veq"; + version = "v4.5.5"; + asds = [ "veq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-veq/2023-10-21/cl-veq-v4.5.5.tgz"; + sha256 = "0sk6rvqck47ym7ryy0smya1vwgpksxzal1xcwmwl106nxi9l7m34"; + system = "veq"; + asd = "veq"; + } + ); + systems = [ "veq" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + verbose = ( + build-asdf-system { + pname = "verbose"; + version = "20241012-git"; + asds = [ "verbose" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/verbose/2024-10-12/verbose-20241012-git.tgz"; + sha256 = "1q0knjk1nlnvlg9kydyxzd4sd2v8vm9dx10zqz2bpihd5nyhz3nv"; + system = "verbose"; + asd = "verbose"; + } + ); + systems = [ "verbose" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "dissect" self) + (getAttr "documentation-utils" self) + (getAttr "local-time" self) + (getAttr "piping" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + verlet = ( + build-asdf-system { + pname = "verlet"; + version = "20211209-git"; + asds = [ "verlet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/verlet/2021-12-09/verlet-20211209-git.tgz"; + sha256 = "0n6wgjwwbrr13ldwa4y59n2ixn47rr0ad7n3jbb58635z6ahfvd4"; + system = "verlet"; + asd = "verlet"; + } + ); + systems = [ "verlet" ]; + lispLibs = [ + (getAttr "chain" self) + (getAttr "fset" self) + (getAttr "metabang-bind" self) + (getAttr "mgl-pax" self) + (getAttr "rtg-math" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vernacular = ( + build-asdf-system { + pname = "vernacular"; + version = "20241012-git"; + asds = [ "vernacular" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vernacular/2024-10-12/vernacular-20241012-git.tgz"; + sha256 = "09jz68lms82vxq672pars6hqapvdl4z8z2v1s9kmzvgxm2khw8pw"; + system = "vernacular"; + asd = "vernacular"; + } + ); + systems = [ "vernacular" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "local-time" self) + (getAttr "named-readtables" self) + (getAttr "overlord" self) + (getAttr "serapeum" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + (getAttr "trivial-macroexpand-all" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + verrazano = ( + build-asdf-system { + pname = "verrazano"; + version = "20120909-darcs"; + asds = [ "verrazano" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/verrazano/2012-09-09/verrazano-20120909-darcs.tgz"; + sha256 = "0d7qv5jwv5p1r64g4rfqb844b5fh71p82b5983gjz0a5p391p270"; + system = "verrazano"; + asd = "verrazano"; + } + ); + systems = [ "verrazano" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "cl-ppcre" self) + (getAttr "closer-mop" self) + (getAttr "cxml" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + (getAttr "parse-number" self) + (getAttr "trivial-shell" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + verrazano-runtime = ( + build-asdf-system { + pname = "verrazano-runtime"; + version = "20120909-darcs"; + asds = [ "verrazano-runtime" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/verrazano/2012-09-09/verrazano-20120909-darcs.tgz"; + sha256 = "0d7qv5jwv5p1r64g4rfqb844b5fh71p82b5983gjz0a5p391p270"; + system = "verrazano-runtime"; + asd = "verrazano-runtime"; + } + ); + systems = [ "verrazano-runtime" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vertex = ( + build-asdf-system { + pname = "vertex"; + version = "20150608-git"; + asds = [ "vertex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vertex/2015-06-08/vertex-20150608-git.tgz"; + sha256 = "0g3ck1kvp6x9874ffizjz3fsd35a3m4hcr2x5gq9fdql680ic4k2"; + system = "vertex"; + asd = "vertex"; + } + ); + systems = [ "vertex" ]; + lispLibs = [ + (getAttr "common-doc" self) + (getAttr "common-doc-plump" self) + (getAttr "plump-tex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vertex-test = ( + build-asdf-system { + pname = "vertex-test"; + version = "20150608-git"; + asds = [ "vertex-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vertex/2015-06-08/vertex-20150608-git.tgz"; + sha256 = "0g3ck1kvp6x9874ffizjz3fsd35a3m4hcr2x5gq9fdql680ic4k2"; + system = "vertex-test"; + asd = "vertex-test"; + } + ); + systems = [ "vertex-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "vertex" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vex = ( + build-asdf-system { + pname = "vex"; + version = "20241012-git"; + asds = [ "vex" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/april/2024-10-12/april-20241012-git.tgz"; + sha256 = "1jb7c9hs8fvx7zm0p0pvsn8r5qsfnf9hr53xnnvcgparfjvxhfxn"; + system = "vex"; + asd = "vex"; + } + ); + systems = [ "vex" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "array-operations" self) + (getAttr "cl-ppcre" self) + (getAttr "maxpc-apache" self) + (getAttr "prove" self) + (getAttr "symbol-munger" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vgplot = ( + build-asdf-system { + pname = "vgplot"; + version = "20220707-git"; + asds = [ "vgplot" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vgplot/2022-07-07/vgplot-20220707-git.tgz"; + sha256 = "1vc5fd787xa8831wjbmwrpg17f9isi5k8dmb85fsysz47plbvi1y"; + system = "vgplot"; + asd = "vgplot"; + } + ); + systems = [ "vgplot" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "ltk" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors = ( + build-asdf-system { + pname = "vivid-colors"; + version = "20220707-git"; + asds = [ "vivid-colors" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors"; + asd = "vivid-colors"; + } + ); + systems = [ "vivid-colors" ]; + lispLibs = [ + (getAttr "cl-colors2" self) + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "lambda-fiddle" self) + (getAttr "millet" self) + (getAttr "vivid-colors_dot_content" self) + (getAttr "vivid-colors_dot_dispatch" self) + (getAttr "vivid-colors_dot_stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_content = ( + build-asdf-system { + pname = "vivid-colors.content"; + version = "20220707-git"; + asds = [ "vivid-colors.content" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.content"; + asd = "vivid-colors.content"; + } + ); + systems = [ "vivid-colors.content" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ansi-text" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "mcase" self) + (getAttr "vivid-colors_dot_queue" self) + (getAttr "vivid-colors_dot_shared" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_content_dot_test = ( + build-asdf-system { + pname = "vivid-colors.content.test"; + version = "20220707-git"; + asds = [ "vivid-colors.content.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.content.test"; + asd = "vivid-colors.content.test"; + } + ); + systems = [ "vivid-colors.content.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "vivid-colors_dot_content" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_dispatch = ( + build-asdf-system { + pname = "vivid-colors.dispatch"; + version = "20220707-git"; + asds = [ "vivid-colors.dispatch" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.dispatch"; + asd = "vivid-colors.dispatch"; + } + ); + systems = [ "vivid-colors.dispatch" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "millet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_dispatch_dot_test = ( + build-asdf-system { + pname = "vivid-colors.dispatch.test"; + version = "20220707-git"; + asds = [ "vivid-colors.dispatch.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.dispatch.test"; + asd = "vivid-colors.dispatch.test"; + } + ); + systems = [ "vivid-colors.dispatch.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "vivid-colors_dot_dispatch" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_queue = ( + build-asdf-system { + pname = "vivid-colors.queue"; + version = "20220707-git"; + asds = [ "vivid-colors.queue" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.queue"; + asd = "vivid-colors.queue"; + } + ); + systems = [ "vivid-colors.queue" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "millet" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_queue_dot_test = ( + build-asdf-system { + pname = "vivid-colors.queue.test"; + version = "20220707-git"; + asds = [ "vivid-colors.queue.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.queue.test"; + asd = "vivid-colors.queue.test"; + } + ); + systems = [ "vivid-colors.queue.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "vivid-colors_dot_queue" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_shared = ( + build-asdf-system { + pname = "vivid-colors.shared"; + version = "20220707-git"; + asds = [ "vivid-colors.shared" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.shared"; + asd = "vivid-colors.shared"; + } + ); + systems = [ "vivid-colors.shared" ]; + lispLibs = [ (getAttr "jingoh_dot_documentizer" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_shared_dot_test = ( + build-asdf-system { + pname = "vivid-colors.shared.test"; + version = "20220707-git"; + asds = [ "vivid-colors.shared.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.shared.test"; + asd = "vivid-colors.shared.test"; + } + ); + systems = [ "vivid-colors.shared.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "vivid-colors_dot_shared" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_stream = ( + build-asdf-system { + pname = "vivid-colors.stream"; + version = "20220707-git"; + asds = [ "vivid-colors.stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.stream"; + asd = "vivid-colors.stream"; + } + ); + systems = [ "vivid-colors.stream" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ansi-text" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "trivial-gray-streams" self) + (getAttr "vivid-colors_dot_content" self) + (getAttr "vivid-colors_dot_dispatch" self) + (getAttr "vivid-colors_dot_shared" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_stream_dot_test = ( + build-asdf-system { + pname = "vivid-colors.stream.test"; + version = "20220707-git"; + asds = [ "vivid-colors.stream.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.stream.test"; + asd = "vivid-colors.stream.test"; + } + ); + systems = [ "vivid-colors.stream.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "vivid-colors_dot_stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-colors_dot_test = ( + build-asdf-system { + pname = "vivid-colors.test"; + version = "20220707-git"; + asds = [ "vivid-colors.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-colors/2022-07-07/vivid-colors-20220707-git.tgz"; + sha256 = "0a1q1dgfgd7kqdziw80z1hhyp7l0mrd768lq68jva7vdv1r049ww"; + system = "vivid-colors.test"; + asd = "vivid-colors.test"; + } + ); + systems = [ "vivid-colors.test" ]; + lispLibs = [ + (getAttr "jingoh" self) + (getAttr "vivid-colors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-diff = ( + build-asdf-system { + pname = "vivid-diff"; + version = "20220707-git"; + asds = [ "vivid-diff" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-diff/2022-07-07/vivid-diff-20220707-git.tgz"; + sha256 = "195hqx304x4na56qpiblz30ahp1qj55kan50mkr0xyjhcx75nsdk"; + system = "vivid-diff"; + asd = "vivid-diff"; + } + ); + systems = [ "vivid-diff" ]; + lispLibs = [ + (getAttr "cl-colors2" self) + (getAttr "closer-mop" self) + (getAttr "jingoh_dot_documentizer" self) + (getAttr "matrix-case" self) + (getAttr "vivid-colors" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vivid-diff_dot_test = ( + build-asdf-system { + pname = "vivid-diff.test"; + version = "20220707-git"; + asds = [ "vivid-diff.test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vivid-diff/2022-07-07/vivid-diff-20220707-git.tgz"; + sha256 = "195hqx304x4na56qpiblz30ahp1qj55kan50mkr0xyjhcx75nsdk"; + system = "vivid-diff.test"; + asd = "vivid-diff.test"; + } + ); + systems = [ "vivid-diff.test" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "jingoh" self) + (getAttr "vivid-diff" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vk = ( + build-asdf-system { + pname = "vk"; + version = "20230214-git"; + asds = [ "vk" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vk/2023-02-14/vk-20230214-git.tgz"; + sha256 = "14986kss2rggdjiql3rr34qnfjwb8w73j0ggn6c3w4y9dny3l31j"; + system = "vk"; + asd = "vk"; + } + ); + systems = [ "vk" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cffi" self) + (getAttr "rove" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + voipms = ( + build-asdf-system { + pname = "voipms"; + version = "20231021-git"; + asds = [ "voipms" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-voipms/2023-10-21/cl-voipms-20231021-git.tgz"; + sha256 = "05jrpd9vc95hqxq3nbwv0qpsfj3winwx2n5a5933919gfanxrslk"; + system = "voipms"; + asd = "voipms"; + } + ); + systems = [ "voipms" ]; + lispLibs = [ + (getAttr "cl-date-time-parser" self) + (getAttr "erjoalgo-webutil" self) + (getAttr "local-time" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vom = ( + build-asdf-system { + pname = "vom"; + version = "20241012-git"; + asds = [ "vom" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vom/2024-10-12/vom-20241012-git.tgz"; + sha256 = "1rnrr69h3j8phm6z3cfagv2bjh71wbzx9acnas9fn33j3q94gr95"; + system = "vom"; + asd = "vom"; + } + ); + systems = [ "vom" ]; + lispLibs = [ ]; + meta = { }; + } + ); + vom-json = ( + build-asdf-system { + pname = "vom-json"; + version = "20200610-git"; + asds = [ "vom-json" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vom-json/2020-06-10/vom-json-20200610-git.tgz"; + sha256 = "14b39kqbjpibh545gh9mb6w5g0kz7fhd5zxfmlf9a0fpdbwhw41c"; + system = "vom-json"; + asd = "vom-json"; + } + ); + systems = [ "vom-json" ]; + lispLibs = [ + (getAttr "jonathan" self) + (getAttr "local-time" self) + (getAttr "vom" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vorbisfile-ffi = ( + build-asdf-system { + pname = "vorbisfile-ffi"; + version = "20151218-git"; + asds = [ "vorbisfile-ffi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz"; + sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9"; + system = "vorbisfile-ffi"; + asd = "vorbisfile-ffi"; + } + ); + systems = [ "vorbisfile-ffi" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + vp-trees = ( + build-asdf-system { + pname = "vp-trees"; + version = "20230214-git"; + asds = [ "vp-trees" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/vp-trees/2023-02-14/vp-trees-20230214-git.tgz"; + sha256 = "0fk41c97p5ck5g9nsvq6h9hzxz7yssyqz3v4f4qiavdnw6a9va1m"; + system = "vp-trees"; + asd = "vp-trees"; + } + ); + systems = [ "vp-trees" ]; + lispLibs = [ + (getAttr "float-features" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wallstreetflets = ( + build-asdf-system { + pname = "wallstreetflets"; + version = "20211209-git"; + asds = [ "wallstreetflets" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wallstreetflets/2021-12-09/wallstreetflets-20211209-git.tgz"; + sha256 = "0d9anws4gk16an1kl4kads6lhm8a4mpiwxg74i3235d5874gbdj5"; + system = "wallstreetflets"; + asd = "wallstreetflets"; + } + ); + systems = [ "wallstreetflets" ]; + lispLibs = [ + (getAttr "dexador" self) + (getAttr "lquery" self) + (getAttr "parse-number" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wasm-encoder = ( + build-asdf-system { + pname = "wasm-encoder"; + version = "20210630-git"; + asds = [ "wasm-encoder" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wasm-encoder/2021-06-30/wasm-encoder-20210630-git.tgz"; + sha256 = "1h094d8www9ydg96fjj17pi0lb63ikgyp5237cl6n3rmg4jpy9w6"; + system = "wasm-encoder"; + asd = "wasm-encoder"; + } + ); + systems = [ "wasm-encoder" ]; + lispLibs = [ + (getAttr "agutil" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "flexi-streams" self) + (getAttr "generic-cl" self) + (getAttr "ieee-floats" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + water = ( + build-asdf-system { + pname = "water"; + version = "20190107-git"; + asds = [ "water" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/water/2019-01-07/water-20190107-git.tgz"; + sha256 = "0w9b6mh10rfv7rg1zq28pivad6435i9h839km6nlbhq9xmx0g27s"; + system = "water"; + asd = "water"; + } + ); + systems = [ "water" ]; + lispLibs = [ (getAttr "parenscript" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wayflan = ( + build-asdf-system { + pname = "wayflan"; + version = "20230214-git"; + asds = [ "wayflan" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wayflan/2023-02-14/wayflan-20230214-git.tgz"; + sha256 = "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"; + system = "wayflan"; + asd = "wayflan"; + } + ); + systems = [ "wayflan" ]; + lispLibs = [ + (getAttr "cffi-grovel" self) + (getAttr "wayflan-client" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wayflan-client = ( + build-asdf-system { + pname = "wayflan-client"; + version = "20230214-git"; + asds = [ "wayflan-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wayflan/2023-02-14/wayflan-20230214-git.tgz"; + sha256 = "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"; + system = "wayflan-client"; + asd = "wayflan-client"; + } + ); + systems = [ "wayflan-client" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "closer-mop" self) + (getAttr "plump" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + webactions = ( + build-asdf-system { + pname = "webactions"; + version = "20190813-git"; + asds = [ "webactions" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz"; + sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"; + system = "webactions"; + asd = "webactions"; + } + ); + systems = [ "webactions" ]; + lispLibs = [ + (getAttr "acl-compat" self) + (getAttr "aserve" self) + (getAttr "htmlgen" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + webapi = ( + build-asdf-system { + pname = "webapi"; + version = "20230618-git"; + asds = [ "webapi" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/webapi/2023-06-18/webapi-20230618-git.tgz"; + sha256 = "1irp18a0rq61xfr3944ahy2spj0095l15xf7j0245jd0qw7gmg03"; + system = "webapi"; + asd = "webapi"; + } + ); + systems = [ "webapi" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "dexador" self) + (getAttr "kebab" self) + (getAttr "quri" self) + (getAttr "st-json" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-clsql = ( + build-asdf-system { + pname = "weblocks-clsql"; + version = "20211020-git"; + asds = [ "weblocks-clsql" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; + sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; + system = "weblocks-clsql"; + asd = "weblocks-clsql"; + } + ); + systems = [ "weblocks-clsql" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "clsql" self) + (getAttr "clsql-fluid" self) + (getAttr "metatilities" self) + (getAttr "weblocks-stores" self) + (getAttr "weblocks-util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-memory = ( + build-asdf-system { + pname = "weblocks-memory"; + version = "20211020-git"; + asds = [ "weblocks-memory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; + sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; + system = "weblocks-memory"; + asd = "weblocks-memory"; + } + ); + systems = [ "weblocks-memory" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "metatilities" self) + (getAttr "weblocks-stores" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-montezuma = ( + build-asdf-system { + pname = "weblocks-montezuma"; + version = "20211020-git"; + asds = [ "weblocks-montezuma" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; + sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; + system = "weblocks-montezuma"; + asd = "weblocks-montezuma"; + } + ); + systems = [ "weblocks-montezuma" ]; + lispLibs = [ + (getAttr "montezuma" self) + (getAttr "weblocks-stores" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-perec = ( + build-asdf-system { + pname = "weblocks-perec"; + version = "20211020-git"; + asds = [ "weblocks-perec" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; + sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; + system = "weblocks-perec"; + asd = "weblocks-perec"; + } + ); + systems = [ "weblocks-perec" ]; + lispLibs = [ + (getAttr "hu_dot_dwim_dot_perec" self) + (getAttr "weblocks-stores" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-prevalence = ( + build-asdf-system { + pname = "weblocks-prevalence"; + version = "20211020-git"; + asds = [ "weblocks-prevalence" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; + sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; + system = "weblocks-prevalence"; + asd = "weblocks-prevalence"; + } + ); + systems = [ "weblocks-prevalence" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-prevalence" self) + (getAttr "metatilities" self) + (getAttr "weblocks-memory" self) + (getAttr "weblocks-stores" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-scripts = ( + build-asdf-system { + pname = "weblocks-scripts"; + version = "20211020-git"; + asds = [ "weblocks-scripts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks/2021-10-20/weblocks-20211020-git.tgz"; + sha256 = "1hilpzm1p3hrp2hxghjr9y8sy5a9bgk96n8kc8bphvn7dvlbm78j"; + system = "weblocks-scripts"; + asd = "weblocks-scripts"; + } + ); + systems = [ "weblocks-scripts" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-stores = ( + build-asdf-system { + pname = "weblocks-stores"; + version = "20211020-git"; + asds = [ "weblocks-stores" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz"; + sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya"; + system = "weblocks-stores"; + asd = "weblocks-stores"; + } + ); + systems = [ "weblocks-stores" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "metatilities" self) + (getAttr "weblocks-util" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weblocks-util = ( + build-asdf-system { + pname = "weblocks-util"; + version = "20211020-git"; + asds = [ "weblocks-util" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weblocks/2021-10-20/weblocks-20211020-git.tgz"; + sha256 = "1hilpzm1p3hrp2hxghjr9y8sy5a9bgk96n8kc8bphvn7dvlbm78j"; + system = "weblocks-util"; + asd = "weblocks-util"; + } + ); + systems = [ "weblocks-util" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-cont" self) + (getAttr "cl-fad" self) + (getAttr "cl-json" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-who" self) + (getAttr "closer-mop" self) + (getAttr "f-underscore" self) + (getAttr "html-template" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "metatilities" self) + (getAttr "optima" self) + (getAttr "parenscript" self) + (getAttr "parse-number" self) + (getAttr "pretty-function" self) + (getAttr "puri" self) + (getAttr "salza2" self) + (getAttr "trivial-backtrace" self) + (getAttr "trivial-timeout" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + websocket-driver = ( + build-asdf-system { + pname = "websocket-driver"; + version = "20241012-git"; + asds = [ "websocket-driver" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; + sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; + system = "websocket-driver"; + asd = "websocket-driver"; + } + ); + systems = [ "websocket-driver" ]; + lispLibs = [ + (getAttr "websocket-driver-client" self) + (getAttr "websocket-driver-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + websocket-driver-base = ( + build-asdf-system { + pname = "websocket-driver-base"; + version = "20241012-git"; + asds = [ "websocket-driver-base" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; + sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; + system = "websocket-driver-base"; + asd = "websocket-driver-base"; + } + ); + systems = [ "websocket-driver-base" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-base64" self) + (getAttr "event-emitter" self) + (getAttr "fast-io" self) + (getAttr "fast-websocket" self) + (getAttr "sha1" self) + (getAttr "split-sequence" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + websocket-driver-client = ( + build-asdf-system { + pname = "websocket-driver-client"; + version = "20241012-git"; + asds = [ "websocket-driver-client" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; + sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; + system = "websocket-driver-client"; + asd = "websocket-driver-client"; + } + ); + systems = [ "websocket-driver-client" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "fast-websocket" self) + (getAttr "quri" self) + (getAttr "usocket" self) + (getAttr "websocket-driver-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + websocket-driver-server = ( + build-asdf-system { + pname = "websocket-driver-server"; + version = "20241012-git"; + asds = [ "websocket-driver-server" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/websocket-driver/2024-10-12/websocket-driver-20241012-git.tgz"; + sha256 = "1lj6xarr62199ladkml7qpgi86w94j4djrp54v9ch0zakni3rhj2"; + system = "websocket-driver-server"; + asd = "websocket-driver-server"; + } + ); + systems = [ "websocket-driver-server" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "clack-socket" self) + (getAttr "fast-io" self) + (getAttr "fast-websocket" self) + (getAttr "websocket-driver-base" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + weft = ( + build-asdf-system { + pname = "weft"; + version = "20180228-git"; + asds = [ "weft" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/weft/2018-02-28/weft-20180228-git.tgz"; + sha256 = "1ia38xcpp9g4v6sij99lyl9b8p59ysg2cj9k92nb683f8pzv9pl3"; + system = "weft"; + asd = "weft"; + } + ); + systems = [ "weft" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "log4cl" self) + (getAttr "trivial-timeout" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + westbrook = ( + build-asdf-system { + pname = "westbrook"; + version = "20180131-git"; + asds = [ "westbrook" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/westbrook/2018-01-31/westbrook-20180131-git.tgz"; + sha256 = "08qs5lpg34d1mn6warrrq1wimyqqrjb8jih62g1pbysgni4ihm2v"; + system = "westbrook"; + asd = "westbrook"; + } + ); + systems = [ "westbrook" ]; + lispLibs = [ (getAttr "cxml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + westbrook-tests = ( + build-asdf-system { + pname = "westbrook-tests"; + version = "20180131-git"; + asds = [ "westbrook-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/westbrook/2018-01-31/westbrook-20180131-git.tgz"; + sha256 = "08qs5lpg34d1mn6warrrq1wimyqqrjb8jih62g1pbysgni4ihm2v"; + system = "westbrook-tests"; + asd = "westbrook-tests"; + } + ); + systems = [ "westbrook-tests" ]; + lispLibs = [ + (getAttr "fiasco" self) + (getAttr "westbrook" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + what3words = ( + build-asdf-system { + pname = "what3words"; + version = "20161204-git"; + asds = [ "what3words" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/what3words/2016-12-04/what3words-20161204-git.tgz"; + sha256 = "0nlrpi8phrf2mpgbw9bj9w4vksqb0baj542bhnq39sjalc8bj73r"; + system = "what3words"; + asd = "what3words"; + } + ); + systems = [ "what3words" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "drakma" self) + (getAttr "jsown" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + whereiseveryone_dot_command-line-args = ( + build-asdf-system { + pname = "whereiseveryone.command-line-args"; + version = "20241012-git"; + asds = [ "whereiseveryone.command-line-args" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/whereiseveryone.command-line-args/2024-10-12/whereiseveryone.command-line-args-20241012-git.tgz"; + sha256 = "140xnz2v0v3hfg3dp2fhidw8ns6lxd3a5knm07wqdp48ksg119wy"; + system = "whereiseveryone.command-line-args"; + asd = "whereiseveryone.command-line-args"; + } + ); + systems = [ "whereiseveryone.command-line-args" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "charje_dot_documentation" self) + (getAttr "serapeum" self) + (getAttr "str" self) + (getAttr "trivia" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + which = ( + build-asdf-system { + pname = "which"; + version = "20160421-git"; + asds = [ "which" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/which/2016-04-21/which-20160421-git.tgz"; + sha256 = "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk"; + system = "which"; + asd = "which"; + } + ); + systems = [ "which" ]; + lispLibs = [ + (getAttr "cl-fad" self) + (getAttr "path-parse" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + which-test = ( + build-asdf-system { + pname = "which-test"; + version = "20160421-git"; + asds = [ "which-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/which/2016-04-21/which-20160421-git.tgz"; + sha256 = "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk"; + system = "which-test"; + asd = "which-test"; + } + ); + systems = [ "which-test" ]; + lispLibs = [ + (getAttr "fiveam" self) + (getAttr "which" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + whirlog = ( + build-asdf-system { + pname = "whirlog"; + version = "20211020-git"; + asds = [ "whirlog" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/whirlog/2021-10-20/whirlog-20211020-git.tgz"; + sha256 = "0sf1kc8ln1gszzrz3qh3bx11k42lpccrv6kp2ihlrg3d6lsa6i26"; + system = "whirlog"; + asd = "whirlog"; + } + ); + systems = [ "whirlog" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + whofields = ( + build-asdf-system { + pname = "whofields"; + version = "20211020-git"; + asds = [ "whofields" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/whofields/2021-10-20/whofields-20211020-git.tgz"; + sha256 = "1scpzzfdw5g7qsayhznjyzns8lxx4fvv2jxd0vr9vnxad3vm977x"; + system = "whofields"; + asd = "whofields"; + } + ); + systems = [ "whofields" ]; + lispLibs = [ + (getAttr "asdf-package-system" self) + (getAttr "cl-who" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wilbur = ( + build-asdf-system { + pname = "wilbur"; + version = "20181210-git"; + asds = [ "wilbur" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/de.setf.wilbur/2018-12-10/de.setf.wilbur-20181210-git.tgz"; + sha256 = "0w4qssyarim4v64vv7jmspmyba7xghx9bkalyyhvccf6zrf7b2v7"; + system = "wilbur"; + asd = "wilbur"; + } + ); + systems = [ "wilbur" ]; + lispLibs = [ (getAttr "usocket" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wild-package-inferred-system = ( + build-asdf-system { + pname = "wild-package-inferred-system"; + version = "20210531-git"; + asds = [ "wild-package-inferred-system" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz"; + sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80"; + system = "wild-package-inferred-system"; + asd = "wild-package-inferred-system"; + } + ); + systems = [ "wild-package-inferred-system" ]; + lispLibs = [ ]; + meta = { }; + } + ); + window = ( + build-asdf-system { + pname = "window"; + version = "20200427-git"; + asds = [ "window" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz"; + sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34"; + system = "window"; + asd = "window"; + } + ); + systems = [ "window" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bodge-glfw" self) + (getAttr "cffi" self) + (getAttr "trivial-features" self) + (getAttr "utility" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + winhttp = ( + build-asdf-system { + pname = "winhttp"; + version = "20241012-git"; + asds = [ "winhttp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/winhttp/2024-10-12/winhttp-20241012-git.tgz"; + sha256 = "1g4prr0x2cyc58wcpa3kfiwcs9f536bzfmsnlwnh3yn9aqndg67c"; + system = "winhttp"; + asd = "winhttp"; + } + ); + systems = [ "winhttp" ]; + lispLibs = [ (getAttr "cffi" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + winlock = ( + build-asdf-system { + pname = "winlock"; + version = "20191130-git"; + asds = [ "winlock" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/winlock/2019-11-30/winlock-20191130-git.tgz"; + sha256 = "0sgjq1cjbmshnh2zwyqws7rkr93zkjl0rrzyf04542gb1grj0vd8"; + system = "winlock"; + asd = "winlock"; + } + ); + systems = [ "winlock" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "named-readtables" self) + (getAttr "serapeum" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wire-world = ( + build-asdf-system { + pname = "wire-world"; + version = "master-fe503896-git"; + asds = [ "wire-world" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "wire-world"; + asd = "wire-world"; + } + ); + systems = [ "wire-world" ]; + lispLibs = [ (getAttr "gwl-graphics" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-branching = ( + build-asdf-system { + pname = "with-branching"; + version = "20241012-git"; + asds = [ "with-branching" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-branching/2024-10-12/with-branching-20241012-git.tgz"; + sha256 = "0rhmlg1nbbhaa5jflhnydsqs7aqwg8d7ijxxcqa8lkcq49wvm647"; + system = "with-branching"; + asd = "with-branching"; + } + ); + systems = [ "with-branching" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-indent" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-c-syntax = ( + build-asdf-system { + pname = "with-c-syntax"; + version = "20221106-git"; + asds = [ "with-c-syntax" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-c-syntax/2022-11-06/with-c-syntax-20221106-git.tgz"; + sha256 = "12gdwdyxyl9xm8n04qvmvyc1s06dkckb87i6hdysal5lsf1gwc41"; + system = "with-c-syntax"; + asd = "with-c-syntax"; + } + ); + systems = [ "with-c-syntax" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-ppcre" self) + (getAttr "float-features" self) + (getAttr "floating-point-contractions" self) + (getAttr "named-readtables" self) + (getAttr "split-sequence" self) + (getAttr "trivial-gray-streams" self) + (getAttr "yacc" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-c-syntax-test = ( + build-asdf-system { + pname = "with-c-syntax-test"; + version = "20221106-git"; + asds = [ "with-c-syntax-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-c-syntax/2022-11-06/with-c-syntax-20221106-git.tgz"; + sha256 = "12gdwdyxyl9xm8n04qvmvyc1s06dkckb87i6hdysal5lsf1gwc41"; + system = "with-c-syntax-test"; + asd = "with-c-syntax-test"; + } + ); + systems = [ "with-c-syntax-test" ]; + lispLibs = [ + (getAttr "_1am" self) + (getAttr "floating-point" self) + (getAttr "trivial-cltl2" self) + (getAttr "with-c-syntax" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-cached-reader-conditionals = ( + build-asdf-system { + pname = "with-cached-reader-conditionals"; + version = "20170630-git"; + asds = [ "with-cached-reader-conditionals" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-cached-reader-conditionals/2017-06-30/with-cached-reader-conditionals-20170630-git.tgz"; + sha256 = "0n7a089d0wb13l1nsdh3xlgwxwlqynkbjl8fg2x56h52a5i9gkv4"; + system = "with-cached-reader-conditionals"; + asd = "with-cached-reader-conditionals"; + } + ); + systems = [ "with-cached-reader-conditionals" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-contexts = ( + build-asdf-system { + pname = "with-contexts"; + version = "20241012-git"; + asds = [ "with-contexts" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-contexts/2024-10-12/with-contexts-20241012-git.tgz"; + sha256 = "1biz33wxg312zsmpyjqfcmq4vnixxz3g4hp9krc61977d5n4fxwj"; + system = "with-contexts"; + asd = "with-contexts"; + } + ); + systems = [ "with-contexts" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-output-to-stream = ( + build-asdf-system { + pname = "with-output-to-stream"; + version = "1.0"; + asds = [ "with-output-to-stream" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-output-to-stream/2019-10-07/with-output-to-stream_1.0.tgz"; + sha256 = "0pv9kccjbxkgcv7wbcfpnzas9pq0n2rs2aq9kdnqkx55k12366sm"; + system = "with-output-to-stream"; + asd = "with-output-to-stream"; + } + ); + systems = [ "with-output-to-stream" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-output-to-stream__tests = ( + build-asdf-system { + pname = "with-output-to-stream_tests"; + version = "1.0"; + asds = [ "with-output-to-stream_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-output-to-stream/2019-10-07/with-output-to-stream_1.0.tgz"; + sha256 = "0pv9kccjbxkgcv7wbcfpnzas9pq0n2rs2aq9kdnqkx55k12366sm"; + system = "with-output-to-stream_tests"; + asd = "with-output-to-stream_tests"; + } + ); + systems = [ "with-output-to-stream_tests" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "with-output-to-stream" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-setf = ( + build-asdf-system { + pname = "with-setf"; + version = "release-quicklisp-df3eed9d-git"; + asds = [ "with-setf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-setf/2018-02-28/with-setf-release-quicklisp-df3eed9d-git.tgz"; + sha256 = "090v39kdxk4py3axjrjjac2pn1p0109q14hvl818pik479xr4inz"; + system = "with-setf"; + asd = "with-setf"; + } + ); + systems = [ "with-setf" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-shadowed-bindings = ( + build-asdf-system { + pname = "with-shadowed-bindings"; + version = "1.0"; + asds = [ "with-shadowed-bindings" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-shadowed-bindings/2019-01-07/with-shadowed-bindings-1.0.tgz"; + sha256 = "0kxy86a21v4fm4xwd44c6kpdadgkcj8iv6a68xavhirhjhngcwy5"; + system = "with-shadowed-bindings"; + asd = "with-shadowed-bindings"; + } + ); + systems = [ "with-shadowed-bindings" ]; + lispLibs = [ (getAttr "map-bind" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-shadowed-bindings__tests = ( + build-asdf-system { + pname = "with-shadowed-bindings_tests"; + version = "1.0"; + asds = [ "with-shadowed-bindings_tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-shadowed-bindings/2019-01-07/with-shadowed-bindings-1.0.tgz"; + sha256 = "0kxy86a21v4fm4xwd44c6kpdadgkcj8iv6a68xavhirhjhngcwy5"; + system = "with-shadowed-bindings_tests"; + asd = "with-shadowed-bindings_tests"; + } + ); + systems = [ "with-shadowed-bindings_tests" ]; + lispLibs = [ + (getAttr "parachute" self) + (getAttr "with-shadowed-bindings" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + with-user-abort = ( + build-asdf-system { + pname = "with-user-abort"; + version = "20230214-git"; + asds = [ "with-user-abort" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/with-user-abort/2023-02-14/with-user-abort-20230214-git.tgz"; + sha256 = "0yidlm92dk8kvz137zlm2f0d198kmgqpdswkinr2x4snbgkhd98j"; + system = "with-user-abort"; + asd = "with-user-abort"; + } + ); + systems = [ "with-user-abort" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + woo = ( + build-asdf-system { + pname = "woo"; + version = "20241012-git"; + asds = [ "woo" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/woo/2024-10-12/woo-20241012-git.tgz"; + sha256 = "0nhxlb1qhkl20vknm44gx0cq5cks33rcljczfhgbnmpkzrdpdrrl"; + system = "woo"; + asd = "woo"; + } + ); + systems = [ "woo" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "cl_plus_ssl" self) + (getAttr "clack-socket" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "lev" self) + (getAttr "quri" self) + (getAttr "smart-buffer" self) + (getAttr "static-vectors" self) + (getAttr "swap-bytes" self) + (getAttr "trivial-mimes" self) + (getAttr "trivial-utf-8" self) + (getAttr "vom" self) + ]; + meta = { }; + } + ); + woo-test = ( + build-asdf-system { + pname = "woo-test"; + version = "20241012-git"; + asds = [ "woo-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/woo/2024-10-12/woo-20241012-git.tgz"; + sha256 = "0nhxlb1qhkl20vknm44gx0cq5cks33rcljczfhgbnmpkzrdpdrrl"; + system = "woo-test"; + asd = "woo-test"; + } + ); + systems = [ "woo-test" ]; + lispLibs = [ + (getAttr "clack-test" self) + (getAttr "rove" self) + (getAttr "woo" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wookie = ( + build-asdf-system { + pname = "wookie"; + version = "20230214-git"; + asds = [ "wookie" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wookie/2023-02-14/wookie-20230214-git.tgz"; + sha256 = "1i5l9isahww9zwizj6dmdcplck8wr8gxm31i43i8hf3rfxmvfjwn"; + system = "wookie"; + asd = "wookie"; + } + ); + systems = [ "wookie" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "blackbird" self) + (getAttr "chunga" self) + (getAttr "cl-async" self) + (getAttr "cl-async-ssl" self) + (getAttr "cl-fad" self) + (getAttr "cl-ppcre" self) + (getAttr "do-urlencode" self) + (getAttr "fast-http" self) + (getAttr "fast-io" self) + (getAttr "quri" self) + (getAttr "vom" self) + ]; + meta = { }; + } + ); + wordnet = ( + build-asdf-system { + pname = "wordnet"; + version = "20220220-git"; + asds = [ "wordnet" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wordnet/2022-02-20/wordnet-20220220-git.tgz"; + sha256 = "07p60k295fsfcp0gmkqhrxd68hb38aqva8f4k8xk8bqqxxf42vkq"; + system = "wordnet"; + asd = "wordnet"; + } + ); + systems = [ "wordnet" ]; + lispLibs = [ (getAttr "split-sequence" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + workout-timer = ( + build-asdf-system { + pname = "workout-timer"; + version = "20230214-git"; + asds = [ "workout-timer" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/workout-timer/2023-02-14/workout-timer-20230214-git.tgz"; + sha256 = "1f8qj6la93k95xqkliv59r6dkyhyhzqp2zgk0s893a3mrar0gfrx"; + system = "workout-timer"; + asd = "workout-timer"; + } + ); + systems = [ "workout-timer" ]; + lispLibs = [ + (getAttr "cffi-toolchain" self) + (getAttr "command-line-arguments" self) + (getAttr "local-time" self) + (getAttr "mixalot" self) + (getAttr "mixalot-vorbis" self) + (getAttr "vorbisfile-ffi" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wu-decimal = ( + build-asdf-system { + pname = "wu-decimal"; + version = "20130128-git"; + asds = [ "wu-decimal" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wu-decimal/2013-01-28/wu-decimal-20130128-git.tgz"; + sha256 = "1p7na4hic7297amwm4idfwkyx664ny8cdssncyra37pmv4wzp8dm"; + system = "wu-decimal"; + asd = "wu-decimal"; + } + ); + systems = [ "wu-decimal" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wu-sugar = ( + build-asdf-system { + pname = "wu-sugar"; + version = "20160825-git"; + asds = [ "wu-sugar" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wu-sugar/2016-08-25/wu-sugar-20160825-git.tgz"; + sha256 = "0ypn5195krfd1rva5myla8j7n2ilfs5gxh81flx7v0mr4r70fayl"; + system = "wu-sugar"; + asd = "wu-sugar"; + } + ); + systems = [ "wu-sugar" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wuwei = ( + build-asdf-system { + pname = "wuwei"; + version = "20221106-git"; + asds = [ "wuwei" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wuwei/2022-11-06/wuwei-20221106-git.tgz"; + sha256 = "1k5yhxdqcx250kd56qgbch5z0hvjpjwch38c3949nf790pmrhl8f"; + system = "wuwei"; + asd = "wuwei"; + } + ); + systems = [ "wuwei" ]; + lispLibs = [ + (getAttr "aserve" self) + (getAttr "cl-json" self) + (getAttr "drakma" self) + (getAttr "ironclad" self) + (getAttr "mtlisp" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + wuwei-examples = ( + build-asdf-system { + pname = "wuwei-examples"; + version = "20221106-git"; + asds = [ "wuwei-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/wuwei/2022-11-06/wuwei-20221106-git.tgz"; + sha256 = "1k5yhxdqcx250kd56qgbch5z0hvjpjwch38c3949nf790pmrhl8f"; + system = "wuwei-examples"; + asd = "wuwei"; + } + ); + systems = [ "wuwei-examples" ]; + lispLibs = [ + (getAttr "drakma" self) + (getAttr "wuwei" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + x_dot_let-star = ( + build-asdf-system { + pname = "x.let-star"; + version = "20200325-git"; + asds = [ "x.let-star" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/x.let-star/2020-03-25/x.let-star-20200325-git.tgz"; + sha256 = "0qk0rpqzb7vaivggsqch06nmdjzp6b31a88w40y3864clajpcrnr"; + system = "x.let-star"; + asd = "x.let-star"; + } + ); + systems = [ "x.let-star" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xarray = ( + build-asdf-system { + pname = "xarray"; + version = "20140113-git"; + asds = [ "xarray" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xarray/2014-01-13/xarray-20140113-git.tgz"; + sha256 = "031h1bvy9s6qas2160dgf7gc0y6inrhpzp8j3wrb6fjxkb0524yl"; + system = "xarray"; + asd = "xarray"; + } + ); + systems = [ "xarray" ]; + lispLibs = [ + (getAttr "anaphora" self) + (getAttr "cl-utilities" self) + (getAttr "iterate" self) + (getAttr "metabang-bind" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xarray-test = ( + build-asdf-system { + pname = "xarray-test"; + version = "20140113-git"; + asds = [ "xarray-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xarray/2014-01-13/xarray-20140113-git.tgz"; + sha256 = "031h1bvy9s6qas2160dgf7gc0y6inrhpzp8j3wrb6fjxkb0524yl"; + system = "xarray-test"; + asd = "xarray-test"; + } + ); + systems = [ "xarray-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "xarray" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xcat = ( + build-asdf-system { + pname = "xcat"; + version = "20200925-git"; + asds = [ "xcat" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xcat/2020-09-25/xcat-20200925-git.tgz"; + sha256 = "1v8mcz8bidcbfl587b5lm07l91xan6z1y3zikjkyzagiigd4byvi"; + system = "xcat"; + asd = "xcat"; + } + ); + systems = [ "xcat" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "flexi-streams" self) + (getAttr "log4cl" self) + (getAttr "trivial-features" self) + (getAttr "trivial-garbage" self) + (getAttr "usocket-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xecto = ( + build-asdf-system { + pname = "xecto"; + version = "20151218-git"; + asds = [ "xecto" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xecto/2015-12-18/xecto-20151218-git.tgz"; + sha256 = "1m81cl02k28v9sgscl8qhig735x5qybhw69szs6bkkqml7hbl12q"; + system = "xecto"; + asd = "xecto"; + } + ); + systems = [ "xecto" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xembed = ( + build-asdf-system { + pname = "xembed"; + version = "20191130-git"; + asds = [ "xembed" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clx-xembed/2019-11-30/clx-xembed-20191130-git.tgz"; + sha256 = "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"; + system = "xembed"; + asd = "xembed"; + } + ); + systems = [ "xembed" ]; + lispLibs = [ (getAttr "clx" self) ]; + meta = { }; + } + ); + xfactory = ( + build-asdf-system { + pname = "xfactory"; + version = "20130615-git"; + asds = [ "xfactory" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; + sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; + system = "xfactory"; + asd = "xfactory"; + } + ); + systems = [ "xfactory" ]; + lispLibs = [ (getAttr "cl-libxml2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xfactory-test = ( + build-asdf-system { + pname = "xfactory-test"; + version = "20130615-git"; + asds = [ "xfactory-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; + sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; + system = "xfactory-test"; + asd = "xfactory"; + } + ); + systems = [ "xfactory-test" ]; + lispLibs = [ + (getAttr "lift" self) + (getAttr "xfactory" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xhtmlambda = ( + build-asdf-system { + pname = "xhtmlambda"; + version = "20241012-git"; + asds = [ "xhtmlambda" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xhtmlambda/2024-10-12/xhtmlambda-20241012-git.tgz"; + sha256 = "1xqwps5lr66lhqiczvccxrpy8kff15fx6qr9nh1i65wi4p68i1bb"; + system = "xhtmlambda"; + asd = "xhtmlambda"; + } + ); + systems = [ "xhtmlambda" ]; + lispLibs = [ (getAttr "cl-unicode" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xhtmlgen = ( + build-asdf-system { + pname = "xhtmlgen"; + version = "20170124-git"; + asds = [ "xhtmlgen" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xhtmlgen/2017-01-24/xhtmlgen-20170124-git.tgz"; + sha256 = "0br4pqhl7y7rd95l9xx2p96gds3dh4pgk9v038wbshl2dnhjv82k"; + system = "xhtmlgen"; + asd = "xhtmlgen"; + } + ); + systems = [ "xhtmlgen" ]; + lispLibs = [ (getAttr "cxml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xhtmlgen-test = ( + build-asdf-system { + pname = "xhtmlgen-test"; + version = "20170124-git"; + asds = [ "xhtmlgen-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xhtmlgen/2017-01-24/xhtmlgen-20170124-git.tgz"; + sha256 = "0br4pqhl7y7rd95l9xx2p96gds3dh4pgk9v038wbshl2dnhjv82k"; + system = "xhtmlgen-test"; + asd = "xhtmlgen"; + } + ); + systems = [ "xhtmlgen-test" ]; + lispLibs = [ + (getAttr "rt" self) + (getAttr "xhtmlgen" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xkeyboard = ( + build-asdf-system { + pname = "xkeyboard"; + version = "20120811-git"; + asds = [ "xkeyboard" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz"; + sha256 = "1nxky9wsmm7nmwz372jgb4iy0ywlm22jw0vl8yi0k9slsfklvcqi"; + system = "xkeyboard"; + asd = "xkeyboard"; + } + ); + systems = [ "xkeyboard" ]; + lispLibs = [ (getAttr "clx" self) ]; + meta = { }; + } + ); + xkeyboard-test = ( + build-asdf-system { + pname = "xkeyboard-test"; + version = "20120811-git"; + asds = [ "xkeyboard-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz"; + sha256 = "1nxky9wsmm7nmwz372jgb4iy0ywlm22jw0vl8yi0k9slsfklvcqi"; + system = "xkeyboard-test"; + asd = "xkeyboard"; + } + ); + systems = [ "xkeyboard-test" ]; + lispLibs = [ (getAttr "xkeyboard" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xlsx = ( + build-asdf-system { + pname = "xlsx"; + version = "20180711-git"; + asds = [ "xlsx" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xlsx/2018-07-11/xlsx-20180711-git.tgz"; + sha256 = "15vw5zl13jg9b1rla7w2wv6ss93mijrnn9fzsh0fakgvfikqq1n6"; + system = "xlsx"; + asd = "xlsx"; + } + ); + systems = [ "xlsx" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "xmls" self) + (getAttr "zip" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xlunit = ( + build-asdf-system { + pname = "xlunit"; + version = "20150923-git"; + asds = [ "xlunit" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xlunit/2015-09-23/xlunit-20150923-git.tgz"; + sha256 = "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"; + system = "xlunit"; + asd = "xlunit"; + } + ); + systems = [ "xlunit" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xlunit-tests = ( + build-asdf-system { + pname = "xlunit-tests"; + version = "20150923-git"; + asds = [ "xlunit-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xlunit/2015-09-23/xlunit-20150923-git.tgz"; + sha256 = "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"; + system = "xlunit-tests"; + asd = "xlunit"; + } + ); + systems = [ "xlunit-tests" ]; + lispLibs = [ (getAttr "xlunit" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xml-emitter = ( + build-asdf-system { + pname = "xml-emitter"; + version = "20241012-git"; + asds = [ "xml-emitter" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xml-emitter/2024-10-12/xml-emitter-20241012-git.tgz"; + sha256 = "1q7iygd1v857a3c72kv4zxm9nhx94kkam4p8z5v10q2r2cwfps1w"; + system = "xml-emitter"; + asd = "xml-emitter"; + } + ); + systems = [ "xml-emitter" ]; + lispLibs = [ (getAttr "cl-utilities" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xml-mop = ( + build-asdf-system { + pname = "xml-mop"; + version = "20110418-git"; + asds = [ "xml-mop" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xml-mop/2011-04-18/xml-mop-20110418-git.tgz"; + sha256 = "1vfa3h5dghnpc7qbqqm80mm1ri6x7x5r528kvkwzngghrbxyhgjr"; + system = "xml-mop"; + asd = "xml-mop"; + } + ); + systems = [ "xml-mop" ]; + lispLibs = [ + (getAttr "closer-mop" self) + (getAttr "s-xml" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xml-render = ( + build-asdf-system { + pname = "xml-render"; + version = "20210531-git"; + asds = [ "xml-render" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz"; + sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"; + system = "xml-render"; + asd = "xml-render"; + } + ); + systems = [ "xml-render" ]; + lispLibs = [ + (getAttr "cl-typesetting" self) + (getAttr "xmls" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xml_dot_location = ( + build-asdf-system { + pname = "xml.location"; + version = "20200325-git"; + asds = [ "xml.location" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz"; + sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii"; + system = "xml.location"; + asd = "xml.location"; + } + ); + systems = [ "xml.location" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "closer-mop" self) + (getAttr "cxml-stp" self) + (getAttr "iterate" self) + (getAttr "let-plus" self) + (getAttr "more-conditions" self) + (getAttr "split-sequence" self) + (getAttr "xpath" self) + ]; + meta = { }; + } + ); + xml_dot_location-and-local-time = ( + build-asdf-system { + pname = "xml.location-and-local-time"; + version = "20200325-git"; + asds = [ "xml.location-and-local-time" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz"; + sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii"; + system = "xml.location-and-local-time"; + asd = "xml.location-and-local-time"; + } + ); + systems = [ "xml.location-and-local-time" ]; + lispLibs = [ + (getAttr "local-time" self) + (getAttr "xml_dot_location" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xmls = ( + build-asdf-system { + pname = "xmls"; + version = "release-310ba849-git"; + asds = [ "xmls" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xmls/2023-10-21/xmls-release-310ba849-git.tgz"; + sha256 = "0s1acd2r77v6x9f2kmd15njkmvvx3ivivlk509ndgmdhnn2jd776"; + system = "xmls"; + asd = "xmls"; + } + ); + systems = [ "xmls" ]; + lispLibs = [ ]; + meta = { }; + } + ); + xoverlay = ( + build-asdf-system { + pname = "xoverlay"; + version = "20130615-git"; + asds = [ "xoverlay" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz"; + sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw"; + system = "xoverlay"; + asd = "xoverlay"; + } + ); + systems = [ "xoverlay" ]; + lispLibs = [ (getAttr "cl-libxml2" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xpath = ( + build-asdf-system { + pname = "xpath"; + version = "20190521-git"; + asds = [ "xpath" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/plexippus-xpath/2019-05-21/plexippus-xpath-20190521-git.tgz"; + sha256 = "1fb03fgnzrvh22lw1jdg04pmyja5fib5n42rzwp5mhr829yvxkvp"; + system = "xpath"; + asd = "xpath"; + } + ); + systems = [ "xpath" ]; + lispLibs = [ + (getAttr "cl-ppcre" self) + (getAttr "cxml" self) + (getAttr "parse-number" self) + (getAttr "yacc" self) + ]; + meta = { }; + } + ); + xptest = ( + build-asdf-system { + pname = "xptest"; + version = "20150923-git"; + asds = [ "xptest" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xptest/2015-09-23/xptest-20150923-git.tgz"; + sha256 = "02jwncq5d60l77gf87ahabzg6k6c878gfc4x1mf6ld97rj5lzp3b"; + system = "xptest"; + asd = "xptest"; + } + ); + systems = [ "xptest" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xsubseq = ( + build-asdf-system { + pname = "xsubseq"; + version = "20170830-git"; + asds = [ "xsubseq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xsubseq/2017-08-30/xsubseq-20170830-git.tgz"; + sha256 = "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"; + system = "xsubseq"; + asd = "xsubseq"; + } + ); + systems = [ "xsubseq" ]; + lispLibs = [ ]; + meta = { }; + } + ); + xsubseq-test = ( + build-asdf-system { + pname = "xsubseq-test"; + version = "20170830-git"; + asds = [ "xsubseq-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xsubseq/2017-08-30/xsubseq-20170830-git.tgz"; + sha256 = "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"; + system = "xsubseq-test"; + asd = "xsubseq-test"; + } + ); + systems = [ "xsubseq-test" ]; + lispLibs = [ + (getAttr "prove" self) + (getAttr "prove-asdf" self) + (getAttr "xsubseq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + xuriella = ( + build-asdf-system { + pname = "xuriella"; + version = "20120305-git"; + asds = [ "xuriella" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/xuriella/2012-03-05/xuriella-20120305-git.tgz"; + sha256 = "0wz98bfvr7h7g0r7dy815brq5sz3x40281hp0qk801q17aa4qhqh"; + system = "xuriella"; + asd = "xuriella"; + } + ); + systems = [ "xuriella" ]; + lispLibs = [ + (getAttr "closure-html" self) + (getAttr "cxml" self) + (getAttr "cxml-stp" self) + (getAttr "split-sequence" self) + (getAttr "xpath" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + yacc = ( + build-asdf-system { + pname = "yacc"; + version = "20230214-git"; + asds = [ "yacc" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yacc/2023-02-14/cl-yacc-20230214-git.tgz"; + sha256 = "1f974ysi7mlrksnqg63iwwxgbypkng4n240q29imkrz6m5pwdig7"; + system = "yacc"; + asd = "yacc"; + } + ); + systems = [ "yacc" ]; + lispLibs = [ ]; + meta = { }; + } + ); + yaclml = ( + build-asdf-system { + pname = "yaclml"; + version = "20180131-git"; + asds = [ "yaclml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/yaclml/2018-01-31/yaclml-20180131-git.tgz"; + sha256 = "0wq6clk4qwbdaf0hcfjz4vg27nyf6ng0rrip1ay4rlkb03hdnssq"; + system = "yaclml"; + asd = "yaclml"; + } + ); + systems = [ "yaclml" ]; + lispLibs = [ + (getAttr "arnesi" self) + (getAttr "iterate" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + yadd = ( + build-asdf-system { + pname = "yadd"; + version = "master-fe503896-git"; + asds = [ "yadd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/gendl/2023-10-21/gendl-master-fe503896-git.tgz"; + sha256 = "0raymbbp71zfyiq6z2qvdh2h8jab3ilc0slxi2m8i7cz0kj1zw10"; + system = "yadd"; + asd = "yadd"; + } + ); + systems = [ "yadd" ]; + lispLibs = [ + (getAttr "cl-html-parse" self) + (getAttr "gwl-graphics" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + yah = ( + build-asdf-system { + pname = "yah"; + version = "20231021-git"; + asds = [ "yah" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/yah/2023-10-21/yah-20231021-git.tgz"; + sha256 = "1sklx9ak2rh9h19805i9wbym889pwd1qh3d4c4fsk9cbj2i9yxx5"; + system = "yah"; + asd = "yah"; + } + ); + systems = [ "yah" ]; + lispLibs = [ (getAttr "mgl-pax" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + yason = ( + build-asdf-system { + pname = "yason"; + version = "20241012-git"; + asds = [ "yason" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/yason/2024-10-12/yason-20241012-git.tgz"; + sha256 = "00hqii9n6ay5cq1ahbqpnw3l3v0mmz5s1f9kn6l35g8zxj1nlpa7"; + system = "yason"; + asd = "yason"; + } + ); + systems = [ "yason" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { }; + } + ); + yason-tests = ( + build-asdf-system { + pname = "yason-tests"; + version = "20241012-git"; + asds = [ "yason-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/yason/2024-10-12/yason-20241012-git.tgz"; + sha256 = "00hqii9n6ay5cq1ahbqpnw3l3v0mmz5s1f9kn6l35g8zxj1nlpa7"; + system = "yason-tests"; + asd = "yason-tests"; + } + ); + systems = [ "yason-tests" ]; + lispLibs = [ + (getAttr "unit-test" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + youtube = ( + build-asdf-system { + pname = "youtube"; + version = "20191227-git"; + asds = [ "youtube" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/youtube/2019-12-27/youtube-20191227-git.tgz"; + sha256 = "0rqbyxgb9v3m8rwx2agaz7cq83w9k8gy5wl5wbw0rfg7r88ah5z0"; + system = "youtube"; + asd = "youtube"; + } + ); + systems = [ "youtube" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl-ppcre" self) + (getAttr "yason" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + yxorp = ( + build-asdf-system { + pname = "yxorp"; + version = "20231021-git"; + asds = [ "yxorp" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-yxorp/2023-10-21/cl-yxorp-20231021-git.tgz"; + sha256 = "0l84icr1d3z2k6rs92lgkghwqm6w3i87d1sz4c8mpfcyfb5shgzn"; + system = "yxorp"; + asd = "yxorp"; + } + ); + systems = [ "yxorp" ]; + lispLibs = [ + (getAttr "binding-arrows" self) + (getAttr "chipz" self) + (getAttr "chunga" self) + (getAttr "cl_plus_ssl" self) + (getAttr "flexi-streams" self) + (getAttr "rutils" self) + (getAttr "salza2" self) + (getAttr "smart-buffer" self) + (getAttr "str" self) + (getAttr "trivial-garbage" self) + (getAttr "usocket" self) + (getAttr "usocket-server" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zacl = ( + build-asdf-system { + pname = "zacl"; + version = "20230618-git"; + asds = [ "zacl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zacl/2023-06-18/zacl-20230618-git.tgz"; + sha256 = "1s31d47zx8hczim78zrqzg4bvj4bshj31gmrff065q6racx3q1dk"; + system = "zacl"; + asd = "zacl"; + } + ); + systems = [ "zacl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "atomics" self) + (getAttr "babel-streams" self) + (getAttr "bordeaux-threads" self) + (getAttr "cl_plus_ssl" self) + (getAttr "cl-base64" self) + (getAttr "cl-ppcre" self) + (getAttr "cl-store" self) + (getAttr "local-time" self) + (getAttr "md5" self) + (getAttr "queues_dot_simple-queue" self) + (getAttr "quri" self) + (getAttr "setup-cl_plus_ssl" self) + (getAttr "split-sequence" self) + (getAttr "trivial-backtrace" self) + (getAttr "trivial-garbage" self) + (getAttr "usocket" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zaserve = ( + build-asdf-system { + pname = "zaserve"; + version = "20230618-git"; + asds = [ "zaserve" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/aserve/2023-06-18/aserve-20230618-git.tgz"; + sha256 = "1i88264yghlb4brdh58hn9cps695gh63b6w6i8dmsd9rqwhlsibi"; + system = "zaserve"; + asd = "zaserve"; + } + ); + systems = [ "zaserve" ]; + lispLibs = [ + (getAttr "setup-cl_plus_ssl" self) + (getAttr "zacl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zaws = ( + build-asdf-system { + pname = "zaws"; + version = "20150407-git"; + asds = [ "zaws" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zaws/2015-04-07/zaws-20150407-git.tgz"; + sha256 = "1iwjyqzm4b44in7i53z5lp8n4gzsi27ch02ql6y2vxbmq3sqffaw"; + system = "zaws"; + asd = "zaws"; + } + ); + systems = [ "zaws" ]; + lispLibs = [ + (getAttr "cl-base64" self) + (getAttr "drakma" self) + (getAttr "flexi-streams" self) + (getAttr "ironclad" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zaws-xml = ( + build-asdf-system { + pname = "zaws-xml"; + version = "20150407-git"; + asds = [ "zaws-xml" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zaws/2015-04-07/zaws-20150407-git.tgz"; + sha256 = "1iwjyqzm4b44in7i53z5lp8n4gzsi27ch02ql6y2vxbmq3sqffaw"; + system = "zaws-xml"; + asd = "zaws-xml"; + } + ); + systems = [ "zaws-xml" ]; + lispLibs = [ (getAttr "cxml" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zbucium = ( + build-asdf-system { + pname = "zbucium"; + version = "20190710-git"; + asds = [ "zbucium" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zbucium/2019-07-10/zbucium-20190710-git.tgz"; + sha256 = "112qx8lwcsaipnnypv2jr57lwhlgzb5n53wgck3r66b8vjjb91gy"; + system = "zbucium"; + asd = "zbucium"; + } + ); + systems = [ "zbucium" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "bordeaux-threads" self) + (getAttr "drakma" self) + (getAttr "fare-memoization" self) + (getAttr "generators" self) + (getAttr "lastfm" self) + (getAttr "local-time" self) + (getAttr "lquery" self) + (getAttr "lyrics" self) + (getAttr "plump" self) + (getAttr "yason" self) + (getAttr "youtube" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zcdb = ( + build-asdf-system { + pname = "zcdb"; + version = "1.0.4"; + asds = [ "zcdb" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zcdb/2015-04-07/zcdb-1.0.4.tgz"; + sha256 = "1g83hqivh40xrpifm9v1vx92h13g5kzn12fjrlk57fyl1qwjqdi7"; + system = "zcdb"; + asd = "zcdb"; + } + ); + systems = [ "zcdb" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zenekindarl = ( + build-asdf-system { + pname = "zenekindarl"; + version = "20171130-git"; + asds = [ "zenekindarl" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zenekindarl/2017-11-30/zenekindarl-20171130-git.tgz"; + sha256 = "104y98j8fjj4wry55mhgv3g6358h5n1qcbhpn19b27b8cs8gqwib"; + system = "zenekindarl"; + asd = "zenekindarl"; + } + ); + systems = [ "zenekindarl" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "anaphora" self) + (getAttr "babel" self) + (getAttr "cl-annot" self) + (getAttr "cl-ppcre" self) + (getAttr "fast-io" self) + (getAttr "html-encode" self) + (getAttr "maxpc" self) + (getAttr "optima" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zenekindarl-test = ( + build-asdf-system { + pname = "zenekindarl-test"; + version = "20171130-git"; + asds = [ "zenekindarl-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zenekindarl/2017-11-30/zenekindarl-20171130-git.tgz"; + sha256 = "104y98j8fjj4wry55mhgv3g6358h5n1qcbhpn19b27b8cs8gqwib"; + system = "zenekindarl-test"; + asd = "zenekindarl-test"; + } + ); + systems = [ "zenekindarl-test" ]; + lispLibs = [ + (getAttr "flexi-streams" self) + (getAttr "prove" self) + (getAttr "zenekindarl" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zeromq = ( + build-asdf-system { + pname = "zeromq"; + version = "20160318-git"; + asds = [ "zeromq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zmq/2016-03-18/cl-zmq-20160318-git.tgz"; + sha256 = "0g19ych3n57qdd42m0bcdcrq8c1p0fqzz07xrxl0s0g8bms3a3ga"; + system = "zeromq"; + asd = "zeromq"; + } + ); + systems = [ "zeromq" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zeromq_dot_tests = ( + build-asdf-system { + pname = "zeromq.tests"; + version = "20160318-git"; + asds = [ "zeromq.tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zmq/2016-03-18/cl-zmq-20160318-git.tgz"; + sha256 = "0g19ych3n57qdd42m0bcdcrq8c1p0fqzz07xrxl0s0g8bms3a3ga"; + system = "zeromq.tests"; + asd = "zeromq"; + } + ); + systems = [ "zeromq.tests" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "fiveam" self) + (getAttr "zeromq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zip = ( + build-asdf-system { + pname = "zip"; + version = "20150608-git"; + asds = [ "zip" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zip/2015-06-08/zip-20150608-git.tgz"; + sha256 = "0s08a6fq182fzsbfyvihqbdllq6gxcwkvphxnrd9wwz65dhg5y66"; + system = "zip"; + asd = "zip"; + } + ); + systems = [ "zip" ]; + lispLibs = [ + (getAttr "babel" self) + (getAttr "cl-fad" self) + (getAttr "salza2" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zippy = ( + build-asdf-system { + pname = "zippy"; + version = "20241012-git"; + asds = [ "zippy" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zippy/2024-10-12/zippy-20241012-git.tgz"; + sha256 = "06znhzi4zjg2p2858cwnlslqvx28zlmqr9jqij0rkvnn7ysa7qcg"; + system = "zippy"; + asd = "zippy"; + } + ); + systems = [ "zippy" ]; + lispLibs = [ + (getAttr "_3bz" self) + (getAttr "alexandria" self) + (getAttr "babel" self) + (getAttr "documentation-utils" self) + (getAttr "file-attributes" self) + (getAttr "filesystem-utils" self) + (getAttr "nibbles" self) + (getAttr "pathname-utils" self) + (getAttr "salza2" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zippy-dwim = ( + build-asdf-system { + pname = "zippy-dwim"; + version = "20241012-git"; + asds = [ "zippy-dwim" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zippy/2024-10-12/zippy-20241012-git.tgz"; + sha256 = "06znhzi4zjg2p2858cwnlslqvx28zlmqr9jqij0rkvnn7ysa7qcg"; + system = "zippy-dwim"; + asd = "zippy-dwim"; + } + ); + systems = [ "zippy-dwim" ]; + lispLibs = [ + (getAttr "deploy" self) + (getAttr "zippy" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + ziz = ( + build-asdf-system { + pname = "ziz"; + version = "20191007-git"; + asds = [ "ziz" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/ziz/2019-10-07/ziz-20191007-git.tgz"; + sha256 = "1rh6ixkyyj7y9jkw046m4ilmr8a12ylzm0a7sm8mjybdpkh6bk30"; + system = "ziz"; + asd = "ziz"; + } + ); + systems = [ "ziz" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "hunchentoot" self) + (getAttr "ironclad" self) + (getAttr "trivial-file-size" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zlib = ( + build-asdf-system { + pname = "zlib"; + version = "20170403-git"; + asds = [ "zlib" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zlib/2017-04-03/zlib-20170403-git.tgz"; + sha256 = "1gz771h2q3xhw1yxpwki5zr9mqysa818vn21501w6fsi8wlmlffa"; + system = "zlib"; + asd = "zlib"; + } + ); + systems = [ "zlib" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zmq = ( + build-asdf-system { + pname = "zmq"; + version = "20200218-git"; + asds = [ "zmq" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz"; + sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld"; + system = "zmq"; + asd = "zmq"; + } + ); + systems = [ "zmq" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivial-features" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zmq-examples = ( + build-asdf-system { + pname = "zmq-examples"; + version = "20200218-git"; + asds = [ "zmq-examples" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz"; + sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld"; + system = "zmq-examples"; + asd = "zmq-examples"; + } + ); + systems = [ "zmq-examples" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "zmq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zmq-test = ( + build-asdf-system { + pname = "zmq-test"; + version = "20200218-git"; + asds = [ "zmq-test" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz"; + sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld"; + system = "zmq-test"; + asd = "zmq-test"; + } + ); + systems = [ "zmq-test" ]; + lispLibs = [ + (getAttr "bordeaux-threads" self) + (getAttr "fiveam" self) + (getAttr "zmq" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zpb-exif = ( + build-asdf-system { + pname = "zpb-exif"; + version = "release-1.2.5"; + asds = [ "zpb-exif" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zpb-exif/2021-01-24/zpb-exif-release-1.2.5.tgz"; + sha256 = "0h1n36lfl8xn8rfyl5jxz9m8zlg0if2avmryas79f684yczrvdnd"; + system = "zpb-exif"; + asd = "zpb-exif"; + } + ); + systems = [ "zpb-exif" ]; + lispLibs = [ ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zpb-ttf = ( + build-asdf-system { + pname = "zpb-ttf"; + version = "release-1.0.7"; + asds = [ "zpb-ttf" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zpb-ttf/2024-10-12/zpb-ttf-release-1.0.7.tgz"; + sha256 = "04lph7i153zlswvpgg76fxazyswj8j0idqm4ysn8qmflb7xcvd78"; + system = "zpb-ttf"; + asd = "zpb-ttf"; + } + ); + systems = [ "zpb-ttf" ]; + lispLibs = [ ]; + meta = { }; + } + ); + zpng = ( + build-asdf-system { + pname = "zpng"; + version = "1.2.2"; + asds = [ "zpng" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zpng/2015-04-07/zpng-1.2.2.tgz"; + sha256 = "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"; + system = "zpng"; + asd = "zpng"; + } + ); + systems = [ "zpng" ]; + lispLibs = [ (getAttr "salza2" self) ]; + meta = { }; + } + ); + zs3 = ( + build-asdf-system { + pname = "zs3"; + version = "1.3.3"; + asds = [ "zs3" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zs3/2019-10-07/zs3-1.3.3.tgz"; + sha256 = "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"; + system = "zs3"; + asd = "zs3"; + } + ); + systems = [ "zs3" ]; + lispLibs = [ + (getAttr "alexandria" self) + (getAttr "cl-base64" self) + (getAttr "cxml" self) + (getAttr "drakma" self) + (getAttr "ironclad" self) + (getAttr "puri" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zsort = ( + build-asdf-system { + pname = "zsort"; + version = "20120520-git"; + asds = [ "zsort" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/zsort/2012-05-20/zsort-20120520-git.tgz"; + sha256 = "1vyklyh99712zsll4qi0m4mm8yb1nz04403vl8i57bjv5p5max49"; + system = "zsort"; + asd = "zsort"; + } + ); + systems = [ "zsort" ]; + lispLibs = [ (getAttr "alexandria" self) ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zstd = ( + build-asdf-system { + pname = "zstd"; + version = "20230618-git"; + asds = [ "zstd" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zstd/2023-06-18/cl-zstd-20230618-git.tgz"; + sha256 = "037igr1v849smcs6svjb5s850k5s5yfg74d4gb3ir4b4v9g4k97i"; + system = "zstd"; + asd = "zstd"; + } + ); + systems = [ "zstd" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cl-octet-streams" self) + (getAttr "trivial-gray-streams" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zstd-tests = ( + build-asdf-system { + pname = "zstd-tests"; + version = "20230618-git"; + asds = [ "zstd-tests" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zstd/2023-06-18/cl-zstd-20230618-git.tgz"; + sha256 = "037igr1v849smcs6svjb5s850k5s5yfg74d4gb3ir4b4v9g4k97i"; + system = "zstd-tests"; + asd = "zstd-tests"; + } + ); + systems = [ "zstd-tests" ]; + lispLibs = [ + (getAttr "cl-octet-streams" self) + (getAttr "fiveam" self) + (getAttr "zstd" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); + zyre = ( + build-asdf-system { + pname = "zyre"; + version = "20200925-git"; + asds = [ "zyre" ]; + src = ( + createAsd { + url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz"; + sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv"; + system = "zyre"; + asd = "zyre"; + } + ); + systems = [ "zyre" ]; + lispLibs = [ + (getAttr "cffi" self) + (getAttr "cffi-grovel" self) + (getAttr "trivia" self) + (getAttr "trivial-garbage" self) + ]; + meta = { + hydraPlatforms = [ ]; + }; + } + ); }) diff --git a/pkgs/development/lisp-modules/nix-cl.nix b/pkgs/development/lisp-modules/nix-cl.nix index a1441d2e57fff..773372d25afa3 100644 --- a/pkgs/development/lisp-modules/nix-cl.nix +++ b/pkgs/development/lisp-modules/nix-cl.nix @@ -10,10 +10,12 @@ # - figure out a less awkward way to patch sources # (have to build from src directly for SLIME to work, so can't just patch sources in place) -{ pkgs -, lib -, stdenv -, ... }: +{ + pkgs, + lib, + stdenv, + ... +}: let @@ -46,35 +48,52 @@ let makeLibraryPath makeSearchPath recurseIntoAttrs - ; + ; inherit (builtins) head tail elem split - storeDir; + storeDir + ; inherit (pkgs) - substituteAll; + substituteAll + ; # Stolen from python-packages.nix # Actually no idea how this works - makeOverridableLispPackage = f: origArgs: + makeOverridableLispPackage = + f: origArgs: let ff = f origArgs; - overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs); + overrideWith = + newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs); in - if builtins.isAttrs ff then (ff // { - overrideLispAttrs = newArgs: makeOverridableLispPackage f (overrideWith newArgs); - }) - else if builtins.isFunction ff then { + if builtins.isAttrs ff then + ( + ff + // { + overrideLispAttrs = newArgs: makeOverridableLispPackage f (overrideWith newArgs); + } + ) + else if builtins.isFunction ff then + { overrideLispAttrs = newArgs: makeOverridableLispPackage f (overrideWith newArgs); __functor = self: ff; } - else ff; + else + ff; - buildAsdf = { asdf, pkg, program, flags, faslExt }: + buildAsdf = + { + asdf, + pkg, + program, + flags, + faslExt, + }: stdenv.mkDerivation { inherit (asdf) pname version; dontUnpack = true; @@ -88,26 +107,26 @@ let ''; }; - # # Wrapper around stdenv.mkDerivation for building ASDF systems. # build-asdf-system = makeOverridableLispPackage ( - { pname, + { + pname, version, src ? null, - patches ? [], + patches ? [ ], # Native libraries, will be appended to the library path - nativeLibs ? [], + nativeLibs ? [ ], # Java libraries for ABCL, will be appended to the class path - javaLibs ? [], + javaLibs ? [ ], # Lisp dependencies # these should be packages built with `build-asdf-system` # TODO(kasper): use propagatedBuildInputs - lispLibs ? [], + lispLibs ? [ ], # Derivation containing the CL implementation package pkg, @@ -116,7 +135,7 @@ let program ? pkg.meta.mainProgram or pkg.pname, # General flags to the Lisp executable - flags ? [], + flags ? [ ], # Extension for implementation-dependent FASL files faslExt, @@ -143,117 +162,147 @@ let # Other args to mkDerivation ... - } @ args: - - (stdenv.mkDerivation (rec { - inherit - version nativeLibs javaLibs lispLibs systems asds - pkg program flags faslExt - ; - - # When src is null, we are building a lispWithPackages and only - # want to make use of the dependency environment variables - # generated by build-asdf-system - dontUnpack = src == null; - - # Portable script to build the systems. - # - # `lisp` must evaluate this file then exit immediately. For - # example, SBCL's --script flag does just that. - # - # NOTE: - # Every other library worked fine with asdf:compile-system in - # buildScript. - # - # cl-syslog, for some reason, signals that CL-SYSLOG::VALID-SD-ID-P - # is undefined with compile-system, but works perfectly with - # load-system. Strange. - - # TODO(kasper) portable quit - asdfFasl = buildAsdf { inherit asdf pkg program flags faslExt; }; - - buildScript = substituteAll { - src = ./builder.lisp; - asdf = "${asdfFasl}/asdf.${faslExt}"; - }; - - configurePhase = '' - runHook preConfigure - - source ${./setup-hook.sh} - buildAsdfPath - - runHook postConfigure - ''; - - buildPhase = optionalString (src != null) '' - runHook preBuild - - export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$src// - export ASDF_OUTPUT_TRANSLATIONS="$src:$(pwd):${storeDir}:${storeDir}" - ${pkg}/bin/${program} ${toString flags} < $buildScript - - runHook postBuild - ''; - - # Copy compiled files to store - # - # Make sure to include '$' in regex to prevent skipping - # stuff like 'iolib.asdf.asd' for system 'iolib.asd' - # - # Same with '/': `local-time.asd` for system `cl-postgres+local-time.asd` - installPhase = - let - mkSystemsRegex = systems: - concatMapStringsSep "\\|" (replaceStrings ["." "+"] ["[.]" "[+]"]) systems; - in - '' - runHook preInstall - - mkdir -pv $out - cp -r * $out - - # Remove all .asd files except for those in `systems`. - find $out -name "*.asd" \ - | grep -v "/\(${mkSystemsRegex systems}\)\.asd$" \ - | xargs rm -fv || true - - runHook postInstall - ''; - - dontPatchShebangs = true; - - # Not sure if it's needed, but caused problems with SBCL - # save-lisp-and-die binaries in the past - dontStrip = true; - - } // (args // (let - isJVM = args.pkg.pname == "abcl"; - javaLibs = lib.optionals isJVM args.javaLibs or []; - in { - pname = "${args.pkg.pname}-${args.pname}"; - src = if args?patches || args?postPatch - then pkgs.applyPatches { - inherit (args) src; - patches = args.patches or []; - postPatch = args.postPatch or ""; + }@args: + + ( + stdenv.mkDerivation ( + rec { + inherit + version + nativeLibs + javaLibs + lispLibs + systems + asds + pkg + program + flags + faslExt + ; + + # When src is null, we are building a lispWithPackages and only + # want to make use of the dependency environment variables + # generated by build-asdf-system + dontUnpack = src == null; + + # Portable script to build the systems. + # + # `lisp` must evaluate this file then exit immediately. For + # example, SBCL's --script flag does just that. + # + # NOTE: + # Every other library worked fine with asdf:compile-system in + # buildScript. + # + # cl-syslog, for some reason, signals that CL-SYSLOG::VALID-SD-ID-P + # is undefined with compile-system, but works perfectly with + # load-system. Strange. + + # TODO(kasper) portable quit + asdfFasl = buildAsdf { + inherit + asdf + pkg + program + flags + faslExt + ; + }; + + buildScript = substituteAll { + src = ./builder.lisp; + asdf = "${asdfFasl}/asdf.${faslExt}"; + }; + + configurePhase = '' + runHook preConfigure + + source ${./setup-hook.sh} + buildAsdfPath + + runHook postConfigure + ''; + + buildPhase = optionalString (src != null) '' + runHook preBuild + + export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$src// + export ASDF_OUTPUT_TRANSLATIONS="$src:$(pwd):${storeDir}:${storeDir}" + ${pkg}/bin/${program} ${toString flags} < $buildScript + + runHook postBuild + ''; + + # Copy compiled files to store + # + # Make sure to include '$' in regex to prevent skipping + # stuff like 'iolib.asdf.asd' for system 'iolib.asd' + # + # Same with '/': `local-time.asd` for system `cl-postgres+local-time.asd` + installPhase = + let + mkSystemsRegex = + systems: concatMapStringsSep "\\|" (replaceStrings [ "." "+" ] [ "[.]" "[+]" ]) systems; + in + '' + runHook preInstall + + mkdir -pv $out + cp -r * $out + + # Remove all .asd files except for those in `systems`. + find $out -name "*.asd" \ + | grep -v "/\(${mkSystemsRegex systems}\)\.asd$" \ + | xargs rm -fv || true + + runHook postInstall + ''; + + dontPatchShebangs = true; + + # Not sure if it's needed, but caused problems with SBCL + # save-lisp-and-die binaries in the past + dontStrip = true; + + } + // ( + args + // ( + let + isJVM = args.pkg.pname == "abcl"; + javaLibs = lib.optionals isJVM args.javaLibs or [ ]; + in + { + pname = "${args.pkg.pname}-${args.pname}"; + src = + if args ? patches || args ? postPatch then + pkgs.applyPatches { + inherit (args) src; + patches = args.patches or [ ]; + postPatch = args.postPatch or ""; + } + else + args.src; + patches = [ ]; + inherit javaLibs; + propagatedBuildInputs = args.propagatedBuildInputs or [ ] ++ lispLibs ++ javaLibs ++ nativeLibs; + meta = (args.meta or { }) // { + maintainers = args.meta.maintainers or lib.teams.lisp.members; + }; } - else args.src; - patches = []; - inherit javaLibs; - propagatedBuildInputs = args.propagatedBuildInputs or [] - ++ lispLibs ++ javaLibs ++ nativeLibs; - meta = (args.meta or {}) // { - maintainers = args.meta.maintainers or lib.teams.lisp.members; - }; - }))) // { - # Useful for overriding - # Overriding code would prefer to use pname from the attribute set - # However, pname is extended with the implementation name - # Moreover, it is used in the default list of systems to load - # So we pass the original pname - pname = args.pname; - })); + ) + ) + ) + // { + # Useful for overriding + # Overriding code would prefer to use pname from the attribute set + # However, pname is extended with the implementation name + # Moreover, it is used in the default list of systems to load + # So we pass the original pname + pname = args.pname; + } + ) + ); # Build the set of lisp packages using `lisp` # These packages are defined manually for one reason or another: @@ -266,19 +315,23 @@ let # # E.g if a QL package depends on cl-unicode it won't build out of # the box. - commonLispPackagesFor = spec: + commonLispPackagesFor = + spec: let build-asdf-system' = body: build-asdf-system (body // spec); - in pkgs.callPackage ./packages.nix { + in + pkgs.callPackage ./packages.nix { inherit spec quicklispPackagesFor; build-asdf-system = build-asdf-system'; }; # Build the set of packages imported from quicklisp using `lisp` - quicklispPackagesFor = spec: + quicklispPackagesFor = + spec: let build-asdf-system' = body: build-asdf-system (body // spec); - in pkgs.callPackage ./ql.nix { + in + pkgs.callPackage ./ql.nix { build-asdf-system = build-asdf-system'; }; @@ -288,55 +341,89 @@ let # packages - as argument and returns the list of packages to be # installed # TODO(kasper): assert each package has the same lisp and asdf? - lispWithPackages = clpkgs: packages: - let first = head (lib.attrValues clpkgs); in + lispWithPackages = + clpkgs: packages: + let + first = head (lib.attrValues clpkgs); + in (build-asdf-system { - inherit (first) pkg program flags faslExt asdf; + inherit (first) + pkg + program + flags + faslExt + asdf + ; # See dontUnpack in build-asdf-system src = null; pname = "with"; version = "packages"; lispLibs = packages clpkgs; - systems = []; - }).overrideAttrs(o: { - nativeBuildInputs = [ pkgs.makeBinaryWrapper ]; - installPhase = '' - mkdir -pv $out/bin - makeWrapper \ - ${o.pkg}/bin/${o.program} \ - $out/bin/${o.program} \ - --add-flags "${toString o.flags}" \ - --set ASDF "${o.asdfFasl}/asdf.${o.faslExt}" \ - --prefix CL_SOURCE_REGISTRY : "$CL_SOURCE_REGISTRY''${CL_SOURCE_REGISTRY:+:}" \ - --prefix ASDF_OUTPUT_TRANSLATIONS : "$(echo $CL_SOURCE_REGISTRY | sed s,//:,::,g):" \ - --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \ - --prefix DYLD_LIBRARY_PATH : "$DYLD_LIBRARY_PATH" \ - --prefix CLASSPATH : "$CLASSPATH" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix PATH : "${makeBinPath (o.propagatedBuildInputs or [])}" - ''; - }); - - wrapLisp = { - pkg - , faslExt - , program ? pkg.meta.mainProgram or pkg.pname - , flags ? [] - , asdf ? pkgs.asdf_3_3 - , packageOverrides ? (self: super: {}) - }: + systems = [ ]; + }).overrideAttrs + (o: { + nativeBuildInputs = [ pkgs.makeBinaryWrapper ]; + installPhase = '' + mkdir -pv $out/bin + makeWrapper \ + ${o.pkg}/bin/${o.program} \ + $out/bin/${o.program} \ + --add-flags "${toString o.flags}" \ + --set ASDF "${o.asdfFasl}/asdf.${o.faslExt}" \ + --prefix CL_SOURCE_REGISTRY : "$CL_SOURCE_REGISTRY''${CL_SOURCE_REGISTRY:+:}" \ + --prefix ASDF_OUTPUT_TRANSLATIONS : "$(echo $CL_SOURCE_REGISTRY | sed s,//:,::,g):" \ + --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \ + --prefix DYLD_LIBRARY_PATH : "$DYLD_LIBRARY_PATH" \ + --prefix CLASSPATH : "$CLASSPATH" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix PATH : "${makeBinPath (o.propagatedBuildInputs or [ ])}" + ''; + }); + + wrapLisp = + { + pkg, + faslExt, + program ? pkg.meta.mainProgram or pkg.pname, + flags ? [ ], + asdf ? pkgs.asdf_3_3, + packageOverrides ? (self: super: { }), + }: let - spec = { inherit pkg faslExt program flags asdf; }; + spec = { + inherit + pkg + faslExt + program + flags + asdf + ; + }; pkgs = (commonLispPackagesFor spec).overrideScope packageOverrides; withPackages = lispWithPackages pkgs; - withOverrides = packageOverrides: + withOverrides = + packageOverrides: wrapLisp { - inherit pkg faslExt program flags asdf; + inherit + pkg + faslExt + program + flags + asdf + ; inherit packageOverrides; }; buildASDFSystem = args: build-asdf-system (args // spec); - in pkg // { - inherit pkgs withPackages withOverrides buildASDFSystem; + in + pkg + // { + inherit + pkgs + withPackages + withOverrides + buildASDFSystem + ; }; -in wrapLisp +in +wrapLisp diff --git a/pkgs/development/lisp-modules/shell.nix b/pkgs/development/lisp-modules/shell.nix index d59cec77fd1ad..85b79bcbff6fc 100644 --- a/pkgs/development/lisp-modules/shell.nix +++ b/pkgs/development/lisp-modules/shell.nix @@ -1,9 +1,10 @@ let - pkgs = import ../../../. {}; -in pkgs.mkShell { + pkgs = import ../../../. { }; +in +pkgs.mkShell { nativeBuildInputs = [ - (pkgs.sbcl.withPackages - (ps: with ps; [ + (pkgs.sbcl.withPackages ( + ps: with ps; [ alexandria str dexador @@ -11,6 +12,7 @@ in pkgs.mkShell { sqlite arrow-macros jzon - ])) + ] + )) ]; } diff --git a/pkgs/development/lua-modules/aliases.nix b/pkgs/development/lua-modules/aliases.nix index efa9a1e423cd7..4d46343708675 100644 --- a/pkgs/development/lua-modules/aliases.nix +++ b/pkgs/development/lua-modules/aliases.nix @@ -1,4 +1,3 @@ - lib: self: super: ### Deprecated aliases - for backward compatibility @@ -8,34 +7,33 @@ lib: self: super: ### from the `luaPackages` set without regenerating the entire file. let - inherit (lib) dontDistribute hasAttr isDerivation mapAttrs; + inherit (lib) + dontDistribute + hasAttr + isDerivation + mapAttrs + ; # Removing recurseForDerivation prevents derivations of aliased attribute # set to appear while listing all the packages available. - removeRecurseForDerivations = alias: - if alias.recurseForDerivations or false - then removeAttrs alias ["recurseForDerivations"] - else alias; + removeRecurseForDerivations = + alias: + if alias.recurseForDerivations or false then + removeAttrs alias [ "recurseForDerivations" ] + else + alias; # Disabling distribution prevents top-level aliases for non-recursed package # sets from building on Hydra. - removeDistribute = alias: - if isDerivation alias then - dontDistribute alias - else alias; + removeDistribute = alias: if isDerivation alias then dontDistribute alias else alias; # Make sure that we are not shadowing something from node-packages.nix. - checkInPkgs = n: alias: - if hasAttr n super - then throw "Alias ${n} is still in generated.nix" - else alias; + checkInPkgs = + n: alias: if hasAttr n super then throw "Alias ${n} is still in generated.nix" else alias; - mapAliases = aliases: - mapAttrs (n: alias: - removeDistribute - (removeRecurseForDerivations - (checkInPkgs n alias))) - aliases; + mapAliases = + aliases: + mapAttrs (n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))) aliases; in mapAliases { diff --git a/pkgs/development/lua-modules/generic/default.nix b/pkgs/development/lua-modules/generic/default.nix index 7f07c6602dacd..565852bb08121 100644 --- a/pkgs/development/lua-modules/generic/default.nix +++ b/pkgs/development/lua-modules/generic/default.nix @@ -1,27 +1,35 @@ -{ lua, writeText, toLuaModule }: +{ + lua, + writeText, + toLuaModule, +}: -{ disabled ? false -, propagatedBuildInputs ? [ ] -, makeFlags ? [ ] -, ... -} @ attrs: +{ + disabled ? false, + propagatedBuildInputs ? [ ], + makeFlags ? [ ], + ... +}@attrs: if disabled then throw "${attrs.name} not supported by interpreter lua-${lua.luaversion}" else - toLuaModule (lua.stdenv.mkDerivation ( - attrs // { - name = "lua${lua.luaversion}-" + attrs.pname + "-" + attrs.version; + toLuaModule ( + lua.stdenv.mkDerivation ( + attrs + // { + name = "lua${lua.luaversion}-" + attrs.pname + "-" + attrs.version; - makeFlags = [ - "PREFIX=$(out)" - "LUA_INC=-I${lua}/include" - "LUA_LIBDIR=$(out)/lib/lua/${lua.luaversion}" - "LUA_VERSION=${lua.luaversion}" - ] ++ makeFlags; + makeFlags = [ + "PREFIX=$(out)" + "LUA_INC=-I${lua}/include" + "LUA_LIBDIR=$(out)/lib/lua/${lua.luaversion}" + "LUA_VERSION=${lua.luaversion}" + ] ++ makeFlags; - propagatedBuildInputs = propagatedBuildInputs ++ [ - lua # propagate it for its setup-hook - ]; - } - )) + propagatedBuildInputs = propagatedBuildInputs ++ [ + lua # propagate it for its setup-hook + ]; + } + ) + ) diff --git a/pkgs/development/lua-modules/lib.nix b/pkgs/development/lua-modules/lib.nix index df5dbc5d30243..d1482153ffead 100644 --- a/pkgs/development/lua-modules/lib.nix +++ b/pkgs/development/lua-modules/lib.nix @@ -1,21 +1,32 @@ -{ pkgs, lib, lua }: +{ + pkgs, + lib, + lua, +}: let inherit (lib.generators) toLua; - requiredLuaModules = drvs: let - modules = lib.filter hasLuaModule drvs; - in lib.unique ([lua] ++ modules ++ lib.concatLists (lib.catAttrs "requiredLuaModules" modules)); + requiredLuaModules = + drvs: + let + modules = lib.filter hasLuaModule drvs; + in + lib.unique ([ lua ] ++ modules ++ lib.concatLists (lib.catAttrs "requiredLuaModules" modules)); # Check whether a derivation provides a lua module. hasLuaModule = drv: drv ? luaModule; - - /* - Use this to override the arguments passed to buildLuarocksPackage - */ - overrideLuarocks = drv: f: (drv.override (args: args // { - buildLuarocksPackage = drv: (args.buildLuarocksPackage drv).override f; - })) // { - overrideScope = scope: overrideLuarocks (drv.overrideScope scope) f; - }; + # Use this to override the arguments passed to buildLuarocksPackage + overrideLuarocks = + drv: f: + (drv.override ( + args: + args + // { + buildLuarocksPackage = drv: (args.buildLuarocksPackage drv).override f; + } + )) + // { + overrideScope = scope: overrideLuarocks (drv.overrideScope scope) f; + }; in rec { @@ -30,18 +41,15 @@ rec { "lib/lua/${lua.luaversion}/?.so" ]; - /* generate paths without a prefix - */ + # generate paths without a prefix luaPathRelStr = lib.concatStringsSep ";" luaPathList; luaCPathRelStr = lib.concatStringsSep ";" luaCPathList; - /* generate LUA_(C)PATH value for a specific derivation, i.e., with absolute paths - */ + # generate LUA_(C)PATH value for a specific derivation, i.e., with absolute paths genLuaPathAbsStr = drv: lib.concatMapStringsSep ";" (x: "${drv}/${x}") luaPathList; genLuaCPathAbsStr = drv: lib.concatMapStringsSep ";" (x: "${drv}/${x}") luaCPathList; - /* Generate a LUA_PATH with absolute paths - */ + # Generate a LUA_PATH with absolute paths # genLuaPathAbs = drv: # lib.concatStringsSep ";" (map (x: "${drv}/x") luaPathList); @@ -52,30 +60,32 @@ rec { isLua53 = lua.luaversion == "5.3"; isLuaJIT = lib.getName lua == "luajit"; - /* generates the relative path towards the folder where - seems stable even when using lua_modules_path = "" + /* + generates the relative path towards the folder where + seems stable even when using lua_modules_path = "" - Example: - getDataFolder luaPackages.stdlib - => stdlib-41.2.2-1-rocks/stdlib/41.2.2-1/doc + Example: + getDataFolder luaPackages.stdlib + => stdlib-41.2.2-1-rocks/stdlib/41.2.2-1/doc */ - getDataFolder = drv: - "${drv.pname}-${drv.version}-rocks/${drv.pname}/${drv.version}"; + getDataFolder = drv: "${drv.pname}-${drv.version}-rocks/${drv.pname}/${drv.version}"; - /* Convert derivation to a lua module. + /* + Convert derivation to a lua module. so that luaRequireModules can be run later */ - toLuaModule = drv: - drv.overrideAttrs(oldAttrs: { + toLuaModule = + drv: + drv.overrideAttrs (oldAttrs: { # Use passthru in order to prevent rebuilds when possible. - passthru = (oldAttrs.passthru or {}) // { + passthru = (oldAttrs.passthru or { }) // { luaModule = lua; requiredLuaModules = requiredLuaModules drv.propagatedBuildInputs; }; }); - - /* generate a luarocks config conforming to: + /* + generate a luarocks config conforming to: https://github.com/luarocks/luarocks/wiki/Config-file-format The config lists folders where to find lua dependencies @@ -89,65 +99,81 @@ rec { Type: generateLuarocksConfig :: AttrSet -> String */ - generateLuarocksConfig = { - externalDeps ? [] - # a list of lua derivations - , requiredLuaRocks ? [] - , ... - }@args: let - rocksTrees = lib.imap0 - (i: dep: { - name = "dep-${toString i}"; - root = "${dep}"; - # packages built by buildLuaPackage or luarocks doesn't contain rocksSubdir - # hence a default here - rocks_dir = if dep ? rocksSubdir then "${dep}/${dep.rocksSubdir}" else "${dep.pname}-${dep.version}-rocks"; - }) - requiredLuaRocks; + generateLuarocksConfig = + { + externalDeps ? [ ], + # a list of lua derivations + requiredLuaRocks ? [ ], + ... + }@args: + let + rocksTrees = lib.imap0 (i: dep: { + name = "dep-${toString i}"; + root = "${dep}"; + # packages built by buildLuaPackage or luarocks doesn't contain rocksSubdir + # hence a default here + rocks_dir = + if dep ? rocksSubdir then "${dep}/${dep.rocksSubdir}" else "${dep.pname}-${dep.version}-rocks"; + }) requiredLuaRocks; # Explicitly point luarocks to the relevant locations for multiple-output # derivations that are external dependencies, to work around an issue it has # (https://github.com/luarocks/luarocks/issues/766) - depVariables = zipAttrsWithLast (lib.lists.map ({name, dep}: { - "${name}_INCDIR" = "${lib.getDev dep}/include"; - "${name}_LIBDIR" = "${lib.getLib dep}/lib"; - "${name}_BINDIR" = "${lib.getBin dep}/bin"; - }) externalDeps'); + depVariables = zipAttrsWithLast ( + lib.lists.map ( + { name, dep }: + { + "${name}_INCDIR" = "${lib.getDev dep}/include"; + "${name}_LIBDIR" = "${lib.getLib dep}/lib"; + "${name}_BINDIR" = "${lib.getBin dep}/bin"; + } + ) externalDeps' + ); zipAttrsWithLast = lib.attrsets.zipAttrsWith (name: lib.lists.last); # example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ] externalDeps' = lib.filter (dep: !lib.isDerivation dep) externalDeps; - externalDepsDirs = map - (x: builtins.toString x) - (lib.filter (lib.isDerivation) externalDeps); - - generatedConfig = ({ - - - # first tree is the default target where new rocks are installed, - # any other trees in the list are treated as additional sources of installed rocks for matching dependencies. - rocks_trees = ( - [{name = "current"; root = "${placeholder "out"}"; rocks_dir = "current"; }] ++ - rocksTrees - ); - } // lib.optionalAttrs lua.pkgs.isLuaJIT { - # Luajit provides some additional functionality built-in; this exposes - # that to luarock's dependency system - rocks_provided = { - jit = "${lua.luaversion}-1"; - ffi = "${lua.luaversion}-1"; - luaffi = "${lua.luaversion}-1"; - bit = "${lua.luaversion}-1"; - }; - } // { - # For single-output external dependencies - external_deps_dirs = externalDepsDirs; - # Some needed machinery to handle multiple-output external dependencies, - # as per https://github.com/luarocks/luarocks/issues/766 - variables = depVariables; - } - // removeAttrs args [ "requiredLuaRocks" "externalDeps" ] + externalDepsDirs = map (x: builtins.toString x) (lib.filter (lib.isDerivation) externalDeps); + + generatedConfig = ( + { + + # first tree is the default target where new rocks are installed, + # any other trees in the list are treated as additional sources of installed rocks for matching dependencies. + rocks_trees = ( + [ + { + name = "current"; + root = "${placeholder "out"}"; + rocks_dir = "current"; + } + ] + ++ rocksTrees + ); + } + // lib.optionalAttrs lua.pkgs.isLuaJIT { + # Luajit provides some additional functionality built-in; this exposes + # that to luarock's dependency system + rocks_provided = { + jit = "${lua.luaversion}-1"; + ffi = "${lua.luaversion}-1"; + luaffi = "${lua.luaversion}-1"; + bit = "${lua.luaversion}-1"; + }; + } + // { + # For single-output external dependencies + external_deps_dirs = externalDepsDirs; + # Some needed machinery to handle multiple-output external dependencies, + # as per https://github.com/luarocks/luarocks/issues/766 + variables = depVariables; + } + // removeAttrs args [ + "requiredLuaRocks" + "externalDeps" + ] ); - in generatedConfig; + in + generatedConfig; } diff --git a/pkgs/development/lua-modules/nfd/default.nix b/pkgs/development/lua-modules/nfd/default.nix index 66624c6f09556..1b34c1bd18031 100644 --- a/pkgs/development/lua-modules/nfd/default.nix +++ b/pkgs/development/lua-modules/nfd/default.nix @@ -1,4 +1,14 @@ -{ stdenv, fetchFromGitHub, buildLuarocksPackage, lua, pkg-config, lib, substituteAll, zenity, AppKit}: +{ + stdenv, + fetchFromGitHub, + buildLuarocksPackage, + lua, + pkg-config, + lib, + substituteAll, + zenity, + AppKit, +}: buildLuarocksPackage { pname = "nfd"; @@ -32,14 +42,12 @@ buildLuarocksPackage { doInstallCheck = true; installCheckInputs = [ lua.pkgs.busted ]; - installCheckPhase= '' + installCheckPhase = '' busted lua/spec/ - ''; - + ''; meta = { - description = - "A tiny, neat lua library that portably invokes native file open and save dialogs."; + description = "A tiny, neat lua library that portably invokes native file open and save dialogs."; homepage = "https://github.com/Alloyed/nativefiledialog/tree/master/lua"; license = lib.licenses.zlib; maintainers = [ lib.maintainers.scoder12 ]; diff --git a/pkgs/development/misc/avr/libc/default.nix b/pkgs/development/misc/avr/libc/default.nix index 10bc020a34a43..a0e928ab2918c 100644 --- a/pkgs/development/misc/avr/libc/default.nix +++ b/pkgs/development/misc/avr/libc/default.nix @@ -1,16 +1,25 @@ -{ lib, stdenv, fetchurl, automake, autoconf }: +{ + lib, + stdenv, + fetchurl, + automake, + autoconf, +}: stdenv.mkDerivation (finalAttrs: { pname = "avr-libc"; version = "2.2.1"; - tag_version = builtins.replaceStrings ["."] ["_"] finalAttrs.version; + tag_version = builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version; src = fetchurl { url = "https://github.com/avrdudes/avr-libc/releases/download/avr-libc-${finalAttrs.tag_version}-release/avr-libc-${finalAttrs.version}.tar.bz2"; hash = "sha256-AGpjBsu8k4w721g6xU+T/n18jPl/nN6R+RxvsCc6tGU="; }; - nativeBuildInputs = [ automake autoconf ]; + nativeBuildInputs = [ + automake + autoconf + ]; # Make sure we don't strip the libraries in lib/gcc/avr. stripDebugList = [ "bin" ]; @@ -28,6 +37,9 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/avrdudes/avr-libc/blob/avr-libc-${finalAttrs.tag_version}-release/NEWS"; license = licenses.bsd3; platforms = [ "avr-none" ]; - maintainers = with maintainers; [ mguentner emilytrau ]; + maintainers = with maintainers; [ + mguentner + emilytrau + ]; }; }) diff --git a/pkgs/development/misc/h3/default.nix b/pkgs/development/misc/h3/default.nix index d30bdbc3e637f..4f3b2041d6661 100644 --- a/pkgs/development/misc/h3/default.nix +++ b/pkgs/development/misc/h3/default.nix @@ -1,12 +1,14 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, withFilters ? false +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + withFilters ? false, }: let - generic = { version, hash }: + generic = + { version, hash }: stdenv.mkDerivation rec { inherit version; pname = "h3"; @@ -18,7 +20,10 @@ let inherit hash; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/misc/haskell/changelog-d/default.nix b/pkgs/development/misc/haskell/changelog-d/default.nix index 90903e0aae20c..fa788feac4196 100644 --- a/pkgs/development/misc/haskell/changelog-d/default.nix +++ b/pkgs/development/misc/haskell/changelog-d/default.nix @@ -1,7 +1,21 @@ -{ mkDerivation, base, bytestring, cabal-install-parsers -, Cabal-syntax, containers, directory, fetchFromGitea, filepath -, generic-lens-lite, lib, mtl, optparse-applicative, parsec, pretty -, regex-applicative, frontmatter +{ + mkDerivation, + base, + bytestring, + cabal-install-parsers, + Cabal-syntax, + containers, + directory, + fetchFromGitea, + filepath, + generic-lens-lite, + lib, + mtl, + optparse-applicative, + parsec, + pretty, + regex-applicative, + frontmatter, }: mkDerivation rec { pname = "changelog-d"; @@ -16,12 +30,26 @@ mkDerivation rec { isLibrary = false; isExecutable = true; libraryHaskellDepends = [ - base bytestring cabal-install-parsers Cabal-syntax containers - directory filepath generic-lens-lite mtl parsec pretty - regex-applicative frontmatter + base + bytestring + cabal-install-parsers + Cabal-syntax + containers + directory + filepath + generic-lens-lite + mtl + parsec + pretty + regex-applicative + frontmatter ]; executableHaskellDepends = [ - base bytestring Cabal-syntax directory filepath + base + bytestring + Cabal-syntax + directory + filepath optparse-applicative ]; doHaddock = false; diff --git a/pkgs/development/misc/haskell/hasura/ci-info.nix b/pkgs/development/misc/haskell/hasura/ci-info.nix index 21b78ca76b34a..1f01a0bc9fc1c 100644 --- a/pkgs/development/misc/haskell/hasura/ci-info.nix +++ b/pkgs/development/misc/haskell/hasura/ci-info.nix @@ -1,8 +1,18 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, aeson-casing, base, fetchgit, hashable -, hpack, lib, template-haskell, text, th-lift-instances -, unordered-containers +{ + mkDerivation, + aeson, + aeson-casing, + base, + fetchgit, + hashable, + hpack, + lib, + template-haskell, + text, + th-lift-instances, + unordered-containers, }: mkDerivation { pname = "ci-info"; @@ -14,8 +24,14 @@ mkDerivation { fetchSubmodules = true; }; libraryHaskellDepends = [ - aeson aeson-casing base hashable template-haskell text - th-lift-instances unordered-containers + aeson + aeson-casing + base + hashable + template-haskell + text + th-lift-instances + unordered-containers ]; libraryToolDepends = [ hpack ]; prePatch = "hpack"; diff --git a/pkgs/development/misc/haskell/hasura/ekg-core.nix b/pkgs/development/misc/haskell/hasura/ekg-core.nix index 7298eb75076b4..cbdad1adf512e 100644 --- a/pkgs/development/misc/haskell/hasura/ekg-core.nix +++ b/pkgs/development/misc/haskell/hasura/ekg-core.nix @@ -1,9 +1,26 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, async, atomic-primops, base, containers, criterion -, fetchgit, ghc-prim, hashable, hspec, hspec-smallcheck, HUnit -, inspection-testing, lib, markdown-unlit, primitive, QuickCheck -, smallcheck, text, unordered-containers +{ + mkDerivation, + async, + atomic-primops, + base, + containers, + criterion, + fetchgit, + ghc-prim, + hashable, + hspec, + hspec-smallcheck, + HUnit, + inspection-testing, + lib, + markdown-unlit, + primitive, + QuickCheck, + smallcheck, + text, + unordered-containers, }: mkDerivation { pname = "ekg-core"; @@ -15,16 +32,39 @@ mkDerivation { fetchSubmodules = true; }; libraryHaskellDepends = [ - atomic-primops base containers ghc-prim hashable inspection-testing - primitive text unordered-containers + atomic-primops + base + containers + ghc-prim + hashable + inspection-testing + primitive + text + unordered-containers ]; testHaskellDepends = [ - async atomic-primops base containers ghc-prim hashable hspec - hspec-smallcheck HUnit inspection-testing markdown-unlit primitive - QuickCheck smallcheck text unordered-containers + async + atomic-primops + base + containers + ghc-prim + hashable + hspec + hspec-smallcheck + HUnit + inspection-testing + markdown-unlit + primitive + QuickCheck + smallcheck + text + unordered-containers ]; testToolDepends = [ markdown-unlit ]; - benchmarkHaskellDepends = [ base criterion ]; + benchmarkHaskellDepends = [ + base + criterion + ]; doHaddock = false; homepage = "https://github.com/tibbe/ekg-core"; description = "Tracking of system metrics"; diff --git a/pkgs/development/misc/haskell/hasura/ekg-json.nix b/pkgs/development/misc/haskell/hasura/ekg-json.nix index db5c7ffb0346f..821cba0644247 100644 --- a/pkgs/development/misc/haskell/hasura/ekg-json.nix +++ b/pkgs/development/misc/haskell/hasura/ekg-json.nix @@ -1,7 +1,16 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, base, ekg-core, fetchgit, hspec, lib, text -, unordered-containers, vector +{ + mkDerivation, + aeson, + base, + ekg-core, + fetchgit, + hspec, + lib, + text, + unordered-containers, + vector, }: mkDerivation { pname = "ekg-json"; @@ -13,10 +22,20 @@ mkDerivation { fetchSubmodules = true; }; libraryHaskellDepends = [ - aeson base ekg-core text unordered-containers vector + aeson + base + ekg-core + text + unordered-containers + vector ]; testHaskellDepends = [ - aeson base ekg-core hspec text unordered-containers + aeson + base + ekg-core + hspec + text + unordered-containers ]; homepage = "https://github.com/tibbe/ekg-json"; description = "JSON encoding of ekg metrics"; diff --git a/pkgs/development/misc/haskell/hasura/graphql-engine.nix b/pkgs/development/misc/haskell/hasura/graphql-engine.nix index 7e44cffe8939c..cc47535ba3bf2 100644 --- a/pkgs/development/misc/haskell/hasura/graphql-engine.nix +++ b/pkgs/development/misc/haskell/hasura/graphql-engine.nix @@ -1,36 +1,160 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, aeson-casing, aeson-qq, ansi-wl-pprint -, asn1-encoding, asn1-types, async, attoparsec, attoparsec-iso8601 -, auto-update, base, base16-bytestring, base64-bytestring, binary -, byteorder, bytestring, case-insensitive, ci-info, conduit -, connection, containers, cron, cryptonite, data-default-class -, data-has, deepseq, dependent-map, dependent-sum, directory -, either, ekg-core, ekg-json, exceptions, fast-logger, fetchgit -, file-embed, filepath, ghc-heap-view, graphql-parser, hashable -, hashable-time, haskell-src-meta, hedgehog, hspec, hspec-core -, hspec-discover, hspec-expectations, hspec-expectations-lifted -, hspec-hedgehog, hspec-wai, hspec-wai-json, http-api-data -, http-client, http-client-tls, http-conduit, http-media -, http-types, immortal, insert-ordered-containers, jose -, kan-extensions, kriti-lang, lens, lens-aeson, lib, libyaml -, lifted-async, lifted-base, list-t, memory, mime-types, mmorph -, monad-control, monad-logger, monad-loops, monad-validate, mtl -, mustache, mysql, mysql-simple, natural-transformation, network -, network-uri, odbc, openapi3, optparse-applicative -, optparse-generic, parsec, pem, pg-client, postgresql-binary -, postgresql-libpq, postgresql-simple, pretty-simple, process -, profunctors, psqueues, QuickCheck, quickcheck-instances, random -, regex-tdfa, resource-pool, resourcet, retry, safe -, safe-exceptions, scientific, semialign, semigroups, semver -, shakespeare, some, split, Spock-core, stm, stm-containers, tagged -, template-haskell, text, text-builder, text-conversions, th-lift -, th-lift-instances, these, time, tls, tmp-postgres, transformers -, transformers-base, typed-process, unix, unliftio-core -, unordered-containers, uri-bytestring, uri-encode, url -, utf8-string, uuid, validation, vector, vector-instances, wai -, wai-extra, warp, websockets, witch, wreq, x509, x509-store -, x509-system, x509-validation, yaml, zlib +{ + mkDerivation, + aeson, + aeson-casing, + aeson-qq, + ansi-wl-pprint, + asn1-encoding, + asn1-types, + async, + attoparsec, + attoparsec-iso8601, + auto-update, + base, + base16-bytestring, + base64-bytestring, + binary, + byteorder, + bytestring, + case-insensitive, + ci-info, + conduit, + connection, + containers, + cron, + cryptonite, + data-default-class, + data-has, + deepseq, + dependent-map, + dependent-sum, + directory, + either, + ekg-core, + ekg-json, + exceptions, + fast-logger, + fetchgit, + file-embed, + filepath, + ghc-heap-view, + graphql-parser, + hashable, + hashable-time, + haskell-src-meta, + hedgehog, + hspec, + hspec-core, + hspec-discover, + hspec-expectations, + hspec-expectations-lifted, + hspec-hedgehog, + hspec-wai, + hspec-wai-json, + http-api-data, + http-client, + http-client-tls, + http-conduit, + http-media, + http-types, + immortal, + insert-ordered-containers, + jose, + kan-extensions, + kriti-lang, + lens, + lens-aeson, + lib, + libyaml, + lifted-async, + lifted-base, + list-t, + memory, + mime-types, + mmorph, + monad-control, + monad-logger, + monad-loops, + monad-validate, + mtl, + mustache, + mysql, + mysql-simple, + natural-transformation, + network, + network-uri, + odbc, + openapi3, + optparse-applicative, + optparse-generic, + parsec, + pem, + pg-client, + postgresql-binary, + postgresql-libpq, + postgresql-simple, + pretty-simple, + process, + profunctors, + psqueues, + QuickCheck, + quickcheck-instances, + random, + regex-tdfa, + resource-pool, + resourcet, + retry, + safe, + safe-exceptions, + scientific, + semialign, + semigroups, + semver, + shakespeare, + some, + split, + Spock-core, + stm, + stm-containers, + tagged, + template-haskell, + text, + text-builder, + text-conversions, + th-lift, + th-lift-instances, + these, + time, + tls, + tmp-postgres, + transformers, + transformers-base, + typed-process, + unix, + unliftio-core, + unordered-containers, + uri-bytestring, + uri-encode, + url, + utf8-string, + uuid, + validation, + vector, + vector-instances, + wai, + wai-extra, + warp, + websockets, + witch, + wreq, + x509, + x509-store, + x509-system, + x509-validation, + yaml, + zlib, }: mkDerivation { pname = "graphql-engine"; @@ -45,50 +169,228 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson aeson-casing ansi-wl-pprint asn1-encoding asn1-types async - attoparsec attoparsec-iso8601 auto-update base base16-bytestring - base64-bytestring binary byteorder bytestring case-insensitive - ci-info connection containers cron cryptonite data-default-class - data-has deepseq dependent-map dependent-sum directory either - ekg-core ekg-json exceptions fast-logger file-embed filepath - ghc-heap-view graphql-parser hashable hashable-time http-api-data - http-client http-client-tls http-conduit http-media http-types - immortal insert-ordered-containers jose kan-extensions kriti-lang - lens lens-aeson lifted-async lifted-base list-t memory mime-types - mmorph monad-control monad-loops monad-validate mtl mustache mysql - mysql-simple network network-uri odbc openapi3 optparse-applicative - optparse-generic parsec pem pg-client postgresql-binary - postgresql-libpq pretty-simple process profunctors psqueues - QuickCheck quickcheck-instances random regex-tdfa resource-pool - retry safe-exceptions scientific semialign semigroups semver - shakespeare some split Spock-core stm stm-containers tagged - template-haskell text text-builder text-conversions these time tls - transformers transformers-base unix unordered-containers - uri-bytestring uri-encode url utf8-string uuid validation vector - vector-instances wai warp websockets witch wreq x509 x509-store - x509-system x509-validation yaml zlib + aeson + aeson-casing + ansi-wl-pprint + asn1-encoding + asn1-types + async + attoparsec + attoparsec-iso8601 + auto-update + base + base16-bytestring + base64-bytestring + binary + byteorder + bytestring + case-insensitive + ci-info + connection + containers + cron + cryptonite + data-default-class + data-has + deepseq + dependent-map + dependent-sum + directory + either + ekg-core + ekg-json + exceptions + fast-logger + file-embed + filepath + ghc-heap-view + graphql-parser + hashable + hashable-time + http-api-data + http-client + http-client-tls + http-conduit + http-media + http-types + immortal + insert-ordered-containers + jose + kan-extensions + kriti-lang + lens + lens-aeson + lifted-async + lifted-base + list-t + memory + mime-types + mmorph + monad-control + monad-loops + monad-validate + mtl + mustache + mysql + mysql-simple + network + network-uri + odbc + openapi3 + optparse-applicative + optparse-generic + parsec + pem + pg-client + postgresql-binary + postgresql-libpq + pretty-simple + process + profunctors + psqueues + QuickCheck + quickcheck-instances + random + regex-tdfa + resource-pool + retry + safe-exceptions + scientific + semialign + semigroups + semver + shakespeare + some + split + Spock-core + stm + stm-containers + tagged + template-haskell + text + text-builder + text-conversions + these + time + tls + transformers + transformers-base + unix + unordered-containers + uri-bytestring + uri-encode + url + utf8-string + uuid + validation + vector + vector-instances + wai + warp + websockets + witch + wreq + x509 + x509-store + x509-system + x509-validation + yaml + zlib ]; executableHaskellDepends = [ - base bytestring ekg-core kan-extensions pg-client text - text-conversions time unix + base + bytestring + ekg-core + kan-extensions + pg-client + text + text-conversions + time + unix ]; testHaskellDepends = [ - aeson aeson-casing aeson-qq async base bytestring case-insensitive - conduit containers cron dependent-map dependent-sum ekg-core - exceptions graphql-parser haskell-src-meta hedgehog hspec - hspec-core hspec-discover hspec-expectations - hspec-expectations-lifted hspec-hedgehog hspec-wai hspec-wai-json - http-client http-client-tls http-conduit http-types - insert-ordered-containers jose kan-extensions lens lens-aeson - libyaml lifted-base mmorph monad-control monad-logger mtl mysql - mysql-simple natural-transformation network network-uri odbc - optparse-applicative parsec pg-client postgresql-libpq - postgresql-simple process QuickCheck resource-pool resourcet safe - safe-exceptions scientific shakespeare split Spock-core stm - template-haskell text text-conversions th-lift th-lift-instances - time tmp-postgres transformers transformers-base typed-process unix - unliftio-core unordered-containers utf8-string vector wai wai-extra - warp websockets yaml + aeson + aeson-casing + aeson-qq + async + base + bytestring + case-insensitive + conduit + containers + cron + dependent-map + dependent-sum + ekg-core + exceptions + graphql-parser + haskell-src-meta + hedgehog + hspec + hspec-core + hspec-discover + hspec-expectations + hspec-expectations-lifted + hspec-hedgehog + hspec-wai + hspec-wai-json + http-client + http-client-tls + http-conduit + http-types + insert-ordered-containers + jose + kan-extensions + lens + lens-aeson + libyaml + lifted-base + mmorph + monad-control + monad-logger + mtl + mysql + mysql-simple + natural-transformation + network + network-uri + odbc + optparse-applicative + parsec + pg-client + postgresql-libpq + postgresql-simple + process + QuickCheck + resource-pool + resourcet + safe + safe-exceptions + scientific + shakespeare + split + Spock-core + stm + template-haskell + text + text-conversions + th-lift + th-lift-instances + time + tmp-postgres + transformers + transformers-base + typed-process + unix + unliftio-core + unordered-containers + utf8-string + vector + wai + wai-extra + warp + websockets + yaml ]; testToolDepends = [ hspec-discover ]; doCheck = false; diff --git a/pkgs/development/misc/haskell/hasura/graphql-parser.nix b/pkgs/development/misc/haskell/hasura/graphql-parser.nix index 1a1fb27bf2ec2..9b3d75267378a 100644 --- a/pkgs/development/misc/haskell/hasura/graphql-parser.nix +++ b/pkgs/development/misc/haskell/hasura/graphql-parser.nix @@ -1,9 +1,24 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, attoparsec, base, bytestring, deepseq -, fetchgit, hashable, hedgehog, lib, prettyprinter, scientific -, tasty-bench, template-haskell, text, text-builder -, th-lift-instances, unordered-containers +{ + mkDerivation, + aeson, + attoparsec, + base, + bytestring, + deepseq, + fetchgit, + hashable, + hedgehog, + lib, + prettyprinter, + scientific, + tasty-bench, + template-haskell, + text, + text-builder, + th-lift-instances, + unordered-containers, }: mkDerivation { pname = "graphql-parser"; @@ -15,15 +30,37 @@ mkDerivation { fetchSubmodules = true; }; libraryHaskellDepends = [ - aeson attoparsec base bytestring deepseq hashable hedgehog - prettyprinter scientific template-haskell text text-builder - th-lift-instances unordered-containers + aeson + attoparsec + base + bytestring + deepseq + hashable + hedgehog + prettyprinter + scientific + template-haskell + text + text-builder + th-lift-instances + unordered-containers ]; testHaskellDepends = [ - attoparsec base bytestring hedgehog prettyprinter text text-builder + attoparsec + base + bytestring + hedgehog + prettyprinter + text + text-builder ]; benchmarkHaskellDepends = [ - base bytestring prettyprinter tasty-bench text text-builder + base + bytestring + prettyprinter + tasty-bench + text + text-builder ]; homepage = "https://github.com/hasura/graphql-parser-hs"; description = "Native Haskell GraphQL parser"; diff --git a/pkgs/development/misc/haskell/hasura/kriti-lang.nix b/pkgs/development/misc/haskell/hasura/kriti-lang.nix index 17362f05dd0d7..f2f993723c645 100644 --- a/pkgs/development/misc/haskell/hasura/kriti-lang.nix +++ b/pkgs/development/misc/haskell/hasura/kriti-lang.nix @@ -1,12 +1,41 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, aeson-pretty, alex, array, base, bytestring -, containers, directory, fetchgit, filepath, generic-arbitrary -, happy, hspec, hspec-core, hspec-golden, lens, lens-aeson, lib -, megaparsec, mtl, network-uri, optparse-applicative, parsec -, parser-combinators, pretty-simple, prettyprinter, QuickCheck -, raw-strings-qq, safe-exceptions, scientific, text -, unordered-containers, utf8-string, vector +{ + mkDerivation, + aeson, + aeson-pretty, + alex, + array, + base, + bytestring, + containers, + directory, + fetchgit, + filepath, + generic-arbitrary, + happy, + hspec, + hspec-core, + hspec-golden, + lens, + lens-aeson, + lib, + megaparsec, + mtl, + network-uri, + optparse-applicative, + parsec, + parser-combinators, + pretty-simple, + prettyprinter, + QuickCheck, + raw-strings-qq, + safe-exceptions, + scientific, + text, + unordered-containers, + utf8-string, + vector, }: mkDerivation { pname = "kriti-lang"; @@ -20,21 +49,66 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson array base bytestring containers lens megaparsec mtl - network-uri optparse-applicative parser-combinators prettyprinter - scientific text unordered-containers utf8-string vector + aeson + array + base + bytestring + containers + lens + megaparsec + mtl + network-uri + optparse-applicative + parser-combinators + prettyprinter + scientific + text + unordered-containers + utf8-string + vector + ]; + libraryToolDepends = [ + alex + happy ]; - libraryToolDepends = [ alex happy ]; executableHaskellDepends = [ - aeson base bytestring containers mtl optparse-applicative - prettyprinter text utf8-string + aeson + base + bytestring + containers + mtl + optparse-applicative + prettyprinter + text + utf8-string ]; testHaskellDepends = [ - aeson aeson-pretty base bytestring containers directory filepath - generic-arbitrary hspec hspec-core hspec-golden lens lens-aeson mtl - optparse-applicative parsec pretty-simple prettyprinter QuickCheck - raw-strings-qq safe-exceptions scientific text unordered-containers - utf8-string vector + aeson + aeson-pretty + base + bytestring + containers + directory + filepath + generic-arbitrary + hspec + hspec-core + hspec-golden + lens + lens-aeson + mtl + optparse-applicative + parsec + pretty-simple + prettyprinter + QuickCheck + raw-strings-qq + safe-exceptions + scientific + text + unordered-containers + utf8-string + vector ]; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ lassulus ]; diff --git a/pkgs/development/misc/haskell/hasura/pg-client.nix b/pkgs/development/misc/haskell/hasura/pg-client.nix index 1c79a70271daa..d906de3bdbb28 100644 --- a/pkgs/development/misc/haskell/hasura/pg-client.nix +++ b/pkgs/development/misc/haskell/hasura/pg-client.nix @@ -1,12 +1,40 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, aeson-casing, async, attoparsec, base -, bytestring, ekg-core, fetchgit, file-embed, hashable, hashtables -, hasql, hasql-pool, hasql-transaction, hspec, lib, mmorph -, monad-control, mtl, postgresql-binary, postgresql-libpq -, resource-pool, retry, safe-exceptions, scientific, tasty-bench -, template-haskell, text, text-builder, time, transformers-base -, uuid, vector +{ + mkDerivation, + aeson, + aeson-casing, + async, + attoparsec, + base, + bytestring, + ekg-core, + fetchgit, + file-embed, + hashable, + hashtables, + hasql, + hasql-pool, + hasql-transaction, + hspec, + lib, + mmorph, + monad-control, + mtl, + postgresql-binary, + postgresql-libpq, + resource-pool, + retry, + safe-exceptions, + scientific, + tasty-bench, + template-haskell, + text, + text-builder, + time, + transformers-base, + uuid, + vector, }: mkDerivation { pname = "pg-client"; @@ -18,18 +46,51 @@ mkDerivation { fetchSubmodules = true; }; libraryHaskellDepends = [ - aeson aeson-casing async attoparsec base bytestring ekg-core - hashable hashtables mmorph monad-control mtl postgresql-binary - postgresql-libpq resource-pool retry safe-exceptions scientific - template-haskell text text-builder time transformers-base uuid + aeson + aeson-casing + async + attoparsec + base + bytestring + ekg-core + hashable + hashtables + mmorph + monad-control + mtl + postgresql-binary + postgresql-libpq + resource-pool + retry + safe-exceptions + scientific + template-haskell + text + text-builder + time + transformers-base + uuid vector ]; testHaskellDepends = [ - async base bytestring hspec mtl safe-exceptions time + async + base + bytestring + hspec + mtl + safe-exceptions + time ]; benchmarkHaskellDepends = [ - base bytestring file-embed hasql hasql-pool hasql-transaction mtl - tasty-bench text + base + bytestring + file-embed + hasql + hasql-pool + hasql-transaction + mtl + tasty-bench + text ]; homepage = "https://github.com/hasura/platform"; license = lib.licenses.asl20; diff --git a/pkgs/development/misc/haskell/hasura/pool.nix b/pkgs/development/misc/haskell/hasura/pool.nix index e2780e2cadec4..8064ace3ab176 100644 --- a/pkgs/development/misc/haskell/hasura/pool.nix +++ b/pkgs/development/misc/haskell/hasura/pool.nix @@ -1,7 +1,18 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, base, fetchgit, hashable, hspec, lib, monad-control -, stm, time, transformers, transformers-base, vector +{ + mkDerivation, + base, + fetchgit, + hashable, + hspec, + lib, + monad-control, + stm, + time, + transformers, + transformers-base, + vector, }: mkDerivation { pname = "resource-pool"; @@ -13,10 +24,19 @@ mkDerivation { fetchSubmodules = true; }; libraryHaskellDepends = [ - base hashable monad-control stm time transformers transformers-base + base + hashable + monad-control + stm + time + transformers + transformers-base vector ]; - testHaskellDepends = [ base hspec ]; + testHaskellDepends = [ + base + hspec + ]; homepage = "https://github.com/bos/pool"; description = "High-performance striped resource pooling implementation"; license = lib.licenses.bsd3; diff --git a/pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix b/pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix index 7b7e64f7650bb..83fab0673a241 100644 --- a/pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix +++ b/pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix @@ -1,6 +1,15 @@ -{ mkDerivation, base, fetchFromGitHub, lib, prettyprinter -, prettyprinter-ansi-terminal, process, QuickCheck, text -, transformers, transformers-compat +{ + mkDerivation, + base, + fetchFromGitHub, + lib, + prettyprinter, + prettyprinter-ansi-terminal, + process, + QuickCheck, + text, + transformers, + transformers-compat, }: mkDerivation { pname = "hercules-ci-optparse-applicative"; @@ -12,10 +21,18 @@ mkDerivation { rev = "a123939663ba1cd0f1750343f1c6b9864ac21207"; }; libraryHaskellDepends = [ - base prettyprinter prettyprinter-ansi-terminal process text - transformers transformers-compat + base + prettyprinter + prettyprinter-ansi-terminal + process + text + transformers + transformers-compat + ]; + testHaskellDepends = [ + base + QuickCheck ]; - testHaskellDepends = [ base QuickCheck ]; homepage = "https://github.com/hercules-ci/optparse-applicative"; description = "Utilities and combinators for parsing command line options (fork)"; license = lib.licenses.bsd3; diff --git a/pkgs/development/misc/msp430/gcc-support.nix b/pkgs/development/misc/msp430/gcc-support.nix index fa143173c70c0..1d682d2f8c056 100644 --- a/pkgs/development/misc/msp430/gcc-support.nix +++ b/pkgs/development/misc/msp430/gcc-support.nix @@ -1,8 +1,13 @@ -{ lib, stdenvNoCC, fetchzip }: +{ + lib, + stdenvNoCC, + fetchzip, +}: let mspgccVersion = "6_1_1_0"; -in stdenvNoCC.mkDerivation rec { +in +stdenvNoCC.mkDerivation rec { pname = "msp430-gcc-support-files"; version = "1.207"; src = fetchzip { diff --git a/pkgs/development/misc/msp430/mspdebug.nix b/pkgs/development/misc/msp430/mspdebug.nix index c24ca3b0c2622..94df290fec087 100644 --- a/pkgs/development/misc/msp430/mspdebug.nix +++ b/pkgs/development/misc/msp430/mspdebug.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, autoPatchelfHook -, libusb-compat-0_1 -, readline ? null -, enableReadline ? true -, hidapi ? null -, pkg-config ? null -, mspds ? null -, enableMspds ? false +{ + lib, + stdenv, + fetchFromGitHub, + autoPatchelfHook, + libusb-compat-0_1, + readline ? null, + enableReadline ? true, + hidapi ? null, + pkg-config ? null, + mspds ? null, + enableMspds ? false, }: assert stdenv.hostPlatform.isDarwin -> hidapi != null && pkg-config != null; @@ -25,11 +27,13 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin pkg-config - ++ lib.optional (enableMspds && stdenv.hostPlatform.isLinux) autoPatchelfHook; - buildInputs = [ libusb-compat-0_1 ] - ++ lib.optional stdenv.hostPlatform.isDarwin hidapi - ++ lib.optional enableReadline readline; + nativeBuildInputs = + lib.optional stdenv.hostPlatform.isDarwin pkg-config + ++ lib.optional (enableMspds && stdenv.hostPlatform.isLinux) autoPatchelfHook; + buildInputs = + [ libusb-compat-0_1 ] + ++ lib.optional stdenv.hostPlatform.isDarwin hidapi + ++ lib.optional enableReadline readline; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' # TODO: remove once a new 0.26+ release is made @@ -48,9 +52,11 @@ stdenv.mkDerivation rec { done ''; - installFlags = [ "PREFIX=$(out)" "INSTALL=install" ]; - makeFlags = [ "UNAME_S=$(unameS)" ] ++ - lib.optional (!enableReadline) "WITHOUT_READLINE=1"; + installFlags = [ + "PREFIX=$(out)" + "INSTALL=install" + ]; + makeFlags = [ "UNAME_S=$(unameS)" ] ++ lib.optional (!enableReadline) "WITHOUT_READLINE=1"; unameS = lib.optionalString stdenv.hostPlatform.isDarwin "Darwin"; meta = with lib; { diff --git a/pkgs/development/misc/msp430/mspds/binary.nix b/pkgs/development/misc/msp430/mspds/binary.nix index 4dc3ec869bda7..a25f3fb301603 100644 --- a/pkgs/development/misc/msp430/mspds/binary.nix +++ b/pkgs/development/misc/msp430/mspds/binary.nix @@ -1,8 +1,17 @@ -{ stdenv, lib, fetchurl, unzip, autoPatchelfHook }: +{ + stdenv, + lib, + fetchurl, + unzip, + autoPatchelfHook, +}: let - archPostfix = lib.optionalString (stdenv.hostPlatform.is64bit && !stdenv.hostPlatform.isDarwin) "_64"; -in stdenv.mkDerivation rec { + archPostfix = lib.optionalString ( + stdenv.hostPlatform.is64bit && !stdenv.hostPlatform.isDarwin + ) "_64"; +in +stdenv.mkDerivation rec { pname = "msp-debug-stack-bin"; version = "3.15.1.1"; src = fetchurl { @@ -12,11 +21,12 @@ in stdenv.mkDerivation rec { sourceRoot = "."; libname = - if stdenv.hostPlatform.isWindows then "MSP430${archPostfix}.dll" - else "libmsp430${archPostfix}${stdenv.hostPlatform.extensions.sharedLibrary}"; + if stdenv.hostPlatform.isWindows then + "MSP430${archPostfix}.dll" + else + "libmsp430${archPostfix}${stdenv.hostPlatform.extensions.sharedLibrary}"; - nativeBuildInputs = [ unzip ] - ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; + nativeBuildInputs = [ unzip ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; buildInputs = [ stdenv.cc.cc ]; installPhase = '' diff --git a/pkgs/development/misc/msp430/mspds/default.nix b/pkgs/development/misc/msp430/mspds/default.nix index 17ee5cd76c50a..d1fb0339ce33c 100644 --- a/pkgs/development/misc/msp430/mspds/default.nix +++ b/pkgs/development/misc/msp430/mspds/default.nix @@ -1,9 +1,12 @@ -{ stdenv -, lib -, fetchurl, unzip -, boost, pugixml -, hidapi -, libusb1 ? null +{ + stdenv, + lib, + fetchurl, + unzip, + boost, + pugixml, + hidapi, + libusb1 ? null, }: assert stdenv.hostPlatform.isLinux -> libusb1 != null; @@ -11,7 +14,8 @@ assert stdenv.hostPlatform.isLinux -> libusb1 != null; let hidapiDriver = lib.optionalString stdenv.hostPlatform.isLinux "-libusb"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "msp-debug-stack"; version = "3.15.1.1"; @@ -23,18 +27,26 @@ in stdenv.mkDerivation { enableParallelBuilding = true; libName = "libmsp430${stdenv.hostPlatform.extensions.sharedLibrary}"; - makeFlags = [ "OUTPUT=$(libName)" "HIDOBJ=" ]; - NIX_LDFLAGS = [ "-lpugixml" "-lhidapi${hidapiDriver}" ]; + makeFlags = [ + "OUTPUT=$(libName)" + "HIDOBJ=" + ]; + NIX_LDFLAGS = [ + "-lpugixml" + "-lhidapi${hidapiDriver}" + ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${hidapi}/include/hidapi" ]; patches = [ ./bsl430.patch ]; - preBuild = '' - rm ThirdParty/src/pugixml.cpp - rm ThirdParty/include/pugi{config,xml}.hpp - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - makeFlagsArray+=(OUTNAME="-install_name ") - ''; + preBuild = + '' + rm ThirdParty/src/pugixml.cpp + rm ThirdParty/include/pugi{config,xml}.hpp + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + makeFlagsArray+=(OUTNAME="-install_name ") + ''; installPhase = '' install -Dm0755 -t $out/lib $libName @@ -42,8 +54,11 @@ in stdenv.mkDerivation { ''; nativeBuildInputs = [ unzip ]; - buildInputs = [ boost hidapi pugixml ] - ++ lib.optional stdenv.hostPlatform.isLinux libusb1; + buildInputs = [ + boost + hidapi + pugixml + ] ++ lib.optional stdenv.hostPlatform.isLinux libusb1; meta = with lib; { description = "TI MSP430 FET debug driver"; diff --git a/pkgs/development/misc/msp430/newlib.nix b/pkgs/development/misc/msp430/newlib.nix index 005d8f8cbd9f8..323c26c8d3a73 100644 --- a/pkgs/development/misc/msp430/newlib.nix +++ b/pkgs/development/misc/msp430/newlib.nix @@ -1,4 +1,9 @@ -{ stdenvNoCC, xorg, newlib, msp430GccSupport }: +{ + stdenvNoCC, + xorg, + newlib, + msp430GccSupport, +}: stdenvNoCC.mkDerivation { name = "msp430-${newlib.name}"; diff --git a/pkgs/development/misc/newlib/default.nix b/pkgs/development/misc/newlib/default.nix index 644017a886da5..ee34f56ebb5ca 100644 --- a/pkgs/development/misc/newlib/default.nix +++ b/pkgs/development/misc/newlib/default.nix @@ -1,8 +1,14 @@ -{ stdenv, fetchurl, buildPackages, lib, fetchpatch, texinfo -, # "newlib-nano" is what the official ARM embedded toolchain calls this build +{ + stdenv, + fetchurl, + buildPackages, + lib, + fetchpatch, + texinfo, + # "newlib-nano" is what the official ARM embedded toolchain calls this build # configuration that prioritizes low space usage. We include it as a preset # for embedded projects striving for a similar configuration. - nanoizeNewlib ? false + nanoizeNewlib ? false, }: stdenv.mkDerivation (finalAttrs: { @@ -29,81 +35,94 @@ stdenv.mkDerivation (finalAttrs: { ]; # newlib expects CC to build for build platform, not host platform - preConfigure = '' - export CC=cc - '' + - # newlib tries to disable itself when building for Linux *except* - # when native-compiling. Unfortunately the check for "is cross - # compiling" was written when newlib was part of GCC and newlib - # was built along with GCC (therefore newlib was built to execute - # on the targetPlatform, not the hostPlatform). Unfortunately - # when newlib was extracted from GCC, this "is cross compiling" - # logic was not fixed. So we must disable it. - '' - substituteInPlace configure --replace 'noconfigdirs target-newlib target-libgloss' 'noconfigdirs' - substituteInPlace configure --replace 'cross_only="target-libgloss target-newlib' 'cross_only="' - ''; + preConfigure = + '' + export CC=cc + '' + + + # newlib tries to disable itself when building for Linux *except* + # when native-compiling. Unfortunately the check for "is cross + # compiling" was written when newlib was part of GCC and newlib + # was built along with GCC (therefore newlib was built to execute + # on the targetPlatform, not the hostPlatform). Unfortunately + # when newlib was extracted from GCC, this "is cross compiling" + # logic was not fixed. So we must disable it. + '' + substituteInPlace configure --replace 'noconfigdirs target-newlib target-libgloss' 'noconfigdirs' + substituteInPlace configure --replace 'cross_only="target-libgloss target-newlib' 'cross_only="' + ''; - - configurePlatforms = [ "build" "target" ]; + configurePlatforms = [ + "build" + "target" + ]; # flags copied from https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53310/gcc-arm-none-eabi-what-were-the-newlib-compilation-options # sort alphabetically - configureFlags = [ - "--with-newlib" + configureFlags = + [ + "--with-newlib" - # The newlib configury uses `host` to refer to the platform - # which is being used to compile newlib. Ugh. It does this - # because of its history: newlib used to be distributed with and - # built as part of gcc. - # - # To prevent nixpkgs from going insane, this package presents the - # "normal" view to the outside world: the binaries in $out will - # execute on `stdenv.hostPlatform`. We then fool newlib's build - # process into doing the right thing. - "--host=${stdenv.targetPlatform.config}" + # The newlib configury uses `host` to refer to the platform + # which is being used to compile newlib. Ugh. It does this + # because of its history: newlib used to be distributed with and + # built as part of gcc. + # + # To prevent nixpkgs from going insane, this package presents the + # "normal" view to the outside world: the binaries in $out will + # execute on `stdenv.hostPlatform`. We then fool newlib's build + # process into doing the right thing. + "--host=${stdenv.targetPlatform.config}" - ] ++ (if !nanoizeNewlib then [ - "--disable-newlib-supplied-syscalls" - "--disable-nls" - "--enable-newlib-io-c99-formats" - "--enable-newlib-io-long-long" - "--enable-newlib-reent-check-verify" - "--enable-newlib-register-fini" - "--enable-newlib-retargetable-locking" - ] else [ - "--disable-newlib-fseek-optimization" - "--disable-newlib-fvwrite-in-streamio" - "--disable-newlib-supplied-syscalls" - "--disable-newlib-unbuf-stream-opt" - "--disable-newlib-wide-orient" - "--disable-nls" - "--enable-lite-exit" - "--enable-newlib-global-atexit" - "--enable-newlib-nano-formatted-io" - "--enable-newlib-nano-malloc" - "--enable-newlib-reent-check-verify" - "--enable-newlib-reent-small" - "--enable-newlib-retargetable-locking" - ]); + ] + ++ ( + if !nanoizeNewlib then + [ + "--disable-newlib-supplied-syscalls" + "--disable-nls" + "--enable-newlib-io-c99-formats" + "--enable-newlib-io-long-long" + "--enable-newlib-reent-check-verify" + "--enable-newlib-register-fini" + "--enable-newlib-retargetable-locking" + ] + else + [ + "--disable-newlib-fseek-optimization" + "--disable-newlib-fvwrite-in-streamio" + "--disable-newlib-supplied-syscalls" + "--disable-newlib-unbuf-stream-opt" + "--disable-newlib-wide-orient" + "--disable-nls" + "--enable-lite-exit" + "--enable-newlib-global-atexit" + "--enable-newlib-nano-formatted-io" + "--enable-newlib-nano-malloc" + "--enable-newlib-reent-check-verify" + "--enable-newlib-reent-small" + "--enable-newlib-retargetable-locking" + ] + ); enableParallelBuilding = true; dontDisableStatic = true; # apply necessary nano changes from https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/manifest/copy_nano_libraries.sh?rev=4c50be6ccb9c4205a5262a3925317073&hash=1375A7B0A1CD0DB9B9EB0D2B574ADF66 - postInstall = lib.optionalString nanoizeNewlib '' - mkdir -p $out${finalAttrs.passthru.incdir}/newlib-nano - cp $out${finalAttrs.passthru.incdir}/newlib.h $out${finalAttrs.passthru.incdir}/newlib-nano/ + postInstall = + lib.optionalString nanoizeNewlib '' + mkdir -p $out${finalAttrs.passthru.incdir}/newlib-nano + cp $out${finalAttrs.passthru.incdir}/newlib.h $out${finalAttrs.passthru.incdir}/newlib-nano/ - ( - cd $out${finalAttrs.passthru.libdir} + ( + cd $out${finalAttrs.passthru.libdir} - for f in librdimon.a libc.a libg.a; do - # Some libraries are only available for specific architectures. - # For example, librdimon.a is only available on ARM. - [ -f "$f" ] && cp "$f" "''${f%%\.a}_nano.a" - done - ) - '' + ''[ "$(find $out -type f | wc -l)" -gt 0 ] || (echo '$out is empty' 1>&2 && exit 1)''; + for f in librdimon.a libc.a libg.a; do + # Some libraries are only available for specific architectures. + # For example, librdimon.a is only available on ARM. + [ -f "$f" ] && cp "$f" "''${f%%\.a}_nano.a" + done + ) + '' + + ''[ "$(find $out -type f | wc -l)" -gt 0 ] || (echo '$out is empty' 1>&2 && exit 1)''; passthru = { incdir = "/${stdenv.targetPlatform.config}/include"; diff --git a/pkgs/development/misc/or1k/newlib.nix b/pkgs/development/misc/or1k/newlib.nix index 7c0f0af4a21a6..fb265b726f40d 100644 --- a/pkgs/development/misc/or1k/newlib.nix +++ b/pkgs/development/misc/or1k/newlib.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchFromGitHub, stdenvNoLibc, buildPackages }: +{ + stdenv, + fetchFromGitHub, + stdenvNoLibc, + buildPackages, +}: stdenvNoLibc.mkDerivation { name = "newlib"; @@ -16,7 +21,10 @@ stdenvNoLibc.mkDerivation { export CC=cc ''; - configurePlatforms = [ "build" "target" ]; + configurePlatforms = [ + "build" + "target" + ]; configureFlags = [ "--host=${stdenv.buildPlatform.config}" diff --git a/pkgs/development/misc/resholve/default.nix b/pkgs/development/misc/resholve/default.nix index 5b68631e344de..b995561a9c876 100644 --- a/pkgs/development/misc/resholve/default.nix +++ b/pkgs/development/misc/resholve/default.nix @@ -1,17 +1,24 @@ -{ lib -, pkgsBuildHost -, ... +{ + lib, + pkgsBuildHost, + ... }: let - removeKnownVulnerabilities = pkg: pkg.overrideAttrs (old: { - meta = (old.meta or { }) // { knownVulnerabilities = [ ]; }; - }); + removeKnownVulnerabilities = + pkg: + pkg.overrideAttrs (old: { + meta = (old.meta or { }) // { + knownVulnerabilities = [ ]; + }; + }); # We are removing `meta.knownVulnerabilities` from `python27`, # and setting it in `resholve` itself. python27' = (removeKnownVulnerabilities pkgsBuildHost.python27).override { self = python27'; - pkgsBuildHost = pkgsBuildHost // { python27 = python27'; }; + pkgsBuildHost = pkgsBuildHost // { + python27 = python27'; + }; # strip down that python version as much as possible openssl = null; bzip2 = null; @@ -35,14 +42,16 @@ rec { # not exposed in all-packages resholveBuildTimeOnly = removeKnownVulnerabilities resholve; # resholve itself - resholve = (callPackage ./resholve.nix { - inherit (source) rSrc version; - inherit (deps.oil) oildev; - inherit (deps) configargparse; - inherit resholve-utils; - # used only in tests - resholve = resholveBuildTimeOnly; - }); + resholve = ( + callPackage ./resholve.nix { + inherit (source) rSrc version; + inherit (deps.oil) oildev; + inherit (deps) configargparse; + inherit resholve-utils; + # used only in tests + resholve = resholveBuildTimeOnly; + } + ); # funcs to validate and phrase invocations of resholve # and use those invocations to build packages resholve-utils = callPackage ./resholve-utils.nix { diff --git a/pkgs/development/misc/resholve/deps.nix b/pkgs/development/misc/resholve/deps.nix index 5b4133465fa74..577a6ed1bb90f 100644 --- a/pkgs/development/misc/resholve/deps.nix +++ b/pkgs/development/misc/resholve/deps.nix @@ -1,9 +1,10 @@ -{ lib -, callPackage -, fetchFromGitHub -, python27 -, fetchPypi -, ... +{ + lib, + callPackage, + fetchFromGitHub, + python27, + fetchPypi, + ... }: /* diff --git a/pkgs/development/misc/resholve/oildev.nix b/pkgs/development/misc/resholve/oildev.nix index c770fb894a3b0..ff8385fbcd544 100644 --- a/pkgs/development/misc/resholve/oildev.nix +++ b/pkgs/development/misc/resholve/oildev.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, python27 -, callPackage -, fetchFromGitHub -, makeWrapper -, re2c -, # oil deps - glibcLocales -, file -, six -, typing +{ + lib, + stdenv, + python27, + callPackage, + fetchFromGitHub, + makeWrapper, + re2c, + # oil deps + glibcLocales, + file, + six, + typing, }: rec { @@ -67,9 +68,16 @@ rec { "--without-readline" ]; - nativeBuildInputs = [ re2c file makeWrapper ]; + nativeBuildInputs = [ + re2c + file + makeWrapper + ]; - propagatedBuildInputs = [ six typing ]; + propagatedBuildInputs = [ + six + typing + ]; doCheck = true; @@ -85,7 +93,9 @@ rec { ''; # See earlier note on glibcLocales TODO: verify needed? - LOCALE_ARCHIVE = lib.optionalString (stdenv.buildPlatform.libc == "glibc") "${glibcLocales}/lib/locale/locale-archive"; + LOCALE_ARCHIVE = lib.optionalString ( + stdenv.buildPlatform.libc == "glibc" + ) "${glibcLocales}/lib/locale/locale-archive"; # not exhaustive; sample what resholve uses as a sanity check pythonImportsCheck = [ diff --git a/pkgs/development/misc/resholve/resholve-utils.nix b/pkgs/development/misc/resholve/resholve-utils.nix index a903b674eb339..f024d04e0c2c7 100644 --- a/pkgs/development/misc/resholve/resholve-utils.nix +++ b/pkgs/development/misc/resholve/resholve-utils.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, resholve, binlore, writeTextFile }: +{ + lib, + stdenv, + resholve, + binlore, + writeTextFile, +}: rec { - /* These functions break up the work of partially validating the + /* + These functions break up the work of partially validating the 'solutions' attrset and massaging it into env/cli args. Note: some of the left-most args do not *have* to be passed as @@ -13,84 +20,128 @@ rec { colons = l: builtins.concatStringsSep ":" l; semicolons = l: builtins.concatStringsSep ";" l; - /* Throw a fit with dotted attr path context */ - nope = path: msg: - throw "${builtins.concatStringsSep "." path}: ${msg}"; - - /* Special-case directive value representations by type */ - phraseDirective = solution: env: name: val: - if builtins.isInt val then builtins.toString val - else if builtins.isString val then name - else if true == val then name - else if false == val then "" # omit! - else if null == val then "" # omit! - else if builtins.isList val then "${name}:${semicolons (map lib.escapeShellArg val)}" - else nope [ solution env name ] "unexpected type: ${builtins.typeOf val}"; - - /* Build fake/fix/keep directives from Nix types */ - phraseDirectives = solution: env: val: + # Throw a fit with dotted attr path context + nope = path: msg: throw "${builtins.concatStringsSep "." path}: ${msg}"; + + # Special-case directive value representations by type + phraseDirective = + solution: env: name: val: + if builtins.isInt val then + builtins.toString val + else if builtins.isString val then + name + else if true == val then + name + else if false == val then + "" # omit! + else if null == val then + "" # omit! + else if builtins.isList val then + "${name}:${semicolons (map lib.escapeShellArg val)}" + else + nope [ solution env name ] "unexpected type: ${builtins.typeOf val}"; + + # Build fake/fix/keep directives from Nix types + phraseDirectives = + solution: env: val: lib.mapAttrsToList (phraseDirective solution env) val; - /* Custom ~search-path routine to handle relative path strings */ - relSafeBinPath = input: - if lib.isDerivation input then ((lib.getOutput "bin" input) + "/bin") - else if builtins.isString input then input - else throw "unexpected type for input: ${builtins.typeOf input}"; - - /* Special-case value representation by type/name */ - phraseEnvVal = solution: env: val: - if env == "inputs" then (colons (map relSafeBinPath val)) - else if builtins.isString val then val - else if builtins.isList val then spaces val - else if builtins.isAttrs val then spaces (phraseDirectives solution env val) - else nope [ solution env ] "unexpected type: ${builtins.typeOf val}"; - - /* Shell-format each env value */ - shellEnv = solution: env: value: + # Custom ~search-path routine to handle relative path strings + relSafeBinPath = + input: + if lib.isDerivation input then + ((lib.getOutput "bin" input) + "/bin") + else if builtins.isString input then + input + else + throw "unexpected type for input: ${builtins.typeOf input}"; + + # Special-case value representation by type/name + phraseEnvVal = + solution: env: val: + if env == "inputs" then + (colons (map relSafeBinPath val)) + else if builtins.isString val then + val + else if builtins.isList val then + spaces val + else if builtins.isAttrs val then + spaces (phraseDirectives solution env val) + else + nope [ solution env ] "unexpected type: ${builtins.typeOf val}"; + + # Shell-format each env value + shellEnv = + solution: env: value: lib.escapeShellArg (phraseEnvVal solution env value); - /* Build a single ENV=val pair */ - phraseEnv = solution: env: value: + # Build a single ENV=val pair + phraseEnv = + solution: env: value: "RESHOLVE_${lib.toUpper env}=${shellEnv solution env value}"; - /* Discard attrs: - - claimed by phraseArgs - - only needed for binlore.collect + /* + Discard attrs: + - claimed by phraseArgs + - only needed for binlore.collect */ - removeUnneededArgs = value: - removeAttrs value [ "scripts" "flags" "unresholved" ]; + removeUnneededArgs = + value: + removeAttrs value [ + "scripts" + "flags" + "unresholved" + ]; - /* Verify required arguments are present */ - validateSolution = { scripts, inputs, interpreter, ... }: true; + # Verify required arguments are present + validateSolution = + { + scripts, + inputs, + interpreter, + ... + }: + true; - /* Pull out specific solution keys to build ENV=val pairs */ - phraseEnvs = solution: value: - spaces (lib.mapAttrsToList (phraseEnv solution) (removeUnneededArgs value)); + # Pull out specific solution keys to build ENV=val pairs + phraseEnvs = + solution: value: spaces (lib.mapAttrsToList (phraseEnv solution) (removeUnneededArgs value)); - /* Pull out specific solution keys to build CLI argstring */ - phraseArgs = { flags ? [ ], scripts, ... }: + # Pull out specific solution keys to build CLI argstring + phraseArgs = + { + flags ? [ ], + scripts, + ... + }: spaces (flags ++ scripts); - phraseBinloreArgs = value: + phraseBinloreArgs = + value: let hasUnresholved = builtins.hasAttr "unresholved" value; - in { - drvs = value.inputs ++ - lib.optionals hasUnresholved [ value.unresholved ]; + in + { + drvs = value.inputs ++ lib.optionals hasUnresholved [ value.unresholved ]; strip = if hasUnresholved then [ value.unresholved ] else [ ]; }; - /* Build a single resholve invocation */ - phraseInvocation = solution: value: + # Build a single resholve invocation + phraseInvocation = + solution: value: if validateSolution value then - # we pass resholve a directory - "RESHOLVE_LORE=${binlore.collect (phraseBinloreArgs value) } ${phraseEnvs solution value} ${resholve}/bin/resholve --overwrite ${phraseArgs value}" - else throw "invalid solution"; # shouldn't trigger for now + # we pass resholve a directory + "RESHOLVE_LORE=${binlore.collect (phraseBinloreArgs value)} ${phraseEnvs solution value} ${resholve}/bin/resholve --overwrite ${phraseArgs value}" + else + throw "invalid solution"; # shouldn't trigger for now - injectUnresholved = solutions: unresholved: (builtins.mapAttrs (name: value: value // { inherit unresholved; } ) solutions); + injectUnresholved = + solutions: unresholved: + (builtins.mapAttrs (name: value: value // { inherit unresholved; }) solutions); - /* Build resholve invocation for each solution. */ - phraseCommands = solutions: unresholved: + # Build resholve invocation for each solution. + phraseCommands = + solutions: unresholved: builtins.concatStringsSep "\n" ( lib.mapAttrsToList phraseInvocation (injectUnresholved solutions unresholved) ); @@ -100,112 +151,138 @@ rec { and invocation. Extra context makes it clearer what the Nix API is doing, makes nix-shell debugging easier, etc. */ - phraseContext = { invokable, prep ? ''cd "$out"'' }: '' - ( - ${prep} - PS4=$'\x1f'"\033[33m[resholve context]\033[0m " - set -x - : invoking resholve with PWD=$PWD - ${invokable} - ) - ''; - phraseContextForPWD = invokable: phraseContext { inherit invokable; prep = ""; }; + phraseContext = + { + invokable, + prep ? ''cd "$out"'', + }: + '' + ( + ${prep} + PS4=$'\x1f'"\033[33m[resholve context]\033[0m " + set -x + : invoking resholve with PWD=$PWD + ${invokable} + ) + ''; + phraseContextForPWD = + invokable: + phraseContext { + inherit invokable; + prep = ""; + }; phraseContextForOut = invokable: phraseContext { inherit invokable; }; phraseSolution = name: solution: (phraseContextForOut (phraseInvocation name solution)); - phraseSolutions = solutions: unresholved: - phraseContextForOut (phraseCommands solutions unresholved); + phraseSolutions = + solutions: unresholved: phraseContextForOut (phraseCommands solutions unresholved); - writeScript = name: partialSolution: text: + writeScript = + name: partialSolution: text: writeTextFile { inherit name text; executable = true; - checkPhase = '' - ${(phraseContextForPWD ( - phraseInvocation name ( - partialSolution // { - scripts = [ "${placeholder "out"}" ]; - } - ) - ) - )} - '' + lib.optionalString (partialSolution.interpreter != "none") '' - ${partialSolution.interpreter} -n $out - ''; + checkPhase = + '' + ${ + (phraseContextForPWD ( + phraseInvocation name ( + partialSolution + // { + scripts = [ "${placeholder "out"}" ]; + } + ) + )) + } + '' + + lib.optionalString (partialSolution.interpreter != "none") '' + ${partialSolution.interpreter} -n $out + ''; }; - writeScriptBin = name: partialSolution: text: + writeScriptBin = + name: partialSolution: text: writeTextFile rec { inherit name text; executable = true; destination = "/bin/${name}"; - checkPhase = '' - ${phraseContextForOut ( + checkPhase = + '' + ${phraseContextForOut ( phraseInvocation name ( - partialSolution // { + partialSolution + // { scripts = [ "bin/${name}" ]; } ) - ) - } - '' + lib.optionalString (partialSolution.interpreter != "none") '' - ${partialSolution.interpreter} -n $out/bin/${name} - ''; + )} + '' + + lib.optionalString (partialSolution.interpreter != "none") '' + ${partialSolution.interpreter} -n $out/bin/${name} + ''; }; - mkDerivation = { pname - , src - , version - , passthru ? { } - , solutions - , ... + mkDerivation = + { + pname, + src, + version, + passthru ? { }, + solutions, + ... }@attrs: let inherit stdenv; /* - Knock out our special solutions arg, but otherwise - just build what the caller is giving us. We'll - actually resholve it separately below (after we - generate binlore for it). + Knock out our special solutions arg, but otherwise + just build what the caller is giving us. We'll + actually resholve it separately below (after we + generate binlore for it). */ - unresholved = (stdenv.mkDerivation ((removeAttrs attrs [ "solutions" ]) - // { - inherit version src; - pname = "${pname}-unresholved"; - })); + unresholved = ( + stdenv.mkDerivation ( + (removeAttrs attrs [ "solutions" ]) + // { + inherit version src; + pname = "${pname}-unresholved"; + } + ) + ); in /* - resholve in a separate derivation; some concerns: - - we aren't keeping many of the user's args, so they - can't readily set LOGLEVEL and such... - - not sure how this affects multiple outputs + resholve in a separate derivation; some concerns: + - we aren't keeping many of the user's args, so they + can't readily set LOGLEVEL and such... + - not sure how this affects multiple outputs */ - lib.extendDerivation true passthru (stdenv.mkDerivation { - src = unresholved; - inherit version pname; - buildInputs = [ resholve ]; - disallowedReferences = [ resholve ]; - - # retain a reference to the base - passthru = unresholved.passthru // { - unresholved = unresholved; - # fallback attr for update bot to query our src - originalSrc = unresholved.src; - }; - - # do these imply that we should use NoCC or something? - dontConfigure = true; - dontBuild = true; - - installPhase = '' - cp -R $src $out - ''; - - # enable below for verbose debug info if needed - # supports default python.logging levels - # LOGLEVEL="INFO"; - preFixup = phraseSolutions solutions unresholved; - - # don't break the metadata... - meta = unresholved.meta; - }); + lib.extendDerivation true passthru ( + stdenv.mkDerivation { + src = unresholved; + inherit version pname; + buildInputs = [ resholve ]; + disallowedReferences = [ resholve ]; + + # retain a reference to the base + passthru = unresholved.passthru // { + unresholved = unresholved; + # fallback attr for update bot to query our src + originalSrc = unresholved.src; + }; + + # do these imply that we should use NoCC or something? + dontConfigure = true; + dontBuild = true; + + installPhase = '' + cp -R $src $out + ''; + + # enable below for verbose debug info if needed + # supports default python.logging levels + # LOGLEVEL="INFO"; + preFixup = phraseSolutions solutions unresholved; + + # don't break the metadata... + meta = unresholved.meta; + } + ); } diff --git a/pkgs/development/misc/resholve/resholve.nix b/pkgs/development/misc/resholve/resholve.nix index 9fb98de3a248e..1539580446ed5 100644 --- a/pkgs/development/misc/resholve/resholve.nix +++ b/pkgs/development/misc/resholve/resholve.nix @@ -1,16 +1,17 @@ -{ lib -, callPackage -, python27 -, fetchFromGitHub -, installShellFiles -, rSrc -, version -, oildev -, configargparse -, gawk -, binlore -, resholve -, resholve-utils +{ + lib, + callPackage, + python27, + fetchFromGitHub, + installShellFiles, + rSrc, + version, + oildev, + configargparse, + gawk, + binlore, + resholve, + resholve-utils, }: let @@ -25,7 +26,8 @@ let }; }; -in python27.pkgs.buildPythonApplication { +in +python27.pkgs.buildPythonApplication { pname = "resholve"; inherit version; src = rSrc; @@ -59,8 +61,20 @@ in python27.pkgs.buildPythonApplication { ''; passthru = { - inherit (resholve-utils) mkDerivation phraseSolution writeScript writeScriptBin; - tests = callPackage ./test.nix { inherit rSrc binlore python27 resholve; }; + inherit (resholve-utils) + mkDerivation + phraseSolution + writeScript + writeScriptBin + ; + tests = callPackage ./test.nix { + inherit + rSrc + binlore + python27 + resholve + ; + }; }; meta = with lib; { @@ -70,10 +84,12 @@ in python27.pkgs.buildPythonApplication { license = with licenses; [ mit ]; maintainers = with maintainers; [ abathur ]; platforms = platforms.all; - knownVulnerabilities = [ '' - resholve depends on python27 (EOL). While it's safe to - run on trusted input in the build sandbox, you should - avoid running it on untrusted input. - '' ]; + knownVulnerabilities = [ + '' + resholve depends on python27 (EOL). While it's safe to + run on trusted input in the build sandbox, you should + avoid running it on untrusted input. + '' + ]; }; } diff --git a/pkgs/development/misc/resholve/source.nix b/pkgs/development/misc/resholve/source.nix index 7d843d61b1630..670010c835624 100644 --- a/pkgs/development/misc/resholve/source.nix +++ b/pkgs/development/misc/resholve/source.nix @@ -1,5 +1,6 @@ -{ fetchFromGitHub -, ... +{ + fetchFromGitHub, + ... }: rec { diff --git a/pkgs/development/misc/resholve/test.nix b/pkgs/development/misc/resholve/test.nix index 654f8a4577f5b..a3a7d3a812440 100644 --- a/pkgs/development/misc/resholve/test.nix +++ b/pkgs/development/misc/resholve/test.nix @@ -1,67 +1,83 @@ -{ lib -, stdenv -, callPackage -, resholve -, shunit2 -, coreutils -, gnused -, gnugrep -, findutils -, jq -, bash -, bats -, libressl -, openssl -, python27 -, file -, gettext -, rSrc -, runDemo ? false -, binlore -, sqlite -, unixtools -, gawk -, rlwrap -, gnutar -, bc -# override testing -, esh -, getconf -, libarchive -, locale -, mount -, ncurses -, nixos-install-tools -, nixos-rebuild -, procps -, ps -# known consumers -, aaxtomp3 -, arch-install-scripts -, bashup-events32 -, dgoss -, git-ftp -, ix -, lesspipe -, locate-dominating-file -, mons -, msmtp -, nix-direnv -, pdf2odt -, pdfmm -, rancid -, s0ix-selftest-tool -, unix-privesc-check -, wgnord -, wsl-vpnkit -, xdg-utils -, yadm -, zxfer +{ + lib, + stdenv, + callPackage, + resholve, + shunit2, + coreutils, + gnused, + gnugrep, + findutils, + jq, + bash, + bats, + libressl, + openssl, + python27, + file, + gettext, + rSrc, + runDemo ? false, + binlore, + sqlite, + unixtools, + gawk, + rlwrap, + gnutar, + bc, + # override testing + esh, + getconf, + libarchive, + locale, + mount, + ncurses, + nixos-install-tools, + nixos-rebuild, + procps, + ps, + # known consumers + aaxtomp3, + arch-install-scripts, + bashup-events32, + dgoss, + git-ftp, + ix, + lesspipe, + locate-dominating-file, + mons, + msmtp, + nix-direnv, + pdf2odt, + pdfmm, + rancid, + s0ix-selftest-tool, + unix-privesc-check, + wgnord, + wsl-vpnkit, + xdg-utils, + yadm, + zxfer, }: let - default_packages = [ bash file findutils gettext ]; - parsed_packages = [ coreutils sqlite unixtools.script gnused gawk findutils rlwrap gnutar bc ]; + default_packages = [ + bash + file + findutils + gettext + ]; + parsed_packages = [ + coreutils + sqlite + unixtools.script + gnused + gawk + findutils + rlwrap + gnutar + bc + ]; in rec { module1 = resholve.mkDerivation { @@ -80,9 +96,16 @@ rec { solutions = { libressl = { # submodule to demonstrate - scripts = [ "bin/libressl.sh" "submodule/helper.sh" ]; + scripts = [ + "bin/libressl.sh" + "submodule/helper.sh" + ]; interpreter = "none"; - inputs = [ jq module2 libressl.bin ]; + inputs = [ + jq + module2 + libressl.bin + ]; }; }; @@ -107,9 +130,17 @@ rec { fix = { aliases = true; }; - scripts = [ "bin/openssl.sh" "libexec/invokeme" ]; + scripts = [ + "bin/openssl.sh" + "libexec/invokeme" + ]; interpreter = "none"; - inputs = [ shunit2 openssl.bin "libexec" "libexec/invokeme" ]; + inputs = [ + shunit2 + openssl.bin + "libexec" + "libexec/invokeme" + ]; execer = [ /* This is the same verdict binlore will @@ -144,7 +175,10 @@ rec { interpreter = "${bash}/bin/bash"; inputs = [ module1 ]; fake = { - external = [ "jq" "openssl" ]; + external = [ + "jq" + "openssl" + ]; }; }} ''; @@ -163,7 +197,10 @@ rec { doCheck = true; buildInputs = [ resholve ]; - nativeCheckInputs = [ coreutils bats ]; + nativeCheckInputs = [ + coreutils + bats + ]; # LOGLEVEL="DEBUG"; # default path @@ -173,95 +210,116 @@ rec { PKG_FINDUTILS = "${lib.makeBinPath [ findutils ]}"; PKG_GETTEXT = "${lib.makeBinPath [ gettext ]}"; PKG_COREUTILS = "${lib.makeBinPath [ coreutils ]}"; - RESHOLVE_LORE = "${binlore.collect { drvs = default_packages ++ [ coreutils ] ++ parsed_packages; } }"; + RESHOLVE_LORE = "${binlore.collect { + drvs = default_packages ++ [ coreutils ] ++ parsed_packages; + }}"; PKG_PARSED = "${lib.makeBinPath parsed_packages}"; # explicit interpreter for demo suite; maybe some better way... INTERP = "${bash}/bin/bash"; - checkPhase = '' - patchShebangs . - mkdir empty_lore - touch empty_lore/{execers,wrappers} - export EMPTY_LORE=$PWD/empty_lore - printf "\033[33m============================= resholve test suite ===================================\033[0m\n" > test.ansi - if ./test.sh &>> test.ansi; then - cat test.ansi - else - cat test.ansi && exit 1 - fi - '' + lib.optionalString runDemo '' - printf "\033[33m============================= resholve demo ===================================\033[0m\n" > demo.ansi - if ./demo &>> demo.ansi; then - cat demo.ansi - else - cat demo.ansi && exit 1 - fi - ''; + checkPhase = + '' + patchShebangs . + mkdir empty_lore + touch empty_lore/{execers,wrappers} + export EMPTY_LORE=$PWD/empty_lore + printf "\033[33m============================= resholve test suite ===================================\033[0m\n" > test.ansi + if ./test.sh &>> test.ansi; then + cat test.ansi + else + cat test.ansi && exit 1 + fi + '' + + lib.optionalString runDemo '' + printf "\033[33m============================= resholve demo ===================================\033[0m\n" > demo.ansi + if ./demo &>> demo.ansi; then + cat demo.ansi + else + cat demo.ansi && exit 1 + fi + ''; }; # Caution: ci.nix asserts the equality of both of these w/ diff - resholvedScript = resholve.writeScript "resholved-script" { - inputs = [ file ]; - interpreter = "${bash}/bin/bash"; - } '' - echo "Hello" - file . - ''; - resholvedScriptBin = resholve.writeScriptBin "resholved-script-bin" { - inputs = [ file ]; - interpreter = "${bash}/bin/bash"; - } '' - echo "Hello" - file . - ''; - resholvedScriptBinNone = resholve.writeScriptBin "resholved-script-bin" { - inputs = [ file ]; - interpreter = "none"; - } '' - echo "Hello" - file . - ''; + resholvedScript = + resholve.writeScript "resholved-script" + { + inputs = [ file ]; + interpreter = "${bash}/bin/bash"; + } + '' + echo "Hello" + file . + ''; + resholvedScriptBin = + resholve.writeScriptBin "resholved-script-bin" + { + inputs = [ file ]; + interpreter = "${bash}/bin/bash"; + } + '' + echo "Hello" + file . + ''; + resholvedScriptBinNone = + resholve.writeScriptBin "resholved-script-bin" + { + inputs = [ file ]; + interpreter = "none"; + } + '' + echo "Hello" + file . + ''; # spot-check lore overrides - loreOverrides = resholve.writeScriptBin "verify-overrides" { - inputs = [ - coreutils - esh - getconf - libarchive - locale - mount - ncurses - procps - ps - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - nixos-install-tools - nixos-rebuild - ]; - interpreter = "none"; - execer = [ - "cannot:${esh}/bin/esh" - ]; - fix = { - mount = true; - }; - } ('' - env b2sum fake args - b2sum fake args - esh fake args - getconf fake args - bsdtar fake args - locale fake args - mount fake args - reset fake args - tput fake args - tset fake args - ps fake args - top fake args - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - nixos-generate-config fake args - nixos-rebuild fake args - ''); + loreOverrides = + resholve.writeScriptBin "verify-overrides" + { + inputs = + [ + coreutils + esh + getconf + libarchive + locale + mount + ncurses + procps + ps + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + nixos-install-tools + nixos-rebuild + ]; + interpreter = "none"; + execer = [ + "cannot:${esh}/bin/esh" + ]; + fix = { + mount = true; + }; + } + ( + '' + env b2sum fake args + b2sum fake args + esh fake args + getconf fake args + bsdtar fake args + locale fake args + mount fake args + reset fake args + tput fake args + tset fake args + ps fake args + top fake args + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + nixos-generate-config fake args + nixos-rebuild fake args + '' + ); # ensure known consumers in nixpkgs keep working inherit aaxtomp3; @@ -279,7 +337,8 @@ rec { inherit shunit2; inherit xdg-utils; inherit yadm; -} // lib.optionalAttrs stdenv.hostPlatform.isLinux { +} +// lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit arch-install-scripts; inherit dgoss; inherit rancid; @@ -287,6 +346,10 @@ rec { inherit wgnord; inherit wsl-vpnkit; inherit zxfer; -} // lib.optionalAttrs (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64)) { - inherit s0ix-selftest-tool; } +// + lib.optionalAttrs + (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64)) + { + inherit s0ix-selftest-tool; + } diff --git a/pkgs/development/misc/vc4/newlib.nix b/pkgs/development/misc/vc4/newlib.nix index 48efd317d4c26..f1012186b1c3f 100644 --- a/pkgs/development/misc/vc4/newlib.nix +++ b/pkgs/development/misc/vc4/newlib.nix @@ -1,4 +1,12 @@ -{ stdenv, texinfo, flex, bison, fetchFromGitHub, stdenvNoLibc, buildPackages }: +{ + stdenv, + texinfo, + flex, + bison, + fetchFromGitHub, + stdenvNoLibc, + buildPackages, +}: stdenvNoLibc.mkDerivation { name = "newlib"; @@ -12,7 +20,11 @@ stdenvNoLibc.mkDerivation { configurePlatforms = [ "target" ]; enableParallelBuilding = true; - nativeBuildInputs = [ texinfo flex bison ]; + nativeBuildInputs = [ + texinfo + flex + bison + ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; # newlib expects CC to build for build platform, not host platform preConfigure = '' diff --git a/pkgs/development/mobile/adb-sync/default.nix b/pkgs/development/mobile/adb-sync/default.nix index 8233bd9998490..d254c7e2a5e1b 100644 --- a/pkgs/development/mobile/adb-sync/default.nix +++ b/pkgs/development/mobile/adb-sync/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, python3, platform-tools, makeWrapper -, socat, go-mtpfs, adbfs-rootless +{ + lib, + stdenv, + fetchFromGitHub, + python3, + platform-tools, + makeWrapper, + socat, + go-mtpfs, + adbfs-rootless, }: stdenv.mkDerivation { @@ -18,26 +26,33 @@ stdenv.mkDerivation { dontBuild = true; - installPhase = let - dependencies = lib.makeBinPath [ platform-tools socat go-mtpfs adbfs-rootless ]; - in '' - runHook preInstall + installPhase = + let + dependencies = lib.makeBinPath [ + platform-tools + socat + go-mtpfs + adbfs-rootless + ]; + in + '' + runHook preInstall - mkdir -p $out/bin - cp adb-{sync,channel} $out/bin + mkdir -p $out/bin + cp adb-{sync,channel} $out/bin - wrapProgram $out/bin/adb-sync --suffix PATH : "${dependencies}" - wrapProgram $out/bin/adb-channel --suffix PATH : "${dependencies}" + wrapProgram $out/bin/adb-sync --suffix PATH : "${dependencies}" + wrapProgram $out/bin/adb-channel --suffix PATH : "${dependencies}" - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { description = "Tool to synchronise files between a PC and an Android devices using ADB (Android Debug Bridge)"; homepage = "https://github.com/google/adb-sync"; license = licenses.asl20; platforms = platforms.unix; - hydraPlatforms = []; + hydraPlatforms = [ ]; maintainers = with maintainers; [ scolobb ]; }; } diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix index 18e59f0bd0d60..2be0ac5678214 100644 --- a/pkgs/development/mobile/androidenv/build-app.nix +++ b/pkgs/development/mobile/androidenv/build-app.nix @@ -1,12 +1,27 @@ -{ composeAndroidPackages, stdenv, lib, ant, jdk, gnumake, gawk }: +{ + composeAndroidPackages, + stdenv, + lib, + ant, + jdk, + gnumake, + gawk, +}: -{ name -, release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null -, antFlags ? "" -, ... +{ + name, + release ? false, + keyStore ? null, + keyAlias ? null, + keyStorePassword ? null, + keyAliasPassword ? null, + antFlags ? "", + ... }@args: -assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null; +assert + release + -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null; let androidSdkFormalArgs = lib.functionArgs composeAndroidPackages; @@ -15,34 +30,40 @@ let extraArgs = removeAttrs args ([ "name" ] ++ builtins.attrNames androidSdkFormalArgs); in -stdenv.mkDerivation ({ - name = lib.replaceStrings [" "] [""] name; # Android APKs may contain white spaces in their names, but Nix store paths cannot - ANDROID_HOME = "${androidsdk}/libexec/android-sdk"; - buildInputs = [ jdk ant ]; - buildPhase = '' - ${lib.optionalString release '' - # Provide key singing attributes - ( echo "key.store=${keyStore}" - echo "key.alias=${keyAlias}" - echo "key.store.password=${keyStorePassword}" - echo "key.alias.password=${keyAliasPassword}" - ) >> ant.properties - ''} +stdenv.mkDerivation ( + { + name = lib.replaceStrings [ " " ] [ "" ] name; # Android APKs may contain white spaces in their names, but Nix store paths cannot + ANDROID_HOME = "${androidsdk}/libexec/android-sdk"; + buildInputs = [ + jdk + ant + ]; + buildPhase = '' + ${lib.optionalString release '' + # Provide key singing attributes + ( echo "key.store=${keyStore}" + echo "key.alias=${keyAlias}" + echo "key.store.password=${keyStorePassword}" + echo "key.alias.password=${keyAliasPassword}" + ) >> ant.properties + ''} - export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it. + export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it. - ${lib.optionalString (args ? includeNDK && args.includeNDK) '' - export GNUMAKE=${gnumake}/bin/make - export NDK_HOST_AWK=${gawk}/bin/gawk - ${androidsdk}/libexec/android-sdk/ndk-bundle/ndk-build - ''} - ant ${antFlags} ${if release then "release" else "debug"} - ''; - installPhase = '' - mkdir -p $out - mv bin/*-${if release then "release" else "debug"}.apk $out + ${lib.optionalString (args ? includeNDK && args.includeNDK) '' + export GNUMAKE=${gnumake}/bin/make + export NDK_HOST_AWK=${gawk}/bin/gawk + ${androidsdk}/libexec/android-sdk/ndk-bundle/ndk-build + ''} + ant ${antFlags} ${if release then "release" else "debug"} + ''; + installPhase = '' + mkdir -p $out + mv bin/*-${if release then "release" else "debug"}.apk $out - mkdir -p $out/nix-support - echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products - ''; -} // extraArgs) + mkdir -p $out/nix-support + echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products + ''; + } + // extraArgs +) diff --git a/pkgs/development/mobile/androidenv/cmdline-tools.nix b/pkgs/development/mobile/androidenv/cmdline-tools.nix index b2d89ed741b5c..d3935d547b04f 100644 --- a/pkgs/development/mobile/androidenv/cmdline-tools.nix +++ b/pkgs/development/mobile/androidenv/cmdline-tools.nix @@ -1,10 +1,21 @@ -{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, stdenv, postInstall}: +{ + deployAndroidPackage, + lib, + package, + autoPatchelfHook, + makeWrapper, + os, + pkgs, + stdenv, + postInstall, +}: deployAndroidPackage { name = "androidsdk"; inherit package os; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; patchInstructions = '' ${lib.optionalString (os == "linux") '' diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index fbababf9af2c0..2f4efd5b4e1fb 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -1,5 +1,8 @@ -{ config, pkgs ? import {} -, licenseAccepted ? config.android_sdk.accept_license or (builtins.getEnv "NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE" == "1") +{ + config, + pkgs ? import { }, + licenseAccepted ? + config.android_sdk.accept_license or (builtins.getEnv "NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE" == "1"), }: rec { @@ -16,17 +19,29 @@ rec { }; androidPkgs = composeAndroidPackages { - platformVersions = [ "28" "29" "30" "31" "32" "33" "34" "35" ]; + platformVersions = [ + "28" + "29" + "30" + "31" + "32" + "33" + "34" + "35" + ]; includeEmulator = true; includeSystemImages = true; includeNDK = true; }; - test-suite = pkgs.callPackage ./test-suite.nix {}; + test-suite = pkgs.callPackage ./test-suite.nix { }; meta = with pkgs.lib; { description = "Android SDK & sdkmanager"; homepage = "https://developer.android.com/tools/sdkmanager"; - maintainers = with maintainers; [ numinit hadilq ]; + maintainers = with maintainers; [ + numinit + hadilq + ]; }; } diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index 94bf0084ed27b..9d568a765d3a8 100644 --- a/pkgs/development/mobile/androidenv/emulate-app.nix +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -1,40 +1,49 @@ -{ composeAndroidPackages, stdenv, lib, runtimeShell }: -{ name -, app ? null -, platformVersion ? "35" -, abiVersion ? "x86" -, systemImageType ? "default" -, enableGPU ? false # Enable GPU acceleration. It's deprecated, instead use `configOptions` below. -, configOptions ? ( +{ + composeAndroidPackages, + stdenv, + lib, + runtimeShell, +}: +{ + name, + app ? null, + platformVersion ? "35", + abiVersion ? "x86", + systemImageType ? "default", + enableGPU ? false, # Enable GPU acceleration. It's deprecated, instead use `configOptions` below. + configOptions ? ( # List of options to add in config.ini - lib.optionalAttrs enableGPU - (lib.warn - "enableGPU argument is deprecated and will be removed; use configOptions instead" - { "hw.gpu.enabled" = "yes"; } - ) - ) -, extraAVDFiles ? [ ] -, package ? null -, activity ? null -, androidUserHome ? null -, avdHomeDir ? null # Support old variable with non-standard naming! -, androidAvdHome ? avdHomeDir -, deviceName ? "device" -, sdkExtraArgs ? { } -, androidAvdFlags ? null -, androidEmulatorFlags ? null + lib.optionalAttrs enableGPU ( + lib.warn "enableGPU argument is deprecated and will be removed; use configOptions instead" { + "hw.gpu.enabled" = "yes"; + } + ) + ), + extraAVDFiles ? [ ], + package ? null, + activity ? null, + androidUserHome ? null, + avdHomeDir ? null, # Support old variable with non-standard naming! + androidAvdHome ? avdHomeDir, + deviceName ? "device", + sdkExtraArgs ? { }, + androidAvdFlags ? null, + androidEmulatorFlags ? null, }: let - sdkArgs = { - includeEmulator = true; - includeSystemImages = true; - } // sdkExtraArgs // { - cmdLineToolsVersion = "8.0"; - platformVersions = [ platformVersion ]; - systemImageTypes = [ systemImageType ]; - abiVersions = [ abiVersion ]; - }; + sdkArgs = + { + includeEmulator = true; + includeSystemImages = true; + } + // sdkExtraArgs + // { + cmdLineToolsVersion = "8.0"; + platformVersions = [ platformVersion ]; + systemImageTypes = [ systemImageType ]; + abiVersions = [ abiVersion ]; + }; sdk = (composeAndroidPackages sdkArgs).androidsdk; in @@ -53,20 +62,30 @@ stdenv.mkDerivation { export TMPDIR=/tmp fi - ${if androidUserHome == null then '' - # Store the virtual devices somewhere else, instead of polluting a user's HOME directory - export ANDROID_USER_HOME=$(mktemp -d $TMPDIR/nix-android-user-home-XXXX) - '' else '' - mkdir -p "${androidUserHome}" - export ANDROID_USER_HOME="${androidUserHome}" - ''} - - ${if androidAvdHome == null then '' - export ANDROID_AVD_HOME=$ANDROID_USER_HOME/avd - '' else '' - mkdir -p "${androidAvdHome}" - export ANDROID_AVD_HOME="${androidAvdHome}" - ''} + ${ + if androidUserHome == null then + '' + # Store the virtual devices somewhere else, instead of polluting a user's HOME directory + export ANDROID_USER_HOME=$(mktemp -d $TMPDIR/nix-android-user-home-XXXX) + '' + else + '' + mkdir -p "${androidUserHome}" + export ANDROID_USER_HOME="${androidUserHome}" + '' + } + + ${ + if androidAvdHome == null then + '' + export ANDROID_AVD_HOME=$ANDROID_USER_HOME/avd + '' + else + '' + mkdir -p "${androidAvdHome}" + export ANDROID_AVD_HOME="${androidAvdHome}" + '' + } # We need to specify the location of the Android SDK root folder export ANDROID_SDK_ROOT=${sdk}/libexec/android-sdk @@ -169,7 +188,7 @@ stdenv.mkDerivation { # Start the application ${lib.optionalString (package != null && activity != null) '' - ${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} + ${sdk}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} ''} ''} EOF diff --git a/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix b/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix index 0a710e45843cd..2ebd0a72e42c6 100644 --- a/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix +++ b/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix @@ -3,14 +3,15 @@ # If you copy this example out of nixpkgs, use these lines instead of the next. # This example pins nixpkgs: https://nix.dev/tutorials/first-steps/towards-reproducibility-pinning-nixpkgs.html - /*nixpkgsSource ? (builtins.fetchTarball { - name = "nixpkgs-20.09"; - url = "https://github.com/NixOS/nixpkgs/archive/20.09.tar.gz"; - sha256 = "1wg61h4gndm3vcprdcg7rc4s1v3jkm5xd7lw8r2f67w502y94gcy"; - }), - pkgs ? import nixpkgsSource { - config.allowUnfree = true; - }, + /* + nixpkgsSource ? (builtins.fetchTarball { + name = "nixpkgs-20.09"; + url = "https://github.com/NixOS/nixpkgs/archive/20.09.tar.gz"; + sha256 = "1wg61h4gndm3vcprdcg7rc4s1v3jkm5xd7lw8r2f67w502y94gcy"; + }), + pkgs ? import nixpkgsSource { + config.allowUnfree = true; + }, */ # If you want to use the in-tree version of nixpkgs: @@ -18,7 +19,7 @@ config.allowUnfree = true; }, - config ? pkgs.config + config ? pkgs.config, }: # Copy this file to your Android project. @@ -32,16 +33,18 @@ let }; # If you copy this example out of nixpkgs, something like this will work: - /*androidEnvNixpkgs = fetchTarball { - name = "androidenv"; - url = "https://github.com/NixOS/nixpkgs/archive/.tar.gz"; - sha256 = ""; - }; - - androidEnv = pkgs.callPackage "${androidEnvNixpkgs}/pkgs/development/mobile/androidenv" { - inherit config pkgs; - licenseAccepted = true; - };*/ + /* + androidEnvNixpkgs = fetchTarball { + name = "androidenv"; + url = "https://github.com/NixOS/nixpkgs/archive/.tar.gz"; + sha256 = ""; + }; + + androidEnv = pkgs.callPackage "${androidEnvNixpkgs}/pkgs/development/mobile/androidenv" { + inherit config pkgs; + licenseAccepted = true; + }; + */ # Otherwise, just use the in-tree androidenv: androidEnv = pkgs.callPackage ./.. { @@ -78,7 +81,9 @@ let androidComposition = androidEnv.composeAndroidPackages sdkArgs; androidEmulator = androidEnv.emulateApp { name = "android-sdk-emulator-demo"; - configOptions = { "hw.keyboard" = "yes"; }; + configOptions = { + "hw.keyboard" = "yes"; + }; sdkExtraArgs = sdkArgs; }; androidSdk = androidComposition.androidsdk; @@ -87,7 +92,13 @@ let in pkgs.mkShell rec { name = "androidenv-demo"; - packages = [ androidSdk platformTools androidEmulator jdk pkgs.android-studio ]; + packages = [ + androidSdk + platformTools + androidEmulator + jdk + pkgs.android-studio + ]; LANG = "C.UTF-8"; LC_ALL = "C.UTF-8"; @@ -108,77 +119,94 @@ pkgs.mkShell rec { passthru.tests = { - shell-with-emulator-sdkmanager-packages-test = pkgs.runCommand "shell-with-emulator-sdkmanager-packages-test" { - nativeBuildInputs = [ androidSdk jdk ]; - } '' - output="$(sdkmanager --list)" - installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') - echo "installed_packages_section: ''${installed_packages_section}" - - packages=( - "build-tools;35.0.0" "cmdline-tools;13.0" \ - "emulator" "patcher;v4" "platform-tools" "platforms;android-35" \ - "system-images;android-35;google_apis;x86_64" - ) - - for package in "''${packages[@]}"; do - if [[ ! $installed_packages_section =~ "$package" ]]; then - echo "$package package was not installed." - exit 1 - fi - done - - touch "$out" - ''; - - shell-with-emulator-sdkmanager-excluded-packages-test = pkgs.runCommand "shell-with-emulator-sdkmanager-excluded-packages-test" - { - nativeBuildInputs = [ androidSdk jdk ]; - } '' - output="$(sdkmanager --list)" - installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') - - excluded_packages=( - "platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" \ - "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" \ - "platforms;android-31" "platforms;android-32" "platforms;android-33" "platforms;android-34" \ - "sources;android-23" "sources;android-24" "sources;android-25" "sources;android-26" \ - "sources;android-27" "sources;android-28" "sources;android-29" "sources;android-30" \ - "sources;android-31" "sources;android-32" "sources;android-33" "sources;android-34" \ - "system-images;android-28" \ - "system-images;android-29" \ - "system-images;android-30" \ - "system-images;android-31" \ - "system-images;android-32" \ - "system-images;android-33" \ - "ndk" - ) - - for package in "''${excluded_packages[@]}"; do - if [[ $installed_packages_section =~ "$package" ]]; then - echo "$package package was installed, while it was excluded!" - exit 1 - fi - done - - touch "$out" - ''; - - shell-with-emulator-avdmanager-create-avd-test = pkgs.runCommand "shell-with-emulator-avdmanager-create-avd-test" { - nativeBuildInputs = [ androidSdk androidEmulator jdk ]; - } '' - avdmanager delete avd -n testAVD || true - echo "" | avdmanager create avd --force --name testAVD --package 'system-images;android-35;google_apis;x86_64' - result=$(avdmanager list avd) - - if [[ ! $result =~ "Name: testAVD" ]]; then - echo "avdmanager couldn't create the avd! The output is :''${result}" - exit 1 - fi - - avdmanager delete avd -n testAVD || true - touch "$out" - ''; + shell-with-emulator-sdkmanager-packages-test = + pkgs.runCommand "shell-with-emulator-sdkmanager-packages-test" + { + nativeBuildInputs = [ + androidSdk + jdk + ]; + } + '' + output="$(sdkmanager --list)" + installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') + echo "installed_packages_section: ''${installed_packages_section}" + + packages=( + "build-tools;35.0.0" "cmdline-tools;13.0" \ + "emulator" "patcher;v4" "platform-tools" "platforms;android-35" \ + "system-images;android-35;google_apis;x86_64" + ) + + for package in "''${packages[@]}"; do + if [[ ! $installed_packages_section =~ "$package" ]]; then + echo "$package package was not installed." + exit 1 + fi + done + + touch "$out" + ''; + + shell-with-emulator-sdkmanager-excluded-packages-test = + pkgs.runCommand "shell-with-emulator-sdkmanager-excluded-packages-test" + { + nativeBuildInputs = [ + androidSdk + jdk + ]; + } + '' + output="$(sdkmanager --list)" + installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') + + excluded_packages=( + "platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" \ + "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" \ + "platforms;android-31" "platforms;android-32" "platforms;android-33" "platforms;android-34" \ + "sources;android-23" "sources;android-24" "sources;android-25" "sources;android-26" \ + "sources;android-27" "sources;android-28" "sources;android-29" "sources;android-30" \ + "sources;android-31" "sources;android-32" "sources;android-33" "sources;android-34" \ + "system-images;android-28" \ + "system-images;android-29" \ + "system-images;android-30" \ + "system-images;android-31" \ + "system-images;android-32" \ + "system-images;android-33" \ + "ndk" + ) + + for package in "''${excluded_packages[@]}"; do + if [[ $installed_packages_section =~ "$package" ]]; then + echo "$package package was installed, while it was excluded!" + exit 1 + fi + done + + touch "$out" + ''; + + shell-with-emulator-avdmanager-create-avd-test = + pkgs.runCommand "shell-with-emulator-avdmanager-create-avd-test" + { + nativeBuildInputs = [ + androidSdk + androidEmulator + jdk + ]; + } + '' + avdmanager delete avd -n testAVD || true + echo "" | avdmanager create avd --force --name testAVD --package 'system-images;android-35;google_apis;x86_64' + result=$(avdmanager list avd) + + if [[ ! $result =~ "Name: testAVD" ]]; then + echo "avdmanager couldn't create the avd! The output is :''${result}" + exit 1 + fi + + avdmanager delete avd -n testAVD || true + touch "$out" + ''; }; } - diff --git a/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix b/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix index 25b90e6d21a09..d43592c1b7e25 100644 --- a/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix +++ b/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix @@ -3,7 +3,8 @@ # If you copy this example out of nixpkgs, use these lines instead of the next. # This example pins nixpkgs: https://nix.dev/tutorials/first-steps/towards-reproducibility-pinning-nixpkgs.html - /*nixpkgsSource ? (builtins.fetchTarball { + /* + nixpkgsSource ? (builtins.fetchTarball { name = "nixpkgs-20.09"; url = "https://github.com/NixOS/nixpkgs/archive/20.09.tar.gz"; sha256 = "1wg61h4gndm3vcprdcg7rc4s1v3jkm5xd7lw8r2f67w502y94gcy"; @@ -16,8 +17,8 @@ # If you want to use the in-tree version of nixpkgs: pkgs ? import ../../../../.. { config.allowUnfree = true; - } -, config ? pkgs.config + }, + config ? pkgs.config, }: # Copy this file to your Android project. @@ -34,7 +35,8 @@ let }; # If you copy this example out of nixpkgs, something like this will work: - /*androidEnvNixpkgs = fetchTarball { + /* + androidEnvNixpkgs = fetchTarball { name = "androidenv"; url = "https://github.com/NixOS/nixpkgs/archive/.tar.gz"; sha256 = ""; @@ -43,7 +45,8 @@ let androidEnv = pkgs.callPackage "${androidEnvNixpkgs}/pkgs/development/mobile/androidenv" { inherit config pkgs; licenseAccepted = true; - };*/ + }; + */ # Otherwise, just use the in-tree androidenv: androidEnv = pkgs.callPackage ./.. { @@ -85,7 +88,12 @@ let in pkgs.mkShell rec { name = "androidenv-example-without-emulator-demo"; - packages = [ androidSdk platformTools jdk pkgs.android-studio ]; + packages = [ + androidSdk + platformTools + jdk + pkgs.android-studio + ]; LANG = "C.UTF-8"; LC_ALL = "C.UTF-8"; @@ -104,49 +112,58 @@ pkgs.mkShell rec { passthru.tests = { - shell-without-emulator-sdkmanager-packages-test = pkgs.runCommand "shell-without-emulator-sdkmanager-packages-test" - { - nativeBuildInputs = [ androidSdk jdk ]; - } '' - output="$(sdkmanager --list)" - installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') - echo "installed_packages_section: ''${installed_packages_section}" - - packages=( - "build-tools;35.0.0" "cmdline-tools;13.0" \ - "patcher;v4" "platform-tools" "platforms;android-35" - ) - - for package in "''${packages[@]}"; do - if [[ ! $installed_packages_section =~ "$package" ]]; then - echo "$package package was not installed." - exit 1 - fi - done - - touch "$out" - ''; - - shell-without-emulator-sdkmanager-excluded-packages-test = pkgs.runCommand "shell-without-emulator-sdkmanager-excluded-packages-test" - { - nativeBuildInputs = [ androidSdk jdk ]; - } '' - output="$(sdkmanager --list)" - installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') - - excluded_packages=( - "emulator" "ndk" - ) - - for package in "''${excluded_packages[@]}"; do - if [[ $installed_packages_section =~ "$package" ]]; then - echo "$package package was installed, while it was excluded!" - exit 1 - fi - done - - touch "$out" - ''; + shell-without-emulator-sdkmanager-packages-test = + pkgs.runCommand "shell-without-emulator-sdkmanager-packages-test" + { + nativeBuildInputs = [ + androidSdk + jdk + ]; + } + '' + output="$(sdkmanager --list)" + installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') + echo "installed_packages_section: ''${installed_packages_section}" + + packages=( + "build-tools;35.0.0" "cmdline-tools;13.0" \ + "patcher;v4" "platform-tools" "platforms;android-35" + ) + + for package in "''${packages[@]}"; do + if [[ ! $installed_packages_section =~ "$package" ]]; then + echo "$package package was not installed." + exit 1 + fi + done + + touch "$out" + ''; + + shell-without-emulator-sdkmanager-excluded-packages-test = + pkgs.runCommand "shell-without-emulator-sdkmanager-excluded-packages-test" + { + nativeBuildInputs = [ + androidSdk + jdk + ]; + } + '' + output="$(sdkmanager --list)" + installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') + + excluded_packages=( + "emulator" "ndk" + ) + + for package in "''${excluded_packages[@]}"; do + if [[ $installed_packages_section =~ "$package" ]]; then + echo "$package package was installed, while it was excluded!" + exit 1 + fi + done + + touch "$out" + ''; }; } - diff --git a/pkgs/development/mobile/androidenv/patcher.nix b/pkgs/development/mobile/androidenv/patcher.nix index f525033d236a7..e52013f9c3234 100644 --- a/pkgs/development/mobile/androidenv/patcher.nix +++ b/pkgs/development/mobile/androidenv/patcher.nix @@ -1,4 +1,11 @@ -{deployAndroidPackage, lib, package, os, autoPatchelfHook, stdenv}: +{ + deployAndroidPackage, + lib, + package, + os, + autoPatchelfHook, + stdenv, +}: deployAndroidPackage { inherit package os; diff --git a/pkgs/development/mobile/androidenv/test-suite.nix b/pkgs/development/mobile/androidenv/test-suite.nix index c3a8cc64f0f4b..0b6984366191f 100644 --- a/pkgs/development/mobile/androidenv/test-suite.nix +++ b/pkgs/development/mobile/androidenv/test-suite.nix @@ -1,11 +1,15 @@ -{ callPackage, lib, stdenv }: +{ + callPackage, + lib, + stdenv, +}: let examples-shell = callPackage ./examples/shell.nix { }; examples-shell-with-emulator = callPackage ./examples/shell-with-emulator.nix { }; examples-shell-without-emulator = callPackage ./examples/shell-without-emulator.nix { }; - all-tests = examples-shell.passthru.tests // - (examples-shell-with-emulator.passthru.tests // - examples-shell-without-emulator.passthru.tests); + all-tests = + examples-shell.passthru.tests + // (examples-shell-with-emulator.passthru.tests // examples-shell-without-emulator.passthru.tests); in stdenv.mkDerivation { name = "androidenv-test-suite"; diff --git a/pkgs/development/mobile/fdroidcl/default.nix b/pkgs/development/mobile/fdroidcl/default.nix index 9b23443a3a2ad..60bccaef812ae 100644 --- a/pkgs/development/mobile/fdroidcl/default.nix +++ b/pkgs/development/mobile/fdroidcl/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, android-tools +{ + lib, + buildGoModule, + fetchFromGitHub, + android-tools, }: buildGoModule rec { diff --git a/pkgs/development/mobile/webos/cmake-modules.nix b/pkgs/development/mobile/webos/cmake-modules.nix index 81ea134dd29c1..be7818a9cab51 100644 --- a/pkgs/development/mobile/webos/cmake-modules.nix +++ b/pkgs/development/mobile/webos/cmake-modules.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "cmake-modules-webos"; diff --git a/pkgs/development/mobile/webos/novacom.nix b/pkgs/development/mobile/webos/novacom.nix index e62808ee9b7e6..9cd3fb152e31a 100644 --- a/pkgs/development/mobile/webos/novacom.nix +++ b/pkgs/development/mobile/webos/novacom.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, webos, cmake, pkg-config }: +{ + lib, + stdenv, + fetchFromGitHub, + webos, + cmake, + pkg-config, +}: stdenv.mkDerivation rec { pname = "novacom"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "12s6g7l20kakyjlhqpli496miv2kfsdp17lcwhdrzdxvxl6hnf4n"; }; - nativeBuildInputs = [ cmake pkg-config webos.cmake-modules ]; + nativeBuildInputs = [ + cmake + pkg-config + webos.cmake-modules + ]; postInstall = '' install -Dm755 -t $out/bin ../scripts/novaterm diff --git a/pkgs/development/mobile/webos/novacomd.nix b/pkgs/development/mobile/webos/novacomd.nix index 7095dbaf9dfaa..617ec9c836518 100644 --- a/pkgs/development/mobile/webos/novacomd.nix +++ b/pkgs/development/mobile/webos/novacomd.nix @@ -1,8 +1,14 @@ -{ lib, stdenv, -fetchFromGitHub, fetchpatch, -webos, cmake, pkg-config, -nixosTests, -libusb-compat-0_1 }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + webos, + cmake, + pkg-config, + nixosTests, + libusb-compat-0_1, +}: stdenv.mkDerivation rec { pname = "novacomd"; @@ -26,7 +32,11 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ cmake pkg-config webos.cmake-modules ]; + nativeBuildInputs = [ + cmake + pkg-config + webos.cmake-modules + ]; buildInputs = [ libusb-compat-0_1 ]; diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix index 2d9a295b86abf..d77c8c85eac1f 100644 --- a/pkgs/development/mobile/xcodeenv/build-app.nix +++ b/pkgs/development/mobile/xcodeenv/build-app.nix @@ -1,28 +1,40 @@ -{stdenv, lib, composeXcodeWrapper}: -{ name -, src -, sdkVersion ? "13.1" -, target ? null -, configuration ? null -, scheme ? null -, sdk ? null -, xcodeFlags ? "" -, release ? false -, certificateFile ? null -, certificatePassword ? null -, provisioningProfile ? null -, codeSignIdentity ? null -, signMethod ? null -, generateIPA ? false -, generateXCArchive ? false -, enableWirelessDistribution ? false -, installURL ? null -, bundleId ? null -, appVersion ? null -, ... +{ + stdenv, + lib, + composeXcodeWrapper, +}: +{ + name, + src, + sdkVersion ? "13.1", + target ? null, + configuration ? null, + scheme ? null, + sdk ? null, + xcodeFlags ? "", + release ? false, + certificateFile ? null, + certificatePassword ? null, + provisioningProfile ? null, + codeSignIdentity ? null, + signMethod ? null, + generateIPA ? false, + generateXCArchive ? false, + enableWirelessDistribution ? false, + installURL ? null, + bundleId ? null, + appVersion ? null, + ... }@args: -assert release -> certificateFile != null && certificatePassword != null && provisioningProfile != null && signMethod != null && codeSignIdentity != null; +assert + release + -> + certificateFile != null + && certificatePassword != null + && provisioningProfile != null + && signMethod != null + && codeSignIdentity != null; assert enableWirelessDistribution -> installURL != null && bundleId != null && appVersion != null; let @@ -30,15 +42,14 @@ let _target = if target == null then name else target; - _configuration = if configuration == null - then - if release then "Release" else "Debug" - else configuration; + _configuration = + if configuration == null then if release then "Release" else "Debug" else configuration; - _sdk = if sdk == null - then + _sdk = + if sdk == null then if release then "iphoneos" + sdkVersion else "iphonesimulator" + sdkVersion - else sdk; + else + sdk; # The following is to prevent repetition deleteKeychain = '' @@ -50,101 +61,126 @@ let xcodewrapperArgs = builtins.intersectAttrs xcodewrapperFormalArgs args; xcodewrapper = composeXcodeWrapper xcodewrapperArgs; - extraArgs = removeAttrs args ([ "name" "scheme" "xcodeFlags" "release" "certificateFile" "certificatePassword" "provisioningProfile" "signMethod" "generateIPA" "generateXCArchive" "enableWirelessDistribution" "installURL" "bundleId" "version" ] ++ builtins.attrNames xcodewrapperFormalArgs); + extraArgs = removeAttrs args ( + [ + "name" + "scheme" + "xcodeFlags" + "release" + "certificateFile" + "certificatePassword" + "provisioningProfile" + "signMethod" + "generateIPA" + "generateXCArchive" + "enableWirelessDistribution" + "installURL" + "bundleId" + "version" + ] + ++ builtins.attrNames xcodewrapperFormalArgs + ); in -stdenv.mkDerivation ({ - name = lib.replaceStrings [" "] [""] name; # iOS app names can contain spaces, but in the Nix store this is not allowed - buildPhase = '' - # Be sure that the Xcode wrapper has priority over everything else. - # When using buildInputs this does not seem to be the case. - export PATH=${xcodewrapper}/bin:$PATH - - ${lib.optionalString release '' - export HOME=/Users/$(whoami) - keychainName="$(basename $out)" - - # Create a keychain - security create-keychain -p "" $keychainName - security default-keychain -s $keychainName - security unlock-keychain -p "" $keychainName - - # Import the certificate into the keychain - security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A - - # Grant the codesign utility permissions to read from the keychain - security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName - - # Determine provisioning ID - PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}") - - if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ] - then - # Copy provisioning profile into the home directory - mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" - cp ${provisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" - fi - - # Check whether the identity can be found - security find-identity -p codesigning $keychainName - ''} - - # Do the building - export LD=/usr/bin/clang # To avoid problem with -isysroot parameter that is unrecognized by the stock ld. Comparison with an impure build shows that it uses clang instead. Ugly, but it works - - xcodebuild -target ${_target} -configuration ${_configuration} ${lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${lib.optionalString (generateIPA || generateXCArchive) "-archivePath \"${name}.xcarchive\" archive"} ${lib.optionalString release ''PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"''} ${xcodeFlags} - - ${lib.optionalString release '' - ${lib.optionalString generateIPA '' - # Create export plist file - cat > "${name}.plist" < - - - - signingCertificate - ${codeSignIdentity} - provisioningProfiles - - ${bundleId} - $PROVISIONING_PROFILE - - signingStyle - manual - method - ${signMethod} - ${lib.optionalString (signMethod == "enterprise" || signMethod == "ad-hoc") '' - compileBitcode - - ''} - - - EOF - - # Produce an IPA file - xcodebuild -exportArchive -archivePath "${name}.xcarchive" -exportOptionsPlist "${name}.plist" -exportPath $out - - # Add IPA to Hydra build products - mkdir -p $out/nix-support - echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products - - ${lib.optionalString enableWirelessDistribution '' - # Add another hacky build product that enables wireless adhoc installations - appname="$(basename "$(echo $out/*.ipa)" .ipa)" - sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&version=${appVersion}\&title=$appname|" ${./install.html.template} > $out/''${appname}.html - echo "doc install \"$out/''${appname}.html\"" >> $out/nix-support/hydra-build-products - ''} - ''} - ${lib.optionalString generateXCArchive '' - mkdir -p $out - mv "${name}.xcarchive" $out +stdenv.mkDerivation ( + { + name = lib.replaceStrings [ " " ] [ "" ] name; # iOS app names can contain spaces, but in the Nix store this is not allowed + buildPhase = '' + # Be sure that the Xcode wrapper has priority over everything else. + # When using buildInputs this does not seem to be the case. + export PATH=${xcodewrapper}/bin:$PATH + + ${lib.optionalString release '' + export HOME=/Users/$(whoami) + keychainName="$(basename $out)" + + # Create a keychain + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName + + # Import the certificate into the keychain + security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A + + # Grant the codesign utility permissions to read from the keychain + security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName + + # Determine provisioning ID + PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}") + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ] + then + # Copy provisioning profile into the home directory + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${provisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" + fi + + # Check whether the identity can be found + security find-identity -p codesigning $keychainName ''} - # Delete our temp keychain - ${deleteKeychain} - ''} - ''; + # Do the building + export LD=/usr/bin/clang # To avoid problem with -isysroot parameter that is unrecognized by the stock ld. Comparison with an impure build shows that it uses clang instead. Ugly, but it works + + xcodebuild -target ${_target} -configuration ${_configuration} ${ + lib.optionalString (scheme != null) "-scheme ${scheme}" + } -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${ + lib.optionalString (generateIPA || generateXCArchive) "-archivePath \"${name}.xcarchive\" archive" + } ${lib.optionalString release ''PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"''} ${xcodeFlags} + + ${lib.optionalString release '' + ${lib.optionalString generateIPA '' + # Create export plist file + cat > "${name}.plist" < + + + + signingCertificate + ${codeSignIdentity} + provisioningProfiles + + ${bundleId} + $PROVISIONING_PROFILE + + signingStyle + manual + method + ${signMethod} + ${lib.optionalString (signMethod == "enterprise" || signMethod == "ad-hoc") '' + compileBitcode + + ''} + + + EOF + + # Produce an IPA file + xcodebuild -exportArchive -archivePath "${name}.xcarchive" -exportOptionsPlist "${name}.plist" -exportPath $out + + # Add IPA to Hydra build products + mkdir -p $out/nix-support + echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products + + ${lib.optionalString enableWirelessDistribution '' + # Add another hacky build product that enables wireless adhoc installations + appname="$(basename "$(echo $out/*.ipa)" .ipa)" + sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&version=${appVersion}\&title=$appname|" ${./install.html.template} > $out/''${appname}.html + echo "doc install \"$out/''${appname}.html\"" >> $out/nix-support/hydra-build-products + ''} + ''} + ${lib.optionalString generateXCArchive '' + mkdir -p $out + mv "${name}.xcarchive" $out + ''} + + # Delete our temp keychain + ${deleteKeychain} + ''} + ''; - failureHook = lib.optionalString release deleteKeychain; + failureHook = lib.optionalString release deleteKeychain; - installPhase = "true"; -} // extraArgs) + installPhase = "true"; + } + // extraArgs +) diff --git a/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix index 13c8e6e818279..c84d9bbefe056 100644 --- a/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix +++ b/pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix @@ -1,7 +1,12 @@ -{ lib, +{ + lib, stdenv, - writeShellScriptBin }: -{ versions ? [ ] , xcodeBaseDir ? "/Applications/Xcode.app" }: + writeShellScriptBin, +}: +{ + versions ? [ ], + xcodeBaseDir ? "/Applications/Xcode.app", +}: assert stdenv.hostPlatform.isDarwin; let @@ -31,11 +36,16 @@ stdenv.mkDerivation { buildCommand = '' mkdir -p $out/bin cd $out/bin - ${if versions == [ ] then '' - ln -s "${xcodebuildPath}" - '' else '' - ln -s "${xcodebuildWrapper}/bin/xcode-select" - ''} + ${ + if versions == [ ] then + '' + ln -s "${xcodebuildPath}" + '' + else + '' + ln -s "${xcodebuildWrapper}/bin/xcode-select" + '' + } ln -s /usr/bin/security ln -s /usr/bin/codesign ln -s /usr/bin/xcrun diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix index ca6806d43b998..d90bad38dfaad 100644 --- a/pkgs/development/mobile/xcodeenv/simulate-app.nix +++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix @@ -1,5 +1,14 @@ -{stdenv, lib, composeXcodeWrapper}: -{name, app ? null, bundleId ? null, ...}@args: +{ + stdenv, + lib, + composeXcodeWrapper, +}: +{ + name, + app ? null, + bundleId ? null, + ... +}@args: assert app != null -> bundleId != null; @@ -9,7 +18,7 @@ let xcodewrapper = composeXcodeWrapper xcodewrapperArgs; in stdenv.mkDerivation { - name = lib.replaceStrings [" "] [""] name; + name = lib.replaceStrings [ " " ] [ "" ] name; buildCommand = '' mkdir -p $out/bin cat > $out/bin/run-test-simulator << "EOF" diff --git a/pkgs/development/node-packages/composition.nix b/pkgs/development/node-packages/composition.nix index 4bd736ddc723c..48d7c07ad193e 100644 --- a/pkgs/development/node-packages/composition.nix +++ b/pkgs/development/node-packages/composition.nix @@ -1,17 +1,34 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{pkgs ? import { +{ + pkgs ? import { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: + }, + system ? builtins.currentSystem, + nodejs ? pkgs."nodejs_18", +}: let nodeEnv = import ./node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; + inherit (pkgs) + stdenv + lib + python2 + runCommand + writeTextFile + writeShellScript + ; inherit pkgs nodejs; libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null; }; in import ./node-packages.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit (pkgs) + fetchurl + nix-gitignore + stdenv + lib + fetchgit + ; inherit nodeEnv; } diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 506dc8a525caa..4257770dc02d2 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -1,23 +1,39 @@ -{ config, pkgs, lib, nodejs, stdenv }: +{ + config, + pkgs, + lib, + nodejs, + stdenv, +}: let - inherit (lib) composeManyExtensions extends makeExtensible mapAttrs; + inherit (lib) + composeManyExtensions + extends + makeExtensible + mapAttrs + ; - nodePackages = final: import ./composition.nix { - inherit pkgs nodejs; - inherit (stdenv.hostPlatform) system; - }; + nodePackages = + final: + import ./composition.nix { + inherit pkgs nodejs; + inherit (stdenv.hostPlatform) system; + }; - mainProgramOverrides = final: prev: - mapAttrs (pkgName: mainProgram: + mainProgramOverrides = + final: prev: + mapAttrs ( + pkgName: mainProgram: prev.${pkgName}.override (oldAttrs: { - meta = oldAttrs.meta // { inherit mainProgram; }; + meta = oldAttrs.meta // { + inherit mainProgram; + }; }) ) (import ./main-programs.nix); - aliases = final: prev: - lib.optionalAttrs config.allowAliases - (import ./aliases.nix pkgs lib final prev); + aliases = + final: prev: lib.optionalAttrs config.allowAliases (import ./aliases.nix pkgs lib final prev); extensions = composeManyExtensions [ aliases @@ -25,4 +41,4 @@ let (import ./overrides.nix { inherit pkgs nodejs; }) ]; in - makeExtensible (extends extensions nodePackages) +makeExtensible (extends extensions nodePackages) diff --git a/pkgs/development/node-packages/package-tests/postcss-cli.nix b/pkgs/development/node-packages/package-tests/postcss-cli.nix index 521509e7f43b7..6c5847ed13529 100644 --- a/pkgs/development/node-packages/package-tests/postcss-cli.nix +++ b/pkgs/development/node-packages/package-tests/postcss-cli.nix @@ -4,42 +4,41 @@ let inherit (postcss-cli) packageName version; in -runCommand "${packageName}-tests" { meta.timeout = 60; } - '' - # get version of installed program and compare with package version - claimed_version="$(${postcss-cli}/bin/postcss --version)" - if [[ "$claimed_version" != "${version}" ]]; then - echo "Error: program version does not match package version ($claimed_version != ${version})" - exit 1 - fi +runCommand "${packageName}-tests" { meta.timeout = 60; } '' + # get version of installed program and compare with package version + claimed_version="$(${postcss-cli}/bin/postcss --version)" + if [[ "$claimed_version" != "${version}" ]]; then + echo "Error: program version does not match package version ($claimed_version != ${version})" + exit 1 + fi - # run basic help command - ${postcss-cli}/bin/postcss --help > /dev/null + # run basic help command + ${postcss-cli}/bin/postcss --help > /dev/null - # basic autoprefixer test - config_dir="$(mktemp -d)" - clean_up() { - rm -rf "$config_dir" + # basic autoprefixer test + config_dir="$(mktemp -d)" + clean_up() { + rm -rf "$config_dir" + } + trap clean_up EXIT + echo " + module.exports = { + plugins: { + 'autoprefixer': { overrideBrowserslist: 'chrome 40' }, + }, } - trap clean_up EXIT - echo " - module.exports = { - plugins: { - 'autoprefixer': { overrideBrowserslist: 'chrome 40' }, - }, - } - " > "$config_dir/postcss.config.js" - input='a{ user-select: none; }' - expected_output='a{ -webkit-user-select: none; user-select: none; }' - actual_output="$(echo $input | ${postcss-cli}/bin/postcss --no-map --config $config_dir)" - if [[ "$actual_output" != "$expected_output" ]]; then - echo "Error: autoprefixer did not output the correct CSS:" - echo "$actual_output" - echo "!=" - echo "$expected_output" - exit 1 - fi + " > "$config_dir/postcss.config.js" + input='a{ user-select: none; }' + expected_output='a{ -webkit-user-select: none; user-select: none; }' + actual_output="$(echo $input | ${postcss-cli}/bin/postcss --no-map --config $config_dir)" + if [[ "$actual_output" != "$expected_output" ]]; then + echo "Error: autoprefixer did not output the correct CSS:" + echo "$actual_output" + echo "!=" + echo "$expected_output" + exit 1 + fi - # needed for Nix to register the command as successful - touch $out - '' + # needed for Nix to register the command as successful + touch $out +'' diff --git a/pkgs/development/node-packages/package-tests/tailwindcss.nix b/pkgs/development/node-packages/package-tests/tailwindcss.nix index 1f986d8bb0966..53930735af4bb 100644 --- a/pkgs/development/node-packages/package-tests/tailwindcss.nix +++ b/pkgs/development/node-packages/package-tests/tailwindcss.nix @@ -1,4 +1,8 @@ -{ runCommand, tailwindcss, nodePackages }: +{ + runCommand, + tailwindcss, + nodePackages, +}: let @@ -27,21 +31,20 @@ let in -runCommand "${packageName}-tests" { meta.timeout = 60; } - '' - mkdir $out +runCommand "${packageName}-tests" { meta.timeout = 60; } '' + mkdir $out - # Ensure CLI runs - ${tailwindcss}/bin/tailwind --help > /dev/null - ${tailwindcss}/bin/tailwindcss --help > /dev/null + # Ensure CLI runs + ${tailwindcss}/bin/tailwind --help > /dev/null + ${tailwindcss}/bin/tailwindcss --help > /dev/null - # Ensure CLI with plugins runs - echo '"ml-4 prose"' > ./with-typography.input - ${tailwindcssWithPlugins}/bin/tailwind \ - --config ${tailwindcssWithPluginsConfig} \ - --input ${tailwindcssInput} \ - --output $out/with-typography.css + # Ensure CLI with plugins runs + echo '"ml-4 prose"' > ./with-typography.input + ${tailwindcssWithPlugins}/bin/tailwind \ + --config ${tailwindcssWithPluginsConfig} \ + --input ${tailwindcssInput} \ + --output $out/with-typography.css - grep -q ml-4 $out/with-typography.css - grep -q prose $out/with-typography.css - '' + grep -q ml-4 $out/with-typography.css + grep -q prose $out/with-typography.css +'' diff --git a/pkgs/development/node-packages/package-tests/vega-lite.nix b/pkgs/development/node-packages/package-tests/vega-lite.nix index 5be356f0683fb..6326053ef0a98 100644 --- a/pkgs/development/node-packages/package-tests/vega-lite.nix +++ b/pkgs/development/node-packages/package-tests/vega-lite.nix @@ -4,21 +4,20 @@ let inherit (vega-lite) packageName version; in -runCommand "${packageName}-tests" { meta.timeout = 60; } - '' - # get version of installed program and compare with package version - claimed_version="$(${vega-lite}/bin/vl2vg --version)" - if [[ "$claimed_version" != "${version}" ]]; then - echo "Error: program version does not match package version ($claimed_version != ${version})" - exit 1 - fi +runCommand "${packageName}-tests" { meta.timeout = 60; } '' + # get version of installed program and compare with package version + claimed_version="$(${vega-lite}/bin/vl2vg --version)" + if [[ "$claimed_version" != "${version}" ]]; then + echo "Error: program version does not match package version ($claimed_version != ${version})" + exit 1 + fi - # run dummy commands - ${vega-lite}/bin/vl2vg --help > /dev/null - ${vega-lite}/bin/vl2svg --help > /dev/null - ${vega-lite}/bin/vl2png --help > /dev/null - ${vega-lite}/bin/vl2pdf --help > /dev/null + # run dummy commands + ${vega-lite}/bin/vl2vg --help > /dev/null + ${vega-lite}/bin/vl2svg --help > /dev/null + ${vega-lite}/bin/vl2png --help > /dev/null + ${vega-lite}/bin/vl2pdf --help > /dev/null - # needed for Nix to register the command as successful - touch $out - '' + # needed for Nix to register the command as successful + touch $out +'' diff --git a/pkgs/development/ocaml-modules/aches/default.nix b/pkgs/development/ocaml-modules/aches/default.nix index c590ecc04bdc8..63f814baf6c2d 100644 --- a/pkgs/development/ocaml-modules/aches/default.nix +++ b/pkgs/development/ocaml-modules/aches/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, ringo }: +{ + lib, + buildDunePackage, + ringo, +}: buildDunePackage { pname = "aches"; diff --git a/pkgs/development/ocaml-modules/aches/lwt.nix b/pkgs/development/ocaml-modules/aches/lwt.nix index bfb57a5a91aa9..e0bc45820ba6e 100644 --- a/pkgs/development/ocaml-modules/aches/lwt.nix +++ b/pkgs/development/ocaml-modules/aches/lwt.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, ringo, aches, lwt }: +{ + lib, + buildDunePackage, + ringo, + aches, + lwt, +}: buildDunePackage { pname = "aches-lwt"; diff --git a/pkgs/development/ocaml-modules/afl-persistent/default.nix b/pkgs/development/ocaml-modules/afl-persistent/default.nix index 04d31c881561c..e1b1c375b332c 100644 --- a/pkgs/development/ocaml-modules/afl-persistent/default.nix +++ b/pkgs/development/ocaml-modules/afl-persistent/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, opaline }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + opaline, +}: stdenv.mkDerivation rec { pname = "afl-persistent"; @@ -6,15 +13,18 @@ stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-${pname}-${version}"; src = fetchFromGitHub { - owner = "stedolan"; - repo = "ocaml-${pname}"; - rev = "v${version}"; + owner = "stedolan"; + repo = "ocaml-${pname}"; + rev = "v${version}"; sha256 = "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i"; }; strictDeps = true; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; # don't run tests in buildPhase # don't overwrite test binary diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix index c921509907b94..dddf79fa741ed 100644 --- a/pkgs/development/ocaml-modules/alcotest/default.nix +++ b/pkgs/development/ocaml-modules/alcotest/default.nix @@ -1,5 +1,14 @@ -{ lib, buildDunePackage, fetchurl -, astring, cmdliner, fmt, re, stdlib-shims, uutf, ocaml-syntax-shims +{ + lib, + buildDunePackage, + fetchurl, + astring, + cmdliner, + fmt, + re, + stdlib-shims, + uutf, + ocaml-syntax-shims, }: buildDunePackage rec { @@ -13,7 +22,14 @@ buildDunePackage rec { nativeBuildInputs = [ ocaml-syntax-shims ]; - propagatedBuildInputs = [ astring cmdliner fmt re stdlib-shims uutf ]; + propagatedBuildInputs = [ + astring + cmdliner + fmt + re + stdlib-shims + uutf + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/alcotest/lwt.nix b/pkgs/development/ocaml-modules/alcotest/lwt.nix index 44fb987c47793..692d7e36c499f 100644 --- a/pkgs/development/ocaml-modules/alcotest/lwt.nix +++ b/pkgs/development/ocaml-modules/alcotest/lwt.nix @@ -1,5 +1,11 @@ -{ buildDunePackage, alcotest, logs, lwt, fmt -, re, cmdliner +{ + buildDunePackage, + alcotest, + logs, + lwt, + fmt, + re, + cmdliner, }: buildDunePackage { @@ -9,10 +15,18 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ alcotest logs lwt fmt ]; + propagatedBuildInputs = [ + alcotest + logs + lwt + fmt + ]; doCheck = true; - checkInputs = [ re cmdliner ]; + checkInputs = [ + re + cmdliner + ]; meta = alcotest.meta // { description = "Lwt-based helpers for Alcotest"; diff --git a/pkgs/development/ocaml-modules/alcotest/mirage.nix b/pkgs/development/ocaml-modules/alcotest/mirage.nix index e27889b40462a..76e202d20c4fa 100644 --- a/pkgs/development/ocaml-modules/alcotest/mirage.nix +++ b/pkgs/development/ocaml-modules/alcotest/mirage.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, alcotest, lwt, logs, mirage-clock, duration }: +{ + lib, + buildDunePackage, + alcotest, + lwt, + logs, + mirage-clock, + duration, +}: buildDunePackage { pname = "alcotest-mirage"; @@ -7,12 +15,21 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ alcotest lwt logs mirage-clock duration ]; + propagatedBuildInputs = [ + alcotest + lwt + logs + mirage-clock + duration + ]; doCheck = true; meta = alcotest.meta // { description = "Mirage implementation for Alcotest"; - maintainers = with lib.maintainers; [ ulrikstrid anmonteiro ]; + maintainers = with lib.maintainers; [ + ulrikstrid + anmonteiro + ]; }; } diff --git a/pkgs/development/ocaml-modules/algaeff/default.nix b/pkgs/development/ocaml-modules/algaeff/default.nix index b8c6a5f0cfd4b..0e867f8a0838d 100644 --- a/pkgs/development/ocaml-modules/algaeff/default.nix +++ b/pkgs/development/ocaml-modules/algaeff/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, alcotest -, qcheck-core +{ + lib, + buildDunePackage, + fetchFromGitHub, + alcotest, + qcheck-core, }: buildDunePackage rec { @@ -19,7 +20,10 @@ buildDunePackage rec { }; doCheck = true; - checkInputs = [ alcotest qcheck-core ]; + checkInputs = [ + alcotest + qcheck-core + ]; meta = { description = "Reusable Effects-Based Components"; diff --git a/pkgs/development/ocaml-modules/alsa/default.nix b/pkgs/development/ocaml-modules/alsa/default.nix index 988ca8280dcca..15b60d2882218 100644 --- a/pkgs/development/ocaml-modules/alsa/default.nix +++ b/pkgs/development/ocaml-modules/alsa/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, alsa-lib }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + alsa-lib, +}: buildDunePackage rec { pname = "alsa"; diff --git a/pkgs/development/ocaml-modules/angstrom-async/default.nix b/pkgs/development/ocaml-modules/angstrom-async/default.nix index 92dd90ff22cbe..3b1a8663148b2 100644 --- a/pkgs/development/ocaml-modules/angstrom-async/default.nix +++ b/pkgs/development/ocaml-modules/angstrom-async/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, angstrom, async }: +{ + lib, + buildDunePackage, + angstrom, + async, +}: buildDunePackage rec { pname = "angstrom-async"; @@ -7,7 +12,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.04.1"; - propagatedBuildInputs = [ angstrom async ]; + propagatedBuildInputs = [ + angstrom + async + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix b/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix index 2867e4b1a813f..be3a83cca34eb 100644 --- a/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix +++ b/pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix @@ -1,11 +1,19 @@ -{ lib, buildDunePackage, angstrom, lwt }: +{ + lib, + buildDunePackage, + angstrom, + lwt, +}: buildDunePackage rec { pname = "angstrom-lwt-unix"; inherit (angstrom) version src; - propagatedBuildInputs = [ angstrom lwt ]; + propagatedBuildInputs = [ + angstrom + lwt + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/angstrom-unix/default.nix b/pkgs/development/ocaml-modules/angstrom-unix/default.nix index be34145463171..6f6664765f92a 100644 --- a/pkgs/development/ocaml-modules/angstrom-unix/default.nix +++ b/pkgs/development/ocaml-modules/angstrom-unix/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, angstrom }: +{ + lib, + buildDunePackage, + angstrom, +}: buildDunePackage rec { pname = "angstrom-unix"; diff --git a/pkgs/development/ocaml-modules/angstrom/default.nix b/pkgs/development/ocaml-modules/angstrom/default.nix index 4c6ed4064ef64..423267fb2b1bd 100644 --- a/pkgs/development/ocaml-modules/angstrom/default.nix +++ b/pkgs/development/ocaml-modules/angstrom/default.nix @@ -1,4 +1,14 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, ocaml-syntax-shims, alcotest, bigstringaf, ppx_let, gitUpdater }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + ocaml-syntax-shims, + alcotest, + bigstringaf, + ppx_let, + gitUpdater, +}: buildDunePackage rec { pname = "angstrom"; @@ -7,13 +17,16 @@ buildDunePackage rec { minimalOCamlVersion = "4.04"; src = fetchFromGitHub { - owner = "inhabitedtype"; - repo = pname; - rev = version; + owner = "inhabitedtype"; + repo = pname; + rev = version; hash = "sha256-EPqDK+7RU2vHEHvuoTXb8V2FkdXQ6tGu0ghbNPS3gZ4="; }; - checkInputs = [ alcotest ppx_let ]; + checkInputs = [ + alcotest + ppx_let + ]; buildInputs = [ ocaml-syntax-shims ]; propagatedBuildInputs = [ bigstringaf ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix index 7530e45ac853e..d8ad58b6c45dc 100644 --- a/pkgs/development/ocaml-modules/ansiterminal/default.nix +++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "ANSITerminal"; diff --git a/pkgs/development/ocaml-modules/ao/default.nix b/pkgs/development/ocaml-modules/ao/default.nix index 6abc7f98f6397..06d96fddeb820 100644 --- a/pkgs/development/ocaml-modules/ao/default.nix +++ b/pkgs/development/ocaml-modules/ao/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, libao }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + libao, +}: buildDunePackage rec { pname = "ao"; diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix index 7b993168e1679..f1206bab6ffbd 100644 --- a/pkgs/development/ocaml-modules/apron/default.nix +++ b/pkgs/development/ocaml-modules/apron/default.nix @@ -1,5 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl -, flint, pplite +{ + stdenv, + lib, + fetchFromGitHub, + perl, + gmp, + mpfr, + ppl, + ocaml, + findlib, + camlidl, + mlgmpidl, + flint, + pplite, }: stdenv.mkDerivation rec { @@ -12,11 +24,25 @@ stdenv.mkDerivation rec { hash = "sha256-gHLCurydxX1pS66DTAWUJGl9Yqu9RWRjkZh6lXzM7YY="; }; - nativeBuildInputs = [ ocaml findlib perl ]; - buildInputs = [ gmp mpfr ppl camlidl flint pplite ]; + nativeBuildInputs = [ + ocaml + findlib + perl + ]; + buildInputs = [ + gmp + mpfr + ppl + camlidl + flint + pplite + ]; propagatedBuildInputs = [ mlgmpidl ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configurePhase = '' runHook preConfigure diff --git a/pkgs/development/ocaml-modules/arp/default.nix b/pkgs/development/ocaml-modules/arp/default.nix index b8cc579e5661c..af1f2380a28b3 100644 --- a/pkgs/development/ocaml-modules/arp/default.nix +++ b/pkgs/development/ocaml-modules/arp/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, buildDunePackage -, fetchurl -, cstruct -, duration -, ethernet -, ipaddr -, logs -, lwt -, macaddr -, mirage-time -, alcotest -, mirage-clock-unix -, mirage-flow -, mirage-random -, mirage-random-test -, mirage-time-unix -, mirage-vnetif -, bisect_ppx +{ + lib, + stdenv, + buildDunePackage, + fetchurl, + cstruct, + duration, + ethernet, + ipaddr, + logs, + lwt, + macaddr, + mirage-time, + alcotest, + mirage-clock-unix, + mirage-flow, + mirage-random, + mirage-random-test, + mirage-time-unix, + mirage-vnetif, + bisect_ppx, }: buildDunePackage rec { @@ -47,7 +48,7 @@ buildDunePackage rec { ]; ## NOTE: As of 18 april 2023 and ARP version 3.0.0, tests fail on Darwin. - doCheck = ! stdenv.hostPlatform.isDarwin; + doCheck = !stdenv.hostPlatform.isDarwin; checkInputs = [ alcotest mirage-clock-unix diff --git a/pkgs/development/ocaml-modules/asai/default.nix b/pkgs/development/ocaml-modules/asai/default.nix index 5555194048ceb..2f58276684ab8 100644 --- a/pkgs/development/ocaml-modules/asai/default.nix +++ b/pkgs/development/ocaml-modules/asai/default.nix @@ -1,6 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage -, algaeff -, bwd +{ + lib, + fetchFromGitHub, + buildDunePackage, + algaeff, + bwd, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/asetmap/default.nix b/pkgs/development/ocaml-modules/asetmap/default.nix index 40152ef5cbf42..11cecd66cc9de 100644 --- a/pkgs/development/ocaml-modules/asetmap/default.nix +++ b/pkgs/development/ocaml-modules/asetmap/default.nix @@ -1,9 +1,10 @@ -{ fetchurl -, buildDunePackage -, topkg -, findlib -, ocamlbuild -, ocaml +{ + fetchurl, + buildDunePackage, + topkg, + findlib, + ocamlbuild, + ocaml, }: buildDunePackage rec { @@ -16,7 +17,12 @@ buildDunePackage rec { strictDeps = true; - nativeBuildInputs = [ topkg findlib ocamlbuild ocaml ]; + nativeBuildInputs = [ + topkg + findlib + ocamlbuild + ocaml + ]; buildInputs = [ topkg ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix index 822c4056e2597..2530312bfeac8 100644 --- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix +++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix @@ -1,6 +1,9 @@ -{ lib, buildDunePackage, fetchurl -, ptime -, alcotest +{ + lib, + buildDunePackage, + fetchurl, + ptime, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/astring/default.nix b/pkgs/development/ocaml-modules/astring/default.nix index f7478f93b91c0..3f4b19123337e 100644 --- a/pkgs/development/ocaml-modules/astring/default.nix +++ b/pkgs/development/ocaml-modules/astring/default.nix @@ -1,16 +1,26 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, +}: let # Use astring 0.8.3 for OCaml < 4.05 param = - if lib.versionAtLeast ocaml.version "4.05" - then { - version = "0.8.5"; - sha256 = "1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"; - } else { - version = "0.8.3"; - sha256 = "0ixjwc3plrljvj24za3l9gy0w30lsbggp8yh02lwrzw61ls4cri0"; - }; + if lib.versionAtLeast ocaml.version "4.05" then + { + version = "0.8.5"; + sha256 = "1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"; + } + else + { + version = "0.8.3"; + sha256 = "0ixjwc3plrljvj24za3l9gy0w30lsbggp8yh02lwrzw61ls4cri0"; + }; in stdenv.mkDerivation { @@ -22,7 +32,12 @@ stdenv.mkDerivation { inherit (param) sha256; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix index 16944c7b38bc2..c956c430fc2e7 100644 --- a/pkgs/development/ocaml-modules/atd/default.nix +++ b/pkgs/development/ocaml-modules/atd/default.nix @@ -1,4 +1,14 @@ -{ lib, atdgen-codec-runtime, cmdliner, menhir, easy-format, buildDunePackage, re, yojson, nixosTests }: +{ + lib, + atdgen-codec-runtime, + cmdliner, + menhir, + easy-format, + buildDunePackage, + re, + yojson, + nixosTests, +}: buildDunePackage rec { pname = "atd"; @@ -8,7 +18,11 @@ buildDunePackage rec { nativeBuildInputs = [ menhir ]; buildInputs = [ cmdliner ]; - propagatedBuildInputs = [ easy-format re yojson ]; + propagatedBuildInputs = [ + easy-format + re + yojson + ]; passthru.tests = { smoke-test = nixosTests.atd; diff --git a/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix b/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix index d2a875080eab4..494b8bcb35175 100644 --- a/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix +++ b/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "atdgen-codec-runtime"; diff --git a/pkgs/development/ocaml-modules/atdgen/default.nix b/pkgs/development/ocaml-modules/atdgen/default.nix index 6df0e4822634b..d36b364c2cd7b 100644 --- a/pkgs/development/ocaml-modules/atdgen/default.nix +++ b/pkgs/development/ocaml-modules/atdgen/default.nix @@ -1,5 +1,11 @@ -{ buildDunePackage, alcotest, atd, atdgen-codec-runtime, atdgen-runtime, re -, python3 +{ + buildDunePackage, + alcotest, + atd, + atdgen-codec-runtime, + atdgen-runtime, + re, + python3, }: buildDunePackage { @@ -8,13 +14,22 @@ buildDunePackage { duneVersion = "3"; - buildInputs = [ atd re ]; + buildInputs = [ + atd + re + ]; propagatedBuildInputs = [ atdgen-runtime ]; doCheck = true; - nativeCheckInputs = [ atd (python3.withPackages (ps: [ ps.jsonschema ]))]; - checkInputs = [ alcotest atdgen-codec-runtime ]; + nativeCheckInputs = [ + atd + (python3.withPackages (ps: [ ps.jsonschema ])) + ]; + checkInputs = [ + alcotest + atdgen-codec-runtime + ]; meta = (builtins.removeAttrs atd.meta [ "mainProgram" ]) // { description = "Generates efficient JSON serializers, deserializers and validators"; diff --git a/pkgs/development/ocaml-modules/atdgen/runtime.nix b/pkgs/development/ocaml-modules/atdgen/runtime.nix index c70d3752cdef8..f0442d46a30f9 100644 --- a/pkgs/development/ocaml-modules/atdgen/runtime.nix +++ b/pkgs/development/ocaml-modules/atdgen/runtime.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, atdgen-codec-runtime, biniou, yojson }: +{ + buildDunePackage, + atdgen-codec-runtime, + biniou, + yojson, +}: buildDunePackage rec { pname = "atdgen-runtime"; @@ -7,7 +12,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ biniou yojson ]; + propagatedBuildInputs = [ + biniou + yojson + ]; meta = atdgen-codec-runtime.meta // { description = "Runtime library for code generated by atdgen"; diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix index 02e789de5672e..41e17d575c57f 100644 --- a/pkgs/development/ocaml-modules/awa/default.nix +++ b/pkgs/development/ocaml-modules/awa/default.nix @@ -1,8 +1,21 @@ -{ lib, buildDunePackage, fetchurl -, mirage-crypto, mirage-crypto-ec, mirage-crypto-rng, mirage-crypto-pk -, x509, cstruct, cstruct-unix, eqaf -, mtime, logs, fmt, cmdliner, base64 -, zarith +{ + lib, + buildDunePackage, + fetchurl, + mirage-crypto, + mirage-crypto-ec, + mirage-crypto-rng, + mirage-crypto-pk, + x509, + cstruct, + cstruct-unix, + eqaf, + mtime, + logs, + fmt, + cmdliner, + base64, + zarith, }: buildDunePackage rec { @@ -17,14 +30,25 @@ buildDunePackage rec { }; propagatedBuildInputs = [ - mirage-crypto mirage-crypto-ec mirage-crypto-rng mirage-crypto-pk x509 - cstruct mtime - logs base64 zarith + mirage-crypto + mirage-crypto-ec + mirage-crypto-rng + mirage-crypto-pk + x509 + cstruct + mtime + logs + base64 + zarith eqaf ]; doCheck = true; - checkInputs = [ cstruct-unix cmdliner fmt ]; + checkInputs = [ + cstruct-unix + cmdliner + fmt + ]; meta = with lib; { description = "SSH implementation in OCaml"; diff --git a/pkgs/development/ocaml-modules/awa/mirage.nix b/pkgs/development/ocaml-modules/awa/mirage.nix index 8513e57410480..795f421e1c172 100644 --- a/pkgs/development/ocaml-modules/awa/mirage.nix +++ b/pkgs/development/ocaml-modules/awa/mirage.nix @@ -1,6 +1,14 @@ -{ buildDunePackage, awa -, cstruct, mtime, lwt, mirage-flow, mirage-clock, logs -, duration, mirage-time +{ + buildDunePackage, + awa, + cstruct, + mtime, + lwt, + mirage-flow, + mirage-clock, + logs, + duration, + mirage-time, }: buildDunePackage { @@ -9,8 +17,15 @@ buildDunePackage { inherit (awa) version src; propagatedBuildInputs = [ - awa cstruct mtime lwt mirage-flow mirage-clock logs - duration mirage-time + awa + cstruct + mtime + lwt + mirage-flow + mirage-clock + logs + duration + mirage-time ]; inherit (awa) meta; diff --git a/pkgs/development/ocaml-modules/b0/default.nix b/pkgs/development/ocaml-modules/b0/default.nix index e3c21c31e6896..a6c0bb4327d84 100644 --- a/pkgs/development/ocaml-modules/b0/default.nix +++ b/pkgs/development/ocaml-modules/b0/default.nix @@ -1,46 +1,65 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, cmdliner }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + topkg, + ocamlbuild, + cmdliner, +}: let -in lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") -"b0 is not available for OCaml ${ocaml.version}" - -stdenv.mkDerivation rec { - - pname = "ocaml${ocaml.version}-b0"; - version = "0.0.5"; - - src = fetchurl { - url = "${meta.homepage}/releases/b0-${version}.tbz"; - sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I="; - }; - - strictDeps = true; - - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg cmdliner ]; - - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "Software construction and deployment kit"; - longDescription = '' - WARNING this package is unstable and work in progress, do not depend on - it. - B0 describes software construction and deployments using modular and - customizable definitions written in OCaml. B0 describes: - * Build environments. - * Software configuration, build and testing. - * Source and binary deployments. - * Software life-cycle procedures. - B0 also provides the B00 build library which provides abitrary build - abstraction with reliable and efficient incremental rebuilds. The B00 - library can be – and has been – used on its own to devise domain specific - build systems. - ''; - homepage = "https://erratique.ch/software/b0"; - inherit (ocaml.meta) platforms; - license = licenses.isc; - maintainers = [ maintainers.Julow ]; - }; -} +in +lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") + "b0 is not available for OCaml ${ocaml.version}" + + stdenv.mkDerivation + rec { + + pname = "ocaml${ocaml.version}-b0"; + version = "0.0.5"; + + src = fetchurl { + url = "${meta.homepage}/releases/b0-${version}.tbz"; + sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + cmdliner + ]; + + inherit (topkg) buildPhase installPhase; + + meta = with lib; { + description = "Software construction and deployment kit"; + longDescription = '' + WARNING this package is unstable and work in progress, do not depend on + it. + B0 describes software construction and deployments using modular and + customizable definitions written in OCaml. B0 describes: + * Build environments. + * Software configuration, build and testing. + * Source and binary deployments. + * Software life-cycle procedures. + B0 also provides the B00 build library which provides abitrary build + abstraction with reliable and efficient incremental rebuilds. The B00 + library can be – and has been – used on its own to devise domain specific + build systems. + ''; + homepage = "https://erratique.ch/software/b0"; + inherit (ocaml.meta) platforms; + license = licenses.isc; + maintainers = [ maintainers.Julow ]; + }; + } diff --git a/pkgs/development/ocaml-modules/backoff/default.nix b/pkgs/development/ocaml-modules/backoff/default.nix index 75ee51ede5c7b..a623ece4d2309 100644 --- a/pkgs/development/ocaml-modules/backoff/default.nix +++ b/pkgs/development/ocaml-modules/backoff/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchurl, alcotest}: +{ + lib, + buildDunePackage, + fetchurl, + alcotest, +}: buildDunePackage rec { pname = "backoff"; diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix index bdbf9b65c3c01..067e2bc16adbe 100644 --- a/pkgs/development/ocaml-modules/bap/default.nix +++ b/pkgs/development/ocaml-modules/bap/default.nix @@ -1,85 +1,150 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl -, ocaml, findlib, ocamlbuild, ocaml_oasis -, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, mmap, lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp -, utop, libxml2, ncurses -, linenoise -, ppx_bap -, ppx_bitstring -, yojson -, which, makeWrapper, writeText -, z3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + ocaml, + findlib, + ocamlbuild, + ocaml_oasis, + bitstring, + camlzip, + cmdliner, + core_kernel, + ezjsonm, + fileutils, + mmap, + lwt, + ocamlgraph, + ocurl, + re, + uri, + zarith, + piqi, + piqi-ocaml, + uuidm, + llvm, + frontc, + ounit, + ppx_jane, + parsexp, + utop, + libxml2, + ncurses, + linenoise, + ppx_bap, + ppx_bitstring, + yojson, + which, + makeWrapper, + writeText, + z3, }: -if lib.versionOlder ocaml.version "4.08" -then throw "BAP is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.08" then + throw "BAP is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-bap"; - version = "2.5.0"; - src = fetchFromGitHub { - owner = "BinaryAnalysisPlatform"; - repo = "bap"; - rev = "v${version}"; - sha256 = "1c30zxn0zyi0wypvjmik3fd6n6a8xjcb102qfnccn1af052bvsrd"; - }; + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-bap"; + version = "2.5.0"; + src = fetchFromGitHub { + owner = "BinaryAnalysisPlatform"; + repo = "bap"; + rev = "v${version}"; + sha256 = "1c30zxn0zyi0wypvjmik3fd6n6a8xjcb102qfnccn1af052bvsrd"; + }; - sigs = fetchurl { - url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${version}/sigs.zip"; - sha256 = "0d69jd28z4g64mglq94kj5imhmk5f6sgcsh9q2nij3b0arpcliwk"; - }; + sigs = fetchurl { + url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${version}/sigs.zip"; + sha256 = "0d69jd28z4g64mglq94kj5imhmk5f6sgcsh9q2nij3b0arpcliwk"; + }; - createFindlibDestdir = true; + createFindlibDestdir = true; - setupHook = writeText "setupHook.sh" '' - export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/" - export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/" - ''; + setupHook = writeText "setupHook.sh" '' + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/" + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/" + ''; - nativeBuildInputs = [ which makeWrapper ocaml findlib ocamlbuild ocaml_oasis ]; + nativeBuildInputs = [ + which + makeWrapper + ocaml + findlib + ocamlbuild + ocaml_oasis + ]; - buildInputs = [ ocamlbuild - linenoise - ounit - ppx_bitstring - z3 - utop libxml2 ncurses ]; + buildInputs = [ + ocamlbuild + linenoise + ounit + ppx_bitstring + z3 + utop + libxml2 + ncurses + ]; - propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils mmap lwt ocamlgraph ocurl re uri zarith piqi parsexp - piqi-ocaml uuidm frontc yojson ]; + propagatedBuildInputs = [ + bitstring + camlzip + cmdliner + ppx_bap + core_kernel + ezjsonm + fileutils + mmap + lwt + ocamlgraph + ocurl + re + uri + zarith + piqi + parsexp + piqi-ocaml + uuidm + frontc + yojson + ]; - installPhase = '' - runHook preInstall - export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR; - export PATH=$PATH:$out/bin - export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/ - mkdir -p $out/lib/bap - make install - rm $out/bin/baptop - makeWrapper ${utop}/bin/utop $out/bin/baptop --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH --add-flags "-ppx ppx-bap -short-paths -require \"bap.top\"" - wrapProgram $out/bin/bapbuild --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH - ln -s $sigs $out/share/bap/sigs.zip - runHook postInstall - ''; + installPhase = '' + runHook preInstall + export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR; + export PATH=$PATH:$out/bin + export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/ + mkdir -p $out/lib/bap + make install + rm $out/bin/baptop + makeWrapper ${utop}/bin/utop $out/bin/baptop --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH --add-flags "-ppx ppx-bap -short-paths -require \"bap.top\"" + wrapProgram $out/bin/bapbuild --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH + ln -s $sigs $out/share/bap/sigs.zip + runHook postInstall + ''; - disableIda = "--disable-ida"; - disableGhidra = "--disable-ghidra"; + disableIda = "--disable-ida"; + disableGhidra = "--disable-ghidra"; - patches = [ - ./curses_is_ncurses.patch - ]; + patches = [ + ./curses_is_ncurses.patch + ]; - preConfigure = '' - substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring - ''; + preConfigure = '' + substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring + ''; - configureFlags = [ "--enable-everything ${disableIda} ${disableGhidra}" "--with-llvm-config=${llvm.dev}/bin/llvm-config" ]; + configureFlags = [ + "--enable-everything ${disableIda} ${disableGhidra}" + "--with-llvm-config=${llvm.dev}/bin/llvm-config" + ]; - meta = with lib; { - description = "Platform for binary analysis. It is written in OCaml, but can be used from other languages"; - homepage = "https://github.com/BinaryAnalysisPlatform/bap/"; - license = licenses.mit; - maintainers = [ maintainers.maurer ]; - mainProgram = "bap"; - }; -} + meta = with lib; { + description = "Platform for binary analysis. It is written in OCaml, but can be used from other languages"; + homepage = "https://github.com/BinaryAnalysisPlatform/bap/"; + license = licenses.mit; + maintainers = [ maintainers.maurer ]; + mainProgram = "bap"; + }; + } diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix index be8dabf7f60ec..64fcbf8f93a8b 100644 --- a/pkgs/development/ocaml-modules/base64/default.nix +++ b/pkgs/development/ocaml-modules/base64/default.nix @@ -1,4 +1,13 @@ -{ lib, fetchurl, buildDunePackage, ocaml, findlib, alcotest, bos, rresult }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + findlib, + alcotest, + bos, + rresult, +}: buildDunePackage rec { pname = "base64"; @@ -16,7 +25,11 @@ buildDunePackage rec { # otherwise fmt breaks evaluation doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ alcotest bos rresult ]; + checkInputs = [ + alcotest + bos + rresult + ]; meta = { homepage = "https://github.com/mirage/ocaml-base64"; diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix index 610973b5769c5..d68466731613a 100644 --- a/pkgs/development/ocaml-modules/batteries/default.nix +++ b/pkgs/development/ocaml-modules/batteries/default.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, qtest, qcheck, num, camlp-streams -, doCheck ? lib.versionAtLeast ocaml.version "4.08" +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + qtest, + qcheck, + num, + camlp-streams, + doCheck ? lib.versionAtLeast ocaml.version "4.08", }: buildDunePackage rec { @@ -17,7 +25,10 @@ buildDunePackage rec { nativeCheckInputs = [ qtest ]; checkInputs = [ qcheck ]; - propagatedBuildInputs = [ camlp-streams num ]; + propagatedBuildInputs = [ + camlp-streams + num + ]; inherit doCheck; checkTarget = "test"; diff --git a/pkgs/development/ocaml-modules/bdd/default.nix b/pkgs/development/ocaml-modules/bdd/default.nix index 358d92d3505dc..cc9306bb45526 100644 --- a/pkgs/development/ocaml-modules/bdd/default.nix +++ b/pkgs/development/ocaml-modules/bdd/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, stdlib-shims +{ + lib, + buildDunePackage, + fetchFromGitHub, + stdlib-shims, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix index b0e17054eb532..c7a590773b391 100644 --- a/pkgs/development/ocaml-modules/benchmark/default.nix +++ b/pkgs/development/ocaml-modules/benchmark/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "benchmark"; diff --git a/pkgs/development/ocaml-modules/bheap/default.nix b/pkgs/development/ocaml-modules/bheap/default.nix index 49e5c336d90bc..255aa62b7a5e3 100644 --- a/pkgs/development/ocaml-modules/bheap/default.nix +++ b/pkgs/development/ocaml-modules/bheap/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchurl, stdlib-shims }: +{ + lib, + buildDunePackage, + fetchurl, + stdlib-shims, +}: buildDunePackage rec { pname = "bheap"; diff --git a/pkgs/development/ocaml-modules/bigarray-compat/default.nix b/pkgs/development/ocaml-modules/bigarray-compat/default.nix index be343c444171a..476e9a3b33b04 100644 --- a/pkgs/development/ocaml-modules/bigarray-compat/default.nix +++ b/pkgs/development/ocaml-modules/bigarray-compat/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "bigarray-compat"; diff --git a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix index a913b507eab4b..531bbfc0cdb3f 100644 --- a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix +++ b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchurl -, alcotest, pkg-config +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + pkg-config, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/bigstring/default.nix b/pkgs/development/ocaml-modules/bigstring/default.nix index 650522363d318..4023d5db5c4fc 100644 --- a/pkgs/development/ocaml-modules/bigstring/default.nix +++ b/pkgs/development/ocaml-modules/bigstring/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, +}: buildDunePackage rec { pname = "bigstring"; diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix index ac7c6e5a51585..f32bee87255d3 100644 --- a/pkgs/development/ocaml-modules/bigstringaf/default.nix +++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, alcotest, pkg-config }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + alcotest, + pkg-config, +}: buildDunePackage rec { pname = "bigstringaf"; diff --git a/pkgs/development/ocaml-modules/bindlib/default.nix b/pkgs/development/ocaml-modules/bindlib/default.nix index c0d8dd54a37bd..49121cb39746d 100644 --- a/pkgs/development/ocaml-modules/bindlib/default.nix +++ b/pkgs/development/ocaml-modules/bindlib/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, earley -, timed +{ + lib, + fetchFromGitHub, + buildDunePackage, + earley, + timed, }: buildDunePackage rec { @@ -18,7 +19,10 @@ buildDunePackage rec { hash = "sha256-058yMbz9ExvgNG/kY9tPk70XSeVRSSKVg4n4F4fmPu4="; }; - checkInputs = [ earley timed ]; + checkInputs = [ + earley + timed + ]; doCheck = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix index 2c58a4081401b..4dfc9496fb8ae 100644 --- a/pkgs/development/ocaml-modules/biniou/default.nix +++ b/pkgs/development/ocaml-modules/biniou/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, camlp-streams, easy-format }: +{ + lib, + fetchurl, + buildDunePackage, + camlp-streams, + easy-format, +}: buildDunePackage rec { pname = "biniou"; @@ -9,7 +15,10 @@ buildDunePackage rec { hash = "sha256-i/P/F80Oyy1rbR2UywjvCJ1Eyu+W6brmvmg51Cj6MY8="; }; - propagatedBuildInputs = [ camlp-streams easy-format ]; + propagatedBuildInputs = [ + camlp-streams + easy-format + ]; meta = { description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve"; diff --git a/pkgs/development/ocaml-modules/binning/default.nix b/pkgs/development/ocaml-modules/binning/default.nix index bf448970ef616..e97db4daddaee 100644 --- a/pkgs/development/ocaml-modules/binning/default.nix +++ b/pkgs/development/ocaml-modules/binning/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildDunePackage -, fetchurl +{ + lib, + buildDunePackage, + fetchurl, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix index 5fa482acc6d40..0f5cc4f4c9421 100644 --- a/pkgs/development/ocaml-modules/biocaml/default.nix +++ b/pkgs/development/ocaml-modules/biocaml/default.nix @@ -1,6 +1,19 @@ -{ lib, buildDunePackage, fetchFromGitHub, fetchpatch -, ounit, async, base64, camlzip, cfstream -, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm +{ + lib, + buildDunePackage, + fetchFromGitHub, + fetchpatch, + ounit, + async, + base64, + camlzip, + cfstream, + core, + ppx_jane, + ppx_sexp_conv, + rresult, + uri, + xmlm, }: buildDunePackage rec { @@ -22,9 +35,21 @@ buildDunePackage rec { sha256 = "0rcvf8gwq7sz15mghl9ing722rl2zpnqif9dfxrnpdxiv0rl0731"; }; - buildInputs = [ ppx_jane ppx_sexp_conv ]; + buildInputs = [ + ppx_jane + ppx_sexp_conv + ]; checkInputs = [ ounit ]; - propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ]; + propagatedBuildInputs = [ + async + base64 + camlzip + cfstream + core + rresult + uri + xmlm + ]; meta = with lib; { description = "Bioinformatics library for Ocaml"; diff --git a/pkgs/development/ocaml-modules/biotk/default.nix b/pkgs/development/ocaml-modules/biotk/default.nix index b120e8008819c..da97a0df3554b 100644 --- a/pkgs/development/ocaml-modules/biotk/default.nix +++ b/pkgs/development/ocaml-modules/biotk/default.nix @@ -1,21 +1,22 @@ -{ lib -, buildDunePackage -, fetchurl -, angstrom-unix -, binning -, ocaml-crunch -, camlzip -, core_kernel -, core_unix ? null -, csvfields ? null -, fmt -, gsl -, ppx_csv_conv ? null -, ppx_deriving -, rresult -, tyxml -, uri -, vg +{ + lib, + buildDunePackage, + fetchurl, + angstrom-unix, + binning, + ocaml-crunch, + camlzip, + core_kernel, + core_unix ? null, + csvfields ? null, + fmt, + gsl, + ppx_csv_conv ? null, + ppx_deriving, + rresult, + tyxml, + uri, + vg, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/bisect_ppx/default.nix b/pkgs/development/ocaml-modules/bisect_ppx/default.nix index 98da1f31f3128..a2ecd17f418e7 100644 --- a/pkgs/development/ocaml-modules/bisect_ppx/default.nix +++ b/pkgs/development/ocaml-modules/bisect_ppx/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, cmdliner, ppxlib }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + cmdliner, + ppxlib, +}: buildDunePackage rec { pname = "bisect_ppx"; diff --git a/pkgs/development/ocaml-modules/bistro/default.nix b/pkgs/development/ocaml-modules/bistro/default.nix index 5444c74cb14ba..29e2a681993bb 100644 --- a/pkgs/development/ocaml-modules/bistro/default.nix +++ b/pkgs/development/ocaml-modules/bistro/default.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, base64 -, bos -, core -, core_kernel -, core_unix ? null -, lwt_react -, ocamlgraph -, ppx_sexp_conv -, rresult -, sexplib -, tyxml +{ + lib, + fetchFromGitHub, + buildDunePackage, + base64, + bos, + core, + core_kernel, + core_unix ? null, + lwt_react, + ocamlgraph, + ppx_sexp_conv, + rresult, + sexplib, + tyxml, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix index 4644d4cca8611..12f1232b71a5a 100644 --- a/pkgs/development/ocaml-modules/bitstring/default.nix +++ b/pkgs/development/ocaml-modules/bitstring/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, stdlib-shims }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + stdlib-shims, +}: buildDunePackage rec { pname = "bitstring"; diff --git a/pkgs/development/ocaml-modules/bitstring/ppx.nix b/pkgs/development/ocaml-modules/bitstring/ppx.nix index 87370ef64b209..aef82b128133f 100644 --- a/pkgs/development/ocaml-modules/bitstring/ppx.nix +++ b/pkgs/development/ocaml-modules/bitstring/ppx.nix @@ -1,24 +1,31 @@ -{ lib, buildDunePackage, ocaml -, bitstring, ppxlib -, ounit +{ + lib, + buildDunePackage, + ocaml, + bitstring, + ppxlib, + ounit, }: -if lib.versionOlder ppxlib.version "0.18.0" -then throw "ppx_bitstring is not available with ppxlib-${ppxlib.version}" +if lib.versionOlder ppxlib.version "0.18.0" then + throw "ppx_bitstring is not available with ppxlib-${ppxlib.version}" else -buildDunePackage rec { - pname = "ppx_bitstring"; - inherit (bitstring) version src; + buildDunePackage rec { + pname = "ppx_bitstring"; + inherit (bitstring) version src; - duneVersion = "3"; + duneVersion = "3"; - buildInputs = [ bitstring ppxlib ]; + buildInputs = [ + bitstring + ppxlib + ]; - doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ ounit ]; + doCheck = lib.versionAtLeast ocaml.version "4.08"; + checkInputs = [ ounit ]; - meta = bitstring.meta // { - description = "Bitstrings and bitstring matching for OCaml - PPX extension"; - }; -} + meta = bitstring.meta // { + description = "Bitstrings and bitstring matching for OCaml - PPX extension"; + }; + } diff --git a/pkgs/development/ocaml-modules/bitv/default.nix b/pkgs/development/ocaml-modules/bitv/default.nix index 1369ed078d6ec..6b9325dc0c520 100644 --- a/pkgs/development/ocaml-modules/bitv/default.nix +++ b/pkgs/development/ocaml-modules/bitv/default.nix @@ -1,29 +1,42 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, which, ocaml, findlib }: +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + which, + ocaml, + findlib, +}: -if lib.versionOlder ocaml.version "4.02" -then throw "bitv is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.02" then + throw "bitv is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-bitv"; - version = "1.3"; + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-bitv"; + version = "1.3"; - src = fetchFromGitHub { - owner = "backtracking"; - repo = "bitv"; - rev = version; - sha256 = "sha256-sZwq6c10hBBS9tGvKlWD9GE3JBrZPByfDrXE6xIPcG4="; - }; + src = fetchFromGitHub { + owner = "backtracking"; + repo = "bitv"; + rev = version; + sha256 = "sha256-sZwq6c10hBBS9tGvKlWD9GE3JBrZPByfDrXE6xIPcG4="; + }; - nativeBuildInputs = [ autoreconfHook which ocaml findlib ]; + nativeBuildInputs = [ + autoreconfHook + which + ocaml + findlib + ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = { - description = "Bit vector library for OCaml"; - license = lib.licenses.lgpl21; - homepage = "https://github.com/backtracking/bitv"; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + meta = { + description = "Bit vector library for OCaml"; + license = lib.licenses.lgpl21; + homepage = "https://github.com/backtracking/bitv"; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/bjack/default.nix b/pkgs/development/ocaml-modules/bjack/default.nix index 21052759233a9..1ee6783162b76 100644 --- a/pkgs/development/ocaml-modules/bjack/default.nix +++ b/pkgs/development/ocaml-modules/bjack/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, buildDunePackage, fetchFromGitHub, Accelerate, CoreAudio, dune-configurator, libsamplerate, libjack2 }: +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + Accelerate, + CoreAudio, + dune-configurator, + libsamplerate, + libjack2, +}: buildDunePackage rec { pname = "bjack"; @@ -11,8 +21,16 @@ buildDunePackage rec { hash = "sha256-jIxxqBVWphWYyLh+24rTxk4WWfPPdGCvNdevFJEKw70="; }; - buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Accelerate CoreAudio ]; - propagatedBuildInputs = [ libsamplerate libjack2 ]; + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + CoreAudio + ]; + propagatedBuildInputs = [ + libsamplerate + libjack2 + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-bjack"; diff --git a/pkgs/development/ocaml-modules/bls12-381-signature/default.nix b/pkgs/development/ocaml-modules/bls12-381-signature/default.nix index e7ca964750e06..cfb03c5e6d0ba 100644 --- a/pkgs/development/ocaml-modules/bls12-381-signature/default.nix +++ b/pkgs/development/ocaml-modules/bls12-381-signature/default.nix @@ -1,11 +1,11 @@ -{ lib -, fetchzip -, buildDunePackage -, bls12-381 -, alcotest -, bisect_ppx -, integers_stubs_js -, +{ + lib, + fetchzip, + buildDunePackage, + bls12-381, + alcotest, + bisect_ppx, + integers_stubs_js, }: buildDunePackage rec { @@ -22,7 +22,11 @@ buildDunePackage rec { propagatedBuildInputs = [ bls12-381 ]; - checkInputs = [ alcotest bisect_ppx integers_stubs_js ]; + checkInputs = [ + alcotest + bisect_ppx + integers_stubs_js + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix index f5e7bbbb6f6d2..9d23c94e4b6fd 100644 --- a/pkgs/development/ocaml-modules/bls12-381/default.nix +++ b/pkgs/development/ocaml-modules/bls12-381/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildDunePackage -, fetchFromGitLab -, zarith -, zarith_stubs_js ? null -, integers_stubs_js -, integers -, hex -, alcotest +{ + lib, + buildDunePackage, + fetchFromGitLab, + zarith, + zarith_stubs_js ? null, + integers_stubs_js, + integers, + hex, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/bls12-381/gen.nix b/pkgs/development/ocaml-modules/bls12-381/gen.nix index 2eaf616a77b1c..36bc1c1e2e6d0 100644 --- a/pkgs/development/ocaml-modules/bls12-381/gen.nix +++ b/pkgs/development/ocaml-modules/bls12-381/gen.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitLab, buildDunePackage, ff-sig, zarith }: +{ + lib, + fetchFromGitLab, + buildDunePackage, + ff-sig, + zarith, +}: buildDunePackage rec { pname = "bls12-381-gen"; diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix index 9f7ce539e18aa..810e4d35f89c7 100644 --- a/pkgs/development/ocaml-modules/bos/default.nix +++ b/pkgs/development/ocaml-modules/bos/default.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg -, astring, fmt, fpath, logs, rresult +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + astring, + fmt, + fpath, + logs, + rresult, }: stdenv.mkDerivation rec { @@ -11,9 +22,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-2NYueGsQ1pfgRXIFqO7eqifrzJDxhV8Y3xkMrC49jzc="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; - propagatedBuildInputs = [ astring fmt fpath logs rresult ]; + propagatedBuildInputs = [ + astring + fmt + fpath + logs + rresult + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/brisk-reconciler/default.nix b/pkgs/development/ocaml-modules/brisk-reconciler/default.nix index addaedd5acae8..20fc2b0f97cbd 100644 --- a/pkgs/development/ocaml-modules/brisk-reconciler/default.nix +++ b/pkgs/development/ocaml-modules/brisk-reconciler/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, fetchFromGitHub, lib, reason, ppxlib }: +{ + buildDunePackage, + fetchFromGitHub, + lib, + reason, + ppxlib, +}: buildDunePackage rec { pname = "brisk-reconciler"; diff --git a/pkgs/development/ocaml-modules/brr/default.nix b/pkgs/development/ocaml-modules/brr/default.nix index 7dd46af26cb4d..79dc048be4f48 100644 --- a/pkgs/development/ocaml-modules/brr/default.nix +++ b/pkgs/development/ocaml-modules/brr/default.nix @@ -1,7 +1,13 @@ -{ stdenv, lib, fetchurl -, ocaml, findlib, ocamlbuild, topkg -, js_of_ocaml-compiler -, js_of_ocaml-toplevel +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + js_of_ocaml-compiler, + js_of_ocaml-toplevel, }: stdenv.mkDerivation rec { @@ -11,8 +17,16 @@ stdenv.mkDerivation rec { url = "https://erratique.ch/software/brr/releases/brr-${version}.tbz"; hash = "sha256-rcWuW6avI/RJZNAlxKOsPSEtDQZ1hb51oKpSk3iG7oY="; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; - propagatedBuildInputs = [ js_of_ocaml-compiler js_of_ocaml-toplevel ]; + buildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + propagatedBuildInputs = [ + js_of_ocaml-compiler + js_of_ocaml-toplevel + ]; inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/bwd/default.nix b/pkgs/development/ocaml-modules/bwd/default.nix index af606763e22b3..c6179b4f31e3e 100644 --- a/pkgs/development/ocaml-modules/bwd/default.nix +++ b/pkgs/development/ocaml-modules/bwd/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, qcheck-core }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + qcheck-core, +}: buildDunePackage rec { pname = "bwd"; diff --git a/pkgs/development/ocaml-modules/bytestring/default.nix b/pkgs/development/ocaml-modules/bytestring/default.nix index 8ed2a3ec47a0c..ddf130ac8e28a 100644 --- a/pkgs/development/ocaml-modules/bytestring/default.nix +++ b/pkgs/development/ocaml-modules/bytestring/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildDunePackage -, fetchurl -, ppxlib -, rio -, sedlex -, spices -, uutf -, qcheck +{ + lib, + buildDunePackage, + fetchurl, + ppxlib, + rio, + sedlex, + spices, + uutf, + qcheck, }: buildDunePackage rec { @@ -42,4 +43,3 @@ buildDunePackage rec { maintainers = [ ]; }; } - diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix index dbe915468d9f9..4fabc34188858 100644 --- a/pkgs/development/ocaml-modules/bz2/default.nix +++ b/pkgs/development/ocaml-modules/bz2/default.nix @@ -1,41 +1,51 @@ -{ lib, stdenv, fetchFromGitLab, ocaml, findlib, bzip2, autoreconfHook }: - -if lib.versionOlder ocaml.version "4.02" -|| lib.versionAtLeast ocaml.version "5.0" -then throw "bz2 is not available for OCaml ${ocaml.version}" +{ + lib, + stdenv, + fetchFromGitLab, + ocaml, + findlib, + bzip2, + autoreconfHook, +}: + +if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0" then + throw "bz2 is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-bz2"; - version = "0.7.0"; - - src = fetchFromGitLab { - owner = "irill"; - repo = "camlbz2"; - rev = version; - sha256 = "sha256-jBFEkLN2fbC3LxTu7C0iuhvNg64duuckBHWZoBxrV/U="; - }; - - autoreconfFlags = [ "-I" "." ]; - - nativeBuildInputs = [ - autoreconfHook - ocaml - findlib - ]; - - propagatedBuildInputs = [ - bzip2 - ]; - - strictDeps = true; - - preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; - - meta = with lib; { - description = "OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library"; - downloadPage = "https://gitlab.com/irill/camlbz2"; - license = licenses.lgpl21; - maintainers = [ ]; - }; -} + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-bz2"; + version = "0.7.0"; + + src = fetchFromGitLab { + owner = "irill"; + repo = "camlbz2"; + rev = version; + sha256 = "sha256-jBFEkLN2fbC3LxTu7C0iuhvNg64duuckBHWZoBxrV/U="; + }; + + autoreconfFlags = [ + "-I" + "." + ]; + + nativeBuildInputs = [ + autoreconfHook + ocaml + findlib + ]; + + propagatedBuildInputs = [ + bzip2 + ]; + + strictDeps = true; + + preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; + + meta = with lib; { + description = "OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library"; + downloadPage = "https://gitlab.com/irill/camlbz2"; + license = licenses.lgpl21; + maintainers = [ ]; + }; + } diff --git a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix index f8e17420c44cd..c6d3cfe1e0390 100644 --- a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix +++ b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildDunePackage -, fetchurl -, digestif -, mirage-clock -, x509 -, logs -, fmt -, bos -, cmdliner -, alcotest +{ + lib, + buildDunePackage, + fetchurl, + digestif, + mirage-clock, + x509, + logs, + fmt, + bos, + cmdliner, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ca-certs/default.nix b/pkgs/development/ocaml-modules/ca-certs/default.nix index 85539cdc3dd68..23a76af413874 100644 --- a/pkgs/development/ocaml-modules/ca-certs/default.nix +++ b/pkgs/development/ocaml-modules/ca-certs/default.nix @@ -1,6 +1,17 @@ -{ lib, buildDunePackage, fetchurl -, bos, fpath, ptime, mirage-crypto, x509, astring, logs -, cacert, alcotest, fmt +{ + lib, + buildDunePackage, + fetchurl, + bos, + fpath, + ptime, + mirage-crypto, + x509, + astring, + logs, + cacert, + alcotest, + fmt, }: buildDunePackage rec { @@ -14,11 +25,19 @@ buildDunePackage rec { hash = "sha256-hpDyMSNGckeZ8tihtoTsFrYnsCfUFkgDoOK34kYsCnI="; }; - propagatedBuildInputs = [ bos fpath ptime mirage-crypto x509 astring logs ]; + propagatedBuildInputs = [ + bos + fpath + ptime + mirage-crypto + x509 + astring + logs + ]; doCheck = true; checkInputs = [ - cacert # for /etc/ssl/certs/ca-bundle.crt + cacert # for /etc/ssl/certs/ca-bundle.crt alcotest fmt ]; diff --git a/pkgs/development/ocaml-modules/cairo2/default.nix b/pkgs/development/ocaml-modules/cairo2/default.nix index 38a6f2324ff7a..baed712e9ac6a 100644 --- a/pkgs/development/ocaml-modules/cairo2/default.nix +++ b/pkgs/development/ocaml-modules/cairo2/default.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config, cairo -, ApplicationServices }: +{ + stdenv, + lib, + fetchurl, + buildDunePackage, + ocaml, + dune-configurator, + pkg-config, + cairo, + ApplicationServices, +}: buildDunePackage rec { pname = "cairo2"; @@ -14,11 +23,17 @@ buildDunePackage rec { useDune2 = true; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ cairo dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ApplicationServices ]; + buildInputs = [ + cairo + dune-configurator + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ApplicationServices ]; - doCheck = !(stdenv.hostPlatform.isDarwin - # https://github.com/Chris00/ocaml-cairo/issues/19 - || lib.versionAtLeast ocaml.version "4.10"); + doCheck = + !( + stdenv.hostPlatform.isDarwin + # https://github.com/Chris00/ocaml-cairo/issues/19 + || lib.versionAtLeast ocaml.version "4.10" + ); meta = with lib; { homepage = "https://github.com/Chris00/ocaml-cairo"; @@ -30,6 +45,9 @@ buildDunePackage rec { and SVG file output. ''; license = licenses.lgpl3; - maintainers = with maintainers; [ jirkamarsik vbgl ]; + maintainers = with maintainers; [ + jirkamarsik + vbgl + ]; }; } diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix index fcd8058d64c4f..769386333fba3 100644 --- a/pkgs/development/ocaml-modules/calendar/default.nix +++ b/pkgs/development/ocaml-modules/calendar/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, re }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + re, +}: buildDunePackage rec { pname = "calendar"; diff --git a/pkgs/development/ocaml-modules/callipyge/default.nix b/pkgs/development/ocaml-modules/callipyge/default.nix index 68ba880a7987d..40a3caaa61cee 100644 --- a/pkgs/development/ocaml-modules/callipyge/default.nix +++ b/pkgs/development/ocaml-modules/callipyge/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildDunePackage -, fetchurl -, alcotest -, eqaf -, fmt +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + eqaf, + fmt, }: buildDunePackage rec { @@ -19,7 +20,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ fmt eqaf ]; + propagatedBuildInputs = [ + fmt + eqaf + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix index c9f523d098d70..e4fff7be0fefb 100644 --- a/pkgs/development/ocaml-modules/camlimages/default.nix +++ b/pkgs/development/ocaml-modules/camlimages/default.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitLab, buildDunePackage, findlib, dune-configurator, cppo -, graphics, lablgtk, stdio +{ + lib, + fetchFromGitLab, + buildDunePackage, + findlib, + dune-configurator, + cppo, + graphics, + lablgtk, + stdio, }: buildDunePackage rec { @@ -19,13 +27,22 @@ buildDunePackage rec { patches = [ ./camlimages.patch ]; nativeBuildInputs = [ cppo ]; - buildInputs = [ dune-configurator findlib graphics lablgtk stdio ]; + buildInputs = [ + dune-configurator + findlib + graphics + lablgtk + stdio + ]; meta = with lib; { branch = "5.0"; inherit (src.meta) homepage; description = "OCaml image processing library"; license = licenses.lgpl2; - maintainers = [ maintainers.vbgl maintainers.mt-caret ]; + maintainers = [ + maintainers.vbgl + maintainers.mt-caret + ]; }; } diff --git a/pkgs/development/ocaml-modules/camlp-streams/default.nix b/pkgs/development/ocaml-modules/camlp-streams/default.nix index 1e2a71cc0b9d5..cabccf89e7fc4 100644 --- a/pkgs/development/ocaml-modules/camlp-streams/default.nix +++ b/pkgs/development/ocaml-modules/camlp-streams/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "camlp-streams"; diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix index 3b038f4dfec3a..e36453d216fe2 100644 --- a/pkgs/development/ocaml-modules/camlzip/default.nix +++ b/pkgs/development/ocaml-modules/camlzip/default.nix @@ -1,34 +1,46 @@ -{lib, stdenv, fetchurl, zlib, ocaml, findlib}: +{ + lib, + stdenv, + fetchurl, + zlib, + ocaml, + findlib, +}: let common = { - patches = []; - postPatchInit = '' - cp META-zip META-camlzip - echo 'directory="../zip"' >> META-camlzip - ''; + patches = [ ]; + postPatchInit = '' + cp META-zip META-camlzip + echo 'directory="../zip"' >> META-camlzip + ''; }; param = - if lib.versionAtLeast ocaml.version "4.07" - then common // { - version = "1.11"; - url = "https://github.com/xavierleroy/camlzip/archive/rel111.tar.gz"; - sha256 = "sha256-/7vF3j4cE9wOWScjdtIy0u3pGzJ1UQY9R/3bdPHV7Tc="; - } else if lib.versionAtLeast ocaml.version "4.02" - then common // { - version = "1.10"; - url = "https://github.com/xavierleroy/camlzip/archive/rel110.tar.gz"; - sha256 = "X0YcczaQ3lFeJEiTIgjSSZ1zi32KFMtmZsP0FFpyfbI="; - } else { - version = "1.05"; - download_id = "1037"; - url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz"; - sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b"; - patches = [./makefile_1_05.patch]; - postPatchInit = '' - substitute ${./META} META --subst-var-by VERSION "${param.version}" - ''; - }; + if lib.versionAtLeast ocaml.version "4.07" then + common + // { + version = "1.11"; + url = "https://github.com/xavierleroy/camlzip/archive/rel111.tar.gz"; + sha256 = "sha256-/7vF3j4cE9wOWScjdtIy0u3pGzJ1UQY9R/3bdPHV7Tc="; + } + else if lib.versionAtLeast ocaml.version "4.02" then + common + // { + version = "1.10"; + url = "https://github.com/xavierleroy/camlzip/archive/rel110.tar.gz"; + sha256 = "X0YcczaQ3lFeJEiTIgjSSZ1zi32KFMtmZsP0FFpyfbI="; + } + else + { + version = "1.05"; + download_id = "1037"; + url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz"; + sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b"; + patches = [ ./makefile_1_05.patch ]; + postPatchInit = '' + substitute ${./META} META --subst-var-by VERSION "${param.version}" + ''; + }; in stdenv.mkDerivation { @@ -40,9 +52,12 @@ stdenv.mkDerivation { inherit (param) sha256; }; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; - propagatedBuildInputs = [zlib]; + propagatedBuildInputs = [ zlib ]; strictDeps = true; @@ -50,13 +65,18 @@ stdenv.mkDerivation { createFindlibDestdir = true; - postPatch = param.postPatchInit + '' - substituteInPlace Makefile \ - --subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \ - --subst-var-by ZLIB_INCLUDE "${zlib.dev}/include" - ''; + postPatch = + param.postPatchInit + + '' + substituteInPlace Makefile \ + --subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \ + --subst-var-by ZLIB_INCLUDE "${zlib.dev}/include" + ''; - buildFlags = [ "all" "allopt" ]; + buildFlags = [ + "all" + "allopt" + ]; postInstall = '' ln -s $out/lib/ocaml/${ocaml.version}/site-lib/{,caml}zip diff --git a/pkgs/development/ocaml-modules/camomile/0.8.5.nix b/pkgs/development/ocaml-modules/camomile/0.8.5.nix index 658daf61c81af..430991dcad076 100644 --- a/pkgs/development/ocaml-modules/camomile/0.8.5.nix +++ b/pkgs/development/ocaml-modules/camomile/0.8.5.nix @@ -1,4 +1,12 @@ -{stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, camlp4}: +{ + stdenv, + lib, + fetchurl, + fetchpatch, + ocaml, + findlib, + camlp4, +}: stdenv.mkDerivation { pname = "camomile"; @@ -9,12 +17,18 @@ stdenv.mkDerivation { sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045"; }; - patches = [ (fetchpatch { - url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/camomile/camomile.0.8.5/files/4.05-typing-fix.patch"; - sha256 = "167279lia6qx62mdcyc5rjsi4gf4yi52wn9mhgd9y1v3754z7fwb"; - })]; + patches = [ + (fetchpatch { + url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/camomile/camomile.0.8.5/files/4.05-typing-fix.patch"; + sha256 = "167279lia6qx62mdcyc5rjsi4gf4yi52wn9mhgd9y1v3754z7fwb"; + }) + ]; - nativeBuildInputs = [ocaml findlib camlp4 ]; + nativeBuildInputs = [ + ocaml + findlib + camlp4 + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix index 94e858ff9fb4b..3bb9677e7442e 100644 --- a/pkgs/development/ocaml-modules/camomile/default.nix +++ b/pkgs/development/ocaml-modules/camomile/default.nix @@ -1,32 +1,42 @@ -{ stdenv, lib, darwin, fetchFromGitHub, buildDunePackage, ocaml, cppo -, camlp-streams, dune-site -, version ? if lib.versionAtLeast ocaml.version "4.08" then "2.0.0" else "1.0.2" +{ + stdenv, + lib, + darwin, + fetchFromGitHub, + buildDunePackage, + ocaml, + cppo, + camlp-streams, + dune-site, + version ? if lib.versionAtLeast ocaml.version "4.08" then "2.0.0" else "1.0.2", }: -let params = - { - "1.0.2" = lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "camomile 1 is not available for OCaml ${ocaml.version}" { - src = fetchFromGitHub { - owner = "yoriyuki"; - repo = "camomile"; - rev = version; - sha256 = "00i910qjv6bpk0nkafp5fg97isqas0bwjf7m6rz11rsxilpalzad"; - }; +let + params = { + "1.0.2" = + lib.throwIf (lib.versionAtLeast ocaml.version "5.0") + "camomile 1 is not available for OCaml ${ocaml.version}" + { + src = fetchFromGitHub { + owner = "yoriyuki"; + repo = "camomile"; + rev = version; + sha256 = "00i910qjv6bpk0nkafp5fg97isqas0bwjf7m6rz11rsxilpalzad"; + }; - nativeBuildInputs = [ cppo ]; + nativeBuildInputs = [ cppo ]; - configurePhase = '' - runHook preConfigure - ocaml configure.ml --share $out/share/camomile - runHook postConfigure - ''; + configurePhase = '' + runHook preConfigure + ocaml configure.ml --share $out/share/camomile + runHook postConfigure + ''; - postInstall = '' - echo "version = \"${version}\"" >> $out/lib/ocaml/${ocaml.version}/site-lib/camomile/META - ''; + postInstall = '' + echo "version = \"${version}\"" >> $out/lib/ocaml/${ocaml.version}/site-lib/camomile/META + ''; - }; + }; "2.0.0" = { src = fetchFromGitHub { @@ -38,20 +48,25 @@ let params = nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.sigtool; - propagatedBuildInputs = [ camlp-streams dune-site ]; + propagatedBuildInputs = [ + camlp-streams + dune-site + ]; }; - } -; in - + }; +in -buildDunePackage (params."${version}" // { - pname = "camomile"; - inherit version; +buildDunePackage ( + params."${version}" + // { + pname = "camomile"; + inherit version; - meta = { - homepage = "https://github.com/ocaml-community/Camomile"; - maintainers = [ lib.maintainers.vbgl ]; - license = lib.licenses.lgpl21; - description = "Unicode library for OCaml"; - }; -}) + meta = { + homepage = "https://github.com/ocaml-community/Camomile"; + maintainers = [ lib.maintainers.vbgl ]; + license = lib.licenses.lgpl21; + description = "Unicode library for OCaml"; + }; + } +) diff --git a/pkgs/development/ocaml-modules/capnp/default.nix b/pkgs/development/ocaml-modules/capnp/default.nix index 2d405dceaab14..e81c1252edc39 100644 --- a/pkgs/development/ocaml-modules/capnp/default.nix +++ b/pkgs/development/ocaml-modules/capnp/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, base_quickcheck ? null -, capnproto -, ocplib-endian -, ounit2 -, res -, result -, stdint -, stdio +{ + lib, + buildDunePackage, + fetchFromGitHub, + base_quickcheck ? null, + capnproto, + ocplib-endian, + ounit2, + res, + result, + stdint, + stdio, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/caqti/async.nix b/pkgs/development/ocaml-modules/caqti/async.nix index a0f3fb035646b..5db8fda9d77b6 100644 --- a/pkgs/development/ocaml-modules/caqti/async.nix +++ b/pkgs/development/ocaml-modules/caqti/async.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, async_kernel, async_unix, caqti, core_kernel }: +{ + buildDunePackage, + async_kernel, + async_unix, + caqti, + core_kernel, +}: buildDunePackage { pname = "caqti-async"; @@ -6,7 +12,14 @@ buildDunePackage { minimalOCamlVersion = "4.14"; - propagatedBuildInputs = [ async_kernel async_unix caqti core_kernel ]; + propagatedBuildInputs = [ + async_kernel + async_unix + caqti + core_kernel + ]; - meta = caqti.meta // { description = "Async support for Caqti"; }; + meta = caqti.meta // { + description = "Async support for Caqti"; + }; } diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix index 218f4cf3c120c..5e04b4258bbee 100644 --- a/pkgs/development/ocaml-modules/caqti/default.nix +++ b/pkgs/development/ocaml-modules/caqti/default.nix @@ -1,16 +1,17 @@ -{ lib -, fetchurl -, buildDunePackage -, angstrom -, bigstringaf -, domain-name -, dune-site -, ipaddr -, logs -, lwt-dllist -, mtime -, ptime -, uri +{ + lib, + fetchurl, + buildDunePackage, + angstrom, + bigstringaf, + domain-name, + dune-site, + ipaddr, + logs, + lwt-dllist, + mtime, + ptime, + uri, }: buildDunePackage rec { @@ -25,14 +26,27 @@ buildDunePackage rec { }; buildInputs = [ dune-site ]; - propagatedBuildInputs = [ angstrom bigstringaf domain-name ipaddr logs lwt-dllist mtime ptime uri ]; + propagatedBuildInputs = [ + angstrom + bigstringaf + domain-name + ipaddr + logs + lwt-dllist + mtime + ptime + uri + ]; # Checks depend on caqti-driver-sqlite3 (circural dependency) doCheck = false; meta = { description = "Unified interface to relational database libraries"; - license = with lib.licenses; [ lgpl3Plus ocamlLgplLinkingException ]; + license = with lib.licenses; [ + lgpl3Plus + ocamlLgplLinkingException + ]; maintainers = with lib.maintainers; [ bcc32 ]; homepage = "https://github.com/paurkedal/ocaml-caqti"; }; diff --git a/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix b/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix index 5a6199de3ccc3..4ea0b47dabbf0 100644 --- a/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix +++ b/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix @@ -1,10 +1,17 @@ -{ buildDunePackage, caqti, mariadb }: +{ + buildDunePackage, + caqti, + mariadb, +}: buildDunePackage { pname = "caqti-driver-mariadb"; inherit (caqti) version src; - propagatedBuildInputs = [ caqti mariadb ]; + propagatedBuildInputs = [ + caqti + mariadb + ]; meta = caqti.meta // { description = "MariaDB driver for Caqti using C bindings"; diff --git a/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix b/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix index fc440d2a1384d..5b7ffd3d37f88 100644 --- a/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix +++ b/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix @@ -1,10 +1,17 @@ -{ buildDunePackage, caqti, postgresql }: +{ + buildDunePackage, + caqti, + postgresql, +}: buildDunePackage { pname = "caqti-driver-postgresql"; inherit (caqti) version src; - propagatedBuildInputs = [ caqti postgresql ]; + propagatedBuildInputs = [ + caqti + postgresql + ]; meta = caqti.meta // { description = "PostgreSQL driver for Caqti based on C bindings"; diff --git a/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix b/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix index 362707025ee7f..1387b0ff1a924 100644 --- a/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix +++ b/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix @@ -1,10 +1,18 @@ -{ buildDunePackage, caqti, ocaml_sqlite3, alcotest }: +{ + buildDunePackage, + caqti, + ocaml_sqlite3, + alcotest, +}: buildDunePackage { pname = "caqti-driver-sqlite3"; inherit (caqti) version src; - propagatedBuildInputs = [ caqti ocaml_sqlite3 ]; + propagatedBuildInputs = [ + caqti + ocaml_sqlite3 + ]; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/caqti/dynload.nix b/pkgs/development/ocaml-modules/caqti/dynload.nix index 3450a6311efd2..6cbb4638a013c 100644 --- a/pkgs/development/ocaml-modules/caqti/dynload.nix +++ b/pkgs/development/ocaml-modules/caqti/dynload.nix @@ -1,10 +1,17 @@ -{ buildDunePackage, caqti, findlib }: +{ + buildDunePackage, + caqti, + findlib, +}: buildDunePackage { pname = "caqti-dynload"; inherit (caqti) version src; - propagatedBuildInputs = [ caqti findlib ]; + propagatedBuildInputs = [ + caqti + findlib + ]; meta = caqti.meta // { description = "Dynamic linking of Caqti drivers using findlib.dynload"; diff --git a/pkgs/development/ocaml-modules/caqti/lwt.nix b/pkgs/development/ocaml-modules/caqti/lwt.nix index 35aebaebae5ae..d3e0747d4dcf9 100644 --- a/pkgs/development/ocaml-modules/caqti/lwt.nix +++ b/pkgs/development/ocaml-modules/caqti/lwt.nix @@ -1,10 +1,21 @@ -{ buildDunePackage, caqti, logs, lwt }: +{ + buildDunePackage, + caqti, + logs, + lwt, +}: buildDunePackage { pname = "caqti-lwt"; inherit (caqti) version src; - propagatedBuildInputs = [ caqti logs lwt ]; + propagatedBuildInputs = [ + caqti + logs + lwt + ]; - meta = caqti.meta // { description = "Lwt support for Caqti"; }; + meta = caqti.meta // { + description = "Lwt support for Caqti"; + }; } diff --git a/pkgs/development/ocaml-modules/caqti/type-calendar.nix b/pkgs/development/ocaml-modules/caqti/type-calendar.nix index 9f71bd1d164c0..15efe5215e00f 100644 --- a/pkgs/development/ocaml-modules/caqti/type-calendar.nix +++ b/pkgs/development/ocaml-modules/caqti/type-calendar.nix @@ -1,10 +1,17 @@ -{ buildDunePackage, calendar, caqti }: +{ + buildDunePackage, + calendar, + caqti, +}: buildDunePackage { pname = "caqti-type-calendar"; inherit (caqti) src version; - propagatedBuildInputs = [ calendar caqti ]; + propagatedBuildInputs = [ + calendar + caqti + ]; meta = caqti.meta // { description = "Date and time field types using the calendar library"; diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix index 7ba02d68ff5f4..b1f35bea8fa55 100644 --- a/pkgs/development/ocaml-modules/carton/default.nix +++ b/pkgs/development/ocaml-modules/carton/default.nix @@ -1,9 +1,33 @@ -{ lib, buildDunePackage, fetchurl -, ke, duff, decompress, cstruct, optint, bigstringaf -, checkseum, logs, psq, fmt -, result, rresult, fpath, base64, bos, digestif, alcotest -, crowbar, alcotest-lwt, lwt, findlib, mirage-flow, cmdliner, hxd -, getconf, substituteAll +{ + lib, + buildDunePackage, + fetchurl, + ke, + duff, + decompress, + cstruct, + optint, + bigstringaf, + checkseum, + logs, + psq, + fmt, + result, + rresult, + fpath, + base64, + bos, + digestif, + alcotest, + crowbar, + alcotest-lwt, + lwt, + findlib, + mirage-flow, + cmdliner, + hxd, + getconf, + substituteAll, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/carton/git.nix b/pkgs/development/ocaml-modules/carton/git.nix index 97055067bc4a2..331f66bb31f4f 100644 --- a/pkgs/development/ocaml-modules/carton/git.nix +++ b/pkgs/development/ocaml-modules/carton/git.nix @@ -1,6 +1,14 @@ -{ buildDunePackage, carton, carton-lwt -, bigstringaf, lwt, fpath, result -, fmt, decompress, astring +{ + buildDunePackage, + carton, + carton-lwt, + bigstringaf, + lwt, + fpath, + result, + fmt, + decompress, + astring, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/carton/lwt.nix b/pkgs/development/ocaml-modules/carton/lwt.nix index cf07eca552bae..eacc9e1950504 100644 --- a/pkgs/development/ocaml-modules/carton/lwt.nix +++ b/pkgs/development/ocaml-modules/carton/lwt.nix @@ -1,10 +1,26 @@ -{ buildDunePackage, carton -, lwt, decompress, optint, bigstringaf -, alcotest, alcotest-lwt, cstruct, fmt, logs -, mirage-flow, result, rresult -, ke, base64, bos, checkseum, digestif, fpath -, stdlib-shims -, git-binary # pkgs.git +{ + buildDunePackage, + carton, + lwt, + decompress, + optint, + bigstringaf, + alcotest, + alcotest-lwt, + cstruct, + fmt, + logs, + mirage-flow, + result, + rresult, + ke, + base64, + bos, + checkseum, + digestif, + fpath, + stdlib-shims, + git-binary, # pkgs.git }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/cfstream/default.nix b/pkgs/development/ocaml-modules/cfstream/default.nix index e5de1b6485348..07a16e32fbb36 100644 --- a/pkgs/development/ocaml-modules/cfstream/default.nix +++ b/pkgs/development/ocaml-modules/cfstream/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, m4, camlp-streams, core_kernel, ounit }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + m4, + camlp-streams, + core_kernel, + ounit, +}: buildDunePackage rec { pname = "cfstream"; @@ -8,16 +16,22 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "biocaml"; - repo = pname; - rev = version; + repo = pname; + rev = version; hash = "sha256-iSg0QsTcU0MT/Cletl+hW6bKyH0jkp7Jixqu8H59UmQ="; }; - patches = [ ./git_commit.patch ./janestreet-0.17.patch ]; + patches = [ + ./git_commit.patch + ./janestreet-0.17.patch + ]; nativeBuildInputs = [ m4 ]; checkInputs = [ ounit ]; - propagatedBuildInputs = [ camlp-streams core_kernel ]; + propagatedBuildInputs = [ + camlp-streams + core_kernel + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/chacha/default.nix b/pkgs/development/ocaml-modules/chacha/default.nix index c72ab59e3f7bc..f5d6c4c1008b2 100644 --- a/pkgs/development/ocaml-modules/chacha/default.nix +++ b/pkgs/development/ocaml-modules/chacha/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, fetchpatch -, ocaml +{ + lib, + buildDunePackage, + fetchFromGitHub, + fetchpatch, + ocaml, -, alcotest -, cstruct -, mirage-crypto + alcotest, + cstruct, + mirage-crypto, }: buildDunePackage rec { @@ -21,12 +22,17 @@ buildDunePackage rec { }; # Ensure compatibility with cstruct ≥ 6.1.0 - patches = [ (fetchpatch { - url = "https://github.com/abeaumont/ocaml-chacha/commit/fbe4a0a808226229728a68f278adf370251196fd.patch"; - sha256 = "sha256-y7X9toFDrgdv3qmFmUs7K7QS+Gy45rRLulKy48m7uqc="; - })]; + patches = [ + (fetchpatch { + url = "https://github.com/abeaumont/ocaml-chacha/commit/fbe4a0a808226229728a68f278adf370251196fd.patch"; + sha256 = "sha256-y7X9toFDrgdv3qmFmUs7K7QS+Gy45rRLulKy48m7uqc="; + }) + ]; - propagatedBuildInputs = [ cstruct mirage-crypto ]; + propagatedBuildInputs = [ + cstruct + mirage-crypto + ]; # alcotest isn't available for OCaml < 4.05 due to fmt doCheck = lib.versionAtLeast ocaml.version "4.05"; diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix index 7e3a17ac56007..e72edc46e4f74 100644 --- a/pkgs/development/ocaml-modules/checkseum/default.nix +++ b/pkgs/development/ocaml-modules/checkseum/default.nix @@ -1,6 +1,16 @@ -{ lib, fetchurl, buildDunePackage, ocaml, dune-configurator -, optint -, fmt, rresult, bos, fpath, astring, alcotest +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + dune-configurator, + optint, + fmt, + rresult, + bos, + fpath, + astring, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/chrome-trace/default.nix b/pkgs/development/ocaml-modules/chrome-trace/default.nix index 9c427d343758e..e07f1c796eed6 100644 --- a/pkgs/development/ocaml-modules/chrome-trace/default.nix +++ b/pkgs/development/ocaml-modules/chrome-trace/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, dune_3 }: +{ + lib, + buildDunePackage, + dune_3, +}: buildDunePackage rec { pname = "chrome-trace"; diff --git a/pkgs/development/ocaml-modules/cil/default.nix b/pkgs/development/ocaml-modules/cil/default.nix index 4cedb1291e1de..73e37f9281bcd 100644 --- a/pkgs/development/ocaml-modules/cil/default.nix +++ b/pkgs/development/ocaml-modules/cil/default.nix @@ -1,35 +1,48 @@ -{ lib, stdenv, fetchurl, perl, ocaml, findlib, ocamlbuild }: - -if lib.versionAtLeast ocaml.version "4.06" -then throw "cil is not available for OCaml ${ocaml.version}" +{ + lib, + stdenv, + fetchurl, + perl, + ocaml, + findlib, + ocamlbuild, +}: + +if lib.versionAtLeast ocaml.version "4.06" then + throw "cil is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml-cil"; - version = "1.7.3"; - - src = fetchurl { - url = "mirror://sourceforge/cil/cil-${version}.tar.gz"; - sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9"; - }; - - nativeBuildInputs = [ perl ocaml findlib ocamlbuild ]; - - strictDeps = true; - - createFindlibDestdir = true; - - preConfigure = '' - substituteInPlace Makefile.in --replace 'MACHDEPCC=gcc' 'MACHDEPCC=$(CC)' - export FORCE_PERL_PREFIX=1 - ''; - prefixKey = "-prefix="; - - meta = with lib; { - homepage = "http://kerneis.github.io/cil/"; - description = "Front-end for the C programming language that facilitates program analysis and transformation"; - license = licenses.bsd3; - maintainers = [ maintainers.vbgl ]; - platforms = ocaml.meta.platforms or [ ]; - }; -} + stdenv.mkDerivation rec { + pname = "ocaml-cil"; + version = "1.7.3"; + + src = fetchurl { + url = "mirror://sourceforge/cil/cil-${version}.tar.gz"; + sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9"; + }; + + nativeBuildInputs = [ + perl + ocaml + findlib + ocamlbuild + ]; + + strictDeps = true; + + createFindlibDestdir = true; + + preConfigure = '' + substituteInPlace Makefile.in --replace 'MACHDEPCC=gcc' 'MACHDEPCC=$(CC)' + export FORCE_PERL_PREFIX=1 + ''; + prefixKey = "-prefix="; + + meta = with lib; { + homepage = "http://kerneis.github.io/cil/"; + description = "Front-end for the C programming language that facilitates program analysis and transformation"; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + platforms = ocaml.meta.platforms or [ ]; + }; + } diff --git a/pkgs/development/ocaml-modules/clap/default.nix b/pkgs/development/ocaml-modules/clap/default.nix index 83d420c80f335..8ea75a2c7c708 100644 --- a/pkgs/development/ocaml-modules/clap/default.nix +++ b/pkgs/development/ocaml-modules/clap/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildDunePackage +{ + lib, + fetchFromGitHub, + buildDunePackage, }: buildDunePackage rec { @@ -21,4 +22,3 @@ buildDunePackage rec { license = lib.licenses.mit; }; } - diff --git a/pkgs/development/ocaml-modules/class_group_vdf/default.nix b/pkgs/development/ocaml-modules/class_group_vdf/default.nix index 61acb189242d6..e36c346349199 100644 --- a/pkgs/development/ocaml-modules/class_group_vdf/default.nix +++ b/pkgs/development/ocaml-modules/class_group_vdf/default.nix @@ -1,55 +1,72 @@ -{ stdenv, lib, fetchFromGitLab, buildDunePackage -, gmp, pkg-config, dune-configurator -, zarith, integers -, alcotest, bisect_ppx +{ + stdenv, + lib, + fetchFromGitLab, + buildDunePackage, + gmp, + pkg-config, + dune-configurator, + zarith, + integers, + alcotest, + bisect_ppx, }: -buildDunePackage (rec { - pname = "class_group_vdf"; - version = "0.0.4"; - duneVersion = "3"; - - src = fetchFromGitLab { - owner = "nomadic-labs/cryptography"; - repo = "ocaml-chia-vdf"; - rev = "v${version}"; - hash = "sha256-KvpnX2DTUyfKARNWHC2lLBGH2Ou2GfRKjw05lu4jbBs="; - }; - - minimalOCamlVersion = "4.08"; - - nativeBuildInputs = [ - gmp - pkg-config - dune-configurator - ]; - - buildInputs = [ - dune-configurator - ]; - - propagatedBuildInputs = [ - zarith - integers - ]; - - checkInputs = [ - alcotest - bisect_ppx - ]; - - doCheck = true; - - meta = { - description = "Verifiable Delay Functions bindings to Chia's VDF"; - homepage = "https://gitlab.com/nomadic-labs/tezos"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.ulrikstrid ]; - }; -} -# Darwin sdk on intel target 10.12 (2016) at the time of writing. It is likely that host will be at least 10.14 (2018). This fix allow it to build and run on 10.14 and build on 10.12 (but don't run). -// lib.optionalAttrs (lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.14" && stdenv.hostPlatform.isMacOS && stdenv.hostPlatform.isx86_64) { - preHook = '' - export MACOSX_DEPLOYMENT_TARGET=10.14 - ''; -}) +buildDunePackage ( + rec { + pname = "class_group_vdf"; + version = "0.0.4"; + duneVersion = "3"; + + src = fetchFromGitLab { + owner = "nomadic-labs/cryptography"; + repo = "ocaml-chia-vdf"; + rev = "v${version}"; + hash = "sha256-KvpnX2DTUyfKARNWHC2lLBGH2Ou2GfRKjw05lu4jbBs="; + }; + + minimalOCamlVersion = "4.08"; + + nativeBuildInputs = [ + gmp + pkg-config + dune-configurator + ]; + + buildInputs = [ + dune-configurator + ]; + + propagatedBuildInputs = [ + zarith + integers + ]; + + checkInputs = [ + alcotest + bisect_ppx + ]; + + doCheck = true; + + meta = { + description = "Verifiable Delay Functions bindings to Chia's VDF"; + homepage = "https://gitlab.com/nomadic-labs/tezos"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.ulrikstrid ]; + }; + } + # Darwin sdk on intel target 10.12 (2016) at the time of writing. It is likely that host will be at least 10.14 (2018). This fix allow it to build and run on 10.14 and build on 10.12 (but don't run). + // + lib.optionalAttrs + ( + lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.14" + && stdenv.hostPlatform.isMacOS + && stdenv.hostPlatform.isx86_64 + ) + { + preHook = '' + export MACOSX_DEPLOYMENT_TARGET=10.14 + ''; + } +) diff --git a/pkgs/development/ocaml-modules/cmarkit/default.nix b/pkgs/development/ocaml-modules/cmarkit/default.nix index e2b6d054db10f..7589b9dd9a7f3 100644 --- a/pkgs/development/ocaml-modules/cmarkit/default.nix +++ b/pkgs/development/ocaml-modules/cmarkit/default.nix @@ -1,48 +1,49 @@ -{ lib -, stdenv -, cmdliner -, fetchurl -, findlib -, ocaml -, ocamlbuild -, topkg +{ + lib, + stdenv, + cmdliner, + fetchurl, + findlib, + ocaml, + ocamlbuild, + topkg, }: -if lib.versionOlder ocaml.version "4.14.0" -then throw "cmarkit is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.14.0" then + throw "cmarkit is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "cmarkit"; - version = "0.3.0"; - - src = fetchurl { - url = "https://erratique.ch/software/cmarkit/releases/cmarkit-${version}.tbz"; - hash = "sha256-RouM5iU7VeTT0+4yhBgdEmxROeP/X31iqDjd1VI7z5c="; - }; - - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - - buildInputs = [ - topkg - cmdliner - ]; - - strictDeps = true; - - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "CommonMark parser and renderer for OCaml"; - homepage = "https://erratique.ch/software/cmarkit"; - changelog = "https://github.com/dbuenzli/cmarkit/blob/v${version}/CHANGES.md"; - license = licenses.isc; - maintainers = [ ]; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation rec { + pname = "cmarkit"; + version = "0.3.0"; + + src = fetchurl { + url = "https://erratique.ch/software/cmarkit/releases/cmarkit-${version}.tbz"; + hash = "sha256-RouM5iU7VeTT0+4yhBgdEmxROeP/X31iqDjd1VI7z5c="; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + + buildInputs = [ + topkg + cmdliner + ]; + + strictDeps = true; + + inherit (topkg) buildPhase installPhase; + + meta = with lib; { + description = "CommonMark parser and renderer for OCaml"; + homepage = "https://erratique.ch/software/cmarkit"; + changelog = "https://github.com/dbuenzli/cmarkit/blob/v${version}/CHANGES.md"; + license = licenses.isc; + maintainers = [ ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/cmdliner/1_0.nix b/pkgs/development/ocaml-modules/cmdliner/1_0.nix index 62efd4a11eee1..ee57846783f9c 100644 --- a/pkgs/development/ocaml-modules/cmdliner/1_0.nix +++ b/pkgs/development/ocaml-modules/cmdliner/1_0.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ocaml }: +{ + lib, + stdenv, + fetchurl, + ocaml, +}: assert (lib.versionAtLeast ocaml.version "4.03"); diff --git a/pkgs/development/ocaml-modules/cmdliner/1_1.nix b/pkgs/development/ocaml-modules/cmdliner/1_1.nix index b9639438c414f..31ec0e69ef2fe 100644 --- a/pkgs/development/ocaml-modules/cmdliner/1_1.nix +++ b/pkgs/development/ocaml-modules/cmdliner/1_1.nix @@ -1,34 +1,40 @@ -{ lib, stdenv, fetchurl, ocaml }: +{ + lib, + stdenv, + fetchurl, + ocaml, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "cmdliner 1.1 is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "cmdliner"; - version = "1.3.0"; + stdenv.mkDerivation + rec { + pname = "cmdliner"; + version = "1.3.0"; - src = fetchurl { - url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; - sha256 = "sha256-joGA9XO0QPanqMII2rLK5KgjhP7HMtInhNG7bmQWjLs="; - }; + src = fetchurl { + url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; + sha256 = "sha256-joGA9XO0QPanqMII2rLK5KgjhP7HMtInhNG7bmQWjLs="; + }; - nativeBuildInputs = [ ocaml ]; + nativeBuildInputs = [ ocaml ]; - makeFlags = [ "PREFIX=$(out)" ]; - installTargets = "install install-doc"; - installFlags = [ - "LIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/${pname}" - "DOCDIR=$(out)/share/doc/${pname}" - ]; - postInstall = '' - mv $out/lib/ocaml/${ocaml.version}/site-lib/${pname}/{opam,${pname}.opam} - ''; + makeFlags = [ "PREFIX=$(out)" ]; + installTargets = "install install-doc"; + installFlags = [ + "LIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/${pname}" + "DOCDIR=$(out)/share/doc/${pname}" + ]; + postInstall = '' + mv $out/lib/ocaml/${ocaml.version}/site-lib/${pname}/{opam,${pname}.opam} + ''; - meta = with lib; { - homepage = "https://erratique.ch/software/cmdliner"; - description = "OCaml module for the declarative definition of command line interfaces"; - license = licenses.isc; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.vbgl ]; - }; -} + meta = with lib; { + homepage = "https://erratique.ch/software/cmdliner"; + description = "OCaml module for the declarative definition of command line interfaces"; + license = licenses.isc; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/cohttp/async.nix b/pkgs/development/ocaml-modules/cohttp/async.nix index 78367fcaba99a..93a040b6ec746 100644 --- a/pkgs/development/ocaml-modules/cohttp/async.nix +++ b/pkgs/development/ocaml-modules/cohttp/async.nix @@ -1,22 +1,23 @@ -{ buildDunePackage -, ppx_sexp_conv -, base -, async -, async_kernel -, async_unix -, cohttp -, conduit-async -, core_unix ? null -, uri -, uri-sexp -, logs -, fmt -, sexplib0 -, ipaddr -, magic-mime -, ounit -, mirage-crypto -, core +{ + buildDunePackage, + ppx_sexp_conv, + base, + async, + async_kernel, + async_unix, + cohttp, + conduit-async, + core_unix ? null, + uri, + uri-sexp, + logs, + fmt, + sexplib0, + ipaddr, + magic-mime, + ounit, + mirage-crypto, + core, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix index 6f89c670c6b96..8a3d0bd88f233 100644 --- a/pkgs/development/ocaml-modules/cohttp/default.nix +++ b/pkgs/development/ocaml-modules/cohttp/default.nix @@ -1,7 +1,16 @@ -{ lib, fetchurl, buildDunePackage -, ppx_sexp_conv, base64, jsonm, re, stringext, uri-sexp -, fmt, alcotest -, crowbar +{ + lib, + fetchurl, + buildDunePackage, + ppx_sexp_conv, + base64, + jsonm, + re, + stringext, + uri-sexp, + fmt, + alcotest, + crowbar, }: buildDunePackage rec { @@ -19,12 +28,24 @@ buildDunePackage rec { substituteInPlace cohttp/src/dune --replace 'bytes base64' 'base64' ''; - buildInputs = [ jsonm ppx_sexp_conv ]; + buildInputs = [ + jsonm + ppx_sexp_conv + ]; - propagatedBuildInputs = [ base64 re stringext uri-sexp ]; + propagatedBuildInputs = [ + base64 + re + stringext + uri-sexp + ]; doCheck = true; - checkInputs = [ fmt alcotest crowbar ]; + checkInputs = [ + fmt + alcotest + crowbar + ]; meta = { description = "HTTP(S) library for Lwt, Async and Mirage"; diff --git a/pkgs/development/ocaml-modules/cohttp/lwt-jsoo.nix b/pkgs/development/ocaml-modules/cohttp/lwt-jsoo.nix index a1d349b647d50..789466fa94105 100644 --- a/pkgs/development/ocaml-modules/cohttp/lwt-jsoo.nix +++ b/pkgs/development/ocaml-modules/cohttp/lwt-jsoo.nix @@ -1,6 +1,14 @@ -{ buildDunePackage -, cohttp, cohttp-lwt, logs, lwt, js_of_ocaml, js_of_ocaml-ppx, js_of_ocaml-lwt -, nodejs, lwt_ppx +{ + buildDunePackage, + cohttp, + cohttp-lwt, + logs, + lwt, + js_of_ocaml, + js_of_ocaml-ppx, + js_of_ocaml-lwt, + nodejs, + lwt_ppx, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix index e7fecbefb91a0..c8a77b57536f5 100644 --- a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix @@ -1,8 +1,15 @@ -{ buildDunePackage, cohttp-lwt -, conduit-lwt-unix, conduit-lwt, ppx_sexp_conv -, cmdliner, fmt, logs, magic-mime -, ounit -, cacert +{ + buildDunePackage, + cohttp-lwt, + conduit-lwt-unix, + conduit-lwt, + ppx_sexp_conv, + cmdliner, + fmt, + logs, + magic-mime, + ounit, + cacert, }: buildDunePackage { @@ -11,7 +18,10 @@ buildDunePackage { duneVersion = "3"; - buildInputs = [ cmdliner ppx_sexp_conv ]; + buildInputs = [ + cmdliner + ppx_sexp_conv + ]; propagatedBuildInputs = [ cohttp-lwt @@ -25,7 +35,10 @@ buildDunePackage { # TODO(@sternenseemann): fail for unknown reason # https://github.com/mirage/ocaml-cohttp/issues/675#issuecomment-830692742 doCheck = false; - checkInputs = [ ounit cacert ]; + checkInputs = [ + ounit + cacert + ]; meta = cohttp-lwt.meta // { description = "CoHTTP implementation for Unix and Windows using Lwt"; diff --git a/pkgs/development/ocaml-modules/cohttp/lwt.nix b/pkgs/development/ocaml-modules/cohttp/lwt.nix index 7d0678d8251d3..4471ae205b1a8 100644 --- a/pkgs/development/ocaml-modules/cohttp/lwt.nix +++ b/pkgs/development/ocaml-modules/cohttp/lwt.nix @@ -1,4 +1,12 @@ -{ buildDunePackage, cohttp, lwt, uri, ppx_sexp_conv, logs, sexplib0 }: +{ + buildDunePackage, + cohttp, + lwt, + uri, + ppx_sexp_conv, + logs, + sexplib0, +}: buildDunePackage { pname = "cohttp-lwt"; @@ -12,7 +20,11 @@ buildDunePackage { buildInputs = [ ppx_sexp_conv ]; propagatedBuildInputs = [ - cohttp lwt logs sexplib0 uri + cohttp + lwt + logs + sexplib0 + uri ]; meta = cohttp.meta // { diff --git a/pkgs/development/ocaml-modules/coin/default.nix b/pkgs/development/ocaml-modules/coin/default.nix index b79a69e432136..487c9f6c8c15d 100644 --- a/pkgs/development/ocaml-modules/coin/default.nix +++ b/pkgs/development/ocaml-modules/coin/default.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, fetchurl -, findlib -, lib -, ocaml -, re +{ + buildDunePackage, + fetchurl, + findlib, + lib, + ocaml, + re, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/color/default.nix b/pkgs/development/ocaml-modules/color/default.nix index 84d2f11d8629d..53a1c5273f8ca 100644 --- a/pkgs/development/ocaml-modules/color/default.nix +++ b/pkgs/development/ocaml-modules/color/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, buildDunePackage -, gg +{ + lib, + fetchurl, + buildDunePackage, + gg, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/colors/default.nix b/pkgs/development/ocaml-modules/colors/default.nix index 2b7f5fbee3f47..ad9f3532a49ff 100644 --- a/pkgs/development/ocaml-modules/colors/default.nix +++ b/pkgs/development/ocaml-modules/colors/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, mdx +{ + lib, + buildDunePackage, + fetchurl, + mdx, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/conduit/async.nix b/pkgs/development/ocaml-modules/conduit/async.nix index 5d9475dbe0c5b..c883cf181c8ea 100644 --- a/pkgs/development/ocaml-modules/conduit/async.nix +++ b/pkgs/development/ocaml-modules/conduit/async.nix @@ -1,5 +1,14 @@ -{ buildDunePackage, async, ppx_sexp_conv, ppx_here, uri, conduit -, core, ipaddr, ipaddr-sexp, sexplib0 +{ + buildDunePackage, + async, + ppx_sexp_conv, + ppx_here, + uri, + conduit, + core, + ipaddr, + ipaddr-sexp, + sexplib0, }: buildDunePackage { @@ -9,7 +18,10 @@ buildDunePackage { src ; - buildInputs = [ ppx_sexp_conv ppx_here ]; + buildInputs = [ + ppx_sexp_conv + ppx_here + ]; propagatedBuildInputs = [ async diff --git a/pkgs/development/ocaml-modules/conduit/default.nix b/pkgs/development/ocaml-modules/conduit/default.nix index 602e3919cb1fe..de1159964fd17 100644 --- a/pkgs/development/ocaml-modules/conduit/default.nix +++ b/pkgs/development/ocaml-modules/conduit/default.nix @@ -1,6 +1,13 @@ -{ lib, fetchurl, buildDunePackage -, ppx_sexp_conv, sexplib0, astring, uri -, ipaddr, ipaddr-sexp +{ + lib, + fetchurl, + buildDunePackage, + ppx_sexp_conv, + sexplib0, + astring, + uri, + ipaddr, + ipaddr-sexp, }: buildDunePackage rec { @@ -14,12 +21,22 @@ buildDunePackage rec { hash = "sha256-Pg7ChIlqldF42NE1eS56Rssk+csK8OqWTQXO4avLEhg="; }; - propagatedBuildInputs = [ astring ipaddr ipaddr-sexp sexplib0 uri ppx_sexp_conv ]; + propagatedBuildInputs = [ + astring + ipaddr + ipaddr-sexp + sexplib0 + uri + ppx_sexp_conv + ]; meta = { description = "Network connection establishment library"; license = lib.licenses.isc; - maintainers = with lib.maintainers; [ alexfmpe vbgl ]; + maintainers = with lib.maintainers; [ + alexfmpe + vbgl + ]; homepage = "https://github.com/mirage/ocaml-conduit"; }; } diff --git a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix index 4e614bfd40cb4..deba1080bb198 100644 --- a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix @@ -1,6 +1,16 @@ -{ buildDunePackage -, conduit-lwt, ppx_sexp_conv, lwt, uri, ipaddr, ipaddr-sexp, ca-certs, logs -, lwt_ssl, lwt_log, ssl +{ + buildDunePackage, + conduit-lwt, + ppx_sexp_conv, + lwt, + uri, + ipaddr, + ipaddr-sexp, + ca-certs, + logs, + lwt_ssl, + lwt_log, + ssl, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/conduit/lwt.nix b/pkgs/development/ocaml-modules/conduit/lwt.nix index a81114ec4f773..2b29b687a7316 100644 --- a/pkgs/development/ocaml-modules/conduit/lwt.nix +++ b/pkgs/development/ocaml-modules/conduit/lwt.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, ppx_sexp_conv, conduit, lwt, sexplib0 }: +{ + buildDunePackage, + ppx_sexp_conv, + conduit, + lwt, + sexplib0, +}: buildDunePackage { pname = "conduit-lwt"; @@ -6,7 +12,11 @@ buildDunePackage { buildInputs = [ ppx_sexp_conv ]; - propagatedBuildInputs = [ conduit lwt sexplib0 ]; + propagatedBuildInputs = [ + conduit + lwt + sexplib0 + ]; meta = conduit.meta // { description = "Network connection establishment library for Lwt"; diff --git a/pkgs/development/ocaml-modules/conduit/mirage.nix b/pkgs/development/ocaml-modules/conduit/mirage.nix index 02bb1e6649f44..41da2c2d8c271 100644 --- a/pkgs/development/ocaml-modules/conduit/mirage.nix +++ b/pkgs/development/ocaml-modules/conduit/mirage.nix @@ -1,8 +1,24 @@ -{ buildDunePackage, conduit-lwt -, ppx_sexp_conv, sexplib0, uri, cstruct, mirage-flow -, mirage-flow-combinators, mirage-crypto-rng-mirage, mirage-time, mirage-clock -, dns-client-mirage, vchan, xenstore, tls, tls-mirage, ipaddr, ipaddr-sexp -, tcpip, ca-certs-nss +{ + buildDunePackage, + conduit-lwt, + ppx_sexp_conv, + sexplib0, + uri, + cstruct, + mirage-flow, + mirage-flow-combinators, + mirage-crypto-rng-mirage, + mirage-time, + mirage-clock, + dns-client-mirage, + vchan, + xenstore, + tls, + tls-mirage, + ipaddr, + ipaddr-sexp, + tcpip, + ca-certs-nss, }: buildDunePackage { @@ -13,10 +29,24 @@ buildDunePackage { nativeBuildInputs = [ ppx_sexp_conv ]; propagatedBuildInputs = [ - sexplib0 uri cstruct mirage-clock mirage-flow - mirage-flow-combinators mirage-crypto-rng-mirage mirage-time - dns-client-mirage conduit-lwt vchan xenstore tls tls-mirage - ipaddr ipaddr-sexp tcpip ca-certs-nss + sexplib0 + uri + cstruct + mirage-clock + mirage-flow + mirage-flow-combinators + mirage-crypto-rng-mirage + mirage-time + dns-client-mirage + conduit-lwt + vchan + xenstore + tls + tls-mirage + ipaddr + ipaddr-sexp + tcpip + ca-certs-nss ]; meta = conduit-lwt.meta // { diff --git a/pkgs/development/ocaml-modules/config-file/default.nix b/pkgs/development/ocaml-modules/config-file/default.nix index 46d513f62ddec..f20a7d9b113f6 100644 --- a/pkgs/development/ocaml-modules/config-file/default.nix +++ b/pkgs/development/ocaml-modules/config-file/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, camlp4 }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + camlp4, +}: stdenv.mkDerivation rec { pname = "ocaml-config-file"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q"; }; - nativeBuildInputs = [ ocaml findlib camlp4 ]; + nativeBuildInputs = [ + ocaml + findlib + camlp4 + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/config/default.nix b/pkgs/development/ocaml-modules/config/default.nix index 43ad500602ee7..bd09b86be904b 100644 --- a/pkgs/development/ocaml-modules/config/default.nix +++ b/pkgs/development/ocaml-modules/config/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchurl -, ppxlib -, spices +{ + lib, + buildDunePackage, + fetchurl, + ppxlib, + spices, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/containers/data.nix b/pkgs/development/ocaml-modules/containers/data.nix index 5d09504945220..243a60a7a2c6d 100644 --- a/pkgs/development/ocaml-modules/containers/data.nix +++ b/pkgs/development/ocaml-modules/containers/data.nix @@ -1,8 +1,12 @@ -{ buildDunePackage, containers -, ocaml -, dune-configurator -, gen, iter, qcheck-core -, mdx +{ + buildDunePackage, + containers, + ocaml, + dune-configurator, + gen, + iter, + qcheck-core, + mdx, }: buildDunePackage { @@ -14,7 +18,11 @@ buildDunePackage { buildInputs = [ dune-configurator ]; nativeCheckInputs = [ mdx.bin ]; - checkInputs = [ gen iter qcheck-core ]; + checkInputs = [ + gen + iter + qcheck-core + ]; propagatedBuildInputs = [ containers ]; diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix index fc56ad70bc798..804cea216a4bb 100644 --- a/pkgs/development/ocaml-modules/containers/default.nix +++ b/pkgs/development/ocaml-modules/containers/default.nix @@ -1,7 +1,16 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml -, dune-configurator -, either, seq -, gen, iter, qcheck-core, uutf, yojson +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + dune-configurator, + either, + seq, + gen, + iter, + qcheck-core, + uutf, + yojson, }: buildDunePackage rec { @@ -18,9 +27,18 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ either seq ]; - - checkInputs = [ gen iter qcheck-core uutf yojson ]; + propagatedBuildInputs = [ + either + seq + ]; + + checkInputs = [ + gen + iter + qcheck-core + uutf + yojson + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; diff --git a/pkgs/development/ocaml-modules/cooltt/default.nix b/pkgs/development/ocaml-modules/cooltt/default.nix index cf322e74760d2..b4f9e338c2bd9 100644 --- a/pkgs/development/ocaml-modules/cooltt/default.nix +++ b/pkgs/development/ocaml-modules/cooltt/default.nix @@ -1,22 +1,23 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, bos -, bwd -, cmdliner -, containers -, ezjsonm -, findlib -, menhir -, menhirLib -, ppx_deriving -, ppxlib -, uuseg -, uutf -, yuujinchou -, ounit2 -, qcheck -, qcheck-core +{ + lib, + fetchFromGitHub, + buildDunePackage, + bos, + bwd, + cmdliner, + containers, + ezjsonm, + findlib, + menhir, + menhirLib, + ppx_deriving, + ppxlib, + uuseg, + uutf, + yuujinchou, + ounit2, + qcheck, + qcheck-core, }: let @@ -30,7 +31,11 @@ let hash = "sha256-s6lUTs3VRl6YhLAn3PO4aniANhFp8ytoTsFAgcOlee4="; }; - propagatedBuildInputs = [ bos ezjsonm findlib ]; + propagatedBuildInputs = [ + bos + ezjsonm + findlib + ]; meta = { description = "Extensible Library Management and Path Resolution"; diff --git a/pkgs/development/ocaml-modules/cow/default.nix b/pkgs/development/ocaml-modules/cow/default.nix index eade22efc6e11..7e9d1d1c662a7 100644 --- a/pkgs/development/ocaml-modules/cow/default.nix +++ b/pkgs/development/ocaml-modules/cow/default.nix @@ -1,5 +1,12 @@ -{ lib, fetchurl, buildDunePackage, alcotest -, uri, xmlm, omd, ezjsonm +{ + lib, + fetchurl, + buildDunePackage, + alcotest, + uri, + xmlm, + omd, + ezjsonm, }: buildDunePackage rec { @@ -14,7 +21,12 @@ buildDunePackage rec { sha256 = "1x77lwpskda4zyikwxh500xjn90pgdwz6jm7ca7f36pyav4vl6zx"; }; - propagatedBuildInputs = [ xmlm uri ezjsonm omd ]; + propagatedBuildInputs = [ + xmlm + uri + ezjsonm + omd + ]; checkInputs = [ alcotest ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix index 0172efcc66a3d..7e917482379d8 100644 --- a/pkgs/development/ocaml-modules/cpdf/default.nix +++ b/pkgs/development/ocaml-modules/cpdf/default.nix @@ -1,41 +1,52 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, camlpdf, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + camlpdf, + ncurses, +}: -if lib.versionOlder ocaml.version "4.10" -then throw "cpdf is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.10" then + throw "cpdf is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-cpdf"; - version = "2.7.1"; + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-cpdf"; + version = "2.7.1"; - src = fetchFromGitHub { - owner = "johnwhitington"; - repo = "cpdf-source"; - rev = "v${version}"; - hash = "sha256-lFI7f1t70Pw0LJjDrhaB7yQKR1N5906xNYB+fnrz55M="; - }; + src = fetchFromGitHub { + owner = "johnwhitington"; + repo = "cpdf-source"; + rev = "v${version}"; + hash = "sha256-lFI7f1t70Pw0LJjDrhaB7yQKR1N5906xNYB+fnrz55M="; + }; - nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ ncurses ]; - propagatedBuildInputs = [ camlpdf ]; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ ncurses ]; + propagatedBuildInputs = [ camlpdf ]; - strictDeps = true; + strictDeps = true; - preInstall = '' - mkdir -p $OCAMLFIND_DESTDIR - mkdir -p $out/bin - cp cpdf $out/bin - mkdir -p $out/share/ - cp -r doc $out/share - cp cpdfmanual.pdf $out/share/doc/cpdf/ - ''; + preInstall = '' + mkdir -p $OCAMLFIND_DESTDIR + mkdir -p $out/bin + cp cpdf $out/bin + mkdir -p $out/share/ + cp -r doc $out/share + cp cpdfmanual.pdf $out/share/doc/cpdf/ + ''; - meta = with lib; { - description = "PDF Command Line Tools"; - homepage = "https://www.coherentpdf.com/"; - license = licenses.agpl3Only; - maintainers = [ maintainers.vbgl ]; - mainProgram = "cpdf"; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + description = "PDF Command Line Tools"; + homepage = "https://www.coherentpdf.com/"; + license = licenses.agpl3Only; + maintainers = [ maintainers.vbgl ]; + mainProgram = "cpdf"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/cpu/default.nix b/pkgs/development/ocaml-modules/cpu/default.nix index ee16765c1bcfb..a93826b344962 100644 --- a/pkgs/development/ocaml-modules/cpu/default.nix +++ b/pkgs/development/ocaml-modules/cpu/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildDunePackage, fetchFromGitHub, autoconf }: +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + autoconf, +}: buildDunePackage rec { pname = "cpu"; @@ -8,8 +14,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "UnixJunkie"; - repo = pname; - rev = "v${version}"; + repo = pname; + rev = "v${version}"; sha256 = "1vir6gh1bhvxgj2fcn69c38yhw3jgk7dyikmw789m5ld2csnyjiv"; }; diff --git a/pkgs/development/ocaml-modules/cpuid/default.nix b/pkgs/development/ocaml-modules/cpuid/default.nix index 7afbd84323990..eccb5aa9f026e 100644 --- a/pkgs/development/ocaml-modules/cpuid/default.nix +++ b/pkgs/development/ocaml-modules/cpuid/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "cpuid"; diff --git a/pkgs/development/ocaml-modules/crowbar/default.nix b/pkgs/development/ocaml-modules/crowbar/default.nix index 24ef96f57331b..045df90d775df 100644 --- a/pkgs/development/ocaml-modules/crowbar/default.nix +++ b/pkgs/development/ocaml-modules/crowbar/default.nix @@ -1,14 +1,27 @@ -{ lib, stdenv, buildDunePackage, fetchFromGitHub, ocplib-endian, cmdliner, afl-persistent -, calendar, fpath, pprint, uutf, uunf, uucp }: +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + ocplib-endian, + cmdliner, + afl-persistent, + calendar, + fpath, + pprint, + uutf, + uunf, + uucp, +}: buildDunePackage rec { pname = "crowbar"; version = "0.2.1"; src = fetchFromGitHub { - owner = "stedolan"; - repo = pname; - rev = "v${version}"; + owner = "stedolan"; + repo = pname; + rev = "v${version}"; sha256 = "sha256-0jjwiOZ9Ut+dv5Iw4xNvf396WTehT1VClxY9VHicw4U="; }; @@ -17,8 +30,19 @@ buildDunePackage rec { # disable xmldiff tests, so we don't need to package unmaintained and legacy pkgs postPatch = "rm -rf examples/xmldiff"; - propagatedBuildInputs = [ ocplib-endian cmdliner afl-persistent ]; - checkInputs = [ calendar fpath pprint uutf uunf uucp ]; + propagatedBuildInputs = [ + ocplib-endian + cmdliner + afl-persistent + ]; + checkInputs = [ + calendar + fpath + pprint + uutf + uunf + uucp + ]; # uunf is broken on aarch64 doCheck = !stdenv.hostPlatform.isAarch64; @@ -29,4 +53,3 @@ buildDunePackage rec { maintainers = [ maintainers.sternenseemann ]; }; } - diff --git a/pkgs/development/ocaml-modules/cry/default.nix b/pkgs/development/ocaml-modules/cry/default.nix index 83a1d269060e3..dfa64d096ceac 100644 --- a/pkgs/development/ocaml-modules/cry/default.nix +++ b/pkgs/development/ocaml-modules/cry/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "cry"; diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix index 60f64c3405431..b69342f19add7 100644 --- a/pkgs/development/ocaml-modules/cryptgps/default.nix +++ b/pkgs/development/ocaml-modules/cryptgps/default.nix @@ -1,39 +1,48 @@ -{stdenv, lib, fetchurl, ocaml, findlib}: - -if lib.versionAtLeast ocaml.version "4.06" -then throw "cryptgps is not available for OCaml ${ocaml.version}" +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, +}: + +if lib.versionAtLeast ocaml.version "4.06" then + throw "cryptgps is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation { - pname = "ocaml-cryptgps"; - version = "0.2.1"; - - src = fetchurl { - url = "http://download.camlcity.org/download/cryptgps-0.2.1.tar.gz"; - sha256 = "1mp7i42cm9w9grmcsa69m3h1ycpn6a48p43y4xj8rsc12x9nav3s"; - }; - - nativeBuildInputs = [ ocaml findlib ]; + stdenv.mkDerivation { + pname = "ocaml-cryptgps"; + version = "0.2.1"; - strictDeps = true; + src = fetchurl { + url = "http://download.camlcity.org/download/cryptgps-0.2.1.tar.gz"; + sha256 = "1mp7i42cm9w9grmcsa69m3h1ycpn6a48p43y4xj8rsc12x9nav3s"; + }; - dontConfigure = true; # Skip configure phase - - createFindlibDestdir = true; - - meta = { - homepage = "http://projects.camlcity.org/projects/cryptgps.html"; - description = "Cryptographic functions for OCaml"; - longDescription = '' - This library implements the symmetric cryptographic algorithms - Blowfish, DES, and 3DES. The algorithms are written in O'Caml, - i.e. this is not a binding to some C library, but the implementation - itself. - ''; - license = lib.licenses.mit; - inherit (ocaml.meta) platforms; - maintainers = [ - lib.maintainers.maggesi + nativeBuildInputs = [ + ocaml + findlib ]; - }; -} + + strictDeps = true; + + dontConfigure = true; # Skip configure phase + + createFindlibDestdir = true; + + meta = { + homepage = "http://projects.camlcity.org/projects/cryptgps.html"; + description = "Cryptographic functions for OCaml"; + longDescription = '' + This library implements the symmetric cryptographic algorithms + Blowfish, DES, and 3DES. The algorithms are written in O'Caml, + i.e. this is not a binding to some C library, but the implementation + itself. + ''; + license = lib.licenses.mit; + inherit (ocaml.meta) platforms; + maintainers = [ + lib.maintainers.maggesi + ]; + }; + } diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix index 157c2b4202905..1de4fd6c0fd9e 100644 --- a/pkgs/development/ocaml-modules/cryptokit/default.nix +++ b/pkgs/development/ocaml-modules/cryptokit/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + zlib, + dune-configurator, + zarith, +}: buildDunePackage rec { pname = "cryptokit"; @@ -9,7 +16,7 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "xavierleroy"; repo = "cryptokit"; - rev = "release${lib.replaceStrings ["."] [""] version}"; + rev = "release${lib.replaceStrings [ "." ] [ "" ] version}"; hash = "sha256-VFY10jGctQfIUVv7dK06KP8zLZHLXTxvLyTCObS+W+E="; }; @@ -20,7 +27,10 @@ buildDunePackage rec { ''; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ zarith zlib ]; + propagatedBuildInputs = [ + zarith + zlib + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/csexp/default.nix b/pkgs/development/ocaml-modules/csexp/default.nix index f13e239a795ca..5e47a4fcab678 100644 --- a/pkgs/development/ocaml-modules/csexp/default.nix +++ b/pkgs/development/ocaml-modules/csexp/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, liquidsoap }: +{ + lib, + fetchurl, + buildDunePackage, + liquidsoap, +}: buildDunePackage rec { pname = "csexp"; diff --git a/pkgs/development/ocaml-modules/cstruct/async.nix b/pkgs/development/ocaml-modules/cstruct/async.nix index 53762abcc860b..44ac3beb99853 100644 --- a/pkgs/development/ocaml-modules/cstruct/async.nix +++ b/pkgs/development/ocaml-modules/cstruct/async.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, cstruct, async_unix, async, core }: +{ + buildDunePackage, + cstruct, + async_unix, + async, + core, +}: buildDunePackage rec { pname = "cstruct-async"; diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix index 9877adbcf81a5..8fac97fde6c9c 100644 --- a/pkgs/development/ocaml-modules/cstruct/default.nix +++ b/pkgs/development/ocaml-modules/cstruct/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, fmt, alcotest, crowbar }: +{ + lib, + fetchurl, + buildDunePackage, + fmt, + alcotest, + crowbar, +}: buildDunePackage rec { pname = "cstruct"; @@ -15,7 +22,10 @@ buildDunePackage rec { buildInputs = [ fmt ]; doCheck = true; - checkInputs = [ alcotest crowbar ]; + checkInputs = [ + alcotest + crowbar + ]; meta = { description = "Access C-like structures directly from OCaml"; diff --git a/pkgs/development/ocaml-modules/cstruct/lwt.nix b/pkgs/development/ocaml-modules/cstruct/lwt.nix index 3aa70e5c9986d..e040288583df5 100644 --- a/pkgs/development/ocaml-modules/cstruct/lwt.nix +++ b/pkgs/development/ocaml-modules/cstruct/lwt.nix @@ -1,7 +1,12 @@ -{ lib, buildDunePackage, cstruct, lwt }: +{ + lib, + buildDunePackage, + cstruct, + lwt, +}: -if lib.versionOlder (cstruct.version or "1") "3" -then cstruct +if lib.versionOlder (cstruct.version or "1") "3" then + cstruct else buildDunePackage { @@ -11,5 +16,8 @@ else minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ cstruct lwt ]; + propagatedBuildInputs = [ + cstruct + lwt + ]; } diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix index 1cae0cc3dea48..074b41df95553 100644 --- a/pkgs/development/ocaml-modules/cstruct/ppx.nix +++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix @@ -1,10 +1,20 @@ -{ lib, buildDunePackage, ocaml, cstruct, sexplib, ppxlib -, ocaml-migrate-parsetree-2 -, ounit, cppo, ppx_sexp_conv, cstruct-unix, cstruct-sexp +{ + lib, + buildDunePackage, + ocaml, + cstruct, + sexplib, + ppxlib, + ocaml-migrate-parsetree-2, + ounit, + cppo, + ppx_sexp_conv, + cstruct-unix, + cstruct-sexp, }: -if lib.versionOlder (cstruct.version or "1") "3" -then cstruct +if lib.versionOlder (cstruct.version or "1") "3" then + cstruct else buildDunePackage { @@ -13,9 +23,19 @@ else minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ cstruct ppxlib sexplib ]; + propagatedBuildInputs = [ + cstruct + ppxlib + sexplib + ]; doCheck = !lib.versionAtLeast ocaml.version "5.1"; nativeCheckInputs = [ cppo ]; - checkInputs = [ ounit ppx_sexp_conv cstruct-sexp cstruct-unix ocaml-migrate-parsetree-2 ]; + checkInputs = [ + ounit + ppx_sexp_conv + cstruct-sexp + cstruct-unix + ocaml-migrate-parsetree-2 + ]; } diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix index 3b28cda15afc1..0b4b1e42f0e22 100644 --- a/pkgs/development/ocaml-modules/cstruct/sexp.nix +++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix @@ -1,18 +1,28 @@ -{ lib, buildDunePackage, ocaml, alcotest, cstruct, sexplib }: +{ + lib, + buildDunePackage, + ocaml, + alcotest, + cstruct, + sexplib, +}: -if lib.versionOlder (cstruct.version or "1") "3" -then cstruct +if lib.versionOlder (cstruct.version or "1") "3" then + cstruct else -buildDunePackage rec { - pname = "cstruct-sexp"; - inherit (cstruct) version src meta; + buildDunePackage rec { + pname = "cstruct-sexp"; + inherit (cstruct) version src meta; - minimalOCamlVersion = "4.08"; - duneVersion = "3"; + minimalOCamlVersion = "4.08"; + duneVersion = "3"; - doCheck = true; - checkInputs = [ alcotest ]; + doCheck = true; + checkInputs = [ alcotest ]; - propagatedBuildInputs = [ cstruct sexplib ]; -} + propagatedBuildInputs = [ + cstruct + sexplib + ]; + } diff --git a/pkgs/development/ocaml-modules/cstruct/unix.nix b/pkgs/development/ocaml-modules/cstruct/unix.nix index 40467a77a57fe..8f3e139563d90 100644 --- a/pkgs/development/ocaml-modules/cstruct/unix.nix +++ b/pkgs/development/ocaml-modules/cstruct/unix.nix @@ -1,7 +1,11 @@ -{ lib, buildDunePackage, cstruct }: +{ + lib, + buildDunePackage, + cstruct, +}: -if lib.versionOlder (cstruct.version or "1") "3" -then cstruct +if lib.versionOlder (cstruct.version or "1") "3" then + cstruct else buildDunePackage { diff --git a/pkgs/development/ocaml-modules/csv/csvtool.nix b/pkgs/development/ocaml-modules/csv/csvtool.nix index d1705e9fd5cf9..9c7eb763f64ab 100644 --- a/pkgs/development/ocaml-modules/csv/csvtool.nix +++ b/pkgs/development/ocaml-modules/csv/csvtool.nix @@ -1,6 +1,8 @@ { ocamlPackages }: -let inherit (ocamlPackages) buildDunePackage csv uutf; in +let + inherit (ocamlPackages) buildDunePackage csv uutf; +in buildDunePackage { pname = "csvtool"; @@ -8,7 +10,10 @@ buildDunePackage { duneVersion = "3"; - buildInputs = [ csv uutf ]; + buildInputs = [ + csv + uutf + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix index 0846a35798557..f3aa531ddefe2 100644 --- a/pkgs/development/ocaml-modules/csv/default.nix +++ b/pkgs/development/ocaml-modules/csv/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "csv"; diff --git a/pkgs/development/ocaml-modules/csv/lwt.nix b/pkgs/development/ocaml-modules/csv/lwt.nix index 7dfe01d137e57..29d91a38554b3 100644 --- a/pkgs/development/ocaml-modules/csv/lwt.nix +++ b/pkgs/development/ocaml-modules/csv/lwt.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, csv, lwt }: +{ + buildDunePackage, + csv, + lwt, +}: buildDunePackage { pname = "csv-lwt"; @@ -10,7 +14,10 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ csv lwt ]; + propagatedBuildInputs = [ + csv + lwt + ]; doCheck = true; } diff --git a/pkgs/development/ocaml-modules/ctypes/default.nix b/pkgs/development/ocaml-modules/ctypes/default.nix index cb6414a7a4cf8..2db0438c76592 100644 --- a/pkgs/development/ocaml-modules/ctypes/default.nix +++ b/pkgs/development/ocaml-modules/ctypes/default.nix @@ -1,11 +1,12 @@ -{ lib -, ocaml -, fetchFromGitHub -, buildDunePackage -, dune-configurator -, integers -, bigarray-compat -, ounit2 +{ + lib, + ocaml, + fetchFromGitHub, + buildDunePackage, + dune-configurator, + integers, + bigarray-compat, + ounit2, }: buildDunePackage rec { @@ -21,7 +22,10 @@ buildDunePackage rec { buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ integers bigarray-compat ]; + propagatedBuildInputs = [ + integers + bigarray-compat + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; checkInputs = [ ounit2 ]; diff --git a/pkgs/development/ocaml-modules/ctypes/foreign.nix b/pkgs/development/ocaml-modules/ctypes/foreign.nix index 5c9efad790f24..1e082bff94dcd 100644 --- a/pkgs/development/ocaml-modules/ctypes/foreign.nix +++ b/pkgs/development/ocaml-modules/ctypes/foreign.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, ctypes -, dune-configurator -, libffi -, ounit2 -, lwt +{ + buildDunePackage, + ctypes, + dune-configurator, + libffi, + ounit2, + lwt, }: buildDunePackage rec { @@ -13,9 +14,15 @@ buildDunePackage rec { buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ctypes libffi ]; + propagatedBuildInputs = [ + ctypes + libffi + ]; - checkInputs = [ ounit2 lwt ]; + checkInputs = [ + ounit2 + lwt + ]; meta = ctypes.meta // { description = "Dynamic access to foreign C libraries using Ctypes"; diff --git a/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix b/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix index 171b084829408..2b4ce1472e94f 100644 --- a/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix +++ b/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix @@ -1,8 +1,13 @@ { - lib, fetchFromGitLab, buildDunePackage -, integers_stubs_js, ctypes, ppx_expect -, js_of_ocaml-compiler -, nodejs, stdenv + lib, + fetchFromGitLab, + buildDunePackage, + integers_stubs_js, + ctypes, + ppx_expect, + js_of_ocaml-compiler, + nodejs, + stdenv, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/cudf/default.nix b/pkgs/development/ocaml-modules/cudf/default.nix index dae074b05fac5..40cb979e50adb 100644 --- a/pkgs/development/ocaml-modules/cudf/default.nix +++ b/pkgs/development/ocaml-modules/cudf/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, ocaml, fetchFromGitLab, extlib, ounit2 }: +{ + lib, + buildDunePackage, + ocaml, + fetchFromGitLab, + extlib, + ounit2, +}: buildDunePackage rec { pname = "cudf"; diff --git a/pkgs/development/ocaml-modules/curly/default.nix b/pkgs/development/ocaml-modules/curly/default.nix index 229ad666cb24a..0ab7922e67472 100644 --- a/pkgs/development/ocaml-modules/curly/default.nix +++ b/pkgs/development/ocaml-modules/curly/default.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, buildDunePackage, fetchurl, ocaml -, result, alcotest, cohttp-lwt-unix, curl, cacert +{ + stdenv, + lib, + buildDunePackage, + fetchurl, + ocaml, + result, + alcotest, + cohttp-lwt-unix, + curl, + cacert, }: buildDunePackage rec { @@ -17,10 +26,14 @@ buildDunePackage rec { propagatedBuildInputs = [ result ]; nativeCheckInputs = [ cacert ]; - checkInputs = [ alcotest cohttp-lwt-unix ]; + checkInputs = [ + alcotest + cohttp-lwt-unix + ]; # test dependencies are only available for >= 4.08 # https://github.com/mirage/ca-certs/issues/16 - doCheck = lib.versionAtLeast ocaml.version "4.08" + doCheck = + lib.versionAtLeast ocaml.version "4.08" # Some test fails in macOS sandbox # > Fatal error: exception Unix.Unix_error(Unix.EPERM, "bind", "") && !stdenv.hostPlatform.isDarwin; @@ -28,7 +41,7 @@ buildDunePackage rec { postPatch = '' substituteInPlace src/curly.ml \ --replace "exe=\"curl\"" "exe=\"${curl}/bin/curl\"" - ''; + ''; meta = with lib; { description = "Curly is a brain dead wrapper around the curl command line utility"; @@ -37,4 +50,3 @@ buildDunePackage rec { maintainers = [ maintainers.sternenseemann ]; }; } - diff --git a/pkgs/development/ocaml-modules/curses/default.nix b/pkgs/development/ocaml-modules/curses/default.nix index 23c098aedcb5d..7825a51b92b11 100644 --- a/pkgs/development/ocaml-modules/curses/default.nix +++ b/pkgs/development/ocaml-modules/curses/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + ncurses, +}: stdenv.mkDerivation rec { pname = "ocaml-curses"; @@ -15,7 +22,10 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ ncurses ]; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; # Fix build for recent ncurses versions env.NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1"; diff --git a/pkgs/development/ocaml-modules/dap/default.nix b/pkgs/development/ocaml-modules/dap/default.nix index 054020ba64e08..c10229c62d3f2 100644 --- a/pkgs/development/ocaml-modules/dap/default.nix +++ b/pkgs/development/ocaml-modules/dap/default.nix @@ -1,5 +1,15 @@ -{ lib, buildDunePackage, fetchurl -, angstrom-lwt-unix, lwt, logs, lwt_ppx, ppx_deriving_yojson, ppx_expect, ppx_here, react +{ + lib, + buildDunePackage, + fetchurl, + angstrom-lwt-unix, + lwt, + logs, + lwt_ppx, + ppx_deriving_yojson, + ppx_expect, + ppx_here, + react, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/data-encoding/default.nix b/pkgs/development/ocaml-modules/data-encoding/default.nix index 75490c9648db8..0a893686fe91d 100644 --- a/pkgs/development/ocaml-modules/data-encoding/default.nix +++ b/pkgs/development/ocaml-modules/data-encoding/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildDunePackage -, ppx_hash -, bigstringaf -, either -, ezjsonm -, zarith -, zarith_stubs_js ? null -, hex -, json-data-encoding -, json-data-encoding-bson -, ppx_expect +{ + lib, + buildDunePackage, + ppx_hash, + bigstringaf, + either, + ezjsonm, + zarith, + zarith_stubs_js ? null, + hex, + json-data-encoding, + json-data-encoding-bson, + ppx_expect, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/dates_calc/default.nix b/pkgs/development/ocaml-modules/dates_calc/default.nix index e1def37250e79..4cfeeb34956ff 100644 --- a/pkgs/development/ocaml-modules/dates_calc/default.nix +++ b/pkgs/development/ocaml-modules/dates_calc/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage -, alcotest, qcheck +{ + lib, + fetchFromGitHub, + buildDunePackage, + alcotest, + qcheck, }: buildDunePackage rec { @@ -16,7 +20,7 @@ buildDunePackage rec { sha256 = "sha256-B4li8vIK6AnPXJ1QSJ8rtr+JOcy4+h5sc1SH97U+Vgw="; }; - propagatedBuildInputs = []; + propagatedBuildInputs = [ ]; doCheck = true; checkInputs = [ diff --git a/pkgs/development/ocaml-modules/dbf/default.nix b/pkgs/development/ocaml-modules/dbf/default.nix index 91981fd735cb4..e02b13291ecd9 100644 --- a/pkgs/development/ocaml-modules/dbf/default.nix +++ b/pkgs/development/ocaml-modules/dbf/default.nix @@ -1,5 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, ppx_cstruct, rresult, cstruct-unix -, core_kernel }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ppx_cstruct, + rresult, + cstruct-unix, + core_kernel, +}: buildDunePackage rec { pname = "dbf"; @@ -17,7 +24,11 @@ buildDunePackage rec { }; buildInputs = [ ppx_cstruct ]; - propagatedBuildInputs = [ rresult cstruct-unix core_kernel ]; + propagatedBuildInputs = [ + rresult + cstruct-unix + core_kernel + ]; meta = with lib; { description = "DBF format parsing"; diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix index b20ef17d08b97..470d357997b56 100644 --- a/pkgs/development/ocaml-modules/decompress/default.nix +++ b/pkgs/development/ocaml-modules/decompress/default.nix @@ -1,7 +1,20 @@ -{ lib, fetchurl, buildDunePackage -, checkseum, optint, cmdliner -, bigstringaf, alcotest, camlzip, base64, ctypes, fmt, crowbar, rresult -, astring, bos +{ + lib, + fetchurl, + buildDunePackage, + checkseum, + optint, + cmdliner, + bigstringaf, + alcotest, + camlzip, + base64, + ctypes, + fmt, + crowbar, + rresult, + astring, + bos, }: buildDunePackage rec { @@ -16,8 +29,22 @@ buildDunePackage rec { }; buildInputs = [ cmdliner ]; - propagatedBuildInputs = [ optint checkseum ]; - checkInputs = [ alcotest astring bigstringaf bos ctypes fmt camlzip base64 crowbar rresult ]; + propagatedBuildInputs = [ + optint + checkseum + ]; + checkInputs = [ + alcotest + astring + bigstringaf + bos + ctypes + fmt + camlzip + base64 + crowbar + rresult + ]; doCheck = true; meta = { diff --git a/pkgs/development/ocaml-modules/dedukti/default.nix b/pkgs/development/ocaml-modules/dedukti/default.nix index 8f6305824f4ff..9c5ef6de01ded 100644 --- a/pkgs/development/ocaml-modules/dedukti/default.nix +++ b/pkgs/development/ocaml-modules/dedukti/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, cmdliner -, menhir +{ + lib, + fetchFromGitHub, + buildDunePackage, + cmdliner, + menhir, }: buildDunePackage rec { @@ -21,7 +22,7 @@ buildDunePackage rec { nativeBuildInputs = [ menhir ]; buildInputs = [ cmdliner ]; - doCheck = false; # requires `tezt` + doCheck = false; # requires `tezt` meta = with lib; { homepage = "https://deducteam.github.io"; diff --git a/pkgs/development/ocaml-modules/diet/default.nix b/pkgs/development/ocaml-modules/diet/default.nix index 5be9cde836617..5e78e03f56833 100644 --- a/pkgs/development/ocaml-modules/diet/default.nix +++ b/pkgs/development/ocaml-modules/diet/default.nix @@ -1,12 +1,18 @@ -{ lib, buildDunePackage, fetchurl, ocaml, stdlib-shims, ounit }: +{ + lib, + buildDunePackage, + fetchurl, + ocaml, + stdlib-shims, + ounit, +}: buildDunePackage rec { pname = "diet"; version = "0.4"; src = fetchurl { - url = - "https://github.com/mirage/ocaml-diet/releases/download/v${version}/diet-v${version}.tbz"; + url = "https://github.com/mirage/ocaml-diet/releases/download/v${version}/diet-v${version}.tbz"; sha256 = "96acac2e4fdedb5f47dd8ad2562e723d85ab59cd1bd85554df21ec907b071741"; }; diff --git a/pkgs/development/ocaml-modules/digestif/default.nix b/pkgs/development/ocaml-modules/digestif/default.nix index 9f859b182831a..2512e2a7364df 100644 --- a/pkgs/development/ocaml-modules/digestif/default.nix +++ b/pkgs/development/ocaml-modules/digestif/default.nix @@ -1,6 +1,15 @@ -{ lib, ocaml, fetchurl, buildDunePackage -, eqaf -, alcotest, astring, bos, crowbar, findlib, fpath +{ + lib, + ocaml, + fetchurl, + buildDunePackage, + eqaf, + alcotest, + astring, + bos, + crowbar, + findlib, + fpath, }: buildDunePackage rec { @@ -16,7 +25,13 @@ buildDunePackage rec { propagatedBuildInputs = [ eqaf ]; - checkInputs = [ alcotest astring bos crowbar fpath ]; + checkInputs = [ + alcotest + astring + bos + crowbar + fpath + ]; doCheck = true; postCheck = '' diff --git a/pkgs/development/ocaml-modules/directories/default.nix b/pkgs/development/ocaml-modules/directories/default.nix index 5f86db245470d..e90a1ce19222f 100644 --- a/pkgs/development/ocaml-modules/directories/default.nix +++ b/pkgs/development/ocaml-modules/directories/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "directories"; diff --git a/pkgs/development/ocaml-modules/dispatch/default.nix b/pkgs/development/ocaml-modules/dispatch/default.nix index 958574f3d973a..b5546a406c3db 100644 --- a/pkgs/development/ocaml-modules/dispatch/default.nix +++ b/pkgs/development/ocaml-modules/dispatch/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml, alcotest, result }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + alcotest, + result, +}: buildDunePackage rec { pname = "dispatch"; diff --git a/pkgs/development/ocaml-modules/dns/certify.nix b/pkgs/development/ocaml-modules/dns/certify.nix index fff97dafed326..d289f8bc57b1b 100644 --- a/pkgs/development/ocaml-modules/dns/certify.nix +++ b/pkgs/development/ocaml-modules/dns/certify.nix @@ -1,7 +1,18 @@ -{ buildDunePackage, dns, dns-tsig, dns-mirage, randomconv, x509 -, mirage-time, mirage-clock -, logs, mirage-crypto-pk, mirage-crypto-rng-mirage, mirage-crypto-ec, lwt -, tcpip +{ + buildDunePackage, + dns, + dns-tsig, + dns-mirage, + randomconv, + x509, + mirage-time, + mirage-clock, + logs, + mirage-crypto-pk, + mirage-crypto-rng-mirage, + mirage-crypto-ec, + lwt, + tcpip, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/cli.nix b/pkgs/development/ocaml-modules/dns/cli.nix index e08a29756a2fe..fad820b460f28 100644 --- a/pkgs/development/ocaml-modules/dns/cli.nix +++ b/pkgs/development/ocaml-modules/dns/cli.nix @@ -1,7 +1,27 @@ -{ buildDunePackage, dns, dns-tsig, dns-client-lwt, dns-server, dns-certify, dnssec -, bos, cmdliner, fpath, x509, mirage-crypto, mirage-crypto-pk -, mirage-crypto-rng, ohex, ptime, mtime, logs, fmt, ipaddr, lwt -, randomconv, alcotest +{ + buildDunePackage, + dns, + dns-tsig, + dns-client-lwt, + dns-server, + dns-certify, + dnssec, + bos, + cmdliner, + fpath, + x509, + mirage-crypto, + mirage-crypto-pk, + mirage-crypto-rng, + ohex, + ptime, + mtime, + logs, + fmt, + ipaddr, + lwt, + randomconv, + alcotest, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/client-lwt.nix b/pkgs/development/ocaml-modules/dns/client-lwt.nix index 3c9c126e1d1b8..0daa7a6299d79 100644 --- a/pkgs/development/ocaml-modules/dns/client-lwt.nix +++ b/pkgs/development/ocaml-modules/dns/client-lwt.nix @@ -1,10 +1,16 @@ -{ buildDunePackage, dns, dns-client, lwt -, mirage-crypto-rng-lwt, mtime -, ipaddr, alcotest -, ca-certs -, happy-eyeballs -, happy-eyeballs-lwt -, tls-lwt +{ + buildDunePackage, + dns, + dns-client, + lwt, + mirage-crypto-rng-lwt, + mtime, + ipaddr, + alcotest, + ca-certs, + happy-eyeballs, + happy-eyeballs-lwt, + tls-lwt, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/client-mirage.nix b/pkgs/development/ocaml-modules/dns/client-mirage.nix index f9159df2f940d..77e999e5e7139 100644 --- a/pkgs/development/ocaml-modules/dns/client-mirage.nix +++ b/pkgs/development/ocaml-modules/dns/client-mirage.nix @@ -1,11 +1,19 @@ -{ buildDunePackage, dns, dns-client, lwt, mirage-clock, mirage-time -, mirage-crypto-rng-mirage -, domain-name, ipaddr -, ca-certs-nss -, happy-eyeballs -, happy-eyeballs-mirage -, tcpip -, tls, tls-mirage +{ + buildDunePackage, + dns, + dns-client, + lwt, + mirage-clock, + mirage-time, + mirage-crypto-rng-mirage, + domain-name, + ipaddr, + ca-certs-nss, + happy-eyeballs, + happy-eyeballs-mirage, + tcpip, + tls, + tls-mirage, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/client.nix b/pkgs/development/ocaml-modules/dns/client.nix index 10d79ef93ad7c..956866037629a 100644 --- a/pkgs/development/ocaml-modules/dns/client.nix +++ b/pkgs/development/ocaml-modules/dns/client.nix @@ -1,6 +1,11 @@ -{ buildDunePackage, dns -, mirage-crypto-rng, mtime, randomconv -, domain-name, alcotest +{ + buildDunePackage, + dns, + mirage-crypto-rng, + mtime, + randomconv, + domain-name, + alcotest, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/default.nix b/pkgs/development/ocaml-modules/dns/default.nix index bcc67a6f6ebf9..3d6fb07fb35be 100644 --- a/pkgs/development/ocaml-modules/dns/default.nix +++ b/pkgs/development/ocaml-modules/dns/default.nix @@ -1,18 +1,19 @@ -{ lib -, buildDunePackage -, fetchurl -, alcotest -, domain-name -, duration -, gmap -, ipaddr -, logs -, lru -, metrics -, ptime -, fmt -, base64 -, ohex +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + domain-name, + duration, + gmap, + ipaddr, + logs, + lru, + metrics, + ptime, + fmt, + base64, + ohex, }: buildDunePackage rec { @@ -26,7 +27,19 @@ buildDunePackage rec { hash = "sha256-jz7JWs8U9XQhm1RAponq4azCpJyx2KBm+bI6esaPRPA="; }; - propagatedBuildInputs = [ fmt logs ptime domain-name gmap ipaddr lru duration metrics base64 ohex ]; + propagatedBuildInputs = [ + fmt + logs + ptime + domain-name + gmap + ipaddr + lru + duration + metrics + base64 + ohex + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/dns/dnssec.nix b/pkgs/development/ocaml-modules/dns/dnssec.nix index 16a5f34490418..c83b89a5f9379 100644 --- a/pkgs/development/ocaml-modules/dns/dnssec.nix +++ b/pkgs/development/ocaml-modules/dns/dnssec.nix @@ -1,12 +1,13 @@ -{ buildDunePackage -, dns -, mirage-crypto -, mirage-crypto-pk -, mirage-crypto-ec -, domain-name -, logs -, alcotest -, base64 +{ + buildDunePackage, + dns, + mirage-crypto, + mirage-crypto-pk, + mirage-crypto-ec, + domain-name, + logs, + alcotest, + base64, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/mirage.nix b/pkgs/development/ocaml-modules/dns/mirage.nix index 2040a56a67665..fddf48ad73990 100644 --- a/pkgs/development/ocaml-modules/dns/mirage.nix +++ b/pkgs/development/ocaml-modules/dns/mirage.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, dns, ipaddr, lwt, tcpip }: +{ + buildDunePackage, + dns, + ipaddr, + lwt, + tcpip, +}: buildDunePackage { pname = "dns-mirage"; diff --git a/pkgs/development/ocaml-modules/dns/resolver.nix b/pkgs/development/ocaml-modules/dns/resolver.nix index 04611a738d74e..3fb9446f7ac3f 100644 --- a/pkgs/development/ocaml-modules/dns/resolver.nix +++ b/pkgs/development/ocaml-modules/dns/resolver.nix @@ -1,19 +1,20 @@ -{ buildDunePackage -, dns -, dns-server -, dns-mirage -, lru -, duration -, randomconv -, lwt -, mirage-time -, mirage-clock -, mirage-random -, tcpip -, tls -, tls-mirage -, dnssec -, alcotest +{ + buildDunePackage, + dns, + dns-server, + dns-mirage, + lru, + duration, + randomconv, + lwt, + mirage-time, + mirage-clock, + mirage-random, + tcpip, + tls, + tls-mirage, + dnssec, + alcotest, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/server.nix b/pkgs/development/ocaml-modules/dns/server.nix index 09019bf655aa6..3fcbda761bd42 100644 --- a/pkgs/development/ocaml-modules/dns/server.nix +++ b/pkgs/development/ocaml-modules/dns/server.nix @@ -1,16 +1,17 @@ -{ buildDunePackage -, dns -, dns-mirage -, randomconv -, duration -, lwt -, mirage-time -, mirage-clock -, metrics -, alcotest -, mirage-crypto-rng -, dns-tsig -, base64 +{ + buildDunePackage, + dns, + dns-mirage, + randomconv, + duration, + lwt, + mirage-time, + mirage-clock, + metrics, + alcotest, + mirage-crypto-rng, + dns-tsig, + base64, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/stub.nix b/pkgs/development/ocaml-modules/dns/stub.nix index 23ad5539c5869..f98b79a11bc21 100644 --- a/pkgs/development/ocaml-modules/dns/stub.nix +++ b/pkgs/development/ocaml-modules/dns/stub.nix @@ -1,6 +1,19 @@ -{ buildDunePackage, dns, dns-client-mirage, dns-mirage, dns-resolver, dns-tsig -, dns-server, duration, randomconv, lwt, mirage-time, mirage-clock -, mirage-crypto-rng-mirage, tcpip, metrics +{ + buildDunePackage, + dns, + dns-client-mirage, + dns-mirage, + dns-resolver, + dns-tsig, + dns-server, + duration, + randomconv, + lwt, + mirage-time, + mirage-clock, + mirage-crypto-rng-mirage, + tcpip, + metrics, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/dns/tsig.nix b/pkgs/development/ocaml-modules/dns/tsig.nix index 2d967301d25a7..84481564bfb46 100644 --- a/pkgs/development/ocaml-modules/dns/tsig.nix +++ b/pkgs/development/ocaml-modules/dns/tsig.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, dns, digestif, base64, alcotest }: +{ + buildDunePackage, + dns, + digestif, + base64, + alcotest, +}: buildDunePackage { pname = "dns-tsig"; diff --git a/pkgs/development/ocaml-modules/dolmen/default.nix b/pkgs/development/ocaml-modules/dolmen/default.nix index ccecc8a33f764..5bb495f8335a7 100644 --- a/pkgs/development/ocaml-modules/dolmen/default.nix +++ b/pkgs/development/ocaml-modules/dolmen/default.nix @@ -1,8 +1,12 @@ -{ lib, fetchurl, buildDunePackage -, menhir, menhirLib -, fmt -, hmap -, qcheck +{ + lib, + fetchurl, + buildDunePackage, + menhir, + menhirLib, + fmt, + hmap, + qcheck, }: buildDunePackage rec { @@ -17,7 +21,11 @@ buildDunePackage rec { }; nativeBuildInputs = [ menhir ]; - propagatedBuildInputs = [ menhirLib fmt hmap ]; + propagatedBuildInputs = [ + menhirLib + fmt + hmap + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/dolmen/loop.nix b/pkgs/development/ocaml-modules/dolmen/loop.nix index 572c161edc49e..0b3ca565d81f3 100644 --- a/pkgs/development/ocaml-modules/dolmen/loop.nix +++ b/pkgs/development/ocaml-modules/dolmen/loop.nix @@ -1,14 +1,22 @@ -{ buildDunePackage, dolmen, dolmen_type -, gen -, pp_loc -, mdx +{ + buildDunePackage, + dolmen, + dolmen_type, + gen, + pp_loc, + mdx, }: buildDunePackage { pname = "dolmen_loop"; inherit (dolmen) src version; - propagatedBuildInputs = [ dolmen dolmen_type gen pp_loc ]; + propagatedBuildInputs = [ + dolmen + dolmen_type + gen + pp_loc + ]; doCheck = true; nativeCheckInputs = [ mdx.bin ]; diff --git a/pkgs/development/ocaml-modules/dolmen/type.nix b/pkgs/development/ocaml-modules/dolmen/type.nix index 79b84fd1f0f06..3be6cdf3805a2 100644 --- a/pkgs/development/ocaml-modules/dolmen/type.nix +++ b/pkgs/development/ocaml-modules/dolmen/type.nix @@ -1,13 +1,19 @@ -{ buildDunePackage, dolmen -, spelll -, uutf +{ + buildDunePackage, + dolmen, + spelll, + uutf, }: buildDunePackage { pname = "dolmen_type"; inherit (dolmen) src version; - propagatedBuildInputs = [ dolmen spelll uutf ]; + propagatedBuildInputs = [ + dolmen + spelll + uutf + ]; meta = dolmen.meta // { description = "Typechecker for automated deduction languages"; diff --git a/pkgs/development/ocaml-modules/dolog/default.nix b/pkgs/development/ocaml-modules/dolog/default.nix index cd3b0bffd2906..c5c9323de4e07 100644 --- a/pkgs/development/ocaml-modules/dolog/default.nix +++ b/pkgs/development/ocaml-modules/dolog/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "dolog"; diff --git a/pkgs/development/ocaml-modules/domain-local-await/default.nix b/pkgs/development/ocaml-modules/domain-local-await/default.nix index a9b5f76839aec..854acc25f5e6b 100644 --- a/pkgs/development/ocaml-modules/domain-local-await/default.nix +++ b/pkgs/development/ocaml-modules/domain-local-await/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildDunePackage -, fetchurl -, alcotest -, domain_shims -, mdx -, thread-table +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + domain_shims, + mdx, + thread-table, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/domain-local-timeout/default.nix b/pkgs/development/ocaml-modules/domain-local-timeout/default.nix index a8ba771399b7e..50d33a063d818 100644 --- a/pkgs/development/ocaml-modules/domain-local-timeout/default.nix +++ b/pkgs/development/ocaml-modules/domain-local-timeout/default.nix @@ -1,7 +1,14 @@ -{ lib, buildDunePackage, ocaml, fetchurl -, mtime, psq, thread-table -, alcotest, mdx -, domain-local-await +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + mtime, + psq, + thread-table, + alcotest, + mdx, + domain-local-await, }: buildDunePackage rec { @@ -15,11 +22,19 @@ buildDunePackage rec { hash = "sha256-6sCqUkOjN8E+7OLUwVQntkv0vrQDkGDV8KNqDhVm0d8="; }; - propagatedBuildInputs = [ mtime psq thread-table ]; + propagatedBuildInputs = [ + mtime + psq + thread-table + ]; doCheck = lib.versionAtLeast ocaml.version "5.0"; nativeCheckInputs = [ mdx.bin ]; - checkInputs = [ alcotest domain-local-await mdx ]; + checkInputs = [ + alcotest + domain-local-await + mdx + ]; meta = { homepage = "https://github.com/ocaml-multicore/domain-local-timeout"; diff --git a/pkgs/development/ocaml-modules/domain-name/default.nix b/pkgs/development/ocaml-modules/domain-name/default.nix index d518f18571c5c..745550691c4a2 100644 --- a/pkgs/development/ocaml-modules/domain-name/default.nix +++ b/pkgs/development/ocaml-modules/domain-name/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, ocaml, fetchurl -, alcotest +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/domain_shims/default.nix b/pkgs/development/ocaml-modules/domain_shims/default.nix index 4ccc6bbe90bdc..32373e0fb4071 100644 --- a/pkgs/development/ocaml-modules/domain_shims/default.nix +++ b/pkgs/development/ocaml-modules/domain_shims/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, buildDunePackage }: +{ + lib, + fetchFromGitLab, + buildDunePackage, +}: buildDunePackage rec { pname = "domain_shims"; diff --git a/pkgs/development/ocaml-modules/domainslib/default.nix b/pkgs/development/ocaml-modules/domainslib/default.nix index e912cfeb57afa..aa3cd5e5be1da 100644 --- a/pkgs/development/ocaml-modules/domainslib/default.nix +++ b/pkgs/development/ocaml-modules/domainslib/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, buildDunePackage -, saturn -, domain-local-await -, kcas -, mirage-clock-unix -, qcheck-stm +{ + lib, + fetchurl, + buildDunePackage, + saturn, + domain-local-await, + kcas, + mirage-clock-unix, + qcheck-stm, }: buildDunePackage rec { @@ -19,10 +20,17 @@ buildDunePackage rec { hash = "sha256-KMJd+6XZmUSXNsXW/KXgvnFtgY9vODeW3vhL77mDXQE="; }; - propagatedBuildInputs = [ domain-local-await saturn ]; + propagatedBuildInputs = [ + domain-local-await + saturn + ]; doCheck = true; - checkInputs = [ kcas mirage-clock-unix qcheck-stm ]; + checkInputs = [ + kcas + mirage-clock-unix + qcheck-stm + ]; meta = { homepage = "https://github.com/ocaml-multicore/domainslib"; diff --git a/pkgs/development/ocaml-modules/dose3/default.nix b/pkgs/development/ocaml-modules/dose3/default.nix index 3baf5ab62ff68..70994c47cca7e 100644 --- a/pkgs/development/ocaml-modules/dose3/default.nix +++ b/pkgs/development/ocaml-modules/dose3/default.nix @@ -1,7 +1,16 @@ -{ lib, buildDunePackage, fetchFromGitLab -, ocamlgraph, parmap, re, stdlib-shims -, base64, extlib, cudf -, ocaml, ounit +{ + lib, + buildDunePackage, + fetchFromGitLab, + ocamlgraph, + parmap, + re, + stdlib-shims, + base64, + extlib, + cudf, + ocaml, + ounit, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/dscheck/default.nix b/pkgs/development/ocaml-modules/dscheck/default.nix index 2b781a8631f87..e5ef2ea3549e5 100644 --- a/pkgs/development/ocaml-modules/dscheck/default.nix +++ b/pkgs/development/ocaml-modules/dscheck/default.nix @@ -1,7 +1,10 @@ -{ lib, fetchurl, buildDunePackage -, containers -, oseq -, alcotest +{ + lib, + fetchurl, + buildDunePackage, + containers, + oseq, + alcotest, }: buildDunePackage rec { @@ -15,7 +18,10 @@ buildDunePackage rec { hash = "sha256-9Rm2DmdvVeCkgAWCvkYdQTj94wmU7JkY8UI3fReIaG0="; }; - propagatedBuildInputs = [ containers oseq ]; + propagatedBuildInputs = [ + containers + oseq + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/dssi/default.nix b/pkgs/development/ocaml-modules/dssi/default.nix index b8235cef96905..58427339a480c 100644 --- a/pkgs/development/ocaml-modules/dssi/default.nix +++ b/pkgs/development/ocaml-modules/dssi/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, ladspa, alsa-lib }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + ladspa, + alsa-lib, +}: buildDunePackage rec { pname = "dssi"; @@ -14,7 +21,10 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ladspa alsa-lib ]; + propagatedBuildInputs = [ + ladspa + alsa-lib + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-dssi"; diff --git a/pkgs/development/ocaml-modules/dtoa/default.nix b/pkgs/development/ocaml-modules/dtoa/default.nix index c3297b9a525bd..62b9f124eb0ee 100644 --- a/pkgs/development/ocaml-modules/dtoa/default.nix +++ b/pkgs/development/ocaml-modules/dtoa/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchurl, buildDunePackage, ocaml, ounit2 }: +{ + stdenv, + lib, + fetchurl, + buildDunePackage, + ocaml, + ounit2, +}: buildDunePackage rec { pname = "dtoa"; diff --git a/pkgs/development/ocaml-modules/dtools/default.nix b/pkgs/development/ocaml-modules/dtools/default.nix index c534bdaad92a9..6867f32289b57 100644 --- a/pkgs/development/ocaml-modules/dtools/default.nix +++ b/pkgs/development/ocaml-modules/dtools/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "dtools"; diff --git a/pkgs/development/ocaml-modules/duff/default.nix b/pkgs/development/ocaml-modules/duff/default.nix index 21e916b55e23f..2713991617575 100644 --- a/pkgs/development/ocaml-modules/duff/default.nix +++ b/pkgs/development/ocaml-modules/duff/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, buildDunePackage -, fmt -, alcotest -, hxd -, crowbar -, bigstringaf +{ + lib, + fetchurl, + buildDunePackage, + fmt, + alcotest, + hxd, + crowbar, + bigstringaf, }: buildDunePackage rec { @@ -30,7 +31,6 @@ buildDunePackage rec { bigstringaf ]; - meta = { description = "Pure OCaml implementation of libXdiff (Rabin’s fingerprint)"; homepage = "https://github.com/mirage/duff"; diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix index 43584461af182..fa41fe11f7c72 100644 --- a/pkgs/development/ocaml-modules/dum/default.nix +++ b/pkgs/development/ocaml-modules/dum/default.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib -, easy-format +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + easy-format, }: stdenv.mkDerivation rec { @@ -14,12 +19,15 @@ stdenv.mkDerivation rec { }; postPatch = '' - substituteInPlace "dum.ml" \ - --replace "Lazy.lazy_is_val" "Lazy.is_val" \ - --replace "Obj.final_tag" "Obj.custom_tag" + substituteInPlace "dum.ml" \ + --replace "Lazy.lazy_is_val" "Lazy.is_val" \ + --replace "Obj.final_tag" "Obj.custom_tag" ''; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; propagatedBuildInputs = [ easy-format ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix index 18095bee8fc38..1c40f29295d1c 100644 --- a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix +++ b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, dune_3, dune-glob, dune-private-libs, dune-rpc }: +{ + lib, + buildDunePackage, + dune_3, + dune-glob, + dune-private-libs, + dune-rpc, +}: buildDunePackage rec { pname = "dune-action-plugin"; @@ -8,7 +15,11 @@ buildDunePackage rec { dontAddPrefix = true; - propagatedBuildInputs = [ dune-glob dune-private-libs dune-rpc ]; + propagatedBuildInputs = [ + dune-glob + dune-private-libs + dune-rpc + ]; preBuild = '' rm -r vendor/csexp diff --git a/pkgs/development/ocaml-modules/dune-build-info/default.nix b/pkgs/development/ocaml-modules/dune-build-info/default.nix index ac9b127cac38a..81f876a8d78c3 100644 --- a/pkgs/development/ocaml-modules/dune-build-info/default.nix +++ b/pkgs/development/ocaml-modules/dune-build-info/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, dune-action-plugin }: +{ + lib, + buildDunePackage, + dune-action-plugin, +}: buildDunePackage rec { pname = "dune-build-info"; diff --git a/pkgs/development/ocaml-modules/dune-configurator/default.nix b/pkgs/development/ocaml-modules/dune-configurator/default.nix index 324be141866f4..df4a8578df893 100644 --- a/pkgs/development/ocaml-modules/dune-configurator/default.nix +++ b/pkgs/development/ocaml-modules/dune-configurator/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, dune_3, csexp }: +{ + lib, + buildDunePackage, + dune_3, + csexp, +}: buildDunePackage rec { pname = "dune-configurator"; diff --git a/pkgs/development/ocaml-modules/dune-glob/default.nix b/pkgs/development/ocaml-modules/dune-glob/default.nix index 474fd4a52c633..08523a8974c21 100644 --- a/pkgs/development/ocaml-modules/dune-glob/default.nix +++ b/pkgs/development/ocaml-modules/dune-glob/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, dune_3, dune-private-libs }: +{ + lib, + buildDunePackage, + dune_3, + dune-private-libs, +}: buildDunePackage rec { pname = "dune-glob"; diff --git a/pkgs/development/ocaml-modules/dune-private-libs/default.nix b/pkgs/development/ocaml-modules/dune-private-libs/default.nix index 4c6092122a294..ad60aa1c75ecd 100644 --- a/pkgs/development/ocaml-modules/dune-private-libs/default.nix +++ b/pkgs/development/ocaml-modules/dune-private-libs/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, dune_3, stdune }: +{ + lib, + buildDunePackage, + dune_3, + stdune, +}: buildDunePackage rec { pname = "dune-private-libs"; diff --git a/pkgs/development/ocaml-modules/dune-rpc/default.nix b/pkgs/development/ocaml-modules/dune-rpc/default.nix index 3e83d04d5d7e4..07b8c584023ba 100644 --- a/pkgs/development/ocaml-modules/dune-rpc/default.nix +++ b/pkgs/development/ocaml-modules/dune-rpc/default.nix @@ -1,4 +1,14 @@ -{ lib, buildDunePackage, dune_3, csexp, stdune, ordering, pp, xdg, dyn }: +{ + lib, + buildDunePackage, + dune_3, + csexp, + stdune, + ordering, + pp, + xdg, + dyn, +}: buildDunePackage rec { pname = "dune-rpc"; @@ -8,7 +18,14 @@ buildDunePackage rec { dontAddPrefix = true; - propagatedBuildInputs = [ csexp stdune ordering pp xdg dyn ]; + propagatedBuildInputs = [ + csexp + stdune + ordering + pp + xdg + dyn + ]; preBuild = '' rm -r vendor/csexp diff --git a/pkgs/development/ocaml-modules/dune-site/default.nix b/pkgs/development/ocaml-modules/dune-site/default.nix index fc99f4213e150..dde8e616bd940 100644 --- a/pkgs/development/ocaml-modules/dune-site/default.nix +++ b/pkgs/development/ocaml-modules/dune-site/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, dune_3, dune-private-libs }: +{ + lib, + buildDunePackage, + dune_3, + dune-private-libs, +}: buildDunePackage rec { pname = "dune-site"; diff --git a/pkgs/development/ocaml-modules/duppy/default.nix b/pkgs/development/ocaml-modules/duppy/default.nix index bae9f62d26f11..8a8188fa6730a 100644 --- a/pkgs/development/ocaml-modules/duppy/default.nix +++ b/pkgs/development/ocaml-modules/duppy/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, re }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + re, +}: buildDunePackage rec { pname = "duppy"; diff --git a/pkgs/development/ocaml-modules/duration/default.nix b/pkgs/development/ocaml-modules/duration/default.nix index 34326c8a11434..137edf6f8d2ae 100644 --- a/pkgs/development/ocaml-modules/duration/default.nix +++ b/pkgs/development/ocaml-modules/duration/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, ocaml, fetchurl, alcotest }: +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + alcotest, +}: buildDunePackage rec { pname = "duration"; diff --git a/pkgs/development/ocaml-modules/dyn/default.nix b/pkgs/development/ocaml-modules/dyn/default.nix index ae1218b844ce6..870a10e0a9660 100644 --- a/pkgs/development/ocaml-modules/dyn/default.nix +++ b/pkgs/development/ocaml-modules/dyn/default.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, dune_3, ordering }: +{ + buildDunePackage, + dune_3, + ordering, +}: buildDunePackage { pname = "dyn"; @@ -13,4 +17,3 @@ buildDunePackage { description = "Dynamic type"; }; } - diff --git a/pkgs/development/ocaml-modules/dypgen/default.nix b/pkgs/development/ocaml-modules/dypgen/default.nix index d47b783077695..2be5bdf3e5967 100644 --- a/pkgs/development/ocaml-modules/dypgen/default.nix +++ b/pkgs/development/ocaml-modules/dypgen/default.nix @@ -1,28 +1,44 @@ -{ stdenv, lib, fetchFromGitHub, fetchurl, ocaml, findlib }: - -let params = - if lib.versionAtLeast ocaml.version "4.07" then rec { - version = "0.2"; - src = fetchFromGitHub { - owner = "grain-lang"; - repo = "dypgen"; - rev = version; - hash = "sha256-fKuO/e5YbA2B7XcghWl9pXxwvKw9YlhnmZDZcuKe3cs="; - }; - } else if lib.versionOlder ocaml.version "4.06" then { - version = "20120619-1"; - src = fetchurl { - url = "http://dypgen.free.fr/dypgen-20120619-1.tar.bz2"; - sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97"; - }; - } else throw "dypgen is not available for OCaml ${ocaml.version}" -; in +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + ocaml, + findlib, +}: + +let + params = + if lib.versionAtLeast ocaml.version "4.07" then + rec { + version = "0.2"; + src = fetchFromGitHub { + owner = "grain-lang"; + repo = "dypgen"; + rev = version; + hash = "sha256-fKuO/e5YbA2B7XcghWl9pXxwvKw9YlhnmZDZcuKe3cs="; + }; + } + else if lib.versionOlder ocaml.version "4.06" then + { + version = "20120619-1"; + src = fetchurl { + url = "http://dypgen.free.fr/dypgen-20120619-1.tar.bz2"; + sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97"; + }; + } + else + throw "dypgen is not available for OCaml ${ocaml.version}"; +in stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-dypgen"; inherit (params) src version; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; strictDeps = true; @@ -32,7 +48,11 @@ stdenv.mkDerivation rec { make ''; - makeFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/usr/share/man/man1" "DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib" ]; + makeFlags = [ + "BINDIR=$(out)/bin" + "MANDIR=$(out)/usr/share/man/man1" + "DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib" + ]; meta = { homepage = "http://dypgen.free.fr"; diff --git a/pkgs/development/ocaml-modules/earley/default.nix b/pkgs/development/ocaml-modules/earley/default.nix index 5d292607e24a1..7154c05540550 100644 --- a/pkgs/development/ocaml-modules/earley/default.nix +++ b/pkgs/development/ocaml-modules/earley/default.nix @@ -1,5 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage -, stdlib-shims +{ + lib, + fetchFromGitHub, + buildDunePackage, + stdlib-shims, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/earlybird/default.nix b/pkgs/development/ocaml-modules/earlybird/default.nix index 49d5895f6596e..4d07d9a35d913 100644 --- a/pkgs/development/ocaml-modules/earlybird/default.nix +++ b/pkgs/development/ocaml-modules/earlybird/default.nix @@ -1,7 +1,21 @@ -{ lib, fetchFromGitHub, buildDunePackage -, cmdliner, dap, fmt, iter, logs, lru, lwt_ppx, lwt_react, menhir, menhirLib, path_glob, ppx_deriving_yojson -, ppx_optcomp -, gitUpdater +{ + lib, + fetchFromGitHub, + buildDunePackage, + cmdliner, + dap, + fmt, + iter, + logs, + lru, + lwt_ppx, + lwt_react, + menhir, + menhirLib, + path_glob, + ppx_deriving_yojson, + ppx_optcomp, + gitUpdater, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix index 7d178b7580629..df1b30dd647ac 100644 --- a/pkgs/development/ocaml-modules/easy-format/default.nix +++ b/pkgs/development/ocaml-modules/easy-format/default.nix @@ -1,13 +1,22 @@ -{ lib, fetchurl, ocaml, buildDunePackage }: +{ + lib, + fetchurl, + ocaml, + buildDunePackage, +}: -let params = - if lib.versionAtLeast ocaml.version "4.08" then { - version = "1.3.3"; - sha256 = "sha256:05n4mm1yz33h9gw811ivjw7x4m26lpmf7kns9lza4v6227lwmz7a"; - } else { - version = "1.3.2"; - sha256 = "sha256:09hrikx310pac2sb6jzaa7k6fmiznnmhdsqij1gawdymhawc4h1l"; - }; +let + params = + if lib.versionAtLeast ocaml.version "4.08" then + { + version = "1.3.3"; + sha256 = "sha256:05n4mm1yz33h9gw811ivjw7x4m26lpmf7kns9lza4v6227lwmz7a"; + } + else + { + version = "1.3.2"; + sha256 = "sha256:09hrikx310pac2sb6jzaa7k6fmiznnmhdsqij1gawdymhawc4h1l"; + }; in buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/eigen/default.nix b/pkgs/development/ocaml-modules/eigen/default.nix index 0b02539d64cbc..3dbe6315d5cd0 100644 --- a/pkgs/development/ocaml-modules/eigen/default.nix +++ b/pkgs/development/ocaml-modules/eigen/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, buildDunePackage, fetchFromGitHub, ctypes, libcxx }: +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + ctypes, + libcxx, +}: buildDunePackage rec { pname = "eigen"; @@ -8,8 +15,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "owlbarn"; - repo = pname; - rev = version; + repo = pname; + rev = version; sha256 = "1zaw03as14hyvfpyj6bjrfbcxp2ljdbqcqqgm53kms244mig425f"; }; diff --git a/pkgs/development/ocaml-modules/eio-ssl/default.nix b/pkgs/development/ocaml-modules/eio-ssl/default.nix index 087a667d4e2df..01834cfb612ca 100644 --- a/pkgs/development/ocaml-modules/eio-ssl/default.nix +++ b/pkgs/development/ocaml-modules/eio-ssl/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchurl -, eio -, ssl +{ + lib, + buildDunePackage, + fetchurl, + eio, + ssl, }: buildDunePackage rec { @@ -14,7 +15,10 @@ buildDunePackage rec { hash = "sha256-m4CiUQtXVSMfLthbDsAftpiOsr24I5IGiU1vv7Rz8go="; }; - propagatedBuildInputs = [ eio ssl ]; + propagatedBuildInputs = [ + eio + ssl + ]; meta = { homepage = "https://github.com/anmonteiro/eio-ssl"; diff --git a/pkgs/development/ocaml-modules/eio/default.nix b/pkgs/development/ocaml-modules/eio/default.nix index 422f3449f1e68..224e6051eb041 100644 --- a/pkgs/development/ocaml-modules/eio/default.nix +++ b/pkgs/development/ocaml-modules/eio/default.nix @@ -1,33 +1,36 @@ -{ lib -, ocaml -, version ? if lib.versionAtLeast ocaml.version "5.1" then "1.2" else "0.12" -, buildDunePackage -, bigstringaf -, cstruct -, domain-local-await -, fetchurl -, fmt -, hmap -, lwt-dllist -, mtime -, optint -, psq -, alcotest -, crowbar -, mdx +{ + lib, + ocaml, + version ? if lib.versionAtLeast ocaml.version "5.1" then "1.2" else "0.12", + buildDunePackage, + bigstringaf, + cstruct, + domain-local-await, + fetchurl, + fmt, + hmap, + lwt-dllist, + mtime, + optint, + psq, + alcotest, + crowbar, + mdx, }: let - param = { - "0.12" = { - minimalOCamlVersion = "5.0"; - hash = "sha256-2EhHzoX/t4ZBSWrSS+PGq1zCxohc7a1q4lfsrFnZJqA="; - }; - "1.2" = { - minimalOCamlVersion = "5.1"; - hash = "sha256-N5LpEr2NSUuy449zCBgl5NISsZcM8sHxspZsqp/WvEA="; - }; - }."${version}"; + param = + { + "0.12" = { + minimalOCamlVersion = "5.0"; + hash = "sha256-2EhHzoX/t4ZBSWrSS+PGq1zCxohc7a1q4lfsrFnZJqA="; + }; + "1.2" = { + minimalOCamlVersion = "5.1"; + hash = "sha256-N5LpEr2NSUuy449zCBgl5NISsZcM8sHxspZsqp/WvEA="; + }; + } + ."${version}"; in buildDunePackage rec { pname = "eio"; diff --git a/pkgs/development/ocaml-modules/eio/linux.nix b/pkgs/development/ocaml-modules/eio/linux.nix index f6ed30d4e80d1..09e840ffecf5b 100644 --- a/pkgs/development/ocaml-modules/eio/linux.nix +++ b/pkgs/development/ocaml-modules/eio/linux.nix @@ -1,13 +1,19 @@ -{ buildDunePackage -, eio -, fmt -, logs -, uring +{ + buildDunePackage, + eio, + fmt, + logs, + uring, }: buildDunePackage { pname = "eio_linux"; - inherit (eio) meta src patches version; + inherit (eio) + meta + src + patches + version + ; minimalOCamlVersion = "5.0"; diff --git a/pkgs/development/ocaml-modules/eio/main.nix b/pkgs/development/ocaml-modules/eio/main.nix index 48c15e99ae0c3..a0affd2ea5e9b 100644 --- a/pkgs/development/ocaml-modules/eio/main.nix +++ b/pkgs/development/ocaml-modules/eio/main.nix @@ -1,22 +1,30 @@ -{ lib -, stdenv -, buildDunePackage -, eio -, eio_posix -, eio_linux +{ + lib, + stdenv, + buildDunePackage, + eio, + eio_posix, + eio_linux, }: buildDunePackage { pname = "eio_main"; - inherit (eio) meta src patches version; + inherit (eio) + meta + src + patches + version + ; minimalOCamlVersion = "5.0"; dontStrip = true; - propagatedBuildInputs = [ - eio_posix - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - eio_linux - ]; + propagatedBuildInputs = + [ + eio_posix + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + eio_linux + ]; } diff --git a/pkgs/development/ocaml-modules/eio/posix.nix b/pkgs/development/ocaml-modules/eio/posix.nix index fa63c1ea713bf..31ba1f8459c86 100644 --- a/pkgs/development/ocaml-modules/eio/posix.nix +++ b/pkgs/development/ocaml-modules/eio/posix.nix @@ -1,16 +1,22 @@ -{ buildDunePackage -, lib -, stdenv -, dune-configurator -, eio -, fmt -, logs -, iomux +{ + buildDunePackage, + lib, + stdenv, + dune-configurator, + eio, + fmt, + logs, + iomux, }: buildDunePackage { pname = "eio_posix"; - inherit (eio) meta src patches version; + inherit (eio) + meta + src + patches + version + ; minimalOCamlVersion = "5.0"; diff --git a/pkgs/development/ocaml-modules/either/default.nix b/pkgs/development/ocaml-modules/either/default.nix index 71d16c9674c9d..5967168061e84 100644 --- a/pkgs/development/ocaml-modules/either/default.nix +++ b/pkgs/development/ocaml-modules/either/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "either"; diff --git a/pkgs/development/ocaml-modules/elina/default.nix b/pkgs/development/ocaml-modules/elina/default.nix index de3f1094143d3..65f13a4857c2e 100644 --- a/pkgs/development/ocaml-modules/elina/default.nix +++ b/pkgs/development/ocaml-modules/elina/default.nix @@ -1,4 +1,16 @@ -{ stdenv, lib, fetchurl, gnumake42, perl, gmp, mpfr, ocaml, findlib, camlidl, apron }: +{ + stdenv, + lib, + fetchurl, + gnumake42, + perl, + gmp, + mpfr, + ocaml, + findlib, + camlidl, + apron, +}: stdenv.mkDerivation rec { version = "1.1"; @@ -9,9 +21,19 @@ stdenv.mkDerivation rec { }; # fails with make 4.4 - nativeBuildInputs = [ gnumake42 perl ocaml findlib camlidl ]; + nativeBuildInputs = [ + gnumake42 + perl + ocaml + findlib + camlidl + ]; - propagatedBuildInputs = [ apron gmp mpfr ]; + propagatedBuildInputs = [ + apron + gmp + mpfr + ]; strictDeps = true; @@ -19,10 +41,9 @@ stdenv.mkDerivation rec { configureFlags = [ "--use-apron" "--use-opam" - "--apron-prefix" apron - ] - ++ lib.optional stdenv.hostPlatform.isDarwin "--absolute-dylibs" - ; + "--apron-prefix" + apron + ] ++ lib.optional stdenv.hostPlatform.isDarwin "--absolute-dylibs"; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/emile/default.nix b/pkgs/development/ocaml-modules/emile/default.nix index 0a70be2c4fee0..07786a974202f 100644 --- a/pkgs/development/ocaml-modules/emile/default.nix +++ b/pkgs/development/ocaml-modules/emile/default.nix @@ -1,13 +1,14 @@ -{ lib -, buildDunePackage -, fetchurl -, angstrom -, ipaddr -, base64 -, pecu -, uutf -, alcotest -, cmdliner +{ + lib, + buildDunePackage, + fetchurl, + angstrom, + ipaddr, + base64, + pecu, + uutf, + alcotest, + cmdliner, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/encore/default.nix b/pkgs/development/ocaml-modules/encore/default.nix index fc54eb1a47810..e360b0004a6a2 100644 --- a/pkgs/development/ocaml-modules/encore/default.nix +++ b/pkgs/development/ocaml-modules/encore/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildDunePackage -, fetchurl -, fmt -, bigstringaf -, angstrom -, alcotest +{ + lib, + buildDunePackage, + fetchurl, + fmt, + bigstringaf, + angstrom, + alcotest, }: buildDunePackage rec { @@ -20,7 +21,11 @@ buildDunePackage rec { duneVersion = "3"; - propagatedBuildInputs = [ angstrom fmt bigstringaf ]; + propagatedBuildInputs = [ + angstrom + fmt + bigstringaf + ]; checkInputs = [ alcotest ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/eqaf/cstruct.nix b/pkgs/development/ocaml-modules/eqaf/cstruct.nix index b5f2f6e666831..c640254240029 100644 --- a/pkgs/development/ocaml-modules/eqaf/cstruct.nix +++ b/pkgs/development/ocaml-modules/eqaf/cstruct.nix @@ -1,9 +1,16 @@ -{ buildDunePackage, eqaf, cstruct }: +{ + buildDunePackage, + eqaf, + cstruct, +}: buildDunePackage { pname = "eqaf-cstruct"; inherit (eqaf) src version meta; - propagatedBuildInputs = [ cstruct eqaf ]; + propagatedBuildInputs = [ + cstruct + eqaf + ]; } diff --git a/pkgs/development/ocaml-modules/eqaf/default.nix b/pkgs/development/ocaml-modules/eqaf/default.nix index 9b5dadb7b710b..1833f44518a2a 100644 --- a/pkgs/development/ocaml-modules/eqaf/default.nix +++ b/pkgs/development/ocaml-modules/eqaf/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { minimalOCamlVersion = "4.07"; diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix index 082f47313bd4e..a5676c358741a 100644 --- a/pkgs/development/ocaml-modules/erm_xml/default.nix +++ b/pkgs/development/ocaml-modules/erm_xml/default.nix @@ -1,32 +1,42 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }: +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, +}: -if lib.versionOlder ocaml.version "4.02" -|| lib.versionAtLeast ocaml.version "5.0" -then throw "erm_xml is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0" then + throw "erm_xml is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-erm_xml"; - version = "0.3+20180112"; + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-erm_xml"; + version = "0.3+20180112"; - src = fetchFromGitHub { - owner = "hannesm"; - repo = "xml"; - rev = "bbabdade807d8281fc48806da054b70dfe482479"; - sha256 = "sha256-OQdLTq9tJZc6XlcuPv2gxzYiQAUGd6AiBzfSi169XL0="; - }; + src = fetchFromGitHub { + owner = "hannesm"; + repo = "xml"; + rev = "bbabdade807d8281fc48806da054b70dfe482479"; + sha256 = "sha256-OQdLTq9tJZc6XlcuPv2gxzYiQAUGd6AiBzfSi169XL0="; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; - strictDeps = true; + strictDeps = true; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = { - homepage = "https://github.com/hannesm/xml"; - description = "XML Parser for discrete data"; - platforms = ocaml.meta.platforms or [ ]; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ vbgl ]; - }; -} + meta = { + homepage = "https://github.com/hannesm/xml"; + description = "XML Parser for discrete data"; + platforms = ocaml.meta.platforms or [ ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix index d60c4684b3d96..2d69ca7c285ae 100644 --- a/pkgs/development/ocaml-modules/erm_xmpp/default.nix +++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix @@ -1,5 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, camlp4, ocamlbuild -, erm_xml, mirage-crypto, mirage-crypto-rng, base64, digestif +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + camlp4, + ocamlbuild, + erm_xml, + mirage-crypto, + mirage-crypto-rng, + base64, + digestif, }: stdenv.mkDerivation rec { @@ -7,15 +18,26 @@ stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-erm_xmpp"; src = fetchFromGitHub { - owner = "hannesm"; - repo = "xmpp"; - rev = "54418f77abf47b175e9c1b68a4f745a12b640d6a"; + owner = "hannesm"; + repo = "xmpp"; + rev = "54418f77abf47b175e9c1b68a4f745a12b640d6a"; sha256 = "sha256-AbzZjNkW1VH/FOnzNruvelZeo3IYg/Usr3enQEknTQs="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + camlp4 + ]; buildInputs = [ camlp4 ]; - propagatedBuildInputs = [ erm_xml mirage-crypto mirage-crypto-rng base64 digestif ]; + propagatedBuildInputs = [ + erm_xml + mirage-crypto + mirage-crypto-rng + base64 + digestif + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/ethernet/default.nix b/pkgs/development/ocaml-modules/ethernet/default.nix index c16534744d06c..e1969a24e574d 100644 --- a/pkgs/development/ocaml-modules/ethernet/default.nix +++ b/pkgs/development/ocaml-modules/ethernet/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildDunePackage -, fetchurl -, cstruct -, logs -, lwt -, macaddr -, mirage-net +{ + lib, + buildDunePackage, + fetchurl, + cstruct, + logs, + lwt, + macaddr, + mirage-net, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix index 2449308567e4e..17bc6e628c5d2 100644 --- a/pkgs/development/ocaml-modules/expat/default.nix +++ b/pkgs/development/ocaml-modules/expat/default.nix @@ -1,39 +1,51 @@ -{ stdenv, lib, fetchFromGitHub, expat, ocaml, findlib, ounit }: +{ + stdenv, + lib, + fetchFromGitHub, + expat, + ocaml, + findlib, + ounit, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02") "ocaml_expat is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-expat"; - version = "1.3.0"; - - src = fetchFromGitHub { - owner = "whitequark"; - repo = "ocaml-expat"; - rev = "v${version}"; - hash = "sha256-eDA6MUcztaI+fpunWBdanNnPo9Y5gvbj/ViVcxYYEBg="; - }; - - prePatch = '' - substituteInPlace Makefile --replace "gcc" "\$(CC)" - ''; - - nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ expat ]; - - strictDeps = true; - - doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkTarget = "testall"; - checkInputs = [ ounit ]; - - createFindlibDestdir = true; - - meta = { - description = "OCaml wrapper for the Expat XML parsing library"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.vbgl ]; - inherit (src.meta) homepage; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-expat"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "whitequark"; + repo = "ocaml-expat"; + rev = "v${version}"; + hash = "sha256-eDA6MUcztaI+fpunWBdanNnPo9Y5gvbj/ViVcxYYEBg="; + }; + + prePatch = '' + substituteInPlace Makefile --replace "gcc" "\$(CC)" + ''; + + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ expat ]; + + strictDeps = true; + + doCheck = lib.versionAtLeast ocaml.version "4.08"; + checkTarget = "testall"; + checkInputs = [ ounit ]; + + createFindlibDestdir = true; + + meta = { + description = "OCaml wrapper for the Expat XML parsing library"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index cd9f6d9b86ce0..9be2ca711fd7d 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, lib, fetchurl, cppo }: +{ + buildDunePackage, + lib, + fetchurl, + cppo, +}: buildDunePackage rec { pname = "extlib"; diff --git a/pkgs/development/ocaml-modules/ezjsonm-encoding/default.nix b/pkgs/development/ocaml-modules/ezjsonm-encoding/default.nix index 3a5b047903ad3..26423ea199956 100644 --- a/pkgs/development/ocaml-modules/ezjsonm-encoding/default.nix +++ b/pkgs/development/ocaml-modules/ezjsonm-encoding/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, ezjsonm }: +{ + lib, + fetchurl, + buildDunePackage, + ezjsonm, +}: buildDunePackage rec { pname = "ezjsonm-encoding"; diff --git a/pkgs/development/ocaml-modules/ezjsonm/default.nix b/pkgs/development/ocaml-modules/ezjsonm/default.nix index cde69a13e8bab..1f468bb2a3bce 100644 --- a/pkgs/development/ocaml-modules/ezjsonm/default.nix +++ b/pkgs/development/ocaml-modules/ezjsonm/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, jsonm, hex, sexplib0 }: +{ + lib, + fetchurl, + buildDunePackage, + jsonm, + hex, + sexplib0, +}: buildDunePackage rec { pname = "ezjsonm"; @@ -11,7 +18,11 @@ buildDunePackage rec { hash = "sha256-CGM+Dw52eoroGTXKfnTxaTuFp5xFAtVo7t/1Fw8M13s="; }; - propagatedBuildInputs = [ jsonm hex sexplib0 ]; + propagatedBuildInputs = [ + jsonm + hex + sexplib0 + ]; meta = { description = "Easy interface on top of the Jsonm library"; diff --git a/pkgs/development/ocaml-modules/ezxmlm/default.nix b/pkgs/development/ocaml-modules/ezxmlm/default.nix index b146b2349cd50..d0ac55f6787ec 100644 --- a/pkgs/development/ocaml-modules/ezxmlm/default.nix +++ b/pkgs/development/ocaml-modules/ezxmlm/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, xmlm }: +{ + lib, + fetchurl, + buildDunePackage, + xmlm, +}: buildDunePackage rec { pname = "ezxmlm"; diff --git a/pkgs/development/ocaml-modules/faad/default.nix b/pkgs/development/ocaml-modules/faad/default.nix index a2705a27d929e..1a45794059ee7 100644 --- a/pkgs/development/ocaml-modules/faad/default.nix +++ b/pkgs/development/ocaml-modules/faad/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, faad2, pkg-config }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + faad2, + pkg-config, +}: buildDunePackage rec { pname = "faad"; diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix index ee8b7cb5319d7..d2ebf8b8805f5 100644 --- a/pkgs/development/ocaml-modules/facile/default.nix +++ b/pkgs/development/ocaml-modules/facile/default.nix @@ -1,25 +1,30 @@ -{ lib, fetchurl, buildDunePackage, ocaml }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, +}: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "facile is not available for OCaml ≥ 5.0" +lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "facile is not available for OCaml ≥ 5.0" -buildDunePackage rec { - pname = "facile"; - version = "1.1.4"; + buildDunePackage + rec { + pname = "facile"; + version = "1.1.4"; - src = fetchurl { - url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz"; - sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp"; - }; + src = fetchurl { + url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz"; + sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp"; + }; - doCheck = true; + doCheck = true; - duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; - postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; + duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; + postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; - meta = { - homepage = "http://opti.recherche.enac.fr/facile/"; - license = lib.licenses.lgpl21Plus; - description = "Functional Constraint Library"; - }; -} + meta = { + homepage = "http://opti.recherche.enac.fr/facile/"; + license = lib.licenses.lgpl21Plus; + description = "Functional Constraint Library"; + }; + } diff --git a/pkgs/development/ocaml-modules/faraday/async.nix b/pkgs/development/ocaml-modules/faraday/async.nix index d6ee91cacabb0..adb80e01db3b7 100644 --- a/pkgs/development/ocaml-modules/faraday/async.nix +++ b/pkgs/development/ocaml-modules/faraday/async.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, faraday, core_unix ? null, async }: +{ + buildDunePackage, + faraday, + core_unix ? null, + async, +}: buildDunePackage rec { pname = "faraday-async"; @@ -7,7 +12,11 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ faraday core_unix async ]; + propagatedBuildInputs = [ + faraday + core_unix + async + ]; meta = faraday.meta // { description = "Async support for Faraday"; diff --git a/pkgs/development/ocaml-modules/faraday/default.nix b/pkgs/development/ocaml-modules/faraday/default.nix index da2647ef2392a..c7507ee38f7c1 100644 --- a/pkgs/development/ocaml-modules/faraday/default.nix +++ b/pkgs/development/ocaml-modules/faraday/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, alcotest, bigstringaf }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + alcotest, + bigstringaf, +}: buildDunePackage rec { pname = "faraday"; diff --git a/pkgs/development/ocaml-modules/faraday/lwt-unix.nix b/pkgs/development/ocaml-modules/faraday/lwt-unix.nix index 1919de47169d6..f194b6b56e924 100644 --- a/pkgs/development/ocaml-modules/faraday/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/faraday/lwt-unix.nix @@ -1,11 +1,19 @@ -{ buildDunePackage, faraday, faraday-lwt, lwt }: +{ + buildDunePackage, + faraday, + faraday-lwt, + lwt, +}: buildDunePackage rec { pname = "faraday-lwt-unix"; inherit (faraday) version src; duneVersion = "3"; - propagatedBuildInputs = [ lwt faraday-lwt ]; + propagatedBuildInputs = [ + lwt + faraday-lwt + ]; meta = faraday.meta // { description = "Lwt + Unix support for Faraday"; diff --git a/pkgs/development/ocaml-modules/faraday/lwt.nix b/pkgs/development/ocaml-modules/faraday/lwt.nix index 011074f2fba1f..b7d0b35e6c347 100644 --- a/pkgs/development/ocaml-modules/faraday/lwt.nix +++ b/pkgs/development/ocaml-modules/faraday/lwt.nix @@ -1,10 +1,17 @@ -{ buildDunePackage, faraday, lwt }: +{ + buildDunePackage, + faraday, + lwt, +}: buildDunePackage rec { pname = "faraday-lwt"; inherit (faraday) version src; - propagatedBuildInputs = [ faraday lwt ]; + propagatedBuildInputs = [ + faraday + lwt + ]; duneVersion = "3"; meta = faraday.meta // { diff --git a/pkgs/development/ocaml-modules/farfadet/default.nix b/pkgs/development/ocaml-modules/farfadet/default.nix index aa200f880e450..ddc73697d8ef0 100644 --- a/pkgs/development/ocaml-modules/farfadet/default.nix +++ b/pkgs/development/ocaml-modules/farfadet/default.nix @@ -1,34 +1,46 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg -, faraday +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + faraday, }: -if lib.versionOlder ocaml.version "4.3" -then throw "farfadet is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.3" then + throw "farfadet is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-farfadet"; - version = "0.3"; - - src = fetchurl { - url = "https://github.com/oklm-wsh/Farfadet/releases/download/v${version}/farfadet-${version}.tbz"; - sha256 = "0nlafnp0pwx0n4aszpsk6nvcvqi9im306p4jhx70si7k3xprlr2j"; - }; - - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; - - propagatedBuildInputs = [ faraday ]; - - strictDeps = true; - - inherit (topkg) buildPhase installPhase; - - meta = { - description = "Printf-like for Faraday library"; - homepage = "https://github.com/oklm-wsh/Farfadet"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-farfadet"; + version = "0.3"; + + src = fetchurl { + url = "https://github.com/oklm-wsh/Farfadet/releases/download/v${version}/farfadet-${version}.tbz"; + sha256 = "0nlafnp0pwx0n4aszpsk6nvcvqi9im306p4jhx70si7k3xprlr2j"; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; + + propagatedBuildInputs = [ faraday ]; + + strictDeps = true; + + inherit (topkg) buildPhase installPhase; + + meta = { + description = "Printf-like for Faraday library"; + homepage = "https://github.com/oklm-wsh/Farfadet"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/fdkaac/default.nix b/pkgs/development/ocaml-modules/fdkaac/default.nix index f31a94e2c7d65..ccabbfcc2a5d3 100644 --- a/pkgs/development/ocaml-modules/fdkaac/default.nix +++ b/pkgs/development/ocaml-modules/fdkaac/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, dune-configurator -, fdk_aac +{ + lib, + fetchFromGitHub, + buildDunePackage, + dune-configurator, + fdk_aac, }: buildDunePackage rec { @@ -19,7 +23,10 @@ buildDunePackage rec { description = "OCaml binding for the fdk-aac library"; inherit (src.meta) homepage; license = lib.licenses.gpl2Only; - maintainers = [ lib.maintainers.vbgl lib.maintainers.dandellion ]; + maintainers = [ + lib.maintainers.vbgl + lib.maintainers.dandellion + ]; }; } diff --git a/pkgs/development/ocaml-modules/ff/default.nix b/pkgs/development/ocaml-modules/ff/default.nix index 9eb8a8e23db15..a4268e0ec063e 100644 --- a/pkgs/development/ocaml-modules/ff/default.nix +++ b/pkgs/development/ocaml-modules/ff/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, ff-pbt, ff-sig, zarith, alcotest }: +{ + buildDunePackage, + ff-pbt, + ff-sig, + zarith, + alcotest, +}: buildDunePackage rec { pname = "ff"; diff --git a/pkgs/development/ocaml-modules/ff/pbt.nix b/pkgs/development/ocaml-modules/ff/pbt.nix index 3d0c8e7a8081f..dccad2b6c609e 100644 --- a/pkgs/development/ocaml-modules/ff/pbt.nix +++ b/pkgs/development/ocaml-modules/ff/pbt.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, zarith, ff-sig, alcotest }: +{ + buildDunePackage, + zarith, + ff-sig, + alcotest, +}: buildDunePackage { pname = "ff-pbt"; diff --git a/pkgs/development/ocaml-modules/ff/sig.nix b/pkgs/development/ocaml-modules/ff/sig.nix index 41d95cf993227..9aab1f066078a 100644 --- a/pkgs/development/ocaml-modules/ff/sig.nix +++ b/pkgs/development/ocaml-modules/ff/sig.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitLab, buildDunePackage, zarith }: +{ + lib, + fetchFromGitLab, + buildDunePackage, + zarith, +}: buildDunePackage rec { pname = "ff-sig"; diff --git a/pkgs/development/ocaml-modules/ffmpeg/default.nix b/pkgs/development/ocaml-modules/ffmpeg/default.nix index 91da782b232b9..54c460bb3afc7 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/default.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/default.nix @@ -1,12 +1,14 @@ -{ buildDunePackage, callPackage -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-avutil -, ffmpeg-avcodec -, ffmpeg-avfilter -, ffmpeg-swscale -, ffmpeg-swresample -, ffmpeg-av -, ffmpeg-avdevice +{ + buildDunePackage, + callPackage, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-avutil, + ffmpeg-avcodec, + ffmpeg-avfilter, + ffmpeg-swscale, + ffmpeg-swresample, + ffmpeg-av, + ffmpeg-avdevice, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-av.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-av.nix index 4d85556131777..70c981ad11cbb 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-av.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-av.nix @@ -1,9 +1,16 @@ -{ lib, buildDunePackage, dune-configurator, pkg-config, callPackage -, AudioToolbox -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-avutil, ffmpeg-avcodec, ffmpeg -, stdenv -, VideoToolbox +{ + lib, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + AudioToolbox, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-avutil, + ffmpeg-avcodec, + ffmpeg, + stdenv, + VideoToolbox, }: buildDunePackage { @@ -14,8 +21,17 @@ buildDunePackage { inherit (ffmpeg-base) version src; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioToolbox VideoToolbox ]; - propagatedBuildInputs = [ ffmpeg-avutil ffmpeg-avcodec ffmpeg.dev ]; + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + VideoToolbox + ]; + propagatedBuildInputs = [ + ffmpeg-avutil + ffmpeg-avcodec + ffmpeg.dev + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix index 85f03825cdbd0..76eaea775669c 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix @@ -1,9 +1,15 @@ -{ lib, buildDunePackage, dune-configurator, pkg-config, callPackage -, AudioToolbox -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-avutil, ffmpeg -, stdenv -, VideoToolbox +{ + lib, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + AudioToolbox, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-avutil, + ffmpeg, + stdenv, + VideoToolbox, }: buildDunePackage { @@ -14,9 +20,16 @@ buildDunePackage { inherit (ffmpeg-base) version src; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioToolbox VideoToolbox ]; - propagatedBuildInputs = [ ffmpeg-avutil ffmpeg.dev ]; + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + VideoToolbox + ]; + propagatedBuildInputs = [ + ffmpeg-avutil + ffmpeg.dev + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix index f966706cc737a..97bab8f5d38f1 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix @@ -1,15 +1,21 @@ -{ lib, buildDunePackage, dune-configurator, pkg-config, callPackage -, AppKit -, AudioToolbox -, AVFoundation -, Cocoa -, CoreImage -, ForceFeedback -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-av, ffmpeg -, OpenGL -, stdenv -, VideoToolbox +{ + lib, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + AppKit, + AudioToolbox, + AVFoundation, + Cocoa, + CoreImage, + ForceFeedback, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-av, + ffmpeg, + OpenGL, + stdenv, + VideoToolbox, }: buildDunePackage { @@ -20,20 +26,24 @@ buildDunePackage { inherit (ffmpeg-base) version src; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - AudioToolbox - AVFoundation - Cocoa - CoreImage - ForceFeedback - OpenGL - VideoToolbox + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + AudioToolbox + AVFoundation + Cocoa + CoreImage + ForceFeedback + OpenGL + VideoToolbox + ]; + + propagatedBuildInputs = [ + ffmpeg-av + ffmpeg.dev ]; - propagatedBuildInputs = [ ffmpeg-av ffmpeg.dev ]; - doCheck = true; meta = ffmpeg-base.meta // { diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix index 1f9ded9bd0241..0af5d888d0255 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix @@ -1,11 +1,17 @@ -{ lib, buildDunePackage, dune-configurator, pkg-config, callPackage -, AppKit -, CoreImage -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-avutil, ffmpeg -, OpenGL -, stdenv -, VideoToolbox +{ + lib, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + AppKit, + CoreImage, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-avutil, + ffmpeg, + OpenGL, + stdenv, + VideoToolbox, }: buildDunePackage { @@ -16,9 +22,18 @@ buildDunePackage { inherit (ffmpeg-base) version src; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit CoreImage OpenGL VideoToolbox ]; - propagatedBuildInputs = [ ffmpeg-avutil ffmpeg.dev ]; + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + CoreImage + OpenGL + VideoToolbox + ]; + propagatedBuildInputs = [ + ffmpeg-avutil + ffmpeg.dev + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix index 8374304fe4888..213920a6a110b 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, buildDunePackage, dune-configurator, pkg-config, callPackage -, AudioToolbox, VideoToolbox -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg +{ + lib, + stdenv, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + AudioToolbox, + VideoToolbox, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg, }: buildDunePackage { @@ -12,7 +19,12 @@ buildDunePackage { inherit (ffmpeg-base) version src; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioToolbox VideoToolbox ]; + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + VideoToolbox + ]; propagatedBuildInputs = [ ffmpeg.dev ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix index 5fda062454f07..bc4eb69009761 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix @@ -1,8 +1,15 @@ -{ lib, buildDunePackage, dune-configurator, pkg-config, callPackage -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-avutil, ffmpeg-avcodec, ffmpeg -, stdenv -, VideoToolbox +{ + lib, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-avutil, + ffmpeg-avcodec, + ffmpeg, + stdenv, + VideoToolbox, }: buildDunePackage { @@ -14,7 +21,11 @@ buildDunePackage { nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ VideoToolbox ]; - propagatedBuildInputs = [ ffmpeg-avutil ffmpeg-avcodec ffmpeg.dev ]; + propagatedBuildInputs = [ + ffmpeg-avutil + ffmpeg-avcodec + ffmpeg.dev + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix index 518f18b1509bd..a5f07a13d967a 100644 --- a/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix +++ b/pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix @@ -1,8 +1,14 @@ -{ lib, buildDunePackage, dune-configurator, pkg-config, callPackage -, ffmpeg-base ? callPackage ./base.nix { } -, ffmpeg-avutil, ffmpeg -, stdenv -, VideoToolbox +{ + lib, + buildDunePackage, + dune-configurator, + pkg-config, + callPackage, + ffmpeg-base ? callPackage ./base.nix { }, + ffmpeg-avutil, + ffmpeg, + stdenv, + VideoToolbox, }: buildDunePackage { @@ -14,7 +20,10 @@ buildDunePackage { nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ VideoToolbox ]; - propagatedBuildInputs = [ ffmpeg-avutil ffmpeg.dev ]; + propagatedBuildInputs = [ + ffmpeg-avutil + ffmpeg.dev + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/fiber/default.nix b/pkgs/development/ocaml-modules/fiber/default.nix index a99f10899e583..cd2c62d66a49c 100644 --- a/pkgs/development/ocaml-modules/fiber/default.nix +++ b/pkgs/development/ocaml-modules/fiber/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildDunePackage -, dyn -, fetchurl -, ppx_expect -, stdune +{ + lib, + buildDunePackage, + dyn, + fetchurl, + ppx_expect, + stdune, }: buildDunePackage rec { @@ -15,7 +16,10 @@ buildDunePackage rec { hash = "sha256-hkihWuk/5pQpmc42iHQpo5E7YoKcRxTlIMwOehw7loI="; }; - buildInputs = [ stdune dyn ]; + buildInputs = [ + stdune + dyn + ]; checkInputs = [ ppx_expect ]; diff --git a/pkgs/development/ocaml-modules/fileutils/default.nix b/pkgs/development/ocaml-modules/fileutils/default.nix index 832da7d3dc156..9305760710b49 100644 --- a/pkgs/development/ocaml-modules/fileutils/default.nix +++ b/pkgs/development/ocaml-modules/fileutils/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchurl, ocaml, buildDunePackage, seq, stdlib-shims, ounit2 }: +{ + lib, + fetchurl, + ocaml, + buildDunePackage, + seq, + stdlib-shims, + ounit2, +}: buildDunePackage rec { pname = "fileutils"; diff --git a/pkgs/development/ocaml-modules/fix/default.nix b/pkgs/development/ocaml-modules/fix/default.nix index 844059849bfc3..a16a93debab55 100644 --- a/pkgs/development/ocaml-modules/fix/default.nix +++ b/pkgs/development/ocaml-modules/fix/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, buildDunePackage }: +{ + lib, + fetchFromGitLab, + buildDunePackage, +}: buildDunePackage rec { pname = "fix"; diff --git a/pkgs/development/ocaml-modules/flac/default.nix b/pkgs/development/ocaml-modules/flac/default.nix index c30236e0e2c1e..833da22738ea7 100644 --- a/pkgs/development/ocaml-modules/flac/default.nix +++ b/pkgs/development/ocaml-modules/flac/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, pkg-config, ogg, flac }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + pkg-config, + ogg, + flac, +}: buildDunePackage rec { pname = "flac"; @@ -13,7 +21,10 @@ buildDunePackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ogg flac.dev ]; + propagatedBuildInputs = [ + ogg + flac.dev + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-flac"; diff --git a/pkgs/development/ocaml-modules/flex/default.nix b/pkgs/development/ocaml-modules/flex/default.nix index 99af6da926809..d638e057ea1ec 100644 --- a/pkgs/development/ocaml-modules/flex/default.nix +++ b/pkgs/development/ocaml-modules/flex/default.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, fetchFromGitHub, lib, reason }: +{ + buildDunePackage, + fetchFromGitHub, + lib, + reason, +}: buildDunePackage rec { pname = "flex"; diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix index b82df99d2df0e..bd86aa8f68b99 100644 --- a/pkgs/development/ocaml-modules/fmt/default.nix +++ b/pkgs/development/ocaml-modules/fmt/default.nix @@ -1,30 +1,47 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + cmdliner, +}: -if lib.versionOlder ocaml.version "4.08" -then throw "fmt is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.08" then + throw "fmt is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - version = "0.9.0"; - pname = "ocaml${ocaml.version}-fmt"; + stdenv.mkDerivation rec { + version = "0.9.0"; + pname = "ocaml${ocaml.version}-fmt"; - src = fetchurl { - url = "https://erratique.ch/software/fmt/releases/fmt-${version}.tbz"; - sha256 = "sha256-8fsggFoi3XWhN9cnBKNw53ic9r32OUjmgX0cImwUEmE="; - }; + src = fetchurl { + url = "https://erratique.ch/software/fmt/releases/fmt-${version}.tbz"; + sha256 = "sha256-8fsggFoi3XWhN9cnBKNw53ic9r32OUjmgX0cImwUEmE="; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ cmdliner topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + cmdliner + topkg + ]; - strictDeps = true; + strictDeps = true; - inherit (topkg) buildPhase installPhase; + inherit (topkg) buildPhase installPhase; - meta = with lib; { - homepage = "https://erratique.ch/software/fmt"; - license = licenses.isc; - description = "OCaml Format pretty-printer combinators"; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.vbgl ]; - }; -} + meta = with lib; { + homepage = "https://erratique.ch/software/fmt"; + license = licenses.isc; + description = "OCaml Format pretty-printer combinators"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/fontconfig/default.nix b/pkgs/development/ocaml-modules/fontconfig/default.nix index 5d7e5f59b8bd5..4668d6e316e45 100644 --- a/pkgs/development/ocaml-modules/fontconfig/default.nix +++ b/pkgs/development/ocaml-modules/fontconfig/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, fontconfig, ocaml }: +{ + stdenv, + lib, + fetchFromGitHub, + pkg-config, + fontconfig, + ocaml, +}: stdenv.mkDerivation { pname = "ocaml${ocaml.version}-fontconfig"; @@ -17,7 +24,10 @@ stdenv.mkDerivation { --replace String.capitalize String.capitalize_ascii ''; - nativeBuildInputs = [ pkg-config ocaml ]; + nativeBuildInputs = [ + pkg-config + ocaml + ]; buildInputs = [ fontconfig ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/fpath/default.nix b/pkgs/development/ocaml-modules/fpath/default.nix index db742f9290294..861b91901e559 100644 --- a/pkgs/development/ocaml-modules/fpath/default.nix +++ b/pkgs/development/ocaml-modules/fpath/default.nix @@ -1,32 +1,46 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, astring }: - -if lib.versionOlder ocaml.version "4.03" -then throw "fpath is not available for OCaml ${ocaml.version}" +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + astring, +}: + +if lib.versionOlder ocaml.version "4.03" then + throw "fpath is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-fpath"; - version = "0.7.3"; - - src = fetchurl { - url = "https://erratique.ch/software/fpath/releases/fpath-${version}.tbz"; - sha256 = "03z7mj0sqdz465rc4drj1gr88l9q3nfs374yssvdjdyhjbqqzc0j"; - }; - - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; - - propagatedBuildInputs = [ astring ]; - - strictDeps = true; - - inherit (topkg) buildPhase installPhase; - - meta = { - description = "OCaml module for handling file system paths with POSIX and Windows conventions"; - homepage = "https://erratique.ch/software/fpath"; - license = lib.licenses.isc; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-fpath"; + version = "0.7.3"; + + src = fetchurl { + url = "https://erratique.ch/software/fpath/releases/fpath-${version}.tbz"; + sha256 = "03z7mj0sqdz465rc4drj1gr88l9q3nfs374yssvdjdyhjbqqzc0j"; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; + + propagatedBuildInputs = [ astring ]; + + strictDeps = true; + + inherit (topkg) buildPhase installPhase; + + meta = { + description = "OCaml module for handling file system paths with POSIX and Windows conventions"; + homepage = "https://erratique.ch/software/fpath"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/frei0r/default.nix b/pkgs/development/ocaml-modules/frei0r/default.nix index 4f4a64d220a45..e4aba92bf4c6f 100644 --- a/pkgs/development/ocaml-modules/frei0r/default.nix +++ b/pkgs/development/ocaml-modules/frei0r/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, pkg-config, frei0r }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + pkg-config, + frei0r, +}: buildDunePackage rec { pname = "frei0r"; diff --git a/pkgs/development/ocaml-modules/frontc/default.nix b/pkgs/development/ocaml-modules/frontc/default.nix index c4ec0908fb0db..857555a5363f5 100644 --- a/pkgs/development/ocaml-modules/frontc/default.nix +++ b/pkgs/development/ocaml-modules/frontc/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml, menhir }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + menhir, +}: buildDunePackage rec { pname = "FrontC"; diff --git a/pkgs/development/ocaml-modules/functoria/default.nix b/pkgs/development/ocaml-modules/functoria/default.nix index 96fd6d0749ffc..79cf437d87fe3 100644 --- a/pkgs/development/ocaml-modules/functoria/default.nix +++ b/pkgs/development/ocaml-modules/functoria/default.nix @@ -1,25 +1,48 @@ -{ lib, buildDunePackage, cmdliner -, functoria-runtime -, rresult, astring, fmt, logs, bos, fpath, emile, uri -, alcotest +{ + lib, + buildDunePackage, + cmdliner, + functoria-runtime, + rresult, + astring, + fmt, + logs, + bos, + fpath, + emile, + uri, + alcotest, }: buildDunePackage { - pname = "functoria"; + pname = "functoria"; inherit (functoria-runtime) version src; minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ cmdliner rresult astring fmt logs bos fpath emile uri ]; + propagatedBuildInputs = [ + cmdliner + rresult + astring + fmt + logs + bos + fpath + emile + uri + ]; # Tests are not compatible with cmdliner 1.3 doCheck = false; - checkInputs = [ alcotest functoria-runtime ]; + checkInputs = [ + alcotest + functoria-runtime + ]; meta = with lib; { description = "DSL to organize functor applications"; - homepage = "https://github.com/mirage/functoria"; - license = licenses.isc; + homepage = "https://github.com/mirage/functoria"; + license = licenses.isc; maintainers = [ maintainers.vbgl ]; }; } diff --git a/pkgs/development/ocaml-modules/functoria/runtime.nix b/pkgs/development/ocaml-modules/functoria/runtime.nix index 3ede6096e5080..45af2438f55b4 100644 --- a/pkgs/development/ocaml-modules/functoria/runtime.nix +++ b/pkgs/development/ocaml-modules/functoria/runtime.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchurl, cmdliner }: +{ + lib, + buildDunePackage, + fetchurl, + cmdliner, +}: buildDunePackage rec { pname = "functoria-runtime"; @@ -14,8 +19,8 @@ buildDunePackage rec { propagatedBuildInputs = [ cmdliner ]; meta = with lib; { - homepage = "https://github.com/mirage/functoria"; - license = licenses.isc; + homepage = "https://github.com/mirage/functoria"; + license = licenses.isc; description = "Runtime support library for functoria-generated code"; maintainers = [ maintainers.sternenseemann ]; }; diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix index 0901de7c53b5d..84b16d678de89 100644 --- a/pkgs/development/ocaml-modules/functory/default.nix +++ b/pkgs/development/ocaml-modules/functory/default.nix @@ -1,40 +1,54 @@ -{ lib, stdenv, fetchurl, ocaml, findlib }: - -let param = - if lib.versionAtLeast ocaml.version "4.02" then { - version = "0.6"; - sha256 = "18wpyxblz9jh5bfp0hpffnd0q8cq1b0dqp0f36vhqydfknlnpx8y"; - } else { - version = "0.5"; - sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3"; - }; +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, +}: + +let + param = + if lib.versionAtLeast ocaml.version "4.02" then + { + version = "0.6"; + sha256 = "18wpyxblz9jh5bfp0hpffnd0q8cq1b0dqp0f36vhqydfknlnpx8y"; + } + else + { + version = "0.5"; + sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3"; + }; in lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "functory is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation { - pname = "ocaml${ocaml.version}-functory"; - inherit (param) version; + stdenv.mkDerivation + { + pname = "ocaml${ocaml.version}-functory"; + inherit (param) version; - src = fetchurl { - url = "https://www.lri.fr/~filliatr/functory/download/functory-${param.version}.tar.gz"; - inherit (param) sha256; - }; + src = fetchurl { + url = "https://www.lri.fr/~filliatr/functory/download/functory-${param.version}.tar.gz"; + inherit (param) sha256; + }; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; - strictDeps = true; + strictDeps = true; - installTargets = [ "ocamlfind-install" ]; + installTargets = [ "ocamlfind-install" ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = with lib; { - homepage = "https://www.lri.fr/~filliatr/functory/"; - description = "Distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion"; - license = licenses.lgpl21; - maintainers = [ maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + homepage = "https://www.lri.fr/~filliatr/functory/"; + description = "Distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion"; + license = licenses.lgpl21; + maintainers = [ maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix index f8d6c02e54334..3cce4f30823c7 100644 --- a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix +++ b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix @@ -1,6 +1,13 @@ -{ lib, fetchFromGitHub, buildDunePackage -, camlp-streams, cppo, cryptokit, ocurl, yojson -, ounit2 +{ + lib, + fetchFromGitHub, + buildDunePackage, + camlp-streams, + cppo, + cryptokit, + ocurl, + yojson, + ounit2, }: buildDunePackage rec { @@ -18,7 +25,12 @@ buildDunePackage rec { nativeBuildInputs = [ cppo ]; - propagatedBuildInputs = [ camlp-streams cryptokit ocurl yojson ]; + propagatedBuildInputs = [ + camlp-streams + cryptokit + ocurl + yojson + ]; doCheck = true; checkInputs = [ ounit2 ]; diff --git a/pkgs/development/ocaml-modules/gd/default.nix b/pkgs/development/ocaml-modules/gd/default.nix index 86817f05abb75..28c1234508640 100644 --- a/pkgs/development/ocaml-modules/gd/default.nix +++ b/pkgs/development/ocaml-modules/gd/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, gd }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + gd, +}: buildDunePackage rec { pname = "gd"; diff --git a/pkgs/development/ocaml-modules/gen/default.nix b/pkgs/development/ocaml-modules/gen/default.nix index 86dbc61f6faf8..c46efbbf766b8 100644 --- a/pkgs/development/ocaml-modules/gen/default.nix +++ b/pkgs/development/ocaml-modules/gen/default.nix @@ -1,6 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml -, seq -, qcheck, ounit2 +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + seq, + qcheck, + ounit2, }: buildDunePackage rec { @@ -17,7 +22,10 @@ buildDunePackage rec { }; propagatedBuildInputs = [ seq ]; - checkInputs = [ qcheck ounit2 ]; + checkInputs = [ + qcheck + ounit2 + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; diff --git a/pkgs/development/ocaml-modules/gen_js_api/default.nix b/pkgs/development/ocaml-modules/gen_js_api/default.nix index 1c0cd9c5bdbfa..f75d2295400ac 100644 --- a/pkgs/development/ocaml-modules/gen_js_api/default.nix +++ b/pkgs/development/ocaml-modules/gen_js_api/default.nix @@ -1,11 +1,12 @@ -{ buildDunePackage -, ocaml -, lib -, ppxlib -, fetchFromGitHub -, ojs -, js_of_ocaml-compiler -, nodejs +{ + buildDunePackage, + ocaml, + lib, + ppxlib, + fetchFromGitHub, + ojs, + js_of_ocaml-compiler, + nodejs, }: buildDunePackage rec { @@ -21,8 +22,14 @@ buildDunePackage rec { minimalOCamlVersion = "4.11"; - propagatedBuildInputs = [ ojs ppxlib ]; - nativeCheckInputs = [ js_of_ocaml-compiler nodejs ]; + propagatedBuildInputs = [ + ojs + ppxlib + ]; + nativeCheckInputs = [ + js_of_ocaml-compiler + nodejs + ]; doCheck = lib.versionAtLeast ocaml.version "4.13"; meta = { diff --git a/pkgs/development/ocaml-modules/gen_js_api/ojs.nix b/pkgs/development/ocaml-modules/gen_js_api/ojs.nix index 0cfe8f4bbfc1a..7a77574be7e7c 100644 --- a/pkgs/development/ocaml-modules/gen_js_api/ojs.nix +++ b/pkgs/development/ocaml-modules/gen_js_api/ojs.nix @@ -1,6 +1,7 @@ -{ buildDunePackage -, gen_js_api -, js_of_ocaml-compiler +{ + buildDunePackage, + gen_js_api, + js_of_ocaml-compiler, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/genspio/default.nix b/pkgs/development/ocaml-modules/genspio/default.nix index 338e1dd770c44..ca967338827f1 100644 --- a/pkgs/development/ocaml-modules/genspio/default.nix +++ b/pkgs/development/ocaml-modules/genspio/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage -, base, fmt +{ + lib, + fetchFromGitHub, + buildDunePackage, + base, + fmt, }: buildDunePackage rec { @@ -15,7 +19,10 @@ buildDunePackage rec { sha256 = "sha256:1788cnn10idp5i1hggg4pys7k0w8m3h2p4xa42jipfg4cpj7shaf"; }; - propagatedBuildInputs = [ base fmt ]; + propagatedBuildInputs = [ + base + fmt + ]; # base v0.17 compatibility patches = [ ./genspio.patch ]; diff --git a/pkgs/development/ocaml-modules/get-activity/default.nix b/pkgs/development/ocaml-modules/get-activity/default.nix index dbd585f57800e..3976c9c24af9f 100644 --- a/pkgs/development/ocaml-modules/get-activity/default.nix +++ b/pkgs/development/ocaml-modules/get-activity/default.nix @@ -7,7 +7,7 @@ dune-build-info, fmt, logs, - alcotest + alcotest, }: buildDunePackage rec { @@ -24,7 +24,10 @@ buildDunePackage rec { logs ]; - checkInputs = [ ppx_expect alcotest ]; + checkInputs = [ + ppx_expect + alcotest + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/get-activity/lib.nix b/pkgs/development/ocaml-modules/get-activity/lib.nix index 7f3fe161a6d2b..352b75d27f4fd 100644 --- a/pkgs/development/ocaml-modules/get-activity/lib.nix +++ b/pkgs/development/ocaml-modules/get-activity/lib.nix @@ -10,7 +10,7 @@ ppx_yojson_conv, ppx_yojson_conv_lib, yojson, - alcotest + alcotest, }: buildDunePackage rec { @@ -37,7 +37,10 @@ buildDunePackage rec { yojson ]; - checkInputs = [ ppx_expect alcotest ]; + checkInputs = [ + ppx_expect + alcotest + ]; doCheck = true; @@ -49,4 +52,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ zazedd ]; }; } - diff --git a/pkgs/development/ocaml-modules/getopt/default.nix b/pkgs/development/ocaml-modules/getopt/default.nix index db03f7b079399..9de42e3d8bae4 100644 --- a/pkgs/development/ocaml-modules/getopt/default.nix +++ b/pkgs/development/ocaml-modules/getopt/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "getopt"; diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix index c3bf3a2ec938a..7b015cf6840ce 100644 --- a/pkgs/development/ocaml-modules/gg/default.nix +++ b/pkgs/development/ocaml-modules/gg/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + topkg, + ocamlbuild, +}: let homepage = "https://erratique.ch/software/gg"; @@ -8,34 +16,40 @@ in lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "gg is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation { - - pname = "ocaml${ocaml.version}-gg"; - inherit version; - - src = fetchurl { - url = "${homepage}/releases/gg-${version}.tbz"; - sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci"; - }; - - strictDeps = true; - - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; - - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "Basic types for computer graphics in OCaml"; - longDescription = '' - Gg is an OCaml module providing basic types for computer graphics. It - defines types and functions for floats, vectors, points, sizes, - matrices, quaternions, axis aligned boxes, colors, color spaces, and - raster data. - ''; - inherit homepage; - inherit (ocaml.meta) platforms; - license = licenses.bsd3; - maintainers = [ maintainers.jirkamarsik ]; - }; -} + stdenv.mkDerivation + { + + pname = "ocaml${ocaml.version}-gg"; + inherit version; + + src = fetchurl { + url = "${homepage}/releases/gg-${version}.tbz"; + sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci"; + }; + + strictDeps = true; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; + + inherit (topkg) buildPhase installPhase; + + meta = with lib; { + description = "Basic types for computer graphics in OCaml"; + longDescription = '' + Gg is an OCaml module providing basic types for computer graphics. It + defines types and functions for floats, vectors, points, sizes, + matrices, quaternions, axis aligned boxes, colors, color spaces, and + raster data. + ''; + inherit homepage; + inherit (ocaml.meta) platforms; + license = licenses.bsd3; + maintainers = [ maintainers.jirkamarsik ]; + }; + } diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix index 40be36100b65e..71fc943fadec3 100644 --- a/pkgs/development/ocaml-modules/git/default.nix +++ b/pkgs/development/ocaml-modules/git/default.nix @@ -1,9 +1,41 @@ -{ stdenv, lib, fetchurl, buildDunePackage -, alcotest, mirage-crypto-rng, git-binary -, angstrom, astring, cstruct, decompress, digestif, encore, fmt, checkseum -, ke, logs, lwt, ocamlgraph, uri, rresult, base64, hxd -, bigstringaf, optint, mirage-flow, domain-name, emile -, mimic, carton, carton-lwt, carton-git, ipaddr, psq, crowbar, alcotest-lwt, cmdliner +{ + stdenv, + lib, + fetchurl, + buildDunePackage, + alcotest, + mirage-crypto-rng, + git-binary, + angstrom, + astring, + cstruct, + decompress, + digestif, + encore, + fmt, + checkseum, + ke, + logs, + lwt, + ocamlgraph, + uri, + rresult, + base64, + hxd, + bigstringaf, + optint, + mirage-flow, + domain-name, + emile, + mimic, + carton, + carton-lwt, + carton-git, + ipaddr, + psq, + crowbar, + alcotest-lwt, + cmdliner, }: buildDunePackage rec { @@ -21,22 +53,52 @@ buildDunePackage rec { base64 ]; propagatedBuildInputs = [ - angstrom astring checkseum cstruct decompress digestif encore fmt - ke logs lwt ocamlgraph uri rresult bigstringaf optint mirage-flow - domain-name emile mimic carton carton-lwt carton-git ipaddr psq hxd + angstrom + astring + checkseum + cstruct + decompress + digestif + encore + fmt + ke + logs + lwt + ocamlgraph + uri + rresult + bigstringaf + optint + mirage-flow + domain-name + emile + mimic + carton + carton-lwt + carton-git + ipaddr + psq + hxd ]; nativeCheckInputs = [ git-binary ]; checkInputs = [ - alcotest alcotest-lwt mirage-crypto-rng crowbar cmdliner + alcotest + alcotest-lwt + mirage-crypto-rng + crowbar + cmdliner ]; doCheck = !stdenv.hostPlatform.isAarch64; meta = { description = "Git format and protocol in pure OCaml"; license = lib.licenses.isc; - maintainers = with lib.maintainers; [ sternenseemann vbgl ]; + maintainers = with lib.maintainers; [ + sternenseemann + vbgl + ]; homepage = "https://github.com/mirage/ocaml-git"; }; } diff --git a/pkgs/development/ocaml-modules/git/mirage.nix b/pkgs/development/ocaml-modules/git/mirage.nix index 09158c1ba90bb..82225157ccdf4 100644 --- a/pkgs/development/ocaml-modules/git/mirage.nix +++ b/pkgs/development/ocaml-modules/git/mirage.nix @@ -1,36 +1,37 @@ -{ buildDunePackage -, git -, mimic -, mimic-happy-eyeballs -, base64 -, git-paf -, awa -, awa-mirage -, dns -, dns-client -, tls -, tls-mirage -, uri -, happy-eyeballs-mirage -, happy-eyeballs -, ca-certs-nss -, mirage-crypto -, ptime -, x509 -, cstruct -, tcpip -, domain-name -, fmt -, ipaddr -, lwt -, mirage-clock -, mirage-flow -, mirage-time -, alcotest -, alcotest-lwt -, bigstringaf -, logs -, ke +{ + buildDunePackage, + git, + mimic, + mimic-happy-eyeballs, + base64, + git-paf, + awa, + awa-mirage, + dns, + dns-client, + tls, + tls-mirage, + uri, + happy-eyeballs-mirage, + happy-eyeballs, + ca-certs-nss, + mirage-crypto, + ptime, + x509, + cstruct, + tcpip, + domain-name, + fmt, + ipaddr, + lwt, + mirage-clock, + mirage-flow, + mirage-time, + alcotest, + alcotest-lwt, + bigstringaf, + logs, + ke, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/git/paf.nix b/pkgs/development/ocaml-modules/git/paf.nix index b4b3c499bd26b..9b4fdac9ea0be 100644 --- a/pkgs/development/ocaml-modules/git/paf.nix +++ b/pkgs/development/ocaml-modules/git/paf.nix @@ -1,22 +1,23 @@ -{ buildDunePackage -, git -, mimic -, paf -, ca-certs-nss -, fmt -, ipaddr -, logs -, lwt -, mirage-clock -, mirage-time -, rresult -, tls -, uri -, bigstringaf -, domain-name -, httpaf -, mirage-flow -, tls-mirage +{ + buildDunePackage, + git, + mimic, + paf, + ca-certs-nss, + fmt, + ipaddr, + logs, + lwt, + mirage-clock, + mirage-time, + rresult, + tls, + uri, + bigstringaf, + domain-name, + httpaf, + mirage-flow, + tls-mirage, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/git/unix.nix b/pkgs/development/ocaml-modules/git/unix.nix index 9423f23b51016..ca4f784490c35 100644 --- a/pkgs/development/ocaml-modules/git/unix.nix +++ b/pkgs/development/ocaml-modules/git/unix.nix @@ -1,13 +1,38 @@ -{ buildDunePackage, git -, rresult, bigstringaf -, fmt, bos, fpath, uri, digestif, logs, lwt -, mirage-clock, mirage-clock-unix, astring, cmdliner -, decompress, domain-name, ipaddr, mtime -, tcpip, mirage-flow, mirage-unix -, alcotest, alcotest-lwt, base64, cstruct -, ke, mirage-crypto-rng, git-binary -, mimic, tls -, cacert, happy-eyeballs-lwt, git-mirage +{ + buildDunePackage, + git, + rresult, + bigstringaf, + fmt, + bos, + fpath, + uri, + digestif, + logs, + lwt, + mirage-clock, + mirage-clock-unix, + astring, + cmdliner, + decompress, + domain-name, + ipaddr, + mtime, + tcpip, + mirage-flow, + mirage-unix, + alcotest, + alcotest-lwt, + base64, + cstruct, + ke, + mirage-crypto-rng, + git-binary, + mimic, + tls, + cacert, + happy-eyeballs-lwt, + git-mirage, }: buildDunePackage { @@ -22,18 +47,36 @@ buildDunePackage { tcpip ]; propagatedBuildInputs = [ - rresult bigstringaf - fmt bos fpath digestif logs lwt - astring decompress - domain-name ipaddr mirage-flow mirage-unix - cstruct mimic - tls git happy-eyeballs-lwt - git-mirage mirage-clock-unix + rresult + bigstringaf + fmt + bos + fpath + digestif + logs + lwt + astring + decompress + domain-name + ipaddr + mirage-flow + mirage-unix + cstruct + mimic + tls + git + happy-eyeballs-lwt + git-mirage + mirage-clock-unix ]; checkInputs = [ - alcotest alcotest-lwt base64 ke + alcotest + alcotest-lwt + base64 + ke mirage-crypto-rng - uri mtime + uri + mtime cacert # sets up NIX_SSL_CERT_FILE ]; nativeCheckInputs = [ git-binary ]; diff --git a/pkgs/development/ocaml-modules/github/data.nix b/pkgs/development/ocaml-modules/github/data.nix index 9b8c207e91acc..9d7544d34bdeb 100644 --- a/pkgs/development/ocaml-modules/github/data.nix +++ b/pkgs/development/ocaml-modules/github/data.nix @@ -1,5 +1,8 @@ -{ buildDunePackage, github -, yojson, atdgen +{ + buildDunePackage, + github, + yojson, + atdgen, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/github/default.nix b/pkgs/development/ocaml-modules/github/default.nix index ec1816f8e5ad3..e104f98b743dd 100644 --- a/pkgs/development/ocaml-modules/github/default.nix +++ b/pkgs/development/ocaml-modules/github/default.nix @@ -1,5 +1,14 @@ -{ lib, buildDunePackage, fetchFromGitHub -, uri, cohttp, lwt, cohttp-lwt, github-data, yojson, stringext +{ + lib, + buildDunePackage, + fetchFromGitHub, + uri, + cohttp, + lwt, + cohttp-lwt, + github-data, + yojson, + stringext, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/github/jsoo.nix b/pkgs/development/ocaml-modules/github/jsoo.nix index e5860fd1d72e2..02ea888d2d6c0 100644 --- a/pkgs/development/ocaml-modules/github/jsoo.nix +++ b/pkgs/development/ocaml-modules/github/jsoo.nix @@ -1,5 +1,9 @@ -{ buildDunePackage, github -, cohttp, cohttp-lwt-jsoo, js_of_ocaml-lwt +{ + buildDunePackage, + github, + cohttp, + cohttp-lwt-jsoo, + js_of_ocaml-lwt, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/github/unix.nix b/pkgs/development/ocaml-modules/github/unix.nix index 4d3205452094a..4dd70fea7febf 100644 --- a/pkgs/development/ocaml-modules/github/unix.nix +++ b/pkgs/development/ocaml-modules/github/unix.nix @@ -1,5 +1,11 @@ -{ buildDunePackage, github -, cohttp, cohttp-lwt-unix, stringext, cmdliner, lwt +{ + buildDunePackage, + github, + cohttp, + cohttp-lwt-unix, + stringext, + cmdliner, + lwt, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/gluon/default.nix b/pkgs/development/ocaml-modules/gluon/default.nix index cb926cbb07094..38feb97ba8961 100644 --- a/pkgs/development/ocaml-modules/gluon/default.nix +++ b/pkgs/development/ocaml-modules/gluon/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildDunePackage -, fetchurl -, bytestring -, config -, libc -, rio -, uri +{ + lib, + buildDunePackage, + fetchurl, + bytestring, + config, + libc, + rio, + uri, }: buildDunePackage rec { @@ -38,5 +39,3 @@ buildDunePackage rec { maintainers = [ ]; }; } - - diff --git a/pkgs/development/ocaml-modules/gluten/default.nix b/pkgs/development/ocaml-modules/gluten/default.nix index 255f92378febc..689c7a05f6596 100644 --- a/pkgs/development/ocaml-modules/gluten/default.nix +++ b/pkgs/development/ocaml-modules/gluten/default.nix @@ -1,8 +1,9 @@ -{ buildDunePackage -, bigstringaf -, faraday -, fetchurl -, lib +{ + buildDunePackage, + bigstringaf, + faraday, + fetchurl, + lib, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/gluten/eio.nix b/pkgs/development/ocaml-modules/gluten/eio.nix index ceeb8f7294279..d2c9cafb29e5a 100644 --- a/pkgs/development/ocaml-modules/gluten/eio.nix +++ b/pkgs/development/ocaml-modules/gluten/eio.nix @@ -1,10 +1,17 @@ -{ buildDunePackage, gluten, eio }: +{ + buildDunePackage, + gluten, + eio, +}: buildDunePackage { pname = "gluten-eio"; inherit (gluten) src version; - propagatedBuildInputs = [ gluten eio ]; + propagatedBuildInputs = [ + gluten + eio + ]; meta = gluten.meta // { description = "EIO runtime for gluten"; diff --git a/pkgs/development/ocaml-modules/gluten/lwt-unix.nix b/pkgs/development/ocaml-modules/gluten/lwt-unix.nix index c3a360322a14a..28f043d50c802 100644 --- a/pkgs/development/ocaml-modules/gluten/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/gluten/lwt-unix.nix @@ -1,13 +1,19 @@ -{ buildDunePackage -, faraday-lwt-unix -, gluten -, gluten-lwt -, lwt_ssl +{ + buildDunePackage, + faraday-lwt-unix, + gluten, + gluten-lwt, + lwt_ssl, }: buildDunePackage rec { pname = "gluten-lwt-unix"; - inherit (gluten) doCheck meta src version; + inherit (gluten) + doCheck + meta + src + version + ; propagatedBuildInputs = [ faraday-lwt-unix diff --git a/pkgs/development/ocaml-modules/gluten/lwt.nix b/pkgs/development/ocaml-modules/gluten/lwt.nix index e4cfb0d8db02a..2da3d0f7d011e 100644 --- a/pkgs/development/ocaml-modules/gluten/lwt.nix +++ b/pkgs/development/ocaml-modules/gluten/lwt.nix @@ -1,11 +1,17 @@ -{ buildDunePackage -, gluten -, lwt +{ + buildDunePackage, + gluten, + lwt, }: buildDunePackage rec { pname = "gluten-lwt"; - inherit (gluten) doCheck meta src version; + inherit (gluten) + doCheck + meta + src + version + ; propagatedBuildInputs = [ gluten diff --git a/pkgs/development/ocaml-modules/gmap/default.nix b/pkgs/development/ocaml-modules/gmap/default.nix index 59dbebe58e27b..5b5fc7ecafff4 100644 --- a/pkgs/development/ocaml-modules/gmap/default.nix +++ b/pkgs/development/ocaml-modules/gmap/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, ocaml, fetchurl, alcotest, fmt }: +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + alcotest, + fmt, +}: buildDunePackage rec { pname = "gmap"; @@ -13,7 +20,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.03"; - checkInputs = [ alcotest fmt ]; + checkInputs = [ + alcotest + fmt + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; diff --git a/pkgs/development/ocaml-modules/gnuplot/default.nix b/pkgs/development/ocaml-modules/gnuplot/default.nix index 6b30ac5848c4d..181366c226267 100644 --- a/pkgs/development/ocaml-modules/gnuplot/default.nix +++ b/pkgs/development/ocaml-modules/gnuplot/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, gnuplot, iso8601 }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + gnuplot, + iso8601, +}: buildDunePackage rec { pname = "gnuplot"; @@ -9,13 +15,16 @@ buildDunePackage rec { minimalOCamlVersion = "4.03"; src = fetchFromGitHub { - owner = "c-cube"; - repo = "ocaml-${pname}"; - rev = "v${version}"; + owner = "c-cube"; + repo = "ocaml-${pname}"; + rev = "v${version}"; sha256 = "02pzi3lb57ysrdsba743s3vmnapjbxgq8ynlzpxbbs6cn1jj6ch9"; }; - propagatedBuildInputs = [ gnuplot iso8601 ]; + propagatedBuildInputs = [ + gnuplot + iso8601 + ]; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/graphics/default.nix b/pkgs/development/ocaml-modules/graphics/default.nix index 02edaded7c03d..eab2c1b12ee6d 100644 --- a/pkgs/development/ocaml-modules/graphics/default.nix +++ b/pkgs/development/ocaml-modules/graphics/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, dune-configurator, libX11 }: +{ + lib, + fetchurl, + buildDunePackage, + dune-configurator, + libX11, +}: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/graphql/cohttp.nix b/pkgs/development/ocaml-modules/graphql/cohttp.nix index b202d46abd533..52d2aa6d5e5f4 100644 --- a/pkgs/development/ocaml-modules/graphql/cohttp.nix +++ b/pkgs/development/ocaml-modules/graphql/cohttp.nix @@ -1,14 +1,15 @@ -{ lib -, buildDunePackage -, ocaml-crunch -, astring -, cohttp -, digestif -, graphql -, ocplib-endian -, alcotest -, cohttp-lwt-unix -, graphql-lwt +{ + lib, + buildDunePackage, + ocaml-crunch, + astring, + cohttp, + digestif, + graphql, + ocplib-endian, + alcotest, + cohttp-lwt-unix, + graphql-lwt, }: buildDunePackage rec { @@ -19,9 +20,19 @@ buildDunePackage rec { duneVersion = "3"; nativeBuildInputs = [ ocaml-crunch ]; - propagatedBuildInputs = [ astring cohttp digestif graphql ocplib-endian ]; - - checkInputs = lib.optionals doCheck [ alcotest cohttp-lwt-unix graphql-lwt ]; + propagatedBuildInputs = [ + astring + cohttp + digestif + graphql + ocplib-endian + ]; + + checkInputs = lib.optionals doCheck [ + alcotest + cohttp-lwt-unix + graphql-lwt + ]; doCheck = true; @@ -30,5 +41,3 @@ buildDunePackage rec { }; } - - diff --git a/pkgs/development/ocaml-modules/graphql/default.nix b/pkgs/development/ocaml-modules/graphql/default.nix index 679d89f44b10d..b095180b6dc77 100644 --- a/pkgs/development/ocaml-modules/graphql/default.nix +++ b/pkgs/development/ocaml-modules/graphql/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, alcotest, graphql_parser, rresult, yojson }: +{ + buildDunePackage, + alcotest, + graphql_parser, + rresult, + yojson, +}: buildDunePackage rec { pname = "graphql"; @@ -7,7 +13,11 @@ buildDunePackage rec { duneVersion = "3"; - propagatedBuildInputs = [ graphql_parser rresult yojson ]; + propagatedBuildInputs = [ + graphql_parser + rresult + yojson + ]; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/graphql/lwt.nix b/pkgs/development/ocaml-modules/graphql/lwt.nix index cbdcba64abb48..fbd2df35a2333 100644 --- a/pkgs/development/ocaml-modules/graphql/lwt.nix +++ b/pkgs/development/ocaml-modules/graphql/lwt.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, alcotest, graphql, ocaml_lwt }: +{ + buildDunePackage, + alcotest, + graphql, + ocaml_lwt, +}: buildDunePackage rec { pname = "graphql-lwt"; @@ -7,7 +12,10 @@ buildDunePackage rec { duneVersion = "3"; - propagatedBuildInputs = [ graphql ocaml_lwt ]; + propagatedBuildInputs = [ + graphql + ocaml_lwt + ]; checkInputs = [ alcotest ]; @@ -18,4 +26,3 @@ buildDunePackage rec { }; } - diff --git a/pkgs/development/ocaml-modules/graphql/parser.nix b/pkgs/development/ocaml-modules/graphql/parser.nix index 4042e65772bc8..23fbd366f955f 100644 --- a/pkgs/development/ocaml-modules/graphql/parser.nix +++ b/pkgs/development/ocaml-modules/graphql/parser.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchurl, alcotest, fmt, menhir, re }: +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + fmt, + menhir, + re, +}: buildDunePackage rec { pname = "graphql_parser"; @@ -13,7 +21,10 @@ buildDunePackage rec { }; nativeBuildInputs = [ menhir ]; - propagatedBuildInputs = [ fmt re ]; + propagatedBuildInputs = [ + fmt + re + ]; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/graphql_ppx/default.nix b/pkgs/development/ocaml-modules/graphql_ppx/default.nix index 9314c1033d4c6..08ae3343d0625 100644 --- a/pkgs/development/ocaml-modules/graphql_ppx/default.nix +++ b/pkgs/development/ocaml-modules/graphql_ppx/default.nix @@ -1,7 +1,13 @@ -{ lib, buildDunePackage, fetchFromGitHub, alcotest, reason -, result -, ppxlib -, yojson }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + alcotest, + reason, + result, + ppxlib, + yojson, +}: buildDunePackage rec { pname = "graphql_ppx"; @@ -20,7 +26,10 @@ buildDunePackage rec { nativeBuildInputs = [ reason ]; - buildInputs = [ ppxlib reason ]; + buildInputs = [ + ppxlib + reason + ]; propagatedBuildInputs = [ reason @@ -36,6 +45,9 @@ buildDunePackage rec { homepage = "https://github.com/reasonml-community/graphql_ppx"; description = "GraphQL PPX rewriter for Bucklescript/ReasonML"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ Zimmi48 jtcoolen ]; + maintainers = with lib.maintainers; [ + Zimmi48 + jtcoolen + ]; }; } diff --git a/pkgs/development/ocaml-modules/gsl/default.nix b/pkgs/development/ocaml-modules/gsl/default.nix index 726714617f25b..5ab096a5a99c1 100644 --- a/pkgs/development/ocaml-modules/gsl/default.nix +++ b/pkgs/development/ocaml-modules/gsl/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, buildDunePackage, pkg-config, gsl, darwin, dune-configurator }: +{ + lib, + stdenv, + fetchFromGitHub, + buildDunePackage, + pkg-config, + gsl, + darwin, + dune-configurator, +}: buildDunePackage rec { pname = "gsl"; @@ -14,8 +23,13 @@ buildDunePackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator gsl ]; - propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Accelerate ]; + buildInputs = [ + dune-configurator + gsl + ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Accelerate + ]; meta = with lib; { homepage = "https://mmottl.github.io/gsl-ocaml/"; diff --git a/pkgs/development/ocaml-modules/gstreamer/default.nix b/pkgs/development/ocaml-modules/gstreamer/default.nix index 689603c8e19c4..cbe55294443da 100644 --- a/pkgs/development/ocaml-modules/gstreamer/default.nix +++ b/pkgs/development/ocaml-modules/gstreamer/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, buildDunePackage, fetchFromGitHub, dune-configurator, AppKit, Foundation, pkg-config, glib, gst_all_1 }: +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + AppKit, + Foundation, + pkg-config, + glib, + gst_all_1, +}: buildDunePackage rec { pname = "gstreamer"; @@ -12,8 +23,17 @@ buildDunePackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit Foundation ]; - propagatedBuildInputs = [ glib.dev gst_all_1.gstreamer.dev gst_all_1.gst-plugins-base ]; + buildInputs = + [ dune-configurator ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Foundation + ]; + propagatedBuildInputs = [ + glib.dev + gst_all_1.gstreamer.dev + gst_all_1.gst-plugins-base + ]; CFLAGS_COMPILE = [ "-I${glib.dev}/include/glib-2.0" diff --git a/pkgs/development/ocaml-modules/h2/default.nix b/pkgs/development/ocaml-modules/h2/default.nix index 12aebd57774d9..325f6dc1f1c8d 100644 --- a/pkgs/development/ocaml-modules/h2/default.nix +++ b/pkgs/development/ocaml-modules/h2/default.nix @@ -1,14 +1,15 @@ -{ buildDunePackage -, fetchFromGitHub -, hpack -, angstrom -, faraday -, base64 -, psq -, httpun-types -, alcotest -, yojson -, hex +{ + buildDunePackage, + fetchFromGitHub, + hpack, + angstrom, + faraday, + base64, + psq, + httpun-types, + alcotest, + yojson, + hex, }: let diff --git a/pkgs/development/ocaml-modules/h2/eio.nix b/pkgs/development/ocaml-modules/h2/eio.nix index 0beb6f3e086ef..2c75fd269ec48 100644 --- a/pkgs/development/ocaml-modules/h2/eio.nix +++ b/pkgs/development/ocaml-modules/h2/eio.nix @@ -1,7 +1,8 @@ -{ buildDunePackage -, h2 -, eio -, gluten-eio +{ + buildDunePackage, + h2, + eio, + gluten-eio, }: buildDunePackage { @@ -9,10 +10,13 @@ buildDunePackage { inherit (h2) src version; - propagatedBuildInputs = [ eio gluten-eio h2 ]; + propagatedBuildInputs = [ + eio + gluten-eio + h2 + ]; meta = h2.meta // { description = "EIO support for h2"; }; } - diff --git a/pkgs/development/ocaml-modules/hack_parallel/default.nix b/pkgs/development/ocaml-modules/hack_parallel/default.nix index 8ed2011b31c88..f7fb5ace45bc6 100644 --- a/pkgs/development/ocaml-modules/hack_parallel/default.nix +++ b/pkgs/development/ocaml-modules/hack_parallel/default.nix @@ -1,5 +1,12 @@ -{ lib, fetchFromGitHub, buildDunePackage, core, core_unix ? null, pkg-config -, sqlite }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + core, + core_unix ? null, + pkg-config, + sqlite, +}: buildDunePackage rec { pname = "hack_parallel"; version = "1.0.1"; @@ -33,11 +40,14 @@ buildDunePackage rec { nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ core core_unix sqlite ]; + propagatedBuildInputs = [ + core + core_unix + sqlite + ]; meta = { - description = - "Core parallel and shared memory library used by Hack, Flow, and Pyre"; + description = "Core parallel and shared memory library used by Hack, Flow, and Pyre"; license = lib.licenses.mit; homepage = "https://github.com/rvantonder/hack_parallel"; }; diff --git a/pkgs/development/ocaml-modules/hacl-star/default.nix b/pkgs/development/ocaml-modules/hacl-star/default.nix index 558146c3dd4b5..62a34753b320a 100644 --- a/pkgs/development/ocaml-modules/hacl-star/default.nix +++ b/pkgs/development/ocaml-modules/hacl-star/default.nix @@ -1,10 +1,23 @@ -{ buildDunePackage, hacl-star-raw, zarith, cppo, alcotest, secp256k1-internal, qcheck-core, cstruct }: - +{ + buildDunePackage, + hacl-star-raw, + zarith, + cppo, + alcotest, + secp256k1-internal, + qcheck-core, + cstruct, +}: buildDunePackage { pname = "hacl-star"; - inherit (hacl-star-raw) version src meta doCheck; + inherit (hacl-star-raw) + version + src + meta + doCheck + ; minimalOCamlVersion = "4.08"; diff --git a/pkgs/development/ocaml-modules/hacl-star/raw.nix b/pkgs/development/ocaml-modules/hacl-star/raw.nix index e481fea3866b2..535da5b1a1ee9 100644 --- a/pkgs/development/ocaml-modules/hacl-star/raw.nix +++ b/pkgs/development/ocaml-modules/hacl-star/raw.nix @@ -1,12 +1,13 @@ -{ lib -, which -, stdenv -, fetchzip -, cmake -, ocaml -, findlib -, ctypes -, cppo +{ + lib, + which, + stdenv, + fetchzip, + cmake, + ocaml, + findlib, + ctypes, + cppo, }: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-hacl-star-raw"; diff --git a/pkgs/development/ocaml-modules/happy-eyeballs/default.nix b/pkgs/development/ocaml-modules/happy-eyeballs/default.nix index 4e1eb163e3742..ea092ac66afde 100644 --- a/pkgs/development/ocaml-modules/happy-eyeballs/default.nix +++ b/pkgs/development/ocaml-modules/happy-eyeballs/default.nix @@ -1,5 +1,12 @@ -{ lib, buildDunePackage, fetchurl -, domain-name, duration, fmt, ipaddr, logs +{ + lib, + buildDunePackage, + fetchurl, + domain-name, + duration, + fmt, + ipaddr, + logs, }: buildDunePackage rec { @@ -25,6 +32,9 @@ buildDunePackage rec { description = "Connecting to a remote host via IP version 4 or 6"; homepage = "https://github.com/roburio/happy-eyeballs"; license = lib.licenses.isc; - maintainers = with lib.maintainers; [ vbgl ulrikstrid ]; + maintainers = with lib.maintainers; [ + vbgl + ulrikstrid + ]; }; } diff --git a/pkgs/development/ocaml-modules/happy-eyeballs/lwt.nix b/pkgs/development/ocaml-modules/happy-eyeballs/lwt.nix index e7dc5b8705ef4..e5b6cf3660e15 100644 --- a/pkgs/development/ocaml-modules/happy-eyeballs/lwt.nix +++ b/pkgs/development/ocaml-modules/happy-eyeballs/lwt.nix @@ -1,14 +1,15 @@ -{ buildDunePackage -, happy-eyeballs -, cmdliner -, dns -, duration -, domain-name -, ipaddr -, fmt -, logs -, lwt -, mtime +{ + buildDunePackage, + happy-eyeballs, + cmdliner, + dns, + duration, + domain-name, + ipaddr, + fmt, + logs, + lwt, + mtime, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/happy-eyeballs/mirage.nix b/pkgs/development/ocaml-modules/happy-eyeballs/mirage.nix index 1ff66a3710441..e0154c21ebcb8 100644 --- a/pkgs/development/ocaml-modules/happy-eyeballs/mirage.nix +++ b/pkgs/development/ocaml-modules/happy-eyeballs/mirage.nix @@ -1,15 +1,16 @@ -{ buildDunePackage -, happy-eyeballs -, duration -, domain-name -, ipaddr -, fmt -, logs -, lwt -, mirage-clock -, mirage-random -, mirage-time -, tcpip +{ + buildDunePackage, + happy-eyeballs, + duration, + domain-name, + ipaddr, + fmt, + logs, + lwt, + mirage-clock, + mirage-random, + mirage-time, + tcpip, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/hashcons/default.nix b/pkgs/development/ocaml-modules/hashcons/default.nix index 2bfaced11551a..72f81ca051ded 100644 --- a/pkgs/development/ocaml-modules/hashcons/default.nix +++ b/pkgs/development/ocaml-modules/hashcons/default.nix @@ -1,13 +1,17 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "hashcons"; version = "1.4"; src = fetchFromGitHub { - owner = "backtracking"; - repo = "ocaml-${pname}"; - rev = "d733325eeb55878bed285120c2c088daf78f0e2b"; + owner = "backtracking"; + repo = "ocaml-${pname}"; + rev = "d733325eeb55878bed285120c2c088daf78f0e2b"; sha256 = "0h4pvwj34pndaw3pajkhl710ywwinhc9pqimgllfmkl37wz2d8zq"; }; diff --git a/pkgs/development/ocaml-modules/hex/default.nix b/pkgs/development/ocaml-modules/hex/default.nix index 42c1b5d5c13b2..1d7850b96b030 100644 --- a/pkgs/development/ocaml-modules/hex/default.nix +++ b/pkgs/development/ocaml-modules/hex/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, cstruct }: +{ + lib, + fetchurl, + buildDunePackage, + cstruct, +}: buildDunePackage rec { pname = "hex"; diff --git a/pkgs/development/ocaml-modules/hidapi/default.nix b/pkgs/development/ocaml-modules/hidapi/default.nix index 49f92b87e015e..d65243e2cb71a 100644 --- a/pkgs/development/ocaml-modules/hidapi/default.nix +++ b/pkgs/development/ocaml-modules/hidapi/default.nix @@ -1,5 +1,11 @@ -{ pkgs, lib, fetchFromGitHub, buildDunePackage, pkg-config, dune-configurator -, bigstring, +{ + pkgs, + lib, + fetchFromGitHub, + buildDunePackage, + pkg-config, + dune-configurator, + bigstring, }: buildDunePackage rec { @@ -18,7 +24,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.03"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ pkgs.hidapi dune-configurator ]; + buildInputs = [ + pkgs.hidapi + dune-configurator + ]; propagatedBuildInputs = [ bigstring ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/higlo/default.nix b/pkgs/development/ocaml-modules/higlo/default.nix index fba8e35fb5be6..2f5d5df61e3d3 100644 --- a/pkgs/development/ocaml-modules/higlo/default.nix +++ b/pkgs/development/ocaml-modules/higlo/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitLab, sedlex, xtmpl }: +{ + lib, + buildDunePackage, + fetchFromGitLab, + sedlex, + xtmpl, +}: buildDunePackage rec { pname = "higlo"; @@ -12,7 +18,10 @@ buildDunePackage rec { hash = "sha256-SaFFzp4FCjVLdMLH6mNIv3HzJbkXJ5Ojbku258LCfLI="; }; - propagatedBuildInputs = [ sedlex xtmpl ]; + propagatedBuildInputs = [ + sedlex + xtmpl + ]; meta = with lib; { description = "OCaml library for syntax highlighting"; @@ -21,5 +30,3 @@ buildDunePackage rec { maintainers = with maintainers; [ regnat ]; }; } - - diff --git a/pkgs/development/ocaml-modules/hkdf/default.nix b/pkgs/development/ocaml-modules/hkdf/default.nix index 9faa6d02b8972..b882215ae8020 100644 --- a/pkgs/development/ocaml-modules/hkdf/default.nix +++ b/pkgs/development/ocaml-modules/hkdf/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchurl, digestif, alcotest, ohex }: +{ + lib, + buildDunePackage, + fetchurl, + digestif, + alcotest, + ohex, +}: buildDunePackage rec { pname = "hkdf"; @@ -12,7 +19,10 @@ buildDunePackage rec { }; propagatedBuildInputs = [ digestif ]; - checkInputs = [ alcotest ohex ]; + checkInputs = [ + alcotest + ohex + ]; doCheck = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/hmap/default.nix b/pkgs/development/ocaml-modules/hmap/default.nix index d0ae47031b23a..61892116d6e93 100644 --- a/pkgs/development/ocaml-modules/hmap/default.nix +++ b/pkgs/development/ocaml-modules/hmap/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, fetchurl -, findlib -, ocaml -, ocamlbuild -, topkg +{ + stdenv, + lib, + fetchurl, + findlib, + ocaml, + ocamlbuild, + topkg, }: let @@ -22,7 +23,12 @@ stdenv.mkDerivation rec { sha256 = "10xyjy4ab87z7jnghy0wnla9wrmazgyhdwhr4hdmxxdn28dxn03a"; }; - nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ]; + nativeBuildInputs = [ + ocaml + ocamlbuild + findlib + topkg + ]; buildInputs = [ topkg ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/hpack/default.nix b/pkgs/development/ocaml-modules/hpack/default.nix index c6c52a38dffd1..8a865415e3381 100644 --- a/pkgs/development/ocaml-modules/hpack/default.nix +++ b/pkgs/development/ocaml-modules/hpack/default.nix @@ -1,8 +1,9 @@ -{ buildDunePackage -, lib -, fetchurl -, angstrom -, faraday +{ + buildDunePackage, + lib, + fetchurl, + angstrom, + faraday, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/http-mirage-client/default.nix b/pkgs/development/ocaml-modules/http-mirage-client/default.nix index d5c1cb39cfc50..86450b2311a09 100644 --- a/pkgs/development/ocaml-modules/http-mirage-client/default.nix +++ b/pkgs/development/ocaml-modules/http-mirage-client/default.nix @@ -1,17 +1,18 @@ -{ lib -, fetchurl -, buildDunePackage -, h2 -, httpaf -, mimic-happy-eyeballs -, mirage-clock -, paf -, tcpip -, x509 -, alcotest-lwt -, mirage-clock-unix -, mirage-crypto-rng -, mirage-time-unix +{ + lib, + fetchurl, + buildDunePackage, + h2, + httpaf, + mimic-happy-eyeballs, + mirage-clock, + paf, + tcpip, + x509, + alcotest-lwt, + mirage-clock-unix, + mirage-crypto-rng, + mirage-time-unix, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/httpaf/default.nix b/pkgs/development/ocaml-modules/httpaf/default.nix index c4a3dd8e31723..ec39fd6629957 100644 --- a/pkgs/development/ocaml-modules/httpaf/default.nix +++ b/pkgs/development/ocaml-modules/httpaf/default.nix @@ -1,5 +1,11 @@ -{ lib, fetchFromGitHub, buildDunePackage -, angstrom, faraday, result, alcotest +{ + lib, + fetchFromGitHub, + buildDunePackage, + angstrom, + faraday, + result, + alcotest, }: buildDunePackage rec { @@ -16,7 +22,11 @@ buildDunePackage rec { }; checkInputs = [ alcotest ]; - propagatedBuildInputs = [ angstrom faraday result ]; + propagatedBuildInputs = [ + angstrom + faraday + result + ]; doCheck = true; meta = { diff --git a/pkgs/development/ocaml-modules/httpaf/lwt-unix.nix b/pkgs/development/ocaml-modules/httpaf/lwt-unix.nix index 46490def6f8e0..1f915fff09ca1 100644 --- a/pkgs/development/ocaml-modules/httpaf/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/httpaf/lwt-unix.nix @@ -1,7 +1,8 @@ -{ buildDunePackage -, httpaf -, faraday-lwt-unix -, lwt +{ + buildDunePackage, + httpaf, + faraday-lwt-unix, + lwt, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/httpun-ws/default.nix b/pkgs/development/ocaml-modules/httpun-ws/default.nix index 89ac696301b30..0e199d7168e7f 100644 --- a/pkgs/development/ocaml-modules/httpun-ws/default.nix +++ b/pkgs/development/ocaml-modules/httpun-ws/default.nix @@ -1,13 +1,14 @@ -{ lib -, fetchurl -, buildDunePackage -, angstrom -, base64 -, bigstringaf -, faraday -, gluten -, httpun -, alcotest +{ + lib, + fetchurl, + buildDunePackage, + angstrom, + base64, + bigstringaf, + faraday, + gluten, + httpun, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/httpun/default.nix b/pkgs/development/ocaml-modules/httpun/default.nix index f45ffe5eca2e7..51f0befde2d3c 100644 --- a/pkgs/development/ocaml-modules/httpun/default.nix +++ b/pkgs/development/ocaml-modules/httpun/default.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, httpun-types -, angstrom -, bigstringaf -, faraday -, alcotest +{ + buildDunePackage, + httpun-types, + angstrom, + bigstringaf, + faraday, + alcotest, }: buildDunePackage { @@ -11,7 +12,12 @@ buildDunePackage { inherit (httpun-types) src version; - propagatedBuildInputs = [ angstrom bigstringaf faraday httpun-types ]; + propagatedBuildInputs = [ + angstrom + bigstringaf + faraday + httpun-types + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/httpun/eio.nix b/pkgs/development/ocaml-modules/httpun/eio.nix index 1b3160d699f1c..b62cce3216154 100644 --- a/pkgs/development/ocaml-modules/httpun/eio.nix +++ b/pkgs/development/ocaml-modules/httpun/eio.nix @@ -1,6 +1,7 @@ -{ buildDunePackage -, httpun -, gluten-eio +{ + buildDunePackage, + httpun, + gluten-eio, }: buildDunePackage { @@ -8,7 +9,10 @@ buildDunePackage { inherit (httpun) src version; - propagatedBuildInputs = [ gluten-eio httpun ]; + propagatedBuildInputs = [ + gluten-eio + httpun + ]; meta = httpun.meta // { description = "EIO support for httpun"; diff --git a/pkgs/development/ocaml-modules/httpun/types.nix b/pkgs/development/ocaml-modules/httpun/types.nix index f69535129a31c..260903504967f 100644 --- a/pkgs/development/ocaml-modules/httpun/types.nix +++ b/pkgs/development/ocaml-modules/httpun/types.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, faraday +{ + lib, + buildDunePackage, + fetchurl, + faraday, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/imagelib/default.nix b/pkgs/development/ocaml-modules/imagelib/default.nix index 3533a7880e3e0..d63ea0cd4dc57 100644 --- a/pkgs/development/ocaml-modules/imagelib/default.nix +++ b/pkgs/development/ocaml-modules/imagelib/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchurl -, buildDunePackage -, decompress -, stdlib-shims -, alcotest +{ + lib, + fetchurl, + buildDunePackage, + decompress, + stdlib-shims, + alcotest, }: buildDunePackage rec { @@ -18,7 +19,10 @@ buildDunePackage rec { hash = "sha256-BQ2TVxGlpc6temteK84TKXpx0MtHZSykL/TjKN9xGP0="; }; - propagatedBuildInputs = [ decompress stdlib-shims ]; + propagatedBuildInputs = [ + decompress + stdlib-shims + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/index/default.nix b/pkgs/development/ocaml-modules/index/default.nix index edcb416194093..598c2dd7af9a2 100644 --- a/pkgs/development/ocaml-modules/index/default.nix +++ b/pkgs/development/ocaml-modules/index/default.nix @@ -1,7 +1,21 @@ -{ lib, fetchurl, buildDunePackage -, repr, ppx_repr, fmt, logs, mtime, stdlib-shims -, cmdliner, progress, semaphore-compat, optint -, alcotest, crowbar, re, lru +{ + lib, + fetchurl, + buildDunePackage, + repr, + ppx_repr, + fmt, + logs, + mtime, + stdlib-shims, + cmdliner, + progress, + semaphore-compat, + optint, + alcotest, + crowbar, + re, + lru, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/inifiles/default.nix b/pkgs/development/ocaml-modules/inifiles/default.nix index a78e314b76656..e4ac784b42b00 100644 --- a/pkgs/development/ocaml-modules/inifiles/default.nix +++ b/pkgs/development/ocaml-modules/inifiles/default.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, ocaml_pcre }: +{ + stdenv, + lib, + fetchurl, + fetchpatch, + ocaml, + findlib, + ocaml_pcre, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-inifiles"; @@ -20,12 +28,18 @@ stdenv.mkDerivation rec { substituteInPlace inifiles.ml --replace 'String.lowercase ' 'String.lowercase_ascii ' ''; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; propagatedBuildInputs = [ ocaml_pcre ]; strictDeps = true; - buildFlags = [ "all" "opt" ]; + buildFlags = [ + "all" + "opt" + ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/inotify/default.nix b/pkgs/development/ocaml-modules/inotify/default.nix index 2a4f1ccd01ffb..900f60e7c7749 100644 --- a/pkgs/development/ocaml-modules/inotify/default.nix +++ b/pkgs/development/ocaml-modules/inotify/default.nix @@ -1,6 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage -, lwt # optional lwt support -, ounit2, fileutils # only for tests +{ + lib, + fetchFromGitHub, + buildDunePackage, + lwt, # optional lwt support + ounit2, + fileutils, # only for tests }: buildDunePackage rec { @@ -16,7 +20,10 @@ buildDunePackage rec { buildInputs = [ lwt ]; - checkInputs = [ ounit2 fileutils ]; + checkInputs = [ + ounit2 + fileutils + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/integers/default.nix b/pkgs/development/ocaml-modules/integers/default.nix index 343aeb216ba86..104438eeab50d 100644 --- a/pkgs/development/ocaml-modules/integers/default.nix +++ b/pkgs/development/ocaml-modules/integers/default.nix @@ -1,5 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage -, stdlib-shims +{ + lib, + fetchFromGitHub, + buildDunePackage, + stdlib-shims, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/integers_stubs_js/default.nix b/pkgs/development/ocaml-modules/integers_stubs_js/default.nix index 236c44bcaa751..1ab3dbb254073 100644 --- a/pkgs/development/ocaml-modules/integers_stubs_js/default.nix +++ b/pkgs/development/ocaml-modules/integers_stubs_js/default.nix @@ -1,6 +1,8 @@ { - lib, fetchFromGitHub, buildDunePackage -, zarith_stubs_js ? null + lib, + fetchFromGitHub, + buildDunePackage, + zarith_stubs_js ? null, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/io-page/default.nix b/pkgs/development/ocaml-modules/io-page/default.nix index 79142f0e8d4d2..7860ecd681540 100644 --- a/pkgs/development/ocaml-modules/io-page/default.nix +++ b/pkgs/development/ocaml-modules/io-page/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchurl, buildDunePackage, pkg-config, cstruct, bigarray-compat, ounit }: +{ + lib, + fetchurl, + buildDunePackage, + pkg-config, + cstruct, + bigarray-compat, + ounit, +}: buildDunePackage rec { pname = "io-page"; @@ -13,7 +21,10 @@ buildDunePackage rec { }; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ cstruct bigarray-compat ]; + propagatedBuildInputs = [ + cstruct + bigarray-compat + ]; checkInputs = [ ounit ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/iomux/default.nix b/pkgs/development/ocaml-modules/iomux/default.nix index f1dc827a32d09..c4260b151eff1 100644 --- a/pkgs/development/ocaml-modules/iomux/default.nix +++ b/pkgs/development/ocaml-modules/iomux/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, buildDunePackage -, dune-configurator -, alcotest +{ + lib, + fetchurl, + buildDunePackage, + dune-configurator, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ipaddr/cstruct.nix b/pkgs/development/ocaml-modules/ipaddr/cstruct.nix index 8471d9c4e8dc1..5091612d94044 100644 --- a/pkgs/development/ocaml-modules/ipaddr/cstruct.nix +++ b/pkgs/development/ocaml-modules/ipaddr/cstruct.nix @@ -1,5 +1,7 @@ -{ buildDunePackage -, ipaddr, cstruct +{ + buildDunePackage, + ipaddr, + cstruct, }: buildDunePackage rec { @@ -9,7 +11,10 @@ buildDunePackage rec { duneVersion = "3"; - propagatedBuildInputs = [ ipaddr cstruct ]; + propagatedBuildInputs = [ + ipaddr + cstruct + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix index b30da4c5aaa09..8ed4d492149d4 100644 --- a/pkgs/development/ocaml-modules/ipaddr/default.nix +++ b/pkgs/development/ocaml-modules/ipaddr/default.nix @@ -1,6 +1,11 @@ -{ lib, buildDunePackage -, macaddr, domain-name, stdlib-shims -, ounit2, ppx_sexp_conv +{ + lib, + buildDunePackage, + macaddr, + domain-name, + stdlib-shims, + ounit2, + ppx_sexp_conv, }: buildDunePackage rec { @@ -11,13 +16,23 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ macaddr domain-name stdlib-shims ]; + propagatedBuildInputs = [ + macaddr + domain-name + stdlib-shims + ]; - checkInputs = [ ppx_sexp_conv ounit2 ]; + checkInputs = [ + ppx_sexp_conv + ounit2 + ]; doCheck = true; meta = macaddr.meta // { description = "Library for manipulation of IP (and MAC) address representations"; - maintainers = with lib.maintainers; [ alexfmpe ericbmerritt ]; + maintainers = with lib.maintainers; [ + alexfmpe + ericbmerritt + ]; }; } diff --git a/pkgs/development/ocaml-modules/ipaddr/sexp.nix b/pkgs/development/ocaml-modules/ipaddr/sexp.nix index 0a05c7fbadd66..15de03d0c3099 100644 --- a/pkgs/development/ocaml-modules/ipaddr/sexp.nix +++ b/pkgs/development/ocaml-modules/ipaddr/sexp.nix @@ -1,5 +1,9 @@ -{ buildDunePackage -, ipaddr, ipaddr-cstruct, ounit2, ppx_sexp_conv +{ + buildDunePackage, + ipaddr, + ipaddr-cstruct, + ounit2, + ppx_sexp_conv, }: buildDunePackage rec { @@ -11,7 +15,11 @@ buildDunePackage rec { propagatedBuildInputs = [ ipaddr ]; - checkInputs = [ ipaddr-cstruct ounit2 ppx_sexp_conv ]; + checkInputs = [ + ipaddr-cstruct + ounit2 + ppx_sexp_conv + ]; doCheck = true; meta = ipaddr.meta // { diff --git a/pkgs/development/ocaml-modules/iri/default.nix b/pkgs/development/ocaml-modules/iri/default.nix index 54db34bc9740e..a8f0bf5d77693 100644 --- a/pkgs/development/ocaml-modules/iri/default.nix +++ b/pkgs/development/ocaml-modules/iri/default.nix @@ -1,5 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitLab -, sedlex, uunf, uutf +{ + lib, + buildDunePackage, + fetchFromGitLab, + sedlex, + uunf, + uutf, }: buildDunePackage rec { @@ -16,7 +21,11 @@ buildDunePackage rec { hash = "sha256-6Q7qPezmdcO6JSevWl55XAxFuIROZNDrMkYw8VRR7qg="; }; - propagatedBuildInputs = [ sedlex uunf uutf ]; + propagatedBuildInputs = [ + sedlex + uunf + uutf + ]; meta = { description = "IRI (RFC3987) native OCaml implementation"; diff --git a/pkgs/development/ocaml-modules/irmin-watcher/default.nix b/pkgs/development/ocaml-modules/irmin-watcher/default.nix index 7304528b7dc57..62c266750b799 100644 --- a/pkgs/development/ocaml-modules/irmin-watcher/default.nix +++ b/pkgs/development/ocaml-modules/irmin-watcher/default.nix @@ -1,5 +1,11 @@ -{ lib, fetchurl, buildDunePackage -, astring, fmt, logs, ocaml_lwt +{ + lib, + fetchurl, + buildDunePackage, + astring, + fmt, + logs, + ocaml_lwt, }: buildDunePackage rec { @@ -13,7 +19,12 @@ buildDunePackage rec { sha256 = "sha256-vq4kwaz4QUG9x0fGEbQMAuDGjlT3/6lm8xiXTUqJmZM="; }; - propagatedBuildInputs = [ astring fmt logs ocaml_lwt ]; + propagatedBuildInputs = [ + astring + fmt + logs + ocaml_lwt + ]; meta = { homepage = "https://github.com/mirage/irmin-watcher"; diff --git a/pkgs/development/ocaml-modules/irmin/chunk.nix b/pkgs/development/ocaml-modules/irmin/chunk.nix index ce955265a2f88..7def846cff25a 100644 --- a/pkgs/development/ocaml-modules/irmin/chunk.nix +++ b/pkgs/development/ocaml-modules/irmin/chunk.nix @@ -1,18 +1,33 @@ -{ buildDunePackage, irmin, irmin-test, fmt, logs, lwt, alcotest }: +{ + buildDunePackage, + irmin, + irmin-test, + fmt, + logs, + lwt, + alcotest, +}: buildDunePackage rec { pname = "irmin-chunk"; inherit (irmin) version src; - propagatedBuildInputs = [ irmin fmt logs lwt ]; + propagatedBuildInputs = [ + irmin + fmt + logs + lwt + ]; doCheck = true; - checkInputs = [ alcotest irmin-test ]; + checkInputs = [ + alcotest + irmin-test + ]; meta = irmin.meta // { description = "Irmin backend which allow to store values into chunks"; }; } - diff --git a/pkgs/development/ocaml-modules/irmin/containers.nix b/pkgs/development/ocaml-modules/irmin/containers.nix index 32677d9604c2f..3d2b70d0eec4c 100644 --- a/pkgs/development/ocaml-modules/irmin/containers.nix +++ b/pkgs/development/ocaml-modules/irmin/containers.nix @@ -1,6 +1,13 @@ -{ buildDunePackage -, irmin, irmin-fs, ppx_irmin, lwt, mtime -, alcotest, alcotest-lwt, cacert +{ + buildDunePackage, + irmin, + irmin-fs, + ppx_irmin, + lwt, + mtime, + alcotest, + alcotest-lwt, + cacert, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/irmin/default.nix b/pkgs/development/ocaml-modules/irmin/default.nix index da8531a9dec28..2abcfc7d21e53 100644 --- a/pkgs/development/ocaml-modules/irmin/default.nix +++ b/pkgs/development/ocaml-modules/irmin/default.nix @@ -1,7 +1,23 @@ -{ buildDunePackage -, astring, digestif, fmt, jsonm, logs, ocamlgraph, uri -, repr, ppx_irmin, bheap, uutf, mtime, lwt, optint -, vector, hex, alcotest, qcheck-alcotest +{ + buildDunePackage, + astring, + digestif, + fmt, + jsonm, + logs, + ocamlgraph, + uri, + repr, + ppx_irmin, + bheap, + uutf, + mtime, + lwt, + optint, + vector, + hex, + alcotest, + qcheck-alcotest, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/irmin/fs.nix b/pkgs/development/ocaml-modules/irmin/fs.nix index 093a68fe78ef0..4d395a36fffb7 100644 --- a/pkgs/development/ocaml-modules/irmin/fs.nix +++ b/pkgs/development/ocaml-modules/irmin/fs.nix @@ -1,5 +1,12 @@ -{ buildDunePackage, irmin, astring, logs, lwt -, alcotest, irmin-test, irmin-watcher +{ + buildDunePackage, + irmin, + astring, + logs, + lwt, + alcotest, + irmin-test, + irmin-watcher, }: buildDunePackage rec { @@ -8,9 +15,18 @@ buildDunePackage rec { inherit (irmin) version src; - propagatedBuildInputs = [ irmin astring logs lwt ]; - - checkInputs = [ alcotest irmin-test irmin-watcher ]; + propagatedBuildInputs = [ + irmin + astring + logs + lwt + ]; + + checkInputs = [ + alcotest + irmin-test + irmin-watcher + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/irmin/git.nix b/pkgs/development/ocaml-modules/irmin/git.nix index 1fde734d9c264..22c1351288ed2 100644 --- a/pkgs/development/ocaml-modules/irmin/git.nix +++ b/pkgs/development/ocaml-modules/irmin/git.nix @@ -1,8 +1,24 @@ -{ buildDunePackage -, git, irmin, ppx_irmin, git-unix, irmin-watcher -, digestif, cstruct, fmt, astring, fpath, logs, lwt, uri -, cohttp-lwt-unix, mimic -, irmin-test, mtime, alcotest, cacert +{ + buildDunePackage, + git, + irmin, + ppx_irmin, + git-unix, + irmin-watcher, + digestif, + cstruct, + fmt, + astring, + fpath, + logs, + lwt, + uri, + cohttp-lwt-unix, + mimic, + irmin-test, + mtime, + alcotest, + cacert, }: buildDunePackage { @@ -29,7 +45,12 @@ buildDunePackage { cohttp-lwt-unix ]; - checkInputs = [ mtime alcotest irmin-test cacert ]; + checkInputs = [ + mtime + alcotest + irmin-test + cacert + ]; doCheck = true; @@ -38,4 +59,3 @@ buildDunePackage { }; } - diff --git a/pkgs/development/ocaml-modules/irmin/graphql.nix b/pkgs/development/ocaml-modules/irmin/graphql.nix index 93b5c939e8fa1..945e9d728c379 100644 --- a/pkgs/development/ocaml-modules/irmin/graphql.nix +++ b/pkgs/development/ocaml-modules/irmin/graphql.nix @@ -1,5 +1,16 @@ -{ buildDunePackage, cohttp-lwt, cohttp-lwt-unix, graphql-cohttp, graphql-lwt, irmin, git-unix -, alcotest, alcotest-lwt, logs, yojson, cacert +{ + buildDunePackage, + cohttp-lwt, + cohttp-lwt-unix, + graphql-cohttp, + graphql-lwt, + irmin, + git-unix, + alcotest, + alcotest-lwt, + logs, + yojson, + cacert, }: buildDunePackage rec { @@ -8,7 +19,14 @@ buildDunePackage rec { inherit (irmin) version src; - propagatedBuildInputs = [ cohttp-lwt cohttp-lwt-unix graphql-cohttp graphql-lwt irmin git-unix ]; + propagatedBuildInputs = [ + cohttp-lwt + cohttp-lwt-unix + graphql-cohttp + graphql-lwt + irmin + git-unix + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/irmin/mirage-git.nix b/pkgs/development/ocaml-modules/irmin/mirage-git.nix index 7528e469913f7..810821b6ecc1d 100644 --- a/pkgs/development/ocaml-modules/irmin/mirage-git.nix +++ b/pkgs/development/ocaml-modules/irmin/mirage-git.nix @@ -1,6 +1,17 @@ -{ buildDunePackage, irmin-mirage, irmin-git -, mirage-kv, cohttp, conduit-lwt, conduit-mirage -, git-paf, fmt, git, lwt, mirage-clock, uri +{ + buildDunePackage, + irmin-mirage, + irmin-git, + mirage-kv, + cohttp, + conduit-lwt, + conduit-mirage, + git-paf, + fmt, + git, + lwt, + mirage-clock, + uri, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix b/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix index 1973cde8c3b6d..a79a7a4286fc8 100644 --- a/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix +++ b/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix @@ -1,5 +1,12 @@ -{ buildDunePackage, irmin-mirage, irmin-graphql -, mirage-clock, cohttp-lwt, lwt, uri, git +{ + buildDunePackage, + irmin-mirage, + irmin-graphql, + mirage-clock, + cohttp-lwt, + lwt, + uri, + git, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/irmin/mirage.nix b/pkgs/development/ocaml-modules/irmin/mirage.nix index eabb1e5874e87..1dfcc3d89fe49 100644 --- a/pkgs/development/ocaml-modules/irmin/mirage.nix +++ b/pkgs/development/ocaml-modules/irmin/mirage.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, irmin, fmt, ptime, mirage-clock }: +{ + buildDunePackage, + irmin, + fmt, + ptime, + mirage-clock, +}: buildDunePackage { pname = "irmin-mirage"; @@ -6,7 +12,10 @@ buildDunePackage { inherit (irmin) version src; propagatedBuildInputs = [ - irmin fmt ptime mirage-clock + irmin + fmt + ptime + mirage-clock ]; meta = irmin.meta // { diff --git a/pkgs/development/ocaml-modules/irmin/pack.nix b/pkgs/development/ocaml-modules/irmin/pack.nix index bb1a65354fb71..ecdb968f3c9cf 100644 --- a/pkgs/development/ocaml-modules/irmin/pack.nix +++ b/pkgs/development/ocaml-modules/irmin/pack.nix @@ -1,6 +1,20 @@ -{ buildDunePackage -, index, ppx_irmin, irmin, optint, fmt, logs, lwt, mtime, cmdliner, checkseum, rusage -, alcotest, alcotest-lwt, astring, irmin-test +{ + buildDunePackage, + index, + ppx_irmin, + irmin, + optint, + fmt, + logs, + lwt, + mtime, + cmdliner, + checkseum, + rusage, + alcotest, + alcotest-lwt, + astring, + irmin-test, }: buildDunePackage rec { @@ -12,9 +26,25 @@ buildDunePackage rec { nativeBuildInputs = [ ppx_irmin ]; - propagatedBuildInputs = [ index irmin optint fmt logs lwt mtime cmdliner checkseum rusage ]; - - checkInputs = [ astring alcotest alcotest-lwt irmin-test ]; + propagatedBuildInputs = [ + index + irmin + optint + fmt + logs + lwt + mtime + cmdliner + checkseum + rusage + ]; + + checkInputs = [ + astring + alcotest + alcotest-lwt + irmin-test + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/irmin/ppx.nix b/pkgs/development/ocaml-modules/irmin/ppx.nix index 23165099443eb..4d22f4a833c0d 100644 --- a/pkgs/development/ocaml-modules/irmin/ppx.nix +++ b/pkgs/development/ocaml-modules/irmin/ppx.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, ppxlib, ppx_repr, logs }: +{ + lib, + fetchurl, + buildDunePackage, + ppxlib, + ppx_repr, + logs, +}: buildDunePackage rec { pname = "ppx_irmin"; @@ -21,6 +28,9 @@ buildDunePackage rec { homepage = "https://irmin.org/"; description = "PPX deriver for Irmin generics"; license = lib.licenses.isc; - maintainers = with lib.maintainers; [ vbgl sternenseemann ]; + maintainers = with lib.maintainers; [ + vbgl + sternenseemann + ]; }; } diff --git a/pkgs/development/ocaml-modules/irmin/test.nix b/pkgs/development/ocaml-modules/irmin/test.nix index a0e206cade720..a29337effc85b 100644 --- a/pkgs/development/ocaml-modules/irmin/test.nix +++ b/pkgs/development/ocaml-modules/irmin/test.nix @@ -1,6 +1,21 @@ -{ buildDunePackage, irmin, ppx_irmin, mtime, astring, fmt, jsonm, logs, lwt -, metrics-unix, ocaml-syntax-shims, cmdliner, metrics, alcotest-lwt -, hex, vector, qcheck-alcotest +{ + buildDunePackage, + irmin, + ppx_irmin, + mtime, + astring, + fmt, + jsonm, + logs, + lwt, + metrics-unix, + ocaml-syntax-shims, + cmdliner, + metrics, + alcotest-lwt, + hex, + vector, + qcheck-alcotest, }: buildDunePackage { @@ -28,7 +43,11 @@ buildDunePackage { ]; doCheck = true; - checkInputs = [ hex qcheck-alcotest vector ]; + checkInputs = [ + hex + qcheck-alcotest + vector + ]; meta = irmin.meta // { description = "Irmin test suite"; diff --git a/pkgs/development/ocaml-modules/irmin/tezos.nix b/pkgs/development/ocaml-modules/irmin/tezos.nix index ec005921c938b..08d84929aea42 100644 --- a/pkgs/development/ocaml-modules/irmin/tezos.nix +++ b/pkgs/development/ocaml-modules/irmin/tezos.nix @@ -1,6 +1,18 @@ -{ lib, buildDunePackage -, irmin, irmin-pack, ppx_irmin, digestif, cmdliner, fmt, yojson, tezos-base58 -, alcotest, hex, irmin-test, fpath +{ + lib, + buildDunePackage, + irmin, + irmin-pack, + ppx_irmin, + digestif, + cmdliner, + fmt, + yojson, + tezos-base58, + alcotest, + hex, + irmin-test, + fpath, }: buildDunePackage rec { @@ -22,7 +34,12 @@ buildDunePackage rec { yojson ]; - checkInputs = [ alcotest hex irmin-test fpath ]; + checkInputs = [ + alcotest + hex + irmin-test + fpath + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/iso8601/default.nix b/pkgs/development/ocaml-modules/iso8601/default.nix index 5c6d4104b6a33..39dbd8e07fd63 100644 --- a/pkgs/development/ocaml-modules/iso8601/default.nix +++ b/pkgs/development/ocaml-modules/iso8601/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }: +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, +}: stdenv.mkDerivation rec { pname = "ocaml-iso8601"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-QWjZ+2AjvXnnRVenbyCG/hSjfW53bHiftQUtWpK/7I8="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix index 109e51ee6f919..df5316286b8b3 100644 --- a/pkgs/development/ocaml-modules/iter/default.nix +++ b/pkgs/development/ocaml-modules/iter/default.nix @@ -1,5 +1,10 @@ -{ lib, fetchurl, buildDunePackage -, mdx, ounit2, qcheck-core +{ + lib, + fetchurl, + buildDunePackage, + mdx, + ounit2, + qcheck-core, }: buildDunePackage rec { @@ -15,7 +20,10 @@ buildDunePackage rec { doCheck = true; nativeCheckInputs = [ mdx.bin ]; - checkInputs = [ ounit2 qcheck-core ]; + checkInputs = [ + ounit2 + qcheck-core + ]; meta = { homepage = "https://github.com/c-cube/sequence"; diff --git a/pkgs/development/ocaml-modules/janestreet/0.12.nix b/pkgs/development/ocaml-modules/janestreet/0.12.nix index a3b2ac581555a..3fa02d9797758 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.12.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.12.nix @@ -1,5 +1,6 @@ -{ self -, openssl +{ + self, + openssl, }: with self; @@ -59,7 +60,11 @@ with self; pname = "ppx_assert"; hash = "0as6mzr6ki2a9d4k6132p9dskn0qssla1s7j5rkzp75bfikd0ip8"; meta.description = "Assert-like extension nodes that raise useful errors on failure"; - propagatedBuildInputs = [ ppx_compare ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_here + ppx_sexp_conv + ]; }; ppx_inline_test = janePackage { @@ -88,7 +93,10 @@ with self; pname = "ppx_fields_conv"; hash = "0flrdyxdfcqcmdrbipxdjq0s3djdgs7z5pvjdycsvs6czbixz70v"; meta.description = "Generation of accessor and iteration functions for ocaml records"; - propagatedBuildInputs = [ fieldslib ppxlib ]; + propagatedBuildInputs = [ + fieldslib + ppxlib + ]; }; variantslib = janePackage { @@ -102,14 +110,24 @@ with self; pname = "ppx_variants_conv"; hash = "05j9bgra8xq6fcp12ch3z9vjrk139p2wrcjjcs4h52n5hhc8vzbz"; meta.description = "Generation of accessor and iteration functions for ocaml variant types"; - propagatedBuildInputs = [ variantslib ppxlib ]; + propagatedBuildInputs = [ + variantslib + ppxlib + ]; }; ppx_expect = janePackage { pname = "ppx_expect"; hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q"; meta.description = "Cram like framework for OCaml"; - propagatedBuildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_inline_test ppx_variants_conv re ]; + propagatedBuildInputs = [ + ppx_assert + ppx_custom_printf + ppx_fields_conv + ppx_inline_test + ppx_variants_conv + re + ]; }; ppx_enumerate = janePackage { @@ -123,21 +141,31 @@ with self; pname = "ppx_hash"; hash = "1dfsfvhiyp1mnf24mr93svpdn432kla0y7x631lssacxxp2sadbg"; meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; - propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_sexp_conv + ]; }; ppx_js_style = janePackage { pname = "ppx_js_style"; hash = "1lz931m3qdv3yzqy6dnb8fq1d99r61w0n7cwf3b9fl9rhk0pggwh"; meta.description = "Code style checker for Jane Street Packages"; - propagatedBuildInputs = [ octavius ppxlib ]; + propagatedBuildInputs = [ + octavius + ppxlib + ]; }; ppx_base = janePackage { pname = "ppx_base"; hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p"; meta.description = "Base set of ppx rewriters"; - propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ]; + propagatedBuildInputs = [ + ppx_enumerate + ppx_hash + ppx_js_style + ]; }; ppx_bench = janePackage { @@ -151,14 +179,22 @@ with self; pname = "ppx_sexp_message"; hash = "0yskd6v48jc6wa0nhg685kylh1n9qb6b7d1wglr9wnhl9sw990mc"; meta.description = "A ppx rewriter for easy construction of s-expressions"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; splittable_random = janePackage { pname = "splittable_random"; hash = "1wpyz7807cgj8b50gdx4rw6f1zsznp4ni5lzjbnqdwa66na6ynr4"; meta.description = "PRNG that can be split into independent streams"; - propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ]; + propagatedBuildInputs = [ + base + ppx_assert + ppx_bench + ppx_sexp_message + ]; }; ppx_let = janePackage { @@ -173,7 +209,12 @@ with self; pname = "base_quickcheck"; hash = "sha256-ABfUtOzdtGrYR6EgtVYkmxRvsH48jJwSVVOwf4Od12Y="; meta.description = "Randomized testing framework, designed for compatibility with Base"; - propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ]; + propagatedBuildInputs = [ + ppx_base + ppx_fields_conv + ppx_let + splittable_random + ]; }; ppx_stable = janePackage { @@ -187,7 +228,12 @@ with self; pname = "bin_prot"; hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm"; meta.description = "A binary protocol generator"; - propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_custom_printf + ppx_fields_conv + ppx_variants_conv + ]; }; ppx_bin_prot = janePackage { @@ -195,7 +241,10 @@ with self; version = "0.12.1"; hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg"; meta.description = "Generation of bin_prot readers and writers from types"; - propagatedBuildInputs = [ bin_prot ppx_here ]; + propagatedBuildInputs = [ + bin_prot + ppx_here + ]; }; ppx_fail = janePackage { @@ -209,7 +258,10 @@ with self; pname = "jst-config"; hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93"; meta.description = "Compile-time configuration for Jane Street libraries"; - buildInputs = [ dune-configurator ppx_assert ]; + buildInputs = [ + dune-configurator + ppx_assert + ]; }; ppx_optcomp = janePackage { @@ -229,8 +281,15 @@ with self; pname = "time_now"; hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq"; meta.description = "Reports the current time"; - buildInputs = [ jst-config ppx_optcomp ]; - propagatedBuildInputs = [ jane-street-headers base ppx_base ]; + buildInputs = [ + jst-config + ppx_optcomp + ]; + propagatedBuildInputs = [ + jane-street-headers + base + ppx_base + ]; }; ppx_module_timer = janePackage { @@ -258,7 +317,10 @@ with self; pname = "ppx_sexp_value"; hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p"; meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; typerep = janePackage { @@ -272,14 +334,30 @@ with self; pname = "ppx_typerep_conv"; hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq"; meta.description = "Generation of runtime types from type declarations"; - propagatedBuildInputs = [ ppxlib typerep ]; + propagatedBuildInputs = [ + ppxlib + typerep + ]; }; ppx_jane = janePackage { pname = "ppx_jane"; hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw"; meta.description = "Standard Jane Street ppx rewriters"; - propagatedBuildInputs = [ base_quickcheck ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_sexp_value ppx_stable ppx_typerep_conv ]; + propagatedBuildInputs = [ + base_quickcheck + ppx_bench + ppx_bin_prot + ppx_expect + ppx_fail + ppx_module_timer + ppx_optcomp + ppx_optional + ppx_pipebang + ppx_sexp_value + ppx_stable + ppx_typerep_conv + ]; }; base_bigstring = janePackage { @@ -293,14 +371,20 @@ with self; pname = "parsexp"; hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l"; meta.description = "S-expression parsing library"; - propagatedBuildInputs = [ base sexplib0 ]; + propagatedBuildInputs = [ + base + sexplib0 + ]; }; sexplib = janePackage { pname = "sexplib"; hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2"; meta.description = "Library for serializing OCaml values to and from S-expressions"; - propagatedBuildInputs = [ num parsexp ]; + propagatedBuildInputs = [ + num + parsexp + ]; }; core_kernel = janePackage { @@ -309,7 +393,10 @@ with self; hash = "sha256-bDgxuOILAs4FYB8o92ysPHDdEzflZMsU/jk5hB9xfuc="; meta.description = "System-independent part of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ base_bigstring sexplib ]; + propagatedBuildInputs = [ + base_bigstring + sexplib + ]; }; spawn = janePackage { @@ -326,7 +413,10 @@ with self; hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj"; meta.description = "System-independent part of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ core_kernel spawn ]; + propagatedBuildInputs = [ + core_kernel + spawn + ]; }; async_kernel = janePackage { @@ -347,21 +437,30 @@ with self; pname = "async_rpc_kernel"; hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk"; meta.description = "Platform-independent core of Async RPC library"; - propagatedBuildInputs = [ async_kernel protocol_version_header ]; + propagatedBuildInputs = [ + async_kernel + protocol_version_header + ]; }; async_unix = janePackage { pname = "async_unix"; hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_kernel core ]; + propagatedBuildInputs = [ + async_kernel + core + ]; }; async_extra = janePackage { pname = "async_extra"; hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_rpc_kernel async_unix ]; + propagatedBuildInputs = [ + async_rpc_kernel + async_unix + ]; }; textutils = janePackage { @@ -375,7 +474,10 @@ with self; pname = "async"; hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_extra textutils ]; + propagatedBuildInputs = [ + async_extra + textutils + ]; }; async_find = janePackage { @@ -402,14 +504,20 @@ with self; hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n"; meta.description = "Yet another implementation of fork&exec and related functionality"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ re2 textutils ]; + propagatedBuildInputs = [ + re2 + textutils + ]; }; async_shell = janePackage { pname = "async_shell"; hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv"; meta.description = "Shell helpers for Async"; - propagatedBuildInputs = [ async shell ]; + propagatedBuildInputs = [ + async + shell + ]; }; core_bench = janePackage { @@ -430,7 +538,11 @@ with self; pname = "sexp_pretty"; hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4"; meta.description = "S-expression pretty-printer"; - propagatedBuildInputs = [ ppx_base re sexplib ]; + propagatedBuildInputs = [ + ppx_base + re + sexplib + ]; }; expect_test_helpers_kernel = janePackage { @@ -438,14 +550,20 @@ with self; hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq"; meta.description = "Helpers for writing expectation tests"; buildInputs = [ ppx_jane ]; - propagatedBuildInputs = [ core_kernel sexp_pretty ]; + propagatedBuildInputs = [ + core_kernel + sexp_pretty + ]; }; expect_test_helpers = janePackage { pname = "expect_test_helpers"; hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb"; meta.description = "Async helpers for writing expectation tests"; - propagatedBuildInputs = [ async expect_test_helpers_kernel ]; + propagatedBuildInputs = [ + async + expect_test_helpers_kernel + ]; }; patience_diff = janePackage { @@ -459,7 +577,10 @@ with self; pname = "ecaml"; hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7"; meta.description = "Library for writing Emacs plugin in OCaml"; - propagatedBuildInputs = [ async expect_test_helpers_kernel ]; + propagatedBuildInputs = [ + async + expect_test_helpers_kernel + ]; }; } diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix index 7d8bdc4dfb7d6..c6210a966312a 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.14.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix @@ -1,8 +1,9 @@ -{ self -, fetchpatch -, lib -, openssl -, zstd +{ + self, + fetchpatch, + lib, + openssl, + zstd, }: with self; @@ -24,7 +25,10 @@ with self; minimalOCamlVersion = "4.09"; hash = "1193hzvlzm7vcl9p67fs8al2pvkw9n2wz009m2l3lp35mrx8aq1w"; meta.description = "Accessors for Async types, for use with the Accessor library"; - propagatedBuildInputs = [ accessor_core async_kernel ]; + propagatedBuildInputs = [ + accessor_core + async_kernel + ]; }; accessor_base = janePackage { @@ -43,14 +47,21 @@ with self; hash = "1cdkv34m6czhacivpbb2sasj83fgcid6gnqk30ig9i84z8nh2gw2"; meta.description = "Accessors for Core types, for use with the Accessor library"; meta.broken = true; # Not compatible with ppxlib ≥ 0.23 - propagatedBuildInputs = [ accessor_base core_kernel ]; + propagatedBuildInputs = [ + accessor_base + core_kernel + ]; }; async = janePackage { pname = "async"; hash = "086v93div4h9l02n7wzv3xx3i6xvddazydm9qlfa72ad55x3vzy0"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ]; + propagatedBuildInputs = [ + async_rpc_kernel + async_unix + textutils + ]; doCheck = false; # we don't have netkit_sockets }; @@ -72,7 +83,10 @@ with self; pname = "async_inotify"; hash = "0i0hf7nsir316ijixdj43qf0p3b6yapvcm2jzp7bhpf4r2kxislv"; meta.description = "Async wrapper for inotify"; - propagatedBuildInputs = [ async_find inotify ]; + propagatedBuildInputs = [ + async_find + inotify + ]; }; async_interactive = janePackage { @@ -87,7 +101,11 @@ with self; hash = "0rld8792lfwbinn9rhrgacivz49vppgy29smpqnvpga89wchjv0v"; meta.description = "A small library that provide Async support for JavaScript platforms"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ async_rpc_kernel js_of_ocaml uri-sexp ]; + propagatedBuildInputs = [ + async_rpc_kernel + js_of_ocaml + uri-sexp + ]; }; async_kernel = janePackage { @@ -101,7 +119,10 @@ with self; pname = "async_rpc_kernel"; hash = "1bwq3gkq057dd1fhrqz9kqq8a956nn87zaxvr0qcpiczzjv3zmvm"; meta.description = "Platform-independent core of Async RPC library"; - propagatedBuildInputs = [ async_kernel protocol_version_header ]; + propagatedBuildInputs = [ + async_kernel + protocol_version_header + ]; }; async_sendfile = janePackage { @@ -115,14 +136,27 @@ with self; pname = "async_shell"; hash = "1r00z620nqv2jxz2xrp2gsyc30h8dd2w9qsnys2fkqbgpxlbgdc7"; meta.description = "Shell helpers for Async"; - propagatedBuildInputs = [ async shell ]; + propagatedBuildInputs = [ + async + shell + ]; }; async_smtp = janePackage { pname = "async_smtp"; hash = "1xf3illn7vikdxldpnc29n4z8sv9f0wsdgdvl4iv93qlvjk8gzck"; meta.description = "SMTP client and server"; - propagatedBuildInputs = [ async_extra async_inotify async_sendfile async_shell async_ssl email_message resource_cache re2_stable sexp_macro ]; + propagatedBuildInputs = [ + async_extra + async_inotify + async_sendfile + async_shell + async_ssl + email_message + resource_cache + re2_stable + sexp_macro + ]; }; async_ssl = janePackage { @@ -130,7 +164,12 @@ with self; hash = "0ykys3ckpsx5crfgj26v2q3gy6wf684aq0bfb4q8p92ivwznvlzy"; meta.description = "Async wrappers for SSL"; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ async ctypes ctypes-foreign openssl ]; + propagatedBuildInputs = [ + async + ctypes + ctypes-foreign + openssl + ]; # in ctypes.foreign 0.18.0 threaded and unthreaded have been merged postPatch = '' substituteInPlace bindings/dune \ @@ -142,7 +181,10 @@ with self; pname = "async_unix"; hash = "1wgnr0vdsknqrfnf6irmwnvyngndsnvvl1sfnj3v6fhwk4nswnrs"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_kernel core ]; + propagatedBuildInputs = [ + async_kernel + core + ]; }; base = janePackage { @@ -170,13 +212,23 @@ with self; hash = "0apq3d9xb0zdaqsl4cjk5skyig57ff1plndb2mh0nn3czvfhifxs"; minimalOCamlVersion = "4.04.2"; meta.description = "Randomized testing framework, designed for compatibility with Base"; - propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let ppx_sexp_value splittable_random ]; + propagatedBuildInputs = [ + ppx_base + ppx_fields_conv + ppx_let + ppx_sexp_value + splittable_random + ]; }; bignum = janePackage { pname = "bignum"; hash = "009ygr64q810p9iq4mykzz4ci00i5mzgpmq35jiyaiqm27bjam21"; - propagatedBuildInputs = [ core_kernel zarith zarith_stubs_js ]; + propagatedBuildInputs = [ + core_kernel + zarith + zarith_stubs_js + ]; meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; }; @@ -185,7 +237,13 @@ with self; hash = "1qyqbfp4zdc2jb87370cdgancisqffhf9x60zgh2m31kqik8annr"; minimalOCamlVersion = "4.04.2"; meta.description = "A binary protocol generator"; - propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_optcomp ppx_variants_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_custom_printf + ppx_fields_conv + ppx_optcomp + ppx_variants_conv + ]; }; bonsai = janePackage { @@ -211,7 +269,11 @@ with self; hash = "1isrcl07nkmdm6akqsqs9z8s6zvva2lvg47kaagy7gsbyszrqb82"; meta.description = "System-independent part of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ core_kernel spawn timezone ]; + propagatedBuildInputs = [ + core_kernel + spawn + timezone + ]; doCheck = false; # we don't have quickcheck_deprecated }; @@ -235,7 +297,10 @@ with self; hash = "0pikg4ln6177gbs0jfix7xj50zlcm7058h64lxnd7wspnj7mq8sd"; meta.description = "System-independent part of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ base_bigstring sexplib ]; + propagatedBuildInputs = [ + base_bigstring + sexplib + ]; doCheck = false; # we don't have quickcheck_deprecated }; @@ -249,14 +314,20 @@ with self; csvfields = janePackage { pname = "csvfields"; hash = "09jmz6y6nwd96dcx6g8ydicxssi72v1ks276phbc9n19wwg9hkaz"; - propagatedBuildInputs = [ core num ]; + propagatedBuildInputs = [ + core + num + ]; meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; }; delimited_parsing = janePackage { pname = "delimited_parsing"; hash = "1dnr5wqacryx1kj38i9iifc3457pchr887xphzz2nhlbizq3d7qa"; - propagatedBuildInputs = [ async core_extended ]; + propagatedBuildInputs = [ + async + core_extended + ]; meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; }; @@ -264,28 +335,44 @@ with self; pname = "ecaml"; hash = "052qglpwzrx3c4gy3zr6dmsmfbi5gj4fs2jhx9yrsqb9hj8g36mj"; meta.description = "Library for writing Emacs plugin in OCaml"; - propagatedBuildInputs = [ async expect_test_helpers_core ]; + propagatedBuildInputs = [ + async + expect_test_helpers_core + ]; }; email_message = janePackage { pname = "email_message"; hash = "0k8hjkq91ikl7wjxs04k523jbkhl6q4abj6v0lzlbjiybmrpp69n"; meta.description = "E-mail message parser"; - propagatedBuildInputs = [ angstrom async base64 cryptokit magic-mime re2 ]; + propagatedBuildInputs = [ + angstrom + async + base64 + cryptokit + magic-mime + re2 + ]; }; expect_test_helpers_async = janePackage { pname = "expect_test_helpers_async"; hash = "175sjkx3b10d8vacp369rv53nxbiaxw1xhwy832g7ffk1by8l2m1"; meta.description = "Async helpers for writing expectation tests"; - propagatedBuildInputs = [ async expect_test_helpers_core ]; + propagatedBuildInputs = [ + async + expect_test_helpers_core + ]; }; expect_test_helpers_core = janePackage { pname = "expect_test_helpers_core"; hash = "1drl15akp4jz4wf26dr2y2nblvnhz14xsnb3ai8dg45y711svs2i"; meta.description = "Helpers for writing expectation tests"; - propagatedBuildInputs = [ core_kernel sexp_pretty ]; + propagatedBuildInputs = [ + core_kernel + sexp_pretty + ]; }; fieldslib = janePackage { @@ -302,7 +389,10 @@ with self; minimalOCamlVersion = "4.09"; hash = "05jvxgqsx3j2v8rqpd91ah76dgc1q2dz38kjklmx0vms4r4gvlsx"; meta.description = "A library with an encoding of higher kinded types in OCaml"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; incr_dom = janePackage { @@ -310,7 +400,12 @@ with self; hash = "0mi98cwi4npdh5vvcz0pb4sbb9j9dydl52s51rswwc3kn8mipxfx"; meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ]; + propagatedBuildInputs = [ + async_js + incr_map + incr_select + virtual_dom + ]; patches = [ ./incr_dom_jsoo_4_0.patch ]; }; @@ -347,7 +442,11 @@ with self; pname = "jst-config"; hash = "0hzw0crgj0kjxsvr10wng7gqy948v98hnijh30lgq3v62jdsjra8"; meta.description = "Compile-time configuration for Jane Street libraries"; - buildInputs = [ dune-configurator ppx_assert stdio ]; + buildInputs = [ + dune-configurator + ppx_assert + stdio + ]; }; ocaml-compiler-libs = janePackage { @@ -364,7 +463,10 @@ with self; hash = "1nr0ncb8l2mkk8pqzknr7fsqw5kpz8y102kyv5bc0x7c36v0d4zy"; minimalOCamlVersion = "4.04.2"; meta.description = "S-expression parsing library"; - propagatedBuildInputs = [ base sexplib0 ]; + propagatedBuildInputs = [ + base + sexplib0 + ]; }; patience_diff = janePackage { @@ -378,7 +480,10 @@ with self; pname = "posixat"; hash = "0aana1lzq4514kna7hr301b5iv6gcg6zhgrx8s8vaad1q38yfp6c"; minimalOCamlVersion = "4.07"; - propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_optcomp + ppx_sexp_conv + ]; meta.description = "Binding to the posix *at functions"; }; @@ -396,7 +501,12 @@ with self; hash = "03mzgm4smrczp5dg3mpr6zc2v6a54n0r01k4ww820yrr25hcf8ip"; minimalOCamlVersion = "4.04.2"; meta.description = "Assert-like extension nodes that raise useful errors on failure"; - propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_cold + ppx_compare + ppx_here + ppx_sexp_conv + ]; }; ppx_base = janePackage { @@ -407,7 +517,12 @@ with self; description = "Base set of ppx rewriters"; mainProgram = "ppx-base"; }; - propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ppx_js_style ]; + propagatedBuildInputs = [ + ppx_cold + ppx_enumerate + ppx_hash + ppx_js_style + ]; }; ppx_bench = janePackage { @@ -424,7 +539,10 @@ with self; hash = "1qryjxhyz3kn5jz5wm62j59lhjhd1mp7nbsj0np9qnbpapnnr1zg"; minimalOCamlVersion = "4.04.2"; meta.description = "Generation of bin_prot readers and writers from types"; - propagatedBuildInputs = [ bin_prot ppx_here ]; + propagatedBuildInputs = [ + bin_prot + ppx_here + ]; doCheck = false; # circular dependency with ppx_jane }; @@ -441,7 +559,10 @@ with self; hash = "11pj76dimx2f7l8m85myzp6yzx9xcg0bqi97s7ayssvkckm57390"; minimalOCamlVersion = "4.04.2"; meta.description = "Generation of comparison functions from types"; - propagatedBuildInputs = [ ppxlib base ]; + propagatedBuildInputs = [ + ppxlib + base + ]; doCheck = false; # test build rule broken }; @@ -468,7 +589,11 @@ with self; hash = "0vbbnjrzpyk5p0js21lafr6fcp2wqka89p1876rdf472cmg0l7fv"; minimalOCamlVersion = "4.04.2"; meta.description = "Cram like framework for OCaml"; - propagatedBuildInputs = [ ppx_here ppx_inline_test re ]; + propagatedBuildInputs = [ + ppx_here + ppx_inline_test + re + ]; doCheck = false; # circular dependency with ppx_jane }; @@ -478,7 +603,10 @@ with self; hash = "1zwirwqry24b48bg7d4yc845hvcirxyymzbw95aaxdcck84d30n8"; minimalOCamlVersion = "4.04.2"; meta.description = "Generation of accessor and iteration functions for ocaml records"; - propagatedBuildInputs = [ fieldslib ppxlib ]; + propagatedBuildInputs = [ + fieldslib + ppxlib + ]; }; ppx_fixed_literal = janePackage { @@ -494,7 +622,10 @@ with self; hash = "1zf03xdrg4jig7pdcrdpbabyjkdpifb31z2z1bf9wfdawybdhwkq"; minimalOCamlVersion = "4.04.2"; meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; - propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_sexp_conv + ]; }; ppx_here = janePackage { @@ -512,7 +643,10 @@ with self; hash = "1ajdna1m9l1l3nfigyy33zkfa3yarfr6s086jdw2pcfwlq1fhhl4"; minimalOCamlVersion = "4.04.2"; meta.description = "Syntax extension for writing in-line tests in ocaml code"; - propagatedBuildInputs = [ ppxlib time_now ]; + propagatedBuildInputs = [ + ppxlib + time_now + ]; doCheck = false; # test build rules broken }; @@ -524,7 +658,20 @@ with self; description = "Standard Jane Street ppx rewriters"; mainProgram = "ppx-jane"; }; - propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_expect ppx_fixed_literal ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_typerep_conv ppx_variants_conv ]; + propagatedBuildInputs = [ + base_quickcheck + ppx_bin_prot + ppx_expect + ppx_fixed_literal + ppx_module_timer + ppx_optcomp + ppx_optional + ppx_pipebang + ppx_stable + ppx_string + ppx_typerep_conv + ppx_variants_conv + ]; }; ppx_js_style = janePackage { @@ -533,7 +680,10 @@ with self; hash = "16ax6ww9h36xyn9acbm8zxv0ajs344sm37lgj2zd2bvgsqv24kxj"; minimalOCamlVersion = "4.04.2"; meta.description = "Code style checker for Jane Street Packages"; - propagatedBuildInputs = [ octavius ppxlib ]; + propagatedBuildInputs = [ + octavius + ppxlib + ]; }; ppx_let = janePackage { @@ -549,7 +699,11 @@ with self; hash = "10hnr5lpww3fw0bnidzngalbgy0j1wvz1g5ki9c9h558pnpvsazr"; minimalOCamlVersion = "4.08.0"; meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; - propagatedBuildInputs = [ async_unix ppx_jane sexplib ]; + propagatedBuildInputs = [ + async_unix + ppx_jane + sexplib + ]; }; ppx_module_timer = janePackage { @@ -602,7 +756,11 @@ with self; url = "https://github.com/janestreet/ppx_python/commit/b2fe0040cc39fa6164de868f8a20edb38d81170e.patch"; sha256 = "sha256:1mrdwp0zw3dqavzx3ffrmzq5cdlninyf67ksavfzxb8gb16w6zpz"; }; - propagatedBuildInputs = [ ppx_base ppxlib pyml ]; + propagatedBuildInputs = [ + ppx_base + ppxlib + pyml + ]; }; ppx_sexp_conv = janePackage { @@ -611,7 +769,11 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "0dbri9d00ydi0dw1cavswnqdmhjaaz80vap29ns2lr6mhhlvyjmj"; meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; - propagatedBuildInputs = [ (ppxlib.override { version = "0.24.0"; }) sexplib0 base ]; + propagatedBuildInputs = [ + (ppxlib.override { version = "0.24.0"; }) + sexplib0 + base + ]; }; ppx_sexp_message = janePackage { @@ -620,7 +782,10 @@ with self; hash = "1lvsr0d68kakih1ll33hy6dxbjkly6lmky4q6z0h0hrcbd6z48k4"; minimalOCamlVersion = "4.04.2"; meta.description = "A ppx rewriter for easy construction of s-expressions"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; ppx_sexp_value = janePackage { @@ -628,7 +793,10 @@ with self; hash = "1d1c92pyypqkd9473d59j0sfppxvcxggbc62w8bkqnbxrdmvirn9"; minimalOCamlVersion = "4.04.2"; meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; ppx_stable = janePackage { @@ -646,7 +814,11 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "0a8khmg0y32kyn3q6idwgh0d6d1s6ms1w75gj3dzng0v7y4h6jx4"; meta.description = "Ppx extension for string interpolation"; - propagatedBuildInputs = [ ppx_base ppxlib stdio ]; + propagatedBuildInputs = [ + ppx_base + ppxlib + stdio + ]; }; ppx_typerep_conv = janePackage { @@ -655,7 +827,10 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "0yk9vkpnwr8labgfncqdi4rfkj88d8mb3cr8m4gdqpi3f2r27hf0"; meta.description = "Generation of runtime types from type declarations"; - propagatedBuildInputs = [ ppxlib typerep ]; + propagatedBuildInputs = [ + ppxlib + typerep + ]; }; ppx_variants_conv = janePackage { @@ -664,7 +839,10 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "1p11fiz4m160hs0xzg4g9rxchp053sz3s3d1lyciqixad1xi47a4"; meta.description = "Generation of accessor and iteration functions for ocaml variant types"; - propagatedBuildInputs = [ variantslib ppxlib ]; + propagatedBuildInputs = [ + variantslib + ppxlib + ]; }; protocol_version_header = janePackage { @@ -679,7 +857,13 @@ with self; hash = "0qr0mh9jiv1ham5zlz9i4im23a1vh6x1yp6dp2db2s4icmfph639"; meta.description = "A library to help writing wrappers around ocaml code for python"; meta.broken = lib.versionAtLeast ocaml.version "4.13"; - propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ]; + propagatedBuildInputs = [ + ppx_expect + ppx_let + ppx_python + stdio + typerep + ]; }; re2 = janePackage { @@ -697,7 +881,10 @@ with self; pname = "re2_stable"; hash = "0kjc0ff6b3509s3b9n4q8ilb06d5fngdh3z58cm95vg7zkcas9w3"; meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; - propagatedBuildInputs = [ core re2 ]; + propagatedBuildInputs = [ + core + re2 + ]; }; resource_cache = janePackage { @@ -734,7 +921,10 @@ with self; sexp_macro = janePackage { pname = "sexp_macro"; hash = "1ih1g7vpb1j8vhzm9a5mjrrzgqrhjqdhf6vjrg8kxfqg5i5b8nyx"; - propagatedBuildInputs = [ async sexplib ]; + propagatedBuildInputs = [ + async + sexplib + ]; meta.description = "Sexp macros"; }; @@ -743,14 +933,21 @@ with self; hash = "0dax0wm511zgvr7p6kcd5gygi58118by7hsv7hymy8ldfcky5cwd"; minimalOCamlVersion = "4.07"; meta.description = "S-expression pretty-printer"; - propagatedBuildInputs = [ ppx_base re sexplib ]; + propagatedBuildInputs = [ + ppx_base + re + sexplib + ]; }; sexp_select = janePackage { pname = "sexp_select"; hash = "1lchhfqw4afw38fnarwylqc2qp7k6xwx3j7m9gy8ygjgd0vgd729"; minimalOCamlVersion = "4.07"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; meta.description = "A library to use CSS-style selectors to traverse sexp trees"; }; @@ -766,7 +963,10 @@ with self; hash = "03c3j1ihx4pjbb0x3arrcif3wvp3iva2ivnywhiak4mbbslgsnzr"; minimalOCamlVersion = "4.04.2"; meta.description = "Library for serializing OCaml values to and from S-expressions"; - propagatedBuildInputs = [ num parsexp ]; + propagatedBuildInputs = [ + num + parsexp + ]; }; shell = janePackage { @@ -782,7 +982,10 @@ with self; pname = "shexp"; hash = "1h6hsnbg6bk32f8iv6kd6im4mv2pjsjpd1mjsfx80p1n9273xack"; minimalOCamlVersion = "4.07"; - propagatedBuildInputs = [ posixat spawn ]; + propagatedBuildInputs = [ + posixat + spawn + ]; meta.description = "Process library and s-expression based shell"; }; @@ -807,7 +1010,12 @@ with self; pname = "splittable_random"; hash = "0ax988b1wc7km8khg4s6iphbz16y1rssh7baigxfyw3ldp0agk14"; meta.description = "PRNG that can be split into independent streams"; - propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ]; + propagatedBuildInputs = [ + base + ppx_assert + ppx_bench + ppx_sexp_message + ]; }; stdio = janePackage { @@ -830,8 +1038,15 @@ with self; hash = "1lyq8zdz93hvpi4hpxh88kds30k5ljil8js9clcqyxrldp5n9mw0"; minimalOCamlVersion = "4.04.2"; meta.description = "Reports the current time"; - buildInputs = [ jst-config ppx_optcomp ]; - propagatedBuildInputs = [ jane-street-headers base ppx_base ]; + buildInputs = [ + jst-config + ppx_optcomp + ]; + propagatedBuildInputs = [ + jane-street-headers + base + ppx_base + ]; }; timezone = janePackage { @@ -845,7 +1060,10 @@ with self; pname = "topological_sort"; hash = "17iz7956zln31p0xnm3jlhj863zi84bcx41jylzf7gk23qsm95m8"; meta.description = "Topological sort algorithm"; - propagatedBuildInputs = [ ppx_jane stdio ]; + propagatedBuildInputs = [ + ppx_jane + stdio + ]; }; typerep = janePackage { @@ -868,7 +1086,11 @@ with self; pname = "vcaml"; hash = "0ykwrn8bvwx26ad4wb36jw9xnlwsdpnnx88396laxvcfimrp13qs"; meta.description = "OCaml bindings for the Neovim API"; - propagatedBuildInputs = [ angstrom-async async_extra faraday ]; + propagatedBuildInputs = [ + angstrom-async + async_extra + faraday + ]; }; virtual_dom = janePackage { @@ -876,7 +1098,12 @@ with self; hash = "0vcydxx0jhbd5hbriahgp947mc7n3xymyrsfny1c4adk6aaq3c5w"; meta.description = "OCaml bindings for the virtual-dom library"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ core_kernel js_of_ocaml lambdasoup tyxml ]; + propagatedBuildInputs = [ + core_kernel + js_of_ocaml + lambdasoup + tyxml + ]; }; zarith_stubs_js = janePackage { @@ -892,7 +1119,11 @@ with self; hash = "1vf76v5m9wsh5f77w9z4i8sxm05wr5digyi95x4wvzdi7q3qg6m8"; meta.description = "OCaml bindings to Zstandard"; buildInputs = [ ppx_jane ]; - propagatedBuildInputs = [ core ctypes zstd ]; + propagatedBuildInputs = [ + core + ctypes + zstd + ]; }; } diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix index 6a0e4fb58fd39..ddb4c3a1f8dc6 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.15.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix @@ -1,11 +1,12 @@ -{ self -, bash -, fetchpatch -, fzf -, lib -, ocaml -, openssl -, zstd +{ + self, + bash, + fetchpatch, + fzf, + lib, + ocaml, + openssl, + zstd, }: with self; @@ -17,7 +18,10 @@ with self; minimalOCamlVersion = "4.08"; hash = "12imf6ibm7qb8r1fpqnrl20x2z14zl3ri1vzg0z8qby9l8bv2fbd"; meta.description = "A small library describing abstract algebra concepts"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; accessor = janePackage { @@ -33,7 +37,10 @@ with self; minimalOCamlVersion = "4.09"; hash = "17r6af55ms0i496jsfx0xpdm336c2vhyf49b3s8s1gpz521wrgmc"; meta.description = "Accessors for Async types, for use with the Accessor library"; - propagatedBuildInputs = [ accessor_core async_kernel ]; + propagatedBuildInputs = [ + accessor_core + async_kernel + ]; }; accessor_base = janePackage { @@ -49,14 +56,21 @@ with self; pname = "accessor_core"; hash = "0zrs5zbyrhfbah73g22l19bw1mmljhyb3l2mrwcxgbjq9pqp0k9v"; meta.description = "Accessors for Core types, for use with the Accessor library"; - propagatedBuildInputs = [ accessor_base core_kernel ]; + propagatedBuildInputs = [ + accessor_base + core_kernel + ]; }; async = janePackage { pname = "async"; hash = "0pykmnsil754jsnr8gss91ykyjvivngx4ii0ih3nsg1x2jl9xmy2"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ]; + propagatedBuildInputs = [ + async_rpc_kernel + async_unix + textutils + ]; doCheck = false; # we don't have netkit_sockets }; @@ -78,7 +92,10 @@ with self; pname = "async_inotify"; hash = "1nxz6bijp7liy18ljrxg92v2m8v8fqcs1pmzg9kbcf0d4vij8j2p"; meta.description = "Async wrapper for inotify"; - propagatedBuildInputs = [ async_find inotify ]; + propagatedBuildInputs = [ + async_find + inotify + ]; }; async_interactive = janePackage { @@ -93,7 +110,11 @@ with self; hash = "184j077bz686k5lrqswircnrdqldb316ngpzq7xri1pcsl39sy3q"; meta.description = "A small library that provide Async support for JavaScript platforms"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ async_rpc_kernel js_of_ocaml uri-sexp ]; + propagatedBuildInputs = [ + async_rpc_kernel + js_of_ocaml + uri-sexp + ]; }; async_kernel = janePackage { @@ -107,14 +128,21 @@ with self; pname = "async_rpc_kernel"; hash = "1b5rp5yam03ir4f1sixpzjg1zdqmkb7lvnaa82kac4fzk80gfrfr"; meta.description = "Platform-independent core of Async RPC library"; - propagatedBuildInputs = [ async_kernel protocol_version_header ]; + propagatedBuildInputs = [ + async_kernel + protocol_version_header + ]; }; async_rpc_websocket = janePackage { pname = "async_rpc_websocket"; hash = "1n93jhkz5r76xcc40c4i4sxcyfz1dbppz8sjfxpwcwjyi6lyhp1p"; meta.description = "Library to serve and dispatch Async RPCs over websockets"; - propagatedBuildInputs = [ async_rpc_kernel async_websocket cohttp_async_websocket ]; + propagatedBuildInputs = [ + async_rpc_kernel + async_websocket + cohttp_async_websocket + ]; }; async_sendfile = janePackage { @@ -128,7 +156,10 @@ with self; pname = "async_shell"; hash = "07iwlyrc4smk6hsnz89cz2ihp670mllq0y9wbdafvagm1y1p62vx"; meta.description = "Shell helpers for Async"; - propagatedBuildInputs = [ async shell ]; + propagatedBuildInputs = [ + async + shell + ]; }; async_smtp = janePackage { @@ -136,7 +167,17 @@ with self; hash = "1m00j7wcb0blipnc1m6by70gd96a1k621b4dgvgffp8as04a461r"; minimalOCamlVersion = "4.12"; meta.description = "SMTP client and server"; - propagatedBuildInputs = [ async_extra async_inotify async_sendfile async_shell async_ssl email_message resource_cache re2_stable sexp_macro ]; + propagatedBuildInputs = [ + async_extra + async_inotify + async_sendfile + async_shell + async_ssl + email_message + resource_cache + re2_stable + sexp_macro + ]; }; async_ssl = janePackage { @@ -144,7 +185,12 @@ with self; hash = "1b7f7p3xj4jr2n2dxy2lp7a9k7944w6x2nrg6524clvcsd1ax4hn"; meta.description = "Async wrappers for SSL"; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ async ctypes ctypes-foreign openssl ]; + propagatedBuildInputs = [ + async + ctypes + ctypes-foreign + openssl + ]; # in ctypes.foreign 0.18.0 threaded and unthreaded have been merged postPatch = '' substituteInPlace bindings/dune \ @@ -156,14 +202,20 @@ with self; pname = "async_unix"; hash = "0z4fgpn93iw0abd7l9kac28qgzgc5qr2x0s1n2zh49lsdn02n6ys"; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_kernel core_unix ]; + propagatedBuildInputs = [ + async_kernel + core_unix + ]; }; async_websocket = janePackage { pname = "async_websocket"; hash = "16ixqfnx9jp77bvx11dlzsq0pzfpyiif60hl2q06zncyswky9xgb"; meta.description = "A library that implements the websocket protocol on top of Async"; - propagatedBuildInputs = [ async cryptokit ]; + propagatedBuildInputs = [ + async + cryptokit + ]; }; base = janePackage { @@ -182,7 +234,10 @@ with self; hash = "1hv3hw2fwqmkrxms1g6rw3c18mmla1z5bva3anx45mnff903iv4q"; minimalOCamlVersion = "4.08"; meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; - propagatedBuildInputs = [ int_repr ppx_jane ]; + propagatedBuildInputs = [ + int_repr + ppx_jane + ]; }; base_quickcheck = janePackage { @@ -190,13 +245,23 @@ with self; hash = "0q73kfr67cz5wp4qn4rq3lpa922hqmvwdiinnans0js65fvlgqsi"; minimalOCamlVersion = "4.04.2"; meta.description = "Randomized testing framework, designed for compatibility with Base"; - propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let ppx_sexp_value splittable_random ]; + propagatedBuildInputs = [ + ppx_base + ppx_fields_conv + ppx_let + ppx_sexp_value + splittable_random + ]; }; bignum = janePackage { pname = "bignum"; hash = "12q3xcv78b4s9srnc17jbyn53d5drmwmyvgp62p7nk3fs4f7cr4f"; - propagatedBuildInputs = [ core_kernel zarith zarith_stubs_js ]; + propagatedBuildInputs = [ + core_kernel + zarith + zarith_stubs_js + ]; meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; }; @@ -205,7 +270,13 @@ with self; hash = "1qfqglscc25wwnjx7byqmjcnjww1msnr8940gyg8h93wdq43fjnh"; minimalOCamlVersion = "4.04.2"; meta.description = "A binary protocol generator"; - propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_optcomp ppx_variants_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_custom_printf + ppx_fields_conv + ppx_optcomp + ppx_variants_conv + ]; }; bonsai = janePackage { @@ -213,7 +284,10 @@ with self; hash = "150zx2g1dmhyrxwqq8j7f2m3hjpmk5bk182ihx2gdbarhw1ainpm"; meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; buildInputs = [ ppx_pattern_bind ]; - nativeBuildInputs = [ js_of_ocaml-compiler ocaml-embed-file ]; + nativeBuildInputs = [ + js_of_ocaml-compiler + ocaml-embed-file + ]; propagatedBuildInputs = [ async async_extra @@ -246,7 +320,13 @@ with self; pname = "cohttp_async_websocket"; hash = "0d0smavnxpnwrmhlcf3b5a3cm3n9kz1y8fh6l28xv6zrn4sc7ik8"; meta.description = "Websocket library for use with cohttp and async"; - propagatedBuildInputs = [ async_ssl async_websocket cohttp-async ppx_jane uri-sexp ]; + propagatedBuildInputs = [ + async_ssl + async_websocket + cohttp-async + ppx_jane + uri-sexp + ]; }; cohttp_static_handler = janePackage { @@ -263,7 +343,13 @@ with self; hash = "sha256-SHjnNFl+JAjdgVoRgmnz0wqrrc3zoh0ZyG2UhUsUbJ8="; meta.description = "Industrial strength alternative to OCaml's standard library"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ base base_bigstring base_quickcheck ppx_jane time_now ]; + propagatedBuildInputs = [ + base + base_bigstring + base_quickcheck + ppx_jane + time_now + ]; doCheck = false; # circular dependency with core_kernel meta.broken = lib.versionAtLeast ocaml.version "5.1"; }; @@ -279,7 +365,10 @@ with self; pname = "core_extended"; hash = "0sx79hc1y1daczib2p4nbyw4aqnznmdd83knrhs5q153j7lnlalx"; meta.description = "Extra components that are not as closely vetted or as stable as Core"; - propagatedBuildInputs = [ core_unix record_builder ]; + propagatedBuildInputs = [ + core_unix + record_builder + ]; }; core_kernel = janePackage { @@ -287,7 +376,12 @@ with self; hash = "05mb4vbf293iq1xx4acyrmi9cgcw6capwrsa54ils62alby6w6yq"; meta.description = "System-independent part of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ base_bigstring core int_repr sexplib ]; + propagatedBuildInputs = [ + base_bigstring + core + int_repr + sexplib + ]; doCheck = false; # we don't have quickcheck_deprecated }; @@ -297,7 +391,14 @@ with self; hash = "sha256-9f2PiLo+4Bjnfvh3scvIiPHj0wPZozmMMiCTe7vC1EA="; meta.description = "Unix-specific portions of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ core_kernel expect_test_helpers_core ocaml_intrinsics ppx_jane timezone spawn ]; + propagatedBuildInputs = [ + core_kernel + expect_test_helpers_core + ocaml_intrinsics + ppx_jane + timezone + spawn + ]; postPatch = '' patchShebangs unix_pseudo_terminal/src/discover.sh ''; @@ -307,14 +408,20 @@ with self; pname = "csvfields"; version = "0.15.1"; hash = "sha256-bBupsarwjte2NCncNDFSkrrmMR3EYPn+D7xI9zQOhFA="; - propagatedBuildInputs = [ core num ]; + propagatedBuildInputs = [ + core + num + ]; meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; }; delimited_parsing = janePackage { pname = "delimited_parsing"; hash = "0d050v58zzi8c4qiwxbfcyrdw6zvncnnl3qj79qi0yq4xkg7820r"; - propagatedBuildInputs = [ async core_extended ]; + propagatedBuildInputs = [ + async + core_extended + ]; meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; }; @@ -322,28 +429,44 @@ with self; pname = "ecaml"; hash = "08g2bl06vkn3bkqzkmvk2646aqb6jj4a7n3wgzpcx1c2gl3iw5i6"; meta.description = "Library for writing Emacs plugin in OCaml"; - propagatedBuildInputs = [ async expect_test_helpers_core ]; + propagatedBuildInputs = [ + async + expect_test_helpers_core + ]; }; email_message = janePackage { pname = "email_message"; hash = "00h66l2g5rjaay0hbyqy4v9i866g779miriwv20h9k4mliqdq7in"; meta.description = "E-mail message parser"; - propagatedBuildInputs = [ angstrom async base64 cryptokit magic-mime re2 ]; + propagatedBuildInputs = [ + angstrom + async + base64 + cryptokit + magic-mime + re2 + ]; }; expect_test_helpers_async = janePackage { pname = "expect_test_helpers_async"; hash = "14v4966p5dmqgjb9sgrvnsixv0w0bagicn8v44g9mf9d88z8pfym"; meta.description = "Async helpers for writing expectation tests"; - propagatedBuildInputs = [ async expect_test_helpers_core ]; + propagatedBuildInputs = [ + async + expect_test_helpers_core + ]; }; expect_test_helpers_core = janePackage { pname = "expect_test_helpers_core"; hash = "0bxs3g0zzym8agfcbpg5lmrh6hcb86z861bq40xhhfwqf4pzdbfa"; meta.description = "Helpers for writing expectation tests"; - propagatedBuildInputs = [ core_kernel sexp_pretty ]; + propagatedBuildInputs = [ + core_kernel + sexp_pretty + ]; }; fieldslib = janePackage { @@ -358,8 +481,7 @@ with self; pname = "file_path"; minimalOCamlVersion = "4.11"; hash = "0vjvxviryywwwfdazcijwhpajp2d4mavlki7lj4qaafjrw62x14k"; - meta.description = - "A library for typed manipulation of UNIX-style file paths"; + meta.description = "A library for typed manipulation of UNIX-style file paths"; propagatedBuildInputs = [ async core @@ -375,7 +497,10 @@ with self; pname = "fuzzy_match"; hash = "0s5w81698b07l5m11nwx8xbjcpmp54dnf5fcrnlva22jrlsf14h4"; meta.description = "A library for fuzzy string matching"; - propagatedBuildInputs = [ core ppx_jane ]; + propagatedBuildInputs = [ + core + ppx_jane + ]; }; fzf = janePackage { @@ -383,7 +508,11 @@ with self; minimalOCamlVersion = "4.08"; hash = "1ha0i6dx5bgwzbdi4rn98wjwi2imv5p2i7qs7hy0c6cmg88xbdry"; meta.description = "A library for running the fzf command line tool"; - propagatedBuildInputs = [ async core_kernel ppx_jane ]; + propagatedBuildInputs = [ + async + core_kernel + ppx_jane + ]; postPatch = '' substituteInPlace src/fzf.ml --replace /usr/bin/fzf ${fzf}/bin/fzf ''; @@ -394,7 +523,10 @@ with self; minimalOCamlVersion = "4.09"; hash = "0rafxxajqswi070h8sinhjna0swh1hc6d7i3q7y099yj3wlr2y1l"; meta.description = "A library with an encoding of higher kinded types in OCaml"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; incr_dom = janePackage { @@ -402,7 +534,12 @@ with self; hash = "1sija9w2im8vdp61h387w0mww9hh7jgkgsjcccps4lbv936ac7c1"; meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ]; + propagatedBuildInputs = [ + async_js + incr_map + incr_select + virtual_dom + ]; patches = [ ./incr_dom_jsoo_4_0.patch ]; }; @@ -411,7 +548,10 @@ with self; hash = "0aq8wfylvq68him92vzh1fqmr7r0lfwc5cdiqr10r5x032vzpnii"; meta.description = "Helpers for incremental operations on map like data structures"; buildInputs = [ ppx_pattern_bind ]; - propagatedBuildInputs = [ abstract_algebra incremental ]; + propagatedBuildInputs = [ + abstract_algebra + incremental + ]; }; incr_select = janePackage { @@ -432,7 +572,10 @@ with self; pname = "int_repr"; hash = "0ph88ym3s9dk30n17si2xam40sp8wv1xffw5cl3bskc2vfya1nvl"; meta.description = "Integers of various widths"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; jane-street-headers = janePackage { @@ -446,14 +589,23 @@ with self; pname = "jsonaf"; hash = "1j9rn8vsvfpgmdpmdqb5qhvss5171j8n3ii1bcgnavqinchbvqa6"; meta.description = "A library for parsing, manipulating, and serializing data structured as JSON"; - propagatedBuildInputs = [ base ppx_jane angstrom faraday ]; + propagatedBuildInputs = [ + base + ppx_jane + angstrom + faraday + ]; }; jst-config = janePackage { pname = "jst-config"; hash = "1lxqsj5k3v8p7g802vj1xc6bs5wrfpszh3q61xvpcd42pf3ahma9"; meta.description = "Compile-time configuration for Jane Street libraries"; - buildInputs = [ dune-configurator ppx_assert stdio ]; + buildInputs = [ + dune-configurator + ppx_assert + stdio + ]; patches = [ # remove on next release (fetchpatch { @@ -474,7 +626,10 @@ with self; ocaml-embed-file = janePackage { pname = "ocaml-embed-file"; hash = "1nzgc0q05f0j3q1kwfpyhhhpgwrfjvmkqqifrkrm4y7d1i44bfnw"; - propagatedBuildInputs = [ async ppx_jane ]; + propagatedBuildInputs = [ + async + ppx_jane + ]; meta.description = "Files contents as module constants"; }; @@ -493,7 +648,10 @@ with self; hash = "1grzpxi39318vcqhwf723hqh11k68irh59zb3dyg9lw8wjn7752a"; minimalOCamlVersion = "4.04.2"; meta.description = "S-expression parsing library"; - propagatedBuildInputs = [ base sexplib0 ]; + propagatedBuildInputs = [ + base + sexplib0 + ]; }; patdiff = janePackage { @@ -503,7 +661,11 @@ with self; # Used by patdiff-git-wrapper. Providing it here also causes the shebang # line to be automatically patched. buildInputs = [ bash ]; - propagatedBuildInputs = [ core_unix patience_diff ocaml_pcre ]; + propagatedBuildInputs = [ + core_unix + patience_diff + ocaml_pcre + ]; meta = { description = "File Diff using the Patience Diff algorithm"; }; @@ -520,7 +682,10 @@ with self; pname = "posixat"; hash = "1xgycwa0janrfn9psb7xrm0820blr82mqf1lvjy9ipqalj7v9w1f"; minimalOCamlVersion = "4.07"; - propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_optcomp + ppx_sexp_conv + ]; meta.description = "Binding to the posix *at functions"; }; @@ -537,7 +702,12 @@ with self; hash = "0dic250q3flrjs3i70a2qqqnhqqj75ddlixpy7hdfghjw32azw90"; minimalOCamlVersion = "4.04.2"; meta.description = "Assert-like extension nodes that raise useful errors on failure"; - propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_cold + ppx_compare + ppx_here + ppx_sexp_conv + ]; }; ppx_base = janePackage { @@ -545,7 +715,11 @@ with self; hash = "13rfmy2fxvwi7z5l1mai474ri5anqjm8q4hs7dblplsjjd9m5ld1"; minimalOCamlVersion = "4.04.2"; meta.description = "Base set of ppx rewriters"; - propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ]; + propagatedBuildInputs = [ + ppx_cold + ppx_enumerate + ppx_hash + ]; }; ppx_bench = janePackage { @@ -562,7 +736,10 @@ with self; hash = "1280wsls061fmvmdysjqn3lv4mnkyg400jnjf4jyfr14s33h1ad5"; minimalOCamlVersion = "4.04.2"; meta.description = "Generation of bin_prot readers and writers from types"; - propagatedBuildInputs = [ bin_prot ppx_here ]; + propagatedBuildInputs = [ + bin_prot + ppx_here + ]; doCheck = false; # circular dependency with ppx_jane }; @@ -579,14 +756,20 @@ with self; hash = "1wjwqkr71p61vjidbr80l93y4kkad7xsfyp04w8qfqrj7h5nm625"; minimalOCamlVersion = "4.04.2"; meta.description = "Generation of comparison functions from types"; - propagatedBuildInputs = [ ppxlib base ]; + propagatedBuildInputs = [ + ppxlib + base + ]; }; ppx_conv_func = janePackage { pname = "ppx_conv_func"; hash = "sha256-61jX8yHZYOnMx1Jlqaq9zSOz25HLOa0Wv/iG6Hu82zI="; meta.description = "Part of the Jane Street's PPX rewriters collection"; - propagatedBuildInputs = [ ppxlib base ]; + propagatedBuildInputs = [ + ppxlib + base + ]; }; ppx_custom_printf = janePackage { @@ -601,14 +784,23 @@ with self; pname = "ppx_css"; hash = "09dpmj3f3m3z1ji9hq775iqr3cfmv5gh7q9zlblizj4wx4y0ibyi"; meta.description = "A ppx that takes in css strings and produces a module for accessing the unique names defined within"; - propagatedBuildInputs = [ core_kernel ppxlib js_of_ocaml js_of_ocaml-ppx sedlex ]; + propagatedBuildInputs = [ + core_kernel + ppxlib + js_of_ocaml + js_of_ocaml-ppx + sedlex + ]; }; ppx_csv_conv = janePackage { pname = "ppx_csv_conv"; hash = "sha256-ctwgUs1buBZiNqac4760LhWd2/PMZRuxx8SE5T7yZ+g="; meta.description = "Generate functions to read/write records in csv format"; - propagatedBuildInputs = [ csvfields ppx_conv_func ]; + propagatedBuildInputs = [ + csvfields + ppx_conv_func + ]; }; ppx_disable_unused_warnings = janePackage { @@ -633,7 +825,11 @@ with self; hash = "sha256-qlOipzTTdN9yQ35sItKmWpCv74kbuJLDg4IHNVTKvow="; minimalOCamlVersion = "4.04.2"; meta.description = "Cram like framework for OCaml"; - propagatedBuildInputs = [ ppx_here ppx_inline_test re ]; + propagatedBuildInputs = [ + ppx_here + ppx_inline_test + re + ]; doCheck = false; # test build rules broken }; @@ -642,7 +838,10 @@ with self; hash = "094wsnw7fcwgl9xg6vkjb0wbgpn9scsp847yhdd184sz9v1amz14"; minimalOCamlVersion = "4.04.2"; meta.description = "Generation of accessor and iteration functions for ocaml records"; - propagatedBuildInputs = [ fieldslib ppxlib ]; + propagatedBuildInputs = [ + fieldslib + ppxlib + ]; }; ppx_fixed_literal = janePackage { @@ -658,7 +857,10 @@ with self; hash = "15agkwavadllzxdv4syjna02083nfnap8qs4yqf5s0adjw73fzyg"; minimalOCamlVersion = "4.04.2"; meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; - propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_sexp_conv + ]; }; ppx_here = janePackage { @@ -684,7 +886,10 @@ with self; hash = "sha256-9Up4/VK4gayuwbPc3r6gVRj78ILO2G3opL5UDOTKOgk="; minimalOCamlVersion = "4.04.2"; meta.description = "Syntax extension for writing in-line tests in ocaml code"; - propagatedBuildInputs = [ ppxlib time_now ]; + propagatedBuildInputs = [ + ppxlib + time_now + ]; doCheck = false; # test build rules broken }; @@ -693,7 +898,23 @@ with self; hash = "1p6847gdfnnj6qpa4yh57s6wwpsl7rfgy0q7993chz24h9mhz5lk"; minimalOCamlVersion = "4.04.2"; meta.description = "Standard Jane Street ppx rewriters"; - propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_disable_unused_warnings ppx_expect ppx_fixed_literal ppx_ignore_instrumentation ppx_log ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_typerep_conv ppx_variants_conv ]; + propagatedBuildInputs = [ + base_quickcheck + ppx_bin_prot + ppx_disable_unused_warnings + ppx_expect + ppx_fixed_literal + ppx_ignore_instrumentation + ppx_log + ppx_module_timer + ppx_optcomp + ppx_optional + ppx_pipebang + ppx_stable + ppx_string + ppx_typerep_conv + ppx_variants_conv + ]; }; ppx_jsonaf_conv = janePackage { @@ -701,9 +922,13 @@ with self; version = "0.15.1"; hash = "0wprs7qmscklyskj4famhaqqisi6jypy414aqba14qdyi43w0cv3"; minimalOCamlVersion = "4.08"; - meta.description = - "[@@deriving] plugin to generate Jsonaf conversion functions"; - propagatedBuildInputs = [ base jsonaf ppx_jane ppxlib ]; + meta.description = "[@@deriving] plugin to generate Jsonaf conversion functions"; + propagatedBuildInputs = [ + base + jsonaf + ppx_jane + ppxlib + ]; }; ppx_js_style = janePackage { @@ -711,7 +936,10 @@ with self; hash = "0q2p9pvmlncgv0hprph95xiv7s6q44ynvp4yl4dckf1qx68rb3ba"; minimalOCamlVersion = "4.04.2"; meta.description = "Code style checker for Jane Street Packages"; - propagatedBuildInputs = [ octavius ppxlib ]; + propagatedBuildInputs = [ + octavius + ppxlib + ]; }; ppx_let = janePackage { @@ -719,7 +947,10 @@ with self; hash = "04v3fq0vnvvavxbc7hfsrg8732pwxbyw8pjl3xfplqdqci6fj15n"; minimalOCamlVersion = "4.04.2"; meta.description = "Monadic let-bindings"; - propagatedBuildInputs = [ ppxlib ppx_here ]; + propagatedBuildInputs = [ + ppxlib + ppx_here + ]; }; ppx_log = janePackage { @@ -727,7 +958,13 @@ with self; hash = "08i9gz3f4w3bmlrfdw7ja9awsfkhhldz03bnnc4hijfmn8sawzi0"; minimalOCamlVersion = "4.08.0"; meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; - propagatedBuildInputs = [ base ppx_here ppx_sexp_conv ppx_sexp_message sexplib ]; + propagatedBuildInputs = [ + base + ppx_here + ppx_sexp_conv + ppx_sexp_message + sexplib + ]; }; ppx_module_timer = janePackage { @@ -774,7 +1011,11 @@ with self; pname = "ppx_python"; hash = "1d2wf0rkvxg07q6xq2zmxh6hmvnwlsmny3mm92jsg1s7bdl39gap"; meta.description = "A [@@deriving] plugin to generate Python conversion functions "; - propagatedBuildInputs = [ ppx_base ppxlib pyml ]; + propagatedBuildInputs = [ + ppx_base + ppxlib + pyml + ]; }; ppx_sexp_conv = janePackage { @@ -783,7 +1024,11 @@ with self; minimalOCamlVersion = "4.08.0"; hash = "sha256-NYknZHyDklr71hihM2pPFQ7uAKkuKO2DJkjtsF+xc5g="; meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; - propagatedBuildInputs = [ ppxlib sexplib0 base ]; + propagatedBuildInputs = [ + ppxlib + sexplib0 + base + ]; }; ppx_sexp_message = janePackage { @@ -791,7 +1036,10 @@ with self; hash = "0a7hx50bkkc5n5msc3zzc4ixnp7674x3mallknb9j31jnd8l90nj"; minimalOCamlVersion = "4.04.2"; meta.description = "A ppx rewriter for easy construction of s-expressions"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; ppx_sexp_value = janePackage { @@ -799,7 +1047,10 @@ with self; hash = "0kz83j9v6yz3v8c6vr9ilhkcci4hhjd6i6r6afnx72jh6i7d3hnv"; minimalOCamlVersion = "4.04.2"; meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; ppx_stable = janePackage { @@ -815,14 +1066,22 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "1dp5frk6cig5m3m5rrh2alw63snyf845x7zlkkaljip02pqcbw1s"; meta.description = "Ppx extension for string interpolation"; - propagatedBuildInputs = [ ppx_base ppxlib stdio ]; + propagatedBuildInputs = [ + ppx_base + ppxlib + stdio + ]; }; ppx_typed_fields = janePackage { pname = "ppx_typed_fields"; hash = "0hxililjgy4jh66b4xmphrfhv6qpp7dz7xbz3islp357hf18niqy"; meta.description = "GADT-based field accessors and utilities"; - propagatedBuildInputs = [ core ppx_jane ppxlib ]; + propagatedBuildInputs = [ + core + ppx_jane + ppxlib + ]; }; ppx_typerep_conv = janePackage { @@ -830,7 +1089,10 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "1q1lzykpm83ra4l5jh4rfddhd3c96kx4s4rvx0w4b51z1qk56zam"; meta.description = "Generation of runtime types from type declarations"; - propagatedBuildInputs = [ ppxlib typerep ]; + propagatedBuildInputs = [ + ppxlib + typerep + ]; }; ppx_variants_conv = janePackage { @@ -838,14 +1100,21 @@ with self; minimalOCamlVersion = "4.04.2"; hash = "1dh0bw9dn246k00pymf59yjkl6x6bxd76lkk9b5xpq2692wwlc3s"; meta.description = "Generation of accessor and iteration functions for ocaml variant types"; - propagatedBuildInputs = [ variantslib ppxlib ]; + propagatedBuildInputs = [ + variantslib + ppxlib + ]; }; profunctor = janePackage { pname = "profunctor"; hash = "151vk0cagjwn0isnnwryn6gmvnpds4dyj1in9jvv5is8yij203gg"; meta.description = "A library providing a signature for simple profunctors and traversal of a record"; - propagatedBuildInputs = [ base ppx_jane record_builder ]; + propagatedBuildInputs = [ + base + ppx_jane + record_builder + ]; }; protocol_version_header = janePackage { @@ -861,7 +1130,13 @@ with self; hash = "sha256-j8WXVTEiBmHtoTjkbnIh31vC4IghfAMaEL19nDLx3mc="; meta.description = "A library to help writing wrappers around ocaml code for python"; buildInputs = [ ppx_optcomp ]; - propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ]; + propagatedBuildInputs = [ + ppx_expect + ppx_let + ppx_python + stdio + typerep + ]; }; re2 = janePackage { @@ -880,21 +1155,33 @@ with self; version = "0.14.0"; hash = "0kjc0ff6b3509s3b9n4q8ilb06d5fngdh3z58cm95vg7zkcas9w3"; meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; - propagatedBuildInputs = [ core re2 ]; + propagatedBuildInputs = [ + core + re2 + ]; }; record_builder = janePackage { pname = "record_builder"; hash = "004nqcmwll0vy47mb3d3jlk21cc6adcjy62dkv2k966n9jkh472h"; meta.description = "A library which provides traversal of records with an applicative"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; redis-async = janePackage { pname = "redis-async"; hash = "0pccf4gkm880yyk8x4kgy5rwblkbscxav2sbis13abpms9vr7jfn"; meta.description = "Redis client for Async applications"; - propagatedBuildInputs = [ async bignum core core_kernel ppx_jane ]; + propagatedBuildInputs = [ + async + bignum + core + core_kernel + ppx_jane + ]; }; resource_cache = janePackage { @@ -931,7 +1218,10 @@ with self; sexp_macro = janePackage { pname = "sexp_macro"; hash = "1l5dsv9gawmf5dg3rf8sxphp9qs3n4n038nlmf9rxzypzyn112k8"; - propagatedBuildInputs = [ async sexplib ]; + propagatedBuildInputs = [ + async + sexplib + ]; meta.description = "Sexp macros"; }; @@ -941,14 +1231,21 @@ with self; hash = "sha256-UJEO2P4C7ZaD110MEfkG4FXfGDVAAW2TAK489faV6SM="; minimalOCamlVersion = "4.07"; meta.description = "S-expression pretty-printer"; - propagatedBuildInputs = [ ppx_base re sexplib ]; + propagatedBuildInputs = [ + ppx_base + re + sexplib + ]; }; sexp_select = janePackage { pname = "sexp_select"; hash = "0mmvga9w3gbb2gd1h4l8f1c3l2lrpn1zld2a8xgqyfqfff3vg31p"; minimalOCamlVersion = "4.07"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; meta.description = "A library to use CSS-style selectors to traverse sexp trees"; }; @@ -966,7 +1263,10 @@ with self; hash = "sha256-LkGNnp717LMHeWe1Ka6qUZcpw8fKSsd5MusaLgFjm70="; minimalOCamlVersion = "4.04.2"; meta.description = "Library for serializing OCaml values to and from S-expressions"; - propagatedBuildInputs = [ num parsexp ]; + propagatedBuildInputs = [ + num + parsexp + ]; }; shell = janePackage { @@ -982,7 +1282,10 @@ with self; pname = "shexp"; hash = "05iswnhi92f4yvrh76j3254bvls6fbrdb56mv6vc6mi5f8z4l79i"; minimalOCamlVersion = "4.07"; - propagatedBuildInputs = [ posixat spawn ]; + propagatedBuildInputs = [ + posixat + spawn + ]; meta.description = "Process library and s-expression based shell"; }; @@ -1005,7 +1308,12 @@ with self; pname = "splittable_random"; hash = "0ap5z4z1aagz4z02q9642cbl25jzws9lbc2x5xkpyjlc0qcm9v3m"; meta.description = "PRNG that can be split into independent streams"; - propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ]; + propagatedBuildInputs = [ + base + ppx_assert + ppx_bench + ppx_sexp_message + ]; }; stdio = janePackage { @@ -1020,14 +1328,21 @@ with self; pname = "textutils"; hash = "1wass49h645wql9b7nck2iqlkf4648dkxvlvxixr7z80zcnb5rxr"; meta.description = "Text output utilities"; - propagatedBuildInputs = [ core_unix textutils_kernel ]; + propagatedBuildInputs = [ + core_unix + textutils_kernel + ]; }; textutils_kernel = janePackage { pname = "textutils_kernel"; hash = "068g11d98wsb5a6ds0p5xybdmx5nx9bxa0k11dmh3l57kn4c169x"; meta.description = "Text output utilities"; - propagatedBuildInputs = [ core ppx_jane uutf ]; + propagatedBuildInputs = [ + core + ppx_jane + uutf + ]; }; time_now = janePackage { @@ -1035,8 +1350,15 @@ with self; hash = "1pa0hyh470j9jylii4983qagb6hq2dz6s0q2fnrcph9qbw83bc0c"; minimalOCamlVersion = "4.04.2"; meta.description = "Reports the current time"; - buildInputs = [ jst-config ppx_optcomp ]; - propagatedBuildInputs = [ jane-street-headers base ppx_base ]; + buildInputs = [ + jst-config + ppx_optcomp + ]; + propagatedBuildInputs = [ + jane-street-headers + base + ppx_base + ]; }; timezone = janePackage { @@ -1050,7 +1372,10 @@ with self; pname = "topological_sort"; hash = "0iqhp8n6g5n1ng80brjpav54229lykm2c1fc104s58lk3rqfvj9v"; meta.description = "Topological sort algorithm"; - propagatedBuildInputs = [ ppx_jane stdio ]; + propagatedBuildInputs = [ + ppx_jane + stdio + ]; }; typerep = janePackage { @@ -1073,7 +1398,12 @@ with self; pname = "vcaml"; hash = "12fd29x9dgf4f14xrx7z4y1bm1wbfynrs3jismjbiqnckfpbqrib"; meta.description = "OCaml bindings for the Neovim API"; - propagatedBuildInputs = [ angstrom-async async_extra expect_test_helpers_async faraday ]; + propagatedBuildInputs = [ + angstrom-async + async_extra + expect_test_helpers_async + faraday + ]; }; virtual_dom = janePackage { @@ -1082,7 +1412,13 @@ with self; hash = "sha256-Uv6ZDxz2/H0nHjiycUKNQwy/zZyHHmwDEHknFHwDuDs="; meta.description = "OCaml bindings for the virtual-dom library"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ core_kernel gen_js_api js_of_ocaml lambdasoup tyxml ]; + propagatedBuildInputs = [ + core_kernel + gen_js_api + js_of_ocaml + lambdasoup + tyxml + ]; }; zarith_stubs_js = janePackage { @@ -1097,7 +1433,11 @@ with self; hash = "1blkv35g5q1drkc6zmc4m027gjz6vfdadra1kw1xkp1wlc2l4v3k"; meta.description = "OCaml bindings to Zstandard"; buildInputs = [ ppx_jane ]; - propagatedBuildInputs = [ core_kernel ctypes zstd ]; + propagatedBuildInputs = [ + core_kernel + ctypes + zstd + ]; }; } diff --git a/pkgs/development/ocaml-modules/janestreet/0.16.nix b/pkgs/development/ocaml-modules/janestreet/0.16.nix index 325e182b48b19..30aa920fff243 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.16.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.16.nix @@ -1,11 +1,12 @@ -{ self -, bash -, fetchpatch -, fzf -, lib -, openssl -, zstd -, krb5 +{ + self, + bash, + fetchpatch, + fzf, + lib, + openssl, + zstd, + krb5, }: with self; @@ -16,7 +17,10 @@ with self; pname = "abstract_algebra"; hash = "sha256-hAZzc2ypbGE/8mxxk4GZqr17JlIYv71gZJMQ4plsK38="; meta.description = "A small library describing abstract algebra concepts"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; accessor = janePackage { @@ -30,7 +34,10 @@ with self; pname = "accessor_async"; hash = "sha256-kGT7aFNOgU8/2ez9L/lefb2LN7I87+WthZHnb+dY9PE="; meta.description = "Accessors for Async types, for use with the Accessor library"; - propagatedBuildInputs = [ accessor_core async_kernel ]; + propagatedBuildInputs = [ + accessor_core + async_kernel + ]; }; accessor_base = janePackage { @@ -44,14 +51,21 @@ with self; pname = "accessor_core"; hash = "sha256-f4s/I+xDi/aca1WgaE+P3CD4e80jenS0WHg4T1Stcbg="; meta.description = "Accessors for Core types, for use with the Accessor library"; - propagatedBuildInputs = [ accessor_base core_kernel ]; + propagatedBuildInputs = [ + accessor_base + core_kernel + ]; }; async = janePackage { pname = "async"; hash = "sha256-TpsC9sn8noiNI0aYbMalUUv3xlC2LMERsv6Gr928Vzc="; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ]; + propagatedBuildInputs = [ + async_rpc_kernel + async_unix + textutils + ]; doCheck = false; # we don't have netkit_sockets }; @@ -59,7 +73,13 @@ with self; pname = "async_durable"; hash = "sha256-PImYpM9xNFUWeWRld4jFwWBRowUP1iXzdxkK/fP/rHE="; meta.description = "Durable connections for use with async"; - propagatedBuildInputs = [ async_kernel async_rpc_kernel core core_kernel ppx_jane ]; + propagatedBuildInputs = [ + async_kernel + async_rpc_kernel + core + core_kernel + ppx_jane + ]; }; async_extra = janePackage { @@ -80,7 +100,10 @@ with self; pname = "async_inotify"; hash = "sha256-seFbs06w3T+B49sw3nOjpXpoJbJ+IJ3qN5LnufrsE48="; meta.description = "Async wrapper for inotify"; - propagatedBuildInputs = [ async_find inotify ]; + propagatedBuildInputs = [ + async_find + inotify + ]; }; async_interactive = janePackage { @@ -95,7 +118,11 @@ with self; hash = "sha256-JyF1busOv9JWxp55oaxBozIQyCKlmAY3csBA4/98qy0="; meta.description = "A small library that provide Async support for JavaScript platforms"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ async_rpc_kernel js_of_ocaml uri-sexp ]; + propagatedBuildInputs = [ + async_rpc_kernel + js_of_ocaml + uri-sexp + ]; }; async_kernel = janePackage { @@ -109,14 +136,21 @@ with self; pname = "async_rpc_kernel"; hash = "sha256-OccFMfhTRSQwx1LJcN8OkDpA62KabsyWn2hox84jqow="; meta.description = "Platform-independent core of Async RPC library"; - propagatedBuildInputs = [ async_kernel protocol_version_header ]; + propagatedBuildInputs = [ + async_kernel + protocol_version_header + ]; }; async_rpc_websocket = janePackage { pname = "async_rpc_websocket"; hash = "sha256-S3xIw/mew9YhtenWfp8ZD82WtOQSzJHtreT1+kRivus="; meta.description = "Library to serve and dispatch Async RPCs over websockets"; - propagatedBuildInputs = [ async_rpc_kernel async_websocket cohttp_async_websocket ]; + propagatedBuildInputs = [ + async_rpc_kernel + async_websocket + cohttp_async_websocket + ]; }; async_sendfile = janePackage { @@ -130,14 +164,27 @@ with self; pname = "async_shell"; hash = "sha256-DjIbadCjPymnkDsnonmxKumCWf5P9XO3ZaAwOaYRnbk="; meta.description = "Shell helpers for Async"; - propagatedBuildInputs = [ async shell ]; + propagatedBuildInputs = [ + async + shell + ]; }; async_smtp = janePackage { pname = "async_smtp"; hash = "sha256-X0eegZMMU9EnC9Oi+6DjtwNmyzQYr3EKi1duNzEAfkk="; meta.description = "SMTP client and server"; - propagatedBuildInputs = [ async_extra async_inotify async_sendfile async_shell async_ssl email_message resource_cache re2_stable sexp_macro ]; + propagatedBuildInputs = [ + async_extra + async_inotify + async_sendfile + async_shell + async_ssl + email_message + resource_cache + re2_stable + sexp_macro + ]; }; async_ssl = janePackage { @@ -146,28 +193,45 @@ with self; hash = "sha256-83YKxvVb/JwBnQG4R/R1Ztik9T/hO4cbiNTfFnErpG4="; meta.description = "Async wrappers for SSL"; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ async ctypes ctypes-foreign openssl ]; + propagatedBuildInputs = [ + async + ctypes + ctypes-foreign + openssl + ]; }; async_unix = janePackage { pname = "async_unix"; hash = "sha256-dT+yJC73sxS4NPR/GC/FyVLbWtYpM9DqKykVk8PEEWU="; meta.description = "Monadic concurrency library"; - propagatedBuildInputs = [ async_kernel core_unix ]; + propagatedBuildInputs = [ + async_kernel + core_unix + ]; }; async_websocket = janePackage { pname = "async_websocket"; hash = "sha256-Qy+A8ee6u5Vr05FNeaH/6Sdp9bcq3cnaDYO9OU06VW0="; meta.description = "A library that implements the websocket protocol on top of Async"; - propagatedBuildInputs = [ async cryptokit ]; + propagatedBuildInputs = [ + async + cryptokit + ]; }; babel = janePackage { pname = "babel"; hash = "sha256-nnMliU0d6vtHTYEy9uMi8nMaHvAsEXKN6uNByqZ28+c="; meta.description = "A library for defining Rpcs that can evolve over time without breaking backward compatibility"; - propagatedBuildInputs = [ async_rpc_kernel core ppx_jane streamable tilde_f ]; + propagatedBuildInputs = [ + async_rpc_kernel + core + ppx_jane + streamable + tilde_f + ]; }; base = janePackage { @@ -184,21 +248,35 @@ with self; pname = "base_bigstring"; hash = "sha256-gQbzdr05DEowzd0k9JBTF0gGMwlaVwTVJuoKZ0u9voU="; meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; - propagatedBuildInputs = [ int_repr ppx_jane ]; + propagatedBuildInputs = [ + int_repr + ppx_jane + ]; }; base_trie = janePackage { pname = "base_trie"; hash = "sha256-KV/k3B0h/4rE+MY6f4qDnlaObMmewUS+NAN2M7sb+yw="; meta.description = "Trie data structure library"; - propagatedBuildInputs = [ base core expect_test_helpers_core ppx_jane ]; + propagatedBuildInputs = [ + base + core + expect_test_helpers_core + ppx_jane + ]; }; base_quickcheck = janePackage { pname = "base_quickcheck"; hash = "sha256-9Flg8vAoT6f+3lw9wETQhsaA1fSsQiqKeEhzo0qtDu4="; meta.description = "Randomized testing framework, designed for compatibility with Base"; - propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let ppx_sexp_value splittable_random ]; + propagatedBuildInputs = [ + ppx_base + ppx_fields_conv + ppx_let + ppx_sexp_value + splittable_random + ]; }; bidirectional_map = janePackage { @@ -210,7 +288,11 @@ with self; bignum = janePackage { pname = "bignum"; hash = "sha256-PmvqGImF1Nrr6swx5q3+9mCfSbieC3RvWuz8oCTkSgg="; - propagatedBuildInputs = [ core_kernel zarith zarith_stubs_js ]; + propagatedBuildInputs = [ + core_kernel + zarith + zarith_stubs_js + ]; meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; }; @@ -218,7 +300,14 @@ with self; pname = "bin_prot"; hash = "sha256-qFkM6TrTLnnFKmzQHktBb68HpBTMYhiURvnRKEoAevk="; meta.description = "A binary protocol generator"; - propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_optcomp ppx_stable_witness ppx_variants_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_custom_printf + ppx_fields_conv + ppx_optcomp + ppx_stable_witness + ppx_variants_conv + ]; }; bonsai = janePackage { @@ -226,7 +315,11 @@ with self; hash = "sha256-YJ+qkVG5PLBmioa1gP7y6jwn82smyyYDIwHwhDqNeWM="; meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; buildInputs = [ ppx_pattern_bind ]; - nativeBuildInputs = [ ppx_css js_of_ocaml-compiler ocaml-embed-file ]; + nativeBuildInputs = [ + ppx_css + js_of_ocaml-compiler + ocaml-embed-file + ]; propagatedBuildInputs = [ async async_durable @@ -264,7 +357,13 @@ with self; pname = "cohttp_async_websocket"; hash = "sha256-OBtyKMyvfz0KNG4SWmvoTMVPnVTpO12N38q+kEbegJE="; meta.description = "Websocket library for use with cohttp and async"; - propagatedBuildInputs = [ async_ssl async_websocket cohttp-async ppx_jane uri-sexp ]; + propagatedBuildInputs = [ + async_ssl + async_websocket + cohttp-async + ppx_jane + uri-sexp + ]; }; cohttp_static_handler = janePackage { @@ -278,7 +377,10 @@ with self; pname = "content_security_policy"; hash = "sha256-q/J+ZzeC6txyuRQzR8Hmu7cYJCQbxaMlVEmK8fj0hus="; meta.description = "A library for building content-security policies"; - propagatedBuildInputs = [ core ppx_jane ]; + propagatedBuildInputs = [ + core + ppx_jane + ]; }; core = janePackage { @@ -287,7 +389,13 @@ with self; hash = "sha256-cyOU++XJJkU2YMHfn8saFOxLoQSFhF7kARJi/9unbFQ="; meta.description = "Industrial strength alternative to OCaml's standard library"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ base base_bigstring base_quickcheck ppx_jane time_now ]; + propagatedBuildInputs = [ + base + base_bigstring + base_quickcheck + ppx_jane + time_now + ]; doCheck = false; # circular dependency with core_kernel }; @@ -302,7 +410,10 @@ with self; pname = "core_extended"; hash = "sha256-hcjmFDdVKCHK8u6D4Qn2a/HYTEZOvkXHcB6BTpbjF/s="; meta.description = "Extra components that are not as closely vetted or as stable as Core"; - propagatedBuildInputs = [ core_unix record_builder ]; + propagatedBuildInputs = [ + core_unix + record_builder + ]; }; core_kernel = janePackage { @@ -310,7 +421,12 @@ with self; hash = "sha256-YB3WMNLePrOKu+mmVedNo0pWN9x5fIaBxJsby56TFJU="; meta.description = "System-independent part of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ base_bigstring core int_repr sexplib ]; + propagatedBuildInputs = [ + base_bigstring + core + int_repr + sexplib + ]; doCheck = false; # we don't have quickcheck_deprecated }; @@ -319,7 +435,14 @@ with self; hash = "sha256-mePpxjbUumMemHDKhRgACilchgS6QHZEV1ghYtT3flg="; meta.description = "Unix-specific portions of Core"; buildInputs = [ jst-config ]; - propagatedBuildInputs = [ core_kernel expect_test_helpers_core ocaml_intrinsics ppx_jane timezone spawn ]; + propagatedBuildInputs = [ + core_kernel + expect_test_helpers_core + ocaml_intrinsics + ppx_jane + timezone + spawn + ]; postPatch = '' patchShebangs unix_pseudo_terminal/src/discover.sh ''; @@ -328,28 +451,43 @@ with self; csvfields = janePackage { pname = "csvfields"; hash = "sha256-FEkjRmLeqNvauBlrY2xtLZfxVfnFWU8w8noEArPUieo="; - propagatedBuildInputs = [ core num ]; + propagatedBuildInputs = [ + core + num + ]; meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; }; dedent = janePackage { pname = "dedent"; hash = "sha256-fzytLr3tVr2vPmykUBzNFMxnyMcIeeo8S9BydsTKnQw="; - propagatedBuildInputs = [ base ppx_jane stdio ]; + propagatedBuildInputs = [ + base + ppx_jane + stdio + ]; meta.description = "A library for improving redability of multi-line string constants in code"; }; delimited_parsing = janePackage { pname = "delimited_parsing"; hash = "sha256-XyO3hzPz48i1cnMTJvZfarM6HC7qdHqdftp9SnCjPEU="; - propagatedBuildInputs = [ async core_extended ]; + propagatedBuildInputs = [ + async + core_extended + ]; meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; }; diffable = janePackage { pname = "diffable"; hash = "sha256-ascQUbxzvRR8XrroaupyFZ2YNQMvlXn4PemumYTwRF4="; - propagatedBuildInputs = [ core ppx_jane stored_reversed streamable ]; + propagatedBuildInputs = [ + core + ppx_jane + stored_reversed + streamable + ]; meta.description = "An interface for diffs"; }; @@ -357,35 +495,56 @@ with self; pname = "ecaml"; hash = "sha256-VS7eTTD85ci3mJIXd2pG1Y/ygT9dCIvfzU2HtOufW6U="; meta.description = "Library for writing Emacs plugin in OCaml"; - propagatedBuildInputs = [ async expect_test_helpers_core ]; + propagatedBuildInputs = [ + async + expect_test_helpers_core + ]; }; email_message = janePackage { pname = "email_message"; hash = "sha256-eso68owbAspjaVgj/wGFQ7VQYlAwyYV3oNitLQWiRPA="; meta.description = "E-mail message parser"; - propagatedBuildInputs = [ angstrom async base64 cryptokit magic-mime re2 ]; + propagatedBuildInputs = [ + angstrom + async + base64 + cryptokit + magic-mime + re2 + ]; }; env_config = janePackage { pname = "env_config"; hash = "sha256-CvvpKI7F40DVC7iByrzCqW1ilPiIhdDPYaJrDoUZVSs="; meta.description = "Helper library for retrieving configuration from an environment variable"; - propagatedBuildInputs = [ async core core_unix ppx_jane ]; + propagatedBuildInputs = [ + async + core + core_unix + ppx_jane + ]; }; expect_test_helpers_async = janePackage { pname = "expect_test_helpers_async"; hash = "sha256-dEvOMb1aCEt05XtkKIC9jWoIQ/2zM0Gj+K/ZN3bFjeI="; meta.description = "Async helpers for writing expectation tests"; - propagatedBuildInputs = [ async expect_test_helpers_core ]; + propagatedBuildInputs = [ + async + expect_test_helpers_core + ]; }; expect_test_helpers_core = janePackage { pname = "expect_test_helpers_core"; hash = "sha256-8DsMwk9WhQQ7iMNYSFBglfbcgvE5dySt4J4qjzJ3dJk="; meta.description = "Helpers for writing expectation tests"; - propagatedBuildInputs = [ core_kernel sexp_pretty ]; + propagatedBuildInputs = [ + core_kernel + sexp_pretty + ]; }; fieldslib = janePackage { @@ -398,8 +557,7 @@ with self; file_path = janePackage { pname = "file_path"; hash = "sha256-EEpDZNgUgyeqivRhZgQWWlerl+7OOcvAbjjQ3e1NYOQ="; - meta.description = - "A library for typed manipulation of UNIX-style file paths"; + meta.description = "A library for typed manipulation of UNIX-style file paths"; propagatedBuildInputs = [ async core @@ -415,14 +573,21 @@ with self; pname = "fuzzy_match"; hash = "sha256-M3yOqP0/OZFbqZZpgDdhJ/FZU3MhKwIXbWjwuMlxe2Q="; meta.description = "A library for fuzzy string matching"; - propagatedBuildInputs = [ core ppx_jane ]; + propagatedBuildInputs = [ + core + ppx_jane + ]; }; fzf = janePackage { pname = "fzf"; hash = "sha256-IQ2wze34LlOutecDOrPhj3U7MFVJTSjQW+If3QyHoes="; meta.description = "A library for running the fzf command line tool"; - propagatedBuildInputs = [ async core_kernel ppx_jane ]; + propagatedBuildInputs = [ + async + core_kernel + ppx_jane + ]; postPatch = '' substituteInPlace src/fzf.ml --replace /usr/bin/fzf ${fzf}/bin/fzf ''; @@ -432,14 +597,21 @@ with self; pname = "hex_encode"; hash = "sha256-jnsf5T1D1++AUdrato/NO3gTVXu14klXozHFIG9HH/o="; meta.description = "Hexadecimal encoding library"; - propagatedBuildInputs = [ core ppx_jane ounit ]; + propagatedBuildInputs = [ + core + ppx_jane + ounit + ]; }; higher_kinded = janePackage { pname = "higher_kinded"; hash = "sha256-aCpYc7f4mrPsGp038YabEyw72cA6GbCKsok+5Hej5P0="; meta.description = "A library with an encoding of higher kinded types in OCaml"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; incr_dom = janePackage { @@ -447,7 +619,12 @@ with self; hash = "sha256-fnD/YnaGK6MIy/fL6bDwcoGDJhHo2+1l8dCXxwN28kg="; meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ]; + propagatedBuildInputs = [ + async_js + incr_map + incr_select + virtual_dom + ]; }; incr_map = janePackage { @@ -455,7 +632,13 @@ with self; hash = "sha256-D3ZD0C4YfZOfXw+3CtqL8DKcz+b06UL8AF7Rf9x+hps="; meta.description = "Helpers for incremental operations on map like data structures"; buildInputs = [ ppx_pattern_bind ]; - propagatedBuildInputs = [ abstract_algebra bignum diffable incremental streamable ]; + propagatedBuildInputs = [ + abstract_algebra + bignum + diffable + incremental + streamable + ]; }; incr_select = janePackage { @@ -469,34 +652,61 @@ with self; pname = "incremental"; hash = "sha256-PXGY0M2xeVWDLeS3SrqXy1dqsyeKgndGT6NpuiyNQQQ="; meta.description = "Library for incremental computations"; - propagatedBuildInputs = [ core_kernel lru_cache ]; + propagatedBuildInputs = [ + core_kernel + lru_cache + ]; }; indentation_buffer = janePackage { pname = "indentation_buffer"; hash = "sha256-5ayWs7yUnuxh5S3Dp0GbYTkGXttDMomfZak4MHePFbk="; meta.description = "A library for building strings with indentation"; - propagatedBuildInputs = [ core ppx_jane ]; + propagatedBuildInputs = [ + core + ppx_jane + ]; }; int_repr = janePackage { pname = "int_repr"; hash = "sha256-lghu2U1JwZaR4dkd9PcJEW3pZSPoaFhUluIDwFAYFK0="; meta.description = "Integers of various widths"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; janestreet_cpuid = janePackage { pname = "janestreet_cpuid"; hash = "sha256-lN8+8uhcVn3AoApWzqeCe/It1G6f0VgZzFcwFEckejk="; meta.description = "A library for parsing CPU capabilities out of the `cpuid` instruction"; - propagatedBuildInputs = [ core core_kernel ppx_jane ]; + propagatedBuildInputs = [ + core + core_kernel + ppx_jane + ]; }; janestreet_csv = janePackage { pname = "janestreet_csv"; hash = "sha256-XLyHxVlgBvMIBrG2wzOudbKqy+N12Boheb3K+6o9y1o="; - propagatedBuildInputs = [ async bignum core_kernel core_unix csvfields delimited_parsing fieldslib numeric_string ppx_jane re2 textutils tyxml ocaml_pcre ]; + propagatedBuildInputs = [ + async + bignum + core_kernel + core_unix + csvfields + delimited_parsing + fieldslib + numeric_string + ppx_jane + re2 + textutils + tyxml + ocaml_pcre + ]; meta.description = "Tools for working with CSVs on the command line"; }; @@ -504,7 +714,10 @@ with self; pname = "jane_rope"; hash = "sha256-MpjbwV+VS3qRuW8kxhjGzsITEdrPeWyr0V+LiKR6U8U="; meta.description = "String representation with cheap concatenation"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; jane-street-headers = janePackage { @@ -517,74 +730,129 @@ with self; pname = "js_of_ocaml_patches"; hash = "sha256-Uj+X/0XUP5Za8NKfHGo9OZnqzKCiuurYJyluD6b0wOQ="; meta.description = "Additions to js_of_ocaml's standard library that are required by Jane Street libraries"; - propagatedBuildInputs = [ js_of_ocaml js_of_ocaml-ppx ]; + propagatedBuildInputs = [ + js_of_ocaml + js_of_ocaml-ppx + ]; }; jsonaf = janePackage { pname = "jsonaf"; hash = "sha256-Gn54NUg4YOyrXY5kXCZhHFz24CfUT9c55cJ2sOsNVw8="; meta.description = "A library for parsing, manipulating, and serializing data structured as JSON"; - propagatedBuildInputs = [ base ppx_jane angstrom faraday ]; + propagatedBuildInputs = [ + base + ppx_jane + angstrom + faraday + ]; }; jst-config = janePackage { pname = "jst-config"; hash = "sha256-GviY+zYza7UNYOlAnfAz0aH4LH2B5xA+7iELLuZLgQQ="; meta.description = "Compile-time configuration for Jane Street libraries"; - buildInputs = [ dune-configurator ppx_assert stdio ]; + buildInputs = [ + dune-configurator + ppx_assert + stdio + ]; }; krb = janePackage { pname = "krb"; hash = "sha256-+XwYKwpl668fZ23YEbL1wW9PlaIIjbP/hHwNanf3dAY="; meta.description = "A library for using Kerberos for both Rpc and Tcp communication"; - propagatedBuildInputs = [ async base core env_config hex_encode ppx_jane protocol_version_header username_kernel dune-configurator krb5 ]; + propagatedBuildInputs = [ + async + base + core + env_config + hex_encode + ppx_jane + protocol_version_header + username_kernel + dune-configurator + krb5 + ]; }; lru_cache = janePackage { pname = "lru_cache"; hash = "sha256-FqOBC4kBL9IuFIL4JrVU7iF1AUu+1R/CchR52eyEsa8="; meta.description = "An LRU Cache implementation"; - propagatedBuildInputs = [ core_kernel ppx_jane ]; + propagatedBuildInputs = [ + core_kernel + ppx_jane + ]; }; man_in_the_middle_debugger = janePackage { pname = "man_in_the_middle_debugger"; hash = "sha256-b2A/ITf9gx3thSdEY2n7jxKrMOVDpzx4JkSMB3aTyE4="; meta.description = "Man-in-the-middle debugging library"; - propagatedBuildInputs = [ async core ppx_jane angstrom angstrom-async ]; + propagatedBuildInputs = [ + async + core + ppx_jane + angstrom + angstrom-async + ]; }; n_ary = janePackage { pname = "n_ary"; hash = "sha256-ofstQs5R25NTP4EtBIzDE/Mzg9ZzAJKfAF838uu0zuE="; meta.description = "A library for N-ary datatypes and operations"; - propagatedBuildInputs = [ base expect_test_helpers_core ppx_compare ppx_enumerate ppx_hash ppx_jane ppx_sexp_conv ppx_sexp_message ]; + propagatedBuildInputs = [ + base + expect_test_helpers_core + ppx_compare + ppx_enumerate + ppx_hash + ppx_jane + ppx_sexp_conv + ppx_sexp_message + ]; }; numeric_string = janePackage { pname = "numeric_string"; hash = "sha256-MzRPXMR4Pi07mfJQgOV6R1Z22y2tvQTCq22+00aY1ik="; meta.description = "A comparison function for strings that sorts numeric fragments of strings according to their numeric value"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; - ocaml-compiler-libs = janePackage ({ - pname = "ocaml-compiler-libs"; - minimalOCamlVersion = "4.04.1"; - meta.description = "OCaml compiler libraries repackaged"; - } // (if lib.versionAtLeast ocaml.version "5.2" then { - version = "0.17.0"; - hash = "sha256-QaC6BWrpFblra6X1+TrlK+J3vZxLvLJZ2b0427DiQzM="; - } else { - version = "0.12.4"; - hash = "00if2f7j9d8igdkj4rck3p74y17j6b233l91mq02drzrxj199qjv"; - })); + ocaml-compiler-libs = janePackage ( + { + pname = "ocaml-compiler-libs"; + minimalOCamlVersion = "4.04.1"; + meta.description = "OCaml compiler libraries repackaged"; + } + // ( + if lib.versionAtLeast ocaml.version "5.2" then + { + version = "0.17.0"; + hash = "sha256-QaC6BWrpFblra6X1+TrlK+J3vZxLvLJZ2b0427DiQzM="; + } + else + { + version = "0.12.4"; + hash = "00if2f7j9d8igdkj4rck3p74y17j6b233l91mq02drzrxj199qjv"; + } + ) + ); ocaml-embed-file = janePackage { pname = "ocaml-embed-file"; hash = "sha256-rs+68VATumUgZQ9QrG+By5yNc8cy7avL0BDeqwix0co="; - propagatedBuildInputs = [ async ppx_jane ]; + propagatedBuildInputs = [ + async + ppx_jane + ]; meta.description = "Files contents as module constants"; }; @@ -600,21 +868,32 @@ with self; pname = "of_json"; hash = "sha256-qh9mX03Fk9Jb8yox7mZ/CGbWecszK15oaygKbJVDqa0="; meta.description = "A friendly applicative interface for Jsonaf"; - buildInputs = [ core core_extended jsonaf ppx_jane ]; + buildInputs = [ + core + core_extended + jsonaf + ppx_jane + ]; }; ordinal_abbreviation = janePackage { pname = "ordinal_abbreviation"; hash = "sha256-bGlzFcM6Yw8fcuovrv11WNtAB4mVYv4BjuMlkhsHomQ="; meta.description = "A minimal library for generating ordinal names of integers"; - buildInputs = [ base ppx_jane ]; + buildInputs = [ + base + ppx_jane + ]; }; parsexp = janePackage { pname = "parsexp"; hash = "sha256-oc2ASDtUyRBB68tjAoblryAcXF+u3XP1mkQPO5hNbKo="; meta.description = "S-expression parsing library"; - propagatedBuildInputs = [ base sexplib0 ]; + propagatedBuildInputs = [ + base + sexplib0 + ]; }; patdiff = janePackage { @@ -624,7 +903,11 @@ with self; # Used by patdiff-git-wrapper. Providing it here also causes the shebang # line to be automatically patched. buildInputs = [ bash ]; - propagatedBuildInputs = [ core_unix patience_diff ocaml_pcre ]; + propagatedBuildInputs = [ + core_unix + patience_diff + ocaml_pcre + ]; meta = { description = "File Diff using the Patience Diff algorithm"; }; @@ -641,13 +924,23 @@ with self; pname = "polling_state_rpc"; hash = "sha256-l7SMFI+U2rde2OSUNOXPb9NBsvjPrBcxStNooxMgVB8="; meta.description = "An RPC which tracks state on the client and server so it only needs to send diffs across the wire"; - propagatedBuildInputs = [ async_kernel async_rpc_kernel core core_kernel diffable ppx_jane ]; + propagatedBuildInputs = [ + async_kernel + async_rpc_kernel + core + core_kernel + diffable + ppx_jane + ]; }; posixat = janePackage { pname = "posixat"; hash = "sha256-Nhp5jiK/TTwQXY5Bm4TTeH+xDTdXtvkSq5CS/Sr1UgA="; - propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_optcomp + ppx_sexp_conv + ]; meta.description = "Binding to the posix *at functions"; }; @@ -663,14 +956,24 @@ with self; pname = "ppx_assert"; hash = "sha256-LrpKE0BlFC3QseSXf5WhI71blshUzhH8yo2nXjAtiB8="; meta.description = "Assert-like extension nodes that raise useful errors on failure"; - propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_cold + ppx_compare + ppx_here + ppx_sexp_conv + ]; }; ppx_base = janePackage { pname = "ppx_base"; hash = "sha256-Ak+7+33qEGYwZWbES032SdkFOsae0+tWtR/DV+xrB10="; meta.description = "Base set of ppx rewriters"; - propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_globalize ppx_hash ]; + propagatedBuildInputs = [ + ppx_cold + ppx_enumerate + ppx_globalize + ppx_hash + ]; }; ppx_bench = janePackage { @@ -684,7 +987,10 @@ with self; pname = "ppx_bin_prot"; hash = "sha256-ktfa4umCnLd9oY2WWX/5R7vPB/g7DJX8x3nF9fYLNCQ="; meta.description = "Generation of bin_prot readers and writers from types"; - propagatedBuildInputs = [ bin_prot ppx_here ]; + propagatedBuildInputs = [ + bin_prot + ppx_here + ]; doCheck = false; # circular dependency with ppx_jane }; @@ -699,14 +1005,20 @@ with self; pname = "ppx_compare"; hash = "sha256-4bZdhyfnzTjH4E303O6GO2jW968ftuXwoE4/x854JOo="; meta.description = "Generation of comparison functions from types"; - propagatedBuildInputs = [ ppxlib base ]; + propagatedBuildInputs = [ + ppxlib + base + ]; }; ppx_conv_func = janePackage { pname = "ppx_conv_func"; hash = "sha256-HPHSZHdR9ll+7EbWc36shTdRPFYB0lkApidk+XL3clI="; meta.description = "Part of the Jane Street's PPX rewriters collection"; - propagatedBuildInputs = [ ppxlib base ]; + propagatedBuildInputs = [ + ppxlib + base + ]; }; ppx_custom_printf = janePackage { @@ -720,28 +1032,51 @@ with self; pname = "ppx_css"; hash = "sha256-spT/dJW8YJtG4pOku9r6VVlBAMwGakTrr1euiABeqsU="; meta.description = "A ppx that takes in css strings and produces a module for accessing the unique names defined within"; - propagatedBuildInputs = [ async async_unix core_kernel core_unix ppxlib js_of_ocaml js_of_ocaml-ppx sedlex virtual_dom ]; + propagatedBuildInputs = [ + async + async_unix + core_kernel + core_unix + ppxlib + js_of_ocaml + js_of_ocaml-ppx + sedlex + virtual_dom + ]; }; ppx_csv_conv = janePackage { pname = "ppx_csv_conv"; hash = "sha256-RdPcDPLzoSf45Zeon3f4HcEvlwB6Q6sAINX3LHmjmj8="; meta.description = "Generate functions to read/write records in csv format"; - propagatedBuildInputs = [ csvfields ppx_conv_func ]; + propagatedBuildInputs = [ + csvfields + ppx_conv_func + ]; }; ppx_demo = janePackage { pname = "ppx_demo"; hash = "sha256-t/jz94YpwmorhWlcuflIZe0l85cESE62L9I7NMASVWM="; meta.description = "PPX that exposes the source code string of an expression/module structure"; - propagatedBuildInputs = [ core dedent ppx_jane ppxlib ]; + propagatedBuildInputs = [ + core + dedent + ppx_jane + ppxlib + ]; }; ppx_derive_at_runtime = janePackage { pname = "ppx_derive_at_runtime"; hash = "sha256-UESWOkyWTHJlsE6KZkty9P+iHI3oY1rLve3raRAqMbk="; meta.description = "Define a new ppx deriver by naming a runtime module"; - propagatedBuildInputs = [ base expect_test_helpers_core ppx_jane ppxlib ]; + propagatedBuildInputs = [ + base + expect_test_helpers_core + ppx_jane + ppxlib + ]; }; ppx_disable_unused_warnings = janePackage { @@ -762,7 +1097,11 @@ with self; pname = "ppx_expect"; hash = "sha256-H5ybRHufycdyCxKu370+QZAMUPQsHVD+6nD93tzvLn8="; meta.description = "Cram like framework for OCaml"; - propagatedBuildInputs = [ ppx_here ppx_inline_test re ]; + propagatedBuildInputs = [ + ppx_here + ppx_inline_test + re + ]; doCheck = false; # test build rules broken }; @@ -770,7 +1109,10 @@ with self; pname = "ppx_fields_conv"; hash = "sha256-kl0JZocMWo2KNciCWkT4nIbJZbh56ijZmlZWbxV8Qj0="; meta.description = "Generation of accessor and iteration functions for ocaml records"; - propagatedBuildInputs = [ fieldslib ppxlib ]; + propagatedBuildInputs = [ + fieldslib + ppxlib + ]; }; ppx_fixed_literal = janePackage { @@ -784,14 +1126,20 @@ with self; pname = "ppx_globalize"; hash = "sha256-SG7710YPwWmhRVl7wN3ZQz3ZMTw3cpoywVSeVQAI3Zc="; meta.description = "A ppx rewriter that generates functions to copy local values to the global heap"; - propagatedBuildInputs = [ base ppxlib ]; + propagatedBuildInputs = [ + base + ppxlib + ]; }; ppx_hash = janePackage { pname = "ppx_hash"; hash = "sha256-ZmdW+q7fak8iG42jRQgZ6chmjHHwrDSy9wg7pq/6zwk="; meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; - propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_compare + ppx_sexp_conv + ]; }; ppx_here = janePackage { @@ -813,7 +1161,10 @@ with self; pname = "ppx_inline_test"; hash = "sha256-Ql0/80KitKvW3xffeCapYREmZvlg+QWCb2JM2T4Rjlc="; meta.description = "Syntax extension for writing in-line tests in ocaml code"; - propagatedBuildInputs = [ ppxlib time_now ]; + propagatedBuildInputs = [ + ppxlib + time_now + ]; doCheck = false; # test build rules broken }; @@ -821,36 +1172,69 @@ with self; pname = "ppx_jane"; hash = "sha256-v+/wdEGaXdMWDBa0eJO0uR18G/pDwHjsjaskoEuLusA="; meta.description = "Standard Jane Street ppx rewriters"; - propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_disable_unused_warnings ppx_expect ppx_fixed_literal ppx_ignore_instrumentation ppx_log ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_tydi ppx_typerep_conv ppx_variants_conv ]; + propagatedBuildInputs = [ + base_quickcheck + ppx_bin_prot + ppx_disable_unused_warnings + ppx_expect + ppx_fixed_literal + ppx_ignore_instrumentation + ppx_log + ppx_module_timer + ppx_optcomp + ppx_optional + ppx_pipebang + ppx_stable + ppx_string + ppx_tydi + ppx_typerep_conv + ppx_variants_conv + ]; }; ppx_jsonaf_conv = janePackage { pname = "ppx_jsonaf_conv"; hash = "sha256-GWDhSLtr2+VG3XFIbHgWUcLJFniC7/z90ndiE919CBo="; - meta.description = - "[@@deriving] plugin to generate Jsonaf conversion functions"; - propagatedBuildInputs = [ base jsonaf ppx_jane ppxlib ]; + meta.description = "[@@deriving] plugin to generate Jsonaf conversion functions"; + propagatedBuildInputs = [ + base + jsonaf + ppx_jane + ppxlib + ]; }; ppx_js_style = janePackage { pname = "ppx_js_style"; hash = "sha256-q5CLyeu+5qjegLrJkQVMnId3HMvZ8j3c0PqEa2vTBtU="; meta.description = "Code style checker for Jane Street Packages"; - propagatedBuildInputs = [ octavius ppxlib ]; + propagatedBuildInputs = [ + octavius + ppxlib + ]; }; ppx_let = janePackage { pname = "ppx_let"; hash = "sha256-/kEkYXFZ5OyTM4i/WWViaxKvigpoKKoiWtUWuEMkgBE="; meta.description = "Monadic let-bindings"; - propagatedBuildInputs = [ ppxlib ppx_here ]; + propagatedBuildInputs = [ + ppxlib + ppx_here + ]; }; ppx_log = janePackage { pname = "ppx_log"; hash = "sha256-/HwoxBWKuVqTDYe4u0cYNGqg2Lj0h49U2VrFa4cpE2g="; meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; - propagatedBuildInputs = [ base ppx_here ppx_sexp_conv ppx_sexp_message sexplib ]; + propagatedBuildInputs = [ + base + ppx_here + ppx_sexp_conv + ppx_sexp_message + sexplib + ]; }; ppx_module_timer = janePackage { @@ -892,28 +1276,42 @@ with self; pname = "ppx_python"; hash = "sha256-lpc6F+Scc5ECdOXPWowKSWRnFSzKbmE8oHs7zCjq3j8="; meta.description = "A [@@deriving] plugin to generate Python conversion functions "; - propagatedBuildInputs = [ ppx_base ppxlib pyml ]; + propagatedBuildInputs = [ + ppx_base + ppxlib + pyml + ]; }; ppx_sexp_conv = janePackage { pname = "ppx_sexp_conv"; hash = "sha256-eCQfYAxZZmfNTbPrFW0sqrj63kIdIQ1MAlImCaMop68="; meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; - propagatedBuildInputs = [ ppxlib sexplib0 base ]; + propagatedBuildInputs = [ + ppxlib + sexplib0 + base + ]; }; ppx_sexp_message = janePackage { pname = "ppx_sexp_message"; hash = "sha256-4g3Fjrjqhw+XNkCyxrXkgZDEa3e+ytPsEtQA2xSv+jA="; meta.description = "A ppx rewriter for easy construction of s-expressions"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; ppx_sexp_value = janePackage { pname = "ppx_sexp_value"; hash = "sha256-LsP+deeFYxB38xXw7LLB3gOMGZiUOFRYklGVY7DMmvE="; meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; - propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + propagatedBuildInputs = [ + ppx_here + ppx_sexp_conv + ]; }; ppx_stable = janePackage { @@ -927,42 +1325,62 @@ with self; pname = "ppx_stable_witness"; hash = "sha256-W1CN4xspM8NJiXfi7OsngfzWnLEUmBs+IRLwHfxX9d4="; meta.description = "Ppx extension for deriving a witness that a type is intended to be stable"; - propagatedBuildInputs = [ base ppxlib ]; + propagatedBuildInputs = [ + base + ppxlib + ]; }; ppx_string = janePackage { pname = "ppx_string"; hash = "sha256-GQlgiaES8wc6Y7rTgmPrf9UfMfu125VoNGEbdc7kFsk="; meta.description = "Ppx extension for string interpolation"; - propagatedBuildInputs = [ ppx_base ppxlib stdio ]; + propagatedBuildInputs = [ + ppx_base + ppxlib + stdio + ]; }; ppx_tydi = janePackage { pname = "ppx_tydi"; hash = "sha256-neu2Z7TgQdBzf8UtYDRhnGp3Iggfd90Fr+gQuwVTMOo="; meta.description = "Let expressions, inferring pattern type from expression"; - propagatedBuildInputs = [ base ppxlib ]; + propagatedBuildInputs = [ + base + ppxlib + ]; }; ppx_typed_fields = janePackage { pname = "ppx_typed_fields"; hash = "sha256-l4lCQ4n5FLPS82sb3FgW+HF2OEY/kY10sNfr+aQF8x8="; meta.description = "GADT-based field accessors and utilities"; - propagatedBuildInputs = [ core ppx_jane ppxlib ]; + propagatedBuildInputs = [ + core + ppx_jane + ppxlib + ]; }; ppx_typerep_conv = janePackage { pname = "ppx_typerep_conv"; hash = "sha256-DxjgwZee0jOea7qyPfEhRrdcKWQb2jtjrowiJszS+Fs="; meta.description = "Generation of runtime types from type declarations"; - propagatedBuildInputs = [ ppxlib typerep ]; + propagatedBuildInputs = [ + ppxlib + typerep + ]; }; ppx_variants_conv = janePackage { pname = "ppx_variants_conv"; hash = "sha256-Q/CCcMrD+XN5YRMzKvXuiQHfcwXwI773s8x150/eMzs="; meta.description = "Generation of accessor and iteration functions for ocaml variant types"; - propagatedBuildInputs = [ variantslib ppxlib ]; + propagatedBuildInputs = [ + variantslib + ppxlib + ]; }; pythonlib = janePackage { @@ -970,7 +1388,20 @@ with self; version = "0.16"; hash = "sha256-HrsdtwPSDSaMB9CDIR9P5iaAmLihUrReuNAPIYa+s3Y="; meta.description = "A library to help writing wrappers around ocaml code for python"; - propagatedBuildInputs = [ base core expect_test_helpers_core ppx_compare ppx_expect ppx_here ppx_let ppx_python ppx_string stdio typerep pyml ]; + propagatedBuildInputs = [ + base + core + expect_test_helpers_core + ppx_compare + ppx_expect + ppx_here + ppx_let + ppx_python + ppx_string + stdio + typerep + pyml + ]; meta.broken = lib.versionAtLeast ocaml.version "4.14"; }; @@ -978,7 +1409,11 @@ with self; pname = "profunctor"; hash = "sha256-CFHMtCuBnrlr+B2cdJm2Tamt0A/e+f3SnjEavvE31xQ="; meta.description = "A library providing a signature for simple profunctors and traversal of a record"; - propagatedBuildInputs = [ base ppx_jane record_builder ]; + propagatedBuildInputs = [ + base + ppx_jane + record_builder + ]; }; protocol_version_header = janePackage { @@ -992,7 +1427,11 @@ with self; pname = "re2"; hash = "sha256-ZRJ7ooXtatEEh0sPL8M9OZ+6s7xNdTuw0Ot6txiG16I="; meta.description = "OCaml bindings for RE2, Google's regular expression library"; - propagatedBuildInputs = [ core_kernel jane_rope regex_parser_intf ]; + propagatedBuildInputs = [ + core_kernel + jane_rope + regex_parser_intf + ]; prePatch = '' substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++' substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))' @@ -1004,21 +1443,33 @@ with self; version = "0.14.0"; hash = "sha256-gyet2Pzn7ZIqQ+UP2J51pRmwaESY2LSGTqCMZZwDTE4="; meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; - propagatedBuildInputs = [ core re2 ]; + propagatedBuildInputs = [ + core + re2 + ]; }; record_builder = janePackage { pname = "record_builder"; hash = "sha256-46zGgN9RlDjoSbi8RimuQVrMhy65Gpic0YPZpHOeoo0="; meta.description = "A library which provides traversal of records with an applicative"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; redis-async = janePackage { pname = "redis-async"; hash = "sha256-5msIS2m8nkaprR8NEBfKFWZBWaDJiUtjHbfPelg9/os="; meta.description = "Redis client for Async applications"; - propagatedBuildInputs = [ async bignum core core_kernel ppx_jane ]; + propagatedBuildInputs = [ + async + bignum + core + core_kernel + ppx_jane + ]; }; regex_parser_intf = janePackage { @@ -1039,7 +1490,11 @@ with self; pname = "semantic_version"; hash = "sha256-KJanaDUW56ndvnTlnPeQgh0C7zsRqXJ328gcEiVDrmc="; meta.description = "Semantic versioning"; - propagatedBuildInputs = [ core ppx_jane re ]; + propagatedBuildInputs = [ + core + ppx_jane + re + ]; }; sexp = janePackage { @@ -1063,7 +1518,16 @@ with self; sexp_grammar = janePackage { pname = "sexp_grammar"; hash = "sha256-Y/abRingL4+3qvaKgW9jH46E9uq7jYE2+kgr8ERKqfI="; - propagatedBuildInputs = [ core ppx_bin_prot ppx_compare ppx_hash ppx_let ppx_sexp_conv ppx_sexp_message zarith ]; + propagatedBuildInputs = [ + core + ppx_bin_prot + ppx_compare + ppx_hash + ppx_let + ppx_sexp_conv + ppx_sexp_message + zarith + ]; meta.description = "Helpers for manipulating [Sexplib.Sexp_grammar] values"; }; @@ -1077,7 +1541,10 @@ with self; sexp_macro = janePackage { pname = "sexp_macro"; hash = "sha256-x9WsFFrV7wUqgPUw8KkfyzOxLrS5h5++OSK8QljeQqg="; - propagatedBuildInputs = [ async sexplib ]; + propagatedBuildInputs = [ + async + sexplib + ]; meta.description = "Sexp macros"; }; @@ -1085,13 +1552,20 @@ with self; pname = "sexp_pretty"; hash = "sha256-tcWdYZ717LkGowRSRoEcUNY7VCMX64uhCaY3bXhWxKM="; meta.description = "S-expression pretty-printer"; - propagatedBuildInputs = [ ppx_base re sexplib ]; + propagatedBuildInputs = [ + ppx_base + re + sexplib + ]; }; sexp_select = janePackage { pname = "sexp_select"; hash = "sha256-HEzZowojeK9yDOoTY/l01fYLUdolzQGlMO9u3phV8so="; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; meta.description = "A library to use CSS-style selectors to traverse sexp trees"; }; @@ -1106,7 +1580,10 @@ with self; pname = "sexplib"; hash = "sha256-6MwggpjHo4FmKF88fP56LN9OHi2uIJc13TvKx4T7gEI="; meta.description = "Library for serializing OCaml values to and from S-expressions"; - propagatedBuildInputs = [ num parsexp ]; + propagatedBuildInputs = [ + num + parsexp + ]; }; shell = janePackage { @@ -1121,7 +1598,10 @@ with self; shexp = janePackage { pname = "shexp"; hash = "sha256-npIcrxMOcIgsecdUEx5XHYp0KVrXiMzMLi8jskAp4vo="; - propagatedBuildInputs = [ posixat spawn ]; + propagatedBuildInputs = [ + posixat + spawn + ]; meta.description = "Process library and s-expression based shell"; }; @@ -1145,7 +1625,12 @@ with self; pname = "splittable_random"; hash = "sha256-wMmLuzhKmnS2iTYVTPUx5Rv2LhL/ygmWmb9t2pUjz+E="; meta.description = "PRNG that can be split into independent streams"; - propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ]; + propagatedBuildInputs = [ + base + ppx_assert + ppx_bench + ppx_sexp_message + ]; }; stdio = janePackage { @@ -1159,7 +1644,10 @@ with self; pname = "stored_reversed"; hash = "sha256-ef11f0qifEvxKChM49Hnfk6J6hL+b0tMlm0iDLd5Y0Q="; meta.description = "A library for representing a list temporarily stored in reverse order"; - propagatedBuildInputs = [ core ppx_jane ]; + propagatedBuildInputs = [ + core + ppx_jane + ]; }; streamable = janePackage { @@ -1167,36 +1655,61 @@ with self; pname = "streamable"; hash = "sha256-3djrUW2tPKaEmoOIpdjN6ok7U9i07yreqbi1kP+6pnY="; meta.description = "A collection of types suitable for incremental serialization"; - propagatedBuildInputs = [ async_kernel async_rpc_kernel base core core_kernel ppx_jane ppxlib ]; + propagatedBuildInputs = [ + async_kernel + async_rpc_kernel + base + core + core_kernel + ppx_jane + ppxlib + ]; }; textutils = janePackage { pname = "textutils"; hash = "sha256-2qy99MUMpkuNCvCYlk36k4kN6cPjrEILbwEUv4DyNYw="; meta.description = "Text output utilities"; - propagatedBuildInputs = [ core_unix textutils_kernel ]; + propagatedBuildInputs = [ + core_unix + textutils_kernel + ]; }; textutils_kernel = janePackage { pname = "textutils_kernel"; hash = "sha256-DiXemANj5ONmvMzp+tly3AJud5u9i7HdaHmn8aVQS48="; meta.description = "Text output utilities"; - propagatedBuildInputs = [ core ppx_jane uutf ]; + propagatedBuildInputs = [ + core + ppx_jane + uutf + ]; }; tilde_f = janePackage { pname = "tilde_f"; hash = "sha256-qLjM9liJfMIh2fqRPBdnmtUf4xhzk2MY8dFNdON3Aew="; meta.description = "Provides a let-syntax for continuation-passing style"; - propagatedBuildInputs = [ base ppx_jane ]; + propagatedBuildInputs = [ + base + ppx_jane + ]; }; time_now = janePackage { pname = "time_now"; hash = "sha256-DjSrx/HgwCYS0Xzm2gFvWUVLD7a1KuFVIyVrJjBi8Tc="; meta.description = "Reports the current time"; - buildInputs = [ jst-config ppx_optcomp ]; - propagatedBuildInputs = [ jane-street-headers base ppx_base ]; + buildInputs = [ + jst-config + ppx_optcomp + ]; + propagatedBuildInputs = [ + jane-street-headers + base + ppx_base + ]; }; timezone = janePackage { @@ -1210,7 +1723,10 @@ with self; pname = "topological_sort"; hash = "sha256-um5++60mR++iHAruKqoQfd4EbQ1kb3L+cPOWhs9sIHI="; meta.description = "Topological sort algorithm"; - propagatedBuildInputs = [ ppx_jane stdio ]; + propagatedBuildInputs = [ + ppx_jane + stdio + ]; }; typerep = janePackage { @@ -1224,7 +1740,10 @@ with self; pname = "username_kernel"; hash = "sha256-UvFL/M9OsD+SOs9MYMKiKzZilLJHzriop6SPA4bOhZQ="; meta.description = "An identifier for a user"; - propagatedBuildInputs = [ core ppx_jane ]; + propagatedBuildInputs = [ + core + ppx_jane + ]; }; variantslib = janePackage { @@ -1238,7 +1757,15 @@ with self; pname = "vcaml"; hash = "sha256-pmEKi24+22T76SzI3RpBmQF7ZrQwlngrpFYLoBdLwe0="; meta.description = "OCaml bindings for the Neovim API"; - propagatedBuildInputs = [ angstrom-async async_extra expect_test_helpers_async faraday jsonaf man_in_the_middle_debugger semantic_version ]; + propagatedBuildInputs = [ + angstrom-async + async_extra + expect_test_helpers_async + faraday + jsonaf + man_in_the_middle_debugger + semantic_version + ]; patches = [ ./vcaml.patch ]; }; @@ -1247,7 +1774,16 @@ with self; hash = "sha256-nXW9cDHQVugriR0+GkayuV4S3HKothQAoNJef02iALM="; meta.description = "OCaml bindings for the virtual-dom library"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ base64 core_kernel gen_js_api js_of_ocaml js_of_ocaml_patches lambdasoup tyxml uri ]; + propagatedBuildInputs = [ + base64 + core_kernel + gen_js_api + js_of_ocaml + js_of_ocaml_patches + lambdasoup + tyxml + uri + ]; }; zarith_stubs_js = janePackage { @@ -1261,7 +1797,11 @@ with self; hash = "sha256-QcYqlOpCAr0owmO6sLDJhki8lUnNvtkaxldKb5I5AF0="; meta.description = "OCaml bindings to Zstandard"; buildInputs = [ ppx_jane ]; - propagatedBuildInputs = [ core_kernel ctypes zstd ]; + propagatedBuildInputs = [ + core_kernel + ctypes + zstd + ]; }; } diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix index bbfd492cb64f8..67435557a36d7 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix @@ -1,21 +1,35 @@ -{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + defaultVersion ? "0.12.0", +}: -{ pname, version ? defaultVersion, duneVersion ? "3", hash, ...}@args: +{ + pname, + version ? defaultVersion, + duneVersion ? "3", + hash, + ... +}@args: -buildDunePackage (args // { - inherit version duneVersion; +buildDunePackage ( + args + // { + inherit version duneVersion; - minimalOCamlVersion = "4.07"; + minimalOCamlVersion = "4.07"; - src = fetchFromGitHub { - owner = "janestreet"; - repo = pname; - rev = "v${version}"; - sha256 = hash; - }; + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = hash; + }; - meta = { - license = lib.licenses.mit; - homepage = "https://github.com/janestreet/${pname}"; - } // args.meta; -}) + meta = { + license = lib.licenses.mit; + homepage = "https://github.com/janestreet/${pname}"; + } // args.meta; + } +) diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix index 59fd0e3e98189..1a7e8c8f6f608 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix @@ -1,30 +1,40 @@ -{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.14.0" }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + defaultVersion ? "0.14.0", +}: -{ pname -, version ? defaultVersion -, hash -, minimalOCamlVersion ? "4.08" -, doCheck ? true -, buildInputs ? [] -, ...}@args: +{ + pname, + version ? defaultVersion, + hash, + minimalOCamlVersion ? "4.08", + doCheck ? true, + buildInputs ? [ ], + ... +}@args: -buildDunePackage (args // { - duneVersion = "3"; - inherit version buildInputs; +buildDunePackage ( + args + // { + duneVersion = "3"; + inherit version buildInputs; - inherit minimalOCamlVersion; + inherit minimalOCamlVersion; - src = fetchFromGitHub { - owner = "janestreet"; - repo = pname; - rev = "v${version}"; - sha256 = hash; - }; + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = hash; + }; - inherit doCheck; + inherit doCheck; - meta = { - license = lib.licenses.mit; - homepage = "https://github.com/janestreet/${pname}"; - } // args.meta; -}) + meta = { + license = lib.licenses.mit; + homepage = "https://github.com/janestreet/${pname}"; + } // args.meta; + } +) diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix index ca590e2f1a729..73812e186bd8f 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix @@ -1,30 +1,40 @@ -{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.15.0" }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + defaultVersion ? "0.15.0", +}: -{ pname -, version ? defaultVersion -, hash -, minimalOCamlVersion ? "4.11" -, doCheck ? true -, buildInputs ? [] -, ...}@args: +{ + pname, + version ? defaultVersion, + hash, + minimalOCamlVersion ? "4.11", + doCheck ? true, + buildInputs ? [ ], + ... +}@args: -buildDunePackage (args // { - duneVersion = "3"; - inherit version buildInputs; +buildDunePackage ( + args + // { + duneVersion = "3"; + inherit version buildInputs; - inherit minimalOCamlVersion; + inherit minimalOCamlVersion; - src = fetchFromGitHub { - owner = "janestreet"; - repo = pname; - rev = "v${version}"; - sha256 = hash; - }; + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = hash; + }; - inherit doCheck; + inherit doCheck; - meta = { - license = lib.licenses.mit; - homepage = "https://github.com/janestreet/${pname}"; - } // args.meta; -}) + meta = { + license = lib.licenses.mit; + homepage = "https://github.com/janestreet/${pname}"; + } // args.meta; + } +) diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix index c1b2ed2a91394..a08ff1e3b9b67 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix @@ -1,30 +1,40 @@ -{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.16.0" }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + defaultVersion ? "0.16.0", +}: -{ pname -, version ? defaultVersion -, hash -, minimalOCamlVersion ? "4.14" -, doCheck ? true -, buildInputs ? [] -, ...}@args: +{ + pname, + version ? defaultVersion, + hash, + minimalOCamlVersion ? "4.14", + doCheck ? true, + buildInputs ? [ ], + ... +}@args: -buildDunePackage (args // { - duneVersion = "3"; - inherit version buildInputs; +buildDunePackage ( + args + // { + duneVersion = "3"; + inherit version buildInputs; - inherit minimalOCamlVersion; + inherit minimalOCamlVersion; - src = fetchFromGitHub { - owner = "janestreet"; - repo = pname; - rev = "v${version}"; - sha256 = hash; - }; + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = hash; + }; - inherit doCheck; + inherit doCheck; - meta = { - license = lib.licenses.mit; - homepage = "https://github.com/janestreet/${pname}"; - } // args.meta; -}) + meta = { + license = lib.licenses.mit; + homepage = "https://github.com/janestreet/${pname}"; + } // args.meta; + } +) diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix index e6685ec0b5589..43a6424f7c045 100644 --- a/pkgs/development/ocaml-modules/javalib/default.nix +++ b/pkgs/development/ocaml-modules/javalib/default.nix @@ -1,47 +1,59 @@ -{ lib -, stdenv -, fetchFromGitHub -, which -, ocaml -, findlib -, camlzip -, extlib +{ + lib, + stdenv, + fetchFromGitHub, + which, + ocaml, + findlib, + camlzip, + extlib, }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "javalib is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-javalib"; - version = "3.2.2"; - - src = fetchFromGitHub { - owner = "javalib-team"; - repo = "javalib"; - rev = version; - hash = "sha256-XaI7GTU/O5UEWuYX4yqaIRmEoH7FuvCg/+gtKbE/P1s="; - }; - - nativeBuildInputs = [ which ocaml findlib ]; - - strictDeps = true; - - patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; - - createFindlibDestdir = true; - - configureScript = "./configure.sh"; - dontAddPrefix = "true"; - dontAddStaticConfigureFlags = true; - configurePlatforms = [ ]; - - propagatedBuildInputs = [ camlzip extlib ]; - - meta = with lib; { - description = "Library that parses Java .class files into OCaml data structures"; - homepage = "https://javalib-team.github.io/javalib/"; - license = licenses.lgpl3; - maintainers = [ maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-javalib"; + version = "3.2.2"; + + src = fetchFromGitHub { + owner = "javalib-team"; + repo = "javalib"; + rev = version; + hash = "sha256-XaI7GTU/O5UEWuYX4yqaIRmEoH7FuvCg/+gtKbE/P1s="; + }; + + nativeBuildInputs = [ + which + ocaml + findlib + ]; + + strictDeps = true; + + patches = [ + ./configure.sh.patch + ./Makefile.config.example.patch + ]; + + createFindlibDestdir = true; + + configureScript = "./configure.sh"; + dontAddPrefix = "true"; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; + + propagatedBuildInputs = [ + camlzip + extlib + ]; + + meta = with lib; { + description = "Library that parses Java .class files into OCaml data structures"; + homepage = "https://javalib-team.github.io/javalib/"; + license = licenses.lgpl3; + maintainers = [ maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/jingoo/default.nix b/pkgs/development/ocaml-modules/jingoo/default.nix index 595a5cbb18a76..41c6e667bea48 100644 --- a/pkgs/development/ocaml-modules/jingoo/default.nix +++ b/pkgs/development/ocaml-modules/jingoo/default.nix @@ -1,5 +1,15 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml -, menhir, ppxlib, ppx_deriving, re, uutf, uucp, ounit2 +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + menhir, + ppxlib, + ppx_deriving, + re, + uutf, + uucp, + ounit2, }: buildDunePackage rec { @@ -16,11 +26,16 @@ buildDunePackage rec { }; nativeBuildInputs = [ menhir ]; - propagatedBuildInputs = [ ppxlib ppx_deriving re uutf uucp ]; + propagatedBuildInputs = [ + ppxlib + ppx_deriving + re + uutf + uucp + ]; checkInputs = [ ounit2 ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; - meta = with lib; { homepage = "https://github.com/tategakibunko/jingoo"; description = "OCaml template engine almost compatible with jinja2"; diff --git a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix index 4430746a7adda..28a6ddb9ae91e 100644 --- a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix +++ b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, json-data-encoding, ocplib-endian, crowbar, alcotest }: +{ + buildDunePackage, + json-data-encoding, + ocplib-endian, + crowbar, + alcotest, +}: buildDunePackage { pname = "json-data-encoding-bson"; diff --git a/pkgs/development/ocaml-modules/json-data-encoding/default.nix b/pkgs/development/ocaml-modules/json-data-encoding/default.nix index 5bb3f7701bba6..3c21d451d81b7 100644 --- a/pkgs/development/ocaml-modules/json-data-encoding/default.nix +++ b/pkgs/development/ocaml-modules/json-data-encoding/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitLab, buildDunePackage, hex, uri }: +{ + lib, + fetchFromGitLab, + buildDunePackage, + hex, + uri, +}: buildDunePackage rec { pname = "json-data-encoding"; diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix index ada427aef8668..dc84d57ea402a 100644 --- a/pkgs/development/ocaml-modules/jsonm/default.nix +++ b/pkgs/development/ocaml-modules/jsonm/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + uutf, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-jsonm"; @@ -9,7 +18,12 @@ stdenv.mkDerivation rec { hash = "sha256-6ikjn+tAUyAd8+Hm0nws4SOIKsRljhyL6plYvhGKe9Y="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; propagatedBuildInputs = [ uutf ]; diff --git a/pkgs/development/ocaml-modules/junit/alcotest.nix b/pkgs/development/ocaml-modules/junit/alcotest.nix index 6bcdbab334980..edec978cbe8e3 100644 --- a/pkgs/development/ocaml-modules/junit/alcotest.nix +++ b/pkgs/development/ocaml-modules/junit/alcotest.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, junit, alcotest }: +{ + buildDunePackage, + junit, + alcotest, +}: buildDunePackage ({ pname = "junit_alcotest"; diff --git a/pkgs/development/ocaml-modules/junit/default.nix b/pkgs/development/ocaml-modules/junit/default.nix index b9ab63ac84c5f..e615c40d9a58b 100644 --- a/pkgs/development/ocaml-modules/junit/default.nix +++ b/pkgs/development/ocaml-modules/junit/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ptime, tyxml }: +{ + lib, + fetchurl, + buildDunePackage, + ptime, + tyxml, +}: buildDunePackage (rec { pname = "junit"; diff --git a/pkgs/development/ocaml-modules/junit/ounit.nix b/pkgs/development/ocaml-modules/junit/ounit.nix index c7d53ecc4f508..2a0c47d01a517 100644 --- a/pkgs/development/ocaml-modules/junit/ounit.nix +++ b/pkgs/development/ocaml-modules/junit/ounit.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, junit, ounit }: +{ + buildDunePackage, + junit, + ounit, +}: buildDunePackage ({ pname = "junit_ounit"; diff --git a/pkgs/development/ocaml-modules/jwto/default.nix b/pkgs/development/ocaml-modules/jwto/default.nix index 745f86dff52b0..6c73b06213ac8 100644 --- a/pkgs/development/ocaml-modules/jwto/default.nix +++ b/pkgs/development/ocaml-modules/jwto/default.nix @@ -1,6 +1,16 @@ -{ lib, buildDunePackage, fetchFromGitHub, alcotest, digestif, fmt, yojson -, ppxlib -, base64, re, ppx_deriving }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + alcotest, + digestif, + fmt, + yojson, + ppxlib, + base64, + re, + ppx_deriving, +}: buildDunePackage rec { pname = "jwto"; @@ -19,8 +29,14 @@ buildDunePackage rec { buildInputs = [ ppxlib ]; - propagatedBuildInputs = - [ digestif fmt yojson base64 re ppx_deriving ]; + propagatedBuildInputs = [ + digestif + fmt + yojson + base64 + re + ppx_deriving + ]; checkInputs = [ alcotest ]; @@ -30,6 +46,9 @@ buildDunePackage rec { homepage = "https://github.com/sporto/jwto"; description = "JSON Web Tokens (JWT) for OCaml"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ Zimmi48 jtcoolen ]; + maintainers = with lib.maintainers; [ + Zimmi48 + jtcoolen + ]; }; } diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix index 28c380a4616d7..383e4db25dae2 100644 --- a/pkgs/development/ocaml-modules/kafka/default.nix +++ b/pkgs/development/ocaml-modules/kafka/default.nix @@ -1,5 +1,10 @@ -{ lib, fetchurl, buildDunePackage -, rdkafka, zlib }: +{ + lib, + fetchurl, + buildDunePackage, + rdkafka, + zlib, +}: buildDunePackage rec { pname = "kafka"; @@ -10,13 +15,15 @@ buildDunePackage rec { sha256 = "0m9212yap0a00hd0f61i4y4fna3141p77qj3mm7jl1h4q60jdhvy"; }; - propagatedBuildInputs = [ rdkafka zlib ]; + propagatedBuildInputs = [ + rdkafka + zlib + ]; meta = with lib; { homepage = "https://github.com/didier-wenzek/ocaml-kafka"; description = "OCaml bindings for Kafka"; - license = licenses.mit; + license = licenses.mit; maintainers = [ maintainers.vbgl ]; }; } - diff --git a/pkgs/development/ocaml-modules/kafka/lwt.nix b/pkgs/development/ocaml-modules/kafka/lwt.nix index da931d6e8bffd..b389de60b34c0 100644 --- a/pkgs/development/ocaml-modules/kafka/lwt.nix +++ b/pkgs/development/ocaml-modules/kafka/lwt.nix @@ -1,24 +1,29 @@ -{ buildDunePackage -, ocaml -, lib -, kafka -, lwt -, cmdliner +{ + buildDunePackage, + ocaml, + lib, + kafka, + lwt, + cmdliner, }: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "kafka_lwt is not available for OCaml ${ocaml.version}" -buildDunePackage rec { - pname = "kafka_lwt"; + buildDunePackage + rec { + pname = "kafka_lwt"; - inherit (kafka) version src; + inherit (kafka) version src; - buildInputs = [ cmdliner ]; + buildInputs = [ cmdliner ]; - propagatedBuildInputs = [ kafka lwt ]; + propagatedBuildInputs = [ + kafka + lwt + ]; - meta = kafka.meta // { - description = "OCaml bindings for Kafka, Lwt bindings"; - }; -} + meta = kafka.meta // { + description = "OCaml bindings for Kafka, Lwt bindings"; + }; + } diff --git a/pkgs/development/ocaml-modules/kcas/default.nix b/pkgs/development/ocaml-modules/kcas/default.nix index 2d840b9a750bb..7f7a12258bafc 100644 --- a/pkgs/development/ocaml-modules/kcas/default.nix +++ b/pkgs/development/ocaml-modules/kcas/default.nix @@ -1,6 +1,10 @@ -{ lib, buildDunePackage, fetchurl -, domain-local-await, domain-local-timeout -, alcotest +{ + lib, + buildDunePackage, + fetchurl, + domain-local-await, + domain-local-timeout, + alcotest, }: buildDunePackage rec { @@ -12,7 +16,10 @@ buildDunePackage rec { hash = "sha256-u3Z8uAvITRUhOcB2EUYjWtpxIFJMvm2O/kyNr/AELWI="; }; - propagatedBuildInputs = [ domain-local-await domain-local-timeout ]; + propagatedBuildInputs = [ + domain-local-await + domain-local-timeout + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/kdf/default.nix b/pkgs/development/ocaml-modules/kdf/default.nix index 8bd7f3bf306f7..cb5c091e3d77d 100644 --- a/pkgs/development/ocaml-modules/kdf/default.nix +++ b/pkgs/development/ocaml-modules/kdf/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildDunePackage -, fetchurl -, digestif -, mirage-crypto -, alcotest -, ohex +{ + lib, + buildDunePackage, + fetchurl, + digestif, + mirage-crypto, + alcotest, + ohex, }: buildDunePackage rec { @@ -16,9 +17,15 @@ buildDunePackage rec { hash = "sha256-0WFYKw7+ZtlY3WuMnCEGjp9kVM4hg3fWz4eCPexi4M4="; }; - propagatedBuildInputs = [ digestif mirage-crypto ]; + propagatedBuildInputs = [ + digestif + mirage-crypto + ]; - checkInputs = [ alcotest ohex ]; + checkInputs = [ + alcotest + ohex + ]; doCheck = true; meta = { diff --git a/pkgs/development/ocaml-modules/ke/default.nix b/pkgs/development/ocaml-modules/ke/default.nix index db5bcd5e80a36..14b984f4b811d 100644 --- a/pkgs/development/ocaml-modules/ke/default.nix +++ b/pkgs/development/ocaml-modules/ke/default.nix @@ -1,5 +1,10 @@ -{ lib, buildDunePackage, fetchurl, fmt -, alcotest, bigstringaf +{ + lib, + buildDunePackage, + fetchurl, + fmt, + alcotest, + bigstringaf, }: buildDunePackage rec { @@ -13,7 +18,10 @@ buildDunePackage rec { propagatedBuildInputs = [ fmt ]; - checkInputs = [ alcotest bigstringaf ]; + checkInputs = [ + alcotest + bigstringaf + ]; doCheck = true; minimalOCamlVersion = "4.08"; diff --git a/pkgs/development/ocaml-modules/kicadsch/default.nix b/pkgs/development/ocaml-modules/kicadsch/default.nix index 69b4aae3eafb7..dde07551e50cb 100644 --- a/pkgs/development/ocaml-modules/kicadsch/default.nix +++ b/pkgs/development/ocaml-modules/kicadsch/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildDunePackage -, fetchurl +{ + lib, + buildDunePackage, + fetchurl, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/kqueue/default.nix b/pkgs/development/ocaml-modules/kqueue/default.nix index 2ea64493f948e..07d4921b704ca 100644 --- a/pkgs/development/ocaml-modules/kqueue/default.nix +++ b/pkgs/development/ocaml-modules/kqueue/default.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, dune-configurator -, lib -, fetchurl -, ppx_expect -, ppx_optcomp +{ + buildDunePackage, + dune-configurator, + lib, + fetchurl, + ppx_expect, + ppx_optcomp, }: buildDunePackage rec { @@ -36,4 +37,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ sixstring982 ]; }; } - diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix index 64ace7c449637..3736fc84a8d4d 100644 --- a/pkgs/development/ocaml-modules/lablgl/default.nix +++ b/pkgs/development/ocaml-modules/lablgl/default.nix @@ -1,58 +1,81 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, libGLU, libglut, camlp-streams } : +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + libGLU, + libglut, + camlp-streams, +}: -if lib.versionOlder ocaml.version "4.06" -then throw "lablgl is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.06" then + throw "lablgl is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-lablgl"; - version = "1.07"; - - src = fetchFromGitHub { - owner = "garrigue"; - repo = "lablgl"; - rev = "v${version}"; - hash = "sha256-GiQKHMn5zHyvDrA2ve12X5YTm3/RZp8tukIqifgVaW4="; - }; - - strictDeps = true; - - nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ libglut camlp-streams ]; - propagatedBuildInputs = [ - libGLU - ]; - - patches = [ ./META.patch ]; - - preConfigure = '' - mkdir -p $out/bin - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs - cp \ - Makefile.config.${if stdenv.hostPlatform.isDarwin then "osx" else "ex"} \ - Makefile.config - ''; - - makeFlags = [ - "BINDIR=${placeholder "out"}/bin/" - "INSTALLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/lablgl/" - "DLLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/stublibs/" - "XINCLUDES=" - "TKINCLUDES=" - "TKLIBS=" - ]; - - buildFlags = [ "lib" "libopt" "glut" "glutopt" ]; - - postInstall = '' - cp ./META $out/lib/ocaml/${ocaml.version}/site-lib/lablgl - ''; - - meta = with lib; { - description = "OpenGL bindings for ocaml"; - homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html"; - license = licenses.gpl2; - maintainers = with maintainers; [ pSub vbgl ]; - mainProgram = "lablglut"; - }; -} + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-lablgl"; + version = "1.07"; + + src = fetchFromGitHub { + owner = "garrigue"; + repo = "lablgl"; + rev = "v${version}"; + hash = "sha256-GiQKHMn5zHyvDrA2ve12X5YTm3/RZp8tukIqifgVaW4="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ + libglut + camlp-streams + ]; + propagatedBuildInputs = [ + libGLU + ]; + + patches = [ ./META.patch ]; + + preConfigure = '' + mkdir -p $out/bin + mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs + cp \ + Makefile.config.${if stdenv.hostPlatform.isDarwin then "osx" else "ex"} \ + Makefile.config + ''; + + makeFlags = [ + "BINDIR=${placeholder "out"}/bin/" + "INSTALLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/lablgl/" + "DLLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/stublibs/" + "XINCLUDES=" + "TKINCLUDES=" + "TKLIBS=" + ]; + + buildFlags = [ + "lib" + "libopt" + "glut" + "glutopt" + ]; + + postInstall = '' + cp ./META $out/lib/ocaml/${ocaml.version}/site-lib/lablgl + ''; + + meta = with lib; { + description = "OpenGL bindings for ocaml"; + homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html"; + license = licenses.gpl2; + maintainers = with maintainers; [ + pSub + vbgl + ]; + mainProgram = "lablglut"; + }; + } diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix index 6b8ee76985c79..9fa04045bbcd1 100644 --- a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix +++ b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, camlp4, config-file, lablgtk, xmlm }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + camlp4, + config-file, + lablgtk, + xmlm, +}: stdenv.mkDerivation rec { pname = "ocaml-lablgtk-extras"; @@ -11,8 +21,16 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ ocaml findlib camlp4 ]; - propagatedBuildInputs = [ config-file lablgtk xmlm ]; + nativeBuildInputs = [ + ocaml + findlib + camlp4 + ]; + propagatedBuildInputs = [ + config-file + lablgtk + xmlm + ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix index bca24a9240abf..469c3750cafc5 100644 --- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix @@ -1,33 +1,50 @@ -{ stdenv, lib, fetchFromGitLab, ocaml, findlib, camlp4, config-file, lablgtk, xmlm }: +{ + stdenv, + lib, + fetchFromGitLab, + ocaml, + findlib, + camlp4, + config-file, + lablgtk, + xmlm, +}: -if lib.versionOlder ocaml.version "4.02" -|| lib.versionAtLeast ocaml.version "4.13" -then throw "lablgtk-extras is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "4.13" then + throw "lablgtk-extras is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - version = "1.6"; - pname = "ocaml${ocaml.version}-lablgtk-extras"; - src = fetchFromGitLab { - domain = "framagit.org"; - owner = "zoggy"; - repo = "lablgtk-extras"; - rev = "release-${version}"; - sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda"; - }; + stdenv.mkDerivation rec { + version = "1.6"; + pname = "ocaml${ocaml.version}-lablgtk-extras"; + src = fetchFromGitLab { + domain = "framagit.org"; + owner = "zoggy"; + repo = "lablgtk-extras"; + rev = "release-${version}"; + sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda"; + }; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ ocaml findlib camlp4 ]; - propagatedBuildInputs = [ config-file lablgtk xmlm ]; + nativeBuildInputs = [ + ocaml + findlib + camlp4 + ]; + propagatedBuildInputs = [ + config-file + lablgtk + xmlm + ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = { - inherit (ocaml.meta) platforms; - maintainers = with lib.maintainers; [ vbgl ]; - homepage = "https://framagit.org/zoggy/lablgtk-extras/"; - description = "Collection of libraries and modules useful when developing OCaml/LablGtk2 applications"; - license = lib.licenses.lgpl2Plus; - }; -} + meta = { + inherit (ocaml.meta) platforms; + maintainers = with lib.maintainers; [ vbgl ]; + homepage = "https://framagit.org/zoggy/lablgtk-extras/"; + description = "Collection of libraries and modules useful when developing OCaml/LablGtk2 applications"; + license = lib.licenses.lgpl2Plus; + }; + } diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index fc3aebd33d23c..7d2a3601b4a53 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -1,31 +1,50 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, gtksourceview -, camlp-streams, gnumake42 +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + ocaml, + findlib, + pkg-config, + gtk2, + libgnomecanvas, + gtksourceview, + camlp-streams, + gnumake42, }: -let param = - let check = lib.versionAtLeast ocaml.version; in - if check "4.06" then rec { - version = "2.18.13"; - src = fetchFromGitHub { - owner = "garrigue"; - repo = "lablgtk"; - rev = version; - sha256 = "sha256-69Svno0qLaUifMscnVuPUJlCo9d8Lee+1qiYx34G3Po="; - }; - env = { }; - buildInputs = [ camlp-streams ]; - } else if check "3.12" then { - version = "2.18.5"; - src = fetchurl { - url = "https://forge.ocamlcore.org/frs/download.php/1627/lablgtk-2.18.5.tar.gz"; - sha256 = "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"; - }; - # Workaround build failure on -fno-common toolchains like upstream - # gcc-10. Otherwise build fails as: - # ld: ml_gtktree.o:(.bss+0x0): multiple definition of - # `ml_table_extension_events'; ml_gdkpixbuf.o:(.bss+0x0): first defined here - env.NIX_CFLAGS_COMPILE = "-fcommon"; - } else throw "lablgtk is not available for OCaml ${ocaml.version}"; +let + param = + let + check = lib.versionAtLeast ocaml.version; + in + if check "4.06" then + rec { + version = "2.18.13"; + src = fetchFromGitHub { + owner = "garrigue"; + repo = "lablgtk"; + rev = version; + sha256 = "sha256-69Svno0qLaUifMscnVuPUJlCo9d8Lee+1qiYx34G3Po="; + }; + env = { }; + buildInputs = [ camlp-streams ]; + } + else if check "3.12" then + { + version = "2.18.5"; + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/1627/lablgtk-2.18.5.tar.gz"; + sha256 = "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"; + }; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: ml_gtktree.o:(.bss+0x0): multiple definition of + # `ml_table_extension_events'; ml_gdkpixbuf.o:(.bss+0x0): first defined here + env.NIX_CFLAGS_COMPILE = "-fcommon"; + } + else + throw "lablgtk is not available for OCaml ${ocaml.version}"; in stdenv.mkDerivation { @@ -33,9 +52,17 @@ stdenv.mkDerivation { inherit (param) version src env; # gnumake42: https://github.com/garrigue/lablgtk/issues/162 - nativeBuildInputs = [ pkg-config ocaml findlib gnumake42 ]; - buildInputs = [ gtk2 libgnomecanvas gtksourceview ] - ++ param.buildInputs or []; + nativeBuildInputs = [ + pkg-config + ocaml + findlib + gnumake42 + ]; + buildInputs = [ + gtk2 + libgnomecanvas + gtksourceview + ] ++ param.buildInputs or [ ]; configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ]; buildFlags = [ "world" ]; @@ -51,7 +78,11 @@ stdenv.mkDerivation { description = "OCaml interface to GTK"; homepage = "http://lablgtk.forge.ocamlcore.org/"; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ maggesi roconnor vbgl ]; + maintainers = with maintainers; [ + maggesi + roconnor + vbgl + ]; mainProgram = "lablgtk2"; inherit (ocaml.meta) platforms; }; diff --git a/pkgs/development/ocaml-modules/lablgtk3/default.nix b/pkgs/development/ocaml-modules/lablgtk3/default.nix index 3a2a2cb90ffb7..56eff5d0e164f 100644 --- a/pkgs/development/ocaml-modules/lablgtk3/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk3/default.nix @@ -1,6 +1,12 @@ -{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator -, gtk3, cairo2 -, camlp-streams +{ + lib, + fetchurl, + pkg-config, + buildDunePackage, + dune-configurator, + gtk3, + cairo2, + camlp-streams, }: buildDunePackage rec { @@ -15,8 +21,14 @@ buildDunePackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator camlp-streams ]; - propagatedBuildInputs = [ gtk3 cairo2 ]; + buildInputs = [ + dune-configurator + camlp-streams + ]; + propagatedBuildInputs = [ + gtk3 + cairo2 + ]; meta = { description = "OCaml interface to GTK 3"; diff --git a/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix b/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix index be57c7e7146f8..9dbf1b7ddef1b 100644 --- a/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix +++ b/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix @@ -1,8 +1,17 @@ -{ buildDunePackage, gtkspell3, lablgtk3 }: +{ + buildDunePackage, + gtkspell3, + lablgtk3, +}: buildDunePackage { pname = "lablgtk3-gtkspell3"; buildInputs = [ gtkspell3 ] ++ lablgtk3.buildInputs; propagatedBuildInputs = [ lablgtk3 ]; - inherit (lablgtk3) src version meta nativeBuildInputs; + inherit (lablgtk3) + src + version + meta + nativeBuildInputs + ; } diff --git a/pkgs/development/ocaml-modules/lablgtk3/rsvg2.nix b/pkgs/development/ocaml-modules/lablgtk3/rsvg2.nix index 463f50f18e624..f38d3a524ad1f 100644 --- a/pkgs/development/ocaml-modules/lablgtk3/rsvg2.nix +++ b/pkgs/development/ocaml-modules/lablgtk3/rsvg2.nix @@ -1,8 +1,9 @@ -{ buildDunePackage -, dune-configurator -, lablgtk3 -, librsvg -, pkg-config +{ + buildDunePackage, + dune-configurator, + lablgtk3, + librsvg, + pkg-config, }: buildDunePackage rec { @@ -12,7 +13,10 @@ buildDunePackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ lablgtk3 librsvg ]; + propagatedBuildInputs = [ + lablgtk3 + librsvg + ]; meta = lablgtk3.meta // { description = "OCaml interface to Gnome rsvg2 library"; diff --git a/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix b/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix index 0e8ba3ef3ffe8..0fa1039c62cb6 100644 --- a/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix +++ b/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix @@ -1,8 +1,17 @@ -{ buildDunePackage, gtksourceview, lablgtk3 }: +{ + buildDunePackage, + gtksourceview, + lablgtk3, +}: buildDunePackage { pname = "lablgtk3-sourceview3"; buildInputs = lablgtk3.buildInputs ++ [ gtksourceview ]; propagatedBuildInputs = [ lablgtk3 ]; - inherit (lablgtk3) src version meta nativeBuildInputs; + inherit (lablgtk3) + src + version + meta + nativeBuildInputs + ; } diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix index 780213ad07925..2bd7444fb8aee 100644 --- a/pkgs/development/ocaml-modules/labltk/default.nix +++ b/pkgs/development/ocaml-modules/labltk/default.nix @@ -1,62 +1,81 @@ -{ stdenv, lib, makeWrapper, fetchzip, Cocoa, ocaml, findlib, tcl, tk }: +{ + stdenv, + lib, + makeWrapper, + fetchzip, + Cocoa, + ocaml, + findlib, + tcl, + tk, +}: let - params = - let mkNewParam = { version, sha256, rev ? version }: { - inherit version; - src = fetchzip { - url = "https://github.com/garrigue/labltk/archive/${rev}.tar.gz"; - inherit sha256; + params = + let + mkNewParam = + { + version, + sha256, + rev ? version, + }: + { + inherit version; + src = fetchzip { + url = "https://github.com/garrigue/labltk/archive/${rev}.tar.gz"; + inherit sha256; + }; + }; + in + rec { + "4.06" = mkNewParam { + version = "8.06.4"; + rev = "labltk-8.06.4"; + sha256 = "03xwnnnahb2rf4siymzqyqy8zgrx3h26qxjgbp5dh1wdl7n02c7g"; + }; + "4.07" = mkNewParam { + version = "8.06.5"; + rev = "1b71e2c6f3ae6847d3d5e79bf099deb7330fb419"; + sha256 = "02vchmrm3izrk7daldd22harhgrjhmbw6i1pqw6hmfmrmrypypg2"; + }; + _8_06_7 = mkNewParam { + version = "8.06.7"; + sha256 = "1cqnxjv2dvw9csiz4iqqyx6rck04jgylpglk8f69kgybf7k7xk2h"; + }; + "4.08" = _8_06_7; + "4.09" = _8_06_7; + "4.10" = mkNewParam { + version = "8.06.8"; + sha256 = "0lfjc7lscq81ibqb3fcybdzs2r1i2xl7rsgi7linq46a0pcpkinw"; + }; + "4.11" = mkNewParam { + version = "8.06.9"; + sha256 = "1k42k3bjkf22gk39lwwzqzfhgjyhxnclslldrzpg5qy1829pbnc0"; + }; + "4.12" = mkNewParam { + version = "8.06.10"; + sha256 = "06cck7wijq4zdshzhxm6jyl8k3j0zglj2axsyfk6q1sq754zyf4a"; + }; + "4.13" = mkNewParam { + version = "8.06.11"; + sha256 = "1zjpg9jvs6i9jvbgn6zgispwqiv8rxvaszxcx9ha9fax3wzhv9qy"; + }; + "4.14" = mkNewParam { + version = "8.06.12"; + sha256 = "sha256:17fmb13l18isgwr38hg9r5a0nayf2hhw6acj5153cy1sygsdg3b5"; + }; + "5.0" = mkNewParam { + version = "8.06.13"; + sha256 = "sha256-Vpf13g3DEWlUI5aypiowGp2fkQPK0cOGv2XiRUY/Ip4="; + }; + "5.2" = mkNewParam { + version = "8.06.14"; + sha256 = "sha256-eVSQetk+i3KObjHfsvnD615cIsq3aZ7IxycX42cuPIU="; + }; }; - }; in - rec { - "4.06" = mkNewParam { - version = "8.06.4"; - rev = "labltk-8.06.4"; - sha256 = "03xwnnnahb2rf4siymzqyqy8zgrx3h26qxjgbp5dh1wdl7n02c7g"; - }; - "4.07" = mkNewParam { - version = "8.06.5"; - rev = "1b71e2c6f3ae6847d3d5e79bf099deb7330fb419"; - sha256 = "02vchmrm3izrk7daldd22harhgrjhmbw6i1pqw6hmfmrmrypypg2"; - }; - _8_06_7 = mkNewParam { - version = "8.06.7"; - sha256 = "1cqnxjv2dvw9csiz4iqqyx6rck04jgylpglk8f69kgybf7k7xk2h"; - }; - "4.08" = _8_06_7; - "4.09" = _8_06_7; - "4.10" = mkNewParam { - version = "8.06.8"; - sha256 = "0lfjc7lscq81ibqb3fcybdzs2r1i2xl7rsgi7linq46a0pcpkinw"; - }; - "4.11" = mkNewParam { - version = "8.06.9"; - sha256 = "1k42k3bjkf22gk39lwwzqzfhgjyhxnclslldrzpg5qy1829pbnc0"; - }; - "4.12" = mkNewParam { - version = "8.06.10"; - sha256 = "06cck7wijq4zdshzhxm6jyl8k3j0zglj2axsyfk6q1sq754zyf4a"; - }; - "4.13" = mkNewParam { - version = "8.06.11"; - sha256 = "1zjpg9jvs6i9jvbgn6zgispwqiv8rxvaszxcx9ha9fax3wzhv9qy"; - }; - "4.14" = mkNewParam { - version = "8.06.12"; - sha256 = "sha256:17fmb13l18isgwr38hg9r5a0nayf2hhw6acj5153cy1sygsdg3b5"; - }; - "5.0" = mkNewParam { - version = "8.06.13"; - sha256 = "sha256-Vpf13g3DEWlUI5aypiowGp2fkQPK0cOGv2XiRUY/Ip4="; - }; - "5.2" = mkNewParam { - version = "8.06.14"; - sha256 = "sha256-eVSQetk+i3KObjHfsvnD615cIsq3aZ7IxycX42cuPIU="; - }; - }; - param = params . ${lib.versions.majorMinor ocaml.version} - or (throw "labltk is not available for OCaml ${ocaml.version}"); + param = + params.${lib.versions.majorMinor ocaml.version} + or (throw "labltk is not available for OCaml ${ocaml.version}"); in stdenv.mkDerivation rec { @@ -65,15 +84,29 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ ocaml findlib makeWrapper ]; - buildInputs = [ tcl tk ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + nativeBuildInputs = [ + ocaml + findlib + makeWrapper + ]; + buildInputs = [ + tcl + tk + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; - configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ]; + configureFlags = [ + "--use-findlib" + "--installbindir" + "$(out)/bin" + ]; dontAddPrefix = true; dontAddStaticConfigureFlags = true; - configurePlatforms = []; + configurePlatforms = [ ]; - buildFlags = [ "all" "opt" ]; + buildFlags = [ + "all" + "opt" + ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ladspa/default.nix b/pkgs/development/ocaml-modules/ladspa/default.nix index b037a61a0fb4f..7ff7a0311356b 100644 --- a/pkgs/development/ocaml-modules/ladspa/default.nix +++ b/pkgs/development/ocaml-modules/ladspa/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, ladspaH }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + ladspaH, +}: buildDunePackage rec { pname = "ladspa"; diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix index 2846ff1284516..10a916a5f17fc 100644 --- a/pkgs/development/ocaml-modules/lambda-term/default.nix +++ b/pkgs/development/ocaml-modules/lambda-term/default.nix @@ -1,14 +1,29 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, zed, lwt_log, lwt_react, mew_vi, uucp, logs }: - -let params = - if lib.versionAtLeast ocaml.version "4.08" then { - version = "3.3.2"; - sha256 = "sha256-T2DDpHqLar1sgmju0PLvhAZef5VzOpPWcFVhuZlPQmM="; - } else { - version = "3.1.0"; - sha256 = "1k0ykiz0vhpyyj9fkss29ajas4fh1xh449j702xkvayqipzj1mkg"; - } -; in +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + zed, + lwt_log, + lwt_react, + mew_vi, + uucp, + logs, +}: + +let + params = + if lib.versionAtLeast ocaml.version "4.08" then + { + version = "3.3.2"; + sha256 = "sha256-T2DDpHqLar1sgmju0PLvhAZef5VzOpPWcFVhuZlPQmM="; + } + else + { + version = "3.1.0"; + sha256 = "1k0ykiz0vhpyyj9fkss29ajas4fh1xh449j702xkvayqipzj1mkg"; + }; +in buildDunePackage rec { pname = "lambda-term"; @@ -23,24 +38,33 @@ buildDunePackage rec { inherit (params) sha256; }; - propagatedBuildInputs = [ zed lwt_log lwt_react mew_vi ] - ++ lib.optionals (lib.versionAtLeast version "3.3.1") [ uucp logs ] ; + propagatedBuildInputs = + [ + zed + lwt_log + lwt_react + mew_vi + ] + ++ lib.optionals (lib.versionAtLeast version "3.3.1") [ + uucp + logs + ]; meta = { description = "Terminal manipulation library for OCaml"; longDescription = '' - Lambda-term is a cross-platform library for - manipulating the terminal. It provides an abstraction for keys, - mouse events, colors, as well as a set of widgets to write - curses-like applications. - - The main objective of lambda-term is to provide a higher level - functional interface to terminal manipulation than, for example, - ncurses, by providing a native OCaml interface instead of bindings to - a C library. - - Lambda-term integrates with zed to provide text edition facilities in - console applications. + Lambda-term is a cross-platform library for + manipulating the terminal. It provides an abstraction for keys, + mouse events, colors, as well as a set of widgets to write + curses-like applications. + + The main objective of lambda-term is to provide a higher level + functional interface to terminal manipulation than, for example, + ncurses, by providing a native OCaml interface instead of bindings to + a C library. + + Lambda-term integrates with zed to provide text edition facilities in + console applications. ''; inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/lambdapi/default.nix b/pkgs/development/ocaml-modules/lambdapi/default.nix index f4d1cdb717b7a..fc4a0728b046a 100644 --- a/pkgs/development/ocaml-modules/lambdapi/default.nix +++ b/pkgs/development/ocaml-modules/lambdapi/default.nix @@ -1,18 +1,19 @@ -{ lib -, fetchurl -, buildDunePackage -, alcotest -, dedukti -, bindlib -, camlp-streams -, cmdliner -, menhir -, pratter -, sedlex -, stdlib-shims -, timed -, why3 -, yojson +{ + lib, + fetchurl, + buildDunePackage, + alcotest, + dedukti, + bindlib, + camlp-streams, + cmdliner, + menhir, + pratter, + sedlex, + stdlib-shims, + timed, + why3, + yojson, }: buildDunePackage rec { @@ -28,10 +29,21 @@ buildDunePackage rec { nativeBuildInputs = [ menhir ]; propagatedBuildInputs = [ - bindlib camlp-streams cmdliner pratter sedlex stdlib-shims timed why3 yojson + bindlib + camlp-streams + cmdliner + pratter + sedlex + stdlib-shims + timed + why3 + yojson ]; - checkInputs = [ alcotest dedukti ]; + checkInputs = [ + alcotest + dedukti + ]; doCheck = false; # anomaly: Sys_error("/homeless-shelter/.why3.conf: No such file or directory") meta = with lib; { diff --git a/pkgs/development/ocaml-modules/lambdasoup/default.nix b/pkgs/development/ocaml-modules/lambdasoup/default.nix index c8c6c545cbaaf..ea4b3512c16d7 100644 --- a/pkgs/development/ocaml-modules/lambdasoup/default.nix +++ b/pkgs/development/ocaml-modules/lambdasoup/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, camlp-streams, markup, ounit2 }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + camlp-streams, + markup, + ounit2, +}: buildDunePackage rec { pname = "lambdasoup"; @@ -13,7 +21,10 @@ buildDunePackage rec { hash = "sha256-+d1JPU7OyQgt8pDTlwZraqPHH+OBQD1ycsELKpHT95Y="; }; - propagatedBuildInputs = [ camlp-streams markup ]; + propagatedBuildInputs = [ + camlp-streams + markup + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; checkInputs = [ ounit2 ]; diff --git a/pkgs/development/ocaml-modules/lame/default.nix b/pkgs/development/ocaml-modules/lame/default.nix index 2e23a3715dac6..338d6a4bb913c 100644 --- a/pkgs/development/ocaml-modules/lame/default.nix +++ b/pkgs/development/ocaml-modules/lame/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, pkg-config, dune-configurator, lame }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + pkg-config, + dune-configurator, + lame, +}: buildDunePackage rec { pname = "lame"; diff --git a/pkgs/development/ocaml-modules/landmarks-ppx/default.nix b/pkgs/development/ocaml-modules/landmarks-ppx/default.nix index f15c86b9e1f31..8025fb90303ce 100644 --- a/pkgs/development/ocaml-modules/landmarks-ppx/default.nix +++ b/pkgs/development/ocaml-modules/landmarks-ppx/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, ocaml, landmarks, ppxlib }: +{ + lib, + buildDunePackage, + ocaml, + landmarks, + ppxlib, +}: buildDunePackage { pname = "landmarks-ppx"; @@ -9,8 +15,7 @@ buildDunePackage { buildInputs = [ ppxlib ]; propagatedBuildInputs = [ landmarks ]; - doCheck = lib.versionAtLeast ocaml.version "4.08" - && lib.versionOlder ocaml.version "5.0"; + doCheck = lib.versionAtLeast ocaml.version "4.08" && lib.versionOlder ocaml.version "5.0"; meta = landmarks.meta // { description = "Preprocessor instrumenting code using the landmarks library"; diff --git a/pkgs/development/ocaml-modules/landmarks/default.nix b/pkgs/development/ocaml-modules/landmarks/default.nix index e25bf1ae79047..3a39592a9ecf8 100644 --- a/pkgs/development/ocaml-modules/landmarks/default.nix +++ b/pkgs/development/ocaml-modules/landmarks/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, +}: buildDunePackage { pname = "landmarks"; @@ -12,8 +17,7 @@ buildDunePackage { hash = "sha256-Wpr76JURUFrj7v39rdM/2Lr7boa7nL/bnPEz1vMrmQo"; }; - doCheck = lib.versionAtLeast ocaml.version "4.08" - && lib.versionOlder ocaml.version "5.0"; + doCheck = lib.versionAtLeast ocaml.version "4.08" && lib.versionOlder ocaml.version "5.0"; meta = with lib; { description = "Simple Profiling Library for OCaml"; diff --git a/pkgs/development/ocaml-modules/lastfm/default.nix b/pkgs/development/ocaml-modules/lastfm/default.nix index da4bb54d2bf5d..12b2777b79faa 100644 --- a/pkgs/development/ocaml-modules/lastfm/default.nix +++ b/pkgs/development/ocaml-modules/lastfm/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, re -, xmlplaylist +{ + lib, + buildDunePackage, + fetchFromGitHub, + re, + xmlplaylist, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/lem/default.nix b/pkgs/development/ocaml-modules/lem/default.nix index a020d2ab692fc..6c1ff08f44dd3 100644 --- a/pkgs/development/ocaml-modules/lem/default.nix +++ b/pkgs/development/ocaml-modules/lem/default.nix @@ -1,45 +1,58 @@ -{ stdenv -, fetchFromGitHub -, lib -, makeWrapper -, ocamlbuild -, findlib -, ocaml -, num -, zarith +{ + stdenv, + fetchFromGitHub, + lib, + makeWrapper, + ocamlbuild, + findlib, + ocaml, + num, + zarith, }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") "lem is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-lem"; - version = "2022-12-10"; - - src = fetchFromGitHub { - owner = "rems-project"; - repo = "lem"; - rev = version; - hash = "sha256-ZQgcuIVRkJS0KtpzjbO4OPHGg6B0TadWA6XpRir30y8="; - }; - - nativeBuildInputs = [ makeWrapper ocamlbuild findlib ocaml ]; - propagatedBuildInputs = [ zarith num ]; - - installFlags = [ "INSTALL_DIR=$(out)" ]; - - createFindlibDestdir = true; - - postInstall = '' - wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library - ''; - - meta = with lib; { - homepage = "https://github.com/rems-project/lem"; - description = "Tool for lightweight executable mathematics"; - mainProgram = "lem"; - maintainers = with maintainers; [ genericnerdyusername ]; - license = with licenses; [ bsd3 gpl2 ]; - platforms = ocaml.meta.platforms; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-lem"; + version = "2022-12-10"; + + src = fetchFromGitHub { + owner = "rems-project"; + repo = "lem"; + rev = version; + hash = "sha256-ZQgcuIVRkJS0KtpzjbO4OPHGg6B0TadWA6XpRir30y8="; + }; + + nativeBuildInputs = [ + makeWrapper + ocamlbuild + findlib + ocaml + ]; + propagatedBuildInputs = [ + zarith + num + ]; + + installFlags = [ "INSTALL_DIR=$(out)" ]; + + createFindlibDestdir = true; + + postInstall = '' + wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library + ''; + + meta = with lib; { + homepage = "https://github.com/rems-project/lem"; + description = "Tool for lightweight executable mathematics"; + mainProgram = "lem"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = with licenses; [ + bsd3 + gpl2 + ]; + platforms = ocaml.meta.platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/lens/default.nix b/pkgs/development/ocaml-modules/lens/default.nix index 0de5773a59752..0499e640e2402 100644 --- a/pkgs/development/ocaml-modules/lens/default.nix +++ b/pkgs/development/ocaml-modules/lens/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, ppx_deriving, ppxlib, buildDunePackage, ounit }: +{ + lib, + fetchFromGitHub, + ppx_deriving, + ppxlib, + buildDunePackage, + ounit, +}: buildDunePackage rec { pname = "lens"; @@ -14,7 +21,10 @@ buildDunePackage rec { }; minimalOCamlVersion = "4.10"; - buildInputs = [ ppx_deriving ppxlib ]; + buildInputs = [ + ppx_deriving + ppxlib + ]; doCheck = true; checkInputs = [ ounit ]; diff --git a/pkgs/development/ocaml-modules/letsencrypt/app.nix b/pkgs/development/ocaml-modules/letsencrypt/app.nix index 2f43c8c5b7889..f24cafffed763 100644 --- a/pkgs/development/ocaml-modules/letsencrypt/app.nix +++ b/pkgs/development/ocaml-modules/letsencrypt/app.nix @@ -1,16 +1,17 @@ -{ buildDunePackage -, letsencrypt -, letsencrypt-dns -, cmdliner -, cohttp-lwt-unix -, logs -, fmt -, lwt -, mirage-crypto-rng -, ptime -, bos -, fpath -, randomconv +{ + buildDunePackage, + letsencrypt, + letsencrypt-dns, + cmdliner, + cohttp-lwt-unix, + logs, + fmt, + lwt, + mirage-crypto-rng, + ptime, + bos, + fpath, + randomconv, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/letsencrypt/default.nix b/pkgs/development/ocaml-modules/letsencrypt/default.nix index fc4ccaaf00bdf..033ffde04a3ae 100644 --- a/pkgs/development/ocaml-modules/letsencrypt/default.nix +++ b/pkgs/development/ocaml-modules/letsencrypt/default.nix @@ -1,20 +1,21 @@ -{ buildDunePackage -, lib -, fetchurl -, uri -, base64 -, digestif -, logs -, fmt -, lwt -, mirage-crypto -, mirage-crypto-ec -, mirage-crypto-pk -, x509 -, yojson -, ounit2 -, ptime -, domain-name +{ + buildDunePackage, + lib, + fetchurl, + uri, + base64, + digestif, + logs, + fmt, + lwt, + mirage-crypto, + mirage-crypto-ec, + mirage-crypto-pk, + x509, + yojson, + ounit2, + ptime, + domain-name, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/letsencrypt/dns.nix b/pkgs/development/ocaml-modules/letsencrypt/dns.nix index c263b6c128065..55772136d7d57 100644 --- a/pkgs/development/ocaml-modules/letsencrypt/dns.nix +++ b/pkgs/development/ocaml-modules/letsencrypt/dns.nix @@ -1,11 +1,12 @@ -{ buildDunePackage -, letsencrypt -, logs -, fmt -, lwt -, dns -, dns-tsig -, domain-name +{ + buildDunePackage, + letsencrypt, + logs, + fmt, + lwt, + dns, + dns-tsig, + domain-name, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/letsencrypt/mirage.nix b/pkgs/development/ocaml-modules/letsencrypt/mirage.nix index 038e75932da0f..f6a4d25f9c1d0 100644 --- a/pkgs/development/ocaml-modules/letsencrypt/mirage.nix +++ b/pkgs/development/ocaml-modules/letsencrypt/mirage.nix @@ -1,8 +1,9 @@ -{ buildDunePackage -, letsencrypt -, emile -, http-mirage-client -, paf +{ + buildDunePackage, + letsencrypt, + emile, + http-mirage-client, + paf, }: buildDunePackage { @@ -10,7 +11,12 @@ buildDunePackage { inherit (letsencrypt) version src; - propagatedBuildInputs = [ emile http-mirage-client letsencrypt paf ]; + propagatedBuildInputs = [ + emile + http-mirage-client + letsencrypt + paf + ]; meta = letsencrypt.meta // { description = "ACME implementation in OCaml for MirageOS"; diff --git a/pkgs/development/ocaml-modules/libc/default.nix b/pkgs/development/ocaml-modules/libc/default.nix index 13e0f04ddfc78..cd2501325ab97 100644 --- a/pkgs/development/ocaml-modules/libc/default.nix +++ b/pkgs/development/ocaml-modules/libc/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, config +{ + lib, + buildDunePackage, + fetchurl, + config, }: buildDunePackage rec { @@ -23,4 +24,3 @@ buildDunePackage rec { license = lib.licenses.mit; }; } - diff --git a/pkgs/development/ocaml-modules/lilv/default.nix b/pkgs/development/ocaml-modules/lilv/default.nix index a5def260eb291..3ff0782ca288c 100644 --- a/pkgs/development/ocaml-modules/lilv/default.nix +++ b/pkgs/development/ocaml-modules/lilv/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, ctypes, ctypes-foreign, lilv }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + ctypes, + ctypes-foreign, + lilv, +}: buildDunePackage rec { pname = "lilv"; @@ -14,7 +22,11 @@ buildDunePackage rec { minimalOCamlVersion = "4.03.0"; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ctypes ctypes-foreign lilv ]; + propagatedBuildInputs = [ + ctypes + ctypes-foreign + lilv + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-lilv"; diff --git a/pkgs/development/ocaml-modules/linenoise/default.nix b/pkgs/development/ocaml-modules/linenoise/default.nix index 96d00c28fce66..62516a7274860 100644 --- a/pkgs/development/ocaml-modules/linenoise/default.nix +++ b/pkgs/development/ocaml-modules/linenoise/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, result }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + result, +}: buildDunePackage rec { pname = "linenoise"; diff --git a/pkgs/development/ocaml-modules/linksem/default.nix b/pkgs/development/ocaml-modules/linksem/default.nix index 2e88c7f0d45f8..ccefd91c06cf8 100644 --- a/pkgs/development/ocaml-modules/linksem/default.nix +++ b/pkgs/development/ocaml-modules/linksem/default.nix @@ -1,36 +1,41 @@ -{ lib -, fetchFromGitHub -, stdenv -, findlib -, ocaml -, lem +{ + lib, + fetchFromGitHub, + stdenv, + findlib, + ocaml, + lem, }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") "linksem is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-linksem"; - version = "0.8"; + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-linksem"; + version = "0.8"; - src = fetchFromGitHub { - owner = "rems-project"; - repo = "linksem"; - rev = version; - hash = "sha256-7/YfDK3TruKCckMzAPLRrwBkHRJcX1S+AzXHWRxkZPA="; - }; + src = fetchFromGitHub { + owner = "rems-project"; + repo = "linksem"; + rev = version; + hash = "sha256-7/YfDK3TruKCckMzAPLRrwBkHRJcX1S+AzXHWRxkZPA="; + }; - nativeBuildInputs = [ findlib ocaml ]; + nativeBuildInputs = [ + findlib + ocaml + ]; - propagatedBuildInputs = [ lem ]; + propagatedBuildInputs = [ lem ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = with lib; { - homepage = "https://github.com/rems-project/linksem"; - description = "Formalisation of substantial parts of ELF linking and DWARF debug information"; - maintainers = with maintainers; [ genericnerdyusername ]; - license = licenses.bsd2; - platforms = ocaml.meta.platforms; - }; -} + meta = with lib; { + homepage = "https://github.com/rems-project/linksem"; + description = "Formalisation of substantial parts of ELF linking and DWARF debug information"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = licenses.bsd2; + platforms = ocaml.meta.platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/linol/default.nix b/pkgs/development/ocaml-modules/linol/default.nix index 97630cc3db93e..3d0f513cad5b4 100644 --- a/pkgs/development/ocaml-modules/linol/default.nix +++ b/pkgs/development/ocaml-modules/linol/default.nix @@ -1,7 +1,15 @@ -{ lib, fetchurl, buildDunePackage, yojson, logs, lsp, ppx_yojson_conv_lib, trace }: +{ + lib, + fetchurl, + buildDunePackage, + yojson, + logs, + lsp, + ppx_yojson_conv_lib, + trace, +}: -buildDunePackage -rec { +buildDunePackage rec { pname = "linol"; version = "0.6"; diff --git a/pkgs/development/ocaml-modules/linol/lwt.nix b/pkgs/development/ocaml-modules/linol/lwt.nix index b8d16b023041f..a8c211be0ba64 100644 --- a/pkgs/development/ocaml-modules/linol/lwt.nix +++ b/pkgs/development/ocaml-modules/linol/lwt.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, linol, jsonrpc, lwt, yojson }: +{ + buildDunePackage, + linol, + jsonrpc, + lwt, + yojson, +}: buildDunePackage { pname = "linol-lwt"; diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix index 948d326d65945..ced262a7824c5 100644 --- a/pkgs/development/ocaml-modules/llvm/default.nix +++ b/pkgs/development/ocaml-modules/llvm/default.nix @@ -1,6 +1,17 @@ -{ stdenv, lib, python3, cmake, libllvm, ocaml, findlib, ctypes }: +{ + stdenv, + lib, + python3, + cmake, + libllvm, + ocaml, + findlib, + ctypes, +}: -let version = lib.getVersion libllvm; in +let + version = lib.getVersion libllvm; +in stdenv.mkDerivation { pname = "ocaml-llvm"; @@ -8,7 +19,12 @@ stdenv.mkDerivation { inherit (libllvm) src; - nativeBuildInputs = [ cmake python3 ocaml findlib ]; + nativeBuildInputs = [ + cmake + python3 + ocaml + findlib + ]; buildInputs = [ ctypes ]; propagatedBuildInputs = [ libllvm ]; @@ -27,7 +43,10 @@ stdenv.mkDerivation { buildFlags = [ "ocaml_all" ]; - installFlags = [ "-C" "bindings/ocaml" ]; + installFlags = [ + "-C" + "bindings/ocaml" + ]; postInstall = '' mkdir -p $OCAMLFIND_DESTDIR/ diff --git a/pkgs/development/ocaml-modules/lo/default.nix b/pkgs/development/ocaml-modules/lo/default.nix index 6da5854f9de23..083de69b36cc7 100644 --- a/pkgs/development/ocaml-modules/lo/default.nix +++ b/pkgs/development/ocaml-modules/lo/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, liblo }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + liblo, +}: buildDunePackage rec { pname = "lo"; diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix index bd7326883829d..1eb99037686ba 100644 --- a/pkgs/development/ocaml-modules/logs/default.nix +++ b/pkgs/development/ocaml-modules/logs/default.nix @@ -1,55 +1,87 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild -, topkg, result, lwt, cmdliner, fmt -, fmtSupport ? lib.versionAtLeast ocaml.version "4.08" -, js_of_ocaml -, jsooSupport ? true -, lwtSupport ? true -, cmdlinerSupport ? true +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + result, + lwt, + cmdliner, + fmt, + fmtSupport ? lib.versionAtLeast ocaml.version "4.08", + js_of_ocaml, + jsooSupport ? true, + lwtSupport ? true, + cmdlinerSupport ? true, }: let pname = "logs"; webpage = "https://erratique.ch/software/${pname}"; optional_deps = [ - { pkg = js_of_ocaml; enable_flag = "--with-js_of_ocaml"; enabled = jsooSupport; } - { pkg = fmt; enable_flag = "--with-fmt"; enabled = fmtSupport; } - { pkg = lwt; enable_flag = "--with-lwt"; enabled = lwtSupport; } - { pkg = cmdliner; enable_flag = "--with-cmdliner"; enabled = cmdlinerSupport; } + { + pkg = js_of_ocaml; + enable_flag = "--with-js_of_ocaml"; + enabled = jsooSupport; + } + { + pkg = fmt; + enable_flag = "--with-fmt"; + enabled = fmtSupport; + } + { + pkg = lwt; + enable_flag = "--with-lwt"; + enabled = lwtSupport; + } + { + pkg = cmdliner; + enable_flag = "--with-cmdliner"; + enabled = cmdlinerSupport; + } ]; - enable_flags = - lib.concatMap (d: [ d.enable_flag (lib.boolToString d.enabled)]) optional_deps; - optional_buildInputs = - map (d: d.pkg) (lib.filter (d: d.enabled) optional_deps); + enable_flags = lib.concatMap (d: [ + d.enable_flag + (lib.boolToString d.enabled) + ]) optional_deps; + optional_buildInputs = map (d: d.pkg) (lib.filter (d: d.enabled) optional_deps); in -if lib.versionOlder ocaml.version "4.03" -then throw "logs is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.03" then + throw "logs is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - name = "ocaml${ocaml.version}-${pname}-${version}"; - version = "0.7.0"; + stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-${pname}-${version}"; + version = "0.7.0"; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46"; - }; + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46"; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ] ++ optional_buildInputs; - propagatedBuildInputs = [ result ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ] ++ optional_buildInputs; + propagatedBuildInputs = [ result ]; - strictDeps = true; + strictDeps = true; - buildPhase = "${topkg.run} build ${lib.escapeShellArgs enable_flags}"; + buildPhase = "${topkg.run} build ${lib.escapeShellArgs enable_flags}"; - inherit (topkg) installPhase; + inherit (topkg) installPhase; - meta = with lib; { - description = "Logging infrastructure for OCaml"; - homepage = webpage; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.sternenseemann ]; - license = licenses.isc; - }; -} + meta = with lib; { + description = "Logging infrastructure for OCaml"; + homepage = webpage; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.sternenseemann ]; + license = licenses.isc; + }; + } diff --git a/pkgs/development/ocaml-modules/lru/default.nix b/pkgs/development/ocaml-modules/lru/default.nix index 2c8a3e99df575..74bb6c07f524b 100644 --- a/pkgs/development/ocaml-modules/lru/default.nix +++ b/pkgs/development/ocaml-modules/lru/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, ocaml, psq, qcheck-alcotest }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + psq, + qcheck-alcotest, +}: buildDunePackage rec { pname = "lru"; diff --git a/pkgs/development/ocaml-modules/lua-ml/default.nix b/pkgs/development/ocaml-modules/lua-ml/default.nix index bec9b9a998dc4..1ea40e57d002c 100644 --- a/pkgs/development/ocaml-modules/lua-ml/default.nix +++ b/pkgs/development/ocaml-modules/lua-ml/default.nix @@ -1,36 +1,49 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, opaline }: - -if lib.versionOlder ocaml.version "4.07" -then throw "lua-ml is not available for OCaml ${ocaml.version}" +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, + opaline, +}: + +if lib.versionOlder ocaml.version "4.07" then + throw "lua-ml is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "lua-ml"; - name = "ocaml${ocaml.version}-${pname}-${version}"; - version = "0.9.2"; - - src = fetchFromGitHub { - owner = "lindig"; - repo = pname; - rev = version; - sha256 = "sha256-xkjsjKD89W7Y5XK8kfL/ZErYKS14z0u0QCARN0DbTC8="; - }; - - nativeBuildInputs = [ opaline ocaml findlib ocamlbuild ]; - - strictDeps = true; - - buildFlags = [ "lib" ]; - - installPhase = '' - opaline -prefix $out -libdir $OCAMLFIND_DESTDIR - ''; - - meta = { - description = "Embeddable Lua 2.5 interpreter implemented in OCaml"; - inherit (src.meta) homepage; - inherit (ocaml.meta) platforms; - license = lib.licenses.bsd2; - maintainers = [ lib.maintainers.vbgl ]; - }; -} + stdenv.mkDerivation rec { + pname = "lua-ml"; + name = "ocaml${ocaml.version}-${pname}-${version}"; + version = "0.9.2"; + + src = fetchFromGitHub { + owner = "lindig"; + repo = pname; + rev = version; + sha256 = "sha256-xkjsjKD89W7Y5XK8kfL/ZErYKS14z0u0QCARN0DbTC8="; + }; + + nativeBuildInputs = [ + opaline + ocaml + findlib + ocamlbuild + ]; + + strictDeps = true; + + buildFlags = [ "lib" ]; + + installPhase = '' + opaline -prefix $out -libdir $OCAMLFIND_DESTDIR + ''; + + meta = { + description = "Embeddable Lua 2.5 interpreter implemented in OCaml"; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + license = lib.licenses.bsd2; + maintainers = [ lib.maintainers.vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/lun/default.nix b/pkgs/development/ocaml-modules/lun/default.nix index 17dcaead3c22c..5e1e32178f5e4 100644 --- a/pkgs/development/ocaml-modules/lun/default.nix +++ b/pkgs/development/ocaml-modules/lun/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "lun"; diff --git a/pkgs/development/ocaml-modules/lun/ppx.nix b/pkgs/development/ocaml-modules/lun/ppx.nix index d4212a3d95956..8c701e7042b92 100644 --- a/pkgs/development/ocaml-modules/lun/ppx.nix +++ b/pkgs/development/ocaml-modules/lun/ppx.nix @@ -1,10 +1,19 @@ -{ lib, buildDunePackage, fmt, lun, ppxlib }: +{ + lib, + buildDunePackage, + fmt, + lun, + ppxlib, +}: buildDunePackage { pname = "ppx_lun"; inherit (lun) version src; - propagatedBuildInputs = [ lun ppxlib ]; + propagatedBuildInputs = [ + lun + ppxlib + ]; checkInputs = [ fmt ]; diff --git a/pkgs/development/ocaml-modules/lustre-v6/default.nix b/pkgs/development/ocaml-modules/lustre-v6/default.nix index d4ecdc7e28812..ae43b9b5044cc 100644 --- a/pkgs/development/ocaml-modules/lustre-v6/default.nix +++ b/pkgs/development/ocaml-modules/lustre-v6/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchurl, extlib, lutils, rdbg, yaml }: +{ + lib, + buildDunePackage, + fetchurl, + extlib, + lutils, + rdbg, + yaml, +}: buildDunePackage rec { pname = "lustre-v6"; @@ -22,7 +30,10 @@ buildDunePackage rec { description = "Lustre V6 compiler"; homepage = "https://www-verimag.imag.fr/lustre-v6.html"; license = licenses.cecill21; - maintainers = with maintainers; [ delta wegank ]; + maintainers = with maintainers; [ + delta + wegank + ]; mainProgram = "lv6"; }; } diff --git a/pkgs/development/ocaml-modules/lutils/default.nix b/pkgs/development/ocaml-modules/lutils/default.nix index 38bd10077ce09..2130900625f53 100644 --- a/pkgs/development/ocaml-modules/lutils/default.nix +++ b/pkgs/development/ocaml-modules/lutils/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchurl, camlp-streams, num }: +{ + lib, + buildDunePackage, + fetchurl, + camlp-streams, + num, +}: buildDunePackage rec { pname = "lutils"; @@ -12,7 +18,8 @@ buildDunePackage rec { }; propagatedBuildInputs = [ - camlp-streams num + camlp-streams + num ]; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/luv/default.nix b/pkgs/development/ocaml-modules/luv/default.nix index 86b799e72fd6d..687d1a0fdc467 100644 --- a/pkgs/development/ocaml-modules/luv/default.nix +++ b/pkgs/development/ocaml-modules/luv/default.nix @@ -1,7 +1,12 @@ -{ lib, buildDunePackage, ocaml, fetchurl -, ctypes, result -, alcotest -, file +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + ctypes, + result, + alcotest, + file, }: buildDunePackage rec { @@ -28,7 +33,10 @@ buildDunePackage rec { ''; nativeBuildInputs = [ file ]; - propagatedBuildInputs = [ ctypes result ]; + propagatedBuildInputs = [ + ctypes + result + ]; checkInputs = [ alcotest ]; # Alcotest depends on fmt that needs 4.08 or newer doCheck = lib.versionAtLeast ocaml.version "4.08"; @@ -37,7 +45,15 @@ buildDunePackage rec { homepage = "https://github.com/aantron/luv"; description = "Binding to libuv: cross-platform asynchronous I/O"; # MIT-licensed, extra licenses apply partially to libuv vendor - license = with licenses; [ mit bsd2 bsd3 cc-by-sa-40 ]; - maintainers = with maintainers; [ locallycompact sternenseemann ]; + license = with licenses; [ + mit + bsd2 + bsd3 + cc-by-sa-40 + ]; + maintainers = with maintainers; [ + locallycompact + sternenseemann + ]; }; } diff --git a/pkgs/development/ocaml-modules/lwd/default.nix b/pkgs/development/ocaml-modules/lwd/default.nix index 43e13bbcc8931..b83541271dd7a 100644 --- a/pkgs/development/ocaml-modules/lwd/default.nix +++ b/pkgs/development/ocaml-modules/lwd/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, seq }: +{ + lib, + fetchurl, + buildDunePackage, + seq, +}: buildDunePackage rec { pname = "lwd"; @@ -8,8 +13,7 @@ buildDunePackage rec { duneVersion = "3"; src = fetchurl { - url = - "https://github.com/let-def/lwd/releases/download/v${version}/lwd-${version}.tbz"; + url = "https://github.com/let-def/lwd/releases/download/v${version}/lwd-${version}.tbz"; sha256 = "sha256-H/vyW2tn2OBuWwcmPs8NcINXgFe93MSxRd8dzeoXARI="; }; diff --git a/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix b/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix index 09a4a8ba228eb..36b0f042ba449 100644 --- a/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix +++ b/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, lwd, lwt, nottui }: +{ + lib, + buildDunePackage, + lwd, + lwt, + nottui, +}: buildDunePackage { pname = "nottui-lwt"; @@ -8,7 +14,10 @@ buildDunePackage { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ lwt nottui ]; + propagatedBuildInputs = [ + lwt + nottui + ]; meta = with lib; { description = "Run Nottui UIs in Lwt"; diff --git a/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix b/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix index ac9b18ff3b4f9..9328677af22d2 100644 --- a/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix +++ b/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, lwd, nottui }: +{ + lib, + buildDunePackage, + lwd, + nottui, +}: buildDunePackage { pname = "nottui-pretty"; diff --git a/pkgs/development/ocaml-modules/lwd/nottui.nix b/pkgs/development/ocaml-modules/lwd/nottui.nix index bffab13a5e1d0..0b01deb1555da 100644 --- a/pkgs/development/ocaml-modules/lwd/nottui.nix +++ b/pkgs/development/ocaml-modules/lwd/nottui.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, lwd, notty }: +{ + lib, + buildDunePackage, + lwd, + notty, +}: buildDunePackage { pname = "nottui"; @@ -8,7 +13,10 @@ buildDunePackage { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ lwd notty ]; + propagatedBuildInputs = [ + lwd + notty + ]; meta = with lib; { description = "UI toolkit for the terminal built on top of Notty and Lwd"; diff --git a/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix b/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix index f391eba7d6226..9e7df7f3a2c89 100644 --- a/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix +++ b/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix @@ -1,4 +1,12 @@ -{ lib, fetchpatch, buildDunePackage, js_of_ocaml, js_of_ocaml-ppx, lwd, tyxml }: +{ + lib, + fetchpatch, + buildDunePackage, + js_of_ocaml, + js_of_ocaml-ppx, + lwd, + tyxml, +}: buildDunePackage { pname = "tyxml-lwd"; @@ -14,7 +22,11 @@ buildDunePackage { minimalOCamlVersion = "4.08"; buildInputs = [ js_of_ocaml-ppx ]; - propagatedBuildInputs = [ js_of_ocaml lwd tyxml ]; + propagatedBuildInputs = [ + js_of_ocaml + lwd + tyxml + ]; meta = with lib; { description = "Make reactive webpages in Js_of_ocaml using Tyxml and Lwd"; diff --git a/pkgs/development/ocaml-modules/lwt-canceler/default.nix b/pkgs/development/ocaml-modules/lwt-canceler/default.nix index 97b27157265e9..e49e5de90d014 100644 --- a/pkgs/development/ocaml-modules/lwt-canceler/default.nix +++ b/pkgs/development/ocaml-modules/lwt-canceler/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitLab, buildDunePackage, lwt }: +{ + lib, + fetchFromGitLab, + buildDunePackage, + lwt, +}: buildDunePackage rec { pname = "lwt-canceler"; diff --git a/pkgs/development/ocaml-modules/lwt-dllist/default.nix b/pkgs/development/ocaml-modules/lwt-dllist/default.nix index 88ad74b3e652f..be344e94e333f 100644 --- a/pkgs/development/ocaml-modules/lwt-dllist/default.nix +++ b/pkgs/development/ocaml-modules/lwt-dllist/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchurl, lwt, ocaml }: +{ + lib, + buildDunePackage, + fetchurl, + lwt, + ocaml, +}: buildDunePackage rec { pname = "lwt-dllist"; diff --git a/pkgs/development/ocaml-modules/lwt-exit/default.nix b/pkgs/development/ocaml-modules/lwt-exit/default.nix index 52bcc0ab2de3a..44365f9d6b356 100644 --- a/pkgs/development/ocaml-modules/lwt-exit/default.nix +++ b/pkgs/development/ocaml-modules/lwt-exit/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitLab -, buildDunePackage -, lwt -, ptime +{ + lib, + fetchFromGitLab, + buildDunePackage, + lwt, + ptime, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/lwt-watcher/default.nix b/pkgs/development/ocaml-modules/lwt-watcher/default.nix index 624b59b811b78..02bfc43abc5b2 100644 --- a/pkgs/development/ocaml-modules/lwt-watcher/default.nix +++ b/pkgs/development/ocaml-modules/lwt-watcher/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitLab -, buildDunePackage -, lwt +{ + lib, + fetchFromGitLab, + buildDunePackage, + lwt, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/lwt/camlp4.nix b/pkgs/development/ocaml-modules/lwt/camlp4.nix index de8252c55549b..8466e20e9f487 100644 --- a/pkgs/development/ocaml-modules/lwt/camlp4.nix +++ b/pkgs/development/ocaml-modules/lwt/camlp4.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, camlp4 }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + camlp4, +}: buildDunePackage rec { pname = "lwt_camlp4"; @@ -27,4 +32,3 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; }; } - diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix index 2881560c6f8d9..be2e32220c8b3 100644 --- a/pkgs/development/ocaml-modules/lwt/ppx.nix +++ b/pkgs/development/ocaml-modules/lwt/ppx.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, buildDunePackage, lwt, ppxlib }: +{ + fetchFromGitHub, + buildDunePackage, + lwt, + ppxlib, +}: buildDunePackage { pname = "lwt_ppx"; @@ -21,7 +26,10 @@ buildDunePackage { hash = "sha256-DLQupCkZ14kOuSQatbb7j07I+jvvDCKpdlaR3rijT4s="; }; - propagatedBuildInputs = [ lwt ppxlib ]; + propagatedBuildInputs = [ + lwt + ppxlib + ]; meta = { description = "Ppx syntax extension for Lwt"; diff --git a/pkgs/development/ocaml-modules/lwt_log/default.nix b/pkgs/development/ocaml-modules/lwt_log/default.nix index 5a57c31969e9d..4bcd3524e8492 100644 --- a/pkgs/development/ocaml-modules/lwt_log/default.nix +++ b/pkgs/development/ocaml-modules/lwt_log/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, lwt }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + lwt, +}: buildDunePackage rec { pname = "lwt_log"; diff --git a/pkgs/development/ocaml-modules/lwt_react/default.nix b/pkgs/development/ocaml-modules/lwt_react/default.nix index 492bad6470859..c9d7bed9f6aeb 100644 --- a/pkgs/development/ocaml-modules/lwt_react/default.nix +++ b/pkgs/development/ocaml-modules/lwt_react/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, fetchFromGitHub, cppo, lwt, react }: +{ + buildDunePackage, + fetchFromGitHub, + cppo, + lwt, + react, +}: buildDunePackage { pname = "lwt_react"; @@ -15,7 +21,10 @@ buildDunePackage { nativeBuildInputs = [ cppo ]; - propagatedBuildInputs = [ lwt react ]; + propagatedBuildInputs = [ + lwt + react + ]; meta = { description = "Helpers for using React with Lwt"; diff --git a/pkgs/development/ocaml-modules/lwt_ssl/default.nix b/pkgs/development/ocaml-modules/lwt_ssl/default.nix index 7b74d92c2e50f..ec4ea72c53b52 100644 --- a/pkgs/development/ocaml-modules/lwt_ssl/default.nix +++ b/pkgs/development/ocaml-modules/lwt_ssl/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ssl, lwt }: +{ + lib, + fetchurl, + buildDunePackage, + ssl, + lwt, +}: buildDunePackage rec { pname = "lwt_ssl"; @@ -11,7 +17,10 @@ buildDunePackage rec { hash = "sha256-swIK0nrs83fhw/J0Cgizbcu6mR+EMGZRE1dBBUiImnc="; }; - propagatedBuildInputs = [ ssl lwt ]; + propagatedBuildInputs = [ + ssl + lwt + ]; meta = { homepage = "https://github.com/aantron/lwt_ssl"; diff --git a/pkgs/development/ocaml-modules/macaddr/cstruct.nix b/pkgs/development/ocaml-modules/macaddr/cstruct.nix index db77c9fb2c568..e5cc1fff5d9ed 100644 --- a/pkgs/development/ocaml-modules/macaddr/cstruct.nix +++ b/pkgs/development/ocaml-modules/macaddr/cstruct.nix @@ -1,5 +1,7 @@ -{ buildDunePackage -, macaddr, cstruct +{ + buildDunePackage, + macaddr, + cstruct, }: buildDunePackage { @@ -9,7 +11,10 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ macaddr cstruct ]; + propagatedBuildInputs = [ + macaddr + cstruct + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/macaddr/default.nix b/pkgs/development/ocaml-modules/macaddr/default.nix index 905426bf53b23..b413e7570d74f 100644 --- a/pkgs/development/ocaml-modules/macaddr/default.nix +++ b/pkgs/development/ocaml-modules/macaddr/default.nix @@ -1,5 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ocaml -, ppx_sexp_conv, ounit2 +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + ppx_sexp_conv, + ounit2, }: buildDunePackage rec { @@ -13,7 +18,10 @@ buildDunePackage rec { hash = "sha256-njBDP9tMpDemqo/7RHuspeunYV+4jnsM2KS0FsMggTM="; }; - checkInputs = [ ppx_sexp_conv ounit2 ]; + checkInputs = [ + ppx_sexp_conv + ounit2 + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/macaddr/sexp.nix b/pkgs/development/ocaml-modules/macaddr/sexp.nix index 63a93efab2ed0..86d79dc215d6f 100644 --- a/pkgs/development/ocaml-modules/macaddr/sexp.nix +++ b/pkgs/development/ocaml-modules/macaddr/sexp.nix @@ -1,5 +1,9 @@ -{ buildDunePackage -, macaddr, ppx_sexp_conv, macaddr-cstruct, ounit2 +{ + buildDunePackage, + macaddr, + ppx_sexp_conv, + macaddr-cstruct, + ounit2, }: buildDunePackage { @@ -11,7 +15,10 @@ buildDunePackage { propagatedBuildInputs = [ ppx_sexp_conv ]; - checkInputs = [ macaddr-cstruct ounit2 ]; + checkInputs = [ + macaddr-cstruct + ounit2 + ]; doCheck = true; meta = macaddr.meta // { diff --git a/pkgs/development/ocaml-modules/mad/default.nix b/pkgs/development/ocaml-modules/mad/default.nix index 096987f737f84..401e75f7ea890 100644 --- a/pkgs/development/ocaml-modules/mad/default.nix +++ b/pkgs/development/ocaml-modules/mad/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, libmad }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + libmad, +}: buildDunePackage rec { pname = "mad"; diff --git a/pkgs/development/ocaml-modules/magic-mime/default.nix b/pkgs/development/ocaml-modules/magic-mime/default.nix index a400e073f215b..6460a1fb84962 100644 --- a/pkgs/development/ocaml-modules/magic-mime/default.nix +++ b/pkgs/development/ocaml-modules/magic-mime/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "magic-mime"; diff --git a/pkgs/development/ocaml-modules/magic-trace/default.nix b/pkgs/development/ocaml-modules/magic-trace/default.nix index b4e1c557e8124..1cca903398f62 100644 --- a/pkgs/development/ocaml-modules/magic-trace/default.nix +++ b/pkgs/development/ocaml-modules/magic-trace/default.nix @@ -1,18 +1,19 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, ocaml-crunch -, angstrom -, async -, cohttp -, cohttp_static_handler ? null -, core -, core_unix ? null -, fzf -, owee -, ppx_jane -, re -, shell ? null +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml-crunch, + angstrom, + async, + cohttp, + cohttp_static_handler ? null, + core, + core_unix ? null, + fzf, + owee, + ppx_jane, + re, + shell ? null, }: buildDunePackage rec { @@ -46,8 +47,7 @@ buildDunePackage rec { ]; meta = with lib; { - description = - "Collects and displays high-resolution traces of what a process is doing"; + description = "Collects and displays high-resolution traces of what a process is doing"; license = licenses.mit; maintainers = [ maintainers.alizter ]; homepage = "https://github.com/janestreet/magic-trace"; diff --git a/pkgs/development/ocaml-modules/magic/default.nix b/pkgs/development/ocaml-modules/magic/default.nix index 29ff7e67832c9..a6bd0eb2a0333 100644 --- a/pkgs/development/ocaml-modules/magic/default.nix +++ b/pkgs/development/ocaml-modules/magic/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, which, file }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + which, + file, +}: stdenv.mkDerivation rec { pname = "magic"; @@ -14,7 +22,10 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; nativeBuildInputs = [ which ]; - buildInputs = [ ocaml findlib ]; + buildInputs = [ + ocaml + findlib + ]; propagatedBuildInputs = [ file ]; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/mariadb/default.nix b/pkgs/development/ocaml-modules/mariadb/default.nix index 3ac6027b22fd0..4fbc81bfc313b 100644 --- a/pkgs/development/ocaml-modules/mariadb/default.nix +++ b/pkgs/development/ocaml-modules/mariadb/default.nix @@ -1,49 +1,77 @@ -{ lib, fetchurl, stdenv -, fetchpatch -, ocaml, findlib, ocamlbuild, camlp-streams -, ctypes, mariadb, libmysqlclient }: +{ + lib, + fetchurl, + stdenv, + fetchpatch, + ocaml, + findlib, + ocamlbuild, + camlp-streams, + ctypes, + mariadb, + libmysqlclient, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") "mariadb is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-mariadb"; - version = "1.1.6"; - - src = fetchurl { - url = "https://github.com/andrenth/ocaml-mariadb/releases/download/${version}/ocaml-mariadb-${version}.tar.gz"; - sha256 = "sha256-3/C1Gz6luUzS7oaudLlDHMT6JB2v5OdbLVzJhtayHGM="; - }; - - patches = lib.lists.map (x: - fetchpatch { - url = "https://github.com/andrenth/ocaml-mariadb/commit/${x.path}.patch"; - inherit (x) hash; - }) - [ { path = "9db2e4d8dec7c584213d0e0f03d079a36a35d9d5"; - hash = "sha256-heROtU02cYBJ5edIHMdYP1xNXcLv8h79GYGBuudJhgE="; } - { path = "40cd3102bc7cce4ed826ed609464daeb1bbb4581"; - hash = "sha256-YVsAMJiOgWRk9xPaRz2sDihBYLlXv+rhWtQIMOVLtSg="; } - ]; - - postPatch = '' - substituteInPlace setup.ml --replace '#use "topfind"' \ - '#directory "${findlib}/lib/ocaml/${ocaml.version}/site-lib/";; #use "topfind"' - ''; - - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ mariadb libmysqlclient camlp-streams ocamlbuild ]; - propagatedBuildInputs = [ ctypes ]; - - strictDeps = true; - - preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; - - meta = { - description = "OCaml bindings for MariaDB"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ bcc32 ]; - homepage = "https://github.com/andrenth/ocaml-mariadb"; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-mariadb"; + version = "1.1.6"; + + src = fetchurl { + url = "https://github.com/andrenth/ocaml-mariadb/releases/download/${version}/ocaml-mariadb-${version}.tar.gz"; + sha256 = "sha256-3/C1Gz6luUzS7oaudLlDHMT6JB2v5OdbLVzJhtayHGM="; + }; + + patches = + lib.lists.map + ( + x: + fetchpatch { + url = "https://github.com/andrenth/ocaml-mariadb/commit/${x.path}.patch"; + inherit (x) hash; + } + ) + [ + { + path = "9db2e4d8dec7c584213d0e0f03d079a36a35d9d5"; + hash = "sha256-heROtU02cYBJ5edIHMdYP1xNXcLv8h79GYGBuudJhgE="; + } + { + path = "40cd3102bc7cce4ed826ed609464daeb1bbb4581"; + hash = "sha256-YVsAMJiOgWRk9xPaRz2sDihBYLlXv+rhWtQIMOVLtSg="; + } + ]; + + postPatch = '' + substituteInPlace setup.ml --replace '#use "topfind"' \ + '#directory "${findlib}/lib/ocaml/${ocaml.version}/site-lib/";; #use "topfind"' + ''; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + buildInputs = [ + mariadb + libmysqlclient + camlp-streams + ocamlbuild + ]; + propagatedBuildInputs = [ ctypes ]; + + strictDeps = true; + + preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; + + meta = { + description = "OCaml bindings for MariaDB"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ bcc32 ]; + homepage = "https://github.com/andrenth/ocaml-mariadb"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/markup/default.nix b/pkgs/development/ocaml-modules/markup/default.nix index 2de510919edf1..85a9afd80a222 100644 --- a/pkgs/development/ocaml-modules/markup/default.nix +++ b/pkgs/development/ocaml-modules/markup/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml, uchar, uutf, ounit2 }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + uchar, + uutf, + ounit2, +}: buildDunePackage rec { pname = "markup"; @@ -13,7 +21,10 @@ buildDunePackage rec { sha256 = "sha256-tsXz39qFSyL6vPYKG7P73zSEiraaFuOySL1n0uFij6k="; }; - propagatedBuildInputs = [ uchar uutf ]; + propagatedBuildInputs = [ + uchar + uutf + ]; checkInputs = [ ounit2 ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; diff --git a/pkgs/development/ocaml-modules/mccs/default.nix b/pkgs/development/ocaml-modules/mccs/default.nix index cb77d21479ca6..d939538fa6601 100644 --- a/pkgs/development/ocaml-modules/mccs/default.nix +++ b/pkgs/development/ocaml-modules/mccs/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, cudf }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + cudf, +}: buildDunePackage rec { pname = "mccs"; @@ -21,7 +26,10 @@ buildDunePackage rec { description = "Library providing a multi criteria CUDF solver, part of MANCOOSI project"; downloadPage = "https://github.com/AltGr/ocaml-mccs"; homepage = "https://www.i3s.unice.fr/~cpjm/misc/"; - license = with licenses; [ lgpl21 gpl3 ]; + license = with licenses; [ + lgpl21 + gpl3 + ]; maintainers = [ ]; }; } diff --git a/pkgs/development/ocaml-modules/mec/default.nix b/pkgs/development/ocaml-modules/mec/default.nix index de57b3d44d326..29ed1fc0e8620 100644 --- a/pkgs/development/ocaml-modules/mec/default.nix +++ b/pkgs/development/ocaml-modules/mec/default.nix @@ -1,6 +1,15 @@ -{ lib, fetchzip, buildDunePackage -, zarith, eqaf, bigarray-compat, hex, ff-sig, ff -, alcotest, bisect_ppx +{ + lib, + fetchzip, + buildDunePackage, + zarith, + eqaf, + bigarray-compat, + hex, + ff-sig, + ff, + alcotest, + bisect_ppx, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/memprof-limits/default.nix b/pkgs/development/ocaml-modules/memprof-limits/default.nix index 768c044872820..5548dce3a3d57 100644 --- a/pkgs/development/ocaml-modules/memprof-limits/default.nix +++ b/pkgs/development/ocaml-modules/memprof-limits/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitLab, ocaml }: +{ + lib, + buildDunePackage, + fetchFromGitLab, + ocaml, +}: if !(lib.versionOlder ocaml.version "5.0.0") then throw "memprof-limits is not available for OCaml ${ocaml.version}" @@ -18,8 +23,7 @@ else meta = with lib; { homepage = "https://ocaml.org/p/memprof-limits/latest"; - description = - "Memory limits, allocation limits, and thread cancellation for OCaml"; + description = "Memory limits, allocation limits, and thread cancellation for OCaml"; license = licenses.lgpl3; maintainers = with maintainers; [ alizter ]; }; diff --git a/pkgs/development/ocaml-modules/memtrace/default.nix b/pkgs/development/ocaml-modules/memtrace/default.nix index 03ed32af92139..47520e2e61b71 100644 --- a/pkgs/development/ocaml-modules/memtrace/default.nix +++ b/pkgs/development/ocaml-modules/memtrace/default.nix @@ -1,4 +1,7 @@ -{ lib, buildDunePackage, fetchFromGitHub +{ + lib, + buildDunePackage, + fetchFromGitHub, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix index 04e80d69ebd0d..ae0f15843b30a 100644 --- a/pkgs/development/ocaml-modules/menhir/default.nix +++ b/pkgs/development/ocaml-modules/menhir/default.nix @@ -1,5 +1,9 @@ -{ buildDunePackage, substituteAll, ocaml -, menhirLib, menhirSdk +{ + buildDunePackage, + substituteAll, + ocaml, + menhirLib, + menhirSdk, }: buildDunePackage rec { @@ -9,7 +13,10 @@ buildDunePackage rec { inherit (menhirLib) version src; - buildInputs = [ menhirLib menhirSdk ]; + buildInputs = [ + menhirLib + menhirSdk + ]; patches = [ (substituteAll { diff --git a/pkgs/development/ocaml-modules/menhir/lib.nix b/pkgs/development/ocaml-modules/menhir/lib.nix index 27af2c1b5200e..f421b9de86c5c 100644 --- a/pkgs/development/ocaml-modules/menhir/lib.nix +++ b/pkgs/development/ocaml-modules/menhir/lib.nix @@ -1,15 +1,21 @@ -{ lib -, buildDunePackage -, ocaml -, coqPackages -, version ? if lib.versionAtLeast ocaml.version "4.08" then "20240715" else "20231231" +{ + lib, + buildDunePackage, + ocaml, + coqPackages, + version ? if lib.versionAtLeast ocaml.version "4.08" then "20240715" else "20231231", }: -let fetched = coqPackages.metaFetch ({ +let + fetched = coqPackages.metaFetch ({ release."20231231".sha256 = "sha256-veB0ORHp6jdRwCyDDAfc7a7ov8sOeHUmiELdOFf/QYk="; release."20240715".sha256 = "sha256-9CSxAIm0aEXkwF+aj8u/bqLG30y5eDNz65EnohJPjzI="; releaseRev = v: "${v}"; - location = { domain = "gitlab.inria.fr"; owner = "fpottier"; repo = "menhir"; }; + location = { + domain = "gitlab.inria.fr"; + owner = "fpottier"; + repo = "menhir"; + }; }) version; in buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/menhir/sdk.nix b/pkgs/development/ocaml-modules/menhir/sdk.nix index ad406c8a31dd2..9369be3a49f48 100644 --- a/pkgs/development/ocaml-modules/menhir/sdk.nix +++ b/pkgs/development/ocaml-modules/menhir/sdk.nix @@ -1,5 +1,7 @@ -{ lib, buildDunePackage -, menhirLib +{ + lib, + buildDunePackage, + menhirLib, }: buildDunePackage rec { @@ -12,4 +14,3 @@ buildDunePackage rec { license = with lib.licenses; [ gpl2Only ]; }; } - diff --git a/pkgs/development/ocaml-modules/merlin-extend/default.nix b/pkgs/development/ocaml-modules/merlin-extend/default.nix index 17013a11caad0..8d578539ba86c 100644 --- a/pkgs/development/ocaml-modules/merlin-extend/default.nix +++ b/pkgs/development/ocaml-modules/merlin-extend/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchurl, cppo }: +{ + lib, + buildDunePackage, + fetchurl, + cppo, +}: buildDunePackage rec { pname = "merlin-extend"; diff --git a/pkgs/development/ocaml-modules/metadata/default.nix b/pkgs/development/ocaml-modules/metadata/default.nix index 4fc86d1194700..bbfb4e1e8f7e2 100644 --- a/pkgs/development/ocaml-modules/metadata/default.nix +++ b/pkgs/development/ocaml-modules/metadata/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "metadata"; diff --git a/pkgs/development/ocaml-modules/metrics/default.nix b/pkgs/development/ocaml-modules/metrics/default.nix index 9a0de6212f20d..b1c921ac548c1 100644 --- a/pkgs/development/ocaml-modules/metrics/default.nix +++ b/pkgs/development/ocaml-modules/metrics/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, alcotest, fmt }: +{ + lib, + fetchurl, + buildDunePackage, + alcotest, + fmt, +}: buildDunePackage rec { pname = "metrics"; diff --git a/pkgs/development/ocaml-modules/metrics/influx.nix b/pkgs/development/ocaml-modules/metrics/influx.nix index f004c1042aa73..d4b94bc231e70 100644 --- a/pkgs/development/ocaml-modules/metrics/influx.nix +++ b/pkgs/development/ocaml-modules/metrics/influx.nix @@ -1,5 +1,9 @@ -{ buildDunePackage, metrics -, duration, fmt, lwt +{ + buildDunePackage, + metrics, + duration, + fmt, + lwt, }: buildDunePackage rec { @@ -8,7 +12,12 @@ buildDunePackage rec { duneVersion = "3"; - propagatedBuildInputs = [ duration fmt lwt metrics ]; + propagatedBuildInputs = [ + duration + fmt + lwt + metrics + ]; meta = metrics.meta // { description = "Influx reporter for the Metrics library"; diff --git a/pkgs/development/ocaml-modules/metrics/lwt.nix b/pkgs/development/ocaml-modules/metrics/lwt.nix index 465f4adc5c5dd..782c05d9ca74c 100644 --- a/pkgs/development/ocaml-modules/metrics/lwt.nix +++ b/pkgs/development/ocaml-modules/metrics/lwt.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, logs, lwt, metrics }: +{ + buildDunePackage, + logs, + lwt, + metrics, +}: buildDunePackage { pname = "metrics-lwt"; @@ -7,7 +12,11 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ logs lwt metrics ]; + propagatedBuildInputs = [ + logs + lwt + metrics + ]; meta = metrics.meta // { description = "Lwt backend for the Metrics library"; diff --git a/pkgs/development/ocaml-modules/metrics/rusage.nix b/pkgs/development/ocaml-modules/metrics/rusage.nix index fcc188f7db4b2..bd7d952723ce5 100644 --- a/pkgs/development/ocaml-modules/metrics/rusage.nix +++ b/pkgs/development/ocaml-modules/metrics/rusage.nix @@ -1,5 +1,8 @@ -{ buildDunePackage, metrics -, fmt, logs +{ + buildDunePackage, + metrics, + fmt, + logs, }: buildDunePackage { @@ -9,7 +12,11 @@ buildDunePackage { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ fmt logs metrics ]; + propagatedBuildInputs = [ + fmt + logs + metrics + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/metrics/unix.nix b/pkgs/development/ocaml-modules/metrics/unix.nix index 0c3a1465c2b16..91cb89c15f00b 100644 --- a/pkgs/development/ocaml-modules/metrics/unix.nix +++ b/pkgs/development/ocaml-modules/metrics/unix.nix @@ -1,4 +1,12 @@ -{ buildDunePackage, gnuplot, lwt, metrics, metrics-lwt, mtime, uuidm }: +{ + buildDunePackage, + gnuplot, + lwt, + metrics, + metrics-lwt, + mtime, + uuidm, +}: buildDunePackage rec { @@ -6,7 +14,13 @@ buildDunePackage rec { inherit (metrics) version src; - propagatedBuildInputs = [ gnuplot lwt metrics mtime uuidm ]; + propagatedBuildInputs = [ + gnuplot + lwt + metrics + mtime + uuidm + ]; nativeCheckInputs = [ gnuplot ]; checkInputs = [ metrics-lwt ]; diff --git a/pkgs/development/ocaml-modules/mew/default.nix b/pkgs/development/ocaml-modules/mew/default.nix index 819bb020050c8..479aae5283f0f 100644 --- a/pkgs/development/ocaml-modules/mew/default.nix +++ b/pkgs/development/ocaml-modules/mew/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub -, result, trie +{ + lib, + buildDunePackage, + fetchFromGitHub, + result, + trie, }: buildDunePackage rec { @@ -15,7 +19,10 @@ buildDunePackage rec { sha256 = "0417xsghj92v3xa5q4dk4nzf2r4mylrx2fd18i7cg3nzja65nia2"; }; - propagatedBuildInputs = [ result trie ]; + propagatedBuildInputs = [ + result + trie + ]; meta = { inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/mew_vi/default.nix b/pkgs/development/ocaml-modules/mew_vi/default.nix index 39228585fe3cd..f5ae24e1c5dfd 100644 --- a/pkgs/development/ocaml-modules/mew_vi/default.nix +++ b/pkgs/development/ocaml-modules/mew_vi/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub -, mew, react +{ + lib, + buildDunePackage, + fetchFromGitHub, + mew, + react, }: buildDunePackage rec { @@ -15,7 +19,10 @@ buildDunePackage rec { sha256 = "0lihbf822k5zasl60w5mhwmdkljlq49c9saayrws7g4qc1j353r8"; }; - propagatedBuildInputs = [ mew react ]; + propagatedBuildInputs = [ + mew + react + ]; meta = { inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/middleware/default.nix b/pkgs/development/ocaml-modules/middleware/default.nix index 2cdef2e5a3c4e..13371ab50e305 100644 --- a/pkgs/development/ocaml-modules/middleware/default.nix +++ b/pkgs/development/ocaml-modules/middleware/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, alcotest +{ + lib, + buildDunePackage, + fetchurl, + alcotest, }: buildDunePackage rec { @@ -29,4 +30,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ sixstring982 ]; }; } - diff --git a/pkgs/development/ocaml-modules/mimic/default.nix b/pkgs/development/ocaml-modules/mimic/default.nix index 706286fe26e65..80758efc0ed1b 100644 --- a/pkgs/development/ocaml-modules/mimic/default.nix +++ b/pkgs/development/ocaml-modules/mimic/default.nix @@ -1,6 +1,15 @@ -{ lib, buildDunePackage, fetchurl -, mirage-flow, cstruct, logs, ke, lwt -, alcotest, alcotest-lwt, bigstringaf +{ + lib, + buildDunePackage, + fetchurl, + mirage-flow, + cstruct, + logs, + ke, + lwt, + alcotest, + alcotest-lwt, + bigstringaf, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix b/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix index ede649c695163..1dfdaeb47413d 100644 --- a/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix +++ b/pkgs/development/ocaml-modules/mimic/happy-eyeballs.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, dns-client-mirage, mimic, happy-eyeballs-mirage }: +{ + lib, + buildDunePackage, + dns-client-mirage, + mimic, + happy-eyeballs-mirage, +}: buildDunePackage { pname = "mimic-happy-eyeballs"; diff --git a/pkgs/development/ocaml-modules/minisat/default.nix b/pkgs/development/ocaml-modules/minisat/default.nix index 3a7c222c95728..0148f37c1fca7 100644 --- a/pkgs/development/ocaml-modules/minisat/default.nix +++ b/pkgs/development/ocaml-modules/minisat/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "minisat"; @@ -7,10 +11,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.05"; src = fetchFromGitHub { - owner = "c-cube"; - repo = "ocaml-minisat"; - rev = "v${version}"; - hash = "sha256-dH0Ndlyo/DTZ6Ao1S478aBuxoZFSkRBi5HblkTWCPas="; + owner = "c-cube"; + repo = "ocaml-minisat"; + rev = "v${version}"; + hash = "sha256-dH0Ndlyo/DTZ6Ao1S478aBuxoZFSkRBi5HblkTWCPas="; }; meta = { diff --git a/pkgs/development/ocaml-modules/minttea/default.nix b/pkgs/development/ocaml-modules/minttea/default.nix index 07084c12c8769..3685f2d459b42 100644 --- a/pkgs/development/ocaml-modules/minttea/default.nix +++ b/pkgs/development/ocaml-modules/minttea/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchurl -, riot -, tty +{ + lib, + buildDunePackage, + fetchurl, + riot, + tty, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/miou/default.nix b/pkgs/development/ocaml-modules/miou/default.nix index 1b4e1c318fb30..57c40e831c424 100644 --- a/pkgs/development/ocaml-modules/miou/default.nix +++ b/pkgs/development/ocaml-modules/miou/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "miou"; diff --git a/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix b/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix index a6978d3d5811e..09eb4b0a46824 100644 --- a/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix +++ b/pkgs/development/ocaml-modules/mirage-block-ramdisk/default.nix @@ -1,12 +1,17 @@ -{ lib, fetchurl, buildDunePackage, io-page, mirage-block }: +{ + lib, + fetchurl, + buildDunePackage, + io-page, + mirage-block, +}: buildDunePackage rec { pname = "mirage-block-ramdisk"; version = "0.5"; src = fetchurl { - url = - "https://github.com/mirage/mirage-block-ramdisk/releases/download/${version}/mirage-block-ramdisk-${version}.tbz"; + url = "https://github.com/mirage/mirage-block-ramdisk/releases/download/${version}/mirage-block-ramdisk-${version}.tbz"; sha256 = "cc0e814fd54efe7a5b7a8c5eb1c04e2dece751b7d8dee2d95908a0768896e8af"; }; @@ -18,7 +23,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.06"; duneVersion = "3"; - propagatedBuildInputs = [ io-page mirage-block ]; + propagatedBuildInputs = [ + io-page + mirage-block + ]; doCheck = false; diff --git a/pkgs/development/ocaml-modules/mirage-block-unix/default.nix b/pkgs/development/ocaml-modules/mirage-block-unix/default.nix index e32523c85eb64..8efbe3a4bc9db 100644 --- a/pkgs/development/ocaml-modules/mirage-block-unix/default.nix +++ b/pkgs/development/ocaml-modules/mirage-block-unix/default.nix @@ -1,5 +1,14 @@ -{ lib, fetchurl, buildDunePackage, cstruct-lwt, diet, logs -, mirage-block, ounit2, rresult, uri +{ + lib, + fetchurl, + buildDunePackage, + cstruct-lwt, + diet, + logs, + mirage-block, + ounit2, + rresult, + uri, }: buildDunePackage rec { @@ -7,18 +16,26 @@ buildDunePackage rec { version = "2.14.2"; src = fetchurl { - url = - "https://github.com/mirage/mirage-block-unix/releases/download/v${version}/mirage-block-unix-${version}.tbz"; + url = "https://github.com/mirage/mirage-block-unix/releases/download/v${version}/mirage-block-unix-${version}.tbz"; sha256 = "sha256-6ReAzd+pCd5ccmXOh6GlSxHo4GuEgptxLha62n+dBsE="; }; minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ cstruct-lwt logs mirage-block rresult uri ]; + propagatedBuildInputs = [ + cstruct-lwt + logs + mirage-block + rresult + uri + ]; doCheck = true; - checkInputs = [ diet ounit2 ]; + checkInputs = [ + diet + ounit2 + ]; meta = with lib; { description = "MirageOS disk block driver for Unix"; diff --git a/pkgs/development/ocaml-modules/mirage-block/combinators.nix b/pkgs/development/ocaml-modules/mirage-block/combinators.nix index fc50002da1e62..939cbacbbbb81 100644 --- a/pkgs/development/ocaml-modules/mirage-block/combinators.nix +++ b/pkgs/development/ocaml-modules/mirage-block/combinators.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, mirage-block, logs }: +{ + buildDunePackage, + mirage-block, + logs, +}: buildDunePackage rec { pname = "mirage-block-combinators"; @@ -6,7 +10,10 @@ buildDunePackage rec { duneVersion = "3"; - propagatedBuildInputs = [ mirage-block logs ]; + propagatedBuildInputs = [ + mirage-block + logs + ]; meta = mirage-block.meta // { description = "Block signatures and implementations for MirageOS using Lwt"; diff --git a/pkgs/development/ocaml-modules/mirage-block/default.nix b/pkgs/development/ocaml-modules/mirage-block/default.nix index 0cd1f1717ea66..365eb6a222877 100644 --- a/pkgs/development/ocaml-modules/mirage-block/default.nix +++ b/pkgs/development/ocaml-modules/mirage-block/default.nix @@ -1,5 +1,10 @@ -{ lib, fetchurl, buildDunePackage -, cstruct, lwt, fmt +{ + lib, + fetchurl, + buildDunePackage, + cstruct, + lwt, + fmt, }: buildDunePackage rec { @@ -13,7 +18,11 @@ buildDunePackage rec { hash = "sha256-UALUfeL0G1mfSsLgAb/HpQ6OV12YtY+GUOYG6yhUwAI="; }; - propagatedBuildInputs = [ cstruct lwt fmt ]; + propagatedBuildInputs = [ + cstruct + lwt + fmt + ]; meta = with lib; { description = "Block signatures and implementations for MirageOS"; diff --git a/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix b/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix index d34513afef9f1..3adb2349092e1 100644 --- a/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix +++ b/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchurl, buildDunePackage -, lwt, parse-argv +{ + lib, + fetchurl, + buildDunePackage, + lwt, + parse-argv, }: buildDunePackage rec { @@ -13,7 +17,10 @@ buildDunePackage rec { sha256 = "0r92s6y7nxg0ci330a7p0hii4if51iq0sixn20cnm5j4a2clprbf"; }; - propagatedBuildInputs = [ lwt parse-argv ]; + propagatedBuildInputs = [ + lwt + parse-argv + ]; meta = { description = "Unix implementation of MirageOS Bootvar interface"; diff --git a/pkgs/development/ocaml-modules/mirage-bootvar-xen/default.nix b/pkgs/development/ocaml-modules/mirage-bootvar-xen/default.nix index 1bf622714788d..b2969d3db6821 100644 --- a/pkgs/development/ocaml-modules/mirage-bootvar-xen/default.nix +++ b/pkgs/development/ocaml-modules/mirage-bootvar-xen/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildDunePackage -, fetchurl -, mirage-xen -, parse-argv -, lwt +{ + lib, + buildDunePackage, + fetchurl, + mirage-xen, + parse-argv, + lwt, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mirage-clock/default.nix b/pkgs/development/ocaml-modules/mirage-clock/default.nix index a436f0b59c078..2cf12cec92ec2 100644 --- a/pkgs/development/ocaml-modules/mirage-clock/default.nix +++ b/pkgs/development/ocaml-modules/mirage-clock/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "mirage-clock"; @@ -18,5 +22,3 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; }; } - - diff --git a/pkgs/development/ocaml-modules/mirage-clock/solo5.nix b/pkgs/development/ocaml-modules/mirage-clock/solo5.nix index e13fc60e97bdf..9ea8f53335199 100644 --- a/pkgs/development/ocaml-modules/mirage-clock/solo5.nix +++ b/pkgs/development/ocaml-modules/mirage-clock/solo5.nix @@ -1,5 +1,6 @@ -{ buildDunePackage -, mirage-clock +{ + buildDunePackage, + mirage-clock, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/mirage-clock/unix.nix b/pkgs/development/ocaml-modules/mirage-clock/unix.nix index 6489a4d2566b6..b51f4c4073204 100644 --- a/pkgs/development/ocaml-modules/mirage-clock/unix.nix +++ b/pkgs/development/ocaml-modules/mirage-clock/unix.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, mirage-clock, dune-configurator }: +{ + buildDunePackage, + mirage-clock, + dune-configurator, +}: buildDunePackage { pname = "mirage-clock-unix"; diff --git a/pkgs/development/ocaml-modules/mirage-console/default.nix b/pkgs/development/ocaml-modules/mirage-console/default.nix index b0746c54162af..c22bf4d287f27 100644 --- a/pkgs/development/ocaml-modules/mirage-console/default.nix +++ b/pkgs/development/ocaml-modules/mirage-console/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchurl, buildDunePackage -, lwt, mirage-flow +{ + lib, + fetchurl, + buildDunePackage, + lwt, + mirage-flow, }: buildDunePackage rec { @@ -14,7 +18,10 @@ buildDunePackage rec { hash = "sha256-mjYRisbNOJbYoSuWaGoPueXakmqAwmWh0ATvLLsvpNM="; }; - propagatedBuildInputs = [ lwt mirage-flow ]; + propagatedBuildInputs = [ + lwt + mirage-flow + ]; meta = { description = "Implementations of Mirage console devices"; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix index 154c740bf0016..3f5f763581870 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix @@ -1,6 +1,13 @@ -{ lib, fetchurl, buildDunePackage, ohex, ounit2, dune-configurator, eqaf-cstruct -, withFreestanding ? false -, ocaml-freestanding +{ + lib, + fetchurl, + buildDunePackage, + ohex, + ounit2, + dune-configurator, + eqaf-cstruct, + withFreestanding ? false, + ocaml-freestanding, }: buildDunePackage rec { @@ -15,22 +22,27 @@ buildDunePackage rec { }; doCheck = true; - checkInputs = [ ohex ounit2 ]; - - buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ - eqaf-cstruct - ] ++ lib.optionals withFreestanding [ - ocaml-freestanding + checkInputs = [ + ohex + ounit2 ]; + buildInputs = [ dune-configurator ]; + propagatedBuildInputs = + [ + eqaf-cstruct + ] + ++ lib.optionals withFreestanding [ + ocaml-freestanding + ]; + meta = with lib; { homepage = "https://github.com/mirage/mirage-crypto"; description = "Simple symmetric cryptography for the modern age"; license = [ - licenses.isc # default license + licenses.isc # default license licenses.bsd2 # mirage-crypto-rng-mirage - licenses.mit # mirage-crypto-ec + licenses.mit # mirage-crypto-ec ]; maintainers = with maintainers; [ sternenseemann ]; }; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/ec.nix b/pkgs/development/ocaml-modules/mirage-crypto/ec.nix index 4fa3d2389f7b3..c7bc636ff68c0 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/ec.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/ec.nix @@ -1,19 +1,20 @@ -{ lib -, buildDunePackage -, mirage-crypto -, dune-configurator -, pkg-config -, mirage-crypto-rng -, mirage-crypto-pk -, alcotest -, asn1-combinators -, ohex -, ounit2 -, ppx_deriving_yojson -, ppx_deriving -, yojson -, withFreestanding ? false -, ocaml-freestanding +{ + lib, + buildDunePackage, + mirage-crypto, + dune-configurator, + pkg-config, + mirage-crypto-rng, + mirage-crypto-pk, + alcotest, + asn1-combinators, + ohex, + ounit2, + ppx_deriving_yojson, + ppx_deriving, + yojson, + withFreestanding ? false, + ocaml-freestanding, }: buildDunePackage rec { @@ -21,18 +22,21 @@ buildDunePackage rec { inherit (mirage-crypto) src - version; + version + ; nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ - mirage-crypto - mirage-crypto-rng - ] ++ lib.optionals withFreestanding [ - ocaml-freestanding - ]; + propagatedBuildInputs = + [ + mirage-crypto + mirage-crypto-rng + ] + ++ lib.optionals withFreestanding [ + ocaml-freestanding + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/pk.nix b/pkgs/development/ocaml-modules/mirage-crypto/pk.nix index 3b647e90b37bf..6d637e0259056 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/pk.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/pk.nix @@ -1,5 +1,14 @@ -{ buildDunePackage, ohex, ounit2, randomconv, mirage-crypto, mirage-crypto-rng -, sexplib0, zarith, gmp }: +{ + buildDunePackage, + ohex, + ounit2, + randomconv, + mirage-crypto, + mirage-crypto-rng, + sexplib0, + zarith, + gmp, +}: buildDunePackage rec { pname = "mirage-crypto-pk"; @@ -7,11 +16,19 @@ buildDunePackage rec { inherit (mirage-crypto) version src; buildInputs = [ gmp ]; - propagatedBuildInputs = [ mirage-crypto mirage-crypto-rng - zarith sexplib0 ]; + propagatedBuildInputs = [ + mirage-crypto + mirage-crypto-rng + zarith + sexplib0 + ]; doCheck = true; - checkInputs = [ ohex ounit2 randomconv ]; + checkInputs = [ + ohex + ounit2 + randomconv + ]; meta = mirage-crypto.meta // { description = "Simple public-key cryptography for the modern age"; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix index bc94e33313164..fef5f1231a36d 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix @@ -1,6 +1,10 @@ -{ buildDunePackage -, mirage-crypto, mirage-crypto-rng -, dune-configurator, async, logs +{ + buildDunePackage, + mirage-crypto, + mirage-crypto-rng, + dune-configurator, + async, + logs, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix index bcaac601c95c2..94759076251bb 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-lwt.nix @@ -1,5 +1,13 @@ -{ buildDunePackage, mirage-crypto, mirage-crypto-rng, dune-configurator -, duration, logs, mtime, lwt }: +{ + buildDunePackage, + mirage-crypto, + mirage-crypto-rng, + dune-configurator, + duration, + logs, + mtime, + lwt, +}: buildDunePackage rec { pname = "mirage-crypto-rng-lwt"; @@ -11,7 +19,14 @@ buildDunePackage rec { doCheck = true; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ mirage-crypto mirage-crypto-rng duration logs mtime lwt ]; + propagatedBuildInputs = [ + mirage-crypto + mirage-crypto-rng + duration + logs + mtime + lwt + ]; meta = mirage-crypto-rng.meta; } diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix index 78c64d9812973..60da0b042b4a4 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix @@ -1,7 +1,16 @@ -{ buildDunePackage, mirage-crypto-rng, duration, mirage-runtime -, mirage-time, mirage-clock, mirage-unix, mirage-time-unix, mirage-clock-unix -, logs, lwt -, ohex +{ + buildDunePackage, + mirage-crypto-rng, + duration, + mirage-runtime, + mirage-time, + mirage-clock, + mirage-unix, + mirage-time-unix, + mirage-clock-unix, + logs, + lwt, + ohex, }: buildDunePackage rec { @@ -10,10 +19,22 @@ buildDunePackage rec { inherit (mirage-crypto-rng) version src; doCheck = true; - checkInputs = [ mirage-unix mirage-clock-unix mirage-time-unix ohex ]; + checkInputs = [ + mirage-unix + mirage-clock-unix + mirage-time-unix + ohex + ]; - propagatedBuildInputs = [ duration mirage-crypto-rng mirage-runtime - mirage-time mirage-clock logs lwt ]; + propagatedBuildInputs = [ + duration + mirage-crypto-rng + mirage-runtime + mirage-time + mirage-clock + logs + lwt + ]; meta = mirage-crypto-rng.meta // { description = "Entropy collection for a cryptographically secure PRNG"; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix index b1c4be4a62344..c91c80a893c40 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix @@ -1,5 +1,14 @@ -{ buildDunePackage, mirage-crypto, ohex, ounit2, randomconv, dune-configurator -, digestif, duration, logs }: +{ + buildDunePackage, + mirage-crypto, + ohex, + ounit2, + randomconv, + dune-configurator, + digestif, + duration, + logs, +}: buildDunePackage rec { pname = "mirage-crypto-rng"; @@ -7,10 +16,19 @@ buildDunePackage rec { inherit (mirage-crypto) version src; doCheck = true; - checkInputs = [ ohex ounit2 randomconv ]; + checkInputs = [ + ohex + ounit2 + randomconv + ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ digestif mirage-crypto duration logs ]; + propagatedBuildInputs = [ + digestif + mirage-crypto + duration + logs + ]; meta = mirage-crypto.meta // { description = "Cryptographically secure PRNG"; diff --git a/pkgs/development/ocaml-modules/mirage-device/default.nix b/pkgs/development/ocaml-modules/mirage-device/default.nix index d233277b7a794..dd036c033c223 100644 --- a/pkgs/development/ocaml-modules/mirage-device/default.nix +++ b/pkgs/development/ocaml-modules/mirage-device/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchurl, fmt, ocaml_lwt }: +{ + lib, + buildDunePackage, + fetchurl, + fmt, + ocaml_lwt, +}: buildDunePackage rec { pname = "mirage-device"; @@ -11,7 +17,10 @@ buildDunePackage rec { sha256 = "18alxyi6wlxqvb4lajjlbdfkgcajsmklxi9xqmpcz07j51knqa04"; }; - propagatedBuildInputs = [ fmt ocaml_lwt ]; + propagatedBuildInputs = [ + fmt + ocaml_lwt + ]; meta = { description = "Abstract devices for MirageOS"; @@ -20,5 +29,3 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; }; } - - diff --git a/pkgs/development/ocaml-modules/mirage-flow/combinators.nix b/pkgs/development/ocaml-modules/mirage-flow/combinators.nix index 290787bf639fd..9370117bcc10a 100644 --- a/pkgs/development/ocaml-modules/mirage-flow/combinators.nix +++ b/pkgs/development/ocaml-modules/mirage-flow/combinators.nix @@ -1,4 +1,11 @@ -{ buildDunePackage, mirage-flow, lwt, logs, cstruct, mirage-clock }: +{ + buildDunePackage, + mirage-flow, + lwt, + logs, + cstruct, + mirage-clock, +}: buildDunePackage { pname = "mirage-flow-combinators"; @@ -7,7 +14,13 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ lwt logs cstruct mirage-clock mirage-flow ]; + propagatedBuildInputs = [ + lwt + logs + cstruct + mirage-clock + mirage-flow + ]; meta = mirage-flow.meta // { description = "Flow implementations and combinators for MirageOS specialized to lwt"; diff --git a/pkgs/development/ocaml-modules/mirage-flow/default.nix b/pkgs/development/ocaml-modules/mirage-flow/default.nix index d95104c3c6b6e..c1239ce00f259 100644 --- a/pkgs/development/ocaml-modules/mirage-flow/default.nix +++ b/pkgs/development/ocaml-modules/mirage-flow/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchurl, cstruct, fmt, lwt }: +{ + lib, + buildDunePackage, + fetchurl, + cstruct, + fmt, + lwt, +}: buildDunePackage rec { pname = "mirage-flow"; @@ -11,7 +18,11 @@ buildDunePackage rec { hash = "sha256-SGXj3S4b53O9JENUFuMl3I+QoiZ0QSrYu7zTet7q+1o="; }; - propagatedBuildInputs = [ cstruct fmt lwt ]; + propagatedBuildInputs = [ + cstruct + fmt + lwt + ]; meta = { description = "Flow implementations and combinators for MirageOS"; @@ -20,5 +31,3 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; }; } - - diff --git a/pkgs/development/ocaml-modules/mirage-flow/unix.nix b/pkgs/development/ocaml-modules/mirage-flow/unix.nix index 12681911a3de1..3571676f395d5 100644 --- a/pkgs/development/ocaml-modules/mirage-flow/unix.nix +++ b/pkgs/development/ocaml-modules/mirage-flow/unix.nix @@ -1,5 +1,12 @@ -{ buildDunePackage, fmt, logs, mirage-flow, ocaml_lwt, cstruct -, alcotest, mirage-flow-combinators +{ + buildDunePackage, + fmt, + logs, + mirage-flow, + ocaml_lwt, + cstruct, + alcotest, + mirage-flow-combinators, }: buildDunePackage { @@ -14,10 +21,19 @@ buildDunePackage { substituteInPlace test/test.ml --replace 'Fmt.kstrf Alcotest.fail' 'Fmt.kstrf (fun s -> Alcotest.fail s)' ''; - propagatedBuildInputs = [ fmt logs mirage-flow ocaml_lwt cstruct ]; + propagatedBuildInputs = [ + fmt + logs + mirage-flow + ocaml_lwt + cstruct + ]; doCheck = true; - checkInputs = [ alcotest mirage-flow-combinators ]; + checkInputs = [ + alcotest + mirage-flow-combinators + ]; meta = mirage-flow.meta // { description = "Flow implementations and combinators for MirageOS on Unix"; diff --git a/pkgs/development/ocaml-modules/mirage-kv/default.nix b/pkgs/development/ocaml-modules/mirage-kv/default.nix index 97eb3128e15b8..cdcde9fee3225 100644 --- a/pkgs/development/ocaml-modules/mirage-kv/default.nix +++ b/pkgs/development/ocaml-modules/mirage-kv/default.nix @@ -1,9 +1,12 @@ -{ lib, fetchurl, buildDunePackage -, fmt -, lwt -, optint -, ptime -, alcotest +{ + lib, + fetchurl, + buildDunePackage, + fmt, + lwt, + optint, + ptime, + alcotest, }: buildDunePackage rec { @@ -17,7 +20,12 @@ buildDunePackage rec { hash = "sha256-fNXNlaDpb5zUA2rTwi5h1j4v4LQmovxG+Am6u+1guPQ="; }; - propagatedBuildInputs = [ fmt lwt optint ptime ]; + propagatedBuildInputs = [ + fmt + lwt + optint + ptime + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/mirage-logs/default.nix b/pkgs/development/ocaml-modules/mirage-logs/default.nix index ef842ec7318f2..c5200e186a7e9 100644 --- a/pkgs/development/ocaml-modules/mirage-logs/default.nix +++ b/pkgs/development/ocaml-modules/mirage-logs/default.nix @@ -1,6 +1,14 @@ -{ lib, fetchurl, buildDunePackage -, logs, fmt, ptime, mirage-clock, cmdliner -, lwt, alcotest +{ + lib, + fetchurl, + buildDunePackage, + logs, + fmt, + ptime, + mirage-clock, + cmdliner, + lwt, + alcotest, }: buildDunePackage rec { @@ -14,10 +22,19 @@ buildDunePackage rec { hash = "sha256-rorCsgw7QCQmjotr465KShQGWdoUM88djpwgqwBGnLs="; }; - propagatedBuildInputs = [ logs fmt ptime mirage-clock cmdliner ]; + propagatedBuildInputs = [ + logs + fmt + ptime + mirage-clock + cmdliner + ]; doCheck = true; - checkInputs = [ lwt alcotest ]; + checkInputs = [ + lwt + alcotest + ]; meta = { description = "Reporter for the Logs library that writes log messages to stderr, using a Mirage `CLOCK` to add timestamps"; diff --git a/pkgs/development/ocaml-modules/mirage-nat/default.nix b/pkgs/development/ocaml-modules/mirage-nat/default.nix index f0a89f37f418d..4515507c5cfaa 100644 --- a/pkgs/development/ocaml-modules/mirage-nat/default.nix +++ b/pkgs/development/ocaml-modules/mirage-nat/default.nix @@ -1,7 +1,15 @@ -{ lib, buildDunePackage, fetchurl -, ipaddr, cstruct, logs, lru -, tcpip, ethernet -, alcotest, mirage-clock-unix +{ + lib, + buildDunePackage, + fetchurl, + ipaddr, + cstruct, + logs, + lru, + tcpip, + ethernet, + alcotest, + mirage-clock-unix, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mirage-net-xen/default.nix b/pkgs/development/ocaml-modules/mirage-net-xen/default.nix index 766db21c90abb..7ed0187355227 100644 --- a/pkgs/development/ocaml-modules/mirage-net-xen/default.nix +++ b/pkgs/development/ocaml-modules/mirage-net-xen/default.nix @@ -1,13 +1,14 @@ -{ buildDunePackage -, netchannel -, ppx_sexp_conv -, lwt -, cstruct -, mirage-net -, mirage-xen -, io-page -, lwt-dllist -, logs +{ + buildDunePackage, + netchannel, + ppx_sexp_conv, + lwt, + cstruct, + mirage-net, + mirage-xen, + io-page, + lwt-dllist, + logs, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/mirage-net/default.nix b/pkgs/development/ocaml-modules/mirage-net/default.nix index bf4992df76f43..ef8aefa2db531 100644 --- a/pkgs/development/ocaml-modules/mirage-net/default.nix +++ b/pkgs/development/ocaml-modules/mirage-net/default.nix @@ -1,5 +1,12 @@ -{ lib, fetchurl, buildDunePackage -, cstruct, fmt, lwt, macaddr, mirage-device +{ + lib, + fetchurl, + buildDunePackage, + cstruct, + fmt, + lwt, + macaddr, + mirage-device, }: buildDunePackage rec { @@ -13,7 +20,13 @@ buildDunePackage rec { hash = "sha256-Zo7/0Ye4GgqzJFCHDBXbuJ/5ETl/8ziolRgH4lDhlM4="; }; - propagatedBuildInputs = [ cstruct fmt lwt macaddr mirage-device ]; + propagatedBuildInputs = [ + cstruct + fmt + lwt + macaddr + mirage-device + ]; meta = { description = "Network signatures for MirageOS"; diff --git a/pkgs/development/ocaml-modules/mirage-profile/default.nix b/pkgs/development/ocaml-modules/mirage-profile/default.nix index 2aba97944e17e..f363df5136ed3 100644 --- a/pkgs/development/ocaml-modules/mirage-profile/default.nix +++ b/pkgs/development/ocaml-modules/mirage-profile/default.nix @@ -1,6 +1,11 @@ -{ lib, fetchurl, buildDunePackage -, ppx_cstruct, stdlib-shims -, cstruct, lwt +{ + lib, + fetchurl, + buildDunePackage, + ppx_cstruct, + stdlib-shims, + cstruct, + lwt, }: buildDunePackage rec { @@ -15,7 +20,11 @@ buildDunePackage rec { }; buildInputs = [ ppx_cstruct ]; - propagatedBuildInputs = [ cstruct lwt stdlib-shims ]; + propagatedBuildInputs = [ + cstruct + lwt + stdlib-shims + ]; meta = with lib; { description = "Collect runtime profiling information in CTF format"; diff --git a/pkgs/development/ocaml-modules/mirage-protocols/default.nix b/pkgs/development/ocaml-modules/mirage-protocols/default.nix index 2c80507051e5f..c0d375a3c627b 100644 --- a/pkgs/development/ocaml-modules/mirage-protocols/default.nix +++ b/pkgs/development/ocaml-modules/mirage-protocols/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildDunePackage -, fetchurl -, arp -, ethernet -, ipaddr -, tcpip +{ + lib, + buildDunePackage, + fetchurl, + arp, + ethernet, + ipaddr, + tcpip, }: buildDunePackage rec { @@ -18,7 +19,12 @@ buildDunePackage rec { hash = "sha256-UDCR4Jq3tw9P/Ilw7T4+3+yi9Q7VFqnHhXeSCvg9dyw="; }; - propagatedBuildInputs = [ arp ethernet ipaddr tcpip ]; + propagatedBuildInputs = [ + arp + ethernet + ipaddr + tcpip + ]; meta = { description = "MirageOS signatures for network protocols"; @@ -27,5 +33,3 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; }; } - - diff --git a/pkgs/development/ocaml-modules/mirage-random-test/default.nix b/pkgs/development/ocaml-modules/mirage-random-test/default.nix index 24339b49568cc..545f4f1d2e9a3 100644 --- a/pkgs/development/ocaml-modules/mirage-random-test/default.nix +++ b/pkgs/development/ocaml-modules/mirage-random-test/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchurl -, cstruct, mirage-random +{ + lib, + buildDunePackage, + fetchurl, + cstruct, + mirage-random, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mirage-random/default.nix b/pkgs/development/ocaml-modules/mirage-random/default.nix index ba70665c6edef..e016f47cd0d54 100644 --- a/pkgs/development/ocaml-modules/mirage-random/default.nix +++ b/pkgs/development/ocaml-modules/mirage-random/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchurl, cstruct }: +{ + lib, + buildDunePackage, + fetchurl, + cstruct, +}: buildDunePackage rec { pname = "mirage-random"; diff --git a/pkgs/development/ocaml-modules/mirage-time/default.nix b/pkgs/development/ocaml-modules/mirage-time/default.nix index 6b4b5f9ac7212..5daedf448f335 100644 --- a/pkgs/development/ocaml-modules/mirage-time/default.nix +++ b/pkgs/development/ocaml-modules/mirage-time/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchurl, lwt }: +{ + lib, + buildDunePackage, + fetchurl, + lwt, +}: buildDunePackage rec { minimalOCamlVersion = "4.08"; diff --git a/pkgs/development/ocaml-modules/mirage-time/unix.nix b/pkgs/development/ocaml-modules/mirage-time/unix.nix index 5771a3e2deeac..4502f6f1c03c7 100644 --- a/pkgs/development/ocaml-modules/mirage-time/unix.nix +++ b/pkgs/development/ocaml-modules/mirage-time/unix.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, mirage-time, lwt, duration }: +{ + buildDunePackage, + mirage-time, + lwt, + duration, +}: buildDunePackage { pname = "mirage-time-unix"; @@ -6,7 +11,11 @@ buildDunePackage { inherit (mirage-time) src version; duneVersion = "3"; - propagatedBuildInputs = [ mirage-time lwt duration ]; + propagatedBuildInputs = [ + mirage-time + lwt + duration + ]; meta = mirage-time.meta // { description = "Time operations for MirageOS on Unix"; diff --git a/pkgs/development/ocaml-modules/mirage-unix/default.nix b/pkgs/development/ocaml-modules/mirage-unix/default.nix index c0ce9fec102c7..16df20d6f3f19 100644 --- a/pkgs/development/ocaml-modules/mirage-unix/default.nix +++ b/pkgs/development/ocaml-modules/mirage-unix/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchurl, lwt, duration, mirage-runtime }: +{ + lib, + buildDunePackage, + fetchurl, + lwt, + duration, + mirage-runtime, +}: buildDunePackage rec { pname = "mirage-unix"; @@ -11,7 +18,11 @@ buildDunePackage rec { hash = "sha256-U1oLznUDBcJLcVygfSiyl5qRLDM27cm/WrjT0vSGhPg="; }; - propagatedBuildInputs = [ lwt duration mirage-runtime ]; + propagatedBuildInputs = [ + lwt + duration + mirage-runtime + ]; doCheck = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/mirage-vnetif/default.nix b/pkgs/development/ocaml-modules/mirage-vnetif/default.nix index 95a1e585754e3..42378cd72a5b4 100644 --- a/pkgs/development/ocaml-modules/mirage-vnetif/default.nix +++ b/pkgs/development/ocaml-modules/mirage-vnetif/default.nix @@ -1,7 +1,14 @@ -{ lib, buildDunePackage, fetchurl -, lwt, mirage-net -, cstruct, ipaddr, macaddr -, duration, logs +{ + lib, + buildDunePackage, + fetchurl, + lwt, + mirage-net, + cstruct, + ipaddr, + macaddr, + duration, + logs, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mirage-xen/default.nix b/pkgs/development/ocaml-modules/mirage-xen/default.nix index 8f174f01ccb94..184abc551f731 100644 --- a/pkgs/development/ocaml-modules/mirage-xen/default.nix +++ b/pkgs/development/ocaml-modules/mirage-xen/default.nix @@ -1,18 +1,19 @@ -{ lib -, buildDunePackage -, fetchurl -, cstruct -, lwt -, shared-memory-ring-lwt -, xenstore -, lwt-dllist -, mirage-profile -, mirage-runtime -, logs -, fmt -, bheap -, duration -, io-page +{ + lib, + buildDunePackage, + fetchurl, + cstruct, + lwt, + shared-memory-ring-lwt, + xenstore, + lwt-dllist, + mirage-profile, + mirage-runtime, + logs, + fmt, + bheap, + duration, + io-page, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mirage/default.nix b/pkgs/development/ocaml-modules/mirage/default.nix index 3317a51cf3a49..018f818d6350f 100644 --- a/pkgs/development/ocaml-modules/mirage/default.nix +++ b/pkgs/development/ocaml-modules/mirage/default.nix @@ -1,6 +1,14 @@ -{ buildDunePackage, ocaml, alcotest -, functoria, mirage-runtime, bos -, ipaddr, astring, logs, stdlib-shims +{ + buildDunePackage, + ocaml, + alcotest, + functoria, + mirage-runtime, + bos, + ipaddr, + astring, + logs, + stdlib-shims, }: buildDunePackage rec { @@ -9,7 +17,10 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; propagatedBuildInputs = [ ipaddr diff --git a/pkgs/development/ocaml-modules/mirage/runtime.nix b/pkgs/development/ocaml-modules/mirage/runtime.nix index d3b847d6da477..399a68b2630d6 100644 --- a/pkgs/development/ocaml-modules/mirage/runtime.nix +++ b/pkgs/development/ocaml-modules/mirage/runtime.nix @@ -1,6 +1,11 @@ -{ lib, buildDunePackage, ipaddr, functoria-runtime -, logs, lwt -, alcotest +{ + lib, + buildDunePackage, + ipaddr, + functoria-runtime, + logs, + lwt, + alcotest, }: buildDunePackage rec { @@ -9,7 +14,12 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ ipaddr functoria-runtime logs lwt ]; + propagatedBuildInputs = [ + ipaddr + functoria-runtime + logs + lwt + ]; checkInputs = [ alcotest ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/mldoc/default.nix b/pkgs/development/ocaml-modules/mldoc/default.nix index b66617f7d2860..20398177d1353 100644 --- a/pkgs/development/ocaml-modules/mldoc/default.nix +++ b/pkgs/development/ocaml-modules/mldoc/default.nix @@ -1,19 +1,20 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, fetchpatch -, angstrom -, cmdliner -, core -, core_bench -, core_unix ? null -, js_of_ocaml -, js_of_ocaml-ppx -, ppx_deriving_yojson -, uri -, yojson -, lwt -, xmlm +{ + lib, + buildDunePackage, + fetchFromGitHub, + fetchpatch, + angstrom, + cmdliner, + core, + core_bench, + core_unix ? null, + js_of_ocaml, + js_of_ocaml-ppx, + ppx_deriving_yojson, + uri, + yojson, + lwt, + xmlm, }: let angstrom' = angstrom.overrideAttrs (attrs: { diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix index c28a6fba99029..ee578464641f7 100644 --- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix +++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix @@ -1,4 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, perl, ocaml, findlib, camlidl, gmp, mpfr, bigarray-compat }: +{ + stdenv, + lib, + fetchFromGitHub, + perl, + ocaml, + findlib, + camlidl, + gmp, + mpfr, + bigarray-compat, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-mlgmpidl"; @@ -10,8 +21,16 @@ stdenv.mkDerivation rec { hash = "sha256-ZmSDKZiHko8MCeIuZL53HjupfwO6PAm8QOCc9O3xJOk="; }; - nativeBuildInputs = [ perl ocaml findlib camlidl ]; - buildInputs = [ gmp mpfr ]; + nativeBuildInputs = [ + perl + ocaml + findlib + camlidl + ]; + buildInputs = [ + gmp + mpfr + ]; propagatedBuildInputs = [ bigarray-compat ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/mm/default.nix b/pkgs/development/ocaml-modules/mm/default.nix index b0896d2fd6a75..f7e3eb3233712 100644 --- a/pkgs/development/ocaml-modules/mm/default.nix +++ b/pkgs/development/ocaml-modules/mm/default.nix @@ -1,5 +1,13 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator -, alsa, ao, mad, pulseaudio, theora +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + alsa, + ao, + mad, + pulseaudio, + theora, }: buildDunePackage rec { @@ -18,7 +26,13 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ alsa ao mad pulseaudio theora ]; # ocamlsdl is blocked in nixpkgs from building for ocaml >= 4.06 + propagatedBuildInputs = [ + alsa + ao + mad + pulseaudio + theora + ]; # ocamlsdl is blocked in nixpkgs from building for ocaml >= 4.06 meta = with lib; { homepage = "https://github.com/savonet/ocaml-mm"; diff --git a/pkgs/development/ocaml-modules/mmap/default.nix b/pkgs/development/ocaml-modules/mmap/default.nix index b13639150b0d9..ea9740494ad76 100644 --- a/pkgs/development/ocaml-modules/mmap/default.nix +++ b/pkgs/development/ocaml-modules/mmap/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "mmap"; diff --git a/pkgs/development/ocaml-modules/morbig/default.nix b/pkgs/development/ocaml-modules/morbig/default.nix index 6b8adcf7429c1..76150f19cf180 100644 --- a/pkgs/development/ocaml-modules/morbig/default.nix +++ b/pkgs/development/ocaml-modules/morbig/default.nix @@ -1,5 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub -, menhir, menhirLib, ppx_deriving_yojson, visitors, yojson +{ + lib, + buildDunePackage, + fetchFromGitHub, + menhir, + menhirLib, + ppx_deriving_yojson, + visitors, + yojson, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mparser/default.nix b/pkgs/development/ocaml-modules/mparser/default.nix index 602545382bc41..d9fa6326e93f8 100644 --- a/pkgs/development/ocaml-modules/mparser/default.nix +++ b/pkgs/development/ocaml-modules/mparser/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "mparser"; diff --git a/pkgs/development/ocaml-modules/mparser/pcre.nix b/pkgs/development/ocaml-modules/mparser/pcre.nix index 6656deef14710..86ddc6c8c3c22 100644 --- a/pkgs/development/ocaml-modules/mparser/pcre.nix +++ b/pkgs/development/ocaml-modules/mparser/pcre.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, ocaml_pcre, mparser }: +{ + buildDunePackage, + ocaml_pcre, + mparser, +}: buildDunePackage rec { pname = "mparser-pcre"; @@ -6,7 +10,12 @@ buildDunePackage rec { inherit (mparser) src version; - propagatedBuildInputs = [ ocaml_pcre mparser ]; + propagatedBuildInputs = [ + ocaml_pcre + mparser + ]; - meta = mparser.meta // { description = "PCRE-based regular expressions"; }; + meta = mparser.meta // { + description = "PCRE-based regular expressions"; + }; } diff --git a/pkgs/development/ocaml-modules/mrmime/default.nix b/pkgs/development/ocaml-modules/mrmime/default.nix index 758d27e45f1ce..b9a72244300c6 100644 --- a/pkgs/development/ocaml-modules/mrmime/default.nix +++ b/pkgs/development/ocaml-modules/mrmime/default.nix @@ -1,26 +1,27 @@ -{ afl-persistent -, alcotest -, angstrom -, base64 -, bigarray-overlap -, bigstringaf -, buildDunePackage -, cmdliner -, emile -, fetchurl -, fpath -, hxd -, ipaddr -, jsonm -, ke -, lib -, mirage-crypto-rng -, pecu -, prettym -, ptime -, rosetta -, unstrctrd -, uutf +{ + afl-persistent, + alcotest, + angstrom, + base64, + bigarray-overlap, + bigstringaf, + buildDunePackage, + cmdliner, + emile, + fetchurl, + fpath, + hxd, + ipaddr, + jsonm, + ke, + lib, + mirage-crypto-rng, + pecu, + prettym, + ptime, + rosetta, + unstrctrd, + uutf, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/msat/default.nix b/pkgs/development/ocaml-modules/msat/default.nix index 7cb512a942d11..43d9d0e776940 100644 --- a/pkgs/development/ocaml-modules/msat/default.nix +++ b/pkgs/development/ocaml-modules/msat/default.nix @@ -1,7 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage -, iter -, containers -, mdx +{ + lib, + fetchFromGitHub, + buildDunePackage, + iter, + containers, + mdx, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/msgpck/default.nix b/pkgs/development/ocaml-modules/msgpck/default.nix index a766f24913667..bfee304681bb6 100644 --- a/pkgs/development/ocaml-modules/msgpck/default.nix +++ b/pkgs/development/ocaml-modules/msgpck/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, ocplib-endian -, alcotest +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocplib-endian, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix index 902a1dbeefc75..4c6677114b091 100644 --- a/pkgs/development/ocaml-modules/mtime/default.nix +++ b/pkgs/development/ocaml-modules/mtime/default.nix @@ -1,29 +1,43 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "mtime is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-mtime"; - version = "2.1.0"; + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-mtime"; + version = "2.1.0"; - src = fetchurl { - url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz"; - sha256 = "sha256-CXyygC43AerZVy4bSD1aKMbi8KOUSfqvm0StiomDTYg="; - }; + src = fetchurl { + url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz"; + sha256 = "sha256-CXyygC43AerZVy4bSD1aKMbi8KOUSfqvm0StiomDTYg="; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - strictDeps = true; + strictDeps = true; - inherit (topkg) buildPhase installPhase; + inherit (topkg) buildPhase installPhase; - meta = with lib; { - description = "Monotonic wall-clock time for OCaml"; - homepage = "https://erratique.ch/software/mtime"; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.vbgl ]; - license = licenses.bsd3; - }; -} + meta = with lib; { + description = "Monotonic wall-clock time for OCaml"; + homepage = "https://erratique.ch/software/mtime"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.vbgl ]; + license = licenses.bsd3; + }; + } diff --git a/pkgs/development/ocaml-modules/multicore-bench/default.nix b/pkgs/development/ocaml-modules/multicore-bench/default.nix index 5e1d2275e5b60..7f367f983eeac 100644 --- a/pkgs/development/ocaml-modules/multicore-bench/default.nix +++ b/pkgs/development/ocaml-modules/multicore-bench/default.nix @@ -1,5 +1,11 @@ -{ lib, buildDunePackage, fetchurl -, domain-local-await, mtime, multicore-magic, yojson +{ + lib, + buildDunePackage, + fetchurl, + domain-local-await, + mtime, + multicore-magic, + yojson, }: buildDunePackage rec { @@ -11,7 +17,12 @@ buildDunePackage rec { hash = "sha256-iCx5QvhYo/e53cW23Sza2as4aez4HeESVvLPF1DW85A="; }; - propagatedBuildInputs = [ domain-local-await mtime multicore-magic yojson ]; + propagatedBuildInputs = [ + domain-local-await + mtime + multicore-magic + yojson + ]; meta = { description = "Framework for writing multicore benchmark executables to run on current-bench"; diff --git a/pkgs/development/ocaml-modules/multicore-magic/default.nix b/pkgs/development/ocaml-modules/multicore-magic/default.nix index 3082eece19cf1..534d47dfaa56c 100644 --- a/pkgs/development/ocaml-modules/multicore-magic/default.nix +++ b/pkgs/development/ocaml-modules/multicore-magic/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchurl -, alcotest, domain_shims +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + domain_shims, }: buildDunePackage rec { @@ -13,7 +17,10 @@ buildDunePackage rec { doCheck = true; - checkInputs = [ alcotest domain_shims ]; + checkInputs = [ + alcotest + domain_shims + ]; meta = { description = "Low-level multicore utilities for OCaml"; diff --git a/pkgs/development/ocaml-modules/multipart-form-data/default.nix b/pkgs/development/ocaml-modules/multipart-form-data/default.nix index 4d44f3b977635..fc5e9a0bbf6d3 100644 --- a/pkgs/development/ocaml-modules/multipart-form-data/default.nix +++ b/pkgs/development/ocaml-modules/multipart-form-data/default.nix @@ -1,6 +1,12 @@ -{ lib, fetchFromGitHub, buildDunePackage -, lwt, lwt_ppx, stringext -, alcotest }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + lwt, + lwt_ppx, + stringext, + alcotest, +}: buildDunePackage rec { pname = "multipart-form-data"; @@ -14,7 +20,10 @@ buildDunePackage rec { }; buildInputs = [ lwt_ppx ]; - propagatedBuildInputs = [ lwt stringext ]; + propagatedBuildInputs = [ + lwt + stringext + ]; duneVersion = "3"; diff --git a/pkgs/development/ocaml-modules/mustache/default.nix b/pkgs/development/ocaml-modules/mustache/default.nix index ce2201c37873f..cefb4d3c1b77b 100644 --- a/pkgs/development/ocaml-modules/mustache/default.nix +++ b/pkgs/development/ocaml-modules/mustache/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, ezjsonm, menhir, menhirLib, ounit }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ezjsonm, + menhir, + menhirLib, + ounit, +}: buildDunePackage rec { pname = "mustache"; diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix index c980984a26c8c..0bd9a412a3164 100644 --- a/pkgs/development/ocaml-modules/mysql/default.nix +++ b/pkgs/development/ocaml-modules/mysql/default.nix @@ -1,4 +1,12 @@ -{ stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, libmysqlclient }: +{ + stdenv, + lib, + fetchurl, + fetchpatch, + ocaml, + findlib, + libmysqlclient, +}: # TODO: la versione stabile da' un errore di compilazione dovuto a # qualche cambiamento negli header .h @@ -18,11 +26,14 @@ stdenv.mkDerivation rec { }; configureFlags = [ - "--prefix=$out" - "--libdir=$out/lib/ocaml/${ocaml.version}/site-lib/mysql" + "--prefix=$out" + "--libdir=$out/lib/ocaml/${ocaml.version}/site-lib/mysql" ]; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/netchannel/default.nix b/pkgs/development/ocaml-modules/netchannel/default.nix index 8b0dbec39276a..9e4f8015b557a 100644 --- a/pkgs/development/ocaml-modules/netchannel/default.nix +++ b/pkgs/development/ocaml-modules/netchannel/default.nix @@ -1,20 +1,21 @@ -{ lib -, buildDunePackage -, fetchurl -, ppx_sexp_conv -, ppx_cstruct -, lwt -, mirage-net -, io-page -, mirage-xen -, ipaddr -, mirage-profile -, shared-memory-ring -, sexplib -, logs -, macaddr -, lwt-dllist -, result +{ + lib, + buildDunePackage, + fetchurl, + ppx_sexp_conv, + ppx_cstruct, + lwt, + mirage-net, + io-page, + mirage-xen, + ipaddr, + mirage-profile, + shared-memory-ring, + sexplib, + logs, + macaddr, + lwt-dllist, + result, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ninja_utils/default.nix b/pkgs/development/ocaml-modules/ninja_utils/default.nix index 2510cc93abbcd..6d92745caacb4 100644 --- a/pkgs/development/ocaml-modules/ninja_utils/default.nix +++ b/pkgs/development/ocaml-modules/ninja_utils/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchzip, buildDunePackage, re }: +{ + lib, + fetchzip, + buildDunePackage, + re, +}: buildDunePackage rec { pname = "ninja_utils"; diff --git a/pkgs/development/ocaml-modules/nonstd/default.nix b/pkgs/development/ocaml-modules/nonstd/default.nix index 748196bf28e26..7d547d3818f94 100644 --- a/pkgs/development/ocaml-modules/nonstd/default.nix +++ b/pkgs/development/ocaml-modules/nonstd/default.nix @@ -1,27 +1,32 @@ -{ lib, fetchzip, buildDunePackage, ocaml }: +{ + lib, + fetchzip, + buildDunePackage, + ocaml, +}: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "nonstd is not available for OCaml ≥ 5.0" +lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "nonstd is not available for OCaml ≥ 5.0" -buildDunePackage rec { - pname = "nonstd"; - version = "0.0.3"; + buildDunePackage + rec { + pname = "nonstd"; + version = "0.0.3"; - minimalOCamlVersion = "4.02"; + minimalOCamlVersion = "4.02"; - src = fetchzip { - url = "https://bitbucket.org/smondet/${pname}/get/${pname}.${version}.tar.gz"; - sha256 = "0ccjwcriwm8fv29ij1cnbc9win054kb6pfga3ygzdbjpjb778j46"; - }; + src = fetchzip { + url = "https://bitbucket.org/smondet/${pname}/get/${pname}.${version}.tar.gz"; + sha256 = "0ccjwcriwm8fv29ij1cnbc9win054kb6pfga3ygzdbjpjb778j46"; + }; - duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; - postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; - doCheck = true; + duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; + postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; + doCheck = true; - meta = with lib; { - homepage = "https://bitbucket.org/smondet/nonstd"; - description = "Non-standard mini-library"; - license = licenses.isc; - maintainers = [ maintainers.alexfmpe ]; - }; -} + meta = with lib; { + homepage = "https://bitbucket.org/smondet/nonstd"; + description = "Non-standard mini-library"; + license = licenses.isc; + maintainers = [ maintainers.alexfmpe ]; + }; + } diff --git a/pkgs/development/ocaml-modules/note/default.nix b/pkgs/development/ocaml-modules/note/default.nix index 11ab46a2af0dc..c5e801456a473 100644 --- a/pkgs/development/ocaml-modules/note/default.nix +++ b/pkgs/development/ocaml-modules/note/default.nix @@ -1,25 +1,40 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, brr }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + brr, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "note is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-note"; - version = "0.0.3"; - src = fetchurl { - url = "https://erratique.ch/software/note/releases/note-${version}.tbz"; - hash = "sha256-ZZOvCnyz7UWzFtGFI1uC0ZApzyylgZYM/HYIXGVXY2k="; - }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; - inherit (topkg) buildPhase installPhase; + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-note"; + version = "0.0.3"; + src = fetchurl { + url = "https://erratique.ch/software/note/releases/note-${version}.tbz"; + hash = "sha256-ZZOvCnyz7UWzFtGFI1uC0ZApzyylgZYM/HYIXGVXY2k="; + }; + buildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + inherit (topkg) buildPhase installPhase; - propagatedBuildInputs = [ brr ]; + propagatedBuildInputs = [ brr ]; - meta = { - homepage = "https://erratique.ch/software/note"; - description = "OCaml module for functional reactive programming"; - license = lib.licenses.isc; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + meta = { + homepage = "https://erratique.ch/software/note"; + description = "OCaml module for functional reactive programming"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix index 9bab0482668e7..26ed24c5f322b 100644 --- a/pkgs/development/ocaml-modules/notty/default.nix +++ b/pkgs/development/ocaml-modules/notty/default.nix @@ -1,6 +1,10 @@ -{ lib, buildDunePackage, fetchurl, cppo -, uutf -, lwt +{ + lib, + buildDunePackage, + fetchurl, + cppo, + uutf, + lwt, }: buildDunePackage rec { @@ -16,7 +20,10 @@ buildDunePackage rec { nativeBuildInputs = [ cppo ]; - propagatedBuildInputs = [ lwt uutf ]; + propagatedBuildInputs = [ + lwt + uutf + ]; meta = with lib; { homepage = "https://github.com/pqwy/notty"; diff --git a/pkgs/development/ocaml-modules/npy/default.nix b/pkgs/development/ocaml-modules/npy/default.nix index f604780f4769c..624a97507495d 100644 --- a/pkgs/development/ocaml-modules/npy/default.nix +++ b/pkgs/development/ocaml-modules/npy/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, numpy, camlzip }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + numpy, + camlzip, +}: buildDunePackage rec { pname = "npy"; @@ -10,8 +16,8 @@ buildDunePackage rec { src = fetchFromGitHub { owner = "LaurentMazare"; - repo = "${pname}-ocaml"; - rev = version; + repo = "${pname}-ocaml"; + rev = version; hash = "sha256:1fryglkm20h6kdqjl55b7065b34bdg3g3p6j0jv33zvd1m5888m1"; }; diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix index d41d0f851fa57..98dae8b475bac 100644 --- a/pkgs/development/ocaml-modules/num/default.nix +++ b/pkgs/development/ocaml-modules/num/default.nix @@ -1,34 +1,48 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, withStatic ? false }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + ocaml, + findlib, + withStatic ? false, +}: -stdenv.mkDerivation (rec { - version = "1.1"; - pname = "ocaml${ocaml.version}-num"; - src = fetchFromGitHub { - owner = "ocaml"; - repo = "num"; - rev = "v${version}"; - sha256 = "0a4mhxgs5hi81d227aygjx35696314swas0vzy3ig809jb7zq4h0"; - }; +stdenv.mkDerivation ( + rec { + version = "1.1"; + pname = "ocaml${ocaml.version}-num"; + src = fetchFromGitHub { + owner = "ocaml"; + repo = "num"; + rev = "v${version}"; + sha256 = "0a4mhxgs5hi81d227aygjx35696314swas0vzy3ig809jb7zq4h0"; + }; - patches = [ (fetchpatch { - url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch"; - sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b"; - }) - ] ++ lib.optional withStatic ./enable-static.patch; + patches = [ + (fetchpatch { + url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch"; + sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b"; + }) + ] ++ lib.optional withStatic ./enable-static.patch; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; - strictDeps = true; + strictDeps = true; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = { - description = "Legacy Num library for arbitrary-precision integer and rational arithmetic"; - license = lib.licenses.lgpl21; - inherit (ocaml.meta) platforms; - inherit (src.meta) homepage; - }; -} // (lib.optionalAttrs (lib.versions.majorMinor ocaml.version == "4.06") { + meta = { + description = "Legacy Num library for arbitrary-precision integer and rational arithmetic"; + license = lib.licenses.lgpl21; + inherit (ocaml.meta) platforms; + inherit (src.meta) homepage; + }; + } + // (lib.optionalAttrs (lib.versions.majorMinor ocaml.version == "4.06") { env.NIX_CFLAGS_COMPILE = "-fcommon"; }) ) diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix index 2c2ffecf3dbae..6ba132b327291 100644 --- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix @@ -1,50 +1,82 @@ -{stdenv, lib, fetchurl, automake, ocaml, autoconf, gnum4, pkg-config, freetype, lablgtk, unzip, cairo, findlib, gdk-pixbuf, gtk2, pango }: +{ + stdenv, + lib, + fetchurl, + automake, + ocaml, + autoconf, + gnum4, + pkg-config, + freetype, + lablgtk, + unzip, + cairo, + findlib, + gdk-pixbuf, + gtk2, + pango, +}: let pname = "ocaml-cairo"; in -if lib.versionAtLeast ocaml.version "4.06" -then throw "${pname} is not available for OCaml ${ocaml.version}" +if lib.versionAtLeast ocaml.version "4.06" then + throw "${pname} is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - version = "1.2.0"; + stdenv.mkDerivation rec { + name = "${pname}-${version}"; + version = "1.2.0"; - src = fetchurl { - url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip"; - sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l"; - }; + src = fetchurl { + url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip"; + sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l"; + }; - patches = [ ./META.patch ]; + patches = [ ./META.patch ]; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ pkg-config unzip ocaml automake gnum4 autoconf findlib ]; - buildInputs = [ freetype lablgtk cairo gdk-pixbuf gtk2 pango ]; + nativeBuildInputs = [ + pkg-config + unzip + ocaml + automake + gnum4 + autoconf + findlib + ]; + buildInputs = [ + freetype + lablgtk + cairo + gdk-pixbuf + gtk2 + pango + ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - preConfigure = '' - aclocal -I support - autoconf - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`" - export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 - cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/pango.ml ./src - cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/gaux.ml ./src - ''; + preConfigure = '' + aclocal -I support + autoconf + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`" + export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 + cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/pango.ml ./src + cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/gaux.ml ./src + ''; - postInstall = '' - cp META $out/lib/ocaml/${ocaml.version}/site-lib/cairo/ - ''; + postInstall = '' + cp META $out/lib/ocaml/${ocaml.version}/site-lib/cairo/ + ''; - makeFlags = [ "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo" ]; + makeFlags = [ "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo" ]; - meta = { - homepage = "http://cairographics.org/cairo-ocaml"; - description = "ocaml bindings for cairo library"; - license = lib.licenses.gpl2; - inherit (ocaml.meta) platforms; - }; -} + meta = { + homepage = "http://cairographics.org/cairo-ocaml"; + description = "ocaml bindings for cairo library"; + license = lib.licenses.gpl2; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix b/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix index e3627431d9593..1c69c85ab4e26 100644 --- a/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, ocaml -, pkg-config -, solo5 -, target ? "xen" +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + pkg-config, + solo5, + target ? "xen", }: # note: this is not technically an ocaml-module, @@ -15,67 +16,78 @@ let pname = "ocaml-freestanding"; in -if lib.versionOlder ocaml.version "4.08" -then builtins.throw "${pname} is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.08" then + builtins.throw "${pname} is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - name = "ocaml${ocaml.version}-${pname}-${version}"; - inherit pname; - version = "0.6.5"; + stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-${pname}-${version}"; + inherit pname; + version = "0.6.5"; - src = fetchFromGitHub { - owner = "mirage"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256:1mbyjzwcs64n7i3xkkyaxgl3r46drbl0gkqf3fqgm2kh3q03638l"; - }; + src = fetchFromGitHub { + owner = "mirage"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256:1mbyjzwcs64n7i3xkkyaxgl3r46drbl0gkqf3fqgm2kh3q03638l"; + }; - postUnpack = '' - # get ocaml-src from the ocaml drv instead of via ocamlfind - mkdir -p "${src.name}/ocaml" - tar --strip-components=1 -xf ${ocaml.src} -C "${src.name}/ocaml" - ''; + postUnpack = '' + # get ocaml-src from the ocaml drv instead of via ocamlfind + mkdir -p "${src.name}/ocaml" + tar --strip-components=1 -xf ${ocaml.src} -C "${src.name}/ocaml" + ''; - patches = [ - ./no-opam.patch - ./configurable-binding.patch - ]; + patches = [ + ./no-opam.patch + ./configurable-binding.patch + ]; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ - ocaml - pkg-config - ]; + nativeBuildInputs = [ + ocaml + pkg-config + ]; - propagatedBuildInputs = [ solo5 ]; + propagatedBuildInputs = [ solo5 ]; - configurePhase = '' - runHook preConfigure - env PKG_CONFIG_DEPS=solo5-bindings-${target} sh configure.sh - runHook postConfigure - ''; + configurePhase = '' + runHook preConfigure + env PKG_CONFIG_DEPS=solo5-bindings-${target} sh configure.sh + runHook postConfigure + ''; - installPhase = '' - runHook preInstall - ./install.sh "$out" - runHook postInstall - ''; + installPhase = '' + runHook preInstall + ./install.sh "$out" + runHook postInstall + ''; - meta = with lib; { - broken = true; # Not compatible with solo5 ≥ 0.7 - description = "Freestanding OCaml runtime"; - license = licenses.mit; - maintainers = [ maintainers.sternenseemann ]; - homepage = "https://github.com/mirage/ocaml-freestanding"; - platforms = builtins.map ({ arch, os }: "${arch}-${os}") - (cartesianProduct { - arch = [ "aarch64" "x86_64" ]; + meta = with lib; { + broken = true; # Not compatible with solo5 ≥ 0.7 + description = "Freestanding OCaml runtime"; + license = licenses.mit; + maintainers = [ maintainers.sternenseemann ]; + homepage = "https://github.com/mirage/ocaml-freestanding"; + platforms = builtins.map ({ arch, os }: "${arch}-${os}") ( + cartesianProduct { + arch = [ + "aarch64" + "x86_64" + ]; os = [ "linux" ]; - } ++ [ - { arch = "x86_64"; os = "freebsd"; } - { arch = "x86_64"; os = "openbsd"; } - ]); - }; -} + } + ++ [ + { + arch = "x86_64"; + os = "freebsd"; + } + { + arch = "x86_64"; + os = "openbsd"; + } + ] + ); + }; + } diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix b/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix index 3fde1d463cc7b..14e3aedf49d33 100644 --- a/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix +++ b/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, ocaml, ocaml_gettext, camomile, ounit, fileutils }: +{ + lib, + buildDunePackage, + ocaml, + ocaml_gettext, + camomile, + ounit, + fileutils, +}: buildDunePackage { pname = "gettext-camomile"; @@ -10,7 +18,10 @@ buildDunePackage { ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ ounit fileutils ]; + checkInputs = [ + ounit + fileutils + ]; meta = (builtins.removeAttrs ocaml_gettext.meta [ "mainProgram" ]) // { description = "Internationalization library using camomile (i18n)"; diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix index c65f506469746..79330a0999e5a 100644 --- a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchurl, buildDunePackage, cppo, gettext, fileutils, ounit }: +{ + lib, + fetchurl, + buildDunePackage, + cppo, + gettext, + fileutils, + ounit, +}: buildDunePackage rec { pname = "gettext"; @@ -13,7 +21,10 @@ buildDunePackage rec { nativeBuildInputs = [ cppo ]; - propagatedBuildInputs = [ gettext fileutils ]; + propagatedBuildInputs = [ + gettext + fileutils + ]; # Tests for version 0.4.2 are not compatible with OUnit 2.2.6 doCheck = false; diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix b/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix index 7c197f9e87b0f..f5e287e87b82f 100644 --- a/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix +++ b/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix @@ -1,23 +1,31 @@ -{ lib, buildDunePackage, ocaml, ocaml_gettext, dune-configurator, ounit }: +{ + lib, + buildDunePackage, + ocaml, + ocaml_gettext, + dune-configurator, + ounit, +}: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "gettext-stub is not available for OCaml ${ocaml.version}" -buildDunePackage { + buildDunePackage + { - pname = "gettext-stub"; + pname = "gettext-stub"; - inherit (ocaml_gettext) src version; + inherit (ocaml_gettext) src version; - minimalOCamlVersion = "4.06"; + minimalOCamlVersion = "4.06"; - buildInputs = [ dune-configurator ]; + buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ocaml_gettext ]; + propagatedBuildInputs = [ ocaml_gettext ]; - doCheck = lib.versionAtLeast ocaml.version "4.08"; + doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ ounit ]; + checkInputs = [ ounit ]; - meta = builtins.removeAttrs ocaml_gettext.meta [ "mainProgram" ]; -} + meta = builtins.removeAttrs ocaml_gettext.meta [ "mainProgram" ]; + } diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix index e27fbca0a4a08..20737655bd21d 100644 --- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix @@ -1,42 +1,65 @@ -{ lib, stdenv, fetchFromGitLab, libvirt, AppKit, Foundation, autoreconfHook, pkg-config, ocaml, findlib, perl }: +{ + lib, + stdenv, + fetchFromGitLab, + libvirt, + AppKit, + Foundation, + autoreconfHook, + pkg-config, + ocaml, + findlib, + perl, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02") "libvirt is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml-libvirt"; - version = "0.6.1.5"; - - src = fetchFromGitLab { - owner = "libvirt"; - repo = "libvirt-ocaml"; - rev = "v${version}"; - sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k"; - }; - - propagatedBuildInputs = [ libvirt ]; - - nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ocaml ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - Foundation - AppKit - ]; - - strictDeps = true; - - buildFlags = [ "all" "opt" "CPPFLAGS=-Wno-error" ]; - installTargets = "install-opt"; - preInstall = '' - # Fix 'dllmllibvirt.so' install failure into non-existent directory. - mkdir -p $OCAMLFIND_DESTDIR/stublibs - ''; - - meta = with lib; { - description = "OCaml bindings for libvirt"; - homepage = "https://libvirt.org/ocaml/"; - license = licenses.gpl2; - maintainers = [ ]; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml-libvirt"; + version = "0.6.1.5"; + + src = fetchFromGitLab { + owner = "libvirt"; + repo = "libvirt-ocaml"; + rev = "v${version}"; + sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k"; + }; + + propagatedBuildInputs = [ libvirt ]; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + findlib + perl + ocaml + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + AppKit + ]; + + strictDeps = true; + + buildFlags = [ + "all" + "opt" + "CPPFLAGS=-Wno-error" + ]; + installTargets = "install-opt"; + preInstall = '' + # Fix 'dllmllibvirt.so' install failure into non-existent directory. + mkdir -p $OCAMLFIND_DESTDIR/stublibs + ''; + + meta = with lib; { + description = "OCaml bindings for libvirt"; + homepage = "https://libvirt.org/ocaml/"; + license = licenses.gpl2; + maintainers = [ ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix index d9a21225cbb1e..fe4d5e5fa1aad 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix @@ -1,58 +1,80 @@ -{ lib -, ocaml -, buildDunePackage -, lsp -, xdg -, re -, fiber -, makeWrapper -, dot-merlin-reader -, spawn -, ocamlc-loc -, merlin -, merlin-lib -, astring -, camlp-streams -, base +{ + lib, + ocaml, + buildDunePackage, + lsp, + xdg, + re, + fiber, + makeWrapper, + dot-merlin-reader, + spawn, + ocamlc-loc, + merlin, + merlin-lib, + astring, + camlp-streams, + base, }: # Freeze ocaml-lsp-version at 1.17.0 for OCaml 5.0 # for which merlin 4.16 is not available -let lsp_v = - if lib.versions.majorMinor ocaml.version == "5.0" - then lsp.override { version = "1.17.0"; } - else lsp -; in +let + lsp_v = + if lib.versions.majorMinor ocaml.version == "5.0" then + lsp.override { version = "1.17.0"; } + else + lsp; +in -let lsp = lsp_v; in +let + lsp = lsp_v; +in # Use merlin < 4.17 for OCaml < 5.2 -let merlin-lib_v = - if lib.versions.majorMinor ocaml.version == "4.14" - then merlin-lib.override { - merlin = merlin.override { - version = "4.16-414"; - }; - } else if lib.versions.majorMinor ocaml.version == "5.1" - then merlin-lib.override { - merlin = merlin.override { - version = "4.16-501"; - }; - } else merlin-lib -; in -let merlin-lib = merlin-lib_v; in +let + merlin-lib_v = + if lib.versions.majorMinor ocaml.version == "4.14" then + merlin-lib.override { + merlin = merlin.override { + version = "4.16-414"; + }; + } + else if lib.versions.majorMinor ocaml.version == "5.1" then + merlin-lib.override { + merlin = merlin.override { + version = "4.16-501"; + }; + } + else + merlin-lib; +in +let + merlin-lib = merlin-lib_v; +in buildDunePackage rec { pname = "ocaml-lsp-server"; inherit (lsp) version src preBuild; - buildInputs = lsp.buildInputs ++ [ lsp re ] - ++ lib.optional (lib.versionAtLeast version "1.9") spawn - ++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ] - ++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc - ++ lib.optionals (lib.versionAtLeast version "1.17.0") [ astring camlp-streams merlin-lib ] - ++ lib.optional (lib.versionAtLeast version "1.18.0") base - ; + buildInputs = + lsp.buildInputs + ++ [ + lsp + re + ] + ++ lib.optional (lib.versionAtLeast version "1.9") spawn + ++ lib.optionals (lib.versionAtLeast version "1.10") [ + fiber + xdg + ] + ++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc + ++ lib.optionals (lib.versionAtLeast version "1.17.0") [ + astring + camlp-streams + merlin-lib + ] + ++ lib.optional (lib.versionAtLeast version "1.18.0") base; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix index 1a2a97d21f2bd..8b473e650e1f6 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix @@ -1,13 +1,14 @@ -{ buildDunePackage -, stdlib-shims -, ppx_yojson_conv_lib -, ocaml-syntax-shims -, yojson -, result -, fetchurl -, lib -, ocaml -, version ? +{ + buildDunePackage, + stdlib-shims, + ppx_yojson_conv_lib, + ocaml-syntax-shims, + yojson, + result, + fetchurl, + lib, + ocaml, + version ? if lib.versionAtLeast ocaml.version "5.02" then "1.19.0" else if lib.versionAtLeast ocaml.version "4.14" then @@ -17,46 +18,50 @@ else if lib.versionAtLeast ocaml.version "4.12" then "1.9.0" else - "1.4.1" + "1.4.1", }: -let params = { - "1.19.0" = { - name = "lsp"; - minimalOCamlVersion = "5.02"; - sha256 = "sha256-54PZ8af4nOG/TJFIqjSiKDaL0Um7zKQ96AtFkiHe5ew="; - }; - "1.18.0" = { - name = "lsp"; - minimalOCamlVersion = "4.14"; - sha256 = "sha256-tZ2kPM/S/9J3yeX2laDjnHLA144b8svy9iwae32nXwM="; - }; - "1.17.0" = { - name = "lsp"; - minimalOCamlVersion = "4.14"; - sha256 = "sha256-j7i71xfu/SYItNg0WBBbZg4N46ETTcj8IWrmWdTRlgA="; - }; - "1.14.2" = { - name = "lsp"; - minimalOCamlVersion = "4.14"; - sha256 = "sha256-1R+HYaGbPLGDs5DMN3jmnrZFMhMmPUHgF+s+yNzIVJQ="; - }; - "1.10.5" = { - name = "jsonrpc"; - minimalOCamlVersion = "4.13"; - sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw="; - }; - "1.9.0" = { - name = "jsonrpc"; - minimalOCamlVersion = "4.12"; - sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh"; - }; - "1.4.1" = { - name = "jsonrpc"; - minimalOCamlVersion = "4.06"; - sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f"; - }; -}."${version}"; in +let + params = + { + "1.19.0" = { + name = "lsp"; + minimalOCamlVersion = "5.02"; + sha256 = "sha256-54PZ8af4nOG/TJFIqjSiKDaL0Um7zKQ96AtFkiHe5ew="; + }; + "1.18.0" = { + name = "lsp"; + minimalOCamlVersion = "4.14"; + sha256 = "sha256-tZ2kPM/S/9J3yeX2laDjnHLA144b8svy9iwae32nXwM="; + }; + "1.17.0" = { + name = "lsp"; + minimalOCamlVersion = "4.14"; + sha256 = "sha256-j7i71xfu/SYItNg0WBBbZg4N46ETTcj8IWrmWdTRlgA="; + }; + "1.14.2" = { + name = "lsp"; + minimalOCamlVersion = "4.14"; + sha256 = "sha256-1R+HYaGbPLGDs5DMN3jmnrZFMhMmPUHgF+s+yNzIVJQ="; + }; + "1.10.5" = { + name = "jsonrpc"; + minimalOCamlVersion = "4.13"; + sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw="; + }; + "1.9.0" = { + name = "jsonrpc"; + minimalOCamlVersion = "4.12"; + sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh"; + }; + "1.4.1" = { + name = "jsonrpc"; + minimalOCamlVersion = "4.06"; + sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f"; + }; + } + ."${version}"; +in buildDunePackage rec { pname = "jsonrpc"; @@ -72,13 +77,20 @@ buildDunePackage rec { if lib.versionAtLeast version "1.7.0" then [ ] else - [ yojson stdlib-shims ocaml-syntax-shims ]; + [ + yojson + stdlib-shims + ocaml-syntax-shims + ]; propagatedBuildInputs = if lib.versionAtLeast version "1.7.0" then [ ] else - [ ppx_yojson_conv_lib result ]; + [ + ppx_yojson_conv_lib + result + ]; meta = with lib; { description = "Jsonrpc protocol implementation in OCaml"; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix index 9787c67bbd7cc..4c3aaa15c29af 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix @@ -1,27 +1,28 @@ -{ buildDunePackage -, lib -, cppo -, stdlib-shims -, ppx_yojson_conv_lib -, ocaml-syntax-shims -, jsonrpc -, omd -, octavius -, dune-build-info -, dune-rpc -, uutf -, dyn -, re -, stdune -, chrome-trace -, csexp -, result -, pp -, cmdliner -, ordering -, ocamlformat-rpc-lib -, ocaml -, version ? +{ + buildDunePackage, + lib, + cppo, + stdlib-shims, + ppx_yojson_conv_lib, + ocaml-syntax-shims, + jsonrpc, + omd, + octavius, + dune-build-info, + dune-rpc, + uutf, + dyn, + re, + stdune, + chrome-trace, + csexp, + result, + pp, + cmdliner, + ordering, + ocamlformat-rpc-lib, + ocaml, + version ? if lib.versionAtLeast ocaml.version "5.02" then "1.19.0" else if lib.versionAtLeast ocaml.version "4.14" then @@ -31,20 +32,18 @@ else if lib.versionAtLeast ocaml.version "4.12" then "1.9.0" else - "1.4.1" + "1.4.1", }: -let jsonrpc_v = jsonrpc.override { - inherit version; -}; in +let + jsonrpc_v = jsonrpc.override { + inherit version; + }; +in buildDunePackage rec { pname = "lsp"; inherit (jsonrpc_v) version src; - minimalOCamlVersion = - if lib.versionAtLeast version "1.7.0" then - "4.12" - else - "4.06"; + minimalOCamlVersion = if lib.versionAtLeast version "1.7.0" then "4.12" else "4.06"; # unvendor some (not all) dependencies. # They are vendored by upstream only because it is then easier to install @@ -85,7 +84,14 @@ buildDunePackage rec { stdune ] else if lib.versionAtLeast version "1.7.0" then - [ re octavius dune-build-info omd cmdliner ocamlformat-rpc-lib ] + [ + re + octavius + dune-build-info + omd + cmdliner + ocamlformat-rpc-lib + ] else [ ppx_yojson_conv_lib @@ -99,31 +105,38 @@ buildDunePackage rec { nativeBuildInputs = lib.optional (lib.versionOlder version "1.7.0") cppo; propagatedBuildInputs = - if lib.versionAtLeast version "1.14.0" then [ - jsonrpc - ppx_yojson_conv_lib - uutf - ] else if lib.versionAtLeast version "1.10.0" then [ - dyn - jsonrpc - ordering - ppx_yojson_conv_lib - stdune - uutf - ] else if lib.versionAtLeast version "1.7.0" then [ - csexp - jsonrpc - (pp.override { version = "1.2.0"; }) - ppx_yojson_conv_lib - result - uutf - ] else [ - csexp - jsonrpc - ppx_yojson_conv_lib - stdlib-shims - uutf - ]; + if lib.versionAtLeast version "1.14.0" then + [ + jsonrpc + ppx_yojson_conv_lib + uutf + ] + else if lib.versionAtLeast version "1.10.0" then + [ + dyn + jsonrpc + ordering + ppx_yojson_conv_lib + stdune + uutf + ] + else if lib.versionAtLeast version "1.7.0" then + [ + csexp + jsonrpc + (pp.override { version = "1.2.0"; }) + ppx_yojson_conv_lib + result + uutf + ] + else + [ + csexp + jsonrpc + ppx_yojson_conv_lib + stdlib-shims + uutf + ]; meta = jsonrpc.meta // { description = "LSP protocol implementation in OCaml"; diff --git a/pkgs/development/ocaml-modules/ocaml-lua/default.nix b/pkgs/development/ocaml-modules/ocaml-lua/default.nix index 8a09b1d9387ed..57a131763ad99 100644 --- a/pkgs/development/ocaml-modules/ocaml-lua/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-lua/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, lua5_1, pkg-config }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + lua5_1, + pkg-config, +}: buildDunePackage { pname = "ocaml-lua"; diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix index 9802d07d4a4f3..6e16fd2f25560 100644 --- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix +++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix @@ -1,26 +1,36 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, result, ppx_derivers }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + result, + ppx_derivers, +}: -if lib.versionOlder "4.13" ocaml.version -then throw "ocaml-migrate-parsetree-1.8 is not available for OCaml ${ocaml.version}" +if lib.versionOlder "4.13" ocaml.version then + throw "ocaml-migrate-parsetree-1.8 is not available for OCaml ${ocaml.version}" else -buildDunePackage rec { - pname = "ocaml-migrate-parsetree"; - version = "1.8.0"; + buildDunePackage rec { + pname = "ocaml-migrate-parsetree"; + version = "1.8.0"; - src = fetchFromGitHub { - owner = "ocaml-ppx"; - repo = pname; - rev = "v${version}"; - sha256 = "16x8sxc4ygxrr1868qpzfqyrvjf3hfxvjzmxmf6ibgglq7ixa2nq"; - }; + src = fetchFromGitHub { + owner = "ocaml-ppx"; + repo = pname; + rev = "v${version}"; + sha256 = "16x8sxc4ygxrr1868qpzfqyrvjf3hfxvjzmxmf6ibgglq7ixa2nq"; + }; - propagatedBuildInputs = [ ppx_derivers result ]; + propagatedBuildInputs = [ + ppx_derivers + result + ]; - meta = { - description = "Convert OCaml parsetrees between different major versions"; - license = lib.licenses.lgpl21; - maintainers = [ lib.maintainers.vbgl ]; - inherit (src.meta) homepage; - }; -} + meta = { + description = "Convert OCaml parsetrees between different major versions"; + license = lib.licenses.lgpl21; + maintainers = [ lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + }; + } diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix index 1ba2976bcc54f..2c66caae99f99 100644 --- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix +++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix @@ -1,23 +1,32 @@ -{ lib, fetchurl, buildDunePackage, ocaml }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, +}: lib.throwIf (lib.versionAtLeast ocaml.version "5.1") "ocaml-migrate-parsetree is not available for OCaml ${ocaml.version}" -buildDunePackage rec { - pname = "ocaml-migrate-parsetree"; - version = "2.4.0"; + buildDunePackage + rec { + pname = "ocaml-migrate-parsetree"; + version = "2.4.0"; - minimalOCamlVersion = "4.02"; + minimalOCamlVersion = "4.02"; - src = fetchurl { - url = "https://github.com/ocaml-ppx/${pname}/releases/download/${version}/${pname}-${version}.tbz"; - sha256 = "sha256-7EnEUtwzemIFVqtoK/AZi/UBglULUC2PsjClkSYKpqQ="; - }; + src = fetchurl { + url = "https://github.com/ocaml-ppx/${pname}/releases/download/${version}/${pname}-${version}.tbz"; + sha256 = "sha256-7EnEUtwzemIFVqtoK/AZi/UBglULUC2PsjClkSYKpqQ="; + }; - meta = { - description = "Convert OCaml parsetrees between different major versions"; - license = lib.licenses.lgpl21; - maintainers = with lib.maintainers; [ vbgl sternenseemann ]; - homepage = "https://github.com/ocaml-ppx/ocaml-migrate-parsetree"; - }; -} + meta = { + description = "Convert OCaml parsetrees between different major versions"; + license = lib.licenses.lgpl21; + maintainers = with lib.maintainers; [ + vbgl + sternenseemann + ]; + homepage = "https://github.com/ocaml-ppx/ocaml-migrate-parsetree"; + }; + } diff --git a/pkgs/development/ocaml-modules/ocaml-monadic/default.nix b/pkgs/development/ocaml-modules/ocaml-monadic/default.nix index 50a04bbefab22..fa28353f10828 100644 --- a/pkgs/development/ocaml-modules/ocaml-monadic/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-monadic/default.nix @@ -1,5 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage -, ppxlib +{ + lib, + fetchFromGitHub, + buildDunePackage, + ppxlib, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix b/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix index 21add50c60617..a48d73b341af6 100644 --- a/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-print-intf/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, dune-build-info -, bos +{ + lib, + fetchFromGitHub, + buildDunePackage, + dune-build-info, + bos, }: let author = "avsm"; @@ -20,7 +21,10 @@ buildDunePackage rec { sha256 = "0hw4gl7irarcywibdjqxmrga8f7yj52wgy7sc7n0wyy74jzxb8np"; }; - buildInputs = [ dune-build-info bos ]; + buildInputs = [ + dune-build-info + bos + ]; meta = with lib; { description = "Pretty print an OCaml cmi/cmt/cmti file in human-readable OCaml signature form"; diff --git a/pkgs/development/ocaml-modules/ocaml-protoc-plugin/default.nix b/pkgs/development/ocaml-modules/ocaml-protoc-plugin/default.nix index c89d9d7219ac7..0de49d843861e 100644 --- a/pkgs/development/ocaml-modules/ocaml-protoc-plugin/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-protoc-plugin/default.nix @@ -1,14 +1,15 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, pkg-config -, protobuf -, zarith -, ppx_deriving -, ppx_deriving_yojson -, re -, dune-site -, ppx_expect +{ + lib, + fetchFromGitHub, + buildDunePackage, + pkg-config, + protobuf, + zarith, + ppx_deriving, + ppx_deriving_yojson, + re, + dune-site, + ppx_expect, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ocaml-protoc/default.nix b/pkgs/development/ocaml-modules/ocaml-protoc/default.nix index 717f5755ebac6..1342aa079a118 100644 --- a/pkgs/development/ocaml-modules/ocaml-protoc/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-protoc/default.nix @@ -1,6 +1,7 @@ -{ buildDunePackage -, pbrt -, stdlib-shims +{ + buildDunePackage, + pbrt, + stdlib-shims, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ocaml-r/default.nix b/pkgs/development/ocaml-modules/ocaml-r/default.nix index 8de5abf7e4814..3a399d4d0dba9 100644 --- a/pkgs/development/ocaml-modules/ocaml-r/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-r/default.nix @@ -1,5 +1,13 @@ -{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, pkg-config, dune-configurator, stdio, R -, alcotest +{ + lib, + fetchFromGitHub, + fetchpatch, + buildDunePackage, + pkg-config, + dune-configurator, + stdio, + R, + alcotest, }: buildDunePackage rec { @@ -25,8 +33,15 @@ buildDunePackage rec { }) ]; - nativeBuildInputs = [ pkg-config R ]; - buildInputs = [ dune-configurator stdio R ]; + nativeBuildInputs = [ + pkg-config + R + ]; + buildInputs = [ + dune-configurator + stdio + R + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/ocaml-result/default.nix b/pkgs/development/ocaml-modules/ocaml-result/default.nix index 2814c6c528064..710f1ede3e78b 100644 --- a/pkgs/development/ocaml-modules/ocaml-result/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-result/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "result"; diff --git a/pkgs/development/ocaml-modules/ocaml-sat-solvers/default.nix b/pkgs/development/ocaml-modules/ocaml-sat-solvers/default.nix index c7779b098e73d..b24ef9e286821 100644 --- a/pkgs/development/ocaml-modules/ocaml-sat-solvers/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-sat-solvers/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildOasisPackage, minisat }: +{ + lib, + fetchFromGitHub, + buildOasisPackage, + minisat, +}: buildOasisPackage rec { pname = "ocaml-sat-solvers"; @@ -7,9 +12,9 @@ buildOasisPackage rec { minimumOCamlVersion = "4.03.0"; src = fetchFromGitHub { - owner = "tcsprojects"; - repo = "ocaml-sat-solvers"; - rev = "v${version}"; + owner = "tcsprojects"; + repo = "ocaml-sat-solvers"; + rev = "v${version}"; sha256 = "1hxr16cyl1p1k1cik848mqrysq95wxmlykpm93a99pn55mp28938"; }; diff --git a/pkgs/development/ocaml-modules/ocaml-syntax-shims/default.nix b/pkgs/development/ocaml-modules/ocaml-syntax-shims/default.nix index 49f8cb63b98b6..e3539194e1111 100644 --- a/pkgs/development/ocaml-modules/ocaml-syntax-shims/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-syntax-shims/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { minimumOCamlVersion = "4.02.3"; diff --git a/pkgs/development/ocaml-modules/ocaml-vdom/default.nix b/pkgs/development/ocaml-modules/ocaml-vdom/default.nix index 72c1cb148c20b..e34feb49f0d3f 100644 --- a/pkgs/development/ocaml-modules/ocaml-vdom/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-vdom/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, js_of_ocaml-compiler , gen_js_api, ojs }: +{ + lib, + fetchurl, + buildDunePackage, + js_of_ocaml-compiler, + gen_js_api, + ojs, +}: buildDunePackage rec { pname = "ocaml-vdom"; @@ -31,5 +38,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ jayesh-bhoot ]; }; } - - diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix index a8a998299a95f..e1839ad42e8c2 100644 --- a/pkgs/development/ocaml-modules/ocaml-version/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, alcotest }: +{ + lib, + fetchurl, + buildDunePackage, + alcotest, +}: buildDunePackage rec { pname = "ocaml-version"; diff --git a/pkgs/development/ocaml-modules/ocamlc-loc/default.nix b/pkgs/development/ocaml-modules/ocamlc-loc/default.nix index 3f2d9c013c45c..47b1c6ffe75c0 100644 --- a/pkgs/development/ocaml-modules/ocamlc-loc/default.nix +++ b/pkgs/development/ocaml-modules/ocamlc-loc/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, dune_3, dyn }: +{ + lib, + buildDunePackage, + dune_3, + dyn, +}: buildDunePackage { pname = "ocamlc-loc"; diff --git a/pkgs/development/ocaml-modules/ocamlformat/generic.nix b/pkgs/development/ocaml-modules/ocamlformat/generic.nix index 6e6f39630239d..9c1bfa77cf26b 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/generic.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/generic.nix @@ -1,7 +1,29 @@ -{ lib, fetchurl, version ? "0.27.0", astring, base, camlp-streams, cmdliner_1_0 -, cmdliner_1_1, csexp, dune-build-info, either, fix, fpath, menhirLib, menhirSdk -, ocaml-version, ocp-indent, odoc-parser, result, stdio, uuseg, uutf -, janeStreet_0_15, ... }: +{ + lib, + fetchurl, + version ? "0.27.0", + astring, + base, + camlp-streams, + cmdliner_1_0, + cmdliner_1_1, + csexp, + dune-build-info, + either, + fix, + fpath, + menhirLib, + menhirSdk, + ocaml-version, + ocp-indent, + odoc-parser, + result, + stdio, + uuseg, + uutf, + janeStreet_0_15, + ... +}: # The ocamlformat package have been split into two in version 0.25.1: # one for the library and one for the executable. @@ -11,64 +33,71 @@ rec { tarballName = "ocamlformat-${version}.tbz"; src = fetchurl { - url = - "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/${tarballName}"; - sha256 = { - "0.19.0" = "0ihgwl7d489g938m1jvgx8azdgq9f5np5mzqwwya797hx2m4dz32"; - "0.20.0" = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk="; - "0.20.1" = "sha256-fTpRZFQW+ngoc0T6A69reEUAZ6GmHkeQvxspd5zRAjU="; - "0.21.0" = "sha256-KhgX9rxYH/DM6fCqloe4l7AnJuKrdXSe6Y1XY3BXMy0="; - "0.22.4" = "sha256-61TeK4GsfMLmjYGn3ICzkagbc3/Po++Wnqkb2tbJwGA="; - "0.23.0" = "sha256-m9Pjz7DaGy917M1GjyfqG5Lm5ne7YSlJF2SVcDHe3+0="; - "0.24.0" = "sha256-Zil0wceeXmq2xy0OVLxa/Ujl4Dtsmc4COyv6Jo7rVaM="; - "0.24.1" = "sha256-AjQl6YGPgOpQU3sjcaSnZsFJqZV9BYB+iKAE0tX0Qc4="; - "0.25.1" = "sha256-3I8qMwyjkws2yssmI7s2Dti99uSorNKT29niJBpv0z0="; - "0.26.0" = "sha256-AxSUq3cM7xCo9qocvrVmDkbDqmwM1FexEP7IWadeh30="; - "0.26.1" = "sha256-2gBuQn8VuexhL7gI1EZZm9m3w+4lq+s9VVdHpw10xtc="; - "0.26.2" = "sha256-Lk9Za/eqNnqET+g7oPawvxSyplF53cCCNj/peT0DdcU="; - "0.27.0" = "sha256-3b9ITAdtCPmUAO6Et5DsIx9cj8vV0zJKZADVOI6EbRU="; - }."${version}"; + url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/${tarballName}"; + sha256 = + { + "0.19.0" = "0ihgwl7d489g938m1jvgx8azdgq9f5np5mzqwwya797hx2m4dz32"; + "0.20.0" = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk="; + "0.20.1" = "sha256-fTpRZFQW+ngoc0T6A69reEUAZ6GmHkeQvxspd5zRAjU="; + "0.21.0" = "sha256-KhgX9rxYH/DM6fCqloe4l7AnJuKrdXSe6Y1XY3BXMy0="; + "0.22.4" = "sha256-61TeK4GsfMLmjYGn3ICzkagbc3/Po++Wnqkb2tbJwGA="; + "0.23.0" = "sha256-m9Pjz7DaGy917M1GjyfqG5Lm5ne7YSlJF2SVcDHe3+0="; + "0.24.0" = "sha256-Zil0wceeXmq2xy0OVLxa/Ujl4Dtsmc4COyv6Jo7rVaM="; + "0.24.1" = "sha256-AjQl6YGPgOpQU3sjcaSnZsFJqZV9BYB+iKAE0tX0Qc4="; + "0.25.1" = "sha256-3I8qMwyjkws2yssmI7s2Dti99uSorNKT29niJBpv0z0="; + "0.26.0" = "sha256-AxSUq3cM7xCo9qocvrVmDkbDqmwM1FexEP7IWadeh30="; + "0.26.1" = "sha256-2gBuQn8VuexhL7gI1EZZm9m3w+4lq+s9VVdHpw10xtc="; + "0.26.2" = "sha256-Lk9Za/eqNnqET+g7oPawvxSyplF53cCCNj/peT0DdcU="; + "0.27.0" = "sha256-3b9ITAdtCPmUAO6Et5DsIx9cj8vV0zJKZADVOI6EbRU="; + } + ."${version}"; }; inherit version; odoc-parser_v = odoc-parser.override { - version = if lib.versionAtLeast version "0.24.0" then - "2.0.0" - else if lib.versionAtLeast version "0.20.1" then - "1.0.1" - else - "0.9.0"; + version = + if lib.versionAtLeast version "0.24.0" then + "2.0.0" + else if lib.versionAtLeast version "0.20.1" then + "1.0.1" + else + "0.9.0"; }; - cmdliner_v = - if lib.versionAtLeast version "0.21.0" then cmdliner_1_1 else cmdliner_1_0; + cmdliner_v = if lib.versionAtLeast version "0.21.0" then cmdliner_1_1 else cmdliner_1_0; base_v = if lib.versionAtLeast version "0.25.1" then base else janeStreet_0_15.base; - stdio_v =if lib.versionAtLeast version "0.25.1" then stdio else janeStreet_0_15.stdio; + stdio_v = if lib.versionAtLeast version "0.25.1" then stdio else janeStreet_0_15.stdio; - library_deps= [ - base_v - cmdliner_v - dune-build-info - fix - fpath - menhirLib - menhirSdk - ocp-indent - stdio_v - uuseg - uutf - ] ++ lib.optionals (lib.versionAtLeast version "0.20.0") [ - either - ocaml-version - ] ++ lib.optionals (lib.versionAtLeast version "0.22.4") [ csexp ] - ++ (if lib.versionOlder version "0.25.1" then - [ odoc-parser_v ] - else [ - camlp-streams - result - astring - ]); + library_deps = + [ + base_v + cmdliner_v + dune-build-info + fix + fpath + menhirLib + menhirSdk + ocp-indent + stdio_v + uuseg + uutf + ] + ++ lib.optionals (lib.versionAtLeast version "0.20.0") [ + either + ocaml-version + ] + ++ lib.optionals (lib.versionAtLeast version "0.22.4") [ csexp ] + ++ ( + if lib.versionOlder version "0.25.1" then + [ odoc-parser_v ] + else + [ + camlp-streams + result + astring + ] + ); } diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix index a6607ba83ccd3..6e3a23f1996db 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix @@ -1,9 +1,17 @@ # Version can be selected with the 'version' argument, see generic.nix. -{ lib, callPackage, buildDunePackage, menhir, ... }@args: +{ + lib, + callPackage, + buildDunePackage, + menhir, + ... +}@args: -let inherit (callPackage ./generic.nix args) src version library_deps; +let + inherit (callPackage ./generic.nix args) src version library_deps; -in assert (lib.versionAtLeast version "0.25.1"); +in +assert (lib.versionAtLeast version "0.25.1"); buildDunePackage { pname = "ocamlformat-lib"; @@ -19,7 +27,10 @@ buildDunePackage { meta = { homepage = "https://github.com/ocaml-ppx/ocamlformat"; description = "Auto-formatter for OCaml code (library)"; - maintainers = with lib.maintainers; [ Zimmi48 Julow ]; + maintainers = with lib.maintainers; [ + Zimmi48 + Julow + ]; license = lib.licenses.mit; }; } diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix index d8dc1d54ffc0c..1a714241fa07a 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix @@ -1,26 +1,40 @@ # Version can be selected with the 'version' argument, see generic.nix. -{ lib, buildDunePackage, ocaml, csexp, sexplib0, callPackage, ... }@args: +{ + lib, + buildDunePackage, + ocaml, + csexp, + sexplib0, + callPackage, + ... +}@args: let # for compat with ocaml-lsp - version_arg = - if lib.versionAtLeast ocaml.version "4.13" then {} else { version = "0.20.0"; }; + version_arg = if lib.versionAtLeast ocaml.version "4.13" then { } else { version = "0.20.0"; }; inherit (callPackage ./generic.nix (args // version_arg)) src version; -in buildDunePackage rec { +in +buildDunePackage rec { pname = "ocamlformat-rpc-lib"; inherit src version; minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ csexp sexplib0 ]; + propagatedBuildInputs = [ + csexp + sexplib0 + ]; meta = with lib; { homepage = "https://github.com/ocaml-ppx/ocamlformat"; description = "Auto-formatter for OCaml code (RPC mode)"; license = licenses.mit; - maintainers = with maintainers; [ Zimmi48 Julow ]; + maintainers = with maintainers; [ + Zimmi48 + Julow + ]; }; } diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix index e56b864096854..f41abb136091c 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix @@ -1,39 +1,50 @@ # Version can be selected with the 'version' argument, see generic.nix. -{ lib -, callPackage -, buildDunePackage -, ocaml -, re -, ocamlformat-lib -, menhir -, ... +{ + lib, + callPackage, + buildDunePackage, + ocaml, + re, + ocamlformat-lib, + menhir, + ... }@args: -let inherit (callPackage ./generic.nix args) src version library_deps; +let + inherit (callPackage ./generic.nix args) src version library_deps; in -lib.throwIf (lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23" - || lib.versionAtLeast ocaml.version "5.2" && !lib.versionAtLeast version "0.26.2") +lib.throwIf + ( + lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23" + || lib.versionAtLeast ocaml.version "5.2" && !lib.versionAtLeast version "0.26.2" + ) "ocamlformat ${version} is not available for OCaml ${ocaml.version}" -buildDunePackage { - pname = "ocamlformat"; - inherit src version; + buildDunePackage + { + pname = "ocamlformat"; + inherit src version; - minimalOCamlVersion = "4.08"; + minimalOCamlVersion = "4.08"; - nativeBuildInputs = - if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ]; + nativeBuildInputs = if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ]; - buildInputs = [ re ] ++ library_deps - ++ lib.optionals (lib.versionAtLeast version "0.25.1") - [ (ocamlformat-lib.override { inherit version; }) ]; + buildInputs = + [ re ] + ++ library_deps + ++ lib.optionals (lib.versionAtLeast version "0.25.1") [ + (ocamlformat-lib.override { inherit version; }) + ]; - meta = { - homepage = "https://github.com/ocaml-ppx/ocamlformat"; - description = "Auto-formatter for OCaml code"; - maintainers = with lib.maintainers; [ Zimmi48 Julow ]; - license = lib.licenses.mit; - mainProgram = "ocamlformat"; - }; -} + meta = { + homepage = "https://github.com/ocaml-ppx/ocamlformat"; + description = "Auto-formatter for OCaml code"; + maintainers = with lib.maintainers; [ + Zimmi48 + Julow + ]; + license = lib.licenses.mit; + mainProgram = "ocamlformat"; + }; + } diff --git a/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/pkgs/development/ocaml-modules/ocamlfuse/default.nix index c34fb91f5e73b..599591cc76c06 100644 --- a/pkgs/development/ocaml-modules/ocamlfuse/default.nix +++ b/pkgs/development/ocaml-modules/ocamlfuse/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, camlidl, fuse, dune-configurator }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + camlidl, + fuse, + dune-configurator, +}: buildDunePackage rec { pname = "ocamlfuse"; @@ -18,7 +25,10 @@ buildDunePackage rec { nativeBuildInputs = [ camlidl ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ camlidl fuse ]; + propagatedBuildInputs = [ + camlidl + fuse + ]; meta = { homepage = "https://sourceforge.net/projects/ocamlfuse"; diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix index 92b625a4ab47b..a6c54e876c954 100644 --- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix +++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, stdlib-shims }: +{ + lib, + fetchurl, + buildDunePackage, + stdlib-shims, +}: buildDunePackage rec { pname = "ocamlgraph"; @@ -16,9 +21,9 @@ buildDunePackage rec { ]; meta = with lib; { - homepage = "https://github.com/backtracking/ocamlgraph"; - description = "Graph library for OCaml"; - license = licenses.gpl2Oss; - maintainers = [ ]; + homepage = "https://github.com/backtracking/ocamlgraph"; + description = "Graph library for OCaml"; + license = licenses.gpl2Oss; + maintainers = [ ]; }; } diff --git a/pkgs/development/ocaml-modules/ocamlgraph/gtk.nix b/pkgs/development/ocaml-modules/ocamlgraph/gtk.nix index e8167356f9399..e5529f1507ba4 100644 --- a/pkgs/development/ocaml-modules/ocamlgraph/gtk.nix +++ b/pkgs/development/ocaml-modules/ocamlgraph/gtk.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, lablgtk, ocamlgraph, stdlib-shims, ... }: +{ + buildDunePackage, + lablgtk, + ocamlgraph, + stdlib-shims, + ... +}: buildDunePackage rec { pname = "ocamlgraph_gtk"; diff --git a/pkgs/development/ocaml-modules/ocamline/default.nix b/pkgs/development/ocaml-modules/ocamline/default.nix index 694988df7dc75..eb77721bf0a6f 100644 --- a/pkgs/development/ocaml-modules/ocamline/default.nix +++ b/pkgs/development/ocaml-modules/ocamline/default.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, linenoise, fetchFromGitHub, lib }: +{ + buildDunePackage, + linenoise, + fetchFromGitHub, + lib, +}: buildDunePackage rec { pname = "ocamline"; diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix index 850c29c4dc024..8729a4cc71fb0 100644 --- a/pkgs/development/ocaml-modules/ocamlnat/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix @@ -1,4 +1,11 @@ -{stdenv, lib, fetchurl, ocaml, findlib, ounit}: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ounit, +}: # https://github.com/bmeurer/ocamlnat/issues/3 assert lib.versionOlder ocaml.version "4"; @@ -12,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "0dyvy0j6f47laxhnadvm71z1py9hz9zd49hamf6bij99cggb2ij1"; }; - nativeBuildInputs = [ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; checkInputs = [ ounit ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix index 7fb262a91ac44..72ecf9ada9cbb 100644 --- a/pkgs/development/ocaml-modules/ocamlnet/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -1,54 +1,77 @@ -{ stdenv, lib, fetchurl, pkg-config, which, ncurses, ocaml, findlib, ocaml_pcre, camlzip -, gnutls, nettle +{ + stdenv, + lib, + fetchurl, + pkg-config, + which, + ncurses, + ocaml, + findlib, + ocaml_pcre, + camlzip, + gnutls, + nettle, }: lib.throwIf (lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0") "ocamlnet is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-ocamlnet"; - version = "4.1.9"; - - src = fetchurl { - url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; - sha256 = "1vlwxjxr946gdl61a1d7yk859cijq45f60dhn54ik3w4g6cx33pr"; - }; - - nativeBuildInputs = [ pkg-config which ocaml findlib ]; - buildInputs = [ ncurses ocaml_pcre camlzip gnutls nettle ]; - - strictDeps = true; - - createFindlibDestdir = true; - - dontAddPrefix = true; - dontAddStaticConfigureFlags = true; - configurePlatforms = []; - - preConfigure = '' - configureFlagsArray=( - -bindir $out/bin - -enable-gnutls - -enable-zip - -enable-pcre - -disable-gtk2 - -with-nethttpd - -datadir $out/lib/ocaml/${ocaml.version}/ocamlnet - ) - ''; - - buildPhase = '' - make all - make opt - ''; - - meta = { - homepage = "http://projects.camlcity.org/projects/ocamlnet.html"; - description = "Library implementing Internet protocols (http, cgi, email, etc.) for OCaml"; - license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL."; - inherit (ocaml.meta) platforms; - maintainers = [ - lib.maintainers.maggesi + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-ocamlnet"; + version = "4.1.9"; + + src = fetchurl { + url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; + sha256 = "1vlwxjxr946gdl61a1d7yk859cijq45f60dhn54ik3w4g6cx33pr"; + }; + + nativeBuildInputs = [ + pkg-config + which + ocaml + findlib + ]; + buildInputs = [ + ncurses + ocaml_pcre + camlzip + gnutls + nettle ]; - }; -} + + strictDeps = true; + + createFindlibDestdir = true; + + dontAddPrefix = true; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; + + preConfigure = '' + configureFlagsArray=( + -bindir $out/bin + -enable-gnutls + -enable-zip + -enable-pcre + -disable-gtk2 + -with-nethttpd + -datadir $out/lib/ocaml/${ocaml.version}/ocamlnet + ) + ''; + + buildPhase = '' + make all + make opt + ''; + + meta = { + homepage = "http://projects.camlcity.org/projects/ocamlnet.html"; + description = "Library implementing Internet protocols (http, cgi, email, etc.) for OCaml"; + license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL."; + inherit (ocaml.meta) platforms; + maintainers = [ + lib.maintainers.maggesi + ]; + }; + } diff --git a/pkgs/development/ocaml-modules/ocb-stubblr/default.nix b/pkgs/development/ocaml-modules/ocb-stubblr/default.nix index fcd63ced7a809..b7b93ebd5e5ae 100644 --- a/pkgs/development/ocaml-modules/ocb-stubblr/default.nix +++ b/pkgs/development/ocaml-modules/ocb-stubblr/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchzip, ocaml, findlib, ocamlbuild, topkg, astring }: +{ + stdenv, + lib, + fetchzip, + ocaml, + findlib, + ocamlbuild, + topkg, + astring, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-ocb-stubblr"; @@ -12,8 +21,16 @@ stdenv.mkDerivation rec { patches = [ ./pkg-config.patch ]; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + ocamlbuild + ]; propagatedBuildInputs = [ astring ]; diff --git a/pkgs/development/ocaml-modules/ocf/default.nix b/pkgs/development/ocaml-modules/ocf/default.nix index 137589308e2bc..f1e5e2d48a423 100644 --- a/pkgs/development/ocaml-modules/ocf/default.nix +++ b/pkgs/development/ocaml-modules/ocf/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitLab, yojson }: +{ + lib, + buildDunePackage, + fetchFromGitLab, + yojson, +}: buildDunePackage rec { pname = "ocf"; diff --git a/pkgs/development/ocaml-modules/ocf/ppx.nix b/pkgs/development/ocaml-modules/ocf/ppx.nix index 7538bdeca167f..a01c36942ea9a 100644 --- a/pkgs/development/ocaml-modules/ocf/ppx.nix +++ b/pkgs/development/ocaml-modules/ocf/ppx.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, ocf, ppxlib }: +{ + buildDunePackage, + ocf, + ppxlib, +}: buildDunePackage { pname = "ocf_ppx"; @@ -8,7 +12,10 @@ buildDunePackage { duneVersion = "3"; - buildInputs = [ ppxlib ocf ]; + buildInputs = [ + ppxlib + ocf + ]; meta = ocf.meta // { description = "Preprocessor for Ocf library"; diff --git a/pkgs/development/ocaml-modules/ocolor/default.nix b/pkgs/development/ocaml-modules/ocolor/default.nix index 16663a8db64c2..ebd34a84e684e 100644 --- a/pkgs/development/ocaml-modules/ocolor/default.nix +++ b/pkgs/development/ocaml-modules/ocolor/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, cppo +{ + lib, + fetchFromGitHub, + buildDunePackage, + cppo, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix index e8b705ebdd4d8..263caad548632 100644 --- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix +++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix @@ -1,35 +1,49 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, astring, pprint }: +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + astring, + pprint, +}: -if lib.versionOlder ocaml.version "4.02" -then throw "ocp-ocamlres is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.02" then + throw "ocp-ocamlres is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-ocp-ocamlres"; - version = "0.4"; - src = fetchFromGitHub { - owner = "OCamlPro"; - repo = "ocp-ocamlres"; - rev = "v${version}"; - sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn"; - }; + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-ocp-ocamlres"; + version = "0.4"; + src = fetchFromGitHub { + owner = "OCamlPro"; + repo = "ocp-ocamlres"; + rev = "v${version}"; + sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn"; + }; - nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ astring pprint ]; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ + astring + pprint + ]; - strictDeps = true; + strictDeps = true; - createFindlibDestdir = true; + createFindlibDestdir = true; - installFlags = [ "BINDIR=$(out)/bin" ]; - preInstall = "mkdir -p $out/bin"; + installFlags = [ "BINDIR=$(out)/bin" ]; + preInstall = "mkdir -p $out/bin"; - meta = { - description = "Simple tool and library to embed files and directories inside OCaml executables"; - homepage = "https://www.typerex.org/ocp-ocamlres.html"; - license = lib.licenses.lgpl3Plus; - maintainers = [ lib.maintainers.vbgl ]; - mainProgram = "ocp-ocamlres"; - inherit (ocaml.meta) platforms; - }; -} + meta = { + description = "Simple tool and library to embed files and directories inside OCaml executables"; + homepage = "https://www.typerex.org/ocp-ocamlres.html"; + license = lib.licenses.lgpl3Plus; + maintainers = [ lib.maintainers.vbgl ]; + mainProgram = "ocp-ocamlres"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/ocplib-endian/default.nix b/pkgs/development/ocaml-modules/ocplib-endian/default.nix index c7fa14a291d71..2d7ea6e26359c 100644 --- a/pkgs/development/ocaml-modules/ocplib-endian/default.nix +++ b/pkgs/development/ocaml-modules/ocplib-endian/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml, cppo }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + cppo, +}: buildDunePackage rec { version = "1.2"; diff --git a/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix b/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix index fdd6b91f19f17..ae41c05490298 100644 --- a/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, ppxlib }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + ppxlib, +}: buildDunePackage rec { pname = "ocsigen-ppx-rpc"; diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix index 0984416020e93..4e4a09e22d878 100644 --- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -1,20 +1,55 @@ -{ lib, buildDunePackage, fetchFromGitHub, which, ocaml, lwt_react, ssl, lwt_ssl, findlib -, bigstringaf, lwt, cstruct, mirage-crypto, zarith, mirage-crypto-ec, ptime, mirage-crypto-rng, mtime, ca-certs -, cohttp, cohttp-lwt-unix -, lwt_log, re, cryptokit, xml-light, ipaddr -, camlzip -, makeWrapper +{ + lib, + buildDunePackage, + fetchFromGitHub, + which, + ocaml, + lwt_react, + ssl, + lwt_ssl, + findlib, + bigstringaf, + lwt, + cstruct, + mirage-crypto, + zarith, + mirage-crypto-ec, + ptime, + mirage-crypto-rng, + mtime, + ca-certs, + cohttp, + cohttp-lwt-unix, + lwt_log, + re, + cryptokit, + xml-light, + ipaddr, + camlzip, + makeWrapper, }: -let mkpath = p: - "${p}/lib/ocaml/${ocaml.version}/site-lib/stublibs"; +let + mkpath = p: "${p}/lib/ocaml/${ocaml.version}/site-lib/stublibs"; in -let caml_ld_library_path = - lib.concatMapStringsSep ":" mkpath [ - bigstringaf lwt ssl cstruct mirage-crypto zarith mirage-crypto-ec ptime mirage-crypto-rng mtime ca-certs cryptokit re - ] -; in +let + caml_ld_library_path = lib.concatMapStringsSep ":" mkpath [ + bigstringaf + lwt + ssl + cstruct + mirage-crypto + zarith + mirage-crypto-ec + ptime + mirage-crypto-rng + mtime + ca-certs + cryptokit + re + ]; +in buildDunePackage rec { version = "6.0.0"; @@ -29,18 +64,36 @@ buildDunePackage rec { hash = "sha256-T3bgPZpDO6plgebLJDBtBuR2eR/bN3o24UAUv1VwgtI="; }; - nativeBuildInputs = [ makeWrapper which ]; - buildInputs = [ lwt_react camlzip findlib ]; + nativeBuildInputs = [ + makeWrapper + which + ]; + buildInputs = [ + lwt_react + camlzip + findlib + ]; - propagatedBuildInputs = [ cohttp cohttp-lwt-unix cryptokit ipaddr lwt_log lwt_ssl - re xml-light + propagatedBuildInputs = [ + cohttp + cohttp-lwt-unix + cryptokit + ipaddr + lwt_log + lwt_ssl + re + xml-light ]; - configureFlags = [ "--root $(out)" "--prefix /" "--temproot ''" ]; + configureFlags = [ + "--root $(out)" + "--prefix /" + "--temproot ''" + ]; dontAddPrefix = true; dontAddStaticConfigureFlags = true; - configurePlatforms = []; + configurePlatforms = [ ]; postConfigure = '' make -C src confs @@ -50,11 +103,10 @@ buildDunePackage rec { make install.files ''; - postFixup = - '' - rm -rf $out/var/run - wrapProgram $out/bin/ocsigenserver \ - --suffix CAML_LD_LIBRARY_PATH : "${caml_ld_library_path}" + postFixup = '' + rm -rf $out/var/run + wrapProgram $out/bin/ocsigenserver \ + --suffix CAML_LD_LIBRARY_PATH : "${caml_ld_library_path}" ''; dontPatchShebangs = true; @@ -62,9 +114,9 @@ buildDunePackage rec { meta = { homepage = "http://ocsigen.org/ocsigenserver/"; description = "Full featured Web server"; - longDescription ='' + longDescription = '' A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages. - ''; + ''; license = lib.licenses.lgpl21Only; inherit (ocaml.meta) platforms; maintainers = [ lib.maintainers.gal_bolle ]; diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix index e9af3a27a756d..37a63948a355e 100644 --- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix @@ -1,24 +1,47 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, ocsigen-toolkit, pgocaml_ppx, safepass, yojson -, cohttp-lwt-unix, eliom -, resource-pooling -, ocsigen-ppx-rpc +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + ocaml, + findlib, + ocsigen-toolkit, + pgocaml_ppx, + safepass, + yojson, + cohttp-lwt-unix, + eliom, + resource-pooling, + ocsigen-ppx-rpc, }: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-ocsigen-start"; version = "6.2.0"; - nativeBuildInputs = [ ocaml findlib eliom ]; + nativeBuildInputs = [ + ocaml + findlib + eliom + ]; buildInputs = [ ocsigen-ppx-rpc ]; - propagatedBuildInputs = [ pgocaml_ppx safepass ocsigen-toolkit yojson resource-pooling cohttp-lwt-unix ]; + propagatedBuildInputs = [ + pgocaml_ppx + safepass + ocsigen-toolkit + yojson + resource-pooling + cohttp-lwt-unix + ]; strictDeps = true; - patches = [ ./templates-dir.patch + patches = [ + ./templates-dir.patch # Compatibility with tyxml 4.6.x (fetchpatch { - url = "https://github.com/ocsigen/ocsigen-start/commit/0b70506f94fcb2e06cb65ce0d6a28b9b84c695f3.patch"; - hash = "sha256-p/VvIu9reI8lc9lxWiTrjZvn46vuF00QInYuWPtRVyk="; + url = "https://github.com/ocsigen/ocsigen-start/commit/0b70506f94fcb2e06cb65ce0d6a28b9b84c695f3.patch"; + hash = "sha256-p/VvIu9reI8lc9lxWiTrjZvn46vuF00QInYuWPtRVyk="; }) ]; @@ -36,9 +59,9 @@ stdenv.mkDerivation rec { meta = { homepage = "http://ocsigen.org/ocsigen-start"; description = "Eliom application skeleton"; - longDescription ='' - An Eliom application skeleton, ready to use to build your own application with users, (pre)registration, notifications, etc. - ''; + longDescription = '' + An Eliom application skeleton, ready to use to build your own application with users, (pre)registration, notifications, etc. + ''; license = lib.licenses.lgpl21Only; inherit (ocaml.meta) platforms; maintainers = [ lib.maintainers.gal_bolle ]; diff --git a/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix b/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix index e2d95e7434ef1..6543eef301628 100644 --- a/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix +++ b/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix @@ -1,8 +1,10 @@ -{ buildDunePackage, ocsipersist-lib -, lwt_log -, ocsigen_server -, pgocaml -, xml-light +{ + buildDunePackage, + ocsipersist-lib, + lwt_log, + ocsigen_server, + pgocaml, + xml-light, }: buildDunePackage { @@ -22,4 +24,3 @@ buildDunePackage { description = "Persistent key/value storage (for Ocsigen) using PostgreSQL"; }; } - diff --git a/pkgs/development/ocaml-modules/octavius/default.nix b/pkgs/development/ocaml-modules/octavius/default.nix index 1a973da5e84d8..fadb54519abf9 100644 --- a/pkgs/development/ocaml-modules/octavius/default.nix +++ b/pkgs/development/ocaml-modules/octavius/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "octavius"; diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix index cb3c70198dc61..8f30944d35908 100644 --- a/pkgs/development/ocaml-modules/ocurl/default.nix +++ b/pkgs/development/ocaml-modules/ocurl/default.nix @@ -1,27 +1,48 @@ -{ lib, stdenv, fetchurl, pkg-config, ocaml, findlib, curl, lwt, lwt_ppx }: -if lib.versionOlder ocaml.version "4.04" -then throw "ocurl is not available for OCaml ${ocaml.version}" +{ + lib, + stdenv, + fetchurl, + pkg-config, + ocaml, + findlib, + curl, + lwt, + lwt_ppx, +}: +if lib.versionOlder ocaml.version "4.04" then + throw "ocurl is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocurl"; - version = "0.9.2"; + stdenv.mkDerivation rec { + pname = "ocurl"; + version = "0.9.2"; - src = fetchurl { - url = "https://github.com/ygrek/ocurl/releases/download/${version}/ocurl-${version}.tar.gz"; - sha256 = "sha256-4DWXGMh02s1VwLWW5d7h0jtMOUubWmBPGm1hghfWd2M="; - }; + src = fetchurl { + url = "https://github.com/ygrek/ocurl/releases/download/${version}/ocurl-${version}.tar.gz"; + sha256 = "sha256-4DWXGMh02s1VwLWW5d7h0jtMOUubWmBPGm1hghfWd2M="; + }; - nativeBuildInputs = [ pkg-config ocaml findlib ]; - propagatedBuildInputs = [ curl lwt lwt_ppx ]; + nativeBuildInputs = [ + pkg-config + ocaml + findlib + ]; + propagatedBuildInputs = [ + curl + lwt + lwt_ppx + ]; - strictDeps = true; + strictDeps = true; - createFindlibDestdir = true; - meta = { - description = "OCaml bindings to libcurl"; - license = lib.licenses.mit; - homepage = "http://ygrek.org.ua/p/ocurl/"; - maintainers = with lib.maintainers; [ dandellion bennofs ]; - platforms = ocaml.meta.platforms or [ ]; - }; -} + createFindlibDestdir = true; + meta = { + description = "OCaml bindings to libcurl"; + license = lib.licenses.mit; + homepage = "http://ygrek.org.ua/p/ocurl/"; + maintainers = with lib.maintainers; [ + dandellion + bennofs + ]; + platforms = ocaml.meta.platforms or [ ]; + }; + } diff --git a/pkgs/development/ocaml-modules/odate/default.nix b/pkgs/development/ocaml-modules/odate/default.nix index 89c47781a8fb8..c952882e7d0e1 100644 --- a/pkgs/development/ocaml-modules/odate/default.nix +++ b/pkgs/development/ocaml-modules/odate/default.nix @@ -1,5 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub -, menhir +{ + lib, + buildDunePackage, + fetchFromGitHub, + menhir, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/odig/default.nix b/pkgs/development/ocaml-modules/odig/default.nix index 3fe26e5b90ddb..6dca841771483 100644 --- a/pkgs/development/ocaml-modules/odig/default.nix +++ b/pkgs/development/ocaml-modules/odig/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildTopkgPackage, cmdliner, odoc, b0 }: +{ + lib, + fetchurl, + buildTopkgPackage, + cmdliner, + odoc, + b0, +}: buildTopkgPackage rec { pname = "odig"; @@ -9,7 +16,11 @@ buildTopkgPackage rec { sha256 = "sha256-sYKvGYkxeF5FmrNQdOyMAtlsJqhlmUESi9SkPn/cjM4="; }; - buildInputs = [ cmdliner odoc b0 ]; + buildInputs = [ + cmdliner + odoc + b0 + ]; meta = with lib; { description = "Lookup documentation of installed OCaml packages"; diff --git a/pkgs/development/ocaml-modules/odoc-parser/default.nix b/pkgs/development/ocaml-modules/odoc-parser/default.nix index 5d22d2d712384..83f5818965225 100644 --- a/pkgs/development/ocaml-modules/odoc-parser/default.nix +++ b/pkgs/development/ocaml-modules/odoc-parser/default.nix @@ -1,49 +1,67 @@ -{ lib, fetchurl, buildDunePackage, ocaml, astring, result, camlp-streams, version ? "2.4.2" }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + astring, + result, + camlp-streams, + version ? "2.4.2", +}: -let param = { - "2.4.2" = { - sha256 = "sha256-Vjz9uybsijDnN6nPKFoG4LuulT9I4lu7D2n3qZwrpAs="; - }; - "2.0.0" = { - sha256 = "sha256-QHkZ+7DrlXYdb8bsZ3dijZSqGQc0O9ymeLGIC6+zOSI="; - }; - "1.0.1" = { - sha256 = "sha256-orvo5CAbYOmAurAeluQfK6CwW6P1C0T3WDfoovuQfSw="; - }; - "1.0.0" = { - sha256 = "sha256-tqoI6nGp662bK+vE2h7aDXE882dObVfRBFnZNChueqE="; - max_version = "5.0"; - }; - "0.9.0" = { - sha256 = "sha256-3w2tG605v03mvmZsS2O5c71y66O3W+n3JjFxIbXwvXk="; - max_version = "5.0"; - }; -}."${version}"; in +let + param = + { + "2.4.2" = { + sha256 = "sha256-Vjz9uybsijDnN6nPKFoG4LuulT9I4lu7D2n3qZwrpAs="; + }; + "2.0.0" = { + sha256 = "sha256-QHkZ+7DrlXYdb8bsZ3dijZSqGQc0O9ymeLGIC6+zOSI="; + }; + "1.0.1" = { + sha256 = "sha256-orvo5CAbYOmAurAeluQfK6CwW6P1C0T3WDfoovuQfSw="; + }; + "1.0.0" = { + sha256 = "sha256-tqoI6nGp662bK+vE2h7aDXE882dObVfRBFnZNChueqE="; + max_version = "5.0"; + }; + "0.9.0" = { + sha256 = "sha256-3w2tG605v03mvmZsS2O5c71y66O3W+n3JjFxIbXwvXk="; + max_version = "5.0"; + }; + } + ."${version}"; +in lib.throwIf (param ? max_version && lib.versionAtLeast ocaml.version param.max_version) "odoc-parser ${version} is not available for OCaml ${ocaml.version}" -buildDunePackage rec { - pname = "odoc-parser"; - inherit version; + buildDunePackage + rec { + pname = "odoc-parser"; + inherit version; - minimalOCamlVersion = "4.02"; + minimalOCamlVersion = "4.02"; - src = fetchurl { - url = if lib.versionAtLeast version "2.4" - then "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz" - else "https://github.com/ocaml-doc/odoc-parser/releases/download/${version}/odoc-parser-${version}.tbz"; - inherit (param) sha256; - }; + src = fetchurl { + url = + if lib.versionAtLeast version "2.4" then + "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz" + else + "https://github.com/ocaml-doc/odoc-parser/releases/download/${version}/odoc-parser-${version}.tbz"; + inherit (param) sha256; + }; - propagatedBuildInputs = [ astring result ] ++ - lib.optional (lib.versionAtLeast version "1.0.1") camlp-streams; + propagatedBuildInputs = [ + astring + result + ] ++ lib.optional (lib.versionAtLeast version "1.0.1") camlp-streams; - meta = { - description = "Parser for Ocaml documentation comments"; - license = lib.licenses.isc; - maintainers = [ ]; - homepage = "https://github.com/ocaml-doc/odoc-parser"; - changelog = "https://github.com/ocaml-doc/odoc-parser/raw/${version}/CHANGES.md"; - }; -} + meta = { + description = "Parser for Ocaml documentation comments"; + license = lib.licenses.isc; + maintainers = [ ]; + homepage = "https://github.com/ocaml-doc/odoc-parser"; + changelog = "https://github.com/ocaml-doc/odoc-parser/raw/${version}/CHANGES.md"; + }; + } diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix index 58a52a04c1961..d49547dafab4b 100644 --- a/pkgs/development/ocaml-modules/odoc/default.nix +++ b/pkgs/development/ocaml-modules/odoc/default.nix @@ -1,21 +1,54 @@ -{ lib, buildDunePackage, ocaml -, ocaml-crunch -, astring, cmdliner, cppo, fpath, result, tyxml -, markup, yojson, sexplib0, jq -, odoc-parser, ppx_expect, bash, fmt +{ + lib, + buildDunePackage, + ocaml, + ocaml-crunch, + astring, + cmdliner, + cppo, + fpath, + result, + tyxml, + markup, + yojson, + sexplib0, + jq, + odoc-parser, + ppx_expect, + bash, + fmt, }: buildDunePackage rec { pname = "odoc"; inherit (odoc-parser) version src; - nativeBuildInputs = [ cppo ocaml-crunch ]; - buildInputs = [ astring cmdliner fpath result tyxml odoc-parser fmt ]; + nativeBuildInputs = [ + cppo + ocaml-crunch + ]; + buildInputs = [ + astring + cmdliner + fpath + result + tyxml + odoc-parser + fmt + ]; - nativeCheckInputs = [ bash jq ]; - checkInputs = [ markup yojson sexplib0 jq ppx_expect ]; - doCheck = lib.versionAtLeast ocaml.version "4.08" - && lib.versionOlder yojson.version "2.0"; + nativeCheckInputs = [ + bash + jq + ]; + checkInputs = [ + markup + yojson + sexplib0 + jq + ppx_expect + ]; + doCheck = lib.versionAtLeast ocaml.version "4.08" && lib.versionOlder yojson.version "2.0"; preCheck = '' # some run.t files check the content of patchShebangs-ed scripts, so patch diff --git a/pkgs/development/ocaml-modules/ogg/default.nix b/pkgs/development/ocaml-modules/ogg/default.nix index 6c125130e81c2..b815923bb9118 100644 --- a/pkgs/development/ocaml-modules/ogg/default.nix +++ b/pkgs/development/ocaml-modules/ogg/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, libogg }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + libogg, +}: buildDunePackage rec { pname = "ogg"; diff --git a/pkgs/development/ocaml-modules/omd/default.nix b/pkgs/development/ocaml-modules/omd/default.nix index 2ccf939ea614d..cb0697188eb4c 100644 --- a/pkgs/development/ocaml-modules/omd/default.nix +++ b/pkgs/development/ocaml-modules/omd/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "omd"; diff --git a/pkgs/development/ocaml-modules/opam-core/default.nix b/pkgs/development/ocaml-modules/opam-core/default.nix index 0aa5f10f0674a..0cb568cd2dfce 100644 --- a/pkgs/development/ocaml-modules/opam-core/default.nix +++ b/pkgs/development/ocaml-modules/opam-core/default.nix @@ -1,5 +1,13 @@ -{ lib, buildDunePackage, opam -, jsonm, ocamlgraph, re, sha, swhid_core, uutf +{ + lib, + buildDunePackage, + opam, + jsonm, + ocamlgraph, + re, + sha, + swhid_core, + uutf, }: buildDunePackage { @@ -7,7 +15,14 @@ buildDunePackage { inherit (opam) src version; - propagatedBuildInputs = [ jsonm ocamlgraph uutf re sha swhid_core ]; + propagatedBuildInputs = [ + jsonm + ocamlgraph + uutf + re + sha + swhid_core + ]; # get rid of check for curl at configure time # opam-core does not call curl at run time diff --git a/pkgs/development/ocaml-modules/opam-file-format/default.nix b/pkgs/development/ocaml-modules/opam-file-format/default.nix index f91609aa27cfa..eaf87e5684f84 100644 --- a/pkgs/development/ocaml-modules/opam-file-format/default.nix +++ b/pkgs/development/ocaml-modules/opam-file-format/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "opam-file-format"; diff --git a/pkgs/development/ocaml-modules/opam-format/default.nix b/pkgs/development/ocaml-modules/opam-format/default.nix index 27b90a8556b47..63c83949e9f24 100644 --- a/pkgs/development/ocaml-modules/opam-format/default.nix +++ b/pkgs/development/ocaml-modules/opam-format/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, opam-core, opam-file-format }: +{ + lib, + buildDunePackage, + opam-core, + opam-file-format, +}: buildDunePackage { pname = "opam-format"; @@ -9,7 +14,10 @@ buildDunePackage { # opam-format does not call curl at run time configureFlags = [ "--disable-checks" ]; - propagatedBuildInputs = [ opam-core opam-file-format ]; + propagatedBuildInputs = [ + opam-core + opam-file-format + ]; meta = opam-core.meta // { description = "Definition of opam datastructures and its file interface"; diff --git a/pkgs/development/ocaml-modules/opam-repository/default.nix b/pkgs/development/ocaml-modules/opam-repository/default.nix index 472bcc78f211d..61b9bc4133c12 100644 --- a/pkgs/development/ocaml-modules/opam-repository/default.nix +++ b/pkgs/development/ocaml-modules/opam-repository/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, opam-format, curl }: +{ + lib, + buildDunePackage, + opam-format, + curl, +}: buildDunePackage { pname = "opam-repository"; diff --git a/pkgs/development/ocaml-modules/opam-state/default.nix b/pkgs/development/ocaml-modules/opam-state/default.nix index 7481f04f3202e..a2ff0249b652e 100644 --- a/pkgs/development/ocaml-modules/opam-state/default.nix +++ b/pkgs/development/ocaml-modules/opam-state/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, opam, opam-repository, spdx_licenses }: +{ + lib, + buildDunePackage, + opam, + opam-repository, + spdx_licenses, +}: buildDunePackage { pname = "opam-state"; @@ -9,7 +15,10 @@ buildDunePackage { # opam-state does not call curl at run time configureFlags = [ "--disable-checks" ]; - propagatedBuildInputs = [ opam-repository spdx_licenses ]; + propagatedBuildInputs = [ + opam-repository + spdx_licenses + ]; meta = opam.meta // { description = "OPAM development library handling the ~/.opam hierarchy, repository and switch states"; diff --git a/pkgs/development/ocaml-modules/opium/default.nix b/pkgs/development/ocaml-modules/opium/default.nix index ceae3c4867cfa..719f0fcbfe9f0 100644 --- a/pkgs/development/ocaml-modules/opium/default.nix +++ b/pkgs/development/ocaml-modules/opium/default.nix @@ -1,23 +1,24 @@ -{ buildDunePackage -, lib -, astring -, base64 -, cmdliner -, fmt -, httpaf -, httpaf-lwt-unix -, logs -, magic-mime -, mirage-crypto -, mtime -, multipart-form-data -, ptime -, re -, rock -, tyxml -, uri -, yojson -, alcotest-lwt +{ + buildDunePackage, + lib, + astring, + base64, + cmdliner, + fmt, + httpaf, + httpaf-lwt-unix, + logs, + magic-mime, + mirage-crypto, + mtime, + multipart-form-data, + ptime, + re, + rock, + tyxml, + uri, + yojson, + alcotest-lwt, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/opti/default.nix b/pkgs/development/ocaml-modules/opti/default.nix index 1d854a1fda502..c0eec8aa06c70 100644 --- a/pkgs/development/ocaml-modules/opti/default.nix +++ b/pkgs/development/ocaml-modules/opti/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "opti"; diff --git a/pkgs/development/ocaml-modules/optint/default.nix b/pkgs/development/ocaml-modules/optint/default.nix index d98f6cf5ee2f2..2726e0aae8897 100644 --- a/pkgs/development/ocaml-modules/optint/default.nix +++ b/pkgs/development/ocaml-modules/optint/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { minimalOCamlVersion = "4.07"; diff --git a/pkgs/development/ocaml-modules/opus/default.nix b/pkgs/development/ocaml-modules/opus/default.nix index 104846b87f6e4..693426fb23566 100644 --- a/pkgs/development/ocaml-modules/opus/default.nix +++ b/pkgs/development/ocaml-modules/opus/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, pkg-config, ogg, libopus }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + pkg-config, + ogg, + libopus, +}: buildDunePackage rec { pname = "opus"; @@ -15,7 +23,10 @@ buildDunePackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ogg libopus.dev ]; + propagatedBuildInputs = [ + ogg + libopus.dev + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-opus"; diff --git a/pkgs/development/ocaml-modules/oseq/default.nix b/pkgs/development/ocaml-modules/oseq/default.nix index 02b3402757326..7d462b10c6a24 100644 --- a/pkgs/development/ocaml-modules/oseq/default.nix +++ b/pkgs/development/ocaml-modules/oseq/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage -, containers, qcheck +{ + lib, + fetchFromGitHub, + buildDunePackage, + containers, + qcheck, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/otfed/default.nix b/pkgs/development/ocaml-modules/otfed/default.nix index d9d3c5bcb54f0..b33036380e172 100644 --- a/pkgs/development/ocaml-modules/otfed/default.nix +++ b/pkgs/development/ocaml-modules/otfed/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, base -, ppx_deriving -, ppx_inline_test -, uutf -, alcotest +{ + lib, + buildDunePackage, + fetchFromGitHub, + base, + ppx_deriving, + ppx_inline_test, + uutf, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/otfm/default.nix b/pkgs/development/ocaml-modules/otfm/default.nix index c7b9d930bd6f0..6d4e4a5ffbc3d 100644 --- a/pkgs/development/ocaml-modules/otfm/default.nix +++ b/pkgs/development/ocaml-modules/otfm/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + uutf, +}: let pname = "otfm"; @@ -16,7 +25,12 @@ stdenv.mkDerivation { hash = "sha256-02U23mYTy0ZJgSObDoyygPTGEMC4/Zge5bux4wshaEE="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; propagatedBuildInputs = [ uutf ]; diff --git a/pkgs/development/ocaml-modules/otoml/default.nix b/pkgs/development/ocaml-modules/otoml/default.nix index 10b8a03a1b187..8990a3611ecaa 100644 --- a/pkgs/development/ocaml-modules/otoml/default.nix +++ b/pkgs/development/ocaml-modules/otoml/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, menhir -, menhirLib -, uutf +{ + lib, + fetchFromGitHub, + buildDunePackage, + menhir, + menhirLib, + uutf, }: buildDunePackage rec { @@ -21,7 +22,10 @@ buildDunePackage rec { nativeBuildInputs = [ menhir ]; - propagatedBuildInputs = [ menhirLib uutf ]; + propagatedBuildInputs = [ + menhirLib + uutf + ]; meta = { description = "TOML parsing and manipulation library for OCaml"; diff --git a/pkgs/development/ocaml-modules/otr/default.nix b/pkgs/development/ocaml-modules/otr/default.nix index ef4743be9ac93..12c45fda978d0 100644 --- a/pkgs/development/ocaml-modules/otr/default.nix +++ b/pkgs/development/ocaml-modules/otr/default.nix @@ -1,5 +1,13 @@ -{ lib, fetchurl, buildDunePackage -, digestif, sexplib0, mirage-crypto, mirage-crypto-pk, astring, base64 +{ + lib, + fetchurl, + buildDunePackage, + digestif, + sexplib0, + mirage-crypto, + mirage-crypto-pk, + astring, + base64, }: buildDunePackage rec { @@ -13,8 +21,14 @@ buildDunePackage rec { hash = "sha256-/CcVqLbdylB+LqpKNETkpvQ8SEAIcEFCO1MZqvdmJWU="; }; - propagatedBuildInputs = [ digestif sexplib0 mirage-crypto mirage-crypto-pk - astring base64 ]; + propagatedBuildInputs = [ + digestif + sexplib0 + mirage-crypto + mirage-crypto-pk + astring + base64 + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix index a40111cd3b378..6f355769c6d0e 100644 --- a/pkgs/development/ocaml-modules/ounit/default.nix +++ b/pkgs/development/ocaml-modules/ounit/default.nix @@ -1,4 +1,9 @@ -{ stdenv, ocaml, findlib, ounit2 }: +{ + stdenv, + ocaml, + findlib, + ounit2, +}: stdenv.mkDerivation { pname = "ocaml${ocaml.version}-ounit"; diff --git a/pkgs/development/ocaml-modules/ounit2/default.nix b/pkgs/development/ocaml-modules/ounit2/default.nix index 1d629daef8751..7708bc1849afe 100644 --- a/pkgs/development/ocaml-modules/ounit2/default.nix +++ b/pkgs/development/ocaml-modules/ounit2/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchurl, seq, stdlib-shims }: +{ + lib, + buildDunePackage, + fetchurl, + seq, + stdlib-shims, +}: buildDunePackage rec { minimalOCamlVersion = "4.08"; @@ -11,7 +17,10 @@ buildDunePackage rec { hash = "sha256-kPbmO9EkClHYubL3IgWb15zgC1J2vdYji49cYTwOc4g="; }; - propagatedBuildInputs = [ seq stdlib-shims ]; + propagatedBuildInputs = [ + seq + stdlib-shims + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/owee/default.nix b/pkgs/development/ocaml-modules/owee/default.nix index 67cdb3828f818..9f61ee89d3223 100644 --- a/pkgs/development/ocaml-modules/owee/default.nix +++ b/pkgs/development/ocaml-modules/owee/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { minimalOCamlVersion = "4.06"; @@ -6,8 +10,7 @@ buildDunePackage rec { version = "0.7"; src = fetchurl { - url = - "https://github.com/let-def/owee/releases/download/v${version}/owee-${version}.tbz"; + url = "https://github.com/let-def/owee/releases/download/v${version}/owee-${version}.tbz"; hash = "sha256-9FXcmddHg5mk5UWgYd4kTPOLOY/p6A/OBuvfas4elUA="; }; @@ -15,6 +18,9 @@ buildDunePackage rec { description = "Experimental OCaml library to work with DWARF format"; homepage = "https://github.com/let-def/owee/"; license = licenses.mit; - maintainers = with maintainers; [ vbgl alizter ]; + maintainers = with maintainers; [ + vbgl + alizter + ]; }; } diff --git a/pkgs/development/ocaml-modules/owl-base/default.nix b/pkgs/development/ocaml-modules/owl-base/default.nix index 2f27d5d3e17b5..2c9eb60a18931 100644 --- a/pkgs/development/ocaml-modules/owl-base/default.nix +++ b/pkgs/development/ocaml-modules/owl-base/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "owl-base"; diff --git a/pkgs/development/ocaml-modules/owl/default.nix b/pkgs/development/ocaml-modules/owl/default.nix index 178a4f6349b3d..5826a1ba39b84 100644 --- a/pkgs/development/ocaml-modules/owl/default.nix +++ b/pkgs/development/ocaml-modules/owl/default.nix @@ -1,21 +1,24 @@ -{ buildDunePackage -, dune-configurator -, alcotest -, ctypes -, stdio -, openblasCompat -, owl-base -, npy +{ + buildDunePackage, + dune-configurator, + alcotest, + ctypes, + stdio, + openblasCompat, + owl-base, + npy, }: - buildDunePackage rec { pname = "owl"; inherit (owl-base) version src meta; checkInputs = [ alcotest ]; - buildInputs = [ dune-configurator stdio ]; + buildInputs = [ + dune-configurator + stdio + ]; propagatedBuildInputs = [ ctypes openblasCompat diff --git a/pkgs/development/ocaml-modules/paf/cohttp.nix b/pkgs/development/ocaml-modules/paf/cohttp.nix index a19f3797e71a8..253b271e0e97d 100644 --- a/pkgs/development/ocaml-modules/paf/cohttp.nix +++ b/pkgs/development/ocaml-modules/paf/cohttp.nix @@ -1,18 +1,19 @@ -{ buildDunePackage -, paf -, cohttp-lwt -, domain-name -, httpaf -, ipaddr -, alcotest-lwt -, fmt -, logs -, mirage-crypto-rng -, mirage-time-unix -, tcpip -, uri -, lwt -, astring +{ + buildDunePackage, + paf, + cohttp-lwt, + domain-name, + httpaf, + ipaddr, + alcotest-lwt, + fmt, + logs, + mirage-crypto-rng, + mirage-time-unix, + tcpip, + uri, + lwt, + astring, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/paf/default.nix b/pkgs/development/ocaml-modules/paf/default.nix index 7ac80079933aa..404597974164e 100644 --- a/pkgs/development/ocaml-modules/paf/default.nix +++ b/pkgs/development/ocaml-modules/paf/default.nix @@ -1,25 +1,26 @@ -{ buildDunePackage -, lib -, fetchurl -, mirage-time -, h2 -, tls-mirage -, mimic -, ke -, bigstringaf -, faraday -, tls -, lwt -, logs -, fmt -, mirage-crypto-rng -, tcpip -, mirage-time-unix -, ptime -, uri -, alcotest-lwt -, cstruct -, httpaf +{ + buildDunePackage, + lib, + fetchurl, + mirage-time, + h2, + tls-mirage, + mimic, + ke, + bigstringaf, + faraday, + tls, + lwt, + logs, + fmt, + mirage-crypto-rng, + tcpip, + mirage-time-unix, + ptime, + uri, + alcotest-lwt, + cstruct, + httpaf, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/parany/default.nix b/pkgs/development/ocaml-modules/parany/default.nix index 3824730765825..1b0605a6269da 100644 --- a/pkgs/development/ocaml-modules/parany/default.nix +++ b/pkgs/development/ocaml-modules/parany/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, cpu }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + cpu, +}: buildDunePackage rec { pname = "parany"; diff --git a/pkgs/development/ocaml-modules/parmap/default.nix b/pkgs/development/ocaml-modules/parmap/default.nix index a8885aa27f274..7babaab8b725a 100644 --- a/pkgs/development/ocaml-modules/parmap/default.nix +++ b/pkgs/development/ocaml-modules/parmap/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, dune-configurator }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + dune-configurator, +}: buildDunePackage rec { pname = "parmap"; diff --git a/pkgs/development/ocaml-modules/parse-argv/default.nix b/pkgs/development/ocaml-modules/parse-argv/default.nix index 88df0bc281d13..b59feac4fb400 100644 --- a/pkgs/development/ocaml-modules/parse-argv/default.nix +++ b/pkgs/development/ocaml-modules/parse-argv/default.nix @@ -1,6 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ocaml -, astring -, ounit +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + astring, + ounit, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/path_glob/default.nix b/pkgs/development/ocaml-modules/path_glob/default.nix index ed6363bad2613..e0f56e6a63776 100644 --- a/pkgs/development/ocaml-modules/path_glob/default.nix +++ b/pkgs/development/ocaml-modules/path_glob/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "path_glob"; diff --git a/pkgs/development/ocaml-modules/pbkdf/default.nix b/pkgs/development/ocaml-modules/pbkdf/default.nix index 27b269b369e8e..b09fcdf56fade 100644 --- a/pkgs/development/ocaml-modules/pbkdf/default.nix +++ b/pkgs/development/ocaml-modules/pbkdf/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildDunePackage -, fetchzip -, digestif -, mirage-crypto -, alcotest -, ohex +{ + lib, + buildDunePackage, + fetchzip, + digestif, + mirage-crypto, + alcotest, + ohex, }: buildDunePackage rec { @@ -17,8 +18,14 @@ buildDunePackage rec { }; minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ digestif mirage-crypto ]; - checkInputs = [ alcotest ohex ]; + propagatedBuildInputs = [ + digestif + mirage-crypto + ]; + checkInputs = [ + alcotest + ohex + ]; doCheck = true; meta = { @@ -28,4 +35,3 @@ buildDunePackage rec { homepage = "https://github.com/abeaumont/ocaml-pbkdf"; }; } - diff --git a/pkgs/development/ocaml-modules/pbrt/default.nix b/pkgs/development/ocaml-modules/pbrt/default.nix index ec5e5df7ab49d..c025ee5d5bffb 100644 --- a/pkgs/development/ocaml-modules/pbrt/default.nix +++ b/pkgs/development/ocaml-modules/pbrt/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "pbrt"; @@ -20,4 +24,3 @@ buildDunePackage rec { maintainers = [ maintainers.vyorkin ]; }; } - diff --git a/pkgs/development/ocaml-modules/pcap-format/default.nix b/pkgs/development/ocaml-modules/pcap-format/default.nix index e73492830893c..b8b93b7af56be 100644 --- a/pkgs/development/ocaml-modules/pcap-format/default.nix +++ b/pkgs/development/ocaml-modules/pcap-format/default.nix @@ -1,7 +1,10 @@ -{ lib, buildDunePackage, fetchurl -, ppx_cstruct -, cstruct -, ounit +{ + lib, + buildDunePackage, + fetchurl, + ppx_cstruct, + cstruct, + ounit, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/pecu/default.nix b/pkgs/development/ocaml-modules/pecu/default.nix index 66d9e56c6dc36..6f05ea5196a4c 100644 --- a/pkgs/development/ocaml-modules/pecu/default.nix +++ b/pkgs/development/ocaml-modules/pecu/default.nix @@ -1,4 +1,13 @@ -{ lib, buildDunePackage, ocaml, fetchurl, fmt, alcotest, crowbar, astring }: +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + fmt, + alcotest, + crowbar, + astring, +}: buildDunePackage rec { pname = "pecu"; @@ -13,7 +22,12 @@ buildDunePackage rec { # crowbar availability doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ fmt alcotest crowbar astring ]; + checkInputs = [ + fmt + alcotest + crowbar + astring + ]; meta = with lib; { description = "Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047)"; diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix index ba9a97fcaa0d1..454939a9d1147 100644 --- a/pkgs/development/ocaml-modules/pgocaml/default.nix +++ b/pkgs/development/ocaml-modules/pgocaml/default.nix @@ -1,5 +1,16 @@ -{ lib, fetchFromGitHub, buildDunePackage -, calendar, camlp-streams, csv, hex, ppx_deriving, ppx_sexp_conv, re, rresult, sexplib +{ + lib, + fetchFromGitHub, + buildDunePackage, + calendar, + camlp-streams, + csv, + hex, + ppx_deriving, + ppx_sexp_conv, + re, + rresult, + sexplib, }: buildDunePackage rec { @@ -14,8 +25,16 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ calendar csv hex ppx_deriving ppx_sexp_conv re - rresult sexplib camlp-streams + propagatedBuildInputs = [ + calendar + csv + hex + ppx_deriving + ppx_sexp_conv + re + rresult + sexplib + camlp-streams ]; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/pgocaml/ppx.nix b/pkgs/development/ocaml-modules/pgocaml/ppx.nix index 1b76f9a577e7e..4c1f1204825f9 100644 --- a/pkgs/development/ocaml-modules/pgocaml/ppx.nix +++ b/pkgs/development/ocaml-modules/pgocaml/ppx.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, pgocaml, ppx_optcomp }: +{ + buildDunePackage, + pgocaml, + ppx_optcomp, +}: buildDunePackage { pname = "pgocaml_ppx"; diff --git a/pkgs/development/ocaml-modules/pgsolver/default.nix b/pkgs/development/ocaml-modules/pgsolver/default.nix index 4bf765bc9cfc4..ddfde095c7d97 100644 --- a/pkgs/development/ocaml-modules/pgsolver/default.nix +++ b/pkgs/development/ocaml-modules/pgsolver/default.nix @@ -1,18 +1,28 @@ -{ lib, fetchFromGitHub, buildOasisPackage, ounit, tcslib, ocaml-sat-solvers }: +{ + lib, + fetchFromGitHub, + buildOasisPackage, + ounit, + tcslib, + ocaml-sat-solvers, +}: buildOasisPackage rec { pname = "pgsolver"; version = "4.1"; src = fetchFromGitHub { - owner = "tcsprojects"; - repo = "pgsolver"; - rev = "v${version}"; + owner = "tcsprojects"; + repo = "pgsolver"; + rev = "v${version}"; sha256 = "16skrn8qql9djpray25xv66rjgfl20js5wqnxyq1763nmyizyj8a"; }; buildInputs = [ ounit ]; - propagatedBuildInputs = [ tcslib ocaml-sat-solvers ]; + propagatedBuildInputs = [ + tcslib + ocaml-sat-solvers + ]; meta = { description = "Collection of tools for generating, manipulating and - most of all - solving parity games"; diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix index dd99947db1f58..122ca3e0416b0 100644 --- a/pkgs/development/ocaml-modules/phylogenetics/default.nix +++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix @@ -1,16 +1,17 @@ -{ lib -, buildDunePackage -, fetchurl -, bppsuite -, alcotest -, angstrom-unix -, biotk -, core -, gsl -, lacaml -, menhir -, menhirLib -, printbox-text +{ + lib, + buildDunePackage, + fetchurl, + bppsuite, + alcotest, + angstrom-unix, + biotk, + core, + gsl, + lacaml, + menhir, + menhirLib, + printbox-text, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/piaf/default.nix b/pkgs/development/ocaml-modules/piaf/default.nix index 9c2e481b76e4d..dae4a95291d0b 100644 --- a/pkgs/development/ocaml-modules/piaf/default.nix +++ b/pkgs/development/ocaml-modules/piaf/default.nix @@ -1,23 +1,24 @@ -{ alcotest -, buildDunePackage -, fetchurl -, eio-ssl -, faraday -, h2-eio -, httpun-eio -, httpun-ws -, ipaddr -, ke -, lib -, logs -, magic-mime -, pecu -, prettym -, unstrctrd -, uri -, uutf -, dune-site -, eio_main +{ + alcotest, + buildDunePackage, + fetchurl, + eio-ssl, + faraday, + h2-eio, + httpun-eio, + httpun-ws, + ipaddr, + ke, + lib, + logs, + magic-mime, + pecu, + prettym, + unstrctrd, + uri, + uutf, + dune-site, + eio_main, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix index ae1efafb22516..74f01c35ce944 100644 --- a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix +++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, piqi, stdlib-shims, num }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + piqi, + stdlib-shims, + num, +}: stdenv.mkDerivation rec { version = "0.7.8"; @@ -12,8 +21,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-6Luq49sbo+AqLSq57mc6fLhrRx0K6G5LCUIzkGPfqYo="; }; - nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ piqi stdlib-shims ]; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ + piqi + stdlib-shims + ]; checkInputs = [ num ]; diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix index fb5f0192c4599..1c45d67324d60 100644 --- a/pkgs/development/ocaml-modules/piqi/default.nix +++ b/pkgs/development/ocaml-modules/piqi/default.nix @@ -1,37 +1,64 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, which, sedlex, easy-format, xmlm, base64 }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + which, + sedlex, + easy-format, + xmlm, + base64, +}: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "piqi is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - version = "0.6.16"; - pname = "piqi"; - name = "ocaml${ocaml.version}-${pname}-${version}"; + stdenv.mkDerivation + rec { + version = "0.6.16"; + pname = "piqi"; + name = "ocaml${ocaml.version}-${pname}-${version}"; - src = fetchFromGitHub { - owner = "alavrik"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-qE+yybTn+kzbY0h8udhZYO+GwQPI/J/6p3LMmF12cFU="; - }; + src = fetchFromGitHub { + owner = "alavrik"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-qE+yybTn+kzbY0h8udhZYO+GwQPI/J/6p3LMmF12cFU="; + }; - nativeBuildInputs = [ ocaml findlib which ]; - propagatedBuildInputs = [ sedlex xmlm easy-format base64 ]; + nativeBuildInputs = [ + ocaml + findlib + which + ]; + propagatedBuildInputs = [ + sedlex + xmlm + easy-format + base64 + ]; - strictDeps = true; + strictDeps = true; - patches = [ ./no-stream.patch ./no-ocamlpath-override.patch ]; + patches = [ + ./no-stream.patch + ./no-ocamlpath-override.patch + ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - postBuild = "make -C piqilib piqilib.cma"; + postBuild = "make -C piqilib piqilib.cma"; - installTargets = [ "install" "ocaml-install" ]; + installTargets = [ + "install" + "ocaml-install" + ]; - meta = with lib; { - homepage = "https://piqi.org"; - description = "Universal schema language and a collection of tools built around it"; - license = licenses.asl20; - maintainers = [ maintainers.maurer ]; - }; -} + meta = with lib; { + homepage = "https://piqi.org"; + description = "Universal schema language and a collection of tools built around it"; + license = licenses.asl20; + maintainers = [ maintainers.maurer ]; + }; + } diff --git a/pkgs/development/ocaml-modules/plotkicadsch/default.nix b/pkgs/development/ocaml-modules/plotkicadsch/default.nix index 09593f835aef6..69f67ae580a6d 100644 --- a/pkgs/development/ocaml-modules/plotkicadsch/default.nix +++ b/pkgs/development/ocaml-modules/plotkicadsch/default.nix @@ -1,17 +1,18 @@ -{ lib -, buildDunePackage -, substituteAll -, base64 -, cmdliner -, digestif -, git-unix -, kicadsch -, lwt -, lwt_ppx -, sha -, tyxml -, coreutils -, imagemagick +{ + lib, + buildDunePackage, + substituteAll, + base64, + cmdliner, + digestif, + git-unix, + kicadsch, + lwt, + lwt_ppx, + sha, + tyxml, + coreutils, + imagemagick, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/poll/default.nix b/pkgs/development/ocaml-modules/poll/default.nix index ea1e2e1c13d79..0f0e616da1baf 100644 --- a/pkgs/development/ocaml-modules/poll/default.nix +++ b/pkgs/development/ocaml-modules/poll/default.nix @@ -1,10 +1,11 @@ -{ buildDunePackage -, dune-configurator -, fetchurl -, kqueue -, lib -, ppx_expect -, ppx_optcomp +{ + buildDunePackage, + dune-configurator, + fetchurl, + kqueue, + lib, + ppx_expect, + ppx_optcomp, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/polynomial/default.nix b/pkgs/development/ocaml-modules/polynomial/default.nix index 791aa7b7fabde..e2f77205e70d3 100644 --- a/pkgs/development/ocaml-modules/polynomial/default.nix +++ b/pkgs/development/ocaml-modules/polynomial/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitLab -, buildDunePackage -, zarith -, ff-sig +{ + lib, + fetchFromGitLab, + buildDunePackage, + zarith, + ff-sig, }: buildDunePackage rec { @@ -17,7 +18,10 @@ buildDunePackage rec { hash = "sha256-is/PrYLCwStHiQsNq5OVRCwHdXjO2K2Z7FrXgytRfAU="; }; - propagatedBuildInputs = [ zarith ff-sig ]; + propagatedBuildInputs = [ + zarith + ff-sig + ]; doCheck = false; # circular dependencies diff --git a/pkgs/development/ocaml-modules/portaudio/default.nix b/pkgs/development/ocaml-modules/portaudio/default.nix index 9a6b450b5c4ed..2087967279259 100644 --- a/pkgs/development/ocaml-modules/portaudio/default.nix +++ b/pkgs/development/ocaml-modules/portaudio/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, portaudio }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + portaudio, +}: buildDunePackage rec { pname = "portaudio"; diff --git a/pkgs/development/ocaml-modules/posix/base.nix b/pkgs/development/ocaml-modules/posix/base.nix index ab78d3737f9f3..449eb5736da24 100644 --- a/pkgs/development/ocaml-modules/posix/base.nix +++ b/pkgs/development/ocaml-modules/posix/base.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub -, ctypes, integers +{ + lib, + buildDunePackage, + fetchFromGitHub, + ctypes, + integers, }: buildDunePackage rec { @@ -16,7 +20,10 @@ buildDunePackage rec { duneVersion = "3"; minimalOCamlVersion = "4.08"; - propagatedBuildInputs = [ ctypes integers ]; + propagatedBuildInputs = [ + ctypes + integers + ]; meta = { homepage = "https://www.liquidsoap.info/ocaml-posix/"; diff --git a/pkgs/development/ocaml-modules/posix/time2.nix b/pkgs/development/ocaml-modules/posix/time2.nix index c82da776b8fcc..a2fc562496b1e 100644 --- a/pkgs/development/ocaml-modules/posix/time2.nix +++ b/pkgs/development/ocaml-modules/posix/time2.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, posix-base, posix-types, unix-errno }: +{ + lib, + buildDunePackage, + posix-base, + posix-types, + unix-errno, +}: buildDunePackage { pname = "posix-time2"; @@ -7,7 +13,11 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ posix-base posix-types unix-errno ]; + propagatedBuildInputs = [ + posix-base + posix-types + unix-errno + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/pp/default.nix b/pkgs/development/ocaml-modules/pp/default.nix index 5851c758cf31b..2a23896b54d07 100644 --- a/pkgs/development/ocaml-modules/pp/default.nix +++ b/pkgs/development/ocaml-modules/pp/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchurl -, ppx_expect -, version ? "2.0.0" +{ + lib, + buildDunePackage, + fetchurl, + ppx_expect, + version ? "2.0.0", }: buildDunePackage rec { @@ -10,12 +11,13 @@ buildDunePackage rec { inherit version; src = fetchurl { - url = - "https://github.com/ocaml-dune/pp/releases/download/${version}/pp-${version}.tbz"; - hash = { - "2.0.0" = "sha256-hlE1FRiwkrSi3vTggXHCdhUvkvtqhKixm2uSnM20RBk="; - "1.2.0" = "sha256-pegiVzxVr7Qtsp7FbqzR8qzY9lzy3yh44pHeN0zmkJw="; - }."${version}"; + url = "https://github.com/ocaml-dune/pp/releases/download/${version}/pp-${version}.tbz"; + hash = + { + "2.0.0" = "sha256-hlE1FRiwkrSi3vTggXHCdhUvkvtqhKixm2uSnM20RBk="; + "1.2.0" = "sha256-pegiVzxVr7Qtsp7FbqzR8qzY9lzy3yh44pHeN0zmkJw="; + } + ."${version}"; }; minimalOCamlVersion = "4.08"; @@ -24,8 +26,7 @@ buildDunePackage rec { doCheck = true; meta = with lib; { - description = - "A an alternative pretty printing library to the Format module of the OCaml standard library"; + description = "A an alternative pretty printing library to the Format module of the OCaml standard library"; license = licenses.mit; platforms = platforms.unix; maintainers = [ ]; diff --git a/pkgs/development/ocaml-modules/pp_loc/default.nix b/pkgs/development/ocaml-modules/pp_loc/default.nix index 147dd49f5d84a..e6cd85d7cf89f 100644 --- a/pkgs/development/ocaml-modules/pp_loc/default.nix +++ b/pkgs/development/ocaml-modules/pp_loc/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "pp_loc"; diff --git a/pkgs/development/ocaml-modules/pprint/default.nix b/pkgs/development/ocaml-modules/pprint/default.nix index 2fcb4dbf1fe7a..a542bf2e2ec1b 100644 --- a/pkgs/development/ocaml-modules/pprint/default.nix +++ b/pkgs/development/ocaml-modules/pprint/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "pprint"; diff --git a/pkgs/development/ocaml-modules/ppx_bap/default.nix b/pkgs/development/ocaml-modules/ppx_bap/default.nix index 13f9d3471fef2..7414253eef2e3 100644 --- a/pkgs/development/ocaml-modules/ppx_bap/default.nix +++ b/pkgs/development/ocaml-modules/ppx_bap/default.nix @@ -1,15 +1,17 @@ -{ lib, buildDunePackage -, fetchFromGitHub -, ppx_assert -, ppx_bench -, ppx_bin_prot -, ppx_compare -, ppx_enumerate -, ppx_hash -, ppx_here -, ppx_optcomp -, ppx_sexp_conv -, ppx_sexp_value +{ + lib, + buildDunePackage, + fetchFromGitHub, + ppx_assert, + ppx_bench, + ppx_bin_prot, + ppx_compare, + ppx_enumerate, + ppx_hash, + ppx_here, + ppx_optcomp, + ppx_sexp_conv, + ppx_sexp_value, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ppx_blob/default.nix b/pkgs/development/ocaml-modules/ppx_blob/default.nix index 62ac0769d6eb7..ec417f79e5aee 100644 --- a/pkgs/development/ocaml-modules/ppx_blob/default.nix +++ b/pkgs/development/ocaml-modules/ppx_blob/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, ocaml, alcotest, ppxlib }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + alcotest, + ppxlib, +}: buildDunePackage rec { pname = "ppx_blob"; diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix index 189efc3a675dd..75bdee5783a8e 100644 --- a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix +++ b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix @@ -1,57 +1,59 @@ -{ lib -, ocaml -, fetchFromGitHub -, buildDunePackage -, bigarray-compat -, containers -, cppo -, ctypes -, integers -, num -, ppxlib -, re -, findlib +{ + lib, + ocaml, + fetchFromGitHub, + buildDunePackage, + bigarray-compat, + containers, + cppo, + ctypes, + integers, + num, + ppxlib, + re, + findlib, }: lib.throwIf (lib.versionAtLeast ocaml.version "5.2") "ppx_cstubs is not available for OCaml ${ocaml.version}" -buildDunePackage rec { - pname = "ppx_cstubs"; - version = "0.7.0"; - - minimalOCamlVersion = "4.08"; - - src = fetchFromGitHub { - owner = "fdopen"; - repo = "ppx_cstubs"; - rev = version; - hash = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs="; - }; - - patches = [ ./ppxlib.patch ]; - - nativeBuildInputs = [ cppo ]; - - buildInputs = [ - bigarray-compat - containers - findlib - integers - num - ppxlib - re - ]; - - propagatedBuildInputs = [ - ctypes - ]; - - meta = with lib; { - homepage = "https://github.com/fdopen/ppx_cstubs"; - changelog = "https://github.com/fdopen/ppx_cstubs/raw/${version}/CHANGES.md"; - description = "Preprocessor for easier stub generation with ocaml-ctypes"; - license = licenses.lgpl21Plus; - maintainers = [ maintainers.osener ]; - }; -} + buildDunePackage + rec { + pname = "ppx_cstubs"; + version = "0.7.0"; + + minimalOCamlVersion = "4.08"; + + src = fetchFromGitHub { + owner = "fdopen"; + repo = "ppx_cstubs"; + rev = version; + hash = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs="; + }; + + patches = [ ./ppxlib.patch ]; + + nativeBuildInputs = [ cppo ]; + + buildInputs = [ + bigarray-compat + containers + findlib + integers + num + ppxlib + re + ]; + + propagatedBuildInputs = [ + ctypes + ]; + + meta = with lib; { + homepage = "https://github.com/fdopen/ppx_cstubs"; + changelog = "https://github.com/fdopen/ppx_cstubs/raw/${version}/CHANGES.md"; + description = "Preprocessor for easier stub generation with ocaml-ctypes"; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.osener ]; + }; + } diff --git a/pkgs/development/ocaml-modules/ppx_derivers/default.nix b/pkgs/development/ocaml-modules/ppx_derivers/default.nix index ebf19c70ff30e..e1208fe330e34 100644 --- a/pkgs/development/ocaml-modules/ppx_derivers/default.nix +++ b/pkgs/development/ocaml-modules/ppx_derivers/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "ppx_derivers"; diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix index c38f79a071f72..f1b1828afa981 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix @@ -1,28 +1,37 @@ -{ lib -, fetchurl -, buildDunePackage -, ocaml -, findlib -, cppo -, ppxlib -, ppx_derivers -, result -, ounit -, ounit2 -, ocaml-migrate-parsetree -, version ? - if lib.versionAtLeast ppxlib.version "0.32" then "6.0.3" - else if lib.versionAtLeast ppxlib.version "0.20" then "5.2.1" - else if lib.versionAtLeast ppxlib.version "0.15" then "5.1" - else "5.0" +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + findlib, + cppo, + ppxlib, + ppx_derivers, + result, + ounit, + ounit2, + ocaml-migrate-parsetree, + version ? + if lib.versionAtLeast ppxlib.version "0.32" then + "6.0.3" + else if lib.versionAtLeast ppxlib.version "0.20" then + "5.2.1" + else if lib.versionAtLeast ppxlib.version "0.15" then + "5.1" + else + "5.0", }: -let hash = { - "6.0.3" = "sha256-N0qpezLF4BwJqXgQpIv6IYwhO1tknkRSEBRVrBnJSm0="; - "5.2.1" = "sha256:11h75dsbv3rs03pl67hdd3lbim7wjzh257ij9c75fcknbfr5ysz9"; - "5.1" = "sha256:1i64fd7qrfzbam5hfbl01r0sx4iihsahcwqj13smmrjlnwi3nkxh"; - "5.0" = "sha256:0fkzrn4pdyvf1kl0nwvhqidq01pnq3ql8zk1jd56hb0cxaw851w3"; -}."${version}"; in +let + hash = + { + "6.0.3" = "sha256-N0qpezLF4BwJqXgQpIv6IYwhO1tknkRSEBRVrBnJSm0="; + "5.2.1" = "sha256:11h75dsbv3rs03pl67hdd3lbim7wjzh257ij9c75fcknbfr5ysz9"; + "5.1" = "sha256:1i64fd7qrfzbam5hfbl01r0sx4iihsahcwqj13smmrjlnwi3nkxh"; + "5.0" = "sha256:0fkzrn4pdyvf1kl0nwvhqidq01pnq3ql8zk1jd56hb0cxaw851w3"; + } + ."${version}"; +in buildDunePackage rec { pname = "ppx_deriving"; @@ -36,12 +45,16 @@ buildDunePackage rec { strictDeps = true; nativeBuildInputs = [ cppo ]; - buildInputs = [ findlib ppxlib ]; + buildInputs = [ + findlib + ppxlib + ]; propagatedBuildInputs = - lib.optional (lib.versionOlder version "5.2") ocaml-migrate-parsetree ++ [ - ppx_derivers - ] ++ lib.optional (lib.versionOlder version "6.0") result - ; + lib.optional (lib.versionOlder version "5.2") ocaml-migrate-parsetree + ++ [ + ppx_derivers + ] + ++ lib.optional (lib.versionOlder version "6.0") result; doCheck = lib.versionAtLeast ocaml.version "4.08"; checkInputs = [ diff --git a/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix index d956856327f01..d289734a9a1c0 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix @@ -1,13 +1,14 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, fetchpatch -, alcotest -, cmdliner -, ppx_deriving -, ppxlib -, result -, gitUpdater +{ + lib, + buildDunePackage, + fetchFromGitHub, + fetchpatch, + alcotest, + cmdliner, + ppx_deriving, + ppxlib, + result, + gitUpdater, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix index 00f2ee0f8317d..22c859f364b1c 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix @@ -1,5 +1,11 @@ -{ lib, fetchurl, buildDunePackage, cppo, ppx_deriving -, ppxlib, dune-configurator +{ + lib, + fetchurl, + buildDunePackage, + cppo, + ppx_deriving, + ppxlib, + dune-configurator, }: buildDunePackage rec { @@ -14,7 +20,10 @@ buildDunePackage rec { }; nativeBuildInputs = [ cppo ]; - buildInputs = [ ppxlib dune-configurator ]; + buildInputs = [ + ppxlib + dune-configurator + ]; propagatedBuildInputs = [ ppx_deriving ]; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix index acc36f2b01aca..26d2cc66e37a1 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, rpclib, alcotest, ppxlib, ppx_deriving, yojson }: +{ + lib, + buildDunePackage, + rpclib, + alcotest, + ppxlib, + ppx_deriving, + yojson, +}: buildDunePackage rec { pname = "ppx_deriving_rpc"; @@ -8,9 +16,16 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; duneVersion = "3"; - propagatedBuildInputs = [ ppxlib rpclib ppx_deriving ]; + propagatedBuildInputs = [ + ppxlib + rpclib + ppx_deriving + ]; - checkInputs = [ alcotest yojson ]; + checkInputs = [ + alcotest + yojson + ]; doCheck = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix index 18308734b164a..c33ad55e9b19e 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix @@ -1,5 +1,12 @@ -{ lib, buildDunePackage, fetchurl, ppxlib, alcotest, mdx -, ppx_deriving, yaml +{ + lib, + buildDunePackage, + fetchurl, + ppxlib, + alcotest, + mdx, + ppx_deriving, + yaml, }: buildDunePackage rec { @@ -13,7 +20,11 @@ buildDunePackage rec { hash = "sha256-HLY0ozmy6zY0KjXkwP3drTdz857PvLS/buN1nB+xf1s="; }; - propagatedBuildInputs = [ ppxlib ppx_deriving yaml ]; + propagatedBuildInputs = [ + ppxlib + ppx_deriving + yaml + ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix index edccd29a0ab11..a509985cdec25 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix @@ -1,19 +1,32 @@ -{ lib, buildDunePackage, fetchFromGitHub, ocaml, ppxlib, ounit, ounit2 -, ppx_deriving, result, yojson +{ + lib, + buildDunePackage, + fetchFromGitHub, + ocaml, + ppxlib, + ounit, + ounit2, + ppx_deriving, + result, + yojson, }: -let param = - if lib.versionAtLeast ppxlib.version "0.30" then { - version = "3.9.0"; - sha256 = "sha256-0d6YcBkeFoHXffCYjLIIvruw8B9ZB6NbUijhTv9uyN8="; - checkInputs = [ ounit2 ]; - } else { - version = "3.6.1"; - sha256 = "1icz5h6p3pfj7my5gi7wxpflrb8c902dqa17f9w424njilnpyrbk"; - checkInputs = [ ounit ]; - propagatedBuildInputs = [ result ]; - } -; in +let + param = + if lib.versionAtLeast ppxlib.version "0.30" then + { + version = "3.9.0"; + sha256 = "sha256-0d6YcBkeFoHXffCYjLIIvruw8B9ZB6NbUijhTv9uyN8="; + checkInputs = [ ounit2 ]; + } + else + { + version = "3.6.1"; + sha256 = "1icz5h6p3pfj7my5gi7wxpflrb8c902dqa17f9w424njilnpyrbk"; + checkInputs = [ ounit ]; + propagatedBuildInputs = [ result ]; + }; +in buildDunePackage rec { pname = "ppx_deriving_yojson"; @@ -28,8 +41,11 @@ buildDunePackage rec { inherit (param) sha256; }; - propagatedBuildInputs = [ ppxlib ppx_deriving yojson ] - ++ param.propagatedBuildInputs or []; + propagatedBuildInputs = [ + ppxlib + ppx_deriving + yojson + ] ++ param.propagatedBuildInputs or [ ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; inherit (param) checkInputs; diff --git a/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix b/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix index ea2ea5be9db5f..8f92df791b449 100644 --- a/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix +++ b/pkgs/development/ocaml-modules/ppx_gen_rec/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, ppxlib }: +{ + lib, + fetchurl, + buildDunePackage, + ppxlib, +}: buildDunePackage rec { pname = "ppx_gen_rec"; diff --git a/pkgs/development/ocaml-modules/ppx_import/default.nix b/pkgs/development/ocaml-modules/ppx_import/default.nix index 7b74fb8a49a5a..349bb527b3da5 100644 --- a/pkgs/development/ocaml-modules/ppx_import/default.nix +++ b/pkgs/development/ocaml-modules/ppx_import/default.nix @@ -1,48 +1,55 @@ -{ lib -, fetchurl -, buildDunePackage -, ocaml -, ounit -, ppx_deriving -, ppx_sexp_conv -, ppxlib -, version ? if lib.versionAtLeast ocaml.version "4.11" then "1.11.0" else "1.9.1" +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + ounit, + ppx_deriving, + ppx_sexp_conv, + ppxlib, + version ? if lib.versionAtLeast ocaml.version "4.11" then "1.11.0" else "1.9.1", }: lib.throwIfNot (lib.versionAtLeast ppxlib.version "0.24.0") "ppx_import is not available with ppxlib-${ppxlib.version}" -buildDunePackage rec { - pname = "ppx_import"; - inherit version; - - minimalOCamlVersion = "4.05"; - - src = fetchurl { - url = let dir = if lib.versionAtLeast version "1.11" then "v${version}" else "${version}"; in - "https://github.com/ocaml-ppx/ppx_import/releases/download/${dir}/ppx_import-${version}.tbz"; - - hash = { - "1.9.1" = "sha256-0bSY4u44Ds84XPIbcT5Vt4AG/4PkzFKMl9CDGFZyIdI="; - "1.11.0" = "sha256-Jmfv1IkQoaTkyxoxp9FI0ChNESqCaoDsA7D4ZUbOrBo="; - }."${version}"; - }; - - propagatedBuildInputs = [ - ppxlib - ]; - - checkInputs = [ - ounit - ppx_deriving - ppx_sexp_conv - ]; - - doCheck = true; - - meta = { - description = "Syntax extension for importing declarations from interface files"; - license = lib.licenses.mit; - homepage = "https://github.com/ocaml-ppx/ppx_import"; - }; -} + buildDunePackage + rec { + pname = "ppx_import"; + inherit version; + + minimalOCamlVersion = "4.05"; + + src = fetchurl { + url = + let + dir = if lib.versionAtLeast version "1.11" then "v${version}" else "${version}"; + in + "https://github.com/ocaml-ppx/ppx_import/releases/download/${dir}/ppx_import-${version}.tbz"; + + hash = + { + "1.9.1" = "sha256-0bSY4u44Ds84XPIbcT5Vt4AG/4PkzFKMl9CDGFZyIdI="; + "1.11.0" = "sha256-Jmfv1IkQoaTkyxoxp9FI0ChNESqCaoDsA7D4ZUbOrBo="; + } + ."${version}"; + }; + + propagatedBuildInputs = [ + ppxlib + ]; + + checkInputs = [ + ounit + ppx_deriving + ppx_sexp_conv + ]; + + doCheck = true; + + meta = { + description = "Syntax extension for importing declarations from interface files"; + license = lib.licenses.mit; + homepage = "https://github.com/ocaml-ppx/ppx_import"; + }; + } diff --git a/pkgs/development/ocaml-modules/ppx_monad/default.nix b/pkgs/development/ocaml-modules/ppx_monad/default.nix index d17de7a1033c9..cb45f52337909 100644 --- a/pkgs/development/ocaml-modules/ppx_monad/default.nix +++ b/pkgs/development/ocaml-modules/ppx_monad/default.nix @@ -1,5 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage -, ppxlib +{ + lib, + fetchFromGitHub, + buildDunePackage, + ppxlib, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ppx_show/default.nix b/pkgs/development/ocaml-modules/ppx_show/default.nix index 6d33e0f0c163c..8874f2f4253a5 100644 --- a/pkgs/development/ocaml-modules/ppx_show/default.nix +++ b/pkgs/development/ocaml-modules/ppx_show/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub -, stdcompat, ppxlib +{ + lib, + buildDunePackage, + fetchFromGitHub, + stdcompat, + ppxlib, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index 41db9313fe7fe..21d6f116b9e70 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -1,49 +1,68 @@ -{ lib, stdenv, fetchFromGitHub, buildDunePackage, ocaml, findlib, cppo }: +{ + lib, + stdenv, + fetchFromGitHub, + buildDunePackage, + ocaml, + findlib, + cppo, +}: -if lib.versionAtLeast ocaml.version "5.2" -then throw "ppx_tools is not available for OCaml ${ocaml.version}" +if lib.versionAtLeast ocaml.version "5.2" then + throw "ppx_tools is not available for OCaml ${ocaml.version}" else -let param = - let v6_6 = { - version = "6.6"; - sha256 = "sha256-QhuaQ9346a3neoRM4GrOVzjR8fg9ysMZR1VzNgyIQtc="; - nativeBuildInputs = [cppo]; - buildInputs = [cppo]; - }; in -{ - "4.02" = { - version = "5.0+4.02.0"; - sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; }; - "4.03" = { - version = "5.0+4.03.0"; - sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; }; - "4.04" = { - version = "unstable-20161114"; - rev = "49c08e2e4ea8fef88692cd1dcc1b38a9133f17ac"; - sha256 = "0ywzfkf5brj33nwh49k9if8x8v433ral25f3nbklfc9vqr06zrfl"; }; - "4.05" = { - version = "5.0+4.05.0"; - sha256 = "1jvvhk6wnkvm7b9zph309ihsc0hyxfpahmxxrq19vx8c674jsdm4"; }; - "4.06" = { - version = "5.1+4.06.0"; - sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; - "4.07" = { - version = "5.1+4.06.0"; - sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; - "4.08" = v6_6; - "4.09" = v6_6; - "4.10" = v6_6; - "4.11" = v6_6; - "4.12" = v6_6; - "4.13" = v6_6; - "4.14" = v6_6; - "5.0" = v6_6; - "5.1" = v6_6; -}.${ocaml.meta.branch}; -in + let + param = + let + v6_6 = { + version = "6.6"; + sha256 = "sha256-QhuaQ9346a3neoRM4GrOVzjR8fg9ysMZR1VzNgyIQtc="; + nativeBuildInputs = [ cppo ]; + buildInputs = [ cppo ]; + }; + in + { + "4.02" = { + version = "5.0+4.02.0"; + sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; + }; + "4.03" = { + version = "5.0+4.03.0"; + sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; + }; + "4.04" = { + version = "unstable-20161114"; + rev = "49c08e2e4ea8fef88692cd1dcc1b38a9133f17ac"; + sha256 = "0ywzfkf5brj33nwh49k9if8x8v433ral25f3nbklfc9vqr06zrfl"; + }; + "4.05" = { + version = "5.0+4.05.0"; + sha256 = "1jvvhk6wnkvm7b9zph309ihsc0hyxfpahmxxrq19vx8c674jsdm4"; + }; + "4.06" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; + }; + "4.07" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; + }; + "4.08" = v6_6; + "4.09" = v6_6; + "4.10" = v6_6; + "4.11" = v6_6; + "4.12" = v6_6; + "4.13" = v6_6; + "4.14" = v6_6; + "5.0" = v6_6; + "5.1" = v6_6; + } + .${ocaml.meta.branch}; + in -let src = fetchFromGitHub { + let + src = fetchFromGitHub { owner = "alainfrisch"; repo = pname; rev = param.rev or param.version; @@ -56,26 +75,30 @@ let src = fetchFromGitHub { license = licenses.mit; maintainers = with maintainers; [ vbgl ]; }; -in -if lib.versionAtLeast param.version "6.0" -then - buildDunePackage { - inherit pname src meta; - inherit (param) version buildInputs nativeBuildInputs; - } -else - stdenv.mkDerivation { - name = "ocaml${ocaml.version}-${pname}-${param.version}"; + in + if lib.versionAtLeast param.version "6.0" then + buildDunePackage { + inherit pname src meta; + inherit (param) version buildInputs nativeBuildInputs; + } + else + stdenv.mkDerivation { + name = "ocaml${ocaml.version}-${pname}-${param.version}"; - inherit src; + inherit src; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; - strictDeps = true; + strictDeps = true; - createFindlibDestdir = true; + createFindlibDestdir = true; - dontStrip = true; + dontStrip = true; - meta = meta // { inherit (ocaml.meta) platforms; }; - } + meta = meta // { + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix index 78915135a0c71..3a887bdd5aebd 100644 --- a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml-migrate-parsetree }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml-migrate-parsetree, +}: buildDunePackage rec { pname = "ppx_tools_versioned"; diff --git a/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix b/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix index 49d02693843c0..22fe2ef279f2e 100644 --- a/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix +++ b/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, yojson }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + yojson, +}: buildDunePackage rec { pname = "ppx_yojson_conv_lib"; diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix index b64a5301fc32e..3f8ebe6da9489 100644 --- a/pkgs/development/ocaml-modules/ppxlib/default.nix +++ b/pkgs/development/ocaml-modules/ppxlib/default.nix @@ -1,104 +1,124 @@ -{ lib, fetchurl, buildDunePackage, ocaml -, version ? - if lib.versionAtLeast ocaml.version "4.07" - then if lib.versionAtLeast ocaml.version "4.08" - then if lib.versionAtLeast ocaml.version "4.11" - then "0.33.0" else "0.24.0" else "0.15.0" else "0.13.0" -, ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio -, stdlib-shims, ocaml-migrate-parsetree-2 +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + version ? + if lib.versionAtLeast ocaml.version "4.07" then + if lib.versionAtLeast ocaml.version "4.08" then + if lib.versionAtLeast ocaml.version "4.11" then "0.33.0" else "0.24.0" + else + "0.15.0" + else + "0.13.0", + ocaml-compiler-libs, + ocaml-migrate-parsetree, + ppx_derivers, + stdio, + stdlib-shims, + ocaml-migrate-parsetree-2, }: -let param = { - "0.8.1" = { - sha256 = "sha256-pct57oO7qAMEtlvEfymFOCvviWaLG0b5/7NzTC8vdSE="; - max_version = "4.10"; - OMP = [ ocaml-migrate-parsetree ]; - }; - "0.13.0" = { - sha256 = "sha256-geHz0whQDg5/YQjVsN2iuHlkClwh7z3Eqb2QOBzuOdk="; - min_version = "4.07"; - max_version = "4.11"; - OMP = [ ocaml-migrate-parsetree ]; - }; - "0.15.0" = { - sha256 = "sha256-C2MNf410qJmlXMJxiLXOA+c1qT8H6gwt5WUy2P2TszA="; - min_version = "4.07"; - max_version = "4.12"; - OMP = [ ocaml-migrate-parsetree ]; - }; - "0.18.0" = { - sha256 = "sha256-nUg8NkZ64GHHDfcWbtFGXq3MNEKu+nYPtcVDm/gEfcM="; - min_version = "4.07"; - max_version = "4.12"; - OMP = [ ocaml-migrate-parsetree-2 ]; - }; - "0.22.0" = { - sha256 = "sha256-PuuR4DlmZiKEoyIuYS3uf0+it2N8U9lXLSp0E0u5bXo="; - min_version = "4.07"; - max_version = "4.13"; - OMP = [ ocaml-migrate-parsetree-2 ]; - }; - "0.22.2" = { - sha256 = "sha256-0Oih69xiILFXTXqSbwCEYMURjM73m/mgzgJC80z/Ilo="; - min_version = "4.07"; - max_version = "4.14"; - OMP = [ ocaml-migrate-parsetree-2 ]; - }; - "0.23.0" = { - sha256 = "sha256-G1g2wYa51aFqz0falPOWj08ItRm3cpzYao/TmXH+EuU="; - min_version = "4.07"; - max_version = "4.14"; - }; - "0.24.0" = { - sha256 = "sha256-d2YCfC7ND1s7Rg6SEqcHCcZ0QngRPrkfMXxWxB56kMg="; - min_version = "4.07"; - max_version = "5.1"; - }; - "0.28.0" = { - sha256 = "sha256-2Hrl+aCBIGMIypZICbUKZq646D0lSAHouWdUSLYM83c="; - min_version = "4.07"; - max_version = "5.1"; - }; - "0.30.0" = { - sha256 = "sha256-3UpjvenSm0mBDgTXZTk3yTLxd6lByg4ZgratU6xEIRA="; - min_version = "4.07"; - }; - "0.32.1" = { - sha256 = "sha256-nbrYvLHItPPfP1i8pgpe0j2GUx8No0tBlshr1YXAnX8="; - min_version = "4.07"; - }; - "0.33.0" = { - sha256 = "sha256-/6RO9VHyO3XiHb1pijAxBDE4Gq8UC5/kuBwucKLSxjo="; - min_version = "4.07"; - }; -}."${version}"; in +let + param = + { + "0.8.1" = { + sha256 = "sha256-pct57oO7qAMEtlvEfymFOCvviWaLG0b5/7NzTC8vdSE="; + max_version = "4.10"; + OMP = [ ocaml-migrate-parsetree ]; + }; + "0.13.0" = { + sha256 = "sha256-geHz0whQDg5/YQjVsN2iuHlkClwh7z3Eqb2QOBzuOdk="; + min_version = "4.07"; + max_version = "4.11"; + OMP = [ ocaml-migrate-parsetree ]; + }; + "0.15.0" = { + sha256 = "sha256-C2MNf410qJmlXMJxiLXOA+c1qT8H6gwt5WUy2P2TszA="; + min_version = "4.07"; + max_version = "4.12"; + OMP = [ ocaml-migrate-parsetree ]; + }; + "0.18.0" = { + sha256 = "sha256-nUg8NkZ64GHHDfcWbtFGXq3MNEKu+nYPtcVDm/gEfcM="; + min_version = "4.07"; + max_version = "4.12"; + OMP = [ ocaml-migrate-parsetree-2 ]; + }; + "0.22.0" = { + sha256 = "sha256-PuuR4DlmZiKEoyIuYS3uf0+it2N8U9lXLSp0E0u5bXo="; + min_version = "4.07"; + max_version = "4.13"; + OMP = [ ocaml-migrate-parsetree-2 ]; + }; + "0.22.2" = { + sha256 = "sha256-0Oih69xiILFXTXqSbwCEYMURjM73m/mgzgJC80z/Ilo="; + min_version = "4.07"; + max_version = "4.14"; + OMP = [ ocaml-migrate-parsetree-2 ]; + }; + "0.23.0" = { + sha256 = "sha256-G1g2wYa51aFqz0falPOWj08ItRm3cpzYao/TmXH+EuU="; + min_version = "4.07"; + max_version = "4.14"; + }; + "0.24.0" = { + sha256 = "sha256-d2YCfC7ND1s7Rg6SEqcHCcZ0QngRPrkfMXxWxB56kMg="; + min_version = "4.07"; + max_version = "5.1"; + }; + "0.28.0" = { + sha256 = "sha256-2Hrl+aCBIGMIypZICbUKZq646D0lSAHouWdUSLYM83c="; + min_version = "4.07"; + max_version = "5.1"; + }; + "0.30.0" = { + sha256 = "sha256-3UpjvenSm0mBDgTXZTk3yTLxd6lByg4ZgratU6xEIRA="; + min_version = "4.07"; + }; + "0.32.1" = { + sha256 = "sha256-nbrYvLHItPPfP1i8pgpe0j2GUx8No0tBlshr1YXAnX8="; + min_version = "4.07"; + }; + "0.33.0" = { + sha256 = "sha256-/6RO9VHyO3XiHb1pijAxBDE4Gq8UC5/kuBwucKLSxjo="; + min_version = "4.07"; + }; + } + ."${version}"; +in -if param ? max_version && lib.versionAtLeast ocaml.version param.max_version -|| param ? min_version && lib.versionOlder ocaml.version param.min_version -then throw "ppxlib-${version} is not available for OCaml ${ocaml.version}" +if + param ? max_version && lib.versionAtLeast ocaml.version param.max_version + || param ? min_version && lib.versionOlder ocaml.version param.min_version +then + throw "ppxlib-${version} is not available for OCaml ${ocaml.version}" else -buildDunePackage rec { - pname = "ppxlib"; - inherit version; + buildDunePackage rec { + pname = "ppxlib"; + inherit version; - src = fetchurl { - url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz"; - inherit (param) sha256; - }; + src = fetchurl { + url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz"; + inherit (param) sha256; + }; - propagatedBuildInputs = [ - ocaml-compiler-libs - ] ++ (param.OMP or []) ++ [ - ppx_derivers - stdio - stdlib-shims - ]; + propagatedBuildInputs = + [ + ocaml-compiler-libs + ] + ++ (param.OMP or [ ]) + ++ [ + ppx_derivers + stdio + stdlib-shims + ]; - meta = { - description = "Comprehensive ppx tool set"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.vbgl ]; - homepage = "https://github.com/ocaml-ppx/ppxlib"; - }; -} + meta = { + description = "Comprehensive ppx tool set"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + homepage = "https://github.com/ocaml-ppx/ppxlib"; + }; + } diff --git a/pkgs/development/ocaml-modules/pratter/default.nix b/pkgs/development/ocaml-modules/pratter/default.nix index efd2fc6639c28..dcaead619d981 100644 --- a/pkgs/development/ocaml-modules/pratter/default.nix +++ b/pkgs/development/ocaml-modules/pratter/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, camlp-streams -, alcotest -, qcheck -, qcheck-alcotest +{ + lib, + fetchFromGitHub, + buildDunePackage, + camlp-streams, + alcotest, + qcheck, + qcheck-alcotest, }: buildDunePackage rec { @@ -23,7 +24,11 @@ buildDunePackage rec { propagatedBuildInputs = [ camlp-streams ]; - checkInputs = [ alcotest qcheck qcheck-alcotest ]; + checkInputs = [ + alcotest + qcheck + qcheck-alcotest + ]; doCheck = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/prettym/default.nix b/pkgs/development/ocaml-modules/prettym/default.nix index 8d6a855fe74fc..a5e93870ff98d 100644 --- a/pkgs/development/ocaml-modules/prettym/default.nix +++ b/pkgs/development/ocaml-modules/prettym/default.nix @@ -1,14 +1,15 @@ -{ alcotest -, base64 -, bigarray-overlap -, bigstringaf -, buildDunePackage -, fetchurl -, fmt -, jsonm -, ke -, lib -, ptime +{ + alcotest, + base64, + bigarray-overlap, + bigstringaf, + buildDunePackage, + fetchurl, + fmt, + jsonm, + ke, + lib, + ptime, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix index ea99dfcd81def..d3e7673a5c27d 100644 --- a/pkgs/development/ocaml-modules/printbox/default.nix +++ b/pkgs/development/ocaml-modules/printbox/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, mdx, gitUpdater }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + ocaml, + mdx, + gitUpdater, +}: buildDunePackage rec { pname = "printbox"; diff --git a/pkgs/development/ocaml-modules/printbox/text.nix b/pkgs/development/ocaml-modules/printbox/text.nix index dd823b2264c8d..a3f1596905a42 100644 --- a/pkgs/development/ocaml-modules/printbox/text.nix +++ b/pkgs/development/ocaml-modules/printbox/text.nix @@ -1,10 +1,22 @@ -{ buildDunePackage, lib, ocaml, printbox, uucp, uutf, mdx }: +{ + buildDunePackage, + lib, + ocaml, + printbox, + uucp, + uutf, + mdx, +}: buildDunePackage { pname = "printbox-text"; inherit (printbox) src version; - propagatedBuildInputs = [ printbox uucp uutf ]; + propagatedBuildInputs = [ + printbox + uucp + uutf + ]; doCheck = printbox.doCheck && lib.versionOlder ocaml.version "5.0"; nativeCheckInputs = [ mdx.bin ]; diff --git a/pkgs/development/ocaml-modules/process/default.nix b/pkgs/development/ocaml-modules/process/default.nix index 89faf40c3be57..ad1c2d96b6c08 100644 --- a/pkgs/development/ocaml-modules/process/default.nix +++ b/pkgs/development/ocaml-modules/process/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }: +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-process"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "0m1ldah5r9gcq09d9jh8lhvr77910dygx5m309k1jm60ah9mdcab"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/progress/default.nix b/pkgs/development/ocaml-modules/progress/default.nix index 7ca95a0882434..d5ca6eee3860c 100644 --- a/pkgs/development/ocaml-modules/progress/default.nix +++ b/pkgs/development/ocaml-modules/progress/default.nix @@ -1,6 +1,14 @@ -{ lib, buildDunePackage -, fmt, logs, mtime, optint, terminal, vector -, alcotest, astring +{ + lib, + buildDunePackage, + fmt, + logs, + mtime, + optint, + terminal, + vector, + alcotest, + astring, }: buildDunePackage rec { @@ -10,10 +18,20 @@ buildDunePackage rec { inherit (terminal) version src; - propagatedBuildInputs = [ fmt logs mtime optint terminal vector ]; + propagatedBuildInputs = [ + fmt + logs + mtime + optint + terminal + vector + ]; doCheck = true; - checkInputs = [ alcotest astring ]; + checkInputs = [ + alcotest + astring + ]; meta = with lib; { description = "Progress bar library for OCaml"; diff --git a/pkgs/development/ocaml-modules/prometheus/default.nix b/pkgs/development/ocaml-modules/prometheus/default.nix index 2715c50b3eddd..8590436398580 100644 --- a/pkgs/development/ocaml-modules/prometheus/default.nix +++ b/pkgs/development/ocaml-modules/prometheus/default.nix @@ -1,4 +1,14 @@ -{ lib, fetchurl, buildDunePackage, astring, asetmap, fmt, re, lwt, alcotest }: +{ + lib, + fetchurl, + buildDunePackage, + astring, + asetmap, + fmt, + re, + lwt, + alcotest, +}: buildDunePackage rec { pname = "prometheus"; diff --git a/pkgs/development/ocaml-modules/promise_jsoo/default.nix b/pkgs/development/ocaml-modules/promise_jsoo/default.nix index 061f965e0e52c..d380fa1adb9a2 100644 --- a/pkgs/development/ocaml-modules/promise_jsoo/default.nix +++ b/pkgs/development/ocaml-modules/promise_jsoo/default.nix @@ -1,4 +1,13 @@ -{ lib, fetchurl, buildDunePackage, js_of_ocaml, ppxlib, js_of_ocaml-ppx, gen_js_api, ojs }: +{ + lib, + fetchurl, + buildDunePackage, + js_of_ocaml, + ppxlib, + js_of_ocaml-ppx, + gen_js_api, + ojs, +}: buildDunePackage rec { pname = "promise_jsoo"; diff --git a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix index 6981726f6df72..74798bc3d6fe0 100644 --- a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix +++ b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, menhir }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + menhir, +}: buildDunePackage rec { version = "0.4.0"; diff --git a/pkgs/development/ocaml-modules/psq/default.nix b/pkgs/development/ocaml-modules/psq/default.nix index f1c8ab92af440..e2349aed828a5 100644 --- a/pkgs/development/ocaml-modules/psq/default.nix +++ b/pkgs/development/ocaml-modules/psq/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, ocaml, fetchurl, seq, qcheck-alcotest }: +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + seq, + qcheck-alcotest, +}: buildDunePackage rec { minimalOCamlVersion = "4.03"; diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix index 7110a66c8f609..4624e22600a16 100644 --- a/pkgs/development/ocaml-modules/ptime/default.nix +++ b/pkgs/development/ocaml-modules/ptime/default.nix @@ -1,55 +1,57 @@ -{ stdenv -, lib -, fetchurl -, ocaml -, findlib -, ocamlbuild -, topkg +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "ptime is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation (finalAttrs: { - version = "1.2.0"; - pname = "ocaml${ocaml.version}-ptime"; - - src = fetchurl { - url = "https://erratique.ch/software/ptime/releases/ptime-${finalAttrs.version}.tbz"; - hash = "sha256-lhZ0f99JDsNugCTKsn7gHjoK9XfYojImY4+kA03nOrA="; - }; - - nativeBuildInputs = [ - findlib - ocaml - ocamlbuild - topkg - ]; - - buildInputs = [ - topkg - ]; - - strictDeps = true; - - inherit (topkg) buildPhase installPhase; - - meta = { - description = "POSIX time for OCaml"; - homepage = "https://erratique.ch/software/ptime"; - license = lib.licenses.isc; - longDescription = '' - Ptime has platform independent POSIX time support in pure OCaml. - It provides a type to represent a well-defined range of POSIX timestamps - with picosecond precision, conversion with date-time values, conversion - with RFC 3339 timestamps and pretty printing to a human-readable, - locale-independent representation. - - The additional Ptime_clock library provides access to a system POSIX clock - and to the system's current time zone offset. - - Ptime is not a calendar library. - ''; - maintainers = with lib.maintainers; [ sternenseemann ]; - }; -}) + stdenv.mkDerivation + (finalAttrs: { + version = "1.2.0"; + pname = "ocaml${ocaml.version}-ptime"; + + src = fetchurl { + url = "https://erratique.ch/software/ptime/releases/ptime-${finalAttrs.version}.tbz"; + hash = "sha256-lhZ0f99JDsNugCTKsn7gHjoK9XfYojImY4+kA03nOrA="; + }; + + nativeBuildInputs = [ + findlib + ocaml + ocamlbuild + topkg + ]; + + buildInputs = [ + topkg + ]; + + strictDeps = true; + + inherit (topkg) buildPhase installPhase; + + meta = { + description = "POSIX time for OCaml"; + homepage = "https://erratique.ch/software/ptime"; + license = lib.licenses.isc; + longDescription = '' + Ptime has platform independent POSIX time support in pure OCaml. + It provides a type to represent a well-defined range of POSIX timestamps + with picosecond precision, conversion with date-time values, conversion + with RFC 3339 timestamps and pretty printing to a human-readable, + locale-independent representation. + + The additional Ptime_clock library provides access to a system POSIX clock + and to the system's current time zone offset. + + Ptime is not a calendar library. + ''; + maintainers = with lib.maintainers; [ sternenseemann ]; + }; + }) diff --git a/pkgs/development/ocaml-modules/ptmap/default.nix b/pkgs/development/ocaml-modules/ptmap/default.nix index 6fd6a7d8b9c24..da24c5757f362 100644 --- a/pkgs/development/ocaml-modules/ptmap/default.nix +++ b/pkgs/development/ocaml-modules/ptmap/default.nix @@ -1,6 +1,9 @@ -{ lib, buildDunePackage, fetchurl -, seq -, stdlib-shims +{ + lib, + buildDunePackage, + fetchurl, + seq, + stdlib-shims, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ptset/default.nix b/pkgs/development/ocaml-modules/ptset/default.nix index b9c534e763d0f..bdf39ad27e3ec 100644 --- a/pkgs/development/ocaml-modules/ptset/default.nix +++ b/pkgs/development/ocaml-modules/ptset/default.nix @@ -1,5 +1,8 @@ -{ lib, fetchurl, buildDunePackage -, stdlib-shims +{ + lib, + fetchurl, + buildDunePackage, + stdlib-shims, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/pulseaudio/default.nix b/pkgs/development/ocaml-modules/pulseaudio/default.nix index 75f5e0f414fb0..3afa4d4fee7f7 100644 --- a/pkgs/development/ocaml-modules/pulseaudio/default.nix +++ b/pkgs/development/ocaml-modules/pulseaudio/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, pkg-config, pulseaudio }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + pkg-config, + pulseaudio, +}: buildDunePackage rec { pname = "pulseaudio"; diff --git a/pkgs/development/ocaml-modules/pure-splitmix/default.nix b/pkgs/development/ocaml-modules/pure-splitmix/default.nix index 228f8ad8c488b..8b929da7331c0 100644 --- a/pkgs/development/ocaml-modules/pure-splitmix/default.nix +++ b/pkgs/development/ocaml-modules/pure-splitmix/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "pure-splitmix"; diff --git a/pkgs/development/ocaml-modules/pyml/default.nix b/pkgs/development/ocaml-modules/pyml/default.nix index d5840c8af53dd..2d63152d9f6b3 100644 --- a/pkgs/development/ocaml-modules/pyml/default.nix +++ b/pkgs/development/ocaml-modules/pyml/default.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, lib -, fetchFromGitHub -, utop -, python3 -, stdcompat +{ + buildDunePackage, + lib, + fetchFromGitHub, + utop, + python3, + stdcompat, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/qcheck/alcotest.nix b/pkgs/development/ocaml-modules/qcheck/alcotest.nix index 113b61eea1805..9ddcdcc1d5e54 100644 --- a/pkgs/development/ocaml-modules/qcheck/alcotest.nix +++ b/pkgs/development/ocaml-modules/qcheck/alcotest.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, qcheck-core, alcotest }: +{ + buildDunePackage, + qcheck-core, + alcotest, +}: buildDunePackage { pname = "qcheck-alcotest"; @@ -7,7 +11,10 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ qcheck-core alcotest ]; + propagatedBuildInputs = [ + qcheck-core + alcotest + ]; meta = qcheck-core.meta // { description = "Alcotest backend for qcheck"; diff --git a/pkgs/development/ocaml-modules/qcheck/core.nix b/pkgs/development/ocaml-modules/qcheck/core.nix index 9817bedafff18..a2e5d8910dc1a 100644 --- a/pkgs/development/ocaml-modules/qcheck/core.nix +++ b/pkgs/development/ocaml-modules/qcheck/core.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "qcheck-core"; diff --git a/pkgs/development/ocaml-modules/qcheck/lin.nix b/pkgs/development/ocaml-modules/qcheck/lin.nix index 460d15b288da9..42398920e2dce 100644 --- a/pkgs/development/ocaml-modules/qcheck/lin.nix +++ b/pkgs/development/ocaml-modules/qcheck/lin.nix @@ -1,5 +1,6 @@ -{ buildDunePackage -, qcheck-multicoretests-util +{ + buildDunePackage, + qcheck-multicoretests-util, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/qcheck/multicoretests-util.nix b/pkgs/development/ocaml-modules/qcheck/multicoretests-util.nix index 7f51f8235d487..38af73b0e6d73 100644 --- a/pkgs/development/ocaml-modules/qcheck/multicoretests-util.nix +++ b/pkgs/development/ocaml-modules/qcheck/multicoretests-util.nix @@ -1,5 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage -, qcheck-core +{ + lib, + fetchFromGitHub, + buildDunePackage, + qcheck-core, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/qcheck/ounit.nix b/pkgs/development/ocaml-modules/qcheck/ounit.nix index aef47005a27a1..6a09f20dfdf0a 100644 --- a/pkgs/development/ocaml-modules/qcheck/ounit.nix +++ b/pkgs/development/ocaml-modules/qcheck/ounit.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, qcheck-core, ounit }: +{ + buildDunePackage, + qcheck-core, + ounit, +}: buildDunePackage { pname = "qcheck-ounit"; @@ -7,7 +11,10 @@ buildDunePackage { duneVersion = "3"; - propagatedBuildInputs = [ qcheck-core ounit ]; + propagatedBuildInputs = [ + qcheck-core + ounit + ]; meta = qcheck-core.meta // { description = "OUnit backend for qcheck"; diff --git a/pkgs/development/ocaml-modules/qcheck/ppx_deriving_qcheck.nix b/pkgs/development/ocaml-modules/qcheck/ppx_deriving_qcheck.nix index 82dc5399f2822..70bf69ecacf70 100644 --- a/pkgs/development/ocaml-modules/qcheck/ppx_deriving_qcheck.nix +++ b/pkgs/development/ocaml-modules/qcheck/ppx_deriving_qcheck.nix @@ -1,5 +1,10 @@ -{ buildDunePackage, qcheck-core -, qcheck, ppxlib, ppx_deriving }: +{ + buildDunePackage, + qcheck-core, + qcheck, + ppxlib, + ppx_deriving, +}: buildDunePackage { pname = "ppx_deriving_qcheck"; diff --git a/pkgs/development/ocaml-modules/qcheck/stm.nix b/pkgs/development/ocaml-modules/qcheck/stm.nix index a4cd762ea5e44..62b221e625aa5 100644 --- a/pkgs/development/ocaml-modules/qcheck/stm.nix +++ b/pkgs/development/ocaml-modules/qcheck/stm.nix @@ -1,5 +1,6 @@ -{ buildDunePackage -, qcheck-multicoretests-util +{ + buildDunePackage, + qcheck-multicoretests-util, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/qtest/default.nix b/pkgs/development/ocaml-modules/qtest/default.nix index 640ecf45b7cf2..de1bbca4ef086 100644 --- a/pkgs/development/ocaml-modules/qtest/default.nix +++ b/pkgs/development/ocaml-modules/qtest/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, qcheck }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + qcheck, +}: buildDunePackage rec { pname = "qtest"; diff --git a/pkgs/development/ocaml-modules/randomconv/default.nix b/pkgs/development/ocaml-modules/randomconv/default.nix index e3e7f8ceb99d1..898318a00b21a 100644 --- a/pkgs/development/ocaml-modules/randomconv/default.nix +++ b/pkgs/development/ocaml-modules/randomconv/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "randomconv"; diff --git a/pkgs/development/ocaml-modules/rdbg/default.nix b/pkgs/development/ocaml-modules/rdbg/default.nix index 47504e4aa8888..11aca2dd4e4e3 100644 --- a/pkgs/development/ocaml-modules/rdbg/default.nix +++ b/pkgs/development/ocaml-modules/rdbg/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchurl, num, lutils, ounit}: +{ + lib, + buildDunePackage, + fetchurl, + num, + lutils, + ounit, +}: buildDunePackage rec { pname = "rdbg"; diff --git a/pkgs/development/ocaml-modules/re/default.nix b/pkgs/development/ocaml-modules/re/default.nix index eaab20f7f2e78..badee9a3c91d0 100644 --- a/pkgs/development/ocaml-modules/re/default.nix +++ b/pkgs/development/ocaml-modules/re/default.nix @@ -1,16 +1,24 @@ -{ lib, fetchurl, buildDunePackage, ocaml, ounit, seq }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + ounit, + seq, +}: -let version_sha = if lib.versionAtLeast ocaml.version "4.08" - then - { - version = "1.11.0"; - sha256 = "sha256-AfwkR4DA9r5yrnlrH7dQ82feGGJP110H7nl4LtbfjU8="; - } - else - { - version = "1.9.0"; - sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj"; - }; +let + version_sha = + if lib.versionAtLeast ocaml.version "4.08" then + { + version = "1.11.0"; + sha256 = "sha256-AfwkR4DA9r5yrnlrH7dQ82feGGJP110H7nl4LtbfjU8="; + } + else + { + version = "1.9.0"; + sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj"; + }; in buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index 753a3e82c0de4..a5cd1cb10f04c 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + topkg, + ocamlbuild, +}: stdenv.mkDerivation rec { pname = "ocaml-react"; @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-xK3TFdbx8VPRFe58qN1gwSZf9NQIwmYSX8tRJP0ij5k="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; buildInputs = [ topkg ]; strictDeps = true; @@ -21,6 +33,10 @@ stdenv.mkDerivation rec { description = "Applicative events and signals for OCaml"; license = licenses.bsd3; inherit (ocaml.meta) platforms; - maintainers = with maintainers; [ maggesi vbmithr gal_bolle ]; + maintainers = with maintainers; [ + maggesi + vbmithr + gal_bolle + ]; }; } diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix index 243e0daf16318..1e5042d1ee5da 100644 --- a/pkgs/development/ocaml-modules/reactivedata/default.nix +++ b/pkgs/development/ocaml-modules/reactivedata/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, react }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + react, +}: buildDunePackage rec { pname = "reactiveData"; diff --git a/pkgs/development/ocaml-modules/readline/default.nix b/pkgs/development/ocaml-modules/readline/default.nix index 43763a3116c6f..4efafe2f4e320 100644 --- a/pkgs/development/ocaml-modules/readline/default.nix +++ b/pkgs/development/ocaml-modules/readline/default.nix @@ -1,5 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitLab -, readline +{ + lib, + buildDunePackage, + fetchFromGitLab, + readline, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/reason-native/cli.nix b/pkgs/development/ocaml-modules/reason-native/cli.nix index ebce5ad277f27..d07ad0475b8f3 100644 --- a/pkgs/development/ocaml-modules/reason-native/cli.nix +++ b/pkgs/development/ocaml-modules/reason-native/cli.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, re, reason, pastel, src }: +{ + lib, + buildDunePackage, + re, + reason, + pastel, + src, +}: buildDunePackage { inherit src; @@ -15,7 +22,7 @@ buildDunePackage { pastel ]; - meta = { + meta = { downloadPage = "https://github.com/reasonml/reason-native"; homepage = "https://reason-native.com/"; license = lib.licenses.mit; diff --git a/pkgs/development/ocaml-modules/reason-native/console.nix b/pkgs/development/ocaml-modules/reason-native/console.nix index 6bede4e59e50a..2530adf39f0da 100644 --- a/pkgs/development/ocaml-modules/reason-native/console.nix +++ b/pkgs/development/ocaml-modules/reason-native/console.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, callPackage, reason, console, src }: +{ + lib, + buildDunePackage, + callPackage, + reason, + console, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/default.nix b/pkgs/development/ocaml-modules/reason-native/default.nix index b44e63080e5c5..aa0c6860f73a0 100644 --- a/pkgs/development/ocaml-modules/reason-native/default.nix +++ b/pkgs/development/ocaml-modules/reason-native/default.nix @@ -12,7 +12,13 @@ }: lib.makeScope newScope (self: { - inherit lib buildDunePackage re reason ppxlib; + inherit + lib + buildDunePackage + re + reason + ppxlib + ; # Upstream doesn't use tags, releases, or branches. src = fetchFromGitHub { diff --git a/pkgs/development/ocaml-modules/reason-native/dir.nix b/pkgs/development/ocaml-modules/reason-native/dir.nix index 9b166beb40cb3..3f0cb5c4d141b 100644 --- a/pkgs/development/ocaml-modules/reason-native/dir.nix +++ b/pkgs/development/ocaml-modules/reason-native/dir.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, reason, fp, src }: +{ + lib, + buildDunePackage, + reason, + fp, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix b/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix index 8cfd60d144bf3..1bdad5de2d35d 100644 --- a/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix +++ b/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, reason, re, pastel, src }: +{ + lib, + buildDunePackage, + reason, + re, + pastel, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/fp.nix b/pkgs/development/ocaml-modules/reason-native/fp.nix index 5cf7c3d417dea..dc630aa12aba7 100644 --- a/pkgs/development/ocaml-modules/reason-native/fp.nix +++ b/pkgs/development/ocaml-modules/reason-native/fp.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, reason, src }: +{ + lib, + buildDunePackage, + reason, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/frame.nix b/pkgs/development/ocaml-modules/reason-native/frame.nix index 78ccdd2a87932..998ab567a14d2 100644 --- a/pkgs/development/ocaml-modules/reason-native/frame.nix +++ b/pkgs/development/ocaml-modules/reason-native/frame.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, reason, re, pastel, src }: +{ + lib, + buildDunePackage, + reason, + re, + pastel, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/fs.nix b/pkgs/development/ocaml-modules/reason-native/fs.nix index fc65551a2481e..331607990544a 100644 --- a/pkgs/development/ocaml-modules/reason-native/fs.nix +++ b/pkgs/development/ocaml-modules/reason-native/fs.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fp, reason, src }: +{ + lib, + buildDunePackage, + fp, + reason, + src, +}: buildDunePackage { inherit src; @@ -21,4 +27,3 @@ buildDunePackage { maintainers = [ ]; }; } - diff --git a/pkgs/development/ocaml-modules/reason-native/pastel-console.nix b/pkgs/development/ocaml-modules/reason-native/pastel-console.nix index 82a3ff55057f0..43df6e3811626 100644 --- a/pkgs/development/ocaml-modules/reason-native/pastel-console.nix +++ b/pkgs/development/ocaml-modules/reason-native/pastel-console.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, reason, console, pastel, src }: +{ + lib, + buildDunePackage, + reason, + console, + pastel, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/pastel.nix b/pkgs/development/ocaml-modules/reason-native/pastel.nix index 473c6a09e5faa..fd22e7c56fb14 100644 --- a/pkgs/development/ocaml-modules/reason-native/pastel.nix +++ b/pkgs/development/ocaml-modules/reason-native/pastel.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, reason, re, src }: +{ + lib, + buildDunePackage, + reason, + re, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix b/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix index c58782260385d..df376cf7b3cec 100644 --- a/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix +++ b/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, qcheck-core, reason, console, rely, src }: +{ + lib, + buildDunePackage, + qcheck-core, + reason, + console, + rely, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/refmterr.nix b/pkgs/development/ocaml-modules/reason-native/refmterr.nix index b24fd7c527f3f..35b127a9d218e 100644 --- a/pkgs/development/ocaml-modules/reason-native/refmterr.nix +++ b/pkgs/development/ocaml-modules/reason-native/refmterr.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, atdgen, re, reason, pastel, src }: +{ + lib, + buildDunePackage, + atdgen, + re, + reason, + pastel, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix b/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix index 92743f4c2ecba..43febed9c932c 100644 --- a/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix +++ b/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix @@ -1,4 +1,14 @@ -{ lib, buildDunePackage, atdgen, junit, re, reason, pastel, rely, src }: +{ + lib, + buildDunePackage, + atdgen, + junit, + re, + reason, + pastel, + rely, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/rely.nix b/pkgs/development/ocaml-modules/reason-native/rely.nix index e9870f92b33c0..b53d32b2b0a7c 100644 --- a/pkgs/development/ocaml-modules/reason-native/rely.nix +++ b/pkgs/development/ocaml-modules/reason-native/rely.nix @@ -1,4 +1,13 @@ -{ lib, buildDunePackage, re, reason, cli, file-context-printer, pastel, src }: +{ + lib, + buildDunePackage, + re, + reason, + cli, + file-context-printer, + pastel, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/tests/console/default.nix b/pkgs/development/ocaml-modules/reason-native/tests/console/default.nix index b2bc31565f04a..c80bee6b4380c 100644 --- a/pkgs/development/ocaml-modules/reason-native/tests/console/default.nix +++ b/pkgs/development/ocaml-modules/reason-native/tests/console/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, reason, console, ppxlib }: +{ + lib, + buildDunePackage, + reason, + console, + ppxlib, +}: buildDunePackage { pname = "console_test"; diff --git a/pkgs/development/ocaml-modules/reason-native/unicode-config.nix b/pkgs/development/ocaml-modules/reason-native/unicode-config.nix index bb2bbef3c4a16..b0393918b188e 100644 --- a/pkgs/development/ocaml-modules/reason-native/unicode-config.nix +++ b/pkgs/development/ocaml-modules/reason-native/unicode-config.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, reason, src }: +{ + lib, + buildDunePackage, + reason, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/unicode.nix b/pkgs/development/ocaml-modules/reason-native/unicode.nix index 7ce536a6e2138..f8376ec675613 100644 --- a/pkgs/development/ocaml-modules/reason-native/unicode.nix +++ b/pkgs/development/ocaml-modules/reason-native/unicode.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, reason, src }: +{ + lib, + buildDunePackage, + reason, + src, +}: buildDunePackage { inherit src; diff --git a/pkgs/development/ocaml-modules/reason-native/utf8.nix b/pkgs/development/ocaml-modules/reason-native/utf8.nix index 0a18e68a15419..5e2c6eef79eac 100644 --- a/pkgs/development/ocaml-modules/reason-native/utf8.nix +++ b/pkgs/development/ocaml-modules/reason-native/utf8.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, reason, src }: +{ + lib, + buildDunePackage, + reason, + src, +}: buildDunePackage { inherit src; @@ -17,4 +22,3 @@ buildDunePackage { maintainers = [ ]; }; } - diff --git a/pkgs/development/ocaml-modules/rebez/default.nix b/pkgs/development/ocaml-modules/rebez/default.nix index ce2e9d3aad707..026c67445706e 100644 --- a/pkgs/development/ocaml-modules/rebez/default.nix +++ b/pkgs/development/ocaml-modules/rebez/default.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, fetchFromGitHub, lib, reason }: +{ + buildDunePackage, + fetchFromGitHub, + lib, + reason, +}: buildDunePackage rec { pname = "rebez"; diff --git a/pkgs/development/ocaml-modules/reperf/default.nix b/pkgs/development/ocaml-modules/reperf/default.nix index ce3164fa19a23..829c1653840e5 100644 --- a/pkgs/development/ocaml-modules/reperf/default.nix +++ b/pkgs/development/ocaml-modules/reperf/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, fetchFromGitHub, lib, printbox-text, reason }: +{ + buildDunePackage, + fetchFromGitHub, + lib, + printbox-text, + reason, +}: buildDunePackage rec { pname = "reperf"; diff --git a/pkgs/development/ocaml-modules/repr/default.nix b/pkgs/development/ocaml-modules/repr/default.nix index d3d23a5d9fc65..ba9a0fc857292 100644 --- a/pkgs/development/ocaml-modules/repr/default.nix +++ b/pkgs/development/ocaml-modules/repr/default.nix @@ -1,4 +1,14 @@ -{ lib, buildDunePackage, fetchFromGitHub, base64, either, fmt, jsonm, uutf, optint }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + base64, + either, + fmt, + jsonm, + uutf, + optint, +}: buildDunePackage rec { pname = "repr"; diff --git a/pkgs/development/ocaml-modules/repr/ppx.nix b/pkgs/development/ocaml-modules/repr/ppx.nix index 71fab69b08d11..82d3d85611f41 100644 --- a/pkgs/development/ocaml-modules/repr/ppx.nix +++ b/pkgs/development/ocaml-modules/repr/ppx.nix @@ -1,4 +1,11 @@ -{ buildDunePackage, ppx_deriving, ppxlib, repr, alcotest, hex }: +{ + buildDunePackage, + ppx_deriving, + ppxlib, + repr, + alcotest, + hex, +}: buildDunePackage { pname = "ppx_repr"; diff --git a/pkgs/development/ocaml-modules/res/default.nix b/pkgs/development/ocaml-modules/res/default.nix index b7a4edd69f8ed..5ae73c967c4b9 100644 --- a/pkgs/development/ocaml-modules/res/default.nix +++ b/pkgs/development/ocaml-modules/res/default.nix @@ -1,4 +1,8 @@ -{ lib , fetchurl , buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "res"; @@ -21,4 +25,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ sixstring982 ]; }; } - diff --git a/pkgs/development/ocaml-modules/resource-pooling/default.nix b/pkgs/development/ocaml-modules/resource-pooling/default.nix index 79d5c6175a7b5..d98e8e8c47e9e 100644 --- a/pkgs/development/ocaml-modules/resource-pooling/default.nix +++ b/pkgs/development/ocaml-modules/resource-pooling/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, lwt_log }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + lwt_log, +}: buildDunePackage rec { version = "1.2"; diff --git a/pkgs/development/ocaml-modules/resto/acl.nix b/pkgs/development/ocaml-modules/resto/acl.nix index e96f9471b1b23..c247cac6f73ac 100644 --- a/pkgs/development/ocaml-modules/resto/acl.nix +++ b/pkgs/development/ocaml-modules/resto/acl.nix @@ -1,8 +1,17 @@ -{ buildDunePackage, resto, uri }: +{ + buildDunePackage, + resto, + uri, +}: buildDunePackage { pname = "resto-acl"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; minimalOCamlVersion = "4.10"; duneVersion = "3"; diff --git a/pkgs/development/ocaml-modules/resto/cohttp-client.nix b/pkgs/development/ocaml-modules/resto/cohttp-client.nix index fe6dd6b506e13..df11a7b585aee 100644 --- a/pkgs/development/ocaml-modules/resto/cohttp-client.nix +++ b/pkgs/development/ocaml-modules/resto/cohttp-client.nix @@ -1,14 +1,20 @@ -{ buildDunePackage -, resto -, resto-directory -, resto-cohttp -, uri -, lwt +{ + buildDunePackage, + resto, + resto-directory, + resto-cohttp, + uri, + lwt, }: buildDunePackage { pname = "resto-cohttp-client"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; duneVersion = "3"; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/resto/cohttp-self-serving-client.nix b/pkgs/development/ocaml-modules/resto/cohttp-self-serving-client.nix index ccce7af29d9c1..b632c348e31c6 100644 --- a/pkgs/development/ocaml-modules/resto/cohttp-self-serving-client.nix +++ b/pkgs/development/ocaml-modules/resto/cohttp-self-serving-client.nix @@ -1,17 +1,23 @@ -{ buildDunePackage -, resto -, resto-directory -, resto-acl -, resto-cohttp -, resto-cohttp-client -, resto-cohttp-server -, uri -, lwt +{ + buildDunePackage, + resto, + resto-directory, + resto-acl, + resto-cohttp, + resto-cohttp-client, + resto-cohttp-server, + uri, + lwt, }: buildDunePackage { pname = "resto-cohttp-self-serving-client"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; duneVersion = "3"; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/resto/cohttp-server.nix b/pkgs/development/ocaml-modules/resto/cohttp-server.nix index 8a528b561a955..0a1bb0945f3ab 100644 --- a/pkgs/development/ocaml-modules/resto/cohttp-server.nix +++ b/pkgs/development/ocaml-modules/resto/cohttp-server.nix @@ -1,16 +1,22 @@ -{ buildDunePackage -, resto -, resto-directory -, resto-acl -, resto-cohttp -, cohttp-lwt-unix -, conduit-lwt-unix -, lwt +{ + buildDunePackage, + resto, + resto-directory, + resto-acl, + resto-cohttp, + cohttp-lwt-unix, + conduit-lwt-unix, + lwt, }: buildDunePackage { pname = "resto-cohttp-server"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; duneVersion = "3"; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/resto/cohttp.nix b/pkgs/development/ocaml-modules/resto/cohttp.nix index f495cadbf48fa..87b82ecee1adb 100644 --- a/pkgs/development/ocaml-modules/resto/cohttp.nix +++ b/pkgs/development/ocaml-modules/resto/cohttp.nix @@ -1,8 +1,18 @@ -{ buildDunePackage, resto, resto-directory, cohttp-lwt }: +{ + buildDunePackage, + resto, + resto-directory, + cohttp-lwt, +}: buildDunePackage { pname = "resto-cohttp"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; duneVersion = "3"; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/resto/default.nix b/pkgs/development/ocaml-modules/resto/default.nix index 8e887d263657b..5018a282e59ec 100644 --- a/pkgs/development/ocaml-modules/resto/default.nix +++ b/pkgs/development/ocaml-modules/resto/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitLab, buildDunePackage, uri }: +{ + lib, + fetchFromGitLab, + buildDunePackage, + uri, +}: buildDunePackage rec { pname = "resto"; diff --git a/pkgs/development/ocaml-modules/resto/directory.nix b/pkgs/development/ocaml-modules/resto/directory.nix index d23b645789241..187248fcc2d89 100644 --- a/pkgs/development/ocaml-modules/resto/directory.nix +++ b/pkgs/development/ocaml-modules/resto/directory.nix @@ -1,8 +1,17 @@ -{ buildDunePackage, resto, lwt }: +{ + buildDunePackage, + resto, + lwt, +}: buildDunePackage { pname = "resto-directory"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; duneVersion = "3"; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/resto/json.nix b/pkgs/development/ocaml-modules/resto/json.nix index f1ca0c49bb99e..313acf8704629 100644 --- a/pkgs/development/ocaml-modules/resto/json.nix +++ b/pkgs/development/ocaml-modules/resto/json.nix @@ -1,8 +1,18 @@ -{ buildDunePackage, resto, json-data-encoding, json-data-encoding-bson }: +{ + buildDunePackage, + resto, + json-data-encoding, + json-data-encoding-bson, +}: buildDunePackage { pname = "resto-json"; - inherit (resto) src version meta doCheck; + inherit (resto) + src + version + meta + doCheck + ; duneVersion = "3"; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/rfc7748/default.nix b/pkgs/development/ocaml-modules/rfc7748/default.nix index 0cc59fa3e7c56..8adf46c3b384b 100644 --- a/pkgs/development/ocaml-modules/rfc7748/default.nix +++ b/pkgs/development/ocaml-modules/rfc7748/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildDunePackage -, fetchFromGitHub -, fetchpatch -, ocaml - -, ounit -, zarith +{ + lib, + buildDunePackage, + fetchFromGitHub, + fetchpatch, + ocaml, + + ounit, + zarith, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/ringo/default.nix b/pkgs/development/ocaml-modules/ringo/default.nix index bdc9e07c0411c..4120d82cb2953 100644 --- a/pkgs/development/ocaml-modules/ringo/default.nix +++ b/pkgs/development/ocaml-modules/ringo/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, buildDunePackage }: +{ + lib, + fetchFromGitLab, + buildDunePackage, +}: buildDunePackage rec { pname = "ringo"; diff --git a/pkgs/development/ocaml-modules/rio/default.nix b/pkgs/development/ocaml-modules/rio/default.nix index 853670be35288..ed82f82fd30ee 100644 --- a/pkgs/development/ocaml-modules/rio/default.nix +++ b/pkgs/development/ocaml-modules/rio/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, cstruct +{ + lib, + buildDunePackage, + fetchurl, + cstruct, }: buildDunePackage rec { @@ -27,4 +28,3 @@ buildDunePackage rec { maintainers = [ ]; }; } - diff --git a/pkgs/development/ocaml-modules/riot/default.nix b/pkgs/development/ocaml-modules/riot/default.nix index 7b5008d9b1b01..d85f0738e4bad 100644 --- a/pkgs/development/ocaml-modules/riot/default.nix +++ b/pkgs/development/ocaml-modules/riot/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildDunePackage -, fetchurl -, fetchpatch -, mirage-crypto-rng -, mtime -, gluon -, randomconv -, rio -, telemetry -, tls +{ + lib, + buildDunePackage, + fetchurl, + fetchpatch, + mirage-crypto-rng, + mtime, + gluon, + randomconv, + rio, + telemetry, + tls, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/rock/default.nix b/pkgs/development/ocaml-modules/rock/default.nix index ae484e937b83c..4ac05b0150b26 100644 --- a/pkgs/development/ocaml-modules/rock/default.nix +++ b/pkgs/development/ocaml-modules/rock/default.nix @@ -1,9 +1,12 @@ -{ lib, fetchurl, buildDunePackage -, bigstringaf -, hmap -, httpaf -, lwt -, sexplib0 +{ + lib, + fetchurl, + buildDunePackage, + bigstringaf, + hmap, + httpaf, + lwt, + sexplib0, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix index 975595808ad09..16a8d4951fb28 100644 --- a/pkgs/development/ocaml-modules/rope/default.nix +++ b/pkgs/development/ocaml-modules/rope/default.nix @@ -1,9 +1,13 @@ -{ lib, fetchurl, fetchpatch, ocaml, buildDunePackage -, version ? if lib.versionAtLeast ocaml.version "5.0" then "0.6.3" else "0.6.2" -, benchmark +{ + lib, + fetchurl, + fetchpatch, + ocaml, + buildDunePackage, + version ? if lib.versionAtLeast ocaml.version "5.0" then "0.6.3" else "0.6.2", + benchmark, }: - buildDunePackage { pname = "rope"; inherit version; @@ -11,13 +15,15 @@ buildDunePackage { src = fetchurl { url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz"; - hash = { - "0.6.2" = "sha256:15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i"; - "0.6.3" = "sha256-M14fiP9BDiz3WEoMqAJqZaXk4PoZ8Z1YjOk+F97z05Y="; - }."${version}"; + hash = + { + "0.6.2" = "sha256:15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i"; + "0.6.3" = "sha256-M14fiP9BDiz3WEoMqAJqZaXk4PoZ8Z1YjOk+F97z05Y="; + } + ."${version}"; }; - buildInputs = [ benchmark ] ; + buildInputs = [ benchmark ]; patches = lib.optional (version == "0.6.3") (fetchpatch { url = "https://github.com/Chris00/ocaml-rope/commit/be53daa18dd3d1450a92881b33c997eafb1dc958.patch"; diff --git a/pkgs/development/ocaml-modules/rosetta/default.nix b/pkgs/development/ocaml-modules/rosetta/default.nix index 8e366bda1d657..f86715ff507c5 100644 --- a/pkgs/development/ocaml-modules/rosetta/default.nix +++ b/pkgs/development/ocaml-modules/rosetta/default.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, coin -, fetchzip -, lib -, yuscii -, uuuu +{ + buildDunePackage, + coin, + fetchzip, + lib, + yuscii, + uuuu, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/routes/default.nix b/pkgs/development/ocaml-modules/routes/default.nix index 584e287bbabf9..122c002643a02 100644 --- a/pkgs/development/ocaml-modules/routes/default.nix +++ b/pkgs/development/ocaml-modules/routes/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "routes"; @@ -16,6 +20,9 @@ buildDunePackage rec { description = "Typed routing for OCaml applications"; license = licenses.bsd3; homepage = "https://anuragsoni.github.io/routes"; - maintainers = with maintainers; [ ulrikstrid anmonteiro ]; + maintainers = with maintainers; [ + ulrikstrid + anmonteiro + ]; }; } diff --git a/pkgs/development/ocaml-modules/rpclib/default.nix b/pkgs/development/ocaml-modules/rpclib/default.nix index 9dd895ea4b0e0..e6f25b2c30f82 100644 --- a/pkgs/development/ocaml-modules/rpclib/default.nix +++ b/pkgs/development/ocaml-modules/rpclib/default.nix @@ -1,6 +1,13 @@ -{ lib, fetchurl, buildDunePackage -, alcotest -, base64, cmdliner, rresult, xmlm, yojson +{ + lib, + fetchurl, + buildDunePackage, + alcotest, + base64, + cmdliner, + rresult, + xmlm, + yojson, }: buildDunePackage rec { @@ -15,8 +22,15 @@ buildDunePackage rec { hash = "sha256-ziPrdWwCjZN0vRmCMpa923wjfT8FVFLTDRz30VIW6WM="; }; - buildInputs = [ cmdliner yojson ]; - propagatedBuildInputs = [ base64 rresult xmlm ]; + buildInputs = [ + cmdliner + yojson + ]; + propagatedBuildInputs = [ + base64 + rresult + xmlm + ]; checkInputs = [ alcotest ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/rpclib/lwt.nix b/pkgs/development/ocaml-modules/rpclib/lwt.nix index ce02d4b1e66b3..5133e2f83eace 100644 --- a/pkgs/development/ocaml-modules/rpclib/lwt.nix +++ b/pkgs/development/ocaml-modules/rpclib/lwt.nix @@ -1,9 +1,10 @@ -{ buildDunePackage -, rpclib -, lwt -, alcotest-lwt -, ppx_deriving_rpc -, yojson +{ + buildDunePackage, + rpclib, + lwt, + alcotest-lwt, + ppx_deriving_rpc, + yojson, }: buildDunePackage { @@ -11,9 +12,16 @@ buildDunePackage { inherit (rpclib) version src; duneVersion = "3"; - propagatedBuildInputs = [ lwt rpclib ]; + propagatedBuildInputs = [ + lwt + rpclib + ]; - checkInputs = [ alcotest-lwt ppx_deriving_rpc yojson ]; + checkInputs = [ + alcotest-lwt + ppx_deriving_rpc + yojson + ]; doCheck = true; meta = rpclib.meta // { diff --git a/pkgs/development/ocaml-modules/rresult/default.nix b/pkgs/development/ocaml-modules/rresult/default.nix index 0c1081159ede6..cc559c1c1740b 100644 --- a/pkgs/development/ocaml-modules/rresult/default.nix +++ b/pkgs/development/ocaml-modules/rresult/default.nix @@ -1,30 +1,45 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + result, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") "rresult is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-rresult"; - version = "0.7.0"; - src = fetchurl { - url = "https://erratique.ch/software/rresult/releases/rresult-${version}.tbz"; - sha256 = "sha256-Eap/W4NGDmBDHjFU4+MsBx1G4VHqV2DPJDd4Bb+XVUA="; - }; + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-rresult"; + version = "0.7.0"; + src = fetchurl { + url = "https://erratique.ch/software/rresult/releases/rresult-${version}.tbz"; + sha256 = "sha256-Eap/W4NGDmBDHjFU4+MsBx1G4VHqV2DPJDd4Bb+XVUA="; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - propagatedBuildInputs = [ result ]; + propagatedBuildInputs = [ result ]; - strictDeps = true; + strictDeps = true; - inherit (topkg) buildPhase installPhase; + inherit (topkg) buildPhase installPhase; - meta = { - license = lib.licenses.isc; - homepage = "https://erratique.ch/software/rresult"; - description = "Result value combinators for OCaml"; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + meta = { + license = lib.licenses.isc; + homepage = "https://erratique.ch/software/rresult"; + description = "Result value combinators for OCaml"; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/rusage/default.nix b/pkgs/development/ocaml-modules/rusage/default.nix index 891784ba6def0..8992d60368ca4 100644 --- a/pkgs/development/ocaml-modules/rusage/default.nix +++ b/pkgs/development/ocaml-modules/rusage/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "rusage"; diff --git a/pkgs/development/ocaml-modules/safepass/default.nix b/pkgs/development/ocaml-modules/safepass/default.nix index d60cfcdb12762..363c8edf71ee2 100644 --- a/pkgs/development/ocaml-modules/safepass/default.nix +++ b/pkgs/development/ocaml-modules/safepass/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "safepass"; diff --git a/pkgs/development/ocaml-modules/sail/default.nix b/pkgs/development/ocaml-modules/sail/default.nix index 56a7ef2ece2fb..fd7947b862f77 100644 --- a/pkgs/development/ocaml-modules/sail/default.nix +++ b/pkgs/development/ocaml-modules/sail/default.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, base64 -, omd -, menhir -, ott -, linenoise -, dune-site -, pprint -, makeWrapper -, lem -, linksem -, yojson +{ + lib, + fetchFromGitHub, + buildDunePackage, + base64, + omd, + menhir, + ott, + linenoise, + dune-site, + pprint, + makeWrapper, + lem, + linksem, + yojson, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/samplerate/default.nix b/pkgs/development/ocaml-modules/samplerate/default.nix index c101cfc0c2798..51f80d727f1af 100644 --- a/pkgs/development/ocaml-modules/samplerate/default.nix +++ b/pkgs/development/ocaml-modules/samplerate/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, libsamplerate }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + libsamplerate, +}: buildDunePackage rec { pname = "samplerate"; diff --git a/pkgs/development/ocaml-modules/saturn/default.nix b/pkgs/development/ocaml-modules/saturn/default.nix index d5b8d0478f2a3..caa735dd17a6a 100644 --- a/pkgs/development/ocaml-modules/saturn/default.nix +++ b/pkgs/development/ocaml-modules/saturn/default.nix @@ -1,9 +1,14 @@ -{ lib, buildDunePackage, ocaml -, saturn_lockfree -, domain_shims -, dscheck -, multicore-bench -, qcheck, qcheck-alcotest, qcheck-stm +{ + lib, + buildDunePackage, + ocaml, + saturn_lockfree, + domain_shims, + dscheck, + multicore-bench, + qcheck, + qcheck-alcotest, + qcheck-stm, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/saturn/lockfree.nix b/pkgs/development/ocaml-modules/saturn/lockfree.nix index 07b8dc785cff5..538dfda5e8385 100644 --- a/pkgs/development/ocaml-modules/saturn/lockfree.nix +++ b/pkgs/development/ocaml-modules/saturn/lockfree.nix @@ -1,5 +1,9 @@ -{ lib, fetchurl, buildDunePackage -, backoff, multicore-magic +{ + lib, + fetchurl, + buildDunePackage, + backoff, + multicore-magic, }: buildDunePackage rec { @@ -13,7 +17,10 @@ buildDunePackage rec { hash = "sha256-ZmmxwIe5PiPYTTdvOHbOjRbv2b/bb9y0IekByfREPjk="; }; - propagatedBuildInputs = [ backoff multicore-magic ]; + propagatedBuildInputs = [ + backoff + multicore-magic + ]; meta = { description = "Lock-free data structures for multicore OCaml"; diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix index 465c568a1d1f9..57cf08744cb3a 100644 --- a/pkgs/development/ocaml-modules/sawja/default.nix +++ b/pkgs/development/ocaml-modules/sawja/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, which, ocaml, findlib, javalib }: +{ + lib, + stdenv, + fetchFromGitHub, + which, + ocaml, + findlib, + javalib, +}: let pname = "sawja"; @@ -8,39 +16,47 @@ in lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "${pname} is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation { + stdenv.mkDerivation + { - pname = "ocaml${ocaml.version}-${pname}"; + pname = "ocaml${ocaml.version}-${pname}"; - inherit version; + inherit version; - src = fetchFromGitHub { - owner = "javalib-team"; - repo = pname; - rev = version; - hash = "sha256-G1W8/G0TEcldnFnH/NAb9a6ZSGGP2fWTM47lI8bBHnw="; - }; + src = fetchFromGitHub { + owner = "javalib-team"; + repo = pname; + rev = version; + hash = "sha256-G1W8/G0TEcldnFnH/NAb9a6ZSGGP2fWTM47lI8bBHnw="; + }; - nativeBuildInputs = [ which ocaml findlib ]; + nativeBuildInputs = [ + which + ocaml + findlib + ]; - strictDeps = true; + strictDeps = true; - patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; + patches = [ + ./configure.sh.patch + ./Makefile.config.example.patch + ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - configureScript = "./configure.sh"; - dontAddPrefix = "true"; - dontAddStaticConfigureFlags = true; - configurePlatforms = []; + configureScript = "./configure.sh"; + dontAddPrefix = "true"; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; - propagatedBuildInputs = [ javalib ]; + propagatedBuildInputs = [ javalib ]; - meta = with lib; { - description = "Library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs"; - homepage = "http://sawja.inria.fr/"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + description = "Library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs"; + homepage = "http://sawja.inria.fr/"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/secp256k1-internal/default.nix b/pkgs/development/ocaml-modules/secp256k1-internal/default.nix index b403b997027b6..5a57a79889e1c 100644 --- a/pkgs/development/ocaml-modules/secp256k1-internal/default.nix +++ b/pkgs/development/ocaml-modules/secp256k1-internal/default.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitLab -, buildDunePackage -, gmp -, dune-configurator -, cstruct -, bigstring -, alcotest -, hex +{ + lib, + fetchFromGitLab, + buildDunePackage, + gmp, + dune-configurator, + cstruct, + bigstring, + alcotest, + hex, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/secp256k1/default.nix b/pkgs/development/ocaml-modules/secp256k1/default.nix index 6dd4d7ad64a48..5a97578db5dd3 100644 --- a/pkgs/development/ocaml-modules/secp256k1/default.nix +++ b/pkgs/development/ocaml-modules/secp256k1/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, buildDunePackage, base, stdio, dune-configurator, secp256k1 }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + base, + stdio, + dune-configurator, + secp256k1, +}: buildDunePackage rec { pname = "secp256k1"; @@ -13,7 +21,12 @@ buildDunePackage rec { hash = "sha256-22+dZb3MC1W5Qvsz3+IHV1/XiGCRmJHTH+6IW2QX2hU="; }; - buildInputs = [ base stdio dune-configurator secp256k1 ]; + buildInputs = [ + base + stdio + dune-configurator + secp256k1 + ]; meta = with lib; { homepage = "https://github.com/dakk/secp256k1-ml"; diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix index 480083d6253a4..66038de71668f 100644 --- a/pkgs/development/ocaml-modules/sedlex/default.nix +++ b/pkgs/development/ocaml-modules/sedlex/default.nix @@ -1,24 +1,27 @@ -{ lib -, fetchFromGitHub -, fetchurl -, buildDunePackage -, gen -, ppxlib -, uchar -, ppx_expect +{ + lib, + fetchFromGitHub, + fetchurl, + buildDunePackage, + gen, + ppxlib, + uchar, + ppx_expect, }: -let param = - if lib.versionAtLeast ppxlib.version "0.26.0" then - { - version = "3.3"; - sha256 = "sha256-33eJKVdoR4mlWdPZUdjQ26w+kuQWoUN68+bxy2o+Pjs="; - } - else { - version = "2.5"; - sha256 = "sha256:062a5dvrzvb81l3a9phljrhxfw9nlb61q341q0a6xn65hll3z2wy"; - } -; in +let + param = + if lib.versionAtLeast ppxlib.version "0.26.0" then + { + version = "3.3"; + sha256 = "sha256-33eJKVdoR4mlWdPZUdjQ26w+kuQWoUN68+bxy2o+Pjs="; + } + else + { + version = "2.5"; + sha256 = "sha256:062a5dvrzvb81l3a9phljrhxfw9nlb61q341q0a6xn65hll3z2wy"; + }; +in let unicodeVersion = "16.0.0"; @@ -51,12 +54,14 @@ buildDunePackage rec { inherit (param) sha256; }; - propagatedBuildInputs = [ - gen - ppxlib - ] ++ lib.optionals (!atLeast31) [ - uchar - ]; + propagatedBuildInputs = + [ + gen + ppxlib + ] + ++ lib.optionals (!atLeast31) [ + uchar + ]; preBuild = '' rm src/generator/data/dune diff --git a/pkgs/development/ocaml-modules/sel/default.nix b/pkgs/development/ocaml-modules/sel/default.nix index e5fdccbc7a3f4..89abcc5aef336 100644 --- a/pkgs/development/ocaml-modules/sel/default.nix +++ b/pkgs/development/ocaml-modules/sel/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, ppxlib, ppx_deriving, buildDunePackage }: +{ + lib, + fetchurl, + ppxlib, + ppx_deriving, + buildDunePackage, +}: buildDunePackage rec { pname = "sel"; diff --git a/pkgs/development/ocaml-modules/semaphore-compat/default.nix b/pkgs/development/ocaml-modules/semaphore-compat/default.nix index adbff78d59453..10d91afe8d27f 100644 --- a/pkgs/development/ocaml-modules/semaphore-compat/default.nix +++ b/pkgs/development/ocaml-modules/semaphore-compat/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "semaphore-compat"; @@ -14,7 +18,10 @@ buildDunePackage rec { meta = with lib; { description = "Compatibility Semaphore module"; homepage = "https://github.com/mirage/semaphore-compat"; - license = with licenses; [ lgpl21Plus ocamlLgplLinkingException ]; + license = with licenses; [ + lgpl21Plus + ocamlLgplLinkingException + ]; maintainers = [ maintainers.sternenseemann ]; }; } diff --git a/pkgs/development/ocaml-modules/semver/default.nix b/pkgs/development/ocaml-modules/semver/default.nix index 5f4880c0cf2ef..3529f481c33f9 100644 --- a/pkgs/development/ocaml-modules/semver/default.nix +++ b/pkgs/development/ocaml-modules/semver/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ocaml, alcotest }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + alcotest, +}: buildDunePackage rec { pname = "semver"; diff --git a/pkgs/development/ocaml-modules/seq/default.nix b/pkgs/development/ocaml-modules/seq/default.nix index 6131585e34b15..3ca46ad5d2ac3 100644 --- a/pkgs/development/ocaml-modules/seq/default.nix +++ b/pkgs/development/ocaml-modules/seq/default.nix @@ -1,43 +1,62 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }: - -stdenv.mkDerivation ({ - version = "0.1"; - pname = "ocaml${ocaml.version}-seq"; - - meta = { - license = lib.licenses.lgpl21; - maintainers = [ lib.maintainers.vbgl ]; - homepage = "https://github.com/c-cube/seq"; - inherit (ocaml.meta) platforms; - }; - -} // (if lib.versionOlder ocaml.version "4.07" then { - - src = fetchFromGitHub { - owner = "c-cube"; - repo = "seq"; - rev = "0.1"; - sha256 = "1cjpsc7q76yfgq9iyvswxgic4kfq2vcqdlmxjdjgd4lx87zvcwrv"; - }; - - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - strictDeps = true; - - createFindlibDestdir = true; - - meta.description = "Compatibility package for OCaml’s standard iterator type starting from 4.07"; - -} else { - - src = ./src-base; - - dontBuild = true; - - installPhase = '' - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/seq - cp META $out/lib/ocaml/${ocaml.version}/site-lib/seq - ''; - - meta.description = "dummy backward-compatibility package for iterators"; - -})) +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, +}: + +stdenv.mkDerivation ( + { + version = "0.1"; + pname = "ocaml${ocaml.version}-seq"; + + meta = { + license = lib.licenses.lgpl21; + maintainers = [ lib.maintainers.vbgl ]; + homepage = "https://github.com/c-cube/seq"; + inherit (ocaml.meta) platforms; + }; + + } + // ( + if lib.versionOlder ocaml.version "4.07" then + { + + src = fetchFromGitHub { + owner = "c-cube"; + repo = "seq"; + rev = "0.1"; + sha256 = "1cjpsc7q76yfgq9iyvswxgic4kfq2vcqdlmxjdjgd4lx87zvcwrv"; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + strictDeps = true; + + createFindlibDestdir = true; + + meta.description = "Compatibility package for OCaml’s standard iterator type starting from 4.07"; + + } + else + { + + src = ./src-base; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/seq + cp META $out/lib/ocaml/${ocaml.version}/site-lib/seq + ''; + + meta.description = "dummy backward-compatibility package for iterators"; + + } + ) +) diff --git a/pkgs/development/ocaml-modules/seqes/default.nix b/pkgs/development/ocaml-modules/seqes/default.nix index 242895f95c5c4..00d68ffdbb164 100644 --- a/pkgs/development/ocaml-modules/seqes/default.nix +++ b/pkgs/development/ocaml-modules/seqes/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, qcheck, qcheck-alcotest, alcotest }: +{ + lib, + fetchurl, + buildDunePackage, + qcheck, + qcheck-alcotest, + alcotest, +}: buildDunePackage rec { pname = "seqes"; @@ -11,7 +18,11 @@ buildDunePackage rec { minimalOCamlVersion = "4.14"; doCheck = true; - checkInputs = [ qcheck qcheck-alcotest alcotest ]; + checkInputs = [ + qcheck + qcheck-alcotest + alcotest + ]; meta = with lib; { description = "Variations of the Seq module with monads folded into the type"; diff --git a/pkgs/development/ocaml-modules/sha/default.nix b/pkgs/development/ocaml-modules/sha/default.nix index c54c143d5b48c..c7f646d469081 100644 --- a/pkgs/development/ocaml-modules/sha/default.nix +++ b/pkgs/development/ocaml-modules/sha/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildDunePackage, ocaml, stdlib-shims, ounit2 }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + stdlib-shims, + ounit2, +}: buildDunePackage rec { pname = "sha"; diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix index 331eff1c1027a..ea64b87f062f4 100644 --- a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix +++ b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildDunePackage -, fetchurl -, ppx_cstruct -, cstruct -, lwt -, ounit +{ + lib, + buildDunePackage, + fetchurl, + ppx_cstruct, + cstruct, + lwt, + ounit, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix b/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix index 0dd8d819611da..81a8b7ca30d9c 100644 --- a/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix +++ b/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix @@ -1,11 +1,12 @@ -{ buildDunePackage -, shared-memory-ring -, ppx_cstruct -, cstruct -, lwt -, lwt-dllist -, mirage-profile -, ounit +{ + buildDunePackage, + shared-memory-ring, + ppx_cstruct, + cstruct, + lwt, + lwt-dllist, + mirage-profile, + ounit, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/shine/default.nix b/pkgs/development/ocaml-modules/shine/default.nix index 13d41e72254b7..cea921d913233 100644 --- a/pkgs/development/ocaml-modules/shine/default.nix +++ b/pkgs/development/ocaml-modules/shine/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, shine }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + shine, +}: buildDunePackage rec { pname = "shine"; diff --git a/pkgs/development/ocaml-modules/simple-diff/default.nix b/pkgs/development/ocaml-modules/simple-diff/default.nix index a87026fb4a0b7..0a578f28b2b1e 100644 --- a/pkgs/development/ocaml-modules/simple-diff/default.nix +++ b/pkgs/development/ocaml-modules/simple-diff/default.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, topkg, ocamlbuild, re }: +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + topkg, + ocamlbuild, + re, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-simple-diff"; @@ -11,7 +20,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-OaKECUBCCt9KfdRJf3HcXTUJVxKKdYtnzOHpMPOllrk="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; propagatedBuildInputs = [ re ]; diff --git a/pkgs/development/ocaml-modules/slug/default.nix b/pkgs/development/ocaml-modules/slug/default.nix index 2ae81209b5496..55657d32c454f 100644 --- a/pkgs/development/ocaml-modules/slug/default.nix +++ b/pkgs/development/ocaml-modules/slug/default.nix @@ -1,6 +1,11 @@ -{ lib, fetchFromGitHub, buildDunePackage -, re, uunf, uuseg -, alcotest +{ + lib, + fetchFromGitHub, + buildDunePackage, + re, + uunf, + uuseg, + alcotest, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix index a3777f7d8aec8..7ca2e65935adb 100644 --- a/pkgs/development/ocaml-modules/sodium/default.nix +++ b/pkgs/development/ocaml-modules/sodium/default.nix @@ -1,37 +1,54 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, ctypes, libsodium }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, + ctypes, + libsodium, +}: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "sodium is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-sodium"; - version = "0.6.0"; - - src = fetchFromGitHub { - owner = "dsheets"; - repo = "ocaml-sodium"; - rev = version; - sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv"; - }; - - patches = [ - # ctypes.stubs no longer pulls in bigarray automatically - ./lib-gen-link-bigarray.patch - ]; - - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - propagatedBuildInputs = [ ctypes libsodium ]; - - strictDeps = true; - - createFindlibDestdir = true; - - hardeningDisable = lib.optional stdenv.hostPlatform.isDarwin "strictoverflow"; - - meta = with lib; { - homepage = "https://github.com/dsheets/ocaml-sodium"; - description = "Binding to libsodium 1.0.9+"; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.rixed ]; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-sodium"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "dsheets"; + repo = "ocaml-sodium"; + rev = version; + sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv"; + }; + + patches = [ + # ctypes.stubs no longer pulls in bigarray automatically + ./lib-gen-link-bigarray.patch + ]; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + propagatedBuildInputs = [ + ctypes + libsodium + ]; + + strictDeps = true; + + createFindlibDestdir = true; + + hardeningDisable = lib.optional stdenv.hostPlatform.isDarwin "strictoverflow"; + + meta = with lib; { + homepage = "https://github.com/dsheets/ocaml-sodium"; + description = "Binding to libsodium 1.0.9+"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.rixed ]; + }; + } diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix index 1ef11e363ff81..ded25d88f58e3 100644 --- a/pkgs/development/ocaml-modules/sosa/default.nix +++ b/pkgs/development/ocaml-modules/sosa/default.nix @@ -1,42 +1,52 @@ -{ lib, fetchFromGitHub, stdenv -, findlib, ocaml, ocamlbuild +{ + lib, + fetchFromGitHub, + stdenv, + findlib, + ocaml, + ocamlbuild, }: lib.throwIf (lib.versionOlder ocaml.version "4.02") "sosa is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-sosa"; - version = "0.3.0"; - - src = fetchFromGitHub { - owner = "hammerlab"; - repo = "sosa"; - rev = "sosa.${version}"; - sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk"; - }; - - postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "4.07") '' - for p in functors list_of of_mutable - do - substituteInPlace src/lib/$p.ml --replace Pervasives. Stdlib. - done - ''; - - nativeBuildInputs = [ ocaml ocamlbuild findlib ]; - - strictDeps = true; - - buildPhase = "make build"; - - createFindlibDestdir = true; - - doCheck = true; - - meta = with lib; { - homepage = "http://www.hammerlab.org/docs/sosa/master/index.html"; - description = "Sane OCaml String API"; - license = licenses.isc; - maintainers = [ maintainers.alexfmpe ]; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-sosa"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "hammerlab"; + repo = "sosa"; + rev = "sosa.${version}"; + sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk"; + }; + + postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "4.07") '' + for p in functors list_of of_mutable + do + substituteInPlace src/lib/$p.ml --replace Pervasives. Stdlib. + done + ''; + + nativeBuildInputs = [ + ocaml + ocamlbuild + findlib + ]; + + strictDeps = true; + + buildPhase = "make build"; + + createFindlibDestdir = true; + + doCheck = true; + + meta = with lib; { + homepage = "http://www.hammerlab.org/docs/sosa/master/index.html"; + description = "Sane OCaml String API"; + license = licenses.isc; + maintainers = [ maintainers.alexfmpe ]; + }; + } diff --git a/pkgs/development/ocaml-modules/soundtouch/default.nix b/pkgs/development/ocaml-modules/soundtouch/default.nix index fc79664d06bbe..db7cb1de1060a 100644 --- a/pkgs/development/ocaml-modules/soundtouch/default.nix +++ b/pkgs/development/ocaml-modules/soundtouch/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, soundtouch }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + soundtouch, +}: buildDunePackage rec { pname = "soundtouch"; diff --git a/pkgs/development/ocaml-modules/speex/default.nix b/pkgs/development/ocaml-modules/speex/default.nix index 1bf5f308ecf22..e0e8da318dd9b 100644 --- a/pkgs/development/ocaml-modules/speex/default.nix +++ b/pkgs/development/ocaml-modules/speex/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, ogg, speex }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + ogg, + speex, +}: buildDunePackage rec { pname = "speex"; @@ -14,7 +21,10 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ogg speex.dev ]; + propagatedBuildInputs = [ + ogg + speex.dev + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-speex"; diff --git a/pkgs/development/ocaml-modules/spelll/default.nix b/pkgs/development/ocaml-modules/spelll/default.nix index 076cc5cc3a455..ec59977d333ef 100644 --- a/pkgs/development/ocaml-modules/spelll/default.nix +++ b/pkgs/development/ocaml-modules/spelll/default.nix @@ -1,6 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage -, seq -, stdlib-shims +{ + lib, + fetchFromGitHub, + buildDunePackage, + seq, + stdlib-shims, }: buildDunePackage rec { @@ -16,7 +19,10 @@ buildDunePackage rec { hash = "sha256-nI8fdArYynR70PUJIgyogGBCe4gFhfVzuRdZzFGKqOc="; }; - propagatedBuildInputs = [ seq stdlib-shims ]; + propagatedBuildInputs = [ + seq + stdlib-shims + ]; meta = { inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/spices/default.nix b/pkgs/development/ocaml-modules/spices/default.nix index 263d1441e35b9..488e802497765 100644 --- a/pkgs/development/ocaml-modules/spices/default.nix +++ b/pkgs/development/ocaml-modules/spices/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchurl -, colors -, tty +{ + lib, + buildDunePackage, + fetchurl, + colors, + tty, }: buildDunePackage rec { @@ -31,4 +32,3 @@ buildDunePackage rec { maintainers = [ ]; }; } - diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix index e45961f403e12..240cab8d4e460 100644 --- a/pkgs/development/ocaml-modules/sqlite3/default.nix +++ b/pkgs/development/ocaml-modules/sqlite3/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, sqlite, pkg-config, buildDunePackage, dune-configurator }: +{ + lib, + fetchurl, + sqlite, + pkg-config, + buildDunePackage, + dune-configurator, +}: buildDunePackage rec { pname = "sqlite3"; @@ -12,14 +19,18 @@ buildDunePackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dune-configurator sqlite ]; + buildInputs = [ + dune-configurator + sqlite + ]; meta = with lib; { homepage = "http://mmottl.github.io/sqlite3-ocaml/"; description = "OCaml bindings to the SQLite 3 database access library"; license = licenses.mit; maintainers = with maintainers; [ - maggesi vbgl + maggesi + vbgl ]; }; } diff --git a/pkgs/development/ocaml-modules/srt/default.nix b/pkgs/development/ocaml-modules/srt/default.nix index e0184643e14fa..5854e55142853 100644 --- a/pkgs/development/ocaml-modules/srt/default.nix +++ b/pkgs/development/ocaml-modules/srt/default.nix @@ -1,8 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub -, dune-configurator -, posix-socket -, srt -, ctypes-foreign +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + posix-socket, + srt, + ctypes-foreign, }: buildDunePackage rec { @@ -19,12 +22,19 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ctypes-foreign posix-socket srt ]; + propagatedBuildInputs = [ + ctypes-foreign + posix-socket + srt + ]; meta = { description = "OCaml bindings for the libsrt library"; license = lib.licenses.gpl2Plus; inherit (src.meta) homepage; - maintainers = with lib.maintainers; [ vbgl dandellion ]; + maintainers = with lib.maintainers; [ + vbgl + dandellion + ]; }; } diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix index c3b66f29a24c2..fea4be04f8a3c 100644 --- a/pkgs/development/ocaml-modules/ssl/default.nix +++ b/pkgs/development/ocaml-modules/ssl/default.nix @@ -1,11 +1,12 @@ -{ alcotest -, buildDunePackage -, dune-configurator -, fetchFromGitHub -, lib -, ocaml -, openssl -, pkg-config +{ + alcotest, + buildDunePackage, + dune-configurator, + fetchFromGitHub, + lib, + ocaml, + openssl, + pkg-config, }: buildDunePackage rec { @@ -37,6 +38,10 @@ buildDunePackage rec { homepage = "http://savonet.rastageeks.org/"; description = "OCaml bindings for libssl"; license = "LGPL+link exception"; - maintainers = with lib.maintainers; [ anmonteiro dandellion maggesi ]; + maintainers = with lib.maintainers; [ + anmonteiro + dandellion + maggesi + ]; }; } diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix index 23eeca421f5ea..b2d5e3e89eec7 100644 --- a/pkgs/development/ocaml-modules/stdcompat/default.nix +++ b/pkgs/development/ocaml-modules/stdcompat/default.nix @@ -1,27 +1,29 @@ -{ buildDunePackage -, ocaml -, lib -, fetchurl +{ + buildDunePackage, + ocaml, + lib, + fetchurl, }: lib.throwIf (lib.versionAtLeast ocaml.version "5.2") "stdcompat is not available for OCaml ${ocaml.version}" -buildDunePackage rec { - pname = "stdcompat"; - version = "19"; + buildDunePackage + rec { + pname = "stdcompat"; + version = "19"; - src = fetchurl { - url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz"; - sha256 = "sha256-DKQGd4nnIN6SPls6hcA/2Jvc7ivYNpeMU6rYsVc1ClU="; - }; + src = fetchurl { + url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz"; + sha256 = "sha256-DKQGd4nnIN6SPls6hcA/2Jvc7ivYNpeMU6rYsVc1ClU="; + }; - # Otherwise ./configure script will run and create files conflicting with dune. - dontConfigure = true; + # Otherwise ./configure script will run and create files conflicting with dune. + dontConfigure = true; - meta = { - homepage = "https://github.com/thierry-martinez/stdcompat"; - license = lib.licenses.bsd2; - maintainers = [ lib.maintainers.vbgl ]; - }; -} + meta = { + homepage = "https://github.com/thierry-martinez/stdcompat"; + license = lib.licenses.bsd2; + maintainers = [ lib.maintainers.vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix index cec0ec8183002..f469620440928 100644 --- a/pkgs/development/ocaml-modules/stdint/default.nix +++ b/pkgs/development/ocaml-modules/stdint/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ocaml, qcheck }: +{ + lib, + fetchurl, + buildDunePackage, + ocaml, + qcheck, +}: buildDunePackage rec { pname = "stdint"; diff --git a/pkgs/development/ocaml-modules/stdlib-shims/default.nix b/pkgs/development/ocaml-modules/stdlib-shims/default.nix index 45c8bb2e4a1a2..3c3625c8c3511 100644 --- a/pkgs/development/ocaml-modules/stdlib-shims/default.nix +++ b/pkgs/development/ocaml-modules/stdlib-shims/default.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, lib, fetchurl, ocaml }: +{ + buildDunePackage, + lib, + fetchurl, + ocaml, +}: buildDunePackage rec { pname = "stdlib-shims"; diff --git a/pkgs/development/ocaml-modules/stdune/default.nix b/pkgs/development/ocaml-modules/stdune/default.nix index ffb73941f0bdc..bc880cf2125f5 100644 --- a/pkgs/development/ocaml-modules/stdune/default.nix +++ b/pkgs/development/ocaml-modules/stdune/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, dune_3, dyn, ordering, csexp }: +{ + buildDunePackage, + dune_3, + dyn, + ordering, + csexp, +}: buildDunePackage { pname = "stdune"; @@ -7,7 +13,11 @@ buildDunePackage { dontAddPrefix = true; - propagatedBuildInputs = [ dyn ordering csexp ]; + propagatedBuildInputs = [ + dyn + ordering + csexp + ]; preBuild = '' rm -r vendor/csexp @@ -17,4 +27,3 @@ buildDunePackage { description = "Dune's unstable standard library"; }; } - diff --git a/pkgs/development/ocaml-modules/streaming/default.nix b/pkgs/development/ocaml-modules/streaming/default.nix index f2a8c883f7240..77912934d4b5d 100644 --- a/pkgs/development/ocaml-modules/streaming/default.nix +++ b/pkgs/development/ocaml-modules/streaming/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, stdlib-shims +{ + lib, + buildDunePackage, + fetchurl, + stdlib-shims, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/stringext/default.nix b/pkgs/development/ocaml-modules/stringext/default.nix index 32d801f971fb4..830185e89054c 100644 --- a/pkgs/development/ocaml-modules/stringext/default.nix +++ b/pkgs/development/ocaml-modules/stringext/default.nix @@ -1,9 +1,17 @@ -{ lib, fetchurl, ocaml, buildDunePackage, ounit, qtest -# Optionally enable tests; test script use OCaml-4.01+ features -, doCheck ? lib.versionAtLeast ocaml.version "4.08" +{ + lib, + fetchurl, + ocaml, + buildDunePackage, + ounit, + qtest, + # Optionally enable tests; test script use OCaml-4.01+ features + doCheck ? lib.versionAtLeast ocaml.version "4.08", }: -let version = "1.6.0"; in +let + version = "1.6.0"; +in buildDunePackage { pname = "stringext"; @@ -14,7 +22,10 @@ buildDunePackage { sha256 = "1sh6nafi3i9773j5mlwwz3kxfzdjzsfqj2qibxhigawy5vazahfv"; }; - checkInputs = [ ounit qtest ]; + checkInputs = [ + ounit + qtest + ]; inherit doCheck; meta = { diff --git a/pkgs/development/ocaml-modules/syslog-message/default.nix b/pkgs/development/ocaml-modules/syslog-message/default.nix index 5d1000c3182e0..33c71b455f8a1 100644 --- a/pkgs/development/ocaml-modules/syslog-message/default.nix +++ b/pkgs/development/ocaml-modules/syslog-message/default.nix @@ -1,5 +1,9 @@ -{ lib, buildDunePackage, fetchurl -, ptime, qcheck +{ + lib, + buildDunePackage, + fetchurl, + ptime, + qcheck, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/syslog/default.nix b/pkgs/development/ocaml-modules/syslog/default.nix index ad9204847e101..293e508c283fd 100644 --- a/pkgs/development/ocaml-modules/syslog/default.nix +++ b/pkgs/development/ocaml-modules/syslog/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, buildDunePackage }: +{ + lib, + fetchFromGitHub, + buildDunePackage, +}: buildDunePackage rec { pname = "syslog"; diff --git a/pkgs/development/ocaml-modules/taglib/default.nix b/pkgs/development/ocaml-modules/taglib/default.nix index 95b5ae04578ff..58bfb599272a7 100644 --- a/pkgs/development/ocaml-modules/taglib/default.nix +++ b/pkgs/development/ocaml-modules/taglib/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, pkg-config, taglib, zlib }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + pkg-config, + taglib, + zlib, +}: buildDunePackage rec { pname = "taglib"; @@ -15,12 +23,18 @@ buildDunePackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ taglib zlib ]; + propagatedBuildInputs = [ + taglib + zlib + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-taglib"; description = "Bindings for the taglib library which provides functions for reading tags in headers of audio files"; - license = with licenses; [ lgpl21Plus "link-exception" ]; # GNU Library Public License 2 Linking Exception + license = with licenses; [ + lgpl21Plus + "link-exception" + ]; # GNU Library Public License 2 Linking Exception maintainers = with maintainers; [ dandellion ]; }; } diff --git a/pkgs/development/ocaml-modules/tar/default.nix b/pkgs/development/ocaml-modules/tar/default.nix index f0d8876fd41e2..0a5bda3881c40 100644 --- a/pkgs/development/ocaml-modules/tar/default.nix +++ b/pkgs/development/ocaml-modules/tar/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchurl -, buildDunePackage -, camlp-streams -, cstruct -, decompress +{ + lib, + fetchurl, + buildDunePackage, + camlp-streams, + cstruct, + decompress, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tar/unix.nix b/pkgs/development/ocaml-modules/tar/unix.nix index ed12dd57536a0..701e2a4458bf2 100644 --- a/pkgs/development/ocaml-modules/tar/unix.nix +++ b/pkgs/development/ocaml-modules/tar/unix.nix @@ -1,8 +1,9 @@ -{ buildDunePackage -, tar -, cstruct-lwt -, lwt -, git +{ + buildDunePackage, + tar, + cstruct-lwt, + lwt, + git, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tcpip/default.nix b/pkgs/development/ocaml-modules/tcpip/default.nix index 9920f8f8576b9..d72332b832482 100644 --- a/pkgs/development/ocaml-modules/tcpip/default.nix +++ b/pkgs/development/ocaml-modules/tcpip/default.nix @@ -1,14 +1,35 @@ -{ lib, buildDunePackage, fetchurl -, pkg-config -, cstruct, cstruct-lwt, mirage-net, mirage-clock -, mirage-crypto-rng-mirage, mirage-time -, macaddr, macaddr-cstruct, fmt -, lwt, lwt-dllist, logs, duration, randomconv, ethernet -, alcotest, mirage-flow, mirage-vnetif, pcap-format -, mirage-clock-unix, arp, ipaddr-cstruct, mirage-crypto-rng -, lru, metrics -, withFreestanding ? false -, ocaml-freestanding +{ + lib, + buildDunePackage, + fetchurl, + pkg-config, + cstruct, + cstruct-lwt, + mirage-net, + mirage-clock, + mirage-crypto-rng-mirage, + mirage-time, + macaddr, + macaddr-cstruct, + fmt, + lwt, + lwt-dllist, + logs, + duration, + randomconv, + ethernet, + alcotest, + mirage-flow, + mirage-vnetif, + pcap-format, + mirage-clock-unix, + arp, + ipaddr-cstruct, + mirage-crypto-rng, + lru, + metrics, + withFreestanding ? false, + ocaml-freestanding, }: buildDunePackage rec { @@ -24,30 +45,32 @@ buildDunePackage rec { pkg-config ]; - propagatedBuildInputs = [ - cstruct - cstruct-lwt - mirage-net - mirage-clock - mirage-crypto-rng-mirage - mirage-time - ipaddr-cstruct - macaddr - macaddr-cstruct - fmt - lwt - lwt-dllist - logs - duration - randomconv - ethernet - lru - metrics - arp - mirage-flow - ] ++ lib.optionals withFreestanding [ - ocaml-freestanding - ]; + propagatedBuildInputs = + [ + cstruct + cstruct-lwt + mirage-net + mirage-clock + mirage-crypto-rng-mirage + mirage-time + ipaddr-cstruct + macaddr + macaddr-cstruct + fmt + lwt + lwt-dllist + logs + duration + randomconv + ethernet + lru + metrics + arp + mirage-flow + ] + ++ lib.optionals withFreestanding [ + ocaml-freestanding + ]; doCheck = true; checkInputs = [ diff --git a/pkgs/development/ocaml-modules/tcslib/default.nix b/pkgs/development/ocaml-modules/tcslib/default.nix index 2cec5ccc5e5ea..58c19e399cc40 100644 --- a/pkgs/development/ocaml-modules/tcslib/default.nix +++ b/pkgs/development/ocaml-modules/tcslib/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildOasisPackage, extlib, num }: +{ + lib, + fetchFromGitHub, + buildOasisPackage, + extlib, + num, +}: buildOasisPackage rec { pname = "tcslib"; @@ -7,13 +13,16 @@ buildOasisPackage rec { minimumOCamlVersion = "4.03.0"; src = fetchFromGitHub { - owner = "tcsprojects"; - repo = "tcslib"; - rev = "v${version}"; + owner = "tcsprojects"; + repo = "tcslib"; + rev = "v${version}"; sha256 = "05g6m82blsccq8wx8knxv6a5fzww7hi624jx91f9h87nk2fsplhi"; }; - propagatedBuildInputs = [ extlib num ]; + propagatedBuildInputs = [ + extlib + num + ]; meta = { homepage = "https://github.com/tcsprojects/tcslib"; diff --git a/pkgs/development/ocaml-modules/tdigest/default.nix b/pkgs/development/ocaml-modules/tdigest/default.nix index b8d8f7b520172..5ea7ed0f7ee03 100644 --- a/pkgs/development/ocaml-modules/tdigest/default.nix +++ b/pkgs/development/ocaml-modules/tdigest/default.nix @@ -1,7 +1,10 @@ -{ lib, fetchFromGitHub, nix-update-script -, buildDunePackage -, base -, ppx_sexp_conv +{ + lib, + fetchFromGitHub, + nix-update-script, + buildDunePackage, + base, + ppx_sexp_conv, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/telegraml/default.nix b/pkgs/development/ocaml-modules/telegraml/default.nix index 31eccdcaa6e54..23ce695840bc0 100644 --- a/pkgs/development/ocaml-modules/telegraml/default.nix +++ b/pkgs/development/ocaml-modules/telegraml/default.nix @@ -1,10 +1,11 @@ -{ batteries -, buildDunePackage -, cohttp-lwt-unix -, fetchFromGitHub -, lib -, logs -, yojson +{ + batteries, + buildDunePackage, + cohttp-lwt-unix, + fetchFromGitHub, + lib, + logs, + yojson, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/telemetry/default.nix b/pkgs/development/ocaml-modules/telemetry/default.nix index d1a57745cefb7..bf25a422bb2da 100644 --- a/pkgs/development/ocaml-modules/telemetry/default.nix +++ b/pkgs/development/ocaml-modules/telemetry/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "telemetry"; diff --git a/pkgs/development/ocaml-modules/terminal/default.nix b/pkgs/development/ocaml-modules/terminal/default.nix index 1e43b2f8ee2a2..0222690e2d5a2 100644 --- a/pkgs/development/ocaml-modules/terminal/default.nix +++ b/pkgs/development/ocaml-modules/terminal/default.nix @@ -1,6 +1,13 @@ -{ lib, buildDunePackage, fetchurl, ocaml -, stdlib-shims, uutf, uucp -, alcotest, fmt +{ + lib, + buildDunePackage, + fetchurl, + ocaml, + stdlib-shims, + uutf, + uucp, + alcotest, + fmt, }: buildDunePackage rec { @@ -14,10 +21,17 @@ buildDunePackage rec { hash = "sha256-i+RJVTN5uy3F6LeYBcgER2kKA9yj6a7pWf7PRtgnj7c="; }; - propagatedBuildInputs = [ stdlib-shims uutf uucp ]; + propagatedBuildInputs = [ + stdlib-shims + uutf + uucp + ]; doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ alcotest fmt ]; + checkInputs = [ + alcotest + fmt + ]; meta = with lib; { description = "Basic utilities for interacting with terminals"; @@ -26,4 +40,3 @@ buildDunePackage rec { maintainers = [ maintainers.vbgl ]; }; } - diff --git a/pkgs/development/ocaml-modules/terminal_size/default.nix b/pkgs/development/ocaml-modules/terminal_size/default.nix index 228a6f222efc9..305d9743fa4cb 100644 --- a/pkgs/development/ocaml-modules/terminal_size/default.nix +++ b/pkgs/development/ocaml-modules/terminal_size/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, ocaml, fetchurl, alcotest }: +{ + lib, + buildDunePackage, + ocaml, + fetchurl, + alcotest, +}: buildDunePackage rec { pname = "terminal_size"; diff --git a/pkgs/development/ocaml-modules/tezos-base58/default.nix b/pkgs/development/ocaml-modules/tezos-base58/default.nix index 1ed04a082d5b8..ff63909264233 100644 --- a/pkgs/development/ocaml-modules/tezos-base58/default.nix +++ b/pkgs/development/ocaml-modules/tezos-base58/default.nix @@ -1,5 +1,10 @@ -{ buildDunePackage, fetchurl, lib -, zarith, digestif, fmt +{ + buildDunePackage, + fetchurl, + lib, + zarith, + digestif, + fmt, }: buildDunePackage rec { @@ -15,7 +20,9 @@ buildDunePackage rec { duneVersion = "3"; propagatedBuildInputs = [ - zarith digestif fmt + zarith + digestif + fmt ]; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/tezt/default.nix b/pkgs/development/ocaml-modules/tezt/default.nix index 0dc05750896a2..66a4cde7cbee3 100644 --- a/pkgs/development/ocaml-modules/tezt/default.nix +++ b/pkgs/development/ocaml-modules/tezt/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitLab -, buildDunePackage -, clap -, ezjsonm -, lwt -, re +{ + lib, + fetchFromGitLab, + buildDunePackage, + clap, + ezjsonm, + lwt, + re, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/theora/default.nix b/pkgs/development/ocaml-modules/theora/default.nix index 0fc9048a09cec..e0aa39107f8b1 100644 --- a/pkgs/development/ocaml-modules/theora/default.nix +++ b/pkgs/development/ocaml-modules/theora/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, ogg, libtheora }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + ogg, + libtheora, +}: buildDunePackage rec { pname = "theora"; @@ -14,7 +21,10 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ogg libtheora ]; + propagatedBuildInputs = [ + ogg + libtheora + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-theora"; diff --git a/pkgs/development/ocaml-modules/thread-table/default.nix b/pkgs/development/ocaml-modules/thread-table/default.nix index 155bca397ee69..5caa45f287ca1 100644 --- a/pkgs/development/ocaml-modules/thread-table/default.nix +++ b/pkgs/development/ocaml-modules/thread-table/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, buildDunePackage -, alcotest -, mdx +{ + lib, + fetchurl, + buildDunePackage, + alcotest, + mdx, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/timed/default.nix b/pkgs/development/ocaml-modules/timed/default.nix index f3e925f4eefaa..d68f85ca9fb1d 100644 --- a/pkgs/development/ocaml-modules/timed/default.nix +++ b/pkgs/development/ocaml-modules/timed/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildDunePackage +{ + lib, + fetchFromGitHub, + buildDunePackage, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/timedesc/default.nix b/pkgs/development/ocaml-modules/timedesc/default.nix index 9acd69305bee8..5d46988949d0a 100644 --- a/pkgs/development/ocaml-modules/timedesc/default.nix +++ b/pkgs/development/ocaml-modules/timedesc/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, buildDunePackage -, angstrom -, ptime -, seq -, timedesc-tzdb -, timedesc-tzlocal +{ + lib, + fetchurl, + buildDunePackage, + angstrom, + ptime, + seq, + timedesc-tzdb, + timedesc-tzlocal, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/timedesc/tzdb.nix b/pkgs/development/ocaml-modules/timedesc/tzdb.nix index d335ee4c315de..343327a728d65 100644 --- a/pkgs/development/ocaml-modules/timedesc/tzdb.nix +++ b/pkgs/development/ocaml-modules/timedesc/tzdb.nix @@ -1,5 +1,6 @@ -{ buildDunePackage -, timedesc +{ + buildDunePackage, + timedesc, }: buildDunePackage { @@ -11,4 +12,3 @@ buildDunePackage { description = "Virtual library for Timedesc time zone database backends"; }; } - diff --git a/pkgs/development/ocaml-modules/timedesc/tzlocal.nix b/pkgs/development/ocaml-modules/timedesc/tzlocal.nix index 780ba7f8bda2d..5d4cabd3b4936 100644 --- a/pkgs/development/ocaml-modules/timedesc/tzlocal.nix +++ b/pkgs/development/ocaml-modules/timedesc/tzlocal.nix @@ -1,5 +1,6 @@ -{ buildDunePackage -, timedesc +{ + buildDunePackage, + timedesc, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/tiny_httpd/default.nix b/pkgs/development/ocaml-modules/tiny_httpd/default.nix index 2e8e537cba806..4ea3551aae83a 100644 --- a/pkgs/development/ocaml-modules/tiny_httpd/default.nix +++ b/pkgs/development/ocaml-modules/tiny_httpd/default.nix @@ -1,6 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub -, result -, seq +{ + lib, + buildDunePackage, + fetchFromGitHub, + result, + seq, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tls/async.nix b/pkgs/development/ocaml-modules/tls/async.nix index ef4f72ec15a9b..906ec0b83b142 100644 --- a/pkgs/development/ocaml-modules/tls/async.nix +++ b/pkgs/development/ocaml-modules/tls/async.nix @@ -1,4 +1,11 @@ -{ buildDunePackage, tls, async, cstruct-async, core, mirage-crypto-rng-async }: +{ + buildDunePackage, + tls, + async, + cstruct-async, + core, + mirage-crypto-rng-async, +}: buildDunePackage rec { pname = "tls-async"; diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix index d4668411989d9..a576d1327925c 100644 --- a/pkgs/development/ocaml-modules/tls/default.nix +++ b/pkgs/development/ocaml-modules/tls/default.nix @@ -1,7 +1,19 @@ -{ lib, fetchurl, buildDunePackage -, domain-name, fmt, logs, kdf, mirage-crypto, mirage-crypto-ec, mirage-crypto-pk, mirage-crypto-rng, x509 -, ipaddr -, alcotest, ounit2 +{ + lib, + fetchurl, + buildDunePackage, + domain-name, + fmt, + logs, + kdf, + mirage-crypto, + mirage-crypto-ec, + mirage-crypto-pk, + mirage-crypto-rng, + x509, + ipaddr, + alcotest, + ounit2, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tls/lwt.nix b/pkgs/development/ocaml-modules/tls/lwt.nix index 113a705381caa..bc201900742d0 100644 --- a/pkgs/development/ocaml-modules/tls/lwt.nix +++ b/pkgs/development/ocaml-modules/tls/lwt.nix @@ -1,4 +1,9 @@ -{ buildDunePackage, tls, lwt, mirage-crypto-rng-lwt }: +{ + buildDunePackage, + tls, + lwt, + mirage-crypto-rng-lwt, +}: buildDunePackage rec { pname = "tls-lwt"; diff --git a/pkgs/development/ocaml-modules/tls/mirage.nix b/pkgs/development/ocaml-modules/tls/mirage.nix index b302a90aecfd3..d15ef5ef84f68 100644 --- a/pkgs/development/ocaml-modules/tls/mirage.nix +++ b/pkgs/development/ocaml-modules/tls/mirage.nix @@ -1,5 +1,14 @@ -{ buildDunePackage, tls -, fmt, lwt, mirage-clock, mirage-crypto, mirage-crypto-pk, mirage-flow, mirage-kv, ptime +{ + buildDunePackage, + tls, + fmt, + lwt, + mirage-clock, + mirage-crypto, + mirage-crypto-pk, + mirage-flow, + mirage-kv, + ptime, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/toml/default.nix b/pkgs/development/ocaml-modules/toml/default.nix index baab042b1bf41..2f7f9b547e062 100644 --- a/pkgs/development/ocaml-modules/toml/default.nix +++ b/pkgs/development/ocaml-modules/toml/default.nix @@ -1,5 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage -, iso8601, menhir +{ + lib, + fetchFromGitHub, + buildDunePackage, + iso8601, + menhir, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix index e0dbc77eafd99..63ef3447cfe89 100644 --- a/pkgs/development/ocaml-modules/topkg/default.nix +++ b/pkgs/development/ocaml-modules/topkg/default.nix @@ -1,31 +1,47 @@ -/* Topkg is a packager for distributing OCaml software. This derivation -provides facilities to describe derivations for OCaml libraries -using topkg. -The `buildPhase` and `installPhase` attributes can be reused directly -in many cases. When more fine-grained control on how to run the “topkg” -build system is required, the attribute `run` can be used. +/* + Topkg is a packager for distributing OCaml software. This derivation + provides facilities to describe derivations for OCaml libraries + using topkg. + The `buildPhase` and `installPhase` attributes can be reused directly + in many cases. When more fine-grained control on how to run the “topkg” + build system is required, the attribute `run` can be used. */ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, result, opaline }: +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + result, + opaline, +}: let param = - if lib.versionAtLeast ocaml.version "4.05" then { - version = "1.0.7"; - sha256 = "sha256-X8Iq0/OtbRJ8sSRdGFgIgUeNotbeULIxXm3UWGxSvhk="; - } else if lib.versionAtLeast ocaml.version "4.03" then { - version = "1.0.3"; - sha256 = "0b77gsz9bqby8v77kfi4lans47x9p2lmzanzwins5r29maphb8y6"; - } else { - version = "1.0.0"; - sha256 = "1df61vw6v5bg2mys045682ggv058yqkqb67w7r2gz85crs04d5fw"; - propagatedBuildInputs = [ result ]; - }; + if lib.versionAtLeast ocaml.version "4.05" then + { + version = "1.0.7"; + sha256 = "sha256-X8Iq0/OtbRJ8sSRdGFgIgUeNotbeULIxXm3UWGxSvhk="; + } + else if lib.versionAtLeast ocaml.version "4.03" then + { + version = "1.0.3"; + sha256 = "0b77gsz9bqby8v77kfi4lans47x9p2lmzanzwins5r29maphb8y6"; + } + else + { + version = "1.0.0"; + sha256 = "1df61vw6v5bg2mys045682ggv058yqkqb67w7r2gz85crs04d5fw"; + propagatedBuildInputs = [ result ]; + }; -/* This command allows to run the “topkg” build system. - * It is usually called with `build` or `test` as argument. - * Packages that use `topkg` may call this command as part of - * their `buildPhase` or `checkPhase`. -*/ + /* + This command allows to run the “topkg” build system. + It is usually called with `build` or `test` as argument. + Packages that use `topkg` may call this command as part of + their `buildPhase` or `checkPhase`. + */ run = "ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml"; in @@ -38,8 +54,12 @@ stdenv.mkDerivation rec { inherit (param) sha256; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - propagatedBuildInputs = param.propagatedBuildInputs or []; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + propagatedBuildInputs = param.propagatedBuildInputs or [ ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/torch/default.nix b/pkgs/development/ocaml-modules/torch/default.nix index 83446cdf0e173..6ac2867ac1a79 100644 --- a/pkgs/development/ocaml-modules/torch/default.nix +++ b/pkgs/development/ocaml-modules/torch/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, buildDunePackage -, fetchFromGitHub -, fetchpatch -, cmdliner -, ctypes -, ctypes-foreign -, dune-configurator -, npy -, ocaml-compiler-libs -, ppx_custom_printf -, ppx_expect -, ppx_sexp_conv -, sexplib -, stdio -, torch +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + fetchpatch, + cmdliner, + ctypes, + ctypes-foreign, + dune-configurator, + npy, + ocaml-compiler-libs, + ppx_custom_printf, + ppx_expect, + ppx_sexp_conv, + sexplib, + stdio, + torch, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/trace/default.nix b/pkgs/development/ocaml-modules/trace/default.nix index 2c7356669860c..dbc492efee403 100644 --- a/pkgs/development/ocaml-modules/trace/default.nix +++ b/pkgs/development/ocaml-modules/trace/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "trace"; diff --git a/pkgs/development/ocaml-modules/trace/tef.nix b/pkgs/development/ocaml-modules/trace/tef.nix index 618009d11fa77..05a8280c2ac12 100644 --- a/pkgs/development/ocaml-modules/trace/tef.nix +++ b/pkgs/development/ocaml-modules/trace/tef.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, trace, mtime }: +{ + buildDunePackage, + trace, + mtime, +}: buildDunePackage { pname = "trace-tef"; @@ -13,7 +17,10 @@ buildDunePackage { minimalOCamlVersion = "4.12"; - propagatedBuildInputs = [ mtime trace ]; + propagatedBuildInputs = [ + mtime + trace + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/trie/default.nix b/pkgs/development/ocaml-modules/trie/default.nix index 935f71a5e2245..f0101bb731397 100644 --- a/pkgs/development/ocaml-modules/trie/default.nix +++ b/pkgs/development/ocaml-modules/trie/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ + lib, + buildDunePackage, + fetchFromGitHub, +}: buildDunePackage rec { pname = "trie"; diff --git a/pkgs/development/ocaml-modules/tsdl-image/default.nix b/pkgs/development/ocaml-modules/tsdl-image/default.nix index cc9404ed193e2..8ee97c9aa4ddd 100644 --- a/pkgs/development/ocaml-modules/tsdl-image/default.nix +++ b/pkgs/development/ocaml-modules/tsdl-image/default.nix @@ -1,10 +1,11 @@ -{ buildDunePackage -, dune-configurator -, fetchFromGitHub -, lib -, SDL2 -, SDL2_image -, tsdl +{ + buildDunePackage, + dune-configurator, + fetchFromGitHub, + lib, + SDL2, + SDL2_image, + tsdl, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tsdl-mixer/default.nix b/pkgs/development/ocaml-modules/tsdl-mixer/default.nix index 4e5aa3650b161..fbe0f16ff0c93 100644 --- a/pkgs/development/ocaml-modules/tsdl-mixer/default.nix +++ b/pkgs/development/ocaml-modules/tsdl-mixer/default.nix @@ -1,10 +1,11 @@ -{ buildDunePackage -, dune-configurator -, fetchFromGitHub -, lib -, SDL2 -, SDL2_mixer -, tsdl +{ + buildDunePackage, + dune-configurator, + fetchFromGitHub, + lib, + SDL2, + SDL2_mixer, + tsdl, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tsdl-ttf/default.nix b/pkgs/development/ocaml-modules/tsdl-ttf/default.nix index 33f5f834e01aa..17b5e2006b0c6 100644 --- a/pkgs/development/ocaml-modules/tsdl-ttf/default.nix +++ b/pkgs/development/ocaml-modules/tsdl-ttf/default.nix @@ -1,10 +1,11 @@ -{ buildDunePackage -, dune-configurator -, fetchFromGitHub -, lib -, SDL2 -, SDL2_ttf -, tsdl +{ + buildDunePackage, + dune-configurator, + fetchFromGitHub, + lib, + SDL2, + SDL2_ttf, + tsdl, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix index 0e4b1cf83e2c2..e57ebcb844793 100644 --- a/pkgs/development/ocaml-modules/tsdl/default.nix +++ b/pkgs/development/ocaml-modules/tsdl/default.nix @@ -1,47 +1,81 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ctypes, ctypes-foreign, result, SDL2, pkg-config -, AudioToolbox, Cocoa, CoreAudio, CoreVideo, ForceFeedback }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + ctypes, + ctypes-foreign, + result, + SDL2, + pkg-config, + AudioToolbox, + Cocoa, + CoreAudio, + CoreVideo, + ForceFeedback, +}: -if lib.versionOlder ocaml.version "4.03" -then throw "tsdl is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.03" then + throw "tsdl is not available for OCaml ${ocaml.version}" else -let - pname = "tsdl"; - version = "1.1.0"; - webpage = "https://erratique.ch/software/${pname}"; -in - -stdenv.mkDerivation { - pname = "ocaml${ocaml.version}-${pname}"; - inherit version; - - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - hash = "sha256-ZN4+trqesU1IREKcwm1Ro37jszKG8XcVigoE4BdGhzs="; - }; - - strictDeps = true; - - nativeBuildInputs = [ pkg-config ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; - propagatedBuildInputs = [ SDL2 ctypes ctypes-foreign ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioToolbox Cocoa CoreAudio CoreVideo ForceFeedback ]; - - preConfigure = '' - # The following is done to avoid an additional dependency (ncurses) - # due to linking in the custom bytecode runtime. Instead, just - # compile directly into a native binary, even if it's just a - # temporary build product. - substituteInPlace myocamlbuild.ml \ - --replace ".byte" ".native" - ''; - - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - homepage = webpage; - description = "Thin bindings to the cross-platform SDL library"; - license = licenses.isc; - inherit (ocaml.meta) platforms; - }; -} + let + pname = "tsdl"; + version = "1.1.0"; + webpage = "https://erratique.ch/software/${pname}"; + in + + stdenv.mkDerivation { + pname = "ocaml${ocaml.version}-${pname}"; + inherit version; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + hash = "sha256-ZN4+trqesU1IREKcwm1Ro37jszKG8XcVigoE4BdGhzs="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + pkg-config + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; + propagatedBuildInputs = + [ + SDL2 + ctypes + ctypes-foreign + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + Cocoa + CoreAudio + CoreVideo + ForceFeedback + ]; + + preConfigure = '' + # The following is done to avoid an additional dependency (ncurses) + # due to linking in the custom bytecode runtime. Instead, just + # compile directly into a native binary, even if it's just a + # temporary build product. + substituteInPlace myocamlbuild.ml \ + --replace ".byte" ".native" + ''; + + inherit (topkg) buildPhase installPhase; + + meta = with lib; { + homepage = webpage; + description = "Thin bindings to the cross-platform SDL library"; + license = licenses.isc; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/tsort/default.nix b/pkgs/development/ocaml-modules/tsort/default.nix index 1e40488080a83..e026ecb27ffc8 100644 --- a/pkgs/development/ocaml-modules/tsort/default.nix +++ b/pkgs/development/ocaml-modules/tsort/default.nix @@ -1,4 +1,9 @@ -{ lib, buildDunePackage, fetchFromGitHub, containers }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + containers, +}: buildDunePackage rec { pname = "tsort"; diff --git a/pkgs/development/ocaml-modules/tty/default.nix b/pkgs/development/ocaml-modules/tty/default.nix index 649973df578be..be90526c91908 100644 --- a/pkgs/development/ocaml-modules/tty/default.nix +++ b/pkgs/development/ocaml-modules/tty/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, uutf +{ + lib, + buildDunePackage, + fetchurl, + uutf, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/tuntap/default.nix b/pkgs/development/ocaml-modules/tuntap/default.nix index e5db86d7fee4f..d1d2579e39df4 100644 --- a/pkgs/development/ocaml-modules/tuntap/default.nix +++ b/pkgs/development/ocaml-modules/tuntap/default.nix @@ -1,5 +1,10 @@ -{ lib, buildDunePackage, fetchurl -, ipaddr, macaddr, cmdliner +{ + lib, + buildDunePackage, + fetchurl, + ipaddr, + macaddr, + cmdliner, }: buildDunePackage rec { @@ -15,7 +20,11 @@ buildDunePackage rec { sha256 = "12wmls28h3jzikwyfw08d5f7ycsc9njwzbhd3qk2l8jnf5rakfsa"; }; - propagatedBuildInputs = [ ipaddr macaddr cmdliner ]; + propagatedBuildInputs = [ + ipaddr + macaddr + cmdliner + ]; # tests manipulate network devices and use network # also depend on LWT 5 diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix index 069cacb34079a..ef5fae48b37c7 100644 --- a/pkgs/development/ocaml-modules/twt/default.nix +++ b/pkgs/development/ocaml-modules/twt/default.nix @@ -1,40 +1,50 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, +}: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "twt is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-twt"; - version = "0.94.0"; - - src = fetchFromGitHub { - owner = "mlin"; - repo = "twt"; - rev = "v${version}"; - sha256 = "sha256-xbjLPd7P1KyuC3i6WHLBcdLwd14atcBsd5ER+l97KAk="; - }; - - nativeBuildInputs = [ ocaml findlib ]; - - strictDeps = true; - - preInstall = '' - mkdir -p $out/bin - mkdir -p $OCAMLFIND_DESTDIR - ''; - - dontBuild = true; - - installFlags = [ "PREFIX=$(out)" ]; - - dontStrip = true; - - meta = with lib; { - description = "“The Whitespace Thing” for OCaml"; - homepage = "http://people.csail.mit.edu/mikelin/ocaml+twt/"; - license = licenses.mit; - maintainers = [ maintainers.vbgl ]; - mainProgram = "ocaml+twt"; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-twt"; + version = "0.94.0"; + + src = fetchFromGitHub { + owner = "mlin"; + repo = "twt"; + rev = "v${version}"; + sha256 = "sha256-xbjLPd7P1KyuC3i6WHLBcdLwd14atcBsd5ER+l97KAk="; + }; + + nativeBuildInputs = [ + ocaml + findlib + ]; + + strictDeps = true; + + preInstall = '' + mkdir -p $out/bin + mkdir -p $OCAMLFIND_DESTDIR + ''; + + dontBuild = true; + + installFlags = [ "PREFIX=$(out)" ]; + + dontStrip = true; + + meta = with lib; { + description = "“The Whitespace Thing” for OCaml"; + homepage = "http://people.csail.mit.edu/mikelin/ocaml+twt/"; + license = licenses.mit; + maintainers = [ maintainers.vbgl ]; + mainProgram = "ocaml+twt"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/type_eq/default.nix b/pkgs/development/ocaml-modules/type_eq/default.nix index a1426789e3db5..bdec535d07945 100644 --- a/pkgs/development/ocaml-modules/type_eq/default.nix +++ b/pkgs/development/ocaml-modules/type_eq/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDunePackage -, fetchurl -, alcotest +{ + lib, + buildDunePackage, + fetchurl, + alcotest, }: buildDunePackage rec { @@ -29,4 +30,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ sixstring982 ]; }; } - diff --git a/pkgs/development/ocaml-modules/type_id/default.nix b/pkgs/development/ocaml-modules/type_id/default.nix index 6ecca71927aa7..baca40db32b03 100644 --- a/pkgs/development/ocaml-modules/type_id/default.nix +++ b/pkgs/development/ocaml-modules/type_id/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildDunePackage -, fetchurl -, alcotest -, type_eq +{ + lib, + buildDunePackage, + fetchurl, + alcotest, + type_eq, }: buildDunePackage rec { @@ -20,7 +21,6 @@ buildDunePackage rec { type_eq ]; - checkInputs = [ alcotest ]; @@ -35,4 +35,3 @@ buildDunePackage rec { maintainers = with lib.maintainers; [ sixstring982 ]; }; } - diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix index d58cee2cad3c0..5d1b6423e7cfe 100644 --- a/pkgs/development/ocaml-modules/tyxml/default.nix +++ b/pkgs/development/ocaml-modules/tyxml/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchurl, re, uutf }: +{ + lib, + buildDunePackage, + fetchurl, + re, + uutf, +}: buildDunePackage rec { pname = "tyxml"; @@ -9,14 +15,18 @@ buildDunePackage rec { hash = "sha256-v+tnPGtOEgpOykxIRIrdR9w/jQLCtA9j/9zMTpHJAt0="; }; - propagatedBuildInputs = [ uutf re ]; + propagatedBuildInputs = [ + uutf + re + ]; meta = with lib; { homepage = "http://ocsigen.org/tyxml/"; description = "Library that makes it almost impossible for your OCaml programs to generate wrong XML output, using static typing"; license = licenses.lgpl21; maintainers = with maintainers; [ - gal_bolle vbgl + gal_bolle + vbgl ]; }; diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix index 09004e8a94388..20162813c3cc2 100644 --- a/pkgs/development/ocaml-modules/uchar/default.nix +++ b/pkgs/development/ocaml-modules/uchar/default.nix @@ -1,4 +1,13 @@ -{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline, withShared ? true, lib }: +{ + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + opaline, + withShared ? true, + lib, +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-uchar"; @@ -9,7 +18,11 @@ stdenv.mkDerivation rec { sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7"; }; - nativeBuildInputs = [ ocaml ocamlbuild findlib ]; + nativeBuildInputs = [ + ocaml + ocamlbuild + findlib + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/uecc/default.nix b/pkgs/development/ocaml-modules/uecc/default.nix index 1185977132dd5..e9bdc340647ae 100644 --- a/pkgs/development/ocaml-modules/uecc/default.nix +++ b/pkgs/development/ocaml-modules/uecc/default.nix @@ -1,4 +1,13 @@ -{ lib, fetchFromGitLab, buildDunePackage, ocaml, bigstring, alcotest, cstruct, hex }: +{ + lib, + fetchFromGitLab, + buildDunePackage, + ocaml, + bigstring, + alcotest, + cstruct, + hex, +}: buildDunePackage rec { pname = "uecc"; diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix index 910d75dcdc2bb..bbc26d8650f8f 100644 --- a/pkgs/development/ocaml-modules/ulex/default.nix +++ b/pkgs/development/ocaml-modules/ulex/default.nix @@ -1,15 +1,26 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, camlp4 }: +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, + camlp4, +}: let pname = "ulex"; param = - if lib.versionAtLeast ocaml.version "4.02" then { - version = "1.2"; - sha256 = "08yf2x9a52l2y4savjqfjd2xy4pjd1rpla2ylrr9qrz1drpfw4ic"; - } else { - version = "1.1"; - sha256 = "0cmscxcmcxhlshh4jd0lzw5ffzns12x3bj7h27smbc8waxkwffhl"; - }; + if lib.versionAtLeast ocaml.version "4.02" then + { + version = "1.2"; + sha256 = "08yf2x9a52l2y4savjqfjd2xy4pjd1rpla2ylrr9qrz1drpfw4ic"; + } + else + { + version = "1.1"; + sha256 = "0cmscxcmcxhlshh4jd0lzw5ffzns12x3bj7h27smbc8waxkwffhl"; + }; in stdenv.mkDerivation rec { @@ -25,12 +36,20 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; - nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + camlp4 + ]; propagatedBuildInputs = [ camlp4 ]; strictDeps = true; - buildFlags = [ "all" "all.opt" ]; + buildFlags = [ + "all" + "all.opt" + ]; meta = { inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/unionFind/default.nix b/pkgs/development/ocaml-modules/unionFind/default.nix index aa1d5e82362bc..3e374acfe6c22 100644 --- a/pkgs/development/ocaml-modules/unionFind/default.nix +++ b/pkgs/development/ocaml-modules/unionFind/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitLab, buildDunePackage }: +{ + lib, + fetchFromGitLab, + buildDunePackage, +}: buildDunePackage rec { pname = "unionFind"; diff --git a/pkgs/development/ocaml-modules/unisim_archisec/default.nix b/pkgs/development/ocaml-modules/unisim_archisec/default.nix index f29ea64f4f101..1c587c7f4f2f4 100644 --- a/pkgs/development/ocaml-modules/unisim_archisec/default.nix +++ b/pkgs/development/ocaml-modules/unisim_archisec/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "unisim_archisec"; diff --git a/pkgs/development/ocaml-modules/unix-errno/default.nix b/pkgs/development/ocaml-modules/unix-errno/default.nix index d869748ecb500..5a6ce57cc62a8 100644 --- a/pkgs/development/ocaml-modules/unix-errno/default.nix +++ b/pkgs/development/ocaml-modules/unix-errno/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchurl, ctypes, integers, result }: +{ + lib, + buildDunePackage, + fetchurl, + ctypes, + integers, + result, +}: buildDunePackage rec { pname = "unix-errno"; @@ -11,12 +18,19 @@ buildDunePackage rec { sha256 = "sha256-LWqbyGcxs6f/FcOPo3JYR3U+AL0JHeWCiGjuYhxxrWU="; }; - propagatedBuildInputs = [ ctypes integers result ]; + propagatedBuildInputs = [ + ctypes + integers + result + ]; meta = with lib; { homepage = "https://github.com/xapi-project/ocaml-unix-errno"; # This is the repo used in the opam package description = "Unix errno types, maps, and support for OCaml"; - license = with licenses; [ isc lgpl21Only ]; # All the files indicate ISC, but there's an LGPL LICENSE file + license = with licenses; [ + isc + lgpl21Only + ]; # All the files indicate ISC, but there's an LGPL LICENSE file maintainers = with maintainers; [ dandellion ]; }; } diff --git a/pkgs/development/ocaml-modules/unstrctrd/default.nix b/pkgs/development/ocaml-modules/unstrctrd/default.nix index e5959f803c8f9..1426a68f14d35 100644 --- a/pkgs/development/ocaml-modules/unstrctrd/default.nix +++ b/pkgs/development/ocaml-modules/unstrctrd/default.nix @@ -1,15 +1,16 @@ -{ alcotest -, angstrom -, bigstringaf -, buildDunePackage -, crowbar -, fetchzip -, fmt -, hxd -, ke -, lib -, rresult -, uutf +{ + alcotest, + angstrom, + bigstringaf, + buildDunePackage, + crowbar, + fetchzip, + fmt, + hxd, + ke, + lib, + rresult, + uutf, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix index f8e8efdaae678..86185efcab6aa 100644 --- a/pkgs/development/ocaml-modules/uri/default.nix +++ b/pkgs/development/ocaml-modules/uri/default.nix @@ -1,5 +1,10 @@ -{ lib, fetchurl, buildDunePackage, ounit -, angstrom, stringext +{ + lib, + fetchurl, + buildDunePackage, + ounit, + angstrom, + stringext, }: buildDunePackage rec { @@ -15,7 +20,10 @@ buildDunePackage rec { }; checkInputs = [ ounit ]; - propagatedBuildInputs = [ angstrom stringext ]; + propagatedBuildInputs = [ + angstrom + stringext + ]; doCheck = true; meta = { diff --git a/pkgs/development/ocaml-modules/uri/sexp.nix b/pkgs/development/ocaml-modules/uri/sexp.nix index 61aa01fad8ba5..df54c7636c739 100644 --- a/pkgs/development/ocaml-modules/uri/sexp.nix +++ b/pkgs/development/ocaml-modules/uri/sexp.nix @@ -1,16 +1,28 @@ -{ lib, ocaml, buildDunePackage, uri, ounit, ppx_sexp_conv, sexplib0 }: +{ + lib, + ocaml, + buildDunePackage, + uri, + ounit, + ppx_sexp_conv, + sexplib0, +}: -if lib.versionOlder ocaml.version "4.04" -then throw "uri-sexp is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.04" then + throw "uri-sexp is not available for OCaml ${ocaml.version}" else -buildDunePackage { - pname = "uri-sexp"; - inherit (uri) version src meta; + buildDunePackage { + pname = "uri-sexp"; + inherit (uri) version src meta; - duneVersion = "3"; + duneVersion = "3"; - checkInputs = [ ounit ]; - propagatedBuildInputs = [ ppx_sexp_conv sexplib0 uri ]; - doCheck = lib.versionAtLeast ocaml.version "4.08"; -} + checkInputs = [ ounit ]; + propagatedBuildInputs = [ + ppx_sexp_conv + sexplib0 + uri + ]; + doCheck = lib.versionAtLeast ocaml.version "4.08"; + } diff --git a/pkgs/development/ocaml-modules/uring/default.nix b/pkgs/development/ocaml-modules/uring/default.nix index 46867bf954d9f..7ab261c06e129 100644 --- a/pkgs/development/ocaml-modules/uring/default.nix +++ b/pkgs/development/ocaml-modules/uring/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildDunePackage -, cstruct -, dune-configurator -, fetchurl -, fmt -, optint -, mdx +{ + lib, + buildDunePackage, + cstruct, + dune-configurator, + fetchurl, + fmt, + optint, + mdx, }: buildDunePackage rec { @@ -47,7 +48,10 @@ buildDunePackage rec { homepage = "https://github.com/ocaml-multicore/ocaml-${pname}"; changelog = "https://github.com/ocaml-multicore/ocaml-${pname}/raw/v${version}/CHANGES.md"; description = "Bindings to io_uring for OCaml"; - license = with lib.licenses; [ isc mit ]; + license = with lib.licenses; [ + isc + mit + ]; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ toastal ]; }; diff --git a/pkgs/development/ocaml-modules/uucd/default.nix b/pkgs/development/ocaml-modules/uucd/default.nix index d350071304c0d..405afe47c6cdf 100644 --- a/pkgs/development/ocaml-modules/uucd/default.nix +++ b/pkgs/development/ocaml-modules/uucd/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, xmlm, topkg }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + xmlm, + topkg, +}: let pname = "uucd"; @@ -13,7 +22,12 @@ stdenv.mkDerivation rec { hash = "sha256-VVGPG6ZjchUqo8xMCJRahqCCF5WheDBpK1stuts+orM="; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix index 10b4cc4ff4e6d..c1aeeeff5262b 100644 --- a/pkgs/development/ocaml-modules/uucp/default.nix +++ b/pkgs/development/ocaml-modules/uucp/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf, uucd }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + uchar, + uutf, + uunf, + uucd, +}: let pname = "uucp"; @@ -8,47 +20,57 @@ let doCheck = true; in -if lib.versionOlder ocaml.version minimalOCamlVersion -then builtins.throw "${pname} needs at least OCaml ${minimalOCamlVersion}" +if lib.versionOlder ocaml.version minimalOCamlVersion then + builtins.throw "${pname} needs at least OCaml ${minimalOCamlVersion}" else -stdenv.mkDerivation { + stdenv.mkDerivation { - name = "ocaml${ocaml.version}-${pname}-${version}"; + name = "ocaml${ocaml.version}-${pname}-${version}"; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - hash = "sha256-5//UGI4u3OROYdxtwz9K2vCTzYiN16mOyEFhUQWtgEQ="; - }; + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + hash = "sha256-5//UGI4u3OROYdxtwz9K2vCTzYiN16mOyEFhUQWtgEQ="; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg uutf uunf uucd ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + uutf + uunf + uucd + ]; - propagatedBuildInputs = [ uchar ]; + propagatedBuildInputs = [ uchar ]; - strictDeps = true; + strictDeps = true; - buildPhase = '' - runHook preBuild - ${topkg.buildPhase} --with-cmdliner false --tests ${lib.boolToString doCheck} - runHook postBuild - ''; + buildPhase = '' + runHook preBuild + ${topkg.buildPhase} --with-cmdliner false --tests ${lib.boolToString doCheck} + runHook postBuild + ''; - inherit (topkg) installPhase; + inherit (topkg) installPhase; - inherit doCheck; - checkPhase = '' - runHook preCheck - ${topkg.run} test - runHook postCheck - ''; - checkInputs = [ uucd ]; + inherit doCheck; + checkPhase = '' + runHook preCheck + ${topkg.run} test + runHook postCheck + ''; + checkInputs = [ uucd ]; - meta = with lib; { - description = "OCaml library providing efficient access to a selection of character properties of the Unicode character database"; - homepage = webpage; - inherit (ocaml.meta) platforms; - license = licenses.bsd3; - maintainers = [ maintainers.vbgl ]; - }; -} + meta = with lib; { + description = "OCaml library providing efficient access to a selection of character properties of the Unicode character database"; + homepage = webpage; + inherit (ocaml.meta) platforms; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix index cf354c5e898d4..7c389f87f651e 100644 --- a/pkgs/development/ocaml-modules/uuidm/default.nix +++ b/pkgs/development/ocaml-modules/uuidm/default.nix @@ -1,35 +1,54 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner -, version ? if lib.versionAtLeast ocaml.version "4.14" then "0.9.9" else "0.9.8" +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + cmdliner, + version ? if lib.versionAtLeast ocaml.version "4.14" then "0.9.9" else "0.9.8", }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "uuidm is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation { - inherit version; - pname = "uuidm"; - src = fetchurl { - url = "https://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz"; - hash = { - "0.9.9" = "sha256-jOgNF05dpoU/XQEefSZhn3zSlQ1BA1b/U4Ib9j2mvFo="; - "0.9.8" = "sha256-/GZbkJVDQu1UY8SliK282kUWAVMfOnpQadUlRT/tJrM="; - }."${version}"; - }; + stdenv.mkDerivation + { + inherit version; + pname = "uuidm"; + src = fetchurl { + url = "https://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz"; + hash = + { + "0.9.9" = "sha256-jOgNF05dpoU/XQEefSZhn3zSlQ1BA1b/U4Ib9j2mvFo="; + "0.9.8" = "sha256-/GZbkJVDQu1UY8SliK282kUWAVMfOnpQadUlRT/tJrM="; + } + ."${version}"; + }; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - configurePlatforms = []; - buildInputs = [ topkg cmdliner ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + configurePlatforms = [ ]; + buildInputs = [ + topkg + cmdliner + ]; - inherit (topkg) buildPhase installPhase; + inherit (topkg) buildPhase installPhase; - meta = with lib; { - description = "OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122"; - homepage = "https://erratique.ch/software/uuidm"; - license = licenses.bsd3; - maintainers = [ maintainers.maurer ]; - mainProgram = "uuidtrip"; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + description = "OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122"; + homepage = "https://erratique.ch/software/uuidm"; + license = licenses.bsd3; + maintainers = [ maintainers.maurer ]; + mainProgram = "uuidtrip"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix index ae2d8d6c2987e..f51dc88eeb7b8 100644 --- a/pkgs/development/ocaml-modules/uunf/default.nix +++ b/pkgs/development/ocaml-modules/uunf/default.nix @@ -1,54 +1,72 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf, cmdliner -, cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1" -, version ? if lib.versionAtLeast ocaml.version "4.14" then "16.0.0" else "15.0.0" +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + uutf, + cmdliner, + cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1", + version ? if lib.versionAtLeast ocaml.version "4.14" then "16.0.0" else "15.0.0", }: let pname = "uunf"; webpage = "https://erratique.ch/software/${pname}"; - hash = { - "15.0.0" = "sha256-B/prPAwfqS8ZPS3fyDDIzXWRbKofwOCyCfwvh9veuug="; - "16.0.0" = "sha256-iQNkT1av6ONJXn3yWbNbEVV8lKGYOKh/nPU0tkUdX64="; - }."${version}"; + hash = + { + "15.0.0" = "sha256-B/prPAwfqS8ZPS3fyDDIzXWRbKofwOCyCfwvh9veuug="; + "16.0.0" = "sha256-iQNkT1av6ONJXn3yWbNbEVV8lKGYOKh/nPU0tkUdX64="; + } + ."${version}"; in -if lib.versionOlder ocaml.version "4.03" -then throw "${pname} is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.03" then + throw "${pname} is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation { - name = "ocaml${ocaml.version}-${pname}-${version}"; - inherit version; - - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - inherit hash; - }; - - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg uutf ] - ++ lib.optional cmdlinerSupport cmdliner; - - strictDeps = true; - - prePatch = lib.optionalString stdenv.hostPlatform.isAarch64 "ulimit -s 16384"; - - buildPhase = '' - runHook preBuild - ${topkg.run} build \ - --with-uutf true \ - --with-cmdliner ${lib.boolToString cmdlinerSupport} - runHook postBuild - ''; - - inherit (topkg) installPhase; - - meta = with lib; { - description = "OCaml module for normalizing Unicode text"; - homepage = webpage; - license = licenses.bsd3; - maintainers = [ maintainers.vbgl ]; - mainProgram = "unftrip"; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation { + name = "ocaml${ocaml.version}-${pname}-${version}"; + inherit version; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + inherit hash; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + uutf + ] ++ lib.optional cmdlinerSupport cmdliner; + + strictDeps = true; + + prePatch = lib.optionalString stdenv.hostPlatform.isAarch64 "ulimit -s 16384"; + + buildPhase = '' + runHook preBuild + ${topkg.run} build \ + --with-uutf true \ + --with-cmdliner ${lib.boolToString cmdlinerSupport} + runHook postBuild + ''; + + inherit (topkg) installPhase; + + meta = with lib; { + description = "OCaml module for normalizing Unicode text"; + homepage = webpage; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + mainProgram = "unftrip"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/uuseg/default.nix b/pkgs/development/ocaml-modules/uuseg/default.nix index 44a58ab49a59c..85442fc47eac8 100644 --- a/pkgs/development/ocaml-modules/uuseg/default.nix +++ b/pkgs/development/ocaml-modules/uuseg/default.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uucp, uutf, cmdliner -, version ? if lib.versionAtLeast ocaml.version "4.14" then "16.0.0" else "15.0.0" -, cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1" +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + uucp, + uutf, + cmdliner, + version ? if lib.versionAtLeast ocaml.version "4.14" then "16.0.0" else "15.0.0", + cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1", }: let @@ -15,15 +25,24 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${webpage}/releases/${pname}-${version}.tbz"; - hash = { - "16.0.0" = "sha256-WAP9uyofhtw6ag6/U4GQAanIFoKWvyA4NgeVweTs/iQ="; - "15.0.0" = "sha256-q8x3bia1QaKpzrWFxUmLWIraKqby7TuPNGvbSjkY4eM="; - }."${version}"; + hash = + { + "16.0.0" = "sha256-WAP9uyofhtw6ag6/U4GQAanIFoKWvyA4NgeVweTs/iQ="; + "15.0.0" = "sha256-q8x3bia1QaKpzrWFxUmLWIraKqby7TuPNGvbSjkY4eM="; + } + ."${version}"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg uutf ] - ++ lib.optional cmdlinerSupport cmdliner; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + uutf + ] ++ lib.optional cmdlinerSupport cmdliner; propagatedBuildInputs = [ uucp ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix index 62ac1fc7c1c00..0908650560b8f 100644 --- a/pkgs/development/ocaml-modules/uutf/default.nix +++ b/pkgs/development/ocaml-modules/uutf/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, cmdliner , topkg, uchar }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + cmdliner, + topkg, + uchar, +}: let pname = "uutf"; in @@ -6,29 +16,38 @@ in lib.throwIfNot (lib.versionAtLeast ocaml.version "4.03") "${pname} is not available with OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - name = "ocaml${ocaml.version}-${pname}-${version}"; - version = "1.0.3"; + stdenv.mkDerivation + rec { + name = "ocaml${ocaml.version}-${pname}-${version}"; + version = "1.0.3"; - src = fetchurl { - url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; - sha256 = "sha256-h3KlYT0ecCmM4U3zMkGjaF8h5O9r20zwP+mF+x7KBWg="; - }; + src = fetchurl { + url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; + sha256 = "sha256-h3KlYT0ecCmM4U3zMkGjaF8h5O9r20zwP+mF+x7KBWg="; + }; - nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ]; - buildInputs = [ topkg cmdliner ]; - propagatedBuildInputs = [ uchar ]; + nativeBuildInputs = [ + ocaml + ocamlbuild + findlib + topkg + ]; + buildInputs = [ + topkg + cmdliner + ]; + propagatedBuildInputs = [ uchar ]; - strictDeps = true; + strictDeps = true; - inherit (topkg) buildPhase installPhase; + inherit (topkg) buildPhase installPhase; - meta = with lib; { - description = "Non-blocking streaming Unicode codec for OCaml"; - homepage = "https://erratique.ch/software/uutf"; - license = licenses.bsd3; - maintainers = [ maintainers.vbgl ]; - mainProgram = "utftrip"; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + description = "Non-blocking streaming Unicode codec for OCaml"; + homepage = "https://erratique.ch/software/uutf"; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + mainProgram = "utftrip"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/uuuu/default.nix b/pkgs/development/ocaml-modules/uuuu/default.nix index 6f0312cfb61a6..8965114543e7b 100644 --- a/pkgs/development/ocaml-modules/uuuu/default.nix +++ b/pkgs/development/ocaml-modules/uuuu/default.nix @@ -1,10 +1,11 @@ -{ angstrom -, buildDunePackage -, fetchurl -, findlib -, lib -, ocaml -, re +{ + angstrom, + buildDunePackage, + fetchurl, + findlib, + lib, + ocaml, + re, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/vchan/default.nix b/pkgs/development/ocaml-modules/vchan/default.nix index 51aae9b59b345..fa47958ab4d22 100644 --- a/pkgs/development/ocaml-modules/vchan/default.nix +++ b/pkgs/development/ocaml-modules/vchan/default.nix @@ -1,6 +1,14 @@ -{ lib, buildDunePackage, fetchurl -, ounit2 -, lwt, cstruct, io-page, mirage-flow, xenstore, xenstore_transport +{ + lib, + buildDunePackage, + fetchurl, + ounit2, + lwt, + cstruct, + io-page, + mirage-flow, + xenstore, + xenstore_transport, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/vector/default.nix b/pkgs/development/ocaml-modules/vector/default.nix index c5f4336bb833a..e2c3240697bf2 100644 --- a/pkgs/development/ocaml-modules/vector/default.nix +++ b/pkgs/development/ocaml-modules/vector/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, fetchurl }: +{ + lib, + buildDunePackage, + fetchurl, +}: buildDunePackage rec { pname = "vector"; diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix index 410e356be797d..2fb3c2857816b 100644 --- a/pkgs/development/ocaml-modules/vg/default.nix +++ b/pkgs/development/ocaml-modules/vg/default.nix @@ -1,8 +1,20 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg -, uchar, result, gg, uutf, otfm -, js_of_ocaml, js_of_ocaml-ppx, +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + uchar, + result, + gg, + uutf, + otfm, + js_of_ocaml, + js_of_ocaml-ppx, pdfBackend ? true, # depends on uutf and otfm - htmlcBackend ? true # depends on js_of_ocaml + htmlcBackend ? true, # depends on js_of_ocaml }: let @@ -13,51 +25,67 @@ let webpage = "https://erratique.ch/software/${pname}"; in -if versionOlder ocaml.version "4.03" -then throw "vg is not available for OCaml ${ocaml.version}" +if versionOlder ocaml.version "4.03" then + throw "vg is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation { - - name = "ocaml${ocaml.version}-${pname}-${version}"; - - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - sha256 = "181sz6l5xrj5jvwg4m2yqsjzwp2s5h8v0mwhjcwbam90kdfx2nak"; - }; - - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ topkg ]; - - propagatedBuildInputs = [ uchar result gg ] - ++ optionals pdfBackend [ uutf otfm ] - ++ optionals htmlcBackend [ js_of_ocaml js_of_ocaml-ppx ]; - - strictDeps = true; - - buildPhase = topkg.buildPhase - + " --with-uutf ${lib.boolToString pdfBackend}" - + " --with-otfm ${lib.boolToString pdfBackend}" - + " --with-js_of_ocaml ${lib.boolToString htmlcBackend}" - + " --with-cairo2 false"; - - inherit (topkg) installPhase; - - meta = with lib; { - description = "Declarative 2D vector graphics for OCaml"; - longDescription = '' - Vg is an OCaml module for declarative 2D vector graphics. In Vg, images - are values that denote functions mapping points of the cartesian plane - to colors. The module provides combinators to define and compose these - values. - - Renderers for PDF, SVG and the HTML canvas are distributed with the - module. An API allows to implement new renderers. - ''; - homepage = webpage; - license = licenses.isc; - maintainers = [ maintainers.jirkamarsik ]; - mainProgram = "vecho"; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation { + + name = "ocaml${ocaml.version}-${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "181sz6l5xrj5jvwg4m2yqsjzwp2s5h8v0mwhjcwbam90kdfx2nak"; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + buildInputs = [ topkg ]; + + propagatedBuildInputs = + [ + uchar + result + gg + ] + ++ optionals pdfBackend [ + uutf + otfm + ] + ++ optionals htmlcBackend [ + js_of_ocaml + js_of_ocaml-ppx + ]; + + strictDeps = true; + + buildPhase = + topkg.buildPhase + + " --with-uutf ${lib.boolToString pdfBackend}" + + " --with-otfm ${lib.boolToString pdfBackend}" + + " --with-js_of_ocaml ${lib.boolToString htmlcBackend}" + + " --with-cairo2 false"; + + inherit (topkg) installPhase; + + meta = with lib; { + description = "Declarative 2D vector graphics for OCaml"; + longDescription = '' + Vg is an OCaml module for declarative 2D vector graphics. In Vg, images + are values that denote functions mapping points of the cartesian plane + to colors. The module provides combinators to define and compose these + values. + + Renderers for PDF, SVG and the HTML canvas are distributed with the + module. An API allows to implement new renderers. + ''; + homepage = webpage; + license = licenses.isc; + maintainers = [ maintainers.jirkamarsik ]; + mainProgram = "vecho"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/visitors/default.nix b/pkgs/development/ocaml-modules/visitors/default.nix index 22762db02aa3f..f2115d16ee4b9 100644 --- a/pkgs/development/ocaml-modules/visitors/default.nix +++ b/pkgs/development/ocaml-modules/visitors/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitLab, ppxlib, ppx_deriving, result }: +{ + lib, + buildDunePackage, + fetchFromGitLab, + ppxlib, + ppx_deriving, + result, +}: buildDunePackage rec { pname = "visitors"; @@ -16,7 +23,11 @@ buildDunePackage rec { sha256 = "1p75x5yqwbwv8yb2gz15rfl3znipy59r45d1f4vcjdghhjws6q2a"; }; - propagatedBuildInputs = [ ppxlib ppx_deriving result ]; + propagatedBuildInputs = [ + ppxlib + ppx_deriving + result + ]; meta = with lib; { homepage = "https://gitlab.inria.fr/fpottier/visitors"; diff --git a/pkgs/development/ocaml-modules/vlq/default.nix b/pkgs/development/ocaml-modules/vlq/default.nix index a6ba09ebc6799..e23bf4cb7513c 100644 --- a/pkgs/development/ocaml-modules/vlq/default.nix +++ b/pkgs/development/ocaml-modules/vlq/default.nix @@ -1,26 +1,31 @@ -{ lib, buildDunePackage, fetchurl, ocaml -, dune-configurator +{ + lib, + buildDunePackage, + fetchurl, + ocaml, + dune-configurator, }: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "vlq is not available for OCaml ${ocaml.version}" -buildDunePackage rec { - pname = "vlq"; - version = "0.2.1"; + buildDunePackage + rec { + pname = "vlq"; + version = "0.2.1"; - src = fetchurl { - url = "https://github.com/flowtype/ocaml-vlq/releases/download/v${version}/vlq-v${version}.tbz"; - sha256 = "02wr9ph4q0nxmqgbc67ydf165hmrdv9b655krm2glc3ahb6larxi"; - }; + src = fetchurl { + url = "https://github.com/flowtype/ocaml-vlq/releases/download/v${version}/vlq-v${version}.tbz"; + sha256 = "02wr9ph4q0nxmqgbc67ydf165hmrdv9b655krm2glc3ahb6larxi"; + }; - buildInputs = [ dune-configurator ]; + buildInputs = [ dune-configurator ]; - meta = { - description = "encoding variable-length quantities, in particular base64"; - license = lib.licenses.mit; - homepage = "https://github.com/flowtype/ocaml-vlq"; - maintainers = [ lib.maintainers.nomeata ]; - }; + meta = { + description = "encoding variable-length quantities, in particular base64"; + license = lib.licenses.mit; + homepage = "https://github.com/flowtype/ocaml-vlq"; + maintainers = [ lib.maintainers.nomeata ]; + }; -} + } diff --git a/pkgs/development/ocaml-modules/vorbis/default.nix b/pkgs/development/ocaml-modules/vorbis/default.nix index 5bfb230e6c7c2..968c51f5e3736 100644 --- a/pkgs/development/ocaml-modules/vorbis/default.nix +++ b/pkgs/development/ocaml-modules/vorbis/default.nix @@ -1,4 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, ogg, libvorbis }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + ogg, + libvorbis, +}: buildDunePackage rec { pname = "vorbis"; @@ -14,7 +21,10 @@ buildDunePackage rec { }; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ ogg libvorbis ]; + propagatedBuildInputs = [ + ogg + libvorbis + ]; meta = with lib; { homepage = "https://github.com/savonet/ocaml-vorbis"; diff --git a/pkgs/development/ocaml-modules/vpl-core/default.nix b/pkgs/development/ocaml-modules/vpl-core/default.nix index 08f8eccacc6b0..bdc78d9419254 100644 --- a/pkgs/development/ocaml-modules/vpl-core/default.nix +++ b/pkgs/development/ocaml-modules/vpl-core/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, zarith +{ + lib, + fetchFromGitHub, + buildDunePackage, + zarith, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix index 95ba92c8bca30..1abe1f060bbd7 100644 --- a/pkgs/development/ocaml-modules/wasm/default.nix +++ b/pkgs/development/ocaml-modules/wasm/default.nix @@ -1,41 +1,55 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }: - -if lib.versionOlder ocaml.version "4.08" -then throw "wasm is not available for OCaml ${ocaml.version}" +{ + stdenv, + lib, + fetchFromGitHub, + ocaml, + findlib, + ocamlbuild, +}: + +if lib.versionOlder ocaml.version "4.08" then + throw "wasm is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-wasm"; - version = "2.0.1"; - - src = fetchFromGitHub { - owner = "WebAssembly"; - repo = "spec"; - rev = "opam-${version}"; - hash = "sha256-5eo8MIui2GxRS5X9az0NlLGZfxi5KGsTI/EaP6m/zts="; - }; - - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - strictDeps = true; - - # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together - hardeningDisable = lib.optional stdenv.hostPlatform.isStatic "pie"; - - makeFlags = [ "-C" "interpreter" ]; - - createFindlibDestdir = true; - - postInstall = '' - mkdir $out/bin - cp -L interpreter/wasm $out/bin - ''; - - meta = { - description = "Executable and OCaml library to run, read and write Web Assembly (wasm) files and manipulate their AST"; - mainProgram = "wasm"; - license = lib.licenses.asl20; - maintainers = [ lib.maintainers.vbgl ]; - homepage = "https://github.com/WebAssembly/spec/tree/master/interpreter"; - inherit (ocaml.meta) platforms; - }; -} + stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-wasm"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "WebAssembly"; + repo = "spec"; + rev = "opam-${version}"; + hash = "sha256-5eo8MIui2GxRS5X9az0NlLGZfxi5KGsTI/EaP6m/zts="; + }; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + strictDeps = true; + + # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together + hardeningDisable = lib.optional stdenv.hostPlatform.isStatic "pie"; + + makeFlags = [ + "-C" + "interpreter" + ]; + + createFindlibDestdir = true; + + postInstall = '' + mkdir $out/bin + cp -L interpreter/wasm $out/bin + ''; + + meta = { + description = "Executable and OCaml library to run, read and write Web Assembly (wasm) files and manipulate their AST"; + mainProgram = "wasm"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.vbgl ]; + homepage = "https://github.com/WebAssembly/spec/tree/master/interpreter"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/wayland/default.nix b/pkgs/development/ocaml-modules/wayland/default.nix index c839546a2ba69..062774ad50781 100644 --- a/pkgs/development/ocaml-modules/wayland/default.nix +++ b/pkgs/development/ocaml-modules/wayland/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildDunePackage -, fetchurl -, xmlm -, eio -, logs -, fmt -, cstruct -, cmdliner -, alcotest -, eio_main +{ + lib, + buildDunePackage, + fetchurl, + xmlm, + eio, + logs, + fmt, + cstruct, + cmdliner, + alcotest, + eio_main, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/webbrowser/default.nix b/pkgs/development/ocaml-modules/webbrowser/default.nix index 7ace251e5533e..2c5e51dbd4516 100644 --- a/pkgs/development/ocaml-modules/webbrowser/default.nix +++ b/pkgs/development/ocaml-modules/webbrowser/default.nix @@ -1,5 +1,15 @@ -{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg -, astring, bos, cmdliner, rresult +{ + stdenv, + lib, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + astring, + bos, + cmdliner, + rresult, }: stdenv.mkDerivation rec { @@ -10,9 +20,19 @@ stdenv.mkDerivation rec { sha256 = "137a948bx7b71zfv4za3hhznrn5lzbbrgzjy0das83zms508isx3"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; buildInputs = [ topkg ]; - propagatedBuildInputs = [ astring bos cmdliner rresult ]; + propagatedBuildInputs = [ + astring + bos + cmdliner + rresult + ]; strictDeps = true; diff --git a/pkgs/development/ocaml-modules/webmachine/default.nix b/pkgs/development/ocaml-modules/webmachine/default.nix index 33436cd2c8c23..3cd3fb98e481f 100644 --- a/pkgs/development/ocaml-modules/webmachine/default.nix +++ b/pkgs/development/ocaml-modules/webmachine/default.nix @@ -1,6 +1,11 @@ -{ lib, buildDunePackage, fetchFromGitHub -, cohttp, dispatch, ptime -, ounit +{ + lib, + buildDunePackage, + fetchFromGitHub, + cohttp, + dispatch, + ptime, + ounit, }: buildDunePackage rec { @@ -17,7 +22,11 @@ buildDunePackage rec { sha256 = "03ynb1l2jjqba88m9r8m5hwlm8izpfp617r4vcab5kmdim1l2ffx"; }; - propagatedBuildInputs = [ cohttp dispatch ptime ]; + propagatedBuildInputs = [ + cohttp + dispatch + ptime + ]; checkInputs = [ ounit ]; diff --git a/pkgs/development/ocaml-modules/wtf8/default.nix b/pkgs/development/ocaml-modules/wtf8/default.nix index 456fe129c8b19..faeb7730f6876 100644 --- a/pkgs/development/ocaml-modules/wtf8/default.nix +++ b/pkgs/development/ocaml-modules/wtf8/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, buildDunePackage }: +{ + lib, + fetchurl, + buildDunePackage, +}: buildDunePackage rec { pname = "wtf8"; diff --git a/pkgs/development/ocaml-modules/x509/default.nix b/pkgs/development/ocaml-modules/x509/default.nix index 3d82633cf7bda..d7b3c6e7a1cdb 100644 --- a/pkgs/development/ocaml-modules/x509/default.nix +++ b/pkgs/development/ocaml-modules/x509/default.nix @@ -1,7 +1,20 @@ -{ lib, fetchurl, buildDunePackage -, alcotest -, asn1-combinators, domain-name, fmt, gmap, kdf, mirage-crypto, mirage-crypto-ec, mirage-crypto-pk, ipaddr -, logs, base64, ohex +{ + lib, + fetchurl, + buildDunePackage, + alcotest, + asn1-combinators, + domain-name, + fmt, + gmap, + kdf, + mirage-crypto, + mirage-crypto-ec, + mirage-crypto-pk, + ipaddr, + logs, + base64, + ohex, }: buildDunePackage rec { @@ -16,7 +29,20 @@ buildDunePackage rec { }; checkInputs = [ alcotest ]; - propagatedBuildInputs = [ asn1-combinators domain-name fmt gmap mirage-crypto mirage-crypto-pk mirage-crypto-ec kdf logs base64 ipaddr ohex ]; + propagatedBuildInputs = [ + asn1-combinators + domain-name + fmt + gmap + mirage-crypto + mirage-crypto-pk + mirage-crypto-ec + kdf + logs + base64 + ipaddr + ohex + ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/xdg/default.nix b/pkgs/development/ocaml-modules/xdg/default.nix index b6260451965d7..ca18fb0bd4dac 100644 --- a/pkgs/development/ocaml-modules/xdg/default.nix +++ b/pkgs/development/ocaml-modules/xdg/default.nix @@ -1,4 +1,8 @@ -{ lib, buildDunePackage, dune_3 }: +{ + lib, + buildDunePackage, + dune_3, +}: buildDunePackage rec { pname = "xdg"; diff --git a/pkgs/development/ocaml-modules/xenstore-tool/default.nix b/pkgs/development/ocaml-modules/xenstore-tool/default.nix index e75a2036642fb..df61ab0eb491e 100644 --- a/pkgs/development/ocaml-modules/xenstore-tool/default.nix +++ b/pkgs/development/ocaml-modules/xenstore-tool/default.nix @@ -1,4 +1,10 @@ -{ buildDunePackage, camlp-streams, xenstore_transport, xenstore, lwt }: +{ + buildDunePackage, + camlp-streams, + xenstore_transport, + xenstore, + lwt, +}: buildDunePackage { pname = "xenstore-tool"; @@ -9,7 +15,12 @@ buildDunePackage { substituteInPlace cli/dune --replace 'libraries ' 'libraries camlp-streams ' ''; - buildInputs = [ camlp-streams xenstore_transport xenstore lwt ]; + buildInputs = [ + camlp-streams + xenstore_transport + xenstore + lwt + ]; meta = xenstore_transport.meta // { description = "Command line tool for interfacing with xenstore"; diff --git a/pkgs/development/ocaml-modules/xenstore_transport/default.nix b/pkgs/development/ocaml-modules/xenstore_transport/default.nix index 5ef03349e68a8..735495979cc56 100644 --- a/pkgs/development/ocaml-modules/xenstore_transport/default.nix +++ b/pkgs/development/ocaml-modules/xenstore_transport/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, xenstore, lwt }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + xenstore, + lwt, +}: buildDunePackage rec { pname = "xenstore_transport"; @@ -14,7 +20,10 @@ buildDunePackage rec { sha256 = "1kxxd9i4qiq98r7sgvl59iq2ni7y6drnv48qj580q5cyiyyc85q3"; }; - propagatedBuildInputs = [ xenstore lwt ]; + propagatedBuildInputs = [ + xenstore + lwt + ]; # requires a mounted xenfs and xen server doCheck = false; diff --git a/pkgs/development/ocaml-modules/xml-light/default.nix b/pkgs/development/ocaml-modules/xml-light/default.nix index 5ebaadf214fb6..8d0bf0dd9be21 100644 --- a/pkgs/development/ocaml-modules/xml-light/default.nix +++ b/pkgs/development/ocaml-modules/xml-light/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildDunePackage -, fetchurl +{ + lib, + buildDunePackage, + fetchurl, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix index 35459d14024b0..21d0b28a09b73 100644 --- a/pkgs/development/ocaml-modules/xmlm/default.nix +++ b/pkgs/development/ocaml-modules/xmlm/default.nix @@ -1,35 +1,48 @@ -{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }: +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, +}: let pname = "xmlm"; webpage = "https://erratique.ch/software/${pname}"; in -if lib.versionOlder ocaml.version "4.05" -then throw "xmlm is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.05" then + throw "xmlm is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation rec { - name = "ocaml${ocaml.version}-${pname}-${version}"; - version = "1.4.0"; + stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-${pname}-${version}"; + version = "1.4.0"; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - sha256 = "sha256-CRJSJY490WMgw85N2yG81X79nIwuv7eZ7mpUPtSS2fo="; - }; + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "sha256-CRJSJY490WMgw85N2yG81X79nIwuv7eZ7mpUPtSS2fo="; + }; - nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = [ topkg ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - strictDeps = true; + strictDeps = true; - inherit (topkg) buildPhase installPhase; + inherit (topkg) buildPhase installPhase; - meta = with lib; { - description = "OCaml streaming codec to decode and encode the XML data format"; - homepage = webpage; - license = licenses.isc; - maintainers = [ maintainers.vbgl ]; - mainProgram = "xmltrip"; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + description = "OCaml streaming codec to decode and encode the XML data format"; + homepage = webpage; + license = licenses.isc; + maintainers = [ maintainers.vbgl ]; + mainProgram = "xmltrip"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/xmlplaylist/default.nix b/pkgs/development/ocaml-modules/xmlplaylist/default.nix index a30172573506e..a9294cf162dfa 100644 --- a/pkgs/development/ocaml-modules/xmlplaylist/default.nix +++ b/pkgs/development/ocaml-modules/xmlplaylist/default.nix @@ -1,4 +1,10 @@ -{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, xmlm }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + dune-configurator, + xmlm, +}: buildDunePackage rec { pname = "xmlplaylist"; diff --git a/pkgs/development/ocaml-modules/xtmpl/default.nix b/pkgs/development/ocaml-modules/xtmpl/default.nix index 47e153e53c2d2..7350e31df8c65 100644 --- a/pkgs/development/ocaml-modules/xtmpl/default.nix +++ b/pkgs/development/ocaml-modules/xtmpl/default.nix @@ -1,4 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitLab, iri, re, sedlex, uutf }: +{ + lib, + buildDunePackage, + fetchFromGitLab, + iri, + re, + sedlex, + uutf, +}: buildDunePackage rec { pname = "xtmpl"; @@ -12,7 +20,12 @@ buildDunePackage rec { sha256 = "sha256:0vwj0aayg60wm98d91fg3hmj90730liljy4cn8771dpxvz8m07bw"; }; - propagatedBuildInputs = [ iri re sedlex uutf ]; + propagatedBuildInputs = [ + iri + re + sedlex + uutf + ]; meta = with lib; { description = "XML templating library for OCaml"; diff --git a/pkgs/development/ocaml-modules/xtmpl/ppx.nix b/pkgs/development/ocaml-modules/xtmpl/ppx.nix index 0e23cdc48f707..39200face2cd2 100644 --- a/pkgs/development/ocaml-modules/xtmpl/ppx.nix +++ b/pkgs/development/ocaml-modules/xtmpl/ppx.nix @@ -1,4 +1,8 @@ -{ buildDunePackage, xtmpl, ppxlib }: +{ + buildDunePackage, + xtmpl, + ppxlib, +}: buildDunePackage { pname = "xtmpl_ppx"; @@ -7,7 +11,10 @@ buildDunePackage { inherit (xtmpl) src version; - buildInputs = [ ppxlib xtmpl ]; + buildInputs = [ + ppxlib + xtmpl + ]; meta = xtmpl.meta // { description = "Xml templating library, ppx extension"; diff --git a/pkgs/development/ocaml-modules/xxhash/default.nix b/pkgs/development/ocaml-modules/xxhash/default.nix index d8ef8f3d60eff..0b16c4d8c03ac 100644 --- a/pkgs/development/ocaml-modules/xxhash/default.nix +++ b/pkgs/development/ocaml-modules/xxhash/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, buildDunePackage -, xxHash -, ctypes -, ctypes-foreign -, dune-configurator -, ppx_expect +{ + lib, + fetchFromGitHub, + buildDunePackage, + xxHash, + ctypes, + ctypes-foreign, + dune-configurator, + ppx_expect, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/yaml/default.nix b/pkgs/development/ocaml-modules/yaml/default.nix index 99b6fb245a264..003a0ea1b3748 100644 --- a/pkgs/development/ocaml-modules/yaml/default.nix +++ b/pkgs/development/ocaml-modules/yaml/default.nix @@ -1,7 +1,17 @@ -{ lib, fetchurl, buildDunePackage -, dune-configurator -, bos, ctypes, fmt, logs -, mdx, alcotest, crowbar, junit_alcotest, ezjsonm +{ + lib, + fetchurl, + buildDunePackage, + dune-configurator, + bos, + ctypes, + fmt, + logs, + mdx, + alcotest, + crowbar, + junit_alcotest, + ezjsonm, }: buildDunePackage rec { @@ -16,11 +26,21 @@ buildDunePackage rec { minimalOCamlVersion = "4.13"; buildInputs = [ dune-configurator ]; - propagatedBuildInputs = [ bos ctypes ]; + propagatedBuildInputs = [ + bos + ctypes + ]; doCheck = true; nativeCheckInputs = [ mdx.bin ]; - checkInputs = [ fmt logs alcotest crowbar junit_alcotest ezjsonm ]; + checkInputs = [ + fmt + logs + alcotest + crowbar + junit_alcotest + ezjsonm + ]; meta = { description = "Parse and generate YAML 1.1 files"; diff --git a/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix b/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix index 44e111715db56..ae3d3f3025759 100644 --- a/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix +++ b/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix @@ -1,5 +1,9 @@ -{ buildDunePackage, yaml, ppx_sexp_conv, sexplib -, junit_alcotest +{ + buildDunePackage, + yaml, + ppx_sexp_conv, + sexplib, + junit_alcotest, }: buildDunePackage rec { @@ -7,7 +11,11 @@ buildDunePackage rec { inherit (yaml) version src; - propagatedBuildInputs = [ yaml ppx_sexp_conv sexplib ]; + propagatedBuildInputs = [ + yaml + ppx_sexp_conv + sexplib + ]; doCheck = true; checkInputs = [ junit_alcotest ]; diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix index 6c75916c69f59..3074e9553c46a 100644 --- a/pkgs/development/ocaml-modules/yojson/default.nix +++ b/pkgs/development/ocaml-modules/yojson/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, buildDunePackage, seq }: +{ + lib, + fetchurl, + buildDunePackage, + seq, +}: buildDunePackage rec { pname = "yojson"; diff --git a/pkgs/development/ocaml-modules/yuscii/default.nix b/pkgs/development/ocaml-modules/yuscii/default.nix index a8b8d7640f7bd..9995dbce4aa8c 100644 --- a/pkgs/development/ocaml-modules/yuscii/default.nix +++ b/pkgs/development/ocaml-modules/yuscii/default.nix @@ -1,11 +1,12 @@ -{ alcotest -, buildDunePackage -, ocaml -, fetchzip -, gcc -, fmt -, lib -, uutf +{ + alcotest, + buildDunePackage, + ocaml, + fetchzip, + gcc, + fmt, + lib, + uutf, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/yuujinchou/default.nix b/pkgs/development/ocaml-modules/yuujinchou/default.nix index 7b9b290662a66..3a0f6b08ea46a 100644 --- a/pkgs/development/ocaml-modules/yuujinchou/default.nix +++ b/pkgs/development/ocaml-modules/yuujinchou/default.nix @@ -1,17 +1,30 @@ -{ lib, ocaml, fetchFromGitHub, buildDunePackage -, algaeff, bwd -, qcheck-alcotest +{ + lib, + ocaml, + fetchFromGitHub, + buildDunePackage, + algaeff, + bwd, + qcheck-alcotest, }: -let params = if lib.versionAtLeast ocaml.version "5.0" then { - version = "5.2.0"; - hash = "sha256-DJzXjV5Tjf69FKUiRioeHghks72pOOHYd73vqhmecS8="; - propagatedBuildInputs = [ algaeff bwd ]; - } else { - version = "2.0.0"; - hash = "sha256:1nhz44cyipy922anzml856532m73nn0g7iwkg79yzhq6yb87109w"; - } -; in +let + params = + if lib.versionAtLeast ocaml.version "5.0" then + { + version = "5.2.0"; + hash = "sha256-DJzXjV5Tjf69FKUiRioeHghks72pOOHYd73vqhmecS8="; + propagatedBuildInputs = [ + algaeff + bwd + ]; + } + else + { + version = "2.0.0"; + hash = "sha256:1nhz44cyipy922anzml856532m73nn0g7iwkg79yzhq6yb87109w"; + }; +in buildDunePackage rec { pname = "yuujinchou"; @@ -26,8 +39,7 @@ buildDunePackage rec { inherit (params) hash; }; - propagatedBuildInputs = params.propagatedBuildInputs or []; - + propagatedBuildInputs = params.propagatedBuildInputs or [ ]; doCheck = true; checkInputs = [ qcheck-alcotest ]; @@ -39,4 +51,3 @@ buildDunePackage rec { maintainers = [ lib.maintainers.vbgl ]; }; } - diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix index f2ece5550d785..39f893d418769 100644 --- a/pkgs/development/ocaml-modules/z3/default.nix +++ b/pkgs/development/ocaml-modules/z3/default.nix @@ -1,35 +1,46 @@ -{ stdenv, lib, ocaml, findlib, zarith, z3 }: - -if lib.versionOlder ocaml.version "4.07" -then throw "z3 is not available for OCaml ${ocaml.version}" +{ + stdenv, + lib, + ocaml, + findlib, + zarith, + z3, +}: + +if lib.versionOlder ocaml.version "4.07" then + throw "z3 is not available for OCaml ${ocaml.version}" else -let z3-with-ocaml = (z3.override { - ocamlBindings = true; - inherit ocaml findlib zarith; -}); in + let + z3-with-ocaml = ( + z3.override { + ocamlBindings = true; + inherit ocaml findlib zarith; + } + ); + in -stdenv.mkDerivation { + stdenv.mkDerivation { - pname = "ocaml${ocaml.version}-z3"; - inherit (z3-with-ocaml) version; + pname = "ocaml${ocaml.version}-z3"; + inherit (z3-with-ocaml) version; - dontUnpack = true; + dontUnpack = true; - installPhase = '' - runHook preInstall - mkdir -p $OCAMLFIND_DESTDIR - cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/stublibs $OCAMLFIND_DESTDIR - cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/Z3 $OCAMLFIND_DESTDIR/z3 - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $OCAMLFIND_DESTDIR + cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/stublibs $OCAMLFIND_DESTDIR + cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/Z3 $OCAMLFIND_DESTDIR/z3 + runHook postInstall + ''; - nativeBuildInputs = [ findlib ]; - propagatedBuildInputs = [ zarith ]; + nativeBuildInputs = [ findlib ]; + propagatedBuildInputs = [ zarith ]; - strictDeps = true; + strictDeps = true; - meta = z3.meta // { - description = "Z3 Theorem Prover (OCaml API)"; - }; -} + meta = z3.meta // { + description = "Z3 Theorem Prover (OCaml API)"; + }; + } diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix index c09b5a828f925..09ef6ced26009 100644 --- a/pkgs/development/ocaml-modules/zarith/default.nix +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -1,43 +1,57 @@ -{ lib, stdenv, fetchFromGitHub -, ocaml, findlib, pkg-config -, gmp -, version ? if lib.versionAtLeast ocaml.version "4.08" then "1.14" else "1.13" +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, + pkg-config, + gmp, + version ? if lib.versionAtLeast ocaml.version "4.08" then "1.14" else "1.13", }: -if lib.versionOlder ocaml.version "4.04" -then throw "zarith is not available for OCaml ${ocaml.version}" +if lib.versionOlder ocaml.version "4.04" then + throw "zarith is not available for OCaml ${ocaml.version}" else -stdenv.mkDerivation (finalAttrs: { - pname = "ocaml${ocaml.version}-zarith"; - inherit version; - src = fetchFromGitHub { - owner = "ocaml"; - repo = "Zarith"; - rev = "release-${version}"; - hash = { - "1.13" = "sha256-CNVKoJeO3fsmWaV/dwnUA8lgI4ZlxR/LKCXpCXUrpSg="; - "1.14" = "sha256-xUrBDr+M8uW2KOy7DZieO/vDgsSOnyBnpOzQDlXJ0oE="; - }."${finalAttrs.version}"; - }; + stdenv.mkDerivation (finalAttrs: { + pname = "ocaml${ocaml.version}-zarith"; + inherit version; + src = fetchFromGitHub { + owner = "ocaml"; + repo = "Zarith"; + rev = "release-${version}"; + hash = + { + "1.13" = "sha256-CNVKoJeO3fsmWaV/dwnUA8lgI4ZlxR/LKCXpCXUrpSg="; + "1.14" = "sha256-xUrBDr+M8uW2KOy7DZieO/vDgsSOnyBnpOzQDlXJ0oE="; + } + ."${finalAttrs.version}"; + }; - nativeBuildInputs = [ pkg-config ocaml findlib ]; - propagatedBuildInputs = [ gmp ]; - strictDeps = true; + nativeBuildInputs = [ + pkg-config + ocaml + findlib + ]; + propagatedBuildInputs = [ gmp ]; + strictDeps = true; - dontAddPrefix = true; - dontAddStaticConfigureFlags = true; - configurePlatforms = []; - configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ]; + dontAddPrefix = true; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; + configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ]; - preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs"; + preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs"; - meta = with lib; { - description = "Fast, arbitrary precision OCaml integers"; - homepage = "https://github.com/ocaml/Zarith"; - changelog = "https://github.com/ocaml/Zarith/raw/${finalAttrs.src.rev}/Changes"; - license = licenses.lgpl2; - inherit (ocaml.meta) platforms; - maintainers = with maintainers; [ thoughtpolice vbgl ]; - }; -}) + meta = with lib; { + description = "Fast, arbitrary precision OCaml integers"; + homepage = "https://github.com/ocaml/Zarith"; + changelog = "https://github.com/ocaml/Zarith/raw/${finalAttrs.src.rev}/Changes"; + license = licenses.lgpl2; + inherit (ocaml.meta) platforms; + maintainers = with maintainers; [ + thoughtpolice + vbgl + ]; + }; + }) diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix index 4b05b21c69d10..1e2dea1420b6b 100644 --- a/pkgs/development/ocaml-modules/zed/default.nix +++ b/pkgs/development/ocaml-modules/zed/default.nix @@ -1,10 +1,27 @@ -{ lib, buildDunePackage, fetchFromGitHub, react, result, uchar, uutf, uucp, uuseg }: +{ + lib, + buildDunePackage, + fetchFromGitHub, + react, + result, + uchar, + uutf, + uucp, + uuseg, +}: buildDunePackage rec { pname = "zed"; version = "3.2.3"; - propagatedBuildInputs = [ react result uchar uutf uucp uuseg ]; + propagatedBuildInputs = [ + react + result + uchar + uutf + uucp + uuseg + ]; src = fetchFromGitHub { owner = "ocaml-community"; @@ -16,11 +33,11 @@ buildDunePackage rec { meta = { description = "Abstract engine for text edition in OCaml"; longDescription = '' - Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ... + Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ... - Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes. + Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes. - To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities. + To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities. ''; homepage = "https://github.com/ocaml-community/zed"; changelog = "https://github.com/ocaml-community/zed/blob/${version}/CHANGES.md"; diff --git a/pkgs/development/ocaml-modules/zelus-gtk/default.nix b/pkgs/development/ocaml-modules/zelus-gtk/default.nix index 759a625d26a2a..c5ebeaddc8568 100644 --- a/pkgs/development/ocaml-modules/zelus-gtk/default.nix +++ b/pkgs/development/ocaml-modules/zelus-gtk/default.nix @@ -1,6 +1,7 @@ -{ buildDunePackage -, zelus -, lablgtk +{ + buildDunePackage, + zelus, + lablgtk, }: buildDunePackage { diff --git a/pkgs/development/ocaml-modules/zelus/default.nix b/pkgs/development/ocaml-modules/zelus/default.nix index 4d52640d53bc5..5425038111fbf 100644 --- a/pkgs/development/ocaml-modules/zelus/default.nix +++ b/pkgs/development/ocaml-modules/zelus/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, buildDunePackage -, fetchFromGitHub -, menhir -, menhirLib +{ + lib, + stdenv, + buildDunePackage, + fetchFromGitHub, + menhir, + menhirLib, }: buildDunePackage rec { diff --git a/pkgs/development/ocaml-modules/zipc/default.nix b/pkgs/development/ocaml-modules/zipc/default.nix index a31d2644e668b..74717ec794713 100644 --- a/pkgs/development/ocaml-modules/zipc/default.nix +++ b/pkgs/development/ocaml-modules/zipc/default.nix @@ -1,33 +1,46 @@ -{ lib, stdenv, fetchurl -, ocaml, findlib, ocamlbuild, topkg, cmdliner +{ + lib, + stdenv, + fetchurl, + ocaml, + findlib, + ocamlbuild, + topkg, + cmdliner, }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.14") "zipc is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-zipc"; - version = "0.2.0"; - - src = fetchurl { - url = "https://erratique.ch/software/zipc/releases/zipc-${version}.tbz"; - hash = "sha256-YQqkCURwrJgFH0+zgfket25zJQ4w+Tcc1mTSrDuWRt0="; - }; - - strictDeps = true; - - nativeBuildInputs = [ - ocaml findlib ocamlbuild - ]; - - buildInputs = [ cmdliner topkg ]; - - inherit (topkg) buildPhase installPhase; - - meta = { - description = "ZIP archive and deflate codec for OCaml"; - homepage = "https://erratique.ch/software/zipc"; - license = lib.licenses.isc; - maintainers = [ lib.maintainers.vbgl ]; - }; -} + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-zipc"; + version = "0.2.0"; + + src = fetchurl { + url = "https://erratique.ch/software/zipc/releases/zipc-${version}.tbz"; + hash = "sha256-YQqkCURwrJgFH0+zgfket25zJQ4w+Tcc1mTSrDuWRt0="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + + buildInputs = [ + cmdliner + topkg + ]; + + inherit (topkg) buildPhase installPhase; + + meta = { + description = "ZIP archive and deflate codec for OCaml"; + homepage = "https://erratique.ch/software/zipc"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/zmq/default.nix b/pkgs/development/ocaml-modules/zmq/default.nix index 41d91b8cf5dbe..003181044329c 100644 --- a/pkgs/development/ocaml-modules/zmq/default.nix +++ b/pkgs/development/ocaml-modules/zmq/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, buildDunePackage, dune-configurator, czmq }: +{ + lib, + fetchurl, + buildDunePackage, + dune-configurator, + czmq, +}: buildDunePackage rec { pname = "zmq"; @@ -9,11 +15,14 @@ buildDunePackage rec { hash = "sha256-tetCmVg27/WHZ+HMwKZVHCrHTzWAlKwkAjNDibB1+6g="; }; - buildInputs = [ czmq dune-configurator ]; + buildInputs = [ + czmq + dune-configurator + ]; meta = { description = "ZeroMQ bindings for OCaml"; - license = lib.licenses.mit; + license = lib.licenses.mit; maintainers = with lib.maintainers; [ akavel ]; homepage = "https://engineering.issuu.com/ocaml-zmq/"; }; diff --git a/pkgs/development/ocaml-modules/zmq/lwt.nix b/pkgs/development/ocaml-modules/zmq/lwt.nix index 1bbc1b7ad63ec..17b19fed23d93 100644 --- a/pkgs/development/ocaml-modules/zmq/lwt.nix +++ b/pkgs/development/ocaml-modules/zmq/lwt.nix @@ -1,8 +1,15 @@ -{ buildDunePackage, zmq, lwt }: +{ + buildDunePackage, + zmq, + lwt, +}: buildDunePackage { pname = "zmq-lwt"; inherit (zmq) version src meta; - propagatedBuildInputs = [ zmq lwt ]; + propagatedBuildInputs = [ + zmq + lwt + ]; } diff --git a/pkgs/development/octave-modules/arduino/default.nix b/pkgs/development/octave-modules/arduino/default.nix index 3cd5838590f82..0b758f191084a 100644 --- a/pkgs/development/octave-modules/arduino/default.nix +++ b/pkgs/development/octave-modules/arduino/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, instrument-control -, arduino-core-unwrapped +{ + buildOctavePackage, + lib, + fetchurl, + instrument-control, + arduino-core-unwrapped, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/audio/default.nix b/pkgs/development/octave-modules/audio/default.nix index 6e00dd05fdd44..377cb36597c21 100644 --- a/pkgs/development/octave-modules/audio/default.nix +++ b/pkgs/development/octave-modules/audio/default.nix @@ -1,10 +1,11 @@ -{ buildOctavePackage -, lib -, fetchurl -, jack2 -, alsa-lib -, rtmidi -, pkg-config +{ + buildOctavePackage, + lib, + fetchurl, + jack2, + alsa-lib, + rtmidi, + pkg-config, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/bim/default.nix b/pkgs/development/octave-modules/bim/default.nix index dc018ae6143ea..afffe81ef8e94 100644 --- a/pkgs/development/octave-modules/bim/default.nix +++ b/pkgs/development/octave-modules/bim/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchFromGitHub -, fpl -, msh +{ + buildOctavePackage, + lib, + fetchFromGitHub, + fpl, + msh, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/bsltl/default.nix b/pkgs/development/octave-modules/bsltl/default.nix index aefe543b097d2..dfd225c9b52d0 100644 --- a/pkgs/development/octave-modules/bsltl/default.nix +++ b/pkgs/development/octave-modules/bsltl/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/cgi/default.nix b/pkgs/development/octave-modules/cgi/default.nix index 4686881251afa..d486c4e0fb1d5 100644 --- a/pkgs/development/octave-modules/cgi/default.nix +++ b/pkgs/development/octave-modules/cgi/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/communications/default.nix b/pkgs/development/octave-modules/communications/default.nix index 74acc26bb0325..2cfea0e235923 100644 --- a/pkgs/development/octave-modules/communications/default.nix +++ b/pkgs/development/octave-modules/communications/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, signal -, hdf5 +{ + buildOctavePackage, + lib, + fetchurl, + signal, + hdf5, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/control/default.nix b/pkgs/development/octave-modules/control/default.nix index 8b17493bb36ce..64d8aaca2026e 100644 --- a/pkgs/development/octave-modules/control/default.nix +++ b/pkgs/development/octave-modules/control/default.nix @@ -1,9 +1,11 @@ -{ buildOctavePackage -, lib -, fetchFromGitHub -, gfortran -, lapack, blas -, autoreconfHook +{ + buildOctavePackage, + lib, + fetchFromGitHub, + gfortran, + lapack, + blas, + autoreconfHook, }: buildOctavePackage rec { @@ -35,7 +37,8 @@ buildOctavePackage rec { ]; buildInputs = [ - lapack blas + lapack + blas ]; meta = with lib; { diff --git a/pkgs/development/octave-modules/data-smoothing/default.nix b/pkgs/development/octave-modules/data-smoothing/default.nix index 551582a77703e..4e3924ccabb9f 100644 --- a/pkgs/development/octave-modules/data-smoothing/default.nix +++ b/pkgs/development/octave-modules/data-smoothing/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, optim +{ + buildOctavePackage, + lib, + fetchurl, + optim, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/database/default.nix b/pkgs/development/octave-modules/database/default.nix index 811278af5027e..0449c767e6d41 100644 --- a/pkgs/development/octave-modules/database/default.nix +++ b/pkgs/development/octave-modules/database/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, struct -, postgresql +{ + buildOctavePackage, + lib, + fetchurl, + struct, + postgresql, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/dataframe/default.nix b/pkgs/development/octave-modules/dataframe/default.nix index 8f145f0d510c2..476ae4cabf181 100644 --- a/pkgs/development/octave-modules/dataframe/default.nix +++ b/pkgs/development/octave-modules/dataframe/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/dicom/default.nix b/pkgs/development/octave-modules/dicom/default.nix index 118537215f9fe..2f37f7210e63c 100644 --- a/pkgs/development/octave-modules/dicom/default.nix +++ b/pkgs/development/octave-modules/dicom/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, gdcm -, cmake +{ + buildOctavePackage, + lib, + fetchurl, + gdcm, + cmake, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/divand/default.nix b/pkgs/development/octave-modules/divand/default.nix index ac8de9060680a..541805f7aefd6 100644 --- a/pkgs/development/octave-modules/divand/default.nix +++ b/pkgs/development/octave-modules/divand/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/doctest/default.nix b/pkgs/development/octave-modules/doctest/default.nix index 456b9810df90f..0e8edfc701efd 100644 --- a/pkgs/development/octave-modules/doctest/default.nix +++ b/pkgs/development/octave-modules/doctest/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/econometrics/default.nix b/pkgs/development/octave-modules/econometrics/default.nix index 0aa795959ab6b..92d8b4613837b 100644 --- a/pkgs/development/octave-modules/econometrics/default.nix +++ b/pkgs/development/octave-modules/econometrics/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, optim +{ + buildOctavePackage, + lib, + fetchurl, + optim, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/fem-fenics/default.nix b/pkgs/development/octave-modules/fem-fenics/default.nix index 300dfd758774e..472a3094ec6fd 100644 --- a/pkgs/development/octave-modules/fem-fenics/default.nix +++ b/pkgs/development/octave-modules/fem-fenics/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -, dolfin -, ffc -, pkg-config +{ + buildOctavePackage, + lib, + fetchurl, + dolfin, + ffc, + pkg-config, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/financial/default.nix b/pkgs/development/octave-modules/financial/default.nix index d034718ab5b8d..15b0a2e7f04f9 100644 --- a/pkgs/development/octave-modules/financial/default.nix +++ b/pkgs/development/octave-modules/financial/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/fits/default.nix b/pkgs/development/octave-modules/fits/default.nix index 9d236cb9f1fa5..5c1cc3c69dd69 100644 --- a/pkgs/development/octave-modules/fits/default.nix +++ b/pkgs/development/octave-modules/fits/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -, cfitsio -, hdf5 -, pkg-config +{ + buildOctavePackage, + lib, + fetchurl, + cfitsio, + hdf5, + pkg-config, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/fpl/default.nix b/pkgs/development/octave-modules/fpl/default.nix index e5b276c0c20de..75c7386deaf51 100644 --- a/pkgs/development/octave-modules/fpl/default.nix +++ b/pkgs/development/octave-modules/fpl/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix b/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix index 5d6a188bd77da..11f6551375e90 100644 --- a/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix +++ b/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchFromGitHub +{ + buildOctavePackage, + lib, + fetchFromGitHub, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/ga/default.nix b/pkgs/development/octave-modules/ga/default.nix index 6c7f8e0946020..3f6367d4f667f 100644 --- a/pkgs/development/octave-modules/ga/default.nix +++ b/pkgs/development/octave-modules/ga/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/general/default.nix b/pkgs/development/octave-modules/general/default.nix index 33caeb1ea554c..e424e11c97dd3 100644 --- a/pkgs/development/octave-modules/general/default.nix +++ b/pkgs/development/octave-modules/general/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, pkg-config -, nettle +{ + buildOctavePackage, + lib, + fetchurl, + pkg-config, + nettle, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/generate_html/default.nix b/pkgs/development/octave-modules/generate_html/default.nix index 2082aa7f8207b..405f80fcc0d94 100644 --- a/pkgs/development/octave-modules/generate_html/default.nix +++ b/pkgs/development/octave-modules/generate_html/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/geometry/default.nix b/pkgs/development/octave-modules/geometry/default.nix index 86ef985fd1b0d..27f0c320d4dcb 100644 --- a/pkgs/development/octave-modules/geometry/default.nix +++ b/pkgs/development/octave-modules/geometry/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchhg -, matgeom +{ + buildOctavePackage, + lib, + fetchhg, + matgeom, }: buildOctavePackage rec { @@ -20,7 +21,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/geometry/index.html"; - license = with licenses; [ gpl3Plus boost ]; + license = with licenses; [ + gpl3Plus + boost + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Library for extending MatGeom functionality"; }; diff --git a/pkgs/development/octave-modules/gsl/default.nix b/pkgs/development/octave-modules/gsl/default.nix index 2ce92f43d6181..e7379d22cc7b2 100644 --- a/pkgs/development/octave-modules/gsl/default.nix +++ b/pkgs/development/octave-modules/gsl/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, stdenv -, lib -, fetchurl -, gsl +{ + buildOctavePackage, + stdenv, + lib, + fetchurl, + gsl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/image-acquisition/default.nix b/pkgs/development/octave-modules/image-acquisition/default.nix index 69f7c1a60a546..d04928cbd6033 100644 --- a/pkgs/development/octave-modules/image-acquisition/default.nix +++ b/pkgs/development/octave-modules/image-acquisition/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, libv4l -, fltk +{ + buildOctavePackage, + lib, + fetchurl, + libv4l, + fltk, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/image/default.nix b/pkgs/development/octave-modules/image/default.nix index 78fcedfbd3609..e8748558f9eff 100644 --- a/pkgs/development/octave-modules/image/default.nix +++ b/pkgs/development/octave-modules/image/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { @@ -18,10 +19,10 @@ buildOctavePackage rec { maintainers = with maintainers; [ KarlJoad ]; description = "Functions for processing images"; longDescription = '' - The Octave-forge Image package provides functions for processing - images. The package also provides functions for feature extraction, - image statistics, spatial and geometric transformations, morphological - operations, linear filtering, and much more. + The Octave-forge Image package provides functions for processing + images. The package also provides functions for feature extraction, + image statistics, spatial and geometric transformations, morphological + operations, linear filtering, and much more. ''; }; } diff --git a/pkgs/development/octave-modules/instrument-control/default.nix b/pkgs/development/octave-modules/instrument-control/default.nix index c975d49278ae9..433bfcf24f6ba 100644 --- a/pkgs/development/octave-modules/instrument-control/default.nix +++ b/pkgs/development/octave-modules/instrument-control/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/interval/default.nix b/pkgs/development/octave-modules/interval/default.nix index 8cf9d555678c0..3c46b154bda2f 100644 --- a/pkgs/development/octave-modules/interval/default.nix +++ b/pkgs/development/octave-modules/interval/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, mpfr +{ + buildOctavePackage, + lib, + fetchurl, + mpfr, }: buildOctavePackage rec { @@ -23,17 +24,17 @@ buildOctavePackage rec { maintainers = with maintainers; [ KarlJoad ]; description = "Interval arithmetic to evaluate functions over subsets of their domain"; longDescription = '' - The interval package for real-valued interval arithmetic allows one to - evaluate functions over subsets of their domain. All results are verified, - because interval computations automatically keep track of any errors. + The interval package for real-valued interval arithmetic allows one to + evaluate functions over subsets of their domain. All results are verified, + because interval computations automatically keep track of any errors. - These concepts can be used to handle uncertainties, estimate arithmetic - errors and produce reliable results. Also it can be applied to - computer-assisted proofs, constraint programming, and verified computing. + These concepts can be used to handle uncertainties, estimate arithmetic + errors and produce reliable results. Also it can be applied to + computer-assisted proofs, constraint programming, and verified computing. - The implementation is based on interval boundaries represented by - binary64 numbers and is conforming to IEEE Std 1788-2015, IEEE standard - for interval arithmetic. + The implementation is based on interval boundaries represented by + binary64 numbers and is conforming to IEEE Std 1788-2015, IEEE standard + for interval arithmetic. ''; }; } diff --git a/pkgs/development/octave-modules/io/default.nix b/pkgs/development/octave-modules/io/default.nix index 42effce5a045e..ac825fd4f9194 100644 --- a/pkgs/development/octave-modules/io/default.nix +++ b/pkgs/development/octave-modules/io/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -, enableJava -, jdk -, unzip +{ + buildOctavePackage, + lib, + fetchurl, + enableJava, + jdk, + unzip, }: buildOctavePackage rec { @@ -25,7 +26,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/io/index.html"; - license = with licenses; [ gpl3Plus bsd2 ]; + license = with licenses; [ + gpl3Plus + bsd2 + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Input/Output in external formats"; }; diff --git a/pkgs/development/octave-modules/level-set/default.nix b/pkgs/development/octave-modules/level-set/default.nix index 325ce0390ada5..c7b4729d2be0a 100644 --- a/pkgs/development/octave-modules/level-set/default.nix +++ b/pkgs/development/octave-modules/level-set/default.nix @@ -1,10 +1,11 @@ -{ buildOctavePackage -, lib -, fetchgit -, automake -, autoconf -, autoconf-archive -, parallel +{ + buildOctavePackage, + lib, + fetchgit, + automake, + autoconf, + autoconf-archive, + parallel, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/linear-algebra/default.nix b/pkgs/development/octave-modules/linear-algebra/default.nix index 18818c1db6064..f7205dede500a 100644 --- a/pkgs/development/octave-modules/linear-algebra/default.nix +++ b/pkgs/development/octave-modules/linear-algebra/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { @@ -14,7 +15,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/linear-algebra/index.html"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; # They claim to have a FreeBSD license, but none of their code seems to have it. maintainers = with maintainers; [ KarlJoad ]; description = "Additional linear algebra code, including matrix functions"; diff --git a/pkgs/development/octave-modules/lssa/default.nix b/pkgs/development/octave-modules/lssa/default.nix index f737c104f3021..2635c57e4be26 100644 --- a/pkgs/development/octave-modules/lssa/default.nix +++ b/pkgs/development/octave-modules/lssa/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { @@ -18,10 +19,10 @@ buildOctavePackage rec { maintainers = with maintainers; [ KarlJoad ]; description = "Tools to compute spectral decompositions of irregularly-spaced time series"; longDescription = '' - A package implementing tools to compute spectral decompositions of - irregularly-spaced time series. Currently includes functions based off - the Lomb-Scargle periodogram and Adolf Mathias' implementation for R - and C. + A package implementing tools to compute spectral decompositions of + irregularly-spaced time series. Currently includes functions based off + the Lomb-Scargle periodogram and Adolf Mathias' implementation for R + and C. ''; }; } diff --git a/pkgs/development/octave-modules/ltfat/default.nix b/pkgs/development/octave-modules/ltfat/default.nix index b48472d3c28ac..43fe020b322ad 100644 --- a/pkgs/development/octave-modules/ltfat/default.nix +++ b/pkgs/development/octave-modules/ltfat/default.nix @@ -1,14 +1,15 @@ -{ buildOctavePackage -, lib -, fetchurl -, fftw -, fftwSinglePrec -, fftwFloat -, fftwLongDouble -, lapack -, blas -, portaudio -, jdk +{ + buildOctavePackage, + lib, + fetchurl, + fftw, + fftwSinglePrec, + fftwFloat, + fftwLongDouble, + lapack, + blas, + portaudio, + jdk, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/mapping/default.nix b/pkgs/development/octave-modules/mapping/default.nix index 13d7fd5dd526a..39a3023c52030 100644 --- a/pkgs/development/octave-modules/mapping/default.nix +++ b/pkgs/development/octave-modules/mapping/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -, io # >= 2.2.7 -, geometry # >= 4.0.0 -, gdal +{ + buildOctavePackage, + lib, + fetchurl, + io, # >= 2.2.7 + geometry, # >= 4.0.0 + gdal, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/matgeom/default.nix b/pkgs/development/octave-modules/matgeom/default.nix index c74b8b00cfbef..243c9b67e4ec8 100644 --- a/pkgs/development/octave-modules/matgeom/default.nix +++ b/pkgs/development/octave-modules/matgeom/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { @@ -14,7 +15,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/matgeom/index.html"; - license = with licenses; [ bsd2 gpl3Plus ]; + license = with licenses; [ + bsd2 + gpl3Plus + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Geometry toolbox for 2D/3D geometric computing"; }; diff --git a/pkgs/development/octave-modules/miscellaneous/default.nix b/pkgs/development/octave-modules/miscellaneous/default.nix index 64edb8e9a4188..e39ad4bd29311 100644 --- a/pkgs/development/octave-modules/miscellaneous/default.nix +++ b/pkgs/development/octave-modules/miscellaneous/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -# Build-time dependencies -, ncurses # >= 5 -, units +{ + buildOctavePackage, + lib, + fetchurl, + # Build-time dependencies + ncurses, # >= 5 + units, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/msh/default.nix b/pkgs/development/octave-modules/msh/default.nix index e147b9a9c2a2e..181b0c2ac58fc 100644 --- a/pkgs/development/octave-modules/msh/default.nix +++ b/pkgs/development/octave-modules/msh/default.nix @@ -1,14 +1,16 @@ -{ buildOctavePackage -, lib -, fetchFromGitHub -# Octave Dependencies -, splines -# Other Dependencies -, gmsh -, gawk -, pkg-config -, dolfin -, autoconf, automake +{ + buildOctavePackage, + lib, + fetchFromGitHub, + # Octave Dependencies + splines, + # Other Dependencies + gmsh, + gawk, + pkg-config, + dolfin, + autoconf, + automake, }: buildOctavePackage rec { @@ -24,7 +26,8 @@ buildOctavePackage rec { nativeBuildInputs = [ pkg-config - autoconf automake + autoconf + automake dolfin ]; diff --git a/pkgs/development/octave-modules/mvn/default.nix b/pkgs/development/octave-modules/mvn/default.nix index 06fd1905604dd..65568d305dd3a 100644 --- a/pkgs/development/octave-modules/mvn/default.nix +++ b/pkgs/development/octave-modules/mvn/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/nan/default.nix b/pkgs/development/octave-modules/nan/default.nix index 59d71d8769e0b..5146d4c189836 100644 --- a/pkgs/development/octave-modules/nan/default.nix +++ b/pkgs/development/octave-modules/nan/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, blas +{ + buildOctavePackage, + lib, + fetchurl, + blas, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/ncarray/default.nix b/pkgs/development/octave-modules/ncarray/default.nix index 0c5546ffd121d..57940c3411a3b 100644 --- a/pkgs/development/octave-modules/ncarray/default.nix +++ b/pkgs/development/octave-modules/ncarray/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchurl -, netcdf -, statistics +{ + buildOctavePackage, + lib, + fetchurl, + netcdf, + statistics, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/nurbs/default.nix b/pkgs/development/octave-modules/nurbs/default.nix index fbd67a0a46a94..dfe3105d860b5 100644 --- a/pkgs/development/octave-modules/nurbs/default.nix +++ b/pkgs/development/octave-modules/nurbs/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/ocl/default.nix b/pkgs/development/octave-modules/ocl/default.nix index 72242d165543e..015441db1acc2 100644 --- a/pkgs/development/octave-modules/ocl/default.nix +++ b/pkgs/development/octave-modules/ocl/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, stdenv -, lib -, fetchurl +{ + buildOctavePackage, + stdenv, + lib, + fetchurl, }: buildOctavePackage rec { @@ -19,9 +20,9 @@ buildOctavePackage rec { maintainers = with maintainers; [ KarlJoad ]; description = "Use OpenCL for parallelization"; longDescription = '' - Package using OpenCL for parallelization, mostly suitable to - Single-Instruction-Multiple-Data (SIMD) computations, selectively - using available OpenCL hardware and drivers. + Package using OpenCL for parallelization, mostly suitable to + Single-Instruction-Multiple-Data (SIMD) computations, selectively + using available OpenCL hardware and drivers. ''; # error: structure has no member 'dir' broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/development/octave-modules/octclip/default.nix b/pkgs/development/octave-modules/octclip/default.nix index c70a5ffc137ac..cefd09e7a25b5 100644 --- a/pkgs/development/octave-modules/octclip/default.nix +++ b/pkgs/development/octave-modules/octclip/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchFromBitbucket +{ + buildOctavePackage, + lib, + fetchFromBitbucket, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/octproj/default.nix b/pkgs/development/octave-modules/octproj/default.nix index bc0dd4ea2132e..d8da27eceb835 100644 --- a/pkgs/development/octave-modules/octproj/default.nix +++ b/pkgs/development/octave-modules/octproj/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchFromBitbucket -, proj # >= 6.3.0 +{ + buildOctavePackage, + lib, + fetchFromBitbucket, + proj, # >= 6.3.0 }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/optics/default.nix b/pkgs/development/octave-modules/optics/default.nix index 1324c6cd4ba33..c72df5c360a43 100644 --- a/pkgs/development/octave-modules/optics/default.nix +++ b/pkgs/development/octave-modules/optics/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/optim/default.nix b/pkgs/development/octave-modules/optim/default.nix index 5a99fc3f9a68f..fd6282ccee660 100644 --- a/pkgs/development/octave-modules/optim/default.nix +++ b/pkgs/development/octave-modules/optim/default.nix @@ -1,10 +1,11 @@ -{ buildOctavePackage -, lib -, fetchurl -, struct -, statistics -, lapack -, blas +{ + buildOctavePackage, + lib, + fetchurl, + struct, + statistics, + lapack, + blas, }: buildOctavePackage rec { @@ -28,7 +29,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/optim/index.html"; - license = with licenses; [ gpl3Plus publicDomain ]; + license = with licenses; [ + gpl3Plus + publicDomain + ]; # Modified BSD code seems removed maintainers = with maintainers; [ KarlJoad ]; description = "Non-linear optimization toolkit"; diff --git a/pkgs/development/octave-modules/optiminterp/default.nix b/pkgs/development/octave-modules/optiminterp/default.nix index b1c676b149769..439d8b687dd64 100644 --- a/pkgs/development/octave-modules/optiminterp/default.nix +++ b/pkgs/development/octave-modules/optiminterp/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, gfortran +{ + buildOctavePackage, + lib, + fetchurl, + gfortran, }: buildOctavePackage rec { @@ -23,9 +24,9 @@ buildOctavePackage rec { maintainers = with maintainers; [ KarlJoad ]; description = "Optimal interpolation toolbox for octave"; longDescription = '' - An optimal interpolation toolbox for octave. This package provides - functions to perform a n-dimensional optimal interpolations of - arbitrarily distributed data points. + An optimal interpolation toolbox for octave. This package provides + functions to perform a n-dimensional optimal interpolations of + arbitrarily distributed data points. ''; }; } diff --git a/pkgs/development/octave-modules/parallel/default.nix b/pkgs/development/octave-modules/parallel/default.nix index 45c57d72f20fb..342ac6a53cdbf 100644 --- a/pkgs/development/octave-modules/parallel/default.nix +++ b/pkgs/development/octave-modules/parallel/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -, struct -, gnutls -, pkg-config +{ + buildOctavePackage, + lib, + fetchurl, + struct, + gnutls, + pkg-config, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/quaternion/default.nix b/pkgs/development/octave-modules/quaternion/default.nix index 4681b699684c4..b87771c7d52da 100644 --- a/pkgs/development/octave-modules/quaternion/default.nix +++ b/pkgs/development/octave-modules/quaternion/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/queueing/default.nix b/pkgs/development/octave-modules/queueing/default.nix index 75b3e67e35369..db0a635b9a092 100644 --- a/pkgs/development/octave-modules/queueing/default.nix +++ b/pkgs/development/octave-modules/queueing/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/signal/default.nix b/pkgs/development/octave-modules/signal/default.nix index 1693d8360628d..b19e8d16a0aee 100644 --- a/pkgs/development/octave-modules/signal/default.nix +++ b/pkgs/development/octave-modules/signal/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, control +{ + buildOctavePackage, + lib, + fetchurl, + control, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/sockets/default.nix b/pkgs/development/octave-modules/sockets/default.nix index 80f2f6dc15eb8..3c114f7e05c96 100644 --- a/pkgs/development/octave-modules/sockets/default.nix +++ b/pkgs/development/octave-modules/sockets/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/sparsersb/default.nix b/pkgs/development/octave-modules/sparsersb/default.nix index 41ee75cb1a800..d7c1beea493b9 100644 --- a/pkgs/development/octave-modules/sparsersb/default.nix +++ b/pkgs/development/octave-modules/sparsersb/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, librsb +{ + buildOctavePackage, + lib, + fetchurl, + librsb, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/splines/default.nix b/pkgs/development/octave-modules/splines/default.nix index 1e05ef98c0ce8..90330d2b74417 100644 --- a/pkgs/development/octave-modules/splines/default.nix +++ b/pkgs/development/octave-modules/splines/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { @@ -14,7 +15,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/splines/index.html"; - license = with licenses; [ gpl3Plus publicDomain ]; + license = with licenses; [ + gpl3Plus + publicDomain + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Additional spline functions"; }; diff --git a/pkgs/development/octave-modules/statistics/default.nix b/pkgs/development/octave-modules/statistics/default.nix index 48fbb9a67c322..c914bb75be3b0 100644 --- a/pkgs/development/octave-modules/statistics/default.nix +++ b/pkgs/development/octave-modules/statistics/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchFromGitHub -, io +{ + buildOctavePackage, + lib, + fetchFromGitHub, + io, }: buildOctavePackage rec { @@ -21,7 +22,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://packages.octave.org/statistics"; - license = with licenses; [ gpl3Plus publicDomain ]; + license = with licenses; [ + gpl3Plus + publicDomain + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Statistics package for GNU Octave"; }; diff --git a/pkgs/development/octave-modules/stk/default.nix b/pkgs/development/octave-modules/stk/default.nix index 7afebb9ad942d..13bea3633e2ba 100644 --- a/pkgs/development/octave-modules/stk/default.nix +++ b/pkgs/development/octave-modules/stk/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/strings/default.nix b/pkgs/development/octave-modules/strings/default.nix index fbf7aec786afc..800cc0b0b7ece 100644 --- a/pkgs/development/octave-modules/strings/default.nix +++ b/pkgs/development/octave-modules/strings/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, stdenv -, lib -, fetchurl -, pkg-config -, pcre2 +{ + buildOctavePackage, + stdenv, + lib, + fetchurl, + pkg-config, + pcre2, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/struct/default.nix b/pkgs/development/octave-modules/struct/default.nix index 91597d94f03ee..2a89fa86940b6 100644 --- a/pkgs/development/octave-modules/struct/default.nix +++ b/pkgs/development/octave-modules/struct/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/symbolic/default.nix b/pkgs/development/octave-modules/symbolic/default.nix index 06920cfb6d501..38bd1753ce2c5 100644 --- a/pkgs/development/octave-modules/symbolic/default.nix +++ b/pkgs/development/octave-modules/symbolic/default.nix @@ -1,8 +1,9 @@ -{ buildOctavePackage -, lib -, fetchFromGitHub +{ + buildOctavePackage, + lib, + fetchFromGitHub, # Octave's Python (Python 3) -, python + python, }: let diff --git a/pkgs/development/octave-modules/tisean/default.nix b/pkgs/development/octave-modules/tisean/default.nix index 71d05dc7a1f00..a20810058af12 100644 --- a/pkgs/development/octave-modules/tisean/default.nix +++ b/pkgs/development/octave-modules/tisean/default.nix @@ -1,10 +1,11 @@ -{ buildOctavePackage -, lib -, fetchurl -# Octave dependencies -, signal # >= 1.3.0 -# Build dependencies -, gfortran +{ + buildOctavePackage, + lib, + fetchurl, + # Octave dependencies + signal, # >= 1.3.0 + # Build dependencies + gfortran, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/tsa/default.nix b/pkgs/development/octave-modules/tsa/default.nix index 985612fa8c7af..52d61b070e0a5 100644 --- a/pkgs/development/octave-modules/tsa/default.nix +++ b/pkgs/development/octave-modules/tsa/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, nan # > 3.0.0 +{ + buildOctavePackage, + lib, + fetchurl, + nan, # > 3.0.0 }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/vibes/default.nix b/pkgs/development/octave-modules/vibes/default.nix index 4d05a2c6893f7..53c49f43553fc 100644 --- a/pkgs/development/octave-modules/vibes/default.nix +++ b/pkgs/development/octave-modules/vibes/default.nix @@ -1,7 +1,8 @@ -{ buildOctavePackage -, lib -, fetchurl -, vibes +{ + buildOctavePackage, + lib, + fetchurl, + vibes, }: buildOctavePackage rec { @@ -19,7 +20,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/vibes/index.html"; - license = with licenses; [ gpl3Plus mit ]; + license = with licenses; [ + gpl3Plus + mit + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Easily display results (boxes, pavings) from interval methods"; longDescription = '' diff --git a/pkgs/development/octave-modules/video/default.nix b/pkgs/development/octave-modules/video/default.nix index 798607fb34be9..903d68589d2f8 100644 --- a/pkgs/development/octave-modules/video/default.nix +++ b/pkgs/development/octave-modules/video/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, stdenv -, lib -, fetchFromGitHub -, pkg-config -, ffmpeg +{ + buildOctavePackage, + stdenv, + lib, + fetchFromGitHub, + pkg-config, + ffmpeg, }: buildOctavePackage rec { @@ -27,7 +28,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/video/index.html"; - license = with licenses; [ gpl3Plus bsd3 ]; + license = with licenses; [ + gpl3Plus + bsd3 + ]; maintainers = with maintainers; [ KarlJoad ]; description = "Wrapper for OpenCV's CvCapture_FFMPEG and CvVideoWriter_FFMPEG"; }; diff --git a/pkgs/development/octave-modules/vrml/default.nix b/pkgs/development/octave-modules/vrml/default.nix index e46e621b80d9a..a36326ea989ac 100644 --- a/pkgs/development/octave-modules/vrml/default.nix +++ b/pkgs/development/octave-modules/vrml/default.nix @@ -1,13 +1,14 @@ -{ buildOctavePackage -, lib -, fetchurl -# Octave dependencies -, linear-algebra -, miscellaneous -, struct -, statistics -# Runtime dependencies -, freewrl +{ + buildOctavePackage, + lib, + fetchurl, + # Octave dependencies + linear-algebra, + miscellaneous, + struct, + statistics, + # Runtime dependencies + freewrl, }: buildOctavePackage rec { @@ -32,7 +33,10 @@ buildOctavePackage rec { meta = with lib; { homepage = "https://octave.sourceforge.io/vrml/index.html"; - license = with licenses; [ gpl3Plus fdl12Plus ]; + license = with licenses; [ + gpl3Plus + fdl12Plus + ]; maintainers = with maintainers; [ KarlJoad ]; description = "3D graphics using VRML"; # Marked this way until KarlJoad gets freewrl as a runtime dependency. diff --git a/pkgs/development/octave-modules/windows/default.nix b/pkgs/development/octave-modules/windows/default.nix index 1ecbce2f52962..6ffec8edcb47f 100644 --- a/pkgs/development/octave-modules/windows/default.nix +++ b/pkgs/development/octave-modules/windows/default.nix @@ -1,6 +1,7 @@ -{ buildOctavePackage -, lib -, fetchurl +{ + buildOctavePackage, + lib, + fetchurl, }: buildOctavePackage rec { diff --git a/pkgs/development/octave-modules/zeromq/default.nix b/pkgs/development/octave-modules/zeromq/default.nix index 33c0d70464af5..f5a3114226308 100644 --- a/pkgs/development/octave-modules/zeromq/default.nix +++ b/pkgs/development/octave-modules/zeromq/default.nix @@ -1,9 +1,10 @@ -{ buildOctavePackage -, lib -, fetchurl -, zeromq -, pkg-config -, autoreconfHook +{ + buildOctavePackage, + lib, + fetchurl, + zeromq, + pkg-config, + autoreconfHook, }: buildOctavePackage rec { diff --git a/pkgs/development/perl-modules/Bio-BigFile/default.nix b/pkgs/development/perl-modules/Bio-BigFile/default.nix index 3c360c2396a8d..fe4c85490ba45 100644 --- a/pkgs/development/perl-modules/Bio-BigFile/default.nix +++ b/pkgs/development/perl-modules/Bio-BigFile/default.nix @@ -1,14 +1,14 @@ { - BioPerl, - IOString, - buildPerlModule, - fetchFromGitHub, - fetchurl, - kent, - lib, - libmysqlclient, - libpng, - openssl, + BioPerl, + IOString, + buildPerlModule, + fetchFromGitHub, + fetchurl, + kent, + lib, + libmysqlclient, + libpng, + openssl, }: buildPerlModule rec { @@ -43,7 +43,6 @@ buildPerlModule rec { ]; }); - buildInputs = [ BioPerl IOString diff --git a/pkgs/development/perl-modules/Bio-Ext-Align/default.nix b/pkgs/development/perl-modules/Bio-Ext-Align/default.nix index 237a4be03614f..dde83f2b0f233 100644 --- a/pkgs/development/perl-modules/Bio-Ext-Align/default.nix +++ b/pkgs/development/perl-modules/Bio-Ext-Align/default.nix @@ -1,15 +1,22 @@ -{ lib, buildPerlPackage, fetchFromGitHub }: +{ + lib, + buildPerlPackage, + fetchFromGitHub, +}: buildPerlPackage rec { pname = "BioExtAlign"; version = "1.5.1"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; src = fetchFromGitHub { owner = "bioperl"; repo = "bioperl-ext"; - rev = "bioperl-ext-release-${lib.replaceStrings ["."] ["-"] version}"; + rev = "bioperl-ext-release-${lib.replaceStrings [ "." ] [ "-" ] version}"; sha256 = "sha256-+0tZ6q3PFem8DWa2vq+njOLmjDvMB0JhD0FGk00lVMA="; }; diff --git a/pkgs/development/perl-modules/ImageExifTool/default.nix b/pkgs/development/perl-modules/ImageExifTool/default.nix index 7a282e4acf7e1..23ec418753190 100644 --- a/pkgs/development/perl-modules/ImageExifTool/default.nix +++ b/pkgs/development/perl-modules/ImageExifTool/default.nix @@ -52,8 +52,14 @@ buildPerlPackage rec { ''; homepage = "https://exiftool.org/"; changelog = "https://exiftool.org/history.html"; - license = with lib.licenses; [ gpl1Plus /* or */ artistic2 ]; - maintainers = with lib.maintainers; [ kiloreux anthonyroussel ]; + license = with lib.licenses; [ + gpl1Plus # or + artistic2 + ]; + maintainers = with lib.maintainers; [ + kiloreux + anthonyroussel + ]; mainProgram = "exiftool"; }; } diff --git a/pkgs/development/perl-modules/MNI/default.nix b/pkgs/development/perl-modules/MNI/default.nix index 067a08f5e5a10..b1e66804f8ded 100644 --- a/pkgs/development/perl-modules/MNI/default.nix +++ b/pkgs/development/perl-modules/MNI/default.nix @@ -1,24 +1,31 @@ -{ fetchFromGitHub, buildPerlPackage, lib }: +{ + fetchFromGitHub, + buildPerlPackage, + lib, +}: buildPerlPackage { pname = "MNI-Perllib"; version = "2012-04-13"; src = fetchFromGitHub { - owner = "BIC-MNI"; - repo = "mni-perllib"; - rev = "b908472b4390180ea5d19a121ac5edad6ed88d83"; + owner = "BIC-MNI"; + repo = "mni-perllib"; + rev = "b908472b4390180ea5d19a121ac5edad6ed88d83"; sha256 = "0vk99pwgbard62k63386r7dpnm3h435jdqywr4xqfq7p04dz6kyb"; }; patches = [ ./no-stdin.patch ]; - doCheck = false; # TODO: almost all tests fail ... is this a real problem? + doCheck = false; # TODO: almost all tests fail ... is this a real problem? meta = { description = "MNI MINC perllib (not used much anymore)"; homepage = "https://github.com/BIC-MNI/mni-perllib"; - license = with lib.licenses; [ artistic1 gpl1Plus ]; + license = with lib.licenses; [ + artistic1 + gpl1Plus + ]; maintainers = with lib.maintainers; [ bcdarwin ]; }; } diff --git a/pkgs/development/perl-modules/Mozilla-LDAP/default.nix b/pkgs/development/perl-modules/Mozilla-LDAP/default.nix index 6c3d01a346295..39d7011d4cf57 100644 --- a/pkgs/development/perl-modules/Mozilla-LDAP/default.nix +++ b/pkgs/development/perl-modules/Mozilla-LDAP/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, openldap, buildPerlPackage }: +{ + lib, + fetchurl, + openldap, + buildPerlPackage, +}: buildPerlPackage rec { pname = "Mozilla-Ldap"; @@ -13,6 +18,10 @@ buildPerlPackage rec { meta = { description = "Mozilla's ldap client library"; homepage = "https://metacpan.org/release/perldap"; - license = with lib.licenses; [ mpl20 lgpl21Plus gpl2Plus ]; + license = with lib.licenses; [ + mpl20 + lgpl21Plus + gpl2Plus + ]; }; } diff --git a/pkgs/development/perl-modules/Tirex/default.nix b/pkgs/development/perl-modules/Tirex/default.nix index 48e63bb5932c4..91138974222e3 100644 --- a/pkgs/development/perl-modules/Tirex/default.nix +++ b/pkgs/development/perl-modules/Tirex/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildPerlPackage -, fetchFromGitHub -, fetchpatch -, GD -, IPCShareLite -, JSON -, LWP -, mapnik -, boost -, nix-update-script +{ + lib, + buildPerlPackage, + fetchFromGitHub, + fetchpatch, + GD, + IPCShareLite, + JSON, + LWP, + mapnik, + boost, + nix-update-script, }: buildPerlPackage rec { diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index 73c09f4dbe9f5..583a8c862cebe 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -1,57 +1,81 @@ -{ lib, stdenv, perl, toPerlModule }: - -{ buildInputs ? [] -, nativeBuildInputs ? [] -, outputs ? [ "out" "devdoc" ] -, src ? null - -# enabling or disabling does nothing for perl packages so set it explicitly -# to false to not change hashes when enableParallelBuildingByDefault is enabled -, enableParallelBuilding ? false - -, doCheck ? true -, checkTarget ? "test" - -# Prevent CPAN downloads. -, PERL_AUTOINSTALL ? "--skipdeps" - -# From http://wiki.cpantesters.org/wiki/CPANAuthorNotes: "allows -# authors to skip certain tests (or include certain tests) when -# the results are not being monitored by a human being." -, AUTOMATED_TESTING ? true - -# current directory (".") is removed from @INC in Perl 5.26 but many old libs rely on it -# https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC -, PERL_USE_UNSAFE_INC ? "1" - -, env ? {} - -, ... +{ + lib, + stdenv, + perl, + toPerlModule, +}: + +{ + buildInputs ? [ ], + nativeBuildInputs ? [ ], + outputs ? [ + "out" + "devdoc" + ], + src ? null, + + # enabling or disabling does nothing for perl packages so set it explicitly + # to false to not change hashes when enableParallelBuildingByDefault is enabled + enableParallelBuilding ? false, + + doCheck ? true, + checkTarget ? "test", + + # Prevent CPAN downloads. + PERL_AUTOINSTALL ? "--skipdeps", + + # From http://wiki.cpantesters.org/wiki/CPANAuthorNotes: "allows + # authors to skip certain tests (or include certain tests) when + # the results are not being monitored by a human being." + AUTOMATED_TESTING ? true, + + # current directory (".") is removed from @INC in Perl 5.26 but many old libs rely on it + # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC + PERL_USE_UNSAFE_INC ? "1", + + env ? { }, + + ... }@attrs: -lib.throwIf (attrs ? name) "buildPerlPackage: `name` (\"${attrs.name}\") is deprecated, use `pname` and `version` instead" - -(let - defaultMeta = { - homepage = "https://metacpan.org/dist/${attrs.pname}"; - inherit (perl.meta) platforms; - }; - - package = stdenv.mkDerivation (attrs // { - name = "perl${perl.version}-${attrs.pname}-${attrs.version}"; - - builder = ./builder.sh; - - buildInputs = buildInputs ++ [ perl ]; - nativeBuildInputs = nativeBuildInputs ++ (if !(stdenv.buildPlatform.canExecute stdenv.hostPlatform) then [ perl.mini ] else [ perl ]); - - inherit outputs src doCheck checkTarget enableParallelBuilding; - env = { - inherit PERL_AUTOINSTALL AUTOMATED_TESTING PERL_USE_UNSAFE_INC; - fullperl = perl.__spliced.buildHost or perl; - } // env; - - meta = defaultMeta // (attrs.meta or { }); - }); - -in toPerlModule package) +lib.throwIf (attrs ? name) + "buildPerlPackage: `name` (\"${attrs.name}\") is deprecated, use `pname` and `version` instead" + + ( + let + defaultMeta = { + homepage = "https://metacpan.org/dist/${attrs.pname}"; + inherit (perl.meta) platforms; + }; + + package = stdenv.mkDerivation ( + attrs + // { + name = "perl${perl.version}-${attrs.pname}-${attrs.version}"; + + builder = ./builder.sh; + + buildInputs = buildInputs ++ [ perl ]; + nativeBuildInputs = + nativeBuildInputs + ++ (if !(stdenv.buildPlatform.canExecute stdenv.hostPlatform) then [ perl.mini ] else [ perl ]); + + inherit + outputs + src + doCheck + checkTarget + enableParallelBuilding + ; + env = { + inherit PERL_AUTOINSTALL AUTOMATED_TESTING PERL_USE_UNSAFE_INC; + fullperl = perl.__spliced.buildHost or perl; + } // env; + + meta = defaultMeta // (attrs.meta or { }); + } + ); + + in + toPerlModule package + ) diff --git a/pkgs/development/perl-modules/ham/default.nix b/pkgs/development/perl-modules/ham/default.nix index b25adff4c800d..65d9701d614dd 100644 --- a/pkgs/development/perl-modules/ham/default.nix +++ b/pkgs/development/perl-modules/ham/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPerlPackage -, fetchFromGitHub -, makeWrapper -, openssh -, GitRepository -, URI -, XMLParser +{ + lib, + buildPerlPackage, + fetchFromGitHub, + makeWrapper, + openssh, + GitRepository, + URI, + XMLParser, }: buildPerlPackage { @@ -22,7 +23,12 @@ buildPerlPackage { outputs = [ "out" ]; nativeBuildInputs = [ makeWrapper ]; - propagatedBuildInputs = [ openssh GitRepository URI XMLParser ]; + propagatedBuildInputs = [ + openssh + GitRepository + URI + XMLParser + ]; preConfigure = '' patchShebangs . diff --git a/pkgs/development/perl-modules/maatkit/default.nix b/pkgs/development/perl-modules/maatkit/default.nix index d6945083f6343..7a0ad7bae4b7d 100644 --- a/pkgs/development/perl-modules/maatkit/default.nix +++ b/pkgs/development/perl-modules/maatkit/default.nix @@ -1,4 +1,9 @@ -{buildPerlPackage, lib, fetchurl, DBDmysql}: +{ + buildPerlPackage, + lib, + fetchurl, + DBDmysql, +}: buildPerlPackage { pname = "maatkit"; @@ -11,7 +16,7 @@ buildPerlPackage { outputs = [ "out" ]; - buildInputs = [ DBDmysql ] ; + buildInputs = [ DBDmysql ]; preConfigure = '' find . | while read fn; do @@ -25,7 +30,7 @@ buildPerlPackage { fi fi done - '' ; + ''; meta = with lib; { description = "Database toolkit"; diff --git a/pkgs/development/perl-modules/strip-nondeterminism/default.nix b/pkgs/development/perl-modules/strip-nondeterminism/default.nix index fe6328ea39462..29fa3f1dc900a 100644 --- a/pkgs/development/perl-modules/strip-nondeterminism/default.nix +++ b/pkgs/development/perl-modules/strip-nondeterminism/default.nix @@ -1,19 +1,23 @@ -{ lib -, stdenv -, file -, fetchFromGitLab -, buildPerlPackage -, ArchiveZip -, ArchiveCpio -, SubOverride -, shortenPerlShebang +{ + lib, + stdenv, + file, + fetchFromGitLab, + buildPerlPackage, + ArchiveZip, + ArchiveCpio, + SubOverride, + shortenPerlShebang, }: buildPerlPackage rec { pname = "strip-nondeterminism"; version = "1.13.1"; - outputs = [ "out" "dev" ]; # no "devdoc" + outputs = [ + "out" + "dev" + ]; # no "devdoc" src = fetchFromGitLab { owner = "reproducible-builds"; @@ -36,18 +40,19 @@ buildPerlPackage rec { --replace "exec('file'" "exec('${lib.getExe file}'" ''; - postBuild = '' patchShebangs ./bin ''; - postInstall = '' - # we don’t need the debhelper script - rm $out/bin/dh_strip_nondeterminism - rm $out/share/man/man1/dh_strip_nondeterminism.1 - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang $out/bin/strip-nondeterminism - ''; + postInstall = + '' + # we don’t need the debhelper script + rm $out/bin/dh_strip_nondeterminism + rm $out/share/man/man1/dh_strip_nondeterminism.1 + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang $out/bin/strip-nondeterminism + ''; installCheckPhase = '' runHook preInstallCheck @@ -64,6 +69,9 @@ buildPerlPackage rec { mainProgram = "strip-nondeterminism"; homepage = "https://reproducible-builds.org/"; license = licenses.gpl3Only; - maintainers = with maintainers; [ pSub artturin ]; + maintainers = with maintainers; [ + pSub + artturin + ]; }; } diff --git a/pkgs/development/python-modules/aiobiketrax/default.nix b/pkgs/development/python-modules/aiobiketrax/default.nix index e75f12130994a..6b92ffd909efe 100644 --- a/pkgs/development/python-modules/aiobiketrax/default.nix +++ b/pkgs/development/python-modules/aiobiketrax/default.nix @@ -35,7 +35,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ aiohttp auth0-python diff --git a/pkgs/development/python-modules/aiomisc-pytest/default.nix b/pkgs/development/python-modules/aiomisc-pytest/default.nix index ebbc22e37a22e..0e0add78bf19f 100644 --- a/pkgs/development/python-modules/aiomisc-pytest/default.nix +++ b/pkgs/development/python-modules/aiomisc-pytest/default.nix @@ -23,7 +23,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - pythonRelaxDeps = [ "pytest" ]; buildInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/aioopenexchangerates/default.nix b/pkgs/development/python-modules/aioopenexchangerates/default.nix index 42d9511e216e3..4452d1d75920d 100644 --- a/pkgs/development/python-modules/aioopenexchangerates/default.nix +++ b/pkgs/development/python-modules/aioopenexchangerates/default.nix @@ -30,7 +30,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/aiooss2/default.nix b/pkgs/development/python-modules/aiooss2/default.nix index 7d1e235949e70..6f646429f35a8 100644 --- a/pkgs/development/python-modules/aiooss2/default.nix +++ b/pkgs/development/python-modules/aiooss2/default.nix @@ -37,7 +37,6 @@ buildPythonPackage rec { setuptools-scm ]; - dependencies = [ aiohttp oss2 diff --git a/pkgs/development/python-modules/aioxmpp/default.nix b/pkgs/development/python-modules/aioxmpp/default.nix index e753cb6c63dcf..ce69f3037422f 100644 --- a/pkgs/development/python-modules/aioxmpp/default.nix +++ b/pkgs/development/python-modules/aioxmpp/default.nix @@ -40,7 +40,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ aiosasl aioopenssl @@ -68,21 +67,23 @@ buildPythonPackage rec { disabledTestPaths = [ "benchmarks" ]; - disabledTests = [ - # AttributeError: 'zoneinfo.ZoneInfo' object has no attribute 'normalize' - "test_convert_field_datetime_default_locale" - ] ++ lib.optionals (pythonAtLeast "3.12") [ - # asyncio issues - "test_is_abstract" - "Testbackground" - "TestCapturingXSO" - "Testcheck_x509" - "TestClient" - "TestIntegerType" - "TestStanzaStream" - "TestStanzaToken" - "TestXMLStream" - ]; + disabledTests = + [ + # AttributeError: 'zoneinfo.ZoneInfo' object has no attribute 'normalize' + "test_convert_field_datetime_default_locale" + ] + ++ lib.optionals (pythonAtLeast "3.12") [ + # asyncio issues + "test_is_abstract" + "Testbackground" + "TestCapturingXSO" + "Testcheck_x509" + "TestClient" + "TestIntegerType" + "TestStanzaStream" + "TestStanzaToken" + "TestXMLStream" + ]; meta = { description = "Pure-python XMPP library for asyncio"; diff --git a/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix index 9fdbb0c65f22b..65a5778310f6d 100644 --- a/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix +++ b/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix @@ -24,7 +24,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ cryptography jmespath diff --git a/pkgs/development/python-modules/altgraph/default.nix b/pkgs/development/python-modules/altgraph/default.nix index 932896f1beea1..7c8d02bdf6158 100644 --- a/pkgs/development/python-modules/altgraph/default.nix +++ b/pkgs/development/python-modules/altgraph/default.nix @@ -2,7 +2,7 @@ lib, buildPythonPackage, fetchPypi, - setuptools + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix index d07c2530a4506..f094205e739af 100644 --- a/pkgs/development/python-modules/androidtv/default.nix +++ b/pkgs/development/python-modules/androidtv/default.nix @@ -39,10 +39,13 @@ buildPythonPackage rec { inherit (adb-shell.optional-dependencies) usb; }; - nativeCheckInputs = [ - mock - pytestCheckHook - ] ++ optional-dependencies.async ++ optional-dependencies.usb; + nativeCheckInputs = + [ + mock + pytestCheckHook + ] + ++ optional-dependencies.async + ++ optional-dependencies.usb; disabledTests = [ # Requires git but fails anyway diff --git a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix index acb87d74c2756..3a2916887bafb 100644 --- a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix +++ b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix @@ -40,7 +40,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ appdirs apsw diff --git a/pkgs/development/python-modules/arsenic/default.nix b/pkgs/development/python-modules/arsenic/default.nix index 8d7ab341c9d2b..cd5488578c626 100644 --- a/pkgs/development/python-modules/arsenic/default.nix +++ b/pkgs/development/python-modules/arsenic/default.nix @@ -42,7 +42,6 @@ buildPythonPackage rec { pythonRelaxDeps = [ "structlog" ]; - build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/ase/default.nix b/pkgs/development/python-modules/ase/default.nix index dbdcbce067539..59caf790cad37 100644 --- a/pkgs/development/python-modules/ase/default.nix +++ b/pkgs/development/python-modules/ase/default.nix @@ -32,16 +32,18 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ - numpy - scipy - matplotlib - flask - pillow - psycopg2 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - tkinter - ]; + dependencies = + [ + numpy + scipy + matplotlib + flask + pillow + psycopg2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + tkinter + ]; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/asyncua/default.nix b/pkgs/development/python-modules/asyncua/default.nix index 59c42fd028383..6a9b6d278049f 100644 --- a/pkgs/development/python-modules/asyncua/default.nix +++ b/pkgs/development/python-modules/asyncua/default.nix @@ -61,17 +61,19 @@ buildPythonPackage rec { pythonImportsCheck = [ "asyncua" ]; - disabledTests = [ - # Failed: DID NOT RAISE - "test_publish" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # OSError: [Errno 48] error while attempting to bind on address ('127.0.0.1',... - "test_anonymous_rejection" - "test_certificate_handling_success" - "test_encrypted_private_key_handling_success" - "test_encrypted_private_key_handling_success_with_cert_props" - "test_encrypted_private_key_handling_failure" - ]; + disabledTests = + [ + # Failed: DID NOT RAISE + "test_publish" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # OSError: [Errno 48] error while attempting to bind on address ('127.0.0.1',... + "test_anonymous_rejection" + "test_certificate_handling_success" + "test_encrypted_private_key_handling_success" + "test_encrypted_private_key_handling_success_with_cert_props" + "test_encrypted_private_key_handling_failure" + ]; meta = with lib; { description = "OPC UA / IEC 62541 Client and Server for Python"; diff --git a/pkgs/development/python-modules/audio-metadata/default.nix b/pkgs/development/python-modules/audio-metadata/default.nix index 40b47f61016aa..92f1dc76988c4 100644 --- a/pkgs/development/python-modules/audio-metadata/default.nix +++ b/pkgs/development/python-modules/audio-metadata/default.nix @@ -43,7 +43,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ attrs bidict diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix index fe6ee9f8f9ba2..be2e8f77d8bca 100644 --- a/pkgs/development/python-modules/autobahn/default.nix +++ b/pkgs/development/python-modules/autobahn/default.nix @@ -52,11 +52,14 @@ buildPythonPackage rec { txaio ]; - nativeCheckInputs = [ - mock - pytest-asyncio - pytestCheckHook - ] ++ optional-dependencies.scram ++ optional-dependencies.serialization; + nativeCheckInputs = + [ + mock + pytest-asyncio + pytestCheckHook + ] + ++ optional-dependencies.scram + ++ optional-dependencies.serialization; preCheck = '' # Run asyncio tests (requires twisted) diff --git a/pkgs/development/python-modules/autofaiss/default.nix b/pkgs/development/python-modules/autofaiss/default.nix index 02dd9c071d7f2..4b38bfa7310f0 100644 --- a/pkgs/development/python-modules/autofaiss/default.nix +++ b/pkgs/development/python-modules/autofaiss/default.nix @@ -26,7 +26,6 @@ buildPythonPackage rec { hash = "sha256-pey3wrW7CDLMiPPKnmYrcSJqGuy6ecA2SE9m3Jtt6DU="; }; - pythonRemoveDeps = [ # The `dataclasses` packages is a python2-only backport, unnecessary in # python3. diff --git a/pkgs/development/python-modules/backports-tarfile/default.nix b/pkgs/development/python-modules/backports-tarfile/default.nix index 49c5c7458c884..450db5506756a 100644 --- a/pkgs/development/python-modules/backports-tarfile/default.nix +++ b/pkgs/development/python-modules/backports-tarfile/default.nix @@ -9,57 +9,59 @@ pytestCheckHook, }: -let self = buildPythonPackage rec { - pname = "backports-tarfile"; - version = "1.2.0"; - pyproject = true; +let + self = buildPythonPackage rec { + pname = "backports-tarfile"; + version = "1.2.0"; + pyproject = true; - src = fetchFromGitHub { - owner = "jaraco"; - repo = "backports.tarfile"; - rev = "v${version}"; - hash = "sha256-X3rkL35aDG+DnIOq0fI7CFoWGNtgLkLjtT9y6+23oto="; - }; + src = fetchFromGitHub { + owner = "jaraco"; + repo = "backports.tarfile"; + rev = "v${version}"; + hash = "sha256-X3rkL35aDG+DnIOq0fI7CFoWGNtgLkLjtT9y6+23oto="; + }; - build-system = [ - setuptools - setuptools-scm - wheel - ]; + build-system = [ + setuptools + setuptools-scm + wheel + ]; - doCheck = false; + doCheck = false; - nativeCheckInputs = [ - jaraco-test - pytestCheckHook - ]; + nativeCheckInputs = [ + jaraco-test + pytestCheckHook + ]; - disabledTests = [ - # calls python -m backports.tarfile and doesn't find module documentation - "test_bad_use" - "test_create_command" - "test_create_command_compressed" - "test_create_command_dot_started_filename" - "test_create_command_dotless_filename" - "test_extract_command" - "test_extract_command_different_directory" - "test_extract_command_invalid_file" - "test_list_command_invalid_file" - "test_test_command" - "test_test_command_invalid_file" - # chmod: permission denied - "test_modes" - ]; + disabledTests = [ + # calls python -m backports.tarfile and doesn't find module documentation + "test_bad_use" + "test_create_command" + "test_create_command_compressed" + "test_create_command_dot_started_filename" + "test_create_command_dotless_filename" + "test_extract_command" + "test_extract_command_different_directory" + "test_extract_command_invalid_file" + "test_list_command_invalid_file" + "test_test_command" + "test_test_command_invalid_file" + # chmod: permission denied + "test_modes" + ]; - pythonImportsCheck = [ "backports.tarfile" ]; + pythonImportsCheck = [ "backports.tarfile" ]; - passthru.tests.pytest = self.overridePythonAttrs { doCheck = true; }; + passthru.tests.pytest = self.overridePythonAttrs { doCheck = true; }; - meta = with lib; { - description = "Backport of CPython tarfile module"; - homepage = "https://github.com/jaraco/backports.tarfile"; - license = licenses.mit; - maintainers = [ ]; + meta = with lib; { + description = "Backport of CPython tarfile module"; + homepage = "https://github.com/jaraco/backports.tarfile"; + license = licenses.mit; + maintainers = [ ]; + }; }; -}; -in self +in +self diff --git a/pkgs/development/python-modules/bcg/default.nix b/pkgs/development/python-modules/bcg/default.nix index f0bf00086818d..4065c235861c3 100644 --- a/pkgs/development/python-modules/bcg/default.nix +++ b/pkgs/development/python-modules/bcg/default.nix @@ -26,7 +26,8 @@ buildPythonPackage rec { }; patches = [ - (fetchpatch { # https://github.com/hardwario/bch-gateway/pull/19 + (fetchpatch { + # https://github.com/hardwario/bch-gateway/pull/19 name = "bcg-fix-import-with-Python-3.12.patch"; url = "https://github.com/hardwario/bch-gateway/pull/19/commits/1314c892992d8914802b6c42602c39f6a1418fca.patch"; hash = "sha256-dNiBppXjPSMUe2yiiSc9gGbAc8l4mI41wWq+g7PkD/Y="; diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix index 81cf300fe559f..e530a39933c14 100644 --- a/pkgs/development/python-modules/beancount/default.nix +++ b/pkgs/development/python-modules/beancount/default.nix @@ -58,6 +58,9 @@ buildPythonPackage rec { generate a variety of reports from them, and provides a web interface. ''; license = licenses.gpl2Only; - maintainers = with maintainers; [ sharzy polarmutex ]; + maintainers = with maintainers; [ + sharzy + polarmutex + ]; }; } diff --git a/pkgs/development/python-modules/bork/default.nix b/pkgs/development/python-modules/bork/default.nix index 9da54dc1ec691..77d7b3906ea1a 100644 --- a/pkgs/development/python-modules/bork/default.nix +++ b/pkgs/development/python-modules/bork/default.nix @@ -37,15 +37,16 @@ buildPythonPackage rec { "packaging" ]; - dependencies = [ - build - coloredlogs - packaging - pip - urllib3 - ] ++ lib.optionals (pythonOlder "3.11") [ toml ] - ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ] - ; + dependencies = + [ + build + coloredlogs + packaging + pip + urllib3 + ] + ++ lib.optionals (pythonOlder "3.11") [ toml ] + ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; pythonImportsCheck = [ "bork" diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index 84ad97686b48e..7bb9fbc9a17c0 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -10,7 +10,7 @@ pytestCheckHook, pythonOlder, setuptools, - syrupy + syrupy, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix index f04d2b2a793b0..c639113e48a26 100644 --- a/pkgs/development/python-modules/certbot/default.nix +++ b/pkgs/development/python-modules/certbot/default.nix @@ -43,7 +43,7 @@ buildPythonPackage rec { }) ]; - postPatch = "cd ${pname}"; # using sourceRoot would interfere with patches + postPatch = "cd ${pname}"; # using sourceRoot would interfere with patches build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/changefinder/default.nix b/pkgs/development/python-modules/changefinder/default.nix index 4405fa8a8525b..a02cf6979f8b8 100644 --- a/pkgs/development/python-modules/changefinder/default.nix +++ b/pkgs/development/python-modules/changefinder/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, pytestCheckHook -, numpy -, scipy -, statsmodels +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pytestCheckHook, + numpy, + scipy, + statsmodels, }: buildPythonPackage { diff --git a/pkgs/development/python-modules/cli-ui/default.nix b/pkgs/development/python-modules/cli-ui/default.nix index 3b93c3eb7be8b..81da90802abff 100644 --- a/pkgs/development/python-modules/cli-ui/default.nix +++ b/pkgs/development/python-modules/cli-ui/default.nix @@ -23,7 +23,6 @@ buildPythonPackage rec { pythonRelaxDeps = [ "tabulate" ]; - build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix index f338744bbae9d..9b4b213be8fdd 100644 --- a/pkgs/development/python-modules/clickhouse-connect/default.nix +++ b/pkgs/development/python-modules/clickhouse-connect/default.nix @@ -50,10 +50,13 @@ buildPythonPackage rec { lz4 ]; - nativeCheckInputs = [ - pytestCheckHook - pytest-dotenv - ] ++ optional-dependencies.sqlalchemy ++ optional-dependencies.numpy; + nativeCheckInputs = + [ + pytestCheckHook + pytest-dotenv + ] + ++ optional-dependencies.sqlalchemy + ++ optional-dependencies.numpy; # these tests require a running clickhouse instance disabledTestPaths = [ diff --git a/pkgs/development/python-modules/conda/default.nix b/pkgs/development/python-modules/conda/default.nix index 523110cf03ab8..1339c7fa1a1d6 100644 --- a/pkgs/development/python-modules/conda/default.nix +++ b/pkgs/development/python-modules/conda/default.nix @@ -38,7 +38,6 @@ buildPythonPackage rec { hash = "sha256-e+C+tSUdSGyotuZzkOuV0e0hOj+MZRuq1fHzsu3LERQ="; }; - build-system = [ hatchling hatch-vcs diff --git a/pkgs/development/python-modules/crc32c/default.nix b/pkgs/development/python-modules/crc32c/default.nix index f5f44c351c15f..96b55009bb76e 100644 --- a/pkgs/development/python-modules/crc32c/default.nix +++ b/pkgs/development/python-modules/crc32c/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, pythonOlder, pytestCheckHook, - setuptools + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/crossandra/default.nix b/pkgs/development/python-modules/crossandra/default.nix index c7400b62f53ac..20bcb21ff6b71 100644 --- a/pkgs/development/python-modules/crossandra/default.nix +++ b/pkgs/development/python-modules/crossandra/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, setuptools, result, - mypy + mypy, }: buildPythonPackage rec { @@ -19,7 +19,10 @@ buildPythonPackage rec { hash = "sha256-/JhrjXRH7Rs2bUil9HRneBC9wlVYEyfwivjzb+eyRv8="; }; - build-system = [ setuptools mypy ]; + build-system = [ + setuptools + mypy + ]; dependencies = [ result ]; pythonImportsCheck = [ "crossandra" ]; diff --git a/pkgs/development/python-modules/csv2md/default.nix b/pkgs/development/python-modules/csv2md/default.nix index a8d62dd33fcfa..f3c6faf3f1951 100644 --- a/pkgs/development/python-modules/csv2md/default.nix +++ b/pkgs/development/python-modules/csv2md/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildPythonPackage +{ + lib, + fetchFromGitHub, + buildPythonPackage, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/cython/0.nix b/pkgs/development/python-modules/cython/0.nix index a484892c00400..fa02399bbb6fd 100644 --- a/pkgs/development/python-modules/cython/0.nix +++ b/pkgs/development/python-modules/cython/0.nix @@ -77,11 +77,9 @@ buildPythonPackage rec { export HOME="$NIX_BUILD_TOP" ${python.interpreter} runtests.py -j$NIX_BUILD_CORES \ --no-code-style \ - ${ - lib.optionalString ( - builtins.length excludedTests != 0 - ) ''--exclude="(${builtins.concatStringsSep "|" excludedTests})"'' - } + ${lib.optionalString ( + builtins.length excludedTests != 0 + ) ''--exclude="(${builtins.concatStringsSep "|" excludedTests})"''} ''; # https://github.com/cython/cython/issues/2785 diff --git a/pkgs/development/python-modules/dask-ml/default.nix b/pkgs/development/python-modules/dask-ml/default.nix index 913480c060d37..af0270af385f9 100644 --- a/pkgs/development/python-modules/dask-ml/default.nix +++ b/pkgs/development/python-modules/dask-ml/default.nix @@ -45,18 +45,21 @@ buildPythonPackage rec { setuptools-scm ]; - dependencies = [ - dask-expr - dask-glm - distributed - multipledispatch - numba - numpy - packaging - pandas - scikit-learn - scipy - ] ++ dask.optional-dependencies.array ++ dask.optional-dependencies.dataframe; + dependencies = + [ + dask-expr + dask-glm + distributed + multipledispatch + numba + numpy + packaging + pandas + scikit-learn + scipy + ] + ++ dask.optional-dependencies.array + ++ dask.optional-dependencies.dataframe; pythonImportsCheck = [ "dask_ml" diff --git a/pkgs/development/python-modules/dataclass-wizard/default.nix b/pkgs/development/python-modules/dataclass-wizard/default.nix index 2a063482fe17b..21a5ddcee0fa7 100644 --- a/pkgs/development/python-modules/dataclass-wizard/default.nix +++ b/pkgs/development/python-modules/dataclass-wizard/default.nix @@ -30,10 +30,13 @@ buildPythonPackage rec { yaml = [ pyyaml ]; }; - nativeCheckInputs = [ - pytestCheckHook - pytest-mock - ] ++ optional-dependencies.timedelta ++ optional-dependencies.yaml; + nativeCheckInputs = + [ + pytestCheckHook + pytest-mock + ] + ++ optional-dependencies.timedelta + ++ optional-dependencies.yaml; disabledTests = [ ] diff --git a/pkgs/development/python-modules/dbt-redshift/default.nix b/pkgs/development/python-modules/dbt-redshift/default.nix index deffc3b313d13..6bd42b7fadba7 100644 --- a/pkgs/development/python-modules/dbt-redshift/default.nix +++ b/pkgs/development/python-modules/dbt-redshift/default.nix @@ -31,7 +31,6 @@ buildPythonPackage rec { "redshift-connector" ]; - build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/defcon/default.nix b/pkgs/development/python-modules/defcon/default.nix index 4e2c4d9b75e20..19f4f28463d11 100644 --- a/pkgs/development/python-modules/defcon/default.nix +++ b/pkgs/development/python-modules/defcon/default.nix @@ -24,9 +24,12 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ - fonttools - ] ++ fonttools.optional-dependencies.ufo ++ fonttools.optional-dependencies.unicode; + propagatedBuildInputs = + [ + fonttools + ] + ++ fonttools.optional-dependencies.ufo + ++ fonttools.optional-dependencies.unicode; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/deform/default.nix b/pkgs/development/python-modules/deform/default.nix index 082c0a8ff4475..27dbd22ea7036 100644 --- a/pkgs/development/python-modules/deform/default.nix +++ b/pkgs/development/python-modules/deform/default.nix @@ -49,7 +49,10 @@ buildPythonPackage rec { description = "Form library with advanced features like nested forms"; homepage = "https://docs.pylonsproject.org/projects/deform/en/latest/"; # https://github.com/Pylons/deform/blob/fdc43d59de7d11b0e3ba1b92835b780cfe181719/LICENSE.txt - license = [ lib.licenses.bsd3 lib.licenses.cc-by-30 ]; + license = [ + lib.licenses.bsd3 + lib.licenses.cc-by-30 + ]; maintainers = with lib.maintainers; [ domenkozar ]; }; } diff --git a/pkgs/development/python-modules/defusedxml/default.nix b/pkgs/development/python-modules/defusedxml/default.nix index ce997d1fcb820..95b34a00dbdcc 100644 --- a/pkgs/development/python-modules/defusedxml/default.nix +++ b/pkgs/development/python-modules/defusedxml/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { hash = "sha256-X88A5V9uXP3wJQ+olK6pZJT66LP2uCXLK8goa5bPARA="; }; - build-system = [ setuptools ] ; + build-system = [ setuptools ]; nativeCheckInputs = [ lxml ]; diff --git a/pkgs/development/python-modules/deltachat2/default.nix b/pkgs/development/python-modules/deltachat2/default.nix index cbd9fd791e6fb..8025dc4ac228f 100644 --- a/pkgs/development/python-modules/deltachat2/default.nix +++ b/pkgs/development/python-modules/deltachat2/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, buildPythonPackage -, deltachat-rpc-server -, setuptools-scm -, substituteAll +{ + lib, + fetchFromGitHub, + buildPythonPackage, + deltachat-rpc-server, + setuptools-scm, + substituteAll, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/deltalake/default.nix b/pkgs/development/python-modules/deltalake/default.nix index c61c1cd3b41d9..74622f890144a 100644 --- a/pkgs/development/python-modules/deltalake/default.nix +++ b/pkgs/development/python-modules/deltalake/default.nix @@ -1,20 +1,21 @@ -{ lib -, buildPythonPackage -, fetchPypi -, rustPlatform -, pyarrow -, pyarrow-hotfix -, openssl -, stdenv -, darwin -, libiconv -, pkg-config -, pytestCheckHook -, pytest-benchmark -, pytest-cov -, pytest-mock -, pandas -, azure-storage-blob +{ + lib, + buildPythonPackage, + fetchPypi, + rustPlatform, + pyarrow, + pyarrow-hotfix, + openssl, + stdenv, + darwin, + libiconv, + pkg-config, + pytestCheckHook, + pytest-benchmark, + pytest-cov, + pytest-mock, + pandas, + azure-storage-blob, }: buildPythonPackage rec { @@ -39,20 +40,24 @@ buildPythonPackage rec { pyarrow-hotfix ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.SystemConfiguration - libiconv - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration + libiconv + ]; - nativeBuildInputs = [ - pkg-config # openssl-sys needs this - ] ++ (with rustPlatform; [ - cargoSetupHook - maturinBuildHook - ]); + nativeBuildInputs = + [ + pkg-config # openssl-sys needs this + ] + ++ (with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]); pythonImportsCheck = [ "deltalake" ]; @@ -81,6 +86,11 @@ buildPythonPackage rec { homepage = "https://github.com/delta-io/delta-rs"; changelog = "https://github.com/delta-io/delta-rs/blob/python-v${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ kfollesdal mslingsby harvidsen andershus ]; + maintainers = with maintainers; [ + kfollesdal + mslingsby + harvidsen + andershus + ]; }; } diff --git a/pkgs/development/python-modules/django-extensions/default.nix b/pkgs/development/python-modules/django-extensions/default.nix index 8e10c4c1f567e..bb7ea8e2a155f 100644 --- a/pkgs/development/python-modules/django-extensions/default.nix +++ b/pkgs/development/python-modules/django-extensions/default.nix @@ -29,7 +29,7 @@ buildPythonPackage rec { version = "3.2.3"; pyproject = true; - src = fetchFromGitHub { + src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/${version}"; diff --git a/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix b/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix index cbd1e348c74d4..0f8ab4fed5ecf 100644 --- a/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix +++ b/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix @@ -15,7 +15,7 @@ # tests pytest-django, - pytestCheckHook + pytestCheckHook, }: buildPythonPackage rec { @@ -37,7 +37,7 @@ buildPythonPackage rec { (fetchpatch { url = "https://github.com/flavors/django-graphiql-debug-toolbar/commit/2b42fdb1bc40109d9bb0ae1fb4d2163d13904724.patch"; hash = "sha256-ywTLqXlAxA2DCacrJOqmB7jSzfpeuGTX2ETu0fKmhq4="; - }) + }) ]; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/django-ipware/default.nix b/pkgs/development/python-modules/django-ipware/default.nix index b778e0a93d7d0..d6c195a9ec438 100644 --- a/pkgs/development/python-modules/django-ipware/default.nix +++ b/pkgs/development/python-modules/django-ipware/default.nix @@ -19,7 +19,10 @@ buildPythonPackage rec { hash = "sha256-2exD0r983yFv7Y1JSghN61dhpUhgpTsudDRqTzhM/0c="; }; - propagatedBuildInputs = [ django python-ipware ]; + propagatedBuildInputs = [ + django + python-ipware + ]; # django.core.exceptions.ImproperlyConfigured: Requested setting IPWARE_TRUSTED_PROXY_LIST, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. doCheck = false; diff --git a/pkgs/development/python-modules/django-ratelimit/default.nix b/pkgs/development/python-modules/django-ratelimit/default.nix index ca0216a9de5c3..fd74e1e68fc7b 100644 --- a/pkgs/development/python-modules/django-ratelimit/default.nix +++ b/pkgs/development/python-modules/django-ratelimit/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, django -, django-redis -, fetchFromGitHub -, pymemcache -, pythonOlder -, setuptools +{ + lib, + buildPythonPackage, + django, + django-redis, + fetchFromGitHub, + pymemcache, + pythonOlder, + setuptools, }: buildPythonPackage rec { @@ -45,7 +46,6 @@ buildPythonPackage rec { runHook postCheck ''; - meta = with lib; { description = "Cache-based rate-limiting for Django"; homepage = "https://github.com/jsocol/django-ratelimit"; diff --git a/pkgs/development/python-modules/dohq-artifactory/default.nix b/pkgs/development/python-modules/dohq-artifactory/default.nix index 2e44d4464791e..12f1b068e2e9b 100644 --- a/pkgs/development/python-modules/dohq-artifactory/default.nix +++ b/pkgs/development/python-modules/dohq-artifactory/default.nix @@ -1,15 +1,15 @@ { - lib -, buildPythonPackage -, fetchFromGitHub -, pythonAtLeast -, setuptools -, requests -, python-dateutil -, pyjwt -, pytestCheckHook -, responses -, nix-update-script + lib, + buildPythonPackage, + fetchFromGitHub, + pythonAtLeast, + setuptools, + requests, + python-dateutil, + pyjwt, + pytestCheckHook, + responses, + nix-update-script, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/dscribe/default.nix b/pkgs/development/python-modules/dscribe/default.nix index f2cacd6045247..33229ab030751 100644 --- a/pkgs/development/python-modules/dscribe/default.nix +++ b/pkgs/development/python-modules/dscribe/default.nix @@ -1,13 +1,14 @@ -{ buildPythonPackage -, lib -, fetchFromGitHub -, numpy -, scipy -, ase -, joblib -, sparse -, pybind11 -, scikit-learn +{ + buildPythonPackage, + lib, + fetchFromGitHub, + numpy, + scipy, + ase, + joblib, + sparse, + pybind11, + scikit-learn, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix index 752a09be221e5..0145773a6e0fe 100644 --- a/pkgs/development/python-modules/dulwich/default.nix +++ b/pkgs/development/python-modules/dulwich/default.nix @@ -52,15 +52,13 @@ buildPythonPackage rec { paramiko = [ paramiko ]; }; - nativeCheckInputs = - [ - gevent - geventhttpclient - git - glibcLocales - unittestCheckHook - ] - ++ lib.flatten (lib.attrValues optional-dependencies); + nativeCheckInputs = [ + gevent + geventhttpclient + git + glibcLocales + unittestCheckHook + ] ++ lib.flatten (lib.attrValues optional-dependencies); preCheck = '' # requires swift config file diff --git a/pkgs/development/python-modules/dvc-render/default.nix b/pkgs/development/python-modules/dvc-render/default.nix index 749abe71e0bc8..63b83d0c1d504 100644 --- a/pkgs/development/python-modules/dvc-render/default.nix +++ b/pkgs/development/python-modules/dvc-render/default.nix @@ -41,12 +41,15 @@ buildPythonPackage rec { ]; }; - nativeCheckInputs = [ - funcy - pytestCheckHook - pytest-mock - pytest-test-utils - ] ++ optional-dependencies.table ++ optional-dependencies.markdown; + nativeCheckInputs = + [ + funcy + pytestCheckHook + pytest-mock + pytest-test-utils + ] + ++ optional-dependencies.table + ++ optional-dependencies.markdown; disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_vega.py" ]; diff --git a/pkgs/development/python-modules/dvc-s3/default.nix b/pkgs/development/python-modules/dvc-s3/default.nix index eaed1006a500b..faa0cec34d028 100644 --- a/pkgs/development/python-modules/dvc-s3/default.nix +++ b/pkgs/development/python-modules/dvc-s3/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { --replace-fail "aiobotocore[boto3]" "aiobotocore" ''; - build-system = [ setuptools-scm ]; + build-system = [ setuptools-scm ]; dependencies = [ aiobotocore diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix index 089cf52f10a67..190f8faf27611 100644 --- a/pkgs/development/python-modules/dvc/default.nix +++ b/pkgs/development/python-modules/dvc/default.nix @@ -83,7 +83,6 @@ buildPythonPackage rec { build-system = [ setuptools-scm ]; - dependencies = [ appdirs diff --git a/pkgs/development/python-modules/elastic-apm/default.nix b/pkgs/development/python-modules/elastic-apm/default.nix index fb27b98608dd2..af1505d27e6fb 100644 --- a/pkgs/development/python-modules/elastic-apm/default.nix +++ b/pkgs/development/python-modules/elastic-apm/default.nix @@ -48,7 +48,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ aiohttp blinker diff --git a/pkgs/development/python-modules/embedding-reader/default.nix b/pkgs/development/python-modules/embedding-reader/default.nix index 0f4d3c54a34b9..a65d0a07e49c8 100644 --- a/pkgs/development/python-modules/embedding-reader/default.nix +++ b/pkgs/development/python-modules/embedding-reader/default.nix @@ -21,7 +21,6 @@ buildPythonPackage rec { hash = "sha256-paN6rAyH3L7qCfWPr5kXo9Xl57gRMhdcDnoyLJ7II2w="; }; - pythonRelaxDeps = [ "pyarrow" ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ete3/default.nix b/pkgs/development/python-modules/ete3/default.nix index ee5881128336b..282a0546431f3 100644 --- a/pkgs/development/python-modules/ete3/default.nix +++ b/pkgs/development/python-modules/ete3/default.nix @@ -23,10 +23,13 @@ buildPythonPackage rec { doCheck = false; # Tests are (i) not 3.x compatible, (ii) broken under 2.7 pythonImportsCheck = [ "ete3" ]; - propagatedBuildInputs = [ - six - numpy - ] ++ lib.optional withTreeVisualization pyqt5 ++ lib.optional withXmlSupport lxml; + propagatedBuildInputs = + [ + six + numpy + ] + ++ lib.optional withTreeVisualization pyqt5 + ++ lib.optional withXmlSupport lxml; meta = with lib; { description = "Python framework for the analysis and visualization of trees"; diff --git a/pkgs/development/python-modules/eth-utils/default.nix b/pkgs/development/python-modules/eth-utils/default.nix index a9e5790fcf4fe..feb07cbac013a 100644 --- a/pkgs/development/python-modules/eth-utils/default.nix +++ b/pkgs/development/python-modules/eth-utils/default.nix @@ -29,10 +29,13 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools ]; - propagatedBuildInputs = [ - eth-hash - eth-typing - ] ++ lib.optional (!isPyPy) cytoolz ++ lib.optional isPyPy toolz; + propagatedBuildInputs = + [ + eth-hash + eth-typing + ] + ++ lib.optional (!isPyPy) cytoolz + ++ lib.optional isPyPy toolz; nativeCheckInputs = [ hypothesis diff --git a/pkgs/development/python-modules/fastapi-cli/default.nix b/pkgs/development/python-modules/fastapi-cli/default.nix index 071b1cd0c9cf2..6b4598ad05a41 100644 --- a/pkgs/development/python-modules/fastapi-cli/default.nix +++ b/pkgs/development/python-modules/fastapi-cli/default.nix @@ -1,66 +1,69 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pdm-backend -, typer -, fastapi -, uvicorn +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pdm-backend, + typer, + fastapi, + uvicorn, -# checks -, pytestCheckHook -, rich + # checks + pytestCheckHook, + rich, }: -let self = buildPythonPackage rec { - pname = "fastapi-cli"; - version = "0.0.5"; - pyproject = true; +let + self = buildPythonPackage rec { + pname = "fastapi-cli"; + version = "0.0.5"; + pyproject = true; - src = fetchFromGitHub { - owner = "tiangolo"; - repo = "fastapi-cli"; - rev = "refs/tags/${version}"; - hash = "sha256-hUS9zkDJJB51X+e31RvyxcGAP8j4oulAPFAvEMPiIn8="; - }; - - build-system = [ pdm-backend ]; + src = fetchFromGitHub { + owner = "tiangolo"; + repo = "fastapi-cli"; + rev = "refs/tags/${version}"; + hash = "sha256-hUS9zkDJJB51X+e31RvyxcGAP8j4oulAPFAvEMPiIn8="; + }; - dependencies = [ - typer - uvicorn - ] ++ uvicorn.optional-dependencies.standard; + build-system = [ pdm-backend ]; - optional-dependencies = { - standard = [ + dependencies = [ + typer uvicorn ] ++ uvicorn.optional-dependencies.standard; - }; - doCheck = false; + optional-dependencies = { + standard = [ + uvicorn + ] ++ uvicorn.optional-dependencies.standard; + }; + + doCheck = false; - passthru.tests.pytest = self.overridePythonAttrs { doCheck = true; }; + passthru.tests.pytest = self.overridePythonAttrs { doCheck = true; }; - nativeCheckInputs = [ - pytestCheckHook - rich - ] ++ optional-dependencies.standard; + nativeCheckInputs = [ + pytestCheckHook + rich + ] ++ optional-dependencies.standard; - # coverage - disabledTests = [ "test_script" ]; + # coverage + disabledTests = [ "test_script" ]; - pythonImportsCheck = [ "fastapi_cli" ]; + pythonImportsCheck = [ "fastapi_cli" ]; - meta = with lib; { - description = "Run and manage FastAPI apps from the command line with FastAPI CLI"; - homepage = "https://github.com/tiangolo/fastapi-cli"; - changelog = "https://github.com/tiangolo/fastapi-cli/releases/tag/${version}"; - mainProgram = "fastapi"; - license = licenses.mit; - maintainers = [ ]; - # This package provides a `fastapi`-executable that is in conflict with the one from - # python3Packages.fastapi. Because this package is primarily used for the purpose of - # implementing the CLI for python3Packages.fastapi, we reduce the executable's priority - priority = 10; + meta = with lib; { + description = "Run and manage FastAPI apps from the command line with FastAPI CLI"; + homepage = "https://github.com/tiangolo/fastapi-cli"; + changelog = "https://github.com/tiangolo/fastapi-cli/releases/tag/${version}"; + mainProgram = "fastapi"; + license = licenses.mit; + maintainers = [ ]; + # This package provides a `fastapi`-executable that is in conflict with the one from + # python3Packages.fastapi. Because this package is primarily used for the purpose of + # implementing the CLI for python3Packages.fastapi, we reduce the executable's priority + priority = 10; + }; }; -}; -in self +in +self diff --git a/pkgs/development/python-modules/flask-compress/default.nix b/pkgs/development/python-modules/flask-compress/default.nix index c0239f2a6c86d..7a79bf47ba6e6 100644 --- a/pkgs/development/python-modules/flask-compress/default.nix +++ b/pkgs/development/python-modules/flask-compress/default.nix @@ -30,10 +30,13 @@ buildPythonPackage rec { setuptools-scm ]; - dependencies = [ - flask - zstandard - ] ++ lib.optionals (!isPyPy) [ brotli ] ++ lib.optionals isPyPy [ brotlicffi ]; + dependencies = + [ + flask + zstandard + ] + ++ lib.optionals (!isPyPy) [ brotli ] + ++ lib.optionals isPyPy [ brotlicffi ]; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix b/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix index a6afc09f4edf2..c17f7229ad7bc 100644 --- a/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix +++ b/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix @@ -23,10 +23,13 @@ buildPythonPackage rec { build-system = [ flit-core ]; - dependencies = [ - flask - sqlalchemy - ] ++ flask.optional-dependencies.async ++ sqlalchemy.optional-dependencies.asyncio; + dependencies = + [ + flask + sqlalchemy + ] + ++ flask.optional-dependencies.async + ++ sqlalchemy.optional-dependencies.asyncio; pythonImportsCheck = [ "flask_sqlalchemy_lite" ]; diff --git a/pkgs/development/python-modules/flet/default.nix b/pkgs/development/python-modules/flet/default.nix index d35a99194358e..ea052649f4b19 100644 --- a/pkgs/development/python-modules/flet/default.nix +++ b/pkgs/development/python-modules/flet/default.nix @@ -35,7 +35,10 @@ buildPythonPackage rec { ]; makeWrapperArgs = [ - "--prefix" "PYTHONPATH" ":" "$PYTHONPATH" + "--prefix" + "PYTHONPATH" + ":" + "$PYTHONPATH" ]; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/freertos-gdb/default.nix b/pkgs/development/python-modules/freertos-gdb/default.nix index f932925762134..5b6bc91aaf542 100644 --- a/pkgs/development/python-modules/freertos-gdb/default.nix +++ b/pkgs/development/python-modules/freertos-gdb/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchPypi, buildPythonPackage }: +{ + lib, + fetchPypi, + buildPythonPackage, +}: buildPythonPackage rec { pname = "freertos-gdb"; diff --git a/pkgs/development/python-modules/furo/default.nix b/pkgs/development/python-modules/furo/default.nix index 36e2f47663ed2..71bc32d7a5168 100644 --- a/pkgs/development/python-modules/furo/default.nix +++ b/pkgs/development/python-modules/furo/default.nix @@ -22,7 +22,6 @@ buildPythonPackage rec { hash = "sha256-bNl8WLR4E9NhnmPpCBFpiA++Mx8MqIPIcf8fPxGBT1w="; }; - pythonRelaxDeps = [ "sphinx" ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/gftools/default.nix b/pkgs/development/python-modules/gftools/default.nix index 9ad7021e8ff01..2ea13f65fb0bd 100644 --- a/pkgs/development/python-modules/gftools/default.nix +++ b/pkgs/development/python-modules/gftools/default.nix @@ -126,47 +126,50 @@ buildPythonPackage rec { setuptools-scm ]; - dependencies = [ - absl-py - afdko - axisregistry - babelfont - beautifulsoup4 - brotli - bumpfontversion - font-v - fontfeatures - fontmake - fonttools - gflanguages - gfsubsets - glyphsets - glyphslib - jinja2 - nanoemoji - networkx - ninja - ots-python - packaging - pillow - protobuf - pygit2 - pygithub - pyyaml - requests - rich - ruamel-yaml - setuptools - skia-pathops - statmake - strictyaml - tabulate - ttfautohint-py - ufomerge - unidecode - vharfbuzz - vttlib - ] ++ fonttools.optional-dependencies.ufo ++ fontmake.optional-dependencies.json; + dependencies = + [ + absl-py + afdko + axisregistry + babelfont + beautifulsoup4 + brotli + bumpfontversion + font-v + fontfeatures + fontmake + fonttools + gflanguages + gfsubsets + glyphsets + glyphslib + jinja2 + nanoemoji + networkx + ninja + ots-python + packaging + pillow + protobuf + pygit2 + pygithub + pyyaml + requests + rich + ruamel-yaml + setuptools + skia-pathops + statmake + strictyaml + tabulate + ttfautohint-py + ufomerge + unidecode + vharfbuzz + vttlib + ] + ++ fonttools.optional-dependencies.ufo + ++ fontmake.optional-dependencies.json; optional-dependencies = { qa = [ diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix index 3d29e7ee16463..a48fae473b5c2 100644 --- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix +++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix @@ -70,16 +70,19 @@ buildPythonPackage rec { ipython = [ ipython ]; }; - nativeCheckInputs = [ - freezegun - google-cloud-testutils - mock - psutil - google-cloud-datacatalog - google-cloud-storage - pytestCheckHook - pytest-xdist - ] ++ optional-dependencies.pandas ++ optional-dependencies.ipython; + nativeCheckInputs = + [ + freezegun + google-cloud-testutils + mock + psutil + google-cloud-datacatalog + google-cloud-storage + pytestCheckHook + pytest-xdist + ] + ++ optional-dependencies.pandas + ++ optional-dependencies.ipython; # prevent google directory from shadowing google imports preCheck = '' diff --git a/pkgs/development/python-modules/google-generativeai/default.nix b/pkgs/development/python-modules/google-generativeai/default.nix index ae82378dfa06c..ce76f9794b038 100644 --- a/pkgs/development/python-modules/google-generativeai/default.nix +++ b/pkgs/development/python-modules/google-generativeai/default.nix @@ -32,7 +32,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ google-ai-generativelanguage google-api-core diff --git a/pkgs/development/python-modules/gophish/default.nix b/pkgs/development/python-modules/gophish/default.nix index 48b4e880e5fcf..316244a5fa384 100644 --- a/pkgs/development/python-modules/gophish/default.nix +++ b/pkgs/development/python-modules/gophish/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ appdirs certifi diff --git a/pkgs/development/python-modules/gotenberg-client/default.nix b/pkgs/development/python-modules/gotenberg-client/default.nix index bb18da52f9515..10d29ac87177b 100644 --- a/pkgs/development/python-modules/gotenberg-client/default.nix +++ b/pkgs/development/python-modules/gotenberg-client/default.nix @@ -23,9 +23,12 @@ buildPythonPackage rec { nativeBuildInputs = [ hatchling ]; - propagatedBuildInputs = [ - httpx - ] ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ] ++ httpx.optional-dependencies.http2; + propagatedBuildInputs = + [ + httpx + ] + ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ] + ++ httpx.optional-dependencies.http2; pythonImportsCheck = [ "gotenberg_client" ]; diff --git a/pkgs/development/python-modules/great-expectations/default.nix b/pkgs/development/python-modules/great-expectations/default.nix index 04a180c15eb38..c25ce9206f180 100644 --- a/pkgs/development/python-modules/great-expectations/default.nix +++ b/pkgs/development/python-modules/great-expectations/default.nix @@ -83,21 +83,24 @@ buildPythonPackage rec { "posthog" ]; - nativeCheckInputs = [ - pytestCheckHook - pytest-mock - pytest-order - pytest-random-order - click - flaky - freezegun - invoke - moto - psycopg2 - requirements-parser - responses - sqlalchemy - ] ++ moto.optional-dependencies.s3 ++ moto.optional-dependencies.sns; + nativeCheckInputs = + [ + pytestCheckHook + pytest-mock + pytest-order + pytest-random-order + click + flaky + freezegun + invoke + moto + psycopg2 + requirements-parser + responses + sqlalchemy + ] + ++ moto.optional-dependencies.s3 + ++ moto.optional-dependencies.sns; disabledTestPaths = [ # try to access external URLs: diff --git a/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix b/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix index deff078edf859..9d9f5985c2ca9 100644 --- a/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix +++ b/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix @@ -29,7 +29,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ gitlike-commands paho-mqtt diff --git a/pkgs/development/python-modules/handy-archives/default.nix b/pkgs/development/python-modules/handy-archives/default.nix index 6bafb066cb57c..4609d4ffb399e 100644 --- a/pkgs/development/python-modules/handy-archives/default.nix +++ b/pkgs/development/python-modules/handy-archives/default.nix @@ -17,9 +17,8 @@ buildPythonPackage rec { build-system = [ flit-core ]; - dependencies = - [ - ]; + dependencies = [ + ]; meta = { description = "Some handy archive helpers for Python."; diff --git a/pkgs/development/python-modules/hatch-odoo/default.nix b/pkgs/development/python-modules/hatch-odoo/default.nix index e3c0c26dbebf8..eebb52bee81b3 100644 --- a/pkgs/development/python-modules/hatch-odoo/default.nix +++ b/pkgs/development/python-modules/hatch-odoo/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { sha256 = "sha256-I3jaiG0Xu8B34q30p7zTs+FeBXUQiPKTAJLSVxE9gYE="; }; - buildInputs = [hatch-vcs]; + buildInputs = [ hatch-vcs ]; propagatedBuildInputs = [ @@ -35,6 +35,6 @@ buildPythonPackage rec { description = "A hatch plugin to develop and package Odoo projects"; homepage = "https://github.com/acsone/hatch-odoo"; license = licenses.mit; - maintainers = with maintainers; [yajo]; + maintainers = with maintainers; [ yajo ]; }; } diff --git a/pkgs/development/python-modules/hatch-vcs/default.nix b/pkgs/development/python-modules/hatch-vcs/default.nix index ec89847abc248..f7fe24743c7b3 100644 --- a/pkgs/development/python-modules/hatch-vcs/default.nix +++ b/pkgs/development/python-modules/hatch-vcs/default.nix @@ -34,16 +34,18 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = [ - # incompatible with setuptools-scm>=7 - # https://github.com/ofek/hatch-vcs/issues/8 - "test_write" - ] ++ lib.optionals (pythonOlder "3.11") [ - # https://github.com/pypa/setuptools_scm/issues/1038, fixed in setuptools_scm@8.1.0 - "test_basic" - "test_root" - "test_metadata" - ]; + disabledTests = + [ + # incompatible with setuptools-scm>=7 + # https://github.com/ofek/hatch-vcs/issues/8 + "test_write" + ] + ++ lib.optionals (pythonOlder "3.11") [ + # https://github.com/pypa/setuptools_scm/issues/1038, fixed in setuptools_scm@8.1.0 + "test_basic" + "test_root" + "test_metadata" + ]; pythonImportsCheck = [ "hatch_vcs" ]; diff --git a/pkgs/development/python-modules/hikari-crescent/default.nix b/pkgs/development/python-modules/hikari-crescent/default.nix index 3d450a68de13d..7b8b39994cc9c 100644 --- a/pkgs/development/python-modules/hikari-crescent/default.nix +++ b/pkgs/development/python-modules/hikari-crescent/default.nix @@ -9,7 +9,7 @@ python-dotenv, pytest-asyncio, croniter, - pynacl + pynacl, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/htmltools/default.nix b/pkgs/development/python-modules/htmltools/default.nix index 3bb83d269109f..a5bcf561cab00 100644 --- a/pkgs/development/python-modules/htmltools/default.nix +++ b/pkgs/development/python-modules/htmltools/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, pythonOlder -, fetchFromGitHub -, setuptools -, packaging -, typing-extensions -, pytestCheckHook -, syrupy +{ + lib, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + setuptools, + packaging, + typing-extensions, + pytestCheckHook, + syrupy, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/jschon/default.nix b/pkgs/development/python-modules/jschon/default.nix index 82a125e4460be..a2308db968c44 100644 --- a/pkgs/development/python-modules/jschon/default.nix +++ b/pkgs/development/python-modules/jschon/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, wheel -, rfc3986 -, pytestCheckHook -, hypothesis -, requests -, pytest-httpserver -, pytest-xdist +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + wheel, + rfc3986, + pytestCheckHook, + hypothesis, + requests, + pytest-httpserver, + pytest-xdist, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/kafka-python-ng/default.nix b/pkgs/development/python-modules/kafka-python-ng/default.nix index 6252e1a5044a6..88fa654168007 100644 --- a/pkgs/development/python-modules/kafka-python-ng/default.nix +++ b/pkgs/development/python-modules/kafka-python-ng/default.nix @@ -31,7 +31,7 @@ buildPythonPackage rec { build-system = [ setuptools-scm ]; optional-dependencies = { - crc32c = [ crc32c ]; + crc32c = [ crc32c ]; lz4 = [ lz4 ]; snappy = [ python-snappy ]; zstd = [ zstandard ]; diff --git a/pkgs/development/python-modules/karton-dashboard/default.nix b/pkgs/development/python-modules/karton-dashboard/default.nix index efbff71a3795c..90d02be4f461c 100644 --- a/pkgs/development/python-modules/karton-dashboard/default.nix +++ b/pkgs/development/python-modules/karton-dashboard/default.nix @@ -31,7 +31,6 @@ buildPythonPackage rec { "prometheus-client" ]; - propagatedBuildInputs = [ flask karton-core diff --git a/pkgs/development/python-modules/laundrify-aio/default.nix b/pkgs/development/python-modules/laundrify-aio/default.nix index 21625e5846456..e6ccf3531af22 100644 --- a/pkgs/development/python-modules/laundrify-aio/default.nix +++ b/pkgs/development/python-modules/laundrify-aio/default.nix @@ -13,7 +13,6 @@ buildPythonPackage rec { version = "1.2.2"; pyproject = true; - disabled = pythonOlder "3.7"; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix index 2d1a6281b7cc4..e27f02e0fc3d5 100644 --- a/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix +++ b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix @@ -25,7 +25,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ google-generativeai llama-index-core diff --git a/pkgs/development/python-modules/llama-index-embeddings-google/default.nix b/pkgs/development/python-modules/llama-index-embeddings-google/default.nix index b8925cf0d1a5c..da627edc9f5e0 100644 --- a/pkgs/development/python-modules/llama-index-embeddings-google/default.nix +++ b/pkgs/development/python-modules/llama-index-embeddings-google/default.nix @@ -25,7 +25,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ google-generativeai llama-index-core diff --git a/pkgs/development/python-modules/llama-index-program-openai/default.nix b/pkgs/development/python-modules/llama-index-program-openai/default.nix index c2f57b35edab7..6f8fea48c0939 100644 --- a/pkgs/development/python-modules/llama-index-program-openai/default.nix +++ b/pkgs/development/python-modules/llama-index-program-openai/default.nix @@ -26,7 +26,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ llama-index-agent-openai llama-index-core diff --git a/pkgs/development/python-modules/llama-index-readers-file/default.nix b/pkgs/development/python-modules/llama-index-readers-file/default.nix index a8d452f6e2074..e62d137220967 100644 --- a/pkgs/development/python-modules/llama-index-readers-file/default.nix +++ b/pkgs/development/python-modules/llama-index-readers-file/default.nix @@ -31,7 +31,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ beautifulsoup4 llama-index-core diff --git a/pkgs/development/python-modules/loguru/default.nix b/pkgs/development/python-modules/loguru/default.nix index 216a20663381e..d3776308759cd 100644 --- a/pkgs/development/python-modules/loguru/default.nix +++ b/pkgs/development/python-modules/loguru/default.nix @@ -7,7 +7,7 @@ freezegun, pytestCheckHook, pythonOlder, - pytest-xdist + pytest-xdist, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/lsassy/default.nix b/pkgs/development/python-modules/lsassy/default.nix index f85a1f134eba4..5bd9ec7c0df70 100644 --- a/pkgs/development/python-modules/lsassy/default.nix +++ b/pkgs/development/python-modules/lsassy/default.nix @@ -30,7 +30,6 @@ buildPythonPackage rec { "rich" ]; - build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix index 8ee9ab16ef3d7..0459564e2a631 100644 --- a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix +++ b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix @@ -24,12 +24,15 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ - attrs - autobahn - setuptools # pkg_resources is referenced at runtime - twisted - ] ++ autobahn.optional-dependencies.twisted ++ twisted.optional-dependencies.tls; + dependencies = + [ + attrs + autobahn + setuptools # pkg_resources is referenced at runtime + twisted + ] + ++ autobahn.optional-dependencies.twisted + ++ twisted.optional-dependencies.tls; pythonImportsCheck = [ "wormhole_mailbox_server" ]; diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix index f85cfd2959548..d48fce2d2d973 100644 --- a/pkgs/development/python-modules/magic-wormhole/default.nix +++ b/pkgs/development/python-modules/magic-wormhole/default.nix @@ -59,21 +59,24 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ - attrs - autobahn - automat - click - humanize - iterable-io - pynacl - six - spake2 - tqdm - twisted - txtorcon - zipstream-ng - ] ++ autobahn.optional-dependencies.twisted ++ twisted.optional-dependencies.tls; + dependencies = + [ + attrs + autobahn + automat + click + humanize + iterable-io + pynacl + six + spake2 + tqdm + twisted + txtorcon + zipstream-ng + ] + ++ autobahn.optional-dependencies.twisted + ++ twisted.optional-dependencies.tls; optional-dependencies = { dilation = [ noiseprotocol ]; diff --git a/pkgs/development/python-modules/manifestoo/default.nix b/pkgs/development/python-modules/manifestoo/default.nix index 45c59f1c23094..14f81fdf2cdfb 100644 --- a/pkgs/development/python-modules/manifestoo/default.nix +++ b/pkgs/development/python-modules/manifestoo/default.nix @@ -24,12 +24,11 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - propagatedBuildInputs = - [ - manifestoo-core - textual - typer - ]; + propagatedBuildInputs = [ + manifestoo-core + textual + typer + ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/development/python-modules/marko/default.nix b/pkgs/development/python-modules/marko/default.nix index d5aaf83d76c08..d8471107f9285 100644 --- a/pkgs/development/python-modules/marko/default.nix +++ b/pkgs/development/python-modules/marko/default.nix @@ -41,9 +41,12 @@ buildPythonPackage rec { "marko" ]; - nativeCheckInputs = [ - pytestCheckHook - ] ++ optional-dependencies.toc ++ optional-dependencies.codehilite; + nativeCheckInputs = + [ + pytestCheckHook + ] + ++ optional-dependencies.toc + ++ optional-dependencies.codehilite; meta = { changelog = "https://github.com/frostming/marko/blob/${src.rev}/CHANGELOG.md"; diff --git a/pkgs/development/python-modules/mathutils/default.nix b/pkgs/development/python-modules/mathutils/default.nix index 97442eba2b855..13604f3d4cf78 100644 --- a/pkgs/development/python-modules/mathutils/default.nix +++ b/pkgs/development/python-modules/mathutils/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitLab +{ + lib, + buildPythonPackage, + fetchFromGitLab, -# build-system -, setuptools + # build-system + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/memory-tempfile/default.nix b/pkgs/development/python-modules/memory-tempfile/default.nix index 7255e35f18ef3..a50a7c50de60c 100644 --- a/pkgs/development/python-modules/memory-tempfile/default.nix +++ b/pkgs/development/python-modules/memory-tempfile/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, fetchpatch2 -, poetry-core +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchpatch2, + poetry-core, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/minichain/default.nix b/pkgs/development/python-modules/minichain/default.nix index 5109a0136bde8..4c87c4c9e2c9e 100644 --- a/pkgs/development/python-modules/minichain/default.nix +++ b/pkgs/development/python-modules/minichain/default.nix @@ -31,7 +31,6 @@ buildPythonPackage rec { substituteInPlace ./minichain/__init__.py --replace "from .gradio import GradioConf, show" "" ''; - pythonRemoveDeps = [ # Only used in the examples: "datasets" diff --git a/pkgs/development/python-modules/mitmproxy-rs/default.nix b/pkgs/development/python-modules/mitmproxy-rs/default.nix index fecb4d9794b4e..ec433ca357f36 100644 --- a/pkgs/development/python-modules/mitmproxy-rs/default.nix +++ b/pkgs/development/python-modules/mitmproxy-rs/default.nix @@ -49,7 +49,9 @@ buildPythonPackage rec { meta = with lib; { description = "Rust bits in mitmproxy"; homepage = "https://github.com/mitmproxy/mitmproxy_rs"; - changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md#${lib.replaceStrings ["."] [""] version}"; + changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md#${ + lib.replaceStrings [ "." ] [ "" ] version + }"; license = licenses.mit; inherit (mitmproxy.meta) maintainers; }; diff --git a/pkgs/development/python-modules/mkdocs-awesome-pages-plugin/default.nix b/pkgs/development/python-modules/mkdocs-awesome-pages-plugin/default.nix index 8799dfcd380a8..d2d5ccb84b7bd 100644 --- a/pkgs/development/python-modules/mkdocs-awesome-pages-plugin/default.nix +++ b/pkgs/development/python-modules/mkdocs-awesome-pages-plugin/default.nix @@ -32,7 +32,7 @@ buildPythonPackage rec { natsort ]; - nativeBuildInputs = [poetry-core]; + nativeBuildInputs = [ poetry-core ]; nativeCheckInputs = [ pytestCheckHook @@ -46,6 +46,6 @@ buildPythonPackage rec { homepage = "https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin"; changelog = "https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin/blob/v${version}/CHANGELOG"; license = licenses.mit; - maintainers = with maintainers; [phaer]; + maintainers = with maintainers; [ phaer ]; }; } diff --git a/pkgs/development/python-modules/mkdocs-get-deps/default.nix b/pkgs/development/python-modules/mkdocs-get-deps/default.nix index 3b36dfb7fea22..60faf85431f3f 100644 --- a/pkgs/development/python-modules/mkdocs-get-deps/default.nix +++ b/pkgs/development/python-modules/mkdocs-get-deps/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, hatchling -, importlib-metadata -, mergedeep -, platformdirs -, pyyaml -, pytestCheckHook +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + importlib-metadata, + mergedeep, + platformdirs, + pyyaml, + pytestCheckHook, }: buildPythonPackage rec { @@ -30,7 +31,7 @@ buildPythonPackage rec { pyyaml ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "mkdocs_get_deps" ]; diff --git a/pkgs/development/python-modules/moddb/default.nix b/pkgs/development/python-modules/moddb/default.nix index 17af65e37a206..9da9cb837c51a 100644 --- a/pkgs/development/python-modules/moddb/default.nix +++ b/pkgs/development/python-modules/moddb/default.nix @@ -20,7 +20,6 @@ buildPythonPackage rec { hash = "sha256-2t5QQAmSLOrdNCl0XdsFPdP2UF10/qq69DovqeQ1Vt8="; }; - propagatedBuildInputs = [ beautifulsoup4 pyrate-limiter diff --git a/pkgs/development/python-modules/model-checker/default.nix b/pkgs/development/python-modules/model-checker/default.nix index 3de3be17c5464..0a27a55ad02c6 100644 --- a/pkgs/development/python-modules/model-checker/default.nix +++ b/pkgs/development/python-modules/model-checker/default.nix @@ -26,7 +26,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ tqdm z3-solver diff --git a/pkgs/development/python-modules/molbar/default.nix b/pkgs/development/python-modules/molbar/default.nix index d2f608a8049cb..8096a9a2212d2 100644 --- a/pkgs/development/python-modules/molbar/default.nix +++ b/pkgs/development/python-modules/molbar/default.nix @@ -1,21 +1,22 @@ -{ buildPythonPackage -, lib -, gfortran -, fetchgit -, cmake -, ninja -, networkx -, numpy -, pandas -, scipy -, tqdm -, joblib -, numba -, ase -, scikit-build -, dscribe -, pyyaml -, pytestCheckHook +{ + buildPythonPackage, + lib, + gfortran, + fetchgit, + cmake, + ninja, + networkx, + numpy, + pandas, + scipy, + tqdm, + joblib, + numba, + ase, + scikit-build, + dscribe, + pyyaml, + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/mozilla-django-oidc/default.nix b/pkgs/development/python-modules/mozilla-django-oidc/default.nix index 78c24b8b0b785..cd44808efc57e 100644 --- a/pkgs/development/python-modules/mozilla-django-oidc/default.nix +++ b/pkgs/development/python-modules/mozilla-django-oidc/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, djangorestframework -, django -, josepy -, requests -, cryptography +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + djangorestframework, + django, + josepy, + requests, + cryptography, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/mwcli/default.nix b/pkgs/development/python-modules/mwcli/default.nix index adcc5ab1e34cc..9c644cf9c41b0 100644 --- a/pkgs/development/python-modules/mwcli/default.nix +++ b/pkgs/development/python-modules/mwcli/default.nix @@ -19,7 +19,6 @@ buildPythonPackage rec { # Prevent circular dependency pythonRemoveDeps = [ "mwxml" ]; - propagatedBuildInputs = [ docopt para diff --git a/pkgs/development/python-modules/mypy-protobuf/default.nix b/pkgs/development/python-modules/mypy-protobuf/default.nix index 0dca10652ac61..7c6bdb19db41a 100644 --- a/pkgs/development/python-modules/mypy-protobuf/default.nix +++ b/pkgs/development/python-modules/mypy-protobuf/default.nix @@ -24,7 +24,6 @@ buildPythonPackage rec { hash = "sha256-AvJC6zQJ9miJ8rGjqlg1bsTZCc3Q+TEVYi6ecDZuyjw="; }; - pythonRelaxDeps = [ "protobuf" ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/natural/default.nix b/pkgs/development/python-modules/natural/default.nix index fc6bde5f8dc05..8e8b32fc84098 100644 --- a/pkgs/development/python-modules/natural/default.nix +++ b/pkgs/development/python-modules/natural/default.nix @@ -1,9 +1,10 @@ -{ buildPythonPackage -, fetchFromGitHub -, lib -, setuptools -, six -, django +{ + buildPythonPackage, + fetchFromGitHub, + lib, + setuptools, + six, + django, }: buildPythonPackage rec { pname = "natural"; @@ -27,6 +28,9 @@ buildPythonPackage rec { description = "Convert data to their natural (human-readable) format"; homepage = "https://github.com/tehmaze/natural"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ sailord vinetos ]; + maintainers = with lib.maintainers; [ + sailord + vinetos + ]; }; } diff --git a/pkgs/development/python-modules/nbdev/default.nix b/pkgs/development/python-modules/nbdev/default.nix index b25da1d8b1133..fb3df9b93a6b4 100644 --- a/pkgs/development/python-modules/nbdev/default.nix +++ b/pkgs/development/python-modules/nbdev/default.nix @@ -25,7 +25,6 @@ buildPythonPackage rec { hash = "sha256-oHZjN+Qu4I9HyR1ReATgCdheTfvphJUcvs7od1OOTvc="; }; - pythonRelaxDeps = [ "ipywidgets" ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/nengo/default.nix b/pkgs/development/python-modules/nengo/default.nix index 915663c0b13fc..6ada695cbc0d6 100644 --- a/pkgs/development/python-modules/nengo/default.nix +++ b/pkgs/development/python-modules/nengo/default.nix @@ -24,9 +24,12 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools ]; - propagatedBuildInputs = [ - numpy - ] ++ lib.optionals scipySupport [ scipy ] ++ lib.optionals scikitSupport [ scikit-learn ]; + propagatedBuildInputs = + [ + numpy + ] + ++ lib.optionals scipySupport [ scipy ] + ++ lib.optionals scikitSupport [ scikit-learn ]; # checks req missing: # pytest-allclose diff --git a/pkgs/development/python-modules/netdata-pandas/default.nix b/pkgs/development/python-modules/netdata-pandas/default.nix index 01fb2d65c65c2..ff8bc2c4622ed 100644 --- a/pkgs/development/python-modules/netdata-pandas/default.nix +++ b/pkgs/development/python-modules/netdata-pandas/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, pandas -, requests -, trio -, asks +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pandas, + requests, + trio, + asks, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/niapy/default.nix b/pkgs/development/python-modules/niapy/default.nix index 575ee5043044f..ca443b5526bea 100644 --- a/pkgs/development/python-modules/niapy/default.nix +++ b/pkgs/development/python-modules/niapy/default.nix @@ -35,7 +35,10 @@ buildPythonPackage rec { pandas ]; - nativeCheckInputs = [ pytest7CheckHook pytest-xdist ]; + nativeCheckInputs = [ + pytest7CheckHook + pytest-xdist + ]; pythonImportsCheck = [ "niapy" ]; diff --git a/pkgs/development/python-modules/nodriver/default.nix b/pkgs/development/python-modules/nodriver/default.nix index 9a19815af991e..86572a31b2e98 100644 --- a/pkgs/development/python-modules/nodriver/default.nix +++ b/pkgs/development/python-modules/nodriver/default.nix @@ -48,4 +48,3 @@ buildPythonPackage rec { ]; }; } - diff --git a/pkgs/development/python-modules/notus-scanner/default.nix b/pkgs/development/python-modules/notus-scanner/default.nix index d665a7d9baf45..83b710fdbb11b 100644 --- a/pkgs/development/python-modules/notus-scanner/default.nix +++ b/pkgs/development/python-modules/notus-scanner/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - propagatedBuildInputs = [ paho-mqtt psutil diff --git a/pkgs/development/python-modules/objexplore/default.nix b/pkgs/development/python-modules/objexplore/default.nix index 02d4ceeb21428..a23561876a1ef 100644 --- a/pkgs/development/python-modules/objexplore/default.nix +++ b/pkgs/development/python-modules/objexplore/default.nix @@ -7,7 +7,7 @@ blessed, rich, pytestCheckHook, - pandas + pandas, }: buildPythonPackage { @@ -26,7 +26,10 @@ buildPythonPackage { hash = "sha256-BgeuRRuvbB4p99mwCjNxm3hYEZuGua8x2GdoVssQ7eI="; }; - pythonRelaxDeps = [ "blessed" "rich" ]; + pythonRelaxDeps = [ + "blessed" + "rich" + ]; build-system = [ setuptools ]; @@ -56,6 +59,9 @@ buildPythonPackage { description = "Terminal UI to interactively inspect and explore Python objects"; homepage = "https://github.com/kylepollina/objexplore"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ pbsds sigmanificient ]; + maintainers = with lib.maintainers; [ + pbsds + sigmanificient + ]; }; } diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix index 4f5266494e5cb..c0b556a940824 100644 --- a/pkgs/development/python-modules/ollama/default.nix +++ b/pkgs/development/python-modules/ollama/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ httpx ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/openrazer/daemon.nix b/pkgs/development/python-modules/openrazer/daemon.nix index f1af8a82faf71..0bcfd6b516540 100644 --- a/pkgs/development/python-modules/openrazer/daemon.nix +++ b/pkgs/development/python-modules/openrazer/daemon.nix @@ -12,58 +12,65 @@ setuptools, wrapGAppsNoGuiHook, notify2, - glib + glib, }: let common = import ./common.nix { inherit lib fetchFromGitHub; }; in -buildPythonPackage (common // { - pname = "openrazer-daemon"; +buildPythonPackage ( + common + // { + pname = "openrazer-daemon"; - outputs = [ - "out" - "man" - ]; + outputs = [ + "out" + "man" + ]; - sourceRoot = "${common.src.name}/daemon"; + sourceRoot = "${common.src.name}/daemon"; - postPatch = '' - substituteInPlace openrazer_daemon/daemon.py \ - --replace-fail "plugdev" "openrazer" - ''; + postPatch = '' + substituteInPlace openrazer_daemon/daemon.py \ + --replace-fail "plugdev" "openrazer" + ''; - nativeBuildInputs = [ setuptools wrapGAppsNoGuiHook gobject-introspection ]; + nativeBuildInputs = [ + setuptools + wrapGAppsNoGuiHook + gobject-introspection + ]; - buildInputs = [ - glib - gtk3 - ]; + buildInputs = [ + glib + gtk3 + ]; - propagatedBuildInputs = [ - daemonize - dbus-python - pygobject3 - pyudev - setproctitle - notify2 - ]; + propagatedBuildInputs = [ + daemonize + dbus-python + pygobject3 + pyudev + setproctitle + notify2 + ]; - postInstall = '' - DESTDIR="$out" PREFIX="" make manpages install-resources install-systemd - ''; + postInstall = '' + DESTDIR="$out" PREFIX="" make manpages install-resources install-systemd + ''; - # no tests run - doCheck = false; + # no tests run + doCheck = false; - dontWrapGApps = true; + dontWrapGApps = true; - preFixup = '' - makeWrapperArgs+=("''${gappsWrapperArgs[@]}") - ''; + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; - meta = common.meta // { - description = "Entirely open source user-space daemon that allows you to manage your Razer peripherals on GNU/Linux"; - mainProgram = "openrazer-daemon"; - }; -}) + meta = common.meta // { + description = "Entirely open source user-space daemon that allows you to manage your Razer peripherals on GNU/Linux"; + mainProgram = "openrazer-daemon"; + }; + } +) diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix index 08d5458968c8e..85e4520ec61d1 100644 --- a/pkgs/development/python-modules/opentelemetry-api/default.nix +++ b/pkgs/development/python-modules/opentelemetry-api/default.nix @@ -29,7 +29,6 @@ let sourceRoot = "${src.name}/opentelemetry-api"; - build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/optuna/default.nix b/pkgs/development/python-modules/optuna/default.nix index 85f3062a8b9b4..9df86d3458d84 100644 --- a/pkgs/development/python-modules/optuna/default.nix +++ b/pkgs/development/python-modules/optuna/default.nix @@ -105,13 +105,16 @@ buildPythonPackage rec { export PATH=$out/bin:$PATH ''; - nativeCheckInputs = [ - fakeredis - moto - pytest-xdist - pytestCheckHook - scipy - ] ++ fakeredis.optional-dependencies.lua ++ optional-dependencies.optional; + nativeCheckInputs = + [ + fakeredis + moto + pytest-xdist + pytestCheckHook + scipy + ] + ++ fakeredis.optional-dependencies.lua + ++ optional-dependencies.optional; pytestFlagsArray = [ "-m 'not integration'" ]; diff --git a/pkgs/development/python-modules/oss2/default.nix b/pkgs/development/python-modules/oss2/default.nix index 374f526b57f54..c44c7c276e6be 100644 --- a/pkgs/development/python-modules/oss2/default.nix +++ b/pkgs/development/python-modules/oss2/default.nix @@ -28,7 +28,6 @@ buildPythonPackage rec { hash = "sha256-jDSXPVyy8XvPgsGZXsdfavFPptq28pCwr9C63OZvNrY="; }; - propagatedBuildInputs = [ requests crcmod diff --git a/pkgs/development/python-modules/outspin/default.nix b/pkgs/development/python-modules/outspin/default.nix index 4555e9cbca3c7..3d0d8e34ad81f 100644 --- a/pkgs/development/python-modules/outspin/default.nix +++ b/pkgs/development/python-modules/outspin/default.nix @@ -3,7 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, - pytestCheckHook + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix index 890cf28a7462b..10afacd1c1973 100644 --- a/pkgs/development/python-modules/paho-mqtt/default.nix +++ b/pkgs/development/python-modules/paho-mqtt/default.nix @@ -15,7 +15,8 @@ let rev = "a4dc694010217b291ee78ee13a6d1db812f9babd"; hash = "sha256-SQoNdkWMjnasPjpXQF2yV97MUra8gb27pc3rNoA8Rjw="; }; -in buildPythonPackage rec { +in +buildPythonPackage rec { pname = "paho-mqtt"; version = "2.1.0"; pyproject = true; diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix index bf81409491cec..6291f01394146 100644 --- a/pkgs/development/python-modules/papermill/default.nix +++ b/pkgs/development/python-modules/papermill/default.nix @@ -69,12 +69,16 @@ buildPythonPackage rec { s3 = [ boto3 ]; }; - nativeCheckInputs = [ - ipykernel - moto - pytest-mock - pytestCheckHook - ] ++ optional-dependencies.azure ++ optional-dependencies.s3 ++ optional-dependencies.gcs; + nativeCheckInputs = + [ + ipykernel + moto + pytest-mock + pytestCheckHook + ] + ++ optional-dependencies.azure + ++ optional-dependencies.s3 + ++ optional-dependencies.gcs; preCheck = '' export HOME=$(mktemp -d) diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix index 98be7873032ae..396afc45dfbef 100644 --- a/pkgs/development/python-modules/passlib/default.nix +++ b/pkgs/development/python-modules/passlib/default.nix @@ -43,10 +43,14 @@ buildPythonPackage rec { "version = getattr(getattr(_bcrypt, '__about__', _bcrypt), '__version__', '')" ''; - nativeCheckInputs = [ - pytestCheckHook - pytest-xdist - ] ++ optional-dependencies.argon2 ++ optional-dependencies.bcrypt ++ optional-dependencies.totp; + nativeCheckInputs = + [ + pytestCheckHook + pytest-xdist + ] + ++ optional-dependencies.argon2 + ++ optional-dependencies.bcrypt + ++ optional-dependencies.totp; pythonImportsCheck = [ "passlib" ]; diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix index 3e384c62a98a3..fa7286d468793 100644 --- a/pkgs/development/python-modules/pathy/default.nix +++ b/pkgs/development/python-modules/pathy/default.nix @@ -23,7 +23,6 @@ buildPythonPackage rec { hash = "sha256-uz0OawuL92709jxxkeluCvLtZcj9tfoXSI+ch55jcG0="; }; - pythonRelaxDeps = [ "smart-open" ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pdb2pqr/default.nix b/pkgs/development/python-modules/pdb2pqr/default.nix index e082eab102bae..073c52f5f6e4e 100644 --- a/pkgs/development/python-modules/pdb2pqr/default.nix +++ b/pkgs/development/python-modules/pdb2pqr/default.nix @@ -25,7 +25,6 @@ buildPythonPackage rec { hash = "sha256-He301TJ1bzWub0DZ6Ro/Xc+JMtJBbyygVpWjPY6RMbA="; }; - pythonRelaxDeps = [ "docutils" ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/persistent/default.nix b/pkgs/development/python-modules/persistent/default.nix index 18fc8b244fbb4..97553db305af8 100644 --- a/pkgs/development/python-modules/persistent/default.nix +++ b/pkgs/development/python-modules/persistent/default.nix @@ -36,8 +36,7 @@ buildPythonPackage rec { dependencies = [ zope-interface zope-deferredimport - ] - ++ lib.optionals (!isPyPy) [ cffi ]; + ] ++ lib.optionals (!isPyPy) [ cffi ]; pythonImportsCheck = [ "persistent" ]; diff --git a/pkgs/development/python-modules/piccolo-theme/default.nix b/pkgs/development/python-modules/piccolo-theme/default.nix index 5c8bf351b5259..6f736f142961a 100644 --- a/pkgs/development/python-modules/piccolo-theme/default.nix +++ b/pkgs/development/python-modules/piccolo-theme/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { disabled = pythonOlder "3.9"; - src = fetchPypi { + src = fetchPypi { pname = "piccolo_theme"; inherit version; hash = "sha256-Cc9w9Lttuk680UlmVQwpIznBHZMclTMiHNPb/+sdG9k="; diff --git a/pkgs/development/python-modules/pinecone-client/default.nix b/pkgs/development/python-modules/pinecone-client/default.nix index a22aa39aa82e8..9ade9dc4d2ce0 100644 --- a/pkgs/development/python-modules/pinecone-client/default.nix +++ b/pkgs/development/python-modules/pinecone-client/default.nix @@ -31,7 +31,6 @@ buildPythonPackage rec { pythonRelaxDeps = [ "urllib3" ]; - build-system = [ setuptools poetry-core diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix index 058970320f90d..97043d7ca8d32 100644 --- a/pkgs/development/python-modules/pip/default.nix +++ b/pkgs/development/python-modules/pip/default.nix @@ -27,94 +27,96 @@ pip-tools, }: -let self = buildPythonPackage rec { - pname = "pip"; - version = "24.0"; - format = "pyproject"; - - src = fetchFromGitHub { - owner = "pypa"; - repo = pname; - rev = "refs/tags/${version}"; - hash = "sha256-yojk2T5wuPkS1OKusilj253AT+xyKwXCWKBNUEH2Mgo="; +let + self = buildPythonPackage rec { + pname = "pip"; + version = "24.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "pypa"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-yojk2T5wuPkS1OKusilj253AT+xyKwXCWKBNUEH2Mgo="; + }; + + postPatch = '' + # Remove vendored Windows PE binaries + # Note: These are unused but make the package unreproducible. + find -type f -name '*.exe' -delete + ''; + + nativeBuildInputs = [ + installShellFiles + setuptools + wheel + + # docs + sphinx + ]; + + outputs = [ + "out" + "man" + ]; + + # pip uses a custom sphinx extension and unusual conf.py location, mimic the internal build rather than attempting + # to fit sphinxHook see https://github.com/pypa/pip/blob/0778c1c153da7da457b56df55fb77cbba08dfb0c/noxfile.py#L129-L148 + postBuild = '' + cd docs + + # remove references to sphinx extentions only required for html doc generation + # sphinx.ext.intersphinx requires network connection or packaged object.inv files for python and pypug + # sphinxcontrib.towncrier is not currently packaged + for ext in sphinx.ext.intersphinx sphinx_copybutton sphinx_inline_tabs sphinxcontrib.towncrier myst_parser; do + substituteInPlace html/conf.py --replace '"'$ext'",' "" + done + + PYTHONPATH=$src/src:$PYTHONPATH sphinx-build -v \ + -d build/doctrees/man \ + -c html \ + -d build/doctrees/man \ + -b man \ + man \ + build/man + cd .. + ''; + + doCheck = false; + + nativeCheckInputs = [ + freezegun + git + mock + scripttest + virtualenv + pretend + pytestCheckHook + proxy-py + tomli-w + werkzeug + ]; + + postInstall = '' + installManPage docs/build/man/* + + installShellCompletion --cmd pip \ + --bash <($out/bin/pip completion --bash --no-cache-dir) \ + --fish <($out/bin/pip completion --fish --no-cache-dir) \ + --zsh <($out/bin/pip completion --zsh --no-cache-dir) + ''; + + passthru.tests = { + inherit pip-tools; + pytest = self.overridePythonAttrs { doCheck = true; }; + }; + + meta = { + description = "PyPA recommended tool for installing Python packages"; + license = with lib.licenses; [ mit ]; + homepage = "https://pip.pypa.io/"; + changelog = "https://pip.pypa.io/en/stable/news/#v${lib.replaceStrings [ "." ] [ "-" ] version}"; + }; }; - - postPatch = '' - # Remove vendored Windows PE binaries - # Note: These are unused but make the package unreproducible. - find -type f -name '*.exe' -delete - ''; - - nativeBuildInputs = [ - installShellFiles - setuptools - wheel - - # docs - sphinx - ]; - - outputs = [ - "out" - "man" - ]; - - # pip uses a custom sphinx extension and unusual conf.py location, mimic the internal build rather than attempting - # to fit sphinxHook see https://github.com/pypa/pip/blob/0778c1c153da7da457b56df55fb77cbba08dfb0c/noxfile.py#L129-L148 - postBuild = '' - cd docs - - # remove references to sphinx extentions only required for html doc generation - # sphinx.ext.intersphinx requires network connection or packaged object.inv files for python and pypug - # sphinxcontrib.towncrier is not currently packaged - for ext in sphinx.ext.intersphinx sphinx_copybutton sphinx_inline_tabs sphinxcontrib.towncrier myst_parser; do - substituteInPlace html/conf.py --replace '"'$ext'",' "" - done - - PYTHONPATH=$src/src:$PYTHONPATH sphinx-build -v \ - -d build/doctrees/man \ - -c html \ - -d build/doctrees/man \ - -b man \ - man \ - build/man - cd .. - ''; - - doCheck = false; - - nativeCheckInputs = [ - freezegun - git - mock - scripttest - virtualenv - pretend - pytestCheckHook - proxy-py - tomli-w - werkzeug - ]; - - postInstall = '' - installManPage docs/build/man/* - - installShellCompletion --cmd pip \ - --bash <($out/bin/pip completion --bash --no-cache-dir) \ - --fish <($out/bin/pip completion --fish --no-cache-dir) \ - --zsh <($out/bin/pip completion --zsh --no-cache-dir) - ''; - - passthru.tests = { - inherit pip-tools; - pytest = self.overridePythonAttrs { doCheck = true; }; - }; - - meta = { - description = "PyPA recommended tool for installing Python packages"; - license = with lib.licenses; [ mit ]; - homepage = "https://pip.pypa.io/"; - changelog = "https://pip.pypa.io/en/stable/news/#v${lib.replaceStrings [ "." ] [ "-" ] version}"; - }; -}; -in self +in +self diff --git a/pkgs/development/python-modules/playwrightcapture/default.nix b/pkgs/development/python-modules/playwrightcapture/default.nix index 75c4970abb117..764f75c564712 100644 --- a/pkgs/development/python-modules/playwrightcapture/default.nix +++ b/pkgs/development/python-modules/playwrightcapture/default.nix @@ -45,7 +45,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ aiohttp aiohttp-socks diff --git a/pkgs/development/python-modules/plugp100/default.nix b/pkgs/development/python-modules/plugp100/default.nix index 6a79e5b30068b..0cc356e3d15b5 100644 --- a/pkgs/development/python-modules/plugp100/default.nix +++ b/pkgs/development/python-modules/plugp100/default.nix @@ -14,7 +14,7 @@ pyyaml, pytest-asyncio, async-timeout, - }: +}: buildPythonPackage rec { pname = "plugp100"; @@ -27,10 +27,22 @@ buildPythonPackage rec { sha256 = "sha256-V+9cVBMN8H4oFU51T9BDrLF46xgQHqIsMj8nuPedUGA="; }; - propagatedBuildInputs = - [ certifi jsons requests aiohttp semantic-version scapy urllib3 pyyaml ]; + propagatedBuildInputs = [ + certifi + jsons + requests + aiohttp + semantic-version + scapy + urllib3 + pyyaml + ]; - nativeCheckInputs = [ pytestCheckHook pytest-asyncio async-timeout ]; + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + async-timeout + ]; disabledTestPaths = [ "tests/integration/" diff --git a/pkgs/development/python-modules/prometheus-async/default.nix b/pkgs/development/python-modules/prometheus-async/default.nix index 22627f161fa22..9f35acd96b1a9 100644 --- a/pkgs/development/python-modules/prometheus-async/default.nix +++ b/pkgs/development/python-modules/prometheus-async/default.nix @@ -1,17 +1,18 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub +{ + lib, + buildPythonPackage, + fetchFromGitHub, -, flit-core + flit-core, -, prometheus-client -, typing-extensions -, wrapt -, aiohttp -, twisted + prometheus-client, + typing-extensions, + wrapt, + aiohttp, + twisted, -, pytestCheckHook -, pytest-asyncio + pytestCheckHook, + pytest-asyncio, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/prometheus-fastapi-instrumentator/default.nix b/pkgs/development/python-modules/prometheus-fastapi-instrumentator/default.nix index 9ec29ff80bca1..62168d3d745c7 100644 --- a/pkgs/development/python-modules/prometheus-fastapi-instrumentator/default.nix +++ b/pkgs/development/python-modules/prometheus-fastapi-instrumentator/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pythonOlder -, pytestCheckHook -, devtools -, fastapi -, httpx -, poetry-core -, prometheus-client -, requests -, starlette +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + pytestCheckHook, + devtools, + fastapi, + httpx, + poetry-core, + prometheus-client, + requests, + starlette, }: buildPythonPackage rec { @@ -49,8 +50,11 @@ buildPythonPackage rec { description = "Instrument FastAPI with Prometheus metrics"; homepage = "https://github.com/trallnag/prometheus-fastapi-instrumentator"; changelog = "https://github.com/trallnag/prometheus-fastapi-instrumentator/blob/${src.rev}/CHANGELOG.md"; - license = with lib.licenses; [ isc bsd3 ]; + license = with lib.licenses; [ + isc + bsd3 + ]; maintainers = with lib.maintainers; [ bcdarwin ]; - platforms = lib.platforms.linux; # numerous test failures on Darwin + platforms = lib.platforms.linux; # numerous test failures on Darwin }; } diff --git a/pkgs/development/python-modules/prometrix/default.nix b/pkgs/development/python-modules/prometrix/default.nix index 52e0621136c7e..4c362e26ef277 100644 --- a/pkgs/development/python-modules/prometrix/default.nix +++ b/pkgs/development/python-modules/prometrix/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ boto3 botocore diff --git a/pkgs/development/python-modules/py-opensonic/default.nix b/pkgs/development/python-modules/py-opensonic/default.nix index 3a7bb3244536b..00d06bf5576f5 100644 --- a/pkgs/development/python-modules/py-opensonic/default.nix +++ b/pkgs/development/python-modules/py-opensonic/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, requests +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + requests, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/py-slvs/default.nix b/pkgs/development/python-modules/py-slvs/default.nix index 1f434fe66970f..5f68487a879a0 100644 --- a/pkgs/development/python-modules/py-slvs/default.nix +++ b/pkgs/development/python-modules/py-slvs/default.nix @@ -47,4 +47,3 @@ buildPythonPackage rec { ]; }; } - diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix index 1e225cd5fa643..66eade834fbe4 100644 --- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix +++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix @@ -47,10 +47,13 @@ buildPythonPackage rec { watchdog = [ watchdog ]; }; - checkInputs = [ - pytestCheckHook - requests - ] ++ optional-dependencies.watchdog ++ optional-dependencies.aiohttp; + checkInputs = + [ + pytestCheckHook + requests + ] + ++ optional-dependencies.watchdog + ++ optional-dependencies.aiohttp; pythonImportsCheck = [ "telebot" ]; diff --git a/pkgs/development/python-modules/pycddl/default.nix b/pkgs/development/python-modules/pycddl/default.nix index e55a0dc4bf1a9..660006c9c12a5 100644 --- a/pkgs/development/python-modules/pycddl/default.nix +++ b/pkgs/development/python-modules/pycddl/default.nix @@ -52,7 +52,7 @@ buildPythonPackage rec { cbor2 ]; - disabledTests =[ + disabledTests = [ # flaky "test_memory_usage" ]; diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix index e16ec8a669ab6..0390fedf17607 100644 --- a/pkgs/development/python-modules/pycfmodel/default.nix +++ b/pkgs/development/python-modules/pycfmodel/default.nix @@ -27,7 +27,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ pydantic ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/pycookiecheat/default.nix b/pkgs/development/python-modules/pycookiecheat/default.nix index e40731c554f08..bc51c78bf551b 100644 --- a/pkgs/development/python-modules/pycookiecheat/default.nix +++ b/pkgs/development/python-modules/pycookiecheat/default.nix @@ -36,7 +36,6 @@ buildPythonPackage rec { setuptools-scm ]; - dependencies = [ cryptography keyring diff --git a/pkgs/development/python-modules/pygame-ce/default.nix b/pkgs/development/python-modules/pygame-ce/default.nix index 80c0d153b72d5..0c7ef2cebbb9e 100644 --- a/pkgs/development/python-modules/pygame-ce/default.nix +++ b/pkgs/development/python-modules/pygame-ce/default.nix @@ -110,7 +110,6 @@ buildPythonPackage rec { numpy ]; - preConfigure = '' ${python.pythonOnBuildForHost.interpreter} -m buildconfig.config ''; diff --git a/pkgs/development/python-modules/pygame-gui/default.nix b/pkgs/development/python-modules/pygame-gui/default.nix index 6c8261a06b3a7..5808904d06348 100644 --- a/pkgs/development/python-modules/pygame-gui/default.nix +++ b/pkgs/development/python-modules/pygame-gui/default.nix @@ -43,28 +43,32 @@ buildPythonPackage rec { export SDL_VIDEODRIVER=dummy ''; - disabledTests = [ - # Clipboard doesn't exist in test environment - "test_process_event_text_ctrl_c" - "test_process_event_text_ctrl_v" - "test_process_event_text_ctrl_v_nothing" - "test_process_event_ctrl_v_over_limit" - "test_process_event_ctrl_v_at_limit" - "test_process_event_ctrl_v_over_limit_select_range" - "test_process_event_text_ctrl_v_select_range" - "test_process_event_text_ctrl_a" - "test_process_event_text_ctrl_x" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # fails to determine "/" as an existing path - # https://github.com/MyreMylar/pygame_gui/issues/644 - "test_process_event" - ]; + disabledTests = + [ + # Clipboard doesn't exist in test environment + "test_process_event_text_ctrl_c" + "test_process_event_text_ctrl_v" + "test_process_event_text_ctrl_v_nothing" + "test_process_event_ctrl_v_over_limit" + "test_process_event_ctrl_v_at_limit" + "test_process_event_ctrl_v_over_limit_select_range" + "test_process_event_text_ctrl_v_select_range" + "test_process_event_text_ctrl_a" + "test_process_event_text_ctrl_x" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # fails to determine "/" as an existing path + # https://github.com/MyreMylar/pygame_gui/issues/644 + "test_process_event" + ]; disabledTestPaths = [ "tests/test_performance/test_text_performance.py" ]; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex" "v_(.*)" ]; + extraArgs = [ + "--version-regex" + "v_(.*)" + ]; }; meta = with lib; { diff --git a/pkgs/development/python-modules/pygments/default.nix b/pkgs/development/python-modules/pygments/default.nix index 007e36f172331..dfec7d51976b1 100644 --- a/pkgs/development/python-modules/pygments/default.nix +++ b/pkgs/development/python-modules/pygments/default.nix @@ -9,7 +9,7 @@ # tests pytestCheckHook, wcag-contrast-ratio, - pythonOlder + pythonOlder, }: let diff --git a/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix b/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix index 9d1e9bdbb972a..5ca881319e38a 100644 --- a/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix +++ b/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix @@ -1,8 +1,8 @@ { - lib -, buildPythonPackage -, fetchPypi -, setuptools + lib, + buildPythonPackage, + fetchPypi, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/pyloadapi/default.nix b/pkgs/development/python-modules/pyloadapi/default.nix index cb2e77d5d2238..bf5876cb12111 100644 --- a/pkgs/development/python-modules/pyloadapi/default.nix +++ b/pkgs/development/python-modules/pyloadapi/default.nix @@ -60,4 +60,3 @@ buildPythonPackage rec { maintainers = with maintainers; [ fab ]; }; } - diff --git a/pkgs/development/python-modules/pylsp-rope/default.nix b/pkgs/development/python-modules/pylsp-rope/default.nix index f1d011d2ef025..43d53049ddde4 100644 --- a/pkgs/development/python-modules/pylsp-rope/default.nix +++ b/pkgs/development/python-modules/pylsp-rope/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { hash = "sha256-gEmSZQZ2rtSljN8USsUiqsP2cr54k6kwvsz8cjam9dU="; }; - build-system = [ + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pymsteams/default.nix b/pkgs/development/python-modules/pymsteams/default.nix index 6708d5bed7071..11f818c2b5e6a 100644 --- a/pkgs/development/python-modules/pymsteams/default.nix +++ b/pkgs/development/python-modules/pymsteams/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "rveachkc"; - repo ="pymsteams"; + repo = "pymsteams"; rev = "refs/tags/${version}"; hash = "sha256-suPCAzjQp46+kKFiCtm65lxBbsn78Owq4dVmWCdhIpA="; }; diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix index 3897b971e32c5..9b110f8f2e83a 100644 --- a/pkgs/development/python-modules/pynvim/default.nix +++ b/pkgs/development/python-modules/pynvim/default.nix @@ -26,7 +26,8 @@ buildPythonPackage rec { dependencies = [ msgpack ] - ++ lib.optionals (!isPyPy) [ greenlet ] ++ lib.optionals (pythonOlder "3.12") [ typing-extensions ]; + ++ lib.optionals (!isPyPy) [ greenlet ] + ++ lib.optionals (pythonOlder "3.12") [ typing-extensions ]; # Tests require pkgs.neovim which we cannot add because of circular dependency doCheck = false; diff --git a/pkgs/development/python-modules/pyowm/default.nix b/pkgs/development/python-modules/pyowm/default.nix index 78d8e05301e4f..afc3fc3ba0b28 100644 --- a/pkgs/development/python-modules/pyowm/default.nix +++ b/pkgs/development/python-modules/pyowm/default.nix @@ -28,7 +28,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ geojson pysocks diff --git a/pkgs/development/python-modules/pyqtgraph/default.nix b/pkgs/development/python-modules/pyqtgraph/default.nix index 629f96d76df4e..45cbada84b375 100644 --- a/pkgs/development/python-modules/pyqtgraph/default.nix +++ b/pkgs/development/python-modules/pyqtgraph/default.nix @@ -75,6 +75,9 @@ buildPythonPackage rec { changelog = "https://github.com/pyqtgraph/pyqtgraph/blob/master/CHANGELOG"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ koral doronbehar ]; + maintainers = with lib.maintainers; [ + koral + doronbehar + ]; }; } diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix index 84e97f2bf050d..efc9368907dfc 100644 --- a/pkgs/development/python-modules/pyquil/default.nix +++ b/pkgs/development/python-modules/pyquil/default.nix @@ -47,7 +47,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ deprecated matplotlib-inline diff --git a/pkgs/development/python-modules/pyre-extensions/default.nix b/pkgs/development/python-modules/pyre-extensions/default.nix index aa5f70da4a91f..6a97b84bc2c04 100644 --- a/pkgs/development/python-modules/pyre-extensions/default.nix +++ b/pkgs/development/python-modules/pyre-extensions/default.nix @@ -19,7 +19,7 @@ buildPythonPackage { src = fetchPypi { inherit version; - pname = "pyre_extensions"; # changed pname on 0.0.31? + pname = "pyre_extensions"; # changed pname on 0.0.31? hash = "sha256-lFgG3TMCeFbPbkHJxK2s/6srVpk/h2L/TqeCb5XbBIE="; }; diff --git a/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix b/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix index 5c689f81c0d6a..ea7ea74498976 100644 --- a/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix +++ b/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix @@ -33,7 +33,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ pysigma pysigma-backend-elasticsearch diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix index c711ef880b803..77c6ad1daedbe 100644 --- a/pkgs/development/python-modules/pysigma/default.nix +++ b/pkgs/development/python-modules/pysigma/default.nix @@ -33,7 +33,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ jinja2 packaging diff --git a/pkgs/development/python-modules/pysolcast/default.nix b/pkgs/development/python-modules/pysolcast/default.nix index db2df1ad97cbd..7b13e0cb81e3a 100644 --- a/pkgs/development/python-modules/pysolcast/default.nix +++ b/pkgs/development/python-modules/pysolcast/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { poetry-dynamic-versioning ]; - dependencies = [ anyconfig isodate diff --git a/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix b/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix index 66a267be113e3..96f167d8f165e 100644 --- a/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix +++ b/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, poetry-core -, pytestCheckHook +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/pytest-mpi/default.nix b/pkgs/development/python-modules/pytest-mpi/default.nix index 7c375aa1087d2..7a474fd084b06 100644 --- a/pkgs/development/python-modules/pytest-mpi/default.nix +++ b/pkgs/development/python-modules/pytest-mpi/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, sybil -, pytest -, pytestCheckHook -, mpi -, mpi4py +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + sybil, + pytest, + pytestCheckHook, + mpi, + mpi4py, }: buildPythonPackage rec { @@ -42,7 +43,8 @@ buildPythonPackage rec { doCheck = false; pytestFlagsArray = [ # https://github.com/aragilar/pytest-mpi/issues/4#issuecomment-634614337 - "-p" "pytester" + "-p" + "pytester" ]; pythonImportsCheck = [ "pytest_mpi" ]; diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix index 72f26cde2d953..4f467a84484e3 100644 --- a/pkgs/development/python-modules/python-mapnik/default.nix +++ b/pkgs/development/python-modules/python-mapnik/default.nix @@ -53,7 +53,8 @@ buildPythonPackage rec { ./python-mapnik_std_optional.patch ]; - stdenv = if python.stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else python.stdenv; + stdenv = + if python.stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else python.stdenv; build-system = [ setuptools ]; @@ -109,21 +110,23 @@ buildPythonPackage rec { ''; # https://github.com/mapnik/python-mapnik/issues/255 - disabledTests = [ - "test_geometry_type" - "test_passing_pycairo_context_pdf" - "test_pdf_printing" - "test_render_with_scale_factor" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "test_passing_pycairo_context_png" - "test_passing_pycairo_context_svg" - "test_pycairo_pdf_surface1" - "test_pycairo_pdf_surface2" - "test_pycairo_pdf_surface3" - "test_pycairo_svg_surface1" - "test_pycairo_svg_surface2" - "test_pycairo_svg_surface3" - ]; + disabledTests = + [ + "test_geometry_type" + "test_passing_pycairo_context_pdf" + "test_pdf_printing" + "test_render_with_scale_factor" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "test_passing_pycairo_context_png" + "test_passing_pycairo_context_svg" + "test_pycairo_pdf_surface1" + "test_pycairo_pdf_surface2" + "test_pycairo_pdf_surface3" + "test_pycairo_svg_surface1" + "test_pycairo_svg_surface2" + "test_pycairo_svg_surface3" + ]; pythonImportsCheck = [ "mapnik" ]; diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index 9cfebbbbaa90c..f1776e25bd764 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -40,7 +40,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - propagatedBuildInputs = [ aiohttp async-timeout diff --git a/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/pkgs/development/python-modules/pytorch-metric-learning/default.nix index 6c110d8fb35e4..dd6ce14adf108 100644 --- a/pkgs/development/python-modules/pytorch-metric-learning/default.nix +++ b/pkgs/development/python-modules/pytorch-metric-learning/default.nix @@ -22,7 +22,7 @@ # tests cudaSupport ? config.cudaSupport, pytestCheckHook, - torchvision + torchvision, }: buildPythonPackage rec { @@ -75,31 +75,34 @@ buildPythonPackage rec { torchvision ] ++ lib.flatten (lib.attrValues optional-dependencies); - disabledTests = [ - # network access - "test_tuplestoweights_sampler" - "test_metric_loss_only" - "test_add_to_indexer" - "test_get_nearest_neighbors" - "test_list_of_text" - "test_untrained_indexer" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # AttributeError: module 'torch.distributed' has no attribute 'init_process_group' - "test_single_proc" - ] ++ lib.optionals cudaSupport [ - # crashes with SIGBART - "test_accuracy_calculator_and_faiss_with_torch_and_numpy" - "test_accuracy_calculator_large_k" - "test_custom_knn" - "test_global_embedding_space_tester" - "test_global_two_stream_embedding_space_tester" - "test_index_type" - "test_k_warning" - "test_many_tied_distances" - "test_query_within_reference" - "test_tied_distances" - "test_with_same_parent_label_tester" - ]; + disabledTests = + [ + # network access + "test_tuplestoweights_sampler" + "test_metric_loss_only" + "test_add_to_indexer" + "test_get_nearest_neighbors" + "test_list_of_text" + "test_untrained_indexer" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # AttributeError: module 'torch.distributed' has no attribute 'init_process_group' + "test_single_proc" + ] + ++ lib.optionals cudaSupport [ + # crashes with SIGBART + "test_accuracy_calculator_and_faiss_with_torch_and_numpy" + "test_accuracy_calculator_large_k" + "test_custom_knn" + "test_global_embedding_space_tester" + "test_global_two_stream_embedding_space_tester" + "test_index_type" + "test_k_warning" + "test_many_tied_distances" + "test_query_within_reference" + "test_tied_distances" + "test_with_same_parent_label_tester" + ]; meta = { description = "Metric learning library for PyTorch"; diff --git a/pkgs/development/python-modules/pyunbound/default.nix b/pkgs/development/python-modules/pyunbound/default.nix index 13357faec5931..a8378b5ad22bf 100644 --- a/pkgs/development/python-modules/pyunbound/default.nix +++ b/pkgs/development/python-modules/pyunbound/default.nix @@ -1,4 +1,14 @@ -{ lib, buildPythonPackage, unbound, openssl, expat, libevent, swig, python, stdenv }: +{ + lib, + buildPythonPackage, + unbound, + openssl, + expat, + libevent, + swig, + python, + stdenv, +}: buildPythonPackage rec { pname = "pyunbound"; @@ -9,7 +19,12 @@ buildPythonPackage rec { nativeBuildInputs = [ swig ]; - buildInputs = [ openssl expat libevent python ]; + buildInputs = [ + openssl + expat + libevent + python + ]; postPatch = '' substituteInPlace Makefile.in \ @@ -47,18 +62,19 @@ buildPythonPackage rec { ]; # All we want is the Unbound Python module - postInstall = '' - # Generate the built in root anchor and root key and store these in a logical place - # to be used by tools depending only on the Python module - $out/bin/unbound-anchor -l | head -1 > $out/etc/${pname}/root.anchor - $out/bin/unbound-anchor -l | tail --lines=+2 - > $out/etc/${pname}/root.key - # We don't need anything else - rm -r $out/bin $out/share $out/include $out/etc/unbound - '' - # patchelf is only available on Linux and no patching is needed on darwin - + lib.optionalString stdenv.hostPlatform.isLinux '' - patchelf --replace-needed libunbound.so.8 $out/${python.sitePackages}/libunbound.so.8 $out/${python.sitePackages}/_unbound.so - ''; + postInstall = + '' + # Generate the built in root anchor and root key and store these in a logical place + # to be used by tools depending only on the Python module + $out/bin/unbound-anchor -l | head -1 > $out/etc/${pname}/root.anchor + $out/bin/unbound-anchor -l | tail --lines=+2 - > $out/etc/${pname}/root.key + # We don't need anything else + rm -r $out/bin $out/share $out/include $out/etc/unbound + '' + # patchelf is only available on Linux and no patching is needed on darwin + + lib.optionalString stdenv.hostPlatform.isLinux '' + patchelf --replace-needed libunbound.so.8 $out/${python.sitePackages}/libunbound.so.8 $out/${python.sitePackages}/_unbound.so + ''; meta = with lib; { description = "Python library for Unbound, the validating, recursive, and caching DNS resolver"; diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix index 9d903f4fe064b..e4e658dd28006 100644 --- a/pkgs/development/python-modules/qcs-api-client/default.nix +++ b/pkgs/development/python-modules/qcs-api-client/default.nix @@ -55,7 +55,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ attrs httpx diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix index 6b52f646a78ca..88c63343203ab 100644 --- a/pkgs/development/python-modules/rdflib/default.nix +++ b/pkgs/development/python-modules/rdflib/default.nix @@ -52,12 +52,15 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - nativeCheckInputs = [ - pip - pytest-cov-stub - pytestCheckHook - setuptools - ] ++ optional-dependencies.networkx ++ optional-dependencies.html; + nativeCheckInputs = + [ + pip + pytest-cov-stub + pytestCheckHook + setuptools + ] + ++ optional-dependencies.networkx + ++ optional-dependencies.html; pytestFlagsArray = [ # requires network access diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix index f1877c11e12e4..6dee74d2b7128 100644 --- a/pkgs/development/python-modules/reikna/default.nix +++ b/pkgs/development/python-modules/reikna/default.nix @@ -30,11 +30,14 @@ buildPythonPackage rec { pytest ]; - propagatedBuildInputs = [ - mako - numpy - funcsigs - ] ++ lib.optional withCuda pycuda ++ lib.optional withOpenCL pyopencl; + propagatedBuildInputs = + [ + mako + numpy + funcsigs + ] + ++ lib.optional withCuda pycuda + ++ lib.optional withOpenCL pyopencl; checkPhase = '' py.test diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix index c8326128fac86..033445a3790cf 100644 --- a/pkgs/development/python-modules/reptor/default.nix +++ b/pkgs/development/python-modules/reptor/default.nix @@ -46,7 +46,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ asgiref certifi diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix index aa8b918ca8c1e..c1e5f1fd6c1b9 100644 --- a/pkgs/development/python-modules/requests-cache/default.nix +++ b/pkgs/development/python-modules/requests-cache/default.nix @@ -68,18 +68,21 @@ buildPythonPackage rec { yaml = [ pyyaml ]; }; - nativeCheckInputs = [ - psutil - pytestCheckHook - pytest-rerunfailures - pytest-xdist - requests-mock - responses - rich - tenacity - time-machine - timeout-decorator - ] ++ optional-dependencies.json ++ optional-dependencies.security; + nativeCheckInputs = + [ + psutil + pytestCheckHook + pytest-rerunfailures + pytest-xdist + requests-mock + responses + rich + tenacity + time-machine + timeout-decorator + ] + ++ optional-dependencies.json + ++ optional-dependencies.security; preCheck = '' export HOME=$(mktemp -d); diff --git a/pkgs/development/python-modules/rfc8785/default.nix b/pkgs/development/python-modules/rfc8785/default.nix index e4eb48964d084..7d3195ee38010 100644 --- a/pkgs/development/python-modules/rfc8785/default.nix +++ b/pkgs/development/python-modules/rfc8785/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, flit-core -, pytestCheckHook -, pythonOlder +{ + lib, + buildPythonPackage, + fetchFromGitHub, + flit-core, + pytestCheckHook, + pythonOlder, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/riscv-config/default.nix b/pkgs/development/python-modules/riscv-config/default.nix index c03e97c6232e4..a159476538bbf 100644 --- a/pkgs/development/python-modules/riscv-config/default.nix +++ b/pkgs/development/python-modules/riscv-config/default.nix @@ -27,7 +27,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ cerberus pyyaml diff --git a/pkgs/development/python-modules/rnginline/default.nix b/pkgs/development/python-modules/rnginline/default.nix index 966dec934aa2f..9c64e23fd0a91 100644 --- a/pkgs/development/python-modules/rnginline/default.nix +++ b/pkgs/development/python-modules/rnginline/default.nix @@ -30,7 +30,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ docopt-ng lxml diff --git a/pkgs/development/python-modules/rowan/default.nix b/pkgs/development/python-modules/rowan/default.nix index d8fe055a99387..84b872d871a7e 100644 --- a/pkgs/development/python-modules/rowan/default.nix +++ b/pkgs/development/python-modules/rowan/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, pytestCheckHook -, scipy -, numpy +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pytestCheckHook, + scipy, + numpy, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/samarium/default.nix b/pkgs/development/python-modules/samarium/default.nix index 9e32e1c5b5dfe..fc91e1480bda3 100644 --- a/pkgs/development/python-modules/samarium/default.nix +++ b/pkgs/development/python-modules/samarium/default.nix @@ -20,7 +20,10 @@ buildPythonPackage rec { }; build-system = [ poetry-core ]; - dependencies = [ crossandra dahlia ]; + dependencies = [ + crossandra + dahlia + ]; meta = with lib; { changelog = "https://github.com/samarium-lang/samarium/blob/${src.rev}/CHANGELOG.md"; diff --git a/pkgs/development/python-modules/samsungtvws/default.nix b/pkgs/development/python-modules/samsungtvws/default.nix index bab6de96b59b4..ee6bdbf1ef50a 100644 --- a/pkgs/development/python-modules/samsungtvws/default.nix +++ b/pkgs/development/python-modules/samsungtvws/default.nix @@ -51,11 +51,14 @@ buildPythonPackage rec { ]; }; - nativeCheckInputs = [ - aioresponses - pytest-asyncio - pytestCheckHook - ] ++ optional-dependencies.async ++ optional-dependencies.encrypted; + nativeCheckInputs = + [ + aioresponses + pytest-asyncio + pytestCheckHook + ] + ++ optional-dependencies.async + ++ optional-dependencies.encrypted; pythonImportsCheck = [ "samsungtvws" ]; diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix index 9ffeb56f887d8..37a608515e7c7 100644 --- a/pkgs/development/python-modules/schema/default.nix +++ b/pkgs/development/python-modules/schema/default.nix @@ -19,7 +19,6 @@ buildPythonPackage rec { hash = "sha256-faVTq9KVihncJUfDiM3lM5izkZYXWpvlnqHK9asKGAc="; }; - pythonRemoveDeps = [ "contextlib2" ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix index 2502006fbae44..146f67f53448f 100644 --- a/pkgs/development/python-modules/scikit-learn/default.nix +++ b/pkgs/development/python-modules/scikit-learn/default.nix @@ -78,14 +78,16 @@ buildPythonPackage rec { # PermissionError: [Errno 1] Operation not permitted: '/nix/nix-installer' doCheck = !stdenv.hostPlatform.isDarwin; - disabledTests = [ - # Skip test_feature_importance_regression - does web fetch - "test_feature_importance_regression" - ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ - # doesn't seem to produce correct results? - # possibly relevant: https://github.com/scikit-learn/scikit-learn/issues/25838#issuecomment-2308650816 - "test_sparse_input" - ]; + disabledTests = + [ + # Skip test_feature_importance_regression - does web fetch + "test_feature_importance_regression" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + # doesn't seem to produce correct results? + # possibly relevant: https://github.com/scikit-learn/scikit-learn/issues/25838#issuecomment-2308650816 + "test_sparse_input" + ]; pytestFlagsArray = [ # verbose build outputs needed to debug hard-to-reproduce hydra failures diff --git a/pkgs/development/python-modules/sdkmanager/default.nix b/pkgs/development/python-modules/sdkmanager/default.nix index 225600d174661..ebe1b685ff23a 100644 --- a/pkgs/development/python-modules/sdkmanager/default.nix +++ b/pkgs/development/python-modules/sdkmanager/default.nix @@ -29,10 +29,13 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ - argcomplete - requests - ] ++ requests.optional-dependencies.socks ++ lib.optionals (pythonAtLeast "3.12") [ looseversion ]; + dependencies = + [ + argcomplete + requests + ] + ++ requests.optional-dependencies.socks + ++ lib.optionals (pythonAtLeast "3.12") [ looseversion ]; postInstall = '' wrapProgram $out/bin/sdkmanager \ diff --git a/pkgs/development/python-modules/semgrep/semgrep-core.nix b/pkgs/development/python-modules/semgrep/semgrep-core.nix index 8986cba7d880f..fd5f1b37a4453 100644 --- a/pkgs/development/python-modules/semgrep/semgrep-core.nix +++ b/pkgs/development/python-modules/semgrep/semgrep-core.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchPypi, unzip }: +{ + lib, + stdenvNoCC, + fetchPypi, + unzip, +}: let common = import ./common.nix { inherit lib; }; diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index e3d542906a717..ed57437d22be8 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -1,64 +1,65 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub +{ + lib, + buildPythonPackage, + fetchFromGitHub, -# build-system -, setuptools + # build-system + setuptools, -# dependencies -, certifi -, urllib3 + # dependencies + certifi, + urllib3, -# optional-dependencies -, aiohttp -, anthropic -, asyncpg -, apache-beam -, bottle -, celery -, celery-redbeat -, chalice -, clickhouse-driver -, django -, falcon -, fastapi -, flask -, blinker -, markupsafe -, grpcio -, protobuf -, httpx -, huey -, huggingface-hub -, langchain -, loguru -, openai -, tiktoken -, pure-eval -, executing -, asttokens -, pymongo -, pyspark -, quart -, rq -, sanic -, sqlalchemy -, starlette -, tornado + # optional-dependencies + aiohttp, + anthropic, + asyncpg, + apache-beam, + bottle, + celery, + celery-redbeat, + chalice, + clickhouse-driver, + django, + falcon, + fastapi, + flask, + blinker, + markupsafe, + grpcio, + protobuf, + httpx, + huey, + huggingface-hub, + langchain, + loguru, + openai, + tiktoken, + pure-eval, + executing, + asttokens, + pymongo, + pyspark, + quart, + rq, + sanic, + sqlalchemy, + starlette, + tornado, -# checks -, ipdb -, jsonschema -, pip -, pyrsistent -, pysocks -, pytest-asyncio -, pytestCheckHook -, pytest-forked -, pytest-localserver -, pytest-xdist -, pytest-watch -, responses + # checks + ipdb, + jsonschema, + pip, + pyrsistent, + pysocks, + pytest-asyncio, + pytestCheckHook, + pytest-forked, + pytest-localserver, + pytest-xdist, + pytest-watch, + responses, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/signalslot/default.nix b/pkgs/development/python-modules/signalslot/default.nix index 7bf0f0ef5b7ec..d6f122f2a56a6 100644 --- a/pkgs/development/python-modules/signalslot/default.nix +++ b/pkgs/development/python-modules/signalslot/default.nix @@ -26,7 +26,6 @@ buildPythonPackage rec { --replace "--cov-report html" "" ''; - propagatedBuildInputs = [ contexter six diff --git a/pkgs/development/python-modules/sigparse/default.nix b/pkgs/development/python-modules/sigparse/default.nix index d06a2a91e49dc..3335b0e7755d5 100644 --- a/pkgs/development/python-modules/sigparse/default.nix +++ b/pkgs/development/python-modules/sigparse/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, poetry-core, pytestCheckHook, - fetchpatch + fetchpatch, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/skl2onnx/default.nix b/pkgs/development/python-modules/skl2onnx/default.nix index 8d258c18883cc..d02b350dc7cdf 100644 --- a/pkgs/development/python-modules/skl2onnx/default.nix +++ b/pkgs/development/python-modules/skl2onnx/default.nix @@ -32,7 +32,6 @@ buildPythonPackage rec { onnxconverter-common ]; - pythonRelaxDeps = [ "scikit-learn" ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/snscrape/default.nix b/pkgs/development/python-modules/snscrape/default.nix index b2b4622c38382..f9e12d45e0c28 100644 --- a/pkgs/development/python-modules/snscrape/default.nix +++ b/pkgs/development/python-modules/snscrape/default.nix @@ -37,12 +37,15 @@ buildPythonPackage rec { build-system = [ setuptools-scm ]; - dependencies = [ - beautifulsoup4 - filelock - lxml - requests - ] ++ requests.optional-dependencies.socks ++ lib.optionals (pythonOlder "3.9") [ pytz ]; + dependencies = + [ + beautifulsoup4 + filelock + lxml + requests + ] + ++ requests.optional-dependencies.socks + ++ lib.optionals (pythonOlder "3.9") [ pytz ]; # There are no tests; make sure the executable works. checkPhase = '' diff --git a/pkgs/development/python-modules/solidpython2/default.nix b/pkgs/development/python-modules/solidpython2/default.nix index 54dd8e2c2004a..124945750e7da 100644 --- a/pkgs/development/python-modules/solidpython2/default.nix +++ b/pkgs/development/python-modules/solidpython2/default.nix @@ -1,11 +1,12 @@ -{ buildPythonPackage -, fetchFromGitHub -, lib -, ply -, setuptools -, poetry-core -, withOpenSCAD ? false -, openscad +{ + buildPythonPackage, + fetchFromGitHub, + lib, + ply, + setuptools, + poetry-core, + withOpenSCAD ? false, + openscad, }: buildPythonPackage rec { pname = "solidpython2"; @@ -24,7 +25,7 @@ buildPythonPackage rec { # - drop the openscad image geneneration tests, these don't work on the nix sandbox due to the need for xserver patches = [ ./difftool_tests.patch ]; - propagatedBuildInputs = lib.optionals withOpenSCAD [openscad]; + propagatedBuildInputs = lib.optionals withOpenSCAD [ openscad ]; build-system = [ poetry-core diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix index ddc71b75eac5b..7a35b89573d96 100644 --- a/pkgs/development/python-modules/spacy-transformers/default.nix +++ b/pkgs/development/python-modules/spacy-transformers/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { cython ]; - dependencies = [ spacy numpy diff --git a/pkgs/development/python-modules/spacy/annotation-test/default.nix b/pkgs/development/python-modules/spacy/annotation-test/default.nix index 5f5f8f3ca0a71..419271ab7e9c8 100644 --- a/pkgs/development/python-modules/spacy/annotation-test/default.nix +++ b/pkgs/development/python-modules/spacy/annotation-test/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { name = "spacy-annotation-test"; src = lib.fileset.toSource { - root = ./.; + root = ./.; fileset = lib.fileset.unions [ ./annotate.py ]; diff --git a/pkgs/development/python-modules/sphinx-multiversion/default.nix b/pkgs/development/python-modules/sphinx-multiversion/default.nix index 6febaecc3f5d4..cbf77abe98769 100644 --- a/pkgs/development/python-modules/sphinx-multiversion/default.nix +++ b/pkgs/development/python-modules/sphinx-multiversion/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonPackage -, pythonOlder -, fetchPypi -, sphinx -, setuptools -, unittestCheckHook +{ + lib, + buildPythonPackage, + pythonOlder, + fetchPypi, + sphinx, + setuptools, + unittestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/sphinx-rtd-theme/default.nix b/pkgs/development/python-modules/sphinx-rtd-theme/default.nix index b53a9849ac066..80dd79d124e25 100644 --- a/pkgs/development/python-modules/sphinx-rtd-theme/default.nix +++ b/pkgs/development/python-modules/sphinx-rtd-theme/default.nix @@ -31,7 +31,6 @@ buildPythonPackage rec { sphinxcontrib-jquery ]; - nativeCheckInputs = [ pytestCheckHook readthedocs-sphinx-ext diff --git a/pkgs/development/python-modules/sphinxcontrib-katex/default.nix b/pkgs/development/python-modules/sphinxcontrib-katex/default.nix index 6716a3ba7902a..44f1e74e62b08 100644 --- a/pkgs/development/python-modules/sphinxcontrib-katex/default.nix +++ b/pkgs/development/python-modules/sphinxcontrib-katex/default.nix @@ -5,7 +5,7 @@ pythonOlder, setuptools, sphinx, - pytestCheckHook + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/sqlmodel/default.nix b/pkgs/development/python-modules/sqlmodel/default.nix index 89f19b1e65057..e7b5212281479 100644 --- a/pkgs/development/python-modules/sqlmodel/default.nix +++ b/pkgs/development/python-modules/sqlmodel/default.nix @@ -30,7 +30,8 @@ buildPythonPackage rec { }; patches = [ - (fetchpatch { # https://github.com/tiangolo/sqlmodel/pull/969 + (fetchpatch { + # https://github.com/tiangolo/sqlmodel/pull/969 name = "passthru-environ-variables.patch"; url = "https://github.com/tiangolo/sqlmodel/pull/969/commits/42d33049e9e4182b78914ad41d1e3d30125126ba.patch"; hash = "sha256-dPuFCFUnmTpduxn45tE8XUP0Jlwjwmwe+zFaKSganOg="; diff --git a/pkgs/development/python-modules/stamina/default.nix b/pkgs/development/python-modules/stamina/default.nix index 9597bc5496439..281b8e03c3ab0 100644 --- a/pkgs/development/python-modules/stamina/default.nix +++ b/pkgs/development/python-modules/stamina/default.nix @@ -1,16 +1,17 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub +{ + lib, + buildPythonPackage, + fetchFromGitHub, -, hatch-fancy-pypi-readme -, hatch-vcs -, hatchling + hatch-fancy-pypi-readme, + hatch-vcs, + hatchling, -, tenacity -, typing-extensions + tenacity, + typing-extensions, -, anyio -, pytestCheckHook + anyio, + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/svg2tikz/default.nix b/pkgs/development/python-modules/svg2tikz/default.nix index e295f2bdc6eab..d079222d53ad4 100644 --- a/pkgs/development/python-modules/svg2tikz/default.nix +++ b/pkgs/development/python-modules/svg2tikz/default.nix @@ -37,7 +37,6 @@ buildPythonPackage rec { "lxml" ]; - nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "svg2tikz" ]; diff --git a/pkgs/development/python-modules/tabcmd/default.nix b/pkgs/development/python-modules/tabcmd/default.nix index 1c2906333437f..b9ec593c9b53f 100644 --- a/pkgs/development/python-modules/tabcmd/default.nix +++ b/pkgs/development/python-modules/tabcmd/default.nix @@ -46,7 +46,6 @@ buildPythonPackage rec { "urllib3" ]; - build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/tago/default.nix b/pkgs/development/python-modules/tago/default.nix index eb42efff56896..d2899ec1a2149 100644 --- a/pkgs/development/python-modules/tago/default.nix +++ b/pkgs/development/python-modules/tago/default.nix @@ -26,7 +26,6 @@ buildPythonPackage rec { pythonRelaxDeps = true; - propagatedBuildInputs = [ aiohttp promise diff --git a/pkgs/development/python-modules/taskw-ng/default.nix b/pkgs/development/python-modules/taskw-ng/default.nix index 35bda3dfb9621..dee865bd833ad 100644 --- a/pkgs/development/python-modules/taskw-ng/default.nix +++ b/pkgs/development/python-modules/taskw-ng/default.nix @@ -36,7 +36,6 @@ buildPythonPackage rec { poetry-dynamic-versioning ]; - propagatedBuildInputs = [ kitchen packaging diff --git a/pkgs/development/python-modules/tbm-utils/default.nix b/pkgs/development/python-modules/tbm-utils/default.nix index 9daa9648fe1ec..a11a8dfef6b20 100644 --- a/pkgs/development/python-modules/tbm-utils/default.nix +++ b/pkgs/development/python-modules/tbm-utils/default.nix @@ -51,7 +51,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - propagatedBuildInputs = [ attrs pendulum diff --git a/pkgs/development/python-modules/tensorboard/default.nix b/pkgs/development/python-modules/tensorboard/default.nix index 918df0bb1c91b..d6801aa6d6294 100644 --- a/pkgs/development/python-modules/tensorboard/default.nix +++ b/pkgs/development/python-modules/tensorboard/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { hash = "sha256-EHykghdF9z4q76AsUP9wqbaU8595CxHm9oL30yZ0Xqs="; }; - pythonRelaxDeps = [ "google-auth-oauthlib" "protobuf" diff --git a/pkgs/development/python-modules/terminaltexteffects/default.nix b/pkgs/development/python-modules/terminaltexteffects/default.nix index 27b07d5615888..2879d7e9dd270 100644 --- a/pkgs/development/python-modules/terminaltexteffects/default.nix +++ b/pkgs/development/python-modules/terminaltexteffects/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { disabled = pythonOlder "3.8"; - # no tests on pypi, no tags on github + # no tests on pypi, no tags on github src = fetchPypi { inherit pname version; hash = "sha256-FDDLc7oAOgSpaxmuS6Wzej+vEOuSx3WT2ntpfoET3LI="; diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix index 8265202425137..ad3ae1d1b8def 100644 --- a/pkgs/development/python-modules/textual/default.nix +++ b/pkgs/development/python-modules/textual/default.nix @@ -34,12 +34,15 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ - platformdirs - markdown-it-py - rich - typing-extensions - ] ++ markdown-it-py.optional-dependencies.plugins ++ markdown-it-py.optional-dependencies.linkify; + dependencies = + [ + platformdirs + markdown-it-py + rich + typing-extensions + ] + ++ markdown-it-py.optional-dependencies.plugins + ++ markdown-it-py.optional-dependencies.linkify; optional-dependencies = { syntax = [ diff --git a/pkgs/development/python-modules/timy/default.nix b/pkgs/development/python-modules/timy/default.nix index 3fb4096bb5196..678623fabd0e1 100644 --- a/pkgs/development/python-modules/timy/default.nix +++ b/pkgs/development/python-modules/timy/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pytestCheckHook +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/tree-sitter-html/default.nix b/pkgs/development/python-modules/tree-sitter-html/default.nix index 4c5060294231c..28c8707bb7363 100644 --- a/pkgs/development/python-modules/tree-sitter-html/default.nix +++ b/pkgs/development/python-modules/tree-sitter-html/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, tree-sitter +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + tree-sitter, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/tree-sitter-javascript/default.nix b/pkgs/development/python-modules/tree-sitter-javascript/default.nix index 39766ce588f79..8987a233ae375 100644 --- a/pkgs/development/python-modules/tree-sitter-javascript/default.nix +++ b/pkgs/development/python-modules/tree-sitter-javascript/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, tree-sitter +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + tree-sitter, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/tree-sitter-json/default.nix b/pkgs/development/python-modules/tree-sitter-json/default.nix index 0e6cd37f8b87a..1716cd9e715eb 100644 --- a/pkgs/development/python-modules/tree-sitter-json/default.nix +++ b/pkgs/development/python-modules/tree-sitter-json/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, tree-sitter +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + tree-sitter, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/tree-sitter-python/default.nix b/pkgs/development/python-modules/tree-sitter-python/default.nix index ece3a6900804e..372b595c87509 100644 --- a/pkgs/development/python-modules/tree-sitter-python/default.nix +++ b/pkgs/development/python-modules/tree-sitter-python/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, tree-sitter +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + tree-sitter, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/tree-sitter-rust/default.nix b/pkgs/development/python-modules/tree-sitter-rust/default.nix index 526d1907a0a65..3e65b035b39fb 100644 --- a/pkgs/development/python-modules/tree-sitter-rust/default.nix +++ b/pkgs/development/python-modules/tree-sitter-rust/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, setuptools -, tree-sitter +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + tree-sitter, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/tuf/default.nix b/pkgs/development/python-modules/tuf/default.nix index f2fb03758fbd8..320e9e240be2f 100644 --- a/pkgs/development/python-modules/tuf/default.nix +++ b/pkgs/development/python-modules/tuf/default.nix @@ -26,10 +26,13 @@ buildPythonPackage rec { build-system = [ hatchling ]; - dependencies = [ - requests - securesystemslib - ] ++ securesystemslib.optional-dependencies.pynacl ++ securesystemslib.optional-dependencies.crypto; + dependencies = + [ + requests + securesystemslib + ] + ++ securesystemslib.optional-dependencies.pynacl + ++ securesystemslib.optional-dependencies.crypto; nativeCheckInputs = [ ed25519 diff --git a/pkgs/development/python-modules/twill/default.nix b/pkgs/development/python-modules/twill/default.nix index 8b5144e74eccd..f9013e4d8a1d2 100644 --- a/pkgs/development/python-modules/twill/default.nix +++ b/pkgs/development/python-modules/twill/default.nix @@ -27,7 +27,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ httpx lxml diff --git a/pkgs/development/python-modules/typer-shell/default.nix b/pkgs/development/python-modules/typer-shell/default.nix index eed96f61780ad..79c5468ebdf88 100644 --- a/pkgs/development/python-modules/typer-shell/default.nix +++ b/pkgs/development/python-modules/typer-shell/default.nix @@ -33,7 +33,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ click click-shell diff --git a/pkgs/development/python-modules/typer/default.nix b/pkgs/development/python-modules/typer/default.nix index 3c92fb408ecf0..dae031fe710e3 100644 --- a/pkgs/development/python-modules/typer/default.nix +++ b/pkgs/development/python-modules/typer/default.nix @@ -33,8 +33,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ click typing-extensions - # Build includes the standard optional by default - # https://github.com/tiangolo/typer/blob/0.12.3/pyproject.toml#L71-L72 + # Build includes the standard optional by default + # https://github.com/tiangolo/typer/blob/0.12.3/pyproject.toml#L71-L72 ] ++ optional-dependencies.standard; optional-dependencies = { @@ -44,26 +44,32 @@ buildPythonPackage rec { ]; }; - nativeCheckInputs = [ - coverage # execs coverage in tests - pytest-sugar - pytest-xdist - pytestCheckHook - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - procps - ]; + nativeCheckInputs = + [ + coverage # execs coverage in tests + pytest-sugar + pytest-xdist + pytestCheckHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + procps + ]; preCheck = '' export HOME=$(mktemp -d); ''; - disabledTests = [ - "test_scripts" - # Likely related to https://github.com/sarugaku/shellingham/issues/35 - # fails also on Linux - "test_show_completion" - "test_install_completion" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ "test_install_completion" ]; + disabledTests = + [ + "test_scripts" + # Likely related to https://github.com/sarugaku/shellingham/issues/35 + # fails also on Linux + "test_show_completion" + "test_install_completion" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + "test_install_completion" + ]; pythonImportsCheck = [ "typer" ]; diff --git a/pkgs/development/python-modules/typical/default.nix b/pkgs/development/python-modules/typical/default.nix index d222c05650dd6..2d8928d2455ff 100644 --- a/pkgs/development/python-modules/typical/default.nix +++ b/pkgs/development/python-modules/typical/default.nix @@ -34,7 +34,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - dependencies = [ fastjsonschema future-typing diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix index 22ea350cf303d..06a0307ba731a 100644 --- a/pkgs/development/python-modules/ufo2ft/default.nix +++ b/pkgs/development/python-modules/ufo2ft/default.nix @@ -44,17 +44,20 @@ buildPythonPackage rec { pythonRelaxDeps = [ "cffsubr" ]; - dependencies = [ - cu2qu - fontmath - fonttools - defcon - compreffor - booleanoperations - cffsubr - ufolib2 - skia-pathops - ] ++ fonttools.optional-dependencies.lxml ++ fonttools.optional-dependencies.ufo; + dependencies = + [ + cu2qu + fontmath + fonttools + defcon + compreffor + booleanoperations + cffsubr + ufolib2 + skia-pathops + ] + ++ fonttools.optional-dependencies.lxml + ++ fonttools.optional-dependencies.ufo; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix index 9d8cb99be6852..37998350b2696 100644 --- a/pkgs/development/python-modules/uncertainties/default.nix +++ b/pkgs/development/python-modules/uncertainties/default.nix @@ -35,8 +35,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - ] - ++ optional-dependencies.arrays; + ] ++ optional-dependencies.arrays; pythonImportsCheck = [ "uncertainties" ]; diff --git a/pkgs/development/python-modules/universal-silabs-flasher/default.nix b/pkgs/development/python-modules/universal-silabs-flasher/default.nix index 025eec125099c..97aeed521d3e0 100644 --- a/pkgs/development/python-modules/universal-silabs-flasher/default.nix +++ b/pkgs/development/python-modules/universal-silabs-flasher/default.nix @@ -43,7 +43,6 @@ buildPythonPackage rec { --replace-fail 'dynamic = ["version"]' 'version = "${version}"' ''; - build-system = [ setuptools ]; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/unstructured-inference/default.nix b/pkgs/development/python-modules/unstructured-inference/default.nix index cf51d6bdf9732..49c6eefd605fb 100644 --- a/pkgs/development/python-modules/unstructured-inference/default.nix +++ b/pkgs/development/python-modules/unstructured-inference/default.nix @@ -45,7 +45,8 @@ buildPythonPackage rec { paddleocr # yolox ] - ++ layoutparser.optional-dependencies.layoutmodels ++ layoutparser.optional-dependencies.tesseract; + ++ layoutparser.optional-dependencies.layoutmodels + ++ layoutparser.optional-dependencies.tesseract; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/uvcclient/default.nix b/pkgs/development/python-modules/uvcclient/default.nix index 4f37152ef71f5..8bcf22c0806c3 100644 --- a/pkgs/development/python-modules/uvcclient/default.nix +++ b/pkgs/development/python-modules/uvcclient/default.nix @@ -6,7 +6,7 @@ mock, pytest-cov-stub, pytest-xdist, - pytestCheckHook + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/visions/default.nix b/pkgs/development/python-modules/visions/default.nix index f79a34ce58c9b..58b325b3877f1 100644 --- a/pkgs/development/python-modules/visions/default.nix +++ b/pkgs/development/python-modules/visions/default.nix @@ -1,20 +1,21 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pythonOlder -, pytestCheckHook -, setuptools -, attrs -, imagehash -, matplotlib -, multimethod -, networkx -, numpy -, pandas -, pillow -, pydot -, pygraphviz -, shapely +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + pytestCheckHook, + setuptools, + attrs, + imagehash, + matplotlib, + multimethod, + networkx, + numpy, + pandas, + pillow, + pydot, + pygraphviz, + shapely, }: buildPythonPackage rec { @@ -27,7 +28,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "dylan-profiler"; repo = "visions"; - rev = "5fe9dd0c2a5ada0162a005c880bac5296686a5aa"; # no 0.7.6 tag in github + rev = "5fe9dd0c2a5ada0162a005c880bac5296686a5aa"; # no 0.7.6 tag in github hash = "sha256-SZzDXm+faAvrfSOT0fwwAf9IH7upNybwKxbjw1CrHj8="; }; @@ -44,8 +45,15 @@ buildPythonPackage rec { optional-dependencies = { type-geometry = [ shapely ]; - type-image-path = [ imagehash pillow ]; - plotting = [ matplotlib pydot pygraphviz ]; + type-image-path = [ + imagehash + pillow + ]; + plotting = [ + matplotlib + pydot + pygraphviz + ]; }; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/vnoise/default.nix b/pkgs/development/python-modules/vnoise/default.nix index 02f917bc17aca..169f5b3fd61b2 100644 --- a/pkgs/development/python-modules/vnoise/default.nix +++ b/pkgs/development/python-modules/vnoise/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, numpy -, pytestCheckHook -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + numpy, + pytestCheckHook, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/vt-py/default.nix b/pkgs/development/python-modules/vt-py/default.nix index f81ce1d07dfc5..6a340fbeeb129 100644 --- a/pkgs/development/python-modules/vt-py/default.nix +++ b/pkgs/development/python-modules/vt-py/default.nix @@ -35,7 +35,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ aiofiles aiohttp diff --git a/pkgs/development/python-modules/w3lib/default.nix b/pkgs/development/python-modules/w3lib/default.nix index 620f30f2508f5..96314e37ca7cb 100644 --- a/pkgs/development/python-modules/w3lib/default.nix +++ b/pkgs/development/python-modules/w3lib/default.nix @@ -4,7 +4,7 @@ fetchPypi, pytestCheckHook, pythonOlder, - setuptools + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix index 7253e9d5c3401..b7bbebd84189a 100644 --- a/pkgs/development/python-modules/weconnect-mqtt/default.nix +++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix @@ -38,7 +38,6 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ paho-mqtt_2 python-dateutil diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index 1be46ecf56566..4209ceb2e2837 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -37,7 +37,6 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - pythonRelaxDeps = [ "pycryptodomex" ]; dependencies = [ diff --git a/pkgs/development/python-modules/xsdata/default.nix b/pkgs/development/python-modules/xsdata/default.nix index e83779c85a803..9524fc6b2200b 100644 --- a/pkgs/development/python-modules/xsdata/default.nix +++ b/pkgs/development/python-modules/xsdata/default.nix @@ -59,9 +59,13 @@ buildPythonPackage rec { soap = [ requests ]; }; - nativeCheckInputs = [ - pytestCheckHook - ] ++ optional-dependencies.cli ++ optional-dependencies.lxml ++ optional-dependencies.soap; + nativeCheckInputs = + [ + pytestCheckHook + ] + ++ optional-dependencies.cli + ++ optional-dependencies.lxml + ++ optional-dependencies.soap; disabledTestPaths = [ "tests/integration/benchmarks" ]; diff --git a/pkgs/development/python2-modules/attrs/default.nix b/pkgs/development/python2-modules/attrs/default.nix index 30eb0ab17e259..d4b2630bd4cd6 100644 --- a/pkgs/development/python2-modules/attrs/default.nix +++ b/pkgs/development/python2-modules/attrs/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildPythonPackage -, fetchPypi +{ + lib, + buildPythonPackage, + fetchPypi, }: buildPythonPackage rec { diff --git a/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix b/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix index 859bb6b8d91ab..6b0f0a6047c40 100644 --- a/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix +++ b/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchPypi -, setuptools -, setuptools-scm +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + setuptools-scm, }: buildPythonPackage rec { @@ -35,4 +36,3 @@ buildPythonPackage rec { license = lib.licenses.mit; }; } - diff --git a/pkgs/development/python2-modules/bootstrapped-pip/default.nix b/pkgs/development/python2-modules/bootstrapped-pip/default.nix index 846c76b677b3b..112ec66578bb3 100644 --- a/pkgs/development/python2-modules/bootstrapped-pip/default.nix +++ b/pkgs/development/python2-modules/bootstrapped-pip/default.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, python, makeWrapper, unzip -, pipInstallHook -, setuptoolsBuildHook -, wheel, pip, setuptools +{ + lib, + stdenv, + python, + makeWrapper, + unzip, + pipInstallHook, + setuptoolsBuildHook, + wheel, + pip, + setuptools, }: stdenv.mkDerivation rec { @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { inherit (pip) version; name = "${python.libPrefix}-bootstrapped-${pname}-${version}"; - srcs = [ wheel.src pip.src setuptools.src ]; + srcs = [ + wheel.src + pip.src + setuptools.src + ]; sourceRoot = "."; dontUseSetuptoolsBuild = true; @@ -18,46 +29,54 @@ stdenv.mkDerivation rec { # Should be propagatedNativeBuildInputs propagatedBuildInputs = [ # Override to remove dependencies to prevent infinite recursion. - (pipInstallHook.override{pip=null;}) - (setuptoolsBuildHook.override{setuptools=null; wheel=null;}) + (pipInstallHook.override { pip = null; }) + (setuptoolsBuildHook.override { + setuptools = null; + wheel = null; + }) ]; postPatch = '' mkdir -p $out/bin ''; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; buildInputs = [ python ]; dontBuild = true; - installPhase = lib.optionalString (!stdenv.hostPlatform.isWindows) '' - export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0 - '' + '' - # Give folders a known name - mv pip* pip - mv setuptools* setuptools - mv wheel* wheel - # Set up PYTHONPATH: - # - pip and setuptools need to be in PYTHONPATH to install setuptools, wheel, and pip. - # - $out is where we are installing to and takes precedence, and is where wheel will end so we can install pip. - export PYTHONPATH="$out/${python.sitePackages}:$(pwd)/pip/src:$(pwd)/setuptools:$(pwd)/setuptools/pkg_resources:$PYTHONPATH" + installPhase = + lib.optionalString (!stdenv.hostPlatform.isWindows) '' + export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0 + '' + + '' + # Give folders a known name + mv pip* pip + mv setuptools* setuptools + mv wheel* wheel + # Set up PYTHONPATH: + # - pip and setuptools need to be in PYTHONPATH to install setuptools, wheel, and pip. + # - $out is where we are installing to and takes precedence, and is where wheel will end so we can install pip. + export PYTHONPATH="$out/${python.sitePackages}:$(pwd)/pip/src:$(pwd)/setuptools:$(pwd)/setuptools/pkg_resources:$PYTHONPATH" - echo "Building setuptools wheel..." - pushd setuptools - ${python.pythonOnBuildForHost.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache . - popd + echo "Building setuptools wheel..." + pushd setuptools + ${python.pythonOnBuildForHost.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache . + popd - echo "Building wheel wheel..." - pushd wheel - ${python.pythonOnBuildForHost.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache . - popd + echo "Building wheel wheel..." + pushd wheel + ${python.pythonOnBuildForHost.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache . + popd - echo "Building pip wheel..." - pushd pip - ${python.pythonOnBuildForHost.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache . - popd - ''; + echo "Building pip wheel..." + pushd pip + ${python.pythonOnBuildForHost.interpreter} -m pip install --no-build-isolation --no-index --prefix=$out --ignore-installed --no-dependencies --no-cache . + popd + ''; meta = { description = "Version of pip used for bootstrapping"; diff --git a/pkgs/development/python2-modules/cffi/default.nix b/pkgs/development/python2-modules/cffi/default.nix index aa6f49f95e3ce..52ed21c84918f 100644 --- a/pkgs/development/python2-modules/cffi/default.nix +++ b/pkgs/development/python2-modules/cffi/default.nix @@ -1,45 +1,52 @@ -{ lib, stdenv, cffi }: +{ + lib, + stdenv, + cffi, +}: -if cffi == null then null else cffi.overridePythonAttrs { - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ - # cannot load library 'c' - "test_FILE" - "test_FILE_object" - "test_FILE_only_for_FILE_arg" - "test_load_and_call_function" - "test_load_library" +if cffi == null then + null +else + cffi.overridePythonAttrs { + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + # cannot load library 'c' + "test_FILE" + "test_FILE_object" + "test_FILE_only_for_FILE_arg" + "test_load_and_call_function" + "test_load_library" - # cannot load library 'dl' - "test_dlopen_handle" + # cannot load library 'dl' + "test_dlopen_handle" - # cannot load library 'm' - "test_dir_on_dlopen_lib" - "test_dlclose" - "test_dlopen" - "test_dlopen_constant" - "test_dlopen_flags" - "test_function_typedef" - "test_line_continuation_in_defines" - "test_missing_function" - "test_remove_comments" - "test_remove_line_continuation_comments" - "test_simple" - "test_sin" - "test_sinf" - "test_stdcall_only_on_windows" - "test_wraps_from_stdlib" + # cannot load library 'm' + "test_dir_on_dlopen_lib" + "test_dlclose" + "test_dlopen" + "test_dlopen_constant" + "test_dlopen_flags" + "test_function_typedef" + "test_line_continuation_in_defines" + "test_missing_function" + "test_remove_comments" + "test_remove_line_continuation_comments" + "test_simple" + "test_sin" + "test_sinf" + "test_stdcall_only_on_windows" + "test_wraps_from_stdlib" - # MemoryError - "test_callback_as_function_argument" - "test_callback_crash" - "test_callback_decorator" - "test_callback_large_struct" - "test_callback_returning_void" - "test_cast_functionptr_and_int" - "test_function_pointer" - "test_functionptr_intptr_return" - "test_functionptr_simple" - "test_functionptr_void_return" - "test_functionptr_voidptr_return" - ]; -} + # MemoryError + "test_callback_as_function_argument" + "test_callback_crash" + "test_callback_decorator" + "test_callback_large_struct" + "test_callback_returning_void" + "test_cast_functionptr_and_int" + "test_function_pointer" + "test_functionptr_intptr_return" + "test_functionptr_simple" + "test_functionptr_void_return" + "test_functionptr_voidptr_return" + ]; + } diff --git a/pkgs/development/python2-modules/configparser/default.nix b/pkgs/development/python2-modules/configparser/default.nix index 956c12f44c5dc..bff2f2723340b 100644 --- a/pkgs/development/python2-modules/configparser/default.nix +++ b/pkgs/development/python2-modules/configparser/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildPythonPackage, fetchPypi, setuptools-scm }: +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + setuptools-scm, +}: buildPythonPackage rec { pname = "configparser"; diff --git a/pkgs/development/python2-modules/contextlib2/default.nix b/pkgs/development/python2-modules/contextlib2/default.nix index 063039448feab..6da00c18b6274 100644 --- a/pkgs/development/python2-modules/contextlib2/default.nix +++ b/pkgs/development/python2-modules/contextlib2/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildPythonPackage -, fetchPypi +{ + lib, + buildPythonPackage, + fetchPypi, }: buildPythonPackage rec { diff --git a/pkgs/development/python2-modules/coverage/default.nix b/pkgs/development/python2-modules/coverage/default.nix index 94da2f4c7b43d..49766e98858f9 100644 --- a/pkgs/development/python2-modules/coverage/default.nix +++ b/pkgs/development/python2-modules/coverage/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonPackage -, fetchPypi -, mock +{ + lib, + buildPythonPackage, + fetchPypi, + mock, }: buildPythonPackage rec { diff --git a/pkgs/development/python2-modules/enum/default.nix b/pkgs/development/python2-modules/enum/default.nix index db827601d5de5..b2cf685df1438 100644 --- a/pkgs/development/python2-modules/enum/default.nix +++ b/pkgs/development/python2-modules/enum/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchPypi -, isPy3k -, isPyPy +{ + lib, + buildPythonPackage, + fetchPypi, + isPy3k, + isPyPy, }: buildPythonPackage rec { diff --git a/pkgs/development/python2-modules/filelock/default.nix b/pkgs/development/python2-modules/filelock/default.nix index fc787fab1b3e2..15ba0afec8b68 100644 --- a/pkgs/development/python2-modules/filelock/default.nix +++ b/pkgs/development/python2-modules/filelock/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchPypi, setuptools-scm }: +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools-scm, +}: buildPythonPackage rec { pname = "filelock"; diff --git a/pkgs/development/python2-modules/futures/default.nix b/pkgs/development/python2-modules/futures/default.nix index 5cad6c13029d9..035962759c4ca 100644 --- a/pkgs/development/python2-modules/futures/default.nix +++ b/pkgs/development/python2-modules/futures/default.nix @@ -1,4 +1,11 @@ -{ lib, buildPythonPackage, fetchPypi, isPy3k, python, stdenv }: +{ + lib, + buildPythonPackage, + fetchPypi, + isPy3k, + python, + stdenv, +}: buildPythonPackage rec { pname = "futures"; diff --git a/pkgs/development/python2-modules/hypothesis/default.nix b/pkgs/development/python2-modules/hypothesis/default.nix index 06dd5930aae30..ed9e049bc9559 100644 --- a/pkgs/development/python2-modules/hypothesis/default.nix +++ b/pkgs/development/python2-modules/hypothesis/default.nix @@ -1,7 +1,18 @@ -{ lib, buildPythonPackage, fetchFromGitHub -, isPy3k, attrs, coverage, enum34, pexpect -, doCheck ? true, pytest, pytest-xdist, flaky, mock -, sortedcontainers +{ + lib, + buildPythonPackage, + fetchFromGitHub, + isPy3k, + attrs, + coverage, + enum34, + pexpect, + doCheck ? true, + pytest, + pytest-xdist, + flaky, + mock, + sortedcontainers, }: buildPythonPackage rec { # https://hypothesis.readthedocs.org/en/latest/packaging.html @@ -29,7 +40,13 @@ buildPythonPackage rec { sortedcontainers ] ++ lib.optional (!isPy3k) enum34; - nativeCheckInputs = [ pytest pytest-xdist flaky mock pexpect ]; + nativeCheckInputs = [ + pytest + pytest-xdist + flaky + mock + pexpect + ]; inherit doCheck; checkPhase = '' diff --git a/pkgs/development/python2-modules/importlib-metadata/default.nix b/pkgs/development/python2-modules/importlib-metadata/default.nix index f50b2c07c1dab..72b37433c5122 100644 --- a/pkgs/development/python2-modules/importlib-metadata/default.nix +++ b/pkgs/development/python2-modules/importlib-metadata/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchPypi -, setuptools-scm -, zipp -, pathlib2 -, contextlib2 -, configparser -, isPy3k +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools-scm, + zipp, + pathlib2, + contextlib2, + configparser, + isPy3k, }: buildPythonPackage rec { @@ -21,8 +22,13 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ zipp ] - ++ lib.optionals (!isPy3k) [ pathlib2 contextlib2 configparser ]; + propagatedBuildInputs = + [ zipp ] + ++ lib.optionals (!isPy3k) [ + pathlib2 + contextlib2 + configparser + ]; # Cyclic dependencies doCheck = false; diff --git a/pkgs/development/python2-modules/jinja2/default.nix b/pkgs/development/python2-modules/jinja2/default.nix index 1b6948a66aade..53f9bb60379d6 100644 --- a/pkgs/development/python2-modules/jinja2/default.nix +++ b/pkgs/development/python2-modules/jinja2/default.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, buildPythonPackage -, isPy3k -, fetchPypi -, pytest -, markupsafe -, setuptools +{ + lib, + stdenv, + buildPythonPackage, + isPy3k, + fetchPypi, + pytest, + markupsafe, + setuptools, }: buildPythonPackage rec { @@ -17,7 +19,10 @@ buildPythonPackage rec { }; nativeCheckInputs = [ pytest ]; - propagatedBuildInputs = [ markupsafe setuptools ]; + propagatedBuildInputs = [ + markupsafe + setuptools + ]; # Multiple tests run out of stack space on 32bit systems with python2. # See https://github.com/pallets/jinja/issues/1158 diff --git a/pkgs/development/python2-modules/markupsafe/default.nix b/pkgs/development/python2-modules/markupsafe/default.nix index ae0878c7a9723..7bff587591e13 100644 --- a/pkgs/development/python2-modules/markupsafe/default.nix +++ b/pkgs/development/python2-modules/markupsafe/default.nix @@ -1,13 +1,14 @@ -{ lib -, buildPythonPackage -, fetchPypi +{ + lib, + buildPythonPackage, + fetchPypi, }: buildPythonPackage rec { pname = "MarkupSafe"; version = "1.1.1"; - src = fetchPypi { + src = fetchPypi { inherit pname version; sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"; }; diff --git a/pkgs/development/python2-modules/mock/default.nix b/pkgs/development/python2-modules/mock/default.nix index a343acfffaa19..63298dfc38dfe 100644 --- a/pkgs/development/python2-modules/mock/default.nix +++ b/pkgs/development/python2-modules/mock/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchPypi -, isPy27 -, funcsigs -, six -, pbr -, unittestCheckHook -, pytest +{ + lib, + buildPythonPackage, + fetchPypi, + isPy27, + funcsigs, + six, + pbr, + unittestCheckHook, + pytest, }: buildPythonPackage rec { @@ -18,7 +19,10 @@ buildPythonPackage rec { sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3"; }; - propagatedBuildInputs = [ six pbr ] ++ lib.optionals isPy27 [ funcsigs ]; + propagatedBuildInputs = [ + six + pbr + ] ++ lib.optionals isPy27 [ funcsigs ]; # On PyPy for Python 2.7 in particular, Mock's tests have a known failure. # Mock upstream has a decoration to disable the failing test and make diff --git a/pkgs/development/python2-modules/more-itertools/default.nix b/pkgs/development/python2-modules/more-itertools/default.nix index 7a09dda8e9cd7..ae2d5f7235642 100644 --- a/pkgs/development/python2-modules/more-itertools/default.nix +++ b/pkgs/development/python2-modules/more-itertools/default.nix @@ -1,12 +1,12 @@ -{ lib -, buildPythonPackage -, fetchPypi -, unittestCheckHook -, six -, stdenv +{ + lib, + buildPythonPackage, + fetchPypi, + unittestCheckHook, + six, + stdenv, }: - buildPythonPackage rec { pname = "more-itertools"; version = "5.0.0"; diff --git a/pkgs/development/python2-modules/packaging/default.nix b/pkgs/development/python2-modules/packaging/default.nix index 61f0ed3a73035..71d4d67471768 100644 --- a/pkgs/development/python2-modules/packaging/default.nix +++ b/pkgs/development/python2-modules/packaging/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonPackage -, fetchPypi -, pyparsing -, six -, pytestCheckHook -, pretend +{ + lib, + buildPythonPackage, + fetchPypi, + pyparsing, + six, + pytestCheckHook, + pretend, }: # We keep 20.4 because it uses setuptools instead of flit-core @@ -20,7 +21,10 @@ buildPythonPackage rec { sha256 = "4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"; }; - propagatedBuildInputs = [ pyparsing six ]; + propagatedBuildInputs = [ + pyparsing + six + ]; nativeCheckInputs = [ pytestCheckHook @@ -33,7 +37,10 @@ buildPythonPackage rec { meta = with lib; { description = "Core utilities for Python packages"; homepage = "https://github.com/pypa/packaging"; - license = [ licenses.bsd2 licenses.asl20 ]; + license = [ + licenses.bsd2 + licenses.asl20 + ]; maintainers = with maintainers; [ bennofs ]; }; } diff --git a/pkgs/development/python2-modules/pip/default.nix b/pkgs/development/python2-modules/pip/default.nix index 0e5229c588445..229f34fa1a7ad 100644 --- a/pkgs/development/python2-modules/pip/default.nix +++ b/pkgs/development/python2-modules/pip/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, bootstrapped-pip -, fetchFromGitHub -, mock -, scripttest -, virtualenv -, pretend -, pytest +{ + lib, + buildPythonPackage, + bootstrapped-pip, + fetchFromGitHub, + mock, + scripttest, + virtualenv, + pretend, + pytest, }: buildPythonPackage rec { @@ -28,7 +29,13 @@ buildPythonPackage rec { # to force it a little. pipInstallFlags = [ "--ignore-installed" ]; - nativeCheckInputs = [ mock scripttest virtualenv pretend pytest ]; + nativeCheckInputs = [ + mock + scripttest + virtualenv + pretend + pytest + ]; # Pip wants pytest, but tests are not distributed doCheck = false; diff --git a/pkgs/development/python2-modules/pluggy/default.nix b/pkgs/development/python2-modules/pluggy/default.nix index ea362bdb5812f..6765530948a29 100644 --- a/pkgs/development/python2-modules/pluggy/default.nix +++ b/pkgs/development/python2-modules/pluggy/default.nix @@ -1,8 +1,9 @@ -{ buildPythonPackage -, lib -, fetchPypi -, setuptools-scm -, importlib-metadata +{ + buildPythonPackage, + lib, + fetchPypi, + setuptools-scm, + importlib-metadata, }: buildPythonPackage rec { diff --git a/pkgs/development/python2-modules/pycairo/default.nix b/pkgs/development/python2-modules/pycairo/default.nix index 97fe85a999075..85430cae6ac27 100644 --- a/pkgs/development/python2-modules/pycairo/default.nix +++ b/pkgs/development/python2-modules/pycairo/default.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, meson -, ninja -, buildPythonPackage -, pytest -, pkg-config -, cairo -, python +{ + lib, + fetchFromGitHub, + fetchpatch, + meson, + ninja, + buildPythonPackage, + pytest, + pkg-config, + cairo, + python, }: buildPythonPackage rec { @@ -56,7 +57,10 @@ buildPythonPackage rec { meta = with lib; { description = "Python 2 bindings for cairo"; homepage = "https://pycairo.readthedocs.io/"; - license = with licenses; [ lgpl21Only mpl11 ]; + license = with licenses; [ + lgpl21Only + mpl11 + ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; } diff --git a/pkgs/development/python2-modules/pygobject/default.nix b/pkgs/development/python2-modules/pygobject/default.nix index 3202c6e6af76d..01920854cb043 100644 --- a/pkgs/development/python2-modules/pygobject/default.nix +++ b/pkgs/development/python2-modules/pygobject/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, fetchpatch, python, buildPythonPackage, pkg-config, glib, isPy3k, pythonAtLeast }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + python, + buildPythonPackage, + pkg-config, + glib, + isPy3k, + pythonAtLeast, +}: buildPythonPackage rec { pname = "pygobject"; @@ -11,7 +22,10 @@ buildPythonPackage rec { sha256 = "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"; }; - outputs = [ "out" "devdoc" ]; + outputs = [ + "out" + "devdoc" + ]; patches = lib.optionals stdenv.hostPlatform.isDarwin [ ./pygobject-2.0-fix-darwin.patch diff --git a/pkgs/development/python2-modules/pygtk/default.nix b/pkgs/development/python2-modules/pygtk/default.nix index 68a7dba4c8e36..9ba5ce952e17e 100644 --- a/pkgs/development/python2-modules/pygtk/default.nix +++ b/pkgs/development/python2-modules/pygtk/default.nix @@ -1,9 +1,24 @@ -{ lib, stdenv, fetchurl, fetchpatch, python, pkg-config, gtk2, pygobject2, pycairo, pango -, buildPythonPackage, isPy3k }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + python, + pkg-config, + gtk2, + pygobject2, + pycairo, + pango, + buildPythonPackage, + isPy3k, +}: buildPythonPackage rec { pname = "pygtk"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; version = "2.24.0"; format = "other"; @@ -31,13 +46,18 @@ buildPythonPackage rec { pango ]; - propagatedBuildInputs = [ gtk2 pygobject2 pycairo ]; + propagatedBuildInputs = [ + gtk2 + pygobject2 + pycairo + ]; configurePhase = "configurePhase"; buildPhase = "buildPhase"; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-ObjC" + env.NIX_CFLAGS_COMPILE = + lib.optionalString stdenv.hostPlatform.isDarwin "-ObjC" + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) " -lpython2.7"; installPhase = "installPhase"; @@ -50,7 +70,8 @@ buildPythonPackage rec { -e "s/.*testGlade.*//" \ -e "s/.*(glade.*//" \ tests/test_api.py - '' + '' + '' + + '' sed -i -e "s/sys.path.insert(0, os.path.join(buildDir, 'gtk'))//" \ -e "s/sys.path.insert(0, buildDir)//" \ tests/common.py diff --git a/pkgs/development/python2-modules/pyparsing/default.nix b/pkgs/development/python2-modules/pyparsing/default.nix index 8a04747075450..52566d07ce5e9 100644 --- a/pkgs/development/python2-modules/pyparsing/default.nix +++ b/pkgs/development/python2-modules/pyparsing/default.nix @@ -1,11 +1,12 @@ -{ buildPythonPackage -, fetchFromGitHub -, lib +{ + buildPythonPackage, + fetchFromGitHub, + lib, -# since this is a dependency of pytest, we need to avoid -# circular dependencies -, jinja2 -, railroad-diagrams + # since this is a dependency of pytest, we need to avoid + # circular dependencies + jinja2, + railroad-diagrams, }: let @@ -32,7 +33,9 @@ let ''; passthru.tests = { - check = pyparsing.overridePythonAttrs (_: { doCheck = true; }); + check = pyparsing.overridePythonAttrs (_: { + doCheck = true; + }); }; meta = with lib; { @@ -42,4 +45,4 @@ let }; }; in - pyparsing +pyparsing diff --git a/pkgs/development/python2-modules/pytest-xdist/default.nix b/pkgs/development/python2-modules/pytest-xdist/default.nix index 5da424a0c3026..73b845f753079 100644 --- a/pkgs/development/python2-modules/pytest-xdist/default.nix +++ b/pkgs/development/python2-modules/pytest-xdist/default.nix @@ -1,5 +1,16 @@ -{ lib, fetchPypi, buildPythonPackage, execnet, pytest -, setuptools-scm, pytest-forked, filelock, psutil, six, isPy3k }: +{ + lib, + fetchPypi, + buildPythonPackage, + execnet, + pytest, + setuptools-scm, + pytest-forked, + filelock, + psutil, + six, + isPy3k, +}: buildPythonPackage rec { pname = "pytest-xdist"; @@ -10,9 +21,20 @@ buildPythonPackage rec { sha256 = "1vh4ps32lp5ignch5adbl3pgchvigdfmrl6qpmhxih54wa1qw3il"; }; - nativeBuildInputs = [ setuptools-scm pytest ]; - nativeCheckInputs = [ pytest filelock ]; - propagatedBuildInputs = [ execnet pytest-forked psutil six ]; + nativeBuildInputs = [ + setuptools-scm + pytest + ]; + nativeCheckInputs = [ + pytest + filelock + ]; + propagatedBuildInputs = [ + execnet + pytest-forked + psutil + six + ]; # Encountered a memory leak # https://github.com/pytest-dev/pytest-xdist/issues/462 diff --git a/pkgs/development/python2-modules/pytest/default.nix b/pkgs/development/python2-modules/pytest/default.nix index fa086eb46c7c8..a6abb8075316b 100644 --- a/pkgs/development/python2-modules/pytest/default.nix +++ b/pkgs/development/python2-modules/pytest/default.nix @@ -1,6 +1,25 @@ -{ lib, buildPythonPackage, pythonOlder, fetchPypi, attrs, hypothesis, py -, setuptools-scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools -, atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy +{ + lib, + buildPythonPackage, + pythonOlder, + fetchPypi, + attrs, + hypothesis, + py, + setuptools-scm, + setuptools, + six, + pluggy, + funcsigs, + isPy3k, + more-itertools, + atomicwrites, + mock, + writeText, + pathlib2, + wcwidth, + packaging, + isPyPy, }: buildPythonPackage rec { version = "4.6.11"; @@ -16,9 +35,23 @@ buildPythonPackage rec { --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0" ''; - nativeCheckInputs = [ hypothesis mock ]; + nativeCheckInputs = [ + hypothesis + mock + ]; buildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites wcwidth packaging ] + propagatedBuildInputs = + [ + attrs + py + setuptools + six + pluggy + more-itertools + atomicwrites + wcwidth + packaging + ] ++ lib.optionals (!isPy3k) [ funcsigs ] ++ lib.optionals (pythonOlder "3.6") [ pathlib2 ]; @@ -61,7 +94,12 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://docs.pytest.org"; description = "Framework for writing tests"; - maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; + maintainers = with maintainers; [ + domenkozar + lovek323 + madjar + lsix + ]; license = licenses.mit; platforms = platforms.unix; }; diff --git a/pkgs/development/python2-modules/scandir/default.nix b/pkgs/development/python2-modules/scandir/default.nix index 9c8396a191d1c..650dee1ddf83c 100644 --- a/pkgs/development/python2-modules/scandir/default.nix +++ b/pkgs/development/python2-modules/scandir/default.nix @@ -1,4 +1,9 @@ -{ lib, python, buildPythonPackage, fetchPypi }: +{ + lib, + python, + buildPythonPackage, + fetchPypi, +}: buildPythonPackage rec { pname = "scandir"; diff --git a/pkgs/development/python2-modules/setuptools-scm/default.nix b/pkgs/development/python2-modules/setuptools-scm/default.nix index 48b6d3b813473..ef0e4de6b2be1 100644 --- a/pkgs/development/python2-modules/setuptools-scm/default.nix +++ b/pkgs/development/python2-modules/setuptools-scm/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchPypi, toml }: +{ + lib, + buildPythonPackage, + fetchPypi, + toml, +}: buildPythonPackage rec { pname = "setuptools_scm"; diff --git a/pkgs/development/python2-modules/setuptools/default.nix b/pkgs/development/python2-modules/setuptools/default.nix index faddafc9f9d37..1e7c78532e592 100644 --- a/pkgs/development/python2-modules/setuptools/default.nix +++ b/pkgs/development/python2-modules/setuptools/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, buildPythonPackage -, fetchFromGitHub -, python -, bootstrapped-pip -, lib -, pipInstallHook -, setuptoolsBuildHook +{ + stdenv, + buildPythonPackage, + fetchFromGitHub, + python, + bootstrapped-pip, + lib, + pipInstallHook, + setuptoolsBuildHook, }: let @@ -43,7 +44,8 @@ let mv dist/${name} $out ''; }; -in buildPythonPackage rec { +in +buildPythonPackage rec { inherit pname version; # Because of bootstrapping we don't use the setuptoolsBuildHook that comes with format="setuptools" directly. # Instead, we override it to remove setuptools to avoid a circular dependency. @@ -54,8 +56,11 @@ in buildPythonPackage rec { nativeBuildInputs = [ bootstrapped-pip - (pipInstallHook.override{pip=null;}) - (setuptoolsBuildHook.override{setuptools=null; wheel=null;}) + (pipInstallHook.override { pip = null; }) + (setuptoolsBuildHook.override { + setuptools = null; + wheel = null; + }) ]; preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) '' @@ -73,7 +78,10 @@ in buildPythonPackage rec { meta = with lib; { description = "Utilities to facilitate the installation of Python packages"; homepage = "https://pypi.python.org/pypi/setuptools"; - license = with licenses; [ psfl zpl20 ]; + license = with licenses; [ + psfl + zpl20 + ]; platforms = python.meta.platforms; priority = 10; }; diff --git a/pkgs/development/python2-modules/typing/default.nix b/pkgs/development/python2-modules/typing/default.nix index b8c143cbd5379..1d6f07eb87809 100644 --- a/pkgs/development/python2-modules/typing/default.nix +++ b/pkgs/development/python2-modules/typing/default.nix @@ -1,10 +1,19 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy3k, isPyPy, unittestCheckHook -, pythonAtLeast }: +{ + lib, + buildPythonPackage, + fetchPypi, + pythonOlder, + isPy3k, + isPyPy, + unittestCheckHook, + pythonAtLeast, +}: let testDir = if isPy3k then "src" else "python2"; -in buildPythonPackage rec { +in +buildPythonPackage rec { pname = "typing"; version = "3.10.0.0"; @@ -22,7 +31,10 @@ in buildPythonPackage rec { nativeCheckInputs = [ unittestCheckHook ]; - unittestFlagsArray = [ "-s" testDir ]; + unittestFlagsArray = [ + "-s" + testDir + ]; meta = with lib; { description = "Backport of typing module to Python versions older than 3.5"; diff --git a/pkgs/development/python2-modules/wcwidth/default.nix b/pkgs/development/python2-modules/wcwidth/default.nix index eccaadf66c54f..f16622f7a7b0e 100644 --- a/pkgs/development/python2-modules/wcwidth/default.nix +++ b/pkgs/development/python2-modules/wcwidth/default.nix @@ -1,10 +1,11 @@ -{ backports-functools-lru-cache -, wcwidth -, lib +{ + backports-functools-lru-cache, + wcwidth, + lib, }: -wcwidth.overridePythonAttrs(oldAttrs: { - propagatedBuildInputs = oldAttrs.propagatedBuildInputs or [] ++ [ +wcwidth.overridePythonAttrs (oldAttrs: { + propagatedBuildInputs = oldAttrs.propagatedBuildInputs or [ ] ++ [ backports-functools-lru-cache ]; @@ -17,8 +18,10 @@ wcwidth.overridePythonAttrs(oldAttrs: { disabled = false; meta = oldAttrs.meta // { - /** maintainers overridden here for python2; this makes sure that python3 - maintainers are not blamed for the breakage here. */ + /** + maintainers overridden here for python2; this makes sure that python3 + maintainers are not blamed for the breakage here. + */ maintainers = with lib.maintainers; [ bryango ]; }; }) diff --git a/pkgs/development/python2-modules/wheel/default.nix b/pkgs/development/python2-modules/wheel/default.nix index 5831e234fe1e5..95841e413c630 100644 --- a/pkgs/development/python2-modules/wheel/default.nix +++ b/pkgs/development/python2-modules/wheel/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, bootstrapped-pip -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + bootstrapped-pip, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/development/python2-modules/zipp/default.nix b/pkgs/development/python2-modules/zipp/default.nix index c256ed4f7ada8..b4aed672ffa94 100644 --- a/pkgs/development/python2-modules/zipp/default.nix +++ b/pkgs/development/python2-modules/zipp/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonPackage -, fetchPypi -, setuptools-scm -, pytest -, pytest-flake8 -, more-itertools +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools-scm, + pytest, + pytest-flake8, + more-itertools, }: buildPythonPackage rec { @@ -20,7 +21,10 @@ buildPythonPackage rec { propagatedBuildInputs = [ more-itertools ]; - nativeCheckInputs = [ pytest pytest-flake8 ]; + nativeCheckInputs = [ + pytest + pytest-flake8 + ]; checkPhase = '' pytest diff --git a/pkgs/development/r-modules/generate-shell.nix b/pkgs/development/r-modules/generate-shell.nix index 1588aa9b76d7b..66b5138027794 100644 --- a/pkgs/development/r-modules/generate-shell.nix +++ b/pkgs/development/r-modules/generate-shell.nix @@ -1,4 +1,4 @@ -with import ../../.. {}; +with import ../../.. { }; stdenv.mkDerivation { name = "generate-r-packages-shell"; diff --git a/pkgs/development/r-modules/test-evaluation.nix b/pkgs/development/r-modules/test-evaluation.nix index 2ca0d42c6db4f..b7898fd478a8d 100644 --- a/pkgs/development/r-modules/test-evaluation.nix +++ b/pkgs/development/r-modules/test-evaluation.nix @@ -18,4 +18,4 @@ let }; in - rWrapper +rWrapper diff --git a/pkgs/development/r-modules/wrapper-radian.nix b/pkgs/development/r-modules/wrapper-radian.nix index 44099206b5b55..be829ccde8d12 100644 --- a/pkgs/development/r-modules/wrapper-radian.nix +++ b/pkgs/development/r-modules/wrapper-radian.nix @@ -1,36 +1,48 @@ -{ lib -, runCommand -, R -, radian -, makeWrapper -, recommendedPackages -, packages -, wrapR ? false +{ + lib, + runCommand, + R, + radian, + makeWrapper, + recommendedPackages, + packages, + wrapR ? false, }: -runCommand (radian.name + "-wrapper") { - preferLocalBuild = true; - allowSubstitutes = false; +runCommand (radian.name + "-wrapper") + { + preferLocalBuild = true; + allowSubstitutes = false; - buildInputs = [ R radian ] ++ recommendedPackages ++ packages; + buildInputs = + [ + R + radian + ] + ++ recommendedPackages + ++ packages; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - passthru = { inherit recommendedPackages; }; + passthru = { inherit recommendedPackages; }; - meta = radian.meta // { - # To prevent builds on hydra - hydraPlatforms = [ ]; - # prefer wrapper over the package - priority = (radian.meta.priority or lib.meta.defaultPriority) - 1; - }; -} ('' - makeWrapper "${radian}/bin/radian" "$out/bin/radian" \ - --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE" -'' + lib.optionalString wrapR '' - cd ${R}/bin - for exe in *; do - makeWrapper "${R}/bin/$exe" "$out/bin/$exe" \ - --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE" - done -'') + meta = radian.meta // { + # To prevent builds on hydra + hydraPlatforms = [ ]; + # prefer wrapper over the package + priority = (radian.meta.priority or lib.meta.defaultPriority) - 1; + }; + } + ( + '' + makeWrapper "${radian}/bin/radian" "$out/bin/radian" \ + --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE" + '' + + lib.optionalString wrapR '' + cd ${R}/bin + for exe in *; do + makeWrapper "${R}/bin/$exe" "$out/bin/$exe" \ + --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE" + done + '' + ) diff --git a/pkgs/development/r-modules/wrapper-rstudio.nix b/pkgs/development/r-modules/wrapper-rstudio.nix index 2b65bb3d82da2..8088098484f87 100644 --- a/pkgs/development/r-modules/wrapper-rstudio.nix +++ b/pkgs/development/r-modules/wrapper-rstudio.nix @@ -1,33 +1,40 @@ -{ runCommand -, R -, rstudio -, makeWrapper -, wrapQtAppsHook -, recommendedPackages -, packages -, fontconfig +{ + runCommand, + R, + rstudio, + makeWrapper, + wrapQtAppsHook, + recommendedPackages, + packages, + fontconfig, }: runCommand (rstudio.name + "-wrapper") -{ - preferLocalBuild = true; - allowSubstitutes = false; + { + preferLocalBuild = true; + allowSubstitutes = false; - nativeBuildInputs = [ (if rstudio.server then makeWrapper else wrapQtAppsHook) ]; - dontWrapQtApps = true; + nativeBuildInputs = [ (if rstudio.server then makeWrapper else wrapQtAppsHook) ]; + dontWrapQtApps = true; - buildInputs = [ R rstudio ] ++ recommendedPackages ++ packages; + buildInputs = + [ + R + rstudio + ] + ++ recommendedPackages + ++ packages; - # rWrapper points R to a specific set of packages by using a wrapper - # (as in https://nixos.org/nixpkgs/manual/#r-packages) which sets - # R_LIBS_SITE. Ordinarily, it would be possible to make RStudio use - # this same set of packages by simply overriding its version of R - # with the wrapped one, however, RStudio internally overrides - # R_LIBS_SITE. The below works around this by turning R_LIBS_SITE - # into an R file (fixLibsR) which achieves the same effect, then - # uses R_PROFILE_USER to load this code at startup in RStudio. - fixLibsR = "fix_libs.R"; -} + # rWrapper points R to a specific set of packages by using a wrapper + # (as in https://nixos.org/nixpkgs/manual/#r-packages) which sets + # R_LIBS_SITE. Ordinarily, it would be possible to make RStudio use + # this same set of packages by simply overriding its version of R + # with the wrapped one, however, RStudio internally overrides + # R_LIBS_SITE. The below works around this by turning R_LIBS_SITE + # into an R file (fixLibsR) which achieves the same effect, then + # uses R_PROFILE_USER to load this code at startup in RStudio. + fixLibsR = "fix_libs.R"; + } ( '' mkdir -p $out/bin @@ -37,18 +44,20 @@ runCommand (rstudio.name + "-wrapper") echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/$fixLibsR echo -n "\"))" >> $out/$fixLibsR echo >> $out/$fixLibsR - '' + - (if - rstudio.server then '' - makeWrapper ${rstudio}/bin/rsession $out/bin/rsession \ - --set R_PROFILE_USER $out/$fixLibsR --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf - - makeWrapper ${rstudio}/bin/rserver $out/bin/rserver \ - --add-flags --rsession-path=$out/bin/rsession '' - else - '' - makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \ - --set R_PROFILE_USER $out/$fixLibsR - '') + + ( + if rstudio.server then + '' + makeWrapper ${rstudio}/bin/rsession $out/bin/rsession \ + --set R_PROFILE_USER $out/$fixLibsR --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf + + makeWrapper ${rstudio}/bin/rserver $out/bin/rserver \ + --add-flags --rsession-path=$out/bin/rsession + '' + else + '' + makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \ + --set R_PROFILE_USER $out/$fixLibsR + '' + ) ) diff --git a/pkgs/development/r-modules/wrapper.nix b/pkgs/development/r-modules/wrapper.nix index 9dffbd83187b7..8d7445a50e970 100644 --- a/pkgs/development/r-modules/wrapper.nix +++ b/pkgs/development/r-modules/wrapper.nix @@ -1,13 +1,20 @@ -{ lib, symlinkJoin, R, makeWrapper, recommendedPackages, packages }: +{ + lib, + symlinkJoin, + R, + makeWrapper, + recommendedPackages, + packages, +}: symlinkJoin { name = R.name + "-wrapper"; preferLocalBuild = true; allowSubstitutes = false; - buildInputs = [R] ++ recommendedPackages ++ packages; + buildInputs = [ R ] ++ recommendedPackages ++ packages; paths = [ R ]; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [ makeWrapper ]; postBuild = '' cd ${R}/bin @@ -22,10 +29,10 @@ symlinkJoin { # Make the list of recommended R packages accessible to other packages such as rpy2 passthru = { inherit recommendedPackages; }; - meta = R.meta // { - # To prevent builds on hydra - hydraPlatforms = []; - # prefer wrapper over the package - priority = (R.meta.priority or lib.meta.defaultPriority) - 1; - }; + meta = R.meta // { + # To prevent builds on hydra + hydraPlatforms = [ ]; + # prefer wrapper over the package + priority = (R.meta.priority or lib.meta.defaultPriority) - 1; + }; } diff --git a/pkgs/development/rocm-modules/5/clang-ocl/default.nix b/pkgs/development/rocm-modules/5/clang-ocl/default.nix index 65c2ea80b2a57..07ff08fa2e142 100644 --- a/pkgs/development/rocm-modules/5/clang-ocl/default.nix +++ b/pkgs/development/rocm-modules/5/clang-ocl/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-device-libs +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-device-libs, }: stdenv.mkDerivation (finalAttrs: { @@ -38,6 +39,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/clr/default.nix b/pkgs/development/rocm-modules/5/clr/default.nix index 49857e9d26f5a..2add6e58c9b05 100644 --- a/pkgs/development/rocm-modules/5/clr/default.nix +++ b/pkgs/development/rocm-modules/5/clr/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, callPackage -, fetchFromGitHub -, fetchurl -, rocmUpdateScript -, makeWrapper -, cmake -, perl -, clang -, hip-common -, hipcc -, rocm-device-libs -, rocm-comgr -, rocm-runtime -, roctracer -, rocminfo -, rocm-smi -, numactl -, libGL -, libxml2 -, libX11 -, python3Packages +{ + lib, + stdenv, + callPackage, + fetchFromGitHub, + fetchurl, + rocmUpdateScript, + makeWrapper, + cmake, + perl, + clang, + hip-common, + hipcc, + rocm-device-libs, + rocm-comgr, + rocm-runtime, + roctracer, + rocminfo, + rocm-smi, + numactl, + libGL, + libxml2, + libX11, + python3Packages, }: let @@ -37,14 +38,15 @@ let # https://github.com/NixOS/nixpkgs/issues/305641 # Not needed when 3.29.2 is in unstable - cmake' = cmake.overrideAttrs(old: rec { + cmake' = cmake.overrideAttrs (old: rec { version = "3.29.2"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; hash = "sha256-NttLaSaqt0G6bksuotmckZMiITIwi03IJNQSPLcwNS4="; }; }); -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "clr"; version = "5.7.1"; @@ -185,6 +187,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/clr/test-opencl-example.nix b/pkgs/development/rocm-modules/5/clr/test-opencl-example.nix index 0b612cde3f80d..2b3959d6e3ec5 100644 --- a/pkgs/development/rocm-modules/5/clr/test-opencl-example.nix +++ b/pkgs/development/rocm-modules/5/clr/test-opencl-example.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, makeImpureTest -, fetchFromGitHub -, clr -, cmake -, pkg-config -, glew -, libglut -, opencl-headers -, ocl-icd +{ + lib, + stdenv, + makeImpureTest, + fetchFromGitHub, + clr, + cmake, + pkg-config, + glew, + libglut, + opencl-headers, + ocl-icd, }: let @@ -24,9 +25,17 @@ let hash = "sha256-qARQpUiYsamHbko/I1gPZE9pUGJ+3396Vk2n7ERSftA="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ glew libglut opencl-headers ocl-icd ]; + buildInputs = [ + glew + libglut + opencl-headers + ocl-icd + ]; installPhase = '' runHook preInstall @@ -42,9 +51,9 @@ let meta = with lib; { description = "Samples from the AMD APP SDK (with OpenCRun support)"; - homepage = "https://github.com/OpenCL/AMD_APP_samples"; - license = licenses.bsd2; - platforms = platforms.linux; + homepage = "https://github.com/OpenCL/AMD_APP_samples"; + license = licenses.bsd2; + platforms = platforms.linux; maintainers = lib.teams.rocm.members; }; }; @@ -54,7 +63,11 @@ makeImpureTest { name = "opencl-example"; testedPackage = "rocmPackages_5.clr"; - sandboxPaths = [ "/sys" "/dev/dri" "/dev/kfd" ]; + sandboxPaths = [ + "/sys" + "/dev/dri" + "/dev/kfd" + ]; nativeBuildInputs = [ examples ]; diff --git a/pkgs/development/rocm-modules/5/clr/test-rocm-smi.nix b/pkgs/development/rocm-modules/5/clr/test-rocm-smi.nix index 25c0a7e0c32c6..16bf1287001a5 100644 --- a/pkgs/development/rocm-modules/5/clr/test-rocm-smi.nix +++ b/pkgs/development/rocm-modules/5/clr/test-rocm-smi.nix @@ -1,14 +1,18 @@ -{ lib -, makeImpureTest -, clinfo -, clr -, rocm-smi +{ + lib, + makeImpureTest, + clinfo, + clr, + rocm-smi, }: makeImpureTest { name = "rocm-smi"; testedPackage = "rocmPackages_5.clr"; - nativeBuildInputs = [ clinfo rocm-smi ]; + nativeBuildInputs = [ + clinfo + rocm-smi + ]; OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors"; testScript = '' diff --git a/pkgs/development/rocm-modules/5/composable_kernel/default.nix b/pkgs/development/rocm-modules/5/composable_kernel/default.nix index 7e7de3cf73683..1792acccab685 100644 --- a/pkgs/development/rocm-modules/5/composable_kernel/default.nix +++ b/pkgs/development/rocm-modules/5/composable_kernel/default.nix @@ -1,29 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, openmp -, clang-tools-extra -, gtest -, buildTests ? false -, buildExamples ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900" "gfx1030" ... ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + openmp, + clang-tools-extra, + gtest, + buildTests ? false, + buildExamples ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx803" "gfx900" "gfx1030" ... ] }: stdenv.mkDerivation (finalAttrs: { pname = "composable_kernel"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildExamples [ - "example" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildExamples [ + "example" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -41,32 +45,39 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ openmp ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names + ]; # No flags to build selectively it seems... - postPatch = lib.optionalString (!buildTests) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(test)" "" - '' + lib.optionalString (!buildExamples) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(example)" "" - ''; + postPatch = + lib.optionalString (!buildTests) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(test)" "" + '' + + lib.optionalString (!buildExamples) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(example)" "" + ''; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/test_* $test/bin - '' + lib.optionalString buildExamples '' - mkdir -p $example/bin - mv $out/bin/example_* $example/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/test_* $test/bin + '' + + lib.optionalString buildExamples '' + mkdir -p $example/bin + mv $out/bin/example_* $example/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -84,6 +95,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/half/default.nix b/pkgs/development/rocm-modules/5/half/default.nix index 400ab50885986..168613cf912d7 100644 --- a/pkgs/development/rocm-modules/5/half/default.nix +++ b/pkgs/development/rocm-modules/5/half/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -34,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.unix; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hip-common/default.nix b/pkgs/development/rocm-modules/5/hip-common/default.nix index 2687b587dbde0..4e7e23943cd17 100644 --- a/pkgs/development/rocm-modules/5/hip-common/default.nix +++ b/pkgs/development/rocm-modules/5/hip-common/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, }: stdenv.mkDerivation (finalAttrs: { @@ -39,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipblas/default.nix b/pkgs/development/rocm-modules/5/hipblas/default.nix index a59543d653a4c..59d93a4cd2b05 100644 --- a/pkgs/development/rocm-modules/5/hipblas/default.nix +++ b/pkgs/development/rocm-modules/5/hipblas/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, gfortran -, rocblas -, rocsolver -, gtest -, lapack-reference -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + gfortran, + rocblas, + rocsolver, + gtest, + lapack-reference, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, }: # Can also use cuBLAS @@ -20,15 +21,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipblas"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -44,43 +49,54 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocblas - rocsolver - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - lapack-reference - ]; + buildInputs = + [ + rocblas + rocsolver + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + lapack-reference + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ] ++ lib.optionals buildSamples [ - "-DBUILD_CLIENTS_SAMPLES=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ] + ++ lib.optionals buildSamples [ + "-DBUILD_CLIENTS_SAMPLES=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipblas-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/hipblas-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv $out/bin/example-* $sample/bin - '' + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipblas-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/hipblas-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv $out/bin/example-* $sample/bin + '' + + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -94,6 +110,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipcc/default.nix b/pkgs/development/rocm-modules/5/hipcc/default.nix index 63e6e4fb577de..f89227bb50581 100644 --- a/pkgs/development/rocm-modules/5/hipcc/default.nix +++ b/pkgs/development/rocm-modules/5/hipcc/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, lsb-release +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + lsb-release, }: stdenv.mkDerivation (finalAttrs: { @@ -41,6 +42,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipcub/default.nix b/pkgs/development/rocm-modules/5/hipcub/default.nix index ede46ccfbd57a..cda80a0ed795f 100644 --- a/pkgs/development/rocm-modules/5/hipcub/default.nix +++ b/pkgs/development/rocm-modules/5/hipcub/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocprim -, clr -, gtest -, gbenchmark -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocprim, + clr, + gtest, + gbenchmark, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], }: # CUB can also be used as a backend instead of rocPRIM. @@ -18,13 +19,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipcub"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -39,39 +43,49 @@ stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = [ - rocprim - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals buildBenchmarks [ - gbenchmark - ]; + buildInputs = + [ + rocprim + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals buildBenchmarks [ + gbenchmark + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DHIP_ROOT_DIR=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TEST=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_BENCHMARK=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DHIP_ROOT_DIR=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_BENCHMARK=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/test_* $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/benchmark_* $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/test_* $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/benchmark_* $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -85,6 +99,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ bsd3 ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipfft/default.nix b/pkgs/development/rocm-modules/5/hipfft/default.nix index 44d1475f68772..93eb03370b7d2 100644 --- a/pkgs/development/rocm-modules/5/hipfft/default.nix +++ b/pkgs/development/rocm-modules/5/hipfft/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, git -, rocfft -, gtest -, boost -, fftw -, fftwFloat -, openmp -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + git, + rocfft, + gtest, + boost, + fftw, + fftwFloat, + openmp, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, + gpuTargets ? [ ], }: # Can also use cuFFT @@ -23,15 +24,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipfft"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -48,50 +53,61 @@ stdenv.mkDerivation (finalAttrs: { rocm-cmake ]; - buildInputs = [ - rocfft - ] ++ lib.optionals (buildTests || buildBenchmarks || buildSamples) [ - gtest - boost - fftw - fftwFloat - openmp - ]; + buildInputs = + [ + rocfft + ] + ++ lib.optionals (buildTests || buildBenchmarks || buildSamples) [ + gtest + boost + fftw + fftwFloat + openmp + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip" - "-DHIP_ROOT_DIR=${clr}" - "-DHIP_PATH=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_RIDER=ON" - ] ++ lib.optionals buildSamples [ - "-DBUILD_CLIENTS_SAMPLES=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip" + "-DHIP_ROOT_DIR=${clr}" + "-DHIP_PATH=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_RIDER=ON" + ] + ++ lib.optionals buildSamples [ + "-DBUILD_CLIENTS_SAMPLES=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipfft-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/hipfft-rider $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/hipfft_* $sample/bin - patchelf $sample/bin/hipfft_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipfft-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/hipfft-rider $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/hipfft_* $sample/bin + patchelf $sample/bin/hipfft_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -105,6 +121,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipfort/default.nix b/pkgs/development/rocm-modules/5/hipfort/default.nix index 13e02d439c01d..e9a2f82ed0319 100644 --- a/pkgs/development/rocm-modules/5/hipfort/default.nix +++ b/pkgs/development/rocm-modules/5/hipfort/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, gfortran +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + gfortran, }: stdenv.mkDerivation (finalAttrs: { @@ -62,6 +63,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; # mitx11 maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipify/default.nix b/pkgs/development/rocm-modules/5/hipify/default.nix index 281ad02d5dfcf..8c885610756d2 100644 --- a/pkgs/development/rocm-modules/5/hipify/default.nix +++ b/pkgs/development/rocm-modules/5/hipify/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clang -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clang, + libxml2, }: stdenv.mkDerivation (finalAttrs: { @@ -45,6 +46,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipsolver/default.nix b/pkgs/development/rocm-modules/5/hipsolver/default.nix index ab4b60ef2c355..a7b20ad6d7272 100644 --- a/pkgs/development/rocm-modules/5/hipsolver/default.nix +++ b/pkgs/development/rocm-modules/5/hipsolver/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, gfortran -, rocblas -, rocsolver -, gtest -, lapack-reference -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + gfortran, + rocblas, + rocsolver, + gtest, + lapack-reference, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, }: # Can also use cuSOLVER @@ -20,15 +21,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipsolver"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -44,44 +49,55 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocblas - rocsolver - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - lapack-reference - ]; + buildInputs = + [ + rocblas + rocsolver + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + lapack-reference + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ] ++ lib.optionals buildSamples [ - "-DBUILD_CLIENTS_SAMPLES=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ] + ++ lib.optionals buildSamples [ + "-DBUILD_CLIENTS_SAMPLES=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipsolver-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/hipsolver-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/example-* $sample/bin - patchelf $sample/bin/example-* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipsolver-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/hipsolver-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/example-* $sample/bin + patchelf $sample/bin/example-* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -95,6 +111,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hipsparse/default.nix b/pkgs/development/rocm-modules/5/hipsparse/default.nix index 9e3046223173d..1891a60c1d0ed 100644 --- a/pkgs/development/rocm-modules/5/hipsparse/default.nix +++ b/pkgs/development/rocm-modules/5/hipsparse/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocsparse -, clr -, gfortran -, git -, gtest -, openmp -, buildTests ? false -, buildSamples ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocsparse, + clr, + gfortran, + git, + gtest, + openmp, + buildTests ? false, + buildSamples ? false, + gpuTargets ? [ ], }: # This can also use cuSPARSE as a backend instead of rocSPARSE @@ -20,13 +21,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipsparse"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -42,29 +46,35 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocsparse - git - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildSamples) [ - openmp - ]; + buildInputs = + [ + rocsparse + git + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildSamples) [ + openmp + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ]; # We have to manually generate the matrices # CMAKE_MATRICES_DIR seems to be reset in clients/tests/CMakeLists.txt @@ -107,17 +117,26 @@ stdenv.mkDerivation (finalAttrs: { --replace "\''${PROJECT_BINARY_DIR}/matrices" "/build/source/matrices" ''; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipsparse-test $test/bin - mv /build/source/matrices $test - rmdir $out/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/example_* $sample/bin - patchelf --set-rpath $out/lib:${lib.makeLibraryPath ( - finalAttrs.buildInputs ++ [ clr gfortran.cc ])} $sample/bin/example_* - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipsparse-test $test/bin + mv /build/source/matrices $test + rmdir $out/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/example_* $sample/bin + patchelf --set-rpath $out/lib:${ + lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + clr + gfortran.cc + ] + ) + } $sample/bin/example_* + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -131,6 +150,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix index c007f2c62260a..84e603c71f784 100644 --- a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix +++ b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, callPackage -, dpkg +{ + lib, + stdenv, + fetchurl, + callPackage, + dpkg, }: stdenv.mkDerivation (finalAttrs: { @@ -38,6 +39,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ unfree ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix index bbde07ae9a98b..03f60b738b556 100644 --- a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix +++ b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/update.nix @@ -1,12 +1,15 @@ -{ lib -, writeScript +{ + lib, + writeScript, }: { version }: let prefix = "hsa-amd-aqlprofile"; - extVersion = lib.strings.concatStrings (lib.strings.intersperse "0" (lib.versions.splitVersion version)); + extVersion = lib.strings.concatStrings ( + lib.strings.intersperse "0" (lib.versions.splitVersion version) + ); major = lib.versions.major version; minor = lib.versions.minor version; patch = lib.versions.patch version; @@ -54,4 +57,5 @@ let update-source-version rocmPackages_5.${prefix}-bin "$version" "" "$apt/$repoVersion/$pool$deb" --ignore-same-hash fi ''; -in [ updateScript ] +in +[ updateScript ] diff --git a/pkgs/development/rocm-modules/5/llvm/base.nix b/pkgs/development/rocm-modules/5/llvm/base.nix index a8147d862e320..1330d9d84b37f 100644 --- a/pkgs/development/rocm-modules/5/llvm/base.nix +++ b/pkgs/development/rocm-modules/5/llvm/base.nix @@ -1,76 +1,84 @@ -{ lib -, stdenv -, gcc12Stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, cmake -, ninja -, git -, doxygen -, sphinx -, lit -, libxml2 -, libxcrypt -, libedit -, libffi -, mpfr -, zlib -, ncurses -, python3Packages -, buildDocs ? true -, buildMan ? true -, buildTests ? true -, targetName ? "llvm" -, targetDir ? "llvm" -, targetProjects ? [ ] -, targetRuntimes ? [ ] -, llvmTargetsToBuild ? [ "NATIVE" ] # "NATIVE" resolves into x86 or aarch64 depending on stdenv -, extraPatches ? [ ] -, extraNativeBuildInputs ? [ ] -, extraBuildInputs ? [ ] -, extraCMakeFlags ? [ ] -, extraPostPatch ? "" -, checkTargets ? [( - lib.optionalString buildTests ( - if targetDir == "runtimes" - then "check-runtimes" - else "check-all" - ) -)] -, extraPostInstall ? "" -, hardeningDisable ? [ ] -, requiredSystemFeatures ? [ ] -, extraLicenses ? [ ] -, isBroken ? false +{ + lib, + stdenv, + gcc12Stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + cmake, + ninja, + git, + doxygen, + sphinx, + lit, + libxml2, + libxcrypt, + libedit, + libffi, + mpfr, + zlib, + ncurses, + python3Packages, + buildDocs ? true, + buildMan ? true, + buildTests ? true, + targetName ? "llvm", + targetDir ? "llvm", + targetProjects ? [ ], + targetRuntimes ? [ ], + llvmTargetsToBuild ? [ "NATIVE" ], # "NATIVE" resolves into x86 or aarch64 depending on stdenv + extraPatches ? [ ], + extraNativeBuildInputs ? [ ], + extraBuildInputs ? [ ], + extraCMakeFlags ? [ ], + extraPostPatch ? "", + checkTargets ? [ + (lib.optionalString buildTests (if targetDir == "runtimes" then "check-runtimes" else "check-all")) + ], + extraPostInstall ? "", + hardeningDisable ? [ ], + requiredSystemFeatures ? [ ], + extraLicenses ? [ ], + isBroken ? false, }: -let stdenv' = stdenv; in -let stdenv = - if stdenv'.cc.cc.isGNU or false && lib.versionAtLeast stdenv'.cc.cc.version "13.0" - then gcc12Stdenv - else stdenv'; +let + stdenv' = stdenv; +in +let + stdenv = + if stdenv'.cc.cc.isGNU or false && lib.versionAtLeast stdenv'.cc.cc.version "13.0" then + gcc12Stdenv + else + stdenv'; in let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; inferNativeTarget = t: if t == "NATIVE" then llvmNativeTarget else t; llvmTargetsToBuild' = [ "AMDGPU" ] ++ builtins.map inferNativeTarget llvmTargetsToBuild; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "rocm-llvm-${targetName}"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildMan [ - "man" - "info" # Avoid `attribute 'info' missing` when using with wrapCC - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildMan [ + "man" + "info" # Avoid `attribute 'info' missing` when using with wrapCC + ]; patches = extraPatches; @@ -81,19 +89,23 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-0+lJnDiMntxCYbZBCSWvHOcKXexFfEzRfb49QbfOmK8="; }; - nativeBuildInputs = [ - pkg-config - cmake - ninja - git - (python3Packages.python.withPackages (p: [ p.setuptools ])) - ] ++ lib.optionals (buildDocs || buildMan) [ - doxygen - sphinx - python3Packages.recommonmark - ] ++ lib.optionals (buildTests && !finalAttrs.passthru.isLLVM) [ - lit - ] ++ extraNativeBuildInputs; + nativeBuildInputs = + [ + pkg-config + cmake + ninja + git + (python3Packages.python.withPackages (p: [ p.setuptools ])) + ] + ++ lib.optionals (buildDocs || buildMan) [ + doxygen + sphinx + python3Packages.recommonmark + ] + ++ lib.optionals (buildTests && !finalAttrs.passthru.isLLVM) [ + lit + ] + ++ extraNativeBuildInputs; buildInputs = [ libxml2 @@ -110,46 +122,60 @@ in stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/${targetDir}"; - cmakeFlags = [ - "-DLLVM_TARGETS_TO_BUILD=${builtins.concatStringsSep ";" llvmTargetsToBuild'}" - ] ++ lib.optionals (finalAttrs.passthru.isLLVM && targetProjects != [ ]) [ - "-DLLVM_ENABLE_PROJECTS=${lib.concatStringsSep ";" targetProjects}" - ] ++ lib.optionals ((finalAttrs.passthru.isLLVM || targetDir == "runtimes") && targetRuntimes != [ ]) [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" targetRuntimes}" - ] ++ lib.optionals finalAttrs.passthru.isLLVM [ - "-DLLVM_INSTALL_UTILS=ON" - "-DLLVM_INSTALL_GTEST=ON" - ] ++ lib.optionals (buildDocs || buildMan) [ - "-DLLVM_INCLUDE_DOCS=ON" - "-DLLVM_BUILD_DOCS=ON" - # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_HTML=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals buildTests [ - "-DLLVM_INCLUDE_TESTS=ON" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" - ] ++ extraCMakeFlags; - - postPatch = lib.optionalString finalAttrs.passthru.isLLVM '' - patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh - '' + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) '' - # FileSystem permissions tests fail with various special bits - rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test - rm unittests/Support/Path.cpp - - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" - '' + extraPostPatch; + cmakeFlags = + [ + "-DLLVM_TARGETS_TO_BUILD=${builtins.concatStringsSep ";" llvmTargetsToBuild'}" + ] + ++ lib.optionals (finalAttrs.passthru.isLLVM && targetProjects != [ ]) [ + "-DLLVM_ENABLE_PROJECTS=${lib.concatStringsSep ";" targetProjects}" + ] + ++ + lib.optionals ((finalAttrs.passthru.isLLVM || targetDir == "runtimes") && targetRuntimes != [ ]) + [ + "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" targetRuntimes}" + ] + ++ lib.optionals finalAttrs.passthru.isLLVM [ + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_INSTALL_GTEST=ON" + ] + ++ lib.optionals (buildDocs || buildMan) [ + "-DLLVM_INCLUDE_DOCS=ON" + "-DLLVM_BUILD_DOCS=ON" + # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_HTML=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] + ++ lib.optionals buildTests [ + "-DLLVM_INCLUDE_TESTS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" + ] + ++ extraCMakeFlags; + + postPatch = + lib.optionalString finalAttrs.passthru.isLLVM '' + patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh + '' + + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) '' + # FileSystem permissions tests fail with various special bits + rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + rm unittests/Support/Path.cpp + + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "Path.cpp" "" + '' + + extraPostPatch; doCheck = buildTests; checkTarget = lib.concatStringsSep " " checkTargets; - postInstall = lib.optionalString buildMan '' - mkdir -p $info - '' + extraPostInstall; + postInstall = + lib.optionalString buildMan '' + mkdir -p $info + '' + + extraPostInstall; passthru = { isLLVM = targetDir == "llvm"; @@ -168,7 +194,13 @@ in stdenv.mkDerivation (finalAttrs: { description = "ROCm fork of the LLVM compiler infrastructure"; homepage = "https://github.com/ROCm/llvm-project"; license = with licenses; [ ncsa ] ++ extraLicenses; - maintainers = with maintainers; [ acowley lovesegfault ] ++ teams.rocm.members; + maintainers = + with maintainers; + [ + acowley + lovesegfault + ] + ++ teams.rocm.members; platforms = platforms.linux; broken = isBroken || versionAtLeast finalAttrs.version "6.0.0"; }; diff --git a/pkgs/development/rocm-modules/5/llvm/default.nix b/pkgs/development/rocm-modules/5/llvm/default.nix index 9c8919165a516..f68d29e37a19c 100644 --- a/pkgs/development/rocm-modules/5/llvm/default.nix +++ b/pkgs/development/rocm-modules/5/llvm/default.nix @@ -1,58 +1,142 @@ -{ # stdenv FIXME: Try changing back to this with a new ROCm release https://github.com/NixOS/nixpkgs/issues/271943 - gcc12Stdenv -, callPackage -, rocmUpdateScript -, wrapBintoolsWith -, overrideCC -, rocm-device-libs -, rocm-runtime -, rocm-thunk -, clr +{ + # stdenv FIXME: Try changing back to this with a new ROCm release https://github.com/NixOS/nixpkgs/issues/271943 + gcc12Stdenv, + callPackage, + rocmUpdateScript, + wrapBintoolsWith, + overrideCC, + rocm-device-libs, + rocm-runtime, + rocm-thunk, + clr, }: let ## Stage 1 ## # Projects - llvm = callPackage ./stage-1/llvm.nix { inherit rocmUpdateScript; stdenv = gcc12Stdenv; }; - clang-unwrapped = callPackage ./stage-1/clang-unwrapped.nix { inherit rocmUpdateScript llvm; stdenv = gcc12Stdenv; }; - lld = callPackage ./stage-1/lld.nix { inherit rocmUpdateScript llvm; stdenv = gcc12Stdenv; }; + llvm = callPackage ./stage-1/llvm.nix { + inherit rocmUpdateScript; + stdenv = gcc12Stdenv; + }; + clang-unwrapped = callPackage ./stage-1/clang-unwrapped.nix { + inherit rocmUpdateScript llvm; + stdenv = gcc12Stdenv; + }; + lld = callPackage ./stage-1/lld.nix { + inherit rocmUpdateScript llvm; + stdenv = gcc12Stdenv; + }; # Runtimes - runtimes = callPackage ./stage-1/runtimes.nix { inherit rocmUpdateScript llvm; stdenv = gcc12Stdenv; }; + runtimes = callPackage ./stage-1/runtimes.nix { + inherit rocmUpdateScript llvm; + stdenv = gcc12Stdenv; + }; ## Stage 2 ## # Helpers bintools-unwrapped = callPackage ./stage-2/bintools-unwrapped.nix { inherit llvm lld; }; bintools = wrapBintoolsWith { bintools = bintools-unwrapped; }; - rStdenv = callPackage ./stage-2/rstdenv.nix { inherit llvm clang-unwrapped lld runtimes bintools; stdenv = gcc12Stdenv; }; -in rec { + rStdenv = callPackage ./stage-2/rstdenv.nix { + inherit + llvm + clang-unwrapped + lld + runtimes + bintools + ; + stdenv = gcc12Stdenv; + }; +in +rec { inherit - llvm - clang-unwrapped - lld - bintools; + llvm + clang-unwrapped + lld + bintools + ; # Runtimes - libc = callPackage ./stage-2/libc.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - libunwind = callPackage ./stage-2/libunwind.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - libcxxabi = callPackage ./stage-2/libcxxabi.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - libcxx = callPackage ./stage-2/libcxx.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - compiler-rt = callPackage ./stage-2/compiler-rt.nix { inherit rocmUpdateScript llvm; stdenv = rStdenv; }; + libc = callPackage ./stage-2/libc.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + libunwind = callPackage ./stage-2/libunwind.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + libcxxabi = callPackage ./stage-2/libcxxabi.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + libcxx = callPackage ./stage-2/libcxx.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + compiler-rt = callPackage ./stage-2/compiler-rt.nix { + inherit rocmUpdateScript llvm; + stdenv = rStdenv; + }; ## Stage 3 ## # Helpers - clang = callPackage ./stage-3/clang.nix { inherit llvm lld clang-unwrapped bintools libc libunwind libcxxabi libcxx compiler-rt; stdenv = gcc12Stdenv; }; + clang = callPackage ./stage-3/clang.nix { + inherit + llvm + lld + clang-unwrapped + bintools + libc + libunwind + libcxxabi + libcxx + compiler-rt + ; + stdenv = gcc12Stdenv; + }; rocmClangStdenv = overrideCC gcc12Stdenv clang; # Projects - clang-tools-extra = callPackage ./stage-3/clang-tools-extra.nix { inherit rocmUpdateScript llvm clang-unwrapped; stdenv = rocmClangStdenv; }; - libclc = callPackage ./stage-3/libclc.nix { inherit rocmUpdateScript llvm clang; stdenv = rocmClangStdenv; }; - lldb = callPackage ./stage-3/lldb.nix { inherit rocmUpdateScript clang; stdenv = rocmClangStdenv; }; - mlir = callPackage ./stage-3/mlir.nix { inherit rocmUpdateScript clr; stdenv = rocmClangStdenv; }; - polly = callPackage ./stage-3/polly.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; - flang = callPackage ./stage-3/flang.nix { inherit rocmUpdateScript clang-unwrapped mlir; stdenv = rocmClangStdenv; }; - openmp = callPackage ./stage-3/openmp.nix { inherit rocmUpdateScript llvm clang-unwrapped clang rocm-device-libs rocm-runtime rocm-thunk; stdenv = rocmClangStdenv; }; + clang-tools-extra = callPackage ./stage-3/clang-tools-extra.nix { + inherit rocmUpdateScript llvm clang-unwrapped; + stdenv = rocmClangStdenv; + }; + libclc = callPackage ./stage-3/libclc.nix { + inherit rocmUpdateScript llvm clang; + stdenv = rocmClangStdenv; + }; + lldb = callPackage ./stage-3/lldb.nix { + inherit rocmUpdateScript clang; + stdenv = rocmClangStdenv; + }; + mlir = callPackage ./stage-3/mlir.nix { + inherit rocmUpdateScript clr; + stdenv = rocmClangStdenv; + }; + polly = callPackage ./stage-3/polly.nix { + inherit rocmUpdateScript; + stdenv = rocmClangStdenv; + }; + flang = callPackage ./stage-3/flang.nix { + inherit rocmUpdateScript clang-unwrapped mlir; + stdenv = rocmClangStdenv; + }; + openmp = callPackage ./stage-3/openmp.nix { + inherit + rocmUpdateScript + llvm + clang-unwrapped + clang + rocm-device-libs + rocm-runtime + rocm-thunk + ; + stdenv = rocmClangStdenv; + }; # Runtimes - pstl = callPackage ./stage-3/pstl.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; + pstl = callPackage ./stage-3/pstl.nix { + inherit rocmUpdateScript; + stdenv = rocmClangStdenv; + }; } diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix index 5a61732ffd2d4..4363521d88029 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix @@ -1,7 +1,8 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix index 5ca8bca25a338..6a6226a221e08 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix @@ -1,7 +1,8 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix index ad4981aa435be..a9464da16697a 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix index 0364a02e6e59b..268ad973b9134 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, callPackage -, rocmUpdateScript -, llvm +{ + lib, + stdenv, + callPackage, + rocmUpdateScript, + llvm, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix index ef40dd4d38246..e17a913d4bb77 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix @@ -1,6 +1,7 @@ -{ runCommand -, llvm -, lld +{ + runCommand, + llvm, + lld, }: runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } '' diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix index 3b8e41705e1a7..f3b8648e11045 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, callPackage -, rocmUpdateScript -, llvm -, glibc +{ + lib, + stdenv, + callPackage, + rocmUpdateScript, + llvm, + glibc, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix index 7e7cf9c2a6088..e52e39276f15f 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix index 473227242765b..b9ed102d5408a 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix index e15ec777ff61a..bc54e17be45fb 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix index 3d599e0d4b325..fb5e7cb3b68ca 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix index 3820d45a2b814..f83abe36cc2e2 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix @@ -1,11 +1,12 @@ -{ stdenv -, overrideCC -, wrapCCWith -, llvm -, clang-unwrapped -, lld -, runtimes -, bintools +{ + stdenv, + overrideCC, + wrapCCWith, + llvm, + clang-unwrapped, + lld, + runtimes, + bintools, }: overrideCC stdenv (wrapCCWith rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix index d18673ecb3db4..4351c4bc6629d 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix @@ -1,9 +1,10 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm -, clang-unwrapped -, gtest +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, + clang-unwrapped, + gtest, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix index 91f34265f85fa..a0e4e79e4337a 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix @@ -1,14 +1,15 @@ -{ stdenv -, wrapCCWith -, llvm -, lld -, clang-unwrapped -, bintools -, libc -, libunwind -, libcxxabi -, libcxx -, compiler-rt +{ + stdenv, + wrapCCWith, + llvm, + lld, + clang-unwrapped, + bintools, + libc, + libunwind, + libcxxabi, + libcxx, + compiler-rt, }: wrapCCWith rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix index 421663dcb1b76..c6e72d56ce566 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix @@ -1,10 +1,11 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, clang-unwrapped -, mlir -, graphviz -, python3Packages +{ + stdenv, + callPackage, + rocmUpdateScript, + clang-unwrapped, + mlir, + graphviz, + python3Packages, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix index 1fd72ee67188f..a00dbc2927175 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix @@ -1,14 +1,16 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm -, clang -, spirv-llvm-translator +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, + clang, + spirv-llvm-translator, }: let spirv = (spirv-llvm-translator.override { inherit llvm; }); -in callPackage ../base.nix rec { +in +callPackage ../base.nix rec { inherit stdenv rocmUpdateScript; buildDocs = false; # No documentation to build buildMan = false; # No man pages to build diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix index 9b7d25e06d9d6..31694ce50113f 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix @@ -1,13 +1,14 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, clang -, xz -, swig -, lua5_3 -, graphviz -, gtest -, python3Packages +{ + stdenv, + callPackage, + rocmUpdateScript, + clang, + xz, + swig, + lua5_3, + graphviz, + gtest, + python3Packages, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix index 11b9ae9ab5de6..e826d2a7a2b39 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix @@ -1,11 +1,12 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, clr -, vulkan-headers -, vulkan-loader -, glslang -, shaderc +{ + stdenv, + callPackage, + rocmUpdateScript, + clr, + vulkan-headers, + vulkan-loader, + glslang, + shaderc, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix index 5fd7b6fd9aa3d..2581661057809 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, callPackage -, rocmUpdateScript -, llvm -, clang -, clang-unwrapped -, rocm-device-libs -, rocm-runtime -, rocm-thunk -, perl -, elfutils -, libdrm -, numactl -, lit +{ + lib, + stdenv, + callPackage, + rocmUpdateScript, + llvm, + clang, + clang-unwrapped, + rocm-device-libs, + rocm-runtime, + rocm-thunk, + perl, + elfutils, + libdrm, + numactl, + lit, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix index e001f33dfd433..6347cfffbe2af 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix index dc7d7cd6ccbfa..63fba911677cc 100644 --- a/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix +++ b/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/5/migraphx/default.nix b/pkgs/development/rocm-modules/5/migraphx/default.nix index 006a5ca9990b0..1f060a1a8fd55 100644 --- a/pkgs/development/rocm-modules/5/migraphx/default.nix +++ b/pkgs/development/rocm-modules/5/migraphx/default.nix @@ -1,62 +1,71 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, cmake -, rocm-cmake -, clr -, clang-tools-extra -, openmp -, rocblas -, rocmlir -, composable_kernel -, miopengemm -, miopen -, protobuf -, half -, nlohmann_json -, msgpack -, sqlite -, oneDNN_2 -, blaze -, cppcheck -, rocm-device-libs -, texliveSmall -, doxygen -, sphinx -, docutils -, ghostscript -, python3Packages -, buildDocs ? false -, buildTests ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + cmake, + rocm-cmake, + clr, + clang-tools-extra, + openmp, + rocblas, + rocmlir, + composable_kernel, + miopengemm, + miopen, + protobuf, + half, + nlohmann_json, + msgpack, + sqlite, + oneDNN_2, + blaze, + cppcheck, + rocm-device-libs, + texliveSmall, + doxygen, + sphinx, + docutils, + ghostscript, + python3Packages, + buildDocs ? false, + buildTests ? false, }: let - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - latexmk - tex-gyre - fncychap - wrapfig - capt-of - framed - needspace - tabulary - varwidth - titlesec - epstopdf - ])); -in stdenv.mkDerivation (finalAttrs: { + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + latexmk + tex-gyre + fncychap + wrapfig + capt-of + framed + needspace + tabulary + varwidth + titlesec + epstopdf + ] + ) + ); +in +stdenv.mkDerivation (finalAttrs: { pname = "migraphx"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -65,22 +74,24 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-lg3pxHBpwqxBvdOQgE44YKLuumhkVF6b3Xx4+cw7jNQ="; }; - nativeBuildInputs = [ - pkg-config - cmake - rocm-cmake - clr - clang-tools-extra - python3Packages.python - ] ++ lib.optionals buildDocs [ - latex - doxygen - sphinx - docutils - ghostscript - python3Packages.sphinx-rtd-theme - python3Packages.breathe - ]; + nativeBuildInputs = + [ + pkg-config + cmake + rocm-cmake + clr + clang-tools-extra + python3Packages.python + ] + ++ lib.optionals buildDocs [ + latex + doxygen + sphinx + docutils + ghostscript + python3Packages.sphinx-rtd-theme + python3Packages.breathe + ]; buildInputs = [ openmp @@ -113,28 +124,31 @@ in stdenv.mkDerivation (finalAttrs: { "-DCMAKE_INSTALL_INCLUDEDIR=include" ]; - postPatch = '' - # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...` - export CXXFLAGS+="--rocm-path=${clr} --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode" - patchShebangs tools + postPatch = + '' + # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...` + export CXXFLAGS+="--rocm-path=${clr} --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode" + patchShebangs tools - # `error: '__clang_hip_runtime_wrapper.h' file not found [clang-diagnostic-error]` - substituteInPlace CMakeLists.txt \ - --replace "set(MIGRAPHX_TIDY_ERRORS ALL)" "" + # `error: '__clang_hip_runtime_wrapper.h' file not found [clang-diagnostic-error]` + substituteInPlace CMakeLists.txt \ + --replace "set(MIGRAPHX_TIDY_ERRORS ALL)" "" - # JIT library was removed from composable_kernel... - # https://github.com/ROCm/composable_kernel/issues/782 - substituteInPlace src/targets/gpu/CMakeLists.txt \ - --replace " COMPONENTS jit_library" "" \ - --replace " composable_kernel::jit_library" "" \ - --replace "if(WIN32)" "if(TRUE)" - '' + lib.optionalString (!buildDocs) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(doc)" "" - '' + lib.optionalString (!buildTests) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(test)" "" - ''; + # JIT library was removed from composable_kernel... + # https://github.com/ROCm/composable_kernel/issues/782 + substituteInPlace src/targets/gpu/CMakeLists.txt \ + --replace " COMPONENTS jit_library" "" \ + --replace " composable_kernel::jit_library" "" \ + --replace "if(WIN32)" "if(TRUE)" + '' + + lib.optionalString (!buildDocs) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(doc)" "" + '' + + lib.optionalString (!buildTests) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(test)" "" + ''; # Unfortunately, it seems like we have to call make on this manually preInstall = lib.optionalString buildDocs '' @@ -145,14 +159,16 @@ in stdenv.mkDerivation (finalAttrs: { cd - ''; - postInstall = lib.optionalString buildDocs '' - mv ../doc/html $out/share/doc/migraphx - mv ../doc/pdf/MIGraphX.pdf $out/share/doc/migraphx - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - mv bin/test_* $test/bin - patchelf $test/bin/test_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" - ''; + postInstall = + lib.optionalString buildDocs '' + mv ../doc/html $out/share/doc/migraphx + mv ../doc/pdf/MIGraphX.pdf $out/share/doc/migraphx + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + mv bin/test_* $test/bin + patchelf $test/bin/test_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -166,6 +182,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/miopen/default.nix b/pkgs/development/rocm-modules/5/miopen/default.nix index 1c072ef1a304d..b42450529ed21 100644 --- a/pkgs/development/rocm-modules/5/miopen/default.nix +++ b/pkgs/development/rocm-modules/5/miopen/default.nix @@ -1,37 +1,38 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rocmUpdateScript -, runCommand -, pkg-config -, cmake -, rocm-cmake -, rocblas -, rocmlir -, clr -, clang-tools-extra -, clang-ocl -, miopengemm -, composable_kernel -, frugally-deep -, rocm-docs-core -, half -, boost -, sqlite -, bzip2 -, lbzip2 -, nlohmann_json -, texliveSmall -, doxygen -, sphinx -, zlib -, gtest -, rocm-comgr -, python3Packages -, buildDocs ? false # Needs internet because of rocm-docs-core -, buildTests ? false -, useOpenCL ? false +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rocmUpdateScript, + runCommand, + pkg-config, + cmake, + rocm-cmake, + rocblas, + rocmlir, + clr, + clang-tools-extra, + clang-ocl, + miopengemm, + composable_kernel, + frugally-deep, + rocm-docs-core, + half, + boost, + sqlite, + bzip2, + lbzip2, + nlohmann_json, + texliveSmall, + doxygen, + sphinx, + zlib, + gtest, + rocm-comgr, + python3Packages, + buildDocs ? false, # Needs internet because of rocm-docs-core + buildTests ? false, + useOpenCL ? false, }: let @@ -71,18 +72,22 @@ let ''; }; - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - latexmk - tex-gyre - fncychap - wrapfig - capt-of - framed - needspace - tabulary - varwidth - titlesec - ])); + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + latexmk + tex-gyre + fncychap + wrapfig + capt-of + framed + needspace + tabulary + varwidth + titlesec + ] + ) + ); gfx900 = runCommand "miopen-gfx900.kdb" { preferLocalBuild = true; } '' ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx900.kdb.bz2 > $out @@ -103,7 +108,8 @@ let gfx1030 = runCommand "miopen-gfx1030.kdb" { preferLocalBuild = true; } '' ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx1030.kdb.bz2 > $out ''; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { inherit version src; pname = "miopen"; @@ -119,13 +125,16 @@ in stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; nativeBuildInputs = [ pkg-config @@ -135,50 +144,57 @@ in stdenv.mkDerivation (finalAttrs: { clang-tools-extra ]; - buildInputs = [ - rocblas - rocmlir - clang-ocl - miopengemm - composable_kernel - half - boost - sqlite - bzip2 - nlohmann_json - frugally-deep - ] ++ lib.optionals buildDocs [ - latex - doxygen - sphinx - rocm-docs-core - python3Packages.sphinx-rtd-theme - python3Packages.breathe - python3Packages.myst-parser - ] ++ lib.optionals buildTests [ - gtest - zlib - ]; + buildInputs = + [ + rocblas + rocmlir + clang-ocl + miopengemm + composable_kernel + half + boost + sqlite + bzip2 + nlohmann_json + frugally-deep + ] + ++ lib.optionals buildDocs [ + latex + doxygen + sphinx + rocm-docs-core + python3Packages.sphinx-rtd-theme + python3Packages.breathe + python3Packages.myst-parser + ] + ++ lib.optionals buildTests [ + gtest + zlib + ]; - cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-Wno-#warnings" # -> - "-DMIOPEN_USE_MIOPENGEMM=ON" - "-DUNZIPPER=${bzip2}/bin/bunzip2" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (!useOpenCL) [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DMIOPEN_BACKEND=HIP" - ] ++ lib.optionals useOpenCL [ - "-DMIOPEN_BACKEND=OpenCL" - ] ++ lib.optionals buildTests [ - "-DBUILD_TESTS=ON" - "-DMIOPEN_TEST_ALL=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_FLAGS=-Wno-#warnings" # -> + "-DMIOPEN_USE_MIOPENGEMM=ON" + "-DUNZIPPER=${bzip2}/bin/bunzip2" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (!useOpenCL) [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DMIOPEN_BACKEND=HIP" + ] + ++ lib.optionals useOpenCL [ + "-DMIOPEN_BACKEND=OpenCL" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TESTS=ON" + "-DMIOPEN_TEST_ALL=ON" + ]; postPatch = '' patchShebangs test src/composable_kernel fin utils install_deps.cmake @@ -202,27 +218,39 @@ in stdenv.mkDerivation (finalAttrs: { ''; # Unfortunately, it seems like we have to call make on these manually - postBuild = lib.optionalString buildDocs '' - python -m sphinx -T -E -b html -d _build/doctrees -D language=en ../docs _build/html - '' + lib.optionalString buildTests '' - make -j$NIX_BUILD_CORES check - ''; + postBuild = + lib.optionalString buildDocs '' + python -m sphinx -T -E -b html -d _build/doctrees -D language=en ../docs _build/html + '' + + lib.optionalString buildTests '' + make -j$NIX_BUILD_CORES check + ''; - postInstall = '' - rm $out/bin/install_precompiled_kernels.sh - ln -sf ${gfx900} $out/share/miopen/db/gfx900.kdb - ln -sf ${gfx906} $out/share/miopen/db/gfx906.kdb - ln -sf ${gfx908} $out/share/miopen/db/gfx908.kdb - ln -sf ${gfx90a} $out/share/miopen/db/gfx90a.kdb - ln -sf ${gfx1030} $out/share/miopen/db/gfx1030.kdb - '' + lib.optionalString buildDocs '' - mv ../doc/html $out/share/doc/miopen-${if useOpenCL then "opencl" else "hip"} - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - mv bin/test_* $test/bin - patchelf --set-rpath $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ - [ clr rocm-comgr ])} $test/bin/* - ''; + postInstall = + '' + rm $out/bin/install_precompiled_kernels.sh + ln -sf ${gfx900} $out/share/miopen/db/gfx900.kdb + ln -sf ${gfx906} $out/share/miopen/db/gfx906.kdb + ln -sf ${gfx908} $out/share/miopen/db/gfx908.kdb + ln -sf ${gfx90a} $out/share/miopen/db/gfx90a.kdb + ln -sf ${gfx1030} $out/share/miopen/db/gfx1030.kdb + '' + + lib.optionalString buildDocs '' + mv ../doc/html $out/share/doc/miopen-${if useOpenCL then "opencl" else "hip"} + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + mv bin/test_* $test/bin + patchelf --set-rpath $out/lib:${ + lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + clr + rocm-comgr + ] + ) + } $test/bin/* + ''; requiredSystemFeatures = [ "big-parallel" ]; @@ -238,6 +266,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/miopengemm/default.nix b/pkgs/development/rocm-modules/5/miopengemm/default.nix index c86a4f5b1edaf..24a7056b5a0b1 100644 --- a/pkgs/development/rocm-modules/5/miopengemm/default.nix +++ b/pkgs/development/rocm-modules/5/miopengemm/default.nix @@ -1,47 +1,57 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, clblast -, texliveSmall -, doxygen -, sphinx -, openblas -, python3Packages -, buildDocs ? true -, buildTests ? false -, buildBenchmarks ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + clblast, + texliveSmall, + doxygen, + sphinx, + openblas, + python3Packages, + buildDocs ? true, + buildTests ? false, + buildBenchmarks ? false, }: let - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - latexmk - tex-gyre - fncychap - wrapfig - capt-of - framed - needspace - tabulary - varwidth - titlesec - ])); -in stdenv.mkDerivation (finalAttrs: { + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + latexmk + tex-gyre + fncychap + wrapfig + capt-of + framed + needspace + tabulary + varwidth + titlesec + ] + ) + ); +in +stdenv.mkDerivation (finalAttrs: { pname = "miopengemm"; version = "5.5.0"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; # Deprecated? https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/issues/62 src = fetchFromGitHub { @@ -57,55 +67,67 @@ in stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = lib.optionals buildDocs [ - latex - doxygen - sphinx - python3Packages.sphinx-rtd-theme - python3Packages.breathe - ] ++ lib.optionals buildTests [ - openblas - ] ++ lib.optionals buildBenchmarks [ - clblast - python3Packages.triton - ]; + buildInputs = + lib.optionals buildDocs [ + latex + doxygen + sphinx + python3Packages.sphinx-rtd-theme + python3Packages.breathe + ] + ++ lib.optionals buildTests [ + openblas + ] + ++ lib.optionals buildBenchmarks [ + clblast + python3Packages.triton + ]; - cmakeFlags = [ - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildTests [ - "-DOPENBLAS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DAPI_BENCH_MIOGEMM=ON" - "-DAPI_BENCH_CLBLAST=ON" - "-DAPI_BENCH_ISAAC=ON" - ]; + cmakeFlags = + [ + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildTests [ + "-DOPENBLAS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DAPI_BENCH_MIOGEMM=ON" + "-DAPI_BENCH_CLBLAST=ON" + "-DAPI_BENCH_ISAAC=ON" + ]; # Unfortunately, it seems like we have to call make on these manually - postBuild = lib.optionalString buildDocs '' - export HOME=$(mktemp -d) - make doc - '' + lib.optionalString buildTests '' - make check - '' + lib.optionalString buildBenchmarks '' - make examples - ''; + postBuild = + lib.optionalString buildDocs '' + export HOME=$(mktemp -d) + make doc + '' + + lib.optionalString buildTests '' + make check + '' + + lib.optionalString buildBenchmarks '' + make examples + ''; - postInstall = lib.optionalString buildDocs '' - mv ../doc/html $out/share/doc/miopengemm - mv ../doc/pdf/miopengemm.pdf $out/share/doc/miopengemm - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - find tests -executable -type f -exec mv {} $test/bin \; - patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $test/bin/* - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - find examples -executable -type f -exec mv {} $benchmark/bin \; - patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $benchmark/bin/* - ''; + postInstall = + lib.optionalString buildDocs '' + mv ../doc/html $out/share/doc/miopengemm + mv ../doc/pdf/miopengemm.pdf $out/share/doc/miopengemm + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + find tests -executable -type f -exec mv {} $test/bin \; + patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $test/bin/* + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + find examples -executable -type f -exec mv {} $benchmark/bin \; + patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $benchmark/bin/* + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -121,6 +143,8 @@ in stdenv.mkDerivation (finalAttrs: { platforms = platforms.linux; # They are not making tags or releases, this may break other derivations in the future # Use version major instead of minor, 6.0 will HOPEFULLY have a release or tag - broken = versions.major finalAttrs.version != versions.major stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.major finalAttrs.version != versions.major stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/mivisionx/default.nix b/pkgs/development/rocm-modules/5/mivisionx/default.nix index b7d9762869793..9d8e57ae70022 100644 --- a/pkgs/development/rocm-modules/5/mivisionx/default.nix +++ b/pkgs/development/rocm-modules/5/mivisionx/default.nix @@ -1,42 +1,48 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-device-libs -, clr -, pkg-config -, rpp -, rocblas -, miopengemm -, miopen -, migraphx -, clang -, openmp -, protobuf -, qtcreator -, opencv -, ffmpeg -, boost -, libjpeg_turbo -, half -, lmdb -, rapidjson -, rocm-docs-core -, python3Packages -, useOpenCL ? false -, useCPU ? false -, buildDocs ? false # Needs internet -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-device-libs, + clr, + pkg-config, + rpp, + rocblas, + miopengemm, + miopen, + migraphx, + clang, + openmp, + protobuf, + qtcreator, + opencv, + ffmpeg, + boost, + libjpeg_turbo, + half, + lmdb, + rapidjson, + rocm-docs-core, + python3Packages, + useOpenCL ? false, + useCPU ? false, + buildDocs ? false, # Needs internet + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { - pname = "mivisionx-" + ( - if (!useOpenCL && !useCPU) then "hip" - else if (!useOpenCL && !useCPU) then "opencl" - else "cpu" - ); + pname = + "mivisionx-" + + ( + if (!useOpenCL && !useCPU) then + "hip" + else if (!useOpenCL && !useCPU) then + "opencl" + else + "cpu" + ); version = "5.7.1"; @@ -51,15 +57,17 @@ stdenv.mkDerivation (finalAttrs: { ../../6/mivisionx/0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch ]; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - pkg-config - ] ++ lib.optionals buildDocs [ - rocm-docs-core - python3Packages.python - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + pkg-config + ] + ++ lib.optionals buildDocs [ + rocm-docs-core + python3Packages.python + ]; buildInputs = [ miopengemm @@ -82,25 +90,30 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.torchWithRocm ]; - cmakeFlags = [ - "-DROCM_PATH=${clr}" - "-DAMDRPP_PATH=${rpp}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_PREFIX_PYTHON=lib" - # "-DAMD_FP16_SUPPORT=ON" `error: typedef redefinition with different types ('__half' vs 'half_float::half')` - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals (!useOpenCL && !useCPU) [ - "-DBACKEND=HIP" - ] ++ lib.optionals (useOpenCL && !useCPU) [ - "-DBACKEND=OCL" - ] ++ lib.optionals useCPU [ - "-DBACKEND=CPU" - ]; + cmakeFlags = + [ + "-DROCM_PATH=${clr}" + "-DAMDRPP_PATH=${rpp}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_PREFIX_PYTHON=lib" + # "-DAMD_FP16_SUPPORT=ON" `error: typedef redefinition with different types ('__half' vs 'half_float::half')` + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals (!useOpenCL && !useCPU) [ + "-DBACKEND=HIP" + ] + ++ lib.optionals (useOpenCL && !useCPU) [ + "-DBACKEND=OCL" + ] + ++ lib.optionals useCPU [ + "-DBACKEND=CPU" + ]; postPatch = '' # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...` @@ -144,6 +157,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rccl/default.nix b/pkgs/development/rocm-modules/5/rccl/default.nix index b80b96ac403a7..ecb9ed461c2b4 100644 --- a/pkgs/development/rocm-modules/5/rccl/default.nix +++ b/pkgs/development/rocm-modules/5/rccl/default.nix @@ -1,28 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-smi -, clr -, perl -, hipify -, gtest -, chrpath -, buildTests ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-smi, + clr, + perl, + hipify, + gtest, + chrpath, + buildTests ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rccl"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -39,26 +42,31 @@ stdenv.mkDerivation (finalAttrs: { hipify ]; - buildInputs = [ - rocm-smi - gtest - ] ++ lib.optionals buildTests [ - chrpath - ]; + buildInputs = + [ + rocm-smi + gtest + ] + ++ lib.optionals buildTests [ + chrpath + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DBUILD_BFD=OFF" # Can't get it to detect bfd.h - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TESTS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DBUILD_BFD=OFF" # Can't get it to detect bfd.h + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TESTS=ON" + ]; postPatch = '' patchShebangs src tools @@ -83,9 +91,14 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "ROCm communication collectives library"; homepage = "https://github.com/ROCm/rccl"; - license = with licenses; [ bsd2 bsd3 ]; + license = with licenses; [ + bsd2 + bsd3 + ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rdc/default.nix b/pkgs/development/rocm-modules/5/rdc/default.nix index 3ef5a200ea1a5..7c8b26f16cf79 100644 --- a/pkgs/development/rocm-modules/5/rdc/default.nix +++ b/pkgs/development/rocm-modules/5/rdc/default.nix @@ -1,54 +1,63 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-smi -, rocm-runtime -, libcap -, grpc -, protobuf -, openssl -, doxygen -, graphviz -, texliveSmall -, gtest -, buildDocs ? true -, buildTests ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-smi, + rocm-runtime, + libcap, + grpc, + protobuf, + openssl, + doxygen, + graphviz, + texliveSmall, + gtest, + buildDocs ? true, + buildTests ? false, }: let - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - changepage - latexmk - varwidth - multirow - hanging - adjustbox - collectbox - stackengine - enumitem - alphalph - wasysym - sectsty - tocloft - newunicodechar - etoc - helvetic - wasy - courier - ])); -in stdenv.mkDerivation (finalAttrs: { + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + changepage + latexmk + varwidth + multirow + hanging + adjustbox + collectbox + stackengine + enumitem + alphalph + wasysym + sectsty + tocloft + newunicodechar + etoc + helvetic + wasy + courier + ] + ) + ); +in +stdenv.mkDerivation (finalAttrs: { pname = "rdc"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -57,55 +66,63 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-xZD/WI/LfNtKK9j6ZjuU0OTTFZz3G4atyD5mVcSsQ8A="; }; - nativeBuildInputs = [ - cmake - protobuf - ] ++ lib.optionals buildDocs [ - doxygen - graphviz - latex - ]; + nativeBuildInputs = + [ + cmake + protobuf + ] + ++ lib.optionals buildDocs [ + doxygen + graphviz + latex + ]; - buildInputs = [ - rocm-smi - rocm-runtime - libcap - grpc - openssl - ] ++ lib.optionals buildTests [ - gtest - ]; + buildInputs = + [ + rocm-smi + rocm-runtime + libcap + grpc + openssl + ] + ++ lib.optionals buildTests [ + gtest + ]; - cmakeFlags = [ - "-DCMAKE_VERBOSE_MAKEFILE=OFF" - "-DRDC_INSTALL_PREFIX=${placeholder "out"}" - "-DBUILD_ROCRTEST=ON" - "-DRSMI_INC_DIR=${rocm-smi}/include" - "-DRSMI_LIB_DIR=${rocm-smi}/lib" - "-DGRPC_ROOT=${grpc}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBEXECDIR=libexec" - "-DCMAKE_INSTALL_DOCDIR=doc" - ] ++ lib.optionals buildTests [ - "-DBUILD_TESTS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_VERBOSE_MAKEFILE=OFF" + "-DRDC_INSTALL_PREFIX=${placeholder "out"}" + "-DBUILD_ROCRTEST=ON" + "-DRSMI_INC_DIR=${rocm-smi}/include" + "-DRSMI_LIB_DIR=${rocm-smi}/lib" + "-DGRPC_ROOT=${grpc}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBEXECDIR=libexec" + "-DCMAKE_INSTALL_DOCDIR=doc" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TESTS=ON" + ]; postPatch = '' substituteInPlace CMakeLists.txt \ --replace "file(STRINGS /etc/os-release LINUX_DISTRO LIMIT_COUNT 1 REGEX \"NAME=\")" "set(LINUX_DISTRO \"NixOS\")" ''; - postInstall = '' - find $out/bin -executable -type f -exec \ - patchelf {} --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" \; - '' + lib.optionalString buildTests '' - mkdir -p $test - mv $out/bin/rdctst_tests $test/bin - ''; + postInstall = + '' + find $out/bin -executable -type f -exec \ + patchelf {} --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" \; + '' + + lib.optionalString buildTests '' + mkdir -p $test + mv $out/bin/rdctst_tests $test/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; diff --git a/pkgs/development/rocm-modules/5/rocalution/default.nix b/pkgs/development/rocm-modules/5/rocalution/default.nix index 11f52ea1318c5..e4d1cf7f59b86 100644 --- a/pkgs/development/rocm-modules/5/rocalution/default.nix +++ b/pkgs/development/rocm-modules/5/rocalution/default.nix @@ -1,37 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocblas -, rocsparse -, rocprim -, rocrand -, clr -, git -, openmp -, openmpi -, gtest -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900:xnack-" "gfx906:xnack-" ... ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocblas, + rocsparse, + rocprim, + rocrand, + clr, + git, + openmp, + openmpi, + gtest, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx803" "gfx900:xnack-" "gfx906:xnack-" ... ] }: stdenv.mkDerivation (finalAttrs: { pname = "rocalution"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -47,56 +52,66 @@ stdenv.mkDerivation (finalAttrs: { git ]; - buildInputs = [ - rocblas - rocsparse - rocprim - rocrand - openmp - openmpi - ] ++ lib.optionals buildTests [ - gtest - ]; + buildInputs = + [ + rocblas + rocsparse + rocprim + rocrand + openmp + openmpi + ] + ++ lib.optionals buildTests [ + gtest + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DROCM_PATH=${clr}" - "-DHIP_ROOT_DIR=${clr}" - "-DSUPPORT_HIP=ON" - "-DSUPPORT_OMP=ON" - "-DSUPPORT_MPI=ON" - "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.strings.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DROCM_PATH=${clr}" + "-DHIP_ROOT_DIR=${clr}" + "-DSUPPORT_HIP=ON" + "-DSUPPORT_OMP=ON" + "-DSUPPORT_MPI=ON" + "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.strings.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/rocalution-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/rocalution-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/* $sample/bin - rm $sample/bin/rocalution-test || true - rm $sample/bin/rocalution-bench || true + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/rocalution-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/rocalution-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/* $sample/bin + rm $sample/bin/rocalution-test || true + rm $sample/bin/rocalution-bench || true - patchelf --set-rpath \ - $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ [ clr ])} \ - $sample/bin/* - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + patchelf --set-rpath \ + $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ [ clr ])} \ + $sample/bin/* + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -110,6 +125,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocblas/default.nix b/pkgs/development/rocm-modules/5/rocblas/default.nix index 187775e25a651..baedf04b14511 100644 --- a/pkgs/development/rocm-modules/5/rocblas/default.nix +++ b/pkgs/development/rocm-modules/5/rocblas/default.nix @@ -1,86 +1,101 @@ -{ rocblas -, lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, python3 -, tensile -, msgpack -, libxml2 -, gtest -, gfortran -, openmp -, amd-blis -, python3Packages -, buildTensile ? true -, buildTests ? false -, buildBenchmarks ? false -, tensileLogic ? "asm_full" -, tensileCOVersion ? "default" -, tensileSepArch ? true -, tensileLazyLib ? true -, tensileLibFormat ? "msgpack" -, gpuTargets ? [ "all" ] +{ + rocblas, + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + python3, + tensile, + msgpack, + libxml2, + gtest, + gfortran, + openmp, + amd-blis, + python3Packages, + buildTensile ? true, + buildTests ? false, + buildBenchmarks ? false, + tensileLogic ? "asm_full", + tensileCOVersion ? "default", + tensileSepArch ? true, + tensileLazyLib ? true, + tensileLibFormat ? "msgpack", + gpuTargets ? [ "all" ], }: let # NOTE: Update the default GPU targets on every update - gfx80 = (rocblas.override { - gpuTargets = [ - "gfx803" - ]; - }).overrideAttrs { pname = "rocblas-tensile-gfx80"; }; - - gfx90 = (rocblas.override { - gpuTargets = [ - "gfx900" - "gfx906:xnack-" - "gfx908:xnack-" - "gfx90a:xnack+" - "gfx90a:xnack-" - ]; - }).overrideAttrs { pname = "rocblas-tensile-gfx90"; }; - - gfx94 = (rocblas.override { - gpuTargets = [ - "gfx940" - "gfx941" - "gfx942" - ]; - }).overrideAttrs { pname = "rocblas-tensile-gfx94"; }; - - gfx10 = (rocblas.override { - gpuTargets = [ - "gfx1010" - "gfx1012" - "gfx1030" - ]; - }).overrideAttrs { pname = "rocblas-tensile-gfx10"; }; - - gfx11 = (rocblas.override { - gpuTargets = [ - "gfx1100" - "gfx1101" - "gfx1102" - ]; - }).overrideAttrs { pname = "rocblas-tensile-gfx11"; }; + gfx80 = + (rocblas.override { + gpuTargets = [ + "gfx803" + ]; + }).overrideAttrs + { pname = "rocblas-tensile-gfx80"; }; + + gfx90 = + (rocblas.override { + gpuTargets = [ + "gfx900" + "gfx906:xnack-" + "gfx908:xnack-" + "gfx90a:xnack+" + "gfx90a:xnack-" + ]; + }).overrideAttrs + { pname = "rocblas-tensile-gfx90"; }; + + gfx94 = + (rocblas.override { + gpuTargets = [ + "gfx940" + "gfx941" + "gfx942" + ]; + }).overrideAttrs + { pname = "rocblas-tensile-gfx94"; }; + + gfx10 = + (rocblas.override { + gpuTargets = [ + "gfx1010" + "gfx1012" + "gfx1030" + ]; + }).overrideAttrs + { pname = "rocblas-tensile-gfx10"; }; + + gfx11 = + (rocblas.override { + gpuTargets = [ + "gfx1100" + "gfx1101" + "gfx1102" + ]; + }).overrideAttrs + { pname = "rocblas-tensile-gfx11"; }; # Unfortunately, we have to do two full builds, otherwise we get overlapping _fallback.dat files fallbacks = rocblas.overrideAttrs { pname = "rocblas-tensile-fallbacks"; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "rocblas"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -95,99 +110,122 @@ in stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = [ - python3 - ] ++ lib.optionals buildTensile [ - msgpack - libxml2 - python3Packages.msgpack - python3Packages.joblib - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - gfortran - openmp - amd-blis - ] ++ lib.optionals (buildTensile || buildTests || buildBenchmarks) [ - python3Packages.pyyaml - ]; + buildInputs = + [ + python3 + ] + ++ lib.optionals buildTensile [ + msgpack + libxml2 + python3Packages.msgpack + python3Packages.joblib + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + gfortran + openmp + amd-blis + ] + ++ lib.optionals (buildTensile || buildTests || buildBenchmarks) [ + python3Packages.pyyaml + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-Dpython=python3" - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - "-DBUILD_WITH_TENSILE=${if buildTensile then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildTensile [ - "-DVIRTUALENV_HOME_DIR=/build/source/tensile" - "-DTensile_TEST_LOCAL_PATH=/build/source/tensile" - "-DTensile_ROOT=/build/source/tensile/${python3.sitePackages}/Tensile" - "-DTensile_LOGIC=${tensileLogic}" - "-DTensile_CODE_OBJECT_VERSION=${tensileCOVersion}" - "-DTensile_SEPARATE_ARCHITECTURES=${if tensileSepArch then "ON" else "OFF"}" - "-DTensile_LAZY_LIBRARY_LOADING=${if tensileLazyLib then "ON" else "OFF"}" - "-DTensile_LIBRARY_FORMAT=${tensileLibFormat}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "-DCMAKE_CXX_FLAGS=-I${amd-blis}/include/blis" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-Dpython=python3" + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + "-DBUILD_WITH_TENSILE=${if buildTensile then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildTensile [ + "-DVIRTUALENV_HOME_DIR=/build/source/tensile" + "-DTensile_TEST_LOCAL_PATH=/build/source/tensile" + "-DTensile_ROOT=/build/source/tensile/${python3.sitePackages}/Tensile" + "-DTensile_LOGIC=${tensileLogic}" + "-DTensile_CODE_OBJECT_VERSION=${tensileCOVersion}" + "-DTensile_SEPARATE_ARCHITECTURES=${if tensileSepArch then "ON" else "OFF"}" + "-DTensile_LAZY_LIBRARY_LOADING=${if tensileLazyLib then "ON" else "OFF"}" + "-DTensile_LIBRARY_FORMAT=${tensileLibFormat}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "-DCMAKE_CXX_FLAGS=-I${amd-blis}/include/blis" + ]; - postPatch = lib.optionalString (finalAttrs.pname != "rocblas") '' - # Return early and install tensile files manually - substituteInPlace library/src/CMakeLists.txt \ - --replace "set_target_properties( TensileHost PROPERTIES OUTPUT_NAME" "return()''\nset_target_properties( TensileHost PROPERTIES OUTPUT_NAME" - '' + lib.optionalString (buildTensile && finalAttrs.pname == "rocblas") '' - # Link the prebuilt Tensile files - mkdir -p build/Tensile/library - - for path in ${gfx80} ${gfx90} ${gfx94} ${gfx10} ${gfx11} ${fallbacks}; do - ln -s $path/lib/rocblas/library/* build/Tensile/library - done - - unlink build/Tensile/library/TensileManifest.txt - '' + lib.optionalString buildTensile '' - # Tensile REALLY wants to write to the nix directory if we include it normally - cp -a ${tensile} tensile - chmod +w -R tensile - - # Rewrap Tensile - substituteInPlace tensile/bin/{.t*,.T*,*} \ - --replace "${tensile}" "/build/source/tensile" - - substituteInPlace CMakeLists.txt \ - --replace "include(virtualenv)" "" \ - --replace "virtualenv_install(\''${Tensile_TEST_LOCAL_PATH})" "" - ''; - - postInstall = lib.optionalString (finalAttrs.pname == "rocblas") '' - ln -sf ${fallbacks}/lib/rocblas/library/TensileManifest.txt $out/lib/rocblas/library - '' + lib.optionalString (finalAttrs.pname != "rocblas") '' - mkdir -p $out/lib/rocblas/library - rm -rf $out/share - '' + lib.optionalString (finalAttrs.pname != "rocblas" && finalAttrs.pname != "rocblas-tensile-fallbacks") '' - rm Tensile/library/{TensileManifest.txt,*_fallback.dat} - mv Tensile/library/* $out/lib/rocblas/library - '' + lib.optionalString (finalAttrs.pname == "rocblas-tensile-fallbacks") '' - mv Tensile/library/{TensileManifest.txt,*_fallback.dat} $out/lib/rocblas/library - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - cp -a $out/bin/* $test/bin - rm $test/bin/*-bench || true - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - cp -a $out/bin/* $benchmark/bin - rm $benchmark/bin/*-test || true - '' + lib.optionalString (buildTests || buildBenchmarks ) '' - rm -rf $out/bin - ''; + postPatch = + lib.optionalString (finalAttrs.pname != "rocblas") '' + # Return early and install tensile files manually + substituteInPlace library/src/CMakeLists.txt \ + --replace "set_target_properties( TensileHost PROPERTIES OUTPUT_NAME" "return()''\nset_target_properties( TensileHost PROPERTIES OUTPUT_NAME" + '' + + lib.optionalString (buildTensile && finalAttrs.pname == "rocblas") '' + # Link the prebuilt Tensile files + mkdir -p build/Tensile/library + + for path in ${gfx80} ${gfx90} ${gfx94} ${gfx10} ${gfx11} ${fallbacks}; do + ln -s $path/lib/rocblas/library/* build/Tensile/library + done + + unlink build/Tensile/library/TensileManifest.txt + '' + + lib.optionalString buildTensile '' + # Tensile REALLY wants to write to the nix directory if we include it normally + cp -a ${tensile} tensile + chmod +w -R tensile + + # Rewrap Tensile + substituteInPlace tensile/bin/{.t*,.T*,*} \ + --replace "${tensile}" "/build/source/tensile" + + substituteInPlace CMakeLists.txt \ + --replace "include(virtualenv)" "" \ + --replace "virtualenv_install(\''${Tensile_TEST_LOCAL_PATH})" "" + ''; + + postInstall = + lib.optionalString (finalAttrs.pname == "rocblas") '' + ln -sf ${fallbacks}/lib/rocblas/library/TensileManifest.txt $out/lib/rocblas/library + '' + + lib.optionalString (finalAttrs.pname != "rocblas") '' + mkdir -p $out/lib/rocblas/library + rm -rf $out/share + '' + + + lib.optionalString + (finalAttrs.pname != "rocblas" && finalAttrs.pname != "rocblas-tensile-fallbacks") + '' + rm Tensile/library/{TensileManifest.txt,*_fallback.dat} + mv Tensile/library/* $out/lib/rocblas/library + '' + + lib.optionalString (finalAttrs.pname == "rocblas-tensile-fallbacks") '' + mv Tensile/library/{TensileManifest.txt,*_fallback.dat} $out/lib/rocblas/library + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + cp -a $out/bin/* $test/bin + rm $test/bin/*-bench || true + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + cp -a $out/bin/* $benchmark/bin + rm $benchmark/bin/*-test || true + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rm -rf $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -203,6 +241,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocdbgapi/default.nix b/pkgs/development/rocm-modules/5/rocdbgapi/default.nix index fd6797d0d43b4..dddab5997bafc 100644 --- a/pkgs/development/rocm-modules/5/rocdbgapi/default.nix +++ b/pkgs/development/rocm-modules/5/rocdbgapi/default.nix @@ -1,49 +1,57 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, git -, rocm-comgr -, rocm-runtime -, hwdata -, texliveSmall -, doxygen -, graphviz -, buildDocs ? true +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + git, + rocm-comgr, + rocm-runtime, + hwdata, + texliveSmall, + doxygen, + graphviz, + buildDocs ? true, }: let - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - changepage - latexmk - varwidth - multirow - hanging - adjustbox - collectbox - stackengine - enumitem - alphalph - wasysym - sectsty - tocloft - newunicodechar - etoc - helvetic - wasy - courier - ])); -in stdenv.mkDerivation (finalAttrs: { + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + changepage + latexmk + varwidth + multirow + hanging + adjustbox + collectbox + stackengine + enumitem + alphalph + wasysym + sectsty + tocloft + newunicodechar + etoc + helvetic + wasy + courier + ] + ) + ); +in +stdenv.mkDerivation (finalAttrs: { pname = "rocdbgapi"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -52,15 +60,17 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-qMXvgcS61lgcylz62ErYq8fhpYIR31skQEeKUryuP1w="; }; - nativeBuildInputs = [ - cmake - rocm-cmake - git - ] ++ lib.optionals buildDocs [ - latex - doxygen - graphviz - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + git + ] + ++ lib.optionals buildDocs [ + latex + doxygen + graphviz + ]; buildInputs = [ rocm-comgr @@ -83,16 +93,18 @@ in stdenv.mkDerivation (finalAttrs: { make -j$NIX_BUILD_CORES doc ''; - postInstall = '' - substituteInPlace $out/lib/cmake/amd-dbgapi/amd-dbgapi-config.cmake \ - --replace "/build/source/build/" "" + postInstall = + '' + substituteInPlace $out/lib/cmake/amd-dbgapi/amd-dbgapi-config.cmake \ + --replace "/build/source/build/" "" - substituteInPlace $out/lib/cmake/amd-dbgapi/amd-dbgapi-targets.cmake \ - --replace "/build/source/build" "$out" - '' + lib.optionalString buildDocs '' - mv $out/share/html/amd-dbgapi $doc/share/doc/amd-dbgapi/html - rmdir $out/share/html - ''; + substituteInPlace $out/lib/cmake/amd-dbgapi/amd-dbgapi-targets.cmake \ + --replace "/build/source/build" "$out" + '' + + lib.optionalString buildDocs '' + mv $out/share/html/amd-dbgapi $doc/share/doc/amd-dbgapi/html + rmdir $out/share/html + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -106,6 +118,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocfft/default.nix b/pkgs/development/rocm-modules/5/rocfft/default.nix index 48f3264d157f3..d7a0d0e81ba87 100644 --- a/pkgs/development/rocm-modules/5/rocfft/default.nix +++ b/pkgs/development/rocm-modules/5/rocfft/default.nix @@ -1,20 +1,21 @@ -{ rocfft -, lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clr -, python3 -, rocm-cmake -, sqlite -, boost -, fftw -, fftwFloat -, gtest -, openmp -, rocrand -, gpuTargets ? [ ] +{ + rocfft, + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clr, + python3, + rocm-cmake, + sqlite, + boost, + fftw, + fftwFloat, + gtest, + openmp, + rocrand, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { @@ -37,18 +38,20 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ sqlite ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DSQLITE_USE_SYSTEM_PACKAGE=ON" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DSQLITE_USE_SYSTEM_PACKAGE=ON" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ]; passthru = { test = stdenv.mkDerivation { @@ -100,10 +103,12 @@ stdenv.mkDerivation (finalAttrs: { boost finalAttrs.finalPackage openmp - (python3.withPackages (ps: with ps; [ - pandas - scipy - ])) + (python3.withPackages ( + ps: with ps; [ + pandas + scipy + ] + )) rocrand ]; @@ -164,6 +169,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ kira-bruneau ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocgdb/default.nix b/pkgs/development/rocm-modules/5/rocgdb/default.nix index a02ad3f9e8f2d..7a289dbae38e5 100644 --- a/pkgs/development/rocm-modules/5/rocgdb/default.nix +++ b/pkgs/development/rocm-modules/5/rocgdb/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, texinfo -, bison -, flex -, zlib -, elfutils -, gmp -, ncurses -, expat +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + texinfo, + bison, + flex, + zlib, + elfutils, + gmp, + ncurses, + expat, }: stdenv.mkDerivation (finalAttrs: { @@ -51,7 +52,11 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "ROCm source-level debugger for Linux, based on GDB"; homepage = "https://github.com/ROCm/ROCgdb"; - license = with licenses; [ gpl2 gpl3 bsd3 ]; + license = with licenses; [ + gpl2 + gpl3 + bsd3 + ]; maintainers = teams.rocm.members; platforms = platforms.linux; broken = versionAtLeast finalAttrs.version "6.0.0"; diff --git a/pkgs/development/rocm-modules/5/rocm-cmake/default.nix b/pkgs/development/rocm-modules/5/rocm-cmake/default.nix index c0d7e48ff59f3..009dcf6f0d6c1 100644 --- a/pkgs/development/rocm-modules/5/rocm-cmake/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-cmake/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -30,6 +31,8 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.mit; maintainers = teams.rocm.members; platforms = platforms.unix; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocm-comgr/default.nix b/pkgs/development/rocm-modules/5/rocm-comgr/default.nix index ab43edf8a4b99..d54b848885024 100644 --- a/pkgs/development/rocm-modules/5/rocm-comgr/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-comgr/default.nix @@ -1,19 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-device-libs -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-device-libs, + libxml2, }: let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; -in stdenv.mkDerivation (finalAttrs: { + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; +in +stdenv.mkDerivation (finalAttrs: { pname = "rocm-comgr"; version = "5.7.1"; @@ -50,6 +55,8 @@ in stdenv.mkDerivation (finalAttrs: { license = licenses.ncsa; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocm-core/default.nix b/pkgs/development/rocm-modules/5/rocm-core/default.nix index c96bfeb0d2952..bd11a416bc915 100644 --- a/pkgs/development/rocm-modules/5/rocm-core/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-core/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -33,6 +34,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocm-device-libs/default.nix b/pkgs/development/rocm-modules/5/rocm-device-libs/default.nix index 3e769421548b7..52342c23121ed 100644 --- a/pkgs/development/rocm-modules/5/rocm-device-libs/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-device-libs/default.nix @@ -1,18 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + libxml2, }: let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; -in stdenv.mkDerivation (finalAttrs: { + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; +in +stdenv.mkDerivation (finalAttrs: { pname = "rocm-device-libs"; version = "5.7.1"; @@ -45,6 +50,8 @@ in stdenv.mkDerivation (finalAttrs: { license = licenses.ncsa; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix b/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix index d234628f09291..2e32240ca3135 100644 --- a/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, buildPythonPackage -, setuptools -, beautifulsoup4 -, gitpython -, pydata-sphinx-theme -, pygithub -, sphinx -, breathe -, myst-parser -, sphinx-book-theme -, sphinx-copybutton -, sphinx-design -, sphinx-external-toc -, sphinx-notfound-page -, pyyaml -, fastjsonschema +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + buildPythonPackage, + setuptools, + beautifulsoup4, + gitpython, + pydata-sphinx-theme, + pygithub, + sphinx, + breathe, + myst-parser, + sphinx-book-theme, + sphinx-copybutton, + sphinx-design, + sphinx-external-toc, + sphinx-notfound-page, + pyyaml, + fastjsonschema, }: # FIXME: Move to rocmPackages_common @@ -59,7 +60,10 @@ buildPythonPackage rec { meta = with lib; { description = "ROCm Documentation Python package for ReadTheDocs build standardization"; homepage = "https://github.com/RadeonOpenCompute/rocm-docs-core"; - license = with licenses; [ mit cc-by-40 ]; + license = with licenses; [ + mit + cc-by-40 + ]; maintainers = teams.rocm.members; platforms = platforms.linux; }; diff --git a/pkgs/development/rocm-modules/5/rocm-runtime/default.nix b/pkgs/development/rocm-modules/5/rocm-runtime/default.nix index 58730f40817fe..a8a71ce3df6b6 100644 --- a/pkgs/development/rocm-modules/5/rocm-runtime/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-runtime/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, cmake -, xxd -, rocm-device-libs -, rocm-thunk -, elfutils -, libdrm -, numactl -, valgrind -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + cmake, + xxd, + rocm-device-libs, + rocm-thunk, + elfutils, + libdrm, + numactl, + valgrind, + libxml2, }: stdenv.mkDerivation (finalAttrs: { @@ -73,6 +74,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ ncsa ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocm-smi/default.nix b/pkgs/development/rocm-modules/5/rocm-smi/default.nix index 3598f70b7709c..2d19e2575cf8e 100644 --- a/pkgs/development/rocm-modules/5/rocm-smi/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-smi/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, wrapPython +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + wrapPython, }: stdenv.mkDerivation (finalAttrs: { @@ -50,6 +51,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = [ "x86_64-linux" ]; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocm-thunk/default.nix b/pkgs/development/rocm-modules/5/rocm-thunk/default.nix index f610f8a0d53a8..b013a3c26f581 100644 --- a/pkgs/development/rocm-modules/5/rocm-thunk/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-thunk/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, cmake -, libdrm -, numactl +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + cmake, + libdrm, + numactl, }: stdenv.mkDerivation (finalAttrs: { @@ -46,9 +47,14 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Radeon open compute thunk interface"; homepage = "https://github.com/ROCm/ROCT-Thunk-Interface"; - license = with licenses; [ bsd2 mit ]; + license = with licenses; [ + bsd2 + mit + ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocminfo/default.nix b/pkgs/development/rocm-modules/5/rocminfo/default.nix index fbeb2f7d7f2cb..2c1ad76a61e74 100644 --- a/pkgs/development/rocm-modules/5/rocminfo/default.nix +++ b/pkgs/development/rocm-modules/5/rocminfo/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-runtime -, busybox -, python3 -, gnugrep +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-runtime, + busybox, + python3, + gnugrep, # rocminfo requires that the calling user have a password and be in # the video group. If we let rocm_agent_enumerator rely upon # rocminfo's output, then it, too, has those requirements. Instead, # we can specify the GPU targets for this system (e.g. "gfx803" for # Polaris) such that no system call is needed for downstream # compilers to determine the desired target. -, defaultTargets ? [] + defaultTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { @@ -58,6 +59,9 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.ncsa; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = stdenv.hostPlatform.isAarch64 || versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + stdenv.hostPlatform.isAarch64 + || versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocmlir/default.nix b/pkgs/development/rocm-modules/5/rocmlir/default.nix index 33d0ddb55604d..85c0c0bc17d47 100644 --- a/pkgs/development/rocm-modules/5/rocmlir/default.nix +++ b/pkgs/development/rocm-modules/5/rocmlir/default.nix @@ -1,44 +1,48 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, ninja -, clr -, git -, libxml2 -, libedit -, zstd -, zlib -, ncurses -, python3Packages -, buildRockCompiler ? false -, buildTests ? false # `argument of type 'NoneType' is not iterable` +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + ninja, + clr, + git, + libxml2, + libedit, + zstd, + zlib, + ncurses, + python3Packages, + buildRockCompiler ? false, + buildTests ? false, # `argument of type 'NoneType' is not iterable` }: # Theoretically, we could have our MLIR have an output # with the source and built objects so that we can just # use it as the external LLVM repo for this let - suffix = - if buildRockCompiler - then "-rock" - else ""; + suffix = if buildRockCompiler then "-rock" else ""; llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; -in stdenv.mkDerivation (finalAttrs: { + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; +in +stdenv.mkDerivation (finalAttrs: { pname = "rocmlir${suffix}"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals (!buildRockCompiler) [ - "external" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals (!buildRockCompiler) [ + "external" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -68,22 +72,25 @@ in stdenv.mkDerivation (finalAttrs: { ncurses ]; - cmakeFlags = [ - "-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}" - "-DLLVM_ENABLE_ZSTD=ON" - "-DLLVM_ENABLE_ZLIB=ON" - "-DLLVM_ENABLE_TERMINFO=ON" - "-DROCM_PATH=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildRockCompiler [ - "-DBUILD_FAT_LIBROCKCOMPILER=ON" - ] ++ lib.optionals (!buildRockCompiler) [ - "-DROCM_TEST_CHIPSET=gfx000" - ]; + cmakeFlags = + [ + "-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}" + "-DLLVM_ENABLE_ZSTD=ON" + "-DLLVM_ENABLE_ZLIB=ON" + "-DLLVM_ENABLE_TERMINFO=ON" + "-DROCM_PATH=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildRockCompiler [ + "-DBUILD_FAT_LIBROCKCOMPILER=ON" + ] + ++ lib.optionals (!buildRockCompiler) [ + "-DROCM_TEST_CHIPSET=gfx000" + ]; postPatch = '' patchShebangs mlir @@ -96,20 +103,30 @@ in stdenv.mkDerivation (finalAttrs: { doCheck = true; # Certain libs aren't being generated, try enabling tests next update - checkTarget = if buildRockCompiler - then "librockCompiler" - else if buildTests - then "check-rocmlir" - else "check-rocmlir-build-only"; + checkTarget = + if buildRockCompiler then + "librockCompiler" + else if buildTests then + "check-rocmlir" + else + "check-rocmlir-build-only"; - postInstall = let - libPath = lib.makeLibraryPath [ zstd zlib ncurses clr stdenv.cc.cc ]; - in lib.optionals (!buildRockCompiler) '' - mkdir -p $external/lib - cp -a external/llvm-project/llvm/lib/{*.a*,*.so*} $external/lib - patchelf --set-rpath $external/lib:$out/lib:${libPath} $external/lib/*.so* - patchelf --set-rpath $out/lib:$external/lib:${libPath} $out/{bin/*,lib/*.so*} - ''; + postInstall = + let + libPath = lib.makeLibraryPath [ + zstd + zlib + ncurses + clr + stdenv.cc.cc + ]; + in + lib.optionals (!buildRockCompiler) '' + mkdir -p $external/lib + cp -a external/llvm-project/llvm/lib/{*.a*,*.so*} $external/lib + patchelf --set-rpath $external/lib:$out/lib:${libPath} $external/lib/*.so* + patchelf --set-rpath $out/lib:$external/lib:${libPath} $out/{bin/*,lib/*.so*} + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -125,6 +142,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ asl20 ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocprim/default.nix b/pkgs/development/rocm-modules/5/rocprim/default.nix index 398d1d5509cfe..97f7418d3d25a 100644 --- a/pkgs/development/rocm-modules/5/rocprim/default.nix +++ b/pkgs/development/rocm-modules/5/rocprim/default.nix @@ -1,28 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, gtest -, gbenchmark -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + gtest, + gbenchmark, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocprim"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -37,37 +41,46 @@ stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = lib.optionals buildTests [ - gtest - ] ++ lib.optionals buildBenchmarks [ - gbenchmark - ]; + buildInputs = + lib.optionals buildTests [ + gtest + ] + ++ lib.optionals buildBenchmarks [ + gbenchmark + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TEST=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_BENCHMARK=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_BENCHMARK=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/test_* $test/bin - mv $out/bin/rocprim $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/benchmark_* $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/test_* $test/bin + mv $out/bin/rocprim $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/benchmark_* $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -81,6 +94,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocprofiler/default.nix b/pkgs/development/rocm-modules/5/rocprofiler/default.nix index c544b3f226bba..10397e8b9e7a2 100644 --- a/pkgs/development/rocm-modules/5/rocprofiler/default.nix +++ b/pkgs/development/rocm-modules/5/rocprofiler/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, symlinkJoin -, substituteAll -, cmake -, clang -, clr -, rocm-core -, rocm-thunk -, rocm-device-libs -, roctracer -, rocdbgapi -, rocm-smi -, hsa-amd-aqlprofile-bin -, numactl -, libpciaccess -, libxml2 -, elfutils -, mpi -, systemd -, gtest -, python3Packages -, gpuTargets ? clr.gpuTargets +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + symlinkJoin, + substituteAll, + cmake, + clang, + clr, + rocm-core, + rocm-thunk, + rocm-device-libs, + roctracer, + rocdbgapi, + rocm-smi, + hsa-amd-aqlprofile-bin, + numactl, + libpciaccess, + libxml2, + elfutils, + mpi, + systemd, + gtest, + python3Packages, + gpuTargets ? clr.gpuTargets, }: let @@ -44,7 +45,8 @@ let rm -rf $out/nix-support ''; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "rocprofiler"; version = "5.7.1"; @@ -131,6 +133,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; # mitx11 maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor clr.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor clr.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix b/pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix index 67da17304b3d0..3b94b41169c09 100644 --- a/pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix +++ b/pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clr -, git -, rocdbgapi -, elfutils +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clr, + git, + rocdbgapi, + elfutils, }: stdenv.mkDerivation (finalAttrs: { @@ -54,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ ncsa ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocrand/default.nix b/pkgs/development/rocm-modules/5/rocrand/default.nix index 5abdb3fafecb2..d62d348ca5d2f 100644 --- a/pkgs/development/rocm-modules/5/rocrand/default.nix +++ b/pkgs/development/rocm-modules/5/rocrand/default.nix @@ -1,28 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, gtest -, gbenchmark -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + gtest, + gbenchmark, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocrand"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -38,38 +42,47 @@ stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = lib.optionals buildTests [ - gtest - ] ++ lib.optionals buildBenchmarks [ - gbenchmark - ]; + buildInputs = + lib.optionals buildTests [ + gtest + ] + ++ lib.optionals buildBenchmarks [ + gbenchmark + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DHIP_ROOT_DIR=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TEST=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_BENCHMARK=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DHIP_ROOT_DIR=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_BENCHMARK=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/test_* $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/benchmark_* $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/test_* $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/benchmark_* $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -83,6 +96,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocsolver/default.nix b/pkgs/development/rocm-modules/5/rocsolver/default.nix index 518aa798d49b4..a1b24af681b8b 100644 --- a/pkgs/development/rocm-modules/5/rocsolver/default.nix +++ b/pkgs/development/rocm-modules/5/rocsolver/default.nix @@ -1,32 +1,36 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocblas -, rocsparse -, clr -, fmt -, gtest -, gfortran -, lapack-reference -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900" "gfx906:xnack-" ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocblas, + rocsparse, + clr, + fmt, + gtest, + gfortran, + lapack-reference, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx803" "gfx900" "gfx906:xnack-" ] }: stdenv.mkDerivation (finalAttrs: { pname = "rocsolver"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -35,49 +39,61 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-qxmjm4tgpCnfJ2SqUXndk6y0MsPJUKHvjv/3Uc0smr4="; }; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - gfortran - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + gfortran + ]; - buildInputs = [ - rocblas - rocsparse - fmt - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - lapack-reference - ]; + buildInputs = + [ + rocblas + rocsparse + fmt + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + lapack-reference + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DCMAKE_CXX_FLAGS=-Wno-switch" # Way too many warnings - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DCMAKE_CXX_FLAGS=-Wno-switch" # Way too many warnings + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/rocsolver-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/rocsolver-bench $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/rocsolver-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/rocsolver-bench $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -95,6 +111,8 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.linux; timeout = 14400; # 4 hours maxSilent = 14400; # 4 hours - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocsparse/default.nix b/pkgs/development/rocm-modules/5/rocsparse/default.nix index 07e2018b0287c..58890373403d1 100644 --- a/pkgs/development/rocm-modules/5/rocsparse/default.nix +++ b/pkgs/development/rocm-modules/5/rocsparse/default.nix @@ -1,33 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchzip -, rocmUpdateScript -, cmake -, rocm-cmake -, rocprim -, clr -, gfortran -, git -, gtest -, boost -, python3Packages -, buildTests ? false -, buildBenchmarks ? false # Seems to depend on tests -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + rocmUpdateScript, + cmake, + rocm-cmake, + rocprim, + clr, + gfortran, + git, + gtest, + boost, + python3Packages, + buildTests ? false, + buildBenchmarks ? false, # Seems to depend on tests + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocsparse"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -43,32 +47,38 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocprim - git - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - gtest - boost - python3Packages.python - python3Packages.pyyaml - ]; + buildInputs = + [ + rocprim + git + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + gtest + boost + python3Packages.python + python3Packages.pyyaml + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "-DBUILD_CLIENTS_TESTS=ON" - "-DCMAKE_MATRICES_DIR=/build/source/matrices" - "-Dpython=python3" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "-DBUILD_CLIENTS_TESTS=ON" + "-DCMAKE_MATRICES_DIR=/build/source/matrices" + "-Dpython=python3" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ]; # We have to manually generate the matrices postPatch = lib.optionalString (buildTests || buildBenchmarks) '' @@ -112,17 +122,19 @@ stdenv.mkDerivation (finalAttrs: { done ''; - postInstall = lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - cp -a $out/bin/* $benchmark/bin - rm $benchmark/bin/rocsparse-test - '' + lib.optionalString (buildTests || buildBenchmarks) '' - mkdir -p $test/bin - mv $out/bin/* $test/bin - rm $test/bin/rocsparse-bench || true - mv /build/source/matrices $test - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + cp -a $out/bin/* $benchmark/bin + rm $benchmark/bin/rocsparse-test + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + mkdir -p $test/bin + mv $out/bin/* $test/bin + rm $test/bin/rocsparse-bench || true + mv /build/source/matrices $test + rmdir $out/bin + ''; passthru = { matrices = import ./deps.nix { @@ -144,6 +156,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocsparse/deps.nix b/pkgs/development/rocm-modules/5/rocsparse/deps.nix index cef880ab3232d..e39b6de39673c 100644 --- a/pkgs/development/rocm-modules/5/rocsparse/deps.nix +++ b/pkgs/development/rocm-modules/5/rocsparse/deps.nix @@ -1,6 +1,7 @@ -{ fetchzip -, mirror1 -, mirror2 +{ + fetchzip, + mirror1, + mirror2, }: { diff --git a/pkgs/development/rocm-modules/5/rocthrust/default.nix b/pkgs/development/rocm-modules/5/rocthrust/default.nix index bd03cc11d7807..cbf9d77f149d6 100644 --- a/pkgs/development/rocm-modules/5/rocthrust/default.nix +++ b/pkgs/development/rocm-modules/5/rocthrust/default.nix @@ -1,28 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocprim -, clr -, gtest -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocprim, + clr, + gtest, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocthrust"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -42,33 +46,41 @@ stdenv.mkDerivation (finalAttrs: { gtest ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DHIP_ROOT_DIR=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TEST=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_BENCHMARKS=ON" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "-DCMAKE_CXX_FLAGS=-Wno-deprecated-builtins" # Too much spam - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DHIP_ROOT_DIR=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_BENCHMARKS=ON" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "-DCMAKE_CXX_FLAGS=-Wno-deprecated-builtins" # Too much spam + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/{test_*,*.hip} $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/benchmark_* $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rm -rf $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/{test_*,*.hip} $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/benchmark_* $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rm -rf $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -82,6 +94,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ asl20 ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/roctracer/default.nix b/pkgs/development/rocm-modules/5/roctracer/default.nix index 9270a273dcae9..44736676a2dd3 100644 --- a/pkgs/development/rocm-modules/5/roctracer/default.nix +++ b/pkgs/development/rocm-modules/5/roctracer/default.nix @@ -1,32 +1,36 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clr -, rocm-device-libs -, libxml2 -, doxygen -, graphviz -, gcc-unwrapped -, libbacktrace -, rocm-runtime -, python3Packages -, buildDocs ? false # Nothing seems to be generated, so not making the output -, buildTests ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clr, + rocm-device-libs, + libxml2, + doxygen, + graphviz, + gcc-unwrapped, + libbacktrace, + rocm-runtime, + python3Packages, + buildDocs ? false, # Nothing seems to be generated, so not making the output + buildTests ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "roctracer"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -35,13 +39,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-P6QYyAjMRwFFWKF8AhbrYGe+mYVJXdbBW1or6vcobYU="; }; - nativeBuildInputs = [ - cmake - clr - ] ++ lib.optionals buildDocs [ - doxygen - graphviz - ]; + nativeBuildInputs = + [ + cmake + clr + ] + ++ lib.optionals buildDocs [ + doxygen + graphviz + ]; buildInputs = [ libxml2 @@ -64,27 +70,39 @@ stdenv.mkDerivation (finalAttrs: { "-Wno-error=array-bounds" ]; - postPatch = '' - export HIP_DEVICE_LIB_PATH=${rocm-device-libs}/amdgcn/bitcode - '' + lib.optionalString (!buildTests) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(test)" "" - ''; + postPatch = + '' + export HIP_DEVICE_LIB_PATH=${rocm-device-libs}/amdgcn/bitcode + '' + + lib.optionalString (!buildTests) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(test)" "" + ''; # Tests always fail, probably need GPU # doCheck = buildTests; - postInstall = lib.optionalString buildDocs '' - mkdir -p $doc - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - # Not sure why this is an install target - find $out/test -executable -type f -exec mv {} $test/bin \; - rm $test/bin/{*.sh,*.py} - patchelf --set-rpath $out/lib:${lib.makeLibraryPath ( - finalAttrs.buildInputs ++ [ clr gcc-unwrapped.lib rocm-runtime ])} $test/bin/* - rm -rf $out/test - ''; + postInstall = + lib.optionalString buildDocs '' + mkdir -p $doc + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + # Not sure why this is an install target + find $out/test -executable -type f -exec mv {} $test/bin \; + rm $test/bin/{*.sh,*.py} + patchelf --set-rpath $out/lib:${ + lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + clr + gcc-unwrapped.lib + rocm-runtime + ] + ) + } $test/bin/* + rm -rf $out/test + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -98,6 +116,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; # mitx11 maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor clr.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor clr.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rocwmma/default.nix b/pkgs/development/rocm-modules/5/rocwmma/default.nix index f02859995bcc1..7fdd88e2277b4 100644 --- a/pkgs/development/rocm-modules/5/rocwmma/default.nix +++ b/pkgs/development/rocm-modules/5/rocwmma/default.nix @@ -1,34 +1,39 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-smi -, clr -, openmp -, gtest -, rocblas -, buildTests ? false # Will likely fail building because wavefront shifts are not supported for certain archs -, buildExtendedTests ? false -, buildBenchmarks ? false -, buildSamples ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx908:xnack-" "gfx90a:xnack-" "gfx90a:xnack+" ... ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-smi, + clr, + openmp, + gtest, + rocblas, + buildTests ? false, # Will likely fail building because wavefront shifts are not supported for certain archs + buildExtendedTests ? false, + buildBenchmarks ? false, + buildSamples ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx908:xnack-" "gfx90a:xnack-" "gfx90a:xnack+" ... ] }: stdenv.mkDerivation (finalAttrs: { pname = "rocwmma"; version = "5.7.1"; - outputs = [ - "out" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -47,46 +52,56 @@ stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = [ - openmp - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - rocm-smi - gtest - rocblas - ]; + buildInputs = + [ + openmp + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + rocm-smi + gtest + rocblas + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DROCWMMA_BUILD_TESTS=${if buildTests || buildBenchmarks then "ON" else "OFF"}" - "-DROCWMMA_BUILD_SAMPLES=${if buildSamples then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildExtendedTests [ - "-DROCWMMA_BUILD_EXTENDED_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DROCWMMA_BUILD_BENCHMARK_TESTS=ON" - "-DROCWMMA_BENCHMARK_WITH_ROCBLAS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DROCWMMA_BUILD_TESTS=${if buildTests || buildBenchmarks then "ON" else "OFF"}" + "-DROCWMMA_BUILD_SAMPLES=${if buildSamples then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildExtendedTests [ + "-DROCWMMA_BUILD_EXTENDED_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DROCWMMA_BUILD_BENCHMARK_TESTS=ON" + "-DROCWMMA_BENCHMARK_WITH_ROCBLAS=ON" + ]; - postInstall = lib.optionalString (buildTests || buildBenchmarks) '' - mkdir -p $test/bin - mv $out/bin/{*_test,*-validate} $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/*-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv $out/bin/sgemmv $sample/bin - mv $out/bin/simple_gemm $sample/bin - mv $out/bin/simple_dlrm $sample/bin - '' + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' - rm -rf $out/bin - ''; + postInstall = + lib.optionalString (buildTests || buildBenchmarks) '' + mkdir -p $test/bin + mv $out/bin/{*_test,*-validate} $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/*-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv $out/bin/sgemmv $sample/bin + mv $out/bin/simple_gemm $sample/bin + mv $out/bin/simple_dlrm $sample/bin + '' + + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' + rm -rf $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -100,6 +115,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/rpp/default.nix b/pkgs/development/rocm-modules/5/rpp/default.nix index 45079c6d62cc9..59f633f4bfa11 100644 --- a/pkgs/development/rocm-modules/5/rpp/default.nix +++ b/pkgs/development/rocm-modules/5/rpp/default.nix @@ -1,27 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-docs-core -, half -, clr -, openmp -, boost -, python3Packages -, buildDocs ? false # Needs internet -, useOpenCL ? false -, useCPU ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-docs-core, + half, + clr, + openmp, + boost, + python3Packages, + buildDocs ? false, # Needs internet + useOpenCL ? false, + useCPU ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { - pname = "rpp-" + ( - if (!useOpenCL && !useCPU) then "hip" - else if (!useOpenCL && !useCPU) then "opencl" - else "cpu" - ); + pname = + "rpp-" + + ( + if (!useOpenCL && !useCPU) then + "hip" + else if (!useOpenCL && !useCPU) then + "opencl" + else + "cpu" + ); version = "5.7.1"; @@ -32,14 +38,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-s6ODmxPBLpR5f8VALaW6F0p0rZSxSd2LH2+60SEfLCk="; }; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - ] ++ lib.optionals buildDocs [ - rocm-docs-core - python3Packages.python - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + ] + ++ lib.optionals buildDocs [ + rocm-docs-core + python3Packages.python + ]; buildInputs = [ half @@ -47,19 +55,24 @@ stdenv.mkDerivation (finalAttrs: { boost ]; - cmakeFlags = [ - "-DROCM_PATH=${clr}" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals (!useOpenCL && !useCPU) [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DBACKEND=HIP" - ] ++ lib.optionals (useOpenCL && !useCPU) [ - "-DBACKEND=OCL" - ] ++ lib.optionals useCPU [ - "-DBACKEND=CPU" - ]; + cmakeFlags = + [ + "-DROCM_PATH=${clr}" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals (!useOpenCL && !useCPU) [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DBACKEND=HIP" + ] + ++ lib.optionals (useOpenCL && !useCPU) [ + "-DBACKEND=OCL" + ] + ++ lib.optionals useCPU [ + "-DBACKEND=CPU" + ]; postPatch = lib.optionalString (!useOpenCL && !useCPU) '' # Bad path @@ -83,6 +96,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "6.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/5/tensile/default.nix b/pkgs/development/rocm-modules/5/tensile/default.nix index 7f1e64422668f..bb8db155c42a3 100644 --- a/pkgs/development/rocm-modules/5/tensile/default.nix +++ b/pkgs/development/rocm-modules/5/tensile/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, buildPythonPackage -, pytestCheckHook -, setuptools -, pyyaml -, msgpack -, pandas -, joblib -, filelock -, rocminfo +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + buildPythonPackage, + pytestCheckHook, + setuptools, + pyyaml, + msgpack, + pandas, + joblib, + filelock, + rocminfo, }: buildPythonPackage rec { @@ -60,6 +61,7 @@ buildPythonPackage rec { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor version != versions.minor stdenv.cc.version || versionAtLeast version "6.0.0"; + broken = + versions.minor version != versions.minor stdenv.cc.version || versionAtLeast version "6.0.0"; }; } diff --git a/pkgs/development/rocm-modules/5/update.nix b/pkgs/development/rocm-modules/5/update.nix index ebf21b8f15a73..e9ff2d93d98fa 100644 --- a/pkgs/development/rocm-modules/5/update.nix +++ b/pkgs/development/rocm-modules/5/update.nix @@ -1,19 +1,19 @@ -{ lib -, writeScript +{ + lib, + writeScript, }: -{ name ? "" -, owner ? "" -, repo ? "" -, page ? "releases/latest" -, filter ? ".tag_name | split(\"-\") | .[1]" +{ + name ? "", + owner ? "", + repo ? "", + page ? "releases/latest", + filter ? ".tag_name | split(\"-\") | .[1]", }: let pname = - if lib.hasPrefix "rocm-llvm-" name - then "llvm.${lib.removePrefix "rocm-llvm-" name}" - else name; + if lib.hasPrefix "rocm-llvm-" name then "llvm.${lib.removePrefix "rocm-llvm-" name}" else name; updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell @@ -34,4 +34,5 @@ let update-source-version rocmPackages_5.${pname} "$version" --ignore-same-hash ''; -in [ updateScript ] +in +[ updateScript ] diff --git a/pkgs/development/rocm-modules/6/clang-ocl/default.nix b/pkgs/development/rocm-modules/6/clang-ocl/default.nix index 7d366e53ae565..0ef8a04a744b2 100644 --- a/pkgs/development/rocm-modules/6/clang-ocl/default.nix +++ b/pkgs/development/rocm-modules/6/clang-ocl/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-device-libs +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-device-libs, }: stdenv.mkDerivation (finalAttrs: { @@ -37,6 +38,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/clr/default.nix b/pkgs/development/rocm-modules/6/clr/default.nix index 7d80242ccbda0..a3dc49695c50d 100644 --- a/pkgs/development/rocm-modules/6/clr/default.nix +++ b/pkgs/development/rocm-modules/6/clr/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, callPackage -, fetchFromGitHub -, fetchpatch -, fetchurl -, rocmUpdateScript -, makeWrapper -, cmake -, perl -, clang -, hip-common -, hipcc -, rocm-device-libs -, rocm-comgr -, rocm-runtime -, roctracer -, rocminfo -, rocm-smi -, numactl -, libGL -, libxml2 -, libX11 -, python3Packages +{ + lib, + stdenv, + callPackage, + fetchFromGitHub, + fetchpatch, + fetchurl, + rocmUpdateScript, + makeWrapper, + cmake, + perl, + clang, + hip-common, + hipcc, + rocm-device-libs, + rocm-comgr, + rocm-runtime, + roctracer, + rocminfo, + rocm-smi, + numactl, + libGL, + libxml2, + libX11, + python3Packages, }: let @@ -38,14 +39,15 @@ let # https://github.com/NixOS/nixpkgs/issues/305641 # Not needed when 3.29.2 is in unstable - cmake' = cmake.overrideAttrs(old: rec { + cmake' = cmake.overrideAttrs (old: rec { version = "3.29.2"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; hash = "sha256-NttLaSaqt0G6bksuotmckZMiITIwi03IJNQSPLcwNS4="; }; }); -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "clr"; version = "6.0.2"; @@ -213,6 +215,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix b/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix index d2797d1a50169..3ed1143d66c61 100644 --- a/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix +++ b/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, makeImpureTest -, fetchFromGitHub -, clr -, cmake -, pkg-config -, glew -, libglut -, opencl-headers -, ocl-icd +{ + lib, + stdenv, + makeImpureTest, + fetchFromGitHub, + clr, + cmake, + pkg-config, + glew, + libglut, + opencl-headers, + ocl-icd, }: let @@ -24,9 +25,17 @@ let hash = "sha256-qARQpUiYsamHbko/I1gPZE9pUGJ+3396Vk2n7ERSftA="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ glew libglut opencl-headers ocl-icd ]; + buildInputs = [ + glew + libglut + opencl-headers + ocl-icd + ]; installPhase = '' runHook preInstall @@ -42,9 +51,9 @@ let meta = with lib; { description = "Samples from the AMD APP SDK (with OpenCRun support)"; - homepage = "https://github.com/OpenCL/AMD_APP_samples"; - license = licenses.bsd2; - platforms = platforms.linux; + homepage = "https://github.com/OpenCL/AMD_APP_samples"; + license = licenses.bsd2; + platforms = platforms.linux; maintainers = lib.teams.rocm.members; }; }; @@ -54,7 +63,11 @@ makeImpureTest { name = "opencl-example"; testedPackage = "rocmPackages_6.clr"; - sandboxPaths = [ "/sys" "/dev/dri" "/dev/kfd" ]; + sandboxPaths = [ + "/sys" + "/dev/dri" + "/dev/kfd" + ]; nativeBuildInputs = [ examples ]; diff --git a/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix b/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix index 6f2d3c7882890..dfbb67343e3f4 100644 --- a/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix +++ b/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix @@ -1,14 +1,18 @@ -{ lib -, makeImpureTest -, clinfo -, clr -, rocm-smi +{ + lib, + makeImpureTest, + clinfo, + clr, + rocm-smi, }: makeImpureTest { name = "rocm-smi"; testedPackage = "rocmPackages_6.clr"; - nativeBuildInputs = [ clinfo rocm-smi ]; + nativeBuildInputs = [ + clinfo + rocm-smi + ]; OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors"; testScript = '' diff --git a/pkgs/development/rocm-modules/6/composable_kernel/default.nix b/pkgs/development/rocm-modules/6/composable_kernel/default.nix index e0f8daf826383..16f3f05f75098 100644 --- a/pkgs/development/rocm-modules/6/composable_kernel/default.nix +++ b/pkgs/development/rocm-modules/6/composable_kernel/default.nix @@ -1,31 +1,35 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, openmp -, clang-tools-extra -, git -, gtest -, zstd -, buildTests ? false -, buildExamples ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900" "gfx1030" ... ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + openmp, + clang-tools-extra, + git, + gtest, + zstd, + buildTests ? false, + buildExamples ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx803" "gfx900" "gfx1030" ... ] }: stdenv.mkDerivation (finalAttrs: { pname = "composable_kernel"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildExamples [ - "example" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildExamples [ + "example" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -45,38 +49,46 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ openmp ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names + ]; # No flags to build selectively it seems... - postPatch = lib.optionalString (!buildTests) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(test)" "" - '' + lib.optionalString (!buildExamples) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(example)" "" - '' + '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(profiler)" "" - '' - ; + postPatch = + lib.optionalString (!buildTests) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(test)" "" + '' + + lib.optionalString (!buildExamples) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(example)" "" + '' + + '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(profiler)" "" + ''; - postInstall = '' - zstd --rm $out/lib/libdevice_operations.a - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/test_* $test/bin - '' + lib.optionalString buildExamples '' - mkdir -p $example/bin - mv $out/bin/example_* $example/bin - ''; + postInstall = + '' + zstd --rm $out/lib/libdevice_operations.a + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/test_* $test/bin + '' + + lib.optionalString buildExamples '' + mkdir -p $example/bin + mv $out/bin/example_* $example/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -93,6 +105,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix b/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix index 2572884388fa3..ff98df6eff3b0 100644 --- a/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix +++ b/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix @@ -1,13 +1,17 @@ -{ runCommandLocal, +{ + runCommandLocal, composable_kernel_build, - zstd + zstd, }: let ck = composable_kernel_build; -in runCommandLocal "unpack-${ck.name}" { +in +runCommandLocal "unpack-${ck.name}" + { nativeBuildInputs = [ zstd ]; meta = ck.meta; - } '' + } + '' mkdir -p $out cp -r --no-preserve=mode ${ck}/* $out zstd -dv --rm $out/lib/libdevice_operations.a.zst -o $out/lib/libdevice_operations.a diff --git a/pkgs/development/rocm-modules/6/hipblas/default.nix b/pkgs/development/rocm-modules/6/hipblas/default.nix index 5989aff90a7d7..3e4436b7d3f72 100644 --- a/pkgs/development/rocm-modules/6/hipblas/default.nix +++ b/pkgs/development/rocm-modules/6/hipblas/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, gfortran -, rocblas -, rocsolver -, gtest -, lapack-reference -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + gfortran, + rocblas, + rocsolver, + gtest, + lapack-reference, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, }: # Can also use cuBLAS @@ -20,15 +21,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipblas"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -44,43 +49,54 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocblas - rocsolver - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - lapack-reference - ]; + buildInputs = + [ + rocblas + rocsolver + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + lapack-reference + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ] ++ lib.optionals buildSamples [ - "-DBUILD_CLIENTS_SAMPLES=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ] + ++ lib.optionals buildSamples [ + "-DBUILD_CLIENTS_SAMPLES=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipblas-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/hipblas-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv $out/bin/example-* $sample/bin - '' + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipblas-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/hipblas-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv $out/bin/example-* $sample/bin + '' + + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -94,6 +110,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hipcc/default.nix b/pkgs/development/rocm-modules/6/hipcc/default.nix index 96bc914e3a67f..5f2ac080cb50d 100644 --- a/pkgs/development/rocm-modules/6/hipcc/default.nix +++ b/pkgs/development/rocm-modules/6/hipcc/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, lsb-release +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + lsb-release, }: stdenv.mkDerivation (finalAttrs: { @@ -41,6 +42,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hipfft/default.nix b/pkgs/development/rocm-modules/6/hipfft/default.nix index dca6337e6de8e..bc9e26bd9f113 100644 --- a/pkgs/development/rocm-modules/6/hipfft/default.nix +++ b/pkgs/development/rocm-modules/6/hipfft/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, git -, rocfft -, gtest -, boost -, fftw -, fftwFloat -, openmp -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + git, + rocfft, + gtest, + boost, + fftw, + fftwFloat, + openmp, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, + gpuTargets ? [ ], }: # Can also use cuFFT @@ -23,15 +24,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipfft"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -48,50 +53,61 @@ stdenv.mkDerivation (finalAttrs: { rocm-cmake ]; - buildInputs = [ - rocfft - ] ++ lib.optionals (buildTests || buildBenchmarks || buildSamples) [ - gtest - boost - fftw - fftwFloat - openmp - ]; + buildInputs = + [ + rocfft + ] + ++ lib.optionals (buildTests || buildBenchmarks || buildSamples) [ + gtest + boost + fftw + fftwFloat + openmp + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip" - "-DHIP_ROOT_DIR=${clr}" - "-DHIP_PATH=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_RIDER=ON" - ] ++ lib.optionals buildSamples [ - "-DBUILD_CLIENTS_SAMPLES=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip" + "-DHIP_ROOT_DIR=${clr}" + "-DHIP_PATH=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_RIDER=ON" + ] + ++ lib.optionals buildSamples [ + "-DBUILD_CLIENTS_SAMPLES=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipfft-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/hipfft-rider $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/hipfft_* $sample/bin - patchelf $sample/bin/hipfft_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipfft-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/hipfft-rider $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/hipfft_* $sample/bin + patchelf $sample/bin/hipfft_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -105,6 +121,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hiprand/default.nix b/pkgs/development/rocm-modules/6/hiprand/default.nix index 1541ff3ef95f9..796e73c4e9e22 100644 --- a/pkgs/development/rocm-modules/6/hiprand/default.nix +++ b/pkgs/development/rocm-modules/6/hiprand/default.nix @@ -1,25 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, rocrand -, gtest -, buildTests ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + rocrand, + gtest, + buildTests ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "hiprand"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -36,20 +39,23 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ rocrand ] ++ (lib.optionals buildTests [ gtest ]); - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DHIP_ROOT_DIR=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TEST=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DHIP_ROOT_DIR=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ]; postInstall = lib.optionalString buildTests '' mkdir -p $test/bin @@ -71,6 +77,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hipsolver/default.nix b/pkgs/development/rocm-modules/6/hipsolver/default.nix index 43971dc23ebfa..de2e3a049b652 100644 --- a/pkgs/development/rocm-modules/6/hipsolver/default.nix +++ b/pkgs/development/rocm-modules/6/hipsolver/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, gfortran -, rocblas -, rocsolver -, gtest -, lapack-reference -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + gfortran, + rocblas, + rocsolver, + gtest, + lapack-reference, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, }: # Can also use cuSOLVER @@ -20,15 +21,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipsolver"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -44,44 +49,55 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocblas - rocsolver - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - lapack-reference - ]; + buildInputs = + [ + rocblas + rocsolver + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + lapack-reference + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ] ++ lib.optionals buildSamples [ - "-DBUILD_CLIENTS_SAMPLES=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ] + ++ lib.optionals buildSamples [ + "-DBUILD_CLIENTS_SAMPLES=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipsolver-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/hipsolver-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/example-* $sample/bin - patchelf $sample/bin/example-* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipsolver-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/hipsolver-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/example-* $sample/bin + patchelf $sample/bin/example-* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -95,6 +111,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hipsparse/default.nix b/pkgs/development/rocm-modules/6/hipsparse/default.nix index ba5854e01f399..20257d629a00b 100644 --- a/pkgs/development/rocm-modules/6/hipsparse/default.nix +++ b/pkgs/development/rocm-modules/6/hipsparse/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocsparse -, clr -, gfortran -, git -, gtest -, openmp -, buildTests ? false -, buildSamples ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocsparse, + clr, + gfortran, + git, + gtest, + openmp, + buildTests ? false, + buildSamples ? false, + gpuTargets ? [ ], }: # This can also use cuSPARSE as a backend instead of rocSPARSE @@ -20,13 +21,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "hipsparse"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -42,29 +46,35 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocsparse - git - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildSamples) [ - openmp - ]; + buildInputs = + [ + rocsparse + git + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildSamples) [ + openmp + ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ]; # We have to manually generate the matrices # CMAKE_MATRICES_DIR seems to be reset in clients/tests/CMakeLists.txt @@ -107,17 +117,26 @@ stdenv.mkDerivation (finalAttrs: { --replace "\''${PROJECT_BINARY_DIR}/matrices" "/build/source/matrices" ''; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/hipsparse-test $test/bin - mv /build/source/matrices $test - rmdir $out/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/example_* $sample/bin - patchelf --set-rpath $out/lib:${lib.makeLibraryPath ( - finalAttrs.buildInputs ++ [ clr gfortran.cc ])} $sample/bin/example_* - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/hipsparse-test $test/bin + mv /build/source/matrices $test + rmdir $out/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/example_* $sample/bin + patchelf --set-rpath $out/lib:${ + lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + clr + gfortran.cc + ] + ) + } $sample/bin/example_* + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -131,6 +150,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/default.nix b/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/default.nix index b88485b5fa370..fb2f2c84379b5 100644 --- a/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/default.nix +++ b/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/default.nix @@ -1,23 +1,26 @@ -{ lib -, stdenv -, fetchurl -, callPackage -, dpkg +{ + lib, + stdenv, + fetchurl, + callPackage, + dpkg, }: stdenv.mkDerivation (finalAttrs: { pname = "hsa-amd-aqlprofile-bin"; version = "6.0.2"; - src = let - version = finalAttrs.version; - dotless = builtins.replaceStrings ["."] ["0"] version; - incremental = "115"; - osRelease = "22.04"; - in fetchurl { - url = "https://repo.radeon.com/rocm/apt/${version}/pool/main/h/hsa-amd-aqlprofile/hsa-amd-aqlprofile_1.0.0.${dotless}.${dotless}-${incremental}~${osRelease}_amd64.deb"; - hash = "sha256-0XeKUKaof5pSMS/UgLwumBDBYgyH/pCex9jViUKENXY="; - }; + src = + let + version = finalAttrs.version; + dotless = builtins.replaceStrings [ "." ] [ "0" ] version; + incremental = "115"; + osRelease = "22.04"; + in + fetchurl { + url = "https://repo.radeon.com/rocm/apt/${version}/pool/main/h/hsa-amd-aqlprofile/hsa-amd-aqlprofile_1.0.0.${dotless}.${dotless}-${incremental}~${osRelease}_amd64.deb"; + hash = "sha256-0XeKUKaof5pSMS/UgLwumBDBYgyH/pCex9jViUKENXY="; + }; nativeBuildInputs = [ dpkg ]; dontPatch = true; @@ -43,6 +46,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ unfree ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/update.nix b/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/update.nix index 7fdcfad859247..ed834c84a6780 100644 --- a/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/update.nix +++ b/pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/update.nix @@ -1,12 +1,15 @@ -{ lib -, writeScript +{ + lib, + writeScript, }: { version }: let prefix = "hsa-amd-aqlprofile"; - extVersion = lib.strings.concatStrings (lib.strings.intersperse "0" (lib.versions.splitVersion version)); + extVersion = lib.strings.concatStrings ( + lib.strings.intersperse "0" (lib.versions.splitVersion version) + ); major = lib.versions.major version; minor = lib.versions.minor version; patch = lib.versions.patch version; @@ -54,4 +57,5 @@ let update-source-version rocmPackages_6.${prefix}-bin "$version" "" "$apt/$repoVersion/$pool$deb" --ignore-same-hash fi ''; -in [ updateScript ] +in +[ updateScript ] diff --git a/pkgs/development/rocm-modules/6/llvm/base.nix b/pkgs/development/rocm-modules/6/llvm/base.nix index b7a919c792ba0..bbe964547a9cb 100644 --- a/pkgs/development/rocm-modules/6/llvm/base.nix +++ b/pkgs/development/rocm-modules/6/llvm/base.nix @@ -1,76 +1,84 @@ -{ lib -, stdenv -, gcc12Stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, cmake -, ninja -, git -, doxygen -, sphinx -, lit -, libxml2 -, libxcrypt -, libedit -, libffi -, mpfr -, zlib -, ncurses -, python3Packages -, buildDocs ? true -, buildMan ? true -, buildTests ? true -, targetName ? "llvm" -, targetDir ? "llvm" -, targetProjects ? [ ] -, targetRuntimes ? [ ] -, llvmTargetsToBuild ? [ "NATIVE" ] # "NATIVE" resolves into x86 or aarch64 depending on stdenv -, extraPatches ? [ ] -, extraNativeBuildInputs ? [ ] -, extraBuildInputs ? [ ] -, extraCMakeFlags ? [ ] -, extraPostPatch ? "" -, checkTargets ? [( - lib.optionalString buildTests ( - if targetDir == "runtimes" - then "check-runtimes" - else "check-all" - ) -)] -, extraPostInstall ? "" -, hardeningDisable ? [ ] -, requiredSystemFeatures ? [ ] -, extraLicenses ? [ ] -, isBroken ? false +{ + lib, + stdenv, + gcc12Stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + cmake, + ninja, + git, + doxygen, + sphinx, + lit, + libxml2, + libxcrypt, + libedit, + libffi, + mpfr, + zlib, + ncurses, + python3Packages, + buildDocs ? true, + buildMan ? true, + buildTests ? true, + targetName ? "llvm", + targetDir ? "llvm", + targetProjects ? [ ], + targetRuntimes ? [ ], + llvmTargetsToBuild ? [ "NATIVE" ], # "NATIVE" resolves into x86 or aarch64 depending on stdenv + extraPatches ? [ ], + extraNativeBuildInputs ? [ ], + extraBuildInputs ? [ ], + extraCMakeFlags ? [ ], + extraPostPatch ? "", + checkTargets ? [ + (lib.optionalString buildTests (if targetDir == "runtimes" then "check-runtimes" else "check-all")) + ], + extraPostInstall ? "", + hardeningDisable ? [ ], + requiredSystemFeatures ? [ ], + extraLicenses ? [ ], + isBroken ? false, }: -let stdenv' = stdenv; in -let stdenv = - if stdenv'.cc.cc.isGNU or false && lib.versionAtLeast stdenv'.cc.cc.version "13.0" - then gcc12Stdenv - else stdenv'; +let + stdenv' = stdenv; +in +let + stdenv = + if stdenv'.cc.cc.isGNU or false && lib.versionAtLeast stdenv'.cc.cc.version "13.0" then + gcc12Stdenv + else + stdenv'; in let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; inferNativeTarget = t: if t == "NATIVE" then llvmNativeTarget else t; llvmTargetsToBuild' = [ "AMDGPU" ] ++ builtins.map inferNativeTarget llvmTargetsToBuild; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "rocm-llvm-${targetName}"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildMan [ - "man" - "info" # Avoid `attribute 'info' missing` when using with wrapCC - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildMan [ + "man" + "info" # Avoid `attribute 'info' missing` when using with wrapCC + ]; patches = extraPatches; @@ -81,19 +89,23 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-uGxalrwMNCOSqSFVrYUBi3ijkMEFFTrzFImmvZKQf6I="; }; - nativeBuildInputs = [ - pkg-config - cmake - ninja - git - (python3Packages.python.withPackages (p: [ p.setuptools ])) - ] ++ lib.optionals (buildDocs || buildMan) [ - doxygen - sphinx - python3Packages.recommonmark - ] ++ lib.optionals (buildTests && !finalAttrs.passthru.isLLVM) [ - lit - ] ++ extraNativeBuildInputs; + nativeBuildInputs = + [ + pkg-config + cmake + ninja + git + (python3Packages.python.withPackages (p: [ p.setuptools ])) + ] + ++ lib.optionals (buildDocs || buildMan) [ + doxygen + sphinx + python3Packages.recommonmark + ] + ++ lib.optionals (buildTests && !finalAttrs.passthru.isLLVM) [ + lit + ] + ++ extraNativeBuildInputs; buildInputs = [ libxml2 @@ -110,53 +122,68 @@ in stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/${targetDir}"; - cmakeFlags = [ - "-DLLVM_TARGETS_TO_BUILD=${builtins.concatStringsSep ";" llvmTargetsToBuild'}" - ] ++ lib.optionals (finalAttrs.passthru.isLLVM && targetProjects != [ ]) [ - "-DLLVM_ENABLE_PROJECTS=${lib.concatStringsSep ";" targetProjects}" - ] ++ lib.optionals ((finalAttrs.passthru.isLLVM || targetDir == "runtimes") && targetRuntimes != [ ]) [ - "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" targetRuntimes}" - ] ++ lib.optionals finalAttrs.passthru.isLLVM [ - "-DLLVM_INSTALL_UTILS=ON" - "-DLLVM_INSTALL_GTEST=ON" - ] ++ lib.optionals (buildDocs || buildMan) [ - "-DLLVM_INCLUDE_DOCS=ON" - "-DLLVM_BUILD_DOCS=ON" - # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_HTML=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals buildTests [ - "-DLLVM_INCLUDE_TESTS=ON" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" - ] ++ extraCMakeFlags; + cmakeFlags = + [ + "-DLLVM_TARGETS_TO_BUILD=${builtins.concatStringsSep ";" llvmTargetsToBuild'}" + ] + ++ lib.optionals (finalAttrs.passthru.isLLVM && targetProjects != [ ]) [ + "-DLLVM_ENABLE_PROJECTS=${lib.concatStringsSep ";" targetProjects}" + ] + ++ + lib.optionals ((finalAttrs.passthru.isLLVM || targetDir == "runtimes") && targetRuntimes != [ ]) + [ + "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" targetRuntimes}" + ] + ++ lib.optionals finalAttrs.passthru.isLLVM [ + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_INSTALL_GTEST=ON" + ] + ++ lib.optionals (buildDocs || buildMan) [ + "-DLLVM_INCLUDE_DOCS=ON" + "-DLLVM_BUILD_DOCS=ON" + # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_HTML=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] + ++ lib.optionals buildTests [ + "-DLLVM_INCLUDE_TESTS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" + ] + ++ extraCMakeFlags; prePatch = '' cd ../ chmod -R u+w . ''; - postPatch = '' - cd ${targetDir} - '' + lib.optionalString finalAttrs.passthru.isLLVM '' - patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh - '' + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) '' - # FileSystem permissions tests fail with various special bits - rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test - rm unittests/Support/Path.cpp - - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace-fail "Path.cpp" "" - '' + extraPostPatch; + postPatch = + '' + cd ${targetDir} + '' + + lib.optionalString finalAttrs.passthru.isLLVM '' + patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh + '' + + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) '' + # FileSystem permissions tests fail with various special bits + rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + rm unittests/Support/Path.cpp + + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace-fail "Path.cpp" "" + '' + + extraPostPatch; doCheck = buildTests; checkTarget = lib.concatStringsSep " " checkTargets; - postInstall = lib.optionalString buildMan '' - mkdir -p $info - '' + extraPostInstall; + postInstall = + lib.optionalString buildMan '' + mkdir -p $info + '' + + extraPostInstall; passthru = { isLLVM = targetDir == "llvm"; @@ -175,7 +202,13 @@ in stdenv.mkDerivation (finalAttrs: { description = "ROCm fork of the LLVM compiler infrastructure"; homepage = "https://github.com/ROCm/llvm-project"; license = with licenses; [ ncsa ] ++ extraLicenses; - maintainers = with maintainers; [ acowley lovesegfault ] ++ teams.rocm.members; + maintainers = + with maintainers; + [ + acowley + lovesegfault + ] + ++ teams.rocm.members; platforms = platforms.linux; broken = isBroken || versionAtLeast finalAttrs.version "7.0.0"; }; diff --git a/pkgs/development/rocm-modules/6/llvm/default.nix b/pkgs/development/rocm-modules/6/llvm/default.nix index 9c8919165a516..f68d29e37a19c 100644 --- a/pkgs/development/rocm-modules/6/llvm/default.nix +++ b/pkgs/development/rocm-modules/6/llvm/default.nix @@ -1,58 +1,142 @@ -{ # stdenv FIXME: Try changing back to this with a new ROCm release https://github.com/NixOS/nixpkgs/issues/271943 - gcc12Stdenv -, callPackage -, rocmUpdateScript -, wrapBintoolsWith -, overrideCC -, rocm-device-libs -, rocm-runtime -, rocm-thunk -, clr +{ + # stdenv FIXME: Try changing back to this with a new ROCm release https://github.com/NixOS/nixpkgs/issues/271943 + gcc12Stdenv, + callPackage, + rocmUpdateScript, + wrapBintoolsWith, + overrideCC, + rocm-device-libs, + rocm-runtime, + rocm-thunk, + clr, }: let ## Stage 1 ## # Projects - llvm = callPackage ./stage-1/llvm.nix { inherit rocmUpdateScript; stdenv = gcc12Stdenv; }; - clang-unwrapped = callPackage ./stage-1/clang-unwrapped.nix { inherit rocmUpdateScript llvm; stdenv = gcc12Stdenv; }; - lld = callPackage ./stage-1/lld.nix { inherit rocmUpdateScript llvm; stdenv = gcc12Stdenv; }; + llvm = callPackage ./stage-1/llvm.nix { + inherit rocmUpdateScript; + stdenv = gcc12Stdenv; + }; + clang-unwrapped = callPackage ./stage-1/clang-unwrapped.nix { + inherit rocmUpdateScript llvm; + stdenv = gcc12Stdenv; + }; + lld = callPackage ./stage-1/lld.nix { + inherit rocmUpdateScript llvm; + stdenv = gcc12Stdenv; + }; # Runtimes - runtimes = callPackage ./stage-1/runtimes.nix { inherit rocmUpdateScript llvm; stdenv = gcc12Stdenv; }; + runtimes = callPackage ./stage-1/runtimes.nix { + inherit rocmUpdateScript llvm; + stdenv = gcc12Stdenv; + }; ## Stage 2 ## # Helpers bintools-unwrapped = callPackage ./stage-2/bintools-unwrapped.nix { inherit llvm lld; }; bintools = wrapBintoolsWith { bintools = bintools-unwrapped; }; - rStdenv = callPackage ./stage-2/rstdenv.nix { inherit llvm clang-unwrapped lld runtimes bintools; stdenv = gcc12Stdenv; }; -in rec { + rStdenv = callPackage ./stage-2/rstdenv.nix { + inherit + llvm + clang-unwrapped + lld + runtimes + bintools + ; + stdenv = gcc12Stdenv; + }; +in +rec { inherit - llvm - clang-unwrapped - lld - bintools; + llvm + clang-unwrapped + lld + bintools + ; # Runtimes - libc = callPackage ./stage-2/libc.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - libunwind = callPackage ./stage-2/libunwind.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - libcxxabi = callPackage ./stage-2/libcxxabi.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - libcxx = callPackage ./stage-2/libcxx.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; - compiler-rt = callPackage ./stage-2/compiler-rt.nix { inherit rocmUpdateScript llvm; stdenv = rStdenv; }; + libc = callPackage ./stage-2/libc.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + libunwind = callPackage ./stage-2/libunwind.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + libcxxabi = callPackage ./stage-2/libcxxabi.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + libcxx = callPackage ./stage-2/libcxx.nix { + inherit rocmUpdateScript; + stdenv = rStdenv; + }; + compiler-rt = callPackage ./stage-2/compiler-rt.nix { + inherit rocmUpdateScript llvm; + stdenv = rStdenv; + }; ## Stage 3 ## # Helpers - clang = callPackage ./stage-3/clang.nix { inherit llvm lld clang-unwrapped bintools libc libunwind libcxxabi libcxx compiler-rt; stdenv = gcc12Stdenv; }; + clang = callPackage ./stage-3/clang.nix { + inherit + llvm + lld + clang-unwrapped + bintools + libc + libunwind + libcxxabi + libcxx + compiler-rt + ; + stdenv = gcc12Stdenv; + }; rocmClangStdenv = overrideCC gcc12Stdenv clang; # Projects - clang-tools-extra = callPackage ./stage-3/clang-tools-extra.nix { inherit rocmUpdateScript llvm clang-unwrapped; stdenv = rocmClangStdenv; }; - libclc = callPackage ./stage-3/libclc.nix { inherit rocmUpdateScript llvm clang; stdenv = rocmClangStdenv; }; - lldb = callPackage ./stage-3/lldb.nix { inherit rocmUpdateScript clang; stdenv = rocmClangStdenv; }; - mlir = callPackage ./stage-3/mlir.nix { inherit rocmUpdateScript clr; stdenv = rocmClangStdenv; }; - polly = callPackage ./stage-3/polly.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; - flang = callPackage ./stage-3/flang.nix { inherit rocmUpdateScript clang-unwrapped mlir; stdenv = rocmClangStdenv; }; - openmp = callPackage ./stage-3/openmp.nix { inherit rocmUpdateScript llvm clang-unwrapped clang rocm-device-libs rocm-runtime rocm-thunk; stdenv = rocmClangStdenv; }; + clang-tools-extra = callPackage ./stage-3/clang-tools-extra.nix { + inherit rocmUpdateScript llvm clang-unwrapped; + stdenv = rocmClangStdenv; + }; + libclc = callPackage ./stage-3/libclc.nix { + inherit rocmUpdateScript llvm clang; + stdenv = rocmClangStdenv; + }; + lldb = callPackage ./stage-3/lldb.nix { + inherit rocmUpdateScript clang; + stdenv = rocmClangStdenv; + }; + mlir = callPackage ./stage-3/mlir.nix { + inherit rocmUpdateScript clr; + stdenv = rocmClangStdenv; + }; + polly = callPackage ./stage-3/polly.nix { + inherit rocmUpdateScript; + stdenv = rocmClangStdenv; + }; + flang = callPackage ./stage-3/flang.nix { + inherit rocmUpdateScript clang-unwrapped mlir; + stdenv = rocmClangStdenv; + }; + openmp = callPackage ./stage-3/openmp.nix { + inherit + rocmUpdateScript + llvm + clang-unwrapped + clang + rocm-device-libs + rocm-runtime + rocm-thunk + ; + stdenv = rocmClangStdenv; + }; # Runtimes - pstl = callPackage ./stage-3/pstl.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; + pstl = callPackage ./stage-3/pstl.nix { + inherit rocmUpdateScript; + stdenv = rocmClangStdenv; + }; } diff --git a/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix b/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix index 1cf60223def6f..dc9af79816c31 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix @@ -1,7 +1,8 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-1/lld.nix b/pkgs/development/rocm-modules/6/llvm/stage-1/lld.nix index 5ca8bca25a338..6a6226a221e08 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-1/lld.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-1/lld.nix @@ -1,7 +1,8 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-1/llvm.nix b/pkgs/development/rocm-modules/6/llvm/stage-1/llvm.nix index ad4981aa435be..a9464da16697a 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-1/llvm.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-1/llvm.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-1/runtimes.nix b/pkgs/development/rocm-modules/6/llvm/stage-1/runtimes.nix index 0364a02e6e59b..268ad973b9134 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-1/runtimes.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-1/runtimes.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, callPackage -, rocmUpdateScript -, llvm +{ + lib, + stdenv, + callPackage, + rocmUpdateScript, + llvm, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/bintools-unwrapped.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/bintools-unwrapped.nix index ef40dd4d38246..e17a913d4bb77 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/bintools-unwrapped.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/bintools-unwrapped.nix @@ -1,6 +1,7 @@ -{ runCommand -, llvm -, lld +{ + runCommand, + llvm, + lld, }: runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } '' diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/compiler-rt.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/compiler-rt.nix index 3b8e41705e1a7..f3b8648e11045 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/compiler-rt.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/compiler-rt.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, callPackage -, rocmUpdateScript -, llvm -, glibc +{ + lib, + stdenv, + callPackage, + rocmUpdateScript, + llvm, + glibc, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix index 2446723ef5fea..26d33460d4338 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/libcxx.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/libcxx.nix index 473227242765b..b9ed102d5408a 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/libcxx.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/libcxx.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/libcxxabi.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/libcxxabi.nix index e15ec777ff61a..bc54e17be45fb 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/libcxxabi.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/libcxxabi.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/libunwind.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/libunwind.nix index 3d599e0d4b325..fb5e7cb3b68ca 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/libunwind.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/libunwind.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/rstdenv.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/rstdenv.nix index 3820d45a2b814..f83abe36cc2e2 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/rstdenv.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/rstdenv.nix @@ -1,11 +1,12 @@ -{ stdenv -, overrideCC -, wrapCCWith -, llvm -, clang-unwrapped -, lld -, runtimes -, bintools +{ + stdenv, + overrideCC, + wrapCCWith, + llvm, + clang-unwrapped, + lld, + runtimes, + bintools, }: overrideCC stdenv (wrapCCWith rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/clang-tools-extra.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/clang-tools-extra.nix index d18673ecb3db4..4351c4bc6629d 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/clang-tools-extra.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/clang-tools-extra.nix @@ -1,9 +1,10 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm -, clang-unwrapped -, gtest +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, + clang-unwrapped, + gtest, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix index a0e1935d3c5fe..894ffed8b8b61 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix @@ -1,14 +1,15 @@ -{ stdenv -, wrapCCWith -, llvm -, lld -, clang-unwrapped -, bintools -, libc -, libunwind -, libcxxabi -, libcxx -, compiler-rt +{ + stdenv, + wrapCCWith, + llvm, + lld, + clang-unwrapped, + bintools, + libc, + libunwind, + libcxxabi, + libcxx, + compiler-rt, }: wrapCCWith rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/flang.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/flang.nix index 421663dcb1b76..c6e72d56ce566 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/flang.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/flang.nix @@ -1,10 +1,11 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, clang-unwrapped -, mlir -, graphviz -, python3Packages +{ + stdenv, + callPackage, + rocmUpdateScript, + clang-unwrapped, + mlir, + graphviz, + python3Packages, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix index c395dd792db01..c8a6b98d91301 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix @@ -1,14 +1,16 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, llvm -, clang -, spirv-llvm-translator +{ + stdenv, + callPackage, + rocmUpdateScript, + llvm, + clang, + spirv-llvm-translator, }: let spirv = (spirv-llvm-translator.override { inherit llvm; }); -in callPackage ../base.nix rec { +in +callPackage ../base.nix rec { inherit stdenv rocmUpdateScript; buildDocs = false; # No documentation to build buildMan = false; # No man pages to build diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/lldb.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/lldb.nix index 9b7d25e06d9d6..31694ce50113f 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/lldb.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/lldb.nix @@ -1,13 +1,14 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, clang -, xz -, swig -, lua5_3 -, graphviz -, gtest -, python3Packages +{ + stdenv, + callPackage, + rocmUpdateScript, + clang, + xz, + swig, + lua5_3, + graphviz, + gtest, + python3Packages, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix index 7611a30165a72..9b87769e3e8fe 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix @@ -1,12 +1,13 @@ -{ stdenv -, callPackage -, rocmUpdateScript -, clr -, vulkan-headers -, vulkan-loader -, glslang -, shaderc -, fetchpatch +{ + stdenv, + callPackage, + rocmUpdateScript, + clr, + vulkan-headers, + vulkan-loader, + glslang, + shaderc, + fetchpatch, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/openmp.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/openmp.nix index 5fd7b6fd9aa3d..2581661057809 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/openmp.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/openmp.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, callPackage -, rocmUpdateScript -, llvm -, clang -, clang-unwrapped -, rocm-device-libs -, rocm-runtime -, rocm-thunk -, perl -, elfutils -, libdrm -, numactl -, lit +{ + lib, + stdenv, + callPackage, + rocmUpdateScript, + llvm, + clang, + clang-unwrapped, + rocm-device-libs, + rocm-runtime, + rocm-thunk, + perl, + elfutils, + libdrm, + numactl, + lit, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix index da5c2e16f5d3b..d70a353d3a8cf 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/pstl.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/pstl.nix index dc7d7cd6ccbfa..63fba911677cc 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/pstl.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/pstl.nix @@ -1,6 +1,7 @@ -{ stdenv -, callPackage -, rocmUpdateScript +{ + stdenv, + callPackage, + rocmUpdateScript, }: callPackage ../base.nix rec { diff --git a/pkgs/development/rocm-modules/6/migraphx/default.nix b/pkgs/development/rocm-modules/6/migraphx/default.nix index 4cc2e4bd24b35..137f3a2347087 100644 --- a/pkgs/development/rocm-modules/6/migraphx/default.nix +++ b/pkgs/development/rocm-modules/6/migraphx/default.nix @@ -1,62 +1,71 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, cmake -, rocm-cmake -, clr -, clang-tools-extra -, openmp -, rocblas -, rocmlir -, composable_kernel -, miopen -, protobuf -, half -, nlohmann_json -, msgpack -, sqlite -, oneDNN_2 -, blaze -, cppcheck -, rocm-device-libs -, texliveSmall -, doxygen -, sphinx -, docutils -, ghostscript -, python3Packages -, buildDocs ? false -, buildTests ? false -, gpuTargets ? clr.gpuTargets +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + cmake, + rocm-cmake, + clr, + clang-tools-extra, + openmp, + rocblas, + rocmlir, + composable_kernel, + miopen, + protobuf, + half, + nlohmann_json, + msgpack, + sqlite, + oneDNN_2, + blaze, + cppcheck, + rocm-device-libs, + texliveSmall, + doxygen, + sphinx, + docutils, + ghostscript, + python3Packages, + buildDocs ? false, + buildTests ? false, + gpuTargets ? clr.gpuTargets, }: let - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - latexmk - tex-gyre - fncychap - wrapfig - capt-of - framed - needspace - tabulary - varwidth - titlesec - epstopdf - ])); -in stdenv.mkDerivation (finalAttrs: { + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + latexmk + tex-gyre + fncychap + wrapfig + capt-of + framed + needspace + tabulary + varwidth + titlesec + epstopdf + ] + ) + ); +in +stdenv.mkDerivation (finalAttrs: { pname = "migraphx"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -65,22 +74,24 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-VDYUSpWYAdJ63SKVCO26DVAC3RtZM7otqN0sYUA6DBQ="; }; - nativeBuildInputs = [ - pkg-config - cmake - rocm-cmake - clr - clang-tools-extra - python3Packages.python - ] ++ lib.optionals buildDocs [ - latex - doxygen - sphinx - docutils - ghostscript - python3Packages.sphinx-rtd-theme - python3Packages.breathe - ]; + nativeBuildInputs = + [ + pkg-config + cmake + rocm-cmake + clr + clang-tools-extra + python3Packages.python + ] + ++ lib.optionals buildDocs [ + latex + doxygen + sphinx + docutils + ghostscript + python3Packages.sphinx-rtd-theme + python3Packages.breathe + ]; buildInputs = [ openmp @@ -113,28 +124,31 @@ in stdenv.mkDerivation (finalAttrs: { "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" ]; - postPatch = '' - # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...` - export CXXFLAGS+="--rocm-path=${clr} --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode" - patchShebangs tools + postPatch = + '' + # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...` + export CXXFLAGS+="--rocm-path=${clr} --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode" + patchShebangs tools - # `error: '__clang_hip_runtime_wrapper.h' file not found [clang-diagnostic-error]` - substituteInPlace CMakeLists.txt \ - --replace "set(MIGRAPHX_TIDY_ERRORS ALL)" "" + # `error: '__clang_hip_runtime_wrapper.h' file not found [clang-diagnostic-error]` + substituteInPlace CMakeLists.txt \ + --replace "set(MIGRAPHX_TIDY_ERRORS ALL)" "" - # JIT library was removed from composable_kernel... - # https://github.com/ROCm/composable_kernel/issues/782 - substituteInPlace src/targets/gpu/CMakeLists.txt \ - --replace " COMPONENTS jit_library" "" \ - --replace " composable_kernel::jit_library" "" \ - --replace "if(WIN32)" "if(TRUE)" - '' + lib.optionalString (!buildDocs) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(doc)" "" - '' + lib.optionalString (!buildTests) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(test)" "" - ''; + # JIT library was removed from composable_kernel... + # https://github.com/ROCm/composable_kernel/issues/782 + substituteInPlace src/targets/gpu/CMakeLists.txt \ + --replace " COMPONENTS jit_library" "" \ + --replace " composable_kernel::jit_library" "" \ + --replace "if(WIN32)" "if(TRUE)" + '' + + lib.optionalString (!buildDocs) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(doc)" "" + '' + + lib.optionalString (!buildTests) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(test)" "" + ''; # Unfortunately, it seems like we have to call make on this manually preInstall = lib.optionalString buildDocs '' @@ -145,14 +159,16 @@ in stdenv.mkDerivation (finalAttrs: { cd - ''; - postInstall = lib.optionalString buildDocs '' - mv ../doc/html $out/share/doc/migraphx - mv ../doc/pdf/MIGraphX.pdf $out/share/doc/migraphx - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - mv bin/test_* $test/bin - patchelf $test/bin/test_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" - ''; + postInstall = + lib.optionalString buildDocs '' + mv ../doc/html $out/share/doc/migraphx + mv ../doc/pdf/MIGraphX.pdf $out/share/doc/migraphx + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + mv bin/test_* $test/bin + patchelf $test/bin/test_* --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; diff --git a/pkgs/development/rocm-modules/6/miopen/default.nix b/pkgs/development/rocm-modules/6/miopen/default.nix index 0b57cf6592cbf..e815ca00b7f07 100644 --- a/pkgs/development/rocm-modules/6/miopen/default.nix +++ b/pkgs/development/rocm-modules/6/miopen/default.nix @@ -1,36 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rocmUpdateScript -, runCommand -, pkg-config -, cmake -, rocm-cmake -, rocblas -, rocmlir -, clr -, clang-tools-extra -, clang-ocl -, composable_kernel -, frugally-deep -, rocm-docs-core -, half -, boost -, sqlite -, bzip2 -, lbzip2 -, nlohmann_json -, texliveSmall -, doxygen -, sphinx -, zlib -, gtest -, rocm-comgr -, roctracer -, python3Packages -, buildDocs ? false # Needs internet because of rocm-docs-core -, buildTests ? false +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rocmUpdateScript, + runCommand, + pkg-config, + cmake, + rocm-cmake, + rocblas, + rocmlir, + clr, + clang-tools-extra, + clang-ocl, + composable_kernel, + frugally-deep, + rocm-docs-core, + half, + boost, + sqlite, + bzip2, + lbzip2, + nlohmann_json, + texliveSmall, + doxygen, + sphinx, + zlib, + gtest, + rocm-comgr, + roctracer, + python3Packages, + buildDocs ? false, # Needs internet because of rocm-docs-core + buildTests ? false, }: let @@ -70,18 +71,22 @@ let ''; }; - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - latexmk - tex-gyre - fncychap - wrapfig - capt-of - framed - needspace - tabulary - varwidth - titlesec - ])); + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + latexmk + tex-gyre + fncychap + wrapfig + capt-of + framed + needspace + tabulary + varwidth + titlesec + ] + ) + ); gfx900 = runCommand "miopen-gfx900.kdb" { preferLocalBuild = true; } '' ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx900.kdb.bz2 > $out @@ -102,7 +107,8 @@ let gfx1030 = runCommand "miopen-gfx1030.kdb" { preferLocalBuild = true; } '' ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx1030.kdb.bz2 > $out ''; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { inherit version src; pname = "miopen"; @@ -123,13 +129,16 @@ in stdenv.mkDerivation (finalAttrs: { }) ]; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; nativeBuildInputs = [ pkg-config @@ -139,46 +148,51 @@ in stdenv.mkDerivation (finalAttrs: { clang-tools-extra ]; - buildInputs = [ - rocblas - rocmlir - clang-ocl - composable_kernel - half - boost - sqlite - bzip2 - nlohmann_json - frugally-deep - roctracer - ] ++ lib.optionals buildDocs [ - latex - doxygen - sphinx - rocm-docs-core - python3Packages.sphinx-rtd-theme - python3Packages.breathe - python3Packages.myst-parser - ] ++ lib.optionals buildTests [ - gtest - zlib - ]; + buildInputs = + [ + rocblas + rocmlir + clang-ocl + composable_kernel + half + boost + sqlite + bzip2 + nlohmann_json + frugally-deep + roctracer + ] + ++ lib.optionals buildDocs [ + latex + doxygen + sphinx + rocm-docs-core + python3Packages.sphinx-rtd-theme + python3Packages.breathe + python3Packages.myst-parser + ] + ++ lib.optionals buildTests [ + gtest + zlib + ]; - cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-Wno-#warnings" # -> - "-DUNZIPPER=${bzip2}/bin/bunzip2" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DMIOPEN_BACKEND=HIP" - ] ++ lib.optionals buildTests [ - "-DBUILD_TESTS=ON" - "-DMIOPEN_TEST_ALL=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_FLAGS=-Wno-#warnings" # -> + "-DUNZIPPER=${bzip2}/bin/bunzip2" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DMIOPEN_BACKEND=HIP" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TESTS=ON" + "-DMIOPEN_TEST_ALL=ON" + ]; postPatch = '' patchShebangs test src/composable_kernel fin utils install_deps.cmake @@ -202,27 +216,39 @@ in stdenv.mkDerivation (finalAttrs: { ''; # Unfortunately, it seems like we have to call make on these manually - postBuild = lib.optionalString buildDocs '' - python -m sphinx -T -E -b html -d _build/doctrees -D language=en ../docs _build/html - '' + lib.optionalString buildTests '' - make -j$NIX_BUILD_CORES check - ''; + postBuild = + lib.optionalString buildDocs '' + python -m sphinx -T -E -b html -d _build/doctrees -D language=en ../docs _build/html + '' + + lib.optionalString buildTests '' + make -j$NIX_BUILD_CORES check + ''; - postInstall = '' - rm $out/bin/install_precompiled_kernels.sh - ln -sf ${gfx900} $out/share/miopen/db/gfx900.kdb - ln -sf ${gfx906} $out/share/miopen/db/gfx906.kdb - ln -sf ${gfx908} $out/share/miopen/db/gfx908.kdb - ln -sf ${gfx90a} $out/share/miopen/db/gfx90a.kdb - ln -sf ${gfx1030} $out/share/miopen/db/gfx1030.kdb - '' + lib.optionalString buildDocs '' - mv ../doc/html $out/share/doc/miopen-hip - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - mv bin/test_* $test/bin - patchelf --set-rpath $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ - [ clr rocm-comgr ])} $test/bin/* - ''; + postInstall = + '' + rm $out/bin/install_precompiled_kernels.sh + ln -sf ${gfx900} $out/share/miopen/db/gfx900.kdb + ln -sf ${gfx906} $out/share/miopen/db/gfx906.kdb + ln -sf ${gfx908} $out/share/miopen/db/gfx908.kdb + ln -sf ${gfx90a} $out/share/miopen/db/gfx90a.kdb + ln -sf ${gfx1030} $out/share/miopen/db/gfx1030.kdb + '' + + lib.optionalString buildDocs '' + mv ../doc/html $out/share/doc/miopen-hip + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + mv bin/test_* $test/bin + patchelf --set-rpath $out/lib:${ + lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + clr + rocm-comgr + ] + ) + } $test/bin/* + ''; requiredSystemFeatures = [ "big-parallel" ]; @@ -238,6 +264,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/mivisionx/default.nix b/pkgs/development/rocm-modules/6/mivisionx/default.nix index 8459dff1c8922..1b117ad3fc4d8 100644 --- a/pkgs/development/rocm-modules/6/mivisionx/default.nix +++ b/pkgs/development/rocm-modules/6/mivisionx/default.nix @@ -1,41 +1,47 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-device-libs -, clr -, pkg-config -, rpp -, rocblas -, miopen -, migraphx -, clang -, openmp -, protobuf -, qtcreator -, opencv -, ffmpeg -, boost -, libjpeg_turbo -, half -, lmdb -, rapidjson -, rocm-docs-core -, python3Packages -, useOpenCL ? false -, useCPU ? false -, buildDocs ? false # Needs internet -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-device-libs, + clr, + pkg-config, + rpp, + rocblas, + miopen, + migraphx, + clang, + openmp, + protobuf, + qtcreator, + opencv, + ffmpeg, + boost, + libjpeg_turbo, + half, + lmdb, + rapidjson, + rocm-docs-core, + python3Packages, + useOpenCL ? false, + useCPU ? false, + buildDocs ? false, # Needs internet + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { - pname = "mivisionx-" + ( - if (!useOpenCL && !useCPU) then "hip" - else if (!useOpenCL && !useCPU) then "opencl" - else "cpu" - ); + pname = + "mivisionx-" + + ( + if (!useOpenCL && !useCPU) then + "hip" + else if (!useOpenCL && !useCPU) then + "opencl" + else + "cpu" + ); version = "6.0.2"; @@ -50,15 +56,17 @@ stdenv.mkDerivation (finalAttrs: { ./0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch ]; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - pkg-config - ] ++ lib.optionals buildDocs [ - rocm-docs-core - python3Packages.python - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + pkg-config + ] + ++ lib.optionals buildDocs [ + rocm-docs-core + python3Packages.python + ]; buildInputs = [ miopen @@ -80,25 +88,30 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.torchWithRocm ]; - cmakeFlags = [ - "-DROCM_PATH=${clr}" - "-DAMDRPP_PATH=${rpp}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_PREFIX_PYTHON=lib" - # "-DAMD_FP16_SUPPORT=ON" `error: typedef redefinition with different types ('__half' vs 'half_float::half')` - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals (!useOpenCL && !useCPU) [ - "-DBACKEND=HIP" - ] ++ lib.optionals (useOpenCL && !useCPU) [ - "-DBACKEND=OCL" - ] ++ lib.optionals useCPU [ - "-DBACKEND=CPU" - ]; + cmakeFlags = + [ + "-DROCM_PATH=${clr}" + "-DAMDRPP_PATH=${rpp}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_PREFIX_PYTHON=lib" + # "-DAMD_FP16_SUPPORT=ON" `error: typedef redefinition with different types ('__half' vs 'half_float::half')` + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals (!useOpenCL && !useCPU) [ + "-DBACKEND=HIP" + ] + ++ lib.optionals (useOpenCL && !useCPU) [ + "-DBACKEND=OCL" + ] + ++ lib.optionals useCPU [ + "-DBACKEND=CPU" + ]; postPatch = '' # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...` @@ -141,6 +154,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rccl/default.nix b/pkgs/development/rocm-modules/6/rccl/default.nix index a830883b4f82e..dc5fd0534b061 100644 --- a/pkgs/development/rocm-modules/6/rccl/default.nix +++ b/pkgs/development/rocm-modules/6/rccl/default.nix @@ -1,28 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-smi -, clr -, perl -, hipify -, gtest -, chrpath -, buildTests ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-smi, + clr, + perl, + hipify, + gtest, + chrpath, + buildTests ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rccl"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -39,26 +42,31 @@ stdenv.mkDerivation (finalAttrs: { hipify ]; - buildInputs = [ - rocm-smi - gtest - ] ++ lib.optionals buildTests [ - chrpath - ]; + buildInputs = + [ + rocm-smi + gtest + ] + ++ lib.optionals buildTests [ + chrpath + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DBUILD_BFD=OFF" # Can't get it to detect bfd.h - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TESTS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DBUILD_BFD=OFF" # Can't get it to detect bfd.h + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TESTS=ON" + ]; postPatch = '' patchShebangs src tools @@ -85,9 +93,14 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "ROCm communication collectives library"; homepage = "https://github.com/ROCm/rccl"; - license = with licenses; [ bsd2 bsd3 ]; + license = with licenses; [ + bsd2 + bsd3 + ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rdc/default.nix b/pkgs/development/rocm-modules/6/rdc/default.nix index 6591e55a0cc79..2422ef71579c7 100644 --- a/pkgs/development/rocm-modules/6/rdc/default.nix +++ b/pkgs/development/rocm-modules/6/rdc/default.nix @@ -1,54 +1,63 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-smi -, rocm-runtime -, libcap -, grpc -, protobuf -, openssl -, doxygen -, graphviz -, texliveSmall -, gtest -, buildDocs ? true -, buildTests ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-smi, + rocm-runtime, + libcap, + grpc, + protobuf, + openssl, + doxygen, + graphviz, + texliveSmall, + gtest, + buildDocs ? true, + buildTests ? false, }: let - latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [ - changepage - latexmk - varwidth - multirow - hanging - adjustbox - collectbox - stackengine - enumitem - alphalph - wasysym - sectsty - tocloft - newunicodechar - etoc - helvetic - wasy - courier - ])); -in stdenv.mkDerivation (finalAttrs: { + latex = lib.optionalAttrs buildDocs ( + texliveSmall.withPackages ( + ps: with ps; [ + changepage + latexmk + varwidth + multirow + hanging + adjustbox + collectbox + stackengine + enumitem + alphalph + wasysym + sectsty + tocloft + newunicodechar + etoc + helvetic + wasy + courier + ] + ) + ); +in +stdenv.mkDerivation (finalAttrs: { pname = "rdc"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -57,55 +66,63 @@ in stdenv.mkDerivation (finalAttrs: { hash = "sha256-QugcajxILmDeQiWG5uAUO41Wut45irg2Ynufgn1bmps="; }; - nativeBuildInputs = [ - cmake - protobuf - ] ++ lib.optionals buildDocs [ - doxygen - graphviz - latex - ]; + nativeBuildInputs = + [ + cmake + protobuf + ] + ++ lib.optionals buildDocs [ + doxygen + graphviz + latex + ]; - buildInputs = [ - rocm-smi - rocm-runtime - libcap - grpc - openssl - ] ++ lib.optionals buildTests [ - gtest - ]; + buildInputs = + [ + rocm-smi + rocm-runtime + libcap + grpc + openssl + ] + ++ lib.optionals buildTests [ + gtest + ]; - cmakeFlags = [ - "-DCMAKE_VERBOSE_MAKEFILE=OFF" - "-DRDC_INSTALL_PREFIX=${placeholder "out"}" - "-DBUILD_ROCRTEST=ON" - "-DRSMI_INC_DIR=${rocm-smi}/include" - "-DRSMI_LIB_DIR=${rocm-smi}/lib" - "-DGRPC_ROOT=${grpc}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBEXECDIR=libexec" - "-DCMAKE_INSTALL_DOCDIR=doc" - ] ++ lib.optionals buildTests [ - "-DBUILD_TESTS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_VERBOSE_MAKEFILE=OFF" + "-DRDC_INSTALL_PREFIX=${placeholder "out"}" + "-DBUILD_ROCRTEST=ON" + "-DRSMI_INC_DIR=${rocm-smi}/include" + "-DRSMI_LIB_DIR=${rocm-smi}/lib" + "-DGRPC_ROOT=${grpc}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBEXECDIR=libexec" + "-DCMAKE_INSTALL_DOCDIR=doc" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TESTS=ON" + ]; postPatch = '' substituteInPlace CMakeLists.txt \ --replace "file(STRINGS /etc/os-release LINUX_DISTRO LIMIT_COUNT 1 REGEX \"NAME=\")" "set(LINUX_DISTRO \"NixOS\")" ''; - postInstall = '' - find $out/bin -executable -type f -exec \ - patchelf {} --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" \; - '' + lib.optionalString buildTests '' - mkdir -p $test - mv $out/bin/rdctst_tests $test/bin - ''; + postInstall = + '' + find $out/bin -executable -type f -exec \ + patchelf {} --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" \; + '' + + lib.optionalString buildTests '' + mkdir -p $test + mv $out/bin/rdctst_tests $test/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; diff --git a/pkgs/development/rocm-modules/6/rocalution/default.nix b/pkgs/development/rocm-modules/6/rocalution/default.nix index 056cbb9b358c5..48cc9ab3f8ccb 100644 --- a/pkgs/development/rocm-modules/6/rocalution/default.nix +++ b/pkgs/development/rocm-modules/6/rocalution/default.nix @@ -1,37 +1,42 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocblas -, rocsparse -, rocprim -, rocrand -, clr -, git -, openmp -, openmpi -, gtest -, buildTests ? false -, buildBenchmarks ? false -, buildSamples ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900:xnack-" "gfx906:xnack-" ... ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocblas, + rocsparse, + rocprim, + rocrand, + clr, + git, + openmp, + openmpi, + gtest, + buildTests ? false, + buildBenchmarks ? false, + buildSamples ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx803" "gfx900:xnack-" "gfx906:xnack-" ... ] }: stdenv.mkDerivation (finalAttrs: { pname = "rocalution"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -47,56 +52,66 @@ stdenv.mkDerivation (finalAttrs: { git ]; - buildInputs = [ - rocblas - rocsparse - rocprim - rocrand - openmp - openmpi - ] ++ lib.optionals buildTests [ - gtest - ]; + buildInputs = + [ + rocblas + rocsparse + rocprim + rocrand + openmp + openmpi + ] + ++ lib.optionals buildTests [ + gtest + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DROCM_PATH=${clr}" - "-DHIP_ROOT_DIR=${clr}" - "-DSUPPORT_HIP=ON" - "-DSUPPORT_OMP=ON" - "-DSUPPORT_MPI=ON" - "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.strings.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DROCM_PATH=${clr}" + "-DHIP_ROOT_DIR=${clr}" + "-DSUPPORT_HIP=ON" + "-DSUPPORT_OMP=ON" + "-DSUPPORT_MPI=ON" + "-DBUILD_CLIENTS_SAMPLES=${if buildSamples then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.strings.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/rocalution-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/rocalution-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv clients/staging/* $sample/bin - rm $sample/bin/rocalution-test || true - rm $sample/bin/rocalution-bench || true + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/rocalution-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/rocalution-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv clients/staging/* $sample/bin + rm $sample/bin/rocalution-test || true + rm $sample/bin/rocalution-bench || true - patchelf --set-rpath \ - $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ [ clr ])} \ - $sample/bin/* - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + patchelf --set-rpath \ + $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ [ clr ])} \ + $sample/bin/* + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -110,6 +125,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocblas/default.nix b/pkgs/development/rocm-modules/6/rocblas/default.nix index 4233aa640690f..7c5fbe801b193 100644 --- a/pkgs/development/rocm-modules/6/rocblas/default.nix +++ b/pkgs/development/rocm-modules/6/rocblas/default.nix @@ -1,55 +1,61 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rocmUpdateScript -, cmake -, rocm-cmake -, clr -, python3 -, tensile -, msgpack -, libxml2 -, gtest -, gfortran -, openmp -, amd-blis -, python3Packages -, buildTensile ? true -, buildTests ? false -, buildBenchmarks ? false -, tensileLogic ? "asm_full" -, tensileCOVersion ? "default" -# https://github.com/ROCm/Tensile/issues/1757 -# Allows gfx101* users to use rocBLAS normally. -# Turn the below two values to `true` after the fix has been cherry-picked -# into a release. Just backporting that single fix is not enough because it -# depends on some previous commits. -, tensileSepArch ? false -, tensileLazyLib ? false -, tensileLibFormat ? "msgpack" -# `gfx940`, `gfx941` are not present in this list because they are early -# engineering samples, and all final MI300 hardware are `gfx942`: -# https://github.com/NixOS/nixpkgs/pull/298388#issuecomment-2032791130 -# -# `gfx1012` is not present in this list because the ISA compatibility patches -# would force all `gfx101*` GPUs to run as `gfx1010`, so `gfx101*` GPUs will -# always try to use `gfx1010` code objects, hence building for `gfx1012` is -# useless: https://github.com/NixOS/nixpkgs/pull/298388#issuecomment-2076327152 -, gpuTargets ? [ "gfx900;gfx906:xnack-;gfx908:xnack-;gfx90a:xnack+;gfx90a:xnack-;gfx942;gfx1010;gfx1030;gfx1100;gfx1101;gfx1102" ] +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rocmUpdateScript, + cmake, + rocm-cmake, + clr, + python3, + tensile, + msgpack, + libxml2, + gtest, + gfortran, + openmp, + amd-blis, + python3Packages, + buildTensile ? true, + buildTests ? false, + buildBenchmarks ? false, + tensileLogic ? "asm_full", + tensileCOVersion ? "default", + # https://github.com/ROCm/Tensile/issues/1757 + # Allows gfx101* users to use rocBLAS normally. + # Turn the below two values to `true` after the fix has been cherry-picked + # into a release. Just backporting that single fix is not enough because it + # depends on some previous commits. + tensileSepArch ? false, + tensileLazyLib ? false, + tensileLibFormat ? "msgpack", + # `gfx940`, `gfx941` are not present in this list because they are early + # engineering samples, and all final MI300 hardware are `gfx942`: + # https://github.com/NixOS/nixpkgs/pull/298388#issuecomment-2032791130 + # + # `gfx1012` is not present in this list because the ISA compatibility patches + # would force all `gfx101*` GPUs to run as `gfx1010`, so `gfx101*` GPUs will + # always try to use `gfx1010` code objects, hence building for `gfx1012` is + # useless: https://github.com/NixOS/nixpkgs/pull/298388#issuecomment-2076327152 + gpuTargets ? [ + "gfx900;gfx906:xnack-;gfx908:xnack-;gfx90a:xnack+;gfx90a:xnack-;gfx942;gfx1010;gfx1030;gfx1100;gfx1101;gfx1102" + ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocblas"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -58,54 +64,64 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-G68d/gvBbTdNx8xR3xY+OkBm5Yxq1NFjxby9BbpOcUk="; }; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - ] ++ lib.optionals buildTensile [ - tensile - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + ] + ++ lib.optionals buildTensile [ + tensile + ]; - buildInputs = [ - python3 - ] ++ lib.optionals buildTensile [ - msgpack - libxml2 - python3Packages.msgpack - python3Packages.joblib - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - gfortran - openmp - amd-blis - ] ++ lib.optionals (buildTensile || buildTests || buildBenchmarks) [ - python3Packages.pyyaml - ]; + buildInputs = + [ + python3 + ] + ++ lib.optionals buildTensile [ + msgpack + libxml2 + python3Packages.msgpack + python3Packages.joblib + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + gfortran + openmp + amd-blis + ] + ++ lib.optionals (buildTensile || buildTests || buildBenchmarks) [ + python3Packages.pyyaml + ]; - cmakeFlags = [ - (lib.cmakeFeature "CMAKE_C_COMPILER" "hipcc") - (lib.cmakeFeature "CMAKE_CXX_COMPILER" "hipcc") - (lib.cmakeFeature "python" "python3") - (lib.cmakeFeature "AMDGPU_TARGETS" (lib.concatStringsSep ";" gpuTargets)) - (lib.cmakeBool "BUILD_WITH_TENSILE" buildTensile) - (lib.cmakeBool "ROCM_SYMLINK_LIBS" false) - (lib.cmakeFeature "ROCBLAS_TENSILE_LIBRARY_DIR" "lib/rocblas") - (lib.cmakeBool "BUILD_CLIENTS_TESTS" buildTests) - (lib.cmakeBool "BUILD_CLIENTS_BENCHMARKS" buildBenchmarks) - # rocblas header files are not installed unless we set this - (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") - ] ++ lib.optionals buildTensile [ - (lib.cmakeBool "BUILD_WITH_PIP" false) - (lib.cmakeFeature "Tensile_LOGIC" tensileLogic) - (lib.cmakeFeature "Tensile_CODE_OBJECT_VERSION" tensileCOVersion) - (lib.cmakeBool "Tensile_SEPARATE_ARCHITECTURES" tensileSepArch) - (lib.cmakeBool "Tensile_LAZY_LIBRARY_LOADING" tensileLazyLib) - (lib.cmakeFeature "Tensile_LIBRARY_FORMAT" tensileLibFormat) - (lib.cmakeBool "Tensile_PRINT_DEBUG" true) - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-I${amd-blis}/include/blis") - ]; + cmakeFlags = + [ + (lib.cmakeFeature "CMAKE_C_COMPILER" "hipcc") + (lib.cmakeFeature "CMAKE_CXX_COMPILER" "hipcc") + (lib.cmakeFeature "python" "python3") + (lib.cmakeFeature "AMDGPU_TARGETS" (lib.concatStringsSep ";" gpuTargets)) + (lib.cmakeBool "BUILD_WITH_TENSILE" buildTensile) + (lib.cmakeBool "ROCM_SYMLINK_LIBS" false) + (lib.cmakeFeature "ROCBLAS_TENSILE_LIBRARY_DIR" "lib/rocblas") + (lib.cmakeBool "BUILD_CLIENTS_TESTS" buildTests) + (lib.cmakeBool "BUILD_CLIENTS_BENCHMARKS" buildBenchmarks) + # rocblas header files are not installed unless we set this + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") + ] + ++ lib.optionals buildTensile [ + (lib.cmakeBool "BUILD_WITH_PIP" false) + (lib.cmakeFeature "Tensile_LOGIC" tensileLogic) + (lib.cmakeFeature "Tensile_CODE_OBJECT_VERSION" tensileCOVersion) + (lib.cmakeBool "Tensile_SEPARATE_ARCHITECTURES" tensileSepArch) + (lib.cmakeBool "Tensile_LAZY_LIBRARY_LOADING" tensileLazyLib) + (lib.cmakeFeature "Tensile_LIBRARY_FORMAT" tensileLibFormat) + (lib.cmakeBool "Tensile_PRINT_DEBUG" true) + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-I${amd-blis}/include/blis") + ]; patches = [ (fetchpatch { @@ -135,6 +151,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocfft/default.nix b/pkgs/development/rocm-modules/6/rocfft/default.nix index 9fd1f02398b39..92f51a161a48d 100644 --- a/pkgs/development/rocm-modules/6/rocfft/default.nix +++ b/pkgs/development/rocm-modules/6/rocfft/default.nix @@ -1,20 +1,21 @@ -{ rocfft -, lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clr -, python3 -, rocm-cmake -, sqlite -, boost -, fftw -, fftwFloat -, gtest -, openmp -, rocrand -, gpuTargets ? [ ] +{ + rocfft, + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clr, + python3, + rocm-cmake, + sqlite, + boost, + fftw, + fftwFloat, + gtest, + openmp, + rocrand, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { @@ -37,18 +38,20 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ sqlite ]; - cmakeFlags = [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DSQLITE_USE_SYSTEM_PACKAGE=ON" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ]; + cmakeFlags = + [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DSQLITE_USE_SYSTEM_PACKAGE=ON" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ]; passthru = { test = stdenv.mkDerivation { @@ -100,10 +103,12 @@ stdenv.mkDerivation (finalAttrs: { boost finalAttrs.finalPackage openmp - (python3.withPackages (ps: with ps; [ - pandas - scipy - ])) + (python3.withPackages ( + ps: with ps; [ + pandas + scipy + ] + )) rocrand ]; @@ -164,6 +169,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = with maintainers; [ kira-bruneau ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocgdb/default.nix b/pkgs/development/rocm-modules/6/rocgdb/default.nix index 2112c6cf02105..cf51f05f9ee48 100644 --- a/pkgs/development/rocm-modules/6/rocgdb/default.nix +++ b/pkgs/development/rocm-modules/6/rocgdb/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, pkg-config -, texinfo -, bison -, flex -, glibc -, zlib -, gmp -, mpfr -, ncurses -, expat -, rocdbgapi -, python3 -, babeltrace -, sourceHighlight +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + pkg-config, + texinfo, + bison, + flex, + glibc, + zlib, + gmp, + mpfr, + ncurses, + expat, + rocdbgapi, + python3, + babeltrace, + sourceHighlight, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/rocm-modules/6/rocm-comgr/default.nix b/pkgs/development/rocm-modules/6/rocm-comgr/default.nix index 033de08af11b8..fb85e6dd2a1b9 100644 --- a/pkgs/development/rocm-modules/6/rocm-comgr/default.nix +++ b/pkgs/development/rocm-modules/6/rocm-comgr/default.nix @@ -1,19 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-device-libs -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-device-libs, + libxml2, }: let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; -in stdenv.mkDerivation (finalAttrs: { + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; +in +stdenv.mkDerivation (finalAttrs: { pname = "rocm-comgr"; version = "6.0.2"; @@ -50,6 +55,8 @@ in stdenv.mkDerivation (finalAttrs: { license = licenses.ncsa; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocm-core/default.nix b/pkgs/development/rocm-modules/6/rocm-core/default.nix index 2601918d91657..31f47fb26b976 100644 --- a/pkgs/development/rocm-modules/6/rocm-core/default.nix +++ b/pkgs/development/rocm-modules/6/rocm-core/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -33,6 +34,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocm-device-libs/default.nix b/pkgs/development/rocm-modules/6/rocm-device-libs/default.nix index c55ba960fc618..a16eee74c3f17 100644 --- a/pkgs/development/rocm-modules/6/rocm-device-libs/default.nix +++ b/pkgs/development/rocm-modules/6/rocm-device-libs/default.nix @@ -1,18 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + libxml2, }: let llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; -in stdenv.mkDerivation (finalAttrs: { + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; +in +stdenv.mkDerivation (finalAttrs: { pname = "rocm-device-libs"; version = "6.0.2"; @@ -45,6 +50,8 @@ in stdenv.mkDerivation (finalAttrs: { license = licenses.ncsa; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocm-runtime/default.nix b/pkgs/development/rocm-modules/6/rocm-runtime/default.nix index 1e728fb73cf79..a24c751a44ef0 100644 --- a/pkgs/development/rocm-modules/6/rocm-runtime/default.nix +++ b/pkgs/development/rocm-modules/6/rocm-runtime/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rocmUpdateScript -, pkg-config -, cmake -, xxd -, rocm-device-libs -, rocm-thunk -, elfutils -, libdrm -, numactl -, valgrind -, libxml2 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rocmUpdateScript, + pkg-config, + cmake, + xxd, + rocm-device-libs, + rocm-thunk, + elfutils, + libdrm, + numactl, + valgrind, + libxml2, }: stdenv.mkDerivation (finalAttrs: { @@ -79,6 +80,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ ncsa ]; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocminfo/default.nix b/pkgs/development/rocm-modules/6/rocminfo/default.nix index f53dcf19b96be..9c88274d722f2 100644 --- a/pkgs/development/rocm-modules/6/rocminfo/default.nix +++ b/pkgs/development/rocm-modules/6/rocminfo/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-runtime -, busybox -, python3 -, gnugrep +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-runtime, + busybox, + python3, + gnugrep, # rocminfo requires that the calling user have a password and be in # the video group. If we let rocm_agent_enumerator rely upon # rocminfo's output, then it, too, has those requirements. Instead, # we can specify the GPU targets for this system (e.g. "gfx803" for # Polaris) such that no system call is needed for downstream # compilers to determine the desired target. -, defaultTargets ? [] + defaultTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { @@ -58,6 +59,9 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.ncsa; maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members; platforms = platforms.linux; - broken = stdenv.hostPlatform.isAarch64 || versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + stdenv.hostPlatform.isAarch64 + || versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocmlir/default.nix b/pkgs/development/rocm-modules/6/rocmlir/default.nix index efc33fd8468ad..b0063bf9f7446 100644 --- a/pkgs/development/rocm-modules/6/rocmlir/default.nix +++ b/pkgs/development/rocm-modules/6/rocmlir/default.nix @@ -1,45 +1,49 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocminfo -, ninja -, clr -, git -, libxml2 -, libedit -, zstd -, zlib -, ncurses -, python3Packages -, buildRockCompiler ? false -, buildTests ? false # `argument of type 'NoneType' is not iterable` +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocminfo, + ninja, + clr, + git, + libxml2, + libedit, + zstd, + zlib, + ncurses, + python3Packages, + buildRockCompiler ? false, + buildTests ? false, # `argument of type 'NoneType' is not iterable` }: # Theoretically, we could have our MLIR have an output # with the source and built objects so that we can just # use it as the external LLVM repo for this let - suffix = - if buildRockCompiler - then "-rock" - else ""; + suffix = if buildRockCompiler then "-rock" else ""; llvmNativeTarget = - if stdenv.hostPlatform.isx86_64 then "X86" - else if stdenv.hostPlatform.isAarch64 then "AArch64" - else throw "Unsupported ROCm LLVM platform"; -in stdenv.mkDerivation (finalAttrs: { + if stdenv.hostPlatform.isx86_64 then + "X86" + else if stdenv.hostPlatform.isAarch64 then + "AArch64" + else + throw "Unsupported ROCm LLVM platform"; +in +stdenv.mkDerivation (finalAttrs: { pname = "rocmlir${suffix}"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals (!buildRockCompiler) [ - "external" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals (!buildRockCompiler) [ + "external" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -69,22 +73,25 @@ in stdenv.mkDerivation (finalAttrs: { ncurses ]; - cmakeFlags = [ - "-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}" - "-DLLVM_ENABLE_ZSTD=ON" - "-DLLVM_ENABLE_ZLIB=ON" - "-DLLVM_ENABLE_TERMINFO=ON" - "-DROCM_PATH=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals buildRockCompiler [ - "-DBUILD_FAT_LIBROCKCOMPILER=ON" - ] ++ lib.optionals (!buildRockCompiler) [ - "-DROCM_TEST_CHIPSET=gfx000" - ]; + cmakeFlags = + [ + "-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}" + "-DLLVM_ENABLE_ZSTD=ON" + "-DLLVM_ENABLE_ZLIB=ON" + "-DLLVM_ENABLE_TERMINFO=ON" + "-DROCM_PATH=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals buildRockCompiler [ + "-DBUILD_FAT_LIBROCKCOMPILER=ON" + ] + ++ lib.optionals (!buildRockCompiler) [ + "-DROCM_TEST_CHIPSET=gfx000" + ]; postPatch = '' patchShebangs mlir @@ -102,20 +109,30 @@ in stdenv.mkDerivation (finalAttrs: { doCheck = true; # Certain libs aren't being generated, try enabling tests next update - checkTarget = if buildRockCompiler - then "librockCompiler" - else if buildTests - then "check-rocmlir" - else "check-rocmlir-build-only"; - - postInstall = let - libPath = lib.makeLibraryPath [ zstd zlib ncurses clr stdenv.cc.cc ]; - in lib.optionals (!buildRockCompiler) '' - mkdir -p $external/lib - cp -a external/llvm-project/llvm/lib/{*.a*,*.so*} $external/lib - patchelf --set-rpath $external/lib:$out/lib:${libPath} $external/lib/*.so* - patchelf --set-rpath $out/lib:$external/lib:${libPath} $out/{bin/*,lib/*.so*} - ''; + checkTarget = + if buildRockCompiler then + "librockCompiler" + else if buildTests then + "check-rocmlir" + else + "check-rocmlir-build-only"; + + postInstall = + let + libPath = lib.makeLibraryPath [ + zstd + zlib + ncurses + clr + stdenv.cc.cc + ]; + in + lib.optionals (!buildRockCompiler) '' + mkdir -p $external/lib + cp -a external/llvm-project/llvm/lib/{*.a*,*.so*} $external/lib + patchelf --set-rpath $external/lib:$out/lib:${libPath} $external/lib/*.so* + patchelf --set-rpath $out/lib:$external/lib:${libPath} $out/{bin/*,lib/*.so*} + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -131,6 +148,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ asl20 ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocprofiler/default.nix b/pkgs/development/rocm-modules/6/rocprofiler/default.nix index ca6291992d85a..c3a0bf7112a62 100644 --- a/pkgs/development/rocm-modules/6/rocprofiler/default.nix +++ b/pkgs/development/rocm-modules/6/rocprofiler/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, symlinkJoin -, substituteAll -, cmake -, clang -, clr -, rocm-core -, rocm-thunk -, rocm-device-libs -, roctracer -, rocdbgapi -, rocm-smi -, hsa-amd-aqlprofile-bin -, numactl -, libpciaccess -, libxml2 -, elfutils -, mpi -, systemd -, gtest -, python3Packages -, gpuTargets ? clr.gpuTargets +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + symlinkJoin, + substituteAll, + cmake, + clang, + clr, + rocm-core, + rocm-thunk, + rocm-device-libs, + roctracer, + rocdbgapi, + rocm-smi, + hsa-amd-aqlprofile-bin, + numactl, + libpciaccess, + libxml2, + elfutils, + mpi, + systemd, + gtest, + python3Packages, + gpuTargets ? clr.gpuTargets, }: let @@ -44,7 +45,8 @@ let rm -rf $out/nix-support ''; }; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "rocprofiler"; version = "6.0.2"; @@ -135,6 +137,8 @@ in stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; # mitx11 maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor clr.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor clr.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocr-debug-agent/default.nix b/pkgs/development/rocm-modules/6/rocr-debug-agent/default.nix index 625a8ef5a364f..6d9a91be00ef1 100644 --- a/pkgs/development/rocm-modules/6/rocr-debug-agent/default.nix +++ b/pkgs/development/rocm-modules/6/rocr-debug-agent/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clr -, git -, rocdbgapi -, elfutils +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clr, + git, + rocdbgapi, + elfutils, }: stdenv.mkDerivation (finalAttrs: { @@ -54,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ ncsa ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocsolver/default.nix b/pkgs/development/rocm-modules/6/rocsolver/default.nix index 42334d396b04a..577ef73d25343 100644 --- a/pkgs/development/rocm-modules/6/rocsolver/default.nix +++ b/pkgs/development/rocm-modules/6/rocsolver/default.nix @@ -1,32 +1,36 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocblas -, rocsparse -, clr -, fmt -, gtest -, gfortran -, lapack-reference -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900" "gfx906:xnack-" ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocblas, + rocsparse, + clr, + fmt, + gtest, + gfortran, + lapack-reference, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx803" "gfx900" "gfx906:xnack-" ] }: stdenv.mkDerivation (finalAttrs: { pname = "rocsolver"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -35,49 +39,61 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-tglQpwCSFABRuEDiJrzQVFIdx9p85E2MiUYN0aoTAXo="; }; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - gfortran - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + gfortran + ]; - buildInputs = [ - rocblas - rocsparse - fmt - ] ++ lib.optionals buildTests [ - gtest - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - lapack-reference - ]; + buildInputs = + [ + rocblas + rocsparse + fmt + ] + ++ lib.optionals buildTests [ + gtest + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + lapack-reference + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DCMAKE_CXX_FLAGS=-Wno-switch" # Way too many warnings - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_CLIENTS_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DCMAKE_CXX_FLAGS=-Wno-switch" # Way too many warnings + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_CLIENTS_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/rocsolver-test $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/rocsolver-bench $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/rocsolver-test $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/rocsolver-bench $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rmdir $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -95,6 +111,8 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.linux; timeout = 14400; # 4 hours maxSilent = 14400; # 4 hours - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocsparse/default.nix b/pkgs/development/rocm-modules/6/rocsparse/default.nix index 2a1043b33c059..a4c29bc980c92 100644 --- a/pkgs/development/rocm-modules/6/rocsparse/default.nix +++ b/pkgs/development/rocm-modules/6/rocsparse/default.nix @@ -1,33 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchzip -, rocmUpdateScript -, cmake -, rocm-cmake -, rocprim -, clr -, gfortran -, git -, gtest -, boost -, python3Packages -, buildTests ? false -, buildBenchmarks ? false # Seems to depend on tests -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + rocmUpdateScript, + cmake, + rocm-cmake, + rocprim, + clr, + gfortran, + git, + gtest, + boost, + python3Packages, + buildTests ? false, + buildBenchmarks ? false, # Seems to depend on tests + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocsparse"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -43,32 +47,38 @@ stdenv.mkDerivation (finalAttrs: { gfortran ]; - buildInputs = [ - rocprim - git - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - gtest - boost - python3Packages.python - python3Packages.pyyaml - ]; + buildInputs = + [ + rocprim + git + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + gtest + boost + python3Packages.python + python3Packages.pyyaml + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "-DBUILD_CLIENTS_TESTS=ON" - "-DCMAKE_MATRICES_DIR=/build/source/matrices" - "-Dpython=python3" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_CLIENTS_BENCHMARKS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "-DBUILD_CLIENTS_TESTS=ON" + "-DCMAKE_MATRICES_DIR=/build/source/matrices" + "-Dpython=python3" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_CLIENTS_BENCHMARKS=ON" + ]; # We have to manually generate the matrices postPatch = lib.optionalString (buildTests || buildBenchmarks) '' @@ -112,17 +122,19 @@ stdenv.mkDerivation (finalAttrs: { done ''; - postInstall = lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - cp -a $out/bin/* $benchmark/bin - rm $benchmark/bin/rocsparse-test - '' + lib.optionalString (buildTests || buildBenchmarks) '' - mkdir -p $test/bin - mv $out/bin/* $test/bin - rm $test/bin/rocsparse-bench || true - mv /build/source/matrices $test - rmdir $out/bin - ''; + postInstall = + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + cp -a $out/bin/* $benchmark/bin + rm $benchmark/bin/rocsparse-test + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + mkdir -p $test/bin + mv $out/bin/* $test/bin + rm $test/bin/rocsparse-bench || true + mv /build/source/matrices $test + rmdir $out/bin + ''; passthru = { matrices = import ./deps.nix { @@ -144,6 +156,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocsparse/deps.nix b/pkgs/development/rocm-modules/6/rocsparse/deps.nix index cef880ab3232d..e39b6de39673c 100644 --- a/pkgs/development/rocm-modules/6/rocsparse/deps.nix +++ b/pkgs/development/rocm-modules/6/rocsparse/deps.nix @@ -1,6 +1,7 @@ -{ fetchzip -, mirror1 -, mirror2 +{ + fetchzip, + mirror1, + mirror2, }: { diff --git a/pkgs/development/rocm-modules/6/rocthrust/default.nix b/pkgs/development/rocm-modules/6/rocthrust/default.nix index e34e3ada6b991..2044968441ff8 100644 --- a/pkgs/development/rocm-modules/6/rocthrust/default.nix +++ b/pkgs/development/rocm-modules/6/rocthrust/default.nix @@ -1,28 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocprim -, clr -, gtest -, buildTests ? false -, buildBenchmarks ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocprim, + clr, + gtest, + buildTests ? false, + buildBenchmarks ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { pname = "rocthrust"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildTests [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildTests [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -42,33 +46,41 @@ stdenv.mkDerivation (finalAttrs: { gtest ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DHIP_ROOT_DIR=${clr}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildTests [ - "-DBUILD_TEST=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DBUILD_BENCHMARKS=ON" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "-DCMAKE_CXX_FLAGS=-Wno-deprecated-builtins" # Too much spam - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DHIP_ROOT_DIR=${clr}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DBUILD_BENCHMARKS=ON" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "-DCMAKE_CXX_FLAGS=-Wno-deprecated-builtins" # Too much spam + ]; - postInstall = lib.optionalString buildTests '' - mkdir -p $test/bin - mv $out/bin/{test_*,*.hip} $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/benchmark_* $benchmark/bin - '' + lib.optionalString (buildTests || buildBenchmarks) '' - rm -rf $out/bin - ''; + postInstall = + lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/{test_*,*.hip} $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/benchmark_* $benchmark/bin + '' + + lib.optionalString (buildTests || buildBenchmarks) '' + rm -rf $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -82,6 +94,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ asl20 ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/roctracer/default.nix b/pkgs/development/rocm-modules/6/roctracer/default.nix index 2523a9ab5330a..b5e411dd059d6 100644 --- a/pkgs/development/rocm-modules/6/roctracer/default.nix +++ b/pkgs/development/rocm-modules/6/roctracer/default.nix @@ -1,32 +1,36 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, clr -, rocm-device-libs -, libxml2 -, doxygen -, graphviz -, gcc-unwrapped -, libbacktrace -, rocm-runtime -, python3Packages -, buildDocs ? false # Nothing seems to be generated, so not making the output -, buildTests ? false +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + clr, + rocm-device-libs, + libxml2, + doxygen, + graphviz, + gcc-unwrapped, + libbacktrace, + rocm-runtime, + python3Packages, + buildDocs ? false, # Nothing seems to be generated, so not making the output + buildTests ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "roctracer"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildTests [ - "test" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals buildDocs [ + "doc" + ] + ++ lib.optionals buildTests [ + "test" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -35,13 +39,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-a6/N6W3JXVI0VZRGxlS3cVENC3VTP1w9UFnd0+EWAuo="; }; - nativeBuildInputs = [ - cmake - clr - ] ++ lib.optionals buildDocs [ - doxygen - graphviz - ]; + nativeBuildInputs = + [ + cmake + clr + ] + ++ lib.optionals buildDocs [ + doxygen + graphviz + ]; buildInputs = [ libxml2 @@ -64,27 +70,39 @@ stdenv.mkDerivation (finalAttrs: { "-Wno-error=array-bounds" ]; - postPatch = '' - export HIP_DEVICE_LIB_PATH=${rocm-device-libs}/amdgcn/bitcode - '' + lib.optionalString (!buildTests) '' - substituteInPlace CMakeLists.txt \ - --replace "add_subdirectory(test)" "" - ''; + postPatch = + '' + export HIP_DEVICE_LIB_PATH=${rocm-device-libs}/amdgcn/bitcode + '' + + lib.optionalString (!buildTests) '' + substituteInPlace CMakeLists.txt \ + --replace "add_subdirectory(test)" "" + ''; # Tests always fail, probably need GPU # doCheck = buildTests; - postInstall = lib.optionalString buildDocs '' - mkdir -p $doc - '' + lib.optionalString buildTests '' - mkdir -p $test/bin - # Not sure why this is an install target - find $out/test -executable -type f -exec mv {} $test/bin \; - rm $test/bin/{*.sh,*.py} - patchelf --set-rpath $out/lib:${lib.makeLibraryPath ( - finalAttrs.buildInputs ++ [ clr gcc-unwrapped.lib rocm-runtime ])} $test/bin/* - rm -rf $out/test - ''; + postInstall = + lib.optionalString buildDocs '' + mkdir -p $doc + '' + + lib.optionalString buildTests '' + mkdir -p $test/bin + # Not sure why this is an install target + find $out/test -executable -type f -exec mv {} $test/bin \; + rm $test/bin/{*.sh,*.py} + patchelf --set-rpath $out/lib:${ + lib.makeLibraryPath ( + finalAttrs.buildInputs + ++ [ + clr + gcc-unwrapped.lib + rocm-runtime + ] + ) + } $test/bin/* + rm -rf $out/test + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -98,6 +116,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; # mitx11 maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor clr.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor clr.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rocwmma/default.nix b/pkgs/development/rocm-modules/6/rocwmma/default.nix index da7791f51a3a7..7f6669312fd13 100644 --- a/pkgs/development/rocm-modules/6/rocwmma/default.nix +++ b/pkgs/development/rocm-modules/6/rocwmma/default.nix @@ -1,34 +1,39 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-smi -, clr -, openmp -, gtest -, rocblas -, buildTests ? false # Will likely fail building because wavefront shifts are not supported for certain archs -, buildExtendedTests ? false -, buildBenchmarks ? false -, buildSamples ? false -, gpuTargets ? [ ] # gpuTargets = [ "gfx908:xnack-" "gfx90a:xnack-" "gfx90a:xnack+" ... ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-smi, + clr, + openmp, + gtest, + rocblas, + buildTests ? false, # Will likely fail building because wavefront shifts are not supported for certain archs + buildExtendedTests ? false, + buildBenchmarks ? false, + buildSamples ? false, + gpuTargets ? [ ], # gpuTargets = [ "gfx908:xnack-" "gfx90a:xnack-" "gfx90a:xnack+" ... ] }: stdenv.mkDerivation (finalAttrs: { pname = "rocwmma"; version = "6.0.2"; - outputs = [ - "out" - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - "test" - ] ++ lib.optionals buildBenchmarks [ - "benchmark" - ] ++ lib.optionals buildSamples [ - "sample" - ]; + outputs = + [ + "out" + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + "test" + ] + ++ lib.optionals buildBenchmarks [ + "benchmark" + ] + ++ lib.optionals buildSamples [ + "sample" + ]; src = fetchFromGitHub { owner = "ROCm"; @@ -47,46 +52,56 @@ stdenv.mkDerivation (finalAttrs: { clr ]; - buildInputs = [ - openmp - ] ++ lib.optionals (buildTests || buildBenchmarks) [ - rocm-smi - gtest - rocblas - ]; + buildInputs = + [ + openmp + ] + ++ lib.optionals (buildTests || buildBenchmarks) [ + rocm-smi + gtest + rocblas + ]; - cmakeFlags = [ - "-DCMAKE_CXX_COMPILER=hipcc" - "-DROCWMMA_BUILD_TESTS=${if buildTests || buildBenchmarks then "ON" else "OFF"}" - "-DROCWMMA_BUILD_SAMPLES=${if buildSamples then "ON" else "OFF"}" - # Manually define CMAKE_INSTALL_ - # See: https://github.com/NixOS/nixpkgs/pull/197838 - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals buildExtendedTests [ - "-DROCWMMA_BUILD_EXTENDED_TESTS=ON" - ] ++ lib.optionals buildBenchmarks [ - "-DROCWMMA_BUILD_BENCHMARK_TESTS=ON" - "-DROCWMMA_BENCHMARK_WITH_ROCBLAS=ON" - ]; + cmakeFlags = + [ + "-DCMAKE_CXX_COMPILER=hipcc" + "-DROCWMMA_BUILD_TESTS=${if buildTests || buildBenchmarks then "ON" else "OFF"}" + "-DROCWMMA_BUILD_SAMPLES=${if buildSamples then "ON" else "OFF"}" + # Manually define CMAKE_INSTALL_ + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals buildExtendedTests [ + "-DROCWMMA_BUILD_EXTENDED_TESTS=ON" + ] + ++ lib.optionals buildBenchmarks [ + "-DROCWMMA_BUILD_BENCHMARK_TESTS=ON" + "-DROCWMMA_BENCHMARK_WITH_ROCBLAS=ON" + ]; - postInstall = lib.optionalString (buildTests || buildBenchmarks) '' - mkdir -p $test/bin - mv $out/bin/{*_test,*-validate} $test/bin - '' + lib.optionalString buildBenchmarks '' - mkdir -p $benchmark/bin - mv $out/bin/*-bench $benchmark/bin - '' + lib.optionalString buildSamples '' - mkdir -p $sample/bin - mv $out/bin/sgemmv $sample/bin - mv $out/bin/simple_gemm $sample/bin - mv $out/bin/simple_dlrm $sample/bin - '' + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' - rm -rf $out/bin - ''; + postInstall = + lib.optionalString (buildTests || buildBenchmarks) '' + mkdir -p $test/bin + mv $out/bin/{*_test,*-validate} $test/bin + '' + + lib.optionalString buildBenchmarks '' + mkdir -p $benchmark/bin + mv $out/bin/*-bench $benchmark/bin + '' + + lib.optionalString buildSamples '' + mkdir -p $sample/bin + mv $out/bin/sgemmv $sample/bin + mv $out/bin/simple_gemm $sample/bin + mv $out/bin/simple_dlrm $sample/bin + '' + + lib.optionalString (buildTests || buildBenchmarks || buildSamples) '' + rm -rf $out/bin + ''; passthru.updateScript = rocmUpdateScript { name = finalAttrs.pname; @@ -100,6 +115,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/rpp/default.nix b/pkgs/development/rocm-modules/6/rpp/default.nix index 239c99017d026..31b67cc860576 100644 --- a/pkgs/development/rocm-modules/6/rpp/default.nix +++ b/pkgs/development/rocm-modules/6/rpp/default.nix @@ -1,27 +1,33 @@ -{ lib -, stdenv -, fetchFromGitHub -, rocmUpdateScript -, cmake -, rocm-cmake -, rocm-docs-core -, half -, clr -, openmp -, boost -, python3Packages -, buildDocs ? false # Needs internet -, useOpenCL ? false -, useCPU ? false -, gpuTargets ? [ ] +{ + lib, + stdenv, + fetchFromGitHub, + rocmUpdateScript, + cmake, + rocm-cmake, + rocm-docs-core, + half, + clr, + openmp, + boost, + python3Packages, + buildDocs ? false, # Needs internet + useOpenCL ? false, + useCPU ? false, + gpuTargets ? [ ], }: stdenv.mkDerivation (finalAttrs: { - pname = "rpp-" + ( - if (!useOpenCL && !useCPU) then "hip" - else if (!useOpenCL && !useCPU) then "opencl" - else "cpu" - ); + pname = + "rpp-" + + ( + if (!useOpenCL && !useCPU) then + "hip" + else if (!useOpenCL && !useCPU) then + "opencl" + else + "cpu" + ); version = "6.0.2"; @@ -32,14 +38,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-AquAVoEqlsBVxd41hG2sVo9UoSS+255eCQzIfGkC/Tk="; }; - nativeBuildInputs = [ - cmake - rocm-cmake - clr - ] ++ lib.optionals buildDocs [ - rocm-docs-core - python3Packages.python - ]; + nativeBuildInputs = + [ + cmake + rocm-cmake + clr + ] + ++ lib.optionals buildDocs [ + rocm-docs-core + python3Packages.python + ]; buildInputs = [ half @@ -47,19 +55,24 @@ stdenv.mkDerivation (finalAttrs: { boost ]; - cmakeFlags = [ - "-DROCM_PATH=${clr}" - ] ++ lib.optionals (gpuTargets != [ ]) [ - "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" - ] ++ lib.optionals (!useOpenCL && !useCPU) [ - "-DCMAKE_C_COMPILER=hipcc" - "-DCMAKE_CXX_COMPILER=hipcc" - "-DBACKEND=HIP" - ] ++ lib.optionals (useOpenCL && !useCPU) [ - "-DBACKEND=OCL" - ] ++ lib.optionals useCPU [ - "-DBACKEND=CPU" - ]; + cmakeFlags = + [ + "-DROCM_PATH=${clr}" + ] + ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] + ++ lib.optionals (!useOpenCL && !useCPU) [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DBACKEND=HIP" + ] + ++ lib.optionals (useOpenCL && !useCPU) [ + "-DBACKEND=OCL" + ] + ++ lib.optionals useCPU [ + "-DBACKEND=CPU" + ]; postPatch = lib.optionalString (!useOpenCL && !useCPU) '' # Bad path @@ -83,6 +96,8 @@ stdenv.mkDerivation (finalAttrs: { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + broken = + versions.minor finalAttrs.version != versions.minor stdenv.cc.version + || versionAtLeast finalAttrs.version "7.0.0"; }; }) diff --git a/pkgs/development/rocm-modules/6/tensile/default.nix b/pkgs/development/rocm-modules/6/tensile/default.nix index 6df403249e9aa..0a1f4d60ea5ea 100644 --- a/pkgs/development/rocm-modules/6/tensile/default.nix +++ b/pkgs/development/rocm-modules/6/tensile/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rocmUpdateScript -, buildPythonPackage -, pytestCheckHook -, setuptools -, pyyaml -, msgpack -, pandas -, joblib -, filelock -, rocminfo +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rocmUpdateScript, + buildPythonPackage, + pytestCheckHook, + setuptools, + pyyaml, + msgpack, + pandas, + joblib, + filelock, + rocminfo, }: buildPythonPackage rec { @@ -74,6 +75,7 @@ buildPythonPackage rec { license = with licenses; [ mit ]; maintainers = teams.rocm.members; platforms = platforms.linux; - broken = versions.minor version != versions.minor stdenv.cc.version || versionAtLeast version "7.0.0"; + broken = + versions.minor version != versions.minor stdenv.cc.version || versionAtLeast version "7.0.0"; }; } diff --git a/pkgs/development/rocm-modules/6/update.nix b/pkgs/development/rocm-modules/6/update.nix index 4d531e6bb1765..ee638dc58c2f4 100644 --- a/pkgs/development/rocm-modules/6/update.nix +++ b/pkgs/development/rocm-modules/6/update.nix @@ -1,19 +1,19 @@ -{ lib -, writeScript +{ + lib, + writeScript, }: -{ name ? "" -, owner ? "" -, repo ? "" -, page ? "releases/latest" -, filter ? ".tag_name | split(\"-\") | .[1]" +{ + name ? "", + owner ? "", + repo ? "", + page ? "releases/latest", + filter ? ".tag_name | split(\"-\") | .[1]", }: let pname = - if lib.hasPrefix "rocm-llvm-" name - then "llvm.${lib.removePrefix "rocm-llvm-" name}" - else name; + if lib.hasPrefix "rocm-llvm-" name then "llvm.${lib.removePrefix "rocm-llvm-" name}" else name; updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell @@ -30,4 +30,5 @@ let update-source-version rocmPackages_6.${pname} "$version" --ignore-same-hash ''; -in [ updateScript ] +in +[ updateScript ] diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix index 1cb6574839366..f60c7f3762958 100644 --- a/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/pkgs/development/ruby-modules/bundled-common/default.nix @@ -1,34 +1,37 @@ -{ stdenv -, lib -, buildPackages -, runCommand -, ruby -, defaultGemConfig, buildRubyGem, buildEnv -, makeBinaryWrapper -, bundler +{ + stdenv, + lib, + buildPackages, + runCommand, + ruby, + defaultGemConfig, + buildRubyGem, + buildEnv, + makeBinaryWrapper, + bundler, }@defs: { - name ? null -, pname ? null -, mainGemName ? null -, gemdir ? null -, gemfile ? null -, lockfile ? null -, gemset ? null -, ruby ? defs.ruby -, copyGemFiles ? false # Copy gem files instead of symlinking -, gemConfig ? defaultGemConfig -, postBuild ? null -, document ? [] -, meta ? {} -, groups ? null -, ignoreCollisions ? false -, nativeBuildInputs ? [] -, buildInputs ? [] -, extraConfigPaths ? [] -, passthru ? {} -, ... + name ? null, + pname ? null, + mainGemName ? null, + gemdir ? null, + gemfile ? null, + lockfile ? null, + gemset ? null, + ruby ? defs.ruby, + copyGemFiles ? false, # Copy gem files instead of symlinking + gemConfig ? defaultGemConfig, + postBuild ? null, + document ? [ ], + meta ? { }, + groups ? null, + ignoreCollisions ? false, + nativeBuildInputs ? [ ], + buildInputs ? [ ], + extraConfigPaths ? [ ], + passthru ? { }, + ... }@args: assert name == null -> pname != null; @@ -47,54 +50,70 @@ let gemFiles = bundlerFiles args; - importedGemset = if builtins.typeOf gemFiles.gemset != "set" - then import gemFiles.gemset - else gemFiles.gemset; + importedGemset = + if builtins.typeOf gemFiles.gemset != "set" then import gemFiles.gemset else gemFiles.gemset; filteredGemset = filterGemset { inherit ruby groups; } importedGemset; - configuredGemset = lib.flip lib.mapAttrs filteredGemset (name: attrs: - applyGemConfigs (attrs // { inherit ruby document; gemName = name; }) + configuredGemset = lib.flip lib.mapAttrs filteredGemset ( + name: attrs: + applyGemConfigs ( + attrs + // { + inherit ruby document; + gemName = name; + } + ) ); hasBundler = builtins.hasAttr "bundler" filteredGemset; bundler = - if hasBundler then gems.bundler - else defs.bundler.override (attrs: { inherit ruby; }); + if hasBundler then + gems.bundler + else + defs.bundler.override (attrs: { + inherit ruby; + }); gems = lib.flip lib.mapAttrs configuredGemset (name: attrs: buildGem name attrs); - name' = if name != null then - name - else - let - gem = gems.${pname}; - suffix = gem.suffix; - in + name' = + if name != null then + name + else + let + gem = gems.${pname}; + suffix = gem.suffix; + in "${pname}-${suffix}"; - pname' = if pname != null then - pname - else - name; - - copyIfBundledByPath = { bundledByPath ? false, ...}: - (lib.optionalString bundledByPath ( - assert gemFiles.gemdir != null; "cp -a ${gemFiles.gemdir}/* $out/") #*/ - ); - - maybeCopyAll = pkgname: lib.optionalString (pkgname != null) ( - let - mainGem = gems.${pkgname} or (throw "bundlerEnv: gem ${pkgname} not found"); - in + pname' = if pname != null then pname else name; + + copyIfBundledByPath = + { + bundledByPath ? false, + ... + }: + (lib.optionalString bundledByPath ( + assert gemFiles.gemdir != null; + "cp -a ${gemFiles.gemdir}/* $out/" + ) # */ + ); + + maybeCopyAll = + pkgname: + lib.optionalString (pkgname != null) ( + let + mainGem = gems.${pkgname} or (throw "bundlerEnv: gem ${pkgname} not found"); + in copyIfBundledByPath mainGem - ); + ); # We have to normalize the Gemfile.lock, otherwise bundler tries to be # helpful by doing so at run time, causing executables to immediately bail # out. Yes, I'm serious. - confFiles = runCommand "gemfile-and-lockfile" {} '' + confFiles = runCommand "gemfile-and-lockfile" { } '' mkdir -p $out ${maybeCopyAll mainGemName} cp ${gemFiles.gemfile} $out/Gemfile || ls -l $out/Gemfile @@ -103,19 +122,20 @@ let ${lib.concatMapStringsSep "\n" (path: "cp -r ${path} $out/") extraConfigPaths} ''; - buildGem = name: attrs: ( - let - gemAttrs = composeGemAttrs ruby gems name attrs; - in - if gemAttrs.type == "path" then - pathDerivation (gemAttrs.source // gemAttrs) - else - buildRubyGem gemAttrs - ); + buildGem = + name: attrs: + ( + let + gemAttrs = composeGemAttrs ruby gems name attrs; + in + if gemAttrs.type == "path" then + pathDerivation (gemAttrs.source // gemAttrs) + else + buildRubyGem gemAttrs + ); envPaths = lib.attrValues gems ++ lib.optional (!hasBundler) bundler; - basicEnvArgs = { inherit nativeBuildInputs buildInputs ignoreCollisions; @@ -124,70 +144,93 @@ let paths = envPaths; pathsToLink = [ "/lib" ]; - postBuild = genStubsScript (defs // args // { - inherit confFiles bundler groups; - binPaths = envPaths; - }) + lib.optionalString (postBuild != null) postBuild; - - meta = { platforms = ruby.meta.platforms; } // meta; - - passthru = (lib.optionalAttrs (pname != null) { - inherit (gems.${pname}) gemType; - } // rec { - inherit ruby bundler gems confFiles envPaths; - - wrappedRuby = stdenv.mkDerivation { - name = "wrapped-ruby-${pname'}"; - - nativeBuildInputs = [ makeBinaryWrapper ]; - - dontUnpack = true; - - buildPhase = '' - mkdir -p $out/bin - for i in ${ruby}/bin/*; do - makeWrapper "$i" $out/bin/$(basename "$i") \ - --set BUNDLE_GEMFILE ${confFiles}/Gemfile \ - --unset BUNDLE_PATH \ - --set BUNDLE_FROZEN 1 \ - --set GEM_HOME ${basicEnv}/${ruby.gemPath} \ - --set GEM_PATH ${basicEnv}/${ruby.gemPath} - done - ''; - - dontInstall = true; - - doCheck = true; - checkPhase = '' - $out/bin/ruby --help > /dev/null - ''; - - inherit (ruby) meta; - }; - - env = let - irbrc = builtins.toFile "irbrc" '' - if !(ENV["OLD_IRBRC"].nil? || ENV["OLD_IRBRC"].empty?) - require ENV["OLD_IRBRC"] - end - require 'rubygems' - require 'bundler/setup' - ''; - in stdenv.mkDerivation { - name = "${pname'}-interactive-environment"; - nativeBuildInputs = [ wrappedRuby basicEnv ]; - shellHook = '' - export OLD_IRBRC=$IRBRC - export IRBRC=${irbrc} + postBuild = + genStubsScript ( + defs + // args + // { + inherit confFiles bundler groups; + binPaths = envPaths; + } + ) + + lib.optionalString (postBuild != null) postBuild; + + meta = { + platforms = ruby.meta.platforms; + } // meta; + + passthru = ( + lib.optionalAttrs (pname != null) { + inherit (gems.${pname}) gemType; + } + // rec { + inherit + ruby + bundler + gems + confFiles + envPaths + ; + + wrappedRuby = stdenv.mkDerivation { + name = "wrapped-ruby-${pname'}"; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + dontUnpack = true; + + buildPhase = '' + mkdir -p $out/bin + for i in ${ruby}/bin/*; do + makeWrapper "$i" $out/bin/$(basename "$i") \ + --set BUNDLE_GEMFILE ${confFiles}/Gemfile \ + --unset BUNDLE_PATH \ + --set BUNDLE_FROZEN 1 \ + --set GEM_HOME ${basicEnv}/${ruby.gemPath} \ + --set GEM_PATH ${basicEnv}/${ruby.gemPath} + done ''; - buildCommand = '' - echo >&2 "" - echo >&2 "*** Ruby 'env' attributes are intended for interactive nix-shell sessions, not for building! ***" - echo >&2 "" - exit 1 + + dontInstall = true; + + doCheck = true; + checkPhase = '' + $out/bin/ruby --help > /dev/null ''; + + inherit (ruby) meta; }; - } // passthru); + + env = + let + irbrc = builtins.toFile "irbrc" '' + if !(ENV["OLD_IRBRC"].nil? || ENV["OLD_IRBRC"].empty?) + require ENV["OLD_IRBRC"] + end + require 'rubygems' + require 'bundler/setup' + ''; + in + stdenv.mkDerivation { + name = "${pname'}-interactive-environment"; + nativeBuildInputs = [ + wrappedRuby + basicEnv + ]; + shellHook = '' + export OLD_IRBRC=$IRBRC + export IRBRC=${irbrc} + ''; + buildCommand = '' + echo >&2 "" + echo >&2 "*** Ruby 'env' attributes are intended for interactive nix-shell sessions, not for building! ***" + echo >&2 "" + exit 1 + ''; + }; + } + // passthru + ); }; basicEnv = @@ -202,4 +245,4 @@ let else buildEnv basicEnvArgs; in - basicEnv +basicEnv diff --git a/pkgs/development/ruby-modules/bundled-common/functions.nix b/pkgs/development/ruby-modules/bundled-common/functions.nix index 3f9e49fc53be8..8b0d38d5388eb 100644 --- a/pkgs/development/ruby-modules/bundled-common/functions.nix +++ b/pkgs/development/ruby-modules/bundled-common/functions.nix @@ -1,76 +1,111 @@ { lib, gemConfig, ... }: let - inherit (lib) attrValues concatMap converge filterAttrs getAttrs - intersectLists; + inherit (lib) + attrValues + concatMap + converge + filterAttrs + getAttrs + intersectLists + ; -in rec { - bundlerFiles = { - gemfile ? null - , lockfile ? null - , gemset ? null - , gemdir ? null - , ... - }: { - inherit gemdir; +in +rec { + bundlerFiles = + { + gemfile ? null, + lockfile ? null, + gemset ? null, + gemdir ? null, + ... + }: + { + inherit gemdir; - gemfile = - if gemfile == null then assert gemdir != null; gemdir + "/Gemfile" - else gemfile; + gemfile = + if gemfile == null then + assert gemdir != null; + gemdir + "/Gemfile" + else + gemfile; - lockfile = - if lockfile == null then assert gemdir != null; gemdir + "/Gemfile.lock" - else lockfile; + lockfile = + if lockfile == null then + assert gemdir != null; + gemdir + "/Gemfile.lock" + else + lockfile; - gemset = - if gemset == null then assert gemdir != null; gemdir + "/gemset.nix" - else gemset; - }; + gemset = + if gemset == null then + assert gemdir != null; + gemdir + "/gemset.nix" + else + gemset; + }; - filterGemset = { ruby, groups, ... }: gemset: + filterGemset = + { ruby, groups, ... }: + gemset: let platformGems = filterAttrs (_: platformMatches ruby) gemset; directlyMatchingGems = filterAttrs (_: groupMatches groups) platformGems; - expandDependencies = gems: + expandDependencies = + gems: let - depNames = concatMap (gem: gem.dependencies or []) (attrValues gems); + depNames = concatMap (gem: gem.dependencies or [ ]) (attrValues gems); deps = getAttrs depNames platformGems; in - gems // deps; + gems // deps; in - converge expandDependencies directlyMatchingGems; + converge expandDependencies directlyMatchingGems; - platformMatches = {rubyEngine, version, ...}: attrs: ( - !(attrs ? platforms) || - builtins.length attrs.platforms == 0 || - builtins.any (platform: - platform.engine == rubyEngine && - (!(platform ? version) || platform.version == version.majMin) - ) attrs.platforms - ); + platformMatches = + { rubyEngine, version, ... }: + attrs: + ( + !(attrs ? platforms) + || builtins.length attrs.platforms == 0 + || builtins.any ( + platform: + platform.engine == rubyEngine && (!(platform ? version) || platform.version == version.majMin) + ) attrs.platforms + ); - groupMatches = groups: attrs: - groups == null || !(attrs ? groups) || - (intersectLists (groups ++ [ "default" ]) attrs.groups) != []; + groupMatches = + groups: attrs: + groups == null + || !(attrs ? groups) + || (intersectLists (groups ++ [ "default" ]) attrs.groups) != [ ]; - applyGemConfigs = attrs: - (if gemConfig ? ${attrs.gemName} - then attrs // gemConfig.${attrs.gemName} attrs - else attrs); + applyGemConfigs = + attrs: (if gemConfig ? ${attrs.gemName} then attrs // gemConfig.${attrs.gemName} attrs else attrs); - genStubsScript = { lib, runCommand, ruby, confFiles, bundler, groups, binPaths, ... }: + genStubsScript = + { + lib, + runCommand, + ruby, + confFiles, + bundler, + groups, + binPaths, + ... + }: let - genStubsScript = runCommand "gen-bin-stubs" - { - strictDeps = true; - nativeBuildInputs = [ ruby ]; - } - '' - cp ${./gen-bin-stubs.rb} $out - chmod +x $out - patchShebangs --build $out - ''; + genStubsScript = + runCommand "gen-bin-stubs" + { + strictDeps = true; + nativeBuildInputs = [ ruby ]; + } + '' + cp ${./gen-bin-stubs.rb} $out + chmod +x $out + patchShebangs --build $out + ''; in '' ${genStubsScript} \ @@ -82,27 +117,39 @@ in rec { ${lib.escapeShellArg groups} ''; - pathDerivation = { gemName, version, path, ... }: + pathDerivation = + { + gemName, + version, + path, + ... + }: let res = { - type = "derivation"; - bundledByPath = true; - name = gemName; - version = version; - outPath = "${path}"; - outputs = [ "out" ]; - out = res; - outputName = "out"; - suffix = version; - gemType = "path"; - }; - in res; + type = "derivation"; + bundledByPath = true; + name = gemName; + version = version; + outPath = "${path}"; + outputs = [ "out" ]; + out = res; + outputName = "out"; + suffix = version; + gemType = "path"; + }; + in + res; - composeGemAttrs = ruby: gems: name: attrs: ((removeAttrs attrs ["platforms"]) // { - inherit ruby; - inherit (attrs.source) type; - source = removeAttrs attrs.source ["type"]; - gemName = name; - gemPath = map (gemName: gems.${gemName}) (attrs.dependencies or []); - }); + composeGemAttrs = + ruby: gems: name: attrs: + ( + (removeAttrs attrs [ "platforms" ]) + // { + inherit ruby; + inherit (attrs.source) type; + source = removeAttrs attrs.source [ "type" ]; + gemName = name; + gemPath = map (gemName: gems.${gemName}) (attrs.dependencies or [ ]); + } + ); } diff --git a/pkgs/development/ruby-modules/bundled-common/test.nix b/pkgs/development/ruby-modules/bundled-common/test.nix index ab03f48445b38..61fcb30ef7826 100644 --- a/pkgs/development/ruby-modules/bundled-common/test.nix +++ b/pkgs/development/ruby-modules/bundled-common/test.nix @@ -1,50 +1,140 @@ -{ lib, ruby, defaultGemConfig, test, should }: +{ + lib, + ruby, + defaultGemConfig, + test, + should, +}: let testConfigs = { inherit lib; - gemConfig = defaultGemConfig; + gemConfig = defaultGemConfig; }; functions = (import ./functions.nix testConfigs); in - builtins.concatLists [ - ( test.run "All set, no gemdir" (functions.bundlerFiles { - gemfile = test/Gemfile; +builtins.concatLists [ + (test.run "All set, no gemdir" + (functions.bundlerFiles { + gemfile = test/Gemfile; lockfile = test/Gemfile.lock; - gemset = test/gemset.nix; - }) { - gemfile = should.equal test/Gemfile; - lockfile = should.equal test/Gemfile.lock; - gemset = should.equal test/gemset.nix; + gemset = test/gemset.nix; }) + { + gemfile = should.equal test/Gemfile; + lockfile = should.equal test/Gemfile.lock; + gemset = should.equal test/gemset.nix; + } + ) - ( test.run "Just gemdir" (functions.bundlerFiles { + (test.run "Just gemdir" + (functions.bundlerFiles { gemdir = test/.; - }) { - gemfile = should.equal test/Gemfile; - lockfile = should.equal test/Gemfile.lock; - gemset = should.equal test/gemset.nix; }) + { + gemfile = should.equal test/Gemfile; + lockfile = should.equal test/Gemfile.lock; + gemset = should.equal test/gemset.nix; + } + ) - ( test.run "Gemset and dir" (functions.bundlerFiles { + (test.run "Gemset and dir" + (functions.bundlerFiles { gemdir = test/.; gemset = test/extraGemset.nix; - }) { - gemfile = should.equal test/Gemfile; - lockfile = should.equal test/Gemfile.lock; - gemset = should.equal test/extraGemset.nix; }) + { + gemfile = should.equal test/Gemfile; + lockfile = should.equal test/Gemfile.lock; + gemset = should.equal test/extraGemset.nix; + } + ) - ( test.run "Filter empty gemset" {} (set: functions.filterGemset {inherit ruby; groups = ["default"]; } set == {})) - ( let gemSet = { test = { groups = ["x" "y"]; }; }; - in - test.run "Filter matches a group" gemSet (set: functions.filterGemset {inherit ruby; groups = ["y" "z"];} set == gemSet)) - ( let gemSet = { test = { platforms = []; }; }; - in - test.run "Filter matches empty platforms list" gemSet (set: functions.filterGemset {inherit ruby; groups = [];} set == gemSet)) - ( let gemSet = { test = { platforms = [{engine = ruby.rubyEngine; version = ruby.version.majMin;}]; }; }; - in - test.run "Filter matches on platform" gemSet (set: functions.filterGemset {inherit ruby; groups = [];} set == gemSet)) - ( let gemSet = { test = { groups = ["x" "y"]; }; }; - in - test.run "Filter excludes based on groups" gemSet (set: functions.filterGemset {inherit ruby; groups = ["a" "b"];} set == {})) - ] + (test.run "Filter empty gemset" { } ( + set: + functions.filterGemset { + inherit ruby; + groups = [ "default" ]; + } set == { } + )) + ( + let + gemSet = { + test = { + groups = [ + "x" + "y" + ]; + }; + }; + in + test.run "Filter matches a group" gemSet ( + set: + functions.filterGemset { + inherit ruby; + groups = [ + "y" + "z" + ]; + } set == gemSet + ) + ) + ( + let + gemSet = { + test = { + platforms = [ ]; + }; + }; + in + test.run "Filter matches empty platforms list" gemSet ( + set: + functions.filterGemset { + inherit ruby; + groups = [ ]; + } set == gemSet + ) + ) + ( + let + gemSet = { + test = { + platforms = [ + { + engine = ruby.rubyEngine; + version = ruby.version.majMin; + } + ]; + }; + }; + in + test.run "Filter matches on platform" gemSet ( + set: + functions.filterGemset { + inherit ruby; + groups = [ ]; + } set == gemSet + ) + ) + ( + let + gemSet = { + test = { + groups = [ + "x" + "y" + ]; + }; + }; + in + test.run "Filter excludes based on groups" gemSet ( + set: + functions.filterGemset { + inherit ruby; + groups = [ + "a" + "b" + ]; + } set == { } + ) + ) +] diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix index 01e90ba53f1ff..b6c4dd2f8452f 100644 --- a/pkgs/development/ruby-modules/bundler-app/default.nix +++ b/pkgs/development/ruby-modules/bundler-app/default.nix @@ -1,4 +1,10 @@ -{ lib, callPackage, runCommand, makeWrapper, ruby }@defs: +{ + lib, + callPackage, + runCommand, + makeWrapper, + ruby, +}@defs: # Use for simple installation of Ruby tools shipped in a Gem. # Start with a Gemfile that includes `gem ` @@ -11,67 +17,88 @@ # The 'exes' parameter ensures that a copy of e.g. rake doesn't polute the system. { # use the name of the name in question; its version will be picked up from the gemset - pname + pname, # Gemdir is the location of the Gemfile{,.lock} and gemset.nix; usually ./. # This is required unless gemfile, lockfile, and gemset are all provided -, gemdir ? null + gemdir ? null, # Exes is the list of executables provided by the gems in the Gemfile -, exes ? [] + exes ? [ ], # Scripts are ruby programs depend on gems in the Gemfile (e.g. scripts/rails) -, scripts ? [] -, ruby ? defs.ruby -, gemfile ? null -, lockfile ? null -, gemset ? null -, preferLocalBuild ? false -, allowSubstitutes ? false -, installManpages ? true -, meta ? {} -, nativeBuildInputs ? [] -, buildInputs ? [] -, postBuild ? "" -, gemConfig ? null -, passthru ? {} + scripts ? [ ], + ruby ? defs.ruby, + gemfile ? null, + lockfile ? null, + gemset ? null, + preferLocalBuild ? false, + allowSubstitutes ? false, + installManpages ? true, + meta ? { }, + nativeBuildInputs ? [ ], + buildInputs ? [ ], + postBuild ? "", + gemConfig ? null, + passthru ? { }, }@args: let - basicEnv = (callPackage ../bundled-common { - inherit ruby; - }) args; + basicEnv = + (callPackage ../bundled-common { + inherit ruby; + }) + args; - cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" "gemset" "gemdir" ] // { - inherit preferLocalBuild allowSubstitutes; # pass the defaults + cmdArgs = + removeAttrs args [ + "pname" + "postBuild" + "gemConfig" + "passthru" + "gemset" + "gemdir" + ] + // { + inherit preferLocalBuild allowSubstitutes; # pass the defaults - nativeBuildInputs = nativeBuildInputs ++ lib.optionals (scripts != []) [ makeWrapper ]; + nativeBuildInputs = nativeBuildInputs ++ lib.optionals (scripts != [ ]) [ makeWrapper ]; - meta = { - mainProgram = pname; - inherit (ruby.meta) platforms; - } // meta; - passthru = basicEnv.passthru // { - inherit basicEnv; - inherit (basicEnv) env; - } // passthru; - }; + meta = { + mainProgram = pname; + inherit (ruby.meta) platforms; + } // meta; + passthru = + basicEnv.passthru + // { + inherit basicEnv; + inherit (basicEnv) env; + } + // passthru; + }; in - runCommand basicEnv.name cmdArgs '' - mkdir -p $out/bin - ${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)} - ${(lib.concatMapStrings (s: "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " + - "--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+ - "--unset BUNDLE_PATH "+ - "--set BUNDLE_FROZEN 1 "+ - "--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+ - "--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+ - "--chdir \"$srcdir\";\n") scripts)} +runCommand basicEnv.name cmdArgs '' + mkdir -p $out/bin + ${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)} + ${ + (lib.concatMapStrings ( + s: + "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " + + "--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile " + + "--unset BUNDLE_PATH " + + "--set BUNDLE_FROZEN 1 " + + "--set GEM_HOME ${basicEnv}/${ruby.gemPath} " + + "--set GEM_PATH ${basicEnv}/${ruby.gemPath} " + + "--chdir \"$srcdir\";\n" + ) scripts) + } - ${lib.optionalString installManpages '' + ${lib.optionalString installManpages '' for section in {1..9}; do mandir="$out/share/man/man$section" # See: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/ruby-modules/gem/default.nix#L184-L200 # See: https://github.com/rubygems/rubygems/blob/7a7b234721c375874b7e22b1c5b14925b943f04e/bundler/lib/bundler.rb#L285-L291 - find -L ${basicEnv}/${ruby.gemPath}/${lib.optionalString (basicEnv.gemType == "git" || basicEnv.gemType == "url") "bundler/"}gems/${basicEnv.name} \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) -print -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \; + find -L ${basicEnv}/${ruby.gemPath}/${ + lib.optionalString (basicEnv.gemType == "git" || basicEnv.gemType == "url") "bundler/" + }gems/${basicEnv.name} \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) -print -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \; done - ''} - '' + ''} +'' diff --git a/pkgs/development/ruby-modules/bundler-env/default.nix b/pkgs/development/ruby-modules/bundler-env/default.nix index 35fecb70c0052..df43ce4c6a36f 100644 --- a/pkgs/development/ruby-modules/bundler-env/default.nix +++ b/pkgs/development/ruby-modules/bundler-env/default.nix @@ -1,30 +1,53 @@ -{ ruby, lib, callPackage, defaultGemConfig, buildEnv, runCommand -, buildPackages -, bundler +{ + ruby, + lib, + callPackage, + defaultGemConfig, + buildEnv, + runCommand, + buildPackages, + bundler, }@defs: -{ name ? null -, pname ? null -, gemdir ? null -, gemfile ? null -, lockfile ? null -, gemset ? null -, groups ? ["default"] -, ruby ? defs.ruby -, copyGemFiles ? false # Copy gem files instead of symlinking -, gemConfig ? defaultGemConfig -, postBuild ? null -, document ? [] -, meta ? {} -, ignoreCollisions ? false -, passthru ? {} -, ... +{ + name ? null, + pname ? null, + gemdir ? null, + gemfile ? null, + lockfile ? null, + gemset ? null, + groups ? [ "default" ], + ruby ? defs.ruby, + copyGemFiles ? false, # Copy gem files instead of symlinking + gemConfig ? defaultGemConfig, + postBuild ? null, + document ? [ ], + meta ? { }, + ignoreCollisions ? false, + passthru ? { }, + ... }@args: let - inherit (import ../bundled-common/functions.nix { inherit lib ruby gemConfig groups; }) genStubsScript; + inherit + (import ../bundled-common/functions.nix { + inherit + lib + ruby + gemConfig + groups + ; + }) + genStubsScript + ; - basicEnv = (callPackage ../bundled-common { inherit bundler; }) (args // { inherit pname name; mainGemName = pname; }); + basicEnv = (callPackage ../bundled-common { inherit bundler; }) ( + args + // { + inherit pname name; + mainGemName = pname; + } + ); inherit (basicEnv) envPaths; # Idea here is a mkDerivation that gen-bin-stubs new stubs "as specified" - @@ -37,40 +60,53 @@ let # Different use cases should use different variations on this file, rather # than the expression trying to deduce a use case. - # The basicEnv should be put into passthru so that e.g. nix-shell can use it. in - if pname == null then - basicEnv // { inherit name basicEnv; } - else - let - bundlerEnvArgs = { - inherit ignoreCollisions; +# The basicEnv should be put into passthru so that e.g. nix-shell can use it. +if pname == null then + basicEnv // { inherit name basicEnv; } +else + let + bundlerEnvArgs = { + inherit ignoreCollisions; - name = basicEnv.name; + name = basicEnv.name; - paths = envPaths; - pathsToLink = [ "/lib" ]; + paths = envPaths; + pathsToLink = [ "/lib" ]; - postBuild = genStubsScript { - inherit lib runCommand ruby bundler groups; + postBuild = + genStubsScript { + inherit + lib + runCommand + ruby + bundler + groups + ; confFiles = basicEnv.confFiles; binPaths = [ basicEnv.gems.${pname} ]; - } + lib.optionalString (postBuild != null) postBuild; + } + + lib.optionalString (postBuild != null) postBuild; - meta = { platforms = ruby.meta.platforms; } // meta; - passthru = basicEnv.passthru // { + meta = { + platforms = ruby.meta.platforms; + } // meta; + passthru = + basicEnv.passthru + // { inherit basicEnv; inherit (basicEnv) env; - } // passthru; - }; - in - if copyGemFiles then - runCommand basicEnv.name bundlerEnvArgs '' - mkdir -p $out - for i in $paths; do - ${buildPackages.rsync}/bin/rsync -a $i/lib $out/ - done - eval "$postBuild" - '' - else - buildEnv bundlerEnvArgs + } + // passthru; + }; + in + if copyGemFiles then + runCommand basicEnv.name bundlerEnvArgs '' + mkdir -p $out + for i in $paths; do + ${buildPackages.rsync}/bin/rsync -a $i/lib $out/ + done + eval "$postBuild" + '' + else + buildEnv bundlerEnvArgs diff --git a/pkgs/development/ruby-modules/bundler-env/test.nix b/pkgs/development/ruby-modules/bundler-env/test.nix index 8fdbafbba4251..da6ac29067151 100644 --- a/pkgs/development/ruby-modules/bundler-env/test.nix +++ b/pkgs/development/ruby-modules/bundler-env/test.nix @@ -1,4 +1,9 @@ -{ callPackage, test, stubs, should}: +{ + callPackage, + test, + stubs, + should, +}: let bundlerEnv = callPackage ./default.nix stubs // { basicEnv = callPackage ../bundled-common stubs; @@ -17,17 +22,20 @@ let lockfile = ./test/Gemfile.lock; }; in - builtins.concatLists [ - (test.run "bundlerEnv { name }" justName { - name = should.equal "test-0.1.2"; - }) - (test.run "bundlerEnv { pname }" pnamed - [ - (should.haveKeys [ "name" "env" "postBuild" ]) - { - name = should.equal "test-0.1.2"; - env = should.beASet; - postBuild = should.havePrefix "/nix/store"; - } +builtins.concatLists [ + (test.run "bundlerEnv { name }" justName { + name = should.equal "test-0.1.2"; + }) + (test.run "bundlerEnv { pname }" pnamed [ + (should.haveKeys [ + "name" + "env" + "postBuild" ]) - ] + { + name = should.equal "test-0.1.2"; + env = should.beASet; + postBuild = should.havePrefix "/nix/store"; + } + ]) +] diff --git a/pkgs/development/ruby-modules/bundler-env/test/gemset.nix b/pkgs/development/ruby-modules/bundler-env/test/gemset.nix index 53f15f96bc6db..aa4fa980c5806 100644 --- a/pkgs/development/ruby-modules/bundler-env/test/gemset.nix +++ b/pkgs/development/ruby-modules/bundler-env/test/gemset.nix @@ -1,7 +1,7 @@ { test = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j5r0anj8m4qlf2psnldip4b8ha2bsscv11lpdgnfh4nnchzjnxw"; type = "gem"; }; diff --git a/pkgs/development/ruby-modules/bundler-update-script/default.nix b/pkgs/development/ruby-modules/bundler-update-script/default.nix index d0da591b4f516..037aeef4a0e73 100644 --- a/pkgs/development/ruby-modules/bundler-update-script/default.nix +++ b/pkgs/development/ruby-modules/bundler-update-script/default.nix @@ -1,11 +1,28 @@ -{ runtimeShell, lib, writeScript, bundix, bundler, coreutils, git, nix }: +{ + runtimeShell, + lib, + writeScript, + bundix, + bundler, + coreutils, + git, + nix, +}: attrPath: let updateScript = writeScript "bundler-update-script" '' #!${runtimeShell} - PATH=${lib.makeBinPath [ bundler bundix coreutils git nix ]} + PATH=${ + lib.makeBinPath [ + bundler + bundix + coreutils + git + nix + ] + } set -o errexit set -o nounset set -o pipefail @@ -23,4 +40,8 @@ let bundler lock --update bundix ''; -in [ updateScript attrPath ] +in +[ + updateScript + attrPath +] diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 5ed890f8ec489..5d7379cf56c75 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -18,259 +18,290 @@ # Normal gem packages can be used outside of bundler; a binstub is created in # $out/bin. -{ lib, fetchurl, fetchgit, makeWrapper, gitMinimal, libobjc -, ruby, bundler -} @ defs: +{ + lib, + fetchurl, + fetchgit, + makeWrapper, + gitMinimal, + libobjc, + ruby, + bundler, +}@defs: lib.makeOverridable ( -{ name ? null -, gemName -, version ? null -, type ? "gem" -, document ? [] # e.g. [ "ri" "rdoc" ] -, platform ? "ruby" -, ruby ? defs.ruby -, stdenv ? ruby.stdenv -, namePrefix ? (let - rubyName = builtins.parseDrvName ruby.name; - in "${rubyName.name}${lib.versions.majorMinor rubyName.version}-") -, nativeBuildInputs ? [] -, buildInputs ? [] -, meta ? {} -, patches ? [] -, gemPath ? [] -, dontStrip ? false -# Assume we don't have to build unless strictly necessary (e.g. the source is a -# git checkout). -# If you need to apply patches, make sure to set `dontBuild = false`; -, dontBuild ? true -, dontInstallManpages ? false -, propagatedBuildInputs ? [] -, propagatedUserEnvPkgs ? [] -, buildFlags ? [] -, passthru ? {} -# bundler expects gems to be stored in the cache directory for certain actions -# such as `bundler install --redownload`. -# At the cost of increasing the store size, you can keep the gems to have closer -# alignment with what Bundler expects. -, keepGemCache ? false -, ...} @ attrs: - -let - src = attrs.src or ( - if type == "gem" then - fetchurl { - urls = map ( - remote: "${remote}/gems/${gemName}-${suffix}.gem" - ) (attrs.source.remotes or [ "https://rubygems.org" ]); - inherit (attrs.source) sha256; - } - else if type == "git" then - fetchgit { - inherit (attrs.source) url rev sha256 fetchSubmodules; - } - else if type == "url" then - fetchurl attrs.source - else - throw "buildRubyGem: don't know how to build a gem of type \"${type}\"" - ); - - # See: https://github.com/rubygems/rubygems/blob/7a7b234721c375874b7e22b1c5b14925b943f04e/bundler/lib/bundler/source/git.rb#L103 - suffix = - if type == "git" then - builtins.substring 0 12 attrs.source.rev - else if platform != "ruby" then - "${version}-${platform}" - else - version; - - documentFlag = - if document == [] - then "-N" - else "--document ${lib.concatStringsSep "," document}"; - -in - -stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { - inherit ruby; - inherit dontBuild; - inherit dontStrip; - inherit suffix; - gemType = type; - - nativeBuildInputs = [ - ruby makeWrapper - ] ++ lib.optionals (type == "git") [ gitMinimal ] - ++ lib.optionals (type != "gem") [ bundler ] - ++ nativeBuildInputs; - - buildInputs = [ - ruby - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc ] - ++ buildInputs; - - #name = builtins.trace (attrs.name or "no attr.name" ) "${namePrefix}${gemName}-${version}"; - name = attrs.name or "${namePrefix}${gemName}-${suffix}"; - - inherit src; - - - unpackPhase = attrs.unpackPhase or '' - runHook preUnpack - - if [[ -f $src && $src == *.gem ]]; then - if [[ -z "''${dontBuild-}" ]]; then - # we won't know the name of the directory that RubyGems creates, - # so we'll just use a glob to find it and move it over. - gempkg="$src" - sourceRoot=source - gem unpack $gempkg --target=container - cp -r container/* $sourceRoot - rm -r container - - # copy out the original gemspec, for convenience during patching / - # overrides. - gem specification $gempkg --ruby > original.gemspec - gemspec=$(readlink -f .)/original.gemspec + { + name ? null, + gemName, + version ? null, + type ? "gem", + document ? [ ], # e.g. [ "ri" "rdoc" ] + platform ? "ruby", + ruby ? defs.ruby, + stdenv ? ruby.stdenv, + namePrefix ? ( + let + rubyName = builtins.parseDrvName ruby.name; + in + "${rubyName.name}${lib.versions.majorMinor rubyName.version}-" + ), + nativeBuildInputs ? [ ], + buildInputs ? [ ], + meta ? { }, + patches ? [ ], + gemPath ? [ ], + dontStrip ? false, + # Assume we don't have to build unless strictly necessary (e.g. the source is a + # git checkout). + # If you need to apply patches, make sure to set `dontBuild = false`; + dontBuild ? true, + dontInstallManpages ? false, + propagatedBuildInputs ? [ ], + propagatedUserEnvPkgs ? [ ], + buildFlags ? [ ], + passthru ? { }, + # bundler expects gems to be stored in the cache directory for certain actions + # such as `bundler install --redownload`. + # At the cost of increasing the store size, you can keep the gems to have closer + # alignment with what Bundler expects. + keepGemCache ? false, + ... + }@attrs: + + let + src = + attrs.src or ( + if type == "gem" then + fetchurl { + urls = map (remote: "${remote}/gems/${gemName}-${suffix}.gem") ( + attrs.source.remotes or [ "https://rubygems.org" ] + ); + inherit (attrs.source) sha256; + } + else if type == "git" then + fetchgit { + inherit (attrs.source) + url + rev + sha256 + fetchSubmodules + ; + } + else if type == "url" then + fetchurl attrs.source + else + throw "buildRubyGem: don't know how to build a gem of type \"${type}\"" + ); + + # See: https://github.com/rubygems/rubygems/blob/7a7b234721c375874b7e22b1c5b14925b943f04e/bundler/lib/bundler/source/git.rb#L103 + suffix = + if type == "git" then + builtins.substring 0 12 attrs.source.rev + else if platform != "ruby" then + "${version}-${platform}" else - gempkg="$src" - fi - else - # Fall back to the original thing for everything else. - dontBuild="" - preUnpack="" postUnpack="" unpackPhase - fi - - runHook postUnpack - ''; - - # As of ruby 3.0, ruby headers require -fdeclspec when building with clang - # Introduced in https://github.com/ruby/ruby/commit/0958e19ffb047781fe1506760c7cbd8d7fe74e57 - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (ruby.rubyEngine == "ruby" && stdenv.cc.isClang && lib.versionAtLeast ruby.version.major "3") [ - "-fdeclspec" - ]); - - buildPhase = attrs.buildPhase or '' - runHook preBuild - - if [[ "$gemType" == "gem" ]]; then - if [[ -z "$gemspec" ]]; then - gemspec="$(find . -name '*.gemspec')" - echo "found the following gemspecs:" - echo "$gemspec" - gemspec="$(echo "$gemspec" | head -n1)" - fi - - exec 3>&1 - output="$(gem build $gemspec | tee >(cat - >&3))" - exec 3>&- - - gempkg=$(echo "$output" | grep -oP 'File: \K(.*)') - - echo "gem package built: $gempkg" - elif [[ "$gemType" == "git" ]]; then - git init - # remove variations to improve the likelihood of a bit-reproducible output - rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD .git/refs/remotes/origin/HEAD .git/config - # support `git ls-files` - git add . - fi - - runHook postBuild - ''; - - # Note: - # We really do need to keep the $out/${ruby.gemPath}/cache. - # This is very important in order for many parts of RubyGems/Bundler to not blow up. - # See https://github.com/bundler/bundler/issues/3327 - installPhase = attrs.installPhase or '' - runHook preInstall - - export GEM_HOME=$out/${ruby.gemPath} - mkdir -p $GEM_HOME - - echo "buildFlags: $buildFlags" - - ${lib.optionalString (type == "url") '' - ruby ${./nix-bundle-install.rb} \ - "path" \ - '${gemName}' \ - '${version}' \ - '${lib.escapeShellArgs buildFlags}' - ''} - ${lib.optionalString (type == "git") '' - ruby ${./nix-bundle-install.rb} \ - "git" \ - '${gemName}' \ - '${version}' \ - '${lib.escapeShellArgs buildFlags}' \ - '${attrs.source.url}' \ - '.' \ - '${attrs.source.rev}' - ''} - - ${lib.optionalString (type == "gem") '' - if [[ -z "$gempkg" ]]; then - echo "failure: \$gempkg path unspecified" 1>&2 - exit 1 - elif [[ ! -f "$gempkg" ]]; then - echo "failure: \$gempkg path invalid" 1>&2 - exit 1 - fi - - gem install \ - --local \ - --force \ - --http-proxy 'http://nodtd.invalid' \ - --ignore-dependencies \ - --install-dir "$GEM_HOME" \ - --build-root '/' \ - --backtrace \ - --no-env-shebang \ - ${documentFlag} \ - $gempkg $gemFlags -- $buildFlags - - # looks like useless files which break build repeatability and consume space - pushd $out/${ruby.gemPath} - find doc/ -iname created.rid -delete -print - find gems/*/ext/ extensions/ \( -iname Makefile -o -iname mkmf.log -o -iname gem_make.out \) -delete -print - ${lib.optionalString (!keepGemCache) "rm -fvr cache"} - popd - - # write out metadata and binstubs - spec=$(echo $out/${ruby.gemPath}/specifications/*.gemspec) - ruby ${./gem-post-build.rb} "$spec" - ''} - - ${lib.optionalString (!dontInstallManpages) '' - for section in {1..9}; do - mandir="$out/share/man/man$section" - find $out/lib \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) \ - -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \; - done - ''} - - # For Ruby-generated binstubs, shebang paths are already in Nix store but for - # ruby used to build the package. Update them to match the host system. Note - # that patchShebangsAuto ignores scripts where shebang line is already in Nix - # store. - if [[ -d $GEM_HOME/bin ]]; then - patchShebangs --update --host -- "$GEM_HOME"/bin - fi - - runHook postInstall - ''; - - propagatedBuildInputs = gemPath ++ propagatedBuildInputs; - propagatedUserEnvPkgs = gemPath ++ propagatedUserEnvPkgs; - - passthru = passthru // { isRubyGem = true; }; - meta = { - # default to Ruby's platforms - platforms = ruby.meta.platforms; - mainProgram = gemName; - } // meta; -}) + version; + + documentFlag = if document == [ ] then "-N" else "--document ${lib.concatStringsSep "," document}"; + + in + + stdenv.mkDerivation ( + (builtins.removeAttrs attrs [ "source" ]) + // { + inherit ruby; + inherit dontBuild; + inherit dontStrip; + inherit suffix; + gemType = type; + + nativeBuildInputs = + [ + ruby + makeWrapper + ] + ++ lib.optionals (type == "git") [ gitMinimal ] + ++ lib.optionals (type != "gem") [ bundler ] + ++ nativeBuildInputs; + + buildInputs = + [ + ruby + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc ] + ++ buildInputs; + + #name = builtins.trace (attrs.name or "no attr.name" ) "${namePrefix}${gemName}-${version}"; + name = attrs.name or "${namePrefix}${gemName}-${suffix}"; + + inherit src; + + unpackPhase = + attrs.unpackPhase or '' + runHook preUnpack + + if [[ -f $src && $src == *.gem ]]; then + if [[ -z "''${dontBuild-}" ]]; then + # we won't know the name of the directory that RubyGems creates, + # so we'll just use a glob to find it and move it over. + gempkg="$src" + sourceRoot=source + gem unpack $gempkg --target=container + cp -r container/* $sourceRoot + rm -r container + + # copy out the original gemspec, for convenience during patching / + # overrides. + gem specification $gempkg --ruby > original.gemspec + gemspec=$(readlink -f .)/original.gemspec + else + gempkg="$src" + fi + else + # Fall back to the original thing for everything else. + dontBuild="" + preUnpack="" postUnpack="" unpackPhase + fi + + runHook postUnpack + ''; + + # As of ruby 3.0, ruby headers require -fdeclspec when building with clang + # Introduced in https://github.com/ruby/ruby/commit/0958e19ffb047781fe1506760c7cbd8d7fe74e57 + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals + (ruby.rubyEngine == "ruby" && stdenv.cc.isClang && lib.versionAtLeast ruby.version.major "3") + [ + "-fdeclspec" + ] + ); + + buildPhase = + attrs.buildPhase or '' + runHook preBuild + + if [[ "$gemType" == "gem" ]]; then + if [[ -z "$gemspec" ]]; then + gemspec="$(find . -name '*.gemspec')" + echo "found the following gemspecs:" + echo "$gemspec" + gemspec="$(echo "$gemspec" | head -n1)" + fi + + exec 3>&1 + output="$(gem build $gemspec | tee >(cat - >&3))" + exec 3>&- + + gempkg=$(echo "$output" | grep -oP 'File: \K(.*)') + + echo "gem package built: $gempkg" + elif [[ "$gemType" == "git" ]]; then + git init + # remove variations to improve the likelihood of a bit-reproducible output + rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD .git/refs/remotes/origin/HEAD .git/config + # support `git ls-files` + git add . + fi + + runHook postBuild + ''; + + # Note: + # We really do need to keep the $out/${ruby.gemPath}/cache. + # This is very important in order for many parts of RubyGems/Bundler to not blow up. + # See https://github.com/bundler/bundler/issues/3327 + installPhase = + attrs.installPhase or '' + runHook preInstall + + export GEM_HOME=$out/${ruby.gemPath} + mkdir -p $GEM_HOME + + echo "buildFlags: $buildFlags" + + ${lib.optionalString (type == "url") '' + ruby ${./nix-bundle-install.rb} \ + "path" \ + '${gemName}' \ + '${version}' \ + '${lib.escapeShellArgs buildFlags}' + ''} + ${lib.optionalString (type == "git") '' + ruby ${./nix-bundle-install.rb} \ + "git" \ + '${gemName}' \ + '${version}' \ + '${lib.escapeShellArgs buildFlags}' \ + '${attrs.source.url}' \ + '.' \ + '${attrs.source.rev}' + ''} + + ${lib.optionalString (type == "gem") '' + if [[ -z "$gempkg" ]]; then + echo "failure: \$gempkg path unspecified" 1>&2 + exit 1 + elif [[ ! -f "$gempkg" ]]; then + echo "failure: \$gempkg path invalid" 1>&2 + exit 1 + fi + + gem install \ + --local \ + --force \ + --http-proxy 'http://nodtd.invalid' \ + --ignore-dependencies \ + --install-dir "$GEM_HOME" \ + --build-root '/' \ + --backtrace \ + --no-env-shebang \ + ${documentFlag} \ + $gempkg $gemFlags -- $buildFlags + + # looks like useless files which break build repeatability and consume space + pushd $out/${ruby.gemPath} + find doc/ -iname created.rid -delete -print + find gems/*/ext/ extensions/ \( -iname Makefile -o -iname mkmf.log -o -iname gem_make.out \) -delete -print + ${lib.optionalString (!keepGemCache) "rm -fvr cache"} + popd + + # write out metadata and binstubs + spec=$(echo $out/${ruby.gemPath}/specifications/*.gemspec) + ruby ${./gem-post-build.rb} "$spec" + ''} + + ${lib.optionalString (!dontInstallManpages) '' + for section in {1..9}; do + mandir="$out/share/man/man$section" + find $out/lib \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) \ + -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \; + done + ''} + + # For Ruby-generated binstubs, shebang paths are already in Nix store but for + # ruby used to build the package. Update them to match the host system. Note + # that patchShebangsAuto ignores scripts where shebang line is already in Nix + # store. + if [[ -d $GEM_HOME/bin ]]; then + patchShebangs --update --host -- "$GEM_HOME"/bin + fi + + runHook postInstall + ''; + + propagatedBuildInputs = gemPath ++ propagatedBuildInputs; + propagatedUserEnvPkgs = gemPath ++ propagatedUserEnvPkgs; + + passthru = passthru // { + isRubyGem = true; + }; + meta = { + # default to Ruby's platforms + platforms = ruby.meta.platforms; + mainProgram = gemName; + } // meta; + } + ) ) diff --git a/pkgs/development/ruby-modules/testing/assertions.nix b/pkgs/development/ruby-modules/testing/assertions.nix index f28cfcd508d47..c8e7f9a05e94e 100644 --- a/pkgs/development/ruby-modules/testing/assertions.nix +++ b/pkgs/development/ruby-modules/testing/assertions.nix @@ -1,28 +1,34 @@ -{ test, lib, ...}: +{ test, lib, ... }: { - equal = expected: actual: + equal = + expected: actual: if actual == expected then - (test.passed "= ${toString expected}") else + (test.passed "= ${toString expected}") + else (test.failed ( - "expected '${toString expected}'(${builtins.typeOf expected})" - + " != "+ - "actual '${toString actual}'(${builtins.typeOf actual})" + "expected '${toString expected}'(${builtins.typeOf expected})" + + " != " + + "actual '${toString actual}'(${builtins.typeOf actual})" )); - beASet = actual: + beASet = + actual: if builtins.isAttrs actual then - (test.passed "is a set") else + (test.passed "is a set") + else (test.failed "is not a set, was ${builtins.typeOf actual}: ${toString actual}"); - haveKeys = expected: actual: - if builtins.all - (ex: builtins.any (ac: ex == ac) (builtins.attrNames actual)) - expected then - (test.passed "has expected keys") else + haveKeys = + expected: actual: + if builtins.all (ex: builtins.any (ac: ex == ac) (builtins.attrNames actual)) expected then + (test.passed "has expected keys") + else (test.failed "keys differ: expected: [${lib.concatStringsSep ";" expected}] actual: [${lib.concatStringsSep ";" (builtins.attrNames actual)}]"); - havePrefix = expected: actual: + havePrefix = + expected: actual: if lib.hasPrefix expected actual then - (test.passed "has prefix '${expected}'") else + (test.passed "has prefix '${expected}'") + else (test.failed "prefix '${expected}' not found in '${actual}'"); } diff --git a/pkgs/development/ruby-modules/testing/driver.nix b/pkgs/development/ruby-modules/testing/driver.nix index 23a9a1cec543d..6ca12ee4b64ff 100644 --- a/pkgs/development/ruby-modules/testing/driver.nix +++ b/pkgs/development/ruby-modules/testing/driver.nix @@ -1,11 +1,17 @@ /* -Run with: -nix-build -E 'with import { }; callPackage ./test.nix {}' --show-trace; and cat result + Run with: + nix-build -E 'with import { }; callPackage ./test.nix {}' --show-trace; and cat result -Confusingly, the ideal result ends with something like: -error: build of ‘/nix/store/3245f3dcl2wxjs4rci7n069zjlz8qg85-test-results.tap.drv’ failed + Confusingly, the ideal result ends with something like: + error: build of ‘/nix/store/3245f3dcl2wxjs4rci7n069zjlz8qg85-test-results.tap.drv’ failed */ -{ writeText, lib, callPackage, testFiles, ruby }@defs: +{ + writeText, + lib, + callPackage, + testFiles, + ruby, +}@defs: let testTools = rec { test = import ./testing.nix; @@ -17,4 +23,4 @@ let results = builtins.concatLists (map (file: callPackage file testTools) testFiles); in - writeText "test-results.tap" (tap.output results) +writeText "test-results.tap" (tap.output results) diff --git a/pkgs/development/ruby-modules/testing/stubs.nix b/pkgs/development/ruby-modules/testing/stubs.nix index aaab2f6896023..b0258988888fb 100644 --- a/pkgs/development/ruby-modules/testing/stubs.nix +++ b/pkgs/development/ruby-modules/testing/stubs.nix @@ -1,15 +1,41 @@ -{ stdenv, lib, ruby, callPackage, ... }: +{ + stdenv, + lib, + ruby, + callPackage, + ... +}: let - mkDerivation = {name, ...}@argSet: - derivation { - inherit name; - text = (builtins.toJSON (lib.filterAttrs ( n: v: builtins.any (x: x == n) ["name" "system"]) argSet)); - builder = stdenv.shell; - args = [ "-c" "echo $(<$textPath) > $out"]; - system = stdenv.hostPlatform.system; - passAsFile = ["text"]; - }; - fetchurl = {url?"", urls ? [],...}: "fetchurl:${if urls == [] then url else builtins.head urls}"; + mkDerivation = + { name, ... }@argSet: + derivation { + inherit name; + text = ( + builtins.toJSON ( + lib.filterAttrs ( + n: v: + builtins.any (x: x == n) [ + "name" + "system" + ] + ) argSet + ) + ); + builder = stdenv.shell; + args = [ + "-c" + "echo $(<$textPath) > $out" + ]; + system = stdenv.hostPlatform.system; + passAsFile = [ "text" ]; + }; + fetchurl = + { + url ? "", + urls ? [ ], + ... + }: + "fetchurl:${if urls == [ ] then url else builtins.head urls}"; stdenv' = stdenv // { inherit mkDerivation; @@ -20,11 +46,11 @@ let stubbed = true; }; in - { +{ + ruby = ruby'; + buildRubyGem = callPackage ../gem { + inherit fetchurl; ruby = ruby'; - buildRubyGem = callPackage ../gem { - inherit fetchurl; - ruby = ruby'; - }; - stdenv = stdenv'; - } + }; + stdenv = stdenv'; +} diff --git a/pkgs/development/ruby-modules/testing/tap-support.nix b/pkgs/development/ruby-modules/testing/tap-support.nix index 74fcceebaa042..000b8a4a53cbf 100644 --- a/pkgs/development/ruby-modules/testing/tap-support.nix +++ b/pkgs/development/ruby-modules/testing/tap-support.nix @@ -1,21 +1,29 @@ with builtins; let - withIndexes = list: genList (idx: (elemAt list idx) // {index = idx;}) (length list); + withIndexes = list: genList (idx: (elemAt list idx) // { index = idx; }) (length list); - testLine = report: "${okStr report} ${toString (report.index + 1)} ${report.description}" + testDirective report + testYaml report; + testLine = + report: + "${okStr report} ${toString (report.index + 1)} ${report.description}" + + testDirective report + + testYaml report; # These are part of the TAP spec, not yet implemented. #c.f. https://github.com/NixOS/nixpkgs/issues/27071 testDirective = report: ""; testYaml = report: ""; - okStr = { result, ...}: if result == "pass" then "ok" else "not ok"; + okStr = { result, ... }: if result == "pass" then "ok" else "not ok"; in - { - output = reports: '' +{ + output = + reports: + '' TAP version 13 - 1..${toString (length reports)}'' + (foldl' (l: r: l + "\n" + r) "" (map testLine (withIndexes reports))) + '' + 1..${toString (length reports)}'' + + (foldl' (l: r: l + "\n" + r) "" (map testLine (withIndexes reports))) + + '' # Finished at ${toString currentTime} - ''; - } + ''; +} diff --git a/pkgs/development/ruby-modules/testing/testing.nix b/pkgs/development/ruby-modules/testing/testing.nix index 43d10fca04449..ef19506e7c3c3 100644 --- a/pkgs/development/ruby-modules/testing/testing.nix +++ b/pkgs/development/ruby-modules/testing/testing.nix @@ -1,27 +1,27 @@ with builtins; let /* - underTest = { - x = { - a = 1; - b = "2"; + underTest = { + x = { + a = 1; + b = "2"; + }; }; - }; - tests = [ - (root: false) - { - x = [ - (set: true) - { - a = (a: a > 1); - b = (b: b == "3"); - } - ]; - } - ]; + tests = [ + (root: false) + { + x = [ + (set: true) + { + a = (a: a > 1); + b = (b: b == "3"); + } + ]; + } + ]; - results = run "Examples" underTest tests; + results = run "Examples" underTest tests; */ passed = desc: { @@ -39,24 +39,35 @@ let description = "${name}: ${res.description}"; }; - run = name: under: tests: if isList tests then - (concatLists (map (run name under) tests)) - else if isAttrs tests then - (concatLists (map ( - subName: run (name + "." + subName) (if hasAttr subName under then getAttr subName under else "") (getAttr subName tests) - ) (attrNames tests))) - else if isFunction tests then - let - res = tests under; - in + run = + name: under: tests: + if isList tests then + (concatLists (map (run name under) tests)) + else if isAttrs tests then + (concatLists ( + map ( + subName: + run (name + "." + subName) (if hasAttr subName under then getAttr subName under else "") ( + getAttr subName tests + ) + ) (attrNames tests) + )) + else if isFunction tests then + let + res = tests under; + in if isBool res then [ (prefixName name (if tests under then passed "passed" else failed "failed")) ] else [ (prefixName name res) ] - else [ - failed (name ": not a function, list or set") - ]; + else + [ + failed + (name ": not a function, list or set") + ]; in - { inherit run passed failed; } +{ + inherit run passed failed; +} diff --git a/pkgs/development/ruby-modules/with-packages/default.nix b/pkgs/development/ruby-modules/with-packages/default.nix index 31573bce499fc..96bb7018cc291 100644 --- a/pkgs/development/ruby-modules/with-packages/default.nix +++ b/pkgs/development/ruby-modules/with-packages/default.nix @@ -1,44 +1,64 @@ -{ stdenv, lib, buildEnv, buildRubyGem, ruby, gemConfig, makeBinaryWrapper }: +{ + stdenv, + lib, + buildEnv, + buildRubyGem, + ruby, + gemConfig, + makeBinaryWrapper, +}: /* -Example usage: -nix-shell -E "(import {}).ruby.withPackages (pkgs: with pkgs; [ pry nokogiri ])" + Example usage: + nix-shell -E "(import {}).ruby.withPackages (pkgs: with pkgs; [ pry nokogiri ])" -You can also use this for writing ruby scripts that run anywhere that has nix -using a nix-shell shebang: - #!/usr/bin/env nix-shell - #!nix-shell -i ruby -p "ruby.withPackages (pkgs: with pkgs; [ pry nokogiri ])" + You can also use this for writing ruby scripts that run anywhere that has nix + using a nix-shell shebang: + #!/usr/bin/env nix-shell + #!nix-shell -i ruby -p "ruby.withPackages (pkgs: with pkgs; [ pry nokogiri ])" - -Run the following in the nixpkgs root directory to update the ruby-packages.nix: -./maintainers/scripts/update-ruby-packages + Run the following in the nixpkgs root directory to update the ruby-packages.nix: + ./maintainers/scripts/update-ruby-packages */ let functions = import ../bundled-common/functions.nix { inherit lib gemConfig; }; - buildGems = gemset: + buildGems = + gemset: let realGemset = if builtins.isAttrs gemset then gemset else import gemset; - builtGems = - lib.mapAttrs (name: initialAttrs: - let - attrs = functions.applyGemConfigs ({ inherit ruby; gemName = name; } // initialAttrs); - in - buildRubyGem (functions.composeGemAttrs ruby builtGems name attrs) - ) realGemset; - in builtGems; + builtGems = lib.mapAttrs ( + name: initialAttrs: + let + attrs = functions.applyGemConfigs ( + { + inherit ruby; + gemName = name; + } + // initialAttrs + ); + in + buildRubyGem (functions.composeGemAttrs ruby builtGems name attrs) + ) realGemset; + in + builtGems; gems = buildGems (import ../../../top-level/ruby-packages.nix); - withPackages = selector: + withPackages = + selector: let selected = selector gems; gemEnv = buildEnv { name = "ruby-gems"; paths = selected; - pathsToLink = [ "/lib" "/bin" "/nix-support" ]; + pathsToLink = [ + "/lib" + "/bin" + "/nix-support" + ]; }; wrappedRuby = stdenv.mkDerivation { @@ -52,10 +72,14 @@ let ''; }; - in stdenv.mkDerivation { + in + stdenv.mkDerivation { name = "${ruby.name}-with-packages"; nativeBuildInputs = [ makeBinaryWrapper ]; - buildInputs = [ selected ruby ]; + buildInputs = [ + selected + ruby + ]; dontUnpack = true; @@ -74,4 +98,7 @@ let }; }; -in { inherit withPackages gems buildGems; } +in +{ + inherit withPackages gems buildGems; +} diff --git a/pkgs/development/ruby-modules/with-packages/require_exceptions.nix b/pkgs/development/ruby-modules/with-packages/require_exceptions.nix index e6ae3b5013fe8..f59ad38cf01e5 100644 --- a/pkgs/development/ruby-modules/with-packages/require_exceptions.nix +++ b/pkgs/development/ruby-modules/with-packages/require_exceptions.nix @@ -3,7 +3,8 @@ let require "cocoapods" require "#{Gem::Specification.find_by_name(%(${name})).gem_dir}/lib/cocoapods_plugin" ''; -in { +in +{ actioncable = [ "action_cable" ]; actionmailer = [ "action_mailer" ]; actionpack = [ "action_pack" ]; @@ -15,9 +16,15 @@ in { activesupport = [ "active_support" ]; atk = [ "atk" ]; CFPropertyList = [ "cfpropertylist" ]; - cocoapods-acknowledgements = [ "cocoapods" "cocoapods_acknowledgements" ]; + cocoapods-acknowledgements = [ + "cocoapods" + "cocoapods_acknowledgements" + ]; cocoapods-art = [ "cocoapods_art" ]; - cocoapods-browser = [ "cocoapods" "cocoapods_plugin" ]; + cocoapods-browser = [ + "cocoapods" + "cocoapods_plugin" + ]; cocoapods-bugsnag = cocoapod-plugin "cocoapods-bugsnag"; cocoapods-clean = [ "cocoapods_clean" ]; cocoapods-coverage = [ "cocoapods_coverage" ]; @@ -26,8 +33,11 @@ in { cocoapods-deploy = cocoapod-plugin "cocoapods-deploy"; cocoapods-generate = cocoapod-plugin "cocoapods-generate"; cocoapods-git_url_rewriter = cocoapod-plugin "cocoapods-git_url_rewriter"; - cocoapods-keys = []; # osx only cocoapod-plugin "cocoapods-keys"; - cocoapods-open = [ "cocoapods" "cocoapods_plugin" ]; + cocoapods-keys = [ ]; # osx only cocoapod-plugin "cocoapods-keys"; + cocoapods-open = [ + "cocoapods" + "cocoapods_plugin" + ]; cocoapods-packager = [ "cocoapods_packager" ]; cocoapods-packager-pro = [ ]; # requires osx cocoapods-plugins = [ "cocoapods_plugins" ]; @@ -50,7 +60,7 @@ in { gobject-introspection = [ "gobject-introspection" ]; gtk2 = [ ]; # requires display idn-ruby = [ "idn" ]; - jekyll-sass-converter = []; # tested through jekyll + jekyll-sass-converter = [ ]; # tested through jekyll libxml-ruby = [ "libxml" ]; multipart-post = [ "multipart_post" ]; unicode-display_width = [ "unicode/display_width" ]; @@ -73,7 +83,12 @@ in { ruby-macho = [ "macho" ]; ruby-terminfo = [ "terminfo" ]; rubyzip = [ "zip" ]; - sequel_pg = [ "pg" "sequel" "sequel/adapters/postgresql" "sequel_pg" ]; + sequel_pg = [ + "pg" + "sequel" + "sequel/adapters/postgresql" + "sequel_pg" + ]; simplecov-html = [ ]; # tested through simplecov sinatra = [ "sinatra/base" ]; sprockets-rails = [ "sprockets/rails" ]; diff --git a/pkgs/development/ruby-modules/with-packages/test.nix b/pkgs/development/ruby-modules/with-packages/test.nix index 50947a44a2434..b22e2931cf120 100644 --- a/pkgs/development/ruby-modules/with-packages/test.nix +++ b/pkgs/development/ruby-modules/with-packages/test.nix @@ -1,7 +1,7 @@ # a generic test suite for all gems for all ruby versions. # use via nix-build. let - pkgs = import ../../../.. {}; + pkgs = import ../../../.. { }; lib = pkgs.lib; stdenv = pkgs.stdenv; @@ -9,41 +9,43 @@ let ruby_3_2 ]; - gemTests = - (lib.mapAttrs - (name: gem: [ name ]) - pkgs.ruby.gems) // - (import ./require_exceptions.nix); + gemTests = (lib.mapAttrs (name: gem: [ name ]) pkgs.ruby.gems) // (import ./require_exceptions.nix); - testWrapper = ruby: stdenv.mkDerivation { - name = "test-wrappedRuby-${ruby.name}"; - buildInputs = [ ((ruby.withPackages (ps: [ ])).wrappedRuby) ]; - buildCommand = '' - cat <<'EOF' > test-ruby - #!/usr/bin/env ruby - puts RUBY_VERSION - EOF + testWrapper = + ruby: + stdenv.mkDerivation { + name = "test-wrappedRuby-${ruby.name}"; + buildInputs = [ ((ruby.withPackages (ps: [ ])).wrappedRuby) ]; + buildCommand = '' + cat <<'EOF' > test-ruby + #!/usr/bin/env ruby + puts RUBY_VERSION + EOF - chmod +x test-ruby - patchShebangs test-ruby - [[ $(./test-ruby) = $(${ruby}/bin/ruby test-ruby) ]] - touch $out - ''; - }; + chmod +x test-ruby + patchShebangs test-ruby + [[ $(./test-ruby) = $(${ruby}/bin/ruby test-ruby) ]] + touch $out + ''; + }; - tests = ruby: - lib.mapAttrs (name: gem: + tests = + ruby: + lib.mapAttrs ( + name: gem: let test = - if builtins.isList gemTests.${name} - then pkgs.writeText "${name}.rb" '' - puts "${name} GEM_HOME: #{ENV['GEM_HOME']}" - ${lib.concatStringsSep "\n" (map (n: "require '${n}'") gemTests.${name})} - '' - else pkgs.writeText "${name}.rb" gemTests.${name}; + if builtins.isList gemTests.${name} then + pkgs.writeText "${name}.rb" '' + puts "${name} GEM_HOME: #{ENV['GEM_HOME']}" + ${lib.concatStringsSep "\n" (map (n: "require '${n}'") gemTests.${name})} + '' + else + pkgs.writeText "${name}.rb" gemTests.${name}; deps = ruby.withPackages (g: [ g.${name} ]); - in stdenv.mkDerivation { + in + stdenv.mkDerivation { name = "test-gem-${ruby.name}-${name}"; buildInputs = [ deps ]; buildCommand = '' @@ -53,10 +55,12 @@ let } ) ruby.gems; in - stdenv.mkDerivation { - name = "test-all-ruby-gems"; - buildInputs = builtins.foldl' (sum: ruby: sum ++ [ (testWrapper ruby) ] ++ ( builtins.attrValues (tests ruby) )) [] rubyVersions; - buildCommand = '' - touch $out - ''; - } +stdenv.mkDerivation { + name = "test-all-ruby-gems"; + buildInputs = builtins.foldl' ( + sum: ruby: sum ++ [ (testWrapper ruby) ] ++ (builtins.attrValues (tests ruby)) + ) [ ] rubyVersions; + buildCommand = '' + touch $out + ''; +} diff --git a/pkgs/development/skaware-packages/build-skaware-man-pages.nix b/pkgs/development/skaware-packages/build-skaware-man-pages.nix index 3e317d608c03f..5f5471d8caaa1 100644 --- a/pkgs/development/skaware-packages/build-skaware-man-pages.nix +++ b/pkgs/development/skaware-packages/build-skaware-man-pages.nix @@ -1,22 +1,26 @@ -{ lib, stdenv, fetchFromSourcehut }: +{ + lib, + stdenv, + fetchFromSourcehut, +}: { # : string - pname + pname, # : string -, version + version, # : string -, sha256 + sha256, # : string -, description + description, # : list Maintainer -, maintainers + maintainers, # : license -, license ? lib.licenses.isc + license ? lib.licenses.isc, # : string -, owner ? "~flexibeast" + owner ? "~flexibeast", # : string -, rev ? "v${version}" + rev ? "v${version}", }: let diff --git a/pkgs/development/skaware-packages/build-skaware-package.nix b/pkgs/development/skaware-packages/build-skaware-package.nix index abad544145667..2bb9340e6579d 100644 --- a/pkgs/development/skaware-packages/build-skaware-package.nix +++ b/pkgs/development/skaware-packages/build-skaware-package.nix @@ -1,33 +1,44 @@ -{ lib, stdenv, cleanPackaging, fetchurl }: +{ + lib, + stdenv, + cleanPackaging, + fetchurl, +}: { # : string - pname + pname, # : string -, version + version, # : string -, sha256 ? lib.fakeSha256 + sha256 ? lib.fakeSha256, # : drv | null -, manpages ? null + manpages ? null, # : string -, description + description, # : list Platform -, platforms ? lib.platforms.all + platforms ? lib.platforms.all, # : list string -, outputs ? [ "bin" "lib" "dev" "doc" "out" ] + outputs ? [ + "bin" + "lib" + "dev" + "doc" + "out" + ], # TODO(Profpatsch): automatically infer most of these # : list string -, configureFlags + configureFlags, # : string -, postConfigure ? null + postConfigure ? null, # mostly for moving and deleting files from the build directory # : lines -, postInstall + postInstall, # : list Maintainer -, maintainers ? [ ] + maintainers ? [ ], # : passthru arguments (e.g. tests) -, passthru ? { } + passthru ? { }, # : attributes to be merged into meta -, broken ? false + broken ? false, }: let @@ -67,53 +78,68 @@ stdenv.mkDerivation { }; outputs = - if manpages == null - then outputs + if manpages == null then + outputs else - assert (lib.assertMsg (!lib.elem "man" outputs) "If you pass `manpages` to `skawarePackages.buildPackage`, you cannot have a `man` output already!"); - # insert as early as posible, but keep the first element - if lib.length outputs > 0 - then [(lib.head outputs) "man"] ++ lib.tail outputs - else ["man"]; + assert ( + lib.assertMsg (!lib.elem "man" outputs) + "If you pass `manpages` to `skawarePackages.buildPackage`, you cannot have a `man` output already!" + ); + # insert as early as posible, but keep the first element + if lib.length outputs > 0 then + [ + (lib.head outputs) + "man" + ] + ++ lib.tail outputs + else + [ "man" ]; dontDisableStatic = true; enableParallelBuilding = true; - configureFlags = configureFlags ++ [ - "--enable-absolute-paths" - # We assume every nix-based cross target has urandom. - # This might not hold for e.g. BSD. - "--with-sysdep-devurandom=yes" - (if stdenv.hostPlatform.isDarwin - then "--disable-shared" - else "--enable-shared") - ] + configureFlags = + configureFlags + ++ [ + "--enable-absolute-paths" + # We assume every nix-based cross target has urandom. + # This might not hold for e.g. BSD. + "--with-sysdep-devurandom=yes" + (if stdenv.hostPlatform.isDarwin then "--disable-shared" else "--enable-shared") + ] # On darwin, the target triplet from -dumpmachine includes version number, # but skarnet.org software uses the triplet to test binary compatibility. # Explicitly setting target ensures code can be compiled against a skalibs # binary built on a different version of darwin. # http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph - ++ (lib.optional stdenv.hostPlatform.isDarwin - "--build=${stdenv.hostPlatform.system}"); + ++ (lib.optional stdenv.hostPlatform.isDarwin "--build=${stdenv.hostPlatform.system}"); inherit postConfigure; - makeFlags = lib.optionals stdenv.cc.isClang [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ]; + makeFlags = lib.optionals stdenv.cc.isClang [ + "AR=${stdenv.cc.targetPrefix}ar" + "RANLIB=${stdenv.cc.targetPrefix}ranlib" + ]; # TODO(Profpatsch): ensure that there is always a $doc output! postInstall = '' echo "Cleaning & moving common files" - ${cleanPackaging.commonFileActions { - noiseFiles = commonNoiseFiles; - docFiles = commonMetaFiles; - }} $doc/share/doc/${pname} - - ${if manpages == null - then ''echo "no manpages for this package"'' - else '' - echo "copying manpages" - cp -vr ${manpages} $man - ''} + ${ + cleanPackaging.commonFileActions { + noiseFiles = commonNoiseFiles; + docFiles = commonMetaFiles; + } + } $doc/share/doc/${pname} + + ${ + if manpages == null then + ''echo "no manpages for this package"'' + else + '' + echo "copying manpages" + cp -vr ${manpages} $man + '' + } ${postInstall} ''; @@ -122,14 +148,20 @@ stdenv.mkDerivation { ${cleanPackaging.checkForRemainingFiles} ''; - passthru = passthru // (if manpages == null then {} else { inherit manpages; }); + passthru = passthru // (if manpages == null then { } else { inherit manpages; }); meta = { homepage = "https://skarnet.org/software/${pname}/"; inherit broken description platforms; license = lib.licenses.isc; - maintainers = with lib.maintainers; - [ pmahoney Profpatsch qyliss ] ++ maintainers; + maintainers = + with lib.maintainers; + [ + pmahoney + Profpatsch + qyliss + ] + ++ maintainers; }; } diff --git a/pkgs/development/skaware-packages/clean-packaging.nix b/pkgs/development/skaware-packages/clean-packaging.nix index d51cbec8aeb26..6437bb370f982 100644 --- a/pkgs/development/skaware-packages/clean-packaging.nix +++ b/pkgs/development/skaware-packages/clean-packaging.nix @@ -3,26 +3,30 @@ # files were either discarded or moved to outputs. # This ensures nothing is forgotten and new files # are correctly handled on update. -{ lib, stdenv, file, writeScript }: +{ + lib, + stdenv, + file, + writeScript, +}: let globWith = lib.concatMapStringsSep "\n"; - rmNoise = noiseGlobs: globWith (f: - "rm -rf ${f}") noiseGlobs; - mvDoc = docGlobs: globWith - (f: ''mv ${f} "$DOCDIR" 2>/dev/null || true'') - docGlobs; + rmNoise = noiseGlobs: globWith (f: "rm -rf ${f}") noiseGlobs; + mvDoc = docGlobs: globWith (f: ''mv ${f} "$DOCDIR" 2>/dev/null || true'') docGlobs; # Shell script that implements common move & remove actions # $1 is the doc directory (will be created). # Best used in conjunction with checkForRemainingFiles commonFileActions = - { # list of fileglobs that are removed from the source dir - noiseFiles + { + # list of fileglobs that are removed from the source dir + noiseFiles, # files that are moved to the doc directory ($1) # TODO(Profpatsch): allow to set target dir with # { glob = …; to = "html" } (relative to docdir) - , docFiles }: + docFiles, + }: writeScript "common-file-actions.sh" '' #!${stdenv.shell} set -e @@ -48,6 +52,7 @@ let fi ''; -in { +in +{ inherit commonFileActions checkForRemainingFiles; } diff --git a/pkgs/development/skaware-packages/default.nix b/pkgs/development/skaware-packages/default.nix index 4800b6e6a854c..b0877ada8c36a 100644 --- a/pkgs/development/skaware-packages/default.nix +++ b/pkgs/development/skaware-packages/default.nix @@ -1,40 +1,43 @@ { lib, pkgs }: -lib.makeScope pkgs.newScope (self: +lib.makeScope pkgs.newScope ( + self: let inherit (self) callPackage; - in { - buildManPages = callPackage ./build-skaware-man-pages.nix { }; - buildPackage = callPackage ./build-skaware-package.nix { }; - cleanPackaging = callPackage ./clean-packaging.nix { }; + in + { + buildManPages = callPackage ./build-skaware-man-pages.nix { }; + buildPackage = callPackage ./build-skaware-package.nix { }; + cleanPackaging = callPackage ./clean-packaging.nix { }; - # execline - execline = callPackage ./execline { }; + # execline + execline = callPackage ./execline { }; - # servers & tools - mdevd = callPackage ./mdevd { }; - nsss = callPackage ./nsss { }; - tipidee = callPackage ./tipidee { }; - utmps = callPackage ./utmps { }; + # servers & tools + mdevd = callPackage ./mdevd { }; + nsss = callPackage ./nsss { }; + tipidee = callPackage ./tipidee { }; + utmps = callPackage ./utmps { }; - # libs - skalibs = callPackage ./skalibs { }; - skalibs_2_10 = callPackage ./skalibs/2_10.nix { }; - sdnotify-wrapper = callPackage ./sdnotify-wrapper { }; + # libs + skalibs = callPackage ./skalibs { }; + skalibs_2_10 = callPackage ./skalibs/2_10.nix { }; + sdnotify-wrapper = callPackage ./sdnotify-wrapper { }; - # s6 tooling - s6 = callPackage ./s6 { }; - s6-dns = callPackage ./s6-dns { }; - s6-linux-init = callPackage ./s6-linux-init { }; - s6-linux-utils = callPackage ./s6-linux-utils { }; - s6-networking = callPackage ./s6-networking { }; - s6-portable-utils = callPackage ./s6-portable-utils { }; - s6-rc = callPackage ./s6-rc { }; + # s6 tooling + s6 = callPackage ./s6 { }; + s6-dns = callPackage ./s6-dns { }; + s6-linux-init = callPackage ./s6-linux-init { }; + s6-linux-utils = callPackage ./s6-linux-utils { }; + s6-networking = callPackage ./s6-networking { }; + s6-portable-utils = callPackage ./s6-portable-utils { }; + s6-rc = callPackage ./s6-rc { }; - # manpages (DEPRECATED, they are added directly to the packages now) - execline-man-pages = self.execline.passthru.manpages; - s6-man-pages = self.s6.passthru.manpages; - s6-networking-man-pages = self.s6-networking.passthru.manpages; - s6-portable-utils-man-pages = self.s6-portable-utils.passthru.manpages; - s6-rc-man-pages = self.s6-rc.passthru.manpages; -}) + # manpages (DEPRECATED, they are added directly to the packages now) + execline-man-pages = self.execline.passthru.manpages; + s6-man-pages = self.s6.passthru.manpages; + s6-networking-man-pages = self.s6-networking.passthru.manpages; + s6-portable-utils-man-pages = self.s6-portable-utils.passthru.manpages; + s6-rc-man-pages = self.s6-rc.passthru.manpages; + } +) diff --git a/pkgs/development/skaware-packages/execline/default.nix b/pkgs/development/skaware-packages/execline/default.nix index eb552cd23957d..500d39b773c06 100644 --- a/pkgs/development/skaware-packages/execline/default.nix +++ b/pkgs/development/skaware-packages/execline/default.nix @@ -1,9 +1,14 @@ -{ lib, skawarePackages, skalibs }: +{ + lib, + skawarePackages, + skalibs, +}: let version = "2.9.6.1"; -in skawarePackages.buildPackage { +in +skawarePackages.buildPackage { inherit version; pname = "execline"; @@ -24,7 +29,13 @@ in skawarePackages.buildPackage { description = "Small scripting language, to be used in place of a shell in non-interactive scripts"; - outputs = [ "bin" "lib" "dev" "doc" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "doc" + "out" + ]; # TODO: nsss support configureFlags = [ diff --git a/pkgs/development/skaware-packages/mdevd/default.nix b/pkgs/development/skaware-packages/mdevd/default.nix index dcc78ad4f60b9..0fd5107e179dd 100644 --- a/pkgs/development/skaware-packages/mdevd/default.nix +++ b/pkgs/development/skaware-packages/mdevd/default.nix @@ -1,4 +1,8 @@ -{ lib, skawarePackages, skalibs }: +{ + lib, + skawarePackages, + skalibs, +}: skawarePackages.buildPackage { pname = "mdevd"; @@ -8,7 +12,12 @@ skawarePackages.buildPackage { description = "mdev-compatible Linux hotplug manager daemon"; platforms = lib.platforms.linux; - outputs = [ "bin" "out" "dev" "doc" ]; + outputs = [ + "bin" + "out" + "dev" + "doc" + ]; configureFlags = [ "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" diff --git a/pkgs/development/skaware-packages/s6-dns/default.nix b/pkgs/development/skaware-packages/s6-dns/default.nix index e51beccd74d2a..e5ed1be433e04 100644 --- a/pkgs/development/skaware-packages/s6-dns/default.nix +++ b/pkgs/development/skaware-packages/s6-dns/default.nix @@ -7,7 +7,13 @@ skawarePackages.buildPackage { description = "Suite of DNS client programs and libraries for Unix systems"; - outputs = [ "bin" "lib" "dev" "doc" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "doc" + "out" + ]; configureFlags = [ "--libdir=\${lib}/lib" diff --git a/pkgs/development/skaware-packages/s6-linux-init/default.nix b/pkgs/development/skaware-packages/s6-linux-init/default.nix index d7d44aeac42ac..7b35ce8cf0415 100644 --- a/pkgs/development/skaware-packages/s6-linux-init/default.nix +++ b/pkgs/development/skaware-packages/s6-linux-init/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, skawarePackages -, skalibs -, execline -, s6 -, targetPackages +{ + lib, + stdenv, + skawarePackages, + skalibs, + execline, + s6, + targetPackages, }: skawarePackages.buildPackage { @@ -15,7 +16,12 @@ skawarePackages.buildPackage { description = "Set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel"; platforms = lib.platforms.linux; - outputs = [ "bin" "dev" "doc" "out" ]; + outputs = [ + "bin" + "dev" + "doc" + "out" + ]; configureFlags = [ "--bindir=\${bin}/bin" diff --git a/pkgs/development/skaware-packages/s6-linux-utils/default.nix b/pkgs/development/skaware-packages/s6-linux-utils/default.nix index 23d0d2be69fe4..338aa8291cff4 100644 --- a/pkgs/development/skaware-packages/s6-linux-utils/default.nix +++ b/pkgs/development/skaware-packages/s6-linux-utils/default.nix @@ -1,4 +1,8 @@ -{ lib, skawarePackages, skalibs }: +{ + lib, + skawarePackages, + skalibs, +}: skawarePackages.buildPackage { pname = "s6-linux-utils"; @@ -8,7 +12,12 @@ skawarePackages.buildPackage { description = "Set of minimalistic Linux-specific system utilities"; platforms = lib.platforms.linux; - outputs = [ "bin" "dev" "doc" "out" ]; + outputs = [ + "bin" + "dev" + "doc" + "out" + ]; # TODO: nsss support configureFlags = [ diff --git a/pkgs/development/skaware-packages/s6-networking/default.nix b/pkgs/development/skaware-packages/s6-networking/default.nix index b8c2c56a69e9e..a30c7f8c0c458 100644 --- a/pkgs/development/skaware-packages/s6-networking/default.nix +++ b/pkgs/development/skaware-packages/s6-networking/default.nix @@ -1,8 +1,16 @@ -{ lib, skawarePackages, skalibs, execline, s6, s6-dns +{ + lib, + skawarePackages, + skalibs, + execline, + s6, + s6-dns, -# Whether to build the TLS/SSL tools and what library to use -# acceptable values: "bearssl", "libressl", false -, sslSupport ? "bearssl" , libressl, bearssl + # Whether to build the TLS/SSL tools and what library to use + # acceptable values: "bearssl", "libressl", false + sslSupport ? "bearssl", + libressl, + bearssl, }: let @@ -15,7 +23,6 @@ let in assert sslSupportEnabled -> sslLibs ? ${sslSupport}; - skawarePackages.buildPackage { pname = "s6-networking"; version = "2.7.0.3"; @@ -31,35 +38,42 @@ skawarePackages.buildPackage { description = "Suite of small networking utilities for Unix systems"; - outputs = [ "bin" "lib" "dev" "doc" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "doc" + "out" + ]; # TODO: nsss support - configureFlags = [ - "--libdir=\${lib}/lib" - "--libexecdir=\${lib}/libexec" - "--dynlibdir=\${lib}/lib" - "--bindir=\${bin}/bin" - "--includedir=\${dev}/include" - "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" - "--with-include=${skalibs.dev}/include" - "--with-include=${execline.dev}/include" - "--with-include=${s6.dev}/include" - "--with-include=${s6-dns.dev}/include" - "--with-lib=${skalibs.lib}/lib" - "--with-lib=${execline.lib}/lib" - "--with-lib=${s6.out}/lib" - "--with-lib=${s6-dns.lib}/lib" - "--with-dynlib=${skalibs.lib}/lib" - "--with-dynlib=${execline.lib}/lib" - "--with-dynlib=${s6.out}/lib" - "--with-dynlib=${s6-dns.lib}/lib" - ] - ++ (lib.optionals sslSupportEnabled [ - "--enable-ssl=${sslSupport}" - "--with-include=${lib.getDev sslLibs.${sslSupport}}/include" - "--with-lib=${lib.getLib sslLibs.${sslSupport}}/lib" - "--with-dynlib=${lib.getLib sslLibs.${sslSupport}}/lib" - ]); + configureFlags = + [ + "--libdir=\${lib}/lib" + "--libexecdir=\${lib}/libexec" + "--dynlibdir=\${lib}/lib" + "--bindir=\${bin}/bin" + "--includedir=\${dev}/include" + "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" + "--with-include=${skalibs.dev}/include" + "--with-include=${execline.dev}/include" + "--with-include=${s6.dev}/include" + "--with-include=${s6-dns.dev}/include" + "--with-lib=${skalibs.lib}/lib" + "--with-lib=${execline.lib}/lib" + "--with-lib=${s6.out}/lib" + "--with-lib=${s6-dns.lib}/lib" + "--with-dynlib=${skalibs.lib}/lib" + "--with-dynlib=${execline.lib}/lib" + "--with-dynlib=${s6.out}/lib" + "--with-dynlib=${s6-dns.lib}/lib" + ] + ++ (lib.optionals sslSupportEnabled [ + "--enable-ssl=${sslSupport}" + "--with-include=${lib.getDev sslLibs.${sslSupport}}/include" + "--with-lib=${lib.getLib sslLibs.${sslSupport}}/lib" + "--with-dynlib=${lib.getLib sslLibs.${sslSupport}}/lib" + ]); postInstall = '' # remove all s6 executables from build directory diff --git a/pkgs/development/skaware-packages/s6-portable-utils/default.nix b/pkgs/development/skaware-packages/s6-portable-utils/default.nix index 51fb31b574bf7..ce363381ec24d 100644 --- a/pkgs/development/skaware-packages/s6-portable-utils/default.nix +++ b/pkgs/development/skaware-packages/s6-portable-utils/default.nix @@ -1,4 +1,8 @@ -{ lib, skawarePackages, skalibs }: +{ + lib, + skawarePackages, + skalibs, +}: skawarePackages.buildPackage { pname = "s6-portable-utils"; @@ -15,7 +19,12 @@ skawarePackages.buildPackage { description = "Set of tiny general Unix utilities optimized for simplicity and small size"; - outputs = [ "bin" "dev" "doc" "out" ]; + outputs = [ + "bin" + "dev" + "doc" + "out" + ]; configureFlags = [ "--bindir=\${bin}/bin" @@ -34,5 +43,4 @@ skawarePackages.buildPackage { mv doc $doc/share/doc/s6-portable-utils/html ''; - } diff --git a/pkgs/development/skaware-packages/s6-rc/default.nix b/pkgs/development/skaware-packages/s6-rc/default.nix index dee9e4ed7209a..110b869d85533 100644 --- a/pkgs/development/skaware-packages/s6-rc/default.nix +++ b/pkgs/development/skaware-packages/s6-rc/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, skawarePackages, targetPackages, skalibs, execline, s6 }: +{ + lib, + stdenv, + skawarePackages, + targetPackages, + skalibs, + execline, + s6, +}: skawarePackages.buildPackage { pname = "s6-rc"; @@ -16,7 +24,13 @@ skawarePackages.buildPackage { description = "Service manager for s6-based systems"; platforms = lib.platforms.unix; - outputs = [ "bin" "lib" "dev" "doc" "out" ]; + outputs = [ + "bin" + "lib" + "dev" + "doc" + "out" + ]; configureFlags = [ "--libdir=\${lib}/lib" diff --git a/pkgs/development/skaware-packages/s6/default.nix b/pkgs/development/skaware-packages/s6/default.nix index 188e33696c8fc..69d6e48d88ee5 100644 --- a/pkgs/development/skaware-packages/s6/default.nix +++ b/pkgs/development/skaware-packages/s6/default.nix @@ -1,4 +1,9 @@ -{ lib, skawarePackages, skalibs, execline }: +{ + lib, + skawarePackages, + skalibs, + execline, +}: skawarePackages.buildPackage { pname = "s6"; @@ -18,7 +23,12 @@ skawarePackages.buildPackage { # NOTE lib: cannot split lib from bin at the moment, # since some parts of lib depend on executables in bin. # (the `*_startf` functions in `libs6`) - outputs = [ /*"bin" "lib"*/ "out" "dev" "doc" ]; + outputs = [ + # "bin" "lib" + "out" + "dev" + "doc" + ]; # TODO: nsss support configureFlags = [ diff --git a/pkgs/development/skaware-packages/sdnotify-wrapper/default.nix b/pkgs/development/skaware-packages/sdnotify-wrapper/default.nix index 25d5bc9651932..d9fa940a3294e 100644 --- a/pkgs/development/skaware-packages/sdnotify-wrapper/default.nix +++ b/pkgs/development/skaware-packages/sdnotify-wrapper/default.nix @@ -1,36 +1,47 @@ -{ lib, runCommandCC, skalibs }: +{ + lib, + runCommandCC, + skalibs, +}: let # From https://skarnet.org/software/misc/sdnotify-wrapper.c, # which is unversioned. src = ./sdnotify-wrapper.c; -in runCommandCC "sdnotify-wrapper" { +in +runCommandCC "sdnotify-wrapper" + { - outputs = [ "bin" "doc" "out" ]; + outputs = [ + "bin" + "doc" + "out" + ]; - meta = { - homepage = "https://skarnet.org/software/misc/sdnotify-wrapper.c"; - description = "Use systemd sd_notify without having to link against libsystemd"; - mainProgram = "sdnotify-wrapper"; - platforms = lib.platforms.linux; - license = lib.licenses.isc; - maintainers = with lib.maintainers; [ Profpatsch ]; - }; + meta = { + homepage = "https://skarnet.org/software/misc/sdnotify-wrapper.c"; + description = "Use systemd sd_notify without having to link against libsystemd"; + mainProgram = "sdnotify-wrapper"; + platforms = lib.platforms.linux; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ Profpatsch ]; + }; -} '' - mkdir -p $bin/bin - mkdir $out + } + '' + mkdir -p $bin/bin + mkdir $out - # the -lskarnet has to come at the end to support static builds - $CC \ - -o $bin/bin/sdnotify-wrapper \ - -I${skalibs.dev}/include \ - -L${skalibs.lib}/lib \ - ${src} \ - -lskarnet + # the -lskarnet has to come at the end to support static builds + $CC \ + -o $bin/bin/sdnotify-wrapper \ + -I${skalibs.dev}/include \ + -L${skalibs.lib}/lib \ + ${src} \ + -lskarnet - mkdir -p $doc/share/doc/sdnotify-wrapper - # copy the documentation comment - sed -ne '/Usage:/,/*\//p' ${src} > $doc/share/doc/sdnotify-wrapper/README -'' + mkdir -p $doc/share/doc/sdnotify-wrapper + # copy the documentation comment + sed -ne '/Usage:/,/*\//p' ${src} > $doc/share/doc/sdnotify-wrapper/README + '' diff --git a/pkgs/development/skaware-packages/skalibs/2_10.nix b/pkgs/development/skaware-packages/skalibs/2_10.nix index c9a38b2c02246..478939661954e 100644 --- a/pkgs/development/skaware-packages/skalibs/2_10.nix +++ b/pkgs/development/skaware-packages/skalibs/2_10.nix @@ -7,7 +7,12 @@ skawarePackages.buildPackage { description = "Set of general-purpose C programming libraries"; - outputs = [ "lib" "dev" "doc" "out" ]; + outputs = [ + "lib" + "dev" + "doc" + "out" + ]; configureFlags = [ # assume /dev/random works diff --git a/pkgs/development/skaware-packages/skalibs/default.nix b/pkgs/development/skaware-packages/skalibs/default.nix index f473135c70c5c..0f8bfe664c317 100644 --- a/pkgs/development/skaware-packages/skalibs/default.nix +++ b/pkgs/development/skaware-packages/skalibs/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, skawarePackages -, pkgs +{ + lib, + stdenv, + skawarePackages, + pkgs, }: skawarePackages.buildPackage { @@ -11,31 +12,38 @@ skawarePackages.buildPackage { description = "Set of general-purpose C programming libraries"; - outputs = [ "lib" "dev" "doc" "out" ]; - - configureFlags = [ - # assume /dev/random works - "--enable-force-devr" - "--libdir=\${lib}/lib" - "--dynlibdir=\${lib}/lib" - "--includedir=\${dev}/include" - "--sysdepdir=\${lib}/lib/skalibs/sysdeps" - # Empty the default path, which would be "/usr/bin:bin". - # It would be set when PATH is empty. This hurts hermeticity. - "--with-default-path=" - - ] ++ lib.optionals (stdenv.buildPlatform.config != stdenv.hostPlatform.config) [ - # ./configure: sysdep posixspawnearlyreturn cannot be autodetected - # when cross-compiling. Please manually provide a value with the - # --with-sysdep-posixspawnearlyreturn=yes|no|... option. - # - # posixspawnearlyreturn: `yes` if the target has a broken - # `posix_spawn()` implementation that can return before the - # child has successfully exec'ed. That happens with old glibcs - # and some virtual platforms. - "--with-sysdep-posixspawnearlyreturn=no" + outputs = [ + "lib" + "dev" + "doc" + "out" ]; + configureFlags = + [ + # assume /dev/random works + "--enable-force-devr" + "--libdir=\${lib}/lib" + "--dynlibdir=\${lib}/lib" + "--includedir=\${dev}/include" + "--sysdepdir=\${lib}/lib/skalibs/sysdeps" + # Empty the default path, which would be "/usr/bin:bin". + # It would be set when PATH is empty. This hurts hermeticity. + "--with-default-path=" + + ] + ++ lib.optionals (stdenv.buildPlatform.config != stdenv.hostPlatform.config) [ + # ./configure: sysdep posixspawnearlyreturn cannot be autodetected + # when cross-compiling. Please manually provide a value with the + # --with-sysdep-posixspawnearlyreturn=yes|no|... option. + # + # posixspawnearlyreturn: `yes` if the target has a broken + # `posix_spawn()` implementation that can return before the + # child has successfully exec'ed. That happens with old glibcs + # and some virtual platforms. + "--with-sysdep-posixspawnearlyreturn=no" + ]; + postInstall = '' rm -rf sysdeps.cfg rm libskarnet.* diff --git a/pkgs/development/skaware-packages/tipidee/default.nix b/pkgs/development/skaware-packages/tipidee/default.nix index de3557d58f765..4ab5af54b194b 100644 --- a/pkgs/development/skaware-packages/tipidee/default.nix +++ b/pkgs/development/skaware-packages/tipidee/default.nix @@ -1,4 +1,8 @@ -{ skawarePackages, stdenv, skalibs }: +{ + skawarePackages, + stdenv, + skalibs, +}: skawarePackages.buildPackage { pname = "tipidee"; @@ -7,7 +11,13 @@ skawarePackages.buildPackage { description = "HTTP 1.1 webserver, serving static files and CGI/NPH"; - outputs = [ "bin" "lib" "out" "dev" "doc" ]; + outputs = [ + "bin" + "lib" + "out" + "dev" + "doc" + ]; configureFlags = [ "--libdir=\${lib}/lib" diff --git a/pkgs/development/tcl-modules/by-name/bw/bwidget/package.nix b/pkgs/development/tcl-modules/by-name/bw/bwidget/package.nix index 161324f9e6e0e..f1acf555e6ce8 100644 --- a/pkgs/development/tcl-modules/by-name/bw/bwidget/package.nix +++ b/pkgs/development/tcl-modules/by-name/bw/bwidget/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, mkTclDerivation, tk }: +{ + lib, + fetchurl, + mkTclDerivation, + tk, +}: mkTclDerivation rec { pname = "bwidget"; diff --git a/pkgs/development/tcl-modules/by-name/ex/expect/package.nix b/pkgs/development/tcl-modules/by-name/ex/expect/package.nix index e1ddab04bfbef..ae1c8ae21cc1b 100644 --- a/pkgs/development/tcl-modules/by-name/ex/expect/package.nix +++ b/pkgs/development/tcl-modules/by-name/ex/expect/package.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, buildPackages, fetchurl, tcl, makeWrapper, autoreconfHook, fetchpatch, substituteAll }: +{ + lib, + stdenv, + buildPackages, + fetchurl, + tcl, + makeWrapper, + autoreconfHook, + fetchpatch, + substituteAll, +}: tcl.mkTclDerivation rec { pname = "expect"; @@ -35,7 +45,10 @@ tcl.mkTclDerivation rec { sed -i "s,/bin/stty,$(type -p stty),g" configure.in ''; - nativeBuildInputs = [ autoreconfHook makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ]; strictDeps = true; @@ -50,7 +63,10 @@ tcl.mkTclDerivation rec { ${lib.optionalString stdenv.hostPlatform.isDarwin "tclWrapperArgs+=(--prefix DYLD_LIBRARY_PATH : $out/lib/expect${version})"} ''; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; meta = with lib; { description = "Tool for automating interactive applications"; diff --git a/pkgs/development/tcl-modules/by-name/in/incrtcl/package.nix b/pkgs/development/tcl-modules/by-name/in/incrtcl/package.nix index 7b1397ac1bb8e..2da1f8192428b 100644 --- a/pkgs/development/tcl-modules/by-name/in/incrtcl/package.nix +++ b/pkgs/development/tcl-modules/by-name/in/incrtcl/package.nix @@ -1,11 +1,18 @@ -{ lib, stdenv, mkTclDerivation, fetchurl, writeText, tcl }: +{ + lib, + stdenv, + mkTclDerivation, + fetchurl, + writeText, + tcl, +}: mkTclDerivation rec { pname = "incrtcl"; version = "4.2.3"; src = fetchurl { - url = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl${version}.tar.gz"; + url = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl${version}.tar.gz"; sha256 = "sha256-idOs2GXP3ZY7ECtF+K9hg5REyK6sQ0qk+666gUQPjCY="; }; @@ -27,13 +34,17 @@ mkTclDerivation rec { export ITCL_LIBRARY=@out@/lib ''; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; meta = with lib; { - homepage = "https://incrtcl.sourceforge.net/"; + homepage = "https://incrtcl.sourceforge.net/"; description = "Object Oriented Enhancements for Tcl/Tk"; - license = licenses.tcltk; - platforms = platforms.unix; + license = licenses.tcltk; + platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/development/tcl-modules/by-name/it/itktcl/package.nix b/pkgs/development/tcl-modules/by-name/it/itktcl/package.nix index aefefa8c3cebd..7d856b6b18833 100644 --- a/pkgs/development/tcl-modules/by-name/it/itktcl/package.nix +++ b/pkgs/development/tcl-modules/by-name/it/itktcl/package.nix @@ -1,15 +1,25 @@ -{ lib, stdenv, fetchurl, mkTclDerivation, tk, incrtcl }: +{ + lib, + stdenv, + fetchurl, + mkTclDerivation, + tk, + incrtcl, +}: mkTclDerivation rec { pname = "itk-tcl"; version = "4.1.0"; src = fetchurl { - url = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itk${version}.tar.gz"; + url = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itk${version}.tar.gz"; sha256 = "1iy964jfgsfnc1agk1w6bbm44x18ily8d4wmr7cc9z9f4acn2r6s"; }; - buildInputs = [ tk incrtcl ]; + buildInputs = [ + tk + incrtcl + ]; enableParallelBuilding = true; configureFlags = [ @@ -26,13 +36,17 @@ mkTclDerivation rec { rmdir $out/lib/itk${version} ''; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; meta = with lib; { - homepage = "https://incrtcl.sourceforge.net/"; + homepage = "https://incrtcl.sourceforge.net/"; description = "Mega-widget toolkit for incr Tk"; - license = licenses.tcltk; - platforms = platforms.unix; + license = licenses.tcltk; + platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/development/tcl-modules/by-name/mu/mustache-tcl/package.nix b/pkgs/development/tcl-modules/by-name/mu/mustache-tcl/package.nix index 5281f40a78e8e..ff61e9a8d94bf 100644 --- a/pkgs/development/tcl-modules/by-name/mu/mustache-tcl/package.nix +++ b/pkgs/development/tcl-modules/by-name/mu/mustache-tcl/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, mkTclDerivation, tcllib }: +{ + lib, + fetchFromGitHub, + mkTclDerivation, + tcllib, +}: mkTclDerivation rec { pname = "mustache-tcl"; @@ -29,4 +34,3 @@ mkTclDerivation rec { maintainers = with maintainers; [ nat-418 ]; }; } - diff --git a/pkgs/development/tcl-modules/by-name/tc/tcl-fcgi/package.nix b/pkgs/development/tcl-modules/by-name/tc/tcl-fcgi/package.nix index 49d23ddd9a724..6f281c8289082 100644 --- a/pkgs/development/tcl-modules/by-name/tc/tcl-fcgi/package.nix +++ b/pkgs/development/tcl-modules/by-name/tc/tcl-fcgi/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, mkTclDerivation, tclx }: +{ + lib, + fetchFromGitHub, + mkTclDerivation, + tclx, +}: mkTclDerivation rec { pname = "tcl-fcgi"; @@ -28,4 +33,3 @@ mkTclDerivation rec { maintainers = with maintainers; [ nat-418 ]; }; } - diff --git a/pkgs/development/tcl-modules/by-name/tc/tcllib/package.nix b/pkgs/development/tcl-modules/by-name/tc/tcllib/package.nix index bfccba88fa66a..33ca7b53001b9 100644 --- a/pkgs/development/tcl-modules/by-name/tc/tcllib/package.nix +++ b/pkgs/development/tcl-modules/by-name/tc/tcllib/package.nix @@ -1,8 +1,9 @@ -{ lib -, fetchzip -, mkTclDerivation -, critcl -, withCritcl ? true +{ + lib, + fetchzip, + mkTclDerivation, + critcl, + withCritcl ? true, }: mkTclDerivation rec { diff --git a/pkgs/development/tcl-modules/by-name/tc/tclreadline/package.nix b/pkgs/development/tcl-modules/by-name/tc/tclreadline/package.nix index 62880ee5323a6..90c8fa7f3e6cb 100644 --- a/pkgs/development/tcl-modules/by-name/tc/tclreadline/package.nix +++ b/pkgs/development/tcl-modules/by-name/tc/tclreadline/package.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, automake -, autoconf -, libtool -, readline -, mkTclDerivation -, tk +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + libtool, + readline, + mkTclDerivation, + tk, }: mkTclDerivation rec { diff --git a/pkgs/development/tcl-modules/by-name/tc/tcltls/package.nix b/pkgs/development/tcl-modules/by-name/tc/tcltls/package.nix index cb32bf4a7ba8e..f5f2d99b284d8 100644 --- a/pkgs/development/tcl-modules/by-name/tc/tcltls/package.nix +++ b/pkgs/development/tcl-modules/by-name/tc/tcltls/package.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, mkTclDerivation, openssl }: +{ + lib, + fetchurl, + mkTclDerivation, + openssl, +}: mkTclDerivation rec { pname = "tcltls"; diff --git a/pkgs/development/tcl-modules/by-name/tc/tclx/package.nix b/pkgs/development/tcl-modules/by-name/tc/tclx/package.nix index 8ed3bb6f5931c..a82b75b56fafe 100644 --- a/pkgs/development/tcl-modules/by-name/tc/tclx/package.nix +++ b/pkgs/development/tcl-modules/by-name/tc/tclx/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, mkTclDerivation +{ + lib, + fetchFromGitHub, + mkTclDerivation, }: mkTclDerivation rec { @@ -15,16 +16,21 @@ mkTclDerivation rec { }; # required in order for tclx to properly detect tclx.tcl at runtime - postInstall = let - majorMinorVersion = lib.versions.majorMinor version; - in '' - ln -s $prefix/lib/tclx${majorMinorVersion} $prefix/lib/tclx${majorMinorVersion}/tclx${majorMinorVersion} - ''; + postInstall = + let + majorMinorVersion = lib.versions.majorMinor version; + in + '' + ln -s $prefix/lib/tclx${majorMinorVersion} $prefix/lib/tclx${majorMinorVersion}/tclx${majorMinorVersion} + ''; meta = { homepage = "https://github.com/flightaware/tclx"; description = "Tcl extensions"; license = lib.licenses.tcltk; - maintainers = with lib.maintainers; [ kovirobi fgaz ]; + maintainers = with lib.maintainers; [ + kovirobi + fgaz + ]; }; } diff --git a/pkgs/development/tcl-modules/by-name/ti/tix/package.nix b/pkgs/development/tcl-modules/by-name/ti/tix/package.nix index 67cee0140de04..9257d4a760aad 100644 --- a/pkgs/development/tcl-modules/by-name/ti/tix/package.nix +++ b/pkgs/development/tcl-modules/by-name/ti/tix/package.nix @@ -1,35 +1,36 @@ -{ lib -, fetchurl -, fetchpatch -, tcl -, tk +{ + lib, + fetchurl, + fetchpatch, + tcl, + tk, }: tcl.mkTclDerivation { version = "8.4.3"; pname = "tix"; src = fetchurl { - url = "mirror://sourceforge/tix/tix/8.4.3/Tix8.4.3-src.tar.gz"; - sha256 = "1jq3dkyk9mqkj4cg7mdk5r0cclqsby9l2b7wrysi0zk5yw7h8bsn"; + url = "mirror://sourceforge/tix/tix/8.4.3/Tix8.4.3-src.tar.gz"; + sha256 = "1jq3dkyk9mqkj4cg7mdk5r0cclqsby9l2b7wrysi0zk5yw7h8bsn"; }; - patches = [ - (fetchpatch { - name = "tix-8.4.3-tcl8.5.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.5.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d"; - sha256 = "0wzqmcxxq0rqpnjgxz10spw92yhfygnlwv0h8pcx2ycnqiljz6vj"; - }) - # Remove duplicated definition of XLowerWindow - ./duplicated-xlowerwindow.patch - # Fix incompatible function pointer conversions and implicit definition of `panic`. - # `panic` is just `Tcl_Panic`, but it is not defined on Darwin due to a conflict with `mach/mach.h`. - ./fix-clang16.patch - ] ++ lib.optional (tcl.release == "8.6") - (fetchpatch { - name = "tix-8.4.3-tcl8.6.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.6.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d"; - sha256 = "1jaz0l22xj7x1k4rb9ia6i1psnbwk4pblgq4gfvya7gg7fbb7r36"; - }) - ; + patches = + [ + (fetchpatch { + name = "tix-8.4.3-tcl8.5.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.5.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d"; + sha256 = "0wzqmcxxq0rqpnjgxz10spw92yhfygnlwv0h8pcx2ycnqiljz6vj"; + }) + # Remove duplicated definition of XLowerWindow + ./duplicated-xlowerwindow.patch + # Fix incompatible function pointer conversions and implicit definition of `panic`. + # `panic` is just `Tcl_Panic`, but it is not defined on Darwin due to a conflict with `mach/mach.h`. + ./fix-clang16.patch + ] + ++ lib.optional (tcl.release == "8.6") (fetchpatch { + name = "tix-8.4.3-tcl8.6.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.6.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d"; + sha256 = "1jaz0l22xj7x1k4rb9ia6i1psnbwk4pblgq4gfvya7gg7fbb7r36"; + }); buildInputs = [ tk ]; # the configure script expects to find the location of the sources of # tcl and tk in {tcl,tk}Config.sh @@ -43,7 +44,7 @@ tcl.mkTclDerivation { for i in ${tcl}/include/* ${tk.dev}/include/*; do ln -s $i private_headers/generic; done; - ''; + ''; addTclConfigureFlags = false; configureFlags = [ "--with-tclconfig=." @@ -54,9 +55,9 @@ tcl.mkTclDerivation { meta = with lib; { description = "Widget library for Tcl/Tk"; - homepage = "https://tix.sourceforge.net/"; - platforms = platforms.all; - license = with licenses; [ + homepage = "https://tix.sourceforge.net/"; + platforms = platforms.all; + license = with licenses; [ bsd2 # tix gpl2 # patches from portage ]; diff --git a/pkgs/development/tcl-modules/by-name/tk/tkimg/package.nix b/pkgs/development/tcl-modules/by-name/tk/tkimg/package.nix index f058585d3ad95..ad737f13a3551 100644 --- a/pkgs/development/tcl-modules/by-name/tk/tkimg/package.nix +++ b/pkgs/development/tcl-modules/by-name/tk/tkimg/package.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchsvn, tcl, tcllib, tk, xorg, darwin }: +{ + stdenv, + lib, + fetchsvn, + tcl, + tcllib, + tk, + xorg, + darwin, +}: tcl.mkTclDerivation rec { pname = "tkimg"; @@ -16,9 +25,17 @@ tcl.mkTclDerivation rec { "--with-tkinclude=${tk.dev}/include" ]; - buildInputs = [ xorg.libX11 tcllib ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - Cocoa - ]); + buildInputs = + [ + xorg.libX11 + tcllib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + Cocoa + ] + ); meta = { homepage = "https://sourceforge.net/projects/tkimg/"; diff --git a/pkgs/development/tcl-modules/critcl/default.nix b/pkgs/development/tcl-modules/critcl/default.nix index a1d69dbe246ce..045b9a28958c5 100644 --- a/pkgs/development/tcl-modules/critcl/default.nix +++ b/pkgs/development/tcl-modules/critcl/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, mkTclDerivation -, tcl -, tcllib +{ + lib, + fetchFromGitHub, + mkTclDerivation, + tcl, + tcllib, }: mkTclDerivation rec { diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix index 37b2fd6a76c87..806ce6f7faca6 100644 --- a/pkgs/development/tools/alloy/default.nix +++ b/pkgs/development/tools/alloy/default.nix @@ -1,60 +1,74 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, + makeDesktopItem, +}: -let generic = { version, sha256 }: - stdenv.mkDerivation rec { - pname = "alloy${lib.versions.major version}"; - inherit version; +let + generic = + { version, sha256 }: + stdenv.mkDerivation rec { + pname = "alloy${lib.versions.major version}"; + inherit version; - src = fetchurl { - inherit sha256; - url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/org.alloytools.alloy.dist.jar"; - }; - - desktopItem = makeDesktopItem rec { - name = pname; - exec = name; - icon = name; - desktopName = "Alloy ${lib.versions.major version}"; - genericName = "Relational modelling tool"; - comment = meta.description; - categories = [ "Development" "IDE" "Education" ]; - }; + src = fetchurl { + inherit sha256; + url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/org.alloytools.alloy.dist.jar"; + }; - nativeBuildInputs = [ makeWrapper ]; + desktopItem = makeDesktopItem rec { + name = pname; + exec = name; + icon = name; + desktopName = "Alloy ${lib.versions.major version}"; + genericName = "Relational modelling tool"; + comment = meta.description; + categories = [ + "Development" + "IDE" + "Education" + ]; + }; - buildCommand = '' - jar=$out/share/alloy/${pname}.jar - install -Dm644 ${src} $jar + nativeBuildInputs = [ makeWrapper ]; - mkdir -p $out/bin - makeWrapper ${jre}/bin/java $out/bin/${pname} --add-flags \ - "-jar $jar" + buildCommand = '' + jar=$out/share/alloy/${pname}.jar + install -Dm644 ${src} $jar - install -Dm644 ${./icon.png} $out/share/pixmaps/${pname}.png - cp -r ${desktopItem}/share/applications $out/share - ''; + mkdir -p $out/bin + makeWrapper ${jre}/bin/java $out/bin/${pname} --add-flags \ + "-jar $jar" - meta = with lib; { - description = "Language & tool for relational models"; - longDescription = '' - Alloy is a language for describing structures and a tool for exploring - them. An Alloy model is a collection of constraints that describes a set - of structures, e.g. all the possible security configurations of a web - application, or all the possible topologies of a switching network. The - Alloy Analyzer is a solver that takes the constraints of a model and - finds structures that satisfy them. Structures are displayed graphically, - and their appearance can be customized for the domain at hand. + install -Dm644 ${./icon.png} $out/share/pixmaps/${pname}.png + cp -r ${desktopItem}/share/applications $out/share ''; - homepage = "http://alloytools.org/"; - downloadPage = "http://alloytools.org/download.html"; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.mit; - platforms = platforms.unix; - maintainers = with maintainers; [ notbandali ]; + + meta = with lib; { + description = "Language & tool for relational models"; + longDescription = '' + Alloy is a language for describing structures and a tool for exploring + them. An Alloy model is a collection of constraints that describes a set + of structures, e.g. all the possible security configurations of a web + application, or all the possible topologies of a switching network. The + Alloy Analyzer is a solver that takes the constraints of a model and + finds structures that satisfy them. Structures are displayed graphically, + and their appearance can be customized for the domain at hand. + ''; + homepage = "http://alloytools.org/"; + downloadPage = "http://alloytools.org/download.html"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ notbandali ]; + }; }; - }; -in rec { +in +rec { alloy5 = generic rec { version = "5.1.0"; sha256 = "02k9khs4k5nc86x9pp5k3vcb0kiwdgcin46mlap4fycnr673xd53"; diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix index 308552b99e2bf..6cd0c01ad20ac 100644 --- a/pkgs/development/tools/amazon-qldb-shell/default.nix +++ b/pkgs/development/tools/amazon-qldb-shell/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, lib -, cmake -, fetchFromGitHub -, rustPlatform -, testers -, Security +{ + stdenv, + lib, + cmake, + fetchFromGitHub, + rustPlatform, + testers, + Security, }: let @@ -20,7 +21,10 @@ let sha256 = "sha256-aXScqJ1LijMSAy9YkS5QyXtTqxd19lLt3BbyVXlbw8o="; }; - nativeBuildInputs = [ cmake rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + cmake + rustPlatform.bindgenHook + ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin Security; cargoLock = { diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix index e0382a5e83d07..d2fd413d43099 100644 --- a/pkgs/development/tools/ammonite/default.nix +++ b/pkgs/development/tools/ammonite/default.nix @@ -1,29 +1,43 @@ -{ lib, stdenv, fetchurl, jre, writeScript, common-updater-scripts, git, nixfmt-classic -, nix, coreutils, gnused, disableRemoteLogging ? true }: +{ + lib, + stdenv, + fetchurl, + jre, + writeScript, + common-updater-scripts, + git, + nixfmt-classic, + nix, + coreutils, + gnused, + disableRemoteLogging ? true, +}: let repo = "git@github.com:lihaoyi/Ammonite.git"; - common = { scalaVersion, sha256 }: + common = + { scalaVersion, sha256 }: stdenv.mkDerivation rec { pname = "ammonite"; version = "3.0.0-M1"; src = fetchurl { - url = - "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; + url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; inherit sha256; }; dontUnpack = true; - installPhase = '' - install -Dm755 $src $out/bin/amm - sed -i '0,/java/{s|java|${jre}/bin/java|}' $out/bin/amm - '' + lib.optionalString (disableRemoteLogging) '' - sed -i "0,/ammonite.Main/{s|ammonite.Main'|ammonite.Main' --no-remote-logging|}" $out/bin/amm - sed -i '1i #!/bin/sh' $out/bin/amm - ''; + installPhase = + '' + install -Dm755 $src $out/bin/amm + sed -i '0,/java/{s|java|${jre}/bin/java|}' $out/bin/amm + '' + + lib.optionalString (disableRemoteLogging) '' + sed -i "0,/ammonite.Main/{s|ammonite.Main'|ammonite.Main' --no-remote-logging|}" $out/bin/amm + sed -i '1i #!/bin/sh' $out/bin/amm + ''; passthru = { @@ -79,7 +93,8 @@ let platforms = platforms.all; }; }; -in { +in +{ ammonite_2_12 = common { scalaVersion = "2.12"; sha256 = "sha256-SlweOVHudknbInM4rfEPJ9bLd3Z/EImLhVLzeKfjfMQ="; diff --git a/pkgs/development/tools/analysis/binlore/default.nix b/pkgs/development/tools/analysis/binlore/default.nix index 53a024766576b..5033a73c515eb 100644 --- a/pkgs/development/tools/analysis/binlore/default.nix +++ b/pkgs/development/tools/analysis/binlore/default.nix @@ -1,29 +1,30 @@ -{ lib -, fetchFromGitHub -, runCommand -, yallback -, yara +{ + lib, + fetchFromGitHub, + runCommand, + yallback, + yara, }: -/* TODO/CAUTION: +/* + TODO/CAUTION: -I don't want to discourage use, but I'm not sure how stable -the API is. Have fun, but be prepared to track changes! :) + I don't want to discourage use, but I'm not sure how stable + the API is. Have fun, but be prepared to track changes! :) -For _now_, binlore is basically a thin wrapper around -` | ` with support -for running it on a derivation, saving the result in the -store, and aggregating results from a set of packages. + For _now_, binlore is basically a thin wrapper around + ` | ` with support + for running it on a derivation, saving the result in the + store, and aggregating results from a set of packages. -In the longer term, I suspect there are more uses for this -general pattern (i.e., run some analysis tool that produces -a deterministic output and cache the result per package...). - -I'm not sure how that'll look and if it'll be the case that -binlore automatically collects all of them, or if you'll be -configuring which "kind(s)" of lore it generates. Nailing -that down will almost certainly mean reworking the API. + In the longer term, I suspect there are more uses for this + general pattern (i.e., run some analysis tool that produces + a deterministic output and cache the result per package...). + I'm not sure how that'll look and if it'll be the case that + binlore automatically collects all of them, or if you'll be + configuring which "kind(s)" of lore it generates. Nailing + that down will almost certainly mean reworking the API. */ let @@ -34,20 +35,23 @@ let hash = "sha256-4Fs6HThfDhKRskuDJx2+hucl8crMRm10K6949JdIwPY="; }; /* - binlore has one one more yallbacks responsible for - routing the appropriate lore to a named file in the - appropriate format. At some point I might try to do - something fancy with this, but for now the answer to - *all* questions about the lore are: the bare minimum - to get resholve over the next feature hump in time to - hopefully slip this feature in before the branch-off. + binlore has one one more yallbacks responsible for + routing the appropriate lore to a named file in the + appropriate format. At some point I might try to do + something fancy with this, but for now the answer to + *all* questions about the lore are: the bare minimum + to get resholve over the next feature hump in time to + hopefully slip this feature in before the branch-off. */ # TODO: feeling really uninspired on the API loreDef = { # YARA rule file rules = (src + "/execers.yar"); # output filenames; "types" of lore - types = [ "execers" "wrappers" ]; + types = [ + "execers" + "wrappers" + ]; # shell rule callbacks; see github.com/abathur/yallback yallback = (src + "/execers.yall"); # TODO: @@ -70,7 +74,8 @@ let ''; }; -in rec { +in +rec { /* Output a directory containing lore for multiple drvs. @@ -83,13 +88,23 @@ in rec { uses a chain of two or more derivations where the output of one is the source for the next. See resholve for an example.) */ - collect = { lore ? loreDef, drvs, strip ? [ ] }: (runCommand "more-binlore" { } '' - mkdir $out - for lorefile in ${toString lore.types}; do - cat ${lib.concatMapStrings (x: x + "/$lorefile ") (map (make lore) (map lib.getBin (builtins.filter lib.isDerivation drvs)))} > $out/$lorefile - substituteInPlace $out/$lorefile ${lib.concatMapStrings (x: "--replace-quiet '${x}/' '' ") strip} - done - ''); + collect = + { + lore ? loreDef, + drvs, + strip ? [ ], + }: + (runCommand "more-binlore" { } '' + mkdir $out + for lorefile in ${toString lore.types}; do + cat ${ + lib.concatMapStrings (x: x + "/$lorefile ") ( + map (make lore) (map lib.getBin (builtins.filter lib.isDerivation drvs)) + ) + } > $out/$lorefile + substituteInPlace $out/$lorefile ${lib.concatMapStrings (x: "--replace-quiet '${x}/' '' ") strip} + done + ''); /* Output a directory containing lore for a single drv. @@ -105,29 +120,40 @@ in rec { Since the last entry wins, the effective priority is: drv.binlore. > $drv/nix-support > lore generated here by callback */ - make = lore: drv: runCommand "${drv.name}-binlore" { - drv = drv; - } ('' - mkdir $out - touch $out/{${builtins.concatStringsSep "," lore.types}} - - ${lore.callback lore drv} - '' + - # append lore from package's $out and drv.binlore.${drv.outputName} (last entry wins) - '' - for lore_type in ${builtins.toString lore.types}; do - if [[ -f "${drv}/nix-support/$lore_type" ]]; then - cat "${drv}/nix-support/$lore_type" >> "$out/$lore_type" - fi - '' + lib.optionalString (builtins.hasAttr "binlore" drv && builtins.hasAttr drv.outputName drv.binlore) '' - if [[ -f "${drv.binlore."${drv.outputName}"}/$lore_type" ]]; then - cat "${drv.binlore."${drv.outputName}"}/$lore_type" >> "$out/$lore_type" - fi - '' + '' - done - - echo binlore for $drv written to $out - ''); + make = + lore: drv: + runCommand "${drv.name}-binlore" + { + drv = drv; + } + ( + '' + mkdir $out + touch $out/{${builtins.concatStringsSep "," lore.types}} + + ${lore.callback lore drv} + '' + + + # append lore from package's $out and drv.binlore.${drv.outputName} (last entry wins) + '' + for lore_type in ${builtins.toString lore.types}; do + if [[ -f "${drv}/nix-support/$lore_type" ]]; then + cat "${drv}/nix-support/$lore_type" >> "$out/$lore_type" + fi + '' + + + lib.optionalString (builtins.hasAttr "binlore" drv && builtins.hasAttr drv.outputName drv.binlore) + '' + if [[ -f "${drv.binlore."${drv.outputName}"}/$lore_type" ]]; then + cat "${drv.binlore."${drv.outputName}"}/$lore_type" >> "$out/$lore_type" + fi + '' + + '' + done + + echo binlore for $drv written to $out + '' + ); /* Utility function for creating override lore for drv. @@ -179,46 +205,53 @@ in rec { glob can match new executables added in future package versions before anyone can audit them. */ - synthesize = drv: loreSynthesizingScript: runCommand "${drv.name}-lore-override" { - drv = drv; - } ('' - execer(){ - local verdict="$1" - - shift - - for path in "$@"; do - if [[ -f "$PWD/$path" ]]; then - echo "$verdict:$PWD/$path" - else - echo "error: Tried to synthesize execer lore for missing file: $PWD/$path" >&2 - exit 2 - fi - done - } >> $out/execers - - wrapper(){ - local wrapper="$1" - local original="$2" - - if [[ ! -f "$wrapper" ]]; then - echo "error: Tried to synthesize wrapper lore for missing wrapper: $PWD/$wrapper" >&2 - exit 2 - fi - - if [[ ! -f "$original" ]]; then - echo "error: Tried to synthesize wrapper lore for missing original: $PWD/$original" >&2 - exit 2 - fi - - echo "$PWD/$wrapper:$PWD/$original" - - } >> $out/wrappers - - mkdir $out - - # lore override commands are relative to the drv root - cd $drv - - '' + loreSynthesizingScript); + synthesize = + drv: loreSynthesizingScript: + runCommand "${drv.name}-lore-override" + { + drv = drv; + } + ( + '' + execer(){ + local verdict="$1" + + shift + + for path in "$@"; do + if [[ -f "$PWD/$path" ]]; then + echo "$verdict:$PWD/$path" + else + echo "error: Tried to synthesize execer lore for missing file: $PWD/$path" >&2 + exit 2 + fi + done + } >> $out/execers + + wrapper(){ + local wrapper="$1" + local original="$2" + + if [[ ! -f "$wrapper" ]]; then + echo "error: Tried to synthesize wrapper lore for missing wrapper: $PWD/$wrapper" >&2 + exit 2 + fi + + if [[ ! -f "$original" ]]; then + echo "error: Tried to synthesize wrapper lore for missing original: $PWD/$original" >&2 + exit 2 + fi + + echo "$PWD/$wrapper:$PWD/$original" + + } >> $out/wrappers + + mkdir $out + + # lore override commands are relative to the drv root + cd $drv + + '' + + loreSynthesizingScript + ); } diff --git a/pkgs/development/tools/analysis/brakeman/default.nix b/pkgs/development/tools/analysis/brakeman/default.nix index 0380524b24014..98e3c3a28faeb 100644 --- a/pkgs/development/tools/analysis/brakeman/default.nix +++ b/pkgs/development/tools/analysis/brakeman/default.nix @@ -1,4 +1,9 @@ -{ lib, ruby, bundlerApp, bundlerUpdateScript }: +{ + lib, + ruby, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp rec { pname = "brakeman"; diff --git a/pkgs/development/tools/analysis/brakeman/gemset.nix b/pkgs/development/tools/analysis/brakeman/gemset.nix index d7d2908f74270..b77d22a540271 100644 --- a/pkgs/development/tools/analysis/brakeman/gemset.nix +++ b/pkgs/development/tools/analysis/brakeman/gemset.nix @@ -1,20 +1,20 @@ { brakeman = { - dependencies = ["racc"]; - groups = ["default"]; - platforms = []; + dependencies = [ "racc" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lylig4vgnw9l1ybwgxdi9nw9q2bc5dcplklg8nsbi7j32f7c5kp"; type = "gem"; }; version = "6.1.2"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix index a68328655e351..3f971b8d59d0f 100644 --- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix +++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, curl -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + curl, + Security, }: rustPlatform.buildRustPackage rec { @@ -24,8 +25,12 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl Security ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + Security + ]; doCheck = false; @@ -34,7 +39,13 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-tarpaulin"; homepage = "https://github.com/xd009642/tarpaulin"; changelog = "https://github.com/xd009642/tarpaulin/blob/${src.rev}/CHANGELOG.md"; - license = with licenses; [ mit /* or */ asl20 ]; - maintainers = with maintainers; [ figsoda hugoreeves ]; + license = with licenses; [ + mit # or + asl20 + ]; + maintainers = with maintainers; [ + figsoda + hugoreeves + ]; }; } diff --git a/pkgs/development/tools/analysis/clang-analyzer/default.nix b/pkgs/development/tools/analysis/clang-analyzer/default.nix index 67a38a526be2f..84c948566debe 100644 --- a/pkgs/development/tools/analysis/clang-analyzer/default.nix +++ b/pkgs/development/tools/analysis/clang-analyzer/default.nix @@ -1,11 +1,24 @@ -{ lib, stdenv, clang, llvmPackages, perl, makeWrapper, python3 }: +{ + lib, + stdenv, + clang, + llvmPackages, + perl, + makeWrapper, + python3, +}: stdenv.mkDerivation rec { pname = "clang-analyzer"; inherit (llvmPackages.clang-unwrapped) src version; patches = [ ./0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch ]; - buildInputs = [ clang llvmPackages.clang perl python3 ]; + buildInputs = [ + clang + llvmPackages.clang + perl + python3 + ]; nativeBuildInputs = [ makeWrapper ]; dontBuild = true; @@ -30,9 +43,9 @@ stdenv.mkDerivation rec { The Clang Static Analyzer is a source code analysis tool that finds bugs in C, C++, and Objective-C programs. ''; - homepage = "https://clang-analyzer.llvm.org/"; - license = lib.licenses.bsd3; - platforms = lib.platforms.unix; + homepage = "https://clang-analyzer.llvm.org/"; + license = lib.licenses.bsd3; + platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/development/tools/analysis/clazy/default.nix b/pkgs/development/tools/analysis/clazy/default.nix index 8f92ab15150b6..b1578dc3f860d 100644 --- a/pkgs/development/tools/analysis/clazy/default.nix +++ b/pkgs/development/tools/analysis/clazy/default.nix @@ -1,10 +1,10 @@ { - lib - , stdenv - , fetchFromGitHub - , llvmPackages - , cmake - , makeWrapper + lib, + stdenv, + fetchFromGitHub, + llvmPackages, + cmake, + makeWrapper, }: stdenv.mkDerivation rec { @@ -12,9 +12,9 @@ stdenv.mkDerivation rec { version = "1.12"; src = fetchFromGitHub { - owner = "KDE"; - repo = "clazy"; - rev = "v${version}"; + owner = "KDE"; + repo = "clazy"; + rev = "v${version}"; sha256 = "sha256-Fex0BAmCZUYcNJriHHt/QPi5IgSH/yhnpGCFFZMMD/g="; }; diff --git a/pkgs/development/tools/analysis/dotenv-linter/default.nix b/pkgs/development/tools/analysis/dotenv-linter/default.nix index c61f862f5178b..aa6bf93b4e2b7 100644 --- a/pkgs/development/tools/analysis/dotenv-linter/default.nix +++ b/pkgs/development/tools/analysis/dotenv-linter/default.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, Security +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 2bb80f22ecc4f..50c839d12ba13 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ocamlPackages, CoreServices }: +{ + lib, + stdenv, + fetchFromGitHub, + ocamlPackages, + CoreServices, +}: stdenv.mkDerivation rec { pname = "flow"; @@ -24,10 +30,33 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = with ocamlPackages; [ ocaml dune_3 findlib ocamlbuild ]; + nativeBuildInputs = with ocamlPackages; [ + ocaml + dune_3 + findlib + ocamlbuild + ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ] - ++ (with ocamlPackages; [ core_kernel dtoa fileutils lwt_log lwt_ppx ocaml_lwt ppx_deriving ppx_gen_rec ppx_let sedlex visitors wtf8 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify ]); + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ] + ++ ( + with ocamlPackages; + [ + core_kernel + dtoa + fileutils + lwt_log + lwt_ppx + ocaml_lwt + ppx_deriving + ppx_gen_rec + ppx_let + sedlex + visitors + wtf8 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify ] + ); meta = with lib; { description = "Static type checker for JavaScript"; diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix index 6e7f6d5eea1af..dab9eb7504ab1 100644 --- a/pkgs/development/tools/analysis/include-what-you-use/default.nix +++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, cmake, llvmPackages, python3 }: +{ + lib, + stdenv, + fetchurl, + cmake, + llvmPackages, + python3, +}: stdenv.mkDerivation rec { pname = "include-what-you-use"; @@ -14,8 +21,17 @@ stdenv.mkDerivation rec { patchShebangs . ''; - nativeBuildInputs = with llvmPackages; [ cmake llvm.dev llvm python3 ]; - buildInputs = with llvmPackages; [ libclang clang-unwrapped python3 ]; + nativeBuildInputs = with llvmPackages; [ + cmake + llvm.dev + llvm + python3 + ]; + buildInputs = with llvmPackages; [ + libclang + clang-unwrapped + python3 + ]; clang = llvmPackages.clang; diff --git a/pkgs/development/tools/analysis/jdepend/default.nix b/pkgs/development/tools/analysis/jdepend/default.nix index 1f2e9605b117e..6ba10c6611c7f 100644 --- a/pkgs/development/tools/analysis/jdepend/default.nix +++ b/pkgs/development/tools/analysis/jdepend/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, ant -, jdk -, makeWrapper -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk, + makeWrapper, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/tools/analysis/massif-visualizer/default.nix b/pkgs/development/tools/analysis/massif-visualizer/default.nix index 4e969baf37639..d459bd320ac16 100644 --- a/pkgs/development/tools/analysis/massif-visualizer/default.nix +++ b/pkgs/development/tools/analysis/massif-visualizer/default.nix @@ -1,8 +1,19 @@ { - mkDerivation, lib, fetchurl, - extra-cmake-modules, shared-mime-info, - qtsvg, qtxmlpatterns, karchive, kconfig, kcoreaddons, kparts, kio, ki18n, - kdiagram, kgraphviewer + mkDerivation, + lib, + fetchurl, + extra-cmake-modules, + shared-mime-info, + qtsvg, + qtxmlpatterns, + karchive, + kconfig, + kcoreaddons, + kparts, + kio, + ki18n, + kdiagram, + kgraphviewer, }: mkDerivation rec { @@ -14,11 +25,22 @@ mkDerivation rec { sha256 = "0v8z6r9gngzckvqyxjm9kp7hilwfqibyk2f9vag9l98ar0iwr97q"; }; - nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; buildInputs = [ - qtsvg qtxmlpatterns karchive kconfig kcoreaddons kparts kio ki18n - kdiagram kgraphviewer + qtsvg + qtxmlpatterns + karchive + kconfig + kcoreaddons + kparts + kio + ki18n + kdiagram + kgraphviewer ]; meta = with lib; { diff --git a/pkgs/development/tools/analysis/nix-linter/default.nix b/pkgs/development/tools/analysis/nix-linter/default.nix index 160c3b8eb8356..1dd6cfdf3de9c 100644 --- a/pkgs/development/tools/analysis/nix-linter/default.nix +++ b/pkgs/development/tools/analysis/nix-linter/default.nix @@ -1,22 +1,23 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, fixplate -, tasty -, tasty-hunit -, tasty-th -, streamly -, mtl -, path -, pretty-terminal -, text -, base -, aeson -, path-io -, cmdargs -, containers -, hnix -, bytestring +{ + lib, + mkDerivation, + fetchFromGitHub, + fixplate, + tasty, + tasty-hunit, + tasty-th, + streamly, + mtl, + path, + pretty-terminal, + text, + base, + aeson, + path-io, + cmdargs, + containers, + hnix, + bytestring, }: mkDerivation rec { @@ -33,8 +34,25 @@ mkDerivation rec { isLibrary = false; isExecutable = true; libraryHaskellDepends = [ fixplate ]; - executableHaskellDepends = [ streamly mtl path pretty-terminal text base aeson cmdargs containers hnix bytestring path-io ]; - testHaskellDepends = [ tasty tasty-hunit tasty-th ]; + executableHaskellDepends = [ + streamly + mtl + path + pretty-terminal + text + base + aeson + cmdargs + containers + hnix + bytestring + path-io + ]; + testHaskellDepends = [ + tasty + tasty-hunit + tasty-th + ]; description = "Linter for Nix(pkgs), based on hnix"; homepage = "https://github.com/Synthetica9/nix-linter"; diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix index d8a300fb08d83..567699b6b3c60 100644 --- a/pkgs/development/tools/analysis/pmd/default.nix +++ b/pkgs/development/tools/analysis/pmd/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, unzip, makeWrapper, openjdk }: +{ + lib, + stdenv, + fetchurl, + unzip, + makeWrapper, + openjdk, +}: stdenv.mkDerivation rec { pname = "pmd"; @@ -9,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-Iaz5bUPLQNWRyszMHCCmb8eW6t32nqYYEllER7rHoR0="; }; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ + unzip + makeWrapper + ]; dontConfigure = true; dontBuild = true; @@ -36,6 +46,9 @@ stdenv.mkDerivation rec { homepage = "https://pmd.github.io/"; changelog = "https://pmd.github.io/pmd-${version}/pmd_release_notes.html"; platforms = platforms.unix; - license = with licenses; [ bsdOriginal asl20 ]; + license = with licenses; [ + bsdOriginal + asl20 + ]; }; } diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix index 9c0be92e26189..352160006742a 100644 --- a/pkgs/development/tools/analysis/qcachegrind/default.nix +++ b/pkgs/development/tools/analysis/qcachegrind/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, qmake, qtbase, perl, php, kcachegrind, wrapQtAppsHook }: +{ + lib, + stdenv, + qmake, + qtbase, + perl, + php, + kcachegrind, + wrapQtAppsHook, +}: stdenv.mkDerivation { pname = "qcachegrind"; @@ -6,29 +15,43 @@ stdenv.mkDerivation { src = kcachegrind.src; - buildInputs = [ qtbase perl php ]; + buildInputs = [ + qtbase + perl + php + ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; dontWrapQtApps = true; - postInstall = '' - mkdir -p $out/bin - cp -p converters/dprof2calltree $out/bin/dprof2calltree - cp -p converters/memprof2calltree $out/bin/memprof2calltree - cp -p converters/op2calltree $out/bin/op2calltree - cp -p converters/pprof2calltree $out/bin/pprof2calltree - chmod -R +x $out/bin/ - '' + (if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - cp cgview/cgview.app/Contents/MacOS/cgview $out/bin - cp -a qcachegrind/qcachegrind.app $out/Applications - '' else '' - install qcachegrind/qcachegrind cgview/cgview -t "$out/bin" - install -Dm644 qcachegrind/qcachegrind.desktop -t "$out/share/applications" - install -Dm644 kcachegrind/32-apps-kcachegrind.png "$out/share/icons/hicolor/32x32/apps/kcachegrind.png" - install -Dm644 kcachegrind/48-apps-kcachegrind.png "$out/share/icons/hicolor/48x48/apps/kcachegrind.png" - ''); + postInstall = + '' + mkdir -p $out/bin + cp -p converters/dprof2calltree $out/bin/dprof2calltree + cp -p converters/memprof2calltree $out/bin/memprof2calltree + cp -p converters/op2calltree $out/bin/op2calltree + cp -p converters/pprof2calltree $out/bin/pprof2calltree + chmod -R +x $out/bin/ + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + cp cgview/cgview.app/Contents/MacOS/cgview $out/bin + cp -a qcachegrind/qcachegrind.app $out/Applications + '' + else + '' + install qcachegrind/qcachegrind cgview/cgview -t "$out/bin" + install -Dm644 qcachegrind/qcachegrind.desktop -t "$out/share/applications" + install -Dm644 kcachegrind/32-apps-kcachegrind.png "$out/share/icons/hicolor/32x32/apps/kcachegrind.png" + install -Dm644 kcachegrind/48-apps-kcachegrind.png "$out/share/icons/hicolor/48x48/apps/kcachegrind.png" + '' + ); preFixup = '' wrapQtApp "$out/bin/qcachegrind" diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 6bf80144a8392..65389f2845153 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages -, pkg-config -, meson -, ninja -, libusb-compat-0_1 -, readline -, libewf -, perl -, zlib -, openssl -, libuv -, file -, libzip -, xxHash -, gtk2 -, vte -, gtkdialog -, python3 -, ruby -, lua -, lz4 -, capstone -, useX11 ? false -, rubyBindings ? false -, luaBindings ? false +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, + pkg-config, + meson, + ninja, + libusb-compat-0_1, + readline, + libewf, + perl, + zlib, + openssl, + libuv, + file, + libzip, + xxHash, + gtk2, + vte, + gtkdialog, + python3, + ruby, + lua, + lz4, + capstone, + useX11 ? false, + rubyBindings ? false, + luaBindings ? false, }: let @@ -70,13 +71,13 @@ stdenv.mkDerivation (finalAttrs: { ''; mesonFlags = [ - "-Dr2_gittap=${finalAttrs.version}" - "-Duse_sys_capstone=true" - "-Duse_sys_lz4=true" - "-Duse_sys_magic=true" - "-Duse_sys_openssl=true" - "-Duse_sys_xxhash=true" - "-Duse_sys_zip=true" + "-Dr2_gittap=${finalAttrs.version}" + "-Duse_sys_capstone=true" + "-Duse_sys_lz4=true" + "-Duse_sys_magic=true" + "-Duse_sys_openssl=true" + "-Duse_sys_xxhash=true" + "-Duse_sys_zip=true" ]; enableParallelBuilding = true; @@ -85,20 +86,31 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - nativeBuildInputs = [ pkg-config meson ninja python3 ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + python3 + ]; - buildInputs = [ - capstone - file - readline - libusb-compat-0_1 - libewf - perl - zlib - openssl - libuv - lz4 - ] ++ lib.optionals useX11 [ gtkdialog vte gtk2 ] + buildInputs = + [ + capstone + file + readline + libusb-compat-0_1 + libewf + perl + zlib + openssl + libuv + lz4 + ] + ++ lib.optionals useX11 [ + gtkdialog + vte + gtk2 + ] ++ lib.optionals rubyBindings [ ruby ] ++ lib.optionals luaBindings [ lua ]; @@ -128,8 +140,17 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://radare.org"; changelog = "https://github.com/radareorg/radare2/releases/tag/${finalAttrs.version}"; - license = with licenses; [ gpl3Only lgpl3Only ]; - maintainers = with maintainers; [ azahi raskin makefu mic92 arkivm ]; + license = with licenses; [ + gpl3Only + lgpl3Only + ]; + maintainers = with maintainers; [ + azahi + raskin + makefu + mic92 + arkivm + ]; mainProgram = "radare2"; platforms = platforms.unix; }; diff --git a/pkgs/development/tools/analysis/rizin/cutter.nix b/pkgs/development/tools/analysis/rizin/cutter.nix index 1fa12c6eef528..213894fa62e36 100644 --- a/pkgs/development/tools/analysis/rizin/cutter.nix +++ b/pkgs/development/tools/analysis/rizin/cutter.nix @@ -1,102 +1,113 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, stdenv -# for passthru.plugins -, pkgs -# nativeBuildInputs -, cmake -, pkg-config -, wrapQtAppsHook -# Qt -, qt5compat -, qtbase -, qtwayland -, qtsvg -, qttools -, qtwebengine -# buildInputs -, graphviz -, python3 -, rizin +{ + lib, + fetchFromGitHub, + fetchpatch, + stdenv, + # for passthru.plugins + pkgs, + # nativeBuildInputs + cmake, + pkg-config, + wrapQtAppsHook, + # Qt + qt5compat, + qtbase, + qtwayland, + qtsvg, + qttools, + qtwebengine, + # buildInputs + graphviz, + python3, + rizin, }: -let cutter = stdenv.mkDerivation rec { - pname = "cutter"; - version = "2.3.4"; +let + cutter = stdenv.mkDerivation rec { + pname = "cutter"; + version = "2.3.4"; - src = fetchFromGitHub { - owner = "rizinorg"; - repo = "cutter"; - rev = "v${version}"; - hash = "sha256-TSEi1mXVvvaGo4koo3EnN/veXPUHF747g+gifnl4IDQ="; - fetchSubmodules = true; - }; + src = fetchFromGitHub { + owner = "rizinorg"; + repo = "cutter"; + rev = "v${version}"; + hash = "sha256-TSEi1mXVvvaGo4koo3EnN/veXPUHF747g+gifnl4IDQ="; + fetchSubmodules = true; + }; - patches = [ - # https://github.com/rizinorg/cutter/issues/3384 - (fetchpatch { - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/rz-cutter/-/raw/f736a5709c0b4711760f8242fa77eeaf178c0302/pyside-6.8.patch"; - hash = "sha256-k1Bn6tCNkbE9r5QLfJTBg1zZZU9R7fG1tyfPgSJyQgg="; - }) - ]; + patches = [ + # https://github.com/rizinorg/cutter/issues/3384 + (fetchpatch { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/rz-cutter/-/raw/f736a5709c0b4711760f8242fa77eeaf178c0302/pyside-6.8.patch"; + hash = "sha256-k1Bn6tCNkbE9r5QLfJTBg1zZZU9R7fG1tyfPgSJyQgg="; + }) + ]; - nativeBuildInputs = [ - cmake - pkg-config - python3 - wrapQtAppsHook - ]; + nativeBuildInputs = [ + cmake + pkg-config + python3 + wrapQtAppsHook + ]; - propagatedBuildInputs = [ - python3.pkgs.pyside6 - ]; + propagatedBuildInputs = [ + python3.pkgs.pyside6 + ]; - buildInputs = [ - graphviz - python3 - qt5compat - qtbase - qtsvg - qttools - qtwebengine - rizin - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]; + buildInputs = + [ + graphviz + python3 + qt5compat + qtbase + qtsvg + qttools + qtwebengine + rizin + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; - cmakeFlags = [ - "-DCUTTER_USE_BUNDLED_RIZIN=OFF" - "-DCUTTER_ENABLE_PYTHON=ON" - "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON" - "-DCUTTER_ENABLE_GRAPHVIZ=ON" - "-DCUTTER_QT6=ON" - ]; + cmakeFlags = [ + "-DCUTTER_USE_BUNDLED_RIZIN=OFF" + "-DCUTTER_ENABLE_PYTHON=ON" + "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON" + "-DCUTTER_ENABLE_GRAPHVIZ=ON" + "-DCUTTER_QT6=ON" + ]; - preBuild = '' - qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") - ''; + preBuild = '' + qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") + ''; - passthru = rec { - plugins = rizin.plugins // { - rz-ghidra = rizin.plugins.rz-ghidra.override { - inherit cutter qtbase qtsvg; - enableCutterPlugin = true; + passthru = rec { + plugins = rizin.plugins // { + rz-ghidra = rizin.plugins.rz-ghidra.override { + inherit cutter qtbase qtsvg; + enableCutterPlugin = true; + }; }; + withPlugins = + filter: + pkgs.callPackage ./wrapper.nix { + inherit rizin cutter; + isCutter = true; + plugins = filter plugins; + }; }; - withPlugins = filter: pkgs.callPackage ./wrapper.nix { - inherit rizin cutter; - isCutter = true; - plugins = filter plugins; - }; - }; - meta = with lib; { - description = "Free and Open Source Reverse Engineering Platform powered by rizin"; - homepage = src.meta.homepage; - license = licenses.gpl3; - mainProgram = "cutter"; - maintainers = with maintainers; [ mic92 dtzWill ]; - inherit (rizin.meta) platforms; + meta = with lib; { + description = "Free and Open Source Reverse Engineering Platform powered by rizin"; + homepage = src.meta.homepage; + license = licenses.gpl3; + mainProgram = "cutter"; + maintainers = with maintainers; [ + mic92 + dtzWill + ]; + inherit (rizin.meta) platforms; + }; }; -}; in cutter +in +cutter diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix index 893242aa4f5a4..32e140d83f9c5 100644 --- a/pkgs/development/tools/analysis/rizin/default.nix +++ b/pkgs/development/tools/analysis/rizin/default.nix @@ -1,147 +1,160 @@ -{ lib -, pkgs # for passthru.plugins -, stdenv -, fetchurl -, pkg-config -, libusb-compat-0_1 -, readline -, libewf -, perl -, pcre2 -, zlib -, openssl -, file -, libmspack -, libzip -, lz4 -, xxHash -, xz -, meson -, python3 -, cmake -, ninja -, capstone -, tree-sitter -, zstd +{ + lib, + pkgs, # for passthru.plugins + stdenv, + fetchurl, + pkg-config, + libusb-compat-0_1, + readline, + libewf, + perl, + pcre2, + zlib, + openssl, + file, + libmspack, + libzip, + lz4, + xxHash, + xz, + meson, + python3, + cmake, + ninja, + capstone, + tree-sitter, + zstd, }: -let rizin = stdenv.mkDerivation rec { - pname = "rizin"; - version = "0.7.3"; +let + rizin = stdenv.mkDerivation rec { + pname = "rizin"; + version = "0.7.3"; - src = fetchurl { - url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz"; - hash = "sha256-4O0lraa+QgmNONqczvS++9VJ5HfoD43/pcobj/n72nQ="; - }; - - mesonFlags = [ - "-Duse_sys_capstone=enabled" - "-Duse_sys_magic=enabled" - "-Duse_sys_libzip=enabled" - "-Duse_sys_zlib=enabled" - "-Duse_sys_lz4=enabled" - "-Duse_sys_libzstd=enabled" - "-Duse_sys_lzma=enabled" - "-Duse_sys_xxhash=enabled" - "-Duse_sys_openssl=enabled" - "-Duse_sys_libmspack=enabled" - "-Duse_sys_tree_sitter=enabled" - "-Duse_sys_pcre2=enabled" - # this is needed for wrapping (adding plugins) to work - "-Dportable=true" - ]; + src = fetchurl { + url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz"; + hash = "sha256-4O0lraa+QgmNONqczvS++9VJ5HfoD43/pcobj/n72nQ="; + }; - patches = [ - # Normally, Rizin only looks for files in the install prefix. With - # portable=true, it instead looks for files in relation to the parent - # of the directory of the binary file specified in /proc/self/exe, - # caching it. This patch replaces the entire logic to only look at - # the env var NIX_RZ_PREFIX - ./librz-wrapper-support.patch + mesonFlags = [ + "-Duse_sys_capstone=enabled" + "-Duse_sys_magic=enabled" + "-Duse_sys_libzip=enabled" + "-Duse_sys_zlib=enabled" + "-Duse_sys_lz4=enabled" + "-Duse_sys_libzstd=enabled" + "-Duse_sys_lzma=enabled" + "-Duse_sys_xxhash=enabled" + "-Duse_sys_openssl=enabled" + "-Duse_sys_libmspack=enabled" + "-Duse_sys_tree_sitter=enabled" + "-Duse_sys_pcre2=enabled" + # this is needed for wrapping (adding plugins) to work + "-Dportable=true" + ]; - ./0001-fix-compilation-with-clang.patch - # Can be dropped when upstream fixes this: https://github.com/NixOS/nixpkgs/issues/300056 - ./0002-disable-pcre2-jit.patch - ]; + patches = [ + # Normally, Rizin only looks for files in the install prefix. With + # portable=true, it instead looks for files in relation to the parent + # of the directory of the binary file specified in /proc/self/exe, + # caching it. This patch replaces the entire logic to only look at + # the env var NIX_RZ_PREFIX + ./librz-wrapper-support.patch + ./0001-fix-compilation-with-clang.patch + # Can be dropped when upstream fixes this: https://github.com/NixOS/nixpkgs/issues/300056 + ./0002-disable-pcre2-jit.patch + ]; - nativeBuildInputs = [ - pkg-config - meson - (python3.withPackages (pp: with pp; [ - pyyaml - ])) - ninja - cmake - ]; + nativeBuildInputs = [ + pkg-config + meson + (python3.withPackages ( + pp: with pp; [ + pyyaml + ] + )) + ninja + cmake + ]; - # meson's find_library seems to not use our compiler wrapper if static parameter - # is either true/false... We work around by also providing LIBRARY_PATH - preConfigure = '' - LIBRARY_PATH="" - for b in ${toString (map lib.getLib buildInputs)}; do - if [[ -d "$b/lib" ]]; then - LIBRARY_PATH="$b/lib''${LIBRARY_PATH:+:}$LIBRARY_PATH" - fi - done - export LIBRARY_PATH - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace binrz/rizin/macos_sign.sh \ - --replace 'codesign' '# codesign' - ''; + # meson's find_library seems to not use our compiler wrapper if static parameter + # is either true/false... We work around by also providing LIBRARY_PATH + preConfigure = + '' + LIBRARY_PATH="" + for b in ${toString (map lib.getLib buildInputs)}; do + if [[ -d "$b/lib" ]]; then + LIBRARY_PATH="$b/lib''${LIBRARY_PATH:+:}$LIBRARY_PATH" + fi + done + export LIBRARY_PATH + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace binrz/rizin/macos_sign.sh \ + --replace 'codesign' '# codesign' + ''; - buildInputs = [ - file - libzip - capstone - readline - libusb-compat-0_1 - libewf - pcre2 - perl - zlib - lz4 - openssl - libmspack - tree-sitter - xxHash - xz - zstd - ]; + buildInputs = [ + file + libzip + capstone + readline + libusb-compat-0_1 + libewf + pcre2 + perl + zlib + lz4 + openssl + libmspack + tree-sitter + xxHash + xz + zstd + ]; - postPatch = '' - # find_installation without arguments uses Meson’s Python interpreter, - # which does not have any extra modules. - # https://github.com/mesonbuild/meson/pull/9904 - substituteInPlace meson.build \ - --replace "import('python').find_installation()" "find_program('python3')" - ''; + postPatch = '' + # find_installation without arguments uses Meson’s Python interpreter, + # which does not have any extra modules. + # https://github.com/mesonbuild/meson/pull/9904 + substituteInPlace meson.build \ + --replace "import('python').find_installation()" "find_program('python3')" + ''; - passthru = rec { - plugins = { - jsdec = pkgs.callPackage ./jsdec.nix { - inherit rizin openssl; - }; - rz-ghidra = pkgs.qt6.callPackage ./rz-ghidra.nix { - inherit rizin openssl; - enableCutterPlugin = false; + passthru = rec { + plugins = { + jsdec = pkgs.callPackage ./jsdec.nix { + inherit rizin openssl; + }; + rz-ghidra = pkgs.qt6.callPackage ./rz-ghidra.nix { + inherit rizin openssl; + enableCutterPlugin = false; + }; + # sigdb isn't a real plugin, but it's separated from the main rizin + # derivation so that only those who need it will download it + sigdb = pkgs.callPackage ./sigdb.nix { }; }; - # sigdb isn't a real plugin, but it's separated from the main rizin - # derivation so that only those who need it will download it - sigdb = pkgs.callPackage ./sigdb.nix { }; + withPlugins = + filter: + pkgs.callPackage ./wrapper.nix { + inherit rizin; + plugins = filter plugins; + }; }; - withPlugins = filter: pkgs.callPackage ./wrapper.nix { - inherit rizin; - plugins = filter plugins; - }; - }; - meta = { - description = "UNIX-like reverse engineering framework and command-line toolset"; - homepage = "https://rizin.re/"; - license = lib.licenses.gpl3Plus; - mainProgram = "rizin"; - maintainers = with lib.maintainers; [ raskin makefu mic92 ]; - platforms = with lib.platforms; unix; + meta = { + description = "UNIX-like reverse engineering framework and command-line toolset"; + homepage = "https://rizin.re/"; + license = lib.licenses.gpl3Plus; + mainProgram = "rizin"; + maintainers = with lib.maintainers; [ + raskin + makefu + mic92 + ]; + platforms = with lib.platforms; unix; + }; }; -}; in rizin +in +rizin diff --git a/pkgs/development/tools/analysis/rizin/jsdec.nix b/pkgs/development/tools/analysis/rizin/jsdec.nix index a1c0bc7ed67fb..ba63e8f0209e5 100644 --- a/pkgs/development/tools/analysis/rizin/jsdec.nix +++ b/pkgs/development/tools/analysis/rizin/jsdec.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, pkg-config -, ninja -, rizin -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + meson, + pkg-config, + ninja, + rizin, + openssl, }: let @@ -35,14 +36,25 @@ stdenv.mkDerivation (finalAttrs: { cp subprojects/packagefiles/libquickjs/* subprojects/libquickjs ''; - nativeBuildInputs = [ meson ninja pkg-config ]; - buildInputs = [ openssl rizin ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + buildInputs = [ + openssl + rizin + ]; meta = with lib; { description = "Simple decompiler for Rizin"; homepage = finalAttrs.src.meta.homepage; changelog = "${finalAttrs.src.meta.homepage}/releases/tag/${finalAttrs.src.rev}"; - license = with licenses; [ asl20 bsd3 mit ]; + license = with licenses; [ + asl20 + bsd3 + mit + ]; maintainers = with maintainers; [ chayleaf ]; }; }) diff --git a/pkgs/development/tools/analysis/rizin/rz-ghidra.nix b/pkgs/development/tools/analysis/rizin/rz-ghidra.nix index d9ef68b8620e2..db0a053879b3a 100644 --- a/pkgs/development/tools/analysis/rizin/rz-ghidra.nix +++ b/pkgs/development/tools/analysis/rizin/rz-ghidra.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -# buildInputs -, rizin -, openssl -, pugixml -# optional buildInputs -, enableCutterPlugin ? true -, cutter -, qt5compat -, qtbase -, qtsvg +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + # buildInputs + rizin, + openssl, + pugixml, + # optional buildInputs + enableCutterPlugin ? true, + cutter, + qt5compat, + qtbase, + qtsvg, }: stdenv.mkDerivation (finalAttrs: { @@ -27,25 +28,29 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ - openssl - pugixml - rizin - ] ++ lib.optionals enableCutterPlugin [ - cutter - qt5compat - qtbase - qtsvg - ]; + buildInputs = + [ + openssl + pugixml + rizin + ] + ++ lib.optionals enableCutterPlugin [ + cutter + qt5compat + qtbase + qtsvg + ]; dontWrapQtApps = true; - cmakeFlags = [ - "-DUSE_SYSTEM_PUGIXML=ON" - ] ++ lib.optionals enableCutterPlugin [ - "-DBUILD_CUTTER_PLUGIN=ON" - "-DCUTTER_INSTALL_PLUGDIR=share/rizin/cutter/plugins/native" - ]; + cmakeFlags = + [ + "-DUSE_SYSTEM_PUGIXML=ON" + ] + ++ lib.optionals enableCutterPlugin [ + "-DBUILD_CUTTER_PLUGIN=ON" + "-DCUTTER_INSTALL_PLUGDIR=share/rizin/cutter/plugins/native" + ]; meta = with lib; { # errors out with undefined symbols from Cutter diff --git a/pkgs/development/tools/analysis/rizin/sigdb.nix b/pkgs/development/tools/analysis/rizin/sigdb.nix index 40d0fe62f259e..3aa1c91f33a18 100644 --- a/pkgs/development/tools/analysis/rizin/sigdb.nix +++ b/pkgs/development/tools/analysis/rizin/sigdb.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, stdenvNoCC +{ + lib, + fetchFromGitHub, + stdenvNoCC, }: stdenvNoCC.mkDerivation rec { diff --git a/pkgs/development/tools/analysis/rizin/wrapper.nix b/pkgs/development/tools/analysis/rizin/wrapper.nix index 92fe042856cba..17a910cb91525 100644 --- a/pkgs/development/tools/analysis/rizin/wrapper.nix +++ b/pkgs/development/tools/analysis/rizin/wrapper.nix @@ -1,10 +1,11 @@ -{ lib -, makeWrapper -, symlinkJoin -, plugins -, rizin -, isCutter ? false -, cutter +{ + lib, + makeWrapper, + symlinkJoin, + plugins, + rizin, + isCutter ? false, + cutter, }: let @@ -29,9 +30,7 @@ symlinkJoin { postBuild = '' rm $out/bin/* - wrapperArgs=(--set NIX_RZ_PREFIX $out${ - lib.optionalString isCutter " --prefix XDG_DATA_DIRS : $out/share" - }) + wrapperArgs=(--set NIX_RZ_PREFIX $out${lib.optionalString isCutter " --prefix XDG_DATA_DIRS : $out/share"}) for binary in $(ls ${unwrapped}/bin); do makeWrapper ${unwrapped}/bin/$binary $out/bin/$binary "''${wrapperArgs[@]}" done diff --git a/pkgs/development/tools/analysis/rr/zen_workaround.nix b/pkgs/development/tools/analysis/rr/zen_workaround.nix index 4410224e84547..e72b6dd98f659 100644 --- a/pkgs/development/tools/analysis/rr/zen_workaround.nix +++ b/pkgs/development/tools/analysis/rr/zen_workaround.nix @@ -1,6 +1,12 @@ -{ stdenv, lib, kernel, rr }: +{ + stdenv, + lib, + kernel, + rr, +}: -/* The python script shouldn't be needed for users of this kernel module. +/* + The python script shouldn't be needed for users of this kernel module. https://github.com/rr-debugger/rr/blob/master/scripts/zen_workaround.py The module itself is called "zen_workaround" (a bit generic unfortunately). */ @@ -21,15 +27,17 @@ stdenv.mkDerivation { ''; buildFlags = [ "modules" ]; - installPhase = let - modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel"; #TODO: longer path? - in '' - runHook preInstall - mkdir -p "${modDestDir}" - cp *.ko "${modDestDir}/" - find ${modDestDir} -name '*.ko' -exec xz -f '{}' \; - runHook postInstall - ''; + installPhase = + let + modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel"; # TODO: longer path? + in + '' + runHook preInstall + mkdir -p "${modDestDir}" + cp *.ko "${modDestDir}/" + find ${modDestDir} -name '*.ko' -exec xz -f '{}' \; + runHook postInstall + ''; meta = with lib; { description = "Kernel module supporting the rr debugger on (some) AMD Zen-based CPUs"; diff --git a/pkgs/development/tools/analysis/snowman/default.nix b/pkgs/development/tools/analysis/snowman/default.nix index 706d3f6b8edb0..4cc3b44a37df3 100644 --- a/pkgs/development/tools/analysis/snowman/default.nix +++ b/pkgs/development/tools/analysis/snowman/default.nix @@ -1,4 +1,11 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, boost, qtbase }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + boost, + qtbase, +}: mkDerivation rec { pname = "snowman"; @@ -13,7 +20,10 @@ mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ boost qtbase ]; + buildInputs = [ + boost + qtbase + ]; postUnpack = '' export sourceRoot=$sourceRoot/src diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix index 497d571cf14c3..e81a6c8356f9a 100644 --- a/pkgs/development/tools/analysis/sparse/default.nix +++ b/pkgs/development/tools/analysis/sparse/default.nix @@ -1,8 +1,20 @@ -{ callPackage, fetchurl, lib, stdenv, gtk3, pkg-config, libxml2, llvm, perl, sqlite }: +{ + callPackage, + fetchurl, + lib, + stdenv, + gtk3, + pkg-config, + libxml2, + llvm, + perl, + sqlite, +}: let GCC_BASE = "${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.uname.processor}-unknown-linux-gnu/${stdenv.cc.cc.version}"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "sparse"; version = "0.6.4"; @@ -18,7 +30,13 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 libxml2 llvm perl sqlite ]; + buildInputs = [ + gtk3 + libxml2 + llvm + perl + sqlite + ]; doCheck = true; buildFlags = [ "GCC_BASE:=${GCC_BASE}" ]; @@ -36,9 +54,12 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Semantic parser for C"; - homepage = "https://git.kernel.org/pub/scm/devel/sparse/sparse.git/"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice jkarlson ]; + homepage = "https://git.kernel.org/pub/scm/devel/sparse/sparse.git/"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ + thoughtpolice + jkarlson + ]; }; } diff --git a/pkgs/development/tools/analysis/sparse/tests.nix b/pkgs/development/tools/analysis/sparse/tests.nix index 5eba254e537a8..2c87ed7f4ac73 100644 --- a/pkgs/development/tools/analysis/sparse/tests.nix +++ b/pkgs/development/tools/analysis/sparse/tests.nix @@ -1,4 +1,9 @@ -{ runCommand, gcc, sparse, writeText }: +{ + runCommand, + gcc, + sparse, + writeText, +}: let src = writeText "CODE.c" '' #include @@ -10,15 +15,22 @@ let } ''; in - runCommand "${sparse.pname}-tests" { buildInputs = [ gcc sparse ]; meta.timeout = 3; } -'' - set -eu - ${sparse}/bin/cgcc ${src} > output 2>&1 || ret=$? - if [[ -z $( output 2>&1 || ret=$? + if [[ -z $(/i #include " src/main/cpp/blaze_util_darwin.cc + + # clang installed from Xcode has a compatibility wrapper that forwards + # invocations of gcc to clang, but vanilla clang doesn't + sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + sed -i -e 's;env -i codesign --identifier $@ --force --sign;env -i CODESIGN_ALLOCATE=${cctools}/bin/${cctools.targetPrefix}codesign_allocate ${sigtool}/bin/codesign --identifier $@ --force -s;g' tools/osx/BUILD + sed -i -e 's;"/usr/bin/libtool";_find_generic(repository_ctx, "libtool", "LIBTOOL", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl ) + for wrapper in "''${wrappers[@]}"; do + sed -i -e "s,/usr/bin/gcc,${stdenv.cc}/bin/clang,g" $wrapper + sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper + done + ''; + + genericPatches = '' + # Substitute j2objc and objc wrapper's python shebang to plain python path. + substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" + + # md5sum is part of coreutils + sed -i 's|/sbin/md5|md5sum|g' \ + src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh + + # replace initial value of pythonShebang variable in BazelPythonSemantics.java + substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \ + --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\"" + + substituteInPlace src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java \ + --replace '"#!/usr/bin/env python3"' "\"#!${python3}/bin/python\"" + + # substituteInPlace is rather slow, so prefilter the files with grep + grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do + # If you add more replacements here, you must change the grep above! + # Only files containing /bin are taken into account. + substituteInPlace "$path" \ + --replace /bin/bash ${bash}/bin/bash \ + --replace "/usr/bin/env bash" ${bash}/bin/bash \ + --replace "/usr/bin/env python" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env \ + --replace /bin/true ${coreutils}/bin/true done - } - - # Disable Bazel's Xcode toolchain detection which would configure compilers - # and linkers from Xcode instead of from PATH - export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 - - # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails - export GCOV=${coreutils}/bin/false - - # Framework search paths aren't added by bintools hook - # https://github.com/NixOS/nixpkgs/pull/41914 - export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" - - # libcxx includes aren't added by libcxx hook - # https://github.com/NixOS/nixpkgs/pull/41589 - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1" - # for CLang 16 compatibility in external/{absl,upb} dependencies and in execlog - export NIX_CFLAGS_COMPILE+=" -Wno-deprecated-builtins -Wno-gnu-offsetof-extensions -Wno-implicit-function-declaration" - - # don't use system installed Xcode to run clang, use Nix clang instead - sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \ - scripts/bootstrap/compile.sh \ - tools/osx/BUILD - - substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' "" - - # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead - sed -i -e "/#include /i #include " src/main/cpp/blaze_util_darwin.cc - - # clang installed from Xcode has a compatibility wrapper that forwards - # invocations of gcc to clang, but vanilla clang doesn't - sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl - sed -i -e 's;env -i codesign --identifier $@ --force --sign;env -i CODESIGN_ALLOCATE=${cctools}/bin/${cctools.targetPrefix}codesign_allocate ${sigtool}/bin/codesign --identifier $@ --force -s;g' tools/osx/BUILD - sed -i -e 's;"/usr/bin/libtool";_find_generic(repository_ctx, "libtool", "LIBTOOL", overriden_tools);g' tools/cpp/unix_cc_configure.bzl - wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl ) - for wrapper in "''${wrappers[@]}"; do - sed -i -e "s,/usr/bin/gcc,${stdenv.cc}/bin/clang,g" $wrapper - sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper - done - ''; - genericPatches = '' - # Substitute j2objc and objc wrapper's python shebang to plain python path. - substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" - substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" - substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python3.interpreter}" - - # md5sum is part of coreutils - sed -i 's|/sbin/md5|md5sum|g' \ - src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh - - # replace initial value of pythonShebang variable in BazelPythonSemantics.java - substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \ - --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\"" - - substituteInPlace src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java \ - --replace '"#!/usr/bin/env python3"' "\"#!${python3}/bin/python\"" - - # substituteInPlace is rather slow, so prefilter the files with grep - grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do - # If you add more replacements here, you must change the grep above! - # Only files containing /bin are taken into account. - substituteInPlace "$path" \ - --replace /bin/bash ${bash}/bin/bash \ - --replace "/usr/bin/env bash" ${bash}/bin/bash \ - --replace "/usr/bin/env python" ${python3}/bin/python \ - --replace /usr/bin/env ${coreutils}/bin/env \ - --replace /bin/true ${coreutils}/bin/true - done - - grep -rlZ /bin/ tools/python | while IFS="" read -r -d "" path; do - substituteInPlace "$path" \ - --replace "/usr/bin/env python2" ${python3.interpreter} \ - --replace "/usr/bin/env python3" ${python3}/bin/python \ - --replace /usr/bin/env ${coreutils}/bin/env - done - - # bazel test runner include references to /bin/bash - substituteInPlace tools/build_rules/test_rules.bzl \ - --replace /bin/bash ${bash}/bin/bash - - for i in $(find tools/cpp/ -type f) - do - substituteInPlace $i \ - --replace /bin/bash ${bash}/bin/bash - done + grep -rlZ /bin/ tools/python | while IFS="" read -r -d "" path; do + substituteInPlace "$path" \ + --replace "/usr/bin/env python2" ${python3.interpreter} \ + --replace "/usr/bin/env python3" ${python3}/bin/python \ + --replace /usr/bin/env ${coreutils}/bin/env + done - # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. - substituteInPlace scripts/bootstrap/compile.sh \ + # bazel test runner include references to /bin/bash + substituteInPlace tools/build_rules/test_rules.bzl \ --replace /bin/bash ${bash}/bin/bash - # add nix environment vars to .bazelrc - cat >> .bazelrc <> tools/jdk/BUILD.tools <> third_party/grpc/bazel_1.41.0.patch <> runfiles.bash.tmp - cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp - mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash - - patchShebangs . - ''; - in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches - + genericPatches; + for i in $(find tools/cpp/ -type f) + do + substituteInPlace $i \ + --replace /bin/bash ${bash}/bin/bash + done - buildInputs = [buildJdk] ++ defaultShellUtils; + # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. + substituteInPlace scripts/bootstrap/compile.sh \ + --replace /bin/bash ${bash}/bin/bash + + # add nix environment vars to .bazelrc + cat >> .bazelrc <> tools/jdk/BUILD.tools <> third_party/grpc/bazel_1.41.0.patch <> runfiles.bash.tmp + cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp + mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash + + patchShebangs . + ''; + in + lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + genericPatches; + + buildInputs = [ buildJdk ] ++ defaultShellUtils; # when a command can’t be found in a bazel build, you might also # need to add it to `defaultShellPath`. - nativeBuildInputs = [ - installShellFiles - makeWrapper - python3 - unzip - which - zip - python3.pkgs.absl-py # Needed to build fish completion - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ]; + nativeBuildInputs = + [ + installShellFiles + makeWrapper + python3 + unzip + which + zip + python3.pkgs.absl-py # Needed to build fish completion + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + cctools + libcxx + CoreFoundation + CoreServices + Foundation + ]; # Bazel makes extensive use of symlinks in the WORKSPACE. # This causes problems with infinite symlinks if the build output is in the same location as the # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a # subdirectory. # Failing to do this causes "infinite symlink expansion detected" - preBuildPhases = ["preBuildPhase"]; + preBuildPhases = [ "preBuildPhase" ]; preBuildPhase = '' mkdir bazel_src shopt -s dotglob extglob @@ -643,16 +757,18 @@ stdenv.mkDerivation rec { # Save paths to hardcoded dependencies so Nix can detect them. # This is needed because the templates get tar’d up into a .jar. - postFixup = '' - mkdir -p $out/nix-support - echo "${defaultShellPath}" >> $out/nix-support/depends - # The string literal specifying the path to the bazel-rc file is sometimes - # stored non-contiguously in the binary due to gcc optimisations, which leads - # Nix to miss the hash when scanning for dependencies - echo "${bazelRC}" >> $out/nix-support/depends - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - echo "${cctools}" >> $out/nix-support/depends - ''; + postFixup = + '' + mkdir -p $out/nix-support + echo "${defaultShellPath}" >> $out/nix-support/depends + # The string literal specifying the path to the bazel-rc file is sometimes + # stored non-contiguously in the binary due to gcc optimisations, which leads + # Nix to miss the hash when scanning for dependencies + echo "${bazelRC}" >> $out/nix-support/depends + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + echo "${cctools}" >> $out/nix-support/depends + ''; dontStrip = true; dontPatchELF = true; diff --git a/pkgs/development/tools/build-managers/bazel/cpp-test.nix b/pkgs/development/tools/build-managers/bazel/cpp-test.nix index cc3bc8d9a1418..e1748042d1371 100644 --- a/pkgs/development/tools/build-managers/bazel/cpp-test.nix +++ b/pkgs/development/tools/build-managers/bazel/cpp-test.nix @@ -1,18 +1,18 @@ { - bazel -, bazelTest -, bazel-examples -, stdenv -, cctools -, darwin -, extraBazelArgs ? "" -, lib -, runLocal -, runtimeShell -, writeScript -, writeText -, distDir -, Foundation ? null + bazel, + bazelTest, + bazel-examples, + stdenv, + cctools, + darwin, + extraBazelArgs ? "", + lib, + runLocal, + runtimeShell, + writeScript, + writeText, + distDir, + Foundation ? null, }: let @@ -32,32 +32,38 @@ let exec "$BAZEL_REAL" "$@" ''; - workspaceDir = runLocal "our_workspace" {} ('' - cp -r ${bazel-examples}/cpp-tutorial/stage3 $out - find $out -type d -exec chmod 755 {} \; - '' - + (lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir $out/tools - cp ${toolsBazel} $out/tools/bazel - '')); + workspaceDir = runLocal "our_workspace" { } ( + '' + cp -r ${bazel-examples}/cpp-tutorial/stage3 $out + find $out -type d -exec chmod 755 {} \; + '' + + (lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '') + ); testBazel = bazelTest { name = "${bazel.pname}-test-cpp"; inherit workspaceDir; bazelPkg = bazel; - bazelScript = '' - ${bazel}/bin/bazel build //... \ - --verbose_failures \ - --distdir=${distDir} \ - --curses=no \ - ${extraBazelArgs} \ - '' + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + bazelScript = + '' + ${bazel}/bin/bazel build //... \ + --verbose_failures \ + --distdir=${distDir} \ + --curses=no \ + ${extraBazelArgs} \ + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin) '' --cxxopt=-x --cxxopt=c++ --host_cxxopt=-x --host_cxxopt=c++ \ --linkopt=-stdlib=libc++ --host_linkopt=-stdlib=libc++ \ - '' + lib.optionalString (stdenv.hostPlatform.isDarwin && Foundation != null) '' + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin && Foundation != null) '' --linkopt=-Wl,-F${Foundation}/Library/Frameworks \ --linkopt=-L${darwin.libobjc}/lib \ - ''; + ''; }; -in testBazel +in +testBazel diff --git a/pkgs/development/tools/build-managers/bazel/java-test.nix b/pkgs/development/tools/build-managers/bazel/java-test.nix index afdacaf6a8440..c17e34cb60cdb 100644 --- a/pkgs/development/tools/build-managers/bazel/java-test.nix +++ b/pkgs/development/tools/build-managers/bazel/java-test.nix @@ -1,17 +1,18 @@ -{ bazel -, bazelTest -, bazel-examples -, stdenv -, cctools -, extraBazelArgs ? "" -, lib -, openjdk8 -, jdk11_headless -, runLocal -, runtimeShell -, writeScript -, writeText -, distDir +{ + bazel, + bazelTest, + bazel-examples, + stdenv, + cctools, + extraBazelArgs ? "", + lib, + openjdk8, + jdk11_headless, + runLocal, + runtimeShell, + writeScript, + writeText, + distDir, }: let @@ -31,38 +32,43 @@ let exec "$BAZEL_REAL" "$@" ''; - workspaceDir = runLocal "our_workspace" {} ('' - cp -r ${bazel-examples}/java-tutorial $out - find $out -type d -exec chmod 755 {} \; - '' - + (lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir $out/tools - cp ${toolsBazel} $out/tools/bazel - '')); + workspaceDir = runLocal "our_workspace" { } ( + '' + cp -r ${bazel-examples}/java-tutorial $out + find $out -type d -exec chmod 755 {} \; + '' + + (lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '') + ); testBazel = bazelTest { name = "${bazel.pname}-test-java"; inherit workspaceDir; bazelPkg = bazel; - buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ]; - bazelScript = '' - ${bazel}/bin/bazel \ - run \ - --announce_rc \ - ${lib.optionalString (lib.strings.versionOlder "5.0.0" bazel.version) - "--toolchain_resolution_debug='@bazel_tools//tools/jdk:(runtime_)?toolchain_type'" - } \ - --distdir=${distDir} \ - --verbose_failures \ - --curses=no \ - --strict_java_deps=off \ - //:ProjectRunner \ - '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' + buildInputs = [ + (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) + ]; + bazelScript = + '' + ${bazel}/bin/bazel \ + run \ + --announce_rc \ + ${lib.optionalString (lib.strings.versionOlder "5.0.0" bazel.version) "--toolchain_resolution_debug='@bazel_tools//tools/jdk:(runtime_)?toolchain_type'"} \ + --distdir=${distDir} \ + --verbose_failures \ + --curses=no \ + --strict_java_deps=off \ + //:ProjectRunner \ + '' + + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' --host_javabase='@local_jdk//:jdk' \ --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \ --javabase='@local_jdk//:jdk' \ - '' + extraBazelArgs; + '' + + extraBazelArgs; }; -in testBazel - +in +testBazel diff --git a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix index 5880c5dd95fe3..0522c9172ecab 100644 --- a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix +++ b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix @@ -1,18 +1,18 @@ { - bazel -, bazelTest -, fetchFromGitHub -, fetchurl -, stdenv -, cctools -, lib -, openjdk8 -, jdk11_headless -, runLocal -, runtimeShell -, writeScript -, writeText -, distDir + bazel, + bazelTest, + fetchFromGitHub, + fetchurl, + stdenv, + cctools, + lib, + openjdk8, + jdk11_headless, + runLocal, + runtimeShell, + writeScript, + writeText, + distDir, }: let @@ -58,7 +58,7 @@ let protobuf_deps() load("@rules_proto//proto:repositories.bzl", "rules_proto_toolchains") rules_proto_toolchains() - ''; + ''; protoSupport = writeText "proto-support.bzl" '' """Load dependencies needed to compile the protobuf library as a 3rd-party consumer.""" @@ -145,43 +145,51 @@ let exec "$BAZEL_REAL" "$@" ''; - workspaceDir = runLocal "our_workspace" {} ('' - mkdir $out - cp ${WORKSPACE} $out/WORKSPACE - touch $out/BUILD.bazel - cp ${protoSupport} $out/proto-support.bzl - mkdir $out/person - cp ${personProto} $out/person/person.proto - cp ${personBUILD} $out/person/BUILD.bazel - '' - + (lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir $out/tools - cp ${toolsBazel} $out/tools/bazel - '')); + workspaceDir = runLocal "our_workspace" { } ( + '' + mkdir $out + cp ${WORKSPACE} $out/WORKSPACE + touch $out/BUILD.bazel + cp ${protoSupport} $out/proto-support.bzl + mkdir $out/person + cp ${personProto} $out/person/person.proto + cp ${personBUILD} $out/person/BUILD.bazel + '' + + (lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '') + ); testBazel = bazelTest { name = "${bazel.pname}-test-protocol-buffers"; inherit workspaceDir; bazelPkg = bazel; - buildInputs = [ (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) ]; - bazelScript = '' - ${bazel}/bin/bazel \ - build \ - --distdir=${distDir} \ - --verbose_failures \ - --curses=no \ - --subcommands \ - --strict_java_deps=off \ - --strict_proto_deps=off \ - //... \ - '' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' + buildInputs = [ + (if lib.strings.versionOlder bazel.version "5.0.0" then openjdk8 else jdk11_headless) + ]; + bazelScript = + '' + ${bazel}/bin/bazel \ + build \ + --distdir=${distDir} \ + --verbose_failures \ + --curses=no \ + --subcommands \ + --strict_java_deps=off \ + --strict_proto_deps=off \ + //... \ + '' + + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") '' --host_javabase='@local_jdk//:jdk' \ --java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \ --javabase='@local_jdk//:jdk' \ - '' + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin) '' --cxxopt=-x --cxxopt=c++ --host_cxxopt=-x --host_cxxopt=c++ \ --linkopt=-stdlib=libc++ --host_linkopt=-stdlib=libc++ \ - ''; + ''; }; -in testBazel +in +testBazel diff --git a/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix b/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix index 59f5d0c01fccf..4af2940d80c29 100644 --- a/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix +++ b/pkgs/development/tools/build-managers/bazel/python-bin-path-test.nix @@ -1,15 +1,15 @@ { - bazel -, bazelTest -, stdenv -, cctools -, extraBazelArgs ? "" -, lib -, runLocal -, runtimeShell -, writeScript -, writeText -, distDir + bazel, + bazelTest, + stdenv, + cctools, + extraBazelArgs ? "", + lib, + runLocal, + runtimeShell, + writeScript, + writeText, + distDir, }: let @@ -57,18 +57,20 @@ let ) ''; - workspaceDir = runLocal "our_workspace" {} ('' - mkdir $out - cp ${WORKSPACE} $out/WORKSPACE - mkdir $out/python - cp ${pythonLib} $out/python/lib.py - cp ${pythonBin} $out/python/bin.py - cp ${pythonBUILD} $out/python/BUILD.bazel - '' - + (lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir $out/tools - cp ${toolsBazel} $out/tools/bazel - '')); + workspaceDir = runLocal "our_workspace" { } ( + '' + mkdir $out + cp ${WORKSPACE} $out/WORKSPACE + mkdir $out/python + cp ${pythonLib} $out/python/lib.py + cp ${pythonBin} $out/python/bin.py + cp ${pythonBUILD} $out/python/BUILD.bazel + '' + + (lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/tools + cp ${toolsBazel} $out/tools/bazel + '') + ); testBazel = bazelTest { name = "${bazel.pname}-test-builtin-rules"; @@ -83,4 +85,5 @@ let ''; }; -in testBazel +in +testBazel diff --git a/pkgs/development/tools/build-managers/bazel/shebang-test.nix b/pkgs/development/tools/build-managers/bazel/shebang-test.nix index d316b4650ddf9..fe12cf4de8812 100644 --- a/pkgs/development/tools/build-managers/bazel/shebang-test.nix +++ b/pkgs/development/tools/build-managers/bazel/shebang-test.nix @@ -1,11 +1,11 @@ { - bazel -, bazelTest -, extracted -, ripgrep -, runLocal -, unzip -, ... + bazel, + bazelTest, + extracted, + ripgrep, + runLocal, + unzip, + ... }: # Tests that all shebangs are patched appropriately. @@ -14,7 +14,7 @@ let - workspaceDir = runLocal "our_workspace" {} "mkdir $out"; + workspaceDir = runLocal "our_workspace" { } "mkdir $out"; testBazel = bazelTest { name = "bazel-test-shebangs"; @@ -52,7 +52,11 @@ let exit 1 fi ''; - buildInputs = [ unzip ripgrep ]; + buildInputs = [ + unzip + ripgrep + ]; }; -in testBazel +in +testBazel diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix index 06246f6b081a1..c4066663a9d93 100644 --- a/pkgs/development/tools/build-managers/buck/default.nix +++ b/pkgs/development/tools/build-managers/buck/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, jdk8, ant, python3, watchman, bash, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + jdk8, + ant, + python3, + watchman, + bash, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "buck"; @@ -17,7 +27,13 @@ stdenv.mkDerivation rec { grep -l -r '/bin/bash' --null | xargs -0 sed -i -e "s!/bin/bash!${bash}/bin/bash!g" ''; - nativeBuildInputs = [ makeWrapper python3 jdk8 ant watchman ]; + nativeBuildInputs = [ + makeWrapper + python3 + jdk8 + ant + watchman + ]; buildPhase = '' # Set correct version, see https://github.com/facebook/buck/issues/2607 @@ -31,7 +47,13 @@ stdenv.mkDerivation rec { installPhase = '' install -D -m755 buck-out/gen/*/programs/buck.pex $out/bin/buck wrapProgram $out/bin/buck \ - --prefix PATH : "${lib.makeBinPath [ jdk8 watchman python3 ]}" + --prefix PATH : "${ + lib.makeBinPath [ + jdk8 + watchman + python3 + ] + }" ''; meta = with lib; { diff --git a/pkgs/development/tools/build-managers/buck2/default.nix b/pkgs/development/tools/build-managers/buck2/default.nix index b40748d76278f..1d603c53938f6 100644 --- a/pkgs/development/tools/build-managers/buck2/default.nix +++ b/pkgs/development/tools/build-managers/buck2/default.nix @@ -50,19 +50,22 @@ let # zstd-compressed src = let - suffix = { - # map our platform name to the rust toolchain suffix - # NOTE (aseipp): must be synchronized with update.sh! - x86_64-darwin = "x86_64-apple-darwin"; - aarch64-darwin = "aarch64-apple-darwin"; - x86_64-linux = "x86_64-unknown-linux-musl"; - aarch64-linux = "aarch64-unknown-linux-musl"; - }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + # map our platform name to the rust toolchain suffix + # NOTE (aseipp): must be synchronized with update.sh! + x86_64-darwin = "x86_64-apple-darwin"; + aarch64-darwin = "aarch64-apple-darwin"; + x86_64-linux = "x86_64-unknown-linux-musl"; + aarch64-linux = "aarch64-unknown-linux-musl"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); name = "buck2-${version}-${suffix}.zst"; hash = buildHashes."${stdenv.hostPlatform.system}"; url = "https://github.com/facebook/buck2/releases/download/${version}/buck2-${suffix}.zst"; - in fetchurl { inherit name url hash; }; + in + fetchurl { inherit name url hash; }; # compatible version of buck2 prelude; this is exported via passthru.prelude # for downstream consumers to use when they need to automate any kind of @@ -73,9 +76,11 @@ let name = "buck2-prelude-${version}.tar.gz"; hash = buildHashes."_prelude"; url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz"; - in fetchurl { inherit name url hash; }; + in + fetchurl { inherit name url hash; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "buck2"; version = "unstable-${version}"; # TODO (aseipp): kill 'unstable' once a non-prerelease is made inherit src; @@ -124,12 +129,17 @@ in stdenv.mkDerivation { description = "Fast, hermetic, multi-language build system"; homepage = "https://buck2.build"; changelog = "https://github.com/facebook/buck2/releases/tag/${version}"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; mainProgram = "buck2"; maintainers = with maintainers; [ thoughtpolice ]; platforms = [ - "x86_64-linux" "aarch64-linux" - "x86_64-darwin" "aarch64-darwin" + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" ]; }; } diff --git a/pkgs/development/tools/build-managers/build2/bdep.nix b/pkgs/development/tools/build-managers/build2/bdep.nix index a1a77db45e1b4..0e410058be416 100644 --- a/pkgs/development/tools/build-managers/build2/bdep.nix +++ b/pkgs/development/tools/build-managers/build2/bdep.nix @@ -1,19 +1,25 @@ -{ lib, stdenv -, build2 -, fetchurl -, libbpkg -, libbutl -, libodb -, libodb-sqlite -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared +{ + lib, + stdenv, + build2, + fetchurl, + libbpkg, + libbutl, + libodb, + libodb-sqlite, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, }: stdenv.mkDerivation rec { pname = "bdep"; version = "0.17.0"; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; src = fetchurl { url = "https://pkg.cppget.org/1/alpha/build2/bdep-${version}.tar.gz"; hash = "sha256-+2Hl5kanxWJmOpfePAvvSBSmG3kZLQv/kYIkT4J+kaQ="; diff --git a/pkgs/development/tools/build-managers/build2/bootstrap.nix b/pkgs/development/tools/build-managers/build2/bootstrap.nix index c06be28e462ac..d853adc83ebf7 100644 --- a/pkgs/development/tools/build-managers/build2/bootstrap.nix +++ b/pkgs/development/tools/build-managers/build2/bootstrap.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchurl -, pkgs -, buildPackages -, fixDarwinDylibNames +{ + lib, + stdenv, + fetchurl, + pkgs, + buildPackages, + fixDarwinDylibNames, }: stdenv.mkDerivation rec { pname = "build2-bootstrap"; diff --git a/pkgs/development/tools/build-managers/build2/bpkg.nix b/pkgs/development/tools/build-managers/build2/bpkg.nix index bf9951e7ae172..01a1b52dcf60c 100644 --- a/pkgs/development/tools/build-managers/build2/bpkg.nix +++ b/pkgs/development/tools/build-managers/build2/bpkg.nix @@ -1,21 +1,27 @@ -{ lib, stdenv -, build2 -, fetchurl -, git -, libbpkg -, libbutl -, libodb -, libodb-sqlite -, openssl -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared +{ + lib, + stdenv, + build2, + fetchurl, + git, + libbpkg, + libbutl, + libodb, + libodb-sqlite, + openssl, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, }: stdenv.mkDerivation rec { pname = "bpkg"; version = "0.17.0"; - outputs = [ "out" "doc" "man" ]; + outputs = [ + "out" + "doc" + "man" + ]; src = fetchurl { url = "https://pkg.cppget.org/1/alpha/build2/bpkg-${version}.tar.gz"; diff --git a/pkgs/development/tools/build-managers/build2/default.nix b/pkgs/development/tools/build-managers/build2/default.nix index c02334c98a51e..5b66917f96f65 100644 --- a/pkgs/development/tools/build-managers/build2/default.nix +++ b/pkgs/development/tools/build-managers/build2/default.nix @@ -1,25 +1,37 @@ -{ stdenv, lib -, build2 -, fetchurl -, fixDarwinDylibNames -, libbutl -, libpkgconf -, buildPackages -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? !enableShared +{ + stdenv, + lib, + build2, + fetchurl, + fixDarwinDylibNames, + libbutl, + libpkgconf, + buildPackages, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? !enableShared, }: let - configSharedStatic = enableShared: enableStatic: - if enableShared && enableStatic then "both" - else if enableShared then "shared" - else if enableStatic then "static" - else throw "neither shared nor static libraries requested"; + configSharedStatic = + enableShared: enableStatic: + if enableShared && enableStatic then + "both" + else if enableShared then + "shared" + else if enableStatic then + "static" + else + throw "neither shared nor static libraries requested"; in stdenv.mkDerivation rec { pname = "build2"; version = "0.17.0"; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; setupHook = ./setup-hook.sh; @@ -104,7 +116,10 @@ stdenv.mkDerivation rec { ''; changelog = "https://git.build2.org/cgit/build2/tree/NEWS"; platforms = platforms.all; - maintainers = with maintainers; [ hiro98 r-burns ]; + maintainers = with maintainers; [ + hiro98 + r-burns + ]; mainProgram = "b"; }; } diff --git a/pkgs/development/tools/build-managers/drake/default.nix b/pkgs/development/tools/build-managers/drake/default.nix index 139f8e0436a50..3ccf765d354e2 100644 --- a/pkgs/development/tools/build-managers/drake/default.nix +++ b/pkgs/development/tools/build-managers/drake/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "drake"; @@ -10,7 +14,11 @@ bundlerApp { meta = with lib; { description = "Branch of Rake supporting automatic parallelizing of tasks"; homepage = "http://quix.github.io/rake/"; - maintainers = with maintainers; [ romildo manveru nicknovitski ]; + maintainers = with maintainers; [ + romildo + manveru + nicknovitski + ]; license = licenses.mit; platforms = platforms.unix; }; diff --git a/pkgs/development/tools/build-managers/drake/gemset.nix b/pkgs/development/tools/build-managers/drake/gemset.nix index 09b3bc7ec061c..b31a295137bff 100644 --- a/pkgs/development/tools/build-managers/drake/gemset.nix +++ b/pkgs/development/tools/build-managers/drake/gemset.nix @@ -1,20 +1,20 @@ { comp_tree = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dj9lkfxcczn67l1j12dcxswrfxxd1zgxa344zk6vqs2gwwhy9m9"; type = "gem"; }; version = "1.1.3"; }; drake = { - dependencies = ["comp_tree"]; - groups = ["default"]; - platforms = []; + dependencies = [ "comp_tree" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09gkmdshwdmdnkdxi03dv4rk1dip0wdv6dx14wscrmi0jyk86yag"; type = "gem"; }; diff --git a/pkgs/development/tools/build-managers/fac/default.nix b/pkgs/development/tools/build-managers/fac/default.nix index 63d53e123aad5..ce8b4a52cf2b0 100644 --- a/pkgs/development/tools/build-managers/fac/default.nix +++ b/pkgs/development/tools/build-managers/fac/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, rustPlatform, fetchCrate, git, CoreServices }: +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + git, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "fac-build"; @@ -10,7 +17,6 @@ rustPlatform.buildRustPackage rec { hash = "sha256-+JJVuKUdnjJoQJ4a2EE0O6jZdVoFxPwbPgfD2LfiDPI="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; cargoHash = "sha256-XT4FQVE+buORuZAFZK5Qnf/Fl3QSvw4SHUuCzWhxUdk="; diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index 5f215be7386a7..e5fc56c2249b0 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -1,12 +1,14 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, guileSupport ? false, guile -# avoid guile depend on bootstrap to prevent dependency cycles -, inBootstrap ? false -, pkg-config -, gnumake +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + guileSupport ? false, + guile, + # avoid guile depend on bootstrap to prevent dependency cycles + inBootstrap ? false, + pkg-config, + gnumake, }: let @@ -35,10 +37,14 @@ stdenv.mkDerivation rec { # directory until derivation realization to avoid unnecessary Nix evaluations. patches = lib.filesystem.listFilesRecursive ./patches; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; buildInputs = lib.optionals guileEnabled [ guile ]; - configureFlags = lib.optional guileEnabled "--with-guile" + configureFlags = + lib.optional guileEnabled "--with-guile" # Make uses this test to decide whether it should keep track of # subseconds. Apple made this possible with APFS and macOS 10.13. @@ -49,7 +55,11 @@ stdenv.mkDerivation rec { # See https://github.com/NixOS/nixpkgs/issues/51221 for discussion. ++ lib.optional stdenv.hostPlatform.isDarwin "ac_cv_struct_st_mtim_nsec=no"; - outputs = [ "out" "man" "info" ]; + outputs = [ + "out" + "man" + "info" + ]; separateDebugInfo = true; passthru.tests = { diff --git a/pkgs/development/tools/build-managers/gradle/fetch-deps.nix b/pkgs/development/tools/build-managers/gradle/fetch-deps.nix index a0d3b10ba863d..1474d003f70dc 100644 --- a/pkgs/development/tools/build-managers/gradle/fetch-deps.nix +++ b/pkgs/development/tools/build-managers/gradle/fetch-deps.nix @@ -1,221 +1,277 @@ -{ mitm-cache -, lib -, pkgs -, stdenv -, callPackage +{ + mitm-cache, + lib, + pkgs, + stdenv, + callPackage, }: let - getPkg = attrPath: - lib.getAttrFromPath - (lib.splitString "." (toString attrPath)) - pkgs; + getPkg = attrPath: lib.getAttrFromPath (lib.splitString "." (toString attrPath)) pkgs; in # the derivation to fetch/update deps for -{ pkg ? getPkg attrPath -, pname ? null -, attrPath ? pname -# bwrap flags for the update script (this will be put in bash as-is) -# this is relevant for downstream users -, bwrapFlags ? "--ro-bind \"$PWD\" \"$PWD\"" -# deps path (relative to the package directory, or absolute) -, data -# redirect stdout to stderr to allow the update script to be used with update script combinators -, silent ? true -, useBwrap ? stdenv.hostPlatform.isLinux -} @ attrs: +{ + pkg ? getPkg attrPath, + pname ? null, + attrPath ? pname, + # bwrap flags for the update script (this will be put in bash as-is) + # this is relevant for downstream users + bwrapFlags ? "--ro-bind \"$PWD\" \"$PWD\"", + # deps path (relative to the package directory, or absolute) + data, + # redirect stdout to stderr to allow the update script to be used with update script combinators + silent ? true, + useBwrap ? stdenv.hostPlatform.isLinux, +}@attrs: let - data' = builtins.removeAttrs - (if builtins.isPath data then lib.importJSON data - else if builtins.isString data then lib.importJSON "${dirOf pkg.meta.position}/${data}" - else data) - [ "!comment" "!version" ]; - - parseArtifactUrl = url: let - extension = lib.last (lib.splitString "." url); - splitUrl = lib.splitString "/" url; - artifactId = builtins.elemAt splitUrl (builtins.length splitUrl - 3); - baseVer = builtins.elemAt splitUrl (builtins.length splitUrl - 2); - filename = builtins.elemAt splitUrl (builtins.length splitUrl - 1); - filenameNoExt = lib.removeSuffix ".${extension}" filename; - verCls = lib.removePrefix "${artifactId}-" filenameNoExt; - in rec { - inherit artifactId baseVer filename extension; - isSnapshot = lib.hasSuffix "-SNAPSHOT" baseVer; - version = - if isSnapshot && !lib.hasPrefix "SNAPSHOT" verCls - then builtins.concatStringsSep "-" (lib.take 3 (lib.splitString "-" verCls)) - else baseVer; - classifier = - if verCls == version then null - else lib.removePrefix "${version}-" verCls; - # for snapshots - timestamp = builtins.elemAt (lib.splitString "-" version) 1; - buildNum = builtins.elemAt (lib.splitString "-" version) 2; - }; + data' = + builtins.removeAttrs + ( + if builtins.isPath data then + lib.importJSON data + else if builtins.isString data then + lib.importJSON "${dirOf pkg.meta.position}/${data}" + else + data + ) + [ + "!comment" + "!version" + ]; - parseMetadataUrl = url: let - xmlBase = lib.removeSuffix "/maven-metadata.xml" url; - vMeta = lib.hasSuffix "-SNAPSHOT" xmlBase; - splitBase = lib.splitString "/" xmlBase; - in - if vMeta then { - vMeta = true; - baseVer = builtins.elemAt splitBase (builtins.length splitBase - 1); - artifactId = builtins.elemAt splitBase (builtins.length splitBase - 2); - } else { - vMeta = false; - baseVer = null; - artifactId = builtins.elemAt splitBase (builtins.length splitBase - 1); + parseArtifactUrl = + url: + let + extension = lib.last (lib.splitString "." url); + splitUrl = lib.splitString "/" url; + artifactId = builtins.elemAt splitUrl (builtins.length splitUrl - 3); + baseVer = builtins.elemAt splitUrl (builtins.length splitUrl - 2); + filename = builtins.elemAt splitUrl (builtins.length splitUrl - 1); + filenameNoExt = lib.removeSuffix ".${extension}" filename; + verCls = lib.removePrefix "${artifactId}-" filenameNoExt; + in + rec { + inherit + artifactId + baseVer + filename + extension + ; + isSnapshot = lib.hasSuffix "-SNAPSHOT" baseVer; + version = + if isSnapshot && !lib.hasPrefix "SNAPSHOT" verCls then + builtins.concatStringsSep "-" (lib.take 3 (lib.splitString "-" verCls)) + else + baseVer; + classifier = if verCls == version then null else lib.removePrefix "${version}-" verCls; + # for snapshots + timestamp = builtins.elemAt (lib.splitString "-" version) 1; + buildNum = builtins.elemAt (lib.splitString "-" version) 2; }; - extractHashArtifact = afterHash: let - nameVer = builtins.match "([^/]*)/([^/]*)(/SNAPSHOT)?(/.*)?" afterHash; - artifactId = builtins.elemAt nameVer 0; - version = builtins.elemAt nameVer 1; - isSnapshot = builtins.elemAt nameVer 2 != null; - cls = builtins.elemAt nameVer 3; - in rec { - inherit artifactId version isSnapshot; - baseVer = - if !isSnapshot then version - else builtins.head (builtins.match "(.*)-([^-]*)-([^-]*)" version) + "-SNAPSHOT"; - classifier = - if cls == null then null - else lib.removePrefix "/" cls; - clsSuf = - if classifier == null then "" - else "-${classifier}"; - }; + parseMetadataUrl = + url: + let + xmlBase = lib.removeSuffix "/maven-metadata.xml" url; + vMeta = lib.hasSuffix "-SNAPSHOT" xmlBase; + splitBase = lib.splitString "/" xmlBase; + in + if vMeta then + { + vMeta = true; + baseVer = builtins.elemAt splitBase (builtins.length splitBase - 1); + artifactId = builtins.elemAt splitBase (builtins.length splitBase - 2); + } + else + { + vMeta = false; + baseVer = null; + artifactId = builtins.elemAt splitBase (builtins.length splitBase - 1); + }; + + extractHashArtifact = + afterHash: + let + nameVer = builtins.match "([^/]*)/([^/]*)(/SNAPSHOT)?(/.*)?" afterHash; + artifactId = builtins.elemAt nameVer 0; + version = builtins.elemAt nameVer 1; + isSnapshot = builtins.elemAt nameVer 2 != null; + cls = builtins.elemAt nameVer 3; + in + rec { + inherit artifactId version isSnapshot; + baseVer = + if !isSnapshot then + version + else + builtins.head (builtins.match "(.*)-([^-]*)-([^-]*)" version) + "-SNAPSHOT"; + classifier = if cls == null then null else lib.removePrefix "/" cls; + clsSuf = if classifier == null then "" else "-${classifier}"; + }; # replace base#name/ver with base/name/ver/name-ver - decompressNameVer = prefix: let - splitHash = lib.splitString "#" (builtins.concatStringsSep "/" prefix); - inherit (extractHashArtifact (lib.last splitHash)) artifactId baseVer version clsSuf; - in - if builtins.length splitHash == 1 then builtins.head splitHash - else builtins.concatStringsSep "/${artifactId}/${baseVer}/" (lib.init splitHash ++ [ "${artifactId}-${version}${clsSuf}" ]); + decompressNameVer = + prefix: + let + splitHash = lib.splitString "#" (builtins.concatStringsSep "/" prefix); + inherit (extractHashArtifact (lib.last splitHash)) + artifactId + baseVer + version + clsSuf + ; + in + if builtins.length splitHash == 1 then + builtins.head splitHash + else + builtins.concatStringsSep "/${artifactId}/${baseVer}/" ( + lib.init splitHash ++ [ "${artifactId}-${version}${clsSuf}" ] + ); # `visit` all elements in attrs and merge into a set # attrs will be passed as parent1, parent1 will be passed as parent2 - visitAttrs = parent1: prefix: attrs: - builtins.foldl' - (a: b: a // b) - {} - (lib.mapAttrsToList (visit parent1 attrs prefix) attrs); + visitAttrs = + parent1: prefix: attrs: + builtins.foldl' (a: b: a // b) { } (lib.mapAttrsToList (visit parent1 attrs prefix) attrs); # convert a compressed deps.json into an uncompressed json used for mitm-cache.fetch - visit = parent2: parent1: prefix: k: v: + visit = + parent2: parent1: prefix: k: v: # groupId being present means this is a metadata xml "leaf" and we shouldn't descend further - if builtins.isAttrs v && !v?groupId - then visitAttrs parent1 (prefix ++ [k]) v - else let - url = "${decompressNameVer prefix}.${k}"; - in { - ${url} = - if builtins.isString v then { hash = v; } - else { - text = let - xmlBase = lib.removeSuffix "/maven-metadata.xml" url; - meta = parseMetadataUrl url // v; - inherit (meta) groupId vMeta artifactId baseVer; - - fileList = builtins.filter (x: lib.hasPrefix xmlBase x && x != url) (builtins.attrNames finalData); - jarPomList = map parseArtifactUrl fileList; - - sortByVersion = a: b: (builtins.compareVersions a.version b.version) < 0; - sortedJarPomList = lib.sort sortByVersion jarPomList; - - uniqueVersionFiles = - builtins.map ({ i, x }: x) - (builtins.filter ({ i, x }: i == 0 || (builtins.elemAt sortedJarPomList (i - 1)).version != x.version) - (lib.imap0 (i: x: { inherit i x; }) sortedJarPomList)); - uniqueVersions' = map (x: x.version) uniqueVersionFiles; - releaseVersions = map (x: x.version) (builtins.filter (x: !x.isSnapshot) uniqueVersionFiles); - latestVer = v.latest or v.release or (lib.last uniqueVersions'); - releaseVer = v.release or (lib.last releaseVersions); - - # The very latest version isn't necessarily used by Gradle, so it may not be present in the MITM data. - # In order to generate better metadata xml, if the latest version is known but wasn't fetched by Gradle, - # add it anyway. - uniqueVersions = - uniqueVersions' - ++ lib.optional (!builtins.elem releaseVer uniqueVersions') releaseVer - ++ lib.optional (!builtins.elem latestVer uniqueVersions' && releaseVer != latestVer) latestVer; - - lastUpdated = v.lastUpdated or - (if vMeta then builtins.replaceStrings ["."] [""] snapshotTs - else "20240101123456"); - - # the following are only used for snapshots - snapshotTsAndNum = lib.splitString "-" latestVer; - snapshotTs = builtins.elemAt snapshotTsAndNum 1; - snapshotNum = lib.last snapshotTsAndNum; - - indent = x: s: builtins.concatStringsSep "\n" (map (s: x + s) (lib.splitString "\n" s)); - containsSpecialXmlChars = s: builtins.match ''.*[<>"'&].*'' s != null; - in - # make sure all user-provided data is safe - assert lib.hasInfix "${builtins.replaceStrings ["."] ["/"] groupId}/${artifactId}" url; - assert !containsSpecialXmlChars groupId; - assert !containsSpecialXmlChars lastUpdated; - if vMeta then '' - - - ${groupId} - ${artifactId} - ${baseVer} - - - ${snapshotTs} - ${snapshotNum} - - ${lastUpdated} - - ${builtins.concatStringsSep "\n" (map (x: indent " " '' - ${ - lib.optionalString - (x.classifier != null) - "\n ${x.classifier}" - } - ${x.extension} - ${x.version} - ${builtins.replaceStrings ["."] [""] x.timestamp} - '') sortedJarPomList)} - - - - '' + if builtins.isAttrs v && !v ? groupId then + visitAttrs parent1 (prefix ++ [ k ]) v + else + let + url = "${decompressNameVer prefix}.${k}"; + in + { + ${url} = + if builtins.isString v then + { hash = v; } else - assert !containsSpecialXmlChars latestVer; - assert !containsSpecialXmlChars releaseVer; - '' - - - ${groupId} - ${artifactId} - - ${latestVer} - ${releaseVer} - - ${builtins.concatStringsSep "\n" (map (x: " ${x}") uniqueVersions)} - - ${lastUpdated} - - - ''; - }; - }; + { + text = + let + xmlBase = lib.removeSuffix "/maven-metadata.xml" url; + meta = parseMetadataUrl url // v; + inherit (meta) + groupId + vMeta + artifactId + baseVer + ; - finalData = visitAttrs {} [] data'; -in - mitm-cache.fetch { - name = "${pkg.pname or pkg.name}-deps"; - data = finalData // { "!version" = 1; }; - passthru = lib.optionalAttrs (!builtins.isAttrs data) { - updateScript = callPackage ./update-deps.nix { } { - inherit pkg pname attrPath bwrapFlags data silent useBwrap; + fileList = builtins.filter (x: lib.hasPrefix xmlBase x && x != url) (builtins.attrNames finalData); + jarPomList = map parseArtifactUrl fileList; + + sortByVersion = a: b: (builtins.compareVersions a.version b.version) < 0; + sortedJarPomList = lib.sort sortByVersion jarPomList; + + uniqueVersionFiles = builtins.map ({ i, x }: x) ( + builtins.filter ( + { i, x }: i == 0 || (builtins.elemAt sortedJarPomList (i - 1)).version != x.version + ) (lib.imap0 (i: x: { inherit i x; }) sortedJarPomList) + ); + uniqueVersions' = map (x: x.version) uniqueVersionFiles; + releaseVersions = map (x: x.version) (builtins.filter (x: !x.isSnapshot) uniqueVersionFiles); + latestVer = v.latest or v.release or (lib.last uniqueVersions'); + releaseVer = v.release or (lib.last releaseVersions); + + # The very latest version isn't necessarily used by Gradle, so it may not be present in the MITM data. + # In order to generate better metadata xml, if the latest version is known but wasn't fetched by Gradle, + # add it anyway. + uniqueVersions = + uniqueVersions' + ++ lib.optional (!builtins.elem releaseVer uniqueVersions') releaseVer + ++ lib.optional (!builtins.elem latestVer uniqueVersions' && releaseVer != latestVer) latestVer; + + lastUpdated = + v.lastUpdated + or (if vMeta then builtins.replaceStrings [ "." ] [ "" ] snapshotTs else "20240101123456"); + + # the following are only used for snapshots + snapshotTsAndNum = lib.splitString "-" latestVer; + snapshotTs = builtins.elemAt snapshotTsAndNum 1; + snapshotNum = lib.last snapshotTsAndNum; + + indent = x: s: builtins.concatStringsSep "\n" (map (s: x + s) (lib.splitString "\n" s)); + containsSpecialXmlChars = s: builtins.match ''.*[<>"'&].*'' s != null; + in + # make sure all user-provided data is safe + assert lib.hasInfix "${builtins.replaceStrings [ "." ] [ "/" ] groupId}/${artifactId}" url; + assert !containsSpecialXmlChars groupId; + assert !containsSpecialXmlChars lastUpdated; + if vMeta then + '' + + + ${groupId} + ${artifactId} + ${baseVer} + + + ${snapshotTs} + ${snapshotNum} + + ${lastUpdated} + + ${builtins.concatStringsSep "\n" ( + map ( + x: + indent " " '' + ${ + lib.optionalString (x.classifier != null) "\n ${x.classifier}" + } + ${x.extension} + ${x.version} + ${builtins.replaceStrings [ "." ] [ "" ] x.timestamp} + '' + ) sortedJarPomList + )} + + + + '' + else + assert !containsSpecialXmlChars latestVer; + assert !containsSpecialXmlChars releaseVer; + '' + + + ${groupId} + ${artifactId} + + ${latestVer} + ${releaseVer} + + ${builtins.concatStringsSep "\n" (map (x: " ${x}") uniqueVersions)} + + ${lastUpdated} + + + ''; + }; }; + + finalData = visitAttrs { } [ ] data'; +in +mitm-cache.fetch { + name = "${pkg.pname or pkg.name}-deps"; + data = finalData // { + "!version" = 1; + }; + passthru = lib.optionalAttrs (!builtins.isAttrs data) { + updateScript = callPackage ./update-deps.nix { } { + inherit + pkg + pname + attrPath + bwrapFlags + data + silent + useBwrap + ; }; - } + }; +} diff --git a/pkgs/development/tools/build-managers/gradle/update-deps.nix b/pkgs/development/tools/build-managers/gradle/update-deps.nix index 51959fa69f38f..8dc36c3bd7b42 100644 --- a/pkgs/development/tools/build-managers/gradle/update-deps.nix +++ b/pkgs/development/tools/build-managers/gradle/update-deps.nix @@ -1,125 +1,156 @@ -{ lib -, runtimeShell -, srcOnly -, stdenvNoCC -, writeTextFile -, writeShellScript -, path -, bubblewrap -, coreutils -, curl -, jq -, mitm-cache -, nix -, openssl -, procps -, python3 +{ + lib, + runtimeShell, + srcOnly, + stdenvNoCC, + writeTextFile, + writeShellScript, + path, + bubblewrap, + coreutils, + curl, + jq, + mitm-cache, + nix, + openssl, + procps, + python3, }: -lib.makeOverridable -({ pkg, pname, attrPath, bwrapFlags, data, silent, useBwrap }: -let - keep = [ "MITM_CACHE_HOST" "MITM_CACHE_PORT" "MITM_CACHE_ADDRESS" "MITM_CACHE_CA" "MITM_CACHE_CERT_DIR" ]; - gradleScript = writeShellScript "gradle-commands.sh" '' - set -eo pipefail - export http_proxy="$MITM_CACHE_ADDRESS" - export https_proxy="$MITM_CACHE_ADDRESS" - export SSL_CERT_FILE="$MITM_CACHE_CA" - export NIX_SSL_CERT_FILE="$MITM_CACHE_CA" - export GRADLE_USER_HOME="$(${coreutils}/bin/mktemp -d)" - export IN_GRADLE_UPDATE_DEPS=1 - trap "${coreutils}/bin/rm -rf '$GRADLE_USER_HOME'" SIGINT SIGTERM ERR EXIT - cd "$(${coreutils}/bin/mktemp -d)" - ${coreutils}/bin/mkdir out - export out="$PWD/out" - trap "${coreutils}/bin/rm -rf '$PWD'" SIGINT SIGTERM ERR EXIT - source "$stdenv/setup" - phases="''${prePhases[*]:-} unpackPhase patchPhase ''${preConfigurePhases[*]:-} configurePhase gradleUpdateScript" genericBuild - ''; - source = srcOnly (pkg.overrideAttrs (old: { - mitmCache = ""; - gradleInitScript = ./init-deps.gradle; +lib.makeOverridable ( + { + pkg, + pname, + attrPath, + bwrapFlags, + data, + silent, + useBwrap, + }: + let + keep = [ + "MITM_CACHE_HOST" + "MITM_CACHE_PORT" + "MITM_CACHE_ADDRESS" + "MITM_CACHE_CA" + "MITM_CACHE_CERT_DIR" + ]; + gradleScript = writeShellScript "gradle-commands.sh" '' + set -eo pipefail + export http_proxy="$MITM_CACHE_ADDRESS" + export https_proxy="$MITM_CACHE_ADDRESS" + export SSL_CERT_FILE="$MITM_CACHE_CA" + export NIX_SSL_CERT_FILE="$MITM_CACHE_CA" + export GRADLE_USER_HOME="$(${coreutils}/bin/mktemp -d)" + export IN_GRADLE_UPDATE_DEPS=1 + trap "${coreutils}/bin/rm -rf '$GRADLE_USER_HOME'" SIGINT SIGTERM ERR EXIT + cd "$(${coreutils}/bin/mktemp -d)" + ${coreutils}/bin/mkdir out + export out="$PWD/out" + trap "${coreutils}/bin/rm -rf '$PWD'" SIGINT SIGTERM ERR EXIT + source "$stdenv/setup" + phases="''${prePhases[*]:-} unpackPhase patchPhase ''${preConfigurePhases[*]:-} configurePhase gradleUpdateScript" genericBuild + ''; + source = srcOnly ( + pkg.overrideAttrs (old: { + mitmCache = ""; + gradleInitScript = ./init-deps.gradle; - stdenv = old.stdenv or stdenvNoCC; - })); - sourceDrvPath = builtins.unsafeDiscardOutputDependency source.drvPath; - nixShellKeep = lib.concatMapStringsSep " " (x: "--keep ${x}") keep; -in -writeTextFile { - name = "fetch-deps.sh"; - executable = true; - # see pkgs/common-updater/combinators.nix - derivationArgs.passthru = - { supportedFeatures = lib.optional silent "silent"; } - // lib.optionalAttrs (attrPath != null) { inherit attrPath; }; - text = '' - #!${runtimeShell} - set -eo pipefail - export PATH="${lib.makeBinPath ([ - coreutils curl jq mitm-cache openssl - procps python3.pkgs.ephemeral-port-reserve - ] ++ lib.optional useBwrap bubblewrap)}:$PATH" - outPath="${ - # if this is an absolute path in nix store, use path relative to the store path - if lib.hasPrefix "${builtins.storeDir}/" (toString data) - then builtins.concatStringsSep "/" (lib.drop 1 (lib.splitString "/" (lib.removePrefix "${builtins.storeDir}/" (toString data)))) - # if this is an absolute path anywhere else, just use that path - else if lib.hasPrefix "/" (toString data) - then toString data - # otherwise, use a path relative to the package - else "${dirOf pkg.meta.position}/${data}" - }" + stdenv = old.stdenv or stdenvNoCC; + }) + ); + sourceDrvPath = builtins.unsafeDiscardOutputDependency source.drvPath; + nixShellKeep = lib.concatMapStringsSep " " (x: "--keep ${x}") keep; + in + writeTextFile { + name = "fetch-deps.sh"; + executable = true; + # see pkgs/common-updater/combinators.nix + derivationArgs.passthru = { + supportedFeatures = lib.optional silent "silent"; + } // lib.optionalAttrs (attrPath != null) { inherit attrPath; }; + text = '' + #!${runtimeShell} + set -eo pipefail + export PATH="${ + lib.makeBinPath ( + [ + coreutils + curl + jq + mitm-cache + openssl + procps + python3.pkgs.ephemeral-port-reserve + ] + ++ lib.optional useBwrap bubblewrap + ) + }:$PATH" + outPath="${ + # if this is an absolute path in nix store, use path relative to the store path + if lib.hasPrefix "${builtins.storeDir}/" (toString data) then + builtins.concatStringsSep "/" ( + lib.drop 1 (lib.splitString "/" (lib.removePrefix "${builtins.storeDir}/" (toString data))) + ) + # if this is an absolute path anywhere else, just use that path + else if lib.hasPrefix "/" (toString data) then + toString data + # otherwise, use a path relative to the package + else + "${dirOf pkg.meta.position}/${data}" + }" - pushd "$(mktemp -d)" >/dev/null - MITM_CACHE_DIR="$PWD" - trap "rm -rf '$MITM_CACHE_DIR'" SIGINT SIGTERM ERR EXIT - openssl genrsa -out ca.key 2048 - openssl req -x509 -new -nodes -key ca.key -sha256 -days 1 -out ca.cer -subj "/C=AL/ST=a/L=a/O=a/OU=a/CN=example.org" - export MITM_CACHE_HOST=127.0.0.1 - export MITM_CACHE_PORT="''${mitmCachePort:-$(ephemeral-port-reserve "$MITM_CACHE_HOST")}" - export MITM_CACHE_ADDRESS="$MITM_CACHE_HOST:$MITM_CACHE_PORT" - # forget all redirects - this makes the lockfiles predictable - # not only does this strip CDN URLs, but it also improves security - since the redirects aren't - # stored in the lockfile, a malicious actor can't change the redirect URL stored in the lockfile - mitm-cache \ - -l"$MITM_CACHE_ADDRESS" \ - record \ - --reject '\.(md5|sha(1|256|512:?):?)$' \ - --forget-redirects-from '.*' \ - --record-text '/maven-metadata\.xml$' >/dev/null 2>/dev/null & - MITM_CACHE_PID="$!" - # wait for mitm-cache to fully start - for i in {0..20}; do - ps -p "$MITM_CACHE_PID" >/dev/null || (echo "Failed to start mitm-cache" && exit 1) - curl -so/dev/null "$MITM_CACHE_ADDRESS" && break - [[ "$i" -eq 20 ]] && (echo "Failed to start mitm-cache" && exit 1) - sleep 0.5 - done - trap "kill '$MITM_CACHE_PID'" SIGINT SIGTERM ERR EXIT - export MITM_CACHE_CERT_DIR="$PWD" - export MITM_CACHE_CA="$MITM_CACHE_CERT_DIR/ca.cer" - popd >/dev/null - useBwrap="''${USE_BWRAP:-${toString useBwrap}}" - if [ -n "$useBwrap" ]; then - # bwrap isn't necessary, it's only used to prevent messy build scripts from touching ~ - bwrap \ - --unshare-all --share-net --clearenv --chdir / --setenv HOME /homeless-shelter \ - --tmpfs /home --bind /tmp /tmp --ro-bind /nix /nix --ro-bind /run /run --proc /proc --dev /dev \ - --ro-bind ${toString path} ${toString path} --bind "$MITM_CACHE_CERT_DIR" "$MITM_CACHE_CERT_DIR" \ - ${builtins.concatStringsSep " " (map (x: "--setenv ${x} \"\$${x}\"") keep)} \ - --setenv NIX_BUILD_SHELL ${runtimeShell} ${bwrapFlags} ''${BWRAP_FLAGS:-} \ - -- ${nix}/bin/nix-shell --pure --run ${gradleScript} ${nixShellKeep} ${sourceDrvPath} - else - NIX_BUILD_SHELL=${runtimeShell} nix-shell --pure --run ${gradleScript} ${nixShellKeep} ${sourceDrvPath} - fi${lib.optionalString silent " >&2"} - kill -s SIGINT "$MITM_CACHE_PID" - for i in {0..20}; do - # check for valid json - if jq -e 1 "$MITM_CACHE_DIR/out.json" >/dev/null 2>/dev/null; then - exec ${python3.interpreter} ${./compress-deps-json.py} "$MITM_CACHE_DIR/out.json" "$outPath" - fi - sleep 1 - done - exit 1 - ''; -}) + pushd "$(mktemp -d)" >/dev/null + MITM_CACHE_DIR="$PWD" + trap "rm -rf '$MITM_CACHE_DIR'" SIGINT SIGTERM ERR EXIT + openssl genrsa -out ca.key 2048 + openssl req -x509 -new -nodes -key ca.key -sha256 -days 1 -out ca.cer -subj "/C=AL/ST=a/L=a/O=a/OU=a/CN=example.org" + export MITM_CACHE_HOST=127.0.0.1 + export MITM_CACHE_PORT="''${mitmCachePort:-$(ephemeral-port-reserve "$MITM_CACHE_HOST")}" + export MITM_CACHE_ADDRESS="$MITM_CACHE_HOST:$MITM_CACHE_PORT" + # forget all redirects - this makes the lockfiles predictable + # not only does this strip CDN URLs, but it also improves security - since the redirects aren't + # stored in the lockfile, a malicious actor can't change the redirect URL stored in the lockfile + mitm-cache \ + -l"$MITM_CACHE_ADDRESS" \ + record \ + --reject '\.(md5|sha(1|256|512:?):?)$' \ + --forget-redirects-from '.*' \ + --record-text '/maven-metadata\.xml$' >/dev/null 2>/dev/null & + MITM_CACHE_PID="$!" + # wait for mitm-cache to fully start + for i in {0..20}; do + ps -p "$MITM_CACHE_PID" >/dev/null || (echo "Failed to start mitm-cache" && exit 1) + curl -so/dev/null "$MITM_CACHE_ADDRESS" && break + [[ "$i" -eq 20 ]] && (echo "Failed to start mitm-cache" && exit 1) + sleep 0.5 + done + trap "kill '$MITM_CACHE_PID'" SIGINT SIGTERM ERR EXIT + export MITM_CACHE_CERT_DIR="$PWD" + export MITM_CACHE_CA="$MITM_CACHE_CERT_DIR/ca.cer" + popd >/dev/null + useBwrap="''${USE_BWRAP:-${toString useBwrap}}" + if [ -n "$useBwrap" ]; then + # bwrap isn't necessary, it's only used to prevent messy build scripts from touching ~ + bwrap \ + --unshare-all --share-net --clearenv --chdir / --setenv HOME /homeless-shelter \ + --tmpfs /home --bind /tmp /tmp --ro-bind /nix /nix --ro-bind /run /run --proc /proc --dev /dev \ + --ro-bind ${toString path} ${toString path} --bind "$MITM_CACHE_CERT_DIR" "$MITM_CACHE_CERT_DIR" \ + ${builtins.concatStringsSep " " (map (x: "--setenv ${x} \"\$${x}\"") keep)} \ + --setenv NIX_BUILD_SHELL ${runtimeShell} ${bwrapFlags} ''${BWRAP_FLAGS:-} \ + -- ${nix}/bin/nix-shell --pure --run ${gradleScript} ${nixShellKeep} ${sourceDrvPath} + else + NIX_BUILD_SHELL=${runtimeShell} nix-shell --pure --run ${gradleScript} ${nixShellKeep} ${sourceDrvPath} + fi${lib.optionalString silent " >&2"} + kill -s SIGINT "$MITM_CACHE_PID" + for i in {0..20}; do + # check for valid json + if jq -e 1 "$MITM_CACHE_DIR/out.json" >/dev/null 2>/dev/null; then + exec ${python3.interpreter} ${./compress-deps-json.py} "$MITM_CACHE_DIR/out.json" "$outPath" + fi + sleep 1 + done + exit 1 + ''; + } +) diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix index b500d7d9cc406..ca8c6a6a59fef 100644 --- a/pkgs/development/tools/build-managers/gup/default.nix +++ b/pkgs/development/tools/build-managers/gup/default.nix @@ -1,5 +1,13 @@ -{ stdenv, fetchFromGitHub, nix-update-source, lib, python3 -, which, runtimeShell, pylint }: +{ + stdenv, + fetchFromGitHub, + nix-update-source, + lib, + python3, + which, + runtimeShell, + pylint, +}: stdenv.mkDerivation rec { version = "0.9.2"; src = fetchFromGitHub { @@ -9,7 +17,11 @@ stdenv.mkDerivation rec { rev = "version-${version}"; }; pname = "gup"; - nativeBuildInputs = [ python3 which pylint ]; + nativeBuildInputs = [ + python3 + which + pylint + ]; buildInputs = [ python3 ]; strictDeps = true; buildPhase = "make python"; diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix index b377ca2fc955d..a24cfa5009148 100644 --- a/pkgs/development/tools/build-managers/moon/default.nix +++ b/pkgs/development/tools/build-managers/moon/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, darwin -, stdenv -, openssl -, pkg-config +{ + lib, + rustPlatform, + fetchFromGitHub, + darwin, + stdenv, + openssl, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,12 @@ rustPlatform.buildRustPackage rec { OPENSSL_NO_VENDOR = 1; }; - buildInputs = [ openssl ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.SystemConfiguration - ]; + ]; nativeBuildInputs = [ pkg-config ]; # Some tests fail, because test using internet connection and install NodeJS by example diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix index 9c642123ee4d1..fb2cb702e5b57 100644 --- a/pkgs/development/tools/build-managers/qbs/default.nix +++ b/pkgs/development/tools/build-managers/qbs/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qtscript }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + qtscript, +}: stdenv.mkDerivation rec { pname = "qbs"; @@ -16,15 +23,21 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; - qmakeFlags = [ "QBS_INSTALL_PREFIX=$(out)" "qbs.pro" ]; + qmakeFlags = [ + "QBS_INSTALL_PREFIX=$(out)" + "qbs.pro" + ]; - buildInputs = [ qtbase qtscript ]; + buildInputs = [ + qtbase + qtscript + ]; meta = with lib; { description = "Tool that helps simplify the build process for developing projects across multiple platforms"; homepage = "https://wiki.qt.io/Qbs"; license = licenses.lgpl3; - maintainers = []; + maintainers = [ ]; platforms = platforms.linux; }; } diff --git a/pkgs/development/tools/build-managers/rake/default.nix b/pkgs/development/tools/build-managers/rake/default.nix index 0017a099be0de..73dbe5bea416c 100644 --- a/pkgs/development/tools/build-managers/rake/default.nix +++ b/pkgs/development/tools/build-managers/rake/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "rake"; @@ -10,8 +14,11 @@ bundlerApp { meta = with lib; { description = "Software task management and build automation tool"; homepage = "https://github.com/ruby/rake"; - license = with licenses; mit; - maintainers = with maintainers; [ manveru nicknovitski ]; + license = with licenses; mit; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; platforms = platforms.unix; mainProgram = "rake"; }; diff --git a/pkgs/development/tools/build-managers/rake/gemset.nix b/pkgs/development/tools/build-managers/rake/gemset.nix index 365174a7e971e..0cf78683c486a 100644 --- a/pkgs/development/tools/build-managers/rake/gemset.nix +++ b/pkgs/development/tools/build-managers/rake/gemset.nix @@ -1,9 +1,9 @@ { rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix index b73553466cbb8..b6fc00753c5c2 100644 --- a/pkgs/development/tools/build-managers/rebar/default.nix +++ b/pkgs/development/tools/build-managers/rebar/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, erlang }: +{ + lib, + stdenv, + fetchFromGitHub, + erlang, +}: stdenv.mkDerivation rec { pname = "rebar"; diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index 651bc16be06bc..9a70da3f09fdb 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, fetchgit, - fetchHex, erlang, makeWrapper, - writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchgit, + fetchHex, + erlang, + makeWrapper, + writeScript, + common-updater-scripts, + coreutils, + git, + gnused, + nix, + rebar3-nix, +}: let version = "3.24.0"; @@ -24,9 +37,11 @@ let postPatch = '' mkdir -p _checkouts _build/default/lib/ - ${toString (lib.mapAttrsToList (k: v: '' - cp -R --no-preserve=mode ${v} _checkouts/${k} - '') deps)} + ${toString ( + lib.mapAttrsToList (k: v: '' + cp -R --no-preserve=mode ${v} _checkouts/${k} + '') deps + )} # Bootstrap script expects the dependencies in _build/default/lib # TODO: Make it accept checkouts? @@ -62,7 +77,7 @@ let of build configuration work. rebar also provides dependency management, enabling application writers to easily re-use common libraries from a variety of locations (hex.pm, git, hg, and so on). - ''; + ''; platforms = lib.platforms.unix; maintainers = lib.teams.beam.members; @@ -79,7 +94,7 @@ let git gnused nix - (rebar3WithPlugins { globalPlugins = [rebar3-nix]; }) + (rebar3WithPlugins { globalPlugins = [ rebar3-nix ]; }) ] } latest=$(list-git-tags | sed -n '/[\d\.]\+/p' | sort -V | tail -1) @@ -99,27 +114,41 @@ let # Alias rebar3 so we can use it as default parameter below _rebar3 = rebar3; - rebar3WithPlugins = { plugins ? [ ], globalPlugins ? [ ], rebar3 ? _rebar3 }: + rebar3WithPlugins = + { + plugins ? [ ], + globalPlugins ? [ ], + rebar3 ? _rebar3, + }: let pluginLibDirs = map (p: "${p}/lib/erlang/lib") (lib.unique (plugins ++ globalPlugins)); globalPluginNames = lib.unique (map (p: p.packageName) globalPlugins); - rebar3Patched = (rebar3.overrideAttrs (old: { - - # skip-plugins.patch is necessary because otherwise rebar3 will always - # try to fetch plugins if they are not already present in _build. - # - # global-deps.patch makes it possible to use REBAR_GLOBAL_PLUGINS to - # instruct rebar3 to always load a certain plugin. It is necessary since - # REBAR_GLOBAL_CONFIG_DIR doesn't seem to work for this. - patches = [ ./skip-plugins.patch ./global-plugins.patch ]; - - # our patches cause the tests to fail - doCheck = false; - })); - in stdenv.mkDerivation { + rebar3Patched = ( + rebar3.overrideAttrs (old: { + + # skip-plugins.patch is necessary because otherwise rebar3 will always + # try to fetch plugins if they are not already present in _build. + # + # global-deps.patch makes it possible to use REBAR_GLOBAL_PLUGINS to + # instruct rebar3 to always load a certain plugin. It is necessary since + # REBAR_GLOBAL_CONFIG_DIR doesn't seem to work for this. + patches = [ + ./skip-plugins.patch + ./global-plugins.patch + ]; + + # our patches cause the tests to fail + doCheck = false; + }) + ); + in + stdenv.mkDerivation { pname = "rebar3-with-plugins"; inherit (rebar3) version; - nativeBuildInputs = [ erlang makeWrapper ]; + nativeBuildInputs = [ + erlang + makeWrapper + ]; unpackPhase = "true"; # Here we extract the rebar3 escript (like `rebar3_prv_local_install.erl`) and @@ -141,4 +170,7 @@ let --add-flags "+sbtu +A1 -noshell -boot start_clean -s rebar3 main -extra" ''; }; -in { inherit rebar3 rebar3WithPlugins; } +in +{ + inherit rebar3 rebar3WithPlugins; +} diff --git a/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix b/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix index 7f6be584098d7..18fa145d42956 100644 --- a/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix +++ b/pkgs/development/tools/build-managers/rebar3/rebar-deps.nix @@ -1,6 +1,14 @@ # Generated by rebar3_nix -let fetchOnly = { src, ... }: src; -in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }: +let + fetchOnly = { src, ... }: src; +in +{ + builder ? fetchOnly, + fetchHex, + fetchgit, + fetchFromGitHub, + overrides ? (x: y: { }), +}: let self = packages // (overrides self packages); packages = with self; { @@ -15,4 +23,5 @@ let beamDeps = [ ]; }; }; -in self +in +self diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix index 57a8f2673c47d..be62398d179c3 100644 --- a/pkgs/development/tools/build-managers/sbt/default.nix +++ b/pkgs/development/tools/build-managers/sbt/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, jre -, autoPatchelfHook -, zlib -, ncurses +{ + lib, + stdenv, + fetchurl, + jre, + autoPatchelfHook, + zlib, + ncurses, }: stdenv.mkDerivation (finalAttrs: { @@ -39,9 +40,12 @@ stdenv.mkDerivation (finalAttrs: { cp -ra . $out/share/sbt ln -sT ../share/sbt/bin/sbt $out/bin/sbt ln -sT ../share/sbt/bin/sbtn-${ - if (stdenv.hostPlatform.isDarwin) then "universal-apple-darwin" - else if (stdenv.hostPlatform.isAarch64) then "aarch64-pc-linux" - else "x86_64-pc-linux" + if (stdenv.hostPlatform.isDarwin) then + "universal-apple-darwin" + else if (stdenv.hostPlatform.isAarch64) then + "aarch64-pc-linux" + else + "x86_64-pc-linux" } $out/bin/sbtn runHook postInstall @@ -55,7 +59,10 @@ stdenv.mkDerivation (finalAttrs: { binaryNativeCode ]; description = "Build tool for Scala, Java and more"; - maintainers = with maintainers; [ nequissimus kashw2 ]; + maintainers = with maintainers; [ + nequissimus + kashw2 + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/development/tools/build-managers/sbt/scala-native.nix b/pkgs/development/tools/build-managers/sbt/scala-native.nix index 5dc5cf7eb3e05..86df0b1396124 100644 --- a/pkgs/development/tools/build-managers/sbt/scala-native.nix +++ b/pkgs/development/tools/build-managers/sbt/scala-native.nix @@ -1,14 +1,41 @@ -{ lib, sbt, makeWrapper, boehmgc, libunwind, re2, llvmPackages, zlib }: +{ + lib, + sbt, + makeWrapper, + boehmgc, + libunwind, + re2, + llvmPackages, + zlib, +}: -sbt.overrideAttrs(previousAttrs: { +sbt.overrideAttrs (previousAttrs: { nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ makeWrapper ]; - postFixup = (previousAttrs.postFixup or "") + '' - wrapProgram $out/bin/sbt \ - --set CLANG_PATH "${llvmPackages.clang}/bin/clang" \ - --set CLANGPP_PATH "${llvmPackages.clang}/bin/clang" \ - --set CPATH "${lib.makeSearchPathOutput "dev" "include" [ re2 zlib boehmgc libunwind llvmPackages.libcxx ]}/c++/v1" \ - --set LIBRARY_PATH "${lib.makeLibraryPath [ re2 zlib boehmgc libunwind llvmPackages.libcxx ]}" \ - --set NIX_CFLAGS_LINK "-lc++" - ''; + postFixup = + (previousAttrs.postFixup or "") + + '' + wrapProgram $out/bin/sbt \ + --set CLANG_PATH "${llvmPackages.clang}/bin/clang" \ + --set CLANGPP_PATH "${llvmPackages.clang}/bin/clang" \ + --set CPATH "${ + lib.makeSearchPathOutput "dev" "include" [ + re2 + zlib + boehmgc + libunwind + llvmPackages.libcxx + ] + }/c++/v1" \ + --set LIBRARY_PATH "${ + lib.makeLibraryPath [ + re2 + zlib + boehmgc + libunwind + llvmPackages.libcxx + ] + }" \ + --set NIX_CFLAGS_LINK "-lc++" + ''; }) diff --git a/pkgs/development/tools/build-managers/scala-cli/default.nix b/pkgs/development/tools/build-managers/scala-cli/default.nix index 3a0eb79b24303..9a7c1b45cf9e8 100644 --- a/pkgs/development/tools/build-managers/scala-cli/default.nix +++ b/pkgs/development/tools/build-managers/scala-cli/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, coreutils -, lib -, installShellFiles -, zlib -, autoPatchelfHook -, fetchurl -, makeWrapper -, callPackage -, jre -, testers -, scala-cli +{ + stdenv, + coreutils, + lib, + installShellFiles, + zlib, + autoPatchelfHook, + fetchurl, + makeWrapper, + callPackage, + jre, + testers, + scala-cli, }: let @@ -21,16 +22,24 @@ let in stdenv.mkDerivation { inherit pname version; - nativeBuildInputs = [ installShellFiles makeWrapper ] - ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; buildInputs = assert lib.assertMsg (lib.versionAtLeast jre.version "17.0.0") '' scala-cli requires Java 17 or newer, but ${jre.name} is ${jre.version} ''; - [ coreutils zlib stdenv.cc.cc ]; + [ + coreutils + zlib + stdenv.cc.cc + ]; src = let - asset = assets."${stdenv.hostPlatform.system}" or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); + asset = + assets."${stdenv.hostPlatform.system}" + or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); in fetchurl { url = "https://github.com/Virtuslab/scala-cli/releases/download/v${version}/${asset.asset}"; @@ -54,19 +63,21 @@ stdenv.mkDerivation { # We need to call autopatchelf before generating completions dontAutoPatchelf = true; - postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - autoPatchelf $out - '' + '' - # hack to ensure the completion function looks right - # as $0 is used to generate the compdef directive - mkdir temp - cp $out/bin/.scala-cli-wrapped temp/scala-cli - PATH="./temp:$PATH" + postFixup = + lib.optionalString stdenv.hostPlatform.isLinux '' + autoPatchelf $out + '' + + '' + # hack to ensure the completion function looks right + # as $0 is used to generate the compdef directive + mkdir temp + cp $out/bin/.scala-cli-wrapped temp/scala-cli + PATH="./temp:$PATH" - installShellCompletion --cmd scala-cli \ - --bash <(scala-cli completions bash) \ - --zsh <(scala-cli completions zsh) - ''; + installShellCompletion --cmd scala-cli \ + --bash <(scala-cli completions bash) \ + --zsh <(scala-cli completions zsh) + ''; meta = with lib; { homepage = "https://scala-cli.virtuslab.org"; diff --git a/pkgs/development/tools/build-managers/scala-cli/update.nix b/pkgs/development/tools/build-managers/scala-cli/update.nix index fd79a1cf3a8b9..80b34a4d9d1d1 100644 --- a/pkgs/development/tools/build-managers/scala-cli/update.nix +++ b/pkgs/development/tools/build-managers/scala-cli/update.nix @@ -1,8 +1,31 @@ -{ lib, curl, writeShellScript, jq, gnused, git, nix, coreutils }: { platforms, pname, version }: +{ + lib, + curl, + writeShellScript, + jq, + gnused, + git, + nix, + coreutils, +}: +{ + platforms, + pname, + version, +}: writeShellScript "${pname}-update-script" '' set -o errexit - PATH=${lib.makeBinPath [ curl jq gnused git nix coreutils ]} + PATH=${ + lib.makeBinPath [ + curl + jq + gnused + git + nix + coreutils + ] + } latest_version=$(curl -s "https://api.github.com/repos/VirtusLab/scala-cli/releases?per_page=1" | jq ".[0].tag_name" --raw-output | sed 's/^v//') diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix index 94e0bc9a27847..dd4a752025617 100644 --- a/pkgs/development/tools/build-managers/shards/default.nix +++ b/pkgs/development/tools/build-managers/shards/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, crystal +{ + lib, + fetchFromGitHub, + crystal, }: let diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix index d89a0e3c60f3f..4b2ea26f69851 100644 --- a/pkgs/development/tools/buildah/default.nix +++ b/pkgs/development/tools/buildah/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, go-md2man -, installShellFiles -, pkg-config -, gpgme -, lvm2 -, btrfs-progs -, libapparmor -, libselinux -, libseccomp -, testers -, buildah +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + go-md2man, + installShellFiles, + pkg-config, + gpgme, + lvm2, + btrfs-progs, + libapparmor, + libselinux, + libseccomp, + testers, + buildah, }: buildGoModule rec { @@ -26,24 +27,33 @@ buildGoModule rec { hash = "sha256-avQdK7+kMrPc8rp/2nTiUC/ZTW8nUem9v3u0xsE0oGM="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; vendorHash = null; doCheck = false; - nativeBuildInputs = [ go-md2man installShellFiles pkg-config ]; - - buildInputs = [ - gpgme - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - btrfs-progs - libapparmor - libseccomp - libselinux - lvm2 + nativeBuildInputs = [ + go-md2man + installShellFiles + pkg-config ]; + buildInputs = + [ + gpgme + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + btrfs-progs + libapparmor + libseccomp + libselinux + lvm2 + ]; + buildPhase = '' runHook preBuild patchShebangs . @@ -77,4 +87,3 @@ buildGoModule rec { maintainers = with maintainers; [ ] ++ teams.podman.members; }; } - diff --git a/pkgs/development/tools/buildah/wrapper.nix b/pkgs/development/tools/buildah/wrapper.nix index 1b27c4899715d..9da8c022ac769 100644 --- a/pkgs/development/tools/buildah/wrapper.nix +++ b/pkgs/development/tools/buildah/wrapper.nix @@ -1,69 +1,79 @@ -{ buildah-unwrapped -, runCommand -, makeWrapper -, symlinkJoin -, lib -, stdenv -, extraPackages ? [] -, runc # Default container runtime -, crun # Container runtime (default with cgroups v2 for podman/buildah) -, conmon # Container runtime monitor -, slirp4netns # User-mode networking for unprivileged namespaces -, fuse-overlayfs # CoW for images, much faster than default vfs -, util-linux # nsenter -, iptables -, aardvark-dns -, netavark -, passt +{ + buildah-unwrapped, + runCommand, + makeWrapper, + symlinkJoin, + lib, + stdenv, + extraPackages ? [ ], + runc, # Default container runtime + crun, # Container runtime (default with cgroups v2 for podman/buildah) + conmon, # Container runtime monitor + slirp4netns, # User-mode networking for unprivileged namespaces + fuse-overlayfs, # CoW for images, much faster than default vfs + util-linux, # nsenter + iptables, + aardvark-dns, + netavark, + passt, }: let - binPath = lib.makeBinPath ([ - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - runc - crun - conmon - slirp4netns - fuse-overlayfs - util-linux - iptables - ] ++ extraPackages); + binPath = lib.makeBinPath ( + [ + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + runc + crun + conmon + slirp4netns + fuse-overlayfs + util-linux + iptables + ] + ++ extraPackages + ); helpersBin = symlinkJoin { name = "${buildah-unwrapped.pname}-helper-binary-wrapper-${buildah-unwrapped.version}"; # this only works for some binaries, others may need to be added to `binPath` or in the modules - paths = [ - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - aardvark-dns - netavark - passt - ]; + paths = + [ + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + aardvark-dns + netavark + passt + ]; }; -in runCommand buildah-unwrapped.name { - name = "${buildah-unwrapped.pname}-wrapper-${buildah-unwrapped.version}"; - inherit (buildah-unwrapped) pname version passthru; +in +runCommand buildah-unwrapped.name + { + name = "${buildah-unwrapped.pname}-wrapper-${buildah-unwrapped.version}"; + inherit (buildah-unwrapped) pname version passthru; - preferLocalBuild = true; + preferLocalBuild = true; - meta = builtins.removeAttrs buildah-unwrapped.meta [ "outputsToInstall" ]; + meta = builtins.removeAttrs buildah-unwrapped.meta [ "outputsToInstall" ]; - outputs = [ - "out" - "man" - ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ - makeWrapper - ]; + nativeBuildInputs = [ + makeWrapper + ]; -} '' - ln -s ${buildah-unwrapped.man} $man + } + '' + ln -s ${buildah-unwrapped.man} $man - mkdir -p $out/bin - ln -s ${buildah-unwrapped}/share $out/share - makeWrapper ${buildah-unwrapped}/bin/buildah $out/bin/buildah \ - --set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \ - --prefix PATH : ${binPath} -'' + mkdir -p $out/bin + ln -s ${buildah-unwrapped}/share $out/share + makeWrapper ${buildah-unwrapped}/bin/buildah $out/bin/buildah \ + --set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \ + --prefix PATH : ${binPath} + '' diff --git a/pkgs/development/tools/cadre/default.nix b/pkgs/development/tools/cadre/default.nix index 17b505bf2a9d1..1694f36647ee4 100644 --- a/pkgs/development/tools/cadre/default.nix +++ b/pkgs/development/tools/cadre/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "cadre"; @@ -9,9 +13,12 @@ bundlerApp { meta = with lib; { description = "Toolkit to add Ruby development - in-editor coverage, libnotify of test runs"; - homepage = "https://github.com/nyarly/cadre"; - license = licenses.mit; - maintainers = with maintainers; [ nyarly nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/nyarly/cadre"; + license = licenses.mit; + maintainers = with maintainers; [ + nyarly + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/cadre/gemset.nix b/pkgs/development/tools/cadre/gemset.nix index e98f5c5f3e693..3219fa88c12cf 100644 --- a/pkgs/development/tools/cadre/gemset.nix +++ b/pkgs/development/tools/cadre/gemset.nix @@ -1,8 +1,12 @@ { cadre = { - dependencies = ["thor" "tilt" "valise"]; + dependencies = [ + "thor" + "tilt" + "valise" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07q60s1bm2xar46g00ls5fjkn6dm2kfxhsz9ayblc31x5kr8d83a"; type = "gem"; }; @@ -10,7 +14,7 @@ }; thor = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; type = "gem"; }; @@ -18,7 +22,7 @@ }; tilt = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; @@ -26,7 +30,7 @@ }; valise = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1arsbmk2gifrhv244qrld7s3202xrnxy6vlc5gqklg70dpsinbn5"; type = "gem"; }; diff --git a/pkgs/development/tools/ceedling/default.nix b/pkgs/development/tools/ceedling/default.nix index 25c6dd5bb8364..798369fb72051 100644 --- a/pkgs/development/tools/ceedling/default.nix +++ b/pkgs/development/tools/ceedling/default.nix @@ -1,5 +1,6 @@ -{ lib -, bundlerApp +{ + lib, + bundlerApp, }: bundlerApp { @@ -9,8 +10,8 @@ bundlerApp { meta = with lib; { description = "Build system for C projects that is something of an extension around Ruby's Rake"; - homepage = "http://www.throwtheswitch.org/ceedling"; - license = licenses.mit; - platforms = platforms.unix; + homepage = "http://www.throwtheswitch.org/ceedling"; + license = licenses.mit; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/ceedling/gemset.nix b/pkgs/development/tools/ceedling/gemset.nix index e094c7dd4d671..953161915e61b 100644 --- a/pkgs/development/tools/ceedling/gemset.nix +++ b/pkgs/development/tools/ceedling/gemset.nix @@ -1,50 +1,55 @@ { ceedling = { - dependencies = ["constructor" "deep_merge" "rake" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "constructor" + "deep_merge" + "rake" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jjvz14dg85v8c4raxvk618rq7f6kyna5148901xciz2zjpm3bri"; type = "gem"; }; version = "0.31.1"; }; constructor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02qmp08kcvi5dkz3lxm5yck9msfwfx1msvrrz9d6z4klc14q889y"; type = "gem"; }; version = "2.0.0"; }; deep_merge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3"; type = "gem"; }; version = "1.2.2"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; type = "gem"; }; diff --git a/pkgs/development/tools/click/default.nix b/pkgs/development/tools/click/default.nix index 3508b4cddbcef..b703b2a4eb634 100644 --- a/pkgs/development/tools/click/default.nix +++ b/pkgs/development/tools/click/default.nix @@ -1,19 +1,20 @@ -{ lib -, fetchFromGitLab -, buildPythonApplication -, autoreconfHook -, debian -, perl -, vala -, pkg-config -, libgee -, json-glib -, properties-cpp -, gobject-introspection -, getopt -, setuptools -, pygobject3 -, wrapGAppsHook3 +{ + lib, + fetchFromGitLab, + buildPythonApplication, + autoreconfHook, + debian, + perl, + vala, + pkg-config, + libgee, + json-glib, + properties-cpp, + gobject-introspection, + getopt, + setuptools, + pygobject3, + wrapGAppsHook3, }: buildPythonApplication { @@ -86,7 +87,10 @@ buildPythonApplication { description = "Tool to build click packages. Mainly used for Ubuntu Touch"; homepage = "https://gitlab.com/ubports/development/core/click"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ ilyakooo0 OPNA2608 ]; + maintainers = with lib.maintainers; [ + ilyakooo0 + OPNA2608 + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix index 281f36dfe0070..37d7b3219701f 100644 --- a/pkgs/development/tools/cmake-format/default.nix +++ b/pkgs/development/tools/cmake-format/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonApplication -, fetchPypi -, autopep8 -, flake8 -, jinja2 -, pylint -, pyyaml -, six +{ + lib, + buildPythonApplication, + fetchPypi, + autopep8, + flake8, + jinja2, + pylint, + pyyaml, + six, }: buildPythonApplication rec { @@ -22,7 +23,14 @@ buildPythonApplication rec { sha256 = "0kmggnfbv6bba75l3zfzqwk0swi90brjka307m2kcz2w35kr8jvn"; }; - propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml six ]; + propagatedBuildInputs = [ + autopep8 + flake8 + jinja2 + pylint + pyyaml + six + ]; doCheck = false; diff --git a/pkgs/development/tools/cocoapods/default.nix b/pkgs/development/tools/cocoapods/default.nix index 49f7cc3134afb..ced83c48468e2 100644 --- a/pkgs/development/tools/cocoapods/default.nix +++ b/pkgs/development/tools/cocoapods/default.nix @@ -1,5 +1,9 @@ -{ lib, bundlerApp, ruby -, beta ? false }: +{ + lib, + bundlerApp, + ruby, + beta ? false, +}: bundlerApp { inherit ruby; @@ -13,11 +17,11 @@ bundlerApp { passthru.updateScript = toString ./update; meta = with lib; { - description = "Manages dependencies for your Xcode projects"; - homepage = "https://github.com/CocoaPods/CocoaPods"; - license = licenses.mit; - platforms = platforms.darwin; - maintainers = with maintainers; [ + description = "Manages dependencies for your Xcode projects"; + homepage = "https://github.com/CocoaPods/CocoaPods"; + license = licenses.mit; + platforms = platforms.darwin; + maintainers = with maintainers; [ peterromfeldhk ]; mainProgram = "pod"; diff --git a/pkgs/development/tools/cocoapods/gemset-beta.nix b/pkgs/development/tools/cocoapods/gemset-beta.nix index 381bf3a188f32..b37e23adc0b6b 100644 --- a/pkgs/development/tools/cocoapods/gemset-beta.nix +++ b/pkgs/development/tools/cocoapods/gemset-beta.nix @@ -1,452 +1,509 @@ { activesupport = { - dependencies = ["base64" "benchmark" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "benchmark" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12ijz1mmg70agw4d91hjdyzvma3dzs52mchasslxyn7p9j960qs3"; type = "gem"; }; version = "7.2.2"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; algoliasearch = { - dependencies = ["httpclient" "json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "httpclient" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ly8zsgvih540xmxr098hsngv61cf119wf28q5hbvi1f7kgwvh96"; type = "gem"; }; version = "1.27.5"; }; atomos = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; type = "gem"; }; version = "0.1.3"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; benchmark = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wghmhwjzv4r9mdcny4xfz2h2cm7ci24md79rvy2x65r4i99k9sc"; type = "gem"; }; version = "0.3.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; CFPropertyList = { - dependencies = ["base64" "nkf" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "nkf" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4"; type = "gem"; }; version = "3.0.7"; }; claide = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d"; type = "gem"; }; version = "1.1.0"; }; cocoapods = { - dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "claide" + "cocoapods-core" + "cocoapods-deintegrate" + "cocoapods-downloader" + "cocoapods-plugins" + "cocoapods-search" + "cocoapods-trunk" + "cocoapods-try" + "colored2" + "escape" + "fourflusher" + "gh_inspector" + "molinillo" + "nap" + "ruby-macho" + "xcodeproj" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0phyvpx78jlrpvldbxjmzq92mfx6l66va2fz2s5xpwrdydhciw8g"; type = "gem"; }; version = "1.16.2"; }; cocoapods-core = { - dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "addressable" + "algoliasearch" + "concurrent-ruby" + "fuzzy_match" + "nap" + "netrc" + "public_suffix" + "typhoeus" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ay1dwjg79rfa6mbfyy96in0k364dgn7s8ps6v7n07k9432bbcab"; type = "gem"; }; version = "1.16.2"; }; cocoapods-deintegrate = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i"; type = "gem"; }; version = "1.0.5"; }; cocoapods-downloader = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ldnwwsx44i2xsdmsmyz9xrar19lfy5s5xslvral1p3674dvwvmv"; type = "gem"; }; version = "2.1"; }; cocoapods-plugins = { - dependencies = ["nap"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nap" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj"; type = "gem"; }; version = "1.0.0"; }; cocoapods-search = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv"; type = "gem"; }; version = "1.0.1"; }; cocoapods-trunk = { - dependencies = ["nap" "netrc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nap" + "netrc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cgdx7z9psxxrsa13fk7qc9i6jskrwcafhrdz94avzia2y6dlnsz"; type = "gem"; }; version = "1.6.0"; }; cocoapods-try = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znyp625rql37ivb5rk9fk9564cmax8icxfr041ysivpdrn98nql"; type = "gem"; }; version = "1.2.0"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; escape = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4"; type = "gem"; }; version = "0.0.4"; }; ethon = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; type = "gem"; }; version = "0.16.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; fourflusher = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v"; type = "gem"; }; version = "2.3.1"; }; fuzzy_match = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm"; type = "gem"; }; version = "2.0.4"; }; gh_inspector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; type = "gem"; }; version = "1.1.3"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03q7kbadhbyfnz21abv2b9dyqnjvxpd51ppqihg40rrimw1vm6id"; type = "gem"; }; version = "2.7.6"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; molinillo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg"; type = "gem"; }; version = "0.8.0"; }; nanaimo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08q73nchv8cpk28h1sdnf5z6a862fcf4mxy1d58z25xb3dankw7s"; type = "gem"; }; version = "0.4.0"; }; nap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll"; type = "gem"; }; version = "1.1.0"; }; netrc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; type = "gem"; }; version = "0.11.0"; }; nkf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv"; type = "gem"; }; version = "0.2.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb"; type = "gem"; }; version = "4.0.7"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; ruby-macho = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jgmhj4srl7cck1ipbjys6q4klcs473gq90bm59baw4j1wpfaxch"; type = "gem"; }; version = "2.5.1"; }; securerandom = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q"; type = "gem"; }; version = "0.3.1"; }; typhoeus = { - dependencies = ["ethon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ethon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw"; type = "gem"; }; version = "1.4.1"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; xcodeproj = { - dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "atomos" + "claide" + "colored2" + "nanaimo" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lslz1kfb8jnd1ilgg02qx0p0y6yiq8wwk84mgg2ghh58lxsgiwc"; type = "gem"; }; diff --git a/pkgs/development/tools/cocoapods/gemset.nix b/pkgs/development/tools/cocoapods/gemset.nix index 092d4f15ae56d..d65ed21c8e6cc 100644 --- a/pkgs/development/tools/cocoapods/gemset.nix +++ b/pkgs/development/tools/cocoapods/gemset.nix @@ -1,32 +1,47 @@ { activesupport = { - dependencies = ["base64" "benchmark" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "benchmark" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12ijz1mmg70agw4d91hjdyzvma3dzs52mchasslxyn7p9j960qs3"; type = "gem"; }; version = "7.2.2"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; algoliasearch = { - dependencies = ["httpclient" "json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "httpclient" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ly8zsgvih540xmxr098hsngv61cf119wf28q5hbvi1f7kgwvh96"; type = "gem"; }; @@ -34,140 +49,175 @@ }; atomos = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; type = "gem"; }; version = "0.1.3"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; benchmark = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wghmhwjzv4r9mdcny4xfz2h2cm7ci24md79rvy2x65r4i99k9sc"; type = "gem"; }; version = "0.3.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; CFPropertyList = { - dependencies = ["base64" "nkf" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "nkf" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4"; type = "gem"; }; version = "3.0.7"; }; claide = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d"; type = "gem"; }; version = "1.1.0"; }; cocoapods = { - dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "claide" + "cocoapods-core" + "cocoapods-deintegrate" + "cocoapods-downloader" + "cocoapods-plugins" + "cocoapods-search" + "cocoapods-trunk" + "cocoapods-try" + "colored2" + "escape" + "fourflusher" + "gh_inspector" + "molinillo" + "nap" + "ruby-macho" + "xcodeproj" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0phyvpx78jlrpvldbxjmzq92mfx6l66va2fz2s5xpwrdydhciw8g"; type = "gem"; }; version = "1.16.2"; }; cocoapods-core = { - dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "addressable" + "algoliasearch" + "concurrent-ruby" + "fuzzy_match" + "nap" + "netrc" + "public_suffix" + "typhoeus" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ay1dwjg79rfa6mbfyy96in0k364dgn7s8ps6v7n07k9432bbcab"; type = "gem"; }; version = "1.16.2"; }; cocoapods-deintegrate = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i"; type = "gem"; }; version = "1.0.5"; }; cocoapods-downloader = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ldnwwsx44i2xsdmsmyz9xrar19lfy5s5xslvral1p3674dvwvmv"; type = "gem"; }; version = "2.1"; }; cocoapods-plugins = { - dependencies = ["nap"]; + dependencies = [ "nap" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj"; type = "gem"; }; version = "1.0.0"; }; cocoapods-search = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv"; type = "gem"; }; version = "1.0.1"; }; cocoapods-trunk = { - dependencies = ["nap" "netrc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nap" + "netrc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cgdx7z9psxxrsa13fk7qc9i6jskrwcafhrdz94avzia2y6dlnsz"; type = "gem"; }; version = "1.6.0"; }; cocoapods-try = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znyp625rql37ivb5rk9fk9564cmax8icxfr041ysivpdrn98nql"; type = "gem"; }; @@ -175,37 +225,37 @@ }; colored2 = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; @@ -213,38 +263,38 @@ }; escape = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4"; type = "gem"; }; version = "0.0.4"; }; ethon = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; type = "gem"; }; version = "0.16.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; fourflusher = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v"; type = "gem"; }; @@ -252,7 +302,7 @@ }; fuzzy_match = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm"; type = "gem"; }; @@ -260,78 +310,78 @@ }; gh_inspector = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; type = "gem"; }; version = "1.1.3"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03q7kbadhbyfnz21abv2b9dyqnjvxpd51ppqihg40rrimw1vm6id"; type = "gem"; }; version = "2.7.6"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; molinillo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg"; type = "gem"; }; version = "0.8.0"; }; nanaimo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08q73nchv8cpk28h1sdnf5z6a862fcf4mxy1d58z25xb3dankw7s"; type = "gem"; }; @@ -339,7 +389,7 @@ }; nap = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll"; type = "gem"; }; @@ -347,90 +397,97 @@ }; netrc = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; type = "gem"; }; version = "0.11.0"; }; nkf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv"; type = "gem"; }; version = "0.2.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb"; type = "gem"; }; version = "4.0.7"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; ruby-macho = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jgmhj4srl7cck1ipbjys6q4klcs473gq90bm59baw4j1wpfaxch"; type = "gem"; }; version = "2.5.1"; }; securerandom = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q"; type = "gem"; }; version = "0.3.1"; }; typhoeus = { - dependencies = ["ethon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ethon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw"; type = "gem"; }; version = "1.4.1"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; xcodeproj = { - dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "atomos" + "claide" + "colored2" + "nanaimo" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lslz1kfb8jnd1ilgg02qx0p0y6yiq8wwk84mgg2ghh58lxsgiwc"; type = "gem"; }; diff --git a/pkgs/development/tools/cocogitto/default.nix b/pkgs/development/tools/cocogitto/default.nix index 6cf8f0baf956c..4b0b7d5eb433c 100644 --- a/pkgs/development/tools/cocogitto/default.nix +++ b/pkgs/development/tools/cocogitto/default.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchFromGitHub, installShellFiles, stdenv, libgit2 }: +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + libgit2, +}: rustPlatform.buildRustPackage rec { pname = "cocogitto"; diff --git a/pkgs/development/tools/comby/default.nix b/pkgs/development/tools/comby/default.nix index 49532070b2b4e..ad072ca9ce3f6 100644 --- a/pkgs/development/tools/comby/default.nix +++ b/pkgs/development/tools/comby/default.nix @@ -1,17 +1,24 @@ -{ ocamlPackages -, fetchFromGitHub -, lib -, zlib -, pkg-config -, cacert -, gmp -, libev -, autoconf -, sqlite -, stdenv +{ + ocamlPackages, + fetchFromGitHub, + lib, + zlib, + pkg-config, + cacert, + gmp, + libev, + autoconf, + sqlite, + stdenv, }: let - mkCombyPackage = { pname, extraBuildInputs ? [ ], extraNativeInputs ? [ ], preBuild ? "" }: + mkCombyPackage = + { + pname, + extraBuildInputs ? [ ], + extraNativeInputs ? [ ], + preBuild ? "", + }: ocamlPackages.buildDunePackage rec { inherit pname preBuild; version = "1.8.1"; @@ -54,7 +61,10 @@ let }; combyKernel = mkCombyPackage { pname = "comby-kernel"; }; - combySemantic = mkCombyPackage { pname = "comby-semantic"; extraBuildInputs = [ ocamlPackages.cohttp-lwt-unix ]; }; + combySemantic = mkCombyPackage { + pname = "comby-semantic"; + extraBuildInputs = [ ocamlPackages.cohttp-lwt-unix ]; + }; in mkCombyPackage { pname = "comby"; @@ -69,32 +79,36 @@ mkCombyPackage { rm test/common/{test_cli_list,test_cli_helper,test_cli}.ml ''; - extraBuildInputs = [ - zlib - gmp - libev - sqlite - ocamlPackages.shell # This input must appear before `parany` or any other input that propagates `ocamlnet` - ocamlPackages.lwt - ocamlPackages.patience_diff - ocamlPackages.toml - ocamlPackages.cohttp-lwt-unix - ocamlPackages.textutils - ocamlPackages.jst-config - ocamlPackages.parany - ocamlPackages.conduit-lwt-unix - ocamlPackages.lwt_react - ocamlPackages.tar-unix - ocamlPackages.tls - ocamlPackages.ppx_jane - ocamlPackages.ppx_expect - ocamlPackages.dune-configurator - combyKernel - combySemantic - ] ++ (if !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 then - [ ocamlPackages.hack_parallel ] - else - [ ]); + extraBuildInputs = + [ + zlib + gmp + libev + sqlite + ocamlPackages.shell # This input must appear before `parany` or any other input that propagates `ocamlnet` + ocamlPackages.lwt + ocamlPackages.patience_diff + ocamlPackages.toml + ocamlPackages.cohttp-lwt-unix + ocamlPackages.textutils + ocamlPackages.jst-config + ocamlPackages.parany + ocamlPackages.conduit-lwt-unix + ocamlPackages.lwt_react + ocamlPackages.tar-unix + ocamlPackages.tls + ocamlPackages.ppx_jane + ocamlPackages.ppx_expect + ocamlPackages.dune-configurator + combyKernel + combySemantic + ] + ++ ( + if !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 then + [ ocamlPackages.hack_parallel ] + else + [ ] + ); extraNativeInputs = [ autoconf diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix index 8b8752d1c0d8c..c8e214c1cffa4 100644 --- a/pkgs/development/tools/compass/default.nix +++ b/pkgs/development/tools/compass/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, bundlerUpdateScript, ruby }: +{ + lib, + bundlerEnv, + bundlerUpdateScript, + ruby, +}: bundlerEnv { pname = "compass"; @@ -11,10 +16,14 @@ bundlerEnv { meta = with lib; { description = "Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain"; - homepage = "https://github.com/Compass/compass"; - license = with licenses; mit; - maintainers = with maintainers; [ offline manveru nicknovitski ]; + homepage = "https://github.com/Compass/compass"; + license = with licenses; mit; + maintainers = with maintainers; [ + offline + manveru + nicknovitski + ]; mainProgram = "compass"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/compass/gemset.nix b/pkgs/development/tools/compass/gemset.nix index 2b1bd604254bf..51a595f3a4221 100644 --- a/pkgs/development/tools/compass/gemset.nix +++ b/pkgs/development/tools/compass/gemset.nix @@ -1,93 +1,103 @@ { chunky_png = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; compass = { - dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "chunky_png" + "compass-core" + "compass-import-once" + "rb-fsevent" + "rb-inotify" + "sass" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c"; type = "gem"; }; version = "1.0.3"; }; compass-core = { - dependencies = ["multi_json" "sass"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "multi_json" + "sass" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a"; type = "gem"; }; version = "1.0.3"; }; compass-import-once = { - dependencies = ["sass"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sass" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq"; type = "gem"; }; version = "1.0.5"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn"; type = "gem"; }; version = "1.15.4"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; rb-fsevent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is"; type = "gem"; }; version = "0.11.0"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; type = "gem"; }; version = "0.10.1"; }; sass = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw"; type = "gem"; }; diff --git a/pkgs/development/tools/continuous-integration/buildbot/default.nix b/pkgs/development/tools/continuous-integration/buildbot/default.nix index 07b18f6923130..6a5da56092d83 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/default.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/default.nix @@ -1,7 +1,8 @@ -{ lib -, newScope -, python3 -, recurseIntoAttrs +{ + lib, + newScope, + python3, + recurseIntoAttrs, }: # Take packages from self first, then python.pkgs (and secondarily pkgs) lib.makeScope (self: newScope (self.python.pkgs // self)) (self: { @@ -17,7 +18,15 @@ lib.makeScope (self: newScope (self.python.pkgs // self)) (self: { buildbot-ui = self.buildbot.withPlugins (with self.buildbot-plugins; [ www ]); - buildbot-full = self.buildbot.withPlugins (with self.buildbot-plugins; [ - www console-view waterfall-view grid-view wsgi-dashboards badges - ]); + buildbot-full = self.buildbot.withPlugins ( + with self.buildbot-plugins; + [ + www + console-view + waterfall-view + grid-view + wsgi-dashboards + badges + ] + ); }) diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix index 965bb2e936f26..6a8dc5b237906 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/master.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix @@ -1,75 +1,78 @@ -{ lib -, stdenv -, buildPythonApplication -, fetchFromGitHub -, makeWrapper -# Tie withPlugins through the fixed point here, so it will receive an -# overridden version properly -, buildbot -, pythonOlder -, python -, twisted -, jinja2 -, msgpack -, zope-interface -, sqlalchemy -, alembic -, python-dateutil -, txaio -, autobahn -, pyjwt -, pyyaml -, treq -, txrequests -, pypugjs -, boto3 -, moto -, markdown -, lz4 -, brotli -, zstandard -, setuptools-trial -, buildbot-worker -, buildbot-plugins -, buildbot-pkg -, parameterized -, git -, openssh -, setuptools -, croniter -, importlib-resources -, packaging -, unidiff -, glibcLocales -, nixosTests +{ + lib, + stdenv, + buildPythonApplication, + fetchFromGitHub, + makeWrapper, + # Tie withPlugins through the fixed point here, so it will receive an + # overridden version properly + buildbot, + pythonOlder, + python, + twisted, + jinja2, + msgpack, + zope-interface, + sqlalchemy, + alembic, + python-dateutil, + txaio, + autobahn, + pyjwt, + pyyaml, + treq, + txrequests, + pypugjs, + boto3, + moto, + markdown, + lz4, + brotli, + zstandard, + setuptools-trial, + buildbot-worker, + buildbot-plugins, + buildbot-pkg, + parameterized, + git, + openssh, + setuptools, + croniter, + importlib-resources, + packaging, + unidiff, + glibcLocales, + nixosTests, }: let - withPlugins = plugins: buildPythonApplication { - pname = "${buildbot.pname}-with-plugins"; - inherit (buildbot) version; - format = "other"; - - dontUnpack = true; - dontBuild = true; - doCheck = false; - - nativeBuildInputs = [ - makeWrapper - ]; - - propagatedBuildInputs = plugins ++ buildbot.propagatedBuildInputs; - - installPhase = '' - makeWrapper ${buildbot}/bin/buildbot $out/bin/buildbot \ - --prefix PYTHONPATH : "${buildbot}/${python.sitePackages}:$PYTHONPATH" - ln -sfv ${buildbot}/lib $out/lib - ''; - - passthru = buildbot.passthru // { - withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); + withPlugins = + plugins: + buildPythonApplication { + pname = "${buildbot.pname}-with-plugins"; + inherit (buildbot) version; + format = "other"; + + dontUnpack = true; + dontBuild = true; + doCheck = false; + + nativeBuildInputs = [ + makeWrapper + ]; + + propagatedBuildInputs = plugins ++ buildbot.propagatedBuildInputs; + + installPhase = '' + makeWrapper ${buildbot}/bin/buildbot $out/bin/buildbot \ + --prefix PYTHONPATH : "${buildbot}/${python.sitePackages}:$PYTHONPATH" + ln -sfv ${buildbot}/lib $out/lib + ''; + + passthru = buildbot.passthru // { + withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); + }; }; - }; in buildPythonApplication rec { pname = "buildbot"; @@ -92,28 +95,29 @@ buildPythonApplication rec { "twisted" ]; - propagatedBuildInputs = [ - # core - twisted - jinja2 - msgpack - zope-interface - sqlalchemy - alembic - python-dateutil - txaio - autobahn - pyjwt - pyyaml - setuptools - croniter - importlib-resources - packaging - unidiff - treq - brotli - zstandard - ] + propagatedBuildInputs = + [ + # core + twisted + jinja2 + msgpack + zope-interface + sqlalchemy + alembic + python-dateutil + txaio + autobahn + pyjwt + pyyaml + setuptools + croniter + importlib-resources + packaging + unidiff + treq + brotli + zstandard + ] # tls ++ twisted.optional-dependencies.tls; @@ -155,14 +159,16 @@ buildPythonApplication rec { export PATH="$out/bin:$PATH" ''; - passthru = { - inherit withPlugins python; - updateScript = ./update.sh; - } // lib.optionalAttrs stdenv.hostPlatform.isLinux { - tests = { - inherit (nixosTests) buildbot; + passthru = + { + inherit withPlugins python; + updateScript = ./update.sh; + } + // lib.optionalAttrs stdenv.hostPlatform.isLinux { + tests = { + inherit (nixosTests) buildbot; + }; }; - }; meta = with lib; { description = "Open-source continuous integration framework for automating software build, test, and release processes"; diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix index 3f982a2a36a4c..44c4e9591116d 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, isPy3k, buildbot }: +{ + lib, + buildPythonPackage, + isPy3k, + buildbot, +}: buildPythonPackage { pname = "buildbot_pkg"; diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix index 7da50409cbd70..1faf0e56eafed 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix @@ -1,4 +1,14 @@ -{ lib, buildPythonPackage, fetchurl, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg }: +{ + lib, + buildPythonPackage, + fetchurl, + callPackage, + mock, + cairosvg, + klein, + jinja2, + buildbot-pkg, +}: { # this is exposed for potential plugins to use and for nix-update inherit buildbot-pkg; @@ -16,7 +26,10 @@ sed -i "s/'buildbot'//" setup.py ''; - buildInputs = [ buildbot-pkg mock ]; + buildInputs = [ + buildbot-pkg + mock + ]; # No tests doCheck = false; @@ -127,7 +140,11 @@ }; buildInputs = [ buildbot-pkg ]; - propagatedBuildInputs = [ cairosvg klein jinja2 ]; + propagatedBuildInputs = [ + cairosvg + klein + jinja2 + ]; # No tests doCheck = false; diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix index 8bbe3a241b0ed..0ecb0228e5d86 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix @@ -1,23 +1,24 @@ -{ lib -, buildPythonPackage -, buildbot -, stdenv - -# patch -, coreutils - -# propagates -, autobahn -, msgpack -, twisted - -# tests -, parameterized -, psutil -, setuptools-trial - -# passthru -, nixosTests +{ + lib, + buildPythonPackage, + buildbot, + stdenv, + + # patch + coreutils, + + # propagates + autobahn, + msgpack, + twisted, + + # tests + parameterized, + psutil, + setuptools-trial, + + # passthru + nixosTests, }: buildPythonPackage ({ diff --git a/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix b/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix index 84c62e5568583..5258908cdef4d 100644 --- a/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix +++ b/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, stdenv -, Security -, nix-update-script +{ + lib, + fetchFromGitHub, + rustPlatform, + stdenv, + Security, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/continuous-integration/drone/default.nix b/pkgs/development/tools/continuous-integration/drone/default.nix index e2caa3c8097b2..e039a6ba910f7 100644 --- a/pkgs/development/tools/continuous-integration/drone/default.nix +++ b/pkgs/development/tools/continuous-integration/drone/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, enableUnfree ? true +{ + lib, + fetchFromGitHub, + buildGoModule, + enableUnfree ? true, }: buildGoModule rec { @@ -17,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-9jzhoFN7aAUgPxENPuGYR41gXLzSv1VtnTPB38heVlI="; - tags = lib.optionals (!enableUnfree) [ "oss" "nolimit" ]; + tags = lib.optionals (!enableUnfree) [ + "oss" + "nolimit" + ]; doCheck = false; @@ -25,7 +29,10 @@ buildGoModule rec { description = "Continuous Integration platform built on container technology"; mainProgram = "drone-server"; homepage = "https://github.com/harness/drone"; - maintainers = with maintainers; [ vdemeester techknowlogick ]; + maintainers = with maintainers; [ + vdemeester + techknowlogick + ]; license = with licenses; if enableUnfree then unfreeRedistributable else asl20; }; } diff --git a/pkgs/development/tools/continuous-integration/hci/default.nix b/pkgs/development/tools/continuous-integration/hci/default.nix index 6da44a4786cd0..a1ce297d14f30 100644 --- a/pkgs/development/tools/continuous-integration/hci/default.nix +++ b/pkgs/development/tools/continuous-integration/hci/default.nix @@ -1,23 +1,33 @@ -{ crun, haskell, haskellPackages, lib, makeWrapper, stdenv, emptyDirectory }: +{ + crun, + haskell, + haskellPackages, + lib, + makeWrapper, + stdenv, + emptyDirectory, +}: let - inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables appendConfigureFlags; + inherit (haskell.lib.compose) + overrideCabal + addBuildTools + justStaticExecutables + appendConfigureFlags + ; inherit (lib) makeBinPath; bundledBins = lib.optional stdenv.hostPlatform.isLinux crun; overrides = old: { - hercules-ci-agent = - overrideCabal - (o: { - isLibrary = true; - isExecutable = false; - postInstall = ""; # ignore completions - enableSharedExecutables = false; - buildTarget = "lib:hercules-ci-agent hercules-ci-agent-unit-tests"; - configureFlags = o.configureFlags or [ ] ++ [ - "--bindir=${emptyDirectory}/hercules-ci-built-without-binaries/no-bin" - ]; - }) - old.hercules-ci-agent; + hercules-ci-agent = overrideCabal (o: { + isLibrary = true; + isExecutable = false; + postInstall = ""; # ignore completions + enableSharedExecutables = false; + buildTarget = "lib:hercules-ci-agent hercules-ci-agent-unit-tests"; + configureFlags = o.configureFlags or [ ] ++ [ + "--bindir=${emptyDirectory}/hercules-ci-built-without-binaries/no-bin" + ]; + }) old.hercules-ci-agent; }; pkg = @@ -31,12 +41,23 @@ let makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)} ''; }) - (addBuildTools [ makeWrapper ] - # TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013 - ((if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then lib.id else haskell.lib.compose.justStaticExecutables) - (haskellPackages.hercules-ci-cli.override overrides))); -in pkg // { - meta = pkg.meta // { - position = toString ./default.nix + ":1"; - }; - } + ( + addBuildTools [ makeWrapper ] + # TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013 + ( + ( + if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then + lib.id + else + haskell.lib.compose.justStaticExecutables + ) + (haskellPackages.hercules-ci-cli.override overrides) + ) + ); +in +pkg +// { + meta = pkg.meta // { + position = toString ./default.nix + ":1"; + }; +} diff --git a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix index a01febb9113d3..0fd5e62e414ec 100644 --- a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix +++ b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix @@ -15,62 +15,78 @@ let inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables; inherit (lib) makeBinPath; - bundledBins = [ gnutar gzip git openssh ] ++ lib.optional stdenv.hostPlatform.isLinux crun; + bundledBins = [ + gnutar + gzip + git + openssh + ] ++ lib.optional stdenv.hostPlatform.isLinux crun; pkg = # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 - overrideCabal - (o: { - postInstall = '' - ${o.postInstall or ""} - ${lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' - remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent - remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent-worker - ''} - mkdir -p $out/libexec - mv $out/bin/hercules-ci-agent $out/libexec - makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)} - ''; - }) - (addBuildTools [ makeBinaryWrapper ] (justStaticExecutables haskellPackages.hercules-ci-agent)); -in pkg.overrideAttrs (finalAttrs: o: { + overrideCabal (o: { + postInstall = '' + ${o.postInstall or ""} + ${lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' + remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent + remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent-worker + ''} + mkdir -p $out/libexec + mv $out/bin/hercules-ci-agent $out/libexec + makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)} + ''; + }) (addBuildTools [ makeBinaryWrapper ] (justStaticExecutables haskellPackages.hercules-ci-agent)); +in +pkg.overrideAttrs ( + finalAttrs: o: { meta = o.meta // { position = toString ./default.nix + ":1"; }; passthru = o.passthru // { - tests = { - version = testers.testVersion { - package = finalAttrs.finalPackage; - command = "hercules-ci-agent --help"; - }; - } // lib.optionalAttrs (stdenv.hostPlatform.isLinux) { - # Does not test the package, but evaluation of the related NixOS module. - nixos-simple-config = (nixos { - boot.loader.grub.enable = false; - fileSystems."/".device = "bogus"; - services.hercules-ci-agent.enable = true; - # Dummy value for testing only. - system.stateVersion = lib.trivial.release; # TEST ONLY - }).config.system.build.toplevel; - - nixos-many-options-config = (nixos ({ pkgs, ... }: { - boot.loader.grub.enable = false; - fileSystems."/".device = "bogus"; - services.hercules-ci-agent = { - enable = true; - package = pkgs.hercules-ci-agent; - settings = { - workDirectory = "/var/tmp/hci"; - binaryCachesPath = "/var/keys/binary-caches.json"; - labels.foo.bar.baz = "qux"; - labels.qux = ["q" "u"]; - apiBaseUrl = "https://hci.dev.biz.example.com"; - concurrentTasks = 42; - }; + tests = + { + version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "hercules-ci-agent --help"; }; - # Dummy value for testing only. - system.stateVersion = lib.trivial.release; # TEST ONLY - })).config.system.build.toplevel; - }; + } + // lib.optionalAttrs (stdenv.hostPlatform.isLinux) { + # Does not test the package, but evaluation of the related NixOS module. + nixos-simple-config = + (nixos { + boot.loader.grub.enable = false; + fileSystems."/".device = "bogus"; + services.hercules-ci-agent.enable = true; + # Dummy value for testing only. + system.stateVersion = lib.trivial.release; # TEST ONLY + }).config.system.build.toplevel; + + nixos-many-options-config = + (nixos ( + { pkgs, ... }: + { + boot.loader.grub.enable = false; + fileSystems."/".device = "bogus"; + services.hercules-ci-agent = { + enable = true; + package = pkgs.hercules-ci-agent; + settings = { + workDirectory = "/var/tmp/hci"; + binaryCachesPath = "/var/keys/binary-caches.json"; + labels.foo.bar.baz = "qux"; + labels.qux = [ + "q" + "u" + ]; + apiBaseUrl = "https://hci.dev.biz.example.com"; + concurrentTasks = 42; + }; + }; + # Dummy value for testing only. + system.stateVersion = lib.trivial.release; # TEST ONLY + } + )).config.system.build.toplevel; + }; }; - }) + } +) diff --git a/pkgs/development/tools/continuous-integration/woodpecker/agent.nix b/pkgs/development/tools/continuous-integration/woodpecker/agent.nix index 5bbc4cf99ceaa..6b03083597bed 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/agent.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/agent.nix @@ -4,7 +4,13 @@ let in buildGoModule { pname = "woodpecker-agent"; - inherit (common) version src ldflags postInstall vendorHash; + inherit (common) + version + src + ldflags + postInstall + vendorHash + ; subPackages = "cmd/agent"; diff --git a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix index 2121258f3c048..b6eb1cc68849a 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix @@ -4,7 +4,13 @@ let in buildGoModule { pname = "woodpecker-cli"; - inherit (common) version src ldflags postInstall vendorHash; + inherit (common) + version + src + ldflags + postInstall + vendorHash + ; subPackages = "cmd/cli"; diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix index 5c6db6f48020f..72fa9025de134 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix @@ -44,6 +44,10 @@ in homepage = "https://woodpecker-ci.org/"; changelog = "https://github.com/woodpecker-ci/woodpecker/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ ambroisie techknowlogick adamcstephens ]; + maintainers = with maintainers; [ + ambroisie + techknowlogick + adamcstephens + ]; }; } diff --git a/pkgs/development/tools/continuous-integration/woodpecker/server.nix b/pkgs/development/tools/continuous-integration/woodpecker/server.nix index fb232a19ba2e5..2e4eb98bae8f9 100644 --- a/pkgs/development/tools/continuous-integration/woodpecker/server.nix +++ b/pkgs/development/tools/continuous-integration/woodpecker/server.nix @@ -4,7 +4,13 @@ let in buildGoModule { pname = "woodpecker-server"; - inherit (common) version src ldflags postInstall vendorHash; + inherit (common) + version + src + ldflags + postInstall + vendorHash + ; subPackages = "cmd/server"; diff --git a/pkgs/development/tools/corundum/default.nix b/pkgs/development/tools/corundum/default.nix index 62d00cbc3768b..8864f859a583d 100644 --- a/pkgs/development/tools/corundum/default.nix +++ b/pkgs/development/tools/corundum/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "corundum"; @@ -9,9 +13,12 @@ bundlerApp { meta = with lib; { description = "Tool and libraries for maintaining Ruby gems"; - homepage = "https://github.com/nyarly/corundum"; - license = licenses.mit; - maintainers = with maintainers; [ nyarly nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/nyarly/corundum"; + license = licenses.mit; + maintainers = with maintainers; [ + nyarly + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/corundum/gemset.nix b/pkgs/development/tools/corundum/gemset.nix index a6ec2f2b9b910..01a2e5c7551fa 100644 --- a/pkgs/development/tools/corundum/gemset.nix +++ b/pkgs/development/tools/corundum/gemset.nix @@ -1,7 +1,7 @@ { calibrate = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17kmlss7db70pjwdbbhag7mnixh8wasdq6n1v8663x50z9c7n2ng"; type = "gem"; }; @@ -9,7 +9,7 @@ }; caliph = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08d07n4m4yh1h9icq6n9dkw4jwgdmgd638f15mxr2pvqp4wycsnr"; type = "gem"; }; @@ -17,7 +17,7 @@ }; corundum = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y6shjrqaqyh14a1r4ic660g6jnq4abdrx9imglyalzyrlrwbsxq"; type = "gem"; }; @@ -25,7 +25,7 @@ }; diff-lcs = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; type = "gem"; }; @@ -33,7 +33,7 @@ }; docile = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; type = "gem"; }; @@ -41,7 +41,7 @@ }; json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; type = "gem"; }; @@ -49,7 +49,7 @@ }; mattock = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02d6igwr4sfj4jnky8d5h0rm2cc665k1bqz7sj4khzvr18nk3ai6"; type = "gem"; }; @@ -57,7 +57,7 @@ }; paint = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fcn7cfrhbl4nl95fmcd67q33h7bl3iafsafs6w9yj4nqzagz1yc"; type = "gem"; }; @@ -65,7 +65,7 @@ }; rake = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b"; type = "gem"; }; @@ -73,7 +73,7 @@ }; rspec = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nd50hycab2a2vdah9lxi585g8f63jxjvmzmxqyln51grxwx9hzb"; type = "gem"; }; @@ -81,7 +81,7 @@ }; rspec-core = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18np8wyw2g79waclpaacba6nd7x60ixg07ncya0j0qj1z9b37grd"; type = "gem"; }; @@ -89,7 +89,7 @@ }; rspec-expectations = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "028ifzf9mqp3kxx40q1nbwj40g72g9zk0wr78l146phblkv96w0a"; type = "gem"; }; @@ -97,7 +97,7 @@ }; rspec-mocks = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nv6jkxy24sag1i9w9wi3850k6skk2fm6yhcrgnmlz6vmwxvizp8"; type = "gem"; }; @@ -105,7 +105,7 @@ }; rspec-support = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "050paqqpsml8w88nf4a15zbbj3vvm471zpv73sjfdnz7w21wnypb"; type = "gem"; }; @@ -113,7 +113,7 @@ }; simplecov = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww"; type = "gem"; }; @@ -121,7 +121,7 @@ }; simplecov-html = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f3psphismgp6jp1fxxz09zbswh7m2xxxr6gqlzdh7sgv415clvm"; type = "gem"; }; @@ -129,7 +129,7 @@ }; simplecov-json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x9hr08pkj5d14nfzsn5h8b7ayl6q0xir45dcx5rv2a7g10kzlpp"; type = "gem"; }; @@ -137,7 +137,7 @@ }; tilt = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1is1ayw5049z8pd7slsk870bddyy5g2imp4z78lnvl8qsl8l0s7b"; type = "gem"; }; @@ -145,7 +145,7 @@ }; valise = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1arsbmk2gifrhv244qrld7s3202xrnxy6vlc5gqklg70dpsinbn5"; type = "gem"; }; diff --git a/pkgs/development/tools/cotton/default.nix b/pkgs/development/tools/cotton/default.nix index bc54f31549494..a8271a144fee8 100644 --- a/pkgs/development/tools/cotton/default.nix +++ b/pkgs/development/tools/cotton/default.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, CoreServices +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + CoreServices, }: rustPlatform.buildRustPackage rec { @@ -31,6 +32,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "cotton"; homepage = "https://github.com/danielhuang/cotton"; license = licenses.gpl3Only; - maintainers = with maintainers; [ dit7ya figsoda ]; + maintainers = with maintainers; [ + dit7ya + figsoda + ]; }; } diff --git a/pkgs/development/tools/database/cdb/default.nix b/pkgs/development/tools/database/cdb/default.nix index b9ebba5547745..3da8c8855bc35 100644 --- a/pkgs/development/tools/database/cdb/default.nix +++ b/pkgs/development/tools/database/cdb/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub }: +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, +}: let version = "0.75"; @@ -15,7 +20,8 @@ let sha256 = "1y0ivviy58i0pmavhvrpznc4yjigjknff298gnw9rkg5wxm0gbbq"; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "cdb"; inherit version; @@ -24,7 +30,11 @@ in stdenv.mkDerivation { inherit sha256; }; - outputs = [ "bin" "doc" "out" ]; + outputs = [ + "bin" + "doc" + "out" + ]; postPatch = '' # A little patch, borrowed from Archlinux AUR, borrowed from Gentoo Portage diff --git a/pkgs/development/tools/database/dynein/default.nix b/pkgs/development/tools/database/dynein/default.nix index d1a31880e54f4..d48d25f040264 100644 --- a/pkgs/development/tools/database/dynein/default.nix +++ b/pkgs/development/tools/database/dynein/default.nix @@ -1,8 +1,9 @@ -{ fetchFromGitHub -, lib -, openssl -, pkg-config -, rustPlatform +{ + fetchFromGitHub, + lib, + openssl, + pkg-config, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/database/indradb/default.nix b/pkgs/development/tools/database/indradb/default.nix index 29f665d1e1210..87ff3688641ae 100644 --- a/pkgs/development/tools/database/indradb/default.nix +++ b/pkgs/development/tools/database/indradb/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, fetchFromGitHub -, lib -, rustPlatform -, rustfmt -, protobuf +{ + stdenv, + fetchFromGitHub, + lib, + rustPlatform, + rustfmt, + protobuf, }: let src = fetchFromGitHub { @@ -33,7 +34,10 @@ in PROTOC = "${protobuf}/bin/protoc"; - nativeBuildInputs = [ rustfmt rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + rustfmt + rustPlatform.bindgenHook + ]; # test rely on libindradb and it can't be found # failure at https://github.com/indradb/indradb/blob/master/server/tests/plugins.rs#L63 @@ -49,7 +53,10 @@ in PROTOC = "${protobuf}/bin/protoc"; - nativeBuildInputs = [ rustfmt rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + rustfmt + rustPlatform.bindgenHook + ]; buildAndTestSubdir = "client"; }; diff --git a/pkgs/development/tools/database/pgsync/default.nix b/pkgs/development/tools/database/pgsync/default.nix index 7e075784f122d..d1ae5a11b34a7 100644 --- a/pkgs/development/tools/database/pgsync/default.nix +++ b/pkgs/development/tools/database/pgsync/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp rec { gemdir = ./.; @@ -9,8 +13,8 @@ bundlerApp rec { meta = with lib; { description = "Sync data from one Postgres database to another (like `pg_dump`/`pg_restore`)"; - homepage = "https://github.com/ankane/pgsync"; - license = with licenses; mit; + homepage = "https://github.com/ankane/pgsync"; + license = with licenses; mit; maintainers = with maintainers; [ fabianhjr ]; }; } diff --git a/pkgs/development/tools/database/pgsync/gemset.nix b/pkgs/development/tools/database/pgsync/gemset.nix index a18ec0613f187..49b7641f65fa1 100644 --- a/pkgs/development/tools/database/pgsync/gemset.nix +++ b/pkgs/development/tools/database/pgsync/gemset.nix @@ -1,61 +1,66 @@ { parallel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb"; type = "gem"; }; version = "1.22.1"; }; pg = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07m6lxljabw9kyww5k5lgsxsznsm1v5l14r1la09gqka9b5kv3yr"; type = "gem"; }; version = "1.4.6"; }; pgsync = { - dependencies = ["parallel" "pg" "slop" "tty-spinner"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "parallel" + "pg" + "slop" + "tty-spinner" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f2lzsa7l88skp18f8w1ch9w8a42pymc48rdaqjrrdgg0126kvj3"; type = "gem"; }; version = "0.7.4"; }; slop = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1iyrjskgxyn8i1679qwkzns85p909aq77cgx2m4fs5ygzysj4hw4"; type = "gem"; }; version = "4.10.1"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-spinner = { - dependencies = ["tty-cursor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-cursor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf"; type = "gem"; }; diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix index c61bde4f96c3d..bc296c87e3a3f 100644 --- a/pkgs/development/tools/database/prisma-engines/default.nix +++ b/pkgs/development/tools/database/prisma-engines/default.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, lib -, openssl -, pkg-config -, protobuf -, rustPlatform -, stdenv +{ + fetchFromGitHub, + lib, + openssl, + pkg-config, + protobuf, + rustPlatform, + stdenv, }: # Updating this package will force an update for prisma. The @@ -48,10 +49,14 @@ rustPlatform.buildRustPackage rec { ''; cargoBuildFlags = [ - "-p" "query-engine" - "-p" "query-engine-node-api" - "-p" "schema-engine-cli" - "-p" "prisma-fmt" + "-p" + "query-engine" + "-p" + "query-engine-node-api" + "-p" + "schema-engine-cli" + "-p" + "prisma-fmt" ]; postInstall = '' @@ -67,7 +72,11 @@ rustPlatform.buildRustPackage rec { license = licenses.asl20; platforms = platforms.unix; mainProgram = "prisma"; - maintainers = with maintainers; [ pimeys tomhoule aqrln ]; + maintainers = with maintainers; [ + pimeys + tomhoule + aqrln + ]; }; } diff --git a/pkgs/development/tools/database/replibyte/default.nix b/pkgs/development/tools/database/replibyte/default.nix index f04a00e881cae..a71e141362394 100644 --- a/pkgs/development/tools/database/replibyte/default.nix +++ b/pkgs/development/tools/database/replibyte/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, Security -, SystemConfiguration +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -32,7 +33,12 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; cargoBuildFlags = [ "--all-features" ]; diff --git a/pkgs/development/tools/database/sqlitebrowser/default.nix b/pkgs/development/tools/database/sqlitebrowser/default.nix index ec73d534007ad..bbd3453ce1bad 100644 --- a/pkgs/development/tools/database/sqlitebrowser/default.nix +++ b/pkgs/development/tools/database/sqlitebrowser/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, qtbase, qttools, sqlcipher, wrapQtAppsHook, qtmacextras +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + qttools, + sqlcipher, + wrapQtAppsHook, + qtmacextras, }: stdenv.mkDerivation (finalAttrs: { @@ -19,9 +27,16 @@ stdenv.mkDerivation (finalAttrs: { # but qscintilla is currently in a bit of a mess as some consumers expect a # -qt4 or -qt5 prefix while others do not. # We *really* should get that cleaned up. - buildInputs = [ qtbase sqlcipher ] ++ lib.optional stdenv.hostPlatform.isDarwin qtmacextras; - - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; + buildInputs = [ + qtbase + sqlcipher + ] ++ lib.optional stdenv.hostPlatform.isDarwin qtmacextras; + + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; cmakeFlags = [ "-Dsqlcipher=1" diff --git a/pkgs/development/tools/database/squirrel-sql/default.nix b/pkgs/development/tools/database/squirrel-sql/default.nix index 31d538597e518..24719eb8b08ce 100644 --- a/pkgs/development/tools/database/squirrel-sql/default.nix +++ b/pkgs/development/tools/database/squirrel-sql/default.nix @@ -1,8 +1,14 @@ # To enable specific database drivers, override this derivation and pass the # driver packages in the drivers argument (e.g. mysql_jdbc, postgresql_jdbc). -{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip -, jre -, drivers ? [] +{ + lib, + stdenv, + fetchurl, + makeDesktopItem, + makeWrapper, + unzip, + jre, + drivers ? [ ], }: stdenv.mkDerivation rec { pname = "squirrel-sql"; @@ -13,7 +19,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-uQuzh9CyGNJsbYvQiQAYmIyBgpIzXALg8dTFB1USkr0="; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; buildInputs = [ jre ]; unpackPhase = '' diff --git a/pkgs/development/tools/database/surrealdb-migrations/default.nix b/pkgs/development/tools/database/surrealdb-migrations/default.nix index e47174c93450e..99fe949bd6e90 100644 --- a/pkgs/development/tools/database/surrealdb-migrations/default.nix +++ b/pkgs/development/tools/database/surrealdb-migrations/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, testers -, Security -, surrealdb-migrations -, nix-update-script +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + testers, + Security, + surrealdb-migrations, + nix-update-script, }: let @@ -24,28 +25,27 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-ELYBEQrh80LdNYNZwcGVh9GE+dSfjF+RuO8fd0PabIw="; - buildInputs = [ ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + buildInputs = [ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - # Error: No such file or directory (os error 2) - # failures: - # cli::apply::apply_initial_migrations - # cli::apply::apply_initial_schema_changes - # cli::apply::apply_new_migrations - # cli::apply::apply_new_schema_changes - # cli::apply::apply_should_skip_events_if_no_events_folder - # cli::apply::apply_with_db_configuration - # cli::apply::apply_with_skipped_migrations - # cli::list::list_blog_migrations - # cli::list::list_empty_migrations - # library::list::list_blog_migrations - # library::list::list_empty_migrations - # library::up::apply_initial_migrations - # library::up::apply_initial_schema_changes - # library::up::apply_new_migrations - # library::up::apply_new_schema_changes - # library::up::apply_should_skip_events_if_no_events_folder - # library::up_to::apply_with_skipped_migrations + # Error: No such file or directory (os error 2) + # failures: + # cli::apply::apply_initial_migrations + # cli::apply::apply_initial_schema_changes + # cli::apply::apply_new_migrations + # cli::apply::apply_new_schema_changes + # cli::apply::apply_should_skip_events_if_no_events_folder + # cli::apply::apply_with_db_configuration + # cli::apply::apply_with_skipped_migrations + # cli::list::list_blog_migrations + # cli::list::list_empty_migrations + # library::list::list_blog_migrations + # library::list::list_empty_migrations + # library::up::apply_initial_migrations + # library::up::apply_initial_schema_changes + # library::up::apply_new_migrations + # library::up::apply_new_schema_changes + # library::up::apply_should_skip_events_if_no_events_folder + # library::up_to::apply_with_skipped_migrations doCheck = false; passthru = { diff --git a/pkgs/development/tools/dazel/default.nix b/pkgs/development/tools/dazel/default.nix index 119cbaca9c706..1a898b19118d3 100644 --- a/pkgs/development/tools/dazel/default.nix +++ b/pkgs/development/tools/dazel/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildPythonApplication -, fetchPypi +{ + lib, + buildPythonApplication, + fetchPypi, }: buildPythonApplication rec { version = "0.0.42"; diff --git a/pkgs/development/tools/devbox/default.nix b/pkgs/development/tools/devbox/default.nix index fcf88c57464f3..17e0daee15175 100644 --- a/pkgs/development/tools/devbox/default.nix +++ b/pkgs/development/tools/devbox/default.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, lib -, stdenv +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + stdenv, }: buildGoModule rec { pname = "devbox"; @@ -41,6 +42,9 @@ buildGoModule rec { description = "Instant, easy, predictable shells and containers"; homepage = "https://www.jetpack.io/devbox"; license = licenses.asl20; - maintainers = with maintainers; [ urandom lagoja ]; + maintainers = with maintainers; [ + urandom + lagoja + ]; }; } diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix index e32f0702e2aae..4fcaf9aa09c3b 100644 --- a/pkgs/development/tools/devpi-server/default.nix +++ b/pkgs/development/tools/devpi-server/default.nix @@ -1,33 +1,35 @@ -{ lib, fetchFromGitHub, buildPythonApplication -, gitUpdater -, pythonOlder -, aiohttp -, appdirs -, beautifulsoup4 -, defusedxml -, devpi-common -, execnet -, itsdangerous -, nginx -, packaging -, passlib -, platformdirs -, pluggy -, py -, httpx -, pyramid -, pytestCheckHook -, repoze-lru -, setuptools -, strictyaml -, waitress -, webtest -, testers -, devpi-server -, nixosTests +{ + lib, + fetchFromGitHub, + buildPythonApplication, + gitUpdater, + pythonOlder, + aiohttp, + appdirs, + beautifulsoup4, + defusedxml, + devpi-common, + execnet, + itsdangerous, + nginx, + packaging, + passlib, + platformdirs, + pluggy, + py, + httpx, + pyramid, + pytestCheckHook, + repoze-lru, + setuptools, + strictyaml, + waitress, + webtest, + testers, + devpi-server, + nixosTests, }: - buildPythonApplication rec { pname = "devpi-server"; version = "6.14.0"; @@ -122,7 +124,7 @@ buildPythonApplication rec { rev-prefix = "server-"; }; - meta = with lib;{ + meta = with lib; { homepage = "http://doc.devpi.net"; description = "Github-style pypi index server and packaging meta tool"; changelog = "https://github.com/devpi/devpi/blob/${src.rev}/server/CHANGELOG"; diff --git a/pkgs/development/tools/djhtml/default.nix b/pkgs/development/tools/djhtml/default.nix index 1859249eb0f3c..892e78717eb0b 100644 --- a/pkgs/development/tools/djhtml/default.nix +++ b/pkgs/development/tools/djhtml/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, setuptools +{ + lib, + buildPythonApplication, + fetchFromGitHub, + setuptools, }: buildPythonApplication rec { pname = "djhtml"; diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix index 7f723096a8a72..073730272dc3c 100644 --- a/pkgs/development/tools/dump_syms/default.nix +++ b/pkgs/development/tools/dump_syms/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, -# darwin -, Security -, SystemConfiguration + # darwin + Security, + SystemConfiguration, -# tests -, firefox-esr-unwrapped -, firefox-unwrapped -, thunderbird-unwrapped + # tests + firefox-esr-unwrapped, + firefox-unwrapped, + thunderbird-unwrapped, }: let @@ -35,12 +36,14 @@ rustPlatform.buildRustPackage { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - Security - SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + Security + SystemConfiguration + ]; checkFlags = [ # Disable tests that require network access diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix index 07637d13e9f25..1e3233717bfd4 100644 --- a/pkgs/development/tools/electron/binary/default.nix +++ b/pkgs/development/tools/electron/binary/default.nix @@ -7,8 +7,7 @@ in let mkElectron = callPackage ./generic.nix { }; in -lib.mapAttrs' (majorVersion: info: - lib.nameValuePair - "electron_${majorVersion}-bin" - (mkElectron info.version info.hashes) +lib.mapAttrs' ( + majorVersion: info: + lib.nameValuePair "electron_${majorVersion}-bin" (mkElectron info.version info.hashes) ) infoJson diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix index 6835c8a6263e3..b053700719c96 100644 --- a/pkgs/development/tools/electron/binary/generic.nix +++ b/pkgs/development/tools/electron/binary/generic.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, libXScrnSaver -, makeWrapper -, fetchurl -, wrapGAppsHook3 -, glib -, gtk3 -, unzip -, at-spi2-atk -, libdrm -, mesa -, libxkbcommon -, libxshmfence -, libGL -, vulkan-loader -, alsa-lib -, cairo -, cups -, dbus -, expat -, gdk-pixbuf -, nss -, nspr -, xorg -, pango -, systemd -, pciutils +{ + lib, + stdenv, + libXScrnSaver, + makeWrapper, + fetchurl, + wrapGAppsHook3, + glib, + gtk3, + unzip, + at-spi2-atk, + libdrm, + mesa, + libxkbcommon, + libxshmfence, + libGL, + vulkan-loader, + alsa-lib, + cairo, + cups, + dbus, + expat, + gdk-pixbuf, + nss, + nspr, + xorg, + pango, + systemd, + pciutils, }: version: hashes: @@ -37,8 +38,17 @@ let homepage = "https://github.com/electron/electron"; license = licenses.mit; mainProgram = "electron"; - maintainers = with maintainers; [ yayayayaka teutat3s ]; - platforms = [ "x86_64-darwin" "x86_64-linux" "armv7l-linux" "aarch64-linux" ] + maintainers = with maintainers; [ + yayayayaka + teutat3s + ]; + platforms = + [ + "x86_64-darwin" + "x86_64-linux" + "armv7l-linux" + "aarch64-linux" + ] ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ] ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; @@ -46,26 +56,33 @@ let knownVulnerabilities = optional (versionOlder version "31.0.0") "Electron version ${version} is EOL"; }; - fetcher = vers: tag: hash: fetchurl { - url = "https://github.com/electron/electron/releases/download/v${vers}/electron-v${vers}-${tag}.zip"; - sha256 = hash; - }; - - headersFetcher = vers: hash: fetchurl { - url = "https://artifacts.electronjs.org/headers/dist/v${vers}/node-v${vers}-headers.tar.gz"; - sha256 = hash; - }; - - tags = { - x86_64-linux = "linux-x64"; - armv7l-linux = "linux-armv7l"; - aarch64-linux = "linux-arm64"; - x86_64-darwin = "darwin-x64"; - } // lib.optionalAttrs (lib.versionAtLeast version "11.0.0") { - aarch64-darwin = "darwin-arm64"; - } // lib.optionalAttrs (lib.versionOlder version "19.0.0") { - i686-linux = "linux-ia32"; - }; + fetcher = + vers: tag: hash: + fetchurl { + url = "https://github.com/electron/electron/releases/download/v${vers}/electron-v${vers}-${tag}.zip"; + sha256 = hash; + }; + + headersFetcher = + vers: hash: + fetchurl { + url = "https://artifacts.electronjs.org/headers/dist/v${vers}/node-v${vers}-headers.tar.gz"; + sha256 = hash; + }; + + tags = + { + x86_64-linux = "linux-x64"; + armv7l-linux = "linux-armv7l"; + aarch64-linux = "linux-arm64"; + x86_64-darwin = "darwin-x64"; + } + // lib.optionalAttrs (lib.versionAtLeast version "11.0.0") { + aarch64-darwin = "darwin-arm64"; + } + // lib.optionalAttrs (lib.versionOlder version "19.0.0") { + i686-linux = "linux-ia32"; + }; get = as: platform: as.${platform.system} or (throw "Unsupported system: ${platform.system}"); @@ -75,40 +92,50 @@ let passthru.headers = headersFetcher version hashes.headers; }; - electronLibPath = lib.makeLibraryPath ([ - alsa-lib - at-spi2-atk - cairo - cups - dbus - expat - gdk-pixbuf - glib - gtk3 - nss - nspr - xorg.libX11 - xorg.libxcb - xorg.libXcomposite - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXrandr - xorg.libxkbfile - pango - pciutils - stdenv.cc.cc - systemd - ] - ++ lib.optionals (lib.versionAtLeast version "9.0.0") [ libdrm mesa ] + electronLibPath = lib.makeLibraryPath ( + [ + alsa-lib + at-spi2-atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + nss + nspr + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxkbfile + pango + pciutils + stdenv.cc.cc + systemd + ] + ++ lib.optionals (lib.versionAtLeast version "9.0.0") [ + libdrm + mesa + ] ++ lib.optionals (lib.versionOlder version "10.0.0") [ libXScrnSaver ] ++ lib.optionals (lib.versionAtLeast version "11.0.0") [ libxkbcommon ] ++ lib.optionals (lib.versionAtLeast version "12.0.0") [ libxshmfence ] - ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL vulkan-loader ] + ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ + libGL + vulkan-loader + ] ); linux = finalAttrs: { - buildInputs = [ glib gtk3 ]; + buildInputs = [ + glib + gtk3 + ]; nativeBuildInputs = [ unzip @@ -131,11 +158,17 @@ let --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${electronLibPath}:$out/libexec/electron" \ $out/libexec/electron/.electron-wrapped \ - ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped" } + ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped"} # patch libANGLE patchelf \ - --set-rpath "${lib.makeLibraryPath [ libGL pciutils vulkan-loader ]}" \ + --set-rpath "${ + lib.makeLibraryPath [ + libGL + pciutils + vulkan-loader + ] + }" \ $out/libexec/electron/lib*GL* # replace bundled vulkan-loader @@ -163,8 +196,9 @@ let passthru.dist = finalAttrs.finalPackage + "/Applications"; }; in - stdenv.mkDerivation (finalAttrs: - lib.recursiveUpdate - (common stdenv.hostPlatform) - ((if stdenv.hostPlatform.isDarwin then darwin else linux) finalAttrs) +stdenv.mkDerivation ( + finalAttrs: + lib.recursiveUpdate (common stdenv.hostPlatform) ( + (if stdenv.hostPlatform.isDarwin then darwin else linux) finalAttrs ) +) diff --git a/pkgs/development/tools/electron/chromedriver/default.nix b/pkgs/development/tools/electron/chromedriver/default.nix index 87c45f5d566a3..0185737df74ca 100644 --- a/pkgs/development/tools/electron/chromedriver/default.nix +++ b/pkgs/development/tools/electron/chromedriver/default.nix @@ -7,8 +7,9 @@ in let mkElectronChromedriver = callPackage ./generic.nix { }; in -lib.mapAttrs' (majorVersion: info: - lib.nameValuePair - "electron-chromedriver_${majorVersion}" - (mkElectronChromedriver info.version info.hashes) +lib.mapAttrs' ( + majorVersion: info: + lib.nameValuePair "electron-chromedriver_${majorVersion}" ( + mkElectronChromedriver info.version info.hashes + ) ) infoJson diff --git a/pkgs/development/tools/electron/chromedriver/generic.nix b/pkgs/development/tools/electron/chromedriver/generic.nix index 6ee587b26ef9c..cebc3fe9bb685 100644 --- a/pkgs/development/tools/electron/chromedriver/generic.nix +++ b/pkgs/development/tools/electron/chromedriver/generic.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, glib -, xorg -, nspr -, nss -, autoPatchelfHook -, unzip +{ + lib, + stdenv, + fetchurl, + glib, + xorg, + nspr, + nss, + autoPatchelfHook, + unzip, }: version: hashes: @@ -26,15 +27,26 @@ let ''; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.mit; - maintainers = with maintainers; [ liammurphy14 yayayayaka ]; - platforms = ["x86_64-darwin" "x86_64-linux" "armv7l-linux" "aarch64-linux" "aarch64-darwin"]; + maintainers = with maintainers; [ + liammurphy14 + yayayayaka + ]; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + "armv7l-linux" + "aarch64-linux" + "aarch64-darwin" + ]; mainProgram = "chromedriver"; }; - fetcher = vers: tag: hash: fetchurl { - url = "https://github.com/electron/electron/releases/download/v${vers}/chromedriver-v${vers}-${tag}.zip"; - sha256 = hash; - }; + fetcher = + vers: tag: hash: + fetchurl { + url = "https://github.com/electron/electron/releases/download/v${vers}/chromedriver-v${vers}-${tag}.zip"; + sha256 = hash; + }; tags = { x86_64-linux = "linux-x64"; @@ -60,7 +72,10 @@ let }; linux = { - nativeBuildInputs = [ autoPatchelfHook unzip ]; + nativeBuildInputs = [ + autoPatchelfHook + unzip + ]; dontUnpack = true; dontBuild = true; @@ -90,7 +105,6 @@ let ''; }; in - stdenv.mkDerivation ( - (common stdenv.hostPlatform) // - (if stdenv.hostPlatform.isDarwin then darwin else linux) - ) +stdenv.mkDerivation ( + (common stdenv.hostPlatform) // (if stdenv.hostPlatform.isDarwin then darwin else linux) +) diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix index bd4843edbcca1..07367857eccd1 100644 --- a/pkgs/development/tools/electron/common.nix +++ b/pkgs/development/tools/electron/common.nix @@ -1,38 +1,49 @@ -{ lib -, stdenv -, chromium -, nodejs -, python3 -, fetchYarnDeps -, fetchNpmDeps -, fixup-yarn-lock -, npmHooks -, yarn -, substituteAll -, libnotify -, unzip -, pkgs -, pkgsBuildHost -, pipewire -, libsecret -, libpulseaudio -, speechd-minimal -, info +{ + lib, + stdenv, + chromium, + nodejs, + python3, + fetchYarnDeps, + fetchNpmDeps, + fixup-yarn-lock, + npmHooks, + yarn, + substituteAll, + libnotify, + unzip, + pkgs, + pkgsBuildHost, + pipewire, + libsecret, + libpulseaudio, + speechd-minimal, + info, }: let - fetchdep = dep: let - opts = removeAttrs dep ["fetcher"]; - in pkgs.${dep.fetcher} opts; + fetchdep = + dep: + let + opts = removeAttrs dep [ "fetcher" ]; + in + pkgs.${dep.fetcher} opts; fetchedDeps = lib.mapAttrs (name: fetchdep) info.deps; -in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { +in +((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { packageName = "electron"; inherit (info) version; buildTargets = [ "electron:electron_dist_zip" ]; - nativeBuildInputs = base.nativeBuildInputs ++ [ nodejs yarn fixup-yarn-lock unzip npmHooks.npmConfigHook ]; + nativeBuildInputs = base.nativeBuildInputs ++ [ + nodejs + yarn + fixup-yarn-lock + unzip + npmHooks.npmConfigHook + ]; buildInputs = base.buildInputs ++ [ libnotify ]; electronOfflineCache = fetchYarnDeps { @@ -51,133 +62,151 @@ in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { patches = base.patches; - unpackPhase = '' - runHook preUnpack - '' + ( - lib.concatStrings (lib.mapAttrsToList (path: dep: '' - mkdir -p ${builtins.dirOf path} - cp -r ${dep}/. ${path} - chmod u+w -R ${path} - '') fetchedDeps) - ) + '' - sourceRoot=src - runHook postUnpack - ''; + unpackPhase = + '' + runHook preUnpack + '' + + (lib.concatStrings ( + lib.mapAttrsToList (path: dep: '' + mkdir -p ${builtins.dirOf path} + cp -r ${dep}/. ${path} + chmod u+w -R ${path} + '') fetchedDeps + )) + + '' + sourceRoot=src + runHook postUnpack + ''; npmRoot = "third_party/node"; - postPatch = '' - mkdir -p third_party/jdk/current/bin - - echo 'build_with_chromium = true' >> build/config/gclient_args.gni - echo 'checkout_google_benchmark = false' >> build/config/gclient_args.gni - echo 'checkout_android = false' >> build/config/gclient_args.gni - echo 'checkout_android_prebuilts_build_tools = false' >> build/config/gclient_args.gni - echo 'checkout_android_native_support = false' >> build/config/gclient_args.gni - echo 'checkout_ios_webkit = false' >> build/config/gclient_args.gni - echo 'checkout_nacl = false' >> build/config/gclient_args.gni - echo 'checkout_openxr = false' >> build/config/gclient_args.gni - echo 'checkout_rts_model = false' >> build/config/gclient_args.gni - echo 'checkout_src_internal = false' >> build/config/gclient_args.gni - echo 'cros_boards = ""' >> build/config/gclient_args.gni - echo 'cros_boards_with_qemu_images = ""' >> build/config/gclient_args.gni - echo 'generate_location_tags = true' >> build/config/gclient_args.gni - - echo 'LASTCHANGE=${info.deps."src".rev}-refs/heads/master@{#0}' > build/util/LASTCHANGE - echo "$SOURCE_DATE_EPOCH" > build/util/LASTCHANGE.committime - - cat << EOF > gpu/config/gpu_lists_version.h - /* Generated by lastchange.py, do not edit.*/ - #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ - #define GPU_CONFIG_GPU_LISTS_VERSION_H_ - #define GPU_LISTS_VERSION "${info.deps."src".rev}" - #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ - EOF - - cat << EOF > skia/ext/skia_commit_hash.h - /* Generated by lastchange.py, do not edit.*/ - #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_COMMIT_HASH "${info.deps."src/third_party/skia".rev}-" - #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ - EOF - - echo -n '${info.deps."src/third_party/dawn".rev}' > gpu/webgpu/DAWN_VERSION - - ( - cd electron - export HOME=$TMPDIR/fake_home - yarn config --offline set yarn-offline-mirror $electronOfflineCache - fixup-yarn-lock yarn.lock - yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive - ) - - ( - cd .. - PATH=$PATH:${lib.makeBinPath (with pkgsBuildHost; [ jq git ])} - config=src/electron/patches/config.json - for entry in $(cat $config | jq -c ".[]") - do - patch_dir=$(echo $entry | jq -r ".patch_dir") - repo=$(echo $entry | jq -r ".repo") - for patch in $(cat $patch_dir/.patches) + postPatch = + '' + mkdir -p third_party/jdk/current/bin + + echo 'build_with_chromium = true' >> build/config/gclient_args.gni + echo 'checkout_google_benchmark = false' >> build/config/gclient_args.gni + echo 'checkout_android = false' >> build/config/gclient_args.gni + echo 'checkout_android_prebuilts_build_tools = false' >> build/config/gclient_args.gni + echo 'checkout_android_native_support = false' >> build/config/gclient_args.gni + echo 'checkout_ios_webkit = false' >> build/config/gclient_args.gni + echo 'checkout_nacl = false' >> build/config/gclient_args.gni + echo 'checkout_openxr = false' >> build/config/gclient_args.gni + echo 'checkout_rts_model = false' >> build/config/gclient_args.gni + echo 'checkout_src_internal = false' >> build/config/gclient_args.gni + echo 'cros_boards = ""' >> build/config/gclient_args.gni + echo 'cros_boards_with_qemu_images = ""' >> build/config/gclient_args.gni + echo 'generate_location_tags = true' >> build/config/gclient_args.gni + + echo 'LASTCHANGE=${info.deps."src".rev}-refs/heads/master@{#0}' > build/util/LASTCHANGE + echo "$SOURCE_DATE_EPOCH" > build/util/LASTCHANGE.committime + + cat << EOF > gpu/config/gpu_lists_version.h + /* Generated by lastchange.py, do not edit.*/ + #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ + #define GPU_CONFIG_GPU_LISTS_VERSION_H_ + #define GPU_LISTS_VERSION "${info.deps."src".rev}" + #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ + EOF + + cat << EOF > skia/ext/skia_commit_hash.h + /* Generated by lastchange.py, do not edit.*/ + #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ + #define SKIA_EXT_SKIA_COMMIT_HASH_H_ + #define SKIA_COMMIT_HASH "${info.deps."src/third_party/skia".rev}-" + #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ + EOF + + echo -n '${info.deps."src/third_party/dawn".rev}' > gpu/webgpu/DAWN_VERSION + + ( + cd electron + export HOME=$TMPDIR/fake_home + yarn config --offline set yarn-offline-mirror $electronOfflineCache + fixup-yarn-lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive + ) + + ( + cd .. + PATH=$PATH:${ + lib.makeBinPath ( + with pkgsBuildHost; + [ + jq + git + ] + ) + } + config=src/electron/patches/config.json + for entry in $(cat $config | jq -c ".[]") do - echo applying in $repo: $patch - git apply -p1 --directory=$repo --exclude='src/third_party/blink/web_tests/*' --exclude='src/content/test/data/*' $patch_dir/$patch + patch_dir=$(echo $entry | jq -r ".patch_dir") + repo=$(echo $entry | jq -r ".repo") + for patch in $(cat $patch_dir/.patches) + do + echo applying in $repo: $patch + git apply -p1 --directory=$repo --exclude='src/third_party/blink/web_tests/*' --exclude='src/content/test/data/*' $patch_dir/$patch + done done - done - ) - '' + base.postPatch; - - preConfigure = '' - ( - cd third_party/node - grep patch update_npm_deps | sh - ) - '' + (base.preConfigure or ""); - - gnFlags = rec { - # build/args/release.gn - is_component_build = false; - is_official_build = true; - rtc_use_h264 = proprietary_codecs; - is_component_ffmpeg = true; - - # build/args/all.gn - is_electron_build = true; - root_extra_deps = [ "//electron" ]; - node_module_version = info.modules; - v8_promise_internal_field_count = 1; - v8_embedder_string = "-electron.0"; - v8_enable_snapshot_native_code_counters = false; - v8_enable_javascript_promise_hooks = true; - enable_cdm_host_verification = false; - proprietary_codecs = true; - ffmpeg_branding = "Chrome"; - enable_printing = true; - angle_enable_vulkan_validation_layers = false; - dawn_enable_vulkan_validation_layers = false; - enable_pseudolocales = false; - allow_runtime_configurable_key_storage = true; - enable_cet_shadow_stack = false; - is_cfi = false; - use_qt = false; - v8_builtins_profiling_log_file = ""; - enable_dangling_raw_ptr_checks = false; - dawn_use_built_dxc = false; - v8_enable_private_mapping_fork_optimization = true; - v8_expose_public_symbols = true; - enable_dangling_raw_ptr_feature_flag = false; - clang_unsafe_buffers_paths = ""; - enterprise_cloud_content_analysis = false; - } // lib.optionalAttrs (lib.versionAtLeast info.version "33") { - content_enable_legacy_ipc = true; - } // { - - # other - enable_widevine = false; - override_electron_version = info.version; - }; + ) + '' + + base.postPatch; + + preConfigure = + '' + ( + cd third_party/node + grep patch update_npm_deps | sh + ) + '' + + (base.preConfigure or ""); + + gnFlags = + rec { + # build/args/release.gn + is_component_build = false; + is_official_build = true; + rtc_use_h264 = proprietary_codecs; + is_component_ffmpeg = true; + + # build/args/all.gn + is_electron_build = true; + root_extra_deps = [ "//electron" ]; + node_module_version = info.modules; + v8_promise_internal_field_count = 1; + v8_embedder_string = "-electron.0"; + v8_enable_snapshot_native_code_counters = false; + v8_enable_javascript_promise_hooks = true; + enable_cdm_host_verification = false; + proprietary_codecs = true; + ffmpeg_branding = "Chrome"; + enable_printing = true; + angle_enable_vulkan_validation_layers = false; + dawn_enable_vulkan_validation_layers = false; + enable_pseudolocales = false; + allow_runtime_configurable_key_storage = true; + enable_cet_shadow_stack = false; + is_cfi = false; + use_qt = false; + v8_builtins_profiling_log_file = ""; + enable_dangling_raw_ptr_checks = false; + dawn_use_built_dxc = false; + v8_enable_private_mapping_fork_optimization = true; + v8_expose_public_symbols = true; + enable_dangling_raw_ptr_feature_flag = false; + clang_unsafe_buffers_paths = ""; + enterprise_cloud_content_analysis = false; + } + // lib.optionalAttrs (lib.versionAtLeast info.version "33") { + content_enable_legacy_ipc = true; + } + // { + + # other + enable_widevine = false; + override_electron_version = info.version; + }; installPhase = '' runHook preInstall @@ -199,11 +228,12 @@ in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { speechd-minimal ]; in - base.postFixup + '' - patchelf \ - --add-rpath "${libPath}" \ - $out/libexec/electron/electron - ''; + base.postFixup + + '' + patchelf \ + --add-rpath "${libPath}" \ + $out/libexec/electron/electron + ''; requiredSystemFeatures = [ "big-parallel" ]; @@ -231,14 +261,25 @@ in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { homepage = "https://github.com/electron/electron"; platforms = lib.platforms.linux; license = licenses.mit; - maintainers = with maintainers; [ yayayayaka teutat3s ]; + maintainers = with maintainers; [ + yayayayaka + teutat3s + ]; mainProgram = "electron"; - hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"]; + hydraPlatforms = + lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) + [ + "aarch64-linux" + "x86_64-linux" + ]; timeout = 172800; # 48 hours (increased from the Hydra default of 10h) }; -})).overrideAttrs (finalAttrs: prevAttrs: { - # this was the only way I could get the package to properly reference itself - passthru = prevAttrs.passthru // { - dist = finalAttrs.finalPackage + "/libexec/electron"; - }; -}) +})).overrideAttrs + ( + finalAttrs: prevAttrs: { + # this was the only way I could get the package to properly reference itself + passthru = prevAttrs.passthru // { + dist = finalAttrs.finalPackage + "/libexec/electron"; + }; + } + ) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 8c97837160d1c..b8d452c56d59c 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -3,10 +3,12 @@ let versions = lib.importJSON ./info.json; in - lib.mapAttrs' (version: info: - lib.nameValuePair "electron_${version}" ( - let - electron-unwrapped = callPackage ./common.nix { inherit info; }; - in callPackage ./wrapper.nix { inherit electron-unwrapped; } - ) - ) versions +lib.mapAttrs' ( + version: info: + lib.nameValuePair "electron_${version}" ( + let + electron-unwrapped = callPackage ./common.nix { inherit info; }; + in + callPackage ./wrapper.nix { inherit electron-unwrapped; } + ) +) versions diff --git a/pkgs/development/tools/electron/wrapper.nix b/pkgs/development/tools/electron/wrapper.nix index 8c48e8f695fc2..412596a0629b2 100644 --- a/pkgs/development/tools/electron/wrapper.nix +++ b/pkgs/development/tools/electron/wrapper.nix @@ -1,21 +1,28 @@ -{ stdenv -, electron-unwrapped -, wrapGAppsHook3 -, makeWrapper -, gsettings-desktop-schemas -, glib -, gtk3 -, gtk4 +{ + stdenv, + electron-unwrapped, + wrapGAppsHook3, + makeWrapper, + gsettings-desktop-schemas, + glib, + gtk3, + gtk4, }: stdenv.mkDerivation { pname = "electron"; inherit (electron-unwrapped) version; - nativeBuildInputs = [ wrapGAppsHook3 makeWrapper ]; + nativeBuildInputs = [ + wrapGAppsHook3 + makeWrapper + ]; buildInputs = [ # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas glib gtk3 gtk4 + gsettings-desktop-schemas + glib + gtk3 + gtk4 ]; dontWrapGApps = true; diff --git a/pkgs/development/tools/enochecker-test/default.nix b/pkgs/development/tools/enochecker-test/default.nix index ca6a49e3502fd..08a7e3080512e 100644 --- a/pkgs/development/tools/enochecker-test/default.nix +++ b/pkgs/development/tools/enochecker-test/default.nix @@ -1,22 +1,23 @@ -{ lib -, buildPythonApplication -, fetchPypi -, pythonOlder +{ + lib, + buildPythonApplication, + fetchPypi, + pythonOlder, -, certifi -, charset-normalizer -, enochecker-core -, exceptiongroup -, idna -, iniconfig -, jsons -, packaging -, pluggy -, pytest -, requests -, tomli -, typish -, urllib3 + certifi, + charset-normalizer, + enochecker-core, + exceptiongroup, + idna, + iniconfig, + jsons, + packaging, + pluggy, + pytest, + requests, + tomli, + typish, + urllib3, }: buildPythonApplication rec { diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix index a7720470f4896..c5921c694473b 100644 --- a/pkgs/development/tools/esbuild/default.nix +++ b/pkgs/development/tools/esbuild/default.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "esbuild"; @@ -15,14 +19,21 @@ buildGoModule rec { subPackages = [ "cmd/esbuild" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Extremely fast JavaScript bundler"; homepage = "https://esbuild.github.io"; changelog = "https://github.com/evanw/esbuild/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ lucus16 undefined-moe ivan ]; + maintainers = with maintainers; [ + lucus16 + undefined-moe + ivan + ]; mainProgram = "esbuild"; }; } diff --git a/pkgs/development/tools/esbuild/netlify.nix b/pkgs/development/tools/esbuild/netlify.nix index d94f78bc8b266..5431b56ddbf7e 100644 --- a/pkgs/development/tools/esbuild/netlify.nix +++ b/pkgs/development/tools/esbuild/netlify.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, netlify-cli +{ + lib, + buildGoModule, + fetchFromGitHub, + netlify-cli, }: buildGoModule rec { diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix index ae3c3ce32192e..7bbeee4a15363 100644 --- a/pkgs/development/tools/flatpak-builder/default.nix +++ b/pkgs/development/tools/flatpak-builder/default.nix @@ -1,51 +1,58 @@ -{ lib, stdenv -, fetchurl -, substituteAll -, nixosTests - -, docbook_xml_dtd_45 -, docbook_xsl -, gettext -, libxml2 -, libxslt -, pkg-config -, xmlto -, meson -, ninja - -, acl -, appstream -, breezy -, binutils -, bzip2 -, coreutils -, cpio -, curl -, debugedit -, elfutils -, flatpak -, gitMinimal -, glib -, glibcLocales -, gnumake -, gnupg -, gnutar -, json-glib -, libcap -, libsoup_2_4 -, libyaml -, ostree -, patch -, rpm -, unzip -, attr +{ + lib, + stdenv, + fetchurl, + substituteAll, + nixosTests, + + docbook_xml_dtd_45, + docbook_xsl, + gettext, + libxml2, + libxslt, + pkg-config, + xmlto, + meson, + ninja, + + acl, + appstream, + breezy, + binutils, + bzip2, + coreutils, + cpio, + curl, + debugedit, + elfutils, + flatpak, + gitMinimal, + glib, + glibcLocales, + gnumake, + gnupg, + gnutar, + json-glib, + libcap, + libsoup_2_4, + libyaml, + ostree, + patch, + rpm, + unzip, + attr, }: stdenv.mkDerivation (finalAttrs: { pname = "flatpak-builder"; version = "1.4.4"; - outputs = [ "out" "doc" "man" "installedTests" ]; + outputs = [ + "out" + "doc" + "man" + "installedTests" + ]; # fetchFromGitHub fetches an archive which does not contain the full source (https://github.com/flatpak/flatpak-builder/issues/558) src = fetchurl { @@ -121,13 +128,15 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; # Installed tests - postFixup = let - installed_testdir = "${placeholder "installedTests"}/libexec/installed-tests/flatpak-builder"; - in '' - for file in ${installed_testdir}/{test-builder.sh,test-builder-python.sh,test-builder-deprecated.sh}; do - patchShebangs $file - done - ''; + postFixup = + let + installed_testdir = "${placeholder "installedTests"}/libexec/installed-tests/flatpak-builder"; + in + '' + for file in ${installed_testdir}/{test-builder.sh,test-builder-python.sh,test-builder-deprecated.sh}; do + patchShebangs $file + done + ''; passthru = { installedTestsDependencies = [ diff --git a/pkgs/development/tools/gammaray/default.nix b/pkgs/development/tools/gammaray/default.nix index a7c16674973ac..a00ddf3cb699d 100644 --- a/pkgs/development/tools/gammaray/default.nix +++ b/pkgs/development/tools/gammaray/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, qttools -, wrapQtAppsHook -, qtbase -, qtwayland -, qtsvg -, qt3d -, qtdeclarative -, qtconnectivity -, qtlocation -, qtscxml -, qtwebengine -, kdePackages -, wayland -, elfutils -, libbfd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + qttools, + wrapQtAppsHook, + qtbase, + qtwayland, + qtsvg, + qt3d, + qtdeclarative, + qtconnectivity, + qtlocation, + qtscxml, + qtwebengine, + kdePackages, + wayland, + elfutils, + libbfd, }: stdenv.mkDerivation rec { @@ -68,4 +69,3 @@ stdenv.mkDerivation rec { mainProgram = "gammaray"; }; } - diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix index 05538598dd697..be2c4397fe75d 100644 --- a/pkgs/development/tools/gauge/default.nix +++ b/pkgs/development/tools/gauge/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gauge"; @@ -19,13 +23,19 @@ buildGoModule rec { vendorHash = "sha256-2oEIBIr8oc1ku/k9mlLSg6Q6BbUleufvlmWOaV6wPfU="; - excludedPackages = [ "build" "man" ]; + excludedPackages = [ + "build" + "man" + ]; meta = with lib; { description = "Light weight cross-platform test automation"; mainProgram = "gauge"; homepage = "https://gauge.org"; license = licenses.asl20; - maintainers = with maintainers; [ vdemeester marie ]; + maintainers = with maintainers; [ + vdemeester + marie + ]; }; } diff --git a/pkgs/development/tools/gauge/plugins/default.nix b/pkgs/development/tools/gauge/plugins/default.nix index b68d48ba4767e..73dfa06bd04bf 100644 --- a/pkgs/development/tools/gauge/plugins/default.nix +++ b/pkgs/development/tools/gauge/plugins/default.nix @@ -1,15 +1,19 @@ { lib, pkgs }: -lib.makeScope pkgs.newScope (final: let - inherit (final) callPackage; -in { - makeGaugePlugin = callPackage ./make-gauge-plugin.nix { }; - testGaugePlugins = callPackage ./test-gauge-plugins.nix { }; - dotnet = callPackage ./dotnet { }; - html-report = callPackage ./html-report { }; - java = callPackage ./java { }; - js = callPackage ./js { }; - ruby = callPackage ./ruby { }; - go = callPackage ./go { }; - screenshot = callPackage ./screenshot { }; - xml-report = callPackage ./xml-report { }; -}) +lib.makeScope pkgs.newScope ( + final: + let + inherit (final) callPackage; + in + { + makeGaugePlugin = callPackage ./make-gauge-plugin.nix { }; + testGaugePlugins = callPackage ./test-gauge-plugins.nix { }; + dotnet = callPackage ./dotnet { }; + html-report = callPackage ./html-report { }; + java = callPackage ./java { }; + js = callPackage ./js { }; + ruby = callPackage ./ruby { }; + go = callPackage ./go { }; + screenshot = callPackage ./screenshot { }; + xml-report = callPackage ./xml-report { }; + } +) diff --git a/pkgs/development/tools/gauge/plugins/dotnet/default.nix b/pkgs/development/tools/gauge/plugins/dotnet/default.nix index dbac34acdac76..26e2efe38f558 100644 --- a/pkgs/development/tools/gauge/plugins/dotnet/default.nix +++ b/pkgs/development/tools/gauge/plugins/dotnet/default.nix @@ -1,7 +1,8 @@ -{ lib -, makeGaugePlugin -, gauge-unwrapped -, stdenv +{ + lib, + makeGaugePlugin, + gauge-unwrapped, + stdenv, }: makeGaugePlugin { diff --git a/pkgs/development/tools/gauge/plugins/go/default.nix b/pkgs/development/tools/gauge/plugins/go/default.nix index c21c517fb7d10..14be396ef0867 100644 --- a/pkgs/development/tools/gauge/plugins/go/default.nix +++ b/pkgs/development/tools/gauge/plugins/go/default.nix @@ -1,5 +1,6 @@ -{ lib -, makeGaugePlugin +{ + lib, + makeGaugePlugin, }: makeGaugePlugin { pname = "go"; @@ -14,6 +15,10 @@ makeGaugePlugin { license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ marie ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + "x86_64-linux" + ]; }; } diff --git a/pkgs/development/tools/gauge/plugins/html-report/default.nix b/pkgs/development/tools/gauge/plugins/html-report/default.nix index 33e0eb272275a..8083b1cbd8775 100644 --- a/pkgs/development/tools/gauge/plugins/html-report/default.nix +++ b/pkgs/development/tools/gauge/plugins/html-report/default.nix @@ -1,5 +1,6 @@ -{ lib -, makeGaugePlugin +{ + lib, + makeGaugePlugin, }: makeGaugePlugin { pname = "html-report"; @@ -14,6 +15,11 @@ makeGaugePlugin { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ marie ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/development/tools/gauge/plugins/java/default.nix b/pkgs/development/tools/gauge/plugins/java/default.nix index 1dafc4a04065e..27a94cdf8aedb 100644 --- a/pkgs/development/tools/gauge/plugins/java/default.nix +++ b/pkgs/development/tools/gauge/plugins/java/default.nix @@ -1,5 +1,6 @@ -{ lib -, makeGaugePlugin +{ + lib, + makeGaugePlugin, }: makeGaugePlugin { pname = "java"; @@ -19,6 +20,11 @@ makeGaugePlugin { # Jar files binaryBytecode ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/development/tools/gauge/plugins/js/default.nix b/pkgs/development/tools/gauge/plugins/js/default.nix index 20af0ab0f8f97..c3f2923cdb313 100644 --- a/pkgs/development/tools/gauge/plugins/js/default.nix +++ b/pkgs/development/tools/gauge/plugins/js/default.nix @@ -1,9 +1,10 @@ -{ lib -, nodejs -, buildNpmPackage -, fetchFromGitHub -, unzip -, gauge-unwrapped +{ + lib, + nodejs, + buildNpmPackage, + fetchFromGitHub, + unzip, + gauge-unwrapped, }: buildNpmPackage rec { pname = "gauge-plugin-js"; diff --git a/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix b/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix index 71f88a2c40ae6..1bf16e984bea7 100644 --- a/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix +++ b/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix @@ -1,23 +1,40 @@ -{ stdenvNoCC -, fetchzip -, lib -, writeScript -, autoPatchelfHook -, testGaugePlugins +{ + stdenvNoCC, + fetchzip, + lib, + writeScript, + autoPatchelfHook, + testGaugePlugins, }: -{ pname -, data -, repo -, releasePrefix -, isCrossArch ? false -, meta -, ... -} @ args: +{ + pname, + data, + repo, + releasePrefix, + isCrossArch ? false, + meta, + ... +}@args: let - otherArgs = lib.attrsets.removeAttrs args [ "pname" "data" "repo" "releasePrefix" "isMultiArch" ]; + otherArgs = lib.attrsets.removeAttrs args [ + "pname" + "data" + "repo" + "releasePrefix" + "isMultiArch" + ]; inherit (stdenvNoCC.hostPlatform) system; - inherit (if isCrossArch then data else data.${system} or (throw "gaugePlugins.${pname}: No source for system: ${system}")) url hash; + inherit + ( + if isCrossArch then + data + else + data.${system} or (throw "gaugePlugins.${pname}: No source for system: ${system}") + ) + url + hash + ; # Upstream uses a different naming scheme for platforms systemMap = { "x86_64-darwin" = "darwin.x86_64"; @@ -26,76 +43,84 @@ let "x86_64-linux" = "linux.x86_64"; }; in -stdenvNoCC.mkDerivation (finalAttrs: (lib.recursiveUpdate { - pname = "gauge-plugin-${pname}"; - inherit (data) version; - - src = fetchzip { - inherit url hash; - stripRoot = false; - }; - - nativeBuildInputs = lib.optional stdenvNoCC.hostPlatform.isLinux autoPatchelfHook; - - installPhase = '' - mkdir -p "$out/share/gauge-plugins/${pname}/${finalAttrs.version}" - cp -r . "$out/share/gauge-plugins/${pname}/${finalAttrs.version}" - ''; +stdenvNoCC.mkDerivation ( + finalAttrs: + (lib.recursiveUpdate { + pname = "gauge-plugin-${pname}"; + inherit (data) version; + + src = fetchzip { + inherit url hash; + stripRoot = false; + }; + + nativeBuildInputs = lib.optional stdenvNoCC.hostPlatform.isLinux autoPatchelfHook; + + installPhase = '' + mkdir -p "$out/share/gauge-plugins/${pname}/${finalAttrs.version}" + cp -r . "$out/share/gauge-plugins/${pname}/${finalAttrs.version}" + ''; - passthru = { - tests.loadPlugin = testGaugePlugins { plugins = [ finalAttrs.finalPackage ]; }; - updateScript = writeScript "update-${finalAttrs.pname}" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p curl nix-prefetch yq-go + passthru = { + tests.loadPlugin = testGaugePlugins { plugins = [ finalAttrs.finalPackage ]; }; + updateScript = writeScript "update-${finalAttrs.pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl nix-prefetch yq-go - set -e + set -e - dirname="pkgs/development/tools/gauge/plugins/${pname}" + dirname="pkgs/development/tools/gauge/plugins/${pname}" - currentVersion=$(nix eval --raw -f default.nix gaugePlugins.${pname}.version) + currentVersion=$(nix eval --raw -f default.nix gaugePlugins.${pname}.version) - latestTag=$(curl -s ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/${repo}/releases/latest | yq ".tag_name") - latestVersion="$(expr $latestTag : 'v\(.*\)')" + latestTag=$(curl -s ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/${repo}/releases/latest | yq ".tag_name") + latestVersion="$(expr $latestTag : 'v\(.*\)')" - tempfile=$(mktemp) + tempfile=$(mktemp) - if [[ "$FORCE_UPDATE" != "true" && "$currentVersion" == "$latestVersion" ]]; then - echo "gauge-${pname} is up-to-date: ''${currentVersion}" - exit 0 - fi + if [[ "$FORCE_UPDATE" != "true" && "$currentVersion" == "$latestVersion" ]]; then + echo "gauge-${pname} is up-to-date: ''${currentVersion}" + exit 0 + fi - yq -iPoj "{ \"version\": \"$latestVersion\" }" "$tempfile" + yq -iPoj "{ \"version\": \"$latestVersion\" }" "$tempfile" - updateSystem() { - system=$1 - url=$2 + updateSystem() { + system=$1 + url=$2 - echo "Fetching hash for $system" - hash=$(nix-prefetch-url --type sha256 $url --unpack) - sriHash="$(nix hash to-sri --type sha256 $hash)" + echo "Fetching hash for $system" + hash=$(nix-prefetch-url --type sha256 $url --unpack) + sriHash="$(nix hash to-sri --type sha256 $hash)" - yq -iPoj ". + { \"$system\": { \"url\": \"$url\", \"hash\": \"$sriHash\" } }" "$tempfile" - } + yq -iPoj ". + { \"$system\": { \"url\": \"$url\", \"hash\": \"$sriHash\" } }" "$tempfile" + } - updateSingle() { - url=$1 + updateSingle() { + url=$1 - echo "Fetching hash" - hash=$(nix-prefetch-url --type sha256 $url --unpack) - sriHash="$(nix hash to-sri --type sha256 $hash)" + echo "Fetching hash" + hash=$(nix-prefetch-url --type sha256 $url --unpack) + sriHash="$(nix hash to-sri --type sha256 $hash)" - yq -iPoj ". + { \"url\": \"$url\", \"hash\": \"$sriHash\" }" "$tempfile" - } + yq -iPoj ". + { \"url\": \"$url\", \"hash\": \"$sriHash\" }" "$tempfile" + } - baseUrl="https://github.com/${repo}/releases/download/$latestTag/${releasePrefix}$latestVersion" + baseUrl="https://github.com/${repo}/releases/download/$latestTag/${releasePrefix}$latestVersion" - ${if isCrossArch then - "updateSingle \${baseUrl}.zip" - else - lib.concatStringsSep "\n" (map (platform: ''updateSystem "${platform}" "''${baseUrl}-${systemMap.${platform}}.zip"'') meta.platforms) - } + ${ + if isCrossArch then + "updateSingle \${baseUrl}.zip" + else + lib.concatStringsSep "\n" ( + map ( + platform: ''updateSystem "${platform}" "''${baseUrl}-${systemMap.${platform}}.zip"'' + ) meta.platforms + ) + } - mv "$tempfile" "$dirname/data.json" - ''; - }; -} otherArgs)) + mv "$tempfile" "$dirname/data.json" + ''; + }; + } otherArgs) +) diff --git a/pkgs/development/tools/gauge/plugins/ruby/default.nix b/pkgs/development/tools/gauge/plugins/ruby/default.nix index 9a5283b649a14..017dbf3b6b8c6 100644 --- a/pkgs/development/tools/gauge/plugins/ruby/default.nix +++ b/pkgs/development/tools/gauge/plugins/ruby/default.nix @@ -1,5 +1,6 @@ -{ lib -, makeGaugePlugin +{ + lib, + makeGaugePlugin, }: makeGaugePlugin { pname = "ruby"; @@ -14,6 +15,11 @@ makeGaugePlugin { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ marie ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/development/tools/gauge/plugins/screenshot/default.nix b/pkgs/development/tools/gauge/plugins/screenshot/default.nix index a394338d7a641..26ac349837765 100644 --- a/pkgs/development/tools/gauge/plugins/screenshot/default.nix +++ b/pkgs/development/tools/gauge/plugins/screenshot/default.nix @@ -1,5 +1,6 @@ -{ lib -, makeGaugePlugin +{ + lib, + makeGaugePlugin, }: makeGaugePlugin { pname = "screenshot"; @@ -14,6 +15,11 @@ makeGaugePlugin { license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ marie ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - platforms = [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/development/tools/gauge/plugins/xml-report/default.nix b/pkgs/development/tools/gauge/plugins/xml-report/default.nix index 0337ceca0605a..154c2f3de244d 100644 --- a/pkgs/development/tools/gauge/plugins/xml-report/default.nix +++ b/pkgs/development/tools/gauge/plugins/xml-report/default.nix @@ -1,5 +1,6 @@ -{ lib -, makeGaugePlugin +{ + lib, + makeGaugePlugin, }: makeGaugePlugin { pname = "xml-report"; @@ -14,6 +15,11 @@ makeGaugePlugin { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ marie ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; - platforms = [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/development/tools/gauge/wrapper.nix b/pkgs/development/tools/gauge/wrapper.nix index 8f4ceca25e9eb..fcdfcaacb277c 100644 --- a/pkgs/development/tools/gauge/wrapper.nix +++ b/pkgs/development/tools/gauge/wrapper.nix @@ -1,12 +1,13 @@ -{ gauge-unwrapped -, gauge -, makeWrapper -, stdenvNoCC -, lib -, xorg -, gaugePlugins -, plugins ? [] -, runCommand +{ + gauge-unwrapped, + gauge, + makeWrapper, + stdenvNoCC, + lib, + xorg, + gaugePlugins, + plugins ? [ ], + runCommand, }: stdenvNoCC.mkDerivation { @@ -44,18 +45,28 @@ stdenvNoCC.mkDerivation { --set GAUGE_HOME "$GAUGE_HOME" ''; - nativeBuildInputs = [ gauge-unwrapped makeWrapper xorg.lndir ]; + nativeBuildInputs = [ + gauge-unwrapped + makeWrapper + xorg.lndir + ]; passthru = { withPlugins = f: gauge.override { plugins = f gaugePlugins; }; - fromManifest = path: + fromManifest = + path: let manifest = lib.importJSON path; requiredPlugins = with manifest; [ Language ] ++ Plugins; - manifestPlugins = plugins: map (name: plugins.${name} or (throw "Gauge plugin ${name} is not available!")) requiredPlugins; - in gauge.withPlugins manifestPlugins; + manifestPlugins = + plugins: + map (name: plugins.${name} or (throw "Gauge plugin ${name} is not available!")) requiredPlugins; + in + gauge.withPlugins manifestPlugins; # Builds gauge with all plugins and checks for successful installation - tests.allPlugins = gaugePlugins.testGaugePlugins { plugins = lib.filter lib.isDerivation (lib.attrValues gaugePlugins); }; + tests.allPlugins = gaugePlugins.testGaugePlugins { + plugins = lib.filter lib.isDerivation (lib.attrValues gaugePlugins); + }; }; inherit (gauge-unwrapped) meta; diff --git a/pkgs/development/tools/geckodriver/default.nix b/pkgs/development/tools/geckodriver/default.nix index 7af8747ef8c4b..7adc26e81ad59 100644 --- a/pkgs/development/tools/geckodriver/default.nix +++ b/pkgs/development/tools/geckodriver/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, stdenv -, Security -, libiconv +{ + lib, + fetchFromGitHub, + rustPlatform, + stdenv, + Security, + libiconv, }: rustPlatform.buildRustPackage rec { @@ -19,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-gopI5iOCSzD23mvOues76WIiBtpNf9A6X9NoOULm6Qo="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; meta = with lib; { description = "Proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers"; diff --git a/pkgs/development/tools/gemstash/default.nix b/pkgs/development/tools/gemstash/default.nix index 8128c4db290af..8256c82baa284 100644 --- a/pkgs/development/tools/gemstash/default.nix +++ b/pkgs/development/tools/gemstash/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerApp, bundlerUpdateScript, nixosTests }: +{ + lib, + bundlerApp, + bundlerUpdateScript, + nixosTests, +}: bundlerApp rec { pname = "gemstash"; @@ -12,8 +17,8 @@ bundlerApp rec { meta = with lib; { description = "Cache for RubyGems.org and a private gem server"; - homepage = "https://github.com/rubygems/gemstash"; - license = licenses.mit; + homepage = "https://github.com/rubygems/gemstash"; + license = licenses.mit; maintainers = [ maintainers.viraptor ]; }; } diff --git a/pkgs/development/tools/gemstash/gemset.nix b/pkgs/development/tools/gemstash/gemset.nix index 8d626cd10367c..40f7f09fe9e26 100644 --- a/pkgs/development/tools/gemstash/gemset.nix +++ b/pkgs/development/tools/gemstash/gemset.nix @@ -1,454 +1,499 @@ { activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cacrvmn1561fb88fn99ig52wdz1k67s7vbssqwwwljf1kanlgvc"; type = "gem"; }; version = "7.2.1.2"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; dalli = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19daxf5n5gr3pr57k4wqg701c3zwsk2h4jjialkaw7yrhi85jqrf"; type = "gem"; }; version = "3.2.8"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "069gmdh5j90v06rbwlqvlhzhq45lxhx74mahz25xd276rm0wb153"; type = "gem"; }; version = "1.10.4"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3"; type = "gem"; }; version = "1.0.2"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1s990pnapb3vci9c00bklqc7jjix4i2zhxn2zf1lfk46xv47hnyl"; type = "gem"; }; version = "1.2.1"; }; gemstash = { - dependencies = ["activesupport" "dalli" "faraday" "faraday_middleware" "lru_redux" "psych" "puma" "sequel" "server_health_check-rack" "sinatra" "sqlite3" "terminal-table" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "dalli" + "faraday" + "faraday_middleware" + "lru_redux" + "psych" + "puma" + "sequel" + "server_health_check-rack" + "sinatra" + "sqlite3" + "terminal-table" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sysgn3gxxdyqm08b9ldsbzmp3yhdwgala9dfv5yspw5nkksprpj"; type = "gem"; }; version = "2.7.1"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; lru_redux = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yxghzg7476sivz8yyr9nkak2dlbls0b89vc2kg52k0nmg6d0wgf"; type = "gem"; }; version = "1.1.0"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; type = "gem"; }; version = "2.4.1"; }; mustermann = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby2_keywords" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "123ycmq6pkivv29bqbv79jv2cs04xakzd0fz1lalgvfs5nxfky6i"; type = "gem"; }; version = "3.0.3"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal"; type = "gem"; }; version = "2.7.3"; }; psych = { - dependencies = ["stringio"]; - groups = ["default"]; - platforms = []; + dependencies = [ "stringio" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; type = "gem"; }; version = "5.1.2"; }; puma = { - dependencies = ["nio4r"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gml1rixrfb0naciq3mrnqkpcvm9ahgps1c04hzxh4b801f69914"; type = "gem"; }; version = "6.4.3"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ax778fsfvlhj7c11n0d1wdcb8bxvkb190a9lha5d91biwzyx9g4"; type = "gem"; }; version = "2.2.10"; }; rack-protection = { - dependencies = ["base64" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; version = "3.2.0"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; securerandom = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q"; type = "gem"; }; version = "0.3.1"; }; sequel = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04jjv63wvvi9qfkpfsrv6w74liiqk4cd1qnlk7ja7i2waci9hlzx"; type = "gem"; }; version = "5.85.0"; }; server_health_check = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06chz92parchhj1457lf5lbj3hrmvqpq6mfskxcnj5f4qa14n5wd"; type = "gem"; }; version = "1.0.2"; }; server_health_check-rack = { - dependencies = ["server_health_check"]; - groups = ["default"]; - platforms = []; + dependencies = [ "server_health_check" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cgqr94x18f60n27sk9lgg471c6vk6qy132z7i1ppp32kvmjfphs"; type = "gem"; }; version = "0.1.0"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mustermann" + "rack" + "rack-protection" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01wq20aqk5kfggq3wagx5xr1cz0x08lg6dxbk9yhd1sf0d6pywkf"; type = "gem"; }; version = "3.2.0"; }; sqlite3 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "sha256-+nf2PHCVSPRtTptrtFzaUqo4gaoSzIWZETJ1jolocBw="; type = "gem"; }; version = "1.7.3"; }; stringio = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; version = "3.1.1"; }; terminal-table = { - dependencies = ["unicode-display_width"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unicode-display_width" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr"; type = "gem"; }; version = "3.0.2"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; version = "1.3.2"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj"; type = "gem"; }; diff --git a/pkgs/development/tools/git-ps-rs/default.nix b/pkgs/development/tools/git-ps-rs/default.nix index 089c03268931c..10299c5d439b8 100644 --- a/pkgs/development/tools/git-ps-rs/default.nix +++ b/pkgs/development/tools/git-ps-rs/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, stdenv -, pkg-config -, dbus -, openssl -, Security +{ + lib, + fetchFromGitHub, + rustPlatform, + stdenv, + pkg-config, + dbus, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl dbus ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + buildInputs = [ + openssl + dbus + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; meta = with lib; { description = "Tool for working with a stack of patches"; diff --git a/pkgs/development/tools/github-changelog-generator/default.nix b/pkgs/development/tools/github-changelog-generator/default.nix index 0239259a0c81e..4faae1cfe0e6c 100644 --- a/pkgs/development/tools/github-changelog-generator/default.nix +++ b/pkgs/development/tools/github-changelog-generator/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "github_changelog_generator"; @@ -9,9 +13,12 @@ bundlerApp { meta = with lib; { description = "Fully automated changelog generation - This gem generates a changelog file based on tags, issues and merged pull requests"; - homepage = "https://github.com/github-changelog-generator/github-changelog-generator"; - license = licenses.mit; - maintainers = with maintainers; [ Scriptkiddi nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/github-changelog-generator/github-changelog-generator"; + license = licenses.mit; + maintainers = with maintainers; [ + Scriptkiddi + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/github-changelog-generator/gemset.nix b/pkgs/development/tools/github-changelog-generator/gemset.nix index 3a68811b0f7b4..4499566e99d54 100644 --- a/pkgs/development/tools/github-changelog-generator/gemset.nix +++ b/pkgs/development/tools/github-changelog-generator/gemset.nix @@ -1,417 +1,466 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6"; type = "gem"; }; version = "7.0.1"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; type = "gem"; }; version = "2.8.0"; }; async = { - dependencies = ["console" "nio4r" "timers"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "console" + "nio4r" + "timers" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mdv66xn5xjyaidyrp66mfnx7d4habkbfmx9y57k75h5q6fd2b65"; type = "gem"; }; version = "1.30.1"; }; async-http = { - dependencies = ["async" "async-io" "async-pool" "protocol-http" "protocol-http1" "protocol-http2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "async" + "async-io" + "async-pool" + "protocol-http" + "protocol-http1" + "protocol-http2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v3451bnn7rhgvl6ng0ys0dgm7cmyi3m41kmf5wyrpb83dhds13l"; type = "gem"; }; version = "0.56.5"; }; async-http-faraday = { - dependencies = ["async-http" "faraday"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "async-http" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ndynkfknabv6m9wzcmdnj4r4bhlxqkg9c6rzsjc1pk8q057kslv"; type = "gem"; }; version = "0.11.0"; }; async-io = { - dependencies = ["async"]; - groups = ["default"]; - platforms = []; + dependencies = [ "async" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10l9m0x2ffvsaaxc4mfalrljjx13njkyir9w6yfif8wpszc291h8"; type = "gem"; }; version = "1.32.2"; }; async-pool = { - dependencies = ["async"]; - groups = ["default"]; - platforms = []; + dependencies = [ "async" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02r6cyvralcv2yn1jj0plxynwr7rvxym13vlxd2wxk1bymfq9fd9"; type = "gem"; }; version = "0.3.9"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f"; type = "gem"; }; version = "1.1.9"; }; console = { - dependencies = ["fiber-local"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fiber-local" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13ylq7x9zk79r79pssnjvby14shcyamwcbap842p9gvmkf7xblmr"; type = "gem"; }; version = "1.14.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6"; type = "gem"; }; version = "1.9.3"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-http-cache = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7"; type = "gem"; }; version = "2.2.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j"; type = "gem"; }; version = "1.0.3"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; fiber-local = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9"; type = "gem"; }; version = "1.0.0"; }; github_changelog_generator = { - dependencies = ["activesupport" "async" "async-http-faraday" "faraday-http-cache" "multi_json" "octokit" "rainbow" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "async" + "async-http-faraday" + "faraday-http-cache" + "multi_json" + "octokit" + "rainbow" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04d6z2ysq3gzvpw91lq8mxmdlqcxkmvp8rw9zrzkmksh3pjdzli1"; type = "gem"; }; version = "1.16.4"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf"; type = "gem"; }; version = "1.8.11"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd"; type = "gem"; }; version = "5.15.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; type = "gem"; }; version = "2.1.1"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v"; type = "gem"; }; version = "2.5.8"; }; octokit = { - dependencies = ["faraday" "sawyer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "sawyer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nmdd7klyinvrrv2mggwwmc99ykaq7i379j00i37hvvaqx4giifj"; type = "gem"; }; version = "4.22.0"; }; protocol-hpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sd85am1hj2w7z5hv19wy1nbisxfr1vqx3wlxjfz9xy7x7s6aczw"; type = "gem"; }; version = "1.4.2"; }; protocol-http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lhg47b3w1d6pdwdkyha8ijzfhjrh90snwydkhwfnl5r10dd9cg5"; type = "gem"; }; version = "0.22.5"; }; protocol-http1 = { - dependencies = ["protocol-http"]; - groups = ["default"]; - platforms = []; + dependencies = [ "protocol-http" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z56p7zqbyvwlrsbs19knny4v9f7ycsgblhv50ar8wgyifvsddf6"; type = "gem"; }; version = "0.14.2"; }; protocol-http2 = { - dependencies = ["protocol-hpack" "protocol-http"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "protocol-hpack" + "protocol-http" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a9klpfmi7w465zq5xz8y8h1qvj42hkm0qd0nlws9d2idd767q5j"; type = "gem"; }; version = "0.14.2"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; type = "gem"; }; version = "4.0.6"; }; rainbow = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; sawyer = { - dependencies = ["addressable" "faraday"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; type = "gem"; }; version = "0.8.2"; }; timers = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00xdi97gm01alfqhjgvv5sff9n1n2l6aym69s9jh8l9clg63b0jc"; type = "gem"; }; version = "4.3.3"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z"; type = "gem"; }; diff --git a/pkgs/development/tools/github/cligh/default.nix b/pkgs/development/tools/github/cligh/default.nix index bb97fc2e8b3ee..c6ccd1588cea4 100644 --- a/pkgs/development/tools/github/cligh/default.nix +++ b/pkgs/development/tools/github/cligh/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildPythonApplication, pyxdg, pygithub }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + pyxdg, + pygithub, +}: buildPythonApplication rec { pname = "cligh"; @@ -13,18 +19,21 @@ buildPythonApplication rec { sha256 = "0d1fd78rzl2n75xpmy1gnxh1shvcs4qm0j4qqszqvfriwkg2flxn"; }; - propagatedBuildInputs = [ pyxdg pygithub ]; + propagatedBuildInputs = [ + pyxdg + pygithub + ]; meta = with lib; { homepage = "http://the-brannons.com/software/cligh.html"; description = "Simple command-line interface to the facilities of Github"; mainProgram = "cligh"; longDescription = '' - Cligh is a simple command-line interface to the facilities of GitHub. - It is written by Christopher Brannon chris@the-brannons.com. The - current version is 0.3, released July 23, 2016. This program is still - in the early stage of development. It is by no means feature-complete. - A friend and I consider it useful, but others may not. + Cligh is a simple command-line interface to the facilities of GitHub. + It is written by Christopher Brannon chris@the-brannons.com. The + current version is 0.3, released July 23, 2016. This program is still + in the early stage of development. It is by no means feature-complete. + A friend and I consider it useful, but others may not. ''; platforms = platforms.all; license = licenses.bsd3; diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix index 0d950d24bf606..dc2dc3f7c457c 100644 --- a/pkgs/development/tools/glslviewer/default.nix +++ b/pkgs/development/tools/glslviewer/default.nix @@ -26,26 +26,28 @@ stdenv.mkDerivation rec { rev = version; hash = "sha256-Ve3wmX5+kABCu8IRe4ySrwsBJm47g1zvMqDbqrpQl88="; }; - nativeBuildInputs = [cmake ninja pkg-config]; - buildInputs = - [ - libX11 - libXrandr - libXinerama - libXcursor - libXi - libXext - libGLU - ncurses - ffmpeg - ] - ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; + nativeBuildInputs = [ + cmake + ninja + pkg-config + ]; + buildInputs = [ + libX11 + libXrandr + libXinerama + libXcursor + libXi + libXext + libGLU + ncurses + ffmpeg + ] ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; meta = with lib; { description = "Live GLSL coding renderer"; homepage = "https://patriciogonzalezvivo.com/2015/glslViewer/"; license = licenses.bsd3; - maintainers = [maintainers.hodapp]; + maintainers = [ maintainers.hodapp ]; platforms = platforms.unix; mainProgram = "glslViewer"; # never built on aarch64-darwin since first introduction in nixpkgs diff --git a/pkgs/development/tools/godot/3/debug-server.nix b/pkgs/development/tools/godot/3/debug-server.nix index 5e134d71e1e6c..fd3c25f004de4 100644 --- a/pkgs/development/tools/godot/3/debug-server.nix +++ b/pkgs/development/tools/godot/3/debug-server.nix @@ -1,7 +1,9 @@ { godot3-headless }: -godot3-headless.overrideAttrs (self: base: { - pname = "godot3-debug-server"; - godotBuildDescription = "debug server"; - shouldBuildTools = false; -}) +godot3-headless.overrideAttrs ( + self: base: { + pname = "godot3-debug-server"; + godotBuildDescription = "debug server"; + shouldBuildTools = false; + } +) diff --git a/pkgs/development/tools/godot/3/export-templates.nix b/pkgs/development/tools/godot/3/export-templates.nix index 714cd32869c01..184920bfcde76 100644 --- a/pkgs/development/tools/godot/3/export-templates.nix +++ b/pkgs/development/tools/godot/3/export-templates.nix @@ -1,28 +1,30 @@ { godot3 }: -godot3.overrideAttrs (self: base: { - pname = "godot3-export-templates"; - godotBuildDescription = "nix export templates"; +godot3.overrideAttrs ( + self: base: { + pname = "godot3-export-templates"; + godotBuildDescription = "nix export templates"; - # As described in default.nix, adding the link flags to pulseaudio in detect.py was necessary to - # allow the dlopen calls to succeed in Nix builds of godot. However, it seems that this *breaks* - # the export templates, resulting in programs exported from godot using these export templates to - # be unable to load this library. - shouldAddLinkFlagsToPulse = false; + # As described in default.nix, adding the link flags to pulseaudio in detect.py was necessary to + # allow the dlopen calls to succeed in Nix builds of godot. However, it seems that this *breaks* + # the export templates, resulting in programs exported from godot using these export templates to + # be unable to load this library. + shouldAddLinkFlagsToPulse = false; - shouldBuildTools = false; - godotBuildTarget = "release"; - godotBinInstallPath = "share/godot/templates/${self.version}.stable"; - installedGodotBinName = "linux_${self.godotBuildPlatform}_64_${self.godotBuildTarget}"; + shouldBuildTools = false; + godotBuildTarget = "release"; + godotBinInstallPath = "share/godot/templates/${self.version}.stable"; + installedGodotBinName = "linux_${self.godotBuildPlatform}_64_${self.godotBuildTarget}"; - # https://docs.godotengine.org/en/stable/development/compiling/optimizing_for_size.html - # Stripping reduces the template size from around 500MB to 40MB for Linux. - # This also impacts the size of the exported games. - # This is added explicitly here because mkDerivation does not automatically - # strip binaries in the template directory. - stripAllList = (base.stripAllList or []) ++ [ "share/godot/templates" ]; + # https://docs.godotengine.org/en/stable/development/compiling/optimizing_for_size.html + # Stripping reduces the template size from around 500MB to 40MB for Linux. + # This also impacts the size of the exported games. + # This is added explicitly here because mkDerivation does not automatically + # strip binaries in the template directory. + stripAllList = (base.stripAllList or [ ]) ++ [ "share/godot/templates" ]; - meta = base.meta // { - homepage = "https://docs.godotengine.org/en/stable/development/compiling/compiling_for_x11.html#building-export-templates"; - }; -}) + meta = base.meta // { + homepage = "https://docs.godotengine.org/en/stable/development/compiling/compiling_for_x11.html#building-export-templates"; + }; + } +) diff --git a/pkgs/development/tools/godot/3/headless.nix b/pkgs/development/tools/godot/3/headless.nix index 85b998f3807c3..2e66516c012ba 100644 --- a/pkgs/development/tools/godot/3/headless.nix +++ b/pkgs/development/tools/godot/3/headless.nix @@ -1,7 +1,9 @@ { godot3 }: -godot3.overrideAttrs (self: base: { - pname = "godot3-headless"; - godotBuildDescription = "headless"; - godotBuildPlatform = "server"; -}) +godot3.overrideAttrs ( + self: base: { + pname = "godot3-headless"; + godotBuildDescription = "headless"; + godotBuildPlatform = "server"; + } +) diff --git a/pkgs/development/tools/godot/3/mono/debug-server.nix b/pkgs/development/tools/godot/3/mono/debug-server.nix index 28c18dbdb2ba0..d0e88ca91cf9f 100644 --- a/pkgs/development/tools/godot/3/mono/debug-server.nix +++ b/pkgs/development/tools/godot/3/mono/debug-server.nix @@ -1,7 +1,9 @@ { godot3-mono-headless }: -godot3-mono-headless.overrideAttrs (self: base: { - pname = "godot3-mono-debug-server"; - godotBuildDescription = "mono debug server"; - shouldBuildTools = false; -}) +godot3-mono-headless.overrideAttrs ( + self: base: { + pname = "godot3-mono-debug-server"; + godotBuildDescription = "mono debug server"; + shouldBuildTools = false; + } +) diff --git a/pkgs/development/tools/godot/3/mono/default.nix b/pkgs/development/tools/godot/3/mono/default.nix index eafe05691c1e0..340b04e094ef8 100644 --- a/pkgs/development/tools/godot/3/mono/default.nix +++ b/pkgs/development/tools/godot/3/mono/default.nix @@ -1,47 +1,57 @@ -{ godot3 -, callPackage -, mkNugetDeps -, mono -, dotnet-sdk -, scons -, python311Packages +{ + godot3, + callPackage, + mkNugetDeps, + mono, + dotnet-sdk, + scons, + python311Packages, }: (godot3.override { scons = scons.override { python3Packages = python311Packages; }; -}).overrideAttrs (self: base: { - pname = "godot3-mono"; - - godotBuildDescription = "mono build"; - - nativeBuildInputs = base.nativeBuildInputs ++ [ mono dotnet-sdk ]; - - glue = callPackage ./glue.nix {}; - - buildInputs = base.buildInputs ++ [ - (mkNugetDeps { name = "deps"; nugetDeps = import ./deps.nix; }) - ]; - - sconsFlags = base.sconsFlags ++ [ - "module_mono_enabled=true" - "mono_prefix=${mono}" - ]; - - postConfigure = '' - echo "Setting up buildhome." - mkdir buildhome - export HOME="$PWD"/buildhome - - echo "Overlaying godot glue." - cp -R --no-preserve=mode "$glue"/. . - ''; - - installedGodotShortcutFileName = "org.godotengine.GodotMono3.desktop"; - installedGodotShortcutDisplayName = "Godot Engine (Mono) 3"; - - passthru = { - make-deps = callPackage ./make-deps.nix {}; - }; -}) +}).overrideAttrs + ( + self: base: { + pname = "godot3-mono"; + + godotBuildDescription = "mono build"; + + nativeBuildInputs = base.nativeBuildInputs ++ [ + mono + dotnet-sdk + ]; + + glue = callPackage ./glue.nix { }; + + buildInputs = base.buildInputs ++ [ + (mkNugetDeps { + name = "deps"; + nugetDeps = import ./deps.nix; + }) + ]; + + sconsFlags = base.sconsFlags ++ [ + "module_mono_enabled=true" + "mono_prefix=${mono}" + ]; + + postConfigure = '' + echo "Setting up buildhome." + mkdir buildhome + export HOME="$PWD"/buildhome + + echo "Overlaying godot glue." + cp -R --no-preserve=mode "$glue"/. . + ''; + + installedGodotShortcutFileName = "org.godotengine.GodotMono3.desktop"; + installedGodotShortcutDisplayName = "Godot Engine (Mono) 3"; + + passthru = { + make-deps = callPackage ./make-deps.nix { }; + }; + } + ) diff --git a/pkgs/development/tools/godot/3/mono/deps.nix b/pkgs/development/tools/godot/3/mono/deps.nix index ea909921b4313..7e5c4469cb6f1 100644 --- a/pkgs/development/tools/godot/3/mono/deps.nix +++ b/pkgs/development/tools/godot/3/mono/deps.nix @@ -1,34 +1,163 @@ -{ fetchNuGet }: [ - (fetchNuGet { pname = "EnvDTE"; version = "8.0.2"; sha256 = "1wdvjzdmqbqyqlaijpjc959vvdic12vqr3c5sffhbxi7m1si5k63"; }) - (fetchNuGet { pname = "GodotTools.IdeMessaging"; version = "1.1.1"; sha256 = "0v70acpw2yq9mx05jy2gmkqqdbpgj8rb29ny2f3bgvmw9g5qmq94"; }) - (fetchNuGet { pname = "JetBrains.Annotations"; version = "2019.1.3"; sha256 = "188b0qw6lih0k3ddnmimadzr3y1y6vh6ramgkjnyskqd43prjzc2"; }) - (fetchNuGet { pname = "Microsoft.Build"; version = "16.5.0"; sha256 = "0baihvnzanqhk125g0ass9hhsqgp55h770pjjmsxdvprv0aqq22i"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "16.5.0"; sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.0"; sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.0"; sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc"; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "1.16.30"; sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4"; }) - (fetchNuGet { pname = "Mono.Cecil"; version = "0.11.3"; sha256 = "0xcx7pk9y2n1hr15c0l1balzi69kw5gy8dk7sb8jwqyyvm35q4j3"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; }) - (fetchNuGet { pname = "Semver"; version = "2.0.6"; sha256 = "136sd6d3ys49dipvc1h3ivmp8ryd4p7fdmdrr28521cqpvkw5f1k"; }) - (fetchNuGet { pname = "stdole"; version = "7.0.3302"; sha256 = "1n8vbzlgyklazriwvb6kjyw5w0m9a1b3xsa0f0v29j03z23fx69p"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "4.9.0"; sha256 = "1g6s9pjg4z8iy98df60y9a01imdqy59zd767vz74rrng78jl2dk5"; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "EnvDTE"; + version = "8.0.2"; + sha256 = "1wdvjzdmqbqyqlaijpjc959vvdic12vqr3c5sffhbxi7m1si5k63"; + }) + (fetchNuGet { + pname = "GodotTools.IdeMessaging"; + version = "1.1.1"; + sha256 = "0v70acpw2yq9mx05jy2gmkqqdbpgj8rb29ny2f3bgvmw9g5qmq94"; + }) + (fetchNuGet { + pname = "JetBrains.Annotations"; + version = "2019.1.3"; + sha256 = "188b0qw6lih0k3ddnmimadzr3y1y6vh6ramgkjnyskqd43prjzc2"; + }) + (fetchNuGet { + pname = "Microsoft.Build"; + version = "16.5.0"; + sha256 = "0baihvnzanqhk125g0ass9hhsqgp55h770pjjmsxdvprv0aqq22i"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Framework"; + version = "16.5.0"; + sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.0"; + sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; + version = "1.0.0"; + sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc"; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; + version = "1.16.30"; + sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4"; + }) + (fetchNuGet { + pname = "Mono.Cecil"; + version = "0.11.3"; + sha256 = "0xcx7pk9y2n1hr15c0l1balzi69kw5gy8dk7sb8jwqyyvm35q4j3"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; + }) + (fetchNuGet { + pname = "Semver"; + version = "2.0.6"; + sha256 = "136sd6d3ys49dipvc1h3ivmp8ryd4p7fdmdrr28521cqpvkw5f1k"; + }) + (fetchNuGet { + pname = "stdole"; + version = "7.0.3302"; + sha256 = "1n8vbzlgyklazriwvb6kjyw5w0m9a1b3xsa0f0v29j03z23fx69p"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.4.0"; + sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.5.0"; + sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.2"; + sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "4.9.0"; + sha256 = "1g6s9pjg4z8iy98df60y9a01imdqy59zd767vz74rrng78jl2dk5"; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.0.0"; + sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; + }) ] diff --git a/pkgs/development/tools/godot/3/mono/export-templates.nix b/pkgs/development/tools/godot/3/mono/export-templates.nix index da0d7cb2be3ca..e89ca1e2fcc20 100644 --- a/pkgs/development/tools/godot/3/mono/export-templates.nix +++ b/pkgs/development/tools/godot/3/mono/export-templates.nix @@ -1,28 +1,30 @@ { godot3-mono }: -godot3-mono.overrideAttrs (self: base: { - pname = "godot3-mono-export-templates"; - godotBuildDescription = "nix mono export templates"; +godot3-mono.overrideAttrs ( + self: base: { + pname = "godot3-mono-export-templates"; + godotBuildDescription = "nix mono export templates"; - # As described in default.nix, adding the link flags to pulseaudio in detect.py was necessary to - # allow the dlopen calls to succeed in Nix builds of godot. However, it seems that this *breaks* - # the export templates, resulting in programs exported from godot using these export templates to - # be unable to load this library. - shouldAddLinkFlagsToPulse = false; + # As described in default.nix, adding the link flags to pulseaudio in detect.py was necessary to + # allow the dlopen calls to succeed in Nix builds of godot. However, it seems that this *breaks* + # the export templates, resulting in programs exported from godot using these export templates to + # be unable to load this library. + shouldAddLinkFlagsToPulse = false; - shouldBuildTools = false; - godotBuildTarget = "release"; - godotBinInstallPath = "share/godot/templates/${self.version}.stable.mono"; - installedGodotBinName = "linux_${self.godotBuildPlatform}_64_${self.godotBuildTarget}"; + shouldBuildTools = false; + godotBuildTarget = "release"; + godotBinInstallPath = "share/godot/templates/${self.version}.stable.mono"; + installedGodotBinName = "linux_${self.godotBuildPlatform}_64_${self.godotBuildTarget}"; - # https://docs.godotengine.org/en/stable/development/compiling/optimizing_for_size.html - # Stripping reduces the template size from around 500MB to 40MB for Linux. - # This also impacts the size of the exported games. - # This is added explicitly here because mkDerivation does not automatically - # strip binaries in the template directory. - stripAllList = (base.stripAllList or []) ++ [ "share/godot/templates" ]; + # https://docs.godotengine.org/en/stable/development/compiling/optimizing_for_size.html + # Stripping reduces the template size from around 500MB to 40MB for Linux. + # This also impacts the size of the exported games. + # This is added explicitly here because mkDerivation does not automatically + # strip binaries in the template directory. + stripAllList = (base.stripAllList or [ ]) ++ [ "share/godot/templates" ]; - meta = base.meta // { - homepage = "https://docs.godotengine.org/en/stable/development/compiling/compiling_with_mono.html#export-templates"; - }; -}) + meta = base.meta // { + homepage = "https://docs.godotengine.org/en/stable/development/compiling/compiling_with_mono.html#export-templates"; + }; + } +) diff --git a/pkgs/development/tools/godot/3/mono/glue.nix b/pkgs/development/tools/godot/3/mono/glue.nix index 09659d0ab48d6..b8901d0e386ba 100644 --- a/pkgs/development/tools/godot/3/mono/glue.nix +++ b/pkgs/development/tools/godot/3/mono/glue.nix @@ -1,70 +1,76 @@ -{ godot3, mono, scons, python311Packages }: +{ + godot3, + mono, + scons, + python311Packages, +}: (godot3.override { scons = scons.override { python3Packages = python311Packages; }; -}).overrideAttrs (self: base: { - pname = "godot3-mono-glue"; - godotBuildDescription = "mono glue"; - godotBuildPlatform = "server"; +}).overrideAttrs + ( + self: base: { + pname = "godot3-mono-glue"; + godotBuildDescription = "mono glue"; + godotBuildPlatform = "server"; - sconsFlags = base.sconsFlags ++ [ - "module_mono_enabled=true" - "mono_glue=false" # Indicates not to expect already existing glue. - "mono_prefix=${mono}" - ]; + sconsFlags = base.sconsFlags ++ [ + "module_mono_enabled=true" + "mono_glue=false" # Indicates not to expect already existing glue. + "mono_prefix=${mono}" + ]; - nativeBuildInputs = base.nativeBuildInputs ++ [ mono ]; + nativeBuildInputs = base.nativeBuildInputs ++ [ mono ]; - patches = - base.patches ++ - map (rp: ./patches + rp) ( - [ - # When building godot mono, a "glue version" gets baked into it, and into the mono glue code - # generated by it. Godot mono export templates are also get a glue version baked in. If you - # export a godot mono project using an export template for which the glue version doesn't - # match that of the godot mono tool itself, then the resulting game will fail with an error - # saying "The assembly 'GodotSharp' is out of sync." Thus, if we want our build of godot mono - # to be compatible with the official export templates, we need to ensure it is built with the - # same glue version as the official build. - # - # A python script in the godot source, i.e. modules/mono/build_scripts/gen_cs_glue_version.py, - # is used by the build process to generate the glue version number. The official version of it - # does so based on the latest modified time of all the C# files in the GodotSharp solution. This - # is problematic because it is difficult to reproduce the exact timestamps that the files had - # when the official build was created. This is further complicated by the fact that nix clears - # the timestamps on the source files when they're unpacked. Thus, we can't simply regenerate the - # official glue version by building from the official source. - # - # To address this, we are patching the python script with a hard-coded glue version number. This - # patch file needs to be updated for every new version of godot, so to enforce this, the godot - # version is baked in to the file name, causing the build to fail until the patch is updated. - # - # The correct glue version number for a given godot version is obtained by running the official - # build of that version of godot with the --generate-mono-glue flag. This generates the mono - # glue files. One of those files, mono_glue.gen.cpp, has a function called get_cs_glue_version() - # which contains a hard-coded number. This is the glue version to put in the patch file. - # - # For convenience, the accompanying update-glue-version.sh script automates this work. Run it by - # passing the godot version as an argument, e.g. "3.5.2". - "/gen_cs_glue_version.py/hardcodeGlueVersion_${self.version}.patch" - ] - ); + patches = + base.patches + ++ map (rp: ./patches + rp) ([ + # When building godot mono, a "glue version" gets baked into it, and into the mono glue code + # generated by it. Godot mono export templates are also get a glue version baked in. If you + # export a godot mono project using an export template for which the glue version doesn't + # match that of the godot mono tool itself, then the resulting game will fail with an error + # saying "The assembly 'GodotSharp' is out of sync." Thus, if we want our build of godot mono + # to be compatible with the official export templates, we need to ensure it is built with the + # same glue version as the official build. + # + # A python script in the godot source, i.e. modules/mono/build_scripts/gen_cs_glue_version.py, + # is used by the build process to generate the glue version number. The official version of it + # does so based on the latest modified time of all the C# files in the GodotSharp solution. This + # is problematic because it is difficult to reproduce the exact timestamps that the files had + # when the official build was created. This is further complicated by the fact that nix clears + # the timestamps on the source files when they're unpacked. Thus, we can't simply regenerate the + # official glue version by building from the official source. + # + # To address this, we are patching the python script with a hard-coded glue version number. This + # patch file needs to be updated for every new version of godot, so to enforce this, the godot + # version is baked in to the file name, causing the build to fail until the patch is updated. + # + # The correct glue version number for a given godot version is obtained by running the official + # build of that version of godot with the --generate-mono-glue flag. This generates the mono + # glue files. One of those files, mono_glue.gen.cpp, has a function called get_cs_glue_version() + # which contains a hard-coded number. This is the glue version to put in the patch file. + # + # For convenience, the accompanying update-glue-version.sh script automates this work. Run it by + # passing the godot version as an argument, e.g. "3.5.2". + "/gen_cs_glue_version.py/hardcodeGlueVersion_${self.version}.patch" + ]); - outputs = [ "out" ]; + outputs = [ "out" ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - glue="$out"/modules/mono/glue - mkdir -p "$glue" - bin/godot_server.x11.opt.tools.*.mono --generate-mono-glue "$glue" + glue="$out"/modules/mono/glue + mkdir -p "$glue" + bin/godot_server.x11.opt.tools.*.mono --generate-mono-glue "$glue" - runHook postInstall - ''; + runHook postInstall + ''; - meta = base.meta // { - homepage = "https://docs.godotengine.org/en/stable/development/compiling/compiling_with_mono.html#generate-the-glue"; - }; -}) + meta = base.meta // { + homepage = "https://docs.godotengine.org/en/stable/development/compiling/compiling_with_mono.html#generate-the-glue"; + }; + } + ) diff --git a/pkgs/development/tools/godot/3/mono/headless.nix b/pkgs/development/tools/godot/3/mono/headless.nix index fff5367e86132..8d96948b8a111 100644 --- a/pkgs/development/tools/godot/3/mono/headless.nix +++ b/pkgs/development/tools/godot/3/mono/headless.nix @@ -1,7 +1,9 @@ { godot3-mono }: -godot3-mono.overrideAttrs (self: base: { - pname = "godot3-mono-headless"; - godotBuildDescription = "mono headless"; - godotBuildPlatform = "server"; -}) +godot3-mono.overrideAttrs ( + self: base: { + pname = "godot3-mono-headless"; + godotBuildDescription = "mono headless"; + godotBuildPlatform = "server"; + } +) diff --git a/pkgs/development/tools/godot/3/mono/make-deps.nix b/pkgs/development/tools/godot/3/mono/make-deps.nix index b654576daced4..00914f824277b 100644 --- a/pkgs/development/tools/godot/3/mono/make-deps.nix +++ b/pkgs/development/tools/godot/3/mono/make-deps.nix @@ -1,60 +1,69 @@ -{ godot3-mono, nuget-to-nix, nixfmt-rfc-style }: - -godot3-mono.overrideAttrs (self: base: { - pname = "godot3-mono-make-deps"; - - nativeBuildInputs = base.nativeBuildInputs ++ [ nuget-to-nix nixfmt-rfc-style ]; - - nugetDeps = null; - nugetSource = null; - nugetConfig = null; - - keepNugetConfig = true; - - outputs = [ "out" ]; - buildPhase = " "; - installPhase = ''echo "No output intended. Run make-deps.sh instead." > $out''; - - # This script is used to update the accompanying deps.nix file, a nix expression listing the - # nuget packages that the godot-mono code depends on, along with their sha256 hashes. This - # file is referenced by the godot-mono derivation and needs to be updated every time the - # godot version is updated. The way it works is: - # - # 1) Creates and navigates to a temporary directory and then explicitly runs the unpack, - # patch, and configure phases from the godot-mono derivation. - # 2) Instead of building at this point, a nuget restore is performed, downloading all the - # nuget dependencies of godot-mono into a local folder. - # 3) Once these have been downloaded, the nuget-to-nix tool is used to generate a nix - # expression listing the locally obtained nuget packages, along with their sha256 hashes. - # 4) This nix expression is saved as deps.nix in the PWD. - # - # This process is impure, because it entails downloading files with unknown hashes, so it - # is run manually by the maintainer within a nix-shell environment. Running the accompanying - # make-deps.sh instead simplifies this. - makeDeps = '' - set -e - outdir="$(pwd)" - wrkdir="$(mktemp -d)" - trap 'rm -rf -- "$wrkdir"' EXIT - pushd "$wrkdir" > /dev/null - unpackPhase - cd source - patchPhase - configurePhase - - # Without RestorePackagesPath set, it restores packages to a temp directory. Specifying - # a path ensures we have a place to run nuget-to-nix. - nugetRestore() { dotnet msbuild -t:Restore -p:RestorePackagesPath=nugetPackages $1; } - - nugetRestore modules/mono/glue/GodotSharp/GodotSharp.sln - nugetRestore modules/mono/editor/GodotTools/GodotTools.sln - - nuget-to-nix nugetPackages > "$outdir"/deps.nix - nixfmt "$outdir"/deps.nix - popd > /dev/null - ''; - - meta = base.meta // { - description = "Derivation with no output that exists to provide an environment for make-deps.sh"; - }; -}) +{ + godot3-mono, + nuget-to-nix, + nixfmt-rfc-style, +}: + +godot3-mono.overrideAttrs ( + self: base: { + pname = "godot3-mono-make-deps"; + + nativeBuildInputs = base.nativeBuildInputs ++ [ + nuget-to-nix + nixfmt-rfc-style + ]; + + nugetDeps = null; + nugetSource = null; + nugetConfig = null; + + keepNugetConfig = true; + + outputs = [ "out" ]; + buildPhase = " "; + installPhase = ''echo "No output intended. Run make-deps.sh instead." > $out''; + + # This script is used to update the accompanying deps.nix file, a nix expression listing the + # nuget packages that the godot-mono code depends on, along with their sha256 hashes. This + # file is referenced by the godot-mono derivation and needs to be updated every time the + # godot version is updated. The way it works is: + # + # 1) Creates and navigates to a temporary directory and then explicitly runs the unpack, + # patch, and configure phases from the godot-mono derivation. + # 2) Instead of building at this point, a nuget restore is performed, downloading all the + # nuget dependencies of godot-mono into a local folder. + # 3) Once these have been downloaded, the nuget-to-nix tool is used to generate a nix + # expression listing the locally obtained nuget packages, along with their sha256 hashes. + # 4) This nix expression is saved as deps.nix in the PWD. + # + # This process is impure, because it entails downloading files with unknown hashes, so it + # is run manually by the maintainer within a nix-shell environment. Running the accompanying + # make-deps.sh instead simplifies this. + makeDeps = '' + set -e + outdir="$(pwd)" + wrkdir="$(mktemp -d)" + trap 'rm -rf -- "$wrkdir"' EXIT + pushd "$wrkdir" > /dev/null + unpackPhase + cd source + patchPhase + configurePhase + + # Without RestorePackagesPath set, it restores packages to a temp directory. Specifying + # a path ensures we have a place to run nuget-to-nix. + nugetRestore() { dotnet msbuild -t:Restore -p:RestorePackagesPath=nugetPackages $1; } + + nugetRestore modules/mono/glue/GodotSharp/GodotSharp.sln + nugetRestore modules/mono/editor/GodotTools/GodotTools.sln + + nuget-to-nix nugetPackages > "$outdir"/deps.nix + nixfmt "$outdir"/deps.nix + popd > /dev/null + ''; + + meta = base.meta // { + description = "Derivation with no output that exists to provide an environment for make-deps.sh"; + }; + } +) diff --git a/pkgs/development/tools/godot/3/mono/server.nix b/pkgs/development/tools/godot/3/mono/server.nix index 28049f320a0fd..9cf1d8774fe91 100644 --- a/pkgs/development/tools/godot/3/mono/server.nix +++ b/pkgs/development/tools/godot/3/mono/server.nix @@ -1,7 +1,9 @@ { godot3-mono-debug-server }: -godot3-mono-debug-server.overrideAttrs (self: base: { - pname = "godot3-mono-server"; - godotBuildDescription = "mono server"; - godotBuildTarget = "release"; -}) +godot3-mono-debug-server.overrideAttrs ( + self: base: { + pname = "godot3-mono-server"; + godotBuildDescription = "mono server"; + godotBuildTarget = "release"; + } +) diff --git a/pkgs/development/tools/godot/3/server.nix b/pkgs/development/tools/godot/3/server.nix index d2c4939167f18..8a41bf8698ff4 100644 --- a/pkgs/development/tools/godot/3/server.nix +++ b/pkgs/development/tools/godot/3/server.nix @@ -1,7 +1,9 @@ { godot3-debug-server }: -godot3-debug-server.overrideAttrs (self: base: { - pname = "godot3-server"; - godotBuildDescription = "server"; - godotBuildTarget = "release"; -}) +godot3-debug-server.overrideAttrs ( + self: base: { + pname = "godot3-server"; + godotBuildDescription = "server"; + godotBuildTarget = "release"; + } +) diff --git a/pkgs/development/tools/gptcommit/default.nix b/pkgs/development/tools/gptcommit/default.nix index 1a4036d771890..6ef0590ffbf5a 100644 --- a/pkgs/development/tools/gptcommit/default.nix +++ b/pkgs/development/tools/gptcommit/default.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, nix-update-script -, Security -, SystemConfiguration -, openssl +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + nix-update-script, + Security, + SystemConfiguration, + openssl, }: let @@ -30,7 +31,11 @@ rustPlatform.buildRustPackage { # 0.5.6 release has failing tests doCheck = false; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ] + buildInputs = + lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ]; passthru = { @@ -46,4 +51,3 @@ rustPlatform.buildRustPackage { platforms = with platforms; all; }; } - diff --git a/pkgs/development/tools/graphql-client/default.nix b/pkgs/development/tools/graphql-client/default.nix index 8fe6ff5bcf083..8a9817bd430d4 100644 --- a/pkgs/development/tools/graphql-client/default.nix +++ b/pkgs/development/tools/graphql-client/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, fetchCrate, pkg-config, openssl, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + Security, +}: rustPlatform.buildRustPackage rec { pname = "graphql-client"; @@ -23,7 +31,10 @@ rustPlatform.buildRustPackage rec { description = "GraphQL tool for Rust projects"; mainProgram = "graphql-client"; homepage = "https://github.com/graphql-rust/graphql-client"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ bbigras ]; }; } diff --git a/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix b/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix index eae92da192673..0b3ff069c8122 100644 --- a/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix +++ b/pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix @@ -1,5 +1,15 @@ -{ mkDerivation, base, containers, emojis, fetchgit, hedgehog, lib -, optparse-applicative, parsec, template-haskell, text +{ + mkDerivation, + base, + containers, + emojis, + fetchgit, + hedgehog, + lib, + optparse-applicative, + parsec, + template-haskell, + text, }: mkDerivation { pname = "dconf2nix"; @@ -13,11 +23,21 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers emojis optparse-applicative parsec text + base + containers + emojis + optparse-applicative + parsec + text ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ - base containers hedgehog parsec template-haskell text + base + containers + hedgehog + parsec + template-haskell + text ]; description = "Convert dconf files to Nix, as expected by Home Manager"; license = lib.licenses.asl20; diff --git a/pkgs/development/tools/haskell/dconf2nix/default.nix b/pkgs/development/tools/haskell/dconf2nix/default.nix index 4cc137b54f75b..dc07938f5d59e 100644 --- a/pkgs/development/tools/haskell/dconf2nix/default.nix +++ b/pkgs/development/tools/haskell/dconf2nix/default.nix @@ -1,25 +1,29 @@ -{ haskell, haskellPackages, lib, runCommand }: +{ + haskell, + haskellPackages, + lib, + runCommand, +}: let - dconf2nix = - haskell.lib.compose.justStaticExecutables - (haskell.lib.compose.overrideCabal (oldAttrs: { - maintainers = (oldAttrs.maintainers or []) ++ [ - lib.maintainers.gvolpe - ]; - }) haskellPackages.dconf2nix); + dconf2nix = haskell.lib.compose.justStaticExecutables ( + haskell.lib.compose.overrideCabal (oldAttrs: { + maintainers = (oldAttrs.maintainers or [ ]) ++ [ + lib.maintainers.gvolpe + ]; + }) haskellPackages.dconf2nix + ); in dconf2nix.overrideAttrs (oldAttrs: { - passthru = (oldAttrs.passthru or {}) // { + passthru = (oldAttrs.passthru or { }) // { updateScript = ./update.sh; # These tests can be run with the following command. # # $ nix-build -A dconf2nix.passthru.tests tests = - runCommand - "dconf2nix-tests" + runCommand "dconf2nix-tests" { nativeBuildInputs = [ dconf2nix diff --git a/pkgs/development/tools/haskell/hadrian/ghc-platform.nix b/pkgs/development/tools/haskell/hadrian/ghc-platform.nix index 3b1b17fba2c7b..cb8a193d7ff6d 100644 --- a/pkgs/development/tools/haskell/hadrian/ghc-platform.nix +++ b/pkgs/development/tools/haskell/hadrian/ghc-platform.nix @@ -1,7 +1,10 @@ -{ mkDerivation, base, lib +{ + mkDerivation, + base, + lib, # GHC source tree to build ghc-toolchain from -, ghcSrc -, ghcVersion + ghcSrc, + ghcVersion, }: mkDerivation { pname = "ghc-platform"; diff --git a/pkgs/development/tools/haskell/hadrian/ghc-toolchain.nix b/pkgs/development/tools/haskell/hadrian/ghc-toolchain.nix index 035fee7aca806..328367a5729e9 100644 --- a/pkgs/development/tools/haskell/hadrian/ghc-toolchain.nix +++ b/pkgs/development/tools/haskell/hadrian/ghc-toolchain.nix @@ -1,8 +1,16 @@ -{ mkDerivation, base, directory, filepath, ghc-platform, lib -, process, text, transformers +{ + mkDerivation, + base, + directory, + filepath, + ghc-platform, + lib, + process, + text, + transformers, # GHC source tree to build ghc-toolchain from -, ghcVersion -, ghcSrc + ghcVersion, + ghcSrc, }: mkDerivation { pname = "ghc-toolchain"; @@ -12,7 +20,13 @@ mkDerivation { sourceRoot="$sourceRoot/utils/ghc-toolchain" ''; libraryHaskellDepends = [ - base directory filepath ghc-platform process text transformers + base + directory + filepath + ghc-platform + process + text + transformers ]; description = "Utility for managing GHC target toolchains"; license = lib.licenses.bsd3; diff --git a/pkgs/development/tools/haskell/hadrian/hadrian.nix b/pkgs/development/tools/haskell/hadrian/hadrian.nix index d1368427f0c9f..e65481b79da2f 100644 --- a/pkgs/development/tools/haskell/hadrian/hadrian.nix +++ b/pkgs/development/tools/haskell/hadrian/hadrian.nix @@ -1,16 +1,31 @@ # See also ./make-hadria.nix -{ mkDerivation, base, bytestring, Cabal, containers, directory -, extra, filepath, lib, mtl, parsec, shake, text, transformers -, unordered-containers, cryptohash-sha256, base16-bytestring -, writeText +{ + mkDerivation, + base, + bytestring, + Cabal, + containers, + directory, + extra, + filepath, + lib, + mtl, + parsec, + shake, + text, + transformers, + unordered-containers, + cryptohash-sha256, + base16-bytestring, + writeText, # Dependencies that are not on Hackage and only used in certain Hadrian versions -, ghc-platform ? null -, ghc-toolchain ? null + ghc-platform ? null, + ghc-toolchain ? null, # GHC source tree to build hadrian from -, ghcSrc -, ghcVersion + ghcSrc, + ghcVersion, # Customization -, userSettings ? null + userSettings ? null, }: mkDerivation { @@ -34,14 +49,30 @@ mkDerivation { ]; isLibrary = false; isExecutable = true; - executableHaskellDepends = [ - base bytestring Cabal containers directory extra filepath mtl - parsec shake text transformers unordered-containers - ] ++ lib.optionals (lib.versionAtLeast ghcVersion "9.7") [ - cryptohash-sha256 base16-bytestring - ] ++ lib.optionals (lib.versionAtLeast ghcVersion "9.9") [ - ghc-platform ghc-toolchain - ]; + executableHaskellDepends = + [ + base + bytestring + Cabal + containers + directory + extra + filepath + mtl + parsec + shake + text + transformers + unordered-containers + ] + ++ lib.optionals (lib.versionAtLeast ghcVersion "9.7") [ + cryptohash-sha256 + base16-bytestring + ] + ++ lib.optionals (lib.versionAtLeast ghcVersion "9.9") [ + ghc-platform + ghc-toolchain + ]; passthru = { # Expose »private« dependencies if any inherit ghc-platform ghc-toolchain; diff --git a/pkgs/development/tools/haskell/hadrian/make-hadrian.nix b/pkgs/development/tools/haskell/hadrian/make-hadrian.nix index 8db821a9794d8..463d485e242e7 100644 --- a/pkgs/development/tools/haskell/hadrian/make-hadrian.nix +++ b/pkgs/development/tools/haskell/hadrian/make-hadrian.nix @@ -21,23 +21,30 @@ # related packages that are managed in the GHC source tree. Its main job is to # expose all possible compile time customization in a common interface and # take care of all differences between Hadrian versions. -{ bootPkgs -, lib +{ + bootPkgs, + lib, }: -{ # GHC source tree and version to build hadrian & friends from. +{ + # GHC source tree and version to build hadrian & friends from. # These are passed on to the actual package expressions. - ghcSrc -, ghcVersion + ghcSrc, + ghcVersion, # Contents of a non-default UserSettings.hs to use when building hadrian, if any. # Should be a string or null. -, userSettings ? null + userSettings ? null, }: let - callPackage' = f: args: bootPkgs.callPackage f ({ - inherit ghcSrc ghcVersion; - } // args); + callPackage' = + f: args: + bootPkgs.callPackage f ( + { + inherit ghcSrc ghcVersion; + } + // args + ); ghc-platform = callPackage' ./ghc-platform.nix { }; ghc-toolchain = callPackage' ./ghc-toolchain.nix { @@ -45,14 +52,18 @@ let }; in -callPackage' ./hadrian.nix ({ - inherit userSettings; -} // lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.9") { - # Starting with GHC 9.9 development, additional in tree packages are required - # to build hadrian. (Hackage-released conditional dependencies are handled - # in ./hadrian.nix without requiring intervention here.) - inherit ghc-platform ghc-toolchain; -} // lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.11") { - # See https://gitlab.haskell.org/ghc/ghc/-/commit/145a6477854d4003a07573d5e7ffa0c9a64ae29c - Cabal = bootPkgs.Cabal_3_14_0_0; -}) +callPackage' ./hadrian.nix ( + { + inherit userSettings; + } + // lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.9") { + # Starting with GHC 9.9 development, additional in tree packages are required + # to build hadrian. (Hackage-released conditional dependencies are handled + # in ./hadrian.nix without requiring intervention here.) + inherit ghc-platform ghc-toolchain; + } + // lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.11") { + # See https://gitlab.haskell.org/ghc/ghc/-/commit/145a6477854d4003a07573d5e7ffa0c9a64ae29c + Cabal = bootPkgs.Cabal_3_14_0_0; + } +) diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix index 14cc0760be222..0d343e055cbeb 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix @@ -1,36 +1,40 @@ -{ lib -, stdenv -, haskellPackages -, haskell - -# Which GHC versions this hls can support. -# These are looked up in nixpkgs as `pkgs.haskell.packages."ghc${version}`. -# Run -# $ nix-instantiate --eval -E 'with import {}; builtins.attrNames pkgs.haskell.packages' -# to list for your nixpkgs version. -, supportedGhcVersions ? [ "96" ] - -# Whether to build hls with the dynamic run-time system. -# See https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#static-binaries for more information. -, dynamic ? true - -# Which formatters are supported. Pass `[]` to remove all formatters. -# -# Maintainers: if a new formatter is added, add it here and down in knownFormatters -, supportedFormatters ? [ "ormolu" "fourmolu" "floskell" "stylish-haskell" ] +{ + lib, + stdenv, + haskellPackages, + haskell, + + # Which GHC versions this hls can support. + # These are looked up in nixpkgs as `pkgs.haskell.packages."ghc${version}`. + # Run + # $ nix-instantiate --eval -E 'with import {}; builtins.attrNames pkgs.haskell.packages' + # to list for your nixpkgs version. + supportedGhcVersions ? [ "96" ], + + # Whether to build hls with the dynamic run-time system. + # See https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#static-binaries for more information. + dynamic ? true, + + # Which formatters are supported. Pass `[]` to remove all formatters. + # + # Maintainers: if a new formatter is added, add it here and down in knownFormatters + supportedFormatters ? [ + "ormolu" + "fourmolu" + "floskell" + "stylish-haskell" + ], }: # make sure the user only sets GHC versions that actually exist -assert supportedGhcVersions != []; -assert - lib.asserts.assertEachOneOf - "supportedGhcVersions" - supportedGhcVersions - (lib.pipe haskell.packages [ - lib.attrNames - (lib.filter (lib.hasPrefix "ghc")) - (map (lib.removePrefix "ghc")) - ]); +assert supportedGhcVersions != [ ]; +assert lib.asserts.assertEachOneOf "supportedGhcVersions" supportedGhcVersions ( + lib.pipe haskell.packages [ + lib.attrNames + (lib.filter (lib.hasPrefix "ghc")) + (map (lib.removePrefix "ghc")) + ] +); let # A mapping from formatter name to @@ -66,11 +70,9 @@ let in # make sure any formatter that is set is actually supported by us -assert - lib.asserts.assertEachOneOf - "supportedFormatters" - supportedFormatters - (lib.attrNames knownFormatters); +assert lib.asserts.assertEachOneOf "supportedFormatters" supportedFormatters ( + lib.attrNames knownFormatters +); # # The recommended way to override this package is @@ -95,7 +97,7 @@ let let # only formatters that were not requested unwanted = lib.pipe knownFormatters [ - (lib.filterAttrs (fmt: _: ! (lib.elem fmt supportedFormatters))) + (lib.filterAttrs (fmt: _: !(lib.elem fmt supportedFormatters))) lib.attrsToList ]; # all flags to disable @@ -108,45 +110,51 @@ let # remove all unwanted dependencies of formatters we don’t want stripDeps = overrideCabal (drv: { - libraryHaskellDepends = lib.pipe (drv.libraryHaskellDepends or []) [ + libraryHaskellDepends = lib.pipe (drv.libraryHaskellDepends or [ ]) [ # the existing list may contain nulls, so let’s strip them first stripNulls - (lib.filter (dep: ! (lib.elem dep.pname deps))) + (lib.filter (dep: !(lib.elem dep.pname deps))) ]; }); - in drv: lib.pipe drv ([stripDeps] ++ map disableCabalFlag flags); - - tunedHls = hsPkgs: - lib.pipe hsPkgs.haskell-language-server ([ - (haskell.lib.compose.overrideCabal (old: { - enableSharedExecutables = dynamic; - ${if !dynamic then "postInstall" else null} = '' - ${old.postInstall or ""} - - remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server - ''; - })) - ((if dynamic then enableCabalFlag else disableCabalFlag) "dynamic") - removeUnnecessaryFormatters - ] - ++ lib.optionals (!dynamic) [ - justStaticExecutables - ]); - - targets = version: - let packages = getPackages version; - in [ "haskell-language-server-${packages.ghc.version}" ]; - - makeSymlinks = version: - lib.concatMapStringsSep "\n" - (x: - "ln -s ${ - tunedHls (getPackages version) - }/bin/haskell-language-server $out/bin/${x}") - (targets version); - -in stdenv.mkDerivation { + in + drv: lib.pipe drv ([ stripDeps ] ++ map disableCabalFlag flags); + + tunedHls = + hsPkgs: + lib.pipe hsPkgs.haskell-language-server ( + [ + (haskell.lib.compose.overrideCabal (old: { + enableSharedExecutables = dynamic; + ${if !dynamic then "postInstall" else null} = '' + ${old.postInstall or ""} + + remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server + ''; + })) + ((if dynamic then enableCabalFlag else disableCabalFlag) "dynamic") + removeUnnecessaryFormatters + ] + ++ lib.optionals (!dynamic) [ + justStaticExecutables + ] + ); + + targets = + version: + let + packages = getPackages version; + in + [ "haskell-language-server-${packages.ghc.version}" ]; + + makeSymlinks = + version: + lib.concatMapStringsSep "\n" ( + x: "ln -s ${tunedHls (getPackages version)}/bin/haskell-language-server $out/bin/${x}" + ) (targets version); + +in +stdenv.mkDerivation { pname = "haskell-language-server"; version = haskellPackages.haskell-language-server.version; @@ -160,8 +168,7 @@ in stdenv.mkDerivation { maintainers = [ lib.maintainers.maralorn ]; longDescription = '' This package provides the executables ${ - lib.concatMapStringsSep ", " (x: lib.concatStringsSep ", " (targets x)) - supportedGhcVersions + lib.concatMapStringsSep ", " (x: lib.concatStringsSep ", " (targets x)) supportedGhcVersions } and haskell-language-server-wrapper. You can choose for which ghc versions to install hls with pkgs.haskell-language-server.override { supportedGhcVersions = [ "90" "92" ]; }. ''; diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix index a2d73ae7c8165..14c9ae409c227 100644 --- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix +++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix @@ -1,23 +1,44 @@ -{ lib, stdenv, writeScriptBin, makeWrapper, buildEnv, ghcWithPackages, jupyter, packages }: +{ + lib, + stdenv, + writeScriptBin, + makeWrapper, + buildEnv, + ghcWithPackages, + jupyter, + packages, +}: let - ihaskellEnv = ghcWithPackages (self: [ - self.ihaskell - self.ihaskell-blaze - # Doesn't work with latest ihaskell versions missing an unrelated change - # https://github.com/IHaskell/IHaskell/issues/1378 - # self.ihaskell-diagrams - ] ++ packages self); + ihaskellEnv = ghcWithPackages ( + self: + [ + self.ihaskell + self.ihaskell-blaze + # Doesn't work with latest ihaskell versions missing an unrelated change + # https://github.com/IHaskell/IHaskell/issues/1378 + # self.ihaskell-diagrams + ] + ++ packages self + ); ihaskellSh = writeScriptBin "ihaskell-notebook" '' #! ${stdenv.shell} export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH" - export PATH="${lib.makeBinPath ([ ihaskellEnv jupyter ])}''${PATH:+:}$PATH" + export PATH="${ + lib.makeBinPath ([ + ihaskellEnv + jupyter + ]) + }''${PATH:+:}$PATH" ${ihaskellEnv}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook ''; in buildEnv { name = "ihaskell-with-packages"; nativeBuildInputs = [ makeWrapper ]; - paths = [ ihaskellEnv jupyter ]; + paths = [ + ihaskellEnv + jupyter + ]; postBuild = '' ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/ for prg in $out/bin"/"*;do diff --git a/pkgs/development/tools/haskell/lambdabot/default.nix b/pkgs/development/tools/haskell/lambdabot/default.nix index b563fa4b7a75e..0109e1ea2934a 100644 --- a/pkgs/development/tools/haskell/lambdabot/default.nix +++ b/pkgs/development/tools/haskell/lambdabot/default.nix @@ -1,41 +1,53 @@ -{ lib, haskellLib, makeWrapper, haskellPackages -, mueval -, withDjinn ? true -, aspell ? null -, packages ? (pkgs: []) -, modules ? "oldDefaultModules" -, configuration ? "[]" +{ + lib, + haskellLib, + makeWrapper, + haskellPackages, + mueval, + withDjinn ? true, + aspell ? null, + packages ? (pkgs: [ ]), + modules ? "oldDefaultModules", + configuration ? "[]", }: -let allPkgs = pkgs: mueval.defaultPkgs pkgs ++ [ pkgs.lambdabot-trusted ] ++ packages pkgs; - mueval' = mueval.override { - inherit haskellPackages; - packages = allPkgs; - }; - bins = lib.makeBinPath ([ mueval' - (haskellPackages.ghcWithHoogle allPkgs) - haskellPackages.unlambda - haskellPackages.brainfuck - ] - ++ lib.optional withDjinn haskellPackages.djinn - ++ lib.optional (aspell != null) aspell - ); - modulesStr = lib.replaceStrings ["\n"] [" "] modules; - configStr = lib.replaceStrings ["\n"] [" "] configuration; +let + allPkgs = pkgs: mueval.defaultPkgs pkgs ++ [ pkgs.lambdabot-trusted ] ++ packages pkgs; + mueval' = mueval.override { + inherit haskellPackages; + packages = allPkgs; + }; + bins = lib.makeBinPath ( + [ + mueval' + (haskellPackages.ghcWithHoogle allPkgs) + haskellPackages.unlambda + haskellPackages.brainfuck + ] + ++ lib.optional withDjinn haskellPackages.djinn + ++ lib.optional (aspell != null) aspell + ); + modulesStr = lib.replaceStrings [ "\n" ] [ " " ] modules; + configStr = lib.replaceStrings [ "\n" ] [ " " ] configuration; -in haskellLib.overrideCabal (self: { - patches = (self.patches or []) ++ [ ./custom-config.patch ]; - postPatch = (self.postPatch or "") + '' - substituteInPlace src/Main.hs \ - --replace '@config@' '${configStr}' - substituteInPlace src/Modules.hs \ - --replace '@modules@' '${modulesStr}' - ''; +in +haskellLib.overrideCabal (self: { + patches = (self.patches or [ ]) ++ [ ./custom-config.patch ]; + postPatch = + (self.postPatch or "") + + '' + substituteInPlace src/Main.hs \ + --replace '@config@' '${configStr}' + substituteInPlace src/Modules.hs \ + --replace '@modules@' '${modulesStr}' + ''; - buildTools = (self.buildTools or []) ++ [ makeWrapper ]; + buildTools = (self.buildTools or [ ]) ++ [ makeWrapper ]; - postInstall = (self.postInstall or "") + '' - wrapProgram $out/bin/lambdabot \ - --prefix PATH ":" '${bins}' - ''; + postInstall = + (self.postInstall or "") + + '' + wrapProgram $out/bin/lambdabot \ + --prefix PATH ":" '${bins}' + ''; }) haskellPackages.lambdabot diff --git a/pkgs/development/tools/haskell/vaultenv/default.nix b/pkgs/development/tools/haskell/vaultenv/default.nix index e3adef8752456..72114fbadbe78 100644 --- a/pkgs/development/tools/haskell/vaultenv/default.nix +++ b/pkgs/development/tools/haskell/vaultenv/default.nix @@ -1,31 +1,32 @@ -{ mkDerivation -, async -, base -, bytestring -, connection -, containers -, directory -, hpack -, hspec -, hspec-discover -, hspec-expectations -, http-client -, http-conduit -, lens -, lens-aeson -, megaparsec -, mtl -, optparse-applicative -, parser-combinators -, retry -, lib -, quickcheck-instances -, text -, unix -, unordered-containers -, utf8-string -, fetchFromGitHub -, dotenv +{ + mkDerivation, + async, + base, + bytestring, + connection, + containers, + directory, + hpack, + hspec, + hspec-discover, + hspec-expectations, + http-client, + http-conduit, + lens, + lens-aeson, + megaparsec, + mtl, + optparse-applicative, + parser-combinators, + retry, + lib, + quickcheck-instances, + text, + unix, + unordered-containers, + utf8-string, + fetchFromGitHub, + dotenv, }: mkDerivation rec { pname = "vaultenv"; @@ -97,5 +98,8 @@ mkDerivation rec { homepage = "https://github.com/channable/vaultenv#readme"; description = "Runs processes with secrets from HashiCorp Vault"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ lnl7 manveru ]; + maintainers = with lib.maintainers; [ + lnl7 + manveru + ]; } diff --git a/pkgs/development/tools/hors/default.nix b/pkgs/development/tools/hors/default.nix index 03f53f1eabafd..b2217078394dd 100644 --- a/pkgs/development/tools/hors/default.nix +++ b/pkgs/development/tools/hors/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "hors"; diff --git a/pkgs/development/tools/hotdoc/default.nix b/pkgs/development/tools/hotdoc/default.nix index 9a1bfe9ded9e1..a8c1b30f53f8a 100644 --- a/pkgs/development/tools/hotdoc/default.nix +++ b/pkgs/development/tools/hotdoc/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, buildPythonApplication -, fetchpatch -, fetchPypi -, pytestCheckHook -, pkg-config -, cmake -, flex -, glib -, json-glib -, libxml2 -, appdirs -, dbus-deviation -, faust-cchardet -, feedgen -, lxml -, networkx -, pkgconfig -, pyyaml -, schema -, setuptools -, toposort -, wheezy-template -, llvmPackages -, gst_all_1 +{ + lib, + stdenv, + buildPythonApplication, + fetchpatch, + fetchPypi, + pytestCheckHook, + pkg-config, + cmake, + flex, + glib, + json-glib, + libxml2, + appdirs, + dbus-deviation, + faust-cchardet, + feedgen, + lxml, + networkx, + pkgconfig, + pyyaml, + schema, + setuptools, + toposort, + wheezy-template, + llvmPackages, + gst_all_1, }: buildPythonApplication rec { @@ -66,7 +67,7 @@ buildPythonApplication rec { pkgconfig pyyaml schema - setuptools # for pkg_resources + setuptools # for pkg_resources toposort wheezy-template ]; @@ -86,16 +87,21 @@ buildPythonApplication rec { ]; # Run the tests by package instead of current dir - pytestFlagsArray = [ "--pyargs" "hotdoc" ]; - - disabledTests = [ - # Test does not correctly handle path normalization for test comparison - "test_cli_overrides" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Test does not correctly handle absolute /home paths on Darwin (even fake ones) - "test_index" + pytestFlagsArray = [ + "--pyargs" + "hotdoc" ]; + disabledTests = + [ + # Test does not correctly handle path normalization for test comparison + "test_cli_overrides" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Test does not correctly handle absolute /home paths on Darwin (even fake ones) + "test_index" + ]; + # Hardcode libclang paths postPatch = '' substituteInPlace hotdoc/extensions/c/c_extension.py \ diff --git a/pkgs/development/tools/htmlq/default.nix b/pkgs/development/tools/htmlq/default.nix index e9767ca60029f..120521c71b6cc 100644 --- a/pkgs/development/tools/htmlq/default.nix +++ b/pkgs/development/tools/htmlq/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "htmlq"; @@ -21,7 +27,10 @@ rustPlatform.buildRustPackage rec { description = "Like jq, but for HTML"; homepage = "https://github.com/mgdm/htmlq"; license = licenses.mit; - maintainers = with maintainers; [ siraben nerdypepper ]; + maintainers = with maintainers; [ + siraben + nerdypepper + ]; mainProgram = "htmlq"; }; } diff --git a/pkgs/development/tools/iaca/2.1.nix b/pkgs/development/tools/iaca/2.1.nix index e368d608d5937..dea1cbd9d76e1 100644 --- a/pkgs/development/tools/iaca/2.1.nix +++ b/pkgs/development/tools/iaca/2.1.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, makeWrapper, requireFile, gcc, unzip }: +{ + lib, + stdenv, + makeWrapper, + requireFile, + gcc, + unzip, +}: # v2.1: last version with NHM/WSM arch support stdenv.mkDerivation rec { @@ -16,12 +23,19 @@ stdenv.mkDerivation rec { cp bin/iaca $out/bin/ cp lib/* $out/lib ''; - preFixup = let libPath = lib.makeLibraryPath [ stdenv.cc.cc gcc ]; in '' - patchelf \ - --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 \ - --set-rpath $out/lib:"${libPath}" \ - $out/bin/iaca - ''; + preFixup = + let + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + gcc + ]; + in + '' + patchelf \ + --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 \ + --set-rpath $out/lib:"${libPath}" \ + $out/bin/iaca + ''; postFixup = "wrapProgram $out/bin/iaca --set LD_LIBRARY_PATH $out/lib"; meta = with lib; { description = "Intel Architecture Code Analyzer"; diff --git a/pkgs/development/tools/iaca/3.0.nix b/pkgs/development/tools/iaca/3.0.nix index 1c0a4f5460fd5..742aadae3a2a8 100644 --- a/pkgs/development/tools/iaca/3.0.nix +++ b/pkgs/development/tools/iaca/3.0.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, requireFile, unzip }: +{ + lib, + stdenv, + requireFile, + unzip, +}: stdenv.mkDerivation rec { pname = "iaca"; diff --git a/pkgs/development/tools/ilspycmd/deps.nix b/pkgs/development/tools/ilspycmd/deps.nix index f95ab0d6c4f0e..a4a02ffbfd6c6 100644 --- a/pkgs/development/tools/ilspycmd/deps.nix +++ b/pkgs/development/tools/ilspycmd/deps.nix @@ -1,78 +1,371 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "K4os.Compression.LZ4"; version = "1.3.5"; sha256 = "1nv9inhz0n25lhkw9xgp6g5xbqmcdccdhx6mwrli0pdp6hjmlh9k"; }) - (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "3.1.0"; sha256 = "075n1mfsxwz514r94l8i3ax0wp43c3xb4f9w25a96h6xxnj0k2hd"; }) - (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.1.1"; sha256 = "1bb5p4zlnfn88skkvymxfsn0jybqncl4356hwnic9jxdq2d4fz1w"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.0"; sha256 = "1skgkralqkg2srvgvrmbsmya67f37gzk40lg28j8nz5mg8k8g0ia"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.1.1"; sha256 = "0xkdqs7az2cprar7jzjlgjpd64l6f8ixcmwmpkdm03fyb4s5m0bg"; }) - (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.1.1"; sha256 = "099y35f2npvva3jk1zp8hn0vb9pwm2l0ivjasdly6y2idv53s5yy"; }) - (fetchNuGet { pname = "Mono.Cecil"; version = "0.11.4"; sha256 = "1yxa7mh432s7g7p9r7scqxvxjk5ypwc567qdbf0gmk8fbf0d3f8y"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; }) - (fetchNuGet { pname = "System.Composition"; version = "6.0.0"; sha256 = "1p7hysns39cc24af6dwd4m48bqjsrr3clvi4aws152mh2fgyg50z"; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "6.0.0"; sha256 = "1mqrblb0l65hw39d0hnspqcv85didpn4wbiwhfgj4784wzqx2w6k"; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "6.0.0"; sha256 = "02km3yb94p1c4s7liyhkmda0g71zm1rc8ijsfmy4bnlkq15xjw3b"; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "6.0.0"; sha256 = "0big5nk8c44rxp6cfykhk7rxvn2cgwa99w6c3v2a36adc3lj36ky"; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "6.0.0"; sha256 = "1x0b289r9yjzdqypi2x3dc8sa66s3b6bpc7l2f8hxrzl6czdg4al"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "7.0.0"; sha256 = "1wilasn2qmj870h2bhw348lspamm7pbinpb4m89icg113510l00v"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "TunnelVisionLabs.ReferenceAssemblyAnnotator"; version = "1.0.0-alpha.160"; sha256 = "1wvfa3098a984kydjgjvx43gncnr89fw20if2gqvz8kqn9pxqjbq"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "K4os.Compression.LZ4"; + version = "1.3.5"; + sha256 = "1nv9inhz0n25lhkw9xgp6g5xbqmcdccdhx6mwrli0pdp6hjmlh9k"; + }) + (fetchNuGet { + pname = "McMaster.Extensions.CommandLineUtils"; + version = "3.1.0"; + sha256 = "075n1mfsxwz514r94l8i3ax0wp43c3xb4f9w25a96h6xxnj0k2hd"; + }) + (fetchNuGet { + pname = "Microsoft.Build.Tasks.Git"; + version = "1.1.1"; + sha256 = "1bb5p4zlnfn88skkvymxfsn0jybqncl4356hwnic9jxdq2d4fz1w"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Ref"; + version = "6.0.0"; + sha256 = "1skgkralqkg2srvgvrmbsmya67f37gzk40lg28j8nz5mg8k8g0ia"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.Common"; + version = "1.1.1"; + sha256 = "0xkdqs7az2cprar7jzjlgjpd64l6f8ixcmwmpkdm03fyb4s5m0bg"; + }) + (fetchNuGet { + pname = "Microsoft.SourceLink.GitHub"; + version = "1.1.1"; + sha256 = "099y35f2npvva3jk1zp8hn0vb9pwm2l0ivjasdly6y2idv53s5yy"; + }) + (fetchNuGet { + pname = "Mono.Cecil"; + version = "0.11.4"; + sha256 = "1yxa7mh432s7g7p9r7scqxvxjk5ypwc567qdbf0gmk8fbf0d3f8y"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "6.0.0"; + sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "7.0.0"; + sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "5.0.0"; + sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; + }) + (fetchNuGet { + pname = "System.Composition"; + version = "6.0.0"; + sha256 = "1p7hysns39cc24af6dwd4m48bqjsrr3clvi4aws152mh2fgyg50z"; + }) + (fetchNuGet { + pname = "System.Composition.AttributedModel"; + version = "6.0.0"; + sha256 = "1mqrblb0l65hw39d0hnspqcv85didpn4wbiwhfgj4784wzqx2w6k"; + }) + (fetchNuGet { + pname = "System.Composition.Convention"; + version = "6.0.0"; + sha256 = "02km3yb94p1c4s7liyhkmda0g71zm1rc8ijsfmy4bnlkq15xjw3b"; + }) + (fetchNuGet { + pname = "System.Composition.Hosting"; + version = "6.0.0"; + sha256 = "0big5nk8c44rxp6cfykhk7rxvn2cgwa99w6c3v2a36adc3lj36ky"; + }) + (fetchNuGet { + pname = "System.Composition.Runtime"; + version = "6.0.0"; + sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; + }) + (fetchNuGet { + pname = "System.Composition.TypedParts"; + version = "6.0.0"; + sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "6.0.0"; + sha256 = "1x0b289r9yjzdqypi2x3dc8sa66s3b6bpc7l2f8hxrzl6czdg4al"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "7.0.0"; + sha256 = "1wilasn2qmj870h2bhw348lspamm7pbinpb4m89icg113510l00v"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Runtime.Loader"; + version = "4.3.0"; + sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "TunnelVisionLabs.ReferenceAssemblyAnnotator"; + version = "1.0.0-alpha.160"; + sha256 = "1wvfa3098a984kydjgjvx43gncnr89fw20if2gqvz8kqn9pxqjbq"; + }) ] diff --git a/pkgs/development/tools/infisical/default.nix b/pkgs/development/tools/infisical/default.nix index d6335a4d6122e..2df7f07b015cd 100644 --- a/pkgs/development/tools/infisical/default.nix +++ b/pkgs/development/tools/infisical/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, testers, installShellFiles }: +{ + stdenv, + lib, + fetchurl, + testers, + installShellFiles, +}: # this expression is mostly automated, and you are STRONGLY # RECOMMENDED to use to nix-update for updating this expression when new @@ -20,14 +26,16 @@ let # the platform-specific, statically linked binary src = let - suffix = { - # map the platform name to the golang toolchain suffix - # NOTE: must be synchronized with update.sh! - x86_64-linux = "linux_amd64"; - x86_64-darwin = "darwin_amd64"; - aarch64-linux = "linux_arm64"; - aarch64-darwin = "darwin_arm64"; - }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + suffix = + { + # map the platform name to the golang toolchain suffix + # NOTE: must be synchronized with update.sh! + x86_64-linux = "linux_amd64"; + x86_64-darwin = "darwin_amd64"; + aarch64-linux = "linux_arm64"; + aarch64-darwin = "darwin_arm64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); name = "infisical_${version}_${suffix}.tar.gz"; hash = buildHashes."${stdenv.hostPlatform.system}"; diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix index 62b44214adcfa..2a2b97222d19b 100644 --- a/pkgs/development/tools/irony-server/default.nix +++ b/pkgs/development/tools/irony-server/default.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, cmake, llvmPackages, llvm, irony }: +{ + lib, + stdenv, + cmake, + llvmPackages, + llvm, + irony, +}: stdenv.mkDerivation { pname = "irony-server"; inherit (irony) src version; - nativeBuildInputs = [ cmake llvm ]; + nativeBuildInputs = [ + cmake + llvm + ]; buildInputs = [ llvmPackages.libclang ]; dontUseCmakeBuildDir = true; diff --git a/pkgs/development/tools/jazzy/default.nix b/pkgs/development/tools/jazzy/default.nix index 23d9859eeb876..ef04d10d5c4a5 100644 --- a/pkgs/development/tools/jazzy/default.nix +++ b/pkgs/development/tools/jazzy/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "jazzy"; @@ -8,11 +12,11 @@ bundlerApp { passthru.updateScript = bundlerUpdateScript "jazzy"; meta = with lib; { - description = "Command-line utility that generates documentation for Swift or Objective-C"; - homepage = "https://github.com/realm/jazzy"; - license = licenses.mit; - platforms = platforms.darwin; - maintainers = with maintainers; [ + description = "Command-line utility that generates documentation for Swift or Objective-C"; + homepage = "https://github.com/realm/jazzy"; + license = licenses.mit; + platforms = platforms.darwin; + maintainers = with maintainers; [ peterromfeldhk nicknovitski ]; diff --git a/pkgs/development/tools/jazzy/gemset.nix b/pkgs/development/tools/jazzy/gemset.nix index 1514943d1eb74..e0c652b82e229 100644 --- a/pkgs/development/tools/jazzy/gemset.nix +++ b/pkgs/development/tools/jazzy/gemset.nix @@ -1,155 +1,198 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r15sbhl4nrkh2g5ccbhmn3c2ngri71j0yfnarxkq90vdrhqqjgh"; type = "gem"; }; version = "5.2.8.1"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; algoliasearch = { - dependencies = ["httpclient" "json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "httpclient" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ly8zsgvih540xmxr098hsngv61cf119wf28q5hbvi1f7kgwvh96"; type = "gem"; }; version = "1.27.5"; }; atomos = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; type = "gem"; }; version = "0.1.3"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; CFPropertyList = { - dependencies = ["base64" "nkf" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "nkf" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4"; type = "gem"; }; version = "3.0.7"; }; claide = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d"; type = "gem"; }; version = "1.1.0"; }; cocoapods = { - dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "claide" + "cocoapods-core" + "cocoapods-deintegrate" + "cocoapods-downloader" + "cocoapods-plugins" + "cocoapods-search" + "cocoapods-trunk" + "cocoapods-try" + "colored2" + "escape" + "fourflusher" + "gh_inspector" + "molinillo" + "nap" + "ruby-macho" + "xcodeproj" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0d0vlzjizqkw2m6am9gcnjkxy73zl74ill28v17v0s2v8fzd7nbg"; type = "gem"; }; version = "1.10.2"; }; cocoapods-core = { - dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "addressable" + "algoliasearch" + "concurrent-ruby" + "fuzzy_match" + "nap" + "netrc" + "public_suffix" + "typhoeus" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j1sapw5l3xc5d8mli09az1bbmfdynlx7xv8lbghvm9i1md14dl5"; type = "gem"; }; version = "1.10.2"; }; cocoapods-deintegrate = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i"; type = "gem"; }; version = "1.0.5"; }; cocoapods-downloader = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jgipkiah3z6qb9ax6qac3b2m1idavd5adc319k5rjsfddpfgszh"; type = "gem"; }; version = "1.6.3"; }; cocoapods-plugins = { - dependencies = ["nap"]; + dependencies = [ "nap" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj"; type = "gem"; }; version = "1.0.0"; }; cocoapods-search = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv"; type = "gem"; }; version = "1.0.1"; }; cocoapods-trunk = { - dependencies = ["nap" "netrc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nap" + "netrc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cgdx7z9psxxrsa13fk7qc9i6jskrwcafhrdz94avzia2y6dlnsz"; type = "gem"; }; version = "1.6.0"; }; cocoapods-try = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znyp625rql37ivb5rk9fk9564cmax8icxfr041ysivpdrn98nql"; type = "gem"; }; @@ -157,17 +200,17 @@ }; colored2 = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g"; type = "gem"; }; @@ -175,38 +218,38 @@ }; escape = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4"; type = "gem"; }; version = "0.0.4"; }; ethon = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; type = "gem"; }; version = "0.16.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; fourflusher = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v"; type = "gem"; }; @@ -214,59 +257,69 @@ }; fuzzy_match = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm"; type = "gem"; }; version = "2.0.4"; }; gh_inspector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; type = "gem"; }; version = "1.1.3"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; jazzy = { - dependencies = ["cocoapods" "mustache" "open4" "redcarpet" "rexml" "rouge" "sassc" "sqlite3" "xcinvoke"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cocoapods" + "mustache" + "open4" + "redcarpet" + "rexml" + "rouge" + "sassc" + "sqlite3" + "xcinvoke" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04gm9p7qlac46ml7fz5gd0b6f43hl3ib4w9vvxnq9k9fg9qqs88v"; type = "gem"; }; version = "0.15.1"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; @@ -274,57 +327,57 @@ }; liferaft = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kasbbx84gzsxx8w8bgr6xjg43h9bvzzaqg7si8jirnja8yc27k3"; type = "gem"; }; version = "0.0.6"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jj629q3vw5yn90q4di4dyb87pil4a8qfm2srhgy5nc8j2n33v1i"; type = "gem"; }; version = "5.24.1"; }; molinillo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hh40z1adl4lw16dj4hxgabx4rr28mgqycih1y1d91bwww0jjdg6"; type = "gem"; }; version = "0.6.6"; }; mustache = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch"; type = "gem"; }; version = "1.1.1"; }; nanaimo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma"; type = "gem"; }; @@ -332,7 +385,7 @@ }; nap = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll"; type = "gem"; }; @@ -340,17 +393,17 @@ }; netrc = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; type = "gem"; }; version = "0.11.0"; }; nkf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv"; type = "gem"; }; @@ -358,90 +411,90 @@ }; open4 = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1"; type = "gem"; }; version = "1.3.4"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17m8q2dzm7a74amnab5rf3f3m466i300awihl3ygh4v80wpf3j6j"; type = "gem"; }; version = "6.0.0"; }; redcarpet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; type = "gem"; }; version = "3.6.0"; }; rexml = { - dependencies = ["strscan"]; - groups = ["default"]; - platforms = []; + dependencies = [ "strscan" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zr5qpa8lampaqzhdcjcvyqnrqcjl7439mqjlkjz43wdhmpnh4s5"; type = "gem"; }; version = "3.3.2"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy"; type = "gem"; }; version = "4.3.0"; }; ruby-macho = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lhdjn91jkifsy2hzq2hgcm0pp8pbik87m58zmw1ifh6hkp9adjb"; type = "gem"; }; version = "1.4.0"; }; sassc = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c"; type = "gem"; }; version = "2.4.0"; }; sqlite3 = { - dependencies = ["mini_portile2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_portile2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "073hd24qwx9j26cqbk0jma0kiajjv9fb8swv9rnz8j4mf0ygcxzs"; type = "gem"; }; version = "1.7.3"; }; strscan = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; type = "gem"; }; @@ -449,49 +502,55 @@ }; thread_safe = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; typhoeus = { - dependencies = ["ethon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ethon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw"; type = "gem"; }; version = "1.4.1"; }; tzinfo = { - dependencies = ["thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dk1cfnhgl14l580b650qyp8m5xpqb3zg0wb251h5jkm46hzc0b5"; type = "gem"; }; version = "1.2.11"; }; xcinvoke = { - dependencies = ["liferaft"]; + dependencies = [ "liferaft" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16pyq7wvx2c0fywrqxk3vg6psa3yjhbd7hw7hv2mjim6myjkdsb7"; type = "gem"; }; version = "0.3.0"; }; xcodeproj = { - dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "atomos" + "claide" + "colored2" + "nanaimo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1411j6sfnz0cx4fiw52f0yqx4bgcn8cmpgi3i5rwmmahayyjz2fn"; type = "gem"; }; diff --git a/pkgs/development/tools/jless/default.nix b/pkgs/development/tools/jless/default.nix index 0aba5e3f23f11..bf7ecb5b25c7e 100644 --- a/pkgs/development/tools/jless/default.nix +++ b/pkgs/development/tools/jless/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, rustPlatform, stdenv, python3, AppKit, libxcb }: +{ + lib, + fetchFromGitHub, + rustPlatform, + stdenv, + python3, + AppKit, + libxcb, +}: rustPlatform.buildRustPackage rec { pname = "jless"; @@ -15,7 +23,8 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ python3 ]; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libxcb ]; @@ -25,6 +34,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://jless.io"; changelog = "https://github.com/PaulJuliusMartinez/jless/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ figsoda jfchevrette ]; + maintainers = with maintainers; [ + figsoda + jfchevrette + ]; }; } diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix index aceddd467b023..fe6d7f868979b 100644 --- a/pkgs/development/tools/kdash/default.nix +++ b/pkgs/development/tools/kdash/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, perl -, python3 -, openssl -, xorg -, AppKit +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + perl, + python3, + openssl, + xorg, + AppKit, }: rustPlatform.buildRustPackage rec { @@ -21,10 +22,16 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-IpF5uXRxHBmfWkBBJjNvDsyQG5nzFjKbCmmGpG3howo="; }; - nativeBuildInputs = [ perl python3 pkg-config ]; + nativeBuildInputs = [ + perl + python3 + pkg-config + ]; - buildInputs = [ openssl xorg.xcbutil ] - ++ lib.optional stdenv.hostPlatform.isDarwin AppKit; + buildInputs = [ + openssl + xorg.xcbutil + ] ++ lib.optional stdenv.hostPlatform.isDarwin AppKit; cargoHash = "sha256-jm0UCKDy6TrogMPavB86lvk8yKZXubTGGbApk+oP2RQ="; diff --git a/pkgs/development/tools/kgt/default.nix b/pkgs/development/tools/kgt/default.nix index e0ef6bd6d15d5..684561d195f06 100644 --- a/pkgs/development/tools/kgt/default.nix +++ b/pkgs/development/tools/kgt/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, bmake, cleanPackaging }: +{ + lib, + stdenv, + fetchFromGitHub, + bmake, + cleanPackaging, +}: stdenv.mkDerivation { pname = "kgt"; @@ -13,17 +19,25 @@ stdenv.mkDerivation { fetchSubmodules = true; }; - outputs = [ "bin" "doc" "out" ]; + outputs = [ + "bin" + "doc" + "out" + ]; nativeBuildInputs = [ bmake ]; enableParallelBuilding = true; - makeFlags = [ "-r" "PREFIX=$(bin)" ]; + makeFlags = [ + "-r" + "PREFIX=$(bin)" + ]; installPhase = '' runHook preInstall - ${cleanPackaging.commonFileActions { + ${ + cleanPackaging.commonFileActions { docFiles = [ "README.md" "LICENCE" @@ -52,7 +66,8 @@ stdenv.mkDerivation { ".gitattributes" ".github" ]; - }} $doc/share/doc/kgt + } + } $doc/share/doc/kgt install -Dm755 build/bin/kgt $bin/bin/kgt rm build/bin/kgt @@ -73,9 +88,9 @@ stdenv.mkDerivation { Input: Various BNF-like syntaxes Output: Various BNF-like syntaxes, AST dumps, and Railroad Syntax Diagrams ''; - homepage = "https://github.com/katef/kgt"; - license = licenses.bsd2; - platforms = platforms.unix; + homepage = "https://github.com/katef/kgt"; + license = licenses.bsd2; + platforms = platforms.unix; maintainers = with maintainers; [ Profpatsch ]; }; diff --git a/pkgs/development/tools/kubie/default.nix b/pkgs/development/tools/kubie/default.nix index 18b429e2d434d..332f072407929 100644 --- a/pkgs/development/tools/kubie/default.nix +++ b/pkgs/development/tools/kubie/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, installShellFiles, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + Security, +}: rustPlatform.buildRustPackage rec { pname = "kubie"; diff --git a/pkgs/development/tools/kustomize/3.nix b/pkgs/development/tools/kustomize/3.nix index 01cb1fd486155..1d8382f01a555 100644 --- a/pkgs/development/tools/kustomize/3.nix +++ b/pkgs/development/tools/kustomize/3.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kustomize_3"; @@ -6,11 +10,15 @@ buildGoModule rec { # rev is the commit of the tag, mainly for kustomize version command output rev = "602ad8aa98e2e17f6c9119e027a09757e63c8bec"; - ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in [ - "-s -w" - "-X ${t}.version=${version}" - "-X ${t}.gitCommit=${rev}" - ]; + ldflags = + let + t = "sigs.k8s.io/kustomize/api/provenance"; + in + [ + "-s -w" + "-X ${t}.version=${version}" + "-X ${t}.gitCommit=${rev}" + ]; src = fetchFromGitHub { owner = "kubernetes-sigs"; @@ -35,7 +43,13 @@ buildGoModule rec { ''; homepage = "https://github.com/kubernetes-sigs/kustomize"; license = licenses.asl20; - maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ]; + maintainers = with maintainers; [ + carlosdagos + vdemeester + zaninime + Chili-Man + saschagrunert + ]; mainProgram = "kustomize"; }; } diff --git a/pkgs/development/tools/kustomize/4.nix b/pkgs/development/tools/kustomize/4.nix index 9b3b73e048684..e7f9c4e978fed 100644 --- a/pkgs/development/tools/kustomize/4.nix +++ b/pkgs/development/tools/kustomize/4.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "kustomize_4"; @@ -13,7 +18,10 @@ buildGoModule rec { # rev is the commit of the tag, mainly for kustomize version command output rev = "56d82a8378dfc8dc3b3b1085e5a6e67b82966bd7"; - ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in + ldflags = + let + t = "sigs.k8s.io/kustomize/api/provenance"; + in [ "-s" "-X ${t}.version=${version}" @@ -44,6 +52,13 @@ buildGoModule rec { ''; homepage = "https://github.com/kubernetes-sigs/kustomize"; license = licenses.asl20; - maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man saschagrunert ]; + maintainers = with maintainers; [ + carlosdagos + vdemeester + periklis + zaninime + Chili-Man + saschagrunert + ]; }; } diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix index e7955979a7ae2..de256650c25f7 100644 --- a/pkgs/development/tools/kustomize/default.nix +++ b/pkgs/development/tools/kustomize/default.nix @@ -1,10 +1,18 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: buildGoModule rec { pname = "kustomize"; version = "5.5.0"; - ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in + ldflags = + let + t = "sigs.k8s.io/kustomize/api/provenance"; + in [ "-s" "-X ${t}.version=${version}" @@ -42,6 +50,13 @@ buildGoModule rec { ''; homepage = "https://github.com/kubernetes-sigs/kustomize"; license = licenses.asl20; - maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man saschagrunert ]; + maintainers = with maintainers; [ + carlosdagos + vdemeester + periklis + zaninime + Chili-Man + saschagrunert + ]; }; } diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix index 2801930a22efc..704754d945a20 100644 --- a/pkgs/development/tools/kustomize/kustomize-sops.nix +++ b/pkgs/development/tools/kustomize/kustomize-sops.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "kustomize-sops"; diff --git a/pkgs/development/tools/language-servers/ccls/default.nix b/pkgs/development/tools/language-servers/ccls/default.nix index 0cb1e78840975..5e40d5fc0f40a 100644 --- a/pkgs/development/tools/language-servers/ccls/default.nix +++ b/pkgs/development/tools/language-servers/ccls/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, llvmPackages, rapidjson, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + llvmPackages, + rapidjson, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "ccls"; @@ -12,8 +19,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-0hZ4VnscnKYBrXy58IjeoeDxja1oNq0mNaQGPmej5BA="; }; - nativeBuildInputs = [ cmake llvmPackages.llvm.dev ]; - buildInputs = with llvmPackages; [ libclang llvm rapidjson ]; + nativeBuildInputs = [ + cmake + llvmPackages.llvm.dev + ]; + buildInputs = with llvmPackages; [ + libclang + llvm + rapidjson + ]; cmakeFlags = [ "-DCCLS_VERSION=${version}" ]; @@ -34,9 +48,12 @@ stdenv.mkDerivation rec { meta = with lib; { description = "C/c++ language server powered by clang"; mainProgram = "ccls"; - homepage = "https://github.com/MaskRay/ccls"; - license = licenses.asl20; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ mic92 tobim ]; + homepage = "https://github.com/MaskRay/ccls"; + license = licenses.asl20; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ + mic92 + tobim + ]; }; } diff --git a/pkgs/development/tools/language-servers/crystalline/default.nix b/pkgs/development/tools/language-servers/crystalline/default.nix index 3f59e57bdb01c..1555dc35e824a 100644 --- a/pkgs/development/tools/language-servers/crystalline/default.nix +++ b/pkgs/development/tools/language-servers/crystalline/default.nix @@ -1,9 +1,10 @@ -{ lib -, crystal -, fetchFromGitHub -, llvmPackages -, openssl -, makeWrapper +{ + lib, + crystal, + fetchFromGitHub, + llvmPackages, + openssl, + makeWrapper, }: let @@ -23,20 +24,27 @@ crystal.buildCrystalPackage { format = "crystal"; shardsFile = ./shards.nix; - nativeBuildInputs = [ llvmPackages.llvm openssl makeWrapper ]; + nativeBuildInputs = [ + llvmPackages.llvm + openssl + makeWrapper + ]; doCheck = false; doInstallCheck = false; crystalBinaries.crystalline = { src = "src/crystalline.cr"; - options = [ "--release" "--no-debug" "--progress" "-Dpreview_mt" ]; + options = [ + "--release" + "--no-debug" + "--progress" + "-Dpreview_mt" + ]; }; postInstall = '' - wrapProgram "$out/bin/crystalline" --prefix PATH : '${ - lib.makeBinPath [llvmPackages.llvm.dev] - }' + wrapProgram "$out/bin/crystalline" --prefix PATH : '${lib.makeBinPath [ llvmPackages.llvm.dev ]}' ''; meta = with lib; { diff --git a/pkgs/development/tools/language-servers/fortls/default.nix b/pkgs/development/tools/language-servers/fortls/default.nix index 5faa408ecff2e..273a0179863b7 100644 --- a/pkgs/development/tools/language-servers/fortls/default.nix +++ b/pkgs/development/tools/language-servers/fortls/default.nix @@ -1,9 +1,10 @@ -{ buildPythonApplication -, lib -, fetchFromGitHub -, setuptools-scm -, json5 -, packaging +{ + buildPythonApplication, + lib, + fetchFromGitHub, + setuptools-scm, + json5, + packaging, }: buildPythonApplication rec { @@ -19,7 +20,10 @@ buildPythonApplication rec { nativeBuildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ json5 packaging ]; + propagatedBuildInputs = [ + json5 + packaging + ]; doCheck = true; checkPhase = "$out/bin/fortls --help 1>/dev/null"; diff --git a/pkgs/development/tools/language-servers/fortran-language-server/default.nix b/pkgs/development/tools/language-servers/fortran-language-server/default.nix index 81ecf59c6d43b..419f372c9be1b 100644 --- a/pkgs/development/tools/language-servers/fortran-language-server/default.nix +++ b/pkgs/development/tools/language-servers/fortran-language-server/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchPypi, buildPythonApplication }: +{ + lib, + fetchPypi, + buildPythonApplication, +}: buildPythonApplication rec { pname = "fortran-language-server"; diff --git a/pkgs/development/tools/ldid/default.nix b/pkgs/development/tools/ldid/default.nix index c3a988885cec5..c0c2645ab0946 100644 --- a/pkgs/development/tools/ldid/default.nix +++ b/pkgs/development/tools/ldid/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchgit -, libplist -, libxml2 -, openssl -, CoreFoundation -, Security +{ + lib, + stdenv, + fetchgit, + libplist, + libxml2, + openssl, + CoreFoundation, + Security, }: stdenv.mkDerivation rec { @@ -20,23 +21,27 @@ stdenv.mkDerivation rec { strictDeps = true; - buildInputs = [ - libplist - libxml2 - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreFoundation - Security - ]; + buildInputs = + [ + libplist + libxml2 + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreFoundation + Security + ]; - NIX_LDFLAGS = [ - "-lcrypto" - "-lplist-2.0" - "-lxml2" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-framework CoreFoundation" - "-framework Security" - ]; + NIX_LDFLAGS = + [ + "-lcrypto" + "-lplist-2.0" + "-lxml2" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-framework CoreFoundation" + "-framework Security" + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix index c93c27722ec23..caf8199c93e12 100644 --- a/pkgs/development/tools/libsigrok/default.nix +++ b/pkgs/development/tools/libsigrok/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchgit -, autoreconfHook -, pkg-config -, libzip -, glib -, libusb1 -, libftdi1 -, check -, libserialport -, doxygen -, glibmm -, python -, hidapi -, libieee1284 -, bluez -, sigrok-firmware-fx2lafw +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + libzip, + glib, + libusb1, + libftdi1, + check, + libserialport, + doxygen, + glibmm, + python, + hidapi, + libieee1284, + bluez, + sigrok-firmware-fx2lafw, }: stdenv.mkDerivation rec { @@ -30,10 +31,27 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ autoreconfHook doxygen pkg-config python ]; - buildInputs = [ - libzip glib libusb1 libftdi1 check libserialport glibmm hidapi - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libieee1284 bluez ]; + nativeBuildInputs = [ + autoreconfHook + doxygen + pkg-config + python + ]; + buildInputs = + [ + libzip + glib + libusb1 + libftdi1 + check + libserialport + glibmm + hidapi + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libieee1284 + bluez + ]; strictDeps = true; @@ -58,6 +76,9 @@ stdenv.mkDerivation rec { homepage = "https://sigrok.org/"; license = licenses.gpl3Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor vifino ]; + maintainers = with maintainers; [ + bjornfor + vifino + ]; }; } diff --git a/pkgs/development/tools/license_finder/default.nix b/pkgs/development/tools/license_finder/default.nix index c5ac088555658..c30860a9a4ba2 100644 --- a/pkgs/development/tools/license_finder/default.nix +++ b/pkgs/development/tools/license_finder/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, bundlerUpdateScript, ruby }: +{ + lib, + bundlerEnv, + bundlerUpdateScript, + ruby, +}: bundlerEnv { pname = "license_finder"; diff --git a/pkgs/development/tools/license_finder/gemset.nix b/pkgs/development/tools/license_finder/gemset.nix index 89becfc04d351..fad868d54e4ad 100644 --- a/pkgs/development/tools/license_finder/gemset.nix +++ b/pkgs/development/tools/license_finder/gemset.nix @@ -1,71 +1,77 @@ { license_finder = { - dependencies = ["rubyzip" "thor" "tomlrb" "with_env" "xml-simple"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "rubyzip" + "thor" + "tomlrb" + "with_env" + "xml-simple" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sig4ifxzvcz3fwjnz93dpv61v6sxpmlknj5f8n112ragrbcj8hb"; type = "gem"; }; version = "7.0.1"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; type = "gem"; }; version = "1.2.1"; }; tomlrb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a83cb5xpyzlr651d46rk5xgq37s46hs9nfqy9baawzs31hm9k2g"; type = "gem"; }; version = "2.0.1"; }; with_env = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r5ns064mbb99hf1dyxsk9183hznc5i7mn3bi86zka6dlvqf9csh"; type = "gem"; }; version = "1.1.0"; }; xml-simple = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb9plyl71mdbjr4kllfy53qx6g68ryxblmnq9dilvy837jk24fj"; type = "gem"; }; diff --git a/pkgs/development/tools/loganalyzer/default.nix b/pkgs/development/tools/loganalyzer/default.nix index d992b539dafd2..76e782e8f8b99 100644 --- a/pkgs/development/tools/loganalyzer/default.nix +++ b/pkgs/development/tools/loganalyzer/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, qtbase -, qtsvg -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + qtbase, + qtsvg, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/tools/marksman/default.nix b/pkgs/development/tools/marksman/default.nix index bae8b5ad21dc6..6a771c63adfd0 100644 --- a/pkgs/development/tools/marksman/default.nix +++ b/pkgs/development/tools/marksman/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, buildDotnetModule -, dotnetCorePackages -, marksman -, testers +{ + lib, + fetchFromGitHub, + buildDotnetModule, + dotnetCorePackages, + marksman, + testers, }: buildDotnetModule rec { @@ -54,7 +55,10 @@ buildDotnetModule rec { ''; homepage = "https://github.com/artempyanykh/marksman"; license = licenses.mit; - maintainers = with maintainers; [ stasjok plusgut ]; + maintainers = with maintainers; [ + stasjok + plusgut + ]; platforms = dotnet-sdk.meta.platforms; mainProgram = "marksman"; }; diff --git a/pkgs/development/tools/marksman/deps.nix b/pkgs/development/tools/marksman/deps.nix index 485b522734e57..3a369829b93ad 100644 --- a/pkgs/development/tools/marksman/deps.nix +++ b/pkgs/development/tools/marksman/deps.nix @@ -1,89 +1,426 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "coverlet.collector"; version = "6.0.2"; hash = "sha256-LdSQUrOmjFug47LjtqgtN2MM6BcfG0HR5iL+prVHlDo="; }) - (fetchNuGet { pname = "fantomas"; version = "6.3.16"; hash = "sha256-4tRdYf+/Q1iedx+DDuIKVGlIWQdr6erM51VdKzZkhCs="; }) - (fetchNuGet { pname = "FSharp.SystemCommandLine"; version = "0.13.0-beta4"; hash = "sha256-QDT7vllfe978acAmSXltWXsnG/LZOEWTb1C85vBDBYI="; }) - (fetchNuGet { pname = "FSharpPlus"; version = "1.6.1"; hash = "sha256-MGwxfDTg6gJiS88yiqi1OGJk5WmaAFkVniniwF9Ilkc="; }) - (fetchNuGet { pname = "Glob"; version = "1.1.9"; hash = "sha256-o3igdoWYiatTNlvBA6UrhZVLweh6qcY7CcQtILCC4uA="; }) - (fetchNuGet { pname = "Markdig"; version = "0.38.0"; hash = "sha256-5DuDlj+TCDJWP8oJM2WU48ps3HFuUg5P28O/SPcjwGk="; }) - (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; hash = "sha256-+vMXyEbfutY5WOFuFnNF24uLcKJTTdntVrVlSJH4yjI="; }) - (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.108"; hash = "sha256-u3Qu8UftNIz3oIzQUMa7Z0G6VzmDLcAnAeNQ3lB3YVk="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; }) - (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.11.1"; hash = "sha256-1dLlK3NGh88PuFYZiYpT+izA96etxhU3BSgixDgdtGA="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; hash = "sha256-0huoqR2CJ3Z9Q2peaKD09TV3E6saYSqDGZ290K8CrH8="; }) - (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; hash = "sha256-+9uBaUDZ3roUJwyYJUL30Mz+3C6LE16FzfQKgS0Yveo="; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.11.1"; hash = "sha256-0JUEucQ2lzaPgkrjm/NFLBTbqU1dfhvhN3Tl3moE6mI="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.11.1"; hash = "sha256-5vX+vCzFY3S7xfMVIv8OlMMFtdedW9UIJzc0WEc+vm4="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.11.1"; hash = "sha256-wSkY0H1fQAq0H3LcKT4u7Y5RzhAAPa6yueVN84g8HxU="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.6.40"; hash = "sha256-5HtsgSPV5RdaPREGDvJ7qMOFubb1wMyHwkfTnZs9Zsc="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.6.40"; hash = "sha256-WghLNITEsKTV5pCjogmhfsVD3iO7ghTk0KNrOXzKSS0="; }) - (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.6.11"; hash = "sha256-Lkjp9Ove4+CFP06x/toYpJEiAinuTfn/o+oh0fW3pGM="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; }) - (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.10.66"; hash = "sha256-35qyZOVDemtsBYjaZSkzuXGp0mIOSFnCeEHWsUXb5BI="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; hash = "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="; }) - (fetchNuGet { pname = "Serilog"; version = "2.11.0"; hash = "sha256-kI7I/NiH7GuR0MQTZsy+m+8+2qT0xMBrY7SXYCocbds="; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.0.1"; hash = "sha256-n0LQOEsUg9M/T1aWryiG2690pyGBjHsk6TRZz2aCGyA="; }) - (fetchNuGet { pname = "Snapper"; version = "2.4.1"; hash = "sha256-mgYpGR3MWNQyueF07kDgl8ToyzcISqYTabVYn8Davpo="; }) - (fetchNuGet { pname = "StreamJsonRpc"; version = "2.16.36"; hash = "sha256-XLCQsY7xu67E8E7WJIvjHtk3iobREPCiljW8jNpfi68="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; }) - (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta4.22272.1"; hash = "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.2"; hash = "sha256-8Uawe7mWOQsDzMSAAP16nuGD1FRSajyS8q+cA++MJ8E="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; hash = "sha256-vSBqTbmWXylvRa37aWyktym+gOpsvH43mwr6A962k6U="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; hash = "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; hash = "sha256-7zqB+FXgkvhtlBzpcZyd81xczWP0D3uWssyAGw3t7b4="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; hash = "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; hash = "sha256-tF8qt9GZh/nPy0mEnj6nKLG4Lldpoi/D8xM5lv2CoYQ="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "7.0.3"; hash = "sha256-aSJZ17MjqaZNQkprfxm/09LaCoFtpdWmqU9BTROzWX4="; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "7.0.0"; hash = "sha256-KTeMhCWcyYEwG7EkA0VkVvHwo0B2FBs5FpjW3BFNVUE="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; hash = "sha256-KPz1kxe0RUBM+aoktJ/f9p51GudMERU8Pmwm//HdlFg="; }) - (fetchNuGet { pname = "Tomlyn"; version = "0.17.0"; hash = "sha256-pJHF7w8RJhV23wiI3qzm5el4qPlPlgYTmTKA8yGhzXY="; }) - (fetchNuGet { pname = "xunit"; version = "2.9.2"; hash = "sha256-h5+yTTfCmokCPy4lqdEw8RGzQlrlsQAW3Am0Jh0q7oo="; }) - (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; hash = "sha256-0D1y/C34iARI96gb3bAOG8tcGPMjx+fMabTPpydGlAM="; }) - (fetchNuGet { pname = "xunit.analyzers"; version = "1.16.0"; hash = "sha256-P5Bvl9hvHvF8KY1YWLg4tKiYxlfRnmHyL14jfSACDaU="; }) - (fetchNuGet { pname = "xunit.assert"; version = "2.9.2"; hash = "sha256-EE6r526Q4cHn0Ourf1ENpXZ37Lj/P2uNvonHgpdcnq4="; }) - (fetchNuGet { pname = "xunit.core"; version = "2.9.2"; hash = "sha256-zhjV1I5xh0RFckgTEK72tIkLxVl4CPmter2UB++oye8="; }) - (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.9.2"; hash = "sha256-MQAC/4d67Nssu3R+pHPh6vHitBXQYxEEZkVVMGW720c="; }) - (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.9.2"; hash = "sha256-f+9UfoPyK3JIDhQSW0Yu9c4PGqUqZC96DMINCYi2i80="; }) - (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.8.2"; hash = "sha256-UlfK348r8kJuraywfdCtpJJxHkv04wPNzpUaz4UM/60="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "coverlet.collector"; + version = "6.0.2"; + hash = "sha256-LdSQUrOmjFug47LjtqgtN2MM6BcfG0HR5iL+prVHlDo="; + }) + (fetchNuGet { + pname = "fantomas"; + version = "6.3.16"; + hash = "sha256-4tRdYf+/Q1iedx+DDuIKVGlIWQdr6erM51VdKzZkhCs="; + }) + (fetchNuGet { + pname = "FSharp.SystemCommandLine"; + version = "0.13.0-beta4"; + hash = "sha256-QDT7vllfe978acAmSXltWXsnG/LZOEWTb1C85vBDBYI="; + }) + (fetchNuGet { + pname = "FSharpPlus"; + version = "1.6.1"; + hash = "sha256-MGwxfDTg6gJiS88yiqi1OGJk5WmaAFkVniniwF9Ilkc="; + }) + (fetchNuGet { + pname = "Glob"; + version = "1.1.9"; + hash = "sha256-o3igdoWYiatTNlvBA6UrhZVLweh6qcY7CcQtILCC4uA="; + }) + (fetchNuGet { + pname = "Markdig"; + version = "0.38.0"; + hash = "sha256-5DuDlj+TCDJWP8oJM2WU48ps3HFuUg5P28O/SPcjwGk="; + }) + (fetchNuGet { + pname = "MessagePack"; + version = "2.5.108"; + hash = "sha256-+vMXyEbfutY5WOFuFnNF24uLcKJTTdntVrVlSJH4yjI="; + }) + (fetchNuGet { + pname = "MessagePack.Annotations"; + version = "2.5.108"; + hash = "sha256-u3Qu8UftNIz3oIzQUMa7Z0G6VzmDLcAnAeNQ3lB3YVk="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "7.0.0"; + hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; + }) + (fetchNuGet { + pname = "Microsoft.CodeCoverage"; + version = "17.11.1"; + hash = "sha256-1dLlK3NGh88PuFYZiYpT+izA96etxhU3BSgixDgdtGA="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.0.1"; + hash = "sha256-0huoqR2CJ3Z9Q2peaKD09TV3E6saYSqDGZ290K8CrH8="; + }) + (fetchNuGet { + pname = "Microsoft.NET.StringTools"; + version = "17.4.0"; + hash = "sha256-+9uBaUDZ3roUJwyYJUL30Mz+3C6LE16FzfQKgS0Yveo="; + }) + (fetchNuGet { + pname = "Microsoft.NET.Test.Sdk"; + version = "17.11.1"; + hash = "sha256-0JUEucQ2lzaPgkrjm/NFLBTbqU1dfhvhN3Tl3moE6mI="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + hash = "sha256-mZotlGZqtrqDSoBrZhsxFe6fuOv5/BIo0w2Z2x0zVAU="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + hash = "sha256-lxxw/Gy32xHi0fLgFWNj4YTFBSBkjx5l6ucmbTyf7V4="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.11.1"; + hash = "sha256-5vX+vCzFY3S7xfMVIv8OlMMFtdedW9UIJzc0WEc+vm4="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TestHost"; + version = "17.11.1"; + hash = "sha256-wSkY0H1fQAq0H3LcKT4u7Y5RzhAAPa6yueVN84g8HxU="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading"; + version = "17.6.40"; + hash = "sha256-5HtsgSPV5RdaPREGDvJ7qMOFubb1wMyHwkfTnZs9Zsc="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Threading.Analyzers"; + version = "17.6.40"; + hash = "sha256-WghLNITEsKTV5pCjogmhfsVD3iO7ghTk0KNrOXzKSS0="; + }) + (fetchNuGet { + pname = "Microsoft.VisualStudio.Validation"; + version = "17.6.11"; + hash = "sha256-Lkjp9Ove4+CFP06x/toYpJEiAinuTfn/o+oh0fW3pGM="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; + }) + (fetchNuGet { + pname = "Nerdbank.Streams"; + version = "2.10.66"; + hash = "sha256-35qyZOVDemtsBYjaZSkzuXGp0mIOSFnCeEHWsUXb5BI="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "9.0.1"; + hash = "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.11.0"; + hash = "sha256-kI7I/NiH7GuR0MQTZsy+m+8+2qT0xMBrY7SXYCocbds="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "4.0.1"; + hash = "sha256-n0LQOEsUg9M/T1aWryiG2690pyGBjHsk6TRZz2aCGyA="; + }) + (fetchNuGet { + pname = "Snapper"; + version = "2.4.1"; + hash = "sha256-mgYpGR3MWNQyueF07kDgl8ToyzcISqYTabVYn8Davpo="; + }) + (fetchNuGet { + pname = "StreamJsonRpc"; + version = "2.16.36"; + hash = "sha256-XLCQsY7xu67E8E7WJIvjHtk3iobREPCiljW8jNpfi68="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + hash = "sha256-puoFMkx4Z55C1XPxNw3np8nzNGjH+G24j43yTIsDRL0="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "7.0.0"; + hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; + }) + (fetchNuGet { + pname = "System.CommandLine"; + version = "2.0.0-beta4.22272.1"; + hash = "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + hash = "sha256-P+rSQJVoN6M56jQbs76kZ9G3mAWFdtF27P/RijN8sj4="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "7.0.2"; + hash = "sha256-8Uawe7mWOQsDzMSAAP16nuGD1FRSajyS8q+cA++MJ8E="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.0.1"; + hash = "sha256-vSBqTbmWXylvRa37aWyktym+gOpsvH43mwr6A962k6U="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.0.11"; + hash = "sha256-qWqFVxuXioesVftv2RVJZOnmojUvRjb7cS3Oh3oTit4="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + hash = "sha256-rbSgc2PIEc2c2rN6LK3qCREAX3DqA2Nq1WcLrZYsDBw="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + hash = "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.0.1"; + hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + hash = "sha256-IpigKMomqb6pmYWkrlf0ZdpILtRluX2cX5sOKVW0Feg="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "7.0.0"; + hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.1.0"; + hash = "sha256-7zqB+FXgkvhtlBzpcZyd81xczWP0D3uWssyAGw3t7b4="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.0.12"; + hash = "sha256-MudZ/KYcvYsn2cST3EE049mLikrNkmE7QoUoYKKby+s="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + hash = "sha256-idZHGH2Yl/hha1CM4VzLhsaR8Ljo/rV7TYe7mwRJSMs="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + hash = "sha256-F1MvYoQWHCY89/O4JBwswogitqVvKuVfILFqA7dmuHk="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + hash = "sha256-YG+eJBG5P+5adsHiw/lhJwvREnvdHw6CJyS8ZV4Ujd0="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + hash = "sha256-uVvNOnL64CPqsgZP2OLqNmxdkZl6Q0fTmKmv9gcBi+g="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + hash = "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + hash = "sha256-SFSfpWEyCBMAOerrMCOiKnpT+UAWTvRcmoRquJR6Vq0="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + hash = "sha256-R0YZowmFda+xzKNR4kKg7neFoE30KfZwp/IwfRSKVK4="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + hash = "sha256-cZ2/3/fczLjEpn6j3xkgQV9ouOVjy4Kisgw5xWw9kSw="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + hash = "sha256-FViNGM/4oWtlP6w0JC0vJU+k9efLKZ+yaXrnEeabDQo="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + hash = "sha256-X7DZ5CbPY7jHs20YZ7bmcXs9B5Mxptu/HnBUvUnNhGc="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + hash = "sha256-j2QgVO9ZOjv7D1het98CoFpjoYgxjupuIhuBUmLLH7w="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + hash = "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + hash = "sha256-80B05oxJbPLGq2pGOSl6NlZvintX9A1CNpna2aN0WRA="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + hash = "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + hash = "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "7.0.0"; + hash = "sha256-tF8qt9GZh/nPy0mEnj6nKLG4Lldpoi/D8xM5lv2CoYQ="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "7.0.3"; + hash = "sha256-aSJZ17MjqaZNQkprfxm/09LaCoFtpdWmqU9BTROzWX4="; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.1.0"; + hash = "sha256-x6OQN6MCN7S0fJ6EFTfv4rczdUWjwuWE9QQ0P6fbh9c="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + hash = "sha256-mob1Zv3qLQhQ1/xOLXZmYqpniNUMCfn02n8ZkaAhqac="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + hash = "sha256-5SLxzFg1df6bTm2t09xeI01wa5qQglqUwwJNlQPJIVs="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Dataflow"; + version = "7.0.0"; + hash = "sha256-KTeMhCWcyYEwG7EkA0VkVvHwo0B2FBs5FpjW3BFNVUE="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + hash = "sha256-+YdcPkMhZhRbMZHnfsDwpNbUkr31X7pQFGxXYcAPZbE="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.0.11"; + hash = "sha256-haZAFFQ9Sl2DhfvEbdx2YRqKEoxNMU5STaqpMmXw0zA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.0.11"; + hash = "sha256-KPz1kxe0RUBM+aoktJ/f9p51GudMERU8Pmwm//HdlFg="; + }) + (fetchNuGet { + pname = "Tomlyn"; + version = "0.17.0"; + hash = "sha256-pJHF7w8RJhV23wiI3qzm5el4qPlPlgYTmTKA8yGhzXY="; + }) + (fetchNuGet { + pname = "xunit"; + version = "2.9.2"; + hash = "sha256-h5+yTTfCmokCPy4lqdEw8RGzQlrlsQAW3Am0Jh0q7oo="; + }) + (fetchNuGet { + pname = "xunit.abstractions"; + version = "2.0.3"; + hash = "sha256-0D1y/C34iARI96gb3bAOG8tcGPMjx+fMabTPpydGlAM="; + }) + (fetchNuGet { + pname = "xunit.analyzers"; + version = "1.16.0"; + hash = "sha256-P5Bvl9hvHvF8KY1YWLg4tKiYxlfRnmHyL14jfSACDaU="; + }) + (fetchNuGet { + pname = "xunit.assert"; + version = "2.9.2"; + hash = "sha256-EE6r526Q4cHn0Ourf1ENpXZ37Lj/P2uNvonHgpdcnq4="; + }) + (fetchNuGet { + pname = "xunit.core"; + version = "2.9.2"; + hash = "sha256-zhjV1I5xh0RFckgTEK72tIkLxVl4CPmter2UB++oye8="; + }) + (fetchNuGet { + pname = "xunit.extensibility.core"; + version = "2.9.2"; + hash = "sha256-MQAC/4d67Nssu3R+pHPh6vHitBXQYxEEZkVVMGW720c="; + }) + (fetchNuGet { + pname = "xunit.extensibility.execution"; + version = "2.9.2"; + hash = "sha256-f+9UfoPyK3JIDhQSW0Yu9c4PGqUqZC96DMINCYi2i80="; + }) + (fetchNuGet { + pname = "xunit.runner.visualstudio"; + version = "2.8.2"; + hash = "sha256-UlfK348r8kJuraywfdCtpJJxHkv04wPNzpUaz4UM/60="; + }) ] diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix index 183481d872dda..346fdb18811dc 100644 --- a/pkgs/development/tools/minizinc/default.nix +++ b/pkgs/development/tools/minizinc/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, callPackage, jq, cmake, flex, bison, gecode, mpfr, cbc, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + callPackage, + jq, + cmake, + flex, + bison, + gecode, + mpfr, + cbc, + zlib, +}: stdenv.mkDerivation (finalAttrs: { pname = "minizinc"; @@ -11,9 +24,19 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-2JCTOgnzGeh106YBkLPM46MgnB4XHZmdMXNn1P0OBqA="; }; - nativeBuildInputs = [ bison cmake flex jq ]; + nativeBuildInputs = [ + bison + cmake + flex + jq + ]; - buildInputs = [ gecode mpfr cbc zlib ]; + buildInputs = [ + gecode + mpfr + cbc + zlib + ]; postInstall = '' mkdir -p $out/share/minizinc/solvers/ diff --git a/pkgs/development/tools/minizinc/ide.nix b/pkgs/development/tools/minizinc/ide.nix index f6535569abf75..3c348570f6bb0 100644 --- a/pkgs/development/tools/minizinc/ide.nix +++ b/pkgs/development/tools/minizinc/ide.nix @@ -1,7 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, qtbase, qmake, qtwebsockets, minizinc, makeWrapper, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + qtbase, + qmake, + qtwebsockets, + minizinc, + makeWrapper, + Cocoa, +}: let - executableLoc = if stdenv.hostPlatform.isDarwin then "$out/Applications/MiniZincIDE.app/Contents/MacOS/MiniZincIDE" else "$out/bin/MiniZincIDE"; + executableLoc = + if stdenv.hostPlatform.isDarwin then + "$out/Applications/MiniZincIDE.app/Contents/MacOS/MiniZincIDE" + else + "$out/bin/MiniZincIDE"; in stdenv.mkDerivation rec { pname = "minizinc-ide"; @@ -15,21 +29,29 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ qmake makeWrapper ]; - buildInputs = [ qtbase qtwebsockets ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + nativeBuildInputs = [ + qmake + makeWrapper + ]; + buildInputs = [ + qtbase + qtwebsockets + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; sourceRoot = "${src.name}/MiniZincIDE"; dontWrapQtApps = true; - postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - mv $out/bin/MiniZincIDE.app $out/Applications/ - '' + '' - wrapProgram ${executableLoc} \ - --prefix PATH ":" ${lib.makeBinPath [ minizinc ]} \ - --set QT_QPA_PLATFORM_PLUGIN_PATH "${qtbase}/lib/qt-6/plugins/platforms" - ''; + postInstall = + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + mv $out/bin/MiniZincIDE.app $out/Applications/ + '' + + '' + wrapProgram ${executableLoc} \ + --prefix PATH ":" ${lib.makeBinPath [ minizinc ]} \ + --set QT_QPA_PLATFORM_PLUGIN_PATH "${qtbase}/lib/qt-6/plugins/platforms" + ''; meta = with lib; { homepage = "https://www.minizinc.org/"; diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix index 8fba52aa1fd93..e829c1cd96848 100644 --- a/pkgs/development/tools/misc/autoconf/2.13.nix +++ b/pkgs/development/tools/misc/autoconf/2.13.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, m4, perl }: +{ + lib, + stdenv, + fetchurl, + m4, + perl, +}: stdenv.mkDerivation rec { pname = "autoconf"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh"; }; - nativeBuildInputs = [ m4 perl ]; + nativeBuildInputs = [ + m4 + perl + ]; strictDeps = true; doCheck = true; diff --git a/pkgs/development/tools/misc/autoconf/2.64.nix b/pkgs/development/tools/misc/autoconf/2.64.nix index c505cc6948054..e0c0f6810c67c 100644 --- a/pkgs/development/tools/misc/autoconf/2.64.nix +++ b/pkgs/development/tools/misc/autoconf/2.64.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, m4, perl }: +{ + lib, + stdenv, + fetchurl, + m4, + perl, +}: stdenv.mkDerivation rec { pname = "autoconf"; @@ -10,7 +16,10 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ m4 perl ]; + nativeBuildInputs = [ + m4 + perl + ]; buildInputs = [ m4 ]; # Work around a known issue in Cygwin. See diff --git a/pkgs/development/tools/misc/autoconf/2.69.nix b/pkgs/development/tools/misc/autoconf/2.69.nix index bdd534055a5a0..046c885e9955c 100644 --- a/pkgs/development/tools/misc/autoconf/2.69.nix +++ b/pkgs/development/tools/misc/autoconf/2.69.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, m4, perl }: +{ + lib, + stdenv, + fetchurl, + m4, + perl, +}: stdenv.mkDerivation rec { pname = "autoconf"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"; }; - nativeBuildInputs = [ m4 perl ]; + nativeBuildInputs = [ + m4 + perl + ]; buildInputs = [ m4 ]; # Work around a known issue in Cygwin. See diff --git a/pkgs/development/tools/misc/autoconf/2.71.nix b/pkgs/development/tools/misc/autoconf/2.71.nix index bfc24892ecd92..96b369d68e7f0 100644 --- a/pkgs/development/tools/misc/autoconf/2.71.nix +++ b/pkgs/development/tools/misc/autoconf/2.71.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, m4, perl, texinfo }: +{ + lib, + stdenv, + fetchurl, + m4, + perl, + texinfo, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -8,7 +15,10 @@ stdenv.mkDerivation rec { pname = "autoconf"; version = "2.71"; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; src = fetchurl { url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz"; @@ -21,7 +31,11 @@ stdenv.mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ m4 perl texinfo ]; + nativeBuildInputs = [ + m4 + perl + texinfo + ]; buildInputs = [ m4 ]; postBuild = " make html @@ -44,7 +58,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # Make the Autotest test suite run in parallel. - preCheck ='' + preCheck = '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" ''; diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index 9f4ee80d1a767..6eac0fd183933 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, m4, perl, texinfo }: +{ + lib, + stdenv, + fetchurl, + m4, + perl, + texinfo, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -8,7 +15,10 @@ stdenv.mkDerivation rec { pname = "autoconf"; version = "2.72"; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; src = fetchurl { url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz"; @@ -16,7 +26,11 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ m4 perl texinfo ]; + nativeBuildInputs = [ + m4 + perl + texinfo + ]; buildInputs = [ m4 ]; postBuild = " make html @@ -39,7 +53,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # Make the Autotest test suite run in parallel. - preCheck ='' + preCheck = '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" ''; diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix index 161dca6f1805d..20921a95de73f 100644 --- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, autoconf }: +{ + lib, + stdenv, + fetchurl, + perl, + autoconf, +}: stdenv.mkDerivation rec { pname = "automake"; @@ -16,10 +22,16 @@ stdenv.mkDerivation rec { sha256 = "1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5"; }; - patches = [ ./fix-test-autoconf-2.69.patch ./fix-perl-5.26.patch ]; + patches = [ + ./fix-test-autoconf-2.69.patch + ./fix-perl-5.26.patch + ]; strictDeps = true; - nativeBuildInputs = [ perl autoconf ]; + nativeBuildInputs = [ + perl + autoconf + ]; buildInputs = [ autoconf ]; doCheck = false; # takes _a lot_ of time, fails 11 of 782 tests diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.15.x.nix index f0df759ee2cf6..3defb1dd9148d 100644 --- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.15.x.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, perl, autoconf }: +{ + lib, + stdenv, + fetchurl, + perl, + autoconf, +}: stdenv.mkDerivation rec { pname = "automake"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg"; }; - nativeBuildInputs = [ autoconf perl ]; + nativeBuildInputs = [ + autoconf + perl + ]; buildInputs = [ autoconf ]; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix index 20fe31ef6cd7f..4fa03389760d5 100644 --- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, autoconf, updateAutotoolsGnuConfigScriptsHook }: +{ + lib, + stdenv, + fetchurl, + perl, + autoconf, + updateAutotoolsGnuConfigScriptsHook, +}: stdenv.mkDerivation rec { pname = "automake"; @@ -10,7 +17,11 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook autoconf perl ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + autoconf + perl + ]; buildInputs = [ autoconf ]; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/tools/misc/automake/automake-1.17.x.nix b/pkgs/development/tools/misc/automake/automake-1.17.x.nix index 991049a479505..91f8857c0a229 100644 --- a/pkgs/development/tools/misc/automake/automake-1.17.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.17.x.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, autoconf, updateAutotoolsGnuConfigScriptsHook }: +{ + lib, + stdenv, + fetchurl, + perl, + autoconf, + updateAutotoolsGnuConfigScriptsHook, +}: stdenv.mkDerivation rec { pname = "automake"; @@ -10,7 +17,11 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook autoconf perl ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + autoconf + perl + ]; buildInputs = [ autoconf ]; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/tools/misc/binutils/2.38/default.nix b/pkgs/development/tools/misc/binutils/2.38/default.nix index 474a565f351f9..2fe833bc2841f 100644 --- a/pkgs/development/tools/misc/binutils/2.38/default.nix +++ b/pkgs/development/tools/misc/binutils/2.38/default.nix @@ -1,30 +1,32 @@ -{ stdenv -, autoreconfHook -, autoconf269, automake, libtool -, bison -, buildPackages -, fetchFromGitHub -, fetchurl -, flex -, gettext -, lib -, noSysDirs -, perl -, substitute -, texinfo -, zlib - -, enableGold ? stdenv.targetPlatform.isElf -, enableShared ? !stdenv.hostPlatform.isStatic +{ + stdenv, + autoreconfHook, + autoconf269, + automake, + libtool, + bison, + buildPackages, + fetchFromGitHub, + fetchurl, + flex, + gettext, + lib, + noSysDirs, + perl, + substitute, + texinfo, + zlib, + + enableGold ? stdenv.targetPlatform.isElf, + enableShared ? !stdenv.hostPlatform.isStatic, # WARN: Enabling all targets increases output size to a multiple. -, withAllTargets ? false + withAllTargets ? false, }: # WARN: configure silently disables ld.gold if it's unsupported, so we need to # make sure that intent matches result ourselves. assert enableGold -> stdenv.targetPlatform.isElf; - let inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -53,138 +55,181 @@ stdenv.mkDerivation { inherit version; # HACK: Ensure that we preserve source from bootstrap binutils to not rebuild LLVM - src = stdenv.__bootPackages.binutils-unwrapped_2_38.src - or srcs.${targetPlatform.system} - or srcs.normal; + src = + stdenv.__bootPackages.binutils-unwrapped_2_38.src or srcs.${targetPlatform.system} or srcs.normal; # WARN: this package is used for bootstrapping fetchurl, and thus cannot use # fetchpatch! All mutable patches (generated by GitHub or cgit) that are # needed here should be included directly in Nixpkgs as files. - patches = [ - # Make binutils output deterministic by default. - ./deterministic.patch - - - # Breaks nm BSD flag detection - ./0001-Revert-libtool.m4-fix-nm-BSD-flag-detection.patch - - # Required for newer macos versions - ./0001-libtool.m4-update-macos-version-detection-block.patch - - # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's - # not clear why this behavior was decided upon but it has the unfortunate - # consequence that the linker will fail to find transitive dependencies of - # shared objects when cross-compiling. Consequently, we are forced to - # override this behavior, forcing ld to search DT_RPATH even when - # cross-compiling. - ./always-search-rpath.patch - - # Fixed in 2.39 - # https://sourceware.org/bugzilla/show_bug.cgi?id=28885 - # https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=99852365513266afdd793289813e8e565186c9e6 - # https://github.com/NixOS/nixpkgs/issues/170946 - ./deterministic-temp-prefixes.patch - ] - ++ lib.optional targetPlatform.isiOS ./support-ios.patch - ++ lib.optional stdenv.targetPlatform.isWindows ./windres-locate-gcc.patch - ++ lib.optional stdenv.targetPlatform.isMips64n64 - # this patch is from debian: - # https://sources.debian.org/data/main/b/binutils/2.38-3/debian/patches/mips64-default-n64.diff - (if stdenv.targetPlatform.isMusl - then substitute { src = ./mips64-default-n64.patch; substitutions = [ "--replace" "gnuabi64" "muslabi64" ]; } - else ./mips64-default-n64.patch) - # On PowerPC, when generating assembly code, GCC generates a `.machine` - # custom instruction which instructs the assembler to generate code for this - # machine. However, some GCC versions generate the wrong one, or make it - # too strict, which leads to some confusing "unrecognized opcode: wrtee" - # or "unrecognized opcode: eieio" errors. - # - # To remove when binutils 2.39 is released. - # - # Upstream commit: - # https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=cebc89b9328eab994f6b0314c263f94e7949a553 - ++ lib.optional stdenv.targetPlatform.isPower ./ppc-make-machine-less-strict.patch - ; - - outputs = [ "out" "info" "man" ]; + patches = + [ + # Make binutils output deterministic by default. + ./deterministic.patch + + # Breaks nm BSD flag detection + ./0001-Revert-libtool.m4-fix-nm-BSD-flag-detection.patch + + # Required for newer macos versions + ./0001-libtool.m4-update-macos-version-detection-block.patch + + # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's + # not clear why this behavior was decided upon but it has the unfortunate + # consequence that the linker will fail to find transitive dependencies of + # shared objects when cross-compiling. Consequently, we are forced to + # override this behavior, forcing ld to search DT_RPATH even when + # cross-compiling. + ./always-search-rpath.patch + + # Fixed in 2.39 + # https://sourceware.org/bugzilla/show_bug.cgi?id=28885 + # https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=99852365513266afdd793289813e8e565186c9e6 + # https://github.com/NixOS/nixpkgs/issues/170946 + ./deterministic-temp-prefixes.patch + ] + ++ lib.optional targetPlatform.isiOS ./support-ios.patch + ++ lib.optional stdenv.targetPlatform.isWindows ./windres-locate-gcc.patch + ++ + lib.optional stdenv.targetPlatform.isMips64n64 + # this patch is from debian: + # https://sources.debian.org/data/main/b/binutils/2.38-3/debian/patches/mips64-default-n64.diff + ( + if stdenv.targetPlatform.isMusl then + substitute { + src = ./mips64-default-n64.patch; + substitutions = [ + "--replace" + "gnuabi64" + "muslabi64" + ]; + } + else + ./mips64-default-n64.patch + ) + # On PowerPC, when generating assembly code, GCC generates a `.machine` + # custom instruction which instructs the assembler to generate code for this + # machine. However, some GCC versions generate the wrong one, or make it + # too strict, which leads to some confusing "unrecognized opcode: wrtee" + # or "unrecognized opcode: eieio" errors. + # + # To remove when binutils 2.39 is released. + # + # Upstream commit: + # https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=cebc89b9328eab994f6b0314c263f94e7949a553 + ++ lib.optional stdenv.targetPlatform.isPower ./ppc-make-machine-less-strict.patch; + + outputs = [ + "out" + "info" + "man" + ]; strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ - bison - perl - texinfo - ] - ++ lib.optionals targetPlatform.isiOS [ autoreconfHook ] - ++ lib.optionals buildPlatform.isDarwin [ autoconf269 automake gettext libtool ] - ++ lib.optionals targetPlatform.isVc4 [ flex ] - ; - - buildInputs = [ zlib gettext ]; + nativeBuildInputs = + [ + bison + perl + texinfo + ] + ++ lib.optionals targetPlatform.isiOS [ autoreconfHook ] + ++ lib.optionals buildPlatform.isDarwin [ + autoconf269 + automake + gettext + libtool + ] + ++ lib.optionals targetPlatform.isVc4 [ flex ]; + + buildInputs = [ + zlib + gettext + ]; inherit noSysDirs; - preConfigure = (lib.optionalString buildPlatform.isDarwin '' - for i in */configure.ac; do - pushd "$(dirname "$i")" - echo "Running autoreconf in $PWD" - # autoreconf doesn't work, don't know why - # autoreconf ''${autoreconfFlags:---install --force --verbose} - autoconf - popd - done - '') + '' - # Clear the default library search path. - if test "$noSysDirs" = "1"; then - echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt - fi - - # Use symlinks instead of hard links to save space ("strip" in the - # fixup phase strips each hard link separately). - for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do - sed -i "$i" -e 's|ln |ln -s |' - done - ''; + preConfigure = + (lib.optionalString buildPlatform.isDarwin '' + for i in */configure.ac; do + pushd "$(dirname "$i")" + echo "Running autoreconf in $PWD" + # autoreconf doesn't work, don't know why + # autoreconf ''${autoreconfFlags:---install --force --verbose} + autoconf + popd + done + '') + + '' + # Clear the default library search path. + if test "$noSysDirs" = "1"; then + echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt + fi + + # Use symlinks instead of hard links to save space ("strip" in the + # fixup phase strips each hard link separately). + for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do + sed -i "$i" -e 's|ln |ln -s |' + done + ''; # As binutils takes part in the stdenv building, we don't want references # to the bootstrap-tools libgcc (as uses to happen on arm/mips) env.NIX_CFLAGS_COMPILE = - if hostPlatform.isDarwin - then "-Wno-string-plus-int -Wno-deprecated-declarations" - else "-static-libgcc"; - - hardeningDisable = [ "format" "pie" ]; - - configurePlatforms = [ "build" "host" "target" ]; - - configureFlags = [ - "--enable-64-bit-bfd" - "--with-system-zlib" - - "--enable-deterministic-archives" - "--disable-werror" - "--enable-fix-loongson2f-nop" - - # Turn on --enable-new-dtags by default to make the linker set - # RUNPATH instead of RPATH on binaries. This is important because - # RUNPATH can be overridden using LD_LIBRARY_PATH at runtime. - "--enable-new-dtags" - - # force target prefix. Some versions of binutils will make it empty if - # `--host` and `--target` are too close, even if Nixpkgs thinks the - # platforms are different (e.g. because not all the info makes the - # `config`). Other versions of binutils will always prefix if `--target` is - # passed, even if `--host` and `--target` are the same. The easiest thing - # for us to do is not leave it to chance, and force the program prefix to be - # what we want it to be. - "--program-prefix=${targetPrefix}" - ] - ++ lib.optionals withAllTargets [ "--enable-targets=all" ] - ++ lib.optionals enableGold [ "--enable-gold" "--enable-plugins" ] - ++ (if enableShared - then [ "--enable-shared" "--disable-static" ] - else [ "--disable-shared" "--enable-static" ]) - ; + if hostPlatform.isDarwin then + "-Wno-string-plus-int -Wno-deprecated-declarations" + else + "-static-libgcc"; + + hardeningDisable = [ + "format" + "pie" + ]; + + configurePlatforms = [ + "build" + "host" + "target" + ]; + + configureFlags = + [ + "--enable-64-bit-bfd" + "--with-system-zlib" + + "--enable-deterministic-archives" + "--disable-werror" + "--enable-fix-loongson2f-nop" + + # Turn on --enable-new-dtags by default to make the linker set + # RUNPATH instead of RPATH on binaries. This is important because + # RUNPATH can be overridden using LD_LIBRARY_PATH at runtime. + "--enable-new-dtags" + + # force target prefix. Some versions of binutils will make it empty if + # `--host` and `--target` are too close, even if Nixpkgs thinks the + # platforms are different (e.g. because not all the info makes the + # `config`). Other versions of binutils will always prefix if `--target` is + # passed, even if `--host` and `--target` are the same. The easiest thing + # for us to do is not leave it to chance, and force the program prefix to be + # what we want it to be. + "--program-prefix=${targetPrefix}" + ] + ++ lib.optionals withAllTargets [ "--enable-targets=all" ] + ++ lib.optionals enableGold [ + "--enable-gold" + "--enable-plugins" + ] + ++ ( + if enableShared then + [ + "--enable-shared" + "--disable-static" + ] + else + [ + "--disable-shared" + "--enable-static" + ] + ); # Fails doCheck = false; @@ -194,7 +239,11 @@ stdenv.mkDerivation { postFixup = ""; # Break dependency on pkgsBuildBuild.gcc when building a cross-binutils - stripDebugList = if stdenv.hostPlatform != stdenv.targetPlatform then "bin lib ${stdenv.hostPlatform.config}" else null; + stripDebugList = + if stdenv.hostPlatform != stdenv.targetPlatform then + "bin lib ${stdenv.hostPlatform.config}" + else + null; # INFO: Otherwise it fails with: # `./sanity.sh: line 36: $out/bin/size: not found` @@ -218,7 +267,10 @@ stdenv.mkDerivation { ''; homepage = "https://www.gnu.org/software/binutils/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ ericson2314 lovesegfault ]; + maintainers = with maintainers; [ + ericson2314 + lovesegfault + ]; platforms = platforms.unix; # INFO: Give binutils a lower priority than gcc-wrapper to prevent a diff --git a/pkgs/development/tools/misc/binutils/2.38/libbfd.nix b/pkgs/development/tools/misc/binutils/2.38/libbfd.nix index 313b610560da8..c24d238261155 100644 --- a/pkgs/development/tools/misc/binutils/2.38/libbfd.nix +++ b/pkgs/development/tools/misc/binutils/2.38/libbfd.nix @@ -1,13 +1,24 @@ -{ lib, stdenv -, fetchpatch, gnu-config, autoreconfHook, bison, binutils-unwrapped_2_38 -, libiberty, libintl, zlib +{ + lib, + stdenv, + fetchpatch, + gnu-config, + autoreconfHook, + bison, + binutils-unwrapped_2_38, + libiberty, + libintl, + zlib, }: stdenv.mkDerivation { pname = "libbfd"; inherit (binutils-unwrapped_2_38) version src; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = binutils-unwrapped_2_38.patches ++ [ ./build-components-separately.patch @@ -31,12 +42,22 @@ stdenv.mkDerivation { dontUpdateAutotoolsGnuConfigScripts = true; strictDeps = true; - nativeBuildInputs = [ autoreconfHook bison ]; - buildInputs = [ libiberty zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libintl ]; + nativeBuildInputs = [ + autoreconfHook + bison + ]; + buildInputs = [ + libiberty + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libintl ]; - configurePlatforms = [ "build" "host" ]; + configurePlatforms = [ + "build" + "host" + ]; configureFlags = [ - "--enable-targets=all" "--enable-64-bit-bfd" + "--enable-targets=all" + "--enable-64-bit-bfd" "--enable-install-libbfd" "--with-system-zlib" ] ++ lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared"; diff --git a/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix b/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix index 12a2ebc52fb25..90377382eafb5 100644 --- a/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix +++ b/pkgs/development/tools/misc/binutils/2.38/libopcodes.nix @@ -1,13 +1,22 @@ -{ lib, stdenv, buildPackages -, autoreconfHook, bison, binutils-unwrapped_2_38 -, libiberty, libbfd_2_38 +{ + lib, + stdenv, + buildPackages, + autoreconfHook, + bison, + binutils-unwrapped_2_38, + libiberty, + libbfd_2_38, }: stdenv.mkDerivation { pname = "libopcodes"; inherit (binutils-unwrapped_2_38) version src; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; patches = binutils-unwrapped_2_38.patches ++ [ ./build-components-separately.patch @@ -20,14 +29,21 @@ stdenv.mkDerivation { ''; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook bison ]; + nativeBuildInputs = [ + autoreconfHook + bison + ]; buildInputs = [ libiberty ]; # dis-asm.h includes bfd.h propagatedBuildInputs = [ libbfd_2_38 ]; - configurePlatforms = [ "build" "host" ]; + configurePlatforms = [ + "build" + "host" + ]; configureFlags = [ - "--enable-targets=all" "--enable-64-bit-bfd" + "--enable-targets=all" + "--enable-64-bit-bfd" "--enable-install-libbfd" "--enable-shared" ]; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 4d90fa66ea7da..e9d864f993c3b 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -2,24 +2,27 @@ let withGold = platform: platform.isElf && !platform.isRiscV && !platform.isLoongArch64; in -{ stdenv -, autoconf269, automake, libtool -, bison -, buildPackages -, fetchFromGitHub -, fetchurl -, gettext -, lib -, noSysDirs -, perl -, zlib -, CoreServices - -, enableGold ? withGold stdenv.targetPlatform -, enableGoldDefault ? false -, enableShared ? !stdenv.hostPlatform.isStatic +{ + stdenv, + autoconf269, + automake, + libtool, + bison, + buildPackages, + fetchFromGitHub, + fetchurl, + gettext, + lib, + noSysDirs, + perl, + zlib, + CoreServices, + + enableGold ? withGold stdenv.targetPlatform, + enableGoldDefault ? false, + enableShared ? !stdenv.hostPlatform.isStatic, # WARN: Enabling all targets increases output size to a multiple. -, withAllTargets ? false + withAllTargets ? false, }: # WARN: configure silently disables ld.gold if it's unsupported, so we need to @@ -27,7 +30,6 @@ in assert enableGold -> withGold stdenv.targetPlatform; assert enableGoldDefault -> enableGold; - let inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -54,7 +56,6 @@ stdenv.mkDerivation (finalAttrs: { # Make binutils output deterministic by default. ./deterministic.patch - # Breaks nm BSD flag detection, heeds an upstream fix: # https://sourceware.org/PR29547 ./0001-Revert-libtool.m4-fix-the-NM-nm-over-here-B-option-w.patch @@ -85,57 +86,73 @@ stdenv.mkDerivation (finalAttrs: { ./windres-locate-gcc.patch ]; - outputs = [ "out" "info" "man" "dev" ] - # Ideally we would like to always install 'lib' into a separate - # target. Unfortunately cross-compiled binutils installs libraries - # across both `$lib/lib/` and `$out/$target/lib` with a reference - # from $out to $lib. Probably a binutils bug: all libraries should go - # to $lib as binutils does not build target libraries. Let's make our - # life slightly simpler by installing everything into $out for - # cross-binutils. - ++ lib.optionals (targetPlatform == hostPlatform) [ "lib" ]; + outputs = + [ + "out" + "info" + "man" + "dev" + ] + # Ideally we would like to always install 'lib' into a separate + # target. Unfortunately cross-compiled binutils installs libraries + # across both `$lib/lib/` and `$out/$target/lib` with a reference + # from $out to $lib. Probably a binutils bug: all libraries should go + # to $lib as binutils does not build target libraries. Let's make our + # life slightly simpler by installing everything into $out for + # cross-binutils. + ++ lib.optionals (targetPlatform == hostPlatform) [ "lib" ]; strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; # texinfo was removed here in https://github.com/NixOS/nixpkgs/pull/210132 # to reduce rebuilds during stdenv bootstrap. Please don't add it back without # checking the impact there first. - nativeBuildInputs = [ - bison - perl - ] - ++ lib.optionals buildPlatform.isDarwin [ autoconf269 automake gettext libtool ] - ; - - buildInputs = [ zlib gettext ] ++ lib.optionals hostPlatform.isDarwin [ CoreServices ]; + nativeBuildInputs = + [ + bison + perl + ] + ++ lib.optionals buildPlatform.isDarwin [ + autoconf269 + automake + gettext + libtool + ]; + + buildInputs = [ + zlib + gettext + ] ++ lib.optionals hostPlatform.isDarwin [ CoreServices ]; inherit noSysDirs; - preConfigure = (lib.optionalString buildPlatform.isDarwin '' - for i in */configure.ac; do - pushd "$(dirname "$i")" - echo "Running autoreconf in $PWD" - # autoreconf doesn't work, don't know why - # autoreconf ''${autoreconfFlags:---install --force --verbose} - autoconf - popd - done - '') + '' - # Clear the default library search path. - if test "$noSysDirs" = "1"; then - echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt - fi - - # Use symlinks instead of hard links to save space ("strip" in the - # fixup phase strips each hard link separately). - for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do - sed -i "$i" -e 's|ln |ln -s |' - done - - # autoreconfHook is not included for all targets. - # Call it here explicitly as well. - ${finalAttrs.postAutoreconf} - ''; + preConfigure = + (lib.optionalString buildPlatform.isDarwin '' + for i in */configure.ac; do + pushd "$(dirname "$i")" + echo "Running autoreconf in $PWD" + # autoreconf doesn't work, don't know why + # autoreconf ''${autoreconfFlags:---install --force --verbose} + autoconf + popd + done + '') + + '' + # Clear the default library search path. + if test "$noSysDirs" = "1"; then + echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt + fi + + # Use symlinks instead of hard links to save space ("strip" in the + # fixup phase strips each hard link separately). + for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do + sed -i "$i" -e 's|ln |ln -s |' + done + + # autoreconfHook is not included for all targets. + # Call it here explicitly as well. + ${finalAttrs.postAutoreconf} + ''; postAutoreconf = '' # As we regenerated configure build system tries hard to use @@ -155,67 +172,91 @@ stdenv.mkDerivation (finalAttrs: { # LONG_MIN. The configure test itself succeeds but the compiler issues a # warning about -static-libgcc being unused. env.NIX_CFLAGS_COMPILE = - if (hostPlatform.isDarwin || hostPlatform.isFreeBSD) - then "-Wno-string-plus-int -Wno-deprecated-declarations" - else "-static-libgcc"; - - hardeningDisable = [ "format" "pie" ]; - - configurePlatforms = [ "build" "host" "target" ]; - - configureFlags = [ - "--enable-64-bit-bfd" - "--with-system-zlib" - - "--enable-deterministic-archives" - "--disable-werror" - "--enable-fix-loongson2f-nop" - - # Turn on --enable-new-dtags by default to make the linker set - # RUNPATH instead of RPATH on binaries. This is important because - # RUNPATH can be overridden using LD_LIBRARY_PATH at runtime. - "--enable-new-dtags" - - # force target prefix. Some versions of binutils will make it empty if - # `--host` and `--target` are too close, even if Nixpkgs thinks the - # platforms are different (e.g. because not all the info makes the - # `config`). Other versions of binutils will always prefix if `--target` is - # passed, even if `--host` and `--target` are the same. The easiest thing - # for us to do is not leave it to chance, and force the program prefix to be - # what we want it to be. - "--program-prefix=${targetPrefix}" - - # Unconditionally disable: - # - musl target needs porting: https://sourceware.org/PR29477 - "--disable-gprofng" - - # By default binutils searches $libdir for libraries. This brings in - # libbfd and libopcodes into a default visibility. Drop default lib - # path to force users to declare their use of these libraries. - "--with-lib-path=:" - ] - ++ lib.optionals withAllTargets [ "--enable-targets=all" ] - ++ lib.optionals enableGold [ - "--enable-gold${lib.optionalString enableGoldDefault "=default"}" - "--enable-plugins" - ] ++ (if enableShared - then [ "--enable-shared" "--disable-static" ] - else [ "--disable-shared" "--enable-static" ]) - ++ (lib.optionals (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") [ - # lld17+ passes `--no-undefined-version` by default and makes this a hard - # error; libctf.ver version script references symbols that aren't present. - # - # This is fixed upstream and can be removed with the future release of 2.43. - # For now we allow this with `--undefined-version`: - "LDFLAGS=-Wl,--undefined-version" - ]) - ; + if (hostPlatform.isDarwin || hostPlatform.isFreeBSD) then + "-Wno-string-plus-int -Wno-deprecated-declarations" + else + "-static-libgcc"; + + hardeningDisable = [ + "format" + "pie" + ]; + + configurePlatforms = [ + "build" + "host" + "target" + ]; + + configureFlags = + [ + "--enable-64-bit-bfd" + "--with-system-zlib" + + "--enable-deterministic-archives" + "--disable-werror" + "--enable-fix-loongson2f-nop" + + # Turn on --enable-new-dtags by default to make the linker set + # RUNPATH instead of RPATH on binaries. This is important because + # RUNPATH can be overridden using LD_LIBRARY_PATH at runtime. + "--enable-new-dtags" + + # force target prefix. Some versions of binutils will make it empty if + # `--host` and `--target` are too close, even if Nixpkgs thinks the + # platforms are different (e.g. because not all the info makes the + # `config`). Other versions of binutils will always prefix if `--target` is + # passed, even if `--host` and `--target` are the same. The easiest thing + # for us to do is not leave it to chance, and force the program prefix to be + # what we want it to be. + "--program-prefix=${targetPrefix}" + + # Unconditionally disable: + # - musl target needs porting: https://sourceware.org/PR29477 + "--disable-gprofng" + + # By default binutils searches $libdir for libraries. This brings in + # libbfd and libopcodes into a default visibility. Drop default lib + # path to force users to declare their use of these libraries. + "--with-lib-path=:" + ] + ++ lib.optionals withAllTargets [ "--enable-targets=all" ] + ++ lib.optionals enableGold [ + "--enable-gold${lib.optionalString enableGoldDefault "=default"}" + "--enable-plugins" + ] + ++ ( + if enableShared then + [ + "--enable-shared" + "--disable-static" + ] + else + [ + "--disable-shared" + "--enable-static" + ] + ) + ++ (lib.optionals (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") + [ + # lld17+ passes `--no-undefined-version` by default and makes this a hard + # error; libctf.ver version script references symbols that aren't present. + # + # This is fixed upstream and can be removed with the future release of 2.43. + # For now we allow this with `--undefined-version`: + "LDFLAGS=-Wl,--undefined-version" + ] + ); # Fails doCheck = false; # Break dependency on pkgsBuildBuild.gcc when building a cross-binutils - stripDebugList = if stdenv.hostPlatform != stdenv.targetPlatform then "bin lib ${stdenv.hostPlatform.config}" else null; + stripDebugList = + if stdenv.hostPlatform != stdenv.targetPlatform then + "bin lib ${stdenv.hostPlatform.config}" + else + null; # INFO: Otherwise it fails with: # `./sanity.sh: line 36: $out/bin/size: not found` @@ -255,7 +296,10 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://www.gnu.org/software/binutils/"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ ericson2314 lovesegfault ]; + maintainers = with maintainers; [ + ericson2314 + lovesegfault + ]; platforms = platforms.unix; # INFO: Give binutils a lower priority than gcc-wrapper to prevent a diff --git a/pkgs/development/tools/misc/binutils/libbfd.nix b/pkgs/development/tools/misc/binutils/libbfd.nix index c6ab2a6431d06..983c4f0c3db36 100644 --- a/pkgs/development/tools/misc/binutils/libbfd.nix +++ b/pkgs/development/tools/misc/binutils/libbfd.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, binutils-unwrapped-all-targets +{ + lib, + stdenv, + binutils-unwrapped-all-targets, }: stdenv.mkDerivation { diff --git a/pkgs/development/tools/misc/binutils/libopcodes.nix b/pkgs/development/tools/misc/binutils/libopcodes.nix index c8d3b78b29eb7..52f0f801cf671 100644 --- a/pkgs/development/tools/misc/binutils/libopcodes.nix +++ b/pkgs/development/tools/misc/binutils/libopcodes.nix @@ -1,5 +1,7 @@ -{ lib, stdenv -, binutils-unwrapped-all-targets +{ + lib, + stdenv, + binutils-unwrapped-all-targets, }: stdenv.mkDerivation { diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix index bf8d7c8186674..f68900c1fddf5 100644 --- a/pkgs/development/tools/misc/blackfire/default.nix +++ b/pkgs/development/tools/misc/blackfire/default.nix @@ -1,18 +1,21 @@ -{ stdenv -, lib -, fetchurl -, dpkg -, writeShellScript -, curl -, jq -, common-updater-scripts +{ + stdenv, + lib, + fetchurl, + dpkg, + writeShellScript, + curl, + jq, + common-updater-scripts, }: stdenv.mkDerivation rec { pname = "blackfire"; version = "2.28.20"; - src = passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform for blackfire: ${stdenv.hostPlatform.system}"); + src = + passthru.sources.${stdenv.hostPlatform.system} + or (throw "Unsupported platform for blackfire: ${stdenv.hostPlatform.system}"); nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ dpkg @@ -23,7 +26,7 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - if ${ lib.boolToString stdenv.hostPlatform.isLinux } + if ${lib.boolToString stdenv.hostPlatform.isLinux} then dpkg-deb -x $src $out mv $out/usr/* $out @@ -79,7 +82,13 @@ stdenv.mkDerivation rec { updateScript = writeShellScript "update-blackfire" '' set -o errexit - export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}" + export PATH="${ + lib.makeBinPath [ + curl + jq + common-updater-scripts + ] + }" NEW_VERSION=$(curl -s https://blackfire.io/api/v1/releases | jq .cli --raw-output) if [[ "${version}" = "$NEW_VERSION" ]]; then @@ -99,6 +108,12 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ shyim ]; - platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "i686-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; } diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix index 4e280e5f3bdd3..87bc0d93efe69 100644 --- a/pkgs/development/tools/misc/blackfire/php-probe.nix +++ b/pkgs/development/tools/misc/blackfire/php-probe.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, php -, writeShellScript -, curl -, jq -, common-updater-scripts +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + php, + writeShellScript, + curl, + jq, + common-updater-scripts, }: assert lib.assertMsg (!php.ztsSupport) "blackfire only supports non zts versions of PHP"; @@ -60,17 +61,22 @@ let }; }; - makeSource = { system, phpMajor }: + makeSource = + { system, phpMajor }: let isLinux = builtins.match ".+-linux" system != null; in fetchurl { - url = "https://packages.blackfire.io/binaries/blackfire-php/${version}/blackfire-php-${if isLinux then "linux" else "darwin"}_${hashes.${system}.system}-php-${builtins.replaceStrings [ "." ] [ "" ] phpMajor}.so"; + url = "https://packages.blackfire.io/binaries/blackfire-php/${version}/blackfire-php-${ + if isLinux then "linux" else "darwin" + }_${hashes.${system}.system}-php-${builtins.replaceStrings [ "." ] [ "" ] phpMajor}.so"; hash = hashes.${system}.hash.${phpMajor}; }; in -assert lib.assertMsg (hashes ? ${system}.hash.${phpMajor}) "blackfire does not support PHP version ${phpMajor} on ${system}."; +assert lib.assertMsg ( + hashes ? ${system}.hash.${phpMajor} +) "blackfire does not support PHP version ${phpMajor} on ${system}."; stdenv.mkDerivation (finalAttrs: { pname = "php-blackfire"; @@ -100,7 +106,13 @@ stdenv.mkDerivation (finalAttrs: { passthru = { updateScript = writeShellScript "update-${finalAttrs.pname}" '' set -o errexit - export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}" + export PATH="${ + lib.makeBinPath [ + curl + jq + common-updater-scripts + ] + }" NEW_VERSION=$(curl --silent https://blackfire.io/api/v1/releases | jq .probe.php --raw-output) if [[ "${version}" = "$NEW_VERSION" ]]; then @@ -116,15 +128,16 @@ stdenv.mkDerivation (finalAttrs: { # All sources for updating by the update script. updateables = let - createName = { phpMajor, system }: - "php${builtins.replaceStrings [ "." ] [ "" ] phpMajor}_${system}"; + createName = + { phpMajor, system }: "php${builtins.replaceStrings [ "." ] [ "" ] phpMajor}_${system}"; - createUpdateable = sourceParams: - lib.nameValuePair - (createName sourceParams) - (finalAttrs.finalPackage.overrideAttrs (attrs: { + createUpdateable = + sourceParams: + lib.nameValuePair (createName sourceParams) ( + finalAttrs.finalPackage.overrideAttrs (attrs: { src = makeSource sourceParams; - })); + }) + ); in lib.concatMapAttrs ( system: @@ -139,7 +152,13 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://blackfire.io/"; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ shyim ]; - platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "i686-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/development/tools/misc/chruby/default.nix b/pkgs/development/tools/misc/chruby/default.nix index 10d6d2e7d020c..279c1238f055a 100644 --- a/pkgs/development/tools/misc/chruby/default.nix +++ b/pkgs/development/tools/misc/chruby/default.nix @@ -1,13 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, runCommand, rubies ? null }: +{ + stdenv, + lib, + fetchFromGitHub, + runCommand, + rubies ? null, +}: let rubiesEnv = runCommand "chruby-env" { preferLocalBuild = true; } '' mkdir $out - ${lib.concatStrings - (lib.mapAttrsToList (name: path: "ln -s ${path} $out/${name}\n") rubies)} + ${lib.concatStrings (lib.mapAttrsToList (name: path: "ln -s ${path} $out/${name}\n") rubies)} ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "chruby"; version = "0.3.9"; diff --git a/pkgs/development/tools/misc/cmake-language-server/default.nix b/pkgs/development/tools/misc/cmake-language-server/default.nix index 5b8cc307cb044..db14eb249dfc1 100644 --- a/pkgs/development/tools/misc/cmake-language-server/default.nix +++ b/pkgs/development/tools/misc/cmake-language-server/default.nix @@ -1,13 +1,14 @@ -{ lib -, buildPythonApplication -, pythonOlder -, fetchFromGitHub -, pdm-backend -, cmake-format -, pygls -, cmake -, pytest-datadir -, pytestCheckHook +{ + lib, + buildPythonApplication, + pythonOlder, + fetchFromGitHub, + pdm-backend, + cmake-format, + pygls, + cmake, + pytest-datadir, + pytestCheckHook, }: buildPythonApplication rec { diff --git a/pkgs/development/tools/misc/coreboot-toolchain/default.nix b/pkgs/development/tools/misc/coreboot-toolchain/default.nix index a7a923a6d4842..523c261d1619a 100644 --- a/pkgs/development/tools/misc/coreboot-toolchain/default.nix +++ b/pkgs/development/tools/misc/coreboot-toolchain/default.nix @@ -104,4 +104,3 @@ lib.listToAttrs ( "ppc64" ] ) - diff --git a/pkgs/development/tools/misc/creduce/default.nix b/pkgs/development/tools/misc/creduce/default.nix index a8b6acb1e3f93..a893a0acb8a18 100644 --- a/pkgs/development/tools/misc/creduce/default.nix +++ b/pkgs/development/tools/misc/creduce/default.nix @@ -1,9 +1,16 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, makeWrapper -, llvm, libclang -, flex -, zlib -, perlPackages -, util-linux +{ + lib, + stdenv, + fetchurl, + fetchpatch, + cmake, + makeWrapper, + llvm, + libclang, + flex, + zlib, + perlPackages, + util-linux, }: stdenv.mkDerivation rec { @@ -32,26 +39,42 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "-std=c++11" "-std=c++17" - '' - # On Linux, c-reduce's preferred way to reason about - # the cpu architecture/topology is to use 'lscpu', - # so let's make sure it knows where to find it: - + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace creduce/creduce_utils.pm --replace \ - lscpu ${util-linux}/bin/lscpu - ''; + postPatch = + '' + substituteInPlace CMakeLists.txt \ + --replace "-std=c++11" "-std=c++17" + '' + # On Linux, c-reduce's preferred way to reason about + # the cpu architecture/topology is to use 'lscpu', + # so let's make sure it knows where to find it: + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace creduce/creduce_utils.pm --replace \ + lscpu ${util-linux}/bin/lscpu + ''; - nativeBuildInputs = [ cmake makeWrapper llvm.dev ]; - buildInputs = [ - # Ensure stdenv's CC is on PATH before clang-unwrapped - stdenv.cc - # Actual deps: - llvm libclang - flex zlib - ] ++ (with perlPackages; [ perl ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey ]); + nativeBuildInputs = [ + cmake + makeWrapper + llvm.dev + ]; + buildInputs = + [ + # Ensure stdenv's CC is on PATH before clang-unwrapped + stdenv.cc + # Actual deps: + llvm + libclang + flex + zlib + ] + ++ (with perlPackages; [ + perl + ExporterLite + FileWhich + GetoptTabular + RegexpCommon + TermReadKey + ]); postInstall = '' wrapProgram $out/bin/creduce --prefix PERL5LIB : "$PERL5LIB" diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix index fadc3b3830ce7..5d3bd729129d1 100644 --- a/pkgs/development/tools/misc/ctags/default.nix +++ b/pkgs/development/tools/misc/ctags/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchsvn, autoreconfHook }: +{ + lib, + stdenv, + fetchsvn, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "ctags"; @@ -13,7 +18,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; # don't use $T(E)MP which is set to the build directory - configureFlags= [ "--enable-tmpdir=/tmp" ]; + configureFlags = [ "--enable-tmpdir=/tmp" ]; patches = [ # Library defines an `__unused__` which is a reserved name, and may diff --git a/pkgs/development/tools/misc/cvise/default.nix b/pkgs/development/tools/misc/cvise/default.nix index 26aacff8256d4..7dc6d534eaaae 100644 --- a/pkgs/development/tools/misc/cvise/default.nix +++ b/pkgs/development/tools/misc/cvise/default.nix @@ -1,17 +1,18 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, clang-tools -, cmake -, colordiff -, flex -, libclang -, llvm -, unifdef -, chardet -, pebble -, psutil -, pytestCheckHook +{ + lib, + buildPythonApplication, + fetchFromGitHub, + clang-tools, + cmake, + colordiff, + flex, + libclang, + llvm, + unifdef, + chardet, + pebble, + psutil, + pytestCheckHook, }: buildPythonApplication rec { diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix index 954312b729b55..cc5a704dcef01 100644 --- a/pkgs/development/tools/misc/distcc/default.nix +++ b/pkgs/development/tools/misc/distcc/default.nix @@ -1,8 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, popt, avahi, pkg-config, python3, gtk3, runCommand -, gcc, autoconf, automake, which, procps, libiberty_static -, runtimeShell -, sysconfDir ? "" # set this parameter to override the default value $out/etc -, static ? false +{ + lib, + stdenv, + fetchFromGitHub, + popt, + avahi, + pkg-config, + python3, + gtk3, + runCommand, + gcc, + autoconf, + automake, + which, + procps, + libiberty_static, + runtimeShell, + sysconfDir ? "", # set this parameter to override the default value $out/etc + static ? false, }: let @@ -18,12 +32,20 @@ let }; nativeBuildInputs = [ - pkg-config autoconf automake which + pkg-config + autoconf + automake + which (python3.withPackages (p: [ p.setuptools ])) ]; - buildInputs = [ popt avahi gtk3 procps libiberty_static ]; - preConfigure = - '' + buildInputs = [ + popt + avahi + gtk3 + procps + libiberty_static + ]; + preConfigure = '' export CPATH=$(ls -d ${gcc.cc}/lib/gcc/*/${gcc.cc.version}/plugin/include) configureFlagsArray=( CFLAGS="-O2 -fno-strict-aliasing" @@ -52,8 +74,9 @@ let # # extraConfig is meant to be sh lines exporting environment # variables like DISTCC_HOSTS, DISTCC_DIR, ... - links = extraConfig: (runCommand "distcc-links" { passthru.gcc = gcc.cc; } - '' + links = + extraConfig: + (runCommand "distcc-links" { passthru.gcc = gcc.cc; } '' mkdir -p $out/bin if [ -x "${gcc.cc}/bin/gcc" ]; then cat > $out/bin/gcc << EOF @@ -84,4 +107,4 @@ let }; }; in - distcc +distcc diff --git a/pkgs/development/tools/misc/distcc/masq.nix b/pkgs/development/tools/misc/distcc/masq.nix index 27840481a1091..78cbccb2c565f 100644 --- a/pkgs/development/tools/misc/distcc/masq.nix +++ b/pkgs/development/tools/misc/distcc/masq.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, gccRaw, binutils }: +{ + lib, + stdenv, + gccRaw, + binutils, +}: stdenv.mkDerivation { name = "distcc-masq-${gccRaw.name}"; diff --git a/pkgs/development/tools/misc/dura/default.nix b/pkgs/development/tools/misc/dura/default.nix index 34b966607a745..b6a76b78d6a16 100644 --- a/pkgs/development/tools/misc/dura/default.nix +++ b/pkgs/development/tools/misc/dura/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, openssl, pkg-config, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + Security, +}: rustPlatform.buildRustPackage rec { pname = "dura"; @@ -19,11 +27,13 @@ rustPlatform.buildRustPackage rec { doCheck = false; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix index a1f9120f314c1..f5103f9d0c2c6 100644 --- a/pkgs/development/tools/misc/edb/default.nix +++ b/pkgs/development/tools/misc/edb/default.nix @@ -1,5 +1,15 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone_4 -, double-conversion, graphviz, qtxmlpatterns }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + boost, + capstone_4, + double-conversion, + graphviz, + qtxmlpatterns, +}: mkDerivation rec { pname = "edb"; @@ -13,9 +23,18 @@ mkDerivation rec { hash = "sha256-1Q0eZS05L4sxzcPvEFdEaobO7JYHRu98Yf+n3ZnBi+E="; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ boost.dev capstone_4 double-conversion graphviz qtxmlpatterns ]; + buildInputs = [ + boost.dev + capstone_4 + double-conversion + graphviz + qtxmlpatterns + ]; postPatch = '' # Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice. @@ -37,7 +56,10 @@ mkDerivation rec { mainProgram = "edb"; homepage = "https://github.com/eteran/edb-debugger"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ lihop maxxk ]; + maintainers = with maintainers; [ + lihop + maxxk + ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix index 05fbd759ffcaa..bce63deb9f039 100644 --- a/pkgs/development/tools/misc/fswatch/default.nix +++ b/pkgs/development/tools/misc/fswatch/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook - # for xargs -, gettext -, libtool -, makeWrapper -, texinfo -, CoreServices +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + # for xargs + gettext, + libtool, + makeWrapper, + texinfo, + CoreServices, }: stdenv.mkDerivation rec { @@ -20,8 +22,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-gVYDvda+6ZJkShJXUxUEVxq4enkRrhdvlTTxYWq4Aho="; }; - nativeBuildInputs = [ autoreconfHook makeWrapper ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; - buildInputs = [ gettext libtool texinfo ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; + buildInputs = [ + gettext + libtool + texinfo + ]; enableParallelBuilding = true; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 19783b4075678..6dc6be7f442a3 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -1,29 +1,52 @@ -{ lib, stdenv, targetPackages - -# Build time -, fetchurl, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages - -# Run time -, ncurses, readline, gmp, mpfr, expat, libipt, zlib, zstd, xz, dejagnu, sourceHighlight, libiconv - -, pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null -, enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform elfutils, elfutils -, guile ? null -, hostCpuOnly ? false -, enableSim ? false -, safePaths ? [ - # $debugdir:$datadir/auto-load are whitelisted by default by GDB - "$debugdir" "$datadir/auto-load" - # targetPackages so we get the right libc when cross-compiling and using buildPackages.gdb - (lib.getLib targetPackages.stdenv.cc.cc) - ] -, writeScript +{ + lib, + stdenv, + targetPackages, + + # Build time + fetchurl, + pkg-config, + perl, + texinfo, + setupDebugInfoDirs, + buildPackages, + + # Run time + ncurses, + readline, + gmp, + mpfr, + expat, + libipt, + zlib, + zstd, + xz, + dejagnu, + sourceHighlight, + libiconv, + + pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, + python3 ? null, + enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform elfutils, + elfutils, + guile ? null, + hostCpuOnly ? false, + enableSim ? false, + safePaths ? [ + # $debugdir:$datadir/auto-load are whitelisted by default by GDB + "$debugdir" + "$datadir/auto-load" + # targetPackages so we get the right libc when cross-compiling and using buildPackages.gdb + (lib.getLib targetPackages.stdenv.cc.cc) + ], + writeScript, }: let basename = "gdb"; - targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) - "${stdenv.targetPlatform.config}-"; + targetPrefix = lib.optionalString ( + stdenv.targetPlatform != stdenv.hostPlatform + ) "${stdenv.targetPlatform.config}-"; in assert pythonSupport -> python3 != null; @@ -37,25 +60,47 @@ stdenv.mkDerivation rec { hash = "sha256-gzUMzTW1taDLprM0xBKU6paBWMVzlAkE8AuS92NFMU0="; }; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace gdb/darwin-nat.c \ - --replace '#include "bfd/mach-o.h"' '#include "mach-o.h"' - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace sim/erc32/erc32.c --replace sys/fcntl.h fcntl.h - substituteInPlace sim/erc32/interf.c --replace sys/fcntl.h fcntl.h - substituteInPlace sim/erc32/sis.c --replace sys/fcntl.h fcntl.h - substituteInPlace sim/ppc/emul_unix.c --replace sys/termios.h termios.h - ''; + postPatch = + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace gdb/darwin-nat.c \ + --replace '#include "bfd/mach-o.h"' '#include "mach-o.h"' + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' + substituteInPlace sim/erc32/erc32.c --replace sys/fcntl.h fcntl.h + substituteInPlace sim/erc32/interf.c --replace sys/fcntl.h fcntl.h + substituteInPlace sim/erc32/sis.c --replace sys/fcntl.h fcntl.h + substituteInPlace sim/ppc/emul_unix.c --replace sys/termios.h termios.h + ''; - patches = [ - ./debug-info-from-env.patch - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - ./darwin-target-match.patch + patches = + [ + ./debug-info-from-env.patch + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./darwin-target-match.patch + ]; + + nativeBuildInputs = [ + pkg-config + texinfo + perl + setupDebugInfoDirs ]; - nativeBuildInputs = [ pkg-config texinfo perl setupDebugInfoDirs ]; - - buildInputs = [ ncurses readline gmp mpfr expat libipt zlib zstd xz guile sourceHighlight ] + buildInputs = + [ + ncurses + readline + gmp + mpfr + expat + libipt + zlib + zstd + xz + guile + sourceHighlight + ] ++ lib.optional pythonSupport python3 ++ lib.optional doCheck dejagnu ++ lib.optional enableDebuginfod (elfutils.override { enableDebuginfod = true; }) @@ -72,7 +117,11 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral"; - configurePlatforms = [ "build" "host" "target" ]; + configurePlatforms = [ + "build" + "host" + "target" + ]; preConfigure = '' # remove precompiled docs, required for man gdbinit to mention /etc/gdb/gdbinit @@ -88,30 +137,36 @@ stdenv.mkDerivation rec { ''; configureScript = "../configure"; - configureFlags = [ - # Set the program prefix to the current targetPrefix. - # This ensures that the prefix always conforms to - # nixpkgs' expectations instead of relying on the build - # system which only receives `config` which is merely a - # subset of the platform description. - "--program-prefix=${targetPrefix}" - - "--disable-werror" - ] ++ lib.optional (!hostCpuOnly) "--enable-targets=all" ++ [ - "--enable-64-bit-bfd" - "--disable-install-libbfd" - "--disable-shared" "--enable-static" - "--with-system-zlib" - "--with-system-readline" - - "--with-system-gdbinit=/etc/gdb/gdbinit" - "--with-system-gdbinit-dir=/etc/gdb/gdbinit.d" - - "--with-gmp=${gmp.dev}" - "--with-mpfr=${mpfr.dev}" - "--with-expat" "--with-libexpat-prefix=${expat.dev}" - "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}" - ] ++ lib.optional (!pythonSupport) "--without-python" + configureFlags = + [ + # Set the program prefix to the current targetPrefix. + # This ensures that the prefix always conforms to + # nixpkgs' expectations instead of relying on the build + # system which only receives `config` which is merely a + # subset of the platform description. + "--program-prefix=${targetPrefix}" + + "--disable-werror" + ] + ++ lib.optional (!hostCpuOnly) "--enable-targets=all" + ++ [ + "--enable-64-bit-bfd" + "--disable-install-libbfd" + "--disable-shared" + "--enable-static" + "--with-system-zlib" + "--with-system-readline" + + "--with-system-gdbinit=/etc/gdb/gdbinit" + "--with-system-gdbinit-dir=/etc/gdb/gdbinit.d" + + "--with-gmp=${gmp.dev}" + "--with-mpfr=${mpfr.dev}" + "--with-expat" + "--with-libexpat-prefix=${expat.dev}" + "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}" + ] + ++ lib.optional (!pythonSupport) "--without-python" ++ lib.optional stdenv.hostPlatform.isMusl "--disable-nls" ++ lib.optional stdenv.hostPlatform.isStatic "--disable-inprocess-agent" ++ lib.optional enableDebuginfod "--with-debuginfod=yes" @@ -158,6 +213,10 @@ stdenv.mkDerivation rec { # upstream does not support targeting aarch64-darwin; # see https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/ badPlatforms = lib.optionals (stdenv.targetPlatform.system == "aarch64-darwin") meta.platforms; - maintainers = with lib.maintainers; [ pierron globin lsix ]; + maintainers = with lib.maintainers; [ + pierron + globin + lsix + ]; }; } diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix index 33d9da9f636e4..d58d874c7ccaf 100644 --- a/pkgs/development/tools/misc/gdbgui/default.nix +++ b/pkgs/development/tools/misc/gdbgui/default.nix @@ -1,13 +1,14 @@ -{ lib -, buildPythonApplication -, fetchPypi -, gdb -, eventlet -, flask-compress -, flask-socketio -, pygdbmi -, pygments -, }: +{ + lib, + buildPythonApplication, + fetchPypi, + gdb, + eventlet, + flask-compress, + flask-socketio, + pygdbmi, + pygments, +}: buildPythonApplication rec { pname = "gdbgui"; @@ -48,6 +49,9 @@ buildPythonApplication rec { homepage = "https://www.gdbgui.com/"; license = licenses.gpl3; platforms = platforms.unix; - maintainers = with maintainers; [ yrashk dump_stack ]; + maintainers = with maintainers; [ + yrashk + dump_stack + ]; }; } diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix index 6ae512657666c..1feff837877a0 100644 --- a/pkgs/development/tools/misc/gede/default.nix +++ b/pkgs/development/tools/misc/gede/default.nix @@ -1,4 +1,13 @@ -{ mkDerivation, lib, fetchurl, makeWrapper, python3, qmake, ctags, gdb }: +{ + mkDerivation, + lib, + fetchurl, + makeWrapper, + python3, + qmake, + ctags, + gdb, +}: mkDerivation rec { pname = "gede"; @@ -9,7 +18,11 @@ mkDerivation rec { sha256 = "sha256-RUl60iPa4XSlUilpYKaYQbRmLqthKHAvYonnhufjPsE="; }; - nativeBuildInputs = [ qmake makeWrapper python3 ]; + nativeBuildInputs = [ + qmake + makeWrapper + python3 + ]; buildInputs = [ ctags ]; @@ -22,7 +35,12 @@ mkDerivation rec { installPhase = '' python build.py install --verbose --prefix="$out" wrapProgram $out/bin/gede \ - --prefix PATH : ${lib.makeBinPath [ ctags gdb ]} + --prefix PATH : ${ + lib.makeBinPath [ + ctags + gdb + ] + } ''; meta = with lib; { diff --git a/pkgs/development/tools/misc/gperf/3.0.x.nix b/pkgs/development/tools/misc/gperf/3.0.x.nix index bceef7502a878..9fb2caa7b8457 100644 --- a/pkgs/development/tools/misc/gperf/3.0.x.nix +++ b/pkgs/development/tools/misc/gperf/3.0.x.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "gperf"; diff --git a/pkgs/development/tools/misc/gperf/default.nix b/pkgs/development/tools/misc/gperf/default.nix index bdc3b7a4a852d..150a0cf0c6e99 100644 --- a/pkgs/development/tools/misc/gperf/default.nix +++ b/pkgs/development/tools/misc/gperf/default.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "gperf"; diff --git a/pkgs/development/tools/misc/kdbg/default.nix b/pkgs/development/tools/misc/kdbg/default.nix index cd32840239445..f442bd5613414 100644 --- a/pkgs/development/tools/misc/kdbg/default.nix +++ b/pkgs/development/tools/misc/kdbg/default.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchurl, cmake, extra-cmake-modules, qt5, - ki18n, kconfig, kiconthemes, kxmlgui, kwindowsystem, - qtbase, makeWrapper, +{ + lib, + stdenv, + fetchurl, + cmake, + extra-cmake-modules, + qt5, + ki18n, + kconfig, + kiconthemes, + kxmlgui, + kwindowsystem, + qtbase, + makeWrapper, }: stdenv.mkDerivation rec { @@ -11,8 +22,19 @@ stdenv.mkDerivation rec { sha256 = "sha256-aLX/0GXof77NqQj7I7FUCZjyDtF1P8MJ4/NHJNm4Yr0="; }; - nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper ]; - buildInputs = [ qt5.qtbase ki18n kconfig kiconthemes kxmlgui kwindowsystem ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + makeWrapper + ]; + buildInputs = [ + qt5.qtbase + ki18n + kconfig + kiconthemes + kxmlgui + kwindowsystem + ]; postInstall = '' wrapProgram $out/bin/kdbg --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix index 6970d2a94ec9a..2fcc7a03626d7 100644 --- a/pkgs/development/tools/misc/libtool/default.nix +++ b/pkgs/development/tools/misc/libtool/default.nix @@ -1,4 +1,10 @@ -{lib, stdenv, fetchurl, m4, perl}: +{ + lib, + stdenv, + fetchurl, + m4, + perl, +}: stdenv.mkDerivation rec { pname = "libtool"; @@ -9,8 +15,8 @@ stdenv.mkDerivation rec { sha256 = "029ggq5kri1gjn6nfqmgw4w920gyfzscjjxbsxxidal5zqsawd8w"; }; - nativeBuildInputs = [m4]; - buildInputs = [perl]; + nativeBuildInputs = [ m4 ]; + buildInputs = [ perl ]; # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! diff --git a/pkgs/development/tools/misc/linuxkit/default.nix b/pkgs/development/tools/misc/linuxkit/default.nix index ec721340b34c8..bad149ffeed63 100644 --- a/pkgs/development/tools/misc/linuxkit/default.nix +++ b/pkgs/development/tools/misc/linuxkit/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, git, Cocoa, Virtualization, sigtool, testers, linuxkit }: +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + git, + Cocoa, + Virtualization, + sigtool, + testers, + linuxkit, +}: buildGoModule rec { pname = "linuxkit"; @@ -25,7 +36,10 @@ buildGoModule rec { # - sigtool is allows us to validly sign such executables with a dummy # authority. nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ sigtool ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa Virtualization ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + Virtualization + ]; ldflags = [ "-s" diff --git a/pkgs/development/tools/misc/lttng-ust/generic.nix b/pkgs/development/tools/misc/lttng-ust/generic.nix index 24d022e4d8512..6125bfb7dbbe3 100644 --- a/pkgs/development/tools/misc/lttng-ust/generic.nix +++ b/pkgs/development/tools/misc/lttng-ust/generic.nix @@ -1,6 +1,14 @@ { version, sha256 }: -{ lib, stdenv, fetchurl, pkg-config, liburcu, numactl, python3 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + liburcu, + numactl, + python3, +}: # NOTE: # ./configure ... @@ -22,10 +30,18 @@ stdenv.mkDerivation rec { inherit sha256; }; - outputs = [ "bin" "out" "dev" "devdoc" ]; + outputs = [ + "bin" + "out" + "dev" + "devdoc" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ numactl python3 ]; + buildInputs = [ + numactl + python3 + ]; preConfigure = '' patchShebangs . @@ -43,7 +59,11 @@ stdenv.mkDerivation rec { description = "LTTng Userspace Tracer libraries"; mainProgram = "lttng-gen-tp"; homepage = "https://lttng.org/"; - license = with licenses; [ lgpl21Only gpl2Only mit ]; + license = with licenses; [ + lgpl21Only + gpl2Only + mit + ]; platforms = lib.intersectLists platforms.linux liburcu.meta.platforms; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index b15924b34f3c5..c0caa152c91ed 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -1,26 +1,26 @@ /* -This is a minimal/manual luarocks derivation used by `buildLuarocksPackage` to install lua packages. - -As a nix user, you should use the generated lua.pkgs.luarocks that contains a luarocks manifest -which makes it recognizable to luarocks. -Generating the manifest for luarocks_bootstrap seemed too hackish, which is why we end up -with two "luarocks" derivations. + This is a minimal/manual luarocks derivation used by `buildLuarocksPackage` to install lua packages. + As a nix user, you should use the generated lua.pkgs.luarocks that contains a luarocks manifest + which makes it recognizable to luarocks. + Generating the manifest for luarocks_bootstrap seemed too hackish, which is why we end up + with two "luarocks" derivations. */ -{ lib -, stdenv -, fetchFromGitHub -, curl -, makeWrapper -, which -, unzip -, lua +{ + lib, + stdenv, + fetchFromGitHub, + curl, + makeWrapper, + which, + unzip, + lua, # for 'luarocks pack' -, zip -, nix-update-script + zip, + nix-update-script, # some packages need to be compiled with cmake -, cmake -, installShellFiles + cmake, + installShellFiles, }: stdenv.mkDerivation (finalAttrs: { @@ -59,40 +59,53 @@ stdenv.mkDerivation (finalAttrs: { fi ''; - nativeBuildInputs = [ makeWrapper installShellFiles lua unzip ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + lua + unzip + ]; - buildInputs = [ curl which ]; + buildInputs = [ + curl + which + ]; - postInstall = '' - sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/* - substituteInPlace $out/etc/luarocks/* \ - --replace-quiet '${lua.luaOnBuild}' '${lua}' - '' + postInstall = + '' + sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/* + substituteInPlace $out/etc/luarocks/* \ + --replace-quiet '${lua.luaOnBuild}' '${lua}' + '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd luarocks \ - --bash <($out/bin/luarocks completion bash) \ - --fish <($out/bin/luarocks completion fish) \ - --zsh <($out/bin/luarocks completion zsh) - - installShellCompletion --cmd luarocks-admin \ - --bash <($out/bin/luarocks-admin completion bash) \ - --fish <($out/bin/luarocks-admin completion fish) \ - --zsh <($out/bin/luarocks-admin completion zsh) - '' - + '' - for i in "$out"/bin/*; do - test -L "$i" || { - wrapProgram "$i" \ - --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \ - --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ - --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \ - --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ - --suffix PATH : ${lib.makeBinPath finalAttrs.propagatedBuildInputs} - } - done - ''; - - propagatedBuildInputs = [ zip unzip cmake ]; + installShellCompletion --cmd luarocks \ + --bash <($out/bin/luarocks completion bash) \ + --fish <($out/bin/luarocks completion fish) \ + --zsh <($out/bin/luarocks completion zsh) + + installShellCompletion --cmd luarocks-admin \ + --bash <($out/bin/luarocks-admin completion bash) \ + --fish <($out/bin/luarocks-admin completion fish) \ + --zsh <($out/bin/luarocks-admin completion zsh) + '' + + '' + for i in "$out"/bin/*; do + test -L "$i" || { + wrapProgram "$i" \ + --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \ + --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ + --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \ + --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ + --suffix PATH : ${lib.makeBinPath finalAttrs.propagatedBuildInputs} + } + done + ''; + + propagatedBuildInputs = [ + zip + unzip + cmake + ]; # unpack hook for src.rock and rockspec files setupHook = ./setup-hook.sh; @@ -116,7 +129,10 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Package manager for Lua"; license = licenses.mit; - maintainers = with maintainers; [ raskin teto ]; + maintainers = with maintainers; [ + raskin + teto + ]; mainProgram = "luarocks"; platforms = platforms.linux ++ platforms.darwin; downloadPage = "http://luarocks.org/releases/"; diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix index 1a0466596fdc3..21bfcb3506ecc 100644 --- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix +++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix @@ -1,8 +1,9 @@ -{ luarocks_bootstrap -, fetchFromGitHub -, unstableGitUpdater -, nurl -, file +{ + luarocks_bootstrap, + fetchFromGitHub, + unstableGitUpdater, + nurl, + file, }: luarocks_bootstrap.overrideAttrs (old: { @@ -32,7 +33,12 @@ luarocks_bootstrap.overrideAttrs (old: { # old.meta // { /* ... */ } doesn't update meta.position, which breaks the updateScript meta = { - inherit (old.meta) description license maintainers platforms; + inherit (old.meta) + description + license + maintainers + platforms + ; mainProgram = "luarocks"; }; }) diff --git a/pkgs/development/tools/misc/mdl/default.nix b/pkgs/development/tools/misc/mdl/default.nix index 105dbb6af2998..77720c8435d68 100644 --- a/pkgs/development/tools/misc/mdl/default.nix +++ b/pkgs/development/tools/misc/mdl/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "mdl"; @@ -11,7 +15,12 @@ bundlerApp { description = "Tool to check markdown files and flag style issues"; homepage = "https://github.com/markdownlint/markdownlint"; license = licenses.mit; - maintainers = with maintainers; [ gerschtli manveru nicknovitski totoroot ]; + maintainers = with maintainers; [ + gerschtli + manveru + nicknovitski + totoroot + ]; platforms = platforms.all; }; } diff --git a/pkgs/development/tools/misc/mdl/gemset.nix b/pkgs/development/tools/misc/mdl/gemset.nix index 7c9f7b003789d..91f6ba380735c 100644 --- a/pkgs/development/tools/misc/mdl/gemset.nix +++ b/pkgs/development/tools/misc/mdl/gemset.nix @@ -1,105 +1,111 @@ { chef-utils = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ckbnra3cs71syrvfhgcrg1icqxh6pj21by2f9sy6r6kbr19g4w3"; type = "gem"; }; version = "18.1.0"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5"; type = "gem"; }; version = "1.2.0"; }; kramdown = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn"; type = "gem"; }; version = "2.4.0"; }; kramdown-parser-gfm = { - dependencies = ["kramdown"]; - groups = ["default"]; - platforms = []; + dependencies = [ "kramdown" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; type = "gem"; }; version = "1.1.0"; }; mdl = { - dependencies = ["kramdown" "kramdown-parser-gfm" "mixlib-cli" "mixlib-config" "mixlib-shellout"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "kramdown" + "kramdown-parser-gfm" + "mixlib-cli" + "mixlib-config" + "mixlib-shellout" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a463jx8v4a3lgmmfalq73c337d66hc21q4vnfar1qf4lhk5wyi0"; type = "gem"; }; version = "0.13.0"; }; mixlib-cli = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ydxlfgd7nnj3rp1y70k4yk96xz5cywldjii2zbnw3sq9pippwp6"; type = "gem"; }; version = "2.1.8"; }; mixlib-config = { - dependencies = ["tomlrb"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tomlrb" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j0122lv2qgccl61njqi0pj6sp6nb85y07gcmw16bwg4k0c8nx6p"; type = "gem"; }; version = "3.0.27"; }; mixlib-shellout = { - dependencies = ["chef-utils"]; - groups = ["default"]; - platforms = []; + dependencies = [ "chef-utils" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zkwg76y96nkh1mv0k92ybq46cr06v1wmic16129ls3yqzwx3xj6"; type = "gem"; }; version = "3.2.7"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; tomlrb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xyl2nlfm39lklyaf0p7zj9psr60jvrlyfh26hrpk7wi4k7nlwy2"; type = "gem"; }; diff --git a/pkgs/development/tools/misc/nixbang/default.nix b/pkgs/development/tools/misc/nixbang/default.nix index d4541b76ba060..0cb6f1c24b74b 100644 --- a/pkgs/development/tools/misc/nixbang/default.nix +++ b/pkgs/development/tools/misc/nixbang/default.nix @@ -1,4 +1,8 @@ -{ lib, pythonPackages, fetchFromGitHub }: +{ + lib, + pythonPackages, + fetchFromGitHub, +}: pythonPackages.buildPythonApplication rec { pname = "nixbang"; diff --git a/pkgs/development/tools/misc/one_gadget/default.nix b/pkgs/development/tools/misc/one_gadget/default.nix index f1fbd4a0356a8..d03d231e3744b 100644 --- a/pkgs/development/tools/misc/one_gadget/default.nix +++ b/pkgs/development/tools/misc/one_gadget/default.nix @@ -1,4 +1,10 @@ -{ lib, binutils, bundlerApp, bundlerUpdateScript, makeWrapper }: +{ + lib, + binutils, + bundlerApp, + bundlerUpdateScript, + makeWrapper, +}: bundlerApp { pname = "one_gadget"; @@ -15,10 +21,13 @@ bundlerApp { meta = with lib; { description = "Best tool for finding one gadget RCE in libc.so.6"; - homepage = "https://github.com/david942j/one_gadget"; - license = licenses.mit; - maintainers = with maintainers; [ artemist nicknovitski ]; + homepage = "https://github.com/david942j/one_gadget"; + license = licenses.mit; + maintainers = with maintainers; [ + artemist + nicknovitski + ]; mainProgram = "one_gadget"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/misc/one_gadget/gemset.nix b/pkgs/development/tools/misc/one_gadget/gemset.nix index c1127a8b6c6a2..856aaa446ccad 100644 --- a/pkgs/development/tools/misc/one_gadget/gemset.nix +++ b/pkgs/development/tools/misc/one_gadget/gemset.nix @@ -1,31 +1,31 @@ { bindata = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19"; type = "gem"; }; version = "2.5.0"; }; elftools = { - dependencies = ["bindata"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bindata" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p96wj4sz3sfv9yxyl8z530554bkbf82vj24w6x7yf91qa1p8z6i"; type = "gem"; }; version = "1.1.3"; }; one_gadget = { - dependencies = ["elftools"]; - groups = ["default"]; - platforms = []; + dependencies = [ "elftools" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9478h929jm5hq2fs3v8y37a7y2hhpli90mbps7yvka4ykci7mw"; type = "gem"; }; diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index d079f08a294ae..7b65465a2b10e 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -21,7 +25,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # fails 8 out of 24 tests, problems when loading libc.so.6 - doCheck = stdenv.name == "stdenv-linux" + doCheck = + stdenv.name == "stdenv-linux" # test scripts require unprefixed bintools binaries # https://github.com/NixOS/patchelf/issues/417 && stdenv.cc.targetPrefix == ""; diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix index 9e9775dcf71eb..7eabdae30648e 100644 --- a/pkgs/development/tools/misc/premake/3.nix +++ b/pkgs/development/tools/misc/premake/3.nix @@ -1,8 +1,13 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "premake"; - version = "3.7"; + version = "3.7"; src = fetchurl { url = "mirror://sourceforge/sourceforge/premake/premake-src-${version}.zip"; diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix index e84d2a57c9430..3821dc5f385a6 100644 --- a/pkgs/development/tools/misc/premake/5.nix +++ b/pkgs/development/tools/misc/premake/5.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, libuuid, cacert, Foundation, readline }: +{ + lib, + stdenv, + fetchFromGitHub, + libuuid, + cacert, + Foundation, + readline, +}: stdenv.mkDerivation rec { pname = "premake5"; @@ -11,34 +19,47 @@ stdenv.mkDerivation rec { sha256 = "sha256-2R5gq4jaQsp8Ny1oGuIYkef0kn2UG9jMf20vq0714oY="; }; - buildInputs = [ libuuid ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation readline ]; + buildInputs = + [ libuuid ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + readline + ]; patches = [ ./no-curl-ca.patch ]; - postPatch = '' - substituteInPlace contrib/curl/premake5.lua \ - --replace "ca = nil" "ca = '${cacert}/etc/ssl/certs/ca-bundle.crt'" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace premake5.lua \ - --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5 \ - --replace-fail '"-arch arm64"' '""' \ - --replace-fail '"-arch x86_64"' '""' - '' + lib.optionalString stdenv.hostPlatform.isStatic '' - substituteInPlace \ - binmodules/example/premake5.lua \ - binmodules/luasocket/premake5.lua \ - --replace SharedLib StaticLib - ''; + postPatch = + '' + substituteInPlace contrib/curl/premake5.lua \ + --replace "ca = nil" "ca = '${cacert}/etc/ssl/certs/ca-bundle.crt'" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace premake5.lua \ + --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5 \ + --replace-fail '"-arch arm64"' '""' \ + --replace-fail '"-arch x86_64"' '""' + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + substituteInPlace \ + binmodules/example/premake5.lua \ + binmodules/luasocket/premake5.lua \ + --replace SharedLib StaticLib + ''; buildPhase = - if stdenv.hostPlatform.isDarwin then '' - make -f Bootstrap.mak osx - '' else '' - make -f Bootstrap.mak linux - ''; + if stdenv.hostPlatform.isDarwin then + '' + make -f Bootstrap.mak osx + '' + else + '' + make -f Bootstrap.mak linux + ''; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=implicit-function-declaration" + ] + ); installPhase = '' install -Dm755 bin/release/premake5 $out/bin/premake5 diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix index 9987cb2d0b9b2..1435c2c4c5785 100644 --- a/pkgs/development/tools/misc/premake/default.nix +++ b/pkgs/development/tools/misc/premake/default.nix @@ -1,8 +1,13 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "premake"; - version = "4.3"; + version = "4.3"; src = fetchurl { url = "mirror://sourceforge/premake/premake-${version}-src.zip"; diff --git a/pkgs/development/tools/misc/pwninit/default.nix b/pkgs/development/tools/misc/pwninit/default.nix index d67c7e6406117..7a616761311d4 100644 --- a/pkgs/development/tools/misc/pwninit/default.nix +++ b/pkgs/development/tools/misc/pwninit/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, openssl -, elfutils -, makeBinaryWrapper -, pkg-config -, xz -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + elfutils, + makeBinaryWrapper, + pkg-config, + xz, + Security, }: rustPlatform.buildRustPackage rec { @@ -21,8 +22,14 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-tbZS7PdRFvO2ifoHA/w3cSPfqqHrLeLHAg6V8oG9gVE="; }; - buildInputs = [ openssl xz ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - nativeBuildInputs = [ pkg-config makeBinaryWrapper ]; + buildInputs = [ + openssl + xz + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + nativeBuildInputs = [ + pkg-config + makeBinaryWrapper + ]; postInstall = '' wrapProgram $out/bin/pwninit \ --prefix PATH : "${lib.getBin elfutils}/bin" diff --git a/pkgs/development/tools/misc/qtspim/default.nix b/pkgs/development/tools/misc/qtspim/default.nix index 15fd8dd13b2c7..42c927e5b32d6 100644 --- a/pkgs/development/tools/misc/qtspim/default.nix +++ b/pkgs/development/tools/misc/qtspim/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchsvn, wrapQtAppsHook, qtbase, qttools, qmake, bison, flex, ... }: +{ + lib, + stdenv, + fetchsvn, + wrapQtAppsHook, + qtbase, + qttools, + qmake, + bison, + flex, + ... +}: stdenv.mkDerivation rec { pname = "qtspim"; version = "9.1.23"; @@ -21,7 +32,13 @@ stdenv.mkDerivation rec { --replace /usr/lib/qtspim/qtspim.png qtspim ''; - nativeBuildInputs = [ wrapQtAppsHook qttools qmake bison flex ]; + nativeBuildInputs = [ + wrapQtAppsHook + qttools + qmake + bison + flex + ]; buildInputs = [ qtbase ]; QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}"; diff --git a/pkgs/development/tools/misc/seer/default.nix b/pkgs/development/tools/misc/seer/default.nix index 385aea2e73acf..a36609835a07d 100644 --- a/pkgs/development/tools/misc/seer/default.nix +++ b/pkgs/development/tools/misc/seer/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gdb, kdePackages, wrapQtAppsHook }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gdb, + kdePackages, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "seer"; @@ -20,8 +28,15 @@ stdenv.mkDerivation rec { --replace-fail "/usr/bin/gdb" "${gdb}/bin/gdb" ''; - buildInputs = with kdePackages; [ qtbase qtcharts qtsvg ]; - nativeBuildInputs = [ cmake kdePackages.wrapQtAppsHook ]; + buildInputs = with kdePackages; [ + qtbase + qtcharts + qtsvg + ]; + nativeBuildInputs = [ + cmake + kdePackages.wrapQtAppsHook + ]; meta = with lib; { description = "Qt gui frontend for GDB"; diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix index 458e3b51d3096..ee88ee76415e0 100644 --- a/pkgs/development/tools/misc/sqitch/default.nix +++ b/pkgs/development/tools/misc/sqitch/default.nix @@ -1,16 +1,19 @@ -{ stdenv -, lib -, perlPackages -, makeWrapper -, shortenPerlShebang -, mysqlSupport ? false -, postgresqlSupport ? false -, templateToolkitSupport ? false +{ + stdenv, + lib, + perlPackages, + makeWrapper, + shortenPerlShebang, + mysqlSupport ? false, + postgresqlSupport ? false, + templateToolkitSupport ? false, }: let sqitch = perlPackages.AppSqitch; - modules = with perlPackages; [ AlgorithmBackoff ] + modules = + with perlPackages; + [ AlgorithmBackoff ] ++ lib.optional mysqlSupport DBDmysql ++ lib.optional postgresqlSupport DBDPg ++ lib.optional templateToolkitSupport TemplateToolkit; @@ -25,25 +28,32 @@ stdenv.mkDerivation { src = sqitch; dontBuild = true; - installPhase = '' - mkdir -p $out/bin - for d in bin/sqitch etc lib share ; do - # make sure dest alreay exists before symlink - # this prevents installing a broken link into the path - if [ -e ${sqitch}/$d ]; then - ln -s ${sqitch}/$d $out/$d - fi - done - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - shortenPerlShebang $out/bin/sqitch - ''; + installPhase = + '' + mkdir -p $out/bin + for d in bin/sqitch etc lib share ; do + # make sure dest alreay exists before symlink + # this prevents installing a broken link into the path + if [ -e ${sqitch}/$d ]; then + ln -s ${sqitch}/$d $out/$d + fi + done + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + shortenPerlShebang $out/bin/sqitch + ''; dontStrip = true; postFixup = '' wrapProgram $out/bin/sqitch --prefix PERL5LIB : ${lib.escapeShellArg (perlPackages.makeFullPerlPath modules)} ''; meta = { - inherit (sqitch.meta) description homepage license platforms; + inherit (sqitch.meta) + description + homepage + license + platforms + ; mainProgram = "sqitch"; }; } diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix index c5c54351ac646..27e5437d9517f 100644 --- a/pkgs/development/tools/misc/stlink/default.nix +++ b/pkgs/development/tools/misc/stlink/default.nix @@ -1,22 +1,25 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, libusb1 -, gtk3 -, pkg-config -, wrapGAppsHook3 -, withGUI ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libusb1, + gtk3, + pkg-config, + wrapGAppsHook3, + withGUI ? false, }: let # The Darwin build of stlink explicitly refers to static libusb. - libusb1' = if stdenv.hostPlatform.isDarwin then libusb1.override { withStatic = true; } else libusb1; + libusb1' = + if stdenv.hostPlatform.isDarwin then libusb1.override { withStatic = true; } else libusb1; -# IMPORTANT: You need permissions to access the stlink usb devices. -# Add services.udev.packages = [ pkgs.stlink ] to your configuration.nix + # IMPORTANT: You need permissions to access the stlink usb devices. + # Add services.udev.packages = [ pkgs.stlink ] to your configuration.nix -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "stlink"; version = "1.8.0"; @@ -27,17 +30,21 @@ in stdenv.mkDerivation rec { sha256 = "sha256-hlFI2xpZ4ldMcxZbg/T5/4JuFFdO9THLcU0DQKSFqrw="; }; - buildInputs = [ - libusb1' - ] ++ lib.optionals withGUI [ - gtk3 - ]; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals withGUI [ - pkg-config - wrapGAppsHook3 - ]; + buildInputs = + [ + libusb1' + ] + ++ lib.optionals withGUI [ + gtk3 + ]; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals withGUI [ + pkg-config + wrapGAppsHook3 + ]; cmakeFlags = [ "-DSTLINK_MODPROBED_DIR=${placeholder "out"}/etc/modprobe.d" @@ -49,6 +56,9 @@ in stdenv.mkDerivation rec { license = licenses.bsd3; platforms = platforms.unix; badPlatforms = platforms.darwin; - maintainers = [ maintainers.bjornfor maintainers.rongcuid ]; + maintainers = [ + maintainers.bjornfor + maintainers.rongcuid + ]; }; } diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix index 051bc6d8529a4..a958648220b8a 100644 --- a/pkgs/development/tools/misc/texlab/default.nix +++ b/pkgs/development/tools/misc/texlab/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, help2man -, installShellFiles -, libiconv -, Security -, CoreServices -, nix-update-script +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + help2man, + installShellFiles, + libiconv, + Security, + CoreServices, + nix-update-script, }: let @@ -28,8 +29,7 @@ rustPlatform.buildRustPackage rec { outputs = [ "out" ] ++ lib.optional (!isCross) "man"; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optional (!isCross) help2man; + nativeBuildInputs = [ installShellFiles ] ++ lib.optional (!isCross) help2man; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv @@ -53,7 +53,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/latex-lsp/texlab"; changelog = "https://github.com/latex-lsp/texlab/blob/v${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ doronbehar kira-bruneau ]; + maintainers = with maintainers; [ + doronbehar + kira-bruneau + ]; platforms = platforms.all; mainProgram = "texlab"; }; diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix index 6c6b232e9354b..a577405c730c6 100644 --- a/pkgs/development/tools/misc/tokei/default.nix +++ b/pkgs/development/tools/misc/tokei/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security, zlib }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + Security, + zlib, +}: rustPlatform.buildRustPackage rec { pname = "tokei"; @@ -14,7 +22,8 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-U7Bode8qwDsNf4FVppfEHA9uiOFz74CtKgXG6xyYlT8="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv Security + libiconv + Security ]; checkInputs = lib.optionals stdenv.hostPlatform.isDarwin [ zlib ]; @@ -28,7 +37,10 @@ rustPlatform.buildRustPackage rec { Tokei is a program that displays statistics about your code. Tokei will show number of files, total lines within those files and code, comments, and blanks grouped by language. ''; homepage = "https://github.com/XAMPPRocky/tokei"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ gebner ]; mainProgram = "tokei"; }; diff --git a/pkgs/development/tools/misc/travis/default.nix b/pkgs/development/tools/misc/travis/default.nix index 494604e975f17..52ae177172d30 100644 --- a/pkgs/development/tools/misc/travis/default.nix +++ b/pkgs/development/tools/misc/travis/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv { inherit ruby; @@ -10,8 +15,11 @@ bundlerEnv { meta = with lib; { description = "CLI and Ruby client library for Travis CI"; mainProgram = "travis"; - homepage = "https://github.com/travis-ci/travis.rb"; - license = licenses.mit; - maintainers = with maintainers; [ zimbatm nicknovitski ]; + homepage = "https://github.com/travis-ci/travis.rb"; + license = licenses.mit; + maintainers = with maintainers; [ + zimbatm + nicknovitski + ]; }; } diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix index 02b39bfca9470..f304f77cc785b 100644 --- a/pkgs/development/tools/misc/travis/gemset.nix +++ b/pkgs/development/tools/misc/travis/gemset.nix @@ -1,163 +1,176 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02fdawr3wyvpzpja3r7mvb8lmn2mm5jdw502bx3ncr2sy2nw1kx6"; type = "gem"; }; version = "5.2.4.3"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; type = "gem"; }; version = "2.7.0"; }; coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl"; type = "gem"; }; version = "1.1.6"; }; ethon = { - dependencies = ["ffi"]; + dependencies = [ "ffi" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9"; type = "gem"; }; version = "0.12.0"; }; faraday = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq"; type = "gem"; }; version = "1.0.1"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r"; type = "gem"; }; version = "1.0.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af"; type = "gem"; }; version = "1.13.1"; }; gh = { - dependencies = ["activesupport" "addressable" "faraday" "faraday_middleware" "multi_json" "net-http-persistent" "net-http-pipeline"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "addressable" + "faraday" + "faraday_middleware" + "multi_json" + "net-http-persistent" + "net-http-pipeline" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nj2dm2pahfa4d39y8csvjv5l3hpsm6yjq2y96vj2bqgg0qs26bj"; type = "gem"; }; version = "0.17.0"; }; highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d"; type = "gem"; }; version = "2.0.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10nq1xjqvkhngiygji831qx9bryjwws95r4vrnlq9142bzkg670s"; type = "gem"; }; version = "1.8.3"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; type = "gem"; }; version = "2.3.0"; }; launchy = { - dependencies = ["addressable"]; + dependencies = [ "addressable" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; type = "gem"; }; version = "2.4.3"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; type = "gem"; }; version = "0.9.2"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g"; type = "gem"; }; version = "5.14.1"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; type = "gem"; }; @@ -165,7 +178,7 @@ }; multipart-post = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; type = "gem"; }; @@ -173,7 +186,7 @@ }; net-http-persistent = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y9fhaax0d9kkslyiqi1zys6cvpaqx9a0y0cywp24rpygwh4s9r4"; type = "gem"; }; @@ -181,78 +194,93 @@ }; net-http-pipeline = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bxjy33yhxwsbnld8xj3zv64ibgfjn9rjpiqkyd5ipmz50pww8v9"; type = "gem"; }; version = "1.0.1"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g"; type = "gem"; }; version = "0.11.3"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g"; type = "gem"; }; version = "4.0.5"; }; pusher-client = { - dependencies = ["json" "websocket"]; + dependencies = [ + "json" + "websocket" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18ymxz34gmg7jff3h0nyzp5vdg5i06dbdxlrdl2nq4hf14qwj1f4"; type = "gem"; }; version = "0.6.2"; }; thread_safe = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; travis = { - dependencies = ["faraday" "faraday_middleware" "gh" "highline" "json" "launchy" "pusher-client" "typhoeus"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "faraday" + "faraday_middleware" + "gh" + "highline" + "json" + "launchy" + "pusher-client" + "typhoeus" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yizj5nqvyrfbyiv1kfwc33dylhsmk5l007z06djj152v04z63i3"; type = "gem"; }; version = "1.9.1"; }; typhoeus = { - dependencies = ["ethon"]; + dependencies = [ "ethon" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03x3fxjsnhgayl4s96h0a9975awlvx2v9nmx2ba0cnliglyczdr8"; type = "gem"; }; version = "0.8.0"; }; tzinfo = { - dependencies = ["thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; type = "gem"; }; @@ -260,7 +288,7 @@ }; websocket = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x"; type = "gem"; }; diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix index 7bb9fc69c58a2..2317c825e5304 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/data.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix @@ -1,11 +1,17 @@ -{ lib, stdenv, fetchurl, tcl, usb-modeswitch }: +{ + lib, + stdenv, + fetchurl, + tcl, + usb-modeswitch, +}: stdenv.mkDerivation rec { pname = "usb-modeswitch-data"; version = "20191128"; src = fetchurl { - url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; + url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz"; }; diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix index 474de71004869..64b80c0392166 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/default.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix @@ -1,12 +1,22 @@ -{ stdenv, lib, fetchurl, pkg-config, makeWrapper -, libusb1, tcl, util-linux, coreutils, bash }: +{ + stdenv, + lib, + fetchurl, + pkg-config, + makeWrapper, + libusb1, + tcl, + util-linux, + coreutils, + bash, +}: stdenv.mkDerivation rec { pname = "usb-modeswitch"; version = "2.6.0"; src = fetchurl { - url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; + url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2"; }; @@ -34,16 +44,31 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/usb_modeswitch_dispatcher \ - --set PATH ${lib.makeBinPath [ util-linux coreutils bash ]} + --set PATH ${ + lib.makeBinPath [ + util-linux + coreutils + bash + ] + } ''; - buildInputs = [ libusb1 tcl ]; - nativeBuildInputs = [ pkg-config makeWrapper ]; + buildInputs = [ + libusb1 + tcl + ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; meta = with lib; { description = "Mode switching tool for controlling 'multi-mode' USB devices"; license = licenses.gpl2; - maintainers = with maintainers; [ marcweber peterhoeg ]; + maintainers = with maintainers; [ + marcweber + peterhoeg + ]; platforms = platforms.linux; mainProgram = "usb_modeswitch"; }; diff --git a/pkgs/development/tools/misc/watson-ruby/default.nix b/pkgs/development/tools/misc/watson-ruby/default.nix index b0faf75892ee1..bceddf51643f6 100644 --- a/pkgs/development/tools/misc/watson-ruby/default.nix +++ b/pkgs/development/tools/misc/watson-ruby/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + stdenv, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: stdenv.mkDerivation rec { pname = "watson-ruby"; @@ -6,26 +12,31 @@ stdenv.mkDerivation rec { dontUnpack = true; - installPhase = let - env = bundlerEnv { - name = "watson-ruby-gems-${version}"; - inherit ruby; - # expects Gemfile, Gemfile.lock and gemset.nix in the same directory - gemdir = ./.; - }; - in '' - mkdir -p $out/bin - ln -s ${env}/bin/watson $out/bin/watson - ''; + installPhase = + let + env = bundlerEnv { + name = "watson-ruby-gems-${version}"; + inherit ruby; + # expects Gemfile, Gemfile.lock and gemset.nix in the same directory + gemdir = ./.; + }; + in + '' + mkdir -p $out/bin + ln -s ${env}/bin/watson $out/bin/watson + ''; passthru.updateScript = bundlerUpdateScript "watson-ruby"; meta = with lib; { description = "Inline issue manager"; - homepage = "https://goosecode.com/watson/"; - license = with licenses; mit; - maintainers = with maintainers; [ robertodr nicknovitski ]; + homepage = "https://goosecode.com/watson/"; + license = with licenses; mit; + maintainers = with maintainers; [ + robertodr + nicknovitski + ]; mainProgram = "watson"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/misc/watson-ruby/gemset.nix b/pkgs/development/tools/misc/watson-ruby/gemset.nix index 2f865820f5aa3..ccd5709b23b7b 100644 --- a/pkgs/development/tools/misc/watson-ruby/gemset.nix +++ b/pkgs/development/tools/misc/watson-ruby/gemset.nix @@ -1,7 +1,7 @@ { json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; type = "gem"; }; @@ -9,7 +9,7 @@ }; watson-ruby = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d5m29nr0i030q8ygmbapwri5ndcg2q6lf8a15bk79lfcp9xyj9w"; type = "gem"; }; diff --git a/pkgs/development/tools/misc/whatstyle/default.nix b/pkgs/development/tools/misc/whatstyle/default.nix index 030dcf400f738..e7dd2ec40735a 100644 --- a/pkgs/development/tools/misc/whatstyle/default.nix +++ b/pkgs/development/tools/misc/whatstyle/default.nix @@ -1,4 +1,9 @@ -{ lib, python3, fetchFromGitHub, clang-unwrapped }: +{ + lib, + python3, + fetchFromGitHub, + clang-unwrapped, +}: python3.pkgs.buildPythonApplication rec { pname = "whatstyle"; @@ -16,7 +21,9 @@ python3.pkgs.buildPythonApplication rec { substituteInPlace ${pname}.py --replace 0.1.6 ${version} ''; - nativeCheckInputs = [ clang-unwrapped /* clang-format */ ]; + nativeCheckInputs = [ + clang-unwrapped # clang-format + ]; doCheck = false; # 3 or 4 failures depending on version, haven't investigated. diff --git a/pkgs/development/tools/misc/xxdiff/default.nix b/pkgs/development/tools/misc/xxdiff/default.nix index 87097ef819e31..1da47d6c51c57 100644 --- a/pkgs/development/tools/misc/xxdiff/default.nix +++ b/pkgs/development/tools/misc/xxdiff/default.nix @@ -1,5 +1,12 @@ -{ lib, mkDerivation, fetchFromBitbucket, docutils, bison, flex, qmake -, qtbase +{ + lib, + mkDerivation, + fetchFromBitbucket, + docutils, + bison, + flex, + qmake, + qtbase, }: mkDerivation rec { @@ -13,7 +20,12 @@ mkDerivation rec { sha256 = "0gbvxrkwkbvag3298j89smszghpr8ilxxfb0cvsknfqdf15b296w"; }; - nativeBuildInputs = [ bison docutils flex qmake ]; + nativeBuildInputs = [ + bison + docutils + flex + qmake + ]; buildInputs = [ qtbase ]; @@ -46,7 +58,10 @@ mkDerivation rec { mainProgram = "xxdiff"; homepage = "http://furius.ca/xxdiff/"; license = licenses.gpl2; - maintainers = with maintainers; [ pSub raskin ]; + maintainers = with maintainers; [ + pSub + raskin + ]; platforms = platforms.linux; }; } diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix index 82bfff61e9de5..0e707e4fdaee3 100644 --- a/pkgs/development/tools/ocaml/camlidl/default.nix +++ b/pkgs/development/tools/ocaml/camlidl/default.nix @@ -1,56 +1,63 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, writeText }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + writeText, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.03") "camlidl is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-camlidl"; - version = "1.12"; - - src = fetchFromGitHub { - owner = "xavierleroy"; - repo = "camlidl"; - rev = "camlidl112"; - hash = "sha256-ONPQMDFaU2OzFa5jgMVKx+ZRKk8ZgBZyk42vDvbM7E0="; - }; - - nativeBuildInputs = [ ocaml ]; - - # build fails otherwise - enableParallelBuilding = false; - - preBuild = '' - mv config/Makefile.unix config/Makefile - substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out - substituteInPlace config/Makefile --replace 'OCAMLLIB=$(shell $(OCAMLC) -where)' OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl - substituteInPlace config/Makefile --replace CPP=cpp CPP=${stdenv.cc}/bin/cpp - substituteInPlace lib/Makefile --replace '$(OCAMLLIB)/Makefile.config' "${ocaml}/lib/ocaml/Makefile.config" - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/stublibs - ''; - - postInstall = '' - cat >$out/lib/ocaml/${ocaml.version}/site-lib/camlidl/META <$out/lib/ocaml/${ocaml.version}/site-lib/camlidl/META <= 4.08 doCheck = lib.versionAtLeast ocaml.version "4.08"; in -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "ocamlmod is not available for OCaml ≥ 5.0" +lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "ocamlmod is not available for OCaml ≥ 5.0" -stdenv.mkDerivation { - pname = "ocamlmod"; - version = "0.0.9"; + stdenv.mkDerivation + { + pname = "ocamlmod"; + version = "0.0.9"; - src = fetchurl { - url = "https://forge.ocamlcore.org/frs/download.php/1702/ocamlmod-0.0.9.tar.gz"; - sha256 = "0cgp9qqrq7ayyhddrmqmq1affvfqcn722qiakjq4dkywvp67h4aa"; - }; + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/1702/ocamlmod-0.0.9.tar.gz"; + sha256 = "0cgp9qqrq7ayyhddrmqmq1affvfqcn722qiakjq4dkywvp67h4aa"; + }; - strictDeps = !doCheck; + strictDeps = !doCheck; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; - configurePhase = "ocaml setup.ml -configure --prefix $out" - + lib.optionalString doCheck " --enable-tests"; - buildPhase = "ocaml setup.ml -build"; - installPhase = "ocaml setup.ml -install"; + configurePhase = + "ocaml setup.ml -configure --prefix $out" + lib.optionalString doCheck " --enable-tests"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; - inherit doCheck; - nativeCheckInputs = [ ounit ]; + inherit doCheck; + nativeCheckInputs = [ ounit ]; - checkPhase = "ocaml setup.ml -test"; + checkPhase = "ocaml setup.ml -test"; - dontStrip = true; + dontStrip = true; - meta = { - homepage = "https://forge.ocamlcore.org/projects/ocamlmod/ocamlmod"; - description = "Generate OCaml modules from source files"; - platforms = ocaml.meta.platforms or []; - maintainers = with lib.maintainers; [ - maggesi - ]; - }; -} + meta = { + homepage = "https://forge.ocamlcore.org/projects/ocamlmod/ocamlmod"; + description = "Generate OCaml modules from source files"; + platforms = ocaml.meta.platforms or [ ]; + maintainers = with lib.maintainers; [ + maggesi + ]; + }; + } diff --git a/pkgs/development/tools/ocaml/ocamlscript/default.nix b/pkgs/development/tools/ocaml/ocamlscript/default.nix index 8277f4adb06dc..fee5a45b3f5dc 100644 --- a/pkgs/development/tools/ocaml/ocamlscript/default.nix +++ b/pkgs/development/tools/ocaml/ocamlscript/default.nix @@ -1,34 +1,44 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib }: +{ + lib, + stdenv, + fetchFromGitHub, + ocaml, + findlib, +}: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") "ocamlscript is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-ocamlscript"; - version = "3.0.0"; - src = fetchFromGitHub { - owner = "mjambon"; - repo = "ocamlscript"; - rev = "v${version}"; - sha256 = "sha256:10xz8jknlmcgnf233nahd04q98ijnxpijhpvb8hl7sv94dgkvpql"; - }; + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-ocamlscript"; + version = "3.0.0"; + src = fetchFromGitHub { + owner = "mjambon"; + repo = "ocamlscript"; + rev = "v${version}"; + sha256 = "sha256:10xz8jknlmcgnf233nahd04q98ijnxpijhpvb8hl7sv94dgkvpql"; + }; - nativeBuildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ + ocaml + findlib + ]; - patches = [ ./Makefile.patch ]; + patches = [ ./Makefile.patch ]; - buildFlags = [ "PREFIX=$(out)" ]; - installFlags = [ "PREFIX=$(out)" ]; + buildFlags = [ "PREFIX=$(out)" ]; + installFlags = [ "PREFIX=$(out)" ]; - preInstall = "mkdir -p $out/bin"; - createFindlibDestdir = true; + preInstall = "mkdir -p $out/bin"; + createFindlibDestdir = true; - meta = with lib; { - inherit (src.meta) homepage; - license = licenses.boost; - inherit (ocaml.meta) platforms; - description = "Natively-compiled OCaml scripts"; - maintainers = [ maintainers.vbgl ]; - mainProgram = "ocamlscript"; - }; -} + meta = with lib; { + inherit (src.meta) homepage; + license = licenses.boost; + inherit (ocaml.meta) platforms; + description = "Natively-compiled OCaml scripts"; + maintainers = [ maintainers.vbgl ]; + mainProgram = "ocamlscript"; + }; + } diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix index b3426a721ff4f..d7d780d1a6d59 100644 --- a/pkgs/development/tools/ocaml/ocp-build/default.nix +++ b/pkgs/development/tools/ocaml/ocp-build/default.nix @@ -1,47 +1,64 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib, ncurses, cmdliner_1_0, re }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ocaml, + findlib, + ncurses, + cmdliner_1_0, + re, +}: lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "ocp-build is not available for OCaml ${ocaml.version}" -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-ocp-build"; - version = "1.99.21"; + stdenv.mkDerivation + rec { + pname = "ocaml${ocaml.version}-ocp-build"; + version = "1.99.21"; - src = fetchFromGitHub { - owner = "OCamlPro"; - repo = "ocp-build"; - rev = "v${version}"; - sha256 = "1641xzik98c7xnjwxpacijd6d9jzx340fmdn6i372z8h554jjlg9"; - }; + src = fetchFromGitHub { + owner = "OCamlPro"; + repo = "ocp-build"; + rev = "v${version}"; + sha256 = "1641xzik98c7xnjwxpacijd6d9jzx340fmdn6i372z8h554jjlg9"; + }; - patches = [ - # Fix compilation with OCaml 4.12 - (fetchpatch { - url = "https://github.com/OCamlPro/ocp-build/commit/104e4656ca6dba9edb03b62539c9f1e10abcaae8.patch"; - sha256 = "0sbyi4acig9q8x1ky4hckfg5pm2nad6zasi51ravaf1spgl148c2"; - }) - ]; + patches = [ + # Fix compilation with OCaml 4.12 + (fetchpatch { + url = "https://github.com/OCamlPro/ocp-build/commit/104e4656ca6dba9edb03b62539c9f1e10abcaae8.patch"; + sha256 = "0sbyi4acig9q8x1ky4hckfg5pm2nad6zasi51ravaf1spgl148c2"; + }) + ]; - strictDeps = true; + strictDeps = true; - nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ cmdliner_1_0 re ]; - propagatedBuildInputs = [ ncurses ]; - preInstall = "mkdir -p $out/bin"; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ + cmdliner_1_0 + re + ]; + propagatedBuildInputs = [ ncurses ]; + preInstall = "mkdir -p $out/bin"; - meta = with lib; { - description = "Build tool for OCaml"; - longDescription = '' - ocp-build is a build system for OCaml application, based on simple - descriptions of packages. ocp-build combines the descriptions of - packages, and optimize the parallel compilation of files depending on - the number of cores and the automatically-inferred dependencies - between source files. - ''; - homepage = "https://www.typerex.org/ocp-build.html"; - license = licenses.gpl3; - maintainers = [ maintainers.jirkamarsik ]; - mainProgram = "ocp-build"; - inherit (ocaml.meta) platforms; - }; -} + meta = with lib; { + description = "Build tool for OCaml"; + longDescription = '' + ocp-build is a build system for OCaml application, based on simple + descriptions of packages. ocp-build combines the descriptions of + packages, and optimize the parallel compilation of files depending on + the number of cores and the automatically-inferred dependencies + between source files. + ''; + homepage = "https://www.typerex.org/ocp-build.html"; + license = licenses.gpl3; + maintainers = [ maintainers.jirkamarsik ]; + mainProgram = "ocp-build"; + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix index 2599b560550b3..73c834c6624fa 100644 --- a/pkgs/development/tools/ocaml/ocp-indent/default.nix +++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, cmdliner, findlib }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + cmdliner, + findlib, +}: buildDunePackage rec { version = "1.8.2"; diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix index 84e4dfb2be903..d1f7ec0f097ca 100644 --- a/pkgs/development/tools/ocaml/ocp-index/default.nix +++ b/pkgs/development/tools/ocaml/ocp-index/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, buildDunePackage, cppo, ocp-indent, cmdliner, re }: +{ + lib, + fetchFromGitHub, + buildDunePackage, + cppo, + ocp-indent, + cmdliner, + re, +}: buildDunePackage rec { pname = "ocp-index"; @@ -14,7 +22,10 @@ buildDunePackage rec { }; nativeBuildInputs = [ cppo ]; - buildInputs = [ cmdliner re ]; + buildInputs = [ + cmdliner + re + ]; propagatedBuildInputs = [ ocp-indent ]; diff --git a/pkgs/development/tools/ocaml/opam/installer.nix b/pkgs/development/tools/ocaml/opam/installer.nix index 3e3685b8e2fe1..5da0e140ad04a 100644 --- a/pkgs/development/tools/ocaml/opam/installer.nix +++ b/pkgs/development/tools/ocaml/opam/installer.nix @@ -5,8 +5,14 @@ ocamlPackages.buildDunePackage { inherit (opam) version src; - configureFlags = [ "--disable-checks" "--prefix=$out" ]; - buildInputs = with ocamlPackages; [ opam-format cmdliner ]; + configureFlags = [ + "--disable-checks" + "--prefix=$out" + ]; + buildInputs = with ocamlPackages; [ + opam-format + cmdliner + ]; meta = opam.meta // { description = "Handle (un)installation from opam install files"; diff --git a/pkgs/development/tools/ofono-phonesim/default.nix b/pkgs/development/tools/ofono-phonesim/default.nix index b37043ca41cc4..ab01fa1a32a81 100644 --- a/pkgs/development/tools/ofono-phonesim/default.nix +++ b/pkgs/development/tools/ofono-phonesim/default.nix @@ -1,9 +1,10 @@ -{ lib -, mkDerivation -, fetchzip -, autoreconfHook -, pkg-config -, qtbase +{ + lib, + mkDerivation, + fetchzip, + autoreconfHook, + pkg-config, + qtbase, }: mkDerivation { diff --git a/pkgs/development/tools/pactorio/default.nix b/pkgs/development/tools/pactorio/default.nix index 06b55790ddf6f..dc0b2e1dfbcb6 100644 --- a/pkgs/development/tools/pactorio/default.nix +++ b/pkgs/development/tools/pactorio/default.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, bzip2 -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + bzip2, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -21,7 +22,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-sAFsG+EPSmvPDFR9R0fZ5f+y/PXVpTJlMzL61vwf4SY="; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; buildInputs = [ bzip2 ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; diff --git a/pkgs/development/tools/parsing/antlr/2.7.7.nix b/pkgs/development/tools/parsing/antlr/2.7.7.nix index 991925cb4e762..df89324aba6ae 100644 --- a/pkgs/development/tools/parsing/antlr/2.7.7.nix +++ b/pkgs/development/tools/parsing/antlr/2.7.7.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jdk }: +{ + lib, + stdenv, + fetchurl, + jdk, +}: stdenv.mkDerivation rec { pname = "antlr"; diff --git a/pkgs/development/tools/parsing/antlr/3.4.nix b/pkgs/development/tools/parsing/antlr/3.4.nix index 38493dedab10c..16d1c7045cf44 100644 --- a/pkgs/development/tools/parsing/antlr/3.4.nix +++ b/pkgs/development/tools/parsing/antlr/3.4.nix @@ -1,10 +1,15 @@ -{lib, stdenv, fetchurl, jre}: +{ + lib, + stdenv, + fetchurl, + jre, +}: stdenv.mkDerivation rec { pname = "antlr"; version = "3.4"; src = fetchurl { - url ="https://www.antlr3.org/download/antlr-${version}-complete.jar"; + url = "https://www.antlr3.org/download/antlr-${version}-complete.jar"; sha256 = "1xqbam8vf04q5fasb0m2n1pn5dbp2yw763sj492ncq04c5mqcglx"; }; diff --git a/pkgs/development/tools/parsing/antlr/3.5.nix b/pkgs/development/tools/parsing/antlr/3.5.nix index 132da31fee351..ae466260d0394 100644 --- a/pkgs/development/tools/parsing/antlr/3.5.nix +++ b/pkgs/development/tools/parsing/antlr/3.5.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchpatch, fetchurl, fetchFromGitHub, jre}: +{ + lib, + stdenv, + fetchpatch, + fetchurl, + fetchFromGitHub, + jre, +}: stdenv.mkDerivation rec { pname = "antlr"; diff --git a/pkgs/development/tools/parsing/flex/2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix index a68f7e07429c3..e27af76401422 100644 --- a/pkgs/development/tools/parsing/flex/2.5.35.nix +++ b/pkgs/development/tools/parsing/flex/2.5.35.nix @@ -1,11 +1,23 @@ -{ lib, stdenv, fetchurl, autoreconfHook, flex, bison, texinfo, help2man, m4 }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + flex, + bison, + texinfo, + help2man, + m4, +}: stdenv.mkDerivation rec { pname = "flex"; version = "2.5.35"; src = fetchurl { - url = "https://github.com/westes/flex/archive/flex-${lib.replaceStrings ["."] ["-"] version}.tar.gz"; + url = "https://github.com/westes/flex/archive/flex-${ + lib.replaceStrings [ "." ] [ "-" ] version + }.tar.gz"; sha256 = "0wh06nix8bd4w1aq4k2fbbkdq5i30a9lxz3xczf3ff28yy0kfwzm"; }; @@ -13,7 +25,13 @@ stdenv.mkDerivation rec { patchShebangs tests ''; - nativeBuildInputs = [ flex bison texinfo help2man autoreconfHook ]; + nativeBuildInputs = [ + flex + bison + texinfo + help2man + autoreconfHook + ]; propagatedBuildInputs = [ m4 ]; diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix index 84cb5f35d3c6d..c6c62b2cc2dcd 100644 --- a/pkgs/development/tools/parsing/flex/default.nix +++ b/pkgs/development/tools/parsing/flex/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, buildPackages, fetchurl, bison, m4 -, autoreconfHook, help2man +{ + lib, + stdenv, + buildPackages, + fetchurl, + bison, + m4, + autoreconfHook, + help2man, }: # Avoid 'fetchpatch' to allow 'flex' to be used as a possible 'gcc' @@ -17,22 +24,29 @@ stdenv.mkDerivation rec { # Also upstream, will be part of 2.6.5 # https://github.com/westes/flex/commit/24fd0551333e - patches = [(fetchurl { - name = "glibc-2.26.patch"; - url = "https://raw.githubusercontent.com/lede-project/source/0fb14a2b1ab2f82ce63f4437b062229d73d90516/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch"; - sha256 = "0mpp41zdg17gx30kcpj83jl8hssks3adbks0qzbhcz882b9c083r"; - })]; - - postPatch = '' - patchShebangs tests - '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - substituteInPlace Makefile.in --replace "tests" " " - - substituteInPlace doc/Makefile.am --replace 'flex.1: $(top_srcdir)/configure.ac' 'flex.1: ' - ''; + patches = [ + (fetchurl { + name = "glibc-2.26.patch"; + url = "https://raw.githubusercontent.com/lede-project/source/0fb14a2b1ab2f82ce63f4437b062229d73d90516/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch"; + sha256 = "0mpp41zdg17gx30kcpj83jl8hssks3adbks0qzbhcz882b9c083r"; + }) + ]; + + postPatch = + '' + patchShebangs tests + '' + + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace Makefile.in --replace "tests" " " + + substituteInPlace doc/Makefile.am --replace 'flex.1: $(top_srcdir)/configure.ac' 'flex.1: ' + ''; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ autoreconfHook help2man ]; + nativeBuildInputs = [ + autoreconfHook + help2man + ]; buildInputs = [ bison ]; propagatedBuildInputs = [ m4 ]; diff --git a/pkgs/development/tools/parsing/javacc/default.nix b/pkgs/development/tools/parsing/javacc/default.nix index ed01650678216..8845ae95f2f98 100644 --- a/pkgs/development/tools/parsing/javacc/default.nix +++ b/pkgs/development/tools/parsing/javacc/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, ant -, jdk -, jre -, makeWrapper -, stripJavaArchivesHook +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk, + jre, + makeWrapper, + stripJavaArchivesHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix index a6090f104fa24..949c282ecd73a 100644 --- a/pkgs/development/tools/parsing/ragel/default.nix +++ b/pkgs/development/tools/parsing/ragel/default.nix @@ -1,9 +1,22 @@ -{ lib, stdenv, fetchurl, fig2dev, texliveSmall, ghostscript, colm -, build-manual ? false +{ + lib, + stdenv, + fetchurl, + fig2dev, + texliveSmall, + ghostscript, + colm, + build-manual ? false, }: let - generic = { version, sha256, broken ? false, license }: + generic = + { + version, + sha256, + broken ? false, + license, + }: stdenv.mkDerivation rec { pname = "ragel"; inherit version; @@ -13,7 +26,11 @@ let inherit sha256; }; - buildInputs = lib.optionals build-manual [ fig2dev ghostscript texliveSmall ]; + buildInputs = lib.optionals build-manual [ + fig2dev + ghostscript + texliveSmall + ]; preConfigure = lib.optionalString build-manual '' sed -i "s/build_manual=no/build_manual=yes/g" DIST diff --git a/pkgs/development/tools/perseus-cli/default.nix b/pkgs/development/tools/perseus-cli/default.nix index 7ba885234445e..ba37dc5e14178 100644 --- a/pkgs/development/tools/perseus-cli/default.nix +++ b/pkgs/development/tools/perseus-cli/default.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, makeWrapper -, wasm-pack +{ + lib, + rustPlatform, + fetchCrate, + makeWrapper, + wasm-pack, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/profiling/oprofile/default.nix b/pkgs/development/tools/profiling/oprofile/default.nix index 3bedc45c8d100..b49f7a68420e8 100644 --- a/pkgs/development/tools/profiling/oprofile/default.nix +++ b/pkgs/development/tools/profiling/oprofile/default.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, buildPackages -, fetchurl, pkg-config -, libbfd, popt, zlib, linuxHeaders, libiberty_static +{ + lib, + stdenv, + buildPackages, + fetchurl, + pkg-config, + libbfd, + popt, + zlib, + linuxHeaders, + libiberty_static, }: stdenv.mkDerivation rec { @@ -19,11 +27,17 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libbfd zlib popt linuxHeaders libiberty_static ]; + buildInputs = [ + libbfd + zlib + popt + linuxHeaders + libiberty_static + ]; configureFlags = [ "--with-kernel=${linuxHeaders}" - "--disable-shared" # needed because only the static libbfd is available + "--disable-shared" # needed because only the static libbfd is available ]; meta = { diff --git a/pkgs/development/tools/profiling/sysprof/capture.nix b/pkgs/development/tools/profiling/sysprof/capture.nix index ad04b73148208..00a7bdc6a01e5 100644 --- a/pkgs/development/tools/profiling/sysprof/capture.nix +++ b/pkgs/development/tools/profiling/sysprof/capture.nix @@ -1,8 +1,9 @@ -{ stdenv -, lib -, meson -, ninja -, sysprof +{ + stdenv, + lib, + meson, + ninja, + sysprof, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index b13883474363a..01de2e761ea9f 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -1,32 +1,37 @@ -{ stdenv -, lib -, desktop-file-utils -, fetchurl -, gettext -, glib -, gtk4 -, json-glib -, itstool -, libadwaita -, libdex -, libpanel -, libunwind -, libxml2 -, meson -, ninja -, pkg-config -, polkit -, shared-mime-info -, systemd -, wrapGAppsHook4 -, gnome +{ + stdenv, + lib, + desktop-file-utils, + fetchurl, + gettext, + glib, + gtk4, + json-glib, + itstool, + libadwaita, + libdex, + libpanel, + libunwind, + libxml2, + meson, + ninja, + pkg-config, + polkit, + shared-mime-info, + systemd, + wrapGAppsHook4, + gnome, }: stdenv.mkDerivation rec { pname = "sysprof"; version = "47.0"; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix index c6595db224efe..955cec56124f3 100644 --- a/pkgs/development/tools/profiling/systemtap/default.nix +++ b/pkgs/development/tools/profiling/systemtap/default.nix @@ -1,7 +1,17 @@ -{ lib, fetchgit, pkg-config, gettext, runCommand, makeWrapper -, cpio, elfutils, kernel, gnumake, python3 -, nixosTests -, withStap ? true # avoid cyclic dependency with glib +{ + lib, + fetchgit, + pkg-config, + gettext, + runCommand, + makeWrapper, + cpio, + elfutils, + kernel, + gnumake, + python3, + nixosTests, + withStap ? true, # avoid cyclic dependency with glib }: let @@ -18,8 +28,17 @@ let pname = "systemtap"; inherit version; src = fetchgit { inherit url rev sha256; }; - nativeBuildInputs = [ pkg-config cpio python3 python3.pkgs.setuptools ]; - buildInputs = [ elfutils gettext python3 ]; + nativeBuildInputs = [ + pkg-config + cpio + python3 + python3.pkgs.setuptools + ]; + buildInputs = [ + elfutils + gettext + python3 + ]; enableParallelBuilding = true; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=deprecated-declarations" ]; # Needed with GCC 12 }; @@ -34,26 +53,39 @@ let pypkgs = with python3.pkgs; makePythonPath [ pyparsing ]; -in runCommand "systemtap-${version}" { - inherit stapBuild; - nativeBuildInputs = [ makeWrapper ]; - passthru.tests = { inherit (nixosTests.systemtap) linux_default linux_latest; }; - meta = { - homepage = "https://sourceware.org/systemtap/"; - description = "Provides a scripting language for instrumentation on a live kernel plus user-space"; - license = lib.licenses.gpl2; - platforms = lib.systems.inspect.patterns.isGnu; - }; -} ('' - mkdir -p $out/bin - for bin in $stapBuild/bin/*; do - ln -s $bin $out/bin - done - rm $out/bin/stap $out/bin/dtrace - makeWrapper $stapBuild/bin/dtrace $out/bin/dtrace \ - --prefix PYTHONPATH : ${pypkgs} -'' + lib.optionalString withStap '' - makeWrapper $stapBuild/bin/stap $out/bin/stap \ - --add-flags "--sysroot ${sysroot}" \ - --prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc stdenv.cc.bintools elfutils gnumake ]} -'') +in +runCommand "systemtap-${version}" + { + inherit stapBuild; + nativeBuildInputs = [ makeWrapper ]; + passthru.tests = { inherit (nixosTests.systemtap) linux_default linux_latest; }; + meta = { + homepage = "https://sourceware.org/systemtap/"; + description = "Provides a scripting language for instrumentation on a live kernel plus user-space"; + license = lib.licenses.gpl2; + platforms = lib.systems.inspect.patterns.isGnu; + }; + } + ( + '' + mkdir -p $out/bin + for bin in $stapBuild/bin/*; do + ln -s $bin $out/bin + done + rm $out/bin/stap $out/bin/dtrace + makeWrapper $stapBuild/bin/dtrace $out/bin/dtrace \ + --prefix PYTHONPATH : ${pypkgs} + '' + + lib.optionalString withStap '' + makeWrapper $stapBuild/bin/stap $out/bin/stap \ + --add-flags "--sysroot ${sysroot}" \ + --prefix PATH : ${ + lib.makeBinPath [ + stdenv.cc.cc + stdenv.cc.bintools + elfutils + gnumake + ] + } + '' + ) diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix index 58fab74c98841..dcfbcd52fa1ec 100644 --- a/pkgs/development/tools/prospector/default.nix +++ b/pkgs/development/tools/prospector/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: let @@ -67,7 +68,6 @@ python3.pkgs.buildPythonApplication rec { "tests/tools/pyroma/test_pyroma_tool.py" ]; - meta = with lib; { description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity"; homepage = "https://github.com/PyCQA/prospector"; diff --git a/pkgs/development/tools/prospector/setoptconf.nix b/pkgs/development/tools/prospector/setoptconf.nix index 918c377cfa642..dfd3824fdf13b 100644 --- a/pkgs/development/tools/prospector/setoptconf.nix +++ b/pkgs/development/tools/prospector/setoptconf.nix @@ -1,6 +1,7 @@ -{ buildPythonPackage -, fetchPypi -, lib +{ + buildPythonPackage, + fetchPypi, + lib, }: buildPythonPackage rec { diff --git a/pkgs/development/tools/protoc-gen-dart/default.nix b/pkgs/development/tools/protoc-gen-dart/default.nix index 06a96e70cf3e7..4b51e14694042 100644 --- a/pkgs/development/tools/protoc-gen-dart/default.nix +++ b/pkgs/development/tools/protoc-gen-dart/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildDartApplication +{ + lib, + fetchFromGitHub, + buildDartApplication, }: buildDartApplication rec { diff --git a/pkgs/development/tools/protoc-gen-grpc-web/default.nix b/pkgs/development/tools/protoc-gen-grpc-web/default.nix index 6c8d8c5417602..61e9c252c12c2 100644 --- a/pkgs/development/tools/protoc-gen-grpc-web/default.nix +++ b/pkgs/development/tools/protoc-gen-grpc-web/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, protobuf -, isStatic ? stdenv.hostPlatform.isStatic +{ + lib, + stdenv, + fetchFromGitHub, + protobuf, + isStatic ? stdenv.hostPlatform.isStatic, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/development/tools/pry/default.nix b/pkgs/development/tools/pry/default.nix index 209d61e23c5e8..678f58b8fe9aa 100644 --- a/pkgs/development/tools/pry/default.nix +++ b/pkgs/development/tools/pry/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "pry"; @@ -9,9 +13,9 @@ bundlerApp { meta = with lib; { description = "Ruby runtime developer console and IRB alternative"; - homepage = "https://pryrepl.org"; - license = licenses.mit; + homepage = "https://pryrepl.org"; + license = licenses.mit; maintainers = [ maintainers.tckmn ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/pry/gemset.nix b/pkgs/development/tools/pry/gemset.nix index c3f42889e1fff..6c0d1085ede09 100644 --- a/pkgs/development/tools/pry/gemset.nix +++ b/pkgs/development/tools/pry/gemset.nix @@ -1,30 +1,33 @@ { coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; type = "gem"; }; version = "1.0.0"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk"; type = "gem"; }; diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix index b9d97c351b6d7..c06b588c56baf 100644 --- a/pkgs/development/tools/purescript/spago/default.nix +++ b/pkgs/development/tools/purescript/spago/default.nix @@ -1,57 +1,55 @@ -{ haskell -, haskellPackages -, lib +{ + haskell, + haskellPackages, + lib, -# The following are only needed for the passthru.tests: -, spago -, cacert -, git -, nodejs -, purescript -, runCommand + # The following are only needed for the passthru.tests: + spago, + cacert, + git, + nodejs, + purescript, + runCommand, }: -lib.pipe - haskellPackages.spago - [ - haskell.lib.compose.justStaticExecutables +lib.pipe haskellPackages.spago [ + haskell.lib.compose.justStaticExecutables - (haskell.lib.compose.overrideCabal (oldAttrs: { - changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}"; + (haskell.lib.compose.overrideCabal (oldAttrs: { + changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}"; - passthru = (oldAttrs.passthru or {}) // { - updateScript = ./update.sh; + passthru = (oldAttrs.passthru or { }) // { + updateScript = ./update.sh; - # These tests can be run with the following command. The tests access the - # network, so they cannot be run in the nix sandbox. sudo is needed in - # order to change the sandbox option. - # - # $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed - # - tests = - runCommand - "spago-tests" - { - __noChroot = true; - nativeBuildInputs = [ - cacert - git - nodejs - purescript - spago - ]; - } - '' - # spago expects HOME to be set because it creates a cache file under - # home. - HOME=$(pwd) + # These tests can be run with the following command. The tests access the + # network, so they cannot be run in the nix sandbox. sudo is needed in + # order to change the sandbox option. + # + # $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed + # + tests = + runCommand "spago-tests" + { + __noChroot = true; + nativeBuildInputs = [ + cacert + git + nodejs + purescript + spago + ]; + } + '' + # spago expects HOME to be set because it creates a cache file under + # home. + HOME=$(pwd) - spago --verbose init - spago --verbose build - spago --verbose test + spago --verbose init + spago --verbose build + spago --verbose test - touch $out - ''; - }; - })) - ] + touch $out + ''; + }; + })) +] diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix index d0455081111fa..905d6b63720e8 100644 --- a/pkgs/development/tools/purescript/spago/spago.nix +++ b/pkgs/development/tools/purescript/spago/spago.nix @@ -1,16 +1,65 @@ # This has been automatically generated by the script # ./update.sh. This should not be changed by hand. -{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool -, base, bower-json, bytestring, containers, cryptonite, dhall -, directory, either, extra, fetchgit, file-embed, filepath, foldl -, fsnotify, generic-lens, Glob, hspec, hspec-discover -, hspec-megaparsec, http-client, http-conduit, http-types -, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser -, optparse-applicative, prettyprinter, process, QuickCheck, retry -, rio, rio-orphans, safe, semver-range, stm, stringsearch, tar -, template-haskell, temporary, text, time, transformers, turtle -, unliftio, unordered-containers, uri-encode, utf8-string, versions -, with-utf8, yaml, zlib +{ + mkDerivation, + aeson, + aeson-pretty, + ansi-terminal, + async-pool, + base, + bower-json, + bytestring, + containers, + cryptonite, + dhall, + directory, + either, + extra, + fetchgit, + file-embed, + filepath, + foldl, + fsnotify, + generic-lens, + Glob, + hspec, + hspec-discover, + hspec-megaparsec, + http-client, + http-conduit, + http-types, + lens-family-core, + lib, + megaparsec, + mtl, + network-uri, + open-browser, + optparse-applicative, + prettyprinter, + process, + QuickCheck, + retry, + rio, + rio-orphans, + safe, + semver-range, + stm, + stringsearch, + tar, + template-haskell, + temporary, + text, + time, + transformers, + turtle, + unliftio, + unordered-containers, + uri-encode, + utf8-string, + versions, + with-utf8, + yaml, + zlib, }: mkDerivation { pname = "spago"; @@ -24,21 +73,79 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson aeson-pretty ansi-terminal async-pool base bower-json - bytestring containers cryptonite dhall directory either file-embed - filepath foldl fsnotify generic-lens Glob http-client http-conduit - http-types lens-family-core megaparsec mtl network-uri open-browser - optparse-applicative prettyprinter process retry rio rio-orphans - safe semver-range stm stringsearch tar template-haskell temporary - text time transformers turtle unliftio unordered-containers - uri-encode utf8-string versions with-utf8 yaml zlib + aeson + aeson-pretty + ansi-terminal + async-pool + base + bower-json + bytestring + containers + cryptonite + dhall + directory + either + file-embed + filepath + foldl + fsnotify + generic-lens + Glob + http-client + http-conduit + http-types + lens-family-core + megaparsec + mtl + network-uri + open-browser + optparse-applicative + prettyprinter + process + retry + rio + rio-orphans + safe + semver-range + stm + stringsearch + tar + template-haskell + temporary + text + time + transformers + turtle + unliftio + unordered-containers + uri-encode + utf8-string + versions + with-utf8 + yaml + zlib ]; executableHaskellDepends = [ - ansi-terminal base text turtle with-utf8 + ansi-terminal + base + text + turtle + with-utf8 ]; testHaskellDepends = [ - base containers directory extra hspec hspec-megaparsec megaparsec - process QuickCheck temporary text turtle versions + base + containers + directory + extra + hspec + hspec-megaparsec + megaparsec + process + QuickCheck + temporary + text + turtle + versions ]; testToolDepends = [ hspec-discover ]; homepage = "https://github.com/purescript/spago#readme"; diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix index de759bc0c87f5..aed03b72322a9 100644 --- a/pkgs/development/tools/qtcreator/default.nix +++ b/pkgs/development/tools/qtcreator/default.nix @@ -1,31 +1,32 @@ -{ stdenv -, lib -, fetchurl -, cmake -, pkg-config -, ninja -, python3 -, qtbase -, qt5compat -, qtdeclarative -, qtdoc -, qtquick3d -, qtquicktimeline -, qtserialport -, qtsvg -, qttools -, qtwebengine -, qtwayland -, qtshadertools -, wrapQtAppsHook -, yaml-cpp -, litehtml -, libsecret -, gumbo -, llvmPackages -, rustc-demangle -, elfutils -, perf +{ + stdenv, + lib, + fetchurl, + cmake, + pkg-config, + ninja, + python3, + qtbase, + qt5compat, + qtdeclarative, + qtdoc, + qtquick3d, + qtquicktimeline, + qtserialport, + qtsvg, + qttools, + qtwebengine, + qtwayland, + qtshadertools, + wrapQtAppsHook, + yaml-cpp, + litehtml, + libsecret, + gumbo, + llvmPackages, + rustc-demangle, + elfutils, + perf, }: stdenv.mkDerivation rec { diff --git a/pkgs/development/tools/rbspy/default.nix b/pkgs/development/tools/rbspy/default.nix index 837468803842f..a989d85fd6b77 100644 --- a/pkgs/development/tools/rbspy/default.nix +++ b/pkgs/development/tools/rbspy/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, ruby -, which -, nix-update-script +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + ruby, + which, + nix-update-script, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/rdbtools/default.nix b/pkgs/development/tools/rdbtools/default.nix index 40cbce35ba3f2..5bad05ad3fc7d 100644 --- a/pkgs/development/tools/rdbtools/default.nix +++ b/pkgs/development/tools/rdbtools/default.nix @@ -1,4 +1,8 @@ -{ lib, python, fetchPypi }: +{ + lib, + python, + fetchPypi, +}: with python.pkgs; @@ -11,7 +15,10 @@ buildPythonApplication rec { sha256 = "689e57e42f43bdc73ea4e893d9676819980d17968696826b69fbd951f59772de"; }; - propagatedBuildInputs = [ redis python-lzf ]; + propagatedBuildInputs = [ + redis + python-lzf + ]; # No tests in published package doCheck = false; diff --git a/pkgs/development/tools/rebazel/default.nix b/pkgs/development/tools/rebazel/default.nix index 4b9549b8a58af..33592b76e8536 100644 --- a/pkgs/development/tools/rebazel/default.nix +++ b/pkgs/development/tools/rebazel/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "rebazel"; diff --git a/pkgs/development/tools/redis-dump/default.nix b/pkgs/development/tools/redis-dump/default.nix index 2d4acd724d39b..58ba7be5ae1e5 100644 --- a/pkgs/development/tools/redis-dump/default.nix +++ b/pkgs/development/tools/redis-dump/default.nix @@ -1,17 +1,28 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "redis-dump"; gemdir = ./.; - exes = [ "redis-dump" "redis-load" ]; + exes = [ + "redis-dump" + "redis-load" + ]; passthru.updateScript = bundlerUpdateScript "redis-dump"; meta = with lib; { description = "Backup and restore your Redis data to and from JSON"; - homepage = "http://delanotes.com/redis-dump/"; - license = licenses.mit; - maintainers = with maintainers; [ offline manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "http://delanotes.com/redis-dump/"; + license = licenses.mit; + maintainers = with maintainers; [ + offline + manveru + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/redis-dump/gemset.nix b/pkgs/development/tools/redis-dump/gemset.nix index 74e6d4e1b3249..128fc3de21c5d 100644 --- a/pkgs/development/tools/redis-dump/gemset.nix +++ b/pkgs/development/tools/redis-dump/gemset.nix @@ -1,50 +1,55 @@ { drydock = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grf3361mh93lczljmnwafl7gbcp9kk1bjpfwx4ykpd43fzdbfyj"; type = "gem"; }; version = "0.6.9"; }; redis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rk6mmy3y2jd34llrf591ribl1p54ghkw7m96wrbamy8fwva5zqv"; type = "gem"; }; version = "4.1.0"; }; redis-dump = { - dependencies = ["drydock" "redis" "uri-redis" "yajl-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "drydock" + "redis" + "uri-redis" + "yajl-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gvip73kgm8xvyjmjkz4b986wni9blsmrnpvp5jrsxjz3g0sqzwg"; type = "gem"; }; version = "0.4.0"; }; uri-redis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13n8ak41rikkbmml054pir4i1xbgjpmf3dbqihc2kcrgmz3dg81a"; type = "gem"; }; version = "0.4.2"; }; yajl-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"; type = "gem"; }; diff --git a/pkgs/development/tools/remodel/default.nix b/pkgs/development/tools/remodel/default.nix index 83b32a7dd26f3..c0de834e678e6 100644 --- a/pkgs/development/tools/remodel/default.nix +++ b/pkgs/development/tools/remodel/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; meta = with lib; { description = "Roblox file manipulation tool"; diff --git a/pkgs/development/tools/reno/default.nix b/pkgs/development/tools/reno/default.nix index c5d79f3badf68..04990e6d71e93 100644 --- a/pkgs/development/tools/reno/default.nix +++ b/pkgs/development/tools/reno/default.nix @@ -30,7 +30,7 @@ python3Packages.buildPythonApplication rec { dulwich pbr pyyaml - setuptools # required for finding pkg_resources at runtime + setuptools # required for finding pkg_resources at runtime ]; nativeCheckInputs = with python3Packages; [ @@ -79,6 +79,11 @@ python3Packages.buildPythonApplication rec { mainProgram = "reno"; homepage = "https://docs.openstack.org/reno/latest"; license = licenses.asl20; - maintainers = teams.openstack.members ++ (with maintainers; [ drewrisinger guillaumekoenig ]); + maintainers = + teams.openstack.members + ++ (with maintainers; [ + drewrisinger + guillaumekoenig + ]); }; } diff --git a/pkgs/development/tools/replay-io/default.nix b/pkgs/development/tools/replay-io/default.nix index 274ddd98efe15..e5ef210c5fbb2 100644 --- a/pkgs/development/tools/replay-io/default.nix +++ b/pkgs/development/tools/replay-io/default.nix @@ -1,14 +1,35 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, autoPatchelfHook, makeWrapper, libcxx -, libX11, libXt, libXdamage, glib, gtk3, dbus-glib, openssl, nodejs, zlib -, fetchzip }: -let metadata = lib.importJSON ./meta.json; -in rec { +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + autoPatchelfHook, + makeWrapper, + libcxx, + libX11, + libXt, + libXdamage, + glib, + gtk3, + dbus-glib, + openssl, + nodejs, + zlib, + fetchzip, +}: +let + metadata = lib.importJSON ./meta.json; +in +rec { replay-recordreplay = stdenv.mkDerivation rec { pname = "replay-recordreplay"; - version = builtins.head (builtins.match ".*/linux-recordreplay-(.*).tgz" - metadata.recordreplay.url); + version = builtins.head (builtins.match ".*/linux-recordreplay-(.*).tgz" metadata.recordreplay.url); nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ (lib.getLib stdenv.cc.cc) openssl zlib ]; + buildInputs = [ + (lib.getLib stdenv.cc.cc) + openssl + zlib + ]; src = (fetchzip metadata.recordreplay); dontBuild = true; @@ -18,9 +39,7 @@ in rec { runHook postInstall ''; postFixup = '' - patchelf --set-rpath "$(patchelf --print-rpath $out):${ - lib.makeLibraryPath [ openssl ] - }" $out + patchelf --set-rpath "$(patchelf --print-rpath $out):${lib.makeLibraryPath [ openssl ]}" $out ''; meta = with lib; { description = "RecordReplay internal recording library"; @@ -33,11 +52,20 @@ in rec { replay-io = stdenv.mkDerivation rec { pname = "replay-io"; - version = builtins.head - (builtins.match ".*/linux-gecko-(.*).tar.bz2" metadata.replay.url); + version = builtins.head (builtins.match ".*/linux-gecko-(.*).tar.bz2" metadata.replay.url); srcs = fetchurl metadata.replay; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; - buildInputs = [ dbus-glib glib gtk3 libX11 libXdamage libXt ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; + buildInputs = [ + dbus-glib + glib + gtk3 + libX11 + libXdamage + libXt + ]; installPhase = '' runHook preInstall mkdir -p $out/opt/replay-io @@ -70,9 +98,11 @@ in rec { replay-node = stdenv.mkDerivation rec { pname = "replay-node"; - version = builtins.head - (builtins.match ".*/linux-node-(.*)" metadata.replay-node.url); - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + version = builtins.head (builtins.match ".*/linux-node-(.*)" metadata.replay-node.url); + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; buildInputs = [ (lib.getLib stdenv.cc.cc) ]; src = (fetchurl metadata.replay-node); @@ -104,8 +134,7 @@ in rec { replay-node-cli = stdenv.mkDerivation { pname = "replay-node-cli"; - version = "0.1.7-" + builtins.head - (builtins.match ".*/linux-node-(.*)" metadata.replay-node.url); + version = "0.1.7-" + builtins.head (builtins.match ".*/linux-node-(.*)" metadata.replay-node.url); src = fetchFromGitHub { owner = "RecordReplay"; repo = "replay-node-cli"; @@ -114,7 +143,10 @@ in rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ (lib.getLib stdenv.cc.cc) nodejs ]; + buildInputs = [ + (lib.getLib stdenv.cc.cc) + nodejs + ]; dontBuild = true; installPhase = '' runHook preInstall diff --git a/pkgs/development/tools/rgp/default.nix b/pkgs/development/tools/rgp/default.nix index 85c04d53e8013..aaccbdba360f2 100644 --- a/pkgs/development/tools/rgp/default.nix +++ b/pkgs/development/tools/rgp/default.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, makeWrapper -, fetchurl -, autoPatchelfHook -, dbus -, fontconfig -, freetype -, glib -, libdrm -, libGLU -, libglvnd -, libICE -, libkrb5 -, libSM -, libX11 -, libxcb -, libXi -, libxkbcommon -, ncurses -, wayland -, zlib +{ + lib, + stdenv, + makeWrapper, + fetchurl, + autoPatchelfHook, + dbus, + fontconfig, + freetype, + glib, + libdrm, + libGLU, + libglvnd, + libICE, + libkrb5, + libSM, + libX11, + libxcb, + libXi, + libxkbcommon, + ncurses, + wayland, + zlib, }: let @@ -34,7 +35,10 @@ stdenv.mkDerivation { hash = "sha256-mgIFDStgat4E+67TaSLrcwgWTu7zLf7Nkn6zBlgeVcQ="; }; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ + makeWrapper + autoPatchelfHook + ]; buildInputs = [ dbus diff --git a/pkgs/development/tools/rover/default.nix b/pkgs/development/tools/rover/default.nix index 978935595fecf..8b2e47d81605b 100644 --- a/pkgs/development/tools/rover/default.nix +++ b/pkgs/development/tools/rover/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, pkg-config -, rustPlatform -, openssl -, darwin -, stdenv +{ + lib, + fetchFromGitHub, + pkg-config, + rustPlatform, + openssl, + darwin, + stdenv, }: rustPlatform.buildRustPackage rec { @@ -20,13 +21,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Rf4kRXYW+WAF1rM7o8PmXBLgp/YyA8y/TqbZL22VOqI="; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - darwin.apple_sdk.frameworks.CoreServices - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.CoreServices + darwin.apple_sdk.frameworks.SystemConfiguration + ]; nativeBuildInputs = [ pkg-config @@ -57,6 +60,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "rover"; homepage = "https://www.apollographql.com/docs/rover"; license = licenses.mit; - maintainers = [ maintainers.ivanbrennan maintainers.aaronarinder ]; + maintainers = [ + maintainers.ivanbrennan + maintainers.aaronarinder + ]; }; } diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix index b3f9e00a81a5f..b0f2ea7303312 100644 --- a/pkgs/development/tools/rtags/default.nix +++ b/pkgs/development/tools/rtags/default.nix @@ -1,12 +1,36 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, llvmPackages, openssl, apple_sdk, emacs, pkg-config }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + llvmPackages, + openssl, + apple_sdk, + emacs, + pkg-config, +}: stdenv.mkDerivation rec { pname = "rtags"; version = "2.38"; - nativeBuildInputs = [ cmake pkg-config llvmPackages.llvm.dev ]; - buildInputs = [ llvmPackages.llvm llvmPackages.libclang openssl emacs ] + nativeBuildInputs = [ + cmake + pkg-config + llvmPackages.llvm.dev + ]; + buildInputs = + [ + llvmPackages.llvm + llvmPackages.libclang + openssl + emacs + ] ++ lib.optionals stdenv.cc.isGNU [ llvmPackages.clang-unwrapped ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple_sdk.libs.xpc apple_sdk.frameworks.CoreServices ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple_sdk.libs.xpc + apple_sdk.frameworks.CoreServices + ]; src = fetchFromGitHub { owner = "andersbakken"; @@ -23,11 +47,13 @@ stdenv.mkDerivation rec { # This should be fixed with the next verison bump # https://github.com/Andersbakken/rtags/issues/1411 - patches = [(fetchpatch { - name = "define-obsolete-function-alias.patch"; - url = "https://github.com/Andersbakken/rtags/commit/63f18acb21e664fd92fbc19465f0b5df085b5e93.patch"; - sha256 = "sha256-dmEPtnk8Pylmf5479ovHKItRZ+tJuOWuYOQbWB/si/Y="; - })]; + patches = [ + (fetchpatch { + name = "define-obsolete-function-alias.patch"; + url = "https://github.com/Andersbakken/rtags/commit/63f18acb21e664fd92fbc19465f0b5df085b5e93.patch"; + sha256 = "sha256-dmEPtnk8Pylmf5479ovHKItRZ+tJuOWuYOQbWB/si/Y="; + }) + ]; preConfigure = '' export LIBCLANG_CXXFLAGS="-isystem ${llvmPackages.clang.cc}/include $(llvm-config --cxxflags) -fexceptions" \ diff --git a/pkgs/development/tools/rubyfmt/default.nix b/pkgs/development/tools/rubyfmt/default.nix index 480826ab55d0b..f58e56a35f03f 100644 --- a/pkgs/development/tools/rubyfmt/default.nix +++ b/pkgs/development/tools/rubyfmt/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, autoconf -, automake -, bison -, ruby -, zlib -, readline -, libiconv -, libobjc -, libunwind -, libxcrypt -, libyaml -, rust-jemalloc-sys-unprefixed -, Foundation -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + autoconf, + automake, + bison, + ruby, + zlib, + readline, + libiconv, + libobjc, + libunwind, + libxcrypt, + libyaml, + rust-jemalloc-sys-unprefixed, + Foundation, + Security, }: rustPlatform.buildRustPackage rec { @@ -37,19 +38,21 @@ rustPlatform.buildRustPackage rec { ruby ]; - buildInputs = [ - zlib - libxcrypt - libyaml - rust-jemalloc-sys-unprefixed - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - readline - libiconv - libobjc - libunwind - Foundation - Security - ]; + buildInputs = + [ + zlib + libxcrypt + libyaml + rust-jemalloc-sys-unprefixed + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + readline + libiconv + libobjc + libunwind + Foundation + Security + ]; preConfigure = '' pushd librubyfmt/ruby_checkout diff --git a/pkgs/development/tools/rufo/default.nix b/pkgs/development/tools/rufo/default.nix index f198ce36d91b2..ebd32f78be7bb 100644 --- a/pkgs/development/tools/rufo/default.nix +++ b/pkgs/development/tools/rufo/default.nix @@ -1,4 +1,8 @@ -{ bundlerApp, bundlerUpdateScript, lib }: +{ + bundlerApp, + bundlerUpdateScript, + lib, +}: bundlerApp { pname = "rufo"; diff --git a/pkgs/development/tools/rufo/gemset.nix b/pkgs/development/tools/rufo/gemset.nix index 36b2d87637a9d..18b3414d4be9b 100644 --- a/pkgs/development/tools/rufo/gemset.nix +++ b/pkgs/development/tools/rufo/gemset.nix @@ -1,9 +1,9 @@ { rufo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rqq6mf7fvwvc9m3d5w5ysch3h7z4ml1vvdvy26064fb6lrnn5ai"; type = "gem"; }; diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index 1e2af744f9bce..c6e6ec12f9d0a 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -1,47 +1,57 @@ -{ lib, rust-bindgen-unwrapped, zlib, bash, runCommand, runCommandCC }: +{ + lib, + rust-bindgen-unwrapped, + zlib, + bash, + runCommand, + runCommandCC, +}: let clang = rust-bindgen-unwrapped.clang; - self = runCommand "rust-bindgen-${rust-bindgen-unwrapped.version}" - { - #for substituteAll - inherit bash; - unwrapped = rust-bindgen-unwrapped; - libclang = (lib.getLib clang.cc); - meta = rust-bindgen-unwrapped.meta // { - longDescription = rust-bindgen-unwrapped.meta.longDescription + '' - This version of bindgen is wrapped with the required compiler flags - required to find the c and c++ standard library, as well as the libraries - specified in the buildInputs of your derivation. - ''; - }; - passthru.tests = { - simple-c = runCommandCC "simple-c-bindgen-tests" { } '' - echo '#include ' > a.c - ${self}/bin/bindgen a.c --allowlist-function atoi | tee output - grep atoi output - touch $out - ''; - simple-cpp = runCommandCC "simple-cpp-bindgen-tests" { } '' - echo '#include ' > a.cpp - ${self}/bin/bindgen a.cpp --allowlist-function erf -- -xc++ | tee output - grep erf output - touch $out - ''; - with-lib = runCommandCC "zlib-bindgen-tests" { buildInputs = [ zlib ]; } '' - echo '#include ' > a.c - ${self}/bin/bindgen a.c --allowlist-function compress | tee output - grep compress output - touch $out - ''; - }; - } - # if you modify the logic to find the right clang flags, also modify rustPlatform.bindgenHook - '' - mkdir -p $out/bin - export cincludes="$(< ${clang}/nix-support/cc-cflags) $(< ${clang}/nix-support/libc-cflags)" - export cxxincludes="$(< ${clang}/nix-support/libcxx-cxxflags)" - substituteAll ${./wrapper.sh} $out/bin/bindgen - chmod +x $out/bin/bindgen - ''; + self = + runCommand "rust-bindgen-${rust-bindgen-unwrapped.version}" + { + #for substituteAll + inherit bash; + unwrapped = rust-bindgen-unwrapped; + libclang = (lib.getLib clang.cc); + meta = rust-bindgen-unwrapped.meta // { + longDescription = + rust-bindgen-unwrapped.meta.longDescription + + '' + This version of bindgen is wrapped with the required compiler flags + required to find the c and c++ standard library, as well as the libraries + specified in the buildInputs of your derivation. + ''; + }; + passthru.tests = { + simple-c = runCommandCC "simple-c-bindgen-tests" { } '' + echo '#include ' > a.c + ${self}/bin/bindgen a.c --allowlist-function atoi | tee output + grep atoi output + touch $out + ''; + simple-cpp = runCommandCC "simple-cpp-bindgen-tests" { } '' + echo '#include ' > a.cpp + ${self}/bin/bindgen a.cpp --allowlist-function erf -- -xc++ | tee output + grep erf output + touch $out + ''; + with-lib = runCommandCC "zlib-bindgen-tests" { buildInputs = [ zlib ]; } '' + echo '#include ' > a.c + ${self}/bin/bindgen a.c --allowlist-function compress | tee output + grep compress output + touch $out + ''; + }; + } + # if you modify the logic to find the right clang flags, also modify rustPlatform.bindgenHook + '' + mkdir -p $out/bin + export cincludes="$(< ${clang}/nix-support/cc-cflags) $(< ${clang}/nix-support/libc-cflags)" + export cxxincludes="$(< ${clang}/nix-support/libcxx-cxxflags)" + substituteAll ${./wrapper.sh} $out/bin/bindgen + chmod +x $out/bin/bindgen + ''; in self diff --git a/pkgs/development/tools/rust/cargo-asm/default.nix b/pkgs/development/tools/rust/cargo-asm/default.nix index 4e8cecb4a338c..476eb57c4341b 100644 --- a/pkgs/development/tools/rust/cargo-asm/default.nix +++ b/pkgs/development/tools/rust/cargo-asm/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "cargo-asm"; diff --git a/pkgs/development/tools/rust/cargo-bazel/default.nix b/pkgs/development/tools/rust/cargo-bazel/default.nix index 151f155f9ee14..35db4be2116be 100644 --- a/pkgs/development/tools/rust/cargo-bazel/default.nix +++ b/pkgs/development/tools/rust/cargo-bazel/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchCrate -, rustPlatform -, Security +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix index 3dd89aefe7acf..e100e2a09998f 100644 --- a/pkgs/development/tools/rust/cargo-c/default.nix +++ b/pkgs/development/tools/rust/cargo-c/default.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, curl -, openssl -, stdenv -, CoreFoundation -, libiconv -, Security -, rav1e +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + curl, + openssl, + stdenv, + CoreFoundation, + libiconv, + Security, + rav1e, }: rustPlatform.buildRustPackage rec { @@ -24,12 +25,20 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-UfhIz87s0CLUDbIpWMPzGQ7qVmh14GuiFoquauSbTOw="; - nativeBuildInputs = [ pkg-config (lib.getDev curl) ]; - buildInputs = [ openssl curl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreFoundation - libiconv - Security + nativeBuildInputs = [ + pkg-config + (lib.getDev curl) ]; + buildInputs = + [ + openssl + curl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreFoundation + libiconv + Security + ]; # Ensure that we are avoiding build of the curl vendored in curl-sys doInstallCheck = stdenv.hostPlatform.libc == "glibc"; diff --git a/pkgs/development/tools/rust/cargo-cache/default.nix b/pkgs/development/tools/rust/cargo-cache/default.nix index fc5da4b5b1cbe..7b8b60ad4125f 100644 --- a/pkgs/development/tools/rust/cargo-cache/default.nix +++ b/pkgs/development/tools/rust/cargo-cache/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "cargo-cache"; @@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-275QREIcncgBk4ah/CivSz5N2m6s/XPCfp6JGChpr38="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; checkFlags = [ "offline_tests" ]; @@ -21,7 +31,13 @@ rustPlatform.buildRustPackage rec { description = "Manage cargo cache (\${CARGO_HOME}, ~/.cargo/), print sizes of dirs and remove dirs selectively"; mainProgram = "cargo-cache"; homepage = "https://github.com/matthiaskrgr/cargo-cache"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ Br1ght0ne matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + Br1ght0ne + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-clone/default.nix b/pkgs/development/tools/rust/cargo-clone/default.nix index ee119146feaf5..a14d9f4431b8e 100644 --- a/pkgs/development/tools/rust/cargo-clone/default.nix +++ b/pkgs/development/tools/rust/cargo-clone/default.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, CoreServices -, Security -, SystemConfiguration +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + CoreServices, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - Security - SystemConfiguration - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + SystemConfiguration + ]; # requires internet access doCheck = false; @@ -38,7 +41,14 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-clone"; homepage = "https://github.com/janlikar/cargo-clone"; changelog = "https://github.com/janlikar/cargo-clone/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 mit ]; - maintainers = with maintainers; [ figsoda matthiasbeyer janlikar ]; + license = with licenses; [ + asl20 + mit + ]; + maintainers = with maintainers; [ + figsoda + matthiasbeyer + janlikar + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-codspeed/default.nix b/pkgs/development/tools/rust/cargo-codspeed/default.nix index ce20d409df288..2d162dd2ef354 100644 --- a/pkgs/development/tools/rust/cargo-codspeed/default.nix +++ b/pkgs/development/tools/rust/cargo-codspeed/default.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, curl -, pkg-config -, libgit2 -, openssl -, zlib -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + curl, + pkg-config, + libgit2, + openssl, + zlib, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,14 +29,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - curl - libgit2 - openssl - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Security - ]; + buildInputs = + [ + curl + libgit2 + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; cargoBuildFlags = [ "-p=cargo-codspeed" ]; cargoTestFlags = cargoBuildFlags; @@ -48,7 +51,10 @@ rustPlatform.buildRustPackage rec { description = "Cargo extension to build & run your codspeed benchmarks"; homepage = "https://github.com/CodSpeedHQ/codspeed-rust"; changelog = "https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/${src.rev}"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "cargo-codspeed"; }; diff --git a/pkgs/development/tools/rust/cargo-cyclonedx/default.nix b/pkgs/development/tools/rust/cargo-cyclonedx/default.nix index f8fd99b30dffa..59f21853a23b7 100644 --- a/pkgs/development/tools/rust/cargo-cyclonedx/default.nix +++ b/pkgs/development/tools/rust/cargo-cyclonedx/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, Security -, SystemConfiguration -, CoreFoundation -, curl +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + Security, + SystemConfiguration, + CoreFoundation, + curl, }: rustPlatform.buildRustPackage rec { @@ -27,14 +28,16 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - SystemConfiguration - CoreFoundation - curl - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + CoreFoundation + curl + ]; meta = with lib; { description = "Creates CycloneDX Software Bill of Materials (SBOM) from Rust (Cargo) projects"; diff --git a/pkgs/development/tools/rust/cargo-edit/default.nix b/pkgs/development/tools/rust/cargo-edit/default.nix index f42607332d711..f97543a88bc59 100644 --- a/pkgs/development/tools/rust/cargo-edit/default.nix +++ b/pkgs/development/tools/rust/cargo-edit/default.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, zlib -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + zlib, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -23,9 +24,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; doCheck = false; # integration tests depend on changing cargo config @@ -33,7 +39,16 @@ rustPlatform.buildRustPackage rec { description = "Utility for managing cargo dependencies from the command line"; homepage = "https://github.com/killercup/cargo-edit"; changelog = "https://github.com/killercup/cargo-edit/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ Br1ght0ne figsoda gerschtli jb55 killercup ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + Br1ght0ne + figsoda + gerschtli + jb55 + killercup + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-flamegraph/default.nix b/pkgs/development/tools/rust/cargo-flamegraph/default.nix index aca8e713e6e3f..e440b9074504a 100644 --- a/pkgs/development/tools/rust/cargo-flamegraph/default.nix +++ b/pkgs/development/tools/rust/cargo-flamegraph/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, perf, nix-update-script -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + makeWrapper, + perf, + nix-update-script, + Security, }: rustPlatform.buildRustPackage rec { @@ -32,7 +39,13 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3"; homepage = "https://github.com/flamegraph-rs/flamegraph"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ killercup matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + killercup + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-fund/default.nix b/pkgs/development/tools/rust/cargo-fund/default.nix index 23d13a8841ae7..50e3b7db2bf09 100644 --- a/pkgs/development/tools/rust/cargo-fund/default.nix +++ b/pkgs/development/tools/rust/cargo-fund/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, rustPlatform, Security, curl, openssl, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + rustPlatform, + Security, + curl, + openssl, + libiconv, +}: rustPlatform.buildRustPackage rec { pname = "cargo-fund"; @@ -18,13 +28,22 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security libiconv curl ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + libiconv + curl + ]; meta = with lib; { description = "Discover funding links for your project's dependencies"; mainProgram = "cargo-fund"; homepage = "https://github.com/acfoltzer/cargo-fund"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ johntitor ]; }; } diff --git a/pkgs/development/tools/rust/cargo-hf2/default.nix b/pkgs/development/tools/rust/cargo-hf2/default.nix index 8859fa605a429..08544400fc46e 100644 --- a/pkgs/development/tools/rust/cargo-hf2/default.nix +++ b/pkgs/development/tools/rust/cargo-hf2/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, libusb1 -, stdenv -, AppKit +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + libusb1, + stdenv, + AppKit, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/rust/cargo-inspect/default.nix b/pkgs/development/tools/rust/cargo-inspect/default.nix index b1126b42f2480..47f236d0b525a 100644 --- a/pkgs/development/tools/rust/cargo-inspect/default.nix +++ b/pkgs/development/tools/rust/cargo-inspect/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, Security }: +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + Security, +}: rustPlatform.buildRustPackage rec { pname = "cargo-inspect"; @@ -19,7 +25,13 @@ rustPlatform.buildRustPackage rec { description = "See what Rust is doing behind the curtains"; mainProgram = "cargo-inspect"; homepage = "https://github.com/mre/cargo-inspect"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ minijackson matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + minijackson + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-msrv/default.nix b/pkgs/development/tools/rust/cargo-msrv/default.nix index ec0f9331df7bf..4a1ff0908d594 100644 --- a/pkgs/development/tools/rust/cargo-msrv/default.nix +++ b/pkgs/development/tools/rust/cargo-msrv/default.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, rustup -, openssl -, stdenv -, libiconv -, Security -, makeWrapper -, gitUpdater +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + rustup, + openssl, + stdenv, + libiconv, + Security, + makeWrapper, + gitUpdater, }: rustPlatform.buildRustPackage rec { @@ -34,11 +35,19 @@ rustPlatform.buildRustPackage rec { # Integration tests fail doCheck = false; - buildInputs = if stdenv.hostPlatform.isDarwin - then [ libiconv Security ] - else [ openssl ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ + libiconv + Security + ] + else + [ openssl ]; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; # Depends at run-time on having rustup in PATH postInstall = '' @@ -49,7 +58,13 @@ rustPlatform.buildRustPackage rec { description = "Cargo subcommand \"msrv\": assists with finding your minimum supported Rust version (MSRV)"; mainProgram = "cargo-msrv"; homepage = "https://github.com/foresterre/cargo-msrv"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ otavio matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + otavio + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-ndk/default.nix b/pkgs/development/tools/rust/cargo-ndk/default.nix index 8e38d601c7522..c0231216b4bad 100644 --- a/pkgs/development/tools/rust/cargo-ndk/default.nix +++ b/pkgs/development/tools/rust/cargo-ndk/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, CoreGraphics -, Foundation +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + CoreGraphics, + Foundation, }: rustPlatform.buildRustPackage rec { @@ -28,8 +29,10 @@ rustPlatform.buildRustPackage rec { description = "Cargo extension for building Android NDK projects"; mainProgram = "cargo-ndk"; homepage = "https://github.com/bbqsrc/cargo-ndk"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ mglolenstine ]; }; } - diff --git a/pkgs/development/tools/rust/cargo-outdated/default.nix b/pkgs/development/tools/rust/cargo-outdated/default.nix index 41003605dab93..876f01215cbf4 100644 --- a/pkgs/development/tools/rust/cargo-outdated/default.nix +++ b/pkgs/development/tools/rust/cargo-outdated/default.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchCrate -, pkg-config -, openssl -, stdenv -, curl -, CoreFoundation -, CoreServices -, Security -, SystemConfiguration +{ + lib, + rustPlatform, + fetchCrate, + pkg-config, + openssl, + stdenv, + curl, + CoreFoundation, + CoreServices, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -24,20 +25,28 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - curl - CoreFoundation - CoreServices - Security - SystemConfiguration - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + CoreFoundation + CoreServices + Security + SystemConfiguration + ]; meta = with lib; { description = "Cargo subcommand for displaying when Rust dependencies are out of date"; mainProgram = "cargo-outdated"; homepage = "https://github.com/kbknapp/cargo-outdated"; changelog = "https://github.com/kbknapp/cargo-outdated/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ ivan matthiasbeyer ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + ivan + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix b/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix index 785a500c3917e..504ad1a0bbdff 100644 --- a/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix +++ b/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix @@ -27,13 +27,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -{ lib -, cargo-pgrx -, pkg-config -, rustPlatform -, stdenv -, Security -, writeShellScriptBin +{ + lib, + cargo-pgrx, + pkg-config, + rustPlatform, + stdenv, + Security, + writeShellScriptBin, }: # The idea behind: Use it mostly like rustPlatform.buildRustPackage and so @@ -47,26 +48,31 @@ # unnecessary and heavy dependency. If you set this to true, you also # have to add `rustfmt` to `nativeBuildInputs`. -{ buildAndTestSubdir ? null -, buildType ? "release" -, buildFeatures ? [ ] -, cargoBuildFlags ? [ ] -, postgresql -# cargo-pgrx calls rustfmt on generated bindings, this is not strictly necessary, so we avoid the -# dependency here. Set to false and provide rustfmt in nativeBuildInputs, if you need it, e.g. -# if you include the generated code in the output via postInstall. -, useFakeRustfmt ? true -, usePgTestCheckFeature ? true -, ... -} @ args: +{ + buildAndTestSubdir ? null, + buildType ? "release", + buildFeatures ? [ ], + cargoBuildFlags ? [ ], + postgresql, + # cargo-pgrx calls rustfmt on generated bindings, this is not strictly necessary, so we avoid the + # dependency here. Set to false and provide rustfmt in nativeBuildInputs, if you need it, e.g. + # if you include the generated code in the output via postInstall. + useFakeRustfmt ? true, + usePgTestCheckFeature ? true, + ... +}@args: let - rustfmtInNativeBuildInputs = lib.lists.any (dep: lib.getName dep == "rustfmt") (args.nativeBuildInputs or []); + rustfmtInNativeBuildInputs = lib.lists.any (dep: lib.getName dep == "rustfmt") ( + args.nativeBuildInputs or [ ] + ); in -assert lib.asserts.assertMsg ((args.installPhase or "") == "") - "buildPgrxExtensions overwrites the installPhase, so providing one does nothing"; -assert lib.asserts.assertMsg ((args.buildPhase or "") == "") - "buildPgrxExtensions overwrites the buildPhase, so providing one does nothing"; +assert lib.asserts.assertMsg ( + (args.installPhase or "") == "" +) "buildPgrxExtensions overwrites the installPhase, so providing one does nothing"; +assert lib.asserts.assertMsg ( + (args.buildPhase or "") == "" +) "buildPgrxExtensions overwrites the buildPhase, so providing one does nothing"; assert lib.asserts.assertMsg (useFakeRustfmt -> !rustfmtInNativeBuildInputs) "The parameter useFakeRustfmt is set to true, but rustfmt is included in nativeBuildInputs. Either set useFakeRustfmt to false or remove rustfmt from nativeBuildInputs."; assert lib.asserts.assertMsg (!useFakeRustfmt -> rustfmtInNativeBuildInputs) @@ -75,7 +81,7 @@ assert lib.asserts.assertMsg (!useFakeRustfmt -> rustfmtInNativeBuildInputs) let fakeRustfmt = writeShellScriptBin "rustfmt" '' exit 0 - ''; + ''; maybeDebugFlag = lib.optionalString (buildType != "release") "--debug"; maybeEnterBuildAndTestSubdir = lib.optionalString (buildAndTestSubdir != null) '' export CARGO_TARGET_DIR="$(pwd)/target" @@ -103,19 +109,26 @@ let pg_ctl stop ''; - argsForBuildRustPackage = builtins.removeAttrs args [ "postgresql" "useFakeRustfmt" "usePgTestCheckFeature" ]; + argsForBuildRustPackage = builtins.removeAttrs args [ + "postgresql" + "useFakeRustfmt" + "usePgTestCheckFeature" + ]; # so we don't accidentally `(rustPlatform.buildRustPackage argsForBuildRustPackage) // { ... }` because # we forgot parentheses finalArgs = argsForBuildRustPackage // { buildInputs = (args.buildInputs or [ ]) ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ - cargo-pgrx - postgresql - pkg-config - rustPlatform.bindgenHook - ] ++ lib.optionals useFakeRustfmt [ fakeRustfmt ]; + nativeBuildInputs = + (args.nativeBuildInputs or [ ]) + ++ [ + cargo-pgrx + postgresql + pkg-config + rustPlatform.bindgenHook + ] + ++ lib.optionals useFakeRustfmt [ fakeRustfmt ]; buildPhase = '' runHook preBuild @@ -161,7 +174,10 @@ let RUST_BACKTRACE = "full"; checkNoDefaultFeatures = true; - checkFeatures = (args.checkFeatures or [ ]) ++ (lib.optionals usePgTestCheckFeature [ "pg_test" ]) ++ [ "pg${pgrxPostgresMajor}" ]; + checkFeatures = + (args.checkFeatures or [ ]) + ++ (lib.optionals usePgTestCheckFeature [ "pg_test" ]) + ++ [ "pg${pgrxPostgresMajor}" ]; }; in rustPlatform.buildRustPackage finalArgs diff --git a/pkgs/development/tools/rust/cargo-udeps/default.nix b/pkgs/development/tools/rust/cargo-udeps/default.nix index cb1321e451e57..1ad27f4a9b99d 100644 --- a/pkgs/development/tools/rust/cargo-udeps/default.nix +++ b/pkgs/development/tools/rust/cargo-udeps/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, CoreServices, Security, libiconv, SystemConfiguration }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + CoreServices, + Security, + libiconv, + SystemConfiguration, +}: rustPlatform.buildRustPackage rec { pname = "cargo-udeps"; @@ -16,8 +27,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; # TODO figure out how to use provided curl instead of compiling curl from curl-sys - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security libiconv SystemConfiguration ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + libiconv + SystemConfiguration + ]; # Requires network access doCheck = false; @@ -26,7 +43,10 @@ rustPlatform.buildRustPackage rec { description = "Find unused dependencies in Cargo.toml"; homepage = "https://github.com/est31/cargo-udeps"; license = licenses.mit; - maintainers = with maintainers; [ b4dm4n matthiasbeyer ]; + maintainers = with maintainers; [ + b4dm4n + matthiasbeyer + ]; mainProgram = "cargo-udeps"; }; } diff --git a/pkgs/development/tools/rust/cargo-vet/default.nix b/pkgs/development/tools/rust/cargo-vet/default.nix index 69c5d69d2c69f..7f88be5ddfbf0 100644 --- a/pkgs/development/tools/rust/cargo-vet/default.nix +++ b/pkgs/development/tools/rust/cargo-vet/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "cargo-vet"; @@ -24,7 +30,13 @@ rustPlatform.buildRustPackage rec { description = "Tool to help projects ensure that third-party Rust dependencies have been audited by a trusted source"; mainProgram = "cargo-vet"; homepage = "https://mozilla.github.io/cargo-vet"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda jk ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + jk + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-watch/default.nix b/pkgs/development/tools/rust/cargo-watch/default.nix index 91e7fea0fa107..0ba5fd8b450fe 100644 --- a/pkgs/development/tools/rust/cargo-watch/default.nix +++ b/pkgs/development/tools/rust/cargo-watch/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, Cocoa -, Foundation +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + Cocoa, + Foundation, }: rustPlatform.buildRustPackage rec { @@ -19,9 +20,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-oqGc5haN8Jyi0eQf8egrRXWxi0RGVdIFhpGKgmFB8DI="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Foundation Cocoa ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + Cocoa + ]; - NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ "-framework" "AppKit" ]; + NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "-framework" + "AppKit" + ]; # `test with_cargo` tries to call cargo-watch as a cargo subcommand # (calling cargo-watch with command `cargo watch`) @@ -34,6 +41,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "cargo-watch"; homepage = "https://github.com/watchexec/cargo-watch"; license = licenses.cc0; - maintainers = with maintainers; [ xrelkd ivan matthiasbeyer ]; + maintainers = with maintainers; [ + xrelkd + ivan + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix index 42b3078f4e947..ad29ce3774975 100644 --- a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix +++ b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + Security, +}: rustPlatform.buildRustPackage rec { pname = "cargo-whatfeatures"; @@ -15,14 +23,19 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; meta = with lib; { description = "Simple cargo plugin to get a list of features for a specific crate"; mainProgram = "cargo-whatfeatures"; homepage = "https://github.com/museun/cargo-whatfeatures"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ ivan-babrou matthiasbeyer ]; + license = with licenses; [ + mit + asl20 + ]; + maintainers = with maintainers; [ + ivan-babrou + matthiasbeyer + ]; }; } diff --git a/pkgs/development/tools/rust/duckscript/default.nix b/pkgs/development/tools/rust/duckscript/default.nix index bfafef5c70c1a..adebe70d878ab 100644 --- a/pkgs/development/tools/rust/duckscript/default.nix +++ b/pkgs/development/tools/rust/duckscript/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchCrate -, rustPlatform -, Security -, openssl -, pkg-config -, SystemConfiguration -, libiconv +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + Security, + openssl, + pkg-config, + SystemConfiguration, + libiconv, }: rustPlatform.buildRustPackage rec { @@ -20,8 +21,13 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration libiconv ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + libiconv + ]; cargoHash = "sha256-TX/Xi57fn85GjHc74icxhsQ6n7FwqzGIr3Qoc2o681E="; diff --git a/pkgs/development/tools/rust/humility/default.nix b/pkgs/development/tools/rust/humility/default.nix index 5486d0785233e..b443575175651 100644 --- a/pkgs/development/tools/rust/humility/default.nix +++ b/pkgs/development/tools/rust/humility/default.nix @@ -1,22 +1,31 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, libusb1 -, libftdi -, cargo-readme -, pkg-config -, AppKit +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + libusb1, + libftdi, + cargo-readme, + pkg-config, + AppKit, }: rustPlatform.buildRustPackage rec { pname = "humility"; version = "unstable-2023-11-08"; - nativeBuildInputs = [ pkg-config cargo-readme ]; - buildInputs = [ libusb1 libftdi ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit + nativeBuildInputs = [ + pkg-config + cargo-readme ]; + buildInputs = + [ + libusb1 + libftdi + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + ]; src = fetchFromGitHub { owner = "oxidecomputer"; diff --git a/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix b/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix index f5dacb999a685..5f531bff222ee 100644 --- a/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix +++ b/pkgs/development/tools/rust/rustup-toolchain-install-master/default.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, runCommand -, stdenv -, patchelf -, zlib -, pkg-config -, openssl -, xz -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + runCommand, + stdenv, + patchelf, + zlib, + pkg-config, + openssl, + xz, + Security, }: rustPlatform.buildRustPackage rec { @@ -28,28 +29,32 @@ rustPlatform.buildRustPackage rec { patches = let - patchelfPatch = runCommand "0001-dynamically-patchelf-binaries.patch" { - CC = stdenv.cc; - patchelf = patchelf; - libPath = "$ORIGIN/../lib:${lib.makeLibraryPath [ zlib ]}"; - } - '' - export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) - substitute ${./0001-dynamically-patchelf-binaries.patch} $out \ - --subst-var patchelf \ - --subst-var dynamicLinker \ - --subst-var libPath - ''; + patchelfPatch = + runCommand "0001-dynamically-patchelf-binaries.patch" + { + CC = stdenv.cc; + patchelf = patchelf; + libPath = "$ORIGIN/../lib:${lib.makeLibraryPath [ zlib ]}"; + } + '' + export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) + substitute ${./0001-dynamically-patchelf-binaries.patch} $out \ + --subst-var patchelf \ + --subst-var dynamicLinker \ + --subst-var libPath + ''; in lib.optionals stdenv.hostPlatform.isLinux [ patchelfPatch ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - xz - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + xz + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; # update Cargo.lock to work with openssl 3 postPatch = '' diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix index 4225b2a4d29ef..e0de754928fc0 100644 --- a/pkgs/development/tools/rust/rustup/default.nix +++ b/pkgs/development/tools/rust/rustup/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, runCommand -, patchelf -, fetchFromGitHub -, rustPlatform -, makeBinaryWrapper -, pkg-config -, openssl -, curl -, zlib -, Security -, CoreServices -, libiconv -, xz +{ + stdenv, + lib, + runCommand, + patchelf, + fetchFromGitHub, + rustPlatform, + makeBinaryWrapper, + pkg-config, + openssl, + curl, + zlib, + Security, + CoreServices, + libiconv, + xz, }: let @@ -34,12 +35,22 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-iQoMPV97V9WJqT+qVtNpQtW5g+Jyl+U2uA+JEoRYTQA="; - nativeBuildInputs = [ makeBinaryWrapper pkg-config ]; + nativeBuildInputs = [ + makeBinaryWrapper + pkg-config + ]; - buildInputs = [ - (curl.override { inherit openssl; }) - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security libiconv xz ]; + buildInputs = + [ + (curl.override { inherit openssl; }) + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + libiconv + xz + ]; buildFeatures = [ "no-self-update" ]; @@ -51,13 +62,15 @@ rustPlatform.buildRustPackage rec { CC = stdenv.cc; patchelf = patchelf; libPath = "${libPath}"; - } '' - export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) - substitute ${./0001-dynamically-patchelf-binaries.patch} $out \ - --subst-var patchelf \ - --subst-var dynamicLinker \ - --subst-var libPath - '') + } + '' + export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) + substitute ${./0001-dynamically-patchelf-binaries.patch} $out \ + --subst-var patchelf \ + --subst-var dynamicLinker \ + --subst-var libPath + '' + ) ]; # Random tests fail nondeterministically on macOS. @@ -115,14 +128,23 @@ rustPlatform.buildRustPackage rec { ''; env = lib.optionalAttrs (pname == "rustup") { - inherit (stdenv.cc.bintools) expandResponseParams shell suffixSalt wrapperName coreutils_bin; + inherit (stdenv.cc.bintools) + expandResponseParams + shell + suffixSalt + wrapperName + coreutils_bin + ; hardening_unsupported_flags = ""; }; meta = with lib; { description = "Rust toolchain installer"; homepage = "https://www.rustup.rs/"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = [ maintainers.mic92 ]; }; } diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix index 71f6b2b9ddcd7..12891edf0b686 100644 --- a/pkgs/development/tools/rust/sqlx-cli/default.nix +++ b/pkgs/development/tools/rust/sqlx-cli/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, openssl -, libiconv -, testers -, sqlx-cli -, CoreFoundation -, Security -, SystemConfiguration -, nix-update-script +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + openssl, + libiconv, + testers, + sqlx-cli, + CoreFoundation, + Security, + SystemConfiguration, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -47,8 +48,8 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl - ] ++ - lib.optionals stdenv.hostPlatform.isDarwin [ + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation Security SystemConfiguration @@ -70,11 +71,14 @@ rustPlatform.buildRustPackage rec { passthru.updateScript = nix-update-script { }; meta = with lib; { - description = - "SQLx's associated command-line utility for managing databases, migrations, and enabling offline mode with sqlx::query!() and friends."; + description = "SQLx's associated command-line utility for managing databases, migrations, and enabling offline mode with sqlx::query!() and friends."; homepage = "https://github.com/launchbadge/sqlx"; license = licenses.asl20; - maintainers = with maintainers; [ greizgh xrelkd fd ]; + maintainers = with maintainers; [ + greizgh + xrelkd + fd + ]; mainProgram = "sqlx"; }; } diff --git a/pkgs/development/tools/sass/default.nix b/pkgs/development/tools/sass/default.nix index 8c76ac4e017b9..2c81f7fdf1813 100644 --- a/pkgs/development/tools/sass/default.nix +++ b/pkgs/development/tools/sass/default.nix @@ -1,17 +1,29 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "sass"; gemdir = ./.; - exes = [ "sass" "sass-convert" "scss" ]; + exes = [ + "sass" + "sass-convert" + "scss" + ]; passthru.updateScript = bundlerUpdateScript "sass"; meta = with lib; { description = "Tools and Ruby libraries for the CSS3 extension languages: Sass and SCSS"; - homepage = "https://sass-lang.com"; - license = licenses.mit; - maintainers = with maintainers; [ romildo manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "https://sass-lang.com"; + license = licenses.mit; + maintainers = with maintainers; [ + romildo + manveru + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/sass/gemset.nix b/pkgs/development/tools/sass/gemset.nix index 5cadd7870b86d..21540aa7fb249 100644 --- a/pkgs/development/tools/sass/gemset.nix +++ b/pkgs/development/tools/sass/gemset.nix @@ -1,52 +1,55 @@ { ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; version = "1.16.3"; }; rb-fsevent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; version = "0.11.2"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; type = "gem"; }; version = "0.10.1"; }; sass = { - dependencies = ["sass-listen"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sass-listen" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0"; type = "gem"; }; version = "3.7.4"; }; sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; type = "gem"; }; diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix index 4a5972a4018ed..576275d8bf195 100644 --- a/pkgs/development/tools/sauce-connect/default.nix +++ b/pkgs/development/tools/sauce-connect/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchurl, zlib, unzip }: +{ + stdenv, + lib, + fetchurl, + zlib, + unzip, +}: stdenv.mkDerivation rec { pname = "sauce-connect"; @@ -19,15 +25,16 @@ stdenv.mkDerivation rec { updateScript = ./update.sh; }; - src = passthru.sources.${stdenv.hostPlatform.system} - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + src = + passthru.sources.${stdenv.hostPlatform.system} + or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); nativeBuildInputs = [ unzip ]; patchPhase = lib.optionalString stdenv.hostPlatform.isLinux '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$out/lib:${lib.makeLibraryPath [zlib]}" \ + --set-rpath "$out/lib:${lib.makeLibraryPath [ zlib ]}" \ bin/sc ''; diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix index aa02fa8f405b1..94abffd961201 100644 --- a/pkgs/development/tools/scalafix/default.nix +++ b/pkgs/development/tools/scalafix/default.nix @@ -8,50 +8,52 @@ setJavaClassPath, testers, }: -stdenv.mkDerivation ( - finalAttrs: { - pname = "scalafix"; - version = "0.12.0"; - deps = stdenv.mkDerivation { - name = "${finalAttrs.pname}-deps-${finalAttrs.version}"; - buildCommand = '' - export COURSIER_CACHE=$(pwd) - ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.13:${finalAttrs.version} > deps - mkdir -p $out/share/java - cp $(< deps) $out/share/java/ - ''; - outputHashMode = "recursive"; - outputHash = "sha256-HMTnr3awTIAgLSl4eF36U1kv162ajJxC5MreSk2TfUE="; - }; +stdenv.mkDerivation (finalAttrs: { + pname = "scalafix"; + version = "0.12.0"; + deps = stdenv.mkDerivation { + name = "${finalAttrs.pname}-deps-${finalAttrs.version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.13:${finalAttrs.version} > deps + mkdir -p $out/share/java + cp $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHash = "sha256-HMTnr3awTIAgLSl4eF36U1kv162ajJxC5MreSk2TfUE="; + }; - nativeBuildInputs = [makeWrapper installShellFiles setJavaClassPath]; - buildInputs = [finalAttrs.deps]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + setJavaClassPath + ]; + buildInputs = [ finalAttrs.deps ]; - dontUnpack = true; + dontUnpack = true; - installPhase = '' - makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \ - --add-flags "-cp $CLASSPATH scalafix.cli.Cli" + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \ + --add-flags "-cp $CLASSPATH scalafix.cli.Cli" - installShellCompletion --cmd ${finalAttrs.pname} \ - --bash <($out/bin/${finalAttrs.pname} --bash) \ - --zsh <($out/bin/${finalAttrs.pname} --zsh) - ''; + installShellCompletion --cmd ${finalAttrs.pname} \ + --bash <($out/bin/${finalAttrs.pname} --bash) \ + --zsh <($out/bin/${finalAttrs.pname} --zsh) + ''; - passthru.tests = { - testVersion = testers.testVersion { - package = finalAttrs.finalPackage; - version = "${finalAttrs.version}"; - }; + passthru.tests = { + testVersion = testers.testVersion { + package = finalAttrs.finalPackage; + version = "${finalAttrs.version}"; }; + }; - meta = with lib; { - description = "Refactoring and linting tool for Scala"; - mainProgram = "scalafix"; - homepage = "https://scalacenter.github.io/scalafix/"; - license = licenses.bsd3; - maintainers = [maintainers.tomahna]; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - }; - } -) + meta = with lib; { + description = "Refactoring and linting tool for Scala"; + mainProgram = "scalafix"; + homepage = "https://scalacenter.github.io/scalafix/"; + license = licenses.bsd3; + maintainers = [ maintainers.tomahna ]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + }; +}) diff --git a/pkgs/development/tools/scry/default.nix b/pkgs/development/tools/scry/default.nix index 28a6c09177b42..e1982a96df90a 100644 --- a/pkgs/development/tools/scry/default.nix +++ b/pkgs/development/tools/scry/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, crystal, coreutils, makeWrapper, bash }: +{ + lib, + fetchFromGitHub, + crystal, + coreutils, + makeWrapper, + bash, +}: crystal.buildCrystalPackage rec { pname = "scry"; @@ -25,7 +32,12 @@ crystal.buildCrystalPackage rec { postFixup = '' wrapProgram $out/bin/scry \ - --prefix PATH : ${lib.makeBinPath [ crystal coreutils ]} + --prefix PATH : ${ + lib.makeBinPath [ + crystal + coreutils + ] + } ''; # the binary doesn't take any arguments, so this will hang @@ -35,6 +47,9 @@ crystal.buildCrystalPackage rec { description = "Code analysis server for the Crystal programming language"; homepage = "https://github.com/crystal-lang-tools/scry"; license = licenses.mit; - maintainers = with maintainers; [ peterhoeg Br1ght0ne ]; + maintainers = with maintainers; [ + peterhoeg + Br1ght0ne + ]; }; } diff --git a/pkgs/development/tools/scss-lint/default.nix b/pkgs/development/tools/scss-lint/default.nix index 2d26d2518d082..4d5cbab9945f2 100644 --- a/pkgs/development/tools/scss-lint/default.nix +++ b/pkgs/development/tools/scss-lint/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "scss_lint"; @@ -9,9 +13,12 @@ bundlerApp { meta = with lib; { description = "Tool to help keep your SCSS files clean and readable"; - homepage = "https://github.com/brigade/scss-lint"; - license = licenses.mit; - maintainers = with maintainers; [ lovek323 nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/brigade/scss-lint"; + license = licenses.mit; + maintainers = with maintainers; [ + lovek323 + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/scss-lint/gemset.nix b/pkgs/development/tools/scss-lint/gemset.nix index 027522e58f8b6..1262917c224a9 100644 --- a/pkgs/development/tools/scss-lint/gemset.nix +++ b/pkgs/development/tools/scss-lint/gemset.nix @@ -1,7 +1,7 @@ { ffi = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; type = "gem"; }; @@ -9,7 +9,7 @@ }; rake = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; type = "gem"; }; @@ -17,43 +17,49 @@ }; rb-fsevent = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; type = "gem"; }; version = "0.10.3"; }; rb-inotify = { - dependencies = ["ffi"]; + dependencies = [ "ffi" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; type = "gem"; }; version = "0.9.10"; }; sass = { - dependencies = ["sass-listen"]; + dependencies = [ "sass-listen" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phs6hnd8b95m7n5wbh5bsclmwaajd1sqlgw9fmj72bfqldbmcqa"; type = "gem"; }; version = "3.7.2"; }; sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; type = "gem"; }; version = "4.0.0"; }; scss_lint = { - dependencies = ["rake" "sass"]; + dependencies = [ + "rake" + "sass" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dv4ff1lqbgqdx99nwg059c983dhw67kvvjd21f6vf62cjx09lpn"; type = "gem"; }; diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index 4d62e7b8692d4..b43d3aae18102 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, chromium, callPackage }: -if lib.meta.availableOn stdenv.hostPlatform chromium - then callPackage ./source.nix {} - else callPackage ./binary.nix {} +{ + lib, + stdenv, + chromium, + callPackage, +}: +if lib.meta.availableOn stdenv.hostPlatform chromium then + callPackage ./source.nix { } +else + callPackage ./binary.nix { } diff --git a/pkgs/development/tools/selenium/chromedriver/source.nix b/pkgs/development/tools/selenium/chromedriver/source.nix index fcb22c4066448..a1bece1dea87d 100644 --- a/pkgs/development/tools/selenium/chromedriver/source.nix +++ b/pkgs/development/tools/selenium/chromedriver/source.nix @@ -1,4 +1,8 @@ -{ chromium, testers, chromedriver }: +{ + chromium, + testers, + chromedriver, +}: chromium.mkDerivation (_: { name = "chromedriver"; packageName = "chromedriver"; diff --git a/pkgs/development/tools/shellcheck/default.nix b/pkgs/development/tools/shellcheck/default.nix index 8d04c357ce508..7931e90505b04 100644 --- a/pkgs/development/tools/shellcheck/default.nix +++ b/pkgs/development/tools/shellcheck/default.nix @@ -1,11 +1,18 @@ -{ stdenv, lib, ShellCheck, haskell, pandoc }: +{ + stdenv, + lib, + ShellCheck, + haskell, + pandoc, +}: # this wraps around the haskell package # and puts the documentation into place let # TODO: move to lib/ in separate PR - overrideMeta = drv: overrideFn: + overrideMeta = + drv: overrideFn: let drv' = if drv ? meta then drv else drv // { meta = { }; }; pos = (builtins.unsafeGetAttrPos "pname" drv'); @@ -26,7 +33,12 @@ let nativeBuildInputs = [ pandoc ]; - outputs = [ "bin" "man" "doc" "out" ]; + outputs = [ + "bin" + "man" + "doc" + "out" + ]; buildPhase = '' pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1 @@ -49,5 +61,9 @@ in overrideMeta shellcheck (old: { maintainers = with lib.maintainers; [ zowoq ]; mainProgram = "shellcheck"; - outputsToInstall = [ "bin" "man" "doc" ]; + outputsToInstall = [ + "bin" + "man" + "doc" + ]; }) diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix index e50986dd65021..9a8dc3ef60e71 100644 --- a/pkgs/development/tools/simavr/default.nix +++ b/pkgs/development/tools/simavr/default.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, makeSetupHook, fetchFromGitHub, libelf, which, pkg-config, libglut -, avrgcc, avrlibc -, libGLU, libGL -, GLUT }: +{ + lib, + stdenv, + makeSetupHook, + fetchFromGitHub, + libelf, + which, + pkg-config, + libglut, + avrgcc, + avrlibc, + libGLU, + libGL, + GLUT, +}: let setupHookDarwin = makeSetupHook { @@ -11,7 +22,8 @@ let avrSuffixSalt = avrgcc.suffixSalt; }; } ./setup-hook-darwin.sh; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "simavr"; version = "1.7"; @@ -30,10 +42,17 @@ in stdenv.mkDerivation rec { "AVR=avr-" ]; - nativeBuildInputs = [ which pkg-config avrgcc ] - ++ lib.optional stdenv.hostPlatform.isDarwin setupHookDarwin; - buildInputs = [ libelf libglut libGLU libGL ] - ++ lib.optional stdenv.hostPlatform.isDarwin GLUT; + nativeBuildInputs = [ + which + pkg-config + avrgcc + ] ++ lib.optional stdenv.hostPlatform.isDarwin setupHookDarwin; + buildInputs = [ + libelf + libglut + libGLU + libGL + ] ++ lib.optional stdenv.hostPlatform.isDarwin GLUT; # remove forbidden references to $TMPDIR preFixup = lib.optionalString stdenv.hostPlatform.isLinux '' @@ -46,9 +65,9 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Lean and mean Atmel AVR simulator"; mainProgram = "simavr"; - homepage = "https://github.com/buserror/simavr"; - license = licenses.gpl3; - platforms = platforms.unix; + homepage = "https://github.com/buserror/simavr"; + license = licenses.gpl3; + platforms = platforms.unix; maintainers = with maintainers; [ goodrone ]; }; diff --git a/pkgs/development/tools/solarus-quest-editor/default.nix b/pkgs/development/tools/solarus-quest-editor/default.nix index f0c6ba5bf0f1c..873314138265d 100644 --- a/pkgs/development/tools/solarus-quest-editor/default.nix +++ b/pkgs/development/tools/solarus-quest-editor/default.nix @@ -1,7 +1,22 @@ -{ lib, mkDerivation, fetchFromGitLab, cmake, luajit -, SDL2, SDL2_image, SDL2_ttf, physfs, fetchpatch -, openal, libmodplug, libvorbis, solarus -, qtbase, qttools, glm }: +{ + lib, + mkDerivation, + fetchFromGitLab, + cmake, + luajit, + SDL2, + SDL2_image, + SDL2_ttf, + physfs, + fetchpatch, + openal, + libmodplug, + libvorbis, + solarus, + qtbase, + qttools, + glm, +}: mkDerivation rec { pname = "solarus-quest-editor"; @@ -23,8 +38,20 @@ mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ luajit SDL2 SDL2_image SDL2_ttf physfs openal - libmodplug libvorbis solarus qtbase qttools glm ]; + buildInputs = [ + luajit + SDL2 + SDL2_image + SDL2_ttf + physfs + openal + libmodplug + libvorbis + solarus + qtbase + qttools + glm + ]; meta = with lib; { description = "Editor for the Zelda-like ARPG game engine, Solarus"; diff --git a/pkgs/development/tools/spr/default.nix b/pkgs/development/tools/spr/default.nix index d7a9b4530c631..9d7467383a8df 100644 --- a/pkgs/development/tools/spr/default.nix +++ b/pkgs/development/tools/spr/default.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchCrate -, Security -, stdenv +{ + lib, + rustPlatform, + fetchCrate, + Security, + stdenv, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/development/tools/sqlint/default.nix b/pkgs/development/tools/sqlint/default.nix index 960792d648b3a..a78c35ac1ecba 100644 --- a/pkgs/development/tools/sqlint/default.nix +++ b/pkgs/development/tools/sqlint/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "sqlint"; @@ -10,9 +14,13 @@ bundlerApp { meta = with lib; { description = "Simple SQL linter"; - homepage = "https://github.com/purcell/sqlint"; - license = licenses.mit; - maintainers = with maintainers; [ ariutta nicknovitski purcell ]; - platforms = platforms.unix; + homepage = "https://github.com/purcell/sqlint"; + license = licenses.mit; + maintainers = with maintainers; [ + ariutta + nicknovitski + purcell + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/sqlint/gemset.nix b/pkgs/development/tools/sqlint/gemset.nix index 4ad8655564e91..dd8ce2f48e5c3 100644 --- a/pkgs/development/tools/sqlint/gemset.nix +++ b/pkgs/development/tools/sqlint/gemset.nix @@ -1,31 +1,31 @@ { google-protobuf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fanhdf3vzghma51w1hqpp8s585mwzxgqkwvxj5is4q9j0pgwcs3"; type = "gem"; }; version = "3.25.5"; }; pg_query = { - dependencies = ["google-protobuf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-protobuf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15ynrzqsmmbmxib8ri8n9k6z3l6rwd91j7y1mghm33nfgdf9bj8w"; type = "gem"; }; version = "4.2.3"; }; sqlint = { - dependencies = ["pg_query"]; - groups = ["default"]; - platforms = []; + dependencies = [ "pg_query" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06gljzjhbfvxs85699jr1p7y2j8hhi629kfarad7yjqy7ssl541n"; type = "gem"; }; diff --git a/pkgs/development/tools/tabnine/default.nix b/pkgs/development/tools/tabnine/default.nix index 4426e2bbf81fc..d93c951272f4a 100644 --- a/pkgs/development/tools/tabnine/default.nix +++ b/pkgs/development/tools/tabnine/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, unzip }: +{ + stdenv, + lib, + fetchurl, + unzip, +}: let sources = lib.importJSON ./sources.json; platform = diff --git a/pkgs/development/tools/tailwindcss/default.nix b/pkgs/development/tools/tailwindcss/default.nix index b8de6ef462ed6..92e5049fb4cb8 100644 --- a/pkgs/development/tools/tailwindcss/default.nix +++ b/pkgs/development/tools/tailwindcss/default.nix @@ -1,29 +1,33 @@ -{ lib -, fetchurl -, stdenv -, runCommand -, tailwindcss -, +{ + lib, + fetchurl, + stdenv, + runCommand, + tailwindcss, }: let inherit (stdenv.hostPlatform) system; throwSystem = throw "tailwindcss has not been packaged for ${system} yet."; - plat = { - aarch64-darwin = "macos-arm64"; - aarch64-linux = "linux-arm64"; - armv7l-linux = "linux-armv7"; - x86_64-darwin = "macos-x64"; - x86_64-linux = "linux-x64"; - }.${system} or throwSystem; + plat = + { + aarch64-darwin = "macos-arm64"; + aarch64-linux = "linux-arm64"; + armv7l-linux = "linux-armv7"; + x86_64-darwin = "macos-x64"; + x86_64-linux = "linux-x64"; + } + .${system} or throwSystem; - hash = { - aarch64-darwin = "sha256-AXUcYBnBtL94fS4LHyIb7xvMAQzvVTE/wGkfO2o7Z28="; - aarch64-linux = "sha256-HmdGu6bz0011UIiaGgCauQ7jeUpevOYO0QaIrRBoCoc="; - armv7l-linux = "sha256-OLWmAuwp1/W+DUx4N9pgedg2mELT+hFMYiUJu06g35U="; - x86_64-darwin = "sha256-IglipvNx/DFgX4lWmtZHMJy9g0cc2MKbg/I1pQHDnc4="; - x86_64-linux = "sha256-M/JUtUyHVPFu++K+HeOMolGSYw3DbxZFladw1Lv02JM="; - }.${system} or throwSystem; + hash = + { + aarch64-darwin = "sha256-AXUcYBnBtL94fS4LHyIb7xvMAQzvVTE/wGkfO2o7Z28="; + aarch64-linux = "sha256-HmdGu6bz0011UIiaGgCauQ7jeUpevOYO0QaIrRBoCoc="; + armv7l-linux = "sha256-OLWmAuwp1/W+DUx4N9pgedg2mELT+hFMYiUJu06g35U="; + x86_64-darwin = "sha256-IglipvNx/DFgX4lWmtZHMJy9g0cc2MKbg/I1pQHDnc4="; + x86_64-linux = "sha256-M/JUtUyHVPFu++K+HeOMolGSYw3DbxZFladw1Lv02JM="; + } + .${system} or throwSystem; in stdenv.mkDerivation rec { pname = "tailwindcss"; diff --git a/pkgs/development/tools/tarmac/default.nix b/pkgs/development/tools/tarmac/default.nix index a2b03fa93cbd3..5fd7d941a299e 100644 --- a/pkgs/development/tools/tarmac/default.nix +++ b/pkgs/development/tools/tarmac/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -26,11 +27,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; # update Cargo.lock to work with openssl 3 postPatch = '' diff --git a/pkgs/development/tools/thrust/default.nix b/pkgs/development/tools/thrust/default.nix index 889d3bc3af365..22a3d67bef6d7 100644 --- a/pkgs/development/tools/thrust/default.nix +++ b/pkgs/development/tools/thrust/default.nix @@ -1,19 +1,64 @@ -{ lib, stdenv, fetchurl, buildEnv, makeWrapper, glib, alsa-lib , dbus, gtk2, atk -, pango, freetype, fontconfig, gdk-pixbuf , cairo, cups, expat, nspr, gconf, nss -, xorg, libcap, unzip +{ + lib, + stdenv, + fetchurl, + buildEnv, + makeWrapper, + glib, + alsa-lib, + dbus, + gtk2, + atk, + pango, + freetype, + fontconfig, + gdk-pixbuf, + cairo, + cups, + expat, + nspr, + gconf, + nss, + xorg, + libcap, + unzip, }: let thrustEnv = buildEnv { name = "env-thrust"; paths = [ - stdenv.cc.cc glib dbus gtk2 atk pango freetype fontconfig gdk-pixbuf - cairo cups expat alsa-lib nspr gconf nss xorg.libXrender xorg.libX11 - xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite - xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor libcap + stdenv.cc.cc + glib + dbus + gtk2 + atk + pango + freetype + fontconfig + gdk-pixbuf + cairo + cups + expat + alsa-lib + nspr + gconf + nss + xorg.libXrender + xorg.libX11 + xorg.libXext + xorg.libXdamage + xorg.libXtst + xorg.libXcomposite + xorg.libXi + xorg.libXfixes + xorg.libXrandr + xorg.libXcursor + libcap ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "thrust"; version = "0.7.6"; @@ -22,7 +67,10 @@ in stdenv.mkDerivation rec { sha256 = "07rrnlj0gk500pvar4b1wdqm05p4n9yjwn911x93bd2qwc8r5ymc"; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ + makeWrapper + unzip + ]; buildInputs = [ thrustEnv ]; installPhase = '' diff --git a/pkgs/development/tools/toluapp/default.nix b/pkgs/development/tools/toluapp/default.nix index 5d3d9a5385402..fbe1416808f74 100644 --- a/pkgs/development/tools/toluapp/default.nix +++ b/pkgs/development/tools/toluapp/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, lua }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + lua, +}: stdenv.mkDerivation rec { version = "1.0.93"; @@ -6,15 +12,18 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "LuaDist"; - repo = "toluapp"; - rev = version; + repo = "toluapp"; + rev = version; sha256 = "0zd55bc8smmgk9j4cf0jpibb03lgsvl0knpwhplxbv93mcdnw7s0"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ lua ]; - patches = [ ./environ-and-linux-is-kinda-posix.patch ./headers.patch ]; + patches = [ + ./environ-and-linux-is-kinda-posix.patch + ./headers.patch + ]; meta = with lib; { description = "Tool to integrate C/Cpp code with Lua"; diff --git a/pkgs/development/tools/tora/default.nix b/pkgs/development/tools/tora/default.nix index 512d5adc0a7ff..fde6ca673de1f 100644 --- a/pkgs/development/tools/tora/default.nix +++ b/pkgs/development/tools/tora/default.nix @@ -1,22 +1,50 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, extra-cmake-modules, makeWrapper -, boost, doxygen, openssl, libmysqlclient, postgresql, graphviz, loki -, qscintilla, qtbase, qttools }: +{ + mkDerivation, + lib, + fetchFromGitHub, + cmake, + extra-cmake-modules, + makeWrapper, + boost, + doxygen, + openssl, + libmysqlclient, + postgresql, + graphviz, + loki, + qscintilla, + qtbase, + qttools, +}: mkDerivation { pname = "tora"; version = "3.2.176"; src = fetchFromGitHub { - owner = "tora-tool"; - repo = "tora"; - rev = "39bf2837779bf458fc72a9f0e49271152e57829f"; + owner = "tora-tool"; + repo = "tora"; + rev = "39bf2837779bf458fc72a9f0e49271152e57829f"; sha256 = "0fr9b542i8r6shgnz33lc3cz333fnxgmac033yxfrdjfglzk0j2k"; }; - nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper qttools ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + makeWrapper + qttools + ]; buildInputs = [ - boost doxygen graphviz loki libmysqlclient openssl postgresql qscintilla qtbase + boost + doxygen + graphviz + loki + libmysqlclient + openssl + postgresql + qscintilla + qtbase ]; preConfigure = '' diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix index d875c176b9106..5a4d94f5022c2 100644 --- a/pkgs/development/tools/unityhub/default.nix +++ b/pkgs/development/tools/unityhub/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, dpkg -, makeWrapper -, buildFHSEnv -, extraPkgs ? pkgs: [ ] -, extraLibs ? pkgs: [ ] +{ + lib, + stdenv, + fetchurl, + dpkg, + makeWrapper, + buildFHSEnv, + extraPkgs ? pkgs: [ ], + extraLibs ? pkgs: [ ], }: stdenv.mkDerivation rec { @@ -27,81 +28,89 @@ stdenv.mkDerivation rec { inherit version; runScript = ""; - targetPkgs = pkgs: with pkgs; [ - # Unity Hub binary dependencies - xorg.libXrandr - xdg-utils - - # GTK filepicker - gsettings-desktop-schemas - hicolor-icon-theme - - # Bug Reporter dependencies - fontconfig - freetype - lsb-release - ] ++ extraPkgs pkgs; - - multiPkgs = pkgs: with pkgs; [ - # Unity Hub ldd dependencies - cups - gtk3 - expat - libxkbcommon - lttng-ust_2_12 - krb5 - alsa-lib - nss - libdrm - mesa - nspr - atk - dbus - at-spi2-core - pango - xorg.libXcomposite - xorg.libXext - xorg.libXdamage - xorg.libXfixes - xorg.libxcb - xorg.libxshmfence - xorg.libXScrnSaver - xorg.libXtst - - # Unity Hub additional dependencies - libva - openssl - cairo - libnotify - libuuid - libsecret - udev - libappindicator - wayland - cpio - icu - libpulseaudio - - # Unity Editor dependencies - libglvnd # provides ligbl - xorg.libX11 - xorg.libXcursor - glib - gdk-pixbuf - libxml2 - zlib - clang - git # for git-based packages in unity package manager - - # Unity Editor 2019 specific dependencies - xorg.libXi - xorg.libXrender - gnome2.GConf - libcap - - # Unity Editor 6000 specific dependencies - harfbuzz - ] ++ extraLibs pkgs; + targetPkgs = + pkgs: + with pkgs; + [ + # Unity Hub binary dependencies + xorg.libXrandr + xdg-utils + + # GTK filepicker + gsettings-desktop-schemas + hicolor-icon-theme + + # Bug Reporter dependencies + fontconfig + freetype + lsb-release + ] + ++ extraPkgs pkgs; + + multiPkgs = + pkgs: + with pkgs; + [ + # Unity Hub ldd dependencies + cups + gtk3 + expat + libxkbcommon + lttng-ust_2_12 + krb5 + alsa-lib + nss + libdrm + mesa + nspr + atk + dbus + at-spi2-core + pango + xorg.libXcomposite + xorg.libXext + xorg.libXdamage + xorg.libXfixes + xorg.libxcb + xorg.libxshmfence + xorg.libXScrnSaver + xorg.libXtst + + # Unity Hub additional dependencies + libva + openssl + cairo + libnotify + libuuid + libsecret + udev + libappindicator + wayland + cpio + icu + libpulseaudio + + # Unity Editor dependencies + libglvnd # provides ligbl + xorg.libX11 + xorg.libXcursor + glib + gdk-pixbuf + libxml2 + zlib + clang + git # for git-based packages in unity package manager + + # Unity Editor 2019 specific dependencies + xorg.libXi + xorg.libXrender + gnome2.GConf + libcap + + # Unity Editor 6000 specific dependencies + harfbuzz + ] + ++ extraLibs pkgs; }; unpackCmd = "dpkg -x $curSrc src"; @@ -140,7 +149,10 @@ stdenv.mkDerivation rec { downloadPage = "https://unity.com/unity-hub"; changelog = "https://unity.com/unity-hub/release-notes"; license = licenses.unfree; - maintainers = with maintainers; [ tesq0 huantian ]; + maintainers = with maintainers; [ + tesq0 + huantian + ]; platforms = [ "x86_64-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; diff --git a/pkgs/development/tools/viceroy/default.nix b/pkgs/development/tools/viceroy/default.nix index 9504fd9551867..6220337c275cb 100644 --- a/pkgs/development/tools/viceroy/default.nix +++ b/pkgs/development/tools/viceroy/default.nix @@ -1,4 +1,10 @@ -{ rustPlatform, fetchFromGitHub, lib, stdenv, Security }: +{ + rustPlatform, + fetchFromGitHub, + lib, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "viceroy"; @@ -24,7 +30,10 @@ rustPlatform.buildRustPackage rec { mainProgram = "viceroy"; homepage = "https://github.com/fastly/Viceroy"; license = licenses.asl20; - maintainers = with maintainers; [ ereslibre shyim ]; + maintainers = with maintainers; [ + ereslibre + shyim + ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix index b024d5fe710ca..700cb90046a32 100644 --- a/pkgs/development/tools/wails/default.nix +++ b/pkgs/development/tools/wails/default.nix @@ -1,27 +1,30 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, pkg-config -, makeWrapper -, go -, nodejs -, zlib +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + pkg-config, + makeWrapper, + go, + nodejs, + zlib, # Linux specific dependencies -, gtk3 -, webkitgtk_4_0 + gtk3, + webkitgtk_4_0, }: buildGoModule rec { pname = "wails"; version = "2.9.1"; - src = fetchFromGitHub { - owner = "wailsapp"; - repo = pname; - rev = "v${version}"; - hash = "sha256-dtfFeNK7ZfqriK4S0/+Wor1hUJv5kgnRWURVqt+RrNU="; - } + "/v2"; + src = + fetchFromGitHub { + owner = "wailsapp"; + repo = pname; + rev = "v${version}"; + hash = "sha256-dtfFeNK7ZfqriK4S0/+Wor1hUJv5kgnRWURVqt+RrNU="; + } + + "/v2"; vendorHash = "sha256-15Vo4AKmd9qOF0ea1klTlrXJOUs+IHvsNT2rw4R7ZiU="; @@ -41,15 +44,17 @@ buildGoModule rec { allowGoReference = true; # Following packages are required when wails used as a builder. - propagatedBuildInputs = [ - pkg-config - go - stdenv.cc - nodejs - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - gtk3 - webkitgtk_4_0 - ]; + propagatedBuildInputs = + [ + pkg-config + go + stdenv.cc + nodejs + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + gtk3 + webkitgtk_4_0 + ]; ldflags = [ "-s" @@ -59,8 +64,22 @@ buildGoModule rec { # As Wails calls a compiler, certain apps and libraries need to be made available. postFixup = '' wrapProgram $out/bin/wails \ - --prefix PATH : ${lib.makeBinPath [ pkg-config go stdenv.cc nodejs ]} \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.optionals stdenv.hostPlatform.isLinux [ gtk3 webkitgtk_4_0 ])}" \ + --prefix PATH : ${ + lib.makeBinPath [ + pkg-config + go + stdenv.cc + nodejs + ] + } \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath ( + lib.optionals stdenv.hostPlatform.isLinux [ + gtk3 + webkitgtk_4_0 + ] + ) + }" \ --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH" \ --set CGO_LDFLAGS "-L${lib.makeLibraryPath [ zlib ]}" ''; diff --git a/pkgs/development/tools/wasmedge/default.nix b/pkgs/development/tools/wasmedge/default.nix index 4ca0844821d3a..d21ac338f34f9 100644 --- a/pkgs/development/tools/wasmedge/default.nix +++ b/pkgs/development/tools/wasmedge/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, llvmPackages -, boost -, cmake -, spdlog -, libxml2 -, libffi -, Foundation -, testers +{ + lib, + stdenv, + fetchFromGitHub, + llvmPackages, + boost, + cmake, + spdlog, + libxml2, + libffi, + Foundation, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -27,21 +28,25 @@ stdenv.mkDerivation (finalAttrs: { llvmPackages.lld ]; - buildInputs = [ - boost - spdlog - llvmPackages.llvm - libxml2 - libffi - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Foundation - ]; + buildInputs = + [ + boost + spdlog + llvmPackages.llvm + libxml2 + libffi + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + ]; - cmakeFlags = [ - "-DWASMEDGE_BUILD_TESTS=OFF" # Tests are downloaded using git - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DWASMEDGE_FORCE_DISABLE_LTO=ON" - ]; + cmakeFlags = + [ + "-DWASMEDGE_BUILD_TESTS=OFF" # Tests are downloaded using git + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DWASMEDGE_FORCE_DISABLE_LTO=ON" + ]; postPatch = '' echo -n $version > VERSION diff --git a/pkgs/development/tools/worker-build/default.nix b/pkgs/development/tools/worker-build/default.nix index cc48ae31d39ba..6e4a2d0320ac8 100644 --- a/pkgs/development/tools/worker-build/default.nix +++ b/pkgs/development/tools/worker-build/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "worker-build"; @@ -29,7 +35,10 @@ rustPlatform.buildRustPackage rec { description = "This is a tool to be used as a custom build command for a Cloudflare Workers `workers-rs` project"; mainProgram = "worker-build"; homepage = "https://github.com/cloudflare/workers-rs"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ happysalada ]; }; } diff --git a/pkgs/development/tools/wrangler_1/default.nix b/pkgs/development/tools/wrangler_1/default.nix index 570092b7ee484..259139fc661b7 100644 --- a/pkgs/development/tools/wrangler_1/default.nix +++ b/pkgs/development/tools/wrangler_1/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, curl, Security, CoreServices, CoreFoundation, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + curl, + Security, + CoreServices, + CoreFoundation, + libiconv, +}: rustPlatform.buildRustPackage rec { pname = "wrangler"; @@ -15,8 +27,15 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl CoreFoundation CoreServices Security libiconv ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + curl + CoreFoundation + CoreServices + Security + libiconv + ]; OPENSSL_NO_VENDOR = 1; @@ -27,7 +46,10 @@ rustPlatform.buildRustPackage rec { description = "CLI tool designed for folks who are interested in using Cloudflare Workers"; mainProgram = "wrangler"; homepage = "https://github.com/cloudflare/wrangler"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ Br1ght0ne ]; }; } diff --git a/pkgs/development/tools/xcode-install/default.nix b/pkgs/development/tools/xcode-install/default.nix index 677217b5c810a..4b753b74d9f8a 100644 --- a/pkgs/development/tools/xcode-install/default.nix +++ b/pkgs/development/tools/xcode-install/default.nix @@ -1,5 +1,6 @@ -{ lib -, bundlerApp +{ + lib, + bundlerApp, }: bundlerApp { diff --git a/pkgs/development/tools/xcode-install/gemset.nix b/pkgs/development/tools/xcode-install/gemset.nix index c6355de34a2f0..351c162ca498a 100644 --- a/pkgs/development/tools/xcode-install/gemset.nix +++ b/pkgs/development/tools/xcode-install/gemset.nix @@ -1,830 +1,942 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; type = "gem"; }; version = "2.7.0"; }; artifactory = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wify8rhjwr5bw5y6ary61vba290vk766cxw9a9mg05yswmaisls"; type = "gem"; }; version = "3.0.15"; }; atomos = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; type = "gem"; }; version = "0.1.3"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5"; type = "gem"; }; version = "1.1.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz0djj8w3ns0sz5gvkla5jml8xzx6skbcfj255m81fyww1x6ws8"; type = "gem"; }; version = "1.419.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bfj1cnpp0ljr9jc44kljdwl5399cbqlvlqkz6fxq5i4r6ckggi4"; type = "gem"; }; version = "3.111.2"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02f70a4rr5h2na7navjhaf3n15ifq95zdl1avsryyxdvqzm5gzwm"; type = "gem"; }; version = "1.41.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0capqhvm08ngq74n33ym0khixkdj342jpikssw57avdmd8g6kaq7"; type = "gem"; }; version = "1.87.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ll9382c1x2hp750cilh01h1cycgyhdr4cmmgx23k94hyyb8chv5"; type = "gem"; }; version = "1.2.2"; }; babosa = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16dwqn33kmxkqkv51cwiikdkbrdjfsymlnc0rgbjwilmym8a9phq"; type = "gem"; }; version = "1.0.4"; }; CFPropertyList = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ia09r8bj3bjhcfiyr3vlk9zx7vahfypbs2lyrxix9x1jx3lfzq4"; type = "gem"; }; version = "3.0.3"; }; claide = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z"; type = "gem"; }; version = "1.0.3"; }; colored = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; type = "gem"; }; version = "1.2"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; commander-fastlane = { - dependencies = ["highline"]; - groups = ["default"]; - platforms = []; + dependencies = [ "highline" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y8d3ac9qwm1cg6rnpf8rcdsy1yxacrd2g2kl809xsp2vi973g65"; type = "gem"; }; version = "4.4.6"; }; declarative = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0"; type = "gem"; }; version = "0.0.20"; }; declarative-option = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p"; type = "gem"; }; version = "0.1.0"; }; digest-crc = { - dependencies = ["rake"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rake" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "118d5p02kdw6a5pi8af12dxma7q3b77zz5q5xjjf5kgp8qh1930a"; type = "gem"; }; version = "0.6.3"; }; domain_name = { - dependencies = ["unf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0"; type = "gem"; }; version = "0.5.20190701"; }; dotenv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; type = "gem"; }; version = "2.7.6"; }; emoji_regex = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qbzlracxw4xwyvrgr0qcl1alk4ijk6pv53ni6f43csi649y3n3s"; type = "gem"; }; version = "3.2.1"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16ij8617v3js03yj1zd32mmrf7kpi9l96bid5mpqk30c4mzai55r"; type = "gem"; }; version = "0.78.1"; }; faraday = { - dependencies = ["faraday-net_http" "multipart-post" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-net_http" + "multipart-post" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hmssd8pj4n7yq4kz834ylkla8ryyvhaap6q9nzymp93m1xq21kz"; type = "gem"; }; version = "1.3.0"; }; faraday-cookie_jar = { - dependencies = ["faraday" "http-cookie"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "http-cookie" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk"; type = "gem"; }; version = "0.0.7"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r"; type = "gem"; }; version = "1.0.0"; }; fastimage = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vqp53s9vgd28f4l17q0vs7xv32y64af0ny3wb1fgg4i534rzg6j"; type = "gem"; }; version = "2.2.1"; }; fastlane = { - dependencies = ["CFPropertyList" "addressable" "artifactory" "aws-sdk-s3" "babosa" "colored" "commander-fastlane" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "google-cloud-storage" "highline" "json" "jwt" "mini_magick" "multipart-post" "plist" "rubyzip" "security" "simctl" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "addressable" + "artifactory" + "aws-sdk-s3" + "babosa" + "colored" + "commander-fastlane" + "dotenv" + "emoji_regex" + "excon" + "faraday" + "faraday-cookie_jar" + "faraday_middleware" + "fastimage" + "gh_inspector" + "google-api-client" + "google-cloud-storage" + "highline" + "json" + "jwt" + "mini_magick" + "multipart-post" + "plist" + "rubyzip" + "security" + "simctl" + "slack-notifier" + "terminal-notifier" + "terminal-table" + "tty-screen" + "tty-spinner" + "word_wrap" + "xcodeproj" + "xcpretty" + "xcpretty-travis-formatter" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0crr42qdgy9l409pffpfs7nq8ha18lp1nxngny2dc9hiq1xx4r5d"; type = "gem"; }; version = "2.172.0"; }; gh_inspector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; type = "gem"; }; version = "1.1.3"; }; google-api-client = { - dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "googleauth" + "httpclient" + "mini_mime" + "representable" + "retriable" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jybks8i00rxrxx9mkx90dbdk6pczh2w757wchlavmrkrk0dp9s1"; type = "gem"; }; version = "0.38.0"; }; google-apis-core = { - dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "rexml" "signet" "webrick"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "googleauth" + "httpclient" + "mini_mime" + "representable" + "retriable" + "rexml" + "signet" + "webrick" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "184pqw7z7s8mc1r5gj8f76xvp8z650xq50vdfj5gjwsbmzd99z2f"; type = "gem"; }; version = "0.2.1"; }; google-apis-iamcredentials_v1 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xjlzq2fxpwvp9b6ajs8cpyjv8vs2d2npg9v23yj181hj2fnn82c"; type = "gem"; }; version = "0.1.0"; }; google-apis-storage_v1 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0axycds5q20fqm6vqxa5r922021p0f8jhwvlgw8r1vq600ljribi"; type = "gem"; }; version = "0.1.0"; }; google-cloud-core = { - dependencies = ["google-cloud-env" "google-cloud-errors"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "google-cloud-env" + "google-cloud-errors" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qjn7vs8f85vxi1nkikbjfja6bv9snrj26vzscjii0cm8n4dy0i1"; type = "gem"; }; version = "1.5.0"; }; google-cloud-env = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bjgxyvagy6hjj8yg7fqq24rwdjxb6hx7fdd1bmn4mwd846lci2i"; type = "gem"; }; version = "1.4.0"; }; google-cloud-errors = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hvs1x39g77hbdqjxmzcl6gq8160pv3kskvzbbch0ww1np6qwm67"; type = "gem"; }; version = "1.0.1"; }; google-cloud-storage = { - dependencies = ["addressable" "digest-crc" "google-apis-iamcredentials_v1" "google-apis-storage_v1" "google-cloud-core" "googleauth" "mini_mime"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "digest-crc" + "google-apis-iamcredentials_v1" + "google-apis-storage_v1" + "google-cloud-core" + "googleauth" + "mini_mime" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17axi5gmy0g04801v11lww5mvqzffqdc3w6k1j7f95v90hy4yn6m"; type = "gem"; }; version = "1.30.0"; }; googleauth = { - dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "memoist" + "multi_json" + "os" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pwm0mzb5zffhk6yw4v3n1yj8qr6jla6f78vsv4g0bxh9z0ikc2z"; type = "gem"; }; version = "0.15.0"; }; highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y"; type = "gem"; }; version = "1.7.10"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; type = "gem"; }; version = "1.0.3"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf"; type = "gem"; }; version = "1.4.0"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; type = "gem"; }; version = "2.5.1"; }; jwt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n"; type = "gem"; }; version = "2.2.2"; }; memoist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55"; type = "gem"; }; version = "0.16.2"; }; mini_magick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; type = "gem"; }; version = "4.11.0"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha"; type = "gem"; }; version = "1.0.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; type = "gem"; }; version = "2.0.0"; }; nanaimo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma"; type = "gem"; }; version = "0.3.0"; }; naturally = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04x1nkx6gkqzlc4phdvq05v3vjds6mgqhjqzqpcs6vdh5xyqrf59"; type = "gem"; }; version = "2.2.1"; }; os = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12fli64wz5j9868gpzv5wqsingk1jk457qyqksv9ksmq9b0zpc9x"; type = "gem"; }; version = "1.1.1"; }; plist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1whhr897z6z6av85x2cipyjk46bwh6s4wx6nbrcd3iifnzvbqs7l"; type = "gem"; }; version = "3.6.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; type = "gem"; }; version = "4.0.6"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67"; type = "gem"; }; version = "13.0.3"; }; representable = { - dependencies = ["declarative" "declarative-option" "uber"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "declarative" + "declarative-option" + "uber" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07"; type = "gem"; }; version = "3.0.4"; }; retriable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha"; type = "gem"; }; version = "3.1.2"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; type = "gem"; }; version = "3.2.4"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d"; type = "gem"; }; version = "2.0.7"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs"; type = "gem"; }; version = "0.0.4"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji"; type = "gem"; }; version = "2.3.0"; }; security = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ryjxs0j66wrbky2c08yf0mllwalvpg12rpxzbdx2rdhj3cbrlxa"; type = "gem"; }; version = "0.1.3"; }; signet = { - dependencies = ["addressable" "faraday" "jwt" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + "jwt" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10g2667fvxnc50hcd1aywgsbf8j7nrckg3n7zjvywmyz82pwmpqp"; type = "gem"; }; version = "0.14.0"; }; simctl = { - dependencies = ["CFPropertyList" "naturally"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "naturally" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v9rsdmg5c5kkf8ps47xnrfbvjnq11sbaifr186jwkh4npawz00x"; type = "gem"; }; version = "1.6.8"; }; slack-notifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pkfn99dhy5s526r6k8d87fwwb6j287ga9s7lxqmh60z28xqh3bv"; type = "gem"; }; version = "2.3.2"; }; terminal-notifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1slc0y8pjpw30hy21v8ypafi8r7z9jlj4bjbgz03b65b28i2n3bs"; type = "gem"; }; version = "2.0.0"; }; terminal-table = { - dependencies = ["unicode-display_width"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unicode-display_width" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; type = "gem"; }; version = "1.8.0"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; type = "gem"; }; version = "0.8.1"; }; tty-spinner = { - dependencies = ["tty-cursor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-cursor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf"; type = "gem"; }; version = "0.9.3"; }; uber = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; type = "gem"; }; version = "0.1.0"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4"; type = "gem"; }; version = "0.0.7.7"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; type = "gem"; }; version = "1.7.0"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7"; type = "gem"; }; version = "1.7.0"; }; word_wrap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1iyc5bc7dbgsd8j3yk1i99ral39f23l6wapi0083fbl19hid8mpm"; type = "gem"; }; version = "1.0.0"; }; xcode-install = { - dependencies = ["claide" "fastlane"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "claide" + "fastlane" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yhslanqw8r0mhls2hira05c8xjzzr7mnz1ab9p5qwg4z45ddjj8"; type = "gem"; }; version = "2.6.8"; }; xcodeproj = { - dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "atomos" + "claide" + "colored2" + "nanaimo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1411j6sfnz0cx4fiw52f0yqx4bgcn8cmpgi3i5rwmmahayyjz2fn"; type = "gem"; }; version = "1.19.0"; }; xcpretty = { - dependencies = ["rouge"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rouge" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xq47q2h5llj7b54rws4796904vnnjz7qqnacdv7wlp3gdbwrivm"; type = "gem"; }; version = "0.3.0"; }; xcpretty-travis-formatter = { - dependencies = ["xcpretty"]; - groups = ["default"]; - platforms = []; + dependencies = [ "xcpretty" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14rg4f70klrs910n7rsgfa4dn8s2qyny55194ax2qyyb2wpk7k5a"; type = "gem"; }; diff --git a/pkgs/development/tools/xcpretty/default.nix b/pkgs/development/tools/xcpretty/default.nix index 9c24b98100505..322e3f4cae179 100644 --- a/pkgs/development/tools/xcpretty/default.nix +++ b/pkgs/development/tools/xcpretty/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "xcpretty"; @@ -11,10 +15,10 @@ bundlerApp { }; meta = with lib; { - description = "Flexible and fast xcodebuild formatter"; - homepage = "https://github.com/supermarin/xcpretty"; - license = licenses.mit; - maintainers = with maintainers; [ + description = "Flexible and fast xcodebuild formatter"; + homepage = "https://github.com/supermarin/xcpretty"; + license = licenses.mit; + maintainers = with maintainers; [ nicknovitski ]; }; diff --git a/pkgs/development/tools/xcpretty/gemset.nix b/pkgs/development/tools/xcpretty/gemset.nix index ef5591c30cf3e..97dffa3040fd7 100644 --- a/pkgs/development/tools/xcpretty/gemset.nix +++ b/pkgs/development/tools/xcpretty/gemset.nix @@ -1,16 +1,16 @@ { rouge = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d"; type = "gem"; }; version = "2.0.7"; }; xcpretty = { - dependencies = ["rouge"]; + dependencies = [ "rouge" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xq47q2h5llj7b54rws4796904vnnjz7qqnacdv7wlp3gdbwrivm"; type = "gem"; }; diff --git a/pkgs/development/tools/yarn-berry/default.nix b/pkgs/development/tools/yarn-berry/default.nix index d07f27de42e51..e0ec4b878f9c0 100644 --- a/pkgs/development/tools/yarn-berry/default.nix +++ b/pkgs/development/tools/yarn-berry/default.nix @@ -1,4 +1,11 @@ -{ fetchFromGitHub, lib, nodejs, stdenv, testers, yarn }: +{ + fetchFromGitHub, + lib, + nodejs, + stdenv, + testers, + yarn, +}: stdenv.mkDerivation (finalAttrs: { pname = "yarn-berry"; @@ -45,7 +52,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://yarnpkg.com/"; description = "Fast, reliable, and secure dependency management"; license = licenses.bsd2; - maintainers = with maintainers; [ ryota-ka pyrox0 DimitarNestorov ]; + maintainers = with maintainers; [ + ryota-ka + pyrox0 + DimitarNestorov + ]; platforms = platforms.unix; mainProgram = "yarn"; }; diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix index a6d7f79a7bee1..159c136f6658e 100644 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/yarn.nix @@ -1,11 +1,18 @@ -{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec { +{ + fetchurl, + fetchgit, + linkFarm, + runCommand, + gnutar, +}: +rec { offline_cache = linkFarm "offline" packages; packages = [ { name = "_babel_code_frame___code_frame_7.8.3.tgz"; path = fetchurl { name = "_babel_code_frame___code_frame_7.8.3.tgz"; - url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz"; sha512 = "a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g=="; }; } @@ -13,7 +20,7 @@ name = "_babel_generator___generator_7.9.6.tgz"; path = fetchurl { name = "_babel_generator___generator_7.9.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz"; sha512 = "+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ=="; }; } @@ -21,7 +28,7 @@ name = "_babel_helper_function_name___helper_function_name_7.9.5.tgz"; path = fetchurl { name = "_babel_helper_function_name___helper_function_name_7.9.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz"; sha512 = "JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw=="; }; } @@ -29,7 +36,7 @@ name = "_babel_helper_get_function_arity___helper_get_function_arity_7.8.3.tgz"; path = fetchurl { name = "_babel_helper_get_function_arity___helper_get_function_arity_7.8.3.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz"; sha512 = "FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA=="; }; } @@ -37,7 +44,7 @@ name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.8.3.tgz"; path = fetchurl { name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.8.3.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz"; sha512 = "3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA=="; }; } @@ -45,7 +52,7 @@ name = "_babel_helper_validator_identifier___helper_validator_identifier_7.9.5.tgz"; path = fetchurl { name = "_babel_helper_validator_identifier___helper_validator_identifier_7.9.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz"; sha512 = "/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g=="; }; } @@ -53,7 +60,7 @@ name = "_babel_highlight___highlight_7.9.0.tgz"; path = fetchurl { name = "_babel_highlight___highlight_7.9.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz"; sha512 = "lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ=="; }; } @@ -61,7 +68,7 @@ name = "_babel_parser___parser_7.9.6.tgz"; path = fetchurl { name = "_babel_parser___parser_7.9.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz"; sha512 = "AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q=="; }; } @@ -69,7 +76,7 @@ name = "_babel_runtime_corejs3___runtime_corejs3_7.9.6.tgz"; path = fetchurl { name = "_babel_runtime_corejs3___runtime_corejs3_7.9.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.6.tgz"; sha512 = "6toWAfaALQjt3KMZQc6fABqZwUDDuWzz+cAfPhqyEnzxvdWOAkjwPNxgF8xlmo7OWLsSjaKjsskpKHRLaMArOA=="; }; } @@ -77,7 +84,7 @@ name = "_babel_runtime___runtime_7.9.6.tgz"; path = fetchurl { name = "_babel_runtime___runtime_7.9.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz"; sha512 = "64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ=="; }; } @@ -85,7 +92,7 @@ name = "_babel_template___template_7.8.6.tgz"; path = fetchurl { name = "_babel_template___template_7.8.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz"; sha512 = "zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg=="; }; } @@ -93,7 +100,7 @@ name = "_babel_traverse___traverse_7.9.6.tgz"; path = fetchurl { name = "_babel_traverse___traverse_7.9.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz"; sha512 = "b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg=="; }; } @@ -101,7 +108,7 @@ name = "_babel_types___types_7.9.6.tgz"; path = fetchurl { name = "_babel_types___types_7.9.6.tgz"; - url = "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz"; sha512 = "qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA=="; }; } @@ -109,7 +116,7 @@ name = "_samverschueren_stream_to_observable___stream_to_observable_0.3.0.tgz"; path = fetchurl { name = "_samverschueren_stream_to_observable___stream_to_observable_0.3.0.tgz"; - url = "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz"; + url = "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz"; sha512 = "MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg=="; }; } @@ -117,7 +124,7 @@ name = "_yarnpkg_lockfile___lockfile_1.1.0.tgz"; path = fetchurl { name = "_yarnpkg_lockfile___lockfile_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"; sha512 = "GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="; }; } @@ -125,7 +132,7 @@ name = "abbrev___abbrev_1.1.1.tgz"; path = fetchurl { name = "abbrev___abbrev_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="; }; } @@ -133,7 +140,7 @@ name = "acorn_jsx___acorn_jsx_3.0.1.tgz"; path = fetchurl { name = "acorn_jsx___acorn_jsx_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz"; sha1 = "r9+UiPsezvyDSPb7IvRk4ypYs2s="; }; } @@ -141,7 +148,7 @@ name = "acorn_jsx___acorn_jsx_5.2.0.tgz"; path = fetchurl { name = "acorn_jsx___acorn_jsx_5.2.0.tgz"; - url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz"; + url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz"; sha512 = "HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ=="; }; } @@ -149,7 +156,7 @@ name = "acorn___acorn_3.3.0.tgz"; path = fetchurl { name = "acorn___acorn_3.3.0.tgz"; - url = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz"; sha1 = "ReN/s56No/JbruP/U2niu18iAXo="; }; } @@ -157,7 +164,7 @@ name = "acorn___acorn_5.7.4.tgz"; path = fetchurl { name = "acorn___acorn_5.7.4.tgz"; - url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz"; sha512 = "1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg=="; }; } @@ -165,7 +172,7 @@ name = "acorn___acorn_6.4.1.tgz"; path = fetchurl { name = "acorn___acorn_6.4.1.tgz"; - url = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz"; sha512 = "ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA=="; }; } @@ -173,7 +180,7 @@ name = "ajv_keywords___ajv_keywords_2.1.1.tgz"; path = fetchurl { name = "ajv_keywords___ajv_keywords_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz"; sha1 = "YXmX/F9gV2iUxDX5QNgZ4TW4B2I="; }; } @@ -181,7 +188,7 @@ name = "ajv___ajv_5.5.2.tgz"; path = fetchurl { name = "ajv___ajv_5.5.2.tgz"; - url = "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz"; sha1 = "c7Xuyj+rZT49P5Qis0GtQiBdyWU="; }; } @@ -189,7 +196,7 @@ name = "ajv___ajv_6.12.2.tgz"; path = fetchurl { name = "ajv___ajv_6.12.2.tgz"; - url = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz"; sha512 = "k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ=="; }; } @@ -197,7 +204,7 @@ name = "ansi_escapes___ansi_escapes_3.2.0.tgz"; path = fetchurl { name = "ansi_escapes___ansi_escapes_3.2.0.tgz"; - url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz"; sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="; }; } @@ -205,7 +212,7 @@ name = "ansi_regex___ansi_regex_2.1.1.tgz"; path = fetchurl { name = "ansi_regex___ansi_regex_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; sha1 = "w7M6te42DYbg5ijwRorn7yfWVN8="; }; } @@ -213,7 +220,7 @@ name = "ansi_regex___ansi_regex_3.0.0.tgz"; path = fetchurl { name = "ansi_regex___ansi_regex_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; sha1 = "7QMXwyIGT3lGbAKWa922Bas32Zg="; }; } @@ -221,7 +228,7 @@ name = "ansi_regex___ansi_regex_4.1.0.tgz"; path = fetchurl { name = "ansi_regex___ansi_regex_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz"; sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; }; } @@ -229,7 +236,7 @@ name = "ansi_styles___ansi_styles_2.2.1.tgz"; path = fetchurl { name = "ansi_styles___ansi_styles_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; sha1 = "tDLdM1i2NM914eRmQ2gkBTPB3b4="; }; } @@ -237,7 +244,7 @@ name = "ansi_styles___ansi_styles_3.2.1.tgz"; path = fetchurl { name = "ansi_styles___ansi_styles_3.2.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz"; sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="; }; } @@ -245,7 +252,7 @@ name = "any_observable___any_observable_0.3.0.tgz"; path = fetchurl { name = "any_observable___any_observable_0.3.0.tgz"; - url = "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz"; + url = "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz"; sha512 = "/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog=="; }; } @@ -253,7 +260,7 @@ name = "argparse___argparse_1.0.10.tgz"; path = fetchurl { name = "argparse___argparse_1.0.10.tgz"; - url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; + url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; }; } @@ -261,7 +268,7 @@ name = "aria_query___aria_query_3.0.0.tgz"; path = fetchurl { name = "aria_query___aria_query_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz"; sha1 = "ZbP8wcoRVajJrmTW7uKX8V1RM8w="; }; } @@ -269,7 +276,7 @@ name = "arr_diff___arr_diff_4.0.0.tgz"; path = fetchurl { name = "arr_diff___arr_diff_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; sha1 = "1kYQdP6/7HHn4VI1dhoyml3HxSA="; }; } @@ -277,7 +284,7 @@ name = "arr_flatten___arr_flatten_1.1.0.tgz"; path = fetchurl { name = "arr_flatten___arr_flatten_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="; }; } @@ -285,7 +292,7 @@ name = "arr_union___arr_union_3.1.0.tgz"; path = fetchurl { name = "arr_union___arr_union_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; sha1 = "45sJrqne+Gao8gbiiK9jkZuuOcQ="; }; } @@ -293,7 +300,7 @@ name = "array_includes___array_includes_3.1.1.tgz"; path = fetchurl { name = "array_includes___array_includes_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz"; + url = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz"; sha512 = "c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ=="; }; } @@ -301,7 +308,7 @@ name = "array_union___array_union_1.0.2.tgz"; path = fetchurl { name = "array_union___array_union_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz"; sha1 = "mjRBDk9OPaI96jdb5b5w8kd47Dk="; }; } @@ -309,7 +316,7 @@ name = "array_uniq___array_uniq_1.0.3.tgz"; path = fetchurl { name = "array_uniq___array_uniq_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; sha1 = "r2rId6Jcx/dOBYiUdThY39sk/bY="; }; } @@ -317,7 +324,7 @@ name = "array_unique___array_unique_0.3.2.tgz"; path = fetchurl { name = "array_unique___array_unique_0.3.2.tgz"; - url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; sha1 = "qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="; }; } @@ -325,7 +332,7 @@ name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz"; path = fetchurl { name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz"; - url = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz"; + url = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz"; sha512 = "gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ=="; }; } @@ -333,7 +340,7 @@ name = "arrify___arrify_1.0.1.tgz"; path = fetchurl { name = "arrify___arrify_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz"; sha1 = "iYUI2iIm84DfkEcoRWhJwVAaSw0="; }; } @@ -341,7 +348,7 @@ name = "assign_symbols___assign_symbols_1.0.0.tgz"; path = fetchurl { name = "assign_symbols___assign_symbols_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; sha1 = "WWZ/QfrdTyDMvCu5a41Pf3jsA2c="; }; } @@ -349,7 +356,7 @@ name = "ast_types_flow___ast_types_flow_0.0.7.tgz"; path = fetchurl { name = "ast_types_flow___ast_types_flow_0.0.7.tgz"; - url = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz"; + url = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz"; sha1 = "9wtzXGvKGlycItmCw+Oef+ujva0="; }; } @@ -357,7 +364,7 @@ name = "astral_regex___astral_regex_1.0.0.tgz"; path = fetchurl { name = "astral_regex___astral_regex_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz"; sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="; }; } @@ -365,7 +372,7 @@ name = "atob___atob_2.1.2.tgz"; path = fetchurl { name = "atob___atob_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="; }; } @@ -373,7 +380,7 @@ name = "axobject_query___axobject_query_2.1.2.tgz"; path = fetchurl { name = "axobject_query___axobject_query_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz"; sha512 = "ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ=="; }; } @@ -381,7 +388,7 @@ name = "babel_code_frame___babel_code_frame_6.26.0.tgz"; path = fetchurl { name = "babel_code_frame___babel_code_frame_6.26.0.tgz"; - url = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; sha1 = "Y/1D99weO7fONZR9uP42mj9Yx0s="; }; } @@ -389,7 +396,7 @@ name = "babel_eslint___babel_eslint_10.1.0.tgz"; path = fetchurl { name = "babel_eslint___babel_eslint_10.1.0.tgz"; - url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz"; + url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz"; sha512 = "ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg=="; }; } @@ -397,7 +404,7 @@ name = "babel_runtime___babel_runtime_6.26.0.tgz"; path = fetchurl { name = "babel_runtime___babel_runtime_6.26.0.tgz"; - url = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz"; + url = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz"; sha1 = "llxwWGaOgrVde/4E/yM3vItWR/4="; }; } @@ -405,7 +412,7 @@ name = "balanced_match___balanced_match_1.0.0.tgz"; path = fetchurl { name = "balanced_match___balanced_match_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; sha1 = "ibTRmasr7kneFk6gK4nORi1xt2c="; }; } @@ -413,7 +420,7 @@ name = "base___base_0.11.2.tgz"; path = fetchurl { name = "base___base_0.11.2.tgz"; - url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; + url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg=="; }; } @@ -421,7 +428,7 @@ name = "boolify___boolify_1.0.1.tgz"; path = fetchurl { name = "boolify___boolify_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/boolify/-/boolify-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/boolify/-/boolify-1.0.1.tgz"; sha1 = "tcCeF8rNET0Rt7s+04TMASmU2Gs="; }; } @@ -429,7 +436,7 @@ name = "brace_expansion___brace_expansion_1.1.11.tgz"; path = fetchurl { name = "brace_expansion___brace_expansion_1.1.11.tgz"; - url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; + url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; }; } @@ -437,7 +444,7 @@ name = "braces___braces_2.3.2.tgz"; path = fetchurl { name = "braces___braces_2.3.2.tgz"; - url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w=="; }; } @@ -445,7 +452,7 @@ name = "buffer_from___buffer_from_1.1.1.tgz"; path = fetchurl { name = "buffer_from___buffer_from_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz"; sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="; }; } @@ -453,7 +460,7 @@ name = "cache_base___cache_base_1.0.1.tgz"; path = fetchurl { name = "cache_base___cache_base_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ=="; }; } @@ -461,7 +468,7 @@ name = "caller_callsite___caller_callsite_2.0.0.tgz"; path = fetchurl { name = "caller_callsite___caller_callsite_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz"; sha1 = "hH4PzgoiN1CpoCfFSzNzGtMVQTQ="; }; } @@ -469,7 +476,7 @@ name = "caller_path___caller_path_0.1.0.tgz"; path = fetchurl { name = "caller_path___caller_path_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz"; sha1 = "lAhe9jWB7NPaqSREqP6U6CV3dR8="; }; } @@ -477,7 +484,7 @@ name = "caller_path___caller_path_2.0.0.tgz"; path = fetchurl { name = "caller_path___caller_path_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz"; sha1 = "Ro+DBE42mrIBD6xfBs7uFbsssfQ="; }; } @@ -485,7 +492,7 @@ name = "callsites___callsites_0.2.0.tgz"; path = fetchurl { name = "callsites___callsites_0.2.0.tgz"; - url = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz"; sha1 = "r6uWJikQp/M8GaV3WCXGnzTjUMo="; }; } @@ -493,7 +500,7 @@ name = "callsites___callsites_2.0.0.tgz"; path = fetchurl { name = "callsites___callsites_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz"; sha1 = "BuuE8A7qQT2oav/vrL/7Ngk7PFA="; }; } @@ -501,7 +508,7 @@ name = "callsites___callsites_3.1.0.tgz"; path = fetchurl { name = "callsites___callsites_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz"; sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="; }; } @@ -509,7 +516,7 @@ name = "camelcase_keys___camelcase_keys_4.2.0.tgz"; path = fetchurl { name = "camelcase_keys___camelcase_keys_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz"; sha1 = "oqpfsa9oh1glnDLBQUJteJI7m3c="; }; } @@ -517,7 +524,7 @@ name = "camelcase___camelcase_4.1.0.tgz"; path = fetchurl { name = "camelcase___camelcase_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz"; + url = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz"; sha1 = "1UVjW+HjPFQmScaRc+Xeas+uNN0="; }; } @@ -525,7 +532,7 @@ name = "chalk___chalk_2.3.0.tgz"; path = fetchurl { name = "chalk___chalk_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz"; sha512 = "Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q=="; }; } @@ -533,7 +540,7 @@ name = "chalk___chalk_1.1.3.tgz"; path = fetchurl { name = "chalk___chalk_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; sha1 = "qBFcVeSnAv5NFQq9OHKCKn4J/Jg="; }; } @@ -541,7 +548,7 @@ name = "chalk___chalk_2.4.2.tgz"; path = fetchurl { name = "chalk___chalk_2.4.2.tgz"; - url = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz"; sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="; }; } @@ -549,7 +556,7 @@ name = "chardet___chardet_0.4.2.tgz"; path = fetchurl { name = "chardet___chardet_0.4.2.tgz"; - url = "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz"; + url = "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz"; sha1 = "tUc7M9yXxCTl2Y3IfVXU2KKci/I="; }; } @@ -557,7 +564,7 @@ name = "chardet___chardet_0.7.0.tgz"; path = fetchurl { name = "chardet___chardet_0.7.0.tgz"; - url = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz"; + url = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz"; sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="; }; } @@ -565,7 +572,7 @@ name = "ci_info___ci_info_2.0.0.tgz"; path = fetchurl { name = "ci_info___ci_info_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz"; sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="; }; } @@ -573,7 +580,7 @@ name = "circular_json___circular_json_0.3.3.tgz"; path = fetchurl { name = "circular_json___circular_json_0.3.3.tgz"; - url = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz"; + url = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz"; sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A=="; }; } @@ -581,7 +588,7 @@ name = "class_utils___class_utils_0.3.6.tgz"; path = fetchurl { name = "class_utils___class_utils_0.3.6.tgz"; - url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; + url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg=="; }; } @@ -589,7 +596,7 @@ name = "cli_cursor___cli_cursor_2.1.0.tgz"; path = fetchurl { name = "cli_cursor___cli_cursor_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; sha1 = "s12sN2R5+sw+lHR9QdDQ9SOP/LU="; }; } @@ -597,7 +604,7 @@ name = "cli_truncate___cli_truncate_0.2.1.tgz"; path = fetchurl { name = "cli_truncate___cli_truncate_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz"; sha1 = "nxXPuwcFAFNpIWxiasfQWrkN1XQ="; }; } @@ -605,7 +612,7 @@ name = "cli_width___cli_width_2.2.1.tgz"; path = fetchurl { name = "cli_width___cli_width_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz"; + url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz"; sha512 = "GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="; }; } @@ -613,7 +620,7 @@ name = "cliui___cliui_3.2.0.tgz"; path = fetchurl { name = "cliui___cliui_3.2.0.tgz"; - url = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz"; + url = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz"; sha1 = "EgYBU3qRbSmUD5NNo7SNWFo5IT0="; }; } @@ -621,7 +628,7 @@ name = "co___co_4.6.0.tgz"; path = fetchurl { name = "co___co_4.6.0.tgz"; - url = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz"; + url = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz"; sha1 = "bqa989hTrlTMuOR7+gvz+QMfsYQ="; }; } @@ -629,7 +636,7 @@ name = "code_point_at___code_point_at_1.1.0.tgz"; path = fetchurl { name = "code_point_at___code_point_at_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz"; sha1 = "DQcLTQQ6W+ozovGkDi7bPZpMz3c="; }; } @@ -637,7 +644,7 @@ name = "collection_visit___collection_visit_1.0.0.tgz"; path = fetchurl { name = "collection_visit___collection_visit_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; sha1 = "S8A3PBZLwykbTTaMgpzxqApZ3KA="; }; } @@ -645,7 +652,7 @@ name = "color_convert___color_convert_1.9.3.tgz"; path = fetchurl { name = "color_convert___color_convert_1.9.3.tgz"; - url = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz"; + url = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz"; sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="; }; } @@ -653,7 +660,7 @@ name = "color_name___color_name_1.1.3.tgz"; path = fetchurl { name = "color_name___color_name_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz"; sha1 = "p9BVi9icQveV3UIyj3QIMcpTvCU="; }; } @@ -661,7 +668,7 @@ name = "commander___commander_2.20.3.tgz"; path = fetchurl { name = "commander___commander_2.20.3.tgz"; - url = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz"; sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="; }; } @@ -669,7 +676,7 @@ name = "common_tags___common_tags_1.8.0.tgz"; path = fetchurl { name = "common_tags___common_tags_1.8.0.tgz"; - url = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz"; + url = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz"; sha512 = "6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw=="; }; } @@ -677,7 +684,7 @@ name = "component_emitter___component_emitter_1.3.0.tgz"; path = fetchurl { name = "component_emitter___component_emitter_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz"; sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="; }; } @@ -685,7 +692,7 @@ name = "concat_map___concat_map_0.0.1.tgz"; path = fetchurl { name = "concat_map___concat_map_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; + url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; sha1 = "2Klr13/Wjfd5OnMDajug1UBdR3s="; }; } @@ -693,7 +700,7 @@ name = "concat_stream___concat_stream_1.6.2.tgz"; path = fetchurl { name = "concat_stream___concat_stream_1.6.2.tgz"; - url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz"; + url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz"; sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="; }; } @@ -701,7 +708,7 @@ name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz"; path = fetchurl { name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz"; - url = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz"; + url = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz"; sha512 = "KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw=="; }; } @@ -709,7 +716,7 @@ name = "contains_path___contains_path_0.1.0.tgz"; path = fetchurl { name = "contains_path___contains_path_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz"; sha1 = "/ozxhP9mcLa67wGp1IYaXL7EEgo="; }; } @@ -717,7 +724,7 @@ name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; path = fetchurl { name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; sha1 = "Z29us8OZl8LuGsOpJP1hJHSPV40="; }; } @@ -725,7 +732,7 @@ name = "core_js_pure___core_js_pure_3.6.5.tgz"; path = fetchurl { name = "core_js_pure___core_js_pure_3.6.5.tgz"; - url = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz"; + url = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz"; sha512 = "lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA=="; }; } @@ -733,7 +740,7 @@ name = "core_js___core_js_2.6.11.tgz"; path = fetchurl { name = "core_js___core_js_2.6.11.tgz"; - url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz"; sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="; }; } @@ -741,7 +748,7 @@ name = "core_util_is___core_util_is_1.0.2.tgz"; path = fetchurl { name = "core_util_is___core_util_is_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; sha1 = "tf1UIgqivFq1eqtxQMlAdUUDwac="; }; } @@ -749,7 +756,7 @@ name = "cosmiconfig___cosmiconfig_5.2.1.tgz"; path = fetchurl { name = "cosmiconfig___cosmiconfig_5.2.1.tgz"; - url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz"; + url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz"; sha512 = "H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA=="; }; } @@ -757,7 +764,7 @@ name = "cross_spawn___cross_spawn_5.1.0.tgz"; path = fetchurl { name = "cross_spawn___cross_spawn_5.1.0.tgz"; - url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz"; sha1 = "6L0O/uWPz/b4+UUQoKVUu/ojVEk="; }; } @@ -765,7 +772,7 @@ name = "cross_spawn___cross_spawn_6.0.5.tgz"; path = fetchurl { name = "cross_spawn___cross_spawn_6.0.5.tgz"; - url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz"; sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ=="; }; } @@ -773,7 +780,7 @@ name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz"; path = fetchurl { name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz"; - url = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz"; + url = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz"; sha512 = "JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug=="; }; } @@ -781,7 +788,7 @@ name = "date_fns___date_fns_1.30.1.tgz"; path = fetchurl { name = "date_fns___date_fns_1.30.1.tgz"; - url = "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz"; + url = "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz"; sha512 = "hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="; }; } @@ -789,7 +796,7 @@ name = "debug___debug_2.6.9.tgz"; path = fetchurl { name = "debug___debug_2.6.9.tgz"; - url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="; }; } @@ -797,7 +804,7 @@ name = "debug___debug_3.2.6.tgz"; path = fetchurl { name = "debug___debug_3.2.6.tgz"; - url = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz"; sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ=="; }; } @@ -805,7 +812,7 @@ name = "debug___debug_4.1.1.tgz"; path = fetchurl { name = "debug___debug_4.1.1.tgz"; - url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw=="; }; } @@ -813,7 +820,7 @@ name = "decamelize___decamelize_1.2.0.tgz"; path = fetchurl { name = "decamelize___decamelize_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; sha1 = "9lNNFRSCabIDUue+4m9QH5oZEpA="; }; } @@ -821,7 +828,7 @@ name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; path = fetchurl { name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; - url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; sha1 = "6zkTMzRYd1y4TNGh+uBiEGu4dUU="; }; } @@ -829,7 +836,7 @@ name = "dedent___dedent_0.7.0.tgz"; path = fetchurl { name = "dedent___dedent_0.7.0.tgz"; - url = "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz"; + url = "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz"; sha1 = "JJXduvbrh0q7Dhvp3yLS5aVEMmw="; }; } @@ -837,7 +844,7 @@ name = "deep_equal___deep_equal_1.1.1.tgz"; path = fetchurl { name = "deep_equal___deep_equal_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz"; sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g=="; }; } @@ -845,7 +852,7 @@ name = "deep_is___deep_is_0.1.3.tgz"; path = fetchurl { name = "deep_is___deep_is_0.1.3.tgz"; - url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; + url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; sha1 = "s2nW+128E+7PUk+RsHD+7cNXzzQ="; }; } @@ -853,7 +860,7 @@ name = "define_properties___define_properties_1.1.3.tgz"; path = fetchurl { name = "define_properties___define_properties_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="; }; } @@ -861,7 +868,7 @@ name = "define_property___define_property_0.2.5.tgz"; path = fetchurl { name = "define_property___define_property_0.2.5.tgz"; - url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; sha1 = "w1se+RjsPJkPmlvFe+BKrOxcgRY="; }; } @@ -869,7 +876,7 @@ name = "define_property___define_property_1.0.0.tgz"; path = fetchurl { name = "define_property___define_property_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; sha1 = "dp66rz9KY6rTr56NMEybvnm/sOY="; }; } @@ -877,7 +884,7 @@ name = "define_property___define_property_2.0.2.tgz"; path = fetchurl { name = "define_property___define_property_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ=="; }; } @@ -885,7 +892,7 @@ name = "del___del_3.0.0.tgz"; path = fetchurl { name = "del___del_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz"; sha1 = "U+z2mf/LyzljdpGrE7rxYIGXZuU="; }; } @@ -893,7 +900,7 @@ name = "dlv___dlv_1.1.3.tgz"; path = fetchurl { name = "dlv___dlv_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz"; sha512 = "+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="; }; } @@ -901,7 +908,7 @@ name = "docopt___docopt_0.6.2.tgz"; path = fetchurl { name = "docopt___docopt_0.6.2.tgz"; - url = "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz"; + url = "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz"; sha1 = "so6eIiDaXsSffqW7JKR3h0Be6xE="; }; } @@ -909,7 +916,7 @@ name = "doctrine___doctrine_1.5.0.tgz"; path = fetchurl { name = "doctrine___doctrine_1.5.0.tgz"; - url = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz"; sha1 = "N53Ocw9hZvds76TmcHoVmwLFpvo="; }; } @@ -917,7 +924,7 @@ name = "doctrine___doctrine_2.1.0.tgz"; path = fetchurl { name = "doctrine___doctrine_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz"; sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="; }; } @@ -925,7 +932,7 @@ name = "doctrine___doctrine_3.0.0.tgz"; path = fetchurl { name = "doctrine___doctrine_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz"; sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="; }; } @@ -933,7 +940,7 @@ name = "elegant_spinner___elegant_spinner_1.0.1.tgz"; path = fetchurl { name = "elegant_spinner___elegant_spinner_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz"; sha1 = "2wQ1IcldfjA/2PNFvtwzSc+wcp4="; }; } @@ -941,7 +948,7 @@ name = "emoji_regex___emoji_regex_7.0.3.tgz"; path = fetchurl { name = "emoji_regex___emoji_regex_7.0.3.tgz"; - url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz"; + url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz"; sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; }; } @@ -949,7 +956,7 @@ name = "end_of_stream___end_of_stream_1.4.4.tgz"; path = fetchurl { name = "end_of_stream___end_of_stream_1.4.4.tgz"; - url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz"; sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="; }; } @@ -957,7 +964,7 @@ name = "error_ex___error_ex_1.3.2.tgz"; path = fetchurl { name = "error_ex___error_ex_1.3.2.tgz"; - url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; + url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="; }; } @@ -965,7 +972,7 @@ name = "es_abstract___es_abstract_1.17.5.tgz"; path = fetchurl { name = "es_abstract___es_abstract_1.17.5.tgz"; - url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz"; + url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz"; sha512 = "BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg=="; }; } @@ -973,7 +980,7 @@ name = "es_to_primitive___es_to_primitive_1.2.1.tgz"; path = fetchurl { name = "es_to_primitive___es_to_primitive_1.2.1.tgz"; - url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz"; + url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz"; sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="; }; } @@ -981,7 +988,7 @@ name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; path = fetchurl { name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; sha1 = "G2HAViGQqN/2rjuyzwIAyhMLhtQ="; }; } @@ -989,7 +996,7 @@ name = "eslint_config_airbnb_base___eslint_config_airbnb_base_13.2.0.tgz"; path = fetchurl { name = "eslint_config_airbnb_base___eslint_config_airbnb_base_13.2.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz"; sha512 = "1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w=="; }; } @@ -997,7 +1004,7 @@ name = "eslint_config_airbnb___eslint_config_airbnb_17.1.1.tgz"; path = fetchurl { name = "eslint_config_airbnb___eslint_config_airbnb_17.1.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.1.tgz"; sha512 = "xCu//8a/aWqagKljt+1/qAM62BYZeNq04HmdevG5yUGWpja0I/xhqd6GdLRch5oetEGFiJAnvtGuTEAese53Qg=="; }; } @@ -1005,7 +1012,7 @@ name = "eslint_config_prettier___eslint_config_prettier_3.6.0.tgz"; path = fetchurl { name = "eslint_config_prettier___eslint_config_prettier_3.6.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz"; sha512 = "ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ=="; }; } @@ -1013,7 +1020,7 @@ name = "eslint_config_standard___eslint_config_standard_12.0.0.tgz"; path = fetchurl { name = "eslint_config_standard___eslint_config_standard_12.0.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz"; sha512 = "COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ=="; }; } @@ -1021,7 +1028,7 @@ name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.3.tgz"; path = fetchurl { name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.3.tgz"; - url = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz"; sha512 = "b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg=="; }; } @@ -1029,7 +1036,7 @@ name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz"; path = fetchurl { name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz"; sha512 = "6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA=="; }; } @@ -1037,7 +1044,7 @@ name = "eslint_plugin_es___eslint_plugin_es_1.4.1.tgz"; path = fetchurl { name = "eslint_plugin_es___eslint_plugin_es_1.4.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz"; sha512 = "5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA=="; }; } @@ -1045,7 +1052,7 @@ name = "eslint_plugin_import___eslint_plugin_import_2.20.2.tgz"; path = fetchurl { name = "eslint_plugin_import___eslint_plugin_import_2.20.2.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz"; sha512 = "FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg=="; }; } @@ -1053,7 +1060,7 @@ name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz"; path = fetchurl { name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz"; sha512 = "CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg=="; }; } @@ -1061,7 +1068,7 @@ name = "eslint_plugin_node___eslint_plugin_node_8.0.1.tgz"; path = fetchurl { name = "eslint_plugin_node___eslint_plugin_node_8.0.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz"; sha512 = "ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w=="; }; } @@ -1069,7 +1076,7 @@ name = "eslint_plugin_promise___eslint_plugin_promise_4.2.1.tgz"; path = fetchurl { name = "eslint_plugin_promise___eslint_plugin_promise_4.2.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz"; sha512 = "VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw=="; }; } @@ -1077,7 +1084,7 @@ name = "eslint_plugin_react___eslint_plugin_react_7.20.0.tgz"; path = fetchurl { name = "eslint_plugin_react___eslint_plugin_react_7.20.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz"; sha512 = "rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA=="; }; } @@ -1085,7 +1092,7 @@ name = "eslint_plugin_standard___eslint_plugin_standard_4.0.1.tgz"; path = fetchurl { name = "eslint_plugin_standard___eslint_plugin_standard_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz"; sha512 = "v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ=="; }; } @@ -1093,7 +1100,7 @@ name = "eslint_scope___eslint_scope_3.7.3.tgz"; path = fetchurl { name = "eslint_scope___eslint_scope_3.7.3.tgz"; - url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz"; sha512 = "W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA=="; }; } @@ -1101,7 +1108,7 @@ name = "eslint_scope___eslint_scope_4.0.3.tgz"; path = fetchurl { name = "eslint_scope___eslint_scope_4.0.3.tgz"; - url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz"; sha512 = "p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg=="; }; } @@ -1109,7 +1116,7 @@ name = "eslint_utils___eslint_utils_1.4.3.tgz"; path = fetchurl { name = "eslint_utils___eslint_utils_1.4.3.tgz"; - url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz"; sha512 = "fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q=="; }; } @@ -1117,7 +1124,7 @@ name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz"; path = fetchurl { name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz"; sha512 = "8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="; }; } @@ -1125,7 +1132,7 @@ name = "eslint___eslint_4.19.1.tgz"; path = fetchurl { name = "eslint___eslint_4.19.1.tgz"; - url = "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz"; + url = "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz"; sha512 = "bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ=="; }; } @@ -1133,7 +1140,7 @@ name = "eslint___eslint_5.16.0.tgz"; path = fetchurl { name = "eslint___eslint_5.16.0.tgz"; - url = "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz"; + url = "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz"; sha512 = "S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg=="; }; } @@ -1141,7 +1148,7 @@ name = "espree___espree_3.5.4.tgz"; path = fetchurl { name = "espree___espree_3.5.4.tgz"; - url = "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz"; + url = "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz"; sha512 = "yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A=="; }; } @@ -1149,7 +1156,7 @@ name = "espree___espree_5.0.1.tgz"; path = fetchurl { name = "espree___espree_5.0.1.tgz"; - url = "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz"; + url = "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz"; sha512 = "qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A=="; }; } @@ -1157,7 +1164,7 @@ name = "esprima___esprima_4.0.1.tgz"; path = fetchurl { name = "esprima___esprima_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; }; } @@ -1165,7 +1172,7 @@ name = "esquery___esquery_1.3.1.tgz"; path = fetchurl { name = "esquery___esquery_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz"; + url = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz"; sha512 = "olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ=="; }; } @@ -1173,7 +1180,7 @@ name = "esrecurse___esrecurse_4.2.1.tgz"; path = fetchurl { name = "esrecurse___esrecurse_4.2.1.tgz"; - url = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz"; + url = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz"; sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ=="; }; } @@ -1181,7 +1188,7 @@ name = "estraverse___estraverse_4.3.0.tgz"; path = fetchurl { name = "estraverse___estraverse_4.3.0.tgz"; - url = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz"; + url = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz"; sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="; }; } @@ -1189,7 +1196,7 @@ name = "estraverse___estraverse_5.1.0.tgz"; path = fetchurl { name = "estraverse___estraverse_5.1.0.tgz"; - url = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz"; + url = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz"; sha512 = "FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw=="; }; } @@ -1197,7 +1204,7 @@ name = "esutils___esutils_2.0.3.tgz"; path = fetchurl { name = "esutils___esutils_2.0.3.tgz"; - url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz"; + url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz"; sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="; }; } @@ -1205,7 +1212,7 @@ name = "execa___execa_0.7.0.tgz"; path = fetchurl { name = "execa___execa_0.7.0.tgz"; - url = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz"; sha1 = "lEvs00zEHuMqY6n68nrVpl/Fl3c="; }; } @@ -1213,7 +1220,7 @@ name = "execa___execa_1.0.0.tgz"; path = fetchurl { name = "execa___execa_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz"; sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA=="; }; } @@ -1221,7 +1228,7 @@ name = "expand_brackets___expand_brackets_2.1.4.tgz"; path = fetchurl { name = "expand_brackets___expand_brackets_2.1.4.tgz"; - url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; sha1 = "t3c14xXOMPa27/D4OwQVGiJEliI="; }; } @@ -1229,7 +1236,7 @@ name = "extend_shallow___extend_shallow_2.0.1.tgz"; path = fetchurl { name = "extend_shallow___extend_shallow_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; sha1 = "Ua99YUrZqfYQ6huvu5idaxxWiQ8="; }; } @@ -1237,7 +1244,7 @@ name = "extend_shallow___extend_shallow_3.0.2.tgz"; path = fetchurl { name = "extend_shallow___extend_shallow_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; sha1 = "Jqcarwc7OfshJxcnRhMcJwQCjbg="; }; } @@ -1245,7 +1252,7 @@ name = "external_editor___external_editor_2.2.0.tgz"; path = fetchurl { name = "external_editor___external_editor_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz"; sha512 = "bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A=="; }; } @@ -1253,7 +1260,7 @@ name = "external_editor___external_editor_3.1.0.tgz"; path = fetchurl { name = "external_editor___external_editor_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz"; sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew=="; }; } @@ -1261,7 +1268,7 @@ name = "extglob___extglob_2.0.4.tgz"; path = fetchurl { name = "extglob___extglob_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw=="; }; } @@ -1269,7 +1276,7 @@ name = "fast_deep_equal___fast_deep_equal_1.1.0.tgz"; path = fetchurl { name = "fast_deep_equal___fast_deep_equal_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz"; sha1 = "wFNHeBfIa1HaqFPIHgWbcz0CNhQ="; }; } @@ -1277,7 +1284,7 @@ name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz"; path = fetchurl { name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; sha512 = "8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="; }; } @@ -1285,7 +1292,7 @@ name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz"; path = fetchurl { name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="; }; } @@ -1293,7 +1300,7 @@ name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; path = fetchurl { name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; - url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; + url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; sha1 = "PYpcZog6FqMMqGQ+hR8Zuqd5eRc="; }; } @@ -1301,7 +1308,7 @@ name = "figures___figures_1.7.0.tgz"; path = fetchurl { name = "figures___figures_1.7.0.tgz"; - url = "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz"; + url = "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz"; sha1 = "y+Hjr/zxzUS4DK3+0o3Hk6lwHS4="; }; } @@ -1309,7 +1316,7 @@ name = "figures___figures_2.0.0.tgz"; path = fetchurl { name = "figures___figures_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz"; sha1 = "OrGi0qYsi/tDGgyUy3l6L84nyWI="; }; } @@ -1317,7 +1324,7 @@ name = "file_entry_cache___file_entry_cache_2.0.0.tgz"; path = fetchurl { name = "file_entry_cache___file_entry_cache_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz"; sha1 = "w5KZDD5oR4PYOLjISkXYoEhFg2E="; }; } @@ -1325,7 +1332,7 @@ name = "file_entry_cache___file_entry_cache_5.0.1.tgz"; path = fetchurl { name = "file_entry_cache___file_entry_cache_5.0.1.tgz"; - url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz"; + url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz"; sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g=="; }; } @@ -1333,7 +1340,7 @@ name = "fill_range___fill_range_4.0.0.tgz"; path = fetchurl { name = "fill_range___fill_range_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; sha1 = "1USBHUKPmOsGpj3EAtJAPDKMOPc="; }; } @@ -1341,7 +1348,7 @@ name = "find_up___find_up_2.1.0.tgz"; path = fetchurl { name = "find_up___find_up_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; sha1 = "RdG35QbHF93UgndaK3eSCjwMV6c="; }; } @@ -1349,7 +1356,7 @@ name = "find_up___find_up_3.0.0.tgz"; path = fetchurl { name = "find_up___find_up_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="; }; } @@ -1357,7 +1364,7 @@ name = "flat_cache___flat_cache_1.3.4.tgz"; path = fetchurl { name = "flat_cache___flat_cache_1.3.4.tgz"; - url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz"; + url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz"; sha512 = "VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg=="; }; } @@ -1365,7 +1372,7 @@ name = "flat_cache___flat_cache_2.0.1.tgz"; path = fetchurl { name = "flat_cache___flat_cache_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz"; sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA=="; }; } @@ -1373,7 +1380,7 @@ name = "flatted___flatted_2.0.2.tgz"; path = fetchurl { name = "flatted___flatted_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz"; sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="; }; } @@ -1381,7 +1388,7 @@ name = "fn_name___fn_name_2.0.1.tgz"; path = fetchurl { name = "fn_name___fn_name_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz"; sha1 = "UhTXU3pNBqSjAcDMJi/rhBiAAuc="; }; } @@ -1389,7 +1396,7 @@ name = "for_in___for_in_1.0.2.tgz"; path = fetchurl { name = "for_in___for_in_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; sha1 = "gQaNKVqBQuwKxybG4iAMMPttXoA="; }; } @@ -1397,7 +1404,7 @@ name = "fragment_cache___fragment_cache_0.2.1.tgz"; path = fetchurl { name = "fragment_cache___fragment_cache_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; sha1 = "QpD60n8T6Jvn8zeZxrxaCr//DRk="; }; } @@ -1405,7 +1412,7 @@ name = "fs.realpath___fs.realpath_1.0.0.tgz"; path = fetchurl { name = "fs.realpath___fs.realpath_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; sha1 = "FQStJSMVjKpA20onh8sBQRmU6k8="; }; } @@ -1413,7 +1420,7 @@ name = "function_bind___function_bind_1.1.1.tgz"; path = fetchurl { name = "function_bind___function_bind_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="; }; } @@ -1421,7 +1428,7 @@ name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz"; path = fetchurl { name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"; sha1 = "GwqzvVU7Kg1jmdKcDj6gslIHgyc="; }; } @@ -1429,7 +1436,7 @@ name = "g_status___g_status_2.0.2.tgz"; path = fetchurl { name = "g_status___g_status_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz"; sha512 = "kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA=="; }; } @@ -1437,7 +1444,7 @@ name = "get_caller_file___get_caller_file_1.0.3.tgz"; path = fetchurl { name = "get_caller_file___get_caller_file_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz"; sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="; }; } @@ -1445,7 +1452,7 @@ name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz"; path = fetchurl { name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz"; sha512 = "I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="; }; } @@ -1453,7 +1460,7 @@ name = "get_stdin___get_stdin_5.0.1.tgz"; path = fetchurl { name = "get_stdin___get_stdin_5.0.1.tgz"; - url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz"; + url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz"; sha1 = "Ei4WFZHiH/TFJTAwVpPyDmOTo5g="; }; } @@ -1461,7 +1468,7 @@ name = "get_stdin___get_stdin_6.0.0.tgz"; path = fetchurl { name = "get_stdin___get_stdin_6.0.0.tgz"; - url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz"; sha512 = "jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g=="; }; } @@ -1469,7 +1476,7 @@ name = "get_stream___get_stream_3.0.0.tgz"; path = fetchurl { name = "get_stream___get_stream_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz"; sha1 = "jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="; }; } @@ -1477,7 +1484,7 @@ name = "get_stream___get_stream_4.1.0.tgz"; path = fetchurl { name = "get_stream___get_stream_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz"; sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w=="; }; } @@ -1485,7 +1492,7 @@ name = "get_value___get_value_2.0.6.tgz"; path = fetchurl { name = "get_value___get_value_2.0.6.tgz"; - url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; + url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; sha1 = "3BXKHGcjh8p2vTesCjlbogQqLCg="; }; } @@ -1493,7 +1500,7 @@ name = "glob___glob_7.1.6.tgz"; path = fetchurl { name = "glob___glob_7.1.6.tgz"; - url = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz"; sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="; }; } @@ -1501,7 +1508,7 @@ name = "glob___glob_7.0.6.tgz"; path = fetchurl { name = "glob___glob_7.0.6.tgz"; - url = "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz"; sha1 = "IRuvr0nlJbjNkyYNFKsTYVKz9Xo="; }; } @@ -1509,7 +1516,7 @@ name = "globals___globals_11.12.0.tgz"; path = fetchurl { name = "globals___globals_11.12.0.tgz"; - url = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz"; + url = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz"; sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="; }; } @@ -1517,7 +1524,7 @@ name = "globby___globby_6.1.0.tgz"; path = fetchurl { name = "globby___globby_6.1.0.tgz"; - url = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz"; + url = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz"; sha1 = "9abXDoOV4hyFj7BInWTfAkJNUGw="; }; } @@ -1525,7 +1532,7 @@ name = "graceful_fs___graceful_fs_4.2.4.tgz"; path = fetchurl { name = "graceful_fs___graceful_fs_4.2.4.tgz"; - url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz"; sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="; }; } @@ -1533,7 +1540,7 @@ name = "has_ansi___has_ansi_2.0.0.tgz"; path = fetchurl { name = "has_ansi___has_ansi_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; sha1 = "NPUEnOHs3ysGSa8+8k5F7TVBbZE="; }; } @@ -1541,7 +1548,7 @@ name = "has_flag___has_flag_2.0.0.tgz"; path = fetchurl { name = "has_flag___has_flag_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz"; sha1 = "6CB68cx7MNRGzHC3NLXovhj4jVE="; }; } @@ -1549,7 +1556,7 @@ name = "has_flag___has_flag_3.0.0.tgz"; path = fetchurl { name = "has_flag___has_flag_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz"; sha1 = "tdRU3CGZriJWmfNGfloH87lVuv0="; }; } @@ -1557,7 +1564,7 @@ name = "has_symbols___has_symbols_1.0.1.tgz"; path = fetchurl { name = "has_symbols___has_symbols_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz"; sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="; }; } @@ -1565,7 +1572,7 @@ name = "has_value___has_value_0.3.1.tgz"; path = fetchurl { name = "has_value___has_value_0.3.1.tgz"; - url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; sha1 = "ex9YutpiyoJ+wKIHgCVlSEWZXh8="; }; } @@ -1573,7 +1580,7 @@ name = "has_value___has_value_1.0.0.tgz"; path = fetchurl { name = "has_value___has_value_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; sha1 = "GLKB2lhbHFxR3vJMkw7SmgvmsXc="; }; } @@ -1581,7 +1588,7 @@ name = "has_values___has_values_0.1.4.tgz"; path = fetchurl { name = "has_values___has_values_0.1.4.tgz"; - url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; sha1 = "bWHeldkd/Km5oCCJrThL/49it3E="; }; } @@ -1589,7 +1596,7 @@ name = "has_values___has_values_1.0.0.tgz"; path = fetchurl { name = "has_values___has_values_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; sha1 = "lbC2P+whRmGab+V/51Yo1aOe/k8="; }; } @@ -1597,7 +1604,7 @@ name = "has___has_1.0.3.tgz"; path = fetchurl { name = "has___has_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="; }; } @@ -1605,7 +1612,7 @@ name = "hosted_git_info___hosted_git_info_2.8.8.tgz"; path = fetchurl { name = "hosted_git_info___hosted_git_info_2.8.8.tgz"; - url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz"; + url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz"; sha512 = "f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="; }; } @@ -1613,7 +1620,7 @@ name = "husky___husky_1.3.1.tgz"; path = fetchurl { name = "husky___husky_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz"; + url = "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz"; sha512 = "86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg=="; }; } @@ -1621,7 +1628,7 @@ name = "iconv_lite___iconv_lite_0.4.24.tgz"; path = fetchurl { name = "iconv_lite___iconv_lite_0.4.24.tgz"; - url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; + url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="; }; } @@ -1629,7 +1636,7 @@ name = "ignore___ignore_3.3.10.tgz"; path = fetchurl { name = "ignore___ignore_3.3.10.tgz"; - url = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz"; + url = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz"; sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="; }; } @@ -1637,7 +1644,7 @@ name = "ignore___ignore_4.0.6.tgz"; path = fetchurl { name = "ignore___ignore_4.0.6.tgz"; - url = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz"; + url = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz"; sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="; }; } @@ -1645,7 +1652,7 @@ name = "ignore___ignore_5.1.4.tgz"; path = fetchurl { name = "ignore___ignore_5.1.4.tgz"; - url = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz"; + url = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz"; sha512 = "MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A=="; }; } @@ -1653,7 +1660,7 @@ name = "import_fresh___import_fresh_2.0.0.tgz"; path = fetchurl { name = "import_fresh___import_fresh_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz"; sha1 = "2BNVwVYS04bGH53dOSLUMEgipUY="; }; } @@ -1661,7 +1668,7 @@ name = "import_fresh___import_fresh_3.2.1.tgz"; path = fetchurl { name = "import_fresh___import_fresh_3.2.1.tgz"; - url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz"; + url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz"; sha512 = "6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ=="; }; } @@ -1669,7 +1676,7 @@ name = "imurmurhash___imurmurhash_0.1.4.tgz"; path = fetchurl { name = "imurmurhash___imurmurhash_0.1.4.tgz"; - url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; + url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; sha1 = "khi5srkoojixPcT7a21XbyMUU+o="; }; } @@ -1677,7 +1684,7 @@ name = "indent_string___indent_string_3.2.0.tgz"; path = fetchurl { name = "indent_string___indent_string_3.2.0.tgz"; - url = "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz"; + url = "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz"; sha1 = "Sl/W0nzDMvN+VBmlBNu4NxBckok="; }; } @@ -1685,7 +1692,7 @@ name = "inflight___inflight_1.0.6.tgz"; path = fetchurl { name = "inflight___inflight_1.0.6.tgz"; - url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; + url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; sha1 = "Sb1jMdfQLQwJvJEKEHW6gWW1bfk="; }; } @@ -1693,7 +1700,7 @@ name = "inherits___inherits_2.0.4.tgz"; path = fetchurl { name = "inherits___inherits_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz"; sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="; }; } @@ -1701,7 +1708,7 @@ name = "inquirer___inquirer_3.3.0.tgz"; path = fetchurl { name = "inquirer___inquirer_3.3.0.tgz"; - url = "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz"; + url = "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz"; sha512 = "h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ=="; }; } @@ -1709,7 +1716,7 @@ name = "inquirer___inquirer_6.5.2.tgz"; path = fetchurl { name = "inquirer___inquirer_6.5.2.tgz"; - url = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz"; + url = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz"; sha512 = "cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ=="; }; } @@ -1717,7 +1724,7 @@ name = "internal_slot___internal_slot_1.0.2.tgz"; path = fetchurl { name = "internal_slot___internal_slot_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz"; sha512 = "2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g=="; }; } @@ -1725,7 +1732,7 @@ name = "invert_kv___invert_kv_1.0.0.tgz"; path = fetchurl { name = "invert_kv___invert_kv_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz"; sha1 = "EEqOSqym09jNFXqO+L+rLXo//bY="; }; } @@ -1733,7 +1740,7 @@ name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; path = fetchurl { name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; - url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; sha1 = "qeEss66Nh2cn7u84Q/igiXtcmNY="; }; } @@ -1741,7 +1748,7 @@ name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; path = fetchurl { name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ=="; }; } @@ -1749,7 +1756,7 @@ name = "is_arguments___is_arguments_1.0.4.tgz"; path = fetchurl { name = "is_arguments___is_arguments_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz"; sha512 = "xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="; }; } @@ -1757,7 +1764,7 @@ name = "is_arrayish___is_arrayish_0.2.1.tgz"; path = fetchurl { name = "is_arrayish___is_arrayish_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; sha1 = "d8mYQFJ6qOyxqLppe4BkWnqSap0="; }; } @@ -1765,7 +1772,7 @@ name = "is_buffer___is_buffer_1.1.6.tgz"; path = fetchurl { name = "is_buffer___is_buffer_1.1.6.tgz"; - url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="; }; } @@ -1773,7 +1780,7 @@ name = "is_callable___is_callable_1.1.5.tgz"; path = fetchurl { name = "is_callable___is_callable_1.1.5.tgz"; - url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz"; + url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz"; sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="; }; } @@ -1781,7 +1788,7 @@ name = "is_ci___is_ci_2.0.0.tgz"; path = fetchurl { name = "is_ci___is_ci_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz"; sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w=="; }; } @@ -1789,7 +1796,7 @@ name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; path = fetchurl { name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; - url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; sha1 = "C17mSDiOLIYCgueT8YVv7D8wG1Y="; }; } @@ -1797,7 +1804,7 @@ name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; path = fetchurl { name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ=="; }; } @@ -1805,7 +1812,7 @@ name = "is_date_object___is_date_object_1.0.2.tgz"; path = fetchurl { name = "is_date_object___is_date_object_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz"; sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="; }; } @@ -1813,7 +1820,7 @@ name = "is_descriptor___is_descriptor_0.1.6.tgz"; path = fetchurl { name = "is_descriptor___is_descriptor_0.1.6.tgz"; - url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg=="; }; } @@ -1821,7 +1828,7 @@ name = "is_descriptor___is_descriptor_1.0.2.tgz"; path = fetchurl { name = "is_descriptor___is_descriptor_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="; }; } @@ -1829,7 +1836,7 @@ name = "is_directory___is_directory_0.3.1.tgz"; path = fetchurl { name = "is_directory___is_directory_0.3.1.tgz"; - url = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz"; + url = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz"; sha1 = "YTObbyR1/Hcv2cnYP1yFddwVSuE="; }; } @@ -1837,7 +1844,7 @@ name = "is_extendable___is_extendable_0.1.1.tgz"; path = fetchurl { name = "is_extendable___is_extendable_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; sha1 = "YrEQ4omkcUGOPsNqYX1HLjAd/Ik="; }; } @@ -1845,7 +1852,7 @@ name = "is_extendable___is_extendable_1.0.1.tgz"; path = fetchurl { name = "is_extendable___is_extendable_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA=="; }; } @@ -1853,7 +1860,7 @@ name = "is_extglob___is_extglob_2.1.1.tgz"; path = fetchurl { name = "is_extglob___is_extglob_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; sha1 = "qIwCU1eR8C7TfHahueqXc8gz+MI="; }; } @@ -1861,7 +1868,7 @@ name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; path = fetchurl { name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; sha1 = "754xOG8DGn8NZDr4L95QxFfvAMs="; }; } @@ -1869,7 +1876,7 @@ name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; path = fetchurl { name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; sha1 = "o7MKXE8ZkYMWeqq5O+764937ZU8="; }; } @@ -1877,7 +1884,7 @@ name = "is_glob___is_glob_4.0.1.tgz"; path = fetchurl { name = "is_glob___is_glob_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz"; sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="; }; } @@ -1885,7 +1892,7 @@ name = "is_number___is_number_3.0.0.tgz"; path = fetchurl { name = "is_number___is_number_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; sha1 = "JP1iAaR4LPUFYcgQJ2r8fRLXEZU="; }; } @@ -1893,7 +1900,7 @@ name = "is_obj___is_obj_1.0.1.tgz"; path = fetchurl { name = "is_obj___is_obj_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz"; sha1 = "PkcprB9f3gJc19g6iW2rn09n2w8="; }; } @@ -1901,7 +1908,7 @@ name = "is_observable___is_observable_1.1.0.tgz"; path = fetchurl { name = "is_observable___is_observable_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz"; sha512 = "NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA=="; }; } @@ -1909,7 +1916,7 @@ name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; path = fetchurl { name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; sha1 = "0iXsIxMuie3Tj9p2dHLmLmXxEG0="; }; } @@ -1917,7 +1924,7 @@ name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; path = fetchurl { name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz"; sha512 = "FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ=="; }; } @@ -1925,7 +1932,7 @@ name = "is_path_inside___is_path_inside_1.0.1.tgz"; path = fetchurl { name = "is_path_inside___is_path_inside_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz"; sha1 = "jvW33lBDej/cprToZe96pVy0gDY="; }; } @@ -1933,7 +1940,7 @@ name = "is_plain_object___is_plain_object_2.0.4.tgz"; path = fetchurl { name = "is_plain_object___is_plain_object_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="; }; } @@ -1941,7 +1948,7 @@ name = "is_promise___is_promise_2.2.2.tgz"; path = fetchurl { name = "is_promise___is_promise_2.2.2.tgz"; - url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz"; + url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz"; sha512 = "+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="; }; } @@ -1949,7 +1956,7 @@ name = "is_regex___is_regex_1.0.5.tgz"; path = fetchurl { name = "is_regex___is_regex_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz"; + url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz"; sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ=="; }; } @@ -1957,7 +1964,7 @@ name = "is_regexp___is_regexp_1.0.0.tgz"; path = fetchurl { name = "is_regexp___is_regexp_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz"; sha1 = "/S2INUXEa6xaYz57mgnof6LLUGk="; }; } @@ -1965,7 +1972,7 @@ name = "is_resolvable___is_resolvable_1.1.0.tgz"; path = fetchurl { name = "is_resolvable___is_resolvable_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz"; sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="; }; } @@ -1973,7 +1980,7 @@ name = "is_stream___is_stream_1.1.0.tgz"; path = fetchurl { name = "is_stream___is_stream_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz"; sha1 = "EtSj3U5o4Lec6428hBc66A2RykQ="; }; } @@ -1981,7 +1988,7 @@ name = "is_string___is_string_1.0.5.tgz"; path = fetchurl { name = "is_string___is_string_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz"; + url = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz"; sha512 = "buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ=="; }; } @@ -1989,7 +1996,7 @@ name = "is_symbol___is_symbol_1.0.3.tgz"; path = fetchurl { name = "is_symbol___is_symbol_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz"; sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ=="; }; } @@ -1997,7 +2004,7 @@ name = "is_windows___is_windows_1.0.2.tgz"; path = fetchurl { name = "is_windows___is_windows_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="; }; } @@ -2005,7 +2012,7 @@ name = "isarray___isarray_1.0.0.tgz"; path = fetchurl { name = "isarray___isarray_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; sha1 = "u5NdSFgsuhaMBoNJV6VKPgcSTxE="; }; } @@ -2013,7 +2020,7 @@ name = "isexe___isexe_2.0.0.tgz"; path = fetchurl { name = "isexe___isexe_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; sha1 = "6PvzdNxVb/iUehDcsFctYz8s+hA="; }; } @@ -2021,7 +2028,7 @@ name = "isobject___isobject_2.1.0.tgz"; path = fetchurl { name = "isobject___isobject_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; sha1 = "8GVWEJaj8dou9GJy+BXIQNh+DIk="; }; } @@ -2029,7 +2036,7 @@ name = "isobject___isobject_3.0.1.tgz"; path = fetchurl { name = "isobject___isobject_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; sha1 = "TkMekrEalzFjaqH5yNHMvP2reN8="; }; } @@ -2037,7 +2044,7 @@ name = "js_tokens___js_tokens_4.0.0.tgz"; path = fetchurl { name = "js_tokens___js_tokens_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz"; sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="; }; } @@ -2045,7 +2052,7 @@ name = "js_tokens___js_tokens_3.0.2.tgz"; path = fetchurl { name = "js_tokens___js_tokens_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz"; sha1 = "mGbfOVECEw449/mWvOtlRDIJwls="; }; } @@ -2053,7 +2060,7 @@ name = "js_yaml___js_yaml_3.13.1.tgz"; path = fetchurl { name = "js_yaml___js_yaml_3.13.1.tgz"; - url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz"; + url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz"; sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw=="; }; } @@ -2061,7 +2068,7 @@ name = "jsesc___jsesc_2.5.2.tgz"; path = fetchurl { name = "jsesc___jsesc_2.5.2.tgz"; - url = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz"; + url = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz"; sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="; }; } @@ -2069,7 +2076,7 @@ name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; path = fetchurl { name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="; }; } @@ -2077,7 +2084,7 @@ name = "json_schema_traverse___json_schema_traverse_0.3.1.tgz"; path = fetchurl { name = "json_schema_traverse___json_schema_traverse_0.3.1.tgz"; - url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"; + url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"; sha1 = "NJptRMU6Ud6JtAgFxdXlm0F9M0A="; }; } @@ -2085,7 +2092,7 @@ name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; path = fetchurl { name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; - url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; }; } @@ -2093,7 +2100,7 @@ name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz"; path = fetchurl { name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"; sha1 = "nbe1lJatPzz+8wp1FC0tkwrXJlE="; }; } @@ -2101,7 +2108,7 @@ name = "jsx_ast_utils___jsx_ast_utils_2.2.3.tgz"; path = fetchurl { name = "jsx_ast_utils___jsx_ast_utils_2.2.3.tgz"; - url = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz"; + url = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz"; sha512 = "EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA=="; }; } @@ -2109,7 +2116,7 @@ name = "kind_of___kind_of_3.2.2.tgz"; path = fetchurl { name = "kind_of___kind_of_3.2.2.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; sha1 = "MeohpzS6ubuw8yRm2JOupR5KPGQ="; }; } @@ -2117,7 +2124,7 @@ name = "kind_of___kind_of_4.0.0.tgz"; path = fetchurl { name = "kind_of___kind_of_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; sha1 = "IIE989cSkosgc3hpGkUGb65y3Vc="; }; } @@ -2125,7 +2132,7 @@ name = "kind_of___kind_of_5.1.0.tgz"; path = fetchurl { name = "kind_of___kind_of_5.1.0.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="; }; } @@ -2133,7 +2140,7 @@ name = "kind_of___kind_of_6.0.3.tgz"; path = fetchurl { name = "kind_of___kind_of_6.0.3.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="; }; } @@ -2141,7 +2148,7 @@ name = "lcid___lcid_1.0.0.tgz"; path = fetchurl { name = "lcid___lcid_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz"; sha1 = "MIrMr6C8SDo4Z7S28rlQYlHRuDU="; }; } @@ -2149,7 +2156,7 @@ name = "levn___levn_0.3.0.tgz"; path = fetchurl { name = "levn___levn_0.3.0.tgz"; - url = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz"; + url = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz"; sha1 = "OwmSTt+fCDwEkP3UwLxEIeBHZO4="; }; } @@ -2157,7 +2164,7 @@ name = "lint_staged___lint_staged_8.2.1.tgz"; path = fetchurl { name = "lint_staged___lint_staged_8.2.1.tgz"; - url = "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.2.1.tgz"; + url = "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.2.1.tgz"; sha512 = "n0tDGR/rTCgQNwXnUf/eWIpPNddGWxC32ANTNYsj2k02iZb7Cz5ox2tytwBu+2r0zDXMEMKw7Y9OD/qsav561A=="; }; } @@ -2165,7 +2172,7 @@ name = "listr_silent_renderer___listr_silent_renderer_1.1.1.tgz"; path = fetchurl { name = "listr_silent_renderer___listr_silent_renderer_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz"; sha1 = "kktaN1cVN3C/Go4/v3S4u/P5JC4="; }; } @@ -2173,7 +2180,7 @@ name = "listr_update_renderer___listr_update_renderer_0.5.0.tgz"; path = fetchurl { name = "listr_update_renderer___listr_update_renderer_0.5.0.tgz"; - url = "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz"; + url = "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz"; sha512 = "tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA=="; }; } @@ -2181,7 +2188,7 @@ name = "listr_verbose_renderer___listr_verbose_renderer_0.5.0.tgz"; path = fetchurl { name = "listr_verbose_renderer___listr_verbose_renderer_0.5.0.tgz"; - url = "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz"; + url = "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz"; sha512 = "04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw=="; }; } @@ -2189,7 +2196,7 @@ name = "listr___listr_0.14.3.tgz"; path = fetchurl { name = "listr___listr_0.14.3.tgz"; - url = "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz"; + url = "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz"; sha512 = "RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA=="; }; } @@ -2197,7 +2204,7 @@ name = "load_json_file___load_json_file_2.0.0.tgz"; path = fetchurl { name = "load_json_file___load_json_file_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz"; sha1 = "eUfkIUmvgNaWy/eXvKq8/h/inKg="; }; } @@ -2205,7 +2212,7 @@ name = "locate_path___locate_path_2.0.0.tgz"; path = fetchurl { name = "locate_path___locate_path_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; sha1 = "K1aLJl7slExtnA3pw9u7ygNUzY4="; }; } @@ -2213,7 +2220,7 @@ name = "locate_path___locate_path_3.0.0.tgz"; path = fetchurl { name = "locate_path___locate_path_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz"; sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="; }; } @@ -2221,7 +2228,7 @@ name = "lodash.memoize___lodash.memoize_4.1.2.tgz"; path = fetchurl { name = "lodash.memoize___lodash.memoize_4.1.2.tgz"; - url = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz"; sha1 = "vMbEmkKihA7Zl/Mj6tpezRguC/4="; }; } @@ -2229,7 +2236,7 @@ name = "lodash.merge___lodash.merge_4.6.2.tgz"; path = fetchurl { name = "lodash.merge___lodash.merge_4.6.2.tgz"; - url = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz"; sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="; }; } @@ -2237,7 +2244,7 @@ name = "lodash.unescape___lodash.unescape_4.0.1.tgz"; path = fetchurl { name = "lodash.unescape___lodash.unescape_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz"; sha1 = "vyJJiGzlFM2hEvrpIYzcBlIR/Jw="; }; } @@ -2245,7 +2252,7 @@ name = "lodash___lodash_4.17.15.tgz"; path = fetchurl { name = "lodash___lodash_4.17.15.tgz"; - url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz"; sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="; }; } @@ -2253,7 +2260,7 @@ name = "log_symbols___log_symbols_1.0.2.tgz"; path = fetchurl { name = "log_symbols___log_symbols_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz"; sha1 = "N2/3tY6jCGoPCfrMdGF+ylAeGhg="; }; } @@ -2261,7 +2268,7 @@ name = "log_symbols___log_symbols_2.2.0.tgz"; path = fetchurl { name = "log_symbols___log_symbols_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz"; sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg=="; }; } @@ -2269,7 +2276,7 @@ name = "log_update___log_update_2.3.0.tgz"; path = fetchurl { name = "log_update___log_update_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz"; + url = "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz"; sha1 = "iDKP19HOeTiykoN0bwsbwSayRwg="; }; } @@ -2277,7 +2284,7 @@ name = "loglevel_colored_level_prefix___loglevel_colored_level_prefix_1.0.0.tgz"; path = fetchurl { name = "loglevel_colored_level_prefix___loglevel_colored_level_prefix_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz"; sha1 = "akAhj9x64V/HbD0PPmdsRlOIYD4="; }; } @@ -2285,7 +2292,7 @@ name = "loglevel___loglevel_1.6.8.tgz"; path = fetchurl { name = "loglevel___loglevel_1.6.8.tgz"; - url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz"; + url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz"; sha512 = "bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA=="; }; } @@ -2293,7 +2300,7 @@ name = "loose_envify___loose_envify_1.4.0.tgz"; path = fetchurl { name = "loose_envify___loose_envify_1.4.0.tgz"; - url = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz"; + url = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz"; sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="; }; } @@ -2301,7 +2308,7 @@ name = "lru_cache___lru_cache_4.1.5.tgz"; path = fetchurl { name = "lru_cache___lru_cache_4.1.5.tgz"; - url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz"; sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="; }; } @@ -2309,7 +2316,7 @@ name = "make_plural___make_plural_4.3.0.tgz"; path = fetchurl { name = "make_plural___make_plural_4.3.0.tgz"; - url = "https://registry.yarnpkg.com/make-plural/-/make-plural-4.3.0.tgz"; + url = "https://registry.yarnpkg.com/make-plural/-/make-plural-4.3.0.tgz"; sha512 = "xTYd4JVHpSCW+aqDof6w/MebaMVNTVYBZhbB/vi513xXdiPT92JMVCo0Jq8W2UZnzYRFeVbQiQ+I25l13JuKvA=="; }; } @@ -2317,7 +2324,7 @@ name = "map_cache___map_cache_0.2.2.tgz"; path = fetchurl { name = "map_cache___map_cache_0.2.2.tgz"; - url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; + url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; sha1 = "wyq9C9ZSXZsFFkW7TyasXcmKDb8="; }; } @@ -2325,7 +2332,7 @@ name = "map_obj___map_obj_2.0.0.tgz"; path = fetchurl { name = "map_obj___map_obj_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz"; sha1 = "plzSkIepJZi4eRJXpSPgISIqwfk="; }; } @@ -2333,7 +2340,7 @@ name = "map_visit___map_visit_1.0.0.tgz"; path = fetchurl { name = "map_visit___map_visit_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; sha1 = "7Nyo8TFE5mDxtb1B8S80edmN+48="; }; } @@ -2341,7 +2348,7 @@ name = "matcher___matcher_1.1.1.tgz"; path = fetchurl { name = "matcher___matcher_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz"; sha512 = "+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg=="; }; } @@ -2349,7 +2356,7 @@ name = "mem___mem_1.1.0.tgz"; path = fetchurl { name = "mem___mem_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz"; sha1 = "Xt1StIXKHZAP5kiVUFOZoN+kX3Y="; }; } @@ -2357,7 +2364,7 @@ name = "messageformat_parser___messageformat_parser_1.1.0.tgz"; path = fetchurl { name = "messageformat_parser___messageformat_parser_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/messageformat-parser/-/messageformat-parser-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/messageformat-parser/-/messageformat-parser-1.1.0.tgz"; sha512 = "Hwem6G3MsKDLS1FtBRGIs8T50P1Q00r3srS6QJePCFbad9fq0nYxwf3rnU2BreApRGhmpKMV7oZI06Sy1c9TPA=="; }; } @@ -2365,7 +2372,7 @@ name = "messageformat___messageformat_1.1.1.tgz"; path = fetchurl { name = "messageformat___messageformat_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/messageformat/-/messageformat-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/messageformat/-/messageformat-1.1.1.tgz"; sha512 = "Q0uXcDtF5pEZsVSyhzDOGgZZK6ykN79VY9CwU3Nv0gsqx62BjdJW0MT+63UkHQ4exe3HE33ZlxR2/YwoJarRTg=="; }; } @@ -2373,7 +2380,7 @@ name = "micromatch___micromatch_3.1.10.tgz"; path = fetchurl { name = "micromatch___micromatch_3.1.10.tgz"; - url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg=="; }; } @@ -2381,7 +2388,7 @@ name = "mimic_fn___mimic_fn_1.2.0.tgz"; path = fetchurl { name = "mimic_fn___mimic_fn_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="; }; } @@ -2389,7 +2396,7 @@ name = "minimatch___minimatch_3.0.4.tgz"; path = fetchurl { name = "minimatch___minimatch_3.0.4.tgz"; - url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; }; } @@ -2397,7 +2404,7 @@ name = "minimist___minimist_1.2.5.tgz"; path = fetchurl { name = "minimist___minimist_1.2.5.tgz"; - url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="; }; } @@ -2405,7 +2412,7 @@ name = "minipass___minipass_3.3.4.tgz"; path = fetchurl { name = "minipass___minipass_3.3.4.tgz"; - url = "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz"; + url = "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz"; sha512 = "I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw=="; }; } @@ -2413,7 +2420,7 @@ name = "mixin_deep___mixin_deep_1.3.2.tgz"; path = fetchurl { name = "mixin_deep___mixin_deep_1.3.2.tgz"; - url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz"; + url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz"; sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA=="; }; } @@ -2421,7 +2428,7 @@ name = "mkdirp___mkdirp_0.5.5.tgz"; path = fetchurl { name = "mkdirp___mkdirp_0.5.5.tgz"; - url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="; }; } @@ -2429,7 +2436,7 @@ name = "ms___ms_2.0.0.tgz"; path = fetchurl { name = "ms___ms_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; sha1 = "VgiurfwAvmwpAd9fmGF4jeDVl8g="; }; } @@ -2437,7 +2444,7 @@ name = "ms___ms_2.1.2.tgz"; path = fetchurl { name = "ms___ms_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz"; sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; }; } @@ -2445,7 +2452,7 @@ name = "mute_stream___mute_stream_0.0.7.tgz"; path = fetchurl { name = "mute_stream___mute_stream_0.0.7.tgz"; - url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz"; + url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz"; sha1 = "MHXOk7whuPq0PhvE2n6BFe0ee6s="; }; } @@ -2453,7 +2460,7 @@ name = "nanomatch___nanomatch_1.2.13.tgz"; path = fetchurl { name = "nanomatch___nanomatch_1.2.13.tgz"; - url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; + url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="; }; } @@ -2461,7 +2468,7 @@ name = "natural_compare___natural_compare_1.4.0.tgz"; path = fetchurl { name = "natural_compare___natural_compare_1.4.0.tgz"; - url = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz"; + url = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz"; sha1 = "Sr6/7tdUHywnrPspvbvRXI1bpPc="; }; } @@ -2469,7 +2476,7 @@ name = "nice_try___nice_try_1.0.5.tgz"; path = fetchurl { name = "nice_try___nice_try_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz"; + url = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz"; sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="; }; } @@ -2477,7 +2484,7 @@ name = "nopt___nopt_3.0.6.tgz"; path = fetchurl { name = "nopt___nopt_3.0.6.tgz"; - url = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz"; + url = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz"; sha1 = "xkZdvwirzU2zWTF/eaxopkayj/k="; }; } @@ -2485,7 +2492,7 @@ name = "normalize_package_data___normalize_package_data_2.5.0.tgz"; path = fetchurl { name = "normalize_package_data___normalize_package_data_2.5.0.tgz"; - url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz"; + url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz"; sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA=="; }; } @@ -2493,7 +2500,7 @@ name = "npm_path___npm_path_2.0.4.tgz"; path = fetchurl { name = "npm_path___npm_path_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz"; sha512 = "IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw=="; }; } @@ -2501,7 +2508,7 @@ name = "npm_run_path___npm_run_path_2.0.2.tgz"; path = fetchurl { name = "npm_run_path___npm_run_path_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz"; sha1 = "NakjLfo11wZ7TLLd8jV7GHFTbF8="; }; } @@ -2509,7 +2516,7 @@ name = "npm_which___npm_which_3.0.1.tgz"; path = fetchurl { name = "npm_which___npm_which_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz"; sha1 = "kiXybsOihcIJyuZ8OxGmtKtxQKo="; }; } @@ -2517,7 +2524,7 @@ name = "number_is_nan___number_is_nan_1.0.1.tgz"; path = fetchurl { name = "number_is_nan___number_is_nan_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz"; sha1 = "CXtgK1NCKlIsGvuHkDGDNpQaAR0="; }; } @@ -2525,7 +2532,7 @@ name = "object_assign___object_assign_4.1.1.tgz"; path = fetchurl { name = "object_assign___object_assign_4.1.1.tgz"; - url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; sha1 = "IQmtx5ZYh8/AXLvUQsrIv7s2CGM="; }; } @@ -2533,7 +2540,7 @@ name = "object_copy___object_copy_0.1.0.tgz"; path = fetchurl { name = "object_copy___object_copy_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; sha1 = "fn2Fi3gb18mRpBupde04EnVOmYw="; }; } @@ -2541,7 +2548,7 @@ name = "object_inspect___object_inspect_1.7.0.tgz"; path = fetchurl { name = "object_inspect___object_inspect_1.7.0.tgz"; - url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz"; + url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz"; sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="; }; } @@ -2549,7 +2556,7 @@ name = "object_is___object_is_1.1.2.tgz"; path = fetchurl { name = "object_is___object_is_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz"; + url = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz"; sha512 = "5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ=="; }; } @@ -2557,7 +2564,7 @@ name = "object_keys___object_keys_1.1.1.tgz"; path = fetchurl { name = "object_keys___object_keys_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz"; sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="; }; } @@ -2565,7 +2572,7 @@ name = "object_visit___object_visit_1.0.1.tgz"; path = fetchurl { name = "object_visit___object_visit_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; sha1 = "95xEk68MU3e1n+OdOV5BBC3QRbs="; }; } @@ -2573,7 +2580,7 @@ name = "object.assign___object.assign_4.1.0.tgz"; path = fetchurl { name = "object.assign___object.assign_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz"; sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w=="; }; } @@ -2581,7 +2588,7 @@ name = "object.entries___object.entries_1.1.1.tgz"; path = fetchurl { name = "object.entries___object.entries_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz"; sha512 = "ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ=="; }; } @@ -2589,7 +2596,7 @@ name = "object.fromentries___object.fromentries_2.0.2.tgz"; path = fetchurl { name = "object.fromentries___object.fromentries_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz"; sha512 = "r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ=="; }; } @@ -2597,7 +2604,7 @@ name = "object.pick___object.pick_1.3.0.tgz"; path = fetchurl { name = "object.pick___object.pick_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; sha1 = "h6EKxMFpS9Lhy/U1kaZhQftd10c="; }; } @@ -2605,7 +2612,7 @@ name = "object.values___object.values_1.1.1.tgz"; path = fetchurl { name = "object.values___object.values_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz"; sha512 = "WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA=="; }; } @@ -2613,7 +2620,7 @@ name = "once___once_1.4.0.tgz"; path = fetchurl { name = "once___once_1.4.0.tgz"; - url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; sha1 = "WDsap3WWHUsROsF9nFC6753Xa9E="; }; } @@ -2621,7 +2628,7 @@ name = "onetime___onetime_2.0.1.tgz"; path = fetchurl { name = "onetime___onetime_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; sha1 = "BnQoIw/WdEOyeUsiu6UotoZ5YtQ="; }; } @@ -2629,7 +2636,7 @@ name = "optionator___optionator_0.8.3.tgz"; path = fetchurl { name = "optionator___optionator_0.8.3.tgz"; - url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz"; + url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz"; sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="; }; } @@ -2637,7 +2644,7 @@ name = "os_locale___os_locale_2.1.0.tgz"; path = fetchurl { name = "os_locale___os_locale_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz"; sha512 = "3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA=="; }; } @@ -2645,7 +2652,7 @@ name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; path = fetchurl { name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; sha1 = "u+Z0BseaqFxc/sdm/lc0VV36EnQ="; }; } @@ -2653,7 +2660,7 @@ name = "p_finally___p_finally_1.0.0.tgz"; path = fetchurl { name = "p_finally___p_finally_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz"; sha1 = "P7z7FbiZpEEjs0ttzBi3JDNqLK4="; }; } @@ -2661,7 +2668,7 @@ name = "p_limit___p_limit_1.3.0.tgz"; path = fetchurl { name = "p_limit___p_limit_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q=="; }; } @@ -2669,7 +2676,7 @@ name = "p_limit___p_limit_2.3.0.tgz"; path = fetchurl { name = "p_limit___p_limit_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz"; sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="; }; } @@ -2677,7 +2684,7 @@ name = "p_locate___p_locate_2.0.0.tgz"; path = fetchurl { name = "p_locate___p_locate_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; sha1 = "IKAQOyIqcMj9OcwuWAaA893l7EM="; }; } @@ -2685,7 +2692,7 @@ name = "p_locate___p_locate_3.0.0.tgz"; path = fetchurl { name = "p_locate___p_locate_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz"; sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="; }; } @@ -2693,7 +2700,7 @@ name = "p_map___p_map_1.2.0.tgz"; path = fetchurl { name = "p_map___p_map_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz"; sha512 = "r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA=="; }; } @@ -2701,7 +2708,7 @@ name = "p_map___p_map_2.1.0.tgz"; path = fetchurl { name = "p_map___p_map_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz"; sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="; }; } @@ -2709,7 +2716,7 @@ name = "p_try___p_try_1.0.0.tgz"; path = fetchurl { name = "p_try___p_try_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; sha1 = "y8ec26+P1CKOE/Yh8rGiN8GyB7M="; }; } @@ -2717,7 +2724,7 @@ name = "p_try___p_try_2.2.0.tgz"; path = fetchurl { name = "p_try___p_try_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz"; sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="; }; } @@ -2725,7 +2732,7 @@ name = "parent_module___parent_module_1.0.1.tgz"; path = fetchurl { name = "parent_module___parent_module_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz"; sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="; }; } @@ -2733,7 +2740,7 @@ name = "parse_json___parse_json_2.2.0.tgz"; path = fetchurl { name = "parse_json___parse_json_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz"; sha1 = "9ID0BDTvgHQfhGkJn43qGPVaTck="; }; } @@ -2741,7 +2748,7 @@ name = "parse_json___parse_json_4.0.0.tgz"; path = fetchurl { name = "parse_json___parse_json_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz"; sha1 = "vjX1Qlvh9/bHRxhPmKeIy5lHfuA="; }; } @@ -2749,7 +2756,7 @@ name = "pascalcase___pascalcase_0.1.1.tgz"; path = fetchurl { name = "pascalcase___pascalcase_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; sha1 = "s2PlXoAGym/iF4TS2yK9FdeRfxQ="; }; } @@ -2757,7 +2764,7 @@ name = "path_exists___path_exists_3.0.0.tgz"; path = fetchurl { name = "path_exists___path_exists_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; sha1 = "zg6+ql94yxiSXqfYENe1mwEP1RU="; }; } @@ -2765,7 +2772,7 @@ name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; path = fetchurl { name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; sha1 = "F0uSaHNVNP+8es5r9TpanhtcX18="; }; } @@ -2773,7 +2780,7 @@ name = "path_is_inside___path_is_inside_1.0.2.tgz"; path = fetchurl { name = "path_is_inside___path_is_inside_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz"; sha1 = "NlQX3t5EQw0cEa9hAn+s8HS9/FM="; }; } @@ -2781,7 +2788,7 @@ name = "path_key___path_key_2.0.1.tgz"; path = fetchurl { name = "path_key___path_key_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz"; sha1 = "QRyttXTFoUDTpLGRDUDYDMn0C0A="; }; } @@ -2789,7 +2796,7 @@ name = "path_parse___path_parse_1.0.6.tgz"; path = fetchurl { name = "path_parse___path_parse_1.0.6.tgz"; - url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; + url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="; }; } @@ -2797,7 +2804,7 @@ name = "path_type___path_type_2.0.0.tgz"; path = fetchurl { name = "path_type___path_type_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz"; sha1 = "8BLMuEFbcJb8LaoQVMPXI4lZTHM="; }; } @@ -2805,7 +2812,7 @@ name = "pify___pify_2.3.0.tgz"; path = fetchurl { name = "pify___pify_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; sha1 = "7RQaasBDqEnqWISY59yosVMw6Qw="; }; } @@ -2813,7 +2820,7 @@ name = "pify___pify_3.0.0.tgz"; path = fetchurl { name = "pify___pify_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; sha1 = "5aSs0sEB/fPZpNB/DbxNtJ3SgXY="; }; } @@ -2821,7 +2828,7 @@ name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; path = fetchurl { name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; sha1 = "ITXW36ejWMBprJsXh3YogihFD/o="; }; } @@ -2829,7 +2836,7 @@ name = "pinkie___pinkie_2.0.4.tgz"; path = fetchurl { name = "pinkie___pinkie_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; sha1 = "clVrgM+g1IqXToDnckjoDtT3+HA="; }; } @@ -2837,7 +2844,7 @@ name = "pkg_dir___pkg_dir_2.0.0.tgz"; path = fetchurl { name = "pkg_dir___pkg_dir_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz"; sha1 = "9tXREJ4Z1j7fQo4L1X4Sd3YVM0s="; }; } @@ -2845,7 +2852,7 @@ name = "pkg_dir___pkg_dir_3.0.0.tgz"; path = fetchurl { name = "pkg_dir___pkg_dir_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz"; sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw=="; }; } @@ -2853,7 +2860,7 @@ name = "please_upgrade_node___please_upgrade_node_3.2.0.tgz"; path = fetchurl { name = "please_upgrade_node___please_upgrade_node_3.2.0.tgz"; - url = "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz"; + url = "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz"; sha512 = "gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg=="; }; } @@ -2861,7 +2868,7 @@ name = "pluralize___pluralize_7.0.0.tgz"; path = fetchurl { name = "pluralize___pluralize_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz"; + url = "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz"; sha512 = "ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow=="; }; } @@ -2869,7 +2876,7 @@ name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; path = fetchurl { name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; sha1 = "AerA/jta9xoqbAL+q7jB/vfgDqs="; }; } @@ -2877,7 +2884,7 @@ name = "prelude_ls___prelude_ls_1.1.2.tgz"; path = fetchurl { name = "prelude_ls___prelude_ls_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz"; + url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz"; sha1 = "IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="; }; } @@ -2885,7 +2892,7 @@ name = "prettier_eslint_cli___prettier_eslint_cli_4.7.1.tgz"; path = fetchurl { name = "prettier_eslint_cli___prettier_eslint_cli_4.7.1.tgz"; - url = "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.7.1.tgz"; + url = "https://registry.yarnpkg.com/prettier-eslint-cli/-/prettier-eslint-cli-4.7.1.tgz"; sha512 = "hQbsGaEVz97oBBcKdsJ46khv0kOGkMyWrXzcFOXW6X8UuetZ/j0yDJkNJgUTVc6PVFbbzBXk+qgd5vos9qzXPQ=="; }; } @@ -2893,7 +2900,7 @@ name = "prettier_eslint___prettier_eslint_8.8.2.tgz"; path = fetchurl { name = "prettier_eslint___prettier_eslint_8.8.2.tgz"; - url = "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-8.8.2.tgz"; + url = "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-8.8.2.tgz"; sha512 = "2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA=="; }; } @@ -2901,7 +2908,7 @@ name = "prettier___prettier_1.19.1.tgz"; path = fetchurl { name = "prettier___prettier_1.19.1.tgz"; - url = "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz"; + url = "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz"; sha512 = "s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew=="; }; } @@ -2909,7 +2916,7 @@ name = "pretty_format___pretty_format_23.6.0.tgz"; path = fetchurl { name = "pretty_format___pretty_format_23.6.0.tgz"; - url = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz"; + url = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz"; sha512 = "zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw=="; }; } @@ -2917,7 +2924,7 @@ name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; path = fetchurl { name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="; }; } @@ -2925,7 +2932,7 @@ name = "progress___progress_2.0.3.tgz"; path = fetchurl { name = "progress___progress_2.0.3.tgz"; - url = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz"; + url = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz"; sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="; }; } @@ -2933,7 +2940,7 @@ name = "prop_types___prop_types_15.7.2.tgz"; path = fetchurl { name = "prop_types___prop_types_15.7.2.tgz"; - url = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz"; + url = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz"; sha512 = "8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ=="; }; } @@ -2941,7 +2948,7 @@ name = "property_expr___property_expr_1.5.1.tgz"; path = fetchurl { name = "property_expr___property_expr_1.5.1.tgz"; - url = "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz"; + url = "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz"; sha512 = "CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g=="; }; } @@ -2949,7 +2956,7 @@ name = "pseudomap___pseudomap_1.0.2.tgz"; path = fetchurl { name = "pseudomap___pseudomap_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; sha1 = "8FKijacOYYkX7wqKw0wa5aaChrM="; }; } @@ -2957,7 +2964,7 @@ name = "pump___pump_3.0.0.tgz"; path = fetchurl { name = "pump___pump_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz"; sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="; }; } @@ -2965,7 +2972,7 @@ name = "punycode___punycode_2.1.1.tgz"; path = fetchurl { name = "punycode___punycode_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; }; } @@ -2973,7 +2980,7 @@ name = "quick_lru___quick_lru_1.1.0.tgz"; path = fetchurl { name = "quick_lru___quick_lru_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz"; sha1 = "Q2CxfGETatOAeDl/8RQW4Ybc+7g="; }; } @@ -2981,7 +2988,7 @@ name = "ramda___ramda_0.26.1.tgz"; path = fetchurl { name = "ramda___ramda_0.26.1.tgz"; - url = "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz"; + url = "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz"; sha512 = "hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ=="; }; } @@ -2989,7 +2996,7 @@ name = "react_is___react_is_16.13.1.tgz"; path = fetchurl { name = "react_is___react_is_16.13.1.tgz"; - url = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz"; + url = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz"; sha512 = "24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="; }; } @@ -2997,7 +3004,7 @@ name = "read_pkg_up___read_pkg_up_2.0.0.tgz"; path = fetchurl { name = "read_pkg_up___read_pkg_up_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz"; sha1 = "a3KoBImE4MQeeVEP1en6mbO1Sb4="; }; } @@ -3005,7 +3012,7 @@ name = "read_pkg___read_pkg_2.0.0.tgz"; path = fetchurl { name = "read_pkg___read_pkg_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz"; sha1 = "jvHAYjxqbbDcZxPEv6xGMysjaPg="; }; } @@ -3013,7 +3020,7 @@ name = "read_pkg___read_pkg_4.0.1.tgz"; path = fetchurl { name = "read_pkg___read_pkg_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz"; + url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz"; sha1 = "ljYlN48+HE1IyFhytabsfV0JMjc="; }; } @@ -3021,7 +3028,7 @@ name = "readable_stream___readable_stream_2.3.7.tgz"; path = fetchurl { name = "readable_stream___readable_stream_2.3.7.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="; }; } @@ -3029,7 +3036,7 @@ name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; path = fetchurl { name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; - url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; + url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="; }; } @@ -3037,7 +3044,7 @@ name = "regenerator_runtime___regenerator_runtime_0.13.5.tgz"; path = fetchurl { name = "regenerator_runtime___regenerator_runtime_0.13.5.tgz"; - url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz"; + url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz"; sha512 = "ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="; }; } @@ -3045,7 +3052,7 @@ name = "regex_not___regex_not_1.0.2.tgz"; path = fetchurl { name = "regex_not___regex_not_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A=="; }; } @@ -3053,7 +3060,7 @@ name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz"; path = fetchurl { name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz"; sha512 = "2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ=="; }; } @@ -3061,7 +3068,7 @@ name = "regexpp___regexpp_1.1.0.tgz"; path = fetchurl { name = "regexpp___regexpp_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz"; sha512 = "LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw=="; }; } @@ -3069,7 +3076,7 @@ name = "regexpp___regexpp_2.0.1.tgz"; path = fetchurl { name = "regexpp___regexpp_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz"; sha512 = "lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw=="; }; } @@ -3077,7 +3084,7 @@ name = "repeat_element___repeat_element_1.1.3.tgz"; path = fetchurl { name = "repeat_element___repeat_element_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="; }; } @@ -3085,7 +3092,7 @@ name = "repeat_string___repeat_string_1.6.1.tgz"; path = fetchurl { name = "repeat_string___repeat_string_1.6.1.tgz"; - url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; sha1 = "jcrkcOHIirwtYA//Sndihtp15jc="; }; } @@ -3093,7 +3100,7 @@ name = "require_directory___require_directory_2.1.1.tgz"; path = fetchurl { name = "require_directory___require_directory_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; sha1 = "jGStX9MNqxyXbiNE/+f3kqam30I="; }; } @@ -3101,7 +3108,7 @@ name = "require_main_filename___require_main_filename_1.0.1.tgz"; path = fetchurl { name = "require_main_filename___require_main_filename_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz"; sha1 = "l/cXtp1IeE9fUmpsWqj/3aBVpNE="; }; } @@ -3109,7 +3116,7 @@ name = "require_relative___require_relative_0.8.7.tgz"; path = fetchurl { name = "require_relative___require_relative_0.8.7.tgz"; - url = "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz"; + url = "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz"; sha1 = "eZlTn8ngR6N5KPoZb44VY9q9Nt4="; }; } @@ -3117,7 +3124,7 @@ name = "require_uncached___require_uncached_1.0.3.tgz"; path = fetchurl { name = "require_uncached___require_uncached_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz"; sha1 = "Tg1W1slmL9MeQwEcS5WqSZVUIdM="; }; } @@ -3125,7 +3132,7 @@ name = "reserved_words___reserved_words_0.1.2.tgz"; path = fetchurl { name = "reserved_words___reserved_words_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz"; sha1 = "AKCUD5jNUBrqqsMWQR2a3FKzGrE="; }; } @@ -3133,7 +3140,7 @@ name = "resolve_from___resolve_from_1.0.1.tgz"; path = fetchurl { name = "resolve_from___resolve_from_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz"; sha1 = "Jsv+k10a7uq7Kbw/5a6wHpPUQiY="; }; } @@ -3141,7 +3148,7 @@ name = "resolve_from___resolve_from_3.0.0.tgz"; path = fetchurl { name = "resolve_from___resolve_from_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz"; sha1 = "six699nWiBvItuZTM17rywoYh0g="; }; } @@ -3149,7 +3156,7 @@ name = "resolve_from___resolve_from_4.0.0.tgz"; path = fetchurl { name = "resolve_from___resolve_from_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz"; sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="; }; } @@ -3157,7 +3164,7 @@ name = "resolve_url___resolve_url_0.2.1.tgz"; path = fetchurl { name = "resolve_url___resolve_url_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; sha1 = "LGN/53yJOv0qZj/iGqkIAGjiBSo="; }; } @@ -3165,7 +3172,7 @@ name = "resolve___resolve_1.17.0.tgz"; path = fetchurl { name = "resolve___resolve_1.17.0.tgz"; - url = "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz"; sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w=="; }; } @@ -3173,7 +3180,7 @@ name = "restore_cursor___restore_cursor_2.0.0.tgz"; path = fetchurl { name = "restore_cursor___restore_cursor_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; sha1 = "n37ih/gv0ybU/RYpI9YhKe7g368="; }; } @@ -3181,7 +3188,7 @@ name = "ret___ret_0.1.15.tgz"; path = fetchurl { name = "ret___ret_0.1.15.tgz"; - url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; + url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="; }; } @@ -3189,7 +3196,7 @@ name = "rimraf___rimraf_2.6.3.tgz"; path = fetchurl { name = "rimraf___rimraf_2.6.3.tgz"; - url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz"; sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="; }; } @@ -3197,7 +3204,7 @@ name = "rimraf___rimraf_2.7.1.tgz"; path = fetchurl { name = "rimraf___rimraf_2.7.1.tgz"; - url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz"; sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="; }; } @@ -3205,7 +3212,7 @@ name = "run_async___run_async_2.4.1.tgz"; path = fetchurl { name = "run_async___run_async_2.4.1.tgz"; - url = "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz"; + url = "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz"; sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="; }; } @@ -3213,7 +3220,7 @@ name = "run_node___run_node_1.0.0.tgz"; path = fetchurl { name = "run_node___run_node_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz"; sha512 = "kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A=="; }; } @@ -3221,7 +3228,7 @@ name = "rx_lite_aggregates___rx_lite_aggregates_4.0.8.tgz"; path = fetchurl { name = "rx_lite_aggregates___rx_lite_aggregates_4.0.8.tgz"; - url = "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz"; + url = "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz"; sha1 = "dTuHqJoRyVRnxKwWJsTvxOBcZ74="; }; } @@ -3229,7 +3236,7 @@ name = "rx_lite___rx_lite_4.0.8.tgz"; path = fetchurl { name = "rx_lite___rx_lite_4.0.8.tgz"; - url = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz"; + url = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz"; sha1 = "Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="; }; } @@ -3237,7 +3244,7 @@ name = "rxjs___rxjs_5.5.12.tgz"; path = fetchurl { name = "rxjs___rxjs_5.5.12.tgz"; - url = "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz"; + url = "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz"; sha512 = "xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw=="; }; } @@ -3245,7 +3252,7 @@ name = "rxjs___rxjs_6.5.5.tgz"; path = fetchurl { name = "rxjs___rxjs_6.5.5.tgz"; - url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz"; + url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz"; sha512 = "WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ=="; }; } @@ -3253,7 +3260,7 @@ name = "safe_buffer___safe_buffer_5.1.2.tgz"; path = fetchurl { name = "safe_buffer___safe_buffer_5.1.2.tgz"; - url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="; }; } @@ -3261,7 +3268,7 @@ name = "safe_regex___safe_regex_1.1.0.tgz"; path = fetchurl { name = "safe_regex___safe_regex_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; sha1 = "QKNmnzsHfR6UPURinhV91IAjvy4="; }; } @@ -3269,7 +3276,7 @@ name = "safer_buffer___safer_buffer_2.1.2.tgz"; path = fetchurl { name = "safer_buffer___safer_buffer_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="; }; } @@ -3277,7 +3284,7 @@ name = "semver_compare___semver_compare_1.0.0.tgz"; path = fetchurl { name = "semver_compare___semver_compare_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz"; sha1 = "De4hahyUGrN+nvsXiPavxf9VN/w="; }; } @@ -3285,7 +3292,7 @@ name = "semver___semver_5.7.1.tgz"; path = fetchurl { name = "semver___semver_5.7.1.tgz"; - url = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz"; sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="; }; } @@ -3293,7 +3300,7 @@ name = "semver___semver_5.5.0.tgz"; path = fetchurl { name = "semver___semver_5.5.0.tgz"; - url = "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz"; sha512 = "4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="; }; } @@ -3301,7 +3308,7 @@ name = "set_blocking___set_blocking_2.0.0.tgz"; path = fetchurl { name = "set_blocking___set_blocking_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; sha1 = "BF+XgtARrppoA93TgrJDkrPYkPc="; }; } @@ -3309,7 +3316,7 @@ name = "set_value___set_value_2.0.1.tgz"; path = fetchurl { name = "set_value___set_value_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz"; sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw=="; }; } @@ -3317,7 +3324,7 @@ name = "shebang_command___shebang_command_1.2.0.tgz"; path = fetchurl { name = "shebang_command___shebang_command_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz"; sha1 = "RKrGW2lbAzmJaMOfNj/uXer98eo="; }; } @@ -3325,7 +3332,7 @@ name = "shebang_regex___shebang_regex_1.0.0.tgz"; path = fetchurl { name = "shebang_regex___shebang_regex_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz"; sha1 = "2kL0l0DAtC2yypcoVxyxkMmO/qM="; }; } @@ -3333,7 +3340,7 @@ name = "side_channel___side_channel_1.0.2.tgz"; path = fetchurl { name = "side_channel___side_channel_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz"; sha512 = "7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA=="; }; } @@ -3341,7 +3348,7 @@ name = "signal_exit___signal_exit_3.0.3.tgz"; path = fetchurl { name = "signal_exit___signal_exit_3.0.3.tgz"; - url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz"; + url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz"; sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; }; } @@ -3349,7 +3356,7 @@ name = "simple_git___simple_git_1.132.0.tgz"; path = fetchurl { name = "simple_git___simple_git_1.132.0.tgz"; - url = "https://registry.yarnpkg.com/simple-git/-/simple-git-1.132.0.tgz"; + url = "https://registry.yarnpkg.com/simple-git/-/simple-git-1.132.0.tgz"; sha512 = "xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg=="; }; } @@ -3357,7 +3364,7 @@ name = "slash___slash_2.0.0.tgz"; path = fetchurl { name = "slash___slash_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz"; sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="; }; } @@ -3365,7 +3372,7 @@ name = "slice_ansi___slice_ansi_0.0.4.tgz"; path = fetchurl { name = "slice_ansi___slice_ansi_0.0.4.tgz"; - url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz"; + url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz"; sha1 = "7b+JA/ZvfOL46v1s7tZeJkyDGzU="; }; } @@ -3373,7 +3380,7 @@ name = "slice_ansi___slice_ansi_1.0.0.tgz"; path = fetchurl { name = "slice_ansi___slice_ansi_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz"; sha512 = "POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg=="; }; } @@ -3381,7 +3388,7 @@ name = "slice_ansi___slice_ansi_2.1.0.tgz"; path = fetchurl { name = "slice_ansi___slice_ansi_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz"; sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ=="; }; } @@ -3389,7 +3396,7 @@ name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; path = fetchurl { name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw=="; }; } @@ -3397,7 +3404,7 @@ name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; path = fetchurl { name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ=="; }; } @@ -3405,7 +3412,7 @@ name = "snapdragon___snapdragon_0.8.2.tgz"; path = fetchurl { name = "snapdragon___snapdragon_0.8.2.tgz"; - url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; + url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg=="; }; } @@ -3413,7 +3420,7 @@ name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; path = fetchurl { name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; - url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw=="; }; } @@ -3421,7 +3428,7 @@ name = "source_map_url___source_map_url_0.4.0.tgz"; path = fetchurl { name = "source_map_url___source_map_url_0.4.0.tgz"; - url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; + url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; sha1 = "PpNdfd1zYxuXZZlW1VEo6HtQhKM="; }; } @@ -3429,7 +3436,7 @@ name = "source_map___source_map_0.5.7.tgz"; path = fetchurl { name = "source_map___source_map_0.5.7.tgz"; - url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; sha1 = "igOdLRAh0i0eoUyA2OpGi6LvP8w="; }; } @@ -3437,7 +3444,7 @@ name = "spdx_correct___spdx_correct_3.1.0.tgz"; path = fetchurl { name = "spdx_correct___spdx_correct_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz"; sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q=="; }; } @@ -3445,7 +3452,7 @@ name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz"; path = fetchurl { name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"; sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="; }; } @@ -3453,7 +3460,7 @@ name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz"; path = fetchurl { name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz"; sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="; }; } @@ -3461,7 +3468,7 @@ name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz"; path = fetchurl { name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz"; - url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz"; + url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz"; sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="; }; } @@ -3469,7 +3476,7 @@ name = "split_string___split_string_3.1.0.tgz"; path = fetchurl { name = "split_string___split_string_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw=="; }; } @@ -3477,7 +3484,7 @@ name = "sprintf_js___sprintf_js_1.0.3.tgz"; path = fetchurl { name = "sprintf_js___sprintf_js_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; sha1 = "BOaSb2YolTVPPdAVIDYzuFcpfiw="; }; } @@ -3485,7 +3492,7 @@ name = "ssri___ssri_10.0.0.tgz"; path = fetchurl { name = "ssri___ssri_10.0.0.tgz"; - url = "https://registry.yarnpkg.com/ssri/-/ssri-10.0.0.tgz"; + url = "https://registry.yarnpkg.com/ssri/-/ssri-10.0.0.tgz"; sha512 = "64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw=="; }; } @@ -3493,7 +3500,7 @@ name = "staged_git_files___staged_git_files_1.1.2.tgz"; path = fetchurl { name = "staged_git_files___staged_git_files_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz"; + url = "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz"; sha512 = "0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA=="; }; } @@ -3501,7 +3508,7 @@ name = "static_extend___static_extend_0.1.2.tgz"; path = fetchurl { name = "static_extend___static_extend_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; sha1 = "YICcOcv/VTNyJv1eC1IPNB8ftcY="; }; } @@ -3509,7 +3516,7 @@ name = "string_argv___string_argv_0.0.2.tgz"; path = fetchurl { name = "string_argv___string_argv_0.0.2.tgz"; - url = "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz"; + url = "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz"; sha1 = "2sMECGkMIfPDYwo/86BYd73L1zY="; }; } @@ -3517,7 +3524,7 @@ name = "string_width___string_width_1.0.2.tgz"; path = fetchurl { name = "string_width___string_width_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz"; sha1 = "EYvfW4zcUaKn5w0hHgfisLmxB9M="; }; } @@ -3525,7 +3532,7 @@ name = "string_width___string_width_2.1.1.tgz"; path = fetchurl { name = "string_width___string_width_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="; }; } @@ -3533,7 +3540,7 @@ name = "string_width___string_width_3.1.0.tgz"; path = fetchurl { name = "string_width___string_width_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz"; sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; }; } @@ -3541,7 +3548,7 @@ name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz"; path = fetchurl { name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz"; sha512 = "N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg=="; }; } @@ -3549,7 +3556,7 @@ name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz"; path = fetchurl { name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz"; sha512 = "LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g=="; }; } @@ -3557,7 +3564,7 @@ name = "string.prototype.trimleft___string.prototype.trimleft_2.1.2.tgz"; path = fetchurl { name = "string.prototype.trimleft___string.prototype.trimleft_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz"; sha512 = "gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw=="; }; } @@ -3565,7 +3572,7 @@ name = "string.prototype.trimright___string.prototype.trimright_2.1.2.tgz"; path = fetchurl { name = "string.prototype.trimright___string.prototype.trimright_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz"; sha512 = "ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg=="; }; } @@ -3573,7 +3580,7 @@ name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz"; path = fetchurl { name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz"; sha512 = "XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw=="; }; } @@ -3581,7 +3588,7 @@ name = "string_decoder___string_decoder_1.1.1.tgz"; path = fetchurl { name = "string_decoder___string_decoder_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="; }; } @@ -3589,7 +3596,7 @@ name = "stringify_object___stringify_object_3.3.0.tgz"; path = fetchurl { name = "stringify_object___stringify_object_3.3.0.tgz"; - url = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz"; + url = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz"; sha512 = "rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw=="; }; } @@ -3597,7 +3604,7 @@ name = "strip_ansi___strip_ansi_3.0.1.tgz"; path = fetchurl { name = "strip_ansi___strip_ansi_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; sha1 = "ajhfuIU9lS1f8F0Oiq+UJ43GPc8="; }; } @@ -3605,7 +3612,7 @@ name = "strip_ansi___strip_ansi_4.0.0.tgz"; path = fetchurl { name = "strip_ansi___strip_ansi_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; sha1 = "qEeQIusaw2iocTibY1JixQXuNo8="; }; } @@ -3613,7 +3620,7 @@ name = "strip_ansi___strip_ansi_5.2.0.tgz"; path = fetchurl { name = "strip_ansi___strip_ansi_5.2.0.tgz"; - url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz"; sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; }; } @@ -3621,7 +3628,7 @@ name = "strip_bom___strip_bom_3.0.0.tgz"; path = fetchurl { name = "strip_bom___strip_bom_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz"; sha1 = "IzTBjpx1n3vdVv3vfprj1YjmjtM="; }; } @@ -3629,7 +3636,7 @@ name = "strip_eof___strip_eof_1.0.0.tgz"; path = fetchurl { name = "strip_eof___strip_eof_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz"; sha1 = "u0P/VZim6wXYm1n80SnJgzE2Br8="; }; } @@ -3637,7 +3644,7 @@ name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; path = fetchurl { name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; sha1 = "PFMZQukIwml8DsNEhYwobHygpgo="; }; } @@ -3645,7 +3652,7 @@ name = "supports_color___supports_color_2.0.0.tgz"; path = fetchurl { name = "supports_color___supports_color_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; sha1 = "U10EXOa2Nj+kARcIRimZXp3zJMc="; }; } @@ -3653,7 +3660,7 @@ name = "supports_color___supports_color_4.5.0.tgz"; path = fetchurl { name = "supports_color___supports_color_4.5.0.tgz"; - url = "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz"; sha1 = "vnoN5ITexcXN34s9WRJQRJEvY1s="; }; } @@ -3661,7 +3668,7 @@ name = "supports_color___supports_color_5.5.0.tgz"; path = fetchurl { name = "supports_color___supports_color_5.5.0.tgz"; - url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz"; sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; }; } @@ -3669,7 +3676,7 @@ name = "symbol_observable___symbol_observable_1.0.1.tgz"; path = fetchurl { name = "symbol_observable___symbol_observable_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz"; sha1 = "g0D8RwLDEi310iKI+IKD9RPT/dQ="; }; } @@ -3677,7 +3684,7 @@ name = "symbol_observable___symbol_observable_1.2.0.tgz"; path = fetchurl { name = "symbol_observable___symbol_observable_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz"; sha512 = "e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="; }; } @@ -3685,7 +3692,7 @@ name = "synchronous_promise___synchronous_promise_2.0.12.tgz"; path = fetchurl { name = "synchronous_promise___synchronous_promise_2.0.12.tgz"; - url = "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.12.tgz"; + url = "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.12.tgz"; sha512 = "rIDJiHmIK02tXU+eW1v6a7rNIIiMLm5JUF5Uj2fT6oLSulg7WNDVoqvkYqkFoJzf4v2gmTLppvzegdo9R+7h1Q=="; }; } @@ -3693,7 +3700,7 @@ name = "table___table_4.0.2.tgz"; path = fetchurl { name = "table___table_4.0.2.tgz"; - url = "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz"; + url = "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz"; sha512 = "UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA=="; }; } @@ -3701,7 +3708,7 @@ name = "table___table_5.4.6.tgz"; path = fetchurl { name = "table___table_5.4.6.tgz"; - url = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz"; + url = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz"; sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug=="; }; } @@ -3709,7 +3716,7 @@ name = "text_table___text_table_0.2.0.tgz"; path = fetchurl { name = "text_table___text_table_0.2.0.tgz"; - url = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz"; + url = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz"; sha1 = "f17oI66AUgfACvLfSoTsP8+lcLQ="; }; } @@ -3717,7 +3724,7 @@ name = "through___through_2.3.8.tgz"; path = fetchurl { name = "through___through_2.3.8.tgz"; - url = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz"; + url = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz"; sha1 = "DdTJ/6q8NXlgsbckEV1+Doai4fU="; }; } @@ -3725,7 +3732,7 @@ name = "tmp___tmp_0.0.33.tgz"; path = fetchurl { name = "tmp___tmp_0.0.33.tgz"; - url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; + url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="; }; } @@ -3733,7 +3740,7 @@ name = "to_fast_properties___to_fast_properties_2.0.0.tgz"; path = fetchurl { name = "to_fast_properties___to_fast_properties_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; sha1 = "3F5pjL0HkmW8c+A3doGk5Og/YW4="; }; } @@ -3741,7 +3748,7 @@ name = "to_object_path___to_object_path_0.3.0.tgz"; path = fetchurl { name = "to_object_path___to_object_path_0.3.0.tgz"; - url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; sha1 = "KXWIt7Dn4KwI4E5nL4XB9JmeF68="; }; } @@ -3749,7 +3756,7 @@ name = "to_regex_range___to_regex_range_2.1.1.tgz"; path = fetchurl { name = "to_regex_range___to_regex_range_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; sha1 = "fIDBe53+vlmeJzZ+DU3VWQFB2zg="; }; } @@ -3757,7 +3764,7 @@ name = "to_regex___to_regex_3.0.2.tgz"; path = fetchurl { name = "to_regex___to_regex_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw=="; }; } @@ -3765,7 +3772,7 @@ name = "toposort___toposort_2.0.2.tgz"; path = fetchurl { name = "toposort___toposort_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz"; sha1 = "riF2gXXRVZ1IvvNUILL0li8JwzA="; }; } @@ -3773,7 +3780,7 @@ name = "tslib___tslib_1.13.0.tgz"; path = fetchurl { name = "tslib___tslib_1.13.0.tgz"; - url = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz"; + url = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz"; sha512 = "i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="; }; } @@ -3781,7 +3788,7 @@ name = "type_check___type_check_0.3.2.tgz"; path = fetchurl { name = "type_check___type_check_0.3.2.tgz"; - url = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz"; + url = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz"; sha1 = "WITKtRLPHTVeP7eE8wgEsrUg23I="; }; } @@ -3789,7 +3796,7 @@ name = "typedarray___typedarray_0.0.6.tgz"; path = fetchurl { name = "typedarray___typedarray_0.0.6.tgz"; - url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz"; + url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz"; sha1 = "hnrHTjhkGHsdPUfZlqeOxciDB3c="; }; } @@ -3797,7 +3804,7 @@ name = "typescript_eslint_parser___typescript_eslint_parser_16.0.1.tgz"; path = fetchurl { name = "typescript_eslint_parser___typescript_eslint_parser_16.0.1.tgz"; - url = "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-16.0.1.tgz"; + url = "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-16.0.1.tgz"; sha512 = "IKawLTu4A2xN3aN/cPLxvZ0bhxZHILGDKTZWvWNJ3sLNhJ3PjfMEDQmR2VMpdRPrmWOadgWXRwjLBzSA8AGsaQ=="; }; } @@ -3805,7 +3812,7 @@ name = "typescript___typescript_2.9.2.tgz"; path = fetchurl { name = "typescript___typescript_2.9.2.tgz"; - url = "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz"; + url = "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz"; sha512 = "Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w=="; }; } @@ -3813,7 +3820,7 @@ name = "union_value___union_value_1.0.1.tgz"; path = fetchurl { name = "union_value___union_value_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz"; sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg=="; }; } @@ -3821,7 +3828,7 @@ name = "unset_value___unset_value_1.0.0.tgz"; path = fetchurl { name = "unset_value___unset_value_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; sha1 = "g3aHP30jNRef+x5vw6jtDfyKtVk="; }; } @@ -3829,7 +3836,7 @@ name = "uri_js___uri_js_4.2.2.tgz"; path = fetchurl { name = "uri_js___uri_js_4.2.2.tgz"; - url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; + url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; }; } @@ -3837,7 +3844,7 @@ name = "urix___urix_0.1.0.tgz"; path = fetchurl { name = "urix___urix_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; sha1 = "2pN/emLiH+wf0Y1Js1wpNQZ6bHI="; }; } @@ -3845,7 +3852,7 @@ name = "use___use_3.1.1.tgz"; path = fetchurl { name = "use___use_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; + url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="; }; } @@ -3853,7 +3860,7 @@ name = "util_deprecate___util_deprecate_1.0.2.tgz"; path = fetchurl { name = "util_deprecate___util_deprecate_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; sha1 = "RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="; }; } @@ -3861,7 +3868,7 @@ name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; path = fetchurl { name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; - url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; + url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="; }; } @@ -3869,7 +3876,7 @@ name = "vue_eslint_parser___vue_eslint_parser_2.0.3.tgz"; path = fetchurl { name = "vue_eslint_parser___vue_eslint_parser_2.0.3.tgz"; - url = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz"; + url = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz"; sha512 = "ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw=="; }; } @@ -3877,7 +3884,7 @@ name = "which_module___which_module_2.0.0.tgz"; path = fetchurl { name = "which_module___which_module_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz"; sha1 = "2e8H3Od7mQK4o6j6SzHD4/fm6Ho="; }; } @@ -3885,7 +3892,7 @@ name = "which___which_1.3.1.tgz"; path = fetchurl { name = "which___which_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="; }; } @@ -3893,7 +3900,7 @@ name = "word_wrap___word_wrap_1.2.3.tgz"; path = fetchurl { name = "word_wrap___word_wrap_1.2.3.tgz"; - url = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz"; + url = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz"; sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="; }; } @@ -3901,7 +3908,7 @@ name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; path = fetchurl { name = "wrap_ansi___wrap_ansi_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; sha1 = "2Pw9KE3QV5T+hJc8rs3Rz4JP3YU="; }; } @@ -3909,7 +3916,7 @@ name = "wrap_ansi___wrap_ansi_3.0.1.tgz"; path = fetchurl { name = "wrap_ansi___wrap_ansi_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz"; sha1 = "KIoE2H7aXChuBg3+jxNc6NAH+Lo="; }; } @@ -3917,7 +3924,7 @@ name = "wrappy___wrappy_1.0.2.tgz"; path = fetchurl { name = "wrappy___wrappy_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8="; }; } @@ -3925,7 +3932,7 @@ name = "write___write_1.0.3.tgz"; path = fetchurl { name = "write___write_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz"; sha512 = "/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig=="; }; } @@ -3933,7 +3940,7 @@ name = "write___write_0.2.1.tgz"; path = fetchurl { name = "write___write_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz"; sha1 = "X8A4KOJkzqP+kUVUdvejxWbLB1c="; }; } @@ -3941,7 +3948,7 @@ name = "xregexp___xregexp_4.3.0.tgz"; path = fetchurl { name = "xregexp___xregexp_4.3.0.tgz"; - url = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz"; + url = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz"; sha512 = "7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g=="; }; } @@ -3949,7 +3956,7 @@ name = "y18n___y18n_3.2.1.tgz"; path = fetchurl { name = "y18n___y18n_3.2.1.tgz"; - url = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz"; + url = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz"; sha1 = "bRX7qITAhnnA136I53WegR4H+kE="; }; } @@ -3957,7 +3964,7 @@ name = "yallist___yallist_2.1.2.tgz"; path = fetchurl { name = "yallist___yallist_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; sha1 = "HBH5IY8HYImkfdUS+TxmmaaoHVI="; }; } @@ -3965,7 +3972,7 @@ name = "yallist___yallist_4.0.0.tgz"; path = fetchurl { name = "yallist___yallist_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz"; sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="; }; } @@ -3973,7 +3980,7 @@ name = "yargs_parser___yargs_parser_8.1.0.tgz"; path = fetchurl { name = "yargs_parser___yargs_parser_8.1.0.tgz"; - url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz"; sha512 = "yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ=="; }; } @@ -3981,7 +3988,7 @@ name = "yargs___yargs_10.0.3.tgz"; path = fetchurl { name = "yargs___yargs_10.0.3.tgz"; - url = "https://registry.yarnpkg.com/yargs/-/yargs-10.0.3.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-10.0.3.tgz"; sha512 = "DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw=="; }; } @@ -3989,7 +3996,7 @@ name = "yup___yup_0.27.0.tgz"; path = fetchurl { name = "yup___yup_0.27.0.tgz"; - url = "https://registry.yarnpkg.com/yup/-/yup-0.27.0.tgz"; + url = "https://registry.yarnpkg.com/yup/-/yup-0.27.0.tgz"; sha512 = "v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ=="; }; } diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix index d4a324d340d68..84f6260adc1ec 100644 --- a/pkgs/development/web/grails/default.nix +++ b/pkgs/development/web/grails/default.nix @@ -1,13 +1,27 @@ -{ lib, stdenv, fetchurl, unzip -# If jdk is null, require JAVA_HOME in runtime environment, else store -# JAVA_HOME=${jdk.home} into grails. -, jdk ? null -, coreutils, ncurses, gnused, gnugrep # for purity +{ + lib, + stdenv, + fetchurl, + unzip, + # If jdk is null, require JAVA_HOME in runtime environment, else store + # JAVA_HOME=${jdk.home} into grails. + jdk ? null, + coreutils, + ncurses, + gnused, + gnugrep, # for purity }: let - binpath = lib.makeBinPath - ([ coreutils ncurses gnused gnugrep ] ++ lib.optional (jdk != null) jdk); + binpath = lib.makeBinPath ( + [ + coreutils + ncurses + gnused + gnugrep + ] + ++ lib.optional (jdk != null) jdk + ); in stdenv.mkDerivation rec { pname = "grails"; @@ -22,17 +36,19 @@ stdenv.mkDerivation rec { dontBuild = true; - installPhase = '' - mkdir -p "$out" - cp -vr . "$out" - # Remove (for now) uneeded Windows .bat files - rm -f "$out"/bin/*.bat - # Improve purity - sed -i -e '2iPATH=${binpath}:\$PATH' "$out"/bin/grails - '' + lib.optionalString (jdk != null) '' - # Inject JDK path into grails - sed -i -e '2iJAVA_HOME=${jdk.home}' "$out"/bin/grails - ''; + installPhase = + '' + mkdir -p "$out" + cp -vr . "$out" + # Remove (for now) uneeded Windows .bat files + rm -f "$out"/bin/*.bat + # Improve purity + sed -i -e '2iPATH=${binpath}:\$PATH' "$out"/bin/grails + '' + + lib.optionalString (jdk != null) '' + # Inject JDK path into grails + sed -i -e '2iJAVA_HOME=${jdk.home}' "$out"/bin/grails + ''; preferLocalBuild = true; diff --git a/pkgs/development/web/mailcatcher/default.nix b/pkgs/development/web/mailcatcher/default.nix index a6188fec5dbd5..b89f39a237cae 100644 --- a/pkgs/development/web/mailcatcher/default.nix +++ b/pkgs/development/web/mailcatcher/default.nix @@ -1,9 +1,18 @@ -{ ruby_3_2, lib, bundlerApp, bundlerUpdateScript, nixosTests }: +{ + ruby_3_2, + lib, + bundlerApp, + bundlerUpdateScript, + nixosTests, +}: bundlerApp { pname = "mailcatcher"; gemdir = ./.; - exes = [ "mailcatcher" "catchmail" ]; + exes = [ + "mailcatcher" + "catchmail" + ]; ruby = ruby_3_2; passthru.updateScript = bundlerUpdateScript "mailcatcher"; @@ -11,9 +20,12 @@ bundlerApp { meta = with lib; { description = "SMTP server and web interface to locally test outbound emails"; - homepage = "https://mailcatcher.me/"; - license = licenses.mit; - maintainers = with maintainers; [ zarelit nicknovitski ]; - platforms = platforms.unix; + homepage = "https://mailcatcher.me/"; + license = licenses.mit; + maintainers = with maintainers; [ + zarelit + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/web/mailcatcher/gemset.nix b/pkgs/development/web/mailcatcher/gemset.nix index 7dd515a374370..34021359d8650 100644 --- a/pkgs/development/web/mailcatcher/gemset.nix +++ b/pkgs/development/web/mailcatcher/gemset.nix @@ -1,664 +1,833 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "public_suffix" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; type = "gem"; }; version = "2.8.4"; }; capybara = { - dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "matrix" + "mini_mime" + "nokogiri" + "rack" + "rack-test" + "regexp_parser" + "xpath" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "114qm5f5vhwaaw9rj1h2lcamh46zl13v1m18jiw68zl961gwmw6n"; type = "gem"; }; version = "3.39.2"; }; capybara-screenshot = { - dependencies = ["capybara" "launchy"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "capybara" + "launchy" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xqc7hdiw1ql42mklpfvqd2pyfsxmy55cpx0h9y0jlkpl1q96sw1"; type = "gem"; }; version = "1.0.26"; }; chunky_png = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; coffee-script = { - dependencies = ["coffee-script-source" "execjs"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coffee-script-source" + "execjs" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2"; type = "gem"; }; version = "2.4.1"; }; coffee-script-source = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1"; type = "gem"; }; version = "1.12.2"; }; compass = { - dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "chunky_png" + "compass-core" + "compass-import-once" + "rb-fsevent" + "rb-inotify" + "sass" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c"; type = "gem"; }; version = "1.0.3"; }; compass-core = { - dependencies = ["multi_json" "sass"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "multi_json" + "sass" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a"; type = "gem"; }; version = "1.0.3"; }; compass-import-once = { - dependencies = ["sass"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "sass" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq"; type = "gem"; }; version = "1.0.5"; }; concurrent-ruby = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; type = "gem"; }; version = "1.2.2"; }; daemons = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg"; type = "gem"; }; version = "1.4.1"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1"; type = "gem"; }; version = "3.3.3"; }; diff-lcs = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; type = "gem"; }; version = "1.5.0"; }; eventmachine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; execjs = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; type = "gem"; }; version = "2.8.1"; }; faye-websocket = { - dependencies = ["eventmachine" "websocket-driver"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "eventmachine" + "websocket-driver" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01xkpv5b4fjc5n6n1fq6z1ris991av2fbadvs8r71i9r34b8g48h"; type = "gem"; }; version = "0.11.3"; }; ffi = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; type = "gem"; }; version = "1.15.5"; }; launchy = { - dependencies = ["addressable"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "addressable" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06r43899384das2bkbrpsdxsafyyqa94il7111053idfalb4984a"; type = "gem"; }; version = "2.5.2"; }; mail = { - dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; version = "2.8.1"; }; mailcatcher = { - dependencies = ["eventmachine" "faye-websocket" "mail" "net-smtp" "rack" "sinatra" "sqlite3" "thin"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "eventmachine" + "faye-websocket" + "mail" + "net-smtp" + "rack" + "sinatra" + "sqlite3" + "thin" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "003d2a6i97syw67jxrjq0p4xm19p9cfqnbmsg4b1c3mdb5c78rfz"; type = "gem"; }; version = "0.9.0"; }; matrix = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; mini_mime = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"; type = "gem"; }; version = "1.1.2"; }; mini_portile2 = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq"; type = "gem"; }; version = "2.8.4"; }; multi_json = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3"; type = "gem"; }; version = "0.3.7"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91"; type = "gem"; }; version = "0.2.1"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x"; type = "gem"; }; version = "0.3.3"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; version = "1.16.0"; }; psych = { - dependencies = ["stringio"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "stringio" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz"; type = "gem"; }; version = "5.1.0"; }; public_suffix = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; type = "gem"; }; version = "5.0.3"; }; racc = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g"; type = "gem"; }; version = "1.7.1"; }; rack = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0"; type = "gem"; }; version = "1.6.13"; }; rack-protection = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; type = "gem"; }; version = "1.5.5"; }; rack-test = { - dependencies = ["rack"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"; type = "gem"; }; version = "2.1.0"; }; rake = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; rb-fsevent = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; version = "0.11.2"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "ffi" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; type = "gem"; }; version = "0.10.1"; }; rdoc = { - dependencies = ["psych"]; - groups = ["development"]; - platforms = []; + dependencies = [ "psych" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm"; type = "gem"; }; version = "6.5.0"; }; regexp_parser = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3"; type = "gem"; }; version = "2.8.1"; }; rexml = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; version = "3.2.6"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"; type = "gem"; }; version = "3.12.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm"; type = "gem"; }; version = "3.12.2"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89"; type = "gem"; }; version = "3.12.3"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy"; type = "gem"; }; version = "3.12.6"; }; rspec-support = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr"; type = "gem"; }; version = "3.12.1"; }; rubyzip = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; sass = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw"; type = "gem"; }; version = "3.4.25"; }; selenium-webdriver = { - dependencies = ["rexml" "rubyzip" "websocket"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rexml" + "rubyzip" + "websocket" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kxnv3ywssagv2q453hasrrrvsv68d5f3ccm33pyacdji88w8pqg"; type = "gem"; }; version = "4.9.0"; }; sinatra = { - dependencies = ["rack" "rack-protection" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "rack-protection" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; type = "gem"; }; version = "1.4.8"; }; sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "rack" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; type = "gem"; }; version = "3.7.2"; }; sprockets-helpers = { - dependencies = ["sprockets"]; - groups = ["development"]; - platforms = []; + dependencies = [ "sprockets" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0513ma356g05lsskhsb363263177h6ccmp475il0p69y18his2ij"; type = "gem"; }; version = "1.4.0"; }; sprockets-sass = { - dependencies = ["sprockets"]; - groups = ["development"]; - platforms = []; + dependencies = [ "sprockets" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02g153dhzmrlik5dd9kyq0rvr2xjm3fwx8rm7apqfrykc47aizqr"; type = "gem"; }; version = "2.0.0.beta2"; }; sqlite3 = { - dependencies = ["mini_portile2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_portile2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h95kr5529qv786mfk8r2jjdsdi6v7v3k3dpz69mrcc9i0vpdd37"; type = "gem"; }; version = "1.6.3"; }; stringio = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0557v4z7996cgqw7i9197848mymv02krads93dn9lyqa5d7xd0dn"; type = "gem"; }; version = "3.0.7"; }; thin = { - dependencies = ["daemons" "eventmachine" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "daemons" + "eventmachine" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08g1yq6zzvgndj8fd98ah7pp8g2diw28p8bfjgv7rvjvp8d2am8w"; type = "gem"; }; version = "1.8.2"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7"; type = "gem"; }; version = "2.2.0"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd"; type = "gem"; }; version = "0.4.0"; }; uglifier = { - dependencies = ["execjs"]; - groups = ["development"]; - platforms = []; + dependencies = [ "execjs" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f"; type = "gem"; }; version = "4.2.0"; }; websocket = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8"; type = "gem"; }; version = "1.2.9"; }; websocket-driver = { - dependencies = ["websocket-extensions"]; - groups = ["default"]; - platforms = []; + dependencies = [ "websocket-extensions" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n"; type = "gem"; }; version = "0.7.6"; }; websocket-extensions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; type = "gem"; }; version = "0.1.5"; }; xpath = { - dependencies = ["nokogiri"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "nokogiri" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; diff --git a/pkgs/development/web/netlify-cli/test.nix b/pkgs/development/web/netlify-cli/test.nix index 5acd4f1046d56..5c2608fb094c1 100644 --- a/pkgs/development/web/netlify-cli/test.nix +++ b/pkgs/development/web/netlify-cli/test.nix @@ -7,36 +7,40 @@ stdenv, }: -runCommand "netlify-cli-test" { - nativeBuildInputs = [ - netlify-cli - curl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.ps - ]; - meta.timeout = 600; -} '' - mkdir home - export HOME=$PWD/home +runCommand "netlify-cli-test" + { + nativeBuildInputs = + [ + netlify-cli + curl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.ps + ]; + meta.timeout = 600; + } + '' + mkdir home + export HOME=$PWD/home - # Create a simple site - echo '

hi

' >index.html - echo '/with-redirect /' >_redirects + # Create a simple site + echo '

hi

' >index.html + echo '/with-redirect /' >_redirects - # Start a local server and wait for it to respond - netlify dev --offline --port 8888 2>&1 | tee log & - sleep 0.1 || true - for (( i=0; i<300; i++ )); do - if grep --ignore-case 'Server now ready' &1 | tee log & + sleep 0.1 || true + for (( i=0; i<300; i++ )); do + if grep --ignore-case 'Server now ready' hi' + # Test the local server + curl -L http://localhost:8888/with-redirect | grep '

hi

' - # Success - touch $out -'' + # Success + touch $out + '' diff --git a/pkgs/development/web/nodejs/corepack.nix b/pkgs/development/web/nodejs/corepack.nix index c83d3f1645fcc..d96f3bad0e215 100644 --- a/pkgs/development/web/nodejs/corepack.nix +++ b/pkgs/development/web/nodejs/corepack.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, nodejs }: +{ + lib, + stdenv, + nodejs, +}: stdenv.mkDerivation { pname = "corepack-nodejs"; diff --git a/pkgs/development/web/nodejs/update.nix b/pkgs/development/web/nodejs/update.nix index ebe6a74c26967..ae3914dac33b1 100644 --- a/pkgs/development/web/nodejs/update.nix +++ b/pkgs/development/web/nodejs/update.nix @@ -1,19 +1,30 @@ -{ lib -, writeScript -, coreutils -, curl -, gnugrep -, jq -, gnupg -, common-updater-scripts -, majorVersion -, nix -, runtimeShell +{ + lib, + writeScript, + coreutils, + curl, + gnugrep, + jq, + gnupg, + common-updater-scripts, + majorVersion, + nix, + runtimeShell, }: writeScript "update-nodejs" '' #!${runtimeShell} - PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep jq gnupg nix ]} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + jq + gnupg + nix + ] + } HOME=`mktemp -d` cat ${./nodejs-release-keys.asc} | gpg --import diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix index 6099d100675aa..f470f32aac7e4 100644 --- a/pkgs/development/web/nodejs/v18.nix +++ b/pkgs/development/web/nodejs/v18.nix @@ -1,19 +1,35 @@ -{ callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python311, fetchpatch2, enableNpm ? true }: +{ + callPackage, + lib, + overrideCC, + pkgs, + buildPackages, + openssl, + python311, + fetchpatch2, + enableNpm ? true, +}: let # Clang 16+ cannot build Node v18 due to -Wenum-constexpr-conversion errors. # Use an older version of clang with the current libc++ for compatibility (e.g., with icu). - ensureCompatibleCC = packages: - if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16" - then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override { - inherit (packages.llvmPackages) libcxx; - }) - else packages.stdenv; + ensureCompatibleCC = + packages: + if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16" then + overrideCC packages.llvmPackages_15.stdenv ( + packages.llvmPackages_15.stdenv.cc.override { + inherit (packages.llvmPackages) libcxx; + } + ) + else + packages.stdenv; buildNodejs = callPackage ./nodejs.nix { inherit openssl; stdenv = ensureCompatibleCC pkgs; - buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; }; + buildPackages = buildPackages // { + stdenv = ensureCompatibleCC buildPackages; + }; python = python311; }; @@ -41,7 +57,7 @@ buildNodejs { (fetchpatch2 { url = "https://github.com/nodejs/node/commit/87598d4b63ef2c827a2bebdfa0f1540c35718519.patch"; hash = "sha256-JJi8z9aaWnu/y3nZGOSUfeNzNSCYzD9dzoHXaGkeaEA="; - includes = ["test/common/assertSnapshot.js"]; + includes = [ "test/common/assertSnapshot.js" ]; }) (fetchpatch2 { url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix index 7a8865afae94d..6fa35c0ac4475 100644 --- a/pkgs/development/web/nodejs/v20.nix +++ b/pkgs/development/web/nodejs/v20.nix @@ -1,4 +1,10 @@ -{ callPackage, fetchpatch2, openssl, python3, enableNpm ? true }: +{ + callPackage, + fetchpatch2, + openssl, + python3, + enableNpm ? true, +}: let buildNodejs = callPackage ./nodejs.nix { diff --git a/pkgs/development/web/pnpm-lock-export/default.nix b/pkgs/development/web/pnpm-lock-export/default.nix index 093a1da2d0d45..2a019d5920f65 100644 --- a/pkgs/development/web/pnpm-lock-export/default.nix +++ b/pkgs/development/web/pnpm-lock-export/default.nix @@ -1,4 +1,8 @@ -{ lib, buildNpmPackage, fetchFromGitHub }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: buildNpmPackage rec { pname = "pnpm-lock-export"; version = "unstable-2023-07-31"; diff --git a/pkgs/games/0ad/data.nix b/pkgs/games/0ad/data.nix index 92ebf57486468..9165b107be4dd 100644 --- a/pkgs/games/0ad/data.nix +++ b/pkgs/games/0ad/data.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, zeroad-unwrapped }: +{ + lib, + stdenv, + fetchurl, + zeroad-unwrapped, +}: stdenv.mkDerivation rec { pname = "0ad-data"; @@ -21,6 +26,6 @@ stdenv.mkDerivation rec { license = licenses.cc-by-sa-30; maintainers = with maintainers; [ chvp ]; platforms = platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/games/0ad/default.nix b/pkgs/games/0ad/default.nix index a97d9f4cda3a4..963b3c4712170 100644 --- a/pkgs/games/0ad/default.nix +++ b/pkgs/games/0ad/default.nix @@ -1,4 +1,9 @@ -{ fmt, wxGTK, stdenv, newScope }: +{ + fmt, + wxGTK, + stdenv, + newScope, +}: let callPackage = newScope self; diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix index 676c14fd1fc91..7f41d04321a8d 100644 --- a/pkgs/games/0ad/game.nix +++ b/pkgs/games/0ad/game.nix @@ -1,9 +1,40 @@ -{ stdenv, lib, fetchpatch, fetchpatch2, perl, fetchurl, python3, fmt, libidn -, pkg-config, spidermonkey_78, boost, icu, libxml2, libpng, libsodium -, libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc -, openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2 -, gloox, nvidia-texture-tools, freetype -, withEditor ? true, wxGTK +{ + stdenv, + lib, + fetchpatch, + fetchpatch2, + perl, + fetchurl, + python3, + fmt, + libidn, + pkg-config, + spidermonkey_78, + boost, + icu, + libxml2, + libpng, + libsodium, + libjpeg, + zlib, + curl, + libogg, + libvorbis, + enet, + miniupnpc, + openal, + libGLU, + libGL, + xorgproto, + libX11, + libXcursor, + nspr, + SDL2, + gloox, + nvidia-texture-tools, + freetype, + withEditor ? true, + wxGTK, }: # You can find more instructions on how to build 0ad here: @@ -13,13 +44,13 @@ let # the game requires a special version 78.6.0 of spidermonkey, otherwise # we get compilation errors. We override the src attribute of spidermonkey_78 # in order to reuse that declartion, while giving it a different source input. - spidermonkey_78_6 = spidermonkey_78.overrideAttrs(old: rec { + spidermonkey_78_6 = spidermonkey_78.overrideAttrs (old: rec { version = "78.6.0"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"; sha256 = "0lyg65v380j8i2lrylwz8a5ya80822l8vcnlx3dfqpd3s6zzjsay"; }; - patches = (old.patches or []) ++ [ + patches = (old.patches or [ ]) ++ [ ./spidermonkey-cargo-toml.patch ]; }); @@ -33,13 +64,39 @@ stdenv.mkDerivation rec { sha256 = "Lhxt9+MxLnfF+CeIZkz/w6eNO/YGBsAAOSdeHRPA7ks="; }; - nativeBuildInputs = [ python3 perl pkg-config ]; + nativeBuildInputs = [ + python3 + perl + pkg-config + ]; buildInputs = [ - spidermonkey_78_6 boost icu libxml2 libpng libjpeg - zlib curl libogg libvorbis enet miniupnpc openal libidn - libGLU libGL xorgproto libX11 libXcursor nspr SDL2 gloox - nvidia-texture-tools libsodium fmt freetype + spidermonkey_78_6 + boost + icu + libxml2 + libpng + libjpeg + zlib + curl + libogg + libvorbis + enet + miniupnpc + openal + libidn + libGLU + libGL + xorgproto + libX11 + libXcursor + nspr + SDL2 + gloox + nvidia-texture-tools + libsodium + fmt + freetype ] ++ lib.optional withEditor wxGTK; env.NIX_CFLAGS_COMPILE = toString [ @@ -126,7 +183,10 @@ stdenv.mkDerivation rec { description = "Free, open-source game of ancient warfare"; homepage = "https://play0ad.com/"; license = with licenses; [ - gpl2Plus lgpl21 mit cc-by-sa-30 + gpl2Plus + lgpl21 + mit + cc-by-sa-30 licenses.zlib # otherwise masked by pkgs.zlib ]; maintainers = with maintainers; [ chvp ]; diff --git a/pkgs/games/0ad/wrapper.nix b/pkgs/games/0ad/wrapper.nix index 3511dc0bed498..b07405b7ec723 100644 --- a/pkgs/games/0ad/wrapper.nix +++ b/pkgs/games/0ad/wrapper.nix @@ -1,4 +1,9 @@ -{ buildEnv, makeWrapper, zeroad-unwrapped, zeroad-data }: +{ + buildEnv, + makeWrapper, + zeroad-unwrapped, + zeroad-data, +}: assert zeroad-unwrapped.version == zeroad-data.version; @@ -7,9 +12,15 @@ buildEnv { nativeBuildInputs = [ makeWrapper ]; - paths = [ zeroad-unwrapped zeroad-data ]; + paths = [ + zeroad-unwrapped + zeroad-data + ]; - pathsToLink = [ "/" "/bin" ]; + pathsToLink = [ + "/" + "/bin" + ]; postBuild = '' for i in $out/bin/*; do @@ -19,6 +30,6 @@ buildEnv { ''; meta = zeroad-unwrapped.meta // { - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/games/2048-cli/default.nix b/pkgs/games/2048-cli/default.nix index 450982df7446c..c3c1da7c93e72 100644 --- a/pkgs/games/2048-cli/default.nix +++ b/pkgs/games/2048-cli/default.nix @@ -1,13 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, gettext -, installShellFiles -, ncurses -, ui ? "terminal" +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + installShellFiles, + ncurses, + ui ? "terminal", }: -assert lib.elem ui [ "terminal" "curses" ]; +assert lib.elem ui [ + "terminal" + "curses" +]; stdenv.mkDerivation (finalAttrs: { pname = "2048-cli"; version = "unstable-2019-12-10"; @@ -30,8 +34,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gettext - ] - ++ (lib.optional (ui == "curses") ncurses); + ] ++ (lib.optional (ui == "curses") ncurses); dontConfigure = true; diff --git a/pkgs/games/90secondportraits/default.nix b/pkgs/games/90secondportraits/default.nix index c8db41d791d6f..3d0f95f304a8b 100644 --- a/pkgs/games/90secondportraits/default.nix +++ b/pkgs/games/90secondportraits/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, love, makeWrapper, makeDesktopItem, copyDesktopItems }: +{ + lib, + stdenv, + fetchurl, + love, + makeWrapper, + makeDesktopItem, + copyDesktopItems, +}: let pname = "90secondportraits"; @@ -20,7 +28,8 @@ let }) ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit pname desktopItems; version = "1.01b"; @@ -29,7 +38,10 @@ in stdenv.mkDerivation rec { sha256 = "0jj3k953r6vb02212gqcgqpb4ima87gnqgls43jmylxq2mcm33h5"; }; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; dontUnpack = true; @@ -46,7 +58,13 @@ in stdenv.mkDerivation rec { mainProgram = "90secondportraits"; maintainers = with maintainers; [ leenaars ]; platforms = platforms.linux; - license = with licenses; [ zlib cc-by-sa-40 cc-by-sa-30 /* vendored */ x11 mit ]; + license = with licenses; [ + zlib + cc-by-sa-40 + cc-by-sa-30 # vendored + x11 + mit + ]; downloadPage = "http://tangramgames.dk/games/90secondportraits"; }; diff --git a/pkgs/games/amoeba/data.nix b/pkgs/games/amoeba/data.nix index 193c710b31a10..fcffe73b1d628 100644 --- a/pkgs/games/amoeba/data.nix +++ b/pkgs/games/amoeba/data.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "amoeba-data"; diff --git a/pkgs/games/amoeba/default.nix b/pkgs/games/amoeba/default.nix index 63fa8a62365bf..274e91ba33dcb 100644 --- a/pkgs/games/amoeba/default.nix +++ b/pkgs/games/amoeba/default.nix @@ -1,4 +1,18 @@ -{ lib, stdenv, fetchurl, amoeba-data, alsa-lib, expat, freetype, gtk3, libvorbis, libGLU, xorg, pkg-config, installShellFiles }: +{ + lib, + stdenv, + fetchurl, + amoeba-data, + alsa-lib, + expat, + freetype, + gtk3, + libvorbis, + libGLU, + xorg, + pkg-config, + installShellFiles, +}: stdenv.mkDerivation rec { pname = "amoeba"; @@ -26,8 +40,19 @@ stdenv.mkDerivation rec { sed -i main/linux-config/linux-config.cpp -e 's|libgtk-x11-2.0.so.0|${gtk3}/lib/&|' ''; - nativeBuildInputs = [ pkg-config installShellFiles ]; - buildInputs = [ alsa-lib expat freetype gtk3 libvorbis libGLU xorg.libXxf86vm ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = [ + alsa-lib + expat + freetype + gtk3 + libvorbis + libGLU + xorg.libXxf86vm + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix index 1db364ce6fc82..5bab46e5b7c34 100644 --- a/pkgs/games/armagetronad/default.nix +++ b/pkgs/games/armagetronad/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoconf -, automake -, gnum4 -, pkg-config -, bison -, python3 -, which -, boost -, ftgl -, freetype -, glew -, SDL -, SDL_image -, SDL_mixer -, SDL2 -, SDL2_image -, SDL2_mixer -, libpng -, libxml2 -, protobuf -, xvfb-run -, gnugrep -, nixosTests -, dedicatedServer ? false +{ + lib, + stdenv, + fetchFromGitLab, + autoconf, + automake, + gnum4, + pkg-config, + bison, + python3, + which, + boost, + ftgl, + freetype, + glew, + SDL, + SDL_image, + SDL_mixer, + SDL2, + SDL2_image, + SDL2_mixer, + libpng, + libxml2, + protobuf, + xvfb-run, + gnugrep, + nixosTests, + dedicatedServer ? false, }: let @@ -32,74 +33,102 @@ let unstableVersionMajor = "0.4"; srcs = - let - fetchArmagetron = rev: hash: - fetchFromGitLab { - owner = "armagetronad"; - repo = "armagetronad"; - inherit rev hash; - }; - in - { - # https://gitlab.com/armagetronad/armagetronad/-/tags - ${latestVersionMajor} = - let - version = "${latestVersionMajor}.2.3"; - rev = "v${version}"; - hash = "sha256-lfYJ3luGK9hB0aiiBiJIqq5ddANqGaVtKXckbo4fl2g="; - in dedicatedServer: { - inherit version; - src = fetchArmagetron rev hash; - extraBuildInputs = lib.optionals (!dedicatedServer) [ libpng SDL SDL_image SDL_mixer ]; - }; - - # https://gitlab.com/armagetronad/armagetronad/-/commits/trunk/?ref_type=heads - ${unstableVersionMajor} = - let - rev = "391a74625c1222dd180f069f1b61c3e069a3ba8c"; - hash = "sha256-fUY0dBj85k0QhnAoDzyBmmKmRh9oCYC6r6X4ukt7/L0="; - in dedicatedServer: { - version = "${unstableVersionMajor}-${builtins.substring 0 8 rev}"; - src = fetchArmagetron rev hash; - extraBuildInputs = [ protobuf boost ] - ++ lib.optionals (!dedicatedServer) [ glew ftgl freetype SDL2 SDL2_image SDL2_mixer ]; - extraNativeBuildInputs = [ bison ]; - }; - - # https://gitlab.com/armagetronad/armagetronad/-/commits/hack-0.2.8-sty+ct+ap/?ref_type=heads - "${latestVersionMajor}-sty+ct+ap" = - let - rev = "5a17cc9fb6e1e27a358711afbd745ae54d4a8c60"; - hash = "sha256-111C1j/hSaASGcvYy3//TyHs4Z+3fuiOvCmtcWLdFd4="; - in dedicatedServer: { - version = "${latestVersionMajor}-sty+ct+ap-${builtins.substring 0 8 rev}"; - src = fetchArmagetron rev hash; - extraBuildInputs = lib.optionals (!dedicatedServer) [ libpng SDL SDL_image SDL_mixer ]; - }; - }; + let + fetchArmagetron = + rev: hash: + fetchFromGitLab { + owner = "armagetronad"; + repo = "armagetronad"; + inherit rev hash; + }; + in + { + # https://gitlab.com/armagetronad/armagetronad/-/tags + ${latestVersionMajor} = + let + version = "${latestVersionMajor}.2.3"; + rev = "v${version}"; + hash = "sha256-lfYJ3luGK9hB0aiiBiJIqq5ddANqGaVtKXckbo4fl2g="; + in + dedicatedServer: { + inherit version; + src = fetchArmagetron rev hash; + extraBuildInputs = lib.optionals (!dedicatedServer) [ + libpng + SDL + SDL_image + SDL_mixer + ]; + }; + + # https://gitlab.com/armagetronad/armagetronad/-/commits/trunk/?ref_type=heads + ${unstableVersionMajor} = + let + rev = "391a74625c1222dd180f069f1b61c3e069a3ba8c"; + hash = "sha256-fUY0dBj85k0QhnAoDzyBmmKmRh9oCYC6r6X4ukt7/L0="; + in + dedicatedServer: { + version = "${unstableVersionMajor}-${builtins.substring 0 8 rev}"; + src = fetchArmagetron rev hash; + extraBuildInputs = + [ + protobuf + boost + ] + ++ lib.optionals (!dedicatedServer) [ + glew + ftgl + freetype + SDL2 + SDL2_image + SDL2_mixer + ]; + extraNativeBuildInputs = [ bison ]; + }; + + # https://gitlab.com/armagetronad/armagetronad/-/commits/hack-0.2.8-sty+ct+ap/?ref_type=heads + "${latestVersionMajor}-sty+ct+ap" = + let + rev = "5a17cc9fb6e1e27a358711afbd745ae54d4a8c60"; + hash = "sha256-111C1j/hSaASGcvYy3//TyHs4Z+3fuiOvCmtcWLdFd4="; + in + dedicatedServer: { + version = "${latestVersionMajor}-sty+ct+ap-${builtins.substring 0 8 rev}"; + src = fetchArmagetron rev hash; + extraBuildInputs = lib.optionals (!dedicatedServer) [ + libpng + SDL + SDL_image + SDL_mixer + ]; + }; + }; # Creates an Armagetron build. Takes a function returning build inputs for a particular value of dedicatedServer. - mkArmagetron = fn: dedicatedServer: - let - # Compute the build params. - resolvedParams = fn dedicatedServer; - - # Figure out the binary name depending on whether this is a dedicated server. - mainProgram = if dedicatedServer then "armagetronad-dedicated" else "armagetronad"; - - # Split the version into the major and minor parts - versionParts = lib.splitString "-" resolvedParams.version; - splitVersion = lib.splitVersion (builtins.elemAt versionParts 0); - majorVersion = builtins.concatStringsSep "." (lib.lists.take 2 splitVersion); - - minorVersionPart = parts: sep: expectedSize: - if builtins.length parts > expectedSize then - sep + (builtins.concatStringsSep sep (lib.lists.drop expectedSize parts)) - else - ""; - - minorVersion = (minorVersionPart splitVersion "." 2) + (minorVersionPart versionParts "-" 1) + "-nixpkgs"; - in + mkArmagetron = + fn: dedicatedServer: + let + # Compute the build params. + resolvedParams = fn dedicatedServer; + + # Figure out the binary name depending on whether this is a dedicated server. + mainProgram = if dedicatedServer then "armagetronad-dedicated" else "armagetronad"; + + # Split the version into the major and minor parts + versionParts = lib.splitString "-" resolvedParams.version; + splitVersion = lib.splitVersion (builtins.elemAt versionParts 0); + majorVersion = builtins.concatStringsSep "." (lib.lists.take 2 splitVersion); + + minorVersionPart = + parts: sep: expectedSize: + if builtins.length parts > expectedSize then + sep + (builtins.concatStringsSep sep (lib.lists.drop expectedSize parts)) + else + ""; + + minorVersion = + (minorVersionPart splitVersion "." 2) + (minorVersionPart versionParts "-" 1) + "-nixpkgs"; + in stdenv.mkDerivation { pname = mainProgram; inherit (resolvedParams) version src; @@ -119,27 +148,36 @@ let ./bootstrap.sh ''; - configureFlags = [ - "--enable-automakedefaults" - "--enable-authentication" - "--disable-memmanager" - "--disable-useradd" - "--disable-initscripts" - "--disable-etc" - "--disable-uninstall" - "--disable-sysinstall" - ] ++ lib.optional dedicatedServer "--enable-dedicated" + configureFlags = + [ + "--enable-automakedefaults" + "--enable-authentication" + "--disable-memmanager" + "--disable-useradd" + "--disable-initscripts" + "--disable-etc" + "--disable-uninstall" + "--disable-sysinstall" + ] + ++ lib.optional dedicatedServer "--enable-dedicated" ++ lib.optional (!dedicatedServer) "--enable-music"; - buildInputs = lib.singleton (libxml2.override { enableHttp = true; }) - ++ (resolvedParams.extraBuildInputs or []); + buildInputs = + lib.singleton (libxml2.override { enableHttp = true; }) ++ (resolvedParams.extraBuildInputs or [ ]); - nativeBuildInputs = [ autoconf automake gnum4 pkg-config which python3 ] - ++ (resolvedParams.extraNativeBuildInputs or []); + nativeBuildInputs = [ + autoconf + automake + gnum4 + pkg-config + which + python3 + ] ++ (resolvedParams.extraNativeBuildInputs or [ ]); - nativeInstallCheckInputs = [ gnugrep ] + nativeInstallCheckInputs = + [ gnugrep ] ++ lib.optional (!dedicatedServer) xvfb-run - ++ (resolvedParams.extraNativeInstallCheckInputs or []); + ++ (resolvedParams.extraNativeInstallCheckInputs or [ ]); postInstall = lib.optionalString (!dedicatedServer) '' mkdir -p $out/share/{applications,icons/hicolor} @@ -176,20 +214,23 @@ let ''; passthru = - if (dedicatedServer) then { - # No passthru, end of the line. - # https://www.youtube.com/watch?v=NOMa56y_Was - } - else if (resolvedParams.version != (srcs.${latestVersionMajor} dedicatedServer).version) then { - # Allow a "dedicated" passthru for versions other than the default. - dedicated = mkArmagetron fn true; - } - else - ( - lib.mapAttrs (name: value: mkArmagetron value dedicatedServer) - (lib.filterAttrs (name: value: (value dedicatedServer).version != (srcs.${latestVersionMajor} dedicatedServer).version) srcs) - ) // + if (dedicatedServer) then { + # No passthru, end of the line. + # https://www.youtube.com/watch?v=NOMa56y_Was + } + else if (resolvedParams.version != (srcs.${latestVersionMajor} dedicatedServer).version) then + { + # Allow a "dedicated" passthru for versions other than the default. + dedicated = mkArmagetron fn true; + } + else + (lib.mapAttrs (name: value: mkArmagetron value dedicatedServer) ( + lib.filterAttrs ( + name: value: (value dedicatedServer).version != (srcs.${latestVersionMajor} dedicatedServer).version + ) srcs + )) + // { # Allow both a "dedicated" passthru and a passthru for all the options other than the latest version, which this is. dedicated = mkArmagetron fn true; tests.armagetronad = nixosTests.armagetronad; diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix index 9dbe2ce7a7dfc..a55b58c7e83a8 100644 --- a/pkgs/games/arx-libertatis/default.nix +++ b/pkgs/games/arx-libertatis/default.nix @@ -1,11 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib, boost -, openal, glm, freetype, libGLU, SDL2, libepoxy -, dejavu_fonts, inkscape, optipng, imagemagick -, withCrashReporter ? !stdenv.hostPlatform.isDarwin -, qtbase ? null -, wrapQtAppsHook ? null -, curl ? null -, gdb ? null +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + boost, + openal, + glm, + freetype, + libGLU, + SDL2, + libepoxy, + dejavu_fonts, + inkscape, + optipng, + imagemagick, + withCrashReporter ? !stdenv.hostPlatform.isDarwin, + qtbase ? null, + wrapQtAppsHook ? null, + curl ? null, + gdb ? null, }: let @@ -30,14 +44,28 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - cmake inkscape imagemagick optipng + cmake + inkscape + imagemagick + optipng ] ++ optionals withCrashReporter [ wrapQtAppsHook ]; - buildInputs = [ - zlib boost openal glm - freetype libGLU SDL2 libepoxy - ] ++ optionals withCrashReporter [ qtbase curl ] - ++ optionals stdenv.hostPlatform.isLinux [ gdb ]; + buildInputs = + [ + zlib + boost + openal + glm + freetype + libGLU + SDL2 + libepoxy + ] + ++ optionals withCrashReporter [ + qtbase + curl + ] + ++ optionals stdenv.hostPlatform.isLinux [ gdb ]; cmakeFlags = [ "-DDATA_DIR_PREFIXES=$out/share" @@ -47,13 +75,15 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; - postInstall = '' - ln -sf \ - ${dejavu_fonts}/share/fonts/truetype/DejaVuSansMono.ttf \ - $out/share/games/arx/misc/dejavusansmono.ttf - '' + optionalString withCrashReporter '' - wrapQtApp "$out/libexec/arxcrashreporter" - ''; + postInstall = + '' + ln -sf \ + ${dejavu_fonts}/share/fonts/truetype/DejaVuSansMono.ttf \ + $out/share/games/arx/misc/dejavusansmono.ttf + '' + + optionalString withCrashReporter '' + wrapQtApp "$out/libexec/arxcrashreporter" + ''; meta = { description = '' diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix index 94a16f60140d3..fb74dada582f7 100644 --- a/pkgs/games/asc/default.nix +++ b/pkgs/games/asc/default.nix @@ -1,30 +1,31 @@ -{ fetchFromGitHub -, lib -, stdenv -, SDL -, SDL_image -, SDL_mixer -, SDL_sound -, libsigcxx -, physfs -, boost -, expat -, freetype -, libjpeg -, wxGTK32 -, lua -, perl -, pkg-config -, zlib -, zip -, bzip2 -, libpng -, libtiff -, fluidsynth -, libmikmod -, libvorbis -, flac -, libogg +{ + fetchFromGitHub, + lib, + stdenv, + SDL, + SDL_image, + SDL_mixer, + SDL_sound, + libsigcxx, + physfs, + boost, + expat, + freetype, + libjpeg, + wxGTK32, + lua, + perl, + pkg-config, + zlib, + zip, + bzip2, + libpng, + libtiff, + fluidsynth, + libmikmod, + libvorbis, + flac, + libogg, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/black-hole-solver/default.nix b/pkgs/games/black-hole-solver/default.nix index cab7b2ca6d6bd..dc9e1c7e96720 100644 --- a/pkgs/games/black-hole-solver/default.nix +++ b/pkgs/games/black-hole-solver/default.nix @@ -1,7 +1,13 @@ { - stdenv, lib, fetchurl, - cmake, perl, pkg-config, python3, - rinutils, PathTiny, + stdenv, + lib, + fetchurl, + cmake, + perl, + pkg-config, + python3, + rinutils, + PathTiny, }: stdenv.mkDerivation rec { @@ -13,9 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-0y8yU291cykliPQbsNha5C1WE3bCGNxKtrrf5JBKN6c="; }; - nativeBuildInputs = [ cmake perl pkg-config python3 ]; + nativeBuildInputs = [ + cmake + perl + pkg-config + python3 + ]; - buildInputs = [ rinutils PathTiny ]; + buildInputs = [ + rinutils + PathTiny + ]; prePatch = '' patchShebangs ./scripts diff --git a/pkgs/games/blightmud/default.nix b/pkgs/games/blightmud/default.nix index b5ebd8c279ee4..c152ed040a4ec 100644 --- a/pkgs/games/blightmud/default.nix +++ b/pkgs/games/blightmud/default.nix @@ -1,17 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, alsa-lib -, openssl -, withTTS ? false -, speechd-minimal -, darwin +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + alsa-lib, + openssl, + withTTS ? false, + speechd-minimal, + darwin, }: let inherit (darwin.apple_sdk.frameworks) - CoreAudio AudioUnit AVFoundation AppKit; + CoreAudio + AudioUnit + AVFoundation + AppKit + ; in rustPlatform.buildRustPackage rec { pname = "blightmud"; @@ -28,13 +33,23 @@ rustPlatform.buildRustPackage rec { buildFeatures = lib.optional withTTS "tts"; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; - buildInputs = [ openssl ] + buildInputs = + [ openssl ] ++ lib.optionals (withTTS && stdenv.hostPlatform.isLinux) [ speechd-minimal ] ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ] - ++ lib.optionals (withTTS && stdenv.hostPlatform.isDarwin) [ AVFoundation AppKit ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreAudio AudioUnit ]; + ++ lib.optionals (withTTS && stdenv.hostPlatform.isDarwin) [ + AVFoundation + AppKit + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreAudio + AudioUnit + ]; checkFlags = let diff --git a/pkgs/games/bugdom/default.nix b/pkgs/games/bugdom/default.nix index 586d92e9d417f..76cf666873dff 100644 --- a/pkgs/games/bugdom/default.nix +++ b/pkgs/games/bugdom/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, SDL2, IOKit, Foundation, OpenGL, cmake, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + IOKit, + Foundation, + OpenGL, + cmake, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "bugdom"; @@ -21,13 +31,15 @@ stdenv.mkDerivation rec { sed -i '/plutil/d' CMakeLists.txt ''; - buildInputs = [ - SDL2 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - IOKit - Foundation - OpenGL - ]; + buildInputs = + [ + SDL2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + Foundation + OpenGL + ]; nativeBuildInputs = [ cmake @@ -40,24 +52,32 @@ stdenv.mkDerivation rec { "-DSDL2_INCLUDE_DIRS=${SDL2.dev}/include/SDL2" ]; - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - '' + (if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/{bin,Applications} - mv {,$out/Applications/}Bugdom.app - makeWrapper $out/{Applications/Bugdom.app/Contents/MacOS,bin}/Bugdom - '' else '' - mkdir -p $out/share/bugdom - mv Data $out/share/bugdom - install -Dm755 {.,$out/bin}/Bugdom - wrapProgram $out/bin/Bugdom --run "cd $out/share/bugdom" - install -Dm644 $src/packaging/io.jor.bugdom.desktop $out/share/applications/io.jor.bugdom.desktop - install -Dm644 $src/packaging/io.jor.bugdom.png $out/share/pixmaps/io.jor.bugdom.png - '') + '' + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/{bin,Applications} + mv {,$out/Applications/}Bugdom.app + makeWrapper $out/{Applications/Bugdom.app/Contents/MacOS,bin}/Bugdom + '' + else + '' + mkdir -p $out/share/bugdom + mv Data $out/share/bugdom + install -Dm755 {.,$out/bin}/Bugdom + wrapProgram $out/bin/Bugdom --run "cd $out/share/bugdom" + install -Dm644 $src/packaging/io.jor.bugdom.desktop $out/share/applications/io.jor.bugdom.desktop + install -Dm644 $src/packaging/io.jor.bugdom.png $out/share/pixmaps/io.jor.bugdom.png + '' + ) + + '' - runHook postInstall - ''; + runHook postInstall + ''; meta = with lib; { description = "Port of Bugdom, a 1999 Macintosh game by Pangea Software, for modern operating systems"; diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix index 9b20252feffa7..b2036bb6d0db0 100644 --- a/pkgs/games/bzflag/default.nix +++ b/pkgs/games/bzflag/default.nix @@ -1,6 +1,18 @@ -{ stdenv, lib, fetchurl, pkg-config -, curl, SDL2, libGLU, libGL, glew, ncurses, c-ares -, Carbon, CoreServices }: +{ + stdenv, + lib, + fetchurl, + pkg-config, + curl, + SDL2, + libGLU, + libGL, + glew, + ncurses, + c-ares, + Carbon, + CoreServices, +}: stdenv.mkDerivation rec { pname = "bzflag"; @@ -12,8 +24,20 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ curl SDL2 libGLU libGL glew ncurses c-ares ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon CoreServices ]; + buildInputs = + [ + curl + SDL2 + libGLU + libGL + glew + ncurses + c-ares + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + CoreServices + ]; meta = with lib; { description = "Multiplayer 3D Tank game"; diff --git a/pkgs/games/cataclysm-dda/builder.nix b/pkgs/games/cataclysm-dda/builder.nix index 24128875f3a18..96e9a5758bd67 100644 --- a/pkgs/games/cataclysm-dda/builder.nix +++ b/pkgs/games/cataclysm-dda/builder.nix @@ -1,4 +1,8 @@ -{ stdenvNoCC, lib, type }: +{ + stdenvNoCC, + lib, + type, +}: assert lib.elem type [ "mod" @@ -6,44 +10,59 @@ assert lib.elem type [ "tileset" ]; -{ modName, version, src, ... } @ args: - -stdenvNoCC.mkDerivation (args // rec { - pname = args.pname or "cataclysm-dda-${type}-${modName}"; - - modRoot = args.modRoot or "."; - - configurePhase = args.configurePhase or '' - runHook preConfigure - runHook postConfigure - ''; - - buildPhase = args.buildPhase or '' - runHook preBuild - runHook postBuild - ''; - - checkPhase = args.checkPhase or '' - runHook preCheck - runHook postCheck - ''; - - installPhase = let - baseDir = { - mod = "mods"; - soundpack = "sound"; - tileset = "gfx"; - }.${type}; - in args.installPhase or '' - runHook preInstall - destdir="$out/share/cataclysm-dda/${baseDir}" - mkdir -p "$destdir" - cp -R "${modRoot}" "$destdir/${modName}" - runHook postInstall - ''; - - passthru = { - forTiles = true; - forCurses = type == "mod"; - }; -}) +{ + modName, + version, + src, + ... +}@args: + +stdenvNoCC.mkDerivation ( + args + // rec { + pname = args.pname or "cataclysm-dda-${type}-${modName}"; + + modRoot = args.modRoot or "."; + + configurePhase = + args.configurePhase or '' + runHook preConfigure + runHook postConfigure + ''; + + buildPhase = + args.buildPhase or '' + runHook preBuild + runHook postBuild + ''; + + checkPhase = + args.checkPhase or '' + runHook preCheck + runHook postCheck + ''; + + installPhase = + let + baseDir = + { + mod = "mods"; + soundpack = "sound"; + tileset = "gfx"; + } + .${type}; + in + args.installPhase or '' + runHook preInstall + destdir="$out/share/cataclysm-dda/${baseDir}" + mkdir -p "$destdir" + cp -R "${modRoot}" "$destdir/${modName}" + runHook postInstall + ''; + + passthru = { + forTiles = true; + forCurses = type == "mod"; + }; + } +) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index 1649cd031a4b4..a42d4bf87f4dd 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -19,22 +19,24 @@ let curses = tiles.override { tiles = false; }; }; - lib = callPackage ./lib.nix {}; + lib = callPackage ./lib.nix { }; - pkgs = callPackage ./pkgs {}; + pkgs = callPackage ./pkgs { }; self = { inherit - callPackage - stable - git; + callPackage + stable + git + ; inherit (lib) - buildMod - buildSoundPack - buildTileSet - wrapCDDA - attachPkgs; + buildMod + buildSoundPack + buildTileSet + wrapCDDA + attachPkgs + ; inherit pkgs; }; diff --git a/pkgs/games/cataclysm-dda/lib.nix b/pkgs/games/cataclysm-dda/lib.nix index f2b38a16aa534..aed4a1efd38cf 100644 --- a/pkgs/games/cataclysm-dda/lib.nix +++ b/pkgs/games/cataclysm-dda/lib.nix @@ -13,7 +13,7 @@ rec { type = "tileset"; }; - wrapCDDA = callPackage ./wrapper.nix {}; + wrapCDDA = callPackage ./wrapper.nix { }; # Required to fix `pkgs` and `withMods` attrs after applying `overrideAttrs`. # @@ -33,14 +33,15 @@ rec { # (attachPkgs pkgs myBuild).withMods (_: []); # in # goodExample.x # returns "hello" - attachPkgs = pkgs: super: - let - self = super.overrideAttrs (old: { - passthru = old.passthru // { - pkgs = pkgs.override { build = self; }; - withMods = wrapCDDA self; - }; - }); - in - self; + attachPkgs = + pkgs: super: + let + self = super.overrideAttrs (old: { + passthru = old.passthru // { + pkgs = pkgs.override { build = self; }; + withMods = wrapCDDA self; + }; + }); + in + self; } diff --git a/pkgs/games/cataclysm-dda/pkgs/default.nix b/pkgs/games/cataclysm-dda/pkgs/default.nix index 72b2c814389a8..3d098d51ea518 100644 --- a/pkgs/games/cataclysm-dda/pkgs/default.nix +++ b/pkgs/games/cataclysm-dda/pkgs/default.nix @@ -1,4 +1,8 @@ -{ lib, callPackage, build ? null }: +{ + lib, + callPackage, + build ? null, +}: let pkgs = { @@ -9,21 +13,22 @@ let }; tileset = { - UndeadPeople = callPackage ./tilesets/UndeadPeople {}; + UndeadPeople = callPackage ./tilesets/UndeadPeople { }; }; }; pkgs' = lib.mapAttrs (_: mods: lib.filterAttrs isAvailable mods) pkgs; - isAvailable = _: mod: - if (build == null) then - true - else if build.isTiles then - mod.forTiles or false - else if build.isCurses then - mod.forCurses or false - else - false; + isAvailable = + _: mod: + if (build == null) then + true + else if build.isTiles then + mod.forTiles or false + else if build.isCurses then + mod.forCurses or false + else + false; in lib.makeExtensible (_: pkgs') diff --git a/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix b/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix index 07465d137c3ed..30c2793f6a8fd 100644 --- a/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix +++ b/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix @@ -1,4 +1,8 @@ -{ lib, buildTileSet, fetchFromGitHub }: +{ + lib, + buildTileSet, + fetchFromGitHub, +}: buildTileSet { modName = "UndeadPeople"; diff --git a/pkgs/games/cataclysm-dda/wrapper.nix b/pkgs/games/cataclysm-dda/wrapper.nix index 28189fa7375a9..58d09b1326865 100644 --- a/pkgs/games/cataclysm-dda/wrapper.nix +++ b/pkgs/games/cataclysm-dda/wrapper.nix @@ -1,47 +1,50 @@ -{ lib, symlinkJoin, makeWrapper }: +{ + lib, + symlinkJoin, + makeWrapper, +}: unwrapped: pkgsSpec: let - mods = if lib.isFunction pkgsSpec - then pkgsSpec unwrapped.pkgs - else pkgsSpec; + mods = if lib.isFunction pkgsSpec then pkgsSpec unwrapped.pkgs else pkgsSpec; in -if builtins.length mods == 0 -then unwrapped -else symlinkJoin { - name = unwrapped.name + "-with-mods"; - - paths = [ unwrapped ] ++ mods; - - nativeBuildInputs = [ makeWrapper ]; - - postBuild = '' - if [ -x $out/bin/cataclysm ]; then - wrapProgram $out/bin/cataclysm \ - --add-flags "--datadir $out/share/cataclysm-dda/" - fi - if [ -x $out/bin/cataclysm-tiles ]; then - wrapProgram $out/bin/cataclysm-tiles \ - --add-flags "--datadir $out/share/cataclysm-dda/" - fi - - # Launch the wrapped program - replaceProgram() { - cp "$1" "''${1}.bk" - unlink "$1" - mv "''${1}.bk" "$1" - sed -i "$1" -e "s,${builtins.storeDir}/.\+\(/bin/cataclysm-tiles\),$out\1," - } - for script in "$out/share/applications/cataclysm-dda.desktop" \ - "$out/Applications/Cataclysm.app/Contents/MacOS/Cataclysm.sh" - do - if [ -e "$script" ]; then - replaceProgram "$script" - fi - done - ''; -} +if builtins.length mods == 0 then + unwrapped +else + symlinkJoin { + name = unwrapped.name + "-with-mods"; + + paths = [ unwrapped ] ++ mods; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + if [ -x $out/bin/cataclysm ]; then + wrapProgram $out/bin/cataclysm \ + --add-flags "--datadir $out/share/cataclysm-dda/" + fi + if [ -x $out/bin/cataclysm-tiles ]; then + wrapProgram $out/bin/cataclysm-tiles \ + --add-flags "--datadir $out/share/cataclysm-dda/" + fi + + # Launch the wrapped program + replaceProgram() { + cp "$1" "''${1}.bk" + unlink "$1" + mv "''${1}.bk" "$1" + sed -i "$1" -e "s,${builtins.storeDir}/.\+\(/bin/cataclysm-tiles\),$out\1," + } + for script in "$out/share/applications/cataclysm-dda.desktop" \ + "$out/Applications/Cataclysm.app/Contents/MacOS/Cataclysm.sh" + do + if [ -e "$script" ]; then + replaceProgram "$script" + fi + done + ''; + } diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix index 527188019e73e..e76cccc685328 100644 --- a/pkgs/games/chessx/default.nix +++ b/pkgs/games/chessx/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, pkg-config -, zlib -, qtbase -, qtsvg -, qttools -, qtmultimedia -, qmake -, fetchpatch -, fetchurl -, wrapQtAppsHook +{ + stdenv, + lib, + pkg-config, + zlib, + qtbase, + qtsvg, + qttools, + qtmultimedia, + qmake, + fetchpatch, + fetchurl, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/games/chiaki-ng/default.nix b/pkgs/games/chiaki-ng/default.nix index f11a980d73cf8..be04bf3ec080e 100644 --- a/pkgs/games/chiaki-ng/default.nix +++ b/pkgs/games/chiaki-ng/default.nix @@ -1,36 +1,37 @@ -{ lib -, fetchFromGitHub -, stdenv -, cmake -, pkg-config -, protobuf -, python3 -, ffmpeg -, libopus -, wrapQtAppsHook -, qtbase -, qtmultimedia -, qtsvg -, qtwayland -, qtdeclarative -, qtwebengine -, SDL2 -, libevdev -, udev -, curlFull -, hidapi -, json_c -, fftw -, miniupnpc -, speexdsp -, libplacebo -, vulkan-loader -, vulkan-headers -, libunwind -, shaderc -, lcms2 -, libdovi -, xxHash +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + pkg-config, + protobuf, + python3, + ffmpeg, + libopus, + wrapQtAppsHook, + qtbase, + qtmultimedia, + qtsvg, + qtwayland, + qtdeclarative, + qtwebengine, + SDL2, + libevdev, + udev, + curlFull, + hidapi, + json_c, + fftw, + miniupnpc, + speexdsp, + libplacebo, + vulkan-loader, + vulkan-headers, + libunwind, + shaderc, + lcms2, + libdovi, + xxHash, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/chiaki/default.nix b/pkgs/games/chiaki/default.nix index 6ff93f4d47e5d..2c9f319029e42 100644 --- a/pkgs/games/chiaki/default.nix +++ b/pkgs/games/chiaki/default.nix @@ -1,19 +1,21 @@ -{ lib, stdenv -, fetchgit -, cmake -, pkg-config -, protobuf -, python3Packages -, ffmpeg -, libopus -, mkDerivation -, qtbase -, qtmultimedia -, qtsvg -, SDL2 -, libevdev -, udev -, qtmacextras +{ + lib, + stdenv, + fetchgit, + cmake, + pkg-config, + protobuf, + python3Packages, + ffmpeg, + libopus, + mkDerivation, + qtbase, + qtmultimedia, + qtsvg, + SDL2, + libevdev, + udev, + qtmacextras, }: mkDerivation rec { @@ -36,20 +38,23 @@ mkDerivation rec { python3Packages.setuptools ]; - buildInputs = [ - ffmpeg - libopus - qtbase - qtmultimedia - qtsvg - protobuf - SDL2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libevdev - udev - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - qtmacextras - ]; + buildInputs = + [ + ffmpeg + libopus + qtbase + qtmultimedia + qtsvg + protobuf + SDL2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libevdev + udev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + qtmacextras + ]; doCheck = true; diff --git a/pkgs/games/cockatrice/default.nix b/pkgs/games/cockatrice/default.nix index 2f268409d8925..5f06dea0df024 100644 --- a/pkgs/games/cockatrice/default.nix +++ b/pkgs/games/cockatrice/default.nix @@ -1,5 +1,14 @@ -{ lib, fetchFromGitHub, mkDerivation, cmake, protobuf -, qtbase, qtmultimedia, qttools, qtwebsockets, wrapQtAppsHook +{ + lib, + fetchFromGitHub, + mkDerivation, + cmake, + protobuf, + qtbase, + qtmultimedia, + qttools, + qtwebsockets, + wrapQtAppsHook, }: mkDerivation rec { @@ -14,10 +23,17 @@ mkDerivation rec { }; buildInputs = [ - qtbase qtmultimedia protobuf qttools qtwebsockets + qtbase + qtmultimedia + protobuf + qttools + qtwebsockets ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; meta = { homepage = "https://github.com/Cockatrice/Cockatrice"; diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix index c4d4c50df3931..b4805a029bd58 100644 --- a/pkgs/games/construo/default.nix +++ b/pkgs/games/construo/default.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchurl -, libX11 -, zlib -, xorgproto -, libGL ? null -, libGLU ? null -, libglut ? null +{ + lib, + stdenv, + fetchurl, + libX11, + zlib, + xorgproto, + libGL ? null, + libGLU ? null, + libglut ? null, }: stdenv.mkDerivation rec { @@ -17,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "1wmj527hbj1qv44cdsj6ahfjrnrjwg2dp8gdick8nd07vm062qxa"; }; - buildInputs = [ libX11 zlib xorgproto ] + buildInputs = + [ + libX11 + zlib + xorgproto + ] ++ lib.optional (libGL != null) libGL ++ lib.optional (libGLU != null) libGLU ++ lib.optional (libglut != null) libglut; diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index c240e116047f0..81e8f826e509d 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -1,29 +1,30 @@ -{ stdenv -, lib -, fetchFromGitHub -, which -, sqlite -, lua5_1 -, perl -, python3 -, zlib -, pkg-config -, ncurses -, dejavu_fonts -, libpng -, SDL2 -, SDL2_image -, SDL2_mixer -, libGLU -, libGL -, freetype -, pngcrush -, advancecomp -, tileMode ? false -, enableSound ? tileMode -, buildPackages +{ + stdenv, + lib, + fetchFromGitHub, + which, + sqlite, + lua5_1, + perl, + python3, + zlib, + pkg-config, + ncurses, + dejavu_fonts, + libpng, + SDL2, + SDL2_image, + SDL2_mixer, + libGLU, + libGL, + freetype, + pngcrush, + advancecomp, + tileMode ? false, + enableSound ? tileMode, + buildPackages, # MacOS / Darwin builds -, darwin + darwin, }: stdenv.mkDerivation rec { @@ -45,50 +46,72 @@ stdenv.mkDerivation rec { --replace 'SDL_image.h' 'SDL2/SDL_image.h' ''; - nativeBuildInputs = [ pkg-config which perl pngcrush advancecomp ]; + nativeBuildInputs = [ + pkg-config + which + perl + pngcrush + advancecomp + ]; # Still unstable with luajit - buildInputs = [ lua5_1 zlib sqlite ncurses ] + buildInputs = + [ + lua5_1 + zlib + sqlite + ncurses + ] ++ (with python3.pkgs; [ pyyaml ]) - ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ] + ++ lib.optionals tileMode [ + libpng + SDL2 + SDL2_image + freetype + libGLU + libGL + ] ++ lib.optional enableSound SDL2_mixer ++ (lib.optionals stdenv.hostPlatform.isDarwin ( - with darwin.apple_sdk.frameworks; [ - AppKit - AudioUnit - CoreAudio - ForceFeedback - Carbon - IOKit - OpenGL - ] - )); + with darwin.apple_sdk.frameworks; + [ + AppKit + AudioUnit + CoreAudio + ForceFeedback + Carbon + IOKit + OpenGL + ] + )); - preBuild = '' - cd crawl-ref/source - echo "${version}" > util/release_ver - patchShebangs 'util' - patchShebangs util/gen-mi-enum - rm -rf contrib - mkdir -p $out/xdg-data - '' - + lib.optionalString tileMode "mv xdg-data/*_tiles.* $out/xdg-data" - + lib.optionalString (!tileMode) "mv xdg-data/*_console.* $out/xdg-data"; + preBuild = + '' + cd crawl-ref/source + echo "${version}" > util/release_ver + patchShebangs 'util' + patchShebangs util/gen-mi-enum + rm -rf contrib + mkdir -p $out/xdg-data + '' + + lib.optionalString tileMode "mv xdg-data/*_tiles.* $out/xdg-data" + + lib.optionalString (!tileMode) "mv xdg-data/*_console.* $out/xdg-data"; fontsPath = lib.optionalString tileMode dejavu_fonts; - makeFlags = [ - "prefix=${placeholder "out"}" - "FORCE_CC=${stdenv.cc.targetPrefix}cc" - "FORCE_CXX=${stdenv.cc.targetPrefix}c++" - "HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}c++" - "FORCE_PKGCONFIG=y" - "SAVEDIR=~/.crawl" - "sqlite=${sqlite.dev}" - "DATADIR=${placeholder "out"}" - ] - ++ lib.optional tileMode "TILES=y" - ++ lib.optional enableSound "SOUND=y"; + makeFlags = + [ + "prefix=${placeholder "out"}" + "FORCE_CC=${stdenv.cc.targetPrefix}cc" + "FORCE_CXX=${stdenv.cc.targetPrefix}c++" + "HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}c++" + "FORCE_PKGCONFIG=y" + "SAVEDIR=~/.crawl" + "sqlite=${sqlite.dev}" + "DATADIR=${placeholder "out"}" + ] + ++ lib.optional tileMode "TILES=y" + ++ lib.optional enableSound "SOUND=y"; postInstall = lib.optionalString tileMode '' @@ -98,15 +121,13 @@ stdenv.mkDerivation rec { install -Dm444 $out/xdg-data/org.develz.Crawl_tiles.desktop -t $out/share/applications install -Dm444 $out/xdg-data/org.develz.Crawl_tiles.appdata.xml -t $out/share/metainfo '' - + - lib.optionalString (!tileMode) '' + + lib.optionalString (!tileMode) '' echo "Exec=crawl" >> $out/xdg-data/org.develz.Crawl_console.desktop echo "Icon=crawl" >> $out/xdg-data/org.develz.Crawl_console.desktop install -Dm444 $out/xdg-data/org.develz.Crawl_console.desktop -t $out/share/applications install -Dm444 $out/xdg-data/org.develz.Crawl_console.appdata.xml -t $out/share/metainfo '' - + "install -Dm444 dat/tiles/stone_soup_icon-512x512.png $out/share/icons/hicolor/512x512/apps/crawl.png" - ; + + "install -Dm444 dat/tiles/stone_soup_icon-512x512.png $out/share/icons/hicolor/512x512/apps/crawl.png"; enableParallelBuilding = true; @@ -120,7 +141,14 @@ stdenv.mkDerivation rec { mystifyingly fabulous Orb of Zot. ''; platforms = platforms.linux ++ platforms.darwin; - license = with licenses; [ gpl2Plus bsd2 bsd3 mit licenses.zlib cc0 ]; + license = with licenses; [ + gpl2Plus + bsd2 + bsd3 + mit + licenses.zlib + cc0 + ]; maintainers = [ maintainers.abbradar ]; }; } diff --git a/pkgs/games/crossfire/crossfire-arch.nix b/pkgs/games/crossfire/crossfire-arch.nix index c09f474e70c79..cb21856eab9f8 100644 --- a/pkgs/games/crossfire/crossfire-arch.nix +++ b/pkgs/games/crossfire/crossfire-arch.nix @@ -1,5 +1,11 @@ -{ stdenv, lib, fetchsvn, - version, rev, sha256 }: +{ + stdenv, + lib, + fetchsvn, + version, + rev, + sha256, +}: stdenv.mkDerivation rec { pname = "crossfire-arch"; @@ -21,7 +27,7 @@ stdenv.mkDerivation rec { homepage = "http://crossfire.real-time.com/"; license = licenses.gpl2Plus; platforms = platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; maintainers = with maintainers; [ ToxicFrog ]; }; } diff --git a/pkgs/games/crossfire/crossfire-client.nix b/pkgs/games/crossfire/crossfire-client.nix index bc3a6bbf8b064..99c3ae355af6f 100644 --- a/pkgs/games/crossfire/crossfire-client.nix +++ b/pkgs/games/crossfire/crossfire-client.nix @@ -1,8 +1,28 @@ -{ stdenv, lib, fetchsvn -, cmake, pkg-config, perl, vala -, gtk2, pcre, zlib, libpng, fribidi, harfbuzzFull, xorg, util-linux, curl -, SDL, SDL_image, SDL_mixer, libselinux, libsepol -, version, rev, sha256 +{ + stdenv, + lib, + fetchsvn, + cmake, + pkg-config, + perl, + vala, + gtk2, + pcre, + zlib, + libpng, + fribidi, + harfbuzzFull, + xorg, + util-linux, + curl, + SDL, + SDL_image, + SDL_mixer, + libselinux, + libsepol, + version, + rev, + sha256, }: stdenv.mkDerivation rec { @@ -15,10 +35,28 @@ stdenv.mkDerivation rec { rev = "r${rev}"; }; - nativeBuildInputs = [ cmake pkg-config perl vala ]; + nativeBuildInputs = [ + cmake + pkg-config + perl + vala + ]; buildInputs = [ - gtk2 pcre zlib libpng fribidi harfbuzzFull xorg.libpthreadstubs - xorg.libXdmcp curl SDL SDL_image SDL_mixer util-linux libselinux libsepol + gtk2 + pcre + zlib + libpng + fribidi + harfbuzzFull + xorg.libpthreadstubs + xorg.libXdmcp + curl + SDL + SDL_image + SDL_mixer + util-linux + libselinux + libsepol ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/games/crossfire/crossfire-maps.nix b/pkgs/games/crossfire/crossfire-maps.nix index cb514a90d1699..7740452d054d5 100644 --- a/pkgs/games/crossfire/crossfire-maps.nix +++ b/pkgs/games/crossfire/crossfire-maps.nix @@ -1,5 +1,11 @@ -{ stdenv, lib, fetchsvn, - version, rev, sha256 }: +{ + stdenv, + lib, + fetchsvn, + version, + rev, + sha256, +}: stdenv.mkDerivation rec { pname = "crossfire-maps"; @@ -21,7 +27,7 @@ stdenv.mkDerivation rec { homepage = "http://crossfire.real-time.com/"; license = licenses.gpl2Plus; platforms = platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; maintainers = with maintainers; [ ToxicFrog ]; }; } diff --git a/pkgs/games/crossfire/crossfire-server.nix b/pkgs/games/crossfire/crossfire-server.nix index aab4e2c2032b0..a22eb9dc11936 100644 --- a/pkgs/games/crossfire/crossfire-server.nix +++ b/pkgs/games/crossfire/crossfire-server.nix @@ -1,19 +1,20 @@ -{ stdenv -, lib -, fetchsvn -, autoconf -, automake -, libtool -, flex -, perl -, check -, pkg-config -, python39 # crossfire-server relies on a parser wich was removed in python >3.9 -, version -, rev -, sha256 -, maps -, arch +{ + stdenv, + lib, + fetchsvn, + autoconf, + automake, + libtool, + flex, + perl, + check, + pkg-config, + python39, # crossfire-server relies on a parser wich was removed in python >3.9 + version, + rev, + sha256, + maps, + arch, }: stdenv.mkDerivation rec { @@ -30,7 +31,16 @@ stdenv.mkDerivation rec { ./add-cstdint-include-to-crossfire-server.patch ]; - nativeBuildInputs = [ autoconf automake libtool flex perl check pkg-config python39 ]; + nativeBuildInputs = [ + autoconf + automake + libtool + flex + perl + check + pkg-config + python39 + ]; hardeningDisable = [ "format" ]; preConfigure = '' diff --git a/pkgs/games/crossfire/default.nix b/pkgs/games/crossfire/default.nix index 7d0716df3d9b9..f494592d6f0ad 100644 --- a/pkgs/games/crossfire/default.nix +++ b/pkgs/games/crossfire/default.nix @@ -11,7 +11,8 @@ rec { version = "latest"; rev = "22111"; sha256 = "04fjif6zv642n2zlw27cgzkak2kknwrxqzg42bvzl7q901bsr9l7"; - maps = crossfire-maps; arch = crossfire-arch; + maps = crossfire-maps; + arch = crossfire-arch; }; crossfire-arch = callPackage ./crossfire-arch.nix { diff --git a/pkgs/games/curseofwar/default.nix b/pkgs/games/curseofwar/default.nix index 448d8fb7ae2c4..0a74065cec930 100644 --- a/pkgs/games/curseofwar/default.nix +++ b/pkgs/games/curseofwar/default.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, ncurses -, SDL +{ + lib, + stdenv, + fetchFromGitHub, + ncurses, + SDL, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/games/cutechess/default.nix b/pkgs/games/cutechess/default.nix index 6c473857ba75b..05a75351e9e29 100644 --- a/pkgs/games/cutechess/default.nix +++ b/pkgs/games/cutechess/default.nix @@ -1,10 +1,11 @@ -{ stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wrapQtAppsHook -, qtbase -, lib +{ + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + wrapQtAppsHook, + qtbase, + lib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/games/cutemaze/default.nix b/pkgs/games/cutemaze/default.nix index 2a1f194f5c0dd..f2f741934f25a 100644 --- a/pkgs/games/cutemaze/default.nix +++ b/pkgs/games/cutemaze/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, cmake -, qttools -, wrapQtAppsHook -, qtbase -, qtwayland -, qtsvg +{ + lib, + stdenv, + fetchurl, + cmake, + qttools, + wrapQtAppsHook, + qtbase, + qtwayland, + qtsvg, }: stdenv.mkDerivation rec { @@ -24,22 +25,28 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; - buildInputs = [ - qtbase - qtsvg - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland - ]; - - installPhase = if stdenv.hostPlatform.isDarwin then '' - runHook preInstall - - mkdir -p $out/Applications - mv CuteMaze.app $out/Applications - makeWrapper $out/Applications/CuteMaze.app/Contents/MacOS/CuteMaze $out/bin/cutemaze - - runHook postInstall - '' else null; + buildInputs = + [ + qtbase + qtsvg + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; + + installPhase = + if stdenv.hostPlatform.isDarwin then + '' + runHook preInstall + + mkdir -p $out/Applications + mv CuteMaze.app $out/Applications + makeWrapper $out/Applications/CuteMaze.app/Contents/MacOS/CuteMaze $out/bin/cutemaze + + runHook postInstall + '' + else + null; meta = with lib; { changelog = "https://github.com/gottcode/cutemaze/blob/v${version}/ChangeLog"; diff --git a/pkgs/games/deliantra/arch.nix b/pkgs/games/deliantra/arch.nix index 2201ca2d1f5fb..24fdaa82df487 100644 --- a/pkgs/games/deliantra/arch.nix +++ b/pkgs/games/deliantra/arch.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, deliantra-server }: +{ + stdenv, + lib, + fetchurl, + deliantra-server, +}: stdenv.mkDerivation rec { pname = "deliantra-arch"; @@ -18,7 +23,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Archetype data for the Deliantra free MMORPG"; homepage = "http://www.deliantra.net/"; - license = with licenses; [ gpl2Plus agpl3Plus ]; + license = with licenses; [ + gpl2Plus + agpl3Plus + ]; platforms = platforms.linux; maintainers = with maintainers; [ ToxicFrog ]; }; diff --git a/pkgs/games/deliantra/data.nix b/pkgs/games/deliantra/data.nix index ca1cec2668371..7d16f4a3d9151 100644 --- a/pkgs/games/deliantra/data.nix +++ b/pkgs/games/deliantra/data.nix @@ -1,4 +1,10 @@ -{ lib, deliantra-maps, deliantra-arch, deliantra-server, symlinkJoin }: +{ + lib, + deliantra-maps, + deliantra-arch, + deliantra-server, + symlinkJoin, +}: symlinkJoin rec { name = "deliantra-data-${version}"; @@ -13,9 +19,12 @@ symlinkJoin rec { meta = with lib; { description = "Combined game data (maps + archetypes) for the Deliantra free MMORPG"; homepage = "http://www.deliantra.net/"; - license = with licenses; [ gpl2Plus agpl3Plus ]; + license = with licenses; [ + gpl2Plus + agpl3Plus + ]; platforms = platforms.linux; maintainers = with maintainers; [ ToxicFrog ]; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/games/deliantra/maps.nix b/pkgs/games/deliantra/maps.nix index 1f87178102a0c..f630a1e50d3a7 100644 --- a/pkgs/games/deliantra/maps.nix +++ b/pkgs/games/deliantra/maps.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchurl, deliantra-server }: +{ + stdenv, + lib, + fetchurl, + deliantra-server, +}: stdenv.mkDerivation rec { pname = "deliantra-maps"; @@ -18,7 +23,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Map data for the Deliantra free MMORPG"; homepage = "http://www.deliantra.net/"; - license = with licenses; [ gpl2Plus agpl3Plus ]; + license = with licenses; [ + gpl2Plus + agpl3Plus + ]; platforms = platforms.linux; maintainers = with maintainers; [ ToxicFrog ]; }; diff --git a/pkgs/games/deliantra/server.nix b/pkgs/games/deliantra/server.nix index 08889dd2302d7..9f92d99aad1ba 100644 --- a/pkgs/games/deliantra/server.nix +++ b/pkgs/games/deliantra/server.nix @@ -1,13 +1,39 @@ -{ stdenv, lib, fetchurl, perlPackages -, autoconf, perl, gperf, optipng, pngnq, rsync, imagemagick, blitz -, pkg-config, glib, boost, makeWrapper +{ + stdenv, + lib, + fetchurl, + perlPackages, + autoconf, + perl, + gperf, + optipng, + pngnq, + rsync, + imagemagick, + blitz, + pkg-config, + glib, + boost, + makeWrapper, }: let perl-deps = with perlPackages; [ - AnyEvent AnyEventAIO AnyEventBDB AnyEventIRC - CompressLZF commonsense Coro CoroEV - Deliantra DigestSHA1 EV PodPOM SafeHole URI YAMLLibYAML + AnyEvent + AnyEventAIO + AnyEventBDB + AnyEventIRC + CompressLZF + commonsense + Coro + CoroEV + Deliantra + DigestSHA1 + EV + PodPOM + SafeHole + URI + YAMLLibYAML ]; in stdenv.mkDerivation rec { @@ -20,14 +46,23 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoconf perl gperf optipng pngnq rsync imagemagick - pkg-config makeWrapper + autoconf + perl + gperf + optipng + pngnq + rsync + imagemagick + pkg-config + makeWrapper ]; propagatedBuildInputs = perl-deps; buildInputs = [ - blitz boost glib + blitz + boost + glib ]; hardeningDisable = [ "format" ]; @@ -48,7 +83,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Server for the Deliantra free MMORPG"; homepage = "http://www.deliantra.net/"; - license = with licenses; [ gpl2Plus agpl3Plus ]; + license = with licenses; [ + gpl2Plus + agpl3Plus + ]; platforms = platforms.linux; maintainers = with maintainers; [ ToxicFrog ]; }; diff --git a/pkgs/games/devilutionx/default.nix b/pkgs/games/devilutionx/default.nix index c8d2102728b22..19c21d9284267 100644 --- a/pkgs/games/devilutionx/default.nix +++ b/pkgs/games/devilutionx/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchurl -, bzip2 -, cmake -, pkg-config -, gettext -, libsodium -, SDL2 -, SDL2_image -, SDL_audiolib -, flac -, fmt -, libpng -, smpq +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + bzip2, + cmake, + pkg-config, + gettext, + libsodium, + SDL2, + SDL2_image, + SDL_audiolib, + flac, + fmt, + libpng, + smpq, }: let @@ -103,25 +104,33 @@ stdenv.mkDerivation rec { SDL_audiolib' ]; - installPhase = '' - runHook preInstall - - '' + (if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - mv devilutionx.app $out/Applications - '' else '' - install -Dm755 -t $out/bin devilutionx - install -Dm755 -t $out/bin devilutionx.mpq - install -Dm755 -t $out/share/diasurgical/devilutionx devilutionx.mpq - install -Dm755 -t $out/share/applications ../Packaging/nix/devilutionx-hellfire.desktop ../Packaging/nix/devilutionx.desktop - install -Dm755 ../Packaging/resources/icon.png $out/share/icons/hicolor/512x512/apps/devilutionx.png - install -Dm755 ../Packaging/resources/hellfire.png $out/share/icons/hicolor/512x512/apps/devilutionx-hellfire.png - install -Dm755 ../Packaging/resources/icon_32.png $out/share/icons/hicolor/32x32/apps/devilutionx.png - install -Dm755 ../Packaging/resources/hellfire_32.png $out/share/icons/hicolor/32x32/apps/devilutionx-hellfire.png - '') + '' - - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + '' + + ( + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + mv devilutionx.app $out/Applications + '' + else + '' + install -Dm755 -t $out/bin devilutionx + install -Dm755 -t $out/bin devilutionx.mpq + install -Dm755 -t $out/share/diasurgical/devilutionx devilutionx.mpq + install -Dm755 -t $out/share/applications ../Packaging/nix/devilutionx-hellfire.desktop ../Packaging/nix/devilutionx.desktop + install -Dm755 ../Packaging/resources/icon.png $out/share/icons/hicolor/512x512/apps/devilutionx.png + install -Dm755 ../Packaging/resources/hellfire.png $out/share/icons/hicolor/512x512/apps/devilutionx-hellfire.png + install -Dm755 ../Packaging/resources/icon_32.png $out/share/icons/hicolor/32x32/apps/devilutionx.png + install -Dm755 ../Packaging/resources/hellfire_32.png $out/share/icons/hicolor/32x32/apps/devilutionx-hellfire.png + '' + ) + + '' + + runHook postInstall + ''; meta = with lib; { homepage = "https://github.com/diasurgical/devilutionX"; @@ -129,7 +138,10 @@ stdenv.mkDerivation rec { mainProgram = "devilutionx"; longDescription = "In order to play this game a copy of diabdat.mpq is required. Place a copy of diabdat.mpq in ~/.local/share/diasurgical/devilution before executing the game."; license = licenses.unlicense; - maintainers = with maintainers; [ karolchmist aanderse ]; + maintainers = with maintainers; [ + karolchmist + aanderse + ]; platforms = platforms.linux ++ platforms.windows; }; } diff --git a/pkgs/games/doom-ports/doomrunner/default.nix b/pkgs/games/doom-ports/doomrunner/default.nix index a33f1273f6d08..c61055e190aba 100644 --- a/pkgs/games/doom-ports/doomrunner/default.nix +++ b/pkgs/games/doom-ports/doomrunner/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, qtbase -, qmake -, makeDesktopItem -, wrapQtAppsHook -, imagemagick -, fetchFromGitHub +{ + lib, + stdenv, + qtbase, + qmake, + makeDesktopItem, + wrapQtAppsHook, + imagemagick, + fetchFromGitHub, }: stdenv.mkDerivation (finalAttrs: { @@ -20,7 +21,11 @@ stdenv.mkDerivation (finalAttrs: { }; buildInputs = [ qtbase ]; - nativeBuildInputs = [ qmake wrapQtAppsHook imagemagick ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + imagemagick + ]; makeFlags = [ "INSTALL_ROOT=${placeholder "out"}" diff --git a/pkgs/games/doom-ports/doomseeker/default.nix b/pkgs/games/doom-ports/doomseeker/default.nix index 25c536230a6c7..eb1b4dedce92a 100644 --- a/pkgs/games/doom-ports/doomseeker/default.nix +++ b/pkgs/games/doom-ports/doomseeker/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, cmake, fetchFromBitbucket, wrapQtAppsHook, pkg-config, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }: +{ + lib, + stdenv, + cmake, + fetchFromBitbucket, + wrapQtAppsHook, + pkg-config, + qtbase, + qttools, + qtmultimedia, + zlib, + bzip2, + xxd, +}: stdenv.mkDerivation { pname = "doomseeker"; @@ -11,10 +24,25 @@ stdenv.mkDerivation { hash = "sha256-J7gesOo8NUPuVaU0o4rCGzLrqr3IIMAchulWZG3HTqg="; }; - patches = [ ./dont_update_gitinfo.patch ./add_gitinfo.patch ./fix_paths.patch ]; + patches = [ + ./dont_update_gitinfo.patch + ./add_gitinfo.patch + ./fix_paths.patch + ]; - nativeBuildInputs = [ wrapQtAppsHook cmake qttools pkg-config xxd ]; - buildInputs = [ qtbase qtmultimedia zlib bzip2 ]; + nativeBuildInputs = [ + wrapQtAppsHook + cmake + qttools + pkg-config + xxd + ]; + buildInputs = [ + qtbase + qtmultimedia + zlib + bzip2 + ]; hardeningDisable = lib.optional stdenv.hostPlatform.isDarwin "format"; diff --git a/pkgs/games/doom-ports/enyo-launcher/default.nix b/pkgs/games/doom-ports/enyo-launcher/default.nix index 422a9033ee0f1..b8e38af270aa3 100644 --- a/pkgs/games/doom-ports/enyo-launcher/default.nix +++ b/pkgs/games/doom-ports/enyo-launcher/default.nix @@ -1,4 +1,10 @@ -{ mkDerivation, lib, fetchFromGitLab, cmake, qtbase }: +{ + mkDerivation, + lib, + fetchFromGitLab, + cmake, + qtbase, +}: mkDerivation rec { pname = "enyo-launcher"; diff --git a/pkgs/games/doom-ports/zandronum/alpha/default.nix b/pkgs/games/doom-ports/zandronum/alpha/default.nix index 665bef3bd4a19..9f2bde55e8361 100644 --- a/pkgs/games/doom-ports/zandronum/alpha/default.nix +++ b/pkgs/games/doom-ports/zandronum/alpha/default.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchhg -, cmake -, pkg-config -, makeWrapper -, callPackage -, soundfont-fluid -, SDL_compat -, libGL -, glew -, bzip2 -, zlib -, libjpeg -, fluidsynth -, fmodex -, openssl -, gtk2 -, python3 -, game-music-emu -, serverOnly ? false +{ + stdenv, + lib, + fetchhg, + cmake, + pkg-config, + makeWrapper, + callPackage, + soundfont-fluid, + SDL_compat, + libGL, + glew, + bzip2, + zlib, + libjpeg, + fluidsynth, + fmodex, + openssl, + gtk2, + python3, + game-music-emu, + serverOnly ? false, }: let @@ -43,31 +44,55 @@ stdenv.mkDerivation rec { # it also needs the current mercurial revision info embedded in gitinfo.h # otherwise, the client will fail to connect to servers because the # protocol version doesn't match. - patches = [ ./zan_configure_impurity.patch ./dont_update_gitinfo.patch ./add_gitinfo.patch ]; + patches = [ + ./zan_configure_impurity.patch + ./dont_update_gitinfo.patch + ./add_gitinfo.patch + ]; # I have no idea why would SDL and libjpeg be needed for the server part! # But they are. - buildInputs = [ openssl bzip2 zlib SDL_compat libjpeg sqlite game-music-emu ] - ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ]; + buildInputs = + [ + openssl + bzip2 + zlib + SDL_compat + libjpeg + sqlite + game-music-emu + ] + ++ lib.optionals (!serverOnly) [ + libGL + glew + fmod + fluidsynth + gtk2 + ]; - nativeBuildInputs = [ cmake pkg-config makeWrapper python3 ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + python3 + ]; - preConfigure = '' - ln -s ${sqlite}/* sqlite/ - sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \ - dumb/src/it/*.c - '' + lib.optionalString (!serverOnly) '' - sed -i \ - -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ - -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ - src/sound/music_fluidsynth_mididevice.cpp - ''; + preConfigure = + '' + ln -s ${sqlite}/* sqlite/ + sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \ + dumb/src/it/*.c + '' + + lib.optionalString (!serverOnly) '' + sed -i \ + -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ + -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ + src/sound/music_fluidsynth_mididevice.cpp + ''; - cmakeFlags = - [ "-DFORCE_INTERNAL_GME=OFF" ] - ++ (if serverOnly - then [ "-DSERVERONLY=ON" ] - else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]); + cmakeFlags = [ + "-DFORCE_INTERNAL_GME=OFF" + ] ++ (if serverOnly then [ "-DSERVERONLY=ON" ] else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]); hardeningDisable = [ "format" ]; diff --git a/pkgs/games/doom-ports/zandronum/default.nix b/pkgs/games/doom-ports/zandronum/default.nix index 17c9b473870a6..5a36f375ac79c 100644 --- a/pkgs/games/doom-ports/zandronum/default.nix +++ b/pkgs/games/doom-ports/zandronum/default.nix @@ -1,24 +1,25 @@ -{ stdenv -, lib -, fetchhg -, cmake -, pkg-config -, makeWrapper -, callPackage -, soundfont-fluid -, SDL_compat -, libGL -, glew -, bzip2 -, zlib -, libjpeg -, fluidsynth -, fmodex -, openssl -, gtk2 -, python3 -, game-music-emu -, serverOnly ? false +{ + stdenv, + lib, + fetchhg, + cmake, + pkg-config, + makeWrapper, + callPackage, + soundfont-fluid, + SDL_compat, + libGL, + glew, + bzip2, + zlib, + libjpeg, + fluidsynth, + fmodex, + openssl, + gtk2, + python3, + game-music-emu, + serverOnly ? false, }: let @@ -43,31 +44,55 @@ stdenv.mkDerivation rec { # it also needs the current mercurial revision info embedded in gitinfo.h # otherwise, the client will fail to connect to servers because the # protocol version doesn't match. - patches = [ ./zan_configure_impurity.patch ./dont_update_gitinfo.patch ./add_gitinfo.patch ]; + patches = [ + ./zan_configure_impurity.patch + ./dont_update_gitinfo.patch + ./add_gitinfo.patch + ]; # I have no idea why would SDL and libjpeg be needed for the server part! # But they are. - buildInputs = [ openssl bzip2 zlib SDL_compat libjpeg sqlite game-music-emu ] - ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ]; + buildInputs = + [ + openssl + bzip2 + zlib + SDL_compat + libjpeg + sqlite + game-music-emu + ] + ++ lib.optionals (!serverOnly) [ + libGL + glew + fmod + fluidsynth + gtk2 + ]; - nativeBuildInputs = [ cmake pkg-config makeWrapper python3 ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + python3 + ]; - preConfigure = '' - ln -s ${sqlite}/* sqlite/ - sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \ - dumb/src/it/*.c - '' + lib.optionalString (!serverOnly) '' - sed -i \ - -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ - -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ - src/sound/music_fluidsynth_mididevice.cpp - ''; + preConfigure = + '' + ln -s ${sqlite}/* sqlite/ + sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \ + dumb/src/it/*.c + '' + + lib.optionalString (!serverOnly) '' + sed -i \ + -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \ + -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \ + src/sound/music_fluidsynth_mididevice.cpp + ''; - cmakeFlags = - [ "-DFORCE_INTERNAL_GME=OFF" ] - ++ (if serverOnly - then [ "-DSERVERONLY=ON" ] - else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]); + cmakeFlags = [ + "-DFORCE_INTERNAL_GME=OFF" + ] ++ (if serverOnly then [ "-DSERVERONLY=ON" ] else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]); hardeningDisable = [ "format" ]; diff --git a/pkgs/games/doom-ports/zandronum/fmod.nix b/pkgs/games/doom-ports/zandronum/fmod.nix index 0d965cb717243..030f20e084e49 100644 --- a/pkgs/games/doom-ports/zandronum/fmod.nix +++ b/pkgs/games/doom-ports/zandronum/fmod.nix @@ -1,8 +1,19 @@ -{ stdenv, lib, fetchurl, alsa-lib, libpulseaudio, undmg }: +{ + stdenv, + lib, + fetchurl, + alsa-lib, + libpulseaudio, + undmg, +}: let bits = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") "64"; - libPath = lib.makeLibraryPath [ stdenv.cc.cc alsa-lib libpulseaudio ]; + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + alsa-lib + libpulseaudio + ]; in stdenv.mkDerivation rec { @@ -10,13 +21,18 @@ stdenv.mkDerivation rec { version = "4.44.64"; shortVersion = builtins.replaceStrings [ "." ] [ "" ] version; - src = fetchurl (if stdenv.hostPlatform.isLinux then { - url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}linux.tar.gz"; - sha256 = "047hk92xapwwqj281f4zwl0ih821rrliya70gfj82sdfjh9lz8i1"; - } else { - url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}mac-installer.dmg"; - sha256 = "1m1y4cpcwpkl8x31d3s68xzp107f343ma09w2437i2adn5y7m8ii"; - }); + src = fetchurl ( + if stdenv.hostPlatform.isLinux then + { + url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}linux.tar.gz"; + sha256 = "047hk92xapwwqj281f4zwl0ih821rrliya70gfj82sdfjh9lz8i1"; + } + else + { + url = "https://zdoom.org/files/fmod/fmodapi${shortVersion}mac-installer.dmg"; + sha256 = "1m1y4cpcwpkl8x31d3s68xzp107f343ma09w2437i2adn5y7m8ii"; + } + ); nativeBuildInputs = [ undmg ]; @@ -24,22 +40,29 @@ stdenv.mkDerivation rec { dontPatchELF = true; dontBuild = true; - installPhase = lib.optionalString stdenv.hostPlatform.isLinux '' - install -Dm755 api/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex-${version}.so - ln -s libfmodex-${version}.so $out/lib/libfmodex.so - patchelf --set-rpath ${libPath} $out/lib/libfmodex.so - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install -D api/lib/libfmodex.dylib $out/lib/libfmodex.dylib - install -D api/lib/libfmodexL.dylib $out/lib/libfmodexL.dylib - '' + '' - cp -r api/inc $out/include - ''; + installPhase = + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm755 api/lib/libfmodex${bits}-${version}.so $out/lib/libfmodex-${version}.so + ln -s libfmodex-${version}.so $out/lib/libfmodex.so + patchelf --set-rpath ${libPath} $out/lib/libfmodex.so + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install -D api/lib/libfmodex.dylib $out/lib/libfmodex.dylib + install -D api/lib/libfmodexL.dylib $out/lib/libfmodexL.dylib + '' + + '' + cp -r api/inc $out/include + ''; meta = with lib; { description = "Programming library and toolkit for the creation and playback of interactive audio"; - homepage = "http://www.fmod.org/"; - license = licenses.unfreeRedistributable; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + homepage = "http://www.fmod.org/"; + license = licenses.unfreeRedistributable; + platforms = [ + "x86_64-linux" + "i686-linux" + "x86_64-darwin" + ]; maintainers = [ maintainers.lassulus ]; }; } diff --git a/pkgs/games/doom-ports/zandronum/sqlite.nix b/pkgs/games/doom-ports/zandronum/sqlite.nix index e6c8585cb541a..6565ff2f542a6 100644 --- a/pkgs/games/doom-ports/zandronum/sqlite.nix +++ b/pkgs/games/doom-ports/zandronum/sqlite.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, }: stdenv.mkDerivation { diff --git a/pkgs/games/doom-ports/zdoom/bcc-git.nix b/pkgs/games/doom-ports/zdoom/bcc-git.nix index 5263ef9bac32d..3c78b892970cc 100644 --- a/pkgs/games/doom-ports/zdoom/bcc-git.nix +++ b/pkgs/games/doom-ports/zdoom/bcc-git.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "doom-bcc"; @@ -12,7 +16,7 @@ stdenv.mkDerivation { }; enableParallelBuilding = true; - makeFlags = ["CC=${stdenv.cc.targetPrefix}cc"]; + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; patches = [ ./bcc-warning-fix.patch ]; @@ -28,6 +32,6 @@ stdenv.mkDerivation { mainProgram = "bcc"; homepage = "https://github.com/wormt/bcc"; license = licenses.mit; - maintainers = with maintainers; [ertes]; + maintainers = with maintainers; [ ertes ]; }; } diff --git a/pkgs/games/doom-ports/zdoom/default.nix b/pkgs/games/doom-ports/zdoom/default.nix index 3a31f8fdfb5f6..d34f4498c5d6d 100644 --- a/pkgs/games/doom-ports/zdoom/default.nix +++ b/pkgs/games/doom-ports/zdoom/default.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, fetchurl, p7zip, cmake -, SDL2, openal, fluidsynth, soundfont-fluid, bzip2, zlib, libjpeg, game-music-emu -, libsndfile, mpg123 }: +{ + lib, + stdenv, + fetchurl, + p7zip, + cmake, + SDL2, + openal, + fluidsynth, + soundfont-fluid, + bzip2, + zlib, + libjpeg, + game-music-emu, + libsndfile, + mpg123, +}: stdenv.mkDerivation rec { pname = "zdoom"; @@ -12,9 +26,20 @@ stdenv.mkDerivation rec { sha256 = "0453fqrh9l00xwphfxni5qkf9y134n3s1mr1dvi5cbkxcva7j8bq"; }; - nativeBuildInputs = [ p7zip cmake ]; + nativeBuildInputs = [ + p7zip + cmake + ]; buildInputs = [ - SDL2 openal fluidsynth bzip2 zlib libjpeg game-music-emu libsndfile mpg123 + SDL2 + openal + fluidsynth + bzip2 + zlib + libjpeg + game-music-emu + libsndfile + mpg123 ]; cmakeFlags = [ @@ -25,7 +50,10 @@ stdenv.mkDerivation rec { sourceRoot = "."; - NIX_CFLAGS_LINK = [ "-lopenal" "-lfluidsynth" ]; + NIX_CFLAGS_LINK = [ + "-lopenal" + "-lfluidsynth" + ]; preConfigure = '' sed -i \ @@ -52,4 +80,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ lassulus ]; }; } - diff --git a/pkgs/games/doom-ports/zdoom/zdbsp.nix b/pkgs/games/doom-ports/zdoom/zdbsp.nix index 8949febdefea3..bef477e1fc152 100644 --- a/pkgs/games/doom-ports/zdoom/zdbsp.nix +++ b/pkgs/games/doom-ports/zdoom/zdbsp.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchzip -, cmake -, zlib +{ + lib, + stdenv, + fetchzip, + cmake, + zlib, }: stdenv.mkDerivation rec { @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { description = "ZDoom's internal node builder for DOOM maps"; mainProgram = "zdbsp"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ lassulus siraben ]; + maintainers = with maintainers; [ + lassulus + siraben + ]; platforms = platforms.unix; }; } diff --git a/pkgs/games/duckmarines/default.nix b/pkgs/games/duckmarines/default.nix index a4e37081ab0ea..36fdccc01c5ab 100644 --- a/pkgs/games/duckmarines/default.nix +++ b/pkgs/games/duckmarines/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, love, lua, makeWrapper, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + love, + lua, + makeWrapper, + makeDesktopItem, +}: stdenv.mkDerivation rec { pname = "duckmarines"; @@ -25,12 +33,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ lua love ]; + buildInputs = [ + lua + love + ]; dontUnpack = true; - installPhase = - '' + installPhase = '' mkdir -p $out/bin mkdir -p $out/share/games/lovegames @@ -47,7 +57,7 @@ stdenv.mkDerivation rec { description = "Duck-themed action puzzle video game"; maintainers = with maintainers; [ leenaars ]; platforms = platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; license = licenses.free; downloadPage = "http://tangramgames.dk/games/duckmarines"; }; diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix index 40a84886d8472..927c501bb4136 100644 --- a/pkgs/games/dwarf-fortress/game.nix +++ b/pkgs/games/dwarf-fortress/game.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchurl -, SDL -, SDL2 -, SDL2_image -, SDL2_mixer -, fmodex -, dwarf-fortress-unfuck -, autoPatchelfHook +{ + stdenv, + lib, + fetchurl, + SDL, + SDL2, + SDL2_image, + SDL2_mixer, + fmodex, + dwarf-fortress-unfuck, + autoPatchelfHook, # Our own "unfuck" libs for macOS -, ncurses -, gcc + ncurses, + gcc, -, dfVersion -, df-hashes + dfVersion, + df-hashes, }: let @@ -46,31 +47,40 @@ let }; dfVersionTuple = splitVersion dfVersion; - dfVersionBaseIndex = let - x = (builtins.length dfVersionTuple) - 2; - in if x >= 0 then x else 0; + dfVersionBaseIndex = + let + x = (builtins.length dfVersionTuple) - 2; + in + if x >= 0 then x else 0; baseVersion = toInt (elemAt dfVersionTuple dfVersionBaseIndex); patchVersion = elemAt dfVersionTuple (dfVersionBaseIndex + 1); isAtLeast50 = baseVersion >= 50; - enableUnfuck = !isAtLeast50 && dwarf-fortress-unfuck != null && (dwarf-fortress-unfuck.dfVersion or null) == dfVersion; + enableUnfuck = + !isAtLeast50 + && dwarf-fortress-unfuck != null + && (dwarf-fortress-unfuck.dfVersion or null) == dfVersion; game = - if hasAttr dfVersion df-hashes - then getAttr dfVersion df-hashes - else throw "Unknown Dwarf Fortress version: ${dfVersion}"; + if hasAttr dfVersion df-hashes then + getAttr dfVersion df-hashes + else + throw "Unknown Dwarf Fortress version: ${dfVersion}"; dfPlatform = - if hasAttr stdenv.hostPlatform.system platforms - then getAttr stdenv.hostPlatform.system platforms - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + if hasAttr stdenv.hostPlatform.system platforms then + getAttr stdenv.hostPlatform.system platforms + else + throw "Unsupported system: ${stdenv.hostPlatform.system}"; sha256 = - if hasAttr dfPlatform game - then getAttr dfPlatform game - else throw "Unsupported dfPlatform: ${dfPlatform}"; - exe = if stdenv.hostPlatform.isLinux then - if baseVersion >= 50 then "dwarfort" else "libs/Dwarf_Fortress" - else - "dwarfort.exe"; + if hasAttr dfPlatform game then + getAttr dfPlatform game + else + throw "Unsupported dfPlatform: ${dfPlatform}"; + exe = + if stdenv.hostPlatform.isLinux then + if baseVersion >= 50 then "dwarfort" else "libs/Dwarf_Fortress" + else + "dwarfort.exe"; in stdenv.mkDerivation { @@ -86,9 +96,12 @@ stdenv.mkDerivation { postUnpack = '' directory=${ - if stdenv.hostPlatform.isLinux then "df_linux" - else if stdenv.hostPlatform.isDarwin then "df_osx" - else throw "Unsupported system" + if stdenv.hostPlatform.isLinux then + "df_linux" + else if stdenv.hostPlatform.isDarwin then + "df_osx" + else + throw "Unsupported system" } if [ -d "$directory" ]; then mv "$directory/"* . @@ -96,54 +109,62 @@ stdenv.mkDerivation { ''; nativeBuildInputs = optional stdenv.hostPlatform.isLinux autoPatchelfHook; - buildInputs = optionals isAtLeast50 [ SDL2 SDL2_image SDL2_mixer ] + buildInputs = + optionals isAtLeast50 [ + SDL2 + SDL2_image + SDL2_mixer + ] ++ optional (!isAtLeast50) SDL ++ optional enableUnfuck dwarf-fortress-unfuck ++ [ (lib.getLib stdenv.cc.cc) ]; - installPhase = '' - runHook preInstall - - exe=$out/${exe} - mkdir -p $out - cp -r * $out - - # Clean up OS X detritus in the tarball. - find $out -type f -name '._*' -exec rm -rf {} \; - - # Lots of files are +x in the newer releases... - find $out -type d -exec chmod 0755 {} \; - find $out -type f -exec chmod 0644 {} \; - chmod +x $exe - [ -f $out/df ] && chmod +x $out/df - [ -f $out/run_df ] && chmod +x $out/run_df - - # We don't need any of these since they will just break autoPatchelf on $out/hash.md5.orig - echo "Original MD5: $(<$out/hash.md5.orig)" >&2 - '' + optionalString stdenv.hostPlatform.isDarwin '' - # My custom unfucked dwarfort.exe for macOS. Can't use - # absolute paths because original doesn't have enough - # header space. Someone plz break into Tarn's house & put - # -headerpad_max_install_names into his LDFLAGS. - - ln -s ${getLib ncurses}/lib/libncurses.dylib $out/libs - ln -s ${getLib gcc.cc}/lib/libstdc++.6.dylib $out/libs - ln -s ${getLib gcc.cc}/lib/libgcc_s.1.dylib $out/libs - ln -s ${getLib fmodex}/lib/libfmodex.dylib $out/libs - - install_name_tool \ - -change /usr/lib/libncurses.5.4.dylib \ - @executable_path/libs/libncurses.dylib \ - -change /usr/local/lib/x86_64/libstdc++.6.dylib \ - @executable_path/libs/libstdc++.6.dylib \ - $exe - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + + exe=$out/${exe} + mkdir -p $out + cp -r * $out + + # Clean up OS X detritus in the tarball. + find $out -type f -name '._*' -exec rm -rf {} \; + + # Lots of files are +x in the newer releases... + find $out -type d -exec chmod 0755 {} \; + find $out -type f -exec chmod 0644 {} \; + chmod +x $exe + [ -f $out/df ] && chmod +x $out/df + [ -f $out/run_df ] && chmod +x $out/run_df + + # We don't need any of these since they will just break autoPatchelf on $out/hash.md5.orig + echo "Original MD5: $(<$out/hash.md5.orig)" >&2 + '' + + optionalString stdenv.hostPlatform.isDarwin '' + # My custom unfucked dwarfort.exe for macOS. Can't use + # absolute paths because original doesn't have enough + # header space. Someone plz break into Tarn's house & put + # -headerpad_max_install_names into his LDFLAGS. + + ln -s ${getLib ncurses}/lib/libncurses.dylib $out/libs + ln -s ${getLib gcc.cc}/lib/libstdc++.6.dylib $out/libs + ln -s ${getLib gcc.cc}/lib/libgcc_s.1.dylib $out/libs + ln -s ${getLib fmodex}/lib/libfmodex.dylib $out/libs + + install_name_tool \ + -change /usr/lib/libncurses.5.4.dylib \ + @executable_path/libs/libncurses.dylib \ + -change /usr/local/lib/x86_64/libstdc++.6.dylib \ + @executable_path/libs/libstdc++.6.dylib \ + $exe + '' + + '' + runHook postInstall + ''; preFixup = '' recompute_hash() { @@ -158,7 +179,12 @@ stdenv.mkDerivation { ''; passthru = { - inherit baseVersion patchVersion dfVersion exe; + inherit + baseVersion + patchVersion + dfVersion + exe + ; updateScript = ./update.sh; }; @@ -167,7 +193,15 @@ stdenv.mkDerivation { homepage = "https://www.bay12games.com/dwarves/"; license = licenses.unfreeRedistributable; platforms = attrNames platforms; - maintainers = with maintainers; [ a1russell robbinch roconnor abbradar numinit shazow ncfavier ]; + maintainers = with maintainers; [ + a1russell + robbinch + roconnor + abbradar + numinit + shazow + ncfavier + ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; } diff --git a/pkgs/games/dwarf-fortress/lazy-pack.nix b/pkgs/games/dwarf-fortress/lazy-pack.nix index eef830965eb4e..732c1019bf123 100644 --- a/pkgs/games/dwarf-fortress/lazy-pack.nix +++ b/pkgs/games/dwarf-fortress/lazy-pack.nix @@ -1,28 +1,29 @@ -{ stdenvNoCC -, lib -, buildEnv -, df-games -, themes -, latestVersion -, versionToName -, dfVersion ? latestVersion +{ + stdenvNoCC, + lib, + buildEnv, + df-games, + themes, + latestVersion, + versionToName, + dfVersion ? latestVersion, # This package should, at any given time, provide an opinionated "optimal" # DF experience. It's the equivalent of the Lazy Newbie Pack, that is, and # should contain every utility available unless you disable them. -, enableDFHack ? stdenvNoCC.hostPlatform.isLinux -, enableTWBT ? enableDFHack -, enableSoundSense ? true -, enableStoneSense ? true -, enableDwarfTherapist ? true -, enableLegendsBrowser ? true -, legends-browser -, theme ? themes.phoebus + enableDFHack ? stdenvNoCC.hostPlatform.isLinux, + enableTWBT ? enableDFHack, + enableSoundSense ? true, + enableStoneSense ? true, + enableDwarfTherapist ? true, + enableLegendsBrowser ? true, + legends-browser, + theme ? themes.phoebus, # General config options: -, enableIntro ? true -, enableTruetype ? null # defaults to 24, see init.txt -, enableFPS ? false -, enableTextMode ? false -, enableSound ? true + enableIntro ? true, + enableTruetype ? null, # defaults to 24, see init.txt + enableFPS ? false, + enableTextMode ? false, + enableSound ? true, }: let @@ -37,28 +38,43 @@ let dfGame = versionToName dfVersion; dwarf-fortress = - if hasAttr dfGame df-games - then getAttr dfGame df-games - else throw "Unknown Dwarf Fortress version: ${dfVersion}"; + if hasAttr dfGame df-games then + getAttr dfGame df-games + else + throw "Unknown Dwarf Fortress version: ${dfVersion}"; dwarf-therapist = dwarf-fortress.dwarf-therapist; mainProgram = if enableDFHack then "dfhack" else "dwarf-fortress"; in buildEnv { name = "dwarf-fortress-full"; - paths = [ - (dwarf-fortress.override { - inherit enableDFHack enableTWBT enableSoundSense enableStoneSense theme - enableIntro enableTruetype enableFPS enableTextMode enableSound; - }) - ] - ++ optional enableDwarfTherapist dwarf-therapist - ++ optional enableLegendsBrowser legends-browser; + paths = + [ + (dwarf-fortress.override { + inherit + enableDFHack + enableTWBT + enableSoundSense + enableStoneSense + theme + enableIntro + enableTruetype + enableFPS + enableTextMode + enableSound + ; + }) + ] + ++ optional enableDwarfTherapist dwarf-therapist + ++ optional enableLegendsBrowser legends-browser; meta = { inherit mainProgram; description = "Opinionated wrapper for Dwarf Fortress"; - maintainers = with maintainers; [ Baughn numinit ]; + maintainers = with maintainers; [ + Baughn + numinit + ]; license = licenses.mit; platforms = platforms.all; homepage = "https://github.com/NixOS/nixpkgs/"; diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix index 8ed1e7be1b202..2ec8361a20f54 100644 --- a/pkgs/games/dwarf-fortress/soundsense.nix +++ b/pkgs/games/dwarf-fortress/soundsense.nix @@ -1,7 +1,8 @@ -{ stdenv -, fetchzip -, dos2unix -, soundPack ? stdenv.mkDerivation { +{ + stdenv, + fetchzip, + dos2unix, + soundPack ? stdenv.mkDerivation { name = "soundsense-soundpack"; src = fetchzip { url = "http://df.zweistein.cz/soundsense/soundpack.zip"; @@ -10,7 +11,7 @@ installPhase = '' cp -r . $out ''; - } + }, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/dwarf-fortress/themes/default.nix b/pkgs/games/dwarf-fortress/themes/default.nix index 279c816211ee1..befcd224a060b 100644 --- a/pkgs/games/dwarf-fortress/themes/default.nix +++ b/pkgs/games/dwarf-fortress/themes/default.nix @@ -11,8 +11,8 @@ let ; in -listToAttrs (map - (v: { +listToAttrs ( + map (v: { inherit (v) name; value = fetchFromGitHub { name = "${v.name}-theme-${v.version}"; @@ -22,9 +22,12 @@ listToAttrs (map sha256 = v.sha256; meta = { platforms = platforms.all; - maintainers = [ maintainers.matthewbauer maintainers.shazow ]; + maintainers = [ + maintainers.matthewbauer + maintainers.shazow + ]; license = licenses.unfree; }; }; - }) - (importJSON ./themes.json)) + }) (importJSON ./themes.json) +) diff --git a/pkgs/games/dwarf-fortress/twbt/default.nix b/pkgs/games/dwarf-fortress/twbt/default.nix index 82b03dd1e0d72..7b56ab310e8b2 100644 --- a/pkgs/games/dwarf-fortress/twbt/default.nix +++ b/pkgs/games/dwarf-fortress/twbt/default.nix @@ -1,8 +1,9 @@ -{ stdenvNoCC -, lib -, fetchurl -, unzip -, dfVersion +{ + stdenvNoCC, + lib, + fetchurl, + unzip, + dfVersion, }: let @@ -50,9 +51,10 @@ let }; release = - if hasAttr dfVersion twbt-releases - then getAttr dfVersion twbt-releases - else throw "[TWBT] Unsupported Dwarf Fortress version: ${dfVersion}"; + if hasAttr dfVersion twbt-releases then + getAttr dfVersion twbt-releases + else + throw "[TWBT] Unsupported Dwarf Fortress version: ${dfVersion}"; in stdenvNoCC.mkDerivation rec { @@ -70,7 +72,11 @@ stdenvNoCC.mkDerivation rec { sourceRoot = "."; - outputs = [ "lib" "art" "out" ]; + outputs = [ + "lib" + "art" + "out" + ]; nativeBuildInputs = [ unzip ]; @@ -87,7 +93,10 @@ stdenvNoCC.mkDerivation rec { meta = { description = "Plugin for Dwarf Fortress / DFHack that improves various aspects of the game interface"; - maintainers = with maintainers; [ Baughn numinit ]; + maintainers = with maintainers; [ + Baughn + numinit + ]; license = licenses.mit; platforms = platforms.linux; homepage = "https://github.com/mifki/df-twbt"; diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix index a1baa2d83f757..b04c2132cec6a 100644 --- a/pkgs/games/dwarf-fortress/unfuck.nix +++ b/pkgs/games/dwarf-fortress/unfuck.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, libGL -, libSM -, SDL -, SDL_image -, SDL_ttf -, glew -, openalSoft -, ncurses -, glib -, gtk2 -, gtk3 -, libsndfile -, zlib -, dfVersion -, pkg-config +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + libGL, + libSM, + SDL, + SDL_image, + SDL_ttf, + glew, + openalSoft, + ncurses, + glib, + gtk2, + gtk3, + libsndfile, + zlib, + dfVersion, + pkg-config, }: let @@ -74,9 +75,10 @@ let }; release = - if hasAttr dfVersion unfuck-releases - then getAttr dfVersion unfuck-releases - else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}"; + if hasAttr dfVersion unfuck-releases then + getAttr dfVersion unfuck-releases + else + throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}"; in stdenv.mkDerivation { @@ -90,13 +92,13 @@ stdenv.mkDerivation { inherit (release) hash; }; - patches = lib.optionals (versionOlder release.unfuckRelease "0.47.05") [( - fetchpatch { + patches = lib.optionals (versionOlder release.unfuckRelease "0.47.05") [ + (fetchpatch { name = "fix-noreturn-returning.patch"; url = "https://github.com/svenstaro/dwarf_fortress_unfuck/commit/6dcfe5ae869fddd51940c6c37a95f7bc639f4389.patch"; hash = "sha256-b9eI3iR7dmFqCrktPyn6QJ9U2A/7LvfYRS+vE3BOaqk="; - } - )]; + }) + ]; postPatch = '' # https://github.com/svenstaro/dwarf_fortress_unfuck/pull/27 @@ -108,25 +110,34 @@ stdenv.mkDerivation { "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" ]; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - libSM - SDL - SDL_image - SDL_ttf - glew - openalSoft - ncurses - libsndfile - zlib - libGL - ] - # switched to gtk3 in 0.47.05 - ++ (if versionOlder release.unfuckRelease "0.47.05" then [ - gtk2 - ] else [ - gtk3 - ]); + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + libSM + SDL + SDL_image + SDL_ttf + glew + openalSoft + ncurses + libsndfile + zlib + libGL + ] + # switched to gtk3 in 0.47.05 + ++ ( + if versionOlder release.unfuckRelease "0.47.05" then + [ + gtk2 + ] + else + [ + gtk3 + ] + ); # Don't strip unused symbols; dfhack hooks into some of them. dontStrip = true; @@ -145,6 +156,9 @@ stdenv.mkDerivation { homepage = "https://github.com/svenstaro/dwarf_fortress_unfuck"; license = licenses.free; platforms = platforms.linux; - maintainers = with maintainers; [ abbradar numinit ]; + maintainers = with maintainers; [ + abbradar + numinit + ]; }; } diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 268a5c1f5da53..b1a6555f6cb43 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -1,36 +1,37 @@ -{ stdenv -, lib -, buildEnv -, substituteAll -, makeWrapper -, runCommand -, coreutils -, gawk -, dwarf-fortress -, dwarf-therapist -, enableDFHack ? false -, dfhack -, enableSoundSense ? false -, soundSense -, jdk -, expect -, xvfb-run -, writeText -, enableStoneSense ? false -, enableTWBT ? false -, twbt -, themes ? { } -, theme ? null -, extraPackages ? [ ] +{ + stdenv, + lib, + buildEnv, + substituteAll, + makeWrapper, + runCommand, + coreutils, + gawk, + dwarf-fortress, + dwarf-therapist, + enableDFHack ? false, + dfhack, + enableSoundSense ? false, + soundSense, + jdk, + expect, + xvfb-run, + writeText, + enableStoneSense ? false, + enableTWBT ? false, + twbt, + themes ? { }, + theme ? null, + extraPackages ? [ ], # General config options: -, enableIntro ? true -, enableTruetype ? null # defaults to 24, see init.txt -, enableFPS ? false -, enableTextMode ? false -, enableSound ? true -# An attribute set of settings to override in data/init/*.txt. -# For example, `init.FOO = true;` is translated to `[FOO:YES]` in init.txt -, settings ? { } + enableIntro ? true, + enableTruetype ? null, # defaults to 24, see init.txt + enableFPS ? false, + enableTextMode ? false, + enableSound ? true, + # An attribute set of settings to override in data/init/*.txt. + # For example, `init.FOO = true;` is translated to `[FOO:YES]` in init.txt + settings ? { }, # TODO world-gen.txt, interface.txt require special logic }: @@ -44,21 +45,22 @@ let # If TWBT is null or the dfVersion is wrong, it isn't supported (for example, on version 50). enableTWBT' = enableTWBT && twbt != null && (twbt.dfVersion or null) == dwarf-fortress.version; - ptheme = - if builtins.isString theme - then builtins.getAttr theme themes - else theme; + ptheme = if builtins.isString theme then builtins.getAttr theme themes else theme; baseEnv = buildEnv { name = "dwarf-fortress-base-env-${dwarf-fortress.dfVersion}"; # These are in inverse order for first packages to override the next ones. - paths = extraPackages - ++ lib.optional (theme != null) ptheme - ++ lib.optional enableDFHack dfhack' - ++ lib.optional enableSoundSense soundSense - ++ lib.optionals enableTWBT' [ twbt.lib twbt.art ] - ++ [ dwarf-fortress ]; + paths = + extraPackages + ++ lib.optional (theme != null) ptheme + ++ lib.optional enableDFHack dfhack' + ++ lib.optional enableSoundSense soundSense + ++ lib.optionals enableTWBT' [ + twbt.lib + twbt.art + ] + ++ [ dwarf-fortress ]; ignoreCollisions = true; }; @@ -66,10 +68,14 @@ let settings' = lib.recursiveUpdate { init = { PRINT_MODE = - if enableTextMode then "TEXT" - else if enableTWBT' then "TWBT" - else if stdenv.hostPlatform.isDarwin then "STANDARD" # https://www.bay12games.com/dwarves/mantisbt/view.php?id=11680 - else null; + if enableTextMode then + "TEXT" + else if enableTWBT' then + "TWBT" + else if stdenv.hostPlatform.isDarwin then + "STANDARD" # https://www.bay12games.com/dwarves/mantisbt/view.php?id=11680 + else + null; INTRO = enableIntro; TRUETYPE = enableTruetype; FPS = enableFPS; @@ -79,173 +85,234 @@ let forEach = attrs: f: lib.concatStrings (lib.mapAttrsToList f attrs); - toTxt = v: - if lib.isBool v then if v then "YES" else "NO" - else if lib.isInt v then toString v - else if lib.isString v then v - else throw "dwarf-fortress: unsupported configuration value ${toString v}"; - - config = runCommand "dwarf-fortress-config" { - nativeBuildInputs = [ gawk makeWrapper ]; - } ('' - mkdir -p $out/data/init - - edit_setting() { - v=''${v//'&'/'\&'} - if [ -f "$out/$file" ]; then - if ! gawk -i inplace -v RS='\r?\n' ' - { n += sub("\\[" ENVIRON["k"] ":[^]]*\\]", "[" ENVIRON["k"] ":" ENVIRON["v"] "]"); print } - END { exit(!n) } - ' "$out/$file"; then - echo "error: no setting named '$k' in $out/$file" >&2 - exit 1 - fi - else - echo "warning: no file $out/$file; cannot edit" >&2 - fi - } - '' + forEach settings' (file: kv: '' - file=data/init/${lib.escapeShellArg file}.txt - if [ -f "${baseEnv}/$file" ]; then - cp "${baseEnv}/$file" "$out/$file" + toTxt = + v: + if lib.isBool v then + if v then "YES" else "NO" + else if lib.isInt v then + toString v + else if lib.isString v then + v else - echo "warning: no file ${baseEnv}/$file; cannot copy" >&2 - fi - '' + forEach kv (k: v: lib.optionalString (v != null) '' - export k=${lib.escapeShellArg k} v=${lib.escapeShellArg (toTxt v)} - edit_setting - '')) + lib.optionalString enableDFHack '' - mkdir -p $out/hack - - # Patch the MD5 - orig_md5=$(< "${dwarf-fortress}/hash.md5.orig") - patched_md5=$(< "${dwarf-fortress}/hash.md5") - input_file="${dfhack'}/hack/symbols.xml" - output_file="$out/hack/symbols.xml" - - echo "[DFHack Wrapper] Fixing Dwarf Fortress MD5:" - echo " Input: $input_file" - echo " Search: $orig_md5" - echo " Output: $output_file" - echo " Replace: $patched_md5" - - substitute "$input_file" "$output_file" --replace-fail "$orig_md5" "$patched_md5" - ''); + throw "dwarf-fortress: unsupported configuration value ${toString v}"; + + config = + runCommand "dwarf-fortress-config" + { + nativeBuildInputs = [ + gawk + makeWrapper + ]; + } + ( + '' + mkdir -p $out/data/init + + edit_setting() { + v=''${v//'&'/'\&'} + if [ -f "$out/$file" ]; then + if ! gawk -i inplace -v RS='\r?\n' ' + { n += sub("\\[" ENVIRON["k"] ":[^]]*\\]", "[" ENVIRON["k"] ":" ENVIRON["v"] "]"); print } + END { exit(!n) } + ' "$out/$file"; then + echo "error: no setting named '$k' in $out/$file" >&2 + exit 1 + fi + else + echo "warning: no file $out/$file; cannot edit" >&2 + fi + } + '' + + forEach settings' ( + file: kv: + '' + file=data/init/${lib.escapeShellArg file}.txt + if [ -f "${baseEnv}/$file" ]; then + cp "${baseEnv}/$file" "$out/$file" + else + echo "warning: no file ${baseEnv}/$file; cannot copy" >&2 + fi + '' + + forEach kv ( + k: v: + lib.optionalString (v != null) '' + export k=${lib.escapeShellArg k} v=${lib.escapeShellArg (toTxt v)} + edit_setting + '' + ) + ) + + lib.optionalString enableDFHack '' + mkdir -p $out/hack + + # Patch the MD5 + orig_md5=$(< "${dwarf-fortress}/hash.md5.orig") + patched_md5=$(< "${dwarf-fortress}/hash.md5") + input_file="${dfhack'}/hack/symbols.xml" + output_file="$out/hack/symbols.xml" + + echo "[DFHack Wrapper] Fixing Dwarf Fortress MD5:" + echo " Input: $input_file" + echo " Search: $orig_md5" + echo " Output: $output_file" + echo " Replace: $patched_md5" + + substitute "$input_file" "$output_file" --replace-fail "$orig_md5" "$patched_md5" + '' + ); # This is a separate environment because the config files to modify may come # from any of the paths in baseEnv. env = buildEnv { name = "dwarf-fortress-env-${dwarf-fortress.dfVersion}"; - paths = [ config baseEnv ]; + paths = [ + config + baseEnv + ]; ignoreCollisions = true; }; in lib.throwIf (enableTWBT' && !enableDFHack) "dwarf-fortress: TWBT requires DFHack to be enabled" -lib.throwIf (enableStoneSense && !enableDFHack) "dwarf-fortress: StoneSense requires DFHack to be enabled" -lib.throwIf (enableTextMode && enableTWBT') "dwarf-fortress: text mode and TWBT are mutually exclusive" - -stdenv.mkDerivation rec { - pname = "dwarf-fortress"; - version = dwarf-fortress.dfVersion; - - dfInit = substituteAll { - name = "dwarf-fortress-init"; - src = ./dwarf-fortress-init.in; - inherit env; - inherit (dwarf-fortress) exe; - stdenv_shell = "${stdenv.shell}"; - cp = "${coreutils}/bin/cp"; - rm = "${coreutils}/bin/rm"; - ln = "${coreutils}/bin/ln"; - cat = "${coreutils}/bin/cat"; - mkdir = "${coreutils}/bin/mkdir"; - printf = "${coreutils}/bin/printf"; - uname = "${coreutils}/bin/uname"; - }; + lib.throwIf + (enableStoneSense && !enableDFHack) + "dwarf-fortress: StoneSense requires DFHack to be enabled" + lib.throwIf + (enableTextMode && enableTWBT') + "dwarf-fortress: text mode and TWBT are mutually exclusive" - runDF = ./dwarf-fortress.in; - runSoundSense = ./soundSense.in; + stdenv.mkDerivation + rec { + pname = "dwarf-fortress"; + version = dwarf-fortress.dfVersion; - passthru = { - inherit dwarf-fortress dwarf-therapist twbt env; - dfhack = dfhack'; - }; + dfInit = substituteAll { + name = "dwarf-fortress-init"; + src = ./dwarf-fortress-init.in; + inherit env; + inherit (dwarf-fortress) exe; + stdenv_shell = "${stdenv.shell}"; + cp = "${coreutils}/bin/cp"; + rm = "${coreutils}/bin/rm"; + ln = "${coreutils}/bin/ln"; + cat = "${coreutils}/bin/cat"; + mkdir = "${coreutils}/bin/mkdir"; + printf = "${coreutils}/bin/printf"; + uname = "${coreutils}/bin/uname"; + }; + + runDF = ./dwarf-fortress.in; + runSoundSense = ./soundSense.in; + + passthru = { + inherit + dwarf-fortress + dwarf-therapist + twbt + env + ; + dfhack = dfhack'; + }; + + dontUnpack = true; + dontBuild = true; + preferLocalBuild = true; + installPhase = + '' + mkdir -p $out/bin + + substitute $runDF $out/bin/dwarf-fortress \ + --subst-var-by stdenv_shell ${stdenv.shell} \ + --subst-var-by dfExe ${dwarf-fortress.exe} \ + --subst-var dfInit + chmod 755 $out/bin/dwarf-fortress + '' + + lib.optionalString enableDFHack '' + substitute $runDF $out/bin/dfhack \ + --subst-var-by stdenv_shell ${stdenv.shell} \ + --subst-var-by dfExe dfhack \ + --subst-var dfInit + chmod 755 $out/bin/dfhack + '' + + lib.optionalString enableSoundSense '' + substitute $runSoundSense $out/bin/soundsense \ + --subst-var-by stdenv_shell ${stdenv.shell} \ + --subst-var-by jre ${jdk.jre} \ + --subst-var dfInit + chmod 755 $out/bin/soundsense + ''; + + doInstallCheck = stdenv.hostPlatform.isLinux; + nativeInstallCheckInputs = lib.optionals stdenv.hostPlatform.isLinux [ + expect + xvfb-run + ]; + + installCheckPhase = + let + commonExpectStatements = + fmod: + lib.optionalString isAtLeast50 '' + expect "Loading audio..." + '' + + lib.optionalString (!fmod && isAtLeast50) '' + expect "Failed to load fmod, trying SDL_mixer" + '' + + lib.optionalString isAtLeast50 '' + expect "Audio loaded successfully!" + '' + + '' + expect "Loading bindings from data/init/interface.txt" + ''; + dfHackExpectScript = writeText "dfhack-test.exp" ( + '' + spawn env NIXPKGS_DF_OPTS=debug xvfb-run $env(out)/bin/dfhack + '' + + commonExpectStatements false + + '' + expect "DFHack is ready. Have a nice day!" + expect "DFHack version ${version}" + expect "\[DFHack\]#" + send -- "lua print(os.getenv('out'))\r" + expect "$env(out)" + # Don't send 'die' here; just exit. Some versions of dfhack crash on exit. + exit 0 + '' + ); + vanillaExpectScript = + fmod: + writeText "vanilla-test.exp" ( + '' + spawn env NIXPKGS_DF_OPTS=debug,${lib.optionalString fmod "fmod"} xvfb-run $env(out)/bin/dwarf-fortress + '' + + commonExpectStatements fmod + + '' + exit 0 + '' + ); + in + '' + export HOME="$(mktemp -dt dwarf-fortress.XXXXXX)" + '' + + lib.optionalString enableDFHack '' + expect ${dfHackExpectScript} + df_home="$(find ~ -name "df_*" | head -n1)" + test -f "$df_home/dfhack" + '' + + lib.optionalString isAtLeast50 '' + expect ${vanillaExpectScript true} + df_home="$(find ~ -name "df_*" | head -n1)" + test ! -f "$df_home/dfhack" + test -f "$df_home/libfmod_plugin.so" + '' + + '' + expect ${vanillaExpectScript false} + df_home="$(find ~ -name "df_*" | head -n1)" + test ! -f "$df_home/dfhack" + test ! -f "$df_home/libfmod_plugin.so" + '' + + '' + test -d "$df_home/data" + ''; - dontUnpack = true; - dontBuild = true; - preferLocalBuild = true; - installPhase = '' - mkdir -p $out/bin - - substitute $runDF $out/bin/dwarf-fortress \ - --subst-var-by stdenv_shell ${stdenv.shell} \ - --subst-var-by dfExe ${dwarf-fortress.exe} \ - --subst-var dfInit - chmod 755 $out/bin/dwarf-fortress - '' + lib.optionalString enableDFHack '' - substitute $runDF $out/bin/dfhack \ - --subst-var-by stdenv_shell ${stdenv.shell} \ - --subst-var-by dfExe dfhack \ - --subst-var dfInit - chmod 755 $out/bin/dfhack - '' + lib.optionalString enableSoundSense '' - substitute $runSoundSense $out/bin/soundsense \ - --subst-var-by stdenv_shell ${stdenv.shell} \ - --subst-var-by jre ${jdk.jre} \ - --subst-var dfInit - chmod 755 $out/bin/soundsense - ''; - - doInstallCheck = stdenv.hostPlatform.isLinux; - nativeInstallCheckInputs = lib.optionals stdenv.hostPlatform.isLinux [ expect xvfb-run ]; - - installCheckPhase = let - commonExpectStatements = fmod: lib.optionalString isAtLeast50 '' - expect "Loading audio..." - '' + lib.optionalString (!fmod && isAtLeast50) '' - expect "Failed to load fmod, trying SDL_mixer" - '' + lib.optionalString isAtLeast50 '' - expect "Audio loaded successfully!" - '' + '' - expect "Loading bindings from data/init/interface.txt" - ''; - dfHackExpectScript = writeText "dfhack-test.exp" ('' - spawn env NIXPKGS_DF_OPTS=debug xvfb-run $env(out)/bin/dfhack - '' + commonExpectStatements false + '' - expect "DFHack is ready. Have a nice day!" - expect "DFHack version ${version}" - expect "\[DFHack\]#" - send -- "lua print(os.getenv('out'))\r" - expect "$env(out)" - # Don't send 'die' here; just exit. Some versions of dfhack crash on exit. - exit 0 - ''); - vanillaExpectScript = fmod: writeText "vanilla-test.exp" ('' - spawn env NIXPKGS_DF_OPTS=debug,${lib.optionalString fmod "fmod"} xvfb-run $env(out)/bin/dwarf-fortress - '' + commonExpectStatements fmod + '' - exit 0 - ''); - in - '' - export HOME="$(mktemp -dt dwarf-fortress.XXXXXX)" - '' + lib.optionalString enableDFHack '' - expect ${dfHackExpectScript} - df_home="$(find ~ -name "df_*" | head -n1)" - test -f "$df_home/dfhack" - '' + lib.optionalString isAtLeast50 '' - expect ${vanillaExpectScript true} - df_home="$(find ~ -name "df_*" | head -n1)" - test ! -f "$df_home/dfhack" - test -f "$df_home/libfmod_plugin.so" - '' + '' - expect ${vanillaExpectScript false} - df_home="$(find ~ -name "df_*" | head -n1)" - test ! -f "$df_home/dfhack" - test ! -f "$df_home/libfmod_plugin.so" - '' + '' - test -d "$df_home/data" - ''; - - inherit (dwarf-fortress) meta; -} + inherit (dwarf-fortress) meta; + } diff --git a/pkgs/games/dxx-rebirth/assets.nix b/pkgs/games/dxx-rebirth/assets.nix index b214d49659b6e..fb37b540068e6 100644 --- a/pkgs/games/dxx-rebirth/assets.nix +++ b/pkgs/games/dxx-rebirth/assets.nix @@ -1,55 +1,64 @@ -{ lib, stdenv, requireFile, gogUnpackHook }: +{ + lib, + stdenv, + requireFile, + gogUnpackHook, +}: let - generic = ver: source: let - pname = "descent${toString ver}"; - in stdenv.mkDerivation rec { - name = "${pname}-assets-${version}"; - version = "2.0.0.7"; + generic = + ver: source: + let + pname = "descent${toString ver}"; + in + stdenv.mkDerivation rec { + name = "${pname}-assets-${version}"; + version = "2.0.0.7"; - src = requireFile rec { - name = "setup_descent12_${version}.exe"; - sha256 = "1r1drbfda6czg21f9qqiiwgnkpszxgmcn5bafp5ljddh34swkn3f"; - message = '' - While the Descent ${toString ver} game engine is free, the game assets are not. + src = requireFile rec { + name = "setup_descent12_${version}.exe"; + sha256 = "1r1drbfda6czg21f9qqiiwgnkpszxgmcn5bafp5ljddh34swkn3f"; + message = '' + While the Descent ${toString ver} game engine is free, the game assets are not. - Please purchase the game on gog.com and download the Windows installer. + Please purchase the game on gog.com and download the Windows installer. - Once you have downloaded the file, please use the following command and re-run the - installation: + Once you have downloaded the file, please use the following command and re-run the + installation: - nix-prefetch-url file://\$PWD/${name} - ''; - }; + nix-prefetch-url file://\$PWD/${name} + ''; + }; - nativeBuildInputs = [ gogUnpackHook ]; + nativeBuildInputs = [ gogUnpackHook ]; - dontBuild = true; - dontFixup = true; + dontBuild = true; + dontFixup = true; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/{games/${pname},doc/${pname}/examples} - pushd "app/${source}" - mv dosbox*.conf $out/share/doc/${pname}/examples - mv *.txt *.pdf $out/share/doc/${pname} - cp -r * $out/share/games/descent${toString ver} - popd + mkdir -p $out/share/{games/${pname},doc/${pname}/examples} + pushd "app/${source}" + mv dosbox*.conf $out/share/doc/${pname}/examples + mv *.txt *.pdf $out/share/doc/${pname} + cp -r * $out/share/games/descent${toString ver} + popd - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - description = "Descent ${toString ver} assets from GOG"; - homepage = "https://www.dxx-rebirth.com/"; - license = licenses.unfree; - maintainers = with maintainers; [ peterhoeg ]; - hydraPlatforms = []; + meta = with lib; { + description = "Descent ${toString ver} assets from GOG"; + homepage = "https://www.dxx-rebirth.com/"; + license = licenses.unfree; + maintainers = with maintainers; [ peterhoeg ]; + hydraPlatforms = [ ]; + }; }; - }; -in { +in +{ descent1-assets = generic 1 "descent"; descent2-assets = generic 2 "descent 2"; } diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix index 29da6adb5aca9..dddde9c6cc274 100644 --- a/pkgs/games/dxx-rebirth/default.nix +++ b/pkgs/games/dxx-rebirth/default.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchurl -, scons -, pkg-config -, SDL2 -, SDL2_image -, SDL2_mixer -, libGLU -, libGL -, libpng -, physfs -, unstableGitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + scons, + pkg-config, + SDL2, + SDL2_image, + SDL2_mixer, + libGLU, + libGL, + libpng, + physfs, + unstableGitUpdater, }: let @@ -31,9 +33,20 @@ stdenv.mkDerivation rec { hash = "sha256-b6N/qkydI56bkCPhTJ5SwB8OdLqEFJhK9WPA4ELB1BI="; }; - nativeBuildInputs = [ pkg-config scons ]; + nativeBuildInputs = [ + pkg-config + scons + ]; - buildInputs = [ libGLU libGL libpng physfs SDL2 SDL2_image SDL2_mixer ]; + buildInputs = [ + libGLU + libGL + libpng + physfs + SDL2 + SDL2_image + SDL2_mixer + ]; enableParallelBuilding = true; @@ -49,7 +62,7 @@ stdenv.mkDerivation rec { install -Dm644 -t $out/share/doc/dxx-rebirth *.txt ''; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "Source Port of the Descent 1 and 2 engines"; diff --git a/pkgs/games/dxx-rebirth/full.nix b/pkgs/games/dxx-rebirth/full.nix index f3349c114eed1..1bffa245449b2 100644 --- a/pkgs/games/dxx-rebirth/full.nix +++ b/pkgs/games/dxx-rebirth/full.nix @@ -1,30 +1,42 @@ -{ lib, stdenv, makeWrapper -, dxx-rebirth, descent1-assets, descent2-assets }: +{ + lib, + stdenv, + makeWrapper, + dxx-rebirth, + descent1-assets, + descent2-assets, +}: let - generic = ver: assets: stdenv.mkDerivation { - name = "d${toString ver}x-rebirth-full-${assets.version}"; + generic = + ver: assets: + stdenv.mkDerivation { + name = "d${toString ver}x-rebirth-full-${assets.version}"; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' - mkdir -p $out/bin + buildCommand = '' + mkdir -p $out/bin - makeWrapper ${dxx-rebirth}/bin/d${toString ver}x-rebirth $out/bin/descent${toString ver} \ - --add-flags "-hogdir ${assets}/share/games/descent${toString ver}" - ''; + makeWrapper ${dxx-rebirth}/bin/d${toString ver}x-rebirth $out/bin/descent${toString ver} \ + --add-flags "-hogdir ${assets}/share/games/descent${toString ver}" + ''; - meta = with lib; { - description = "Descent ${toString ver} using the DXX-Rebirth project engine and game assets from GOG"; - homepage = "https://www.dxx-rebirth.com/"; - license = with licenses; [ free unfree ]; - maintainers = with maintainers; [ peterhoeg ]; - platforms = with platforms; linux; - hydraPlatforms = []; + meta = with lib; { + description = "Descent ${toString ver} using the DXX-Rebirth project engine and game assets from GOG"; + homepage = "https://www.dxx-rebirth.com/"; + license = with licenses; [ + free + unfree + ]; + maintainers = with maintainers; [ peterhoeg ]; + platforms = with platforms; linux; + hydraPlatforms = [ ]; + }; }; - }; -in { +in +{ d1x-rebirth-full = generic 1 descent1-assets; d2x-rebirth-full = generic 2 descent2-assets; } diff --git a/pkgs/games/easyrpg-player/default.nix b/pkgs/games/easyrpg-player/default.nix index 558f3755d1cfd..be92949cb91a6 100644 --- a/pkgs/games/easyrpg-player/default.nix +++ b/pkgs/games/easyrpg-player/default.nix @@ -1,40 +1,41 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, cmake -, doxygen -, pkg-config -, freetype -, fmt -, glib -, harfbuzz -, liblcf -, libpng -, libsndfile -, libvorbis -, libxmp -, libXcursor -, libXext -, libXi -, libXinerama -, libXrandr -, libXScrnSaver -, libXxf86vm -, mpg123 -, opusfile -, pcre -, pixman -, SDL2 -, speexdsp -, wildmidi -, zlib -, libdecor -, alsa-lib -, asciidoctor -, Foundation -, AudioUnit -, AudioToolbox +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + doxygen, + pkg-config, + freetype, + fmt, + glib, + harfbuzz, + liblcf, + libpng, + libsndfile, + libvorbis, + libxmp, + libXcursor, + libXext, + libXi, + libXinerama, + libXrandr, + libXScrnSaver, + libXxf86vm, + mpg123, + opusfile, + pcre, + pixman, + SDL2, + speexdsp, + wildmidi, + zlib, + libdecor, + alsa-lib, + asciidoctor, + Foundation, + AudioUnit, + AudioToolbox, }: stdenv.mkDerivation rec { @@ -67,39 +68,42 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - fmt - freetype - glib - harfbuzz - liblcf - libpng - libsndfile - libvorbis - libxmp - mpg123 - opusfile - pcre - pixman - SDL2 - speexdsp - zlib - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - libXcursor - libXext - libXi - libXinerama - libXrandr - libXScrnSaver - libXxf86vm - libdecor - wildmidi # until packaged on Darwin - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Foundation - AudioUnit - AudioToolbox - ]; + buildInputs = + [ + fmt + freetype + glib + harfbuzz + liblcf + libpng + libsndfile + libvorbis + libxmp + mpg123 + opusfile + pcre + pixman + SDL2 + speexdsp + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libXcursor + libXext + libXi + libXinerama + libXrandr + libXScrnSaver + libXxf86vm + libdecor + wildmidi # until packaged on Darwin + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + AudioUnit + AudioToolbox + ]; cmakeFlags = [ "-DPLAYER_ENABLE_TESTS=${lib.boolToString doCheck}" diff --git a/pkgs/games/exult/default.nix b/pkgs/games/exult/default.nix index cc32d13617dc1..4f26dbed108a5 100644 --- a/pkgs/games/exult/default.nix +++ b/pkgs/games/exult/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, autoconf -, autoconf-archive -, autoreconfHook -, automake -, libogg -, libtool -, libvorbis -, pkg-config -, zlib -, enableTools ? false -# Darwin-specific -, AudioUnit +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + autoconf, + autoconf-archive, + autoreconfHook, + automake, + libogg, + libtool, + libvorbis, + pkg-config, + zlib, + enableTools ? false, + # Darwin-specific + AudioUnit, }: stdenv.mkDerivation rec { @@ -42,14 +43,16 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - SDL2 - libogg - libvorbis - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AudioUnit - ]; + buildInputs = + [ + SDL2 + libogg + libvorbis + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioUnit + ]; enableParallelBuilding = true; diff --git a/pkgs/games/fallout-ce/build.nix b/pkgs/games/fallout-ce/build.nix index 5f0c0b404f36d..91792a613d8d6 100644 --- a/pkgs/games/fallout-ce/build.nix +++ b/pkgs/games/fallout-ce/build.nix @@ -1,16 +1,17 @@ -{ cmake -, fpattern -, lib -, SDL2 -, stdenv -, writeShellScript +{ + cmake, + fpattern, + lib, + SDL2, + stdenv, + writeShellScript, -, extraBuildInputs ? [ ] -, extraMeta -, patches -, pname -, version -, src + extraBuildInputs ? [ ], + extraMeta, + patches, + pname, + version, + src, }: let @@ -46,7 +47,12 @@ let ''; in stdenv.mkDerivation { - inherit pname version src patches; + inherit + pname + version + src + patches + ; nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 ] ++ extraBuildInputs; @@ -70,9 +76,12 @@ stdenv.mkDerivation { runHook postInstall ''; - meta = with lib; { - license = licenses.sustainableUse; - maintainers = with maintainers; [ hughobrien ]; - platforms = platforms.linux; - } // extraMeta; + meta = + with lib; + { + license = licenses.sustainableUse; + maintainers = with maintainers; [ hughobrien ]; + platforms = platforms.linux; + } + // extraMeta; } diff --git a/pkgs/games/fallout-ce/fallout-ce.nix b/pkgs/games/fallout-ce/fallout-ce.nix index 2c30d62bb77ff..6754fad6a1b50 100644 --- a/pkgs/games/fallout-ce/fallout-ce.nix +++ b/pkgs/games/fallout-ce/fallout-ce.nix @@ -1,6 +1,7 @@ -{ callPackage -, fetchFromGitHub -, fetchpatch2 +{ + callPackage, + fetchFromGitHub, + fetchpatch2, }: callPackage ./build.nix rec { diff --git a/pkgs/games/fallout-ce/fallout2-ce.nix b/pkgs/games/fallout-ce/fallout2-ce.nix index 09dbd93feb9df..a1b4f28b1971d 100644 --- a/pkgs/games/fallout-ce/fallout2-ce.nix +++ b/pkgs/games/fallout-ce/fallout2-ce.nix @@ -1,7 +1,8 @@ -{ callPackage -, fetchFromGitHub -, fetchpatch2 -, zlib +{ + callPackage, + fetchFromGitHub, + fetchpatch2, + zlib, }: callPackage ./build.nix rec { diff --git a/pkgs/games/ferium/default.nix b/pkgs/games/ferium/default.nix index 08710c42214da..1073764cbaead 100644 --- a/pkgs/games/ferium/default.nix +++ b/pkgs/games/ferium/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, Security -, SystemConfiguration -, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, + SystemConfiguration, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -18,7 +19,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-eeQjezB6pRdnPADLgDLo8b+bUSP12gfBhFNt/uYCwHU="; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; cargoHash = "sha256-yBi6zyljkYEIUvSH4nXMw8fjPnt4kjqiuZ/QLT5IbqQ="; @@ -42,6 +46,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "ferium"; homepage = "https://github.com/gorilla-devs/ferium"; license = licenses.mpl20; - maintainers = with maintainers; [ leo60228 soupglasses ]; + maintainers = with maintainers; [ + leo60228 + soupglasses + ]; }; } diff --git a/pkgs/games/flare/default.nix b/pkgs/games/flare/default.nix index 0e1b4571e5ce9..8dd6c435c1b57 100644 --- a/pkgs/games/flare/default.nix +++ b/pkgs/games/flare/default.nix @@ -1,11 +1,17 @@ -{ lib, buildEnv, callPackage, makeWrapper, Cocoa }: +{ + lib, + buildEnv, + callPackage, + makeWrapper, + Cocoa, +}: buildEnv { name = "flare-1.14"; paths = [ (callPackage ./engine.nix { inherit Cocoa; }) - (callPackage ./game.nix {}) + (callPackage ./game.nix { }) ]; nativeBuildInputs = [ makeWrapper ]; @@ -18,8 +24,14 @@ buildEnv { description = "Fantasy action RPG using the FLARE engine"; mainProgram = "flare"; homepage = "https://flarerpg.org/"; - maintainers = with maintainers; [ aanderse McSinyx ]; - license = [ licenses.gpl3 licenses.cc-by-sa-30 ]; + maintainers = with maintainers; [ + aanderse + McSinyx + ]; + license = [ + licenses.gpl3 + licenses.cc-by-sa-30 + ]; platforms = platforms.unix; }; } diff --git a/pkgs/games/flare/engine.nix b/pkgs/games/flare/engine.nix index b404e8ecfcd03..8d4069874bd6d 100644 --- a/pkgs/games/flare/engine.nix +++ b/pkgs/games/flare/engine.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, cmake, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + Cocoa, +}: stdenv.mkDerivation rec { pname = "flare-engine"; @@ -14,13 +24,20 @@ stdenv.mkDerivation rec { patches = [ ./desktop.patch ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf ] - ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + ] ++ lib.optional stdenv.hostPlatform.isDarwin Cocoa; meta = with lib; { description = "Free/Libre Action Roleplaying Engine"; homepage = "https://github.com/flareteam/flare-engine"; - maintainers = with maintainers; [ aanderse McSinyx ]; + maintainers = with maintainers; [ + aanderse + McSinyx + ]; license = [ licenses.gpl3 ]; platforms = platforms.unix; }; diff --git a/pkgs/games/flare/game.nix b/pkgs/games/flare/game.nix index 8cfe40dc22b5e..74dbcaaaae318 100644 --- a/pkgs/games/flare/game.nix +++ b/pkgs/games/flare/game.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: stdenv.mkDerivation rec { pname = "flare-game"; @@ -16,7 +21,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fantasy action RPG using the FLARE engine"; homepage = "https://github.com/flareteam/flare-game"; - maintainers = with maintainers; [ aanderse McSinyx ]; + maintainers = with maintainers; [ + aanderse + McSinyx + ]; license = [ licenses.cc-by-sa-30 ]; platforms = platforms.unix; }; diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix index d81b2774b4ae5..ec9b9358b1559 100644 --- a/pkgs/games/flightgear/default.nix +++ b/pkgs/games/flightgear/default.nix @@ -1,8 +1,38 @@ -{ lib, stdenv, fetchurl, wrapQtAppsHook -, libglut, freealut, libGLU, libGL, libICE, libjpeg, openal, openscenegraph, plib -, libSM, libunwind, libX11, xorgproto, libXext, libXi -, libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr -, makeDesktopItem, qtbase, qtdeclarative, glew, curl +{ + lib, + stdenv, + fetchurl, + wrapQtAppsHook, + libglut, + freealut, + libGLU, + libGL, + libICE, + libjpeg, + openal, + openscenegraph, + plib, + libSM, + libunwind, + libX11, + xorgproto, + libXext, + libXi, + libXmu, + libXt, + simgear, + zlib, + boost, + cmake, + libpng, + udev, + fltk13, + apr, + makeDesktopItem, + qtbase, + qtdeclarative, + glew, + curl, }: let @@ -35,12 +65,39 @@ stdenv.mkDerivation rec { sha256 = "sha256-Fn0I3pzA9yIYs3myPNflbH9u4Y19VZUS2lGjvWfzjm4="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ - libglut freealut libGLU libGL libICE libjpeg openal openscenegraph plib - libSM libunwind libX11 xorgproto libXext libXi - libXmu libXt simgear zlib boost libpng udev fltk13 apr qtbase - glew qtdeclarative curl + libglut + freealut + libGLU + libGL + libICE + libjpeg + openal + openscenegraph + plib + libSM + libunwind + libX11 + xorgproto + libXext + libXi + libXmu + libXt + simgear + zlib + boost + libpng + udev + fltk13 + apr + qtbase + glew + qtdeclarative + curl ]; qtWrapperArgs = [ @@ -51,7 +108,7 @@ stdenv.mkDerivation rec { description = "Flight simulator"; maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; - hydraPlatforms = []; # disabled from hydra because it's so big + hydraPlatforms = [ ]; # disabled from hydra because it's so big license = licenses.gpl2Plus; mainProgram = "fgfs"; }; diff --git a/pkgs/games/fltrator/default.nix b/pkgs/games/fltrator/default.nix index c3402eda40827..d1a39f76a1309 100644 --- a/pkgs/games/fltrator/default.nix +++ b/pkgs/games/fltrator/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, unzip, fltk, which, libjpeg }: +{ + lib, + stdenv, + fetchurl, + unzip, + fltk, + which, + libjpeg, +}: stdenv.mkDerivation rec { pname = "fltrator"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { sha256 = "125aqq1sfrm0c9cm6gyylwdmc8xrb0rjf563xvw7q28sdbl6ayp7"; }; - buildInputs = [ fltk libjpeg ]; - nativeBuildInputs = [ unzip which ]; + buildInputs = [ + fltk + libjpeg + ]; + nativeBuildInputs = [ + unzip + which + ]; postPatch = '' substituteInPlace src/fltrator.cxx\ @@ -23,7 +37,10 @@ stdenv.mkDerivation rec { dontAddPrefix = true; - makeFlags = [ "HOME=$(out)" "RSC_PATH=$(out)/fltrator"]; + makeFlags = [ + "HOME=$(out)" + "RSC_PATH=$(out)/fltrator" + ]; postInstall = '' mkdir -p $out/share/applications diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index 3732f4f3a06e9..110dd68ace55f 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -1,11 +1,35 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkg-config, python3 -, zlib, bzip2, curl, xz, gettext, libiconv, icu -, SDL2, SDL2_mixer, SDL2_image, SDL2_ttf, SDL2_gfx, freetype, fluidsynth -, sdl2Client ? false -, gtkClient ? true, gtk3, wrapGAppsHook3 -, qtClient ? false, qt5 -, server ? true, readline -, enableSqlite ? true, sqlite +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + lua5_3, + pkg-config, + python3, + zlib, + bzip2, + curl, + xz, + gettext, + libiconv, + icu, + SDL2, + SDL2_mixer, + SDL2_image, + SDL2_ttf, + SDL2_gfx, + freetype, + fluidsynth, + sdl2Client ? false, + gtkClient ? true, + gtk3, + wrapGAppsHook3, + qtClient ? false, + qt5, + server ? true, + readline, + enableSqlite ? true, + sqlite, }: stdenv.mkDerivation rec { @@ -29,14 +53,36 @@ stdenv.mkDerivation rec { done ''; - nativeBuildInputs = [ autoreconfHook pkg-config ] + nativeBuildInputs = + [ + autoreconfHook + pkg-config + ] ++ lib.optionals qtClient [ qt5.wrapQtAppsHook ] ++ lib.optionals gtkClient [ wrapGAppsHook3 ]; - buildInputs = [ lua5_3 zlib bzip2 curl xz gettext libiconv icu ] - ++ [ SDL2 SDL2_mixer SDL2_image SDL2_ttf SDL2_gfx freetype fluidsynth ] + buildInputs = + [ + lua5_3 + zlib + bzip2 + curl + xz + gettext + libiconv + icu + ] + ++ [ + SDL2 + SDL2_mixer + SDL2_image + SDL2_ttf + SDL2_gfx + freetype + fluidsynth + ] ++ lib.optionals gtkClient [ gtk3 ] - ++ lib.optionals qtClient [ qt5.qtbase ] + ++ lib.optionals qtClient [ qt5.qtbase ] ++ lib.optional server readline ++ lib.optional enableSqlite sqlite; @@ -48,7 +94,8 @@ stdenv.mkDerivation rec { preConfigure = '' export CPPFLAGS="$(echo $SDL2_PATH | sed 's#/nix/store/#-I/nix/store/#g')" ''; - configureFlags = [ "--enable-shared" ] + configureFlags = + [ "--enable-shared" ] ++ lib.optionals sdl2Client [ "--enable-client=sdl2" "--enable-sdl-mixer=sdl2" @@ -57,16 +104,19 @@ stdenv.mkDerivation rec { "--enable-client=qt" "--with-qtver=qt5" "--with-qt5-includes=${qt5.qtbase.dev}/include" - ] ++ lib.optionals gtkClient [ "--enable-client=gtk3.22" ] + ] + ++ lib.optionals gtkClient [ "--enable-client=gtk3.22" ] ++ lib.optional enableSqlite "--enable-fcdb=sqlite3" ++ lib.optional (!gtkClient) "--enable-fcmp=cli" - ++ lib.optional (!server) "--disable-server"; + ++ lib.optional (!server) "--disable-server"; - postFixup = lib.optionalString qtClient '' - wrapQtApp $out/bin/freeciv-qt - '' + lib.optionalString gtkClient '' - wrapGApp $out/bin/freeciv-gtk3.22 - ''; + postFixup = + lib.optionalString qtClient '' + wrapQtApp $out/bin/freeciv-qt + '' + + lib.optionalString gtkClient '' + wrapGApp $out/bin/freeciv-gtk3.22 + ''; enableParallelBuilding = true; diff --git a/pkgs/games/fteqw/default.nix b/pkgs/games/fteqw/default.nix index 1e9a0b0967612..c99c4b28bee5b 100644 --- a/pkgs/games/fteqw/default.nix +++ b/pkgs/games/fteqw/default.nix @@ -1,90 +1,100 @@ -{ lib -, stdenv -, fetchFromGitHub -, gzip -, libvorbis -, libmad -, SDL2 -, SDL2_mixer -, libpng -, alsa-lib -, gnutls -, zlib -, libjpeg -, vulkan-loader -, vulkan-headers -, speex -, libopus -, xorg -, libGL +{ + lib, + stdenv, + fetchFromGitHub, + gzip, + libvorbis, + libmad, + SDL2, + SDL2_mixer, + libpng, + alsa-lib, + gnutls, + zlib, + libjpeg, + vulkan-loader, + vulkan-headers, + speex, + libopus, + xorg, + libGL, }@attrs: { - fteqw = import ./generic.nix (rec { - pname = "fteqw"; + fteqw = import ./generic.nix ( + rec { + pname = "fteqw"; - buildFlags = [ "m-rel" ]; + buildFlags = [ "m-rel" ]; - nativeBuildInputs = [ - vulkan-headers - ]; + nativeBuildInputs = [ + vulkan-headers + ]; - buildInputs = [ - gzip - libvorbis - libmad - SDL2 - SDL2_mixer - libpng - alsa-lib - gnutls - libjpeg - vulkan-loader - speex - libopus - xorg.libXrandr - xorg.libXcursor - ]; + buildInputs = [ + gzip + libvorbis + libmad + SDL2 + SDL2_mixer + libpng + alsa-lib + gnutls + libjpeg + vulkan-loader + speex + libopus + xorg.libXrandr + xorg.libXcursor + ]; - postFixup = '' - patchelf $out/bin/${pname} \ - --add-needed ${SDL2}/lib/libSDL2.so \ - --add-needed ${libGL}/lib/libGLX.so \ - --add-needed ${libGL}/lib/libGL.so \ - --add-needed ${lib.getLib gnutls}/lib/libgnutls.so \ - --add-needed ${vulkan-loader}/lib/libvulkan.so - ''; + postFixup = '' + patchelf $out/bin/${pname} \ + --add-needed ${SDL2}/lib/libSDL2.so \ + --add-needed ${libGL}/lib/libGLX.so \ + --add-needed ${libGL}/lib/libGL.so \ + --add-needed ${lib.getLib gnutls}/lib/libgnutls.so \ + --add-needed ${vulkan-loader}/lib/libvulkan.so + ''; - description = "Hybrid and versatile game engine"; - } // attrs); + description = "Hybrid and versatile game engine"; + } + // attrs + ); - fteqw-dedicated = import ./generic.nix (rec { - pname = "fteqw-dedicated"; - releaseFile = "fteqw-sv"; + fteqw-dedicated = import ./generic.nix ( + rec { + pname = "fteqw-dedicated"; + releaseFile = "fteqw-sv"; - buildFlags = [ "sv-rel" ]; + buildFlags = [ "sv-rel" ]; - buildInputs = [ - gnutls - zlib - ]; + buildInputs = [ + gnutls + zlib + ]; - postFixup = '' - patchelf $out/bin/${pname} \ - --add-needed ${gnutls}/lib/libgnutls.so \ - ''; + postFixup = '' + patchelf $out/bin/${pname} \ + --add-needed ${gnutls}/lib/libgnutls.so \ + ''; - description = "Dedicated server for FTEQW"; - } // attrs); + description = "Dedicated server for FTEQW"; + } + // attrs + ); - fteqcc = import ./generic.nix ({ - pname = "fteqcc"; + fteqcc = import ./generic.nix ( + { + pname = "fteqcc"; - buildFlags = [ "qcc-rel" ]; + buildFlags = [ "qcc-rel" ]; - buildInputs = [ - zlib - ]; + buildInputs = [ + zlib + ]; - description = "User friendly QuakeC compiler"; - } // attrs); + description = "User friendly QuakeC compiler"; + } + // attrs + ); } diff --git a/pkgs/games/fteqw/generic.nix b/pkgs/games/fteqw/generic.nix index 2d83b8b2af81e..1c158602bf876 100644 --- a/pkgs/games/fteqw/generic.nix +++ b/pkgs/games/fteqw/generic.nix @@ -1,19 +1,27 @@ -{ lib -, fetchFromGitHub -, stdenv -, libopus -, xorg -, pname -, releaseFile ? pname -, buildFlags -, buildInputs -, nativeBuildInputs ? [] -, postFixup ? "" -, description -, ... }: +{ + lib, + fetchFromGitHub, + stdenv, + libopus, + xorg, + pname, + releaseFile ? pname, + buildFlags, + buildInputs, + nativeBuildInputs ? [ ], + postFixup ? "", + description, + ... +}: stdenv.mkDerivation { - inherit pname buildFlags buildInputs nativeBuildInputs postFixup; + inherit + pname + buildFlags + buildInputs + nativeBuildInputs + postFixup + ; version = "0-unstable-2024-04-13"; src = fetchFromGitHub { @@ -25,7 +33,8 @@ stdenv.mkDerivation { makeFlags = [ "PKGCONFIG=$(PKG_CONFIG)" - "-C" "engine" + "-C" + "engine" ]; enableParallelBuilding = true; diff --git a/pkgs/games/garden-of-coloured-lights/default.nix b/pkgs/games/garden-of-coloured-lights/default.nix index 00bf3a9d4278b..a26cea2796129 100644 --- a/pkgs/games/garden-of-coloured-lights/default.nix +++ b/pkgs/games/garden-of-coloured-lights/default.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchurl, autoconf, automake, allegro }: +{ + lib, + stdenv, + fetchurl, + autoconf, + automake, + allegro, +}: stdenv.mkDerivation rec { pname = "garden-of-coloured-lights"; version = "1.0.9"; - nativeBuildInputs = [ autoconf automake ]; + nativeBuildInputs = [ + autoconf + automake + ]; buildInputs = [ allegro ]; prePatch = '' diff --git a/pkgs/games/gl-gsync-demo/default.nix b/pkgs/games/gl-gsync-demo/default.nix index 8ea4facb77b75..9a7be5418c8aa 100644 --- a/pkgs/games/gl-gsync-demo/default.nix +++ b/pkgs/games/gl-gsync-demo/default.nix @@ -1,4 +1,13 @@ -{ stdenv, fetchFromGitHub, libX11, libglut, glew, libXNVCtrl, libXext, lib }: +{ + stdenv, + fetchFromGitHub, + libX11, + libglut, + glew, + libXNVCtrl, + libXext, + lib, +}: stdenv.mkDerivation rec { pname = "gl-gsync-demo"; @@ -11,7 +20,13 @@ stdenv.mkDerivation rec { sha256 = "1innsmpsd9n9ih80v16rhj2ijrl28jd7x6a4jmxdirba7mjibm8d"; }; - buildInputs = [ libX11 libglut glew libXNVCtrl libXext ]; + buildInputs = [ + libX11 + libglut + glew + libXNVCtrl + libXext + ]; installPhase = '' runHook preInstall diff --git a/pkgs/games/gogdl/default.nix b/pkgs/games/gogdl/default.nix index 0f96f0e4e36a4..08161f7f3c1f8 100644 --- a/pkgs/games/gogdl/default.nix +++ b/pkgs/games/gogdl/default.nix @@ -1,11 +1,12 @@ -{ lib -, writeScript -, buildPythonApplication -, fetchFromGitHub -, pythonOlder -, setuptools -, requests -, cacert +{ + lib, + writeScript, + buildPythonApplication, + fetchFromGitHub, + pythonOlder, + setuptools, + requests, + cacert, }: buildPythonApplication rec { diff --git a/pkgs/games/gscrabble/default.nix b/pkgs/games/gscrabble/default.nix index c4a3614edd6a1..95146c8f88048 100644 --- a/pkgs/games/gscrabble/default.nix +++ b/pkgs/games/gscrabble/default.nix @@ -1,6 +1,14 @@ -{ lib, buildPythonApplication, fetchFromGitHub -, gtk3, wrapGAppsHook3, gst_all_1, gobject-introspection -, python3Packages, adwaita-icon-theme }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + gtk3, + wrapGAppsHook3, + gst_all_1, + gobject-introspection, + python3Packages, + adwaita-icon-theme, +}: buildPythonApplication { pname = "gscrabble"; @@ -15,14 +23,24 @@ buildPythonApplication { doCheck = false; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; buildInputs = with gst_all_1; [ - gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad - adwaita-icon-theme gtk3 + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + adwaita-icon-theme + gtk3 ]; - propagatedBuildInputs = with python3Packages; [ gst-python pygobject3 ]; + propagatedBuildInputs = with python3Packages; [ + gst-python + pygobject3 + ]; preFixup = '' gappsWrapperArgs+=( diff --git a/pkgs/games/gshogi/default.nix b/pkgs/games/gshogi/default.nix index 98bf06ac97410..3fdd60a5fa2c4 100644 --- a/pkgs/games/gshogi/default.nix +++ b/pkgs/games/gshogi/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, gobject-introspection -, gtk3 -, python3 -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + gobject-introspection, + gtk3, + python3, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication rec { @@ -17,13 +18,16 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-EPOIYPSFAhilxuZeYfuZ4Cd29ReJs/E4KNF5/lyzbxs="; }; - doCheck = false; # no tests available + doCheck = false; # no tests available buildInputs = [ gtk3 ]; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; propagatedBuildInputs = with python3.pkgs; [ pygobject3 diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix index 24ae078c770df..f98183d8239d0 100644 --- a/pkgs/games/hedgewars/default.nix +++ b/pkgs/games/hedgewars/default.nix @@ -1,16 +1,47 @@ -{ stdenv, SDL2_image_2_6, SDL2_ttf, SDL2_net, fpc, haskell, ffmpeg, libglut -, lib, fetchurl, cmake, pkg-config, lua5_1, SDL2, SDL2_mixer -, zlib, libpng, libGL, libGLU, physfs -, qtbase, qttools, wrapQtAppsHook -, llvm -, withServer ? true +{ + stdenv, + SDL2_image_2_6, + SDL2_ttf, + SDL2_net, + fpc, + haskell, + ffmpeg, + libglut, + lib, + fetchurl, + cmake, + pkg-config, + lua5_1, + SDL2, + SDL2_mixer, + zlib, + libpng, + libGL, + libGLU, + physfs, + qtbase, + qttools, + wrapQtAppsHook, + llvm, + withServer ? true, }: let - ghc = haskell.packages.ghc94.ghcWithPackages (pkgs: with pkgs; [ - SHA bytestring entropy hslogger network pkgs.zlib random - regex-tdfa sandi utf8-string vector - ]); + ghc = haskell.packages.ghc94.ghcWithPackages ( + pkgs: with pkgs; [ + SHA + bytestring + entropy + hslogger + network + pkgs.zlib + random + regex-tdfa + sandi + utf8-string + vector + ] + ); in stdenv.mkDerivation rec { pname = "hedgewars"; @@ -27,13 +58,25 @@ stdenv.mkDerivation rec { ./support-ffmpeg-6.patch ]; - nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + wrapQtAppsHook + ]; buildInputs = [ - SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image_2_6 - fpc lua5_1 + SDL2_ttf + SDL2_net + SDL2 + SDL2_mixer + SDL2_image_2_6 + fpc + lua5_1 llvm # hard-requirement on aarch64, for some reason not strictly necessary on x86-64 - ffmpeg libglut physfs + ffmpeg + libglut + physfs qtbase ] ++ lib.optional withServer ghc; @@ -57,7 +100,14 @@ stdenv.mkDerivation rec { ]; qtWrapperArgs = [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libGLU libglut physfs ]}" + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libGL + libGLU + libglut + physfs + ] + }" ]; meta = with lib; { @@ -65,29 +115,32 @@ stdenv.mkDerivation rec { homepage = "https://hedgewars.org/"; license = licenses.gpl2Plus; longDescription = '' - Each player controls a team of several hedgehogs. During the course of - the game, players take turns with one of their hedgehogs. They then use - whatever tools and weapons are available to attack and kill the - opponents' hedgehogs, thereby winning the game. Hedgehogs may move - around the terrain in a variety of ways, normally by walking and jumping - but also by using particular tools such as the "Rope" or "Parachute", to - move to otherwise inaccessible areas. Each turn is time-limited to - ensure that players do not hold up the game with excessive thinking or - moving. + Each player controls a team of several hedgehogs. During the course of + the game, players take turns with one of their hedgehogs. They then use + whatever tools and weapons are available to attack and kill the + opponents' hedgehogs, thereby winning the game. Hedgehogs may move + around the terrain in a variety of ways, normally by walking and jumping + but also by using particular tools such as the "Rope" or "Parachute", to + move to otherwise inaccessible areas. Each turn is time-limited to + ensure that players do not hold up the game with excessive thinking or + moving. - A large variety of tools and weapons are available for players during - the game: Grenade, Cluster Bomb, Bazooka, UFO, Homing Bee, Shotgun, - Desert Eagle, Fire Punch, Baseball Bat, Dynamite, Mine, Rope, Pneumatic - pick, Parachute. Most weapons, when used, cause explosions that deform - the terrain, removing circular chunks. The landscape is an island - floating on a body of water, or a restricted cave with water at the - bottom. A hedgehog dies when it enters the water (either by falling off - the island, or through a hole in the bottom of it), it is thrown off - either side of the arena or when its health is reduced, typically from - contact with explosions, to zero (the damage dealt to the attacked - hedgehog or hedgehogs after a player's or CPU turn is shown only when - all movement on the battlefield has ceased).''; - maintainers = with maintainers; [ kragniz fpletz ]; + A large variety of tools and weapons are available for players during + the game: Grenade, Cluster Bomb, Bazooka, UFO, Homing Bee, Shotgun, + Desert Eagle, Fire Punch, Baseball Bat, Dynamite, Mine, Rope, Pneumatic + pick, Parachute. Most weapons, when used, cause explosions that deform + the terrain, removing circular chunks. The landscape is an island + floating on a body of water, or a restricted cave with water at the + bottom. A hedgehog dies when it enters the water (either by falling off + the island, or through a hole in the bottom of it), it is thrown off + either side of the arena or when its health is reduced, typically from + contact with explosions, to zero (the damage dealt to the attacked + hedgehog or hedgehogs after a player's or CPU turn is shown only when + all movement on the battlefield has ceased).''; + maintainers = with maintainers; [ + kragniz + fpletz + ]; broken = stdenv.hostPlatform.isDarwin; platforms = platforms.linux; }; diff --git a/pkgs/games/iortcw/default.nix b/pkgs/games/iortcw/default.nix index 44a554b9e7d6c..49ceab43c5aa6 100644 --- a/pkgs/games/iortcw/default.nix +++ b/pkgs/games/iortcw/default.nix @@ -1,14 +1,22 @@ -{ buildEnv, callPackage, makeWrapper }: +{ + buildEnv, + callPackage, + makeWrapper, +}: let - sp = callPackage ./sp.nix {}; + sp = callPackage ./sp.nix { }; mp = sp.overrideAttrs (oldAttrs: { sourceRoot = "${oldAttrs.src.name}/MP"; }); -in buildEnv { +in +buildEnv { name = "iortcw"; - paths = [ sp mp ]; + paths = [ + sp + mp + ]; pathsToLink = [ "/opt" ]; diff --git a/pkgs/games/iortcw/sp.nix b/pkgs/games/iortcw/sp.nix index a61cb05c3319f..92ee59c6891cc 100644 --- a/pkgs/games/iortcw/sp.nix +++ b/pkgs/games/iortcw/sp.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, opusfile, libogg, SDL2, openal, freetype -, libjpeg, curl, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + opusfile, + libogg, + SDL2, + openal, + freetype, + libjpeg, + curl, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "iortcw-sp"; @@ -26,7 +37,13 @@ stdenv.mkDerivation rec { installTargets = [ "copyfiles" ]; buildInputs = [ - opusfile libogg SDL2 freetype libjpeg openal curl + opusfile + libogg + SDL2 + freetype + libjpeg + openal + curl ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/games/ja2-stracciatella/default.nix b/pkgs/games/ja2-stracciatella/default.nix index 6b89a806e26b4..6ad1f4baa330c 100644 --- a/pkgs/games/ja2-stracciatella/default.nix +++ b/pkgs/games/ja2-stracciatella/default.nix @@ -1,4 +1,18 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, cmake, python3, rustPlatform, SDL2, fltk, rapidjson, gtest, Carbon, Cocoa }: +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + cmake, + python3, + rustPlatform, + SDL2, + fltk, + rapidjson, + gtest, + Carbon, + Cocoa, +}: let version = "0.17.0"; src = fetchFromGitHub { @@ -28,8 +42,21 @@ stdenv.mkDerivation { pname = "ja2-stracciatella"; inherit src version; - nativeBuildInputs = [ cmake python3 ]; - buildInputs = [ SDL2 fltk rapidjson gtest ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ]; + nativeBuildInputs = [ + cmake + python3 + ]; + buildInputs = + [ + SDL2 + fltk + rapidjson + gtest + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon + Cocoa + ]; patches = [ ./remove-rust-buildstep.patch diff --git a/pkgs/games/koboredux/default.nix b/pkgs/games/koboredux/default.nix index 178b592436b9a..5f4d0a39a8a9b 100644 --- a/pkgs/games/koboredux/default.nix +++ b/pkgs/games/koboredux/default.nix @@ -1,13 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchpatch -, requireFile -, cmake -, pkg-config -, SDL2 -, SDL2_image -, audiality2 -, useProprietaryAssets ? true +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + requireFile, + cmake, + pkg-config, + SDL2, + SDL2_image, + audiality2, + useProprietaryAssets ? true, }: let @@ -57,10 +59,12 @@ stdenv.mkDerivation rec { sourceRoot = main_src.name; # Fix clang build - patches = [(fetchpatch { - url = "https://github.com/olofson/koboredux/commit/cf92b8a61d002ccaa9fbcda7a96dab08a681dee4.patch"; - sha256 = "0dwhvis7ghf3mgzjd2rwn8hk3ndlgfwwcqaq581yc5rwd73v6vw4"; - })]; + patches = [ + (fetchpatch { + url = "https://github.com/olofson/koboredux/commit/cf92b8a61d002ccaa9fbcda7a96dab08a681dee4.patch"; + sha256 = "0dwhvis7ghf3mgzjd2rwn8hk3ndlgfwwcqaq581yc5rwd73v6vw4"; + }) + ]; postPatch = optionalString useProprietaryAssets '' cp -r ../koboredux-${version}-Linux/sfx/redux data/sfx/ @@ -80,23 +84,25 @@ stdenv.mkDerivation rec { ]; meta = { - description = "Frantic 80's style 2D shooter, similar to XKobo and Kobo Deluxe" + - optionalString (!useProprietaryAssets) " (built without proprietary assets)"; + description = + "Frantic 80's style 2D shooter, similar to XKobo and Kobo Deluxe" + + optionalString (!useProprietaryAssets) " (built without proprietary assets)"; mainProgram = "kobord"; - longDescription = '' - Kobo Redux is a frantic 80's style 2D shooter, inspired by the look and - feel of 90's arcade cabinets. The gameplay is fast and unforgiving, - although with less of the frustrating quirkiness of the actual games - of the 80's. A true challenge in the spirit of the arcade era! - '' + optionalString (!useProprietaryAssets) '' - - This version replaces the official proprietary assets with placeholders. - For the full experience, consider installing "koboredux" instead. - ''; + longDescription = + '' + Kobo Redux is a frantic 80's style 2D shooter, inspired by the look and + feel of 90's arcade cabinets. The gameplay is fast and unforgiving, + although with less of the frustrating quirkiness of the actual games + of the 80's. A true challenge in the spirit of the arcade era! + '' + + optionalString (!useProprietaryAssets) '' + + This version replaces the official proprietary assets with placeholders. + For the full experience, consider installing "koboredux" instead. + ''; homepage = "https://olofson.itch.io/kobo-redux"; license = with licenses; if useProprietaryAssets then unfree else gpl2Plus; platforms = platforms.all; maintainers = with maintainers; [ fgaz ]; }; } - diff --git a/pkgs/games/leela-zero/default.nix b/pkgs/games/leela-zero/default.nix index 073179e35b472..da7c815fa0566 100644 --- a/pkgs/games/leela-zero/default.nix +++ b/pkgs/games/leela-zero/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, boost -, opencl-headers -, ocl-icd -, qtbase -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, + opencl-headers, + ocl-icd, + qtbase, + zlib, }: stdenv.mkDerivation rec { @@ -21,7 +22,13 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - buildInputs = [ boost opencl-headers ocl-icd qtbase zlib ]; + buildInputs = [ + boost + opencl-headers + ocl-icd + qtbase + zlib + ]; nativeBuildInputs = [ cmake ]; @@ -31,7 +38,10 @@ stdenv.mkDerivation rec { description = "Go engine modeled after AlphaGo Zero"; homepage = "https://github.com/gcp/leela-zero"; license = licenses.gpl3Plus; - maintainers = [ maintainers.averelld maintainers.omnipotententity ]; + maintainers = [ + maintainers.averelld + maintainers.omnipotententity + ]; platforms = platforms.linux; }; } diff --git a/pkgs/games/legendary-gl/default.nix b/pkgs/games/legendary-gl/default.nix index a802efd66587d..7888c2111f519 100644 --- a/pkgs/games/legendary-gl/default.nix +++ b/pkgs/games/legendary-gl/default.nix @@ -1,10 +1,11 @@ -{ lib -, gitUpdater -, fetchFromGitHub -, buildPythonApplication -, pythonOlder -, requests -, filelock +{ + lib, + gitUpdater, + fetchFromGitHub, + buildPythonApplication, + pythonOlder, + requests, + filelock, }: buildPythonApplication rec { diff --git a/pkgs/games/libremines/default.nix b/pkgs/games/libremines/default.nix index e639b981369e7..b3b7cda9d4c60 100644 --- a/pkgs/games/libremines/default.nix +++ b/pkgs/games/libremines/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, wrapQtAppsHook -, qtmultimedia -, qtwayland +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + wrapQtAppsHook, + qtmultimedia, + qtwayland, }: stdenv.mkDerivation rec { @@ -18,14 +19,19 @@ stdenv.mkDerivation rec { hash = "sha256-TQwjEgtqAvKnrpia6VloRgFwtq5TNDmxU+ZWjtEK/n8="; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; - - buildInputs = [ - qtmultimedia - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland + nativeBuildInputs = [ + cmake + wrapQtAppsHook ]; + buildInputs = + [ + qtmultimedia + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]; + cmakeFlags = [ "-DUSE_QT6=TRUE" ]; meta = with lib; { diff --git a/pkgs/games/lincity/default.nix b/pkgs/games/lincity/default.nix index deb4f2eb02509..9bfdc8e189c1f 100644 --- a/pkgs/games/lincity/default.nix +++ b/pkgs/games/lincity/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, fetchpatch, libX11, libXext, xorgproto, libICE, libSM, libpng12, zlib }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + libX11, + libXext, + xorgproto, + libICE, + libSM, + libpng12, + zlib, +}: stdenv.mkDerivation rec { pname = "lincity"; @@ -10,8 +22,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libICE libpng12 libSM libX11 libXext - xorgproto zlib + libICE + libpng12 + libSM + libX11 + libXext + xorgproto + zlib ]; patches = [ diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix index ce3115d66de98..6ca8b8c647159 100644 --- a/pkgs/games/lincity/ng.nix +++ b/pkgs/games/lincity/ng.nix @@ -1,22 +1,23 @@ -{ stdenv -, SDL2 -, SDL2_gfx -, SDL2_image -, SDL2_mixer -, SDL2_ttf -, autoreconfHook -, fetchFromGitHub -, jam -, lib -, libGL -, libGLU -, libX11 -, libxml2 -, libxslt -, physfs -, pkg-config -, xorgproto -, zlib +{ + stdenv, + SDL2, + SDL2_gfx, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + autoreconfHook, + fetchFromGitHub, + jam, + lib, + libGL, + libGLU, + libX11, + libxml2, + libxslt, + physfs, + pkg-config, + xorgproto, + zlib, }: stdenv.mkDerivation { diff --git a/pkgs/games/linthesia/default.nix b/pkgs/games/linthesia/default.nix index 7bb3e30ef6af4..a214c80b77921 100644 --- a/pkgs/games/linthesia/default.nix +++ b/pkgs/games/linthesia/default.nix @@ -1,20 +1,21 @@ -{ lib -, SDL2 -, SDL2_image -, SDL2_ttf -, alsa-lib -, fetchFromGitHub -, glibmm -, gtk3 -, libGL -, libGLU -, meson -, ninja -, pkg-config -, python3 -, sqlite -, stdenv -, wrapGAppsHook3 +{ + lib, + SDL2, + SDL2_image, + SDL2_ttf, + alsa-lib, + fetchFromGitHub, + glibmm, + gtk3, + libGL, + libGLU, + meson, + ninja, + pkg-config, + python3, + sqlite, + stdenv, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -32,7 +33,13 @@ stdenv.mkDerivation rec { patchShebangs meson_post_install.py ''; - nativeBuildInputs = [ meson ninja pkg-config python3 wrapGAppsHook3 ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + wrapGAppsHook3 + ]; buildInputs = [ libGL libGLU diff --git a/pkgs/games/liquidwar/5.nix b/pkgs/games/liquidwar/5.nix index 64ea76560f134..1d49a6cef6e74 100644 --- a/pkgs/games/liquidwar/5.nix +++ b/pkgs/games/liquidwar/5.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, allegro }: +{ + lib, + stdenv, + fetchurl, + allegro, +}: stdenv.mkDerivation rec { version = "5.6.5"; pname = "liquidwar5"; diff --git a/pkgs/games/liquidwar/default.nix b/pkgs/games/liquidwar/default.nix index 83ac293f8b63d..c974c71ecd50a 100644 --- a/pkgs/games/liquidwar/default.nix +++ b/pkgs/games/liquidwar/default.nix @@ -1,10 +1,32 @@ -{ lib, stdenv, fetchurl, xorgproto, libX11, libXrender -, gmp, libjpeg, libpng -, expat, gettext, perl, guile -, SDL, SDL_image, SDL_mixer, SDL_ttf -, curl, sqlite, libtool, readline -, libogg, libvorbis, libcaca, csound, cunit -, pkg-config }: +{ + lib, + stdenv, + fetchurl, + xorgproto, + libX11, + libXrender, + gmp, + libjpeg, + libpng, + expat, + gettext, + perl, + guile, + SDL, + SDL_image, + SDL_mixer, + SDL_ttf, + curl, + sqlite, + libtool, + readline, + libogg, + libvorbis, + libcaca, + csound, + cunit, + pkg-config, +}: stdenv.mkDerivation rec { pname = "liquidwar6"; @@ -16,29 +38,47 @@ stdenv.mkDerivation rec { }; buildInputs = [ - xorgproto libX11 gmp guile - libjpeg libpng - expat gettext perl - SDL SDL_image SDL_mixer SDL_ttf - curl sqlite - libogg libvorbis csound - libXrender libcaca cunit - libtool readline + xorgproto + libX11 + gmp + guile + libjpeg + libpng + expat + gettext + perl + SDL + SDL_image + SDL_mixer + SDL_ttf + curl + sqlite + libogg + libvorbis + csound + libXrender + libcaca + cunit + libtool + readline ]; nativeBuildInputs = [ pkg-config ]; hardeningDisable = [ "format" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ - # Needed with GCC 12 but problematic with some old GCCs - "-Wno-error=address" - "-Wno-error=use-after-free" - ] ++ [ - "-Wno-error=deprecated-declarations" - # Avoid GL_GLEXT_VERSION double definition - " -DNO_SDL_GLEXT" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [ + # Needed with GCC 12 but problematic with some old GCCs + "-Wno-error=address" + "-Wno-error=use-after-free" + ] + ++ [ + "-Wno-error=deprecated-declarations" + # Avoid GL_GLEXT_VERSION double definition + " -DNO_SDL_GLEXT" + ] + ); # To avoid problems finding SDL_types.h. configureFlags = [ "CFLAGS=-I${lib.getDev SDL}/include/SDL" ]; diff --git a/pkgs/games/lzwolf/default.nix b/pkgs/games/lzwolf/default.nix index 7e3e932ba5cf0..9bfba6f916011 100644 --- a/pkgs/games/lzwolf/default.nix +++ b/pkgs/games/lzwolf/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromBitbucket -, fetchpatch -, p7zip -, cmake -, SDL2 -, bzip2 -, zlib -, libjpeg -, libsndfile -, mpg123 -, pkg-config -, SDL2_net -, SDL2_mixer +{ + stdenv, + lib, + fetchFromBitbucket, + fetchpatch, + p7zip, + cmake, + SDL2, + bzip2, + zlib, + libjpeg, + libsndfile, + mpg123, + pkg-config, + SDL2_net, + SDL2_mixer, }: stdenv.mkDerivation rec { @@ -43,9 +44,20 @@ stdenv.mkDerivation rec { --replace 'SDL2::SDL2_net' 'SDL2_net::SDL2_net' ''; - nativeBuildInputs = [ p7zip pkg-config cmake ]; + nativeBuildInputs = [ + p7zip + pkg-config + cmake + ]; buildInputs = [ - SDL2 bzip2 zlib libjpeg SDL2_mixer SDL2_net libsndfile mpg123 + SDL2 + bzip2 + zlib + libjpeg + SDL2_mixer + SDL2_net + libsndfile + mpg123 ]; cmakeFlags = [ diff --git a/pkgs/games/macopix/default.nix b/pkgs/games/macopix/default.nix index ca9870727b2ca..8820137b5a2f9 100644 --- a/pkgs/games/macopix/default.nix +++ b/pkgs/games/macopix/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk, openssl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gtk, + openssl, +}: stdenv.mkDerivation rec { pname = "macopix"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk openssl ]; + buildInputs = [ + gtk + openssl + ]; preConfigure = '' # Build fails on Linux with windres. diff --git a/pkgs/games/manaplus/default.nix b/pkgs/games/manaplus/default.nix index 768a971d83465..865a027503e9d 100644 --- a/pkgs/games/manaplus/default.nix +++ b/pkgs/games/manaplus/default.nix @@ -1,6 +1,22 @@ -{ stdenv, lib, fetchurl, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer -, SDL2_net , SDL2_gfx, zlib, physfs, curl, libxml2, libpng, pkg-config -, libGL, autoreconfHook }: +{ + stdenv, + lib, + fetchurl, + SDL2, + SDL2_image, + SDL2_ttf, + SDL2_mixer, + SDL2_net, + SDL2_gfx, + zlib, + physfs, + curl, + libxml2, + libpng, + pkg-config, + libGL, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "manaplus"; version = "2.1.3.17"; @@ -11,15 +27,29 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoreconfHook pkg-config + autoreconfHook + pkg-config ]; buildInputs = [ - SDL2 SDL2_image SDL2_ttf SDL2_mixer SDL2_net SDL2_gfx zlib - physfs curl libxml2 libpng libGL + SDL2 + SDL2_image + SDL2_ttf + SDL2_mixer + SDL2_net + SDL2_gfx + zlib + physfs + curl + libxml2 + libpng + libGL ]; - configureFlags = [ "--with-sdl2" "--without-dyecmd" ]; + configureFlags = [ + "--with-sdl2" + "--without-dyecmd" + ]; enableParallelBuilding = true; diff --git a/pkgs/games/maptool/default.nix b/pkgs/games/maptool/default.nix index 775879a957ad3..3e57c7055367c 100644 --- a/pkgs/games/maptool/default.nix +++ b/pkgs/games/maptool/default.nix @@ -1,14 +1,15 @@ -{ lib -, copyDesktopItems -, fetchurl -, ffmpeg -, gitUpdater -, jre -, libarchive -, makeDesktopItem -, openjfx -, stdenvNoCC -, wrapGAppsHook3 +{ + lib, + copyDesktopItems, + fetchurl, + ffmpeg, + gitUpdater, + jre, + libarchive, + makeDesktopItem, + openjfx, + stdenvNoCC, + wrapGAppsHook3, }: let pname = "maptool"; @@ -32,7 +33,15 @@ let platforms = [ "x86_64-linux" ]; }; - javafxModules = [ "base" "controls" "media" "swing" "web" "fxml" "graphics" ]; + javafxModules = [ + "base" + "controls" + "media" + "swing" + "web" + "fxml" + "graphics" + ]; appClasspath = "share/${pname}"; @@ -41,11 +50,12 @@ let "${openjfx}/modules_src/javafx.${mod}/module-info.java" "${openjfx}/modules/javafx.${mod}" "${openjfx}/modules_libs/javafx.${mod}" - ]) javafxModules ++ - [ "$out/${appClasspath}/*" ]; + ]) javafxModules + ++ [ "$out/${appClasspath}/*" ]; jvmArgs = [ - "-cp" (lib.concatStringsSep ":" classpath) + "-cp" + (lib.concatStringsSep ":" classpath) "-Xss8M" "-Dsun.java2d.d3d=false" "-Dfile.encoding=UTF-8" @@ -72,7 +82,12 @@ let rdnsName = "net.rptools.maptool"; in stdenvNoCC.mkDerivation { - inherit pname version src meta; + inherit + pname + version + src + meta + ; dontUnpack = true; dontConfigure = true; diff --git a/pkgs/games/minecraft-servers/default.nix b/pkgs/games/minecraft-servers/default.nix index d49adda6da9d6..0b5a9a28834ba 100644 --- a/pkgs/games/minecraft-servers/default.nix +++ b/pkgs/games/minecraft-servers/default.nix @@ -1,4 +1,8 @@ -{ callPackage, lib, javaPackages }: +{ + callPackage, + lib, + javaPackages, +}: let versions = lib.importJSON ./versions.json; @@ -7,22 +11,24 @@ let getJavaVersion = v: (builtins.getAttr "openjdk${toString v}" javaPackages.compiler).headless; - packages = lib.mapAttrs' - (version: value: { - name = "vanilla-${escapeVersion version}"; - value = callPackage ./derivation.nix { - inherit (value) version url sha1; - jre_headless = getJavaVersion ( - if value.javaVersion == null then 8 - else if value.javaVersion == 16 then 17 - else value.javaVersion - ); # versions <= 1.6 will default to 8 - }; - }) - versions; + packages = lib.mapAttrs' (version: value: { + name = "vanilla-${escapeVersion version}"; + value = callPackage ./derivation.nix { + inherit (value) version url sha1; + jre_headless = getJavaVersion ( + if value.javaVersion == null then + 8 + else if value.javaVersion == 16 then + 17 + else + value.javaVersion + ); # versions <= 1.6 will default to 8 + }; + }) versions; in lib.recurseIntoAttrs ( - packages // { + packages + // { vanilla = builtins.getAttr "vanilla-${escapeVersion latestVersion}" packages; } ) diff --git a/pkgs/games/minecraft-servers/derivation.nix b/pkgs/games/minecraft-servers/derivation.nix index c6f26d73eb6f1..a93ede2a89abf 100644 --- a/pkgs/games/minecraft-servers/derivation.nix +++ b/pkgs/games/minecraft-servers/derivation.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, nixosTests, jre_headless, makeWrapper, udev, version, url, sha1 }: +{ + lib, + stdenv, + fetchurl, + nixosTests, + jre_headless, + makeWrapper, + udev, + version, + url, + sha1, +}: stdenv.mkDerivation { pname = "minecraft-server"; inherit version; @@ -34,6 +45,10 @@ stdenv.mkDerivation { sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfreeRedistributable; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice tomberek costrouc ]; + maintainers = with maintainers; [ + thoughtpolice + tomberek + costrouc + ]; }; } diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix index cd8142574d8db..5f1d03a3ed6f9 100644 --- a/pkgs/games/mnemosyne/default.nix +++ b/pkgs/games/mnemosyne/default.nix @@ -1,6 +1,7 @@ -{ python -, fetchurl -, anki +{ + python, + fetchurl, + anki, }: python.pkgs.buildPythonApplication rec { @@ -8,7 +9,7 @@ python.pkgs.buildPythonApplication rec { version = "2.10.1"; src = fetchurl { - url = "mirror://sourceforge/project/mnemosyne-proj/mnemosyne/mnemosyne-${version}/Mnemosyne-${version}.tar.gz"; + url = "mirror://sourceforge/project/mnemosyne-proj/mnemosyne/mnemosyne-${version}/Mnemosyne-${version}.tar.gz"; sha256 = "sha256-zI79iuRXb5S0Y87KfdG+HKc0XVNQOAcBR7Zt/OdaBP4="; }; diff --git a/pkgs/games/mrrescue/default.nix b/pkgs/games/mrrescue/default.nix index 60650015a393e..c42364f0d71d8 100644 --- a/pkgs/games/mrrescue/default.nix +++ b/pkgs/games/mrrescue/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, love, lua, makeWrapper, makeDesktopItem }: +{ + lib, + stdenv, + fetchurl, + love, + lua, + makeWrapper, + makeDesktopItem, +}: let pname = "mrrescue"; @@ -29,12 +37,15 @@ stdenv.mkDerivation { sha256 = "0kzahxrgpb4vsk9yavy7f8nc34d62d1jqjrpsxslmy9ywax4yfpi"; }; - nativeBuildInputs = [ lua love makeWrapper ]; + nativeBuildInputs = [ + lua + love + makeWrapper + ]; dontUnpack = true; - installPhase = - '' + installPhase = '' mkdir -p $out/bin mkdir -p $out/share/games/lovegames diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix index 6d099cfcfe312..c9f804c43e152 100644 --- a/pkgs/games/nethack/default.nix +++ b/pkgs/games/nethack/default.nix @@ -1,46 +1,100 @@ -{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison -, less -, buildPackages -, x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkg-config, qt5 -, copyDesktopItems, makeDesktopItem +{ + stdenv, + lib, + fetchurl, + coreutils, + ncurses, + gzip, + flex, + bison, + less, + buildPackages, + x11Mode ? false, + qtMode ? false, + libXaw, + libXext, + libXpm, + bdftopcf, + mkfontdir, + pkg-config, + qt5, + copyDesktopItems, + makeDesktopItem, }: let platform = - if stdenv.hostPlatform.isUnix then "unix" - else throw "Unknown platform for NetHack: ${stdenv.hostPlatform.system}"; + if stdenv.hostPlatform.isUnix then + "unix" + else + throw "Unknown platform for NetHack: ${stdenv.hostPlatform.system}"; unixHint = - if x11Mode then "linux-x11" - else if qtMode then "linux-qt4" - else if stdenv.hostPlatform.isLinux then "linux" - else if stdenv.hostPlatform.isDarwin then "macosx10.14" + if x11Mode then + "linux-x11" + else if qtMode then + "linux-qt4" + else if stdenv.hostPlatform.isLinux then + "linux" + else if stdenv.hostPlatform.isDarwin then + "macosx10.14" # We probably want something different for Darwin - else "unix"; + else + "unix"; userDir = "~/.config/nethack"; - binPath = lib.makeBinPath [ coreutils less ]; + binPath = lib.makeBinPath [ + coreutils + less + ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "3.6.7"; - pname = if x11Mode then "nethack-x11" - else if qtMode then "nethack-qt" - else "nethack"; + pname = + if x11Mode then + "nethack-x11" + else if qtMode then + "nethack-qt" + else + "nethack"; src = fetchurl { - url = "https://nethack.org/download/${version}/nethack-${lib.replaceStrings ["."] [""] version}-src.tgz"; + url = "https://nethack.org/download/${version}/nethack-${ + lib.replaceStrings [ "." ] [ "" ] version + }-src.tgz"; sha256 = "sha256-mM9n323r+WaKYXRaqEwJvKs2Ll0z9blE7FFV1E0qrLI="; }; - buildInputs = [ ncurses ] - ++ lib.optionals x11Mode [ libXaw libXext libXpm ] - ++ lib.optionals qtMode [ gzip qt5.qtbase.bin qt5.qtmultimedia.bin ]; - - nativeBuildInputs = [ flex bison copyDesktopItems ] - ++ lib.optionals x11Mode [ mkfontdir bdftopcf ] - ++ lib.optionals qtMode [ - pkg-config mkfontdir qt5.qtbase.dev - qt5.qtmultimedia.dev qt5.wrapQtAppsHook - bdftopcf - ]; + buildInputs = + [ ncurses ] + ++ lib.optionals x11Mode [ + libXaw + libXext + libXpm + ] + ++ lib.optionals qtMode [ + gzip + qt5.qtbase.bin + qt5.qtmultimedia.bin + ]; + + nativeBuildInputs = + [ + flex + bison + copyDesktopItems + ] + ++ lib.optionals x11Mode [ + mkfontdir + bdftopcf + ] + ++ lib.optionals qtMode [ + pkg-config + mkfontdir + qt5.qtbase.dev + qt5.qtmultimedia.dev + qt5.wrapQtAppsHook + bdftopcf + ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -69,23 +123,24 @@ in stdenv.mkDerivation rec { -i sys/unix/hints/macosx10.14 sed -e '/define CHDIR/d' -i include/config.h ${lib.optionalString qtMode '' - sed \ - -e 's,^QTDIR *=.*,QTDIR=${qt5.qtbase.dev},' \ - -e 's,CFLAGS.*QtGui.*,CFLAGS += `pkg-config Qt5Gui --cflags`,' \ - -e 's,CFLAGS+=-DCOMPRESS.*,CFLAGS+=-DCOMPRESS=\\"${gzip}/bin/gzip\\" \\\ - -DCOMPRESS_EXTENSION=\\".gz\\",' \ - -e 's,moc-qt4,moc,' \ - -i sys/unix/hints/linux-qt4 + sed \ + -e 's,^QTDIR *=.*,QTDIR=${qt5.qtbase.dev},' \ + -e 's,CFLAGS.*QtGui.*,CFLAGS += `pkg-config Qt5Gui --cflags`,' \ + -e 's,CFLAGS+=-DCOMPRESS.*,CFLAGS+=-DCOMPRESS=\\"${gzip}/bin/gzip\\" \\\ + -DCOMPRESS_EXTENSION=\\".gz\\",' \ + -e 's,moc-qt4,moc,' \ + -i sys/unix/hints/linux-qt4 ''} ${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) - # If we're cross-compiling, replace the paths to the data generation tools - # with the ones from the build platform's nethack package, since we can't - # run the ones we've built here. - '' - ${buildPackages.perl}/bin/perl -p \ - -e 's,[a-z./]+/(makedefs|dgn_comp|lev_comp|dlb)(?!\.),${buildPackages.nethack}/libexec/nethack/\1,g' \ - -i sys/unix/Makefile.* - ''} + # If we're cross-compiling, replace the paths to the data generation tools + # with the ones from the build platform's nethack package, since we can't + # run the ones we've built here. + '' + ${buildPackages.perl}/bin/perl -p \ + -e 's,[a-z./]+/(makedefs|dgn_comp|lev_comp|dlb)(?!\.),${buildPackages.nethack}/libexec/nethack/\1,g' \ + -i sys/unix/Makefile.* + '' + } sed -i -e '/rm -f $(MAKEDEFS)/d' sys/unix/Makefile.src # Fix building on darwin where otherwise __has_attribute fails with an empty parameter sed -e 's/define __warn_unused_result__ .*/define __warn_unused_result__ __unused__/' -i include/tradstdc.h @@ -151,13 +206,19 @@ in stdenv.mkDerivation rec { (makeDesktopItem { name = "NetHack"; exec = - if x11Mode then "nethack-x11" - else if qtMode then "nethack-qt" - else "nethack"; + if x11Mode then + "nethack-x11" + else if qtMode then + "nethack-qt" + else + "nethack"; icon = "nethack"; desktopName = "NetHack"; comment = "NetHack is a single player dungeon exploration game"; - categories = [ "Game" "ActionGame" ]; + categories = [ + "Game" + "ActionGame" + ]; }) ]; diff --git a/pkgs/games/nile/default.nix b/pkgs/games/nile/default.nix index 38fcced181279..aa24289ba0704 100644 --- a/pkgs/games/nile/default.nix +++ b/pkgs/games/nile/default.nix @@ -1,15 +1,16 @@ -{ lib -, gitUpdater -, buildPythonApplication -, fetchFromGitHub -, pythonOlder -, setuptools -, requests -, protobuf -, pycryptodome -, zstandard -, json5 -, platformdirs +{ + lib, + gitUpdater, + buildPythonApplication, + fetchFromGitHub, + pythonOlder, + setuptools, + requests, + protobuf, + pycryptodome, + zstandard, + json5, + platformdirs, }: let diff --git a/pkgs/games/npush/default.nix b/pkgs/games/npush/default.nix index e3d199c7fa87b..f8a5b732c066d 100644 --- a/pkgs/games/npush/default.nix +++ b/pkgs/games/npush/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, ncurses +{ + lib, + stdenv, + fetchurl, + ncurses, }: stdenv.mkDerivation rec { @@ -13,7 +14,10 @@ stdenv.mkDerivation rec { hash = "sha256-8hbSsyeehzd4T3fUhDyebyI/oTHOHr3a8ArYAquivNk="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; buildInputs = [ ncurses diff --git a/pkgs/games/npush/run.nix b/pkgs/games/npush/run.nix index bc4a3b5fda3f2..0da93e880e383 100644 --- a/pkgs/games/npush/run.nix +++ b/pkgs/games/npush/run.nix @@ -1,7 +1,8 @@ -{ runtimeShell -, symlinkJoin -, writeShellScriptBin -, npush +{ + runtimeShell, + symlinkJoin, + writeShellScriptBin, + npush, }: let diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix index 62daeda24b4ab..080fd3053b1fb 100644 --- a/pkgs/games/oilrush/default.nix +++ b/pkgs/games/oilrush/default.nix @@ -1,20 +1,38 @@ -{ lib, stdenv, config, fetchurl, libX11, libXext, libXinerama, libXrandr -, libXrender, fontconfig, freetype, openal, runtimeShell }: +{ + lib, + stdenv, + config, + fetchurl, + libX11, + libXext, + libXinerama, + libXrandr, + libXrender, + fontconfig, + freetype, + openal, + runtimeShell, +}: -let inherit (lib) makeLibraryPath; in +let + inherit (lib) makeLibraryPath; +in stdenv.mkDerivation { name = "oilrush"; src = - let - url = config.oilrush.url or null; - sha256 = config.oilrush.sha256 or null; - in + let + url = config.oilrush.url or null; + sha256 = config.oilrush.sha256 or null; + in assert url != null && sha256 != null; fetchurl { inherit url sha256; }; shell = stdenv.shell; - arch = if stdenv.hostPlatform.system == "x86_64-linux" then "x64" - else lib.optionalString (stdenv.hostPlatform.system == "i686-linux") "x86"; + arch = + if stdenv.hostPlatform.system == "x86_64-linux" then + "x64" + else + lib.optionalString (stdenv.hostPlatform.system == "i686-linux") "x86"; unpackPhase = '' mkdir oilrush cd oilrush @@ -26,25 +44,68 @@ stdenv.mkDerivation { do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f done - patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\ + patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${ + makeLibraryPath [ + stdenv.cc.cc + libX11 + libXext + libXrender + fontconfig + freetype + ] + }\ launcher_$arch patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${lib.getLib stdenv.cc.cc}/lib\ libNetwork_$arch.so patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${lib.getLib stdenv.cc.cc}/lib\ libQtCoreUnigine_$arch.so.4 - patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\ + patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${ + makeLibraryPath [ + stdenv.cc.cc + libX11 + libXext + libXrender + fontconfig + freetype + ] + }\ libQtGuiUnigine_$arch.so.4 patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${lib.getLib stdenv.cc.cc}/lib\ libQtNetworkUnigine_$arch.so.4 - patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\ + patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${ + makeLibraryPath [ + stdenv.cc.cc + libX11 + libXext + libXrender + fontconfig + freetype + ] + }\ libQtWebKitUnigine_$arch.so.4 patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${lib.getLib stdenv.cc.cc}/lib\ libQtXmlUnigine_$arch.so.4 patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${lib.getLib stdenv.cc.cc}/lib\ libRakNet_$arch.so - patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXinerama libXrandr ]}\ + patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${ + makeLibraryPath [ + stdenv.cc.cc + libX11 + libXext + libXinerama + libXrandr + ] + }\ libUnigine_$arch.so - patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXinerama libXrandr ]}\ + patchelf --set-rpath ${lib.getLib stdenv.cc.cc}/lib64:${ + makeLibraryPath [ + stdenv.cc.cc + libX11 + libXext + libXinerama + libXrandr + ] + }\ OilRush_$arch ''; installPhase = '' @@ -71,7 +132,7 @@ stdenv.mkDerivation { license = lib.licenses.unfree; #maintainers = with lib.maintainers; [ astsmtl ]; platforms = lib.platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; diff --git a/pkgs/games/openloco/default.nix b/pkgs/games/openloco/default.nix index caa286c7ef62c..00c281ca46301 100644 --- a/pkgs/games/openloco/default.nix +++ b/pkgs/games/openloco/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, cmake -, libpng -, libzip -, openal -, pkg-config -, yaml-cpp -, fmt +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + cmake, + libpng, + libzip, + openal, + pkg-config, + yaml-cpp, + fmt, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 6f1e45b1e68c7..91497b50bd19c 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, cmake -, pkg-config -, wrapQtAppsHook -, SDL2 -, CoreMedia -, VideoToolbox -, VideoDecodeAcceleration -, boost -, bullet -# Please unpin this on the next OpenMW release. -, ffmpeg_6 -, libXt -, luajit -, lz4 -, mygui -, openal -, openscenegraph -, recastnavigation -, unshield -, yaml-cpp +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + cmake, + pkg-config, + wrapQtAppsHook, + SDL2, + CoreMedia, + VideoToolbox, + VideoDecodeAcceleration, + boost, + bullet, + # Please unpin this on the next OpenMW release. + ffmpeg_6, + libXt, + luajit, + lz4, + mygui, + openal, + openscenegraph, + recastnavigation, + unshield, + yaml-cpp, }: let @@ -36,12 +37,24 @@ let sha256 = "sha256-/CLRZofZHot8juH78VG1/qhTHPhy5DoPMN+oH8hC58U="; }) ]; - cmakeFlags = (old.cmakeFlags or [ ]) ++ [ - "-Wno-dev" - "-DOpenGL_GL_PREFERENCE=${GL}" - "-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" - "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" - ] ++ (map (e: "-DBUILD_OSG_PLUGIN_${e}=1") [ "BMP" "DAE" "DDS" "FREETYPE" "JPEG" "OSG" "PNG" "TGA" ]); + cmakeFlags = + (old.cmakeFlags or [ ]) + ++ [ + "-Wno-dev" + "-DOpenGL_GL_PREFERENCE=${GL}" + "-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" + "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" + ] + ++ (map (e: "-DBUILD_OSG_PLUGIN_${e}=1") [ + "BMP" + "DAE" + "DDS" + "FREETYPE" + "JPEG" + "OSG" + "PNG" + "TGA" + ]); }); bullet' = bullet.overrideDerivation (old: { @@ -65,50 +78,63 @@ stdenv.mkDerivation rec { hash = "sha256-zkjVt3GfQZsFXl2Ht3lCuQtDMYQWxhdFO4aGSb3rsyo="; }; - postPatch = '' - sed '1i#include ' -i components/myguiplatform/myguidatamanager.cpp # gcc12 - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Don't fix Darwin app bundle - sed -i '/fixup_bundle/d' CMakeLists.txt - ''; + postPatch = + '' + sed '1i#include ' -i components/myguiplatform/myguidatamanager.cpp # gcc12 + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Don't fix Darwin app bundle + sed -i '/fixup_bundle/d' CMakeLists.txt + ''; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; # If not set, OSG plugin .so files become shell scripts on Darwin. dontWrapQtApps = stdenv.hostPlatform.isDarwin; - buildInputs = [ - SDL2 - boost - bullet' - ffmpeg_6 - libXt - luajit - lz4 - mygui - openal - osg' - recastnavigation - unshield - yaml-cpp - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreMedia - VideoDecodeAcceleration - VideoToolbox - ]; + buildInputs = + [ + SDL2 + boost + bullet' + ffmpeg_6 + libXt + luajit + lz4 + mygui + openal + osg' + recastnavigation + unshield + yaml-cpp + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreMedia + VideoDecodeAcceleration + VideoToolbox + ]; - cmakeFlags = [ - "-DOpenGL_GL_PREFERENCE=${GL}" - "-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=1" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DOPENMW_OSX_DEPLOYMENT=ON" - ]; + cmakeFlags = + [ + "-DOpenGL_GL_PREFERENCE=${GL}" + "-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=1" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DOPENMW_OSX_DEPLOYMENT=ON" + ]; meta = with lib; { description = "Unofficial open source engine reimplementation of the game Morrowind"; homepage = "https://openmw.org"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ abbradar marius851000 ]; + maintainers = with maintainers; [ + abbradar + marius851000 + ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix index 318c28aff9220..f94d288f93d9c 100644 --- a/pkgs/games/openmw/tes3mp.nix +++ b/pkgs/games/openmw/tes3mp.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, cmake -, openmw -, fetchFromGitHub -, fetchpatch -, luajit -, makeWrapper -, symlinkJoin +{ + lib, + stdenv, + cmake, + openmw, + fetchFromGitHub, + fetchpatch, + luajit, + makeWrapper, + symlinkJoin, }: # revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy @@ -133,7 +134,10 @@ let homepage = "https://tes3mp.com/"; license = licenses.gpl3Only; maintainers = with maintainers; [ peterhoeg ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; }); diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix index 19913a224f46f..83986abc7c9f0 100644 --- a/pkgs/games/openra/default.nix +++ b/pkgs/games/openra/default.nix @@ -1,7 +1,7 @@ { callPackage }: let - buildOpenRAEngine = callPackage ./build-engine.nix {}; + buildOpenRAEngine = callPackage ./build-engine.nix { }; callPackage' = path: callPackage path { inherit buildOpenRAEngine; }; in { diff --git a/pkgs/games/openra/engines/devtest/deps.nix b/pkgs/games/openra/engines/devtest/deps.nix index 81e72b23038c1..a3d22042756c0 100644 --- a/pkgs/games/openra/engines/devtest/deps.nix +++ b/pkgs/games/openra/engines/devtest/deps.nix @@ -1,113 +1,546 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "DiscordRichPresence"; version = "1.1.3.18"; sha256 = "0p4bhaggjjfd4gl06yiphqgncxgcq2bws4sjkrw0n2ldf3hgrps3"; }) - (fetchNuGet { pname = "Linguini.Bundle"; version = "0.4.0"; sha256 = "0zf46vfhkhpirw6zls9y7v5zwgckscy7dk8ns77qvxxw7ir6r6v5"; }) - (fetchNuGet { pname = "Linguini.Shared"; version = "0.4.0"; sha256 = "1cxjz4rv1jvxqhlyc1ighy16c5vsah3n0mpx7988cf77kqzm3pzs"; }) - (fetchNuGet { pname = "Linguini.Syntax"; version = "0.3.0"; sha256 = "1qgj6vbdjjl30cqcyn8df30jj15c2ahj7clgb5fwcja47mnw3jd8"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "6.0.0"; sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; }) - (fetchNuGet { pname = "Mono.Nat"; version = "3.0.4"; sha256 = "10zvyq60wy02q21dszrk1h3ww23b7bkgjxaapx1ans4d9nwsmlrm"; }) - (fetchNuGet { pname = "MP3Sharp"; version = "1.0.5"; sha256 = "14h506d27g5j5c374dvw7iwn9sl0p7xp58kk95dacnpkzk0hv8yv"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; }) - (fetchNuGet { pname = "NuGet.CommandLine"; version = "4.4.1"; sha256 = "1szk5hbw22c1k5747dk95mzsy5vjw7qmvwv1wc9h080h9xzj9aab"; }) - (fetchNuGet { pname = "NVorbis"; version = "0.10.4"; sha256 = "0l4f3vhqc6ly7s8mszwarszgirz6ywx1rjsr1jx0fdlsjl02x6p9"; }) - (fetchNuGet { pname = "OpenRA-Eluant"; version = "1.0.20"; sha256 = "0nq52kdpwsvmhxgcv26wajvn3yxd5l89918rnrzxa463hmyb2rmv"; }) - (fetchNuGet { pname = "OpenRA-Freetype6"; version = "1.0.9"; sha256 = "1i5clsxszmdkhjcdkp9324zidhzp0dsvn7cbcgrnafs18yabjmzq"; }) - (fetchNuGet { pname = "OpenRA-FuzzyLogicLibrary"; version = "1.0.1"; sha256 = "0kn0b8491srbllkpqvvkml02dkixs18y5hgcalnpbw8l5kkmwvim"; }) - (fetchNuGet { pname = "OpenRA-OpenAL-CS"; version = "1.0.19"; sha256 = "1ywm3b15qywrxby3s9wjs9flfjq7vld0gqz0xw4psgvz38gdgh7p"; }) - (fetchNuGet { pname = "OpenRA-SDL2-CS"; version = "1.0.36"; sha256 = "1vywf2bfqkq0mr58gfd5kafv12rri2bzfajajcj8ha9fmhdibj3s"; }) - (fetchNuGet { pname = "Pfim"; version = "0.10.3"; sha256 = "1myjs99g14q1yj3j5hzhx8ic7i3rqh2mi3qy9gdfzi6n9dlz1b3d"; }) - (fetchNuGet { pname = "rix0rrr.BeaconLib"; version = "1.0.2"; sha256 = "0f0yi7hp8v6jvhhv7k4whv8hqqxnx15nvbkll4f1ykaa1w2pr754"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; }) - (fetchNuGet { pname = "StyleCop.Analyzers"; version = "1.2.0-beta.435"; sha256 = "0dirz0av24ds2k7hgpss15y4wlhwlzz22qdjvkq0n3g3sxcckrsy"; }) - (fetchNuGet { pname = "StyleCop.Analyzers.Unstable"; version = "1.2.0.435"; sha256 = "1jv4ha4y2c9922n21yf2dvfkmi8qfa8z28gk5zsqdyck08izp9mh"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; }) - (fetchNuGet { pname = "TagLibSharp"; version = "2.2.0"; sha256 = "0jb0f84p4jd59ha36spyk9q08g6fjap3xywq32rcs2xwzhhqiq0y"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "DiscordRichPresence"; + version = "1.1.3.18"; + sha256 = "0p4bhaggjjfd4gl06yiphqgncxgcq2bws4sjkrw0n2ldf3hgrps3"; + }) + (fetchNuGet { + pname = "Linguini.Bundle"; + version = "0.4.0"; + sha256 = "0zf46vfhkhpirw6zls9y7v5zwgckscy7dk8ns77qvxxw7ir6r6v5"; + }) + (fetchNuGet { + pname = "Linguini.Shared"; + version = "0.4.0"; + sha256 = "1cxjz4rv1jvxqhlyc1ighy16c5vsah3n0mpx7988cf77kqzm3pzs"; + }) + (fetchNuGet { + pname = "Linguini.Syntax"; + version = "0.3.0"; + sha256 = "1qgj6vbdjjl30cqcyn8df30jj15c2ahj7clgb5fwcja47mnw3jd8"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "6.0.0"; + sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.1"; + sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; + }) + (fetchNuGet { + pname = "Mono.Nat"; + version = "3.0.4"; + sha256 = "10zvyq60wy02q21dszrk1h3ww23b7bkgjxaapx1ans4d9nwsmlrm"; + }) + (fetchNuGet { + pname = "MP3Sharp"; + version = "1.0.5"; + sha256 = "14h506d27g5j5c374dvw7iwn9sl0p7xp58kk95dacnpkzk0hv8yv"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; + }) + (fetchNuGet { + pname = "NuGet.CommandLine"; + version = "4.4.1"; + sha256 = "1szk5hbw22c1k5747dk95mzsy5vjw7qmvwv1wc9h080h9xzj9aab"; + }) + (fetchNuGet { + pname = "NVorbis"; + version = "0.10.4"; + sha256 = "0l4f3vhqc6ly7s8mszwarszgirz6ywx1rjsr1jx0fdlsjl02x6p9"; + }) + (fetchNuGet { + pname = "OpenRA-Eluant"; + version = "1.0.20"; + sha256 = "0nq52kdpwsvmhxgcv26wajvn3yxd5l89918rnrzxa463hmyb2rmv"; + }) + (fetchNuGet { + pname = "OpenRA-Freetype6"; + version = "1.0.9"; + sha256 = "1i5clsxszmdkhjcdkp9324zidhzp0dsvn7cbcgrnafs18yabjmzq"; + }) + (fetchNuGet { + pname = "OpenRA-FuzzyLogicLibrary"; + version = "1.0.1"; + sha256 = "0kn0b8491srbllkpqvvkml02dkixs18y5hgcalnpbw8l5kkmwvim"; + }) + (fetchNuGet { + pname = "OpenRA-OpenAL-CS"; + version = "1.0.19"; + sha256 = "1ywm3b15qywrxby3s9wjs9flfjq7vld0gqz0xw4psgvz38gdgh7p"; + }) + (fetchNuGet { + pname = "OpenRA-SDL2-CS"; + version = "1.0.36"; + sha256 = "1vywf2bfqkq0mr58gfd5kafv12rri2bzfajajcj8ha9fmhdibj3s"; + }) + (fetchNuGet { + pname = "Pfim"; + version = "0.10.3"; + sha256 = "1myjs99g14q1yj3j5hzhx8ic7i3rqh2mi3qy9gdfzi6n9dlz1b3d"; + }) + (fetchNuGet { + pname = "rix0rrr.BeaconLib"; + version = "1.0.2"; + sha256 = "0f0yi7hp8v6jvhhv7k4whv8hqqxnx15nvbkll4f1ykaa1w2pr754"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.2"; + sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; + }) + (fetchNuGet { + pname = "StyleCop.Analyzers"; + version = "1.2.0-beta.435"; + sha256 = "0dirz0av24ds2k7hgpss15y4wlhwlzz22qdjvkq0n3g3sxcckrsy"; + }) + (fetchNuGet { + pname = "StyleCop.Analyzers.Unstable"; + version = "1.2.0.435"; + sha256 = "1jv4ha4y2c9922n21yf2dvfkmi8qfa8z28gk5zsqdyck08izp9mh"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.4"; + sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Runtime.Loader"; + version = "4.3.0"; + sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "6.0.0"; + sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "6.0.0"; + sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "6.0.0"; + sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; + }) + (fetchNuGet { + pname = "TagLibSharp"; + version = "2.2.0"; + sha256 = "0jb0f84p4jd59ha36spyk9q08g6fjap3xywq32rcs2xwzhhqiq0y"; + }) ] diff --git a/pkgs/games/openra/engines/release/deps.nix b/pkgs/games/openra/engines/release/deps.nix index 877e93c608636..175ebaf14c0df 100644 --- a/pkgs/games/openra/engines/release/deps.nix +++ b/pkgs/games/openra/engines/release/deps.nix @@ -1,113 +1,546 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "DiscordRichPresence"; version = "1.1.3.18"; sha256 = "0p4bhaggjjfd4gl06yiphqgncxgcq2bws4sjkrw0n2ldf3hgrps3"; }) - (fetchNuGet { pname = "Linguini.Bundle"; version = "0.5.0"; sha256 = "0515ifvvqhmhwdf7kw1wpamxn588hi150v6b8p4jfmr07y1dc4ml"; }) - (fetchNuGet { pname = "Linguini.Shared"; version = "0.5.0"; sha256 = "1y45lf6ipa53469sdz110d16rxfyrkdr2xscgagwg07lr2833nbb"; }) - (fetchNuGet { pname = "Linguini.Syntax"; version = "0.5.0"; sha256 = "06438fc5mizi702n8d7pqa21n5i7kwl1bwzxfy1l883j9gh64gjp"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "6.0.0"; sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; }) - (fetchNuGet { pname = "Mono.Nat"; version = "3.0.4"; sha256 = "10zvyq60wy02q21dszrk1h3ww23b7bkgjxaapx1ans4d9nwsmlrm"; }) - (fetchNuGet { pname = "MP3Sharp"; version = "1.0.5"; sha256 = "14h506d27g5j5c374dvw7iwn9sl0p7xp58kk95dacnpkzk0hv8yv"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; }) - (fetchNuGet { pname = "NuGet.CommandLine"; version = "4.4.1"; sha256 = "1szk5hbw22c1k5747dk95mzsy5vjw7qmvwv1wc9h080h9xzj9aab"; }) - (fetchNuGet { pname = "NVorbis"; version = "0.10.5"; sha256 = "0yiqqlb8mmnz04yq4iykkxq9np4m29z29bjwm5ic0adyq8fr4cnl"; }) - (fetchNuGet { pname = "OpenRA-Eluant"; version = "1.0.22"; sha256 = "134ar57v7k5i4zb7xl9j2f6abwjjhl5kwx3cap5zrb5jdfb1x42p"; }) - (fetchNuGet { pname = "OpenRA-Freetype6"; version = "1.0.11"; sha256 = "1gb1mpckj2ji64fyca6cd1lbl7adyfjl5czgvhllhgv5h2jfwir1"; }) - (fetchNuGet { pname = "OpenRA-FuzzyLogicLibrary"; version = "1.0.1"; sha256 = "0kn0b8491srbllkpqvvkml02dkixs18y5hgcalnpbw8l5kkmwvim"; }) - (fetchNuGet { pname = "OpenRA-OpenAL-CS"; version = "1.0.22"; sha256 = "05bxqdams1s4la5fqlsijzmja1wf59gcy5y04jh91996q9glkq1d"; }) - (fetchNuGet { pname = "OpenRA-SDL2-CS"; version = "1.0.40"; sha256 = "0ysrryn63akysiv92mh0mra87pd8l8zvahp8pbxsliapdfq2n2qk"; }) - (fetchNuGet { pname = "Pfim"; version = "0.11.2"; sha256 = "1mf91sfxa4c5xp5qmgyc85v84aprhgdy951f1f41xmygvmkk94mp"; }) - (fetchNuGet { pname = "rix0rrr.BeaconLib"; version = "1.0.2"; sha256 = "0f0yi7hp8v6jvhhv7k4whv8hqqxnx15nvbkll4f1ykaa1w2pr754"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; }) - (fetchNuGet { pname = "StyleCop.Analyzers"; version = "1.2.0-beta.435"; sha256 = "0dirz0av24ds2k7hgpss15y4wlhwlzz22qdjvkq0n3g3sxcckrsy"; }) - (fetchNuGet { pname = "StyleCop.Analyzers.Unstable"; version = "1.2.0.435"; sha256 = "1jv4ha4y2c9922n21yf2dvfkmi8qfa8z28gk5zsqdyck08izp9mh"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; }) - (fetchNuGet { pname = "TagLibSharp"; version = "2.3.0"; sha256 = "1z7v9lrkss1f8s42sclsq3az9zjihgmhyxnwhjyf0scgk1amngrw"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "DiscordRichPresence"; + version = "1.1.3.18"; + sha256 = "0p4bhaggjjfd4gl06yiphqgncxgcq2bws4sjkrw0n2ldf3hgrps3"; + }) + (fetchNuGet { + pname = "Linguini.Bundle"; + version = "0.5.0"; + sha256 = "0515ifvvqhmhwdf7kw1wpamxn588hi150v6b8p4jfmr07y1dc4ml"; + }) + (fetchNuGet { + pname = "Linguini.Shared"; + version = "0.5.0"; + sha256 = "1y45lf6ipa53469sdz110d16rxfyrkdr2xscgagwg07lr2833nbb"; + }) + (fetchNuGet { + pname = "Linguini.Syntax"; + version = "0.5.0"; + sha256 = "06438fc5mizi702n8d7pqa21n5i7kwl1bwzxfy1l883j9gh64gjp"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "6.0.0"; + sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.1"; + sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; + }) + (fetchNuGet { + pname = "Mono.Nat"; + version = "3.0.4"; + sha256 = "10zvyq60wy02q21dszrk1h3ww23b7bkgjxaapx1ans4d9nwsmlrm"; + }) + (fetchNuGet { + pname = "MP3Sharp"; + version = "1.0.5"; + sha256 = "14h506d27g5j5c374dvw7iwn9sl0p7xp58kk95dacnpkzk0hv8yv"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; + }) + (fetchNuGet { + pname = "NuGet.CommandLine"; + version = "4.4.1"; + sha256 = "1szk5hbw22c1k5747dk95mzsy5vjw7qmvwv1wc9h080h9xzj9aab"; + }) + (fetchNuGet { + pname = "NVorbis"; + version = "0.10.5"; + sha256 = "0yiqqlb8mmnz04yq4iykkxq9np4m29z29bjwm5ic0adyq8fr4cnl"; + }) + (fetchNuGet { + pname = "OpenRA-Eluant"; + version = "1.0.22"; + sha256 = "134ar57v7k5i4zb7xl9j2f6abwjjhl5kwx3cap5zrb5jdfb1x42p"; + }) + (fetchNuGet { + pname = "OpenRA-Freetype6"; + version = "1.0.11"; + sha256 = "1gb1mpckj2ji64fyca6cd1lbl7adyfjl5czgvhllhgv5h2jfwir1"; + }) + (fetchNuGet { + pname = "OpenRA-FuzzyLogicLibrary"; + version = "1.0.1"; + sha256 = "0kn0b8491srbllkpqvvkml02dkixs18y5hgcalnpbw8l5kkmwvim"; + }) + (fetchNuGet { + pname = "OpenRA-OpenAL-CS"; + version = "1.0.22"; + sha256 = "05bxqdams1s4la5fqlsijzmja1wf59gcy5y04jh91996q9glkq1d"; + }) + (fetchNuGet { + pname = "OpenRA-SDL2-CS"; + version = "1.0.40"; + sha256 = "0ysrryn63akysiv92mh0mra87pd8l8zvahp8pbxsliapdfq2n2qk"; + }) + (fetchNuGet { + pname = "Pfim"; + version = "0.11.2"; + sha256 = "1mf91sfxa4c5xp5qmgyc85v84aprhgdy951f1f41xmygvmkk94mp"; + }) + (fetchNuGet { + pname = "rix0rrr.BeaconLib"; + version = "1.0.2"; + sha256 = "0f0yi7hp8v6jvhhv7k4whv8hqqxnx15nvbkll4f1ykaa1w2pr754"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.2"; + sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; + }) + (fetchNuGet { + pname = "StyleCop.Analyzers"; + version = "1.2.0-beta.435"; + sha256 = "0dirz0av24ds2k7hgpss15y4wlhwlzz22qdjvkq0n3g3sxcckrsy"; + }) + (fetchNuGet { + pname = "StyleCop.Analyzers.Unstable"; + version = "1.2.0.435"; + sha256 = "1jv4ha4y2c9922n21yf2dvfkmi8qfa8z28gk5zsqdyck08izp9mh"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.4"; + sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Runtime.Loader"; + version = "4.3.0"; + sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "6.0.0"; + sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "6.0.0"; + sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Channels"; + version = "6.0.0"; + sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; + }) + (fetchNuGet { + pname = "TagLibSharp"; + version = "2.3.0"; + sha256 = "1z7v9lrkss1f8s42sclsq3az9zjihgmhyxnwhjyf0scgk1amngrw"; + }) ] diff --git a/pkgs/games/openra_2019/common.nix b/pkgs/games/openra_2019/common.nix index f04f0cf5078a9..a32f57d69e12d 100644 --- a/pkgs/games/openra_2019/common.nix +++ b/pkgs/games/openra_2019/common.nix @@ -1,12 +1,25 @@ -/* The reusable code, and package attributes, between OpenRA engine packages (engine.nix) - and out-of-tree mod packages (mod.nix). +/* + The reusable code, and package attributes, between OpenRA engine packages (engine.nix) + and out-of-tree mod packages (mod.nix). */ -{ lib, makeSetupHook, curl, unzip, dos2unix, pkg-config, makeWrapper -, lua, mono, python3 -, libGL, freetype, openal, SDL2 -# It is not necessary to run the game, but it is nicer to be given an error dialog in the case of failure, -# rather than having to look to the logs why it is not starting. -, zenity +{ + lib, + makeSetupHook, + curl, + unzip, + dos2unix, + pkg-config, + makeWrapper, + lua, + mono, + python3, + libGL, + freetype, + openal, + SDL2, + # It is not necessary to run the game, but it is nicer to be given an error dialog in the case of failure, + # rather than having to look to the logs why it is not starting. + zenity, }: let @@ -19,13 +32,25 @@ let platforms ; - path = makeBinPath ([ mono python3 ] ++ optional (zenity != null) zenity); - rpath = makeLibraryPath [ lua freetype openal SDL2 ]; + path = makeBinPath ( + [ + mono + python3 + ] + ++ optional (zenity != null) zenity + ); + rpath = makeLibraryPath [ + lua + freetype + openal + SDL2 + ]; mkdirp = makeSetupHook { name = "openra-mkdirp-hook"; } ./mkdirp.sh; -in { +in +{ patchEngine = dir: version: '' sed -i \ -e 's/^VERSION.*/VERSION = ${version}/g' \ @@ -70,7 +95,10 @@ in { dontStrip = true; meta = { - maintainers = with maintainers; [ fusion809 msteen ]; + maintainers = with maintainers; [ + fusion809 + msteen + ]; license = licenses.gpl3; platforms = platforms.linux; }; diff --git a/pkgs/games/openra_2019/default.nix b/pkgs/games/openra_2019/default.nix index 97cdb4335d2c3..77b2da8ad5250 100644 --- a/pkgs/games/openra_2019/default.nix +++ b/pkgs/games/openra_2019/default.nix @@ -1,69 +1,133 @@ -/* This file defines all OpenRA packages under `openraPackages`, - e.g. the OpenRA release engine can be found at `openraPackages.engines.release` (see `engines.nix`), - or the out-of-tree mod "Combined Arms" can be found at `openraPackages.mods.ca` (see `mods.nix`). - The `openra` package is just an alias to `openraPackages.engines.release`, - and just provides the mods included in the source code of the engine. - Additional engines or mods can be added with `openraPackages.buildOpenRAEngine` (function around `engine.nix`) - and `openraPackages.buildOpenRAMod` (function around `mod.nix`), respectively. +/* + This file defines all OpenRA packages under `openraPackages`, + e.g. the OpenRA release engine can be found at `openraPackages.engines.release` (see `engines.nix`), + or the out-of-tree mod "Combined Arms" can be found at `openraPackages.mods.ca` (see `mods.nix`). + The `openra` package is just an alias to `openraPackages.engines.release`, + and just provides the mods included in the source code of the engine. + Additional engines or mods can be added with `openraPackages.buildOpenRAEngine` (function around `engine.nix`) + and `openraPackages.buildOpenRAMod` (function around `mod.nix`), respectively. */ { pkgs, lib }: let - /* Building an engine or out-of-tree mod is very similar, - but different enough not to be able to build them with the same package definition, - so instaed we define what is common between them in a separate file. + /* + Building an engine or out-of-tree mod is very similar, + but different enough not to be able to build them with the same package definition, + so instaed we define what is common between them in a separate file. - Although `callPackage` could be used, it would require undoing `makeOverridable`, - because `common.nix` does not define a package, but just an attribute set, - which is directly passed as part of the argument to the engines and mods `callPackage`, - so either the attributes added by `makeOverridable` have to be removed - or the engine and mod package definitions will need to add `...` to the argument list. + Although `callPackage` could be used, it would require undoing `makeOverridable`, + because `common.nix` does not define a package, but just an attribute set, + which is directly passed as part of the argument to the engines and mods `callPackage`, + so either the attributes added by `makeOverridable` have to be removed + or the engine and mod package definitions will need to add `...` to the argument list. */ - common = let - f = import ./common.nix; - fArgs = lib.functionArgs f; - in f (builtins.intersectAttrs fArgs pkgs // { - lua = pkgs.lua5_1; - }); + common = + let + f = import ./common.nix; + fArgs = lib.functionArgs f; + in + f ( + builtins.intersectAttrs fArgs pkgs + // { + lua = pkgs.lua5_1; + } + ); - /* Building a set of engines or mods requires some dependencies as well, - so the sets will actually be defined as a function instead, - requiring the dependencies and returning the actual set. + /* + Building a set of engines or mods requires some dependencies as well, + so the sets will actually be defined as a function instead, + requiring the dependencies and returning the actual set. - Not all dependencies for defining a engine or mod set are shared, - so additional arguments can be passed as well. + Not all dependencies for defining a engine or mod set are shared, + so additional arguments can be passed as well. - The builders for engines and mods allow to delay specifying the name, - by returning a function that expects a name, which we use, in this case, - to base the name on the attribute name instead, preventing the need to specify the name twice - if the attribute name and engine/mod name are equal. + The builders for engines and mods allow to delay specifying the name, + by returning a function that expects a name, which we use, in this case, + to base the name on the attribute name instead, preventing the need to specify the name twice + if the attribute name and engine/mod name are equal. */ callWithName = name: value: if lib.isFunction value then value name else value; - buildOpenRASet = f: args: pkgs.recurseIntoAttrs (lib.mapAttrs callWithName (f ({ - inherit (pkgs) fetchFromGitHub; - postFetch = '' - sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh - $out/thirdparty/fetch-thirdparty-deps.sh - ''; - } // args))); + buildOpenRASet = + f: args: + pkgs.recurseIntoAttrs ( + lib.mapAttrs callWithName ( + f ( + { + inherit (pkgs) fetchFromGitHub; + postFetch = '' + sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh + $out/thirdparty/fetch-thirdparty-deps.sh + ''; + } + // args + ) + ) + ); -in pkgs.recurseIntoAttrs rec { +in +pkgs.recurseIntoAttrs rec { # The whole attribute set is destructered to ensure those (and only those) attributes are given # and to provide defaults for those that are optional. - buildOpenRAEngine = { name ? null, version, description, homepage, mods, src }@engine: + buildOpenRAEngine = + { + name ? null, + version, + description, + homepage, + mods, + src, + }@engine: # Allow specifying the name at a later point if no name has been given. - let builder = name: pkgs.callPackage ./engine.nix (common // { - engine = engine // { inherit name; }; - }); - in if name == null then builder else builder name; + let + builder = + name: + pkgs.callPackage ./engine.nix ( + common + // { + engine = engine // { + inherit name; + }; + } + ); + in + if name == null then builder else builder name; # See `buildOpenRAEngine`. - buildOpenRAMod = { name ? null, version, title, description, homepage, src, engine, assetsError ? "" }@mod: ({ version, mods ? [], src }@engine: - let builder = name: pkgs.callPackage ./mod.nix (common // { - mod = mod // { inherit name assetsError; }; - engine = engine // { inherit mods; }; - }); - in if name == null then builder else builder name) engine; + buildOpenRAMod = + { + name ? null, + version, + title, + description, + homepage, + src, + engine, + assetsError ? "", + }@mod: + ( + { + version, + mods ? [ ], + src, + }@engine: + let + builder = + name: + pkgs.callPackage ./mod.nix ( + common + // { + mod = mod // { + inherit name assetsError; + }; + engine = engine // { + inherit mods; + }; + } + ); + in + if name == null then builder else builder name + ) + engine; # See `buildOpenRASet`. engines = buildOpenRASet (import ./engines.nix) { inherit buildOpenRAEngine; }; diff --git a/pkgs/games/openra_2019/engine.nix b/pkgs/games/openra_2019/engine.nix index d63800be1e292..d5d79ede9a440 100644 --- a/pkgs/games/openra_2019/engine.nix +++ b/pkgs/games/openra_2019/engine.nix @@ -1,57 +1,68 @@ -/* The package defintion for an OpenRA engine. - It shares code with `mod.nix` by what is defined in `common.nix`. - Similar to `mod.nix` it is a generic package definition, - in order to make it easy to define multiple variants of the OpenRA engine. - For each mod provided by the engine, a wrapper script is created, - matching the naming convention used by `mod.nix`. - This package could be seen as providing a set of in-tree mods, - while the `mod.nix` pacakges provide a single out-of-tree mod. +/* + The package defintion for an OpenRA engine. + It shares code with `mod.nix` by what is defined in `common.nix`. + Similar to `mod.nix` it is a generic package definition, + in order to make it easy to define multiple variants of the OpenRA engine. + For each mod provided by the engine, a wrapper script is created, + matching the naming convention used by `mod.nix`. + This package could be seen as providing a set of in-tree mods, + while the `mod.nix` pacakges provide a single out-of-tree mod. */ -{ lib, stdenv -, packageAttrs -, patchEngine -, wrapLaunchGame -, engine +{ + lib, + stdenv, + packageAttrs, + patchEngine, + wrapLaunchGame, + engine, }: -stdenv.mkDerivation (lib.recursiveUpdate packageAttrs rec { - pname = "openra_2019"; - version = "${engine.name}-${engine.version}"; +stdenv.mkDerivation ( + lib.recursiveUpdate packageAttrs rec { + pname = "openra_2019"; + version = "${engine.name}-${engine.version}"; - src = engine.src; + src = engine.src; - postPatch = patchEngine "." version; + postPatch = patchEngine "." version; - configurePhase = '' - runHook preConfigure + configurePhase = '' + runHook preConfigure - make version VERSION=${lib.escapeShellArg version} + make version VERSION=${lib.escapeShellArg version} - runHook postConfigure - ''; + runHook postConfigure + ''; - buildFlags = [ "DEBUG=false" "default" "man-page" ]; + buildFlags = [ + "DEBUG=false" + "default" + "man-page" + ]; - checkTarget = "nunit test"; + checkTarget = "nunit test"; - installTargets = [ - "install" - "install-linux-icons" - "install-linux-desktop" - "install-linux-appdata" - "install-linux-mime" - "install-man-page" - ]; + installTargets = [ + "install" + "install-linux-icons" + "install-linux-desktop" + "install-linux-appdata" + "install-linux-mime" + "install-man-page" + ]; - postInstall = '' - ${wrapLaunchGame "" "openra"} + postInstall = '' + ${wrapLaunchGame "" "openra"} - ${lib.concatStrings (map (mod: '' - makeWrapper $out/bin/openra $out/bin/openra-${mod} --add-flags Game.Mod=${mod} - '') engine.mods)} - ''; + ${lib.concatStrings ( + map (mod: '' + makeWrapper $out/bin/openra $out/bin/openra-${mod} --add-flags Game.Mod=${mod} + '') engine.mods + )} + ''; - meta = { - inherit (engine) description homepage; - }; -}) + meta = { + inherit (engine) description homepage; + }; + } +) diff --git a/pkgs/games/openra_2019/engines.nix b/pkgs/games/openra_2019/engines.nix index bbb4947acd237..3bbce300cfa53 100644 --- a/pkgs/games/openra_2019/engines.nix +++ b/pkgs/games/openra_2019/engines.nix @@ -1,37 +1,59 @@ -{ buildOpenRAEngine, fetchFromGitHub, postFetch }: +{ + buildOpenRAEngine, + fetchFromGitHub, + postFetch, +}: let - buildUpstreamOpenRAEngine = { version, rev, sha256 }: name: (buildOpenRAEngine { - inherit version; - description = "Open-source re-implementation of Westwood Studios' 2D Command and Conquer games"; - homepage = "https://www.openra.net/"; - mods = [ "cnc" "d2k" "ra" "ts" ]; - src = fetchFromGitHub { - owner = "OpenRA"; - repo = "OpenRA" ; - inherit rev sha256 postFetch; - }; - } name).overrideAttrs (origAttrs: { - postInstall = '' - ${origAttrs.postInstall} - cp -r mods/ts $out/lib/openra/mods/ - cp mods/ts/icon.png $(mkdirp $out/share/pixmaps)/openra-ts.png - ( cd $out/share/applications; sed -e 's/Dawn/Sun/g' -e 's/cnc/ts/g' openra-cnc.desktop > openra-ts.desktop ) - ''; - }); + buildUpstreamOpenRAEngine = + { + version, + rev, + sha256, + }: + name: + (buildOpenRAEngine { + inherit version; + description = "Open-source re-implementation of Westwood Studios' 2D Command and Conquer games"; + homepage = "https://www.openra.net/"; + mods = [ + "cnc" + "d2k" + "ra" + "ts" + ]; + src = fetchFromGitHub { + owner = "OpenRA"; + repo = "OpenRA"; + inherit rev sha256 postFetch; + }; + } name).overrideAttrs + (origAttrs: { + postInstall = '' + ${origAttrs.postInstall} + cp -r mods/ts $out/lib/openra/mods/ + cp mods/ts/icon.png $(mkdirp $out/share/pixmaps)/openra-ts.png + ( cd $out/share/applications; sed -e 's/Dawn/Sun/g' -e 's/cnc/ts/g' openra-cnc.desktop > openra-ts.desktop ) + ''; + }); -in { - release = name: (buildUpstreamOpenRAEngine rec { - version = "20190314"; - rev = "${name}-${version}"; - sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; - } name); +in +{ + release = + name: + (buildUpstreamOpenRAEngine rec { + version = "20190314"; + rev = "${name}-${version}"; + sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; + } name); - playtest = name: (buildUpstreamOpenRAEngine rec { - version = "20190302"; - rev = "${name}-${version}"; - sha256 = "1vqvfk2p2lpk3m0d3rpvj34i8cmk3mfc7w4cn4llqd9zp4kk9pya"; - } name); + playtest = + name: + (buildUpstreamOpenRAEngine rec { + version = "20190302"; + rev = "${name}-${version}"; + sha256 = "1vqvfk2p2lpk3m0d3rpvj34i8cmk3mfc7w4cn4llqd9zp4kk9pya"; + } name); bleed = buildUpstreamOpenRAEngine { version = "8ee1102"; diff --git a/pkgs/games/openra_2019/mod.nix b/pkgs/games/openra_2019/mod.nix index 2f945b4b4ddcb..1241801e13c21 100644 --- a/pkgs/games/openra_2019/mod.nix +++ b/pkgs/games/openra_2019/mod.nix @@ -1,103 +1,117 @@ -/* The package defintion for an OpenRA out-of-tree mod. - It shares code with `engine.nix` by what is defined in `common.nix`. - To build an out-of-tree mod it needs the source code of the engine available, - and they each need to be build with a specific version or fork of the engine, - so the engine needs to be supplied as an argument as well. - The engine is relatively small and quick to build, so this is not much of a problem. - Building a mod will result in a wrapper script that starts the mod inside the specified engine. +/* + The package defintion for an OpenRA out-of-tree mod. + It shares code with `engine.nix` by what is defined in `common.nix`. + To build an out-of-tree mod it needs the source code of the engine available, + and they each need to be build with a specific version or fork of the engine, + so the engine needs to be supplied as an argument as well. + The engine is relatively small and quick to build, so this is not much of a problem. + Building a mod will result in a wrapper script that starts the mod inside the specified engine. */ -{ lib, stdenv -, packageAttrs -, patchEngine -, wrapLaunchGame -, mod -, engine +{ + lib, + stdenv, + packageAttrs, + patchEngine, + wrapLaunchGame, + mod, + engine, }: let engineSourceName = engine.src.name or "engine"; modSourceName = mod.src.name or "mod"; +in # Based on: https://build.opensuse.org/package/show/home:fusion809/openra-ura -in stdenv.mkDerivation (lib.recursiveUpdate packageAttrs rec { - name = "${pname}-${version}"; - pname = "openra_2019-${mod.name}"; - inherit (mod) version; - - srcs = [ - mod.src - engine.src - ]; - - sourceRoot = "."; - - postUnpack = '' - mv ${engineSourceName} ${modSourceName} - cd ${modSourceName} - ''; - - postPatch = '' - cat <<'EOF' > fetch-engine.sh - #!/bin/sh - exit 0 - EOF - - sed -i 's/^VERSION.*/VERSION = ${version}/g' Makefile - - dos2unix *.md - - ${patchEngine engineSourceName engine.version} - ''; - - configurePhase = '' - runHook preConfigure - - make version VERSION=${lib.escapeShellArg version} - make -C ${engineSourceName} version VERSION=${lib.escapeShellArg engine.version} - - runHook postConfigure - ''; - - checkTarget = "test"; - - installPhase = '' - runHook preInstall - - make -C ${engineSourceName} install-engine install-common-mod-files DATA_INSTALL_DIR=$out/lib/${pname} - - cp -r ${engineSourceName}/mods/{${lib.concatStringsSep "," ([ "common" "modcontent" ] ++ engine.mods)}} mods/* \ - $out/lib/${pname}/mods/ - - substitute ${./mod-launch-game.sh} $out/lib/openra_2019-${mod.name}/launch-game.sh \ - --subst-var out \ - --subst-var-by name ${lib.escapeShellArg mod.name} \ - --subst-var-by title ${lib.escapeShellArg mod.title} \ - --subst-var-by assetsError ${lib.escapeShellArg mod.assetsError} - chmod +x $out/lib/openra_2019-${mod.name}/launch-game.sh - - ${wrapLaunchGame "_2019-${mod.name}" "openra-${mod.name}"} - - substitute ${./openra-mod.desktop} $(mkdirp $out/share/applications)/${pname}.desktop \ - --subst-var-by name ${lib.escapeShellArg mod.name} \ - --subst-var-by title ${lib.escapeShellArg mod.title} \ - --subst-var-by description ${lib.escapeShellArg mod.description} - - cp README.md $(mkdirp $out/share/doc/packages/${pname})/README.md - - [[ -e mods/${mod.name}/icon.png ]] && mod_icon=mods/${mod.name}/icon.png || { - [[ -e mods/${mod.name}/logo.png ]] && mod_icon=mods/${mod.name}/logo.png || mod_icon=packaging/linux/mod_256x256.png - } - cp "$mod_icon" $(mkdirp $out/share/pixmaps)/${pname}.png - - for size in 16 32 48 64 128 256; do - size=''${size}x''${size} - cp packaging/linux/mod_''${size}.png $(mkdirp $out/share/icons/hicolor/''${size}/apps)/${pname}.png - done - - runHook postInstall - ''; - - meta = { - inherit (mod) description homepage; - }; -}) +stdenv.mkDerivation ( + lib.recursiveUpdate packageAttrs rec { + name = "${pname}-${version}"; + pname = "openra_2019-${mod.name}"; + inherit (mod) version; + + srcs = [ + mod.src + engine.src + ]; + + sourceRoot = "."; + + postUnpack = '' + mv ${engineSourceName} ${modSourceName} + cd ${modSourceName} + ''; + + postPatch = '' + cat <<'EOF' > fetch-engine.sh + #!/bin/sh + exit 0 + EOF + + sed -i 's/^VERSION.*/VERSION = ${version}/g' Makefile + + dos2unix *.md + + ${patchEngine engineSourceName engine.version} + ''; + + configurePhase = '' + runHook preConfigure + + make version VERSION=${lib.escapeShellArg version} + make -C ${engineSourceName} version VERSION=${lib.escapeShellArg engine.version} + + runHook postConfigure + ''; + + checkTarget = "test"; + + installPhase = '' + runHook preInstall + + make -C ${engineSourceName} install-engine install-common-mod-files DATA_INSTALL_DIR=$out/lib/${pname} + + cp -r ${engineSourceName}/mods/{${ + lib.concatStringsSep "," ( + [ + "common" + "modcontent" + ] + ++ engine.mods + ) + }} mods/* \ + $out/lib/${pname}/mods/ + + substitute ${./mod-launch-game.sh} $out/lib/openra_2019-${mod.name}/launch-game.sh \ + --subst-var out \ + --subst-var-by name ${lib.escapeShellArg mod.name} \ + --subst-var-by title ${lib.escapeShellArg mod.title} \ + --subst-var-by assetsError ${lib.escapeShellArg mod.assetsError} + chmod +x $out/lib/openra_2019-${mod.name}/launch-game.sh + + ${wrapLaunchGame "_2019-${mod.name}" "openra-${mod.name}"} + + substitute ${./openra-mod.desktop} $(mkdirp $out/share/applications)/${pname}.desktop \ + --subst-var-by name ${lib.escapeShellArg mod.name} \ + --subst-var-by title ${lib.escapeShellArg mod.title} \ + --subst-var-by description ${lib.escapeShellArg mod.description} + + cp README.md $(mkdirp $out/share/doc/packages/${pname})/README.md + + [[ -e mods/${mod.name}/icon.png ]] && mod_icon=mods/${mod.name}/icon.png || { + [[ -e mods/${mod.name}/logo.png ]] && mod_icon=mods/${mod.name}/logo.png || mod_icon=packaging/linux/mod_256x256.png + } + cp "$mod_icon" $(mkdirp $out/share/pixmaps)/${pname}.png + + for size in 16 32 48 64 128 256; do + size=''${size}x''${size} + cp packaging/linux/mod_''${size}.png $(mkdirp $out/share/icons/hicolor/''${size}/apps)/${pname}.png + done + + runHook postInstall + ''; + + meta = { + inherit (mod) description homepage; + }; + } +) diff --git a/pkgs/games/openra_2019/mods.nix b/pkgs/games/openra_2019/mods.nix index 47e86fd09a7d2..a9f95d0f25c81 100644 --- a/pkgs/games/openra_2019/mods.nix +++ b/pkgs/games/openra_2019/mods.nix @@ -1,11 +1,18 @@ -{ buildOpenRAMod, fetchFromGitHub, postFetch }: +{ + buildOpenRAMod, + fetchFromGitHub, + postFetch, +}: let - unsafeBuildOpenRAMod = attrs: name: (buildOpenRAMod attrs name).overrideAttrs (_: { - doCheck = false; - }); + unsafeBuildOpenRAMod = + attrs: name: + (buildOpenRAMod attrs name).overrideAttrs (_: { + doCheck = false; + }); -in { +in +{ ca = buildOpenRAMod { version = "96.git.fc3cf0b"; title = "Combined Arms"; @@ -21,7 +28,7 @@ in { version = "b8a7dd5"; src = fetchFromGitHub { owner = "Inq8"; - repo = "CAengine" ; + repo = "CAengine"; rev = "b8a7dd52ff893ed8225726d4ed4e14ecad748404"; sha256 = "0dyk861qagibx8ldshz7d2nrki9q550f6f0wy8pvayvf1gv1dbxj"; name = "engine"; @@ -43,10 +50,14 @@ in { }; engine = rec { version = "release-20181215"; - mods = [ "cnc" "d2k" "ra" ]; + mods = [ + "cnc" + "d2k" + "ra" + ]; src = fetchFromGitHub { owner = "OpenRA"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = version; sha256 = "0p0izykjnz7pz02g2khp7msqa00jhjsrzk9y0g29dirmdv75qa4r"; name = "engine"; @@ -74,7 +85,7 @@ in { version = "DarkReign"; src = fetchFromGitHub { owner = "drogoganor"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = "f91d3f2603bbf51afaa89357e4defcdc36138102"; sha256 = "05g900ri6q0zrkrk8rmjaz576vjggmi2y6jm0xz3cwli54prn11w"; name = "engine"; @@ -98,7 +109,7 @@ in { version = "gen-20190128_3"; src = fetchFromGitHub { owner = "MustaphaTR"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = version; sha256 = "1x6byz37s8qcpqj902zvkvbv95rv2mv2kj35c12gbpyc92xkqkq0"; name = "generals-alpha-engine"; @@ -107,35 +118,41 @@ in { }; }; - kknd = let version = "145.git.5530bab"; in name: (buildOpenRAMod rec { - inherit version; - title = "Krush, Kill 'n' Destroy"; - description = "Re-imagination of the original ${title} game"; - homepage = "https://kknd-game.com/"; - src = fetchFromGitHub { - owner = "IceReaper"; - repo = "KKnD"; - rev = "5530babcb05170e0959e4cf2b079161e9fedde4f"; - sha256 = "07jczrarmgm6zdk0myzwgq200x19yvpjyxrnhdac08mjgyz75zk1"; - }; - engine = { - version = "4e8eab4ca00d1910203c8a103dfd2c002714daa8"; + kknd = + let + version = "145.git.5530bab"; + in + name: + (buildOpenRAMod rec { + inherit version; + title = "Krush, Kill 'n' Destroy"; + description = "Re-imagination of the original ${title} game"; + homepage = "https://kknd-game.com/"; src = fetchFromGitHub { owner = "IceReaper"; - repo = "OpenRA" ; - # commit does not exist on any branch on the target repository - rev = "4e8eab4ca00d1910203c8a103dfd2c002714daa8"; - sha256 = "1yyqparf93x8yzy1f46gsymgkj5jls25v2yc7ighr3f7mi3igdvq"; - name = "engine"; - inherit postFetch; + repo = "KKnD"; + rev = "5530babcb05170e0959e4cf2b079161e9fedde4f"; + sha256 = "07jczrarmgm6zdk0myzwgq200x19yvpjyxrnhdac08mjgyz75zk1"; }; - }; - } name).overrideAttrs (origAttrs: { - postPatch = '' - ${origAttrs.postPatch} - sed -i 's/{DEV_VERSION}/${version}/' mods/*/mod.yaml - ''; - }); + engine = { + version = "4e8eab4ca00d1910203c8a103dfd2c002714daa8"; + src = fetchFromGitHub { + owner = "IceReaper"; + repo = "OpenRA"; + # commit does not exist on any branch on the target repository + rev = "4e8eab4ca00d1910203c8a103dfd2c002714daa8"; + sha256 = "1yyqparf93x8yzy1f46gsymgkj5jls25v2yc7ighr3f7mi3igdvq"; + name = "engine"; + inherit postFetch; + }; + }; + } name).overrideAttrs + (origAttrs: { + postPatch = '' + ${origAttrs.postPatch} + sed -i 's/{DEV_VERSION}/${version}/' mods/*/mod.yaml + ''; + }); mw = buildOpenRAMod rec { version = "257.git.c9be8f2"; @@ -152,7 +169,7 @@ in { version = "MedievalWarfareEngine"; src = fetchFromGitHub { owner = "CombinE88"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = "52109c0910f479753704c46fb19e8afaab353c83"; sha256 = "0ga3855j6bc7h81q03cw6laiaiz12915zg8aqah1idvxbzicfy7l"; name = "engine"; @@ -176,7 +193,7 @@ in { version = "release-20180923"; src = fetchFromGitHub { owner = "OpenRA"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = version; sha256 = "1pgi3zaq9fwwdq6yh19bwxscslqgabjxkvl9bcn1a5agy4bfbqk5"; name = "engine"; @@ -204,7 +221,7 @@ in { version = "release-20190314"; src = fetchFromGitHub { owner = "OpenRA"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = version; sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; name = "engine"; @@ -255,10 +272,13 @@ in { }; engine = { version = "SP-22-04-19"; - mods = [ "as" "ts" ]; + mods = [ + "as" + "ts" + ]; src = fetchFromGitHub { owner = "ABrandau"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = "bb0930008a57c07f3002421023f6b446e3e3af69"; sha256 = "1jvgpbf56hd02ikhklv49br4d1jiv5hphc5kl79qnjlaacnj222x"; name = "engine"; @@ -282,7 +302,7 @@ in { version = "6de92de"; src = fetchFromGitHub { owner = "OpenRA"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = "6de92de8d982094a766eab97a92225c240d85493"; sha256 = "0ps9x379plrrj1hnj4fpr26lc46mzgxknv5imxi0bmrh5y4781ql"; name = "engine"; @@ -306,7 +326,7 @@ in { version = "unplugged-cd82382"; src = fetchFromGitHub { owner = "RAunplugged"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = version; sha256 = "1p5hgxxvxlz8480vj0qkmnxjh7zj3hahk312m0zljxfdb40652w1"; name = "engine"; @@ -330,7 +350,7 @@ in { version = "release-20190314"; src = fetchFromGitHub { owner = "OpenRA"; - repo = "OpenRA" ; + repo = "OpenRA"; rev = version; sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; name = "engine"; diff --git a/pkgs/games/openra_2019/packages.nix b/pkgs/games/openra_2019/packages.nix index a88bfd14e2e3e..b38225464d861 100644 --- a/pkgs/games/openra_2019/packages.nix +++ b/pkgs/games/openra_2019/packages.nix @@ -1,55 +1,120 @@ pkgs: let - /* Building an engine or out-of-tree mod is very similar, - but different enough not to be able to build them with the same package definition, - so instaed we define what is common between them in a separate file. - - Although `callPackage` could be used, it would require undoing `makeOverridable`, - because `common.nix` does not define a package, but just an attribute set, - which is directly passed as part of the argument to the engines and mods `callPackage`, - so either the attributes added by `makeOverridable` have to be removed - or the engine and mod package definitions will need to add `...` to the argument list. + /* + Building an engine or out-of-tree mod is very similar, + but different enough not to be able to build them with the same package definition, + so instaed we define what is common between them in a separate file. + + Although `callPackage` could be used, it would require undoing `makeOverridable`, + because `common.nix` does not define a package, but just an attribute set, + which is directly passed as part of the argument to the engines and mods `callPackage`, + so either the attributes added by `makeOverridable` have to be removed + or the engine and mod package definitions will need to add `...` to the argument list. */ - common = let f = import ./common.nix; in f (builtins.intersectAttrs (builtins.functionArgs f) pkgs // { - lua = pkgs.lua5_1; - }); + common = + let + f = import ./common.nix; + in + f ( + builtins.intersectAttrs (builtins.functionArgs f) pkgs + // { + lua = pkgs.lua5_1; + } + ); - /* Building a set of engines or mods requires some dependencies as well, - so the sets will actually be defined as a function instead, - requiring the dependencies and returning the actual set. + /* + Building a set of engines or mods requires some dependencies as well, + so the sets will actually be defined as a function instead, + requiring the dependencies and returning the actual set. - Not all dependencies for defining a engine or mod set are shared, - so additional arguments can be passed as well. + Not all dependencies for defining a engine or mod set are shared, + so additional arguments can be passed as well. - The builders for engines and mods allow to delay specifying the name, - by returning a function that expects a name, which we use, in this case, - to base the name on the attribute name instead, preventing the need to specify the name twice - if the attribute name and engine/mod name are equal. + The builders for engines and mods allow to delay specifying the name, + by returning a function that expects a name, which we use, in this case, + to base the name on the attribute name instead, preventing the need to specify the name twice + if the attribute name and engine/mod name are equal. */ - buildOpenRASet = f: args: builtins.mapAttrs (name: value: if builtins.isFunction value then value name else value) (f ({ - inherit (pkgs) fetchFromGitHub; - postFetch = '' - sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh - $out/thirdparty/fetch-thirdparty-deps.sh - ''; - } // args)); - -in rec { + buildOpenRASet = + f: args: + builtins.mapAttrs (name: value: if builtins.isFunction value then value name else value) ( + f ( + { + inherit (pkgs) fetchFromGitHub; + postFetch = '' + sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh + $out/thirdparty/fetch-thirdparty-deps.sh + ''; + } + // args + ) + ); + +in +rec { # The whole attribute set is destructered to ensure those (and only those) attributes are given # and to provide defaults for those that are optional. - buildOpenRAEngine = { name ? null, version, description, homepage, mods, src, installExperimental ? "" }@engine: + buildOpenRAEngine = + { + name ? null, + version, + description, + homepage, + mods, + src, + installExperimental ? "", + }@engine: # Allow specifying the name at a later point if no name has been given. - let builder = name: pkgs.callPackage ./engine.nix (common // { - engine = engine // { inherit name installExperimental; }; - }); in if name == null then builder else builder name; + let + builder = + name: + pkgs.callPackage ./engine.nix ( + common + // { + engine = engine // { + inherit name installExperimental; + }; + } + ); + in + if name == null then builder else builder name; # See `buildOpenRAEngine`. - buildOpenRAMod = { name ? null, version, title, description, homepage, src, engine }@mod: ({ version, mods ? [], src }@engine: - let builder = name: pkgs.callPackage ./mod.nix (common // { - mod = mod // { inherit name; }; - engine = engine // { inherit mods; }; - }); in if name == null then builder else builder name) engine; + buildOpenRAMod = + { + name ? null, + version, + title, + description, + homepage, + src, + engine, + }@mod: + ( + { + version, + mods ? [ ], + src, + }@engine: + let + builder = + name: + pkgs.callPackage ./mod.nix ( + common + // { + mod = mod // { + inherit name; + }; + engine = engine // { + inherit mods; + }; + } + ); + in + if name == null then builder else builder name + ) + engine; # See `buildOpenRASet`. engines = buildOpenRASet (import ./engines.nix) { inherit buildOpenRAEngine; }; diff --git a/pkgs/games/openrw/default.nix b/pkgs/games/openrw/default.nix index d2d86226af261..fdec4d1fe7700 100644 --- a/pkgs/games/openrw/default.nix +++ b/pkgs/games/openrw/default.nix @@ -1,20 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, sfml -, libGLU -, libGL -, bullet -, glm -, libmad -, openal -, SDL2 -, boost -, ffmpeg_6 -, Cocoa -, OpenAL }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + sfml, + libGLU, + libGL, + bullet, + glm, + libmad, + openal, + SDL2, + boost, + ffmpeg_6, + Cocoa, + OpenAL, +}: stdenv.mkDerivation { version = "0-unstable-2024-04-20"; @@ -34,16 +36,33 @@ stdenv.mkDerivation { ./fix-ffmpeg-6.patch ]; - postPatch = lib.optional (stdenv.cc.isClang && (lib.versionAtLeast stdenv.cc.version "9"))'' + postPatch = lib.optional (stdenv.cc.isClang && (lib.versionAtLeast stdenv.cc.version "9")) '' substituteInPlace cmake_configure.cmake \ --replace 'target_link_libraries(rw_interface INTERFACE "stdc++fs")' "" ''; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ + cmake + ninja + ]; - buildInputs = [ - sfml libGLU libGL bullet glm libmad openal SDL2 boost ffmpeg_6 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenAL Cocoa ]; + buildInputs = + [ + sfml + libGLU + libGL + bullet + glm + libmad + openal + SDL2 + boost + ffmpeg_6 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + OpenAL + Cocoa + ]; meta = with lib; { description = "Unofficial open source recreation of the classic Grand Theft Auto III game executable"; diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 9276e094853d3..4a5e155141244 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -1,11 +1,43 @@ -{ lib, stdenv, fetchzip, cmake, pkg-config -, SDL2, libpng, zlib, xz, freetype, fontconfig -, nlohmann_json, curl, icu, harfbuzz, expat, glib, pcre2 -, withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true -, withFluidSynth ? true, audioDriver ? "alsa" -, fluidsynth, soundfont-fluid, libsndfile -, flac, libogg, libvorbis, libopus, libmpg123, pulseaudio, alsa-lib, libjack2 -, procps, writeScriptBin, makeWrapper, runtimeShell }: +{ + lib, + stdenv, + fetchzip, + cmake, + pkg-config, + SDL2, + libpng, + zlib, + xz, + freetype, + fontconfig, + nlohmann_json, + curl, + icu, + harfbuzz, + expat, + glib, + pcre2, + withOpenGFX ? true, + withOpenSFX ? true, + withOpenMSX ? true, + withFluidSynth ? true, + audioDriver ? "alsa", + fluidsynth, + soundfont-fluid, + libsndfile, + flac, + libogg, + libvorbis, + libopus, + libmpg123, + pulseaudio, + alsa-lib, + libjack2, + procps, + writeScriptBin, + makeWrapper, + runtimeShell, +}: let opengfx = fetchzip { @@ -39,14 +71,40 @@ stdenv.mkDerivation rec { hash = "sha256-YT4IE/rJ9pnpeMWKbOra6AbSUwW19RwOKlXkxwoMeKY="; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; - buildInputs = [ - SDL2 libpng xz zlib freetype fontconfig - nlohmann_json curl icu harfbuzz expat glib pcre2 - ] ++ lib.optionals withFluidSynth [ - fluidsynth soundfont-fluid libsndfile - flac libogg libvorbis libopus libmpg123 pulseaudio alsa-lib libjack2 + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper ]; + buildInputs = + [ + SDL2 + libpng + xz + zlib + freetype + fontconfig + nlohmann_json + curl + icu + harfbuzz + expat + glib + pcre2 + ] + ++ lib.optionals withFluidSynth [ + fluidsynth + soundfont-fluid + libsndfile + flac + libogg + libvorbis + libopus + libmpg123 + pulseaudio + alsa-lib + libjack2 + ]; prefixKey = "--prefix-dir="; @@ -95,6 +153,9 @@ stdenv.mkDerivation rec { changelog = "https://cdn.openttd.org/openttd-releases/${version}/changelog.txt"; license = licenses.gpl2Only; platforms = platforms.linux; - maintainers = with maintainers; [ jcumming fpletz ]; + maintainers = with maintainers; [ + jcumming + fpletz + ]; }; } diff --git a/pkgs/games/openttd/grfcodec.nix b/pkgs/games/openttd/grfcodec.nix index af4e315374637..e9d559793adf3 100644 --- a/pkgs/games/openttd/grfcodec.nix +++ b/pkgs/games/openttd/grfcodec.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, boost, cmake, git }: +{ + stdenv, + lib, + fetchFromGitHub, + boost, + cmake, + git, +}: stdenv.mkDerivation rec { pname = "openttd-grfcodec"; @@ -11,8 +18,11 @@ stdenv.mkDerivation rec { sha256 = "0b4xnnkqc01d3r834lhkq744ymar6c8iyxk51wc4c7hvz0vp9vmy"; }; - buildInputs = [boost]; - nativeBuildInputs = [cmake git]; + buildInputs = [ boost ]; + nativeBuildInputs = [ + cmake + git + ]; installPhase = '' mkdir -p $out/bin @@ -21,8 +31,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Low-level (dis)assembler and linter for OpenTTD GRF files"; - homepage = "http://openttd.org/"; - license = licenses.gpl2Plus; + homepage = "http://openttd.org/"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ ToxicFrog ]; }; } diff --git a/pkgs/games/openttd/nml.nix b/pkgs/games/openttd/nml.nix index da4a387a7d4fc..b2ce587d1aa4c 100644 --- a/pkgs/games/openttd/nml.nix +++ b/pkgs/games/openttd/nml.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix index 2af9368640afd..920786ab93a45 100644 --- a/pkgs/games/openxcom/default.nix +++ b/pkgs/games/openxcom/default.nix @@ -1,18 +1,19 @@ -{ boost -, cmake -, fetchFromGitHub -, lib -, libGLU -, libGL -, openssl -, pkg-config -, SDL -, SDL_image -, SDL_mixer -, SDL_gfx -, stdenv -, yaml-cpp -, zlib +{ + boost, + cmake, + fetchFromGitHub, + lib, + libGLU, + libGL, + openssl, + pkg-config, + SDL, + SDL_image, + SDL_mixer, + SDL_gfx, + stdenv, + yaml-cpp, + zlib, }: stdenv.mkDerivation { diff --git a/pkgs/games/openxray/default.nix b/pkgs/games/openxray/default.nix index 8bcedac52ad35..5d761fbf7f71b 100644 --- a/pkgs/games/openxray/default.nix +++ b/pkgs/games/openxray/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, gitUpdater -, cmake -, glew -, liblockfile -, openal -, libtheora -, SDL2 -, lzo -, libjpeg -, libogg -, pcre -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + cmake, + glew, + liblockfile, + openal, + libtheora, + SDL2, + lzo, + libjpeg, + libogg, + pcre, + makeWrapper, }: stdenv.mkDerivation (finalAttrs: { @@ -71,6 +72,12 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/OpenXRay/xray-16/blob/${finalAttrs.version}/License.txt"; }; maintainers = with maintainers; [ OPNA2608 ]; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; }; }) diff --git a/pkgs/games/orthorobot/default.nix b/pkgs/games/orthorobot/default.nix index bd491ce5c9137..5278cd20c6e12 100644 --- a/pkgs/games/orthorobot/default.nix +++ b/pkgs/games/orthorobot/default.nix @@ -1,14 +1,15 @@ -{ lib -, copyDesktopItems -, fetchFromGitHub -, fetchpatch -, fetchurl -, love -, makeDesktopItem -, makeWrapper -, stdenv -, strip-nondeterminism -, zip +{ + lib, + copyDesktopItems, + fetchFromGitHub, + fetchpatch, + fetchurl, + love, + makeDesktopItem, + makeWrapper, + stdenv, + strip-nondeterminism, + zip, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/papermc/default.nix b/pkgs/games/papermc/default.nix index 037b307c6df37..0fd50af5b1c22 100644 --- a/pkgs/games/papermc/default.nix +++ b/pkgs/games/papermc/default.nix @@ -5,13 +5,14 @@ in let latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions)); escapeVersion = builtins.replaceStrings [ "." ] [ "_" ]; - packages = lib.mapAttrs' - (version: value: { - name = "papermc-${escapeVersion version}"; - value = callPackage ./derivation.nix { inherit (value) version hash; }; - }) - versions; + packages = lib.mapAttrs' (version: value: { + name = "papermc-${escapeVersion version}"; + value = callPackage ./derivation.nix { inherit (value) version hash; }; + }) versions; in -lib.recurseIntoAttrs (packages // { - papermc = builtins.getAttr "papermc-${escapeVersion latestVersion}" packages; -}) +lib.recurseIntoAttrs ( + packages + // { + papermc = builtins.getAttr "papermc-${escapeVersion latestVersion}" packages; + } +) diff --git a/pkgs/games/papermc/derivation.nix b/pkgs/games/papermc/derivation.nix index c7ad650d00f69..90041b5642f27 100644 --- a/pkgs/games/papermc/derivation.nix +++ b/pkgs/games/papermc/derivation.nix @@ -1,4 +1,13 @@ -{ lib, stdenvNoCC, fetchurl, makeBinaryWrapper, jre, version, hash, udev }: +{ + lib, + stdenvNoCC, + fetchurl, + makeBinaryWrapper, + jre, + version, + hash, + udev, +}: stdenvNoCC.mkDerivation (finalAttrs: { pname = "papermc"; @@ -45,7 +54,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.gpl3Only; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ aaronjanse neonfuz MayNiklas ]; + maintainers = with lib.maintainers; [ + aaronjanse + neonfuz + MayNiklas + ]; mainProgram = "minecraft-server"; }; }) diff --git a/pkgs/games/pegasus-frontend/default.nix b/pkgs/games/pegasus-frontend/default.nix index be763bc6ae726..de566c43e6a81 100644 --- a/pkgs/games/pegasus-frontend/default.nix +++ b/pkgs/games/pegasus-frontend/default.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, stdenv -, cmake -, qtbase -, qtgraphicaleffects -, qtmultimedia -, qtsvg -, qttools -, qtx11extras -, SDL2 -, sqlite -, wrapQtAppsHook +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + qtbase, + qtgraphicaleffects, + qtmultimedia, + qtsvg, + qttools, + qtx11extras, + SDL2, + sqlite, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/pentobi/default.nix b/pkgs/games/pentobi/default.nix index 4974deca7e5ef..cbcddf570b032 100644 --- a/pkgs/games/pentobi/default.nix +++ b/pkgs/games/pentobi/default.nix @@ -1,5 +1,19 @@ -{ lib, mkDerivation, appstream, fetchFromGitHub, cmake, gettext, libxslt, librsvg, itstool -, qtbase, qtquickcontrols2, qtsvg, qttools, qtwebview, docbook_xsl +{ + lib, + mkDerivation, + appstream, + fetchFromGitHub, + cmake, + gettext, + libxslt, + librsvg, + itstool, + qtbase, + qtquickcontrols2, + qtsvg, + qttools, + qtwebview, + docbook_xsl, }: mkDerivation rec { @@ -13,8 +27,20 @@ mkDerivation rec { sha256 = "sha256-DQM3IJ0pRkX4OsrjZGROg50LfKb621UnpvtqSjxchz8="; }; - nativeBuildInputs = [ cmake docbook_xsl qttools ]; - buildInputs = [ appstream qtbase qtsvg qtquickcontrols2 qtwebview itstool librsvg ]; + nativeBuildInputs = [ + cmake + docbook_xsl + qttools + ]; + buildInputs = [ + appstream + qtbase + qtsvg + qtquickcontrols2 + qtwebview + itstool + librsvg + ]; patchPhase = '' substituteInPlace pentobi_thumbnailer/CMakeLists.txt --replace "/manpages" "/share/xml/docbook-xsl/manpages/" diff --git a/pkgs/games/pokerth/default.nix b/pkgs/games/pokerth/default.nix index 05b8fd7e58af8..f8ef4e598d0fc 100644 --- a/pkgs/games/pokerth/default.nix +++ b/pkgs/games/pokerth/default.nix @@ -1,7 +1,23 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake, qtbase -, SDL, SDL_mixer, boost, curl, gsasl, libgcrypt, libircclient, protobuf, sqlite -, wrapQtAppsHook -, tinyxml2, target ? "client" }: +{ + lib, + mkDerivation, + fetchFromGitHub, + fetchpatch, + qmake, + qtbase, + SDL, + SDL_mixer, + boost, + curl, + gsasl, + libgcrypt, + libircclient, + protobuf, + sqlite, + wrapQtAppsHook, + tinyxml2, + target ? "client", +}: mkDerivation rec { pname = "pokerth-${target}"; @@ -41,7 +57,10 @@ mkDerivation rec { done ''; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; buildInputs = [ SDL diff --git a/pkgs/games/pro-office-calculator/default.nix b/pkgs/games/pro-office-calculator/default.nix index f345d4b5d5848..88894e2fb99d1 100644 --- a/pkgs/games/pro-office-calculator/default.nix +++ b/pkgs/games/pro-office-calculator/default.nix @@ -1,16 +1,28 @@ -{ mkDerivation, lib, fetchFromGitHub, tinyxml-2, cmake, qtbase, qtmultimedia }: +{ + mkDerivation, + lib, + fetchFromGitHub, + tinyxml-2, + cmake, + qtbase, + qtmultimedia, +}: mkDerivation rec { version = "1.0.13"; pname = "pro-office-calculator"; src = fetchFromGitHub { - owner = "RobJinman"; - repo = "pro_office_calc"; - rev = "v${version}"; + owner = "RobJinman"; + repo = "pro_office_calc"; + rev = "v${version}"; sha256 = "1v75cysargmp4fk7px5zgib1p6h5ya4w39rndbzk614fcnv0iipd"; }; - buildInputs = [ qtbase qtmultimedia tinyxml-2 ]; + buildInputs = [ + qtbase + qtmultimedia + tinyxml-2 + ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/games/qgo/default.nix b/pkgs/games/qgo/default.nix index 9c688a37d263e..68b4a9325b381 100644 --- a/pkgs/games/qgo/default.nix +++ b/pkgs/games/qgo/default.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, qmake -, qtbase -, qtmultimedia -, qttools +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + qtmultimedia, + qttools, }: mkDerivation { @@ -42,6 +43,12 @@ mkDerivation { postPatch = '' sed -i 's|@out@|'"''${out}"'|g' src/src.pro src/defines.h ''; - nativeBuildInputs = [ qmake qttools ]; - buildInputs = [ qtbase qtmultimedia ]; + nativeBuildInputs = [ + qmake + qttools + ]; + buildInputs = [ + qtbase + qtmultimedia + ]; } diff --git a/pkgs/games/qtads/default.nix b/pkgs/games/qtads/default.nix index 2d5ae31814e02..4de706b5c50dc 100644 --- a/pkgs/games/qtads/default.nix +++ b/pkgs/games/qtads/default.nix @@ -1,5 +1,15 @@ -{ lib, mkDerivation, fetchFromGitHub, pkg-config, qmake -, SDL2, fluidsynth, libsndfile, libvorbis, mpg123, qtbase +{ + lib, + mkDerivation, + fetchFromGitHub, + pkg-config, + qmake, + SDL2, + fluidsynth, + libsndfile, + libvorbis, + mpg123, + qtbase, }: mkDerivation rec { @@ -13,9 +23,19 @@ mkDerivation rec { sha256 = "sha256-KIqufpvl7zeUtDBXUOAZxBIbfv+s51DoSaZr3jol+bw="; }; - nativeBuildInputs = [ pkg-config qmake ]; + nativeBuildInputs = [ + pkg-config + qmake + ]; - buildInputs = [ SDL2 fluidsynth libsndfile libvorbis mpg123 qtbase ]; + buildInputs = [ + SDL2 + fluidsynth + libsndfile + libvorbis + mpg123 + qtbase + ]; meta = with lib; { homepage = "https://realnc.github.io/qtads/"; diff --git a/pkgs/games/quake2/yquake2/default.nix b/pkgs/games/quake2/yquake2/default.nix index 63e07c040455a..08d3c3e40dbef 100644 --- a/pkgs/games/quake2/yquake2/default.nix +++ b/pkgs/games/quake2/yquake2/default.nix @@ -1,7 +1,18 @@ -{ stdenv, lib, fetchFromGitHub, buildEnv, makeWrapper, copyDesktopItems, makeDesktopItem -, SDL2, libGL, curl -, openalSupport ? true, openal -, Cocoa, OpenAL +{ + stdenv, + lib, + fetchFromGitHub, + buildEnv, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + SDL2, + libGL, + curl, + openalSupport ? true, + openal, + Cocoa, + OpenAL, }: let @@ -9,7 +20,17 @@ let games = import ./games.nix { inherit stdenv lib fetchFromGitHub; }; - wrapper = import ./wrapper.nix { inherit stdenv lib buildEnv makeWrapper yquake2 copyDesktopItems makeDesktopItem; }; + wrapper = import ./wrapper.nix { + inherit + stdenv + lib + buildEnv + makeWrapper + yquake2 + copyDesktopItems + makeDesktopItem + ; + }; yquake2 = stdenv.mkDerivation rec { pname = "yquake2"; @@ -18,20 +39,30 @@ let src = fetchFromGitHub { owner = "yquake2"; repo = "yquake2"; - rev = "QUAKE2_${builtins.replaceStrings ["."] ["_"] version}"; + rev = "QUAKE2_${builtins.replaceStrings [ "." ] [ "_" ] version}"; sha256 = "sha256-8xvY8XYZJa/gAVcxR+ffpE8naUTbGyM8AyAdpG6nKtA="; }; - postPatch = '' - substituteInPlace src/client/curl/qcurl.c \ - --replace "\"libcurl.so.3\", \"libcurl.so.4\"" "\"${curl.out}/lib/libcurl.so\", \"libcurl.so.3\", \"libcurl.so.4\"" - '' + lib.optionalString (openalSupport && !stdenv.hostPlatform.isDarwin) '' - substituteInPlace Makefile \ - --replace "\"libopenal.so.1\"" "\"${openal}/lib/libopenal.so.1\"" - ''; - - buildInputs = [ SDL2 libGL curl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa OpenAL ] + postPatch = + '' + substituteInPlace src/client/curl/qcurl.c \ + --replace "\"libcurl.so.3\", \"libcurl.so.4\"" "\"${curl.out}/lib/libcurl.so\", \"libcurl.so.3\", \"libcurl.so.4\"" + '' + + lib.optionalString (openalSupport && !stdenv.hostPlatform.isDarwin) '' + substituteInPlace Makefile \ + --replace "\"libopenal.so.1\"" "\"${openal}/lib/libopenal.so.1\"" + ''; + + buildInputs = + [ + SDL2 + libGL + curl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + OpenAL + ] ++ lib.optional openalSupport openal; makeFlags = [ @@ -57,14 +88,19 @@ let runHook postInstall ''; - desktopItems = [ (makeDesktopItem { - name = "yquake2"; - exec = "yquake2"; - icon = "yamagi-quake2"; - desktopName = "yquake2"; - comment = "Yamagi Quake II client"; - categories = [ "Game" "Shooter" ]; - })]; + desktopItems = [ + (makeDesktopItem { + name = "yquake2"; + exec = "yquake2"; + icon = "yamagi-quake2"; + desktopName = "yquake2"; + comment = "Yamagi Quake II client"; + categories = [ + "Game" + "Shooter" + ]; + }) + ]; meta = with lib; { description = "Yamagi Quake II client"; @@ -75,7 +111,8 @@ let }; }; -in { +in +{ inherit yquake2; yquake2-ctf = wrapper { diff --git a/pkgs/games/quake2/yquake2/games.nix b/pkgs/games/quake2/yquake2/games.nix index aca5ffb5e3f55..2e1053eded726 100644 --- a/pkgs/games/quake2/yquake2/games.nix +++ b/pkgs/games/quake2/yquake2/games.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchFromGitHub }: +{ + stdenv, + lib, + fetchFromGitHub, +}: let games = { @@ -24,34 +28,41 @@ let }; }; - toDrv = title: data: stdenv.mkDerivation rec { - inherit (data) id version description sha256; - inherit title; + toDrv = + title: data: + stdenv.mkDerivation rec { + inherit (data) + id + version + description + sha256 + ; + inherit title; - pname = "yquake2-${title}"; + pname = "yquake2-${title}"; - src = fetchFromGitHub { - inherit sha256; - owner = "yquake2"; - repo = data.id; - rev = "${lib.toUpper id}_${builtins.replaceStrings ["."] ["_"] version}"; - }; + src = fetchFromGitHub { + inherit sha256; + owner = "yquake2"; + repo = data.id; + rev = "${lib.toUpper id}_${builtins.replaceStrings [ "." ] [ "_" ] version}"; + }; + + installPhase = '' + runHook preInstall + mkdir -p $out/lib/yquake2/${id} + cp release/* $out/lib/yquake2/${id} + runHook postInstall + ''; - installPhase = '' - runHook preInstall - mkdir -p $out/lib/yquake2/${id} - cp release/* $out/lib/yquake2/${id} - runHook postInstall - ''; - - meta = with lib; { - inherit (data) description; - homepage = "https://www.yamagi.org/quake2/"; - license = licenses.unfree; - platforms = platforms.unix; - maintainers = with maintainers; [ tadfisher ]; + meta = with lib; { + inherit (data) description; + homepage = "https://www.yamagi.org/quake2/"; + license = licenses.unfree; + platforms = platforms.unix; + maintainers = with maintainers; [ tadfisher ]; + }; }; - }; in - lib.mapAttrs toDrv games +lib.mapAttrs toDrv games diff --git a/pkgs/games/quake2/yquake2/wrapper.nix b/pkgs/games/quake2/yquake2/wrapper.nix index fafc1d3eaebd8..696e5b34ab9fd 100644 --- a/pkgs/games/quake2/yquake2/wrapper.nix +++ b/pkgs/games/quake2/yquake2/wrapper.nix @@ -1,8 +1,17 @@ -{ stdenv, lib, buildEnv, makeWrapper, yquake2, copyDesktopItems, makeDesktopItem }: +{ + stdenv, + lib, + buildEnv, + makeWrapper, + yquake2, + copyDesktopItems, + makeDesktopItem, +}: -{ games -, name -, description +{ + games, + name, + description, }: let @@ -16,33 +25,43 @@ stdenv.mkDerivation { pname = name; version = lib.getVersion yquake2; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; dontUnpack = true; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - '' + lib.concatMapStringsSep "\n" (game: '' - makeWrapper ${env}/bin/yquake2 $out/bin/yquake2-${game.title} \ - --add-flags "+set game ${game.id}" - makeWrapper ${env}/bin/yq2ded $out/bin/yq2ded-${game.title} \ - --add-flags "+set game ${game.id}" - '') games + '' - install -Dm644 ${yquake2}/share/pixmaps/yamagi-quake2.png $out/share/pixmaps/yamagi-quake2.png; - runHook postInstall - ''; - - desktopItems = map - (game: makeDesktopItem ({ + installPhase = + '' + runHook preInstall + mkdir -p $out/bin + '' + + lib.concatMapStringsSep "\n" (game: '' + makeWrapper ${env}/bin/yquake2 $out/bin/yquake2-${game.title} \ + --add-flags "+set game ${game.id}" + makeWrapper ${env}/bin/yq2ded $out/bin/yq2ded-${game.title} \ + --add-flags "+set game ${game.id}" + '') games + + '' + install -Dm644 ${yquake2}/share/pixmaps/yamagi-quake2.png $out/share/pixmaps/yamagi-quake2.png; + runHook postInstall + ''; + + desktopItems = map ( + game: + makeDesktopItem ({ name = game.id; exec = game.title; icon = "yamagi-quake2"; desktopName = game.id; comment = game.description; - categories = [ "Game" "Shooter" ]; - })) - games; + categories = [ + "Game" + "Shooter" + ]; + }) + ) games; meta = { inherit description; diff --git a/pkgs/games/quake3/content/demo.nix b/pkgs/games/quake3/content/demo.nix index 36d0396ec7960..9b3b4d06245b8 100644 --- a/pkgs/games/quake3/content/demo.nix +++ b/pkgs/games/quake3/content/demo.nix @@ -1,8 +1,13 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let version = "1.11-6"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "quake3-demodata"; inherit version; diff --git a/pkgs/games/quake3/content/hires.nix b/pkgs/games/quake3/content/hires.nix index 7314028d54057..2195e41313529 100644 --- a/pkgs/games/quake3/content/hires.nix +++ b/pkgs/games/quake3/content/hires.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchzip }: +{ + stdenv, + lib, + fetchzip, +}: stdenv.mkDerivation { pname = "quake3hires"; diff --git a/pkgs/games/quake3/content/pointrelease.nix b/pkgs/games/quake3/content/pointrelease.nix index d9c9a55ddce97..e3b5485960702 100644 --- a/pkgs/games/quake3/content/pointrelease.nix +++ b/pkgs/games/quake3/content/pointrelease.nix @@ -1,8 +1,13 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: let version = "1.32b-3"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "quake3-pointrelease"; inherit version; diff --git a/pkgs/games/quake3/wrapper/default.nix b/pkgs/games/quake3/wrapper/default.nix index a1a5bfb03d26f..15be84199b66d 100644 --- a/pkgs/games/quake3/wrapper/default.nix +++ b/pkgs/games/quake3/wrapper/default.nix @@ -1,15 +1,30 @@ -{ stdenv, buildEnv, lib, libGL, ioquake3, makeWrapper }: - -{ paks, name ? (lib.head paks).name, description ? "" }: +{ + stdenv, + buildEnv, + lib, + libGL, + ioquake3, + makeWrapper, +}: + +{ + paks, + name ? (lib.head paks).name, + description ? "", +}: let - libPath = lib.makeLibraryPath [ libGL stdenv.cc.cc ]; + libPath = lib.makeLibraryPath [ + libGL + stdenv.cc.cc + ]; env = buildEnv { name = "quake3-env"; paths = [ ioquake3 ] ++ paks; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "${name}-${ioquake3.name}"; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix index 68153b580d851..c947356d226d3 100644 --- a/pkgs/games/quakespasm/default.nix +++ b/pkgs/games/quakespasm/default.nix @@ -1,7 +1,26 @@ -{ lib, stdenv, SDL, SDL2, fetchurl, gzip, libvorbis, libmad, flac, libopus, opusfile, libogg, libxmp -, Cocoa, CoreAudio, CoreFoundation, IOKit, OpenGL -, copyDesktopItems, makeDesktopItem, pkg-config -, useSDL2 ? stdenv.hostPlatform.isDarwin # TODO: CoreAudio fails to initialize with SDL 1.x for some reason. +{ + lib, + stdenv, + SDL, + SDL2, + fetchurl, + gzip, + libvorbis, + libmad, + flac, + libopus, + opusfile, + libogg, + libxmp, + Cocoa, + CoreAudio, + CoreFoundation, + IOKit, + OpenGL, + copyDesktopItems, + makeDesktopItem, + pkg-config, + useSDL2 ? stdenv.hostPlatform.isDarwin, # TODO: CoreAudio fails to initialize with SDL 1.x for some reason. }: stdenv.mkDerivation rec { @@ -30,32 +49,47 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - gzip libvorbis libmad flac libopus opusfile libogg libxmp - (if useSDL2 then SDL2 else SDL) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa CoreAudio IOKit OpenGL - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && useSDL2) [ - CoreFoundation - ]; - - buildFlags = [ - "DO_USERDIRS=1" - # Makefile defaults, set here to enforce consistency on Darwin build - "USE_CODEC_WAVE=1" - "USE_CODEC_MP3=1" - "USE_CODEC_VORBIS=1" - "USE_CODEC_FLAC=1" - "USE_CODEC_OPUS=1" - "USE_CODEC_MIKMOD=0" - "USE_CODEC_UMX=0" - "USE_CODEC_XMP=1" - "MP3LIB=mad" - "VORBISLIB=vorbis" - ] ++ lib.optionals useSDL2 [ - "SDL_CONFIG=sdl2-config" - "USE_SDL2=1" - ]; + buildInputs = + [ + gzip + libvorbis + libmad + flac + libopus + opusfile + libogg + libxmp + (if useSDL2 then SDL2 else SDL) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + CoreAudio + IOKit + OpenGL + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && useSDL2) [ + CoreFoundation + ]; + + buildFlags = + [ + "DO_USERDIRS=1" + # Makefile defaults, set here to enforce consistency on Darwin build + "USE_CODEC_WAVE=1" + "USE_CODEC_MP3=1" + "USE_CODEC_VORBIS=1" + "USE_CODEC_FLAC=1" + "USE_CODEC_OPUS=1" + "USE_CODEC_MIKMOD=0" + "USE_CODEC_UMX=0" + "USE_CODEC_XMP=1" + "MP3LIB=mad" + "VORBISLIB=vorbis" + ] + ++ lib.optionals useSDL2 [ + "SDL_CONFIG=sdl2-config" + "USE_SDL2=1" + ]; makefile = if (stdenv.hostPlatform.isDarwin) then "Makefile.darwin" else "Makefile"; diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index 4c84267c1d4c9..137bf667f2f4e 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -38,19 +38,21 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - SDL2 - flac - gzip - libmpg123 - libopus - libvorbis - opusfile - vulkan-loader - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - moltenvk - vulkan-headers - ]; + buildInputs = + [ + SDL2 + flac + gzip + libmpg123 + libopus + libvorbis + opusfile + vulkan-loader + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + moltenvk + vulkan-headers + ]; buildFlags = [ "DO_USERDIRS=1" ]; @@ -84,7 +86,10 @@ stdenv.mkDerivation rec { ''; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ PopeRigby ylh ]; + maintainers = with maintainers; [ + PopeRigby + ylh + ]; mainProgram = "vkquake"; }; } diff --git a/pkgs/games/qzdl/default.nix b/pkgs/games/qzdl/default.nix index ad880c09522f3..de7cef007f275 100644 --- a/pkgs/games/qzdl/default.nix +++ b/pkgs/games/qzdl/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, inih -, ninja -, pkg-config -, qtbase -, wrapQtAppsHook -, makeDesktopItem -, copyDesktopItems +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + inih, + ninja, + pkg-config, + qtbase, + wrapQtAppsHook, + makeDesktopItem, + copyDesktopItems, }: stdenv.mkDerivation rec { diff --git a/pkgs/games/rare/default.nix b/pkgs/games/rare/default.nix index ae65bdc2f1719..4df7d3cd69d74 100644 --- a/pkgs/games/rare/default.nix +++ b/pkgs/games/rare/default.nix @@ -1,16 +1,17 @@ -{ lib -, fetchFromGitHub -, buildPythonApplication -, qt5 -, legendary-gl -, orjson -, pypresence -, pyqt5 -, python -, qtawesome -, requests -, setuptools -, typing-extensions +{ + lib, + fetchFromGitHub, + buildPythonApplication, + qt5, + legendary-gl, + orjson, + pypresence, + pyqt5, + python, + qtawesome, + requests, + setuptools, + typing-extensions, }: buildPythonApplication rec { diff --git a/pkgs/games/rogue/default.nix b/pkgs/games/rogue/default.nix index 886450869f33c..dcb16306767a6 100644 --- a/pkgs/games/rogue/default.nix +++ b/pkgs/games/rogue/default.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, ncurses}: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "rogue"; diff --git a/pkgs/games/rott/default.nix b/pkgs/games/rott/default.nix index e678994e47f0f..a91187730151d 100644 --- a/pkgs/games/rott/default.nix +++ b/pkgs/games/rott/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchurl -, writeShellScript -, SDL -, SDL_mixer -, makeDesktopItem -, copyDesktopItems -, runtimeShell -, buildShareware ? false +{ + stdenv, + lib, + fetchurl, + writeShellScript, + SDL, + SDL_mixer, + makeDesktopItem, + copyDesktopItems, + runtimeShell, + buildShareware ? false, }: let @@ -32,7 +33,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ copyDesktopItems ]; - buildInputs = [ SDL SDL_mixer ]; + buildInputs = [ + SDL + SDL_mixer + ]; sourceRoot = "rott-${version}/rott"; diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index 32e7524645c31..19e4dfe74bb07 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -1,6 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, nasm -, alsa-lib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libtheora, libvorbis, libGLU, libGL, SDL2, zlib -, Cocoa, AudioToolbox, Carbon, CoreMIDI, AudioUnit, cctools +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + nasm, + alsa-lib, + curl, + flac, + fluidsynth, + freetype, + libjpeg, + libmad, + libmpeg2, + libogg, + libtheora, + libvorbis, + libGLU, + libGL, + SDL2, + zlib, + Cocoa, + AudioToolbox, + Carbon, + CoreMIDI, + AudioUnit, + cctools, }: stdenv.mkDerivation rec { @@ -24,13 +48,33 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nasm ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib libGLU libGL - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa AudioToolbox Carbon CoreMIDI AudioUnit - ] ++ [ - curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libtheora libvorbis SDL2 zlib - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + libGLU + libGL + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + AudioToolbox + Carbon + CoreMIDI + AudioUnit + ] + ++ [ + curl + freetype + flac + fluidsynth + libjpeg + libmad + libmpeg2 + libogg + libtheora + libvorbis + SDL2 + zlib + ]; dontDisableStatic = true; @@ -42,13 +86,15 @@ stdenv.mkDerivation rec { ]; # They use 'install -s', that calls the native strip instead of the cross - postConfigure = '' - sed -i "s/-c -s/-c -s --strip-program=''${STRIP@Q}/" ports.mk - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace config.mk \ - --replace x86_64-apple-darwin-ranlib ${cctools}/bin/ranlib \ - --replace aarch64-apple-darwin-ranlib ${cctools}/bin/ranlib - ''; + postConfigure = + '' + sed -i "s/-c -s/-c -s --strip-program=''${STRIP@Q}/" ports.mk + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace config.mk \ + --replace x86_64-apple-darwin-ranlib ${cctools}/bin/ranlib \ + --replace aarch64-apple-darwin-ranlib ${cctools}/bin/ranlib + ''; NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; diff --git a/pkgs/games/scummvm/games.nix b/pkgs/games/scummvm/games.nix index b146bf1bc49da..adf358522abee 100644 --- a/pkgs/games/scummvm/games.nix +++ b/pkgs/games/scummvm/games.nix @@ -1,66 +1,106 @@ -{ stdenv, lib, fetchurl, makeDesktopItem, unzip, writeText -, scummvm, runtimeShell }: +{ + stdenv, + lib, + fetchurl, + makeDesktopItem, + unzip, + writeText, + scummvm, + runtimeShell, +}: let - desktopItem = name: short: long: description: makeDesktopItem { - categories = [ "Game" "AdventureGame" ]; - comment = description; - desktopName = long; - exec = "@out@/bin/${short}"; - genericName = description; - icon = "scummvm"; - name = name; - }; - - run = name: short: code: writeText "${short}.sh" '' - #!${runtimeShell} -eu - - exec ${scummvm}/bin/scummvm \ - --path=@out@/share/${name} \ - --fullscreen \ - ${code} - ''; + desktopItem = + name: short: long: description: + makeDesktopItem { + categories = [ + "Game" + "AdventureGame" + ]; + comment = description; + desktopName = long; + exec = "@out@/bin/${short}"; + genericName = description; + icon = "scummvm"; + name = name; + }; - generic = { plong, pshort, pcode, description, version, files, docs ? [ "readme.txt" ], ... } @attrs: + run = + name: short: code: + writeText "${short}.sh" '' + #!${runtimeShell} -eu + + exec ${scummvm}/bin/scummvm \ + --path=@out@/share/${name} \ + --fullscreen \ + ${code} + ''; + + generic = + { + plong, + pshort, + pcode, + description, + version, + files, + docs ? [ "readme.txt" ], + ... + }@attrs: let - attrs' = builtins.removeAttrs attrs [ "plong" "pshort" "pcode" "description" "docs" "files" "version" ]; + attrs' = builtins.removeAttrs attrs [ + "plong" + "pshort" + "pcode" + "description" + "docs" + "files" + "version" + ]; pname = lib.replaceStrings [ " " ":" ] [ "-" "" ] (lib.toLower plong); - in stdenv.mkDerivation ({ - name = "${pname}-${version}"; + in + stdenv.mkDerivation ( + { + name = "${pname}-${version}"; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; - dontBuild = true; - dontFixup = true; + dontBuild = true; + dontFixup = true; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/bin $out/share/{applications,${pname},doc/${pname}} + mkdir -p $out/bin $out/share/{applications,${pname},doc/${pname}} - ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/doc/${pname}") docs)} - ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/${pname}") files)} + ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/doc/${pname}") docs)} + ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/${pname}") files)} - substitute ${run pname pshort pcode} $out/bin/${pshort} \ - --subst-var out - substitute ${desktopItem pname pshort plong description}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop \ - --subst-var out + substitute ${run pname pshort pcode} $out/bin/${pshort} \ + --subst-var out + substitute ${ + desktopItem pname pshort plong description + }/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop \ + --subst-var out - chmod 0755 $out/bin/${pshort} + chmod 0755 $out/bin/${pshort} - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - homepage = "https://www.scummvm.org"; - license = licenses.free; # refer to the readme for exact wording - maintainers = with maintainers; [ peterhoeg ]; - inherit description; - inherit (scummvm.meta) platforms; - }; - } // attrs'); + meta = with lib; { + homepage = "https://www.scummvm.org"; + license = licenses.free; # refer to the readme for exact wording + maintainers = with maintainers; [ peterhoeg ]; + inherit description; + inherit (scummvm.meta) platforms; + }; + } + // attrs' + ); -in { +in +{ beneath-a-steel-sky = generic rec { plong = "Beneath a Steel Sky"; pshort = "bass"; @@ -85,7 +125,10 @@ in { sha256 = "0ivj1vflfpih5bs5a902mab88s4d77fwm3ya3fk7pammzc8gjqzz"; }; sourceRoot = "."; - docs = [ "README" "license-original.txt" ]; + docs = [ + "README" + "license-original.txt" + ]; files = [ "data.b25c" ]; }; @@ -96,17 +139,20 @@ in { description = "Spanish 2D classic point & click style adventure with tons of humor and an easy interface"; version = "1.0"; # srcs = { - src = fetchurl { - url = "mirror://sourceforge/scummvm/${pshort}-${version}.zip"; - sha256 = "1pj29rpb754sn6a56f8brfv6f2m1p5qgaqik7d68pfi2bb5zccdp"; - }; - # audio = fetchurl { - # url = "mirror://sourceforge/scummvm/${pshort}-audio-flac-2.0.zip"; - # sha256 = "1zmqhrby8f5sj1qy6xjdgkvk9wyhr3nw8ljrrl58fmxb83x1rryw"; - # }; + src = fetchurl { + url = "mirror://sourceforge/scummvm/${pshort}-${version}.zip"; + sha256 = "1pj29rpb754sn6a56f8brfv6f2m1p5qgaqik7d68pfi2bb5zccdp"; + }; + # audio = fetchurl { + # url = "mirror://sourceforge/scummvm/${pshort}-audio-flac-2.0.zip"; + # sha256 = "1zmqhrby8f5sj1qy6xjdgkvk9wyhr3nw8ljrrl58fmxb83x1rryw"; + # }; # }; sourceRoot = "."; - docs = [ "readme.txt" "drascula.doc" ]; + docs = [ + "readme.txt" + "drascula.doc" + ]; files = [ "Packet.001" ]; }; @@ -122,7 +168,11 @@ in { }; sourceRoot = "."; docs = [ "license.txt" ]; - files = [ "DREAMWEB.*" "SPEECH" "track01.flac" ]; + files = [ + "DREAMWEB.*" + "SPEECH" + "track01.flac" + ]; }; flight-of-the-amazon-queen = generic rec { @@ -149,7 +199,12 @@ in { url = "mirror://sourceforge/scummvm/lure-${version}.zip"; sha256 = "0201i70qcs1m797kvxjx3ygkhg6kcl5yf49sihba2ga8l52q45zk"; }; - docs = [ "README" "*.txt" "*.pdf" "*.PDF" ]; + docs = [ + "README" + "*.txt" + "*.pdf" + "*.PDF" + ]; files = [ "*.vga" ]; }; } diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix index 9fda50f71ba28..43cccbdfb6805 100644 --- a/pkgs/games/sgt-puzzles/default.nix +++ b/pkgs/games/sgt-puzzles/default.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl, desktop-file-utils -, gtk3, libX11, cmake, imagemagick -, pkg-config, perl, wrapGAppsHook3, nixosTests, writeScript -, isMobile ? false +{ + lib, + stdenv, + fetchurl, + desktop-file-utils, + gtk3, + libX11, + cmake, + imagemagick, + pkg-config, + perl, + wrapGAppsHook3, + nixosTests, + writeScript, + isMobile ? false, }: stdenv.mkDerivation rec { @@ -29,7 +40,10 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = lib.optionalString isMobile "-DSTYLUS_BASED"; - buildInputs = [ gtk3 libX11 ]; + buildInputs = [ + gtk3 + libX11 + ]; postInstall = '' for i in $(basename -s $out/bin/*); do @@ -75,7 +89,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Simon Tatham's portable puzzle collection"; license = licenses.mit; - maintainers = with maintainers; [ raskin tomfitzhenry ]; + maintainers = with maintainers; [ + raskin + tomfitzhenry + ]; platforms = platforms.linux; homepage = "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/"; }; diff --git a/pkgs/games/shattered-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/default.nix index 8b57fcb253522..68576174127e6 100644 --- a/pkgs/games/shattered-pixel-dungeon/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/default.nix @@ -1,6 +1,7 @@ -{ callPackage -, fetchFromGitHub -, nixosTests +{ + callPackage, + fetchFromGitHub, + nixosTests, }: callPackage ./generic.nix rec { diff --git a/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix index 60a0b67232ca7..099f4f255989c 100644 --- a/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix @@ -1,5 +1,6 @@ -{ callPackage -, fetchFromGitHub +{ + callPackage, + fetchFromGitHub, }: callPackage ../generic.nix rec { diff --git a/pkgs/games/shattered-pixel-dungeon/generic.nix b/pkgs/games/shattered-pixel-dungeon/generic.nix index 30d7f3f472601..496f54cf426e8 100644 --- a/pkgs/games/shattered-pixel-dungeon/generic.nix +++ b/pkgs/games/shattered-pixel-dungeon/generic.nix @@ -1,23 +1,24 @@ # Generic builder for shattered pixel forks/mods -{ pname -, version -, src -, meta -, desktopName -, patches ? [ ./disable-beryx.patch ] -, depsPath ? null - -, lib -, stdenv -, makeWrapper -, gradle_8 -, perl -, jre -, libGL -, libpulseaudio -, makeDesktopItem -, copyDesktopItems -, ... +{ + pname, + version, + src, + meta, + desktopName, + patches ? [ ./disable-beryx.patch ], + depsPath ? null, + + lib, + stdenv, + makeWrapper, + gradle_8, + perl, + jre, + libGL, + libpulseaudio, + makeDesktopItem, + copyDesktopItems, + ... }@attrs: let @@ -49,8 +50,15 @@ let icon = pname; exec = pname; terminal = false; - categories = [ "Game" "AdventureGame" ]; - keywords = [ "roguelike" "dungeon" "crawler" ]; + categories = [ + "Game" + "AdventureGame" + ]; + keywords = [ + "roguelike" + "dungeon" + "crawler" + ]; }; depsPath' = if depsPath != null then depsPath else ./. + "/${pname}/deps.json"; @@ -58,59 +66,77 @@ let # "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0." gradle = gradle_8; -in stdenv.mkDerivation (cleanAttrs // { - inherit pname version src patches postPatch; - - mitmCache = gradle.fetchDeps { - inherit pname; - data = depsPath'; - }; - - __darwinAllowLocalNetworking = true; - - nativeBuildInputs = [ - gradle - perl - makeWrapper - copyDesktopItems - ] ++ attrs.nativeBuildInputs or []; - - desktopItems = [ desktopItem ]; - - gradleBuildTask = "desktop:release"; - - installPhase = '' - runHook preInstall - - install -Dm644 desktop/build/libs/desktop-*.jar $out/share/${pname}.jar - mkdir $out/bin - makeWrapper ${jre}/bin/java $out/bin/${pname} \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libpulseaudio ]} \ - --add-flags "-jar $out/share/${pname}.jar" - - for s in 16 32 48 64 128 256; do - # Some forks only have some icons and/or name them slightly differently - if [ -f desktop/src/main/assets/icons/icon_$s.png ]; then - install -Dm644 desktop/src/main/assets/icons/icon_$s.png \ - $out/share/icons/hicolor/''${s}x$s/apps/${pname}.png - fi - if [ -f desktop/src/main/assets/icons/icon_''${s}x$s.png ]; then - install -Dm644 desktop/src/main/assets/icons/icon_''${s}x$s.png \ - $out/share/icons/hicolor/''${s}x$s/apps/${pname}.png - fi - done - - runHook postInstall - ''; - - meta = with lib; { - sourceProvenance = with sourceTypes; [ - fromSource - binaryBytecode # deps - ]; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ fgaz ]; - platforms = platforms.all; - mainProgram = pname; - } // meta; -}) +in +stdenv.mkDerivation ( + cleanAttrs + // { + inherit + pname + version + src + patches + postPatch + ; + + mitmCache = gradle.fetchDeps { + inherit pname; + data = depsPath'; + }; + + __darwinAllowLocalNetworking = true; + + nativeBuildInputs = [ + gradle + perl + makeWrapper + copyDesktopItems + ] ++ attrs.nativeBuildInputs or [ ]; + + desktopItems = [ desktopItem ]; + + gradleBuildTask = "desktop:release"; + + installPhase = '' + runHook preInstall + + install -Dm644 desktop/build/libs/desktop-*.jar $out/share/${pname}.jar + mkdir $out/bin + makeWrapper ${jre}/bin/java $out/bin/${pname} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libGL + libpulseaudio + ] + } \ + --add-flags "-jar $out/share/${pname}.jar" + + for s in 16 32 48 64 128 256; do + # Some forks only have some icons and/or name them slightly differently + if [ -f desktop/src/main/assets/icons/icon_$s.png ]; then + install -Dm644 desktop/src/main/assets/icons/icon_$s.png \ + $out/share/icons/hicolor/''${s}x$s/apps/${pname}.png + fi + if [ -f desktop/src/main/assets/icons/icon_''${s}x$s.png ]; then + install -Dm644 desktop/src/main/assets/icons/icon_''${s}x$s.png \ + $out/share/icons/hicolor/''${s}x$s/apps/${pname}.png + fi + done + + runHook postInstall + ''; + + meta = + with lib; + { + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # deps + ]; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + mainProgram = pname; + } + // meta; + } +) diff --git a/pkgs/games/shattered-pixel-dungeon/rat-king-adventure/default.nix b/pkgs/games/shattered-pixel-dungeon/rat-king-adventure/default.nix index 8fab6cee257cf..094641c94b116 100644 --- a/pkgs/games/shattered-pixel-dungeon/rat-king-adventure/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/rat-king-adventure/default.nix @@ -1,5 +1,6 @@ -{ callPackage -, fetchFromGitHub +{ + callPackage, + fetchFromGitHub, }: callPackage ../generic.nix rec { diff --git a/pkgs/games/shattered-pixel-dungeon/rkpd2/default.nix b/pkgs/games/shattered-pixel-dungeon/rkpd2/default.nix index 9efa5fde80ffe..3d2ef02739c46 100644 --- a/pkgs/games/shattered-pixel-dungeon/rkpd2/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/rkpd2/default.nix @@ -1,5 +1,6 @@ -{ callPackage -, fetchFromGitHub +{ + callPackage, + fetchFromGitHub, }: callPackage ../generic.nix rec { diff --git a/pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix index 8fb66c87b3453..7dde5e15b7472 100644 --- a/pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix @@ -1,5 +1,6 @@ -{ callPackage -, fetchFromGitHub +{ + callPackage, + fetchFromGitHub, }: callPackage ../generic.nix rec { diff --git a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix index 86cd351f2c591..d0b3e50fa5e6e 100644 --- a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix +++ b/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix @@ -1,7 +1,8 @@ -{ callPackage -, fetchFromGitHub -, fetchpatch -, substitute +{ + callPackage, + fetchFromGitHub, + fetchpatch, + substitute, }: callPackage ../generic.nix rec { @@ -19,7 +20,11 @@ callPackage ../generic.nix rec { patches = [ (substitute { src = ./disable-git-version.patch; - substitutions = [ "--subst-var-by" "version" version ]; + substitutions = [ + "--subst-var-by" + "version" + version + ]; }) # FIXME: Remove after next release (fetchpatch { diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix index 67f1b5b211a71..c99a422fe27d1 100644 --- a/pkgs/games/soi/default.nix +++ b/pkgs/games/soi/default.nix @@ -1,5 +1,16 @@ -{ lib, stdenv, fetchurl, cmake -, boost, eigen2, lua, luabind, libGLU, libGL, SDL }: +{ + lib, + stdenv, + fetchurl, + cmake, + boost, + eigen2, + lua, + luabind, + libGLU, + libGL, + SDL, +}: stdenv.mkDerivation rec { pname = "soi"; @@ -12,7 +23,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost lua luabind libGLU libGL SDL ]; + buildInputs = [ + boost + lua + luabind + libGLU + libGL + SDL + ]; cmakeFlags = [ "-DEIGEN_INCLUDE_DIR=${eigen2}/include/eigen2" diff --git a/pkgs/games/solarus/default.nix b/pkgs/games/solarus/default.nix index b59c20c2b3226..90b988de4796e 100644 --- a/pkgs/games/solarus/default.nix +++ b/pkgs/games/solarus/default.nix @@ -1,7 +1,20 @@ -{ lib, mkDerivation, fetchFromGitLab, cmake, luajit -, SDL2, SDL2_image, SDL2_ttf, physfs, glm -, openal, libmodplug, libvorbis -, qtbase, qttools }: +{ + lib, + mkDerivation, + fetchFromGitLab, + cmake, + luajit, + SDL2, + SDL2_image, + SDL2_ttf, + physfs, + glm, + openal, + libmodplug, + libvorbis, + qtbase, + qttools, +}: mkDerivation rec { pname = "solarus"; @@ -14,13 +27,28 @@ mkDerivation rec { sha256 = "sbdlf+R9OskDQ5U5rqUX2gF8l/fj0sDJv6BL7H1I1Ng="; }; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; - nativeBuildInputs = [ cmake qttools ]; - buildInputs = [ luajit SDL2 - SDL2_image SDL2_ttf physfs - openal libmodplug libvorbis - qtbase glm ]; + nativeBuildInputs = [ + cmake + qttools + ]; + buildInputs = [ + luajit + SDL2 + SDL2_image + SDL2_ttf + physfs + openal + libmodplug + libvorbis + qtbase + glm + ]; cmakeFlags = [ (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DGLM_ENABLE_EXPERIMENTAL") diff --git a/pkgs/games/space-station-14-launcher/default.nix b/pkgs/games/space-station-14-launcher/default.nix index ecf1d8781a5a4..d39129c092a2c 100644 --- a/pkgs/games/space-station-14-launcher/default.nix +++ b/pkgs/games/space-station-14-launcher/default.nix @@ -1,7 +1,8 @@ -{ soundfont-fluid -, buildFHSEnv -, runCommand -, callPackage +{ + soundfont-fluid, + buildFHSEnv, + runCommand, + callPackage, }: let diff --git a/pkgs/games/space-station-14-launcher/deps.nix b/pkgs/games/space-station-14-launcher/deps.nix index 92ce23401995c..c046903f24e65 100644 --- a/pkgs/games/space-station-14-launcher/deps.nix +++ b/pkgs/games/space-station-14-launcher/deps.nix @@ -1,143 +1,696 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Avalonia"; version = "11.0.5"; hash = "sha256-BqpHqQIObTb7DHTyZAgCD9A5I0pZkHhSoPTN2g6/G9E="; }) - (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; hash = "sha256-TWop9cvak6cMv2vrA/GlpuYBxS8Fuj5UmupGIV7Q5Ks="; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.5"; hash = "sha256-Iob8OyWhwXhmHKCdnea7dtL9VQvcrf6/gUGHJ30CKXA="; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.5"; hash = "sha256-2iVuMPRw7sbsYPGSG4XjQFGFky5WB5B05Jh1+I852ZI="; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.5"; hash = "sha256-UKVibxhJoGNvEGh8J/Z0sq8J81FT8yth/yXVPSFHF/8="; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.5"; hash = "sha256-0cUxPYJP2W11wnM6j4qNB3IvHlsUp9EZlY8I/NoAmd4="; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.5"; hash = "sha256-O20fC/9YXO3/MZNlh1EgWLHFSyi/ao083MKwjetgxmo="; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.5"; hash = "sha256-KVUAXXT+f4VrtJ8widfEIzN25GBbtXWog/tpM354gdg="; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.5"; hash = "sha256-8tGLyA0PRKt1REb9YeCtEDz5oB886PRG35aO0uZm/jU="; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.5"; hash = "sha256-wTqdxPU3Ql7jC4JFkChbUfaRR0nqUKrYKn8oexdFyig="; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.5"; hash = "sha256-rKOgkNLCwEVVcyLCimvhDUDKXnrDOguUryaGVOPFFwE="; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.5"; hash = "sha256-27evmgSrIx+EopF6E3N1cT7BvAUc/s99TVEMfmG83cQ="; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.5"; hash = "sha256-ncZLGKhpfjuuVPz4Fs+P6L3dM0KRnwAC3xJRqyvpKw8="; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.5"; hash = "sha256-rvs3hwRh3F5E1j3JqcodWJTHV3BTWMKkvzq170tuPa4="; }) - (fetchNuGet { pname = "CodeHollow.FeedReader"; version = "1.2.6"; hash = "sha256-uw58N3j/ZsBmBaYeXrSwg6f4ObWChM2GduwAzmNDiak="; }) - (fetchNuGet { pname = "Dapper"; version = "2.0.123"; hash = "sha256-Ic3pMHtq5jF94tPi8l5MFDGyLnEZYofcqxbH5yDLHZY="; }) - (fetchNuGet { pname = "DynamicData"; version = "7.13.1"; hash = "sha256-wSMqsqAWKqVaIDVlRtycTiS0R3fQxknfEPfBaYVawkM="; }) - (fetchNuGet { pname = "Fody"; version = "6.6.4"; hash = "sha256-Xe9sGzIdQ970f0RwxD3KhdfqvGUoTpim2u2oqYHkDcI="; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; }) - (fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.2.0-eap3"; hash = "sha256-s+SCNDcc8ZHFQXwXte0dfI9NOmqFUQK2IjBA0atT04k="; }) - (fetchNuGet { pname = "libsodium"; version = "1.0.18.2"; hash = "sha256-gjaW2AYXQSb3LLjtQDjWSxkTmEiqIoIb7NFx0+AlrQs="; }) - (fetchNuGet { pname = "Linguini.Bundle"; version = "0.8.1"; hash = "sha256-SirB65XjhxBkS+OERZP1e+6l2xZl9DFLz2ST5k2x9tw="; }) - (fetchNuGet { pname = "Linguini.Shared"; version = "0.8.0"; hash = "sha256-BnCgq61zLy6MMG6gNnZiIOjJNy/So1DPUsdR83m5ACM="; }) - (fetchNuGet { pname = "Linguini.Syntax"; version = "0.8.0"; hash = "sha256-x5PIdYJVCvIJxsDRP0GZ1PUbAPJl6K4i+K/LNpNE1D0="; }) - (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "7.0.4"; hash = "sha256-+8pB6kjwp5dNxKZ54zM7xqWSkzQYRiB8AIw2JBeSDlY="; }) - (fetchNuGet { pname = "Microsoft.NET.ILLink.Tasks"; version = "8.0.0"; hash = "sha256-BAbtucZQvBgbiJ51UAL/Ilx+dz96LpWmfjnnNGlcw48="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) - (fetchNuGet { pname = "Microsoft.Toolkit.Mvvm"; version = "7.1.2"; hash = "sha256-JOxZGQGm1WPkIpIDurQnlYk+QgHxJLPguJfCQLJ8NEM="; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; }) - (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; hash = "sha256-/F61k7MY/fu2FcfW7CkyjuUroKwlYAXPQFVeDs1QknY="; }) - (fetchNuGet { pname = "NSec.Cryptography"; version = "22.4.0"; hash = "sha256-TVB8MDXan3dQphaYG/rLQMWgpYJ6WE5ORiqiQrfnCW0="; }) - (fetchNuGet { pname = "ReactiveUI"; version = "18.4.26"; hash = "sha256-SvWTQfgwwIIwwj67J42fb+Gm8u74iawPd7JqYuYmEnY="; }) - (fetchNuGet { pname = "ReactiveUI.Fody"; version = "18.4.26"; hash = "sha256-ucLfi/HB3cJIdmNssfazZAXPC8QJ35YVA+GtWKVU6UQ="; }) - (fetchNuGet { pname = "Robust.Natives"; version = "0.1.1"; hash = "sha256-/DPbgIzIqZx7ClHKSgI88p03xwKSNWY/MqNri2ZX7uo="; }) - (fetchNuGet { pname = "Robust.Natives.Angle"; version = "0.1.1-chromium4758"; hash = "sha256-UGVYx1AZ0K/vzApEshxNQinx7jg43WAMB1lf0yRtnis="; }) - (fetchNuGet { pname = "Robust.Natives.Fluidsynth"; version = "0.1.0"; hash = "sha256-XRyvRqEcEFFvXSjcvNRl9MIMAY42nWRrC7pHqQvn0wI="; }) - (fetchNuGet { pname = "Robust.Natives.Freetype"; version = "0.1.0"; hash = "sha256-gufHmxKub3204pAYvcLegY80LMoKPY5u3Z3uIleReWo="; }) - (fetchNuGet { pname = "Robust.Natives.Glfw"; version = "0.1.0"; hash = "sha256-YDL7w5wVb2Il/O4PRlxPgYUOlM2Ksu+kIrlKc1qYynU="; }) - (fetchNuGet { pname = "Robust.Natives.OpenAL"; version = "0.1.0"; hash = "sha256-3dIpRKPASi8wu8eMWSC/M4CNJK1WKKJVB4XVXKSeihs="; }) - (fetchNuGet { pname = "Robust.Natives.Swnfd"; version = "0.1.0"; hash = "sha256-Qav0yDVQ30eV31Gz+oMXJvHQnP+XrOicakw4rb6hVus="; }) - (fetchNuGet { pname = "Robust.Shared.AuthLib"; version = "0.1.2"; hash = "sha256-ANaf6S0tsocsw37RJvk9d4LcvVQ0+1yO900iG1BLwe4="; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) - (fetchNuGet { pname = "Serilog"; version = "2.12.0"; hash = "sha256-JD+ud+CFoLGdYGasTWKTxx5PYj2W5pBv2lMybBK7HVM="; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.1.0"; hash = "sha256-MXIj6YJ4GQbUS8553InMUZPPEfr8h33q2GtAhyu88+Y="; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; hash = "sha256-GKy9hwOdlu2W0Rw8LiPyEwus+sDtSOTl8a5l9uqz+SQ="; }) - (fetchNuGet { pname = "SharpZstd.Interop"; version = "1.5.2-beta2"; hash = "sha256-Xkmf3Fui97lC5CROT6o1W0vD4EURrMh7RJQ+nS+VhYQ="; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.6"; hash = "sha256-VjgGoi73tVvqO/UXmQb1w9ioAbFu2dxH8oHz1l5H4zE="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; hash = "sha256-7hOMjlYTOiNPLNwfLFUjTcdgiGEtmYUI1EubiRiC6bo="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.6"; hash = "sha256-CIb9fHVgHwIa0R1WafKJ3+GqtDHHRgDohA3ayTHvlws="; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; hash = "sha256-ljD4QmAO2/vwA6I8GIUNkONpOzmGsOVJJy9vPDnjVfA="; }) - (fetchNuGet { pname = "SpaceWizards.Sodium"; version = "0.2.1"; hash = "sha256-1x10ZvfWf1VGQM87c3Hc7ue9ibhslA1P2zE29FylOhU="; }) - (fetchNuGet { pname = "SpaceWizards.Sodium.Interop"; version = "1.0.18-beta4"; hash = "sha256-dvPwT6owmBRYZT3UhOd9xBWtVF4C2+Woa7t18Y+IqfA="; }) - (fetchNuGet { pname = "Splat"; version = "14.6.8"; hash = "sha256-XHTuUKAisBU0O3keA+Ojzb8yKKJUheWbRHakzLBeQNo="; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.4"; hash = "sha256-4IHC1KMcKOKHKLlf+/TIAVCQCdEDhPQw5+FUlujVDWo="; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.4"; hash = "sha256-jSI3SIE/HBLEvM+IzhfnAS0QU+JQzIokC/lGLNLvUyU="; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.4"; hash = "sha256-dk7eEcw+lgpZuWdZn2794hQ6GHDeIfCRNGSysPUsiIY="; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.4"; hash = "sha256-Zdj676VT6j6k9ZCL2hYVl4F8bi4TK/ldvQBPmW0oDi0="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; }) - (fetchNuGet { pname = "System.Net.Http.WinHttpHandler"; version = "8.0.0"; hash = "sha256-wSK5KtWvlDp8WLNddCmAM66uGyj9/KfJyCh8ht1PD1M="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) - (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "TerraFX.Interop.Windows"; version = "10.0.22621.1"; hash = "sha256-0golrteOhpZblYuKjM3YP2rswAv/hzWDQ6I9rT9TcWE="; }) - (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; }) - (fetchNuGet { pname = "YamlDotNet"; version = "13.0.2"; hash = "sha256-aCI7NH5iDAOcQJZNdyArt9ksqfrINreCzV7uFg3bNww="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Avalonia"; + version = "11.0.5"; + hash = "sha256-BqpHqQIObTb7DHTyZAgCD9A5I0pZkHhSoPTN2g6/G9E="; + }) + (fetchNuGet { + pname = "Avalonia.Angle.Windows.Natives"; + version = "2.1.0.2023020321"; + hash = "sha256-TWop9cvak6cMv2vrA/GlpuYBxS8Fuj5UmupGIV7Q5Ks="; + }) + (fetchNuGet { + pname = "Avalonia.BuildServices"; + version = "0.0.29"; + hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.ColorPicker"; + version = "11.0.5"; + hash = "sha256-Iob8OyWhwXhmHKCdnea7dtL9VQvcrf6/gUGHJ30CKXA="; + }) + (fetchNuGet { + pname = "Avalonia.Controls.DataGrid"; + version = "11.0.5"; + hash = "sha256-2iVuMPRw7sbsYPGSG4XjQFGFky5WB5B05Jh1+I852ZI="; + }) + (fetchNuGet { + pname = "Avalonia.Desktop"; + version = "11.0.5"; + hash = "sha256-UKVibxhJoGNvEGh8J/Z0sq8J81FT8yth/yXVPSFHF/8="; + }) + (fetchNuGet { + pname = "Avalonia.Diagnostics"; + version = "11.0.5"; + hash = "sha256-0cUxPYJP2W11wnM6j4qNB3IvHlsUp9EZlY8I/NoAmd4="; + }) + (fetchNuGet { + pname = "Avalonia.FreeDesktop"; + version = "11.0.5"; + hash = "sha256-O20fC/9YXO3/MZNlh1EgWLHFSyi/ao083MKwjetgxmo="; + }) + (fetchNuGet { + pname = "Avalonia.Native"; + version = "11.0.5"; + hash = "sha256-KVUAXXT+f4VrtJ8widfEIzN25GBbtXWog/tpM354gdg="; + }) + (fetchNuGet { + pname = "Avalonia.ReactiveUI"; + version = "11.0.5"; + hash = "sha256-8tGLyA0PRKt1REb9YeCtEDz5oB886PRG35aO0uZm/jU="; + }) + (fetchNuGet { + pname = "Avalonia.Remote.Protocol"; + version = "11.0.5"; + hash = "sha256-wTqdxPU3Ql7jC4JFkChbUfaRR0nqUKrYKn8oexdFyig="; + }) + (fetchNuGet { + pname = "Avalonia.Skia"; + version = "11.0.5"; + hash = "sha256-rKOgkNLCwEVVcyLCimvhDUDKXnrDOguUryaGVOPFFwE="; + }) + (fetchNuGet { + pname = "Avalonia.Themes.Simple"; + version = "11.0.5"; + hash = "sha256-27evmgSrIx+EopF6E3N1cT7BvAUc/s99TVEMfmG83cQ="; + }) + (fetchNuGet { + pname = "Avalonia.Win32"; + version = "11.0.5"; + hash = "sha256-ncZLGKhpfjuuVPz4Fs+P6L3dM0KRnwAC3xJRqyvpKw8="; + }) + (fetchNuGet { + pname = "Avalonia.X11"; + version = "11.0.5"; + hash = "sha256-rvs3hwRh3F5E1j3JqcodWJTHV3BTWMKkvzq170tuPa4="; + }) + (fetchNuGet { + pname = "CodeHollow.FeedReader"; + version = "1.2.6"; + hash = "sha256-uw58N3j/ZsBmBaYeXrSwg6f4ObWChM2GduwAzmNDiak="; + }) + (fetchNuGet { + pname = "Dapper"; + version = "2.0.123"; + hash = "sha256-Ic3pMHtq5jF94tPi8l5MFDGyLnEZYofcqxbH5yDLHZY="; + }) + (fetchNuGet { + pname = "DynamicData"; + version = "7.13.1"; + hash = "sha256-wSMqsqAWKqVaIDVlRtycTiS0R3fQxknfEPfBaYVawkM="; + }) + (fetchNuGet { + pname = "Fody"; + version = "6.6.4"; + hash = "sha256-Xe9sGzIdQ970f0RwxD3KhdfqvGUoTpim2u2oqYHkDcI="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp"; + version = "2.8.2.3"; + hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Linux"; + version = "2.8.2.3"; + hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.macOS"; + version = "2.8.2.3"; + hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; + version = "2.8.2.3"; + hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; + }) + (fetchNuGet { + pname = "HarfBuzzSharp.NativeAssets.Win32"; + version = "2.8.2.3"; + hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; + }) + (fetchNuGet { + pname = "JetBrains.Annotations"; + version = "2023.2.0-eap3"; + hash = "sha256-s+SCNDcc8ZHFQXwXte0dfI9NOmqFUQK2IjBA0atT04k="; + }) + (fetchNuGet { + pname = "libsodium"; + version = "1.0.18.2"; + hash = "sha256-gjaW2AYXQSb3LLjtQDjWSxkTmEiqIoIb7NFx0+AlrQs="; + }) + (fetchNuGet { + pname = "Linguini.Bundle"; + version = "0.8.1"; + hash = "sha256-SirB65XjhxBkS+OERZP1e+6l2xZl9DFLz2ST5k2x9tw="; + }) + (fetchNuGet { + pname = "Linguini.Shared"; + version = "0.8.0"; + hash = "sha256-BnCgq61zLy6MMG6gNnZiIOjJNy/So1DPUsdR83m5ACM="; + }) + (fetchNuGet { + pname = "Linguini.Syntax"; + version = "0.8.0"; + hash = "sha256-x5PIdYJVCvIJxsDRP0GZ1PUbAPJl6K4i+K/LNpNE1D0="; + }) + (fetchNuGet { + pname = "MicroCom.Runtime"; + version = "0.11.0"; + hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.0.0"; + hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "3.8.0"; + hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "3.8.0"; + hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; + version = "3.8.0"; + hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Scripting.Common"; + version = "3.8.0"; + hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.3.0"; + hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; + }) + (fetchNuGet { + pname = "Microsoft.Data.Sqlite.Core"; + version = "7.0.4"; + hash = "sha256-+8pB6kjwp5dNxKZ54zM7xqWSkzQYRiB8AIw2JBeSDlY="; + }) + (fetchNuGet { + pname = "Microsoft.NET.ILLink.Tasks"; + version = "8.0.0"; + hash = "sha256-BAbtucZQvBgbiJ51UAL/Ilx+dz96LpWmfjnnNGlcw48="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.2"; + hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; + }) + (fetchNuGet { + pname = "Microsoft.Toolkit.Mvvm"; + version = "7.1.2"; + hash = "sha256-JOxZGQGm1WPkIpIDurQnlYk+QgHxJLPguJfCQLJ8NEM="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "6.0.0"; + hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; + }) + (fetchNuGet { + pname = "Mono.Posix.NETStandard"; + version = "1.0.0"; + hash = "sha256-/F61k7MY/fu2FcfW7CkyjuUroKwlYAXPQFVeDs1QknY="; + }) + (fetchNuGet { + pname = "NSec.Cryptography"; + version = "22.4.0"; + hash = "sha256-TVB8MDXan3dQphaYG/rLQMWgpYJ6WE5ORiqiQrfnCW0="; + }) + (fetchNuGet { + pname = "ReactiveUI"; + version = "18.4.26"; + hash = "sha256-SvWTQfgwwIIwwj67J42fb+Gm8u74iawPd7JqYuYmEnY="; + }) + (fetchNuGet { + pname = "ReactiveUI.Fody"; + version = "18.4.26"; + hash = "sha256-ucLfi/HB3cJIdmNssfazZAXPC8QJ35YVA+GtWKVU6UQ="; + }) + (fetchNuGet { + pname = "Robust.Natives"; + version = "0.1.1"; + hash = "sha256-/DPbgIzIqZx7ClHKSgI88p03xwKSNWY/MqNri2ZX7uo="; + }) + (fetchNuGet { + pname = "Robust.Natives.Angle"; + version = "0.1.1-chromium4758"; + hash = "sha256-UGVYx1AZ0K/vzApEshxNQinx7jg43WAMB1lf0yRtnis="; + }) + (fetchNuGet { + pname = "Robust.Natives.Fluidsynth"; + version = "0.1.0"; + hash = "sha256-XRyvRqEcEFFvXSjcvNRl9MIMAY42nWRrC7pHqQvn0wI="; + }) + (fetchNuGet { + pname = "Robust.Natives.Freetype"; + version = "0.1.0"; + hash = "sha256-gufHmxKub3204pAYvcLegY80LMoKPY5u3Z3uIleReWo="; + }) + (fetchNuGet { + pname = "Robust.Natives.Glfw"; + version = "0.1.0"; + hash = "sha256-YDL7w5wVb2Il/O4PRlxPgYUOlM2Ksu+kIrlKc1qYynU="; + }) + (fetchNuGet { + pname = "Robust.Natives.OpenAL"; + version = "0.1.0"; + hash = "sha256-3dIpRKPASi8wu8eMWSC/M4CNJK1WKKJVB4XVXKSeihs="; + }) + (fetchNuGet { + pname = "Robust.Natives.Swnfd"; + version = "0.1.0"; + hash = "sha256-Qav0yDVQ30eV31Gz+oMXJvHQnP+XrOicakw4rb6hVus="; + }) + (fetchNuGet { + pname = "Robust.Shared.AuthLib"; + version = "0.1.2"; + hash = "sha256-ANaf6S0tsocsw37RJvk9d4LcvVQ0+1yO900iG1BLwe4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.12.0"; + hash = "sha256-JD+ud+CFoLGdYGasTWKTxx5PYj2W5pBv2lMybBK7HVM="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "4.1.0"; + hash = "sha256-MXIj6YJ4GQbUS8553InMUZPPEfr8h33q2GtAhyu88+Y="; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "5.0.0"; + hash = "sha256-GKy9hwOdlu2W0Rw8LiPyEwus+sDtSOTl8a5l9uqz+SQ="; + }) + (fetchNuGet { + pname = "SharpZstd.Interop"; + version = "1.5.2-beta2"; + hash = "sha256-Xkmf3Fui97lC5CROT6o1W0vD4EURrMh7RJQ+nS+VhYQ="; + }) + (fetchNuGet { + pname = "SkiaSharp"; + version = "2.88.6"; + hash = "sha256-y0wzgwdQXtgl5boCz/EgLWbK3SwC0cFVRUbBxOUPQXc="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Linux"; + version = "2.88.6"; + hash = "sha256-VjgGoi73tVvqO/UXmQb1w9ioAbFu2dxH8oHz1l5H4zE="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.macOS"; + version = "2.88.6"; + hash = "sha256-7hOMjlYTOiNPLNwfLFUjTcdgiGEtmYUI1EubiRiC6bo="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.WebAssembly"; + version = "2.88.6"; + hash = "sha256-CIb9fHVgHwIa0R1WafKJ3+GqtDHHRgDohA3ayTHvlws="; + }) + (fetchNuGet { + pname = "SkiaSharp.NativeAssets.Win32"; + version = "2.88.6"; + hash = "sha256-ljD4QmAO2/vwA6I8GIUNkONpOzmGsOVJJy9vPDnjVfA="; + }) + (fetchNuGet { + pname = "SpaceWizards.Sodium"; + version = "0.2.1"; + hash = "sha256-1x10ZvfWf1VGQM87c3Hc7ue9ibhslA1P2zE29FylOhU="; + }) + (fetchNuGet { + pname = "SpaceWizards.Sodium.Interop"; + version = "1.0.18-beta4"; + hash = "sha256-dvPwT6owmBRYZT3UhOd9xBWtVF4C2+Woa7t18Y+IqfA="; + }) + (fetchNuGet { + pname = "Splat"; + version = "14.6.8"; + hash = "sha256-XHTuUKAisBU0O3keA+Ojzb8yKKJUheWbRHakzLBeQNo="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.bundle_e_sqlite3"; + version = "2.1.4"; + hash = "sha256-4IHC1KMcKOKHKLlf+/TIAVCQCdEDhPQw5+FUlujVDWo="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.core"; + version = "2.1.4"; + hash = "sha256-jSI3SIE/HBLEvM+IzhfnAS0QU+JQzIokC/lGLNLvUyU="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.lib.e_sqlite3"; + version = "2.1.4"; + hash = "sha256-dk7eEcw+lgpZuWdZn2794hQ6GHDeIfCRNGSysPUsiIY="; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.e_sqlite3"; + version = "2.1.4"; + hash = "sha256-Zdj676VT6j6k9ZCL2hYVl4F8bi4TK/ldvQBPmW0oDi0="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "5.0.0"; + hash = "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.5.0"; + hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "6.0.0"; + hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.0"; + hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + }) + (fetchNuGet { + pname = "System.Net.Http.WinHttpHandler"; + version = "8.0.0"; + hash = "sha256-wSK5KtWvlDp8WLNddCmAM66uGyj9/KfJyCh8ht1PD1M="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.3.0"; + hash = "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; + }) + (fetchNuGet { + pname = "System.Reactive"; + version = "5.0.0"; + hash = "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.3.0"; + hash = "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + hash = "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + hash = "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.3.0"; + hash = "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + hash = "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + hash = "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.7.1"; + hash = "sha256-UvyoDV8O0oY3HPG1GbA56YVdvwTGEfjYR5gW1O7IK4U="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "4.5.1"; + hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "TerraFX.Interop.Windows"; + version = "10.0.22621.1"; + hash = "sha256-0golrteOhpZblYuKjM3YP2rswAv/hzWDQ6I9rT9TcWE="; + }) + (fetchNuGet { + pname = "Tmds.DBus.Protocol"; + version = "0.15.0"; + hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; + }) + (fetchNuGet { + pname = "YamlDotNet"; + version = "13.0.2"; + hash = "sha256-aCI7NH5iDAOcQJZNdyArt9ksqfrINreCzV7uFg3bNww="; + }) ] diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix index f81c2f7f2f341..520439b2321b0 100644 --- a/pkgs/games/speed-dreams/default.nix +++ b/pkgs/games/speed-dreams/default.nix @@ -1,6 +1,40 @@ -{ fetchurl, lib, stdenv, libGLU, libGL, libglut, libX11, plib, openal, freealut, libXrandr, xorgproto, -libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat, -libpng, zlib, bash, SDL2, SDL2_mixer, enet, libjpeg, cmake, pkg-config, libvorbis, runtimeShell, curl, copyDesktopItems, makeDesktopItem }: +{ + fetchurl, + lib, + stdenv, + libGLU, + libGL, + libglut, + libX11, + plib, + openal, + freealut, + libXrandr, + xorgproto, + libXext, + libSM, + libICE, + libXi, + libXt, + libXrender, + libXxf86vm, + openscenegraph, + expat, + libpng, + zlib, + bash, + SDL2, + SDL2_mixer, + enet, + libjpeg, + cmake, + pkg-config, + libvorbis, + runtimeShell, + curl, + copyDesktopItems, + makeDesktopItem, +}: let version = "2.3.0-r8786"; @@ -66,25 +100,58 @@ stdenv.mkDerivation rec { icon = "speed-dreams-2.png"; desktopName = "speed-dreams-2"; comment = "The Open Racing Car Simulator Fork"; - categories = [ "Application" "Game" ]; + categories = [ + "Application" + "Game" + ]; }) ]; # RPATH of binary /nix/store/.../lib64/games/speed-dreams-2/drivers/shadow_sc/shadow_sc.so contains a forbidden reference to /build/ cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; - nativeBuildInputs = [ pkg-config cmake copyDesktopItems ]; + nativeBuildInputs = [ + pkg-config + cmake + copyDesktopItems + ]; - buildInputs = [ libpng libGLU libGL libglut libX11 plib openal freealut libXrandr xorgproto - libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat - SDL2 SDL2_mixer enet libjpeg openscenegraph libvorbis curl ]; + buildInputs = [ + libpng + libGLU + libGL + libglut + libX11 + plib + openal + freealut + libXrandr + xorgproto + libXext + libSM + libICE + libXi + libXt + libXrender + libXxf86vm + zlib + bash + expat + SDL2 + SDL2_mixer + enet + libjpeg + openscenegraph + libvorbis + curl + ]; meta = { description = "Car racing game - TORCS fork with more experimental approach"; homepage = "https://speed-dreams.sourceforge.net/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [raskin]; + maintainers = with lib.maintainers; [ raskin ]; platforms = lib.platforms.linux; - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 1185894dae66c..410de8382c938 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, asciidoc -, boost -, cmake -, curl -, docbook_xsl -, docbook_xsl_ns -, fetchurl -, freetype -, glew -, jdk -, libdevil -, libGL -, libGLU -, libunwind -, libvorbis -, makeWrapper -, minizip -, openal -, p7zip -, python3 -, SDL2 -, xorg -, xz -, zlib -, withAI ? true # support for AI Interfaces and Skirmish AIs +{ + lib, + stdenv, + asciidoc, + boost, + cmake, + curl, + docbook_xsl, + docbook_xsl_ns, + fetchurl, + freetype, + glew, + jdk, + libdevil, + libGL, + libGLU, + libunwind, + libvorbis, + makeWrapper, + minizip, + openal, + p7zip, + python3, + SDL2, + xorg, + xz, + zlib, + withAI ? true, # support for AI Interfaces and Skirmish AIs }: stdenv.mkDerivation rec { @@ -54,27 +55,37 @@ stdenv.mkDerivation rec { "-DPREFER_STATIC_LIBS:BOOL=OFF" ]; - nativeBuildInputs = [ cmake makeWrapper docbook_xsl docbook_xsl_ns asciidoc ]; - buildInputs = [ - boost - curl - freetype - glew - libdevil - libGL - libGLU - libunwind - libvorbis - minizip - openal - p7zip - SDL2 - xorg.libX11 - xorg.libXcursor - xz - zlib - ] - ++ lib.optionals withAI [ python3 jdk ]; + nativeBuildInputs = [ + cmake + makeWrapper + docbook_xsl + docbook_xsl_ns + asciidoc + ]; + buildInputs = + [ + boost + curl + freetype + glew + libdevil + libGL + libGLU + libunwind + libvorbis + minizip + openal + p7zip + SDL2 + xorg.libX11 + xorg.libXcursor + xz + zlib + ] + ++ lib.optionals withAI [ + python3 + jdk + ]; postInstall = '' wrapProgram "$out/bin/spring" \ @@ -85,7 +96,11 @@ stdenv.mkDerivation rec { homepage = "https://springrts.com/"; description = "Powerful real-time strategy (RTS) game engine"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ qknight domenkozar sorki ]; + maintainers = with maintainers; [ + qknight + domenkozar + sorki + ]; platforms = [ "x86_64-linux" ]; broken = true; }; diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix index ab792cf41a49e..dc3ae4ef6d7a7 100644 --- a/pkgs/games/spring/springlobby.nix +++ b/pkgs/games/spring/springlobby.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, cmake -, wxGTK32 -, openal -, pkg-config -, curl -, libtorrent-rasterbar -, libpng -, libX11 -, gettext -, boost -, libnotify -, gtk3 -, doxygen -, spring -, makeWrapper -, glib -, minizip -, alure -, pcre -, jsoncpp +{ + lib, + stdenv, + fetchurl, + cmake, + wxGTK32, + openal, + pkg-config, + curl, + libtorrent-rasterbar, + libpng, + libX11, + gettext, + boost, + libnotify, + gtk3, + doxygen, + spring, + makeWrapper, + glib, + minizip, + alure, + pcre, + jsoncpp, }: stdenv.mkDerivation rec { @@ -32,7 +33,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-XkU6i6ABCgw3H9vJu0xjHRO1BglueYM1LyJxcZdOrDk="; }; - nativeBuildInputs = [ cmake pkg-config gettext doxygen makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + gettext + doxygen + makeWrapper + ]; buildInputs = [ wxGTK32 openal @@ -65,7 +72,13 @@ stdenv.mkDerivation rec { homepage = "https://springlobby.springrts.com"; description = "Cross-platform lobby client for the Spring RTS project"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ qknight domenkozar ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ + qknight + domenkozar + ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/games/starsector/default.nix b/pkgs/games/starsector/default.nix index 8e38f232f21e9..7733bb7077fdc 100644 --- a/pkgs/games/starsector/default.nix +++ b/pkgs/games/starsector/default.nix @@ -1,14 +1,15 @@ -{ lib -, fetchzip -, libGL -, makeWrapper -, openal -, openjdk -, stdenv -, xorg -, copyDesktopItems -, makeDesktopItem -, writeScript +{ + lib, + fetchzip, + libGL, + makeWrapper, + openal, + openjdk, + stdenv, + xorg, + copyDesktopItems, + makeDesktopItem, + writeScript, }: stdenv.mkDerivation rec { @@ -20,8 +21,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-KT4n0kBocaljD6dTbpr6xcwy6rBBZTFjov9m+jizDW4="; }; - nativeBuildInputs = [ copyDesktopItems makeWrapper ]; - buildInputs = [ xorg.libXxf86vm openal libGL ]; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + ]; + buildInputs = [ + xorg.libXxf86vm + openal + libGL + ]; dontBuild = true; @@ -51,7 +59,12 @@ stdenv.mkDerivation rec { $out/share/icons/hicolor/64x64/apps/starsector.png wrapProgram $out/share/starsector/starsector.sh \ - --prefix PATH : ${lib.makeBinPath [ openjdk xorg.xrandr ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + openjdk + xorg.xrandr + ] + } \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} \ --run 'mkdir -p ''${XDG_DATA_HOME:-~/.local/share}/starsector' \ --chdir "$out/share/starsector" @@ -88,6 +101,9 @@ stdenv.mkDerivation rec { homepage = "https://fractalsoftworks.com"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; - maintainers = with maintainers; [ bbigras rafaelrc ]; + maintainers = with maintainers; [ + bbigras + rafaelrc + ]; }; } diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix index 813701c6ccd14..c847ad4ceda48 100644 --- a/pkgs/games/stuntrally/default.nix +++ b/pkgs/games/stuntrally/default.nix @@ -1,21 +1,22 @@ -{ lib -, fetchFromGitHub -, stdenv -, cmake -, boost -, ogre_13 -, mygui -, ois -, SDL2 -, libvorbis -, pkg-config -, makeWrapper -, enet -, libXcursor -, bullet -, openal -, tinyxml -, tinyxml-2 +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + boost, + ogre_13, + mygui, + ois, + SDL2, + libvorbis, + pkg-config, + makeWrapper, + enet, + libXcursor, + bullet, + openal, + tinyxml, + tinyxml-2, }: let @@ -60,7 +61,11 @@ stdenv.mkDerivation rec { ln -s ${tracks}/ data/tracks ''; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + ]; buildInputs = [ boost stuntrally_ogre diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index 69bdb24cea7c5..5e87d415a3189 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -1,31 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchsvn -, cmake -, pkg-config -, makeWrapper -, SDL2 -, glew -, openal -, OpenAL -, libvorbis -, libogg -, curl -, freetype -, libjpeg -, libpng -, harfbuzz -, mcpp -, wiiuse -, angelscript -, libopenglrecorder -, sqlite -, Cocoa -, IOKit -, IOBluetooth -, libsamplerate -, shaderc +{ + lib, + stdenv, + fetchFromGitHub, + fetchsvn, + cmake, + pkg-config, + makeWrapper, + SDL2, + glew, + openal, + OpenAL, + libvorbis, + libogg, + curl, + freetype, + libjpeg, + libpng, + harfbuzz, + mcpp, + wiiuse, + angelscript, + libopenglrecorder, + sqlite, + Cocoa, + IOKit, + IOBluetooth, + libsamplerate, + shaderc, }: let assets = fetchsvn { @@ -94,28 +95,37 @@ stdenv.mkDerivation rec { makeWrapper ]; - buildInputs = [ - shaderc - SDL2 - glew - libvorbis - libogg - freetype - curl - libjpeg - libpng - harfbuzz - mcpp - wiiuse - angelscript - sqlite - ] - ++ lib.optional (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isLinux) libopenglrecorder - ++ lib.optional stdenv.hostPlatform.isLinux openal - ++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenAL IOKit Cocoa IOBluetooth libsamplerate ]; + buildInputs = + [ + shaderc + SDL2 + glew + libvorbis + libogg + freetype + curl + libjpeg + libpng + harfbuzz + mcpp + wiiuse + angelscript + sqlite + ] + ++ lib.optional (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isLinux) libopenglrecorder + ++ lib.optional stdenv.hostPlatform.isLinux openal + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + OpenAL + IOKit + Cocoa + IOBluetooth + libsamplerate + ]; cmakeFlags = [ - "-DBUILD_RECORDER=${if (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isLinux) then "ON" else "OFF"}" + "-DBUILD_RECORDER=${ + if (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isLinux) then "ON" else "OFF" + }" "-DUSE_SYSTEM_ANGELSCRIPT=ON" "-DCHECK_ASSETS=OFF" "-DUSE_SYSTEM_WIIUSE=ON" @@ -153,7 +163,10 @@ stdenv.mkDerivation rec { ''; homepage = "https://supertuxkart.net/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ pyrolagus peterhoeg ]; + maintainers = with maintainers; [ + pyrolagus + peterhoeg + ]; platforms = with platforms; unix; changelog = "https://github.com/supertuxkart/stk-code/blob/${version}/CHANGELOG.md"; }; diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix index b07dbc311a2cc..047562bc028ab 100644 --- a/pkgs/games/teeworlds/default.nix +++ b/pkgs/games/teeworlds/default.nix @@ -1,8 +1,23 @@ -{ fetchFromGitHub, fetchpatch, lib, stdenv, cmake, pkg-config, python3, alsa-lib -, libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack, icoutils -, nixosTests -, Cocoa -, buildClient ? true +{ + fetchFromGitHub, + fetchpatch, + lib, + stdenv, + cmake, + pkg-config, + python3, + alsa-lib, + libX11, + libGLU, + SDL2, + lua5_3, + zlib, + freetype, + wavpack, + icoutils, + nixosTests, + Cocoa, + buildClient ? true, }: stdenv.mkDerivation rec { @@ -48,48 +63,61 @@ stdenv.mkDerivation rec { # don't seem to be packaged in Nixpkgs, so don't unbundle them. ''; - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals (buildClient && stdenv.hostPlatform.isLinux) [ - icoutils - ]; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals (buildClient && stdenv.hostPlatform.isLinux) [ + icoutils + ]; - buildInputs = [ - python3 lua5_3 zlib - wavpack - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Cocoa - ] ++ lib.optionals buildClient ([ - SDL2 - freetype - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libGLU - alsa-lib - libX11 - ]); + buildInputs = + [ + python3 + lua5_3 + zlib + wavpack + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ] + ++ lib.optionals buildClient ( + [ + SDL2 + freetype + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + alsa-lib + libX11 + ] + ); cmakeFlags = [ "-DCLIENT=${if buildClient then "ON" else "OFF"}" ]; - postInstall = lib.optionalString buildClient (lib.optionalString stdenv.hostPlatform.isLinux '' - # Convert and install desktop icon - mkdir -p $out/share/pixmaps - icotool --extract --index 1 --output $out/share/pixmaps/teeworlds.png $src/other/icons/teeworlds.ico - - # Install menu item - install -D $src/other/teeworlds.desktop $out/share/applications/teeworlds.desktop - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p "$out/Applications/teeworlds.app/Contents/MacOS" - mkdir -p "$out/Applications/teeworlds.app/Contents/Resources" - - cp '../other/icons/teeworlds.icns' "$out/Applications/teeworlds.app/Contents/Resources/" - cp '../other/bundle/client/Info.plist.in' "$out/Applications/teeworlds.app/Contents/Info.plist" - cp '../other/bundle/client/PkgInfo' "$out/Applications/teeworlds.app/Contents/" - ln -s "$out/bin/teeworlds" "$out/Applications/teeworlds.app/Contents/MacOS/" - ln -s "$out/share/teeworlds/data" "$out/Applications/teeworlds.app/Contents/Resources/data" - ''); + postInstall = lib.optionalString buildClient ( + lib.optionalString stdenv.hostPlatform.isLinux '' + # Convert and install desktop icon + mkdir -p $out/share/pixmaps + icotool --extract --index 1 --output $out/share/pixmaps/teeworlds.png $src/other/icons/teeworlds.ico + + # Install menu item + install -D $src/other/teeworlds.desktop $out/share/applications/teeworlds.desktop + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$out/Applications/teeworlds.app/Contents/MacOS" + mkdir -p "$out/Applications/teeworlds.app/Contents/Resources" + + cp '../other/icons/teeworlds.icns' "$out/Applications/teeworlds.app/Contents/Resources/" + cp '../other/bundle/client/Info.plist.in' "$out/Applications/teeworlds.app/Contents/Info.plist" + cp '../other/bundle/client/PkgInfo' "$out/Applications/teeworlds.app/Contents/" + ln -s "$out/bin/teeworlds" "$out/Applications/teeworlds.app/Contents/MacOS/" + ln -s "$out/share/teeworlds/data" "$out/Applications/teeworlds.app/Contents/Resources/data" + '' + ); passthru.tests.teeworlds = nixosTests.teeworlds; @@ -109,7 +137,7 @@ stdenv.mkDerivation rec { # See https://github.com/teeworlds/teeworlds/blob/master/license.txt lib.licenses.zlib # Main license cc-by-sa-30 # All content under 'datasrc' except the fonts - ofl # datasrc/fonts/SourceHanSans.ttc + ofl # datasrc/fonts/SourceHanSans.ttc free # datasrc/fonts/DejaVuSans.ttf bsd2 # src/engine/external/json-parser/ bsd3 # src/engine/external/wavpack @@ -117,7 +145,10 @@ stdenv.mkDerivation rec { # zlib src/engine/external/pnglite/ # zlib src/engine/external/zlib/ ]; - maintainers = with lib.maintainers; [ astsmtl Luflosi ]; + maintainers = with lib.maintainers; [ + astsmtl + Luflosi + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix index fcfa6f1d14ae5..68ec57b17651b 100644 --- a/pkgs/games/the-butterfly-effect/default.nix +++ b/pkgs/games/the-butterfly-effect/default.nix @@ -1,4 +1,13 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, qttools, wrapQtAppsHook, qtbase, qtsvg }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + qttools, + wrapQtAppsHook, + qtbase, + qtsvg, +}: mkDerivation rec { pname = "tbe"; @@ -18,8 +27,15 @@ mkDerivation rec { substituteInPlace i18n/CMakeLists.txt --replace qt5_create_translation qt_add_translation ''; - nativeBuildInputs = [ cmake qttools wrapQtAppsHook ]; - buildInputs = [ qtbase qtsvg ]; + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; + buildInputs = [ + qtbase + qtsvg + ]; strictDeps = true; installPhase = '' diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix index 5b932afbc49d0..4855f93390035 100644 --- a/pkgs/games/tibia/default.nix +++ b/pkgs/games/tibia/default.nix @@ -1,11 +1,20 @@ -{ lib, stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU, libGL }: +{ + lib, + stdenv, + fetchurl, + glibc, + libX11, + runtimeShell, + libGLU, + libGL, +}: stdenv.mkDerivation rec { pname = "tibia"; version = "10.90"; src = fetchurl { - url = "http://static.tibia.com/download/tibia${lib.replaceStrings ["."] [""] version}.tgz"; + url = "http://static.tibia.com/download/tibia${lib.replaceStrings [ "." ] [ "" ] version}.tgz"; sha256 = "11mkh2dynmbpay51yfaxm5dmcys3rnpk579s9ypfkhblsrchbkhx"; }; @@ -24,7 +33,14 @@ stdenv.mkDerivation rec { cp -r * $out/res patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \ - --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU libGL ]} \ + --set-rpath ${ + lib.makeLibraryPath [ + stdenv.cc.cc + libX11 + libGLU + libGL + ] + } \ "$out/res/Tibia" # We've patchelf'd the files. The main ‘Tibia’ binary is a bit @@ -51,7 +67,7 @@ stdenv.mkDerivation rec { description = "Top-down MMORPG set in a fantasy world"; homepage = "http://tibia.com"; license = lib.licenses.unfree; - platforms = ["i686-linux"]; + platforms = [ "i686-linux" ]; maintainers = [ ]; }; } diff --git a/pkgs/games/toppler/default.nix b/pkgs/games/toppler/default.nix index 48fb4667d93fa..0c9290dcc4d94 100644 --- a/pkgs/games/toppler/default.nix +++ b/pkgs/games/toppler/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitLab - -, pkg-config -, gettext -, povray -, imagemagick -, gimp - -, SDL2 -, SDL2_mixer -, SDL2_image -, libpng -, zlib +{ + lib, + stdenv, + fetchFromGitLab, + + pkg-config, + gettext, + povray, + imagemagick, + gimp, + + SDL2, + SDL2_mixer, + SDL2_image, + libpng, + zlib, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/games/ue4demos/default.nix b/pkgs/games/ue4demos/default.nix index ce3f3ad38f8db..b4a4568967aa2 100644 --- a/pkgs/games/ue4demos/default.nix +++ b/pkgs/games/ue4demos/default.nix @@ -1,25 +1,40 @@ -{ lib, stdenv, fetchurl, unzip, patchelf, xorg, openal }: +{ + lib, + stdenv, + fetchurl, + unzip, + patchelf, + xorg, + openal, +}: let - urls = file: - [ - # Untrusted mirrors - do not update hashes - "https://ludios.org/mirror/ue4demos/${file}" - "https://web.archive.org/web/20140824192039/http://ue4linux.raxxy.com/${file}" - ]; - - buildDemo = { name, src }: + urls = file: [ + # Untrusted mirrors - do not update hashes + "https://ludios.org/mirror/ue4demos/${file}" + "https://web.archive.org/web/20140824192039/http://ue4linux.raxxy.com/${file}" + ]; + + buildDemo = + { name, src }: stdenv.mkDerivation rec { inherit name src; - nativeBuildInputs = [ unzip patchelf ]; - - rtdeps = lib.makeLibraryPath - [ xorg.libXxf86vm xorg.libXext openal ] - + ":" + lib.makeSearchPathOutput "lib" "lib64" [ stdenv.cc.cc ]; - - buildCommand = - '' + nativeBuildInputs = [ + unzip + patchelf + ]; + + rtdeps = + lib.makeLibraryPath [ + xorg.libXxf86vm + xorg.libXext + openal + ] + + ":" + + lib.makeSearchPathOutput "lib" "lib64" [ stdenv.cc.cc ]; + + buildCommand = '' mkdir -p "$out" cd $out unzip $src @@ -56,7 +71,8 @@ let }; }; -in { +in +{ tappy_chicken = buildDemo { name = "ue4demos-tappy_chicken"; src = fetchurl { diff --git a/pkgs/games/vcmi/default.nix b/pkgs/games/vcmi/default.nix index a6bc05d8bbff5..cf5524b180edd 100644 --- a/pkgs/games/vcmi/default.nix +++ b/pkgs/games/vcmi/default.nix @@ -1,29 +1,30 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, SDL2_image -, SDL2_mixer -, SDL2_ttf -, boost -, cmake -, ffmpeg -, fuzzylite -, innoextract -, luajit -, minizip -, ninja -, pkg-config -, python3 -, qtbase -, qttools -, tbb -, unshield -, wrapQtAppsHook -, xz -, zlib -, testers -, vcmi +{ + lib, + stdenv, + fetchFromGitHub, + SDL2, + SDL2_image, + SDL2_mixer, + SDL2_ttf, + boost, + cmake, + ffmpeg, + fuzzylite, + innoextract, + luajit, + minizip, + ninja, + pkg-config, + python3, + qtbase, + qttools, + tbb, + unshield, + wrapQtAppsHook, + xz, + zlib, + testers, + vcmi, }: stdenv.mkDerivation rec { @@ -79,7 +80,13 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/vcmibuilder \ - --prefix PATH : "${lib.makeBinPath [ innoextract ffmpeg unshield ]}" + --prefix PATH : "${ + lib.makeBinPath [ + innoextract + ffmpeg + unshield + ] + }" ''; passthru.tests.version = testers.testVersion { @@ -94,7 +101,10 @@ stdenv.mkDerivation rec { description = "Open-source engine for Heroes of Might and Magic III"; homepage = "https://vcmi.eu"; changelog = "https://github.com/vcmi/vcmi/blob/${src.rev}/ChangeLog.md"; - license = with licenses; [ gpl2Plus cc-by-sa-40 ]; + license = with licenses; [ + gpl2Plus + cc-by-sa-40 + ]; maintainers = with maintainers; [ azahi ]; platforms = platforms.linux; mainProgram = "vcmilauncher"; diff --git a/pkgs/games/vessel/default.nix b/pkgs/games/vessel/default.nix index ddbbf68bbc089..0aad0143aa601 100644 --- a/pkgs/games/vessel/default.nix +++ b/pkgs/games/vessel/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, requireFile, SDL, libpulseaudio, alsa-lib, runtimeShell }: +{ + lib, + stdenv, + requireFile, + SDL, + libpulseaudio, + alsa-lib, + runtimeShell, +}: stdenv.mkDerivation rec { pname = "vessel"; @@ -11,18 +19,30 @@ stdenv.mkDerivation rec { directory where you saved it. ''; - src = if (stdenv.hostPlatform.isi686) then - requireFile { - message = goBuyItNow; - name = "vessel-${version}-bin"; - sha256 = "1vpwcrjiln2mx43h7ib3jnccyr3chk7a5x2bw9kb4lw8ycygvg96"; - } else throw "unsupported platform ${stdenv.hostPlatform.system} only i686-linux supported for now."; + src = + if (stdenv.hostPlatform.isi686) then + requireFile { + message = goBuyItNow; + name = "vessel-${version}-bin"; + sha256 = "1vpwcrjiln2mx43h7ib3jnccyr3chk7a5x2bw9kb4lw8ycygvg96"; + } + else + throw "unsupported platform ${stdenv.hostPlatform.system} only i686-linux supported for now."; phases = "installPhase"; ld_preload = ./isatty.c; - libPath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ] - + ":" + lib.makeLibraryPath [ SDL libpulseaudio alsa-lib ] ; + libPath = + lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + ] + + ":" + + lib.makeLibraryPath [ + SDL + libpulseaudio + alsa-lib + ]; installPhase = '' mkdir -p $out/libexec/strangeloop/vessel/ diff --git a/pkgs/games/vimgolf/default.nix b/pkgs/games/vimgolf/default.nix index 917dd3ffdfa94..f2e6c5075f14f 100644 --- a/pkgs/games/vimgolf/default.nix +++ b/pkgs/games/vimgolf/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "vimgolf"; diff --git a/pkgs/games/vimgolf/gemset.nix b/pkgs/games/vimgolf/gemset.nix index 17d66b934b228..f2c7c7c0d7352 100644 --- a/pkgs/games/vimgolf/gemset.nix +++ b/pkgs/games/vimgolf/gemset.nix @@ -1,40 +1,44 @@ { highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d"; type = "gem"; }; version = "2.0.3"; }; json_pure = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05ddn30jkpw6anfakfm7lffnrl2i0265ryrrwa4j0ivihjr95y82"; type = "gem"; }; version = "2.6.1"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; type = "gem"; }; version = "1.2.1"; }; vimgolf = { - dependencies = ["highline" "json_pure" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "highline" + "json_pure" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190dzqkvshd4i6jf30xnpm4sczraw6rdh4wvfh6qnmg0czmj0sny"; type = "gem"; }; diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix index 007b124ba58ce..57fe262babd4e 100644 --- a/pkgs/games/warsow/default.nix +++ b/pkgs/games/warsow/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, warsow-engine, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + warsow-engine, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "warsow"; @@ -32,7 +38,10 @@ stdenv.mkDerivation rec { ''; homepage = "http://www.warsow.net"; license = licenses.unfreeRedistributable; - maintainers = with maintainers; [ astsmtl abbradar ]; + maintainers = with maintainers; [ + astsmtl + abbradar + ]; platforms = warsow-engine.meta.platforms; }; } diff --git a/pkgs/games/warsow/engine.nix b/pkgs/games/warsow/engine.nix index 71bf581f14fad..c824fadc8814d 100644 --- a/pkgs/games/warsow/engine.nix +++ b/pkgs/games/warsow/engine.nix @@ -1,5 +1,20 @@ -{ stdenv, lib, substituteAll, fetchurl, cmake, libogg, libvorbis, libtheora, curl, freetype -, libjpeg, libpng, SDL2, libGL, openal, zlib +{ + stdenv, + lib, + substituteAll, + fetchurl, + cmake, + libogg, + libvorbis, + libtheora, + curl, + freetype, + libjpeg, + libpng, + SDL2, + libGL, + openal, + zlib, }: stdenv.mkDerivation rec { @@ -14,14 +29,32 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./libpath.patch; - inherit zlib curl libpng libjpeg libogg libvorbis libtheora freetype; + inherit + zlib + curl + libpng + libjpeg + libogg + libvorbis + libtheora + freetype + ; }) ]; nativeBuildInputs = [ cmake ]; buildInputs = [ - libogg libvorbis libtheora curl freetype libjpeg SDL2 libGL openal zlib + libogg + libvorbis + libtheora + curl + freetype + libjpeg + SDL2 + libGL + openal + zlib libpng ]; @@ -52,7 +85,10 @@ stdenv.mkDerivation rec { description = "Multiplayer FPS game designed for competitive gaming (engine only)"; homepage = "http://www.warsow.net"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ astsmtl abbradar ]; + maintainers = with maintainers; [ + astsmtl + abbradar + ]; platforms = platforms.linux; broken = stdenv.hostPlatform.isAarch64; }; diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix index 3977f87f8e939..f4aa2de0d37cd 100644 --- a/pkgs/games/xonotic/default.nix +++ b/pkgs/games/xonotic/default.nix @@ -1,17 +1,38 @@ -{ lib, stdenv, fetchurl, fetchzip, makeWrapper, runCommand, makeDesktopItem -, xonotic-data, copyDesktopItems -, # required for both - unzip, libjpeg, zlib, libvorbis, curl, freetype, libpng, libtheora -, # glx - libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, alsa-lib -, # sdl - SDL2 -, # blind - gmp - -, withSDL ? true -, withGLX ? false -, withDedicated ? true +{ + lib, + stdenv, + fetchurl, + fetchzip, + makeWrapper, + runCommand, + makeDesktopItem, + xonotic-data, + copyDesktopItems, + # required for both + unzip, + libjpeg, + zlib, + libvorbis, + curl, + freetype, + libpng, + libtheora, + # glx + libX11, + libGLU, + libGL, + libXpm, + libXext, + libXxf86vm, + alsa-lib, + # sdl + SDL2, + # blind + gmp, + + withSDL ? true, + withGLX ? false, + withDedicated ? true, }: let @@ -27,7 +48,8 @@ let "-glx" else if withDedicated then "-dedicated" - else "-what-even-am-i"; + else + "-what-even-am-i"; meta = { description = "A free fast-paced first-person shooter"; @@ -41,7 +63,10 @@ let ''; homepage = "https://www.xonotic.org/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ astsmtl zalakain ]; + maintainers = with lib.maintainers; [ + astsmtl + zalakain + ]; platforms = lib.platforms.linux; }; @@ -50,7 +75,10 @@ let exec = "xonotic"; comment = meta.description; desktopName = "Xonotic"; - categories = [ "Game" "Shooter" ]; + categories = [ + "Game" + "Shooter" + ]; icon = "xonotic"; startupNotify = false; }; @@ -65,8 +93,23 @@ let }; nativeBuildInputs = [ unzip ]; - buildInputs = [ libjpeg zlib libvorbis curl gmp ] - ++ lib.optionals withGLX [ libX11 libGLU libGL libXpm libXext libXxf86vm alsa-lib ] + buildInputs = + [ + libjpeg + zlib + libvorbis + curl + gmp + ] + ++ lib.optionals withGLX [ + libX11 + libGLU + libGL + libXpm + libXext + libXxf86vm + alsa-lib + ] ++ lib.optionals withSDL [ SDL2 ]; sourceRoot = "Xonotic/source/darkplaces"; @@ -82,73 +125,90 @@ let popd ''; - buildPhase = (lib.optionalString withDedicated '' - make -j $NIX_BUILD_CORES sv-${target} - '' + lib.optionalString withGLX '' - make -j $NIX_BUILD_CORES cl-${target} - '' + lib.optionalString withSDL '' - make -j $NIX_BUILD_CORES sdl-${target} - '') + '' - pushd ../d0_blind_id - make -j $NIX_BUILD_CORES - popd - ''; + buildPhase = + ( + lib.optionalString withDedicated '' + make -j $NIX_BUILD_CORES sv-${target} + '' + + lib.optionalString withGLX '' + make -j $NIX_BUILD_CORES cl-${target} + '' + + lib.optionalString withSDL '' + make -j $NIX_BUILD_CORES sdl-${target} + '' + ) + + '' + pushd ../d0_blind_id + make -j $NIX_BUILD_CORES + popd + ''; enableParallelBuilding = true; - installPhase = ('' - install -Dm644 ../../misc/logos/xonotic_icon.svg \ - $out/share/icons/hicolor/scalable/apps/xonotic.svg - pushd ../../misc/logos/icons_png - for img in *.png; do - size=''${img#xonotic_} - size=''${size%.png} - dimensions="''${size}x''${size}" - install -Dm644 $img \ - $out/share/icons/hicolor/$dimensions/apps/xonotic.png - done - popd - '' + lib.optionalString withDedicated '' - install -Dm755 darkplaces-dedicated "$out/bin/xonotic-dedicated" - '' + lib.optionalString withGLX '' - install -Dm755 darkplaces-glx "$out/bin/xonotic-glx" - '' + lib.optionalString withSDL '' - install -Dm755 darkplaces-sdl "$out/bin/xonotic-sdl" - '') + '' - pushd ../d0_blind_id - make install - popd - ''; + installPhase = + ( + '' + install -Dm644 ../../misc/logos/xonotic_icon.svg \ + $out/share/icons/hicolor/scalable/apps/xonotic.svg + pushd ../../misc/logos/icons_png + for img in *.png; do + size=''${img#xonotic_} + size=''${size%.png} + dimensions="''${size}x''${size}" + install -Dm644 $img \ + $out/share/icons/hicolor/$dimensions/apps/xonotic.png + done + popd + '' + + lib.optionalString withDedicated '' + install -Dm755 darkplaces-dedicated "$out/bin/xonotic-dedicated" + '' + + lib.optionalString withGLX '' + install -Dm755 darkplaces-glx "$out/bin/xonotic-glx" + '' + + lib.optionalString withSDL '' + install -Dm755 darkplaces-sdl "$out/bin/xonotic-sdl" + '' + ) + + '' + pushd ../d0_blind_id + make install + popd + ''; # Xonotic needs to find libcurl.so at runtime for map downloads dontPatchELF = true; - postFixup = lib.optionalString withDedicated '' - patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-dedicated - '' + lib.optionalString withGLX '' - patchelf \ - --add-needed ${curl.out}/lib/libcurl.so \ - --add-needed ${libvorbis}/lib/libvorbisfile.so \ - --add-needed ${libvorbis}/lib/libvorbisenc.so \ - --add-needed ${libvorbis}/lib/libvorbis.so \ - --add-needed ${libGL.out}/lib/libGL.so \ - --add-needed ${freetype}/lib/libfreetype.so \ - --add-needed ${libpng}/lib/libpng.so \ - --add-needed ${libtheora}/lib/libtheora.so \ - $out/bin/xonotic-glx - '' + lib.optionalString withSDL '' - patchelf \ - --add-needed ${curl.out}/lib/libcurl.so \ - --add-needed ${libvorbis}/lib/libvorbisfile.so \ - --add-needed ${libvorbis}/lib/libvorbisenc.so \ - --add-needed ${libvorbis}/lib/libvorbis.so \ - --add-needed ${freetype}/lib/libfreetype.so \ - --add-needed ${libpng}/lib/libpng.so \ - --add-needed ${libtheora}/lib/libtheora.so \ - $out/bin/xonotic-sdl - ''; + postFixup = + lib.optionalString withDedicated '' + patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-dedicated + '' + + lib.optionalString withGLX '' + patchelf \ + --add-needed ${curl.out}/lib/libcurl.so \ + --add-needed ${libvorbis}/lib/libvorbisfile.so \ + --add-needed ${libvorbis}/lib/libvorbisenc.so \ + --add-needed ${libvorbis}/lib/libvorbis.so \ + --add-needed ${libGL.out}/lib/libGL.so \ + --add-needed ${freetype}/lib/libfreetype.so \ + --add-needed ${libpng}/lib/libpng.so \ + --add-needed ${libtheora}/lib/libtheora.so \ + $out/bin/xonotic-glx + '' + + lib.optionalString withSDL '' + patchelf \ + --add-needed ${curl.out}/lib/libcurl.so \ + --add-needed ${libvorbis}/lib/libvorbisfile.so \ + --add-needed ${libvorbis}/lib/libvorbisenc.so \ + --add-needed ${libvorbis}/lib/libvorbis.so \ + --add-needed ${freetype}/lib/libfreetype.so \ + --add-needed ${libpng}/lib/libpng.so \ + --add-needed ${libtheora}/lib/libtheora.so \ + $out/bin/xonotic-sdl + ''; }; -in rec { +in +rec { xonotic-data = fetchzip { name = "xonotic-data"; url = "https://dl.xonotic.org/xonotic-${version}.zip"; @@ -157,35 +217,48 @@ in rec { cd $out rm -rf $(ls | grep -v "^data$" | grep -v "^key_0.d0pk$") ''; - meta.hydraPlatforms = []; + meta.hydraPlatforms = [ ]; inherit version pname; }; - xonotic = runCommand "xonotic${variant}-${version}" { - inherit xonotic-unwrapped version; - pname = "${pname}${variant}"; - nativeBuildInputs = [ makeWrapper copyDesktopItems ]; - desktopItems = [ desktopItem ]; - meta = meta // { - hydraPlatforms = []; - }; - } ('' - mkdir -p $out/bin - '' + lib.optionalString withDedicated '' - ln -s ${xonotic-unwrapped}/bin/xonotic-dedicated $out/bin/ - '' + lib.optionalString withGLX '' - ln -s ${xonotic-unwrapped}/bin/xonotic-glx $out/bin/xonotic-glx - ln -s $out/bin/xonotic-glx $out/bin/xonotic - '' + lib.optionalString withSDL '' - ln -s ${xonotic-unwrapped}/bin/xonotic-sdl $out/bin/xonotic-sdl - ln -sf $out/bin/xonotic-sdl $out/bin/xonotic - '' + lib.optionalString (withSDL || withGLX) '' - mkdir -p $out/share - ln -s ${xonotic-unwrapped}/share/icons $out/share/icons - copyDesktopItems - '' + '' - for binary in $out/bin/xonotic-*; do - wrapProgram $binary --add-flags "-basedir ${xonotic-data}" --prefix LD_LIBRARY_PATH : "${xonotic-unwrapped}/lib" - done - ''); + xonotic = + runCommand "xonotic${variant}-${version}" + { + inherit xonotic-unwrapped version; + pname = "${pname}${variant}"; + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + desktopItems = [ desktopItem ]; + meta = meta // { + hydraPlatforms = [ ]; + }; + } + ( + '' + mkdir -p $out/bin + '' + + lib.optionalString withDedicated '' + ln -s ${xonotic-unwrapped}/bin/xonotic-dedicated $out/bin/ + '' + + lib.optionalString withGLX '' + ln -s ${xonotic-unwrapped}/bin/xonotic-glx $out/bin/xonotic-glx + ln -s $out/bin/xonotic-glx $out/bin/xonotic + '' + + lib.optionalString withSDL '' + ln -s ${xonotic-unwrapped}/bin/xonotic-sdl $out/bin/xonotic-sdl + ln -sf $out/bin/xonotic-sdl $out/bin/xonotic + '' + + lib.optionalString (withSDL || withGLX) '' + mkdir -p $out/share + ln -s ${xonotic-unwrapped}/share/icons $out/share/icons + copyDesktopItems + '' + + '' + for binary in $out/bin/xonotic-*; do + wrapProgram $binary --add-flags "-basedir ${xonotic-data}" --prefix LD_LIBRARY_PATH : "${xonotic-unwrapped}/lib" + done + '' + ); } diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix index baf51d96a0283..96e4b0d8a73b1 100644 --- a/pkgs/games/xpilot/bloodspilot-client.nix +++ b/pkgs/games/xpilot/bloodspilot-client.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchurl, libX11, SDL, libGLU, libGL, expat, zlib, SDL_ttf, SDL_image }: +{ + lib, + stdenv, + fetchurl, + libX11, + SDL, + libGLU, + libGL, + expat, + zlib, + SDL_ttf, + SDL_image, +}: stdenv.mkDerivation rec { version = "1.5.0"; @@ -10,7 +22,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libX11 SDL SDL_ttf SDL_image libGLU libGL expat zlib + libX11 + SDL + SDL_ttf + SDL_image + libGLU + libGL + expat + zlib ]; NIX_LDFLAGS = "-lX11"; @@ -19,8 +38,8 @@ stdenv.mkDerivation rec { description = "Multiplayer space combat game (client part)"; mainProgram = "bloodspilot-client-sdl"; homepage = "http://bloodspilot.sf.net/"; - license = lib.licenses.gpl2Plus ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2Plus; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/games/xpilot/bloodspilot-server.nix b/pkgs/games/xpilot/bloodspilot-server.nix index 509da8eabbe01..2e3ac840ea67a 100644 --- a/pkgs/games/xpilot/bloodspilot-server.nix +++ b/pkgs/games/xpilot/bloodspilot-server.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, expat }: +{ + lib, + stdenv, + fetchurl, + expat, +}: stdenv.mkDerivation rec { pname = "bloodspilot-xpilot-fxi-server"; @@ -21,7 +26,7 @@ stdenv.mkDerivation rec { description = "Multiplayer X11 space combat game (server part)"; mainProgram = "xpilots"; homepage = "http://bloodspilot.sf.net/"; - license = licenses.gpl2Plus ; + license = licenses.gpl2Plus; maintainers = [ maintainers.raskin ]; platforms = platforms.linux; }; diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix index 009ba7a7a7240..bdc41a27de8a3 100644 --- a/pkgs/games/xpilot/default.nix +++ b/pkgs/games/xpilot/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, libX11, libSM, SDL, libGLU, libGL, expat, SDL_ttf -, SDL_image, zlib, libXxf86misc }: +{ + lib, + stdenv, + fetchurl, + libX11, + libSM, + SDL, + libGLU, + libGL, + expat, + SDL_ttf, + SDL_image, + zlib, + libXxf86misc, +}: stdenv.mkDerivation rec { pname = "xpilot-ng"; version = "4.7.3"; @@ -8,7 +21,16 @@ stdenv.mkDerivation rec { sha256 = "02a7pnp88kh88fzda5q8mzlckk6y9r5fw47j00h26wbsfly0k1zj"; }; buildInputs = [ - libX11 libSM SDL SDL_ttf SDL_image libGLU libGL expat zlib libXxf86misc + libX11 + libSM + SDL + SDL_ttf + SDL_image + libGLU + libGL + expat + zlib + libXxf86misc ]; meta = with lib; { description = "Multiplayer X11 space combat game"; diff --git a/pkgs/misc/apulse/default.nix b/pkgs/misc/apulse/default.nix index 00b53851b8297..c8bc4d7140ec0 100644 --- a/pkgs/misc/apulse/default.nix +++ b/pkgs/misc/apulse/default.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, alsa-lib, cmake, pkg-config, glib -, tracingSupport ? true, logToStderr ? true }: +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + cmake, + pkg-config, + glib, + tracingSupport ? true, + logToStderr ? true, +}: -let oz = x: if x then "1" else "0"; in +let + oz = x: if x then "1" else "0"; +in stdenv.mkDerivation rec { pname = "apulse"; @@ -14,9 +25,15 @@ stdenv.mkDerivation rec { sha256 = "1p6fh6ah5v3qz7dxhcsixx38bxg44ypbim4m03bxk3ls5i9xslmn"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - buildInputs = [ alsa-lib glib ]; + buildInputs = [ + alsa-lib + glib + ]; cmakeFlags = [ "-DWITH_TRACE=${oz tracingSupport}" diff --git a/pkgs/misc/apulse/pressureaudio.nix b/pkgs/misc/apulse/pressureaudio.nix index 638334f44a5d1..277c5c85ac264 100644 --- a/pkgs/misc/apulse/pressureaudio.nix +++ b/pkgs/misc/apulse/pressureaudio.nix @@ -1,4 +1,10 @@ -{ stdenv, apulse, libpulseaudio, pkg-config, intltool }: +{ + stdenv, + apulse, + libpulseaudio, + pkg-config, + intltool, +}: stdenv.mkDerivation { pname = "libpressureaudio"; @@ -6,7 +12,10 @@ stdenv.mkDerivation { src = libpulseaudio.src; - nativeBuildInputs = [ pkg-config intltool ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/misc/autotiling/default.nix b/pkgs/misc/autotiling/default.nix index 41131cbb916bd..fda86494b7ff5 100644 --- a/pkgs/misc/autotiling/default.nix +++ b/pkgs/misc/autotiling/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonApplication, fetchFromGitHub, i3ipc, importlib-metadata }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + i3ipc, + importlib-metadata, +}: buildPythonApplication rec { pname = "autotiling"; @@ -11,7 +17,10 @@ buildPythonApplication rec { hash = "sha256-k+UiAGMB/fJiE+C737yGdyTpER1ciZrMkZezkcn/4yk="; }; - propagatedBuildInputs = [ i3ipc importlib-metadata ]; + propagatedBuildInputs = [ + i3ipc + importlib-metadata + ]; doCheck = false; meta = with lib; { @@ -23,4 +32,3 @@ buildPythonApplication rec { mainProgram = "autotiling"; }; } - diff --git a/pkgs/misc/barebox/default.nix b/pkgs/misc/barebox/default.nix index ab981d1f38c0e..f6bb7caa15f13 100644 --- a/pkgs/misc/barebox/default.nix +++ b/pkgs/misc/barebox/default.nix @@ -1,84 +1,93 @@ -{ stdenv -, lib -, fetchurl -, bison -, dtc -, flex -, libusb1 -, lzop -, openssl -, pkg-config -, buildPackages +{ + stdenv, + lib, + fetchurl, + bison, + dtc, + flex, + libusb1, + lzop, + openssl, + pkg-config, + buildPackages, }: let - buildBarebox = { - filesToInstall - , installDir ? "$out" - , defconfig - , extraMeta ? {} - , ... } @ args: stdenv.mkDerivation rec { - pname = "barebox-${defconfig}"; - - version = "2020.12.0"; - - src = fetchurl { - url = "https://www.barebox.org/download/barebox-${version}.tar.bz2"; - sha256 = "06vsd95ihaa2nywpqy6k0c7xwk2pzws4yvbp328yd2pfiigachrv"; - }; - - postPatch = '' - patchShebangs scripts - ''; - - nativeBuildInputs = [ - bison - dtc - flex - openssl - libusb1 - lzop - pkg-config - ]; - depsBuildBuild = [ buildPackages.stdenv.cc ]; - - hardeningDisable = [ "all" ]; - - makeFlags = [ - "DTC=dtc" - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; - - configurePhase = '' - runHook preConfigure - - make ${defconfig} - - runHook postConfigure - ''; - - installPhase = '' - runHook preInstall - - mkdir -p ${installDir} - cp ${lib.concatStringsSep " " filesToInstall} ${installDir} - - runHook postInstall - ''; - - enableParallelBuilding = true; - - dontStrip = true; - - meta = with lib; { - homepage = "https://www.barebox.org"; - description = "Swiss Army Knive for bare metal"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ emantor ]; - } // extraMeta; - } // removeAttrs args [ "extraMeta" ]; - -in { + buildBarebox = + { + filesToInstall, + installDir ? "$out", + defconfig, + extraMeta ? { }, + ... + }@args: + stdenv.mkDerivation rec { + pname = "barebox-${defconfig}"; + + version = "2020.12.0"; + + src = fetchurl { + url = "https://www.barebox.org/download/barebox-${version}.tar.bz2"; + sha256 = "06vsd95ihaa2nywpqy6k0c7xwk2pzws4yvbp328yd2pfiigachrv"; + }; + + postPatch = '' + patchShebangs scripts + ''; + + nativeBuildInputs = [ + bison + dtc + flex + openssl + libusb1 + lzop + pkg-config + ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + hardeningDisable = [ "all" ]; + + makeFlags = [ + "DTC=dtc" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; + + configurePhase = '' + runHook preConfigure + + make ${defconfig} + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + mkdir -p ${installDir} + cp ${lib.concatStringsSep " " filesToInstall} ${installDir} + + runHook postInstall + ''; + + enableParallelBuilding = true; + + dontStrip = true; + + meta = + with lib; + { + homepage = "https://www.barebox.org"; + description = "Swiss Army Knive for bare metal"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ emantor ]; + } + // extraMeta; + } + // removeAttrs args [ "extraMeta" ]; + +in +{ inherit buildBarebox; bareboxTools = buildBarebox { diff --git a/pkgs/misc/calaos/installer/default.nix b/pkgs/misc/calaos/installer/default.nix index 853c187d38ae5..311b87f6b4297 100644 --- a/pkgs/misc/calaos/installer/default.nix +++ b/pkgs/misc/calaos/installer/default.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, stdenv, fetchFromGitHub, qmake, qttools, qtbase }: +{ + mkDerivation, + lib, + stdenv, + fetchFromGitHub, + qmake, + qttools, + qtbase, +}: mkDerivation rec { pname = "calaos_installer"; @@ -11,18 +19,25 @@ mkDerivation rec { sha256 = "sha256-e/f58VtGmKukdv4rIrGljXhA9d/xUycM5V6I1FT5qeY="; }; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; buildInputs = [ qtbase ]; qmakeFlags = [ "REVISION=${version}" ]; - installPhase = if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - cp -a calaos_installer.app $out/Applications - '' else '' - mkdir -p $out/bin - cp -a calaos_installer $out/bin - ''; + installPhase = + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + cp -a calaos_installer.app $out/Applications + '' + else + '' + mkdir -p $out/bin + cp -a calaos_installer $out/bin + ''; meta = with lib; { description = "Calaos Installer, a tool to create calaos configuration"; diff --git a/pkgs/misc/cliscord/default.nix b/pkgs/misc/cliscord/default.nix index 0617b0f8069bc..0ceb9ca462a29 100644 --- a/pkgs/misc/cliscord/default.nix +++ b/pkgs/misc/cliscord/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, openssl -, pkg-config -, fetchFromGitHub -, Security +{ + lib, + stdenv, + rustPlatform, + openssl, + pkg-config, + fetchFromGitHub, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/misc/cups/cups-pk-helper.nix b/pkgs/misc/cups/cups-pk-helper.nix index 75f5122cfd03a..ede2192354222 100644 --- a/pkgs/misc/cups/cups-pk-helper.nix +++ b/pkgs/misc/cups/cups-pk-helper.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, intltool, pkg-config, glib, polkit, cups, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + intltool, + pkg-config, + glib, + polkit, + cups, + fetchpatch, +}: stdenv.mkDerivation rec { version = "0.2.6"; @@ -9,8 +19,15 @@ stdenv.mkDerivation rec { sha256 = "0a52jw6rm7lr5nbyksiia0rn7sasyb5cjqcb95z1wxm2yprgi6lm"; }; - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ glib polkit cups ]; + nativeBuildInputs = [ + pkg-config + intltool + ]; + buildInputs = [ + glib + polkit + cups + ]; patches = [ # Don't use etc/dbus-1/system.d diff --git a/pkgs/misc/cups/drivers/brgenml1lpr/default.nix b/pkgs/misc/cups/drivers/brgenml1lpr/default.nix index 98116903ec64c..c0dc26a5dfdc6 100644 --- a/pkgs/misc/cups/drivers/brgenml1lpr/default.nix +++ b/pkgs/misc/cups/drivers/brgenml1lpr/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cups, perl, ghostscript, which, makeWrapper}: +{ + lib, + stdenv, + fetchurl, + cups, + perl, + ghostscript, + which, + makeWrapper, +}: /* [Setup instructions](http://support.brother.com/g/s/id/linux/en/instruction_prn1a.html). @@ -49,7 +58,13 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups perl stdenv.cc.libc ghostscript which ]; + buildInputs = [ + cups + perl + stdenv.cc.libc + ghostscript + which + ]; dontBuild = true; @@ -83,7 +98,6 @@ stdenv.mkDerivation rec { dontPatchELF = true; - meta = { description = "Brother BrGenML1 LPR driver"; homepage = "http://www.brother.com"; diff --git a/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix b/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix index c9e92e839a0e3..57cfd2ef45fad 100644 --- a/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix +++ b/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix @@ -1,23 +1,44 @@ -{ lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file -, a2ps, coreutils, gnugrep, which, gawk }: +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + file, + a2ps, + coreutils, + gnugrep, + which, + gawk, +}: let version = "1.1.3"; model = "dcp375cw"; -in rec { +in +rec { driver = stdenv.mkDerivation { pname = "${model}-lpr"; inherit version; src = fetchurl { - url = - "https://download.brother.com/welcome/dlf005427/dcp375cwlpr-${version}-1.i386.deb"; - sha256 = - "6daf0144b5802ea8da394ca14db0e6f0200d4049545649283791f899b7f7bd26"; + url = "https://download.brother.com/welcome/dlf005427/dcp375cwlpr-${version}-1.i386.deb"; + sha256 = "6daf0144b5802ea8da394ca14db0e6f0200d4049545649283791f899b7f7bd26"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; - buildInputs = [ cups ghostscript a2ps gawk ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; + buildInputs = [ + cups + ghostscript + a2ps + gawk + ]; unpackPhase = "dpkg-deb -x $src $out"; installPhase = '' @@ -51,8 +72,7 @@ in rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = platforms.linux; - downloadPage = - "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_all&os=128"; + downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_all&os=128"; maintainers = with maintainers; [ marcovergueira ]; }; }; @@ -62,20 +82,31 @@ in rec { inherit version; src = fetchurl { - url = - "https://download.brother.com/welcome/dlf005429/dcp375cwcupswrapper-${version}-1.i386.deb"; - sha256 = - "9a255728b595d2667b2caf9d0d332b677e1a6829a3ec1ed6d4e900a44069cf2d"; + url = "https://download.brother.com/welcome/dlf005429/dcp375cwcupswrapper-${version}-1.i386.deb"; + sha256 = "9a255728b595d2667b2caf9d0d332b677e1a6829a3ec1ed6d4e900a44069cf2d"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; - buildInputs = [ cups ghostscript a2ps gawk ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; + buildInputs = [ + cups + ghostscript + a2ps + gawk + ]; unpackPhase = "dpkg-deb -x $src $out"; installPhase = '' for f in $out/opt/brother/Printers/${model}/cupswrapper/cupswrapper${model}; do wrapProgram $f --prefix PATH : ${ - lib.makeBinPath [ coreutils ghostscript gnugrep gnused ] + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + ] } done @@ -89,8 +120,7 @@ in rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = platforms.linux; - downloadPage = - "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_all&os=128"; + downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_all&os=128"; maintainers = with maintainers; [ marcovergueira ]; }; }; diff --git a/pkgs/misc/cups/drivers/brother/dcp9020cdw/default.nix b/pkgs/misc/cups/drivers/brother/dcp9020cdw/default.nix index ddae34eaec838..1a1e5988f007f 100644 --- a/pkgs/misc/cups/drivers/brother/dcp9020cdw/default.nix +++ b/pkgs/misc/cups/drivers/brother/dcp9020cdw/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchurl -, cups -, dpkg -, gnused -, makeWrapper -, ghostscript -, file -, a2ps -, coreutils -, gnugrep -, which -, gawk +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + file, + a2ps, + coreutils, + gnugrep, + which, + gawk, }: let @@ -28,8 +29,16 @@ rec { sha256 = "1z6nma489s0a0b0a8wyg38yxanz4k99dg29fyjs4jlprsvmwk56y"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; - buildInputs = [ cups ghostscript a2ps gawk ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; + buildInputs = [ + cups + ghostscript + a2ps + gawk + ]; unpackPhase = "dpkg-deb -x $src $out"; installPhase = '' @@ -43,16 +52,18 @@ rec { ln -s $out/opt/brother/Printers/${model}/lpd/filter${model} $out/lib/cups/filter/brother_lpdwrapper_${model} wrapProgram $out/opt/brother/Printers/${model}/lpd/filter${model} \ - --prefix PATH ":" ${lib.makeBinPath [ - gawk - ghostscript - a2ps - file - gnused - gnugrep - coreutils - which - ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + gawk + ghostscript + a2ps + file + gnused + gnugrep + coreutils + which + ] + } ''; meta = with lib; { @@ -75,13 +86,28 @@ rec { sha256 = "04yqm1qv9p4hgp1p6mqq4siygl4056s6flv6kqln8mvmcr8zaq1s"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; - buildInputs = [ cups ghostscript a2ps gawk ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; + buildInputs = [ + cups + ghostscript + a2ps + gawk + ]; unpackPhase = "dpkg-deb -x $src $out"; installPhase = '' for f in $out/opt/brother/Printers/${model}/cupswrapper/cupswrapper${model}; do - wrapProgram $f --prefix PATH : ${lib.makeBinPath [ coreutils ghostscript gnugrep gnused ]} + wrapProgram $f --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + ] + } done mkdir -p $out/share/cups/model diff --git a/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix b/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix index de1d397f7b581..b165938d487f8 100644 --- a/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix +++ b/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix @@ -1,15 +1,16 @@ -{ pkgsi686Linux -, stdenv -, fetchurl -, dpkg -, makeWrapper -, coreutils -, ghostscript -, gnugrep -, gnused -, which -, perl -, lib +{ + pkgsi686Linux, + stdenv, + fetchurl, + dpkg, + makeWrapper, + coreutils, + ghostscript, + gnugrep, + gnused, + which, + perl, + lib, }: let @@ -21,28 +22,38 @@ let }; reldir = "opt/brother/Printers/${model}/"; -in rec { +in +rec { driver = pkgsi686Linux.stdenv.mkDerivation rec { inherit src version; name = "${model}drv-${version}"; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; unpackPhase = "dpkg-deb -x $src $out"; installPhase = '' - dir="$out/${reldir}" - substituteInPlace $dir/lpd/filter_${model} \ - --replace /usr/bin/perl ${perl}/bin/perl \ - --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$dir\"; #" \ - --replace "PRINTER =~" "PRINTER = \"${model}\"; #" - wrapProgram $dir/lpd/filter_${model} \ - --prefix PATH : ${lib.makeBinPath [ - coreutils ghostscript gnugrep gnused which - ]} - # need to use i686 glibc here, these are 32bit proprietary binaries - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $dir/lpd/brmfcl3770cdwfilter + dir="$out/${reldir}" + substituteInPlace $dir/lpd/filter_${model} \ + --replace /usr/bin/perl ${perl}/bin/perl \ + --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$dir\"; #" \ + --replace "PRINTER =~" "PRINTER = \"${model}\"; #" + wrapProgram $dir/lpd/filter_${model} \ + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + which + ] + } + # need to use i686 glibc here, these are 32bit proprietary binaries + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $dir/lpd/brmfcl3770cdwfilter ''; meta = { @@ -50,7 +61,10 @@ in rec { homepage = "http://www.brother.com/"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ lib.maintainers.steveej ]; }; }; @@ -59,7 +73,10 @@ in rec { inherit version src; name = "${model}cupswrapper-${version}"; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; unpackPhase = "dpkg-deb -x $src $out"; @@ -71,7 +88,13 @@ in rec { --replace "basedir =~" "basedir = \"$basedir\"; #" \ --replace "PRINTER =~" "PRINTER = \"${model}\"; #" wrapProgram $dir/cupswrapper/brother_lpdwrapper_${model} \ - --prefix PATH : ${lib.makeBinPath [ coreutils gnugrep gnused ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnugrep + gnused + ] + } mkdir -p $out/lib/cups/filter mkdir -p $out/share/cups/model ln $dir/cupswrapper/brother_lpdwrapper_${model} $out/lib/cups/filter @@ -83,7 +106,10 @@ in rec { homepage = "http://www.brother.com/"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = [ lib.maintainers.steveej ]; }; }; diff --git a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix index 1a573c032e7fc..85b02e6620df3 100644 --- a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix +++ b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix @@ -1,23 +1,36 @@ -{ stdenv, lib, fetchzip, - autoconf, automake, libtool, - cups, popt, libtiff, libpng, - ghostscript }: - -/* this derivation is basically just a transcription of the rpm .spec - file included in the tarball */ +{ + stdenv, + lib, + fetchzip, + autoconf, + automake, + libtool, + cups, + popt, + libtiff, + libpng, + ghostscript, +}: + +/* + this derivation is basically just a transcription of the rpm .spec + file included in the tarball +*/ stdenv.mkDerivation { pname = "cnijfilter"; - /* important note about versions: cnijfilter packages seem to use - versions in a non-standard way. the version indicates which - printers are supported in the package. so this package should - not be "upgraded" in the usual way. - - instead, if you want to include another version supporting your - printer, you should try to abstract out the common things (which - should be pretty much everything except the version and the 'pr' - and 'pr_id' values to loop over). */ + /* + important note about versions: cnijfilter packages seem to use + versions in a non-standard way. the version indicates which + printers are supported in the package. so this package should + not be "upgraded" in the usual way. + + instead, if you want to include another version supporting your + printer, you should try to abstract out the common things (which + should be pretty much everything except the version and the 'pr' + and 'pr_id' values to loop over). + */ version = "2.80"; src = fetchzip { @@ -25,13 +38,23 @@ stdenv.mkDerivation { sha256 = "06s9nl155yxmx56056y22kz1p5b2sb5fhr3gf4ddlczjkd1xch53"; }; - nativeBuildInputs = [ autoconf automake ]; - buildInputs = [ libtool - cups popt libtiff libpng - ghostscript ]; - - patches = [ ./patches/missing-include.patch - ./patches/libpng15.patch ]; + nativeBuildInputs = [ + autoconf + automake + ]; + buildInputs = [ + libtool + cups + popt + libtiff + libpng + ghostscript + ]; + + patches = [ + ./patches/missing-include.patch + ./patches/libpng15.patch + ]; postPatch = '' sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" backend/src/Makefile.am; @@ -90,14 +113,16 @@ stdenv.mkDerivation { popd; ''; - /* the tarball includes some pre-built shared libraries. we run - 'patchelf --set-rpath' on them just a few lines above, so that - they can find each other. but that's not quite enough. some of - those libraries load each other in non-standard ways -- they - don't list each other in the DT_NEEDED section. so, if the - standard 'patchelf --shrink-rpath' (from - pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on - them, it undoes the --set-rpath. this prevents that. */ + /* + the tarball includes some pre-built shared libraries. we run + 'patchelf --set-rpath' on them just a few lines above, so that + they can find each other. but that's not quite enough. some of + those libraries load each other in non-standard ways -- they + don't list each other in the DT_NEEDED section. so, if the + standard 'patchelf --shrink-rpath' (from + pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on + them, it undoes the --set-rpath. this prevents that. + */ dontPatchELF = true; # fortify hardening makes the filter crash diff --git a/pkgs/misc/cups/drivers/hl1110/default.nix b/pkgs/misc/cups/drivers/hl1110/default.nix index 07143b0991fb1..9900ad4981715 100644 --- a/pkgs/misc/cups/drivers/hl1110/default.nix +++ b/pkgs/misc/cups/drivers/hl1110/default.nix @@ -1,34 +1,56 @@ -{lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk }: +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + file, + a2ps, + coreutils, + gawk, +}: let version = "3.0.1-1"; -cupsdeb = fetchurl { - url = "http://download.brother.com/welcome/dlf100421/hl1110cupswrapper-${version}.i386.deb"; - sha256 = "a87880f4ece764a724411b5b24d15d1b912f6ffc6ecbfd9fac4cd5eda13d2eb7"; -}; -srcdir = "hl1110cupswrapper-GPL_src-${version}"; -cupssrc = fetchurl { - url = "http://download.brother.com/welcome/dlf100422/${srcdir}.tar.gz"; - sha256 = "be1dce6a4608cb253b0b382db30bf5885da46b010e8eb595b15c435e2487761c"; -}; -lprdeb = fetchurl { - url = "http://download.brother.com/welcome/dlf100419/hl1110lpr-${version}.i386.deb"; - sha256 = "5af241782a0d500d7f47e06ea43d61127f4019b5b1c6e68b4c1cb4521a742c22"; -}; - in + cupsdeb = fetchurl { + url = "http://download.brother.com/welcome/dlf100421/hl1110cupswrapper-${version}.i386.deb"; + sha256 = "a87880f4ece764a724411b5b24d15d1b912f6ffc6ecbfd9fac4cd5eda13d2eb7"; + }; + srcdir = "hl1110cupswrapper-GPL_src-${version}"; + cupssrc = fetchurl { + url = "http://download.brother.com/welcome/dlf100422/${srcdir}.tar.gz"; + sha256 = "be1dce6a4608cb253b0b382db30bf5885da46b010e8eb595b15c435e2487761c"; + }; + lprdeb = fetchurl { + url = "http://download.brother.com/welcome/dlf100419/hl1110lpr-${version}.i386.deb"; + sha256 = "5af241782a0d500d7f47e06ea43d61127f4019b5b1c6e68b4c1cb4521a742c22"; + }; +in stdenv.mkDerivation { pname = "cups-brother-hl1110"; inherit version; - srcs = [ lprdeb cupssrc cupsdeb ]; + srcs = [ + lprdeb + cupssrc + cupsdeb + ]; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups ghostscript dpkg a2ps ]; + buildInputs = [ + cups + ghostscript + dpkg + a2ps + ]; unpackPhase = '' tar -xvf ${cupssrc} - ''; + ''; buildPhase = '' gcc -Wall ${srcdir}/brcupsconfig/brcupsconfig.c -o brcupsconfig4 - ''; + ''; installPhase = '' # install lpr dpkg-deb -x ${lprdeb} $out @@ -43,10 +65,24 @@ stdenv.mkDerivation { patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/inf/braddprinter wrapProgram $out/opt/brother/Printers/HL1110/lpd/psconvert2 \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } wrapProgram $out/opt/brother/Printers/HL1110/lpd/filter_HL1110 \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + a2ps + file + gnused + coreutils + ] + } dpkg-deb -x ${cupsdeb} $out @@ -60,9 +96,15 @@ stdenv.mkDerivation { ln -s $out/opt/brother/Printers/HL1110/cupswrapper/brcupsconfig4 $out/lib/cups/filter/brcupsconfig4 wrapProgram $out/opt/brother/Printers/HL1110/cupswrapper/brother_lpdwrapper_HL1110 \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } - ''; + ''; meta = { homepage = "http://www.brother.com/"; diff --git a/pkgs/misc/cups/drivers/hl1210w/default.nix b/pkgs/misc/cups/drivers/hl1210w/default.nix index b4bf573d68e57..9dbe1ffe56a7d 100644 --- a/pkgs/misc/cups/drivers/hl1210w/default.nix +++ b/pkgs/misc/cups/drivers/hl1210w/default.nix @@ -1,4 +1,18 @@ -{lib, stdenv, pkgsi686Linux, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk}: +{ + lib, + stdenv, + pkgsi686Linux, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + file, + a2ps, + coreutils, + gawk, +}: let version = "3.0.1-1"; @@ -15,9 +29,17 @@ stdenv.mkDerivation { pname = "cups-brother-hl1210W"; inherit version; - srcs = [ lprdeb cupsdeb ]; + srcs = [ + lprdeb + cupsdeb + ]; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups ghostscript dpkg a2ps ]; + buildInputs = [ + cups + ghostscript + dpkg + a2ps + ]; dontUnpack = true; installPhase = '' @@ -34,9 +56,23 @@ stdenv.mkDerivation { patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1210W/inf/braddprinter wrapProgram $out/opt/brother/Printers/HL1210W/lpd/psconvert2 \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } wrapProgram $out/opt/brother/Printers/HL1210W/lpd/filter_HL1210W \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + a2ps + file + gnused + coreutils + ] + } # install cups dpkg-deb -x ${cupsdeb} $out @@ -50,8 +86,14 @@ stdenv.mkDerivation { ln -s $out/opt/brother/Printers/HL1210W/cupswrapper/brcupsconfig4 $out/lib/cups/filter/brcupsconfig4 wrapProgram $out/opt/brother/Printers/HL1210W/cupswrapper/brother_lpdwrapper_HL1210W \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } - ''; + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } + ''; meta = { homepage = "http://www.brother.com/"; diff --git a/pkgs/misc/cups/drivers/hl2260d/default.nix b/pkgs/misc/cups/drivers/hl2260d/default.nix index 9883bd99a314e..22d1ab057f039 100644 --- a/pkgs/misc/cups/drivers/hl2260d/default.nix +++ b/pkgs/misc/cups/drivers/hl2260d/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, coreutils, perl, gnugrep, which -, debugLvl ? "0" +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + coreutils, + perl, + gnugrep, + which, + debugLvl ? "0", }: let @@ -18,8 +30,15 @@ stdenv.mkDerivation { pname = "cups-brother-hl2260d"; inherit version; - nativeBuildInputs = [ makeWrapper dpkg ]; - buildInputs = [ cups ghostscript perl ]; + nativeBuildInputs = [ + makeWrapper + dpkg + ]; + buildInputs = [ + cups + ghostscript + perl + ]; dontPatchELF = true; dontBuild = true; @@ -71,18 +90,32 @@ stdenv.mkDerivation { makeWrapper \ $out/opt/brother/Printers/HL2260D/cupswrapper/brother_lpdwrapper_HL2260D \ $out/lib/cups/filter/brother_lpdwrapper_HL2260D \ - --prefix PATH : ${lib.makeBinPath [coreutils gnugrep gnused]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gnugrep + gnused + ] + } wrapProgram $out/opt/brother/Printers/HL2260D/lpd/filter_HL2260D \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript which ] } - ''; + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + which + ] + } + ''; meta = with lib; { homepage = "http://www.brother.com/"; description = "Brother HL-2260D printer driver"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; downloadPage = "https://support.brother.com/g/b/downloadtop.aspx?c=cn_ot&lang=en&prod=hl2260d_cn"; maintainers = with maintainers; [ u2x1 ]; }; diff --git a/pkgs/misc/cups/drivers/hl3140cw/default.nix b/pkgs/misc/cups/drivers/hl3140cw/default.nix index 2eceb64d3668d..01bf330149df2 100644 --- a/pkgs/misc/cups/drivers/hl3140cw/default.nix +++ b/pkgs/misc/cups/drivers/hl3140cw/default.nix @@ -1,4 +1,17 @@ -{lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk }: +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + file, + a2ps, + coreutils, + gawk, +}: let version = "1.1.4-0"; @@ -19,8 +32,15 @@ in stdenv.mkDerivation { pname = "cups-brother-hl3140cw"; inherit version; - nativeBuildInputs = [ makeWrapper dpkg ]; - buildInputs = [ cups ghostscript a2ps ]; + nativeBuildInputs = [ + makeWrapper + dpkg + ]; + buildInputs = [ + cups + ghostscript + a2ps + ]; unpackPhase = '' tar -xvf ${cupssrc} @@ -45,10 +65,24 @@ stdenv.mkDerivation { patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/usr/bin/brprintconf_hl3140cw wrapProgram $out/opt/brother/Printers/hl3140cw/lpd/psconvertij2 \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } wrapProgram $out/opt/brother/Printers/hl3140cw/lpd/filterhl3140cw \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + a2ps + file + gnused + coreutils + ] + } dpkg-deb -x ${cupsdeb} $out @@ -66,7 +100,13 @@ stdenv.mkDerivation { ln -s $out/opt/brother/Printers/hl3140cw/lpd/filterhl3140cw $out/lib/cups/filter/brother_lpdwrapper_hl3140cw wrapProgram $out/opt/brother/Printers/hl3140cw/cupswrapper/cupswrapperhl3140cw \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } ''; meta = { diff --git a/pkgs/misc/cups/drivers/hll2340dw/default.nix b/pkgs/misc/cups/drivers/hll2340dw/default.nix index 74f3c3819ae8e..0f41b255e920b 100644 --- a/pkgs/misc/cups/drivers/hll2340dw/default.nix +++ b/pkgs/misc/cups/drivers/hll2340dw/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file -, a2ps, coreutils, perl, gnugrep, which +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + gnused, + makeWrapper, + ghostscript, + file, + a2ps, + coreutils, + perl, + gnugrep, + which, }: let @@ -20,7 +33,12 @@ stdenv.mkDerivation { inherit version; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups ghostscript dpkg a2ps ]; + buildInputs = [ + cups + ghostscript + dpkg + a2ps + ]; dontUnpack = true; @@ -45,9 +63,14 @@ stdenv.mkDerivation { $out/opt/brother/Printers/HLL2340D/cupswrapper/paperconfigml1 \ ; do wrapProgram $f \ - --prefix PATH : ${lib.makeBinPath [ - coreutils ghostscript gnugrep gnused - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + ] + } done mkdir -p $out/lib/cups/filter/ @@ -57,8 +80,18 @@ stdenv.mkDerivation { ln -s $out/opt/brother/Printers/HLL2340D/cupswrapper/brother-HLL2340D-cups-en.ppd $out/share/cups/model/ wrapProgram $out/opt/brother/Printers/HLL2340D/lpd/filter_HLL2340D \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript a2ps file gnused gnugrep coreutils which ] } - ''; + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + a2ps + file + gnused + gnugrep + coreutils + which + ] + } + ''; meta = with lib; { homepage = "http://www.brother.com/"; diff --git a/pkgs/misc/cups/drivers/hll3230cdw/default.nix b/pkgs/misc/cups/drivers/hll3230cdw/default.nix index aff134d7a33a8..3e7893b36cf84 100644 --- a/pkgs/misc/cups/drivers/hll3230cdw/default.nix +++ b/pkgs/misc/cups/drivers/hll3230cdw/default.nix @@ -1,4 +1,14 @@ -{ stdenv, lib, fetchurl, perl, gnused, dpkg, makeWrapper, autoPatchelfHook, libredirect }: +{ + stdenv, + lib, + fetchurl, + perl, + gnused, + dpkg, + makeWrapper, + autoPatchelfHook, + libredirect, +}: stdenv.mkDerivation rec { pname = "cups-brother-hll3230cdw"; @@ -8,9 +18,17 @@ stdenv.mkDerivation rec { sha256 = "9d49abc584bf22bc381510618a34107ead6ab14562b51831fefd6009947aa5a9"; }; - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ + dpkg + makeWrapper + autoPatchelfHook + ]; - buildInputs = [ perl gnused libredirect ]; + buildInputs = [ + perl + gnused + libredirect + ]; unpackPhase = "dpkg-deb -x $src ."; @@ -69,7 +87,10 @@ stdenv.mkDerivation rec { license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; maintainers = with maintainers; [ aplund ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; homepage = "http://www.brother.com/"; downloadPage = "https://support.brother.com/g/b/downloadend.aspx?c=us&lang=en&prod=hll3230cdw_us_eu_as&os=128&dlid=dlf103925_000&flang=4&type3=10283"; }; diff --git a/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix index 28be1b580a44f..b865e9adb2c1e 100644 --- a/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix +++ b/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, cups, dpkg, ghostscript, a2ps, coreutils, gnused, gawk, file, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + cups, + dpkg, + ghostscript, + a2ps, + coreutils, + gnused, + gawk, + file, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "mfcj470dw-cupswrapper"; @@ -10,7 +23,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups ghostscript dpkg a2ps ]; + buildInputs = [ + cups + ghostscript + dpkg + a2ps + ]; dontUnpack = true; @@ -28,11 +46,25 @@ stdenv.mkDerivation rec { ln -s $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw $out/lib/cups/filter/brother_lpdwrapper_mfcj470dw wrapProgram $out/opt/brother/Printers/mfcj470dw/lpd/psconvertij2 \ - --prefix PATH ":" ${ lib.makeBinPath [ gnused coreutils gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + gnused + coreutils + gawk + ] + } wrapProgram $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw \ - --prefix PATH ":" ${ lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] } - ''; + --prefix PATH ":" ${ + lib.makeBinPath [ + ghostscript + a2ps + file + gnused + coreutils + ] + } + ''; meta = { homepage = "http://www.brother.com/"; diff --git a/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix index 0af79443ef6d4..b63b297a17aaa 100644 --- a/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix +++ b/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix @@ -1,5 +1,21 @@ -{ lib, stdenv, fetchurl, pkgsi686Linux, dpkg, makeWrapper, coreutils, gnused, gawk, file, cups, util-linux, xxd, runtimeShell -, ghostscript, a2ps }: +{ + lib, + stdenv, + fetchurl, + pkgsi686Linux, + dpkg, + makeWrapper, + coreutils, + gnused, + gawk, + file, + cups, + util-linux, + xxd, + runtimeShell, + ghostscript, + a2ps, +}: # Why: # The executable "brprintconf_mfcj6510dw" binary is looking for "/opt/brother/Printers/%s/inf/br%sfunc" and "/opt/brother/Printers/%s/inf/br%src". @@ -29,7 +45,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cups ghostscript dpkg a2ps ]; + buildInputs = [ + cups + ghostscript + dpkg + a2ps + ]; dontUnpack = true; @@ -73,18 +94,32 @@ stdenv.mkDerivation rec { ln -s $out/opt/brother/Printers/mfcj6510dw/lpd/filtermfcj6510dw $out/lib/cups/filter/brother_lpdwrapper_mfcj6510dw wrapProgram $out/opt/brother/Printers/mfcj6510dw/lpd/psconvertij2 \ - --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused gawk ] } + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + gnused + gawk + ] + } wrapProgram $out/opt/brother/Printers/mfcj6510dw/lpd/filtermfcj6510dw \ - --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused file ghostscript a2ps ] } - ''; + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + gnused + file + ghostscript + a2ps + ] + } + ''; meta = with lib; { - description = "Brother MFC-J6510DW LPR driver"; + description = "Brother MFC-J6510DW LPR driver"; downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj6510dw_all&os=128"; - homepage = "http://www.brother.com/"; + homepage = "http://www.brother.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; unfree; - maintainers = with maintainers; [ ramkromberg ]; - platforms = with platforms; linux; + license = with licenses; unfree; + maintainers = with maintainers; [ ramkromberg ]; + platforms = with platforms; linux; }; } diff --git a/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix b/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix index 7e0c95582f533..2370ec711f359 100644 --- a/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix +++ b/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, coreutils, dpkg, fetchurl, ghostscript, gnugrep, gnused, makeWrapper, perl, which }: +{ + lib, + stdenv, + coreutils, + dpkg, + fetchurl, + ghostscript, + gnugrep, + gnused, + makeWrapper, + perl, + which, +}: stdenv.mkDerivation rec { pname = "mfcl2700dnlpr"; @@ -9,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "170qdzxlqikzvv2wphvfb37m19mn13az4aj88md87ka3rl5knk4m"; }; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; dontUnpack = true; @@ -24,9 +39,15 @@ stdenv.mkDerivation rec { --replace "PRINTER =~" "PRINTER = \"MFCL2700DN\"; #" wrapProgram $dir/lpd/filter_MFCL2700DN \ - --prefix PATH : ${lib.makeBinPath [ - coreutils ghostscript gnugrep gnused which - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + ghostscript + gnugrep + gnused + which + ] + } interpreter=$(cat $NIX_CC/nix-support/dynamic-linker) patchelf --set-interpreter "$interpreter" $dir/inf/braddprinter diff --git a/pkgs/misc/cups/drivers/samsung/1.00.37.nix b/pkgs/misc/cups/drivers/samsung/1.00.37.nix index 326106b388783..4d0bb0e96a24e 100644 --- a/pkgs/misc/cups/drivers/samsung/1.00.37.nix +++ b/pkgs/misc/cups/drivers/samsung/1.00.37.nix @@ -1,12 +1,18 @@ -{ lib, stdenv, fetchurl, cups, libusb-compat-0_1, libxml2 }: +{ + lib, + stdenv, + fetchurl, + cups, + libusb-compat-0_1, + libxml2, +}: let - arch = if stdenv.hostPlatform.system == "x86_64-linux" - then "x86_64" - else "i386"; + arch = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "i386"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "samsung-unified-linux-driver"; version = "1.00.37"; diff --git a/pkgs/misc/cups/drivers/samsung/4.01.17.nix b/pkgs/misc/cups/drivers/samsung/4.01.17.nix index b822fa140bb03..05bf9c263d154 100644 --- a/pkgs/misc/cups/drivers/samsung/4.01.17.nix +++ b/pkgs/misc/cups/drivers/samsung/4.01.17.nix @@ -11,12 +11,13 @@ # } # (This advice was tested on the 1st November 2016.) -{ lib -, stdenv -, cups -, libusb-compat-0_1 -, fetchurl -, patchPpdFilesHook +{ + lib, + stdenv, + cups, + libusb-compat-0_1, + fetchurl, + patchPpdFilesHook, }: # Do not bump lightly! Visit @@ -24,8 +25,14 @@ let installationPath = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "i386"; appendPath = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") "64"; - libPath = lib.makeLibraryPath [ cups libusb-compat-0_1 ] + ":$out/lib:${lib.getLib stdenv.cc.cc}/lib${appendPath}"; -in stdenv.mkDerivation rec { + libPath = + lib.makeLibraryPath [ + cups + libusb-compat-0_1 + ] + + ":$out/lib:${lib.getLib stdenv.cc.cc}/lib${appendPath}"; +in +stdenv.mkDerivation rec { pname = "samsung-UnifiedLinuxDriver"; version = "4.01.17"; diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix index e4f44dbf29476..86792c4562441 100644 --- a/pkgs/misc/cups/filters.nix +++ b/pkgs/misc/cups/filters.nix @@ -1,104 +1,125 @@ -{ lib -, bc -, coreutils -, cups -, dbus -, dejavu_fonts -, fetchFromGitHub -, fontconfig -, gawk -, ghostscript -, gnugrep -, gnused -, ijs -, libcupsfilters -, libppd -, libexif -, libjpeg -, liblouis -, libpng -, makeWrapper -, autoreconfHook -, mupdf -, perl -, pkg-config -, poppler -, poppler_utils -, qpdf -, stdenv -, which -, withAvahi ? true +{ + lib, + bc, + coreutils, + cups, + dbus, + dejavu_fonts, + fetchFromGitHub, + fontconfig, + gawk, + ghostscript, + gnugrep, + gnused, + ijs, + libcupsfilters, + libppd, + libexif, + libjpeg, + liblouis, + libpng, + makeWrapper, + autoreconfHook, + mupdf, + perl, + pkg-config, + poppler, + poppler_utils, + qpdf, + stdenv, + which, + withAvahi ? true, }: -(if !withAvahi then lib.warn "the 'withAvahi' parameter to 'cups-filters' is deprecated, as the cups-browsed component (which does not make sense without avahi) has been split out of the cups-filters package (which no longer needs avahi)" else lib.id) +( + if !withAvahi then + lib.warn "the 'withAvahi' parameter to 'cups-filters' is deprecated, as the cups-browsed component (which does not make sense without avahi) has been split out of the cups-filters package (which no longer needs avahi)" + else + lib.id +) -(let - binPath = lib.makeBinPath [ bc coreutils gawk gnused gnugrep which ]; + ( + let + binPath = lib.makeBinPath [ + bc + coreutils + gawk + gnused + gnugrep + which + ]; -in -stdenv.mkDerivation rec { - pname = "cups-filters"; - version = "2.0.1"; + in + stdenv.mkDerivation rec { + pname = "cups-filters"; + version = "2.0.1"; - src = fetchFromGitHub { - owner = "OpenPrinting"; - repo = "cups-filters"; - rev = version; - hash = "sha256-bLOl64bdeZ10JLcQ7GbU+VffJu3Lzo0ves7O7GQIOWY="; - }; + src = fetchFromGitHub { + owner = "OpenPrinting"; + repo = "cups-filters"; + rev = version; + hash = "sha256-bLOl64bdeZ10JLcQ7GbU+VffJu3Lzo0ves7O7GQIOWY="; + }; - nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + autoreconfHook + ]; - buildInputs = [ - cups - ghostscript - libcupsfilters - libppd - mupdf - ]; + buildInputs = [ + cups + ghostscript + libcupsfilters + libppd + mupdf + ]; - configureFlags = [ - "--with-mutool-path=${mupdf}/bin/mutool" - "--with-gs-path=${ghostscript}/bin/gs" - "--with-ippfind-path=${cups}/bin/ippfind" - "--with-shell=${stdenv.shell}" - "--localstatedir=/var" - "--sysconfdir=/etc" - ]; + configureFlags = [ + "--with-mutool-path=${mupdf}/bin/mutool" + "--with-gs-path=${ghostscript}/bin/gs" + "--with-ippfind-path=${cups}/bin/ippfind" + "--with-shell=${stdenv.shell}" + "--localstatedir=/var" + "--sysconfdir=/etc" + ]; - makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" "CUPS_SERVERROOT=$(out)/etc/cups" ]; + makeFlags = [ + "CUPS_SERVERBIN=$(out)/lib/cups" + "CUPS_DATADIR=$(out)/share/cups" + "CUPS_SERVERROOT=$(out)/etc/cups" + ]; - # https://github.com/OpenPrinting/cups-filters/issues/512 - env.NIX_CFLAGS_COMPILE = "-std=c++17"; + # https://github.com/OpenPrinting/cups-filters/issues/512 + env.NIX_CFLAGS_COMPILE = "-std=c++17"; - postConfigure = - '' - # Ensure that bannertopdf can find the PDF templates in - # $out. (By default, it assumes that cups and cups-filters are - # installed in the same prefix.) - substituteInPlace config.h --replace ${cups.out}/share/cups/data $out/share/cups/data + postConfigure = '' + # Ensure that bannertopdf can find the PDF templates in + # $out. (By default, it assumes that cups and cups-filters are + # installed in the same prefix.) + substituteInPlace config.h --replace ${cups.out}/share/cups/data $out/share/cups/data - # Ensure that gstoraster can find gs in $PATH. - substituteInPlace filter/gstoraster.c --replace execve execvpe + # Ensure that gstoraster can find gs in $PATH. + substituteInPlace filter/gstoraster.c --replace execve execvpe - # Patch shebangs of generated build scripts - patchShebangs filter - ''; + # Patch shebangs of generated build scripts + patchShebangs filter + ''; - postInstall = - '' - for i in $out/lib/cups/filter/*; do - wrapProgram "$i" --prefix PATH ':' ${binPath} - done - ''; + postInstall = '' + for i in $out/lib/cups/filter/*; do + wrapProgram "$i" --prefix PATH ':' ${binPath} + done + ''; - enableParallelBuilding = true; - doCheck = true; + enableParallelBuilding = true; + doCheck = true; - meta = { - homepage = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"; - description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - }; -}) + meta = { + homepage = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"; + description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; + }; + } + ) diff --git a/pkgs/misc/documentation-highlighter/default.nix b/pkgs/misc/documentation-highlighter/default.nix index 3a7f5b21c69e9..fb9ddb8589f37 100644 --- a/pkgs/misc/documentation-highlighter/default.nix +++ b/pkgs/misc/documentation-highlighter/default.nix @@ -1,22 +1,26 @@ { lib, runCommand }: -runCommand "documentation-highlighter" { - meta = { - description = "Highlight.js sources for the Nix Ecosystem's documentation"; - homepage = "https://highlightjs.org"; - license = lib.licenses.bsd3; - platforms = lib.platforms.all; - maintainers = [ lib.maintainers.grahamc ]; - }; - src = lib.sources.cleanSourceWith { - src = ./.; - filter = path: type: lib.elem (baseNameOf path) ([ - "highlight.pack.js" - "LICENSE" - "loader.js" - "mono-blue.css" - "README.md" - ]); - }; -} '' - cp -r "$src" "$out" -'' +runCommand "documentation-highlighter" + { + meta = { + description = "Highlight.js sources for the Nix Ecosystem's documentation"; + homepage = "https://highlightjs.org"; + license = lib.licenses.bsd3; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.grahamc ]; + }; + src = lib.sources.cleanSourceWith { + src = ./.; + filter = + path: type: + lib.elem (baseNameOf path) ([ + "highlight.pack.js" + "LICENSE" + "loader.js" + "mono-blue.css" + "README.md" + ]); + }; + } + '' + cp -r "$src" "$out" + '' diff --git a/pkgs/misc/drivers/epkowa/default.nix b/pkgs/misc/drivers/epkowa/default.nix index bb0e1eb7b6fd5..21ad1bbc8873c 100644 --- a/pkgs/misc/drivers/epkowa/default.nix +++ b/pkgs/misc/drivers/epkowa/default.nix @@ -1,27 +1,30 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, makeWrapper -, symlinkJoin -, pkg-config -, libtool -, gtk2 -, libxml2 -, libxslt -, libusb-compat-0_1 -, sane-backends -, rpm -, cpio -, getopt -, autoPatchelfHook -, gcc +{ + lib, + stdenv, + fetchurl, + fetchpatch, + makeWrapper, + symlinkJoin, + pkg-config, + libtool, + gtk2, + libxml2, + libxslt, + libusb-compat-0_1, + sane-backends, + rpm, + cpio, + getopt, + autoPatchelfHook, + gcc, }: -let common_meta = { - homepage = "http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = with lib.licenses; epson; - platforms = with lib.platforms; linux; -}; +let + common_meta = { + homepage = "http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = with lib.licenses; epson; + platforms = with lib.platforms; linux; + }; in ############################ # @@ -30,412 +33,469 @@ in ############################ # adding a plugin for another printer shouldn't be too difficult, but you need the firmware to test... -let plugins = { - v330 = stdenv.mkDerivation rec { - name = "iscan-v330-bundle"; - version = "2.30.4"; - - src = fetchurl { - # To find new versions, visit - # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for - # some printer like for instance "WF-7210" to get to the most recent - # version. - # NOTE: Don't forget to update the webarchive link too! - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz" +let + plugins = { + v330 = stdenv.mkDerivation rec { + name = "iscan-v330-bundle"; + version = "2.30.4"; + + src = fetchurl { + # To find new versions, visit + # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for + # some printer like for instance "WF-7210" to get to the most recent + # version. + # NOTE: Don't forget to update the webarchive link too! + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v330/rpm/x64/iscan-perfection-v330-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "056c04pfsf98nnknphg28l489isqb6y4l2c8g7wqhclwgj7m338i"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpm ]; - sha256 = "056c04pfsf98nnknphg28l489isqb6y4l2c8g7wqhclwgj7m338i"; - }; - - nativeBuildInputs = [ autoPatchelfHook rpm ]; - installPhase = '' - ${rpm}/bin/rpm2cpio plugins/esci-interpreter-perfection-v330-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out{,/share,/lib} - cp -r ./usr/share/{iscan-data,esci}/ $out/share/ - cp -r ./usr/lib64/esci $out/lib - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x0142 "$plugin/lib/esci/libesci-interpreter-perfection-v330 $plugin/share/esci/esfwad.bin" + installPhase = '' + ${rpm}/bin/rpm2cpio plugins/esci-interpreter-perfection-v330-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out{,/share,/lib} + cp -r ./usr/share/{iscan-data,esci}/ $out/share/ + cp -r ./usr/lib64/esci $out/lib ''; - hw = "Perfection V330 Photo"; - }; - meta = common_meta // { description = "Plugin to support " + passthru.hw + " scanner in sane"; }; - }; - v370 = stdenv.mkDerivation rec { - name = "iscan-v370-bundle"; - version = "2.30.4"; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "1ff7adp9mha1i2ibllz540xkagpy8r757h4s3h60bgxbyzv2yggr"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0142 "$plugin/lib/esci/libesci-interpreter-perfection-v330 $plugin/share/esci/esfwad.bin" + ''; + hw = "Perfection V330 Photo"; + }; + meta = common_meta // { + description = "Plugin to support " + passthru.hw + " scanner in sane"; + }; }; + v370 = stdenv.mkDerivation rec { + name = "iscan-v370-bundle"; + version = "2.30.4"; + + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v370/rpm/x64/iscan-perfection-v370-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "1ff7adp9mha1i2ibllz540xkagpy8r757h4s3h60bgxbyzv2yggr"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpm + ]; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v370-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v370-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir -p $out/share $out/lib - cp -r usr/share/{iscan-data,iscan}/ $out/share - cp -r usr/lib64/iscan $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x014a "$plugin/lib/esci/libiscan-plugin-perfection-v370 $plugin/share/esci/esfwdd.bin" + mkdir -p $out/share $out/lib + cp -r usr/share/{iscan-data,iscan}/ $out/share + cp -r usr/lib64/iscan $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "Perfection V37/V370"; - }; - meta = common_meta // { description = "Plugin to support " + passthru.hw + " scanner in sane"; }; - }; - v550 = stdenv.mkDerivation rec { - pname = "iscan-perfection-v550-bundle"; - version = "2.30.4"; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "f8b3abf21354fc5b9bc87753cef950b6c0f07bf322a94aaff2c163bafcf50cd9"; - }; - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v550-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x013b "$plugin/lib/esci/libiscan-plugin-perfection-v550 $plugin/share/esci/esfweb.bin" - ''; - hw = "Perfection V550 Photo"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x014a "$plugin/lib/esci/libiscan-plugin-perfection-v370 $plugin/share/esci/esfwdd.bin" + ''; + hw = "Perfection V37/V370"; + }; + meta = common_meta // { + description = "Plugin to support " + passthru.hw + " scanner in sane"; + }; }; - meta = common_meta // { description = "Plugin to support " + passthru.hw + " scanner in sane"; }; - }; - v600 = stdenv.mkDerivation rec { - pname = "iscan-gt-x820-bundle"; - version = "2.30.4"; + v550 = stdenv.mkDerivation rec { + pname = "iscan-perfection-v550-bundle"; + version = "2.30.4"; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz" + nativeBuildInputs = [ + autoPatchelfHook + rpm ]; - sha256 = "1vlba7dsgpk35nn3n7is8nwds3yzlk38q43mppjzwsz2d2n7sr33"; - }; - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-gt-x820-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x013a "$plugin/lib/esci/libesintA1 $plugin/share/esci/esfwA1.bin" + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/perfection-v550/rpm/x64/iscan-perfection-v550-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "f8b3abf21354fc5b9bc87753cef950b6c0f07bf322a94aaff2c163bafcf50cd9"; + }; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-perfection-v550-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "Perfection V600 Photo"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x013b "$plugin/lib/esci/libiscan-plugin-perfection-v550 $plugin/share/esci/esfweb.bin" + ''; + hw = "Perfection V550 Photo"; + }; + meta = common_meta // { + description = "Plugin to support " + passthru.hw + " scanner in sane"; + }; }; - meta = common_meta // { description = "iscan esci x820 plugin for " + passthru.hw; }; - }; - x770 = stdenv.mkDerivation rec { - pname = "iscan-gt-x770-bundle"; - version = "2.30.4"; + v600 = stdenv.mkDerivation rec { + pname = "iscan-gt-x820-bundle"; + version = "2.30.4"; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz" + nativeBuildInputs = [ + autoPatchelfHook + rpm ]; - sha256 = "1chxdm6smv2d14pn2jl9xyd0vr42diy7vpskd3b9a61gf5h3gj03"; - }; - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-gt-x770-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x0130 "$plugin/lib/esci/libesint7C $plugin/share/esci/esfw7C.bin" + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x820/rpm/x64/iscan-gt-x820-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "1vlba7dsgpk35nn3n7is8nwds3yzlk38q43mppjzwsz2d2n7sr33"; + }; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-gt-x820-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "Perfection V500 Photo"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x013a "$plugin/lib/esci/libesintA1 $plugin/share/esci/esfwA1.bin" + ''; + hw = "Perfection V600 Photo"; + }; + meta = common_meta // { + description = "iscan esci x820 plugin for " + passthru.hw; + }; }; - meta = common_meta // { description = "iscan esci x770 plugin for " + passthru.hw; }; - }; - f720 = stdenv.mkDerivation rec { - pname = "iscan-gt-f720-bundle"; - version = "2.30.4"; + x770 = stdenv.mkDerivation rec { + pname = "iscan-gt-x770-bundle"; + version = "2.30.4"; - nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ gcc.cc.lib ]; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz" + nativeBuildInputs = [ + autoPatchelfHook + rpm ]; - sha256 = "1xnbmb2rn610kqpg1x6k1cc13zlmx2f3l2xnj6809rnhg96qqn20"; - }; - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio esci-interpreter-gt-f720-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x0131 "$plugin/lib/esci/libesci-interpreter-gt-f720 $plugin/share/esci/esfw8b.bin" + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x770/rpm/x64/iscan-gt-x770-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "1chxdm6smv2d14pn2jl9xyd0vr42diy7vpskd3b9a61gf5h3gj03"; + }; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-gt-x770-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "GT-F720, GT-S620, Perfection V30, Perfection V300 Photo"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0130 "$plugin/lib/esci/libesint7C $plugin/share/esci/esfw7C.bin" + ''; + hw = "Perfection V500 Photo"; + }; + meta = common_meta // { + description = "iscan esci x770 plugin for " + passthru.hw; + }; }; + f720 = stdenv.mkDerivation rec { + pname = "iscan-gt-f720-bundle"; + version = "2.30.4"; + + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ gcc.cc.lib ]; + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-f720/rpm/x64/iscan-gt-f720-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "1xnbmb2rn610kqpg1x6k1cc13zlmx2f3l2xnj6809rnhg96qqn20"; + }; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio esci-interpreter-gt-f720-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + ''; - meta = common_meta // { description = "iscan esci f720 plugin for " + passthru.hw; }; - }; - s80 = stdenv.mkDerivation rec { - pname = "iscan-gt-s80-bundle"; - version = "2.30.4"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0131 "$plugin/lib/esci/libesci-interpreter-gt-f720 $plugin/share/esci/esfw8b.bin" + ''; + hw = "GT-F720, GT-S620, Perfection V30, Perfection V300 Photo"; + }; - nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ gcc.cc.lib libtool ]; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "00qfdgs03k7bbs67zjrk8hbxvlyinsmk890amp9cmpfjfzdxgg58"; + meta = common_meta // { + description = "iscan esci f720 plugin for " + passthru.hw; + }; }; - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio esci-interpreter-gt-s80-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - ${rpm}/bin/rpm2cpio iscan-plugin-esdip-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mkdir $out/share/esci - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x0136 "$plugin/lib/esci/libesci-interpreter-gt-s80.so" - $registry --add interpreter usb 0x04b8 0x0137 "$plugin/lib/esci/libesci-interpreter-gt-s50.so" - $registry --add interpreter usb 0x04b8 0x0143 "$plugin/lib/esci/libesci-interpreter-gt-s50.so" - $registry --add interpreter usb 0x04b8 0x0144 "$plugin/lib/esci/libesci-interpreter-gt-s80.so" + s80 = stdenv.mkDerivation rec { + pname = "iscan-gt-s80-bundle"; + version = "2.30.4"; + + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ + gcc.cc.lib + libtool + ]; + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "00qfdgs03k7bbs67zjrk8hbxvlyinsmk890amp9cmpfjfzdxgg58"; + }; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio esci-interpreter-gt-s80-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + ${rpm}/bin/rpm2cpio iscan-plugin-esdip-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mkdir $out/share/esci ''; - hw = "ES-D200, ED-D350, ES-D400, GT-S50, GT-S55, GT-S80, GT-S85"; + + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0136 "$plugin/lib/esci/libesci-interpreter-gt-s80.so" + $registry --add interpreter usb 0x04b8 0x0137 "$plugin/lib/esci/libesci-interpreter-gt-s50.so" + $registry --add interpreter usb 0x04b8 0x0143 "$plugin/lib/esci/libesci-interpreter-gt-s50.so" + $registry --add interpreter usb 0x04b8 0x0144 "$plugin/lib/esci/libesci-interpreter-gt-s80.so" + ''; + hw = "ES-D200, ED-D350, ES-D400, GT-S50, GT-S55, GT-S80, GT-S85"; + }; + + meta = common_meta // { + description = "iscan esci s80 plugin for " + passthru.hw; + }; }; + s600 = stdenv.mkDerivation rec { + name = "iscan-gt-s600-bundle"; + version = "2.30.4"; + + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/20240614120113/https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "fe1356b1d5c40bc5ac985a5693166efb9e5049a78b412f49c385eb503eadf2c6"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpm + ]; - meta = common_meta // { description = "iscan esci s80 plugin for " + passthru.hw; }; - }; - s600 = stdenv.mkDerivation rec { - name = "iscan-gt-s600-bundle"; - version = "2.30.4"; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-gt-s600-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci + ''; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/20240614120113/https://download2.ebz.epson.net/iscan/plugin/gt-s600/rpm/x64/iscan-gt-s600-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "fe1356b1d5c40bc5ac985a5693166efb9e5049a78b412f49c385eb503eadf2c6"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x012d "$plugin/lib/esci/libesint66 $plugin/share/esci/esfw66.bin" + ''; + hw = "GT-F650, GT-S600, Perfection V10, Perfection V100 Photo"; + }; + meta = common_meta // { + description = "iscan gt-s600 plugin for " + passthru.hw; + }; }; + s650 = stdenv.mkDerivation rec { + name = "iscan-gt-s650-bundle"; + version = "2.30.4"; + + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "0fn4lz4g0a8l301v6yv7fwl37wgwhz5y90nf681f655xxc91hqh7"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpm + ]; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-gt-s600-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x012d "$plugin/lib/esci/libesint66 $plugin/share/esci/esfw66.bin" + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-gt-s650-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "GT-F650, GT-S600, Perfection V10, Perfection V100 Photo"; - }; - meta = common_meta // { description = "iscan gt-s600 plugin for " + passthru.hw; }; - }; - s650 = stdenv.mkDerivation rec { - name = "iscan-gt-s650-bundle"; - version = "2.30.4"; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-s650/rpm/x64/iscan-gt-s650-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "0fn4lz4g0a8l301v6yv7fwl37wgwhz5y90nf681f655xxc91hqh7"; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x013c "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin" + $registry --add interpreter usb 0x04b8 0x013d "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin" + ''; + hw = "GT-S650, Perfection V19, Perfection V39"; + }; + meta = common_meta // { + description = "iscan GT-S650 for " + passthru.hw; + }; }; + x750 = stdenv.mkDerivation rec { + name = "iscan-gt-x750-bundle"; + version = "2.30.4"; + + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "sha256-9EeBHmh1nwSxnTnevPP8RZ4WBdyY+itR3VXo2I7f5N0="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpm + ]; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-gt-s650-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x013c "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin" - $registry --add interpreter usb 0x04b8 0x013d "$plugin/lib/esci/libiscan-plugin-gt-s650 $plugin/share/esci/esfw010c.bin" + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-gt-x750-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "GT-S650, Perfection V19, Perfection V39"; - }; - meta = common_meta // { description = "iscan GT-S650 for " + passthru.hw; }; - }; - x750 = stdenv.mkDerivation rec { - name = "iscan-gt-x750-bundle"; - version = "2.30.4"; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-x750/rpm/x64/iscan-gt-x750-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "sha256-9EeBHmh1nwSxnTnevPP8RZ4WBdyY+itR3VXo2I7f5N0="; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0119 "$plugin/lib/esci/libesint54 $plugin/share/esci/esfw54.bin" + ''; + hw = "GT-X750, Perfection 4490"; + }; + meta = common_meta // { + description = "iscan GT-X750 for " + passthru.hw; + }; }; + gt1500 = stdenv.mkDerivation rec { + name = "iscan-gt-1500-bundle"; + version = "2.30.4"; + + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "sha256-1rVsbBsb+QtCOT1FsyhgvCbZIN6IeQH7rZXNmsD7cl8="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + rpm + ]; - nativeBuildInputs = [ autoPatchelfHook rpm ]; - - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-gt-x750-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x0119 "$plugin/lib/esci/libesint54 $plugin/share/esci/esfw54.bin" + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-plugin-gt-1500-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mv $out/share/iscan $out/share/esci + mv $out/lib/iscan $out/lib/esci ''; - hw = "GT-X750, Perfection 4490"; - }; - meta = common_meta // { description = "iscan GT-X750 for " + passthru.hw; }; - }; - gt1500 = stdenv.mkDerivation rec { - name = "iscan-gt-1500-bundle"; - version = "2.30.4"; - src = fetchurl { - urls = [ - "https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz" - ]; - sha256 = "sha256-1rVsbBsb+QtCOT1FsyhgvCbZIN6IeQH7rZXNmsD7cl8="; + passthru = { + registrationCommand = '' + $registry --add interpreter usb 0x04b8 0x0133 "$plugin/lib/esci/libesint86 $plugin/share/esci/esfw86.bin" + ''; + hw = "GT-1500"; + }; + meta = common_meta // { + description = "iscan GT-1500 for " + passthru.hw; + }; }; - - nativeBuildInputs = [ autoPatchelfHook rpm ]; - - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-plugin-gt-1500-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mv $out/share/iscan $out/share/esci - mv $out/lib/iscan $out/lib/esci - ''; - - passthru = { - registrationCommand = '' - $registry --add interpreter usb 0x04b8 0x0133 "$plugin/lib/esci/libesint86 $plugin/share/esci/esfw86.bin" + network = stdenv.mkDerivation rec { + pname = "iscan-nt-bundle"; + # for the version, look for the driver of XP-750 in the search page + version = "2.30.4"; + + buildInputs = [ (lib.getLib stdenv.cc.cc) ]; + nativeBuildInputs = [ autoPatchelfHook ]; + + src = fetchurl { + urls = [ + "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz" + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz" + ]; + sha256 = "0jssigsgkxb9i7qa7db291a1gbvwl795i4ahvb7bnqp33czkj85k"; + }; + installPhase = '' + cd plugins + ${rpm}/bin/rpm2cpio iscan-network-nt-*.x86_64.rpm | ${cpio}/bin/cpio -idmv + + mkdir $out + cp -r usr/share $out + cp -r usr/lib64 $out/lib + mkdir $out/share/esci ''; - hw = "GT-1500"; + passthru = { + registrationCommand = ""; + hw = "network"; + }; + + meta = common_meta // { + description = "iscan network plugin"; + }; }; - meta = common_meta // { description = "iscan GT-1500 for " + passthru.hw; }; }; - network = stdenv.mkDerivation rec { - pname = "iscan-nt-bundle"; - # for the version, look for the driver of XP-750 in the search page - version = "2.30.4"; - - buildInputs = [ (lib.getLib stdenv.cc.cc) ]; - nativeBuildInputs = [ autoPatchelfHook ]; +in +let + fwdir = symlinkJoin { + name = "esci-firmware-dir"; + paths = lib.mapAttrsToList (name: value: value + /share/esci) plugins; + }; +in +let + iscan-data = stdenv.mkDerivation rec { + pname = "iscan-data"; + version = "1.39.2-1"; src = fetchurl { urls = [ - "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz" - "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz" + "http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz" + "https://web.archive.org/web/http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz" ]; - sha256 = "0jssigsgkxb9i7qa7db291a1gbvwl795i4ahvb7bnqp33czkj85k"; + sha256 = "092qhlnjjgz11ifx6mng7mz20i44gc0nlccrbmw18xr5hipbqqka"; }; - installPhase = '' - cd plugins - ${rpm}/bin/rpm2cpio iscan-network-nt-*.x86_64.rpm | ${cpio}/bin/cpio -idmv - - mkdir $out - cp -r usr/share $out - cp -r usr/lib64 $out/lib - mkdir $out/share/esci - ''; - passthru = { - registrationCommand = ""; - hw = "network"; - }; - - meta = common_meta // { description = "iscan network plugin"; }; - }; -}; -in -let fwdir = symlinkJoin { - name = "esci-firmware-dir"; - paths = lib.mapAttrsToList (name: value: value + /share/esci) plugins; -}; -in -let iscan-data = stdenv.mkDerivation rec { - pname = "iscan-data"; - version = "1.39.2-1"; - src = fetchurl { - urls = [ - "http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz" - "https://web.archive.org/web/http://support.epson.net/linux/src/scanner/iscan/iscan-data_${version}.tar.gz" + buildInputs = [ + libxslt ]; - sha256 = "092qhlnjjgz11ifx6mng7mz20i44gc0nlccrbmw18xr5hipbqqka"; - }; - - buildInputs = [ - libxslt - ]; - meta = common_meta; -}; + meta = common_meta; + }; in stdenv.mkDerivation rec { pname = "iscan"; @@ -449,7 +509,11 @@ stdenv.mkDerivation rec { sha256 = "1ma76jj0k3bz0fy06fiyl4di4y77rcryb0mwjmzs5ms2vq9rjysr"; }; - nativeBuildInputs = [ pkg-config libtool makeWrapper ]; + nativeBuildInputs = [ + pkg-config + libtool + makeWrapper + ]; buildInputs = [ gtk2 libxml2 @@ -473,7 +537,10 @@ stdenv.mkDerivation rec { ]; patchFlags = [ "-p0" ]; - configureFlags = [ "--enable-dependency-reduction" "--disable-frontend" ]; + configureFlags = [ + "--enable-dependency-reduction" + "--disable-frontend" + ]; postConfigure = '' echo '#define NIX_ESCI_PREFIX "'${fwdir}'"' >> config.h @@ -487,24 +554,29 @@ stdenv.mkDerivation rec { mkdir -p $out/lib/iscan ln -s ${plugins.network}/lib/iscan/network $out/lib/iscan/network ''; - postFixup = '' - # iscan-registry is a shell script requiring getopt - wrapProgram $out/bin/iscan-registry --prefix PATH : ${getopt}/bin - registry=$out/bin/iscan-registry; - '' + - lib.concatStrings (lib.mapAttrsToList - (name: value: '' - plugin=${value}; - ${value.passthru.registrationCommand} - '') - plugins); + postFixup = + '' + # iscan-registry is a shell script requiring getopt + wrapProgram $out/bin/iscan-registry --prefix PATH : ${getopt}/bin + registry=$out/bin/iscan-registry; + '' + + lib.concatStrings ( + lib.mapAttrsToList (name: value: '' + plugin=${value}; + ${value.passthru.registrationCommand} + '') plugins + ); meta = common_meta // { description = "sane-epkowa backend for some epson scanners"; - longDescription = '' - Includes gui-less iscan (aka. Image Scan! for Linux). - Supported hardware: at least : - '' + - lib.concatStringsSep ", " (lib.mapAttrsToList (name: value: value.passthru.hw) plugins); - maintainers = with lib.maintainers; [ symphorien dominikh ]; + longDescription = + '' + Includes gui-less iscan (aka. Image Scan! for Linux). + Supported hardware: at least : + '' + + lib.concatStringsSep ", " (lib.mapAttrsToList (name: value: value.passthru.hw) plugins); + maintainers = with lib.maintainers; [ + symphorien + dominikh + ]; }; } diff --git a/pkgs/misc/drivers/epsonscan2/default.nix b/pkgs/misc/drivers/epsonscan2/default.nix index 6ee092b12e15b..a13f4da4daec0 100644 --- a/pkgs/misc/drivers/epsonscan2/default.nix +++ b/pkgs/misc/drivers/epsonscan2/default.nix @@ -1,24 +1,25 @@ -{ lib -, stdenv -, autoPatchelfHook -, boost -, cmake -, copyDesktopItems -, imagemagick -, fetchpatch -, fetchzip -, killall -, libjpeg -, libpng -, libtiff -, libtool -, libusb1 -, makeDesktopItem -, qtbase -, wrapQtAppsHook - -, withGui ? true -, withNonFreePlugins ? false +{ + lib, + stdenv, + autoPatchelfHook, + boost, + cmake, + copyDesktopItems, + imagemagick, + fetchpatch, + fetchzip, + killall, + libjpeg, + libpng, + libtiff, + libtool, + libusb1, + makeDesktopItem, + qtbase, + wrapQtAppsHook, + + withGui ? true, + withNonFreePlugins ? false, }: let @@ -32,19 +33,21 @@ let url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/69/0ef02802c476a6564f13cac929859c394f40326a/epsonscan2-6.7.63.0-1.src.tar.gz"; hash = "sha256-ZLnbIk0I7g6ext5anPD+/lD4qNlk6f2fL0xdIWLcfbY="; }; - bundle = { - "i686-linux" = fetchzip { - name = "${pname}-bundle"; - url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/67/ceae6a02aaa81cb61012899987fbb5ab891b6ab2/epsonscan2-bundle-6.7.63.0.i686.deb.tar.gz"; - hash = "sha256-h9beAzNdjOhTlZqW0rJbSQXGOpvFRGvTcWw0ZtOqiYY="; - }; - - "x86_64-linux" = fetchzip { - name = "${pname}-bundle"; - url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/68/050e5a55ed90f4efb4ca3bdd34e5797b149443ca/epsonscan2-bundle-6.7.63.0.x86_64.deb.tar.gz"; - hash = "sha256-+S17FfS2h4zZCvE6W+yZvdJb6+OWYTt0ZWCA+pe1NZc="; - }; - }."${system}" or (throw "Unsupported system: ${system}"); + bundle = + { + "i686-linux" = fetchzip { + name = "${pname}-bundle"; + url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/67/ceae6a02aaa81cb61012899987fbb5ab891b6ab2/epsonscan2-bundle-6.7.63.0.i686.deb.tar.gz"; + hash = "sha256-h9beAzNdjOhTlZqW0rJbSQXGOpvFRGvTcWw0ZtOqiYY="; + }; + + "x86_64-linux" = fetchzip { + name = "${pname}-bundle"; + url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/68/050e5a55ed90f4efb4ca3bdd34e5797b149443ca/epsonscan2-bundle-6.7.63.0.x86_64.deb.tar.gz"; + hash = "sha256-+S17FfS2h4zZCvE6W+yZvdJb6+OWYTt0ZWCA+pe1NZc="; + }; + } + ."${system}" or (throw "Unsupported system: ${system}"); in stdenv.mkDerivation { @@ -74,53 +77,64 @@ stdenv.mkDerivation { --replace '@OCR_ENGINE_GETROTATE@' $out/libexec/epsonscan2-ocr/ocr-engine-getrotate ''; - nativeBuildInputs = [ - cmake - ] ++ lib.optionals withGui [ - imagemagick # to make icons - wrapQtAppsHook - ] ++ lib.optionals withNonFreePlugins [ - autoPatchelfHook - ]; - - buildInputs = [ - boost - libjpeg - libpng - libtiff - libusb1 - ] ++ lib.optionals withGui [ - copyDesktopItems - qtbase - ] ++ lib.optionals withNonFreePlugins [ - libtool.lib - ]; - - cmakeFlags = [ - # The non-free (Debian) packages uses this directory structure so do the same when compiling - # from source so we can easily merge them. - "-DCMAKE_INSTALL_LIBDIR=lib/${system}-gnu" - ] ++ lib.optionals (!withGui) [ - "-DNO_GUI=ON" - ]; - - postInstall = '' - # But when we put all the libraries in lib/${system}-gnu, then SANE can't find the - # required libraries so create a symlink to where it expects them to be. - mkdir -p $out/lib/sane - for file in $out/lib/${system}-gnu/sane/*.so.*; do - ln -s $file $out/lib/sane/ - done - '' + lib.optionalString withGui '' - # The icon file extension is .ico but it's actually a png! - mkdir -p $out/share/icons/hicolor/{48x48,128x128}/apps - convert $src/Resources/Icons/escan2_app.ico -resize 48x48 $out/share/icons/hicolor/48x48/apps/epsonscan2.png - convert $src/Resources/Icons/escan2_app.ico -resize 128x128 $out/share/icons/hicolor/128x128/apps/epsonscan2.png - '' + lib.optionalString withNonFreePlugins '' - ar xf ${bundle}/plugins/epsonscan2-non-free-plugin_*.deb - tar Jxf data.tar.xz - cp -r usr/* $out - ''; + nativeBuildInputs = + [ + cmake + ] + ++ lib.optionals withGui [ + imagemagick # to make icons + wrapQtAppsHook + ] + ++ lib.optionals withNonFreePlugins [ + autoPatchelfHook + ]; + + buildInputs = + [ + boost + libjpeg + libpng + libtiff + libusb1 + ] + ++ lib.optionals withGui [ + copyDesktopItems + qtbase + ] + ++ lib.optionals withNonFreePlugins [ + libtool.lib + ]; + + cmakeFlags = + [ + # The non-free (Debian) packages uses this directory structure so do the same when compiling + # from source so we can easily merge them. + "-DCMAKE_INSTALL_LIBDIR=lib/${system}-gnu" + ] + ++ lib.optionals (!withGui) [ + "-DNO_GUI=ON" + ]; + + postInstall = + '' + # But when we put all the libraries in lib/${system}-gnu, then SANE can't find the + # required libraries so create a symlink to where it expects them to be. + mkdir -p $out/lib/sane + for file in $out/lib/${system}-gnu/sane/*.so.*; do + ln -s $file $out/lib/sane/ + done + '' + + lib.optionalString withGui '' + # The icon file extension is .ico but it's actually a png! + mkdir -p $out/share/icons/hicolor/{48x48,128x128}/apps + convert $src/Resources/Icons/escan2_app.ico -resize 48x48 $out/share/icons/hicolor/48x48/apps/epsonscan2.png + convert $src/Resources/Icons/escan2_app.ico -resize 128x128 $out/share/icons/hicolor/128x128/apps/epsonscan2.png + '' + + lib.optionalString withNonFreePlugins '' + ar xf ${bundle}/plugins/epsonscan2-non-free-plugin_*.deb + tar Jxf data.tar.xz + cp -r usr/* $out + ''; desktopItems = lib.optionals withGui [ (makeDesktopItem { @@ -130,7 +144,10 @@ stdenv.mkDerivation { desktopName = "Epson Scan 2"; genericName = "Epson Scan 2"; comment = description; - categories = [ "Graphics" "Scanning" ]; + categories = [ + "Graphics" + "Scanning" + ]; }) ]; @@ -153,10 +170,14 @@ stdenv.mkDerivation { ''; homepage = "https://support.epson.net/linux/en/epsonscan2.php"; - platforms = [ "i686-linux" "x86_64-linux" ]; - sourceProvenance = with lib.sourceTypes; [ fromSource ] ++ lib.optionals withNonFreePlugins [ binaryNativeCode ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; + sourceProvenance = + with lib.sourceTypes; + [ fromSource ] ++ lib.optionals withNonFreePlugins [ binaryNativeCode ]; license = with lib.licenses; if withNonFreePlugins then unfree else lgpl21Plus; maintainers = with lib.maintainers; [ james-atkins ]; }; } - diff --git a/pkgs/misc/drivers/gutenprint/bin.nix b/pkgs/misc/drivers/gutenprint/bin.nix index 4b74b191e7f0f..66cf34baa2aaa 100644 --- a/pkgs/misc/drivers/gutenprint/bin.nix +++ b/pkgs/misc/drivers/gutenprint/bin.nix @@ -1,45 +1,62 @@ -{ lib, stdenv, fetchurl, rpm, cpio, zlib }: - -/* usage: (sorry, its still impure but works!) - -impure directory: -mkdir /opt/gutenprint; sudo cp -r $(nix-build -A gutenprintBin -f $NIXPGS_ALL) /opt/gutenprint - -add the following lines to bindirCmds property of printing/cupsd.nix: - - ln -s ${pkgs.gutenprintBin}/lib/cups/backend/* $out/lib/cups/backend/ - ln -s ${pkgs.gutenprintBin}/lib/cups/filter/* $out/lib/cups/filter/ - mkdir -p $out/lib/cups/model - cat ${pkgs.gutenprintBin}/ppds/Canon/Canon-PIXMA_iP4000-gutenprint.5.0.sim-en.ppd.gz |gunzip > $out/lib/cups/model/Canon-PIXMA_iP4000-gutenprint.5.0.sim-en.ppd - sed -i 's@/opt/gutenprint/cups@${pkgs.gutenprintBin}/cups@' $out/lib/cups/model/Canon-PIXMA_iP4000-gutenprint.5.0.sim-en.ppd - -Then rebuild your system and add your printer using the the localhost:603 cups web interface -select the extracted .ppd file which can be found in the model directory of -sed -n 's/^ServerBin //p' $(sed -n 's/respawn.*-c \(.*''\) -F.*''/\1/p' /etc/event.d/cupsd) -(sorry, cups still doesn't see it. You could copy it into /nix/store/ -*-cups/lib/cups/model/ and you would be able to select canon -> PIXMA 4000 -then. I've tried that. - -TODO tidy this all up. Find source instead of binary. Fix paths ... Find out how to check ink levels etc - +{ + lib, + stdenv, + fetchurl, + rpm, + cpio, + zlib, +}: + +/* + usage: (sorry, its still impure but works!) + + impure directory: + mkdir /opt/gutenprint; sudo cp -r $(nix-build -A gutenprintBin -f $NIXPGS_ALL) /opt/gutenprint + + add the following lines to bindirCmds property of printing/cupsd.nix: + + ln -s ${pkgs.gutenprintBin}/lib/cups/backend/* $out/lib/cups/backend/ + ln -s ${pkgs.gutenprintBin}/lib/cups/filter/* $out/lib/cups/filter/ + mkdir -p $out/lib/cups/model + cat ${pkgs.gutenprintBin}/ppds/Canon/Canon-PIXMA_iP4000-gutenprint.5.0.sim-en.ppd.gz |gunzip > $out/lib/cups/model/Canon-PIXMA_iP4000-gutenprint.5.0.sim-en.ppd + sed -i 's@/opt/gutenprint/cups@${pkgs.gutenprintBin}/cups@' $out/lib/cups/model/Canon-PIXMA_iP4000-gutenprint.5.0.sim-en.ppd + + Then rebuild your system and add your printer using the the localhost:603 cups web interface + select the extracted .ppd file which can be found in the model directory of + sed -n 's/^ServerBin //p' $(sed -n 's/respawn.*-c \(.*''\) -F.*''/\1/p' /etc/event.d/cupsd) + (sorry, cups still doesn't see it. You could copy it into /nix/store/ + *-cups/lib/cups/model/ and you would be able to select canon -> PIXMA 4000 + then. I've tried that. + + TODO tidy this all up. Find source instead of binary. Fix paths ... Find out how to check ink levels etc */ stdenv.mkDerivation { pname = "cups-gutenprint-binary"; version = "5.0.1"; - src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "https://www.openprinting.org/download/printdriver/debian/dists/lsb3.1/main/binary-amd64/gutenprint_5.0.1-1lsb3.1_amd64.deb"; - sha256 = "0an5gba6r6v54r53s2gj2fjk8fzpl4lrksjas2333528b0k8gbbc"; - } else throw "TODO"; # get from openprint.com -> drivers -> gutenprint + src = + if stdenv.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "https://www.openprinting.org/download/printdriver/debian/dists/lsb3.1/main/binary-amd64/gutenprint_5.0.1-1lsb3.1_amd64.deb"; + sha256 = "0an5gba6r6v54r53s2gj2fjk8fzpl4lrksjas2333528b0k8gbbc"; + } + else + throw "TODO"; # get from openprint.com -> drivers -> gutenprint - buildInputs = [ rpm cpio ]; + buildInputs = [ + rpm + cpio + ]; dontUnpack = true; dontInstall = true; dontFixup = true; - libPath = lib.makeLibraryPath [ stdenv.cc.cc zlib ]; + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + zlib + ]; buildPhase = '' ar -x $src data.tar.gz diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix index e2d5b8ec6a82b..56b628ad90546 100644 --- a/pkgs/misc/drivers/gutenprint/default.nix +++ b/pkgs/misc/drivers/gutenprint/default.nix @@ -1,8 +1,18 @@ # this package was called gimp-print in the past -{ stdenv, lib, fetchurl, makeWrapper, pkg-config -, ijs, zlib -, gimp2Support ? false, gimp -, cupsSupport ? true, cups, libusb1, perl +{ + stdenv, + lib, + fetchurl, + makeWrapper, + pkg-config, + ijs, + zlib, + gimp2Support ? false, + gimp, + cupsSupport ? true, + cups, + libusb1, + perl, }: stdenv.mkDerivation rec { @@ -15,12 +25,29 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ makeWrapper pkg-config ] - ++ lib.optionals cupsSupport [ cups perl ]; # for cups-config + nativeBuildInputs = + [ + makeWrapper + pkg-config + ] + ++ lib.optionals cupsSupport [ + cups + perl + ]; # for cups-config buildInputs = - [ ijs zlib ] - ++ lib.optionals gimp2Support [ gimp.gtk gimp ] - ++ lib.optionals cupsSupport [ cups libusb1 perl ]; + [ + ijs + zlib + ] + ++ lib.optionals gimp2Support [ + gimp.gtk + gimp + ] + ++ lib.optionals cupsSupport [ + cups + libusb1 + perl + ]; configureFlags = lib.optionals cupsSupport [ "--disable-static-genppd" # should be harmless on NixOS @@ -28,17 +55,19 @@ stdenv.mkDerivation rec { # FIXME: hacky because we modify generated configure, but I haven't found a better way. # makeFlags doesn't change this everywhere (e.g. in cups-genppdupdate). - preConfigure = lib.optionalString cupsSupport '' - sed -i \ - -e "s,cups_conf_datadir=.*,cups_conf_datadir=\"$out/share/cups\",g" \ - -e "s,cups_conf_serverbin=.*,cups_conf_serverbin=\"$out/lib/cups\",g" \ - -e "s,cups_conf_serverroot=.*,cups_conf_serverroot=\"$out/etc/cups\",g" \ - configure - '' + lib.optionalString gimp2Support '' - sed -i \ - -e "s,gimp2_plug_indir=.*,gimp2_plug_indir=\"$out/lib/gimp/${gimp.majorVersion}\",g" \ - configure - ''; + preConfigure = + lib.optionalString cupsSupport '' + sed -i \ + -e "s,cups_conf_datadir=.*,cups_conf_datadir=\"$out/share/cups\",g" \ + -e "s,cups_conf_serverbin=.*,cups_conf_serverbin=\"$out/lib/cups\",g" \ + -e "s,cups_conf_serverroot=.*,cups_conf_serverroot=\"$out/etc/cups\",g" \ + configure + '' + + lib.optionalString gimp2Support '' + sed -i \ + -e "s,gimp2_plug_indir=.*,gimp2_plug_indir=\"$out/lib/gimp/${gimp.majorVersion}\",g" \ + configure + ''; enableParallelBuilding = true; diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix index 41614b27711c4..2694d91474027 100644 --- a/pkgs/misc/drivers/sc-controller/default.nix +++ b/pkgs/misc/drivers/sc-controller/default.nix @@ -1,9 +1,24 @@ -{ lib, buildPythonApplication, fetchFromGitHub, wrapGAppsHook3 -, pytestCheckHook -, gtk3, gobject-introspection, libappindicator-gtk3, librsvg -, evdev, pygobject3, pylibacl, bluez, vdf -, linuxHeaders -, libX11, libXext, libXfixes, libusb1, udev +{ + lib, + buildPythonApplication, + fetchFromGitHub, + wrapGAppsHook3, + pytestCheckHook, + gtk3, + gobject-introspection, + libappindicator-gtk3, + librsvg, + evdev, + pygobject3, + pylibacl, + bluez, + vdf, + linuxHeaders, + libX11, + libXext, + libXfixes, + libusb1, + udev, }: buildPythonApplication rec { @@ -17,11 +32,23 @@ buildPythonApplication rec { hash = "sha256-XakbCuwjIAXYFZxvJsAlDIJEl09pwFPT12h04onXd34="; }; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; - buildInputs = [ gtk3 libappindicator-gtk3 librsvg ]; + buildInputs = [ + gtk3 + libappindicator-gtk3 + librsvg + ]; - propagatedBuildInputs = [ evdev pygobject3 pylibacl vdf ]; + propagatedBuildInputs = [ + evdev + pygobject3 + pylibacl + vdf + ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -31,7 +58,14 @@ buildPythonApplication rec { substituteInPlace scc/device_monitor.py --replace "find_library('bluetooth')" "'libbluetooth.so.3'" ''; - LD_LIBRARY_PATH = lib.makeLibraryPath [ libX11 libXext libXfixes libusb1 udev bluez ]; + LD_LIBRARY_PATH = lib.makeLibraryPath [ + libX11 + libXext + libXfixes + libusb1 + udev + bluez + ]; preFixup = '' gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH") @@ -47,11 +81,14 @@ buildPythonApplication rec { ''; meta = with lib; { - homepage = "https://github.com/C0rn3j/sc-controller"; + homepage = "https://github.com/C0rn3j/sc-controller"; # donations: https://www.patreon.com/kozec description = "User-mode driver and GUI for Steam Controller and other controllers"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ orivej rnhmjoj ]; + license = licenses.gpl2Only; + platforms = platforms.linux; + maintainers = with maintainers; [ + orivej + rnhmjoj + ]; }; } diff --git a/pkgs/misc/drivers/utsushi/default.nix b/pkgs/misc/drivers/utsushi/default.nix index 1642e91bb109c..65b9c3e2678ad 100644 --- a/pkgs/misc/drivers/utsushi/default.nix +++ b/pkgs/misc/drivers/utsushi/default.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, writeScriptBin, fetchpatch, fetchFromGitLab, autoreconfHook, pkg-config -, autoconf-archive, libxslt, boost, gtkmm2, imagemagick, sane-backends -, tesseract4, udev, libusb1 -, withNetworkScan ? false, utsushi-networkscan +{ + lib, + stdenv, + writeScriptBin, + fetchpatch, + fetchFromGitLab, + autoreconfHook, + pkg-config, + autoconf-archive, + libxslt, + boost, + gtkmm2, + imagemagick, + sane-backends, + tesseract4, + udev, + libusb1, + withNetworkScan ? false, + utsushi-networkscan, }: - let fakegit = writeScriptBin "git" '' #! ${stdenv.shell} -e @@ -13,7 +27,8 @@ let fi ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "imagescan"; version = "3.65.0"; @@ -66,7 +81,6 @@ in stdenv.mkDerivation rec { "-Wno-error=unused-variable" ]; - postPatch = '' # create fake udev and sane config mkdir -p $out/etc/{sane.d,udev/rules.d} @@ -174,7 +188,10 @@ in stdenv.mkDerivation rec { ''; homepage = "https://gitlab.com/utsushi/imagescan"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ wucke13 maxwilson ]; + maintainers = with maintainers; [ + wucke13 + maxwilson + ]; platforms = platforms.linux; }; } diff --git a/pkgs/misc/drivers/utsushi/networkscan.nix b/pkgs/misc/drivers/utsushi/networkscan.nix index b9aa1cbe904f4..7f339c15e404d 100644 --- a/pkgs/misc/drivers/utsushi/networkscan.nix +++ b/pkgs/misc/drivers/utsushi/networkscan.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, rpmextract }: +{ + lib, + stdenv, + fetchurl, + rpmextract, +}: stdenv.mkDerivation rec { pname = "imagescan-plugin-networkscan"; diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index 53087942b9338..ea9700f1c3038 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -1,22 +1,40 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch2, pkg-config, python3Packages, makeWrapper -, libsamplerate, libsndfile, readline, eigen, celt -, wafHook -# Darwin Dependencies -, aften, AudioUnit, CoreAudio, libobjc, Accelerate - -# Optional Dependencies -, dbus ? null, libffado ? null, alsa-lib ? null -, libopus ? null - -# Extra options -, prefix ? "" - -, testers +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + pkg-config, + python3Packages, + makeWrapper, + libsamplerate, + libsndfile, + readline, + eigen, + celt, + wafHook, + # Darwin Dependencies + aften, + AudioUnit, + CoreAudio, + libobjc, + Accelerate, + + # Optional Dependencies + dbus ? null, + libffado ? null, + alsa-lib ? null, + libopus ? null, + + # Extra options + prefix ? "", + + testers, }: let inherit (python3Packages) python dbus-python; - shouldUsePkg = pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; + shouldUsePkg = + pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; libOnly = prefix == "lib"; @@ -37,16 +55,37 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-Cslfys5fcZDy0oee9/nM5Bd1+Cg4s/ayXjJJOSQCL4E="; }; - outputs = [ "out" "dev" ]; - - nativeBuildInputs = [ pkg-config python wafHook ] - ++ lib.optionals (optDbus != null) [ makeWrapper ]; - buildInputs = [ libsamplerate libsndfile readline eigen celt - optDbus optPythonDBus optLibffado optAlsaLib optLibopus - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - aften AudioUnit CoreAudio Accelerate libobjc + outputs = [ + "out" + "dev" ]; + nativeBuildInputs = [ + pkg-config + python + wafHook + ] ++ lib.optionals (optDbus != null) [ makeWrapper ]; + buildInputs = + [ + libsamplerate + libsndfile + readline + eigen + celt + optDbus + optPythonDBus + optLibffado + optAlsaLib + optLibopus + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + aften + AudioUnit + CoreAudio + Accelerate + libobjc + ]; + patches = [ (fetchpatch2 { # Python 3.12 support @@ -60,19 +99,26 @@ stdenv.mkDerivation (finalAttrs: { patchShebangs --build svnversion_regenerate.sh ''; - wafConfigureFlags = [ - "--classic" - "--autostart=${if (optDbus != null) then "dbus" else "classic"}" - ] ++ lib.optional (optDbus != null) "--dbus" + wafConfigureFlags = + [ + "--classic" + "--autostart=${if (optDbus != null) then "dbus" else "classic"}" + ] + ++ lib.optional (optDbus != null) "--dbus" ++ lib.optional (optLibffado != null) "--firewire" ++ lib.optional (optAlsaLib != null) "--alsa"; - postInstall = (if libOnly then '' - rm -rf $out/{bin,share} - rm -rf $out/lib/{jack,libjacknet*,libjackserver*} - '' else lib.optionalString (optDbus != null) '' - wrapProgram $out/bin/jack_control --set PYTHONPATH $PYTHONPATH - ''); + postInstall = ( + if libOnly then + '' + rm -rf $out/{bin,share} + rm -rf $out/lib/{jack,libjacknet*,libjackserver*} + '' + else + lib.optionalString (optDbus != null) '' + wrapProgram $out/bin/jack_control --set PYTHONPATH $PYTHONPATH + '' + ); postFixup = '' substituteInPlace "$dev/lib/pkgconfig/jack.pc" \ diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix index d50f21f53fcbb..8d30e863fb9a8 100644 --- a/pkgs/misc/jackaudio/jack1.nix +++ b/pkgs/misc/jackaudio/jack1.nix @@ -1,13 +1,22 @@ -{ lib, stdenv, fetchurl, pkg-config - -# Optional Dependencies -, alsa-lib ? null, db ? null, libuuid ? null, libffado ? null, celt ? null - -, testers +{ + lib, + stdenv, + fetchurl, + pkg-config, + + # Optional Dependencies + alsa-lib ? null, + db ? null, + libuuid ? null, + libffado ? null, + celt ? null, + + testers, }: let - shouldUsePkg = pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; + shouldUsePkg = + pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; optAlsaLib = shouldUsePkg alsa-lib; optDb = shouldUsePkg db; @@ -29,7 +38,12 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ optAlsaLib optDb optLibffado optCelt ]; + buildInputs = [ + optAlsaLib + optDb + optLibffado + optCelt + ]; propagatedBuildInputs = [ optLibuuid ]; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; @@ -38,7 +52,10 @@ stdenv.mkDerivation (finalAttrs: { broken = stdenv.hostPlatform.isDarwin; description = "JACK audio connection kit"; homepage = "https://jackaudio.org"; - license = with licenses; [ gpl2Plus lgpl21 ]; + license = with licenses; [ + gpl2Plus + lgpl21 + ]; pkgConfigModules = [ "jack" ]; platforms = platforms.unix; }; diff --git a/pkgs/misc/jackaudio/tools.nix b/pkgs/misc/jackaudio/tools.nix index 76826d30cae9e..25b0b5af38ab0 100644 --- a/pkgs/misc/jackaudio/tools.nix +++ b/pkgs/misc/jackaudio/tools.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib +{ + stdenv, + lib, -, fetchFromGitHub + fetchFromGitHub, -, pkg-config -, meson -, ninja + pkg-config, + meson, + ninja, -, jack -, alsa-lib -, libopus -, libsamplerate -, libsndfile -, readline -, zita-alsa-pcmi -, zita-resampler + jack, + alsa-lib, + libopus, + libsamplerate, + libsndfile, + readline, + zita-alsa-pcmi, + zita-resampler, -, enableAlsa ? stdenv.hostPlatform.isLinux + enableAlsa ? stdenv.hostPlatform.isLinux, }: stdenv.mkDerivation (final: { @@ -34,18 +35,24 @@ stdenv.mkDerivation (final: { patchShebangs scripts ''; - nativeBuildInputs = [ pkg-config meson ninja ]; - buildInputs = [ - jack - libopus - libsamplerate - libsndfile - readline - ] ++ lib.optionals enableAlsa [ - alsa-lib - zita-alsa-pcmi - zita-resampler + nativeBuildInputs = [ + pkg-config + meson + ninja ]; + buildInputs = + [ + jack + libopus + libsamplerate + libsndfile + readline + ] + ++ lib.optionals enableAlsa [ + alsa-lib + zita-alsa-pcmi + zita-resampler + ]; mesonFlags = [ (lib.mesonEnable "alsa_in_out" enableAlsa) diff --git a/pkgs/misc/jitsi-meet-prosody/default.nix b/pkgs/misc/jitsi-meet-prosody/default.nix index e08ea2aa4a033..4606c24453a7e 100644 --- a/pkgs/misc/jitsi-meet-prosody/default.nix +++ b/pkgs/misc/jitsi-meet-prosody/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, dpkg, nixosTests }: +{ + lib, + stdenv, + fetchurl, + dpkg, + nixosTests, +}: stdenv.mkDerivation rec { pname = "jitsi-meet-prosody"; @@ -28,7 +34,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Prosody configuration for Jitsi Meet"; longDescription = '' - This package contains configuration for Prosody to be used with Jitsi Meet. + This package contains configuration for Prosody to be used with Jitsi Meet. ''; homepage = "https://github.com/jitsi/jitsi-meet/"; license = licenses.asl20; diff --git a/pkgs/misc/lilypond/default.nix b/pkgs/misc/lilypond/default.nix index 95bc57227e20d..3892a3d733b6f 100644 --- a/pkgs/misc/lilypond/default.nix +++ b/pkgs/misc/lilypond/default.nix @@ -1,9 +1,45 @@ -{ stdenv, lib, fetchurl, ghostscript, gyre-fonts, texinfo, imagemagick, texi2html, guile -, python3, gettext, flex, perl, bison, pkg-config, autoreconfHook, dblatex -, fontconfig, freetype, pango, fontforge, help2man, zip, netpbm, groff -, freefont_ttf, makeFontsConf -, makeWrapper, t1utils, boehmgc, rsync, coreutils -, texliveSmall, tex ? texliveSmall.withPackages (ps: with ps; [ lh metafont epsf fontinst ]) +{ + stdenv, + lib, + fetchurl, + ghostscript, + gyre-fonts, + texinfo, + imagemagick, + texi2html, + guile, + python3, + gettext, + flex, + perl, + bison, + pkg-config, + autoreconfHook, + dblatex, + fontconfig, + freetype, + pango, + fontforge, + help2man, + zip, + netpbm, + groff, + freefont_ttf, + makeFontsConf, + makeWrapper, + t1utils, + boehmgc, + rsync, + coreutils, + texliveSmall, + tex ? texliveSmall.withPackages ( + ps: with ps; [ + lh + metafont + epsf + fontinst + ] + ), }: stdenv.mkDerivation rec { @@ -21,14 +57,20 @@ stdenv.mkDerivation rec { # its Scheme libraries. wrapProgram "$f" \ --set GUILE_AUTO_COMPILE 0 \ - --prefix PATH : "${lib.makeBinPath [ ghostscript coreutils (placeholder "out") ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + ghostscript + coreutils + (placeholder "out") + ] + }" \ --argv0 "$f" done ''; configureFlags = [ "--disable-documentation" - # FIXME: these URW fonts are not OTF, configure reports "URW++ OTF files... no". + # FIXME: these URW fonts are not OTF, configure reports "URW++ OTF files... no". "--with-urwotf-dir=${ghostscript.fonts}/share/fonts" "--with-texgyre-dir=${gyre-fonts}/share/fonts/truetype/" ]; @@ -38,13 +80,37 @@ stdenv.mkDerivation rec { export HOME=$TMPDIR/home ''; - nativeBuildInputs = [ autoreconfHook bison flex makeWrapper pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + makeWrapper + pkg-config + ]; - buildInputs = - [ ghostscript texinfo imagemagick texi2html guile dblatex tex zip netpbm - python3 gettext perl fontconfig freetype pango - fontforge help2man groff t1utils boehmgc rsync - ]; + buildInputs = [ + ghostscript + texinfo + imagemagick + texi2html + guile + dblatex + tex + zip + netpbm + python3 + gettext + perl + fontconfig + freetype + pango + fontforge + help2man + groff + t1utils + boehmgc + rsync + ]; autoreconfPhase = "NOCONFIGURE=1 sh autogen.sh"; @@ -59,7 +125,10 @@ stdenv.mkDerivation rec { description = "Music typesetting system"; homepage = "http://lilypond.org/"; license = licenses.gpl3; - maintainers = with maintainers; [ marcweber yurrriq ]; + maintainers = with maintainers; [ + marcweber + yurrriq + ]; platforms = platforms.all; }; diff --git a/pkgs/misc/lilypond/fonts.nix b/pkgs/misc/lilypond/fonts.nix index b624498f0920e..150d7ee9ea69c 100644 --- a/pkgs/misc/lilypond/fonts.nix +++ b/pkgs/misc/lilypond/fonts.nix @@ -1,8 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, lilypond }: +{ + lib, + stdenv, + fetchFromGitHub, + lilypond, +}: let - olpFont = { fontName, rev, sha256, version ? rev, ... }: + olpFont = + { + fontName, + rev, + sha256, + version ? rev, + ... + }: stdenv.mkDerivation { inherit version; pname = "openlilypond-font-${fontName}"; diff --git a/pkgs/misc/lilypond/unstable.nix b/pkgs/misc/lilypond/unstable.nix index 33f7cd97a0c10..4935bd8e4b78f 100644 --- a/pkgs/misc/lilypond/unstable.nix +++ b/pkgs/misc/lilypond/unstable.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, lilypond }: +{ + lib, + fetchurl, + lilypond, +}: lilypond.overrideAttrs (oldAttrs: rec { version = "2.25.21"; @@ -8,7 +12,10 @@ lilypond.overrideAttrs (oldAttrs: rec { }; passthru.updateScript = { - command = [ ./update.sh "unstable" ]; + command = [ + ./update.sh + "unstable" + ]; supportedFeatures = [ "commit" ]; }; }) diff --git a/pkgs/misc/lilypond/with-fonts.nix b/pkgs/misc/lilypond/with-fonts.nix index 2cfd1519795d9..ed2917b369a6b 100644 --- a/pkgs/misc/lilypond/with-fonts.nix +++ b/pkgs/misc/lilypond/with-fonts.nix @@ -1,9 +1,13 @@ -{ lib, symlinkJoin, makeWrapper -, lilypond, openlilylib-fonts +{ + lib, + symlinkJoin, + makeWrapper, + lilypond, + openlilylib-fonts, }: lib.appendToName "with-fonts" (symlinkJoin { - inherit (lilypond) meta name version ; + inherit (lilypond) meta name version; paths = [ lilypond ] ++ openlilylib-fonts.all; diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix index 70c1e26a49d67..58641f46a11f6 100644 --- a/pkgs/misc/logging/beats/7.x.nix +++ b/pkgs/misc/logging/beats/7.x.nix @@ -1,27 +1,45 @@ -{ lib, fetchFromGitHub, elk7Version, buildGoModule, libpcap, nixosTests, systemd, config }: +{ + lib, + fetchFromGitHub, + elk7Version, + buildGoModule, + libpcap, + nixosTests, + systemd, + config, +}: -let beat = package: extraArgs: buildGoModule (lib.attrsets.recursiveUpdate (rec { - pname = package; - version = elk7Version; +let + beat = + package: extraArgs: + buildGoModule ( + lib.attrsets.recursiveUpdate (rec { + pname = package; + version = elk7Version; - src = fetchFromGitHub { - owner = "elastic"; - repo = "beats"; - rev = "v${version}"; - hash = "sha256-0qwWHRIDLlnaPOCRmiiFGg+/jdanWuQtggM2QSaMR1o="; - }; + src = fetchFromGitHub { + owner = "elastic"; + repo = "beats"; + rev = "v${version}"; + hash = "sha256-0qwWHRIDLlnaPOCRmiiFGg+/jdanWuQtggM2QSaMR1o="; + }; - vendorHash = "sha256-rwCCpptppkpvwQWUtqTjBUumP8GSpPHBTCaj0nYVQv8="; + vendorHash = "sha256-rwCCpptppkpvwQWUtqTjBUumP8GSpPHBTCaj0nYVQv8="; - subPackages = [ package ]; + subPackages = [ package ]; - meta = with lib; { - homepage = "https://www.elastic.co/products/beats"; - license = licenses.asl20; - maintainers = with maintainers; [ fadenb basvandijk dfithian ]; - platforms = platforms.linux; - }; -}) extraArgs); + meta = with lib; { + homepage = "https://www.elastic.co/products/beats"; + license = licenses.asl20; + maintainers = with maintainers; [ + fadenb + basvandijk + dfithian + ]; + platforms = platforms.linux; + }; + }) extraArgs + ); in rec { auditbeat7 = beat "auditbeat" { meta.description = "Lightweight shipper for audit data"; }; @@ -36,13 +54,12 @@ rec { heartbeat7 = beat "heartbeat" { meta.description = "Lightweight shipper for uptime monitoring"; }; metricbeat7 = beat "metricbeat" { meta.description = "Lightweight shipper for metrics"; - passthru.tests = - lib.optionalAttrs config.allowUnfree ( - assert metricbeat7.drvPath == nixosTests.elk.unfree.ELK-7.elkPackages.metricbeat.drvPath; - { - elk = nixosTests.elk.unfree.ELK-7; - } - ); + passthru.tests = lib.optionalAttrs config.allowUnfree ( + assert metricbeat7.drvPath == nixosTests.elk.unfree.ELK-7.elkPackages.metricbeat.drvPath; + { + elk = nixosTests.elk.unfree.ELK-7; + } + ); }; packetbeat7 = beat "packetbeat" { buildInputs = [ libpcap ]; diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix index df4c8fc6b63d0..710536e9869ae 100644 --- a/pkgs/misc/my-env/default.nix +++ b/pkgs/misc/my-env/default.nix @@ -19,7 +19,6 @@ # and this will update your env vars to have 'make' and 'gcc' finding the SDL # headers and libs. - ##### Another example, more complicated but achieving more: ####### # Make an environment to build nix from source and create ctags (tagfiles can # be extracted from TAG_FILES) from every source package. Here would be a @@ -57,96 +56,112 @@ and show you a shell with a prefixed prompt. */ -{ mkDerivation, substituteAll, pkgs }: - { stdenv ? pkgs.stdenv, name, buildInputs ? [] - , propagatedBuildInputs ? [], gcc ? stdenv.cc, extraCmds ? "" - , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash --norc"}: +{ + mkDerivation, + substituteAll, + pkgs, +}: +{ + stdenv ? pkgs.stdenv, + name, + buildInputs ? [ ], + propagatedBuildInputs ? [ ], + gcc ? stdenv.cc, + extraCmds ? "", + cleanupCmds ? "", + shell ? "${pkgs.bashInteractive}/bin/bash --norc", +}: mkDerivation { inherit buildInputs propagatedBuildInputs; name = "env-${name}"; - phases = [ "buildPhase" "fixupPhase" ]; + phases = [ + "buildPhase" + "fixupPhase" + ]; setupNew = substituteAll { src = ../../stdenv/generic/setup.sh; inherit gcc; }; - buildPhase = let - initialPath = import ../../stdenv/generic/common-path.nix { inherit pkgs; }; - in '' - set -x - mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin" - s="$out/nix-support/setup-new-modified" - # shut some warning up.., do not use set -e - sed -e 's@set -eu@@' \ - -e 's@assertEnvExists\s\+NIX_STORE@:@' \ - -e 's@trap.*@@' \ - -e '1i initialPath="${toString initialPath}"' \ - "$setupNew" > "$s" - cat >> "$out/dev-envs/''${name/env-/}" << EOF - defaultNativeBuildInputs="$defaultNativeBuildInputs" - buildInputs="$buildInputs" - propagatedBuildInputs="$propagatedBuildInputs" - # the setup-new script wants to write some data to a temp file.. so just let it do that and tidy up afterwards - tmp="\$("${pkgs.coreutils}/bin/mktemp" -d)" - NIX_BUILD_TOP="\$tmp" - phases= - # only do all the setup stuff in nix-support/* - set +e - # This prevents having -rpath /lib in NIX_LDFLAGS - export NIX_NO_SELF_RPATH=1 - if [[ -z "\$ZSH_VERSION" ]]; then - source "$s" - else - setopt interactivecomments - # fix bash indirection - # let's hope the bash arrays aren't used - # substitute is using bash array, so skip it - echo ' - setopt NO_BAD_PATTERN - setopt NO_BANG_HIST - setopt NO_BG_NICE - setopt NO_EQUALS - setopt NO_FUNCTION_ARGZERO - setopt GLOB_SUBST - setopt NO_HUP - setopt INTERACTIVE_COMMENTS - setopt KSH_ARRAYS - setopt NO_MULTIOS - setopt NO_NOMATCH - setopt RM_STAR_SILENT - setopt POSIX_BUILTINS - setopt SH_FILE_EXPANSION - setopt SH_GLOB - setopt SH_OPTION_LETTERS - setopt SH_WORD_SPLIT - ' >> "\$tmp/script" - sed -e 's/\''${!\([^}]*\)}/\''${(P)\1}/g' \ - -e 's/[[]\*\]//' \ - -e 's/substitute() {/ substitute() { return; /' \ - -e 's@PATH=\$@PATH=${pkgs.coreutils}/bin@' \ - "$s" >> "\$tmp/script" - echo "\$tmp/script"; - source "\$tmp/script"; - fi - ${pkgs.coreutils}/bin/rm -fr "\$tmp" - ${extraCmds} + buildPhase = + let + initialPath = import ../../stdenv/generic/common-path.nix { inherit pkgs; }; + in + '' + set -x + mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin" + s="$out/nix-support/setup-new-modified" + # shut some warning up.., do not use set -e + sed -e 's@set -eu@@' \ + -e 's@assertEnvExists\s\+NIX_STORE@:@' \ + -e 's@trap.*@@' \ + -e '1i initialPath="${toString initialPath}"' \ + "$setupNew" > "$s" + cat >> "$out/dev-envs/''${name/env-/}" << EOF + defaultNativeBuildInputs="$defaultNativeBuildInputs" + buildInputs="$buildInputs" + propagatedBuildInputs="$propagatedBuildInputs" + # the setup-new script wants to write some data to a temp file.. so just let it do that and tidy up afterwards + tmp="\$("${pkgs.coreutils}/bin/mktemp" -d)" + NIX_BUILD_TOP="\$tmp" + phases= + # only do all the setup stuff in nix-support/* + set +e + # This prevents having -rpath /lib in NIX_LDFLAGS + export NIX_NO_SELF_RPATH=1 + if [[ -z "\$ZSH_VERSION" ]]; then + source "$s" + else + setopt interactivecomments + # fix bash indirection + # let's hope the bash arrays aren't used + # substitute is using bash array, so skip it + echo ' + setopt NO_BAD_PATTERN + setopt NO_BANG_HIST + setopt NO_BG_NICE + setopt NO_EQUALS + setopt NO_FUNCTION_ARGZERO + setopt GLOB_SUBST + setopt NO_HUP + setopt INTERACTIVE_COMMENTS + setopt KSH_ARRAYS + setopt NO_MULTIOS + setopt NO_NOMATCH + setopt RM_STAR_SILENT + setopt POSIX_BUILTINS + setopt SH_FILE_EXPANSION + setopt SH_GLOB + setopt SH_OPTION_LETTERS + setopt SH_WORD_SPLIT + ' >> "\$tmp/script" + sed -e 's/\''${!\([^}]*\)}/\''${(P)\1}/g' \ + -e 's/[[]\*\]//' \ + -e 's/substitute() {/ substitute() { return; /' \ + -e 's@PATH=\$@PATH=${pkgs.coreutils}/bin@' \ + "$s" >> "\$tmp/script" + echo "\$tmp/script"; + source "\$tmp/script"; + fi + ${pkgs.coreutils}/bin/rm -fr "\$tmp" + ${extraCmds} - nix_cleanup() { - : - ${cleanupCmds} - } + nix_cleanup() { + : + ${cleanupCmds} + } - export PATH - echo $name loaded >&2 + export PATH + echo $name loaded >&2 - trap nix_cleanup EXIT - EOF + trap nix_cleanup EXIT + EOF - mkdir -p $out/bin - sed -e 's,@shell@,${shell},' -e s,@myenvpath@,$out/dev-envs/${name}, \ - -e 's,@name@,${name},' ${./loadenv.sh} > $out/bin/load-env-${name} - chmod +x $out/bin/load-env-${name} - ''; + mkdir -p $out/bin + sed -e 's,@shell@,${shell},' -e s,@myenvpath@,$out/dev-envs/${name}, \ + -e 's,@name@,${name},' ${./loadenv.sh} > $out/bin/load-env-${name} + chmod +x $out/bin/load-env-${name} + ''; } diff --git a/pkgs/misc/opcua-client-gui/default.nix b/pkgs/misc/opcua-client-gui/default.nix index 2266970603659..9315bdd8ca3da 100644 --- a/pkgs/misc/opcua-client-gui/default.nix +++ b/pkgs/misc/opcua-client-gui/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, python3Packages -, fetchFromGitHub -, makeDesktopItem -, copyDesktopItems -, desktopToDarwinBundle -, wrapQtAppsHook +{ + lib, + stdenv, + python3Packages, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + desktopToDarwinBundle, + wrapQtAppsHook, }: python3Packages.buildPythonApplication rec { @@ -19,8 +20,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-0BH1Txr3z4a7iFcsfnovmBUreXMvIX2zpZa8QivQVx8="; }; - nativeBuildInputs = [ copyDesktopItems wrapQtAppsHook ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + nativeBuildInputs = [ + copyDesktopItems + wrapQtAppsHook + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; makeWrapperArgs = [ "\${qtWrapperArgs[@]}" diff --git a/pkgs/misc/screensavers/slock/default.nix b/pkgs/misc/screensavers/slock/default.nix index e86358d2e4ea2..99c2372f09b9a 100644 --- a/pkgs/misc/screensavers/slock/default.nix +++ b/pkgs/misc/screensavers/slock/default.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, fetchurl, writeText -, xorgproto, libX11, libXext, libXrandr, libxcrypt -# default header can be obtained from -# https://git.suckless.org/slock/tree/config.def.h -, conf ? null -# update script dependencies -, gitUpdater +{ + lib, + stdenv, + fetchurl, + writeText, + xorgproto, + libX11, + libXext, + libXrandr, + libxcrypt, + # default header can be obtained from + # https://git.suckless.org/slock/tree/config.def.h + conf ? null, + # update script dependencies + gitUpdater, }: stdenv.mkDerivation (finalAttrs: { @@ -16,7 +24,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ruHj+/aid/tiWjg4BzuXm2SD57rKTOgvVt4f8ZLbDk0="; }; - buildInputs = [ xorgproto libX11 libXext libXrandr libxcrypt ]; + buildInputs = [ + xorgproto + libX11 + libXext + libXrandr + libxcrypt + ]; installFlags = [ "PREFIX=$(out)" ]; @@ -40,7 +54,10 @@ stdenv.mkDerivation (finalAttrs: { Simple X display locker. This is the simplest X screen locker. ''; license = licenses.mit; - maintainers = with maintainers; [ astsmtl qusic ]; + maintainers = with maintainers; [ + astsmtl + qusic + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/misc/source-and-tags/default.nix b/pkgs/misc/source-and-tags/default.nix index 9e73b77c59cf2..a117beb45d5dd 100644 --- a/pkgs/misc/source-and-tags/default.nix +++ b/pkgs/misc/source-and-tags/default.nix @@ -1,58 +1,84 @@ -{ stdenv, lib, glibcLocales, unzip, hasktags, ctags } : { +{ + stdenv, + lib, + glibcLocales, + unzip, + hasktags, + ctags, +}: +{ # optional srcDir - annotatedWithSourceAndTagInfo = x : (x ? passthru && x.passthru ? sourceWithTags - || x ? meta && x.meta ? sourceWithTags ); + annotatedWithSourceAndTagInfo = + x: (x ? passthru && x.passthru ? sourceWithTags || x ? meta && x.meta ? sourceWithTags); # hack because passthru doesn't work the way I'd expect. Don't have time to spend on this right now # that's why I'm abusing meta for the same purpose in ghcsAndLibs - sourceWithTagsFromDerivation = x : if x ? passthru && x.passthru ? sourceWithTags then x.passthru.sourceWithTags - else if x ? meta && x.meta ? sourceWithTags then x.meta.sourceWithTags - else null; + sourceWithTagsFromDerivation = + x: + if x ? passthru && x.passthru ? sourceWithTags then + x.passthru.sourceWithTags + else if x ? meta && x.meta ? sourceWithTags then + x.meta.sourceWithTags + else + null; # createTagFiles = [ { name = "my_tag_name_without_suffix", tagCmd = "ctags -R . -o \$TAG_FILE"; } ] # tag command must create file named $TAG_FILE - sourceWithTagsDerivation = {name, src, srcDir ? ".", tagSuffix ? "_tags", createTagFiles ? []} : + sourceWithTagsDerivation = + { + name, + src, + srcDir ? ".", + tagSuffix ? "_tags", + createTagFiles ? [ ], + }: stdenv.mkDerivation { - inherit src srcDir tagSuffix; - name = "${name}-source-with-tags"; - nativeBuildInputs = [ unzip ]; - # using separate tag directory so that you don't have to glob that much files when starting your editor - # is this a good choice? - installPhase = - let createTags = lib.concatStringsSep "\n" - (map (a: '' - TAG_FILE="$SRC_DEST/${a.name}$tagSuffix" - echo running tag cmd "${a.tagCmd}" in `pwd` - ${a.tagCmd} - TAG_FILES="$TAG_FILES''${TAG_FILES:+:}$TAG_FILE" - '') createTagFiles ); - in '' - SRC_DEST=$out/src/$name - mkdir -p $SRC_DEST - pwd; ls - cp -r $srcDir $SRC_DEST - cd $SRC_DEST - ${createTags} + inherit src srcDir tagSuffix; + name = "${name}-source-with-tags"; + nativeBuildInputs = [ unzip ]; + # using separate tag directory so that you don't have to glob that much files when starting your editor + # is this a good choice? + installPhase = + let + createTags = lib.concatStringsSep "\n" ( + map (a: '' + TAG_FILE="$SRC_DEST/${a.name}$tagSuffix" + echo running tag cmd "${a.tagCmd}" in `pwd` + ${a.tagCmd} + TAG_FILES="$TAG_FILES''${TAG_FILES:+:}$TAG_FILE" + '') createTagFiles + ); + in + '' + SRC_DEST=$out/src/$name + mkdir -p $SRC_DEST + pwd; ls + cp -r $srcDir $SRC_DEST + cd $SRC_DEST + ${createTags} - mkdir -p $out/nix-support - echo "TAG_FILES=\"\$TAG_FILES\''${TAG_FILES:+:}$TAG_FILES\"" >> $out/nix-support/setup-hook - ''; - }; + mkdir -p $out/nix-support + echo "TAG_FILES=\"\$TAG_FILES\''${TAG_FILES:+:}$TAG_FILES\"" >> $out/nix-support/setup-hook + ''; + }; # example usage #testSourceWithTags = sourceWithTagsDerivation (ghc68extraLibs ghcsAndLibs.ghc68).happs_server_darcs.passthru.sourceWithTags; - # creates annotated derivation (comments see above) - addHasktagsTaggingInfo = deriv : deriv // { + addHasktagsTaggingInfo = + deriv: + deriv + // { passthru = { sourceWithTags = { - inherit (deriv) src; - srcDir = if deriv ? srcDir then deriv.srcDir else "."; - name = deriv.name; - createTagFiles = [ - { name = "${deriv.name}_haskell"; - # tagCmd = "${toString ghcsAndLibs.ghc68.ghc}/bin/hasktags --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; } - # *.*hs.* to catch gtk2hs .hs.pp files - tagCmd = " + inherit (deriv) src; + srcDir = if deriv ? srcDir then deriv.srcDir else "."; + name = deriv.name; + createTagFiles = [ + { + name = "${deriv.name}_haskell"; + # tagCmd = "${toString ghcsAndLibs.ghc68.ghc}/bin/hasktags --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; } + # *.*hs.* to catch gtk2hs .hs.pp files + tagCmd = " srcs=\"`find . -type f -name \"*.*hs\"; find . -type f -name \"*.*hs*\";`\" [ -z \"$srcs\" ] || { # without this creating tag files for lifted-base fails @@ -63,32 +89,36 @@ ${toString hasktags}/bin/hasktags --ignore-close-implementation --ctags . mv tags \$TAG_FILE }"; - } + } ]; - }; + }; + }; }; - }; - - addCTaggingInfo = deriv : - deriv // { + addCTaggingInfo = + deriv: + deriv + // { passthru = { sourceWithTags = { - inherit (deriv) src; - name = "${deriv.name}-source-ctags"; - createTagFiles = [ - { inherit (deriv) name; - tagCmd = "${toString ctags}/bin/ctags --sort=yes -o \$TAG_FILE -R ."; } + inherit (deriv) src; + name = "${deriv.name}-source-ctags"; + createTagFiles = [ + { + inherit (deriv) name; + tagCmd = "${toString ctags}/bin/ctags --sort=yes -o \$TAG_FILE -R ."; + } ]; }; - }; }; + }; + }; } /* -experimental -idea: -a) Attach some information to a nexpression telling how to create a tag file which can then be used within your favourite editor - Do this in a way not affecting the expression (using passthru or meta which is ignored when calculating the hash) - implementations: addCTaggingInfo (C / C++) and addHasktagsTaggingInfo (Haskell) -b) use sourceWithTagsDerivation function to create a derivation installing the source along with the generated tag files - so that you can use them easily witihn your favourite text editor + experimental + idea: + a) Attach some information to a nexpression telling how to create a tag file which can then be used within your favourite editor + Do this in a way not affecting the expression (using passthru or meta which is ignored when calculating the hash) + implementations: addCTaggingInfo (C / C++) and addHasktagsTaggingInfo (Haskell) + b) use sourceWithTagsDerivation function to create a derivation installing the source along with the generated tag files + so that you can use them easily witihn your favourite text editor */ diff --git a/pkgs/misc/t-rec/default.nix b/pkgs/misc/t-rec/default.nix index c67a8d60557b5..9b2411d7a1f01 100644 --- a/pkgs/misc/t-rec/default.nix +++ b/pkgs/misc/t-rec/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, imagemagick, ffmpeg, rustPlatform, fetchFromGitHub, makeWrapper -, libiconv, Foundation }: +{ + lib, + stdenv, + imagemagick, + ffmpeg, + rustPlatform, + fetchFromGitHub, + makeWrapper, + libiconv, + Foundation, +}: let binPath = lib.makeBinPath [ @@ -19,8 +28,12 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ imagemagick ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Foundation ]; + buildInputs = + [ imagemagick ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Foundation + ]; postInstall = '' wrapProgram "$out/bin/t-rec" --prefix PATH : "${binPath}" @@ -32,7 +45,10 @@ rustPlatform.buildRustPackage rec { description = "Blazingly fast terminal recorder that generates animated gif images for the web written in rust"; homepage = "https://github.com/sassman/t-rec-rs"; license = with licenses; [ gpl3Only ]; - maintainers = with maintainers; [ hoverbear matthiasbeyer ]; + maintainers = with maintainers; [ + hoverbear + matthiasbeyer + ]; mainProgram = "t-rec"; }; } diff --git a/pkgs/misc/tmux-plugins/tmux-thumbs/default.nix b/pkgs/misc/tmux-plugins/tmux-thumbs/default.nix index 80aa40e866cb2..d7abae1ed23a8 100644 --- a/pkgs/misc/tmux-plugins/tmux-thumbs/default.nix +++ b/pkgs/misc/tmux-plugins/tmux-thumbs/default.nix @@ -1,4 +1,8 @@ -{ mkTmuxPlugin, thumbs, substituteAll }: +{ + mkTmuxPlugin, + thumbs, + substituteAll, +}: mkTmuxPlugin { diff --git a/pkgs/misc/translatelocally-models/default.nix b/pkgs/misc/translatelocally-models/default.nix index 9fb4754ed50d1..f5b7ee3403d54 100644 --- a/pkgs/misc/translatelocally-models/default.nix +++ b/pkgs/misc/translatelocally-models/default.nix @@ -2,11 +2,22 @@ let modelSpecs = (builtins.fromJSON (builtins.readFile ./models.json)); in -{ lib, stdenvNoCC, fetchurl }: +{ + lib, + stdenvNoCC, + fetchurl, +}: let withCodeAsKey = f: { code, ... }@attrs: lib.nameValuePair code (f attrs); - mkModelPackage = { name, code, version, url, checksum }: + mkModelPackage = + { + name, + code, + version, + url, + checksum, + }: stdenvNoCC.mkDerivation { pname = "translatelocally-model-${code}"; version = toString version; @@ -33,9 +44,10 @@ let license = lib.licenses.cc-by-sa-40; }; }; - allModelPkgs = - lib.listToAttrs (map (withCodeAsKey mkModelPackage) modelSpecs); + allModelPkgs = lib.listToAttrs (map (withCodeAsKey mkModelPackage) modelSpecs); -in allModelPkgs // { +in +allModelPkgs +// { passthru.updateScript = ./update.sh; } diff --git a/pkgs/misc/urbit/default.nix b/pkgs/misc/urbit/default.nix index 955b16bf693e4..e0758ddba61c5 100644 --- a/pkgs/misc/urbit/default.nix +++ b/pkgs/misc/urbit/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchzip +{ + stdenv, + lib, + fetchzip, }: let @@ -14,12 +15,14 @@ stdenv.mkDerivation rec { src = fetchzip { url = "https://github.com/urbit/vere/releases/download/vere-v${version}/${platform}.tgz"; - sha256 = { - x86_64-linux = "sha256-51Zgv9QANQVMk/dc7/heYmCNfeu4k7mrYNke1/oz/94="; - aarch64-linux = "sha256-Tdn/ve9iCjsY/b39TZ7ErHV14mIAHdtmycgUPIzRihQ="; - x86_64-darwin = "sha256-y/FQIVcEn6dLWXPztC34+7+5eDMO7Xcx25D2+0p7Mxk="; - aarch64-darwin = "sha256-YJGRZlpTdm1x4P+GnZiKC1411tcEX+Jdnm+iyxUlsU0="; - }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); + sha256 = + { + x86_64-linux = "sha256-51Zgv9QANQVMk/dc7/heYmCNfeu4k7mrYNke1/oz/94="; + aarch64-linux = "sha256-Tdn/ve9iCjsY/b39TZ7ErHV14mIAHdtmycgUPIzRihQ="; + x86_64-darwin = "sha256-y/FQIVcEn6dLWXPztC34+7+5eDMO7Xcx25D2+0p7Mxk="; + aarch64-darwin = "sha256-YJGRZlpTdm1x4P+GnZiKC1411tcEX+Jdnm+iyxUlsU0="; + } + .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); }; postInstall = '' @@ -31,7 +34,12 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://urbit.org"; description = "Operating function"; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; maintainers = [ maintainers.matthew-levan ]; license = licenses.mit; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; diff --git a/pkgs/os-specific/darwin/DarwinTools/default.nix b/pkgs/os-specific/darwin/DarwinTools/default.nix index 11e4c84395dab..1473a664574a0 100644 --- a/pkgs/os-specific/darwin/DarwinTools/default.nix +++ b/pkgs/os-specific/darwin/DarwinTools/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "DarwinTools"; diff --git a/pkgs/os-specific/darwin/asitop/default.nix b/pkgs/os-specific/darwin/asitop/default.nix index 3ac385ec08ffe..7e20f26889b79 100644 --- a/pkgs/os-specific/darwin/asitop/default.nix +++ b/pkgs/os-specific/darwin/asitop/default.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/os-specific/darwin/defaultbrowser/default.nix b/pkgs/os-specific/darwin/defaultbrowser/default.nix index 7d50924625cdf..f4f4c885d144e 100644 --- a/pkgs/os-specific/darwin/defaultbrowser/default.nix +++ b/pkgs/os-specific/darwin/defaultbrowser/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, Foundation }: +{ + lib, + stdenv, + fetchFromGitHub, + Foundation, +}: stdenv.mkDerivation rec { pname = "defaultbrowser"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-SelUQXoKtShcDjq8uKg3wM0kG2opREa2DGQCDd6IsOQ="; }; - makeFlags = [ "CC=cc" "PREFIX=$(out)" ]; + makeFlags = [ + "CC=cc" + "PREFIX=$(out)" + ]; buildInputs = [ Foundation ]; diff --git a/pkgs/os-specific/darwin/ghc-standalone-archive/default.nix b/pkgs/os-specific/darwin/ghc-standalone-archive/default.nix index 46ba682818688..28d598a397e24 100644 --- a/pkgs/os-specific/darwin/ghc-standalone-archive/default.nix +++ b/pkgs/os-specific/darwin/ghc-standalone-archive/default.nix @@ -1,13 +1,27 @@ { runCommand, cctools }: -{ haskellPackages, src, deps ? p : [], name }: let +{ + haskellPackages, + src, + deps ? p: [ ], + name, +}: +let inherit (haskellPackages) ghc ghcWithPackages; with-env = ghcWithPackages deps; ghcName = "${ghc.targetPrefix}ghc"; -in runCommand name { buildInputs = [ with-env cctools ]; } '' - mkdir -p $out/lib - mkdir -p $out/include - ${ghcName} ${src} -staticlib -outputdir . -o $out/lib/${name}.a -stubdir $out/include - for file in ${ghc}/lib/${ghcName}-${ghc.version}/include/*; do - ln -sv $file $out/include - done -'' +in +runCommand name + { + buildInputs = [ + with-env + cctools + ]; + } + '' + mkdir -p $out/lib + mkdir -p $out/include + ${ghcName} ${src} -staticlib -outputdir . -o $out/lib/${name}.a -stubdir $out/include + for file in ${ghc}/lib/${ghcName}-${ghc.version}/include/*; do + ln -sv $file $out/include + done + '' diff --git a/pkgs/os-specific/darwin/impure-cmds/default.nix b/pkgs/os-specific/darwin/impure-cmds/default.nix index 51e345f048bda..eac4f6b97fd2b 100644 --- a/pkgs/os-specific/darwin/impure-cmds/default.nix +++ b/pkgs/os-specific/darwin/impure-cmds/default.nix @@ -6,29 +6,33 @@ let commands = { ditto = "/usr/bin/ditto"; # ditto is not opensource - sudo = "/usr/bin/sudo"; # sudo must be owned by uid 0 and have the setuid bit set + sudo = "/usr/bin/sudo"; # sudo must be owned by uid 0 and have the setuid bit set }; - mkImpureDrv = name: path: - runCommandLocal "${name}-impure-darwin" { - __impureHostDeps = [ path ]; + mkImpureDrv = + name: path: + runCommandLocal "${name}-impure-darwin" + { + __impureHostDeps = [ path ]; - meta = { - platforms = lib.platforms.darwin; - }; - } '' - if ! [ -x ${path} ]; then - echo Cannot find command ${path} - exit 1 - fi + meta = { + platforms = lib.platforms.darwin; + }; + } + '' + if ! [ -x ${path} ]; then + echo Cannot find command ${path} + exit 1 + fi - mkdir -p $out/bin - ln -s ${path} $out/bin + mkdir -p $out/bin + ln -s ${path} $out/bin - manpage="/usr/share/man/man1/${name}.1" - if [ -f $manpage ]; then - mkdir -p $out/share/man/man1 - ln -s $manpage $out/share/man/man1 - fi - ''; -in lib.mapAttrs mkImpureDrv commands + manpage="/usr/share/man/man1/${name}.1" + if [ -f $manpage ]; then + mkdir -p $out/share/man/man1 + ln -s $manpage $out/share/man/man1 + fi + ''; +in +lib.mapAttrs mkImpureDrv commands diff --git a/pkgs/os-specific/darwin/khd/default.nix b/pkgs/os-specific/darwin/khd/default.nix index 9c10dc89a69d3..474d750ecc8c7 100644 --- a/pkgs/os-specific/darwin/khd/default.nix +++ b/pkgs/os-specific/darwin/khd/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, Carbon, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + Carbon, + Cocoa, +}: stdenv.mkDerivation rec { pname = "khd"; @@ -19,7 +26,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ Carbon Cocoa ]; + buildInputs = [ + Carbon + Cocoa + ]; buildPhase = '' make install diff --git a/pkgs/os-specific/darwin/lsusb/default.nix b/pkgs/os-specific/darwin/lsusb/default.nix index 712e32f16fe4a..a29df822daa69 100644 --- a/pkgs/os-specific/darwin/lsusb/default.nix +++ b/pkgs/os-specific/darwin/lsusb/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation { version = "1.0"; diff --git a/pkgs/os-specific/darwin/macfuse/default.nix b/pkgs/os-specific/darwin/macfuse/default.nix index 4de9600e79108..7f7c0cb5183bb 100644 --- a/pkgs/os-specific/darwin/macfuse/default.nix +++ b/pkgs/os-specific/darwin/macfuse/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, cpio, xar, undmg, libtapi, DiskArbitration }: +{ + lib, + stdenv, + fetchurl, + cpio, + xar, + undmg, + libtapi, + DiskArbitration, +}: stdenv.mkDerivation rec { pname = "macfuse-stubs"; @@ -9,7 +18,12 @@ stdenv.mkDerivation rec { hash = "sha256-ucTzO2qdN4QkowMVvC3+4pjEVjbwMsB0xFk+bvQxwtQ="; }; - nativeBuildInputs = [ cpio xar undmg libtapi ]; + nativeBuildInputs = [ + cpio + xar + undmg + libtapi + ]; propagatedBuildInputs = [ DiskArbitration ]; postUnpack = '' diff --git a/pkgs/os-specific/darwin/noah/default.nix b/pkgs/os-specific/darwin/noah/default.nix index ed20f67e48e9c..421b11df32323 100644 --- a/pkgs/os-specific/darwin/noah/default.nix +++ b/pkgs/os-specific/darwin/noah/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, Hypervisor }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + Hypervisor, +}: stdenv.mkDerivation rec { pname = "noah"; @@ -17,7 +23,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Bash on Ubuntu on macOS"; homepage = "https://github.com/linux-noah/noah"; - license = [ licenses.mit licenses.gpl2Only ]; + license = [ + licenses.mit + licenses.gpl2Only + ]; maintainers = [ ]; platforms = platforms.darwin; # never built on aarch64-darwin since first introduction in nixpkgs diff --git a/pkgs/os-specific/darwin/openwith/default.nix b/pkgs/os-specific/darwin/openwith/default.nix index 3631f7d495bee..f9bf5ffb94e77 100644 --- a/pkgs/os-specific/darwin/openwith/default.nix +++ b/pkgs/os-specific/darwin/openwith/default.nix @@ -1,4 +1,8 @@ -{ lib, swiftPackages, fetchFromGitHub }: +{ + lib, + swiftPackages, + fetchFromGitHub, +}: let inherit (swiftPackages) stdenv swift; @@ -30,6 +34,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/jdek/openwith"; license = licenses.unlicense; maintainers = with maintainers; [ zowoq ]; - platforms = [ "aarch64-darwin" "x86_64-darwin" ]; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + ]; }; } diff --git a/pkgs/os-specific/darwin/osx-cpu-temp/default.nix b/pkgs/os-specific/darwin/osx-cpu-temp/default.nix index 2f3154fe9ea41..59c92f9d434a5 100644 --- a/pkgs/os-specific/darwin/osx-cpu-temp/default.nix +++ b/pkgs/os-specific/darwin/osx-cpu-temp/default.nix @@ -1,5 +1,8 @@ -{ lib, stdenv, fetchFromGitHub -, IOKit +{ + lib, + stdenv, + fetchFromGitHub, + IOKit, }: stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/darwin/pngpaste/default.nix b/pkgs/os-specific/darwin/pngpaste/default.nix index 99ae8048f7fde..3df66b88534aa 100644 --- a/pkgs/os-specific/darwin/pngpaste/default.nix +++ b/pkgs/os-specific/darwin/pngpaste/default.nix @@ -1,9 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, AppKit, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + AppKit, + Cocoa, +}: let pname = "pngpaste"; version = "0.2.3"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; src = fetchFromGitHub { owner = "jcsalterego"; @@ -12,7 +19,10 @@ in stdenv.mkDerivation { sha256 = "uvajxSelk1Wfd5is5kmT2fzDShlufBgC0PDCeabEOSE="; }; - buildInputs = [ AppKit Cocoa ]; + buildInputs = [ + AppKit + Cocoa + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/os-specific/darwin/print-reexports/default.nix b/pkgs/os-specific/darwin/print-reexports/default.nix index 992cf1bff8ea3..88d8d8532cece 100644 --- a/pkgs/os-specific/darwin/print-reexports/default.nix +++ b/pkgs/os-specific/darwin/print-reexports/default.nix @@ -1,8 +1,12 @@ -{ lib, stdenv, libyaml }: +{ + lib, + stdenv, + libyaml, +}: stdenv.mkDerivation { name = "print-reexports"; - src = lib.sourceFilesBySuffices ./. [".c"]; + src = lib.sourceFilesBySuffices ./. [ ".c" ]; buildInputs = [ libyaml ]; diff --git a/pkgs/os-specific/darwin/qes/default.nix b/pkgs/os-specific/darwin/qes/default.nix index dce6e52662601..5b824da0f5871 100644 --- a/pkgs/os-specific/darwin/qes/default.nix +++ b/pkgs/os-specific/darwin/qes/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, Carbon }: +{ + lib, + stdenv, + fetchFromGitHub, + Carbon, +}: stdenv.mkDerivation { pname = "qes"; @@ -7,7 +12,7 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "koekeishiya"; repo = "qes"; - rev = "ddedf008f0c38b134501ad9f328447b671423d34"; # no tag + rev = "ddedf008f0c38b134501ad9f328447b671423d34"; # no tag sha256 = "1w9ppid7jg6f4q7pq40lhm0whg7xmnxcmf3pb9xqfkq2zj2f7dxv"; }; @@ -23,4 +28,3 @@ stdenv.mkDerivation { license = licenses.mit; }; } - diff --git a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix index ea3dd694962e4..9aacbce1c790b 100644 --- a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix +++ b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "reattach-to-user-namespace"; @@ -12,9 +16,12 @@ stdenv.mkDerivation rec { }; buildFlags = - if stdenv.hostPlatform.system == "x86_64-darwin" then [ "ARCHES=x86_64" ] - else if stdenv.hostPlatform.system == "aarch64-darwin" then [ "ARCHES=arm64" ] - else throw "reattach-to-user-namespace isn't being built for ${stdenv.hostPlatform.system} yet."; + if stdenv.hostPlatform.system == "x86_64-darwin" then + [ "ARCHES=x86_64" ] + else if stdenv.hostPlatform.system == "aarch64-darwin" then + [ "ARCHES=arm64" ] + else + throw "reattach-to-user-namespace isn't being built for ${stdenv.hostPlatform.system} yet."; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/os-specific/darwin/rewrite-tbd/default.nix b/pkgs/os-specific/darwin/rewrite-tbd/default.nix index 527cca8e87c1e..1026d9a8983a3 100644 --- a/pkgs/os-specific/darwin/rewrite-tbd/default.nix +++ b/pkgs/os-specific/darwin/rewrite-tbd/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, libyaml }: +{ + stdenv, + lib, + fetchFromGitHub, + libyaml, +}: stdenv.mkDerivation { pname = "rewrite-tbd"; @@ -20,7 +25,11 @@ stdenv.mkDerivation { buildInputs = [ libyaml ]; - makeFlags = [ "-f" "Makefile.boot" "PREFIX=${placeholder "out"}"]; + makeFlags = [ + "-f" + "Makefile.boot" + "PREFIX=${placeholder "out"}" + ]; meta = with lib; { homepage = "https://github.com/thefloweringash/rewrite-tbd/"; diff --git a/pkgs/os-specific/darwin/signing-utils/default.nix b/pkgs/os-specific/darwin/signing-utils/default.nix index 035ac59b725ae..9cfe992132168 100644 --- a/pkgs/os-specific/darwin/signing-utils/default.nix +++ b/pkgs/os-specific/darwin/signing-utils/default.nix @@ -1,6 +1,7 @@ -{ stdenvNoCC -, sigtool -, cctools +{ + stdenvNoCC, + sigtool, + cctools, }: let diff --git a/pkgs/os-specific/darwin/signing-utils/post-link-sign-hook.nix b/pkgs/os-specific/darwin/signing-utils/post-link-sign-hook.nix index 13595e3771a7a..7857669842087 100644 --- a/pkgs/os-specific/darwin/signing-utils/post-link-sign-hook.nix +++ b/pkgs/os-specific/darwin/signing-utils/post-link-sign-hook.nix @@ -1,4 +1,8 @@ -{ writeTextFile, cctools, sigtool }: +{ + writeTextFile, + cctools, + sigtool, +}: writeTextFile { name = "post-link-sign-hook"; diff --git a/pkgs/os-specific/darwin/sigtool/default.nix b/pkgs/os-specific/darwin/sigtool/default.nix index 62474fdc78d21..41dccbfff6c0b 100644 --- a/pkgs/os-specific/darwin/sigtool/default.nix +++ b/pkgs/os-specific/darwin/sigtool/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + openssl, +}: stdenv.mkDerivation rec { pname = "sigtool"; diff --git a/pkgs/os-specific/darwin/stubs/default.nix b/pkgs/os-specific/darwin/stubs/default.nix index 862305a069d60..832fdc557b5b9 100644 --- a/pkgs/os-specific/darwin/stubs/default.nix +++ b/pkgs/os-specific/darwin/stubs/default.nix @@ -1,12 +1,22 @@ -{ lib, writeScriptBin, runtimeShell }: +{ + lib, + writeScriptBin, + runtimeShell, +}: -let fake = name: lib.overrideDerivation (writeScriptBin name '' - #!${runtimeShell} - echo >&2 "Faking call to ${name} with arguments:" - echo >&2 "$@" -'') (drv: { - name = "${name}-stub"; -}); in +let + fake = + name: + lib.overrideDerivation + (writeScriptBin name '' + #!${runtimeShell} + echo >&2 "Faking call to ${name} with arguments:" + echo >&2 "$@" + '') + (drv: { + name = "${name}-stub"; + }); +in { setfile = fake "SetFile"; diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 0b7c85b588f20..96339ac47457c 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -1,11 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, makeSetupHook, cmake, pkg-config, launchd, libdispatch, python3Minimal, libxml2, objc4, icu }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + makeSetupHook, + cmake, + pkg-config, + launchd, + libdispatch, + python3Minimal, + libxml2, + objc4, + icu, +}: let # 10.12 adds a new sysdir.h that our version of CF in the main derivation depends on, but # isn't available publicly, so instead we grab an older version of the same file that did # not use sysdir.h, but provided the same functionality. Luckily it's simple :) hack hack sysdir-free-system-directories = fetchurl { - url = "https://raw.githubusercontent.com/apple/swift-corelibs-foundation/9a5d8420f7793e63a8d5ec1ede516c4ebec939f0/CoreFoundation/Base.subproj/CFSystemDirectories.c"; + url = "https://raw.githubusercontent.com/apple/swift-corelibs-foundation/9a5d8420f7793e63a8d5ec1ede516c4ebec939f0/CoreFoundation/Base.subproj/CFSystemDirectories.c"; sha256 = "0krfyghj4f096arvvpf884ra5czqlmbrgf8yyc0b3avqmb613pcc"; }; in @@ -15,14 +29,24 @@ stdenv.mkDerivation { version = "unstable-2018-09-14"; src = fetchFromGitHub { - owner = "apple"; - repo = "swift-corelibs-foundation"; - rev = "71aaba20e1450a82c516af1342fe23268e15de0a"; + owner = "apple"; + repo = "swift-corelibs-foundation"; + rev = "71aaba20e1450a82c516af1342fe23268e15de0a"; sha256 = "17kpql0f27xxz4jjw84vpas5f5sn4vdqwv10g151rc3rswbwln1z"; }; - nativeBuildInputs = [ cmake pkg-config python3Minimal ]; - buildInputs = [ (lib.getDev launchd) libdispatch libxml2 objc4 icu ]; + nativeBuildInputs = [ + cmake + pkg-config + python3Minimal + ]; + buildInputs = [ + (lib.getDev launchd) + libdispatch + libxml2 + objc4 + icu + ]; patches = [ ./0001-Add-missing-TARGET_OS_-defines.patch diff --git a/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix b/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix index a5b4b2a52df16..ed3512d7b5adc 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, cmake, apple_sdk_sierra, xnu-new }: +{ + stdenv, + fetchFromGitHub, + cmake, + apple_sdk_sierra, + xnu-new, +}: stdenv.mkDerivation rec { name = "swift-corelibs-libdispatch"; @@ -9,5 +15,8 @@ stdenv.mkDerivation rec { sha256 = "1czkyyc9llq2mnqfp19mzcfsxzas0y8zrk0gr5hg60acna6jkz2l"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ apple_sdk_sierra.sdk xnu-new ]; + buildInputs = [ + apple_sdk_sierra.sdk + xnu-new + ]; } diff --git a/pkgs/os-specific/darwin/trash/default.nix b/pkgs/os-specific/darwin/trash/default.nix index a239f6607b1fb..d3bfcf6420d1c 100644 --- a/pkgs/os-specific/darwin/trash/default.nix +++ b/pkgs/os-specific/darwin/trash/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, perl, AppKit, Cocoa, ScriptingBridge }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + AppKit, + Cocoa, + ScriptingBridge, +}: stdenv.mkDerivation rec { version = "0.9.2"; @@ -11,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "1d3rc03vgz32faj7qi18iiggxvxlqrj9lsk5jkpa9r1mcs5d89my"; }; - buildInputs = [ perl Cocoa AppKit ScriptingBridge ]; + buildInputs = [ + perl + Cocoa + AppKit + ScriptingBridge + ]; patches = [ ./trash.diff ]; diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix index 86a2255d657a9..c2d99b075d32e 100644 --- a/pkgs/os-specific/darwin/xcode/default.nix +++ b/pkgs/os-specific/darwin/xcode/default.nix @@ -1,49 +1,59 @@ -{ stdenv, requireFile, lib }: +{ + stdenv, + requireFile, + lib, +}: -let requireXcode = version: sha256: - let - xip = "Xcode_" + version + ".xip"; +let + requireXcode = + version: sha256: + let + xip = "Xcode_" + version + ".xip"; - unxip = if stdenv.buildPlatform.isDarwin - then '' - open -W ${xip} - rm -rf ${xip} - '' - else '' - xar -xf ${xip} - rm -rf ${xip} - pbzx -n Content | cpio -i - rm Content Metadata - rcodesign verify Xcode.app/Contents/MacOS/Xcode - ''; + unxip = + if stdenv.buildPlatform.isDarwin then + '' + open -W ${xip} + rm -rf ${xip} + '' + else + '' + xar -xf ${xip} + rm -rf ${xip} + pbzx -n Content | cpio -i + rm Content Metadata + rcodesign verify Xcode.app/Contents/MacOS/Xcode + ''; - app = requireFile rec { - name = "Xcode.app"; - url = "https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_${version}/${xip}"; - hashMode = "recursive"; - inherit sha256; - message = '' - Unfortunately, we cannot download ${name} automatically. - Please go to ${url} - to download it yourself, and add it to the Nix store by running the following commands. - Note: download (~ 5GB), extraction and storing of Xcode will take a while + app = requireFile rec { + name = "Xcode.app"; + url = "https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_${version}/${xip}"; + hashMode = "recursive"; + inherit sha256; + message = '' + Unfortunately, we cannot download ${name} automatically. + Please go to ${url} + to download it yourself, and add it to the Nix store by running the following commands. + Note: download (~ 5GB), extraction and storing of Xcode will take a while - ${unxip} - nix-store --add-fixed --recursive sha256 Xcode.app - rm -rf Xcode.app - ''; - }; - meta = with lib; { - homepage = "https://developer.apple.com/downloads/"; - description = "Apple's XCode SDK"; - license = licenses.unfree; - platforms = platforms.darwin ++ platforms.linux; - sourceProvenance = [ sourceTypes.binaryNativeCode ]; - }; + ${unxip} + nix-store --add-fixed --recursive sha256 Xcode.app + rm -rf Xcode.app + ''; + }; + meta = with lib; { + homepage = "https://developer.apple.com/downloads/"; + description = "Apple's XCode SDK"; + license = licenses.unfree; + platforms = platforms.darwin ++ platforms.linux; + sourceProvenance = [ sourceTypes.binaryNativeCode ]; + }; - in app.overrideAttrs ( oldAttrs: oldAttrs // { inherit meta; }); + in + app.overrideAttrs (oldAttrs: oldAttrs // { inherit meta; }); -in lib.makeExtensible (self: { +in +lib.makeExtensible (self: { xcode_8_1 = requireXcode "8.1" "sha256-VuAovU/b4rcLh+xMtcsZmbTWwTk35VGfMSp+fqPbsqM="; xcode_8_2 = requireXcode "8.2" "sha256-ohqgGD7JEEmXEvmfn/N9Ga2lM8jNwhIuh+ky7PQPzY4="; xcode_9_1 = requireXcode "9.1" "sha256-LG7pVMh1rNh5uP/bASvV9sKvGDrSGWH90J4gzwcgYSk="; @@ -90,5 +100,10 @@ in lib.makeExtensible (self: { xcode_15_4 = requireXcode "15.4" "sha256-yeo+sf6bBIJy9/1sQiMuPEMPniwGXMB6/FXXL0UrI5U="; xcode_16 = requireXcode "16" "sha256-i/MMcEi5wCpe5+nGo6gUTsFFCoorORydAn7D/GClEdo="; xcode_16_1 = requireXcode "16.1" "sha256-yYg6NRRnYM/5X3hhVMfcXcdoiOV36fIongJNQ5nviD8="; - xcode = self."xcode_${lib.replaceStrings ["."] ["_"] (if (stdenv.targetPlatform ? xcodeVer) then stdenv.targetPlatform.xcodeVer else "12.3")}"; + xcode = + self."xcode_${ + lib.replaceStrings [ "." ] [ "_" ] ( + if (stdenv.targetPlatform ? xcodeVer) then stdenv.targetPlatform.xcodeVer else "12.3" + ) + }"; }) diff --git a/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix b/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix index 45cb12b89f4cd..05f9acf5b36c9 100644 --- a/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix +++ b/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix @@ -1,18 +1,20 @@ -{ stdenv -, clang-unwrapped -, binutils-unwrapped -, runCommand - -, wrapBintoolsWith -, wrapCCWith -, buildIosSdk, targetIosSdkPkgs -, xcode -, lib +{ + stdenv, + clang-unwrapped, + binutils-unwrapped, + runCommand, + + wrapBintoolsWith, + wrapCCWith, + buildIosSdk, + targetIosSdkPkgs, + xcode, + lib, }: let -minSdkVersion = stdenv.targetPlatform.minSdkVersion or "9.0"; + minSdkVersion = stdenv.targetPlatform.minSdkVersion or "9.0"; in @@ -20,7 +22,9 @@ rec { sdk = rec { name = "ios-sdk"; type = "derivation"; - outPath = xcode + "/Contents/Developer/Platforms/${platform}.platform/Developer/SDKs/${platform}${version}.sdk"; + outPath = + xcode + + "/Contents/Developer/Platforms/${platform}.platform/Developer/SDKs/${platform}${version}.sdk"; platform = stdenv.targetPlatform.xcodePlatform or ""; version = stdenv.targetPlatform.sdkVer or ""; @@ -31,31 +35,39 @@ rec { bintools = binutils-unwrapped; }; - clang = (wrapCCWith { - cc = clang-unwrapped; - bintools = binutils; - libc = targetIosSdkPkgs.libraries; - extraPackages = [ "${sdk}/System" ]; - extraBuildCommands = '' - tr '\n' ' ' < $out/nix-support/cc-cflags > cc-cflags.tmp - mv cc-cflags.tmp $out/nix-support/cc-cflags - echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags - echo "-isystem ${sdk}/usr/include${lib.optionalString (lib.versionAtLeast "10" sdk.version) " -isystem ${sdk}/usr/include/c++/4.2.1/ -stdlib=libstdc++"}" >> $out/nix-support/cc-cflags - ${lib.optionalString (lib.versionAtLeast sdk.version "14") "echo -isystem ${xcode}/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 >> $out/nix-support/cc-cflags"} - ''; - }) // { - inherit sdk; - }; - - libraries = let sdk = buildIosSdk; in runCommand "libSystem-prebuilt" { - passthru = { + clang = + (wrapCCWith { + cc = clang-unwrapped; + bintools = binutils; + libc = targetIosSdkPkgs.libraries; + extraPackages = [ "${sdk}/System" ]; + extraBuildCommands = '' + tr '\n' ' ' < $out/nix-support/cc-cflags > cc-cflags.tmp + mv cc-cflags.tmp $out/nix-support/cc-cflags + echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags + echo "-isystem ${sdk}/usr/include${lib.optionalString (lib.versionAtLeast "10" sdk.version) " -isystem ${sdk}/usr/include/c++/4.2.1/ -stdlib=libstdc++"}" >> $out/nix-support/cc-cflags + ${lib.optionalString (lib.versionAtLeast sdk.version "14") "echo -isystem ${xcode}/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 >> $out/nix-support/cc-cflags"} + ''; + }) + // { inherit sdk; }; - } '' - if ! [ -d ${sdk} ]; then - echo "You must have version ${sdk.version} of the ${sdk.platform} sdk installed at ${sdk}" >&2 - exit 1 - fi - ln -s ${sdk}/usr $out - ''; + + libraries = + let + sdk = buildIosSdk; + in + runCommand "libSystem-prebuilt" + { + passthru = { + inherit sdk; + }; + } + '' + if ! [ -d ${sdk} ]; then + echo "You must have version ${sdk.version} of the ${sdk.platform} sdk installed at ${sdk}" >&2 + exit 1 + fi + ln -s ${sdk}/usr $out + ''; } diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix index f812316fd7749..0b4101246930f 100644 --- a/pkgs/os-specific/linux/acpi-call/default.nix +++ b/pkgs/os-specific/linux/acpi-call/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "acpi-call"; @@ -26,7 +31,10 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - maintainers = with maintainers; [ raskin mic92 ]; + maintainers = with maintainers; [ + raskin + mic92 + ]; homepage = "https://github.com/nix-community/acpi_call"; platforms = platforms.linux; description = "Module allowing arbitrary ACPI calls; use case: hybrid video"; diff --git a/pkgs/os-specific/linux/akvcam/default.nix b/pkgs/os-specific/linux/akvcam/default.nix index 3fdb247a33ebb..f7c4a9edbc1a0 100644 --- a/pkgs/os-specific/linux/akvcam/default.nix +++ b/pkgs/os-specific/linux/akvcam/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "akvcam"; diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix index 35d8a071fe111..76b2617f0eeb8 100644 --- a/pkgs/os-specific/linux/anbox/default.nix +++ b/pkgs/os-specific/linux/anbox/default.nix @@ -1,31 +1,37 @@ -{ lib, stdenv, fetchFromGitHub -, callPackage -, fetchpatch -, cmake, pkg-config, dbus, makeWrapper -, boost -, elfutils # for libdw -, git -, glib -, glm -, gtest -, libbfd -, libcap -, libdwarf -, libGL -, libglvnd -, lxc -, mesa -, properties-cpp -, protobuf -, protobufc -, python3 -, runtimeShell -, SDL2 -, SDL2_image -, systemd -, writeText -, writeShellScript -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + callPackage, + fetchpatch, + cmake, + pkg-config, + dbus, + makeWrapper, + boost, + elfutils, # for libdw + git, + glib, + glm, + gtest, + libbfd, + libcap, + libdwarf, + libGL, + libglvnd, + lxc, + mesa, + properties-cpp, + protobuf, + protobufc, + python3, + runtimeShell, + SDL2, + SDL2_image, + systemd, + writeText, + writeShellScript, + nixosTests, }: let @@ -77,7 +83,8 @@ stdenv.mkDerivation rec { properties-cpp protobuf python3 - SDL2 SDL2_image + SDL2 + SDL2_image systemd ]; @@ -87,7 +94,7 @@ stdenv.mkDerivation rec { "-Wno-error=redundant-move" # Flag needed by GCC 12 but unrecognized by GCC 9 (aarch64-linux default now) (lib.optionalString (lib.versionAtLeast stdenv.cc.version "12") "-Wno-error=mismatched-new-delete") - ]); + ]); prePatch = '' patchShebangs scripts @@ -143,7 +150,12 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/anbox \ --set SDL_VIDEO_X11_WMCLASS "anbox" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libGL libglvnd]} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libGL + libglvnd + ] + } \ --prefix PATH : ${git}/bin mkdir -p $out/share/dbus-1/services @@ -167,7 +179,11 @@ stdenv.mkDerivation rec { description = "Android in a box"; license = licenses.gpl2Only; maintainers = with maintainers; [ edwtjo ]; - platforms = [ "armv7l-linux" "aarch64-linux" "x86_64-linux" ]; + platforms = [ + "armv7l-linux" + "aarch64-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/os-specific/linux/anbox/postmarketos-image.nix b/pkgs/os-specific/linux/anbox/postmarketos-image.nix index 648a1a5ea9a09..5bcaa721e975d 100644 --- a/pkgs/os-specific/linux/anbox/postmarketos-image.nix +++ b/pkgs/os-specific/linux/anbox/postmarketos-image.nix @@ -3,17 +3,18 @@ let imgroot = "https://web.archive.org/web/20211027150924/https://anbox.postmarketos.org"; in - { - armv7l-linux = fetchurl { - url = imgroot + "/android-7.1.2_r39.1-anbox_armv7a_neon-userdebug.img"; - sha256 = "1bgzqw4yp52a2q40dr1jlay1nh73jl5mx6wqsxvpb09xghxsng0a"; - }; - aarch64-linux = fetchurl { - url = imgroot + "/android-7.1.2_r39-anbox_arm64-userdebug.img"; - sha256 = "0dx8mhfcjbkak982zfh65bvy35slz5jk31yl4ara50ryrxsp32nx"; - }; - x86_64-linux = fetchurl { - url = imgroot + "/android-7.1.2_r39-anbox_x86_64-userdebug.img"; - sha256 = "16vmiz5al2r19wjpd44nagvz7d901ljxdms8gjp2w4xz1d91vzpm"; - }; - }.${stdenv.system} or (throw "Unsupported platform ${stdenv.system}") +{ + armv7l-linux = fetchurl { + url = imgroot + "/android-7.1.2_r39.1-anbox_armv7a_neon-userdebug.img"; + sha256 = "1bgzqw4yp52a2q40dr1jlay1nh73jl5mx6wqsxvpb09xghxsng0a"; + }; + aarch64-linux = fetchurl { + url = imgroot + "/android-7.1.2_r39-anbox_arm64-userdebug.img"; + sha256 = "0dx8mhfcjbkak982zfh65bvy35slz5jk31yl4ara50ryrxsp32nx"; + }; + x86_64-linux = fetchurl { + url = imgroot + "/android-7.1.2_r39-anbox_x86_64-userdebug.img"; + sha256 = "16vmiz5al2r19wjpd44nagvz7d901ljxdms8gjp2w4xz1d91vzpm"; + }; +} +.${stdenv.system} or (throw "Unsupported platform ${stdenv.system}") diff --git a/pkgs/os-specific/linux/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix index 551c58d6a9a7d..d8bf15f0a8458 100644 --- a/pkgs/os-specific/linux/apfs/default.nix +++ b/pkgs/os-specific/linux/apfs/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, kernel -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + nixosTests, }: let diff --git a/pkgs/os-specific/linux/asus-ec-sensors/default.nix b/pkgs/os-specific/linux/asus-ec-sensors/default.nix index ae5c370ed21f6..46b362bc47efb 100644 --- a/pkgs/os-specific/linux/asus-ec-sensors/default.nix +++ b/pkgs/os-specific/linux/asus-ec-sensors/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "asus-ec-sensors-${version}-${kernel.version}"; diff --git a/pkgs/os-specific/linux/asus-wmi-sensors/default.nix b/pkgs/os-specific/linux/asus-wmi-sensors/default.nix index 074b2e4ff25af..c73086722de5d 100644 --- a/pkgs/os-specific/linux/asus-wmi-sensors/default.nix +++ b/pkgs/os-specific/linux/asus-wmi-sensors/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "asus-wmi-sensors-${version}-${kernel.version}"; @@ -30,7 +35,10 @@ stdenv.mkDerivation rec { description = "Linux HWMON (lmsensors) sensors driver for various ASUS Ryzen and Threadripper motherboards"; homepage = "https://github.com/electrified/asus-wmi-sensors"; license = licenses.gpl2Only; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ Frostman ]; broken = versionOlder kernel.version "4.12"; }; diff --git a/pkgs/os-specific/linux/ax99100/default.nix b/pkgs/os-specific/linux/ax99100/default.nix index 0e99d9390c15f..3641fc59b4e8a 100644 --- a/pkgs/os-specific/linux/ax99100/default.nix +++ b/pkgs/os-specific/linux/ax99100/default.nix @@ -1,10 +1,20 @@ -{ kernel, stdenv, kmod, lib, fetchzip, dos2unix }: +{ + kernel, + stdenv, + kmod, + lib, + fetchzip, + dos2unix, +}: stdenv.mkDerivation { pname = "ax99100"; version = "1.8.0"; - nativeBuildInputs = [ dos2unix kmod ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ + dos2unix + kmod + ] ++ kernel.moduleBuildDependencies; src = fetchzip { url = "https://www.asix.com.tw/en/support/download/file/1229"; @@ -23,13 +33,15 @@ stdenv.mkDerivation { # We included them here instead of fetching them, because of line # ending issues that are easier to fix manually. Also the # set_termios patch needs to be applied for 6.1 not for 6.0. - patches = [ - ./kernel-5.18-pci_free_consistent-pci_alloc_consistent.patch - ./kernel-6.1-set_termios-const-ktermios.patch - ] ++ lib.optionals (lib.versionAtLeast kernel.version "6.2") [ - ./kernel-6.2-fix-pointer-type.patch - ./kernel-6.4-fix-define-semaphore.patch - ]; + patches = + [ + ./kernel-5.18-pci_free_consistent-pci_alloc_consistent.patch + ./kernel-6.1-set_termios-const-ktermios.patch + ] + ++ lib.optionals (lib.versionAtLeast kernel.version "6.2") [ + ./kernel-6.2-fix-pointer-type.patch + ./kernel-6.4-fix-define-semaphore.patch + ]; patchFlags = [ "-p0" ]; diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix index 26c433b8a06d9..925ff2bb169aa 100644 --- a/pkgs/os-specific/linux/batman-adv/alfred.nix +++ b/pkgs/os-specific/linux/batman-adv/alfred.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchurl, pkg-config, gpsd, libcap, libnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + gpsd, + libcap, + libnl, +}: -let cfg = import ./version.nix; in +let + cfg = import ./version.nix; +in stdenv.mkDerivation rec { pname = "alfred"; @@ -12,7 +22,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gpsd libcap libnl ]; + buildInputs = [ + gpsd + libcap + libnl + ]; preBuild = '' makeFlags="PREFIX=$out" diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix index e42b1b18d5841..f01508ac7572a 100644 --- a/pkgs/os-specific/linux/batman-adv/batctl.nix +++ b/pkgs/os-specific/linux/batman-adv/batctl.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, pkg-config, libnl }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + libnl, +}: -let cfg = import ./version.nix; in +let + cfg = import ./version.nix; +in stdenv.mkDerivation rec { pname = "batctl"; diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix index 8fa54664fb4dd..d9a7890ae98a4 100644 --- a/pkgs/os-specific/linux/batman-adv/default.nix +++ b/pkgs/os-specific/linux/batman-adv/default.nix @@ -1,10 +1,13 @@ -{ lib -, stdenv -, fetchurl -, kernel +{ + lib, + stdenv, + fetchurl, + kernel, }: -let cfg = import ./version.nix; in +let + cfg = import ./version.nix; +in stdenv.mkDerivation rec { pname = "batman-adv"; @@ -31,7 +34,10 @@ stdenv.mkDerivation rec { homepage = "https://www.open-mesh.org/projects/batman-adv/wiki/Wiki"; description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2"; license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ fpletz philiptaron ]; + maintainers = with lib.maintainers; [ + fpletz + philiptaron + ]; platforms = with lib.platforms; linux; }; } diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix index a65bcab50ee25..67c4bcbbcb0fd 100644 --- a/pkgs/os-specific/linux/bbswitch/default.nix +++ b/pkgs/os-specific/linux/bbswitch/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, kernel, runtimeShell }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + kernel, + runtimeShell, +}: let baseName = "bbswitch"; @@ -56,7 +63,10 @@ stdenv.mkDerivation { meta = with lib; { description = "Module for powering off hybrid GPUs"; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; homepage = "https://github.com/Bumblebee-Project/bbswitch"; maintainers = with maintainers; [ abbradar ]; license = licenses.gpl2Plus; diff --git a/pkgs/os-specific/linux/bionic-prebuilt/default.nix b/pkgs/os-specific/linux/bionic-prebuilt/default.nix index 6aad7ebcacb37..be53b12a42ce5 100644 --- a/pkgs/os-specific/linux/bionic-prebuilt/default.nix +++ b/pkgs/os-specific/linux/bionic-prebuilt/default.nix @@ -1,16 +1,23 @@ -{ stdenv, stdenvNoCC, lib, fetchzip, pkgs -, enableStatic ? stdenv.hostPlatform.isStatic -, enableShared ? !stdenv.hostPlatform.isStatic +{ + stdenv, + stdenvNoCC, + lib, + fetchzip, + pkgs, + enableStatic ? stdenv.hostPlatform.isStatic, + enableShared ? !stdenv.hostPlatform.isStatic, }: let choosePlatform = - let pname = stdenv.hostPlatform.parsed.cpu.name; in + let + pname = stdenv.hostPlatform.parsed.cpu.name; + in pset: pset.${pname} or (throw "bionic-prebuilt: unsupported platform ${pname}"); prebuilt_crt = choosePlatform { aarch64 = fetchzip { - url = "https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/+archive/98dce673ad97a9640c5d90bbb1c718e75c21e071/lib/gcc/aarch64-linux-android/4.9.x.tar.gz"; + url = "https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/+archive/98dce673ad97a9640c5d90bbb1c718e75c21e071/lib/gcc/aarch64-linux-android/4.9.x.tar.gz"; sha256 = "sha256-LLD2OJi78sNN5NulOsJZl7Ei4F1EUYItGG6eUsKWULc="; stripRoot = false; }; @@ -48,7 +55,7 @@ let }; ndk_support_headers = fetchzip { - url ="https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/0e7f808fa26cce046f444c9616d9167dafbfb272/clang-r416183b/include/c++/v1/support.tar.gz"; + url = "https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/0e7f808fa26cce046f444c9616d9167dafbfb272/clang-r416183b/include/c++/v1/support.tar.gz"; sha256 = "sha256-NBv7Pk1CEaz8ns9moleEERr3x/rFmVmG33LgFSeO6fY="; stripRoot = false; }; @@ -90,59 +97,66 @@ stdenvNoCC.mkDerivation rec { "!defined(BIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD)" "0" ''; - installPhase= '' - # copy the bionic headers - mkdir -p $out/include/support $out/include/android - cp -vr libc/include/* $out/include - # copy the kernel headers - cp -vr ${kernelHeaders}/include/* $out/include/ - - chmod -R +w $out/include/linux - - # fix a bunch of kernel headers so that things can actually be found - sed -i 's,struct epoll_event {,#include \nstruct Xepoll_event {,' $out/include/linux/eventpoll.h - sed -i 's,struct in_addr {,typedef unsigned int in_addr_t;\nstruct in_addr {,' $out/include/linux/in.h - sed -i 's,struct udphdr {,struct Xudphdr {,' $out/include/linux/udp.h - sed -i 's,union semun {,union Xsemun {,' $out/include/linux/sem.h - sed -i 's,struct __kernel_sockaddr_storage,#define sockaddr_storage __kernel_sockaddr_storage\nstruct __kernel_sockaddr_storage,' $out/include/linux/socket.h - sed -i 's,#ifndef __UAPI_DEF_.*$,#if 1,' $out/include/linux/libc-compat.h - substituteInPlace $out/include/linux/in.h --replace "__be32 imr_" "struct in_addr imr_" - substituteInPlace $out/include/linux/in.h --replace "__be32 imsf_" "struct in_addr imsf_" - substituteInPlace $out/include/linux/sysctl.h --replace "__unused" "_unused" - - # what could possibly live in - touch $out/include/linux/compiler.h - - # copy the support headers - cp -vr ${ndk_support_headers}* $out/include/support/ - - mkdir $out/lib - cp -v ${prebuilt_crt.out}/*.o $out/lib/ - cp -v ${prebuilt_crt.out}/libgcc.a $out/lib/ - cp -v ${prebuilt_ndk_crt.out}/*.o $out/lib/ - '' + lib.optionalString enableShared '' - for i in libc.so libm.so libdl.so liblog.so; do - cp -v ${prebuilt_libs.out}/$i $out/lib/ - done - '' + lib.optionalString enableStatic '' - # no liblog.a; while it's also part of the base libraries, - # it's only available as shared object in the prebuilts. - for i in libc.a libm.a libdl.a; do - cp -v ${prebuilt_ndk_crt.out}/$i $out/lib/ - done - '' + '' - mkdir -p $dev/include - cp -v $out/include/*.h $dev/include/ - ''; - - outputs = [ "out" "dev" ]; + installPhase = + '' + # copy the bionic headers + mkdir -p $out/include/support $out/include/android + cp -vr libc/include/* $out/include + # copy the kernel headers + cp -vr ${kernelHeaders}/include/* $out/include/ + + chmod -R +w $out/include/linux + + # fix a bunch of kernel headers so that things can actually be found + sed -i 's,struct epoll_event {,#include \nstruct Xepoll_event {,' $out/include/linux/eventpoll.h + sed -i 's,struct in_addr {,typedef unsigned int in_addr_t;\nstruct in_addr {,' $out/include/linux/in.h + sed -i 's,struct udphdr {,struct Xudphdr {,' $out/include/linux/udp.h + sed -i 's,union semun {,union Xsemun {,' $out/include/linux/sem.h + sed -i 's,struct __kernel_sockaddr_storage,#define sockaddr_storage __kernel_sockaddr_storage\nstruct __kernel_sockaddr_storage,' $out/include/linux/socket.h + sed -i 's,#ifndef __UAPI_DEF_.*$,#if 1,' $out/include/linux/libc-compat.h + substituteInPlace $out/include/linux/in.h --replace "__be32 imr_" "struct in_addr imr_" + substituteInPlace $out/include/linux/in.h --replace "__be32 imsf_" "struct in_addr imsf_" + substituteInPlace $out/include/linux/sysctl.h --replace "__unused" "_unused" + + # what could possibly live in + touch $out/include/linux/compiler.h + + # copy the support headers + cp -vr ${ndk_support_headers}* $out/include/support/ + + mkdir $out/lib + cp -v ${prebuilt_crt.out}/*.o $out/lib/ + cp -v ${prebuilt_crt.out}/libgcc.a $out/lib/ + cp -v ${prebuilt_ndk_crt.out}/*.o $out/lib/ + '' + + lib.optionalString enableShared '' + for i in libc.so libm.so libdl.so liblog.so; do + cp -v ${prebuilt_libs.out}/$i $out/lib/ + done + '' + + lib.optionalString enableStatic '' + # no liblog.a; while it's also part of the base libraries, + # it's only available as shared object in the prebuilts. + for i in libc.a libm.a libdl.a; do + cp -v ${prebuilt_ndk_crt.out}/$i $out/lib/ + done + '' + + '' + mkdir -p $dev/include + cp -v $out/include/*.h $dev/include/ + ''; + + outputs = [ + "out" + "dev" + ]; passthru.linuxHeaders = kernelHeaders; meta = with lib; { description = "Android libc implementation"; - homepage = "https://android.googlesource.com/platform/bionic/"; - license = licenses.mit; - platforms = platforms.linux; + homepage = "https://android.googlesource.com/platform/bionic/"; + license = licenses.mit; + platforms = platforms.linux; maintainers = with maintainers; [ s1341 ]; }; } diff --git a/pkgs/os-specific/linux/busybox/sandbox-shell.nix b/pkgs/os-specific/linux/busybox/sandbox-shell.nix index 38df716997ca9..1458dafcd5e10 100644 --- a/pkgs/os-specific/linux/busybox/sandbox-shell.nix +++ b/pkgs/os-specific/linux/busybox/sandbox-shell.nix @@ -1,29 +1,37 @@ -{ lib, stdenv, busybox, musl }: +{ + lib, + stdenv, + busybox, + musl, +}: # Minimal shell for use as basic /bin/sh in sandbox builds -busybox.override ({ - enableStatic = true; - enableMinimal = true; +busybox.override ( + { + enableStatic = true; + enableMinimal = true; - extraConfig = '' - CONFIG_FEATURE_FANCY_ECHO y - CONFIG_FEATURE_SH_MATH y - CONFIG_FEATURE_SH_MATH_64 y - CONFIG_FEATURE_TEST_64 y + extraConfig = '' + CONFIG_FEATURE_FANCY_ECHO y + CONFIG_FEATURE_SH_MATH y + CONFIG_FEATURE_SH_MATH_64 y + CONFIG_FEATURE_TEST_64 y - CONFIG_ASH y - CONFIG_ASH_OPTIMIZE_FOR_SIZE y + CONFIG_ASH y + CONFIG_ASH_OPTIMIZE_FOR_SIZE y - CONFIG_ASH_ALIAS y - CONFIG_ASH_BASH_COMPAT y - CONFIG_ASH_CMDCMD y - CONFIG_ASH_ECHO y - CONFIG_ASH_GETOPTS y - CONFIG_ASH_INTERNAL_GLOB y - CONFIG_ASH_JOB_CONTROL y - CONFIG_ASH_PRINTF y - CONFIG_ASH_TEST y - ''; -} // lib.optionalAttrs (stdenv.hostPlatform.isGnu && lib.meta.availableOn stdenv.hostPlatform musl) { - useMusl = true; -}) + CONFIG_ASH_ALIAS y + CONFIG_ASH_BASH_COMPAT y + CONFIG_ASH_CMDCMD y + CONFIG_ASH_ECHO y + CONFIG_ASH_GETOPTS y + CONFIG_ASH_INTERNAL_GLOB y + CONFIG_ASH_JOB_CONTROL y + CONFIG_ASH_PRINTF y + CONFIG_ASH_TEST y + ''; + } + // lib.optionalAttrs (stdenv.hostPlatform.isGnu && lib.meta.availableOn stdenv.hostPlatform musl) { + useMusl = true; + } +) diff --git a/pkgs/os-specific/linux/can-isotp/default.nix b/pkgs/os-specific/linux/can-isotp/default.nix index 06329478ded46..1a6f78d82824a 100644 --- a/pkgs/os-specific/linux/can-isotp/default.nix +++ b/pkgs/os-specific/linux/can-isotp/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, kernel, fetchFromGitHub }: +{ + lib, + stdenv, + kernel, + fetchFromGitHub, +}: stdenv.mkDerivation { pname = "can-isotp"; diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index de2c16b8d55c5..63ad87c6a1fa8 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,68 +1,99 @@ -{ config, lib, stdenv, fetchFromGitHub, pkg-config, cmake - -# dependencies -, glib, libXinerama, catch2 - -# lib.optional features without extra dependencies -, mpdSupport ? true -, ibmSupport ? true # IBM/Lenovo notebooks - -# lib.optional features with extra dependencies - -# ouch, this is ugly, but this gives the man page -, docsSupport ? true, docbook2x, libxslt ? null - , man ? null, less ? null - , docbook_xsl ? null , docbook_xml_dtd_44 ? null - -, ncursesSupport ? true , ncurses ? null -, x11Support ? true , freetype, xorg -, waylandSupport ? true , pango, wayland, wayland-protocols, wayland-scanner -, xdamageSupport ? x11Support, libXdamage ? null -, doubleBufferSupport ? x11Support -, imlib2Support ? x11Support, imlib2 ? null - -, luaSupport ? true , lua ? null -, luaImlib2Support ? luaSupport && imlib2Support -, luaCairoSupport ? luaSupport && (x11Support || waylandSupport), cairo ? null -, toluapp ? null - -, wirelessSupport ? true , wirelesstools ? null -, nvidiaSupport ? false , libXNVCtrl ? null -, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null - -, curlSupport ? true , curl ? null -, rssSupport ? curlSupport -, weatherMetarSupport ? curlSupport -, weatherXoapSupport ? curlSupport -, journalSupport ? true, systemd ? null -, libxml2 ? null +{ + config, + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + + # dependencies + glib, + libXinerama, + catch2, + + # lib.optional features without extra dependencies + mpdSupport ? true, + ibmSupport ? true, # IBM/Lenovo notebooks + + # lib.optional features with extra dependencies + + # ouch, this is ugly, but this gives the man page + docsSupport ? true, + docbook2x, + libxslt ? null, + man ? null, + less ? null, + docbook_xsl ? null, + docbook_xml_dtd_44 ? null, + + ncursesSupport ? true, + ncurses ? null, + x11Support ? true, + freetype, + xorg, + waylandSupport ? true, + pango, + wayland, + wayland-protocols, + wayland-scanner, + xdamageSupport ? x11Support, + libXdamage ? null, + doubleBufferSupport ? x11Support, + imlib2Support ? x11Support, + imlib2 ? null, + + luaSupport ? true, + lua ? null, + luaImlib2Support ? luaSupport && imlib2Support, + luaCairoSupport ? luaSupport && (x11Support || waylandSupport), + cairo ? null, + toluapp ? null, + + wirelessSupport ? true, + wirelesstools ? null, + nvidiaSupport ? false, + libXNVCtrl ? null, + pulseSupport ? config.pulseaudio or false, + libpulseaudio ? null, + + curlSupport ? true, + curl ? null, + rssSupport ? curlSupport, + weatherMetarSupport ? curlSupport, + weatherXoapSupport ? curlSupport, + journalSupport ? true, + systemd ? null, + libxml2 ? null, }: -assert docsSupport -> docbook2x != null && libxslt != null - && man != null && less != null - && docbook_xsl != null && docbook_xml_dtd_44 != null; - -assert ncursesSupport -> ncurses != null; - -assert xdamageSupport -> x11Support && libXdamage != null; -assert imlib2Support -> x11Support && imlib2 != null; -assert luaSupport -> lua != null; -assert luaImlib2Support -> luaSupport && imlib2Support - && toluapp != null; -assert luaCairoSupport -> luaSupport && toluapp != null - && cairo != null; -assert luaCairoSupport || luaImlib2Support - -> lua.luaversion == "5.4"; - -assert wirelessSupport -> wirelesstools != null; -assert nvidiaSupport -> libXNVCtrl != null; -assert pulseSupport -> libpulseaudio != null; - -assert curlSupport -> curl != null; -assert rssSupport -> curlSupport && libxml2 != null; +assert + docsSupport + -> + docbook2x != null + && libxslt != null + && man != null + && less != null + && docbook_xsl != null + && docbook_xml_dtd_44 != null; + +assert ncursesSupport -> ncurses != null; + +assert xdamageSupport -> x11Support && libXdamage != null; +assert imlib2Support -> x11Support && imlib2 != null; +assert luaSupport -> lua != null; +assert luaImlib2Support -> luaSupport && imlib2Support && toluapp != null; +assert luaCairoSupport -> luaSupport && toluapp != null && cairo != null; +assert luaCairoSupport || luaImlib2Support -> lua.luaversion == "5.4"; + +assert wirelessSupport -> wirelesstools != null; +assert nvidiaSupport -> libXNVCtrl != null; +assert pulseSupport -> libpulseaudio != null; + +assert curlSupport -> curl != null; +assert rssSupport -> curlSupport && libxml2 != null; assert weatherMetarSupport -> curlSupport; -assert weatherXoapSupport -> curlSupport && libxml2 != null; -assert journalSupport -> systemd != null; +assert weatherXoapSupport -> curlSupport && libxml2 != null; +assert journalSupport -> systemd != null; stdenv.mkDerivation rec { pname = "conky"; @@ -75,14 +106,16 @@ stdenv.mkDerivation rec { hash = "sha256-L8YSbdk+qQl17L4IRajFD/AEWRXb2w7xH9sM9qPGrQo="; }; - postPatch = lib.optionalString docsSupport '' - substituteInPlace cmake/Conky.cmake --replace "# set(RELEASE true)" "set(RELEASE true)" + postPatch = + lib.optionalString docsSupport '' + substituteInPlace cmake/Conky.cmake --replace "# set(RELEASE true)" "set(RELEASE true)" - cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp - '' + lib.optionalString waylandSupport '' - substituteInPlace src/CMakeLists.txt \ - --replace 'COMMAND ''${Wayland_SCANNER}' 'COMMAND wayland-scanner' - ''; + cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp + '' + + lib.optionalString waylandSupport '' + substituteInPlace src/CMakeLists.txt \ + --replace 'COMMAND ''${Wayland_SCANNER}' 'COMMAND wayland-scanner' + ''; env = { # For some reason -Werror is on by default, causing the project to fail compilation. @@ -90,51 +123,75 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-lgcc_s"; }; - nativeBuildInputs = [ cmake pkg-config ] - ++ lib.optionals docsSupport [ docbook2x docbook_xsl docbook_xml_dtd_44 libxslt man less ] - ++ lib.optional waylandSupport wayland-scanner - ++ lib.optional luaImlib2Support toluapp - ++ lib.optional luaCairoSupport toluapp - ; - buildInputs = [ glib libXinerama ] - ++ lib.optional ncursesSupport ncurses - ++ lib.optionals x11Support [ freetype xorg.libICE xorg.libX11 xorg.libXext xorg.libXft xorg.libSM ] - ++ lib.optionals waylandSupport [ pango wayland wayland-protocols ] - ++ lib.optional xdamageSupport libXdamage - ++ lib.optional imlib2Support imlib2 - ++ lib.optional luaSupport lua - ++ lib.optional luaImlib2Support imlib2 - ++ lib.optional luaCairoSupport cairo - ++ lib.optional wirelessSupport wirelesstools - ++ lib.optional curlSupport curl - ++ lib.optional rssSupport libxml2 - ++ lib.optional weatherXoapSupport libxml2 - ++ lib.optional nvidiaSupport libXNVCtrl - ++ lib.optional pulseSupport libpulseaudio - ++ lib.optional journalSupport systemd - ; - - cmakeFlags = [] - ++ lib.optional docsSupport "-DMAINTAINER_MODE=ON" - ++ lib.optional curlSupport "-DBUILD_CURL=ON" - ++ lib.optional (!ibmSupport) "-DBUILD_IBM=OFF" - ++ lib.optional imlib2Support "-DBUILD_IMLIB2=ON" - ++ lib.optional luaCairoSupport "-DBUILD_LUA_CAIRO=ON" - ++ lib.optional luaImlib2Support "-DBUILD_LUA_IMLIB2=ON" - ++ lib.optional (!mpdSupport) "-DBUILD_MPD=OFF" - ++ lib.optional (!ncursesSupport) "-DBUILD_NCURSES=OFF" - ++ lib.optional rssSupport "-DBUILD_RSS=ON" - ++ lib.optional (!x11Support) "-DBUILD_X11=OFF" - ++ lib.optional waylandSupport "-DBUILD_WAYLAND=ON" - ++ lib.optional xdamageSupport "-DBUILD_XDAMAGE=ON" + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optionals docsSupport [ + docbook2x + docbook_xsl + docbook_xml_dtd_44 + libxslt + man + less + ] + ++ lib.optional waylandSupport wayland-scanner + ++ lib.optional luaImlib2Support toluapp + ++ lib.optional luaCairoSupport toluapp; + buildInputs = + [ + glib + libXinerama + ] + ++ lib.optional ncursesSupport ncurses + ++ lib.optionals x11Support [ + freetype + xorg.libICE + xorg.libX11 + xorg.libXext + xorg.libXft + xorg.libSM + ] + ++ lib.optionals waylandSupport [ + pango + wayland + wayland-protocols + ] + ++ lib.optional xdamageSupport libXdamage + ++ lib.optional imlib2Support imlib2 + ++ lib.optional luaSupport lua + ++ lib.optional luaImlib2Support imlib2 + ++ lib.optional luaCairoSupport cairo + ++ lib.optional wirelessSupport wirelesstools + ++ lib.optional curlSupport curl + ++ lib.optional rssSupport libxml2 + ++ lib.optional weatherXoapSupport libxml2 + ++ lib.optional nvidiaSupport libXNVCtrl + ++ lib.optional pulseSupport libpulseaudio + ++ lib.optional journalSupport systemd; + + cmakeFlags = + [ ] + ++ lib.optional docsSupport "-DMAINTAINER_MODE=ON" + ++ lib.optional curlSupport "-DBUILD_CURL=ON" + ++ lib.optional (!ibmSupport) "-DBUILD_IBM=OFF" + ++ lib.optional imlib2Support "-DBUILD_IMLIB2=ON" + ++ lib.optional luaCairoSupport "-DBUILD_LUA_CAIRO=ON" + ++ lib.optional luaImlib2Support "-DBUILD_LUA_IMLIB2=ON" + ++ lib.optional (!mpdSupport) "-DBUILD_MPD=OFF" + ++ lib.optional (!ncursesSupport) "-DBUILD_NCURSES=OFF" + ++ lib.optional rssSupport "-DBUILD_RSS=ON" + ++ lib.optional (!x11Support) "-DBUILD_X11=OFF" + ++ lib.optional waylandSupport "-DBUILD_WAYLAND=ON" + ++ lib.optional xdamageSupport "-DBUILD_XDAMAGE=ON" ++ lib.optional doubleBufferSupport "-DBUILD_XDBE=ON" ++ lib.optional weatherMetarSupport "-DBUILD_WEATHER_METAR=ON" - ++ lib.optional weatherXoapSupport "-DBUILD_WEATHER_XOAP=ON" - ++ lib.optional wirelessSupport "-DBUILD_WLAN=ON" - ++ lib.optional nvidiaSupport "-DBUILD_NVIDIA=ON" - ++ lib.optional pulseSupport "-DBUILD_PULSEAUDIO=ON" - ++ lib.optional journalSupport "-DBUILD_JOURNAL=ON" - ; + ++ lib.optional weatherXoapSupport "-DBUILD_WEATHER_XOAP=ON" + ++ lib.optional wirelessSupport "-DBUILD_WLAN=ON" + ++ lib.optional nvidiaSupport "-DBUILD_NVIDIA=ON" + ++ lib.optional pulseSupport "-DBUILD_PULSEAUDIO=ON" + ++ lib.optional journalSupport "-DBUILD_JOURNAL=ON"; # `make -f src/CMakeFiles/conky.dir/build.make src/CMakeFiles/conky.dir/conky.cc.o`: # src/conky.cc:137:23: fatal error: defconfig.h: No such file or directory diff --git a/pkgs/os-specific/linux/cpupower-gui/default.nix b/pkgs/os-specific/linux/cpupower-gui/default.nix index ca6ce58bad455..f29cce5b8f196 100644 --- a/pkgs/os-specific/linux/cpupower-gui/default.nix +++ b/pkgs/os-specific/linux/cpupower-gui/default.nix @@ -1,24 +1,25 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, buildPythonApplication -, appstream-glib -, dbus-python -, desktop-file-utils -, gettext -, glib -, gobject-introspection -, gtk3 -, hicolor-icon-theme -, libappindicator -, libhandy -, meson -, ninja -, pkg-config -, pygobject3 -, pyxdg -, systemd -, wrapGAppsHook3 +{ + lib, + fetchFromGitHub, + fetchpatch, + buildPythonApplication, + appstream-glib, + dbus-python, + desktop-file-utils, + gettext, + glib, + gobject-introspection, + gtk3, + hicolor-icon-theme, + libappindicator, + libhandy, + meson, + ninja, + pkg-config, + pygobject3, + pyxdg, + systemd, + wrapGAppsHook3, }: buildPythonApplication rec { diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix index f811455f8a629..c2e881b33c313 100644 --- a/pkgs/os-specific/linux/cpupower/default.nix +++ b/pkgs/os-specific/linux/cpupower/default.nix @@ -1,10 +1,21 @@ -{ lib, stdenv, buildPackages, kernel, pciutils, gettext, which }: +{ + lib, + stdenv, + buildPackages, + kernel, + pciutils, + gettext, + which, +}: stdenv.mkDerivation { pname = "cpupower"; inherit (kernel) version src patches; - nativeBuildInputs = [ gettext which ]; + nativeBuildInputs = [ + gettext + which + ]; buildInputs = [ pciutils ]; postPatch = '' @@ -20,8 +31,7 @@ stdenv.mkDerivation { "LD=${stdenv.cc.targetPrefix}cc" ]; - installFlags = lib.mapAttrsToList - (n: v: "${n}dir=${placeholder "out"}/${v}") { + installFlags = lib.mapAttrsToList (n: v: "${n}dir=${placeholder "out"}/${v}") { bin = "bin"; sbin = "sbin"; man = "share/man"; diff --git a/pkgs/os-specific/linux/ddcci/default.nix b/pkgs/os-specific/linux/ddcci/default.nix index a00df68246b25..d674daabbecaa 100644 --- a/pkgs/os-specific/linux/ddcci/default.nix +++ b/pkgs/os-specific/linux/ddcci/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, kernel, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitLab, + kernel, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "ddcci-driver"; diff --git a/pkgs/os-specific/linux/dddvb/default.nix b/pkgs/os-specific/linux/dddvb/default.nix index 02c4b3a1a7710..80482cd1b211e 100644 --- a/pkgs/os-specific/linux/dddvb/default.nix +++ b/pkgs/os-specific/linux/dddvb/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, kernel +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + kernel, }: stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/linux/decklink/default.nix b/pkgs/os-specific/linux/decklink/default.nix index 4916b8630ad4d..c5d1b570ab510 100644 --- a/pkgs/os-specific/linux/decklink/default.nix +++ b/pkgs/os-specific/linux/decklink/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, lib -, blackmagic-desktop-video -, kernel +{ + stdenv, + lib, + blackmagic-desktop-video, + kernel, }: stdenv.mkDerivation (finalAttrs: { pname = "decklink"; @@ -14,15 +15,17 @@ stdenv.mkDerivation (finalAttrs: { KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; INSTALL_MOD_PATH = placeholder "out"; - nativeBuildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = kernel.moduleBuildDependencies; - postUnpack = let - arch = stdenv.hostPlatform.uname.processor; - in '' - tar xf Blackmagic_Desktop_Video_Linux_${lib.head (lib.splitString "a" finalAttrs.version)}/other/${arch}/desktopvideo-${finalAttrs.version}-${arch}.tar.gz - moduleRoot=$NIX_BUILD_TOP/desktopvideo-${finalAttrs.version}-${stdenv.hostPlatform.uname.processor}/usr/src - sourceRoot=$moduleRoot - ''; + postUnpack = + let + arch = stdenv.hostPlatform.uname.processor; + in + '' + tar xf Blackmagic_Desktop_Video_Linux_${lib.head (lib.splitString "a" finalAttrs.version)}/other/${arch}/desktopvideo-${finalAttrs.version}-${arch}.tar.gz + moduleRoot=$NIX_BUILD_TOP/desktopvideo-${finalAttrs.version}-${stdenv.hostPlatform.uname.processor}/usr/src + sourceRoot=$moduleRoot + ''; buildPhase = '' runHook preBuild diff --git a/pkgs/os-specific/linux/deepin-anything-module/default.nix b/pkgs/os-specific/linux/deepin-anything-module/default.nix index 5ee7c8a35e815..416260f3a6e64 100644 --- a/pkgs/os-specific/linux/deepin-anything-module/default.nix +++ b/pkgs/os-specific/linux/deepin-anything-module/default.nix @@ -1,6 +1,7 @@ -{ stdenv -, deepin -, kernel +{ + stdenv, + deepin, + kernel, }: stdenv.mkDerivation { @@ -26,4 +27,3 @@ stdenv.mkDerivation { description = "Deepin Anything file search tool (kernel modules)"; }; } - diff --git a/pkgs/os-specific/linux/device-tree/default.nix b/pkgs/os-specific/linux/device-tree/default.nix index b8c71cc5a8ae3..a40c2d7c355b6 100644 --- a/pkgs/os-specific/linux/device-tree/default.nix +++ b/pkgs/os-specific/linux/device-tree/default.nix @@ -1,36 +1,49 @@ -{ lib, stdenv, stdenvNoCC, dtc, writers, python3 }: +{ + lib, + stdenv, + stdenvNoCC, + dtc, + writers, + python3, +}: { # Compile single Device Tree overlay source # file (.dts) into its compiled variant (.dtb) - compileDTS = ({ - name, - dtsFile, - includePaths ? [], - extraPreprocessorFlags ? [] - }: stdenv.mkDerivation { - inherit name; + compileDTS = ( + { + name, + dtsFile, + includePaths ? [ ], + extraPreprocessorFlags ? [ ], + }: + stdenv.mkDerivation { + inherit name; - nativeBuildInputs = [ dtc ]; + nativeBuildInputs = [ dtc ]; - buildCommand = - let - includeFlagsStr = lib.concatMapStringsSep " " (includePath: "-I${includePath}") includePaths; - extraPreprocessorFlagsStr = lib.concatStringsSep " " extraPreprocessorFlags; - in - '' - $CC -E -nostdinc ${includeFlagsStr} -undef -D__DTS__ -x assembler-with-cpp ${extraPreprocessorFlagsStr} ${dtsFile} | \ - dtc -I dts -O dtb -@ -o $out - ''; - }); + buildCommand = + let + includeFlagsStr = lib.concatMapStringsSep " " (includePath: "-I${includePath}") includePaths; + extraPreprocessorFlagsStr = lib.concatStringsSep " " extraPreprocessorFlags; + in + '' + $CC -E -nostdinc ${includeFlagsStr} -undef -D__DTS__ -x assembler-with-cpp ${extraPreprocessorFlagsStr} ${dtsFile} | \ + dtc -I dts -O dtb -@ -o $out + ''; + } + ); - applyOverlays = (base: overlays': stdenvNoCC.mkDerivation { - name = "device-tree-overlays"; - nativeBuildInputs = [ - (python3.pythonOnBuildForHost.withPackages(ps: [ps.libfdt])) - ]; - buildCommand = '' - python ${./apply_overlays.py} --source ${base} --destination $out --overlays ${writers.writeJSON "overlays.json" overlays'} - ''; - }); + applyOverlays = ( + base: overlays': + stdenvNoCC.mkDerivation { + name = "device-tree-overlays"; + nativeBuildInputs = [ + (python3.pythonOnBuildForHost.withPackages (ps: [ ps.libfdt ])) + ]; + buildCommand = '' + python ${./apply_overlays.py} --source ${base} --destination $out --overlays ${writers.writeJSON "overlays.json" overlays'} + ''; + } + ); } diff --git a/pkgs/os-specific/linux/device-tree/raspberrypi.nix b/pkgs/os-specific/linux/device-tree/raspberrypi.nix index d9ccb70f1f037..d7617f64cfc6c 100644 --- a/pkgs/os-specific/linux/device-tree/raspberrypi.nix +++ b/pkgs/os-specific/linux/device-tree/raspberrypi.nix @@ -1,4 +1,8 @@ -{ lib, stdenvNoCC, raspberrypifw }: +{ + lib, + stdenvNoCC, + raspberrypifw, +}: stdenvNoCC.mkDerivation { pname = "raspberrypi-dtbs"; diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix index fa26f38941b93..ab366ad88ad55 100644 --- a/pkgs/os-specific/linux/dmraid/default.nix +++ b/pkgs/os-specific/linux/dmraid/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, fetchpatch, lvm2 }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + lvm2, +}: stdenv.mkDerivation rec { pname = "dmraid"; @@ -9,7 +15,8 @@ stdenv.mkDerivation rec { sha256 = "0m92971gyqp61darxbiri6a48jz3wq3gkp8r2k39320z0i6w8jgq"; }; - patches = [ ./hardening-format.patch ] + patches = + [ ./hardening-format.patch ] ++ lib.optionals stdenv.hostPlatform.isMusl [ (fetchpatch { url = "https://raw.githubusercontent.com/void-linux/void-packages/fceed4b8e96b3c1da07babf6f67b6ed1588a28b2/srcpkgs/dmraid/patches/006-musl-libc.patch"; @@ -25,11 +32,13 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - sed -i 's/\[\[[^]]*\]\]/[ "''$''${n##*.}" = "so" ]/' */lib/Makefile.in - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE" - ''; + postPatch = + '' + sed -i 's/\[\[[^]]*\]\]/[ "''$''${n##*.}" = "so" ]/' */lib/Makefile.in + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE" + ''; preConfigure = "cd */"; diff --git a/pkgs/os-specific/linux/dpdk-kmods/default.nix b/pkgs/os-specific/linux/dpdk-kmods/default.nix index 4205da7e7e80c..6b19320dd9e32 100644 --- a/pkgs/os-specific/linux/dpdk-kmods/default.nix +++ b/pkgs/os-specific/linux/dpdk-kmods/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, kernel }: +{ + lib, + stdenv, + fetchzip, + kernel, +}: stdenv.mkDerivation rec { pname = "dpdk-kmods"; diff --git a/pkgs/os-specific/linux/drbd/utils.nix b/pkgs/os-specific/linux/drbd/utils.nix index ad50c2c3e50a5..408412481ac72 100644 --- a/pkgs/os-specific/linux/drbd/utils.nix +++ b/pkgs/os-specific/linux/drbd/utils.nix @@ -1,25 +1,26 @@ -{ lib -, stdenv -, docbook_xml_dtd_44 -, docbook_xml_dtd_45 -, docbook_xsl -, asciidoctor -, fetchurl -, flex -, kmod -, libxslt -, nixosTests -, perl -, perlPackages -, systemd -, keyutils +{ + lib, + stdenv, + docbook_xml_dtd_44, + docbook_xml_dtd_45, + docbook_xsl, + asciidoctor, + fetchurl, + flex, + kmod, + libxslt, + nixosTests, + perl, + perlPackages, + systemd, + keyutils, -# drbd-utils are compiled twice, once with forOCF = true to extract -# its OCF definitions for use in the ocf-resource-agents derivation, -# then again with forOCF = false, where the ocf-resource-agents is -# provided as the OCF_ROOT. -, forOCF ? false -, ocf-resource-agents + # drbd-utils are compiled twice, once with forOCF = true to extract + # its OCF definitions for use in the ocf-resource-agents derivation, + # then again with forOCF = false, where the ocf-resource-agents is + # provided as the OCF_ROOT. + forOCF ? false, + ocf-resource-agents, }: stdenv.mkDerivation rec { @@ -126,10 +127,14 @@ stdenv.mkDerivation rec { description = "Distributed Replicated Block Device, a distributed storage system for Linux (userspace utilities)"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ ryantm astro birkb ]; + maintainers = with maintainers; [ + ryantm + astro + birkb + ]; longDescription = '' - DRBD is a software-based, shared-nothing, replicated storage solution - mirroring the content of block devices (hard disks, partitions, logical volumes, and so on) between hosts. + DRBD is a software-based, shared-nothing, replicated storage solution + mirroring the content of block devices (hard disks, partitions, logical volumes, and so on) between hosts. ''; }; } diff --git a/pkgs/os-specific/linux/e1000e/default.nix b/pkgs/os-specific/linux/e1000e/default.nix index 1ed7f6aa0193a..92cfc49454e11 100644 --- a/pkgs/os-specific/linux/e1000e/default.nix +++ b/pkgs/os-specific/linux/e1000e/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, kernel }: +{ + lib, + stdenv, + fetchurl, + kernel, +}: assert lib.versionOlder kernel.version "4.10"; diff --git a/pkgs/os-specific/linux/error-inject/default.nix b/pkgs/os-specific/linux/error-inject/default.nix index 69b90169bda02..f5cc7a465191e 100644 --- a/pkgs/os-specific/linux/error-inject/default.nix +++ b/pkgs/os-specific/linux/error-inject/default.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchzip -, bison, flex, rasdaemon +{ + lib, + stdenv, + fetchzip, + bison, + flex, + rasdaemon, }: { @@ -14,7 +19,10 @@ sha256 = "0gjapg2hrlxp8ssrnhvc19i3r1xpcnql7xv0zjgbv09zyha08g6z"; }; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; makeFlags = [ "destdir=${placeholder "out"}" ]; @@ -43,7 +51,10 @@ sha256 = "0bh6mzpk2mr4xidkammmkfk21b4dbq793qjg25ryyxd1qv0c6cg4"; }; - nativeBuildInputs = [ bison flex ]; + nativeBuildInputs = [ + bison + flex + ]; # how is this necessary? makeFlags = [ "DESTDIR=${placeholder "out"}" ]; diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix index c252238f7bd69..d3af005695836 100644 --- a/pkgs/os-specific/linux/exfat/default.nix +++ b/pkgs/os-specific/linux/exfat/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "exfat-nofuse-${version}-${kernel.version}"; @@ -15,12 +20,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = kernel.moduleBuildDependencies; - makeFlags = [ - "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "ARCH=${stdenv.hostPlatform.linuxArch}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "ARCH=${stdenv.hostPlatform.linuxArch}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; installPhase = '' install -m644 -b -D exfat.ko $out/lib/modules/${kernel.modDirVersion}/kernel/fs/exfat/exfat.ko diff --git a/pkgs/os-specific/linux/facetimehd/default.nix b/pkgs/os-specific/linux/facetimehd/default.nix index 4fa670afb3962..f90ace87caebf 100644 --- a/pkgs/os-specific/linux/facetimehd/default.nix +++ b/pkgs/os-specific/linux/facetimehd/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "facetimehd-${version}-${kernel.version}"; @@ -37,7 +42,14 @@ stdenv.mkDerivation rec { homepage = "https://github.com/patjak/bcwc_pcie"; description = "Linux driver for the Facetime HD (Broadcom 1570) PCIe webcam"; license = licenses.gpl2Only; - maintainers = with maintainers; [ womfoo grahamc kraem ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ + womfoo + grahamc + kraem + ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/os-specific/linux/fanout/default.nix b/pkgs/os-specific/linux/fanout/default.nix index fc6bac80d6cd4..2798f9da6233f 100644 --- a/pkgs/os-specific/linux/fanout/default.nix +++ b/pkgs/os-specific/linux/fanout/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, kernel, kmod, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + kmod, + nixosTests, +}: stdenv.mkDerivation rec { pname = "fanout"; @@ -19,7 +26,10 @@ stdenv.mkDerivation rec { ./remove_auto_mknod.patch ]; - hardeningDisable = [ "format" "pic" ]; + hardeningDisable = [ + "format" + "pic" + ]; nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index 2196a5730aa26..c607950c41ebe 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -79,19 +79,21 @@ stdenv.mkDerivation rec { "PYTHON_INTERPRETER=${python.interpreter}" ]; - buildInputs = [ - dbus - dbus_cplusplus - glibmm - libavc1394 - libconfig - libiec61883 - libraw1394 - libxmlxx3 - python - ] ++ lib.optionals (!stdenv.hostPlatform.isGnu) [ - argp-standalone - ]; + buildInputs = + [ + dbus + dbus_cplusplus + glibmm + libavc1394 + libconfig + libiec61883 + libraw1394 + libxmlxx3 + python + ] + ++ lib.optionals (!stdenv.hostPlatform.isGnu) [ + argp-standalone + ]; NIX_LDFLAGS = lib.optionalString (!stdenv.hostPlatform.isGnu) "-largp"; diff --git a/pkgs/os-specific/linux/firmware/ath9k/default.nix b/pkgs/os-specific/linux/firmware/ath9k/default.nix index ab342d68c135f..44a5d65358b44 100644 --- a/pkgs/os-specific/linux/firmware/ath9k/default.nix +++ b/pkgs/os-specific/linux/firmware/ath9k/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, m4 -, cmake -, perl -, writeScript -, enableUnstable ? false +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + m4, + cmake, + perl, + writeScript, + enableUnstable ? false, }: let @@ -17,24 +18,36 @@ stdenv.mkDerivation (finalAttrs: { pname = "ath9k-htc-blobless-firmware"; version = if enableUnstable then "unstable-2022-05-22" else stableVersion; - src = fetchFromGitHub ({ - owner = "qca"; - repo = "open-ath9k-htc-firmware"; - } // (if enableUnstable then { - rev = "d856466a068afe4069335257c0d28295ff777d92"; - hash = "sha256-9OE6qYGABeXjf1r/Depd+811EJ2e8I0Ni5ePHSOh9G4="; - } else { - rev = finalAttrs.version; - hash = "sha256-Q/A0ryIC5E1pt2Sh7o79gxHbe4OgdlrwflOWtxWSS5o="; - })); + src = fetchFromGitHub ( + { + owner = "qca"; + repo = "open-ath9k-htc-firmware"; + } + // ( + if enableUnstable then + { + rev = "d856466a068afe4069335257c0d28295ff777d92"; + hash = "sha256-9OE6qYGABeXjf1r/Depd+811EJ2e8I0Ni5ePHSOh9G4="; + } + else + { + rev = finalAttrs.version; + hash = "sha256-Q/A0ryIC5E1pt2Sh7o79gxHbe4OgdlrwflOWtxWSS5o="; + } + ) + ); postPatch = '' patchShebangs target_firmware/firmware-crc.pl ''; - nativeBuildInputs = [ m4 cmake perl ]; + nativeBuildInputs = [ + m4 + cmake + perl + ]; - env.NIX_CFLAGS_COMPILE = "-w"; # old libiberty emits fatal warnings + env.NIX_CFLAGS_COMPILE = "-w"; # old libiberty emits fatal warnings dontUseCmakeConfigure = true; enableParallelBuilding = true; @@ -43,25 +56,40 @@ stdenv.mkDerivation (finalAttrs: { # applied to the xtensa support in both gcc and binutils. preBuild = let - inherit (lib) toUpper splitString last listToAttrs pipe; + inherit (lib) + toUpper + splitString + last + listToAttrs + pipe + ; inherit (builtins) map; urls-and-hashes = import (./. + "/urls-and-hashes-${finalAttrs.version}.nix"); - make-links = pipe - [ "gcc" "binutils" "gmp" "mpfr" "mpc" ] - [ (map (vname: fetchurl rec { - url = urls-and-hashes."${(toUpper vname) + "_URL"}"; - sha256 = urls-and-hashes."${(toUpper vname) + "_SUM"}" or ""; - name = last (splitString "/" url); - })) - (map (v: "ln -sT ${v} toolchain/dl/${v.name}")) - (lib.concatStringsSep "\n") - ]; - in '' + make-links = + pipe + [ "gcc" "binutils" "gmp" "mpfr" "mpc" ] + [ + (map ( + vname: + fetchurl rec { + url = urls-and-hashes."${(toUpper vname) + "_URL"}"; + sha256 = urls-and-hashes."${(toUpper vname) + "_SUM"}" or ""; + name = last (splitString "/" url); + } + )) + (map (v: "ln -sT ${v} toolchain/dl/${v.name}")) + (lib.concatStringsSep "\n") + ]; + in + '' mkdir -p toolchain/dl ${make-links} ''; - makeTargets = [ "toolchain" "firmware" ]; + makeTargets = [ + "toolchain" + "firmware" + ]; installPhase = '' runHook preInstall @@ -80,31 +108,33 @@ stdenv.mkDerivation (finalAttrs: { ''; update = stdenv.mkDerivation { name = "${finalAttrs.pname}-${finalAttrs.version}-update"; - shellHook = '' - echo 'rec {' - echo ' BASEDIR="$NIX_BUILD_TOP";' - make --dry-run --print-data-base -f ${finalAttrs.src}/Makefile download \ - | egrep '^[A-Z]+_(VER|URL|SUM|DIR) = ' \ - | sed 's_\([^ ]*\) = \(.*\)_\1 = "\2\";_' \ - | tr \( \{ \ - | tr \) \} - '' - # sha256 checksums were not added to upstream's Makefile until - # after the 1.4.0 release. The following line is needed for - # the `enableUnstable==false` build but not for the - # `enableUnstable==true` build. We can remove the lines below - # as soon as `enableUnstable==false` points to a version - # greater than 1.4.0. - + lib.optionalString (finalAttrs.version == "1.4.0") '' - echo 'GCC_SUM = "sha256-kuYcbcOgpEnmLXKjgYX9pVAWioZwLeoHEl69PsOZYoI=";' - echo 'MPFR_SUM = "sha256-e2bD8T3IOF8IJkyAWFPz4aju2rgHHVgvPmYZccms1f0=";' - echo 'MPC_SUM = "sha256-7VqBXP6lJdx3jfDLN0aLnBtVSq8w2TKLFDHKcFt0AP8=";' - echo 'GMP_SUM = "sha256-H1iKrMxBu5rtlG+f44Uhwm2LKQ0APF34B/ZWkPKq3sk=";' - echo 'BINUTILS_SUM = "sha256-KrLlsD4IbRLGKV+DGtrUaz4UEKOiNJM6Lo+sZssuehk=";' - '' + '' - echo '}' - exit - ''; + shellHook = + '' + echo 'rec {' + echo ' BASEDIR="$NIX_BUILD_TOP";' + make --dry-run --print-data-base -f ${finalAttrs.src}/Makefile download \ + | egrep '^[A-Z]+_(VER|URL|SUM|DIR) = ' \ + | sed 's_\([^ ]*\) = \(.*\)_\1 = "\2\";_' \ + | tr \( \{ \ + | tr \) \} + '' + # sha256 checksums were not added to upstream's Makefile until + # after the 1.4.0 release. The following line is needed for + # the `enableUnstable==false` build but not for the + # `enableUnstable==true` build. We can remove the lines below + # as soon as `enableUnstable==false` points to a version + # greater than 1.4.0. + + lib.optionalString (finalAttrs.version == "1.4.0") '' + echo 'GCC_SUM = "sha256-kuYcbcOgpEnmLXKjgYX9pVAWioZwLeoHEl69PsOZYoI=";' + echo 'MPFR_SUM = "sha256-e2bD8T3IOF8IJkyAWFPz4aju2rgHHVgvPmYZccms1f0=";' + echo 'MPC_SUM = "sha256-7VqBXP6lJdx3jfDLN0aLnBtVSq8w2TKLFDHKcFt0AP8=";' + echo 'GMP_SUM = "sha256-H1iKrMxBu5rtlG+f44Uhwm2LKQ0APF34B/ZWkPKq3sk=";' + echo 'BINUTILS_SUM = "sha256-KrLlsD4IbRLGKV+DGtrUaz4UEKOiNJM6Lo+sZssuehk=";' + '' + + '' + echo '}' + exit + ''; }; }; @@ -127,23 +157,24 @@ stdenv.mkDerivation (finalAttrs: { dedicated general-purpose CPUs. This source code allows you to see what those CPUs are doing and modify their behavior. ''; - license = with lib.licenses; [ # see NOTICE.txt for details - bsd3 # almost everything; "the ClearBSD licence" - gpl2ClasspathPlus # **/*cmnos_printf.c, only three files - mit # **/xtos, **/xtensa + license = with lib.licenses; [ + # see NOTICE.txt for details + bsd3 # almost everything; "the ClearBSD licence" + gpl2ClasspathPlus # **/*cmnos_printf.c, only three files + mit # **/xtos, **/xtensa ]; # release 1.4.0 vendors a GMP which uses an ancient version of # autotools that does not work on aarch64 or powerpc. # However, enableUnstable (unreleased upstream) works. /* - # disabled until #195294 is merged - badPlatforms = - with lib.systems.inspect.patterns; - lib.optionals (!enableUnstable && lib.versionOlder finalAttrs.version "1.4.1") [ - isAarch64 - isPower64 - ]; + # disabled until #195294 is merged + badPlatforms = + with lib.systems.inspect.patterns; + lib.optionals (!enableUnstable && lib.versionOlder finalAttrs.version "1.4.1") [ + isAarch64 + isPower64 + ]; */ sourceProvenance = [ lib.sourceTypes.fromSource ]; diff --git a/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-1.4.0.nix b/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-1.4.0.nix index d67669c93b33e..fcccf7505cc76 100644 --- a/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-1.4.0.nix +++ b/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-1.4.0.nix @@ -1,26 +1,26 @@ rec { - BASEDIR="$NIX_BUILD_TOP"; -BINUTILS_URL = "https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.bz2"; -DL_DIR = "${TOOLCHAIN_DIR}/dl"; -GMP_URL = "https://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.bz2"; -GCC_URL = "https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2"; -BINUTILS_DIR = "binutils-${BINUTILS_VER}"; -GCC_VER = "4.7.4"; -MPFR_URL = "https://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.bz2"; -MPC_VER = "1.0.1"; -GMP_DIR = "gmp-${GMP_VER}"; -MPC_URL = "https://ftp.gnu.org/gnu/mpc/mpc-${MPC_VER}.tar.gz"; -GCC_DIR = "gcc-${GCC_VER}"; -MPFR_DIR = "mpfr-${MPFR_VER}"; -MPC_DIR = "mpc-${MPC_VER}"; -MPFR_VER = "3.1.1"; -GMP_VER = "5.0.5"; -BINUTILS_VER = "2.23.1"; -BUILD_DIR = "${TOOLCHAIN_DIR}/build"; -TOOLCHAIN_DIR = "${BASEDIR}/toolchain"; -GCC_SUM = "sha256-kuYcbcOgpEnmLXKjgYX9pVAWioZwLeoHEl69PsOZYoI="; -MPFR_SUM = "sha256-e2bD8T3IOF8IJkyAWFPz4aju2rgHHVgvPmYZccms1f0="; -MPC_SUM = "sha256-7VqBXP6lJdx3jfDLN0aLnBtVSq8w2TKLFDHKcFt0AP8="; -GMP_SUM = "sha256-H1iKrMxBu5rtlG+f44Uhwm2LKQ0APF34B/ZWkPKq3sk="; -BINUTILS_SUM = "sha256-KrLlsD4IbRLGKV+DGtrUaz4UEKOiNJM6Lo+sZssuehk="; + BASEDIR = "$NIX_BUILD_TOP"; + BINUTILS_URL = "https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.bz2"; + DL_DIR = "${TOOLCHAIN_DIR}/dl"; + GMP_URL = "https://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.bz2"; + GCC_URL = "https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2"; + BINUTILS_DIR = "binutils-${BINUTILS_VER}"; + GCC_VER = "4.7.4"; + MPFR_URL = "https://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.bz2"; + MPC_VER = "1.0.1"; + GMP_DIR = "gmp-${GMP_VER}"; + MPC_URL = "https://ftp.gnu.org/gnu/mpc/mpc-${MPC_VER}.tar.gz"; + GCC_DIR = "gcc-${GCC_VER}"; + MPFR_DIR = "mpfr-${MPFR_VER}"; + MPC_DIR = "mpc-${MPC_VER}"; + MPFR_VER = "3.1.1"; + GMP_VER = "5.0.5"; + BINUTILS_VER = "2.23.1"; + BUILD_DIR = "${TOOLCHAIN_DIR}/build"; + TOOLCHAIN_DIR = "${BASEDIR}/toolchain"; + GCC_SUM = "sha256-kuYcbcOgpEnmLXKjgYX9pVAWioZwLeoHEl69PsOZYoI="; + MPFR_SUM = "sha256-e2bD8T3IOF8IJkyAWFPz4aju2rgHHVgvPmYZccms1f0="; + MPC_SUM = "sha256-7VqBXP6lJdx3jfDLN0aLnBtVSq8w2TKLFDHKcFt0AP8="; + GMP_SUM = "sha256-H1iKrMxBu5rtlG+f44Uhwm2LKQ0APF34B/ZWkPKq3sk="; + BINUTILS_SUM = "sha256-KrLlsD4IbRLGKV+DGtrUaz4UEKOiNJM6Lo+sZssuehk="; } diff --git a/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-unstable-2022-05-22.nix b/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-unstable-2022-05-22.nix index 4234f91ef978d..3a94eff77cfd4 100644 --- a/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-unstable-2022-05-22.nix +++ b/pkgs/os-specific/linux/firmware/ath9k/urls-and-hashes-unstable-2022-05-22.nix @@ -1,26 +1,26 @@ rec { - BASEDIR="$NIX_BUILD_TOP"; -BINUTILS_URL = "https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.bz2"; -DL_DIR = "${TOOLCHAIN_DIR}/dl"; -GMP_SUM = "f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea"; -GMP_URL = "https://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.bz2"; -GCC_URL = "https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.gz"; -BINUTILS_DIR = "binutils-${BINUTILS_VER}"; -GCC_VER = "10.2.0"; -MPFR_URL = "https://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.bz2"; -MPC_VER = "1.1.0"; -GMP_DIR = "gmp-${GMP_VER}"; -MPC_URL = "https://ftp.gnu.org/gnu/mpc/mpc-${MPC_VER}.tar.gz"; -GCC_DIR = "gcc-${GCC_VER}"; -MPC_SUM = "6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e"; -GCC_SUM = "27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d"; -BINUTILS_SUM = "7d24660f87093670738e58bcc7b7b06f121c0fcb0ca8fc44368d675a5ef9cff7"; -MPFR_DIR = "mpfr-${MPFR_VER}"; -MPC_DIR = "mpc-${MPC_VER}"; -MPFR_VER = "4.1.0"; -GMP_VER = "6.2.0"; -BINUTILS_VER = "2.35"; -BUILD_DIR = "${TOOLCHAIN_DIR}/build"; -MPFR_SUM = "feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926"; -TOOLCHAIN_DIR = "${BASEDIR}/toolchain"; + BASEDIR = "$NIX_BUILD_TOP"; + BINUTILS_URL = "https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.bz2"; + DL_DIR = "${TOOLCHAIN_DIR}/dl"; + GMP_SUM = "f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea"; + GMP_URL = "https://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.bz2"; + GCC_URL = "https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.gz"; + BINUTILS_DIR = "binutils-${BINUTILS_VER}"; + GCC_VER = "10.2.0"; + MPFR_URL = "https://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.bz2"; + MPC_VER = "1.1.0"; + GMP_DIR = "gmp-${GMP_VER}"; + MPC_URL = "https://ftp.gnu.org/gnu/mpc/mpc-${MPC_VER}.tar.gz"; + GCC_DIR = "gcc-${GCC_VER}"; + MPC_SUM = "6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e"; + GCC_SUM = "27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d"; + BINUTILS_SUM = "7d24660f87093670738e58bcc7b7b06f121c0fcb0ca8fc44368d675a5ef9cff7"; + MPFR_DIR = "mpfr-${MPFR_VER}"; + MPC_DIR = "mpc-${MPC_VER}"; + MPFR_VER = "4.1.0"; + GMP_VER = "6.2.0"; + BINUTILS_VER = "2.35"; + BUILD_DIR = "${TOOLCHAIN_DIR}/build"; + MPFR_SUM = "feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926"; + TOOLCHAIN_DIR = "${BASEDIR}/toolchain"; } diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix index a5683a1ce5352..62ba72222d4b5 100644 --- a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix +++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix @@ -1,6 +1,13 @@ -{ lib, stdenvNoCC, fetchurl, b43FirmwareCutter }: +{ + lib, + stdenvNoCC, + fetchurl, + b43FirmwareCutter, +}: -let version = "5.100.138"; in +let + version = "5.100.138"; +in stdenvNoCC.mkDerivation { pname = "b43-firmware"; diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix index e117db45b1829..10ca576bd6ec3 100644 --- a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix +++ b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix @@ -1,4 +1,9 @@ -{ lib, stdenvNoCC, fetchurl, b43FirmwareCutter }: +{ + lib, + stdenvNoCC, + fetchurl, + b43FirmwareCutter, +}: stdenvNoCC.mkDerivation rec { pname = "b43-firmware"; diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix index 25ac7067982dd..38bf35e37cd28 100644 --- a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix @@ -1,10 +1,11 @@ -{ stdenvNoCC -, fetchzip -, lib -, python3 -, rdfind -, which -, writeShellScriptBin +{ + stdenvNoCC, + fetchzip, + lib, + python3, + rdfind, + which, + writeShellScriptBin, }: let # check-whence.py attempts to call `git ls-files`, but we don't have a .git, @@ -18,7 +19,8 @@ let exit 1 fi ''; -in stdenvNoCC.mkDerivation rec { +in +stdenvNoCC.mkDerivation rec { pname = "linux-firmware"; version = "20241110"; @@ -38,7 +40,10 @@ in stdenvNoCC.mkDerivation rec { which ]; - installTargets = [ "install" "dedup" ]; + installTargets = [ + "install" + "dedup" + ]; makeFlags = [ "DESTDIR=$(out)" ]; # Firmware blobs do not need fixing and should not be modified diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix b/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix index 0393174d889d6..ec5ec8ef98c28 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: let inherit (lib) optionals; @@ -22,19 +26,26 @@ stdenv.mkDerivation { cd armstubs ''; - makeFlags = [ - "CC8=${stdenv.cc.targetPrefix}cc" - "LD8=${stdenv.cc.targetPrefix}ld" - "OBJCOPY8=${stdenv.cc.targetPrefix}objcopy" - "OBJDUMP8=${stdenv.cc.targetPrefix}objdump" - "CC7=${stdenv.cc.targetPrefix}cc" - "LD7=${stdenv.cc.targetPrefix}ld" - "OBJCOPY7=${stdenv.cc.targetPrefix}objcopy" - "OBJDUMP7=${stdenv.cc.targetPrefix}objdump" - ] - ++ optionals (stdenv.hostPlatform.isAarch64) [ "armstub8.bin" "armstub8-gic.bin" ] - ++ optionals (stdenv.hostPlatform.isAarch32) [ "armstub7.bin" "armstub8-32.bin" "armstub8-32-gic.bin" ] - ; + makeFlags = + [ + "CC8=${stdenv.cc.targetPrefix}cc" + "LD8=${stdenv.cc.targetPrefix}ld" + "OBJCOPY8=${stdenv.cc.targetPrefix}objcopy" + "OBJDUMP8=${stdenv.cc.targetPrefix}objdump" + "CC7=${stdenv.cc.targetPrefix}cc" + "LD7=${stdenv.cc.targetPrefix}ld" + "OBJCOPY7=${stdenv.cc.targetPrefix}objcopy" + "OBJDUMP7=${stdenv.cc.targetPrefix}objdump" + ] + ++ optionals (stdenv.hostPlatform.isAarch64) [ + "armstub8.bin" + "armstub8-gic.bin" + ] + ++ optionals (stdenv.hostPlatform.isAarch32) [ + "armstub7.bin" + "armstub8-32.bin" + "armstub8-32-gic.bin" + ]; installPhase = '' runHook preInstall @@ -47,7 +58,11 @@ stdenv.mkDerivation { description = "Firmware related ARM stubs for the Raspberry Pi"; homepage = "https://github.com/raspberrypi/tools"; license = licenses.bsd3; - platforms = [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; + platforms = [ + "armv6l-linux" + "armv7l-linux" + "aarch64-linux" + ]; maintainers = [ ]; }; } diff --git a/pkgs/os-specific/linux/framework-laptop-kmod/default.nix b/pkgs/os-specific/linux/framework-laptop-kmod/default.nix index d0ca1a3bb1d9c..1b5b70af88e03 100644 --- a/pkgs/os-specific/linux/framework-laptop-kmod/default.nix +++ b/pkgs/os-specific/linux/framework-laptop-kmod/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, kernel -, fetchFromGitHub -, unstableGitUpdater +{ + lib, + stdenv, + kernel, + fetchFromGitHub, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -28,7 +29,6 @@ stdenv.mkDerivation { runHook postInstall ''; - passthru.updateScript = unstableGitUpdater { }; meta = with lib; { diff --git a/pkgs/os-specific/linux/freefall/default.nix b/pkgs/os-specific/linux/freefall/default.nix index bad4849ca0bfd..f195da1032894 100644 --- a/pkgs/os-specific/linux/freefall/default.nix +++ b/pkgs/os-specific/linux/freefall/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, kernel }: +{ + lib, + stdenv, + kernel, +}: stdenv.mkDerivation { inherit (kernel) version src; diff --git a/pkgs/os-specific/linux/freeipa/default.nix b/pkgs/os-specific/linux/freeipa/default.nix index f0256b55c8cb1..5a60b256bde16 100644 --- a/pkgs/os-specific/linux/freeipa/default.nix +++ b/pkgs/os-specific/linux/freeipa/default.nix @@ -1,38 +1,39 @@ -{ stdenv -, lib -, fetchurl -, pkg-config -, autoconf -, automake -, kerberos -, openldap -, popt -, sasl -, curl -, xmlrpc_c -, ding-libs -, p11-kit -, gettext -, nspr -, nss -, _389-ds-base -, svrcore -, libuuid -, talloc -, tevent -, samba -, libunistring -, libverto -, libpwquality -, systemd -, python3 -, bind -, sssd -, jre -, rhino -, lesscpy -, jansson -, runtimeShell +{ + stdenv, + lib, + fetchurl, + pkg-config, + autoconf, + automake, + kerberos, + openldap, + popt, + sasl, + curl, + xmlrpc_c, + ding-libs, + p11-kit, + gettext, + nspr, + nss, + _389-ds-base, + svrcore, + libuuid, + talloc, + tevent, + samba, + libunistring, + libverto, + libpwquality, + systemd, + python3, + bind, + sssd, + jre, + rhino, + lesscpy, + jansson, + runtimeShell, }: let diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index f692c2fb41c78..cf8992bcb089b 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -1,10 +1,13 @@ { callPackage, util-linux }: let - mkFuse = args: callPackage (import ./common.nix args) { - inherit util-linux; - }; -in { + mkFuse = + args: + callPackage (import ./common.nix args) { + inherit util-linux; + }; +in +{ fuse_2 = mkFuse { version = "2.9.9"; hash = "sha256-dgjM6M7xk5MHi9xPyCyvF0vq0KM8UCsEYBcMhkrdvfs="; diff --git a/pkgs/os-specific/linux/fwts/module.nix b/pkgs/os-specific/linux/fwts/module.nix index a4083d275465a..dd005e6dc4e68 100644 --- a/pkgs/os-specific/linux/fwts/module.nix +++ b/pkgs/os-specific/linux/fwts/module.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fwts, kernel }: +{ + lib, + stdenv, + fwts, + kernel, +}: stdenv.mkDerivation rec { pname = "fwts-efi-runtime"; diff --git a/pkgs/os-specific/linux/gasket/default.nix b/pkgs/os-specific/linux/gasket/default.nix index 65516be7dcd17..76e0bfd770c7a 100644 --- a/pkgs/os-specific/linux/gasket/default.nix +++ b/pkgs/os-specific/linux/gasket/default.nix @@ -3,7 +3,7 @@ lib, fetchFromGitHub, fetchpatch2, - kernel + kernel, }: stdenv.mkDerivation rec { @@ -41,7 +41,10 @@ stdenv.mkDerivation rec { installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ]; installTargets = [ "modules_install" ]; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; nativeBuildInputs = kernel.moduleBuildDependencies; meta = with lib; { diff --git a/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix b/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix index a1e3a8be430e5..c56914fcee7a7 100644 --- a/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix +++ b/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix @@ -1,12 +1,15 @@ -{ lib, stdenv -, fetchFromGitHub -, kernel -, kmod +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + kmod, }: let kerneldir = "lib/modules/${kernel.modDirVersion}"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "gcadapter-oc-kmod"; version = "unstable-2021-12-11"; diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix index 6007b8869e27a..af90c5d4f8d49 100644 --- a/pkgs/os-specific/linux/guvcview/default.nix +++ b/pkgs/os-specific/linux/guvcview/default.nix @@ -1,27 +1,29 @@ -{ config -, lib, stdenv -, fetchurl -, intltool -, pkg-config -, portaudio -, SDL2 -, ffmpeg -, udev -, libusb1 -, libv4l -, alsa-lib -, gsl -, libpng -, sfml -, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux -, libpulseaudio ? null -, useQt ? false -, qtbase ? null -, wrapQtAppsHook ? null -# can be turned off if used as a library -, useGtk ? true -, gtk3 ? null -, wrapGAppsHook3 ? null +{ + config, + lib, + stdenv, + fetchurl, + intltool, + pkg-config, + portaudio, + SDL2, + ffmpeg, + udev, + libusb1, + libv4l, + alsa-lib, + gsl, + libpng, + sfml, + pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, + libpulseaudio ? null, + useQt ? false, + qtbase ? null, + wrapQtAppsHook ? null, + # can be turned off if used as a library + useGtk ? true, + gtk3 ? null, + wrapGAppsHook3 ? null, }: assert pulseaudioSupport -> libpulseaudio != null; @@ -35,38 +37,38 @@ stdenv.mkDerivation rec { hash = "sha256-PZPkyfq40aepveGm278E1s+dNHwTS1EotFhqHZC2PPs="; }; - nativeBuildInputs = [ - intltool - pkg-config - ] + nativeBuildInputs = + [ + intltool + pkg-config + ] ++ lib.optionals (useGtk) [ wrapGAppsHook3 ] - ++ lib.optionals (useQt) [ wrapQtAppsHook ] - ; + ++ lib.optionals (useQt) [ wrapQtAppsHook ]; - buildInputs = [ - SDL2 - alsa-lib - ffmpeg - libusb1 - libv4l - portaudio - udev - gsl - libpng - sfml - ] + buildInputs = + [ + SDL2 + alsa-lib + ffmpeg + libusb1 + libv4l + portaudio + udev + gsl + libpng + sfml + ] ++ lib.optionals (pulseaudioSupport) [ libpulseaudio ] ++ lib.optionals (useGtk) [ gtk3 ] ++ lib.optionals (useQt) [ qtbase + ]; + configureFlags = + [ + "--enable-sfml" ] - ; - configureFlags = [ - "--enable-sfml" - ] ++ lib.optionals (useGtk) [ "--enable-gtk3" ] - ++ lib.optionals (useQt) [ "--enable-qt5" ] - ; + ++ lib.optionals (useQt) [ "--enable-qt5" ]; meta = with lib; { description = "Simple interface for devices supported by the linux UVC driver"; diff --git a/pkgs/os-specific/linux/hid-ite8291r3/default.nix b/pkgs/os-specific/linux/hid-ite8291r3/default.nix index d4f69c734ac01..e7d7ccb27a9fd 100644 --- a/pkgs/os-specific/linux/hid-ite8291r3/default.nix +++ b/pkgs/os-specific/linux/hid-ite8291r3/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "hid-ite8291r3"; diff --git a/pkgs/os-specific/linux/i7z/default.nix b/pkgs/os-specific/linux/i7z/default.nix index 5a7279ba998cb..cb01e684735ac 100644 --- a/pkgs/os-specific/linux/i7z/default.nix +++ b/pkgs/os-specific/linux/i7z/default.nix @@ -1,5 +1,12 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, ncurses -, withGui ? false, qtbase }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + ncurses, + withGui ? false, + qtbase, +}: stdenv.mkDerivation rec { pname = "i7z"; @@ -33,11 +40,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postBuild = lib.optionalString withGui '' - cd GUI - qmake - make clean - make - cd .. + cd GUI + qmake + make clean + make + cd .. ''; makeFlags = [ "prefix=${placeholder "out"}" ]; diff --git a/pkgs/os-specific/linux/intel-speed-select/default.nix b/pkgs/os-specific/linux/intel-speed-select/default.nix index 97bfdbeb30d5c..57b8284326f9e 100644 --- a/pkgs/os-specific/linux/intel-speed-select/default.nix +++ b/pkgs/os-specific/linux/intel-speed-select/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, kernel }: +{ + lib, + stdenv, + kernel, +}: stdenv.mkDerivation { pname = "intel-speed-select"; @@ -16,7 +20,10 @@ stdenv.mkDerivation { mainProgram = "intel-speed-select"; homepage = "https://www.kernel.org/"; license = licenses.gpl2Only; - platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific + platforms = [ + "i686-linux" + "x86_64-linux" + ]; # x86-specific broken = kernel.kernelAtLeast "5.18"; }; } diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index afaa91ca2f37e..6848b7dfee79f 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,8 +1,19 @@ -{ lib, stdenv, fetchurl -, autoreconfHook, pkg-config, pruneLibtoolFiles, flex, bison -, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap -, nftablesCompat ? true -, gitUpdater +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + pruneLibtoolFiles, + flex, + bison, + libmnl, + libnetfilter_conntrack, + libnfnetlink, + libnftnl, + libpcap, + nftablesCompat ? true, + gitUpdater, }: stdenv.mkDerivation rec { @@ -14,13 +25,27 @@ stdenv.mkDerivation rec { sha256 = "XMJVwYk1bjF9BwdVzpNx62Oht4PDRJj7jDAmTzzFnJw="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; nativeBuildInputs = [ - autoreconfHook pkg-config pruneLibtoolFiles flex bison + autoreconfHook + pkg-config + pruneLibtoolFiles + flex + bison ]; - buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ]; + buildInputs = [ + libmnl + libnetfilter_conntrack + libnfnetlink + libnftnl + libpcap + ]; configureFlags = [ "--enable-bpf-compiler" diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix index 117aefc25eca6..d3e37f5a5bd41 100644 --- a/pkgs/os-specific/linux/ipu6-drivers/default.nix +++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, ivsc-driver -, kernel +{ + lib, + stdenv, + fetchFromGitHub, + ivsc-driver, + kernel, }: stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix index b87fe51434f3e..7bf1f155b21da 100644 --- a/pkgs/os-specific/linux/iputils/default.nix +++ b/pkgs/os-specific/linux/iputils/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, gettext -, libxslt -, docbook_xsl_ns -, libcap -, libidn2 -, iproute2 -, apparmorRulesFromClosure +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gettext, + libxslt, + docbook_xsl_ns, + libcap, + libidn2, + iproute2, + apparmorRulesFromClosure, }: stdenv.mkDerivation rec { @@ -24,24 +25,34 @@ stdenv.mkDerivation rec { hash = "sha256-2CjzIOe1hrW3He9DN+w+Wi2zaaMBkVEdA7dezTpkx8I="; }; - outputs = [ "out" "apparmor" ]; + outputs = [ + "out" + "apparmor" + ]; # We don't have the required permissions inside the build sandbox: # /build/source/build/ping/ping: socket: Operation not permitted doCheck = false; - mesonFlags = [ - "-DNO_SETCAP_OR_SUID=true" - "-Dsystemdunitdir=etc/systemd/system" - "-DINSTALL_SYSTEMD_UNITS=true" - "-DSKIP_TESTS=${lib.boolToString (!doCheck)}" - ] - # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111): - ++ lib.optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false"; + mesonFlags = + [ + "-DNO_SETCAP_OR_SUID=true" + "-Dsystemdunitdir=etc/systemd/system" + "-DINSTALL_SYSTEMD_UNITS=true" + "-DSKIP_TESTS=${lib.boolToString (!doCheck)}" + ] + # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111): + ++ lib.optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false"; - nativeBuildInputs = [ meson ninja pkg-config gettext libxslt.bin docbook_xsl_ns ]; - buildInputs = [ libcap ] - ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2; + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + libxslt.bin + docbook_xsl_ns + ]; + buildInputs = [ libcap ] ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2; nativeCheckInputs = [ iproute2 ]; postInstall = '' @@ -52,8 +63,11 @@ stdenv.mkDerivation rec { include include include - include "${apparmorRulesFromClosure { name = "ping"; } - ([libcap] ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2)}" + include "${ + apparmorRulesFromClosure { name = "ping"; } ( + [ libcap ] ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2 + ) + }" include capability net_raw, network inet raw, @@ -77,7 +91,10 @@ stdenv.mkDerivation rec { - ping: send ICMP ECHO_REQUEST to network hosts - tracepath: traces path to a network host discovering MTU along this path ''; - license = with licenses; [ gpl2Plus bsd3 ]; + license = with licenses; [ + gpl2Plus + bsd3 + ]; platforms = platforms.linux; maintainers = with maintainers; [ primeos ]; }; diff --git a/pkgs/os-specific/linux/isgx/default.nix b/pkgs/os-specific/linux/isgx/default.nix index 73a373c1f789b..a883f4c879d9b 100644 --- a/pkgs/os-specific/linux/isgx/default.nix +++ b/pkgs/os-specific/linux/isgx/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "isgx-${version}-${kernel.version}"; @@ -38,7 +43,10 @@ stdenv.mkDerivation rec { based attestation on the platforms without Flexible Launch Control. ''; homepage = "https://github.com/intel/linux-sgx-driver"; - license = with licenses; [ bsd3 /* OR */ gpl2Only ]; + license = with licenses; [ + bsd3 # OR + gpl2Only + ]; maintainers = [ ]; platforms = [ "x86_64-linux" ]; # This kernel module is now in mainline so newer kernels should diff --git a/pkgs/os-specific/linux/it87/default.nix b/pkgs/os-specific/linux/it87/default.nix index 7416507e4a9d2..d5d8c60d92fd5 100644 --- a/pkgs/os-specific/linux/it87/default.nix +++ b/pkgs/os-specific/linux/it87/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "it87-${version}-${kernel.version}"; @@ -31,7 +36,10 @@ stdenv.mkDerivation rec { description = "Patched module for IT87xx superio chip sensors support"; homepage = "https://github.com/hannesha/it87"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = teams.lumiguide.members; }; } diff --git a/pkgs/os-specific/linux/ithc/default.nix b/pkgs/os-specific/linux/ithc/default.nix index 69b202e7e2010..ff888ec165998 100644 --- a/pkgs/os-specific/linux/ithc/default.nix +++ b/pkgs/os-specific/linux/ithc/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "ithc"; diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix index 65733d99a6590..e4c6c9d5adcdd 100644 --- a/pkgs/os-specific/linux/ivsc-driver/default.nix +++ b/pkgs/os-specific/linux/ivsc-driver/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, kernel +{ + lib, + stdenv, + fetchFromGitHub, + kernel, }: stdenv.mkDerivation { diff --git a/pkgs/os-specific/linux/ixgbevf/default.nix b/pkgs/os-specific/linux/ixgbevf/default.nix index 3cb9d06e7fcf4..635c6463854c3 100644 --- a/pkgs/os-specific/linux/ixgbevf/default.nix +++ b/pkgs/os-specific/linux/ixgbevf/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, kernel, kmod }: +{ + lib, + stdenv, + fetchurl, + kernel, + kmod, +}: stdenv.mkDerivation rec { name = "ixgbevf-${version}-${kernel.version}"; diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index b149b3f08d5c6..7538bec37f078 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -1,6 +1,14 @@ -{ stdenvNoCC, lib, buildPackages, fetchurl, perl, elf-header -, bison, flex, rsync -, writeTextFile +{ + stdenvNoCC, + lib, + buildPackages, + fetchurl, + perl, + elf-header, + bison, + flex, + rsync, + writeTextFile, }: let @@ -29,89 +37,114 @@ let destination = "/include/byteswap.h"; }; - makeLinuxHeaders = { src, version, patches ? [] }: stdenvNoCC.mkDerivation { - inherit src; - - pname = "linux-headers"; - inherit version; - - ARCH = stdenvNoCC.hostPlatform.linuxArch; - - strictDeps = true; - enableParallelBuilding = true; - - # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. - # We do this so we have a build->build, not build->host, C compiler. - depsBuildBuild = [ buildPackages.stdenv.cc ]; - # `elf-header` is null when libc provides `elf.h`. - nativeBuildInputs = [ - perl elf-header - ] ++ lib.optionals stdenvNoCC.hostPlatform.isAndroid [ - bison flex rsync - ] ++ lib.optionals (stdenvNoCC.buildPlatform.isDarwin && - stdenvNoCC.hostPlatform.isMips) [ - darwin-endian-h - darwin-byteswap-h - ]; - - extraIncludeDirs = lib.optionals (with stdenvNoCC.hostPlatform; isPower && is32bit && isBigEndian) ["ppc"]; - - inherit patches; - - hardeningDisable = lib.optional stdenvNoCC.buildPlatform.isDarwin "format"; - - makeFlags = [ - "SHELL=bash" - # Avoid use of runtime build->host compilers for checks. These - # checks only cared to work around bugs in very old compilers, so - # these changes should be safe. - "cc-version:=9999" - "cc-fullversion:=999999" - # `$(..)` expanded by make alone - "HOSTCC:=$(CC_FOR_BUILD)" - "HOSTCXX:=$(CXX_FOR_BUILD)" - ]; - - # Skip clean on darwin, case-sensitivity issues. - buildPhase = lib.optionalString (!stdenvNoCC.buildPlatform.isDarwin) '' - make mrproper $makeFlags - '' + (if stdenvNoCC.hostPlatform.isAndroid then '' - make defconfig - make headers_install - '' else '' - make headers $makeFlags - ''); - - checkPhase = '' - make headers_check $makeFlags - ''; + makeLinuxHeaders = + { + src, + version, + patches ? [ ], + }: + stdenvNoCC.mkDerivation { + inherit src; - # The following command requires rsync: - # make headers_install INSTALL_HDR_PATH=$out $makeFlags - # but rsync depends on popt which does not compile on aarch64 without - # updateAutotoolsGnuConfigScriptsHook which is not enabled in stage2, - # so we replicate it with cp. This also reduces bootstrap closure size. - installPhase = '' - mkdir -p $out - cp -r usr/include $out - find $out -type f ! -name '*.h' -delete - '' - # Some builds (e.g. KVM) want a kernel.release. - + '' - mkdir -p $out/include/config - echo "${version}-default" > $out/include/config/kernel.release - ''; + pname = "linux-headers"; + inherit version; + + ARCH = stdenvNoCC.hostPlatform.linuxArch; + + strictDeps = true; + enableParallelBuilding = true; + + # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. + # We do this so we have a build->build, not build->host, C compiler. + depsBuildBuild = [ buildPackages.stdenv.cc ]; + # `elf-header` is null when libc provides `elf.h`. + nativeBuildInputs = + [ + perl + elf-header + ] + ++ lib.optionals stdenvNoCC.hostPlatform.isAndroid [ + bison + flex + rsync + ] + ++ lib.optionals (stdenvNoCC.buildPlatform.isDarwin && stdenvNoCC.hostPlatform.isMips) [ + darwin-endian-h + darwin-byteswap-h + ]; + + extraIncludeDirs = lib.optionals (with stdenvNoCC.hostPlatform; isPower && is32bit && isBigEndian) [ + "ppc" + ]; + + inherit patches; - meta = with lib; { - description = "Header files and scripts for Linux kernel"; - license = licenses.gpl2Only; - platforms = platforms.linux; + hardeningDisable = lib.optional stdenvNoCC.buildPlatform.isDarwin "format"; + + makeFlags = [ + "SHELL=bash" + # Avoid use of runtime build->host compilers for checks. These + # checks only cared to work around bugs in very old compilers, so + # these changes should be safe. + "cc-version:=9999" + "cc-fullversion:=999999" + # `$(..)` expanded by make alone + "HOSTCC:=$(CC_FOR_BUILD)" + "HOSTCXX:=$(CXX_FOR_BUILD)" + ]; + + # Skip clean on darwin, case-sensitivity issues. + buildPhase = + lib.optionalString (!stdenvNoCC.buildPlatform.isDarwin) '' + make mrproper $makeFlags + '' + + ( + if stdenvNoCC.hostPlatform.isAndroid then + '' + make defconfig + make headers_install + '' + else + '' + make headers $makeFlags + '' + ); + + checkPhase = '' + make headers_check $makeFlags + ''; + + # The following command requires rsync: + # make headers_install INSTALL_HDR_PATH=$out $makeFlags + # but rsync depends on popt which does not compile on aarch64 without + # updateAutotoolsGnuConfigScriptsHook which is not enabled in stage2, + # so we replicate it with cp. This also reduces bootstrap closure size. + installPhase = + '' + mkdir -p $out + cp -r usr/include $out + find $out -type f ! -name '*.h' -delete + '' + # Some builds (e.g. KVM) want a kernel.release. + + '' + mkdir -p $out/include/config + echo "${version}-default" > $out/include/config/kernel.release + ''; + + meta = with lib; { + description = "Header files and scripts for Linux kernel"; + license = licenses.gpl2Only; + platforms = platforms.linux; + }; }; - }; -in { +in +{ inherit makeLinuxHeaders; - linuxHeaders = let version = "6.10"; in + linuxHeaders = + let + version = "6.10"; + in makeLinuxHeaders { inherit version; src = fetchurl { diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index c2f89047b7b34..f1abc7cab3fe1 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -10,10 +10,13 @@ # hardware problems with a new one. # Configuration -{ lib, stdenv, version -, rustAvailable +{ + lib, + stdenv, + version, + rustAvailable, -, features ? {} + features ? { }, }: with lib.kernel; @@ -21,14 +24,23 @@ with (lib.kernel.whenHelpers version); let # configuration items have to be part of a subattrs - flattenKConf = nested: lib.mapAttrs (name: values: if lib.length values == 1 then lib.head values else throw "duplicate kernel configuration option: ${name}") (lib.zipAttrs (lib.attrValues nested)); - - whenPlatformHasEBPFJit = - lib.mkIf (stdenv.hostPlatform.isAarch32 || - stdenv.hostPlatform.isAarch64 || - stdenv.hostPlatform.isx86_64 || - (stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) || - (stdenv.hostPlatform.isMips && stdenv.hostPlatform.is64bit)); + flattenKConf = + nested: + lib.mapAttrs ( + name: values: + if lib.length values == 1 then + lib.head values + else + throw "duplicate kernel configuration option: ${name}" + ) (lib.zipAttrs (lib.attrValues nested)); + + whenPlatformHasEBPFJit = lib.mkIf ( + stdenv.hostPlatform.isAarch32 + || stdenv.hostPlatform.isAarch64 + || stdenv.hostPlatform.isx86_64 + || (stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) + || (stdenv.hostPlatform.isMips && stdenv.hostPlatform.is64bit) + ); forceRust = features.rust or false; kernelSupportsRust = lib.versionAtLeast version "6.7"; @@ -46,128 +58,130 @@ let debug = { # Necessary for BTF and crashkernel - DEBUG_INFO = yes; + DEBUG_INFO = yes; DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT = whenAtLeast "5.18" yes; # Reduced debug info conflict with BTF and have been enabled in # aarch64 defconfig since 5.13 - DEBUG_INFO_REDUCED = whenAtLeast "5.13" (option no); - DEBUG_INFO_BTF = option yes; + DEBUG_INFO_REDUCED = whenAtLeast "5.13" (option no); + DEBUG_INFO_BTF = option yes; # Allow loading modules with mismatched BTFs # FIXME: figure out how to actually make BTFs reproducible instead # See https://github.com/NixOS/nixpkgs/pull/181456 for details. MODULE_ALLOW_BTF_MISMATCH = whenAtLeast "5.18" (option yes); - BPF_LSM = whenAtLeast "5.7" (option yes); - DEBUG_KERNEL = yes; - DEBUG_DEVRES = no; - DYNAMIC_DEBUG = yes; - DEBUG_STACK_USAGE = no; - RCU_TORTURE_TEST = no; - SCHEDSTATS = yes; - DETECT_HUNG_TASK = yes; - CRASH_DUMP = yes; + BPF_LSM = whenAtLeast "5.7" (option yes); + DEBUG_KERNEL = yes; + DEBUG_DEVRES = no; + DYNAMIC_DEBUG = yes; + DEBUG_STACK_USAGE = no; + RCU_TORTURE_TEST = no; + SCHEDSTATS = yes; + DETECT_HUNG_TASK = yes; + CRASH_DUMP = yes; # Easier debugging of NFS issues. - SUNRPC_DEBUG = yes; + SUNRPC_DEBUG = yes; # Provide access to tunables like sched_migration_cost_ns - SCHED_DEBUG = yes; + SCHED_DEBUG = yes; # Count IRQ and steal CPU time separately - IRQ_TIME_ACCOUNTING = yes; - PARAVIRT_TIME_ACCOUNTING = yes; + IRQ_TIME_ACCOUNTING = yes; + PARAVIRT_TIME_ACCOUNTING = yes; # Enable CPU lockup detection - LOCKUP_DETECTOR = yes; - SOFTLOCKUP_DETECTOR = yes; - HARDLOCKUP_DETECTOR = yes; + LOCKUP_DETECTOR = yes; + SOFTLOCKUP_DETECTOR = yes; + HARDLOCKUP_DETECTOR = yes; # Enable streaming logs to a remote device over a network - NETCONSOLE = module; - NETCONSOLE_DYNAMIC = yes; + NETCONSOLE = module; + NETCONSOLE_DYNAMIC = yes; # Export known printks in debugfs - PRINTK_INDEX = whenAtLeast "5.15" yes; + PRINTK_INDEX = whenAtLeast "5.15" yes; # Enable crashkernel support - PROC_VMCORE = yes; + PROC_VMCORE = yes; }; - power-management = { - CPU_FREQ_DEFAULT_GOV_SCHEDUTIL = yes; - CPU_FREQ_GOV_SCHEDUTIL = yes; - PM_ADVANCED_DEBUG = yes; - PM_WAKELOCKS = yes; - POWERCAP = yes; - # ACPI Firmware Performance Data Table Support - ACPI_FPDT = whenAtLeast "5.12" (option yes); - # ACPI Heterogeneous Memory Attribute Table Support - ACPI_HMAT = option yes; - # ACPI Platform Error Interface - ACPI_APEI = (option yes); - # APEI Generic Hardware Error Source - ACPI_APEI_GHES = (option yes); - - # Enable lazy RCUs for power savings: - # https://lore.kernel.org/rcu/20221019225138.GA2499943@paulmck-ThinkPad-P17-Gen-1/ - # RCU_LAZY depends on RCU_NOCB_CPU depends on NO_HZ_FULL - # depends on HAVE_VIRT_CPU_ACCOUNTING_GEN depends on 64BIT, - # so we can't force-enable this - RCU_LAZY = whenAtLeast "6.2" (option yes); - - # Auto suspend Bluetooth devices at idle - BT_HCIBTUSB_AUTOSUSPEND = yes; - - # Expose cpufreq stats in sysfs - CPU_FREQ_STAT = yes; - - # Enable CPU energy model for scheduling - ENERGY_MODEL = whenAtLeast "5.0" yes; - - # Enable thermal interface netlink API - THERMAL_NETLINK = whenAtLeast "5.9" yes; - - # Prefer power-efficient workqueue implementation to per-CPU workqueues, - # which is slightly slower, but improves battery life. - # This is opt-in per workqueue, and can be disabled globally with a kernel command line option. - WQ_POWER_EFFICIENT_DEFAULT = yes; - - # Default SATA link power management to "medium with device initiated PM" - # for some extra power savings. - SATA_MOBILE_LPM_POLICY = whenAtLeast "5.18" (freeform "3"); - - # GPIO power management - POWER_RESET_GPIO = option yes; - POWER_RESET_GPIO_RESTART = option yes; - - # Enable Pulse-Width-Modulation support, commonly used for fan and backlight. - PWM = yes; - } // lib.optionalAttrs (stdenv.hostPlatform.isx86) { - INTEL_IDLE = yes; - INTEL_RAPL = module; - X86_INTEL_LPSS = yes; - X86_INTEL_PSTATE = yes; - X86_AMD_PSTATE = whenAtLeast "5.17" yes; - # Intel DPTF (Dynamic Platform and Thermal Framework) Support - ACPI_DPTF = whenAtLeast "5.10" yes; - - # Required to bring up some Bay Trail devices properly - I2C = yes; - I2C_DESIGNWARE_CORE = yes; - I2C_DESIGNWARE_PLATFORM = yes; - PMIC_OPREGION = whenAtLeast "5.10" yes; - INTEL_SOC_PMIC = whenAtLeast "5.10" yes; - BYTCRC_PMIC_OPREGION = whenAtLeast "5.10" yes; - CHTCRC_PMIC_OPREGION = whenAtLeast "5.10" yes; - XPOWER_PMIC_OPREGION = whenAtLeast "5.10" yes; - BXT_WC_PMIC_OPREGION = whenAtLeast "5.10" yes; - INTEL_SOC_PMIC_CHTWC = whenAtLeast "5.10" yes; - CHT_WC_PMIC_OPREGION = whenAtLeast "5.10" yes; - INTEL_SOC_PMIC_CHTDC_TI = whenAtLeast "5.10" yes; - CHT_DC_TI_PMIC_OPREGION = whenAtLeast "5.10" yes; - MFD_TPS68470 = whenBetween "5.10" "5.13" yes; - TPS68470_PMIC_OPREGION = whenAtLeast "5.10" yes; - - # Enable Intel thermal hardware feedback - INTEL_HFI_THERMAL = whenAtLeast "5.18" yes; - }; + power-management = + { + CPU_FREQ_DEFAULT_GOV_SCHEDUTIL = yes; + CPU_FREQ_GOV_SCHEDUTIL = yes; + PM_ADVANCED_DEBUG = yes; + PM_WAKELOCKS = yes; + POWERCAP = yes; + # ACPI Firmware Performance Data Table Support + ACPI_FPDT = whenAtLeast "5.12" (option yes); + # ACPI Heterogeneous Memory Attribute Table Support + ACPI_HMAT = option yes; + # ACPI Platform Error Interface + ACPI_APEI = (option yes); + # APEI Generic Hardware Error Source + ACPI_APEI_GHES = (option yes); + + # Enable lazy RCUs for power savings: + # https://lore.kernel.org/rcu/20221019225138.GA2499943@paulmck-ThinkPad-P17-Gen-1/ + # RCU_LAZY depends on RCU_NOCB_CPU depends on NO_HZ_FULL + # depends on HAVE_VIRT_CPU_ACCOUNTING_GEN depends on 64BIT, + # so we can't force-enable this + RCU_LAZY = whenAtLeast "6.2" (option yes); + + # Auto suspend Bluetooth devices at idle + BT_HCIBTUSB_AUTOSUSPEND = yes; + + # Expose cpufreq stats in sysfs + CPU_FREQ_STAT = yes; + + # Enable CPU energy model for scheduling + ENERGY_MODEL = whenAtLeast "5.0" yes; + + # Enable thermal interface netlink API + THERMAL_NETLINK = whenAtLeast "5.9" yes; + + # Prefer power-efficient workqueue implementation to per-CPU workqueues, + # which is slightly slower, but improves battery life. + # This is opt-in per workqueue, and can be disabled globally with a kernel command line option. + WQ_POWER_EFFICIENT_DEFAULT = yes; + + # Default SATA link power management to "medium with device initiated PM" + # for some extra power savings. + SATA_MOBILE_LPM_POLICY = whenAtLeast "5.18" (freeform "3"); + + # GPIO power management + POWER_RESET_GPIO = option yes; + POWER_RESET_GPIO_RESTART = option yes; + + # Enable Pulse-Width-Modulation support, commonly used for fan and backlight. + PWM = yes; + } + // lib.optionalAttrs (stdenv.hostPlatform.isx86) { + INTEL_IDLE = yes; + INTEL_RAPL = module; + X86_INTEL_LPSS = yes; + X86_INTEL_PSTATE = yes; + X86_AMD_PSTATE = whenAtLeast "5.17" yes; + # Intel DPTF (Dynamic Platform and Thermal Framework) Support + ACPI_DPTF = whenAtLeast "5.10" yes; + + # Required to bring up some Bay Trail devices properly + I2C = yes; + I2C_DESIGNWARE_CORE = yes; + I2C_DESIGNWARE_PLATFORM = yes; + PMIC_OPREGION = whenAtLeast "5.10" yes; + INTEL_SOC_PMIC = whenAtLeast "5.10" yes; + BYTCRC_PMIC_OPREGION = whenAtLeast "5.10" yes; + CHTCRC_PMIC_OPREGION = whenAtLeast "5.10" yes; + XPOWER_PMIC_OPREGION = whenAtLeast "5.10" yes; + BXT_WC_PMIC_OPREGION = whenAtLeast "5.10" yes; + INTEL_SOC_PMIC_CHTWC = whenAtLeast "5.10" yes; + CHT_WC_PMIC_OPREGION = whenAtLeast "5.10" yes; + INTEL_SOC_PMIC_CHTDC_TI = whenAtLeast "5.10" yes; + CHT_DC_TI_PMIC_OPREGION = whenAtLeast "5.10" yes; + MFD_TPS68470 = whenBetween "5.10" "5.13" yes; + TPS68470_PMIC_OPREGION = whenAtLeast "5.10" yes; + + # Enable Intel thermal hardware feedback + INTEL_HFI_THERMAL = whenAtLeast "5.18" yes; + }; external-firmware = { # Support drivers that need external firmware. @@ -176,7 +190,7 @@ let proc-config-gz = { # Make /proc/config.gz available - IKCONFIG = yes; + IKCONFIG = yes; IKCONFIG_PROC = yes; }; @@ -186,25 +200,27 @@ let CC_OPTIMIZE_FOR_SIZE = no; }; - memory = { - DAMON = whenAtLeast "5.15" yes; - DAMON_VADDR = whenAtLeast "5.15" yes; - DAMON_PADDR = whenAtLeast "5.16" yes; - DAMON_SYSFS = whenAtLeast "5.18" yes; - DAMON_DBGFS = whenBetween "5.15" "6.9" yes; - DAMON_RECLAIM = whenAtLeast "5.16" yes; - DAMON_LRU_SORT = whenAtLeast "6.0" yes; - # Support recovering from memory failures on systems with ECC and MCA recovery. - MEMORY_FAILURE = yes; - - # Collect ECC errors and retire pages that fail too often - RAS_CEC = yes; - } // lib.optionalAttrs (stdenv.hostPlatform.is32bit) { - # Enable access to the full memory range (aka PAE) on 32-bit architectures - # This check isn't super accurate but it's close enough - HIGHMEM = option yes; - BOUNCE = option yes; - }; + memory = + { + DAMON = whenAtLeast "5.15" yes; + DAMON_VADDR = whenAtLeast "5.15" yes; + DAMON_PADDR = whenAtLeast "5.16" yes; + DAMON_SYSFS = whenAtLeast "5.18" yes; + DAMON_DBGFS = whenBetween "5.15" "6.9" yes; + DAMON_RECLAIM = whenAtLeast "5.16" yes; + DAMON_LRU_SORT = whenAtLeast "6.0" yes; + # Support recovering from memory failures on systems with ECC and MCA recovery. + MEMORY_FAILURE = yes; + + # Collect ECC errors and retire pages that fail too often + RAS_CEC = yes; + } + // lib.optionalAttrs (stdenv.hostPlatform.is32bit) { + # Enable access to the full memory range (aka PAE) on 32-bit architectures + # This check isn't super accurate but it's close enough + HIGHMEM = option yes; + BOUNCE = option yes; + }; memtest = { MEMTEST = yes; @@ -214,7 +230,7 @@ let # module, so that the initrd gets a good I/O scheduler. scheduler = { IOSCHED_CFQ = whenOlder "5.0" yes; # Removed in 5.0-RC1 - BLK_CGROUP = yes; # required by CFQ" + BLK_CGROUP = yes; # required by CFQ" BLK_CGROUP_IOLATENCY = yes; BLK_CGROUP_IOCOST = yes; IOSCHED_DEADLINE = whenOlder "5.0" yes; # Removed in 5.0-RC1 @@ -227,7 +243,6 @@ let UCLAMP_TASK_GROUP = yes; }; - timer = { # Enable Full Dynticks System. # NO_HZ_FULL depends on HAVE_VIRT_CPU_ACCOUNTING_GEN depends on 64BIT @@ -236,185 +251,193 @@ let # Enable NUMA. numa = { - NUMA = option yes; + NUMA = option yes; NUMA_BALANCING = option yes; }; - networking = { - NET = yes; - IP_ADVANCED_ROUTER = yes; - IP_PNP = no; - IP_ROUTE_MULTIPATH = yes; - IP_VS_PROTO_TCP = yes; - IP_VS_PROTO_UDP = yes; - IP_VS_PROTO_ESP = yes; - IP_VS_PROTO_AH = yes; - IP_VS_IPV6 = yes; - IP_DCCP_CCID3 = no; # experimental - CLS_U32_PERF = yes; - CLS_U32_MARK = yes; - BPF_JIT = whenPlatformHasEBPFJit yes; - BPF_JIT_ALWAYS_ON = whenPlatformHasEBPFJit no; # whenPlatformHasEBPFJit yes; # see https://github.com/NixOS/nixpkgs/issues/79304 - HAVE_EBPF_JIT = whenPlatformHasEBPFJit yes; - BPF_STREAM_PARSER = yes; - XDP_SOCKETS = yes; - XDP_SOCKETS_DIAG = yes; - WAN = yes; - TCP_CONG_ADVANCED = yes; - TCP_CONG_CUBIC = yes; # This is the default congestion control algorithm since 2.6.19 - # Required by systemd per-cgroup firewalling - CGROUP_BPF = option yes; - CGROUP_NET_PRIO = yes; # Required by systemd - IP_ROUTE_VERBOSE = yes; - IP_MROUTE_MULTIPLE_TABLES = yes; - IP_MULTICAST = yes; - IP_MULTIPLE_TABLES = yes; - IPV6 = yes; - IPV6_ROUTER_PREF = yes; - IPV6_ROUTE_INFO = yes; - IPV6_OPTIMISTIC_DAD = yes; - IPV6_MULTIPLE_TABLES = yes; - IPV6_SUBTREES = yes; - IPV6_MROUTE = yes; - IPV6_MROUTE_MULTIPLE_TABLES = yes; - IPV6_PIMSM_V2 = yes; - IPV6_FOU_TUNNEL = module; - IPV6_SEG6_LWTUNNEL = yes; - IPV6_SEG6_HMAC = yes; - IPV6_SEG6_BPF = yes; - NET_CLS_BPF = module; - NET_ACT_BPF = module; - NET_SCHED = yes; - L2TP_V3 = yes; - L2TP_IP = module; - L2TP_ETH = module; - BRIDGE_VLAN_FILTERING = yes; - BONDING = module; - NET_L3_MASTER_DEV = option yes; - NET_FOU_IP_TUNNELS = option yes; - IP_NF_TARGET_REDIRECT = module; - - PPP_MULTILINK = yes; # PPP multilink support - PPP_FILTER = yes; - - # needed for iwd WPS support (wpa_supplicant replacement) - KEY_DH_OPERATIONS = yes; - - # needed for nftables - # Networking Options - NETFILTER = yes; - NETFILTER_ADVANCED = yes; - # Core Netfilter Configuration - NF_CONNTRACK_ZONES = yes; - NF_CONNTRACK_EVENTS = yes; - NF_CONNTRACK_TIMEOUT = yes; - NF_CONNTRACK_TIMESTAMP = yes; - NETFILTER_NETLINK_GLUE_CT = yes; - NF_TABLES_INET = yes; - NF_TABLES_NETDEV = yes; - NFT_REJECT_NETDEV = whenAtLeast "5.11" module; - - # IP: Netfilter Configuration - NF_TABLES_IPV4 = yes; - NF_TABLES_ARP = yes; - # IPv6: Netfilter Configuration - NF_TABLES_IPV6 = yes; - # Bridge Netfilter Configuration - NF_TABLES_BRIDGE = module; - # Expose some debug info - NF_CONNTRACK_PROCFS = yes; - NF_FLOW_TABLE_PROCFS = whenAtLeast "6.0" yes; - - # needed for `dropwatch` - # Builtin-only since https://github.com/torvalds/linux/commit/f4b6bcc7002f0e3a3428bac33cf1945abff95450 - NET_DROP_MONITOR = yes; - - # needed for ss - # Use a lower priority to allow these options to be overridden in hardened/config.nix - INET_DIAG = lib.mkDefault module; - INET_TCP_DIAG = lib.mkDefault module; - INET_UDP_DIAG = lib.mkDefault module; - INET_RAW_DIAG = lib.mkDefault module; - INET_DIAG_DESTROY = lib.mkDefault yes; - - # IPsec over TCP - INET_ESPINTCP = whenAtLeast "5.8" yes; - INET6_ESPINTCP = whenAtLeast "5.8" yes; - - # enable multipath-tcp - MPTCP = whenAtLeast "5.6" yes; - MPTCP_IPV6 = whenAtLeast "5.6" yes; - INET_MPTCP_DIAG = whenAtLeast "5.9" (lib.mkDefault module); - - # Kernel TLS - TLS = module; - TLS_DEVICE = yes; - - # infiniband - INFINIBAND = module; - INFINIBAND_IPOIB = module; - INFINIBAND_IPOIB_CM = yes; - - # Enable debugfs for wireless drivers - CFG80211_DEBUGFS = yes; - MAC80211_DEBUGFS = yes; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") { - # Not enabled by default, hides modules behind it - NET_VENDOR_MEDIATEK = yes; - # Enable SoC interface for MT7915 module, required for MT798X. - MT7986_WMAC = whenBetween "5.18" "6.6" yes; - MT798X_WMAC = whenAtLeast "6.6" yes; - }; + networking = + { + NET = yes; + IP_ADVANCED_ROUTER = yes; + IP_PNP = no; + IP_ROUTE_MULTIPATH = yes; + IP_VS_PROTO_TCP = yes; + IP_VS_PROTO_UDP = yes; + IP_VS_PROTO_ESP = yes; + IP_VS_PROTO_AH = yes; + IP_VS_IPV6 = yes; + IP_DCCP_CCID3 = no; # experimental + CLS_U32_PERF = yes; + CLS_U32_MARK = yes; + BPF_JIT = whenPlatformHasEBPFJit yes; + BPF_JIT_ALWAYS_ON = whenPlatformHasEBPFJit no; # whenPlatformHasEBPFJit yes; # see https://github.com/NixOS/nixpkgs/issues/79304 + HAVE_EBPF_JIT = whenPlatformHasEBPFJit yes; + BPF_STREAM_PARSER = yes; + XDP_SOCKETS = yes; + XDP_SOCKETS_DIAG = yes; + WAN = yes; + TCP_CONG_ADVANCED = yes; + TCP_CONG_CUBIC = yes; # This is the default congestion control algorithm since 2.6.19 + # Required by systemd per-cgroup firewalling + CGROUP_BPF = option yes; + CGROUP_NET_PRIO = yes; # Required by systemd + IP_ROUTE_VERBOSE = yes; + IP_MROUTE_MULTIPLE_TABLES = yes; + IP_MULTICAST = yes; + IP_MULTIPLE_TABLES = yes; + IPV6 = yes; + IPV6_ROUTER_PREF = yes; + IPV6_ROUTE_INFO = yes; + IPV6_OPTIMISTIC_DAD = yes; + IPV6_MULTIPLE_TABLES = yes; + IPV6_SUBTREES = yes; + IPV6_MROUTE = yes; + IPV6_MROUTE_MULTIPLE_TABLES = yes; + IPV6_PIMSM_V2 = yes; + IPV6_FOU_TUNNEL = module; + IPV6_SEG6_LWTUNNEL = yes; + IPV6_SEG6_HMAC = yes; + IPV6_SEG6_BPF = yes; + NET_CLS_BPF = module; + NET_ACT_BPF = module; + NET_SCHED = yes; + L2TP_V3 = yes; + L2TP_IP = module; + L2TP_ETH = module; + BRIDGE_VLAN_FILTERING = yes; + BONDING = module; + NET_L3_MASTER_DEV = option yes; + NET_FOU_IP_TUNNELS = option yes; + IP_NF_TARGET_REDIRECT = module; + + PPP_MULTILINK = yes; # PPP multilink support + PPP_FILTER = yes; + + # needed for iwd WPS support (wpa_supplicant replacement) + KEY_DH_OPERATIONS = yes; + + # needed for nftables + # Networking Options + NETFILTER = yes; + NETFILTER_ADVANCED = yes; + # Core Netfilter Configuration + NF_CONNTRACK_ZONES = yes; + NF_CONNTRACK_EVENTS = yes; + NF_CONNTRACK_TIMEOUT = yes; + NF_CONNTRACK_TIMESTAMP = yes; + NETFILTER_NETLINK_GLUE_CT = yes; + NF_TABLES_INET = yes; + NF_TABLES_NETDEV = yes; + NFT_REJECT_NETDEV = whenAtLeast "5.11" module; + + # IP: Netfilter Configuration + NF_TABLES_IPV4 = yes; + NF_TABLES_ARP = yes; + # IPv6: Netfilter Configuration + NF_TABLES_IPV6 = yes; + # Bridge Netfilter Configuration + NF_TABLES_BRIDGE = module; + # Expose some debug info + NF_CONNTRACK_PROCFS = yes; + NF_FLOW_TABLE_PROCFS = whenAtLeast "6.0" yes; + + # needed for `dropwatch` + # Builtin-only since https://github.com/torvalds/linux/commit/f4b6bcc7002f0e3a3428bac33cf1945abff95450 + NET_DROP_MONITOR = yes; + + # needed for ss + # Use a lower priority to allow these options to be overridden in hardened/config.nix + INET_DIAG = lib.mkDefault module; + INET_TCP_DIAG = lib.mkDefault module; + INET_UDP_DIAG = lib.mkDefault module; + INET_RAW_DIAG = lib.mkDefault module; + INET_DIAG_DESTROY = lib.mkDefault yes; + + # IPsec over TCP + INET_ESPINTCP = whenAtLeast "5.8" yes; + INET6_ESPINTCP = whenAtLeast "5.8" yes; + + # enable multipath-tcp + MPTCP = whenAtLeast "5.6" yes; + MPTCP_IPV6 = whenAtLeast "5.6" yes; + INET_MPTCP_DIAG = whenAtLeast "5.9" (lib.mkDefault module); + + # Kernel TLS + TLS = module; + TLS_DEVICE = yes; + + # infiniband + INFINIBAND = module; + INFINIBAND_IPOIB = module; + INFINIBAND_IPOIB_CM = yes; + + # Enable debugfs for wireless drivers + CFG80211_DEBUGFS = yes; + MAC80211_DEBUGFS = yes; + } + // lib.optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") { + # Not enabled by default, hides modules behind it + NET_VENDOR_MEDIATEK = yes; + # Enable SoC interface for MT7915 module, required for MT798X. + MT7986_WMAC = whenBetween "5.18" "6.6" yes; + MT798X_WMAC = whenAtLeast "6.6" yes; + }; wireless = { - CFG80211_WEXT = option yes; # Without it, ipw2200 drivers don't build - IPW2100_MONITOR = option yes; # support promiscuous mode - IPW2200_MONITOR = option yes; # support promiscuous mode - HOSTAP_FIRMWARE = whenOlder "6.8" (option yes); # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM = whenOlder "6.8" (option yes); - MAC80211_MESH = option yes; # Enable 802.11s (mesh networking) support - ATH9K_PCI = option yes; # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB = option yes; # Ditto, AHB bus + CFG80211_WEXT = option yes; # Without it, ipw2200 drivers don't build + IPW2100_MONITOR = option yes; # support promiscuous mode + IPW2200_MONITOR = option yes; # support promiscuous mode + HOSTAP_FIRMWARE = whenOlder "6.8" (option yes); # Support downloading firmware images with Host AP driver + HOSTAP_FIRMWARE_NVRAM = whenOlder "6.8" (option yes); + MAC80211_MESH = option yes; # Enable 802.11s (mesh networking) support + ATH9K_PCI = option yes; # Detect Atheros AR9xxx cards on PCI(e) bus + ATH9K_AHB = option yes; # Ditto, AHB bus # The description of this option makes it sound dangerous or even illegal # But OpenWRT enables it by default: https://github.com/openwrt/openwrt/blob/master/package/kernel/mac80211/Makefile#L55 # At the time of writing (25-06-2023): this is only used in a "correct" way by ath drivers for initiating DFS radiation # for "certified devices" - EXPERT = option yes; # this is needed for offering the certification option - RFKILL_INPUT = option yes; # counteract an undesired effect of setting EXPERT + EXPERT = option yes; # this is needed for offering the certification option + RFKILL_INPUT = option yes; # counteract an undesired effect of setting EXPERT CFG80211_CERTIFICATION_ONUS = option yes; # DFS: "Dynamic Frequency Selection" is a spectrum-sharing mechanism that allows # you to use certain interesting frequency when your local regulatory domain mandates it. # ATH drivers hides the feature behind this option and makes hostapd works with DFS frequencies. # OpenWRT enables it too: https://github.com/openwrt/openwrt/blob/master/package/kernel/mac80211/ath.mk#L42 - ATH9K_DFS_CERTIFIED = option yes; - ATH10K_DFS_CERTIFIED = option yes; - B43_PHY_HT = option yes; - BCMA_HOST_PCI = option yes; - RTW88 = module; - RTW88_8822BE = lib.mkMerge [ (whenOlder "5.8" yes) (whenAtLeast "5.8" module) ]; - RTW88_8822CE = lib.mkMerge [ (whenOlder "5.8" yes) (whenAtLeast "5.8" module) ]; + ATH9K_DFS_CERTIFIED = option yes; + ATH10K_DFS_CERTIFIED = option yes; + B43_PHY_HT = option yes; + BCMA_HOST_PCI = option yes; + RTW88 = module; + RTW88_8822BE = lib.mkMerge [ + (whenOlder "5.8" yes) + (whenAtLeast "5.8" module) + ]; + RTW88_8822CE = lib.mkMerge [ + (whenOlder "5.8" yes) + (whenAtLeast "5.8" module) + ]; }; fb = { - FB = yes; - FB_EFI = yes; - FB_NVIDIA_I2C = yes; # Enable DDC Support - FB_RIVA_I2C = yes; - FB_ATY_CT = yes; # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX = yes; # Mach64 GX support - FB_SAVAGE_I2C = yes; - FB_SAVAGE_ACCEL = yes; - FB_SIS_300 = yes; - FB_SIS_315 = yes; - FB_3DFX_ACCEL = yes; - FB_VESA = yes; + FB = yes; + FB_EFI = yes; + FB_NVIDIA_I2C = yes; # Enable DDC Support + FB_RIVA_I2C = yes; + FB_ATY_CT = yes; # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support + FB_ATY_GX = yes; # Mach64 GX support + FB_SAVAGE_I2C = yes; + FB_SAVAGE_ACCEL = yes; + FB_SIS_300 = yes; + FB_SIS_315 = yes; + FB_3DFX_ACCEL = yes; + FB_VESA = yes; FRAMEBUFFER_CONSOLE = yes; FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER = yes; FRAMEBUFFER_CONSOLE_ROTATION = yes; FRAMEBUFFER_CONSOLE_DETECT_PRIMARY = yes; - FB_GEODE = lib.mkIf (stdenv.hostPlatform.system == "i686-linux") yes; + FB_GEODE = lib.mkIf (stdenv.hostPlatform.system == "i686-linux") yes; # Use simplefb on older kernels where we don't have simpledrm (enabled below) - FB_SIMPLE = whenOlder "5.15" yes; + FB_SIMPLE = whenOlder "5.15" yes; DRM_FBDEV_EMULATION = yes; }; @@ -427,81 +450,85 @@ let FONT_TER16x32 = whenAtLeast "5.0" yes; }; - video = let - whenHasDevicePrivate = lib.mkIf (!stdenv.hostPlatform.isx86_32); - in { - # compile in DRM so simpledrm can load before initrd if necessary - AGP = yes; - DRM = yes; - - DRM_LEGACY = whenOlder "6.8" no; - - NOUVEAU_LEGACY_CTX_SUPPORT = whenOlder "6.3" no; - - # Enable simpledrm and use it for generic framebuffer - # Technically added in 5.14, but adding more complex configuration is not worth it - DRM_SIMPLEDRM = whenAtLeast "5.15" yes; - SYSFB_SIMPLEFB = whenAtLeast "5.15" yes; - - # Allow specifying custom EDID on the kernel command line - DRM_LOAD_EDID_FIRMWARE = yes; - VGA_SWITCHEROO = yes; # Hybrid graphics support - DRM_GMA500 = whenAtLeast "5.12" module; - DRM_GMA600 = whenOlder "5.13" yes; - DRM_GMA3600 = whenOlder "5.12" yes; - DRM_VMWGFX_FBCON = whenOlder "6.1" yes; - # (experimental) amdgpu support for verde and newer chipsets - DRM_AMDGPU_SI = yes; - # (stable) amdgpu support for bonaire and newer chipsets - DRM_AMDGPU_CIK = yes; - # Allow device firmware updates - DRM_DP_AUX_CHARDEV = whenOlder "6.10" yes; - DRM_DISPLAY_DP_AUX_CHARDEV = whenAtLeast "6.10" yes; - # amdgpu display core (DC) support - DRM_AMD_DC_DCN1_0 = whenOlder "5.6" yes; - DRM_AMD_DC_DCN2_0 = whenOlder "5.6" yes; - DRM_AMD_DC_DCN2_1 = whenOlder "5.6" yes; - DRM_AMD_DC_DCN3_0 = whenBetween "5.9" "5.11" yes; - DRM_AMD_DC_DCN = whenBetween "5.11" "6.4" yes; - DRM_AMD_DC_FP = whenAtLeast "6.4" yes; - DRM_AMD_DC_HDCP = whenBetween "5.5" "6.4" yes; - DRM_AMD_DC_SI = whenAtLeast "5.10" yes; - - # Enable AMD Audio Coprocessor support for HDMI outputs - DRM_AMD_ACP = yes; - - # Enable AMD secure display when available - DRM_AMD_SECURE_DISPLAY = whenAtLeast "5.13" yes; - - # Enable AMD image signal processor - DRM_AMD_ISP = whenAtLeast "6.11" yes; - - # Enable new firmware (and by extension NVK) for compatible hardware on Nouveau - DRM_NOUVEAU_GSP_DEFAULT = whenAtLeast "6.8" yes; - - # Enable Nouveau shared virtual memory (used by OpenCL) - DEVICE_PRIVATE = whenHasDevicePrivate yes; - DRM_NOUVEAU_SVM = whenHasDevicePrivate yes; - - # Enable HDMI-CEC receiver support - RC_CORE = yes; - MEDIA_CEC_RC = whenAtLeast "5.10" yes; - - # Enable CEC over DisplayPort - DRM_DP_CEC = whenOlder "6.10" yes; - DRM_DISPLAY_DP_AUX_CEC = whenAtLeast "6.10" yes; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { - # Intel GVT-g graphics virtualization supports 64-bit only - DRM_I915_GVT = yes; - DRM_I915_GVT_KVMGT = module; - # Enable Hyper-V Synthetic DRM Driver - DRM_HYPERV = whenAtLeast "5.14" module; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") { - # enable HDMI-CEC on RPi boards - DRM_VC4_HDMI_CEC = yes; - # Enable HDMI out on platforms using the RK3588 lineup of SoCs. - ROCKCHIP_DW_HDMI_QP = whenAtLeast "6.13" yes; - }; + video = + let + whenHasDevicePrivate = lib.mkIf (!stdenv.hostPlatform.isx86_32); + in + { + # compile in DRM so simpledrm can load before initrd if necessary + AGP = yes; + DRM = yes; + + DRM_LEGACY = whenOlder "6.8" no; + + NOUVEAU_LEGACY_CTX_SUPPORT = whenOlder "6.3" no; + + # Enable simpledrm and use it for generic framebuffer + # Technically added in 5.14, but adding more complex configuration is not worth it + DRM_SIMPLEDRM = whenAtLeast "5.15" yes; + SYSFB_SIMPLEFB = whenAtLeast "5.15" yes; + + # Allow specifying custom EDID on the kernel command line + DRM_LOAD_EDID_FIRMWARE = yes; + VGA_SWITCHEROO = yes; # Hybrid graphics support + DRM_GMA500 = whenAtLeast "5.12" module; + DRM_GMA600 = whenOlder "5.13" yes; + DRM_GMA3600 = whenOlder "5.12" yes; + DRM_VMWGFX_FBCON = whenOlder "6.1" yes; + # (experimental) amdgpu support for verde and newer chipsets + DRM_AMDGPU_SI = yes; + # (stable) amdgpu support for bonaire and newer chipsets + DRM_AMDGPU_CIK = yes; + # Allow device firmware updates + DRM_DP_AUX_CHARDEV = whenOlder "6.10" yes; + DRM_DISPLAY_DP_AUX_CHARDEV = whenAtLeast "6.10" yes; + # amdgpu display core (DC) support + DRM_AMD_DC_DCN1_0 = whenOlder "5.6" yes; + DRM_AMD_DC_DCN2_0 = whenOlder "5.6" yes; + DRM_AMD_DC_DCN2_1 = whenOlder "5.6" yes; + DRM_AMD_DC_DCN3_0 = whenBetween "5.9" "5.11" yes; + DRM_AMD_DC_DCN = whenBetween "5.11" "6.4" yes; + DRM_AMD_DC_FP = whenAtLeast "6.4" yes; + DRM_AMD_DC_HDCP = whenBetween "5.5" "6.4" yes; + DRM_AMD_DC_SI = whenAtLeast "5.10" yes; + + # Enable AMD Audio Coprocessor support for HDMI outputs + DRM_AMD_ACP = yes; + + # Enable AMD secure display when available + DRM_AMD_SECURE_DISPLAY = whenAtLeast "5.13" yes; + + # Enable AMD image signal processor + DRM_AMD_ISP = whenAtLeast "6.11" yes; + + # Enable new firmware (and by extension NVK) for compatible hardware on Nouveau + DRM_NOUVEAU_GSP_DEFAULT = whenAtLeast "6.8" yes; + + # Enable Nouveau shared virtual memory (used by OpenCL) + DEVICE_PRIVATE = whenHasDevicePrivate yes; + DRM_NOUVEAU_SVM = whenHasDevicePrivate yes; + + # Enable HDMI-CEC receiver support + RC_CORE = yes; + MEDIA_CEC_RC = whenAtLeast "5.10" yes; + + # Enable CEC over DisplayPort + DRM_DP_CEC = whenOlder "6.10" yes; + DRM_DISPLAY_DP_AUX_CEC = whenAtLeast "6.10" yes; + } + // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { + # Intel GVT-g graphics virtualization supports 64-bit only + DRM_I915_GVT = yes; + DRM_I915_GVT_KVMGT = module; + # Enable Hyper-V Synthetic DRM Driver + DRM_HYPERV = whenAtLeast "5.14" module; + } + // lib.optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") { + # enable HDMI-CEC on RPi boards + DRM_VC4_HDMI_CEC = yes; + # Enable HDMI out on platforms using the RK3588 lineup of SoCs. + ROCKCHIP_DW_HDMI_QP = whenAtLeast "6.13" yes; + }; # Enable Rust and features that depend on it rust = lib.optionalAttrs withRust { @@ -515,61 +542,64 @@ let DRM_PANIC_SCREEN_QR_CODE = whenAtLeast "6.12" yes; }; - sound = { - SND_DYNAMIC_MINORS = yes; - SND_AC97_POWER_SAVE = yes; # AC97 Power-Saving Mode - # 10s for the idle timeout, Fedora does 1, Arch does 10. - # The kernel says we should do 10. - # Read: https://docs.kernel.org/sound/designs/powersave.html - SND_AC97_POWER_SAVE_DEFAULT = freeform "10"; - SND_HDA_POWER_SAVE_DEFAULT = freeform "10"; - SND_HDA_INPUT_BEEP = yes; # Support digital beep via input layer - SND_HDA_RECONFIG = yes; # Support reconfiguration of jack functions - # Support configuring jack functions via fw mechanism at boot - SND_HDA_PATCH_LOADER = yes; - SND_HDA_CODEC_CA0132_DSP = whenOlder "5.7" yes; # Enable DSP firmware loading on Creative Soundblaster Z/Zx/ZxR/Recon - SND_HDA_CODEC_CS8409 = whenAtLeast "6.6" module; # Cirrus Logic HDA Bridge CS8409 - SND_OSSEMUL = yes; - SND_USB_CAIAQ_INPUT = yes; - SND_USB_AUDIO_MIDI_V2 = whenAtLeast "6.5" yes; - # Enable Sound Open Firmware support - } // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" && - lib.versionAtLeast version "5.5") { - SND_SOC_INTEL_SOUNDWIRE_SOF_MACH = whenAtLeast "5.10" module; - SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES = whenAtLeast "5.10" yes; # dep of SOF_MACH - SND_SOC_SOF_INTEL_SOUNDWIRE_LINK = whenBetween "5.10" "5.11" yes; # dep of SOF_MACH - SND_SOC_SOF_TOPLEVEL = yes; - SND_SOC_SOF_ACPI = module; - SND_SOC_SOF_PCI = module; - SND_SOC_SOF_APOLLOLAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_APOLLOLAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_CANNONLAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_CANNONLAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_COFFEELAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_COFFEELAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_COMETLAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_COMETLAKE_H_SUPPORT = whenOlder "5.8" yes; - SND_SOC_SOF_COMETLAKE_LP_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_ELKHARTLAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_ELKHARTLAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_GEMINILAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_GEMINILAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_HDA_AUDIO_CODEC = yes; - SND_SOC_SOF_HDA_COMMON_HDMI_CODEC = whenOlder "5.7" yes; - SND_SOC_SOF_HDA_LINK = yes; - SND_SOC_SOF_ICELAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_ICELAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_INTEL_TOPLEVEL = yes; - SND_SOC_SOF_JASPERLAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_JASPERLAKE_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_MERRIFIELD = whenAtLeast "5.12" module; - SND_SOC_SOF_MERRIFIELD_SUPPORT = whenOlder "5.12" yes; - SND_SOC_SOF_TIGERLAKE = whenAtLeast "5.12" module; - SND_SOC_SOF_TIGERLAKE_SUPPORT = whenOlder "5.12" yes; - }; + sound = + { + SND_DYNAMIC_MINORS = yes; + SND_AC97_POWER_SAVE = yes; # AC97 Power-Saving Mode + # 10s for the idle timeout, Fedora does 1, Arch does 10. + # The kernel says we should do 10. + # Read: https://docs.kernel.org/sound/designs/powersave.html + SND_AC97_POWER_SAVE_DEFAULT = freeform "10"; + SND_HDA_POWER_SAVE_DEFAULT = freeform "10"; + SND_HDA_INPUT_BEEP = yes; # Support digital beep via input layer + SND_HDA_RECONFIG = yes; # Support reconfiguration of jack functions + # Support configuring jack functions via fw mechanism at boot + SND_HDA_PATCH_LOADER = yes; + SND_HDA_CODEC_CA0132_DSP = whenOlder "5.7" yes; # Enable DSP firmware loading on Creative Soundblaster Z/Zx/ZxR/Recon + SND_HDA_CODEC_CS8409 = whenAtLeast "6.6" module; # Cirrus Logic HDA Bridge CS8409 + SND_OSSEMUL = yes; + SND_USB_CAIAQ_INPUT = yes; + SND_USB_AUDIO_MIDI_V2 = whenAtLeast "6.5" yes; + # Enable Sound Open Firmware support + } + // lib.optionalAttrs + (stdenv.hostPlatform.system == "x86_64-linux" && lib.versionAtLeast version "5.5") + { + SND_SOC_INTEL_SOUNDWIRE_SOF_MACH = whenAtLeast "5.10" module; + SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES = whenAtLeast "5.10" yes; # dep of SOF_MACH + SND_SOC_SOF_INTEL_SOUNDWIRE_LINK = whenBetween "5.10" "5.11" yes; # dep of SOF_MACH + SND_SOC_SOF_TOPLEVEL = yes; + SND_SOC_SOF_ACPI = module; + SND_SOC_SOF_PCI = module; + SND_SOC_SOF_APOLLOLAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_APOLLOLAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_CANNONLAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_CANNONLAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_COFFEELAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_COFFEELAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_COMETLAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_COMETLAKE_H_SUPPORT = whenOlder "5.8" yes; + SND_SOC_SOF_COMETLAKE_LP_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_ELKHARTLAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_ELKHARTLAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_GEMINILAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_GEMINILAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_HDA_AUDIO_CODEC = yes; + SND_SOC_SOF_HDA_COMMON_HDMI_CODEC = whenOlder "5.7" yes; + SND_SOC_SOF_HDA_LINK = yes; + SND_SOC_SOF_ICELAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_ICELAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_INTEL_TOPLEVEL = yes; + SND_SOC_SOF_JASPERLAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_JASPERLAKE_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_MERRIFIELD = whenAtLeast "5.12" module; + SND_SOC_SOF_MERRIFIELD_SUPPORT = whenOlder "5.12" yes; + SND_SOC_SOF_TIGERLAKE = whenAtLeast "5.12" module; + SND_SOC_SOF_TIGERLAKE_SUPPORT = whenOlder "5.12" yes; + }; usb = { - USB = yes; # compile USB core into kernel, so we can use USB_SERIAL_CONSOLE before modules + USB = yes; # compile USB core into kernel, so we can use USB_SERIAL_CONSOLE before modules USB_EHCI_ROOT_HUB_TT = yes; # Root Hub Transaction Translators USB_EHCI_TT_NEWSCHED = yes; # Improved transaction translator scheduling @@ -581,46 +611,46 @@ let }; usb-serial = { - USB_SERIAL = yes; - USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver - USB_SERIAL_CONSOLE = yes; # Allow using USB serial adapter as console - U_SERIAL_CONSOLE = whenAtLeast "5.10" yes; # Allow using USB gadget as console + USB_SERIAL = yes; + USB_SERIAL_GENERIC = yes; # USB Generic Serial Driver + USB_SERIAL_CONSOLE = yes; # Allow using USB serial adapter as console + U_SERIAL_CONSOLE = whenAtLeast "5.10" yes; # Allow using USB gadget as console }; # Filesystem options - in particular, enable extended attributes and # ACLs for all filesystems that support them. filesystem = { - FANOTIFY = yes; + FANOTIFY = yes; FANOTIFY_ACCESS_PERMISSIONS = yes; - TMPFS = yes; + TMPFS = yes; TMPFS_POSIX_ACL = yes; - FS_ENCRYPTION = yes; + FS_ENCRYPTION = yes; - EXT2_FS_XATTR = yes; + EXT2_FS_XATTR = yes; EXT2_FS_POSIX_ACL = yes; - EXT2_FS_SECURITY = yes; + EXT2_FS_SECURITY = yes; EXT3_FS_POSIX_ACL = yes; - EXT3_FS_SECURITY = yes; + EXT3_FS_SECURITY = yes; EXT4_FS_POSIX_ACL = yes; - EXT4_FS_SECURITY = yes; + EXT4_FS_SECURITY = yes; - NTFS_FS = whenBetween "5.15" "6.9" no; - NTFS3_LZX_XPRESS = whenAtLeast "5.15" yes; + NTFS_FS = whenBetween "5.15" "6.9" no; + NTFS3_LZX_XPRESS = whenAtLeast "5.15" yes; NTFS3_FS_POSIX_ACL = whenAtLeast "5.15" yes; - REISERFS_FS_XATTR = option yes; + REISERFS_FS_XATTR = option yes; REISERFS_FS_POSIX_ACL = option yes; - REISERFS_FS_SECURITY = option yes; + REISERFS_FS_SECURITY = option yes; JFS_POSIX_ACL = option yes; - JFS_SECURITY = option yes; + JFS_SECURITY = option yes; - XFS_QUOTA = option yes; + XFS_QUOTA = option yes; XFS_POSIX_ACL = option yes; - XFS_RT = option yes; # XFS Realtime subvolume support + XFS_RT = option yes; # XFS Realtime subvolume support XFS_ONLINE_SCRUB = option yes; OCFS2_DEBUG_MASKLOG = option no; @@ -632,51 +662,51 @@ let UBIFS_FS_ADVANCED_COMPR = option yes; - F2FS_FS = module; - F2FS_FS_SECURITY = option yes; + F2FS_FS = module; + F2FS_FS_SECURITY = option yes; F2FS_FS_COMPRESSION = whenAtLeast "5.6" yes; - UDF_FS = module; + UDF_FS = module; - NFSD_V2_ACL = whenOlder "5.10" yes; - NFSD_V3 = whenOlder "5.10" yes; - NFSD_V3_ACL = yes; - NFSD_V4 = yes; + NFSD_V2_ACL = whenOlder "5.10" yes; + NFSD_V3 = whenOlder "5.10" yes; + NFSD_V3_ACL = yes; + NFSD_V4 = yes; NFSD_V4_SECURITY_LABEL = yes; - NFS_FSCACHE = yes; - NFS_SWAP = yes; - NFS_V3_ACL = yes; - NFS_V4_1 = yes; # NFSv4.1 client support - NFS_V4_2 = yes; + NFS_FSCACHE = yes; + NFS_SWAP = yes; + NFS_V3_ACL = yes; + NFS_V4_1 = yes; # NFSv4.1 client support + NFS_V4_2 = yes; NFS_V4_SECURITY_LABEL = yes; - NFS_LOCALIO = whenAtLeast "6.12" yes; + NFS_LOCALIO = whenAtLeast "6.12" yes; - CIFS_XATTR = yes; - CIFS_POSIX = option yes; - CIFS_FSCACHE = yes; + CIFS_XATTR = yes; + CIFS_POSIX = option yes; + CIFS_FSCACHE = yes; CIFS_WEAK_PW_HASH = whenOlder "5.15" yes; - CIFS_UPCALL = yes; - CIFS_DFS_UPCALL = yes; + CIFS_UPCALL = yes; + CIFS_DFS_UPCALL = yes; - CEPH_FSCACHE = yes; + CEPH_FSCACHE = yes; CEPH_FS_POSIX_ACL = yes; - SQUASHFS_FILE_DIRECT = yes; + SQUASHFS_FILE_DIRECT = yes; SQUASHFS_DECOMP_MULTI_PERCPU = whenOlder "6.2" yes; SQUASHFS_CHOICE_DECOMP_BY_MOUNT = whenAtLeast "6.2" yes; - SQUASHFS_XATTR = yes; - SQUASHFS_ZLIB = yes; - SQUASHFS_LZO = yes; - SQUASHFS_XZ = yes; - SQUASHFS_LZ4 = yes; - SQUASHFS_ZSTD = yes; + SQUASHFS_XATTR = yes; + SQUASHFS_ZLIB = yes; + SQUASHFS_LZO = yes; + SQUASHFS_XZ = yes; + SQUASHFS_LZ4 = yes; + SQUASHFS_ZSTD = yes; # Native Language Support modules, needed by some filesystems - NLS = yes; - NLS_DEFAULT = freeform "utf8"; - NLS_UTF8 = module; + NLS = yes; + NLS_DEFAULT = freeform "utf8"; + NLS_UTF8 = module; NLS_CODEPAGE_437 = module; # VFAT default for the codepage= mount option - NLS_ISO8859_1 = module; # VFAT default for the iocharset= mount option + NLS_ISO8859_1 = module; # VFAT default for the iocharset= mount option # Needed to use the installation iso image. Not included in all defconfigs (e.g. arm64) ISO9660_FS = module; @@ -686,133 +716,136 @@ let UNICODE = yes; # Casefolding support for filesystems }; - security = { - # Report BUG() conditions and kill the offending process. - BUG = yes; - BUG_ON_DATA_CORRUPTION = yes; - - FORTIFY_SOURCE = option yes; - - # https://googleprojectzero.blogspot.com/2019/11/bad-binder-android-in-wild-exploit.html - DEBUG_LIST = yes; - - HARDENED_USERCOPY = yes; - RANDOMIZE_BASE = option yes; - STRICT_KERNEL_RWX = yes; - STRICT_MODULE_RWX = yes; - STRICT_DEVMEM = lib.mkDefault yes; # Filter access to /dev/mem - IO_STRICT_DEVMEM = lib.mkDefault yes; - - # Prevent processes from ptracing non-children processes - SECURITY_YAMA = option yes; - # The goal of Landlock is to enable to restrict ambient rights (e.g. global filesystem access) for a set of processes. - # This does not have any effect if a program does not support it - SECURITY_LANDLOCK = whenAtLeast "5.13" yes; - - DEVKMEM = whenOlder "5.13" no; # Disable /dev/kmem - - USER_NS = yes; # Support for user namespaces - - SECURITY_APPARMOR = yes; - DEFAULT_SECURITY_APPARMOR = yes; - - SECURITY_DMESG_RESTRICT = yes; - - RANDOM_TRUST_CPU = whenOlder "6.2" yes; # allow RDRAND to seed the RNG - RANDOM_TRUST_BOOTLOADER = whenOlder "6.2" yes; # allow the bootloader to seed the RNG - - MODULE_SIG = no; # r13y, generates a random key during build and bakes it in - # Depends on MODULE_SIG and only really helps when you sign your modules - # and enforce signatures which we don't do by default. - SECURITY_LOCKDOWN_LSM = no; - - # provides a register of persistent per-UID keyrings, useful for encrypting storage pools in stratis - PERSISTENT_KEYRINGS = yes; - # enable temporary caching of the last request_key() result - KEYS_REQUEST_CACHE = yes; - # randomized slab caches - RANDOM_KMALLOC_CACHES = whenAtLeast "6.6" yes; - - # NIST SP800-90A DRBG modes - enabled by most distributions - # and required by some out-of-tree modules (ShuffleCake) - # This does not include the NSA-backdoored Dual-EC mode from the same NIST publication. - CRYPTO_DRBG_HASH = yes; - CRYPTO_DRBG_CTR = yes; - - # Enable KFENCE - # See: https://docs.kernel.org/dev-tools/kfence.html - KFENCE = whenAtLeast "5.12" yes; - - # Enable support for page poisoning. Still needs to be enabled on the command line to actually work. - PAGE_POISONING = yes; - # Randomize page allocator when page_alloc.shuffle=1 - SHUFFLE_PAGE_ALLOCATOR = yes; - - INIT_ON_ALLOC_DEFAULT_ON = yes; - - # Enable stack smashing protections in schedule() - # See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.8&id=0d9e26329b0c9263d4d9e0422d80a0e73268c52f - SCHED_STACK_END_CHECK = yes; - - # Enable separate slab buckets for user controlled allocations - # See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67f2df3b82d091ed095d0e47e1f3a9d3e18e4e41 - SLAB_BUCKETS = whenAtLeast "6.11" yes; - } // lib.optionalAttrs stdenv.hostPlatform.isx86_64 { - # Enable Intel SGX - X86_SGX = whenAtLeast "5.11" yes; - # Allow KVM guests to load SGX enclaves - X86_SGX_KVM = whenAtLeast "5.13" yes; - - # AMD Cryptographic Coprocessor (CCP) - CRYPTO_DEV_CCP = yes; - # AMD SME - AMD_MEM_ENCRYPT = yes; - # AMD SEV and AMD SEV-SE - KVM_AMD_SEV = yes; - # AMD SEV-SNP - SEV_GUEST = whenAtLeast "5.19" module; - # Shadow stacks - X86_USER_SHADOW_STACK = whenAtLeast "6.6" yes; - - # Enable support for Intel Trust Domain Extensions (TDX) - INTEL_TDX_GUEST = whenAtLeast "5.19" yes; - TDX_GUEST_DRIVER = whenAtLeast "6.2" module; - - # Mitigate straight line speculation at the cost of some file size - SLS = whenBetween "5.17" "6.9" yes; - MITIGATION_SLS = whenAtLeast "6.9" yes; - - DEFAULT_MMAP_MIN_ADDR = freeform "65536"; - } // lib.optionalAttrs stdenv.hostPlatform.isAarch64 { - DEFAULT_MMAP_MIN_ADDR = freeform "32768"; - }; + security = + { + # Report BUG() conditions and kill the offending process. + BUG = yes; + BUG_ON_DATA_CORRUPTION = yes; + + FORTIFY_SOURCE = option yes; + + # https://googleprojectzero.blogspot.com/2019/11/bad-binder-android-in-wild-exploit.html + DEBUG_LIST = yes; + + HARDENED_USERCOPY = yes; + RANDOMIZE_BASE = option yes; + STRICT_KERNEL_RWX = yes; + STRICT_MODULE_RWX = yes; + STRICT_DEVMEM = lib.mkDefault yes; # Filter access to /dev/mem + IO_STRICT_DEVMEM = lib.mkDefault yes; + + # Prevent processes from ptracing non-children processes + SECURITY_YAMA = option yes; + # The goal of Landlock is to enable to restrict ambient rights (e.g. global filesystem access) for a set of processes. + # This does not have any effect if a program does not support it + SECURITY_LANDLOCK = whenAtLeast "5.13" yes; + + DEVKMEM = whenOlder "5.13" no; # Disable /dev/kmem + + USER_NS = yes; # Support for user namespaces + + SECURITY_APPARMOR = yes; + DEFAULT_SECURITY_APPARMOR = yes; + + SECURITY_DMESG_RESTRICT = yes; + + RANDOM_TRUST_CPU = whenOlder "6.2" yes; # allow RDRAND to seed the RNG + RANDOM_TRUST_BOOTLOADER = whenOlder "6.2" yes; # allow the bootloader to seed the RNG + + MODULE_SIG = no; # r13y, generates a random key during build and bakes it in + # Depends on MODULE_SIG and only really helps when you sign your modules + # and enforce signatures which we don't do by default. + SECURITY_LOCKDOWN_LSM = no; + + # provides a register of persistent per-UID keyrings, useful for encrypting storage pools in stratis + PERSISTENT_KEYRINGS = yes; + # enable temporary caching of the last request_key() result + KEYS_REQUEST_CACHE = yes; + # randomized slab caches + RANDOM_KMALLOC_CACHES = whenAtLeast "6.6" yes; + + # NIST SP800-90A DRBG modes - enabled by most distributions + # and required by some out-of-tree modules (ShuffleCake) + # This does not include the NSA-backdoored Dual-EC mode from the same NIST publication. + CRYPTO_DRBG_HASH = yes; + CRYPTO_DRBG_CTR = yes; + + # Enable KFENCE + # See: https://docs.kernel.org/dev-tools/kfence.html + KFENCE = whenAtLeast "5.12" yes; + + # Enable support for page poisoning. Still needs to be enabled on the command line to actually work. + PAGE_POISONING = yes; + # Randomize page allocator when page_alloc.shuffle=1 + SHUFFLE_PAGE_ALLOCATOR = yes; + + INIT_ON_ALLOC_DEFAULT_ON = yes; + + # Enable stack smashing protections in schedule() + # See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.8&id=0d9e26329b0c9263d4d9e0422d80a0e73268c52f + SCHED_STACK_END_CHECK = yes; + + # Enable separate slab buckets for user controlled allocations + # See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67f2df3b82d091ed095d0e47e1f3a9d3e18e4e41 + SLAB_BUCKETS = whenAtLeast "6.11" yes; + } + // lib.optionalAttrs stdenv.hostPlatform.isx86_64 { + # Enable Intel SGX + X86_SGX = whenAtLeast "5.11" yes; + # Allow KVM guests to load SGX enclaves + X86_SGX_KVM = whenAtLeast "5.13" yes; + + # AMD Cryptographic Coprocessor (CCP) + CRYPTO_DEV_CCP = yes; + # AMD SME + AMD_MEM_ENCRYPT = yes; + # AMD SEV and AMD SEV-SE + KVM_AMD_SEV = yes; + # AMD SEV-SNP + SEV_GUEST = whenAtLeast "5.19" module; + # Shadow stacks + X86_USER_SHADOW_STACK = whenAtLeast "6.6" yes; + + # Enable support for Intel Trust Domain Extensions (TDX) + INTEL_TDX_GUEST = whenAtLeast "5.19" yes; + TDX_GUEST_DRIVER = whenAtLeast "6.2" module; + + # Mitigate straight line speculation at the cost of some file size + SLS = whenBetween "5.17" "6.9" yes; + MITIGATION_SLS = whenAtLeast "6.9" yes; + + DEFAULT_MMAP_MIN_ADDR = freeform "65536"; + } + // lib.optionalAttrs stdenv.hostPlatform.isAarch64 { + DEFAULT_MMAP_MIN_ADDR = freeform "32768"; + }; microcode = { - MICROCODE = yes; + MICROCODE = yes; MICROCODE_INTEL = whenOlder "6.6" yes; - MICROCODE_AMD = whenOlder "6.6" yes; + MICROCODE_AMD = whenOlder "6.6" yes; # Write Back Throttling # https://lwn.net/Articles/682582/ # https://bugzilla.kernel.org/show_bug.cgi?id=12309#c655 - BLK_WBT = yes; + BLK_WBT = yes; BLK_WBT_SQ = whenOlder "5.0" yes; # Removed in 5.0-RC1 BLK_WBT_MQ = yes; }; container = { - NAMESPACES = yes; # Required by 'unshare' used by 'nixos-install' + NAMESPACES = yes; # Required by 'unshare' used by 'nixos-install' RT_GROUP_SCHED = no; - CGROUP_DEVICE = yes; + CGROUP_DEVICE = yes; CGROUP_HUGETLB = yes; - CGROUP_PERF = yes; - CGROUP_RDMA = yes; + CGROUP_PERF = yes; + CGROUP_RDMA = yes; - MEMCG = yes; - MEMCG_SWAP = whenOlder "6.1" yes; + MEMCG = yes; + MEMCG_SWAP = whenOlder "6.1" yes; - BLK_DEV_THROTTLING = yes; - CFQ_GROUP_IOSCHED = whenOlder "5.0" yes; # Removed in 5.0-RC1 - CGROUP_PIDS = yes; + BLK_DEV_THROTTLING = yes; + CFQ_GROUP_IOSCHED = whenOlder "5.0" yes; # Removed in 5.0-RC1 + CGROUP_PIDS = yes; }; staging = { @@ -824,45 +857,48 @@ let proc-events = { # PROC_EVENTS requires that the netlink connector is not built # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR = yes; + CONNECTOR = yes; PROC_EVENTS = yes; }; tracing = { - FTRACE = yes; - KPROBES = yes; - FUNCTION_TRACER = yes; - FTRACE_SYSCALLS = yes; - SCHED_TRACER = yes; - STACK_TRACER = yes; - UPROBE_EVENTS = option yes; - BPF_SYSCALL = yes; + FTRACE = yes; + KPROBES = yes; + FUNCTION_TRACER = yes; + FTRACE_SYSCALLS = yes; + SCHED_TRACER = yes; + STACK_TRACER = yes; + UPROBE_EVENTS = option yes; + BPF_SYSCALL = yes; BPF_UNPRIV_DEFAULT_OFF = whenBetween "5.10" "5.16" yes; - BPF_EVENTS = yes; - FUNCTION_PROFILER = yes; + BPF_EVENTS = yes; + FUNCTION_PROFILER = yes; RING_BUFFER_BENCHMARK = no; }; perf = { # enable AMD Zen branch sampling if available - PERF_EVENTS_AMD_BRS = whenAtLeast "5.19" (option yes); + PERF_EVENTS_AMD_BRS = whenAtLeast "5.19" (option yes); }; virtualisation = { PARAVIRT = option yes; HYPERVISOR_GUEST = yes; - PARAVIRT_SPINLOCKS = option yes; + PARAVIRT_SPINLOCKS = option yes; - KVM_ASYNC_PF = yes; + KVM_ASYNC_PF = yes; KVM_GENERIC_DIRTYLOG_READ_PROTECT = yes; - KVM_GUEST = yes; - KVM_MMIO = yes; - KVM_VFIO = yes; + KVM_GUEST = yes; + KVM_MMIO = yes; + KVM_VFIO = yes; KSM = yes; VIRT_DRIVERS = yes; # We need 64 GB (PAE) support for Xen guest support - HIGHMEM64G = { optional = true; tristate = lib.mkIf (!stdenv.hostPlatform.is64bit) "y";}; + HIGHMEM64G = { + optional = true; + tristate = lib.mkIf (!stdenv.hostPlatform.is64bit) "y"; + }; VFIO_PCI_VGA = lib.mkIf stdenv.hostPlatform.is64bit yes; @@ -874,22 +910,22 @@ let VBOXGUEST = option no; DRM_VBOXVIDEO = option no; - XEN = option yes; - XEN_DOM0 = option yes; - PCI_XEN = option yes; - HVC_XEN = option yes; - HVC_XEN_FRONTEND = option yes; - XEN_SYS_HYPERVISOR = option yes; - SWIOTLB_XEN = option yes; - XEN_BACKEND = option yes; - XEN_BALLOON = option yes; - XEN_BALLOON_MEMORY_HOTPLUG = option yes; - XEN_EFI = option yes; - XEN_HAVE_PVMMU = option yes; - XEN_MCE_LOG = option yes; - XEN_PVH = option yes; - XEN_PVHVM = option yes; - XEN_SAVE_RESTORE = option yes; + XEN = option yes; + XEN_DOM0 = option yes; + PCI_XEN = option yes; + HVC_XEN = option yes; + HVC_XEN_FRONTEND = option yes; + XEN_SYS_HYPERVISOR = option yes; + SWIOTLB_XEN = option yes; + XEN_BACKEND = option yes; + XEN_BALLOON = option yes; + XEN_BALLOON_MEMORY_HOTPLUG = option yes; + XEN_EFI = option yes; + XEN_HAVE_PVMMU = option yes; + XEN_MCE_LOG = option yes; + XEN_PVH = option yes; + XEN_PVHVM = option yes; + XEN_SAVE_RESTORE = option yes; # Enable device detection on virtio-mmio hypervisors VIRTIO_MMIO_CMDLINE_DEVICES = yes; @@ -897,454 +933,489 @@ let media = { MEDIA_DIGITAL_TV_SUPPORT = yes; - MEDIA_CAMERA_SUPPORT = yes; - MEDIA_CONTROLLER = yes; - MEDIA_PCI_SUPPORT = yes; - MEDIA_USB_SUPPORT = yes; - MEDIA_ANALOG_TV_SUPPORT = yes; - VIDEO_STK1160_COMMON = whenOlder "6.5" module; + MEDIA_CAMERA_SUPPORT = yes; + MEDIA_CONTROLLER = yes; + MEDIA_PCI_SUPPORT = yes; + MEDIA_USB_SUPPORT = yes; + MEDIA_ANALOG_TV_SUPPORT = yes; + VIDEO_STK1160_COMMON = whenOlder "6.5" module; }; "9p" = { # Enable the 9P cache to speed up NixOS VM tests. - "9P_FSCACHE" = option yes; + "9P_FSCACHE" = option yes; "9P_FS_POSIX_ACL" = option yes; }; huge-page = { - TRANSPARENT_HUGEPAGE = option yes; - TRANSPARENT_HUGEPAGE_ALWAYS = option no; + TRANSPARENT_HUGEPAGE = option yes; + TRANSPARENT_HUGEPAGE_ALWAYS = option no; TRANSPARENT_HUGEPAGE_MADVISE = option yes; }; zram = { - ZRAM = module; - ZRAM_WRITEBACK = option yes; - ZRAM_MULTI_COMP = whenAtLeast "6.2" yes; - ZRAM_BACKEND_842 = whenAtLeast "6.12" yes; - ZRAM_BACKEND_DEFLATE = whenAtLeast "6.12" yes; - ZRAM_BACKEND_LZ4 = whenAtLeast "6.12" yes; - ZRAM_BACKEND_LZ4HC = whenAtLeast "6.12" yes; - ZRAM_BACKEND_LZO = whenAtLeast "6.12" yes; - ZRAM_BACKEND_ZSTD = whenAtLeast "6.12" yes; - ZRAM_DEF_COMP_ZSTD = whenAtLeast "5.11" yes; - ZSWAP = option yes; + ZRAM = module; + ZRAM_WRITEBACK = option yes; + ZRAM_MULTI_COMP = whenAtLeast "6.2" yes; + ZRAM_BACKEND_842 = whenAtLeast "6.12" yes; + ZRAM_BACKEND_DEFLATE = whenAtLeast "6.12" yes; + ZRAM_BACKEND_LZ4 = whenAtLeast "6.12" yes; + ZRAM_BACKEND_LZ4HC = whenAtLeast "6.12" yes; + ZRAM_BACKEND_LZO = whenAtLeast "6.12" yes; + ZRAM_BACKEND_ZSTD = whenAtLeast "6.12" yes; + ZRAM_DEF_COMP_ZSTD = whenAtLeast "5.11" yes; + ZSWAP = option yes; ZSWAP_COMPRESSOR_DEFAULT_ZSTD = whenAtLeast "5.7" (lib.mkOptionDefault yes); - ZPOOL = yes; - ZSMALLOC = option yes; + ZPOOL = yes; + ZSMALLOC = option yes; }; brcmfmac = { # Enable PCIe and USB for the brcmfmac driver - BRCMFMAC_USB = option yes; + BRCMFMAC_USB = option yes; BRCMFMAC_PCIE = option yes; }; # Support x2APIC (which requires IRQ remapping) x2apic = lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { X86_X2APIC = yes; - IRQ_REMAP = yes; + IRQ_REMAP = yes; }; # Disable various self-test modules that have no use in a production system - tests = { - # This menu disables all/most of them on >= 4.16 - RUNTIME_TESTING_MENU = option no; - } // { - CRC32_SELFTEST = option no; - CRYPTO_TEST = option no; - EFI_TEST = option no; - GLOB_SELFTEST = option no; - LOCK_TORTURE_TEST = option no; - MTD_TESTS = option no; - NOTIFIER_ERROR_INJECTION = option no; - RCU_PERF_TEST = whenOlder "5.9" no; - RCU_SCALE_TEST = whenAtLeast "5.10" no; - TEST_ASYNC_DRIVER_PROBE = option no; - WW_MUTEX_SELFTEST = option no; - XZ_DEC_TEST = option no; - }; + tests = + { + # This menu disables all/most of them on >= 4.16 + RUNTIME_TESTING_MENU = option no; + } + // { + CRC32_SELFTEST = option no; + CRYPTO_TEST = option no; + EFI_TEST = option no; + GLOB_SELFTEST = option no; + LOCK_TORTURE_TEST = option no; + MTD_TESTS = option no; + NOTIFIER_ERROR_INJECTION = option no; + RCU_PERF_TEST = whenOlder "5.9" no; + RCU_SCALE_TEST = whenAtLeast "5.10" no; + TEST_ASYNC_DRIVER_PROBE = option no; + WW_MUTEX_SELFTEST = option no; + XZ_DEC_TEST = option no; + }; criu = { # Unconditionally enabled, because it is required for CRIU and # it provides the kcmp() system call that Mesa depends on. - CHECKPOINT_RESTORE = yes; + CHECKPOINT_RESTORE = yes; # Allows soft-dirty tracking on pages, used by CRIU. # See https://docs.kernel.org/admin-guide/mm/soft-dirty.html MEM_SOFT_DIRTY = lib.mkIf (!stdenv.hostPlatform.isx86_32) yes; }; - misc = let - # Use zstd for kernel compression if 64-bit and newer than 5.9, otherwise xz. - # i686 issues: https://github.com/NixOS/nixpkgs/pull/117961#issuecomment-812106375 - useZstd = stdenv.buildPlatform.is64bit && lib.versionAtLeast version "5.9"; - in { - # stdenv.hostPlatform.linux-kernel.target assumes uncompressed on RISC-V. - KERNEL_UNCOMPRESSED = lib.mkIf stdenv.hostPlatform.isRiscV yes; - KERNEL_XZ = lib.mkIf (!stdenv.hostPlatform.isRiscV && !useZstd) yes; - KERNEL_ZSTD = lib.mkIf (!stdenv.hostPlatform.isRiscV && useZstd) yes; - - HID_BATTERY_STRENGTH = yes; - # enabled by default in x86_64 but not arm64, so we do that here - HIDRAW = yes; - - # Enable loading HID fixups as eBPF from userspace - HID_BPF = whenAtLeast "6.3" yes; - - HID_ACRUX_FF = yes; - DRAGONRISE_FF = yes; - GREENASIA_FF = yes; - HOLTEK_FF = yes; - JOYSTICK_PSXPAD_SPI_FF = yes; - LOGIG940_FF = yes; - NINTENDO_FF = whenAtLeast "5.16" yes; - NVIDIA_SHIELD_FF = whenAtLeast "6.5" yes; - PLAYSTATION_FF = whenAtLeast "5.12" yes; - SONY_FF = yes; - SMARTJOYPLUS_FF = yes; - THRUSTMASTER_FF = yes; - ZEROPLUS_FF = yes; - - MODULE_COMPRESS = lib.mkMerge [ - (whenOlder "5.13" yes) - (whenAtLeast "6.12" yes) - ]; - MODULE_COMPRESS_ALL = whenAtLeast "6.12" yes; - MODULE_COMPRESS_XZ = yes; - - SYSVIPC = yes; # System-V IPC - - AIO = yes; # POSIX asynchronous I/O - - UNIX = yes; # Unix domain sockets. + misc = + let + # Use zstd for kernel compression if 64-bit and newer than 5.9, otherwise xz. + # i686 issues: https://github.com/NixOS/nixpkgs/pull/117961#issuecomment-812106375 + useZstd = stdenv.buildPlatform.is64bit && lib.versionAtLeast version "5.9"; + in + { + # stdenv.hostPlatform.linux-kernel.target assumes uncompressed on RISC-V. + KERNEL_UNCOMPRESSED = lib.mkIf stdenv.hostPlatform.isRiscV yes; + KERNEL_XZ = lib.mkIf (!stdenv.hostPlatform.isRiscV && !useZstd) yes; + KERNEL_ZSTD = lib.mkIf (!stdenv.hostPlatform.isRiscV && useZstd) yes; - MD = yes; # Device mapper (RAID, LVM, etc.) + HID_BATTERY_STRENGTH = yes; + # enabled by default in x86_64 but not arm64, so we do that here + HIDRAW = yes; - # Enable initrd support. - BLK_DEV_INITRD = yes; + # Enable loading HID fixups as eBPF from userspace + HID_BPF = whenAtLeast "6.3" yes; - # Allows debugging systems that get stuck during suspend/resume - PM_TRACE = yes; - PM_TRACE_RTC = yes; + HID_ACRUX_FF = yes; + DRAGONRISE_FF = yes; + GREENASIA_FF = yes; + HOLTEK_FF = yes; + JOYSTICK_PSXPAD_SPI_FF = yes; + LOGIG940_FF = yes; + NINTENDO_FF = whenAtLeast "5.16" yes; + NVIDIA_SHIELD_FF = whenAtLeast "6.5" yes; + PLAYSTATION_FF = whenAtLeast "5.12" yes; + SONY_FF = yes; + SMARTJOYPLUS_FF = yes; + THRUSTMASTER_FF = yes; + ZEROPLUS_FF = yes; - ACCESSIBILITY = yes; # Accessibility support - AUXDISPLAY = yes; # Auxiliary Display support - HIPPI = yes; - MTD_COMPLEX_MAPPINGS = yes; # needed for many devices + MODULE_COMPRESS = lib.mkMerge [ + (whenOlder "5.13" yes) + (whenAtLeast "6.12" yes) + ]; + MODULE_COMPRESS_ALL = whenAtLeast "6.12" yes; + MODULE_COMPRESS_XZ = yes; + + SYSVIPC = yes; # System-V IPC + + AIO = yes; # POSIX asynchronous I/O + + UNIX = yes; # Unix domain sockets. - SCSI_LOWLEVEL = yes; # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA = yes; - SCSI_SAS_ATA = yes; # added to enable detection of hard drive + MD = yes; # Device mapper (RAID, LVM, etc.) - SPI = yes; # needed for many devices - SPI_MASTER = yes; + # Enable initrd support. + BLK_DEV_INITRD = yes; + + # Allows debugging systems that get stuck during suspend/resume + PM_TRACE = yes; + PM_TRACE_RTC = yes; + + ACCESSIBILITY = yes; # Accessibility support + AUXDISPLAY = yes; # Auxiliary Display support + HIPPI = yes; + MTD_COMPLEX_MAPPINGS = yes; # needed for many devices + + SCSI_LOWLEVEL = yes; # enable lots of SCSI devices + SCSI_LOWLEVEL_PCMCIA = yes; + SCSI_SAS_ATA = yes; # added to enable detection of hard drive - "8139TOO_8129" = yes; - "8139TOO_PIO" = no; # PIO is slower + SPI = yes; # needed for many devices + SPI_MASTER = yes; - AIC79XX_DEBUG_ENABLE = no; - AIC7XXX_DEBUG_ENABLE = no; - AIC94XX_DEBUG = no; + "8139TOO_8129" = yes; + "8139TOO_PIO" = no; # PIO is slower - BLK_DEV_INTEGRITY = yes; - BLK_DEV_ZONED = yes; + AIC79XX_DEBUG_ENABLE = no; + AIC7XXX_DEBUG_ENABLE = no; + AIC94XX_DEBUG = no; + + BLK_DEV_INTEGRITY = yes; + BLK_DEV_ZONED = yes; + + BLK_SED_OPAL = yes; + + # Enable support for block layer inline encryption + BLK_INLINE_ENCRYPTION = whenAtLeast "5.8" yes; + # ...but fall back to CPU encryption if unavailable + BLK_INLINE_ENCRYPTION_FALLBACK = whenAtLeast "5.8" yes; + + BSD_PROCESS_ACCT_V3 = yes; + + SERIAL_DEV_BUS = yes; # enables support for serial devices + SERIAL_DEV_CTRL_TTYPORT = yes; # enables support for TTY serial devices + + BT_HCIBTUSB_MTK = yes; # MediaTek protocol support + + BT_HCIUART = module; # required for BT devices with serial port interface (QCA6390) + BT_HCIUART_BCM = option yes; # Broadcom Bluetooth support + BT_HCIUART_BCSP = option yes; # CSR BlueCore support + BT_HCIUART_H4 = option yes; # UART (H4) protocol support + BT_HCIUART_LL = option yes; # Texas Instruments BRF + BT_HCIUART_QCA = yes; # Qualcomm Atheros support + BT_HCIUART_SERDEV = yes; # required by BT_HCIUART_QCA + + BT_RFCOMM_TTY = option yes; # RFCOMM TTY support + BT_QCA = module; # enables QCA6390 bluetooth + + # Removed on 5.17 as it was unused + # upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0a4ee518185e902758191d968600399f3bc2be31 + CLEANCACHE = whenOlder "5.17" (option yes); + + FSCACHE_STATS = yes; - BLK_SED_OPAL = yes; + DVB_DYNAMIC_MINORS = option yes; # we use udev - # Enable support for block layer inline encryption - BLK_INLINE_ENCRYPTION = whenAtLeast "5.8" yes; - # ...but fall back to CPU encryption if unavailable - BLK_INLINE_ENCRYPTION_FALLBACK = whenAtLeast "5.8" yes; + EFI_STUB = yes; # EFI bootloader in the bzImage itself + EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER = whenOlder "6.2" (whenAtLeast "5.8" yes); # initrd kernel parameter for EFI - BSD_PROCESS_ACCT_V3 = yes; + # Generic compression support for EFI payloads + # Add new platforms only after they have been verified to build and boot. + # This is unsupported on x86 due to a custom decompression mechanism. + EFI_ZBOOT = lib.mkIf stdenv.hostPlatform.isAarch64 (whenAtLeast "6.1" yes); - SERIAL_DEV_BUS = yes; # enables support for serial devices - SERIAL_DEV_CTRL_TTYPORT = yes; # enables support for TTY serial devices + CGROUPS = yes; # used by systemd + FHANDLE = yes; # used by systemd + SECCOMP = yes; # used by systemd >= 231 + SECCOMP_FILTER = yes; # ditto + POSIX_MQUEUE = yes; + FRONTSWAP = whenOlder "6.6" yes; + FUSION = yes; # Fusion MPT device support + IDE = whenOlder "5.14" no; # deprecated IDE support, removed in 5.14 + IDLE_PAGE_TRACKING = yes; - BT_HCIBTUSB_MTK = yes; # MediaTek protocol support + JOYSTICK_XPAD_FF = option yes; # X-Box gamepad rumble support + JOYSTICK_XPAD_LEDS = option yes; # LED Support for Xbox360 controller 'BigX' LED - BT_HCIUART = module; # required for BT devices with serial port interface (QCA6390) - BT_HCIUART_BCM = option yes; # Broadcom Bluetooth support - BT_HCIUART_BCSP = option yes; # CSR BlueCore support - BT_HCIUART_H4 = option yes; # UART (H4) protocol support - BT_HCIUART_LL = option yes; # Texas Instruments BRF - BT_HCIUART_QCA = yes; # Qualcomm Atheros support - BT_HCIUART_SERDEV = yes; # required by BT_HCIUART_QCA + KEYBOARD_APPLESPI = module; - BT_RFCOMM_TTY = option yes; # RFCOMM TTY support - BT_QCA = module; # enables QCA6390 bluetooth + KEXEC_FILE = option yes; + KEXEC_JUMP = option yes; - # Removed on 5.17 as it was unused - # upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0a4ee518185e902758191d968600399f3bc2be31 - CLEANCACHE = whenOlder "5.17" (option yes); + PARTITION_ADVANCED = yes; # Needed for LDM_PARTITION + # Windows Logical Disk Manager (Dynamic Disk) support + LDM_PARTITION = yes; + LOGIRUMBLEPAD2_FF = yes; # Logitech Rumblepad 2 force feedback + LOGO = no; # not needed + MEDIA_ATTACH = yes; + MEGARAID_NEWGEN = yes; - FSCACHE_STATS = yes; + MLX5_CORE_EN = option yes; - DVB_DYNAMIC_MINORS = option yes; # we use udev + NVME_MULTIPATH = yes; - EFI_STUB = yes; # EFI bootloader in the bzImage itself - EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER = - whenOlder "6.2" (whenAtLeast "5.8" yes); # initrd kernel parameter for EFI + NVME_AUTH = lib.mkMerge [ + (whenBetween "6.0" "6.7" yes) + (whenAtLeast "6.7" module) + ]; - # Generic compression support for EFI payloads - # Add new platforms only after they have been verified to build and boot. - # This is unsupported on x86 due to a custom decompression mechanism. - EFI_ZBOOT = lib.mkIf stdenv.hostPlatform.isAarch64 (whenAtLeast "6.1" yes); + NVME_HOST_AUTH = whenAtLeast "6.7" yes; + NVME_TCP_TLS = whenAtLeast "6.7" yes; - CGROUPS = yes; # used by systemd - FHANDLE = yes; # used by systemd - SECCOMP = yes; # used by systemd >= 231 - SECCOMP_FILTER = yes; # ditto - POSIX_MQUEUE = yes; - FRONTSWAP = whenOlder "6.6" yes; - FUSION = yes; # Fusion MPT device support - IDE = whenOlder "5.14" no; # deprecated IDE support, removed in 5.14 - IDLE_PAGE_TRACKING = yes; + NVME_TARGET = module; + NVME_TARGET_PASSTHRU = whenAtLeast "5.9" yes; + NVME_TARGET_AUTH = whenAtLeast "6.0" yes; + NVME_TARGET_TCP_TLS = whenAtLeast "6.7" yes; - JOYSTICK_XPAD_FF = option yes; # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS = option yes; # LED Support for Xbox360 controller 'BigX' LED + PCI_P2PDMA = lib.mkIf (stdenv.hostPlatform.is64bit) yes; - KEYBOARD_APPLESPI = module; - - KEXEC_FILE = option yes; - KEXEC_JUMP = option yes; - - PARTITION_ADVANCED = yes; # Needed for LDM_PARTITION - # Windows Logical Disk Manager (Dynamic Disk) support - LDM_PARTITION = yes; - LOGIRUMBLEPAD2_FF = yes; # Logitech Rumblepad 2 force feedback - LOGO = no; # not needed - MEDIA_ATTACH = yes; - MEGARAID_NEWGEN = yes; - - MLX5_CORE_EN = option yes; - - NVME_MULTIPATH = yes; - - NVME_AUTH = lib.mkMerge [ - (whenBetween "6.0" "6.7" yes) - (whenAtLeast "6.7" module) - ]; - - NVME_HOST_AUTH = whenAtLeast "6.7" yes; - NVME_TCP_TLS = whenAtLeast "6.7" yes; - - NVME_TARGET = module; - NVME_TARGET_PASSTHRU = whenAtLeast "5.9" yes; - NVME_TARGET_AUTH = whenAtLeast "6.0" yes; - NVME_TARGET_TCP_TLS = whenAtLeast "6.7" yes; - - PCI_P2PDMA = lib.mkIf (stdenv.hostPlatform.is64bit) yes; - - PSI = yes; - - MOUSE_ELAN_I2C_SMBUS = yes; - MOUSE_PS2_ELANTECH = yes; # Elantech PS/2 protocol extension - MOUSE_PS2_VMMOUSE = yes; - MTRR_SANITIZER = yes; - NET_FC = yes; # Fibre Channel driver support - # Needed for touchpads to work on some AMD laptops - PINCTRL_AMD = whenAtLeast "5.19" yes; - # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks - PINCTRL_BAYTRAIL = yes; - # GPIO for Braswell and Cherryview devices - # Needs to be built-in to for integrated keyboards to function properly - PINCTRL_CHERRYVIEW = yes; - # 8 is default. Modern gpt tables on eMMC may go far beyond 8. - MMC_BLOCK_MINORS = freeform "32"; - - REGULATOR = yes; # Voltage and Current Regulator Support - RC_DEVICES = option yes; # Enable IR devices - RC_DECODERS = option yes; # Required for IR devices to work - - RT2800USB_RT53XX = yes; - RT2800USB_RT55XX = yes; - - SCHED_AUTOGROUP = yes; - CFS_BANDWIDTH = yes; - - SCSI_LOGGING = yes; # SCSI logging facility - SERIAL_8250 = yes; # 8250/16550 and compatible serial support - - SLAB_FREELIST_HARDENED = yes; - SLAB_FREELIST_RANDOM = yes; - - SLIP_COMPRESSED = yes; # CSLIP compressed headers - SLIP_SMART = yes; - - HWMON = yes; - THERMAL_HWMON = yes; # Hardware monitoring support - NVME_HWMON = whenAtLeast "5.5" yes; # NVMe drives temperature reporting - UEVENT_HELPER = no; - - USERFAULTFD = yes; - X86_CHECK_BIOS_CORRUPTION = yes; - X86_MCE = yes; - - RAS = yes; # Needed for EDAC support - - # Our initrd init uses shebang scripts, so can't be modular. - BINFMT_SCRIPT = yes; - # For systemd-binfmt - BINFMT_MISC = option yes; - - # Required for EDID overriding - FW_LOADER = yes; - # Disable the firmware helper fallback, udev doesn't implement it any more - FW_LOADER_USER_HELPER_FALLBACK = option no; - - FW_LOADER_COMPRESS = yes; - FW_LOADER_COMPRESS_ZSTD = whenAtLeast "5.19" yes; - - HOTPLUG_PCI_ACPI = yes; # PCI hotplug using ACPI - HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support - - # Enable AMD's ROCm GPU compute stack - HSA_AMD = lib.mkIf stdenv.hostPlatform.is64bit (yes); - ZONE_DEVICE = lib.mkIf stdenv.hostPlatform.is64bit (yes); - HMM_MIRROR = yes; - DRM_AMDGPU_USERPTR = yes; - - PREEMPT = no; - PREEMPT_VOLUNTARY = yes; - - X86_AMD_PLATFORM_DEVICE = yes; - X86_PLATFORM_DRIVERS_DELL = whenAtLeast "5.12" yes; - X86_PLATFORM_DRIVERS_HP = whenAtLeast "6.1" yes; - - LIRC = yes; - - SCHED_CORE = whenAtLeast "5.14" yes; - SCHED_CLASS_EXT = whenAtLeast "6.12" yes; - - LRU_GEN = whenAtLeast "6.1" yes; - LRU_GEN_ENABLED = whenAtLeast "6.1" yes; - - FSL_MC_UAPI_SUPPORT = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") (whenAtLeast "5.12" yes); - - ASHMEM = { optional = true; tristate = whenBetween "5.0" "5.18" "y";}; - ANDROID = { optional = true; tristate = whenBetween "5.0" "5.19" "y";}; - ANDROID_BINDER_IPC = { optional = true; tristate = whenAtLeast "5.0" "y";}; - ANDROID_BINDERFS = { optional = true; tristate = whenAtLeast "5.0" "y";}; - ANDROID_BINDER_DEVICES = { optional = true; freeform = whenAtLeast "5.0" "binder,hwbinder,vndbinder";}; - - TASKSTATS = yes; - TASK_DELAY_ACCT = yes; - TASK_XACCT = yes; - TASK_IO_ACCOUNTING = yes; - - # Fresh toolchains frequently break -Werror build for minor issues. - WERROR = whenAtLeast "5.15" no; - - # > CONFIG_KUNIT should not be enabled in a production environment. Enabling KUnit disables Kernel Address-Space Layout Randomization (KASLR), and tests may affect the state of the kernel in ways not suitable for production. - # https://www.kernel.org/doc/html/latest/dev-tools/kunit/start.html - KUNIT = whenAtLeast "5.5" no; - - # Set system time from RTC on startup and resume - RTC_HCTOSYS = option yes; - - # Expose watchdog information in sysfs - WATCHDOG_SYSFS = yes; - - # Enable generic kernel watch queues - # See https://docs.kernel.org/core-api/watch_queue.html - WATCH_QUEUE = whenAtLeast "5.8" yes; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") { - # Enable CPU/memory hotplug support - # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot - ACPI_HOTPLUG_CPU = yes; - ACPI_HOTPLUG_MEMORY = yes; - MEMORY_HOTPLUG = yes; - MEMORY_HOTREMOVE = yes; - HOTPLUG_CPU = yes; - MIGRATION = yes; - SPARSEMEM = yes; - - # Bump the maximum number of CPUs to support systems like EC2 x1.* - # instances and Xeon Phi. - NR_CPUS = freeform "384"; - - # Enable LEDS to display link-state status of PHY devices (i.e. eth lan/wan interfaces) - LED_TRIGGER_PHY = yes; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "armv7l-linux" || stdenv.hostPlatform.system == "aarch64-linux") { - # Enables support for the Allwinner Display Engine 2.0 - SUN8I_DE2_CCU = yes; - - # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647 - CRYPTO_AEGIS128_SIMD = no; - - # Distros should configure the default as a kernel option. - # We previously defined it on the kernel command line as cma= - # The kernel command line will override a platform-specific configuration from its device tree. - # https://github.com/torvalds/linux/blob/856deb866d16e29bd65952e0289066f6078af773/kernel/dma/contiguous.c#L35-L44 - CMA_SIZE_MBYTES = freeform "32"; - - # Add debug interfaces for CMA - CMA_DEBUGFS = yes; - CMA_SYSFS = yes; - - # https://docs.kernel.org/arch/arm/mem_alignment.html - # tldr: - # when buggy userspace code emits illegal misaligned LDM, STM, - # LDRD and STRDs, the instructions trap, are caught, and then - # are emulated by the kernel. - # - # This is the default on armv7l, anyway, but it is explicitly - # enabled here for the sake of providing context for the - # aarch64 compat option which follows. - ALIGNMENT_TRAP = lib.mkIf (stdenv.hostPlatform.system == "armv7l-linux") yes; - - # https://patchwork.kernel.org/project/linux-arm-kernel/patch/20220701135322.3025321-1-ardb@kernel.org/ - # tldr: - # when encountering alignment faults under aarch64, this option - # makes the kernel attempt to handle the fault by doing the - # same style of misaligned emulation that is performed under - # armv7l (see above option). - # - # This minimizes the potential for aarch32 userspace to behave - # differently when run under aarch64 kernels compared to when - # it is run under an aarch32 kernel. - COMPAT_ALIGNMENT_FIXUPS = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") (whenAtLeast "6.1" yes); - - # requirement for CP15_BARRIER_EMULATION - ARMV8_DEPRECATED = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") yes; - # emulate a specific armv7 instruction that was removed from armv8 - # this instruction is required to build a native armv7 nodejs on an - # aarch64-linux builder, for example - CP15_BARRIER_EMULATION = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") yes; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") { - # Required for various hardware features on Chrome OS devices - CHROME_PLATFORMS = yes; - CHROMEOS_TBMC = module; - - CROS_EC = module; - - CROS_EC_I2C = module; - CROS_EC_SPI = module; - CROS_EC_LPC = module; - CROS_EC_ISHTP = module; - - CROS_KBD_LED_BACKLIGHT = module; - - TCG_TIS_SPI_CR50 = whenAtLeast "5.5" yes; - } // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { - CHROMEOS_LAPTOP = module; - CHROMEOS_PSTORE = module; - - # Enable x86 resource control - X86_CPU_RESCTRL = whenAtLeast "5.0" yes; - - # Enable TSX on CPUs where it's not vulnerable - X86_INTEL_TSX_MODE_AUTO = yes; - - # Enable AMD Wi-Fi RF band mitigations - # See https://cateee.net/lkddb/web-lkddb/AMD_WBRF.html - AMD_WBRF = whenAtLeast "6.8" yes; - - # Enable Intel Turbo Boost Max 3.0 - INTEL_TURBO_MAX_3 = yes; - }; + PSI = yes; + + MOUSE_ELAN_I2C_SMBUS = yes; + MOUSE_PS2_ELANTECH = yes; # Elantech PS/2 protocol extension + MOUSE_PS2_VMMOUSE = yes; + MTRR_SANITIZER = yes; + NET_FC = yes; # Fibre Channel driver support + # Needed for touchpads to work on some AMD laptops + PINCTRL_AMD = whenAtLeast "5.19" yes; + # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks + PINCTRL_BAYTRAIL = yes; + # GPIO for Braswell and Cherryview devices + # Needs to be built-in to for integrated keyboards to function properly + PINCTRL_CHERRYVIEW = yes; + # 8 is default. Modern gpt tables on eMMC may go far beyond 8. + MMC_BLOCK_MINORS = freeform "32"; + + REGULATOR = yes; # Voltage and Current Regulator Support + RC_DEVICES = option yes; # Enable IR devices + RC_DECODERS = option yes; # Required for IR devices to work + + RT2800USB_RT53XX = yes; + RT2800USB_RT55XX = yes; + + SCHED_AUTOGROUP = yes; + CFS_BANDWIDTH = yes; + + SCSI_LOGGING = yes; # SCSI logging facility + SERIAL_8250 = yes; # 8250/16550 and compatible serial support + + SLAB_FREELIST_HARDENED = yes; + SLAB_FREELIST_RANDOM = yes; + + SLIP_COMPRESSED = yes; # CSLIP compressed headers + SLIP_SMART = yes; + + HWMON = yes; + THERMAL_HWMON = yes; # Hardware monitoring support + NVME_HWMON = whenAtLeast "5.5" yes; # NVMe drives temperature reporting + UEVENT_HELPER = no; + + USERFAULTFD = yes; + X86_CHECK_BIOS_CORRUPTION = yes; + X86_MCE = yes; + + RAS = yes; # Needed for EDAC support + + # Our initrd init uses shebang scripts, so can't be modular. + BINFMT_SCRIPT = yes; + # For systemd-binfmt + BINFMT_MISC = option yes; + + # Required for EDID overriding + FW_LOADER = yes; + # Disable the firmware helper fallback, udev doesn't implement it any more + FW_LOADER_USER_HELPER_FALLBACK = option no; + + FW_LOADER_COMPRESS = yes; + FW_LOADER_COMPRESS_ZSTD = whenAtLeast "5.19" yes; + + HOTPLUG_PCI_ACPI = yes; # PCI hotplug using ACPI + HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support + + # Enable AMD's ROCm GPU compute stack + HSA_AMD = lib.mkIf stdenv.hostPlatform.is64bit (yes); + ZONE_DEVICE = lib.mkIf stdenv.hostPlatform.is64bit (yes); + HMM_MIRROR = yes; + DRM_AMDGPU_USERPTR = yes; + + PREEMPT = no; + PREEMPT_VOLUNTARY = yes; + + X86_AMD_PLATFORM_DEVICE = yes; + X86_PLATFORM_DRIVERS_DELL = whenAtLeast "5.12" yes; + X86_PLATFORM_DRIVERS_HP = whenAtLeast "6.1" yes; + + LIRC = yes; + + SCHED_CORE = whenAtLeast "5.14" yes; + SCHED_CLASS_EXT = whenAtLeast "6.12" yes; + + LRU_GEN = whenAtLeast "6.1" yes; + LRU_GEN_ENABLED = whenAtLeast "6.1" yes; + + FSL_MC_UAPI_SUPPORT = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") ( + whenAtLeast "5.12" yes + ); + + ASHMEM = { + optional = true; + tristate = whenBetween "5.0" "5.18" "y"; + }; + ANDROID = { + optional = true; + tristate = whenBetween "5.0" "5.19" "y"; + }; + ANDROID_BINDER_IPC = { + optional = true; + tristate = whenAtLeast "5.0" "y"; + }; + ANDROID_BINDERFS = { + optional = true; + tristate = whenAtLeast "5.0" "y"; + }; + ANDROID_BINDER_DEVICES = { + optional = true; + freeform = whenAtLeast "5.0" "binder,hwbinder,vndbinder"; + }; + + TASKSTATS = yes; + TASK_DELAY_ACCT = yes; + TASK_XACCT = yes; + TASK_IO_ACCOUNTING = yes; + + # Fresh toolchains frequently break -Werror build for minor issues. + WERROR = whenAtLeast "5.15" no; + + # > CONFIG_KUNIT should not be enabled in a production environment. Enabling KUnit disables Kernel Address-Space Layout Randomization (KASLR), and tests may affect the state of the kernel in ways not suitable for production. + # https://www.kernel.org/doc/html/latest/dev-tools/kunit/start.html + KUNIT = whenAtLeast "5.5" no; + + # Set system time from RTC on startup and resume + RTC_HCTOSYS = option yes; + + # Expose watchdog information in sysfs + WATCHDOG_SYSFS = yes; + + # Enable generic kernel watch queues + # See https://docs.kernel.org/core-api/watch_queue.html + WATCH_QUEUE = whenAtLeast "5.8" yes; + } + // + lib.optionalAttrs + (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") + { + # Enable CPU/memory hotplug support + # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot + ACPI_HOTPLUG_CPU = yes; + ACPI_HOTPLUG_MEMORY = yes; + MEMORY_HOTPLUG = yes; + MEMORY_HOTREMOVE = yes; + HOTPLUG_CPU = yes; + MIGRATION = yes; + SPARSEMEM = yes; + + # Bump the maximum number of CPUs to support systems like EC2 x1.* + # instances and Xeon Phi. + NR_CPUS = freeform "384"; + + # Enable LEDS to display link-state status of PHY devices (i.e. eth lan/wan interfaces) + LED_TRIGGER_PHY = yes; + } + // + lib.optionalAttrs + (stdenv.hostPlatform.system == "armv7l-linux" || stdenv.hostPlatform.system == "aarch64-linux") + { + # Enables support for the Allwinner Display Engine 2.0 + SUN8I_DE2_CCU = yes; + + # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647 + CRYPTO_AEGIS128_SIMD = no; + + # Distros should configure the default as a kernel option. + # We previously defined it on the kernel command line as cma= + # The kernel command line will override a platform-specific configuration from its device tree. + # https://github.com/torvalds/linux/blob/856deb866d16e29bd65952e0289066f6078af773/kernel/dma/contiguous.c#L35-L44 + CMA_SIZE_MBYTES = freeform "32"; + + # Add debug interfaces for CMA + CMA_DEBUGFS = yes; + CMA_SYSFS = yes; + + # https://docs.kernel.org/arch/arm/mem_alignment.html + # tldr: + # when buggy userspace code emits illegal misaligned LDM, STM, + # LDRD and STRDs, the instructions trap, are caught, and then + # are emulated by the kernel. + # + # This is the default on armv7l, anyway, but it is explicitly + # enabled here for the sake of providing context for the + # aarch64 compat option which follows. + ALIGNMENT_TRAP = lib.mkIf (stdenv.hostPlatform.system == "armv7l-linux") yes; + + # https://patchwork.kernel.org/project/linux-arm-kernel/patch/20220701135322.3025321-1-ardb@kernel.org/ + # tldr: + # when encountering alignment faults under aarch64, this option + # makes the kernel attempt to handle the fault by doing the + # same style of misaligned emulation that is performed under + # armv7l (see above option). + # + # This minimizes the potential for aarch32 userspace to behave + # differently when run under aarch64 kernels compared to when + # it is run under an aarch32 kernel. + COMPAT_ALIGNMENT_FIXUPS = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") ( + whenAtLeast "6.1" yes + ); + + # requirement for CP15_BARRIER_EMULATION + ARMV8_DEPRECATED = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") yes; + # emulate a specific armv7 instruction that was removed from armv8 + # this instruction is required to build a native armv7 nodejs on an + # aarch64-linux builder, for example + CP15_BARRIER_EMULATION = lib.mkIf (stdenv.hostPlatform.system == "aarch64-linux") yes; + } + // + lib.optionalAttrs + (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") + { + # Required for various hardware features on Chrome OS devices + CHROME_PLATFORMS = yes; + CHROMEOS_TBMC = module; + + CROS_EC = module; + + CROS_EC_I2C = module; + CROS_EC_SPI = module; + CROS_EC_LPC = module; + CROS_EC_ISHTP = module; + + CROS_KBD_LED_BACKLIGHT = module; + + TCG_TIS_SPI_CR50 = whenAtLeast "5.5" yes; + } + // lib.optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { + CHROMEOS_LAPTOP = module; + CHROMEOS_PSTORE = module; + + # Enable x86 resource control + X86_CPU_RESCTRL = whenAtLeast "5.0" yes; + + # Enable TSX on CPUs where it's not vulnerable + X86_INTEL_TSX_MODE_AUTO = yes; + + # Enable AMD Wi-Fi RF band mitigations + # See https://cateee.net/lkddb/web-lkddb/AMD_WBRF.html + AMD_WBRF = whenAtLeast "6.8" yes; + + # Enable Intel Turbo Boost Max 3.0 + INTEL_TURBO_MAX_3 = yes; + }; accel = { # Build DRM accelerator devices @@ -1352,4 +1423,4 @@ let }; }; in - flattenKConf options +flattenKConf options diff --git a/pkgs/os-specific/linux/kernel/gpio-utils.nix b/pkgs/os-specific/linux/kernel/gpio-utils.nix index 88b8efbe540c2..75bdf6434e6a6 100644 --- a/pkgs/os-specific/linux/kernel/gpio-utils.nix +++ b/pkgs/os-specific/linux/kernel/gpio-utils.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, linux }: +{ + lib, + stdenv, + linux, +}: stdenv.mkDerivation { pname = "gpio-utils"; @@ -11,7 +15,11 @@ stdenv.mkDerivation { ''; separateDebugInfo = true; - installFlags = [ "install" "DESTDIR=$(out)" "bindir=/bin" ]; + installFlags = [ + "install" + "DESTDIR=$(out)" + "bindir=/bin" + ]; meta = with lib; { description = "Linux tools to inspect the gpiochip interface"; diff --git a/pkgs/os-specific/linux/kernel/hardened/config.nix b/pkgs/os-specific/linux/kernel/hardened/config.nix index f655f85f490e2..b3c1d8e45bea4 100644 --- a/pkgs/os-specific/linux/kernel/hardened/config.nix +++ b/pkgs/os-specific/linux/kernel/hardened/config.nix @@ -8,7 +8,11 @@ # # See also -{ stdenv, lib, version }: +{ + stdenv, + lib, + version, +}: with lib.kernel; with (lib.kernel.whenHelpers version); @@ -25,15 +29,15 @@ assert (lib.versionAtLeast version "4.9"); # We set SECURITY_WRITABLE_HOOKS n primarily for documentation purposes; the # config builder fails to detect that it has indeed been unset. SECURITY_SELINUX_DISABLE = whenOlder "6.4" no; # On 6.4: error: unused option: SECURITY_SELINUX_DISABLE - SECURITY_WRITABLE_HOOKS = option no; + SECURITY_WRITABLE_HOOKS = option no; # Perform additional validation of commonly targeted structures. - DEBUG_CREDENTIALS = whenOlder "6.6" yes; - DEBUG_NOTIFIERS = yes; - DEBUG_PI_LIST = whenOlder "5.2" yes; # doesn't BUG() - DEBUG_PLIST = whenAtLeast "5.2" yes; - DEBUG_SG = yes; - DEBUG_VIRTUAL = yes; + DEBUG_CREDENTIALS = whenOlder "6.6" yes; + DEBUG_NOTIFIERS = yes; + DEBUG_PI_LIST = whenOlder "5.2" yes; # doesn't BUG() + DEBUG_PLIST = whenAtLeast "5.2" yes; + DEBUG_SG = yes; + DEBUG_VIRTUAL = yes; SCHED_STACK_END_CHECK = yes; REFCOUNT_FULL = whenOlder "5.4.208" yes; @@ -47,10 +51,10 @@ assert (lib.versionAtLeast version "4.9"); # Wipe higher-level memory allocations on free() with page_poison=1 PAGE_POISONING_NO_SANITY = whenOlder "5.11" yes; - PAGE_POISONING_ZERO = whenOlder "5.11" yes; + PAGE_POISONING_ZERO = whenOlder "5.11" yes; # Enable init_on_free by default - INIT_ON_FREE_DEFAULT_ON = whenAtLeast "5.3" yes; + INIT_ON_FREE_DEFAULT_ON = whenAtLeast "5.3" yes; # Wipe all caller-used registers on exit from a function ZERO_CALL_USED_REGS = whenAtLeast "5.15" yes; @@ -74,7 +78,7 @@ assert (lib.versionAtLeast version "4.9"); # Runtime undefined behaviour checks # https://www.kernel.org/doc/html/latest/dev-tools/ubsan.html # https://developers.redhat.com/blog/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan - UBSAN = yes; + UBSAN = yes; UBSAN_TRAP = whenAtLeast "5.7" yes; UBSAN_BOUNDS = whenAtLeast "5.7" yes; UBSAN_SANITIZE_ALL = whenOlder "6.9" yes; @@ -87,23 +91,23 @@ assert (lib.versionAtLeast version "4.9"); # Disable various dangerous settings ACPI_CUSTOM_METHOD = whenOlder "6.9" no; # Allows writing directly to physical memory - PROC_KCORE = no; # Exposes kernel text image layout - INET_DIAG = no; # Has been used for heap based attacks in the past + PROC_KCORE = no; # Exposes kernel text image layout + INET_DIAG = no; # Has been used for heap based attacks in the past # INET_DIAG=n causes the following options to not exist anymore, but since they are defined in common-config.nix, # make them optional INET_DIAG_DESTROY = option no; - INET_RAW_DIAG = option no; - INET_TCP_DIAG = option no; - INET_UDP_DIAG = option no; - INET_MPTCP_DIAG = option no; + INET_RAW_DIAG = option no; + INET_TCP_DIAG = option no; + INET_UDP_DIAG = option no; + INET_MPTCP_DIAG = option no; # Use -fstack-protector-strong (gcc 4.9+) for best stack canary coverage. CC_STACKPROTECTOR_REGULAR = lib.mkForce (whenOlder "4.18" no); - CC_STACKPROTECTOR_STRONG = whenOlder "4.18" yes; + CC_STACKPROTECTOR_STRONG = whenOlder "4.18" yes; # CONFIG_DEVMEM=n causes these to not exist anymore. - STRICT_DEVMEM = option no; + STRICT_DEVMEM = option no; IO_STRICT_DEVMEM = option no; # stricter IOMMU TLB invalidation diff --git a/pkgs/os-specific/linux/kernel/htmldocs.nix b/pkgs/os-specific/linux/kernel/htmldocs.nix index b811cf12bb01d..f6c02fc5ea7ef 100644 --- a/pkgs/os-specific/linux/kernel/htmldocs.nix +++ b/pkgs/os-specific/linux/kernel/htmldocs.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, graphviz -, imagemagick -, linux_latest -, makeFontsConf -, perl -, python3 -, which +{ + lib, + stdenv, + graphviz, + imagemagick, + linux_latest, + makeFontsConf, + perl, + python3, + which, }: stdenv.mkDerivation { diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index e8df0375b0388..ca67dc436b55b 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,11 +1,15 @@ -{ stdenv, lib, fetchsvn, linux -, scripts ? fetchsvn { +{ + stdenv, + lib, + fetchsvn, + linux, + scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; rev = "19675"; sha256 = "sha256-vlWY3e9uf+a+I003CjFFw9e3suY059KlIqDf86LGmHM="; - } -, ... -} @ args: + }, + ... +}@args: let majorMinor = lib.versions.majorMinor linux.modDirVersion; @@ -15,11 +19,9 @@ let patch = lib.versions.patch linux.modDirVersion; # See http://linux-libre.fsfla.org/pub/linux-libre/releases - versionPrefix = if linux.kernelOlder "5.14" then - "gnu1" - else - "gnu"; -in linux.override { + versionPrefix = if linux.kernelOlder "5.14" then "gnu1" else "gnu"; +in +linux.override { argsOverride = { modDirVersion = "${linux.modDirVersion}-${versionPrefix}"; isLibre = true; @@ -45,4 +47,5 @@ in linux.override { maintainers = with lib.maintainers; [ qyliss ]; }; -} // (args.argsOverride or { }) +} +// (args.argsOverride or { }) diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index 4c701e5556a99..247da436949c9 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -1,74 +1,106 @@ -{ stdenv, lib, buildPackages, fetchFromGitHub, fetchpatch, perl, buildLinux, rpiVersion, ... } @ args: +{ + stdenv, + lib, + buildPackages, + fetchFromGitHub, + fetchpatch, + perl, + buildLinux, + rpiVersion, + ... +}@args: let # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this modDirVersion = "6.6.51"; tag = "stable_20241008"; in -lib.overrideDerivation (buildLinux (args // { - version = "${modDirVersion}-${tag}"; - inherit modDirVersion; - pname = "linux-rpi"; +lib.overrideDerivation + (buildLinux ( + args + // { + version = "${modDirVersion}-${tag}"; + inherit modDirVersion; + pname = "linux-rpi"; - src = fetchFromGitHub { - owner = "raspberrypi"; - repo = "linux"; - rev = tag; - hash = "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U="; - }; + src = fetchFromGitHub { + owner = "raspberrypi"; + repo = "linux"; + rev = tag; + hash = "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U="; + }; - defconfig = { - "1" = "bcmrpi_defconfig"; - "2" = "bcm2709_defconfig"; - "3" = if stdenv.hostPlatform.isAarch64 then "bcmrpi3_defconfig" else "bcm2709_defconfig"; - "4" = "bcm2711_defconfig"; - }.${toString rpiVersion}; + defconfig = + { + "1" = "bcmrpi_defconfig"; + "2" = "bcm2709_defconfig"; + "3" = if stdenv.hostPlatform.isAarch64 then "bcmrpi3_defconfig" else "bcm2709_defconfig"; + "4" = "bcm2711_defconfig"; + } + .${toString rpiVersion}; - features = { - efiBootStub = false; - } // (args.features or {}); + features = { + efiBootStub = false; + } // (args.features or { }); - extraMeta = if (rpiVersion < 3) then { - platforms = with lib.platforms; arm; - hydraPlatforms = []; - } else { - platforms = with lib.platforms; arm ++ aarch64; - hydraPlatforms = [ "aarch64-linux" ]; - }; -} // (args.argsOverride or {}))) (oldAttrs: { - postConfigure = '' - # The v7 defconfig has this set to '-v7' which screws up our modDirVersion. - sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' - sed -i $buildRoot/include/config/auto.conf -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' - ''; - - # Make copies of the DTBs named after the upstream names so that U-Boot finds them. - # This is ugly as heck, but I don't know a better solution so far. - postFixup = '' - dtbDir=${if stdenv.hostPlatform.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"} - rm $dtbDir/bcm283*.dtb - copyDTB() { - cp -v "$dtbDir/$1" "$dtbDir/$2" + extraMeta = + if (rpiVersion < 3) then + { + platforms = with lib.platforms; arm; + hydraPlatforms = [ ]; + } + else + { + platforms = with lib.platforms; arm ++ aarch64; + hydraPlatforms = [ "aarch64-linux" ]; + }; } - '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) '' - copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero.dtb - copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb - copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb - copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb - copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb - copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus.dtb - copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb - copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb - copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb - '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux"]) '' - copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb - '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) '' - copyDTB bcm2710-rpi-zero-2.dtb bcm2837-rpi-zero-2.dtb - copyDTB bcm2710-rpi-zero-2-w.dtb bcm2837-rpi-zero-2-w.dtb - copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb - copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-a-plus.dtb - copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb - copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb - copyDTB bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb - ''; -}) + // (args.argsOverride or { }) + )) + (oldAttrs: { + postConfigure = '' + # The v7 defconfig has this set to '-v7' which screws up our modDirVersion. + sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' + sed -i $buildRoot/include/config/auto.conf -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' + ''; + + # Make copies of the DTBs named after the upstream names so that U-Boot finds them. + # This is ugly as heck, but I don't know a better solution so far. + postFixup = + '' + dtbDir=${if stdenv.hostPlatform.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"} + rm $dtbDir/bcm283*.dtb + copyDTB() { + cp -v "$dtbDir/$1" "$dtbDir/$2" + } + '' + + lib.optionalString (lib.elem stdenv.hostPlatform.system [ "armv6l-linux" ]) '' + copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero.dtb + copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb + copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb + copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb + copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb + copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus.dtb + copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb + copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb + copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb + '' + + lib.optionalString (lib.elem stdenv.hostPlatform.system [ "armv7l-linux" ]) '' + copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb + '' + + + lib.optionalString + (lib.elem stdenv.hostPlatform.system [ + "armv7l-linux" + "aarch64-linux" + ]) + '' + copyDTB bcm2710-rpi-zero-2.dtb bcm2837-rpi-zero-2.dtb + copyDTB bcm2710-rpi-zero-2-w.dtb bcm2837-rpi-zero-2-w.dtb + copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb + copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-a-plus.dtb + copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb + copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb + copyDTB bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb + ''; + }) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix index be797faf8c10f..b8d656b6c1433 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix @@ -1,45 +1,61 @@ -{ lib, buildLinux, fetchurl -, kernelPatches ? [ ] -, structuredExtraConfig ? {} -, extraMeta ? {} -, argsOverride ? {} -, ... } @ args: +{ + lib, + buildLinux, + fetchurl, + kernelPatches ? [ ], + structuredExtraConfig ? { }, + extraMeta ? { }, + argsOverride ? { }, + ... +}@args: let version = "5.10.229-rt121"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; -in buildLinux (args // { - inherit version; - pname = "linux-rt"; +in +buildLinux ( + args + // { + inherit version; + pname = "linux-rt"; - # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. - modDirVersion = lib.versions.pad 3 version; + # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. + modDirVersion = lib.versions.pad 3 version; - src = fetchurl { - url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "1q6di05rk4bsy91r03zw6vz14zzcpvv25dv7gw0yz1gzpgkbb9h8"; - }; - - kernelPatches = let rt-patch = { - name = "rt"; - patch = fetchurl { - url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "0bjmnk2nx50spyad2fq1l67jwp63yzxc7s39mx8sih6hm21d8y77"; + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; + sha256 = "1q6di05rk4bsy91r03zw6vz14zzcpvv25dv7gw0yz1gzpgkbb9h8"; }; - }; in [ rt-patch ] ++ kernelPatches; - structuredExtraConfig = with lib.kernel; { - PREEMPT_RT = yes; - # Fix error: unused option: PREEMPT_RT. - EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) - # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). - PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. - # Fix error: unused option: RT_GROUP_SCHED. - RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. - } // structuredExtraConfig; + kernelPatches = + let + rt-patch = { + name = "rt"; + patch = fetchurl { + url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; + sha256 = "0bjmnk2nx50spyad2fq1l67jwp63yzxc7s39mx8sih6hm21d8y77"; + }; + }; + in + [ rt-patch ] ++ kernelPatches; + + structuredExtraConfig = + with lib.kernel; + { + PREEMPT_RT = yes; + # Fix error: unused option: PREEMPT_RT. + EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) + # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). + PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. + # Fix error: unused option: RT_GROUP_SCHED. + RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. + } + // structuredExtraConfig; - extraMeta = extraMeta // { - inherit branch; - }; -} // argsOverride) + extraMeta = extraMeta // { + inherit branch; + }; + } + // argsOverride +) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix index bd48959b2b23c..e6f1fc1a2378f 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix @@ -1,46 +1,65 @@ -{ lib, buildLinux, fetchurl -, kernelPatches ? [ ] -, structuredExtraConfig ? {} -, extraMeta ? {} -, argsOverride ? {} -, ... } @ args: +{ + lib, + buildLinux, + fetchurl, + kernelPatches ? [ ], + structuredExtraConfig ? { }, + extraMeta ? { }, + argsOverride ? { }, + ... +}@args: let version = "5.15.170-rt81"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; -in buildLinux (args // { - inherit version; - pname = "linux-rt"; +in +buildLinux ( + args + // { + inherit version; + pname = "linux-rt"; - # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. - modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version - else lib.replaceStrings ["-"] [".0-"] version; + # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. + modDirVersion = + if (builtins.match "[^.]*[.][^.]*-.*" version) == null then + version + else + lib.replaceStrings [ "-" ] [ ".0-" ] version; - src = fetchurl { - url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "1ag7fvixhdcyxv6rqfsvq2wh02g64r4rx8izvfb33nfnld2nangx"; - }; - - kernelPatches = let rt-patch = { - name = "rt"; - patch = fetchurl { - url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "0vr6c93dr0gcszx0hfnfhqbg5flkvxmkpf2hw13gi4rg8x4bx5ll"; + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; + sha256 = "1ag7fvixhdcyxv6rqfsvq2wh02g64r4rx8izvfb33nfnld2nangx"; }; - }; in [ rt-patch ] ++ kernelPatches; - structuredExtraConfig = with lib.kernel; { - PREEMPT_RT = yes; - # Fix error: unused option: PREEMPT_RT. - EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) - # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). - PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. - # Fix error: unused option: RT_GROUP_SCHED. - RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. - } // structuredExtraConfig; + kernelPatches = + let + rt-patch = { + name = "rt"; + patch = fetchurl { + url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; + sha256 = "0vr6c93dr0gcszx0hfnfhqbg5flkvxmkpf2hw13gi4rg8x4bx5ll"; + }; + }; + in + [ rt-patch ] ++ kernelPatches; + + structuredExtraConfig = + with lib.kernel; + { + PREEMPT_RT = yes; + # Fix error: unused option: PREEMPT_RT. + EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) + # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). + PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. + # Fix error: unused option: RT_GROUP_SCHED. + RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. + } + // structuredExtraConfig; - extraMeta = extraMeta // { - inherit branch; - }; -} // argsOverride) + extraMeta = extraMeta // { + inherit branch; + }; + } + // argsOverride +) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix index 4fa02ec870805..69dc120a955e4 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix @@ -1,42 +1,58 @@ -{ lib, buildLinux, fetchurl -, kernelPatches ? [ ] -, structuredExtraConfig ? {} -, extraMeta ? {} -, argsOverride ? {} -, ... } @ args: +{ + lib, + buildLinux, + fetchurl, + kernelPatches ? [ ], + structuredExtraConfig ? { }, + extraMeta ? { }, + argsOverride ? { }, + ... +}@args: let version = "5.4.285-rt93"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; -in buildLinux (args // { - inherit version; - pname = "linux-rt"; +in +buildLinux ( + args + // { + inherit version; + pname = "linux-rt"; - src = fetchurl { - url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "1722sc365ajxmqyr4r49yp73mzdckay3rx5c2gx29xzny9zc6cmy"; - }; - - kernelPatches = let rt-patch = { - name = "rt"; - patch = fetchurl { - url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "1vj7b47cb7a94xmkdcfbqhx44g3ivqd7fif3vg256ikqlid8cl4q"; + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; + sha256 = "1722sc365ajxmqyr4r49yp73mzdckay3rx5c2gx29xzny9zc6cmy"; }; - }; in [ rt-patch ] ++ kernelPatches; - structuredExtraConfig = with lib.kernel; { - PREEMPT_RT = yes; - # Fix error: unused option: PREEMPT_RT. - EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) - # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). - PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. - # Fix error: unused option: RT_GROUP_SCHED. - RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. - } // structuredExtraConfig; + kernelPatches = + let + rt-patch = { + name = "rt"; + patch = fetchurl { + url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; + sha256 = "1vj7b47cb7a94xmkdcfbqhx44g3ivqd7fif3vg256ikqlid8cl4q"; + }; + }; + in + [ rt-patch ] ++ kernelPatches; + + structuredExtraConfig = + with lib.kernel; + { + PREEMPT_RT = yes; + # Fix error: unused option: PREEMPT_RT. + EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) + # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). + PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. + # Fix error: unused option: RT_GROUP_SCHED. + RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. + } + // structuredExtraConfig; - extraMeta = extraMeta // { - inherit branch; - }; -} // argsOverride) + extraMeta = extraMeta // { + inherit branch; + }; + } + // argsOverride +) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix index 4514adffd4a96..10d987dd3fd4a 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix @@ -1,46 +1,65 @@ -{ lib, buildLinux, fetchurl -, kernelPatches ? [ ] -, structuredExtraConfig ? {} -, extraMeta ? {} -, argsOverride ? {} -, ... } @ args: +{ + lib, + buildLinux, + fetchurl, + kernelPatches ? [ ], + structuredExtraConfig ? { }, + extraMeta ? { }, + argsOverride ? { }, + ... +}@args: let version = "6.1.119-rt45"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; -in buildLinux (args // { - inherit version; - pname = "linux-rt"; +in +buildLinux ( + args + // { + inherit version; + pname = "linux-rt"; - # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. - modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version - else lib.replaceStrings ["-"] [".0-"] version; + # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. + modDirVersion = + if (builtins.match "[^.]*[.][^.]*-.*" version) == null then + version + else + lib.replaceStrings [ "-" ] [ ".0-" ] version; - src = fetchurl { - url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz"; - sha256 = "0y1j8bz99d5vkxklzpwhns5r77lpz2prszf6whfahi58s0wszkdf"; - }; - - kernelPatches = let rt-patch = { - name = "rt"; - patch = fetchurl { - url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "0a7qga7xadp9ghhzz4iifdhap7vm288b789mv0xr9y8gnnk7cc9m"; + src = fetchurl { + url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz"; + sha256 = "0y1j8bz99d5vkxklzpwhns5r77lpz2prszf6whfahi58s0wszkdf"; }; - }; in [ rt-patch ] ++ kernelPatches; - structuredExtraConfig = with lib.kernel; { - PREEMPT_RT = yes; - # Fix error: unused option: PREEMPT_RT. - EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) - # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). - PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. - # Fix error: unused option: RT_GROUP_SCHED. - RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. - } // structuredExtraConfig; + kernelPatches = + let + rt-patch = { + name = "rt"; + patch = fetchurl { + url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; + sha256 = "0a7qga7xadp9ghhzz4iifdhap7vm288b789mv0xr9y8gnnk7cc9m"; + }; + }; + in + [ rt-patch ] ++ kernelPatches; + + structuredExtraConfig = + with lib.kernel; + { + PREEMPT_RT = yes; + # Fix error: unused option: PREEMPT_RT. + EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) + # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). + PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. + # Fix error: unused option: RT_GROUP_SCHED. + RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. + } + // structuredExtraConfig; - extraMeta = extraMeta // { - inherit branch; - }; -} // argsOverride) + extraMeta = extraMeta // { + inherit branch; + }; + } + // argsOverride +) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix index 3f5796cf627f7..7af5f9a39c6ca 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix @@ -1,46 +1,65 @@ -{ lib, buildLinux, fetchurl -, kernelPatches ? [ ] -, structuredExtraConfig ? {} -, extraMeta ? {} -, argsOverride ? {} -, ... } @ args: +{ + lib, + buildLinux, + fetchurl, + kernelPatches ? [ ], + structuredExtraConfig ? { }, + extraMeta ? { }, + argsOverride ? { }, + ... +}@args: let version = "6.6.63-rt46"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; -in buildLinux (args // { - inherit version; - pname = "linux-rt"; +in +buildLinux ( + args + // { + inherit version; + pname = "linux-rt"; - # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. - modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version - else lib.replaceStrings ["-"] [".0-"] version; + # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. + modDirVersion = + if (builtins.match "[^.]*[.][^.]*-.*" version) == null then + version + else + lib.replaceStrings [ "-" ] [ ".0-" ] version; - src = fetchurl { - url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz"; - sha256 = "0d8q0vwv3lcix3wiq2n53rir3h298flg2l0ghpify4rlh2s4l1fi"; - }; - - kernelPatches = let rt-patch = { - name = "rt"; - patch = fetchurl { - url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "1p0kbkz21m2y9yjcyhbrnnnw9x885l3zamykjkmgxgg3s8awg025"; + src = fetchurl { + url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz"; + sha256 = "0d8q0vwv3lcix3wiq2n53rir3h298flg2l0ghpify4rlh2s4l1fi"; }; - }; in [ rt-patch ] ++ kernelPatches; - structuredExtraConfig = with lib.kernel; { - PREEMPT_RT = yes; - # Fix error: unused option: PREEMPT_RT. - EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) - # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). - PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. - # Fix error: unused option: RT_GROUP_SCHED. - RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. - } // structuredExtraConfig; + kernelPatches = + let + rt-patch = { + name = "rt"; + patch = fetchurl { + url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; + sha256 = "1p0kbkz21m2y9yjcyhbrnnnw9x885l3zamykjkmgxgg3s8awg025"; + }; + }; + in + [ rt-patch ] ++ kernelPatches; + + structuredExtraConfig = + with lib.kernel; + { + PREEMPT_RT = yes; + # Fix error: unused option: PREEMPT_RT. + EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) + # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). + PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. + # Fix error: unused option: RT_GROUP_SCHED. + RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. + } + // structuredExtraConfig; - extraMeta = extraMeta // { - inherit branch; - }; -} // argsOverride) + extraMeta = extraMeta // { + inherit branch; + }; + } + // argsOverride +) diff --git a/pkgs/os-specific/linux/kernel/mainline.nix b/pkgs/os-specific/linux/kernel/mainline.nix index 862ba8e8ddcce..41c5a0218facd 100644 --- a/pkgs/os-specific/linux/kernel/mainline.nix +++ b/pkgs/os-specific/linux/kernel/mainline.nix @@ -2,7 +2,14 @@ let allKernels = builtins.fromJSON (builtins.readFile ./kernels-org.json); in -{ branch, lib, fetchurl, fetchzip, buildLinux, ... } @ args: +{ + branch, + lib, + fetchurl, + fetchzip, + buildLinux, + ... +}@args: let thisKernel = allKernels.${branch}; @@ -10,21 +17,25 @@ let src = # testing kernels are a special case because they don't have tarballs on the CDN - if branch == "testing" - then fetchzip { + if branch == "testing" then + fetchzip { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; inherit (thisKernel) hash; } - else fetchurl { + else + fetchurl { url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz"; inherit (thisKernel) hash; }; - args' = (builtins.removeAttrs args ["branch"]) // { - inherit src version; + args' = + (builtins.removeAttrs args [ "branch" ]) + // { + inherit src version; - modDirVersion = lib.versions.pad 3 version; - extraMeta.branch = branch; - } // (args.argsOverride or {}); + modDirVersion = lib.versions.pad 3 version; + extraMeta.branch = branch; + } + // (args.argsOverride or { }); in buildLinux args' diff --git a/pkgs/os-specific/linux/kernel/mptcp-config.nix b/pkgs/os-specific/linux/kernel/mptcp-config.nix index 59b11167ac226..1fb5c3fe0c4d1 100644 --- a/pkgs/os-specific/linux/kernel/mptcp-config.nix +++ b/pkgs/os-specific/linux/kernel/mptcp-config.nix @@ -1,28 +1,28 @@ { lib }: with lib.kernel; { - # DRM_AMDGPU = yes; + # DRM_AMDGPU = yes; - IPV6 = yes; - MPTCP = yes; - IP_MULTIPLE_TABLES = yes; + IPV6 = yes; + MPTCP = yes; + IP_MULTIPLE_TABLES = yes; - # Enable advanced path-managers... - MPTCP_PM_ADVANCED = yes; - MPTCP_FULLMESH = yes; - MPTCP_NDIFFPORTS = yes; - # ... but use none by default. - # The default is safer if source policy routing is not setup. - DEFAULT_DUMMY = yes; - DEFAULT_MPTCP_PM.freeform = "default"; + # Enable advanced path-managers... + MPTCP_PM_ADVANCED = yes; + MPTCP_FULLMESH = yes; + MPTCP_NDIFFPORTS = yes; + # ... but use none by default. + # The default is safer if source policy routing is not setup. + DEFAULT_DUMMY = yes; + DEFAULT_MPTCP_PM.freeform = "default"; - # MPTCP scheduler selection. - MPTCP_SCHED_ADVANCED = yes; - DEFAULT_MPTCP_SCHED.freeform = "default"; + # MPTCP scheduler selection. + MPTCP_SCHED_ADVANCED = yes; + DEFAULT_MPTCP_SCHED.freeform = "default"; - # Smarter TCP congestion controllers - TCP_CONG_LIA = module; - TCP_CONG_OLIA = module; - TCP_CONG_WVEGAS = module; - TCP_CONG_BALIA = module; + # Smarter TCP congestion controllers + TCP_CONG_LIA = module; + TCP_CONG_OLIA = module; + TCP_CONG_WVEGAS = module; + TCP_CONG_BALIA = module; } diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 9e15991dd635a..ddda525e70b0d 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -1,4 +1,8 @@ -{ lib, fetchpatch, fetchurl }: +{ + lib, + fetchpatch, + fetchurl, +}: { ath_regd_optional = rec { @@ -14,10 +18,10 @@ }; }; - bridge_stp_helper = - { name = "bridge-stp-helper"; - patch = ./bridge-stp-helper.patch; - }; + bridge_stp_helper = { + name = "bridge-stp-helper"; + patch = ./bridge-stp-helper.patch; + }; # Reverts the buggy commit causing https://bugzilla.kernel.org/show_bug.cgi?id=217802 dell_xps_regression = { @@ -29,32 +33,44 @@ }; }; - request_key_helper = - { name = "request-key-helper"; - patch = ./request-key-helper.patch; - }; + request_key_helper = { + name = "request-key-helper"; + patch = ./request-key-helper.patch; + }; - request_key_helper_updated = - { name = "request-key-helper-updated"; - patch = ./request-key-helper-updated.patch; - }; + request_key_helper_updated = { + name = "request-key-helper-updated"; + patch = ./request-key-helper-updated.patch; + }; - hardened = let - mkPatch = kernelVersion: { version, sha256, patch }: let src = patch; in { - name = lib.removeSuffix ".patch" src.name; - patch = fetchurl (lib.filterAttrs (k: v: k != "extra") src); - extra = src.extra; - inherit version sha256; - }; - patches = lib.importJSON ./hardened/patches.json; - in lib.mapAttrs mkPatch patches; + hardened = + let + mkPatch = + kernelVersion: + { + version, + sha256, + patch, + }: + let + src = patch; + in + { + name = lib.removeSuffix ".patch" src.name; + patch = fetchurl (lib.filterAttrs (k: v: k != "extra") src); + extra = src.extra; + inherit version sha256; + }; + patches = lib.importJSON ./hardened/patches.json; + in + lib.mapAttrs mkPatch patches; # Adapted for Linux 5.4 from: # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04896832c94aae4842100cafb8d3a73e1bed3a45 - rtl8761b_support = - { name = "rtl8761b-support"; - patch = ./rtl8761b-support.patch; - }; + rtl8761b_support = { + name = "rtl8761b-support"; + patch = ./rtl8761b-support.patch; + }; export-rt-sched-migrate = { name = "export-rt-sched-migrate"; diff --git a/pkgs/os-specific/linux/kernel/perf/default.nix b/pkgs/os-specific/linux/kernel/perf/default.nix index b1f1f4e203b23..b947a2650f2d7 100644 --- a/pkgs/os-specific/linux/kernel/perf/default.nix +++ b/pkgs/os-specific/linux/kernel/perf/default.nix @@ -1,43 +1,44 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, kernel -, elfutils -, python3 -, perl -, newt -, slang -, asciidoc -, xmlto -, makeWrapper -, docbook_xsl -, docbook_xml_dtd_45 -, libxslt -, flex -, bison -, pkg-config -, libunwind -, binutils-unwrapped -, libiberty -, audit -, libbfd -, libbfd_2_38 -, libopcodes -, libopcodes_2_38 -, libpfm -, libtraceevent -, openssl -, systemtap -, numactl -, zlib -, babeltrace -, withGtk ? false -, gtk2 -, withZstd ? true -, zstd -, withLibcap ? true -, libcap +{ + lib, + stdenv, + fetchurl, + fetchpatch, + kernel, + elfutils, + python3, + perl, + newt, + slang, + asciidoc, + xmlto, + makeWrapper, + docbook_xsl, + docbook_xml_dtd_45, + libxslt, + flex, + bison, + pkg-config, + libunwind, + binutils-unwrapped, + libiberty, + audit, + libbfd, + libbfd_2_38, + libopcodes, + libopcodes_2_38, + libpfm, + libtraceevent, + openssl, + systemtap, + numactl, + zlib, + babeltrace, + withGtk ? false, + gtk2, + withZstd ? true, + zstd, + withLibcap ? true, + libcap, }: let d3-flame-graph-templates = stdenv.mkDerivation rec { @@ -59,48 +60,61 @@ stdenv.mkDerivation { pname = "perf-linux"; inherit (kernel) version src; - patches = lib.optionals (lib.versionAtLeast kernel.version "5.10") [ - # fix wrong path to dmesg - ./fix-dmesg-path.diff - ] ++ lib.optionals (lib.versions.majorMinor kernel.version == "6.10") [ - (fetchpatch { - url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=0f0e1f44569061e3dc590cd0b8cb74d8fd53706b"; - hash = "sha256-9u/zhbsDgwOr4T4k9td/WJYRuSHIfbtfS+oNx8nbOlM="; - }) - (fetchpatch { - url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=366e17409f1f17ad872259ce4a4f8a92beb4c4ee"; - hash = "sha256-NZK1u40qvMwWcgkgJPGpEax2eMo9xHrCQxSYYOK0rbo="; - }) - (fetchpatch { - url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=1d302f626c2a23e4fd05bb810eff300e8f2174fd"; - hash = "sha256-KhCmof8LkyTcBBpfMEtolL3m3kmC5rukKzQvufVKCdI="; - }) - ]; - - postPatch = '' - # Linux scripts - patchShebangs scripts - patchShebangs tools/perf/check-headers.sh - '' + lib.optionalString (lib.versionAtLeast kernel.version "6.3") '' - # perf-specific scripts - patchShebangs tools/perf/pmu-events - '' + '' - cd tools/perf - - for x in util/build-id.c util/dso.c; do - substituteInPlace $x --replace /usr/lib/debug /run/current-system/sw/lib/debug - done - - '' + lib.optionalString (lib.versionAtLeast kernel.version "5.8") '' - substituteInPlace scripts/python/flamegraph.py \ - --replace "/usr/share/d3-flame-graph/d3-flamegraph-base.html" \ - "${d3-flame-graph-templates}/share/d3-flame-graph/d3-flamegraph-base.html" - - '' + lib.optionalString (lib.versionAtLeast kernel.version "6.0") '' - patchShebangs pmu-events/jevents.py - ''; + patches = + lib.optionals (lib.versionAtLeast kernel.version "5.10") [ + # fix wrong path to dmesg + ./fix-dmesg-path.diff + ] + ++ lib.optionals (lib.versions.majorMinor kernel.version == "6.10") [ + (fetchpatch { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=0f0e1f44569061e3dc590cd0b8cb74d8fd53706b"; + hash = "sha256-9u/zhbsDgwOr4T4k9td/WJYRuSHIfbtfS+oNx8nbOlM="; + }) + (fetchpatch { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=366e17409f1f17ad872259ce4a4f8a92beb4c4ee"; + hash = "sha256-NZK1u40qvMwWcgkgJPGpEax2eMo9xHrCQxSYYOK0rbo="; + }) + (fetchpatch { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=1d302f626c2a23e4fd05bb810eff300e8f2174fd"; + hash = "sha256-KhCmof8LkyTcBBpfMEtolL3m3kmC5rukKzQvufVKCdI="; + }) + ]; + + postPatch = + '' + # Linux scripts + patchShebangs scripts + patchShebangs tools/perf/check-headers.sh + '' + + lib.optionalString (lib.versionAtLeast kernel.version "6.3") '' + # perf-specific scripts + patchShebangs tools/perf/pmu-events + '' + + '' + cd tools/perf + + for x in util/build-id.c util/dso.c; do + substituteInPlace $x --replace /usr/lib/debug /run/current-system/sw/lib/debug + done + + '' + + lib.optionalString (lib.versionAtLeast kernel.version "5.8") '' + substituteInPlace scripts/python/flamegraph.py \ + --replace "/usr/share/d3-flame-graph/d3-flamegraph-base.html" \ + "${d3-flame-graph-templates}/share/d3-flame-graph/d3-flamegraph-base.html" + + '' + + lib.optionalString (lib.versionAtLeast kernel.version "6.0") '' + patchShebangs pmu-events/jevents.py + ''; - makeFlags = [ "prefix=$(out)" "WERROR=0" "ASCIIDOC8=1" ] ++ kernel.makeFlags + makeFlags = + [ + "prefix=$(out)" + "WERROR=0" + "ASCIIDOC8=1" + ] + ++ kernel.makeFlags ++ lib.optional (!withGtk) "NO_GTK2=1" ++ lib.optional (!withZstd) "NO_LIBZSTD=1" ++ lib.optional (!withLibcap) "NO_LIBCAP=1"; @@ -123,32 +137,46 @@ stdenv.mkDerivation { python3 ]; - buildInputs = [ - elfutils - newt - slang - libtraceevent - libunwind - zlib - openssl - numactl - python3 - perl - babeltrace - ] ++ (if (lib.versionAtLeast kernel.version "5.19") - then [ libbfd libopcodes ] - else [ libbfd_2_38 libopcodes_2_38 ]) - ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform systemtap) systemtap.stapBuild - ++ lib.optional withGtk gtk2 - ++ lib.optional withZstd zstd - ++ lib.optional withLibcap libcap - ++ lib.optional (lib.versionAtLeast kernel.version "5.8") libpfm - ++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3.pkgs.setuptools - # Python 3.12 no longer includes distutils, not needed for 6.0 and newer. - ++ lib.optional (!(lib.versionAtLeast kernel.version "6.0") && lib.versionAtLeast python3.version "3.12") [ - python3.pkgs.distutils - python3.pkgs.packaging - ]; + buildInputs = + [ + elfutils + newt + slang + libtraceevent + libunwind + zlib + openssl + numactl + python3 + perl + babeltrace + ] + ++ ( + if (lib.versionAtLeast kernel.version "5.19") then + [ + libbfd + libopcodes + ] + else + [ + libbfd_2_38 + libopcodes_2_38 + ] + ) + ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform systemtap) systemtap.stapBuild + ++ lib.optional withGtk gtk2 + ++ lib.optional withZstd zstd + ++ lib.optional withLibcap libcap + ++ lib.optional (lib.versionAtLeast kernel.version "5.8") libpfm + ++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3.pkgs.setuptools + # Python 3.12 no longer includes distutils, not needed for 6.0 and newer. + ++ + lib.optional + (!(lib.versionAtLeast kernel.version "6.0") && lib.versionAtLeast python3.version "3.12") + [ + python3.pkgs.distutils + python3.pkgs.packaging + ]; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=cpp" @@ -159,7 +187,10 @@ stdenv.mkDerivation { doCheck = false; # requires "sparse" - installTargets = [ "install" "install-man" ]; + installTargets = [ + "install" + "install-man" + ]; # TODO: Add completions based on perf-completion.sh postInstall = '' @@ -174,7 +205,12 @@ stdenv.mkDerivation { # The embedded Python interpreter will search PATH to calculate the Python path configuration(Should be fixed by upstream). # Add python.interpreter to PATH for now. wrapProgram $out/bin/perf \ - --prefix PATH : ${lib.makeBinPath [ binutils-unwrapped python3 ]} + --prefix PATH : ${ + lib.makeBinPath [ + binutils-unwrapped + python3 + ] + } ''; meta = with lib; { diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index cf6d71ef6528f..9a5b34e742ad2 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -1,125 +1,153 @@ -{ lib, stdenv, fetchFromGitHub, buildLinux, variant, ... } @ args: +{ + lib, + stdenv, + fetchFromGitHub, + buildLinux, + variant, + ... +}@args: let # comments with variant added for update script variants = { # ./update-zen.py zen zen = { - version = "6.12.2"; #zen - suffix = "zen1"; #zen - sha256 = "0a6anmfm6495j6lwlywr62ghpwdvbdn54bl5baya5jz7vfqc1ghj"; #zen + version = "6.12.2"; # zen + suffix = "zen1"; # zen + sha256 = "0a6anmfm6495j6lwlywr62ghpwdvbdn54bl5baya5jz7vfqc1ghj"; # zen isLqx = false; }; # ./update-zen.py lqx lqx = { - version = "6.12.2"; #lqx - suffix = "lqx3"; #lqx - sha256 = "18ibc0dz70vxb61mzdhbhbjg0kfxgcsrl3zdki0cqlhcvfxwk19h"; #lqx + version = "6.12.2"; # lqx + suffix = "lqx3"; # lqx + sha256 = "18ibc0dz70vxb61mzdhbhbjg0kfxgcsrl3zdki0cqlhcvfxwk19h"; # lqx isLqx = true; }; }; - zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { - inherit version; - pname = "linux-${if isLqx then "lqx" else "zen"}"; - modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; - isZen = true; - - src = fetchFromGitHub { - owner = "zen-kernel"; - repo = "zen-kernel"; - rev = "v${version}-${suffix}"; - inherit sha256; - }; - - # This is based on the following sources: - # - zen: https://gitlab.archlinux.org/archlinux/packaging/packages/linux-zen/-/blob/main/config - # - lqx: https://github.com/damentz/liquorix-package/blob/6.8/master/linux-liquorix/debian/config/kernelarch-x86/config-arch-64 - # - Liquorix features: https://liquorix.net/ - # The list below is not exhaustive, so the kernels probably doesn't match - # the upstream, but should bring most of the improvements that will be - # expected by users - structuredExtraConfig = with lib.kernel; { - # Zen Interactive tuning - ZEN_INTERACTIVE = yes; - - # FQ-Codel Packet Scheduling - NET_SCH_DEFAULT = yes; - DEFAULT_FQ_CODEL = yes; - - # Preempt (low-latency) - PREEMPT = lib.mkOverride 60 yes; - PREEMPT_VOLUNTARY = lib.mkOverride 60 no; - - # Preemptible tree-based hierarchical RCU - TREE_RCU = yes; - PREEMPT_RCU = yes; - RCU_EXPERT = yes; - TREE_SRCU = yes; - TASKS_RCU_GENERIC = yes; - TASKS_RCU = yes; - TASKS_RUDE_RCU = yes; - TASKS_TRACE_RCU = yes; - RCU_STALL_COMMON = yes; - RCU_NEED_SEGCBLIST = yes; - RCU_FANOUT = freeform "64"; - RCU_FANOUT_LEAF = freeform "16"; - RCU_BOOST = yes; - RCU_BOOST_DELAY = option (freeform "500"); - RCU_NOCB_CPU = yes; - RCU_LAZY = yes; - RCU_DOUBLE_CHECK_CB_TIME = yes; - - # BFQ I/O scheduler - IOSCHED_BFQ = lib.mkOverride 60 yes; - - # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. - FUTEX = yes; - FUTEX_PI = yes; - - # NT synchronization primitive emulation - NTSYNC = yes; - - # Preemptive Full Tickless Kernel at 1000Hz - HZ = freeform "1000"; - HZ_1000 = yes; - - } // lib.optionalAttrs (isLqx) { - # Google's BBRv3 TCP congestion Control - TCP_CONG_BBR = yes; - DEFAULT_BBR = yes; - - # PDS Process Scheduler - SCHED_ALT = yes; - SCHED_PDS = yes; - - # https://github.com/damentz/liquorix-package/commit/a7055b936c0f4edb8f6afd5263fe1d2f8a5cd877 - RCU_BOOST = no; - RCU_LAZY = lib.mkOverride 60 no; - - # Swap storage is compressed with LZ4 using zswap - ZSWAP_COMPRESSOR_DEFAULT_LZ4 = lib.mkOptionDefault yes; - ZSWAP_COMPRESSOR_DEFAULT_ZSTD = lib.mkDefault no; - - # Fix error: unused option: XXX. - CFS_BANDWIDTH = lib.mkForce (option no); - PSI = lib.mkForce (option no); - RT_GROUP_SCHED = lib.mkForce (option no); - SCHED_AUTOGROUP = lib.mkForce (option no); - SCHED_CORE = lib.mkForce (option no); - UCLAMP_TASK = lib.mkForce (option no); - UCLAMP_TASK_GROUP = lib.mkForce (option no); - }; - - passthru.updateScript = [ ./update-zen.py (if isLqx then "lqx" else "zen") ]; - - extraMeta = { - branch = lib.versions.majorMinor version + "/master"; - maintainers = with lib.maintainers; [ thiagokokada jerrysm64 ]; - description = "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads." + - lib.optionalString isLqx " (Same as linux_zen, but less aggressive release schedule and additional extra config)"; - broken = stdenv.hostPlatform.isAarch64; - }; - - } // (args.argsOverride or { })); + zenKernelsFor = + { + version, + suffix, + sha256, + isLqx, + }: + buildLinux ( + args + // { + inherit version; + pname = "linux-${if isLqx then "lqx" else "zen"}"; + modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; + isZen = true; + + src = fetchFromGitHub { + owner = "zen-kernel"; + repo = "zen-kernel"; + rev = "v${version}-${suffix}"; + inherit sha256; + }; + + # This is based on the following sources: + # - zen: https://gitlab.archlinux.org/archlinux/packaging/packages/linux-zen/-/blob/main/config + # - lqx: https://github.com/damentz/liquorix-package/blob/6.8/master/linux-liquorix/debian/config/kernelarch-x86/config-arch-64 + # - Liquorix features: https://liquorix.net/ + # The list below is not exhaustive, so the kernels probably doesn't match + # the upstream, but should bring most of the improvements that will be + # expected by users + structuredExtraConfig = + with lib.kernel; + { + # Zen Interactive tuning + ZEN_INTERACTIVE = yes; + + # FQ-Codel Packet Scheduling + NET_SCH_DEFAULT = yes; + DEFAULT_FQ_CODEL = yes; + + # Preempt (low-latency) + PREEMPT = lib.mkOverride 60 yes; + PREEMPT_VOLUNTARY = lib.mkOverride 60 no; + + # Preemptible tree-based hierarchical RCU + TREE_RCU = yes; + PREEMPT_RCU = yes; + RCU_EXPERT = yes; + TREE_SRCU = yes; + TASKS_RCU_GENERIC = yes; + TASKS_RCU = yes; + TASKS_RUDE_RCU = yes; + TASKS_TRACE_RCU = yes; + RCU_STALL_COMMON = yes; + RCU_NEED_SEGCBLIST = yes; + RCU_FANOUT = freeform "64"; + RCU_FANOUT_LEAF = freeform "16"; + RCU_BOOST = yes; + RCU_BOOST_DELAY = option (freeform "500"); + RCU_NOCB_CPU = yes; + RCU_LAZY = yes; + RCU_DOUBLE_CHECK_CB_TIME = yes; + + # BFQ I/O scheduler + IOSCHED_BFQ = lib.mkOverride 60 yes; + + # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. + FUTEX = yes; + FUTEX_PI = yes; + + # NT synchronization primitive emulation + NTSYNC = yes; + + # Preemptive Full Tickless Kernel at 1000Hz + HZ = freeform "1000"; + HZ_1000 = yes; + + } + // lib.optionalAttrs (isLqx) { + # Google's BBRv3 TCP congestion Control + TCP_CONG_BBR = yes; + DEFAULT_BBR = yes; + + # PDS Process Scheduler + SCHED_ALT = yes; + SCHED_PDS = yes; + + # https://github.com/damentz/liquorix-package/commit/a7055b936c0f4edb8f6afd5263fe1d2f8a5cd877 + RCU_BOOST = no; + RCU_LAZY = lib.mkOverride 60 no; + + # Swap storage is compressed with LZ4 using zswap + ZSWAP_COMPRESSOR_DEFAULT_LZ4 = lib.mkOptionDefault yes; + ZSWAP_COMPRESSOR_DEFAULT_ZSTD = lib.mkDefault no; + + # Fix error: unused option: XXX. + CFS_BANDWIDTH = lib.mkForce (option no); + PSI = lib.mkForce (option no); + RT_GROUP_SCHED = lib.mkForce (option no); + SCHED_AUTOGROUP = lib.mkForce (option no); + SCHED_CORE = lib.mkForce (option no); + UCLAMP_TASK = lib.mkForce (option no); + UCLAMP_TASK_GROUP = lib.mkForce (option no); + }; + + passthru.updateScript = [ + ./update-zen.py + (if isLqx then "lqx" else "zen") + ]; + + extraMeta = { + branch = lib.versions.majorMinor version + "/master"; + maintainers = with lib.maintainers; [ + thiagokokada + jerrysm64 + ]; + description = + "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads." + + lib.optionalString isLqx " (Same as linux_zen, but less aggressive release schedule and additional extra config)"; + broken = stdenv.hostPlatform.isAarch64; + }; + + } + // (args.argsOverride or { }) + ); in zenKernelsFor variants.${variant} diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 2b010e5c8bce2..34414fb995940 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, buildPackages, linuxHeaders, perl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + buildPackages, + linuxHeaders, + perl, + nixosTests, +}: let commonMakeFlags = [ @@ -22,15 +30,23 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; strictDeps = true; - hardeningDisable = [ "format" "stackprotector" ]; + hardeningDisable = [ + "format" + "stackprotector" + ]; - makeFlags = commonMakeFlags ++ [ - "KLIBCARCH=${if stdenv.hostPlatform.isRiscV64 then "riscv64" else stdenv.hostPlatform.linuxArch}" - "KLIBCKERNELSRC=${linuxHeaders}" - ] # TODO(@Ericson2314): We now can get the ABI from + makeFlags = + commonMakeFlags + ++ [ + "KLIBCARCH=${if stdenv.hostPlatform.isRiscV64 then "riscv64" else stdenv.hostPlatform.linuxArch}" + "KLIBCKERNELSRC=${linuxHeaders}" + ] + # TODO(@Ericson2314): We now can get the ABI from # `stdenv.hostPlatform.parsed.abi`, is this still a good idea? ++ lib.optional (stdenv.hostPlatform.linuxArch == "arm") "CONFIG_AEABI=y" - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; + ++ lib.optional ( + stdenv.hostPlatform != stdenv.buildPlatform + ) "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; # Install static binaries as well. postInstall = '' diff --git a/pkgs/os-specific/linux/klibc/shrunk.nix b/pkgs/os-specific/linux/klibc/shrunk.nix index 8b79940ed78cd..2cff3bcd87ea8 100644 --- a/pkgs/os-specific/linux/klibc/shrunk.nix +++ b/pkgs/os-specific/linux/klibc/shrunk.nix @@ -1,4 +1,4 @@ -{stdenv, klibc}: +{ stdenv, klibc }: stdenv.mkDerivation { # !!! For now, the name has to be exactly as long as the original @@ -20,7 +20,7 @@ stdenv.mkDerivation { #patchelf --set-interpreter $new $i done ''; # */ - allowedReferences = ["out"]; + allowedReferences = [ "out" ]; inherit (klibc) meta; } diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index 1ea3a90005b95..6a73b3416db62 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -1,16 +1,35 @@ -{ stdenv, lib, fetchzip, fetchpatch, autoconf, automake, docbook_xml_dtd_42 -, docbook_xml_dtd_43, docbook_xsl, gtk-doc, libtool, pkg-config -, libxslt, xz, zstd, elf-header -, withDevdoc ? stdenv.hostPlatform == stdenv.buildPlatform -, withStatic ? stdenv.hostPlatform.isStatic -, gitUpdater +{ + stdenv, + lib, + fetchzip, + fetchpatch, + autoconf, + automake, + docbook_xml_dtd_42, + docbook_xml_dtd_43, + docbook_xsl, + gtk-doc, + libtool, + pkg-config, + libxslt, + xz, + zstd, + elf-header, + withDevdoc ? stdenv.hostPlatform == stdenv.buildPlatform, + withStatic ? stdenv.hostPlatform.isStatic, + gitUpdater, }: let - systems = [ "/run/booted-system/kernel-modules" "/run/current-system/kernel-modules" "" ]; + systems = [ + "/run/booted-system/kernel-modules" + "/run/current-system/kernel-modules" + "" + ]; modulesDirs = lib.concatMapStringsSep ":" (x: "${x}/lib/modules") systems; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "kmod"; version = "31"; @@ -24,15 +43,33 @@ in stdenv.mkDerivation rec { hash = "sha256-FNR015/AoYBbi7Eb1M2TXH3yxUuddKICCu+ot10CdeQ="; }; - outputs = [ "out" "dev" "lib" ] ++ lib.optional withDevdoc "devdoc"; + outputs = [ + "out" + "dev" + "lib" + ] ++ lib.optional withDevdoc "devdoc"; strictDeps = true; - nativeBuildInputs = [ - autoconf automake docbook_xsl libtool libxslt pkg-config + nativeBuildInputs = + [ + autoconf + automake + docbook_xsl + libtool + libxslt + pkg-config - docbook_xml_dtd_42 # for the man pages - ] ++ lib.optionals withDevdoc [ docbook_xml_dtd_43 gtk-doc ]; - buildInputs = [ xz zstd ] + docbook_xml_dtd_42 # for the man pages + ] + ++ lib.optionals withDevdoc [ + docbook_xml_dtd_43 + gtk-doc + ]; + buildInputs = + [ + xz + zstd + ] # gtk-doc is looked for with pkg-config ++ lib.optionals withDevdoc [ gtk-doc ]; @@ -83,7 +120,10 @@ in stdenv.mkDerivation rec { homepage = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/"; downloadPage = "https://www.kernel.org/pub/linux/utils/kernel/kmod/"; changelog = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/plain/NEWS?h=v${version}"; - license = with licenses; [ lgpl21Plus gpl2Plus ]; # GPLv2+ for tools + license = with licenses; [ + lgpl21Plus + gpl2Plus + ]; # GPLv2+ for tools platforms = platforms.linux; maintainers = with maintainers; [ artturin ]; }; diff --git a/pkgs/os-specific/linux/kvmfr/default.nix b/pkgs/os-specific/linux/kvmfr/default.nix index a527351262be8..a0d7a58fe87cd 100644 --- a/pkgs/os-specific/linux/kvmfr/default.nix +++ b/pkgs/os-specific/linux/kvmfr/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchpatch, kernel, looking-glass-client }: +{ + lib, + stdenv, + fetchpatch, + kernel, + looking-glass-client, +}: stdenv.mkDerivation { pname = "kvmfr"; @@ -6,7 +12,10 @@ stdenv.mkDerivation { src = looking-glass-client.src; sourceRoot = "${looking-glass-client.src.name}/module"; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; nativeBuildInputs = kernel.moduleBuildDependencies; patches = [ diff --git a/pkgs/os-specific/linux/lenovo-legion/default.nix b/pkgs/os-specific/linux/lenovo-legion/default.nix index a79c901a13126..75d8a10b8d06a 100644 --- a/pkgs/os-specific/linux/lenovo-legion/default.nix +++ b/pkgs/os-specific/linux/lenovo-legion/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, kernel, bash, lenovo-legion }: +{ + lib, + stdenv, + kernel, + bash, + lenovo-legion, +}: stdenv.mkDerivation { pname = "lenovo-legion-module"; diff --git a/pkgs/os-specific/linux/libbpf/0.x.nix b/pkgs/os-specific/linux/libbpf/0.x.nix index b34cca4a51af4..603fded29262e 100644 --- a/pkgs/os-specific/linux/libbpf/0.x.nix +++ b/pkgs/os-specific/linux/libbpf/0.x.nix @@ -1,10 +1,11 @@ -{ fetchFromGitHub -, elfutils -, pkg-config -, stdenv -, zlib -, lib -, nixosTests +{ + fetchFromGitHub, + elfutils, + pkg-config, + stdenv, + zlib, + lib, + nixosTests, }: # update bot does not seem to limit updates here to 0.8.x despite @@ -24,10 +25,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ elfutils zlib ]; + buildInputs = [ + elfutils + zlib + ]; enableParallelBuilding = true; - makeFlags = [ "PREFIX=$(out)" "-C src" ]; + makeFlags = [ + "PREFIX=$(out)" + "-C src" + ]; passthru.tests = { bpf = nixosTests.bpf; @@ -47,8 +54,16 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Upstream mirror of libbpf"; homepage = "https://github.com/libbpf/libbpf"; - license = with licenses; [ lgpl21 /* or */ bsd2 ]; - maintainers = with maintainers; [ thoughtpolice vcunat saschagrunert martinetd ]; + license = with licenses; [ + lgpl21 # or + bsd2 + ]; + maintainers = with maintainers; [ + thoughtpolice + vcunat + saschagrunert + martinetd + ]; platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix index 1c1d66432db43..f5b3a71b9545e 100644 --- a/pkgs/os-specific/linux/libsemanage/default.nix +++ b/pkgs/os-specific/linux/libsemanage/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchurl, pkg-config, bison, flex, libsepol, libselinux, bzip2, audit -, enablePython ? true, swig ? null, python ? null +{ + lib, + stdenv, + fetchurl, + pkg-config, + bison, + flex, + libsepol, + libselinux, + bzip2, + audit, + enablePython ? true, + swig ? null, + python ? null, }: stdenv.mkDerivation rec { @@ -10,15 +22,27 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${se_url}/${version}/libsemanage-${version}.tar.gz"; sha256 = "sha256-4WbK4ppBfasAjbnKCHQCPzU6MBewdpOgNu2XSH7aNbE="; - }; + }; - outputs = [ "out" "dev" "man" ] ++ lib.optional enablePython "py"; + outputs = [ + "out" + "dev" + "man" + ] ++ lib.optional enablePython "py"; strictDeps = true; - nativeBuildInputs = [ bison flex pkg-config ] ++ lib.optional enablePython swig; - buildInputs = [ libsepol libselinux bzip2 audit ] - ++ lib.optional enablePython python; + nativeBuildInputs = [ + bison + flex + pkg-config + ] ++ lib.optional enablePython swig; + buildInputs = [ + libsepol + libselinux + bzip2 + audit + ] ++ lib.optional enablePython python; makeFlags = [ "PREFIX=$(out)" @@ -45,7 +69,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = removeAttrs libsepol.meta ["outputsToInstall"] // { + meta = removeAttrs libsepol.meta [ "outputsToInstall" ] // { description = "Policy management tools for SELinux"; license = lib.licenses.lgpl21; }; diff --git a/pkgs/os-specific/linux/liquidtux/default.nix b/pkgs/os-specific/linux/liquidtux/default.nix index ca4fb27c8f199..a5a2387d63744 100644 --- a/pkgs/os-specific/linux/liquidtux/default.nix +++ b/pkgs/os-specific/linux/liquidtux/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "liquidtux-${version}-${kernel.version}"; @@ -27,7 +32,10 @@ stdenv.mkDerivation rec { description = "Linux kernel hwmon drivers for AIO liquid coolers and other devices"; homepage = "https://github.com/liquidctl/liquidtux"; license = licenses.gpl2Only; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ nickhu ]; broken = lib.versionOlder kernel.version "5.10"; }; diff --git a/pkgs/os-specific/linux/mba6x_bl/default.nix b/pkgs/os-specific/linux/mba6x_bl/default.nix index 47466dc54051a..2f5358e6ea15d 100644 --- a/pkgs/os-specific/linux/mba6x_bl/default.nix +++ b/pkgs/os-specific/linux/mba6x_bl/default.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, kernel, lib, stdenv }: +{ + fetchFromGitHub, + kernel, + lib, + stdenv, +}: stdenv.mkDerivation { pname = "mba6x_bl"; diff --git a/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix b/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix index 2670c72544491..6907ffeec7524 100644 --- a/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix +++ b/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, kernel, fetchFromGitHub, }: +{ + lib, + stdenv, + kernel, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "mbp2018-bridge-drv"; diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix index 2a6727027f484..28eb2ef55385d 100644 --- a/pkgs/os-specific/linux/mcelog/default.nix +++ b/pkgs/os-specific/linux/mcelog/default.nix @@ -1,13 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, util-linux }: +{ + lib, + stdenv, + fetchFromGitHub, + util-linux, +}: stdenv.mkDerivation rec { pname = "mcelog"; version = "180"; src = fetchFromGitHub { - owner = "andikleen"; - repo = "mcelog"; - rev = "v${version}"; + owner = "andikleen"; + repo = "mcelog"; + rev = "v${version}"; sha256 = "1xy1082c67yd48idg5vwvrw7yx74gn6jj2d9c67d0rh6yji091ki"; }; @@ -26,7 +31,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - installFlags = [ "DESTDIR=$(out)" "prefix=" "DOCDIR=/share/doc" ]; + installFlags = [ + "DESTDIR=$(out)" + "prefix=" + "DOCDIR=/share/doc" + ]; postInstall = '' mkdir -p $out/lib/systemd/system diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bash/2.nix b/pkgs/os-specific/linux/minimal-bootstrap/bash/2.nix index 5eea877803a5b..fd273838c9544 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bash/2.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bash/2.nix @@ -1,13 +1,14 @@ -{ lib -, derivationWithMeta -, fetchurl -, kaem -, tinycc -, gnumake -, gnupatch -, coreutils -, mescc-tools-extra -, bash_2_05 +{ + lib, + derivationWithMeta, + fetchurl, + kaem, + tinycc, + gnumake, + gnupatch, + coreutils, + mescc-tools-extra, + bash_2_05, }: let pname = "bash"; @@ -66,92 +67,102 @@ let }) ]; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; - - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - coreutils - ]; - - passthru.runCommand = name: env: buildCommand: - derivationWithMeta ({ - inherit name buildCommand; - builder = "${bash_2_05}/bin/bash"; - args = [ - "-e" - (builtins.toFile "bash-builder.sh" '' - export CONFIG_SHELL=$SHELL - - # Normalize the NIX_BUILD_CORES variable. The value might be 0, which - # means that we're supposed to try and auto-detect the number of - # available CPU cores at run-time. We don't have nproc to detect the - # number of available CPU cores so default to 1 if not set. - NIX_BUILD_CORES="''${NIX_BUILD_CORES:-1}" - if [ $NIX_BUILD_CORES -le 0 ]; then - NIX_BUILD_CORES=1 - fi - export NIX_BUILD_CORES - - bash -eux $buildCommandPath - '') - ]; - passAsFile = [ "buildCommand" ]; - - SHELL = "${bash_2_05}/bin/bash"; - PATH = lib.makeBinPath ((env.nativeBuildInputs or []) ++ [ - bash_2_05 - coreutils - # provides untar, ungz, and unbz2 - mescc-tools-extra - ]); - } // (builtins.removeAttrs env [ "nativeBuildInputs" ])); - - passthru.tests.get-version = result: - kaem.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/bash --version - mkdir ''${out} - ''; - - meta = with lib; { - description = "GNU Bourne-Again Shell, the de facto standard shell on Linux"; - homepage = "https://www.gnu.org/software/bash"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output bash.tar - untar --file bash.tar - rm bash.tar - cd bash-${version} - - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} - - # Configure - cp ${main_mk} Makefile - cp ${builtins_mk} builtins/Makefile - cp ${common_mk} common.mk - touch config.h - touch include/version.h - touch include/pipesize.h - - # Build - make \ - CC="tcc -B ${tinycc.libs}/lib" \ - mkbuiltins - cd builtins - make \ - CC="tcc -B ${tinycc.libs}/lib" \ - libbuiltins.a - cd .. - make CC="tcc -B ${tinycc.libs}/lib" - - # Install - install -D bash ''${out}/bin/bash - ln -s bash ''${out}/bin/sh -'' +kaem.runCommand "${pname}-${version}" + { + inherit pname version; + + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + coreutils + ]; + + passthru.runCommand = + name: env: buildCommand: + derivationWithMeta ( + { + inherit name buildCommand; + builder = "${bash_2_05}/bin/bash"; + args = [ + "-e" + (builtins.toFile "bash-builder.sh" '' + export CONFIG_SHELL=$SHELL + + # Normalize the NIX_BUILD_CORES variable. The value might be 0, which + # means that we're supposed to try and auto-detect the number of + # available CPU cores at run-time. We don't have nproc to detect the + # number of available CPU cores so default to 1 if not set. + NIX_BUILD_CORES="''${NIX_BUILD_CORES:-1}" + if [ $NIX_BUILD_CORES -le 0 ]; then + NIX_BUILD_CORES=1 + fi + export NIX_BUILD_CORES + + bash -eux $buildCommandPath + '') + ]; + passAsFile = [ "buildCommand" ]; + + SHELL = "${bash_2_05}/bin/bash"; + PATH = lib.makeBinPath ( + (env.nativeBuildInputs or [ ]) + ++ [ + bash_2_05 + coreutils + # provides untar, ungz, and unbz2 + mescc-tools-extra + ] + ); + } + // (builtins.removeAttrs env [ "nativeBuildInputs" ]) + ); + + passthru.tests.get-version = + result: + kaem.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/bash --version + mkdir ''${out} + ''; + + meta = with lib; { + description = "GNU Bourne-Again Shell, the de facto standard shell on Linux"; + homepage = "https://www.gnu.org/software/bash"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output bash.tar + untar --file bash.tar + rm bash.tar + cd bash-${version} + + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} + + # Configure + cp ${main_mk} Makefile + cp ${builtins_mk} builtins/Makefile + cp ${common_mk} common.mk + touch config.h + touch include/version.h + touch include/pipesize.h + + # Build + make \ + CC="tcc -B ${tinycc.libs}/lib" \ + mkbuiltins + cd builtins + make \ + CC="tcc -B ${tinycc.libs}/lib" \ + libbuiltins.a + cd .. + make CC="tcc -B ${tinycc.libs}/lib" + + # Install + install -D bash ''${out}/bin/bash + ln -s bash ''${out}/bin/sh + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix index 86fa3a58687b8..32daa77ed55da 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix @@ -1,20 +1,21 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bootBash -, gnumake -, gnupatch -, gnused -, gnugrep -, gnutar -, gawk -, gzip -, diffutils -, tinycc -, derivationWithMeta -, bash -, coreutils +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bootBash, + gnumake, + gnupatch, + gnused, + gnugrep, + gnutar, + gawk, + gzip, + diffutils, + tinycc, + derivationWithMeta, + bash, + coreutils, }: let pname = "bash"; @@ -30,88 +31,98 @@ let ./mksignames-flush.patch ]; in -bootBash.runCommand "${pname}-${version}" { - inherit pname version; +bootBash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - coreutils - tinycc.compiler - gnumake - gnupatch - gnused - gnugrep - gnutar - gawk - gzip - diffutils - ]; + nativeBuildInputs = [ + coreutils + tinycc.compiler + gnumake + gnupatch + gnused + gnugrep + gnutar + gawk + gzip + diffutils + ]; - passthru.runCommand = name: env: buildCommand: - derivationWithMeta ({ - inherit name buildCommand; - builder = "${bash}/bin/bash"; - args = [ - "-e" - (builtins.toFile "bash-builder.sh" '' - export CONFIG_SHELL=$SHELL + passthru.runCommand = + name: env: buildCommand: + derivationWithMeta ( + { + inherit name buildCommand; + builder = "${bash}/bin/bash"; + args = [ + "-e" + (builtins.toFile "bash-builder.sh" '' + export CONFIG_SHELL=$SHELL - # Normalize the NIX_BUILD_CORES variable. The value might be 0, which - # means that we're supposed to try and auto-detect the number of - # available CPU cores at run-time. - NIX_BUILD_CORES="''${NIX_BUILD_CORES:-1}" - if ((NIX_BUILD_CORES <= 0)); then - guess=$(nproc 2>/dev/null || true) - ((NIX_BUILD_CORES = guess <= 0 ? 1 : guess)) - fi - export NIX_BUILD_CORES + # Normalize the NIX_BUILD_CORES variable. The value might be 0, which + # means that we're supposed to try and auto-detect the number of + # available CPU cores at run-time. + NIX_BUILD_CORES="''${NIX_BUILD_CORES:-1}" + if ((NIX_BUILD_CORES <= 0)); then + guess=$(nproc 2>/dev/null || true) + ((NIX_BUILD_CORES = guess <= 0 ? 1 : guess)) + fi + export NIX_BUILD_CORES - bash -eux $buildCommandPath - '') - ]; - passAsFile = [ "buildCommand" ]; + bash -eux $buildCommandPath + '') + ]; + passAsFile = [ "buildCommand" ]; - SHELL = "${bash}/bin/bash"; - PATH = lib.makeBinPath ((env.nativeBuildInputs or []) ++ [ - bash - coreutils - ]); - } // (builtins.removeAttrs env [ "nativeBuildInputs" ])); + SHELL = "${bash}/bin/bash"; + PATH = lib.makeBinPath ( + (env.nativeBuildInputs or [ ]) + ++ [ + bash + coreutils + ] + ); + } + // (builtins.removeAttrs env [ "nativeBuildInputs" ]) + ); - passthru.tests.get-version = result: - bootBash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/bash --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bootBash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/bash --version + mkdir $out + ''; - meta = with lib; { - description = "GNU Bourne-Again Shell, the de facto standard shell on Linux"; - homepage = "https://www.gnu.org/software/bash"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - cd bash-${version} + meta = with lib; { + description = "GNU Bourne-Again Shell, the de facto standard shell on Linux"; + homepage = "https://www.gnu.org/software/bash"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + cd bash-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export AR="tcc -ar" - export LD=tcc - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --without-bash-malloc + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export AR="tcc -ar" + export LD=tcc + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --without-bash-malloc - # Build - make -j $NIX_BUILD_CORES SHELL=bash + # Build + make -j $NIX_BUILD_CORES SHELL=bash - # Install - make -j $NIX_BUILD_CORES install - ln -s bash $out/bin/sh -'' + # Install + make -j $NIX_BUILD_CORES install + ln -s bash $out/bin/sh + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix index 71e391efb5501..3292dd0528dd6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix @@ -1,18 +1,19 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, coreutils -, gnumake -, gnupatch -, gnused -, gnugrep -, gawk -, diffutils -, gnutar -, xz -, tinycc +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + coreutils, + gnumake, + gnupatch, + gnused, + gnugrep, + gawk, + diffutils, + gnutar, + xz, + tinycc, }: let @@ -50,65 +51,68 @@ let "--with-lib-path=:" ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - gnused - gnugrep - gawk - diffutils - gnutar - xz - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + gnused + gnugrep + gawk + diffutils + gnutar + xz + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/ld --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/ld --version + mkdir $out + ''; - meta = with lib; { - description = "Tools for manipulating binaries (linker, assembler, etc.)"; - homepage = "https://www.gnu.org/software/binutils"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - cp ${src} binutils.tar.xz - unxz binutils.tar.xz - tar xf binutils.tar - rm binutils.tar - cd binutils-${version} + meta = with lib; { + description = "Tools for manipulating binaries (linker, assembler, etc.)"; + homepage = "https://www.gnu.org/software/binutils"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + cp ${src} binutils.tar.xz + unxz binutils.tar.xz + tar xf binutils.tar + rm binutils.tar + cd binutils-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} - sed -i 's|/bin/sh|${bash}/bin/bash|' \ - missing install-sh mkinstalldirs - # see libtool's 74c8993c178a1386ea5e2363a01d919738402f30 - sed -i 's/| \$NL2SP/| sort | $NL2SP/' ltmain.sh - # alias makeinfo to true - mkdir aliases - ln -s ${coreutils}/bin/true aliases/makeinfo - export PATH="$(pwd)/aliases/:$PATH" + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} + sed -i 's|/bin/sh|${bash}/bin/bash|' \ + missing install-sh mkinstalldirs + # see libtool's 74c8993c178a1386ea5e2363a01d919738402f30 + sed -i 's/| \$NL2SP/| sort | $NL2SP/' ltmain.sh + # alias makeinfo to true + mkdir aliases + ln -s ${coreutils}/bin/true aliases/makeinfo + export PATH="$(pwd)/aliases/:$PATH" - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export AR="tcc -ar" - export lt_cv_sys_max_cmd_len=32768 - export CFLAGS="-D__LITTLE_ENDIAN__=1" - bash ./configure ${lib.concatStringsSep " " configureFlags} + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export AR="tcc -ar" + export lt_cv_sys_max_cmd_len=32768 + export CFLAGS="-D__LITTLE_ENDIAN__=1" + bash ./configure ${lib.concatStringsSep " " configureFlags} - # Build - make -j $NIX_BUILD_CORES all-libiberty all-gas all-bfd all-libctf all-zlib all-gprof - make all-ld # race condition on ld/.deps/ldwrite.Po, serialize - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES all-libiberty all-gas all-bfd all-libctf all-zlib all-gprof + make all-ld # race condition on ld/.deps/ldwrite.Po, serialize + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix index 05da061ac263d..ccceabe9a6e4f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, bash -, tinycc -, gnumake -, gnutar -, gzip +{ + lib, + fetchurl, + bash, + tinycc, + gnumake, + gnutar, + gzip, }: let pname = "bzip2"; @@ -15,41 +16,44 @@ let sha256 = "0s92986cv0p692icqlw1j42y9nld8zd83qwhzbqd61p1dqbh6nmb"; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnutar - gzip - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnutar + gzip + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/bzip2 --help - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/bzip2 --help + mkdir $out + ''; - meta = with lib; { - description = "High-quality data compression program"; - homepage = "https://www.sourceware.org/bzip2"; - license = licenses.bsdOriginal; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - cd bzip2-${version} + meta = with lib; { + description = "High-quality data compression program"; + homepage = "https://www.sourceware.org/bzip2"; + license = licenses.bsdOriginal; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + cd bzip2-${version} - # Build - make \ - -j $NIX_BUILD_CORES \ - CC="tcc -B ${tinycc.libs}/lib" \ - AR="tcc -ar" \ - bzip2 bzip2recover + # Build + make \ + -j $NIX_BUILD_CORES \ + CC="tcc -B ${tinycc.libs}/lib" \ + AR="tcc -ar" \ + bzip2 bzip2recover - # Install - make install -j $NIX_BUILD_CORES PREFIX=$out -'' + # Install + make install -j $NIX_BUILD_CORES PREFIX=$out + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix index 1748c908e1a55..9edf6402fbed8 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix @@ -1,9 +1,10 @@ -{ lib -, fetchurl -, kaem -, tinycc -, gnumake -, gnupatch +{ + lib, + fetchurl, + kaem, + tinycc, + gnumake, + gnupatch, }: let pname = "bootstrap-coreutils"; @@ -70,48 +71,50 @@ let }) ]; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; +kaem.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + ]; - meta = with lib; { - description = "GNU Core Utilities"; - homepage = "https://www.gnu.org/software/coreutils"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output coreutils.tar - untar --file coreutils.tar - rm coreutils.tar - cd coreutils-${version} + meta = with lib; { + description = "GNU Core Utilities"; + homepage = "https://www.gnu.org/software/coreutils"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output coreutils.tar + untar --file coreutils.tar + rm coreutils.tar + cd coreutils-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} - # Configure - catm config.h - cp lib/fnmatch_.h lib/fnmatch.h - cp lib/ftw_.h lib/ftw.h - cp lib/search_.h lib/search.h - rm src/dircolors.h + # Configure + catm config.h + cp lib/fnmatch_.h lib/fnmatch.h + cp lib/ftw_.h lib/ftw.h + cp lib/search_.h lib/search.h + rm src/dircolors.h - # Build - make -f ${makefile} \ - CC="tcc -B ${tinycc.libs}/lib" \ - PREFIX=''${out} + # Build + make -f ${makefile} \ + CC="tcc -B ${tinycc.libs}/lib" \ + PREFIX=''${out} - # Check - ./src/echo "Hello coreutils!" + # Check + ./src/echo "Hello coreutils!" - # Install - ./src/mkdir -p ''${out}/bin - make -f ${makefile} install PREFIX=''${out} -'' + # Install + ./src/mkdir -p ''${out}/bin + make -f ${makefile} install PREFIX=''${out} + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix index 9de71315fcc31..b37e94a5f2632 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnugrep -, gnused -, gawk -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnugrep, + gnused, + gawk, + gnutar, + gzip, }: let pname = "bootstrap-coreutils-musl"; @@ -30,45 +31,48 @@ let "--enable-no-install-program=stdbuf" ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - gawk - gnutar - gzip - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + gawk + gnutar + gzip + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/cat --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/cat --version + mkdir $out + ''; - meta = with lib; { - description = "GNU Core Utilities"; - homepage = "https://www.gnu.org/software/coreutils"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - cd coreutils-${version} + meta = with lib; { + description = "GNU Core Utilities"; + homepage = "https://www.gnu.org/software/coreutils"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + cd coreutils-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export LD=tcc - bash ./configure ${lib.concatStringsSep " " configureFlags} + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export LD=tcc + bash ./configure ${lib.concatStringsSep " " configureFlags} - # Build - make -j $NIX_BUILD_CORES AR="tcc -ar" MAKEINFO="true" + # Build + make -j $NIX_BUILD_CORES AR="tcc -ar" MAKEINFO="true" - # Install - make -j $NIX_BUILD_CORES install MAKEINFO="true" -'' + # Install + make -j $NIX_BUILD_CORES install MAKEINFO="true" + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/default.nix index d344b85a4d64b..061727a470636 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/default.nix @@ -1,229 +1,254 @@ -{ lib -, config -, buildPlatform -, hostPlatform -, fetchurl -, checkMeta +{ + lib, + config, + buildPlatform, + hostPlatform, + fetchurl, + checkMeta, }: lib.makeScope # Prevent using top-level attrs to protect against introducing dependency on # non-bootstrap packages by mistake. Any top-level inputs must be explicitly # declared here. - (extra: lib.callPackageWith ({ inherit lib config buildPlatform hostPlatform fetchurl checkMeta; } // extra)) - (self: with self; { - - bash_2_05 = callPackage ./bash/2.nix { tinycc = tinycc-mes; }; - - bash = callPackage ./bash { - bootBash = bash_2_05; - tinycc = tinycc-musl; - coreutils = coreutils-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - binutils = callPackage ./binutils { - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - bzip2 = callPackage ./bzip2 { - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - coreutils = callPackage ./coreutils { tinycc = tinycc-mes; }; - coreutils-musl = callPackage ./coreutils/musl.nix { - bash = bash_2_05; - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - diffutils = callPackage ./diffutils { - bash = bash_2_05; - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - findutils = callPackage ./findutils { - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - gawk-mes = callPackage ./gawk/mes.nix { - bash = bash_2_05; - tinycc = tinycc-mes; - gnused = gnused-mes; - }; - - gawk = callPackage ./gawk { - bash = bash_2_05; - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - bootGawk = gawk-mes; - }; - - gcc46 = callPackage ./gcc/4.6.nix { - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - # FIXME: not sure why new gawk doesn't work - gawk = gawk-mes; - }; - gcc46-cxx = callPackage ./gcc/4.6.cxx.nix { - gcc = gcc46; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - # FIXME: not sure why new gawk doesn't work - gawk = gawk-mes; - }; - - gcc8 = callPackage ./gcc/8.nix { - gcc = gcc46-cxx; - gnumake = gnumake-musl; - gnutar = gnutar-latest; - # FIXME: not sure why new gawk doesn't work - gawk = gawk-mes; - }; - - gcc-latest = callPackage ./gcc/latest.nix { - gcc = gcc8; - gnumake = gnumake-musl; - gnutar = gnutar-latest; - # FIXME: not sure why new gawk doesn't work - gawk = gawk-mes; - }; - - gnugrep = callPackage ./gnugrep { - bash = bash_2_05; - tinycc = tinycc-mes; - }; - - gnumake = callPackage ./gnumake { tinycc = tinycc-mes; }; - - gnumake-musl = callPackage ./gnumake/musl.nix { - bash = bash_2_05; - tinycc = tinycc-musl; - gawk = gawk-mes; - gnumakeBoot = gnumake; - }; - - gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; }; - - gnused = callPackage ./gnused { - bash = bash_2_05; - tinycc = tinycc-musl; - gnused = gnused-mes; - }; - gnused-mes = callPackage ./gnused/mes.nix { - bash = bash_2_05; - tinycc = tinycc-mes; - }; - - gnutar = callPackage ./gnutar/mes.nix { - bash = bash_2_05; - tinycc = tinycc-mes; - gnused = gnused-mes; - }; - - gnutar-musl = callPackage ./gnutar/musl.nix { - bash = bash_2_05; - tinycc = tinycc-musl; - gnused = gnused-mes; - }; - - # FIXME: better package naming scheme - gnutar-latest = callPackage ./gnutar/latest.nix { - gcc = gcc46; - gnumake = gnumake-musl; - gnutarBoot = gnutar-musl; - }; - - gzip = callPackage ./gzip { - bash = bash_2_05; - tinycc = tinycc-mes; - gnused = gnused-mes; - }; - - heirloom = callPackage ./heirloom { - bash = bash_2_05; - tinycc = tinycc-mes; - }; - - heirloom-devtools = callPackage ./heirloom-devtools { tinycc = tinycc-mes; }; - - linux-headers = callPackage ./linux-headers { bash = bash_2_05; }; - - ln-boot = callPackage ./ln-boot { }; - - mes = callPackage ./mes { }; - mes-libc = callPackage ./mes/libc.nix { }; - - musl11 = callPackage ./musl/1.1.nix { - bash = bash_2_05; - tinycc = tinycc-mes; - gnused = gnused-mes; - }; - - musl = callPackage ./musl { - gcc = gcc46; - gnumake = gnumake-musl; - }; - - stage0-posix = callPackage ./stage0-posix { }; - - inherit (self.stage0-posix) kaem m2libc mescc-tools mescc-tools-extra; - - tinycc-bootstrappable = lib.recurseIntoAttrs (callPackage ./tinycc/bootstrappable.nix { }); - tinycc-mes = lib.recurseIntoAttrs (callPackage ./tinycc/mes.nix { }); - tinycc-musl = lib.recurseIntoAttrs (callPackage ./tinycc/musl.nix { - bash = bash_2_05; - musl = musl11; - }); - - xz = callPackage ./xz { - bash = bash_2_05; - tinycc = tinycc-musl; - gnumake = gnumake-musl; - gnutar = gnutar-musl; - }; - - inherit (callPackage ./utils.nix { }) derivationWithMeta writeTextFile writeText; - - test = kaem.runCommand "minimal-bootstrap-test" {} '' - echo ${bash.tests.get-version} - echo ${bash_2_05.tests.get-version} - echo ${binutils.tests.get-version} - echo ${bzip2.tests.get-version} - echo ${coreutils-musl.tests.get-version} - echo ${diffutils.tests.get-version} - echo ${findutils.tests.get-version} - echo ${gawk-mes.tests.get-version} - echo ${gawk.tests.get-version} - echo ${gcc46.tests.get-version} - echo ${gcc46-cxx.tests.hello-world} - echo ${gcc8.tests.hello-world} - echo ${gcc-latest.tests.hello-world} - echo ${gnugrep.tests.get-version} - echo ${gnused.tests.get-version} - echo ${gnused-mes.tests.get-version} - echo ${gnutar.tests.get-version} - echo ${gnutar-musl.tests.get-version} - echo ${gnutar-latest.tests.get-version} - echo ${gzip.tests.get-version} - echo ${heirloom.tests.get-version} - echo ${mes.compiler.tests.get-version} - echo ${musl.tests.hello-world} - echo ${tinycc-mes.compiler.tests.chain} - echo ${tinycc-musl.compiler.tests.hello-world} - echo ${xz.tests.get-version} - mkdir ''${out} - ''; - }) + ( + extra: + lib.callPackageWith ( + { + inherit + lib + config + buildPlatform + hostPlatform + fetchurl + checkMeta + ; + } + // extra + ) + ) + ( + self: with self; { + + bash_2_05 = callPackage ./bash/2.nix { tinycc = tinycc-mes; }; + + bash = callPackage ./bash { + bootBash = bash_2_05; + tinycc = tinycc-musl; + coreutils = coreutils-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + binutils = callPackage ./binutils { + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + bzip2 = callPackage ./bzip2 { + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + coreutils = callPackage ./coreutils { tinycc = tinycc-mes; }; + coreutils-musl = callPackage ./coreutils/musl.nix { + bash = bash_2_05; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + diffutils = callPackage ./diffutils { + bash = bash_2_05; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + findutils = callPackage ./findutils { + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + gawk-mes = callPackage ./gawk/mes.nix { + bash = bash_2_05; + tinycc = tinycc-mes; + gnused = gnused-mes; + }; + + gawk = callPackage ./gawk { + bash = bash_2_05; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + bootGawk = gawk-mes; + }; + + gcc46 = callPackage ./gcc/4.6.nix { + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + # FIXME: not sure why new gawk doesn't work + gawk = gawk-mes; + }; + gcc46-cxx = callPackage ./gcc/4.6.cxx.nix { + gcc = gcc46; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + # FIXME: not sure why new gawk doesn't work + gawk = gawk-mes; + }; + + gcc8 = callPackage ./gcc/8.nix { + gcc = gcc46-cxx; + gnumake = gnumake-musl; + gnutar = gnutar-latest; + # FIXME: not sure why new gawk doesn't work + gawk = gawk-mes; + }; + + gcc-latest = callPackage ./gcc/latest.nix { + gcc = gcc8; + gnumake = gnumake-musl; + gnutar = gnutar-latest; + # FIXME: not sure why new gawk doesn't work + gawk = gawk-mes; + }; + + gnugrep = callPackage ./gnugrep { + bash = bash_2_05; + tinycc = tinycc-mes; + }; + + gnumake = callPackage ./gnumake { tinycc = tinycc-mes; }; + + gnumake-musl = callPackage ./gnumake/musl.nix { + bash = bash_2_05; + tinycc = tinycc-musl; + gawk = gawk-mes; + gnumakeBoot = gnumake; + }; + + gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; }; + + gnused = callPackage ./gnused { + bash = bash_2_05; + tinycc = tinycc-musl; + gnused = gnused-mes; + }; + gnused-mes = callPackage ./gnused/mes.nix { + bash = bash_2_05; + tinycc = tinycc-mes; + }; + + gnutar = callPackage ./gnutar/mes.nix { + bash = bash_2_05; + tinycc = tinycc-mes; + gnused = gnused-mes; + }; + + gnutar-musl = callPackage ./gnutar/musl.nix { + bash = bash_2_05; + tinycc = tinycc-musl; + gnused = gnused-mes; + }; + + # FIXME: better package naming scheme + gnutar-latest = callPackage ./gnutar/latest.nix { + gcc = gcc46; + gnumake = gnumake-musl; + gnutarBoot = gnutar-musl; + }; + + gzip = callPackage ./gzip { + bash = bash_2_05; + tinycc = tinycc-mes; + gnused = gnused-mes; + }; + + heirloom = callPackage ./heirloom { + bash = bash_2_05; + tinycc = tinycc-mes; + }; + + heirloom-devtools = callPackage ./heirloom-devtools { tinycc = tinycc-mes; }; + + linux-headers = callPackage ./linux-headers { bash = bash_2_05; }; + + ln-boot = callPackage ./ln-boot { }; + + mes = callPackage ./mes { }; + mes-libc = callPackage ./mes/libc.nix { }; + + musl11 = callPackage ./musl/1.1.nix { + bash = bash_2_05; + tinycc = tinycc-mes; + gnused = gnused-mes; + }; + + musl = callPackage ./musl { + gcc = gcc46; + gnumake = gnumake-musl; + }; + + stage0-posix = callPackage ./stage0-posix { }; + + inherit (self.stage0-posix) + kaem + m2libc + mescc-tools + mescc-tools-extra + ; + + tinycc-bootstrappable = lib.recurseIntoAttrs (callPackage ./tinycc/bootstrappable.nix { }); + tinycc-mes = lib.recurseIntoAttrs (callPackage ./tinycc/mes.nix { }); + tinycc-musl = lib.recurseIntoAttrs ( + callPackage ./tinycc/musl.nix { + bash = bash_2_05; + musl = musl11; + } + ); + + xz = callPackage ./xz { + bash = bash_2_05; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; + + inherit (callPackage ./utils.nix { }) derivationWithMeta writeTextFile writeText; + + test = kaem.runCommand "minimal-bootstrap-test" { } '' + echo ${bash.tests.get-version} + echo ${bash_2_05.tests.get-version} + echo ${binutils.tests.get-version} + echo ${bzip2.tests.get-version} + echo ${coreutils-musl.tests.get-version} + echo ${diffutils.tests.get-version} + echo ${findutils.tests.get-version} + echo ${gawk-mes.tests.get-version} + echo ${gawk.tests.get-version} + echo ${gcc46.tests.get-version} + echo ${gcc46-cxx.tests.hello-world} + echo ${gcc8.tests.hello-world} + echo ${gcc-latest.tests.hello-world} + echo ${gnugrep.tests.get-version} + echo ${gnused.tests.get-version} + echo ${gnused-mes.tests.get-version} + echo ${gnutar.tests.get-version} + echo ${gnutar-musl.tests.get-version} + echo ${gnutar-latest.tests.get-version} + echo ${gzip.tests.get-version} + echo ${heirloom.tests.get-version} + echo ${mes.compiler.tests.get-version} + echo ${musl.tests.hello-world} + echo ${tinycc-mes.compiler.tests.chain} + echo ${tinycc-musl.compiler.tests.hello-world} + echo ${xz.tests.get-version} + mkdir ''${out} + ''; + } + ) diff --git a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix index 24cd643b34972..e6648b5987bee 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnugrep -, gnused -, gawk -, gnutar -, xz +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnugrep, + gnused, + gawk, + gnutar, + xz, }: let pname = "diffutils"; @@ -21,51 +22,54 @@ let hash = "sha256-pr3X0bMSZtEcT03mwbdI1GB6sCMa9RiPwlM9CuJDj+w="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - gawk - gnutar - xz - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + gawk + gnutar + xz + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/diff --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/diff --version + mkdir $out + ''; - meta = with lib; { - description = "Commands for showing the differences between files (diff, cmp, etc.)"; - homepage = "https://www.gnu.org/software/diffutils/diffutils.html"; - license = licenses.gpl3Only; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - cp ${src} diffutils.tar.xz - unxz diffutils.tar.xz - tar xf diffutils.tar - rm diffutils.tar - cd diffutils-${version} + meta = with lib; { + description = "Commands for showing the differences between files (diff, cmp, etc.)"; + homepage = "https://www.gnu.org/software/diffutils/diffutils.html"; + license = licenses.gpl3Only; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + cp ${src} diffutils.tar.xz + unxz diffutils.tar.xz + tar xf diffutils.tar + rm diffutils.tar + cd diffutils-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export LD=tcc - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export LD=tcc + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} - # Build - make -j $NIX_BUILD_CORES AR="tcc -ar" + # Build + make -j $NIX_BUILD_CORES AR="tcc -ar" - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix index 97418d218fb92..d731ee8037e41 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnugrep -, gnused -, gawk -, gnutar -, xz +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnugrep, + gnused, + gawk, + gnutar, + xz, }: let pname = "findutils"; @@ -20,56 +21,59 @@ let hash = "sha256-or+4wJ1DZ3DtxZ9Q+kg+eFsWGjt7nVR1c8sIBl/UYv4="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - gawk - gnutar - xz - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + gawk + gnutar + xz + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/find --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/find --version + mkdir $out + ''; - meta = with lib; { - description = "GNU Find Utilities, the basic directory searching utilities of the GNU operating system"; - homepage = "https://www.gnu.org/software/findutils"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - cp ${src} findutils.tar.xz - unxz findutils.tar.xz - tar xf findutils.tar - rm findutils.tar - cd findutils-${version} + meta = with lib; { + description = "GNU Find Utilities, the basic directory searching utilities of the GNU operating system"; + homepage = "https://www.gnu.org/software/findutils"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + cp ${src} findutils.tar.xz + unxz findutils.tar.xz + tar xf findutils.tar + rm findutils.tar + cd findutils-${version} - # Patch - # configure fails to accurately detect PATH_MAX support - sed -i 's/chdir_long/chdir/' gl/lib/save-cwd.c + # Patch + # configure fails to accurately detect PATH_MAX support + sed -i 's/chdir_long/chdir/' gl/lib/save-cwd.c - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export AR="tcc -ar" - export LD=tcc - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export AR="tcc -ar" + export LD=tcc + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix index 879b98bf00c54..e76aee2efa887 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnugrep -, gnused -, gnutar -, gzip -, bootGawk +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnugrep, + gnused, + gnutar, + gzip, + bootGawk, }: let inherit (import ./common.nix { inherit lib; }) meta; @@ -21,41 +22,44 @@ let hash = "sha256-lFrvfM/xAfILIqEIArwAXplKsrjqPnJMwaGXxi9B9lA="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version meta; +bash.runCommand "${pname}-${version}" + { + inherit pname version meta; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - gnutar - gzip - bootGawk - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + gnutar + gzip + bootGawk + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/awk --version - mkdir $out - ''; -} '' - # Unpack - tar xzf ${src} - cd gawk-${version} + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/awk --version + mkdir $out + ''; + } + '' + # Unpack + tar xzf ${src} + cd gawk-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export AR="tcc -ar" - export LD=tcc - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export AR="tcc -ar" + export LD=tcc + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gawk/mes.nix b/pkgs/os-specific/linux/minimal-bootstrap/gawk/mes.nix index c14399309306f..ed9b88213a102 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gawk/mes.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gawk/mes.nix @@ -1,13 +1,14 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnupatch -, gnused -, gnugrep +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnupatch, + gnused, + gnugrep, }: let inherit (import ./common.nix { inherit lib; }) meta; @@ -25,46 +26,49 @@ let ./no-stamp.patch ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version meta; +bash.runCommand "${pname}-${version}" + { + inherit pname version meta; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - gnused - gnugrep - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + gnused + gnugrep + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/awk --version - mkdir $out - ''; -} '' - # Unpack - ungz --file ${src} --output gawk.tar - untar --file gawk.tar - rm gawk.tar - cd gawk-${version} + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/awk --version + mkdir $out + ''; + } + '' + # Unpack + ungz --file ${src} --output gawk.tar + untar --file gawk.tar + rm gawk.tar + cd gawk-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export ac_cv_func_getpgrp_void=yes - export ac_cv_func_tzset=yes - bash ./configure \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --disable-nls \ - --prefix=$out + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export ac_cv_func_getpgrp_void=yes + export ac_cv_func_tzset=yes + bash ./configure \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --disable-nls \ + --prefix=$out - # Build - make gawk + # Build + make gawk - # Install - install -D gawk $out/bin/gawk - ln -s gawk $out/bin/awk -'' + # Install + install -D gawk $out/bin/gawk + ln -s gawk $out/bin/awk + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix index 277c5e82cc3dc..f4f8ee6a23016 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix @@ -1,21 +1,22 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, coreutils -, gcc -, musl -, binutils -, gnumake -, gnupatch -, gnused -, gnugrep -, gawk -, diffutils -, findutils -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + coreutils, + gcc, + musl, + binutils, + gnumake, + gnupatch, + gnused, + gnugrep, + gawk, + diffutils, + findutils, + gnutar, + gzip, }: let pname = "gcc-cxx"; @@ -54,87 +55,96 @@ let ./no-system-headers.patch ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - gcc - binutils - gnumake - gnupatch - gnused - gnugrep - gawk - diffutils - findutils - gnutar - gzip - ]; + nativeBuildInputs = [ + gcc + binutils + gnumake + gnupatch + gnused + gnugrep + gawk + diffutils + findutils + gnutar + gzip + ]; - passthru.tests.hello-world = result: - bash.runCommand "${pname}-simple-program-${version}" { - nativeBuildInputs = [ binutils musl result ]; - } '' - cat <> test.c - #include - int main() { - printf("Hello World!\n"); - return 0; + passthru.tests.hello-world = + result: + bash.runCommand "${pname}-simple-program-${version}" + { + nativeBuildInputs = [ + binutils + musl + result + ]; } - EOF - musl-gcc -o test test.c - ./test - mkdir $out - ''; + '' + cat <> test.c + #include + int main() { + printf("Hello World!\n"); + return 0; + } + EOF + musl-gcc -o test test.c + ./test + mkdir $out + ''; - meta = with lib; { - description = "GNU Compiler Collection, version ${version}"; - homepage = "https://gcc.gnu.org"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - tar xzf ${ccSrc} - tar xzf ${gmp} - tar xzf ${mpfr} - tar xzf ${mpc} - cd gcc-${version} + meta = with lib; { + description = "GNU Compiler Collection, version ${version}"; + homepage = "https://gcc.gnu.org"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + tar xzf ${ccSrc} + tar xzf ${gmp} + tar xzf ${mpfr} + tar xzf ${mpc} + cd gcc-${version} - ln -s ../gmp-${gmpVersion} gmp - ln -s ../mpfr-${mpfrVersion} mpfr - ln -s ../mpc-${mpcVersion} mpc + ln -s ../gmp-${gmpVersion} gmp + ln -s ../mpfr-${mpfrVersion} mpfr + ln -s ../mpc-${mpcVersion} mpc - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} - # doesn't recognise musl - sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} + # doesn't recognise musl + sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host - # Configure - export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export C_INCLUDE_PATH="${musl}/include" - export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH" - export LIBRARY_PATH="${musl}/lib" + # Configure + export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export C_INCLUDE_PATH="${musl}/include" + export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH" + export LIBRARY_PATH="${musl}/lib" - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --with-native-system-header-dir=${musl}/include \ - --with-build-sysroot=${musl} \ - --enable-languages=c,c++ \ - --disable-bootstrap \ - --disable-libmudflap \ - --disable-libstdcxx-pch \ - --disable-lto \ - --disable-multilib + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --with-native-system-header-dir=${musl}/include \ + --with-build-sysroot=${musl} \ + --enable-languages=c,c++ \ + --disable-bootstrap \ + --disable-libmudflap \ + --disable-libstdcxx-pch \ + --disable-lto \ + --disable-multilib - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix index 8b56dff58829c..4a2ea3fd84ab8 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix @@ -1,19 +1,20 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, binutils -, gnumake -, gnupatch -, gnused -, gnugrep -, gawk -, diffutils -, findutils -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + binutils, + gnumake, + gnupatch, + gnused, + gnugrep, + gawk, + diffutils, + findutils, + gnutar, + gzip, }: let pname = "gcc"; @@ -52,94 +53,97 @@ let ./no-system-headers.patch ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version; - - nativeBuildInputs = [ - tinycc.compiler - binutils - gnumake - gnupatch - gnused - gnugrep - gawk - diffutils - findutils - gnutar - gzip - ]; - - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/gcc --version - mkdir $out - ''; - - meta = with lib; { - description = "GNU Compiler Collection, version ${version}"; - homepage = "https://gcc.gnu.org"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - tar xzf ${ccSrc} - tar xzf ${gmp} - tar xzf ${mpfr} - tar xzf ${mpc} - cd gcc-${version} - - ln -s ../gmp-${gmpVersion} gmp - ln -s ../mpfr-${mpfrVersion} mpfr - ln -s ../mpc-${mpcVersion} mpc - - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} - - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export C_INCLUDE_PATH="${tinycc.libs}/include:$(pwd)/mpfr/src" - export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH" - - # Avoid "Link tests are not allowed after GCC_NO_EXECUTABLES" - export lt_cv_shlibpath_overrides_runpath=yes - export ac_cv_func_memcpy=yes - export ac_cv_func_strerror=yes - - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --with-native-system-header-dir=${tinycc.libs}/include \ - --with-build-sysroot=${tinycc.libs}/include \ - --disable-bootstrap \ - --disable-decimal-float \ - --disable-libatomic \ - --disable-libcilkrts \ - --disable-libgomp \ - --disable-libitm \ - --disable-libmudflap \ - --disable-libquadmath \ - --disable-libsanitizer \ - --disable-libssp \ - --disable-libvtv \ - --disable-lto \ - --disable-lto-plugin \ - --disable-multilib \ - --disable-plugin \ - --disable-threads \ - --enable-languages=c \ - --enable-static \ - --disable-shared \ - --enable-threads=single \ - --disable-libstdcxx-pch \ - --disable-build-with-cxx - - # Build - make -j $NIX_BUILD_CORES - - # Install - make -j $NIX_BUILD_CORES install -'' +bash.runCommand "${pname}-${version}" + { + inherit pname version; + + nativeBuildInputs = [ + tinycc.compiler + binutils + gnumake + gnupatch + gnused + gnugrep + gawk + diffutils + findutils + gnutar + gzip + ]; + + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/gcc --version + mkdir $out + ''; + + meta = with lib; { + description = "GNU Compiler Collection, version ${version}"; + homepage = "https://gcc.gnu.org"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + tar xzf ${ccSrc} + tar xzf ${gmp} + tar xzf ${mpfr} + tar xzf ${mpc} + cd gcc-${version} + + ln -s ../gmp-${gmpVersion} gmp + ln -s ../mpfr-${mpfrVersion} mpfr + ln -s ../mpc-${mpcVersion} mpc + + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} + + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export C_INCLUDE_PATH="${tinycc.libs}/include:$(pwd)/mpfr/src" + export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH" + + # Avoid "Link tests are not allowed after GCC_NO_EXECUTABLES" + export lt_cv_shlibpath_overrides_runpath=yes + export ac_cv_func_memcpy=yes + export ac_cv_func_strerror=yes + + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --with-native-system-header-dir=${tinycc.libs}/include \ + --with-build-sysroot=${tinycc.libs}/include \ + --disable-bootstrap \ + --disable-decimal-float \ + --disable-libatomic \ + --disable-libcilkrts \ + --disable-libgomp \ + --disable-libitm \ + --disable-libmudflap \ + --disable-libquadmath \ + --disable-libsanitizer \ + --disable-libssp \ + --disable-libvtv \ + --disable-lto \ + --disable-lto-plugin \ + --disable-multilib \ + --disable-plugin \ + --disable-threads \ + --enable-languages=c \ + --enable-static \ + --disable-shared \ + --enable-threads=single \ + --disable-libstdcxx-pch \ + --disable-build-with-cxx + + # Build + make -j $NIX_BUILD_CORES + + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix index ea9fdaf8854a2..7a158ff8f4362 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix @@ -1,22 +1,23 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, coreutils -, gcc -, musl -, binutils -, gnumake -, gnused -, gnugrep -, gawk -, diffutils -, findutils -, gnutar -, gzip -, bzip2 -, xz +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + coreutils, + gcc, + musl, + binutils, + gnumake, + gnused, + gnugrep, + gawk, + diffutils, + findutils, + gnutar, + gzip, + bzip2, + xz, }: let pname = "gcc"; @@ -52,90 +53,99 @@ let hash = "sha256-/PeN2WVsEOuM+fvV9ZoLawE4YgX+GTSzsoegoYmBRcA="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - gcc - binutils - gnumake - gnused - gnugrep - gawk - diffutils - findutils - gnutar - gzip - bzip2 - xz - ]; + nativeBuildInputs = [ + gcc + binutils + gnumake + gnused + gnugrep + gawk + diffutils + findutils + gnutar + gzip + bzip2 + xz + ]; - passthru.tests.hello-world = result: - bash.runCommand "${pname}-simple-program-${version}" { - nativeBuildInputs = [ binutils musl result ]; - } '' - cat <> test.c - #include - int main() { - printf("Hello World!\n"); - return 0; + passthru.tests.hello-world = + result: + bash.runCommand "${pname}-simple-program-${version}" + { + nativeBuildInputs = [ + binutils + musl + result + ]; } - EOF - musl-gcc -o test test.c - ./test - mkdir $out - ''; + '' + cat <> test.c + #include + int main() { + printf("Hello World!\n"); + return 0; + } + EOF + musl-gcc -o test test.c + ./test + mkdir $out + ''; - meta = with lib; { - description = "GNU Compiler Collection, version ${version}"; - homepage = "https://gcc.gnu.org"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xf ${src} - tar xf ${gmp} - tar xf ${mpfr} - tar xf ${mpc} - tar xf ${isl} - cd gcc-${version} + meta = with lib; { + description = "GNU Compiler Collection, version ${version}"; + homepage = "https://gcc.gnu.org"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xf ${src} + tar xf ${gmp} + tar xf ${mpfr} + tar xf ${mpc} + tar xf ${isl} + cd gcc-${version} - ln -s ../gmp-${gmpVersion} gmp - ln -s ../mpfr-${mpfrVersion} mpfr - ln -s ../mpc-${mpcVersion} mpc - ln -s ../isl-${islVersion} isl + ln -s ../gmp-${gmpVersion} gmp + ln -s ../mpfr-${mpfrVersion} mpfr + ln -s ../mpc-${mpcVersion} mpc + ln -s ../isl-${islVersion} isl - # Patch - # doesn't recognise musl - sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host + # Patch + # doesn't recognise musl + sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host - # Configure - export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export CXX="g++ -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export C_INCLUDE_PATH="${musl}/include" - export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH" - export LIBRARY_PATH="${musl}/lib" + # Configure + export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export CXX="g++ -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export C_INCLUDE_PATH="${musl}/include" + export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH" + export LIBRARY_PATH="${musl}/lib" - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --with-native-system-header-dir=/include \ - --with-sysroot=${musl} \ - --enable-languages=c,c++ \ - --disable-bootstrap \ - --disable-libmpx \ - --disable-libsanitizer \ - --disable-lto \ - --disable-multilib \ - --disable-plugin + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --with-native-system-header-dir=/include \ + --with-sysroot=${musl} \ + --enable-languages=c,c++ \ + --disable-bootstrap \ + --disable-libmpx \ + --disable-libsanitizer \ + --disable-lto \ + --disable-multilib \ + --disable-plugin - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install-strip -'' + # Install + make -j $NIX_BUILD_CORES install-strip + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix index fba3b731a0048..f22570e940caf 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix @@ -1,22 +1,23 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, coreutils -, gcc -, musl -, binutils -, gnumake -, gnused -, gnugrep -, gawk -, diffutils -, findutils -, gnutar -, gzip -, bzip2 -, xz +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + coreutils, + gcc, + musl, + binutils, + gnumake, + gnused, + gnugrep, + gawk, + diffutils, + findutils, + gnutar, + gzip, + bzip2, + xz, }: let pname = "gcc"; @@ -51,87 +52,96 @@ let hash = "sha256-/PeN2WVsEOuM+fvV9ZoLawE4YgX+GTSzsoegoYmBRcA="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - gcc - binutils - gnumake - gnused - gnugrep - gawk - diffutils - findutils - gnutar - gzip - bzip2 - xz - ]; + nativeBuildInputs = [ + gcc + binutils + gnumake + gnused + gnugrep + gawk + diffutils + findutils + gnutar + gzip + bzip2 + xz + ]; - passthru.tests.hello-world = result: - bash.runCommand "${pname}-simple-program-${version}" { - nativeBuildInputs = [ binutils musl result ]; - } '' - cat <> test.c - #include - int main() { - printf("Hello World!\n"); - return 0; + passthru.tests.hello-world = + result: + bash.runCommand "${pname}-simple-program-${version}" + { + nativeBuildInputs = [ + binutils + musl + result + ]; } - EOF - musl-gcc -o test test.c - ./test - mkdir $out - ''; + '' + cat <> test.c + #include + int main() { + printf("Hello World!\n"); + return 0; + } + EOF + musl-gcc -o test test.c + ./test + mkdir $out + ''; - meta = with lib; { - description = "GNU Compiler Collection, version ${version}"; - homepage = "https://gcc.gnu.org"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xf ${src} - tar xf ${gmp} - tar xf ${mpfr} - tar xf ${mpc} - tar xf ${isl} - cd gcc-${version} + meta = with lib; { + description = "GNU Compiler Collection, version ${version}"; + homepage = "https://gcc.gnu.org"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xf ${src} + tar xf ${gmp} + tar xf ${mpfr} + tar xf ${mpc} + tar xf ${isl} + cd gcc-${version} - ln -s ../gmp-${gmpVersion} gmp - ln -s ../mpfr-${mpfrVersion} mpfr - ln -s ../mpc-${mpcVersion} mpc - ln -s ../isl-${islVersion} isl + ln -s ../gmp-${gmpVersion} gmp + ln -s ../mpfr-${mpfrVersion} mpfr + ln -s ../mpc-${mpcVersion} mpc + ln -s ../isl-${islVersion} isl - # Patch - # force musl even if host triple is gnu - sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host + # Patch + # force musl even if host triple is gnu + sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host - # Configure - export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export CXX="g++ -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" - export LIBRARY_PATH="${musl}/lib" + # Configure + export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export CXX="g++ -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so" + export LIBRARY_PATH="${musl}/lib" - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --with-native-system-header-dir=/include \ - --with-sysroot=${musl} \ - --enable-languages=c,c++ \ - --disable-bootstrap \ - --disable-libsanitizer \ - --disable-lto \ - --disable-multilib \ - --disable-plugin + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --with-native-system-header-dir=/include \ + --with-sysroot=${musl} \ + --enable-languages=c,c++ \ + --disable-bootstrap \ + --disable-libsanitizer \ + --disable-lto \ + --disable-multilib \ + --disable-plugin - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install-strip -'' + # Install + make -j $NIX_BUILD_CORES install-strip + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/default.nix index b2899961dfa2d..62dd295eefe87 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, bash -, tinycc -, gnumake +{ + lib, + fetchurl, + bash, + tinycc, + gnumake, }: let pname = "gnugrep"; @@ -20,41 +21,44 @@ let sha256 = "08an9ljlqry3p15w28hahm6swnd3jxizsd2188przvvsj093j91k"; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; - - nativeBuildInputs = [ - tinycc.compiler - gnumake - ]; - - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/grep --version - mkdir ''${out} - ''; - - meta = with lib; { - description = "GNU implementation of the Unix grep command"; - homepage = "https://www.gnu.org/software/grep"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "grep"; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output grep.tar - untar --file grep.tar - rm grep.tar - cd grep-${version} - - # Configure - cp ${makefile} Makefile - - # Build - make CC="tcc -B ${tinycc.libs}/lib" - - # Install - make install PREFIX=$out -'' +bash.runCommand "${pname}-${version}" + { + inherit pname version; + + nativeBuildInputs = [ + tinycc.compiler + gnumake + ]; + + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/grep --version + mkdir ''${out} + ''; + + meta = with lib; { + description = "GNU implementation of the Unix grep command"; + homepage = "https://www.gnu.org/software/grep"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "grep"; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output grep.tar + untar --file grep.tar + rm grep.tar + cd grep-${version} + + # Configure + cp ${makefile} Makefile + + # Build + make CC="tcc -B ${tinycc.libs}/lib" + + # Install + make install PREFIX=$out + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix index 270d4e36c7882..bced960269653 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, kaem -, tinycc -, gnupatch +{ + lib, + fetchurl, + kaem, + tinycc, + gnupatch, }: let pname = "gnumake"; @@ -137,54 +138,66 @@ let "src/version.c" "src/vpath.c" ]; - glob_SOURCES = [ "lib/fnmatch.c" "lib/glob.c" ]; - remote_SOURCES = [ "src/remote-stub.c" ]; - sources = make_SOURCES ++ glob_SOURCES ++ remote_SOURCES ++ [ - "src/posixos.c" + glob_SOURCES = [ + "lib/fnmatch.c" + "lib/glob.c" ]; - - objects = map (x: lib.replaceStrings [".c"] [".o"] (builtins.baseNameOf x)) sources; + remote_SOURCES = [ "src/remote-stub.c" ]; + sources = + make_SOURCES + ++ glob_SOURCES + ++ remote_SOURCES + ++ [ + "src/posixos.c" + ]; + + objects = map (x: lib.replaceStrings [ ".c" ] [ ".o" ] (builtins.baseNameOf x)) sources; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; - - nativeBuildInputs = [ tinycc.compiler gnupatch ]; - - meta = with lib; { - description = "Tool to control the generation of non-source files from sources"; - homepage = "https://www.gnu.org/software/make"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "make"; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output make.tar - untar --file make.tar - rm make.tar - cd make-${version} - - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} - - # Configure - catm src/config.h src/mkconfig.h src/mkcustom.h - cp lib/glob.in.h lib/glob.h - cp lib/fnmatch.in.h lib/fnmatch.h - - # Compile - alias CC="tcc -B ${tinycc.libs}/lib ${lib.concatStringsSep " " CFLAGS}" - ${lib.concatMapStringsSep "\n" (f: "CC -c ${f}") sources} - - # Link - CC -o make ${lib.concatStringsSep " " objects} - - # Check - ./make --version - - # Install - mkdir -p ''${out}/bin - cp ./make ''${out}/bin - chmod 555 ''${out}/bin/make -'' +kaem.runCommand "${pname}-${version}" + { + inherit pname version; + + nativeBuildInputs = [ + tinycc.compiler + gnupatch + ]; + + meta = with lib; { + description = "Tool to control the generation of non-source files from sources"; + homepage = "https://www.gnu.org/software/make"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "make"; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output make.tar + untar --file make.tar + rm make.tar + cd make-${version} + + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} + + # Configure + catm src/config.h src/mkconfig.h src/mkcustom.h + cp lib/glob.in.h lib/glob.h + cp lib/fnmatch.in.h lib/fnmatch.h + + # Compile + alias CC="tcc -B ${tinycc.libs}/lib ${lib.concatStringsSep " " CFLAGS}" + ${lib.concatMapStringsSep "\n" (f: "CC -c ${f}") sources} + + # Link + CC -o make ${lib.concatStringsSep " " objects} + + # Check + ./make --version + + # Install + mkdir -p ''${out}/bin + cp ./make ''${out}/bin + chmod 555 ''${out}/bin/make + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix index 47b3de03c4ca9..d2b53fb9a97fb 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix @@ -1,16 +1,17 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumakeBoot -, gnupatch -, gnused -, gnugrep -, gawk -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumakeBoot, + gnupatch, + gnused, + gnugrep, + gawk, + gnutar, + gzip, }: let pname = "gnumake-musl"; @@ -30,53 +31,56 @@ let ./0002-remove-impure-dirs.patch ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumakeBoot - gnupatch - gnused - gnugrep - gawk - gnutar - gzip - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumakeBoot + gnupatch + gnused + gnugrep + gawk + gnutar + gzip + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/make --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/make --version + mkdir $out + ''; - meta = with lib; { - description = "Tool to control the generation of non-source files from sources"; - homepage = "https://www.gnu.org/software/make"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "make"; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - cd make-${version} + meta = with lib; { + description = "Tool to control the generation of non-source files from sources"; + homepage = "https://www.gnu.org/software/make"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "make"; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + cd make-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export LD=tcc - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export LD=tcc + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} - # Build - make AR="tcc -ar" + # Build + make AR="tcc -ar" - # Install - make install -'' + # Install + make install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/default.nix index 8e6f6696c68ca..66de5351204a8 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, kaem -, tinycc +{ + lib, + fetchurl, + kaem, + tinycc, }: let pname = "gnupatch"; @@ -65,43 +66,45 @@ let "error.c" ]; - objects = map (x: lib.replaceStrings [".c"] [".o"] (builtins.baseNameOf x)) sources; + objects = map (x: lib.replaceStrings [ ".c" ] [ ".o" ] (builtins.baseNameOf x)) sources; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; +kaem.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ tinycc.compiler ]; + nativeBuildInputs = [ tinycc.compiler ]; - meta = with lib; { - description = "GNU Patch, a program to apply differences to files"; - homepage = "https://www.gnu.org/software/patch"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "patch"; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output patch.tar - untar --file patch.tar - rm patch.tar - cd patch-${version} + meta = with lib; { + description = "GNU Patch, a program to apply differences to files"; + homepage = "https://www.gnu.org/software/patch"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "patch"; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output patch.tar + untar --file patch.tar + rm patch.tar + cd patch-${version} - # Configure - catm config.h + # Configure + catm config.h - # Build - alias CC="tcc -B ${tinycc.libs}/lib ${lib.concatStringsSep " " CFLAGS}" - ${lib.concatMapStringsSep "\n" (f: "CC -c ${f}") sources} + # Build + alias CC="tcc -B ${tinycc.libs}/lib ${lib.concatStringsSep " " CFLAGS}" + ${lib.concatMapStringsSep "\n" (f: "CC -c ${f}") sources} - # Link - CC -o patch ${lib.concatStringsSep " " objects} + # Link + CC -o patch ${lib.concatStringsSep " " objects} - # Check - ./patch --version + # Check + ./patch --version - # Install - mkdir -p ''${out}/bin - cp ./patch ''${out}/bin - chmod 555 ''${out}/bin/patch -'' + # Install + mkdir -p ''${out}/bin + cp ./patch ''${out}/bin + chmod 555 ''${out}/bin/patch + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix index ee566f93c1643..a5ef9673c399c 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix @@ -1,14 +1,15 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, gnumake -, tinycc -, gnused -, gnugrep -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + gnumake, + tinycc, + gnused, + gnugrep, + gnutar, + gzip, }: let @@ -22,42 +23,45 @@ let hash = "sha256-20XNY/0BDmUFN9ZdXfznaJplJ0UjZgbl5ceCk3Jn2YM="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version meta; +bash.runCommand "${pname}-${version}" + { + inherit pname version meta; - nativeBuildInputs = [ - gnumake - tinycc.compiler - gnused - gnugrep - gnutar - gzip - ]; + nativeBuildInputs = [ + gnumake + tinycc.compiler + gnused + gnugrep + gnutar + gzip + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/sed --version - mkdir ''${out} - ''; -} ('' - # Unpack - tar xzf ${src} - cd sed-${version} + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/sed --version + mkdir ''${out} + ''; + } + ('' + # Unpack + tar xzf ${src} + cd sed-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export LD=tcc - ./configure \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --disable-shared \ - --disable-nls \ - --disable-dependency-tracking \ - --prefix=$out + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export LD=tcc + ./configure \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --disable-shared \ + --disable-nls \ + --disable-dependency-tracking \ + --prefix=$out - # Build - make AR="tcc -ar" + # Build + make AR="tcc -ar" - # Install - make install -'') + # Install + make install + '') diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix index 031b5b5f0db07..f11881fa290a6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix @@ -1,10 +1,11 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, gnumake -, tinycc +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + gnumake, + tinycc, }: let @@ -25,35 +26,38 @@ let sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya"; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version meta; - - nativeBuildInputs = [ - gnumake - tinycc.compiler - ]; - - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/sed --version - mkdir ''${out} - ''; -} ('' - # Unpack - ungz --file ${src} --output sed.tar - untar --file sed.tar - rm sed.tar - cd sed-${version} - - # Configure - cp ${makefile} Makefile - catm config.h - - # Build - make \ - CC="tcc -B ${tinycc.libs}/lib" \ - LIBC=mes - - # Install - make install PREFIX=$out -'') +bash.runCommand "${pname}-${version}" + { + inherit pname version meta; + + nativeBuildInputs = [ + gnumake + tinycc.compiler + ]; + + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/sed --version + mkdir ''${out} + ''; + } + ('' + # Unpack + ungz --file ${src} --output sed.tar + untar --file sed.tar + rm sed.tar + cd sed-${version} + + # Configure + cp ${makefile} Makefile + catm config.h + + # Build + make \ + CC="tcc -B ${tinycc.libs}/lib" \ + LIBC=mes + + # Install + make install PREFIX=$out + '') diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix index 717ea9868fd9d..aa702b245b978 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix @@ -1,17 +1,18 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, gcc -, musl -, binutils -, gnumake -, gnused -, gnugrep -, gawk -, gzip -, gnutarBoot +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + gcc, + musl, + binutils, + gnumake, + gnused, + gnugrep, + gawk, + gzip, + gnutarBoot, }: let pname = "gnutar"; @@ -22,50 +23,53 @@ let hash = "sha256-FNVeMgY+qVJuBX+/Nfyr1TN452l4fv95GcN1WwLStX4="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - gcc - musl - binutils - gnumake - gnused - gnugrep - gawk - gzip - gnutarBoot - ]; + nativeBuildInputs = [ + gcc + musl + binutils + gnumake + gnused + gnugrep + gawk + gzip + gnutarBoot + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/tar --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/tar --version + mkdir $out + ''; - meta = with lib; { - description = "GNU implementation of the `tar' archiver"; - homepage = "https://www.gnu.org/software/tar"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "tar"; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - cd tar-${version} + meta = with lib; { + description = "GNU implementation of the `tar' archiver"; + homepage = "https://www.gnu.org/software/tar"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "tar"; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + cd tar-${version} - # Configure - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - CC=musl-gcc + # Configure + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + CC=musl-gcc - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix index e07561b3e7e5c..f674dcfffa9b5 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix @@ -1,12 +1,13 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnused -, gnugrep +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnused, + gnugrep, }: let pname = "gnutar"; @@ -18,48 +19,51 @@ let sha256 = "02m6gajm647n8l9a5bnld6fnbgdpyi4i3i83p7xcwv0kif47xhy6"; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/tar --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/tar --version + mkdir $out + ''; - meta = with lib; { - description = "GNU implementation of the `tar' archiver"; - homepage = "https://www.gnu.org/software/tar"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "tar"; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output tar.tar - untar --file tar.tar - rm tar.tar - cd tar-${version} + meta = with lib; { + description = "GNU implementation of the `tar' archiver"; + homepage = "https://www.gnu.org/software/tar"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "tar"; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output tar.tar + untar --file tar.tar + rm tar.tar + cd tar-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - bash ./configure \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --disable-nls \ - --prefix=$out + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + bash ./configure \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --disable-nls \ + --prefix=$out - # Build - make AR="tcc -ar" + # Build + make AR="tcc -ar" - # Install - make install -'' + # Install + make install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix index 0818a0de39a2b..84d46b8f5743f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix @@ -1,12 +1,13 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnugrep -, gnused +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnugrep, + gnused, }: let # gnutar with musl preserves modify times, allowing make to not try @@ -19,52 +20,55 @@ let hash = "sha256-xsN+iIsTbM76uQPFEUn0t71lnWnUrqISRfYQU6V6pgo="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/tar --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/tar --version + mkdir $out + ''; - meta = with lib; { - description = "GNU implementation of the `tar' archiver"; - homepage = "https://www.gnu.org/software/tar"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "tar"; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output tar.tar - untar --file tar.tar - rm tar.tar - cd tar-${version} + meta = with lib; { + description = "GNU implementation of the `tar' archiver"; + homepage = "https://www.gnu.org/software/tar"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "tar"; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output tar.tar + untar --file tar.tar + rm tar.tar + cd tar-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export LD=tcc - export ac_cv_sizeof_unsigned_long=4 - export ac_cv_sizeof_long_long=8 - export ac_cv_header_netdb_h=no - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --disable-nls + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export LD=tcc + export ac_cv_sizeof_unsigned_long=4 + export ac_cv_sizeof_long_long=8 + export ac_cv_header_netdb_h=no + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --disable-nls - # Build - make AR="tcc -ar" + # Build + make AR="tcc -ar" - # Install - make install -'' + # Install + make install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gzip/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gzip/default.nix index 39353bf2b48b1..8013bd5a91c5a 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gzip/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gzip/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, bash -, tinycc -, gnumake -, gnused -, gnugrep +{ + lib, + fetchurl, + bash, + tinycc, + gnumake, + gnused, + gnugrep, }: let pname = "gzip"; @@ -15,44 +16,47 @@ let sha256 = "0ryr5b00qz3xcdcv03qwjdfji8pasp0007ay3ppmk71wl8c1i90w"; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/gzip --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/gzip --version + mkdir $out + ''; - meta = with lib; { - description = "GNU zip compression program"; - homepage = "https://www.gnu.org/software/gzip"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - ungz --file ${src} --output gzip.tar - untar --file gzip.tar - rm gzip.tar - cd gzip-${version} + meta = with lib; { + description = "GNU zip compression program"; + homepage = "https://www.gnu.org/software/gzip"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + ungz --file ${src} --output gzip.tar + untar --file gzip.tar + rm gzip.tar + cd gzip-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib -Dstrlwr=unused" - bash ./configure --prefix=$out + # Configure + export CC="tcc -B ${tinycc.libs}/lib -Dstrlwr=unused" + bash ./configure --prefix=$out - # Build - make + # Build + make - # Install - mkdir $out - make install -'' + # Install + mkdir $out + make install + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/heirloom-devtools/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/heirloom-devtools/default.nix index 88637811b9531..5262083a1d0ac 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/heirloom-devtools/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/heirloom-devtools/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchurl -, kaem -, tinycc -, gnumake -, gnupatch -, coreutils +{ + lib, + fetchurl, + kaem, + tinycc, + gnumake, + gnupatch, + coreutils, }: let pname = "heirloom-devtools"; @@ -32,66 +33,72 @@ let }) ]; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; +kaem.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - coreutils - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + coreutils + ]; - meta = with lib; { - description = "Portable yacc and lex derived from OpenSolaris"; - homepage = "https://heirloom.sourceforge.net/devtools.html"; - license = with licenses; [ cddl bsdOriginalUC caldera ]; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - unbz2 --file ${src} --output heirloom-devtools.tar - untar --file heirloom-devtools.tar - rm heirloom-devtools.tar - build=''${NIX_BUILD_TOP}/heirloom-devtools-${version} - cd ''${build} + meta = with lib; { + description = "Portable yacc and lex derived from OpenSolaris"; + homepage = "https://heirloom.sourceforge.net/devtools.html"; + license = with licenses; [ + cddl + bsdOriginalUC + caldera + ]; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + unbz2 --file ${src} --output heirloom-devtools.tar + untar --file heirloom-devtools.tar + rm heirloom-devtools.tar + build=''${NIX_BUILD_TOP}/heirloom-devtools-${version} + cd ''${build} - # Patch - ${lib.concatLines (map (f: "patch -Np0 -i ${f}") patches)} + # Patch + ${lib.concatLines (map (f: "patch -Np0 -i ${f}") patches)} - # Build yacc - cd yacc - make -f Makefile.mk \ - CC="tcc -B ${tinycc.libs}/lib" \ - AR="tcc -ar" \ - CFLAGS="-DMAXPATHLEN=4096 -DEILSEQ=84 -DMB_LEN_MAX=100" \ - LDFLAGS="-lgetopt" \ - RANLIB=true \ - LIBDIR=''${out}/lib + # Build yacc + cd yacc + make -f Makefile.mk \ + CC="tcc -B ${tinycc.libs}/lib" \ + AR="tcc -ar" \ + CFLAGS="-DMAXPATHLEN=4096 -DEILSEQ=84 -DMB_LEN_MAX=100" \ + LDFLAGS="-lgetopt" \ + RANLIB=true \ + LIBDIR=''${out}/lib - # Install yacc - install -D yacc ''${out}/bin/yacc - install -Dm 444 liby.a ''${out}/lib/liby.a - install -Dm 444 yaccpar ''${out}/lib/yaccpar + # Install yacc + install -D yacc ''${out}/bin/yacc + install -Dm 444 liby.a ''${out}/lib/liby.a + install -Dm 444 yaccpar ''${out}/lib/yaccpar - # Make yacc available to lex - PATH="''${out}/bin:''${PATH}" + # Make yacc available to lex + PATH="''${out}/bin:''${PATH}" - # Build lex - cd ../lex - make -f Makefile.mk \ - CC="tcc -B ${tinycc.libs}/lib" \ - AR="tcc -ar" \ - CFLAGS="-DEILSEQ=84 -DMB_LEN_MAX=100" \ - LDFLAGS="-lgetopt" \ - RANLIB=true \ - LIBDIR=''${out}/lib + # Build lex + cd ../lex + make -f Makefile.mk \ + CC="tcc -B ${tinycc.libs}/lib" \ + AR="tcc -ar" \ + CFLAGS="-DEILSEQ=84 -DMB_LEN_MAX=100" \ + LDFLAGS="-lgetopt" \ + RANLIB=true \ + LIBDIR=''${out}/lib - # Install lex - install -D lex ''${out}/bin/lex - install -Dm 444 ncform ''${out}/lib/lex/ncform - install -Dm 444 nceucform ''${out}/lib/lex/nceucform - install -Dm 444 nrform ''${out}/lib/lex/nrform - install -Dm 444 libl.a ''${out}/lib/libl.a -'' + # Install lex + install -D lex ''${out}/bin/lex + install -Dm 444 ncform ''${out}/lib/lex/ncform + install -Dm 444 nceucform ''${out}/lib/lex/nceucform + install -Dm 444 nrform ''${out}/lib/lex/nrform + install -Dm 444 libl.a ''${out}/lib/libl.a + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix index 7e3d29b6d29ec..2eece86cf1d31 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchurl -, bash -, tinycc -, gnumake -, gnupatch -, heirloom-devtools -, heirloom +{ + lib, + fetchurl, + bash, + tinycc, + gnumake, + gnupatch, + heirloom-devtools, + heirloom, }: let pname = "heirloom"; @@ -70,61 +71,63 @@ let "LWCHAR='-L../libwchar -lwchar'" ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - heirloom-devtools - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + heirloom-devtools + ]; - passthru.sed = - bash.runCommand "${pname}-sed-${version}" {} '' + passthru.sed = bash.runCommand "${pname}-sed-${version}" { } '' install -D ${heirloom}/bin/sed $out/bin/sed ''; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/banner Hello Heirloom - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/banner Hello Heirloom + mkdir $out + ''; - meta = with lib; { - description = "Heirloom Toolchest is a collection of standard Unix utilities"; - homepage = "https://heirloom.sourceforge.net/tools.html"; - license = with licenses; [ - # All licenses according to LICENSE/ - zlib - caldera - bsdOriginalUC - cddl - bsd3 - gpl2Plus - lgpl21Plus - lpl-102 - info-zip - ]; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - unbz2 --file ${src} --output heirloom.tar - untar --file heirloom.tar - rm heirloom.tar - cd heirloom-${version} + meta = with lib; { + description = "Heirloom Toolchest is a collection of standard Unix utilities"; + homepage = "https://heirloom.sourceforge.net/tools.html"; + license = with licenses; [ + # All licenses according to LICENSE/ + zlib + caldera + bsdOriginalUC + cddl + bsd3 + gpl2Plus + lgpl21Plus + lpl-102 + info-zip + ]; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + unbz2 --file ${src} --output heirloom.tar + untar --file heirloom.tar + rm heirloom.tar + cd heirloom-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} - cp ${./proctab.c} nawk/proctab.c + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} + cp ${./proctab.c} nawk/proctab.c - # Build - # These tools are required during later build steps - export PATH="$PATH:$PWD/ed:$PWD/nawk:$PWD/sed" - make ${lib.concatStringsSep " " makeFlags} + # Build + # These tools are required during later build steps + export PATH="$PATH:$PWD/ed:$PWD/nawk:$PWD/sed" + make ${lib.concatStringsSep " " makeFlags} - # Install - make install ROOT=$out ${lib.concatStringsSep " " makeFlags} -'' + # Install + make install ROOT=$out ${lib.concatStringsSep " " makeFlags} + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/linux-headers/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/linux-headers/default.nix index 965803c40d8f8..ec3fa5aa7bdf2 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/linux-headers/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/linux-headers/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, bash -, gnutar -, xz +{ + lib, + fetchurl, + bash, + gnutar, + xz, }: let # WARNING: You probably don't want to use this package outside minimal-bootstrap @@ -23,27 +24,29 @@ let sha256 = "0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s"; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - gnutar - xz - ]; + nativeBuildInputs = [ + gnutar + xz + ]; - meta = with lib; { - description = "Header files and scripts for Linux kernel"; - license = licenses.gpl2Only; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.linux; - }; -} '' - # Unpack - cp ${src} linux-headers.tar.xz - unxz linux-headers.tar.xz - tar xf linux-headers.tar + meta = with lib; { + description = "Header files and scripts for Linux kernel"; + license = licenses.gpl2Only; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.linux; + }; + } + '' + # Unpack + cp ${src} linux-headers.tar.xz + unxz linux-headers.tar.xz + tar xf linux-headers.tar - # Install - mkdir $out - cp -r include $out -'' + # Install + mkdir $out + cp -r include $out + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/ln-boot/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/ln-boot/default.nix index c24504ec00a02..0aef4ced911b3 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/ln-boot/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/ln-boot/default.nix @@ -1,6 +1,7 @@ -{ lib -, kaem -, mes +{ + lib, + kaem, + mes, }: let pname = "ln-boot"; @@ -8,21 +9,23 @@ let src = ./ln.c; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; +kaem.runCommand "${pname}-${version}" + { + inherit pname version; - meta = with lib; { - description = "Basic tool for creating symbolic links"; - license = licenses.mit; - maintainers = teams.minimal-bootstrap.members; - mainProgram = "ln"; - platforms = platforms.unix; - }; -} '' - mkdir -p ''${out}/bin - ${mes.compiler}/bin/mes --no-auto-compile -e main ${mes.srcPost.bin}/bin/mescc.scm -- \ - -L ${mes.libs}/lib \ - -lc+tcc \ - -o ''${out}/bin/ln \ - ${src} -'' + meta = with lib; { + description = "Basic tool for creating symbolic links"; + license = licenses.mit; + maintainers = teams.minimal-bootstrap.members; + mainProgram = "ln"; + platforms = platforms.unix; + }; + } + '' + mkdir -p ''${out}/bin + ${mes.compiler}/bin/mes --no-auto-compile -e main ${mes.srcPost.bin}/bin/mescc.scm -- \ + -L ${mes.libs}/lib \ + -lc+tcc \ + -o ''${out}/bin/ln \ + ${src} + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix index 03ce9300f316c..dfde3aff704f2 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/mes/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, callPackage -, kaem -, mescc-tools +{ + lib, + fetchurl, + callPackage, + kaem, + mescc-tools, }: # Maintenance note: @@ -27,7 +28,12 @@ let ''; sources = (import ./sources.nix).x86.linux.mescc; - inherit (sources) libc_mini_SOURCES libmescc_SOURCES libc_SOURCES mes_SOURCES; + inherit (sources) + libc_mini_SOURCES + libmescc_SOURCES + libc_SOURCES + mes_SOURCES + ; # add symlink() to libc+tcc so we can use it in ln-boot libc_tcc_SOURCES = sources.libc_tcc_SOURCES ++ [ "lib/linux/symlink.c" ]; @@ -40,121 +46,132 @@ let platforms = [ "i686-linux" ]; }; - srcPost = kaem.runCommand "${pname}-src-${version}" { - outputs = [ "out" "bin" ]; - inherit meta; - } '' - # Unpack source - ungz --file ${src} --output mes.tar - mkdir ''${out} - cd ''${out} - untar --non-strict --file ''${NIX_BUILD_TOP}/mes.tar # ignore symlinks - - MES_PREFIX=''${out}/mes-${version} - - cd ''${MES_PREFIX} - - cp ${config_h} include/mes/config.h - - mkdir include/arch - cp include/linux/x86/syscall.h include/arch/syscall.h - cp include/linux/x86/kernel-stat.h include/arch/kernel-stat.h - - # Remove pregenerated files - rm mes/module/mes/psyntax.pp mes/module/mes/psyntax.pp.header - - # These files are symlinked in the repo - cp mes/module/srfi/srfi-9-struct.mes mes/module/srfi/srfi-9.mes - cp mes/module/srfi/srfi-9/gnu-struct.mes mes/module/srfi/srfi-9/gnu.mes - - # Remove environment impurities - __GUILE_LOAD_PATH="\"''${MES_PREFIX}/mes/module:''${MES_PREFIX}/module:${nyacc.guilePath}\"" - boot0_scm=mes/module/mes/boot-0.scm - guile_mes=mes/module/mes/guile.mes - replace --file ''${boot0_scm} --output ''${boot0_scm} --match-on "(getenv \"GUILE_LOAD_PATH\")" --replace-with ''${__GUILE_LOAD_PATH} - replace --file ''${guile_mes} --output ''${guile_mes} --match-on "(getenv \"GUILE_LOAD_PATH\")" --replace-with ''${__GUILE_LOAD_PATH} - - module_mescc_scm=module/mescc/mescc.scm - replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"M1\")" --replace-with "\"${mescc-tools}/bin/M1\"" - replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"HEX2\")" --replace-with "\"${mescc-tools}/bin/hex2\"" - replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"BLOOD_ELF\")" --replace-with "\"${mescc-tools}/bin/blood-elf\"" - replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"srcdest\")" --replace-with "\"''${MES_PREFIX}\"" - - mes_c=src/mes.c - replace --file ''${mes_c} --output ''${mes_c} --match-on "getenv (\"MES_PREFIX\")" --replace-with "\"''${MES_PREFIX}\"" - replace --file ''${mes_c} --output ''${mes_c} --match-on "getenv (\"srcdest\")" --replace-with "\"''${MES_PREFIX}\"" - - # Increase runtime resource limits - gc_c=src/gc.c - replace --file ''${gc_c} --output ''${gc_c} --match-on "getenv (\"MES_ARENA\")" --replace-with "\"100000000\"" - replace --file ''${gc_c} --output ''${gc_c} --match-on "getenv (\"MES_MAX_ARENA\")" --replace-with "\"100000000\"" - replace --file ''${gc_c} --output ''${gc_c} --match-on "getenv (\"MES_STACK\")" --replace-with "\"6000000\"" - - # Create mescc.scm - mescc_in=scripts/mescc.scm.in - replace --file ''${mescc_in} --output ''${mescc_in} --match-on "(getenv \"MES_PREFIX\")" --replace-with "\"''${MES_PREFIX}\"" - replace --file ''${mescc_in} --output ''${mescc_in} --match-on "(getenv \"includedir\")" --replace-with "\"''${MES_PREFIX}/include\"" - replace --file ''${mescc_in} --output ''${mescc_in} --match-on "(getenv \"libdir\")" --replace-with "\"''${MES_PREFIX}/lib\"" - replace --file ''${mescc_in} --output ''${mescc_in} --match-on @prefix@ --replace-with ''${MES_PREFIX} - replace --file ''${mescc_in} --output ''${mescc_in} --match-on @VERSION@ --replace-with ${version} - replace --file ''${mescc_in} --output ''${mescc_in} --match-on @mes_cpu@ --replace-with x86 - replace --file ''${mescc_in} --output ''${mescc_in} --match-on @mes_kernel@ --replace-with linux - mkdir -p ''${bin}/bin - cp ''${mescc_in} ''${bin}/bin/mescc.scm - - # Build mes-m2 - kaem --verbose --strict --file kaem.x86 - cp bin/mes-m2 ''${bin}/bin/mes-m2 - chmod 555 ''${bin}/bin/mes-m2 - ''; + srcPost = + kaem.runCommand "${pname}-src-${version}" + { + outputs = [ + "out" + "bin" + ]; + inherit meta; + } + '' + # Unpack source + ungz --file ${src} --output mes.tar + mkdir ''${out} + cd ''${out} + untar --non-strict --file ''${NIX_BUILD_TOP}/mes.tar # ignore symlinks + + MES_PREFIX=''${out}/mes-${version} + + cd ''${MES_PREFIX} + + cp ${config_h} include/mes/config.h + + mkdir include/arch + cp include/linux/x86/syscall.h include/arch/syscall.h + cp include/linux/x86/kernel-stat.h include/arch/kernel-stat.h + + # Remove pregenerated files + rm mes/module/mes/psyntax.pp mes/module/mes/psyntax.pp.header + + # These files are symlinked in the repo + cp mes/module/srfi/srfi-9-struct.mes mes/module/srfi/srfi-9.mes + cp mes/module/srfi/srfi-9/gnu-struct.mes mes/module/srfi/srfi-9/gnu.mes + + # Remove environment impurities + __GUILE_LOAD_PATH="\"''${MES_PREFIX}/mes/module:''${MES_PREFIX}/module:${nyacc.guilePath}\"" + boot0_scm=mes/module/mes/boot-0.scm + guile_mes=mes/module/mes/guile.mes + replace --file ''${boot0_scm} --output ''${boot0_scm} --match-on "(getenv \"GUILE_LOAD_PATH\")" --replace-with ''${__GUILE_LOAD_PATH} + replace --file ''${guile_mes} --output ''${guile_mes} --match-on "(getenv \"GUILE_LOAD_PATH\")" --replace-with ''${__GUILE_LOAD_PATH} + + module_mescc_scm=module/mescc/mescc.scm + replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"M1\")" --replace-with "\"${mescc-tools}/bin/M1\"" + replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"HEX2\")" --replace-with "\"${mescc-tools}/bin/hex2\"" + replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"BLOOD_ELF\")" --replace-with "\"${mescc-tools}/bin/blood-elf\"" + replace --file ''${module_mescc_scm} --output ''${module_mescc_scm} --match-on "(getenv \"srcdest\")" --replace-with "\"''${MES_PREFIX}\"" + + mes_c=src/mes.c + replace --file ''${mes_c} --output ''${mes_c} --match-on "getenv (\"MES_PREFIX\")" --replace-with "\"''${MES_PREFIX}\"" + replace --file ''${mes_c} --output ''${mes_c} --match-on "getenv (\"srcdest\")" --replace-with "\"''${MES_PREFIX}\"" + + # Increase runtime resource limits + gc_c=src/gc.c + replace --file ''${gc_c} --output ''${gc_c} --match-on "getenv (\"MES_ARENA\")" --replace-with "\"100000000\"" + replace --file ''${gc_c} --output ''${gc_c} --match-on "getenv (\"MES_MAX_ARENA\")" --replace-with "\"100000000\"" + replace --file ''${gc_c} --output ''${gc_c} --match-on "getenv (\"MES_STACK\")" --replace-with "\"6000000\"" + + # Create mescc.scm + mescc_in=scripts/mescc.scm.in + replace --file ''${mescc_in} --output ''${mescc_in} --match-on "(getenv \"MES_PREFIX\")" --replace-with "\"''${MES_PREFIX}\"" + replace --file ''${mescc_in} --output ''${mescc_in} --match-on "(getenv \"includedir\")" --replace-with "\"''${MES_PREFIX}/include\"" + replace --file ''${mescc_in} --output ''${mescc_in} --match-on "(getenv \"libdir\")" --replace-with "\"''${MES_PREFIX}/lib\"" + replace --file ''${mescc_in} --output ''${mescc_in} --match-on @prefix@ --replace-with ''${MES_PREFIX} + replace --file ''${mescc_in} --output ''${mescc_in} --match-on @VERSION@ --replace-with ${version} + replace --file ''${mescc_in} --output ''${mescc_in} --match-on @mes_cpu@ --replace-with x86 + replace --file ''${mescc_in} --output ''${mescc_in} --match-on @mes_kernel@ --replace-with linux + mkdir -p ''${bin}/bin + cp ''${mescc_in} ''${bin}/bin/mescc.scm + + # Build mes-m2 + kaem --verbose --strict --file kaem.x86 + cp bin/mes-m2 ''${bin}/bin/mes-m2 + chmod 555 ''${bin}/bin/mes-m2 + ''; srcPrefix = "${srcPost.out}/mes-${version}"; cc = "${srcPost.bin}/bin/mes-m2"; ccArgs = [ - "-e" "main" + "-e" + "main" "${srcPost.bin}/bin/mescc.scm" "--" - "-D" "HAVE_CONFIG_H=1" - "-I" "${srcPrefix}/include" - "-I" "${srcPrefix}/include/linux/x86" + "-D" + "HAVE_CONFIG_H=1" + "-I" + "${srcPrefix}/include" + "-I" + "${srcPrefix}/include/linux/x86" ]; CC = toString ([ cc ] ++ ccArgs); - stripExt = source: - lib.replaceStrings - [ ".c" ] - [ "" ] - (builtins.baseNameOf source); + stripExt = source: lib.replaceStrings [ ".c" ] [ "" ] (builtins.baseNameOf source); - compile = source: kaem.runCommand (stripExt source) {} '' - mkdir ''${out} - cd ''${out} - ${CC} -c ${srcPrefix}/${source} - ''; + compile = + source: + kaem.runCommand (stripExt source) { } '' + mkdir ''${out} + cd ''${out} + ${CC} -c ${srcPrefix}/${source} + ''; crt1 = compile "/lib/linux/x86-mes-mescc/crt1.c"; getRes = suffix: res: "${res}/${res.name}${suffix}"; - archive = out: sources: - "catm ${out} ${lib.concatMapStringsSep " " (getRes ".o") sources}"; - sourceArchive = out: sources: - "catm ${out} ${lib.concatMapStringsSep " " (getRes ".s") sources}"; - - mkLib = libname: sources: let - os = map compile sources; - in kaem.runCommand "${pname}-${libname}-${version}" { - inherit meta; - } '' - LIBDIR=''${out}/lib - mkdir -p ''${LIBDIR} - cd ''${LIBDIR} - - ${archive "${libname}.a" os} - ${sourceArchive "${libname}.s" os} - ''; + archive = out: sources: "catm ${out} ${lib.concatMapStringsSep " " (getRes ".o") sources}"; + sourceArchive = out: sources: "catm ${out} ${lib.concatMapStringsSep " " (getRes ".s") sources}"; + + mkLib = + libname: sources: + let + os = map compile sources; + in + kaem.runCommand "${pname}-${libname}-${version}" + { + inherit meta; + } + '' + LIBDIR=''${out}/lib + mkdir -p ''${LIBDIR} + cd ''${LIBDIR} + + ${archive "${libname}.a" os} + ${sourceArchive "${libname}.s" os} + ''; libc-mini = mkLib "libc-mini" libc_mini_SOURCES; libmescc = mkLib "libmescc" libmescc_SOURCES; @@ -162,68 +179,82 @@ let libc_tcc = mkLib "libc+tcc" libc_tcc_SOURCES; # Recompile Mes and Mes C library using mes-m2 bootstrapped Mes - libs = kaem.runCommand "${pname}-m2-libs-${version}" { - inherit pname version; - - passthru.tests.get-version = result: kaem.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/mes --version - mkdir ''${out} - ''; - - inherit meta; - } - '' - LIBDIR=''${out}/lib - mkdir -p ''${out} ''${LIBDIR} - - mkdir -p ''${LIBDIR}/x86-mes - - # crt1.o - cp ${crt1}/crt1.o ''${LIBDIR}/x86-mes - cp ${crt1}/crt1.s ''${LIBDIR}/x86-mes - - # libc-mini.a - cp ${libc-mini}/lib/libc-mini.a ''${LIBDIR}/x86-mes - cp ${libc-mini}/lib/libc-mini.s ''${LIBDIR}/x86-mes - - # libmescc.a - cp ${libmescc}/lib/libmescc.a ''${LIBDIR}/x86-mes - cp ${libmescc}/lib/libmescc.s ''${LIBDIR}/x86-mes - - # libc.a - cp ${libc}/lib/libc.a ''${LIBDIR}/x86-mes - cp ${libc}/lib/libc.s ''${LIBDIR}/x86-mes - - # libc+tcc.a - cp ${libc_tcc}/lib/libc+tcc.a ''${LIBDIR}/x86-mes - cp ${libc_tcc}/lib/libc+tcc.s ''${LIBDIR}/x86-mes - ''; + libs = + kaem.runCommand "${pname}-m2-libs-${version}" + { + inherit pname version; + + passthru.tests.get-version = + result: + kaem.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/mes --version + mkdir ''${out} + ''; + + inherit meta; + } + '' + LIBDIR=''${out}/lib + mkdir -p ''${out} ''${LIBDIR} + + mkdir -p ''${LIBDIR}/x86-mes + + # crt1.o + cp ${crt1}/crt1.o ''${LIBDIR}/x86-mes + cp ${crt1}/crt1.s ''${LIBDIR}/x86-mes + + # libc-mini.a + cp ${libc-mini}/lib/libc-mini.a ''${LIBDIR}/x86-mes + cp ${libc-mini}/lib/libc-mini.s ''${LIBDIR}/x86-mes + + # libmescc.a + cp ${libmescc}/lib/libmescc.a ''${LIBDIR}/x86-mes + cp ${libmescc}/lib/libmescc.s ''${LIBDIR}/x86-mes + + # libc.a + cp ${libc}/lib/libc.a ''${LIBDIR}/x86-mes + cp ${libc}/lib/libc.s ''${LIBDIR}/x86-mes + + # libc+tcc.a + cp ${libc_tcc}/lib/libc+tcc.a ''${LIBDIR}/x86-mes + cp ${libc_tcc}/lib/libc+tcc.s ''${LIBDIR}/x86-mes + ''; # Build mes itself - compiler = kaem.runCommand "${pname}-${version}" { - inherit pname version; - - passthru.tests.get-version = result: kaem.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/mes --version - mkdir ''${out} - ''; - - inherit meta; - } - '' - mkdir -p ''${out}/bin - - ${srcPost.bin}/bin/mes-m2 -e main ${srcPost.bin}/bin/mescc.scm -- \ - -L ''${srcPrefix}/lib \ - -L ${libs}/lib \ - -lc \ - -lmescc \ - -nostdlib \ - -o ''${out}/bin/mes \ - ${libs}/lib/x86-mes/crt1.o \ - ${lib.concatMapStringsSep " " (getRes ".o") (map compile mes_SOURCES)} - ''; -in { - inherit src srcPost srcPrefix nyacc; + compiler = + kaem.runCommand "${pname}-${version}" + { + inherit pname version; + + passthru.tests.get-version = + result: + kaem.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/mes --version + mkdir ''${out} + ''; + + inherit meta; + } + '' + mkdir -p ''${out}/bin + + ${srcPost.bin}/bin/mes-m2 -e main ${srcPost.bin}/bin/mescc.scm -- \ + -L ''${srcPrefix}/lib \ + -L ${libs}/lib \ + -lc \ + -lmescc \ + -nostdlib \ + -o ''${out}/bin/mes \ + ${libs}/lib/x86-mes/crt1.o \ + ${lib.concatMapStringsSep " " (getRes ".o") (map compile mes_SOURCES)} + ''; +in +{ + inherit + src + srcPost + srcPrefix + nyacc + ; inherit compiler libs; } diff --git a/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix b/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix index c6c89b98a2701..e1224326e7204 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix @@ -1,8 +1,9 @@ -{ lib -, kaem -, ln-boot -, mes -, mes-libc +{ + lib, + kaem, + ln-boot, + mes, + mes-libc, }: let pname = "mes-libc"; @@ -20,41 +21,43 @@ let firstLibc = lib.take 100 libc_gnu_SOURCES; lastLibc = lib.drop 100 libc_gnu_SOURCES; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; - - nativeBuildInputs = [ ln-boot ]; - - passthru.CFLAGS = "-DHAVE_CONFIG_H=1 -I${mes-libc}/include -I${mes-libc}/include/linux/x86"; - - meta = with lib; { - description = "Mes C Library"; - homepage = "https://www.gnu.org/software/mes"; - license = licenses.gpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = [ "i686-linux" ]; - }; -} '' - cd ${mes.srcPrefix} - - # mescc compiled libc.a - mkdir -p ''${out}/lib/x86-mes - - # libc.c - catm ''${TMPDIR}/first.c ${lib.concatStringsSep " " firstLibc} - catm ''${out}/lib/libc.c ''${TMPDIR}/first.c ${lib.concatStringsSep " " lastLibc} - - # crt{1,n,i}.c - cp lib/linux/x86-mes-gcc/crt1.c ''${out}/lib - cp lib/linux/x86-mes-gcc/crtn.c ''${out}/lib - cp lib/linux/x86-mes-gcc/crti.c ''${out}/lib - - # libtcc1.c - catm ''${out}/lib/libtcc1.c ${lib.concatStringsSep " " libtcc1_SOURCES} - - # getopt.c - cp lib/posix/getopt.c ''${out}/lib/libgetopt.c - - # Install headers - ln -s ${mes.srcPrefix}/include ''${out}/include -'' +kaem.runCommand "${pname}-${version}" + { + inherit pname version; + + nativeBuildInputs = [ ln-boot ]; + + passthru.CFLAGS = "-DHAVE_CONFIG_H=1 -I${mes-libc}/include -I${mes-libc}/include/linux/x86"; + + meta = with lib; { + description = "Mes C Library"; + homepage = "https://www.gnu.org/software/mes"; + license = licenses.gpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = [ "i686-linux" ]; + }; + } + '' + cd ${mes.srcPrefix} + + # mescc compiled libc.a + mkdir -p ''${out}/lib/x86-mes + + # libc.c + catm ''${TMPDIR}/first.c ${lib.concatStringsSep " " firstLibc} + catm ''${out}/lib/libc.c ''${TMPDIR}/first.c ${lib.concatStringsSep " " lastLibc} + + # crt{1,n,i}.c + cp lib/linux/x86-mes-gcc/crt1.c ''${out}/lib + cp lib/linux/x86-mes-gcc/crtn.c ''${out}/lib + cp lib/linux/x86-mes-gcc/crti.c ''${out}/lib + + # libtcc1.c + catm ''${out}/lib/libtcc1.c ${lib.concatStringsSep " " libtcc1_SOURCES} + + # getopt.c + cp lib/posix/getopt.c ''${out}/lib/libgetopt.c + + # Install headers + ln -s ${mes.srcPrefix}/include ''${out}/include + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix b/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix index c384b4a4c0b43..12e7b1f833c62 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/mes/nyacc.nix @@ -1,7 +1,8 @@ -{ lib -, fetchurl -, kaem -, nyacc +{ + lib, + fetchurl, + kaem, + nyacc, }: let pname = "nyacc"; @@ -15,25 +16,27 @@ let sha256 = "065ksalfllbdrzl12dz9d9dcxrv97wqxblslngsc6kajvnvlyvpk"; }; in -kaem.runCommand "${pname}-${version}" { - inherit pname version; +kaem.runCommand "${pname}-${version}" + { + inherit pname version; - passthru.guilePath = "${nyacc}/share/${pname}-${version}/module"; + passthru.guilePath = "${nyacc}/share/${pname}-${version}/module"; - meta = with lib; { - description = "Modules for generating parsers and lexical analyzers"; - longDescription = '' - Not Yet Another Compiler Compiler is a set of guile modules for - generating computer language parsers and lexical analyzers. - ''; - homepage = "https://savannah.nongnu.org/projects/nyacc"; - license = licenses.lgpl3Plus; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.all; - }; -} '' - ungz --file ${src} --output nyacc.tar - mkdir -p ''${out}/share - cd ''${out}/share - untar --file ''${NIX_BUILD_TOP}/nyacc.tar -'' + meta = with lib; { + description = "Modules for generating parsers and lexical analyzers"; + longDescription = '' + Not Yet Another Compiler Compiler is a set of guile modules for + generating computer language parsers and lexical analyzers. + ''; + homepage = "https://savannah.nongnu.org/projects/nyacc"; + license = licenses.lgpl3Plus; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.all; + }; + } + '' + ungz --file ${src} --output nyacc.tar + mkdir -p ''${out}/share + cd ''${out}/share + untar --file ''${NIX_BUILD_TOP}/nyacc.tar + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix b/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix index 704ee42edeb16..4ec34686cb575 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnupatch -, gnused -, gnugrep -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnupatch, + gnused, + gnugrep, + gnutar, + gzip, }: let @@ -66,51 +67,53 @@ let }) ]; in -bash.runCommand "${pname}-${version}" { - inherit pname version meta; +bash.runCommand "${pname}-${version}" + { + inherit pname version meta; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnupatch - gnused - gnugrep - gnutar - gzip - ]; -} '' - # Unpack - tar xzf ${src} - cd musl-${version} + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnupatch + gnused + gnugrep + gnutar + gzip + ]; + } + '' + # Unpack + tar xzf ${src} + cd musl-${version} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} - # tcc does not support complex types - rm -rf src/complex - # Configure fails without this - mkdir -p /dev - # https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a3-intermediate-musl.nix - sed -i 's|/bin/sh|${bash}/bin/bash|' \ - tools/*.sh - chmod 755 tools/*.sh - # patch popen/system to search in PATH instead of hardcoding /bin/sh - sed -i 's|posix_spawn(&pid, "/bin/sh",|posix_spawnp(\&pid, "sh",|' \ - src/stdio/popen.c src/process/system.c - sed -i 's|execl("/bin/sh", "sh", "-c",|execlp("sh", "-c",|'\ - src/misc/wordexp.c + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} + # tcc does not support complex types + rm -rf src/complex + # Configure fails without this + mkdir -p /dev + # https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a3-intermediate-musl.nix + sed -i 's|/bin/sh|${bash}/bin/bash|' \ + tools/*.sh + chmod 755 tools/*.sh + # patch popen/system to search in PATH instead of hardcoding /bin/sh + sed -i 's|posix_spawn(&pid, "/bin/sh",|posix_spawnp(\&pid, "sh",|' \ + src/stdio/popen.c src/process/system.c + sed -i 's|execl("/bin/sh", "sh", "-c",|execlp("sh", "-c",|'\ + src/misc/wordexp.c - # Configure - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --disable-shared \ - CC=tcc + # Configure + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --disable-shared \ + CC=tcc - # Build - make AR="tcc -ar" RANLIB=true CFLAGS="-DSYSCALL_NO_TLS" + # Build + make AR="tcc -ar" RANLIB=true CFLAGS="-DSYSCALL_NO_TLS" - # Install - make install - cp ${tinycc.libs}/lib/libtcc1.a $out/lib -'' + # Install + make install + cp ${tinycc.libs}/lib/libtcc1.a $out/lib + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix index 437ef342f6aee..138e530efb5dc 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, gcc -, binutils -, gnumake -, gnugrep -, gnused -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + gcc, + binutils, + gnumake, + gnugrep, + gnused, + gnutar, + gzip, }: let inherit (import ./common.nix { inherit lib; }) pname meta; @@ -20,62 +21,71 @@ let hash = "sha256-ejXq4z1TcqfA2hGI3nmHJvaIJVE7euPr6XqqpSEU8Dk="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version meta; +bash.runCommand "${pname}-${version}" + { + inherit pname version meta; - nativeBuildInputs = [ - gcc - binutils - gnumake - gnused - gnugrep - gnutar - gzip - ]; + nativeBuildInputs = [ + gcc + binutils + gnumake + gnused + gnugrep + gnutar + gzip + ]; - passthru.tests.hello-world = result: - bash.runCommand "${pname}-simple-program-${version}" { - nativeBuildInputs = [ gcc binutils result ]; - } '' - cat <> test.c - #include - int main() { - printf("Hello World!\n"); - return 0; + passthru.tests.hello-world = + result: + bash.runCommand "${pname}-simple-program-${version}" + { + nativeBuildInputs = [ + gcc + binutils + result + ]; } - EOF - musl-gcc -o test test.c - ./test - mkdir $out - ''; -} '' - # Unpack - tar xzf ${src} - cd musl-${version} + '' + cat <> test.c + #include + int main() { + printf("Hello World!\n"); + return 0; + } + EOF + musl-gcc -o test test.c + ./test + mkdir $out + ''; + } + '' + # Unpack + tar xzf ${src} + cd musl-${version} - # Patch - # https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a3-intermediate-musl.nix - sed -i 's|/bin/sh|${bash}/bin/bash|' \ - tools/*.sh - # patch popen/system to search in PATH instead of hardcoding /bin/sh - sed -i 's|posix_spawn(&pid, "/bin/sh",|posix_spawnp(\&pid, "sh",|' \ - src/stdio/popen.c src/process/system.c - sed -i 's|execl("/bin/sh", "sh", "-c",|execlp("sh", "-c",|'\ - src/misc/wordexp.c + # Patch + # https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a3-intermediate-musl.nix + sed -i 's|/bin/sh|${bash}/bin/bash|' \ + tools/*.sh + # patch popen/system to search in PATH instead of hardcoding /bin/sh + sed -i 's|posix_spawn(&pid, "/bin/sh",|posix_spawnp(\&pid, "sh",|' \ + src/stdio/popen.c src/process/system.c + sed -i 's|execl("/bin/sh", "sh", "-c",|execlp("sh", "-c",|'\ + src/misc/wordexp.c - # Configure - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --syslibdir=$out/lib \ - --enable-wrapper + # Configure + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --syslibdir=$out/lib \ + --enable-wrapper - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install - sed -i 's|/bin/sh|${bash}/bin/bash|' $out/bin/* - ln -s ../lib/libc.so $out/bin/ldd -'' + # Install + make -j $NIX_BUILD_CORES install + sed -i 's|/bin/sh|${bash}/bin/bash|' $out/bin/* + ln -s ../lib/libc.so $out/bin/ldd + '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix index 7f2e8ab81a39e..200e2d51bc695 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix @@ -1,4 +1,5 @@ -{ hostPlatform +{ + hostPlatform, }: rec { @@ -9,58 +10,58 @@ rec { outputHash = "sha256-epUaShjKiAd749ICvc6rS6WhUkS8R4heKuPdwUjEtsQ="; /* - Since `make-minimal-bootstrap-sources` requires nixpkgs and nix it - will create a circular dependency if it is used in place of the - binary bootstrap-files. To break the circular dependency, - `minimal-bootstrap-sources` extends `make-minimal-bootstrap-sources` - by adding Fixed Output Derivation (FOD) attributes. These cause - the builder to be skipped if the expected output is found (by - its hash) in the store or on a substituter. + Since `make-minimal-bootstrap-sources` requires nixpkgs and nix it + will create a circular dependency if it is used in place of the + binary bootstrap-files. To break the circular dependency, + `minimal-bootstrap-sources` extends `make-minimal-bootstrap-sources` + by adding Fixed Output Derivation (FOD) attributes. These cause + the builder to be skipped if the expected output is found (by + its hash) in the store or on a substituter. - # How do I update the hash? + # How do I update the hash? - Run the following command: - ``` - nix hash path $(nix build --print-out-paths -f '' make-minimal-bootstrap-sources) - ``` + Run the following command: + ``` + nix hash path $(nix build --print-out-paths -f '' make-minimal-bootstrap-sources) + ``` - # Why do we need this `.nar` archive? + # Why do we need this `.nar` archive? - This archive exists only because of a quirk/limitation of Nix: in - restricted mode the builtin fetchers can download only single - files; they have no way to unpack multi-file archives except for - NAR archives: + This archive exists only because of a quirk/limitation of Nix: in + restricted mode the builtin fetchers can download only single + files; they have no way to unpack multi-file archives except for + NAR archives: - https://github.com/NixOS/nixpkgs/pull/232576#issuecomment-1592415619 + https://github.com/NixOS/nixpkgs/pull/232576#issuecomment-1592415619 - # Why don't we have to upload this to tarballs.nixos.org like the binary bootstrap-files did? + # Why don't we have to upload this to tarballs.nixos.org like the binary bootstrap-files did? - Unlike this archive, the binary bootstrap-files contained binaries, - which meant that we had to: + Unlike this archive, the binary bootstrap-files contained binaries, + which meant that we had to: - 1. Make sure they came from a trusted builder (Hydra) - 2. Keep careful track of exactly what toolchain (i.e. nixpkgs - commit) that builder used to create them. - 3. Keep copies of the built binaries, in case the toolchains that - produced them failed to be perfectly deterministic. + 1. Make sure they came from a trusted builder (Hydra) + 2. Keep careful track of exactly what toolchain (i.e. nixpkgs + commit) that builder used to create them. + 3. Keep copies of the built binaries, in case the toolchains that + produced them failed to be perfectly deterministic. - The curated archives at tarballs.nixos.org exist in order to - satisfy these requirements. + The curated archives at tarballs.nixos.org exist in order to + satisfy these requirements. - The second point created a significant burden: since the nixpkgs - toolchain used to build a given copy of the binary bootstrap-files - itself used a *previous* copy of the bootstrap-files, this meant - we had to track the provenance of all bootstrap-files tarballs - ever used, for all eternity. There was no explanation of where - the "original" bootstrap-files came from: turtles all the way - down. In spite of all this effort we still can't be sure of our - ability to reproduce the binary bootstrap-files, since the - compilers that built them don't always produce exactly bit-for-bit - deterministic results. + The second point created a significant burden: since the nixpkgs + toolchain used to build a given copy of the binary bootstrap-files + itself used a *previous* copy of the bootstrap-files, this meant + we had to track the provenance of all bootstrap-files tarballs + ever used, for all eternity. There was no explanation of where + the "original" bootstrap-files came from: turtles all the way + down. In spite of all this effort we still can't be sure of our + ability to reproduce the binary bootstrap-files, since the + compilers that built them don't always produce exactly bit-for-bit + deterministic results. - Since this archive contains no binaries and uses a format (NAR) - specifically designed for bit-exact reproducibility, none of the - requirements above apply to `minimal-bootstrap-sources`. + Since this archive contains no binaries and uses a format (NAR) + specifically designed for bit-exact reproducibility, none of the + requirements above apply to `minimal-bootstrap-sources`. */ minimal-bootstrap-sources = derivation { inherit name; diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/default.nix index 9f3d61b92bc91..bedcb52ede756 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/default.nix @@ -1,27 +1,42 @@ -{ lib -, newScope +{ + lib, + newScope, }: -lib.makeScope newScope (self: with self; { - inherit (callPackage ./platforms.nix { }) platforms stage0Arch m2libcArch m2libcOS baseAddress; +lib.makeScope newScope ( + self: with self; { + inherit (callPackage ./platforms.nix { }) + platforms + stage0Arch + m2libcArch + m2libcOS + baseAddress + ; - inherit (self.callPackage ./bootstrap-sources.nix {}) version minimal-bootstrap-sources; + inherit (self.callPackage ./bootstrap-sources.nix { }) version minimal-bootstrap-sources; - src = minimal-bootstrap-sources; + src = minimal-bootstrap-sources; - m2libc = src + "/M2libc"; + m2libc = src + "/M2libc"; - hex0 = callPackage ./hex0.nix { }; - inherit (self.hex0) hex0-seed; + hex0 = callPackage ./hex0.nix { }; + inherit (self.hex0) hex0-seed; - kaem = callPackage ./kaem { }; - kaem-minimal = callPackage ./kaem/minimal.nix { }; + kaem = callPackage ./kaem { }; + kaem-minimal = callPackage ./kaem/minimal.nix { }; - mescc-tools-boot = callPackage ./mescc-tools-boot.nix { }; + mescc-tools-boot = callPackage ./mescc-tools-boot.nix { }; - inherit (self.mescc-tools-boot) blood-elf-0 hex2 kaem-unwrapped M1 M2; + inherit (self.mescc-tools-boot) + blood-elf-0 + hex2 + kaem-unwrapped + M1 + M2 + ; - mescc-tools = callPackage ./mescc-tools { }; + mescc-tools = callPackage ./mescc-tools { }; - mescc-tools-extra = callPackage ./mescc-tools-extra { }; -}) + mescc-tools-extra = callPackage ./mescc-tools-extra { }; + } +) diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix index 9808e25711c15..cc6dbfca73ce3 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix @@ -1,18 +1,21 @@ -{ lib -, derivationWithMeta -, hostPlatform -, src -, version -, platforms -, stage0Arch +{ + lib, + derivationWithMeta, + hostPlatform, + src, + version, + platforms, + stage0Arch, }: let - hash = { - "AArch64" = "sha256-XTPsoKeI6wTZAF0UwEJPzuHelWOJe//wXg4HYO0dEJo="; - "AMD64" = "sha256-RCgK9oZRDQUiWLVkcIBSR2HeoB+Bh0czthrpjFEkCaY="; - "x86" = "sha256-QU3RPGy51W7M2xnfFY1IqruKzusrSLU+L190ztN6JW8="; - }.${stage0Arch} or (throw "Unsupported system: ${hostPlatform.system}"); + hash = + { + "AArch64" = "sha256-XTPsoKeI6wTZAF0UwEJPzuHelWOJe//wXg4HYO0dEJo="; + "AMD64" = "sha256-RCgK9oZRDQUiWLVkcIBSR2HeoB+Bh0czthrpjFEkCaY="; + "x86" = "sha256-QU3RPGy51W7M2xnfFY1IqruKzusrSLU+L190ztN6JW8="; + } + .${stage0Arch} or (throw "Unsupported system: ${hostPlatform.system}"); # Pinned from https://github.com/oriansj/stage0-posix/commit/3189b5f325b7ef8b88e3edec7c1cde4fce73c76c # This 256 byte seed is the only pre-compiled binary in the bootstrap chain. diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/default.nix index 547790835c5d5..a18bb717a8576 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/default.nix @@ -1,12 +1,13 @@ -{ lib -, derivationWithMeta -, writeText -, kaem -, kaem-unwrapped -, mescc-tools -, mescc-tools-extra -, version -, platforms +{ + lib, + derivationWithMeta, + writeText, + kaem, + kaem-unwrapped, + mescc-tools, + mescc-tools-extra, + version, + platforms, }: # Once mescc-tools-extra is available we can install kaem at /bin/kaem @@ -27,20 +28,31 @@ derivationWithMeta { ]; PATH = lib.makeBinPath [ mescc-tools-extra ]; - passthru.runCommand = name: env: buildCommand: - derivationWithMeta ({ - inherit name; + passthru.runCommand = + name: env: buildCommand: + derivationWithMeta ( + { + inherit name; - builder = "${kaem}/bin/kaem"; - args = [ - "--verbose" - "--strict" - "--file" - (writeText "${name}-builder" buildCommand) - ]; + builder = "${kaem}/bin/kaem"; + args = [ + "--verbose" + "--strict" + "--file" + (writeText "${name}-builder" buildCommand) + ]; - PATH = lib.makeBinPath ((env.nativeBuildInputs or []) ++ [ kaem mescc-tools mescc-tools-extra ]); - } // (builtins.removeAttrs env [ "nativeBuildInputs" ])); + PATH = lib.makeBinPath ( + (env.nativeBuildInputs or [ ]) + ++ [ + kaem + mescc-tools + mescc-tools-extra + ] + ); + } + // (builtins.removeAttrs env [ "nativeBuildInputs" ]) + ); meta = with lib; { description = "Minimal build tool for running scripts on systems that lack any shell"; diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/minimal.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/minimal.nix index ae31302894aab..51fb5f5115f40 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/minimal.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/kaem/minimal.nix @@ -1,10 +1,11 @@ -{ lib -, derivationWithMeta -, src -, hex0 -, version -, platforms -, stage0Arch +{ + lib, + derivationWithMeta, + src, + hex0, + version, + platforms, + stage0Arch, }: derivationWithMeta { inherit version; @@ -23,4 +24,3 @@ derivationWithMeta { inherit platforms; }; } - diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix index 6cc7cddb82af4..82f38b7d939cf 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix @@ -11,10 +11,11 @@ # nix-build '' -A make-minimal-bootstrap-sources # -{ lib -, hostPlatform -, fetchFromGitHub -, fetchpatch +{ + lib, + hostPlatform, + fetchFromGitHub, + fetchpatch, }: let @@ -42,10 +43,12 @@ fetchFromGitHub { # aarch64: syscall: mkdir -> mkdirat # https://github.com/oriansj/M2libc/pull/17 - patch -Np1 -d $out/M2libc -i ${(fetchpatch { - url = "https://github.com/oriansj/M2libc/commit/ff7c3023b3ab6cfcffc5364620b25f8d0279e96b.patch"; - hash = "sha256-QAKddv4TixIQHpFa9SVu9fAkeKbzhQaxjaWzW2yJy7A="; - })} + patch -Np1 -d $out/M2libc -i ${ + (fetchpatch { + url = "https://github.com/oriansj/M2libc/commit/ff7c3023b3ab6cfcffc5364620b25f8d0279e96b.patch"; + hash = "sha256-QAKddv4TixIQHpFa9SVu9fAkeKbzhQaxjaWzW2yJy7A="; + }) + } ''; meta = with lib; { diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix index 2114ffc707b18..c4ece4d085535 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix @@ -27,17 +27,18 @@ # Warning all binaries prior to the use of blood-elf will not be readable by # Objdump, you may need to use ndism or gdb to view the assembly in the binary. -{ lib -, derivationWithMeta -, hostPlatform -, hex0 -, m2libc -, src -, version -, platforms -, stage0Arch -, m2libcArch -, baseAddress +{ + lib, + derivationWithMeta, + hostPlatform, + hex0, + m2libc, + src, + version, + platforms, + stage0Arch, + m2libcArch, + baseAddress, }: rec { out = placeholder "out"; @@ -46,9 +47,15 @@ rec { bloodFlags = lib.optional hostPlatform.is64bit "--64"; - run = pname: builder: args: + run = + pname: builder: args: derivationWithMeta { - inherit pname version builder args; + inherit + pname + version + builder + args + ; meta = with lib; { description = "Collection of tools written for use in bootstrapping"; @@ -63,7 +70,10 @@ rec { # Phase-1 Build hex1 from hex0 # ################################ - hex1 = run "hex1" hex0 ["${src}/${stage0Arch}/hex1_${stage0Arch}.hex0" out]; + hex1 = run "hex1" hex0 [ + "${src}/${stage0Arch}/hex1_${stage0Arch}.hex0" + out + ]; # hex1 adds support for single character labels and is available in various forms # in mescc-tools/x86_bootstrap to allow you various ways to verify correctness @@ -72,7 +82,10 @@ rec { # Phase-2 Build hex2 from hex1 # ################################ - hex2-0 = run "hex2" hex1 ["${src}/${stage0Arch}/hex2_${stage0Arch}.hex1" out]; + hex2-0 = run "hex2" hex1 [ + "${src}/${stage0Arch}/hex2_${stage0Arch}.hex1" + out + ]; # hex2 adds support for long labels and absolute addresses thus allowing it # to function as an effective linker for later stages of the bootstrap @@ -85,9 +98,15 @@ rec { catm = if hostPlatform.isAarch64 then - run "catm" hex1 ["${src}/${stage0Arch}/catm_${stage0Arch}.hex1" out] + run "catm" hex1 [ + "${src}/${stage0Arch}/catm_${stage0Arch}.hex1" + out + ] else - run "catm" hex2-0 ["${src}/${stage0Arch}/catm_${stage0Arch}.hex2" out]; + run "catm" hex2-0 [ + "${src}/${stage0Arch}/catm_${stage0Arch}.hex2" + out + ]; # catm removes the need for cat or shell support for redirection by providing # equivalent functionality via catm output_file input1 input2 ... inputN @@ -96,8 +115,15 @@ rec { # Phase-3 Build M0 from hex2 # ############################## - M0_hex2 = run "M0.hex2" catm [out "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" "${src}/${stage0Arch}/M0_${stage0Arch}.hex2"]; - M0 = run "M0" hex2-0 [M0_hex2 out]; + M0_hex2 = run "M0.hex2" catm [ + out + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" + "${src}/${stage0Arch}/M0_${stage0Arch}.hex2" + ]; + M0 = run "M0" hex2-0 [ + M0_hex2 + out + ]; # M0 is the architecture specific version of M1 and is by design single # architecture only and will be replaced by the C code version of M1 @@ -106,9 +132,19 @@ rec { # Phase-4 Build cc_arch from M0 # ################################ - cc_arch-0_hex2 = run "cc_arch-0.hex2" M0 ["${src}/${stage0Arch}/cc_${m2libcArch}.M1" out]; - cc_arch-1_hex2 = run "cc_arch-1.hex2" catm [out "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" cc_arch-0_hex2]; - cc_arch = run "cc_arch" hex2-0 [cc_arch-1_hex2 out]; + cc_arch-0_hex2 = run "cc_arch-0.hex2" M0 [ + "${src}/${stage0Arch}/cc_${m2libcArch}.M1" + out + ]; + cc_arch-1_hex2 = run "cc_arch-1.hex2" catm [ + out + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" + cc_arch-0_hex2 + ]; + cc_arch = run "cc_arch" hex2-0 [ + cc_arch-1_hex2 + out + ]; ######################################## # Phase-5 Build M2-Planet from cc_arch # @@ -127,30 +163,69 @@ rec { "${src}/M2-Planet/cc_macro.c" "${src}/M2-Planet/cc.c" ]; - M2-0_M1 = run "M2-0.M1" cc_arch [M2-0_c out]; - M2-0-0_M1 = run "M2-0-0.M1" catm [out "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" "${m2libc}/${m2libcArch}/libc-core.M1" M2-0_M1]; - M2-0_hex2 = run "M2-0.hex2" M0 [M2-0-0_M1 out]; - M2-0-0_hex2 = run "M2-0-0.hex2" catm [out "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" M2-0_hex2]; - M2 = run "M2" hex2-0 [M2-0-0_hex2 out]; + M2-0_M1 = run "M2-0.M1" cc_arch [ + M2-0_c + out + ]; + M2-0-0_M1 = run "M2-0-0.M1" catm [ + out + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "${m2libc}/${m2libcArch}/libc-core.M1" + M2-0_M1 + ]; + M2-0_hex2 = run "M2-0.hex2" M0 [ + M2-0-0_M1 + out + ]; + M2-0-0_hex2 = run "M2-0-0.hex2" catm [ + out + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" + M2-0_hex2 + ]; + M2 = run "M2" hex2-0 [ + M2-0-0_hex2 + out + ]; ############################################ # Phase-6 Build blood-elf-0 from C sources # ############################################ blood-elf-0_M1 = run "blood-elf-0.M1" M2 [ - "--architecture" m2libcArch - "-f" "${m2libc}/${m2libcArch}/linux/bootstrap.c" - "-f" "${m2libc}/bootstrappable.c" - "-f" "${src}/mescc-tools/stringify.c" - "-f" "${src}/mescc-tools/blood-elf.c" + "--architecture" + m2libcArch + "-f" + "${m2libc}/${m2libcArch}/linux/bootstrap.c" + "-f" + "${m2libc}/bootstrappable.c" + "-f" + "${src}/mescc-tools/stringify.c" + "-f" + "${src}/mescc-tools/blood-elf.c" "--bootstrap-mode" - "-o" out + "-o" + out ]; - blood-elf-0-0_M1 = run "blood-elf-0-0.M1" catm [out "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" "${m2libc}/${m2libcArch}/libc-core.M1" blood-elf-0_M1]; - blood-elf-0_hex2 = run "blood-elf-0.hex2" M0 [blood-elf-0-0_M1 out]; - blood-elf-0-0_hex2 = run "blood-elf-0-0.hex2" catm [out "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" blood-elf-0_hex2]; - blood-elf-0 = run "blood-elf-0" hex2-0 [blood-elf-0-0_hex2 out]; + blood-elf-0-0_M1 = run "blood-elf-0-0.M1" catm [ + out + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "${m2libc}/${m2libcArch}/libc-core.M1" + blood-elf-0_M1 + ]; + blood-elf-0_hex2 = run "blood-elf-0.hex2" M0 [ + blood-elf-0-0_M1 + out + ]; + blood-elf-0-0_hex2 = run "blood-elf-0-0.hex2" catm [ + out + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}.hex2" + blood-elf-0_hex2 + ]; + blood-elf-0 = run "blood-elf-0" hex2-0 [ + blood-elf-0-0_hex2 + out + ]; # This is the last stage where the binaries will not have debug info # and the last piece built that isn't part of the output binaries @@ -160,21 +235,52 @@ rec { ##################################### M1-macro-0_M1 = run "M1-macro-0.M1" M2 [ - "--architecture" m2libcArch - "-f" "${m2libc}/${m2libcArch}/linux/bootstrap.c" - "-f" "${m2libc}/bootstrappable.c" - "-f" "${src}/mescc-tools/stringify.c" - "-f" "${src}/mescc-tools/M1-macro.c" + "--architecture" + m2libcArch + "-f" + "${m2libc}/${m2libcArch}/linux/bootstrap.c" + "-f" + "${m2libc}/bootstrappable.c" + "-f" + "${src}/mescc-tools/stringify.c" + "-f" + "${src}/mescc-tools/M1-macro.c" "--bootstrap-mode" "--debug" - "-o" out + "-o" + out ]; - M1-macro-0-footer_M1 = run "M1-macro-0-footer.M1" blood-elf-0 (bloodFlags ++ ["-f" M1-macro-0_M1 endianFlag "-o" out]); - M1-macro-0-0_M1 = run "M1-macro-0-0.M1" catm [out "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" "${m2libc}/${m2libcArch}/libc-core.M1" M1-macro-0_M1 M1-macro-0-footer_M1]; - M1-macro-0_hex2 = run "M1-macro-0.hex2" M0 [M1-macro-0-0_M1 out]; - M1-macro-0-0_hex2 = run "M1-macro-0-0.hex2" catm [out "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" M1-macro-0_hex2]; - M1-0 = run "M1-0" hex2-0 [M1-macro-0-0_hex2 out]; + M1-macro-0-footer_M1 = run "M1-macro-0-footer.M1" blood-elf-0 ( + bloodFlags + ++ [ + "-f" + M1-macro-0_M1 + endianFlag + "-o" + out + ] + ); + M1-macro-0-0_M1 = run "M1-macro-0-0.M1" catm [ + out + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "${m2libc}/${m2libcArch}/libc-core.M1" + M1-macro-0_M1 + M1-macro-0-footer_M1 + ]; + M1-macro-0_hex2 = run "M1-macro-0.hex2" M0 [ + M1-macro-0-0_M1 + out + ]; + M1-macro-0-0_hex2 = run "M1-macro-0-0.hex2" catm [ + out + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" + M1-macro-0_hex2 + ]; + M1-0 = run "M1-0" hex2-0 [ + M1-macro-0-0_hex2 + out + ]; # This is the last stage where catm will need to be used and the last stage where # M0 is used, as we will being using it's much more powerful and cross-platform @@ -185,40 +291,78 @@ rec { ####################################### hex2_linker-0_M1 = run "hex2_linker-0.M1" M2 [ - "--architecture" m2libcArch - "-f" "${m2libc}/sys/types.h" - "-f" "${m2libc}/stddef.h" - "-f" "${m2libc}/${m2libcArch}/linux/unistd.c" - "-f" "${m2libc}/${m2libcArch}/linux/fcntl.c" - "-f" "${m2libc}/fcntl.c" - "-f" "${m2libc}/${m2libcArch}/linux/sys/stat.c" - "-f" "${m2libc}/stdlib.c" - "-f" "${m2libc}/stdio.h" - "-f" "${m2libc}/stdio.c" - "-f" "${m2libc}/bootstrappable.c" - "-f" "${src}/mescc-tools/hex2.h" - "-f" "${src}/mescc-tools/hex2_linker.c" - "-f" "${src}/mescc-tools/hex2_word.c" - "-f" "${src}/mescc-tools/hex2.c" + "--architecture" + m2libcArch + "-f" + "${m2libc}/sys/types.h" + "-f" + "${m2libc}/stddef.h" + "-f" + "${m2libc}/${m2libcArch}/linux/unistd.c" + "-f" + "${m2libc}/${m2libcArch}/linux/fcntl.c" + "-f" + "${m2libc}/fcntl.c" + "-f" + "${m2libc}/${m2libcArch}/linux/sys/stat.c" + "-f" + "${m2libc}/stdlib.c" + "-f" + "${m2libc}/stdio.h" + "-f" + "${m2libc}/stdio.c" + "-f" + "${m2libc}/bootstrappable.c" + "-f" + "${src}/mescc-tools/hex2.h" + "-f" + "${src}/mescc-tools/hex2_linker.c" + "-f" + "${src}/mescc-tools/hex2_word.c" + "-f" + "${src}/mescc-tools/hex2.c" "--debug" - "-o" out + "-o" + out ]; - hex2_linker-0-footer_M1 = run "hex2_linker-0-footer.M1" blood-elf-0 (bloodFlags ++ ["-f" hex2_linker-0_M1 endianFlag "-o" out]); + hex2_linker-0-footer_M1 = run "hex2_linker-0-footer.M1" blood-elf-0 ( + bloodFlags + ++ [ + "-f" + hex2_linker-0_M1 + endianFlag + "-o" + out + ] + ); hex2_linker-0_hex2 = run "hex2_linker-0.hex2" M1-0 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "-f" "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" - "-f" "${m2libc}/${m2libcArch}/libc-full.M1" - "-f" hex2_linker-0_M1 - "-f" hex2_linker-0-footer_M1 - "-o" out + "-f" + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "-f" + "${m2libc}/${m2libcArch}/libc-full.M1" + "-f" + hex2_linker-0_M1 + "-f" + hex2_linker-0-footer_M1 + "-o" + out ]; - hex2_linker-0-0_hex2 = run "hex2_linker-0-0.hex2" catm [out "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" hex2_linker-0_hex2]; + hex2_linker-0-0_hex2 = run "hex2_linker-0-0.hex2" catm [ + out + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" + hex2_linker-0_hex2 + ]; - hex2-1 = run "hex2-1" hex2-0 [hex2_linker-0-0_hex2 out]; + hex2-1 = run "hex2-1" hex2-0 [ + hex2_linker-0-0_hex2 + out + ]; # This is the last stage where we will be using the handwritten hex2 and instead # be using the far more powerful, cross-platform version with a bunch more goodies @@ -228,42 +372,76 @@ rec { ################################### M1-macro-1_M1 = run "M1-macro-1.M1" M2 [ - "--architecture" m2libcArch - "-f" "${m2libc}/sys/types.h" - "-f" "${m2libc}/stddef.h" - "-f" "${m2libc}/${m2libcArch}/linux/fcntl.c" - "-f" "${m2libc}/fcntl.c" - "-f" "${m2libc}/${m2libcArch}/linux/unistd.c" - "-f" "${m2libc}/string.c" - "-f" "${m2libc}/stdlib.c" - "-f" "${m2libc}/stdio.h" - "-f" "${m2libc}/stdio.c" - "-f" "${m2libc}/bootstrappable.c" - "-f" "${src}/mescc-tools/stringify.c" - "-f" "${src}/mescc-tools/M1-macro.c" + "--architecture" + m2libcArch + "-f" + "${m2libc}/sys/types.h" + "-f" + "${m2libc}/stddef.h" + "-f" + "${m2libc}/${m2libcArch}/linux/fcntl.c" + "-f" + "${m2libc}/fcntl.c" + "-f" + "${m2libc}/${m2libcArch}/linux/unistd.c" + "-f" + "${m2libc}/string.c" + "-f" + "${m2libc}/stdlib.c" + "-f" + "${m2libc}/stdio.h" + "-f" + "${m2libc}/stdio.c" + "-f" + "${m2libc}/bootstrappable.c" + "-f" + "${src}/mescc-tools/stringify.c" + "-f" + "${src}/mescc-tools/M1-macro.c" "--debug" - "-o" out + "-o" + out ]; - M1-macro-1-footer_M1 = run "M1-macro-1-footer.M1" blood-elf-0 (bloodFlags ++ ["-f" M1-macro-1_M1 endianFlag "-o" out]); + M1-macro-1-footer_M1 = run "M1-macro-1-footer.M1" blood-elf-0 ( + bloodFlags + ++ [ + "-f" + M1-macro-1_M1 + endianFlag + "-o" + out + ] + ); M1-macro-1_hex2 = run "M1-macro-1.hex2" M1-0 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "-f" "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" - "-f" "${m2libc}/${m2libcArch}/libc-full.M1" - "-f" M1-macro-1_M1 - "-f" M1-macro-1-footer_M1 - "-o" out + "-f" + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "-f" + "${m2libc}/${m2libcArch}/libc-full.M1" + "-f" + M1-macro-1_M1 + "-f" + M1-macro-1-footer_M1 + "-o" + out ]; M1 = run "M1" hex2-1 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "--base-address" baseAddress - "-f" "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" - "-f" M1-macro-1_hex2 - "-o" out + "--base-address" + baseAddress + "-f" + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" + "-f" + M1-macro-1_hex2 + "-o" + out ]; ###################################### @@ -271,44 +449,80 @@ rec { ###################################### hex2_linker-2_M1 = run "hex2_linker-2.M1" M2 [ - "--architecture" m2libcArch - "-f" "${m2libc}/sys/types.h" - "-f" "${m2libc}/stddef.h" - "-f" "${m2libc}/${m2libcArch}/linux/unistd.c" - "-f" "${m2libc}/${m2libcArch}/linux/fcntl.c" - "-f" "${m2libc}/fcntl.c" - "-f" "${m2libc}/${m2libcArch}/linux/sys/stat.c" - "-f" "${m2libc}/stdlib.c" - "-f" "${m2libc}/stdio.h" - "-f" "${m2libc}/stdio.c" - "-f" "${m2libc}/bootstrappable.c" - "-f" "${src}/mescc-tools/hex2.h" - "-f" "${src}/mescc-tools/hex2_linker.c" - "-f" "${src}/mescc-tools/hex2_word.c" - "-f" "${src}/mescc-tools/hex2.c" + "--architecture" + m2libcArch + "-f" + "${m2libc}/sys/types.h" + "-f" + "${m2libc}/stddef.h" + "-f" + "${m2libc}/${m2libcArch}/linux/unistd.c" + "-f" + "${m2libc}/${m2libcArch}/linux/fcntl.c" + "-f" + "${m2libc}/fcntl.c" + "-f" + "${m2libc}/${m2libcArch}/linux/sys/stat.c" + "-f" + "${m2libc}/stdlib.c" + "-f" + "${m2libc}/stdio.h" + "-f" + "${m2libc}/stdio.c" + "-f" + "${m2libc}/bootstrappable.c" + "-f" + "${src}/mescc-tools/hex2.h" + "-f" + "${src}/mescc-tools/hex2_linker.c" + "-f" + "${src}/mescc-tools/hex2_word.c" + "-f" + "${src}/mescc-tools/hex2.c" "--debug" - "-o" out + "-o" + out ]; - hex2_linker-2-footer_M1 = run "hex2_linker-2-footer.M1" blood-elf-0 (bloodFlags ++ ["-f" hex2_linker-2_M1 endianFlag "-o" out]); + hex2_linker-2-footer_M1 = run "hex2_linker-2-footer.M1" blood-elf-0 ( + bloodFlags + ++ [ + "-f" + hex2_linker-2_M1 + endianFlag + "-o" + out + ] + ); hex2_linker-2_hex2 = run "hex2_linker-2.hex2" M1 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "-f" "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" - "-f" "${m2libc}/${m2libcArch}/libc-full.M1" - "-f" hex2_linker-2_M1 - "-f" hex2_linker-2-footer_M1 - "-o" out + "-f" + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "-f" + "${m2libc}/${m2libcArch}/libc-full.M1" + "-f" + hex2_linker-2_M1 + "-f" + hex2_linker-2-footer_M1 + "-o" + out ]; hex2 = run "hex2" hex2-1 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "--base-address" baseAddress - "-f" "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" - "-f" hex2_linker-2_hex2 - "-o" out + "--base-address" + baseAddress + "-f" + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" + "-f" + hex2_linker-2_hex2 + "-o" + out ]; ###################################### @@ -316,43 +530,79 @@ rec { ###################################### kaem_M1 = run "kaem.M1" M2 [ - "--architecture" m2libcArch - "-f" "${m2libc}/sys/types.h" - "-f" "${m2libc}/stddef.h" - "-f" "${m2libc}/string.c" - "-f" "${m2libc}/${m2libcArch}/linux/unistd.c" - "-f" "${m2libc}/${m2libcArch}/linux/fcntl.c" - "-f" "${m2libc}/fcntl.c" - "-f" "${m2libc}/stdlib.c" - "-f" "${m2libc}/stdio.h" - "-f" "${m2libc}/stdio.c" - "-f" "${m2libc}/bootstrappable.c" - "-f" "${src}/mescc-tools/Kaem/kaem.h" - "-f" "${src}/mescc-tools/Kaem/variable.c" - "-f" "${src}/mescc-tools/Kaem/kaem_globals.c" - "-f" "${src}/mescc-tools/Kaem/kaem.c" + "--architecture" + m2libcArch + "-f" + "${m2libc}/sys/types.h" + "-f" + "${m2libc}/stddef.h" + "-f" + "${m2libc}/string.c" + "-f" + "${m2libc}/${m2libcArch}/linux/unistd.c" + "-f" + "${m2libc}/${m2libcArch}/linux/fcntl.c" + "-f" + "${m2libc}/fcntl.c" + "-f" + "${m2libc}/stdlib.c" + "-f" + "${m2libc}/stdio.h" + "-f" + "${m2libc}/stdio.c" + "-f" + "${m2libc}/bootstrappable.c" + "-f" + "${src}/mescc-tools/Kaem/kaem.h" + "-f" + "${src}/mescc-tools/Kaem/variable.c" + "-f" + "${src}/mescc-tools/Kaem/kaem_globals.c" + "-f" + "${src}/mescc-tools/Kaem/kaem.c" "--debug" - "-o" out + "-o" + out ]; - kaem-footer_M1 = run "kaem-footer.M1" blood-elf-0 (bloodFlags ++ ["-f" kaem_M1 endianFlag "-o" out]); + kaem-footer_M1 = run "kaem-footer.M1" blood-elf-0 ( + bloodFlags + ++ [ + "-f" + kaem_M1 + endianFlag + "-o" + out + ] + ); kaem_hex2 = run "kaem.hex2" M1 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "-f" "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" - "-f" "${m2libc}/${m2libcArch}/libc-full.M1" - "-f" kaem_M1 - "-f" kaem-footer_M1 - "-o" out + "-f" + "${m2libc}/${m2libcArch}/${m2libcArch}_defs.M1" + "-f" + "${m2libc}/${m2libcArch}/libc-full.M1" + "-f" + kaem_M1 + "-f" + kaem-footer_M1 + "-o" + out ]; kaem-unwrapped = run "kaem-unwrapped" hex2 [ - "--architecture" m2libcArch + "--architecture" + m2libcArch endianFlag - "-f" "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" - "-f" kaem_hex2 - "--base-address" baseAddress - "-o" out + "-f" + "${m2libc}/${m2libcArch}/ELF-${m2libcArch}-debug.hex2" + "-f" + kaem_hex2 + "--base-address" + baseAddress + "-o" + out ]; } diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-extra/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-extra/default.nix index eee00491c4460..28381dc81ca61 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-extra/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-extra/default.nix @@ -1,15 +1,22 @@ -{ lib -, derivationWithMeta -, kaem-unwrapped -, mescc-tools -, src -, version -, platforms -, m2libcArch -, m2libcOS +{ + lib, + derivationWithMeta, + kaem-unwrapped, + mescc-tools, + src, + version, + platforms, + m2libcArch, + m2libcOS, }: derivationWithMeta { - inherit version src mescc-tools m2libcArch m2libcOS; + inherit + version + src + mescc-tools + m2libcArch + m2libcOS + ; pname = "mescc-tools-extra"; builder = kaem-unwrapped; args = [ diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools/default.nix index 4a9c734981e2f..769f0df399093 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools/default.nix @@ -1,17 +1,18 @@ -{ lib -, derivationWithMeta -, hostPlatform -, kaem-unwrapped -, M1 -, M2 -, blood-elf-0 -, hex2 -, m2libc -, src -, version -, platforms -, m2libcArch -, baseAddress +{ + lib, + derivationWithMeta, + hostPlatform, + kaem-unwrapped, + M1, + M2, + blood-elf-0, + hex2, + m2libc, + src, + version, + platforms, + m2libcArch, + baseAddress, }: let @@ -19,7 +20,8 @@ let bloodFlag = if hostPlatform.is64bit then "--64" else " "; # We need a few tools from mescc-tools-extra to assemble the output folder - buildMesccToolsExtraUtil = name: + buildMesccToolsExtraUtil = + name: derivationWithMeta { pname = "mescc-tools-extra-${name}"; builder = kaem-unwrapped; @@ -62,7 +64,15 @@ let -o ''${out} '') ]; - inherit version M1 M2 blood-elf-0 hex2 m2libc src; + inherit + version + M1 + M2 + blood-elf-0 + hex2 + m2libc + src + ; }; mkdir = buildMesccToolsExtraUtil "mkdir"; cp = buildMesccToolsExtraUtil "cp"; @@ -78,7 +88,23 @@ derivationWithMeta { "--file" ./build.kaem ]; - inherit version M1 M2 blood-elf-0 hex2 mkdir cp chmod replace m2libc src m2libcArch baseAddress bloodFlag endianFlag; + inherit + version + M1 + M2 + blood-elf-0 + hex2 + mkdir + cp + chmod + replace + m2libc + src + m2libcArch + baseAddress + bloodFlag + endianFlag + ; meta = with lib; { description = "Collection of tools written for use in bootstrapping"; diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix index 53147df334441..fb96f91fa9175 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix @@ -1,6 +1,7 @@ # Platform specific constants -{ lib -, hostPlatform +{ + lib, + hostPlatform, }: rec { @@ -12,21 +13,26 @@ rec { ]; # system arch as used within the stage0 project - stage0Arch = { - "aarch64-linux" = "AArch64"; - "i686-linux" = "x86"; - "x86_64-linux" = "AMD64"; - }.${hostPlatform.system} or (throw "Unsupported system: ${hostPlatform.system}"); + stage0Arch = + { + "aarch64-linux" = "AArch64"; + "i686-linux" = "x86"; + "x86_64-linux" = "AMD64"; + } + .${hostPlatform.system} or (throw "Unsupported system: ${hostPlatform.system}"); # lower-case form is widely used by m2libc m2libcArch = lib.toLower stage0Arch; # Passed to M2-Mesoplanet as --operating-system - m2libcOS = if hostPlatform.isLinux then "linux" else throw "Unsupported system: ${hostPlatform.system}"; + m2libcOS = + if hostPlatform.isLinux then "linux" else throw "Unsupported system: ${hostPlatform.system}"; - baseAddress = { - "aarch64-linux" = "0x00600000"; - "i686-linux" = "0x08048000"; - "x86_64-linux" = "0x00600000"; - }.${hostPlatform.system} or (throw "Unsupported system: ${hostPlatform.system}"); + baseAddress = + { + "aarch64-linux" = "0x00600000"; + "i686-linux" = "0x08048000"; + "x86_64-linux" = "0x00600000"; + } + .${hostPlatform.system} or (throw "Unsupported system: ${hostPlatform.system}"); } diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/bootstrappable.nix b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/bootstrappable.nix index 83d89012b0fc3..594ac6768a60b 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/bootstrappable.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/bootstrappable.nix @@ -7,12 +7,13 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -{ lib -, callPackage -, fetchurl -, kaem -, mes -, mes-libc +{ + lib, + callPackage, + fetchurl, + kaem, + mes, + mes-libc, }: let inherit (callPackage ./common.nix { }) buildTinyccMes recompileLibc; @@ -24,17 +25,19 @@ let url = "https://gitlab.com/janneke/tinycc/-/archive/${rev}/tinycc-${rev}.tar.gz"; sha256 = "1a0cw9a62qc76qqn5sjmp3xrbbvsz2dxrw21lrnx9q0s74mwaxbq"; }; - src = (kaem.runCommand "tinycc-bootstrappable-${version}-source" {} '' - ungz --file ${tarball} --output tinycc.tar - mkdir -p ''${out} - cd ''${out} - untar --file ''${NIX_BUILD_TOP}/tinycc.tar + src = + (kaem.runCommand "tinycc-bootstrappable-${version}-source" { } '' + ungz --file ${tarball} --output tinycc.tar + mkdir -p ''${out} + cd ''${out} + untar --file ''${NIX_BUILD_TOP}/tinycc.tar - # Patch - cd tinycc-${rev} - # Static link by default - replace --file libtcc.c --output libtcc.c --match-on "s->ms_extensions = 1;" --replace-with "s->ms_extensions = 1; s->static_link = 1;" - '') + "/tinycc-${rev}"; + # Patch + cd tinycc-${rev} + # Static link by default + replace --file libtcc.c --output libtcc.c --match-on "s->ms_extensions = 1;" --replace-with "s->ms_extensions = 1; s->static_link = 1;" + '') + + "/tinycc-${rev}"; meta = with lib; { description = "Tiny C Compiler's bootstrappable fork"; @@ -47,43 +50,48 @@ let pname = "tinycc-boot-mes"; tinycc-boot-mes = rec { - compiler = kaem.runCommand "${pname}-${version}" { - passthru.tests.get-version = result: kaem.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/tcc -version - mkdir ''${out} - ''; - } '' - catm config.h - ${mes.compiler}/bin/mes --no-auto-compile -e main ${mes.srcPost.bin}/bin/mescc.scm -- \ - -S \ - -o tcc.s \ - -I . \ - -D BOOTSTRAP=1 \ - -I ${src} \ - -D TCC_TARGET_I386=1 \ - -D inline= \ - -D CONFIG_TCCDIR=\"\" \ - -D CONFIG_SYSROOT=\"\" \ - -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ - -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ - -D CONFIG_TCC_LIBPATHS=\"{B}\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${mes-libc}/include\" \ - -D TCC_LIBGCC=\"${mes-libc}/lib/x86-mes/libc.a\" \ - -D CONFIG_TCC_LIBTCC1_MES=0 \ - -D CONFIG_TCCBOOT=1 \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_MES_LIBC=1 \ - -D TCC_VERSION=\"${version}\" \ - -D ONE_SOURCE=1 \ - ${src}/tcc.c - mkdir -p ''${out}/bin - ${mes.compiler}/bin/mes --no-auto-compile -e main ${mes.srcPost.bin}/bin/mescc.scm -- \ - -L ${mes.libs}/lib \ - -l c+tcc \ - -o ''${out}/bin/tcc \ - tcc.s - ''; + compiler = + kaem.runCommand "${pname}-${version}" + { + passthru.tests.get-version = + result: + kaem.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/tcc -version + mkdir ''${out} + ''; + } + '' + catm config.h + ${mes.compiler}/bin/mes --no-auto-compile -e main ${mes.srcPost.bin}/bin/mescc.scm -- \ + -S \ + -o tcc.s \ + -I . \ + -D BOOTSTRAP=1 \ + -I ${src} \ + -D TCC_TARGET_I386=1 \ + -D inline= \ + -D CONFIG_TCCDIR=\"\" \ + -D CONFIG_SYSROOT=\"\" \ + -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ + -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ + -D CONFIG_TCC_LIBPATHS=\"{B}\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${mes-libc}/include\" \ + -D TCC_LIBGCC=\"${mes-libc}/lib/x86-mes/libc.a\" \ + -D CONFIG_TCC_LIBTCC1_MES=0 \ + -D CONFIG_TCCBOOT=1 \ + -D CONFIG_TCC_STATIC=1 \ + -D CONFIG_USE_LIBGCC=1 \ + -D TCC_MES_LIBC=1 \ + -D TCC_VERSION=\"${version}\" \ + -D ONE_SOURCE=1 \ + ${src}/tcc.c + mkdir -p ''${out}/bin + ${mes.compiler}/bin/mes --no-auto-compile -e main ${mes.srcPost.bin}/bin/mescc.scm -- \ + -L ${mes.libs}/lib \ + -l c+tcc \ + -o ''${out}/bin/tcc \ + tcc.s + ''; libs = recompileLibc { inherit pname version; diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/common.nix b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/common.nix index 28dde32987672..7bee5011f0b81 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/common.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/common.nix @@ -1,104 +1,130 @@ -{ lib -, kaem -, mes-libc +{ + lib, + kaem, + mes-libc, }: rec { # Recompile libc: crt{1,n,i}, libtcc.a, libc.a, libgetopt.a recompileLibc = - { tcc - , pname - , version - , src - , libtccOptions + { + tcc, + pname, + version, + src, + libtccOptions, }: let - crt = kaem.runCommand "crt" {} '' - mkdir -p ''${out}/lib - ${tcc}/bin/tcc ${mes-libc.CFLAGS} -c -o ''${out}/lib/crt1.o ${mes-libc}/lib/crt1.c - ${tcc}/bin/tcc ${mes-libc.CFLAGS} -c -o ''${out}/lib/crtn.o ${mes-libc}/lib/crtn.c - ${tcc}/bin/tcc ${mes-libc.CFLAGS} -c -o ''${out}/lib/crti.o ${mes-libc}/lib/crti.c - ''; + crt = kaem.runCommand "crt" { } '' + mkdir -p ''${out}/lib + ${tcc}/bin/tcc ${mes-libc.CFLAGS} -c -o ''${out}/lib/crt1.o ${mes-libc}/lib/crt1.c + ${tcc}/bin/tcc ${mes-libc.CFLAGS} -c -o ''${out}/lib/crtn.o ${mes-libc}/lib/crtn.c + ${tcc}/bin/tcc ${mes-libc.CFLAGS} -c -o ''${out}/lib/crti.o ${mes-libc}/lib/crti.c + ''; - library = lib: options: source: kaem.runCommand "${lib}.a" {} '' - ${tcc}/bin/tcc ${options} -c -o ${lib}.o ${source} - ${tcc}/bin/tcc -ar cr ''${out} ${lib}.o - ''; + library = + lib: options: source: + kaem.runCommand "${lib}.a" { } '' + ${tcc}/bin/tcc ${options} -c -o ${lib}.o ${source} + ${tcc}/bin/tcc -ar cr ''${out} ${lib}.o + ''; - libtcc1 = library "libtcc1" libtccOptions "${src}/lib/libtcc1.c"; - libc = library "libc" mes-libc.CFLAGS "${mes-libc}/lib/libc.c"; - libgetopt = library "libgetopt" mes-libc.CFLAGS "${mes-libc}/lib/libgetopt.c"; - in - kaem.runCommand "${pname}-libs-${version}" {} '' - mkdir -p ''${out}/lib - cp ${crt}/lib/crt1.o ''${out}/lib - cp ${crt}/lib/crtn.o ''${out}/lib - cp ${crt}/lib/crti.o ''${out}/lib - cp ${libtcc1} ''${out}/lib/libtcc1.a - cp ${libc} ''${out}/lib/libc.a - cp ${libgetopt} ''${out}/lib/libgetopt.a - ''; + libtcc1 = library "libtcc1" libtccOptions "${src}/lib/libtcc1.c"; + libc = library "libc" mes-libc.CFLAGS "${mes-libc}/lib/libc.c"; + libgetopt = library "libgetopt" mes-libc.CFLAGS "${mes-libc}/lib/libgetopt.c"; + in + kaem.runCommand "${pname}-libs-${version}" { } '' + mkdir -p ''${out}/lib + cp ${crt}/lib/crt1.o ''${out}/lib + cp ${crt}/lib/crtn.o ''${out}/lib + cp ${crt}/lib/crti.o ''${out}/lib + cp ${libtcc1} ''${out}/lib/libtcc1.a + cp ${libc} ''${out}/lib/libc.a + cp ${libgetopt} ''${out}/lib/libgetopt.a + ''; buildTinyccMes = - { pname - , version - , src - , prev - , buildOptions - , libtccBuildOptions - , meta + { + pname, + version, + src, + prev, + buildOptions, + libtccBuildOptions, + meta, }: let options = lib.strings.concatStringsSep " " buildOptions; - libtccOptions = lib.strings.concatStringsSep " " - (["-c" "-D" "TCC_TARGET_I386=1" ] ++ libtccBuildOptions); - compiler = kaem.runCommand "${pname}-${version}" { - inherit pname version meta; - passthru.tests = rec { - get-version = result: kaem.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/tcc -version - mkdir ''${out} + libtccOptions = lib.strings.concatStringsSep " " ( + [ + "-c" + "-D" + "TCC_TARGET_I386=1" + ] + ++ libtccBuildOptions + ); + compiler = + kaem.runCommand "${pname}-${version}" + { + inherit pname version meta; + passthru.tests = rec { + get-version = + result: + kaem.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/tcc -version + mkdir ''${out} + ''; + chain = + result: + kaem.runCommand "${pname}-chain-${version}" { } '' + echo ${prev.compiler.tests.chain or prev.compiler.tests.get-version}; + ${result}/bin/tcc -version + mkdir ''${out} + ''; + }; + } + '' + catm config.h + mkdir -p ''${out}/bin + ${prev.compiler}/bin/tcc \ + -B ${prev.libs}/lib \ + -g \ + -v \ + -o ''${out}/bin/tcc \ + -D BOOTSTRAP=1 \ + ${options} \ + -I . \ + -I ${src} \ + -D TCC_TARGET_I386=1 \ + -D CONFIG_TCCDIR=\"\" \ + -D CONFIG_SYSROOT=\"\" \ + -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ + -D CONFIG_TCC_ELFINTERP=\"\" \ + -D CONFIG_TCC_LIBPATHS=\"{B}\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${mes-libc}/include\" \ + -D TCC_LIBGCC=\"libc.a\" \ + -D TCC_LIBTCC1=\"libtcc1.a\" \ + -D CONFIG_TCCBOOT=1 \ + -D CONFIG_TCC_STATIC=1 \ + -D CONFIG_USE_LIBGCC=1 \ + -D TCC_MES_LIBC=1 \ + -D TCC_VERSION=\"${version}\" \ + -D ONE_SOURCE=1 \ + ${src}/tcc.c ''; - chain = result: kaem.runCommand "${pname}-chain-${version}" {} '' - echo ${prev.compiler.tests.chain or prev.compiler.tests.get-version}; - ${result}/bin/tcc -version - mkdir ''${out} - ''; - }; - } '' - catm config.h - mkdir -p ''${out}/bin - ${prev.compiler}/bin/tcc \ - -B ${prev.libs}/lib \ - -g \ - -v \ - -o ''${out}/bin/tcc \ - -D BOOTSTRAP=1 \ - ${options} \ - -I . \ - -I ${src} \ - -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"\" \ - -D CONFIG_SYSROOT=\"\" \ - -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ - -D CONFIG_TCC_ELFINTERP=\"\" \ - -D CONFIG_TCC_LIBPATHS=\"{B}\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${mes-libc}/include\" \ - -D TCC_LIBGCC=\"libc.a\" \ - -D TCC_LIBTCC1=\"libtcc1.a\" \ - -D CONFIG_TCCBOOT=1 \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_MES_LIBC=1 \ - -D TCC_VERSION=\"${version}\" \ - -D ONE_SOURCE=1 \ - ${src}/tcc.c - ''; - libs = recompileLibc { - inherit pname version src libtccOptions; - tcc = compiler; + libs = recompileLibc { + inherit + pname + version + src + libtccOptions + ; + tcc = compiler; + }; + in + { + inherit prev compiler libs; }; - in { inherit prev compiler libs; }; } diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/mes.nix b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/mes.nix index 55f6321412db8..76f5ff9587ae4 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/mes.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/mes.nix @@ -4,11 +4,12 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -{ lib -, fetchurl -, callPackage -, kaem -, tinycc-bootstrappable +{ + lib, + fetchurl, + callPackage, + kaem, + tinycc-bootstrappable, }: let inherit (callPackage ./common.nix { }) buildTinyccMes; @@ -20,17 +21,19 @@ let url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz"; sha256 = "11idrvbwfgj1d03crv994mpbbbyg63j1k64lw1gjy7mkiifw2xap"; }; - src = (kaem.runCommand "tinycc-${version}-source" {} '' - ungz --file ${tarball} --output tinycc.tar - mkdir -p ''${out} - cd ''${out} - untar --file ''${NIX_BUILD_TOP}/tinycc.tar + src = + (kaem.runCommand "tinycc-${version}-source" { } '' + ungz --file ${tarball} --output tinycc.tar + mkdir -p ''${out} + cd ''${out} + untar --file ''${NIX_BUILD_TOP}/tinycc.tar - # Patch - cd tinycc-${builtins.substring 0 7 rev} - # Static link by default - replace --file libtcc.c --output libtcc.c --match-on "s->ms_extensions = 1;" --replace-with "s->ms_extensions = 1; s->static_link = 1;" - '') + "/tinycc-${builtins.substring 0 7 rev}"; + # Patch + cd tinycc-${builtins.substring 0 7 rev} + # Static link by default + replace --file libtcc.c --output libtcc.c --match-on "s->ms_extensions = 1;" --replace-with "s->ms_extensions = 1; s->static_link = 1;" + '') + + "/tinycc-${builtins.substring 0 7 rev}"; meta = with lib; { description = "Small, fast, and embeddable C compiler and interpreter"; @@ -40,7 +43,7 @@ let platforms = [ "i686-linux" ]; }; - tccdefs = kaem.runCommand "tccdefs-${version}" {} '' + tccdefs = kaem.runCommand "tccdefs-${version}" { } '' mkdir ''${out} ${tinycc-bootstrappable.compiler}/bin/tcc \ -B ${tinycc-bootstrappable.libs}/lib \ diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix index 4d26faac20b16..75b64f579c482 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix @@ -1,12 +1,13 @@ -{ lib -, fetchurl -, callPackage -, bash -, tinycc-bootstrappable -, musl -, gnupatch -, gnutar -, gzip +{ + lib, + fetchurl, + callPackage, + bash, + tinycc-bootstrappable, + musl, + gnupatch, + gnutar, + gzip, }: let pname = "tinycc-musl"; @@ -33,103 +34,107 @@ let platforms = [ "i686-linux" ]; }; - tinycc-musl = bash.runCommand "${pname}-${version}" { - inherit pname version meta; + tinycc-musl = + bash.runCommand "${pname}-${version}" + { + inherit pname version meta; - nativeBuildInputs = [ - tinycc-bootstrappable.compiler - gnupatch - gnutar - gzip - ]; - } '' - # Unpack - tar xzf ${src} - cd tinycc-${builtins.substring 0 7 rev} + nativeBuildInputs = [ + tinycc-bootstrappable.compiler + gnupatch + gnutar + gzip + ]; + } + '' + # Unpack + tar xzf ${src} + cd tinycc-${builtins.substring 0 7 rev} - # Patch - ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} + # Patch + ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches} - # Configure - touch config.h + # Configure + touch config.h - # Build - # We first have to recompile using tcc-0.9.26 as tcc-0.9.27 is not self-hosting, - # but when linked with musl it is. - ln -s ${musl}/lib/libtcc1.a ./libtcc1.a + # Build + # We first have to recompile using tcc-0.9.26 as tcc-0.9.27 is not self-hosting, + # but when linked with musl it is. + ln -s ${musl}/lib/libtcc1.a ./libtcc1.a - tcc \ - -B ${tinycc-bootstrappable.libs}/lib \ - -DC2STR \ - -o c2str \ - conftest.c - ./c2str include/tccdefs.h tccdefs_.h + tcc \ + -B ${tinycc-bootstrappable.libs}/lib \ + -DC2STR \ + -o c2str \ + conftest.c + ./c2str include/tccdefs.h tccdefs_.h - tcc -v \ - -static \ - -o tcc-musl \ - -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"\" \ - -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ - -D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \ - -D CONFIG_TCC_LIBPATHS=\"{B}\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${musl}/include\" \ - -D TCC_LIBGCC=\"libc.a\" \ - -D TCC_LIBTCC1=\"libtcc1.a\" \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_VERSION=\"0.9.27\" \ - -D ONE_SOURCE=1 \ - -D TCC_MUSL=1 \ - -D CONFIG_TCC_PREDEFS=1 \ - -D CONFIG_TCC_SEMLOCK=0 \ - -B . \ - -B ${tinycc-bootstrappable.libs}/lib \ - tcc.c - # libtcc1.a - rm -f libtcc1.a - tcc -c -D HAVE_CONFIG_H=1 lib/libtcc1.c - tcc -ar cr libtcc1.a libtcc1.o + tcc -v \ + -static \ + -o tcc-musl \ + -D TCC_TARGET_I386=1 \ + -D CONFIG_TCCDIR=\"\" \ + -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ + -D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \ + -D CONFIG_TCC_LIBPATHS=\"{B}\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${musl}/include\" \ + -D TCC_LIBGCC=\"libc.a\" \ + -D TCC_LIBTCC1=\"libtcc1.a\" \ + -D CONFIG_TCC_STATIC=1 \ + -D CONFIG_USE_LIBGCC=1 \ + -D TCC_VERSION=\"0.9.27\" \ + -D ONE_SOURCE=1 \ + -D TCC_MUSL=1 \ + -D CONFIG_TCC_PREDEFS=1 \ + -D CONFIG_TCC_SEMLOCK=0 \ + -B . \ + -B ${tinycc-bootstrappable.libs}/lib \ + tcc.c + # libtcc1.a + rm -f libtcc1.a + tcc -c -D HAVE_CONFIG_H=1 lib/libtcc1.c + tcc -ar cr libtcc1.a libtcc1.o - # Rebuild tcc-musl with itself - ./tcc-musl \ - -v \ - -static \ - -o tcc-musl \ - -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"\" \ - -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ - -D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \ - -D CONFIG_TCC_LIBPATHS=\"{B}\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${musl}/include\" \ - -D TCC_LIBGCC=\"libc.a\" \ - -D TCC_LIBTCC1=\"libtcc1.a\" \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_VERSION=\"0.9.27\" \ - -D ONE_SOURCE=1 \ - -D TCC_MUSL=1 \ - -D CONFIG_TCC_PREDEFS=1 \ - -D CONFIG_TCC_SEMLOCK=0 \ - -B . \ - -B ${musl}/lib \ - tcc.c - # libtcc1.a - rm -f libtcc1.a - ./tcc-musl -c -D HAVE_CONFIG_H=1 lib/libtcc1.c - ./tcc-musl -c -D HAVE_CONFIG_H=1 lib/alloca.S - ./tcc-musl -ar cr libtcc1.a libtcc1.o alloca.o + # Rebuild tcc-musl with itself + ./tcc-musl \ + -v \ + -static \ + -o tcc-musl \ + -D TCC_TARGET_I386=1 \ + -D CONFIG_TCCDIR=\"\" \ + -D CONFIG_TCC_CRTPREFIX=\"{B}\" \ + -D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \ + -D CONFIG_TCC_LIBPATHS=\"{B}\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${musl}/include\" \ + -D TCC_LIBGCC=\"libc.a\" \ + -D TCC_LIBTCC1=\"libtcc1.a\" \ + -D CONFIG_TCC_STATIC=1 \ + -D CONFIG_USE_LIBGCC=1 \ + -D TCC_VERSION=\"0.9.27\" \ + -D ONE_SOURCE=1 \ + -D TCC_MUSL=1 \ + -D CONFIG_TCC_PREDEFS=1 \ + -D CONFIG_TCC_SEMLOCK=0 \ + -B . \ + -B ${musl}/lib \ + tcc.c + # libtcc1.a + rm -f libtcc1.a + ./tcc-musl -c -D HAVE_CONFIG_H=1 lib/libtcc1.c + ./tcc-musl -c -D HAVE_CONFIG_H=1 lib/alloca.S + ./tcc-musl -ar cr libtcc1.a libtcc1.o alloca.o - # Install - install -D tcc-musl $out/bin/tcc - install -Dm444 libtcc1.a $out/lib/libtcc1.a - ''; + # Install + install -D tcc-musl $out/bin/tcc + install -Dm444 libtcc1.a $out/lib/libtcc1.a + ''; in { compiler = bash.runCommand "${pname}-${version}-compiler" { inherit pname version meta; - passthru.tests.hello-world = result: - bash.runCommand "${pname}-simple-program-${version}" {} '' + passthru.tests.hello-world = + result: + bash.runCommand "${pname}-simple-program-${version}" { } '' cat <> test.c #include int main() { @@ -144,12 +149,15 @@ in passthru.tinycc-musl = tinycc-musl; } "install -D ${tinycc-musl}/bin/tcc $out/bin/tcc"; - libs = bash.runCommand "${pname}-${version}-libs" { - inherit pname version meta; - } '' - mkdir $out - cp -r ${musl}/* $out - chmod +w $out/lib/libtcc1.a - cp ${tinycc-musl}/lib/libtcc1.a $out/lib/libtcc1.a - ''; + libs = + bash.runCommand "${pname}-${version}-libs" + { + inherit pname version meta; + } + '' + mkdir $out + cp -r ${musl}/* $out + chmod +w $out/lib/libtcc1.a + cp ${tinycc-musl}/lib/libtcc1.a $out/lib/libtcc1.a + ''; } diff --git a/pkgs/os-specific/linux/minimal-bootstrap/utils.nix b/pkgs/os-specific/linux/minimal-bootstrap/utils.nix index cc8c04619169e..ba6cd71b5e0cb 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/utils.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/utils.nix @@ -1,34 +1,48 @@ -{ lib -, buildPlatform -, callPackage -, kaem -, mescc-tools-extra -, checkMeta +{ + lib, + buildPlatform, + callPackage, + kaem, + mescc-tools-extra, + checkMeta, }: rec { - derivationWithMeta = attrs: + derivationWithMeta = + attrs: let - passthru = attrs.passthru or {}; + passthru = attrs.passthru or { }; validity = checkMeta.assertValidity { inherit meta attrs; }; meta = checkMeta.commonMeta { inherit validity attrs; }; - baseDrv = derivation ({ - inherit (buildPlatform) system; - inherit (meta) name; - } // (builtins.removeAttrs attrs [ "meta" "passthru" ])); - passthru' = passthru // lib.optionalAttrs (passthru ? tests) { - tests = lib.mapAttrs (_: f: f baseDrv) passthru.tests; - }; + baseDrv = derivation ( + { + inherit (buildPlatform) system; + inherit (meta) name; + } + // (builtins.removeAttrs attrs [ + "meta" + "passthru" + ]) + ); + passthru' = + passthru + // lib.optionalAttrs (passthru ? tests) { + tests = lib.mapAttrs (_: f: f baseDrv) passthru.tests; + }; in - lib.extendDerivation - validity.handled - ({ inherit meta; passthru = passthru'; } // passthru') - baseDrv; + lib.extendDerivation validity.handled ( + { + inherit meta; + passthru = passthru'; + } + // passthru' + ) baseDrv; writeTextFile = - { name # the name of the derivation - , text - , executable ? false # run chmod +x ? - , destination ? "" # relative path appended to $out eg "/bin/foo" + { + name, # the name of the derivation + text, + executable ? false, # run chmod +x ? + destination ? "", # relative path appended to $out eg "/bin/foo" }: derivationWithMeta { inherit name text; @@ -39,15 +53,20 @@ rec { "--verbose" "--strict" "--file" - (builtins.toFile "write-text-file.kaem" ('' - target=''${out}''${destination} - '' + lib.optionalString (builtins.dirOf destination == ".") '' - mkdir -p ''${out}''${destinationDir} - '' + '' - cp ''${textPath} ''${target} - '' + lib.optionalString executable '' - chmod 555 ''${target} - '')) + (builtins.toFile "write-text-file.kaem" ( + '' + target=''${out}''${destination} + '' + + lib.optionalString (builtins.dirOf destination == ".") '' + mkdir -p ''${out}''${destinationDir} + '' + + '' + cp ''${textPath} ''${target} + '' + + lib.optionalString executable '' + chmod 555 ''${target} + '' + )) ]; PATH = lib.makeBinPath [ mescc-tools-extra ]; @@ -55,6 +74,6 @@ rec { inherit destination; }; - writeText = name: text: writeTextFile {inherit name text;}; + writeText = name: text: writeTextFile { inherit name text; }; } diff --git a/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix index 2533b617e5a60..5ef744115642b 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPlatform -, hostPlatform -, fetchurl -, bash -, tinycc -, gnumake -, gnused -, gnugrep -, gawk -, gnutar -, gzip +{ + lib, + buildPlatform, + hostPlatform, + fetchurl, + bash, + tinycc, + gnumake, + gnused, + gnugrep, + gawk, + gnutar, + gzip, }: let pname = "xz"; @@ -20,51 +21,57 @@ let hash = "sha256-HDguC8Lk4K9YOYqQPdYv/35RAXHS3keh6+BtFSjpt+k="; }; in -bash.runCommand "${pname}-${version}" { - inherit pname version; +bash.runCommand "${pname}-${version}" + { + inherit pname version; - nativeBuildInputs = [ - tinycc.compiler - gnumake - gnused - gnugrep - gawk - gnutar - gzip - ]; + nativeBuildInputs = [ + tinycc.compiler + gnumake + gnused + gnugrep + gawk + gnutar + gzip + ]; - passthru.tests.get-version = result: - bash.runCommand "${pname}-get-version-${version}" {} '' - ${result}/bin/xz --version - mkdir $out - ''; + passthru.tests.get-version = + result: + bash.runCommand "${pname}-get-version-${version}" { } '' + ${result}/bin/xz --version + mkdir $out + ''; - meta = with lib; { - description = "General-purpose data compression software, successor of LZMA"; - homepage = "https://tukaani.org/xz"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; - maintainers = teams.minimal-bootstrap.members; - platforms = platforms.unix; - }; -} '' - # Unpack - tar xzf ${src} - cd xz-${version} + meta = with lib; { + description = "General-purpose data compression software, successor of LZMA"; + homepage = "https://tukaani.org/xz"; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; + maintainers = teams.minimal-bootstrap.members; + platforms = platforms.unix; + }; + } + '' + # Unpack + tar xzf ${src} + cd xz-${version} - # Configure - export CC="tcc -B ${tinycc.libs}/lib" - export AR="tcc -ar" - export LD=tcc - bash ./configure \ - --prefix=$out \ - --build=${buildPlatform.config} \ - --host=${hostPlatform.config} \ - --disable-shared \ - --disable-assembler + # Configure + export CC="tcc -B ${tinycc.libs}/lib" + export AR="tcc -ar" + export LD=tcc + bash ./configure \ + --prefix=$out \ + --build=${buildPlatform.config} \ + --host=${hostPlatform.config} \ + --disable-shared \ + --disable-assembler - # Build - make -j $NIX_BUILD_CORES + # Build + make -j $NIX_BUILD_CORES - # Install - make -j $NIX_BUILD_CORES install -'' + # Install + make -j $NIX_BUILD_CORES install + '' diff --git a/pkgs/os-specific/linux/mm-tools/default.nix b/pkgs/os-specific/linux/mm-tools/default.nix index 38f16ca4e7d27..ed592fc83514a 100644 --- a/pkgs/os-specific/linux/mm-tools/default.nix +++ b/pkgs/os-specific/linux/mm-tools/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, linux }: +{ + lib, + stdenv, + linux, +}: stdenv.mkDerivation { pname = "mm-tools"; diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix index c83596a1fbe04..28c2e11e429cb 100644 --- a/pkgs/os-specific/linux/mwprocapture/default.nix +++ b/pkgs/os-specific/linux/mwprocapture/default.nix @@ -1,11 +1,19 @@ -{ lib, stdenv, fetchurl, kernel, alsa-lib }: +{ + lib, + stdenv, + fetchurl, + kernel, + alsa-lib, +}: let - bits = - if stdenv.hostPlatform.is64bit then "64" - else "32"; + bits = if stdenv.hostPlatform.is64bit then "64" else "32"; - libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc alsa-lib ]; + libpath = lib.makeLibraryPath [ + stdenv.cc.cc + stdenv.cc.libc + alsa-lib + ]; in stdenv.mkDerivation rec { @@ -25,7 +33,10 @@ stdenv.mkDerivation rec { export INSTALL_MOD_PATH="$out" ''; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; makeFlags = [ "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" diff --git a/pkgs/os-specific/linux/mxu11x0/default.nix b/pkgs/os-specific/linux/mxu11x0/default.nix index 17d0c69382069..7020dd608442a 100644 --- a/pkgs/os-specific/linux/mxu11x0/default.nix +++ b/pkgs/os-specific/linux/mxu11x0/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, kernel }: +{ + lib, + stdenv, + fetchurl, + kernel, +}: let srcs = import (./srcs.nix) { inherit fetchurl; }; @@ -7,7 +12,8 @@ stdenv.mkDerivation rec { pname = "mxu11x0"; src = if lib.versionAtLeast kernel.version "5.0" then srcs.mxu11x0_5.src else srcs.mxu11x0_4.src; - mxu_version = if lib.versionAtLeast kernel.version "5.0" then srcs.mxu11x0_5.version else srcs.mxu11x0_4.version; + mxu_version = + if lib.versionAtLeast kernel.version "5.0" then srcs.mxu11x0_5.version else srcs.mxu11x0_4.version; version = mxu_version + "-${kernel.version}"; diff --git a/pkgs/os-specific/linux/nct6687d/default.nix b/pkgs/os-specific/linux/nct6687d/default.nix index 4d17604853dcc..19d52276ecef3 100644 --- a/pkgs/os-specific/linux/nct6687d/default.nix +++ b/pkgs/os-specific/linux/nct6687d/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, kernel -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + nix-update-script, }: stdenv.mkDerivation rec { @@ -23,7 +24,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = kernel.moduleBuildDependencies; makeFlags = kernel.makeFlags ++ [ - "-C" "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "-C" + "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "M=$(sourceRoot)" ]; diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix index 39a8d919d8be6..fec41a4a778f3 100644 --- a/pkgs/os-specific/linux/ndiswrapper/default.nix +++ b/pkgs/os-specific/linux/ndiswrapper/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, kernel, perl, kmod, elfutils }: +{ + lib, + stdenv, + fetchurl, + kernel, + perl, + kmod, + elfutils, +}: let version = "1.63"; in @@ -34,13 +42,19 @@ stdenv.mkDerivation { sha256 = "1v6b66jhisl110jfl00hm43lmnrav32vs39d85gcbxrjqnmcx08g"; }; - buildInputs = [ perl elfutils ]; + buildInputs = [ + perl + elfutils + ]; meta = { description = "Ndis driver wrapper for the Linux kernel"; homepage = "https://sourceforge.net/projects/ndiswrapper"; license = "GPL"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; broken = lib.versionAtLeast kernel.version "5.8"; }; } diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix index 3b37ce4b8136e..4361f28f87d8d 100644 --- a/pkgs/os-specific/linux/net-tools/default.nix +++ b/pkgs/os-specific/linux/net-tools/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "net-tools"; @@ -9,10 +13,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-smJDWlJB6Jv6UcPKvVEzdTlS96e3uT8y4Iy52W9YDWk="; }; - preBuild = - '' - cp ${./config.h} config.h - ''; + preBuild = '' + cp ${./config.h} config.h + ''; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix index 91b525af0cb03..4b8cf9019efac 100644 --- a/pkgs/os-specific/linux/netatop/default.nix +++ b/pkgs/os-specific/linux/netatop/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, kernel, kmod, zlib }: +{ + lib, + stdenv, + fetchurl, + kernel, + kmod, + zlib, +}: let version = "3.1"; @@ -13,7 +20,10 @@ stdenv.mkDerivation { }; nativeBuildInputs = kernel.moduleBuildDependencies; - buildInputs = [ kmod zlib ]; + buildInputs = [ + kmod + zlib + ]; hardeningDisable = [ "pic" ]; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-fallthrough" ]; diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix index 0af8886f24e7c..8c6906098b31a 100644 --- a/pkgs/os-specific/linux/nftables/default.nix +++ b/pkgs/os-specific/linux/nftables/default.nix @@ -1,13 +1,28 @@ -{ lib, stdenv, fetchurl, pkg-config, bison, flex -, asciidoc, libxslt, findXMLCatalogs, docbook_xml_dtd_45, docbook_xsl -, libmnl, libnftnl, libpcap -, gmp, jansson -, autoreconfHook -, withDebugSymbols ? false -, withCli ? true, libedit -, withXtables ? true, iptables -, nixosTests -, gitUpdater +{ + lib, + stdenv, + fetchurl, + pkg-config, + bison, + flex, + asciidoc, + libxslt, + findXMLCatalogs, + docbook_xml_dtd_45, + docbook_xsl, + libmnl, + libnftnl, + libpcap, + gmp, + jansson, + autoreconfHook, + withDebugSymbols ? false, + withCli ? true, + libedit, + withXtables ? true, + iptables, + nixosTests, + gitUpdater, }: stdenv.mkDerivation rec { @@ -21,20 +36,33 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook - pkg-config bison flex - asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt + pkg-config + bison + flex + asciidoc + docbook_xml_dtd_45 + docbook_xsl + findXMLCatalogs + libxslt ]; - buildInputs = [ - libmnl libnftnl libpcap - gmp jansson - ] ++ lib.optional withCli libedit + buildInputs = + [ + libmnl + libnftnl + libpcap + gmp + jansson + ] + ++ lib.optional withCli libedit ++ lib.optional withXtables iptables; - configureFlags = [ - "--with-json" - (lib.withFeatureAs withCli "cli" "editline") - ] ++ lib.optional (!withDebugSymbols) "--disable-debug" + configureFlags = + [ + "--with-json" + (lib.withFeatureAs withCli "cli" "editline") + ] + ++ lib.optional (!withDebugSymbols) "--disable-debug" ++ lib.optional withXtables "--with-xtables"; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/nftables/python.nix b/pkgs/os-specific/linux/nftables/python.nix index bb9ebd621fcdc..f010993a90834 100644 --- a/pkgs/os-specific/linux/nftables/python.nix +++ b/pkgs/os-specific/linux/nftables/python.nix @@ -1,6 +1,7 @@ -{ buildPythonPackage -, setuptools -, nftables +{ + buildPythonPackage, + setuptools, + nftables, }: buildPythonPackage { @@ -20,6 +21,12 @@ buildPythonPackage { pythonImportsCheck = [ "nftables" ]; meta = { - inherit (nftables.meta) description homepage license platforms maintainers; + inherit (nftables.meta) + description + homepage + license + platforms + maintainers + ; }; } diff --git a/pkgs/os-specific/linux/nixos-rebuild/default.nix b/pkgs/os-specific/linux/nixos-rebuild/default.nix index ee07f6cce4f75..8e8f7f44b1034 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/default.nix +++ b/pkgs/os-specific/linux/nixos-rebuild/default.nix @@ -1,17 +1,18 @@ -{ callPackage -, substitute -, runtimeShell -, coreutils -, gnused -, gnugrep -, jq -, util-linux -, nix -, lib -, nixosTests -, installShellFiles -, binlore -, nixos-rebuild +{ + callPackage, + substitute, + runtimeShell, + coreutils, + gnused, + gnugrep, + jq, + util-linux, + nix, + lib, + nixosTests, + installShellFiles, + binlore, + nixos-rebuild, }: let fallback = import ./../../../../nixos/modules/installer/tools/nix-fallback-paths.nix; @@ -23,12 +24,30 @@ substitute { isExecutable = true; substitutions = [ - "--subst-var-by" "runtimeShell" runtimeShell - "--subst-var-by" "nix" nix - "--subst-var-by" "nix_x86_64_linux" fallback.x86_64-linux - "--subst-var-by" "nix_i686_linux" fallback.i686-linux - "--subst-var-by" "nix_aarch64_linux" fallback.aarch64-linux - "--subst-var-by" "path" (lib.makeBinPath [ coreutils gnused gnugrep jq util-linux ]) + "--subst-var-by" + "runtimeShell" + runtimeShell + "--subst-var-by" + "nix" + nix + "--subst-var-by" + "nix_x86_64_linux" + fallback.x86_64-linux + "--subst-var-by" + "nix_i686_linux" + fallback.i686-linux + "--subst-var-by" + "nix_aarch64_linux" + fallback.aarch64-linux + "--subst-var-by" + "path" + (lib.makeBinPath [ + coreutils + gnused + gnugrep + jq + util-linux + ]) ]; nativeBuildInputs = [ @@ -45,7 +64,7 @@ substitute { # run some a simple installer tests to make sure nixos-rebuild still works for them passthru.tests = { install-bootloader = nixosTests.nixos-rebuild-install-bootloader; - repl = callPackage ./test/repl.nix {}; + repl = callPackage ./test/repl.nix { }; simple-installer = nixosTests.installer.simple; specialisations = nixosTests.nixos-rebuild-specialisations; target-host = nixosTests.nixos-rebuild-target-host; @@ -62,7 +81,10 @@ substitute { description = "Rebuild your NixOS configuration and switch to it, on local hosts and remote"; homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/nixos-rebuild"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ Profpatsch thiagokokada ]; + maintainers = with lib.maintainers; [ + Profpatsch + thiagokokada + ]; mainProgram = "nixos-rebuild"; }; } diff --git a/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix b/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix index c17546851cbf5..045f32958b7a1 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix +++ b/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix @@ -1,4 +1,5 @@ -{ lib, +{ + lib, expect, nix, nixos-rebuild, @@ -28,132 +29,134 @@ let # In case we want/need to evaluate packages or the assertions or whatever, # we want to have a linux system. # TODO: make the non-flake test use thise. - linuxSystem = lib.replaceStrings ["darwin"] ["linux"] stdenv.hostPlatform.system; + linuxSystem = lib.replaceStrings [ "darwin" ] [ "linux" ] stdenv.hostPlatform.system; in -runCommand "test-nixos-rebuild-repl" { - nativeBuildInputs = [ - expect - nix - nixos-rebuild - ]; - nixpkgs = - if builtins.pathExists (path + "/.git") - then lib.cleanSource path - else path; -} '' - export HOME=$(mktemp -d) - export TEST_ROOT=$PWD/test-tmp - - # Prepare for running Nix in sandbox - export NIX_BUILD_HOOK= - export NIX_CONF_DIR=$TEST_ROOT/etc - export NIX_LOCALSTATE_DIR=$TEST_ROOT/var - export NIX_LOG_DIR=$TEST_ROOT/var/log/nix - export NIX_STATE_DIR=$TEST_ROOT/var/nix - export NIX_STORE_DIR=$TEST_ROOT/store - export PAGER=cat - mkdir -p $TEST_ROOT $NIX_CONF_DIR - - echo General setup - ################## - - export NIX_PATH=nixpkgs=$nixpkgs:nixos-config=$HOME/configuration.nix - cat >> ~/configuration.nix <> ~/configuration.nix < ~/hardware-configuration.nix + echo '{ }' > ~/hardware-configuration.nix - echo Test traditional NixOS configuration - ######################################### + echo Test traditional NixOS configuration + ######################################### - expect ${writeText "test-nixos-rebuild-repl-expect" '' - ${expectSetup} - spawn nixos-rebuild repl --fast + expect ${writeText "test-nixos-rebuild-repl-expect" '' + ${expectSetup} + spawn nixos-rebuild repl --fast - expect "nix-repl> " + expect "nix-repl> " - send "config.networking.hostName\n" - expect "\"nixos\"" - ''} + send "config.networking.hostName\n" + expect "\"nixos\"" + ''} - echo Test flake based NixOS configuration - ######################################### + echo Test flake based NixOS configuration + ######################################### - # Switch to flake flavored environment - unset NIX_PATH - cat > $NIX_CONF_DIR/nix.conf < $NIX_CONF_DIR/nix.conf < ~/hardware-configuration.nix + # Make the config pure + echo '{ nixpkgs.hostPlatform = "${linuxSystem}"; }' > ~/hardware-configuration.nix - cat >~/flake.nix <~/flake.nix <" - - send "config.networking.hostName\n" - expect_simple "itsme" - - expect_simple "nix-repl>" - send "lib.version\n" - expect_simple ${escapeExpect ( - # The version string is a bit different in the flake lib, so we expect a prefix and ignore the rest - # Furthermore, including the revision (suffix) would cause unnecessary rebuilds. - # Note that a length of 4 only matches e.g. "24. - lib.strings.substring 0 4 (lib.strings.escapeNixString lib.version))} - - # Make sure it's the right lib - should be the flake lib, not Nixpkgs lib. - expect_simple "nix-repl>" - send "lib?nixosSystem\n" - expect_simple "true" - expect_simple "nix-repl>" - send "lib?nixos\n" - expect_simple "true" - ''} - - pushd "$HOME" - expect ${writeText "test-nixos-rebuild-repl-relative-path-expect" '' - ${expectSetup} - spawn sh -c "nixos-rebuild repl --fast --flake .#testconf" - - expect_simple "nix-repl>" - - send "config.networking.hostName\n" - expect_simple "itsme" - ''} - popd - - echo - - ######### - echo Done - touch $out -'' + } + EOF + + # cat -n ~/flake.nix + + expect ${writeText "test-nixos-rebuild-repl-absolute-path-expect" '' + ${expectSetup} + spawn sh -c "nixos-rebuild repl --fast --flake path:\$HOME#testconf" + + expect_simple "nix-repl>" + + send "config.networking.hostName\n" + expect_simple "itsme" + + expect_simple "nix-repl>" + send "lib.version\n" + expect_simple ${ + escapeExpect ( + # The version string is a bit different in the flake lib, so we expect a prefix and ignore the rest + # Furthermore, including the revision (suffix) would cause unnecessary rebuilds. + # Note that a length of 4 only matches e.g. "24. + lib.strings.substring 0 4 (lib.strings.escapeNixString lib.version) + ) + } + + # Make sure it's the right lib - should be the flake lib, not Nixpkgs lib. + expect_simple "nix-repl>" + send "lib?nixosSystem\n" + expect_simple "true" + expect_simple "nix-repl>" + send "lib?nixos\n" + expect_simple "true" + ''} + + pushd "$HOME" + expect ${writeText "test-nixos-rebuild-repl-relative-path-expect" '' + ${expectSetup} + spawn sh -c "nixos-rebuild repl --fast --flake .#testconf" + + expect_simple "nix-repl>" + + send "config.networking.hostName\n" + expect_simple "itsme" + ''} + popd + + echo + + ######### + echo Done + touch $out + '' diff --git a/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix b/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix index 818d847f21961..f032ade0d8371 100644 --- a/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix +++ b/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix @@ -1,10 +1,15 @@ nvidia_x11: sha256: -{ stdenv, lib, fetchurl, patchelf }: +{ + stdenv, + lib, + fetchurl, + patchelf, +}: let sys = lib.concatStringsSep "-" (lib.reverseList (lib.splitString "-" stdenv.system)); - bsys = builtins.replaceStrings ["_"] ["-"] sys; + bsys = builtins.replaceStrings [ "_" ] [ "-" ] sys; fmver = nvidia_x11.version; in @@ -12,8 +17,9 @@ stdenv.mkDerivation rec { pname = "fabricmanager"; version = fmver; src = fetchurl { - url = "https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/" + - "${sys}/${pname}-${sys}-${fmver}-archive.tar.xz"; + url = + "https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/" + + "${sys}/${pname}-${sys}-${fmver}-archive.tar.xz"; inherit sha256; }; diff --git a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix index dcdd22044e2a6..805eaffab03ac 100644 --- a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix +++ b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix @@ -1,10 +1,11 @@ nvidia_x11: sha256: -{ stdenv -, lib -, fetchFromGitHub -, m4 -, libtirpc +{ + stdenv, + lib, + fetchFromGitHub, + m4, + libtirpc, }: stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix index 68991e1289598..4d38b42eb63d2 100644 --- a/pkgs/os-specific/linux/nvidiabl/default.nix +++ b/pkgs/os-specific/linux/nvidiabl/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { name = "nvidiabl-${version}-${kernel.version}"; @@ -30,7 +35,10 @@ stdenv.mkDerivation rec { description = "Linux driver for setting the backlight brightness on laptops using NVIDIA GPU"; homepage = "https://github.com/yorickvP/nvidiabl"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; maintainers = with maintainers; [ yorickvp ]; broken = kernel.kernelAtLeast "5.18"; }; diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix index 42e6be93dae4d..38b4312cc31f9 100644 --- a/pkgs/os-specific/linux/openrazer/driver.nix +++ b/pkgs/os-specific/linux/openrazer/driver.nix @@ -1,51 +1,57 @@ -{ coreutils -, fetchFromGitHub -, kernel -, stdenv -, lib -, util-linux +{ + coreutils, + fetchFromGitHub, + kernel, + stdenv, + lib, + util-linux, }: let - common = import ../../../development/python-modules/openrazer/common.nix { inherit lib fetchFromGitHub; }; -in -stdenv.mkDerivation (common // { - pname = "openrazer"; - version = "${common.version}-${kernel.version}"; - - nativeBuildInputs = kernel.moduleBuildDependencies; - - makeFlags = kernel.makeFlags ++ [ - "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ]; - - installPhase = '' - runHook preInstall - - binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid" - mkdir -p "$binDir" - cp -v driver/*.ko "$binDir" - RAZER_MOUNT_OUT="$out/bin/razer_mount" - RAZER_RULES_OUT="$out/etc/udev/rules.d/99-razer.rules" - install -m 644 -v -D install_files/udev/99-razer.rules $RAZER_RULES_OUT - install -m 755 -v -D install_files/udev/razer_mount $RAZER_MOUNT_OUT - substituteInPlace $RAZER_RULES_OUT \ - --replace razer_mount $RAZER_MOUNT_OUT \ - --replace plugdev openrazer - substituteInPlace $RAZER_MOUNT_OUT \ - --replace /usr/bin/logger ${util-linux}/bin/logger \ - --replace chgrp ${coreutils}/bin/chgrp \ - --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" "" \ - --replace plugdev openrazer - - runHook postInstall - ''; - - enableParallelBuilding = true; - - meta = common.meta // { - description = "Entirely open source Linux driver that allows you to manage your Razer peripherals on GNU/Linux"; - mainProgram = "razer_mount"; - broken = kernel.kernelOlder "4.19"; + common = import ../../../development/python-modules/openrazer/common.nix { + inherit lib fetchFromGitHub; }; -}) +in +stdenv.mkDerivation ( + common + // { + pname = "openrazer"; + version = "${common.version}-${kernel.version}"; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + makeFlags = kernel.makeFlags ++ [ + "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + installPhase = '' + runHook preInstall + + binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid" + mkdir -p "$binDir" + cp -v driver/*.ko "$binDir" + RAZER_MOUNT_OUT="$out/bin/razer_mount" + RAZER_RULES_OUT="$out/etc/udev/rules.d/99-razer.rules" + install -m 644 -v -D install_files/udev/99-razer.rules $RAZER_RULES_OUT + install -m 755 -v -D install_files/udev/razer_mount $RAZER_MOUNT_OUT + substituteInPlace $RAZER_RULES_OUT \ + --replace razer_mount $RAZER_MOUNT_OUT \ + --replace plugdev openrazer + substituteInPlace $RAZER_MOUNT_OUT \ + --replace /usr/bin/logger ${util-linux}/bin/logger \ + --replace chgrp ${coreutils}/bin/chgrp \ + --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" "" \ + --replace plugdev openrazer + + runHook postInstall + ''; + + enableParallelBuilding = true; + + meta = common.meta // { + description = "Entirely open source Linux driver that allows you to manage your Razer peripherals on GNU/Linux"; + mainProgram = "razer_mount"; + broken = kernel.kernelOlder "4.19"; + }; + } +) diff --git a/pkgs/os-specific/linux/opensnitch-ebpf/default.nix b/pkgs/os-specific/linux/opensnitch-ebpf/default.nix index e012819254d72..1c3fd836d813b 100644 --- a/pkgs/os-specific/linux/opensnitch-ebpf/default.nix +++ b/pkgs/os-specific/linux/opensnitch-ebpf/default.nix @@ -1,13 +1,14 @@ -{ lib -, kernel -, stdenv -, clang-tools -, llvmPackages -, elfutils -, flex -, bison -, bc -, opensnitch +{ + lib, + kernel, + stdenv, + clang-tools, + llvmPackages, + elfutils, + flex, + bison, + bc, + opensnitch, }: stdenv.mkDerivation rec { @@ -33,10 +34,10 @@ stdenv.mkDerivation rec { # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=opensnitch-ebpf-module&id=984b952a784eb701f691dd9f2d45dfeb8d15053b env.NIX_CFLAGS_COMPILE = "-fno-stack-protector"; - env.KERNEL_DIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"; - env.KERNEL_HEADERS="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + env.KERNEL_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"; + env.KERNEL_HEADERS = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; - extraConfig ='' + extraConfig = '' CONFIG_UPROBE_EVENTS=y ''; diff --git a/pkgs/os-specific/linux/phc-intel/default.nix b/pkgs/os-specific/linux/phc-intel/default.nix index a2e2456ad6e09..9da1adfda75d3 100644 --- a/pkgs/os-specific/linux/phc-intel/default.nix +++ b/pkgs/os-specific/linux/phc-intel/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, kernel, which }: +{ + lib, + stdenv, + fetchurl, + kernel, + which, +}: # Don't bother with older versions, though some might even work: assert lib.versionAtLeast kernel.version "4.10"; @@ -6,7 +12,8 @@ assert lib.versionAtLeast kernel.version "4.10"; let release = "0.4.0"; revbump = "rev25"; # don't forget to change forum download id... -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { name = "linux-phc-intel-${version}-${kernel.version}"; version = "${release}-${revbump}"; @@ -46,7 +53,10 @@ in stdenv.mkDerivation rec { ''; homepage = "https://github.com/danielw86dev/phc-intel-dkms"; license = licenses.gpl2Plus; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; broken = lib.versionAtLeast kernel.version "4.18"; }; } diff --git a/pkgs/os-specific/linux/ply/default.nix b/pkgs/os-specific/linux/ply/default.nix index 0c8e323b43494..3e1dfa2967061 100644 --- a/pkgs/os-specific/linux/ply/default.nix +++ b/pkgs/os-specific/linux/ply/default.nix @@ -1,10 +1,26 @@ -{ lib, stdenv, kernel, fetchFromGitHub, autoreconfHook, bison, flex, p7zip, rsync }: +{ + lib, + stdenv, + kernel, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + p7zip, + rsync, +}: stdenv.mkDerivation rec { pname = "ply"; version = "2.1.1-${lib.substring 0 7 src.rev}"; - nativeBuildInputs = [ autoreconfHook flex bison p7zip rsync ]; + nativeBuildInputs = [ + autoreconfHook + flex + bison + p7zip + rsync + ]; src = fetchFromGitHub { owner = "iovisor"; @@ -35,6 +51,9 @@ stdenv.mkDerivation rec { mainProgram = "ply"; homepage = "https://wkz.github.io/ply/"; license = [ licenses.gpl2Only ]; - maintainers = with maintainers; [ mic92 mbbx6spp ]; + maintainers = with maintainers; [ + mic92 + mbbx6spp + ]; }; } diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index 212df9715714e..862eda8b22177 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -1,31 +1,35 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, bbe -, makeWrapper -, p7zip -, perl -, undmg -, dbus-glib -, fuse -, glib -, xorg -, zlib -, kernel -, bash -, cups -, gawk -, netcat -, timetrap -, util-linux +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + bbe, + makeWrapper, + p7zip, + perl, + undmg, + dbus-glib, + fuse, + glib, + xorg, + zlib, + kernel, + bash, + cups, + gawk, + netcat, + timetrap, + util-linux, }: let kernelVersion = kernel.modDirVersion; kernelDir = "${kernel.dev}/lib/modules/${kernelVersion}"; - libPath = lib.concatStringsSep ":" [ "${glib.out}/lib" "${xorg.libXrandr}/lib" ]; + libPath = lib.concatStringsSep ":" [ + "${glib.out}/lib" + "${xorg.libXrandr}/lib" + ]; scriptPath = lib.concatStringsSep ":" [ "${bash}/bin" "${cups}/sbin" @@ -46,7 +50,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-R7pQhmLpMOHExPwH4YM3WDnp1PcwpH5Bif3C1/N55Bg="; }; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; nativeBuildInputs = [ autoPatchelfHook @@ -111,12 +118,18 @@ stdenv.mkDerivation (finalAttrs: { cp prl_fs/SharedFolders/Guest/Linux/prl_fs/prl_fs.ko $out/lib/modules/${kernelVersion}/extra cp prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.ko $out/lib/modules/${kernelVersion}/extra cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra - ${lib.optionalString stdenv.hostPlatform.isAarch64 - "cp prl_notifier/Installation/lnx/prl_notifier/prl_notifier.ko $out/lib/modules/${kernelVersion}/extra"} + ${lib.optionalString stdenv.hostPlatform.isAarch64 "cp prl_notifier/Installation/lnx/prl_notifier/prl_notifier.ko $out/lib/modules/${kernelVersion}/extra"} ) ( # tools - cd tools/tools${if stdenv.hostPlatform.isAarch64 then "-arm64" else if stdenv.hostPlatform.isx86_64 then "64" else "32"} + cd tools/tools${ + if stdenv.hostPlatform.isAarch64 then + "-arm64" + else if stdenv.hostPlatform.isx86_64 then + "64" + else + "32" + } mkdir -p $out/lib # prltoolsd contains hardcoded /bin/bash path @@ -175,7 +188,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Parallels Tools for Linux guests"; homepage = "https://parallels.com"; license = licenses.unfree; - maintainers = with maintainers; [ wegank codgician ]; + maintainers = with maintainers; [ + wegank + codgician + ]; platforms = platforms.linux; }; }) diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix index ead3c19a1ae48..59cdf14af493b 100644 --- a/pkgs/os-specific/linux/procps-ng/default.nix +++ b/pkgs/os-specific/linux/procps-ng/default.nix @@ -1,23 +1,24 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, pkg-config -, autoreconfHook +{ + lib, + stdenv, + fetchurl, + ncurses, + pkg-config, + autoreconfHook, # `ps` with systemd support is able to properly report different # attributes like unit name, so we want to have it on linux. -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, # procps is mostly Linux-only. Most commands require a running Linux # system (or very similar like that found in Cygwin). The one # exception is ‘watch’ which is portable enough to run on pretty much # any UNIX-compatible system. -, watchOnly ? !(stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isCygwin) + watchOnly ? !(stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isCygwin), -, binlore -, procps + binlore, + procps, }: stdenv.mkDerivation rec { @@ -30,23 +31,28 @@ stdenv.mkDerivation rec { hash = "sha256-IocNb+skeK22F85PCaeHrdry0mDFqKp7F9iJqWLF5C4="; }; - buildInputs = [ ncurses ] - ++ lib.optional withSystemd systemd; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + buildInputs = [ ncurses ] ++ lib.optional withSystemd systemd; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - makeFlags = [ "usrbin_execdir=$(out)/bin" ] - ++ lib.optionals watchOnly [ "src/watch" ]; + makeFlags = [ "usrbin_execdir=$(out)/bin" ] ++ lib.optionals watchOnly [ "src/watch" ]; enableParallelBuilding = true; # Too red; 8bit support for fixing https://github.com/NixOS/nixpkgs/issues/275220 - configureFlags = [ "--disable-modern-top" "--enable-watch8bit" ] + configureFlags = + [ + "--disable-modern-top" + "--enable-watch8bit" + ] ++ lib.optional withSystemd "--with-systemd" ++ lib.optional stdenv.hostPlatform.isMusl "--disable-w" ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "ac_cv_func_malloc_0_nonnull=yes" - "ac_cv_func_realloc_0_nonnull=yes" - ]; + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; installPhase = lib.optionalString watchOnly '' install -m 0755 -D src/watch $out/bin/watch diff --git a/pkgs/os-specific/linux/projecteur/default.nix b/pkgs/os-specific/linux/projecteur/default.nix index 96d6ed0327033..fc74771d74d62 100644 --- a/pkgs/os-specific/linux/projecteur/default.nix +++ b/pkgs/os-specific/linux/projecteur/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, pkg-config -, qtbase -, qtgraphicaleffects -, wrapQtAppsHook +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + qtbase, + qtgraphicaleffects, + wrapQtAppsHook, }: mkDerivation rec { @@ -46,7 +47,10 @@ mkDerivation rec { homepage = "https://github.com/jahnf/Projecteur"; license = lib.licenses.mit; mainProgram = "projecteur"; - maintainers = with lib.maintainers; [ benneti drupol ]; + maintainers = with lib.maintainers; [ + benneti + drupol + ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/qc71_laptop/default.nix b/pkgs/os-specific/linux/qc71_laptop/default.nix index bb4bf20ad0f69..effd8ed5818e8 100644 --- a/pkgs/os-specific/linux/qc71_laptop/default.nix +++ b/pkgs/os-specific/linux/qc71_laptop/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "qc71_laptop"; diff --git a/pkgs/os-specific/linux/r8125/default.nix b/pkgs/os-specific/linux/r8125/default.nix index ef271585efcef..3b2bdb45e8125 100644 --- a/pkgs/os-specific/linux/r8125/default.nix +++ b/pkgs/os-specific/linux/r8125/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "r8125"; diff --git a/pkgs/os-specific/linux/rfkill/udev.nix b/pkgs/os-specific/linux/rfkill/udev.nix index 53cbf68330c64..1b17349f33d84 100644 --- a/pkgs/os-specific/linux/rfkill/udev.nix +++ b/pkgs/os-specific/linux/rfkill/udev.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, substituteAll }: +{ + lib, + stdenv, + substituteAll, +}: # Provides a facility to hook into rfkill changes. # @@ -25,13 +29,13 @@ # in the rfkill package. let - rfkillHook = - substituteAll { - inherit (stdenv) shell; - isExecutable = true; - src = ./rfkill-hook.sh; - }; -in stdenv.mkDerivation { + rfkillHook = substituteAll { + inherit (stdenv) shell; + isExecutable = true; + src = ./rfkill-hook.sh; + }; +in +stdenv.mkDerivation { name = "rfkill-udev"; dontUnpack = true; diff --git a/pkgs/os-specific/linux/rtl8189es/default.nix b/pkgs/os-specific/linux/rtl8189es/default.nix index 8e95ceafd3367..a0588c5ce20c0 100644 --- a/pkgs/os-specific/linux/rtl8189es/default.nix +++ b/pkgs/os-specific/linux/rtl8189es/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, kernel, bc, nukeReferences }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, + bc, + nukeReferences, +}: stdenv.mkDerivation rec { name = "rtl8189es-${kernel.version}-${version}"; @@ -11,9 +18,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-n7Bsstr1H1RvguAyJnVqk/JgEx8WEZWaVg7ZfEYykR0="; }; - nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ + bc + nukeReferences + ] ++ kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; prePatch = '' substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/" @@ -23,7 +36,10 @@ stdenv.mkDerivation rec { makeFlags = kernel.makeFlags ++ [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n")) + ( + "CONFIG_PLATFORM_I386_PC=" + + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n") + ) ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) ]; diff --git a/pkgs/os-specific/linux/rtl8189fs/default.nix b/pkgs/os-specific/linux/rtl8189fs/default.nix index 87b0944c4d326..520d4feeaee69 100644 --- a/pkgs/os-specific/linux/rtl8189fs/default.nix +++ b/pkgs/os-specific/linux/rtl8189fs/default.nix @@ -1,4 +1,9 @@ -{ lib, kernel, rtl8189es, fetchFromGitHub }: +{ + lib, + kernel, + rtl8189es, + fetchFromGitHub, +}: # rtl8189fs is a branch of the rtl8189es driver rtl8189es.overrideAttrs (drv: rec { diff --git a/pkgs/os-specific/linux/rtl8192eu/default.nix b/pkgs/os-specific/linux/rtl8192eu/default.nix index 425edf3309ca4..0737d1fae87c9 100644 --- a/pkgs/os-specific/linux/rtl8192eu/default.nix +++ b/pkgs/os-specific/linux/rtl8192eu/default.nix @@ -1,8 +1,16 @@ -{ stdenv, lib, fetchFromGitHub, kernel, bc }: - -let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtl8192eu"; - -in stdenv.mkDerivation { +{ + stdenv, + lib, + fetchFromGitHub, + kernel, + bc, +}: + +let + modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtl8192eu"; + +in +stdenv.mkDerivation { pname = "rtl8192eu"; version = "${kernel.version}-4.4.1.20240507"; diff --git a/pkgs/os-specific/linux/rtl8723ds/default.nix b/pkgs/os-specific/linux/rtl8723ds/default.nix index d1f7e016e3bf3..bc7b9e51a7542 100644 --- a/pkgs/os-specific/linux/rtl8723ds/default.nix +++ b/pkgs/os-specific/linux/rtl8723ds/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, +}: stdenv.mkDerivation { pname = "rtl8723ds"; @@ -15,11 +21,13 @@ stdenv.mkDerivation { nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; postPatch = '' substituteInPlace ./Makefile \ diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index 6aab44d92c72e..a429d075feb50 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, + nukeReferences, +}: stdenv.mkDerivation { pname = "rtl8812au"; @@ -11,8 +18,14 @@ stdenv.mkDerivation { hash = "sha256-ZS0iUb77XnXR5BUMeQ1EDuly7hStRt430ECueFW4v4w="; }; - nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" "format" ]; + nativeBuildInputs = [ + bc + nukeReferences + ] ++ kernel.moduleBuildDependencies; + hardeningDisable = [ + "pic" + "format" + ]; prePatch = '' substituteInPlace ./Makefile \ @@ -21,13 +34,15 @@ stdenv.mkDerivation { --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) - ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) + ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; preInstall = '' mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" diff --git a/pkgs/os-specific/linux/rtl8814au/default.nix b/pkgs/os-specific/linux/rtl8814au/default.nix index fbe1d62f28d3d..c808fa95dd243 100644 --- a/pkgs/os-specific/linux/rtl8814au/default.nix +++ b/pkgs/os-specific/linux/rtl8814au/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation { pname = "rtl8814au"; diff --git a/pkgs/os-specific/linux/rtl8821au/default.nix b/pkgs/os-specific/linux/rtl8821au/default.nix index e8be48cc403c8..dacc0d1a357fa 100644 --- a/pkgs/os-specific/linux/rtl8821au/default.nix +++ b/pkgs/os-specific/linux/rtl8821au/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, + nukeReferences, +}: stdenv.mkDerivation { pname = "rtl8821au"; @@ -11,19 +18,30 @@ stdenv.mkDerivation { hash = "sha256-eB9RCoU5jg5fgZkfcef9fsQ6tyD8gTPD+wYcR6PbWNw="; }; - nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ + bc + nukeReferences + ] ++ kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) - ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n")) - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) + ( + "CONFIG_PLATFORM_ARM_RPI=" + + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n") + ) + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; prePatch = '' substituteInPlace ./Makefile \ diff --git a/pkgs/os-specific/linux/rtl8821cu/default.nix b/pkgs/os-specific/linux/rtl8821cu/default.nix index 440a66ca341f2..270d6832f4127 100644 --- a/pkgs/os-specific/linux/rtl8821cu/default.nix +++ b/pkgs/os-specific/linux/rtl8821cu/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, +}: stdenv.mkDerivation { pname = "rtl8821cu"; diff --git a/pkgs/os-specific/linux/rtl8852au/default.nix b/pkgs/os-specific/linux/rtl8852au/default.nix index 97ac0c75b17e1..5adbffc6fba9a 100644 --- a/pkgs/os-specific/linux/rtl8852au/default.nix +++ b/pkgs/os-specific/linux/rtl8852au/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, + nukeReferences, +}: stdenv.mkDerivation (finalAttrs: { pname = "rtl8852au"; @@ -11,8 +18,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-c2dpnZS6a0waL1khB9ZEglTwJIBsyRebTMig1B4A0xU="; }; - nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" "format" ]; + nativeBuildInputs = [ + bc + nukeReferences + ] ++ kernel.moduleBuildDependencies; + hardeningDisable = [ + "pic" + "format" + ]; postPatch = '' substituteInPlace ./Makefile \ @@ -23,13 +36,15 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail /lib/modules "${kernel.dev}/lib/modules" ''; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) - ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) + ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; preInstall = '' mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" diff --git a/pkgs/os-specific/linux/rtl8852bu/default.nix b/pkgs/os-specific/linux/rtl8852bu/default.nix index 4b5366cab9d0c..db6c419a35416 100644 --- a/pkgs/os-specific/linux/rtl8852bu/default.nix +++ b/pkgs/os-specific/linux/rtl8852bu/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, + nukeReferences, +}: stdenv.mkDerivation rec { pname = "rtl8852bu"; @@ -11,8 +18,14 @@ stdenv.mkDerivation rec { hash = "sha256-22vzAdzzM5YnfU8kRWSK3HXxw6BA4FOWXLdWEb7T5IE="; }; - nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" "format" ]; + nativeBuildInputs = [ + bc + nukeReferences + ] ++ kernel.moduleBuildDependencies; + hardeningDisable = [ + "pic" + "format" + ]; postPatch = '' substituteInPlace ./Makefile \ @@ -22,13 +35,15 @@ stdenv.mkDerivation rec { --replace-fail /lib/modules "${kernel.dev}/lib/modules" ''; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) - ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) + ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; preInstall = '' mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" diff --git a/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix b/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix index 2f6ab211d32e2..58f810fe0830a 100644 --- a/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix +++ b/pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "rtl88xxau-aircrack"; @@ -34,7 +39,14 @@ stdenv.mkDerivation rec { (8811au, 8812au, 8814au and 8821au chipsets) with monitor mode and injection support.''; homepage = "https://github.com/aircrack-ng/rtl8812au"; license = licenses.gpl2Only; - maintainers = [ maintainers.ja1den maintainers.jethro ]; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; + maintainers = [ + maintainers.ja1den + maintainers.jethro + ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + ]; }; } diff --git a/pkgs/os-specific/linux/rtw88/default.nix b/pkgs/os-specific/linux/rtw88/default.nix index 5dcee061edd7e..095f4135c82d9 100644 --- a/pkgs/os-specific/linux/rtw88/default.nix +++ b/pkgs/os-specific/linux/rtw88/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtw88"; @@ -32,8 +37,14 @@ stdenv.mkDerivation { meta = with lib; { description = "Backport of the latest Realtek RTW88 driver from wireless-next for older kernels"; homepage = "https://github.com/lwfinger/rtw88"; - license = with licenses; [ bsd3 gpl2Only ]; - maintainers = with maintainers; [ tvorog atila ]; + license = with licenses; [ + bsd3 + gpl2Only + ]; + maintainers = with maintainers; [ + tvorog + atila + ]; platforms = platforms.linux; broken = kernel.kernelOlder "4.20"; priority = -1; diff --git a/pkgs/os-specific/linux/rtw89/default.nix b/pkgs/os-specific/linux/rtw89/default.nix index 1bb42860a8c76..a704f75ec1741 100644 --- a/pkgs/os-specific/linux/rtw89/default.nix +++ b/pkgs/os-specific/linux/rtw89/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtw89"; diff --git a/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix b/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix index ba0bd561d5977..c2a4a52c20e5f 100644 --- a/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix +++ b/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, kernel, unstableGitUpdater }: +{ + lib, + fetchFromGitHub, + kernel, + unstableGitUpdater, +}: kernel.stdenv.mkDerivation { pname = "rust-out-of-tree-module"; version = "0-unstable-2024-05-06"; @@ -25,8 +30,7 @@ kernel.stdenv.mkDerivation { homepage = "https://github.com/Rust-for-Linux/rust-out-of-tree-module"; license = lib.licenses.gpl2Only; maintainers = [ lib.maintainers.blitz ]; - platforms = [ "x86_64-linux" ] - ++ lib.optional (kernel.kernelAtLeast "6.9") "aarch64-linux"; + platforms = [ "x86_64-linux" ] ++ lib.optional (kernel.kernelAtLeast "6.9") "aarch64-linux"; }; } diff --git a/pkgs/os-specific/linux/ryzen-smu/default.nix b/pkgs/os-specific/linux/ryzen-smu/default.nix index 87fb02fd08fe2..40226010ec9e8 100644 --- a/pkgs/os-specific/linux/ryzen-smu/default.nix +++ b/pkgs/os-specific/linux/ryzen-smu/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, kernel +{ + lib, + stdenv, + fetchFromGitHub, + kernel, }: let @@ -27,12 +28,12 @@ let ]; installPhase = '' - runHook preInstall + runHook preInstall - install userspace/monitor_cpu -Dm755 -t $out/bin + install userspace/monitor_cpu -Dm755 -t $out/bin - runHook postInstall - ''; + runHook postInstall + ''; }; in @@ -62,7 +63,10 @@ stdenv.mkDerivation { description = "Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors"; homepage = "https://gitlab.com/leogx9r/ryzen_smu"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ Cryolitia phdyellow ]; + maintainers = with maintainers; [ + Cryolitia + phdyellow + ]; platforms = [ "x86_64-linux" ]; mainProgram = "monitor_cpu"; }; diff --git a/pkgs/os-specific/linux/scx/scx_cscheds.nix b/pkgs/os-specific/linux/scx/scx_cscheds.nix index b333589ae11e8..b6d984f8b0001 100644 --- a/pkgs/os-specific/linux/scx/scx_cscheds.nix +++ b/pkgs/os-specific/linux/scx/scx_cscheds.nix @@ -84,13 +84,16 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: { --replace-fail '[build_bpftool' "['${misbehaviorBash}', build_bpftool" ''; - nativeBuildInputs = [ - meson - ninja - jq - pkg-config - zstd - ] ++ bpftools.buildInputs ++ bpftools.nativeBuildInputs; + nativeBuildInputs = + [ + meson + ninja + jq + pkg-config + zstd + ] + ++ bpftools.buildInputs + ++ bpftools.nativeBuildInputs; buildInputs = [ elfutils diff --git a/pkgs/os-specific/linux/sgx/psw/default.nix b/pkgs/os-specific/linux/sgx/psw/default.nix index 6a73775dbf83f..2b3e97604f973 100644 --- a/pkgs/os-specific/linux/sgx/psw/default.nix +++ b/pkgs/os-specific/linux/sgx/psw/default.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchurl -, fetchFromGitHub -, cmake -, coreutils -, curl -, file -, git -, makeWrapper -, nixosTests -, protobuf -, python3 -, ocaml -, ocamlPackages -, which -, debug ? false +{ + stdenv, + lib, + fetchurl, + fetchFromGitHub, + cmake, + coreutils, + curl, + file, + git, + makeWrapper, + nixosTests, + protobuf, + python3, + ocaml, + ocamlPackages, + which, + debug ? false, }: stdenv.mkDerivation rec { pname = "sgx-psw"; @@ -263,7 +264,11 @@ stdenv.mkDerivation rec { meta = { description = "Intel SGX Architectural Enclave Service Manager"; homepage = "https://github.com/intel/linux-sgx"; - maintainers = with lib.maintainers; [ phlip9 veehaitch citadelcore ]; + maintainers = with lib.maintainers; [ + phlip9 + veehaitch + citadelcore + ]; platforms = [ "x86_64-linux" ]; license = [ lib.licenses.bsd3 ]; }; diff --git a/pkgs/os-specific/linux/sgx/samples/default.nix b/pkgs/os-specific/linux/sgx/samples/default.nix index 0cbd6db02838a..7b31a96240cd6 100644 --- a/pkgs/os-specific/linux/sgx/samples/default.nix +++ b/pkgs/os-specific/linux/sgx/samples/default.nix @@ -1,70 +1,74 @@ -{ stdenv -, lib -, makeWrapper -, openssl -, sgx-sdk -, sgx-psw -, which +{ + stdenv, + lib, + makeWrapper, + openssl, + sgx-sdk, + sgx-psw, + which, # "SIM" or "HW" -, sgxMode + sgxMode, }: let isSimulation = sgxMode == "SIM"; - buildSample = name: stdenv.mkDerivation { - pname = name; - version = sgxMode; + buildSample = + name: + stdenv.mkDerivation { + pname = name; + version = sgxMode; - src = sgx-sdk.out; - sourceRoot = "${sgx-sdk.name}/share/SampleCode/${name}"; + src = sgx-sdk.out; + sourceRoot = "${sgx-sdk.name}/share/SampleCode/${name}"; - nativeBuildInputs = [ - makeWrapper - openssl - which - ]; + nativeBuildInputs = [ + makeWrapper + openssl + which + ]; - buildInputs = [ - sgx-sdk - ]; + buildInputs = [ + sgx-sdk + ]; - # The samples don't have proper support for parallel building - # causing them to fail randomly. - enableParallelBuilding = false; + # The samples don't have proper support for parallel building + # causing them to fail randomly. + enableParallelBuilding = false; - buildFlags = [ - "SGX_MODE=${sgxMode}" - ]; + buildFlags = [ + "SGX_MODE=${sgxMode}" + ]; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/{bin,lib} - install -m 755 app $out/bin - install *.so $out/lib + mkdir -p $out/{bin,lib} + install -m 755 app $out/bin + install *.so $out/lib - wrapProgram "$out/bin/app" \ - --chdir "$out/lib" \ - ${lib.optionalString (!isSimulation) - ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}"''} + wrapProgram "$out/bin/app" \ + --chdir "$out/lib" \ + ${lib.optionalString (!isSimulation) + ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}"'' + } - runHook postInstall - ''; + runHook postInstall + ''; - # Breaks the signature of the enclaves - dontFixup = true; + # Breaks the signature of the enclaves + dontFixup = true; - # We don't have access to real SGX hardware during the build - doInstallCheck = isSimulation; - installCheckPhase = '' - runHook preInstallCheck + # We don't have access to real SGX hardware during the build + doInstallCheck = isSimulation; + installCheckPhase = '' + runHook preInstallCheck - pushd / - echo a | $out/bin/app - popd + pushd / + echo a | $out/bin/app + popd - runHook preInstallCheck - ''; - }; + runHook preInstallCheck + ''; + }; in { cxx11SGXDemo = buildSample "Cxx11SGXDemo"; @@ -82,7 +86,8 @@ in wrapProgram $bin \ --chdir "$out/lib" \ ${lib.optionalString (!isSimulation) - ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}"''} + ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}"'' + } done runHook postInstall @@ -112,7 +117,8 @@ in switchless = buildSample "Switchless"; # # Requires SGX-patched openssl (sgxssl) build # sampleAttestedTLS = buildSample "SampleAttestedTLS"; -} // lib.optionalAttrs (!isSimulation) { +} +// lib.optionalAttrs (!isSimulation) { # # Requires kernel >= v6.2 && HW SGX # sampleAEXNotify = buildSample "SampleAEXNotify"; @@ -129,7 +135,7 @@ in wrapProgram "$out/bin/app" \ --chdir "$out/lib" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [sgx-psw]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ sgx-psw ]}" runHook postInstall ''; diff --git a/pkgs/os-specific/linux/sgx/sdk/default.nix b/pkgs/os-specific/linux/sgx/sdk/default.nix index 4f7374d634f36..5e9b99af143f1 100644 --- a/pkgs/os-specific/linux/sgx/sdk/default.nix +++ b/pkgs/os-specific/linux/sgx/sdk/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, binutils -, callPackage -, cmake -, file -, gdb -, git -, libtool -, linkFarmFromDrvs -, ocaml -, ocamlPackages -, openssl -, perl -, python3 -, texinfo -, validatePkgConfig -, writeShellApplication -, writeShellScript -, writeText -, debug ? false +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + binutils, + callPackage, + cmake, + file, + gdb, + git, + libtool, + linkFarmFromDrvs, + ocaml, + ocamlPackages, + openssl, + perl, + python3, + texinfo, + validatePkgConfig, + writeShellApplication, + writeShellScript, + writeText, + debug ? false, }: stdenv.mkDerivation rec { pname = "sgx-sdk"; @@ -141,11 +142,13 @@ stdenv.mkDerivation rec { popd ''; - buildFlags = [ - "sdk_install_pkg" - ] ++ lib.optionals debug [ - "DEBUG=1" - ]; + buildFlags = + [ + "sdk_install_pkg" + ] + ++ lib.optionals debug [ + "DEBUG=1" + ]; postBuild = '' patchShebangs linux/installer/bin/sgx_linux_x64_sdk_${version}.bin @@ -291,7 +294,12 @@ stdenv.mkDerivation rec { meta = { description = "Intel SGX SDK for Linux built with IPP Crypto Library"; homepage = "https://github.com/intel/linux-sgx"; - maintainers = with lib.maintainers; [ phlip9 sbellem arturcygan veehaitch ]; + maintainers = with lib.maintainers; [ + phlip9 + sbellem + arturcygan + veehaitch + ]; platforms = [ "x86_64-linux" ]; license = [ lib.licenses.bsd3 ]; }; diff --git a/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix b/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix index eba9e7f6a0e5c..d75654fdcf1a2 100644 --- a/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix +++ b/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix @@ -1,10 +1,11 @@ -{ gcc11Stdenv -, fetchFromGitHub -, cmake -, nasm -, openssl -, python3 -, extraCmakeFlags ? [ ] +{ + gcc11Stdenv, + fetchFromGitHub, + cmake, + nasm, + openssl, + python3, + extraCmakeFlags ? [ ], }: gcc11Stdenv.mkDerivation rec { pname = "ipp-crypto"; diff --git a/pkgs/os-specific/linux/sinit/default.nix b/pkgs/os-specific/linux/sinit/default.nix index 680e1ae2771c2..8cbfa053bc211 100644 --- a/pkgs/os-specific/linux/sinit/default.nix +++ b/pkgs/os-specific/linux/sinit/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchgit, rcinit ? null, rcshutdown ? null, rcreboot ? null }: +{ + lib, + stdenv, + fetchgit, + rcinit ? null, + rcshutdown ? null, + rcreboot ? null, +}: stdenv.mkDerivation rec { pname = "sinit"; @@ -13,11 +20,17 @@ stdenv.mkDerivation rec { (lib.getOutput "static" stdenv.cc.libc) ]; makeFlags = [ "PREFIX=$(out)" ]; - preConfigure = "" - + (lib.optionalString (rcinit != null) ''sed -re 's@(rcinitcmd[^"]*")[^"]*"@\1${rcinit}"@' -i config.def.h; '') - + (lib.optionalString (rcshutdown != null) ''sed -re 's@(rc(reboot|poweroff)cmd[^"]*")[^"]*"@\1${rcshutdown}"@' -i config.def.h; '') - + (lib.optionalString (rcreboot != null) ''sed -re 's@(rc(reboot)cmd[^"]*")[^"]*"@\1${rcreboot}"@' -i config.def.h; '') - ; + preConfigure = + "" + + (lib.optionalString ( + rcinit != null + ) ''sed -re 's@(rcinitcmd[^"]*")[^"]*"@\1${rcinit}"@' -i config.def.h; '') + + (lib.optionalString ( + rcshutdown != null + ) ''sed -re 's@(rc(reboot|poweroff)cmd[^"]*")[^"]*"@\1${rcshutdown}"@' -i config.def.h; '') + + (lib.optionalString ( + rcreboot != null + ) ''sed -re 's@(rc(reboot)cmd[^"]*")[^"]*"@\1${rcreboot}"@' -i config.def.h; ''); meta = with lib; { description = "Very minimal Linux init implementation from suckless.org"; diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix index b3395c7a4ceae..ae9eb0d16c083 100644 --- a/pkgs/os-specific/linux/sssd/default.nix +++ b/pkgs/os-specific/linux/sssd/default.nix @@ -1,12 +1,60 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, makeWrapper, glibc, adcli, augeas, dnsutils, c-ares, curl, - cyrus_sasl, ding-libs, libnl, libunistring, nss, samba, nfs-utils, doxygen, - python3, pam, popt, talloc, tdb, tevent, pkg-config, ldb, openldap, - pcre2, libkrb5, cifs-utils, glib, keyutils, dbus, fakeroot, libxslt, libxml2, - libuuid, systemd, nspr, check, cmocka, uid_wrapper, p11-kit, - nss_wrapper, ncurses, Po4a, jansson, jose, - docbook_xsl, docbook_xml_dtd_45, - testers, nix-update-script, nixosTests, - withSudo ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + makeWrapper, + glibc, + adcli, + augeas, + dnsutils, + c-ares, + curl, + cyrus_sasl, + ding-libs, + libnl, + libunistring, + nss, + samba, + nfs-utils, + doxygen, + python3, + pam, + popt, + talloc, + tdb, + tevent, + pkg-config, + ldb, + openldap, + pcre2, + libkrb5, + cifs-utils, + glib, + keyutils, + dbus, + fakeroot, + libxslt, + libxml2, + libuuid, + systemd, + nspr, + check, + cmocka, + uid_wrapper, + p11-kit, + nss_wrapper, + ncurses, + Po4a, + jansson, + jose, + docbook_xsl, + docbook_xml_dtd_45, + testers, + nix-update-script, + nixosTests, + withSudo ? false, +}: let docbookFiles = "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; @@ -32,59 +80,103 @@ stdenv.mkDerivation (finalAttrs: { "-I${libxml2.dev}/include/libxml2" ]; - preConfigure = '' - export SGML_CATALOG_FILES="${docbookFiles}" - export PYTHONPATH=$(find ${python3.pkgs.python-ldap} -type d -name site-packages) - export PATH=$PATH:${openldap}/libexec + preConfigure = + '' + export SGML_CATALOG_FILES="${docbookFiles}" + export PYTHONPATH=$(find ${python3.pkgs.python-ldap} -type d -name site-packages) + export PATH=$PATH:${openldap}/libexec - configureFlagsArray=( - --prefix=$out - --sysconfdir=/etc - --localstatedir=/var - --enable-pammoddir=$out/lib/security - --with-os=fedora - --with-pid-path=/run - --with-python3-bindings - --with-syslog=journald - --without-selinux - --without-semanage - --with-xml-catalog-path=''${SGML_CATALOG_FILES%%:*} - --with-ldb-lib-dir=$out/modules/ldb - --with-nscd=${glibc.bin}/sbin/nscd - ) - '' + lib.optionalString withSudo '' - configureFlagsArray+=("--with-sudo") - ''; + configureFlagsArray=( + --prefix=$out + --sysconfdir=/etc + --localstatedir=/var + --enable-pammoddir=$out/lib/security + --with-os=fedora + --with-pid-path=/run + --with-python3-bindings + --with-syslog=journald + --without-selinux + --without-semanage + --with-xml-catalog-path=''${SGML_CATALOG_FILES%%:*} + --with-ldb-lib-dir=$out/modules/ldb + --with-nscd=${glibc.bin}/sbin/nscd + ) + '' + + lib.optionalString withSudo '' + configureFlagsArray+=("--with-sudo") + ''; enableParallelBuilding = true; # Disable parallel install due to missing depends: # libtool: error: error: relink '_py3sss.la' with the above command before installing i enableParallelInstalling = false; - nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config doxygen ]; - buildInputs = [ augeas dnsutils c-ares curl cyrus_sasl ding-libs libnl libunistring nss - samba nfs-utils p11-kit python3 popt - talloc tdb tevent ldb pam openldap pcre2 libkrb5 - cifs-utils glib keyutils dbus fakeroot libxslt libxml2 - libuuid python3.pkgs.python-ldap systemd nspr check cmocka uid_wrapper - nss_wrapper ncurses Po4a jansson jose ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + pkg-config + doxygen + ]; + buildInputs = [ + augeas + dnsutils + c-ares + curl + cyrus_sasl + ding-libs + libnl + libunistring + nss + samba + nfs-utils + p11-kit + python3 + popt + talloc + tdb + tevent + ldb + pam + openldap + pcre2 + libkrb5 + cifs-utils + glib + keyutils + dbus + fakeroot + libxslt + libxml2 + libuuid + python3.pkgs.python-ldap + systemd + nspr + check + cmocka + uid_wrapper + nss_wrapper + ncurses + Po4a + jansson + jose + ]; makeFlags = [ "SGML_CATALOG_FILES=${docbookFiles}" ]; installFlags = [ - "sysconfdir=$(out)/etc" - "localstatedir=$(out)/var" - "pidpath=$(out)/run" - "sss_statedir=$(out)/var/lib/sss" - "logpath=$(out)/var/log/sssd" - "pubconfpath=$(out)/var/lib/sss/pubconf" - "dbpath=$(out)/var/lib/sss/db" - "mcpath=$(out)/var/lib/sss/mc" - "pipepath=$(out)/var/lib/sss/pipes" - "gpocachepath=$(out)/var/lib/sss/gpo_cache" - "secdbpath=$(out)/var/lib/sss/secrets" - "initdir=$(out)/rc.d/init" + "sysconfdir=$(out)/etc" + "localstatedir=$(out)/var" + "pidpath=$(out)/run" + "sss_statedir=$(out)/var/lib/sss" + "logpath=$(out)/var/log/sssd" + "pubconfpath=$(out)/var/lib/sss/pubconf" + "dbpath=$(out)/var/lib/sss/db" + "mcpath=$(out)/var/lib/sss/mc" + "pipepath=$(out)/var/lib/sss/pipes" + "gpocachepath=$(out)/var/lib/sss/gpo_cache" + "secdbpath=$(out)/var/lib/sss/secrets" + "initdir=$(out)/rc.d/init" ]; postInstall = '' diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 38779e28ceb17..0568f183b1cef 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -98,7 +98,10 @@ stdenv.mkDerivation { bpftools ] ++ lib.optionals (kernel != null) kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" "zerocallusedregs" ]; + hardeningDisable = [ + "pic" + "zerocallusedregs" + ]; postUnpack = '' cp -r ${ diff --git a/pkgs/os-specific/linux/system76-acpi/default.nix b/pkgs/os-specific/linux/system76-acpi/default.nix index b384cf6394872..2df682506c386 100644 --- a/pkgs/os-specific/linux/system76-acpi/default.nix +++ b/pkgs/os-specific/linux/system76-acpi/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: let version = "1.0.2"; sha256 = "1i7zjn5cdv9h00fgjg46b8yrz4d3dqvfr25g3f13967ycy58m48h"; @@ -32,7 +37,10 @@ stdenv.mkDerivation { meta = with lib; { maintainers = [ maintainers.khumba ]; license = [ licenses.gpl2Only ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; broken = kernel.kernelOlder "5.2"; description = "System76 ACPI Driver (DKMS)"; homepage = "https://github.com/pop-os/system76-acpi-dkms"; diff --git a/pkgs/os-specific/linux/system76-io/default.nix b/pkgs/os-specific/linux/system76-io/default.nix index 772ef9f06d091..257c56d59d720 100644 --- a/pkgs/os-specific/linux/system76-io/default.nix +++ b/pkgs/os-specific/linux/system76-io/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: let version = "1.0.4"; hash = "sha256-VE6sCehjXlRuOVcK4EN2H+FhaVaBi/jrAYx4TZjbreA="; @@ -28,9 +33,16 @@ stdenv.mkDerivation { ''; meta = { - maintainers = with lib.maintainers; [ khumba ahoneybun ]; + maintainers = with lib.maintainers; [ + khumba + ahoneybun + ]; license = lib.licenses.gpl2Plus; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + "aarch64-linux" + ]; broken = lib.versionOlder kernel.version "5.10"; description = "DKMS module for controlling System76 Io board"; homepage = "https://github.com/pop-os/system76-io-dkms"; diff --git a/pkgs/os-specific/linux/system76/default.nix b/pkgs/os-specific/linux/system76/default.nix index b42b31c5a214f..95576c8861f08 100644 --- a/pkgs/os-specific/linux/system76/default.nix +++ b/pkgs/os-specific/linux/system76/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: let version = "1.0.16"; hash = "sha256-jsBLy5WDl2l8o/2ccIk1XMqOukeDX5eZ+VH5Dyo5BaA="; @@ -32,7 +37,10 @@ stdenv.mkDerivation { meta = { maintainers = [ lib.maintainers.khumba ]; license = [ lib.licenses.gpl2Plus ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; description = "System76 DKMS driver"; homepage = "https://github.com/pop-os/system76-dkms"; longDescription = '' diff --git a/pkgs/os-specific/linux/tmon/default.nix b/pkgs/os-specific/linux/tmon/default.nix index c4222cfc3a245..764891a4bbc1e 100644 --- a/pkgs/os-specific/linux/tmon/default.nix +++ b/pkgs/os-specific/linux/tmon/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, kernel, ncurses }: +{ + lib, + stdenv, + kernel, + ncurses, +}: stdenv.mkDerivation { pname = "tmon"; @@ -12,7 +17,10 @@ stdenv.mkDerivation { cd tools/thermal/tmon ''; - makeFlags = kernel.makeFlags ++ [ "INSTALL_ROOT=\"$(out)\"" "BINDIR=bin" ]; + makeFlags = kernel.makeFlags ++ [ + "INSTALL_ROOT=\"$(out)\"" + "BINDIR=bin" + ]; NIX_CFLAGS_LINK = "-lgcc_s"; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix index b0f760e3b00ad..6d8a46afd2c6d 100644 --- a/pkgs/os-specific/linux/tp_smapi/default.nix +++ b/pkgs/os-specific/linux/tp_smapi/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, kernel -, writeScript -, coreutils -, gnugrep -, jq -, curl -, common-updater-scripts -, runtimeShell +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + kernel, + writeScript, + coreutils, + gnugrep, + jq, + curl, + common-updater-scripts, + runtimeShell, }: stdenv.mkDerivation rec { @@ -53,7 +54,16 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru.updateScript = import ./update.nix { - inherit lib writeScript coreutils gnugrep jq curl common-updater-scripts runtimeShell; + inherit + lib + writeScript + coreutils + gnugrep + jq + curl + common-updater-scripts + runtimeShell + ; }; meta = { @@ -62,6 +72,9 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = [ ]; # driver is only ment for linux thinkpads i think bellow platforms should cover it. - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } diff --git a/pkgs/os-specific/linux/tp_smapi/update.nix b/pkgs/os-specific/linux/tp_smapi/update.nix index 65b557e454572..8b6fde3c0eaab 100644 --- a/pkgs/os-specific/linux/tp_smapi/update.nix +++ b/pkgs/os-specific/linux/tp_smapi/update.nix @@ -1,11 +1,28 @@ -{ lib, writeScript, coreutils, curl, gnugrep, jq, common-updater-scripts, runtimeShell }: +{ + lib, + writeScript, + coreutils, + curl, + gnugrep, + jq, + common-updater-scripts, + runtimeShell, +}: writeScript "update-tp_smapi" '' -#!${runtimeShell} -PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep jq ]} + #!${runtimeShell} + PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + jq + ] + } -tags=`curl -s https://api.github.com/repos/evgeni/tp_smapi/tags` -latest_tag=`echo $tags | jq -r '.[] | .name' | grep -oP "^tp-smapi/\K.*" | sort --version-sort | tail -1` + tags=`curl -s https://api.github.com/repos/evgeni/tp_smapi/tags` + latest_tag=`echo $tags | jq -r '.[] | .name' | grep -oP "^tp-smapi/\K.*" | sort --version-sort | tail -1` -update-source-version linuxPackages.tp_smapi "$latest_tag" + update-source-version linuxPackages.tp_smapi "$latest_tag" '' diff --git a/pkgs/os-specific/linux/trace-cmd/default.nix b/pkgs/os-specific/linux/trace-cmd/default.nix index 5c339c093dd5e..6557063373e74 100644 --- a/pkgs/os-specific/linux/trace-cmd/default.nix +++ b/pkgs/os-specific/linux/trace-cmd/default.nix @@ -1,11 +1,26 @@ -{ lib, stdenv, fetchzip, pkg-config, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libtraceevent, libtracefs, zstd, sourceHighlight, gitUpdater }: +{ + lib, + stdenv, + fetchzip, + pkg-config, + asciidoc, + xmlto, + docbook_xsl, + docbook_xml_dtd_45, + libxslt, + libtraceevent, + libtracefs, + zstd, + sourceHighlight, + gitUpdater, +}: stdenv.mkDerivation rec { pname = "trace-cmd"; version = "3.3.1"; src = fetchzip { - url = "https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-v${version}.tar.gz"; - hash = "sha256-kEji3qDqQsSK0tL8Fx2ycSd2lTXBXOHHTvsb6XDNSa8="; + url = "https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-v${version}.tar.gz"; + hash = "sha256-kEji3qDqQsSK0tL8Fx2ycSd2lTXBXOHHTvsb6XDNSa8="; }; # Don't build and install html documentation @@ -15,13 +30,31 @@ stdenv.mkDerivation rec { patchShebangs check-manpages.sh ''; - nativeBuildInputs = [ asciidoc libxslt pkg-config xmlto docbook_xsl docbook_xml_dtd_45 sourceHighlight ]; + nativeBuildInputs = [ + asciidoc + libxslt + pkg-config + xmlto + docbook_xsl + docbook_xml_dtd_45 + sourceHighlight + ]; - buildInputs = [ libtraceevent libtracefs zstd ]; + buildInputs = [ + libtraceevent + libtracefs + zstd + ]; - outputs = [ "out" "lib" "dev" "man" "devman" ]; + outputs = [ + "out" + "lib" + "dev" + "man" + "devman" + ]; - MANPAGE_DOCBOOK_XSL="${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"; + MANPAGE_DOCBOOK_XSL = "${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"; dontConfigure = true; @@ -62,9 +95,16 @@ stdenv.mkDerivation rec { meta = with lib; { description = "User-space tools for the Linux kernel ftrace subsystem"; mainProgram = "trace-cmd"; - homepage = "https://www.trace-cmd.org/"; - license = with licenses; [ lgpl21Only gpl2Only ]; - platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice basvandijk wentasah ]; + homepage = "https://www.trace-cmd.org/"; + license = with licenses; [ + lgpl21Only + gpl2Only + ]; + platforms = platforms.linux; + maintainers = with maintainers; [ + thoughtpolice + basvandijk + wentasah + ]; }; } diff --git a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix index 9f3d22c8a7077..9c1ba81d8d07f 100644 --- a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix +++ b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix @@ -1,6 +1,22 @@ -{ lib, stdenv, fetchzip, qtbase, qtscxml, cmake, asciidoc -, docbook_xsl, json_c, mesa_glu, libglut, trace-cmd, pkg-config -, libtraceevent, libtracefs, freefont_ttf, wrapQtAppsHook, qtwayland +{ + lib, + stdenv, + fetchzip, + qtbase, + qtscxml, + cmake, + asciidoc, + docbook_xsl, + json_c, + mesa_glu, + libglut, + trace-cmd, + pkg-config, + libtraceevent, + libtracefs, + freefont_ttf, + wrapQtAppsHook, + qtwayland, }: stdenv.mkDerivation (finalAttrs: { @@ -14,9 +30,23 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" ]; - nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + pkg-config + cmake + wrapQtAppsHook + ]; - buildInputs = [ qtbase qtscxml qtwayland json_c mesa_glu libglut libtraceevent libtracefs trace-cmd ]; + buildInputs = [ + qtbase + qtscxml + qtwayland + json_c + mesa_glu + libglut + libtraceevent + libtracefs + trace-cmd + ]; cmakeFlags = [ "-D_INSTALL_PREFIX=${placeholder "out"}" @@ -27,9 +57,9 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem"; - homepage = "https://kernelshark.org/"; - license = licenses.gpl2Only; - platforms = platforms.linux; + homepage = "https://kernelshark.org/"; + license = licenses.gpl2Only; + platforms = platforms.linux; maintainers = with maintainers; [ basvandijk ]; }; }) diff --git a/pkgs/os-specific/linux/trelay/default.nix b/pkgs/os-specific/linux/trelay/default.nix index aea5b57dfca10..291d8a2111bb6 100644 --- a/pkgs/os-specific/linux/trelay/default.nix +++ b/pkgs/os-specific/linux/trelay/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchgit, kernel, kmod }: +{ + stdenv, + lib, + fetchgit, + kernel, + kmod, +}: let version = "22.03.5"; in @@ -14,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: { }; sourceRoot = "${finalAttrs.src.name}/package/kernel/trelay/src"; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies; postPatch = '' diff --git a/pkgs/os-specific/linux/turbostat/default.nix b/pkgs/os-specific/linux/turbostat/default.nix index 92aafcfe173f6..dcec8df4eca9f 100644 --- a/pkgs/os-specific/linux/turbostat/default.nix +++ b/pkgs/os-specific/linux/turbostat/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, kernel, libcap }: +{ + lib, + stdenv, + kernel, + libcap, +}: stdenv.mkDerivation { pname = "turbostat"; @@ -16,7 +21,9 @@ stdenv.mkDerivation { mainProgram = "turbostat"; homepage = "https://www.kernel.org/"; license = licenses.gpl2Only; - platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific + platforms = [ + "i686-linux" + "x86_64-linux" + ]; # x86-specific }; } - diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index 51a342aa5e92e..9672e77615422 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -1,9 +1,40 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, pkg-config, gnused, autoreconfHook -, gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash, which -, expat, libxslt, docbook_xsl, util-linux, mdadm, libgudev, libblockdev, parted -, gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43 -, xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + pkg-config, + gnused, + autoreconfHook, + gtk-doc, + acl, + systemd, + glib, + libatasmart, + polkit, + coreutils, + bash, + which, + expat, + libxslt, + docbook_xsl, + util-linux, + mdadm, + libgudev, + libblockdev, + parted, + gobject-introspection, + docbook_xml_dtd_412, + docbook_xml_dtd_43, + xfsprogs, + f2fs-tools, + dosfstools, + e2fsprogs, + btrfs-progs, + exfat, + nilfs-utils, + ntfs3g, + nixosTests, }: stdenv.mkDerivation rec { @@ -17,7 +48,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-L8jr1+SJWsCizkPXC8VKDy2eVa7/FpqdB8SkBYq6vwc="; }; - outputs = [ "out" "man" "dev" ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc"; + outputs = [ + "out" + "man" + "dev" + ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc"; patches = [ (substituteAll { @@ -35,8 +70,17 @@ stdenv.mkDerivation rec { (substituteAll { src = ./force-path.patch; path = lib.makeBinPath [ - btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils - xfsprogs ntfs3g parted util-linux + btrfs-progs + coreutils + dosfstools + e2fsprogs + exfat + f2fs-tools + nilfs-utils + xfsprogs + ntfs3g + parted + util-linux ]; }) ]; @@ -45,18 +89,33 @@ stdenv.mkDerivation rec { # pkg-config had to be in both to find gtk-doc and gobject-introspection depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ - autoreconfHook which gobject-introspection pkg-config - gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl + autoreconfHook + which + gobject-introspection + pkg-config + gtk-doc + libxslt + docbook_xml_dtd_412 + docbook_xml_dtd_43 + docbook_xsl ]; postPatch = lib.optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace udisks/udisksclient.c \ - --replace 'defined( __GNUC_PREREQ)' 1 \ - --replace '__GNUC_PREREQ(4,6)' 1 + substituteInPlace udisks/udisksclient.c \ + --replace 'defined( __GNUC_PREREQ)' 1 \ + --replace '__GNUC_PREREQ(4,6)' 1 ''; buildInputs = [ - expat libgudev libblockdev acl systemd glib libatasmart polkit util-linux + expat + libgudev + libblockdev + acl + systemd + glib + libatasmart + polkit + util-linux ]; preConfigure = "NOCONFIGURE=1 ./autogen.sh"; @@ -91,7 +150,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Daemon, tools and libraries to access and manipulate disks, storage devices and technologies"; homepage = "https://www.freedesktop.org/wiki/Software/udisks/"; - license = with licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the tools & daemon + license = with licenses; [ + lgpl2Plus + gpl2Plus + ]; # lgpl2Plus for the library, gpl2Plus for the tools & daemon maintainers = teams.freedesktop.members ++ (with maintainers; [ johnazoidberg ]); platforms = platforms.linux; }; diff --git a/pkgs/os-specific/linux/usbip/default.nix b/pkgs/os-specific/linux/usbip/default.nix index adaaab868b78a..61f85f6cdd64b 100644 --- a/pkgs/os-specific/linux/usbip/default.nix +++ b/pkgs/os-specific/linux/usbip/default.nix @@ -1,18 +1,34 @@ -{ lib, stdenv, kernel, udev, autoconf, automake, libtool, hwdata, kernelOlder }: +{ + lib, + stdenv, + kernel, + udev, + autoconf, + automake, + libtool, + hwdata, + kernelOlder, +}: stdenv.mkDerivation { name = "usbip-${kernel.name}"; src = kernel.src; - patches = lib.optionals (kernelOlder "5.4") [ - # fixes build with gcc8 - ./fix-snprintf-truncation.patch - # fixes build with gcc9 - ./fix-strncpy-truncation.patch - ] ++ kernel.patches; - - nativeBuildInputs = [ autoconf automake libtool ]; + patches = + lib.optionals (kernelOlder "5.4") [ + # fixes build with gcc8 + ./fix-snprintf-truncation.patch + # fixes build with gcc9 + ./fix-strncpy-truncation.patch + ] + ++ kernel.patches; + + nativeBuildInputs = [ + autoconf + automake + libtool + ]; buildInputs = [ udev ]; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=address-of-packed-member" ]; @@ -27,7 +43,10 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://github.com/torvalds/linux/tree/master/tools/usb/usbip"; description = "allows to pass USB device from server to client over the network"; - license = with licenses; [ gpl2Only gpl2Plus ]; + license = with licenses; [ + gpl2Only + gpl2Plus + ]; platforms = platforms.linux; broken = kernelOlder "4.10"; }; diff --git a/pkgs/os-specific/linux/usbrelay/daemon.nix b/pkgs/os-specific/linux/usbrelay/daemon.nix index 6e4e4661fd53a..ed63a5d154128 100644 --- a/pkgs/os-specific/linux/usbrelay/daemon.nix +++ b/pkgs/os-specific/linux/usbrelay/daemon.nix @@ -1,6 +1,16 @@ -{ stdenv, usbrelay, python3, installShellFiles }: +{ + stdenv, + usbrelay, + python3, + installShellFiles, +}: let - python = python3.withPackages (ps: with ps; [ usbrelay-py paho-mqtt ]); + python = python3.withPackages ( + ps: with ps; [ + usbrelay-py + paho-mqtt + ] + ); in # This is a separate derivation, not just an additional output of # usbrelay, because otherwise, we have a cyclic dependency between @@ -34,6 +44,11 @@ stdenv.mkDerivation { meta = { description = "USB Relay MQTT service"; - inherit (usbrelay.meta) homepage license maintainers platforms; + inherit (usbrelay.meta) + homepage + license + maintainers + platforms + ; }; } diff --git a/pkgs/os-specific/linux/usbrelay/default.nix b/pkgs/os-specific/linux/usbrelay/default.nix index 656808d8389b9..bf5935b6af677 100644 --- a/pkgs/os-specific/linux/usbrelay/default.nix +++ b/pkgs/os-specific/linux/usbrelay/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, hidapi, installShellFiles }: +{ + stdenv, + lib, + fetchFromGitHub, + hidapi, + installShellFiles, +}: stdenv.mkDerivation (finalAttrs: { pname = "usbrelay"; version = "1.2.1"; diff --git a/pkgs/os-specific/linux/usbrelay/test.nix b/pkgs/os-specific/linux/usbrelay/test.nix index 58e4375dab8da..b7894b0da773d 100644 --- a/pkgs/os-specific/linux/usbrelay/test.nix +++ b/pkgs/os-specific/linux/usbrelay/test.nix @@ -14,51 +14,56 @@ # https://discourse.nixos.org/t/hardware-dependent-nixos-tests/18564 # for discussion of other alternatives). -import ../../../../nixos/tests/make-test-python.nix ({ pkgs, ... }: { - name = "usbrelayd"; +import ../../../../nixos/tests/make-test-python.nix ( + { pkgs, ... }: + { + name = "usbrelayd"; - nodes.machine = { - virtualisation.qemu.options = [ - "-device qemu-xhci" - "-device usb-host,vendorid=0x16c0,productid=0x05df" - ]; - services.usbrelayd.enable = true; - systemd.services.usbrelayd = { - after = [ "mosquitto.service" ]; + nodes.machine = { + virtualisation.qemu.options = [ + "-device qemu-xhci" + "-device usb-host,vendorid=0x16c0,productid=0x05df" + ]; + services.usbrelayd.enable = true; + systemd.services.usbrelayd = { + after = [ "mosquitto.service" ]; + }; + services.mosquitto = { + enable = true; + listeners = [ + { + acl = [ "pattern readwrite #" ]; + omitPasswordAuth = true; + settings.allow_anonymous = true; + } + ]; + }; + environment.systemPackages = [ + pkgs.usbrelay + pkgs.mosquitto + ]; + documentation.nixos.enable = false; # building nixos manual takes long time }; - services.mosquitto = { - enable = true; - listeners = [{ - acl = [ "pattern readwrite #" ]; - omitPasswordAuth = true; - settings.allow_anonymous = true; - }]; - }; - environment.systemPackages = [ - pkgs.usbrelay - pkgs.mosquitto - ]; - documentation.nixos.enable = false; # building nixos manual takes long time - }; - testScript = '' - import os - if os.waitstatus_to_exitcode(os.system("lsusb -d 16c0:05df")) != 0: - print("No USB relay detected, skipping test") - import sys - sys.exit(2) - machine.start() - # usbrelayd is started by udev when an relay is detected - machine.wait_for_unit("usbrelayd.service") + testScript = '' + import os + if os.waitstatus_to_exitcode(os.system("lsusb -d 16c0:05df")) != 0: + print("No USB relay detected, skipping test") + import sys + sys.exit(2) + machine.start() + # usbrelayd is started by udev when an relay is detected + machine.wait_for_unit("usbrelayd.service") - stdout = machine.succeed("usbrelay") - relay_id = stdout.split(sep="_")[0] - assert relay_id != "" - import time - time.sleep(1) - machine.succeed(f"mosquitto_pub -h localhost -t cmnd/{relay_id}/1 -m ON") - time.sleep(1) - machine.succeed(f"mosquitto_pub -h localhost -t cmnd/{relay_id}/1 -m OFF") - print("Did you see the relay switching on and off?") - ''; -}) + stdout = machine.succeed("usbrelay") + relay_id = stdout.split(sep="_")[0] + assert relay_id != "" + import time + time.sleep(1) + machine.succeed(f"mosquitto_pub -h localhost -t cmnd/{relay_id}/1 -m ON") + time.sleep(1) + machine.succeed(f"mosquitto_pub -h localhost -t cmnd/{relay_id}/1 -m OFF") + print("Did you see the relay switching on and off?") + ''; + } +) diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index 87fd282f6960f..293af14921989 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -1,7 +1,19 @@ -{ stdenv, lib, fetchurl, pkg-config, perl -, argp-standalone, libjpeg, udev -, withUtils ? true -, withGUI ? true, alsa-lib, libX11, qtbase, libGLU, wrapQtAppsHook +{ + stdenv, + lib, + fetchurl, + pkg-config, + perl, + argp-standalone, + libjpeg, + udev, + withUtils ? true, + withGUI ? true, + alsa-lib, + libX11, + qtbase, + libGLU, + wrapQtAppsHook, }: # See libv4l in all-packages.nix for the libs only (overrides alsa, libX11 & QT) @@ -9,8 +21,9 @@ let withQt = withUtils && withGUI; +in # we need to use stdenv.mkDerivation in order not to pollute the libv4l’s closure with Qt -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "v4l-utils"; version = "1.24.1"; @@ -21,23 +34,37 @@ in stdenv.mkDerivation rec { outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ]; - configureFlags = (if withUtils then [ - "--with-localedir=${placeholder "lib"}/share/locale" - "--with-udevdir=${placeholder "out"}/lib/udev" - ] else [ - "--disable-v4l-utils" - ]); + configureFlags = ( + if withUtils then + [ + "--with-localedir=${placeholder "lib"}/share/locale" + "--with-udevdir=${placeholder "out"}/lib/udev" + ] + else + [ + "--disable-v4l-utils" + ] + ); postFixup = '' # Create symlink for V4l1 compatibility ln -s "$dev/include/libv4l1-videodev.h" "$dev/include/videodev.h" ''; - nativeBuildInputs = [ pkg-config perl ] ++ lib.optional withQt wrapQtAppsHook; + nativeBuildInputs = [ + pkg-config + perl + ] ++ lib.optional withQt wrapQtAppsHook; - buildInputs = [ udev ] + buildInputs = + [ udev ] ++ lib.optional (!stdenv.hostPlatform.isGnu) argp-standalone - ++ lib.optionals withQt [ alsa-lib libX11 qtbase libGLU ]; + ++ lib.optionals withQt [ + alsa-lib + libX11 + qtbase + libGLU + ]; propagatedBuildInputs = [ libjpeg ]; @@ -51,7 +78,10 @@ in stdenv.mkDerivation rec { description = "V4L utils and libv4l, provide common image formats regardless of the v4l device"; homepage = "https://linuxtv.org/projects.php"; changelog = "https://git.linuxtv.org/v4l-utils.git/plain/ChangeLog?h=v4l-utils-${version}"; - license = with licenses; [ lgpl21Plus gpl2Plus ]; + license = with licenses; [ + lgpl21Plus + gpl2Plus + ]; maintainers = with maintainers; [ codyopel ]; platforms = platforms.linux; }; diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix index 12e9b57d001cb..a86fa31baec04 100644 --- a/pkgs/os-specific/linux/v86d/default.nix +++ b/pkgs/os-specific/linux/v86d/default.nix @@ -1,13 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, kernel -, klibc +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + klibc, }: let pversion = "0.1.10"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "v86d"; version = "${pversion}-${kernel.version}"; @@ -22,7 +24,10 @@ in stdenv.mkDerivation rec { patchShebangs configure ''; - configureFlags = [ "--with-klibc" "--with-x86emu" ]; + configureFlags = [ + "--with-klibc" + "--with-x86emu" + ]; hardeningDisable = [ "stackprotector" ]; @@ -43,6 +48,9 @@ in stdenv.mkDerivation rec { homepage = "https://github.com/mjanusz/v86d"; license = licenses.gpl2Only; maintainers = with maintainers; [ codyopel ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; } diff --git a/pkgs/os-specific/linux/veikk-linux-driver/default.nix b/pkgs/os-specific/linux/veikk-linux-driver/default.nix index 8cf4896ae0270..7fc01712951f3 100644 --- a/pkgs/os-specific/linux/veikk-linux-driver/default.nix +++ b/pkgs/os-specific/linux/veikk-linux-driver/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, kernel }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "veikk-linux-driver"; diff --git a/pkgs/os-specific/linux/vendor-reset/default.nix b/pkgs/os-specific/linux/vendor-reset/default.nix index 6050af58466bf..7e9151a5555de 100644 --- a/pkgs/os-specific/linux/vendor-reset/default.nix +++ b/pkgs/os-specific/linux/vendor-reset/default.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchFromGitHub, fetchpatch, kernel, lib }: +{ + stdenv, + fetchFromGitHub, + fetchpatch, + kernel, + lib, +}: stdenv.mkDerivation rec { pname = "vendor-reset"; diff --git a/pkgs/os-specific/linux/virtualbox/default.nix b/pkgs/os-specific/linux/virtualbox/default.nix index 3aae58933c8f6..f6846eb1945d2 100644 --- a/pkgs/os-specific/linux/virtualbox/default.nix +++ b/pkgs/os-specific/linux/virtualbox/default.nix @@ -1,11 +1,17 @@ -{ stdenv, virtualbox, kernel }: +{ + stdenv, + virtualbox, + kernel, +}: stdenv.mkDerivation { pname = "virtualbox-modules"; version = "${virtualbox.version}-${kernel.version}"; src = virtualbox.modsrc; hardeningDisable = [ - "fortify" "pic" "stackprotector" + "fortify" + "pic" + "stackprotector" ]; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/vmm_clock/default.nix b/pkgs/os-specific/linux/vmm_clock/default.nix index 870bfbe0bd6cc..e4dbbf89b1055 100644 --- a/pkgs/os-specific/linux/vmm_clock/default.nix +++ b/pkgs/os-specific/linux/vmm_clock/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, kernel }: +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: stdenv.mkDerivation rec { pname = "vmm_clock"; @@ -11,7 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-XYRxrVixvImxr2j3qxBcv1df1LvPRKqKKgegW3HqUcQ="; }; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "pic" + "format" + ]; nativeBuildInputs = kernel.moduleBuildDependencies; extraConfig = '' @@ -26,12 +34,14 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = - "Experimental implementation of a kvmclock-derived clocksource for Linux guests under OpenBSD's hypervisor"; + description = "Experimental implementation of a kvmclock-derived clocksource for Linux guests under OpenBSD's hypervisor"; homepage = "https://github.com/voutilad/vmm_clock"; license = licenses.gpl2Plus; maintainers = with maintainers; [ qbit ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; }; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/vmware/default.nix b/pkgs/os-specific/linux/vmware/default.nix index 9269ec20d9d36..3a53621045665 100644 --- a/pkgs/os-specific/linux/vmware/default.nix +++ b/pkgs/os-specific/linux/vmware/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, kernel, kmod, gnugrep }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + kmod, + gnugrep, +}: stdenv.mkDerivation rec { pname = "vmware-modules"; @@ -42,6 +49,9 @@ stdenv.mkDerivation rec { license = licenses.gpl2Only; platforms = [ "x86_64-linux" ]; broken = (kernel.kernelOlder "5.5" && kernel.isHardened); - maintainers = with maintainers; [ deinferno vifino ]; + maintainers = with maintainers; [ + deinferno + vifino + ]; }; } diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index 8d8342cce980b..64925ce884b65 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchzip, kernel, perl, wireguard-tools, bc }: +{ + lib, + stdenv, + fetchzip, + kernel, + perl, + wireguard-tools, + bc, +}: # wireguard upstreamed since 5.6 https://lists.zx2c4.com/pipermail/wireguard/2019-December/004704.html assert lib.versionOlder kernel.version "5.6"; @@ -16,15 +24,20 @@ stdenv.mkDerivation rec { KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; - nativeBuildInputs = [ perl bc ] ++ kernel.moduleBuildDependencies; + nativeBuildInputs = [ + perl + bc + ] ++ kernel.moduleBuildDependencies; preBuild = "cd src"; buildFlags = [ "module" ]; - makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - ]; + makeFlags = + [ + "ARCH=${stdenv.hostPlatform.linuxArch}" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; INSTALL_MOD_PATH = placeholder "out"; installFlags = [ "DEPMOD=true" ]; diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 6463e46842a4b..75c17d40a0e0b 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -1,8 +1,19 @@ -{ lib, stdenv, fetchurl, fetchpatch, openssl, pkg-config, libnl -, nixosTests, wpa_supplicant_gui -, dbusSupport ? !stdenv.hostPlatform.isStatic, dbus -, withReadline ? true, readline -, withPcsclite ? !stdenv.hostPlatform.isStatic, pcsclite +{ + lib, + stdenv, + fetchurl, + fetchpatch, + openssl, + pkg-config, + libnl, + nixosTests, + wpa_supplicant_gui, + dbusSupport ? !stdenv.hostPlatform.isStatic, + dbus, + withReadline ? true, + readline, + withPcsclite ? !stdenv.hostPlatform.isStatic, + pcsclite, }: stdenv.mkDerivation rec { @@ -27,72 +38,81 @@ stdenv.mkDerivation rec { # TODO: Patch epoll so that the dbus actually responds # TODO: Figure out how to get privsep working, currently getting SIGBUS - extraConfig = '' - #CONFIG_ELOOP_EPOLL=y - #CONFIG_PRIVSEP=y - #CONFIG_TLSV12=y see #8332 - CONFIG_AP=y - CONFIG_BGSCAN_LEARN=y - CONFIG_BGSCAN_SIMPLE=y - CONFIG_DEBUG_SYSLOG=y - CONFIG_EAP_EKE=y - CONFIG_EAP_FAST=y - CONFIG_EAP_GPSK=y - CONFIG_EAP_GPSK_SHA256=y - CONFIG_EAP_IKEV2=y - CONFIG_EAP_PAX=y - CONFIG_EAP_PWD=y - CONFIG_EAP_SAKE=y - CONFIG_ELOOP=eloop - CONFIG_EXT_PASSWORD_FILE=y - CONFIG_HS20=y - CONFIG_HT_OVERRIDES=y - CONFIG_IEEE80211AC=y - CONFIG_IEEE80211AX=y - CONFIG_IEEE80211BE=y - CONFIG_IEEE80211N=y - CONFIG_IEEE80211R=y - CONFIG_IEEE80211W=y - CONFIG_INTERNETWORKING=y - CONFIG_L2_PACKET=linux - CONFIG_LIBNL32=y - CONFIG_MESH=y - CONFIG_OWE=y - CONFIG_P2P=y - CONFIG_SAE_PK=y - CONFIG_TDLS=y - CONFIG_TLS=openssl - CONFIG_TLSV11=y - CONFIG_VHT_OVERRIDES=y - CONFIG_WNM=y - CONFIG_WPS=y - CONFIG_WPS_ER=y - CONFIG_WPS_NFS=y - CONFIG_SUITEB=y - CONFIG_SUITEB192=y - '' + lib.optionalString withPcsclite '' - CONFIG_EAP_SIM=y - CONFIG_EAP_AKA=y - CONFIG_EAP_AKA_PRIME=y - CONFIG_PCSC=y - '' + lib.optionalString dbusSupport '' - CONFIG_CTRL_IFACE_DBUS=y - CONFIG_CTRL_IFACE_DBUS_NEW=y - CONFIG_CTRL_IFACE_DBUS_INTRO=y - '' + extraConfig = + '' + #CONFIG_ELOOP_EPOLL=y + #CONFIG_PRIVSEP=y + #CONFIG_TLSV12=y see #8332 + CONFIG_AP=y + CONFIG_BGSCAN_LEARN=y + CONFIG_BGSCAN_SIMPLE=y + CONFIG_DEBUG_SYSLOG=y + CONFIG_EAP_EKE=y + CONFIG_EAP_FAST=y + CONFIG_EAP_GPSK=y + CONFIG_EAP_GPSK_SHA256=y + CONFIG_EAP_IKEV2=y + CONFIG_EAP_PAX=y + CONFIG_EAP_PWD=y + CONFIG_EAP_SAKE=y + CONFIG_ELOOP=eloop + CONFIG_EXT_PASSWORD_FILE=y + CONFIG_HS20=y + CONFIG_HT_OVERRIDES=y + CONFIG_IEEE80211AC=y + CONFIG_IEEE80211AX=y + CONFIG_IEEE80211BE=y + CONFIG_IEEE80211N=y + CONFIG_IEEE80211R=y + CONFIG_IEEE80211W=y + CONFIG_INTERNETWORKING=y + CONFIG_L2_PACKET=linux + CONFIG_LIBNL32=y + CONFIG_MESH=y + CONFIG_OWE=y + CONFIG_P2P=y + CONFIG_SAE_PK=y + CONFIG_TDLS=y + CONFIG_TLS=openssl + CONFIG_TLSV11=y + CONFIG_VHT_OVERRIDES=y + CONFIG_WNM=y + CONFIG_WPS=y + CONFIG_WPS_ER=y + CONFIG_WPS_NFS=y + CONFIG_SUITEB=y + CONFIG_SUITEB192=y + '' + + lib.optionalString withPcsclite '' + CONFIG_EAP_SIM=y + CONFIG_EAP_AKA=y + CONFIG_EAP_AKA_PRIME=y + CONFIG_PCSC=y + '' + + lib.optionalString dbusSupport '' + CONFIG_CTRL_IFACE_DBUS=y + CONFIG_CTRL_IFACE_DBUS_NEW=y + CONFIG_CTRL_IFACE_DBUS_INTRO=y + '' # Upstream uses conditionals based on ifdef, so opposite of =y is # not =n, as one may expect, but undefine. # # This config is sourced into makefile. + lib.optionalString (!dbusSupport) '' - undefine CONFIG_CTRL_IFACE_DBUS - undefine CONFIG_CTRL_IFACE_DBUS_NEW - undefine CONFIG_CTRL_IFACE_DBUS_INTRO - '' + (if withReadline then '' - CONFIG_READLINE=y - '' else '' - CONFIG_WPA_CLI_EDIT=y - ''); + undefine CONFIG_CTRL_IFACE_DBUS + undefine CONFIG_CTRL_IFACE_DBUS_NEW + undefine CONFIG_CTRL_IFACE_DBUS_INTRO + '' + + ( + if withReadline then + '' + CONFIG_READLINE=y + '' + else + '' + CONFIG_WPA_CLI_EDIT=y + '' + ); preBuild = '' for manpage in wpa_supplicant/doc/docbook/wpa_supplicant.conf* ; do @@ -108,28 +128,33 @@ stdenv.mkDerivation rec { ${lib.optionalString withPcsclite "-I${lib.getDev pcsclite}/include/PCSC/"}" ''; - buildInputs = [ openssl libnl ] + buildInputs = + [ + openssl + libnl + ] ++ lib.optional dbusSupport dbus ++ lib.optional withReadline readline ++ lib.optional withPcsclite pcsclite; nativeBuildInputs = [ pkg-config ]; - postInstall = '' - mkdir -p $out/share/man/man5 $out/share/man/man8 - cp -v "doc/docbook/"*.5 $out/share/man/man5/ - cp -v "doc/docbook/"*.8 $out/share/man/man8/ - '' - + lib.optionalString dbusSupport '' - mkdir -p $out/share/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system - cp -v "dbus/"*service $out/share/dbus-1/system-services - cp -v dbus/dbus-wpa_supplicant.conf $out/share/dbus-1/system.d - cp -v "systemd/"*.service $out/etc/systemd/system - '' - + '' - rm $out/share/man/man8/wpa_priv.8 - install -Dm444 wpa_supplicant.conf $out/share/doc/wpa_supplicant/wpa_supplicant.conf.example - ''; + postInstall = + '' + mkdir -p $out/share/man/man5 $out/share/man/man8 + cp -v "doc/docbook/"*.5 $out/share/man/man5/ + cp -v "doc/docbook/"*.8 $out/share/man/man8/ + '' + + lib.optionalString dbusSupport '' + mkdir -p $out/share/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system + cp -v "dbus/"*service $out/share/dbus-1/system-services + cp -v dbus/dbus-wpa_supplicant.conf $out/share/dbus-1/system.d + cp -v "systemd/"*.service $out/etc/systemd/system + '' + + '' + rm $out/share/man/man8/wpa_priv.8 + install -Dm444 wpa_supplicant.conf $out/share/doc/wpa_supplicant/wpa_supplicant.conf.example + ''; passthru.tests = { inherit (nixosTests) wpa_supplicant; @@ -140,7 +165,10 @@ stdenv.mkDerivation rec { homepage = "https://w1.fi/wpa_supplicant/"; description = "Tool for connecting to WPA and WPA2-protected wireless networks"; license = licenses.bsd3; - maintainers = with maintainers; [ marcweber ma27 ]; + maintainers = with maintainers; [ + marcweber + ma27 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix index 45eedb25a9531..60289d136c960 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -1,11 +1,23 @@ -{ lib, mkDerivation, qtbase, qmake, inkscape, imagemagick, wpa_supplicant }: +{ + lib, + mkDerivation, + qtbase, + qmake, + inkscape, + imagemagick, + wpa_supplicant, +}: mkDerivation { pname = "wpa_gui"; inherit (wpa_supplicant) version src; buildInputs = [ qtbase ]; - nativeBuildInputs = [ qmake inkscape imagemagick ]; + nativeBuildInputs = [ + qmake + inkscape + imagemagick + ]; postPatch = '' cd wpa_supplicant/wpa_gui-qt4 diff --git a/pkgs/os-specific/linux/x86_energy_perf_policy/default.nix b/pkgs/os-specific/linux/x86_energy_perf_policy/default.nix index 309d9865bebc6..1183b4dc32b77 100644 --- a/pkgs/os-specific/linux/x86_energy_perf_policy/default.nix +++ b/pkgs/os-specific/linux/x86_energy_perf_policy/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, kernel }: +{ + lib, + stdenv, + kernel, +}: stdenv.mkDerivation { pname = "x86_energy_perf_policy"; @@ -22,6 +26,9 @@ stdenv.mkDerivation { mainProgram = "x86_energy_perf_policy"; homepage = "https://www.kernel.org/"; license = licenses.gpl2Only; - platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific + platforms = [ + "i686-linux" + "x86_64-linux" + ]; # x86-specific }; } diff --git a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix index ba3dc3b373515..c983b0cfa89a0 100644 --- a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix +++ b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchzip -, libusb1 -, glibc -, libGL -, xorg -, makeWrapper -, qtx11extras -, wrapQtAppsHook -, autoPatchelfHook -, libX11 -, libXtst -, libXi -, libXrandr -, libXinerama +{ + lib, + stdenv, + fetchzip, + libusb1, + glibc, + libGL, + xorg, + makeWrapper, + qtx11extras, + wrapQtAppsHook, + autoPatchelfHook, + libX11, + libXtst, + libXi, + libXrandr, + libXinerama, }: let diff --git a/pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix b/pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix index 9381463c8fa1a..f316217cf3478 100644 --- a/pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix +++ b/pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix @@ -1,13 +1,26 @@ -{ lib, stdenv, mkDerivation, fetchzip, autoPatchelfHook, libusb1, libX11, libXtst, qtbase, libglvnd }: +{ + lib, + stdenv, + mkDerivation, + fetchzip, + autoPatchelfHook, + libusb1, + libX11, + libXtst, + qtbase, + libglvnd, +}: mkDerivation rec { pname = "xp-pen-g430-driver"; version = "1.2.13.1"; - src = fetchzip { - url = "https://download01.xp-pen.com/file/2020/04/Linux_Pentablet_V${version}.tar.gz(20200428).zip"; - sha256 = "1r423hcpi26v82pzl59br1zw5vablikclqsy6mcqi0v5p84hfrdd"; - } + /Linux_Pentablet_V1.2.13.1.tar.gz; + src = + fetchzip { + url = "https://download01.xp-pen.com/file/2020/04/Linux_Pentablet_V${version}.tar.gz(20200428).zip"; + sha256 = "1r423hcpi26v82pzl59br1zw5vablikclqsy6mcqi0v5p84hfrdd"; + } + + /Linux_Pentablet_V1.2.13.1.tar.gz; nativeBuildInputs = [ autoPatchelfHook diff --git a/pkgs/os-specific/linux/xpadneo/default.nix b/pkgs/os-specific/linux/xpadneo/default.nix index 96c610b57c80e..f0e5f443c9726 100644 --- a/pkgs/os-specific/linux/xpadneo/default.nix +++ b/pkgs/os-specific/linux/xpadneo/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, kernel -, bluez -, nixosTests -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bluez, + nixosTests, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/os-specific/linux/zenpower/default.nix b/pkgs/os-specific/linux/zenpower/default.nix index f5819f0d1d221..019734b0a8ebd 100644 --- a/pkgs/os-specific/linux/zenpower/default.nix +++ b/pkgs/os-specific/linux/zenpower/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, kernel, fetchFromGitea }: +{ + lib, + stdenv, + kernel, + fetchFromGitea, +}: stdenv.mkDerivation rec { pname = "zenpower"; @@ -26,7 +31,10 @@ stdenv.mkDerivation rec { inherit (src.meta) homepage; description = "Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ alexbakker artturin ]; + maintainers = with maintainers; [ + alexbakker + artturin + ]; platforms = [ "x86_64-linux" ]; broken = versionOlder kernel.version "4.14"; }; diff --git a/pkgs/os-specific/linux/zfs/2_2.nix b/pkgs/os-specific/linux/zfs/2_2.nix index 9d8be86258d56..96f4462f22bf0 100644 --- a/pkgs/os-specific/linux/zfs/2_2.nix +++ b/pkgs/os-specific/linux/zfs/2_2.nix @@ -1,10 +1,11 @@ -{ callPackage -, kernel ? null -, stdenv -, lib -, nixosTests -, ... -} @ args: +{ + callPackage, + kernel ? null, + stdenv, + lib, + nixosTests, + ... +}@args: let stdenv' = if kernel == null then stdenv else kernel.stdenv; @@ -23,7 +24,10 @@ callPackage ./generic.nix args { inherit (nixosTests.zfs) installer series_2_2; }; - maintainers = with lib.maintainers; [ adamcstephens amarshall ]; + maintainers = with lib.maintainers; [ + adamcstephens + amarshall + ]; hash = "sha256-wkgoYg6uQOHVq8a9sJXzO/QXJ6q28l7JXWkC+BFvOb0="; } diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix index d267de0eb175a..ad6fd902c6827 100644 --- a/pkgs/os-specific/linux/zfs/generic.nix +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -1,248 +1,351 @@ let genericBuild = - { lib, stdenv, fetchFromGitHub - , autoreconfHook269, util-linux, nukeReferences, coreutils - , linuxPackages - , perl - , configFile ? "all" - - # Userspace dependencies - , zlib, libuuid, python3, attr, openssl - , libtirpc - , nfs-utils, samba - , gawk, gnugrep, gnused, systemd - , smartmontools, enableMail ? false - , sysstat, pkg-config - , curl - , pam - - # Kernel dependencies - , kernel ? null - , enablePython ? true - , ... - }@outerArgs: - - assert (configFile == "kernel") -> (kernel != null); - { version - , hash - , kernelModuleAttribute - , extraLongDescription ? "" - , extraPatches ? [] - , rev ? "zfs-${version}" - , kernelCompatible ? null - , maintainers ? (with lib.maintainers; [ amarshall ]) - , tests - }@innerArgs: - - let - inherit (lib) any optionalString optionals optional makeBinPath versionAtLeast; - - smartmon = smartmontools.override { inherit enableMail; }; - - buildKernel = any (n: n == configFile) [ "kernel" "all" ]; - buildUser = any (n: n == configFile) [ "user" "all" ]; - isAtLeast22Series = versionAtLeast version "2.2.0"; - - # XXX: You always want to build kernel modules with the same stdenv as the - # kernel was built with. However, since zfs can also be built for userspace we - # need to correctly pick between the provided/default stdenv, and the one used - # by the kernel. - # If you don't do this your ZFS builds will fail on any non-standard (e.g. - # clang-built) kernels. - stdenv' = if kernel == null then stdenv else kernel.stdenv; - in - - stdenv'.mkDerivation { - name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; - pname = "zfs"; - inherit version; - - src = fetchFromGitHub { - owner = "openzfs"; - repo = "zfs"; - inherit rev hash; + { + lib, + stdenv, + fetchFromGitHub, + autoreconfHook269, + util-linux, + nukeReferences, + coreutils, + linuxPackages, + perl, + configFile ? "all", + + # Userspace dependencies + zlib, + libuuid, + python3, + attr, + openssl, + libtirpc, + nfs-utils, + samba, + gawk, + gnugrep, + gnused, + systemd, + smartmontools, + enableMail ? false, + sysstat, + pkg-config, + curl, + pam, + + # Kernel dependencies + kernel ? null, + enablePython ? true, + ... + }@outerArgs: + + assert (configFile == "kernel") -> (kernel != null); + { + version, + hash, + kernelModuleAttribute, + extraLongDescription ? "", + extraPatches ? [ ], + rev ? "zfs-${version}", + kernelCompatible ? null, + maintainers ? (with lib.maintainers; [ amarshall ]), + tests, + }@innerArgs: + + let + inherit (lib) + any + optionalString + optionals + optional + makeBinPath + versionAtLeast + ; + + smartmon = smartmontools.override { inherit enableMail; }; + + buildKernel = any (n: n == configFile) [ + "kernel" + "all" + ]; + buildUser = any (n: n == configFile) [ + "user" + "all" + ]; + isAtLeast22Series = versionAtLeast version "2.2.0"; + + # XXX: You always want to build kernel modules with the same stdenv as the + # kernel was built with. However, since zfs can also be built for userspace we + # need to correctly pick between the provided/default stdenv, and the one used + # by the kernel. + # If you don't do this your ZFS builds will fail on any non-standard (e.g. + # clang-built) kernels. + stdenv' = if kernel == null then stdenv else kernel.stdenv; + in + + stdenv'.mkDerivation { + name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; + pname = "zfs"; + inherit version; + + src = fetchFromGitHub { + owner = "openzfs"; + repo = "zfs"; + inherit rev hash; + }; + + patches = extraPatches; + + postPatch = + optionalString buildKernel '' + patchShebangs scripts + # The arrays must remain the same length, so we repeat a flag that is + # already part of the command and therefore has no effect. + substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ + --replace-fail '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ + --replace-fail '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' + '' + + optionalString buildUser '' + substituteInPlace ./lib/libshare/os/linux/nfs.c --replace-fail "/usr/sbin/exportfs" "${ + # We don't *need* python support, but we set it like this to minimize closure size: + # If it's disabled by default, no need to enable it, even if we have python enabled + # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure + nfs-utils.override (old: { + enablePython = old.enablePython or true && enablePython; + }) + }/bin/exportfs" + substituteInPlace ./lib/libshare/smb.h --replace-fail "/usr/bin/net" "${samba}/bin/net" + # Disable dynamic loading of libcurl + substituteInPlace ./config/user-libfetch.m4 --replace-fail "curl-config --built-shared" "true" + substituteInPlace ./config/user-systemd.m4 --replace-fail "/usr/lib/modules-load.d" "$out/etc/modules-load.d" + substituteInPlace ./config/zfs-build.m4 --replace-fail "\$sysconfdir/init.d" "$out/etc/init.d" \ + --replace-fail "/etc/default" "$out/etc/default" + substituteInPlace ./contrib/initramfs/Makefile.am \ + --replace-fail "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools" + '' + + optionalString isAtLeast22Series '' + substituteInPlace ./udev/vdev_id \ + --replace-fail "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ + "PATH=${ + makeBinPath [ + coreutils + gawk + gnused + gnugrep + systemd + ] + }" + + substituteInPlace ./config/zfs-build.m4 \ + --replace-fail "bashcompletiondir=/etc/bash_completion.d" \ + "bashcompletiondir=$out/share/bash-completion/completions" + + substituteInPlace ./cmd/arc_summary --replace-fail "/sbin/modinfo" "modinfo" + '' + + optionalString (!isAtLeast22Series) '' + substituteInPlace ./etc/zfs/Makefile.am --replace-fail "\$(sysconfdir)/zfs" "$out/etc/zfs" + + find ./contrib/initramfs -name Makefile.am -exec sed -i -e 's|/usr/share/initramfs-tools|'$out'/share/initramfs-tools|g' {} \; + + substituteInPlace ./cmd/arc_summary/arc_summary3 --replace-fail "/sbin/modinfo" "modinfo" + substituteInPlace ./cmd/vdev_id/vdev_id \ + --replace-fail "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ + "PATH=${ + makeBinPath [ + coreutils + gawk + gnused + gnugrep + systemd + ] + }" + ''; + + nativeBuildInputs = + [ + autoreconfHook269 + nukeReferences + ] + ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) + ++ optional buildUser pkg-config; + buildInputs = + optionals buildUser [ + zlib + libuuid + attr + libtirpc + pam + ] + ++ optional buildUser openssl + ++ optional buildUser curl + ++ optional (buildUser && enablePython) python3; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + + hardeningDisable = [ + "fortify" + "stackprotector" + "pic" + ]; + + configureFlags = + [ + "--with-config=${configFile}" + "--with-tirpc=1" + (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter) + ] + ++ optionals buildUser [ + "--with-dracutdir=$(out)/lib/dracut" + "--with-udevdir=$(out)/lib/udev" + "--with-systemdunitdir=$(out)/etc/systemd/system" + "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" + "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" + "--with-mounthelperdir=$(out)/bin" + "--libexecdir=$(out)/libexec" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-systemd" + "--enable-pam" + ] + ++ optionals buildKernel ( + [ + "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" + "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ] + ++ kernel.makeFlags + ); + + makeFlags = optionals buildKernel kernel.makeFlags; + + enableParallelBuilding = true; + + installFlags = [ + "sysconfdir=\${out}/etc" + "DEFAULT_INITCONF_DIR=\${out}/default" + "INSTALL_MOD_PATH=\${out}" + ]; + + preConfigure = '' + # The kernel module builds some tests during the configurePhase, this envvar controls their parallelism + export TEST_JOBS=$NIX_BUILD_CORES + if [ -z "$enableParallelBuilding" ]; then + export TEST_JOBS=1 + fi + ''; + + # Enabling BTF causes zfs to be build with debug symbols. + # Since zfs compress kernel modules on installation, our strip hooks skip stripping them. + # Hence we strip modules prior to compression. + postBuild = optionalString buildKernel '' + find . -name "*.ko" -print0 | xargs -0 -P$NIX_BUILD_CORES ${stdenv.cc.targetPrefix}strip --strip-debug + ''; + + postInstall = + optionalString buildKernel '' + # Add reference that cannot be detected due to compressed kernel module + mkdir -p "$out/nix-support" + echo "${util-linux}" >> "$out/nix-support/extra-refs" + '' + + optionalString buildUser '' + # Remove provided services as they are buggy + rm $out/etc/systemd/system/zfs-import-*.service + + for i in $out/etc/systemd/system/*; do + if [ -L $i ]; then + continue + fi + sed -i '/zfs-import-scan.service/d' $i + substituteInPlace $i --replace-warn "zfs-import-cache.service" "zfs-import.target" + done + + # Remove tests because they add a runtime dependency on gcc + rm -rf $out/share/zfs/zfs-tests + + ${optionalString (lib.versionOlder version "2.2") '' + # Add Bash completions. + install -v -m444 -D -t $out/share/bash-completion/completions contrib/bash_completion.d/zfs + (cd $out/share/bash-completion/completions; ln -s zfs zpool) + ''} + ''; + + postFixup = + let + path = "PATH=${ + makeBinPath [ + coreutils + gawk + gnused + gnugrep + util-linux + smartmon + sysstat + ] + }:$PATH"; + in + '' + for i in $out/libexec/zfs/zpool.d/*; do + sed -i '2i${path}' $i + done + ''; + + outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; + + passthru = { + inherit enableMail kernelModuleAttribute; + latestCompatibleLinuxPackages = lib.warn "zfs.latestCompatibleLinuxPackages is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention." linuxPackages; + + # The corresponding userspace tools to this instantiation + # of the ZFS package set. + userspaceTools = genericBuild ( + outerArgs + // { + configFile = "user"; + } + ) innerArgs; + + inherit tests; + }; + + meta = { + description = "ZFS Filesystem Linux" + (if buildUser then " Userspace Tools" else " Kernel Module"); + longDescription = + '' + ZFS is a filesystem that combines a logical volume manager with a + Copy-On-Write filesystem with data integrity detection and repair, + snapshotting, cloning, block devices, deduplication, and more. + + ${ + if buildUser then "This is the userspace tools package." else "This is the kernel module package." + } + '' + + extraLongDescription; + homepage = "https://github.com/openzfs/zfs"; + changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; + license = lib.licenses.cddl; + + # The case-block for TARGET_CPU has branches for only some CPU families, + # which prevents ZFS from building on any other platform. Since the NixOS + # `boot.zfs.enabled` property is `readOnly`, excluding platforms where ZFS + # does not build is the only way to produce a NixOS installer on such + # platforms. + # https://github.com/openzfs/zfs/blob/6723d1110f6daf93be93db74d5ea9f6b64c9bce5/config/always-arch.m4#L12 + platforms = + with lib.systems.inspect.patterns; + map (p: p // isLinux) ( + [ + isx86_32 + isx86_64 + isPower + isAarch64 + isSparc + ] + ++ isArmv7 + ); + + inherit maintainers; + mainProgram = "zfs"; + broken = buildKernel && (kernelCompatible != null) && !(kernelCompatible kernel); + }; }; - - patches = extraPatches; - - postPatch = optionalString buildKernel '' - patchShebangs scripts - # The arrays must remain the same length, so we repeat a flag that is - # already part of the command and therefore has no effect. - substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ - --replace-fail '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ - --replace-fail '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' - '' + optionalString buildUser '' - substituteInPlace ./lib/libshare/os/linux/nfs.c --replace-fail "/usr/sbin/exportfs" "${ - # We don't *need* python support, but we set it like this to minimize closure size: - # If it's disabled by default, no need to enable it, even if we have python enabled - # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure - nfs-utils.override (old: { enablePython = old.enablePython or true && enablePython; }) - }/bin/exportfs" - substituteInPlace ./lib/libshare/smb.h --replace-fail "/usr/bin/net" "${samba}/bin/net" - # Disable dynamic loading of libcurl - substituteInPlace ./config/user-libfetch.m4 --replace-fail "curl-config --built-shared" "true" - substituteInPlace ./config/user-systemd.m4 --replace-fail "/usr/lib/modules-load.d" "$out/etc/modules-load.d" - substituteInPlace ./config/zfs-build.m4 --replace-fail "\$sysconfdir/init.d" "$out/etc/init.d" \ - --replace-fail "/etc/default" "$out/etc/default" - substituteInPlace ./contrib/initramfs/Makefile.am \ - --replace-fail "/usr/share/initramfs-tools" "$out/usr/share/initramfs-tools" - '' + optionalString isAtLeast22Series '' - substituteInPlace ./udev/vdev_id \ - --replace-fail "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ - "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" - - substituteInPlace ./config/zfs-build.m4 \ - --replace-fail "bashcompletiondir=/etc/bash_completion.d" \ - "bashcompletiondir=$out/share/bash-completion/completions" - - substituteInPlace ./cmd/arc_summary --replace-fail "/sbin/modinfo" "modinfo" - '' + optionalString (!isAtLeast22Series) '' - substituteInPlace ./etc/zfs/Makefile.am --replace-fail "\$(sysconfdir)/zfs" "$out/etc/zfs" - - find ./contrib/initramfs -name Makefile.am -exec sed -i -e 's|/usr/share/initramfs-tools|'$out'/share/initramfs-tools|g' {} \; - - substituteInPlace ./cmd/arc_summary/arc_summary3 --replace-fail "/sbin/modinfo" "modinfo" - substituteInPlace ./cmd/vdev_id/vdev_id \ - --replace-fail "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ - "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" - ''; - - nativeBuildInputs = [ autoreconfHook269 nukeReferences ] - ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]) - ++ optional buildUser pkg-config; - buildInputs = optionals buildUser [ zlib libuuid attr libtirpc pam ] - ++ optional buildUser openssl - ++ optional buildUser curl - ++ optional (buildUser && enablePython) python3; - - # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work - NIX_CFLAGS_LINK = "-lgcc_s"; - - hardeningDisable = [ "fortify" "stackprotector" "pic" ]; - - configureFlags = [ - "--with-config=${configFile}" - "--with-tirpc=1" - (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter) - ] ++ optionals buildUser [ - "--with-dracutdir=$(out)/lib/dracut" - "--with-udevdir=$(out)/lib/udev" - "--with-systemdunitdir=$(out)/etc/systemd/system" - "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" - "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" - "--with-mounthelperdir=$(out)/bin" - "--libexecdir=$(out)/libexec" - "--sysconfdir=/etc" - "--localstatedir=/var" - "--enable-systemd" - "--enable-pam" - ] ++ optionals buildKernel ([ - "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" - "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ] ++ kernel.makeFlags); - - makeFlags = optionals buildKernel kernel.makeFlags; - - enableParallelBuilding = true; - - installFlags = [ - "sysconfdir=\${out}/etc" - "DEFAULT_INITCONF_DIR=\${out}/default" - "INSTALL_MOD_PATH=\${out}" - ]; - - preConfigure = '' - # The kernel module builds some tests during the configurePhase, this envvar controls their parallelism - export TEST_JOBS=$NIX_BUILD_CORES - if [ -z "$enableParallelBuilding" ]; then - export TEST_JOBS=1 - fi - ''; - - # Enabling BTF causes zfs to be build with debug symbols. - # Since zfs compress kernel modules on installation, our strip hooks skip stripping them. - # Hence we strip modules prior to compression. - postBuild = optionalString buildKernel '' - find . -name "*.ko" -print0 | xargs -0 -P$NIX_BUILD_CORES ${stdenv.cc.targetPrefix}strip --strip-debug - ''; - - postInstall = optionalString buildKernel '' - # Add reference that cannot be detected due to compressed kernel module - mkdir -p "$out/nix-support" - echo "${util-linux}" >> "$out/nix-support/extra-refs" - '' + optionalString buildUser '' - # Remove provided services as they are buggy - rm $out/etc/systemd/system/zfs-import-*.service - - for i in $out/etc/systemd/system/*; do - if [ -L $i ]; then - continue - fi - sed -i '/zfs-import-scan.service/d' $i - substituteInPlace $i --replace-warn "zfs-import-cache.service" "zfs-import.target" - done - - # Remove tests because they add a runtime dependency on gcc - rm -rf $out/share/zfs/zfs-tests - - ${optionalString (lib.versionOlder version "2.2") '' - # Add Bash completions. - install -v -m444 -D -t $out/share/bash-completion/completions contrib/bash_completion.d/zfs - (cd $out/share/bash-completion/completions; ln -s zfs zpool) - ''} - ''; - - postFixup = let - path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmon sysstat ]}:$PATH"; - in '' - for i in $out/libexec/zfs/zpool.d/*; do - sed -i '2i${path}' $i - done - ''; - - outputs = [ "out" ] ++ optionals buildUser [ "dev" ]; - - passthru = { - inherit enableMail kernelModuleAttribute; - latestCompatibleLinuxPackages = lib.warn "zfs.latestCompatibleLinuxPackages is deprecated and is now pointing at the default kernel. If using the stable LTS kernel (default `linuxPackages` is not possible then you must explicitly pin a specific kernel release. For example, `boot.kernelPackages = pkgs.linuxPackages_6_6`. Please be aware that non-LTS kernels are likely to go EOL before ZFS supports the latest supported non-LTS release, requiring manual intervention." linuxPackages ; - - # The corresponding userspace tools to this instantiation - # of the ZFS package set. - userspaceTools = genericBuild (outerArgs // { - configFile = "user"; - }) innerArgs; - - inherit tests; - }; - - meta = { - description = "ZFS Filesystem Linux" + (if buildUser then " Userspace Tools" else " Kernel Module"); - longDescription = '' - ZFS is a filesystem that combines a logical volume manager with a - Copy-On-Write filesystem with data integrity detection and repair, - snapshotting, cloning, block devices, deduplication, and more. - - ${if buildUser then "This is the userspace tools package." else "This is the kernel module package."} - '' + extraLongDescription; - homepage = "https://github.com/openzfs/zfs"; - changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; - license = lib.licenses.cddl; - - # The case-block for TARGET_CPU has branches for only some CPU families, - # which prevents ZFS from building on any other platform. Since the NixOS - # `boot.zfs.enabled` property is `readOnly`, excluding platforms where ZFS - # does not build is the only way to produce a NixOS installer on such - # platforms. - # https://github.com/openzfs/zfs/blob/6723d1110f6daf93be93db74d5ea9f6b64c9bce5/config/always-arch.m4#L12 - platforms = - with lib.systems.inspect.patterns; - map (p: p // isLinux) ([ isx86_32 isx86_64 isPower isAarch64 isSparc ] ++ isArmv7); - - inherit maintainers; - mainProgram = "zfs"; - broken = buildKernel && (kernelCompatible != null) && !(kernelCompatible kernel); - }; - }; in - genericBuild +genericBuild diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix index c60bb0e47f43d..fe504e9db6e27 100644 --- a/pkgs/os-specific/linux/zfs/unstable.nix +++ b/pkgs/os-specific/linux/zfs/unstable.nix @@ -1,10 +1,11 @@ -{ callPackage -, kernel ? null -, stdenv -, nixosTests -, fetchpatch -, ... -} @ args: +{ + callPackage, + kernel ? null, + stdenv, + nixosTests, + fetchpatch, + ... +}@args: let stdenv' = if kernel == null then stdenv else kernel.stdenv; diff --git a/pkgs/pkgs-lib/default.nix b/pkgs/pkgs-lib/default.nix index 113dcebf8c68b..3aa2faa88c3c3 100644 --- a/pkgs/pkgs-lib/default.nix +++ b/pkgs/pkgs-lib/default.nix @@ -1,11 +1,11 @@ # pkgs-lib is for functions and values that can't be in lib because # they depend on some packages. This notably is *not* for supporting package # building, instead pkgs/build-support is the place for that. -{ lib, pkgs }: { +{ lib, pkgs }: +{ # setting format types and generators. These do not fit in lib/types.nix, # because they depend on pkgs for rendering some formats formats = import ./formats.nix { inherit lib pkgs; }; } - diff --git a/pkgs/pkgs-lib/formats/hocon/default.nix b/pkgs/pkgs-lib/formats/hocon/default.nix index 696e600740fa1..681aae9f3eae7 100644 --- a/pkgs/pkgs-lib/formats/hocon/default.nix +++ b/pkgs/pkgs-lib/formats/hocon/default.nix @@ -1,5 +1,6 @@ -{ lib -, pkgs +{ + lib, + pkgs, }: let inherit (pkgs) buildPackages callPackage; @@ -14,136 +15,165 @@ let cargoLock.lockFile = ./src/Cargo.lock; }; - hocon-validator = pkgs.writers.writePython3Bin "hocon-validator" { - libraries = [ pkgs.python3Packages.pyhocon ]; - } '' - from sys import argv - from pyhocon import ConfigFactory + hocon-validator = + pkgs.writers.writePython3Bin "hocon-validator" + { + libraries = [ pkgs.python3Packages.pyhocon ]; + } + '' + from sys import argv + from pyhocon import ConfigFactory - if not len(argv) == 2: - print("USAGE: hocon-validator ") + if not len(argv) == 2: + print("USAGE: hocon-validator ") - ConfigFactory.parse_file(argv[1]) - ''; + ConfigFactory.parse_file(argv[1]) + ''; in { - format = { - generator ? hocon-generator - , validator ? hocon-validator - , doCheck ? true - }: let - hoconLib = { - mkInclude = value: let - includeStatement = if lib.isAttrs value && !(lib.isDerivation value) then { - required = false; - type = null; - _type = "include"; - } // value else { - value = toString value; - required = false; - type = null; - _type = "include"; + format = + { + generator ? hocon-generator, + validator ? hocon-validator, + doCheck ? true, + }: + let + hoconLib = { + mkInclude = + value: + let + includeStatement = + if lib.isAttrs value && !(lib.isDerivation value) then + { + required = false; + type = null; + _type = "include"; + } + // value + else + { + value = toString value; + required = false; + type = null; + _type = "include"; + }; + in + assert lib.assertMsg + (lib.elem includeStatement.type [ + "file" + "url" + "classpath" + null + ]) + '' + Type of HOCON mkInclude is not of type 'file', 'url' or 'classpath': + ${(lib.generators.toPretty { }) includeStatement} + ''; + includeStatement; + + mkAppend = value: { + inherit value; + _type = "append"; }; - in - assert lib.assertMsg (lib.elem includeStatement.type [ "file" "url" "classpath" null ]) '' - Type of HOCON mkInclude is not of type 'file', 'url' or 'classpath': - ${(lib.generators.toPretty {}) includeStatement} - ''; - includeStatement; - - mkAppend = value: { - inherit value; - _type = "append"; + + mkSubstitution = + value: + if lib.isString value then + { + inherit value; + optional = false; + _type = "substitution"; + } + else + assert lib.assertMsg (lib.isAttrs value) '' + Value of invalid type provided to `hocon.lib.mkSubstitution`: ${lib.typeOf value} + ''; + assert lib.assertMsg (value ? "value") '' + Argument to `hocon.lib.mkSubstitution` is missing a `value`: + ${builtins.toJSON value} + ''; + { + value = value.value; + optional = value.optional or false; + _type = "substitution"; + }; }; - mkSubstitution = value: - if lib.isString value - then + in + { + type = + let + type' = + with lib.types; + let + atomType = nullOr (oneOf [ + bool + float + int + path + str + ]); + in + (oneOf [ + atomType + (listOf atomType) + (attrsOf type') + ]) + // { + description = "HOCON value"; + }; + in + type'; + + lib = hoconLib; + + generate = + name: value: + callPackage + ( + { + stdenvNoCC, + hocon-generator, + hocon-validator, + writeText, + }: + stdenvNoCC.mkDerivation rec { + inherit name; + + dontUnpack = true; + preferLocalBuild = true; + + json = builtins.toJSON value; + passAsFile = [ "json" ]; + + strictDeps = true; + nativeBuildInputs = [ hocon-generator ]; + buildPhase = '' + runHook preBuild + hocon-generator < $jsonPath > output.conf + runHook postBuild + ''; + + inherit doCheck; + nativeCheckInputs = [ hocon-validator ]; + checkPhase = '' + runHook preCheck + hocon-validator output.conf + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + mv output.conf $out + runHook postInstall + ''; + + passthru.json = writeText "${name}.json" json; + } + ) { - inherit value; - optional = false; - _type = "substitution"; - } - else - assert lib.assertMsg (lib.isAttrs value) '' - Value of invalid type provided to `hocon.lib.mkSubstitution`: ${lib.typeOf value} - ''; - assert lib.assertMsg (value ? "value") '' - Argument to `hocon.lib.mkSubstitution` is missing a `value`: - ${builtins.toJSON value} - ''; - { - value = value.value; - optional = value.optional or false; - _type = "substitution"; + hocon-generator = generator; + hocon-validator = validator; }; }; - - in { - type = let - type' = with lib.types; let - atomType = nullOr (oneOf [ - bool - float - int - path - str - ]); - in (oneOf [ - atomType - (listOf atomType) - (attrsOf type') - ]) // { - description = "HOCON value"; - }; - in type'; - - lib = hoconLib; - - generate = name: value: - callPackage - ({ - stdenvNoCC - , hocon-generator - , hocon-validator - , writeText - }: - stdenvNoCC.mkDerivation rec { - inherit name; - - dontUnpack = true; - preferLocalBuild = true; - - json = builtins.toJSON value; - passAsFile = [ "json" ]; - - strictDeps = true; - nativeBuildInputs = [ hocon-generator ]; - buildPhase = '' - runHook preBuild - hocon-generator < $jsonPath > output.conf - runHook postBuild - ''; - - inherit doCheck; - nativeCheckInputs = [ hocon-validator ]; - checkPhase = '' - runHook preCheck - hocon-validator output.conf - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - mv output.conf $out - runHook postInstall - ''; - - passthru.json = writeText "${name}.json" json; - }) - { - hocon-generator = generator; - hocon-validator = validator; - }; - }; } diff --git a/pkgs/pkgs-lib/formats/hocon/test/comprehensive/default.nix b/pkgs/pkgs-lib/formats/hocon/test/comprehensive/default.nix index ae4fae443d41b..14b708140eb5e 100644 --- a/pkgs/pkgs-lib/formats/hocon/test/comprehensive/default.nix +++ b/pkgs/pkgs-lib/formats/hocon/test/comprehensive/default.nix @@ -1,14 +1,24 @@ -{ lib, formats, stdenvNoCC, writeText, ... }: +{ + lib, + formats, + stdenvNoCC, + writeText, + ... +}: let hocon = formats.hocon { }; - include_file = (writeText "hocon-test-include.conf" '' - "val" = 1 - '').overrideAttrs (_: _: { - outputHashAlgo = "sha256"; - outputHashMode = "flat"; - outputHash = "sha256-UhkJLhT3bD6znq+IdDjs/ahP19mLzrLCy/R14pVrfew="; - }); + include_file = + (writeText "hocon-test-include.conf" '' + "val" = 1 + '').overrideAttrs + ( + _: _: { + outputHashAlgo = "sha256"; + outputHashMode = "flat"; + outputHash = "sha256-UhkJLhT3bD6znq+IdDjs/ahP19mLzrLCy/R14pVrfew="; + } + ); expression = { simple_top_level_attr = "1.0"; @@ -16,8 +26,16 @@ let some_floaty = 29.95; array2d = [ - [ 1 2 "a" ] - [ 2 1 "b" ] + [ + 1 + 2 + "a" + ] + [ + 2 + 1 + "b" + ] ]; nasty_string = "\"@\n\\\t^*\b\f\n\0\";'''$"; @@ -55,29 +73,29 @@ let hocon-test-conf = hocon.generate "hocon-test.conf" expression; in - stdenvNoCC.mkDerivation { - name = "pkgs.formats.hocon-test-comprehensive"; +stdenvNoCC.mkDerivation { + name = "pkgs.formats.hocon-test-comprehensive"; - dontUnpack = true; - dontBuild = true; + dontUnpack = true; + dontBuild = true; - doCheck = true; - checkPhase = '' - runHook preCheck + doCheck = true; + checkPhase = '' + runHook preCheck - diff -U3 ${./expected.txt} ${hocon-test-conf} + diff -U3 ${./expected.txt} ${hocon-test-conf} - runHook postCheck - ''; + runHook postCheck + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir $out - cp ${./expected.txt} $out/expected.txt - cp ${hocon-test-conf} $out/hocon-test.conf - cp ${hocon-test-conf.passthru.json} $out/hocon-test.json + mkdir $out + cp ${./expected.txt} $out/expected.txt + cp ${hocon-test-conf} $out/hocon-test.conf + cp ${hocon-test-conf.passthru.json} $out/hocon-test.json - runHook postInstall - ''; - } + runHook postInstall + ''; +} diff --git a/pkgs/pkgs-lib/formats/java-properties/default.nix b/pkgs/pkgs-lib/formats/java-properties/default.nix index 50eabb8cf3f31..18b80629ae6e7 100644 --- a/pkgs/pkgs-lib/formats/java-properties/default.nix +++ b/pkgs/pkgs-lib/formats/java-properties/default.nix @@ -1,133 +1,153 @@ { lib, pkgs }: let inherit (lib) types; - inherit (types) attrsOf oneOf coercedTo str bool int float package; + inherit (types) + attrsOf + oneOf + coercedTo + str + bool + int + float + package + ; in { - javaProperties = { comment ? "Generated with Nix", boolToString ? lib.boolToString }: { + javaProperties = + { + comment ? "Generated with Nix", + boolToString ? lib.boolToString, + }: + { - # Design note: - # A nested representation of inevitably leads to bad UX: - # 1. keys like "a.b" must be disallowed, or - # the addition of options in a freeformType module - # become breaking changes - # 2. adding a value for "a" after "a"."b" was already - # defined leads to a somewhat hard to understand - # Nix error, because that's not something you can - # do with attrset syntax. Workaround: "a"."", but - # that's too little too late. Another workaround: - # mkMerge [ { a = ...; } { a.b = ...; } ]. - # - # Choosing a non-nested representation does mean that - # we sacrifice the ability to override at the (conceptual) - # hierarchical levels, _if_ an application exhibits those. - # - # Some apps just use periods instead of spaces in an odd - # mix of attempted categorization and natural language, - # with no meaningful hierarchy. - # - # We _can_ choose to support hierarchical config files - # via nested attrsets, but the module author should - # make sure that problem (2) does not occur. - type = let - elemType = - oneOf ([ - # `package` isn't generalized to `path` because path values - # are ambiguous. Are they host path strings (toString /foo/bar) - # or should they be added to the store? ("${/foo/bar}") - # The user must decide. - (coercedTo package toString str) + # Design note: + # A nested representation of inevitably leads to bad UX: + # 1. keys like "a.b" must be disallowed, or + # the addition of options in a freeformType module + # become breaking changes + # 2. adding a value for "a" after "a"."b" was already + # defined leads to a somewhat hard to understand + # Nix error, because that's not something you can + # do with attrset syntax. Workaround: "a"."", but + # that's too little too late. Another workaround: + # mkMerge [ { a = ...; } { a.b = ...; } ]. + # + # Choosing a non-nested representation does mean that + # we sacrifice the ability to override at the (conceptual) + # hierarchical levels, _if_ an application exhibits those. + # + # Some apps just use periods instead of spaces in an odd + # mix of attempted categorization and natural language, + # with no meaningful hierarchy. + # + # We _can_ choose to support hierarchical config files + # via nested attrsets, but the module author should + # make sure that problem (2) does not occur. + type = + let + elemType = + oneOf ([ + # `package` isn't generalized to `path` because path values + # are ambiguous. Are they host path strings (toString /foo/bar) + # or should they be added to the store? ("${/foo/bar}") + # The user must decide. + (coercedTo package toString str) - (coercedTo bool boolToString str) - (coercedTo int toString str) - (coercedTo float toString str) - ]) - // { description = "string, package, bool, int or float"; }; - in attrsOf elemType; + (coercedTo bool boolToString str) + (coercedTo int toString str) + (coercedTo float toString str) + ]) + // { + description = "string, package, bool, int or float"; + }; + in + attrsOf elemType; - generate = name: value: - pkgs.runCommand name - { - # Requirements - # ============ - # - # 1. Strings in Nix carry over to the same - # strings in Java => need proper escapes - # 2. Generate files quickly - # - A JVM would have to match the app's - # JVM to avoid build closure bloat - # - Even then, JVM startup would slow - # down config generation. - # - # - # Implementation - # ============== - # - # Escaping has two steps - # - # 1. jq - # Escape known separators, in order not - # to break up the keys and values. - # This handles typical whitespace correctly, - # but may produce garbage for other control - # characters. - # - # 2. iconv - # Escape >ascii code points to java escapes, - # as .properties files are supposed to be - # encoded in ISO 8859-1. It's an old format. - # UTF-8 behavior may exist in some apps and - # libraries, but we can't rely on this in - # general. + generate = + name: value: + pkgs.runCommand name + { + # Requirements + # ============ + # + # 1. Strings in Nix carry over to the same + # strings in Java => need proper escapes + # 2. Generate files quickly + # - A JVM would have to match the app's + # JVM to avoid build closure bloat + # - Even then, JVM startup would slow + # down config generation. + # + # + # Implementation + # ============== + # + # Escaping has two steps + # + # 1. jq + # Escape known separators, in order not + # to break up the keys and values. + # This handles typical whitespace correctly, + # but may produce garbage for other control + # characters. + # + # 2. iconv + # Escape >ascii code points to java escapes, + # as .properties files are supposed to be + # encoded in ISO 8859-1. It's an old format. + # UTF-8 behavior may exist in some apps and + # libraries, but we can't rely on this in + # general. - preferLocalBuild = true; - passAsFile = [ "value" ]; - value = builtins.toJSON value; - nativeBuildInputs = [ - pkgs.jq - pkgs.libiconvReal - ]; + preferLocalBuild = true; + passAsFile = [ "value" ]; + value = builtins.toJSON value; + nativeBuildInputs = [ + pkgs.jq + pkgs.libiconvReal + ]; - jqCode = - let - main = '' - to_entries - | .[] - | "\( - .key - | ${commonEscapes} - | gsub(" "; "\\ ") - | gsub("="; "\\=") - ) = \( - .value - | ${commonEscapes} - | gsub("^ "; "\\ ") - | gsub("\\n "; "\n\\ ") - )" - ''; - # Most escapes are equal for both keys and values. - commonEscapes = '' - gsub("\\\\"; "\\\\") - | gsub("\\n"; "\\n\\\n") - | gsub("#"; "\\#") - | gsub("!"; "\\!") - | gsub("\\t"; "\\t") - | gsub("\r"; "\\r") - ''; - in - main; + jqCode = + let + main = '' + to_entries + | .[] + | "\( + .key + | ${commonEscapes} + | gsub(" "; "\\ ") + | gsub("="; "\\=") + ) = \( + .value + | ${commonEscapes} + | gsub("^ "; "\\ ") + | gsub("\\n "; "\n\\ ") + )" + ''; + # Most escapes are equal for both keys and values. + commonEscapes = '' + gsub("\\\\"; "\\\\") + | gsub("\\n"; "\\n\\\n") + | gsub("#"; "\\#") + | gsub("!"; "\\!") + | gsub("\\t"; "\\t") + | gsub("\r"; "\\r") + ''; + in + main; - inputEncoding = "UTF-8"; + inputEncoding = "UTF-8"; - inherit comment; + inherit comment; - } '' - ( - echo "$comment" | while read -r ln; do echo "# $ln"; done - echo - jq -r --arg hash '#' "$jqCode" "$valuePath" \ - | iconv --from-code "$inputEncoding" --to-code JAVA \ - ) > "$out" - ''; - }; + } + '' + ( + echo "$comment" | while read -r ln; do echo "# $ln"; done + echo + jq -r --arg hash '#' "$jqCode" "$valuePath" \ + | iconv --from-code "$inputEncoding" --to-code JAVA \ + ) > "$out" + ''; + }; } diff --git a/pkgs/pkgs-lib/formats/java-properties/test/default.nix b/pkgs/pkgs-lib/formats/java-properties/test/default.nix index 3c03ec66bd125..fdc589d2c1cd4 100644 --- a/pkgs/pkgs-lib/formats/java-properties/test/default.nix +++ b/pkgs/pkgs-lib/formats/java-properties/test/default.nix @@ -1,8 +1,9 @@ -{ formats -, glibcLocales -, jdk -, lib -, stdenv +{ + formats, + glibcLocales, + jdk, + lib, + stdenv, }: # This test primarily tests correct escaping. @@ -59,19 +60,17 @@ stdenv.mkDerivation { # Expected output as printed by Main.java passAsFile = [ "expected" ]; - expected = concatStrings (attrValues ( - mapAttrs - (key: value: - '' - KEY - ${key} - VALUE - ${value} + expected = concatStrings ( + attrValues ( + mapAttrs (key: value: '' + KEY + ${key} + VALUE + ${value} - '' - ) - input - )); + '') input + ) + ); src = lib.sourceByRegex ./. [ ".*\.java" diff --git a/pkgs/pkgs-lib/formats/libconfig/default.nix b/pkgs/pkgs-lib/formats/libconfig/default.nix index e30c6c3c93004..ab0cb6afd12d4 100644 --- a/pkgs/pkgs-lib/formats/libconfig/default.nix +++ b/pkgs/pkgs-lib/formats/libconfig/default.nix @@ -1,5 +1,6 @@ -{ lib -, pkgs +{ + lib, + pkgs, }: let inherit (pkgs) buildPackages callPackage; @@ -14,101 +15,114 @@ let cargoLock.lockFile = ./src/Cargo.lock; }; - libconfig-validator = buildPackages.runCommandCC "libconfig-validator" - { - buildInputs = with buildPackages; [ libconfig ]; - } - '' - mkdir -p "$out/bin" - $CC -lconfig -x c - -o "$out/bin/libconfig-validator" ${./validator.c} - ''; + libconfig-validator = + buildPackages.runCommandCC "libconfig-validator" + { + buildInputs = with buildPackages; [ libconfig ]; + } + '' + mkdir -p "$out/bin" + $CC -lconfig -x c - -o "$out/bin/libconfig-validator" ${./validator.c} + ''; in { - format = { generator ? libconfig-generator, validator ? libconfig-validator }: { - inherit generator; + format = + { + generator ? libconfig-generator, + validator ? libconfig-validator, + }: + { + inherit generator; - type = with lib.types; - let - valueType = (oneOf [ - bool - int - float - str - path - (attrsOf valueType) - (listOf valueType) - ]) // { - description = "libconfig value"; - }; - in - attrsOf valueType; + type = + with lib.types; + let + valueType = + (oneOf [ + bool + int + float + str + path + (attrsOf valueType) + (listOf valueType) + ]) + // { + description = "libconfig value"; + }; + in + attrsOf valueType; - lib = { - mkHex = value: { - _type = "hex"; - inherit value; - }; - mkOctal = value: { - _type = "octal"; - inherit value; - }; - mkFloat = value: { - _type = "float"; - inherit value; - }; - mkArray = value: { - _type = "array"; - inherit value; - }; - mkList = value: { - _type = "list"; - inherit value; + lib = { + mkHex = value: { + _type = "hex"; + inherit value; + }; + mkOctal = value: { + _type = "octal"; + inherit value; + }; + mkFloat = value: { + _type = "float"; + inherit value; + }; + mkArray = value: { + _type = "array"; + inherit value; + }; + mkList = value: { + _type = "list"; + inherit value; + }; }; - }; - generate = name: value: - callPackage - ({ - stdenvNoCC - , libconfig-generator - , libconfig-validator - , writeText - }: stdenvNoCC.mkDerivation rec { - inherit name; + generate = + name: value: + callPackage + ( + { + stdenvNoCC, + libconfig-generator, + libconfig-validator, + writeText, + }: + stdenvNoCC.mkDerivation rec { + inherit name; - dontUnpack = true; - preferLocalBuild = true; + dontUnpack = true; + preferLocalBuild = true; - json = builtins.toJSON value; - passAsFile = [ "json" ]; + json = builtins.toJSON value; + passAsFile = [ "json" ]; - strictDeps = true; - nativeBuildInputs = [ libconfig-generator ]; - buildPhase = '' - runHook preBuild - libconfig-generator < $jsonPath > output.cfg - runHook postBuild - ''; + strictDeps = true; + nativeBuildInputs = [ libconfig-generator ]; + buildPhase = '' + runHook preBuild + libconfig-generator < $jsonPath > output.cfg + runHook postBuild + ''; - doCheck = true; - nativeCheckInputs = [ libconfig-validator ]; - checkPhase = '' - runHook preCheck - libconfig-validator output.cfg - runHook postCheck - ''; + doCheck = true; + nativeCheckInputs = [ libconfig-validator ]; + checkPhase = '' + runHook preCheck + libconfig-validator output.cfg + runHook postCheck + ''; - installPhase = '' - runHook preInstall - mv output.cfg $out - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mv output.cfg $out + runHook postInstall + ''; - passthru.json = writeText "${name}.json" json; - }) - { - libconfig-generator = generator; - libconfig-validator = validator; - }; - }; + passthru.json = writeText "${name}.json" json; + } + ) + { + libconfig-generator = generator; + libconfig-validator = validator; + }; + }; } diff --git a/pkgs/pkgs-lib/formats/libconfig/test/comprehensive/default.nix b/pkgs/pkgs-lib/formats/libconfig/test/comprehensive/default.nix index e14fcce2f0993..94b782f943287 100644 --- a/pkgs/pkgs-lib/formats/libconfig/test/comprehensive/default.nix +++ b/pkgs/pkgs-lib/formats/libconfig/test/comprehensive/default.nix @@ -1,4 +1,10 @@ -{ lib, formats, stdenvNoCC, writeText, ... }: +{ + lib, + formats, + stdenvNoCC, + writeText, + ... +}: let libconfig = formats.libconfig { }; @@ -19,14 +25,41 @@ let nested.level-dash = "pass"; ## Same syntax here on these two, but they should get serialized differently: # > A list may have zero or more elements, each of which can be a scalar value, an array, a group, or another list. - list1d = libconfig.lib.mkList [ 1 "mixed!" 5 2 ]; + list1d = libconfig.lib.mkList [ + 1 + "mixed!" + 5 + 2 + ]; # You might also omit the mkList, as a list will be a list (in contrast to an array) by default. - list2d = [ 1 [ 1 1.2 "foo" ] [ "bar" 1.2 1 ] ]; + list2d = [ + 1 + [ + 1 + 1.2 + "foo" + ] + [ + "bar" + 1.2 + 1 + ] + ]; # > An array may have zero or more elements, but the elements must all be scalar values of the same type. - array1d = libconfig.lib.mkArray [ 1 5 2 ]; + array1d = libconfig.lib.mkArray [ + 1 + 5 + 2 + ]; array2d = [ - (libconfig.lib.mkArray [ 1 2 ]) - (libconfig.lib.mkArray [ 2 1 ]) + (libconfig.lib.mkArray [ + 1 + 2 + ]) + (libconfig.lib.mkArray [ + 2 + 1 + ]) ]; nasty_string = "\"@\n\\\t^*\b\f\n\0\";'''$"; @@ -55,25 +88,24 @@ let libconfig-test-cfg = libconfig.generate "libconfig-test.cfg" expression; in - stdenvNoCC.mkDerivation { - name = "pkgs.formats.libconfig-test-comprehensive"; +stdenvNoCC.mkDerivation { + name = "pkgs.formats.libconfig-test-comprehensive"; - dontUnpack = true; - dontBuild = true; + dontUnpack = true; + dontBuild = true; - doCheck = true; - checkPhase = '' - cp ${./expected.txt} expected.txt - substituteInPlace expected.txt \ - --subst-var-by include_file "${include_file}" - diff -U3 ./expected.txt ${libconfig-test-cfg} - ''; - - installPhase = '' - mkdir $out - cp expected.txt $out - cp ${libconfig-test-cfg} $out/libconfig-test.cfg - cp ${libconfig-test-cfg.passthru.json} $out/libconfig-test.json - ''; - } + doCheck = true; + checkPhase = '' + cp ${./expected.txt} expected.txt + substituteInPlace expected.txt \ + --subst-var-by include_file "${include_file}" + diff -U3 ./expected.txt ${libconfig-test-cfg} + ''; + installPhase = '' + mkdir $out + cp expected.txt $out + cp ${libconfig-test-cfg} $out/libconfig-test.cfg + cp ${libconfig-test-cfg.passthru.json} $out/libconfig-test.json + ''; +} diff --git a/pkgs/pkgs-lib/formats/php/default.nix b/pkgs/pkgs-lib/formats/php/default.nix index 9bd1de958d0be..0904eab86858f 100644 --- a/pkgs/pkgs-lib/formats/php/default.nix +++ b/pkgs/pkgs-lib/formats/php/default.nix @@ -1,69 +1,97 @@ -{pkgs, lib}: { +{ pkgs, lib }: +{ # Format for defining configuration of some PHP services, that use "include 'config.php';" approach. - format = {finalVariable ? null}: let - toPHP = value: { - "null" = "null"; - "bool" = if value then "true" else "false"; - "int" = toString value; - "float" = toString value; - "string" = string value; - "set" = attrs value; - "list" = list value; - } - .${builtins.typeOf value} or - (abort "should never happen: unknown value type ${builtins.typeOf value}"); + format = + { + finalVariable ? null, + }: + let + toPHP = + value: + { + "null" = "null"; + "bool" = if value then "true" else "false"; + "int" = toString value; + "float" = toString value; + "string" = string value; + "set" = attrs value; + "list" = list value; + } + .${builtins.typeOf value} + or (abort "should never happen: unknown value type ${builtins.typeOf value}"); - # https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single - escapeSingleQuotedString = lib.escape [ "'" "\\" ]; - string = value: "'${escapeSingleQuotedString value}'"; + # https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single + escapeSingleQuotedString = lib.escape [ + "'" + "\\" + ]; + string = value: "'${escapeSingleQuotedString value}'"; - listContent = values: lib.concatStringsSep ", " (map toPHP values); - list = values: "[" + (listContent values) + "]"; + listContent = values: lib.concatStringsSep ", " (map toPHP values); + list = values: "[" + (listContent values) + "]"; - attrsContent = values: lib.pipe values [ - (lib.mapAttrsToList (k: v: "${toPHP k} => ${toPHP v}")) - (lib.concatStringsSep ", ") - ]; - attrs = set: - if set ? _phpType then specialType set - else - "[" + attrsContent set + "]"; + attrsContent = + values: + lib.pipe values [ + (lib.mapAttrsToList (k: v: "${toPHP k} => ${toPHP v}")) + (lib.concatStringsSep ", ") + ]; + attrs = set: if set ? _phpType then specialType set else "[" + attrsContent set + "]"; - mixedArray = {list, set}: if list == [] then attrs set else "[${listContent list}, ${attrsContent set}]"; + mixedArray = + { list, set }: if list == [ ] then attrs set else "[${listContent list}, ${attrsContent set}]"; - specialType = {value, _phpType}: { - "mixed_array" = mixedArray value; - "raw" = value; - }.${_phpType}; + specialType = + { value, _phpType }: + { + "mixed_array" = mixedArray value; + "raw" = value; + } + .${_phpType}; - type = with lib.types; - nullOr (oneOf [ - bool - int - float - str - (attrsOf type) - (listOf type) - ]) - // { - description = "PHP value"; - }; - in { + type = + with lib.types; + nullOr (oneOf [ + bool + int + float + str + (attrsOf type) + (listOf type) + ]) + // { + description = "PHP value"; + }; + in + { - inherit type; + inherit type; - lib = { - mkMixedArray = list: set: {_phpType = "mixed_array"; value = { inherit list set;}; }; - mkRaw = raw: {_phpType = "raw"; value = raw;}; - }; + lib = { + mkMixedArray = list: set: { + _phpType = "mixed_array"; + value = { inherit list set; }; + }; + mkRaw = raw: { + _phpType = "raw"; + value = raw; + }; + }; - generate = name: value: pkgs.writeTextFile { - inherit name; - text = let - # strict_types enabled here to easily debug problems when calling functions of incorrect type using `mkRaw`. - phpHeader = "> third-party/pjproject/Makefile.rules - ''; - - src = fetchurl { - url = "https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${version}.tar.gz"; - inherit sha256; - }; - - # The default libdir is $PREFIX/usr/lib, which causes problems when paths - # compiled into Asterisk expect ${out}/usr/lib rather than ${out}/lib. - - # Copy in externals to avoid them being downloaded; - # they have to be copied, because the modification date is checked. - # If you are getting a permission denied error on this dir, - # you're likely missing an automatically downloaded dependency - preConfigure = '' - mkdir externals_cache - - ${lib.concatStringsSep "\n" - (lib.mapAttrsToList (dst: src: "cp -r --no-preserve=mode ${src} ${dst}") externals)} - - ${lib.optionalString (externals ? "addons/mp3") "bash contrib/scripts/get_mp3_source.sh || true"} - - chmod -w externals_cache - ${lib.optionalString withOpus '' - cp ${asterisk-opus}/include/asterisk/* ./include/asterisk - cp ${asterisk-opus}/codecs/* ./codecs - cp ${asterisk-opus}/formats/* ./formats - ''} - ${lib.concatMapStringsSep "\n" (patch: '' - cp ${patch} ./third-party/pjproject/patches/${patch.name} - '') pjsip_patches} - ./bootstrap.sh - ''; - - configureFlags = [ - "--libdir=\${out}/lib" - "--with-lua=${lua}/lib" - "--with-pjproject-bundled" - "--with-externals-cache=$(PWD)/externals_cache" - ]; - - preBuild = '' - cat third-party/pjproject/source/pjlib-util/src/pjlib-util/scanner.c - make menuselect.makeopts - ${lib.optionalString (externals ? "addons/mp3") '' - substituteInPlace menuselect.makeopts --replace 'format_mp3 ' "" - ''} - ${lib.optionalString withOpus '' - substituteInPlace menuselect.makeopts --replace 'codec_opus_open_source ' "" - substituteInPlace menuselect.makeopts --replace 'format_ogg_opus_open_source ' "" - ''} - ''; - - postInstall = '' - # Install sample configuration files for this version of Asterisk - make samples - ${lib.optionalString (lib.versionAtLeast version "17.0.0") "make install-headers"} - ''; - - meta = with lib; { - description = "Software implementation of a telephone private branch exchange (PBX)"; - homepage = "https://www.asterisk.org/"; - license = licenses.gpl2Only; - mainProgram = "asterisk"; - maintainers = with maintainers; [ auntie DerTim1 yorickvp ]; + common = + { + version, + sha256, + externals, + pjsip_patches ? [ ], + }: + stdenv.mkDerivation { + inherit version; + pname = "asterisk" + lib.optionalString ldapSupport "-ldap"; + + buildInputs = + [ + jansson + libedit + libxml2 + libxslt + ncurses + openssl + sqlite + dmidecode + libuuid + newt + lua + speex + srtp + wget + curl + iksemel + ] + ++ lib.optionals withOpus [ + libopus + opusfile + libogg + ] + ++ lib.optionals ldapSupport [ openldap ]; + nativeBuildInputs = [ + util-linux + pkg-config + autoconf + libtool + automake + ]; + + patches = [ + # We want the Makefile to install the default /var skeleton + # under ${out}/var but we also want to use /var at runtime. + # This patch changes the runtime behavior to look for state + # directories in /var rather than ${out}/var. + ./runtime-vardirs.patch + ] ++ lib.optional withOpus "${asterisk-opus}/asterisk.patch"; + + postPatch = '' + echo "PJPROJECT_CONFIG_OPTS += --prefix=$out" >> third-party/pjproject/Makefile.rules + ''; + + src = fetchurl { + url = "https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${version}.tar.gz"; + inherit sha256; + }; + + # The default libdir is $PREFIX/usr/lib, which causes problems when paths + # compiled into Asterisk expect ${out}/usr/lib rather than ${out}/lib. + + # Copy in externals to avoid them being downloaded; + # they have to be copied, because the modification date is checked. + # If you are getting a permission denied error on this dir, + # you're likely missing an automatically downloaded dependency + preConfigure = '' + mkdir externals_cache + + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (dst: src: "cp -r --no-preserve=mode ${src} ${dst}") externals + )} + + ${lib.optionalString (externals ? "addons/mp3") "bash contrib/scripts/get_mp3_source.sh || true"} + + chmod -w externals_cache + ${lib.optionalString withOpus '' + cp ${asterisk-opus}/include/asterisk/* ./include/asterisk + cp ${asterisk-opus}/codecs/* ./codecs + cp ${asterisk-opus}/formats/* ./formats + ''} + ${lib.concatMapStringsSep "\n" (patch: '' + cp ${patch} ./third-party/pjproject/patches/${patch.name} + '') pjsip_patches} + ./bootstrap.sh + ''; + + configureFlags = [ + "--libdir=\${out}/lib" + "--with-lua=${lua}/lib" + "--with-pjproject-bundled" + "--with-externals-cache=$(PWD)/externals_cache" + ]; + + preBuild = '' + cat third-party/pjproject/source/pjlib-util/src/pjlib-util/scanner.c + make menuselect.makeopts + ${lib.optionalString (externals ? "addons/mp3") '' + substituteInPlace menuselect.makeopts --replace 'format_mp3 ' "" + ''} + ${lib.optionalString withOpus '' + substituteInPlace menuselect.makeopts --replace 'codec_opus_open_source ' "" + substituteInPlace menuselect.makeopts --replace 'format_ogg_opus_open_source ' "" + ''} + ''; + + postInstall = '' + # Install sample configuration files for this version of Asterisk + make samples + ${lib.optionalString (lib.versionAtLeast version "17.0.0") "make install-headers"} + ''; + + meta = with lib; { + description = "Software implementation of a telephone private branch exchange (PBX)"; + homepage = "https://www.asterisk.org/"; + license = licenses.gpl2Only; + mainProgram = "asterisk"; + maintainers = with maintainers; [ + auntie + DerTim1 + yorickvp + ]; + }; }; - }; - pjproject_2_14_1 = fetchurl - { + pjproject_2_14_1 = + fetchurl { url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14.1/pjproject-2.14.1.tar.bz2"; hash = "sha256-MtsK8bOc0fT/H/pUydqK/ahMIVg8yiRDt3TSM1uhUFQ="; - } // { - pjsip_patches = [ ]; - }; + } + // { + pjsip_patches = [ ]; + }; mp3-202 = fetchsvn { url = "http://svn.digium.com/svn/thirdparty/mp3/trunk"; @@ -164,22 +187,29 @@ let }; # auto-generated by update.py - versions = lib.mapAttrs - (_: { version, sha256 }: - let - pjsip = pjproject_2_14_1; - in - common { - inherit version sha256; - inherit (pjsip) pjsip_patches; - externals = { - "externals_cache/${pjsip.name}" = pjsip; - "addons/mp3" = mp3-202; - }; - }) - (lib.importJSON ./versions.json); - - updateScript_python = python3.withPackages (p: with p; [ packaging beautifulsoup4 requests ]); + versions = lib.mapAttrs ( + _: + { version, sha256 }: + let + pjsip = pjproject_2_14_1; + in + common { + inherit version sha256; + inherit (pjsip) pjsip_patches; + externals = { + "externals_cache/${pjsip.name}" = pjsip; + "addons/mp3" = mp3-202; + }; + } + ) (lib.importJSON ./versions.json); + + updateScript_python = python3.withPackages ( + p: with p; [ + packaging + beautifulsoup4 + requests + ] + ); updateScript = writeScript "asterisk-update" '' #!/usr/bin/env bash exec ${updateScript_python}/bin/python ${toString ./update.py} @@ -201,7 +231,10 @@ in asterisk-lts = versions.asterisk_18; asterisk-stable = versions.asterisk_20; asterisk = versions.asterisk_20.overrideAttrs (o: { - passthru = (o.passthru or { }) // { inherit updateScript; }; + passthru = (o.passthru or { }) // { + inherit updateScript; + }; }); -} // versions +} +// versions diff --git a/pkgs/servers/authelia/default.nix b/pkgs/servers/authelia/default.nix index 4a9fec901fc0d..2c49c09b0550b 100644 --- a/pkgs/servers/authelia/default.nix +++ b/pkgs/servers/authelia/default.nix @@ -1,11 +1,30 @@ -{ lib, nodejs, pnpm, fetchFromGitHub, buildGoModule, installShellFiles, callPackage, nixosTests }: +{ + lib, + nodejs, + pnpm, + fetchFromGitHub, + buildGoModule, + installShellFiles, + callPackage, + nixosTests, +}: let - inherit (import ./sources.nix { inherit fetchFromGitHub; }) pname version src vendorHash; + inherit (import ./sources.nix { inherit fetchFromGitHub; }) + pname + version + src + vendorHash + ; web = callPackage ./web.nix { inherit nodejs pnpm fetchFromGitHub; }; in buildGoModule rec { - inherit pname version src vendorHash; + inherit + pname + version + src + vendorHash + ; nativeBuildInputs = [ installShellFiles ]; @@ -74,7 +93,11 @@ buildGoModule rec { authentication. ''; license = licenses.asl20; - maintainers = with maintainers; [ jk dit7ya nicomem ]; + maintainers = with maintainers; [ + jk + dit7ya + nicomem + ]; mainProgram = "authelia"; }; } diff --git a/pkgs/servers/authelia/web.nix b/pkgs/servers/authelia/web.nix index 3ca69cbd58077..7b3083600603a 100644 --- a/pkgs/servers/authelia/web.nix +++ b/pkgs/servers/authelia/web.nix @@ -1,7 +1,17 @@ -{ stdenv, nodejs, pnpm, fetchFromGitHub }: +{ + stdenv, + nodejs, + pnpm, + fetchFromGitHub, +}: let - inherit (import ./sources.nix { inherit fetchFromGitHub; }) pname version src pnpmDepsHash; + inherit (import ./sources.nix { inherit fetchFromGitHub; }) + pname + version + src + pnpmDepsHash + ; in stdenv.mkDerivation (finalAttrs: { pname = "${pname}-web"; @@ -15,7 +25,12 @@ stdenv.mkDerivation (finalAttrs: { ]; pnpmDeps = pnpm.fetchDeps { - inherit (finalAttrs) pname version src sourceRoot; + inherit (finalAttrs) + pname + version + src + sourceRoot + ; hash = pnpmDepsHash; }; diff --git a/pkgs/servers/bindle/default.nix b/pkgs/servers/bindle/default.nix index 7655bc31107df..07507e00adde7 100644 --- a/pkgs/servers/bindle/default.nix +++ b/pkgs/servers/bindle/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl }: +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "bindle"; @@ -23,8 +29,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-RECEeo0uoGO5bBe+r++zpTjYYX3BIkT58uht2MLYkN0="; cargoBuildFlags = [ - "--bin" "bindle" - "--bin" "bindle-server" + "--bin" + "bindle" + "--bin" + "bindle-server" "--all-features" ]; @@ -36,4 +44,3 @@ rustPlatform.buildRustPackage rec { platforms = platforms.unix; }; } - diff --git a/pkgs/servers/binserve/default.nix b/pkgs/servers/binserve/default.nix index 6ec3c073ac913..df1cf540b52ce 100644 --- a/pkgs/servers/binserve/default.nix +++ b/pkgs/servers/binserve/default.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "binserve"; diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix index 609877ae1f9c3..a7837947852eb 100644 --- a/pkgs/servers/clickhouse/default.nix +++ b/pkgs/servers/clickhouse/default.nix @@ -1,33 +1,38 @@ -{ lib -, llvmPackages -, fetchFromGitHub -, fetchpatch -, cmake -, ninja -, python3 -, perl -, nasm -, yasm -, nixosTests -, darwin -, findutils -, libiconv - -, rustSupport ? true - -, corrosion -, rustc -, cargo -, rustPlatform +{ + lib, + llvmPackages, + fetchFromGitHub, + fetchpatch, + cmake, + ninja, + python3, + perl, + nasm, + yasm, + nixosTests, + darwin, + findutils, + libiconv, + + rustSupport ? true, + + corrosion, + rustc, + cargo, + rustPlatform, }: let inherit (llvmPackages) stdenv; - mkDerivation = ( - if stdenv.hostPlatform.isDarwin - then darwin.apple_sdk_11_0.llvmPackages_16.stdenv - else llvmPackages.stdenv).mkDerivation; -in mkDerivation rec { + mkDerivation = + ( + if stdenv.hostPlatform.isDarwin then + darwin.apple_sdk_11_0.llvmPackages_16.stdenv + else + llvmPackages.stdenv + ).mkDerivation; +in +mkDerivation rec { pname = "clickhouse"; version = "24.3.7.30"; @@ -77,46 +82,62 @@ in mkDerivation rec { ]; strictDeps = true; - nativeBuildInputs = [ - cmake - ninja - python3 - perl - llvmPackages.lld - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - nasm - yasm - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages.bintools - findutils - darwin.bootstrap_cmds - ] ++ lib.optionals rustSupport [ - rustc - cargo - rustPlatform.cargoSetupHook - ]; + nativeBuildInputs = + [ + cmake + ninja + python3 + perl + llvmPackages.lld + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + nasm + yasm + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages.bintools + findutils + darwin.bootstrap_cmds + ] + ++ lib.optionals rustSupport [ + rustc + cargo + rustPlatform.cargoSetupHook + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; # their vendored version is too old and missing this patch: https://github.com/corrosion-rs/corrosion/pull/205 - corrosionSrc = if rustSupport then fetchFromGitHub { - owner = "corrosion-rs"; - repo = "corrosion"; - rev = "v0.3.5"; - hash = "sha256-r/jrck4RiQynH1+Hx4GyIHpw/Kkr8dHe1+vTHg+fdRs="; - } else null; - corrosionDeps = if rustSupport then rustPlatform.fetchCargoTarball { - src = corrosionSrc; - name = "corrosion-deps"; - preBuild = "cd generator"; - hash = "sha256-dhUgpwSjE9NZ2mCkhGiydI51LIOClA5wwk1O3mnnbM8="; - } else null; - rustDeps = if rustSupport then rustPlatform.fetchCargoTarball { - inherit src; - name = "rust-deps"; - preBuild = "cd rust"; - hash = "sha256-rbEfCRB2QAZ2WBgSLYYUqeYtI4Y5d9oQ2G8/mPirIp4="; - } else null; + corrosionSrc = + if rustSupport then + fetchFromGitHub { + owner = "corrosion-rs"; + repo = "corrosion"; + rev = "v0.3.5"; + hash = "sha256-r/jrck4RiQynH1+Hx4GyIHpw/Kkr8dHe1+vTHg+fdRs="; + } + else + null; + corrosionDeps = + if rustSupport then + rustPlatform.fetchCargoTarball { + src = corrosionSrc; + name = "corrosion-deps"; + preBuild = "cd generator"; + hash = "sha256-dhUgpwSjE9NZ2mCkhGiydI51LIOClA5wwk1O3mnnbM8="; + } + else + null; + rustDeps = + if rustSupport then + rustPlatform.fetchCargoTarball { + inherit src; + name = "rust-deps"; + preBuild = "cd rust"; + hash = "sha256-rbEfCRB2QAZ2WBgSLYYUqeYtI4Y5d9oQ2G8/mPirIp4="; + } + else + null; dontCargoSetupPostUnpack = true; postUnpack = lib.optionalString rustSupport '' @@ -141,53 +162,62 @@ in mkDerivation rec { popd ''; - postPatch = '' - patchShebangs src/ - - substituteInPlace src/Storages/System/StorageSystemLicenses.sh \ - --replace 'git rev-parse --show-toplevel' '$src' - substituteInPlace utils/check-style/check-duplicate-includes.sh \ - --replace 'git rev-parse --show-toplevel' '$src' - substituteInPlace utils/check-style/check-ungrouped-includes.sh \ - --replace 'git rev-parse --show-toplevel' '$src' - substituteInPlace utils/list-licenses/list-licenses.sh \ - --replace 'git rev-parse --show-toplevel' '$src' - substituteInPlace utils/check-style/check-style \ - --replace 'git rev-parse --show-toplevel' '$src' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i 's|gfind|find|' cmake/tools.cmake - sed -i 's|ggrep|grep|' cmake/tools.cmake - '' + lib.optionalString rustSupport '' - - pushd contrib/corrosion/generator - cargoDepsCopy="$corrosionDepsCopy" cargoSetupPostPatchHook - popd - - pushd rust - cargoDepsCopy="$rustDepsCopy" cargoSetupPostPatchHook - popd - - cargoSetupPostPatchHook() { true; } - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Make sure Darwin invokes lld.ld64 not lld. - substituteInPlace cmake/tools.cmake \ - --replace '--ld-path=''${LLD_PATH}' '-fuse-ld=lld' - ''; + postPatch = + '' + patchShebangs src/ + + substituteInPlace src/Storages/System/StorageSystemLicenses.sh \ + --replace 'git rev-parse --show-toplevel' '$src' + substituteInPlace utils/check-style/check-duplicate-includes.sh \ + --replace 'git rev-parse --show-toplevel' '$src' + substituteInPlace utils/check-style/check-ungrouped-includes.sh \ + --replace 'git rev-parse --show-toplevel' '$src' + substituteInPlace utils/list-licenses/list-licenses.sh \ + --replace 'git rev-parse --show-toplevel' '$src' + substituteInPlace utils/check-style/check-style \ + --replace 'git rev-parse --show-toplevel' '$src' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + sed -i 's|gfind|find|' cmake/tools.cmake + sed -i 's|ggrep|grep|' cmake/tools.cmake + '' + + lib.optionalString rustSupport '' + + pushd contrib/corrosion/generator + cargoDepsCopy="$corrosionDepsCopy" cargoSetupPostPatchHook + popd + + pushd rust + cargoDepsCopy="$rustDepsCopy" cargoSetupPostPatchHook + popd + + cargoSetupPostPatchHook() { true; } + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Make sure Darwin invokes lld.ld64 not lld. + substituteInPlace cmake/tools.cmake \ + --replace '--ld-path=''${LLD_PATH}' '-fuse-ld=lld' + ''; - cmakeFlags = [ - "-DENABLE_TESTS=OFF" - "-DCOMPILER_CACHE=disabled" - "-DENABLE_EMBEDDED_COMPILER=ON" - ] ++ - lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) "-DNO_ARMV81_OR_HIGHER=1"; + cmakeFlags = + [ + "-DENABLE_TESTS=OFF" + "-DCOMPILER_CACHE=disabled" + "-DENABLE_EMBEDDED_COMPILER=ON" + ] + ++ lib.optional ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 + ) "-DNO_ARMV81_OR_HIGHER=1"; env = { NIX_CFLAGS_COMPILE = # undefined reference to '__sync_val_compare_and_swap_16' - lib.optionalString stdenv.hostPlatform.isx86_64 " -mcx16" + - # Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and - # ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp. - lib.optionalString stdenv.hostPlatform.isDarwin " -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration"; + lib.optionalString stdenv.hostPlatform.isx86_64 " -mcx16" + + + # Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and + # ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp. + lib.optionalString stdenv.hostPlatform.isDarwin + " -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration"; }; # https://github.com/ClickHouse/ClickHouse/issues/49988 @@ -213,7 +243,10 @@ in mkDerivation rec { homepage = "https://clickhouse.com"; description = "Column-oriented database management system"; license = licenses.asl20; - maintainers = with maintainers; [ orivej mbalatsko ]; + maintainers = with maintainers; [ + orivej + mbalatsko + ]; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685 platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin); diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix index 5662dc5d333b5..4121a5e8b4d3a 100644 --- a/pkgs/servers/code-server/default.nix +++ b/pkgs/servers/code-server/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildGoModule -, makeWrapper -, cacert -, moreutils -, jq -, git -, rsync -, pkg-config -, yarn -, python3 -, esbuild -, nodejs -, node-gyp -, libsecret -, xorg -, ripgrep -, AppKit -, Cocoa -, CoreServices -, Security -, cctools -, xcbuild -, quilt -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + makeWrapper, + cacert, + moreutils, + jq, + git, + rsync, + pkg-config, + yarn, + python3, + esbuild, + nodejs, + node-gyp, + libsecret, + xorg, + ripgrep, + AppKit, + Cocoa, + CoreServices, + Security, + cctools, + xcbuild, + quilt, + nixosTests, }: let @@ -35,16 +36,21 @@ let defaultYarnOpts = [ ]; esbuild' = esbuild.override { - buildGoModule = args: buildGoModule (args // rec { - version = "0.16.17"; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); + buildGoModule = + args: + buildGoModule ( + args + // rec { + version = "0.16.17"; + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ="; + }; + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + } + ); }; # replaces esbuild's download script with a binary from nixpkgs @@ -89,7 +95,11 @@ stdenv.mkDerivation (finalAttrs: { name = "${finalAttrs.pname}-${finalAttrs.version}-${system}-yarn-cache"; inherit (finalAttrs) src; - nativeBuildInputs = [ yarn' git cacert ]; + nativeBuildInputs = [ + yarn' + git + cacert + ]; buildPhase = '' runHook preBuild @@ -130,19 +140,22 @@ stdenv.mkDerivation (finalAttrs: { quilt ]; - buildInputs = [ - xorg.libX11 - xorg.libxkbfile - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libsecret - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Cocoa - CoreServices - Security - cctools - xcbuild - ]; + buildInputs = + [ + xorg.libX11 + xorg.libxkbfile + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libsecret + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Cocoa + CoreServices + Security + cctools + xcbuild + ]; patches = [ # Remove all git calls from the VS Code build script except `git rev-parse @@ -193,95 +206,98 @@ stdenv.mkDerivation (finalAttrs: { runHook postConfigure ''; - buildPhase = '' - runHook preBuild - - # Apply patches. - quilt push -a - - export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 - export SKIP_SUBMODULE_DEPS=1 - export NODE_OPTIONS="--openssl-legacy-provider --max-old-space-size=4096" - - # Remove all built-in extensions, as these are 3rd party extensions that - # get downloaded from the VS Code marketplace. - jq --slurp '.[0] * .[1]' "./lib/vscode/product.json" <( - cat << EOF - { - "builtInExtensions": [] - } - EOF - ) | sponge ./lib/vscode/product.json - - # Disable automatic updates. - sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \ - lib/vscode/src/vs/platform/update/common/update.config.contribution.ts + buildPhase = + '' + runHook preBuild - # Patch out remote download of nodejs from build script. - patch -p1 -i ${./remove-node-download.patch} + # Apply patches. + quilt push -a + + export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 + export SKIP_SUBMODULE_DEPS=1 + export NODE_OPTIONS="--openssl-legacy-provider --max-old-space-size=4096" + + # Remove all built-in extensions, as these are 3rd party extensions that + # get downloaded from the VS Code marketplace. + jq --slurp '.[0] * .[1]' "./lib/vscode/product.json" <( + cat << EOF + { + "builtInExtensions": [] + } + EOF + ) | sponge ./lib/vscode/product.json + + # Disable automatic updates. + sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \ + lib/vscode/src/vs/platform/update/common/update.config.contribution.ts + + # Patch out remote download of nodejs from build script. + patch -p1 -i ${./remove-node-download.patch} + + # Install dependencies. + patchShebangs . + find . -name "yarn.lock" -printf "%h\n" | \ + xargs -I {} yarn --cwd {} \ + --offline --frozen-lockfile --ignore-scripts --ignore-engines + patchShebangs . + + # Use esbuild from nixpkgs. + ${patchEsbuild "./lib/vscode/build" "0.12.6"} + ${patchEsbuild "./lib/vscode/extensions" "0.11.23"} + + # Kerberos errors while building, so remove it for now as it is not + # required. + yarn remove kerberos --cwd lib/vscode/remote --offline --frozen-lockfile --ignore-scripts --ignore-engines + + # Put ripgrep binary into bin, so post-install does not try to download it. + find -name ripgrep -type d \ + -execdir mkdir -p {}/bin \; \ + -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \; + + # Run post-install scripts after patching. + find ./lib/vscode \( -path "*/node_modules/*" -or -path "*/extensions/*" \) \ + -and -type f -name "yarn.lock" -printf "%h\n" | \ + xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true' + patchShebangs . + + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+ + # (see issue #101229). + pushd ./lib/vscode/remote/node_modules/@parcel/watcher + mkdir -p ./build/Release + mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node + jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json + popd + '' + + '' + + # Build binary packages (argon2, node-pty, etc). + npm rebuild --offline + npm rebuild --offline --prefix lib/vscode/remote + + # Build code-server and VS Code. + yarn build + VERSION=${finalAttrs.version} yarn build:vscode + + # Inject version into package.json. + jq --slurp '.[0] * .[1]' ./package.json <( + cat << EOF + { + "version": "${finalAttrs.version}" + } + EOF + ) | sponge ./package.json + + # Create release, keeping all dependencies. + KEEP_MODULES=1 yarn release + + # Prune development dependencies. We only need to do this for the root as + # the VS Code build process already does this for VS Code. + npm prune --omit=dev --prefix release - # Install dependencies. - patchShebangs . - find . -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} yarn --cwd {} \ - --offline --frozen-lockfile --ignore-scripts --ignore-engines - patchShebangs . - - # Use esbuild from nixpkgs. - ${patchEsbuild "./lib/vscode/build" "0.12.6"} - ${patchEsbuild "./lib/vscode/extensions" "0.11.23"} - - # Kerberos errors while building, so remove it for now as it is not - # required. - yarn remove kerberos --cwd lib/vscode/remote --offline --frozen-lockfile --ignore-scripts --ignore-engines - - # Put ripgrep binary into bin, so post-install does not try to download it. - find -name ripgrep -type d \ - -execdir mkdir -p {}/bin \; \ - -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \; - - # Run post-install scripts after patching. - find ./lib/vscode \( -path "*/node_modules/*" -or -path "*/extensions/*" \) \ - -and -type f -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true' - patchShebangs . - - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+ - # (see issue #101229). - pushd ./lib/vscode/remote/node_modules/@parcel/watcher - mkdir -p ./build/Release - mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node - jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json - popd - '' + '' - - # Build binary packages (argon2, node-pty, etc). - npm rebuild --offline - npm rebuild --offline --prefix lib/vscode/remote - - # Build code-server and VS Code. - yarn build - VERSION=${finalAttrs.version} yarn build:vscode - - # Inject version into package.json. - jq --slurp '.[0] * .[1]' ./package.json <( - cat << EOF - { - "version": "${finalAttrs.version}" - } - EOF - ) | sponge ./package.json - - # Create release, keeping all dependencies. - KEEP_MODULES=1 yarn release - - # Prune development dependencies. We only need to do this for the root as - # the VS Code build process already does this for VS Code. - npm prune --omit=dev --prefix release - - runHook postBuild - ''; + runHook postBuild + ''; installPhase = '' runHook preInstall @@ -319,8 +335,16 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/coder/code-server"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ offline henkery code-asher ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + maintainers = with lib.maintainers; [ + offline + henkery + code-asher + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; mainProgram = "code-server"; }; }) diff --git a/pkgs/servers/dcnnt/default.nix b/pkgs/servers/dcnnt/default.nix index 505ee26ab95db..9506193c5bc51 100644 --- a/pkgs/servers/dcnnt/default.nix +++ b/pkgs/servers/dcnnt/default.nix @@ -1,4 +1,9 @@ -{ buildPythonApplication, fetchPypi, lib, pycryptodome }: +{ + buildPythonApplication, + fetchPypi, + lib, + pycryptodome, +}: buildPythonApplication rec { pname = "dcnnt"; diff --git a/pkgs/servers/deconz/default.nix b/pkgs/servers/deconz/default.nix index 809c990152b8d..ab6e4c3121788 100644 --- a/pkgs/servers/deconz/default.nix +++ b/pkgs/servers/deconz/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchurl -, wrapQtAppsHook -, dpkg -, autoPatchelfHook -, qtserialport -, qtwebsockets -, openssl -, libredirect -, makeWrapper -, gzip -, gnutar -, nixosTests +{ + stdenv, + lib, + fetchurl, + wrapQtAppsHook, + dpkg, + autoPatchelfHook, + qtserialport, + qtwebsockets, + openssl, + libredirect, + makeWrapper, + gzip, + gnutar, + nixosTests, }: stdenv.mkDerivation rec { @@ -23,9 +24,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-uHbo0XerUx81o7gXK570iJKiotkQ0aCXUVcyYelMu4k="; }; - nativeBuildInputs = [ dpkg autoPatchelfHook makeWrapper wrapQtAppsHook ]; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + makeWrapper + wrapQtAppsHook + ]; - buildInputs = [ qtserialport qtwebsockets openssl ]; + buildInputs = [ + qtserialport + qtwebsockets + openssl + ]; unpackPhase = '' runHook preUnpack @@ -61,7 +71,12 @@ stdenv.mkDerivation rec { wrapProgram "$p" \ --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ --set NIX_REDIRECTS "/usr/share=$out/share:/usr/bin=$out/bin" \ - --prefix PATH : "${lib.makeBinPath [ gzip gnutar ]}" + --prefix PATH : "${ + lib.makeBinPath [ + gzip + gnutar + ] + }" done runHook postInstall diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix index a85b6f8b88c56..547c12534e945 100644 --- a/pkgs/servers/dict/default.nix +++ b/pkgs/servers/dict/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, which, bison, flex, libmaa, zlib, libtool }: +{ + lib, + stdenv, + fetchurl, + which, + bison, + flex, + libmaa, + zlib, + libtool, +}: stdenv.mkDerivation rec { pname = "dictd"; @@ -9,9 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-5PGmfRaJTYSUVp19yUQsFcw4wBHyuWMcfxzGInZlKhs="; }; - buildInputs = [ libmaa zlib ]; + buildInputs = [ + libmaa + zlib + ]; - nativeBuildInputs = [ bison flex libtool which ]; + nativeBuildInputs = [ + bison + flex + libtool + which + ]; # In earlier versions, parallel building was not supported but it's OK with 1.13 enableParallelBuilding = true; @@ -23,9 +41,11 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=implicit-function-declaration" + ] + ); postInstall = '' install -Dm444 -t $out/share/doc/${pname} NEWS README diff --git a/pkgs/servers/dict/dictd-db-collector.nix b/pkgs/servers/dict/dictd-db-collector.nix index 83844f9a5a5f0..f8555126205f2 100644 --- a/pkgs/servers/dict/dictd-db-collector.nix +++ b/pkgs/servers/dict/dictd-db-collector.nix @@ -1,85 +1,91 @@ -{ stdenv, lib, dict, libfaketime }: -({ dictlist, allowList ? [ "127.0.0.1" ], denyList ? [ ] }: +{ + stdenv, + lib, + dict, + libfaketime, +}: +( + { + dictlist, + allowList ? [ "127.0.0.1" ], + denyList ? [ ], + }: -/* - dictlist is a list of form - [ { filename = /path/to/files/basename; - name = "name"; } ] - basename.dict.dz and basename.index should be - dict files. Or look below for other options. - allowList is a list of IP/domain *-wildcarded strings - denyList is the same.. -*/ + /* + dictlist is a list of form + [ { filename = /path/to/files/basename; + name = "name"; } ] + basename.dict.dz and basename.index should be + dict files. Or look below for other options. + allowList is a list of IP/domain *-wildcarded strings + denyList is the same.. + */ -let - link_arguments = map - (x: ''"${x.filename}" '') - dictlist; - databases = lib.concatStrings (map - (x: - "${x.name} ${x.filename}\n") - dictlist); - allow = lib.concatStrings (map (x: "allow ${x}\n") allowList); - deny = lib.concatStrings (map (x: "deny ${x}\n") denyList); - accessSection = " + let + link_arguments = map (x: ''"${x.filename}" '') dictlist; + databases = lib.concatStrings (map (x: "${x.name} ${x.filename}\n") dictlist); + allow = lib.concatStrings (map (x: "allow ${x}\n") allowList); + deny = lib.concatStrings (map (x: "deny ${x}\n") denyList); + accessSection = " access { ${allow} ${deny} } "; - installPhase = '' - mkdir -p $out/share/dictd - cd $out/share/dictd - echo "${databases}" >databases.names - echo "${accessSection}" > dictd.conf - for j in ${toString link_arguments}; do - name="$(egrep ' '"$j"\$ databases.names)" - name=''${name% $j} - if test -d "$j"; then - if test -d "$j"/share/dictd ; then - echo "Got store path $j" - j="$j"/share/dictd + installPhase = '' + mkdir -p $out/share/dictd + cd $out/share/dictd + echo "${databases}" >databases.names + echo "${accessSection}" > dictd.conf + for j in ${toString link_arguments}; do + name="$(egrep ' '"$j"\$ databases.names)" + name=''${name% $j} + if test -d "$j"; then + if test -d "$j"/share/dictd ; then + echo "Got store path $j" + j="$j"/share/dictd + fi + echo "Directory reference: $j" + i=$(ls "$j""/"*.index) + i="''${i%.index}"; + else + i="$j"; fi - echo "Directory reference: $j" - i=$(ls "$j""/"*.index) - i="''${i%.index}"; - else - i="$j"; - fi - echo "Basename is $i" - locale=$(cat "$(dirname "$i")"/locale) - base="$(basename "$i")" - echo "Locale is $locale" - export LC_ALL=$locale - export LANG=$locale - if test -e "$i".dict.dz; then - ln -s "$i".dict.dz - else - cp "$i".dict . - source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T") - faketime -f "$source_date" dictzip "$base".dict - fi - ln -s "$i".index . - dictfmt_index2word --locale $locale < "$base".index > "$base".word || true - dictfmt_index2suffix --locale $locale < "$base".index > "$base".suffix || true + echo "Basename is $i" + locale=$(cat "$(dirname "$i")"/locale) + base="$(basename "$i")" + echo "Locale is $locale" + export LC_ALL=$locale + export LANG=$locale + if test -e "$i".dict.dz; then + ln -s "$i".dict.dz + else + cp "$i".dict . + source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T") + faketime -f "$source_date" dictzip "$base".dict + fi + ln -s "$i".index . + dictfmt_index2word --locale $locale < "$base".index > "$base".word || true + dictfmt_index2suffix --locale $locale < "$base".index > "$base".suffix || true - echo "database $name {" >> dictd.conf - echo " data $out/share/dictd/$base.dict.dz" >> dictd.conf - echo " index $out/share/dictd/$base.index" >> dictd.conf - echo " index_word $out/share/dictd/$base.word" >> dictd.conf - echo " index_suffix $out/share/dictd/$base.suffix" >> dictd.conf - echo "}" >> dictd.conf - done - ''; + echo "database $name {" >> dictd.conf + echo " data $out/share/dictd/$base.dict.dz" >> dictd.conf + echo " index $out/share/dictd/$base.index" >> dictd.conf + echo " index_word $out/share/dictd/$base.word" >> dictd.conf + echo " index_suffix $out/share/dictd/$base.suffix" >> dictd.conf + echo "}" >> dictd.conf + done + ''; -in + in -stdenv.mkDerivation { - name = "dictd-dbs"; + stdenv.mkDerivation { + name = "dictd-dbs"; - nativeBuildInputs = [ libfaketime ]; - buildInputs = [ dict ]; + nativeBuildInputs = [ libfaketime ]; + buildInputs = [ dict ]; - dontUnpack = true; - inherit installPhase; -}) + dontUnpack = true; + inherit installPhase; + } +) diff --git a/pkgs/servers/dict/dictd-db.nix b/pkgs/servers/dict/dictd-db.nix index 2e2191c5aaa3e..3f6af00de4f52 100644 --- a/pkgs/servers/dict/dictd-db.nix +++ b/pkgs/servers/dict/dictd-db.nix @@ -1,33 +1,41 @@ -{ lib, stdenv, fetchurl, callPackage }: +{ + lib, + stdenv, + fetchurl, + callPackage, +}: let - # Probably a bug in some FreeDict release files, but easier to trivially - # work around than report. Not that it can cause any other problems.. - makeDictdDBFreedict = src: name: locale: - makeDictdDB src name "{.,bin}" locale; + # Probably a bug in some FreeDict release files, but easier to trivially + # work around than report. Not that it can cause any other problems.. + makeDictdDBFreedict = + src: name: locale: + makeDictdDB src name "{.,bin}" locale; - makeDictdDB = src: _name: _subdir: _locale: - stdenv.mkDerivation { - name = "dictd-db-${_name}"; - inherit src; - locale = _locale; - dbName = _name; - dontBuild = true; - unpackPhase = '' - tar xf ${src} - ''; - installPhase = '' - mkdir -p $out/share/dictd - cp $(ls ./${_subdir}/*.{dict*,index} || true) $out/share/dictd - echo "${_locale}" >$out/share/dictd/locale - ''; + makeDictdDB = + src: _name: _subdir: _locale: + stdenv.mkDerivation { + name = "dictd-db-${_name}"; + inherit src; + locale = _locale; + dbName = _name; + dontBuild = true; + unpackPhase = '' + tar xf ${src} + ''; + installPhase = '' + mkdir -p $out/share/dictd + cp $(ls ./${_subdir}/*.{dict*,index} || true) $out/share/dictd + echo "${_locale}" >$out/share/dictd/locale + ''; - meta = { - description = "dictd-db dictionary for dictd"; - platforms = lib.platforms.linux; - }; - }; -in rec { + meta = { + description = "dictd-db dictionary for dictd"; + platforms = lib.platforms.linux; + }; + }; +in +rec { deu2eng = makeDictdDBFreedict (fetchurl { url = "mirror://sourceforge/freedict/deu-eng.tar.gz"; sha256 = "0dqrhv04g4f5s84nbgisgcfwk5x0rpincif0yfhfh4sc1bsvzsrb"; @@ -40,7 +48,7 @@ in rec { url = "mirror://sourceforge/freedict/nld-eng.tar.gz"; sha256 = "1vhw81pphb64fzsjvpzsnnyr34ka2fxizfwilnxyjcmpn9360h07"; }) "nld-eng" "nl_NL"; - eng2nld = makeDictdDBFreedict (fetchurl { + eng2nld = makeDictdDBFreedict (fetchurl { url = "mirror://sourceforge/freedict/eng-nld.tar.gz"; sha256 = "0rcg28ldykv0w2mpxc6g4rqmfs33q7pbvf68ssy1q9gpf6mz7vcl"; }) "eng-nld" "en_UK"; @@ -61,13 +69,19 @@ in rec { sha256 = "095xwqfc43dnm0g74i83lg03542f064jy2xbn3qnjxiwysz9ksnz"; }) "epo-eng" "epo-eng" "eo"; jpn2eng = makeDictdDB (fetchurl { - url = let version = "0.1"; - in "mirror://sourceforge/freedict/jpn-eng/${version}/freedict-jpn-eng-${version}.dictd.tar.xz"; + url = + let + version = "0.1"; + in + "mirror://sourceforge/freedict/jpn-eng/${version}/freedict-jpn-eng-${version}.dictd.tar.xz"; sha256 = "sha256-juJBoEq7EztLZzOomc7uoZhXVaQPKoUvIxxPLB0xByc="; }) "jpn-eng" "jpn-eng" "ja_JP"; eng2jpn = makeDictdDB (fetchurl { - url = let version = "2022.04.06"; - in "https://download.freedict.org/dictionaries/eng-jpn/${version}/freedict-eng-jpn-${version}.dictd.tar.xz"; + url = + let + version = "2022.04.06"; + in + "https://download.freedict.org/dictionaries/eng-jpn/${version}/freedict-eng-jpn-${version}.dictd.tar.xz"; sha256 = "sha256-kfRT2kgbV3XKarCr4mqDRT5A1jR8M8APky5M5MFYatE="; }) "eng-jpn" "eng-jpn" "en_UK"; mueller_eng2rus_pkg = makeDictdDB (fetchurl { @@ -104,6 +118,6 @@ in rec { dbName = "mueller-names"; locale = "en_UK"; }; - wordnet = callPackage ./dictd-wordnet.nix {}; - wiktionary = callPackage ./wiktionary {}; + wordnet = callPackage ./dictd-wordnet.nix { }; + wiktionary = callPackage ./wiktionary { }; } diff --git a/pkgs/servers/dict/dictd-wordnet.nix b/pkgs/servers/dict/dictd-wordnet.nix index c07aa42935871..3fa2744ff2128 100644 --- a/pkgs/servers/dict/dictd-wordnet.nix +++ b/pkgs/servers/dict/dictd-wordnet.nix @@ -1,10 +1,21 @@ -{lib, stdenv, python3, wordnet, writeScript, libfaketime}: +{ + lib, + stdenv, + python3, + wordnet, + writeScript, + libfaketime, +}: stdenv.mkDerivation rec { version = "542"; pname = "dict-db-wordnet"; - buildInputs = [python3 wordnet libfaketime]; + buildInputs = [ + python3 + wordnet + libfaketime + ]; convert = ./wordnet_structures.py; builder = writeScript "builder.sh" '' diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix index 9b31732ed124a..b9deb77368d77 100644 --- a/pkgs/servers/dict/libmaa.nix +++ b/pkgs/servers/dict/libmaa.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libtool }: +{ + lib, + stdenv, + fetchurl, + libtool, +}: stdenv.mkDerivation rec { version = "1.3.2"; diff --git a/pkgs/servers/dict/wiktionary/default.nix b/pkgs/servers/dict/wiktionary/default.nix index bb3aac6f75312..ea3ba3bfd8249 100644 --- a/pkgs/servers/dict/wiktionary/default.nix +++ b/pkgs/servers/dict/wiktionary/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, python3, dict, glibcLocales, libfaketime }: +{ + lib, + stdenv, + fetchurl, + python3, + dict, + glibcLocales, + libfaketime, +}: stdenv.mkDerivation rec { pname = "dict-db-wiktionary"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "f37e899a9091a1b01137c7b0f3d58813edf3039e9e94ae656694c88859bbe756"; }; - nativeBuildInputs = [ python3 dict glibcLocales libfaketime ]; + nativeBuildInputs = [ + python3 + dict + glibcLocales + libfaketime + ]; dontUnpack = true; @@ -30,6 +43,9 @@ stdenv.mkDerivation rec { homepage = "https://en.wiktionary.org/"; maintainers = with maintainers; [ qyliss ]; platforms = platforms.all; - license = with licenses; [ cc-by-sa-30 fdl11Plus ]; + license = with licenses; [ + cc-by-sa-30 + fdl11Plus + ]; }; } diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix index a96f9e1ada289..21d3f5d9a43a7 100644 --- a/pkgs/servers/diod/default.nix +++ b/pkgs/servers/diod/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchurl, munge, lua, - libcap, perl, ncurses +{ + lib, + stdenv, + fetchurl, + munge, + lua, + libcap, + perl, + ncurses, }: stdenv.mkDerivation rec { @@ -16,12 +23,18 @@ stdenv.mkDerivation rec { sed -i -e '/sys\/types\.h>/a #include ' diod/ops.c ''; - buildInputs = [ munge lua libcap perl ncurses ]; + buildInputs = [ + munge + lua + libcap + perl + ncurses + ]; meta = with lib; { description = "I/O forwarding server that implements a variant of the 9P protocol"; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.linux; - license = licenses.gpl2Plus; + platforms = platforms.linux; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/servers/dns/acme-dns/default.nix b/pkgs/servers/dns/acme-dns/default.nix index db6ea4bbea009..6359b9dac2214 100644 --- a/pkgs/servers/dns/acme-dns/default.nix +++ b/pkgs/servers/dns/acme-dns/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/servers/dns/doh-proxy-rust/default.nix b/pkgs/servers/dns/doh-proxy-rust/default.nix index 5de2732b186a4..2dcb7c06d16a5 100644 --- a/pkgs/servers/dns/doh-proxy-rust/default.nix +++ b/pkgs/servers/dns/doh-proxy-rust/default.nix @@ -1,4 +1,12 @@ -{ lib, rustPlatform, fetchCrate, stdenv, Security, libiconv, nixosTests }: +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + Security, + libiconv, + nixosTests, +}: rustPlatform.buildRustPackage rec { pname = "doh-proxy-rust"; @@ -12,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-eXPAn2ziSdciZa6YrOIa7y7Lms681X+yVAD9HrvsZHg="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security libiconv ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Security + libiconv + ]; passthru.tests = { inherit (nixosTests) doh-proxy-rust; }; diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix index 315a1e3aaf0d1..c5b58811e7e4d 100644 --- a/pkgs/servers/dns/knot-resolver/default.nix +++ b/pkgs/servers/dns/knot-resolver/default.nix @@ -1,137 +1,197 @@ -{ lib, stdenv, fetchurl -# native deps. -, runCommand, pkg-config, meson, ninja, makeWrapper -# build+runtime deps. -, knot-dns, luajitPackages, libuv, gnutls, lmdb -, jemalloc, systemd, libcap_ng, dns-root-data, nghttp2 # optionals, in principle -, fstrm, protobufc # more optionals -# test-only deps. -, cmocka, which, cacert -, extraFeatures ? false /* catch-all if defaults aren't enough */ +{ + lib, + stdenv, + fetchurl, + # native deps. + runCommand, + pkg-config, + meson, + ninja, + makeWrapper, + # build+runtime deps. + knot-dns, + luajitPackages, + libuv, + gnutls, + lmdb, + jemalloc, + systemd, + libcap_ng, + dns-root-data, + nghttp2, # optionals, in principle + fstrm, + protobufc, # more optionals + # test-only deps. + cmocka, + which, + cacert, + extraFeatures ? false, # catch-all if defaults aren't enough }: let # un-indented, over the whole file -result = if extraFeatures then wrapped-full else unwrapped; + result = if extraFeatures then wrapped-full else unwrapped; -inherit (lib) optional optionals optionalString; -lua = luajitPackages; + inherit (lib) optional optionals optionalString; + lua = luajitPackages; -unwrapped = stdenv.mkDerivation rec { - pname = "knot-resolver"; - version = "5.7.4"; + unwrapped = stdenv.mkDerivation rec { + pname = "knot-resolver"; + version = "5.7.4"; - src = fetchurl { - url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz"; - hash = "sha256-a22m7PBoKAQa+tRN+iJ3gfCuNK0YOmZwCFCTVdGL2cg="; - }; + src = fetchurl { + url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz"; + hash = "sha256-a22m7PBoKAQa+tRN+iJ3gfCuNK0YOmZwCFCTVdGL2cg="; + }; + + outputs = [ + "out" + "dev" + ]; + + # Path fixups for the NixOS service. + postPatch = + '' + patch meson.build < daemon/lua/trust_anchors.test/bootstrap.test.lua + sed -E '/^[[:blank:]]*test_(dstaddr|headers),?$/d' -i \ + tests/config/doh2.test.lua modules/http/http_doh.test.lua + ''; + + preConfigure = '' + patchShebangs scripts/ + ''; + + nativeBuildInputs = [ + pkg-config + meson + ninja + ]; - outputs = [ "out" "dev" ]; - - # Path fixups for the NixOS service. - postPatch = '' - patch meson.build < daemon/lua/trust_anchors.test/bootstrap.test.lua - sed -E '/^[[:blank:]]*test_(dstaddr|headers),?$/d' -i \ - tests/config/doh2.test.lua modules/http/http_doh.test.lua - ''; - - preConfigure = '' - patchShebangs scripts/ - ''; - - nativeBuildInputs = [ pkg-config meson ninja ]; - - # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements - buildInputs = [ knot-dns lua.lua libuv gnutls lmdb ] - ## the rest are optional dependencies - ++ optionals stdenv.hostPlatform.isLinux [ /*lib*/systemd libcap_ng ] - ++ [ jemalloc nghttp2 ] - ++ [ fstrm protobufc ] # dnstap support + # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements + buildInputs = + [ + knot-dns + lua.lua + libuv + gnutls + lmdb + ] + ## the rest are optional dependencies + ++ optionals stdenv.hostPlatform.isLinux [ + # lib + systemd + libcap_ng + ] + ++ [ + jemalloc + nghttp2 + ] + ++ [ + fstrm + protobufc + ] # dnstap support ; - mesonFlags = [ - "-Dkeyfile_default=${dns-root-data}/root.ds" - "-Droot_hints=${dns-root-data}/root.hints" - "-Dinstall_kresd_conf=disabled" # not really useful; examples are inside share/doc/ - "-Dmalloc=jemalloc" - "--default-library=static" # not used by anyone - ] - ++ optional doInstallCheck "-Dunit_tests=enabled" - ++ optional doInstallCheck "-Dconfig_tests=enabled" - ++ optional stdenv.hostPlatform.isLinux "-Dsystemd_files=enabled" # used by NixOS service + mesonFlags = + [ + "-Dkeyfile_default=${dns-root-data}/root.ds" + "-Droot_hints=${dns-root-data}/root.hints" + "-Dinstall_kresd_conf=disabled" # not really useful; examples are inside share/doc/ + "-Dmalloc=jemalloc" + "--default-library=static" # not used by anyone + ] + ++ optional doInstallCheck "-Dunit_tests=enabled" + ++ optional doInstallCheck "-Dconfig_tests=enabled" + ++ optional stdenv.hostPlatform.isLinux "-Dsystemd_files=enabled" # used by NixOS service #"-Dextra_tests=enabled" # not suitable as in-distro tests; many deps, too. - ; - - postInstall = '' - rm "$out"/lib/libkres.a - rm "$out"/lib/knot-resolver/upgrade-4-to-5.lua # not meaningful on NixOS - '' + optionalString stdenv.hostPlatform.isLinux '' - rm -r "$out"/lib/sysusers.d/ # ATM more likely to harm than help - ''; - - doInstallCheck = with stdenv; hostPlatform == buildPlatform; - nativeInstallCheckInputs = [ cmocka which cacert lua.cqueues lua.basexx lua.http ]; - installCheckPhase = '' - meson test --print-errorlogs --no-suite snowflake - ''; - - meta = with lib; { - description = "Caching validating DNS resolver, from .cz domain registry"; - homepage = "https://knot-resolver.cz"; - license = licenses.gpl3Plus; - platforms = platforms.unix; - maintainers = [ maintainers.vcunat /* upstream developer */ ]; - mainProgram = "kresd"; - }; -}; - -wrapped-full = runCommand unwrapped.name - { - nativeBuildInputs = [ makeWrapper ]; - buildInputs = with luajitPackages; [ - # For http module, prefill module, trust anchor bootstrap. - # It brings lots of deps; some are useful elsewhere (e.g. cqueues). - http - # used by policy.slice_randomize_psl() - psl + ; + + postInstall = + '' + rm "$out"/lib/libkres.a + rm "$out"/lib/knot-resolver/upgrade-4-to-5.lua # not meaningful on NixOS + '' + + optionalString stdenv.hostPlatform.isLinux '' + rm -r "$out"/lib/sysusers.d/ # ATM more likely to harm than help + ''; + + doInstallCheck = with stdenv; hostPlatform == buildPlatform; + nativeInstallCheckInputs = [ + cmocka + which + cacert + lua.cqueues + lua.basexx + lua.http ]; - preferLocalBuild = true; - allowSubstitutes = false; - inherit (unwrapped) meta; - } - ('' - mkdir -p "$out"/bin - makeWrapper '${unwrapped}/bin/kresd' "$out"/bin/kresd \ - --set LUA_PATH "$LUA_PATH" \ - --set LUA_CPATH "$LUA_CPATH" - - ln -sr '${unwrapped}/share' "$out"/ - ln -sr '${unwrapped}/lib' "$out"/ # useful in NixOS service - ln -sr "$out"/{bin,sbin} - '' + lib.optionalString unwrapped.doInstallCheck '' - echo "Checking that 'http' module loads, i.e. lua search paths work:" - echo "modules.load('http')" > test-http.lua - echo -e 'quit()' | env -i "$out"/bin/kresd -a 127.0.0.1#53535 -c test-http.lua - ''); - -in result + installCheckPhase = '' + meson test --print-errorlogs --no-suite snowflake + ''; + + meta = with lib; { + description = "Caching validating DNS resolver, from .cz domain registry"; + homepage = "https://knot-resolver.cz"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ + maintainers.vcunat # upstream developer + ]; + mainProgram = "kresd"; + }; + }; + + wrapped-full = + runCommand unwrapped.name + { + nativeBuildInputs = [ makeWrapper ]; + buildInputs = with luajitPackages; [ + # For http module, prefill module, trust anchor bootstrap. + # It brings lots of deps; some are useful elsewhere (e.g. cqueues). + http + # used by policy.slice_randomize_psl() + psl + ]; + preferLocalBuild = true; + allowSubstitutes = false; + inherit (unwrapped) meta; + } + ( + '' + mkdir -p "$out"/bin + makeWrapper '${unwrapped}/bin/kresd' "$out"/bin/kresd \ + --set LUA_PATH "$LUA_PATH" \ + --set LUA_CPATH "$LUA_CPATH" + + ln -sr '${unwrapped}/share' "$out"/ + ln -sr '${unwrapped}/lib' "$out"/ # useful in NixOS service + ln -sr "$out"/{bin,sbin} + '' + + lib.optionalString unwrapped.doInstallCheck '' + echo "Checking that 'http' module loads, i.e. lua search paths work:" + echo "modules.load('http')" > test-http.lua + echo -e 'quit()' | env -i "$out"/bin/kresd -a 127.0.0.1#53535 -c test-http.lua + '' + ); + +in +result diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix index 5500ee30d7478..0a126b1d99fe0 100644 --- a/pkgs/servers/elasticmq-server-bin/default.nix +++ b/pkgs/servers/elasticmq-server-bin/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, jdk, jre, makeBinaryWrapper, runCommand, python3Packages, writeText }: +{ + lib, + stdenv, + fetchurl, + jdk, + jre, + makeBinaryWrapper, + runCommand, + python3Packages, + writeText, +}: stdenv.mkDerivation (finalAttrs: { pname = "elasticmq-server"; diff --git a/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix b/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix index 044b745089825..bd7f43c86893e 100644 --- a/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix +++ b/pkgs/servers/elasticmq-server-bin/elasticmq-test.nix @@ -1,47 +1,60 @@ -{ elasticmq-server, python3Packages, runCommand, writeText}: +{ + elasticmq-server, + python3Packages, + runCommand, + writeText, +}: -runCommand "${elasticmq-server.name}-tests" (let - commonPy = '' - import boto3 - client = boto3.resource( - "sqs", - endpoint_url="http://localhost:9324", - region_name="elasticmq", - aws_secret_access_key="x", - aws_access_key_id="x", - use_ssl=False, - ) - queue = client.get_queue_by_name(QueueName="foobar") - ''; -in { - buildInputs = with python3Packages; [ python boto3 ]; - emqConfig = writeText "emq-test.conf" '' - generate-node-address = true +runCommand "${elasticmq-server.name}-tests" + ( + let + commonPy = '' + import boto3 + client = boto3.resource( + "sqs", + endpoint_url="http://localhost:9324", + region_name="elasticmq", + aws_secret_access_key="x", + aws_access_key_id="x", + use_ssl=False, + ) + queue = client.get_queue_by_name(QueueName="foobar") + ''; + in + { + buildInputs = with python3Packages; [ + python + boto3 + ]; + emqConfig = writeText "emq-test.conf" '' + generate-node-address = true - queues { - foobar {} + queues { + foobar {} + } + ''; + putMessagePy = writeText "put_message.py" '' + ${commonPy} + queue.send_message(MessageBody="bazqux") + ''; + checkMessagePy = writeText "check_message.py" '' + ${commonPy} + messages = queue.receive_messages() + print(f"Received {messages!r}") + assert len(messages) == 1 + assert messages[0].body == "bazqux" + ''; } - ''; - putMessagePy = writeText "put_message.py" '' - ${commonPy} - queue.send_message(MessageBody="bazqux") - ''; - checkMessagePy = writeText "check_message.py" '' - ${commonPy} - messages = queue.receive_messages() - print(f"Received {messages!r}") - assert len(messages) == 1 - assert messages[0].body == "bazqux" - ''; -}) '' - JAVA_TOOL_OPTIONS="-Dconfig.file=$emqConfig" ${elasticmq-server}/bin/elasticmq-server & - SERVER_PID=$! - sleep 10 + ) + '' + JAVA_TOOL_OPTIONS="-Dconfig.file=$emqConfig" ${elasticmq-server}/bin/elasticmq-server & + SERVER_PID=$! + sleep 10 - python $putMessagePy - python $checkMessagePy - touch $out + python $putMessagePy + python $checkMessagePy + touch $out - # needed on darwin - kill $SERVER_PID -'' + # needed on darwin + kill $SERVER_PID + '' diff --git a/pkgs/servers/etcd/3.4.nix b/pkgs/servers/etcd/3.4.nix index 597cad35021b8..ee7b4919f194b 100644 --- a/pkgs/servers/etcd/3.4.nix +++ b/pkgs/servers/etcd/3.4.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "etcd"; diff --git a/pkgs/servers/etcd/3.5/default.nix b/pkgs/servers/etcd/3.5/default.nix index 090ae82e12725..6ee0b49c888c8 100644 --- a/pkgs/servers/etcd/3.5/default.nix +++ b/pkgs/servers/etcd/3.5/default.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, symlinkJoin, nixosTests, k3s }: +{ + lib, + buildGoModule, + fetchFromGitHub, + symlinkJoin, + nixosTests, + k3s, +}: let version = "3.5.16"; @@ -27,7 +34,12 @@ let etcdserver = buildGoModule rec { pname = "etcdserver"; - inherit CGO_ENABLED meta src version; + inherit + CGO_ENABLED + meta + src + version + ; vendorHash = etcdServerVendorHash; @@ -47,7 +59,12 @@ let etcdutl = buildGoModule rec { pname = "etcdutl"; - inherit CGO_ENABLED meta src version; + inherit + CGO_ENABLED + meta + src + version + ; vendorHash = etcdUtlVendorHash; @@ -57,7 +74,12 @@ let etcdctl = buildGoModule rec { pname = "etcdctl"; - inherit CGO_ENABLED meta src version; + inherit + CGO_ENABLED + meta + src + version + ; vendorHash = etcdCtlVendorHash; diff --git a/pkgs/servers/fedigroups/default.nix b/pkgs/servers/fedigroups/default.nix index 764dee9ff4b16..83e53c195fcf9 100644 --- a/pkgs/servers/fedigroups/default.nix +++ b/pkgs/servers/fedigroups/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitea -, rustPlatform -, pkg-config -, git -, openssl -, Security +{ + lib, + stdenv, + fetchFromGitea, + rustPlatform, + pkg-config, + git, + openssl, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/servers/felix/default.nix b/pkgs/servers/felix/default.nix index 5a16812cb5b6d..186b97d710e8b 100644 --- a/pkgs/servers/felix/default.nix +++ b/pkgs/servers/felix/default.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl}: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "apache-felix"; @@ -7,8 +11,7 @@ stdenv.mkDerivation rec { url = "mirror://apache/felix/org.apache.felix.main.distribution-${version}.tar.gz"; sha256 = "sha256-N9mbkIzMkMV2RLONv15EiosJxMU9iEJvwPWEauPIEe8="; }; - buildCommand = - '' + buildCommand = '' tar xfvz $src cd felix-framework-* mkdir -p $out diff --git a/pkgs/servers/felix/remoteshell.nix b/pkgs/servers/felix/remoteshell.nix index 2fe628db0466b..7d8bbdf5b197e 100644 --- a/pkgs/servers/felix/remoteshell.nix +++ b/pkgs/servers/felix/remoteshell.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { version = "1.1.2"; @@ -7,8 +7,7 @@ stdenv.mkDerivation rec { url = "http://apache.proserve.nl/felix/org.apache.felix.shell.remote-${version}.jar"; sha256 = "147zw5ppn98wfl3pr32isyb267xm3gwsvdfdvjr33m9g2v1z69aq"; }; - buildCommand = - '' + buildCommand = '' mkdir -p $out/bundle cp ${src} $out/bundle/org.apache.felix.shell.remote-${version}.jar ''; diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix index 966069e6ed6e1..95b4aeddcedf2 100644 --- a/pkgs/servers/foundationdb/default.nix +++ b/pkgs/servers/foundationdb/default.nix @@ -1,18 +1,31 @@ -{ gccStdenv, llvmPackages -, lib, fetchFromGitHub, fetchpatch +{ + gccStdenv, + llvmPackages, + lib, + fetchFromGitHub, + fetchpatch, -, cmake, ninja, python3, openjdk8, mono, openssl, boost178 -, pkg-config, msgpack-cxx, toml11 + cmake, + ninja, + python3, + openjdk8, + mono, + openssl, + boost178, + pkg-config, + msgpack-cxx, + toml11, }@args: let cmakeBuild = import ./cmake.nix args; -in { +in +{ foundationdb71 = cmakeBuild { version = "7.1.32"; - hash = "sha256-CNJ4w1ECadj2KtcfbBPBQpXQeq9BAiw54hUgRTWPFzY="; - boost = boost178; - ssl = openssl; + hash = "sha256-CNJ4w1ECadj2KtcfbBPBQpXQeq9BAiw54hUgRTWPFzY="; + boost = boost178; + ssl = openssl; patches = [ ./patches/disable-flowbench.patch diff --git a/pkgs/servers/foundationdb/python.nix b/pkgs/servers/foundationdb/python.nix index 29d1f0906df74..152f704ee1473 100644 --- a/pkgs/servers/foundationdb/python.nix +++ b/pkgs/servers/foundationdb/python.nix @@ -1,4 +1,8 @@ -{ buildPythonPackage, lib, foundationdb }: +{ + buildPythonPackage, + lib, + foundationdb, +}: buildPythonPackage { pname = "foundationdb"; @@ -16,9 +20,8 @@ buildPythonPackage { meta = with lib; { description = "Python bindings for FoundationDB"; - homepage = "https://www.foundationdb.org"; - license = with licenses; [ asl20 ]; + homepage = "https://www.foundationdb.org"; + license = with licenses; [ asl20 ]; maintainers = with maintainers; [ thoughtpolice ]; }; } - diff --git a/pkgs/servers/gemini/stargazer/default.nix b/pkgs/servers/gemini/stargazer/default.nix index 3bc5bc00632c2..da7a432d2375d 100644 --- a/pkgs/servers/gemini/stargazer/default.nix +++ b/pkgs/servers/gemini/stargazer/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromSourcehut -, rustPlatform -, installShellFiles -, scdoc -, nixosTests -, nix-update-script +{ + lib, + fetchFromSourcehut, + rustPlatform, + installShellFiles, + scdoc, + nixosTests, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -25,7 +26,10 @@ rustPlatform.buildRustPackage rec { updateScript = nix-update-script { }; }; - nativeBuildInputs = [ installShellFiles scdoc ]; + nativeBuildInputs = [ + installShellFiles + scdoc + ]; postInstall = '' scdoc < doc/stargazer.scd > stargazer.1 diff --git a/pkgs/servers/geospatial/martin/default.nix b/pkgs/servers/geospatial/martin/default.nix index dbd1c527ef6a9..f23ea254a336d 100644 --- a/pkgs/servers/geospatial/martin/default.nix +++ b/pkgs/servers/geospatial/martin/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, Security, SystemConfiguration }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + Security, + SystemConfiguration, +}: rustPlatform.buildRustPackage rec { pname = "martin"; @@ -15,7 +24,12 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; checkFlags = [ "--skip function_source_schemas" @@ -50,7 +64,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Blazing fast and lightweight PostGIS vector tiles server"; homepage = "https://martin.maplibre.org/"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ sikmir ]; }; } diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix index 245f26434cef6..3b71f1033474b 100644 --- a/pkgs/servers/gpm/default.nix +++ b/pkgs/servers/gpm/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, flex, bison, texinfo, fetchpatch, pkgsStatic -, withNcurses ? true, ncurses +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + libtool, + flex, + bison, + texinfo, + fetchpatch, + pkgsStatic, + withNcurses ? true, + ncurses, }: stdenv.mkDerivation rec { @@ -17,13 +29,21 @@ stdenv.mkDerivation rec { substituteInPlace src/prog/gpm-root.y --replace __sigemptyset sigemptyset ''; - nativeBuildInputs = [ automake autoconf libtool flex bison texinfo ]; + nativeBuildInputs = [ + automake + autoconf + libtool + flex + bison + texinfo + ]; buildInputs = [ ncurses ]; hardeningDisable = [ "format" ]; patches = [ - (fetchpatch { # pull request telmich/gpm#42 + (fetchpatch { + # pull request telmich/gpm#42 url = "https://github.com/kaction/gpm/commit/217b4fe4c9b62298a4e9a54c1f07e3b52b013a09.patch"; sha256 = "1f74h12iph4z1dldbxk9imcq11805c3ai2xhbsqvx8jpjrcfp19q"; }) diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix index 93afa6d5e19f0..be4396a2d56bf 100644 --- a/pkgs/servers/hbase/default.nix +++ b/pkgs/servers/hbase/default.nix @@ -1,40 +1,48 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jdk11_headless -, nixosTests +{ + lib, + stdenv, + fetchurl, + makeWrapper, + jdk11_headless, + nixosTests, }: -let common = { version, hash, jdk ? jdk11_headless, tests }: - stdenv.mkDerivation rec { - pname = "hbase"; - inherit version; +let + common = + { + version, + hash, + jdk ? jdk11_headless, + tests, + }: + stdenv.mkDerivation rec { + pname = "hbase"; + inherit version; - src = fetchurl { - url = "mirror://apache/hbase/${version}/hbase-${version}-bin.tar.gz"; - inherit hash; - }; + src = fetchurl { + url = "mirror://apache/hbase/${version}/hbase-${version}-bin.tar.gz"; + inherit hash; + }; - nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out - cp -R * $out - wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} \ - --run "test -d /etc/hadoop-conf && export HBASE_CONF_DIR=\''${HBASE_CONF_DIR-'/etc/hadoop-conf/'}" \ - --set-default HBASE_CONF_DIR "$out/conf/" - ''; + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out + cp -R * $out + wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} \ + --run "test -d /etc/hadoop-conf && export HBASE_CONF_DIR=\''${HBASE_CONF_DIR-'/etc/hadoop-conf/'}" \ + --set-default HBASE_CONF_DIR "$out/conf/" + ''; - passthru = { inherit tests; }; + passthru = { inherit tests; }; - meta = with lib; { - description = "Distributed, scalable, big data store"; - homepage = "https://hbase.apache.org"; - license = licenses.asl20; - maintainers = with lib.maintainers; [ illustris ]; - platforms = lib.platforms.linux; + meta = with lib; { + description = "Distributed, scalable, big data store"; + homepage = "https://hbase.apache.org"; + license = licenses.asl20; + maintainers = with lib.maintainers; [ illustris ]; + platforms = lib.platforms.linux; + }; }; - }; in { hbase_2_4 = common { diff --git a/pkgs/servers/hockeypuck/server.nix b/pkgs/servers/hockeypuck/server.nix index 4a59ebe77463e..deb5a52ee2005 100644 --- a/pkgs/servers/hockeypuck/server.nix +++ b/pkgs/servers/hockeypuck/server.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: let sources = (import ./sources.nix) { inherit fetchFromGitHub; }; diff --git a/pkgs/servers/hockeypuck/web.nix b/pkgs/servers/hockeypuck/web.nix index 32f2b1acd22e1..2d6a75975ad43 100644 --- a/pkgs/servers/hockeypuck/web.nix +++ b/pkgs/servers/hockeypuck/web.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, nixosTests }: +{ + stdenv, + lib, + fetchFromGitHub, + nixosTests, +}: let sources = (import ./sources.nix) { inherit fetchFromGitHub; }; diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix index c2bb51cc14a01..00bc9aa07967d 100644 --- a/pkgs/servers/home-assistant/appdaemon.nix +++ b/pkgs/servers/home-assistant/appdaemon.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/servers/home-assistant/build-custom-component/default.nix b/pkgs/servers/home-assistant/build-custom-component/default.nix index dc2663e8f7246..ccc869c52c226 100644 --- a/pkgs/servers/home-assistant/build-custom-component/default.nix +++ b/pkgs/servers/home-assistant/build-custom-component/default.nix @@ -1,13 +1,15 @@ -{ lib -, home-assistant -, makeSetupHook +{ + lib, + home-assistant, + makeSetupHook, }: -{ owner -, domain -, version -, format ? "other" -, ... +{ + owner, + domain, + version, + format ? "other", + ... }@args: let @@ -33,11 +35,14 @@ home-assistant.python.pkgs.buildPythonPackage ( runHook postInstall ''; - nativeCheckInputs = with home-assistant.python.pkgs; [ - importlib-metadata - manifestRequirementsCheckHook - packaging - ] ++ (args.nativeCheckInputs or []); + nativeCheckInputs = + with home-assistant.python.pkgs; + [ + importlib-metadata + manifestRequirementsCheckHook + packaging + ] + ++ (args.nativeCheckInputs or [ ]); passthru = { isHomeAssistantComponent = true; @@ -47,5 +52,10 @@ home-assistant.python.pkgs.buildPythonPackage ( inherit (home-assistant.meta) platforms; } // args.meta or { }; - } // builtins.removeAttrs args [ "meta" "nativeCheckInputs" "passthru" ] + } + // builtins.removeAttrs args [ + "meta" + "nativeCheckInputs" + "passthru" + ] ) diff --git a/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.nix b/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.nix index 76317c9d0bc8d..ada031db22e6b 100644 --- a/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.nix +++ b/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.nix @@ -1,5 +1,6 @@ -{ python -, makeSetupHook +{ + python, + makeSetupHook, }: makeSetupHook { diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index af28371ac6d1a..9279b53b6da49 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -4,5060 +4,6377 @@ { version = "2024.11.3"; components = { - "3_day_blinds" = ps: with ps; [ - ]; - "abode" = ps: with ps; [ - jaraco-abode - ]; - "accuweather" = ps: with ps; [ - accuweather - ]; - "acer_projector" = ps: with ps; [ - pyserial - ]; - "acmeda" = ps: with ps; [ - aiopulse - ]; - "acomax" = ps: with ps; [ - ]; - "actiontec" = ps: with ps; [ - ]; - "adax" = ps: with ps; [ - adax - adax-local - ]; - "adguard" = ps: with ps; [ - adguardhome - ]; - "ads" = ps: with ps; [ - pyads - ]; - "advantage_air" = ps: with ps; [ - advantage-air - ]; - "aemet" = ps: with ps; [ - aemet-opendata - ]; - "aep_ohio" = ps: with ps; [ - ]; - "aep_texas" = ps: with ps; [ - ]; - "aftership" = ps: with ps; [ - pyaftership - ]; - "agent_dvr" = ps: with ps; [ - agent-py - ]; - "air_quality" = ps: with ps; [ - ]; - "airgradient" = ps: with ps; [ - airgradient - ]; - "airly" = ps: with ps; [ - airly - ]; - "airnow" = ps: with ps; [ - pyairnow - ]; - "airq" = ps: with ps; [ - aioairq - ]; - "airthings" = ps: with ps; [ - airthings-cloud - ]; - "airthings_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - airthings-ble - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "airtouch4" = ps: with ps; [ - airtouch4pyapi - ]; - "airtouch5" = ps: with ps; [ - airtouch5py - ]; - "airvisual" = ps: with ps; [ - pyairvisual - ]; - "airvisual_pro" = ps: with ps; [ - pyairvisual - ]; - "airzone" = ps: with ps; [ - aioairzone - ]; - "airzone_cloud" = ps: with ps; [ - aioairzone-cloud - ]; - "aladdin_connect" = ps: with ps; [ - ]; - "alarm_control_panel" = ps: with ps; [ - ]; - "alarmdecoder" = ps: with ps; [ - adext - ]; - "alert" = ps: with ps; [ - ]; - "alexa" = ps: with ps; [ - pyturbojpeg - ]; - "alpha_vantage" = ps: with ps; [ - alpha-vantage - ]; - "amazon_polly" = ps: with ps; [ - boto3 - ]; - "amberelectric" = ps: with ps; [ - amberelectric - ]; - "ambient_network" = ps: with ps; [ - aioambient - ]; - "ambient_station" = ps: with ps; [ - aioambient - ]; - "amcrest" = ps: with ps; [ - amcrest - ha-ffmpeg - ]; - "amp_motorization" = ps: with ps; [ - ]; - "ampio" = ps: with ps; [ - asmog - ]; - "analytics" = ps: with ps; [ - aiohasupervisor - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "analytics_insights" = ps: with ps; [ - python-homeassistant-analytics - ]; - "android_ip_webcam" = ps: with ps; [ - pydroid-ipcam - ]; - "androidtv" = ps: with ps; [ - adb-shell - androidtv - pure-python-adb - ] - ++ adb-shell.optional-dependencies.async - ++ androidtv.optional-dependencies.async - ++ pure-python-adb.optional-dependencies.async; - "androidtv_remote" = ps: with ps; [ - androidtvremote2 - ]; - "anel_pwrctrl" = ps: with ps; [ - anel-pwrctrl-homeassistant - ]; - "anova" = ps: with ps; [ - anova-wifi - ]; - "anthemav" = ps: with ps; [ - anthemav - ]; - "anthropic" = ps: with ps; [ - anthropic - ha-ffmpeg - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - ]; - "anwb_energie" = ps: with ps; [ - ]; - "aosmith" = ps: with ps; [ - py-aosmith - ]; - "apache_kafka" = ps: with ps; [ - aiokafka - ]; - "apcupsd" = ps: with ps; [ - aioapcaccess - ]; - "api" = ps: with ps; [ - ]; - "appalachianpower" = ps: with ps; [ - ]; - "apple_tv" = ps: with ps; [ - ifaddr - pyatv - zeroconf - ]; - "application_credentials" = ps: with ps; [ - ]; - "apprise" = ps: with ps; [ - apprise - ]; - "aprilaire" = ps: with ps; [ - pyaprilaire - ]; - "aprs" = ps: with ps; [ - aprslib - geopy - ]; - "aps" = ps: with ps; [ - ]; - "apsystems" = ps: with ps; [ - apsystems-ez1 - ]; - "aquacell" = ps: with ps; [ - aioaquacell - ifaddr - ]; - "aqualogic" = ps: with ps; [ - aqualogic - ]; - "aquostv" = ps: with ps; [ - sharp-aquos-rc - ]; - "aranet" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - aranet4 - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "arcam_fmj" = ps: with ps; [ - arcam-fmj - ]; - "arest" = ps: with ps; [ - ]; - "arris_tg2492lg" = ps: with ps; [ - arris-tg2492lg - ]; - "artsound" = ps: with ps; [ - ]; - "aruba" = ps: with ps; [ - pexpect - ]; - "arve" = ps: with ps; [ - asyncarve - ]; - "arwn" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "aseko_pool_live" = ps: with ps; [ - aioaseko - ]; - "assist_pipeline" = ps: with ps; [ - ha-ffmpeg - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - ]; - "assist_satellite" = ps: with ps; [ - ha-ffmpeg - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - ]; - "asuswrt" = ps: with ps; [ - aioasuswrt - pyasuswrt - ]; - "atag" = ps: with ps; [ - pyatag - ]; - "aten_pe" = ps: with ps; [ - atenpdu - ]; - "atlanticcityelectric" = ps: with ps; [ - ]; - "atome" = ps: with ps; [ - pyatome - ]; - "august" = ps: with ps; [ - yalexs - yalexs-ble - ]; - "august_ble" = ps: with ps; [ - ]; - "aurora" = ps: with ps; [ - auroranoaa - ]; - "aurora_abb_powerone" = ps: with ps; [ - aurorapy - ]; - "aussie_broadband" = ps: with ps; [ - pyaussiebb - ]; - "autarco" = ps: with ps; [ - autarco - ]; - "auth" = ps: with ps; [ - ]; - "automation" = ps: with ps; [ - ]; - "avea" = ps: with ps; [ - avea - ]; - "avion" = ps: with ps; [ - avion - ]; - "awair" = ps: with ps; [ - python-awair - ]; - "aws" = ps: with ps; [ - aiobotocore - botocore - ]; - "axis" = ps: with ps; [ - aiohasupervisor - axis - paho-mqtt_1 - ]; - "azure_data_explorer" = ps: with ps; [ - azure-kusto-data - azure-kusto-ingest - ] - ++ azure-kusto-data.optional-dependencies.aio; - "azure_devops" = ps: with ps; [ - aioazuredevops - ]; - "azure_event_hub" = ps: with ps; [ - azure-eventhub - ]; - "azure_service_bus" = ps: with ps; [ - azure-servicebus - ]; - "backup" = ps: with ps; [ - securetar - ]; - "baf" = ps: with ps; [ - aiobafi6 - ]; - "baidu" = ps: with ps; [ - ]; # missing inputs: baidu-aip - "balboa" = ps: with ps; [ - pybalboa - ]; - "bang_olufsen" = ps: with ps; [ - mozart-api - ]; - "bayesian" = ps: with ps; [ - ]; - "bbox" = ps: with ps; [ - ]; # missing inputs: pybbox - "beewi_smartclim" = ps: with ps; [ - ]; # missing inputs: beewi-smartclim - "bge" = ps: with ps; [ - ]; - "binary_sensor" = ps: with ps; [ - ]; - "bitcoin" = ps: with ps; [ - blockchain - ]; - "bizkaibus" = ps: with ps; [ - bizkaibus - ]; - "blackbird" = ps: with ps; [ - pyblackbird - ]; - "blebox" = ps: with ps; [ - blebox-uniapi - ]; - "blink" = ps: with ps; [ - blinkpy - ]; - "bliss_automation" = ps: with ps; [ - ]; - "bloc_blinds" = ps: with ps; [ - ]; - "blockchain" = ps: with ps; [ - ]; # missing inputs: python-blockchain-api - "blue_current" = ps: with ps; [ - bluecurrent-api - ]; - "bluemaestro" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluemaestro-ble - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "blueprint" = ps: with ps; [ - ]; - "bluesound" = ps: with ps; [ - ifaddr - pyblu - zeroconf - ]; - "bluetooth" = ps: with ps; [ - bleak - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - habluetooth - pyserial - pyudev - ]; - "bluetooth_adapters" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "bluetooth_le_tracker" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "bluetooth_tracker" = ps: with ps; [ - bt-proximity - pybluez - ]; - "bmw_connected_drive" = ps: with ps; [ - bimmer-connected - ] - ++ bimmer-connected.optional-dependencies.china; - "bond" = ps: with ps; [ - bond-async - ]; - "bosch_shc" = ps: with ps; [ - boschshcpy - ifaddr - zeroconf - ]; - "brandt" = ps: with ps; [ - ]; - "braviatv" = ps: with ps; [ - pybravia - ]; - "brel_home" = ps: with ps; [ - ]; - "bring" = ps: with ps; [ - bring-api - ]; - "broadlink" = ps: with ps; [ - broadlink - ]; - "brother" = ps: with ps; [ - brother - pysnmp - ]; - "brottsplatskartan" = ps: with ps; [ - brottsplatskartan - ]; - "browser" = ps: with ps; [ - ]; - "brunt" = ps: with ps; [ - brunt - ]; - "bryant_evolution" = ps: with ps; [ - evolutionhttp - ]; - "bsblan" = ps: with ps; [ - python-bsblan - ]; - "bswitch" = ps: with ps; [ - ]; - "bt_home_hub_5" = ps: with ps; [ - bthomehub5-devicelist - ]; - "bt_smarthub" = ps: with ps; [ - btsmarthub-devicelist - ]; - "bthome" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - bthome-ble - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "bticino" = ps: with ps; [ - ]; - "bubendorff" = ps: with ps; [ - ]; - "buienradar" = ps: with ps; [ - buienradar - ]; - "button" = ps: with ps; [ - ]; - "caldav" = ps: with ps; [ - caldav - ]; - "calendar" = ps: with ps; [ - ]; - "cambridge_audio" = ps: with ps; [ - aiostreammagic - ]; - "camera" = ps: with ps; [ - pyturbojpeg - ]; - "canary" = ps: with ps; [ - ha-ffmpeg - py-canary - ]; - "cast" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - ifaddr - mutagen - plexapi - plexauth - plexwebsocket - pychromecast - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - zeroconf - ]; - "ccm15" = ps: with ps; [ - py-ccm15 - ]; - "cert_expiry" = ps: with ps; [ - ]; - "chacon_dio" = ps: with ps; [ - dio-chacon-wifi-api - ]; - "channels" = ps: with ps; [ - pychannels - ]; - "cisco_ios" = ps: with ps; [ - pexpect - ]; - "cisco_mobility_express" = ps: with ps; [ - ciscomobilityexpress - ]; - "cisco_webex_teams" = ps: with ps; [ - webexpythonsdk - ]; - "citybikes" = ps: with ps; [ - ]; - "clementine" = ps: with ps; [ - ]; # missing inputs: python-clementine-remote - "clickatell" = ps: with ps; [ - ]; - "clicksend" = ps: with ps; [ - ]; - "clicksend_tts" = ps: with ps; [ - ]; - "climate" = ps: with ps; [ - ]; - "cloud" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "cloudflare" = ps: with ps; [ - pycfdns - ]; - "cmus" = ps: with ps; [ - ]; # missing inputs: pycmus - "co2signal" = ps: with ps; [ - aioelectricitymaps - ]; - "coautilities" = ps: with ps; [ - ]; - "coinbase" = ps: with ps; [ - ]; # missing inputs: coinbase coinbase-advanced-py - "color_extractor" = ps: with ps; [ - colorthief - ]; - "comed" = ps: with ps; [ - ]; - "comed_hourly_pricing" = ps: with ps; [ - ]; - "comelit" = ps: with ps; [ - aiocomelit - ]; - "comfoconnect" = ps: with ps; [ - pycomfoconnect - ]; - "command_line" = ps: with ps; [ - jsonpath - ]; - "compensation" = ps: with ps; [ - numpy_1 - ]; - "concord232" = ps: with ps; [ - ]; # missing inputs: concord232 - "coned" = ps: with ps; [ - ]; - "config" = ps: with ps; [ - ]; - "configurator" = ps: with ps; [ - ]; - "control4" = ps: with ps; [ - pycontrol4 - ]; - "conversation" = ps: with ps; [ - hassil - home-assistant-intents - ]; - "coolmaster" = ps: with ps; [ - pycoolmasternet-async - ]; - "counter" = ps: with ps; [ - ]; - "cover" = ps: with ps; [ - ]; - "cozytouch" = ps: with ps; [ - ]; - "cppm_tracker" = ps: with ps; [ - ]; # missing inputs: clearpasspy - "cpuspeed" = ps: with ps; [ - py-cpuinfo - ]; - "cribl" = ps: with ps; [ - ]; - "crownstone" = ps: with ps; [ - crownstone-cloud - crownstone-sse - crownstone-uart - pyserial - pyudev - ]; - "cups" = ps: with ps; [ - pycups - ]; - "currencylayer" = ps: with ps; [ - ]; - "dacia" = ps: with ps; [ - ]; - "daikin" = ps: with ps; [ - pydaikin - ]; - "danfoss_air" = ps: with ps; [ - pydanfossair - ]; - "datadog" = ps: with ps; [ - datadog - ]; - "date" = ps: with ps; [ - ]; - "datetime" = ps: with ps; [ - ]; - "ddwrt" = ps: with ps; [ - ]; - "deako" = ps: with ps; [ - ifaddr - pydeako - zeroconf - ]; - "debugpy" = ps: with ps; [ - debugpy - ]; - "deconz" = ps: with ps; [ - pydeconz - ]; - "decora" = ps: with ps; [ - bluepy - ]; # missing inputs: decora - "decora_wifi" = ps: with ps; [ - ]; # missing inputs: decora-wifi - "default_config" = ps: with ps; [ - aiodhcpwatcher - aiodiscover - aiohasupervisor - async-upnp-client - av - bleak - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - cached-ipaddress - dbus-fast - fnv-hash-fast - go2rtc-client - ha-ffmpeg - habluetooth - hass-nabucasa - hassil - home-assistant-frontend - home-assistant-intents - ifaddr - mutagen - numpy_1 - pillow - psutil-home-assistant - pymicro-vad - pynacl - pyserial - pyspeex-noise - python-matter-server - pyturbojpeg - pyudev - securetar - sqlalchemy - zeroconf - ]; - "delijn" = ps: with ps; [ - pydelijn - ]; - "delmarva" = ps: with ps; [ - ]; - "deluge" = ps: with ps; [ - deluge-client - ]; - "demo" = ps: with ps; [ - hassil - home-assistant-intents - ]; - "denon" = ps: with ps; [ - ]; - "denonavr" = ps: with ps; [ - denonavr - ]; - "derivative" = ps: with ps; [ - ]; - "devialet" = ps: with ps; [ - devialet - ifaddr - zeroconf - ]; - "device_automation" = ps: with ps; [ - ]; - "device_sun_light_trigger" = ps: with ps; [ - pillow - ]; - "device_tracker" = ps: with ps; [ - ]; - "devolo_home_control" = ps: with ps; [ - devolo-home-control-api - ifaddr - zeroconf - ]; - "devolo_home_network" = ps: with ps; [ - devolo-plc-api - ]; - "dexcom" = ps: with ps; [ - pydexcom - ]; - "dhcp" = ps: with ps; [ - aiodhcpwatcher - aiodiscover - cached-ipaddress - ]; - "diagnostics" = ps: with ps; [ - ]; - "dialogflow" = ps: with ps; [ - ]; - "diaz" = ps: with ps; [ - ]; - "digital_loggers" = ps: with ps; [ - ]; - "digital_ocean" = ps: with ps; [ - python-digitalocean - ]; - "directv" = ps: with ps; [ - directv - ]; - "discogs" = ps: with ps; [ - discogs-client - ]; - "discord" = ps: with ps; [ - nextcord - ]; - "discovergy" = ps: with ps; [ - pydiscovergy - ]; - "dlib_face_detect" = ps: with ps; [ - face-recognition - ]; - "dlib_face_identify" = ps: with ps; [ - face-recognition - ]; - "dlink" = ps: with ps; [ - ]; # missing inputs: pyW215 - "dlna_dmr" = ps: with ps; [ - async-upnp-client - getmac - ifaddr - ]; - "dlna_dms" = ps: with ps; [ - async-upnp-client - ifaddr - ]; - "dnsip" = ps: with ps; [ - aiodns - ]; - "dominos" = ps: with ps; [ - ]; # missing inputs: pizzapi - "doods" = ps: with ps; [ - pillow - pydoods - ]; - "doorbird" = ps: with ps; [ - doorbirdpy - ]; - "dooya" = ps: with ps; [ - ]; - "dormakaba_dkey" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - py-dormakaba-dkey - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "downloader" = ps: with ps; [ - ]; - "dremel_3d_printer" = ps: with ps; [ - dremel3dpy - ]; - "drop_connect" = ps: with ps; [ - aiohasupervisor - dropmqttapi - paho-mqtt_1 - ]; - "dsmr" = ps: with ps; [ - dsmr-parser - ]; - "dsmr_reader" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "dte_energy_bridge" = ps: with ps; [ - ]; - "dublin_bus_transport" = ps: with ps; [ - ]; - "duckdns" = ps: with ps; [ - ]; - "duke_energy" = ps: with ps; [ - aiodukeenergy - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "dunehd" = ps: with ps; [ - pdunehd - ]; - "duotecno" = ps: with ps; [ - pyduotecno - ]; - "duquesne_light" = ps: with ps; [ - ]; - "dwd_weather_warnings" = ps: with ps; [ - dwdwfsapi - ]; - "dweet" = ps: with ps; [ - ]; # missing inputs: dweepy - "dynalite" = ps: with ps; [ - aiohasupervisor - dynalite-devices - dynalite-panel - home-assistant-frontend - pillow - ]; - "eafm" = ps: with ps; [ - aioeafm - ]; - "eastron" = ps: with ps; [ - ]; - "easyenergy" = ps: with ps; [ - easyenergy - ]; - "ebox" = ps: with ps; [ - ]; # missing inputs: pyebox - "ebusd" = ps: with ps; [ - ]; # missing inputs: ebusdpy - "ecoal_boiler" = ps: with ps; [ - ecoaliface - ]; - "ecobee" = ps: with ps; [ - python-ecobee-api - ]; - "ecoforest" = ps: with ps; [ - pyecoforest - ]; - "econet" = ps: with ps; [ - pyeconet - ]; - "ecovacs" = ps: with ps; [ - deebot-client - py-sucks - ]; - "ecowitt" = ps: with ps; [ - aioecowitt - ]; - "eddystone_temperature" = ps: with ps; [ - ]; # missing inputs: beacontools - "edimax" = ps: with ps; [ - pyedimax - ]; - "edl21" = ps: with ps; [ - pysml - ]; - "efergy" = ps: with ps; [ - pyefergy - ]; - "egardia" = ps: with ps; [ - pythonegardia - ]; - "eight_sleep" = ps: with ps; [ - ]; - "electrasmart" = ps: with ps; [ - pyelectra - ]; - "electric_kiwi" = ps: with ps; [ - ]; # missing inputs: electrickiwi-api - "elevenlabs" = ps: with ps; [ - elevenlabs - ]; - "elgato" = ps: with ps; [ - elgato - ]; - "eliqonline" = ps: with ps; [ - eliqonline - ]; - "elkm1" = ps: with ps; [ - elkm1-lib - ifaddr - ]; - "elmax" = ps: with ps; [ - elmax-api - ]; - "elv" = ps: with ps; [ - pypca - ]; - "elvia" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; # missing inputs: elvia - "emby" = ps: with ps; [ - pyemby - ]; - "emoncms" = ps: with ps; [ - pyemoncms - ]; - "emoncms_history" = ps: with ps; [ - ]; - "emonitor" = ps: with ps; [ - aioemonitor - ]; - "emulated_hue" = ps: with ps; [ - ifaddr - ]; - "emulated_kasa" = ps: with ps; [ - sense-energy - ]; - "emulated_roku" = ps: with ps; [ - emulated-roku - ifaddr - ]; - "energenie_power_sockets" = ps: with ps; [ - pyegps - ]; - "energie_vanons" = ps: with ps; [ - ]; - "energy" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "energyzero" = ps: with ps; [ - energyzero - ]; - "enigma2" = ps: with ps; [ - openwebifpy - ]; - "enmax" = ps: with ps; [ - ]; - "enocean" = ps: with ps; [ - enocean - ]; - "enphase_envoy" = ps: with ps; [ - pyenphase - ]; - "entur_public_transport" = ps: with ps; [ - enturclient - ]; - "environment_canada" = ps: with ps; [ - env-canada - ]; - "envisalink" = ps: with ps; [ - pyenvisalink - ]; - "ephember" = ps: with ps; [ - pyephember - ]; - "epic_games_store" = ps: with ps; [ - epicstore-api - ]; - "epion" = ps: with ps; [ - epion - ]; - "epson" = ps: with ps; [ - epson-projector - ]; - "eq3btsmart" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - eq3btsmart - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "escea" = ps: with ps; [ - pescea - ]; - "esera_onewire" = ps: with ps; [ - ]; - "esphome" = ps: with ps; [ - aioesphomeapi - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "etherscan" = ps: with ps; [ - ]; # missing inputs: python-etherscan-api - "eufy" = ps: with ps; [ - lakeside - ]; - "eufylife_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - eufylife-ble-client - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "event" = ps: with ps; [ - ]; - "evergy" = ps: with ps; [ - ]; - "everlights" = ps: with ps; [ - pyeverlights - ]; - "evil_genius_labs" = ps: with ps; [ - pyevilgenius - ]; - "evohome" = ps: with ps; [ - evohome-async - ]; - "ezviz" = ps: with ps; [ - ha-ffmpeg - pyezviz - ]; - "faa_delays" = ps: with ps; [ - faadelays - ]; - "facebook" = ps: with ps; [ - ]; - "fail2ban" = ps: with ps; [ - ]; - "familyhub" = ps: with ps; [ - python-family-hub-local - ]; - "fan" = ps: with ps; [ - ]; - "fastdotcom" = ps: with ps; [ - ]; # missing inputs: fastdotcom - "feedreader" = ps: with ps; [ - feedparser - ]; - "ffmpeg" = ps: with ps; [ - ha-ffmpeg - ]; - "ffmpeg_motion" = ps: with ps; [ - ha-ffmpeg - ]; - "ffmpeg_noise" = ps: with ps; [ - ha-ffmpeg - ]; - "fibaro" = ps: with ps; [ - pyfibaro - ]; - "fido" = ps: with ps; [ - pyfido - ]; - "file" = ps: with ps; [ - file-read-backwards - ]; - "file_upload" = ps: with ps; [ - ]; - "filesize" = ps: with ps; [ - ]; - "filter" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "fints" = ps: with ps; [ - fints - ]; - "fire_tv" = ps: with ps; [ - ]; - "fireservicerota" = ps: with ps; [ - pyfireservicerota - ]; - "firmata" = ps: with ps; [ - pymata-express - ]; - "fitbit" = ps: with ps; [ - fitbit - ]; - "fivem" = ps: with ps; [ - fivem-api - ]; - "fixer" = ps: with ps; [ - fixerio - ]; - "fjaraskupan" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - fjaraskupan - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "fleetgo" = ps: with ps; [ - ritassist - ]; - "flexit" = ps: with ps; [ - pymodbus - ]; - "flexit_bacnet" = ps: with ps; [ - flexit-bacnet - ]; - "flexom" = ps: with ps; [ - ]; - "flic" = ps: with ps; [ - pyflic - ]; - "flick_electric" = ps: with ps; [ - pyflick - ]; - "flipr" = ps: with ps; [ - flipr-api - ]; - "flo" = ps: with ps; [ - aioflo - ]; - "flock" = ps: with ps; [ - ]; - "flume" = ps: with ps; [ - pyflume - ]; - "flux" = ps: with ps; [ - ]; - "flux_led" = ps: with ps; [ - flux-led - ifaddr - ]; - "folder" = ps: with ps; [ - ]; - "folder_watcher" = ps: with ps; [ - watchdog - ]; - "foobot" = ps: with ps; [ - foobot-async - ]; - "forecast_solar" = ps: with ps; [ - forecast-solar - ]; - "forked_daapd" = ps: with ps; [ - spotifyaio - ]; # missing inputs: pyforked-daapd pylibrespot-java - "fortios" = ps: with ps; [ - fortiosapi - ]; - "foscam" = ps: with ps; [ - libpyfoscam - ]; - "foursquare" = ps: with ps; [ - ]; - "free_mobile" = ps: with ps; [ - ]; # missing inputs: freesms - "freebox" = ps: with ps; [ - freebox-api - ha-ffmpeg - ]; - "freedns" = ps: with ps; [ - ]; - "freedompro" = ps: with ps; [ - pyfreedompro - ]; - "fritz" = ps: with ps; [ - fritzconnection - ifaddr - xmltodict - ] - ++ fritzconnection.optional-dependencies.qr; - "fritzbox" = ps: with ps; [ - pyfritzhome - ]; - "fritzbox_callmonitor" = ps: with ps; [ - fritzconnection - ] - ++ fritzconnection.optional-dependencies.qr; - "fronius" = ps: with ps; [ - pyfronius - ]; - "frontend" = ps: with ps; [ - aiohasupervisor - home-assistant-frontend - pillow - ]; - "frontier_silicon" = ps: with ps; [ - afsapi - ]; - "fujitsu_anywair" = ps: with ps; [ - ]; - "fujitsu_fglair" = ps: with ps; [ - ayla-iot-unofficial - ]; - "fully_kiosk" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - python-fullykiosk - ]; - "futurenow" = ps: with ps; [ - pyfnip - ]; - "fyta" = ps: with ps; [ - fyta-cli - ]; - "garadget" = ps: with ps; [ - ]; - "garages_amsterdam" = ps: with ps; [ - odp-amsterdam - ]; - "gardena_bluetooth" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - gardena-bluetooth - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "gaviota" = ps: with ps; [ - ]; - "gc100" = ps: with ps; [ - ]; # missing inputs: python-gc100 - "gdacs" = ps: with ps; [ - aio-georss-gdacs - ]; - "generic" = ps: with ps; [ - av - pillow - ]; - "generic_hygrostat" = ps: with ps; [ - ]; - "generic_thermostat" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "geniushub" = ps: with ps; [ - geniushub-client - ]; - "geo_json_events" = ps: with ps; [ - aio-geojson-generic-client - ]; - "geo_location" = ps: with ps; [ - ]; - "geo_rss_events" = ps: with ps; [ - georss-generic-client - ]; - "geocaching" = ps: with ps; [ - geocachingapi - ]; - "geofency" = ps: with ps; [ - ]; - "geonetnz_quakes" = ps: with ps; [ - aio-geojson-geonetnz-quakes - ]; - "geonetnz_volcano" = ps: with ps; [ - aio-geojson-geonetnz-volcano - ]; - "gios" = ps: with ps; [ - gios - ]; - "github" = ps: with ps; [ - aiogithubapi - ]; - "gitlab_ci" = ps: with ps; [ - python-gitlab - ]; - "gitter" = ps: with ps; [ - ]; # missing inputs: gitterpy - "glances" = ps: with ps; [ - glances-api - ]; - "go2rtc" = ps: with ps; [ - go2rtc-client - pyturbojpeg - ]; - "goalzero" = ps: with ps; [ - goalzero - ]; - "gogogate2" = ps: with ps; [ - ismartgate - ]; - "goodwe" = ps: with ps; [ - goodwe - ]; - "google" = ps: with ps; [ - gcal-sync - ical - oauth2client - ]; - "google_assistant" = ps: with ps; [ - aiohasupervisor - python-matter-server - pyturbojpeg - ]; - "google_assistant_sdk" = ps: with ps; [ - gassist-text - ]; - "google_cloud" = ps: with ps; [ - google-cloud-speech - google-cloud-texttospeech - ]; - "google_generative_ai_conversation" = ps: with ps; [ - google-generativeai - ha-ffmpeg - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - ]; - "google_mail" = ps: with ps; [ - google-api-python-client - ]; - "google_maps" = ps: with ps; [ - locationsharinglib - ]; - "google_photos" = ps: with ps; [ - google-photos-library-api - ]; - "google_pubsub" = ps: with ps; [ - google-cloud-pubsub - ]; - "google_sheets" = ps: with ps; [ - gspread - ]; - "google_tasks" = ps: with ps; [ - google-api-python-client - ]; - "google_translate" = ps: with ps; [ - gtts - ]; - "google_travel_time" = ps: with ps; [ - googlemaps - ]; - "google_wifi" = ps: with ps; [ - ]; - "govee_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - govee-ble - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "govee_light_local" = ps: with ps; [ - govee-local-api - ifaddr - ]; - "gpsd" = ps: with ps; [ - gps3 - ]; - "gpslogger" = ps: with ps; [ - ]; - "graphite" = ps: with ps; [ - ]; - "gree" = ps: with ps; [ - greeclimate - ifaddr - ]; - "greeneye_monitor" = ps: with ps; [ - greeneye-monitor - ]; - "greenwave" = ps: with ps; [ - ]; # missing inputs: greenwavereality - "group" = ps: with ps; [ - ]; - "growatt_server" = ps: with ps; [ - growattserver - ]; - "gstreamer" = ps: with ps; [ - ]; # missing inputs: gstreamer-player - "gtfs" = ps: with ps; [ - pygtfs - ]; - "guardian" = ps: with ps; [ - aioguardian - ]; - "habitica" = ps: with ps; [ - habitipy - ]; - "hardkernel" = ps: with ps; [ - aiohasupervisor - psutil-home-assistant - ]; - "hardware" = ps: with ps; [ - psutil-home-assistant - ]; - "harman_kardon_avr" = ps: with ps; [ - hkavr - ]; - "harmony" = ps: with ps; [ - aioharmony - ]; - "hassio" = ps: with ps; [ - aiohasupervisor - ]; - "havana_shade" = ps: with ps; [ - ]; - "haveibeenpwned" = ps: with ps; [ - ]; - "hddtemp" = ps: with ps; [ - ]; - "hdmi_cec" = ps: with ps; [ - pycec - ]; - "heatmiser" = ps: with ps; [ - heatmiserv3 - ]; - "heiwa" = ps: with ps; [ - ]; - "heos" = ps: with ps; [ - pyheos - ]; - "here_travel_time" = ps: with ps; [ - here-routing - here-transit - ]; - "hexaom" = ps: with ps; [ - ]; - "hi_kumo" = ps: with ps; [ - ]; - "hikvision" = ps: with ps; [ - ]; # missing inputs: pyHik - "hikvisioncam" = ps: with ps; [ - hikvision - ]; - "hisense_aehw4a1" = ps: with ps; [ - pyaehw4a1 - ]; - "history" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "history_stats" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "hitron_coda" = ps: with ps; [ - ]; - "hive" = ps: with ps; [ - pyhiveapi - ]; - "hko" = ps: with ps; [ - ]; # missing inputs: hko - "hlk_sw16" = ps: with ps; [ - hlk-sw16 - ]; - "holiday" = ps: with ps; [ - babel - holidays - ]; - "home_connect" = ps: with ps; [ - homeconnect - ]; - "home_plus_control" = ps: with ps; [ - ]; - "homeassistant" = ps: with ps; [ - ]; - "homeassistant_alerts" = ps: with ps; [ - aiohasupervisor - ]; - "homeassistant_green" = ps: with ps; [ - aiohasupervisor - pillow - psutil-home-assistant - pyserial - pyudev - universal-silabs-flasher - zha - ]; - "homeassistant_hardware" = ps: with ps; [ - aiohasupervisor - pillow - pyserial - pyudev - universal-silabs-flasher - zha - ]; - "homeassistant_sky_connect" = ps: with ps; [ - aiohasupervisor - pillow - psutil-home-assistant - pyserial - pyudev - universal-silabs-flasher - zha - ]; - "homeassistant_yellow" = ps: with ps; [ - aiohasupervisor - pillow - psutil-home-assistant - pyserial - pyudev - universal-silabs-flasher - zha - ]; - "homekit" = ps: with ps; [ - base36 - fnv-hash-fast - ha-ffmpeg - hap-python - ifaddr - pyqrcode - pyturbojpeg - zeroconf - ]; - "homekit_controller" = ps: with ps; [ - aioesphomeapi - aiohomekit - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyroute2 - pyserial - pyspeex-noise - python-otbr-api - pyudev - zeroconf - ]; - "homematic" = ps: with ps; [ - pyhomematic - ]; - "homematicip_cloud" = ps: with ps; [ - homematicip - ]; - "homewizard" = ps: with ps; [ - python-homewizard-energy - ]; - "homeworks" = ps: with ps; [ - pyhomeworks - ]; - "honeywell" = ps: with ps; [ - aiosomecomfort - ]; - "horizon" = ps: with ps; [ - ]; # missing inputs: horimote - "hp_ilo" = ps: with ps; [ - python-hpilo - ]; - "html5" = ps: with ps; [ - pywebpush - ]; - "http" = ps: with ps; [ - ]; - "huawei_lte" = ps: with ps; [ - huawei-lte-api - stringcase - url-normalize - ]; - "hue" = ps: with ps; [ - aiohue - ]; - "huisbaasje" = ps: with ps; [ - energyflip-client - ]; - "humidifier" = ps: with ps; [ - ]; - "hunterdouglas_powerview" = ps: with ps; [ - aiopvapi - ]; - "hurrican_shutters_wholesale" = ps: with ps; [ - ]; - "husqvarna_automower" = ps: with ps; [ - aioautomower - ]; - "husqvarna_automower_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - automower-ble - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "huum" = ps: with ps; [ - huum - ]; - "hvv_departures" = ps: with ps; [ - pygti - ]; - "hydrawise" = ps: with ps; [ - pydrawise - ]; - "hyperion" = ps: with ps; [ - hyperion-py - ]; - "ialarm" = ps: with ps; [ - pyialarm - ]; - "iammeter" = ps: with ps; [ - iammeter - ]; - "iaqualink" = ps: with ps; [ - h2 - iaqualink - ]; - "ibeacon" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ibeacon-ble - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "icloud" = ps: with ps; [ - pyicloud - ]; - "idasen_desk" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - idasen-ha - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "idteck_prox" = ps: with ps; [ - ]; # missing inputs: rfk101py - "ifttt" = ps: with ps; [ - pyfttt - ]; - "iglo" = ps: with ps; [ - ]; # missing inputs: iglo - "ign_sismologia" = ps: with ps; [ - georss-ign-sismologia-client - ]; - "ihc" = ps: with ps; [ - defusedxml - ihcsdk - ]; - "image" = ps: with ps; [ - ]; - "image_processing" = ps: with ps; [ - pyturbojpeg - ]; - "image_upload" = ps: with ps; [ - pillow - ]; - "imap" = ps: with ps; [ - aioimaplib - ]; - "imgw_pib" = ps: with ps; [ - imgw-pib - ]; - "improv_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - py-improv-ble-client - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "incomfort" = ps: with ps; [ - incomfort-client - ]; - "indianamichiganpower" = ps: with ps; [ - ]; - "influxdb" = ps: with ps; [ - influxdb - influxdb-client - ]; - "inkbird" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - inkbird-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "input_boolean" = ps: with ps; [ - ]; - "input_button" = ps: with ps; [ - ]; - "input_datetime" = ps: with ps; [ - ]; - "input_number" = ps: with ps; [ - ]; - "input_select" = ps: with ps; [ - ]; - "input_text" = ps: with ps; [ - ]; - "inspired_shades" = ps: with ps; [ - ]; - "insteon" = ps: with ps; [ - aiohasupervisor - home-assistant-frontend - insteon-frontend-home-assistant - pillow - pyinsteon - pyserial - pyudev - ]; - "integration" = ps: with ps; [ - ]; - "intellifire" = ps: with ps; [ - intellifire4py - ]; - "intent" = ps: with ps; [ - ]; - "intent_script" = ps: with ps; [ - ]; - "intesishome" = ps: with ps; [ - pyintesishome - ]; - "ios" = ps: with ps; [ - ifaddr - zeroconf - ]; - "iotawatt" = ps: with ps; [ - ]; # missing inputs: ha-iotawattpy - "iotty" = ps: with ps; [ - iottycloud - ]; - "iperf3" = ps: with ps; [ - ]; # missing inputs: iperf3 - "ipma" = ps: with ps; [ - pyipma - ]; - "ipp" = ps: with ps; [ - pyipp - ]; - "iqvia" = ps: with ps; [ - numpy_1 - pyiqvia - ]; - "irish_rail_transport" = ps: with ps; [ - ]; # missing inputs: pyirishrail - "iron_os" = ps: with ps; [ - aioesphomeapi - aiogithubapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pynecil - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "isal" = ps: with ps; [ - isal - ]; - "iskra" = ps: with ps; [ - pyiskra - ]; - "islamic_prayer_times" = ps: with ps; [ - prayer-times-calculator-offline - ]; - "ismartwindow" = ps: with ps; [ - ]; - "israel_rail" = ps: with ps; [ - israel-rail-api - ]; - "iss" = ps: with ps; [ - ]; # missing inputs: pyiss - "ista_ecotrend" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - pyecotrend-ista - sqlalchemy - ]; - "isy994" = ps: with ps; [ - pyisy - ]; - "itach" = ps: with ps; [ - ]; # missing inputs: pyitachip2ir - "itunes" = ps: with ps; [ - ]; - "izone" = ps: with ps; [ - python-izone - ]; - "jellyfin" = ps: with ps; [ - jellyfin-apiclient-python - ]; - "jewish_calendar" = ps: with ps; [ - hdate - ]; - "joaoapps_join" = ps: with ps; [ - ]; # missing inputs: python-join-api - "juicenet" = ps: with ps; [ - python-juicenet - ]; - "justnimbus" = ps: with ps; [ - justnimbus - ]; - "jvc_projector" = ps: with ps; [ - ]; # missing inputs: pyjvcprojector - "kaiterra" = ps: with ps; [ - ]; # missing inputs: kaiterra-async-client - "kaleidescape" = ps: with ps; [ - pykaleidescape - ]; - "kankun" = ps: with ps; [ - ]; - "keba" = ps: with ps; [ - keba-kecontact - ]; - "keenetic_ndms2" = ps: with ps; [ - ndms2-client - ]; - "kef" = ps: with ps; [ - aiokef - getmac - ]; - "kegtron" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - kegtron-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "kentuckypower" = ps: with ps; [ - ]; - "keyboard" = ps: with ps; [ - ]; # missing inputs: pyuserinput - "keyboard_remote" = ps: with ps; [ - asyncinotify - evdev - ]; - "keymitt_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pymicrobot - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "kira" = ps: with ps; [ - pykira - ]; - "kitchen_sink" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "kiwi" = ps: with ps; [ - kiwiki-client - ]; - "kmtronic" = ps: with ps; [ - pykmtronic - ]; - "knocki" = ps: with ps; [ - knocki - ]; - "knx" = ps: with ps; [ - aiohasupervisor - home-assistant-frontend - knx-frontend - pillow - xknx - xknxproject - ]; - "kodi" = ps: with ps; [ - pykodi - ]; - "konnected" = ps: with ps; [ - konnected - ]; - "kostal_plenticore" = ps: with ps; [ - pykoplenti - ]; - "kraken" = ps: with ps; [ - krakenex - pykrakenapi - ]; - "krispol" = ps: with ps; [ - ]; - "kulersky" = ps: with ps; [ - pykulersky - ]; - "kwb" = ps: with ps; [ - pykwb - ]; - "lacrosse" = ps: with ps; [ - pylacrosse - ]; - "lacrosse_view" = ps: with ps; [ - ]; # missing inputs: lacrosse-view - "lamarzocco" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; # missing inputs: lmcloud - "lametric" = ps: with ps; [ - demetriek - ]; - "landisgyr_heat_meter" = ps: with ps; [ - pyserial - pyudev - ultraheat-api - ]; - "lannouncer" = ps: with ps; [ - ]; - "lastfm" = ps: with ps; [ - pylast - ]; - "launch_library" = ps: with ps; [ - pylaunches - ]; - "laundrify" = ps: with ps; [ - laundrify-aio - ]; - "lawn_mower" = ps: with ps; [ - ]; - "lcn" = ps: with ps; [ - aiohasupervisor - home-assistant-frontend - lcn-frontend - pillow - pypck - ]; - "ld2410_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - ld2410-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "leaone" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - leaone-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "led_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - led-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "legrand" = ps: with ps; [ - ]; - "lektrico" = ps: with ps; [ - lektricowifi - ]; - "lg_netcast" = ps: with ps; [ - ifaddr - pylgnetcast - ]; - "lg_soundbar" = ps: with ps; [ - temescal - ]; - "lg_thinq" = ps: with ps; [ - thinqconnect - ]; - "lidarr" = ps: with ps; [ - aiopyarr - ]; - "life360" = ps: with ps; [ - ]; - "lifx" = ps: with ps; [ - aiolifx - aiolifx-effects - aiolifx-themes - ifaddr - ]; - "lifx_cloud" = ps: with ps; [ - ]; - "light" = ps: with ps; [ - ]; - "lightwave" = ps: with ps; [ - lightwave - ]; - "limitlessled" = ps: with ps; [ - limitlessled - ]; - "linear_garage_door" = ps: with ps; [ - linear-garage-door - ]; - "linkplay" = ps: with ps; [ - python-linkplay - ]; - "linksys_smart" = ps: with ps; [ - ]; - "linode" = ps: with ps; [ - linode-api - ]; - "linux_battery" = ps: with ps; [ - batinfo - ]; - "lirc" = ps: with ps; [ - ]; # missing inputs: python-lirc - "litejet" = ps: with ps; [ - pylitejet - ]; - "litterrobot" = ps: with ps; [ - pylitterbot - ]; - "livisi" = ps: with ps; [ - aiolivisi - ]; - "llamalab_automate" = ps: with ps; [ - ]; - "local_calendar" = ps: with ps; [ - ical - ]; - "local_file" = ps: with ps; [ - ]; - "local_ip" = ps: with ps; [ - ifaddr - ]; - "local_todo" = ps: with ps; [ - ical - ]; - "locative" = ps: with ps; [ - ]; - "lock" = ps: with ps; [ - ]; - "logbook" = ps: with ps; [ - aiohasupervisor - fnv-hash-fast - home-assistant-frontend - pillow - psutil-home-assistant - sqlalchemy - ]; - "logentries" = ps: with ps; [ - ]; - "logger" = ps: with ps; [ - ]; - "london_air" = ps: with ps; [ - ]; - "london_underground" = ps: with ps; [ - ]; # missing inputs: london-tube-status - "lookin" = ps: with ps; [ - aiolookin - ]; - "loqed" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - loqedapi - mutagen - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "lovelace" = ps: with ps; [ - aiohasupervisor - pillow - ]; - "luci" = ps: with ps; [ - openwrt-luci-rpc - ]; - "luftdaten" = ps: with ps; [ - luftdaten - ]; - "lupusec" = ps: with ps; [ - lupupy - ]; - "lutron" = ps: with ps; [ - pylutron - ]; - "lutron_caseta" = ps: with ps; [ - pylutron-caseta - ]; - "luxaflex" = ps: with ps; [ - ]; - "lw12wifi" = ps: with ps; [ - ]; # missing inputs: lw12 - "lyric" = ps: with ps; [ - aiolyric - ]; - "madeco" = ps: with ps; [ - ]; - "madvr" = ps: with ps; [ - py-madvr2 - ]; - "mailgun" = ps: with ps; [ - pymailgunner - ]; - "manual" = ps: with ps; [ - ]; - "manual_mqtt" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "marantz" = ps: with ps; [ - ]; - "martec" = ps: with ps; [ - ]; - "marytts" = ps: with ps; [ - ]; # missing inputs: speak2mary - "mastodon" = ps: with ps; [ - mastodon-py - ]; - "matrix" = ps: with ps; [ - matrix-nio - pillow - ]; - "matter" = ps: with ps; [ - aiohasupervisor - python-matter-server - ]; - "maxcube" = ps: with ps; [ - maxcube-api - ]; - "mazda" = ps: with ps; [ - ]; - "mealie" = ps: with ps; [ - aiomealie - ]; - "meater" = ps: with ps; [ - meater-python - ]; - "medcom_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; # missing inputs: medcom-ble - "media_extractor" = ps: with ps; [ - yt-dlp - ] - ++ yt-dlp.optional-dependencies.default; - "media_player" = ps: with ps; [ - ]; - "media_source" = ps: with ps; [ - ]; - "mediaroom" = ps: with ps; [ - pymediaroom - ]; - "melcloud" = ps: with ps; [ - pymelcloud - ]; - "melissa" = ps: with ps; [ - ]; # missing inputs: py-melissa-climate - "melnor" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - melnor-bluetooth - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "meraki" = ps: with ps; [ - ]; - "mercury_nz" = ps: with ps; [ - ]; - "message_bird" = ps: with ps; [ - messagebird - ]; - "met" = ps: with ps; [ - pymetno - ]; - "met_eireann" = ps: with ps; [ - pymeteireann - ]; - "meteo_france" = ps: with ps; [ - meteofrance-api - ]; - "meteoalarm" = ps: with ps; [ - meteoalertapi - ]; - "meteoclimatic" = ps: with ps; [ - pymeteoclimatic - ]; - "metoffice" = ps: with ps; [ - datapoint - ]; - "mfi" = ps: with ps; [ - ]; # missing inputs: mficlient - "microbees" = ps: with ps; [ - ]; # missing inputs: microBeesPy - "microsoft" = ps: with ps; [ - ]; # missing inputs: pycsspeechtts - "microsoft_face" = ps: with ps; [ - pyturbojpeg - ]; - "microsoft_face_detect" = ps: with ps; [ - pyturbojpeg - ]; - "microsoft_face_identify" = ps: with ps; [ - pyturbojpeg - ]; - "mijndomein_energie" = ps: with ps; [ - ]; - "mikrotik" = ps: with ps; [ - librouteros - ]; - "mill" = ps: with ps; [ - mill-local - millheater - ]; - "min_max" = ps: with ps; [ - ]; - "minecraft_server" = ps: with ps; [ - mcstatus - ]; - "mini_connected" = ps: with ps; [ - ]; - "minio" = ps: with ps; [ - minio - ]; - "mjpeg" = ps: with ps; [ - ]; - "moat" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - moat-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "mobile_app" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pillow - pymicro-vad - pynacl - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "mochad" = ps: with ps; [ - ]; # missing inputs: pymochad - "modbus" = ps: with ps; [ - pymodbus - ]; - "modem_callerid" = ps: with ps; [ - phone-modem - pyserial - pyudev - ]; - "modern_forms" = ps: with ps; [ - aiomodernforms - ]; - "moehlenhoff_alpha2" = ps: with ps; [ - ]; # missing inputs: moehlenhoff-alpha2 - "mold_indicator" = ps: with ps; [ - ]; - "monarch_money" = ps: with ps; [ - ]; # missing inputs: typedmonarchmoney - "monessen" = ps: with ps; [ - ]; - "monoprice" = ps: with ps; [ - ]; # missing inputs: pymonoprice - "monzo" = ps: with ps; [ - monzopy - ]; - "moon" = ps: with ps; [ - ]; - "mopeka" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mopeka-iot-ble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "motion_blinds" = ps: with ps; [ - ifaddr - motionblinds - ]; - "motionblinds_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - motionblindsble - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "motioneye" = ps: with ps; [ - motioneye-client - ]; - "motionmount" = ps: with ps; [ - python-motionmount - ]; - "mpd" = ps: with ps; [ - mpd2 - ]; - "mqtt" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "mqtt_eventstream" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "mqtt_json" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "mqtt_room" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "mqtt_statestream" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "msteams" = ps: with ps; [ - pymsteams - ]; - "mullvad" = ps: with ps; [ - mullvad-api - ]; - "mutesync" = ps: with ps; [ - mutesync - ]; - "my" = ps: with ps; [ - aiohasupervisor - home-assistant-frontend - pillow - ]; - "myq" = ps: with ps; [ - ]; - "mysensors" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - pymysensors - ]; - "mystrom" = ps: with ps; [ - python-mystrom - ]; - "mythicbeastsdns" = ps: with ps; [ - mbddns - ]; - "myuplink" = ps: with ps; [ - myuplink - ]; - "nad" = ps: with ps; [ - nad-receiver - ]; - "nam" = ps: with ps; [ - nettigo-air-monitor - ]; - "namecheapdns" = ps: with ps; [ - defusedxml - ]; - "nanoleaf" = ps: with ps; [ - aionanoleaf - ]; - "neato" = ps: with ps; [ - pybotvac - ]; - "nederlandse_spoorwegen" = ps: with ps; [ - nsapi - ]; - "ness_alarm" = ps: with ps; [ - nessclient - ]; - "nest" = ps: with ps; [ - google-nest-sdm - ha-ffmpeg - ]; - "netatmo" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pyatmo - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "netdata" = ps: with ps; [ - netdata - ]; - "netgear" = ps: with ps; [ - pynetgear - ]; - "netgear_lte" = ps: with ps; [ - eternalegypt - ]; - "netio" = ps: with ps; [ - ]; # missing inputs: pynetio - "network" = ps: with ps; [ - ifaddr - ]; - "neurio_energy" = ps: with ps; [ - ]; # missing inputs: neurio - "nexia" = ps: with ps; [ - nexia - ]; - "nexity" = ps: with ps; [ - ]; - "nextbus" = ps: with ps; [ - py-nextbusnext - ]; - "nextcloud" = ps: with ps; [ - nextcloudmonitor - ]; - "nextdns" = ps: with ps; [ - nextdns - ]; - "nfandroidtv" = ps: with ps; [ - notifications-android-tv - ]; - "nibe_heatpump" = ps: with ps; [ - nibe - ]; - "nice_go" = ps: with ps; [ - nice-go - ]; - "nightscout" = ps: with ps; [ - py-nightscout - ]; - "niko_home_control" = ps: with ps; [ - niko-home-control - ]; - "nilu" = ps: with ps; [ - niluclient - ]; - "nina" = ps: with ps; [ - pynina - ]; - "nissan_leaf" = ps: with ps; [ - pycarwings2 - ]; - "nmap_tracker" = ps: with ps; [ - aiooui - getmac - ifaddr - netmap - ]; - "nmbs" = ps: with ps; [ - ]; # missing inputs: pyrail - "no_ip" = ps: with ps; [ - ]; - "noaa_tides" = ps: with ps; [ - ]; # missing inputs: noaa-coops - "nobo_hub" = ps: with ps; [ - pynobo - ]; - "norway_air" = ps: with ps; [ - pymetno - ]; - "notify" = ps: with ps; [ - ]; - "notify_events" = ps: with ps; [ - notify-events - ]; - "notion" = ps: with ps; [ - aionotion - ]; - "nsw_fuel_station" = ps: with ps; [ - ]; # missing inputs: nsw-fuel-api-client - "nsw_rural_fire_service_feed" = ps: with ps; [ - aio-geojson-nsw-rfs-incidents - ]; - "nuheat" = ps: with ps; [ - nuheat - ]; - "nuki" = ps: with ps; [ - pynuki - ]; - "numato" = ps: with ps; [ - ]; # missing inputs: numato-gpio - "number" = ps: with ps; [ - ]; - "nut" = ps: with ps; [ - aionut - ]; - "nutrichef" = ps: with ps; [ - ]; - "nws" = ps: with ps; [ - pynws - ] - ++ pynws.optional-dependencies.retry; - "nx584" = ps: with ps; [ - pynx584 - ]; - "nyt_games" = ps: with ps; [ - ]; # missing inputs: nyt_games - "nzbget" = ps: with ps; [ - ]; # missing inputs: pynzbgetapi - "oasa_telematics" = ps: with ps; [ - oasatelematics - ]; - "obihai" = ps: with ps; [ - pyobihai - ]; - "octoprint" = ps: with ps; [ - pyoctoprintapi - ]; - "oem" = ps: with ps; [ - oemthermostat - ]; - "ohmconnect" = ps: with ps; [ - defusedxml - ]; - "ollama" = ps: with ps; [ - ha-ffmpeg - hassil - home-assistant-intents - mutagen - ollama - pymicro-vad - pyspeex-noise - ]; - "ombi" = ps: with ps; [ - pyombi - ]; - "omnilogic" = ps: with ps; [ - omnilogic - ]; - "onboarding" = ps: with ps; [ - aiohasupervisor - pillow - ]; - "oncue" = ps: with ps; [ - aiooncue - ]; - "ondilo_ico" = ps: with ps; [ - ondilo - ]; - "onewire" = ps: with ps; [ - pyownet - ]; - "onkyo" = ps: with ps; [ - ]; # missing inputs: pyeiscp - "onvif" = ps: with ps; [ - ha-ffmpeg - onvif-zeep-async - wsdiscovery - ]; - "open_meteo" = ps: with ps; [ - open-meteo - ]; - "openai_conversation" = ps: with ps; [ - ha-ffmpeg - hassil - home-assistant-intents - mutagen - openai - pymicro-vad - pyspeex-noise - ]; - "openalpr_cloud" = ps: with ps; [ - ]; - "openerz" = ps: with ps; [ - openerz-api - ]; - "openevse" = ps: with ps; [ - openevsewifi - ]; - "openexchangerates" = ps: with ps; [ - aioopenexchangerates - ]; - "opengarage" = ps: with ps; [ - open-garage - ]; - "openhardwaremonitor" = ps: with ps; [ - ]; - "openhome" = ps: with ps; [ - openhomedevice - ]; - "opensensemap" = ps: with ps; [ - opensensemap-api - ]; - "opensky" = ps: with ps; [ - python-opensky - ]; - "opentherm_gw" = ps: with ps; [ - pyotgw - ]; - "openuv" = ps: with ps; [ - pyopenuv - ]; - "openweathermap" = ps: with ps; [ - pyopenweathermap - ]; - "opnsense" = ps: with ps; [ - pyopnsense - ]; - "opower" = ps: with ps; [ - fnv-hash-fast - opower - psutil-home-assistant - sqlalchemy - ]; - "opple" = ps: with ps; [ - ]; # missing inputs: pyoppleio-legacy - "oralb" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - oralb-ble - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "oru" = ps: with ps; [ - ]; # missing inputs: oru - "oru_opower" = ps: with ps; [ - ]; - "orvibo" = ps: with ps; [ - orvibo - ]; - "osoenergy" = ps: with ps; [ - ]; # missing inputs: pyosoenergyapi - "osramlightify" = ps: with ps; [ - ]; # missing inputs: lightify - "otbr" = ps: with ps; [ - aiohasupervisor - ifaddr - pillow - psutil-home-assistant - pyroute2 - pyserial - python-otbr-api - pyudev - universal-silabs-flasher - zeroconf - zha - ]; - "otp" = ps: with ps; [ - pyotp - ]; - "ourgroceries" = ps: with ps; [ - ]; # missing inputs: ourgroceries - "overkiz" = ps: with ps; [ - pyoverkiz - ]; - "ovo_energy" = ps: with ps; [ - ovoenergy - ]; - "owntracks" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - paho-mqtt_1 - pymicro-vad - pynacl - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "p1_monitor" = ps: with ps; [ - p1monitor - ]; - "palazzetti" = ps: with ps; [ - pypalazzetti - ]; - "panasonic_bluray" = ps: with ps; [ - panacotta - ]; - "panasonic_viera" = ps: with ps; [ - panasonic-viera - ]; - "pandora" = ps: with ps; [ - pexpect - ]; - "panel_custom" = ps: with ps; [ - aiohasupervisor - home-assistant-frontend - pillow - ]; - "pcs_lighting" = ps: with ps; [ - ]; - "peco" = ps: with ps; [ - peco - ]; - "peco_opower" = ps: with ps; [ - ]; - "pegel_online" = ps: with ps; [ - aiopegelonline - ]; - "pencom" = ps: with ps; [ - pencompy - ]; - "pepco" = ps: with ps; [ - ]; - "permobil" = ps: with ps; [ - mypermobil - ]; - "persistent_notification" = ps: with ps; [ - ]; - "person" = ps: with ps; [ - pillow - ]; - "pge" = ps: with ps; [ - ]; - "philips_js" = ps: with ps; [ - ha-philipsjs - ]; - "pi_hole" = ps: with ps; [ - hole - ]; - "picnic" = ps: with ps; [ - python-picnic-api - ]; - "picotts" = ps: with ps; [ - ]; - "pilight" = ps: with ps; [ - ]; # missing inputs: pilight - "pinecil" = ps: with ps; [ - ]; - "ping" = ps: with ps; [ - icmplib - ]; - "pioneer" = ps: with ps; [ - ]; - "piper" = ps: with ps; [ - ]; - "pjlink" = ps: with ps; [ - ]; # missing inputs: pypjlink2 - "plaato" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pyplaato - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "plant" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "plex" = ps: with ps; [ - plexapi - plexauth - plexwebsocket - ]; - "plugwise" = ps: with ps; [ - plugwise - ]; - "plum_lightpad" = ps: with ps; [ - ]; # missing inputs: plumlightpad - "pocketcasts" = ps: with ps; [ - pycketcasts - ]; - "point" = ps: with ps; [ - pypoint - ]; - "poolsense" = ps: with ps; [ - poolsense - ]; - "portlandgeneral" = ps: with ps; [ - ]; - "powerwall" = ps: with ps; [ - tesla-powerwall - ]; - "private_ble_device" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - zeroconf - ]; - "profiler" = ps: with ps; [ - guppy3 - objgraph - pyprof2calltree - ]; - "progettihwsw" = ps: with ps; [ - ]; # missing inputs: ProgettiHWSW - "proliphix" = ps: with ps; [ - ]; # missing inputs: proliphix - "prometheus" = ps: with ps; [ - prometheus-client - ]; - "prosegur" = ps: with ps; [ - pyprosegur - ]; - "prowl" = ps: with ps; [ - ]; - "proximity" = ps: with ps; [ - ]; - "proxmoxve" = ps: with ps; [ - proxmoxer - ]; - "proxy" = ps: with ps; [ - pillow - ]; - "prusalink" = ps: with ps; [ - pyprusalink - ]; - "ps4" = ps: with ps; [ - ]; # missing inputs: pyps4-2ndscreen - "pse" = ps: with ps; [ - ]; - "psoklahoma" = ps: with ps; [ - ]; - "pulseaudio_loopback" = ps: with ps; [ - pulsectl - ]; - "pure_energie" = ps: with ps; [ - gridnet - ]; - "purpleair" = ps: with ps; [ - aiopurpleair - ]; - "push" = ps: with ps; [ - ]; - "pushbullet" = ps: with ps; [ - pushbullet-py - ]; - "pushover" = ps: with ps; [ - pushover-complete - ]; - "pushsafer" = ps: with ps; [ - ]; - "pvoutput" = ps: with ps; [ - pvo - ]; - "pvpc_hourly_pricing" = ps: with ps; [ - aiopvpc - ]; - "pyload" = ps: with ps; [ - pyloadapi - ]; - "python_script" = ps: with ps; [ - restrictedpython - ]; - "qbittorrent" = ps: with ps; [ - qbittorrent-api - ]; - "qingping" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - qingping-ble - zeroconf - ]; - "qld_bushfire" = ps: with ps; [ - georss-qld-bushfire-alert-client - ]; - "qnap" = ps: with ps; [ - qnapstats - ]; - "qnap_qsw" = ps: with ps; [ - aioqsw - ]; - "qrcode" = ps: with ps; [ - pillow - pyzbar - ]; - "quadrafire" = ps: with ps; [ - ]; - "quantum_gateway" = ps: with ps; [ - quantum-gateway - ]; - "qvr_pro" = ps: with ps; [ - pyqvrpro - ]; - "qwikswitch" = ps: with ps; [ - pyqwikswitch - ]; - "rabbitair" = ps: with ps; [ - ifaddr - python-rabbitair - zeroconf - ]; - "rachio" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - rachiopy - ]; - "radarr" = ps: with ps; [ - aiopyarr - ]; - "radio_browser" = ps: with ps; [ - pycountry - radios - ]; - "radiotherm" = ps: with ps; [ - radiotherm - ]; - "rainbird" = ps: with ps; [ - pyrainbird - ]; - "raincloud" = ps: with ps; [ - raincloudy - ]; - "rainforest_eagle" = ps: with ps; [ - aioeagle - eagle100 - ]; - "rainforest_raven" = ps: with ps; [ - aioraven - pyserial - pyudev - ]; - "rainmachine" = ps: with ps; [ - regenmaschine - ]; - "random" = ps: with ps; [ - ]; - "rapt_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - rapt-ble - zeroconf - ]; - "raspberry_pi" = ps: with ps; [ - aiohasupervisor - psutil-home-assistant - ]; - "raspyrfm" = ps: with ps; [ - ]; # missing inputs: raspyrfm-client - "raven_rock_mfg" = ps: with ps; [ - ]; - "rdw" = ps: with ps; [ - vehicle - ]; - "recollect_waste" = ps: with ps; [ - aiorecollect - ]; - "recorder" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "recovery_mode" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-frontend - home-assistant-intents - mutagen - pillow - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "recswitch" = ps: with ps; [ - ]; # missing inputs: pyrecswitch - "reddit" = ps: with ps; [ - praw - ]; - "refoss" = ps: with ps; [ - refoss-ha - ]; - "rejseplanen" = ps: with ps; [ - rjpl - ]; - "remember_the_milk" = ps: with ps; [ - httplib2 - ]; # missing inputs: RtmAPI - "remote" = ps: with ps; [ - ]; - "remote_rpi_gpio" = ps: with ps; [ - gpiozero - ]; # missing inputs: pigpio - "renault" = ps: with ps; [ - renault-api - ]; - "renson" = ps: with ps; [ - renson-endura-delta - ]; - "reolink" = ps: with ps; [ - reolink-aio - ]; - "repairs" = ps: with ps; [ - ]; - "repetier" = ps: with ps; [ - ]; # missing inputs: pyrepetierng - "rest" = ps: with ps; [ - jsonpath - xmltodict - ]; - "rest_command" = ps: with ps; [ - ]; - "rexel" = ps: with ps; [ - ]; - "rflink" = ps: with ps; [ - rflink - ]; - "rfxtrx" = ps: with ps; [ - pyrfxtrx - ]; - "rhasspy" = ps: with ps; [ - ]; - "ridwell" = ps: with ps; [ - aioridwell - ]; - "ring" = ps: with ps; [ - ha-ffmpeg - ring-doorbell - ]; - "ripple" = ps: with ps; [ - ]; # missing inputs: python-ripple-api - "risco" = ps: with ps; [ - pyrisco - ]; - "rituals_perfume_genie" = ps: with ps; [ - pyrituals - ]; - "rmvtransport" = ps: with ps; [ - pyrmvtransport - ]; - "roborock" = ps: with ps; [ - python-roborock - vacuum-map-parser-roborock - ]; - "rocketchat" = ps: with ps; [ - rocketchat-api - ]; - "roku" = ps: with ps; [ - rokuecp - ]; - "romy" = ps: with ps; [ - romy - ]; - "roomba" = ps: with ps; [ - roombapy - ]; - "roon" = ps: with ps; [ - roonapi - ]; - "route53" = ps: with ps; [ - boto3 - ]; - "rova" = ps: with ps; [ - rova - ]; - "rpi_camera" = ps: with ps; [ - ]; - "rpi_power" = ps: with ps; [ - rpi-bad-power - ]; - "rss_feed_template" = ps: with ps; [ - ]; - "rtorrent" = ps: with ps; [ - ]; - "rtsp_to_webrtc" = ps: with ps; [ - pyturbojpeg - rtsp-to-webrtc - ]; - "ruckus_unleashed" = ps: with ps; [ - aioruckus - ]; - "russound_rio" = ps: with ps; [ - aiorussound - ]; - "russound_rnet" = ps: with ps; [ - ]; # missing inputs: russound - "ruuvi_gateway" = ps: with ps; [ - aioruuvigateway - bleak - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - habluetooth - pyserial - pyudev - ]; - "ruuvitag_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - ruuvitag-ble - zeroconf - ]; - "rympro" = ps: with ps; [ - pyrympro - ]; - "sabnzbd" = ps: with ps; [ - pysabnzbd - ]; - "saj" = ps: with ps; [ - pysaj - ]; - "samsam" = ps: with ps; [ - ]; - "samsungtv" = ps: with ps; [ - async-upnp-client - getmac - ifaddr - samsungctl - samsungtvws - wakeonlan - ] - ++ samsungctl.optional-dependencies.websocket - ++ samsungtvws.optional-dependencies.async - ++ samsungtvws.optional-dependencies.encrypted; - "sanix" = ps: with ps; [ - sanix - ]; - "satel_integra" = ps: with ps; [ - ]; # missing inputs: satel-integra - "scene" = ps: with ps; [ - ]; - "schedule" = ps: with ps; [ - ]; - "schlage" = ps: with ps; [ - pyschlage - ]; - "schluter" = ps: with ps; [ - ]; # missing inputs: py-schluter - "scl" = ps: with ps; [ - ]; - "scrape" = ps: with ps; [ - beautifulsoup4 - jsonpath - lxml - xmltodict - ]; - "screenaway" = ps: with ps; [ - ]; - "screenlogic" = ps: with ps; [ - screenlogicpy - ]; - "script" = ps: with ps; [ - ]; - "scsgate" = ps: with ps; [ - ]; # missing inputs: scsgate - "search" = ps: with ps; [ - ]; - "season" = ps: with ps; [ - ephem - ]; - "select" = ps: with ps; [ - ]; - "sendgrid" = ps: with ps; [ - sendgrid - ]; - "sense" = ps: with ps; [ - sense-energy - ]; - "sensibo" = ps: with ps; [ - pysensibo - ]; - "sensirion_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - sensirion-ble - zeroconf - ]; - "sensor" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "sensorblue" = ps: with ps; [ - ]; - "sensorpro" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - sensorpro-ble - zeroconf - ]; - "sensorpush" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - sensorpush-ble - zeroconf - ]; - "sensoterra" = ps: with ps; [ - sensoterra - ]; - "sentry" = ps: with ps; [ - sentry-sdk - ]; - "senz" = ps: with ps; [ - aiosenz - ]; - "serial" = ps: with ps; [ - pyserial-asyncio-fast - ]; - "serial_pm" = ps: with ps; [ - pmsensor - ]; - "sesame" = ps: with ps; [ - ]; # missing inputs: pysesame2 - "seven_segments" = ps: with ps; [ - pillow - ]; - "seventeentrack" = ps: with ps; [ - pyseventeentrack - ]; - "sfr_box" = ps: with ps; [ - sfrbox-api - ]; - "sharkiq" = ps: with ps; [ - sharkiq - ]; - "shell_command" = ps: with ps; [ - ]; - "shelly" = ps: with ps; [ - aioshelly - bleak - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - habluetooth - ifaddr - pyserial - pyudev - ]; - "shodan" = ps: with ps; [ - shodan - ]; - "shopping_list" = ps: with ps; [ - ]; - "sia" = ps: with ps; [ - pysiaalarm - ]; - "sigfox" = ps: with ps; [ - ]; - "sighthound" = ps: with ps; [ - pillow - simplehound - ]; - "signal_messenger" = ps: with ps; [ - pysignalclirestapi - ]; - "simplefin" = ps: with ps; [ - simplefin4py - ]; - "simplepush" = ps: with ps; [ - simplepush - ]; - "simplisafe" = ps: with ps; [ - simplisafe-python - ]; - "simply_automated" = ps: with ps; [ - ]; - "simu" = ps: with ps; [ - ]; - "simulated" = ps: with ps; [ - ]; - "sinch" = ps: with ps; [ - ]; # missing inputs: clx-sdk-xms - "siren" = ps: with ps; [ - ]; - "sisyphus" = ps: with ps; [ - sisyphus-control - ]; - "sky_hub" = ps: with ps; [ - pyskyqhub - ]; - "skybeacon" = ps: with ps; [ - pygatt - ] - ++ pygatt.optional-dependencies.GATTTOOL; - "skybell" = ps: with ps; [ - aioskybell - ha-ffmpeg - ]; - "slack" = ps: with ps; [ - slack-sdk - ]; - "sleepiq" = ps: with ps; [ - asyncsleepiq - ]; - "slide" = ps: with ps; [ - ]; # missing inputs: goslide-api - "slimproto" = ps: with ps; [ - aioslimproto - ]; - "sma" = ps: with ps; [ - pysma - ]; - "smappee" = ps: with ps; [ - pysmappee - ]; - "smart_blinds" = ps: with ps; [ - ]; - "smart_home" = ps: with ps; [ - ]; - "smart_meter_texas" = ps: with ps; [ - smart-meter-texas - ]; - "smarther" = ps: with ps; [ - ]; - "smartthings" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pysmartapp - pysmartthings - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "smarttub" = ps: with ps; [ - python-smarttub - ]; - "smarty" = ps: with ps; [ - ]; # missing inputs: pysmarty2 - "smhi" = ps: with ps; [ - smhi-pkg - ]; - "smlight" = ps: with ps; [ - pysmlight - ]; - "sms" = ps: with ps; [ - python-gammu - ]; - "smtp" = ps: with ps; [ - ]; - "smud" = ps: with ps; [ - ]; - "snapcast" = ps: with ps; [ - snapcast - ]; - "snips" = ps: with ps; [ - aiohasupervisor - paho-mqtt_1 - ]; - "snmp" = ps: with ps; [ - pysnmp - ]; - "snooz" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pysnooz - pyspeex-noise - pyudev - zeroconf - ]; - "solaredge" = ps: with ps; [ - aiosolaredge - stringcase - ]; - "solaredge_local" = ps: with ps; [ - ]; # missing inputs: solaredge-local - "solarlog" = ps: with ps; [ - solarlog-cli - ]; - "solax" = ps: with ps; [ - solax - ]; - "soma" = ps: with ps; [ - pysoma - ]; - "somfy" = ps: with ps; [ - ]; - "somfy_mylink" = ps: with ps; [ - somfy-mylink-synergy - ]; - "sonarr" = ps: with ps; [ - aiopyarr - ]; - "songpal" = ps: with ps; [ - python-songpal - ]; - "sonos" = ps: with ps; [ - async-upnp-client - ifaddr - plexapi - plexauth - plexwebsocket - soco - sonos-websocket - spotifyaio - zeroconf - ]; - "sony_projector" = ps: with ps; [ - pysdcp - ]; - "soundtouch" = ps: with ps; [ - libsoundtouch - ]; - "spaceapi" = ps: with ps; [ - ]; - "spc" = ps: with ps; [ - pyspcwebgw - ]; - "speedtestdotnet" = ps: with ps; [ - speedtest-cli - ]; - "spider" = ps: with ps; [ - ]; - "splunk" = ps: with ps; [ - hass-splunk - ]; - "spotify" = ps: with ps; [ - spotifyaio - ]; - "sql" = ps: with ps; [ - sqlalchemy - sqlparse - ]; - "squeezebox" = ps: with ps; [ - pysqueezebox - ]; - "srp_energy" = ps: with ps; [ - srpenergy - ]; - "ssdp" = ps: with ps; [ - async-upnp-client - ifaddr - ]; - "starline" = ps: with ps; [ - starline - ]; - "starlingbank" = ps: with ps; [ - ]; # missing inputs: starlingbank - "starlink" = ps: with ps; [ - ]; # missing inputs: starlink-grpc-core - "startca" = ps: with ps; [ - xmltodict - ]; - "statistics" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - sqlalchemy - ]; - "statsd" = ps: with ps; [ - statsd - ]; - "steam_online" = ps: with ps; [ - steamodd - ]; - "steamist" = ps: with ps; [ - aiosteamist - discovery30303 - ifaddr - ]; - "stiebel_eltron" = ps: with ps; [ - pymodbus - ]; # missing inputs: pystiebeleltron - "stookalert" = ps: with ps; [ - stookalert - ]; - "stookwijzer" = ps: with ps; [ - stookwijzer - ]; - "stream" = ps: with ps; [ - av - numpy_1 - pyturbojpeg - ]; - "streamlabswater" = ps: with ps; [ - streamlabswater - ]; - "stt" = ps: with ps; [ - ]; - "subaru" = ps: with ps; [ - subarulink - ]; - "suez_water" = ps: with ps; [ - pysuez - ]; - "sun" = ps: with ps; [ - ]; - "sunweg" = ps: with ps; [ - sunweg - ]; - "supervisord" = ps: with ps; [ - ]; - "supla" = ps: with ps; [ - ]; # missing inputs: asyncpysupla - "surepetcare" = ps: with ps; [ - surepy - ]; - "swepco" = ps: with ps; [ - ]; - "swiss_hydrological_data" = ps: with ps; [ - swisshydrodata - ]; - "swiss_public_transport" = ps: with ps; [ - python-opendata-transport - ]; - "swisscom" = ps: with ps; [ - ]; - "switch" = ps: with ps; [ - ]; - "switch_as_x" = ps: with ps; [ - ]; - "switchbee" = ps: with ps; [ - pyswitchbee - ]; - "switchbot" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyswitchbot - pyudev - zeroconf - ]; - "switchbot_cloud" = ps: with ps; [ - switchbot-api - ]; - "switcher_kis" = ps: with ps; [ - aioswitcher - ]; - "switchmate" = ps: with ps; [ - ]; # missing inputs: PySwitchmate - "symfonisk" = ps: with ps; [ - ]; - "syncthing" = ps: with ps; [ - aiosyncthing - ]; - "syncthru" = ps: with ps; [ - pysyncthru - url-normalize - ]; - "synology_chat" = ps: with ps; [ - ]; - "synology_dsm" = ps: with ps; [ - py-synologydsm-api - ]; - "synology_srm" = ps: with ps; [ - ]; # missing inputs: synology-srm - "syslog" = ps: with ps; [ - ]; - "system_bridge" = ps: with ps; [ - ifaddr - systembridgeconnector - systembridgemodels - zeroconf - ]; - "system_health" = ps: with ps; [ - ]; - "system_log" = ps: with ps; [ - ]; - "systemmonitor" = ps: with ps; [ - psutil - psutil-home-assistant - ]; - "tado" = ps: with ps; [ - python-tado - ]; - "tag" = ps: with ps; [ - ]; - "tailscale" = ps: with ps; [ - tailscale - ]; - "tailwind" = ps: with ps; [ - gotailwind - ]; - "tami4" = ps: with ps; [ - ]; # missing inputs: Tami4EdgeAPI - "tank_utility" = ps: with ps; [ - tank-utility - ]; - "tankerkoenig" = ps: with ps; [ - aiotankerkoenig - ]; - "tapsaff" = ps: with ps; [ - ]; # missing inputs: tapsaff - "tasmota" = ps: with ps; [ - aiohasupervisor - hatasmota - paho-mqtt_1 - ]; - "tautulli" = ps: with ps; [ - pytautulli - ]; - "tcp" = ps: with ps; [ - ]; - "technove" = ps: with ps; [ - python-technove - ]; - "ted5000" = ps: with ps; [ - xmltodict - ]; - "tedee" = ps: with ps; [ - pytedee-async - ]; - "telegram" = ps: with ps; [ - python-telegram-bot - ] - ++ python-telegram-bot.optional-dependencies.socks; - "telegram_bot" = ps: with ps; [ - python-telegram-bot - ] - ++ python-telegram-bot.optional-dependencies.socks; - "tellduslive" = ps: with ps; [ - tellduslive - ]; - "tellstick" = ps: with ps; [ - ]; # missing inputs: tellcore-net tellcore-py - "telnet" = ps: with ps; [ - ]; - "temper" = ps: with ps; [ - temperusb - ]; - "template" = ps: with ps; [ - ]; - "tensorflow" = ps: with ps; [ - numpy_1 - pillow - pycocotools - tensorflow - ]; # missing inputs: tf-models-official - "tesla_fleet" = ps: with ps; [ - tesla-fleet-api - ]; - "tesla_wall_connector" = ps: with ps; [ - tesla-wall-connector - ]; - "teslemetry" = ps: with ps; [ - tesla-fleet-api - teslemetry-stream - ]; - "tessie" = ps: with ps; [ - tesla-fleet-api - ]; # missing inputs: tessie-api - "text" = ps: with ps; [ - ]; - "thermobeacon" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - thermobeacon-ble - zeroconf - ]; - "thermoplus" = ps: with ps; [ - ]; - "thermopro" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - thermopro-ble - zeroconf - ]; - "thethingsnetwork" = ps: with ps; [ - ttn-client - ]; - "thingspeak" = ps: with ps; [ - ]; # missing inputs: thingspeak - "thinkingcleaner" = ps: with ps; [ - ]; # missing inputs: pythinkingcleaner - "thomson" = ps: with ps; [ - ]; - "thread" = ps: with ps; [ - ifaddr - pyroute2 - python-otbr-api - zeroconf - ]; - "threshold" = ps: with ps; [ - ]; - "tibber" = ps: with ps; [ - fnv-hash-fast - psutil-home-assistant - pytibber - sqlalchemy - ]; - "tikteck" = ps: with ps; [ - ]; # missing inputs: tikteck - "tile" = ps: with ps; [ - pytile - ]; - "tilt_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - tilt-ble - zeroconf - ]; - "time" = ps: with ps; [ - ]; - "time_date" = ps: with ps; [ - ]; - "timer" = ps: with ps; [ - ]; - "tmb" = ps: with ps; [ - tmb - ]; - "tod" = ps: with ps; [ - ]; - "todo" = ps: with ps; [ - ]; - "todoist" = ps: with ps; [ - todoist-api-python - ]; - "tolo" = ps: with ps; [ - tololib - ]; - "tomato" = ps: with ps; [ - ]; - "tomorrowio" = ps: with ps; [ - pytomorrowio - ]; - "toon" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - toonapi - ]; - "torque" = ps: with ps; [ - ]; - "totalconnect" = ps: with ps; [ - total-connect-client - ]; - "touchline" = ps: with ps; [ - ]; # missing inputs: pytouchline - "touchline_sl" = ps: with ps; [ - pytouchlinesl - ]; - "tplink" = ps: with ps; [ - ifaddr - python-kasa - ] - ++ python-kasa.optional-dependencies.speedups; - "tplink_lte" = ps: with ps; [ - ]; # missing inputs: tp-connected - "tplink_omada" = ps: with ps; [ - tplink-omada-client - ]; - "tplink_tapo" = ps: with ps; [ - ]; - "traccar" = ps: with ps; [ - pytraccar - stringcase - ]; - "traccar_server" = ps: with ps; [ - pytraccar - ]; - "trace" = ps: with ps; [ - ]; - "tractive" = ps: with ps; [ - aiotractive - ]; - "tradfri" = ps: with ps; [ - pytradfri - ] - ++ pytradfri.optional-dependencies.async; - "trafikverket_camera" = ps: with ps; [ - pytrafikverket - ]; - "trafikverket_ferry" = ps: with ps; [ - pytrafikverket - ]; - "trafikverket_train" = ps: with ps; [ - pytrafikverket - ]; - "trafikverket_weatherstation" = ps: with ps; [ - pytrafikverket - ]; - "transmission" = ps: with ps; [ - transmission-rpc - ]; - "transport_nsw" = ps: with ps; [ - pytransportnsw - ]; - "travisci" = ps: with ps; [ - ]; # missing inputs: TravisPy - "trend" = ps: with ps; [ - numpy_1 - ]; - "triggercmd" = ps: with ps; [ - ]; # missing inputs: triggercmd - "tts" = ps: with ps; [ - ha-ffmpeg - mutagen - ]; - "tuya" = ps: with ps; [ - ha-ffmpeg - tuya-device-sharing-sdk - ]; - "twentemilieu" = ps: with ps; [ - twentemilieu - ]; - "twilio" = ps: with ps; [ - twilio - ]; - "twilio_call" = ps: with ps; [ - twilio - ]; - "twilio_sms" = ps: with ps; [ - twilio - ]; - "twinkly" = ps: with ps; [ - ttls - ]; - "twitch" = ps: with ps; [ - twitchapi - ]; - "twitter" = ps: with ps; [ - twitterapi - ]; - "ubiwizz" = ps: with ps; [ - ]; - "ubus" = ps: with ps; [ - openwrt-ubus-rpc - ]; - "uk_transport" = ps: with ps; [ - ]; - "ukraine_alarm" = ps: with ps; [ - uasiren - ]; - "ultraloq" = ps: with ps; [ - ]; - "unifi" = ps: with ps; [ - aiounifi - ]; - "unifi_direct" = ps: with ps; [ - unifi-ap - ]; - "unifiled" = ps: with ps; [ - unifiled - ]; - "unifiprotect" = ps: with ps; [ - uiprotect - unifi-discovery - ]; - "universal" = ps: with ps; [ - ]; - "upb" = ps: with ps; [ - upb-lib - ]; - "upc_connect" = ps: with ps; [ - connect-box - ]; - "upcloud" = ps: with ps; [ - upcloud-api - ]; - "update" = ps: with ps; [ - ]; - "upnp" = ps: with ps; [ - async-upnp-client - getmac - ifaddr - ]; - "uprise_smart_shades" = ps: with ps; [ - ]; - "uptime" = ps: with ps; [ - ]; - "uptimerobot" = ps: with ps; [ - pyuptimerobot - ]; - "usb" = ps: with ps; [ - pyserial - pyudev - ]; - "usgs_earthquakes_feed" = ps: with ps; [ - aio-geojson-usgs-earthquakes - ]; - "utility_meter" = ps: with ps; [ - croniter - ]; - "uvc" = ps: with ps; [ - uvcclient - ]; - "v2c" = ps: with ps; [ - pytrydan - ]; - "vacuum" = ps: with ps; [ - ]; - "vallox" = ps: with ps; [ - vallox-websocket-api - ]; - "valve" = ps: with ps; [ - ]; - "vasttrafik" = ps: with ps; [ - vtjp - ]; - "velbus" = ps: with ps; [ - pyserial - pyudev - velbus-aio - ]; - "velux" = ps: with ps; [ - pyvlx - ]; - "venstar" = ps: with ps; [ - venstarcolortouch - ]; - "vera" = ps: with ps; [ - pyvera - ]; - "verisure" = ps: with ps; [ - vsure - ]; - "vermont_castings" = ps: with ps; [ - ]; - "versasense" = ps: with ps; [ - pyversasense - ]; - "version" = ps: with ps; [ - pyhaversion - ]; - "vesync" = ps: with ps; [ - pyvesync - ]; - "viaggiatreno" = ps: with ps; [ - ]; - "vicare" = ps: with ps; [ - pyvicare - ]; - "vilfo" = ps: with ps; [ - vilfo-api-client - ]; - "vivotek" = ps: with ps; [ - libpyvivotek - ]; - "vizio" = ps: with ps; [ - pyvizio - ]; - "vlc" = ps: with ps; [ - python-vlc - ]; - "vlc_telnet" = ps: with ps; [ - aiovlc - ]; - "vodafone_station" = ps: with ps; [ - aiovodafone - ]; - "voicerss" = ps: with ps; [ - ]; - "voip" = ps: with ps; [ - ha-ffmpeg - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - voip-utils - ]; - "volkszaehler" = ps: with ps; [ - volkszaehler - ]; - "volumio" = ps: with ps; [ - pyvolumio - ]; - "volvooncall" = ps: with ps; [ - volvooncall - ]; - "vulcan" = ps: with ps; [ - vulcan-api - ]; - "vultr" = ps: with ps; [ - vultr - ]; - "w800rf32" = ps: with ps; [ - ]; # missing inputs: pyW800rf32 - "wake_on_lan" = ps: with ps; [ - wakeonlan - ]; - "wake_word" = ps: with ps; [ - ]; - "wallbox" = ps: with ps; [ - wallbox - ]; - "waqi" = ps: with ps; [ - aiowaqi - ]; - "water_heater" = ps: with ps; [ - ]; - "waterfurnace" = ps: with ps; [ - waterfurnace - ]; - "watson_iot" = ps: with ps; [ - ]; # missing inputs: ibmiotf - "watttime" = ps: with ps; [ - aiowatttime - ]; - "waze_travel_time" = ps: with ps; [ - pywaze - ]; - "weather" = ps: with ps; [ - ]; - "weatherflow" = ps: with ps; [ - pyweatherflowudp - ]; - "weatherflow_cloud" = ps: with ps; [ - weatherflow4py - ]; - "weatherkit" = ps: with ps; [ - apple-weatherkit - ]; - "webhook" = ps: with ps; [ - ]; - "webmin" = ps: with ps; [ - webmin-xmlrpc - ]; - "webostv" = ps: with ps; [ - aiowebostv - ]; - "websocket_api" = ps: with ps; [ - ]; - "weheat" = ps: with ps; [ - weheat - ]; - "wemo" = ps: with ps; [ - pywemo - ]; - "whirlpool" = ps: with ps; [ - whirlpool-sixth-sense - ]; - "whisper" = ps: with ps; [ - ]; - "whois" = ps: with ps; [ - whois - ]; - "wiffi" = ps: with ps; [ - wiffi - ]; - "wilight" = ps: with ps; [ - pywilight - ]; - "wirelesstag" = ps: with ps; [ - ]; # missing inputs: wirelesstagpy - "withings" = ps: with ps; [ - aiohasupervisor - aiowithings - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - ]; - "wiz" = ps: with ps; [ - ifaddr - pywizlight - ]; - "wled" = ps: with ps; [ - wled - ]; - "wmspro" = ps: with ps; [ - ]; # missing inputs: pywmspro - "wolflink" = ps: with ps; [ - ]; # missing inputs: wolf-comm - "workday" = ps: with ps; [ - holidays - ]; - "worldclock" = ps: with ps; [ - ]; - "worldtidesinfo" = ps: with ps; [ - ]; - "worxlandroid" = ps: with ps; [ - ]; - "ws66i" = ps: with ps; [ - pyws66i - ]; - "wsdot" = ps: with ps; [ - ]; - "wyoming" = ps: with ps; [ - ha-ffmpeg - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - wyoming - ]; - "x10" = ps: with ps; [ - ]; - "xbox" = ps: with ps; [ - xbox-webapi - ]; - "xeoma" = ps: with ps; [ - pyxeoma - ]; - "xiaomi" = ps: with ps; [ - ha-ffmpeg - ]; - "xiaomi_aqara" = ps: with ps; [ - pyxiaomigateway - ]; - "xiaomi_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - xiaomi-ble - zeroconf - ]; - "xiaomi_miio" = ps: with ps; [ - construct - micloud - python-miio - ]; - "xiaomi_tv" = ps: with ps; [ - pymitv - ]; - "xmpp" = ps: with ps; [ - emoji - slixmpp - ]; - "xs1" = ps: with ps; [ - ]; # missing inputs: xs1-api-client - "yale" = ps: with ps; [ - aiohasupervisor - ha-ffmpeg - hass-nabucasa - hassil - home-assistant-intents - mutagen - pymicro-vad - pyspeex-noise - python-matter-server - pyturbojpeg - yalexs - yalexs-ble - ]; - "yale_home" = ps: with ps; [ - ]; - "yale_smart_alarm" = ps: with ps; [ - yalesmartalarmclient - ]; - "yalexs_ble" = ps: with ps; [ - aioesphomeapi - aioruuvigateway - aioshelly - bleak - bleak-esphome - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - dbus-fast - esphome-dashboard-api - ha-ffmpeg - habluetooth - hassil - home-assistant-intents - ifaddr - mutagen - pymicro-vad - pyserial - pyspeex-noise - pyudev - yalexs-ble - zeroconf - ]; - "yamaha" = ps: with ps; [ - rxv - ]; - "yamaha_musiccast" = ps: with ps; [ - aiomusiccast - async-upnp-client - ifaddr - ]; - "yandex_transport" = ps: with ps; [ - aioymaps - ]; - "yandextts" = ps: with ps; [ - ]; - "yardian" = ps: with ps; [ - pyyardian - ]; - "yeelight" = ps: with ps; [ - async-upnp-client - ifaddr - yeelight - ]; - "yeelightsunflower" = ps: with ps; [ - ]; # missing inputs: yeelightsunflower - "yi" = ps: with ps; [ - aioftp - ha-ffmpeg - ]; - "yolink" = ps: with ps; [ - yolink-api - ]; - "youless" = ps: with ps; [ - youless-api - ]; - "youtube" = ps: with ps; [ - youtubeaio - ]; - "zabbix" = ps: with ps; [ - py-zabbix - ]; - "zamg" = ps: with ps; [ - zamg - ]; - "zengge" = ps: with ps; [ - bluepy - ]; # missing inputs: zengge - "zeroconf" = ps: with ps; [ - ifaddr - zeroconf - ]; - "zerproc" = ps: with ps; [ - pyzerproc - ]; - "zestimate" = ps: with ps; [ - xmltodict - ]; - "zeversolar" = ps: with ps; [ - zeversolar - ]; - "zha" = ps: with ps; [ - aiohasupervisor - pillow - pyserial - pyudev - universal-silabs-flasher - zha - ]; - "zhong_hong" = ps: with ps; [ - ]; # missing inputs: zhong-hong-hvac - "ziggo_mediabox_xl" = ps: with ps; [ - ]; # missing inputs: ziggo-mediabox-xl - "zodiac" = ps: with ps; [ - ]; - "zondergas" = ps: with ps; [ - ]; - "zone" = ps: with ps; [ - ]; - "zoneminder" = ps: with ps; [ - zm-py - ]; - "zwave_js" = ps: with ps; [ - aiohasupervisor - pyserial - pyudev - zwave-js-server-python - ]; - "zwave_me" = ps: with ps; [ - ifaddr - url-normalize - zeroconf - zwave-me-ws - ]; + "3_day_blinds" = + ps: with ps; [ + ]; + "abode" = + ps: with ps; [ + jaraco-abode + ]; + "accuweather" = + ps: with ps; [ + accuweather + ]; + "acer_projector" = + ps: with ps; [ + pyserial + ]; + "acmeda" = + ps: with ps; [ + aiopulse + ]; + "acomax" = + ps: with ps; [ + ]; + "actiontec" = + ps: with ps; [ + ]; + "adax" = + ps: with ps; [ + adax + adax-local + ]; + "adguard" = + ps: with ps; [ + adguardhome + ]; + "ads" = + ps: with ps; [ + pyads + ]; + "advantage_air" = + ps: with ps; [ + advantage-air + ]; + "aemet" = + ps: with ps; [ + aemet-opendata + ]; + "aep_ohio" = + ps: with ps; [ + ]; + "aep_texas" = + ps: with ps; [ + ]; + "aftership" = + ps: with ps; [ + pyaftership + ]; + "agent_dvr" = + ps: with ps; [ + agent-py + ]; + "air_quality" = + ps: with ps; [ + ]; + "airgradient" = + ps: with ps; [ + airgradient + ]; + "airly" = + ps: with ps; [ + airly + ]; + "airnow" = + ps: with ps; [ + pyairnow + ]; + "airq" = + ps: with ps; [ + aioairq + ]; + "airthings" = + ps: with ps; [ + airthings-cloud + ]; + "airthings_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + airthings-ble + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "airtouch4" = + ps: with ps; [ + airtouch4pyapi + ]; + "airtouch5" = + ps: with ps; [ + airtouch5py + ]; + "airvisual" = + ps: with ps; [ + pyairvisual + ]; + "airvisual_pro" = + ps: with ps; [ + pyairvisual + ]; + "airzone" = + ps: with ps; [ + aioairzone + ]; + "airzone_cloud" = + ps: with ps; [ + aioairzone-cloud + ]; + "aladdin_connect" = + ps: with ps; [ + ]; + "alarm_control_panel" = + ps: with ps; [ + ]; + "alarmdecoder" = + ps: with ps; [ + adext + ]; + "alert" = + ps: with ps; [ + ]; + "alexa" = + ps: with ps; [ + pyturbojpeg + ]; + "alpha_vantage" = + ps: with ps; [ + alpha-vantage + ]; + "amazon_polly" = + ps: with ps; [ + boto3 + ]; + "amberelectric" = + ps: with ps; [ + amberelectric + ]; + "ambient_network" = + ps: with ps; [ + aioambient + ]; + "ambient_station" = + ps: with ps; [ + aioambient + ]; + "amcrest" = + ps: with ps; [ + amcrest + ha-ffmpeg + ]; + "amp_motorization" = + ps: with ps; [ + ]; + "ampio" = + ps: with ps; [ + asmog + ]; + "analytics" = + ps: with ps; [ + aiohasupervisor + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "analytics_insights" = + ps: with ps; [ + python-homeassistant-analytics + ]; + "android_ip_webcam" = + ps: with ps; [ + pydroid-ipcam + ]; + "androidtv" = + ps: + with ps; + [ + adb-shell + androidtv + pure-python-adb + ] + ++ adb-shell.optional-dependencies.async + ++ androidtv.optional-dependencies.async + ++ pure-python-adb.optional-dependencies.async; + "androidtv_remote" = + ps: with ps; [ + androidtvremote2 + ]; + "anel_pwrctrl" = + ps: with ps; [ + anel-pwrctrl-homeassistant + ]; + "anova" = + ps: with ps; [ + anova-wifi + ]; + "anthemav" = + ps: with ps; [ + anthemav + ]; + "anthropic" = + ps: with ps; [ + anthropic + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + ]; + "anwb_energie" = + ps: with ps; [ + ]; + "aosmith" = + ps: with ps; [ + py-aosmith + ]; + "apache_kafka" = + ps: with ps; [ + aiokafka + ]; + "apcupsd" = + ps: with ps; [ + aioapcaccess + ]; + "api" = + ps: with ps; [ + ]; + "appalachianpower" = + ps: with ps; [ + ]; + "apple_tv" = + ps: with ps; [ + ifaddr + pyatv + zeroconf + ]; + "application_credentials" = + ps: with ps; [ + ]; + "apprise" = + ps: with ps; [ + apprise + ]; + "aprilaire" = + ps: with ps; [ + pyaprilaire + ]; + "aprs" = + ps: with ps; [ + aprslib + geopy + ]; + "aps" = + ps: with ps; [ + ]; + "apsystems" = + ps: with ps; [ + apsystems-ez1 + ]; + "aquacell" = + ps: with ps; [ + aioaquacell + ifaddr + ]; + "aqualogic" = + ps: with ps; [ + aqualogic + ]; + "aquostv" = + ps: with ps; [ + sharp-aquos-rc + ]; + "aranet" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + aranet4 + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "arcam_fmj" = + ps: with ps; [ + arcam-fmj + ]; + "arest" = + ps: with ps; [ + ]; + "arris_tg2492lg" = + ps: with ps; [ + arris-tg2492lg + ]; + "artsound" = + ps: with ps; [ + ]; + "aruba" = + ps: with ps; [ + pexpect + ]; + "arve" = + ps: with ps; [ + asyncarve + ]; + "arwn" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "aseko_pool_live" = + ps: with ps; [ + aioaseko + ]; + "assist_pipeline" = + ps: with ps; [ + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + ]; + "assist_satellite" = + ps: with ps; [ + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + ]; + "asuswrt" = + ps: with ps; [ + aioasuswrt + pyasuswrt + ]; + "atag" = + ps: with ps; [ + pyatag + ]; + "aten_pe" = + ps: with ps; [ + atenpdu + ]; + "atlanticcityelectric" = + ps: with ps; [ + ]; + "atome" = + ps: with ps; [ + pyatome + ]; + "august" = + ps: with ps; [ + yalexs + yalexs-ble + ]; + "august_ble" = + ps: with ps; [ + ]; + "aurora" = + ps: with ps; [ + auroranoaa + ]; + "aurora_abb_powerone" = + ps: with ps; [ + aurorapy + ]; + "aussie_broadband" = + ps: with ps; [ + pyaussiebb + ]; + "autarco" = + ps: with ps; [ + autarco + ]; + "auth" = + ps: with ps; [ + ]; + "automation" = + ps: with ps; [ + ]; + "avea" = + ps: with ps; [ + avea + ]; + "avion" = + ps: with ps; [ + avion + ]; + "awair" = + ps: with ps; [ + python-awair + ]; + "aws" = + ps: with ps; [ + aiobotocore + botocore + ]; + "axis" = + ps: with ps; [ + aiohasupervisor + axis + paho-mqtt_1 + ]; + "azure_data_explorer" = + ps: + with ps; + [ + azure-kusto-data + azure-kusto-ingest + ] + ++ azure-kusto-data.optional-dependencies.aio; + "azure_devops" = + ps: with ps; [ + aioazuredevops + ]; + "azure_event_hub" = + ps: with ps; [ + azure-eventhub + ]; + "azure_service_bus" = + ps: with ps; [ + azure-servicebus + ]; + "backup" = + ps: with ps; [ + securetar + ]; + "baf" = + ps: with ps; [ + aiobafi6 + ]; + "baidu" = + ps: with ps; [ + ]; # missing inputs: baidu-aip + "balboa" = + ps: with ps; [ + pybalboa + ]; + "bang_olufsen" = + ps: with ps; [ + mozart-api + ]; + "bayesian" = + ps: with ps; [ + ]; + "bbox" = + ps: with ps; [ + ]; # missing inputs: pybbox + "beewi_smartclim" = + ps: with ps; [ + ]; # missing inputs: beewi-smartclim + "bge" = + ps: with ps; [ + ]; + "binary_sensor" = + ps: with ps; [ + ]; + "bitcoin" = + ps: with ps; [ + blockchain + ]; + "bizkaibus" = + ps: with ps; [ + bizkaibus + ]; + "blackbird" = + ps: with ps; [ + pyblackbird + ]; + "blebox" = + ps: with ps; [ + blebox-uniapi + ]; + "blink" = + ps: with ps; [ + blinkpy + ]; + "bliss_automation" = + ps: with ps; [ + ]; + "bloc_blinds" = + ps: with ps; [ + ]; + "blockchain" = + ps: with ps; [ + ]; # missing inputs: python-blockchain-api + "blue_current" = + ps: with ps; [ + bluecurrent-api + ]; + "bluemaestro" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluemaestro-ble + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "blueprint" = + ps: with ps; [ + ]; + "bluesound" = + ps: with ps; [ + ifaddr + pyblu + zeroconf + ]; + "bluetooth" = + ps: with ps; [ + bleak + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + habluetooth + pyserial + pyudev + ]; + "bluetooth_adapters" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "bluetooth_le_tracker" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "bluetooth_tracker" = + ps: with ps; [ + bt-proximity + pybluez + ]; + "bmw_connected_drive" = + ps: + with ps; + [ + bimmer-connected + ] + ++ bimmer-connected.optional-dependencies.china; + "bond" = + ps: with ps; [ + bond-async + ]; + "bosch_shc" = + ps: with ps; [ + boschshcpy + ifaddr + zeroconf + ]; + "brandt" = + ps: with ps; [ + ]; + "braviatv" = + ps: with ps; [ + pybravia + ]; + "brel_home" = + ps: with ps; [ + ]; + "bring" = + ps: with ps; [ + bring-api + ]; + "broadlink" = + ps: with ps; [ + broadlink + ]; + "brother" = + ps: with ps; [ + brother + pysnmp + ]; + "brottsplatskartan" = + ps: with ps; [ + brottsplatskartan + ]; + "browser" = + ps: with ps; [ + ]; + "brunt" = + ps: with ps; [ + brunt + ]; + "bryant_evolution" = + ps: with ps; [ + evolutionhttp + ]; + "bsblan" = + ps: with ps; [ + python-bsblan + ]; + "bswitch" = + ps: with ps; [ + ]; + "bt_home_hub_5" = + ps: with ps; [ + bthomehub5-devicelist + ]; + "bt_smarthub" = + ps: with ps; [ + btsmarthub-devicelist + ]; + "bthome" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + bthome-ble + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "bticino" = + ps: with ps; [ + ]; + "bubendorff" = + ps: with ps; [ + ]; + "buienradar" = + ps: with ps; [ + buienradar + ]; + "button" = + ps: with ps; [ + ]; + "caldav" = + ps: with ps; [ + caldav + ]; + "calendar" = + ps: with ps; [ + ]; + "cambridge_audio" = + ps: with ps; [ + aiostreammagic + ]; + "camera" = + ps: with ps; [ + pyturbojpeg + ]; + "canary" = + ps: with ps; [ + ha-ffmpeg + py-canary + ]; + "cast" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + ifaddr + mutagen + plexapi + plexauth + plexwebsocket + pychromecast + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + zeroconf + ]; + "ccm15" = + ps: with ps; [ + py-ccm15 + ]; + "cert_expiry" = + ps: with ps; [ + ]; + "chacon_dio" = + ps: with ps; [ + dio-chacon-wifi-api + ]; + "channels" = + ps: with ps; [ + pychannels + ]; + "cisco_ios" = + ps: with ps; [ + pexpect + ]; + "cisco_mobility_express" = + ps: with ps; [ + ciscomobilityexpress + ]; + "cisco_webex_teams" = + ps: with ps; [ + webexpythonsdk + ]; + "citybikes" = + ps: with ps; [ + ]; + "clementine" = + ps: with ps; [ + ]; # missing inputs: python-clementine-remote + "clickatell" = + ps: with ps; [ + ]; + "clicksend" = + ps: with ps; [ + ]; + "clicksend_tts" = + ps: with ps; [ + ]; + "climate" = + ps: with ps; [ + ]; + "cloud" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "cloudflare" = + ps: with ps; [ + pycfdns + ]; + "cmus" = + ps: with ps; [ + ]; # missing inputs: pycmus + "co2signal" = + ps: with ps; [ + aioelectricitymaps + ]; + "coautilities" = + ps: with ps; [ + ]; + "coinbase" = + ps: with ps; [ + ]; # missing inputs: coinbase coinbase-advanced-py + "color_extractor" = + ps: with ps; [ + colorthief + ]; + "comed" = + ps: with ps; [ + ]; + "comed_hourly_pricing" = + ps: with ps; [ + ]; + "comelit" = + ps: with ps; [ + aiocomelit + ]; + "comfoconnect" = + ps: with ps; [ + pycomfoconnect + ]; + "command_line" = + ps: with ps; [ + jsonpath + ]; + "compensation" = + ps: with ps; [ + numpy_1 + ]; + "concord232" = + ps: with ps; [ + ]; # missing inputs: concord232 + "coned" = + ps: with ps; [ + ]; + "config" = + ps: with ps; [ + ]; + "configurator" = + ps: with ps; [ + ]; + "control4" = + ps: with ps; [ + pycontrol4 + ]; + "conversation" = + ps: with ps; [ + hassil + home-assistant-intents + ]; + "coolmaster" = + ps: with ps; [ + pycoolmasternet-async + ]; + "counter" = + ps: with ps; [ + ]; + "cover" = + ps: with ps; [ + ]; + "cozytouch" = + ps: with ps; [ + ]; + "cppm_tracker" = + ps: with ps; [ + ]; # missing inputs: clearpasspy + "cpuspeed" = + ps: with ps; [ + py-cpuinfo + ]; + "cribl" = + ps: with ps; [ + ]; + "crownstone" = + ps: with ps; [ + crownstone-cloud + crownstone-sse + crownstone-uart + pyserial + pyudev + ]; + "cups" = + ps: with ps; [ + pycups + ]; + "currencylayer" = + ps: with ps; [ + ]; + "dacia" = + ps: with ps; [ + ]; + "daikin" = + ps: with ps; [ + pydaikin + ]; + "danfoss_air" = + ps: with ps; [ + pydanfossair + ]; + "datadog" = + ps: with ps; [ + datadog + ]; + "date" = + ps: with ps; [ + ]; + "datetime" = + ps: with ps; [ + ]; + "ddwrt" = + ps: with ps; [ + ]; + "deako" = + ps: with ps; [ + ifaddr + pydeako + zeroconf + ]; + "debugpy" = + ps: with ps; [ + debugpy + ]; + "deconz" = + ps: with ps; [ + pydeconz + ]; + "decora" = + ps: with ps; [ + bluepy + ]; # missing inputs: decora + "decora_wifi" = + ps: with ps; [ + ]; # missing inputs: decora-wifi + "default_config" = + ps: with ps; [ + aiodhcpwatcher + aiodiscover + aiohasupervisor + async-upnp-client + av + bleak + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + cached-ipaddress + dbus-fast + fnv-hash-fast + go2rtc-client + ha-ffmpeg + habluetooth + hass-nabucasa + hassil + home-assistant-frontend + home-assistant-intents + ifaddr + mutagen + numpy_1 + pillow + psutil-home-assistant + pymicro-vad + pynacl + pyserial + pyspeex-noise + python-matter-server + pyturbojpeg + pyudev + securetar + sqlalchemy + zeroconf + ]; + "delijn" = + ps: with ps; [ + pydelijn + ]; + "delmarva" = + ps: with ps; [ + ]; + "deluge" = + ps: with ps; [ + deluge-client + ]; + "demo" = + ps: with ps; [ + hassil + home-assistant-intents + ]; + "denon" = + ps: with ps; [ + ]; + "denonavr" = + ps: with ps; [ + denonavr + ]; + "derivative" = + ps: with ps; [ + ]; + "devialet" = + ps: with ps; [ + devialet + ifaddr + zeroconf + ]; + "device_automation" = + ps: with ps; [ + ]; + "device_sun_light_trigger" = + ps: with ps; [ + pillow + ]; + "device_tracker" = + ps: with ps; [ + ]; + "devolo_home_control" = + ps: with ps; [ + devolo-home-control-api + ifaddr + zeroconf + ]; + "devolo_home_network" = + ps: with ps; [ + devolo-plc-api + ]; + "dexcom" = + ps: with ps; [ + pydexcom + ]; + "dhcp" = + ps: with ps; [ + aiodhcpwatcher + aiodiscover + cached-ipaddress + ]; + "diagnostics" = + ps: with ps; [ + ]; + "dialogflow" = + ps: with ps; [ + ]; + "diaz" = + ps: with ps; [ + ]; + "digital_loggers" = + ps: with ps; [ + ]; + "digital_ocean" = + ps: with ps; [ + python-digitalocean + ]; + "directv" = + ps: with ps; [ + directv + ]; + "discogs" = + ps: with ps; [ + discogs-client + ]; + "discord" = + ps: with ps; [ + nextcord + ]; + "discovergy" = + ps: with ps; [ + pydiscovergy + ]; + "dlib_face_detect" = + ps: with ps; [ + face-recognition + ]; + "dlib_face_identify" = + ps: with ps; [ + face-recognition + ]; + "dlink" = + ps: with ps; [ + ]; # missing inputs: pyW215 + "dlna_dmr" = + ps: with ps; [ + async-upnp-client + getmac + ifaddr + ]; + "dlna_dms" = + ps: with ps; [ + async-upnp-client + ifaddr + ]; + "dnsip" = + ps: with ps; [ + aiodns + ]; + "dominos" = + ps: with ps; [ + ]; # missing inputs: pizzapi + "doods" = + ps: with ps; [ + pillow + pydoods + ]; + "doorbird" = + ps: with ps; [ + doorbirdpy + ]; + "dooya" = + ps: with ps; [ + ]; + "dormakaba_dkey" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + py-dormakaba-dkey + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "downloader" = + ps: with ps; [ + ]; + "dremel_3d_printer" = + ps: with ps; [ + dremel3dpy + ]; + "drop_connect" = + ps: with ps; [ + aiohasupervisor + dropmqttapi + paho-mqtt_1 + ]; + "dsmr" = + ps: with ps; [ + dsmr-parser + ]; + "dsmr_reader" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "dte_energy_bridge" = + ps: with ps; [ + ]; + "dublin_bus_transport" = + ps: with ps; [ + ]; + "duckdns" = + ps: with ps; [ + ]; + "duke_energy" = + ps: with ps; [ + aiodukeenergy + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "dunehd" = + ps: with ps; [ + pdunehd + ]; + "duotecno" = + ps: with ps; [ + pyduotecno + ]; + "duquesne_light" = + ps: with ps; [ + ]; + "dwd_weather_warnings" = + ps: with ps; [ + dwdwfsapi + ]; + "dweet" = + ps: with ps; [ + ]; # missing inputs: dweepy + "dynalite" = + ps: with ps; [ + aiohasupervisor + dynalite-devices + dynalite-panel + home-assistant-frontend + pillow + ]; + "eafm" = + ps: with ps; [ + aioeafm + ]; + "eastron" = + ps: with ps; [ + ]; + "easyenergy" = + ps: with ps; [ + easyenergy + ]; + "ebox" = + ps: with ps; [ + ]; # missing inputs: pyebox + "ebusd" = + ps: with ps; [ + ]; # missing inputs: ebusdpy + "ecoal_boiler" = + ps: with ps; [ + ecoaliface + ]; + "ecobee" = + ps: with ps; [ + python-ecobee-api + ]; + "ecoforest" = + ps: with ps; [ + pyecoforest + ]; + "econet" = + ps: with ps; [ + pyeconet + ]; + "ecovacs" = + ps: with ps; [ + deebot-client + py-sucks + ]; + "ecowitt" = + ps: with ps; [ + aioecowitt + ]; + "eddystone_temperature" = + ps: with ps; [ + ]; # missing inputs: beacontools + "edimax" = + ps: with ps; [ + pyedimax + ]; + "edl21" = + ps: with ps; [ + pysml + ]; + "efergy" = + ps: with ps; [ + pyefergy + ]; + "egardia" = + ps: with ps; [ + pythonegardia + ]; + "eight_sleep" = + ps: with ps; [ + ]; + "electrasmart" = + ps: with ps; [ + pyelectra + ]; + "electric_kiwi" = + ps: with ps; [ + ]; # missing inputs: electrickiwi-api + "elevenlabs" = + ps: with ps; [ + elevenlabs + ]; + "elgato" = + ps: with ps; [ + elgato + ]; + "eliqonline" = + ps: with ps; [ + eliqonline + ]; + "elkm1" = + ps: with ps; [ + elkm1-lib + ifaddr + ]; + "elmax" = + ps: with ps; [ + elmax-api + ]; + "elv" = + ps: with ps; [ + pypca + ]; + "elvia" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; # missing inputs: elvia + "emby" = + ps: with ps; [ + pyemby + ]; + "emoncms" = + ps: with ps; [ + pyemoncms + ]; + "emoncms_history" = + ps: with ps; [ + ]; + "emonitor" = + ps: with ps; [ + aioemonitor + ]; + "emulated_hue" = + ps: with ps; [ + ifaddr + ]; + "emulated_kasa" = + ps: with ps; [ + sense-energy + ]; + "emulated_roku" = + ps: with ps; [ + emulated-roku + ifaddr + ]; + "energenie_power_sockets" = + ps: with ps; [ + pyegps + ]; + "energie_vanons" = + ps: with ps; [ + ]; + "energy" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "energyzero" = + ps: with ps; [ + energyzero + ]; + "enigma2" = + ps: with ps; [ + openwebifpy + ]; + "enmax" = + ps: with ps; [ + ]; + "enocean" = + ps: with ps; [ + enocean + ]; + "enphase_envoy" = + ps: with ps; [ + pyenphase + ]; + "entur_public_transport" = + ps: with ps; [ + enturclient + ]; + "environment_canada" = + ps: with ps; [ + env-canada + ]; + "envisalink" = + ps: with ps; [ + pyenvisalink + ]; + "ephember" = + ps: with ps; [ + pyephember + ]; + "epic_games_store" = + ps: with ps; [ + epicstore-api + ]; + "epion" = + ps: with ps; [ + epion + ]; + "epson" = + ps: with ps; [ + epson-projector + ]; + "eq3btsmart" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + eq3btsmart + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "escea" = + ps: with ps; [ + pescea + ]; + "esera_onewire" = + ps: with ps; [ + ]; + "esphome" = + ps: with ps; [ + aioesphomeapi + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "etherscan" = + ps: with ps; [ + ]; # missing inputs: python-etherscan-api + "eufy" = + ps: with ps; [ + lakeside + ]; + "eufylife_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + eufylife-ble-client + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "event" = + ps: with ps; [ + ]; + "evergy" = + ps: with ps; [ + ]; + "everlights" = + ps: with ps; [ + pyeverlights + ]; + "evil_genius_labs" = + ps: with ps; [ + pyevilgenius + ]; + "evohome" = + ps: with ps; [ + evohome-async + ]; + "ezviz" = + ps: with ps; [ + ha-ffmpeg + pyezviz + ]; + "faa_delays" = + ps: with ps; [ + faadelays + ]; + "facebook" = + ps: with ps; [ + ]; + "fail2ban" = + ps: with ps; [ + ]; + "familyhub" = + ps: with ps; [ + python-family-hub-local + ]; + "fan" = + ps: with ps; [ + ]; + "fastdotcom" = + ps: with ps; [ + ]; # missing inputs: fastdotcom + "feedreader" = + ps: with ps; [ + feedparser + ]; + "ffmpeg" = + ps: with ps; [ + ha-ffmpeg + ]; + "ffmpeg_motion" = + ps: with ps; [ + ha-ffmpeg + ]; + "ffmpeg_noise" = + ps: with ps; [ + ha-ffmpeg + ]; + "fibaro" = + ps: with ps; [ + pyfibaro + ]; + "fido" = + ps: with ps; [ + pyfido + ]; + "file" = + ps: with ps; [ + file-read-backwards + ]; + "file_upload" = + ps: with ps; [ + ]; + "filesize" = + ps: with ps; [ + ]; + "filter" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "fints" = + ps: with ps; [ + fints + ]; + "fire_tv" = + ps: with ps; [ + ]; + "fireservicerota" = + ps: with ps; [ + pyfireservicerota + ]; + "firmata" = + ps: with ps; [ + pymata-express + ]; + "fitbit" = + ps: with ps; [ + fitbit + ]; + "fivem" = + ps: with ps; [ + fivem-api + ]; + "fixer" = + ps: with ps; [ + fixerio + ]; + "fjaraskupan" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + fjaraskupan + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "fleetgo" = + ps: with ps; [ + ritassist + ]; + "flexit" = + ps: with ps; [ + pymodbus + ]; + "flexit_bacnet" = + ps: with ps; [ + flexit-bacnet + ]; + "flexom" = + ps: with ps; [ + ]; + "flic" = + ps: with ps; [ + pyflic + ]; + "flick_electric" = + ps: with ps; [ + pyflick + ]; + "flipr" = + ps: with ps; [ + flipr-api + ]; + "flo" = + ps: with ps; [ + aioflo + ]; + "flock" = + ps: with ps; [ + ]; + "flume" = + ps: with ps; [ + pyflume + ]; + "flux" = + ps: with ps; [ + ]; + "flux_led" = + ps: with ps; [ + flux-led + ifaddr + ]; + "folder" = + ps: with ps; [ + ]; + "folder_watcher" = + ps: with ps; [ + watchdog + ]; + "foobot" = + ps: with ps; [ + foobot-async + ]; + "forecast_solar" = + ps: with ps; [ + forecast-solar + ]; + "forked_daapd" = + ps: with ps; [ + spotifyaio + ]; # missing inputs: pyforked-daapd pylibrespot-java + "fortios" = + ps: with ps; [ + fortiosapi + ]; + "foscam" = + ps: with ps; [ + libpyfoscam + ]; + "foursquare" = + ps: with ps; [ + ]; + "free_mobile" = + ps: with ps; [ + ]; # missing inputs: freesms + "freebox" = + ps: with ps; [ + freebox-api + ha-ffmpeg + ]; + "freedns" = + ps: with ps; [ + ]; + "freedompro" = + ps: with ps; [ + pyfreedompro + ]; + "fritz" = + ps: + with ps; + [ + fritzconnection + ifaddr + xmltodict + ] + ++ fritzconnection.optional-dependencies.qr; + "fritzbox" = + ps: with ps; [ + pyfritzhome + ]; + "fritzbox_callmonitor" = + ps: + with ps; + [ + fritzconnection + ] + ++ fritzconnection.optional-dependencies.qr; + "fronius" = + ps: with ps; [ + pyfronius + ]; + "frontend" = + ps: with ps; [ + aiohasupervisor + home-assistant-frontend + pillow + ]; + "frontier_silicon" = + ps: with ps; [ + afsapi + ]; + "fujitsu_anywair" = + ps: with ps; [ + ]; + "fujitsu_fglair" = + ps: with ps; [ + ayla-iot-unofficial + ]; + "fully_kiosk" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + python-fullykiosk + ]; + "futurenow" = + ps: with ps; [ + pyfnip + ]; + "fyta" = + ps: with ps; [ + fyta-cli + ]; + "garadget" = + ps: with ps; [ + ]; + "garages_amsterdam" = + ps: with ps; [ + odp-amsterdam + ]; + "gardena_bluetooth" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + gardena-bluetooth + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "gaviota" = + ps: with ps; [ + ]; + "gc100" = + ps: with ps; [ + ]; # missing inputs: python-gc100 + "gdacs" = + ps: with ps; [ + aio-georss-gdacs + ]; + "generic" = + ps: with ps; [ + av + pillow + ]; + "generic_hygrostat" = + ps: with ps; [ + ]; + "generic_thermostat" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "geniushub" = + ps: with ps; [ + geniushub-client + ]; + "geo_json_events" = + ps: with ps; [ + aio-geojson-generic-client + ]; + "geo_location" = + ps: with ps; [ + ]; + "geo_rss_events" = + ps: with ps; [ + georss-generic-client + ]; + "geocaching" = + ps: with ps; [ + geocachingapi + ]; + "geofency" = + ps: with ps; [ + ]; + "geonetnz_quakes" = + ps: with ps; [ + aio-geojson-geonetnz-quakes + ]; + "geonetnz_volcano" = + ps: with ps; [ + aio-geojson-geonetnz-volcano + ]; + "gios" = + ps: with ps; [ + gios + ]; + "github" = + ps: with ps; [ + aiogithubapi + ]; + "gitlab_ci" = + ps: with ps; [ + python-gitlab + ]; + "gitter" = + ps: with ps; [ + ]; # missing inputs: gitterpy + "glances" = + ps: with ps; [ + glances-api + ]; + "go2rtc" = + ps: with ps; [ + go2rtc-client + pyturbojpeg + ]; + "goalzero" = + ps: with ps; [ + goalzero + ]; + "gogogate2" = + ps: with ps; [ + ismartgate + ]; + "goodwe" = + ps: with ps; [ + goodwe + ]; + "google" = + ps: with ps; [ + gcal-sync + ical + oauth2client + ]; + "google_assistant" = + ps: with ps; [ + aiohasupervisor + python-matter-server + pyturbojpeg + ]; + "google_assistant_sdk" = + ps: with ps; [ + gassist-text + ]; + "google_cloud" = + ps: with ps; [ + google-cloud-speech + google-cloud-texttospeech + ]; + "google_generative_ai_conversation" = + ps: with ps; [ + google-generativeai + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + ]; + "google_mail" = + ps: with ps; [ + google-api-python-client + ]; + "google_maps" = + ps: with ps; [ + locationsharinglib + ]; + "google_photos" = + ps: with ps; [ + google-photos-library-api + ]; + "google_pubsub" = + ps: with ps; [ + google-cloud-pubsub + ]; + "google_sheets" = + ps: with ps; [ + gspread + ]; + "google_tasks" = + ps: with ps; [ + google-api-python-client + ]; + "google_translate" = + ps: with ps; [ + gtts + ]; + "google_travel_time" = + ps: with ps; [ + googlemaps + ]; + "google_wifi" = + ps: with ps; [ + ]; + "govee_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + govee-ble + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "govee_light_local" = + ps: with ps; [ + govee-local-api + ifaddr + ]; + "gpsd" = + ps: with ps; [ + gps3 + ]; + "gpslogger" = + ps: with ps; [ + ]; + "graphite" = + ps: with ps; [ + ]; + "gree" = + ps: with ps; [ + greeclimate + ifaddr + ]; + "greeneye_monitor" = + ps: with ps; [ + greeneye-monitor + ]; + "greenwave" = + ps: with ps; [ + ]; # missing inputs: greenwavereality + "group" = + ps: with ps; [ + ]; + "growatt_server" = + ps: with ps; [ + growattserver + ]; + "gstreamer" = + ps: with ps; [ + ]; # missing inputs: gstreamer-player + "gtfs" = + ps: with ps; [ + pygtfs + ]; + "guardian" = + ps: with ps; [ + aioguardian + ]; + "habitica" = + ps: with ps; [ + habitipy + ]; + "hardkernel" = + ps: with ps; [ + aiohasupervisor + psutil-home-assistant + ]; + "hardware" = + ps: with ps; [ + psutil-home-assistant + ]; + "harman_kardon_avr" = + ps: with ps; [ + hkavr + ]; + "harmony" = + ps: with ps; [ + aioharmony + ]; + "hassio" = + ps: with ps; [ + aiohasupervisor + ]; + "havana_shade" = + ps: with ps; [ + ]; + "haveibeenpwned" = + ps: with ps; [ + ]; + "hddtemp" = + ps: with ps; [ + ]; + "hdmi_cec" = + ps: with ps; [ + pycec + ]; + "heatmiser" = + ps: with ps; [ + heatmiserv3 + ]; + "heiwa" = + ps: with ps; [ + ]; + "heos" = + ps: with ps; [ + pyheos + ]; + "here_travel_time" = + ps: with ps; [ + here-routing + here-transit + ]; + "hexaom" = + ps: with ps; [ + ]; + "hi_kumo" = + ps: with ps; [ + ]; + "hikvision" = + ps: with ps; [ + ]; # missing inputs: pyHik + "hikvisioncam" = + ps: with ps; [ + hikvision + ]; + "hisense_aehw4a1" = + ps: with ps; [ + pyaehw4a1 + ]; + "history" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "history_stats" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "hitron_coda" = + ps: with ps; [ + ]; + "hive" = + ps: with ps; [ + pyhiveapi + ]; + "hko" = + ps: with ps; [ + ]; # missing inputs: hko + "hlk_sw16" = + ps: with ps; [ + hlk-sw16 + ]; + "holiday" = + ps: with ps; [ + babel + holidays + ]; + "home_connect" = + ps: with ps; [ + homeconnect + ]; + "home_plus_control" = + ps: with ps; [ + ]; + "homeassistant" = + ps: with ps; [ + ]; + "homeassistant_alerts" = + ps: with ps; [ + aiohasupervisor + ]; + "homeassistant_green" = + ps: with ps; [ + aiohasupervisor + pillow + psutil-home-assistant + pyserial + pyudev + universal-silabs-flasher + zha + ]; + "homeassistant_hardware" = + ps: with ps; [ + aiohasupervisor + pillow + pyserial + pyudev + universal-silabs-flasher + zha + ]; + "homeassistant_sky_connect" = + ps: with ps; [ + aiohasupervisor + pillow + psutil-home-assistant + pyserial + pyudev + universal-silabs-flasher + zha + ]; + "homeassistant_yellow" = + ps: with ps; [ + aiohasupervisor + pillow + psutil-home-assistant + pyserial + pyudev + universal-silabs-flasher + zha + ]; + "homekit" = + ps: with ps; [ + base36 + fnv-hash-fast + ha-ffmpeg + hap-python + ifaddr + pyqrcode + pyturbojpeg + zeroconf + ]; + "homekit_controller" = + ps: with ps; [ + aioesphomeapi + aiohomekit + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyroute2 + pyserial + pyspeex-noise + python-otbr-api + pyudev + zeroconf + ]; + "homematic" = + ps: with ps; [ + pyhomematic + ]; + "homematicip_cloud" = + ps: with ps; [ + homematicip + ]; + "homewizard" = + ps: with ps; [ + python-homewizard-energy + ]; + "homeworks" = + ps: with ps; [ + pyhomeworks + ]; + "honeywell" = + ps: with ps; [ + aiosomecomfort + ]; + "horizon" = + ps: with ps; [ + ]; # missing inputs: horimote + "hp_ilo" = + ps: with ps; [ + python-hpilo + ]; + "html5" = + ps: with ps; [ + pywebpush + ]; + "http" = + ps: with ps; [ + ]; + "huawei_lte" = + ps: with ps; [ + huawei-lte-api + stringcase + url-normalize + ]; + "hue" = + ps: with ps; [ + aiohue + ]; + "huisbaasje" = + ps: with ps; [ + energyflip-client + ]; + "humidifier" = + ps: with ps; [ + ]; + "hunterdouglas_powerview" = + ps: with ps; [ + aiopvapi + ]; + "hurrican_shutters_wholesale" = + ps: with ps; [ + ]; + "husqvarna_automower" = + ps: with ps; [ + aioautomower + ]; + "husqvarna_automower_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + automower-ble + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "huum" = + ps: with ps; [ + huum + ]; + "hvv_departures" = + ps: with ps; [ + pygti + ]; + "hydrawise" = + ps: with ps; [ + pydrawise + ]; + "hyperion" = + ps: with ps; [ + hyperion-py + ]; + "ialarm" = + ps: with ps; [ + pyialarm + ]; + "iammeter" = + ps: with ps; [ + iammeter + ]; + "iaqualink" = + ps: with ps; [ + h2 + iaqualink + ]; + "ibeacon" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ibeacon-ble + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "icloud" = + ps: with ps; [ + pyicloud + ]; + "idasen_desk" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + idasen-ha + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "idteck_prox" = + ps: with ps; [ + ]; # missing inputs: rfk101py + "ifttt" = + ps: with ps; [ + pyfttt + ]; + "iglo" = + ps: with ps; [ + ]; # missing inputs: iglo + "ign_sismologia" = + ps: with ps; [ + georss-ign-sismologia-client + ]; + "ihc" = + ps: with ps; [ + defusedxml + ihcsdk + ]; + "image" = + ps: with ps; [ + ]; + "image_processing" = + ps: with ps; [ + pyturbojpeg + ]; + "image_upload" = + ps: with ps; [ + pillow + ]; + "imap" = + ps: with ps; [ + aioimaplib + ]; + "imgw_pib" = + ps: with ps; [ + imgw-pib + ]; + "improv_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + py-improv-ble-client + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "incomfort" = + ps: with ps; [ + incomfort-client + ]; + "indianamichiganpower" = + ps: with ps; [ + ]; + "influxdb" = + ps: with ps; [ + influxdb + influxdb-client + ]; + "inkbird" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + inkbird-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "input_boolean" = + ps: with ps; [ + ]; + "input_button" = + ps: with ps; [ + ]; + "input_datetime" = + ps: with ps; [ + ]; + "input_number" = + ps: with ps; [ + ]; + "input_select" = + ps: with ps; [ + ]; + "input_text" = + ps: with ps; [ + ]; + "inspired_shades" = + ps: with ps; [ + ]; + "insteon" = + ps: with ps; [ + aiohasupervisor + home-assistant-frontend + insteon-frontend-home-assistant + pillow + pyinsteon + pyserial + pyudev + ]; + "integration" = + ps: with ps; [ + ]; + "intellifire" = + ps: with ps; [ + intellifire4py + ]; + "intent" = + ps: with ps; [ + ]; + "intent_script" = + ps: with ps; [ + ]; + "intesishome" = + ps: with ps; [ + pyintesishome + ]; + "ios" = + ps: with ps; [ + ifaddr + zeroconf + ]; + "iotawatt" = + ps: with ps; [ + ]; # missing inputs: ha-iotawattpy + "iotty" = + ps: with ps; [ + iottycloud + ]; + "iperf3" = + ps: with ps; [ + ]; # missing inputs: iperf3 + "ipma" = + ps: with ps; [ + pyipma + ]; + "ipp" = + ps: with ps; [ + pyipp + ]; + "iqvia" = + ps: with ps; [ + numpy_1 + pyiqvia + ]; + "irish_rail_transport" = + ps: with ps; [ + ]; # missing inputs: pyirishrail + "iron_os" = + ps: with ps; [ + aioesphomeapi + aiogithubapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pynecil + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "isal" = + ps: with ps; [ + isal + ]; + "iskra" = + ps: with ps; [ + pyiskra + ]; + "islamic_prayer_times" = + ps: with ps; [ + prayer-times-calculator-offline + ]; + "ismartwindow" = + ps: with ps; [ + ]; + "israel_rail" = + ps: with ps; [ + israel-rail-api + ]; + "iss" = + ps: with ps; [ + ]; # missing inputs: pyiss + "ista_ecotrend" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + pyecotrend-ista + sqlalchemy + ]; + "isy994" = + ps: with ps; [ + pyisy + ]; + "itach" = + ps: with ps; [ + ]; # missing inputs: pyitachip2ir + "itunes" = + ps: with ps; [ + ]; + "izone" = + ps: with ps; [ + python-izone + ]; + "jellyfin" = + ps: with ps; [ + jellyfin-apiclient-python + ]; + "jewish_calendar" = + ps: with ps; [ + hdate + ]; + "joaoapps_join" = + ps: with ps; [ + ]; # missing inputs: python-join-api + "juicenet" = + ps: with ps; [ + python-juicenet + ]; + "justnimbus" = + ps: with ps; [ + justnimbus + ]; + "jvc_projector" = + ps: with ps; [ + ]; # missing inputs: pyjvcprojector + "kaiterra" = + ps: with ps; [ + ]; # missing inputs: kaiterra-async-client + "kaleidescape" = + ps: with ps; [ + pykaleidescape + ]; + "kankun" = + ps: with ps; [ + ]; + "keba" = + ps: with ps; [ + keba-kecontact + ]; + "keenetic_ndms2" = + ps: with ps; [ + ndms2-client + ]; + "kef" = + ps: with ps; [ + aiokef + getmac + ]; + "kegtron" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + kegtron-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "kentuckypower" = + ps: with ps; [ + ]; + "keyboard" = + ps: with ps; [ + ]; # missing inputs: pyuserinput + "keyboard_remote" = + ps: with ps; [ + asyncinotify + evdev + ]; + "keymitt_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pymicrobot + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "kira" = + ps: with ps; [ + pykira + ]; + "kitchen_sink" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "kiwi" = + ps: with ps; [ + kiwiki-client + ]; + "kmtronic" = + ps: with ps; [ + pykmtronic + ]; + "knocki" = + ps: with ps; [ + knocki + ]; + "knx" = + ps: with ps; [ + aiohasupervisor + home-assistant-frontend + knx-frontend + pillow + xknx + xknxproject + ]; + "kodi" = + ps: with ps; [ + pykodi + ]; + "konnected" = + ps: with ps; [ + konnected + ]; + "kostal_plenticore" = + ps: with ps; [ + pykoplenti + ]; + "kraken" = + ps: with ps; [ + krakenex + pykrakenapi + ]; + "krispol" = + ps: with ps; [ + ]; + "kulersky" = + ps: with ps; [ + pykulersky + ]; + "kwb" = + ps: with ps; [ + pykwb + ]; + "lacrosse" = + ps: with ps; [ + pylacrosse + ]; + "lacrosse_view" = + ps: with ps; [ + ]; # missing inputs: lacrosse-view + "lamarzocco" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; # missing inputs: lmcloud + "lametric" = + ps: with ps; [ + demetriek + ]; + "landisgyr_heat_meter" = + ps: with ps; [ + pyserial + pyudev + ultraheat-api + ]; + "lannouncer" = + ps: with ps; [ + ]; + "lastfm" = + ps: with ps; [ + pylast + ]; + "launch_library" = + ps: with ps; [ + pylaunches + ]; + "laundrify" = + ps: with ps; [ + laundrify-aio + ]; + "lawn_mower" = + ps: with ps; [ + ]; + "lcn" = + ps: with ps; [ + aiohasupervisor + home-assistant-frontend + lcn-frontend + pillow + pypck + ]; + "ld2410_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + ld2410-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "leaone" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + leaone-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "led_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + led-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "legrand" = + ps: with ps; [ + ]; + "lektrico" = + ps: with ps; [ + lektricowifi + ]; + "lg_netcast" = + ps: with ps; [ + ifaddr + pylgnetcast + ]; + "lg_soundbar" = + ps: with ps; [ + temescal + ]; + "lg_thinq" = + ps: with ps; [ + thinqconnect + ]; + "lidarr" = + ps: with ps; [ + aiopyarr + ]; + "life360" = + ps: with ps; [ + ]; + "lifx" = + ps: with ps; [ + aiolifx + aiolifx-effects + aiolifx-themes + ifaddr + ]; + "lifx_cloud" = + ps: with ps; [ + ]; + "light" = + ps: with ps; [ + ]; + "lightwave" = + ps: with ps; [ + lightwave + ]; + "limitlessled" = + ps: with ps; [ + limitlessled + ]; + "linear_garage_door" = + ps: with ps; [ + linear-garage-door + ]; + "linkplay" = + ps: with ps; [ + python-linkplay + ]; + "linksys_smart" = + ps: with ps; [ + ]; + "linode" = + ps: with ps; [ + linode-api + ]; + "linux_battery" = + ps: with ps; [ + batinfo + ]; + "lirc" = + ps: with ps; [ + ]; # missing inputs: python-lirc + "litejet" = + ps: with ps; [ + pylitejet + ]; + "litterrobot" = + ps: with ps; [ + pylitterbot + ]; + "livisi" = + ps: with ps; [ + aiolivisi + ]; + "llamalab_automate" = + ps: with ps; [ + ]; + "local_calendar" = + ps: with ps; [ + ical + ]; + "local_file" = + ps: with ps; [ + ]; + "local_ip" = + ps: with ps; [ + ifaddr + ]; + "local_todo" = + ps: with ps; [ + ical + ]; + "locative" = + ps: with ps; [ + ]; + "lock" = + ps: with ps; [ + ]; + "logbook" = + ps: with ps; [ + aiohasupervisor + fnv-hash-fast + home-assistant-frontend + pillow + psutil-home-assistant + sqlalchemy + ]; + "logentries" = + ps: with ps; [ + ]; + "logger" = + ps: with ps; [ + ]; + "london_air" = + ps: with ps; [ + ]; + "london_underground" = + ps: with ps; [ + ]; # missing inputs: london-tube-status + "lookin" = + ps: with ps; [ + aiolookin + ]; + "loqed" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + loqedapi + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "lovelace" = + ps: with ps; [ + aiohasupervisor + pillow + ]; + "luci" = + ps: with ps; [ + openwrt-luci-rpc + ]; + "luftdaten" = + ps: with ps; [ + luftdaten + ]; + "lupusec" = + ps: with ps; [ + lupupy + ]; + "lutron" = + ps: with ps; [ + pylutron + ]; + "lutron_caseta" = + ps: with ps; [ + pylutron-caseta + ]; + "luxaflex" = + ps: with ps; [ + ]; + "lw12wifi" = + ps: with ps; [ + ]; # missing inputs: lw12 + "lyric" = + ps: with ps; [ + aiolyric + ]; + "madeco" = + ps: with ps; [ + ]; + "madvr" = + ps: with ps; [ + py-madvr2 + ]; + "mailgun" = + ps: with ps; [ + pymailgunner + ]; + "manual" = + ps: with ps; [ + ]; + "manual_mqtt" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "marantz" = + ps: with ps; [ + ]; + "martec" = + ps: with ps; [ + ]; + "marytts" = + ps: with ps; [ + ]; # missing inputs: speak2mary + "mastodon" = + ps: with ps; [ + mastodon-py + ]; + "matrix" = + ps: with ps; [ + matrix-nio + pillow + ]; + "matter" = + ps: with ps; [ + aiohasupervisor + python-matter-server + ]; + "maxcube" = + ps: with ps; [ + maxcube-api + ]; + "mazda" = + ps: with ps; [ + ]; + "mealie" = + ps: with ps; [ + aiomealie + ]; + "meater" = + ps: with ps; [ + meater-python + ]; + "medcom_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; # missing inputs: medcom-ble + "media_extractor" = + ps: + with ps; + [ + yt-dlp + ] + ++ yt-dlp.optional-dependencies.default; + "media_player" = + ps: with ps; [ + ]; + "media_source" = + ps: with ps; [ + ]; + "mediaroom" = + ps: with ps; [ + pymediaroom + ]; + "melcloud" = + ps: with ps; [ + pymelcloud + ]; + "melissa" = + ps: with ps; [ + ]; # missing inputs: py-melissa-climate + "melnor" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + melnor-bluetooth + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "meraki" = + ps: with ps; [ + ]; + "mercury_nz" = + ps: with ps; [ + ]; + "message_bird" = + ps: with ps; [ + messagebird + ]; + "met" = + ps: with ps; [ + pymetno + ]; + "met_eireann" = + ps: with ps; [ + pymeteireann + ]; + "meteo_france" = + ps: with ps; [ + meteofrance-api + ]; + "meteoalarm" = + ps: with ps; [ + meteoalertapi + ]; + "meteoclimatic" = + ps: with ps; [ + pymeteoclimatic + ]; + "metoffice" = + ps: with ps; [ + datapoint + ]; + "mfi" = + ps: with ps; [ + ]; # missing inputs: mficlient + "microbees" = + ps: with ps; [ + ]; # missing inputs: microBeesPy + "microsoft" = + ps: with ps; [ + ]; # missing inputs: pycsspeechtts + "microsoft_face" = + ps: with ps; [ + pyturbojpeg + ]; + "microsoft_face_detect" = + ps: with ps; [ + pyturbojpeg + ]; + "microsoft_face_identify" = + ps: with ps; [ + pyturbojpeg + ]; + "mijndomein_energie" = + ps: with ps; [ + ]; + "mikrotik" = + ps: with ps; [ + librouteros + ]; + "mill" = + ps: with ps; [ + mill-local + millheater + ]; + "min_max" = + ps: with ps; [ + ]; + "minecraft_server" = + ps: with ps; [ + mcstatus + ]; + "mini_connected" = + ps: with ps; [ + ]; + "minio" = + ps: with ps; [ + minio + ]; + "mjpeg" = + ps: with ps; [ + ]; + "moat" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + moat-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "mobile_app" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pillow + pymicro-vad + pynacl + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "mochad" = + ps: with ps; [ + ]; # missing inputs: pymochad + "modbus" = + ps: with ps; [ + pymodbus + ]; + "modem_callerid" = + ps: with ps; [ + phone-modem + pyserial + pyudev + ]; + "modern_forms" = + ps: with ps; [ + aiomodernforms + ]; + "moehlenhoff_alpha2" = + ps: with ps; [ + ]; # missing inputs: moehlenhoff-alpha2 + "mold_indicator" = + ps: with ps; [ + ]; + "monarch_money" = + ps: with ps; [ + ]; # missing inputs: typedmonarchmoney + "monessen" = + ps: with ps; [ + ]; + "monoprice" = + ps: with ps; [ + ]; # missing inputs: pymonoprice + "monzo" = + ps: with ps; [ + monzopy + ]; + "moon" = + ps: with ps; [ + ]; + "mopeka" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mopeka-iot-ble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "motion_blinds" = + ps: with ps; [ + ifaddr + motionblinds + ]; + "motionblinds_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + motionblindsble + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "motioneye" = + ps: with ps; [ + motioneye-client + ]; + "motionmount" = + ps: with ps; [ + python-motionmount + ]; + "mpd" = + ps: with ps; [ + mpd2 + ]; + "mqtt" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "mqtt_eventstream" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "mqtt_json" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "mqtt_room" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "mqtt_statestream" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "msteams" = + ps: with ps; [ + pymsteams + ]; + "mullvad" = + ps: with ps; [ + mullvad-api + ]; + "mutesync" = + ps: with ps; [ + mutesync + ]; + "my" = + ps: with ps; [ + aiohasupervisor + home-assistant-frontend + pillow + ]; + "myq" = + ps: with ps; [ + ]; + "mysensors" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + pymysensors + ]; + "mystrom" = + ps: with ps; [ + python-mystrom + ]; + "mythicbeastsdns" = + ps: with ps; [ + mbddns + ]; + "myuplink" = + ps: with ps; [ + myuplink + ]; + "nad" = + ps: with ps; [ + nad-receiver + ]; + "nam" = + ps: with ps; [ + nettigo-air-monitor + ]; + "namecheapdns" = + ps: with ps; [ + defusedxml + ]; + "nanoleaf" = + ps: with ps; [ + aionanoleaf + ]; + "neato" = + ps: with ps; [ + pybotvac + ]; + "nederlandse_spoorwegen" = + ps: with ps; [ + nsapi + ]; + "ness_alarm" = + ps: with ps; [ + nessclient + ]; + "nest" = + ps: with ps; [ + google-nest-sdm + ha-ffmpeg + ]; + "netatmo" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pyatmo + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "netdata" = + ps: with ps; [ + netdata + ]; + "netgear" = + ps: with ps; [ + pynetgear + ]; + "netgear_lte" = + ps: with ps; [ + eternalegypt + ]; + "netio" = + ps: with ps; [ + ]; # missing inputs: pynetio + "network" = + ps: with ps; [ + ifaddr + ]; + "neurio_energy" = + ps: with ps; [ + ]; # missing inputs: neurio + "nexia" = + ps: with ps; [ + nexia + ]; + "nexity" = + ps: with ps; [ + ]; + "nextbus" = + ps: with ps; [ + py-nextbusnext + ]; + "nextcloud" = + ps: with ps; [ + nextcloudmonitor + ]; + "nextdns" = + ps: with ps; [ + nextdns + ]; + "nfandroidtv" = + ps: with ps; [ + notifications-android-tv + ]; + "nibe_heatpump" = + ps: with ps; [ + nibe + ]; + "nice_go" = + ps: with ps; [ + nice-go + ]; + "nightscout" = + ps: with ps; [ + py-nightscout + ]; + "niko_home_control" = + ps: with ps; [ + niko-home-control + ]; + "nilu" = + ps: with ps; [ + niluclient + ]; + "nina" = + ps: with ps; [ + pynina + ]; + "nissan_leaf" = + ps: with ps; [ + pycarwings2 + ]; + "nmap_tracker" = + ps: with ps; [ + aiooui + getmac + ifaddr + netmap + ]; + "nmbs" = + ps: with ps; [ + ]; # missing inputs: pyrail + "no_ip" = + ps: with ps; [ + ]; + "noaa_tides" = + ps: with ps; [ + ]; # missing inputs: noaa-coops + "nobo_hub" = + ps: with ps; [ + pynobo + ]; + "norway_air" = + ps: with ps; [ + pymetno + ]; + "notify" = + ps: with ps; [ + ]; + "notify_events" = + ps: with ps; [ + notify-events + ]; + "notion" = + ps: with ps; [ + aionotion + ]; + "nsw_fuel_station" = + ps: with ps; [ + ]; # missing inputs: nsw-fuel-api-client + "nsw_rural_fire_service_feed" = + ps: with ps; [ + aio-geojson-nsw-rfs-incidents + ]; + "nuheat" = + ps: with ps; [ + nuheat + ]; + "nuki" = + ps: with ps; [ + pynuki + ]; + "numato" = + ps: with ps; [ + ]; # missing inputs: numato-gpio + "number" = + ps: with ps; [ + ]; + "nut" = + ps: with ps; [ + aionut + ]; + "nutrichef" = + ps: with ps; [ + ]; + "nws" = + ps: + with ps; + [ + pynws + ] + ++ pynws.optional-dependencies.retry; + "nx584" = + ps: with ps; [ + pynx584 + ]; + "nyt_games" = + ps: with ps; [ + ]; # missing inputs: nyt_games + "nzbget" = + ps: with ps; [ + ]; # missing inputs: pynzbgetapi + "oasa_telematics" = + ps: with ps; [ + oasatelematics + ]; + "obihai" = + ps: with ps; [ + pyobihai + ]; + "octoprint" = + ps: with ps; [ + pyoctoprintapi + ]; + "oem" = + ps: with ps; [ + oemthermostat + ]; + "ohmconnect" = + ps: with ps; [ + defusedxml + ]; + "ollama" = + ps: with ps; [ + ha-ffmpeg + hassil + home-assistant-intents + mutagen + ollama + pymicro-vad + pyspeex-noise + ]; + "ombi" = + ps: with ps; [ + pyombi + ]; + "omnilogic" = + ps: with ps; [ + omnilogic + ]; + "onboarding" = + ps: with ps; [ + aiohasupervisor + pillow + ]; + "oncue" = + ps: with ps; [ + aiooncue + ]; + "ondilo_ico" = + ps: with ps; [ + ondilo + ]; + "onewire" = + ps: with ps; [ + pyownet + ]; + "onkyo" = + ps: with ps; [ + ]; # missing inputs: pyeiscp + "onvif" = + ps: with ps; [ + ha-ffmpeg + onvif-zeep-async + wsdiscovery + ]; + "open_meteo" = + ps: with ps; [ + open-meteo + ]; + "openai_conversation" = + ps: with ps; [ + ha-ffmpeg + hassil + home-assistant-intents + mutagen + openai + pymicro-vad + pyspeex-noise + ]; + "openalpr_cloud" = + ps: with ps; [ + ]; + "openerz" = + ps: with ps; [ + openerz-api + ]; + "openevse" = + ps: with ps; [ + openevsewifi + ]; + "openexchangerates" = + ps: with ps; [ + aioopenexchangerates + ]; + "opengarage" = + ps: with ps; [ + open-garage + ]; + "openhardwaremonitor" = + ps: with ps; [ + ]; + "openhome" = + ps: with ps; [ + openhomedevice + ]; + "opensensemap" = + ps: with ps; [ + opensensemap-api + ]; + "opensky" = + ps: with ps; [ + python-opensky + ]; + "opentherm_gw" = + ps: with ps; [ + pyotgw + ]; + "openuv" = + ps: with ps; [ + pyopenuv + ]; + "openweathermap" = + ps: with ps; [ + pyopenweathermap + ]; + "opnsense" = + ps: with ps; [ + pyopnsense + ]; + "opower" = + ps: with ps; [ + fnv-hash-fast + opower + psutil-home-assistant + sqlalchemy + ]; + "opple" = + ps: with ps; [ + ]; # missing inputs: pyoppleio-legacy + "oralb" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + oralb-ble + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "oru" = + ps: with ps; [ + ]; # missing inputs: oru + "oru_opower" = + ps: with ps; [ + ]; + "orvibo" = + ps: with ps; [ + orvibo + ]; + "osoenergy" = + ps: with ps; [ + ]; # missing inputs: pyosoenergyapi + "osramlightify" = + ps: with ps; [ + ]; # missing inputs: lightify + "otbr" = + ps: with ps; [ + aiohasupervisor + ifaddr + pillow + psutil-home-assistant + pyroute2 + pyserial + python-otbr-api + pyudev + universal-silabs-flasher + zeroconf + zha + ]; + "otp" = + ps: with ps; [ + pyotp + ]; + "ourgroceries" = + ps: with ps; [ + ]; # missing inputs: ourgroceries + "overkiz" = + ps: with ps; [ + pyoverkiz + ]; + "ovo_energy" = + ps: with ps; [ + ovoenergy + ]; + "owntracks" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + paho-mqtt_1 + pymicro-vad + pynacl + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "p1_monitor" = + ps: with ps; [ + p1monitor + ]; + "palazzetti" = + ps: with ps; [ + pypalazzetti + ]; + "panasonic_bluray" = + ps: with ps; [ + panacotta + ]; + "panasonic_viera" = + ps: with ps; [ + panasonic-viera + ]; + "pandora" = + ps: with ps; [ + pexpect + ]; + "panel_custom" = + ps: with ps; [ + aiohasupervisor + home-assistant-frontend + pillow + ]; + "pcs_lighting" = + ps: with ps; [ + ]; + "peco" = + ps: with ps; [ + peco + ]; + "peco_opower" = + ps: with ps; [ + ]; + "pegel_online" = + ps: with ps; [ + aiopegelonline + ]; + "pencom" = + ps: with ps; [ + pencompy + ]; + "pepco" = + ps: with ps; [ + ]; + "permobil" = + ps: with ps; [ + mypermobil + ]; + "persistent_notification" = + ps: with ps; [ + ]; + "person" = + ps: with ps; [ + pillow + ]; + "pge" = + ps: with ps; [ + ]; + "philips_js" = + ps: with ps; [ + ha-philipsjs + ]; + "pi_hole" = + ps: with ps; [ + hole + ]; + "picnic" = + ps: with ps; [ + python-picnic-api + ]; + "picotts" = + ps: with ps; [ + ]; + "pilight" = + ps: with ps; [ + ]; # missing inputs: pilight + "pinecil" = + ps: with ps; [ + ]; + "ping" = + ps: with ps; [ + icmplib + ]; + "pioneer" = + ps: with ps; [ + ]; + "piper" = + ps: with ps; [ + ]; + "pjlink" = + ps: with ps; [ + ]; # missing inputs: pypjlink2 + "plaato" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyplaato + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "plant" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "plex" = + ps: with ps; [ + plexapi + plexauth + plexwebsocket + ]; + "plugwise" = + ps: with ps; [ + plugwise + ]; + "plum_lightpad" = + ps: with ps; [ + ]; # missing inputs: plumlightpad + "pocketcasts" = + ps: with ps; [ + pycketcasts + ]; + "point" = + ps: with ps; [ + pypoint + ]; + "poolsense" = + ps: with ps; [ + poolsense + ]; + "portlandgeneral" = + ps: with ps; [ + ]; + "powerwall" = + ps: with ps; [ + tesla-powerwall + ]; + "private_ble_device" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + zeroconf + ]; + "profiler" = + ps: with ps; [ + guppy3 + objgraph + pyprof2calltree + ]; + "progettihwsw" = + ps: with ps; [ + ]; # missing inputs: ProgettiHWSW + "proliphix" = + ps: with ps; [ + ]; # missing inputs: proliphix + "prometheus" = + ps: with ps; [ + prometheus-client + ]; + "prosegur" = + ps: with ps; [ + pyprosegur + ]; + "prowl" = + ps: with ps; [ + ]; + "proximity" = + ps: with ps; [ + ]; + "proxmoxve" = + ps: with ps; [ + proxmoxer + ]; + "proxy" = + ps: with ps; [ + pillow + ]; + "prusalink" = + ps: with ps; [ + pyprusalink + ]; + "ps4" = + ps: with ps; [ + ]; # missing inputs: pyps4-2ndscreen + "pse" = + ps: with ps; [ + ]; + "psoklahoma" = + ps: with ps; [ + ]; + "pulseaudio_loopback" = + ps: with ps; [ + pulsectl + ]; + "pure_energie" = + ps: with ps; [ + gridnet + ]; + "purpleair" = + ps: with ps; [ + aiopurpleair + ]; + "push" = + ps: with ps; [ + ]; + "pushbullet" = + ps: with ps; [ + pushbullet-py + ]; + "pushover" = + ps: with ps; [ + pushover-complete + ]; + "pushsafer" = + ps: with ps; [ + ]; + "pvoutput" = + ps: with ps; [ + pvo + ]; + "pvpc_hourly_pricing" = + ps: with ps; [ + aiopvpc + ]; + "pyload" = + ps: with ps; [ + pyloadapi + ]; + "python_script" = + ps: with ps; [ + restrictedpython + ]; + "qbittorrent" = + ps: with ps; [ + qbittorrent-api + ]; + "qingping" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + qingping-ble + zeroconf + ]; + "qld_bushfire" = + ps: with ps; [ + georss-qld-bushfire-alert-client + ]; + "qnap" = + ps: with ps; [ + qnapstats + ]; + "qnap_qsw" = + ps: with ps; [ + aioqsw + ]; + "qrcode" = + ps: with ps; [ + pillow + pyzbar + ]; + "quadrafire" = + ps: with ps; [ + ]; + "quantum_gateway" = + ps: with ps; [ + quantum-gateway + ]; + "qvr_pro" = + ps: with ps; [ + pyqvrpro + ]; + "qwikswitch" = + ps: with ps; [ + pyqwikswitch + ]; + "rabbitair" = + ps: with ps; [ + ifaddr + python-rabbitair + zeroconf + ]; + "rachio" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + rachiopy + ]; + "radarr" = + ps: with ps; [ + aiopyarr + ]; + "radio_browser" = + ps: with ps; [ + pycountry + radios + ]; + "radiotherm" = + ps: with ps; [ + radiotherm + ]; + "rainbird" = + ps: with ps; [ + pyrainbird + ]; + "raincloud" = + ps: with ps; [ + raincloudy + ]; + "rainforest_eagle" = + ps: with ps; [ + aioeagle + eagle100 + ]; + "rainforest_raven" = + ps: with ps; [ + aioraven + pyserial + pyudev + ]; + "rainmachine" = + ps: with ps; [ + regenmaschine + ]; + "random" = + ps: with ps; [ + ]; + "rapt_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + rapt-ble + zeroconf + ]; + "raspberry_pi" = + ps: with ps; [ + aiohasupervisor + psutil-home-assistant + ]; + "raspyrfm" = + ps: with ps; [ + ]; # missing inputs: raspyrfm-client + "raven_rock_mfg" = + ps: with ps; [ + ]; + "rdw" = + ps: with ps; [ + vehicle + ]; + "recollect_waste" = + ps: with ps; [ + aiorecollect + ]; + "recorder" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "recovery_mode" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-frontend + home-assistant-intents + mutagen + pillow + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "recswitch" = + ps: with ps; [ + ]; # missing inputs: pyrecswitch + "reddit" = + ps: with ps; [ + praw + ]; + "refoss" = + ps: with ps; [ + refoss-ha + ]; + "rejseplanen" = + ps: with ps; [ + rjpl + ]; + "remember_the_milk" = + ps: with ps; [ + httplib2 + ]; # missing inputs: RtmAPI + "remote" = + ps: with ps; [ + ]; + "remote_rpi_gpio" = + ps: with ps; [ + gpiozero + ]; # missing inputs: pigpio + "renault" = + ps: with ps; [ + renault-api + ]; + "renson" = + ps: with ps; [ + renson-endura-delta + ]; + "reolink" = + ps: with ps; [ + reolink-aio + ]; + "repairs" = + ps: with ps; [ + ]; + "repetier" = + ps: with ps; [ + ]; # missing inputs: pyrepetierng + "rest" = + ps: with ps; [ + jsonpath + xmltodict + ]; + "rest_command" = + ps: with ps; [ + ]; + "rexel" = + ps: with ps; [ + ]; + "rflink" = + ps: with ps; [ + rflink + ]; + "rfxtrx" = + ps: with ps; [ + pyrfxtrx + ]; + "rhasspy" = + ps: with ps; [ + ]; + "ridwell" = + ps: with ps; [ + aioridwell + ]; + "ring" = + ps: with ps; [ + ha-ffmpeg + ring-doorbell + ]; + "ripple" = + ps: with ps; [ + ]; # missing inputs: python-ripple-api + "risco" = + ps: with ps; [ + pyrisco + ]; + "rituals_perfume_genie" = + ps: with ps; [ + pyrituals + ]; + "rmvtransport" = + ps: with ps; [ + pyrmvtransport + ]; + "roborock" = + ps: with ps; [ + python-roborock + vacuum-map-parser-roborock + ]; + "rocketchat" = + ps: with ps; [ + rocketchat-api + ]; + "roku" = + ps: with ps; [ + rokuecp + ]; + "romy" = + ps: with ps; [ + romy + ]; + "roomba" = + ps: with ps; [ + roombapy + ]; + "roon" = + ps: with ps; [ + roonapi + ]; + "route53" = + ps: with ps; [ + boto3 + ]; + "rova" = + ps: with ps; [ + rova + ]; + "rpi_camera" = + ps: with ps; [ + ]; + "rpi_power" = + ps: with ps; [ + rpi-bad-power + ]; + "rss_feed_template" = + ps: with ps; [ + ]; + "rtorrent" = + ps: with ps; [ + ]; + "rtsp_to_webrtc" = + ps: with ps; [ + pyturbojpeg + rtsp-to-webrtc + ]; + "ruckus_unleashed" = + ps: with ps; [ + aioruckus + ]; + "russound_rio" = + ps: with ps; [ + aiorussound + ]; + "russound_rnet" = + ps: with ps; [ + ]; # missing inputs: russound + "ruuvi_gateway" = + ps: with ps; [ + aioruuvigateway + bleak + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + habluetooth + pyserial + pyudev + ]; + "ruuvitag_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + ruuvitag-ble + zeroconf + ]; + "rympro" = + ps: with ps; [ + pyrympro + ]; + "sabnzbd" = + ps: with ps; [ + pysabnzbd + ]; + "saj" = + ps: with ps; [ + pysaj + ]; + "samsam" = + ps: with ps; [ + ]; + "samsungtv" = + ps: + with ps; + [ + async-upnp-client + getmac + ifaddr + samsungctl + samsungtvws + wakeonlan + ] + ++ samsungctl.optional-dependencies.websocket + ++ samsungtvws.optional-dependencies.async + ++ samsungtvws.optional-dependencies.encrypted; + "sanix" = + ps: with ps; [ + sanix + ]; + "satel_integra" = + ps: with ps; [ + ]; # missing inputs: satel-integra + "scene" = + ps: with ps; [ + ]; + "schedule" = + ps: with ps; [ + ]; + "schlage" = + ps: with ps; [ + pyschlage + ]; + "schluter" = + ps: with ps; [ + ]; # missing inputs: py-schluter + "scl" = + ps: with ps; [ + ]; + "scrape" = + ps: with ps; [ + beautifulsoup4 + jsonpath + lxml + xmltodict + ]; + "screenaway" = + ps: with ps; [ + ]; + "screenlogic" = + ps: with ps; [ + screenlogicpy + ]; + "script" = + ps: with ps; [ + ]; + "scsgate" = + ps: with ps; [ + ]; # missing inputs: scsgate + "search" = + ps: with ps; [ + ]; + "season" = + ps: with ps; [ + ephem + ]; + "select" = + ps: with ps; [ + ]; + "sendgrid" = + ps: with ps; [ + sendgrid + ]; + "sense" = + ps: with ps; [ + sense-energy + ]; + "sensibo" = + ps: with ps; [ + pysensibo + ]; + "sensirion_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + sensirion-ble + zeroconf + ]; + "sensor" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "sensorblue" = + ps: with ps; [ + ]; + "sensorpro" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + sensorpro-ble + zeroconf + ]; + "sensorpush" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + sensorpush-ble + zeroconf + ]; + "sensoterra" = + ps: with ps; [ + sensoterra + ]; + "sentry" = + ps: with ps; [ + sentry-sdk + ]; + "senz" = + ps: with ps; [ + aiosenz + ]; + "serial" = + ps: with ps; [ + pyserial-asyncio-fast + ]; + "serial_pm" = + ps: with ps; [ + pmsensor + ]; + "sesame" = + ps: with ps; [ + ]; # missing inputs: pysesame2 + "seven_segments" = + ps: with ps; [ + pillow + ]; + "seventeentrack" = + ps: with ps; [ + pyseventeentrack + ]; + "sfr_box" = + ps: with ps; [ + sfrbox-api + ]; + "sharkiq" = + ps: with ps; [ + sharkiq + ]; + "shell_command" = + ps: with ps; [ + ]; + "shelly" = + ps: with ps; [ + aioshelly + bleak + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + habluetooth + ifaddr + pyserial + pyudev + ]; + "shodan" = + ps: with ps; [ + shodan + ]; + "shopping_list" = + ps: with ps; [ + ]; + "sia" = + ps: with ps; [ + pysiaalarm + ]; + "sigfox" = + ps: with ps; [ + ]; + "sighthound" = + ps: with ps; [ + pillow + simplehound + ]; + "signal_messenger" = + ps: with ps; [ + pysignalclirestapi + ]; + "simplefin" = + ps: with ps; [ + simplefin4py + ]; + "simplepush" = + ps: with ps; [ + simplepush + ]; + "simplisafe" = + ps: with ps; [ + simplisafe-python + ]; + "simply_automated" = + ps: with ps; [ + ]; + "simu" = + ps: with ps; [ + ]; + "simulated" = + ps: with ps; [ + ]; + "sinch" = + ps: with ps; [ + ]; # missing inputs: clx-sdk-xms + "siren" = + ps: with ps; [ + ]; + "sisyphus" = + ps: with ps; [ + sisyphus-control + ]; + "sky_hub" = + ps: with ps; [ + pyskyqhub + ]; + "skybeacon" = + ps: + with ps; + [ + pygatt + ] + ++ pygatt.optional-dependencies.GATTTOOL; + "skybell" = + ps: with ps; [ + aioskybell + ha-ffmpeg + ]; + "slack" = + ps: with ps; [ + slack-sdk + ]; + "sleepiq" = + ps: with ps; [ + asyncsleepiq + ]; + "slide" = + ps: with ps; [ + ]; # missing inputs: goslide-api + "slimproto" = + ps: with ps; [ + aioslimproto + ]; + "sma" = + ps: with ps; [ + pysma + ]; + "smappee" = + ps: with ps; [ + pysmappee + ]; + "smart_blinds" = + ps: with ps; [ + ]; + "smart_home" = + ps: with ps; [ + ]; + "smart_meter_texas" = + ps: with ps; [ + smart-meter-texas + ]; + "smarther" = + ps: with ps; [ + ]; + "smartthings" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pysmartapp + pysmartthings + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "smarttub" = + ps: with ps; [ + python-smarttub + ]; + "smarty" = + ps: with ps; [ + ]; # missing inputs: pysmarty2 + "smhi" = + ps: with ps; [ + smhi-pkg + ]; + "smlight" = + ps: with ps; [ + pysmlight + ]; + "sms" = + ps: with ps; [ + python-gammu + ]; + "smtp" = + ps: with ps; [ + ]; + "smud" = + ps: with ps; [ + ]; + "snapcast" = + ps: with ps; [ + snapcast + ]; + "snips" = + ps: with ps; [ + aiohasupervisor + paho-mqtt_1 + ]; + "snmp" = + ps: with ps; [ + pysnmp + ]; + "snooz" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pysnooz + pyspeex-noise + pyudev + zeroconf + ]; + "solaredge" = + ps: with ps; [ + aiosolaredge + stringcase + ]; + "solaredge_local" = + ps: with ps; [ + ]; # missing inputs: solaredge-local + "solarlog" = + ps: with ps; [ + solarlog-cli + ]; + "solax" = + ps: with ps; [ + solax + ]; + "soma" = + ps: with ps; [ + pysoma + ]; + "somfy" = + ps: with ps; [ + ]; + "somfy_mylink" = + ps: with ps; [ + somfy-mylink-synergy + ]; + "sonarr" = + ps: with ps; [ + aiopyarr + ]; + "songpal" = + ps: with ps; [ + python-songpal + ]; + "sonos" = + ps: with ps; [ + async-upnp-client + ifaddr + plexapi + plexauth + plexwebsocket + soco + sonos-websocket + spotifyaio + zeroconf + ]; + "sony_projector" = + ps: with ps; [ + pysdcp + ]; + "soundtouch" = + ps: with ps; [ + libsoundtouch + ]; + "spaceapi" = + ps: with ps; [ + ]; + "spc" = + ps: with ps; [ + pyspcwebgw + ]; + "speedtestdotnet" = + ps: with ps; [ + speedtest-cli + ]; + "spider" = + ps: with ps; [ + ]; + "splunk" = + ps: with ps; [ + hass-splunk + ]; + "spotify" = + ps: with ps; [ + spotifyaio + ]; + "sql" = + ps: with ps; [ + sqlalchemy + sqlparse + ]; + "squeezebox" = + ps: with ps; [ + pysqueezebox + ]; + "srp_energy" = + ps: with ps; [ + srpenergy + ]; + "ssdp" = + ps: with ps; [ + async-upnp-client + ifaddr + ]; + "starline" = + ps: with ps; [ + starline + ]; + "starlingbank" = + ps: with ps; [ + ]; # missing inputs: starlingbank + "starlink" = + ps: with ps; [ + ]; # missing inputs: starlink-grpc-core + "startca" = + ps: with ps; [ + xmltodict + ]; + "statistics" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + "statsd" = + ps: with ps; [ + statsd + ]; + "steam_online" = + ps: with ps; [ + steamodd + ]; + "steamist" = + ps: with ps; [ + aiosteamist + discovery30303 + ifaddr + ]; + "stiebel_eltron" = + ps: with ps; [ + pymodbus + ]; # missing inputs: pystiebeleltron + "stookalert" = + ps: with ps; [ + stookalert + ]; + "stookwijzer" = + ps: with ps; [ + stookwijzer + ]; + "stream" = + ps: with ps; [ + av + numpy_1 + pyturbojpeg + ]; + "streamlabswater" = + ps: with ps; [ + streamlabswater + ]; + "stt" = + ps: with ps; [ + ]; + "subaru" = + ps: with ps; [ + subarulink + ]; + "suez_water" = + ps: with ps; [ + pysuez + ]; + "sun" = + ps: with ps; [ + ]; + "sunweg" = + ps: with ps; [ + sunweg + ]; + "supervisord" = + ps: with ps; [ + ]; + "supla" = + ps: with ps; [ + ]; # missing inputs: asyncpysupla + "surepetcare" = + ps: with ps; [ + surepy + ]; + "swepco" = + ps: with ps; [ + ]; + "swiss_hydrological_data" = + ps: with ps; [ + swisshydrodata + ]; + "swiss_public_transport" = + ps: with ps; [ + python-opendata-transport + ]; + "swisscom" = + ps: with ps; [ + ]; + "switch" = + ps: with ps; [ + ]; + "switch_as_x" = + ps: with ps; [ + ]; + "switchbee" = + ps: with ps; [ + pyswitchbee + ]; + "switchbot" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyswitchbot + pyudev + zeroconf + ]; + "switchbot_cloud" = + ps: with ps; [ + switchbot-api + ]; + "switcher_kis" = + ps: with ps; [ + aioswitcher + ]; + "switchmate" = + ps: with ps; [ + ]; # missing inputs: PySwitchmate + "symfonisk" = + ps: with ps; [ + ]; + "syncthing" = + ps: with ps; [ + aiosyncthing + ]; + "syncthru" = + ps: with ps; [ + pysyncthru + url-normalize + ]; + "synology_chat" = + ps: with ps; [ + ]; + "synology_dsm" = + ps: with ps; [ + py-synologydsm-api + ]; + "synology_srm" = + ps: with ps; [ + ]; # missing inputs: synology-srm + "syslog" = + ps: with ps; [ + ]; + "system_bridge" = + ps: with ps; [ + ifaddr + systembridgeconnector + systembridgemodels + zeroconf + ]; + "system_health" = + ps: with ps; [ + ]; + "system_log" = + ps: with ps; [ + ]; + "systemmonitor" = + ps: with ps; [ + psutil + psutil-home-assistant + ]; + "tado" = + ps: with ps; [ + python-tado + ]; + "tag" = + ps: with ps; [ + ]; + "tailscale" = + ps: with ps; [ + tailscale + ]; + "tailwind" = + ps: with ps; [ + gotailwind + ]; + "tami4" = + ps: with ps; [ + ]; # missing inputs: Tami4EdgeAPI + "tank_utility" = + ps: with ps; [ + tank-utility + ]; + "tankerkoenig" = + ps: with ps; [ + aiotankerkoenig + ]; + "tapsaff" = + ps: with ps; [ + ]; # missing inputs: tapsaff + "tasmota" = + ps: with ps; [ + aiohasupervisor + hatasmota + paho-mqtt_1 + ]; + "tautulli" = + ps: with ps; [ + pytautulli + ]; + "tcp" = + ps: with ps; [ + ]; + "technove" = + ps: with ps; [ + python-technove + ]; + "ted5000" = + ps: with ps; [ + xmltodict + ]; + "tedee" = + ps: with ps; [ + pytedee-async + ]; + "telegram" = + ps: + with ps; + [ + python-telegram-bot + ] + ++ python-telegram-bot.optional-dependencies.socks; + "telegram_bot" = + ps: + with ps; + [ + python-telegram-bot + ] + ++ python-telegram-bot.optional-dependencies.socks; + "tellduslive" = + ps: with ps; [ + tellduslive + ]; + "tellstick" = + ps: with ps; [ + ]; # missing inputs: tellcore-net tellcore-py + "telnet" = + ps: with ps; [ + ]; + "temper" = + ps: with ps; [ + temperusb + ]; + "template" = + ps: with ps; [ + ]; + "tensorflow" = + ps: with ps; [ + numpy_1 + pillow + pycocotools + tensorflow + ]; # missing inputs: tf-models-official + "tesla_fleet" = + ps: with ps; [ + tesla-fleet-api + ]; + "tesla_wall_connector" = + ps: with ps; [ + tesla-wall-connector + ]; + "teslemetry" = + ps: with ps; [ + tesla-fleet-api + teslemetry-stream + ]; + "tessie" = + ps: with ps; [ + tesla-fleet-api + ]; # missing inputs: tessie-api + "text" = + ps: with ps; [ + ]; + "thermobeacon" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + thermobeacon-ble + zeroconf + ]; + "thermoplus" = + ps: with ps; [ + ]; + "thermopro" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + thermopro-ble + zeroconf + ]; + "thethingsnetwork" = + ps: with ps; [ + ttn-client + ]; + "thingspeak" = + ps: with ps; [ + ]; # missing inputs: thingspeak + "thinkingcleaner" = + ps: with ps; [ + ]; # missing inputs: pythinkingcleaner + "thomson" = + ps: with ps; [ + ]; + "thread" = + ps: with ps; [ + ifaddr + pyroute2 + python-otbr-api + zeroconf + ]; + "threshold" = + ps: with ps; [ + ]; + "tibber" = + ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + pytibber + sqlalchemy + ]; + "tikteck" = + ps: with ps; [ + ]; # missing inputs: tikteck + "tile" = + ps: with ps; [ + pytile + ]; + "tilt_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + tilt-ble + zeroconf + ]; + "time" = + ps: with ps; [ + ]; + "time_date" = + ps: with ps; [ + ]; + "timer" = + ps: with ps; [ + ]; + "tmb" = + ps: with ps; [ + tmb + ]; + "tod" = + ps: with ps; [ + ]; + "todo" = + ps: with ps; [ + ]; + "todoist" = + ps: with ps; [ + todoist-api-python + ]; + "tolo" = + ps: with ps; [ + tololib + ]; + "tomato" = + ps: with ps; [ + ]; + "tomorrowio" = + ps: with ps; [ + pytomorrowio + ]; + "toon" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + toonapi + ]; + "torque" = + ps: with ps; [ + ]; + "totalconnect" = + ps: with ps; [ + total-connect-client + ]; + "touchline" = + ps: with ps; [ + ]; # missing inputs: pytouchline + "touchline_sl" = + ps: with ps; [ + pytouchlinesl + ]; + "tplink" = + ps: + with ps; + [ + ifaddr + python-kasa + ] + ++ python-kasa.optional-dependencies.speedups; + "tplink_lte" = + ps: with ps; [ + ]; # missing inputs: tp-connected + "tplink_omada" = + ps: with ps; [ + tplink-omada-client + ]; + "tplink_tapo" = + ps: with ps; [ + ]; + "traccar" = + ps: with ps; [ + pytraccar + stringcase + ]; + "traccar_server" = + ps: with ps; [ + pytraccar + ]; + "trace" = + ps: with ps; [ + ]; + "tractive" = + ps: with ps; [ + aiotractive + ]; + "tradfri" = + ps: + with ps; + [ + pytradfri + ] + ++ pytradfri.optional-dependencies.async; + "trafikverket_camera" = + ps: with ps; [ + pytrafikverket + ]; + "trafikverket_ferry" = + ps: with ps; [ + pytrafikverket + ]; + "trafikverket_train" = + ps: with ps; [ + pytrafikverket + ]; + "trafikverket_weatherstation" = + ps: with ps; [ + pytrafikverket + ]; + "transmission" = + ps: with ps; [ + transmission-rpc + ]; + "transport_nsw" = + ps: with ps; [ + pytransportnsw + ]; + "travisci" = + ps: with ps; [ + ]; # missing inputs: TravisPy + "trend" = + ps: with ps; [ + numpy_1 + ]; + "triggercmd" = + ps: with ps; [ + ]; # missing inputs: triggercmd + "tts" = + ps: with ps; [ + ha-ffmpeg + mutagen + ]; + "tuya" = + ps: with ps; [ + ha-ffmpeg + tuya-device-sharing-sdk + ]; + "twentemilieu" = + ps: with ps; [ + twentemilieu + ]; + "twilio" = + ps: with ps; [ + twilio + ]; + "twilio_call" = + ps: with ps; [ + twilio + ]; + "twilio_sms" = + ps: with ps; [ + twilio + ]; + "twinkly" = + ps: with ps; [ + ttls + ]; + "twitch" = + ps: with ps; [ + twitchapi + ]; + "twitter" = + ps: with ps; [ + twitterapi + ]; + "ubiwizz" = + ps: with ps; [ + ]; + "ubus" = + ps: with ps; [ + openwrt-ubus-rpc + ]; + "uk_transport" = + ps: with ps; [ + ]; + "ukraine_alarm" = + ps: with ps; [ + uasiren + ]; + "ultraloq" = + ps: with ps; [ + ]; + "unifi" = + ps: with ps; [ + aiounifi + ]; + "unifi_direct" = + ps: with ps; [ + unifi-ap + ]; + "unifiled" = + ps: with ps; [ + unifiled + ]; + "unifiprotect" = + ps: with ps; [ + uiprotect + unifi-discovery + ]; + "universal" = + ps: with ps; [ + ]; + "upb" = + ps: with ps; [ + upb-lib + ]; + "upc_connect" = + ps: with ps; [ + connect-box + ]; + "upcloud" = + ps: with ps; [ + upcloud-api + ]; + "update" = + ps: with ps; [ + ]; + "upnp" = + ps: with ps; [ + async-upnp-client + getmac + ifaddr + ]; + "uprise_smart_shades" = + ps: with ps; [ + ]; + "uptime" = + ps: with ps; [ + ]; + "uptimerobot" = + ps: with ps; [ + pyuptimerobot + ]; + "usb" = + ps: with ps; [ + pyserial + pyudev + ]; + "usgs_earthquakes_feed" = + ps: with ps; [ + aio-geojson-usgs-earthquakes + ]; + "utility_meter" = + ps: with ps; [ + croniter + ]; + "uvc" = + ps: with ps; [ + uvcclient + ]; + "v2c" = + ps: with ps; [ + pytrydan + ]; + "vacuum" = + ps: with ps; [ + ]; + "vallox" = + ps: with ps; [ + vallox-websocket-api + ]; + "valve" = + ps: with ps; [ + ]; + "vasttrafik" = + ps: with ps; [ + vtjp + ]; + "velbus" = + ps: with ps; [ + pyserial + pyudev + velbus-aio + ]; + "velux" = + ps: with ps; [ + pyvlx + ]; + "venstar" = + ps: with ps; [ + venstarcolortouch + ]; + "vera" = + ps: with ps; [ + pyvera + ]; + "verisure" = + ps: with ps; [ + vsure + ]; + "vermont_castings" = + ps: with ps; [ + ]; + "versasense" = + ps: with ps; [ + pyversasense + ]; + "version" = + ps: with ps; [ + pyhaversion + ]; + "vesync" = + ps: with ps; [ + pyvesync + ]; + "viaggiatreno" = + ps: with ps; [ + ]; + "vicare" = + ps: with ps; [ + pyvicare + ]; + "vilfo" = + ps: with ps; [ + vilfo-api-client + ]; + "vivotek" = + ps: with ps; [ + libpyvivotek + ]; + "vizio" = + ps: with ps; [ + pyvizio + ]; + "vlc" = + ps: with ps; [ + python-vlc + ]; + "vlc_telnet" = + ps: with ps; [ + aiovlc + ]; + "vodafone_station" = + ps: with ps; [ + aiovodafone + ]; + "voicerss" = + ps: with ps; [ + ]; + "voip" = + ps: with ps; [ + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + voip-utils + ]; + "volkszaehler" = + ps: with ps; [ + volkszaehler + ]; + "volumio" = + ps: with ps; [ + pyvolumio + ]; + "volvooncall" = + ps: with ps; [ + volvooncall + ]; + "vulcan" = + ps: with ps; [ + vulcan-api + ]; + "vultr" = + ps: with ps; [ + vultr + ]; + "w800rf32" = + ps: with ps; [ + ]; # missing inputs: pyW800rf32 + "wake_on_lan" = + ps: with ps; [ + wakeonlan + ]; + "wake_word" = + ps: with ps; [ + ]; + "wallbox" = + ps: with ps; [ + wallbox + ]; + "waqi" = + ps: with ps; [ + aiowaqi + ]; + "water_heater" = + ps: with ps; [ + ]; + "waterfurnace" = + ps: with ps; [ + waterfurnace + ]; + "watson_iot" = + ps: with ps; [ + ]; # missing inputs: ibmiotf + "watttime" = + ps: with ps; [ + aiowatttime + ]; + "waze_travel_time" = + ps: with ps; [ + pywaze + ]; + "weather" = + ps: with ps; [ + ]; + "weatherflow" = + ps: with ps; [ + pyweatherflowudp + ]; + "weatherflow_cloud" = + ps: with ps; [ + weatherflow4py + ]; + "weatherkit" = + ps: with ps; [ + apple-weatherkit + ]; + "webhook" = + ps: with ps; [ + ]; + "webmin" = + ps: with ps; [ + webmin-xmlrpc + ]; + "webostv" = + ps: with ps; [ + aiowebostv + ]; + "websocket_api" = + ps: with ps; [ + ]; + "weheat" = + ps: with ps; [ + weheat + ]; + "wemo" = + ps: with ps; [ + pywemo + ]; + "whirlpool" = + ps: with ps; [ + whirlpool-sixth-sense + ]; + "whisper" = + ps: with ps; [ + ]; + "whois" = + ps: with ps; [ + whois + ]; + "wiffi" = + ps: with ps; [ + wiffi + ]; + "wilight" = + ps: with ps; [ + pywilight + ]; + "wirelesstag" = + ps: with ps; [ + ]; # missing inputs: wirelesstagpy + "withings" = + ps: with ps; [ + aiohasupervisor + aiowithings + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + ]; + "wiz" = + ps: with ps; [ + ifaddr + pywizlight + ]; + "wled" = + ps: with ps; [ + wled + ]; + "wmspro" = + ps: with ps; [ + ]; # missing inputs: pywmspro + "wolflink" = + ps: with ps; [ + ]; # missing inputs: wolf-comm + "workday" = + ps: with ps; [ + holidays + ]; + "worldclock" = + ps: with ps; [ + ]; + "worldtidesinfo" = + ps: with ps; [ + ]; + "worxlandroid" = + ps: with ps; [ + ]; + "ws66i" = + ps: with ps; [ + pyws66i + ]; + "wsdot" = + ps: with ps; [ + ]; + "wyoming" = + ps: with ps; [ + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + wyoming + ]; + "x10" = + ps: with ps; [ + ]; + "xbox" = + ps: with ps; [ + xbox-webapi + ]; + "xeoma" = + ps: with ps; [ + pyxeoma + ]; + "xiaomi" = + ps: with ps; [ + ha-ffmpeg + ]; + "xiaomi_aqara" = + ps: with ps; [ + pyxiaomigateway + ]; + "xiaomi_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + xiaomi-ble + zeroconf + ]; + "xiaomi_miio" = + ps: with ps; [ + construct + micloud + python-miio + ]; + "xiaomi_tv" = + ps: with ps; [ + pymitv + ]; + "xmpp" = + ps: with ps; [ + emoji + slixmpp + ]; + "xs1" = + ps: with ps; [ + ]; # missing inputs: xs1-api-client + "yale" = + ps: with ps; [ + aiohasupervisor + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + yalexs + yalexs-ble + ]; + "yale_home" = + ps: with ps; [ + ]; + "yale_smart_alarm" = + ps: with ps; [ + yalesmartalarmclient + ]; + "yalexs_ble" = + ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyserial + pyspeex-noise + pyudev + yalexs-ble + zeroconf + ]; + "yamaha" = + ps: with ps; [ + rxv + ]; + "yamaha_musiccast" = + ps: with ps; [ + aiomusiccast + async-upnp-client + ifaddr + ]; + "yandex_transport" = + ps: with ps; [ + aioymaps + ]; + "yandextts" = + ps: with ps; [ + ]; + "yardian" = + ps: with ps; [ + pyyardian + ]; + "yeelight" = + ps: with ps; [ + async-upnp-client + ifaddr + yeelight + ]; + "yeelightsunflower" = + ps: with ps; [ + ]; # missing inputs: yeelightsunflower + "yi" = + ps: with ps; [ + aioftp + ha-ffmpeg + ]; + "yolink" = + ps: with ps; [ + yolink-api + ]; + "youless" = + ps: with ps; [ + youless-api + ]; + "youtube" = + ps: with ps; [ + youtubeaio + ]; + "zabbix" = + ps: with ps; [ + py-zabbix + ]; + "zamg" = + ps: with ps; [ + zamg + ]; + "zengge" = + ps: with ps; [ + bluepy + ]; # missing inputs: zengge + "zeroconf" = + ps: with ps; [ + ifaddr + zeroconf + ]; + "zerproc" = + ps: with ps; [ + pyzerproc + ]; + "zestimate" = + ps: with ps; [ + xmltodict + ]; + "zeversolar" = + ps: with ps; [ + zeversolar + ]; + "zha" = + ps: with ps; [ + aiohasupervisor + pillow + pyserial + pyudev + universal-silabs-flasher + zha + ]; + "zhong_hong" = + ps: with ps; [ + ]; # missing inputs: zhong-hong-hvac + "ziggo_mediabox_xl" = + ps: with ps; [ + ]; # missing inputs: ziggo-mediabox-xl + "zodiac" = + ps: with ps; [ + ]; + "zondergas" = + ps: with ps; [ + ]; + "zone" = + ps: with ps; [ + ]; + "zoneminder" = + ps: with ps; [ + zm-py + ]; + "zwave_js" = + ps: with ps; [ + aiohasupervisor + pyserial + pyudev + zwave-js-server-python + ]; + "zwave_me" = + ps: with ps; [ + ifaddr + url-normalize + zeroconf + zwave-me-ws + ]; }; # components listed in tests/components for which all dependencies are packaged supportedComponentsWithTests = [ diff --git a/pkgs/servers/home-assistant/custom-components/adaptive_lighting/package.nix b/pkgs/servers/home-assistant/custom-components/adaptive_lighting/package.nix index 403bb18826353..a60f6df2f2ef0 100644 --- a/pkgs/servers/home-assistant/custom-components/adaptive_lighting/package.nix +++ b/pkgs/servers/home-assistant/custom-components/adaptive_lighting/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, ulid-transform +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + ulid-transform, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/auth-header/package.nix b/pkgs/servers/home-assistant/custom-components/auth-header/package.nix index 9062b138590c7..e5ccefc1ffc46 100644 --- a/pkgs/servers/home-assistant/custom-components/auth-header/package.nix +++ b/pkgs/servers/home-assistant/custom-components/auth-header/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/awtrix/package.nix b/pkgs/servers/home-assistant/custom-components/awtrix/package.nix index 738dbbea5dbca..79150e74b83b8 100644 --- a/pkgs/servers/home-assistant/custom-components/awtrix/package.nix +++ b/pkgs/servers/home-assistant/custom-components/awtrix/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, requests +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + requests, }: buildHomeAssistantComponent rec { @@ -27,4 +28,3 @@ buildHomeAssistantComponent rec { license = licenses.mit; }; } - diff --git a/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix b/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix index 64b55e214a6de..7c1e00e4cd913 100644 --- a/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix +++ b/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, pyemvue +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + pyemvue, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/epex_spot/package.nix b/pkgs/servers/home-assistant/custom-components/epex_spot/package.nix index 00efbdd24f9af..db8830b3cd53c 100644 --- a/pkgs/servers/home-assistant/custom-components/epex_spot/package.nix +++ b/pkgs/servers/home-assistant/custom-components/epex_spot/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, beautifulsoup4 +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + beautifulsoup4, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix b/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix index 6d66dc8fe357f..5443ae8e6b7c0 100644 --- a/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix +++ b/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix @@ -1,11 +1,12 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, fetchpatch2 -, govee-led-wez -, pytest-cov-stub -, pytest-homeassistant-custom-component -, pytestCheckHook +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + fetchpatch2, + govee-led-wez, + pytest-cov-stub, + pytest-homeassistant-custom-component, + pytestCheckHook, }: buildHomeAssistantComponent { diff --git a/pkgs/servers/home-assistant/custom-components/gpio/package.nix b/pkgs/servers/home-assistant/custom-components/gpio/package.nix index ff06822d664aa..aa61ae326b3c7 100644 --- a/pkgs/servers/home-assistant/custom-components/gpio/package.nix +++ b/pkgs/servers/home-assistant/custom-components/gpio/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitea -, libgpiod +{ + lib, + buildHomeAssistantComponent, + fetchFromGitea, + libgpiod, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix index de8574900e0db..b460d17488242 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, hahomematic +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + hahomematic, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix b/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix index 10a75e14ab705..19c5cc3d4d0e2 100644 --- a/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix +++ b/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/localtuya/package.nix b/pkgs/servers/home-assistant/custom-components/localtuya/package.nix index 8773f981e45f6..2b0e06cf1b4b2 100644 --- a/pkgs/servers/home-assistant/custom-components/localtuya/package.nix +++ b/pkgs/servers/home-assistant/custom-components/localtuya/package.nix @@ -1,6 +1,7 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/mass/package.nix b/pkgs/servers/home-assistant/custom-components/mass/package.nix index 7b8b852532914..7ea860769956e 100644 --- a/pkgs/servers/home-assistant/custom-components/mass/package.nix +++ b/pkgs/servers/home-assistant/custom-components/mass/package.nix @@ -1,13 +1,14 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, toPythonModule -, async-timeout -, music-assistant -, pytestCheckHook -, pytest-asyncio -, pytest-cov-stub -, pytest-homeassistant-custom-component +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + toPythonModule, + async-timeout, + music-assistant, + pytestCheckHook, + pytest-asyncio, + pytest-cov-stub, + pytest-homeassistant-custom-component, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/package.nix b/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/package.nix index f533b84fd8324..dd70412b64098 100644 --- a/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/package.nix +++ b/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, midea-beautiful-air +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + midea-beautiful-air, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix index 98ba5281c5dfc..58b264b5e02be 100644 --- a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix +++ b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, pycryptodome +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + pycryptodome, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/ntfy/package.nix b/pkgs/servers/home-assistant/custom-components/ntfy/package.nix index 43920dbaef9e8..39bebb70ada7d 100644 --- a/pkgs/servers/home-assistant/custom-components/ntfy/package.nix +++ b/pkgs/servers/home-assistant/custom-components/ntfy/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, requests +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + requests, }: buildHomeAssistantComponent rec { @@ -27,4 +28,3 @@ buildHomeAssistantComponent rec { license = licenses.gpl3; }; } - diff --git a/pkgs/servers/home-assistant/custom-components/omnik_inverter/package.nix b/pkgs/servers/home-assistant/custom-components/omnik_inverter/package.nix index 38dd56feb0000..75e54c5143545 100644 --- a/pkgs/servers/home-assistant/custom-components/omnik_inverter/package.nix +++ b/pkgs/servers/home-assistant/custom-components/omnik_inverter/package.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, omnikinverter +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + omnikinverter, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix index 812ee1445d079..1c1fb34742f7b 100644 --- a/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix +++ b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/package.nix b/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/package.nix index e107d1dcd5e65..b4146bef9d011 100644 --- a/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/package.nix +++ b/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/package.nix @@ -1,9 +1,10 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, charset-normalizer -, pycountry -, xmltodict +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + charset-normalizer, + pycountry, + xmltodict, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/spook/package.nix b/pkgs/servers/home-assistant/custom-components/spook/package.nix index 280f7b9491b2a..c93844570c224 100644 --- a/pkgs/servers/home-assistant/custom-components/spook/package.nix +++ b/pkgs/servers/home-assistant/custom-components/spook/package.nix @@ -19,7 +19,7 @@ buildHomeAssistantComponent rec { hash = "sha256-ChHsevryWuim8BEFqXVkCOW9fGMrt5vol+B2SreMUws="; }; - patches = [./remove-sub-integration-symlink-hack.patch]; + patches = [ ./remove-sub-integration-symlink-hack.patch ]; dependencies = [ pillow @@ -33,6 +33,6 @@ buildHomeAssistantComponent rec { description = "Toolbox for Home Assistant"; homepage = "https://spook.boo/"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [kkoniuszy]; + maintainers = with lib.maintainers; [ kkoniuszy ]; }; } diff --git a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix index a097dac5d6efe..e4d4387d82fb0 100644 --- a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix @@ -1,10 +1,11 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, -# dependencies -, tinytuya -, tuya-device-sharing-sdk + # dependencies + tinytuya, + tuya-device-sharing-sdk, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix index 91ba2467a0fda..a51f827456d1f 100644 --- a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix +++ b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix @@ -1,12 +1,13 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, beautifulsoup4 -, icalendar -, icalevents -, lxml -, pycryptodome -, recurring-ical-events +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + beautifulsoup4, + icalendar, + icalevents, + lxml, + pycryptodome, + recurring-ical-events, }: buildHomeAssistantComponent rec { @@ -34,7 +35,7 @@ buildHomeAssistantComponent rec { changelog = "https://github.com/mampfes/hacs_waste_collection_schedule/releases/tag/${version}"; description = "Home Assistant integration framework for (garbage collection) schedules"; homepage = "https://github.com/mampfes/hacs_waste_collection_schedule"; - maintainers = with maintainers; [jamiemagee]; + maintainers = with maintainers; [ jamiemagee ]; license = licenses.mit; }; } diff --git a/pkgs/servers/home-assistant/custom-components/yassi/package.nix b/pkgs/servers/home-assistant/custom-components/yassi/package.nix index 3e69dc6ae8bba..d2e6dc946fa25 100644 --- a/pkgs/servers/home-assistant/custom-components/yassi/package.nix +++ b/pkgs/servers/home-assistant/custom-components/yassi/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, pysmartthings +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + pysmartthings, }: buildHomeAssistantComponent rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix index d6ec293f31de2..e0c4883406cc5 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix @@ -1,7 +1,8 @@ -{ lib -, mkYarnPackage -, fetchYarnDeps -, fetchFromGitHub +{ + lib, + mkYarnPackage, + fetchYarnDeps, + fetchFromGitHub, }: mkYarnPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix index bdca8771d00f0..28f3c6f6e94cc 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix index 44a83e71e5505..bed75c9c63b72 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix index be2b26c7a0040..8a51d530a0bfc 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix @@ -23,9 +23,9 @@ light-entity-card = callPackage ./light-entity-card { }; - mini-graph-card = callPackage ./mini-graph-card {}; + mini-graph-card = callPackage ./mini-graph-card { }; - mini-media-player = callPackage ./mini-media-player {}; + mini-media-player = callPackage ./mini-media-player { }; multiple-entity-row = callPackage ./multiple-entity-row { }; @@ -48,7 +48,5 @@ zigbee2mqtt-networkmap = callPackage ./zigbee2mqtt-networkmap { }; } // lib.optionalAttrs pkgs.config.allowAliases { - android-tv-card = - lib.warnOnInstantiate "`home-assistant-custom-lovelace-modules.android-tv-card` has been renamed to `universal-remote-card`" - pkgs.home-assistant-custom-lovelace-modules.universal-remote-card; + android-tv-card = lib.warnOnInstantiate "`home-assistant-custom-lovelace-modules.android-tv-card` has been renamed to `universal-remote-card`" pkgs.home-assistant-custom-lovelace-modules.universal-remote-card; } diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix index 9911fbfdce1ad..674dd3b4e7416 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix index 529e2f736bb24..82a46f40e5ba7 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix index 1846339bd1e47..8acd2f29809d3 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { @@ -35,4 +36,3 @@ buildNpmPackage rec { license = licenses.mit; }; } - diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix index 83f1dae71b9ec..ebfca7e424378 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix index 0ba1bcec0cc65..2ece70bd477da 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix @@ -1,7 +1,8 @@ -{ lib -, mkYarnPackage -, fetchFromGitHub -, fetchYarnDeps +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, }: mkYarnPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix index c9d60c4eeeccd..61b4ff21e4ec3 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/default.nix index 44b1aba071f5e..7ebb02264ee0b 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix index 3203c59e7cd9f..d08b8dd0ba60f 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index f1fa3e4920cc2..2f317538db2ea 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -1,29 +1,31 @@ -{ stdenv -, lib -, callPackage -, fetchFromGitHub -, fetchPypi -, python312 -, substituteAll -, ffmpeg-headless -, inetutils -, nixosTests -, home-assistant -, testers - -# Look up dependencies of specified components in component-packages.nix -, extraComponents ? [ ] - -# Additional packages to add to propagatedBuildInputs -, extraPackages ? ps: [] - -# Override Python packages using -# self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); } -# Applied after defaultOverrides -, packageOverrides ? self: super: {} - -# Skip pip install of required packages on startup -, skipPip ? true }: +{ + stdenv, + lib, + callPackage, + fetchFromGitHub, + fetchPypi, + python312, + substituteAll, + ffmpeg-headless, + inetutils, + nixosTests, + home-assistant, + testers, + + # Look up dependencies of specified components in component-packages.nix + extraComponents ? [ ], + + # Additional packages to add to propagatedBuildInputs + extraPackages ? ps: [ ], + + # Override Python packages using + # self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); } + # Applied after defaultOverrides + packageOverrides ? self: super: { }, + + # Skip pip install of required packages on startup + skipPip ? true, +}: let defaultOverrides = [ @@ -95,7 +97,7 @@ let --replace-fail "poetry>=1.0.0b1" "poetry-core" \ --replace-fail "poetry.masonry" "poetry.core.masonry" ''; - propagatedBuildInputs = (oldAttrs.propagatedBuildInputs or []) ++ [ + propagatedBuildInputs = (oldAttrs.propagatedBuildInputs or [ ]) ++ [ self.pytz ]; }); @@ -221,7 +223,7 @@ let rev = "refs/tags/v${version}"; hash = "sha256-kIE3y/qlsO9Y1MjEQcX0pfaBeIzCCHk4f1Xa215BBHo="; }; - dependencies = oldAttrs.propagatedBuildInputs or [] ++ [ + dependencies = oldAttrs.propagatedBuildInputs or [ ] ++ [ self.pytz ]; }); @@ -418,7 +420,9 @@ let home-assistant-frontend = self.callPackage ./frontend.nix { }; home-assistant-intents = self.callPackage ./intents.nix { }; homeassistant = self.toPythonModule home-assistant; - pytest-homeassistant-custom-component = self.callPackage ./pytest-homeassistant-custom-component.nix { }; + pytest-homeassistant-custom-component = + self.callPackage ./pytest-homeassistant-custom-component.nix + { }; }) ]; @@ -443,9 +447,12 @@ let # Don't forget to run update-component-packages.py after updating hassVersion = "2024.11.3"; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "homeassistant"; - version = assert (componentPackages.version == hassVersion); hassVersion; + version = + assert (componentPackages.version == hassVersion); + hassVersion; pyproject = true; # check REQUIRED_PYTHON_VER in homeassistant/const.py @@ -570,32 +577,35 @@ in python.pkgs.buildPythonApplication rec { # upstream only tests on Linux, so do we. doCheck = stdenv.hostPlatform.isLinux; - nativeCheckInputs = with python.pkgs; [ - # test infrastructure (selectively from requirement_test.txt) - freezegun - pytest-asyncio - pytest-aiohttp - pytest-freezer - pytest-mock - pytest-rerunfailures - pytest-socket - pytest-timeout - pytest-unordered - pytest-xdist - pytestCheckHook - requests-mock - respx - syrupy - tomli - # Sneakily imported in tests/conftest.py - paho-mqtt - # Used in tests/non_packaged_scripts/test_alexa_locales.py - beautifulsoup4 - ] ++ lib.concatMap (component: getPackages component python.pkgs) [ - # some components are needed even if tests in tests/components are disabled - "default_config" - "hue" - ]; + nativeCheckInputs = + with python.pkgs; + [ + # test infrastructure (selectively from requirement_test.txt) + freezegun + pytest-asyncio + pytest-aiohttp + pytest-freezer + pytest-mock + pytest-rerunfailures + pytest-socket + pytest-timeout + pytest-unordered + pytest-xdist + pytestCheckHook + requests-mock + respx + syrupy + tomli + # Sneakily imported in tests/conftest.py + paho-mqtt + # Used in tests/non_packaged_scripts/test_alexa_locales.py + beautifulsoup4 + ] + ++ lib.concatMap (component: getPackages component python.pkgs) [ + # some components are needed even if tests in tests/components are disabled + "default_config" + "hue" + ]; pytestFlagsArray = [ # assign tests grouped by file to workers @@ -651,7 +661,8 @@ in python.pkgs.buildPythonApplication rec { extraComponents getPackages python - supportedComponentsWithTests; + supportedComponentsWithTests + ; pythonPath = python.pkgs.makePythonPath (componentBuildInputs ++ extraBuildInputs); frontend = python.pkgs.home-assistant-frontend; intents = python.pkgs.home-assistant-intents; diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 53bc67e531795..11f376e412582 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -1,4 +1,8 @@ -{ lib, fetchPypi, buildPythonPackage }: +{ + lib, + fetchPypi, + buildPythonPackage, +}: buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix index a88446e8acba0..b33c9e227fe02 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -1,22 +1,23 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pythonOlder +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, -# build-system -, setuptools + # build-system + setuptools, -# codegen -, hassil -, python -, pyyaml -, voluptuous -, regex -, jinja2 + # codegen + hassil, + python, + pyyaml, + voluptuous, + regex, + jinja2, -# tests -, pytest-xdist -, pytestCheckHook + # tests + pytest-xdist, + pytestCheckHook, }: buildPythonPackage rec { diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 9dcf47815bb7c..3af62cab6a470 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, hatchling -, hatch-vcs -, home-assistant -, python +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hatch-vcs, + home-assistant, + python, }: buildPythonPackage rec { diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 10389600386c2..67d46af841e19 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -1,5 +1,6 @@ -{ lib -, home-assistant +{ + lib, + home-assistant, }: let @@ -109,37 +110,54 @@ let "--deselect=tests/components/vicare/test_sensor.py::test_all_entities" ]; }; -in lib.listToAttrs (map (component: lib.nameValuePair component ( - home-assistant.overridePythonAttrs (old: { - pname = "homeassistant-test-${component}"; - pyproject = null; - format = "other"; +in +lib.listToAttrs ( + map ( + component: + lib.nameValuePair component ( + home-assistant.overridePythonAttrs (old: { + pname = "homeassistant-test-${component}"; + pyproject = null; + format = "other"; - dontBuild = true; - dontInstall = true; + dontBuild = true; + dontInstall = true; - nativeCheckInputs = old.nativeCheckInputs - ++ home-assistant.getPackages component home-assistant.python.pkgs - ++ extraCheckInputs.${component} or [ ]; + nativeCheckInputs = + old.nativeCheckInputs + ++ home-assistant.getPackages component home-assistant.python.pkgs + ++ extraCheckInputs.${component} or [ ]; - disabledTests = old.disabledTests or [] ++ extraDisabledTests.${component} or []; - disabledTestPaths = old.disabledTestPaths or [] ++ extraDisabledTestPaths.${component} or [ ]; + disabledTests = old.disabledTests or [ ] ++ extraDisabledTests.${component} or [ ]; + disabledTestPaths = old.disabledTestPaths or [ ] ++ extraDisabledTestPaths.${component} or [ ]; - # components are more often racy than the core - dontUsePytestXdist = true; + # components are more often racy than the core + dontUsePytestXdist = true; - pytestFlagsArray = lib.remove "tests" old.pytestFlagsArray - ++ extraPytestFlagsArray.${component} or [ ] - ++ [ "tests/components/${component}" ]; + pytestFlagsArray = + lib.remove "tests" old.pytestFlagsArray + ++ extraPytestFlagsArray.${component} or [ ] + ++ [ "tests/components/${component}" ]; - preCheck = old.preCheck + lib.optionalString (builtins.elem component [ "emulated_hue" "songpal" "system_log" ]) '' - patch -p1 < ${./patches/tests-mock-source-ip.patch} - ''; + preCheck = + old.preCheck + + + lib.optionalString + (builtins.elem component [ + "emulated_hue" + "songpal" + "system_log" + ]) + '' + patch -p1 < ${./patches/tests-mock-source-ip.patch} + ''; - meta = old.meta // { - broken = lib.elem component [ ]; - # upstream only tests on Linux, so do we. - platforms = lib.platforms.linux; - }; - }) -)) home-assistant.supportedComponentsWithTests) + meta = old.meta // { + broken = lib.elem component [ ]; + # upstream only tests on Linux, so do we. + platforms = lib.platforms.linux; + }; + }) + ) + ) home-assistant.supportedComponentsWithTests +) diff --git a/pkgs/servers/http/angie/console-light.nix b/pkgs/servers/http/angie/console-light.nix index 0966e9b94a214..1c7be0b681d50 100644 --- a/pkgs/servers/http/angie/console-light.nix +++ b/pkgs/servers/http/angie/console-light.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, brotli +{ + lib, + stdenv, + fetchurl, + brotli, }: stdenv.mkDerivation rec { @@ -13,7 +14,10 @@ stdenv.mkDerivation rec { hash = "sha256-Oz+FdMrIGNmJKHl/wOVZCP1b0AJODcURvDUKz4gCqYU="; }; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; nativeBuildInputs = [ brotli ]; @@ -35,13 +39,13 @@ stdenv.mkDerivation rec { -exec brotli --best --keep --no-copy-stat {} ';' runHook postInstall - ''; + ''; meta = { description = "Console Light is a lightweight, real-time activity monitoring interface"; - homepage = "https://angie.software/en/console/"; - license = lib.licenses.asl20; - platforms = lib.platforms.all; + homepage = "https://angie.software/en/console/"; + license = lib.licenses.asl20; + platforms = lib.platforms.all; maintainers = with lib.maintainers; [ izorkin ]; }; } diff --git a/pkgs/servers/http/angie/default.nix b/pkgs/servers/http/angie/default.nix index a0bd7bbceee16..bc93c5f9c2e07 100644 --- a/pkgs/servers/http/angie/default.nix +++ b/pkgs/servers/http/angie/default.nix @@ -1,10 +1,11 @@ -{ callPackage -, lib -, fetchurl -, nixosTests -, withAcme ? false -, withQuic ? false -, ... +{ + callPackage, + lib, + fetchurl, + nixosTests, + withAcme ? false, + withQuic ? false, + ... }@args: callPackage ../nginx/generic.nix args rec { @@ -16,12 +17,14 @@ callPackage ../nginx/generic.nix args rec { hash = "sha256-B5fm4BgV/bMLvJ9wOAA4fJyLLGARManDlQmjPXPyHAE="; }; - configureFlags = lib.optionals withAcme [ - "--with-http_acme_module" - "--http-acme-client-path=/var/lib/nginx/acme" - ] ++ lib.optionals withQuic [ - "--with-http_v3_module" - ]; + configureFlags = + lib.optionals withAcme [ + "--with-http_acme_module" + "--http-acme-client-path=/var/lib/nginx/acme" + ] + ++ lib.optionals withQuic [ + "--with-http_v3_module" + ]; preInstall = '' if [[ -e man/angie.8 ]]; then @@ -41,9 +44,9 @@ callPackage ../nginx/generic.nix args rec { meta = { description = "Angie is an efficient, powerful, and scalable web server that was forked from nginx"; - homepage = "https://angie.software/en/"; - license = lib.licenses.bsd2; - platforms = lib.platforms.all; + homepage = "https://angie.software/en/"; + license = lib.licenses.bsd2; + platforms = lib.platforms.all; maintainers = with lib.maintainers; [ izorkin ]; }; } diff --git a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix index b8b3b72d54328..3691aa8e80bbe 100644 --- a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix +++ b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix @@ -1,4 +1,21 @@ -{ lib, stdenv, apacheHttpd, autoconf, automake, autoreconfHook, curl, fetchFromGitHub, glib, lasso, libtool, libxml2, libxslt, openssl, pkg-config, xmlsec }: +{ + lib, + stdenv, + apacheHttpd, + autoconf, + automake, + autoreconfHook, + curl, + fetchFromGitHub, + glib, + lasso, + libtool, + libxml2, + libxslt, + openssl, + pkg-config, + xmlsec, +}: stdenv.mkDerivation rec { @@ -12,10 +29,28 @@ stdenv.mkDerivation rec { sha256 = "sha256-VcR+HZ5S7fLrGqT1SHCQLQw6v516G0x+wf8Wb5Sy4Gk="; }; - nativeBuildInputs = [ autoreconfHook pkg-config autoconf automake ]; - buildInputs = [ apacheHttpd curl glib lasso libtool libxml2 libxslt openssl xmlsec ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + autoconf + automake + ]; + buildInputs = [ + apacheHttpd + curl + glib + lasso + libtool + libxml2 + libxslt + openssl + xmlsec + ]; - configureFlags = ["--with-apxs2=${apacheHttpd.dev}/bin/apxs" "--exec-prefix=$out"]; + configureFlags = [ + "--with-apxs2=${apacheHttpd.dev}/bin/apxs" + "--exec-prefix=$out" + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix b/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix index 68486d5d28942..2ee6f59041a49 100644 --- a/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix +++ b/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, apacheHttpd }: +{ + stdenv, + lib, + fetchFromGitHub, + apacheHttpd, +}: stdenv.mkDerivation rec { pname = "mod_cspnonce"; diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix index bb1d3acc4a293..d2f6a7ae3bb59 100644 --- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix +++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, apacheHttpd }: +{ + lib, + stdenv, + fetchFromGitHub, + apacheHttpd, +}: stdenv.mkDerivation rec { pname = "mod_fastcgi"; diff --git a/pkgs/servers/http/apache-modules/mod_itk/default.nix b/pkgs/servers/http/apache-modules/mod_itk/default.nix index 1cbf78a577820..514be6f129947 100644 --- a/pkgs/servers/http/apache-modules/mod_itk/default.nix +++ b/pkgs/servers/http/apache-modules/mod_itk/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, mod_ca -, apr -, aprutil -, apacheHttpd +{ + lib, + stdenv, + fetchurl, + pkg-config, + mod_ca, + apr, + aprutil, + apacheHttpd, }: stdenv.mkDerivation rec { @@ -18,7 +19,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ mod_ca apr aprutil apacheHttpd ]; + buildInputs = [ + mod_ca + apr + aprutil + apacheHttpd + ]; installPhase = '' runHook preInstall diff --git a/pkgs/servers/http/apache-modules/mod_mbtiles/default.nix b/pkgs/servers/http/apache-modules/mod_mbtiles/default.nix index c2bf88cbac1a4..abf2ddaa3f524 100644 --- a/pkgs/servers/http/apache-modules/mod_mbtiles/default.nix +++ b/pkgs/servers/http/apache-modules/mod_mbtiles/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, apacheHttpd, sqlite }: +{ + lib, + stdenv, + fetchFromGitHub, + apacheHttpd, + sqlite, +}: stdenv.mkDerivation rec { pname = "mod_mbtiles"; @@ -11,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-wOoLSNLgh0YXHUFn7WfUkQXpyWsgCrVZlMg55rvi9q4="; }; - buildInputs = [ apacheHttpd sqlite ]; + buildInputs = [ + apacheHttpd + sqlite + ]; buildPhase = '' apxs -lsqlite3 -ca mod_mbtiles.c diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix index 1f86587c7d1c1..971441bf5a902 100644 --- a/pkgs/servers/http/apache-modules/mod_tile/default.nix +++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix @@ -1,21 +1,22 @@ -{ fetchFromGitHub -, lib -, stdenv -, cmake -, pkg-config -, apacheHttpd -, apr -, aprutil -, boost -, cairo -, curl -, glib -, harfbuzz -, icu -, iniparser -, libmemcached -, mapnik -, nix-update-script +{ + fetchFromGitHub, + lib, + stdenv, + cmake, + pkg-config, + apacheHttpd, + apr, + aprutil, + boost, + cairo, + curl, + glib, + harfbuzz, + icu, + iniparser, + libmemcached, + mapnik, + nix-update-script, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/http/apache-modules/mod_timestamp/default.nix b/pkgs/servers/http/apache-modules/mod_timestamp/default.nix index 1dbe4101dfe6c..2de2d5a65b3c3 100644 --- a/pkgs/servers/http/apache-modules/mod_timestamp/default.nix +++ b/pkgs/servers/http/apache-modules/mod_timestamp/default.nix @@ -26,10 +26,12 @@ stdenv.mkDerivation rec { mod_ca ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ - "-Wno-error=int-conversion" - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.cc.isClang [ + "-Wno-error=int-conversion" + "-Wno-error=implicit-function-declaration" + ] + ); inherit (mod_ca) configureFlags installFlags; diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix index 8f9e77956de77..83940d9e1fab2 100644 --- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix +++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, apacheHttpd, python3, ncurses }: +{ + lib, + stdenv, + fetchFromGitHub, + apacheHttpd, + python3, + ncurses, +}: stdenv.mkDerivation rec { pname = "mod_wsgi"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { hash = "sha256-FhOSU8/4QoWa73bNi/qkgKm3CeEEdboh2MgxgQxcYzE="; }; - buildInputs = [ apacheHttpd python3 ncurses ]; + buildInputs = [ + apacheHttpd + python3 + ncurses + ]; postPatch = '' substituteInPlace configure --replace '/usr/bin/lipo' 'lipo' diff --git a/pkgs/servers/http/jboss/default.nix b/pkgs/servers/http/jboss/default.nix index 4ad126afa501f..bb51b27375373 100644 --- a/pkgs/servers/http/jboss/default.nix +++ b/pkgs/servers/http/jboss/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, jdk }: +{ + lib, + stdenv, + fetchurl, + jdk, +}: stdenv.mkDerivation rec { pname = "jboss-as"; diff --git a/pkgs/servers/http/jetty/common.nix b/pkgs/servers/http/jetty/common.nix index 9b9e064e993f4..bd643a1b90ad0 100644 --- a/pkgs/servers/http/jetty/common.nix +++ b/pkgs/servers/http/jetty/common.nix @@ -1,6 +1,11 @@ { version, hash }: -{ lib, stdenvNoCC, fetchurl, gitUpdater }: +{ + lib, + stdenvNoCC, + fetchurl, + gitUpdater, +}: stdenvNoCC.mkDerivation rec { pname = "jetty"; @@ -32,7 +37,13 @@ stdenvNoCC.mkDerivation rec { homepage = "https://jetty.org/"; platforms = platforms.all; sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = with licenses; [ asl20 epl10 ]; - maintainers = with maintainers; [ emmanuelrosa anthonyroussel ]; + license = with licenses; [ + asl20 + epl10 + ]; + maintainers = with maintainers; [ + emmanuelrosa + anthonyroussel + ]; }; } diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index 23f42fa49df4e..b4d630c6f693f 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -1,50 +1,76 @@ -outer@{ lib, stdenv, fetchurl, fetchpatch, openssl, zlib-ng, pcre2, libxml2, libxslt -, nginx-doc - -, nixosTests -, installShellFiles, substituteAll, removeReferencesTo, gd, geoip, perl -, withDebug ? false -, withGeoIP ? false -, withImageFilter ? false -, withKTLS ? true -, withStream ? true -, withMail ? false -, withPerl ? true -, withSlice ? false -, modules ? [] -, ... +outer@{ + lib, + stdenv, + fetchurl, + fetchpatch, + openssl, + zlib-ng, + pcre2, + libxml2, + libxslt, + nginx-doc, + + nixosTests, + installShellFiles, + substituteAll, + removeReferencesTo, + gd, + geoip, + perl, + withDebug ? false, + withGeoIP ? false, + withImageFilter ? false, + withKTLS ? true, + withStream ? true, + withMail ? false, + withPerl ? true, + withSlice ? false, + modules ? [ ], + ... }: -{ pname ? "nginx" -, version -, nginxVersion ? version -, src ? null # defaults to upstream nginx ${version} -, hash ? null # when not specifying src -, configureFlags ? [] -, nativeBuildInputs ? [] -, buildInputs ? [] -, extraPatches ? [] -, fixPatch ? p: p -, postPatch ? "" -, preConfigure ? "" -, preInstall ? "" -, postInstall ? "" -, meta ? null -, nginx-doc ? outer.nginx-doc -, passthru ? { tests = {}; } +{ + pname ? "nginx", + version, + nginxVersion ? version, + src ? null, # defaults to upstream nginx ${version} + hash ? null, # when not specifying src + configureFlags ? [ ], + nativeBuildInputs ? [ ], + buildInputs ? [ ], + extraPatches ? [ ], + fixPatch ? p: p, + postPatch ? "", + preConfigure ? "", + preInstall ? "", + postInstall ? "", + meta ? null, + nginx-doc ? outer.nginx-doc, + passthru ? { + tests = { }; + }, }: let - moduleNames = map (mod: mod.name or (throw "The nginx module with source ${toString mod.src} does not have a `name` attribute. This prevents duplicate module detection and is no longer supported.")) - modules; + moduleNames = map ( + mod: + mod.name + or (throw "The nginx module with source ${toString mod.src} does not have a `name` attribute. This prevents duplicate module detection and is no longer supported.") + ) modules; - mapModules = attrPath: lib.flip lib.concatMap modules - (mod: - let supports = mod.supports or (_: true); + mapModules = + attrPath: + lib.flip lib.concatMap modules ( + mod: + let + supports = mod.supports or (_: true); in - if supports nginxVersion then mod.${attrPath} or [] - else throw "Module at ${toString mod.src} does not support nginx version ${nginxVersion}!"); + if supports nginxVersion then + mod.${attrPath} or [ ] + else + throw "Module at ${toString mod.src} does not support nginx version ${nginxVersion}!" + ); in @@ -54,135 +80,172 @@ assert lib.assertMsg (lib.unique moduleNames == moduleNames) stdenv.mkDerivation { inherit pname version nginxVersion; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; - src = if src != null then src else fetchurl { - url = "https://nginx.org/download/nginx-${version}.tar.gz"; - inherit hash; - }; + src = + if src != null then + src + else + fetchurl { + url = "https://nginx.org/download/nginx-${version}.tar.gz"; + inherit hash; + }; nativeBuildInputs = [ installShellFiles removeReferencesTo ] ++ nativeBuildInputs; - buildInputs = [ openssl zlib-ng pcre2 libxml2 libxslt perl ] + buildInputs = + [ + openssl + zlib-ng + pcre2 + libxml2 + libxslt + perl + ] ++ buildInputs ++ mapModules "inputs" ++ lib.optional withGeoIP geoip ++ lib.optional withImageFilter gd; - configureFlags = [ - "--sbin-path=bin/nginx" - "--with-http_ssl_module" - "--with-http_v2_module" - "--with-http_realip_module" - "--with-http_addition_module" - "--with-http_xslt_module" - "--with-http_sub_module" - "--with-http_dav_module" - "--with-http_flv_module" - "--with-http_mp4_module" - "--with-http_gunzip_module" - "--with-http_gzip_static_module" - "--with-http_auth_request_module" - "--with-http_random_index_module" - "--with-http_secure_link_module" - "--with-http_degradation_module" - "--with-http_stub_status_module" - "--with-threads" - "--with-pcre-jit" - "--http-log-path=/var/log/nginx/access.log" - "--error-log-path=/var/log/nginx/error.log" - "--pid-path=/var/log/nginx/nginx.pid" - "--http-client-body-temp-path=/tmp/nginx_client_body" - "--http-proxy-temp-path=/tmp/nginx_proxy" - "--http-fastcgi-temp-path=/tmp/nginx_fastcgi" - "--http-uwsgi-temp-path=/tmp/nginx_uwsgi" - "--http-scgi-temp-path=/tmp/nginx_scgi" - ] ++ lib.optionals withDebug [ - "--with-debug" - ] ++ lib.optionals withKTLS [ - "--with-openssl-opt=enable-ktls" - ] ++ lib.optionals withStream [ - "--with-stream" - "--with-stream_realip_module" - "--with-stream_ssl_module" - "--with-stream_ssl_preread_module" - ] ++ lib.optionals withMail [ - "--with-mail" - "--with-mail_ssl_module" - ] ++ lib.optionals withPerl [ - "--with-http_perl_module" - "--with-perl=${perl}/bin/perl" - "--with-perl_modules_path=lib/perl5" - ] ++ lib.optional withImageFilter "--with-http_image_filter_module" + configureFlags = + [ + "--sbin-path=bin/nginx" + "--with-http_ssl_module" + "--with-http_v2_module" + "--with-http_realip_module" + "--with-http_addition_module" + "--with-http_xslt_module" + "--with-http_sub_module" + "--with-http_dav_module" + "--with-http_flv_module" + "--with-http_mp4_module" + "--with-http_gunzip_module" + "--with-http_gzip_static_module" + "--with-http_auth_request_module" + "--with-http_random_index_module" + "--with-http_secure_link_module" + "--with-http_degradation_module" + "--with-http_stub_status_module" + "--with-threads" + "--with-pcre-jit" + "--http-log-path=/var/log/nginx/access.log" + "--error-log-path=/var/log/nginx/error.log" + "--pid-path=/var/log/nginx/nginx.pid" + "--http-client-body-temp-path=/tmp/nginx_client_body" + "--http-proxy-temp-path=/tmp/nginx_proxy" + "--http-fastcgi-temp-path=/tmp/nginx_fastcgi" + "--http-uwsgi-temp-path=/tmp/nginx_uwsgi" + "--http-scgi-temp-path=/tmp/nginx_scgi" + ] + ++ lib.optionals withDebug [ + "--with-debug" + ] + ++ lib.optionals withKTLS [ + "--with-openssl-opt=enable-ktls" + ] + ++ lib.optionals withStream [ + "--with-stream" + "--with-stream_realip_module" + "--with-stream_ssl_module" + "--with-stream_ssl_preread_module" + ] + ++ lib.optionals withMail [ + "--with-mail" + "--with-mail_ssl_module" + ] + ++ lib.optionals withPerl [ + "--with-http_perl_module" + "--with-perl=${perl}/bin/perl" + "--with-perl_modules_path=lib/perl5" + ] + ++ lib.optional withImageFilter "--with-http_image_filter_module" ++ lib.optional withSlice "--with-http_slice_module" - ++ lib.optionals withGeoIP ([ "--with-http_geoip_module" ] ++ lib.optional withStream "--with-stream_geoip_module") + ++ lib.optionals withGeoIP ( + [ "--with-http_geoip_module" ] ++ lib.optional withStream "--with-stream_geoip_module" + ) ++ lib.optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio" ++ configureFlags ++ map (mod: "--add-module=${mod.src}") modules; - env.NIX_CFLAGS_COMPILE = toString ([ - "-I${libxml2.dev}/include/libxml2" - "-Wno-error=implicit-fallthrough" - ( - # zlig-ng patch needs this - if stdenv.cc.isGNU then - "-Wno-error=discarded-qualifiers" - else - "-Wno-error=incompatible-pointer-types-discards-qualifiers" - ) - ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [ - # fix build vts module on gcc11 - "-Wno-error=stringop-overread" - ] ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=deprecated-declarations" - "-Wno-error=gnu-folding-constant" - "-Wno-error=unused-but-set-variable" - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - # fix sys/cdefs.h is deprecated - "-Wno-error=cpp" - ]); - - configurePlatforms = []; + env.NIX_CFLAGS_COMPILE = toString ( + [ + "-I${libxml2.dev}/include/libxml2" + "-Wno-error=implicit-fallthrough" + ( + # zlig-ng patch needs this + if stdenv.cc.isGNU then + "-Wno-error=discarded-qualifiers" + else + "-Wno-error=incompatible-pointer-types-discards-qualifiers" + ) + ] + ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [ + # fix build vts module on gcc11 + "-Wno-error=stringop-overread" + ] + ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=deprecated-declarations" + "-Wno-error=gnu-folding-constant" + "-Wno-error=unused-but-set-variable" + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + # fix sys/cdefs.h is deprecated + "-Wno-error=cpp" + ] + ); + + configurePlatforms = [ ]; # Disable _multioutConfig hook which adds --bindir=$out/bin into configureFlags, # which breaks build, since nginx does not actually use autoconf. - preConfigure = '' - setOutputFlags= - '' + preConfigure - + lib.concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules; - - patches = map fixPatch ([ - (substituteAll { - src = ./nix-etag-1.15.4.patch; - preInstall = '' - export nixStoreDir="$NIX_STORE" nixStoreDirLen="''${#NIX_STORE}" - ''; - }) - ./nix-skip-check-logs-path.patch - ] ++ lib.optionals (pname != "openresty") [ - # https://github.com/NixOS/nixpkgs/issues/357522 - # https://github.com/zlib-ng/patches/blob/5a036c0a00120c75ee573b27f4f44ade80d82ff2/nginx/README.md - (fetchpatch { - url = "https://raw.githubusercontent.com/zlib-ng/patches/38756e6325a5d2cc32709b8e9549984c63a78815/nginx/1.26.2-zlib-ng.patch"; - hash = "sha256-LX5kP6jFiqgt4ApKw5eqOAFJNkc5QI6kX8ZRvBYTi9k="; - }) - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - (fetchpatch { - url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/102-sizeof_test_fix.patch"; - sha256 = "0i2k30ac8d7inj9l6bl0684kjglam2f68z8lf3xggcc2i5wzhh8a"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/101-feature_test_fix.patch"; - sha256 = "0v6890a85aqmw60pgj3mm7g8nkaphgq65dj4v9c6h58wdsrc6f0y"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/103-sys_nerr.patch"; - sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd"; - }) - ] ++ mapModules "patches") + preConfigure = + '' + setOutputFlags= + '' + + preConfigure + + lib.concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules; + + patches = + map fixPatch ( + [ + (substituteAll { + src = ./nix-etag-1.15.4.patch; + preInstall = '' + export nixStoreDir="$NIX_STORE" nixStoreDirLen="''${#NIX_STORE}" + ''; + }) + ./nix-skip-check-logs-path.patch + ] + ++ lib.optionals (pname != "openresty") [ + # https://github.com/NixOS/nixpkgs/issues/357522 + # https://github.com/zlib-ng/patches/blob/5a036c0a00120c75ee573b27f4f44ade80d82ff2/nginx/README.md + (fetchpatch { + url = "https://raw.githubusercontent.com/zlib-ng/patches/38756e6325a5d2cc32709b8e9549984c63a78815/nginx/1.26.2-zlib-ng.patch"; + hash = "sha256-LX5kP6jFiqgt4ApKw5eqOAFJNkc5QI6kX8ZRvBYTi9k="; + }) + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/102-sizeof_test_fix.patch"; + sha256 = "0i2k30ac8d7inj9l6bl0684kjglam2f68z8lf3xggcc2i5wzhh8a"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/101-feature_test_fix.patch"; + sha256 = "0v6890a85aqmw60pgj3mm7g8nkaphgq65dj4v9c6h58wdsrc6f0y"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/103-sys_nerr.patch"; + sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd"; + }) + ] + ++ mapModules "patches" + ) ++ extraPatches; inherit postPatch; @@ -191,40 +254,68 @@ stdenv.mkDerivation { enableParallelBuilding = true; - preInstall = '' - mkdir -p $doc - cp -r ${nginx-doc}/* $doc + preInstall = + '' + mkdir -p $doc + cp -r ${nginx-doc}/* $doc - # TODO: make it unconditional when `openresty` and `nginx` are not - # sharing this code. - if [[ -e man/nginx.8 ]]; then - installManPage man/nginx.8 - fi - '' + preInstall; + # TODO: make it unconditional when `openresty` and `nginx` are not + # sharing this code. + if [[ -e man/nginx.8 ]]; then + installManPage man/nginx.8 + fi + '' + + preInstall; disallowedReferences = map (m: m.src) modules; postInstall = let - noSourceRefs = lib.concatMapStrings (m: "remove-references-to -t ${m.src} $(readlink -fn $out/bin/nginx)\n") modules; - in postInstall + noSourceRefs; + noSourceRefs = lib.concatMapStrings ( + m: "remove-references-to -t ${m.src} $(readlink -fn $out/bin/nginx)\n" + ) modules; + in + postInstall + noSourceRefs; passthru = { inherit modules; tests = { - inherit (nixosTests) nginx nginx-auth nginx-etag nginx-etag-compression nginx-globalredirect nginx-http3 nginx-proxyprotocol nginx-pubhtml nginx-sso nginx-status-page nginx-unix-socket; + inherit (nixosTests) + nginx + nginx-auth + nginx-etag + nginx-etag-compression + nginx-globalredirect + nginx-http3 + nginx-proxyprotocol + nginx-pubhtml + nginx-sso + nginx-status-page + nginx-unix-socket + ; variants = lib.recurseIntoAttrs nixosTests.nginx-variants; acme-integration = nixosTests.acme; } // passthru.tests; }; - meta = if meta != null then meta else with lib; { - description = "Reverse proxy and lightweight webserver"; - mainProgram = "nginx"; - homepage = "http://nginx.org"; - license = [ licenses.bsd2 ] - ++ concatMap (m: m.meta.license) modules; - platforms = platforms.all; - maintainers = with maintainers; [ fpletz raitobezarius ] ++ teams.helsinki-systems.members ++ teams.stridtech.members; - }; + meta = + if meta != null then + meta + else + with lib; + { + description = "Reverse proxy and lightweight webserver"; + mainProgram = "nginx"; + homepage = "http://nginx.org"; + license = [ licenses.bsd2 ] ++ concatMap (m: m.meta.license) modules; + platforms = platforms.all; + maintainers = + with maintainers; + [ + fpletz + raitobezarius + ] + ++ teams.helsinki-systems.members + ++ teams.stridtech.members; + }; } diff --git a/pkgs/servers/http/nginx/quic.nix b/pkgs/servers/http/nginx/quic.nix index ea5af571f1107..a3db09f16bb87 100644 --- a/pkgs/servers/http/nginx/quic.nix +++ b/pkgs/servers/http/nginx/quic.nix @@ -1,7 +1,8 @@ -{ callPackage -, nginxMainline -, ... -} @ args: +{ + callPackage, + nginxMainline, + ... +}@args: callPackage ./generic.nix args { pname = "nginxQuic"; diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix index 48c1f99b240c3..e1c69c4263b0c 100644 --- a/pkgs/servers/http/nginx/stable.nix +++ b/pkgs/servers/http/nginx/stable.nix @@ -1,4 +1,4 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: callPackage ./generic.nix args { version = "1.26.2"; diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 0073fae047bed..d40cb644cf4d2 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -1,12 +1,13 @@ -{ callPackage -, runCommand -, lib -, fetchurl -, perl -, postgresql -, nixosTests -, withPostgres ? true -, ... +{ + callPackage, + runCommand, + lib, + fetchurl, + perl, + postgresql, + nixosTests, + withPostgres ? true, + ... }@args: callPackage ../nginx/generic.nix args rec { @@ -22,8 +23,11 @@ callPackage ../nginx/generic.nix args rec { # generic.nix applies fixPatch on top of every patch defined there. # This allows updating the patch destination, as openresty has # nginx source code in a different folder. - fixPatch = patch: - let name = patch.name or (builtins.baseNameOf patch); in + fixPatch = + patch: + let + name = patch.name or (builtins.baseNameOf patch); + in runCommand "openresty-${name}" { src = patch; } '' substitute $src $out \ --replace "a/" "a/bundle/nginx-${nginxVersion}/" \ @@ -57,6 +61,9 @@ callPackage ../nginx/generic.nix args rec { homepage = "https://openresty.org"; license = lib.licenses.bsd2; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ thoughtpolice lblasc ]; + maintainers = with lib.maintainers; [ + thoughtpolice + lblasc + ]; }; } diff --git a/pkgs/servers/http/showoff/default.nix b/pkgs/servers/http/showoff/default.nix index c3deae28ec0e2..9c94b43b77d6a 100644 --- a/pkgs/servers/http/showoff/default.nix +++ b/pkgs/servers/http/showoff/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "showoff"; @@ -13,6 +17,9 @@ bundlerApp { homepage = "https://puppetlabs.github.io/showoff/"; license = with licenses; mit; platforms = platforms.unix; - maintainers = with maintainers; [ maxwilson nicknovitski ]; + maintainers = with maintainers; [ + maxwilson + nicknovitski + ]; }; } diff --git a/pkgs/servers/http/showoff/gemset.nix b/pkgs/servers/http/showoff/gemset.nix index d493a0a79751f..e2f42b5abb4d0 100644 --- a/pkgs/servers/http/showoff/gemset.nix +++ b/pkgs/servers/http/showoff/gemset.nix @@ -1,17 +1,17 @@ { addressable = { - dependencies = ["public_suffix"]; + dependencies = [ "public_suffix" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; type = "gem"; }; version = "2.6.0"; }; commonmarker = { - dependencies = ["ruby-enum"]; + dependencies = [ "ruby-enum" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "122dy5mzx4p86flpzyg3raf742zp5ab9bjr7zk29p3ixpncf0rdk"; type = "gem"; }; @@ -19,7 +19,7 @@ }; concurrent-ruby = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; @@ -27,16 +27,19 @@ }; daemons = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w"; type = "gem"; }; version = "1.3.1"; }; em-websocket = { - dependencies = ["addressable" "eventmachine"]; + dependencies = [ + "addressable" + "eventmachine" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xkb1rc6dd3y5s7qsp4wqrri3n9gwsbvnwwv6xwgp241jxdpp4iq"; type = "gem"; }; @@ -44,16 +47,16 @@ }; eventmachine = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; fidget = { - dependencies = ["ruby-dbus"]; + dependencies = [ "ruby-dbus" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04g2846wjlb8ms5041lv37aqs4jzsziwv58bxg7yzc61pdvi4ksb"; type = "gem"; }; @@ -61,7 +64,7 @@ }; gli = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "133glfzsq67ykmdsgp251s9kddg9x4qki2jpbjv25h3hawlql4hs"; type = "gem"; }; @@ -69,16 +72,16 @@ }; htmlentities = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; i18n = { - dependencies = ["concurrent-ruby"]; + dependencies = [ "concurrent-ruby" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl"; type = "gem"; }; @@ -86,7 +89,7 @@ }; iso-639 = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10k1gpkkbxbasgjzh4hd32ygxzjb5312rphipm46ryxkpx556zzz"; type = "gem"; }; @@ -94,7 +97,7 @@ }; json = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; type = "gem"; }; @@ -102,16 +105,16 @@ }; mini_portile2 = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; version = "2.4.0"; }; nokogiri = { - dependencies = ["mini_portile2"]; + dependencies = [ "mini_portile2" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09zll7c6j7xr6wyvh5mm5ncj6pkryp70ybcsxdbw1nyphx5dh184"; type = "gem"; }; @@ -119,7 +122,7 @@ }; parslet = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12nrzfwjphjlakb9pmpj70hgjwgzvnr8i1zfzddifgyd44vspl88"; type = "gem"; }; @@ -127,7 +130,7 @@ }; public_suffix = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; @@ -135,25 +138,25 @@ }; rack = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; type = "gem"; }; version = "1.6.11"; }; rack-contrib = { - dependencies = ["rack"]; + dependencies = [ "rack" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l7m0av4pjl5p64l8j7pkip1jwhkp80a8kc2j7b9lrwh04fgx5wx"; type = "gem"; }; version = "1.8.0"; }; rack-protection = { - dependencies = ["rack"]; + dependencies = [ "rack" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; type = "gem"; }; @@ -161,7 +164,7 @@ }; redcarpet = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; type = "gem"; }; @@ -169,52 +172,80 @@ }; ruby-dbus = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16lsqdwas6ngyyvq51l7lynj5ayis17zm5hpsg5x3m3n6r5k2gv4"; type = "gem"; }; version = "0.14.1"; }; ruby-enum = { - dependencies = ["i18n"]; + dependencies = [ "i18n" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx"; type = "gem"; }; version = "0.7.2"; }; showoff = { - dependencies = ["commonmarker" "fidget" "gli" "htmlentities" "i18n" "iso-639" "json" "nokogiri" "parslet" "rack-contrib" "redcarpet" "sinatra" "sinatra-websocket" "thin" "tilt"]; + dependencies = [ + "commonmarker" + "fidget" + "gli" + "htmlentities" + "i18n" + "iso-639" + "json" + "nokogiri" + "parslet" + "rack-contrib" + "redcarpet" + "sinatra" + "sinatra-websocket" + "thin" + "tilt" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14884kh7vrp5b72dpn7q26h49y7igxqza72girkv1h28qx4kqw4r"; type = "gem"; }; version = "0.20.1"; }; sinatra = { - dependencies = ["rack" "rack-protection" "tilt"]; + dependencies = [ + "rack" + "rack-protection" + "tilt" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; type = "gem"; }; version = "1.4.8"; }; sinatra-websocket = { - dependencies = ["em-websocket" "eventmachine" "thin"]; + dependencies = [ + "em-websocket" + "eventmachine" + "thin" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0as52mfw34z3ba6qjab009h2rdn0za0iwrc42kw948hbb8qzcm5m"; type = "gem"; }; version = "0.3.1"; }; thin = { - dependencies = ["daemons" "eventmachine" "rack"]; + dependencies = [ + "daemons" + "eventmachine" + "rack" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f"; type = "gem"; }; @@ -222,7 +253,7 @@ }; tilt = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix index bddb334e8c5d4..812784ebd394d 100644 --- a/pkgs/servers/http/tengine/default.nix +++ b/pkgs/servers/http/tengine/default.nix @@ -1,10 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, openssl, zlib, pcre, libxcrypt, libxml2, libxslt -, substituteAll, gd, geoip, gperftools, jemalloc, nixosTests -, withDebug ? false -, withMail ? false -, withStream ? false -, modules ? [] -, ... +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + zlib, + pcre, + libxcrypt, + libxml2, + libxslt, + substituteAll, + gd, + geoip, + gperftools, + jemalloc, + nixosTests, + withDebug ? false, + withMail ? false, + withStream ? false, + modules ? [ ], + ... }: let @@ -21,85 +35,104 @@ stdenv.mkDerivation rec { hash = "sha256-cClSNBlresMHqJrqSFWvUo589TlwJ2tL5FWJG9QBuis="; }; - buildInputs = - [ openssl zlib pcre libxcrypt libxml2 libxslt gd geoip gperftools jemalloc ] - ++ lib.concatMap (mod: mod.inputs or []) modules; + buildInputs = [ + openssl + zlib + pcre + libxcrypt + libxml2 + libxslt + gd + geoip + gperftools + jemalloc + ] ++ lib.concatMap (mod: mod.inputs or [ ]) modules; - patches = lib.singleton (substituteAll { - src = ../nginx/nix-etag-1.15.4.patch; - preInstall = '' - export nixStoreDir="$NIX_STORE" nixStoreDirLen="''${#NIX_STORE}" - ''; - }) ++ [ - ./check-resolv-conf.patch - ../nginx/nix-skip-check-logs-path.patch - ]; + patches = + lib.singleton (substituteAll { + src = ../nginx/nix-etag-1.15.4.patch; + preInstall = '' + export nixStoreDir="$NIX_STORE" nixStoreDirLen="''${#NIX_STORE}" + ''; + }) + ++ [ + ./check-resolv-conf.patch + ../nginx/nix-skip-check-logs-path.patch + ]; - configureFlags = [ - "--with-http_ssl_module" - "--with-http_v2_module" - "--with-http_realip_module" - "--with-http_addition_module" - "--with-http_xslt_module" - "--with-http_geoip_module" - "--with-http_sub_module" - "--with-http_dav_module" - "--with-http_flv_module" - "--with-http_mp4_module" - "--with-http_gunzip_module" - "--with-http_gzip_static_module" - "--with-http_auth_request_module" - "--with-http_random_index_module" - "--with-http_secure_link_module" - "--with-http_degradation_module" - "--with-http_stub_status_module" - "--with-threads" - "--with-pcre-jit" - "--with-http_slice_module" - "--with-select_module" - "--with-poll_module" - "--with-google_perftools_module" - "--with-jemalloc" - "--http-log-path=/var/log/nginx/access.log" - "--error-log-path=/var/log/nginx/error.log" - "--pid-path=/var/log/nginx/nginx.pid" - "--http-client-body-temp-path=/var/cache/nginx/client_body" - "--http-proxy-temp-path=/var/cache/nginx/proxy" - "--http-fastcgi-temp-path=/var/cache/nginx/fastcgi" - "--http-uwsgi-temp-path=/var/cache/nginx/uwsgi" - "--http-scgi-temp-path=/var/cache/nginx/scgi" - ] ++ optionals withDebug [ - "--with-debug" - ] ++ optionals withMail [ - "--with-mail" - "--with-mail_ssl_module" - ] ++ optionals (!withMail) [ - "--without-mail_pop3_module" - "--without-mail_imap_module" - "--without-mail_smtp_module" - ] ++ optionals withStream [ - "--with-stream" - "--with-stream_ssl_module" - "--with-stream_realip_module" - "--with-stream_geoip_module" - "--with-stream_ssl_preread_module" - "--with-stream_sni" - ] ++ optionals (!withStream) [ - "--without-stream_limit_conn_module" - "--without-stream_access_module" - "--without-stream_geo_module" - "--without-stream_map_module" - "--without-stream_split_clients_module" - "--without-stream_return_module" - "--without-stream_upstream_hash_module" - "--without-stream_upstream_least_conn_module" - "--without-stream_upstream_random_module" - "--without-stream_upstream_zone_module" - ] ++ optional (gd != null) "--with-http_image_filter_module" + configureFlags = + [ + "--with-http_ssl_module" + "--with-http_v2_module" + "--with-http_realip_module" + "--with-http_addition_module" + "--with-http_xslt_module" + "--with-http_geoip_module" + "--with-http_sub_module" + "--with-http_dav_module" + "--with-http_flv_module" + "--with-http_mp4_module" + "--with-http_gunzip_module" + "--with-http_gzip_static_module" + "--with-http_auth_request_module" + "--with-http_random_index_module" + "--with-http_secure_link_module" + "--with-http_degradation_module" + "--with-http_stub_status_module" + "--with-threads" + "--with-pcre-jit" + "--with-http_slice_module" + "--with-select_module" + "--with-poll_module" + "--with-google_perftools_module" + "--with-jemalloc" + "--http-log-path=/var/log/nginx/access.log" + "--error-log-path=/var/log/nginx/error.log" + "--pid-path=/var/log/nginx/nginx.pid" + "--http-client-body-temp-path=/var/cache/nginx/client_body" + "--http-proxy-temp-path=/var/cache/nginx/proxy" + "--http-fastcgi-temp-path=/var/cache/nginx/fastcgi" + "--http-uwsgi-temp-path=/var/cache/nginx/uwsgi" + "--http-scgi-temp-path=/var/cache/nginx/scgi" + ] + ++ optionals withDebug [ + "--with-debug" + ] + ++ optionals withMail [ + "--with-mail" + "--with-mail_ssl_module" + ] + ++ optionals (!withMail) [ + "--without-mail_pop3_module" + "--without-mail_imap_module" + "--without-mail_smtp_module" + ] + ++ optionals withStream [ + "--with-stream" + "--with-stream_ssl_module" + "--with-stream_realip_module" + "--with-stream_geoip_module" + "--with-stream_ssl_preread_module" + "--with-stream_sni" + ] + ++ optionals (!withStream) [ + "--without-stream_limit_conn_module" + "--without-stream_access_module" + "--without-stream_geo_module" + "--without-stream_map_module" + "--without-stream_split_clients_module" + "--without-stream_return_module" + "--without-stream_upstream_hash_module" + "--without-stream_upstream_least_conn_module" + "--without-stream_upstream_random_module" + "--without-stream_upstream_zone_module" + ] + ++ optional (gd != null) "--with-http_image_filter_module" ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio" ++ map (mod: "--add-module=${mod.src}") modules; - env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2 -Wno-error=implicit-fallthrough" + env.NIX_CFLAGS_COMPILE = + "-I${libxml2.dev}/include/libxml2 -Wno-error=implicit-fallthrough" + optionalString stdenv.hostPlatform.isDarwin " -Wno-error=deprecated-declarations"; preConfigure = (lib.concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules); @@ -120,9 +153,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Web server based on Nginx and has many advanced features, originated by Taobao"; mainProgram = "nginx"; - homepage = "https://tengine.taobao.org"; - license = licenses.bsd2; - platforms = platforms.all; + homepage = "https://tengine.taobao.org"; + license = licenses.bsd2; + platforms = platforms.all; maintainers = with maintainers; [ izorkin ]; }; } diff --git a/pkgs/servers/http/tomcat/tomcat-native.nix b/pkgs/servers/http/tomcat/tomcat-native.nix index d95296b761496..e2d621e9cdc64 100644 --- a/pkgs/servers/http/tomcat/tomcat-native.nix +++ b/pkgs/servers/http/tomcat/tomcat-native.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, apr, jdk, openssl }: +{ + lib, + stdenv, + fetchurl, + apr, + jdk, + openssl, +}: stdenv.mkDerivation rec { pname = "tomcat-native"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { sourceRoot = "${pname}-${version}-src/native"; - buildInputs = [ apr jdk openssl ]; + buildInputs = [ + apr + jdk + openssl + ]; configureFlags = [ "--with-apr=${apr.dev}" diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix index a6d3a8125753b..20ad08cde1a04 100644 --- a/pkgs/servers/icingaweb2/default.nix +++ b/pkgs/servers/icingaweb2/default.nix @@ -1,4 +1,11 @@ -{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper, php, nixosTests }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeWrapper, + php, + nixosTests, +}: stdenvNoCC.mkDerivation rec { pname = "icingaweb2"; diff --git a/pkgs/servers/icingaweb2/ipl.nix b/pkgs/servers/icingaweb2/ipl.nix index 4512dfaa6ca6a..e935c283f3066 100644 --- a/pkgs/servers/icingaweb2/ipl.nix +++ b/pkgs/servers/icingaweb2/ipl.nix @@ -1,4 +1,9 @@ -{ stdenvNoCC, lib, fetchFromGitHub, nixosTests }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + nixosTests, +}: stdenvNoCC.mkDerivation rec { pname = "icingaweb2-ipl"; diff --git a/pkgs/servers/icingaweb2/theme-april/default.nix b/pkgs/servers/icingaweb2/theme-april/default.nix index 05f9b9c971b72..51633ea0a8d01 100644 --- a/pkgs/servers/icingaweb2/theme-april/default.nix +++ b/pkgs/servers/icingaweb2/theme-april/default.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/icingaweb2/theme-lsd/default.nix b/pkgs/servers/icingaweb2/theme-lsd/default.nix index e2c60ef798695..5e3afdc72bb3e 100644 --- a/pkgs/servers/icingaweb2/theme-lsd/default.nix +++ b/pkgs/servers/icingaweb2/theme-lsd/default.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/icingaweb2/theme-particles/default.nix b/pkgs/servers/icingaweb2/theme-particles/default.nix index 7e8adb72c6d93..da9aaaf6a4996 100644 --- a/pkgs/servers/icingaweb2/theme-particles/default.nix +++ b/pkgs/servers/icingaweb2/theme-particles/default.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/icingaweb2/theme-snow/default.nix b/pkgs/servers/icingaweb2/theme-snow/default.nix index 9b571b948b523..e38ea325e2ab4 100644 --- a/pkgs/servers/icingaweb2/theme-snow/default.nix +++ b/pkgs/servers/icingaweb2/theme-snow/default.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/icingaweb2/theme-spring/default.nix b/pkgs/servers/icingaweb2/theme-spring/default.nix index 8392124eb072a..618e78a1bd747 100644 --- a/pkgs/servers/icingaweb2/theme-spring/default.nix +++ b/pkgs/servers/icingaweb2/theme-spring/default.nix @@ -1,6 +1,7 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/icingaweb2/theme-unicorn/default.nix b/pkgs/servers/icingaweb2/theme-unicorn/default.nix index 39c4e7b927438..7fc162b90b25a 100644 --- a/pkgs/servers/icingaweb2/theme-unicorn/default.nix +++ b/pkgs/servers/icingaweb2/theme-unicorn/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/icingaweb2/thirdparty.nix b/pkgs/servers/icingaweb2/thirdparty.nix index 3ba9aee65221e..87a12d2f57884 100644 --- a/pkgs/servers/icingaweb2/thirdparty.nix +++ b/pkgs/servers/icingaweb2/thirdparty.nix @@ -1,4 +1,9 @@ -{ stdenvNoCC, lib, fetchFromGitHub, nixosTests }: +{ + stdenvNoCC, + lib, + fetchFromGitHub, + nixosTests, +}: stdenvNoCC.mkDerivation rec { pname = "icingaweb2-thirdparty"; diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix index 387914e8a6abd..1b9dc07574661 100644 --- a/pkgs/servers/irc/charybdis/default.nix +++ b/pkgs/servers/irc/charybdis/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, bison, flex, openssl, gnutls }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + openssl, + gnutls, +}: stdenv.mkDerivation rec { pname = "charybdis"; @@ -25,15 +34,22 @@ stdenv.mkDerivation rec { "--with-program-prefix=charybdis-" ]; - nativeBuildInputs = [ autoreconfHook bison flex ]; - buildInputs = [ openssl gnutls ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + ]; + buildInputs = [ + openssl + gnutls + ]; meta = with lib; { description = "IRCv3 server designed to be highly scalable"; - homepage = "https://github.com/charybdis-ircd/charybdis"; - license = licenses.gpl2Plus; + homepage = "https://github.com/charybdis-ircd/charybdis"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ lassulus ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/servers/irc/solanum/default.nix b/pkgs/servers/irc/solanum/default.nix index b31a7e16cd1fa..da41c55c7e7e8 100644 --- a/pkgs/servers/irc/solanum/default.nix +++ b/pkgs/servers/irc/solanum/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, autoreconfHook -, bison -, fetchFromGitHub -, flex -, lksctp-tools -, openssl -, pkg-config -, sqlite -, util-linux -, nixosTests +{ + lib, + stdenv, + autoreconfHook, + bison, + fetchFromGitHub, + flex, + lksctp-tools, + openssl, + pkg-config, + sqlite, + util-linux, + nixosTests, }: stdenv.mkDerivation rec { @@ -30,17 +32,19 @@ stdenv.mkDerivation rec { substituteInPlace include/defaults.h --replace 'ETCPATH "' '"/etc/solanum' ''; - configureFlags = [ - "--enable-epoll" - "--enable-ipv6" - "--enable-openssl=${openssl.dev}" - "--with-program-prefix=solanum-" - "--localstatedir=/var/lib" - "--with-rundir=/run" - "--with-logdir=/var/log" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ - "--enable-sctp=${lksctp-tools.out}/lib" - ]; + configureFlags = + [ + "--enable-epoll" + "--enable-ipv6" + "--enable-openssl=${openssl.dev}" + "--with-program-prefix=solanum-" + "--localstatedir=/var/lib" + "--with-rundir=/run" + "--with-logdir=/var/log" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + "--enable-sctp=${lksctp-tools.out}/lib" + ]; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/servers/isso/default.nix b/pkgs/servers/isso/default.nix index 6d5de7429be1c..7613cd0f0caae 100644 --- a/pkgs/servers/isso/default.nix +++ b/pkgs/servers/isso/default.nix @@ -1,4 +1,13 @@ -{ pkgs, nodejs, lib, python3Packages, fetchFromGitHub, nixosTests, fetchNpmDeps, npmHooks }: +{ + pkgs, + nodejs, + lib, + python3Packages, + fetchFromGitHub, + nixosTests, + fetchNpmDeps, + npmHooks, +}: with python3Packages; diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index bf88379b2b6ce..d3f3a011f5240 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages -, openssl -, mono -, nixosTests +{ + lib, + stdenv, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + openssl, + mono, + nixosTests, }: buildDotnetModule rec { @@ -48,6 +49,10 @@ buildDotnetModule rec { homepage = "https://github.com/Jackett/Jackett/"; changelog = "https://github.com/Jackett/Jackett/releases/tag/v${version}"; license = licenses.gpl2Only; - maintainers = with maintainers; [ edwtjo nyanloutre purcell ]; + maintainers = with maintainers; [ + edwtjo + nyanloutre + purcell + ]; }; } diff --git a/pkgs/servers/jackett/deps.nix b/pkgs/servers/jackett/deps.nix index b96c5d9c95ed8..d40f302a9c48b 100644 --- a/pkgs/servers/jackett/deps.nix +++ b/pkgs/servers/jackett/deps.nix @@ -1,286 +1,1411 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "AngleSharp"; version = "1.1.2"; hash = "sha256-LvJDD+C/NiPLVjEnIWkR+39UkzoeWgPd7BBXakij0WU="; }) - (fetchNuGet { pname = "AngleSharp.Xml"; version = "1.0.0"; hash = "sha256-UzxXWH6qG2BEAH/ULosGkUn2RhghUOguyVTPYl78spM="; }) - (fetchNuGet { pname = "Autofac"; version = "8.0.0"; hash = "sha256-7XhDXw8hatQFjQMTIorQ5XrfDCc7EVNVyi6bGbc5fnA="; }) - (fetchNuGet { pname = "Autofac.Extensions.DependencyInjection"; version = "9.0.0"; hash = "sha256-hEqvbTkJqcI4S4LpxVOMyc5m+KeN0nRLk7FqQHSLRd4="; }) - (fetchNuGet { pname = "BencodeNET"; version = "4.0.0"; hash = "sha256-Bjlpq7laGbrxpYf6GpxklF9AalIh7dTYefU8cDS+fxY="; }) - (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; }) - (fetchNuGet { pname = "coverlet.msbuild"; version = "6.0.2"; hash = "sha256-Ptj/f41dJ1T+DYvJ8bUo7Bnjp5R+xFOKGVhg3GA+f/A="; }) - (fetchNuGet { pname = "DotNet4.SocksProxy"; version = "1.4.0.1"; hash = "sha256-a+sqVAHupD9DLFfRptjvPoW7YU+qT5yxUYGAqmNS4sU="; }) - (fetchNuGet { pname = "FlareSolverrSharp"; version = "3.0.7"; hash = "sha256-zropUtNiHVSG0ULK01wOhqgZSlWi+CXZ+4SKWok33BI="; }) - (fetchNuGet { pname = "FluentAssertions"; version = "6.12.1"; hash = "sha256-R/Fi9eee6T8t8JECxL9+HFd8jAxRMkCg18j+fAQLNqM="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore"; version = "2.2.0"; hash = "sha256-yZUh/m5s/tgGZOKGylcbPaZ67AHi/mM0xE/bqhk8W28="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Antiforgery"; version = "2.2.0"; hash = "sha256-NBUF/oT5TYVvuUW4/lws//1OfX8ldrAxY4+CLnmT3Ag="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication"; version = "2.2.0"; hash = "sha256-9lUsjz9egaM7QwDh7FLvrhzKtA/LvrTMrNcXjEH7Dns="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.Abstractions"; version = "2.2.0"; hash = "sha256-0JcJYAoU+AEM0dWaXk2qnqxrVM0Ak9/ntCU1MC90R24="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.Cookies"; version = "2.2.0"; hash = "sha256-rVy2jwHGg67zaUheYz/JYewtnSnrSRWEQ/AWvGs78XQ="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.Core"; version = "2.2.0"; hash = "sha256-EE2zKcwPHzm05R+9f7iDvdXE8PuwMUJZmu3EVl0h9vE="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization"; version = "2.2.0"; hash = "sha256-PaMYICjQ0rprUv53Uza/jQvvWTcbPjGLMMp12utF+NY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization.Policy"; version = "2.2.0"; hash = "sha256-onFYB+jtCbGyfZsIglReCPRdDMmwah2EDMhJN4uBP7Q="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "2.2.0"; hash = "sha256-MoieWAe7zT/0a7PAn3gMKO8YpHTbOtiGIwF/sFAmieY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Cors"; version = "2.2.0"; hash = "sha256-TB+sGspJ9kmKco1R0ecMQi3PmMLe4U7ncpOceNBfU2M="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Cryptography.Internal"; version = "2.2.0"; hash = "sha256-WzP/Rs5oBzdmLzkx3knpZcgdNWVGw9xeo4esgroTjwY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Cryptography.Internal"; version = "8.0.10"; hash = "sha256-zR9xbcGD4yU/oo/c9dQ4AKTMFT+HSBsfu0oNV6bjPNo="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.DataProtection"; version = "2.2.0"; hash = "sha256-/aEB1KEQDlBdB2MXG9q/YsOLnGv49uV6D753gsBdnyY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.DataProtection"; version = "8.0.10"; hash = "sha256-JYzSF9NxaGA0tXobfaV2ODQdcVCbQBGtcILCRUgcKiY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.DataProtection.Abstractions"; version = "2.2.0"; hash = "sha256-3zGsOkU/9QrXI96cREJfIni38IazRVNpcS3nqvWFJL4="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.DataProtection.Abstractions"; version = "8.0.10"; hash = "sha256-Fa3PLGFHOvIvAkpTRls1iESyg9ZxqY1/I5Q4elmA2SE="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Diagnostics"; version = "2.2.0"; hash = "sha256-YSW+mjK2ZsLSvoO7yYidV5s62NDityXKIOGICaDQBUM="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Diagnostics.Abstractions"; version = "2.2.0"; hash = "sha256-oOYGMhmHhUrHjJjAtOQg56K+kZmP1QizC07wAiVsLBg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.HostFiltering"; version = "2.2.0"; hash = "sha256-g3Tm1j/54w/CiZlOHm7Lo0prDzWEoGd+94kTAdd8ixs="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting"; version = "2.2.0"; hash = "sha256-Hcp+bQfnsoIaXSKb0GIvQPKvgSgStH7IHTETdWQNZto="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Abstractions"; version = "2.1.1"; hash = "sha256-tZZ4Ka0H0TJb+m5ntO7YN7tlcrDz5hJhvX1sh5Vl1PI="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Abstractions"; version = "2.2.0"; hash = "sha256-GzqYrTqCCVy41AOfmgIRY1kkqxekn5T0gFC7tUMxcxA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; version = "2.1.1"; hash = "sha256-13BN1yOL4y2/emMObr3Wb9Q21LbqkPeGvir3A+H+jX4="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; version = "2.2.0"; hash = "sha256-8PnZFCkMwAeEHySmmjJOnQvOyx2199PesYHBnfka51s="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Html.Abstractions"; version = "2.2.0"; hash = "sha256-O3j05VLAwWTOX0QywPWK6nq5jnSES9/9zpcnmNaftPw="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http"; version = "2.1.22"; hash = "sha256-r6vBdzoF0pHOcZzVwfCdi+W/ZgVBTfJxWoAni4YsFiY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http"; version = "2.2.0"; hash = "sha256-+ARZomTXSD1m/PR3TWwifXb67cQtoqDVWEqfoq5Tmbk="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http"; version = "2.2.2"; hash = "sha256-iIlNsdylaZUyVsc1+VmcjhrSs0oUP7ta+tT7hu+WryY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Abstractions"; version = "2.1.1"; hash = "sha256-2s8Vb62COXBvJrJ2yQdjzt+G9lS3fGfzzuBLtyZ8Wgo="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Abstractions"; version = "2.2.0"; hash = "sha256-y3j3Wo9Xl7kUdGkfnUc8Wexwbc2/vgxy7c3fJk1lSI8="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Extensions"; version = "2.2.0"; hash = "sha256-1rXxGQnkNR+SiNMtDShYoQVGOZbvu4P4ZtWj5Wq4D4U="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Features"; version = "2.1.1"; hash = "sha256-bXB9eARdVnjptjj02ubs81ljH8Ortj3Je9d6x4uCLm4="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Features"; version = "2.2.0"; hash = "sha256-odvntHm669YtViNG5fJIxU4B+akA2SL8//DvYCLCNHc="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.HttpOverrides"; version = "2.2.0"; hash = "sha256-xsscB33I0DhRGWbksHpU82w1WEOIYuUxcfnR2D+rdd0="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "2.2.0"; hash = "sha256-ApJHL7yy/YJEf/IkRTOsxyxwJW8sx20FeVtNrMuCkR0="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "8.0.10"; hash = "sha256-1MUbEqkePx6A4JkUu7bffBuuYmiP8BVTmJ3aDqwa8nk="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Localization"; version = "2.2.0"; hash = "sha256-BzrYpQXLWRxcLxOYI4ls7Sziq/F/raVLi8wfz8BhdiI="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc"; version = "2.2.0"; hash = "sha256-LG2M3+XPgPXUiaX99qMaEhre+0M3lAIlyaRN7tmMWZo="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Abstractions"; version = "2.2.0"; hash = "sha256-C0zyeeqBcP/rnTqLup4jy9ir9/Spd+T3CSWFduMh5CY="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Analyzers"; version = "2.2.0"; hash = "sha256-LkHqzbsaCpPweCjWv+zbgm093V9E2QjLF/D9BcAvJ60="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.ApiExplorer"; version = "2.2.0"; hash = "sha256-6vKZ/f3SdPMopYA3v5tWa8dGYS1kY3Iizc+B0Wpo0Oc="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Core"; version = "2.2.0"; hash = "sha256-FfgVtIWGocm+w/ZzcvRMj3HmLH58Sb8/02Wqn+ab1Mw="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Cors"; version = "2.2.0"; hash = "sha256-mITcLm/0nJnKirHA3mV8TBtt58+gvHKMJjmXCWyX+xw="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.DataAnnotations"; version = "2.2.0"; hash = "sha256-hvrGSIrAXLR4u3npETWCkO/bDYZ1zxfOO18RmJVssG0="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Formatters.Json"; version = "2.2.0"; hash = "sha256-KhkAsq4uaeJkPwHfX0QfeXExIo1DBIoD+kahLxxzQRA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Localization"; version = "2.2.0"; hash = "sha256-hj1+wKnsgDafmcp4L/+DZfhLsnjmZ82UPHJkzXPsRzQ="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "8.0.10"; hash = "sha256-PYFjjSZjehd9R3J6wUK+OKfvTzMw6IqC+gJKocfXJbs="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Razor"; version = "2.2.0"; hash = "sha256-+GQvxmGcJs0YNRLO865pwjnZ2hkeznsbHNJt7/J52Bk="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; version = "2.2.0"; hash = "sha256-rKcOpp0yYCRflpTxCo+UT6n4kiASECrxVLOe/RfeShI="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.RazorPages"; version = "2.2.0"; hash = "sha256-deGOWu6VR9egzZ3WmEAYuJxo1Y2gQZa8w5MO+rvDHn8="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.TagHelpers"; version = "2.2.0"; hash = "sha256-kaJ/ZCi/k+9IlfHCjEocYNZiKkNh3NqABVFcHdDMV5k="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.ViewFeatures"; version = "2.2.0"; hash = "sha256-9sS9JwZQ6dOAU6128NfqSpA2v67b07YtdrY4B9amTsc="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Razor"; version = "2.2.0"; hash = "sha256-4H6U3qOsJMJonF328ZbQy4h8+pYp4eaA4jaVqHe+yws="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.Design"; version = "2.2.0"; hash = "sha256-xmp6h+NHngykeQU3axYb2NKIFTsLofIUBAVwXxdr7A4="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.Language"; version = "2.2.0"; hash = "sha256-n/SNZ4Yw63n8yuvGtLYmzm4+WbRq1Add9bx4fmPDqFg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.Runtime"; version = "2.2.0"; hash = "sha256-JRnPViWEWt3dtn324/Sh+obHmxGOVW7TuK9UGyUsMtk="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.ResponseCaching.Abstractions"; version = "2.2.0"; hash = "sha256-ZzyrjN7tN2+ie5tz5T9L7CRGsy1vsxo4Xcayt0QUVwc="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.ResponseCompression"; version = "2.2.0"; hash = "sha256-5F9k0dsJ8BGhVEkH6Qd9H8JI8VdLbHbYpUqUI9K0TVU="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Rewrite"; version = "2.2.0"; hash = "sha256-TiUkuLanNAuWKwekR8Z7G+oWHIbbJlW+66zvyU3aQTg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Routing"; version = "2.2.0"; hash = "sha256-mvsF973Cm48XUB6lPBiGp7U7vkfBjB3oILdnIQUwe4o="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Routing.Abstractions"; version = "2.1.1"; hash = "sha256-8aUd2zQdVPTL18uRiQaxszNXP8S6a4CD36STMbUXvRE="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Routing.Abstractions"; version = "2.2.0"; hash = "sha256-nqJjxKXkdPAY1XvQjIRNW2y855Xi+LAX1S5AncPnPDU="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.IIS"; version = "2.2.0"; hash = "sha256-c9brbUYLhJ5l3WUYV5LsBOqTchUH2Hxk3m+aLDvi/jE="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.IISIntegration"; version = "2.2.0"; hash = "sha256-7NaCUiWkPlkGCpC2GXHEtx/aG0i3r/CYS08A6Bkys7Y="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.Kestrel"; version = "2.2.0"; hash = "sha256-LofHjJaXkCye9IzTblOL+tmIR2etlwZy0h2nmICDB3I="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.Kestrel.Core"; version = "2.2.0"; hash = "sha256-+aTIllcBnMkUHoAwaZPPWMV309aLIPeBvuhyiHRzrhw="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.Kestrel.Https"; version = "2.2.0"; hash = "sha256-DOm2ebBGpa4SFeYxzphPT5+Q7ShDq1pposP/lfkh5CM="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions"; version = "2.2.0"; hash = "sha256-y+2Dx2p2dE5p/CB6IyMQgbyZohIbeZ1D919/4n9JciE="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets"; version = "2.2.0"; hash = "sha256-ZaaJbCZWsKSG5z/9L4O1MD/mHG2vfRYQE1+LsK1jEW4="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.StaticFiles"; version = "2.2.0"; hash = "sha256-8lrbOXoPrOEQggbiXQO37PSRIzPLL4plCFGhbq9/764="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.WebUtilities"; version = "2.1.1"; hash = "sha256-+z46dL+HhGDfg2uyVz1U+YQIHgMJg+4UPeIvAth4hJw="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.WebUtilities"; version = "2.2.0"; hash = "sha256-UdfOwSWqOUXdb0mGrSMx6Z+d536/P+v5clSRZyN5QTM="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "8.0.0"; hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; }) - (fetchNuGet { pname = "Microsoft.Bcl.TimeProvider"; version = "8.0.0"; hash = "sha256-fBvDSXDSIYMzTa8+A+98KqhEXYP6E17wLo+UNwlyf4U="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "1.1.0"; hash = "sha256-7KrZfK3kUbmeT82eVadvHurZcaFq3FDj4qkIIeExJiM="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "2.8.0"; hash = "sha256-ksCgE7YQaWMQywT3pY26bYIEAqtEp3kTxBRloF0gkDw="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "2.8.0"; hash = "sha256-3LhgErOul0ndBvY57ipiN6uXxzWdyLC577Y6AQPfPVw="; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Razor"; version = "2.2.0"; hash = "sha256-poFN+Jh3ZWm3ZT78DM17czL4zedafPdztdr2blVLlQ0="; }) - (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.10.0"; hash = "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; hash = "sha256-dAhj/CgXG5VIy2dop1xplUsLje7uBPFjxasz9rdFIgY="; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; }) - (fetchNuGet { pname = "Microsoft.DiaSymReader.Native"; version = "1.7.0"; hash = "sha256-tjvIswyubNy+rJgDlbiZgOb5G4aBdFyBiPa2k28fXFA="; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "2.1.0"; hash = "sha256-vrZhYp94SjycUMGaVYCFWJ4p7KBKfqVyLWtIG73fzeM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "2.2.0"; hash = "sha256-osgeoVggP5UqGBG7GbrZmsVvBJmA47aCgsqJclthHUI="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "2.2.0"; hash = "sha256-u5W1RY7IG7+ZGu18aijpNohFLY2dgLaM4QZptYvV+S8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.1.0"; hash = "sha256-ou/T+Gtw5FcT5nkBGtdf2lAMriTGvb+ulDJkytGgMhM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.2.0"; hash = "sha256-dGJjKmio5BNFdwhK09NxJyCBapwVtO3eWxjLoTMGRQg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.1.0"; hash = "sha256-rd8zK6YWSxSP5HLrP+IR8o5/+/sheTNDtj3I9Eem/w0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.1.1"; hash = "sha256-3DdHcNmy+JKWB4Q8ixzE4N/hUAvx2o4YlYal4Riwiyw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.2.0"; hash = "sha256-5Jjn+0WZQ6OiN8AkNlGV0XIaw8L+a/wAq9hBD88RZbs="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.1.0"; hash = "sha256-FNOrXx7bJbc6qrscne8RhRj28kxK3uq+3ltdXzhCKHQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.2.0"; hash = "sha256-cigv0t9SntPWjJyRWMy3Q5KnuF17HoDyeKq26meTHoM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "2.2.0"; hash = "sha256-0e3cpwsKrR5Tgt2ZXnfvs8NZbV2FEH8q6zRl84w6bCY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "2.2.0"; hash = "sha256-haG2U6qEM6y+Mi4reFNGmarQc7pbc1RH0dXwSgcAxqk="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "2.2.0"; hash = "sha256-DVfJkCR5BRZGln4X/OIrPMW/Vi4SJE9ttakIbOAMky8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "2.2.0"; hash = "sha256-bG+jKsdugEfuVuLlTJxi1OEknnT8rUbp7SscBunOlaE="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "2.2.0"; hash = "sha256-l+fI+81CZMINKkJ4yTE4w30ymh9Kzuk0HIbgs2TOCpc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "2.2.0"; hash = "sha256-k/3UKceE1hbgv1sfV9H85hzWvMwooE8PcasHvHMhe1M="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.1.0"; hash = "sha256-WgS/QtxbITCpVjs1JPCWuJRrZSoplOtY7VfOXjLqDDA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.1.1"; hash = "sha256-BMU00QmmhtH3jP5cepJnoTrxrPESWeDU0i5UrIpIwGY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; hash = "sha256-pf+UQToJnhAe8VuGjxyCTvua1nIX8n5NHzAUk3Jz38s="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.2"; hash = "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "2.1.0"; hash = "sha256-7dFo5itkB2OgSgS7dN87h0Xf2p5/f6fl2Ka6+CTEhDY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.1"; hash = "sha256-d5DVXhA8qJFY9YbhZjsTqs5w5kDuxF5v+GD/WZR1QL0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.1.1"; hash = "sha256-2nfsrYlWR3VE30Fa5Lleh4Acav+kdYD7zIfNz9htFOo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.2.0"; hash = "sha256-pLAxP15+PncMiRrUT5bBAhWg7lC6/dfQk5TLTpZzA7k="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Composite"; version = "2.2.0"; hash = "sha256-KEwhWadHe24jYSNW2UI18wHC+9kyuZXfMCvZC1Z3eEw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "2.2.0"; hash = "sha256-/UD6JMXqSKRVlNAQ+wV8XjQ1u9X48z+TNfwe4/oiOFM="; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "2.2.0"; hash = "sha256-gm05niqMBRcGmGSwogHlOAXCfutn5qFxMZaQZYM+XAY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.1.1"; hash = "sha256-FCQqPxMNaaN+CD8xE42+evaxKjPWdznJ45U+qoVf8e0="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.2.0"; hash = "sha256-YZcyKXL6jOpyGrDbFLu46vncfUw2FuqhclMdbEPuh/U="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.1"; hash = "sha256-/bIVL9uvBQhV/KQmjA1ZjR74sMfaAlBb15sVXsGDEVA="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Localization"; version = "2.2.0"; hash = "sha256-07D6Zh5un5dKl2zM18oVDgWeWQq3Y0RP823nisuc48w="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Localization.Abstractions"; version = "2.2.0"; hash = "sha256-/p2UA5VBmC6jxu0boS/hK9g2YgeS+gwe5Ubmk3rR+Ps="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.1.0"; hash = "sha256-BtRVc8o7NruFCblOITHPZD3llUmri3+1dStSo09EMTY="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.2.0"; hash = "sha256-lY9axb6/MyPAhE+N8VtfCIpD80AFCtxUnnGxvb2koy8="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.1.0"; hash = "sha256-0i4YUnMQ4DE0KDp47pssJLUIw8YAsHf2NZN0xoOLb78="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.1.1"; hash = "sha256-TzbYgz4EemrYKHMvB9HWDkFmq0BkTetKPUwBpYHk9+k="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.2.0"; hash = "sha256-lJeKyhBnDc4stX2Wd7WpcG+ZKxPTFHILZSezKM2Fhws="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.2"; hash = "sha256-cHpe8X2BgYa5DzulZfq24rg8O2K5Lmq2OiLhoyAVgJc="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "2.2.0"; hash = "sha256-KeAgb1vzW3HOd1+Bp741nHshe2DVVH2OCEU4suam69o="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "2.2.0"; hash = "sha256-7qmSYQZGqjuW1JYLzUQCTjl/Ox6ZLjIBJQswNUNjnLw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "2.2.0"; hash = "sha256-1x4AdGEmpN5br+UKXp15EboqMIjtsUn9/r3wNoj7v/w="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "2.2.0"; hash = "sha256-DyEQNzKE9ACtCAN2gpVe1Z2ovpDznyBJM9L9A+oSf6I="; }) - (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "2.1.1"; hash = "sha256-ivQH0mOjHNwEh/VWUxdrXi/i0SZqRHDMxU9SiW9ygeU="; }) - (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "2.2.0"; hash = "sha256-P+QUM50j/V8f45zrRqat8fz6Gu3lFP+hDjESwTZNOFg="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.1.0"; hash = "sha256-ol0tKlHOyX1qAQqNWuag0thb2mMCU2JHNiw0nzUhJnE="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.1.1"; hash = "sha256-dCPA56Wv9cLuz720PmVbk2oXda1t9ZSAlP8/clDU93E="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.2.0"; hash = "sha256-YBtPoWBEs+dlHPQ7qOmss+U9gnvG0T1irZY8NwD0QKw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.2"; hash = "sha256-AjcldddddtN/9aH9pg7ClEZycWtFHLi9IPe1GGhNQys="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "2.2.0"; hash = "sha256-TZKLbSNM32hTzzDIKlRNcu6V2NhLfXTz+ew7QPvNJXE="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.1.0"; hash = "sha256-q1oDnqfQiiKgzlv/WDHgNGTlWfm+fkuY1R6t6hr/L+U="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.1.1"; hash = "sha256-nbu2OeQGWeG8QKpoAOxIQ8aPzDbWHgbzLXh55xqeeQw="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.2.0"; hash = "sha256-DMCTC3HW+sHaRlh/9F1sDwof+XgvVp9IzAqzlZWByn4="; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; }) - (fetchNuGet { pname = "Microsoft.Extensions.WebEncoders"; version = "2.2.0"; hash = "sha256-wwfvTcAgSnHQCuqqUwsiF588QxQYjXaGk9VwxiCLFtY="; }) - (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "2.1.1"; hash = "sha256-jdod0MQ58QG8ezS3nYhO85Qk4D7xh0LnOz4XIXvtBBs="; }) - (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "2.2.0"; hash = "sha256-pb8AoacSvy8hGNGodU6Lhv1ooWtUSCZwjmwd89PM1HA="; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.10.0"; hash = "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net462"; version = "1.0.3"; hash = "sha256-7mkqhFdDUAkQhV1MMwym6e+HwW4W90DkR00YcYXWbiE="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.10.0"; hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.10.0"; hash = "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; }) - (fetchNuGet { pname = "MimeMapping"; version = "1.0.1.50"; hash = "sha256-oz7GTUIqqj+224Xe5AiYmI6pEjXQ485QzVdLHAQ0gok="; }) - (fetchNuGet { pname = "Mono.Posix"; version = "7.1.0-final.1.21458.1"; hash = "sha256-kbpbruyWKfWfRg9IX0wR8UirykgJdLZl2d5PqUgFxz4="; }) - (fetchNuGet { pname = "Mono.Unix"; version = "7.1.0-final.1.21458.1"; hash = "sha256-tm3niOm4OFCe/kL5M5zwCZgfHEaPtmDqsOLN6GExYHs="; }) - (fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.0.2"; hash = "sha256-53zaLSghO4Un9GUF4W3bV34X5UHeQ80h2y7fCm1J9t8="; }) - (fetchNuGet { pname = "MSTest.TestFramework"; version = "3.0.2"; hash = "sha256-WMXSFNAxUtZVyrtrNcJu6KofR+A+/A3SbsleFCGIPPo="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.1"; hash = "sha256-Gw7dQIsmYfmcR5ASTuMsB8cqaI4g3osw0j+LO1jEzJY="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; hash = "sha256-YhlAbGfwoxQzxb3Hef4iyV9eGdPQJJNd2GgSR0jsBJ0="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; hash = "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="; }) - (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.1"; hash = "sha256-qofIFqViDsdBOE/X0IvzfGUklSrULaH8MoZQ+YrcMOQ="; }) - (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; hash = "sha256-ZUj6YFSMZp5CZtXiamw49eZmbp1iYBuNsIKNnjxcRzA="; }) - (fetchNuGet { pname = "NLog"; version = "5.3.2"; hash = "sha256-b/y/IFUSe7qsSeJ8JVB0VFmJlkviFb8h934ktnn9Fgc="; }) - (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.11"; hash = "sha256-DP3R51h+9kk06N63U+1C4/JCZTFiADeYTROToAA2R0g="; }) - (fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.11"; hash = "sha256-6bMYbKyNWtb0tn8k3418mWBuogofIAfwT9NHSopUu58="; }) - (fetchNuGet { pname = "NUnit"; version = "3.14.0"; hash = "sha256-CuP/q5HovPWfAW3Cty/QxRi7VpjykJ3TDLq5TENI6KY="; }) - (fetchNuGet { pname = "NUnit.ConsoleRunner"; version = "3.17.0"; hash = "sha256-aGf4/XDPs4VByjN/RHeN9+0tr598H4t6UsmatOLbVmI="; }) - (fetchNuGet { pname = "NUnit3TestAdapter"; version = "4.5.0"; hash = "sha256-ER3ogl0L5FYyc6pVVPY1ch+AQxG/WgFcnWECnYQJPes="; }) - (fetchNuGet { pname = "Polly"; version = "8.4.2"; hash = "sha256-cuaH3SdTEdwLA1VddtY6CsmHTiDuYk0dVJ79r/6jSpQ="; }) - (fetchNuGet { pname = "Polly.Core"; version = "8.4.2"; hash = "sha256-4fn5n6Bu29uqWg8ciii3MDsi9bO2/moPa9B3cJ9Ihe8="; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; hash = "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; hash = "sha256-KTxAhYawFG2V5VX1jw3pzx3IrQXRgn1TsvgjPgxAbqA="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; hash = "sha256-THw2znu+KibfJRfD7cE3nRYHsm7Fyn5pjOOZVonFjvs="; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.3.1"; hash = "sha256-areGRq/dO08KhxiWuAK+cWAjOWYtuB1R9zGXLvIqwZw="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; hash = "sha256-BliqYlL9ntbMXo5d7NUrKXwYN+PqdyqDIS5bp4qVr7Q="; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.4.0"; hash = "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="; }) - (fetchNuGet { pname = "System.Console"; version = "4.3.0"; hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.5.0"; hash = "sha256-0r8bsmgsb30bHJnvi98oPTFcxLfuqqt9mcoeEcYFFfk="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.2"; hash = "sha256-8Uawe7mWOQsDzMSAAP16nuGD1FRSajyS8q+cA++MJ8E="; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.1"; hash = "sha256-zmwHjcJgKcbkkwepH038QhcnsWMJcHys+PEbFGC0Jgo="; }) - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.1"; hash = "sha256-zvqd72pwgcGoa1nH3ZT1C0mP9k53vFLJ69r5MCQ1saA="; }) - (fetchNuGet { pname = "System.Diagnostics.FileVersionInfo"; version = "4.3.0"; hash = "sha256-JyqOf5/lsUNLMpIqK8XffcFTxB6vHWzGWHssmojokCQ="; }) - (fetchNuGet { pname = "System.Diagnostics.StackTrace"; version = "4.3.0"; hash = "sha256-Tfq7F61N0VfujVyI5A9MZvyWewQ5HepB1f1UMBMkUCs="; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) - (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "4.5.2"; hash = "sha256-AXsErCMtJnoT1ZhYlChyObzAimwEp1Cl1L6X6fewuhA="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "4.6.0"; hash = "sha256-cCtFmQlk0TFBWbZLVh/c258lyF3X4mPWkyb625d8PmU="; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "5.0.1"; hash = "sha256-2zT5uBiyYm+jLIoJppIKJttTtpcMNKxd7Li0QEVjbv8="; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; hash = "sha256-YOz1pCR4RpP1ywYoJsgXnVlzsWtC2uYKQJTg0NnFXtE="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; hash = "sha256-7JhQNSvE6JigM1qmmhzOX3NiZ6ek82R4whQNb+FpBzg="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.4.2"; hash = "sha256-cYd2SWmnacNq14fTpyW9vGcnbZSD4DPRjpR+tgdZZyE="; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; hash = "sha256-g9jIdQtXSAhY+ezQtYNgHEUoQR3HzznHs3JMzD9bip4="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; hash = "sha256-Lucrfpuhz72Ns+DOS7MjuNT2KWgi+m4bJkg87kqXmfU="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; hash = "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.5.0"; hash = "sha256-9llRbEcY1fHYuTn3vGZaCxsFxSAqXl4bDA6Rz9b0pN4="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "8.0.1"; hash = "sha256-KMNIkJ3yQ/5O6WIhPjyAIarsvIMhkp26A6aby5KkneU="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "4.5.0"; hash = "sha256-FIGpgYPbdA1NX0I4NmAr4gdt5VM/emm7PjM5XUEHZOY="; }) - (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "8.0.2"; hash = "sha256-9TCmVyMB4+By/ipU8vdYDtSnw1tkkebnXXVRdT78+28="; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "4.5.0"; hash = "sha256-Fa6dX6Gyse1A/RBoin8cVaHQePbfBvp6jjWxUXPhXKQ="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) - (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "8.0.1"; hash = "sha256-2cXTzNOyXqJinFPzdVJ9Gu6qrFtycfivu7RHDzBJic8="; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.0"; hash = "sha256-o+jikyFOG30gX57GoeZztmuJ878INQ5SFMmKovYqLWs="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.1"; hash = "sha256-F3YY+z86YxC5TQW7RToelnemrqRN7gdRNbpdot8byl8="; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) - (fetchNuGet { pname = "System.Text.Json"; version = "8.0.5"; hash = "sha256-yKxo54w5odWT6nPruUVsaX53oPRe+gKzGvLnnxtwP68="; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.0"; hash = "sha256-SIdUoXOGGSmBGXLWW76fz0OEoFYDJ8ZoU/xFdVibtxY="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.1"; hash = "sha256-3NeBC+r7eTVz3f+cEm1NkVhxSr7LrYGX/NdUwje9ecY="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.2"; hash = "sha256-EqJF9TppMHTKvpR6emrdA61zalMW3HwrZ7j6Bn4bBuo="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) - (fetchNuGet { pname = "System.Threading.Tasks.Parallel"; version = "4.3.0"; hash = "sha256-8H2vRmsn29MNfMmCeIL5vHfbM19jWaLDKNLzDonCI+c="; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.3.0"; hash = "sha256-tkMwiobmGQn/t8LDqpkM+Q7XJOebEl3bwVf11d2ZR4g="; }) - (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; }) - (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; }) - (fetchNuGet { pname = "System.Xml.XPath"; version = "4.3.0"; hash = "sha256-kd1JMqj6obhxzEPRJeYvcUyJqkOs/9A0UOQccC6oYrM="; }) - (fetchNuGet { pname = "System.Xml.XPath.XDocument"; version = "4.3.0"; hash = "sha256-dqk4CWuwocj5qsUAYlS+XAe6GGcY/N/HIPEGe5afrPM="; }) - (fetchNuGet { pname = "YamlDotNet"; version = "13.0.1"; hash = "sha256-vrPm3nActRBC+psOSDGu2sjy/FL1Sak/okZPwurOUB8="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "AngleSharp"; + version = "1.1.2"; + hash = "sha256-LvJDD+C/NiPLVjEnIWkR+39UkzoeWgPd7BBXakij0WU="; + }) + (fetchNuGet { + pname = "AngleSharp.Xml"; + version = "1.0.0"; + hash = "sha256-UzxXWH6qG2BEAH/ULosGkUn2RhghUOguyVTPYl78spM="; + }) + (fetchNuGet { + pname = "Autofac"; + version = "8.0.0"; + hash = "sha256-7XhDXw8hatQFjQMTIorQ5XrfDCc7EVNVyi6bGbc5fnA="; + }) + (fetchNuGet { + pname = "Autofac.Extensions.DependencyInjection"; + version = "9.0.0"; + hash = "sha256-hEqvbTkJqcI4S4LpxVOMyc5m+KeN0nRLk7FqQHSLRd4="; + }) + (fetchNuGet { + pname = "BencodeNET"; + version = "4.0.0"; + hash = "sha256-Bjlpq7laGbrxpYf6GpxklF9AalIh7dTYefU8cDS+fxY="; + }) + (fetchNuGet { + pname = "CommandLineParser"; + version = "2.9.1"; + hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; + }) + (fetchNuGet { + pname = "coverlet.msbuild"; + version = "6.0.2"; + hash = "sha256-Ptj/f41dJ1T+DYvJ8bUo7Bnjp5R+xFOKGVhg3GA+f/A="; + }) + (fetchNuGet { + pname = "DotNet4.SocksProxy"; + version = "1.4.0.1"; + hash = "sha256-a+sqVAHupD9DLFfRptjvPoW7YU+qT5yxUYGAqmNS4sU="; + }) + (fetchNuGet { + pname = "FlareSolverrSharp"; + version = "3.0.7"; + hash = "sha256-zropUtNiHVSG0ULK01wOhqgZSlWi+CXZ+4SKWok33BI="; + }) + (fetchNuGet { + pname = "FluentAssertions"; + version = "6.12.1"; + hash = "sha256-R/Fi9eee6T8t8JECxL9+HFd8jAxRMkCg18j+fAQLNqM="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore"; + version = "2.2.0"; + hash = "sha256-yZUh/m5s/tgGZOKGylcbPaZ67AHi/mM0xE/bqhk8W28="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Antiforgery"; + version = "2.2.0"; + hash = "sha256-NBUF/oT5TYVvuUW4/lws//1OfX8ldrAxY4+CLnmT3Ag="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Authentication"; + version = "2.2.0"; + hash = "sha256-9lUsjz9egaM7QwDh7FLvrhzKtA/LvrTMrNcXjEH7Dns="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Authentication.Abstractions"; + version = "2.2.0"; + hash = "sha256-0JcJYAoU+AEM0dWaXk2qnqxrVM0Ak9/ntCU1MC90R24="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Authentication.Cookies"; + version = "2.2.0"; + hash = "sha256-rVy2jwHGg67zaUheYz/JYewtnSnrSRWEQ/AWvGs78XQ="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Authentication.Core"; + version = "2.2.0"; + hash = "sha256-EE2zKcwPHzm05R+9f7iDvdXE8PuwMUJZmu3EVl0h9vE="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Authorization"; + version = "2.2.0"; + hash = "sha256-PaMYICjQ0rprUv53Uza/jQvvWTcbPjGLMMp12utF+NY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Authorization.Policy"; + version = "2.2.0"; + hash = "sha256-onFYB+jtCbGyfZsIglReCPRdDMmwah2EDMhJN4uBP7Q="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Connections.Abstractions"; + version = "2.2.0"; + hash = "sha256-MoieWAe7zT/0a7PAn3gMKO8YpHTbOtiGIwF/sFAmieY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Cors"; + version = "2.2.0"; + hash = "sha256-TB+sGspJ9kmKco1R0ecMQi3PmMLe4U7ncpOceNBfU2M="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Cryptography.Internal"; + version = "2.2.0"; + hash = "sha256-WzP/Rs5oBzdmLzkx3knpZcgdNWVGw9xeo4esgroTjwY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Cryptography.Internal"; + version = "8.0.10"; + hash = "sha256-zR9xbcGD4yU/oo/c9dQ4AKTMFT+HSBsfu0oNV6bjPNo="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.DataProtection"; + version = "2.2.0"; + hash = "sha256-/aEB1KEQDlBdB2MXG9q/YsOLnGv49uV6D753gsBdnyY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.DataProtection"; + version = "8.0.10"; + hash = "sha256-JYzSF9NxaGA0tXobfaV2ODQdcVCbQBGtcILCRUgcKiY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.DataProtection.Abstractions"; + version = "2.2.0"; + hash = "sha256-3zGsOkU/9QrXI96cREJfIni38IazRVNpcS3nqvWFJL4="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.DataProtection.Abstractions"; + version = "8.0.10"; + hash = "sha256-Fa3PLGFHOvIvAkpTRls1iESyg9ZxqY1/I5Q4elmA2SE="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Diagnostics"; + version = "2.2.0"; + hash = "sha256-YSW+mjK2ZsLSvoO7yYidV5s62NDityXKIOGICaDQBUM="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Diagnostics.Abstractions"; + version = "2.2.0"; + hash = "sha256-oOYGMhmHhUrHjJjAtOQg56K+kZmP1QizC07wAiVsLBg="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.HostFiltering"; + version = "2.2.0"; + hash = "sha256-g3Tm1j/54w/CiZlOHm7Lo0prDzWEoGd+94kTAdd8ixs="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Hosting"; + version = "2.2.0"; + hash = "sha256-Hcp+bQfnsoIaXSKb0GIvQPKvgSgStH7IHTETdWQNZto="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Hosting.Abstractions"; + version = "2.1.1"; + hash = "sha256-tZZ4Ka0H0TJb+m5ntO7YN7tlcrDz5hJhvX1sh5Vl1PI="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Hosting.Abstractions"; + version = "2.2.0"; + hash = "sha256-GzqYrTqCCVy41AOfmgIRY1kkqxekn5T0gFC7tUMxcxA="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; + version = "2.1.1"; + hash = "sha256-13BN1yOL4y2/emMObr3Wb9Q21LbqkPeGvir3A+H+jX4="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; + version = "2.2.0"; + hash = "sha256-8PnZFCkMwAeEHySmmjJOnQvOyx2199PesYHBnfka51s="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Html.Abstractions"; + version = "2.2.0"; + hash = "sha256-O3j05VLAwWTOX0QywPWK6nq5jnSES9/9zpcnmNaftPw="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http"; + version = "2.1.22"; + hash = "sha256-r6vBdzoF0pHOcZzVwfCdi+W/ZgVBTfJxWoAni4YsFiY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http"; + version = "2.2.0"; + hash = "sha256-+ARZomTXSD1m/PR3TWwifXb67cQtoqDVWEqfoq5Tmbk="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http"; + version = "2.2.2"; + hash = "sha256-iIlNsdylaZUyVsc1+VmcjhrSs0oUP7ta+tT7hu+WryY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http.Abstractions"; + version = "2.1.1"; + hash = "sha256-2s8Vb62COXBvJrJ2yQdjzt+G9lS3fGfzzuBLtyZ8Wgo="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http.Abstractions"; + version = "2.2.0"; + hash = "sha256-y3j3Wo9Xl7kUdGkfnUc8Wexwbc2/vgxy7c3fJk1lSI8="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http.Extensions"; + version = "2.2.0"; + hash = "sha256-1rXxGQnkNR+SiNMtDShYoQVGOZbvu4P4ZtWj5Wq4D4U="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http.Features"; + version = "2.1.1"; + hash = "sha256-bXB9eARdVnjptjj02ubs81ljH8Ortj3Je9d6x4uCLm4="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Http.Features"; + version = "2.2.0"; + hash = "sha256-odvntHm669YtViNG5fJIxU4B+akA2SL8//DvYCLCNHc="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.HttpOverrides"; + version = "2.2.0"; + hash = "sha256-xsscB33I0DhRGWbksHpU82w1WEOIYuUxcfnR2D+rdd0="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.JsonPatch"; + version = "2.2.0"; + hash = "sha256-ApJHL7yy/YJEf/IkRTOsxyxwJW8sx20FeVtNrMuCkR0="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.JsonPatch"; + version = "8.0.10"; + hash = "sha256-1MUbEqkePx6A4JkUu7bffBuuYmiP8BVTmJ3aDqwa8nk="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Localization"; + version = "2.2.0"; + hash = "sha256-BzrYpQXLWRxcLxOYI4ls7Sziq/F/raVLi8wfz8BhdiI="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc"; + version = "2.2.0"; + hash = "sha256-LG2M3+XPgPXUiaX99qMaEhre+0M3lAIlyaRN7tmMWZo="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Abstractions"; + version = "2.2.0"; + hash = "sha256-C0zyeeqBcP/rnTqLup4jy9ir9/Spd+T3CSWFduMh5CY="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Analyzers"; + version = "2.2.0"; + hash = "sha256-LkHqzbsaCpPweCjWv+zbgm093V9E2QjLF/D9BcAvJ60="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.ApiExplorer"; + version = "2.2.0"; + hash = "sha256-6vKZ/f3SdPMopYA3v5tWa8dGYS1kY3Iizc+B0Wpo0Oc="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Core"; + version = "2.2.0"; + hash = "sha256-FfgVtIWGocm+w/ZzcvRMj3HmLH58Sb8/02Wqn+ab1Mw="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Cors"; + version = "2.2.0"; + hash = "sha256-mITcLm/0nJnKirHA3mV8TBtt58+gvHKMJjmXCWyX+xw="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.DataAnnotations"; + version = "2.2.0"; + hash = "sha256-hvrGSIrAXLR4u3npETWCkO/bDYZ1zxfOO18RmJVssG0="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Formatters.Json"; + version = "2.2.0"; + hash = "sha256-KhkAsq4uaeJkPwHfX0QfeXExIo1DBIoD+kahLxxzQRA="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Localization"; + version = "2.2.0"; + hash = "sha256-hj1+wKnsgDafmcp4L/+DZfhLsnjmZ82UPHJkzXPsRzQ="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; + version = "8.0.10"; + hash = "sha256-PYFjjSZjehd9R3J6wUK+OKfvTzMw6IqC+gJKocfXJbs="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Razor"; + version = "2.2.0"; + hash = "sha256-+GQvxmGcJs0YNRLO865pwjnZ2hkeznsbHNJt7/J52Bk="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; + version = "2.2.0"; + hash = "sha256-rKcOpp0yYCRflpTxCo+UT6n4kiASECrxVLOe/RfeShI="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.RazorPages"; + version = "2.2.0"; + hash = "sha256-deGOWu6VR9egzZ3WmEAYuJxo1Y2gQZa8w5MO+rvDHn8="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.TagHelpers"; + version = "2.2.0"; + hash = "sha256-kaJ/ZCi/k+9IlfHCjEocYNZiKkNh3NqABVFcHdDMV5k="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Mvc.ViewFeatures"; + version = "2.2.0"; + hash = "sha256-9sS9JwZQ6dOAU6128NfqSpA2v67b07YtdrY4B9amTsc="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Razor"; + version = "2.2.0"; + hash = "sha256-4H6U3qOsJMJonF328ZbQy4h8+pYp4eaA4jaVqHe+yws="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Razor.Design"; + version = "2.2.0"; + hash = "sha256-xmp6h+NHngykeQU3axYb2NKIFTsLofIUBAVwXxdr7A4="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Razor.Language"; + version = "2.2.0"; + hash = "sha256-n/SNZ4Yw63n8yuvGtLYmzm4+WbRq1Add9bx4fmPDqFg="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Razor.Runtime"; + version = "2.2.0"; + hash = "sha256-JRnPViWEWt3dtn324/Sh+obHmxGOVW7TuK9UGyUsMtk="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.ResponseCaching.Abstractions"; + version = "2.2.0"; + hash = "sha256-ZzyrjN7tN2+ie5tz5T9L7CRGsy1vsxo4Xcayt0QUVwc="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.ResponseCompression"; + version = "2.2.0"; + hash = "sha256-5F9k0dsJ8BGhVEkH6Qd9H8JI8VdLbHbYpUqUI9K0TVU="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Rewrite"; + version = "2.2.0"; + hash = "sha256-TiUkuLanNAuWKwekR8Z7G+oWHIbbJlW+66zvyU3aQTg="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Routing"; + version = "2.2.0"; + hash = "sha256-mvsF973Cm48XUB6lPBiGp7U7vkfBjB3oILdnIQUwe4o="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Routing.Abstractions"; + version = "2.1.1"; + hash = "sha256-8aUd2zQdVPTL18uRiQaxszNXP8S6a4CD36STMbUXvRE="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Routing.Abstractions"; + version = "2.2.0"; + hash = "sha256-nqJjxKXkdPAY1XvQjIRNW2y855Xi+LAX1S5AncPnPDU="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.IIS"; + version = "2.2.0"; + hash = "sha256-c9brbUYLhJ5l3WUYV5LsBOqTchUH2Hxk3m+aLDvi/jE="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.IISIntegration"; + version = "2.2.0"; + hash = "sha256-7NaCUiWkPlkGCpC2GXHEtx/aG0i3r/CYS08A6Bkys7Y="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.Kestrel"; + version = "2.2.0"; + hash = "sha256-LofHjJaXkCye9IzTblOL+tmIR2etlwZy0h2nmICDB3I="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.Kestrel.Core"; + version = "2.2.0"; + hash = "sha256-+aTIllcBnMkUHoAwaZPPWMV309aLIPeBvuhyiHRzrhw="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.Kestrel.Https"; + version = "2.2.0"; + hash = "sha256-DOm2ebBGpa4SFeYxzphPT5+Q7ShDq1pposP/lfkh5CM="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions"; + version = "2.2.0"; + hash = "sha256-y+2Dx2p2dE5p/CB6IyMQgbyZohIbeZ1D919/4n9JciE="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets"; + version = "2.2.0"; + hash = "sha256-ZaaJbCZWsKSG5z/9L4O1MD/mHG2vfRYQE1+LsK1jEW4="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.StaticFiles"; + version = "2.2.0"; + hash = "sha256-8lrbOXoPrOEQggbiXQO37PSRIzPLL4plCFGhbq9/764="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.WebUtilities"; + version = "2.1.1"; + hash = "sha256-+z46dL+HhGDfg2uyVz1U+YQIHgMJg+4UPeIvAth4hJw="; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.WebUtilities"; + version = "2.2.0"; + hash = "sha256-UdfOwSWqOUXdb0mGrSMx6Z+d536/P+v5clSRZyN5QTM="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "6.0.0"; + hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "7.0.0"; + hash = "sha256-1e031E26iraIqun84ad0fCIR4MJZ1hcQo4yFN+B7UfE="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "8.0.0"; + hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.TimeProvider"; + version = "8.0.0"; + hash = "sha256-fBvDSXDSIYMzTa8+A+98KqhEXYP6E17wLo+UNwlyf4U="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "1.1.0"; + hash = "sha256-7KrZfK3kUbmeT82eVadvHurZcaFq3FDj4qkIIeExJiM="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "2.8.0"; + hash = "sha256-ksCgE7YQaWMQywT3pY26bYIEAqtEp3kTxBRloF0gkDw="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "2.8.0"; + hash = "sha256-3LhgErOul0ndBvY57ipiN6uXxzWdyLC577Y6AQPfPVw="; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Razor"; + version = "2.2.0"; + hash = "sha256-poFN+Jh3ZWm3ZT78DM17czL4zedafPdztdr2blVLlQ0="; + }) + (fetchNuGet { + pname = "Microsoft.CodeCoverage"; + version = "17.10.0"; + hash = "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.5.0"; + hash = "sha256-dAhj/CgXG5VIy2dop1xplUsLje7uBPFjxasz9rdFIgY="; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; + }) + (fetchNuGet { + pname = "Microsoft.DiaSymReader.Native"; + version = "1.7.0"; + hash = "sha256-tjvIswyubNy+rJgDlbiZgOb5G4aBdFyBiPa2k28fXFA="; + }) + (fetchNuGet { + pname = "Microsoft.DotNet.PlatformAbstractions"; + version = "2.1.0"; + hash = "sha256-vrZhYp94SjycUMGaVYCFWJ4p7KBKfqVyLWtIG73fzeM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Caching.Abstractions"; + version = "2.2.0"; + hash = "sha256-osgeoVggP5UqGBG7GbrZmsVvBJmA47aCgsqJclthHUI="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Caching.Memory"; + version = "2.2.0"; + hash = "sha256-u5W1RY7IG7+ZGu18aijpNohFLY2dgLaM4QZptYvV+S8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "2.1.0"; + hash = "sha256-ou/T+Gtw5FcT5nkBGtdf2lAMriTGvb+ulDJkytGgMhM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "2.2.0"; + hash = "sha256-dGJjKmio5BNFdwhK09NxJyCBapwVtO3eWxjLoTMGRQg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "8.0.0"; + hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.0"; + hash = "sha256-rd8zK6YWSxSP5HLrP+IR8o5/+/sheTNDtj3I9Eem/w0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.1"; + hash = "sha256-3DdHcNmy+JKWB4Q8ixzE4N/hUAvx2o4YlYal4Riwiyw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.2.0"; + hash = "sha256-5Jjn+0WZQ6OiN8AkNlGV0XIaw8L+a/wAq9hBD88RZbs="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "8.0.0"; + hash = "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "2.1.0"; + hash = "sha256-FNOrXx7bJbc6qrscne8RhRj28kxK3uq+3ltdXzhCKHQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "2.2.0"; + hash = "sha256-cigv0t9SntPWjJyRWMy3Q5KnuF17HoDyeKq26meTHoM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.CommandLine"; + version = "2.2.0"; + hash = "sha256-0e3cpwsKrR5Tgt2ZXnfvs8NZbV2FEH8q6zRl84w6bCY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "2.2.0"; + hash = "sha256-haG2U6qEM6y+Mi4reFNGmarQc7pbc1RH0dXwSgcAxqk="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "2.2.0"; + hash = "sha256-DVfJkCR5BRZGln4X/OIrPMW/Vi4SJE9ttakIbOAMky8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "2.2.0"; + hash = "sha256-bG+jKsdugEfuVuLlTJxi1OEknnT8rUbp7SscBunOlaE="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.UserSecrets"; + version = "2.2.0"; + hash = "sha256-l+fI+81CZMINKkJ4yTE4w30ymh9Kzuk0HIbgs2TOCpc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "2.2.0"; + hash = "sha256-k/3UKceE1hbgv1sfV9H85hzWvMwooE8PcasHvHMhe1M="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "8.0.0"; + hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.1.0"; + hash = "sha256-WgS/QtxbITCpVjs1JPCWuJRrZSoplOtY7VfOXjLqDDA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.1.1"; + hash = "sha256-BMU00QmmhtH3jP5cepJnoTrxrPESWeDU0i5UrIpIwGY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.2.0"; + hash = "sha256-pf+UQToJnhAe8VuGjxyCTvua1nIX8n5NHzAUk3Jz38s="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.0"; + hash = "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "8.0.2"; + hash = "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "2.1.0"; + hash = "sha256-7dFo5itkB2OgSgS7dN87h0Xf2p5/f6fl2Ka6+CTEhDY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Diagnostics.Abstractions"; + version = "8.0.1"; + hash = "sha256-d5DVXhA8qJFY9YbhZjsTqs5w5kDuxF5v+GD/WZR1QL0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.1.1"; + hash = "sha256-2nfsrYlWR3VE30Fa5Lleh4Acav+kdYD7zIfNz9htFOo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.2.0"; + hash = "sha256-pLAxP15+PncMiRrUT5bBAhWg7lC6/dfQk5TLTpZzA7k="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "8.0.0"; + hash = "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Composite"; + version = "2.2.0"; + hash = "sha256-KEwhWadHe24jYSNW2UI18wHC+9kyuZXfMCvZC1Z3eEw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "2.2.0"; + hash = "sha256-/UD6JMXqSKRVlNAQ+wV8XjQ1u9X48z+TNfwe4/oiOFM="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "2.2.0"; + hash = "sha256-gm05niqMBRcGmGSwogHlOAXCfutn5qFxMZaQZYM+XAY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "2.1.1"; + hash = "sha256-FCQqPxMNaaN+CD8xE42+evaxKjPWdznJ45U+qoVf8e0="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "2.2.0"; + hash = "sha256-YZcyKXL6jOpyGrDbFLu46vncfUw2FuqhclMdbEPuh/U="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "8.0.1"; + hash = "sha256-/bIVL9uvBQhV/KQmjA1ZjR74sMfaAlBb15sVXsGDEVA="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Localization"; + version = "2.2.0"; + hash = "sha256-07D6Zh5un5dKl2zM18oVDgWeWQq3Y0RP823nisuc48w="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Localization.Abstractions"; + version = "2.2.0"; + hash = "sha256-/p2UA5VBmC6jxu0boS/hK9g2YgeS+gwe5Ubmk3rR+Ps="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.1.0"; + hash = "sha256-BtRVc8o7NruFCblOITHPZD3llUmri3+1dStSo09EMTY="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.2.0"; + hash = "sha256-lY9axb6/MyPAhE+N8VtfCIpD80AFCtxUnnGxvb2koy8="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "8.0.0"; + hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.0"; + hash = "sha256-0i4YUnMQ4DE0KDp47pssJLUIw8YAsHf2NZN0xoOLb78="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.1"; + hash = "sha256-TzbYgz4EemrYKHMvB9HWDkFmq0BkTetKPUwBpYHk9+k="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.2.0"; + hash = "sha256-lJeKyhBnDc4stX2Wd7WpcG+ZKxPTFHILZSezKM2Fhws="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.0"; + hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "8.0.2"; + hash = "sha256-cHpe8X2BgYa5DzulZfq24rg8O2K5Lmq2OiLhoyAVgJc="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "2.2.0"; + hash = "sha256-KeAgb1vzW3HOd1+Bp741nHshe2DVVH2OCEU4suam69o="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Console"; + version = "2.2.0"; + hash = "sha256-7qmSYQZGqjuW1JYLzUQCTjl/Ox6ZLjIBJQswNUNjnLw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Debug"; + version = "2.2.0"; + hash = "sha256-1x4AdGEmpN5br+UKXp15EboqMIjtsUn9/r3wNoj7v/w="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.EventSource"; + version = "2.2.0"; + hash = "sha256-DyEQNzKE9ACtCAN2gpVe1Z2ovpDznyBJM9L9A+oSf6I="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.ObjectPool"; + version = "2.1.1"; + hash = "sha256-ivQH0mOjHNwEh/VWUxdrXi/i0SZqRHDMxU9SiW9ygeU="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.ObjectPool"; + version = "2.2.0"; + hash = "sha256-P+QUM50j/V8f45zrRqat8fz6Gu3lFP+hDjESwTZNOFg="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.1.0"; + hash = "sha256-ol0tKlHOyX1qAQqNWuag0thb2mMCU2JHNiw0nzUhJnE="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.1.1"; + hash = "sha256-dCPA56Wv9cLuz720PmVbk2oXda1t9ZSAlP8/clDU93E="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.2.0"; + hash = "sha256-YBtPoWBEs+dlHPQ7qOmss+U9gnvG0T1irZY8NwD0QKw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.0"; + hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "8.0.2"; + hash = "sha256-AjcldddddtN/9aH9pg7ClEZycWtFHLi9IPe1GGhNQys="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "2.2.0"; + hash = "sha256-TZKLbSNM32hTzzDIKlRNcu6V2NhLfXTz+ew7QPvNJXE="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.1.0"; + hash = "sha256-q1oDnqfQiiKgzlv/WDHgNGTlWfm+fkuY1R6t6hr/L+U="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.1.1"; + hash = "sha256-nbu2OeQGWeG8QKpoAOxIQ8aPzDbWHgbzLXh55xqeeQw="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.2.0"; + hash = "sha256-DMCTC3HW+sHaRlh/9F1sDwof+XgvVp9IzAqzlZWByn4="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "8.0.0"; + hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.WebEncoders"; + version = "2.2.0"; + hash = "sha256-wwfvTcAgSnHQCuqqUwsiF588QxQYjXaGk9VwxiCLFtY="; + }) + (fetchNuGet { + pname = "Microsoft.Net.Http.Headers"; + version = "2.1.1"; + hash = "sha256-jdod0MQ58QG8ezS3nYhO85Qk4D7xh0LnOz4XIXvtBBs="; + }) + (fetchNuGet { + pname = "Microsoft.Net.Http.Headers"; + version = "2.2.0"; + hash = "sha256-pb8AoacSvy8hGNGodU6Lhv1ooWtUSCZwjmwd89PM1HA="; + }) + (fetchNuGet { + pname = "Microsoft.NET.Test.Sdk"; + version = "17.10.0"; + hash = "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.3"; + hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net462"; + version = "1.0.3"; + hash = "sha256-7mkqhFdDUAkQhV1MMwym6e+HwW4W90DkR00YcYXWbiE="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.10.0"; + hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TestHost"; + version = "17.10.0"; + hash = "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "4.5.0"; + hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; + }) + (fetchNuGet { + pname = "MimeMapping"; + version = "1.0.1.50"; + hash = "sha256-oz7GTUIqqj+224Xe5AiYmI6pEjXQ485QzVdLHAQ0gok="; + }) + (fetchNuGet { + pname = "Mono.Posix"; + version = "7.1.0-final.1.21458.1"; + hash = "sha256-kbpbruyWKfWfRg9IX0wR8UirykgJdLZl2d5PqUgFxz4="; + }) + (fetchNuGet { + pname = "Mono.Unix"; + version = "7.1.0-final.1.21458.1"; + hash = "sha256-tm3niOm4OFCe/kL5M5zwCZgfHEaPtmDqsOLN6GExYHs="; + }) + (fetchNuGet { + pname = "MSTest.TestAdapter"; + version = "3.0.2"; + hash = "sha256-53zaLSghO4Un9GUF4W3bV34X5UHeQ80h2y7fCm1J9t8="; + }) + (fetchNuGet { + pname = "MSTest.TestFramework"; + version = "3.0.2"; + hash = "sha256-WMXSFNAxUtZVyrtrNcJu6KofR+A+/A3SbsleFCGIPPo="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.0"; + hash = "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0="; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "10.0.1"; + hash = "sha256-Gw7dQIsmYfmcR5ASTuMsB8cqaI4g3osw0j+LO1jEzJY="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "11.0.2"; + hash = "sha256-YhlAbGfwoxQzxb3Hef4iyV9eGdPQJJNd2GgSR0jsBJ0="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.1"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "9.0.1"; + hash = "sha256-mYCBrgUhIJFzRuLLV9SIiIFHovzfR8Uuqfg6e08EnlU="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json.Bson"; + version = "1.0.1"; + hash = "sha256-qofIFqViDsdBOE/X0IvzfGUklSrULaH8MoZQ+YrcMOQ="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json.Bson"; + version = "1.0.2"; + hash = "sha256-ZUj6YFSMZp5CZtXiamw49eZmbp1iYBuNsIKNnjxcRzA="; + }) + (fetchNuGet { + pname = "NLog"; + version = "5.3.2"; + hash = "sha256-b/y/IFUSe7qsSeJ8JVB0VFmJlkviFb8h934ktnn9Fgc="; + }) + (fetchNuGet { + pname = "NLog.Extensions.Logging"; + version = "5.3.11"; + hash = "sha256-DP3R51h+9kk06N63U+1C4/JCZTFiADeYTROToAA2R0g="; + }) + (fetchNuGet { + pname = "NLog.Web.AspNetCore"; + version = "5.3.11"; + hash = "sha256-6bMYbKyNWtb0tn8k3418mWBuogofIAfwT9NHSopUu58="; + }) + (fetchNuGet { + pname = "NUnit"; + version = "3.14.0"; + hash = "sha256-CuP/q5HovPWfAW3Cty/QxRi7VpjykJ3TDLq5TENI6KY="; + }) + (fetchNuGet { + pname = "NUnit.ConsoleRunner"; + version = "3.17.0"; + hash = "sha256-aGf4/XDPs4VByjN/RHeN9+0tr598H4t6UsmatOLbVmI="; + }) + (fetchNuGet { + pname = "NUnit3TestAdapter"; + version = "4.5.0"; + hash = "sha256-ER3ogl0L5FYyc6pVVPY1ch+AQxG/WgFcnWECnYQJPes="; + }) + (fetchNuGet { + pname = "Polly"; + version = "8.4.2"; + hash = "sha256-cuaH3SdTEdwLA1VddtY6CsmHTiDuYk0dVJ79r/6jSpQ="; + }) + (fetchNuGet { + pname = "Polly.Core"; + version = "8.4.2"; + hash = "sha256-4fn5n6Bu29uqWg8ciii3MDsi9bO2/moPa9B3cJ9Ihe8="; + }) + (fetchNuGet { + pname = "SharpZipLib"; + version = "1.4.2"; + hash = "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="; + }) + (fetchNuGet { + pname = "System.AppContext"; + version = "4.3.0"; + hash = "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.4.0"; + hash = "sha256-KTxAhYawFG2V5VX1jw3pzx3IrQXRgn1TsvgjPgxAbqA="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.0"; + hash = "sha256-THw2znu+KibfJRfD7cE3nRYHsm7Fyn5pjOOZVonFjvs="; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + hash = "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.3.1"; + hash = "sha256-areGRq/dO08KhxiWuAK+cWAjOWYtuB1R9zGXLvIqwZw="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "1.5.0"; + hash = "sha256-BliqYlL9ntbMXo5d7NUrKXwYN+PqdyqDIS5bp4qVr7Q="; + }) + (fetchNuGet { + pname = "System.ComponentModel.Annotations"; + version = "4.5.0"; + hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "4.4.0"; + hash = "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="; + }) + (fetchNuGet { + pname = "System.Console"; + version = "4.3.0"; + hash = "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.5.0"; + hash = "sha256-0r8bsmgsb30bHJnvi98oPTFcxLfuqqt9mcoeEcYFFfk="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "7.0.2"; + hash = "sha256-8Uawe7mWOQsDzMSAAP16nuGD1FRSajyS8q+cA++MJ8E="; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "8.0.1"; + hash = "sha256-zmwHjcJgKcbkkwepH038QhcnsWMJcHys+PEbFGC0Jgo="; + }) + (fetchNuGet { + pname = "System.Diagnostics.EventLog"; + version = "8.0.1"; + hash = "sha256-zvqd72pwgcGoa1nH3ZT1C0mP9k53vFLJ69r5MCQ1saA="; + }) + (fetchNuGet { + pname = "System.Diagnostics.FileVersionInfo"; + version = "4.3.0"; + hash = "sha256-JyqOf5/lsUNLMpIqK8XffcFTxB6vHWzGWHssmojokCQ="; + }) + (fetchNuGet { + pname = "System.Diagnostics.StackTrace"; + version = "4.3.0"; + hash = "sha256-Tfq7F61N0VfujVyI5A9MZvyWewQ5HepB1f1UMBMkUCs="; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.3.0"; + hash = "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.3.0"; + hash = "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; + }) + (fetchNuGet { + pname = "System.IO.Compression"; + version = "4.3.0"; + hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.AccessControl"; + version = "5.0.0"; + hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "4.5.2"; + hash = "sha256-AXsErCMtJnoT1ZhYlChyObzAimwEp1Cl1L6X6fewuhA="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "4.6.0"; + hash = "sha256-cCtFmQlk0TFBWbZLVh/c258lyF3X4mPWkyb625d8PmU="; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "5.0.1"; + hash = "sha256-2zT5uBiyYm+jLIoJppIKJttTtpcMNKxd7Li0QEVjbv8="; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.3.0"; + hash = "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.0"; + hash = "sha256-YOz1pCR4RpP1ywYoJsgXnVlzsWtC2uYKQJTg0NnFXtE="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.1"; + hash = "sha256-7JhQNSvE6JigM1qmmhzOX3NiZ6ek82R4whQNb+FpBzg="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + hash = "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.5"; + hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.4.2"; + hash = "sha256-cYd2SWmnacNq14fTpyW9vGcnbZSD4DPRjpR+tgdZZyE="; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.0"; + hash = "sha256-g9jIdQtXSAhY+ezQtYNgHEUoQR3HzznHs3JMzD9bip4="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.1"; + hash = "sha256-Lucrfpuhz72Ns+DOS7MjuNT2KWgi+m4bJkg87kqXmfU="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.2"; + hash = "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.3"; + hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + hash = "sha256-5j53amb76A3SPiE3B0llT2XPx058+CgE7OXL4bLalT4="; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + hash = "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + hash = "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "4.5.0"; + hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + hash = "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.5.0"; + hash = "sha256-9llRbEcY1fHYuTn3vGZaCxsFxSAqXl4bDA6Rz9b0pN4="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + hash = "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "8.0.1"; + hash = "sha256-KMNIkJ3yQ/5O6WIhPjyAIarsvIMhkp26A6aby5KkneU="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + hash = "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "4.4.0"; + hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "8.0.0"; + hash = "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + hash = "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Xml"; + version = "4.5.0"; + hash = "sha256-FIGpgYPbdA1NX0I4NmAr4gdt5VM/emm7PjM5XUEHZOY="; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Xml"; + version = "8.0.2"; + hash = "sha256-9TCmVyMB4+By/ipU8vdYDtSnw1tkkebnXXVRdT78+28="; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "4.5.0"; + hash = "sha256-Fa6dX6Gyse1A/RBoin8cVaHQePbfBvp6jjWxUXPhXKQ="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.5.0"; + hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) + (fetchNuGet { + pname = "System.ServiceProcess.ServiceController"; + version = "8.0.1"; + hash = "sha256-2cXTzNOyXqJinFPzdVJ9Gu6qrFtycfivu7RHDzBJic8="; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "8.0.0"; + hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + hash = "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "4.5.0"; + hash = "sha256-o+jikyFOG30gX57GoeZztmuJ878INQ5SFMmKovYqLWs="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "4.5.1"; + hash = "sha256-F3YY+z86YxC5TQW7RToelnemrqRN7gdRNbpdot8byl8="; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "8.0.0"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.5"; + hash = "sha256-yKxo54w5odWT6nPruUVsaX53oPRe+gKzGvLnnxtwP68="; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.0"; + hash = "sha256-SIdUoXOGGSmBGXLWW76fz0OEoFYDJ8ZoU/xFdVibtxY="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.1"; + hash = "sha256-3NeBC+r7eTVz3f+cEm1NkVhxSr7LrYGX/NdUwje9ecY="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.2"; + hash = "sha256-EqJF9TppMHTKvpR6emrdA61zalMW3HwrZ7j6Bn4bBuo="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Parallel"; + version = "4.3.0"; + hash = "sha256-8H2vRmsn29MNfMmCeIL5vHfbM19jWaLDKNLzDonCI+c="; + }) + (fetchNuGet { + pname = "System.Threading.Thread"; + version = "4.3.0"; + hash = "sha256-pMs6RNFC3nQOGz9EqIcyWmO8YLaqay+q/Qde5hqPXXg="; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.3.0"; + hash = "sha256-tkMwiobmGQn/t8LDqpkM+Q7XJOebEl3bwVf11d2ZR4g="; + }) + (fetchNuGet { + pname = "System.ValueTuple"; + version = "4.5.0"; + hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.3.0"; + hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.3.0"; + hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; + }) + (fetchNuGet { + pname = "System.Xml.XmlDocument"; + version = "4.3.0"; + hash = "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="; + }) + (fetchNuGet { + pname = "System.Xml.XPath"; + version = "4.3.0"; + hash = "sha256-kd1JMqj6obhxzEPRJeYvcUyJqkOs/9A0UOQccC6oYrM="; + }) + (fetchNuGet { + pname = "System.Xml.XPath.XDocument"; + version = "4.3.0"; + hash = "sha256-dqk4CWuwocj5qsUAYlS+XAe6GGcY/N/HIPEGe5afrPM="; + }) + (fetchNuGet { + pname = "YamlDotNet"; + version = "13.0.1"; + hash = "sha256-vrPm3nActRBC+psOSDGu2sjy/FL1Sak/okZPwurOUB8="; + }) ] diff --git a/pkgs/servers/jibri/default.nix b/pkgs/servers/jibri/default.nix index 29aed51d63af0..786a18086b6a5 100644 --- a/pkgs/servers/jibri/default.nix +++ b/pkgs/servers/jibri/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchurl, dpkg, jdk11_headless, makeWrapper, writeText, xorg, nixosTests }: +{ + lib, + stdenv, + fetchurl, + dpkg, + jdk11_headless, + makeWrapper, + writeText, + xorg, + nixosTests, +}: let xorgModulePaths = writeText "module-paths" '' @@ -20,7 +30,10 @@ stdenv.mkDerivation rec { }; dontBuild = true; - nativeBuildInputs = [ dpkg makeWrapper ]; + nativeBuildInputs = [ + dpkg + makeWrapper + ]; installPhase = '' runHook preInstall diff --git a/pkgs/servers/jicofo/default.nix b/pkgs/servers/jicofo/default.nix index cb55d43e39ad5..fd8fc8bfcfe84 100644 --- a/pkgs/servers/jicofo/default.nix +++ b/pkgs/servers/jicofo/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, dpkg, jre_headless, nixosTests }: +{ + lib, + stdenv, + fetchurl, + dpkg, + jre_headless, + nixosTests, +}: let pname = "jicofo"; diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix index 086b6e2c81fb7..194b929502c08 100644 --- a/pkgs/servers/jitsi-videobridge/default.nix +++ b/pkgs/servers/jitsi-videobridge/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, makeWrapper, dpkg, jre_headless, openssl, nixosTests }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + dpkg, + jre_headless, + openssl, + nixosTests, +}: let pname = "jitsi-videobridge2"; diff --git a/pkgs/servers/klipper/klipper-firmware.nix b/pkgs/servers/klipper/klipper-firmware.nix index 53a57279a3649..b314379be190b 100644 --- a/pkgs/servers/klipper/klipper-firmware.nix +++ b/pkgs/servers/klipper/klipper-firmware.nix @@ -1,19 +1,21 @@ -{ stdenv -, lib -, pkg-config -, pkgsCross -, bintools-unwrapped -, libffi -, libusb1 -, wxGTK32 -, python3 -, gcc-arm-embedded -, klipper -, avrdude -, stm32flash -, mcu ? "mcu" -, firmwareConfig ? ./simulator.cfg -}: stdenv.mkDerivation rec { +{ + stdenv, + lib, + pkg-config, + pkgsCross, + bintools-unwrapped, + libffi, + libusb1, + wxGTK32, + python3, + gcc-arm-embedded, + klipper, + avrdude, + stm32flash, + mcu ? "mcu", + firmwareConfig ? ./simulator.cfg, +}: +stdenv.mkDerivation rec { name = "klipper-firmware-${mcu}-${version}"; version = klipper.version; src = klipper.src; diff --git a/pkgs/servers/klipper/klipper-flash.nix b/pkgs/servers/klipper/klipper-flash.nix index 2f37745fd631f..866e398421673 100644 --- a/pkgs/servers/klipper/klipper-flash.nix +++ b/pkgs/servers/klipper/klipper-flash.nix @@ -1,28 +1,38 @@ -{ lib -, writeShellApplication -, gnumake -, pkgsCross -, klipper -, klipper-firmware -, python3 -, avrdude -, stm32flash -, mcu ? "mcu" -, flashDevice ? "/dev/null" -, firmwareConfig ? ./simulator.cfg +{ + lib, + writeShellApplication, + gnumake, + pkgsCross, + klipper, + klipper-firmware, + python3, + avrdude, + stm32flash, + mcu ? "mcu", + flashDevice ? "/dev/null", + firmwareConfig ? ./simulator.cfg, }: let - supportedArches = [ "avr" "stm32" "lpc176x" ]; - matchBoard = with builtins; match ''^.*CONFIG_BOARD_DIRECTORY="([a-zA-Z0-9_]+)".*$'' (readFile firmwareConfig); + supportedArches = [ + "avr" + "stm32" + "lpc176x" + ]; + matchBoard = + with builtins; + match ''^.*CONFIG_BOARD_DIRECTORY="([a-zA-Z0-9_]+)".*$'' (readFile firmwareConfig); boardArch = if matchBoard == null then null else builtins.head matchBoard; in writeShellApplication { name = "klipper-flash-${mcu}"; - runtimeInputs = [ - python3 - pkgsCross.avr.stdenv.cc - gnumake - ] ++ lib.optionals (boardArch == "avr") [ avrdude ] ++ lib.optionals (boardArch == "stm32") [ stm32flash ]; + runtimeInputs = + [ + python3 + pkgsCross.avr.stdenv.cc + gnumake + ] + ++ lib.optionals (boardArch == "avr") [ avrdude ] + ++ lib.optionals (boardArch == "stm32") [ stm32flash ]; text = '' if ${lib.boolToString (!builtins.elem boardArch supportedArches)}; then printf "Flashing Klipper firmware to your board is not supported yet.\n" diff --git a/pkgs/servers/klipper/klipper-genconf.nix b/pkgs/servers/klipper/klipper-genconf.nix index 293a8112007bf..919fe8e6c97ed 100644 --- a/pkgs/servers/klipper/klipper-genconf.nix +++ b/pkgs/servers/klipper/klipper-genconf.nix @@ -1,8 +1,10 @@ -{ writeShellApplication -, klipper -, python3 -, gnumake -}: writeShellApplication { +{ + writeShellApplication, + klipper, + python3, + gnumake, +}: +writeShellApplication { name = "klipper-genconf"; runtimeInputs = [ python3 diff --git a/pkgs/servers/krill/default.nix b/pkgs/servers/krill/default.nix index f310b4d020eff..61703b16f7d87 100644 --- a/pkgs/servers/krill/default.nix +++ b/pkgs/servers/krill/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, openssl -, pkg-config -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix index 7a2c42fad1f9f..ebfb9be622c61 100644 --- a/pkgs/servers/mail/dovecot/default.nix +++ b/pkgs/servers/mail/dovecot/default.nix @@ -1,23 +1,64 @@ -{ stdenv, lib, fetchurl, perl, pkg-config, systemd, openssl -, bzip2, zlib, lz4, inotify-tools, pam, libcap, coreutils -, clucene_core_2, icu, openldap, libsodium, libstemmer, cyrus_sasl -, nixosTests -, fetchpatch -# Auth modules -, withMySQL ? false, libmysqlclient -, withPgSQL ? false, postgresql -, withSQLite ? true, sqlite -, withLua ? false, lua5_3 +{ + stdenv, + lib, + fetchurl, + perl, + pkg-config, + systemd, + openssl, + bzip2, + zlib, + lz4, + inotify-tools, + pam, + libcap, + coreutils, + clucene_core_2, + icu, + openldap, + libsodium, + libstemmer, + cyrus_sasl, + nixosTests, + fetchpatch, + # Auth modules + withMySQL ? false, + libmysqlclient, + withPgSQL ? false, + postgresql, + withSQLite ? true, + sqlite, + withLua ? false, + lua5_3, }: stdenv.mkDerivation rec { pname = "dovecot"; version = "2.3.21.1"; - nativeBuildInputs = [ perl pkg-config ]; + nativeBuildInputs = [ + perl + pkg-config + ]; buildInputs = - [ openssl bzip2 zlib lz4 clucene_core_2 icu openldap libsodium libstemmer cyrus_sasl.dev ] - ++ lib.optionals (stdenv.hostPlatform.isLinux) [ systemd pam libcap inotify-tools ] + [ + openssl + bzip2 + zlib + lz4 + clucene_core_2 + icu + openldap + libsodium + libstemmer + cyrus_sasl.dev + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + systemd + pam + libcap + inotify-tools + ] ++ lib.optional withMySQL libmysqlclient ++ lib.optional withPgSQL postgresql ++ lib.optional withSQLite sqlite @@ -30,23 +71,25 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postPatch = '' - sed -i -E \ - -e 's!/bin/sh\b!${stdenv.shell}!g' \ - -e 's!([^[:alnum:]/_-])/bin/([[:alnum:]]+)\b!\1${coreutils}/bin/\2!g' \ - -e 's!([^[:alnum:]/_-])(head|sleep|cat)\b!\1${coreutils}/bin/\2!g' \ - src/lib-program-client/test-program-client-local.c + postPatch = + '' + sed -i -E \ + -e 's!/bin/sh\b!${stdenv.shell}!g' \ + -e 's!([^[:alnum:]/_-])/bin/([[:alnum:]]+)\b!\1${coreutils}/bin/\2!g' \ + -e 's!([^[:alnum:]/_-])(head|sleep|cat)\b!\1${coreutils}/bin/\2!g' \ + src/lib-program-client/test-program-client-local.c - patchShebangs src/lib-smtp/test-bin/*.sh - sed -i -s -E 's!\bcat\b!${coreutils}/bin/cat!g' src/lib-smtp/test-bin/*.sh + patchShebangs src/lib-smtp/test-bin/*.sh + sed -i -s -E 's!\bcat\b!${coreutils}/bin/cat!g' src/lib-smtp/test-bin/*.sh - patchShebangs src/config/settings-get.pl + patchShebangs src/config/settings-get.pl - # DES-encrypted passwords are not supported by NixPkgs anymore - sed '/test_password_scheme("CRYPT"/d' -i src/auth/test-libpassword.c - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - export systemdsystemunitdir=$out/etc/systemd/system - ''; + # DES-encrypted passwords are not supported by NixPkgs anymore + sed '/test_password_scheme("CRYPT"/d' -i src/auth/test-libpassword.c + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + export systemdsystemunitdir=$out/etc/systemd/system + ''; # We need this for sysconfdir, see remark below. installFlags = [ "DESTDIR=$(out)" ]; @@ -56,51 +99,56 @@ stdenv.mkDerivation rec { rm -rf $out/$(echo "$out" | cut -d "/" -f2) ''; - patches = [ - # Make dovecot look for plugins in /etc/dovecot/modules - # so we can symlink plugins from several packages there. - # The symlinking needs to be done in NixOS. - ./2.3.x-module_dir.patch - # fix openssl 3.0 compatibility - (fetchpatch { - url = "https://salsa.debian.org/debian/dovecot/-/raw/debian/1%252.3.19.1+dfsg1-2/debian/patches/Support-openssl-3.0.patch"; - hash = "sha256-PbBB1jIY3jIC8Js1NY93zkV0gISGUq7Nc67Ul5tN7sw="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # fix timespec calls - ./timespec.patch - ]; + patches = + [ + # Make dovecot look for plugins in /etc/dovecot/modules + # so we can symlink plugins from several packages there. + # The symlinking needs to be done in NixOS. + ./2.3.x-module_dir.patch + # fix openssl 3.0 compatibility + (fetchpatch { + url = "https://salsa.debian.org/debian/dovecot/-/raw/debian/1%252.3.19.1+dfsg1-2/debian/patches/Support-openssl-3.0.patch"; + hash = "sha256-PbBB1jIY3jIC8Js1NY93zkV0gISGUq7Nc67Ul5tN7sw="; + }) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # fix timespec calls + ./timespec.patch + ]; - configureFlags = [ - # It will hardcode this for /var/lib/dovecot. - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 - "--localstatedir=/var" - # We need this so utilities default to reading /etc/dovecot/dovecot.conf file. - "--sysconfdir=/etc" - "--with-ldap" - "--with-ssl=openssl" - "--with-zlib" - "--with-bzlib" - "--with-lz4" - "--with-ldap" - "--with-lucene" - "--with-icu" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "i_cv_epoll_works=${if stdenv.hostPlatform.isLinux then "yes" else "no"}" - "i_cv_posix_fallocate_works=${if stdenv.hostPlatform.isDarwin then "no" else "yes"}" - "i_cv_inotify_works=${if stdenv.hostPlatform.isLinux then "yes" else "no"}" - "i_cv_signed_size_t=no" - "i_cv_signed_time_t=yes" - "i_cv_c99_vsnprintf=yes" - "lib_cv_va_copy=yes" - "i_cv_mmap_plays_with_write=yes" - "i_cv_gmtime_max_time_t=${toString stdenv.hostPlatform.parsed.cpu.bits}" - "i_cv_signed_time_t=yes" - "i_cv_fd_passing=yes" - "lib_cv_va_copy=yes" - "lib_cv___va_copy=yes" - "lib_cv_va_val_copy=yes" - ] ++ lib.optional stdenv.hostPlatform.isLinux "--with-systemd" + configureFlags = + [ + # It will hardcode this for /var/lib/dovecot. + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 + "--localstatedir=/var" + # We need this so utilities default to reading /etc/dovecot/dovecot.conf file. + "--sysconfdir=/etc" + "--with-ldap" + "--with-ssl=openssl" + "--with-zlib" + "--with-bzlib" + "--with-lz4" + "--with-ldap" + "--with-lucene" + "--with-icu" + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "i_cv_epoll_works=${if stdenv.hostPlatform.isLinux then "yes" else "no"}" + "i_cv_posix_fallocate_works=${if stdenv.hostPlatform.isDarwin then "no" else "yes"}" + "i_cv_inotify_works=${if stdenv.hostPlatform.isLinux then "yes" else "no"}" + "i_cv_signed_size_t=no" + "i_cv_signed_time_t=yes" + "i_cv_c99_vsnprintf=yes" + "lib_cv_va_copy=yes" + "i_cv_mmap_plays_with_write=yes" + "i_cv_gmtime_max_time_t=${toString stdenv.hostPlatform.parsed.cpu.bits}" + "i_cv_signed_time_t=yes" + "i_cv_fd_passing=yes" + "lib_cv_va_copy=yes" + "lib_cv___va_copy=yes" + "lib_cv_va_val_copy=yes" + ] + ++ lib.optional stdenv.hostPlatform.isLinux "--with-systemd" ++ lib.optional stdenv.hostPlatform.isDarwin "--enable-static" ++ lib.optional withMySQL "--with-mysql" ++ lib.optional withPgSQL "--with-pgsql" @@ -112,9 +160,21 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://dovecot.org/"; description = "Open source IMAP and POP3 email server written with security primarily in mind"; - license = with licenses; [ mit publicDomain lgpl21Only bsd3 bsdOriginal ]; + license = with licenses; [ + mit + publicDomain + lgpl21Only + bsd3 + bsdOriginal + ]; mainProgram = "dovecot"; - maintainers = with maintainers; [ fpletz globin ] ++ teams.helsinki-systems.members; + maintainers = + with maintainers; + [ + fpletz + globin + ] + ++ teams.helsinki-systems.members; platforms = platforms.unix; }; passthru.tests = { diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix index 5571a5bef7f32..3295bdbb68d6c 100644 --- a/pkgs/servers/mail/mailman/default.nix +++ b/pkgs/servers/mail/mailman/default.nix @@ -1,35 +1,65 @@ -{ newScope, lib, python3 }: +{ + newScope, + lib, + python3, +}: let - self = lib.makeExtensible (self: let inherit (self) callPackage; in { - callPackage = newScope self; + self = lib.makeExtensible ( + self: + let + inherit (self) callPackage; + in + { + callPackage = newScope self; - python3 = callPackage ./python.nix { inherit python3; }; + python3 = callPackage ./python.nix { inherit python3; }; - hyperkitty = callPackage ./hyperkitty.nix { }; + hyperkitty = callPackage ./hyperkitty.nix { }; - mailman = callPackage ./package.nix { }; + mailman = callPackage ./package.nix { }; - mailman-hyperkitty = callPackage ./mailman-hyperkitty.nix { }; + mailman-hyperkitty = callPackage ./mailman-hyperkitty.nix { }; - postorius = callPackage ./postorius.nix { }; + postorius = callPackage ./postorius.nix { }; - web = callPackage ./web.nix { }; + web = callPackage ./web.nix { }; - buildEnvs = { web ? self.web - , mailman ? self.mailman - , mailman-hyperkitty ? self.mailman-hyperkitty - , withHyperkitty ? false - , withLDAP ? false - }: - { - mailmanEnv = self.python3.withPackages - (ps: [ mailman ps.psycopg2 ] + buildEnvs = + { + web ? self.web, + mailman ? self.mailman, + mailman-hyperkitty ? self.mailman-hyperkitty, + withHyperkitty ? false, + withLDAP ? false, + }: + { + mailmanEnv = self.python3.withPackages ( + ps: + [ + mailman + ps.psycopg2 + ] ++ lib.optional withHyperkitty mailman-hyperkitty - ++ lib.optionals withLDAP [ ps.python-ldap ps.django-auth-ldap ]); - webEnv = self.python3.withPackages - (ps: [ web ps.psycopg2 ] ++ lib.optionals withLDAP [ ps.python-ldap ps.django-auth-ldap ]); - }; - }); + ++ lib.optionals withLDAP [ + ps.python-ldap + ps.django-auth-ldap + ] + ); + webEnv = self.python3.withPackages ( + ps: + [ + web + ps.psycopg2 + ] + ++ lib.optionals withLDAP [ + ps.python-ldap + ps.django-auth-ldap + ] + ); + }; + } + ); -in self +in +self diff --git a/pkgs/servers/mail/mailman/mailman-hyperkitty.nix b/pkgs/servers/mail/mailman/mailman-hyperkitty.nix index 2aac1665f81b4..b4537fca7489b 100644 --- a/pkgs/servers/mail/mailman/mailman-hyperkitty.nix +++ b/pkgs/servers/mail/mailman/mailman-hyperkitty.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchPypi -, mailman -, nixosTests +{ + lib, + python3, + fetchPypi, + mailman, + nixosTests, }: with python3.pkgs; diff --git a/pkgs/servers/mail/mailman/package.nix b/pkgs/servers/mail/mailman/package.nix index cbdbea48d09c4..cb5dc354cf74c 100644 --- a/pkgs/servers/mail/mailman/package.nix +++ b/pkgs/servers/mail/mailman/package.nix @@ -1,10 +1,11 @@ -{ lib -, fetchpatch -, python3 -, fetchPypi -, postfix -, lynx -, nixosTests +{ + lib, + fetchpatch, + python3, + fetchPypi, + postfix, + lynx, + nixosTests, }: with python3.pkgs; diff --git a/pkgs/servers/mail/mailman/postorius.nix b/pkgs/servers/mail/mailman/postorius.nix index 1a0b239414855..086a2e97e7f46 100644 --- a/pkgs/servers/mail/mailman/postorius.nix +++ b/pkgs/servers/mail/mailman/postorius.nix @@ -1,4 +1,9 @@ -{ lib, python3, fetchPypi, nixosTests }: +{ + lib, + python3, + fetchPypi, + nixosTests, +}: with python3.pkgs; @@ -12,9 +17,14 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - django-mailman3 readme-renderer + django-mailman3 + readme-renderer ] ++ readme-renderer.optional-dependencies.md; - nativeCheckInputs = [ beautifulsoup4 vcrpy mock ]; + nativeCheckInputs = [ + beautifulsoup4 + vcrpy + mock + ]; # Tries to connect to database. doCheck = false; diff --git a/pkgs/servers/mail/mailman/web.nix b/pkgs/servers/mail/mailman/web.nix index ae4320fd443a2..abe62fa2fd7c1 100644 --- a/pkgs/servers/mail/mailman/web.nix +++ b/pkgs/servers/mail/mailman/web.nix @@ -1,6 +1,11 @@ -{ lib, python3, fetchPypi -, sassc, hyperkitty, postorius -, nixosTests +{ + lib, + python3, + fetchPypi, + sassc, + hyperkitty, + postorius, + nixosTests, }: with python3.pkgs; @@ -26,7 +31,11 @@ buildPythonPackage rec { ''; nativeBuildInputs = [ pdm-backend ]; - propagatedBuildInputs = [ hyperkitty postorius whoosh ]; + propagatedBuildInputs = [ + hyperkitty + postorius + whoosh + ]; # Tries to check runtime configuration. doCheck = false; @@ -42,6 +51,9 @@ buildPythonPackage rec { description = "Django project for Mailman 3 web interface"; mainProgram = "mailman-web"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ qyliss m1cr0man ]; + maintainers = with maintainers; [ + qyliss + m1cr0man + ]; }; } diff --git a/pkgs/servers/mail/mailpit/default.nix b/pkgs/servers/mail/mailpit/default.nix index c29baacd447cb..a7c327f9d2c54 100644 --- a/pkgs/servers/mail/mailpit/default.nix +++ b/pkgs/servers/mail/mailpit/default.nix @@ -18,7 +18,8 @@ let inherit (source) version - vendorHash; + vendorHash + ; src = fetchFromGitHub { owner = "axllent"; diff --git a/pkgs/servers/mail/nullmailer/default.nix b/pkgs/servers/mail/nullmailer/default.nix index f223f163fdcbf..d91d8f4cb9309 100644 --- a/pkgs/servers/mail/nullmailer/default.nix +++ b/pkgs/servers/mail/nullmailer/default.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchurl, lib, tls ? true, gnutls ? null }: +{ + stdenv, + fetchurl, + lib, + tls ? true, + gnutls ? null, +}: assert tls -> gnutls != null; @@ -46,6 +52,6 @@ stdenv.mkDerivation rec { ''; license = lib.licenses.gpl2Plus; platforms = lib.platforms.all; - maintainers = with lib.maintainers ; [ sargon ]; + maintainers = with lib.maintainers; [ sargon ]; }; } diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix index f179bf96368ff..0acf74133d9b5 100644 --- a/pkgs/servers/mail/opensmtpd/extras.nix +++ b/pkgs/servers/mail/opensmtpd/extras.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, openssl, libevent, libasr, ncurses, - pkg-config, lua5, perl, libmysqlclient, postgresql, sqlite, hiredis, +{ + lib, + stdenv, + fetchurl, + openssl, + libevent, + libasr, + ncurses, + pkg-config, + lua5, + perl, + libmysqlclient, + postgresql, + sqlite, + hiredis, enableLua ? true, enablePerl ? true, enableMysql ? true, @@ -18,66 +31,84 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl libevent - libasr lua5 perl libmysqlclient postgresql sqlite hiredis ]; + buildInputs = [ + openssl + libevent + libasr + lua5 + perl + libmysqlclient + postgresql + sqlite + hiredis + ]; - configureFlags = [ - "--sysconfdir=/etc" - "--localstatedir=/var" - "--with-privsep-user=smtpd" - "--with-libevent-dir=${libevent.dev}" + configureFlags = + [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-privsep-user=smtpd" + "--with-libevent-dir=${libevent.dev}" - "--with-filter-clamav" - "--with-filter-dkim-signer" - "--with-filter-dnsbl" - "--with-filter-monkey" - "--with-filter-pause" - "--with-filter-regex" - "--with-filter-spamassassin" - "--with-filter-stub" - "--with-filter-trace" - "--with-filter-void" - "--with-queue-null" - "--with-queue-ram" - "--with-queue-stub" - "--with-table-ldap" - "--with-table-socketmap" - "--with-table-passwd" - "--with-table-stub" - "--with-scheduler-ram" - "--with-scheduler-stub" + "--with-filter-clamav" + "--with-filter-dkim-signer" + "--with-filter-dnsbl" + "--with-filter-monkey" + "--with-filter-pause" + "--with-filter-regex" + "--with-filter-spamassassin" + "--with-filter-stub" + "--with-filter-trace" + "--with-filter-void" + "--with-queue-null" + "--with-queue-ram" + "--with-queue-stub" + "--with-table-ldap" + "--with-table-socketmap" + "--with-table-passwd" + "--with-table-stub" + "--with-scheduler-ram" + "--with-scheduler-stub" - ] ++ lib.optionals enableLua [ - "--with-lua=${pkg-config}" - "--with-filter-lua" + ] + ++ lib.optionals enableLua [ + "--with-lua=${pkg-config}" + "--with-filter-lua" - ] ++ lib.optionals enablePerl [ - "--with-perl=${perl}" - "--with-filter-perl" + ] + ++ lib.optionals enablePerl [ + "--with-perl=${perl}" + "--with-filter-perl" - ] ++ lib.optionals enableMysql [ - "--with-table-mysql" + ] + ++ lib.optionals enableMysql [ + "--with-table-mysql" - ] ++ lib.optionals enablePostgres [ - "--with-table-postgres" + ] + ++ lib.optionals enablePostgres [ + "--with-table-postgres" - ] ++ lib.optionals enableSqlite [ - "--with-table-sqlite" + ] + ++ lib.optionals enableSqlite [ + "--with-table-sqlite" - ] ++ lib.optionals enableRedis [ - "--with-table-redis" - ]; + ] + ++ lib.optionals enableRedis [ + "--with-table-redis" + ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString enableRedis - "-I${hiredis}/include/hiredis -lhiredis" - + lib.optionalString enableMysql - " -L${libmysqlclient}/lib/mysql"; + env.NIX_CFLAGS_COMPILE = + lib.optionalString enableRedis "-I${hiredis}/include/hiredis -lhiredis" + + lib.optionalString enableMysql " -L${libmysqlclient}/lib/mysql"; meta = with lib; { homepage = "https://www.opensmtpd.org/"; description = "Extra plugins for the OpenSMTPD mail server"; license = licenses.isc; platforms = platforms.linux; - maintainers = with maintainers; [ gebner ekleog ]; + maintainers = with maintainers; [ + gebner + ekleog + ]; }; } diff --git a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix b/pkgs/servers/mail/opensmtpd/filter-rspamd.nix index b491068d0530b..0cba39036ffe8 100644 --- a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix +++ b/pkgs/servers/mail/opensmtpd/filter-rspamd.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index 07442ea95a392..bed6bcd277208 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -1,29 +1,71 @@ -{ stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl -, coreutils, findutils, gnugrep, gawk, icu, pcre2, m4 -, fetchpatch -, buildPackages, nixosTests -, withLDAP ? true, openldap -, withPgSQL ? false, postgresql -, withMySQL ? false, libmysqlclient -, withSQLite ? false, sqlite +{ + stdenv, + lib, + fetchurl, + makeWrapper, + gnused, + db, + openssl, + cyrus_sasl, + libnsl, + coreutils, + findutils, + gnugrep, + gawk, + icu, + pcre2, + m4, + fetchpatch, + buildPackages, + nixosTests, + withLDAP ? true, + openldap, + withPgSQL ? false, + postgresql, + withMySQL ? false, + libmysqlclient, + withSQLite ? false, + sqlite, }: let - ccargs = lib.concatStringsSep " " ([ - "-DUSE_TLS" "-DUSE_SASL_AUTH" "-DUSE_CYRUS_SASL" "-I${cyrus_sasl.dev}/include/sasl" - "-DHAS_DB_BYPASS_MAKEDEFS_CHECK" - ] ++ lib.optional withPgSQL "-DHAS_PGSQL" - ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${libmysqlclient.dev}/include/mysql" "-L${libmysqlclient}/lib/mysql" ] - ++ lib.optional withSQLite "-DHAS_SQLITE" - ++ lib.optionals withLDAP ["-DHAS_LDAP" "-DUSE_LDAP_SASL"]); - auxlibs = lib.concatStringsSep " " ([ - "-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl" - ] ++ lib.optional withPgSQL "-lpq" - ++ lib.optional withMySQL "-lmysqlclient" - ++ lib.optional withSQLite "-lsqlite3" - ++ lib.optional withLDAP "-lldap"); - -in stdenv.mkDerivation rec { + ccargs = lib.concatStringsSep " " ( + [ + "-DUSE_TLS" + "-DUSE_SASL_AUTH" + "-DUSE_CYRUS_SASL" + "-I${cyrus_sasl.dev}/include/sasl" + "-DHAS_DB_BYPASS_MAKEDEFS_CHECK" + ] + ++ lib.optional withPgSQL "-DHAS_PGSQL" + ++ lib.optionals withMySQL [ + "-DHAS_MYSQL" + "-I${libmysqlclient.dev}/include/mysql" + "-L${libmysqlclient}/lib/mysql" + ] + ++ lib.optional withSQLite "-DHAS_SQLITE" + ++ lib.optionals withLDAP [ + "-DHAS_LDAP" + "-DUSE_LDAP_SASL" + ] + ); + auxlibs = lib.concatStringsSep " " ( + [ + "-ldb" + "-lnsl" + "-lresolv" + "-lsasl2" + "-lcrypto" + "-lssl" + ] + ++ lib.optional withPgSQL "-lpq" + ++ lib.optional withMySQL "-lmysqlclient" + ++ lib.optional withSQLite "-lsqlite3" + ++ lib.optional withLDAP "-lldap" + ); + +in +stdenv.mkDerivation rec { pname = "postfix"; version = "3.9.1"; @@ -32,8 +74,19 @@ in stdenv.mkDerivation rec { hash = "sha256-xIiUTrA2JXbRj1+MxLmzKjW8s11xuUfarJdkr0dw9kM="; }; - nativeBuildInputs = [ makeWrapper m4 ]; - buildInputs = [ db openssl cyrus_sasl icu libnsl pcre2 ] + nativeBuildInputs = [ + makeWrapper + m4 + ]; + buildInputs = + [ + db + openssl + cyrus_sasl + icu + libnsl + pcre2 + ] ++ lib.optional withPgSQL postgresql ++ lib.optional withMySQL libmysqlclient ++ lib.optional withSQLite sqlite @@ -55,15 +108,17 @@ in stdenv.mkDerivation rec { }) ]; - postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - sed -e 's!bin/postconf!${buildPackages.postfix}/bin/postconf!' -i postfix-install - '' + '' - sed -e '/^PATH=/d' -i postfix-install - sed -e "s|@PACKAGE@|$out|" -i conf/post-install + postPatch = + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed -e 's!bin/postconf!${buildPackages.postfix}/bin/postconf!' -i postfix-install + '' + + '' + sed -e '/^PATH=/d' -i postfix-install + sed -e "s|@PACKAGE@|$out|" -i conf/post-install - # post-install need skip permissions check/set on all symlinks following to /nix/store - sed -e "s|@NIX_STORE@|$NIX_STORE|" -i conf/post-install - ''; + # post-install need skip permissions check/set on all symlinks following to /nix/store + sed -e "s|@NIX_STORE@|$NIX_STORE|" -i conf/post-install + ''; postConfigure = '' export command_directory=$out/sbin @@ -98,9 +153,23 @@ in stdenv.mkDerivation rec { cp -rv installdir/etc $out sed -e '/^PATH=/d' -i $out/libexec/postfix/post-install wrapProgram $out/libexec/postfix/post-install \ - --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + findutils + gnugrep + ] + } wrapProgram $out/libexec/postfix/postfix-script \ - --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep gawk gnused ]} + --prefix PATH ":" ${ + lib.makeBinPath [ + coreutils + findutils + gnugrep + gawk + gnused + ] + } # Avoid dev-only outputs from being retained in final closure. # `makedefs.out` is a documenttation-only file. It should be safe @@ -118,8 +187,15 @@ in stdenv.mkDerivation rec { homepage = "http://www.postfix.org/"; changelog = "https://www.postfix.org/announcements/postfix-${version}.html"; description = "Fast, easy to administer, and secure mail server"; - license = with licenses; [ ipl10 epl20 ]; + license = with licenses; [ + ipl10 + epl20 + ]; platforms = platforms.linux; - maintainers = with maintainers; [ globin dotlambda lewo ]; + maintainers = with maintainers; [ + globin + dotlambda + lewo + ]; }; } diff --git a/pkgs/servers/mail/postfix/pfixtools.nix b/pkgs/servers/mail/postfix/pfixtools.nix index 03527e1ce2b9d..1733aadb6ec69 100644 --- a/pkgs/servers/mail/postfix/pfixtools.nix +++ b/pkgs/servers/mail/postfix/pfixtools.nix @@ -1,4 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, git, gperf, pcre, unbound, libev, tokyocabinet, pkg-config, bash, libsrs2 }: +{ + stdenv, + lib, + fetchFromGitHub, + git, + gperf, + pcre, + unbound, + libev, + tokyocabinet, + pkg-config, + bash, + libsrs2, +}: let version = "0.9"; @@ -30,7 +43,16 @@ stdenv.mkDerivation { patches = [ ./0001-Fix-build-with-unbound-1.6.1.patch ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [git gperf pcre unbound libev tokyocabinet bash libsrs2]; + buildInputs = [ + git + gperf + pcre + unbound + libev + tokyocabinet + bash + libsrs2 + ]; postUnpack = '' cp -Rp ${libCommonSrc}/* ${srcRoot}/common; @@ -47,7 +69,10 @@ stdenv.mkDerivation { env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=nonnull-compare -Wno-error=format-truncation"; - makeFlags = [ "DESTDIR=$(out)" "prefix=" ]; + makeFlags = [ + "DESTDIR=$(out)" + "prefix=" + ]; meta = { description = "Collection of postfix-related tools"; diff --git a/pkgs/servers/mail/postfix/pflogsumm.nix b/pkgs/servers/mail/postfix/pflogsumm.nix index d70cde6b9da26..bc5624b52e831 100644 --- a/pkgs/servers/mail/postfix/pflogsumm.nix +++ b/pkgs/servers/mail/postfix/pflogsumm.nix @@ -1,4 +1,8 @@ -{ lib, fetchurl, perlPackages }: +{ + lib, + fetchurl, + perlPackages, +}: perlPackages.buildPerlPackage rec { pname = "pflogsumm"; @@ -9,7 +13,10 @@ perlPackages.buildPerlPackage rec { sha256 = "0hkim9s5f1yg5sfs5048jydhy3sbxafls496wcjk0cggxb113py4"; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; buildInputs = [ perlPackages.DateCalc ]; preConfigure = '' diff --git a/pkgs/servers/mail/public-inbox/default.nix b/pkgs/servers/mail/public-inbox/default.nix index 72caae6a5b05e..9360f1bef003c 100644 --- a/pkgs/servers/mail/public-inbox/default.nix +++ b/pkgs/servers/mail/public-inbox/default.nix @@ -1,43 +1,48 @@ -{ stdenv, lib, fetchurl, makeWrapper, nixosTests -, buildPerlPackage -, coreutils -, curl -, git -, gnumake -, highlight -, libgit2 -, libxcrypt -, man -, openssl -, pkg-config -, sqlite -, xapian -, AnyURIEscape -, DBDSQLite -, DBI -, EmailAddressXS -, EmailMIME -, IOSocketSSL -# FIXME: to be packaged -#, IOSocketSocks -, IPCRun -, Inline -, InlineC -, LinuxInotify2 -, MailIMAPClient -# FIXME: to be packaged -#, NetNetrc -# FIXME: to be packaged -#, NetNNTP -, ParseRecDescent -, Plack -, PlackMiddlewareReverseProxy -, PlackTestExternalServer -, SearchXapian -, TestSimple13 -, TimeDate -, URI -, XMLTreePP +{ + stdenv, + lib, + fetchurl, + makeWrapper, + nixosTests, + buildPerlPackage, + coreutils, + curl, + git, + gnumake, + highlight, + libgit2, + libxcrypt, + man, + openssl, + pkg-config, + sqlite, + xapian, + AnyURIEscape, + DBDSQLite, + DBI, + EmailAddressXS, + EmailMIME, + IOSocketSSL, + # FIXME: to be packaged + #, IOSocketSocks + IPCRun, + Inline, + InlineC, + LinuxInotify2, + MailIMAPClient, + # FIXME: to be packaged + #, NetNetrc + # FIXME: to be packaged + #, NetNNTP + ParseRecDescent, + Plack, + PlackMiddlewareReverseProxy, + PlackTestExternalServer, + SearchXapian, + TestSimple13, + TimeDate, + URI, + XMLTreePP, }: let @@ -91,7 +96,11 @@ buildPerlPackage rec { sha256 = "sha256-ENnT2YK7rpODII9TqiEYSCp5mpWOnxskeSuAf8Ilqro="; }; - outputs = [ "out" "devdoc" "sa_config" ]; + outputs = [ + "out" + "devdoc" + "sa_config" + ]; postConfigure = '' substituteInPlace Makefile --replace 'TEST_FILES = t/*.t' \ @@ -127,20 +136,22 @@ buildPerlPackage rec { ]; doCheck = !stdenv.hostPlatform.isDarwin; - nativeCheckInputs = [ - curl - git - openssl - pkg-config - sqlite - xapian - EmailMIME - PlackTestExternalServer - TestSimple13 - XMLTreePP - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - LinuxInotify2 - ]; + nativeCheckInputs = + [ + curl + git + openssl + pkg-config + sqlite + xapian + EmailMIME + PlackTestExternalServer + TestSimple13 + XMLTreePP + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + LinuxInotify2 + ]; preCheck = '' perl certs/create-certs.perl export TEST_LEI_ERR_LOUD=1 @@ -153,13 +164,15 @@ buildPerlPackage rec { for prog in $out/bin/*; do wrapProgram $prog \ --set NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} -I${lib.getDev libxcrypt}/include \ - --prefix PATH : ${lib.makeBinPath [ - git - xapian - /* for InlineC */ - gnumake - stdenv.cc - ]} + --prefix PATH : ${ + lib.makeBinPath [ + git + xapian + # for InlineC + gnumake + stdenv.cc + ] + } done mv sa_config $sa_config @@ -172,7 +185,10 @@ buildPerlPackage rec { meta = with lib; { homepage = "https://public-inbox.org/"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ julm qyliss ]; + maintainers = with maintainers; [ + julm + qyliss + ]; platforms = platforms.all; }; } diff --git a/pkgs/servers/mail/spf-engine/default.nix b/pkgs/servers/mail/spf-engine/default.nix index 326d42d5d78c3..ee5d6d74d1d0e 100644 --- a/pkgs/servers/mail/spf-engine/default.nix +++ b/pkgs/servers/mail/spf-engine/default.nix @@ -1,4 +1,13 @@ -{ lib, buildPythonApplication, fetchurl, flit-core, pyspf, dnspython, authres, pymilter }: +{ + lib, + buildPythonApplication, + fetchurl, + flit-core, + pyspf, + dnspython, + authres, + pymilter, +}: buildPythonApplication rec { pname = "spf-engine"; @@ -12,7 +21,12 @@ buildPythonApplication rec { nativeBuildInputs = [ flit-core ]; - propagatedBuildInputs = [ pyspf dnspython authres pymilter ]; + propagatedBuildInputs = [ + pyspf + dnspython + authres + pymilter + ]; pythonImportsCheck = [ "spf_engine" diff --git a/pkgs/servers/mail/system-sendmail/default.nix b/pkgs/servers/mail/system-sendmail/default.nix index c3574c8f17fce..3bef265103eb4 100644 --- a/pkgs/servers/mail/system-sendmail/default.nix +++ b/pkgs/servers/mail/system-sendmail/default.nix @@ -1,19 +1,26 @@ -{ lib, stdenv, writeText, runtimeShell }: +{ + lib, + stdenv, + writeText, + runtimeShell, +}: -let script = writeText "script" '' - #!${runtimeShell} +let + script = writeText "script" '' + #!${runtimeShell} - if command -v sendmail > /dev/null 2>&1 && [ "$(command -v sendmail)" != "{{MYPATH}}" ]; then - exec sendmail "$@" - elif [ -x /run/wrappers/bin/sendmail ]; then - exec /run/wrappers/bin/sendmail "$@" - elif [ -x /run/current-system/sw/bin/sendmail ]; then - exec /run/current-system/sw/bin/sendmail "$@" - else - echo "Unable to find system sendmail." >&2 - exit 1 - fi -''; in + if command -v sendmail > /dev/null 2>&1 && [ "$(command -v sendmail)" != "{{MYPATH}}" ]; then + exec sendmail "$@" + elif [ -x /run/wrappers/bin/sendmail ]; then + exec /run/wrappers/bin/sendmail "$@" + elif [ -x /run/current-system/sw/bin/sendmail ]; then + exec /run/current-system/sw/bin/sendmail "$@" + else + echo "Unable to find system sendmail." >&2 + exit 1 + fi + ''; +in stdenv.mkDerivation { pname = "system-sendmail"; version = "1.0"; diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix index 979dd74635c2d..6c71ac6e7b4f9 100644 --- a/pkgs/servers/mastodon/default.nix +++ b/pkgs/servers/mastodon/default.nix @@ -1,15 +1,24 @@ -{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests -, yarn-berry, callPackage, ruby, writeShellScript -, brotli, python3 +{ + lib, + stdenv, + nodejs-slim, + bundlerEnv, + nixosTests, + yarn-berry, + callPackage, + ruby, + writeShellScript, + brotli, + python3, # Allow building a fork or custom version of Mastodon: -, pname ? "mastodon" -, version ? srcOverride.version -, patches ? [] + pname ? "mastodon", + version ? srcOverride.version, + patches ? [ ], # src is a package -, srcOverride ? callPackage ./source.nix { inherit patches; } -, gemset ? ./. + "/gemset.nix" -, yarnHash ? srcOverride.yarnHash + srcOverride ? callPackage ./source.nix { inherit patches; }, + gemset ? ./. + "/gemset.nix", + yarnHash ? srcOverride.yarnHash, }: stdenv.mkDerivation rec { @@ -32,7 +41,14 @@ stdenv.mkDerivation rec { hash = yarnHash; }; - nativeBuildInputs = [ nodejs-slim yarn-berry mastodonGems mastodonGems.wrappedRuby brotli python3 ]; + nativeBuildInputs = [ + nodejs-slim + yarn-berry + mastodonGems + mastodonGems.wrappedRuby + brotli + python3 + ]; RAILS_ENV = "production"; NODE_ENV = "production"; @@ -86,7 +102,10 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ mastodonGems.wrappedRuby ]; nativeBuildInputs = [ brotli ]; - buildInputs = [ mastodonGems nodejs-slim ]; + buildInputs = [ + mastodonGems + nodejs-slim + ]; buildPhase = '' runHook preBuild @@ -128,21 +147,23 @@ stdenv.mkDerivation rec { runHook postBuild ''; - installPhase = let - run-streaming = writeShellScript "run-streaming.sh" '' - # NixOS helper script to consistently use the same NodeJS version the package was built with. - ${nodejs-slim}/bin/node ./streaming - ''; - in '' - runHook preInstall + installPhase = + let + run-streaming = writeShellScript "run-streaming.sh" '' + # NixOS helper script to consistently use the same NodeJS version the package was built with. + ${nodejs-slim}/bin/node ./streaming + ''; + in + '' + runHook preInstall - mkdir -p $out - mv .{env*,ruby*} $out/ - mv * $out/ - ln -s ${run-streaming} $out/run-streaming.sh + mkdir -p $out + mv .{env*,ruby*} $out/ + mv * $out/ + ln -s ${run-streaming} $out/run-streaming.sh - runHook postInstall - ''; + runHook postInstall + ''; passthru = { tests.mastodon = nixosTests.mastodon; @@ -154,7 +175,16 @@ stdenv.mkDerivation rec { description = "Self-hosted, globally interconnected microblogging software based on ActivityPub"; homepage = "https://joinmastodon.org"; license = licenses.agpl3Plus; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ happy-river erictapen izorkin ghuntley ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + ]; + maintainers = with maintainers; [ + happy-river + erictapen + izorkin + ghuntley + ]; }; } diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix index f5f0ec29087af..c3a2253b86fb0 100644 --- a/pkgs/servers/mastodon/gemset.nix +++ b/pkgs/servers/mastodon/gemset.nix @@ -1,3576 +1,4658 @@ { actioncable = { - dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "nio4r" + "websocket-driver" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mfb5x6kwxwprprhzj2a1hff7vw37v1wd9hl70nqq23xr82w20wx"; type = "gem"; }; version = "7.1.4.1"; }; actionmailbox = { - dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activestorage" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1z95jcq4cmk7zzy4jjgxjbigk0zaxm2gpf8p0s0jn3b5px0k3ljk"; type = "gem"; }; version = "7.1.4.1"; }; actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "actionview" + "activejob" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + "rails-dom-testing" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1h39ffp0zs0r46bfm8bbgvc8icwamq4icsf1qn32xskdssnb8xyr"; type = "gem"; }; version = "7.1.4.1"; }; actionpack = { - dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionview" + "activesupport" + "nokogiri" + "racc" + "rack" + "rack-session" + "rack-test" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mrdaql56iqnqcg7n3frc0r48bca8b4g9f2ifc69f15dpps2wfsx"; type = "gem"; }; version = "7.1.4.1"; }; actiontext = { - dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activerecord" + "activestorage" + "activesupport" + "globalid" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06az0qalnvz0hv1wq8nn5q70gak9r50b6b95avmkz860lhbpx70d"; type = "gem"; }; version = "7.1.4.1"; }; actionview = { - dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "builder" + "erubi" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02zrp7x6k6sgd4rrpsh2b9k2h0qhx538fsb1grsw25ss8d9k2b2j"; type = "gem"; }; version = "7.1.4.1"; }; active_model_serializers = { - dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activemodel" + "case_transform" + "jsonapi-renderer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13n1ipn0dg3k852xhfzdvkr1ljq76xvfnm79qzdix2ishiy1gphl"; type = "gem"; }; version = "0.10.14"; }; activejob = { - dependencies = ["activesupport" "globalid"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "globalid" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1r0i34jrsibwkbg61kjm1xjbc8ppy8r91bnach8rv7jgjrid4dyl"; type = "gem"; }; version = "7.1.4.1"; }; activemodel = { - dependencies = ["activesupport"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dpdfa132zsfw5l754p2iwialbscvhp9dblq9fg65ww306s3g0pl"; type = "gem"; }; version = "7.1.4.1"; }; activerecord = { - dependencies = ["activemodel" "activesupport" "timeout"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + "timeout" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cwx0a7pbl2shm0jc0m7aylacb84j2p4f3h0v7f6aas2b8s6lkf1"; type = "gem"; }; version = "7.1.4.1"; }; activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activesupport" + "marcel" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07zw4r8n3ag3d8jfynngpk0cxjwwlh7pxg3hrz1fdww2fnl6nan8"; type = "gem"; }; version = "7.1.4.1"; }; activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "minitest" + "mutex_m" + "tzinfo" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0p3167vw7csidyfl731hbp27xaz90w0v31l3fqzrsipci69p7qw0"; type = "gem"; }; version = "7.1.4.1"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "public_suffix" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; aes_key_wrap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19bn0y70qm6mfj4y1m0j3s8ggh6dvxwrwrj5vfamhdrpddsz8ddr"; type = "gem"; }; version = "1.1.0"; }; android_key_attestation = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02spc1sh7zsljl02v9d5rdb717b628vw2k7jkkplifyjk4db0zj6"; type = "gem"; }; version = "0.3.0"; }; annotate = { - dependencies = ["activerecord" "rake"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "rake" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lw0fxb5mirsdp3bp20gjyvs7clvi19jbxnrm2ihm20kzfhvlqcs"; type = "gem"; }; version = "3.2.0"; }; ast = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; attr_required = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16fbwr6nmsn97n0a6k1nwbpyz08zpinhd6g7196lz1syndbgrszh"; type = "gem"; }; version = "1.0.2"; }; awrence = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gj8f8c54r9cabkm41s59sa1ca5wpbipw7gq3sfl87x9296227fx"; type = "gem"; }; version = "1.2.1"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pm4dxz3w1f5ksiid7bxdaxhz0rklci3zfyb4v1f6j9psa11cwh1"; type = "gem"; }; version = "1.978.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0hm87r5ph1mi7n6b5y17hc54x38insbkgbflr7viqigbwy2slw3v"; type = "gem"; }; version = "3.209.0"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1acx3bhqkhni3kbl7xnjdgy8raq5y7p0zyniq61bsihzkwcj7imh"; type = "gem"; }; version = "1.94.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zpww3lxpjg8smmznz2nbx5hrpnkzflbasllxjwprkqr56rrrjap"; type = "gem"; }; version = "1.166.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "176zh13m1vhwgys0drlqiw79ljmmx84vva036shsb7rzr4yi36qm"; type = "gem"; }; version = "1.10.0"; }; azure-storage-blob = { - dependencies = ["azure-storage-common" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "azure-storage-common" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qq3knsy7nj7a0r8m19spg2bgzns9b3j5vjbs9mpg49whhc63dv1"; type = "gem"; }; version = "2.0.3"; }; azure-storage-common = { - dependencies = ["faraday" "faraday_middleware" "net-http-persistent" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "faraday_middleware" + "net-http-persistent" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0swmsvvpmy8cdcl305p3dl2pi7m3dqjd7zywfcxmhsz0n2m4v3v0"; type = "gem"; }; version = "2.0.4"; }; base64 = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bcp47_spec = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "043qld01c163yc7fxlar3046dac2833rlcg44jbbs9n1jvgjxmiz"; type = "gem"; }; version = "0.2.1"; }; bcrypt = { - groups = ["default" "pam_authentication"]; - platforms = []; + groups = [ + "default" + "pam_authentication" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444"; type = "gem"; }; version = "3.1.20"; }; better_errors = { - dependencies = ["erubi" "rack" "rouge"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "rack" + "rouge" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0wqazisnn6hn1wsza412xribpw5wzx6b5z5p4mcpfgizr6xg367p"; type = "gem"; }; version = "2.10.1"; }; bigdecimal = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; bindata = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19"; type = "gem"; }; version = "2.5.0"; }; binding_of_caller = { - dependencies = ["debug_inspector"]; - groups = ["development"]; - platforms = []; + dependencies = [ "debug_inspector" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mjj15ks5ws53v2y31hxcmf46d0qjdvdaadpk7xsij2zymh4a9b"; type = "gem"; }; version = "1.0.1"; }; blurhash = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wni86h2mlb7sj51nq3iwsvkrzlaggls9xlf4p9dzr1ns79dphca"; type = "gem"; }; version = "0.1.8"; }; bootsnap = { - dependencies = ["msgpack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "msgpack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c"; type = "gem"; }; version = "1.18.4"; }; brakeman = { - dependencies = ["racc"]; - groups = ["development"]; - platforms = []; + dependencies = [ "racc" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "078syvjnnkbair5ffyvchxj9yd2c8215c1271kfh1gqsmaf70bl6"; type = "gem"; }; version = "6.2.1"; }; browser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g4bcpax07kqqr9cp7cjc7i0pcij4nqpn1rdsg2wdwhzf00m6x32"; type = "gem"; }; version = "5.3.1"; }; brpoplpush-redis_script = { - dependencies = ["concurrent-ruby" "redis"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "redis" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nd5zj5yqmhv9lrsqz8s2dqq28v4ywy95qrw7nzhhf89dl4dq49l"; type = "gem"; }; version = "0.1.3"; }; builder = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; bundler-audit = { - dependencies = ["thor"]; - groups = ["development"]; - platforms = []; + dependencies = [ "thor" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j0h5cgnzk0ms17ssjkzfzwz65ggrs3lsp53a1j46p4616m1s1bk"; type = "gem"; }; version = "0.9.2"; }; capybara = { - dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "matrix" + "mini_mime" + "nokogiri" + "rack" + "rack-test" + "regexp_parser" + "xpath" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; type = "gem"; }; version = "3.40.0"; }; case_transform = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fzyws6spn5arqf6q604dh9mrj84a36k5hsc8z7jgcpfvhc49bg2"; type = "gem"; }; version = "0.2"; }; cbor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y"; type = "gem"; }; version = "0.5.9.8"; }; charlock_holmes = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c1dws56r7p8y363dhyikg7205z59a3bn4amnv2y488rrq8qm7ml"; type = "gem"; }; version = "0.7.9"; }; chewy = { - dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "elasticsearch" + "elasticsearch-dsl" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0kgqj7hcs09ln7i1rds1xify08rzjk02ryzvjdvnllg1fkh3vm2b"; type = "gem"; }; version = "7.6.0"; }; childprocess = { - dependencies = ["logger"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "logger" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v5nalaarxnfdm6rxb7q6fmc6nx097jd630ax6h9ch7xw95li3cs"; type = "gem"; }; version = "5.1.0"; }; chunky_png = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; climate_control = { - groups = ["test"]; - platforms = []; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "198aswdyqlvcw9jkd95b7b8dp3fg0wx89kd1dx9wia1z36b1icin"; type = "gem"; }; version = "1.2.0"; }; cocoon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "038z97pkhvsqbh6cmyyzj58ya968p24k7r0f0rx7sa2kjvk193yh"; type = "gem"; }; version = "1.2.15"; }; color_diff = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01dpvqlzybpb3pkcwd9ik5sbjw283618ywvdphxslhiy8ps3kp4r"; type = "gem"; }; version = "0.1"; }; concurrent-ruby = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; cose = { - dependencies = ["cbor" "openssl-signature_algorithm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cbor" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rbdzl9n8ppyp38y75hw06s17kp922ybj6jfvhz52p83dg6xpm6m"; type = "gem"; }; version = "1.3.1"; }; crack = { - dependencies = ["bigdecimal" "rexml"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "rexml" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jaa7is4fw1cxigm8vlyhg05bw4nqy4f91zjqxk7pp4c8bdyyfn8"; type = "gem"; }; version = "1.0.0"; }; crass = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; css_parser = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xs3d0ihwg1z4h28d51hb07k926d1rlwy6c2c9ygbicg76srk0qa"; type = "gem"; }; version = "1.19.0"; }; csv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b"; type = "gem"; }; version = "3.3.0"; }; database_cleaner-active_record = { - dependencies = ["activerecord" "database_cleaner-core"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "database_cleaner-core" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1iz1hv2b1z7509dxvxdwzay1hhs24glxls5ldbyh688zxkcdca1j"; type = "gem"; }; version = "2.2.0"; }; database_cleaner-core = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v44bn386ipjjh4m2kl53dal8g4d41xajn2jggnmjbhn6965fil6"; type = "gem"; }; version = "2.0.1"; }; date = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; version = "3.3.4"; }; debug = { - dependencies = ["irb" "reline"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "irb" + "reline" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1z77qyzcmvz3ciny6cb24s79a243jqkybqk30b310yichp02dq28"; type = "gem"; }; version = "1.9.2"; }; debug_inspector = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; type = "gem"; }; version = "1.2.0"; }; devise = { - dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; - groups = ["default" "pam_authentication"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bcrypt" + "orm_adapter" + "railties" + "responders" + "warden" + ]; + groups = [ + "default" + "pam_authentication" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1y57fpcvy1kjd4nb7zk7mvzq62wqcpfynrgblj558k3hbvz4404j"; type = "gem"; }; version = "4.9.4"; }; devise-two-factor = { - dependencies = ["activesupport" "devise" "railties" "rotp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "devise" + "railties" + "rotp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yx6ym8a9szwnq9yziljidqjn6gf99blvz1yib9qdd0qcg5x5hp8"; type = "gem"; }; version = "6.0.0"; }; devise_pam_authenticatable2 = { - dependencies = ["devise" "rpam2"]; - groups = ["pam_authentication"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "devise" + "rpam2" + ]; + groups = [ "pam_authentication" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13ipl52pkhc6vxp8ca31viwv01237bi2bfk3b1fixq1x46nf87p2"; type = "gem"; }; version = "9.2.0"; }; diff-lcs = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; discard = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rysimck60hkj1japwb2np75kaf4jq8jvfzijh2izhadrabqj8am"; type = "gem"; }; version = "1.3.0"; }; docile = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07pj4z3h8wk4fgdn6s62vw1lwvhj0ac0x10vfbdkr9xzk7krn5cn"; type = "gem"; }; version = "1.4.1"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; doorkeeper = { - dependencies = ["railties"]; - groups = ["default"]; - platforms = []; + dependencies = [ "railties" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a6nbc12nfz355am2vwm1ql2p8zck7mr941glghmnl32djaga24b"; type = "gem"; }; version = "5.7.1"; }; dotenv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aanng90ad6vg9sm3qlq1223k456qw2xli9kcx13a3ga33kh5ibd"; type = "gem"; }; version = "3.1.4"; }; drb = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; elasticsearch = { - dependencies = ["elasticsearch-api" "elasticsearch-transport"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "elasticsearch-api" + "elasticsearch-transport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "11pw5x7kg6f6m8rqy2kpbzdlnvijjpmbqkj2gz8237wkbl40y27d"; type = "gem"; }; version = "7.17.11"; }; elasticsearch-api = { - dependencies = ["multi_json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multi_json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01wi43a3zylrq2vca08vir5va142g5m3jcsak3rprjck8jvggn7y"; type = "gem"; }; version = "7.17.11"; }; elasticsearch-dsl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "174m3fwm3mawbkjg2xbmqvljq7ava4s95m8vpg5khcvfj506wxfk"; type = "gem"; }; version = "0.1.10"; }; elasticsearch-transport = { - dependencies = ["base64" "faraday" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "faraday" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00qgyyvjyyv7z22qjd408pby1h7902gdwkh8h3z3jk2y57amg06i"; type = "gem"; }; version = "7.17.11"; }; email_spec = { - dependencies = ["htmlentities" "launchy" "mail"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "htmlentities" + "launchy" + "mail" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "049dhlyy2hcksp1wj9mx2fngk5limkm3afxysnizg1hi2dxbw8yz"; type = "gem"; }; version = "2.3.0"; }; erubi = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; et-orbi = { - dependencies = ["tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r6zylqjfv0xhdxvldr0kgmnglm57nm506pcm6085f0xqa68cvnj"; type = "gem"; }; version = "1.2.11"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ala6123d3cv965ss48iyi0q4hcbzrznfwv2f1mr91sy98cigq4h"; type = "gem"; }; version = "0.111.0"; }; fabrication = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1al5iv3as21l5clci0b5cg27z136pan7gkj7plp4l0w83c6z2y9c"; type = "gem"; }; version = "2.31.0"; }; faker = { - dependencies = ["i18n"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "i18n" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xj0xx2snnxzjipxpxwiki7053441jkdg10h0rmjiri040s5lssi"; type = "gem"; }; version = "3.4.2"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c760q0ks4vj4wmaa7nh1dgvgqiwaw0mjr7v8cymy7i3ffgjxx90"; type = "gem"; }; version = "1.10.3"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3"; type = "gem"; }; version = "1.0.2"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"; type = "gem"; }; version = "1.2.0"; }; fast_blank = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1shpmamyzyhyxmv95r96ja5rylzaw60r19647d0fdm7y2h2c77r6"; type = "gem"; }; version = "1.0.1"; }; fastimage = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sfc7svf7h1ja6zmsq9f3ps6pg0q4hymphh6rk7ipmp7ygqjkii3"; type = "gem"; }; version = "2.3.1"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; version = "1.16.3"; }; ffi-compiler = { - dependencies = ["ffi" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1844j58cdg2q6g0rqfwg4rrambnhf059h4yg9rfmrbrcs60kskx9"; type = "gem"; }; version = "1.3.2"; }; flatware = { - dependencies = ["drb" "thor"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "drb" + "thor" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13wcwdpdx1asjxvqpyxwlcazzsjisls28jjn28d9cqw9zwszcm1p"; type = "gem"; }; version = "2.3.3"; }; flatware-rspec = { - dependencies = ["flatware" "rspec"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "flatware" + "rspec" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0dgl20mi9a5iwcy6v9jq148ljy9rrvyjhp1rpd1sgadfw6kxzbhc"; type = "gem"; }; version = "2.3.3"; }; fog-core = { - dependencies = ["builder" "excon" "formatador" "mime-types"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "excon" + "formatador" + "mime-types" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vf21i2qpl1hagapds0qjlfl6gsyrbssifn2br2ifn3fg9j80yxl"; type = "gem"; }; version = "2.5.0"; }; fog-json = { - dependencies = ["fog-core" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fog-core" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; type = "gem"; }; version = "1.2.0"; }; fog-openstack = { - dependencies = ["fog-core" "fog-json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fog-core" + "fog-json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1z7k3al9bb5ypzkrvi5szpfyi8sksggq68fwxrxywq6rky5lvhdq"; type = "gem"; }; version = "1.1.3"; }; formatador = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l06bv4avphbdmr1y4g0rqlczr38k6r65b3zghrbj2ynyhm3xqjl"; type = "gem"; }; version = "1.1.0"; }; fugit = { - dependencies = ["et-orbi" "raabro"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "et-orbi" + "raabro" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s4qhq3mjl0gak5wl20w9d5jhq069mk1393dkj76s8i2pvkqb578"; type = "gem"; }; version = "1.11.1"; }; globalid = { - dependencies = ["activesupport"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; version = "1.2.1"; }; google-protobuf = { - groups = ["default" "opentelemetry"]; - platforms = []; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fanhdf3vzghma51w1hqpp8s585mwzxgqkwvxj5is4q9j0pgwcs3"; type = "gem"; }; version = "3.25.5"; }; googleapis-common-protos-types = { - dependencies = ["google-protobuf"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "google-protobuf" ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sqmmfdxjp3fy7hzvl35bnd0yb0ds9030np5jqh338qz4w661cap"; type = "gem"; }; version = "1.15.0"; }; haml = { - dependencies = ["temple" "thor" "tilt"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "temple" + "thor" + "tilt" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15yxph91zswbnfy7szpdcfbdfqqn595ff290hm4f6fcnhryvhvlf"; type = "gem"; }; version = "6.3.0"; }; haml-rails = { - dependencies = ["actionpack" "activesupport" "haml" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "haml" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1sjrdwc4azzfpsp2xk0365z031482gcrs0c54d5wx0igkqca0fr7"; type = "gem"; }; version = "2.1.0"; }; haml_lint = { - dependencies = ["haml" "parallel" "rainbow" "rubocop" "sysexits"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "haml" + "parallel" + "rainbow" + "rubocop" + "sysexits" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mf24djxk6968n0ypwbib790nzijcf03m4kw0dnks8csfxj6hy9g"; type = "gem"; }; version = "0.58.0"; }; hashdiff = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0slky0n6n12gjgimzdbdigpwyg5wgq8fysjwkzzfw33ff8b675n7"; type = "gem"; }; version = "1.1.1"; }; hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; hcaptcha = { - dependencies = ["json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fh6391zlv2ikvzqj2gymb70k1avk1j9da8bzgw0scsz2wqq98m2"; type = "gem"; }; version = "7.1.0"; }; highline = { - dependencies = ["reline"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "reline" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q0f7izfi542sp93gl276spm0xyws1kpqxm0alrwwmz06mz4i0ks"; type = "gem"; }; version = "3.1.1"; }; hiredis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04jj8k7lxqxw24sp0jiravigdkgsyrpprxpxm71ba93x1wr2w1bz"; type = "gem"; }; version = "0.6.3"; }; hkdf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil"; type = "gem"; }; version = "0.3.0"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; http = { - dependencies = ["addressable" "base64" "http-cookie" "http-form_data" "llhttp-ffi"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "base64" + "http-cookie" + "http-form_data" + "llhttp-ffi" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05b1khh7wxga9jviy9yi8z1nckxbm3svlzv40y0zvq3nag3d77mr"; type = "gem"; }; version = "5.2.0"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk"; type = "gem"; }; version = "1.0.5"; }; http-form_data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc"; type = "gem"; }; version = "2.3.0"; }; http_accept_language = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; type = "gem"; }; version = "2.1.1"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; httplog = { - dependencies = ["rack" "rainbow"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "rainbow" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "098n4dfmiydbm9if52h17kxglbli9gihjgzhcghv274ni2c9ab49"; type = "gem"; }; version = "1.7.0"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; i18n-tasks = { - dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "ast" + "erubi" + "highline" + "i18n" + "parser" + "rails-i18n" + "rainbow" + "terminal-table" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v03380ffwwa84xzsc6dhkc57cs156qx5aij4bfdcs1j5bpxmn1s"; type = "gem"; }; version = "1.0.14"; }; idn-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dy04jx3n1ddz744b80mg7hp87miysnjp0h21lqr43hpmhdglxih"; type = "gem"; }; version = "0.1.5"; }; inline_svg = { - dependencies = ["activesupport" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03x1z55sh7cpb63g46cbd6135jmp13idcgqzqsnzinbg4cs2jrav"; type = "gem"; }; version = "1.10.0"; }; io-console = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; version = "0.7.2"; }; irb = { - dependencies = ["rdoc" "reline"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rdoc" + "reline" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1y40dv3caswr81dlsyln6vnmmpzf5jcal2rqjbsglvnkb0xh0xar"; type = "gem"; }; version = "1.14.1"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; json = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; version = "2.7.2"; }; json-canonicalization = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0illsmkly0hhi24lm1l6jjjdr6jykvydkwi1cxf4ad3mra68m16l"; type = "gem"; }; version = "1.0.0"; }; json-jwt = { - dependencies = ["activesupport" "aes_key_wrap" "bindata" "httpclient"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "aes_key_wrap" + "bindata" + "httpclient" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13xhvkh2fxydcf466az172nwfykzppm3g9ckp8mafsib45w77clj"; type = "gem"; }; version = "1.15.3.1"; }; json-ld = { - dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "htmlentities" + "json-canonicalization" + "link_header" + "multi_json" + "rack" + "rdf" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09xbw6kc95qgmqcfjp0jjw8dnfm28lw9b5lf8bdh3p2vpy9ihlxr"; type = "gem"; }; version = "3.3.2"; }; json-ld-preloaded = { - dependencies = ["json-ld" "rdf"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "json-ld" + "rdf" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1f28ipp845xmqkgd0c22lw5fpv4fiama4ms3z1z5p0kbvi22f2c1"; type = "gem"; }; version = "3.3.0"; }; json-schema = { - dependencies = ["addressable"]; - groups = ["test"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yn0k02pdb7ds1fszwadxqdsjbkm7xjkfhwpzy7iqij47g0kwv7g"; type = "gem"; }; version = "5.0.0"; }; jsonapi-renderer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ys4drd0k9rw5ixf8n8fx8v0pjh792w4myh0cpdspd317l1lpi5m"; type = "gem"; }; version = "0.2.2"; }; jwt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87"; type = "gem"; }; version = "2.7.1"; }; kaminari = { - dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "kaminari-actionview" + "kaminari-activerecord" + "kaminari-core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gia8irryvfhcr6bsr64kpisbgdbqjsqfgrk12a11incmpwny1y4"; type = "gem"; }; version = "1.2.2"; }; kaminari-actionview = { - dependencies = ["actionview" "kaminari-core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionview" + "kaminari-core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02f9ghl3a9b5q7l079d3yzmqjwkr4jigi7sldbps992rigygcc0k"; type = "gem"; }; version = "1.2.2"; }; kaminari-activerecord = { - dependencies = ["activerecord" "kaminari-core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "kaminari-core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0c148z97s1cqivzbwrak149z7kl1rdmj7dxk6rpkasimmdxsdlqd"; type = "gem"; }; version = "1.2.2"; }; kaminari-core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zw3pg6kj39y7jxakbx7if59pl28lhk98fx71ks5lr3hfgn6zliv"; type = "gem"; }; version = "1.2.2"; }; kt-paperclip = { - dependencies = ["activemodel" "activesupport" "marcel" "mime-types" "terrapin"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + "marcel" + "mime-types" + "terrapin" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j8z0757rb4kly4ghdzd6ihch6x5i0d53r543x2y9xa8cyrj7c4m"; type = "gem"; }; version = "7.2.2"; }; language_server-protocol = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x"; type = "gem"; }; version = "3.17.0.3"; }; launchy = { - dependencies = ["addressable" "childprocess"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "childprocess" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0b3zi9ydbibyyrrkr6l8mcs6l7yam18a4wg22ivgaz0rl2yn1ymp"; type = "gem"; }; version = "3.0.1"; }; letter_opener = { - dependencies = ["launchy"]; - groups = ["development"]; - platforms = []; + dependencies = [ "launchy" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cnv3ggnzyagl50vzs1693aacv08bhwlprcvjp8jcg2w7cp3zwrg"; type = "gem"; }; version = "1.10.0"; }; letter_opener_web = { - dependencies = ["actionmailer" "letter_opener" "railties" "rexml"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionmailer" + "letter_opener" + "railties" + "rexml" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0q4qfi5wnn5bv93zjf10agmzap3sn7gkfmdbryz296wb1vz1wf9z"; type = "gem"; }; version = "3.0.0"; }; link_header = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yamrdq4rywmnpdhbygnkkl9fdy249fg5r851nrkkxr97gj5rihm"; type = "gem"; }; version = "0.0.8"; }; llhttp-ffi = { - dependencies = ["ffi-compiler" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi-compiler" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9"; type = "gem"; }; version = "0.5.0"; }; logger = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; lograge = { - dependencies = ["actionpack" "activesupport" "railties" "request_store"]; - groups = ["production"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "railties" + "request_store" + ]; + groups = [ "production" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qcsvh9k4c0cp6agqm9a8m4x2gg7vifryqr7yxkg2x9ph9silds2"; type = "gem"; }; version = "0.14.0"; }; loofah = { - dependencies = ["crass" "nokogiri"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; version = "2.22.0"; }; mail = { - dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; version = "2.8.1"; }; marcel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190n2mk8m1l708kr88fh6mip9sdsh339d2s6sgrik3sbnvz4jmhd"; type = "gem"; }; version = "1.0.4"; }; mario-redis-lock = { - dependencies = ["redis"]; - groups = ["default"]; - platforms = []; + dependencies = [ "redis" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v9wdjcjqzpns2migxp4a5b4w82mipi0fwihbqz3q2qj2qm7wc17"; type = "gem"; }; version = "1.2.1"; }; matrix = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; md-paperclip-azure = { - dependencies = ["addressable" "azure-storage-blob" "hashie"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "azure-storage-blob" + "hashie" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hb1a06x3i8zrhl715jf46ha8r4iy0srcpdhnmp9l14qnnhzn0l5"; type = "gem"; }; version = "2.2.0"; }; memory_profiler = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y58ba08n4lx123c0hjcc752fc4x802mjy39qj1hq50ak3vpv8br"; type = "gem"; }; version = "1.1.0"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1"; type = "gem"; }; version = "3.5.2"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vdgz66z8kgw9xrwvrzrcjb5dary9k9hwm0pkk5fq6f5h6i73zds"; type = "gem"; }; version = "3.2024.0820"; }; mini_mime = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; mini_portile2 = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; msgpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr"; type = "gem"; }; version = "1.7.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; type = "gem"; }; version = "2.4.1"; }; mutex_m = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; net-http = { - dependencies = ["uri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; version = "0.4.1"; }; net-http-persistent = { - dependencies = ["connection_pool"]; - groups = ["default"]; - platforms = []; + dependencies = [ "connection_pool" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03"; type = "gem"; }; version = "4.0.2"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gdmhc6nh8cdq2hdlqyrmnl2pdmvab9j7s6fpfvq5kyga0fi4s74"; type = "gem"; }; version = "0.4.15"; }; net-ldap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g9gz39bs2iy4ky4fhjphimqd9m9wdsaz50anxgwg3yjrff3famy"; type = "gem"; }; version = "0.19.0"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "net-protocol" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "timeout" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "net-protocol" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; version = "0.5.0"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal"; type = "gem"; }; version = "2.7.3"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; oj = { - dependencies = ["bigdecimal" "ostruct"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "ostruct" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1k2skb0n7mf2azznnbsa6irwghdxlmnhdxv9qs6jqg3gd0k2n4zx"; type = "gem"; }; version = "3.16.6"; }; omniauth = { - dependencies = ["hashie" "rack" "rack-protection"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hashie" + "rack" + "rack-protection" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1km0wqx9pj609jidvrqfsvzbzfgdnlpdnv7i7xfqm3wb55vk5w6y"; type = "gem"; }; version = "2.1.2"; }; omniauth-cas = { - dependencies = ["addressable" "nokogiri" "omniauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "nokogiri" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13z686dmkdssm4d5b0k45ydavhjrzcaqzyqxvvmaqn3a0vc6klbs"; type = "gem"; }; version = "3.0.0"; }; omniauth-rails_csrf_protection = { - dependencies = ["actionpack" "omniauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q2zvkw34vk1vyhn5kp30783w1wzam9i9g5ygsdjn2gz59kzsw0i"; type = "gem"; }; version = "1.0.2"; }; omniauth-saml = { - dependencies = ["omniauth" "ruby-saml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "ruby-saml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00nn24s74miy7p65y8lwpjfwgcn7fwld61f9ghngal4asgw6pfwa"; type = "gem"; }; version = "2.2.1"; }; omniauth_openid_connect = { - dependencies = ["omniauth" "openid_connect"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "openid_connect" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08yl0x203k6nrshc70zawfqh79ap1c3fyka9zwwy61cvn7sih4sz"; type = "gem"; }; version = "0.6.1"; }; openid_connect = { - dependencies = ["activemodel" "attr_required" "json-jwt" "net-smtp" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "attr_required" + "json-jwt" + "net-smtp" + "rack-oauth2" + "swd" + "tzinfo" + "validate_email" + "validate_url" + "webfinger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1k9kdivp45v6vhzdrnl5fzhd378gjj2hl4w9bazbqnfm15rsnzc8"; type = "gem"; }; version = "1.4.2"; }; openssl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw"; type = "gem"; }; version = "3.2.0"; }; openssl-signature_algorithm = { - dependencies = ["openssl"]; - groups = ["default"]; - platforms = []; + dependencies = [ "openssl" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "103yjl68wqhl5kxaciir5jdnyi7iv9yckishdr52s5knh9g0pd53"; type = "gem"; }; version = "1.3.0"; }; opentelemetry-api = { - groups = ["default" "opentelemetry"]; - platforms = []; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dj0cqxz0fl2934pmq4pvnb4wpapjfcsjnzb8vll08bcspjdwcx7"; type = "gem"; }; version = "1.4.0"; }; opentelemetry-common = { - dependencies = ["opentelemetry-api"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "opentelemetry-api" ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "160ws06d8mzx3hwjss2i954h8r86dp3sw95k2wrbq81sb121m2gy"; type = "gem"; }; version = "0.21.0"; }; opentelemetry-exporter-otlp = { - dependencies = ["google-protobuf" "googleapis-common-protos-types" "opentelemetry-api" "opentelemetry-common" "opentelemetry-sdk" "opentelemetry-semantic_conventions"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "google-protobuf" + "googleapis-common-protos-types" + "opentelemetry-api" + "opentelemetry-common" + "opentelemetry-sdk" + "opentelemetry-semantic_conventions" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yl10v1vvb9krvvks0si5nbjpknz8lcbbcryqkf2g0db3kha072d"; type = "gem"; }; version = "0.29.0"; }; opentelemetry-helpers-sql-obfuscation = { - dependencies = ["opentelemetry-common"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "opentelemetry-common" ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v44n3lgkclnfjg9iz5jaay7fkcqvb35jrkm2b68fr2cyy778mnz"; type = "gem"; }; version = "0.2.0"; }; opentelemetry-instrumentation-action_mailer = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-active_support" + "opentelemetry-instrumentation-base" + ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1afibmwprdiqnkin7lb6zdxng36rqa7qbl5fl9wx0lchpc039zjj"; type = "gem"; }; version = "0.1.0"; }; opentelemetry-instrumentation-action_pack = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base" "opentelemetry-instrumentation-rack"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + "opentelemetry-instrumentation-rack" + ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16nbkayp8jb2zkqj2rmqd4d1mz4wdf0zg6jx8b0vzkf9mxr89py5"; type = "gem"; }; version = "0.9.0"; }; opentelemetry-instrumentation-action_view = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-active_support" + "opentelemetry-instrumentation-base" + ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17qild0js6rgv95rphhs19jhd6ixspv1qvpijchqxmxg8waxmwih"; type = "gem"; }; version = "0.7.2"; }; opentelemetry-instrumentation-active_job = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a5afx39bf0pzi0w75ic8zs8447i96993h056ww4vr23zl585f2x"; type = "gem"; }; version = "0.7.7"; }; opentelemetry-instrumentation-active_model_serializers = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yw98f8z6k4c8ns7p8ik2dc68p4vbi12xnavzw0vqhlnny4nx0n7"; type = "gem"; }; version = "0.20.2"; }; opentelemetry-instrumentation-active_record = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vr690556iaycwdipr962k3pfv97a2sgv4b6f6jwm9hg3mqfqcpg"; type = "gem"; }; version = "0.7.3"; }; opentelemetry-instrumentation-active_support = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q07nn9ipq2yd7xjj24hh00cbvlda269k1l0xfkc8d8iw8mixrsg"; type = "gem"; }; version = "0.6.0"; }; opentelemetry-instrumentation-base = { - dependencies = ["opentelemetry-api" "opentelemetry-common" "opentelemetry-registry"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-common" + "opentelemetry-registry" + ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0psjpqigi7k0fky1kd54jzf9r779vh2c86ngjppn7ifmnh4n3r9y"; type = "gem"; }; version = "0.22.6"; }; opentelemetry-instrumentation-concurrent_ruby = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1khlhzwb37mqnzr1vr49ljhi4bplmq9w8ndm0k8xbfsr8h8wivq4"; type = "gem"; }; version = "0.21.4"; }; opentelemetry-instrumentation-excon = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14g6dvk31kz9v9qbr2w6ggxk96v3kaadm8wvnw3qsrsc4pd9ycns"; type = "gem"; }; version = "0.22.4"; }; opentelemetry-instrumentation-faraday = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0np6wnckn12df6mwcr695fvjy3x2s6541ywr7ahw8a8dszs0qjsh"; type = "gem"; }; version = "0.24.6"; }; opentelemetry-instrumentation-http = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05mrlg8msp59bagpc18ycr9333760kqp780gw8fgqn1798dl02qr"; type = "gem"; }; version = "0.23.4"; }; opentelemetry-instrumentation-http_client = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0g6f5zv0bq585ppgzhm6acrpkz32j1h7zyrcy1r8n3ha41daip1z"; type = "gem"; }; version = "0.22.7"; }; opentelemetry-instrumentation-net_http = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l26f8sqsjjcc72a5xr9as3gibm4sgj8n004y15i5vbvdgzjfx60"; type = "gem"; }; version = "0.22.7"; }; opentelemetry-instrumentation-pg = { - dependencies = ["opentelemetry-api" "opentelemetry-helpers-sql-obfuscation" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-helpers-sql-obfuscation" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lgkjp0h0hf51n6afgafqaswvm06ybsvj3yf7dxxkzjpnzgxvjvg"; type = "gem"; }; version = "0.29.0"; }; opentelemetry-instrumentation-rack = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dmfxcc2xz2qa4zp0sks5zrqcfr4fbpbc9xdgvcv8ys0ipf7pwn0"; type = "gem"; }; version = "0.24.6"; }; opentelemetry-instrumentation-rails = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-action_mailer" "opentelemetry-instrumentation-action_pack" "opentelemetry-instrumentation-action_view" "opentelemetry-instrumentation-active_job" "opentelemetry-instrumentation-active_record" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-action_mailer" + "opentelemetry-instrumentation-action_pack" + "opentelemetry-instrumentation-action_view" + "opentelemetry-instrumentation-active_job" + "opentelemetry-instrumentation-active_record" + "opentelemetry-instrumentation-active_support" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12k4s1k9wa257bqfny33byscb4ai86jw4q6ygrzsj3iv2bij07w9"; type = "gem"; }; version = "0.31.2"; }; opentelemetry-instrumentation-redis = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qrgnk2x64sks9gqb7fycfa6sass6ddqzh5dms4hdbz1bzag581f"; type = "gem"; }; version = "0.25.7"; }; opentelemetry-instrumentation-sidekiq = { - dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-instrumentation-base" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfzw1avv52idxvq02y95g3byxsswccck78zch5hmnnzvp5f59nn"; type = "gem"; }; version = "0.25.7"; }; opentelemetry-registry = { - dependencies = ["opentelemetry-api"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "opentelemetry-api" ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pw87n9vpv40hf7f6gyl2vvbl11hzdkv4psbbv3x23jvccs8593k"; type = "gem"; }; version = "0.3.1"; }; opentelemetry-sdk = { - dependencies = ["opentelemetry-api" "opentelemetry-common" "opentelemetry-registry" "opentelemetry-semantic_conventions"]; - groups = ["opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "opentelemetry-api" + "opentelemetry-common" + "opentelemetry-registry" + "opentelemetry-semantic_conventions" + ]; + groups = [ "opentelemetry" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0div7n5wac7x1l9fwdpb3bllw18cns93c7xccy27r4gmvv02f46s"; type = "gem"; }; version = "1.5.0"; }; opentelemetry-semantic_conventions = { - dependencies = ["opentelemetry-api"]; - groups = ["default" "opentelemetry"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "opentelemetry-api" ]; + groups = [ + "default" + "opentelemetry" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10anxw736pg85nw8vb11xnr5faq7qj8a1d8c62qbpjs6m0izi77y"; type = "gem"; }; version = "1.10.1"; }; orm_adapter = { - groups = ["default" "pam_authentication"]; - platforms = []; + groups = [ + "default" + "pam_authentication" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; type = "gem"; }; version = "0.5.0"; }; ostruct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11dsv71gfbhy92yzj3xkckjzdai2bsz5a4fydgimv62dkz4kc5rv"; type = "gem"; }; version = "0.6.0"; }; ox = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0w9gavjrvciip497hpdjpcs2c18vf6cgmlj696ynpaqv96804glr"; type = "gem"; }; version = "2.14.18"; }; parallel = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq"; type = "gem"; }; version = "1.26.3"; }; parser = { - dependencies = ["ast" "racc"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ast" + "racc" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cqs31cyg2zp8yx2zzm3zkih0j93q870wasbviy2w343nxqvn3pk"; type = "gem"; }; version = "3.3.5.0"; }; parslet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01pnw6ymz6nynklqvqxs4bcai25kcvnd5x4id9z3vd1rbmlk0lfl"; type = "gem"; }; version = "2.0.0"; }; pastel = { - dependencies = ["tty-color"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-color" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8"; type = "gem"; }; version = "0.8.0"; }; pg = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dsgcmzc55w7i9cpghfkzhmiskzndvp1vijd8c5ryv8xvlwikmzg"; type = "gem"; }; version = "1.5.8"; }; pghero = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "028icy2wr33a5wbh2szar1mf0syh42p3szd4bfxl1zwrby3cpnfa"; type = "gem"; }; version = "3.6.0"; }; premailer = { - dependencies = ["addressable" "css_parser" "htmlentities"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "css_parser" + "htmlentities" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ryivdnij1990hcqqmq4s0x1vjvfl0awjc9b91f8af17v2639qhg"; type = "gem"; }; version = "1.27.0"; }; premailer-rails = { - dependencies = ["actionmailer" "net-smtp" "premailer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionmailer" + "net-smtp" + "premailer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0004f73kgrglida336fqkgx906m6n05nnfc17mypzg5rc78iaf61"; type = "gem"; }; version = "1.12.0"; }; propshaft = { - dependencies = ["actionpack" "activesupport" "rack" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "rack" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sqg0xf46xd47zdpm8d12kfnwl0y5jb2hj10imzb3bk6mwgkd2fk"; type = "gem"; }; version = "1.1.0"; }; psych = { - dependencies = ["stringio"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "stringio" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; type = "gem"; }; version = "5.1.2"; }; public_suffix = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puma = { - dependencies = ["nio4r"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gml1rixrfb0naciq3mrnqkpcvm9ahgps1c04hzxh4b801f69914"; type = "gem"; }; version = "6.4.3"; }; pundit = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wkm850z17gy5gph5lbmaz62wx7nvkj9r690017w10phkmxd5rj3"; type = "gem"; }; version = "2.4.0"; }; raabro = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10m8bln9d00dwzjil1k42i5r7l82x25ysbi45fwyv4932zsrzynl"; type = "gem"; }; version = "1.4.0"; }; racc = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rack = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx"; type = "gem"; }; version = "2.2.9"; }; rack-attack = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z6pj5vjgl6swq7a33gssf795k958mss8gpmdb4v4cydcs7px91w"; type = "gem"; }; version = "6.7.0"; }; rack-cors = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06ysmn14pdf2wyr7agm0qvvr9pzcgyf39w4yvk2n05w9k4alwpa1"; type = "gem"; }; version = "2.0.2"; }; rack-oauth2 = { - dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "attr_required" + "httpclient" + "json-jwt" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1fknwsxz4429w1hndl6y30cmm2n34wmmaaj2hhp6jrm8ssfsfwjf"; type = "gem"; }; version = "1.21.3"; }; rack-protection = { - dependencies = ["base64" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; version = "3.2.0"; }; rack-proxy = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12jw7401j543fj8cc83lmw72d8k6bxvkp9rvbifi88hh01blnsj4"; type = "gem"; }; version = "0.7.7"; }; rack-session = { - dependencies = ["rack"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0"; type = "gem"; }; version = "1.0.2"; }; rack-test = { - dependencies = ["rack"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"; type = "gem"; }; version = "2.1.0"; }; rackup = { - dependencies = ["rack" "webrick"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "webrick" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9"; type = "gem"; }; version = "1.0.0"; }; rails = { - dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actioncable" + "actionmailbox" + "actionmailer" + "actionpack" + "actiontext" + "actionview" + "activejob" + "activemodel" + "activerecord" + "activestorage" + "activesupport" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fa7maxd1ydbnws0fym43pv8j2c6k5dkg0z0fkq31j8jr1aqk7ja"; type = "gem"; }; version = "7.1.4.1"; }; rails-controller-testing = { - dependencies = ["actionpack" "actionview" "activesupport"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "actionview" + "activesupport" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "151f303jcvs8s149mhx2g5mn67487x0blrf9dzl76q1nb7dlh53l"; type = "gem"; }; version = "1.0.5"; }; rails-dom-testing = { - dependencies = ["activesupport" "minitest" "nokogiri"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "minitest" + "nokogiri" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; version = "2.2.0"; }; rails-html-sanitizer = { - dependencies = ["loofah" "nokogiri"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "loofah" + "nokogiri" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"; type = "gem"; }; version = "1.6.0"; }; rails-i18n = { - dependencies = ["i18n" "railties"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "i18n" + "railties" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s8kvic2ia34ngssz6h15wqj0k3wwblhyh0f9v0j3gy7ly0dp161"; type = "gem"; }; version = "7.0.9"; }; railties = { - dependencies = ["actionpack" "activesupport" "irb" "rackup" "rake" "thor" "zeitwerk"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "irb" + "rackup" + "rake" + "thor" + "zeitwerk" + ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ypihpilhxdz5p3sb5g37jn2sbfjhf2ydkxj097kkn7ri7a7702x"; type = "gem"; }; version = "7.1.4.1"; }; rainbow = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; rake = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; rdf = { - dependencies = ["bcp47_spec" "bigdecimal" "link_header"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bcp47_spec" + "bigdecimal" + "link_header" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mlalmbj1wkwvjha92f7v91v0pbjar9gdb2ddxdyqd24zcifn3ln"; type = "gem"; }; version = "3.3.2"; }; rdf-normalize = { - dependencies = ["rdf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rdf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1glyhg7lmzbq1w7bvvf84g7kvqxcn0mw3gsh1f8w4qfvvnbl8dwj"; type = "gem"; }; version = "0.7.0"; }; rdoc = { - dependencies = ["psych"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "psych" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi"; type = "gem"; }; version = "6.7.0"; }; redcarpet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; type = "gem"; }; version = "3.6.0"; }; redis = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fikjg6j12ka6hh36dxzhfkpqqmilzjfzcdf59iwkzsgd63f0ziq"; type = "gem"; }; version = "4.8.1"; }; redis-namespace = { - dependencies = ["redis"]; - groups = ["default"]; - platforms = []; + dependencies = [ "redis" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f92i9cwlp6xj6fyn7qn4qsaqvxfw4wqvayll7gbd26qnai1l6p9"; type = "gem"; }; version = "1.11.0"; }; redlock = { - dependencies = ["redis"]; - groups = ["default"]; - platforms = []; + dependencies = [ "redis" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xvjwfzq7rqj4k311kidwmv5app3i7glz4miys6ixqy6c8yylz3c"; type = "gem"; }; version = "1.3.2"; }; regexp_parser = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ik40vcv7mqigsfpqpca36hpmnx0536xa825ai5qlkv3mmkyf9ss"; type = "gem"; }; version = "2.9.2"; }; reline = { - dependencies = ["io-console"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "io-console" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rl1jmxs7pay58l7lkxkrn6nkdpk52k8rvnfwqsd1swjlxlwjq0n"; type = "gem"; }; version = "0.5.10"; }; request_store = { - dependencies = ["rack"]; - groups = ["default" "production"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "production" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0kd4w7aa0sbk59b19s39pwhd636r7fjamrqalixsw5d53hs4sb1d"; type = "gem"; }; version = "1.6.0"; }; responders = { - dependencies = ["actionpack" "railties"]; - groups = ["default" "pam_authentication"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "railties" + ]; + groups = [ + "default" + "pam_authentication" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06ilkbbwvc8d0vppf8ywn1f79ypyymlb9krrhqv4g0q215zaiwlj"; type = "gem"; }; version = "3.1.1"; }; rexml = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rotp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m"; type = "gem"; }; version = "6.3.0"; }; rouge = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy"; type = "gem"; }; version = "4.3.0"; }; rpam2 = { - groups = ["default" "pam_authentication"]; - platforms = []; + groups = [ + "default" + "pam_authentication" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zvli3s4z1hf2l7gyfickm5i3afjrnycc3ihbiax6ji6arpbyf33"; type = "gem"; }; version = "4.0.2"; }; rqrcode = { - dependencies = ["chunky_png" "rqrcode_core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "chunky_png" + "rqrcode_core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hggzz8i1l62pkkiybhiqv6ypxw7q844sddrrbbfczjcnj5sivi3"; type = "gem"; }; version = "2.2.0"; }; rqrcode_core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg"; type = "gem"; }; version = "1.2.0"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; type = "gem"; }; version = "3.13.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s688wfw77fjldzayvczg8bgwcgh6bh552dw7qcj1rhjk3r4zalx"; type = "gem"; }; version = "3.13.1"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nm4qx9bgfzwfc1q0l3sj50vf88q1mbwkkqndbzc08wrnd5bjpsn"; type = "gem"; }; version = "3.13.2"; }; rspec-github = { - dependencies = ["rspec-core"]; - groups = ["test"]; - platforms = []; + dependencies = [ "rspec-core" ]; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kqjmd85v2fpb06d0rx43dc51f0igc1gmm8y3nz0wvmy7zg02njm"; type = "gem"; }; version = "2.4.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0f3vgp43hajw716vmgjv6f4ar6f97zf50snny6y3fy9kkj4qjw88"; type = "gem"; }; version = "3.13.1"; }; rspec-rails = { - dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "railties" + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "rspec-support" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ycjggcmzbgrfjk04v26b43c3fj5jq2qic911qk7585wvav2qaxd"; type = "gem"; }; version = "7.0.1"; }; rspec-sidekiq = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks" "sidekiq"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "sidekiq" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08sbi3cdh6pxj0mj34vzr7675rb4n2r2q5yxlgs0w9xnm5c0jpdx"; type = "gem"; }; version = "5.0.0"; }; rspec-support = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8"; type = "gem"; }; version = "3.13.1"; }; rubocop = { - dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "json" + "language_server-protocol" + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rsyxrl647bz49gpa4flh8igg6wy7qxyh2jrp01x0kqnn5iw4y86"; type = "gem"; }; version = "1.66.1"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "parser" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03zywfpm4540q6hw8srhi8pzp0gg51w65ir8jkaw58vk3j31w820"; type = "gem"; }; version = "1.32.3"; }; rubocop-capybara = { - dependencies = ["rubocop"]; - groups = ["development"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aw0n8jwhsr39r9q2k90xjmcz8ai2k7xx2a87ld0iixnv3ylw9jx"; type = "gem"; }; version = "2.21.0"; }; rubocop-performance = { - dependencies = ["rubocop" "rubocop-ast"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rubocop" + "rubocop-ast" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yd616imfjvlpwsk7lw5kq9h4iz6qkmf10xlaib6b47fy5x77ncy"; type = "gem"; }; version = "1.22.1"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rack" + "rubocop" + "rubocop-ast" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bc4xpyx0gldjdmbl9aaqav5bjiqfc2zdw7k2r1zblmgsq4ilmpm"; type = "gem"; }; version = "2.26.2"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["development"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03vyjxs5rzrsn5graljffgzy1fgbyn99w5fz69y243dhn6gy5a66"; type = "gem"; }; version = "3.0.5"; }; rubocop-rspec_rails = { - dependencies = ["rubocop" "rubocop-rspec"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rubocop" + "rubocop-rspec" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ijc1kw81884k0wjq1sgwaxa854n1fdddscp4fnzfzlx7zl150c8"; type = "gem"; }; version = "2.30.0"; }; ruby-prof = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hnalxnvli6248g34n0bj8p3v35vpabak34qjg778bbaavbqg5h5"; type = "gem"; }; version = "1.7.0"; }; ruby-progressbar = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; ruby-saml = { - dependencies = ["nokogiri" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nokogiri" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1adq06m684gnpjp6qyb8shgj8jjy2npcfg7y6mg2ab9ilfdq6684"; type = "gem"; }; version = "1.17.0"; }; ruby-vips = { - dependencies = ["ffi" "logger"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nyxwib3y2fc1lciaac0s03y3i915kyfq1kn9m19hyl5yblyhnxg"; type = "gem"; }; version = "2.2.2"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyzip = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; rufus-scheduler = { - dependencies = ["fugit"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fugit" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14lr8c2sswn0sisvrfi4448pmr34za279k3zlxgh581rl1y0gjjz"; type = "gem"; }; version = "3.9.1"; }; safety_net_attestation = { - dependencies = ["jwt"]; - groups = ["default"]; - platforms = []; + dependencies = [ "jwt" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1khq0y5w7lf2b9a220298hphf3pakd216jc9a4x4a9pdwxs2vgln"; type = "gem"; }; version = "0.4.0"; }; sanitize = { - dependencies = ["crass" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lj1jjxn1znxmaf6jnngfrz26rw85smxb69m4jl6a9yq6gwyab54"; type = "gem"; }; version = "6.1.3"; }; scenic = { - dependencies = ["activerecord" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0w0dafg0gz3snm30247wwai0cy3j235ynwx2karyh05ayfqhm4ii"; type = "gem"; }; version = "1.8.0"; }; selenium-webdriver = { - dependencies = ["base64" "logger" "rexml" "rubyzip" "websocket"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "logger" + "rexml" + "rubyzip" + "websocket" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1md0sixm8dq8a7riv50x4q1z273q47b5jvcbv5hxympxn3ran4by"; type = "gem"; }; version = "4.25.0"; }; semantic_range = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dlp97vg95plrsaaqj7x8l7z9vsjbhnqk4rw1l30gy26lmxpfrih"; type = "gem"; }; version = "3.0.0"; }; shoulda-matchers = { - dependencies = ["activesupport"]; - groups = ["test"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c082vpfdf3865xq6xayxw2hwqswhnc9g030p1gi4hmk9dzvnmch"; type = "gem"; }; version = "6.4.0"; }; sidekiq = { - dependencies = ["connection_pool" "rack" "redis"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "connection_pool" + "rack" + "redis" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl"; type = "gem"; }; version = "6.5.12"; }; sidekiq-bulk = { - dependencies = ["sidekiq"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sidekiq" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08nyxzmgf742irafy3l4fj09d4s5pyvsh0dzlh8y4hl51rgkh4xv"; type = "gem"; }; version = "0.2.0"; }; sidekiq-scheduler = { - dependencies = ["rufus-scheduler" "sidekiq" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rufus-scheduler" + "sidekiq" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gnm98hdw1ndw0sryjimp4a0805yhwhjxg6njhz8xmdh5ycgljda"; type = "gem"; }; version = "5.0.6"; }; sidekiq-unique-jobs = { - dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "redis" "sidekiq" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "brpoplpush-redis_script" + "concurrent-ruby" + "redis" + "sidekiq" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1am17wfx023z1x9sxq90cyjarcmcwb95mi456mcf13m783r4n190"; type = "gem"; }; version = "7.1.33"; }; simple-navigation = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wc1rapwhqymcjfxmlgam4cvbyhnzfxada2damq88ij2p77pjz4q"; type = "gem"; }; version = "4.4.0"; }; simple_form = { - dependencies = ["actionpack" "activemodel"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activemodel" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0q3lwin7pk5rsxy2a663x6lph5arax9lqqk12fgwdy57i5ma749q"; type = "gem"; }; version = "5.3.1"; }; simplecov = { - dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "docile" + "simplecov-html" + "simplecov_json_formatter" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; type = "gem"; }; version = "0.22.0"; }; simplecov-html = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; type = "gem"; }; version = "0.12.3"; }; simplecov-lcov = { - groups = ["test"]; - platforms = []; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h8kswnshgb9zidvc88f4zjy4gflgz3854sx9wrw8ppgnwfg6581"; type = "gem"; }; version = "0.8.0"; }; simplecov_json_formatter = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"; type = "gem"; }; version = "0.1.4"; }; stackprof = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gdqqwnampxmc54nf6zfy9apkmkpdavzipvfssmjlhnrrjy8qh7f"; type = "gem"; }; version = "0.2.26"; }; stoplight = { - dependencies = ["redlock"]; - groups = ["default"]; - platforms = []; + dependencies = [ "redlock" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qq3z6mwbgj1q3b9hpxxi98i63jpqycbv13fqb8362ngk7cv06x8"; type = "gem"; }; version = "4.1.0"; }; stringio = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; version = "3.1.1"; }; strong_migrations = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07ahzxbmngwa5v2jhybaxm9zb5f15wgr19pdfk38xq838hlhyxc8"; type = "gem"; }; version = "2.0.0"; }; swd = { - dependencies = ["activesupport" "attr_required" "httpclient"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "attr_required" + "httpclient" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12b3q2sw42nnilfb51nlqdv07f31vdv2j595kd99asnkw4cjlf5w"; type = "gem"; }; version = "1.3.0"; }; sysexits = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr"; type = "gem"; }; version = "1.2.0"; }; temple = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fwia5hvc1xz9w7vprzjnsym3v9j5l9ggdvy70jixbvpcpz4acfz"; type = "gem"; }; version = "0.10.3"; }; terminal-table = { - dependencies = ["unicode-display_width"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "unicode-display_width" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr"; type = "gem"; }; version = "3.0.2"; }; terrapin = { - dependencies = ["climate_control"]; - groups = ["default"]; - platforms = []; + dependencies = [ "climate_control" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k968xzamd4y92zflrdilvc7wp8cj49n9lz34vnm95rg1j2gbqnx"; type = "gem"; }; version = "1.0.1"; }; test-prof = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mydvmcm4m5501322wyl3pwmc6i5ijvwh4kb242l085j88hiqp4n"; type = "gem"; }; version = "1.4.2"; }; thor = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; version = "1.3.2"; }; tilt = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; timeout = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; version = "0.4.1"; }; tpm-key_attestation = { - dependencies = ["bindata" "openssl" "openssl-signature_algorithm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bindata" + "openssl" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "18xc7hyasg5ja2i2vb23d9c5pd6rf316kzwqxqx5d8vbs2z1a4rw"; type = "gem"; }; version = "0.12.1"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g"; type = "gem"; }; version = "0.6.0"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-prompt = { - dependencies = ["pastel" "tty-reader"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "tty-reader" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw"; type = "gem"; }; version = "0.23.1"; }; tty-reader = { - dependencies = ["tty-cursor" "tty-screen" "wisper"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "tty-cursor" + "tty-screen" + "wisper" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6"; type = "gem"; }; version = "0.9.0"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; version = "0.8.2"; }; twitter-text = { - dependencies = ["idn-ruby" "unf"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "idn-ruby" + "unf" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dnmp0bj3l01nbb52zby2c7hrazcdwfg846knkrjdfl0yfmv793z"; type = "gem"; }; version = "3.1.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; tzinfo-data = { - dependencies = ["tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cw6xv9a525mcs7202bq9768aic1dwx353prm1bss4fp2nq24a3j"; type = "gem"; }; version = "1.2024.2"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; version = "0.0.9.1"; }; unicode-display_width = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; version = "2.5.0"; }; uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07ndgxyhzd02cg94s6rnfhkb9rwx9z72lzk368sa9j78wc9qnbfz"; type = "gem"; }; version = "0.13.1"; }; validate_email = { - dependencies = ["activemodel" "mail"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "mail" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; type = "gem"; }; version = "0.1.6"; }; validate_url = { - dependencies = ["activemodel" "public_suffix"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "public_suffix" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lblym140w5n88ijyfgcvkxvpfj8m6z00rxxf2ckmmhk0x61dzkj"; type = "gem"; }; version = "1.0.15"; }; warden = { - dependencies = ["rack"]; - groups = ["default" "pam_authentication"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "pam_authentication" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l7gl7vms023w4clg02pm4ky9j12la2vzsixi2xrv9imbn44ys26"; type = "gem"; }; version = "1.2.9"; }; webauthn = { - dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "tpm-key_attestation"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "android_key_attestation" + "awrence" + "bindata" + "cbor" + "cose" + "openssl" + "safety_net_attestation" + "tpm-key_attestation" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dwh2xrpwhbzyncb1wvgzz8fmln3r15iqz53c48q4swagpqzqig5"; type = "gem"; }; version = "3.1.0"; }; webfinger = { - dependencies = ["activesupport" "httpclient"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "httpclient" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "18jj50b44a471ig7hw1ax90wxaaz40acmrf6cm7m2iyshlffy53q"; type = "gem"; }; version = "1.2.0"; }; webmock = { - dependencies = ["addressable" "crack" "hashdiff"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "crack" + "hashdiff" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08kixkdp41dw39kqfxf2wp5m4z9b6fxg6yfa6xin0wy7dxzka0dy"; type = "gem"; }; version = "3.24.0"; }; webpacker = { - dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rack-proxy" + "railties" + "semantic_range" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fh4vijqiq1h7w28llk67y9csc0m4wkdivrsl4fsxg279v6j5z3i"; type = "gem"; }; version = "5.4.4"; }; webpush = { - dependencies = ["hkdf" "jwt"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "hkdf" + "jwt" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "f14a4d52e201128b1b00245d11b6de80d6cfdcd9"; @@ -3581,86 +4663,103 @@ version = "0.3.8"; }; webrick = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; type = "gem"; }; version = "1.8.2"; }; websocket = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; type = "gem"; }; version = "1.2.11"; }; websocket-driver = { - dependencies = ["websocket-extensions"]; - groups = ["default"]; - platforms = []; + dependencies = [ "websocket-extensions" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n"; type = "gem"; }; version = "0.7.6"; }; websocket-extensions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; type = "gem"; }; version = "0.1.5"; }; wisper = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf"; type = "gem"; }; version = "2.0.1"; }; xorcist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dbbiy8xlcfvn9ais37xfb5rci4liwakkmxzbkp72wmvlgcrf339"; type = "gem"; }; version = "1.1.3"; }; xpath = { - dependencies = ["nokogiri"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "nokogiri" ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; version = "3.2.0"; }; zeitwerk = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "pam_authentication" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10cpfdswql21vildiin0q7drg5zfzf2sahnk9hv3nyzzjqwj2bdx"; type = "gem"; }; version = "2.6.18"; }; } - diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix index 8a752ce7d22d5..9d2b79d74b413 100644 --- a/pkgs/servers/mastodon/source.nix +++ b/pkgs/servers/mastodon/source.nix @@ -1,18 +1,22 @@ # This file was generated by pkgs.mastodon.updateScript. -{ fetchFromGitHub, applyPatches, patches ? [] }: +{ + fetchFromGitHub, + applyPatches, + patches ? [ ], +}: let version = "4.3.2"; in -( - applyPatches { - src = fetchFromGitHub { - owner = "mastodon"; - repo = "mastodon"; - rev = "v${version}"; - hash = "sha256-A1sSUBtlztKFsZ3TY/c9CXFV8LhttRW2JmSU0QSVOIg="; - }; - patches = patches ++ []; - }) // { +(applyPatches { + src = fetchFromGitHub { + owner = "mastodon"; + repo = "mastodon"; + rev = "v${version}"; + hash = "sha256-A1sSUBtlztKFsZ3TY/c9CXFV8LhttRW2JmSU0QSVOIg="; + }; + patches = patches ++ [ ]; +}) +// { inherit version; yarnHash = "sha256-e5c04M6XplAgaVyldU5HmYMYtY3MAWs+a8Z/BGSyGBg="; } diff --git a/pkgs/servers/matrix-appservice-discord/default.nix b/pkgs/servers/matrix-appservice-discord/default.nix index 08240c4ecb4e3..0b139fb2b50be 100644 --- a/pkgs/servers/matrix-appservice-discord/default.nix +++ b/pkgs/servers/matrix-appservice-discord/default.nix @@ -1,20 +1,22 @@ -{ lib -, mkYarnPackage -, fetchYarnDeps -, fetchFromGitHub -, srcOnly -, makeWrapper -, removeReferencesTo -, python3 -, nodejs -, matrix-sdk-crypto-nodejs +{ + lib, + mkYarnPackage, + fetchYarnDeps, + fetchFromGitHub, + srcOnly, + makeWrapper, + removeReferencesTo, + python3, + nodejs, + matrix-sdk-crypto-nodejs, }: let pin = lib.importJSON ./pin.json; nodeSources = srcOnly nodejs; -in mkYarnPackage rec { +in +mkYarnPackage rec { pname = "matrix-appservice-discord"; inherit (pin) version; @@ -49,7 +51,7 @@ in mkYarnPackage rec { find build -type f -exec \ ${removeReferencesTo}/bin/remove-references-to \ -t "${nodeSources}" {} \; - ''; + ''; }; }; diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 1f56420e72c04..39a9f59ce2632 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, openssl -, libiconv -, cargo -, rustPlatform -, rustc -, nixosTests -, callPackage +{ + lib, + stdenv, + fetchFromGitHub, + python3, + openssl, + libiconv, + cargo, + rustPlatform, + rustc, + nixosTests, + callPackage, }: let @@ -56,52 +57,60 @@ python3.pkgs.buildPythonApplication rec { rustc ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; - propagatedBuildInputs = with python3.pkgs; [ - attrs - bcrypt - bleach - canonicaljson - cryptography - ijson - immutabledict - jinja2 - jsonschema - matrix-common - msgpack - python-multipart - netaddr - packaging - phonenumbers - pillow - prometheus-client - pyasn1 - pyasn1-modules - pydantic - pymacaroons - pyopenssl - pyyaml - service-identity - signedjson - sortedcontainers - treq - twisted - typing-extensions - unpaddedbase64 - ] - ++ twisted.optional-dependencies.tls; + propagatedBuildInputs = + with python3.pkgs; + [ + attrs + bcrypt + bleach + canonicaljson + cryptography + ijson + immutabledict + jinja2 + jsonschema + matrix-common + msgpack + python-multipart + netaddr + packaging + phonenumbers + pillow + prometheus-client + pyasn1 + pyasn1-modules + pydantic + pymacaroons + pyopenssl + pyyaml + service-identity + signedjson + sortedcontainers + treq + twisted + typing-extensions + unpaddedbase64 + ] + ++ twisted.optional-dependencies.tls; optional-dependencies = with python3.pkgs; { - postgres = if isPyPy then [ - psycopg2cffi - ] else [ - psycopg2 - ]; + postgres = + if isPyPy then + [ + psycopg2cffi + ] + else + [ + psycopg2 + ]; saml2 = [ pysaml2 ]; @@ -132,13 +141,15 @@ python3.pkgs.buildPythonApplication rec { ]; }; - nativeCheckInputs = [ - openssl - ] ++ (with python3.pkgs; [ - mock - parameterized - ]) - ++ lib.flatten (lib.attrValues optional-dependencies); + nativeCheckInputs = + [ + openssl + ] + ++ (with python3.pkgs; [ + mock + parameterized + ]) + ++ lib.flatten (lib.attrValues optional-dependencies); doCheck = !stdenv.hostPlatform.isDarwin; diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix index a2f75244b9b35..1407bda888867 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix +++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, matrix-sdk-crypto-nodejs -, mkYarnPackage -, nodejs +{ + lib, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + matrix-sdk-crypto-nodejs, + mkYarnPackage, + nodejs, }: let @@ -29,7 +30,8 @@ mkYarnPackage rec { sha256 = data.yarnHash; }; packageResolutions = { - "@matrix-org/matrix-sdk-crypto-nodejs" = "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; + "@matrix-org/matrix-sdk-crypto-nodejs" = + "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs"; }; nativeBuildInputs = [ makeWrapper ]; @@ -50,7 +52,10 @@ mkYarnPackage rec { meta = with lib; { description = "Matrix <--> Slack bridge"; mainProgram = "matrix-appservice-slack"; - maintainers = with maintainers; [ beardhatcode chvp ]; + maintainers = with maintainers; [ + beardhatcode + chvp + ]; license = licenses.asl20; }; } diff --git a/pkgs/servers/matrix-synapse/plugins/ldap3.nix b/pkgs/servers/matrix-synapse/plugins/ldap3.nix index 6a631f4f262f0..fa38d1f7b7726 100644 --- a/pkgs/servers/matrix-synapse/plugins/ldap3.nix +++ b/pkgs/servers/matrix-synapse/plugins/ldap3.nix @@ -1,14 +1,15 @@ -{ lib -, buildPythonPackage -, fetchpatch -, fetchPypi -, ldap3 -, ldaptor -, matrix-synapse-unwrapped -, pytestCheckHook -, service-identity -, setuptools -, twisted +{ + lib, + buildPythonPackage, + fetchpatch, + fetchPypi, + ldap3, + ldaptor, + matrix-synapse-unwrapped, + pytestCheckHook, + service-identity, + setuptools, + twisted, }: buildPythonPackage rec { @@ -31,9 +32,17 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools ]; - propagatedBuildInputs = [ service-identity ldap3 twisted ]; + propagatedBuildInputs = [ + service-identity + ldap3 + twisted + ]; - nativeCheckInputs = [ ldaptor matrix-synapse-unwrapped pytestCheckHook ]; + nativeCheckInputs = [ + ldaptor + matrix-synapse-unwrapped + pytestCheckHook + ]; pythonImportsCheck = [ "ldap_auth_provider" ]; diff --git a/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix b/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix index 0f7b3d7e4dd96..0aab990f3c22e 100644 --- a/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix +++ b/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, buildPythonPackage, fetchFromGitHub, matrix-synapse-unwrapped }: +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + matrix-synapse-unwrapped, +}: buildPythonPackage rec { pname = "matrix-synapse-mjolnir-antispam"; diff --git a/pkgs/servers/matrix-synapse/plugins/pam.nix b/pkgs/servers/matrix-synapse/plugins/pam.nix index a2f0324883c00..5f535a6be4d7f 100644 --- a/pkgs/servers/matrix-synapse/plugins/pam.nix +++ b/pkgs/servers/matrix-synapse/plugins/pam.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchFromGitHub, twisted, python-pam }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + twisted, + python-pam, +}: buildPythonPackage rec { pname = "matrix-synapse-pam"; @@ -11,7 +17,10 @@ buildPythonPackage rec { sha256 = "0jgz49cwiyih5cg3hr4byva04zjnq8aj7rima9874la9fc5sd2wf"; }; - propagatedBuildInputs = [ twisted python-pam ]; + propagatedBuildInputs = [ + twisted + python-pam + ]; # has no tests doCheck = false; diff --git a/pkgs/servers/matrix-synapse/plugins/rendezvous.nix b/pkgs/servers/matrix-synapse/plugins/rendezvous.nix index 82874d3b3bd1a..921a62adf9cb3 100644 --- a/pkgs/servers/matrix-synapse/plugins/rendezvous.nix +++ b/pkgs/servers/matrix-synapse/plugins/rendezvous.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchFromGitHub, rustPlatform, setuptools-rust }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + rustPlatform, + setuptools-rust, +}: buildPythonPackage rec { pname = "matrix-http-rendezvous-synapse"; @@ -22,16 +28,17 @@ buildPythonPackage rec { hash = "sha256-TyxDq6YxZUArRj5gpjB1afDQgtUlCVer3Uhq6YKvVYM="; }; - nativeBuildInputs = [ - setuptools-rust - ] ++ (with rustPlatform; [ - cargoSetupHook - maturinBuildHook - ]); + nativeBuildInputs = + [ + setuptools-rust + ] + ++ (with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]); buildAndTestSubdir = "synapse"; - pythonImportsCheck = [ "matrix_http_rendezvous_synapse" ]; meta = with lib; { diff --git a/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix b/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix index ba85de7aba2f1..82a8d0046b3e9 100644 --- a/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix +++ b/pkgs/servers/matrix-synapse/plugins/s3-storage-provider.nix @@ -1,13 +1,14 @@ -{ lib -, boto3 -, buildPythonPackage -, fetchFromGitHub -, humanize -, matrix-synapse-unwrapped -, pythonOlder -, tqdm -, twisted -, psycopg2 +{ + lib, + boto3, + buildPythonPackage, + fetchFromGitHub, + humanize, + matrix-synapse-unwrapped, + pythonOlder, + tqdm, + twisted, + psycopg2, }: buildPythonPackage rec { @@ -33,15 +34,16 @@ buildPythonPackage rec { matrix-synapse-unwrapped ]; - propagatedBuildInputs = [ - boto3 - humanize - tqdm - twisted - psycopg2 - ] - # For the s3_media_upload script - ++ matrix-synapse-unwrapped.propagatedBuildInputs; + propagatedBuildInputs = + [ + boto3 + humanize + tqdm + twisted + psycopg2 + ] + # For the s3_media_upload script + ++ matrix-synapse-unwrapped.propagatedBuildInputs; # Tests need network access doCheck = false; diff --git a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix index b5be02a4b21af..d2455a0009b24 100644 --- a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix +++ b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchFromGitHub, matrix-synapse-unwrapped, twisted }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + matrix-synapse-unwrapped, + twisted, +}: buildPythonPackage rec { pname = "matrix-synapse-shared-secret-auth"; diff --git a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix index de1cc21cf47df..67c8f7497834c 100644 --- a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix +++ b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, python3, fetchFromGitHub, pkg-config, openssl }: +{ + lib, + stdenv, + rustPlatform, + python3, + fetchFromGitHub, + pkg-config, + openssl, +}: rustPlatform.buildRustPackage rec { pname = "rust-synapse-compress-state"; @@ -25,7 +33,10 @@ rustPlatform.buildRustPackage rec { # Needed to get openssl-sys to use pkgconfig. env.OPENSSL_NO_VENDOR = 1; - nativeBuildInputs = [ python3 pkg-config ]; + nativeBuildInputs = [ + python3 + pkg-config + ]; buildInputs = [ openssl ]; @@ -34,6 +45,9 @@ rustPlatform.buildRustPackage rec { description = "Tool to compress some state in a Synapse instance's database"; homepage = "https://github.com/matrix-org/rust-synapse-compress-state"; license = licenses.asl20; - maintainers = with maintainers; [ hexa maralorn ]; + maintainers = with maintainers; [ + hexa + maralorn + ]; }; } diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix index ab66d61c81647..bb932252c7712 100644 --- a/pkgs/servers/matrix-synapse/tools/synadm.nix +++ b/pkgs/servers/matrix-synapse/tools/synadm.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchPypi -, nix-update-script +{ + lib, + python3, + fetchPypi, + nix-update-script, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/servers/matrix-synapse/wrapper.nix b/pkgs/servers/matrix-synapse/wrapper.nix index a0b44e683a7e3..084816b1f3835 100644 --- a/pkgs/servers/matrix-synapse/wrapper.nix +++ b/pkgs/servers/matrix-synapse/wrapper.nix @@ -1,18 +1,23 @@ -{ lib -, stdenv -, makeWrapper -, matrix-synapse-unwrapped -, extras ? [ - "postgres" - "url-preview" - "user-search" - ] ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform matrix-synapse-unwrapped.python.pkgs.systemd) "systemd" -, plugins ? [ ] -, ... +{ + lib, + stdenv, + makeWrapper, + matrix-synapse-unwrapped, + extras ? + [ + "postgres" + "url-preview" + "user-search" + ] + ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform matrix-synapse-unwrapped.python.pkgs.systemd) "systemd", + plugins ? [ ], + ... }: let - extraPackages = lib.concatMap (extra: matrix-synapse-unwrapped.optional-dependencies.${extra}) (lib.unique extras); + extraPackages = lib.concatMap (extra: matrix-synapse-unwrapped.optional-dependencies.${extra}) ( + lib.unique extras + ); pythonEnv = matrix-synapse-unwrapped.python.buildEnv.override { extraLibs = extraPackages ++ plugins; diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix index 53bdb18c22ae8..e09c4a4be0225 100644 --- a/pkgs/servers/mautrix-telegram/default.nix +++ b/pkgs/servers/mautrix-telegram/default.nix @@ -1,8 +1,9 @@ -{ lib -, python3 -, fetchPypi -, fetchFromGitHub -, withE2BE ? true +{ + lib, + python3, + fetchPypi, + fetchFromGitHub, + withE2BE ? true, }: let @@ -37,38 +38,43 @@ python.pkgs.buildPythonPackage rec { patches = [ ./0001-Re-add-entrypoint.patch ]; - propagatedBuildInputs = with python.pkgs; ([ - ruamel-yaml - python-magic - commonmark - aiohttp - yarl - (mautrix.override { withOlm = withE2BE; }) - tulir-telethon - asyncpg - mako - setuptools - # speedups - cryptg - aiodns - brotli - # qr_login - pillow - qrcode - # formattednumbers - phonenumbers - # metrics - prometheus-client - # sqlite - aiosqlite - # proxy support - pysocks - ] ++ lib.optionals withE2BE [ - # e2be - python-olm - pycryptodome - unpaddedbase64 - ]); + propagatedBuildInputs = + with python.pkgs; + ( + [ + ruamel-yaml + python-magic + commonmark + aiohttp + yarl + (mautrix.override { withOlm = withE2BE; }) + tulir-telethon + asyncpg + mako + setuptools + # speedups + cryptg + aiodns + brotli + # qr_login + pillow + qrcode + # formattednumbers + phonenumbers + # metrics + prometheus-client + # sqlite + aiosqlite + # proxy support + pysocks + ] + ++ lib.optionals withE2BE [ + # e2be + python-olm + pycryptodome + unpaddedbase64 + ] + ); # has no tests doCheck = false; @@ -78,7 +84,11 @@ python.pkgs.buildPythonPackage rec { description = "Matrix-Telegram hybrid puppeting/relaybot bridge"; license = licenses.agpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ nyanloutre ma27 nickcao ]; + maintainers = with maintainers; [ + nyanloutre + ma27 + nickcao + ]; mainProgram = "mautrix-telegram"; }; } diff --git a/pkgs/servers/memos/default.nix b/pkgs/servers/memos/default.nix index c389245dc7426..1037aa4379d88 100644 --- a/pkgs/servers/memos/default.nix +++ b/pkgs/servers/memos/default.nix @@ -1,4 +1,11 @@ -{ fetchFromGitHub, buildGoModule, jq, buildNpmPackage, lib, makeWrapper }: +{ + fetchFromGitHub, + buildGoModule, + jq, + buildNpmPackage, + lib, + makeWrapper, +}: let version = "0.13.2"; diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix index 9af26fb2af303..1437c2e42536c 100644 --- a/pkgs/servers/minio/default.nix +++ b/pkgs/servers/minio/default.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: let # The web client verifies, that the server version is a valid datetime string: @@ -7,11 +12,15 @@ let # Example: # versionToTimestamp "2021-04-22T15-44-28Z" # => "2021-04-22T15:44:28Z" - versionToTimestamp = version: + versionToTimestamp = + version: let splitTS = builtins.elemAt (builtins.split "(.*)(T.*)" version) 1; in - builtins.concatStringsSep "" [ (builtins.elemAt splitTS 0) (builtins.replaceStrings [ "-" ] [ ":" ] (builtins.elemAt splitTS 1)) ]; + builtins.concatStringsSep "" [ + (builtins.elemAt splitTS 0) + (builtins.replaceStrings [ "-" ] [ ":" ] (builtins.elemAt splitTS 1)) + ]; # CopyrightYear will be printed to the CLI UI. # Example: @@ -40,14 +49,18 @@ buildGoModule rec { tags = [ "kqueue" ]; - ldflags = let t = "github.com/minio/minio/cmd"; in [ - "-s" - "-w" - "-X ${t}.Version=${versionToTimestamp version}" - "-X ${t}.CopyrightYear=${versionToYear version}" - "-X ${t}.ReleaseTag=RELEASE.${version}" - "-X ${t}.CommitID=${src.rev}" - ]; + ldflags = + let + t = "github.com/minio/minio/cmd"; + in + [ + "-s" + "-w" + "-X ${t}.Version=${versionToTimestamp version}" + "-X ${t}.CopyrightYear=${versionToYear version}" + "-X ${t}.ReleaseTag=RELEASE.${version}" + "-X ${t}.CommitID=${src.rev}" + ]; passthru.tests.minio = nixosTests.minio; diff --git a/pkgs/servers/minio/legacy_fs.nix b/pkgs/servers/minio/legacy_fs.nix index 2ba0f26ed4249..20998bfd22077 100644 --- a/pkgs/servers/minio/legacy_fs.nix +++ b/pkgs/servers/minio/legacy_fs.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: let # The web client verifies, that the server version is a valid datetime string: @@ -7,11 +12,15 @@ let # Example: # versionToTimestamp "2021-04-22T15-44-28Z" # => "2021-04-22T15:44:28Z" - versionToTimestamp = version: + versionToTimestamp = + version: let splitTS = builtins.elemAt (builtins.split "(.*)(T.*)" version) 1; in - builtins.concatStringsSep "" [ (builtins.elemAt splitTS 0) (builtins.replaceStrings [ "-" ] [ ":" ] (builtins.elemAt splitTS 1)) ]; + builtins.concatStringsSep "" [ + (builtins.elemAt splitTS 0) + (builtins.replaceStrings [ "-" ] [ ":" ] (builtins.elemAt splitTS 1)) + ]; in buildGoModule rec { pname = "minio"; @@ -34,9 +43,17 @@ buildGoModule rec { tags = [ "kqueue" ]; - ldflags = let t = "github.com/minio/minio/cmd"; in [ - "-s" "-w" "-X ${t}.Version=${versionToTimestamp version}" "-X ${t}.ReleaseTag=RELEASE.${version}" "-X ${t}.CommitID=${src.rev}" - ]; + ldflags = + let + t = "github.com/minio/minio/cmd"; + in + [ + "-s" + "-w" + "-X ${t}.Version=${versionToTimestamp version}" + "-X ${t}.ReleaseTag=RELEASE.${version}" + "-X ${t}.CommitID=${src.rev}" + ]; passthru.tests.minio = nixosTests.minio; diff --git a/pkgs/servers/misc/qremotecontrol-server/default.nix b/pkgs/servers/misc/qremotecontrol-server/default.nix index 104a2b876c9ba..02a044e5250ad 100644 --- a/pkgs/servers/misc/qremotecontrol-server/default.nix +++ b/pkgs/servers/misc/qremotecontrol-server/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchgit -, qmake -, wrapQtAppsHook -, qtbase -, xorg +{ + lib, + stdenv, + fetchgit, + qmake, + wrapQtAppsHook, + qtbase, + xorg, }: stdenv.mkDerivation { diff --git a/pkgs/servers/mobilizon/default.nix b/pkgs/servers/mobilizon/default.nix index e4a75a4c91ceb..a007a30f6f260 100644 --- a/pkgs/servers/mobilizon/default.nix +++ b/pkgs/servers/mobilizon/default.nix @@ -1,14 +1,15 @@ -{ lib -, callPackage -, writeShellScriptBin -, beamPackages -, mix2nix -, fetchFromGitHub -, git -, cmake -, nixosTests -, mobilizon-frontend -, ... +{ + lib, + callPackage, + writeShellScriptBin, + beamPackages, + mix2nix, + fetchFromGitHub, + git, + cmake, + nixosTests, + mobilizon-frontend, + ... }: let @@ -18,16 +19,22 @@ in mixRelease rec { inherit (common) pname version src; - nativeBuildInputs = [ git cmake ]; + nativeBuildInputs = [ + git + cmake + ]; mixNixDeps = import ./mix.nix { inherit beamPackages lib; - overrides = (final: prev: - (lib.mapAttrs - (_: value: value.override { + overrides = ( + final: prev: + (lib.mapAttrs ( + _: value: + value.override { appConfigPath = src + "/config"; - }) - prev) // { + } + ) prev) + // { fast_html = prev.fast_html.override { nativeBuildInputs = [ cmake ]; }; @@ -38,7 +45,8 @@ mixRelease rec { owner = "elixir-cldr"; repo = "cldr"; rev = "v${old.version}"; - sha256 = assert old.version == "2.37.5"; + sha256 = + assert old.version == "2.37.5"; "sha256-T5Qvuo+xPwpgBsqHNZYnTCA4loToeBn1LKTMsDcCdYs="; }; postInstall = '' @@ -60,7 +68,10 @@ mixRelease rec { rev = "6e143dcde0a2854c4f0d72816b7ecab696432779"; sha256 = "sha256-Da+/28SPZuUQBi8fQj31zmMvhMrYUaQIW4U4E+mRtMg="; }; - beamDeps = with final; [ httpoison jose ]; + beamDeps = with final; [ + httpoison + jose + ]; }; icalendar = buildMix rec { name = "icalendar"; @@ -71,7 +82,11 @@ mixRelease rec { rev = "1033d922c82a7223db0ec138e2316557b70ff49f"; sha256 = "sha256-N3bJZznNazLewHS4c2B7LP1lgxd1wev+EWVlQ7rOwfU="; }; - beamDeps = with final; [ mix_test_watch ex_doc timex ]; + beamDeps = with final; [ + mix_test_watch + ex_doc + timex + ]; }; rajska = buildMix rec { name = "rajska"; @@ -82,7 +97,14 @@ mixRelease rec { rev = "0c036448e261e8be6a512581c592fadf48982d84"; sha256 = "sha256-4pfply1vTAIT2Xvm3kONmrCK05xKfXFvcb8EKoSCXBE="; }; - beamDeps = with final; [ ex_doc credo absinthe excoveralls hammer mock ]; + beamDeps = with final; [ + ex_doc + credo + absinthe + excoveralls + hammer + mock + ]; }; exkismet = buildMix rec { name = "exkismet"; @@ -93,18 +115,24 @@ mixRelease rec { rev = "8b5485fde00fafbde20f315bec387a77f7358334"; sha256 = "sha256-ttgCWoBKU7VTjZJBhZNtqVF4kN7psBr/qOeR65MbTqw="; }; - beamDeps = with final; [ httpoison ex_doc credo doctor dialyxir ]; + beamDeps = with final; [ + httpoison + ex_doc + credo + doctor + dialyxir + ]; }; - }); + } + ); }; # Install the compiled js part - preBuild = - '' - cp -a "${mobilizon-frontend}/static" ./priv - chmod 770 -R ./priv - ''; + preBuild = '' + cp -a "${mobilizon-frontend}/static" ./priv + chmod 770 -R ./priv + ''; postBuild = '' mix phx.digest --no-deps-check @@ -124,6 +152,9 @@ mixRelease rec { description = "Mobilizon is an online tool to help manage your events, your profiles and your groups"; homepage = "https://joinmobilizon.org/"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ minijackson erictapen ]; + maintainers = with maintainers; [ + minijackson + erictapen + ]; }; } diff --git a/pkgs/servers/mobilizon/mix.nix b/pkgs/servers/mobilizon/mix.nix index ca33f819723ac..2df0969e90942 100644 --- a/pkgs/servers/mobilizon/mix.nix +++ b/pkgs/servers/mobilizon/mix.nix @@ -1,4 +1,8 @@ -{ lib, beamPackages, overrides ? (x: y: {}) }: +{ + lib, + beamPackages, + overrides ? (x: y: { }), +}: let buildRebar3 = lib.makeOverridable beamPackages.buildRebar3; @@ -7,2008 +11,2269 @@ let self = packages // (overrides self packages); - packages = with beamPackages; with self; { - absinthe = buildMix rec { - name = "absinthe"; - version = "1.7.6"; + packages = + with beamPackages; + with self; + { + absinthe = buildMix rec { + name = "absinthe"; + version = "1.7.6"; + + src = fetchHex { + pkg = "absinthe"; + version = "${version}"; + sha256 = "e7626951ca5eec627da960615b51009f3a774765406ff02722b1d818f17e5778"; + }; + + beamDeps = [ + dataloader + decimal + nimble_parsec + telemetry + ]; + }; + + absinthe_phoenix = buildMix rec { + name = "absinthe_phoenix"; + version = "2.0.2"; + + src = fetchHex { + pkg = "absinthe_phoenix"; + version = "${version}"; + sha256 = "d36918925c380dc7d2ed7d039c9a3b4182ec36723f7417a68745ade5aab22f8d"; + }; + + beamDeps = [ + absinthe + absinthe_plug + decimal + phoenix + phoenix_html + phoenix_pubsub + ]; + }; + + absinthe_plug = buildMix rec { + name = "absinthe_plug"; + version = "1.5.8"; + + src = fetchHex { + pkg = "absinthe_plug"; + version = "${version}"; + sha256 = "bbb04176647b735828861e7b2705465e53e2cf54ccf5a73ddd1ebd855f996e5a"; + }; + + beamDeps = [ + absinthe + plug + ]; + }; + + argon2_elixir = buildMix rec { + name = "argon2_elixir"; + version = "4.0.0"; - src = fetchHex { - pkg = "absinthe"; - version = "${version}"; - sha256 = "e7626951ca5eec627da960615b51009f3a774765406ff02722b1d818f17e5778"; - }; - - beamDeps = [ dataloader decimal nimble_parsec telemetry ]; - }; - - absinthe_phoenix = buildMix rec { - name = "absinthe_phoenix"; - version = "2.0.2"; - - src = fetchHex { - pkg = "absinthe_phoenix"; - version = "${version}"; - sha256 = "d36918925c380dc7d2ed7d039c9a3b4182ec36723f7417a68745ade5aab22f8d"; - }; + src = fetchHex { + pkg = "argon2_elixir"; + version = "${version}"; + sha256 = "f9da27cf060c9ea61b1bd47837a28d7e48a8f6fa13a745e252556c14f9132c7f"; + }; - beamDeps = [ absinthe absinthe_plug decimal phoenix phoenix_html phoenix_pubsub ]; - }; - - absinthe_plug = buildMix rec { - name = "absinthe_plug"; - version = "1.5.8"; - - src = fetchHex { - pkg = "absinthe_plug"; - version = "${version}"; - sha256 = "bbb04176647b735828861e7b2705465e53e2cf54ccf5a73ddd1ebd855f996e5a"; + beamDeps = [ + comeonin + elixir_make + ]; }; - beamDeps = [ absinthe plug ]; - }; - - argon2_elixir = buildMix rec { - name = "argon2_elixir"; - version = "4.0.0"; + atomex = buildMix rec { + name = "atomex"; + version = "0.5.1"; + + src = fetchHex { + pkg = "atomex"; + version = "${version}"; + sha256 = "6248891b5fcab8503982e090eedeeadb757a6311c2ef2e2998b874f7d319ab3f"; + }; - src = fetchHex { - pkg = "argon2_elixir"; - version = "${version}"; - sha256 = "f9da27cf060c9ea61b1bd47837a28d7e48a8f6fa13a745e252556c14f9132c7f"; + beamDeps = [ xml_builder ]; }; - beamDeps = [ comeonin elixir_make ]; - }; - - atomex = buildMix rec { - name = "atomex"; - version = "0.5.1"; - - src = fetchHex { - pkg = "atomex"; - version = "${version}"; - sha256 = "6248891b5fcab8503982e090eedeeadb757a6311c2ef2e2998b874f7d319ab3f"; - }; - - beamDeps = [ xml_builder ]; - }; - - bandit = buildMix rec { - name = "bandit"; - version = "1.2.3"; - - src = fetchHex { - pkg = "bandit"; - version = "${version}"; - sha256 = "3e29150245a9b5f56944434e5240966e75c917dad248f689ab589b32187a81af"; - }; - - beamDeps = [ hpax plug telemetry thousand_island websock ]; - }; - - bunt = buildMix rec { - name = "bunt"; - version = "1.0.0"; - - src = fetchHex { - pkg = "bunt"; - version = "${version}"; - sha256 = "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"; + bandit = buildMix rec { + name = "bandit"; + version = "1.2.3"; + + src = fetchHex { + pkg = "bandit"; + version = "${version}"; + sha256 = "3e29150245a9b5f56944434e5240966e75c917dad248f689ab589b32187a81af"; + }; + + beamDeps = [ + hpax + plug + telemetry + thousand_island + websock + ]; }; - beamDeps = []; - }; + bunt = buildMix rec { + name = "bunt"; + version = "1.0.0"; - cachex = buildMix rec { - name = "cachex"; - version = "3.6.0"; + src = fetchHex { + pkg = "bunt"; + version = "${version}"; + sha256 = "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"; + }; - src = fetchHex { - pkg = "cachex"; - version = "${version}"; - sha256 = "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"; + beamDeps = [ ]; }; - beamDeps = [ eternal jumper sleeplocks unsafe ]; - }; + cachex = buildMix rec { + name = "cachex"; + version = "3.6.0"; - castore = buildMix rec { - name = "castore"; - version = "1.0.5"; + src = fetchHex { + pkg = "cachex"; + version = "${version}"; + sha256 = "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"; + }; - src = fetchHex { - pkg = "castore"; - version = "${version}"; - sha256 = "8d7c597c3e4a64c395980882d4bca3cebb8d74197c590dc272cfd3b6a6310578"; + beamDeps = [ + eternal + jumper + sleeplocks + unsafe + ]; }; - beamDeps = []; - }; + castore = buildMix rec { + name = "castore"; + version = "1.0.5"; - certifi = buildRebar3 rec { - name = "certifi"; - version = "2.12.0"; + src = fetchHex { + pkg = "castore"; + version = "${version}"; + sha256 = "8d7c597c3e4a64c395980882d4bca3cebb8d74197c590dc272cfd3b6a6310578"; + }; - src = fetchHex { - pkg = "certifi"; - version = "${version}"; - sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"; + beamDeps = [ ]; }; - beamDeps = []; - }; + certifi = buildRebar3 rec { + name = "certifi"; + version = "2.12.0"; - cldr_utils = buildMix rec { - name = "cldr_utils"; - version = "2.24.2"; + src = fetchHex { + pkg = "certifi"; + version = "${version}"; + sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"; + }; - src = fetchHex { - pkg = "cldr_utils"; - version = "${version}"; - sha256 = "3362b838836a9f0fa309de09a7127e36e67310e797d556db92f71b548832c7cf"; + beamDeps = [ ]; }; - beamDeps = [ castore certifi decimal ]; - }; + cldr_utils = buildMix rec { + name = "cldr_utils"; + version = "2.24.2"; - codepagex = buildMix rec { - name = "codepagex"; - version = "0.1.6"; + src = fetchHex { + pkg = "cldr_utils"; + version = "${version}"; + sha256 = "3362b838836a9f0fa309de09a7127e36e67310e797d556db92f71b548832c7cf"; + }; - src = fetchHex { - pkg = "codepagex"; - version = "${version}"; - sha256 = "1521461097dde281edf084062f525a4edc6a5e49f4fd1f5ec41c9c4955d5bd59"; + beamDeps = [ + castore + certifi + decimal + ]; }; - beamDeps = []; - }; + codepagex = buildMix rec { + name = "codepagex"; + version = "0.1.6"; - combine = buildMix rec { - name = "combine"; - version = "0.10.0"; + src = fetchHex { + pkg = "codepagex"; + version = "${version}"; + sha256 = "1521461097dde281edf084062f525a4edc6a5e49f4fd1f5ec41c9c4955d5bd59"; + }; - src = fetchHex { - pkg = "combine"; - version = "${version}"; - sha256 = "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"; + beamDeps = [ ]; }; - beamDeps = []; - }; + combine = buildMix rec { + name = "combine"; + version = "0.10.0"; - comeonin = buildMix rec { - name = "comeonin"; - version = "5.4.0"; + src = fetchHex { + pkg = "combine"; + version = "${version}"; + sha256 = "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"; + }; - src = fetchHex { - pkg = "comeonin"; - version = "${version}"; - sha256 = "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"; + beamDeps = [ ]; }; - beamDeps = []; - }; + comeonin = buildMix rec { + name = "comeonin"; + version = "5.4.0"; - cors_plug = buildMix rec { - name = "cors_plug"; - version = "3.0.3"; + src = fetchHex { + pkg = "comeonin"; + version = "${version}"; + sha256 = "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"; + }; - src = fetchHex { - pkg = "cors_plug"; - version = "${version}"; - sha256 = "3f2d759e8c272ed3835fab2ef11b46bddab8c1ab9528167bd463b6452edf830d"; + beamDeps = [ ]; }; - beamDeps = [ plug ]; - }; + cors_plug = buildMix rec { + name = "cors_plug"; + version = "3.0.3"; - credo = buildMix rec { - name = "credo"; - version = "1.7.5"; + src = fetchHex { + pkg = "cors_plug"; + version = "${version}"; + sha256 = "3f2d759e8c272ed3835fab2ef11b46bddab8c1ab9528167bd463b6452edf830d"; + }; - src = fetchHex { - pkg = "credo"; - version = "${version}"; - sha256 = "f799e9b5cd1891577d8c773d245668aa74a2fcd15eb277f51a0131690ebfb3fd"; + beamDeps = [ plug ]; }; - beamDeps = [ bunt file_system jason ]; - }; + credo = buildMix rec { + name = "credo"; + version = "1.7.5"; - credo_code_climate = buildMix rec { - name = "credo_code_climate"; - version = "0.1.0"; + src = fetchHex { + pkg = "credo"; + version = "${version}"; + sha256 = "f799e9b5cd1891577d8c773d245668aa74a2fcd15eb277f51a0131690ebfb3fd"; + }; - src = fetchHex { - pkg = "credo_code_climate"; - version = "${version}"; - sha256 = "75529fe38056f4e229821d604758282838b8397c82e2c12e409fda16b16821ca"; + beamDeps = [ + bunt + file_system + jason + ]; }; - beamDeps = [ credo jason ]; - }; + credo_code_climate = buildMix rec { + name = "credo_code_climate"; + version = "0.1.0"; - dataloader = buildMix rec { - name = "dataloader"; - version = "2.0.0"; + src = fetchHex { + pkg = "credo_code_climate"; + version = "${version}"; + sha256 = "75529fe38056f4e229821d604758282838b8397c82e2c12e409fda16b16821ca"; + }; - src = fetchHex { - pkg = "dataloader"; - version = "${version}"; - sha256 = "09d61781b76ce216e395cdbc883ff00d00f46a503e215c22722dba82507dfef0"; + beamDeps = [ + credo + jason + ]; }; - beamDeps = [ ecto telemetry ]; - }; + dataloader = buildMix rec { + name = "dataloader"; + version = "2.0.0"; - db_connection = buildMix rec { - name = "db_connection"; - version = "2.6.0"; + src = fetchHex { + pkg = "dataloader"; + version = "${version}"; + sha256 = "09d61781b76ce216e395cdbc883ff00d00f46a503e215c22722dba82507dfef0"; + }; - src = fetchHex { - pkg = "db_connection"; - version = "${version}"; - sha256 = "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"; + beamDeps = [ + ecto + telemetry + ]; }; - beamDeps = [ telemetry ]; - }; + db_connection = buildMix rec { + name = "db_connection"; + version = "2.6.0"; - decimal = buildMix rec { - name = "decimal"; - version = "2.1.1"; + src = fetchHex { + pkg = "db_connection"; + version = "${version}"; + sha256 = "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"; + }; - src = fetchHex { - pkg = "decimal"; - version = "${version}"; - sha256 = "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"; + beamDeps = [ telemetry ]; }; - beamDeps = []; - }; + decimal = buildMix rec { + name = "decimal"; + version = "2.1.1"; - dialyxir = buildMix rec { - name = "dialyxir"; - version = "1.4.3"; + src = fetchHex { + pkg = "decimal"; + version = "${version}"; + sha256 = "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"; + }; - src = fetchHex { - pkg = "dialyxir"; - version = "${version}"; - sha256 = "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"; + beamDeps = [ ]; }; - beamDeps = [ erlex ]; - }; + dialyxir = buildMix rec { + name = "dialyxir"; + version = "1.4.3"; - digital_token = buildMix rec { - name = "digital_token"; - version = "0.6.0"; + src = fetchHex { + pkg = "dialyxir"; + version = "${version}"; + sha256 = "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"; + }; - src = fetchHex { - pkg = "digital_token"; - version = "${version}"; - sha256 = "2455d626e7c61a128b02a4a8caddb092548c3eb613ac6f6a85e4cbb6caddc4d1"; + beamDeps = [ erlex ]; }; - beamDeps = [ cldr_utils jason ]; - }; + digital_token = buildMix rec { + name = "digital_token"; + version = "0.6.0"; - doctor = buildMix rec { - name = "doctor"; - version = "0.21.0"; + src = fetchHex { + pkg = "digital_token"; + version = "${version}"; + sha256 = "2455d626e7c61a128b02a4a8caddb092548c3eb613ac6f6a85e4cbb6caddc4d1"; + }; - src = fetchHex { - pkg = "doctor"; - version = "${version}"; - sha256 = "a227831daa79784eb24cdeedfa403c46a4cb7d0eab0e31232ec654314447e4e0"; + beamDeps = [ + cldr_utils + jason + ]; }; - beamDeps = [ decimal ]; - }; + doctor = buildMix rec { + name = "doctor"; + version = "0.21.0"; - earmark_parser = buildMix rec { - name = "earmark_parser"; - version = "1.4.39"; + src = fetchHex { + pkg = "doctor"; + version = "${version}"; + sha256 = "a227831daa79784eb24cdeedfa403c46a4cb7d0eab0e31232ec654314447e4e0"; + }; - src = fetchHex { - pkg = "earmark_parser"; - version = "${version}"; - sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"; + beamDeps = [ decimal ]; }; - beamDeps = []; - }; + earmark_parser = buildMix rec { + name = "earmark_parser"; + version = "1.4.39"; - eblurhash = buildRebar3 rec { - name = "eblurhash"; - version = "1.2.2"; + src = fetchHex { + pkg = "earmark_parser"; + version = "${version}"; + sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"; + }; - src = fetchHex { - pkg = "eblurhash"; - version = "${version}"; - sha256 = "8c20ca00904de023a835a9dcb7b7762fed32264c85a80c3cafa85288e405044c"; + beamDeps = [ ]; }; - beamDeps = []; - }; + eblurhash = buildRebar3 rec { + name = "eblurhash"; + version = "1.2.2"; - ecto = buildMix rec { - name = "ecto"; - version = "3.11.1"; + src = fetchHex { + pkg = "eblurhash"; + version = "${version}"; + sha256 = "8c20ca00904de023a835a9dcb7b7762fed32264c85a80c3cafa85288e405044c"; + }; - src = fetchHex { - pkg = "ecto"; - version = "${version}"; - sha256 = "ebd3d3772cd0dfcd8d772659e41ed527c28b2a8bde4b00fe03e0463da0f1983b"; + beamDeps = [ ]; }; - beamDeps = [ decimal jason telemetry ]; - }; + ecto = buildMix rec { + name = "ecto"; + version = "3.11.1"; - ecto_autoslug_field = buildMix rec { - name = "ecto_autoslug_field"; - version = "3.1.0"; + src = fetchHex { + pkg = "ecto"; + version = "${version}"; + sha256 = "ebd3d3772cd0dfcd8d772659e41ed527c28b2a8bde4b00fe03e0463da0f1983b"; + }; - src = fetchHex { - pkg = "ecto_autoslug_field"; - version = "${version}"; - sha256 = "b6ddd614805263e24b5c169532c934440d0289181cce873061fca3a8e92fd9ff"; + beamDeps = [ + decimal + jason + telemetry + ]; }; - beamDeps = [ ecto slugify ]; - }; + ecto_autoslug_field = buildMix rec { + name = "ecto_autoslug_field"; + version = "3.1.0"; - ecto_dev_logger = buildMix rec { - name = "ecto_dev_logger"; - version = "0.10.0"; + src = fetchHex { + pkg = "ecto_autoslug_field"; + version = "${version}"; + sha256 = "b6ddd614805263e24b5c169532c934440d0289181cce873061fca3a8e92fd9ff"; + }; - src = fetchHex { - pkg = "ecto_dev_logger"; - version = "${version}"; - sha256 = "a55e58bad5d5c9b8ef2a3c3347dbdf7efa880a5371cf1457e44b41f489a43927"; + beamDeps = [ + ecto + slugify + ]; }; - beamDeps = [ ecto jason ]; - }; + ecto_dev_logger = buildMix rec { + name = "ecto_dev_logger"; + version = "0.10.0"; - ecto_enum = buildMix rec { - name = "ecto_enum"; - version = "1.4.0"; + src = fetchHex { + pkg = "ecto_dev_logger"; + version = "${version}"; + sha256 = "a55e58bad5d5c9b8ef2a3c3347dbdf7efa880a5371cf1457e44b41f489a43927"; + }; - src = fetchHex { - pkg = "ecto_enum"; - version = "${version}"; - sha256 = "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"; + beamDeps = [ + ecto + jason + ]; }; - beamDeps = [ ecto ecto_sql postgrex ]; - }; + ecto_enum = buildMix rec { + name = "ecto_enum"; + version = "1.4.0"; - ecto_shortuuid = buildMix rec { - name = "ecto_shortuuid"; - version = "0.2.0"; + src = fetchHex { + pkg = "ecto_enum"; + version = "${version}"; + sha256 = "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"; + }; - src = fetchHex { - pkg = "ecto_shortuuid"; - version = "${version}"; - sha256 = "b92e3b71e86be92f5a7ef6f3de170e7864454e630f7b01dd930414baf38efb65"; + beamDeps = [ + ecto + ecto_sql + postgrex + ]; }; - beamDeps = [ ecto shortuuid ]; - }; + ecto_shortuuid = buildMix rec { + name = "ecto_shortuuid"; + version = "0.2.0"; - ecto_sql = buildMix rec { - name = "ecto_sql"; - version = "3.11.1"; + src = fetchHex { + pkg = "ecto_shortuuid"; + version = "${version}"; + sha256 = "b92e3b71e86be92f5a7ef6f3de170e7864454e630f7b01dd930414baf38efb65"; + }; - src = fetchHex { - pkg = "ecto_sql"; - version = "${version}"; - sha256 = "ce14063ab3514424276e7e360108ad6c2308f6d88164a076aac8a387e1fea634"; + beamDeps = [ + ecto + shortuuid + ]; }; - beamDeps = [ db_connection ecto postgrex telemetry ]; - }; + ecto_sql = buildMix rec { + name = "ecto_sql"; + version = "3.11.1"; - elixir_feed_parser = buildMix rec { - name = "elixir_feed_parser"; - version = "2.1.0"; + src = fetchHex { + pkg = "ecto_sql"; + version = "${version}"; + sha256 = "ce14063ab3514424276e7e360108ad6c2308f6d88164a076aac8a387e1fea634"; + }; - src = fetchHex { - pkg = "elixir_feed_parser"; - version = "${version}"; - sha256 = "2d3c62fe7b396ee3b73d7160bc8fadbd78bfe9597c98c7d79b3f1038d9cba28f"; + beamDeps = [ + db_connection + ecto + postgrex + telemetry + ]; }; - beamDeps = [ timex ]; - }; + elixir_feed_parser = buildMix rec { + name = "elixir_feed_parser"; + version = "2.1.0"; - elixir_make = buildMix rec { - name = "elixir_make"; - version = "0.7.8"; + src = fetchHex { + pkg = "elixir_feed_parser"; + version = "${version}"; + sha256 = "2d3c62fe7b396ee3b73d7160bc8fadbd78bfe9597c98c7d79b3f1038d9cba28f"; + }; - src = fetchHex { - pkg = "elixir_make"; - version = "${version}"; - sha256 = "7a71945b913d37ea89b06966e1342c85cfe549b15e6d6d081e8081c493062c07"; + beamDeps = [ timex ]; }; - beamDeps = [ castore certifi ]; - }; + elixir_make = buildMix rec { + name = "elixir_make"; + version = "0.7.8"; - erlex = buildMix rec { - name = "erlex"; - version = "0.2.6"; + src = fetchHex { + pkg = "elixir_make"; + version = "${version}"; + sha256 = "7a71945b913d37ea89b06966e1342c85cfe549b15e6d6d081e8081c493062c07"; + }; - src = fetchHex { - pkg = "erlex"; - version = "${version}"; - sha256 = "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"; + beamDeps = [ + castore + certifi + ]; }; - beamDeps = []; - }; + erlex = buildMix rec { + name = "erlex"; + version = "0.2.6"; - erlport = buildRebar3 rec { - name = "erlport"; - version = "0.11.0"; + src = fetchHex { + pkg = "erlex"; + version = "${version}"; + sha256 = "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"; + }; - src = fetchHex { - pkg = "erlport"; - version = "${version}"; - sha256 = "8eb136ccaf3948d329b8d1c3278ad2e17e2a7319801bc4cc2da6db278204eee4"; + beamDeps = [ ]; }; - beamDeps = []; - }; + erlport = buildRebar3 rec { + name = "erlport"; + version = "0.11.0"; - eternal = buildMix rec { - name = "eternal"; - version = "1.2.2"; + src = fetchHex { + pkg = "erlport"; + version = "${version}"; + sha256 = "8eb136ccaf3948d329b8d1c3278ad2e17e2a7319801bc4cc2da6db278204eee4"; + }; - src = fetchHex { - pkg = "eternal"; - version = "${version}"; - sha256 = "2c9fe32b9c3726703ba5e1d43a1d255a4f3f2d8f8f9bc19f094c7cb1a7a9e782"; + beamDeps = [ ]; }; - beamDeps = []; - }; + eternal = buildMix rec { + name = "eternal"; + version = "1.2.2"; - ex_cldr = buildMix rec { - name = "ex_cldr"; - version = "2.37.5"; + src = fetchHex { + pkg = "eternal"; + version = "${version}"; + sha256 = "2c9fe32b9c3726703ba5e1d43a1d255a4f3f2d8f8f9bc19f094c7cb1a7a9e782"; + }; - src = fetchHex { - pkg = "ex_cldr"; - version = "${version}"; - sha256 = "74ad5ddff791112ce4156382e171a5f5d3766af9d5c4675e0571f081fe136479"; + beamDeps = [ ]; }; - beamDeps = [ cldr_utils decimal gettext jason nimble_parsec ]; - }; + ex_cldr = buildMix rec { + name = "ex_cldr"; + version = "2.37.5"; - ex_cldr_calendars = buildMix rec { - name = "ex_cldr_calendars"; - version = "1.23.0"; + src = fetchHex { + pkg = "ex_cldr"; + version = "${version}"; + sha256 = "74ad5ddff791112ce4156382e171a5f5d3766af9d5c4675e0571f081fe136479"; + }; - src = fetchHex { - pkg = "ex_cldr_calendars"; - version = "${version}"; - sha256 = "06d2407e699032d5cdc515593b7ce7869f10ce28e98a4ed68d9b21e5001036d4"; + beamDeps = [ + cldr_utils + decimal + gettext + jason + nimble_parsec + ]; }; - beamDeps = [ ex_cldr_numbers ex_doc jason ]; - }; - - ex_cldr_currencies = buildMix rec { - name = "ex_cldr_currencies"; - version = "2.15.1"; + ex_cldr_calendars = buildMix rec { + name = "ex_cldr_calendars"; + version = "1.23.0"; + + src = fetchHex { + pkg = "ex_cldr_calendars"; + version = "${version}"; + sha256 = "06d2407e699032d5cdc515593b7ce7869f10ce28e98a4ed68d9b21e5001036d4"; + }; - src = fetchHex { - pkg = "ex_cldr_currencies"; - version = "${version}"; - sha256 = "31df8bd37688340f8819bdd770eb17d659652078d34db632b85d4a32864d6a25"; + beamDeps = [ + ex_cldr_numbers + ex_doc + jason + ]; }; - beamDeps = [ ex_cldr jason ]; - }; + ex_cldr_currencies = buildMix rec { + name = "ex_cldr_currencies"; + version = "2.15.1"; - ex_cldr_dates_times = buildMix rec { - name = "ex_cldr_dates_times"; - version = "2.16.0"; - - src = fetchHex { - pkg = "ex_cldr_dates_times"; - version = "${version}"; - sha256 = "0f2f250d479cadda4e0ef3a5e3d936ae7ba1a3f1199db6791e284e86203495b1"; + src = fetchHex { + pkg = "ex_cldr_currencies"; + version = "${version}"; + sha256 = "31df8bd37688340f8819bdd770eb17d659652078d34db632b85d4a32864d6a25"; + }; + + beamDeps = [ + ex_cldr + jason + ]; }; - beamDeps = [ ex_cldr_calendars ex_cldr_numbers jason ]; - }; + ex_cldr_dates_times = buildMix rec { + name = "ex_cldr_dates_times"; + version = "2.16.0"; - ex_cldr_languages = buildMix rec { - name = "ex_cldr_languages"; - version = "0.3.3"; + src = fetchHex { + pkg = "ex_cldr_dates_times"; + version = "${version}"; + sha256 = "0f2f250d479cadda4e0ef3a5e3d936ae7ba1a3f1199db6791e284e86203495b1"; + }; - src = fetchHex { - pkg = "ex_cldr_languages"; - version = "${version}"; - sha256 = "22fb1fef72b7b4b4872d243b34e7b83734247a78ad87377986bf719089cc447a"; + beamDeps = [ + ex_cldr_calendars + ex_cldr_numbers + jason + ]; }; - beamDeps = [ ex_cldr jason ]; - }; - - ex_cldr_numbers = buildMix rec { - name = "ex_cldr_numbers"; - version = "2.32.4"; + ex_cldr_languages = buildMix rec { + name = "ex_cldr_languages"; + version = "0.3.3"; - src = fetchHex { - pkg = "ex_cldr_numbers"; - version = "${version}"; - sha256 = "6fd5a82f0785418fa8b698c0be2b1845dff92b77f1b3172c763d37868fb503d2"; + src = fetchHex { + pkg = "ex_cldr_languages"; + version = "${version}"; + sha256 = "22fb1fef72b7b4b4872d243b34e7b83734247a78ad87377986bf719089cc447a"; + }; + + beamDeps = [ + ex_cldr + jason + ]; }; - beamDeps = [ decimal digital_token ex_cldr ex_cldr_currencies jason ]; - }; + ex_cldr_numbers = buildMix rec { + name = "ex_cldr_numbers"; + version = "2.32.4"; + + src = fetchHex { + pkg = "ex_cldr_numbers"; + version = "${version}"; + sha256 = "6fd5a82f0785418fa8b698c0be2b1845dff92b77f1b3172c763d37868fb503d2"; + }; - ex_cldr_plugs = buildMix rec { - name = "ex_cldr_plugs"; - version = "1.3.1"; + beamDeps = [ + decimal + digital_token + ex_cldr + ex_cldr_currencies + jason + ]; + }; - src = fetchHex { - pkg = "ex_cldr_plugs"; - version = "${version}"; - sha256 = "4f7b4a5fe061734cef7b62ff29118ed6ac72698cdd7bcfc97495db73611fe0fe"; - }; + ex_cldr_plugs = buildMix rec { + name = "ex_cldr_plugs"; + version = "1.3.1"; + + src = fetchHex { + pkg = "ex_cldr_plugs"; + version = "${version}"; + sha256 = "4f7b4a5fe061734cef7b62ff29118ed6ac72698cdd7bcfc97495db73611fe0fe"; + }; - beamDeps = [ ex_cldr gettext jason plug ]; - }; - - ex_doc = buildMix rec { - name = "ex_doc"; - version = "0.31.1"; - - src = fetchHex { - pkg = "ex_doc"; - version = "${version}"; - sha256 = "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"; + beamDeps = [ + ex_cldr + gettext + jason + plug + ]; }; - beamDeps = [ earmark_parser makeup_elixir makeup_erlang ]; - }; + ex_doc = buildMix rec { + name = "ex_doc"; + version = "0.31.1"; - ex_ical = buildMix rec { - name = "ex_ical"; - version = "0.2.0"; + src = fetchHex { + pkg = "ex_doc"; + version = "${version}"; + sha256 = "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"; + }; - src = fetchHex { - pkg = "ex_ical"; - version = "${version}"; - sha256 = "db76473b2ae0259e6633c6c479a5a4d8603f09497f55c88f9ef4d53d2b75befb"; + beamDeps = [ + earmark_parser + makeup_elixir + makeup_erlang + ]; }; - beamDeps = [ timex ]; - }; + ex_ical = buildMix rec { + name = "ex_ical"; + version = "0.2.0"; - ex_machina = buildMix rec { - name = "ex_machina"; - version = "2.7.0"; + src = fetchHex { + pkg = "ex_ical"; + version = "${version}"; + sha256 = "db76473b2ae0259e6633c6c479a5a4d8603f09497f55c88f9ef4d53d2b75befb"; + }; - src = fetchHex { - pkg = "ex_machina"; - version = "${version}"; - sha256 = "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"; + beamDeps = [ timex ]; }; - beamDeps = [ ecto ecto_sql ]; - }; + ex_machina = buildMix rec { + name = "ex_machina"; + version = "2.7.0"; - ex_optimizer = buildMix rec { - name = "ex_optimizer"; - version = "0.1.1"; + src = fetchHex { + pkg = "ex_machina"; + version = "${version}"; + sha256 = "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"; + }; - src = fetchHex { - pkg = "ex_optimizer"; - version = "${version}"; - sha256 = "e6f5c059bcd58b66be2f6f257fdc4f69b74b0fa5c9ddd669486af012e4b52286"; + beamDeps = [ + ecto + ecto_sql + ]; }; - beamDeps = [ file_info ]; - }; + ex_optimizer = buildMix rec { + name = "ex_optimizer"; + version = "0.1.1"; - ex_unit_notifier = buildMix rec { - name = "ex_unit_notifier"; - version = "1.3.0"; + src = fetchHex { + pkg = "ex_optimizer"; + version = "${version}"; + sha256 = "e6f5c059bcd58b66be2f6f257fdc4f69b74b0fa5c9ddd669486af012e4b52286"; + }; - src = fetchHex { - pkg = "ex_unit_notifier"; - version = "${version}"; - sha256 = "55fffd6062e8d962fc44e8b06fa30a87dc7251ee2a69f520781a3bb29858c365"; + beamDeps = [ file_info ]; }; - beamDeps = []; - }; + ex_unit_notifier = buildMix rec { + name = "ex_unit_notifier"; + version = "1.3.0"; - excoveralls = buildMix rec { - name = "excoveralls"; - version = "0.18.0"; + src = fetchHex { + pkg = "ex_unit_notifier"; + version = "${version}"; + sha256 = "55fffd6062e8d962fc44e8b06fa30a87dc7251ee2a69f520781a3bb29858c365"; + }; - src = fetchHex { - pkg = "excoveralls"; - version = "${version}"; - sha256 = "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"; + beamDeps = [ ]; }; - beamDeps = [ castore jason ]; - }; + excoveralls = buildMix rec { + name = "excoveralls"; + version = "0.18.0"; - exgravatar = buildMix rec { - name = "exgravatar"; - version = "2.0.3"; + src = fetchHex { + pkg = "excoveralls"; + version = "${version}"; + sha256 = "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"; + }; - src = fetchHex { - pkg = "exgravatar"; - version = "${version}"; - sha256 = "aca18ff9bd8991d3be3e5446d3bdefc051be084c1ffc9ab2d43b3e65339300e1"; + beamDeps = [ + castore + jason + ]; }; - beamDeps = []; - }; + exgravatar = buildMix rec { + name = "exgravatar"; + version = "2.0.3"; - expo = buildMix rec { - name = "expo"; - version = "0.5.2"; + src = fetchHex { + pkg = "exgravatar"; + version = "${version}"; + sha256 = "aca18ff9bd8991d3be3e5446d3bdefc051be084c1ffc9ab2d43b3e65339300e1"; + }; - src = fetchHex { - pkg = "expo"; - version = "${version}"; - sha256 = "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"; + beamDeps = [ ]; }; - beamDeps = []; - }; + expo = buildMix rec { + name = "expo"; + version = "0.5.2"; - export = buildMix rec { - name = "export"; - version = "0.1.1"; + src = fetchHex { + pkg = "expo"; + version = "${version}"; + sha256 = "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"; + }; - src = fetchHex { - pkg = "export"; - version = "${version}"; - sha256 = "3da7444ff4053f1824352f4bdb13fbd2c28c93c2011786fb686b649fdca1021f"; + beamDeps = [ ]; }; - beamDeps = [ erlport ]; - }; + export = buildMix rec { + name = "export"; + version = "0.1.1"; - fast_html = buildMix rec { - name = "fast_html"; - version = "2.3.0"; + src = fetchHex { + pkg = "export"; + version = "${version}"; + sha256 = "3da7444ff4053f1824352f4bdb13fbd2c28c93c2011786fb686b649fdca1021f"; + }; - src = fetchHex { - pkg = "fast_html"; - version = "${version}"; - sha256 = "f18e3c7668f82d3ae0b15f48d48feeb257e28aa5ab1b0dbf781c7312e5da029d"; + beamDeps = [ erlport ]; }; - beamDeps = [ elixir_make nimble_pool ]; - }; + fast_html = buildMix rec { + name = "fast_html"; + version = "2.3.0"; - fast_sanitize = buildMix rec { - name = "fast_sanitize"; - version = "0.2.3"; + src = fetchHex { + pkg = "fast_html"; + version = "${version}"; + sha256 = "f18e3c7668f82d3ae0b15f48d48feeb257e28aa5ab1b0dbf781c7312e5da029d"; + }; - src = fetchHex { - pkg = "fast_sanitize"; - version = "${version}"; - sha256 = "e8ad286d10d0386e15d67d0ee125245ebcfbc7d7290b08712ba9013c8c5e56e2"; + beamDeps = [ + elixir_make + nimble_pool + ]; }; - beamDeps = [ fast_html plug ]; - }; + fast_sanitize = buildMix rec { + name = "fast_sanitize"; + version = "0.2.3"; - file_info = buildMix rec { - name = "file_info"; - version = "0.0.4"; + src = fetchHex { + pkg = "fast_sanitize"; + version = "${version}"; + sha256 = "e8ad286d10d0386e15d67d0ee125245ebcfbc7d7290b08712ba9013c8c5e56e2"; + }; - src = fetchHex { - pkg = "file_info"; - version = "${version}"; - sha256 = "50e7ad01c2c8b9339010675fe4dc4a113b8d6ca7eddce24d1d74fd0e762781a5"; + beamDeps = [ + fast_html + plug + ]; }; - beamDeps = [ mimetype_parser ]; - }; + file_info = buildMix rec { + name = "file_info"; + version = "0.0.4"; - file_system = buildMix rec { - name = "file_system"; - version = "0.2.10"; + src = fetchHex { + pkg = "file_info"; + version = "${version}"; + sha256 = "50e7ad01c2c8b9339010675fe4dc4a113b8d6ca7eddce24d1d74fd0e762781a5"; + }; - src = fetchHex { - pkg = "file_system"; - version = "${version}"; - sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"; + beamDeps = [ mimetype_parser ]; }; - beamDeps = []; - }; + file_system = buildMix rec { + name = "file_system"; + version = "0.2.10"; - floki = buildMix rec { - name = "floki"; - version = "0.35.4"; + src = fetchHex { + pkg = "file_system"; + version = "${version}"; + sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"; + }; - src = fetchHex { - pkg = "floki"; - version = "${version}"; - sha256 = "27fa185d3469bd8fc5947ef0f8d5c4e47f0af02eb6b070b63c868f69e3af0204"; + beamDeps = [ ]; }; - beamDeps = []; - }; + floki = buildMix rec { + name = "floki"; + version = "0.35.4"; - gen_smtp = buildRebar3 rec { - name = "gen_smtp"; - version = "1.2.0"; + src = fetchHex { + pkg = "floki"; + version = "${version}"; + sha256 = "27fa185d3469bd8fc5947ef0f8d5c4e47f0af02eb6b070b63c868f69e3af0204"; + }; - src = fetchHex { - pkg = "gen_smtp"; - version = "${version}"; - sha256 = "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"; + beamDeps = [ ]; }; - beamDeps = [ ranch ]; - }; + gen_smtp = buildRebar3 rec { + name = "gen_smtp"; + version = "1.2.0"; - geo = buildMix rec { - name = "geo"; - version = "3.6.0"; + src = fetchHex { + pkg = "gen_smtp"; + version = "${version}"; + sha256 = "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"; + }; - src = fetchHex { - pkg = "geo"; - version = "${version}"; - sha256 = "1dbdebf617183b54bc3c8ad7a36531a9a76ada8ca93f75f573b0ae94006168da"; + beamDeps = [ ranch ]; }; - beamDeps = [ jason ]; - }; + geo = buildMix rec { + name = "geo"; + version = "3.6.0"; - geo_postgis = buildMix rec { - name = "geo_postgis"; - version = "3.5.0"; + src = fetchHex { + pkg = "geo"; + version = "${version}"; + sha256 = "1dbdebf617183b54bc3c8ad7a36531a9a76ada8ca93f75f573b0ae94006168da"; + }; - src = fetchHex { - pkg = "geo_postgis"; - version = "${version}"; - sha256 = "0bebc5b00f8b11835066bd6213fbeeec03704b4a1c206920b81c1ec2201d185f"; + beamDeps = [ jason ]; }; - beamDeps = [ ecto geo jason postgrex ]; - }; + geo_postgis = buildMix rec { + name = "geo_postgis"; + version = "3.5.0"; - geohax = buildMix rec { - name = "geohax"; - version = "1.0.0"; + src = fetchHex { + pkg = "geo_postgis"; + version = "${version}"; + sha256 = "0bebc5b00f8b11835066bd6213fbeeec03704b4a1c206920b81c1ec2201d185f"; + }; - src = fetchHex { - pkg = "geohax"; - version = "${version}"; - sha256 = "893ef2f905213acb67c615d2c955d926b1be3676bfc2bd5ed7271b641dfa2224"; + beamDeps = [ + ecto + geo + jason + postgrex + ]; }; - beamDeps = []; - }; + geohax = buildMix rec { + name = "geohax"; + version = "1.0.0"; - geolix = buildMix rec { - name = "geolix"; - version = "2.0.0"; + src = fetchHex { + pkg = "geohax"; + version = "${version}"; + sha256 = "893ef2f905213acb67c615d2c955d926b1be3676bfc2bd5ed7271b641dfa2224"; + }; - src = fetchHex { - pkg = "geolix"; - version = "${version}"; - sha256 = "8742bf588ed0bb7def2c443204d09d355990846c6efdff96ded66aac24c301df"; + beamDeps = [ ]; }; - beamDeps = []; - }; + geolix = buildMix rec { + name = "geolix"; + version = "2.0.0"; - geolix_adapter_mmdb2 = buildMix rec { - name = "geolix_adapter_mmdb2"; - version = "0.6.0"; + src = fetchHex { + pkg = "geolix"; + version = "${version}"; + sha256 = "8742bf588ed0bb7def2c443204d09d355990846c6efdff96ded66aac24c301df"; + }; - src = fetchHex { - pkg = "geolix_adapter_mmdb2"; - version = "${version}"; - sha256 = "06ff962feae8a310cffdf86b74bfcda6e2d0dccb439bb1f62df2b657b1c0269b"; + beamDeps = [ ]; }; - beamDeps = [ geolix mmdb2_decoder ]; - }; + geolix_adapter_mmdb2 = buildMix rec { + name = "geolix_adapter_mmdb2"; + version = "0.6.0"; - gettext = buildMix rec { - name = "gettext"; - version = "0.24.0"; + src = fetchHex { + pkg = "geolix_adapter_mmdb2"; + version = "${version}"; + sha256 = "06ff962feae8a310cffdf86b74bfcda6e2d0dccb439bb1f62df2b657b1c0269b"; + }; - src = fetchHex { - pkg = "gettext"; - version = "${version}"; - sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"; + beamDeps = [ + geolix + mmdb2_decoder + ]; }; - beamDeps = [ expo ]; - }; + gettext = buildMix rec { + name = "gettext"; + version = "0.24.0"; - guardian = buildMix rec { - name = "guardian"; - version = "2.3.2"; + src = fetchHex { + pkg = "gettext"; + version = "${version}"; + sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"; + }; - src = fetchHex { - pkg = "guardian"; - version = "${version}"; - sha256 = "b189ff38cd46a22a8a824866a6867ca8722942347f13c33f7d23126af8821b52"; + beamDeps = [ expo ]; }; - beamDeps = [ jose plug ]; - }; + guardian = buildMix rec { + name = "guardian"; + version = "2.3.2"; - guardian_db = buildMix rec { - name = "guardian_db"; - version = "3.0.0"; + src = fetchHex { + pkg = "guardian"; + version = "${version}"; + sha256 = "b189ff38cd46a22a8a824866a6867ca8722942347f13c33f7d23126af8821b52"; + }; - src = fetchHex { - pkg = "guardian_db"; - version = "${version}"; - sha256 = "9c2ec4278efa34f9f1cc6ba795e552d41fdc7ffba5319d67eeb533b89392d183"; + beamDeps = [ + jose + plug + ]; }; - beamDeps = [ ecto ecto_sql guardian postgrex ]; - }; + guardian_db = buildMix rec { + name = "guardian_db"; + version = "3.0.0"; - guardian_phoenix = buildMix rec { - name = "guardian_phoenix"; - version = "2.0.1"; + src = fetchHex { + pkg = "guardian_db"; + version = "${version}"; + sha256 = "9c2ec4278efa34f9f1cc6ba795e552d41fdc7ffba5319d67eeb533b89392d183"; + }; - src = fetchHex { - pkg = "guardian_phoenix"; - version = "${version}"; - sha256 = "21f439246715192b231f228680465d1ed5fbdf01555a4a3b17165532f5f9a08c"; + beamDeps = [ + ecto + ecto_sql + guardian + postgrex + ]; }; - beamDeps = [ guardian phoenix ]; - }; + guardian_phoenix = buildMix rec { + name = "guardian_phoenix"; + version = "2.0.1"; - hackney = buildRebar3 rec { - name = "hackney"; - version = "1.20.1"; + src = fetchHex { + pkg = "guardian_phoenix"; + version = "${version}"; + sha256 = "21f439246715192b231f228680465d1ed5fbdf01555a4a3b17165532f5f9a08c"; + }; - src = fetchHex { - pkg = "hackney"; - version = "${version}"; - sha256 = "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"; + beamDeps = [ + guardian + phoenix + ]; }; - beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ]; - }; + hackney = buildRebar3 rec { + name = "hackney"; + version = "1.20.1"; - hammer = buildMix rec { - name = "hammer"; - version = "6.2.1"; + src = fetchHex { + pkg = "hackney"; + version = "${version}"; + sha256 = "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"; + }; - src = fetchHex { - pkg = "hammer"; - version = "${version}"; - sha256 = "b9476d0c13883d2dc0cc72e786bac6ac28911fba7cc2e04b70ce6a6d9c4b2bdc"; + beamDeps = [ + certifi + idna + metrics + mimerl + parse_trans + ssl_verify_fun + unicode_util_compat + ]; }; - beamDeps = [ poolboy ]; - }; + hammer = buildMix rec { + name = "hammer"; + version = "6.2.1"; - haversine = buildMix rec { - name = "haversine"; - version = "0.1.0"; + src = fetchHex { + pkg = "hammer"; + version = "${version}"; + sha256 = "b9476d0c13883d2dc0cc72e786bac6ac28911fba7cc2e04b70ce6a6d9c4b2bdc"; + }; - src = fetchHex { - pkg = "haversine"; - version = "${version}"; - sha256 = "54dc48e895bc18a59437a37026c873634e17b648a64cb87bfafb96f64d607060"; + beamDeps = [ poolboy ]; }; - beamDeps = []; - }; + haversine = buildMix rec { + name = "haversine"; + version = "0.1.0"; - hpax = buildMix rec { - name = "hpax"; - version = "0.1.2"; + src = fetchHex { + pkg = "haversine"; + version = "${version}"; + sha256 = "54dc48e895bc18a59437a37026c873634e17b648a64cb87bfafb96f64d607060"; + }; - src = fetchHex { - pkg = "hpax"; - version = "${version}"; - sha256 = "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"; + beamDeps = [ ]; }; - beamDeps = []; - }; + hpax = buildMix rec { + name = "hpax"; + version = "0.1.2"; - html_entities = buildMix rec { - name = "html_entities"; - version = "0.5.2"; + src = fetchHex { + pkg = "hpax"; + version = "${version}"; + sha256 = "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"; + }; - src = fetchHex { - pkg = "html_entities"; - version = "${version}"; - sha256 = "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"; + beamDeps = [ ]; }; - beamDeps = []; - }; + html_entities = buildMix rec { + name = "html_entities"; + version = "0.5.2"; - http_signatures = buildMix rec { - name = "http_signatures"; - version = "0.1.2"; + src = fetchHex { + pkg = "html_entities"; + version = "${version}"; + sha256 = "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"; + }; - src = fetchHex { - pkg = "http_signatures"; - version = "${version}"; - sha256 = "f08aa9ac121829dae109d608d83c84b940ef2f183ae50f2dd1e9a8bc619d8be7"; + beamDeps = [ ]; }; - beamDeps = []; - }; + http_signatures = buildMix rec { + name = "http_signatures"; + version = "0.1.2"; - httpoison = buildMix rec { - name = "httpoison"; - version = "1.8.2"; + src = fetchHex { + pkg = "http_signatures"; + version = "${version}"; + sha256 = "f08aa9ac121829dae109d608d83c84b940ef2f183ae50f2dd1e9a8bc619d8be7"; + }; - src = fetchHex { - pkg = "httpoison"; - version = "${version}"; - sha256 = "2bb350d26972e30c96e2ca74a1aaf8293d61d0742ff17f01e0279fef11599921"; + beamDeps = [ ]; }; - beamDeps = [ hackney ]; - }; + httpoison = buildMix rec { + name = "httpoison"; + version = "1.8.2"; - idna = buildRebar3 rec { - name = "idna"; - version = "6.1.1"; + src = fetchHex { + pkg = "httpoison"; + version = "${version}"; + sha256 = "2bb350d26972e30c96e2ca74a1aaf8293d61d0742ff17f01e0279fef11599921"; + }; - src = fetchHex { - pkg = "idna"; - version = "${version}"; - sha256 = "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"; + beamDeps = [ hackney ]; }; - beamDeps = [ unicode_util_compat ]; - }; + idna = buildRebar3 rec { + name = "idna"; + version = "6.1.1"; - inet_cidr = buildMix rec { - name = "inet_cidr"; - version = "1.0.8"; + src = fetchHex { + pkg = "idna"; + version = "${version}"; + sha256 = "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"; + }; - src = fetchHex { - pkg = "inet_cidr"; - version = "${version}"; - sha256 = "d5b26da66603bb56c933c65214c72152f0de9a6ea53618b56d63302a68f6a90e"; + beamDeps = [ unicode_util_compat ]; }; - beamDeps = []; - }; + inet_cidr = buildMix rec { + name = "inet_cidr"; + version = "1.0.8"; - ip_reserved = buildMix rec { - name = "ip_reserved"; - version = "0.1.1"; + src = fetchHex { + pkg = "inet_cidr"; + version = "${version}"; + sha256 = "d5b26da66603bb56c933c65214c72152f0de9a6ea53618b56d63302a68f6a90e"; + }; - src = fetchHex { - pkg = "ip_reserved"; - version = "${version}"; - sha256 = "55fcd2b6e211caef09ea3f54ef37d43030bec486325d12fe865ab5ed8140a4fe"; + beamDeps = [ ]; }; - beamDeps = [ inet_cidr ]; - }; + ip_reserved = buildMix rec { + name = "ip_reserved"; + version = "0.1.1"; - jason = buildMix rec { - name = "jason"; - version = "1.4.1"; + src = fetchHex { + pkg = "ip_reserved"; + version = "${version}"; + sha256 = "55fcd2b6e211caef09ea3f54ef37d43030bec486325d12fe865ab5ed8140a4fe"; + }; - src = fetchHex { - pkg = "jason"; - version = "${version}"; - sha256 = "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"; + beamDeps = [ inet_cidr ]; }; - beamDeps = [ decimal ]; - }; + jason = buildMix rec { + name = "jason"; + version = "1.4.1"; - jose = buildMix rec { - name = "jose"; - version = "1.11.6"; + src = fetchHex { + pkg = "jason"; + version = "${version}"; + sha256 = "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"; + }; - src = fetchHex { - pkg = "jose"; - version = "${version}"; - sha256 = "6275cb75504f9c1e60eeacb771adfeee4905a9e182103aa59b53fed651ff9738"; + beamDeps = [ decimal ]; }; - beamDeps = []; - }; + jose = buildMix rec { + name = "jose"; + version = "1.11.6"; - jumper = buildMix rec { - name = "jumper"; - version = "1.0.2"; + src = fetchHex { + pkg = "jose"; + version = "${version}"; + sha256 = "6275cb75504f9c1e60eeacb771adfeee4905a9e182103aa59b53fed651ff9738"; + }; - src = fetchHex { - pkg = "jumper"; - version = "${version}"; - sha256 = "9b7782409021e01ab3c08270e26f36eb62976a38c1aa64b2eaf6348422f165e1"; + beamDeps = [ ]; }; - beamDeps = []; - }; + jumper = buildMix rec { + name = "jumper"; + version = "1.0.2"; - junit_formatter = buildMix rec { - name = "junit_formatter"; - version = "3.3.1"; + src = fetchHex { + pkg = "jumper"; + version = "${version}"; + sha256 = "9b7782409021e01ab3c08270e26f36eb62976a38c1aa64b2eaf6348422f165e1"; + }; - src = fetchHex { - pkg = "junit_formatter"; - version = "${version}"; - sha256 = "761fc5be4b4c15d8ba91a6dafde0b2c2ae6db9da7b8832a55b5a1deb524da72b"; + beamDeps = [ ]; }; - beamDeps = []; - }; + junit_formatter = buildMix rec { + name = "junit_formatter"; + version = "3.3.1"; - linkify = buildMix rec { - name = "linkify"; - version = "0.5.3"; + src = fetchHex { + pkg = "junit_formatter"; + version = "${version}"; + sha256 = "761fc5be4b4c15d8ba91a6dafde0b2c2ae6db9da7b8832a55b5a1deb524da72b"; + }; - src = fetchHex { - pkg = "linkify"; - version = "${version}"; - sha256 = "3ef35a1377d47c25506e07c1c005ea9d38d700699d92ee92825f024434258177"; + beamDeps = [ ]; }; - beamDeps = []; - }; + linkify = buildMix rec { + name = "linkify"; + version = "0.5.3"; - makeup = buildMix rec { - name = "makeup"; - version = "1.1.1"; + src = fetchHex { + pkg = "linkify"; + version = "${version}"; + sha256 = "3ef35a1377d47c25506e07c1c005ea9d38d700699d92ee92825f024434258177"; + }; - src = fetchHex { - pkg = "makeup"; - version = "${version}"; - sha256 = "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"; + beamDeps = [ ]; }; - beamDeps = [ nimble_parsec ]; - }; + makeup = buildMix rec { + name = "makeup"; + version = "1.1.1"; - makeup_elixir = buildMix rec { - name = "makeup_elixir"; - version = "0.16.1"; + src = fetchHex { + pkg = "makeup"; + version = "${version}"; + sha256 = "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"; + }; - src = fetchHex { - pkg = "makeup_elixir"; - version = "${version}"; - sha256 = "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"; + beamDeps = [ nimble_parsec ]; }; - beamDeps = [ makeup nimble_parsec ]; - }; + makeup_elixir = buildMix rec { + name = "makeup_elixir"; + version = "0.16.1"; - makeup_erlang = buildMix rec { - name = "makeup_erlang"; - version = "0.1.5"; + src = fetchHex { + pkg = "makeup_elixir"; + version = "${version}"; + sha256 = "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"; + }; - src = fetchHex { - pkg = "makeup_erlang"; - version = "${version}"; - sha256 = "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"; + beamDeps = [ + makeup + nimble_parsec + ]; }; - beamDeps = [ makeup ]; - }; + makeup_erlang = buildMix rec { + name = "makeup_erlang"; + version = "0.1.5"; - meck = buildRebar3 rec { - name = "meck"; - version = "0.9.2"; + src = fetchHex { + pkg = "makeup_erlang"; + version = "${version}"; + sha256 = "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"; + }; - src = fetchHex { - pkg = "meck"; - version = "${version}"; - sha256 = "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"; + beamDeps = [ makeup ]; }; - beamDeps = []; - }; + meck = buildRebar3 rec { + name = "meck"; + version = "0.9.2"; - metrics = buildRebar3 rec { - name = "metrics"; - version = "1.0.1"; + src = fetchHex { + pkg = "meck"; + version = "${version}"; + sha256 = "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"; + }; - src = fetchHex { - pkg = "metrics"; - version = "${version}"; - sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"; + beamDeps = [ ]; }; - beamDeps = []; - }; + metrics = buildRebar3 rec { + name = "metrics"; + version = "1.0.1"; - mime = buildMix rec { - name = "mime"; - version = "2.0.5"; + src = fetchHex { + pkg = "metrics"; + version = "${version}"; + sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"; + }; - src = fetchHex { - pkg = "mime"; - version = "${version}"; - sha256 = "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mime = buildMix rec { + name = "mime"; + version = "2.0.5"; - mimerl = buildRebar3 rec { - name = "mimerl"; - version = "1.2.0"; + src = fetchHex { + pkg = "mime"; + version = "${version}"; + sha256 = "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"; + }; - src = fetchHex { - pkg = "mimerl"; - version = "${version}"; - sha256 = "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mimerl = buildRebar3 rec { + name = "mimerl"; + version = "1.2.0"; - mimetype_parser = buildMix rec { - name = "mimetype_parser"; - version = "0.1.3"; + src = fetchHex { + pkg = "mimerl"; + version = "${version}"; + sha256 = "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"; + }; - src = fetchHex { - pkg = "mimetype_parser"; - version = "${version}"; - sha256 = "7d8f80c567807ce78cd93c938e7f4b0a20b1aaaaab914bf286f68457d9f7a852"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mimetype_parser = buildMix rec { + name = "mimetype_parser"; + version = "0.1.3"; - mix_test_watch = buildMix rec { - name = "mix_test_watch"; - version = "1.1.2"; + src = fetchHex { + pkg = "mimetype_parser"; + version = "${version}"; + sha256 = "7d8f80c567807ce78cd93c938e7f4b0a20b1aaaaab914bf286f68457d9f7a852"; + }; - src = fetchHex { - pkg = "mix_test_watch"; - version = "${version}"; - sha256 = "8ce79fc69a304eec81ab6c1a05de2eb026a8959f65fb47f933ce8eb56018ba35"; + beamDeps = [ ]; }; - beamDeps = [ file_system ]; - }; + mix_test_watch = buildMix rec { + name = "mix_test_watch"; + version = "1.1.2"; - mmdb2_decoder = buildMix rec { - name = "mmdb2_decoder"; - version = "3.0.1"; + src = fetchHex { + pkg = "mix_test_watch"; + version = "${version}"; + sha256 = "8ce79fc69a304eec81ab6c1a05de2eb026a8959f65fb47f933ce8eb56018ba35"; + }; - src = fetchHex { - pkg = "mmdb2_decoder"; - version = "${version}"; - sha256 = "316af0f388fac824782d944f54efe78e7c9691bbbdb0afd5cccdd0510adf559d"; + beamDeps = [ file_system ]; }; - beamDeps = []; - }; + mmdb2_decoder = buildMix rec { + name = "mmdb2_decoder"; + version = "3.0.1"; - mock = buildMix rec { - name = "mock"; - version = "0.3.8"; + src = fetchHex { + pkg = "mmdb2_decoder"; + version = "${version}"; + sha256 = "316af0f388fac824782d944f54efe78e7c9691bbbdb0afd5cccdd0510adf559d"; + }; - src = fetchHex { - pkg = "mock"; - version = "${version}"; - sha256 = "7fa82364c97617d79bb7d15571193fc0c4fe5afd0c932cef09426b3ee6fe2022"; + beamDeps = [ ]; }; - beamDeps = [ meck ]; - }; + mock = buildMix rec { + name = "mock"; + version = "0.3.8"; - mogrify = buildMix rec { - name = "mogrify"; - version = "0.9.3"; + src = fetchHex { + pkg = "mock"; + version = "${version}"; + sha256 = "7fa82364c97617d79bb7d15571193fc0c4fe5afd0c932cef09426b3ee6fe2022"; + }; - src = fetchHex { - pkg = "mogrify"; - version = "${version}"; - sha256 = "0189b1e1de27455f2b9ae8cf88239cefd23d38de9276eb5add7159aea51731e6"; + beamDeps = [ meck ]; }; - beamDeps = []; - }; + mogrify = buildMix rec { + name = "mogrify"; + version = "0.9.3"; - mox = buildMix rec { - name = "mox"; - version = "1.1.0"; + src = fetchHex { + pkg = "mogrify"; + version = "${version}"; + sha256 = "0189b1e1de27455f2b9ae8cf88239cefd23d38de9276eb5add7159aea51731e6"; + }; - src = fetchHex { - pkg = "mox"; - version = "${version}"; - sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mox = buildMix rec { + name = "mox"; + version = "1.1.0"; - nimble_csv = buildMix rec { - name = "nimble_csv"; - version = "1.2.0"; + src = fetchHex { + pkg = "mox"; + version = "${version}"; + sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13"; + }; - src = fetchHex { - pkg = "nimble_csv"; - version = "${version}"; - sha256 = "d0628117fcc2148178b034044c55359b26966c6eaa8e2ce15777be3bbc91b12a"; + beamDeps = [ ]; }; - beamDeps = []; - }; + nimble_csv = buildMix rec { + name = "nimble_csv"; + version = "1.2.0"; - nimble_parsec = buildMix rec { - name = "nimble_parsec"; - version = "1.4.0"; + src = fetchHex { + pkg = "nimble_csv"; + version = "${version}"; + sha256 = "d0628117fcc2148178b034044c55359b26966c6eaa8e2ce15777be3bbc91b12a"; + }; - src = fetchHex { - pkg = "nimble_parsec"; - version = "${version}"; - sha256 = "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"; + beamDeps = [ ]; }; - beamDeps = []; - }; + nimble_parsec = buildMix rec { + name = "nimble_parsec"; + version = "1.4.0"; - nimble_pool = buildMix rec { - name = "nimble_pool"; - version = "0.2.6"; + src = fetchHex { + pkg = "nimble_parsec"; + version = "${version}"; + sha256 = "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"; + }; - src = fetchHex { - pkg = "nimble_pool"; - version = "${version}"; - sha256 = "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"; + beamDeps = [ ]; }; - beamDeps = []; - }; + nimble_pool = buildMix rec { + name = "nimble_pool"; + version = "0.2.6"; - oauth2 = buildMix rec { - name = "oauth2"; - version = "2.1.0"; + src = fetchHex { + pkg = "nimble_pool"; + version = "${version}"; + sha256 = "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"; + }; - src = fetchHex { - pkg = "oauth2"; - version = "${version}"; - sha256 = "8ac07f85b3307dd1acfeb0ec852f64161b22f57d0ce0c15e616a1dfc8ebe2b41"; + beamDeps = [ ]; }; - beamDeps = [ tesla ]; - }; + oauth2 = buildMix rec { + name = "oauth2"; + version = "2.1.0"; - oauther = buildMix rec { - name = "oauther"; - version = "1.3.0"; + src = fetchHex { + pkg = "oauth2"; + version = "${version}"; + sha256 = "8ac07f85b3307dd1acfeb0ec852f64161b22f57d0ce0c15e616a1dfc8ebe2b41"; + }; - src = fetchHex { - pkg = "oauther"; - version = "${version}"; - sha256 = "78eb888ea875c72ca27b0864a6f550bc6ee84f2eeca37b093d3d833fbcaec04e"; + beamDeps = [ tesla ]; }; - beamDeps = []; - }; + oauther = buildMix rec { + name = "oauther"; + version = "1.3.0"; - oban = buildMix rec { - name = "oban"; - version = "2.17.5"; + src = fetchHex { + pkg = "oauther"; + version = "${version}"; + sha256 = "78eb888ea875c72ca27b0864a6f550bc6ee84f2eeca37b093d3d833fbcaec04e"; + }; - src = fetchHex { - pkg = "oban"; - version = "${version}"; - sha256 = "fd3ccbbfdbb2bc77107c8790946f9821a831ed0720688485ee6adcd7863886cf"; + beamDeps = [ ]; }; - beamDeps = [ ecto_sql jason postgrex telemetry ]; - }; + oban = buildMix rec { + name = "oban"; + version = "2.17.5"; - paasaa = buildMix rec { - name = "paasaa"; - version = "0.6.0"; + src = fetchHex { + pkg = "oban"; + version = "${version}"; + sha256 = "fd3ccbbfdbb2bc77107c8790946f9821a831ed0720688485ee6adcd7863886cf"; + }; - src = fetchHex { - pkg = "paasaa"; - version = "${version}"; - sha256 = "732ddfc21bac0831edb26aec468af3ec2b8997d74f6209810b1cc53199c29f2e"; + beamDeps = [ + ecto_sql + jason + postgrex + telemetry + ]; }; - beamDeps = []; - }; + paasaa = buildMix rec { + name = "paasaa"; + version = "0.6.0"; - parse_trans = buildRebar3 rec { - name = "parse_trans"; - version = "3.4.1"; + src = fetchHex { + pkg = "paasaa"; + version = "${version}"; + sha256 = "732ddfc21bac0831edb26aec468af3ec2b8997d74f6209810b1cc53199c29f2e"; + }; - src = fetchHex { - pkg = "parse_trans"; - version = "${version}"; - sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"; + beamDeps = [ ]; }; - beamDeps = []; - }; + parse_trans = buildRebar3 rec { + name = "parse_trans"; + version = "3.4.1"; - phoenix = buildMix rec { - name = "phoenix"; - version = "1.7.11"; + src = fetchHex { + pkg = "parse_trans"; + version = "${version}"; + sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"; + }; - src = fetchHex { - pkg = "phoenix"; - version = "${version}"; - sha256 = "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"; + beamDeps = [ ]; }; - beamDeps = [ castore jason phoenix_pubsub phoenix_template phoenix_view plug plug_crypto telemetry websock_adapter ]; - }; + phoenix = buildMix rec { + name = "phoenix"; + version = "1.7.11"; - phoenix_ecto = buildMix rec { - name = "phoenix_ecto"; - version = "4.4.3"; + src = fetchHex { + pkg = "phoenix"; + version = "${version}"; + sha256 = "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"; + }; - src = fetchHex { - pkg = "phoenix_ecto"; - version = "${version}"; - sha256 = "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07"; + beamDeps = [ + castore + jason + phoenix_pubsub + phoenix_template + phoenix_view + plug + plug_crypto + telemetry + websock_adapter + ]; }; - beamDeps = [ ecto phoenix_html plug ]; - }; + phoenix_ecto = buildMix rec { + name = "phoenix_ecto"; + version = "4.4.3"; - phoenix_html = buildMix rec { - name = "phoenix_html"; - version = "3.3.3"; + src = fetchHex { + pkg = "phoenix_ecto"; + version = "${version}"; + sha256 = "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07"; + }; - src = fetchHex { - pkg = "phoenix_html"; - version = "${version}"; - sha256 = "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"; + beamDeps = [ + ecto + phoenix_html + plug + ]; }; - beamDeps = [ plug ]; - }; - - phoenix_live_reload = buildMix rec { - name = "phoenix_live_reload"; - version = "1.4.1"; + phoenix_html = buildMix rec { + name = "phoenix_html"; + version = "3.3.3"; + + src = fetchHex { + pkg = "phoenix_html"; + version = "${version}"; + sha256 = "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"; + }; - src = fetchHex { - pkg = "phoenix_live_reload"; - version = "${version}"; - sha256 = "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"; + beamDeps = [ plug ]; }; - beamDeps = [ file_system phoenix ]; - }; - - phoenix_live_view = buildMix rec { - name = "phoenix_live_view"; - version = "0.20.10"; - - src = fetchHex { - pkg = "phoenix_live_view"; - version = "${version}"; - sha256 = "daa17b3fbdfd6347aaade4db01a5dd24d23af0f4344e2e24934e8adfb4a11607"; + phoenix_live_reload = buildMix rec { + name = "phoenix_live_reload"; + version = "1.4.1"; + + src = fetchHex { + pkg = "phoenix_live_reload"; + version = "${version}"; + sha256 = "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"; + }; + + beamDeps = [ + file_system + phoenix + ]; }; - beamDeps = [ jason phoenix phoenix_html phoenix_template phoenix_view plug telemetry ]; - }; + phoenix_live_view = buildMix rec { + name = "phoenix_live_view"; + version = "0.20.10"; - phoenix_pubsub = buildMix rec { - name = "phoenix_pubsub"; - version = "2.1.3"; + src = fetchHex { + pkg = "phoenix_live_view"; + version = "${version}"; + sha256 = "daa17b3fbdfd6347aaade4db01a5dd24d23af0f4344e2e24934e8adfb4a11607"; + }; + + beamDeps = [ + jason + phoenix + phoenix_html + phoenix_template + phoenix_view + plug + telemetry + ]; + }; + + phoenix_pubsub = buildMix rec { + name = "phoenix_pubsub"; + version = "2.1.3"; - src = fetchHex { - pkg = "phoenix_pubsub"; - version = "${version}"; - sha256 = "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"; - }; - - beamDeps = []; - }; + src = fetchHex { + pkg = "phoenix_pubsub"; + version = "${version}"; + sha256 = "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"; + }; - phoenix_swoosh = buildMix rec { - name = "phoenix_swoosh"; - version = "1.2.1"; + beamDeps = [ ]; + }; + + phoenix_swoosh = buildMix rec { + name = "phoenix_swoosh"; + version = "1.2.1"; + + src = fetchHex { + pkg = "phoenix_swoosh"; + version = "${version}"; + sha256 = "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"; + }; - src = fetchHex { - pkg = "phoenix_swoosh"; - version = "${version}"; - sha256 = "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"; + beamDeps = [ + hackney + phoenix + phoenix_html + phoenix_view + swoosh + ]; }; - beamDeps = [ hackney phoenix phoenix_html phoenix_view swoosh ]; - }; + phoenix_template = buildMix rec { + name = "phoenix_template"; + version = "1.0.4"; - phoenix_template = buildMix rec { - name = "phoenix_template"; - version = "1.0.4"; + src = fetchHex { + pkg = "phoenix_template"; + version = "${version}"; + sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"; + }; - src = fetchHex { - pkg = "phoenix_template"; - version = "${version}"; - sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"; + beamDeps = [ phoenix_html ]; }; - beamDeps = [ phoenix_html ]; - }; + phoenix_view = buildMix rec { + name = "phoenix_view"; + version = "2.0.3"; - phoenix_view = buildMix rec { - name = "phoenix_view"; - version = "2.0.3"; + src = fetchHex { + pkg = "phoenix_view"; + version = "${version}"; + sha256 = "cd34049af41be2c627df99cd4eaa71fc52a328c0c3d8e7d4aa28f880c30e7f64"; + }; - src = fetchHex { - pkg = "phoenix_view"; - version = "${version}"; - sha256 = "cd34049af41be2c627df99cd4eaa71fc52a328c0c3d8e7d4aa28f880c30e7f64"; + beamDeps = [ + phoenix_html + phoenix_template + ]; }; - beamDeps = [ phoenix_html phoenix_template ]; - }; + plug = buildMix rec { + name = "plug"; + version = "1.15.3"; - plug = buildMix rec { - name = "plug"; - version = "1.15.3"; + src = fetchHex { + pkg = "plug"; + version = "${version}"; + sha256 = "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2"; + }; - src = fetchHex { - pkg = "plug"; - version = "${version}"; - sha256 = "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2"; + beamDeps = [ + mime + plug_crypto + telemetry + ]; }; - beamDeps = [ mime plug_crypto telemetry ]; - }; + plug_crypto = buildMix rec { + name = "plug_crypto"; + version = "2.0.0"; - plug_crypto = buildMix rec { - name = "plug_crypto"; - version = "2.0.0"; + src = fetchHex { + pkg = "plug_crypto"; + version = "${version}"; + sha256 = "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"; + }; - src = fetchHex { - pkg = "plug_crypto"; - version = "${version}"; - sha256 = "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"; + beamDeps = [ ]; }; - beamDeps = []; - }; + poolboy = buildRebar3 rec { + name = "poolboy"; + version = "1.5.2"; - poolboy = buildRebar3 rec { - name = "poolboy"; - version = "1.5.2"; + src = fetchHex { + pkg = "poolboy"; + version = "${version}"; + sha256 = "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"; + }; - src = fetchHex { - pkg = "poolboy"; - version = "${version}"; - sha256 = "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"; + beamDeps = [ ]; }; - beamDeps = []; - }; + postgrex = buildMix rec { + name = "postgrex"; + version = "0.17.4"; - postgrex = buildMix rec { - name = "postgrex"; - version = "0.17.4"; + src = fetchHex { + pkg = "postgrex"; + version = "${version}"; + sha256 = "6458f7d5b70652bc81c3ea759f91736c16a31be000f306d3c64bcdfe9a18b3cc"; + }; - src = fetchHex { - pkg = "postgrex"; - version = "${version}"; - sha256 = "6458f7d5b70652bc81c3ea759f91736c16a31be000f306d3c64bcdfe9a18b3cc"; + beamDeps = [ + db_connection + decimal + jason + ]; }; - beamDeps = [ db_connection decimal jason ]; - }; + progress_bar = buildMix rec { + name = "progress_bar"; + version = "3.0.0"; - progress_bar = buildMix rec { - name = "progress_bar"; - version = "3.0.0"; + src = fetchHex { + pkg = "progress_bar"; + version = "${version}"; + sha256 = "6981c2b25ab24aecc91a2dc46623658e1399c21a2ae24db986b90d678530f2b7"; + }; - src = fetchHex { - pkg = "progress_bar"; - version = "${version}"; - sha256 = "6981c2b25ab24aecc91a2dc46623658e1399c21a2ae24db986b90d678530f2b7"; + beamDeps = [ decimal ]; }; - beamDeps = [ decimal ]; - }; + ranch = buildRebar3 rec { + name = "ranch"; + version = "2.1.0"; - ranch = buildRebar3 rec { - name = "ranch"; - version = "2.1.0"; + src = fetchHex { + pkg = "ranch"; + version = "${version}"; + sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916"; + }; - src = fetchHex { - pkg = "ranch"; - version = "${version}"; - sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916"; + beamDeps = [ ]; }; - beamDeps = []; - }; + remote_ip = buildMix rec { + name = "remote_ip"; + version = "1.1.0"; - remote_ip = buildMix rec { - name = "remote_ip"; - version = "1.1.0"; + src = fetchHex { + pkg = "remote_ip"; + version = "${version}"; + sha256 = "616ffdf66aaad6a72fc546dabf42eed87e2a99e97b09cbd92b10cc180d02ed74"; + }; - src = fetchHex { - pkg = "remote_ip"; - version = "${version}"; - sha256 = "616ffdf66aaad6a72fc546dabf42eed87e2a99e97b09cbd92b10cc180d02ed74"; + beamDeps = [ + combine + plug + ]; }; - beamDeps = [ combine plug ]; - }; + replug = buildMix rec { + name = "replug"; + version = "0.1.0"; - replug = buildMix rec { - name = "replug"; - version = "0.1.0"; + src = fetchHex { + pkg = "replug"; + version = "${version}"; + sha256 = "f71f7a57e944e854fe4946060c6964098e53958074c69fb844b96e0bd58cfa60"; + }; - src = fetchHex { - pkg = "replug"; - version = "${version}"; - sha256 = "f71f7a57e944e854fe4946060c6964098e53958074c69fb844b96e0bd58cfa60"; + beamDeps = [ plug ]; }; - beamDeps = [ plug ]; - }; + sentry = buildMix rec { + name = "sentry"; + version = "8.1.0"; - sentry = buildMix rec { - name = "sentry"; - version = "8.1.0"; + src = fetchHex { + pkg = "sentry"; + version = "${version}"; + sha256 = "f9fc7641ef61e885510f5e5963c2948b9de1de597c63f781e9d3d6c9c8681ab4"; + }; - src = fetchHex { - pkg = "sentry"; - version = "${version}"; - sha256 = "f9fc7641ef61e885510f5e5963c2948b9de1de597c63f781e9d3d6c9c8681ab4"; + beamDeps = [ + hackney + jason + plug + ]; }; - beamDeps = [ hackney jason plug ]; - }; + shortuuid = buildMix rec { + name = "shortuuid"; + version = "3.0.0"; - shortuuid = buildMix rec { - name = "shortuuid"; - version = "3.0.0"; + src = fetchHex { + pkg = "shortuuid"; + version = "${version}"; + sha256 = "dfd8f80f514cbb91622cb83f4ac0d6e2f06d98cc6d4aeba94444a212289d0d39"; + }; - src = fetchHex { - pkg = "shortuuid"; - version = "${version}"; - sha256 = "dfd8f80f514cbb91622cb83f4ac0d6e2f06d98cc6d4aeba94444a212289d0d39"; + beamDeps = [ ]; }; - beamDeps = []; - }; + sitemapper = buildMix rec { + name = "sitemapper"; + version = "0.8.0"; - sitemapper = buildMix rec { - name = "sitemapper"; - version = "0.8.0"; + src = fetchHex { + pkg = "sitemapper"; + version = "${version}"; + sha256 = "7cd42b454035da457151c9b6a314b688b5bbe5383add95badc65d013c25989c5"; + }; - src = fetchHex { - pkg = "sitemapper"; - version = "${version}"; - sha256 = "7cd42b454035da457151c9b6a314b688b5bbe5383add95badc65d013c25989c5"; + beamDeps = [ xml_builder ]; }; - beamDeps = [ xml_builder ]; - }; + sleeplocks = buildRebar3 rec { + name = "sleeplocks"; + version = "1.1.2"; - sleeplocks = buildRebar3 rec { - name = "sleeplocks"; - version = "1.1.2"; + src = fetchHex { + pkg = "sleeplocks"; + version = "${version}"; + sha256 = "9fe5d048c5b781d6305c1a3a0f40bb3dfc06f49bf40571f3d2d0c57eaa7f59a5"; + }; - src = fetchHex { - pkg = "sleeplocks"; - version = "${version}"; - sha256 = "9fe5d048c5b781d6305c1a3a0f40bb3dfc06f49bf40571f3d2d0c57eaa7f59a5"; + beamDeps = [ ]; }; - beamDeps = []; - }; + slugger = buildMix rec { + name = "slugger"; + version = "0.3.0"; - slugger = buildMix rec { - name = "slugger"; - version = "0.3.0"; + src = fetchHex { + pkg = "slugger"; + version = "${version}"; + sha256 = "20d0ded0e712605d1eae6c5b4889581c3460d92623a930ddda91e0e609b5afba"; + }; - src = fetchHex { - pkg = "slugger"; - version = "${version}"; - sha256 = "20d0ded0e712605d1eae6c5b4889581c3460d92623a930ddda91e0e609b5afba"; + beamDeps = [ ]; }; - beamDeps = []; - }; + slugify = buildMix rec { + name = "slugify"; + version = "1.3.1"; - slugify = buildMix rec { - name = "slugify"; - version = "1.3.1"; + src = fetchHex { + pkg = "slugify"; + version = "${version}"; + sha256 = "cb090bbeb056b312da3125e681d98933a360a70d327820e4b7f91645c4d8be76"; + }; - src = fetchHex { - pkg = "slugify"; - version = "${version}"; - sha256 = "cb090bbeb056b312da3125e681d98933a360a70d327820e4b7f91645c4d8be76"; + beamDeps = [ ]; }; - beamDeps = []; - }; + sobelow = buildMix rec { + name = "sobelow"; + version = "0.13.0"; - sobelow = buildMix rec { - name = "sobelow"; - version = "0.13.0"; + src = fetchHex { + pkg = "sobelow"; + version = "${version}"; + sha256 = "cd6e9026b85fc35d7529da14f95e85a078d9dd1907a9097b3ba6ac7ebbe34a0d"; + }; - src = fetchHex { - pkg = "sobelow"; - version = "${version}"; - sha256 = "cd6e9026b85fc35d7529da14f95e85a078d9dd1907a9097b3ba6ac7ebbe34a0d"; + beamDeps = [ jason ]; }; - beamDeps = [ jason ]; - }; + ssl_verify_fun = buildRebar3 rec { + name = "ssl_verify_fun"; + version = "1.1.7"; - ssl_verify_fun = buildRebar3 rec { - name = "ssl_verify_fun"; - version = "1.1.7"; + src = fetchHex { + pkg = "ssl_verify_fun"; + version = "${version}"; + sha256 = "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"; + }; - src = fetchHex { - pkg = "ssl_verify_fun"; - version = "${version}"; - sha256 = "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"; + beamDeps = [ ]; }; - beamDeps = []; - }; + struct_access = buildMix rec { + name = "struct_access"; + version = "1.1.2"; - struct_access = buildMix rec { - name = "struct_access"; - version = "1.1.2"; + src = fetchHex { + pkg = "struct_access"; + version = "${version}"; + sha256 = "e4c411dcc0226081b95709909551fc92b8feb1a3476108348ea7e3f6c12e586a"; + }; - src = fetchHex { - pkg = "struct_access"; - version = "${version}"; - sha256 = "e4c411dcc0226081b95709909551fc92b8feb1a3476108348ea7e3f6c12e586a"; + beamDeps = [ ]; }; - beamDeps = []; - }; + sweet_xml = buildMix rec { + name = "sweet_xml"; + version = "0.7.4"; - sweet_xml = buildMix rec { - name = "sweet_xml"; - version = "0.7.4"; + src = fetchHex { + pkg = "sweet_xml"; + version = "${version}"; + sha256 = "e7c4b0bdbf460c928234951def54fe87edf1a170f6896675443279e2dbeba167"; + }; - src = fetchHex { - pkg = "sweet_xml"; - version = "${version}"; - sha256 = "e7c4b0bdbf460c928234951def54fe87edf1a170f6896675443279e2dbeba167"; + beamDeps = [ ]; }; - beamDeps = []; - }; + swoosh = buildMix rec { + name = "swoosh"; + version = "1.15.3"; - swoosh = buildMix rec { - name = "swoosh"; - version = "1.15.3"; + src = fetchHex { + pkg = "swoosh"; + version = "${version}"; + sha256 = "97a667b96ca8cc48a4679f6cd1f40a36d8701cf052587298473614caa70f164a"; + }; - src = fetchHex { - pkg = "swoosh"; - version = "${version}"; - sha256 = "97a667b96ca8cc48a4679f6cd1f40a36d8701cf052587298473614caa70f164a"; + beamDeps = [ + bandit + gen_smtp + hackney + jason + mime + plug + telemetry + ]; }; - beamDeps = [ bandit gen_smtp hackney jason mime plug telemetry ]; - }; + telemetry = buildRebar3 rec { + name = "telemetry"; + version = "1.2.1"; - telemetry = buildRebar3 rec { - name = "telemetry"; - version = "1.2.1"; + src = fetchHex { + pkg = "telemetry"; + version = "${version}"; + sha256 = "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"; + }; - src = fetchHex { - pkg = "telemetry"; - version = "${version}"; - sha256 = "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"; + beamDeps = [ ]; }; - beamDeps = []; - }; + tesla = buildMix rec { + name = "tesla"; + version = "1.8.0"; - tesla = buildMix rec { - name = "tesla"; - version = "1.8.0"; + src = fetchHex { + pkg = "tesla"; + version = "${version}"; + sha256 = "10501f360cd926a309501287470372af1a6e1cbed0f43949203a4c13300bc79f"; + }; - src = fetchHex { - pkg = "tesla"; - version = "${version}"; - sha256 = "10501f360cd926a309501287470372af1a6e1cbed0f43949203a4c13300bc79f"; + beamDeps = [ + castore + hackney + jason + mime + telemetry + ]; }; - beamDeps = [ castore hackney jason mime telemetry ]; - }; + thousand_island = buildMix rec { + name = "thousand_island"; + version = "1.3.5"; - thousand_island = buildMix rec { - name = "thousand_island"; - version = "1.3.5"; + src = fetchHex { + pkg = "thousand_island"; + version = "${version}"; + sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180"; + }; - src = fetchHex { - pkg = "thousand_island"; - version = "${version}"; - sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180"; + beamDeps = [ telemetry ]; }; - beamDeps = [ telemetry ]; - }; + timex = buildMix rec { + name = "timex"; + version = "3.7.11"; - timex = buildMix rec { - name = "timex"; - version = "3.7.11"; + src = fetchHex { + pkg = "timex"; + version = "${version}"; + sha256 = "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa"; + }; - src = fetchHex { - pkg = "timex"; - version = "${version}"; - sha256 = "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa"; + beamDeps = [ + combine + gettext + tzdata + ]; }; - beamDeps = [ combine gettext tzdata ]; - }; + tls_certificate_check = buildRebar3 rec { + name = "tls_certificate_check"; + version = "1.21.0"; - tls_certificate_check = buildRebar3 rec { - name = "tls_certificate_check"; - version = "1.21.0"; + src = fetchHex { + pkg = "tls_certificate_check"; + version = "${version}"; + sha256 = "6cee6cffc35a390840d48d463541d50746a7b0e421acaadb833cfc7961e490e7"; + }; - src = fetchHex { - pkg = "tls_certificate_check"; - version = "${version}"; - sha256 = "6cee6cffc35a390840d48d463541d50746a7b0e421acaadb833cfc7961e490e7"; + beamDeps = [ ssl_verify_fun ]; }; - beamDeps = [ ssl_verify_fun ]; - }; + tz_world = buildMix rec { + name = "tz_world"; + version = "1.3.2"; - tz_world = buildMix rec { - name = "tz_world"; - version = "1.3.2"; + src = fetchHex { + pkg = "tz_world"; + version = "${version}"; + sha256 = "d1a345e07b3378c4c902ad54fbd5d54c8c3dd55dba883b7407fe57bcec45ff2a"; + }; - src = fetchHex { - pkg = "tz_world"; - version = "${version}"; - sha256 = "d1a345e07b3378c4c902ad54fbd5d54c8c3dd55dba883b7407fe57bcec45ff2a"; + beamDeps = [ + castore + certifi + geo + jason + ]; }; - beamDeps = [ castore certifi geo jason ]; - }; + tzdata = buildMix rec { + name = "tzdata"; + version = "1.1.1"; - tzdata = buildMix rec { - name = "tzdata"; - version = "1.1.1"; + src = fetchHex { + pkg = "tzdata"; + version = "${version}"; + sha256 = "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"; + }; - src = fetchHex { - pkg = "tzdata"; - version = "${version}"; - sha256 = "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"; + beamDeps = [ hackney ]; }; - beamDeps = [ hackney ]; - }; + ueberauth = buildMix rec { + name = "ueberauth"; + version = "0.10.8"; - ueberauth = buildMix rec { - name = "ueberauth"; - version = "0.10.8"; + src = fetchHex { + pkg = "ueberauth"; + version = "${version}"; + sha256 = "f2d3172e52821375bccb8460e5fa5cb91cfd60b19b636b6e57e9759b6f8c10c1"; + }; - src = fetchHex { - pkg = "ueberauth"; - version = "${version}"; - sha256 = "f2d3172e52821375bccb8460e5fa5cb91cfd60b19b636b6e57e9759b6f8c10c1"; + beamDeps = [ plug ]; }; - beamDeps = [ plug ]; - }; + ueberauth_cas = buildMix rec { + name = "ueberauth_cas"; + version = "2.3.1"; - ueberauth_cas = buildMix rec { - name = "ueberauth_cas"; - version = "2.3.1"; + src = fetchHex { + pkg = "ueberauth_cas"; + version = "${version}"; + sha256 = "5068ae2b9e217c2f05aa9a67483a6531e21ba0be9a6f6c8749bb7fd1599be321"; + }; - src = fetchHex { - pkg = "ueberauth_cas"; - version = "${version}"; - sha256 = "5068ae2b9e217c2f05aa9a67483a6531e21ba0be9a6f6c8749bb7fd1599be321"; + beamDeps = [ + httpoison + sweet_xml + ueberauth + ]; }; - beamDeps = [ httpoison sweet_xml ueberauth ]; - }; + ueberauth_discord = buildMix rec { + name = "ueberauth_discord"; + version = "0.7.0"; - ueberauth_discord = buildMix rec { - name = "ueberauth_discord"; - version = "0.7.0"; + src = fetchHex { + pkg = "ueberauth_discord"; + version = "${version}"; + sha256 = "d6f98ef91abb4ddceada4b7acba470e0e68c4d2de9735ff2f24172a8e19896b4"; + }; - src = fetchHex { - pkg = "ueberauth_discord"; - version = "${version}"; - sha256 = "d6f98ef91abb4ddceada4b7acba470e0e68c4d2de9735ff2f24172a8e19896b4"; + beamDeps = [ + oauth2 + ueberauth + ]; }; - beamDeps = [ oauth2 ueberauth ]; - }; + ueberauth_facebook = buildMix rec { + name = "ueberauth_facebook"; + version = "0.10.0"; - ueberauth_facebook = buildMix rec { - name = "ueberauth_facebook"; - version = "0.10.0"; + src = fetchHex { + pkg = "ueberauth_facebook"; + version = "${version}"; + sha256 = "bf8ce5d66b1c50da8abff77e8086c1b710bdde63f4acaef19a651ba43a9537a8"; + }; - src = fetchHex { - pkg = "ueberauth_facebook"; - version = "${version}"; - sha256 = "bf8ce5d66b1c50da8abff77e8086c1b710bdde63f4acaef19a651ba43a9537a8"; + beamDeps = [ + oauth2 + ueberauth + ]; }; - beamDeps = [ oauth2 ueberauth ]; - }; + ueberauth_github = buildMix rec { + name = "ueberauth_github"; + version = "0.8.3"; - ueberauth_github = buildMix rec { - name = "ueberauth_github"; - version = "0.8.3"; + src = fetchHex { + pkg = "ueberauth_github"; + version = "${version}"; + sha256 = "ae0ab2879c32cfa51d7287a48219b262bfdab0b7ec6629f24160564247493cc6"; + }; - src = fetchHex { - pkg = "ueberauth_github"; - version = "${version}"; - sha256 = "ae0ab2879c32cfa51d7287a48219b262bfdab0b7ec6629f24160564247493cc6"; + beamDeps = [ + oauth2 + ueberauth + ]; }; - beamDeps = [ oauth2 ueberauth ]; - }; + ueberauth_gitlab_strategy = buildMix rec { + name = "ueberauth_gitlab_strategy"; + version = "0.4.0"; - ueberauth_gitlab_strategy = buildMix rec { - name = "ueberauth_gitlab_strategy"; - version = "0.4.0"; + src = fetchHex { + pkg = "ueberauth_gitlab_strategy"; + version = "${version}"; + sha256 = "e86e2e794bb063c07c05a6b1301b73f2be3ba9308d8f47ecc4d510ef9226091e"; + }; - src = fetchHex { - pkg = "ueberauth_gitlab_strategy"; - version = "${version}"; - sha256 = "e86e2e794bb063c07c05a6b1301b73f2be3ba9308d8f47ecc4d510ef9226091e"; + beamDeps = [ + oauth2 + ueberauth + ]; }; - beamDeps = [ oauth2 ueberauth ]; - }; + ueberauth_google = buildMix rec { + name = "ueberauth_google"; + version = "0.12.1"; - ueberauth_google = buildMix rec { - name = "ueberauth_google"; - version = "0.12.1"; + src = fetchHex { + pkg = "ueberauth_google"; + version = "${version}"; + sha256 = "7f7deacd679b2b66e3bffb68ecc77aa1b5396a0cbac2941815f253128e458c38"; + }; - src = fetchHex { - pkg = "ueberauth_google"; - version = "${version}"; - sha256 = "7f7deacd679b2b66e3bffb68ecc77aa1b5396a0cbac2941815f253128e458c38"; + beamDeps = [ + oauth2 + ueberauth + ]; }; - beamDeps = [ oauth2 ueberauth ]; - }; + ueberauth_keycloak_strategy = buildMix rec { + name = "ueberauth_keycloak_strategy"; + version = "0.4.0"; - ueberauth_keycloak_strategy = buildMix rec { - name = "ueberauth_keycloak_strategy"; - version = "0.4.0"; + src = fetchHex { + pkg = "ueberauth_keycloak_strategy"; + version = "${version}"; + sha256 = "c03027937bddcbd9ff499e457f9bb05f79018fa321abf79ebcfed2af0007211b"; + }; - src = fetchHex { - pkg = "ueberauth_keycloak_strategy"; - version = "${version}"; - sha256 = "c03027937bddcbd9ff499e457f9bb05f79018fa321abf79ebcfed2af0007211b"; + beamDeps = [ + oauth2 + ueberauth + ]; }; - beamDeps = [ oauth2 ueberauth ]; - }; + ueberauth_twitter = buildMix rec { + name = "ueberauth_twitter"; + version = "0.4.1"; - ueberauth_twitter = buildMix rec { - name = "ueberauth_twitter"; - version = "0.4.1"; + src = fetchHex { + pkg = "ueberauth_twitter"; + version = "${version}"; + sha256 = "83ca8ea3e1a3f976f1adbebfb323b9ebf53af453fbbf57d0486801a303b16065"; + }; - src = fetchHex { - pkg = "ueberauth_twitter"; - version = "${version}"; - sha256 = "83ca8ea3e1a3f976f1adbebfb323b9ebf53af453fbbf57d0486801a303b16065"; + beamDeps = [ + httpoison + oauther + ueberauth + ]; }; - beamDeps = [ httpoison oauther ueberauth ]; - }; + unicode_util_compat = buildRebar3 rec { + name = "unicode_util_compat"; + version = "0.7.0"; - unicode_util_compat = buildRebar3 rec { - name = "unicode_util_compat"; - version = "0.7.0"; + src = fetchHex { + pkg = "unicode_util_compat"; + version = "${version}"; + sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"; + }; - src = fetchHex { - pkg = "unicode_util_compat"; - version = "${version}"; - sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"; + beamDeps = [ ]; }; - beamDeps = []; - }; + unplug = buildMix rec { + name = "unplug"; + version = "1.0.0"; - unplug = buildMix rec { - name = "unplug"; - version = "1.0.0"; + src = fetchHex { + pkg = "unplug"; + version = "${version}"; + sha256 = "d171a85758aa412d4e85b809c203e1b1c4c76a4d6ab58e68dc9a8a8acd9b7c3a"; + }; - src = fetchHex { - pkg = "unplug"; - version = "${version}"; - sha256 = "d171a85758aa412d4e85b809c203e1b1c4c76a4d6ab58e68dc9a8a8acd9b7c3a"; + beamDeps = [ plug ]; }; - beamDeps = [ plug ]; - }; + unsafe = buildMix rec { + name = "unsafe"; + version = "1.0.2"; - unsafe = buildMix rec { - name = "unsafe"; - version = "1.0.2"; + src = fetchHex { + pkg = "unsafe"; + version = "${version}"; + sha256 = "b485231683c3ab01a9cd44cb4a79f152c6f3bb87358439c6f68791b85c2df675"; + }; - src = fetchHex { - pkg = "unsafe"; - version = "${version}"; - sha256 = "b485231683c3ab01a9cd44cb4a79f152c6f3bb87358439c6f68791b85c2df675"; + beamDeps = [ ]; }; - beamDeps = []; - }; + vite_phx = buildMix rec { + name = "vite_phx"; + version = "0.3.1"; - vite_phx = buildMix rec { - name = "vite_phx"; - version = "0.3.1"; + src = fetchHex { + pkg = "vite_phx"; + version = "${version}"; + sha256 = "08b1726094a131490ff0a2c7764c4cdd4b5cdf8ba9762638a5dd4bcd9e5fc936"; + }; - src = fetchHex { - pkg = "vite_phx"; - version = "${version}"; - sha256 = "08b1726094a131490ff0a2c7764c4cdd4b5cdf8ba9762638a5dd4bcd9e5fc936"; + beamDeps = [ + jason + phoenix + ]; }; - beamDeps = [ jason phoenix ]; - }; + websock = buildMix rec { + name = "websock"; + version = "0.5.3"; - websock = buildMix rec { - name = "websock"; - version = "0.5.3"; + src = fetchHex { + pkg = "websock"; + version = "${version}"; + sha256 = "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"; + }; - src = fetchHex { - pkg = "websock"; - version = "${version}"; - sha256 = "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"; + beamDeps = [ ]; }; - beamDeps = []; - }; + websock_adapter = buildMix rec { + name = "websock_adapter"; + version = "0.5.5"; - websock_adapter = buildMix rec { - name = "websock_adapter"; - version = "0.5.5"; + src = fetchHex { + pkg = "websock_adapter"; + version = "${version}"; + sha256 = "4b977ba4a01918acbf77045ff88de7f6972c2a009213c515a445c48f224ffce9"; + }; - src = fetchHex { - pkg = "websock_adapter"; - version = "${version}"; - sha256 = "4b977ba4a01918acbf77045ff88de7f6972c2a009213c515a445c48f224ffce9"; + beamDeps = [ + bandit + plug + websock + ]; }; - beamDeps = [ bandit plug websock ]; - }; + xml_builder = buildMix rec { + name = "xml_builder"; + version = "2.2.0"; - xml_builder = buildMix rec { - name = "xml_builder"; - version = "2.2.0"; + src = fetchHex { + pkg = "xml_builder"; + version = "${version}"; + sha256 = "9d66d52fb917565d358166a4314078d39ef04d552904de96f8e73f68f64a62c9"; + }; - src = fetchHex { - pkg = "xml_builder"; - version = "${version}"; - sha256 = "9d66d52fb917565d358166a4314078d39ef04d552904de96f8e73f68f64a62c9"; + beamDeps = [ ]; }; - - beamDeps = []; }; - }; -in self - +in +self diff --git a/pkgs/servers/monitoring/alerta/client.nix b/pkgs/servers/monitoring/alerta/client.nix index ea1e589ad4f29..80c59beb8174f 100644 --- a/pkgs/servers/monitoring/alerta/client.nix +++ b/pkgs/servers/monitoring/alerta/client.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { @@ -13,7 +14,12 @@ python3.pkgs.buildPythonApplication rec { }; propagatedBuildInputs = with python3.pkgs; [ - six click requests requests-hawk pytz tabulate + six + click + requests + requests-hawk + pytz + tabulate ]; doCheck = false; diff --git a/pkgs/servers/monitoring/alerta/default.nix b/pkgs/servers/monitoring/alerta/default.nix index 61e878286ce2f..4d2fae037fbd3 100644 --- a/pkgs/servers/monitoring/alerta/default.nix +++ b/pkgs/servers/monitoring/alerta/default.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchPypi +{ + lib, + python3, + fetchPypi, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 7bcece9ffb17b..91888297cd0db 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -1,16 +1,32 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, removeReferencesTo -, tzdata, wire -, yarn, nodejs, python3, cacert -, jq, moreutils -, nix-update-script, nixosTests, xcbuild -, faketty +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + removeReferencesTo, + tzdata, + wire, + yarn, + nodejs, + python3, + cacert, + jq, + moreutils, + nix-update-script, + nixosTests, + xcbuild, + faketty, }: buildGoModule rec { pname = "grafana"; version = "11.4.0"; - subPackages = [ "pkg/cmd/grafana" "pkg/cmd/grafana-server" "pkg/cmd/grafana-cli" ]; + subPackages = [ + "pkg/cmd/grafana" + "pkg/cmd/grafana-server" + "pkg/cmd/grafana-cli" + ]; src = fetchFromGitHub { owner = "grafana"; @@ -20,21 +36,27 @@ buildGoModule rec { }; # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22 - env = { - CYPRESS_INSTALL_BINARY = 0; - } // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) { - # Fix error: no member named 'aligned_alloc' in the global namespace. - # Occurs while building @esfx/equatable@npm:1.0.2 on x86_64-darwin - NIX_CFLAGS_COMPILE = "-D_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION=1"; - }; + env = + { + CYPRESS_INSTALL_BINARY = 0; + } + // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) { + # Fix error: no member named 'aligned_alloc' in the global namespace. + # Occurs while building @esfx/equatable@npm:1.0.2 on x86_64-darwin + NIX_CFLAGS_COMPILE = "-D_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION=1"; + }; offlineCache = stdenv.mkDerivation { name = "${pname}-${version}-yarn-offline-cache"; inherit src env; nativeBuildInputs = [ - yarn nodejs cacert - jq moreutils python3 - # @esfx/equatable@npm:1.0.2 fails to build on darwin as it requires `xcbuild` + yarn + nodejs + cacert + jq + moreutils + python3 + # @esfx/equatable@npm:1.0.2 fails to build on darwin as it requires `xcbuild` ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild.xcbuild ]; buildPhase = '' runHook preBuild @@ -50,12 +72,14 @@ buildGoModule rec { dontInstall = true; dontFixup = true; outputHashMode = "recursive"; - outputHash = rec { - x86_64-linux = "sha256-5/l0vXVjHC4oG7ahVscJOwS74be7F8jei9nq6m2v2tQ="; - aarch64-linux = x86_64-linux; - aarch64-darwin = "sha256-+texKSlcvtoi83ySEXy2E4SqnfyQ0l4MixTBpdemWvI="; - x86_64-darwin = aarch64-darwin; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + outputHash = + rec { + x86_64-linux = "sha256-5/l0vXVjHC4oG7ahVscJOwS74be7F8jei9nq6m2v2tQ="; + aarch64-linux = x86_64-linux; + aarch64-darwin = "sha256-+texKSlcvtoi83ySEXy2E4SqnfyQ0l4MixTBpdemWvI="; + x86_64-darwin = aarch64-darwin; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; disallowedRequisites = [ offlineCache ]; @@ -64,8 +88,15 @@ buildGoModule rec { proxyVendor = true; - nativeBuildInputs = [ wire yarn jq moreutils removeReferencesTo python3 faketty ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild.xcbuild ]; + nativeBuildInputs = [ + wire + yarn + jq + moreutils + removeReferencesTo + python3 + faketty + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild.xcbuild ]; postConfigure = '' # Generate DI code that's required to compile the package. @@ -102,7 +133,9 @@ buildGoModule rec { ''; ldflags = [ - "-s" "-w" "-X main.version=${version}" + "-s" + "-w" + "-X main.version=${version}" ]; # Tests start http servers which need to bind to local addresses: @@ -135,8 +168,20 @@ buildGoModule rec { description = "Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB"; license = licenses.agpl3Only; homepage = "https://grafana.com"; - maintainers = with maintainers; [ offline fpletz willibutz globin ma27 Frostman ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + maintainers = with maintainers; [ + offline + fpletz + willibutz + globin + ma27 + Frostman + ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; mainProgram = "grafana-server"; }; } diff --git a/pkgs/servers/monitoring/grafana/plugins/default.nix b/pkgs/servers/monitoring/grafana/plugins/default.nix index 95be470831c1d..d388c3c586887 100644 --- a/pkgs/servers/monitoring/grafana/plugins/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/default.nix @@ -4,4 +4,4 @@ let callPackage = newScope (pkgs // plugins); plugins = import ./plugins.nix { inherit callPackage; }; in - plugins +plugins diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix index 2351df623a561..e9262c2cac763 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix @@ -1,41 +1,73 @@ -{ stdenvNoCC, fetchurl, unzip, lib }: +{ + stdenvNoCC, + fetchurl, + unzip, + lib, +}: -{ pname, versionPrefix ? "", version, zipHash, meta ? {}, passthru ? {}, ... }@args: -let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({ - inherit pname versionPrefix version; +{ + pname, + versionPrefix ? "", + version, + zipHash, + meta ? { }, + passthru ? { }, + ... +}@args: +let + plat = stdenvNoCC.hostPlatform.system; +in +stdenvNoCC.mkDerivation ( + { + inherit pname versionPrefix version; - src = if lib.isAttrs zipHash then - fetchurl { - name = "${pname}-${versionPrefix}${version}-${plat}.zip"; - hash = zipHash.${plat} or (throw "Unsupported system: ${plat}"); - url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download" + { - x86_64-linux = "?os=linux&arch=amd64"; - aarch64-linux = "?os=linux&arch=arm64"; - x86_64-darwin = "?os=darwin&arch=amd64"; - aarch64-darwin = "?os=darwin&arch=arm64"; - }.${plat} or (throw "Unsupported system: ${plat}"); - } - else - fetchurl { - name = "${pname}-${versionPrefix}${version}.zip"; - hash = zipHash; - url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download"; - } - ; + src = + if lib.isAttrs zipHash then + fetchurl { + name = "${pname}-${versionPrefix}${version}-${plat}.zip"; + hash = zipHash.${plat} or (throw "Unsupported system: ${plat}"); + url = + "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download" + + { + x86_64-linux = "?os=linux&arch=amd64"; + aarch64-linux = "?os=linux&arch=arm64"; + x86_64-darwin = "?os=darwin&arch=amd64"; + aarch64-darwin = "?os=darwin&arch=arm64"; + } + .${plat} or (throw "Unsupported system: ${plat}"); + } + else + fetchurl { + name = "${pname}-${versionPrefix}${version}.zip"; + hash = zipHash; + url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download"; + }; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; - installPhase = '' - cp -R "." "$out" - chmod -R a-w "$out" - chmod u+w "$out" - ''; + installPhase = '' + cp -R "." "$out" + chmod -R a-w "$out" + chmod u+w "$out" + ''; - passthru = { - updateScript = [ ./update-grafana-plugin.sh pname ]; - } // passthru; + passthru = { + updateScript = [ + ./update-grafana-plugin.sh + pname + ]; + } // passthru; - meta = { - homepage = "https://grafana.com/grafana/plugins/${pname}"; - } // meta; -} // (builtins.removeAttrs args [ "zipHash" "pname" "versionPrefix" "version" "sha256" "meta" ])) + meta = { + homepage = "https://grafana.com/grafana/plugins/${pname}"; + } // meta; + } + // (builtins.removeAttrs args [ + "zipHash" + "pname" + "versionPrefix" + "version" + "sha256" + "meta" + ]) +) diff --git a/pkgs/servers/monitoring/icinga2/default.nix b/pkgs/servers/monitoring/icinga2/default.nix index 1b833e9ccbafe..c5646a7b5b8b3 100644 --- a/pkgs/servers/monitoring/icinga2/default.nix +++ b/pkgs/servers/monitoring/icinga2/default.nix @@ -1,11 +1,31 @@ -{ stdenv, runCommand, lib, fetchFromGitHub, cmake, flex, bison, systemd -, boost, openssl, patchelf, mariadb-connector-c, postgresql, zlib, tzdata -# Databases -, withMysql ? true, withPostgresql ? false -# Features -, withChecker ? true, withCompat ? false, withLivestatus ? false -, withNotification ? true, withPerfdata ? true, withIcingadb ? true -, nameSuffix ? "" }: +{ + stdenv, + runCommand, + lib, + fetchFromGitHub, + cmake, + flex, + bison, + systemd, + boost, + openssl, + patchelf, + mariadb-connector-c, + postgresql, + zlib, + tzdata, + # Databases + withMysql ? true, + withPostgresql ? false, + # Features + withChecker ? true, + withCompat ? false, + withLivestatus ? false, + withNotification ? true, + withPerfdata ? true, + withIcingadb ? true, + nameSuffix ? "", +}: stdenv.mkDerivation rec { pname = "icinga2${nameSuffix}"; @@ -24,40 +44,53 @@ stdenv.mkDerivation rec { ./no-var-directories.patch # Prevent /var directories from being created ]; - cmakeFlags = let - mkFeatureFlag = label: value: "-DICINGA2_WITH_${label}=${if value then "ON" else "OFF"}"; - in [ - # Paths - "-DCMAKE_INSTALL_SYSCONFDIR=etc" - "-DCMAKE_INSTALL_LOCALSTATEDIR=/var" - "-DCMAKE_INSTALL_FULL_SBINDIR=bin" - "-DICINGA2_RUNDIR=/run" - "-DMYSQL_INCLUDE_DIR=${mariadb-connector-c.dev}/include/mariadb" - "-DMYSQL_LIB=${mariadb-connector-c.out}/lib/mariadb/libmysqlclient.a" - "-DICINGA2_PLUGINDIR=bin" - "-DICINGA2_LTO_BUILD=yes" - # Features - (mkFeatureFlag "MYSQL" withMysql) - (mkFeatureFlag "PGSQL" withPostgresql) - (mkFeatureFlag "CHECKER" withChecker) - (mkFeatureFlag "COMPAT" withCompat) - (mkFeatureFlag "LIVESTATUS" withLivestatus) - (mkFeatureFlag "NOTIFICATION" withNotification) - (mkFeatureFlag "PERFDATA" withPerfdata) - (mkFeatureFlag "ICINGADB" withIcingadb) - # Misc. - "-DICINGA2_USER=icinga2" - "-DICINGA2_GROUP=icinga2" - "-DICINGA2_GIT_VERSION_INFO=OFF" - "-DUSE_SYSTEMD=ON" - ]; + cmakeFlags = + let + mkFeatureFlag = label: value: "-DICINGA2_WITH_${label}=${if value then "ON" else "OFF"}"; + in + [ + # Paths + "-DCMAKE_INSTALL_SYSCONFDIR=etc" + "-DCMAKE_INSTALL_LOCALSTATEDIR=/var" + "-DCMAKE_INSTALL_FULL_SBINDIR=bin" + "-DICINGA2_RUNDIR=/run" + "-DMYSQL_INCLUDE_DIR=${mariadb-connector-c.dev}/include/mariadb" + "-DMYSQL_LIB=${mariadb-connector-c.out}/lib/mariadb/libmysqlclient.a" + "-DICINGA2_PLUGINDIR=bin" + "-DICINGA2_LTO_BUILD=yes" + # Features + (mkFeatureFlag "MYSQL" withMysql) + (mkFeatureFlag "PGSQL" withPostgresql) + (mkFeatureFlag "CHECKER" withChecker) + (mkFeatureFlag "COMPAT" withCompat) + (mkFeatureFlag "LIVESTATUS" withLivestatus) + (mkFeatureFlag "NOTIFICATION" withNotification) + (mkFeatureFlag "PERFDATA" withPerfdata) + (mkFeatureFlag "ICINGADB" withIcingadb) + # Misc. + "-DICINGA2_USER=icinga2" + "-DICINGA2_GROUP=icinga2" + "-DICINGA2_GIT_VERSION_INFO=OFF" + "-DUSE_SYSTEMD=ON" + ]; - outputs = [ "out" "doc" ]; + outputs = [ + "out" + "doc" + ]; - buildInputs = [ boost openssl systemd ] - ++ lib.optional withPostgresql postgresql; + buildInputs = [ + boost + openssl + systemd + ] ++ lib.optional withPostgresql postgresql; - nativeBuildInputs = [ cmake flex bison patchelf ]; + nativeBuildInputs = [ + cmake + flex + bison + patchelf + ]; doCheck = true; nativeCheckInputs = [ tzdata ]; # legacytimeperiod/dst needs this diff --git a/pkgs/servers/monitoring/laurel/default.nix b/pkgs/servers/monitoring/laurel/default.nix index 54d38a52c6165..2d5e9fe9262e5 100644 --- a/pkgs/servers/monitoring/laurel/default.nix +++ b/pkgs/servers/monitoring/laurel/default.nix @@ -1,7 +1,8 @@ -{ acl -, fetchFromGitHub -, lib -, rustPlatform +{ + acl, + fetchFromGitHub, + lib, + rustPlatform, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/servers/monitoring/loki/promtail.nix b/pkgs/servers/monitoring/loki/promtail.nix index 15bf192e2351e..2e2df636c26f5 100644 --- a/pkgs/servers/monitoring/loki/promtail.nix +++ b/pkgs/servers/monitoring/loki/promtail.nix @@ -2,6 +2,6 @@ grafana-loki.overrideAttrs (o: { pname = "promtail"; - subPackages = ["clients/cmd/promtail"]; + subPackages = [ "clients/cmd/promtail" ]; CGO_ENABLED = 1; }) diff --git a/pkgs/servers/monitoring/openobserve/default.nix b/pkgs/servers/monitoring/openobserve/default.nix index 0948f72fcb09e..7bc779d552d5d 100644 --- a/pkgs/servers/monitoring/openobserve/default.nix +++ b/pkgs/servers/monitoring/openobserve/default.nix @@ -1,17 +1,18 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, protobuf -, bzip2 -, oniguruma -, sqlite -, xz -, zlib -, zstd -, stdenv -, apple_sdk -, buildNpmPackage +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + protobuf, + bzip2, + oniguruma, + sqlite, + xz, + zlib, + zstd, + stdenv, + apple_sdk, + buildNpmPackage, }: let @@ -75,20 +76,25 @@ rustPlatform.buildRustPackage { protobuf ]; - buildInputs = [ - bzip2 - oniguruma - sqlite - xz - zlib - zstd - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with apple_sdk.frameworks; [ - CoreFoundation - CoreServices - IOKit - Security - SystemConfiguration - ]); + buildInputs = + [ + bzip2 + oniguruma + sqlite + xz + zlib + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with apple_sdk.frameworks; + [ + CoreFoundation + CoreServices + IOKit + Security + SystemConfiguration + ] + ); env = { RUSTONIG_SYSTEM_LIBONIG = true; diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix index 1db975f591d98..57d8823e97877 100644 --- a/pkgs/servers/monitoring/prometheus/alertmanager.nix +++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix @@ -1,9 +1,10 @@ -{ lib -, go -, buildGoModule -, fetchFromGitHub -, installShellFiles -, nixosTests +{ + lib, + go, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nixosTests, }: buildGoModule rec { @@ -20,17 +21,24 @@ buildGoModule rec { vendorHash = "sha256-zkHIdEdAy44iV2F929NB3ISuUbxdecaeZcsNQQGd06E="; - subPackages = [ "cmd/alertmanager" "cmd/amtool" ]; - - ldflags = let t = "github.com/prometheus/common/version"; in [ - "-X ${t}.Version=${version}" - "-X ${t}.Revision=${src.rev}" - "-X ${t}.Branch=unknown" - "-X ${t}.BuildUser=nix@nixpkgs" - "-X ${t}.BuildDate=unknown" - "-X ${t}.GoVersion=${lib.getVersion go}" + subPackages = [ + "cmd/alertmanager" + "cmd/amtool" ]; + ldflags = + let + t = "github.com/prometheus/common/version"; + in + [ + "-X ${t}.Version=${version}" + "-X ${t}.Revision=${src.rev}" + "-X ${t}.Branch=unknown" + "-X ${t}.BuildUser=nix@nixpkgs" + "-X ${t}.BuildDate=unknown" + "-X ${t}.GoVersion=${lib.getVersion go}" + ]; + nativeBuildInputs = [ installShellFiles ]; postInstall = '' @@ -47,6 +55,11 @@ buildGoModule rec { homepage = "https://github.com/prometheus/alertmanager"; changelog = "https://github.com/prometheus/alertmanager/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ benley fpletz globin Frostman ]; + maintainers = with maintainers; [ + benley + fpletz + globin + Frostman + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/apcupsd-exporter.nix b/pkgs/servers/monitoring/prometheus/apcupsd-exporter.nix index 1f6dd51d8989a..585f0ca58c992 100644 --- a/pkgs/servers/monitoring/prometheus/apcupsd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/apcupsd-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "apcupsd-exporter"; @@ -20,6 +25,9 @@ buildGoModule rec { mainProgram = "apcupsd_exporter"; homepage = "https://github.com/mdlayher/apcupsd_exporter"; license = licenses.mit; - maintainers = with maintainers; [ _1000101 mdlayher ]; + maintainers = with maintainers; [ + _1000101 + mdlayher + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix b/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix index b9a11f47d8dbe..a36851d7b28c0 100644 --- a/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/atlas-exporter.nix b/pkgs/servers/monitoring/prometheus/atlas-exporter.nix index 755f1d64e15c8..5aaa34f65c52f 100644 --- a/pkgs/servers/monitoring/prometheus/atlas-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/atlas-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "atlas-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix b/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix index b3855f532e9a6..bdfee37adbde4 100644 --- a/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "aws-s3-exporter"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = null; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Exports Prometheus metrics about S3 buckets and objects"; diff --git a/pkgs/servers/monitoring/prometheus/bird-exporter.nix b/pkgs/servers/monitoring/prometheus/bird-exporter.nix index 25a90e1fdb0a3..b25523083d23c 100644 --- a/pkgs/servers/monitoring/prometheus/bird-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/bird-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "bird-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix b/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix index 2f92d69d35608..6740df977e4ea 100644 --- a/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/bitcoin-exporter.nix @@ -1,4 +1,8 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ + lib, + fetchFromGitHub, + python3Packages, +}: python3Packages.buildPythonApplication rec { pname = "bitcoin-prometheus-exporter"; @@ -17,7 +21,11 @@ python3Packages.buildPythonApplication rec { # The makefile builds docker containers. dontBuild = true; - propagatedBuildInputs = with python3Packages; [ prometheus-client python-bitcoinlib riprova ]; + propagatedBuildInputs = with python3Packages; [ + prometheus-client + python-bitcoinlib + riprova + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix index 66456a85e150f..e0f97425ccc90 100644 --- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "blackbox_exporter"; @@ -34,6 +39,12 @@ buildGoModule rec { mainProgram = "blackbox_exporter"; homepage = "https://github.com/prometheus/blackbox_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ globin fpletz willibutz Frostman ma27 ]; + maintainers = with maintainers; [ + globin + fpletz + willibutz + Frostman + ma27 + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix index 56943bd502fd1..e50c4f2fe5499 100644 --- a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "collectd-exporter"; @@ -13,7 +18,10 @@ buildGoModule rec { vendorHash = "sha256-kr8mHprIfXc/Yj/w2UKBkqIYZHmWtBLjqYDvKSXlozQ="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; passthru.tests = { inherit (nixosTests.prometheus-exporters) collectd; }; diff --git a/pkgs/servers/monitoring/prometheus/consul-exporter.nix b/pkgs/servers/monitoring/prometheus/consul-exporter.nix index 5c386a898eda3..24c23564f545c 100644 --- a/pkgs/servers/monitoring/prometheus/consul-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/consul-exporter.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix index e78efeb22d85e..15dde30d122ed 100644 --- a/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGo122Module, fetchFromGitHub, nixosTests }: +{ + lib, + buildGo122Module, + fetchFromGitHub, + nixosTests, +}: buildGo122Module rec { pname = "dnsmasq_exporter"; @@ -22,6 +27,9 @@ buildGo122Module rec { description = "Dnsmasq exporter for Prometheus"; mainProgram = "dnsmasq_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ willibutz globin ]; + maintainers = with maintainers; [ + willibutz + globin + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/domain-exporter.nix b/pkgs/servers/monitoring/prometheus/domain-exporter.nix index 8e25a2c523ad9..e09cfa5cb7759 100644 --- a/pkgs/servers/monitoring/prometheus/domain-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/domain-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "domain-exporter"; @@ -22,6 +27,11 @@ buildGoModule rec { description = "Exports the expiration time of your domains as prometheus metrics"; mainProgram = "domain_exporter"; license = licenses.mit; - maintainers = with maintainers; [ mmilata prusnak peterhoeg caarlos0 ]; + maintainers = with maintainers; [ + mmilata + prusnak + peterhoeg + caarlos0 + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/fastly-exporter.nix b/pkgs/servers/monitoring/prometheus/fastly-exporter.nix index 277d2a96d32ce..fba05cc25c236 100644 --- a/pkgs/servers/monitoring/prometheus/fastly-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/fastly-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/flow-exporter.nix b/pkgs/servers/monitoring/prometheus/flow-exporter.nix index e5fa4a7dcf832..2de347f3010d6 100644 --- a/pkgs/servers/monitoring/prometheus/flow-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/flow-exporter.nix @@ -1,4 +1,8 @@ -{ buildGoModule, fetchFromGitHub, lib }: +{ + buildGoModule, + fetchFromGitHub, + lib, +}: buildGoModule rec { pname = "flow-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix b/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix index d964f90cba44c..922e6998564cd 100644 --- a/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/fritzbox-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "fritzbox-exporter"; @@ -22,6 +27,10 @@ buildGoModule rec { mainProgram = "exporter"; homepage = "https://github.com/mxschmitt/fritzbox_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ bachp flokli sbruder ]; + maintainers = with maintainers; [ + bachp + flokli + sbruder + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix b/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix index 6be53d0acd31d..e8b8bcab6fad4 100644 --- a/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gitlab-ci-pipelines-exporter"; @@ -25,6 +29,9 @@ buildGoModule rec { mainProgram = "gitlab-ci-pipelines-exporter"; homepage = "https://github.com/mvisonneau/gitlab-ci-pipelines-exporter"; license = licenses.asl20; - maintainers = with maintainers; [ mmahut mvisonneau ]; + maintainers = with maintainers; [ + mmahut + mvisonneau + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/graphite-exporter.nix b/pkgs/servers/monitoring/prometheus/graphite-exporter.nix index ca0c735476af4..4837b6d6190a5 100644 --- a/pkgs/servers/monitoring/prometheus/graphite-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/graphite-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "graphite-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix index 6795885afd3d4..527c8e0b2d0d4 100644 --- a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "haproxy_exporter"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-s9UVtV8N2SJ1ik864P6p2hPXJ2jstFY/XnWt9fuCDo0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "HAProxy Exporter for the Prometheus monitoring system"; diff --git a/pkgs/servers/monitoring/prometheus/idrac-exporter.nix b/pkgs/servers/monitoring/prometheus/idrac-exporter.nix index 1160984f00230..716a108443b2d 100644 --- a/pkgs/servers/monitoring/prometheus/idrac-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/idrac-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "idrac_exporter"; @@ -15,7 +20,10 @@ buildGoModule rec { patches = [ ./idrac-exporter/config-from-environment.patch ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; doCheck = true; diff --git a/pkgs/servers/monitoring/prometheus/imap-mailstat-exporter.nix b/pkgs/servers/monitoring/prometheus/imap-mailstat-exporter.nix index bd06041d0209b..e8f18e916bdca 100644 --- a/pkgs/servers/monitoring/prometheus/imap-mailstat-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/imap-mailstat-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix b/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix index 1dd3422f76efa..fd7e307e0ee73 100644 --- a/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix b/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix index 09b9d1be1cffc..9432dcd839b1d 100644 --- a/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests, makeWrapper, freeipmi }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, + makeWrapper, + freeipmi, +}: buildGoModule rec { pname = "ipmi_exporter"; diff --git a/pkgs/servers/monitoring/prometheus/jitsi-exporter.nix b/pkgs/servers/monitoring/prometheus/jitsi-exporter.nix index 775818ca15484..7dff722c658fc 100644 --- a/pkgs/servers/monitoring/prometheus/jitsi-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/jitsi-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchgit, nixosTests }: +{ + lib, + buildGoModule, + fetchgit, + nixosTests, +}: buildGoModule rec { pname = "jitsiexporter"; diff --git a/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix b/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix index 9326e5bdff3fe..94051a4bbc0f6 100644 --- a/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix +++ b/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "jmx-prometheus-httpserver"; diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix index 2f168c4c60333..0e9f7dbd63eae 100644 --- a/pkgs/servers/monitoring/prometheus/json-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "prometheus-json-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/kea-exporter.nix b/pkgs/servers/monitoring/prometheus/kea-exporter.nix index f4965bd54fa87..06e0fee6a3b05 100644 --- a/pkgs/servers/monitoring/prometheus/kea-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/kea-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, python3Packages -, fetchPypi -, nixosTests +{ + lib, + python3Packages, + fetchPypi, + nixosTests, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/servers/monitoring/prometheus/keylight-exporter.nix b/pkgs/servers/monitoring/prometheus/keylight-exporter.nix index 59dcd621ca728..45525cd946e25 100644 --- a/pkgs/servers/monitoring/prometheus/keylight-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/keylight-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "keylight-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/knot-exporter.nix b/pkgs/servers/monitoring/prometheus/knot-exporter.nix index 55c62327a0df4..e48763d699896 100644 --- a/pkgs/servers/monitoring/prometheus/knot-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/knot-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchPypi -, nixosTests +{ + lib, + python3, + fetchPypi, + nixosTests, }: python3.pkgs.buildPythonApplication rec { @@ -35,7 +36,10 @@ python3.pkgs.buildPythonApplication rec { description = "Prometheus exporter for Knot DNS"; homepage = "https://gitlab.nic.cz/knot/knot-dns/-/tree/master/python/knot_exporter"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ma27 hexa ]; + maintainers = with maintainers; [ + ma27 + hexa + ]; mainProgram = "knot-exporter"; }; } diff --git a/pkgs/servers/monitoring/prometheus/kthxbye.nix b/pkgs/servers/monitoring/prometheus/kthxbye.nix index a0eb30f6819b6..5d2a5c4170961 100644 --- a/pkgs/servers/monitoring/prometheus/kthxbye.nix +++ b/pkgs/servers/monitoring/prometheus/kthxbye.nix @@ -1,8 +1,9 @@ -{ pkgs -, lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + pkgs, + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/lnd-exporter.nix b/pkgs/servers/monitoring/prometheus/lnd-exporter.nix index 7181fbfe224d0..69e504dba3847 100644 --- a/pkgs/servers/monitoring/prometheus/lnd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/lnd-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "lndmon"; diff --git a/pkgs/servers/monitoring/prometheus/mail-exporter.nix b/pkgs/servers/monitoring/prometheus/mail-exporter.nix index 851d297e760f8..62b9697dca223 100644 --- a/pkgs/servers/monitoring/prometheus/mail-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mail-exporter.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + nixosTests, +}: buildGoModule { pname = "mailexporter"; @@ -27,7 +33,10 @@ buildGoModule { mainProgram = "mailexporter"; homepage = "https://github.com/cherti/mailexporter"; license = licenses.gpl3; - maintainers = with maintainers; [ willibutz globin ]; + maintainers = with maintainers; [ + willibutz + globin + ]; platforms = platforms.linux; }; } diff --git a/pkgs/servers/monitoring/prometheus/mikrotik-exporter.nix b/pkgs/servers/monitoring/prometheus/mikrotik-exporter.nix index 5d335f504bb3f..57c1f78b151ed 100644 --- a/pkgs/servers/monitoring/prometheus/mikrotik-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mikrotik-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "mikrotik-exporter-unstable"; diff --git a/pkgs/servers/monitoring/prometheus/modemmanager-exporter.nix b/pkgs/servers/monitoring/prometheus/modemmanager-exporter.nix index 6975f25704355..e6b2afa7500a4 100644 --- a/pkgs/servers/monitoring/prometheus/modemmanager-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/modemmanager-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "modemmanager-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix b/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix index bb077e1da9789..5b61a585a75c9 100644 --- a/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mongodb-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mongodb_exporter"; @@ -28,12 +32,11 @@ buildGoModule rec { # nixpkgs doesn't have mongodb application available; doCheck = false; - meta = with lib; - { - description = "Prometheus exporter for MongoDB including sharding, replication and storage engines"; - homepage = "https://github.com/percona/mongodb_exporter"; - license = licenses.asl20; - maintainers = with maintainers; [ undefined-moe ]; - mainProgram = "mongodb_exporter"; - }; + meta = with lib; { + description = "Prometheus exporter for MongoDB including sharding, replication and storage engines"; + homepage = "https://github.com/percona/mongodb_exporter"; + license = licenses.asl20; + maintainers = with maintainers; [ undefined-moe ]; + mainProgram = "mongodb_exporter"; + }; } diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix index fe489b3e41229..e23db58e2bc33 100644 --- a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "mysqld_exporter"; @@ -13,14 +17,19 @@ buildGoModule rec { vendorHash = "sha256-9mrvqY0wtoMVAL0PEJ/NWtFzaQPcQDAJvYPluwd2Nx4="; - ldflags = let t = "github.com/prometheus/common/version"; in [ - "-s" "-w" - "-X ${t}.Version=${version}" - "-X ${t}.Revision=${src.rev}" - "-X ${t}.Branch=unknown" - "-X ${t}.BuildUser=nix@nixpkgs" - "-X ${t}.BuildDate=unknown" - ]; + ldflags = + let + t = "github.com/prometheus/common/version"; + in + [ + "-s" + "-w" + "-X ${t}.Version=${version}" + "-X ${t}.Revision=${src.rev}" + "-X ${t}.Branch=unknown" + "-X ${t}.BuildUser=nix@nixpkgs" + "-X ${t}.BuildDate=unknown" + ]; # skips tests with external dependencies, e.g. on mysqld checkFlags = [ @@ -32,6 +41,9 @@ buildGoModule rec { mainProgram = "mysqld_exporter"; homepage = "https://github.com/prometheus/mysqld_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ benley globin ]; + maintainers = with maintainers; [ + benley + globin + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/nats-exporter.nix b/pkgs/servers/monitoring/prometheus/nats-exporter.nix index 3bad1d97ac44d..3ea933d485272 100644 --- a/pkgs/servers/monitoring/prometheus/nats-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nats-exporter.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, gitUpdater, testers, prometheus-nats-exporter }: +{ + lib, + buildGoModule, + fetchFromGitHub, + gitUpdater, + testers, + prometheus-nats-exporter, +}: buildGoModule rec { pname = "prometheus-nats-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix index 1a8abfcb2c37c..f07f4e099f489 100644 --- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildGoModule, nixosTests }: +{ + lib, + fetchFromGitHub, + buildGoModule, + nixosTests, +}: buildGoModule rec { pname = "prometheus-nextcloud-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix index 0f279e0c33974..334a49bcdf6a8 100644 --- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "nginx_exporter"; @@ -13,14 +18,18 @@ buildGoModule rec { vendorHash = "sha256-ua3Cm1VXRs3M58vJ/fEt7SH+ZYegt0WjOGRV/iU8qZk="; - ldflags = let t = "github.com/prometheus/common/version"; in [ - "-s" - "-w" - "-X ${t}.Version=${version}" - "-X ${t}.Branch=unknown" - "-X ${t}.BuildUser=nix@nixpkgs" - "-X ${t}.BuildDate=unknown" - ]; + ldflags = + let + t = "github.com/prometheus/common/version"; + in + [ + "-s" + "-w" + "-X ${t}.Version=${version}" + "-X ${t}.Branch=unknown" + "-X ${t}.BuildUser=nix@nixpkgs" + "-X ${t}.BuildDate=unknown" + ]; passthru.tests = { inherit (nixosTests.prometheus-exporters) nginx; }; @@ -29,6 +38,11 @@ buildGoModule rec { mainProgram = "nginx-prometheus-exporter"; homepage = "https://github.com/nginxinc/nginx-prometheus-exporter"; license = licenses.asl20; - maintainers = with maintainers; [ benley fpletz willibutz globin ]; + maintainers = with maintainers; [ + benley + fpletz + willibutz + globin + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix b/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix index 3883cdaff5cc5..08e49707907dd 100644 --- a/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "nginxlog_exporter"; diff --git a/pkgs/servers/monitoring/prometheus/nut-exporter.nix b/pkgs/servers/monitoring/prometheus/nut-exporter.nix index c9ec09a92172a..92ba73329bb45 100644 --- a/pkgs/servers/monitoring/prometheus/nut-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nut-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "nut-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix b/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix index d55bebea8aef8..569e845010997 100644 --- a/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pgbouncer-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/php-fpm-exporter.nix b/pkgs/servers/monitoring/prometheus/php-fpm-exporter.nix index a9ede30627d6d..c4c25909beddb 100644 --- a/pkgs/servers/monitoring/prometheus/php-fpm-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/php-fpm-exporter.nix @@ -1,12 +1,13 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, installShellFiles -, getent -, nix-update-script -, testers -, prometheus-php-fpm-exporter +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + installShellFiles, + getent, + nix-update-script, + testers, + prometheus-php-fpm-exporter, }: buildGoModule rec { @@ -22,7 +23,10 @@ buildGoModule rec { vendorHash = "sha256-OK36tHkBtosdfEWFPYMtlbzCkh5cF35NBWYyJrb9fwg="; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; ldflags = [ "-X main.version=${version}" diff --git a/pkgs/servers/monitoring/prometheus/pihole-exporter.nix b/pkgs/servers/monitoring/prometheus/pihole-exporter.nix index 61a91bfd6de5b..27ce43d42d599 100644 --- a/pkgs/servers/monitoring/prometheus/pihole-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/pihole-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pihole-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/ping-exporter.nix b/pkgs/servers/monitoring/prometheus/ping-exporter.nix index 5419903508a40..60e60a795e3ba 100644 --- a/pkgs/servers/monitoring/prometheus/ping-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/ping-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "ping-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix index b34a9b3feba8d..5ae8b92f3d9c8 100644 --- a/pkgs/servers/monitoring/prometheus/postfix-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/postfix-exporter.nix @@ -1,10 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, makeWrapper -, nixosTests -, systemd -, withSystemdSupport ? true +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + nixosTests, + systemd, + withSystemdSupport ? true, }: buildGoModule rec { @@ -20,7 +21,10 @@ buildGoModule rec { vendorHash = "sha256-a4Lk4wh4mvXEjLgFksZIVVtbp+zTUyjtLVuk7vuot2k="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = lib.optionals withSystemdSupport [ makeWrapper ]; buildInputs = lib.optionals withSystemdSupport [ systemd ]; @@ -38,6 +42,9 @@ buildGoModule rec { description = "Prometheus exporter for Postfix"; mainProgram = "postfix_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ willibutz globin ]; + maintainers = with maintainers; [ + willibutz + globin + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix index 9156a01ed87d1..a8b8d36523b79 100644 --- a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "postgres_exporter"; @@ -17,7 +22,9 @@ buildGoModule rec { let t = "github.com/prometheus/common/version"; in - [ "-s" "-w" + [ + "-s" + "-w" "-X ${t}.Version=${version}" "-X ${t}.Revision=unknown" "-X ${t}.Branch=unknown" @@ -34,6 +41,11 @@ buildGoModule rec { description = "Prometheus exporter for PostgreSQL"; mainProgram = "postgres_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ fpletz globin willibutz ma27 ]; + maintainers = with maintainers; [ + fpletz + globin + willibutz + ma27 + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/process-exporter.nix b/pkgs/servers/monitoring/prometheus/process-exporter.nix index 7b80f8d323087..8be36a4576b84 100644 --- a/pkgs/servers/monitoring/prometheus/process-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/process-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "process-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/prom2json.nix b/pkgs/servers/monitoring/prometheus/prom2json.nix index 63f1d7e7b89e0..d11e1a16aa214 100644 --- a/pkgs/servers/monitoring/prometheus/prom2json.nix +++ b/pkgs/servers/monitoring/prometheus/prom2json.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "prom2json"; diff --git a/pkgs/servers/monitoring/prometheus/pve-exporter.nix b/pkgs/servers/monitoring/prometheus/pve-exporter.nix index e456af2ce1062..1ffd7baaace54 100644 --- a/pkgs/servers/monitoring/prometheus/pve-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/pve-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchPypi -, nixosTests +{ + lib, + python3, + fetchPypi, + nixosTests, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/servers/monitoring/prometheus/rabbitmq-exporter.nix b/pkgs/servers/monitoring/prometheus/rabbitmq-exporter.nix index f1d7f534c71e5..87144e1c6bdbe 100644 --- a/pkgs/servers/monitoring/prometheus/rabbitmq-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/rabbitmq-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "rabbitmq_exporter"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-ER0vK0xYUbQT3bqUosQMFT7HBycb3U8oI4Eak72myzs="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; checkFlags = [ # Disable flaky tests on Darwin diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix index 8197f3d08b95b..6f1ed7ef5cf1e 100644 --- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "redis_exporter"; @@ -29,6 +34,10 @@ buildGoModule rec { mainProgram = "redis_exporter"; homepage = "https://github.com/oliver006/redis_exporter"; license = licenses.mit; - maintainers = with maintainers; [ eskytthe srhb ma27 ]; + maintainers = with maintainers; [ + eskytthe + srhb + ma27 + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/rtl_433-exporter.nix b/pkgs/servers/monitoring/prometheus/rtl_433-exporter.nix index 7319f8e2a7f4e..80f1ecc37cc5f 100644 --- a/pkgs/servers/monitoring/prometheus/rtl_433-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/rtl_433-exporter.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, bash, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + bash, + nixosTests, +}: buildGoModule rec { pname = "rtl_433-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/sachet.nix b/pkgs/servers/monitoring/prometheus/sachet.nix index 3b1bc1a5f83a3..8011b96e23a2e 100644 --- a/pkgs/servers/monitoring/prometheus/sachet.nix +++ b/pkgs/servers/monitoring/prometheus/sachet.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/prometheus/script-exporter.nix b/pkgs/servers/monitoring/prometheus/script-exporter.nix index dae56703ebd61..a3e1d76a3ec53 100644 --- a/pkgs/servers/monitoring/prometheus/script-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/script-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "script_exporter"; diff --git a/pkgs/servers/monitoring/prometheus/shelly-exporter.nix b/pkgs/servers/monitoring/prometheus/shelly-exporter.nix index 8dde552e665e9..e5917819b6311 100644 --- a/pkgs/servers/monitoring/prometheus/shelly-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/shelly-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "shelly_exporter"; @@ -20,6 +25,6 @@ buildGoModule rec { mainProgram = "shelly_exporter"; homepage = "https://github.com/aexel90/shelly_exporter"; license = licenses.asl20; - maintainers = with maintainers; [drupol]; + maintainers = with maintainers; [ drupol ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/smokeping-prober.nix b/pkgs/servers/monitoring/prometheus/smokeping-prober.nix index 5b1bf36f68e7f..62bcb6e7a3d5d 100644 --- a/pkgs/servers/monitoring/prometheus/smokeping-prober.nix +++ b/pkgs/servers/monitoring/prometheus/smokeping-prober.nix @@ -1,20 +1,31 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "smokeping_prober"; version = "0.8.1"; - ldflags = let - setVars = rec { - Version = version; - Revision = "722200c4adbd6d1e5d847dfbbd9dec07aa4ca38d"; - Branch = Revision; - BuildUser = "nix"; - }; - varFlags = lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "-X github.com/prometheus/common/version.${name}=${value}") setVars); - in [ - "${varFlags}" "-s" "-w" - ]; + ldflags = + let + setVars = rec { + Version = version; + Revision = "722200c4adbd6d1e5d847dfbbd9dec07aa4ca38d"; + Branch = Revision; + BuildUser = "nix"; + }; + varFlags = lib.concatStringsSep " " ( + lib.mapAttrsToList (name: value: "-X github.com/prometheus/common/version.${name}=${value}") setVars + ); + in + [ + "${varFlags}" + "-s" + "-w" + ]; src = fetchFromGitHub { owner = "SuperQ"; diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix index 2f8c4f7ba3711..b4f395c18361a 100644 --- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, net-snmp, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + net-snmp, + nixosTests, +}: buildGoModule rec { pname = "snmp_exporter"; @@ -23,6 +29,9 @@ buildGoModule rec { description = "SNMP Exporter for Prometheus"; homepage = "https://github.com/prometheus/snmp_exporter"; license = licenses.asl20; - maintainers = with maintainers; [ oida Frostman ]; + maintainers = with maintainers; [ + oida + Frostman + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/sql-exporter.nix b/pkgs/servers/monitoring/prometheus/sql-exporter.nix index ed3602aa6d593..6826e16145c46 100644 --- a/pkgs/servers/monitoring/prometheus/sql-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/sql-exporter.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, go, prometheus-sql-exporter, testers }: +{ + lib, + buildGoModule, + fetchFromGitHub, + go, + prometheus-sql-exporter, + testers, +}: buildGoModule rec { pname = "sql_exporter"; @@ -13,7 +20,10 @@ buildGoModule rec { vendorHash = null; - ldflags = let t = "github.com/prometheus/common/version"; in + ldflags = + let + t = "github.com/prometheus/common/version"; + in [ "-X ${t}.Version=${version}" "-X ${t}.Revision=${src.rev}" diff --git a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix index 192433906023b..c2874b4b6a675 100644 --- a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { @@ -18,7 +19,9 @@ buildGoModule rec { let t = "github.com/prometheus/common/version"; in - [ "-s" "-w" + [ + "-s" + "-w" "-X ${t}.Version=${version}" "-X ${t}.Revision=unknown" "-X ${t}.Branch=unknown" @@ -34,6 +37,9 @@ buildGoModule rec { homepage = "https://github.com/prometheus/statsd_exporter"; changelog = "https://github.com/prometheus/statsd_exporter/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ benley ivan ]; + maintainers = with maintainers; [ + benley + ivan + ]; }; } diff --git a/pkgs/servers/monitoring/prometheus/systemd-exporter.nix b/pkgs/servers/monitoring/prometheus/systemd-exporter.nix index 5448aeb52d59a..eb8305e13c99e 100644 --- a/pkgs/servers/monitoring/prometheus/systemd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/systemd-exporter.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "systemd_exporter"; diff --git a/pkgs/servers/monitoring/prometheus/unbound-exporter.nix b/pkgs/servers/monitoring/prometheus/unbound-exporter.nix index 649009184498f..d6281a0264a9e 100644 --- a/pkgs/servers/monitoring/prometheus/unbound-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/unbound-exporter.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, }: let diff --git a/pkgs/servers/monitoring/prometheus/v2ray-exporter.nix b/pkgs/servers/monitoring/prometheus/v2ray-exporter.nix index 841837325d841..9a3f339b5fbff 100644 --- a/pkgs/servers/monitoring/prometheus/v2ray-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/v2ray-exporter.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "v2ray-exporter"; diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix index ff3a301d3340f..772069ddeb06d 100644 --- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, varnish, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + varnish, + nixosTests, +}: buildGoModule rec { pname = "prometheus_varnish_exporter"; diff --git a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix index 51a13f1efcd03..388441b1c640b 100644 --- a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix @@ -1,4 +1,12 @@ -{ stdenv, rustPlatform, fetchFromGitHub, lib, libiconv, Security, nixosTests }: +{ + stdenv, + rustPlatform, + fetchFromGitHub, + lib, + libiconv, + Security, + nixosTests, +}: rustPlatform.buildRustPackage rec { pname = "wireguard-exporter"; @@ -18,7 +26,10 @@ rustPlatform.buildRustPackage rec { rm .cargo/config.toml ''; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; passthru.tests = { inherit (nixosTests.prometheus-exporters) wireguard; }; @@ -26,7 +37,10 @@ rustPlatform.buildRustPackage rec { description = "Prometheus exporter for WireGuard, written in Rust"; homepage = "https://github.com/MindFlavor/prometheus_wireguard_exporter"; license = licenses.mit; - maintainers = with maintainers; [ ma27 globin ]; + maintainers = with maintainers; [ + ma27 + globin + ]; mainProgram = "prometheus_wireguard_exporter"; }; } diff --git a/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix b/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix index d710eea6c0813..3e397eb0cfc8a 100644 --- a/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix +++ b/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix @@ -1,9 +1,10 @@ -{ lib -, fetchFromGitHub -, python3Packages -, prometheus-alertmanager -, runCommand -, prometheus-xmpp-alerts +{ + lib, + fetchFromGitHub, + python3Packages, + prometheus-alertmanager, + runCommand, + prometheus-xmpp-alerts, }: python3Packages.buildPythonApplication rec { @@ -23,17 +24,19 @@ python3Packages.buildPythonApplication rec { --replace "bs4" "beautifulsoup4" ''; - propagatedBuildInputs = [ - prometheus-alertmanager - ] ++ (with python3Packages; [ - aiohttp - aiohttp-openmetrics - beautifulsoup4 - jinja2 - slixmpp - prometheus-client - pyyaml - ]); + propagatedBuildInputs = + [ + prometheus-alertmanager + ] + ++ (with python3Packages; [ + aiohttp + aiohttp-openmetrics + beautifulsoup4 + jinja2 + slixmpp + prometheus-client + pyyaml + ]); nativeCheckInputs = with python3Packages; [ setuptools @@ -44,7 +47,7 @@ python3Packages.buildPythonApplication rec { pythonImportsCheck = [ "prometheus_xmpp" ]; passthru.tests = { - binaryWorks = runCommand "${pname}-binary-test" {} '' + binaryWorks = runCommand "${pname}-binary-test" { } '' # Running with --help to avoid it erroring due to a missing config file ${prometheus-xmpp-alerts}/bin/prometheus-xmpp-alerts --help | tee $out grep "usage: prometheus-xmpp-alerts" $out diff --git a/pkgs/servers/monitoring/prometheus/zfs-exporter.nix b/pkgs/servers/monitoring/prometheus/zfs-exporter.nix index 3ba1402dc7a99..0091485c92464 100644 --- a/pkgs/servers/monitoring/prometheus/zfs-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/zfs-exporter.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, lib -, fetchFromGitHub +{ + buildGoModule, + lib, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/servers/monitoring/riemann-dash/default.nix b/pkgs/servers/monitoring/riemann-dash/default.nix index 7af5c520ab197..5c3133df60365 100644 --- a/pkgs/servers/monitoring/riemann-dash/default.nix +++ b/pkgs/servers/monitoring/riemann-dash/default.nix @@ -1,4 +1,8 @@ -{ bundlerApp, lib, bundlerUpdateScript }: +{ + bundlerApp, + lib, + bundlerUpdateScript, +}: bundlerApp { pname = "riemann-dash"; @@ -11,7 +15,10 @@ bundlerApp { description = "Javascript, websockets-powered dashboard for Riemann"; homepage = "https://github.com/riemann/riemann-dash"; license = licenses.mit; - maintainers = with maintainers; [ manveru nicknovitski ]; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; platforms = platforms.unix; }; } diff --git a/pkgs/servers/monitoring/riemann-dash/gemset.nix b/pkgs/servers/monitoring/riemann-dash/gemset.nix index 742dbde6b17a6..9a5bb65ef394f 100644 --- a/pkgs/servers/monitoring/riemann-dash/gemset.nix +++ b/pkgs/servers/monitoring/riemann-dash/gemset.nix @@ -1,135 +1,148 @@ { erubis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; type = "gem"; }; version = "2.7.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; type = "gem"; }; version = "1.10.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr"; type = "gem"; }; version = "1.3.6"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; type = "gem"; }; version = "1.6.11"; }; rack-protection = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; type = "gem"; }; version = "1.5.5"; }; rb-fsevent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; type = "gem"; }; version = "0.10.3"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; type = "gem"; }; version = "0.10.0"; }; riemann-dash = { - dependencies = ["erubis" "multi_json" "sass" "sinatra" "webrick"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "erubis" + "multi_json" + "sass" + "sinatra" + "webrick" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h366knb1vx5l4a46ppfr2sb467bb4m448fh8q2al0ixw7wqncvr"; type = "gem"; }; version = "0.2.14"; }; sass = { - dependencies = ["sass-listen"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sass-listen" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0"; type = "gem"; }; version = "3.7.4"; }; sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; type = "gem"; }; version = "4.0.0"; }; sinatra = { - dependencies = ["rack" "rack-protection" "tilt"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "rack" + "rack-protection" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; type = "gem"; }; version = "1.4.8"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; type = "gem"; }; version = "2.0.9"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s42mxihcl2bx0h9q0v2syl70qndydfkl39a06h9il17p895ya8g"; type = "gem"; }; diff --git a/pkgs/servers/monitoring/sensu-go/default.nix b/pkgs/servers/monitoring/sensu-go/default.nix index 97c2dcde13f64..2ddfdb4f4de61 100644 --- a/pkgs/servers/monitoring/sensu-go/default.nix +++ b/pkgs/servers/monitoring/sensu-go/default.nix @@ -1,7 +1,17 @@ -{ buildGo122Module, fetchFromGitHub, lib }: +{ + buildGo122Module, + fetchFromGitHub, + lib, +}: let - generic = { subPackages, pname, postInstall ? "", mainProgram }: + generic = + { + subPackages, + pname, + postInstall ? "", + mainProgram, + }: buildGo122Module rec { inherit pname; version = "6.11.0"; @@ -27,19 +37,24 @@ let doCheck = false; - ldflags = let - versionPkg = "github.com/sensu/sensu-go/version"; - in [ - "-X ${versionPkg}.Version=${version}" - "-X ${versionPkg}.BuildSHA=${shortRev}" - ]; + ldflags = + let + versionPkg = "github.com/sensu/sensu-go/version"; + in + [ + "-X ${versionPkg}.Version=${version}" + "-X ${versionPkg}.BuildSHA=${shortRev}" + ]; meta = { inherit mainProgram; homepage = "https://sensu.io"; description = "Open source monitoring tool for ephemeral infrastructure & distributed applications"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ thefloweringash teutat3s ]; + maintainers = with lib.maintainers; [ + thefloweringash + teutat3s + ]; }; }; in diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index a8decc0a33bac..84c8d7ce74bb9 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -1,159 +1,248 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, fmt, buildPackages -# Darwin inputs -, AudioToolbox, AudioUnit -# Inputs -, curl, libcdio, libcdio-paranoia, libmms, libnfs, liburing, samba -# Archive support -, bzip2, zziplib -# Codecs -, audiofile, faad2, ffmpeg, flac, fluidsynth, game-music-emu -, libmad, libmikmod, mpg123, libopus, libvorbis, lame -# Filters -, libsamplerate, soxr -# Outputs -, alsa-lib, libjack2, libpulseaudio, libshout, pipewire -# Misc -, icu, sqlite, avahi, dbus, pcre2, libgcrypt, expat -# Services -, yajl -# Client support -, libmpdclient -# Tag support -, libid3tag -, nixosTests -# For documentation -, doxygen -, python3Packages # for sphinx-build -# For tests -, gtest -, zip +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + glib, + systemd, + boost, + fmt, + buildPackages, + # Darwin inputs + AudioToolbox, + AudioUnit, + # Inputs + curl, + libcdio, + libcdio-paranoia, + libmms, + libnfs, + liburing, + samba, + # Archive support + bzip2, + zziplib, + # Codecs + audiofile, + faad2, + ffmpeg, + flac, + fluidsynth, + game-music-emu, + libmad, + libmikmod, + mpg123, + libopus, + libvorbis, + lame, + # Filters + libsamplerate, + soxr, + # Outputs + alsa-lib, + libjack2, + libpulseaudio, + libshout, + pipewire, + # Misc + icu, + sqlite, + avahi, + dbus, + pcre2, + libgcrypt, + expat, + # Services + yajl, + # Client support + libmpdclient, + # Tag support + libid3tag, + nixosTests, + # For documentation + doxygen, + python3Packages, # for sphinx-build + # For tests + gtest, + zip, }: let - concatAttrVals = nameList: set: lib.concatMap (x: set.${x} or []) nameList; + concatAttrVals = nameList: set: lib.concatMap (x: set.${x} or [ ]) nameList; featureDependencies = { # Storage plugins - udisks = [ dbus ]; - webdav = [ curl expat ]; + udisks = [ dbus ]; + webdav = [ + curl + expat + ]; # Input plugins - cdio_paranoia = [ libcdio libcdio-paranoia ]; - curl = [ curl ]; - io_uring = [ liburing ]; - mms = [ libmms ]; - nfs = [ libnfs ]; - smbclient = [ samba ]; + cdio_paranoia = [ + libcdio + libcdio-paranoia + ]; + curl = [ curl ]; + io_uring = [ liburing ]; + mms = [ libmms ]; + nfs = [ libnfs ]; + smbclient = [ samba ]; # Archive support - bzip2 = [ bzip2 ]; - zzip = [ zziplib ]; + bzip2 = [ bzip2 ]; + zzip = [ zziplib ]; # Decoder plugins - audiofile = [ audiofile ]; - faad = [ faad2 ]; - ffmpeg = [ ffmpeg ]; - flac = [ flac ]; - fluidsynth = [ fluidsynth ]; - gme = [ game-music-emu ]; - mad = [ libmad ]; - mikmod = [ libmikmod ]; - mpg123 = [ mpg123 ]; - opus = [ libopus ]; - vorbis = [ libvorbis ]; + audiofile = [ audiofile ]; + faad = [ faad2 ]; + ffmpeg = [ ffmpeg ]; + flac = [ flac ]; + fluidsynth = [ fluidsynth ]; + gme = [ game-music-emu ]; + mad = [ libmad ]; + mikmod = [ libmikmod ]; + mpg123 = [ mpg123 ]; + opus = [ libopus ]; + vorbis = [ libvorbis ]; # Encoder plugins - vorbisenc = [ libvorbis ]; - lame = [ lame ]; + vorbisenc = [ libvorbis ]; + lame = [ lame ]; # Filter plugins libsamplerate = [ libsamplerate ]; - soxr = [ soxr ]; + soxr = [ soxr ]; # Output plugins - alsa = [ alsa-lib ]; - jack = [ libjack2 ]; - pipewire = [ pipewire ]; - pulse = [ libpulseaudio ]; - shout = [ libshout ]; + alsa = [ alsa-lib ]; + jack = [ libjack2 ]; + pipewire = [ pipewire ]; + pulse = [ libpulseaudio ]; + shout = [ libshout ]; # Commercial services - qobuz = [ curl libgcrypt yajl ]; - soundcloud = [ curl yajl ]; + qobuz = [ + curl + libgcrypt + yajl + ]; + soundcloud = [ + curl + yajl + ]; # Client support - libmpdclient = [ libmpdclient ]; + libmpdclient = [ libmpdclient ]; # Tag support - id3tag = [ libid3tag ]; + id3tag = [ libid3tag ]; # Misc - dbus = [ dbus ]; - expat = [ expat ]; - icu = [ icu ]; - pcre = [ pcre2 ]; - sqlite = [ sqlite ]; - syslog = [ ]; - systemd = [ systemd ]; - yajl = [ yajl ]; - zeroconf = [ avahi dbus ]; + dbus = [ dbus ]; + expat = [ expat ]; + icu = [ icu ]; + pcre = [ pcre2 ]; + sqlite = [ sqlite ]; + syslog = [ ]; + systemd = [ systemd ]; + yajl = [ yajl ]; + zeroconf = [ + avahi + dbus + ]; }; nativeFeatureDependencies = { - documentation = [ doxygen python3Packages.sphinx ]; + documentation = [ + doxygen + python3Packages.sphinx + ]; }; - run = { features ? null }: + run = + { + features ? null, + }: let # Disable platform specific features if needed # using libmad to decode mp3 files on darwin is causing a segfault -- there # is probably a solution, but I'm disabling it for now - platformMask = lib.optionals stdenv.hostPlatform.isDarwin [ "mad" "pulse" "jack" "smbclient" ] - ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ "alsa" "pipewire" "io_uring" "systemd" "syslog" ]; + platformMask = + lib.optionals stdenv.hostPlatform.isDarwin [ + "mad" + "pulse" + "jack" + "smbclient" + ] + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + "alsa" + "pipewire" + "io_uring" + "systemd" + "syslog" + ]; - knownFeatures = builtins.attrNames featureDependencies ++ builtins.attrNames nativeFeatureDependencies; + knownFeatures = + builtins.attrNames featureDependencies + ++ builtins.attrNames nativeFeatureDependencies; platformFeatures = lib.subtractLists platformMask knownFeatures; - features_ = if (features == null ) - then platformFeatures + features_ = + if (features == null) then + platformFeatures else - let unknown = lib.subtractLists knownFeatures features; in - if (unknown != []) - then throw "Unknown feature(s): ${lib.concatStringsSep " " unknown}" + let + unknown = lib.subtractLists knownFeatures features; + in + if (unknown != [ ]) then + throw "Unknown feature(s): ${lib.concatStringsSep " " unknown}" + else + let + unsupported = lib.subtractLists platformFeatures features; + in + if (unsupported != [ ]) then + throw "Feature(s) ${lib.concatStringsSep " " unsupported} are not supported on ${stdenv.hostPlatform.system}" else - let unsupported = lib.subtractLists platformFeatures features; in - if (unsupported != []) - then throw "Feature(s) ${lib.concatStringsSep " " unsupported} are not supported on ${stdenv.hostPlatform.system}" - else features; + features; - in stdenv.mkDerivation rec { + in + stdenv.mkDerivation rec { pname = "mpd"; version = "0.23.16"; src = fetchFromGitHub { - owner = "MusicPlayerDaemon"; - repo = "MPD"; - rev = "v${version}"; + owner = "MusicPlayerDaemon"; + repo = "MPD"; + rev = "v${version}"; sha256 = "sha256-0To+V+4xLjymGpRSpsyE/Une5uUpCEiAg+d041guPA0="; }; - buildInputs = [ - glib - boost - fmt - # According to the configurePhase of meson, gtest is considered a - # runtime dependency. Quoting: - # - # Run-time dependency GTest found: YES 1.10.0 - gtest - ] + buildInputs = + [ + glib + boost + fmt + # According to the configurePhase of meson, gtest is considered a + # runtime dependency. Quoting: + # + # Run-time dependency GTest found: YES 1.10.0 + gtest + ] ++ concatAttrVals features_ featureDependencies - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioToolbox AudioUnit ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + AudioUnit + ]; nativeBuildInputs = [ meson ninja pkg-config - ] - ++ concatAttrVals features_ nativeFeatureDependencies; + ] ++ concatAttrVals features_ nativeFeatureDependencies; depsBuildBuild = [ buildPackages.stdenv.cc ]; - postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "12.0") '' - substituteInPlace src/output/plugins/OSXOutputPlugin.cxx \ - --replace kAudioObjectPropertyElement{Main,Master} \ - --replace kAudioHardwareServiceDeviceProperty_Virtual{Main,Master}Volume - ''; + postPatch = + lib.optionalString + (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "12.0") + '' + substituteInPlace src/output/plugins/OSXOutputPlugin.cxx \ + --replace kAudioObjectPropertyElement{Main,Master} \ + --replace kAudioHardwareServiceDeviceProperty_Virtual{Main,Master}Volume + ''; # Otherwise, the meson log says: # @@ -164,33 +253,37 @@ let mesonAutoFeatures = "disabled"; - outputs = [ "out" "doc" ] - ++ lib.optional (builtins.elem "documentation" features_) "man"; + outputs = [ + "out" + "doc" + ] ++ lib.optional (builtins.elem "documentation" features_) "man"; CXXFLAGS = lib.optionals stdenv.hostPlatform.isDarwin [ "-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0" ]; - mesonFlags = [ - "-Dtest=true" - "-Dmanpages=true" - "-Dhtml_manual=true" - ] + mesonFlags = + [ + "-Dtest=true" + "-Dmanpages=true" + "-Dhtml_manual=true" + ] ++ map (x: "-D${x}=enabled") features_ ++ map (x: "-D${x}=disabled") (lib.subtractLists features_ knownFeatures) - ++ lib.optional (builtins.elem "zeroconf" features_) - "-Dzeroconf=avahi" - ++ lib.optional (builtins.elem "systemd" features_) - "-Dsystemd_system_unit_dir=etc/systemd/system"; + ++ lib.optional (builtins.elem "zeroconf" features_) "-Dzeroconf=avahi" + ++ lib.optional (builtins.elem "systemd" features_) "-Dsystemd_system_unit_dir=etc/systemd/system"; passthru.tests.nixos = nixosTests.mpd; meta = with lib; { description = "Flexible, powerful daemon for playing music"; - homepage = "https://www.musicpd.org/"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ astsmtl tobim ]; - platforms = platforms.unix; + homepage = "https://www.musicpd.org/"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ + astsmtl + tobim + ]; + platforms = platforms.unix; mainProgram = "mpd"; longDescription = '' @@ -203,18 +296,45 @@ let in { mpd = run { }; - mpd-small = run { features = [ - "webdav" "curl" "mms" "bzip2" "zzip" "nfs" - "audiofile" "faad" "flac" "gme" - "mpg123" "opus" "vorbis" "vorbisenc" - "lame" "libsamplerate" "shout" - "libmpdclient" "id3tag" "expat" "pcre" - "yajl" "sqlite" - "soundcloud" "qobuz" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "alsa" "systemd" "syslog" "io_uring" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "mad" "jack" - ]; }; + mpd-small = run { + features = + [ + "webdav" + "curl" + "mms" + "bzip2" + "zzip" + "nfs" + "audiofile" + "faad" + "flac" + "gme" + "mpg123" + "opus" + "vorbis" + "vorbisenc" + "lame" + "libsamplerate" + "shout" + "libmpdclient" + "id3tag" + "expat" + "pcre" + "yajl" + "sqlite" + "soundcloud" + "qobuz" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "alsa" + "systemd" + "syslog" + "io_uring" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "mad" + "jack" + ]; + }; mpdWithFeatures = run; } diff --git a/pkgs/servers/mtprotoproxy/default.nix b/pkgs/servers/mtprotoproxy/default.nix index 44ecc6481ecd8..4c0ed8d0abda5 100644 --- a/pkgs/servers/mtprotoproxy/default.nix +++ b/pkgs/servers/mtprotoproxy/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, python, pyaes, pycrypto, uvloop, wrapPython }: +{ + lib, + stdenv, + fetchFromGitHub, + python, + pyaes, + pycrypto, + uvloop, + wrapPython, +}: stdenv.mkDerivation rec { pname = "mtprotoproxy"; @@ -12,7 +21,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ wrapPython ]; - pythonPath = [ pyaes pycrypto uvloop ]; + pythonPath = [ + pyaes + pycrypto + uvloop + ]; installPhase = '' install -Dm755 mtprotoproxy.py $out/bin/mtprotoproxy @@ -21,9 +34,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Async MTProto proxy for Telegram"; - license = licenses.mit; - homepage = "https://github.com/alexbers/mtprotoproxy"; - platforms = python.meta.platforms; + license = licenses.mit; + homepage = "https://github.com/alexbers/mtprotoproxy"; + platforms = python.meta.platforms; maintainers = with maintainers; [ abbradar ]; mainProgram = "mtprotoproxy"; }; diff --git a/pkgs/servers/mx-puppet-discord/node-composition.nix b/pkgs/servers/mx-puppet-discord/node-composition.nix index f47a724999ed7..12460bea17a16 100644 --- a/pkgs/servers/mx-puppet-discord/node-composition.nix +++ b/pkgs/servers/mx-puppet-discord/node-composition.nix @@ -1,17 +1,34 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{pkgs ? import ../../.. { +{ + pkgs ? import ../../.. { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: + }, + system ? builtins.currentSystem, + nodejs ? pkgs."nodejs_18", +}: let nodeEnv = import ../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; + inherit (pkgs) + stdenv + lib + python2 + runCommand + writeTextFile + writeShellScript + ; inherit pkgs nodejs; libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null; }; in import ./node-packages.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit (pkgs) + fetchurl + nix-gitignore + stdenv + lib + fetchgit + ; inherit nodeEnv; } diff --git a/pkgs/servers/mx-puppet-discord/node-packages.nix b/pkgs/servers/mx-puppet-discord/node-packages.nix index 9cf1324ae6fa9..ac126426d54f9 100644 --- a/pkgs/servers/mx-puppet-discord/node-packages.nix +++ b/pkgs/servers/mx-puppet-discord/node-packages.nix @@ -1,6 +1,14 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}: +{ + nodeEnv, + fetchurl, + fetchgit, + nix-gitignore, + stdenv, + lib, + globalBuildInputs ? [ ], +}: let sources = { @@ -3262,15 +3270,18 @@ let dependencies = [ sources."@babel/code-frame-7.18.6" sources."@babel/helper-validator-identifier-7.19.1" - (sources."@babel/highlight-7.18.6" // { - dependencies = [ - sources."ansi-styles-3.2.1" - sources."chalk-2.4.2" - sources."escape-string-regexp-1.0.5" - sources."has-flag-3.0.0" - sources."supports-color-5.5.0" - ]; - }) + ( + sources."@babel/highlight-7.18.6" + // { + dependencies = [ + sources."ansi-styles-3.2.1" + sources."chalk-2.4.2" + sources."escape-string-regexp-1.0.5" + sources."has-flag-3.0.0" + sources."supports-color-5.5.0" + ]; + } + ) sources."@colors/colors-1.5.0" sources."@dabh/diagnostics-2.0.3" sources."@discordjs/collection-0.1.6" @@ -3306,12 +3317,15 @@ let sources."accepts-1.3.8" sources."agent-base-6.0.2" sources."ansi-regex-5.0.1" - (sources."ansi-styles-4.3.0" // { - dependencies = [ - sources."color-convert-2.0.1" - sources."color-name-1.1.4" - ]; - }) + ( + sources."ansi-styles-4.3.0" + // { + dependencies = [ + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + ]; + } + ) sources."aproba-2.0.0" sources."are-we-there-yet-2.0.0" sources."argparse-1.0.10" @@ -3322,22 +3336,28 @@ let sources."asynckit-0.4.0" sources."balanced-match-1.0.2" sources."base64-js-1.5.1" - (sources."basic-auth-2.0.1" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) + ( + sources."basic-auth-2.0.1" + // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + } + ) sources."better-sqlite3-7.6.2" sources."bindings-1.5.0" sources."bintrees-1.0.2" sources."bl-4.1.0" sources."blurhash-1.1.5" - (sources."body-parser-1.20.0" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - ]; - }) + ( + sources."body-parser-1.20.0" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + ]; + } + ) sources."brace-expansion-1.1.11" sources."buffer-5.7.1" sources."buffer-writer-2.0.0" @@ -3349,11 +3369,14 @@ let sources."canvas-2.10.1" sources."chalk-4.1.2" sources."chownr-2.0.0" - (sources."clone-response-1.0.3" // { - dependencies = [ - sources."mimic-response-1.0.1" - ]; - }) + ( + sources."clone-response-1.0.3" + // { + dependencies = [ + sources."mimic-response-1.0.1" + ]; + } + ) sources."color-3.2.1" sources."color-convert-1.9.3" sources."color-name-1.1.3" @@ -3363,17 +3386,20 @@ let sources."colorspace-1.1.4" sources."combined-stream-1.0.8" sources."command-line-args-5.2.1" - (sources."command-line-usage-5.0.5" // { - dependencies = [ - sources."ansi-styles-3.2.1" - sources."array-back-2.0.0" - sources."chalk-2.4.2" - sources."escape-string-regexp-1.0.5" - sources."has-flag-3.0.0" - sources."supports-color-5.5.0" - sources."typical-2.6.1" - ]; - }) + ( + sources."command-line-usage-5.0.5" + // { + dependencies = [ + sources."ansi-styles-3.2.1" + sources."array-back-2.0.0" + sources."chalk-2.4.2" + sources."escape-string-regexp-1.0.5" + sources."has-flag-3.0.0" + sources."supports-color-5.5.0" + sources."typical-2.6.1" + ]; + } + ) sources."commander-2.20.3" sources."concat-map-0.0.1" sources."console-control-strings-1.1.0" @@ -3394,19 +3420,25 @@ let sources."destroy-1.2.0" sources."detect-libc-2.0.1" sources."diff-4.0.2" - (sources."dom-serializer-1.4.1" // { - dependencies = [ - sources."domhandler-4.3.1" - sources."entities-2.2.0" - ]; - }) + ( + sources."dom-serializer-1.4.1" + // { + dependencies = [ + sources."domhandler-4.3.1" + sources."entities-2.2.0" + ]; + } + ) sources."domelementtype-2.3.0" sources."domhandler-3.3.0" - (sources."domutils-2.8.0" // { - dependencies = [ - sources."domhandler-4.3.1" - ]; - }) + ( + sources."domutils-2.8.0" + // { + dependencies = [ + sources."domhandler-4.3.1" + ]; + } + ) sources."ee-first-1.1.1" sources."emoji-regex-8.0.0" sources."enabled-2.0.0" @@ -3421,24 +3453,30 @@ let sources."events-3.3.0" sources."expand-template-2.0.3" sources."expire-set-1.0.0" - (sources."express-4.18.1" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - ]; - }) + ( + sources."express-4.18.1" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + ]; + } + ) sources."extend-shallow-2.0.1" sources."fast-safe-stringify-2.1.1" sources."fecha-4.2.3" sources."file-stream-rotator-0.4.1" sources."file-type-12.4.2" sources."file-uri-to-path-1.0.0" - (sources."finalhandler-1.2.0" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - ]; - }) + ( + sources."finalhandler-1.2.0" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + ]; + } + ) sources."find-replace-3.0.0" sources."fn.name-1.1.0" sources."forwarded-0.2.0" @@ -3453,12 +3491,15 @@ let sources."github-from-package-0.0.0" sources."glob-7.2.3" sources."glob-to-regexp-0.4.1" - (sources."got-11.8.5" // { - dependencies = [ - sources."decompress-response-6.0.0" - sources."mimic-response-3.1.0" - ]; - }) + ( + sources."got-11.8.5" + // { + dependencies = [ + sources."decompress-response-6.0.0" + sources."mimic-response-3.1.0" + ]; + } + ) sources."graceful-fs-4.2.10" sources."has-1.0.3" sources."has-flag-4.0.0" @@ -3470,11 +3511,14 @@ let sources."highlight.js-10.7.3" sources."html-to-text-6.0.0" sources."htmlencode-0.0.4" - (sources."htmlparser2-4.1.0" // { - dependencies = [ - sources."entities-2.2.0" - ]; - }) + ( + sources."htmlparser2-4.1.0" + // { + dependencies = [ + sources."entities-2.2.0" + ]; + } + ) sources."http-cache-semantics-4.1.0" sources."http-errors-2.0.0" sources."http2-wrapper-1.0.3" @@ -3505,11 +3549,14 @@ let sources."lowdb-1.0.0" sources."lowercase-keys-2.0.0" sources."lru-cache-6.0.0" - (sources."make-dir-3.1.0" // { - dependencies = [ - sources."semver-6.3.0" - ]; - }) + ( + sources."make-dir-3.1.0" + // { + dependencies = [ + sources."semver-6.3.0" + ]; + } + ) sources."markdown-it-9.1.0" sources."mdurl-1.0.1" sources."media-typer-0.3.0" @@ -3527,13 +3574,16 @@ let sources."mkdirp-1.0.4" sources."mkdirp-classic-0.5.3" sources."moment-2.29.4" - (sources."morgan-1.10.0" // { - dependencies = [ - sources."debug-2.6.9" - sources."ms-2.0.0" - sources."on-finished-2.3.0" - ]; - }) + ( + sources."morgan-1.10.0" + // { + dependencies = [ + sources."debug-2.6.9" + sources."ms-2.0.0" + sources."on-finished-2.3.0" + ]; + } + ) sources."ms-2.1.2" sources."nan-2.16.0" sources."nanoid-3.3.4" @@ -3579,13 +3629,16 @@ let sources."postgres-bytea-1.0.0" sources."postgres-date-1.0.7" sources."postgres-interval-1.2.0" - (sources."prebuild-install-7.1.1" // { - dependencies = [ - sources."decompress-response-6.0.0" - sources."mimic-response-3.1.0" - sources."simple-get-4.0.1" - ]; - }) + ( + sources."prebuild-install-7.1.1" + // { + dependencies = [ + sources."decompress-response-6.0.0" + sources."mimic-response-3.1.0" + sources."simple-get-4.0.1" + ]; + } + ) sources."prism-media-1.3.4" sources."process-0.11.10" sources."prom-client-13.2.0" @@ -3605,30 +3658,42 @@ let sources."safe-buffer-5.2.1" sources."safe-stable-stringify-2.4.0" sources."safer-buffer-2.1.2" - (sources."sanitize-html-2.7.2" // { - dependencies = [ - sources."domhandler-4.3.1" - sources."entities-2.2.0" - sources."htmlparser2-6.1.0" - ]; - }) + ( + sources."sanitize-html-2.7.2" + // { + dependencies = [ + sources."domhandler-4.3.1" + sources."entities-2.2.0" + sources."htmlparser2-6.1.0" + ]; + } + ) sources."semver-7.3.7" - (sources."semver-closest-0.1.2" // { - dependencies = [ - sources."semver-5.7.1" - ]; - }) - (sources."send-0.18.0" // { - dependencies = [ - (sources."debug-2.6.9" // { - dependencies = [ - sources."ms-2.0.0" - ]; - }) - sources."mime-1.6.0" - sources."ms-2.1.3" - ]; - }) + ( + sources."semver-closest-0.1.2" + // { + dependencies = [ + sources."semver-5.7.1" + ]; + } + ) + ( + sources."send-0.18.0" + // { + dependencies = [ + ( + sources."debug-2.6.9" + // { + dependencies = [ + sources."ms-2.0.0" + ]; + } + ) + sources."mime-1.6.0" + sources."ms-2.1.3" + ]; + } + ) sources."serve-static-1.15.0" sources."set-blocking-2.0.0" sources."setimmediate-1.0.5" @@ -3652,18 +3717,24 @@ let sources."strip-json-comments-2.0.1" sources."supports-color-7.2.0" sources."supports-preserve-symlinks-flag-1.0.0" - (sources."table-layout-0.4.5" // { - dependencies = [ - sources."array-back-2.0.0" - sources."typical-2.6.1" - ]; - }) + ( + sources."table-layout-0.4.5" + // { + dependencies = [ + sources."array-back-2.0.0" + sources."typical-2.6.1" + ]; + } + ) sources."tar-6.1.11" - (sources."tar-fs-2.1.1" // { - dependencies = [ - sources."chownr-1.1.4" - ]; - }) + ( + sources."tar-fs-2.1.1" + // { + dependencies = [ + sources."chownr-1.1.4" + ]; + } + ) sources."tar-stream-2.2.0" sources."tdigest-0.1.2" sources."text-hex-1.0.0" @@ -3671,17 +3742,20 @@ let sources."tr46-0.0.3" sources."triple-beam-1.3.0" sources."tslib-1.14.1" - (sources."tslint-5.20.1" // { - dependencies = [ - sources."ansi-styles-3.2.1" - sources."chalk-2.4.2" - sources."escape-string-regexp-1.0.5" - sources."has-flag-3.0.0" - sources."mkdirp-0.5.6" - sources."semver-5.7.1" - sources."supports-color-5.5.0" - ]; - }) + ( + sources."tslint-5.20.1" + // { + dependencies = [ + sources."ansi-styles-3.2.1" + sources."chalk-2.4.2" + sources."escape-string-regexp-1.0.5" + sources."has-flag-3.0.0" + sources."mkdirp-0.5.6" + sources."semver-5.7.1" + sources."supports-color-5.5.0" + ]; + } + ) sources."tsutils-2.29.0" sources."tunnel-agent-0.6.0" sources."tweetnacl-1.0.3" @@ -3693,16 +3767,22 @@ let sources."unescape-1.0.1" sources."unescape-html-1.1.0" sources."unpipe-1.0.0" - (sources."useragent-generator-1.1.1-amkt-22079-finish.1" // { - dependencies = [ - sources."semver-5.7.1" - ]; - }) - (sources."util-0.10.4" // { - dependencies = [ - sources."inherits-2.0.3" - ]; - }) + ( + sources."useragent-generator-1.1.1-amkt-22079-finish.1" + // { + dependencies = [ + sources."semver-5.7.1" + ]; + } + ) + ( + sources."util-0.10.4" + // { + dependencies = [ + sources."inherits-2.0.3" + ]; + } + ) sources."util-deprecate-1.0.2" sources."utils-merge-1.0.1" sources."uuid-3.4.0" @@ -3711,23 +3791,32 @@ let sources."whatwg-url-5.0.0" sources."wide-align-1.1.5" sources."winston-3.8.2" - (sources."winston-compat-0.1.5" // { - dependencies = [ - sources."fecha-2.3.3" - sources."logform-1.10.0" - ]; - }) - (sources."winston-daily-rotate-file-3.10.0" // { - dependencies = [ - sources."semver-6.3.0" - ]; - }) + ( + sources."winston-compat-0.1.5" + // { + dependencies = [ + sources."fecha-2.3.3" + sources."logform-1.10.0" + ]; + } + ) + ( + sources."winston-daily-rotate-file-3.10.0" + // { + dependencies = [ + sources."semver-6.3.0" + ]; + } + ) sources."winston-transport-4.5.0" - (sources."wordwrapjs-3.0.0" // { - dependencies = [ - sources."typical-2.6.1" - ]; - }) + ( + sources."wordwrapjs-3.0.0" + // { + dependencies = [ + sources."typical-2.6.1" + ]; + } + ) sources."wrappy-1.0.2" sources."ws-7.5.9" sources."xtend-4.0.2" @@ -3748,16 +3837,18 @@ in tarball = nodeEnv.buildNodeSourceDist args; package = nodeEnv.buildNodePackage args; shell = nodeEnv.buildNodeShell args; - nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args { - src = stdenv.mkDerivation { - name = args.name + "-package-json"; - src = nix-gitignore.gitignoreSourcePure [ - "*" - "!package.json" - "!package-lock.json" - ] args.src; - dontBuild = true; - installPhase = "mkdir -p $out; cp -r ./* $out;"; - }; - }); + nodeDependencies = nodeEnv.buildNodeDependencies ( + lib.overrideExisting args { + src = stdenv.mkDerivation { + name = args.name + "-package-json"; + src = nix-gitignore.gitignoreSourcePure [ + "*" + "!package.json" + "!package-lock.json" + ] args.src; + dontBuild = true; + installPhase = "mkdir -p $out; cp -r ./* $out;"; + }; + } + ); } diff --git a/pkgs/servers/news/leafnode/1.nix b/pkgs/servers/news/leafnode/1.nix index 1b744ed322b67..7218a82c2564d 100644 --- a/pkgs/servers/news/leafnode/1.nix +++ b/pkgs/servers/news/leafnode/1.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, pcre2 }: +{ + lib, + stdenv, + fetchurl, + pcre2, +}: stdenv.mkDerivation (finalAttrs: { pname = "leafnode"; diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix index 01bd7b011a77e..e7faa5be35a7e 100644 --- a/pkgs/servers/news/leafnode/default.nix +++ b/pkgs/servers/news/leafnode/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, pcre, libxcrypt }: +{ + lib, + stdenv, + fetchurl, + pcre, + libxcrypt, +}: stdenv.mkDerivation (finalAttrs: { pname = "leafnode"; @@ -27,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { sed -i validatefqdn.c -e 's/int is_validfqdn(const char \*f) {/int is_validfqdn(const char *f) { return 1;/;' ''; - buildInputs = [ pcre libxcrypt ]; + buildInputs = [ + pcre + libxcrypt + ]; meta = { homepage = "https://leafnode.sourceforge.io/index.shtml"; diff --git a/pkgs/servers/nextcloud/news-updater.nix b/pkgs/servers/nextcloud/news-updater.nix index d72f13687124b..f26ba5fdaff49 100644 --- a/pkgs/servers/nextcloud/news-updater.nix +++ b/pkgs/servers/nextcloud/news-updater.nix @@ -1,4 +1,9 @@ -{ lib, fetchurl, python3Packages, php }: +{ + lib, + fetchurl, + python3Packages, + php, +}: python3Packages.buildPythonApplication rec { pname = "nextcloud-news-updater"; diff --git a/pkgs/servers/nextcloud/notify_push.nix b/pkgs/servers/nextcloud/notify_push.nix index c84f17086b2c5..b6f1058af18fd 100644 --- a/pkgs/servers/nextcloud/notify_push.nix +++ b/pkgs/servers/nextcloud/notify_push.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, nixosTests -, rustPlatform +{ + lib, + fetchFromGitHub, + nixosTests, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -31,9 +32,9 @@ rustPlatform.buildRustPackage rec { }; }; tests = - lib.filterAttrs - (key: lib.const (lib.hasPrefix "with-postgresql-and-redis" key)) - nixosTests.nextcloud + lib.filterAttrs ( + key: lib.const (lib.hasPrefix "with-postgresql-and-redis" key) + ) nixosTests.nextcloud // { inherit test_client; }; diff --git a/pkgs/servers/nextcloud/packages/nc-versions.nix b/pkgs/servers/nextcloud/packages/nc-versions.nix index 06349531f2084..25d2ae1d931d2 100644 --- a/pkgs/servers/nextcloud/packages/nc-versions.nix +++ b/pkgs/servers/nextcloud/packages/nc-versions.nix @@ -2,12 +2,18 @@ # Licensed under: MIT # this file is used to figure out which versions of nextcloud we have in nixpkgs -{ pkgs ? import ../../../.. {}, lib ? pkgs.lib }: +{ + pkgs ? import ../../../.. { }, + lib ? pkgs.lib, +}: let n = lib.mapAttrsToList (_: v: v.version) ( - lib.filterAttrs (k: v: builtins.match "nextcloud[0-9]+" k != null && (builtins.tryEval v.version).success) - pkgs); -in { + lib.filterAttrs ( + k: v: builtins.match "nextcloud[0-9]+" k != null && (builtins.tryEval v.version).success + ) pkgs + ); +in +{ inherit n; e = lib.concatStringsSep "," n; } diff --git a/pkgs/servers/nominatim/default.nix b/pkgs/servers/nominatim/default.nix index 529849625d93b..55fd98d636674 100644 --- a/pkgs/servers/nominatim/default.nix +++ b/pkgs/servers/nominatim/default.nix @@ -1,8 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, fetchurl -, clang-tools, cmake, bzip2, zlib, expat, boost, git, pandoc, nlohmann_json -# Nominatim needs to be built with the same postgres version it will target -, postgresql -, python3, php, lua +{ + stdenv, + lib, + fetchFromGitHub, + fetchurl, + clang-tools, + cmake, + bzip2, + zlib, + expat, + boost, + git, + pandoc, + nlohmann_json, + # Nominatim needs to be built with the same postgres version it will target + postgresql, + python3, + php, + lua, }: let @@ -39,18 +53,20 @@ stdenv.mkDerivation rec { expat boost nlohmann_json - (python3.withPackages (ps: with ps; [ - pyyaml - python-dotenv - psycopg2 - sqlalchemy - asyncpg - psutil - jinja2 - pyicu - datrie - pyosmium - ])) + (python3.withPackages ( + ps: with ps; [ + pyyaml + python-dotenv + psycopg2 + sqlalchemy + asyncpg + psutil + jinja2 + pyicu + datrie + pyosmium + ] + )) # python3Packages.pylint # We don't want to run pylint because the package could break on pylint bumps which is really annoying. # python3Packages.pytest # disabled since I can't get it to run tests anyway # python3Packages.behave # disabled since I can't get it to run tests anyway diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix index 840c1ff4886f9..8e2eb98f4bd8b 100644 --- a/pkgs/servers/nosql/apache-jena/binary.nix +++ b/pkgs/servers/nosql/apache-jena/binary.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, java, makeWrapper }: +{ + lib, + stdenv, + fetchurl, + java, + makeWrapper, +}: stdenv.mkDerivation rec { pname = "apache-jena"; diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix index ade900bacb60f..e0db8d18f3a9b 100644 --- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix +++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchurl -, java -, coreutils -, which -, makeWrapper +{ + lib, + stdenv, + fetchurl, + java, + coreutils, + which, + makeWrapper, # For the test -, pkgs + pkgs, }: stdenv.mkDerivation rec { @@ -43,7 +44,10 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = with maintainers; [ raskin ]; platforms = platforms.all; - sourceProvenance = with sourceTypes; [ binaryBytecode binaryNativeCode ]; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; homepage = "https://jena.apache.org"; downloadPage = "https://archive.apache.org/dist/jena/binaries/"; mainProgram = "fuseki"; diff --git a/pkgs/servers/nosql/apache-jena/fuseki-test.nix b/pkgs/servers/nosql/apache-jena/fuseki-test.nix index dd8a82d8494f0..af0991cb666d3 100644 --- a/pkgs/servers/nosql/apache-jena/fuseki-test.nix +++ b/pkgs/servers/nosql/apache-jena/fuseki-test.nix @@ -1,18 +1,28 @@ -{ runCommand, apache-jena-fuseki, curl }: +{ + runCommand, + apache-jena-fuseki, + curl, +}: runCommand "fuseki-test-${apache-jena-fuseki.name}" -{ nativeBuildInputs = [ curl apache-jena-fuseki ]; } '' - export FUSEKI_BASE="$PWD/fuseki-base" - mkdir -p "$FUSEKI_BASE/db" - FUSEKI_ARGS="--update --loc=$FUSEKI_BASE/db /dataset" fuseki start - fuseki status - for i in $(seq 120); do - if curl http://127.0.0.1:3030/dataset/data; then - break; - fi - sleep 1 - done - curl -d 'update=insert+data+{++++}' http://127.0.0.1:3030/dataset/update > /dev/null - curl http://127.0.0.1:3030/dataset/data | grep -C999 'test://predicate' - curl -d 'query=select+?s+?p+?o+where+{+?s+?p+?o+.+}' http://127.0.0.1:3030/dataset/query | grep -C999 'test://predicate' - touch $out -'' + { + nativeBuildInputs = [ + curl + apache-jena-fuseki + ]; + } + '' + export FUSEKI_BASE="$PWD/fuseki-base" + mkdir -p "$FUSEKI_BASE/db" + FUSEKI_ARGS="--update --loc=$FUSEKI_BASE/db /dataset" fuseki start + fuseki status + for i in $(seq 120); do + if curl http://127.0.0.1:3030/dataset/data; then + break; + fi + sleep 1 + done + curl -d 'update=insert+data+{++++}' http://127.0.0.1:3030/dataset/update > /dev/null + curl http://127.0.0.1:3030/dataset/data | grep -C999 'test://predicate' + curl -d 'query=select+?s+?p+?o+where+{+?s+?p+?o+.+}' http://127.0.0.1:3030/dataset/query | grep -C999 'test://predicate' + touch $out + '' diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix index ce2da3391be1c..29377500337ea 100644 --- a/pkgs/servers/nosql/cassandra/3.0.nix +++ b/pkgs/servers/nosql/cassandra/3.0.nix @@ -1,7 +1,8 @@ -{ callPackage, lib, ... } @ args: +{ callPackage, lib, ... }@args: callPackage ./generic.nix ( args // lib.importJSON ./3.0.json // { generation = "3_0"; - }) + } +) diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix index 695478f05030e..90763d44f2daa 100644 --- a/pkgs/servers/nosql/cassandra/3.11.nix +++ b/pkgs/servers/nosql/cassandra/3.11.nix @@ -1,7 +1,8 @@ -{ callPackage, lib, ... } @ args: +{ callPackage, lib, ... }@args: callPackage ./generic.nix ( args // lib.importJSON ./3.11.json // { generation = "3_11"; - }) + } +) diff --git a/pkgs/servers/nosql/cassandra/4.nix b/pkgs/servers/nosql/cassandra/4.nix index 5674d48664759..b61e8abbb8e43 100644 --- a/pkgs/servers/nosql/cassandra/4.nix +++ b/pkgs/servers/nosql/cassandra/4.nix @@ -1,8 +1,9 @@ # GENERATED BY update.sh -{ callPackage, lib, ... } @ args: +{ callPackage, lib, ... }@args: callPackage ./generic.nix ( args // lib.importJSON ./4.json // { generation = "4"; - }) + } +) diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix index 7e6d5f02ddfc1..42708ce9b5c11 100644 --- a/pkgs/servers/nosql/cassandra/generic.nix +++ b/pkgs/servers/nosql/cassandra/generic.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchurl -, python311Packages -, makeWrapper -, gawk -, bash -, getopt -, procps -, which -, jre -, nixosTests +{ + lib, + stdenv, + fetchurl, + python311Packages, + makeWrapper, + gawk, + bash, + getopt, + procps, + which, + jre, + nixosTests, # generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11 -, generation -, version -, sha256 -, extraMeta ? { } -, callPackage -, ... + generation, + version, + sha256, + extraMeta ? { }, + callPackage, + ... }: let @@ -128,15 +129,18 @@ stdenv.mkDerivation rec { updateScript = callPackage ./update-script.nix { inherit generation; }; }; - meta = with lib; { - homepage = "https://cassandra.apache.org/"; - description = "Massively scalable open source NoSQL database"; - platforms = platforms.unix; - license = licenses.asl20; - sourceProvenance = with sourceTypes; [ - binaryBytecode - binaryNativeCode # bundled dependency libsigar - ]; - maintainers = [ maintainers.roberth ]; - } // extraMeta; + meta = + with lib; + { + homepage = "https://cassandra.apache.org/"; + description = "Massively scalable open source NoSQL database"; + platforms = platforms.unix; + license = licenses.asl20; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode # bundled dependency libsigar + ]; + maintainers = [ maintainers.roberth ]; + } + // extraMeta; } diff --git a/pkgs/servers/nosql/cassandra/update-script.nix b/pkgs/servers/nosql/cassandra/update-script.nix index b407b704fdfd2..4cbcbe12861ef 100644 --- a/pkgs/servers/nosql/cassandra/update-script.nix +++ b/pkgs/servers/nosql/cassandra/update-script.nix @@ -1,9 +1,10 @@ -{ git -, lib -, runtimeShell -, writeScript -, generation -, gnupg +{ + git, + lib, + runtimeShell, + writeScript, + generation, + gnupg, }: let inherit (lib) makeBinPath; @@ -18,7 +19,12 @@ writeScript "update-cassandra_${generation}" '' exit 1 } cd pkgs/servers/nosql/cassandra - PATH="${makeBinPath [git gnupg]}:$PATH" + PATH="${ + makeBinPath [ + git + gnupg + ] + }:$PATH" tmp="$(mktemp -d)" cleanup() { diff --git a/pkgs/servers/nosql/eventstore/deps.nix b/pkgs/servers/nosql/eventstore/deps.nix index c1bdacfbf074a..eb34d439b87cb 100644 --- a/pkgs/servers/nosql/eventstore/deps.nix +++ b/pkgs/servers/nosql/eventstore/deps.nix @@ -1,315 +1,1556 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "CompareNETObjects"; version = "4.78.0"; sha256 = "0vs0bxnw7287rh7yigq55750hfdzh04xbcaahawfdl9467vp4dgm"; }) - (fetchNuGet { pname = "ConfigureAwaitChecker.Analyzer"; version = "5.0.0.1"; sha256 = "01llfwhra5m3jj1qpa4rj1hbh01drirakzjc2963vkl9iwrzscyl"; }) - (fetchNuGet { pname = "dotnet-retire"; version = "4.0.1"; sha256 = "0zqyivj00mjagzhhkvzckdk5d5ldxhxhv7qk985pis9krfkgzhww"; }) - (fetchNuGet { pname = "Esprima"; version = "3.0.0-rc-01"; sha256 = "068xfs4h34irqab9zbq5s45iycxhbrv2r6fdv47zsxcday9xq617"; }) - (fetchNuGet { pname = "EventStore.Client"; version = "21.2.0"; sha256 = "1crnk0nbwcz4l2dv3ia96skmfn274nbyh5j1p0g9rjbzyy7kzf5j"; }) - (fetchNuGet { pname = "EventStore.Plugins"; version = "22.10.3"; sha256 = "0irii0xk806bc1pfnyn5dgksy4x9nqj9x2m01h9ddnzkzds2n9bi"; }) - (fetchNuGet { pname = "GitHubActionsTestLogger"; version = "2.0.1"; sha256 = "155d1fmnxlq7p7wk4v74b8v8h36nq0i6bq1vhdjf8sbq7f95fj0f"; }) - (fetchNuGet { pname = "GitInfo"; version = "2.0.26"; sha256 = "050l74vkamvbsp8f02b8aknizcknk4fr26dvwvw86mm8iw1dlvrv"; }) - (fetchNuGet { pname = "Google.Protobuf"; version = "3.22.0"; sha256 = "1wjxxlqdrjjb0f3py8sbgsivqms8d22m7xk1zx68gfmyih671in7"; }) - (fetchNuGet { pname = "gpr"; version = "0.1.122"; sha256 = "0z65n8zqdz0p2ackha572gpdjydhgnfszb46rca44773ak6mfa2b"; }) - (fetchNuGet { pname = "Grpc.AspNetCore"; version = "2.52.0"; sha256 = "1apbsqzkns2p0rn31j0q21n3a4lbnp06b4kh2wf44kancvhaj4ch"; }) - (fetchNuGet { pname = "Grpc.AspNetCore.Server"; version = "2.52.0"; sha256 = "0bvi61phh4r48ha0xc8mp0n79n3l0pniik08kvc2cwyq2fk3iiji"; }) - (fetchNuGet { pname = "Grpc.AspNetCore.Server.ClientFactory"; version = "2.52.0"; sha256 = "192bqxg63mn0nc8d8v21xnq3qmchiz90df6liqpbnisdl3avdyhk"; }) - (fetchNuGet { pname = "Grpc.Core"; version = "2.46.5"; sha256 = "0s1vyb1cx5id62kwx67qaqx25bykwpqnm2nmwsmcyqpzgyy0zwy2"; }) - (fetchNuGet { pname = "Grpc.Core.Api"; version = "2.46.5"; sha256 = "0m0vjr69rfqllvvij6rvv79mbks27rhh7b4wnfvj88v43zvvlnq0"; }) - (fetchNuGet { pname = "Grpc.Core.Api"; version = "2.52.0"; sha256 = "1mrc8zkcgvklrc0xalky9xxy9dkq5yk92idj1wm5zgdh6pghsa11"; }) - (fetchNuGet { pname = "Grpc.Net.Client"; version = "2.52.0"; sha256 = "0f8m8nmx30bb5wk61i7aqxnwz00rflyc7l8pl9i60mr8ybq5n671"; }) - (fetchNuGet { pname = "Grpc.Net.ClientFactory"; version = "2.52.0"; sha256 = "18zcrbzhg06f6wvm120176zfkz2sy9jal6p9wh2xsapjk52qin27"; }) - (fetchNuGet { pname = "Grpc.Net.Common"; version = "2.52.0"; sha256 = "1dhf98h89xbcpx4v6lmr3gq51br9r8jm38zhrs9dw8l9vy73x1jy"; }) - (fetchNuGet { pname = "Grpc.Tools"; version = "2.49.1"; sha256 = "1nsxm73b1bn4jjjpz5q6hvqjm77l9vhl4wi36b1pxwgdbdspy5rm"; }) - (fetchNuGet { pname = "Grpc.Tools"; version = "2.52.0"; sha256 = "1a13rrdryykazhq71q339r0xpsyi8vlj2zprrpriak2yn7zhxiqh"; }) - (fetchNuGet { pname = "HdrHistogram"; version = "2.5.0"; sha256 = "1s2np7m3pp17rgambax9a3x5pd2grx74cr325q3xapjz2gd58sj1"; }) - (fetchNuGet { pname = "HostStat.NET"; version = "1.0.2"; sha256 = "1khxpp1fy36njjcmikr0xnxk7zv9d3rcnm6f7x2s94agins23hg7"; }) - (fetchNuGet { pname = "Jint"; version = "3.0.0-beta-2048"; sha256 = "1iyfzpj36b8ybiwrjxwxqz42jgx2wsm8l0dmkiaip8ds0lal71iw"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.TestHost"; version = "6.0.16"; sha256 = "1zpiiq9yjwgcwq89j3jj7jdd2ycp15d3pklqdmhfxclv43ssn3hf"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.3.0"; sha256 = "0qpxygiq53v2d2wl6hccnkjf1lhlxjh4q3w5b6d23aq9pw5qj626"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.3.0"; sha256 = "0m9qqn391ayfi1ffkzvhpij790hs96q6dbhzfkj2ahvw6qx47b30"; }) - (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.3.2"; sha256 = "1f05l2vm8inlwhk36lfbyszjlcnvdd2qw2832npaah0dldn6dz00"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "6.0.10"; sha256 = "0lshgxw6xvjaky1rg0nhdxw91h9m88fq2q3hrq9x0pk1wblsgkjp"; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "6.0.10"; sha256 = "1sdh5rw2pyg6c64z0haxf57bakd5kwaav624vlqif1m59iz26rag"; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.328102"; sha256 = "0i4wvjjcvxdr806s5yzwbjd1w9x8bcshrrq18kmc9ymjd1pkzpxk"; }) - (fetchNuGet { pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; version = "3.0.5"; sha256 = "0j2w8q7a20s46a4nq8vnv8n14aamdamqcfvia9zkvx5xl7l22yb0"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.0.0"; sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.1.1"; sha256 = "0244czr3jflvzcj6axq61j10dkl0f16ad34rw81ryg57v4cvlwx6"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.0.3"; sha256 = "0fiwv35628rzkpixpbqcj8ln4c0hnwhr3is8ha38a9pdzlrs6zx8"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.0"; sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "6.0.0"; sha256 = "1zdyai2rzngmsp3706d12qrdk315c1s3ja218fzb3nc3wd1vz0s8"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.0.0"; sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.1.0"; sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.1.1"; sha256 = "0b4bn0cf39c6jlc8xnpi1d8f3pz0qhf8ng440yb95y5jv5q4fdyw"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.0.3"; sha256 = "18l6ys6z7j07vf5pa3g0d018dfgk5vb9hf3393cmmh448rpjq41m"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.0"; sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.0.0"; sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.1.1"; sha256 = "0n91s6cjfv8plf5swhr307s849jmq2pa3i1rbpb0cb0grxml0mqm"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.0.3"; sha256 = "0zy90kvlvxinwqz38cwj1jmp06a8gar1crdbycjk5wy8d6w5m0br"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.0"; sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "3.1.0"; sha256 = "1bkcrsmm37i7dcg4arffwqmd90vfhaxhrc6vh8mjwwp41q09ghna"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "6.0.0"; sha256 = "02nna984iwnyyz4jjh9vs405nlj0yk1g5vz4v2x30z2c89mx5f9w"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "6.0.0"; sha256 = "1c6l5szma1pdn61ncq1kaqibg0dz65hbma2xl626a8d1m6awn353"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.0.3"; sha256 = "0nd36n0zfqv5l4w4jlbs2smaw0x7lw49aw1wgk3wsyv69s74p3gj"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.0"; sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.1.0"; sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.1.1"; sha256 = "0rn0925aqm1fsbaf0n8jy6ng2fm1cy97lp7yikvx31m6178k9i84"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.0.3"; sha256 = "1hyilp5gr19xz7zcyar6h8jpfksqbn5s9kz0qrfqwvqhq2p7sm5g"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.0"; sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.0.0"; sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.1.0"; sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Composite"; version = "6.0.0"; sha256 = "1yn0cnclbm3lv12fmf6z0mxqsyjk8s8r952fcw4fdv54mvqbfgkl"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Embedded"; version = "6.0.9"; sha256 = "0pni3y0drcjfr3cgpw8iiac589rsh6z5c2h2xnzy3yvk5lx5pl0d"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "6.0.0"; sha256 = "1ikc3kf325xig6njbi2aj5kmww4xlaq9lsrpc8v764fsm4x10474"; }) - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "6.0.0"; sha256 = "09gyyv4fwy9ys84z3aq4lm9y09b7bd1d4l4gfdinmg0z9678f1a4"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.1.0"; sha256 = "04vm9mdjjzg3lpp2rzpgkpn8h5bzdl3bwcr22lshd3kp602ws4k9"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "3.0.3"; sha256 = "0glfid82amr4mxjqpq2ar6vhq6wv88sp463yvhg4pravkcrd0611"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.0.0"; sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.1.1"; sha256 = "12pag6rf01xfa8x1h30mf4czfhlhg2kgi5q712jicy3h12c02w8y"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.0.3"; sha256 = "0kyh6bk9iywbdvn29zm1770fwmag58y7c8rfpx886anxs6p9rh61"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.0"; sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.0.0"; sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.1.0"; sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.1.1"; sha256 = "1sgpwj0sa0ac7m5fnkb482mnch8fsv8hfbvk53c6lyh47s1xhdjg"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.0.3"; sha256 = "1wj871vl1azasbn2lrzzycvzkk72rvaxywnj193xwv11420b0mjh"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.0"; sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "3.1.0"; sha256 = "00bx95j2j0lkrr1znm53qicigvrj4sbc7snh27nqwsp4vkjnpz5h"; }) - (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "5.0.10"; sha256 = "07fk669pjydkcg6bxxv7aj548fzab4yb7ba8370d719lgi9y425l"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.1.1"; sha256 = "0wgpsi874gzzjj099xbdmmsifslkbdjkxd5xrzpc5xdglpkw08vl"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.0.3"; sha256 = "0lq433x3z3dhf4w10vrxnqami6xsr6mwasla3qhmfx7yfybgz7y0"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "3.1.0"; sha256 = "13bhi1q4s79k4qb19m4p94364543jr3a1f8kacjvdhigpmqa732r"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.1.0"; sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.1.1"; sha256 = "033rkqdffybq5prhc7nn6v68zij393n00s5a82yf2n86whwvdfwx"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.0.3"; sha256 = "08zlr6kl92znj9v2cs1wsjw6s98nxbkwnxk8pccbv0b4c7xhb3pf"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.0"; sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; }) - (fetchNuGet { pname = "Microsoft.FASTER.Core"; version = "1.9.5"; sha256 = "1vp2644301bsdad0sd20pjqa8lbf1vc8yvd9rkl986h56hgwczsj"; }) - (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "2.2.8"; sha256 = "1s0n68z6v5mbys4jjrd4jdxrrz81iq4dzmmbmxzmlf59769x8rj9"; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.3.2"; sha256 = "0pm06nxqi8aw04lciqy7iz8ln1qm5mx06cpwgqa2dfwvnjp7zxnm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.0"; sha256 = "0nmdnkmwyxj8cp746hs9an57zspqlmqdm55b00i7yk8a22s6akxz"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.0"; sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9"; }) - (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net461"; version = "1.0.0"; sha256 = "00vkn4c6i0rn1l9pv912y0wgb9h6ks76qah8hvk441nari8fqbm1"; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.2.0"; sha256 = "0l05smcgjzdfa5f60f9q5lylap3i21aswxbava92s19bgv46w2rv"; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.3.2"; sha256 = "0bs38r5kdw1xpbjbi5l82xbhfnfbzr5xhg5520lk05pg914d1ln1"; }) - (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.3.2"; sha256 = "089nmaxzvm5xcf20pm4iiavz2k6lwh69r51xlbqg0ry605mnl869"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) - (fetchNuGet { pname = "MinVer"; version = "4.2.0"; sha256 = "00skhyfh6q2dmqgh1bmcryvkg79kvgc6d9qxbpg43fvaifwxxl99"; }) - (fetchNuGet { pname = "minver-cli"; version = "2.2.0"; sha256 = "0whxllmgyin9n02pvq97633ncflg7k4z0c7p28j4wydv55iz3cxv"; }) - (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; }) - (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; }) - (fetchNuGet { pname = "NUnit"; version = "3.13.3"; sha256 = "0wdzfkygqnr73s6lpxg5b1pwaqz9f414fxpvpdmf72bvh4jaqzv6"; }) - (fetchNuGet { pname = "NUnit3TestAdapter"; version = "4.2.1"; sha256 = "0gildh4xcb6gkxcrrgh5a1j7lq0a7l670jpbs71akl5b5bgy5gc3"; }) - (fetchNuGet { pname = "OpenTelemetry"; version = "1.4.0-rc.1"; sha256 = "17cbj0dx6fxk169rs0ds6cph75z9r1i90xgjdapx1zmx1kwcdn00"; }) - (fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.4.0-rc.1"; sha256 = "09pc8vbhgjq5bibvjw39gjdb99x3nclsggzp509qfcxv8gizcs21"; }) - (fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.4.0-rc.1"; sha256 = "129qk929f21akx87g66f8h1ckj2lj2ij5by5ma7bdm19jpk2yhdx"; }) - (fetchNuGet { pname = "OpenTelemetry.Extensions.DependencyInjection"; version = "1.4.0-rc.1"; sha256 = "19sraav8y53yi1pf8dsjd2n5cnffqd876rjxmlkkbi550qdr9l0v"; }) - (fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.4.0-rc.1"; sha256 = "0h781wdirsqz1hxwmag6dzzng3kpk7nqrmfg0j04z3q23zi9rp9h"; }) - (fetchNuGet { pname = "protobuf-net"; version = "2.4.0"; sha256 = "106lxm9afga7ihlknyy7mlfplyq40mrndksqrsn8ia2a47fbqqld"; }) - (fetchNuGet { pname = "Quickenshtein"; version = "1.5.1"; sha256 = "0mhnywivqxlpznr2fk7jp8g0bshsbq0yyyggcn51blkaabf18grl"; }) - (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) - (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) - (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) - (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) - (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) - (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) - (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) - (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) - (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) - (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) - (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) - (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) - (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) - (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) - (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) - (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) - (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) - (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; }) - (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) - (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) - (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) - (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) - (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) - (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) - (fetchNuGet { pname = "Serilog"; version = "2.0.0"; sha256 = "194c39cwribx7p2sic0w8hjmc83194bc985kl7aqpmljfz376gsc"; }) - (fetchNuGet { pname = "Serilog"; version = "2.12.0"; sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; }) - (fetchNuGet { pname = "Serilog.Enrichers.Process"; version = "2.0.2"; sha256 = "0wivpxljx5s2vh9rw0h8g64siaq3ajm6rpg6y8v3qnxfmlhlas6s"; }) - (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; }) - (fetchNuGet { pname = "Serilog.Expressions"; version = "3.4.0"; sha256 = "10knpl8nnxmksbsq3l7p486kq1n5y5kn8ibvcscmcig6wxhcw05h"; }) - (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.1.0"; sha256 = "0lv370ks2fjdn1nsgkbzbmw6hybnincw3jabr471a5w39pp4fl1c"; }) - (fetchNuGet { pname = "Serilog.Filters.Expressions"; version = "2.1.0"; sha256 = "0pwlcisijbkdhgab2k4vwjqimminxnkzgdrxvq7pz5ba2brsy28l"; }) - (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "3.4.0"; sha256 = "1l6fyy9y5a168i1mm107aqyrwzhqmpy0cp1v13l2b89yv8dc105j"; }) - (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.5.0"; sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; }) - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.1.0"; sha256 = "1rpkphmqfh3bv3m7v1zwz88wz4sirj4xqyff9ga0c6bqhblj6wii"; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) - (fetchNuGet { pname = "Serilog.Sinks.InMemory"; version = "0.11.0"; sha256 = "0kmnj3wx1hwxvgp06avn2zw1mzsfjamrgpaav44ir40100g4hdkd"; }) - (fetchNuGet { pname = "Serilog.Sinks.TextWriter"; version = "2.1.0"; sha256 = "0p13m8spj6psybwdw21gjaxw854va8n6m2rbdy0w78q135br1kcd"; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.2"; sha256 = "07rc4pj3rphi8nhzkcvilnm0fv27qcdp68jdwk4g0zjk7yfvbcay"; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.2"; sha256 = "19hxv895lairrjmk4gkzd3mcb6b0na45xn4n551h4kckplqadg3d"; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.2"; sha256 = "0jn98bkjk8h4smi09z31ib6s6392054lwmkziqmkqf5gf614k2fz"; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.2"; sha256 = "0bnm2fhvcsyg5ry74gal2cziqnyf5a8d2cb491vsa7j41hbbx7kv"; }) - (fetchNuGet { pname = "Superpower"; version = "2.3.0"; sha256 = "0bdsc3c0d6jb0wr67siqfba0ldl0jxbwis6xr0whzqzf6m2cyahm"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; }) - (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; }) - (fetchNuGet { pname = "System.ComponentModel.Composition"; version = "6.0.0"; sha256 = "16zfx5mivkkykp76krw8x68izmjf79ldfmn26k9x3m55lmp9i77c"; }) - (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; }) - (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.0"; sha256 = "1jxhvsh5mzdf0sgb4dfmbys1b12ylyr5pcfyj1map354fiq3qsgm"; }) - (fetchNuGet { pname = "System.Diagnostics.PerformanceCounter"; version = "6.0.1"; sha256 = "17p5vwbgrycsrvv9a9ksxbiziy75x4s25dw71fnbw1ci5kpp8yz7"; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) - (fetchNuGet { pname = "System.Formats.Asn1"; version = "7.0.0"; sha256 = "1a14kgpqz4k7jhi7bs2gpgf67ym5wpj99203zxgwjypj7x47xhbq"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) - (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) - (fetchNuGet { pname = "System.Interactive.Async"; version = "5.0.0"; sha256 = "00flf80ahpyhrsny2kfl9bsyh1mxmsdsigpq3rzhaps9wgdbmzjz"; }) - (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) - (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; }) - (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) - (fetchNuGet { pname = "System.Linq.Async"; version = "6.0.1"; sha256 = "10ira8hmv0i54yp9ggrrdm1c06j538sijfjpn1kmnh9j2xk5yzmq"; }) - (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) - (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) - (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; }) - (fetchNuGet { pname = "System.Private.ServiceModel"; version = "4.10.0"; sha256 = "0048hmv4j4wfpa9hwn8d5l3ag3hwmhp5r26iarfbsxj0q3i2d1a8"; }) - (fetchNuGet { pname = "System.Private.ServiceModel"; version = "4.5.3"; sha256 = "0nyw9m9dj327hn0qb0jmgwpch0f40jv301fk4mrchga8g99xbpng"; }) - (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; }) - (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) - (fetchNuGet { pname = "System.Reflection.DispatchProxy"; version = "4.5.0"; sha256 = "0v9sg38h91aljvjyc77m1y5v34p50hjdbxvvxwa1whlajhafadcn"; }) - (fetchNuGet { pname = "System.Reflection.DispatchProxy"; version = "4.7.1"; sha256 = "10yh3q2i71gcw7c0dfz9qxql2vlvnqjav1hyf1q9rpbvdbgsabrs"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; }) - (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; }) - (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; }) - (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; }) - (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) - (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; }) - (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) - (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; }) - (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "7.0.2"; sha256 = "0px6snb8gdb6mpwsqrhlpbkmjgd63h4yamqm2gvyf9rwibymjbm9"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) - (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "7.0.1"; sha256 = "0p6kx6ag0il7rxxcvm84w141phvr7fafjzxybf920bxwa0jkwzq8"; }) - (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) - (fetchNuGet { pname = "System.ServiceModel.Http"; version = "4.10.0"; sha256 = "1b6dzgrj5ybpr21zh1gnmzbmx7k3xsc53ksmv8ilhj717gpvaz9d"; }) - (fetchNuGet { pname = "System.ServiceModel.Primitives"; version = "4.10.0"; sha256 = "1a1b0li9g7nhmy7r850nprpihkpfhw9gscfbgl38xzyr9crd236w"; }) - (fetchNuGet { pname = "System.ServiceModel.Primitives"; version = "4.5.3"; sha256 = "1v90pci049cn44y0km885k1vrilhb34w6q2zva4y6f3ay84klrih"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) - (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; }) - (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) - (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) - (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) - (fetchNuGet { pname = "YamlDotNet"; version = "12.0.1"; sha256 = "0axlq2xm3lb8kq24b0fsi5yg3gm63fjsy30xkxwngnnx7wd75y2y"; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "CompareNETObjects"; + version = "4.78.0"; + sha256 = "0vs0bxnw7287rh7yigq55750hfdzh04xbcaahawfdl9467vp4dgm"; + }) + (fetchNuGet { + pname = "ConfigureAwaitChecker.Analyzer"; + version = "5.0.0.1"; + sha256 = "01llfwhra5m3jj1qpa4rj1hbh01drirakzjc2963vkl9iwrzscyl"; + }) + (fetchNuGet { + pname = "dotnet-retire"; + version = "4.0.1"; + sha256 = "0zqyivj00mjagzhhkvzckdk5d5ldxhxhv7qk985pis9krfkgzhww"; + }) + (fetchNuGet { + pname = "Esprima"; + version = "3.0.0-rc-01"; + sha256 = "068xfs4h34irqab9zbq5s45iycxhbrv2r6fdv47zsxcday9xq617"; + }) + (fetchNuGet { + pname = "EventStore.Client"; + version = "21.2.0"; + sha256 = "1crnk0nbwcz4l2dv3ia96skmfn274nbyh5j1p0g9rjbzyy7kzf5j"; + }) + (fetchNuGet { + pname = "EventStore.Plugins"; + version = "22.10.3"; + sha256 = "0irii0xk806bc1pfnyn5dgksy4x9nqj9x2m01h9ddnzkzds2n9bi"; + }) + (fetchNuGet { + pname = "GitHubActionsTestLogger"; + version = "2.0.1"; + sha256 = "155d1fmnxlq7p7wk4v74b8v8h36nq0i6bq1vhdjf8sbq7f95fj0f"; + }) + (fetchNuGet { + pname = "GitInfo"; + version = "2.0.26"; + sha256 = "050l74vkamvbsp8f02b8aknizcknk4fr26dvwvw86mm8iw1dlvrv"; + }) + (fetchNuGet { + pname = "Google.Protobuf"; + version = "3.22.0"; + sha256 = "1wjxxlqdrjjb0f3py8sbgsivqms8d22m7xk1zx68gfmyih671in7"; + }) + (fetchNuGet { + pname = "gpr"; + version = "0.1.122"; + sha256 = "0z65n8zqdz0p2ackha572gpdjydhgnfszb46rca44773ak6mfa2b"; + }) + (fetchNuGet { + pname = "Grpc.AspNetCore"; + version = "2.52.0"; + sha256 = "1apbsqzkns2p0rn31j0q21n3a4lbnp06b4kh2wf44kancvhaj4ch"; + }) + (fetchNuGet { + pname = "Grpc.AspNetCore.Server"; + version = "2.52.0"; + sha256 = "0bvi61phh4r48ha0xc8mp0n79n3l0pniik08kvc2cwyq2fk3iiji"; + }) + (fetchNuGet { + pname = "Grpc.AspNetCore.Server.ClientFactory"; + version = "2.52.0"; + sha256 = "192bqxg63mn0nc8d8v21xnq3qmchiz90df6liqpbnisdl3avdyhk"; + }) + (fetchNuGet { + pname = "Grpc.Core"; + version = "2.46.5"; + sha256 = "0s1vyb1cx5id62kwx67qaqx25bykwpqnm2nmwsmcyqpzgyy0zwy2"; + }) + (fetchNuGet { + pname = "Grpc.Core.Api"; + version = "2.46.5"; + sha256 = "0m0vjr69rfqllvvij6rvv79mbks27rhh7b4wnfvj88v43zvvlnq0"; + }) + (fetchNuGet { + pname = "Grpc.Core.Api"; + version = "2.52.0"; + sha256 = "1mrc8zkcgvklrc0xalky9xxy9dkq5yk92idj1wm5zgdh6pghsa11"; + }) + (fetchNuGet { + pname = "Grpc.Net.Client"; + version = "2.52.0"; + sha256 = "0f8m8nmx30bb5wk61i7aqxnwz00rflyc7l8pl9i60mr8ybq5n671"; + }) + (fetchNuGet { + pname = "Grpc.Net.ClientFactory"; + version = "2.52.0"; + sha256 = "18zcrbzhg06f6wvm120176zfkz2sy9jal6p9wh2xsapjk52qin27"; + }) + (fetchNuGet { + pname = "Grpc.Net.Common"; + version = "2.52.0"; + sha256 = "1dhf98h89xbcpx4v6lmr3gq51br9r8jm38zhrs9dw8l9vy73x1jy"; + }) + (fetchNuGet { + pname = "Grpc.Tools"; + version = "2.49.1"; + sha256 = "1nsxm73b1bn4jjjpz5q6hvqjm77l9vhl4wi36b1pxwgdbdspy5rm"; + }) + (fetchNuGet { + pname = "Grpc.Tools"; + version = "2.52.0"; + sha256 = "1a13rrdryykazhq71q339r0xpsyi8vlj2zprrpriak2yn7zhxiqh"; + }) + (fetchNuGet { + pname = "HdrHistogram"; + version = "2.5.0"; + sha256 = "1s2np7m3pp17rgambax9a3x5pd2grx74cr325q3xapjz2gd58sj1"; + }) + (fetchNuGet { + pname = "HostStat.NET"; + version = "1.0.2"; + sha256 = "1khxpp1fy36njjcmikr0xnxk7zv9d3rcnm6f7x2s94agins23hg7"; + }) + (fetchNuGet { + pname = "Jint"; + version = "3.0.0-beta-2048"; + sha256 = "1iyfzpj36b8ybiwrjxwxqz42jgx2wsm8l0dmkiaip8ds0lal71iw"; + }) + (fetchNuGet { + pname = "Microsoft.AspNetCore.TestHost"; + version = "6.0.16"; + sha256 = "1zpiiq9yjwgcwq89j3jj7jdd2ycp15d3pklqdmhfxclv43ssn3hf"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "1.1.0"; + sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "5.0.0"; + sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; + }) + (fetchNuGet { + pname = "Microsoft.Bcl.AsyncInterfaces"; + version = "6.0.0"; + sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Analyzers"; + version = "3.3.3"; + sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.Common"; + version = "4.3.0"; + sha256 = "0qpxygiq53v2d2wl6hccnkjf1lhlxjh4q3w5b6d23aq9pw5qj626"; + }) + (fetchNuGet { + pname = "Microsoft.CodeAnalysis.CSharp"; + version = "4.3.0"; + sha256 = "0m9qqn391ayfi1ffkzvhpij790hs96q6dbhzfkj2ahvw6qx47b30"; + }) + (fetchNuGet { + pname = "Microsoft.CodeCoverage"; + version = "17.3.2"; + sha256 = "1f05l2vm8inlwhk36lfbyszjlcnvdd2qw2832npaah0dldn6dz00"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.0.1"; + sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; + }) + (fetchNuGet { + pname = "Microsoft.CSharp"; + version = "4.7.0"; + sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; + }) + (fetchNuGet { + pname = "Microsoft.Data.Sqlite"; + version = "6.0.10"; + sha256 = "0lshgxw6xvjaky1rg0nhdxw91h9m88fq2q3hrq9x0pk1wblsgkjp"; + }) + (fetchNuGet { + pname = "Microsoft.Data.Sqlite.Core"; + version = "6.0.10"; + sha256 = "1sdh5rw2pyg6c64z0haxf57bakd5kwaav624vlqif1m59iz26rag"; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.NETCore.Client"; + version = "0.2.328102"; + sha256 = "0i4wvjjcvxdr806s5yzwbjd1w9x8bcshrrq18kmc9ymjd1pkzpxk"; + }) + (fetchNuGet { + pname = "Microsoft.Diagnostics.Tracing.TraceEvent"; + version = "3.0.5"; + sha256 = "0j2w8q7a20s46a4nq8vnv8n14aamdamqcfvia9zkvx5xl7l22yb0"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "2.0.0"; + sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "2.1.1"; + sha256 = "0244czr3jflvzcj6axq61j10dkl0f16ad34rw81ryg57v4cvlwx6"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "3.0.3"; + sha256 = "0fiwv35628rzkpixpbqcj8ln4c0hnwhr3is8ha38a9pdzlrs6zx8"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "3.1.0"; + sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration"; + version = "6.0.0"; + sha256 = "1zdyai2rzngmsp3706d12qrdk315c1s3ja218fzb3nc3wd1vz0s8"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.0.0"; + sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.0"; + sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "2.1.1"; + sha256 = "0b4bn0cf39c6jlc8xnpi1d8f3pz0qhf8ng440yb95y5jv5q4fdyw"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "3.0.3"; + sha256 = "18l6ys6z7j07vf5pa3g0d018dfgk5vb9hf3393cmmh448rpjq41m"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "3.1.0"; + sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Abstractions"; + version = "6.0.0"; + sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "2.0.0"; + sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "2.1.1"; + sha256 = "0n91s6cjfv8plf5swhr307s849jmq2pa3i1rbpb0cb0grxml0mqm"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "3.0.3"; + sha256 = "0zy90kvlvxinwqz38cwj1jmp06a8gar1crdbycjk5wy8d6w5m0br"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Binder"; + version = "3.1.0"; + sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; + version = "3.1.0"; + sha256 = "1bkcrsmm37i7dcg4arffwqmd90vfhaxhrc6vh8mjwwp41q09ghna"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.FileExtensions"; + version = "6.0.0"; + sha256 = "02nna984iwnyyz4jjh9vs405nlj0yk1g5vz4v2x30z2c89mx5f9w"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Configuration.Json"; + version = "6.0.0"; + sha256 = "1c6l5szma1pdn61ncq1kaqibg0dz65hbma2xl626a8d1m6awn353"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "3.0.3"; + sha256 = "0nd36n0zfqv5l4w4jlbs2smaw0x7lw49aw1wgk3wsyv69s74p3gj"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection"; + version = "3.1.0"; + sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.0.0"; + sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.1.0"; + sha256 = "0c0cx8r5xkjpxmcfp51959jnp55qjvq28d9vaslk08avvi1by12s"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "2.1.1"; + sha256 = "0rn0925aqm1fsbaf0n8jy6ng2fm1cy97lp7yikvx31m6178k9i84"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "3.0.3"; + sha256 = "1hyilp5gr19xz7zcyar6h8jpfksqbn5s9kz0qrfqwvqhq2p7sm5g"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "3.1.0"; + sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; + version = "5.0.0"; + sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.DependencyModel"; + version = "3.0.0"; + sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "2.1.0"; + sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Abstractions"; + version = "6.0.0"; + sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Composite"; + version = "6.0.0"; + sha256 = "1yn0cnclbm3lv12fmf6z0mxqsyjk8s8r952fcw4fdv54mvqbfgkl"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Embedded"; + version = "6.0.9"; + sha256 = "0pni3y0drcjfr3cgpw8iiac589rsh6z5c2h2xnzy3yvk5lx5pl0d"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileProviders.Physical"; + version = "6.0.0"; + sha256 = "1ikc3kf325xig6njbi2aj5kmww4xlaq9lsrpc8v764fsm4x10474"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.FileSystemGlobbing"; + version = "6.0.0"; + sha256 = "09gyyv4fwy9ys84z3aq4lm9y09b7bd1d4l4gfdinmg0z9678f1a4"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Hosting.Abstractions"; + version = "2.1.0"; + sha256 = "04vm9mdjjzg3lpp2rzpgkpn8h5bzdl3bwcr22lshd3kp602ws4k9"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Http"; + version = "3.0.3"; + sha256 = "0glfid82amr4mxjqpq2ar6vhq6wv88sp463yvhg4pravkcrd0611"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.0.0"; + sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "2.1.1"; + sha256 = "12pag6rf01xfa8x1h30mf4czfhlhg2kgi5q712jicy3h12c02w8y"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "3.0.3"; + sha256 = "0kyh6bk9iywbdvn29zm1770fwmag58y7c8rfpx886anxs6p9rh61"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging"; + version = "3.1.0"; + sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.0.0"; + sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.0"; + sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "2.1.1"; + sha256 = "1sgpwj0sa0ac7m5fnkb482mnch8fsv8hfbvk53c6lyh47s1xhdjg"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "3.0.3"; + sha256 = "1wj871vl1azasbn2lrzzycvzkk72rvaxywnj193xwv11420b0mjh"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Abstractions"; + version = "3.1.0"; + sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Logging.Configuration"; + version = "3.1.0"; + sha256 = "00bx95j2j0lkrr1znm53qicigvrj4sbc7snh27nqwsp4vkjnpz5h"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.ObjectPool"; + version = "5.0.10"; + sha256 = "07fk669pjydkcg6bxxv7aj548fzab4yb7ba8370d719lgi9y425l"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.0.0"; + sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "2.1.1"; + sha256 = "0wgpsi874gzzjj099xbdmmsifslkbdjkxd5xrzpc5xdglpkw08vl"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "3.0.3"; + sha256 = "0lq433x3z3dhf4w10vrxnqami6xsr6mwasla3qhmfx7yfybgz7y0"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options"; + version = "5.0.0"; + sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; + version = "3.1.0"; + sha256 = "13bhi1q4s79k4qb19m4p94364543jr3a1f8kacjvdhigpmqa732r"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.0.0"; + sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.1.0"; + sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.1.1"; + sha256 = "033rkqdffybq5prhc7nn6v68zij393n00s5a82yf2n86whwvdfwx"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "2.2.0"; + sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "3.0.3"; + sha256 = "08zlr6kl92znj9v2cs1wsjw6s98nxbkwnxk8pccbv0b4c7xhb3pf"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "3.1.0"; + sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "5.0.0"; + sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; + }) + (fetchNuGet { + pname = "Microsoft.Extensions.Primitives"; + version = "6.0.0"; + sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; + }) + (fetchNuGet { + pname = "Microsoft.FASTER.Core"; + version = "1.9.5"; + sha256 = "1vp2644301bsdad0sd20pjqa8lbf1vc8yvd9rkl986h56hgwczsj"; + }) + (fetchNuGet { + pname = "Microsoft.Net.Http.Headers"; + version = "2.2.8"; + sha256 = "1s0n68z6v5mbys4jjrd4jdxrrz81iq4dzmmbmxzmlf59769x8rj9"; + }) + (fetchNuGet { + pname = "Microsoft.NET.Test.Sdk"; + version = "17.3.2"; + sha256 = "0pm06nxqi8aw04lciqy7iz8ln1qm5mx06cpwgqa2dfwvnjp7zxnm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "1.1.1"; + sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "2.1.0"; + sha256 = "0nmdnkmwyxj8cp746hs9an57zspqlmqdm55b00i7yk8a22s6akxz"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies"; + version = "1.0.0"; + sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9"; + }) + (fetchNuGet { + pname = "Microsoft.NETFramework.ReferenceAssemblies.net461"; + version = "1.0.0"; + sha256 = "00vkn4c6i0rn1l9pv912y0wgb9h6ks76qah8hvk441nari8fqbm1"; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.2.0"; + sha256 = "0l05smcgjzdfa5f60f9q5lylap3i21aswxbava92s19bgv46w2rv"; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.ObjectModel"; + version = "17.3.2"; + sha256 = "0bs38r5kdw1xpbjbi5l82xbhfnfbzr5xhg5520lk05pg914d1ln1"; + }) + (fetchNuGet { + pname = "Microsoft.TestPlatform.TestHost"; + version = "17.3.2"; + sha256 = "089nmaxzvm5xcf20pm4iiavz2k6lwh69r51xlbqg0ry605mnl869"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + pname = "Microsoft.Win32.SystemEvents"; + version = "6.0.0"; + sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; + }) + (fetchNuGet { + pname = "MinVer"; + version = "4.2.0"; + sha256 = "00skhyfh6q2dmqgh1bmcryvkg79kvgc6d9qxbpg43fvaifwxxl99"; + }) + (fetchNuGet { + pname = "minver-cli"; + version = "2.2.0"; + sha256 = "0whxllmgyin9n02pvq97633ncflg7k4z0c7p28j4wydv55iz3cxv"; + }) + (fetchNuGet { + pname = "Mono.Posix.NETStandard"; + version = "1.0.0"; + sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.0"; + sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; + }) + (fetchNuGet { + pname = "NETStandard.Library"; + version = "2.0.3"; + sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "11.0.2"; + sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.2"; + sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "9.0.1"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }) + (fetchNuGet { + pname = "NuGet.Frameworks"; + version = "5.11.0"; + sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; + }) + (fetchNuGet { + pname = "NUnit"; + version = "3.13.3"; + sha256 = "0wdzfkygqnr73s6lpxg5b1pwaqz9f414fxpvpdmf72bvh4jaqzv6"; + }) + (fetchNuGet { + pname = "NUnit3TestAdapter"; + version = "4.2.1"; + sha256 = "0gildh4xcb6gkxcrrgh5a1j7lq0a7l670jpbs71akl5b5bgy5gc3"; + }) + (fetchNuGet { + pname = "OpenTelemetry"; + version = "1.4.0-rc.1"; + sha256 = "17cbj0dx6fxk169rs0ds6cph75z9r1i90xgjdapx1zmx1kwcdn00"; + }) + (fetchNuGet { + pname = "OpenTelemetry.Api"; + version = "1.4.0-rc.1"; + sha256 = "09pc8vbhgjq5bibvjw39gjdb99x3nclsggzp509qfcxv8gizcs21"; + }) + (fetchNuGet { + pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; + version = "1.4.0-rc.1"; + sha256 = "129qk929f21akx87g66f8h1ckj2lj2ij5by5ma7bdm19jpk2yhdx"; + }) + (fetchNuGet { + pname = "OpenTelemetry.Extensions.DependencyInjection"; + version = "1.4.0-rc.1"; + sha256 = "19sraav8y53yi1pf8dsjd2n5cnffqd876rjxmlkkbi550qdr9l0v"; + }) + (fetchNuGet { + pname = "OpenTelemetry.Extensions.Hosting"; + version = "1.4.0-rc.1"; + sha256 = "0h781wdirsqz1hxwmag6dzzng3kpk7nqrmfg0j04z3q23zi9rp9h"; + }) + (fetchNuGet { + pname = "protobuf-net"; + version = "2.4.0"; + sha256 = "106lxm9afga7ihlknyy7mlfplyq40mrndksqrsn8ia2a47fbqqld"; + }) + (fetchNuGet { + pname = "Quickenshtein"; + version = "1.5.1"; + sha256 = "0mhnywivqxlpznr2fk7jp8g0bshsbq0yyyggcn51blkaabf18grl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; + }) + (fetchNuGet { + pname = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + (fetchNuGet { + pname = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; + }) + (fetchNuGet { + pname = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + pname = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + pname = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + pname = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + pname = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; + }) + (fetchNuGet { + pname = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + pname = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + pname = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.2"; + sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; + }) + (fetchNuGet { + pname = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + pname = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + pname = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.0.0"; + sha256 = "194c39cwribx7p2sic0w8hjmc83194bc985kl7aqpmljfz376gsc"; + }) + (fetchNuGet { + pname = "Serilog"; + version = "2.12.0"; + sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; + }) + (fetchNuGet { + pname = "Serilog.Enrichers.Process"; + version = "2.0.2"; + sha256 = "0wivpxljx5s2vh9rw0h8g64siaq3ajm6rpg6y8v3qnxfmlhlas6s"; + }) + (fetchNuGet { + pname = "Serilog.Enrichers.Thread"; + version = "3.1.0"; + sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; + }) + (fetchNuGet { + pname = "Serilog.Expressions"; + version = "3.4.0"; + sha256 = "10knpl8nnxmksbsq3l7p486kq1n5y5kn8ibvcscmcig6wxhcw05h"; + }) + (fetchNuGet { + pname = "Serilog.Extensions.Logging"; + version = "3.1.0"; + sha256 = "0lv370ks2fjdn1nsgkbzbmw6hybnincw3jabr471a5w39pp4fl1c"; + }) + (fetchNuGet { + pname = "Serilog.Filters.Expressions"; + version = "2.1.0"; + sha256 = "0pwlcisijbkdhgab2k4vwjqimminxnkzgdrxvq7pz5ba2brsy28l"; + }) + (fetchNuGet { + pname = "Serilog.Settings.Configuration"; + version = "3.4.0"; + sha256 = "1l6fyy9y5a168i1mm107aqyrwzhqmpy0cp1v13l2b89yv8dc105j"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Async"; + version = "1.5.0"; + sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.Console"; + version = "4.1.0"; + sha256 = "1rpkphmqfh3bv3m7v1zwz88wz4sirj4xqyff9ga0c6bqhblj6wii"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.File"; + version = "5.0.0"; + sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.InMemory"; + version = "0.11.0"; + sha256 = "0kmnj3wx1hwxvgp06avn2zw1mzsfjamrgpaav44ir40100g4hdkd"; + }) + (fetchNuGet { + pname = "Serilog.Sinks.TextWriter"; + version = "2.1.0"; + sha256 = "0p13m8spj6psybwdw21gjaxw854va8n6m2rbdy0w78q135br1kcd"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.bundle_e_sqlite3"; + version = "2.1.2"; + sha256 = "07rc4pj3rphi8nhzkcvilnm0fv27qcdp68jdwk4g0zjk7yfvbcay"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.core"; + version = "2.1.2"; + sha256 = "19hxv895lairrjmk4gkzd3mcb6b0na45xn4n551h4kckplqadg3d"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.lib.e_sqlite3"; + version = "2.1.2"; + sha256 = "0jn98bkjk8h4smi09z31ib6s6392054lwmkziqmkqf5gf614k2fz"; + }) + (fetchNuGet { + pname = "SQLitePCLRaw.provider.e_sqlite3"; + version = "2.1.2"; + sha256 = "0bnm2fhvcsyg5ry74gal2cziqnyf5a8d2cb491vsa7j41hbbx7kv"; + }) + (fetchNuGet { + pname = "Superpower"; + version = "2.3.0"; + sha256 = "0bdsc3c0d6jb0wr67siqfba0ldl0jxbwis6xr0whzqzf6m2cyahm"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.0"; + sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; + }) + (fetchNuGet { + pname = "System.Buffers"; + version = "4.5.1"; + sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + (fetchNuGet { + pname = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + pname = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "6.0.0"; + sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; + }) + (fetchNuGet { + pname = "System.ComponentModel.Composition"; + version = "6.0.0"; + sha256 = "16zfx5mivkkykp76krw8x68izmjf79ldfmn26k9x3m55lmp9i77c"; + }) + (fetchNuGet { + pname = "System.Configuration.ConfigurationManager"; + version = "6.0.0"; + sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + (fetchNuGet { + pname = "System.Diagnostics.DiagnosticSource"; + version = "7.0.0"; + sha256 = "1jxhvsh5mzdf0sgb4dfmbys1b12ylyr5pcfyj1map354fiq3qsgm"; + }) + (fetchNuGet { + pname = "System.Diagnostics.PerformanceCounter"; + version = "6.0.1"; + sha256 = "17p5vwbgrycsrvv9a9ksxbiziy75x4s25dw71fnbw1ci5kpp8yz7"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tools"; + version = "4.0.1"; + sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; + }) + (fetchNuGet { + pname = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + pname = "System.Drawing.Common"; + version = "6.0.0"; + sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; + }) + (fetchNuGet { + pname = "System.Dynamic.Runtime"; + version = "4.0.11"; + sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; + }) + (fetchNuGet { + pname = "System.Formats.Asn1"; + version = "7.0.0"; + sha256 = "1a14kgpqz4k7jhi7bs2gpgf67ym5wpj99203zxgwjypj7x47xhbq"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + pname = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + pname = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + (fetchNuGet { + pname = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + pname = "System.Interactive.Async"; + version = "5.0.0"; + sha256 = "00flf80ahpyhrsny2kfl9bsyh1mxmsdsigpq3rzhaps9wgdbmzjz"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + pname = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + (fetchNuGet { + pname = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + pname = "System.IO.Pipelines"; + version = "6.0.3"; + sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + (fetchNuGet { + pname = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + pname = "System.Linq.Async"; + version = "6.0.1"; + sha256 = "10ira8hmv0i54yp9ggrrdm1c06j538sijfjpn1kmnh9j2xk5yzmq"; + }) + (fetchNuGet { + pname = "System.Linq.Expressions"; + version = "4.1.0"; + sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.0"; + sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.1"; + sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.3"; + sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; + }) + (fetchNuGet { + pname = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + pname = "System.Net.Http"; + version = "4.3.4"; + sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; + }) + (fetchNuGet { + pname = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.4.0"; + sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; + }) + (fetchNuGet { + pname = "System.Numerics.Vectors"; + version = "4.5.0"; + sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; + }) + (fetchNuGet { + pname = "System.ObjectModel"; + version = "4.0.12"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }) + (fetchNuGet { + pname = "System.Private.ServiceModel"; + version = "4.10.0"; + sha256 = "0048hmv4j4wfpa9hwn8d5l3ag3hwmhp5r26iarfbsxj0q3i2d1a8"; + }) + (fetchNuGet { + pname = "System.Private.ServiceModel"; + version = "4.5.3"; + sha256 = "0nyw9m9dj327hn0qb0jmgwpch0f40jv301fk4mrchga8g99xbpng"; + }) + (fetchNuGet { + pname = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + pname = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + pname = "System.Reflection.DispatchProxy"; + version = "4.5.0"; + sha256 = "0v9sg38h91aljvjyc77m1y5v34p50hjdbxvvxwa1whlajhafadcn"; + }) + (fetchNuGet { + pname = "System.Reflection.DispatchProxy"; + version = "4.7.1"; + sha256 = "10yh3q2i71gcw7c0dfz9qxql2vlvnqjav1hyf1q9rpbvdbgsabrs"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit"; + version = "4.0.1"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }) + (fetchNuGet { + pname = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }) + (fetchNuGet { + pname = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "1.6.0"; + sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; + }) + (fetchNuGet { + pname = "System.Reflection.Metadata"; + version = "5.0.0"; + sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + pname = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + pname = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + pname = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + pname = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.4.0"; + sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.0"; + sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.1"; + sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0"; + sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; + }) + (fetchNuGet { + pname = "System.Runtime.CompilerServices.Unsafe"; + version = "6.0.0"; + sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + (fetchNuGet { + pname = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + (fetchNuGet { + pname = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + (fetchNuGet { + pname = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + pname = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + (fetchNuGet { + pname = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "6.0.0"; + sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Pkcs"; + version = "7.0.2"; + sha256 = "0px6snb8gdb6mpwsqrhlpbkmjgd63h4yamqm2gvyf9rwibymjbm9"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.ProtectedData"; + version = "6.0.0"; + sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + (fetchNuGet { + pname = "System.Security.Cryptography.Xml"; + version = "7.0.1"; + sha256 = "0p6kx6ag0il7rxxcvm84w141phvr7fafjzxybf920bxwa0jkwzq8"; + }) + (fetchNuGet { + pname = "System.Security.Permissions"; + version = "6.0.0"; + sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "4.5.0"; + sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + }) + (fetchNuGet { + pname = "System.ServiceModel.Http"; + version = "4.10.0"; + sha256 = "1b6dzgrj5ybpr21zh1gnmzbmx7k3xsc53ksmv8ilhj717gpvaz9d"; + }) + (fetchNuGet { + pname = "System.ServiceModel.Primitives"; + version = "4.10.0"; + sha256 = "1a1b0li9g7nhmy7r850nprpihkpfhw9gscfbgl38xzyr9crd236w"; + }) + (fetchNuGet { + pname = "System.ServiceModel.Primitives"; + version = "4.5.3"; + sha256 = "1v90pci049cn44y0km885k1vrilhb34w6q2zva4y6f3ay84klrih"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + pname = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.CodePages"; + version = "6.0.0"; + sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + (fetchNuGet { + pname = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + pname = "System.Text.Encodings.Web"; + version = "6.0.0"; + sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "4.6.0"; + sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "6.0.0"; + sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; + }) + (fetchNuGet { + pname = "System.Text.RegularExpressions"; + version = "4.1.0"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + (fetchNuGet { + pname = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }) + (fetchNuGet { + pname = "System.Threading.Tasks.Extensions"; + version = "4.5.4"; + sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; + }) + (fetchNuGet { + pname = "System.Windows.Extensions"; + version = "6.0.0"; + sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; + }) + (fetchNuGet { + pname = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + (fetchNuGet { + pname = "System.Xml.XDocument"; + version = "4.0.11"; + sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; + }) + (fetchNuGet { + pname = "YamlDotNet"; + version = "12.0.1"; + sha256 = "0axlq2xm3lb8kq24b0fsi5yg3gm63fjsy30xkxwngnnx7wd75y2y"; + }) ] diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix index 384958624611a..030590dabe0c8 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -1,4 +1,14 @@ -{ lib, buildGoModule, fetchFromGitHub, stdenv, pkg-config, rustPlatform, libiconv, fetchpatch, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + stdenv, + pkg-config, + rustPlatform, + libiconv, + fetchpatch, + nixosTests, +}: let libflux_version = "0.194.5"; @@ -37,14 +47,16 @@ let Libs: -L/out/lib -lflux -lpthread ''; passAsFile = [ "pkgcfg" ]; - postInstall = '' - mkdir -p $out/include $out/pkgconfig - cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include - substitute $pkgcfgPath $out/pkgconfig/flux.pc \ - --replace /out $out - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib - ''; + postInstall = + '' + mkdir -p $out/include $out/pkgconfig + cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include + substitute $pkgcfgPath $out/pkgconfig/flux.pc \ + --replace /out $out + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib + ''; }; in buildGoModule rec { @@ -75,7 +87,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; excludedPackages = "test"; @@ -85,6 +101,9 @@ buildGoModule rec { description = "Open-source distributed time series database"; license = licenses.mit; homepage = "https://influxdata.com/"; - maintainers = with maintainers; [ offline zimbatm ]; + maintainers = with maintainers; [ + offline + zimbatm + ]; }; } diff --git a/pkgs/servers/nosql/influxdb2/cli.nix b/pkgs/servers/nosql/influxdb2/cli.nix index f00f09a96aa13..85b3e910b6969 100644 --- a/pkgs/servers/nosql/influxdb2/cli.nix +++ b/pkgs/servers/nosql/influxdb2/cli.nix @@ -1,8 +1,9 @@ -{ buildGoModule -, fetchFromGitHub -, installShellFiles -, lib -, stdenv +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + stdenv, }: let @@ -15,7 +16,8 @@ let sha256 = "sha256-0Gyoy9T5pA+40k8kKybWBMtOfpKZxw3Vvp4ZB4ptcJs="; }; -in buildGoModule { +in +buildGoModule { pname = "influx-cli"; version = version; inherit src; @@ -25,7 +27,10 @@ in buildGoModule { vendorHash = "sha256-Ov0TPoMm0qi7kkWUUni677sCP1LwkT9+n3KHcAlQkDA="; subPackages = [ "cmd/influx" ]; - ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ]; + ldflags = [ + "-X main.commit=v${version}" + "-X main.version=${version}" + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd influx \ diff --git a/pkgs/servers/nosql/influxdb2/default.nix b/pkgs/servers/nosql/influxdb2/default.nix index 99ae9bc38c2bf..56277135f041d 100644 --- a/pkgs/servers/nosql/influxdb2/default.nix +++ b/pkgs/servers/nosql/influxdb2/default.nix @@ -1,15 +1,16 @@ -{ buildGoModule -, fetchFromGitHub -, fetchurl -, fetchpatch -, go-bindata -, lib -, perl -, pkg-config -, rustPlatform -, stdenv -, libiconv -, nixosTests +{ + buildGoModule, + fetchFromGitHub, + fetchurl, + fetchpatch, + go-bindata, + lib, + perl, + pkg-config, + rustPlatform, + stdenv, + libiconv, + nixosTests, }: let @@ -62,25 +63,35 @@ let Libs: -L/out/lib -lflux -lpthread ''; passAsFile = [ "pkgcfg" ]; - postInstall = '' - mkdir -p $out/include $out/pkgconfig - cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include - substitute $pkgcfgPath $out/pkgconfig/flux.pc \ - --replace /out $out - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib - ''; + postInstall = + '' + mkdir -p $out/include $out/pkgconfig + cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include + substitute $pkgcfgPath $out/pkgconfig/flux.pc \ + --replace /out $out + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib + ''; }; -in buildGoModule { +in +buildGoModule { pname = "influxdb"; version = version; inherit src; - nativeBuildInputs = [ go-bindata pkg-config perl ]; + nativeBuildInputs = [ + go-bindata + pkg-config + perl + ]; vendorHash = "sha256-3Vf8BCrOwliXrH+gmZ4RJ1YBEbqL0Szx2prW3ie9CNg="; - subPackages = [ "cmd/influxd" "cmd/telemetryd" ]; + subPackages = [ + "cmd/influxd" + "cmd/telemetryd" + ]; PKG_CONFIG_PATH = "${flux}/pkgconfig"; @@ -116,7 +127,10 @@ in buildGoModule { tags = [ "assets" ]; - ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ]; + ldflags = [ + "-X main.commit=v${version}" + "-X main.version=${version}" + ]; passthru.tests = { inherit (nixosTests) influxdb2; }; diff --git a/pkgs/servers/nosql/influxdb2/provision.nix b/pkgs/servers/nosql/influxdb2/provision.nix index 0d0740969cd46..01be841f6a8a8 100644 --- a/pkgs/servers/nosql/influxdb2/provision.nix +++ b/pkgs/servers/nosql/influxdb2/provision.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3Packages -, makeWrapper +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + makeWrapper, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ python3Packages.python python3Packages.influxdb-client ]; + buildInputs = [ + python3Packages.python + python3Packages.influxdb-client + ]; installPhase = '' install -Dm0555 influxdb2-provision.py $out/bin/influxdb2-provision @@ -28,7 +32,7 @@ stdenv.mkDerivation rec { description = "Small utility to help provisioning influxdb2"; homepage = "https://github.com/oddlama/influxdb2-provision"; license = licenses.mit; - maintainers = with maintainers; [oddlama]; + maintainers = with maintainers; [ oddlama ]; mainProgram = "influxdb2-provision"; }; } diff --git a/pkgs/servers/nosql/influxdb2/token-manipulator.nix b/pkgs/servers/nosql/influxdb2/token-manipulator.nix index 88713941b465d..12db726fdb56d 100644 --- a/pkgs/servers/nosql/influxdb2/token-manipulator.nix +++ b/pkgs/servers/nosql/influxdb2/token-manipulator.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, fetchFromGitHub -, lib +{ + buildGoModule, + fetchFromGitHub, + lib, }: buildGoModule rec { @@ -20,7 +21,7 @@ buildGoModule rec { description = "Utility program to manipulate influxdb api tokens for declarative setups"; homepage = "https://github.com/oddlama/influxdb2-token-manipulator"; license = licenses.mit; - maintainers = with maintainers; [oddlama]; + maintainers = with maintainers; [ oddlama ]; mainProgram = "influxdb2-token-manipulator"; }; } diff --git a/pkgs/servers/nosql/mongodb/6.0.nix b/pkgs/servers/nosql/mongodb/6.0.nix index 1143a4f50b684..20adcf8b024c6 100644 --- a/pkgs/servers/nosql/mongodb/6.0.nix +++ b/pkgs/servers/nosql/mongodb/6.0.nix @@ -1,11 +1,25 @@ -{ stdenv, callPackage, fetchpatch -, sasl, boost, Security, CoreFoundation, cctools -, avxSupport ? stdenv.hostPlatform.avxSupport +{ + stdenv, + callPackage, + fetchpatch, + sasl, + boost, + Security, + CoreFoundation, + cctools, + avxSupport ? stdenv.hostPlatform.avxSupport, }: let buildMongoDB = callPackage ./mongodb.nix { - inherit sasl boost Security CoreFoundation cctools stdenv; + inherit + sasl + boost + Security + CoreFoundation + cctools + stdenv + ; }; in buildMongoDB { diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 37fc0a2e8a573..1d0bda2861697 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -1,58 +1,66 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages -, boost -, gperftools -, pcre2 -, pcre-cpp -, snappy -, zlib -, yaml-cpp -, sasl -, net-snmp -, openldap -, openssl -, libpcap -, curl -, Security -, CoreFoundation -, cctools -, xz +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, + boost, + gperftools, + pcre2, + pcre-cpp, + snappy, + zlib, + yaml-cpp, + sasl, + net-snmp, + openldap, + openssl, + libpcap, + curl, + Security, + CoreFoundation, + cctools, + xz, }: # Note: # The command line administrative tools are part of other packages: # see pkgs.mongodb-tools and pkgs.mongosh. -{ version, sha256, patches ? [] -, license ? lib.licenses.sspl -, avxSupport ? stdenv.hostPlatform.avxSupport -, passthru ? {} +{ + version, + sha256, + patches ? [ ], + license ? lib.licenses.sspl, + avxSupport ? stdenv.hostPlatform.avxSupport, + passthru ? { }, }: let scons = buildPackages.scons; - python = scons.python.withPackages (ps: with ps; [ - pyyaml - cheetah3 - psutil - setuptools - distutils - packaging - pymongo - ]); - - system-libraries = [ - "boost" - "snappy" - "yaml" - "zlib" - #"asio" -- XXX use package? - #"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs). - #"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source. - #"wiredtiger" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "tcmalloc" ] + python = scons.python.withPackages ( + ps: with ps; [ + pyyaml + cheetah3 + psutil + setuptools + distutils + packaging + pymongo + ] + ); + + system-libraries = + [ + "boost" + "snappy" + "yaml" + "zlib" + #"asio" -- XXX use package? + #"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs). + #"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source. + #"wiredtiger" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ "tcmalloc" ] ++ lib.optionals (lib.versionOlder version "7.0") [ "pcre" ] @@ -61,7 +69,8 @@ let ]; inherit (lib) systems subtractLists; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { inherit version passthru; pname = "mongodb"; @@ -77,46 +86,54 @@ in stdenv.mkDerivation rec { python ] ++ lib.optional stdenv.hostPlatform.isLinux net-snmp; - buildInputs = [ - boost - curl - gperftools - libpcap - yaml-cpp - openssl - openldap - pcre2 - pcre-cpp - sasl - snappy - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security CoreFoundation cctools ] - ++ lib.optional stdenv.hostPlatform.isLinux net-snmp - ++ [ xz ]; + buildInputs = + [ + boost + curl + gperftools + libpcap + yaml-cpp + openssl + openldap + pcre2 + pcre-cpp + sasl + snappy + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + CoreFoundation + cctools + ] + ++ lib.optional stdenv.hostPlatform.isLinux net-snmp + ++ [ xz ]; # MongoDB keeps track of its build parameters, which tricks nix into # keeping dependencies to build inputs in the final output. # We remove the build flags from buildInfo data. inherit patches; - postPatch = '' - # fix environment variable reading - substituteInPlace SConstruct \ - --replace "env = Environment(" "env = Environment(ENV = os.environ," - '' + '' - # Fix debug gcc 11 and clang 12 builds on Fedora - # https://github.com/mongodb/mongo/commit/e78b2bf6eaa0c43bd76dbb841add167b443d2bb0.patch - substituteInPlace src/mongo/db/query/plan_summary_stats.h --replace '#include ' '#include - #include ' - substituteInPlace src/mongo/db/exec/plan_stats.h --replace '#include ' '#include - #include ' - '' + lib.optionalString (!avxSupport) '' - substituteInPlace SConstruct \ - --replace-fail "default=['+sandybridge']," 'default=[],' - ''; - - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang - "-Wno-unused-command-line-argument"; + postPatch = + '' + # fix environment variable reading + substituteInPlace SConstruct \ + --replace "env = Environment(" "env = Environment(ENV = os.environ," + '' + + '' + # Fix debug gcc 11 and clang 12 builds on Fedora + # https://github.com/mongodb/mongo/commit/e78b2bf6eaa0c43bd76dbb841add167b443d2bb0.patch + substituteInPlace src/mongo/db/query/plan_summary_stats.h --replace '#include ' '#include + #include ' + substituteInPlace src/mongo/db/exec/plan_stats.h --replace '#include ' '#include + #include ' + '' + + lib.optionalString (!avxSupport) '' + substituteInPlace SConstruct \ + --replace-fail "default=['+sandybridge']," 'default=[],' + ''; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument"; sconsFlags = [ "--release" @@ -129,20 +146,22 @@ in stdenv.mkDerivation rec { "VARIANT_DIR=nixos" # Needed so we don't produce argument lists that are too long for gcc / ld "--link-model=static" "MONGO_VERSION=${version}" - ] - ++ map (lib: "--use-system-${lib}") system-libraries; + ] ++ map (lib: "--use-system-${lib}") system-libraries; # This seems to fix mongodb not able to find OpenSSL's crypto.h during build hardeningDisable = [ "fortify3" ]; - preBuild = '' - sconsFlags+=" CC=$CC" - sconsFlags+=" CXX=$CXX" - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - sconsFlags+=" AR=$AR" - '' + lib.optionalString stdenv.hostPlatform.isAarch64 '' - sconsFlags+=" CCFLAGS='-march=armv8-a+crc'" - ''; + preBuild = + '' + sconsFlags+=" CC=$CC" + sconsFlags+=" CXX=$CXX" + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + sconsFlags+=" AR=$AR" + '' + + lib.optionalString stdenv.hostPlatform.isAarch64 '' + sconsFlags+=" CCFLAGS='-march=armv8-a+crc'" + ''; preInstall = '' mkdir -p "$out/lib" @@ -172,7 +191,10 @@ in stdenv.mkDerivation rec { homepage = "http://www.mongodb.org"; inherit license; - maintainers = with maintainers; [ bluescreen303 offline ]; + maintainers = with maintainers; [ + bluescreen303 + offline + ]; platforms = subtractLists systems.doubles.i686 systems.doubles.unix; }; } diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix index 03aed49f564b7..686ad7eadc747 100644 --- a/pkgs/servers/nosql/rethinkdb/default.nix +++ b/pkgs/servers/nosql/rethinkdb/default.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchurl, which, m4 -, protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool -, python3Packages, makeWrapper +{ + lib, + stdenv, + fetchurl, + which, + m4, + protobuf, + boost, + zlib, + curl, + openssl, + icu, + jemalloc, + libtool, + python3Packages, + makeWrapper, }: stdenv.mkDerivation rec { @@ -30,11 +43,24 @@ stdenv.mkDerivation rec { makeFlags = [ "rethinkdb" ]; - buildInputs = [ protobuf boost zlib curl openssl icu ] + buildInputs = + [ + protobuf + boost + zlib + curl + openssl + icu + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) jemalloc ++ lib.optional stdenv.hostPlatform.isDarwin libtool; - nativeBuildInputs = [ which m4 python3Packages.python makeWrapper ]; + nativeBuildInputs = [ + which + m4 + python3Packages.python + makeWrapper + ]; enableParallelBuilding = true; @@ -52,9 +78,12 @@ stdenv.mkDerivation rec { query language that supports really useful queries like table joins and group by, and is easy to setup and learn. ''; - homepage = "https://rethinkdb.com"; - license = lib.licenses.asl20; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ thoughtpolice bluescreen303 ]; + homepage = "https://rethinkdb.com"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + thoughtpolice + bluescreen303 + ]; }; } diff --git a/pkgs/servers/ombi/default.nix b/pkgs/servers/ombi/default.nix index a9fb9aa335862..6487afea69464 100644 --- a/pkgs/servers/ombi/default.nix +++ b/pkgs/servers/ombi/default.nix @@ -1,21 +1,37 @@ -{ lib, stdenv, fetchurl, makeWrapper, autoPatchelfHook, fixDarwinDylibNames, zlib, krb5, openssl, icu, nixosTests }: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + autoPatchelfHook, + fixDarwinDylibNames, + zlib, + krb5, + openssl, + icu, + nixosTests, +}: let os = if stdenv.hostPlatform.isDarwin then "osx" else "linux"; - arch = { - x86_64-linux = "x64"; - aarch64-linux = "arm64"; - x86_64-darwin = "x64"; - }."${stdenv.hostPlatform.system}" or (throw - "Unsupported system: ${stdenv.hostPlatform.system}"); - - hash = { - x64-linux_hash = "sha256-wyGvTXsXSsfTrlWVBaqbeDhj5s6w31+Ixi0sxsHcOjA="; - arm64-linux_hash = "sha256-iqgyCNY62FBIyjcHXDk1zZY0RzFhUA5IQ8EDzAonKRE="; - x64-osx_hash = "sha256-h9qKe1GL2DSBAFhtztS254ILMCeIZqlCXyO0AvSA5Zo="; - }."${arch}-${os}_hash"; - -in stdenv.mkDerivation rec { + arch = + { + x86_64-linux = "x64"; + aarch64-linux = "arm64"; + x86_64-darwin = "x64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + hash = + { + x64-linux_hash = "sha256-wyGvTXsXSsfTrlWVBaqbeDhj5s6w31+Ixi0sxsHcOjA="; + arm64-linux_hash = "sha256-iqgyCNY62FBIyjcHXDk1zZY0RzFhUA5IQ8EDzAonKRE="; + x64-osx_hash = "sha256-h9qKe1GL2DSBAFhtztS254ILMCeIZqlCXyO0AvSA5Zo="; + } + ."${arch}-${os}_hash"; + +in +stdenv.mkDerivation rec { pname = "ombi"; version = "4.44.1"; @@ -26,18 +42,28 @@ in stdenv.mkDerivation rec { sha256 = hash; }; - nativeBuildInputs = [ makeWrapper ] + nativeBuildInputs = + [ makeWrapper ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - propagatedBuildInputs = [ stdenv.cc.cc zlib krb5 ]; + propagatedBuildInputs = [ + stdenv.cc.cc + zlib + krb5 + ]; installPhase = '' mkdir -p $out/{bin,share/${pname}-${version}} cp -r * $out/share/${pname}-${version} makeWrapper $out/share/${pname}-${version}/Ombi $out/bin/Ombi \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl icu ]} \ + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + openssl + icu + ] + } \ --chdir "$out/share/${pname}-${version}" ''; @@ -52,7 +78,11 @@ in stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.gpl2Only; maintainers = with maintainers; [ woky ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; mainProgram = "Ombi"; }; } diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix index 4ae1b0d13b6f3..1f8b92c6d6c73 100644 --- a/pkgs/servers/openafs/1.8/default.nix +++ b/pkgs/servers/openafs/1.8/default.nix @@ -1,27 +1,28 @@ -{ lib -, stdenv -, buildPackages -, fetchurl -, which -, autoconf -, automake -, flex -, bison -, glibc -, perl -, libkrb5 -, libxslt -, docbook_xsl -, file -, docbook_xml_dtd_43 -, libtool_2 -, withDevdoc ? false -, doxygen -, dblatex # Extra developer documentation -, withNcurses ? false -, ncurses # Extra ncurses utilities. Needed for debugging and monitoring. -, withTsm ? false -, tsm-client # Tivoli Storage Manager Backup Client from IBM +{ + lib, + stdenv, + buildPackages, + fetchurl, + which, + autoconf, + automake, + flex, + bison, + glibc, + perl, + libkrb5, + libxslt, + docbook_xsl, + file, + docbook_xml_dtd_43, + libtool_2, + withDevdoc ? false, + doxygen, + dblatex, # Extra developer documentation + withNcurses ? false, + ncurses, # Extra ncurses utilities. Needed for debugging and monitoring. + withTsm ? false, + tsm-client, # Tivoli Storage Manager Backup Client from IBM }: with (import ./srcs.nix { inherit fetchurl; }); @@ -34,23 +35,35 @@ stdenv.mkDerivation { inherit version srcs; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ - autoconf - automake - flex - libxslt - libtool_2 - perl - which - bison - ] ++ optionals withDevdoc [ doxygen dblatex ]; + nativeBuildInputs = + [ + autoconf + automake + flex + libxslt + libtool_2 + perl + which + bison + ] + ++ optionals withDevdoc [ + doxygen + dblatex + ]; buildInputs = [ libkrb5 ] ++ optional withNcurses ncurses; - patches = [ ./bosserver.patch ./cross-build.patch ] - ++ optional withTsm ./tsmbac.patch; + patches = [ + ./bosserver.patch + ./cross-build.patch + ] ++ optional withTsm ./tsmbac.patch; - outputs = [ "out" "dev" "man" "doc" ] ++ optional withDevdoc "devdoc"; + outputs = [ + "out" + "dev" + "man" + "doc" + ] ++ optional withDevdoc "devdoc"; enableParallelBuilding = false; @@ -59,63 +72,69 @@ stdenv.mkDerivation { # Makefiles don't include install targets for all new shared libs, yet. dontDisableStatic = true; - preConfigure = '' - patchShebangs . - for i in `grep -l -R '/usr/\(include\|src\)' .`; do - echo "Patch /usr/include and /usr/src in $i" - substituteInPlace $i \ - --replace "/usr/include" "${glibc.dev}/include" \ - --replace "/usr/src" "$TMP" - done - - for i in ./doc/xml/{AdminGuide,QuickStartUnix,UserGuide}/*.xml; do - substituteInPlace "''${i}" --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \ - "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd" - done - - ./regen.sh - - - configureFlagsArray=( - "--with-krb5" - "--sysconfdir=/etc" - "--localstatedir=/var" - "--disable-kernel-module" - "--disable-fuse-client" - "--with-docbook-stylesheets=${docbook_xsl}/share/xml/docbook-xsl" - ${optionalString withTsm "--enable-tivoli-tsm"} - ${optionalString (!withNcurses) "--disable-gtx"} - "--disable-linux-d_splice-alias-extra-iput" - ) - '' + optionalString withTsm '' - export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsm-client}/lib64/sample -DXBSA_TSMLIB=\\\"${tsm-client}/lib64/libApiTSM64.so\\\"" - ''; + preConfigure = + '' + patchShebangs . + for i in `grep -l -R '/usr/\(include\|src\)' .`; do + echo "Patch /usr/include and /usr/src in $i" + substituteInPlace $i \ + --replace "/usr/include" "${glibc.dev}/include" \ + --replace "/usr/src" "$TMP" + done + + for i in ./doc/xml/{AdminGuide,QuickStartUnix,UserGuide}/*.xml; do + substituteInPlace "''${i}" --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \ + "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd" + done + + ./regen.sh + + + configureFlagsArray=( + "--with-krb5" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--disable-kernel-module" + "--disable-fuse-client" + "--with-docbook-stylesheets=${docbook_xsl}/share/xml/docbook-xsl" + ${optionalString withTsm "--enable-tivoli-tsm"} + ${optionalString (!withNcurses) "--disable-gtx"} + "--disable-linux-d_splice-alias-extra-iput" + ) + '' + + optionalString withTsm '' + export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsm-client}/lib64/sample -DXBSA_TSMLIB=\\\"${tsm-client}/lib64/libApiTSM64.so\\\"" + ''; buildFlags = [ "all_nolibafs" ]; - postBuild = '' - for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do - make -C "''${d}" index.html - done - '' + optionalString withDevdoc '' - make dox - ''; - - postInstall = '' - mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide} - cp -r doc/txt README LICENSE $doc/share/doc/openafs - for d in AdminGuide QuickStartUnix UserGuide ; do - cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}" - done - - cp src/tools/dumpscan/{afsdump_dirlist,afsdump_extract,afsdump_scan,dumptool} $out/bin - - rm -r $out/lib/openafs - '' + optionalString withDevdoc '' - mkdir -p $devdoc/share/devhelp/openafs/doxygen - cp -r doc/{pdf,protocol} $devdoc/share/devhelp/openafs - cp -r doc/doxygen/output/html $devdoc/share/devhelp/openafs/doxygen - ''; + postBuild = + '' + for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do + make -C "''${d}" index.html + done + '' + + optionalString withDevdoc '' + make dox + ''; + + postInstall = + '' + mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide} + cp -r doc/txt README LICENSE $doc/share/doc/openafs + for d in AdminGuide QuickStartUnix UserGuide ; do + cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}" + done + + cp src/tools/dumpscan/{afsdump_dirlist,afsdump_extract,afsdump_scan,dumptool} $out/bin + + rm -r $out/lib/openafs + '' + + optionalString withDevdoc '' + mkdir -p $devdoc/share/devhelp/openafs/doxygen + cp -r doc/{pdf,protocol} $devdoc/share/devhelp/openafs + cp -r doc/doxygen/output/html $devdoc/share/devhelp/openafs/doxygen + ''; # remove forbidden references to $TMPDIR preFixup = '' @@ -127,11 +146,18 @@ stdenv.mkDerivation { ''; meta = with lib; { - outputsToInstall = [ "out" "doc" "man" ]; + outputsToInstall = [ + "out" + "doc" + "man" + ]; description = "Open AFS client"; homepage = "https://www.openafs.org"; license = licenses.ipl10; platforms = platforms.linux; - maintainers = [ maintainers.maggesi maintainers.spacefrogg ]; + maintainers = [ + maintainers.maggesi + maintainers.spacefrogg + ]; }; } diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix index f21693591672a..309030b4d303e 100644 --- a/pkgs/servers/openvscode-server/default.nix +++ b/pkgs/servers/openvscode-server/default.nix @@ -1,53 +1,65 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildGoModule -, makeWrapper -, cacert -, moreutils -, jq -, git -, pkg-config -, yarn -, python3 -, esbuild -, nodejs -, node-gyp -, libsecret -, libkrb5 -, xorg -, ripgrep -, AppKit -, Cocoa -, Security -, cctools -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + makeWrapper, + cacert, + moreutils, + jq, + git, + pkg-config, + yarn, + python3, + esbuild, + nodejs, + node-gyp, + libsecret, + libkrb5, + xorg, + ripgrep, + AppKit, + Cocoa, + Security, + cctools, + nixosTests, }: let system = stdenv.hostPlatform.system; yarn' = yarn.override { inherit nodejs; }; - defaultYarnOpts = [ "frozen-lockfile" "non-interactive" "no-progress" ]; + defaultYarnOpts = [ + "frozen-lockfile" + "non-interactive" + "no-progress" + ]; - vsBuildTarget = { - x86_64-linux = "linux-x64"; - aarch64-linux = "linux-arm64"; - x86_64-darwin = "darwin-x64"; - aarch64-darwin = "darwin-arm64"; - }.${system} or (throw "Unsupported system ${system}"); + vsBuildTarget = + { + x86_64-linux = "linux-x64"; + aarch64-linux = "linux-arm64"; + x86_64-darwin = "darwin-x64"; + aarch64-darwin = "darwin-arm64"; + } + .${system} or (throw "Unsupported system ${system}"); esbuild' = esbuild.override { - buildGoModule = args: buildGoModule (args // rec { - version = "0.17.14"; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-4TC1d5FOZHUMuEMTcTOBLZZM+sFUswhyblI5HVWyvPA="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); + buildGoModule = + args: + buildGoModule ( + args + // rec { + version = "0.17.14"; + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-4TC1d5FOZHUMuEMTcTOBLZZM+sFUswhyblI5HVWyvPA="; + }; + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + } + ); }; # replaces esbuild's download script with a binary from nixpkgs @@ -72,7 +84,11 @@ stdenv.mkDerivation (finalAttrs: { yarnCache = stdenv.mkDerivation { name = "${finalAttrs.pname}-${finalAttrs.version}-${system}-yarn-cache"; inherit (finalAttrs) src; - nativeBuildInputs = [ cacert yarn' git ]; + nativeBuildInputs = [ + cacert + yarn' + git + ]; buildPhase = '' export HOME=$PWD @@ -103,14 +119,19 @@ stdenv.mkDerivation (finalAttrs: { moreutils ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ] - ++ (with xorg; [ libX11 libxkbfile libkrb5 ]) + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ] + ++ (with xorg; [ + libX11 + libxkbfile + libkrb5 + ]) ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Cocoa - Security - cctools - ]; + AppKit + Cocoa + Security + cctools + ]; patches = [ # Patch out remote download of nodejs from build script @@ -159,54 +180,57 @@ stdenv.mkDerivation (finalAttrs: { runHook postConfigure ''; - buildPhase = '' - runHook preBuild - - # install dependencies - yarn --offline --ignore-scripts - - # run yarn install everywhere, skipping postinstall so we can patch esbuild - find . -path "*node_modules" -prune -o \ - -path "./*/*" -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} yarn --cwd {} \ - --frozen-lockfile --offline --ignore-scripts --ignore-engines - - ${patchEsbuild "./build" "0.12.6"} - ${patchEsbuild "./extensions" "0.11.23"} - - # patch shebangs of node_modules to allow binary packages to build - patchShebangs ./remote/node_modules - - # put ripgrep binary into bin so postinstall does not try to download it - find -path "*@vscode/ripgrep" -type d \ - -execdir mkdir -p {}/bin \; \ - -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \; - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+ - # (see issue #101229) - pushd ./remote/node_modules/@parcel/watcher - mkdir -p ./build/Release - mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node - jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json - popd - '' + '' - export NODE_OPTIONS=--openssl-legacy-provider - - # rebuild binaries, we use npm here, as yarn does not provide an alternative - # that would not attempt to try to reinstall everything and break our - # patching attempts - npm --prefix ./remote rebuild --build-from-source - - # run postinstall scripts after patching - find . -path "*node_modules" -prune -o \ - -path "./*/*" -name "yarn.lock" -printf "%h\n" | \ - xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true' - - # build and minify - yarn --offline gulp vscode-reh-web-${vsBuildTarget}-min - - runHook postBuild - ''; + buildPhase = + '' + runHook preBuild + + # install dependencies + yarn --offline --ignore-scripts + + # run yarn install everywhere, skipping postinstall so we can patch esbuild + find . -path "*node_modules" -prune -o \ + -path "./*/*" -name "yarn.lock" -printf "%h\n" | \ + xargs -I {} yarn --cwd {} \ + --frozen-lockfile --offline --ignore-scripts --ignore-engines + + ${patchEsbuild "./build" "0.12.6"} + ${patchEsbuild "./extensions" "0.11.23"} + + # patch shebangs of node_modules to allow binary packages to build + patchShebangs ./remote/node_modules + + # put ripgrep binary into bin so postinstall does not try to download it + find -path "*@vscode/ripgrep" -type d \ + -execdir mkdir -p {}/bin \; \ + -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+ + # (see issue #101229) + pushd ./remote/node_modules/@parcel/watcher + mkdir -p ./build/Release + mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node + jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json + popd + '' + + '' + export NODE_OPTIONS=--openssl-legacy-provider + + # rebuild binaries, we use npm here, as yarn does not provide an alternative + # that would not attempt to try to reinstall everything and break our + # patching attempts + npm --prefix ./remote rebuild --build-from-source + + # run postinstall scripts after patching + find . -path "*node_modules" -prune -o \ + -path "./*/*" -name "yarn.lock" -printf "%h\n" | \ + xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true' + + # build and minify + yarn --offline gulp vscode-reh-web-${vsBuildTarget}-min + + runHook postBuild + ''; installPhase = '' runHook preInstall @@ -230,8 +254,17 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/gitpod-io/openvscode-server"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dguenther ghuntley emilytrau ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + maintainers = with lib.maintainers; [ + dguenther + ghuntley + emilytrau + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "openvscode-server"; }; }) diff --git a/pkgs/servers/osmocom/libasn1c/default.nix b/pkgs/servers/osmocom/libasn1c/default.nix index b727b1b1ee699..17bbd5200c336 100644 --- a/pkgs/servers/osmocom/libasn1c/default.nix +++ b/pkgs/servers/osmocom/libasn1c/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, autoreconfHook -, fetchFromGitHub -, pkg-config -, talloc +{ + lib, + stdenv, + autoreconfHook, + fetchFromGitHub, + pkg-config, + talloc, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/peertube/default.nix b/pkgs/servers/peertube/default.nix index 7999a2c0ddb78..2dc3918825c66 100644 --- a/pkgs/servers/peertube/default.nix +++ b/pkgs/servers/peertube/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, callPackage -, fetchurl -, fetchFromGitHub -, fetchYarnDeps -, nixosTests -, brotli -, fixup-yarn-lock -, jq -, fd -, nodejs -, which -, yarn +{ + lib, + stdenv, + callPackage, + fetchurl, + fetchFromGitHub, + fetchYarnDeps, + nixosTests, + brotli, + fixup-yarn-lock, + jq, + fd, + nodejs, + which, + yarn, }: let bcryptHostPlatformAttrs = { @@ -36,8 +37,9 @@ let hash = "sha256-JMnELVUxoU1C57Tzue3Sg6OfDFAjfCnzgDit0BWzmlo="; }; }; - bcryptAttrs = bcryptHostPlatformAttrs."${stdenv.hostPlatform.system}" or - (throw "Unsupported architecture: ${stdenv.hostPlatform.system}"); + bcryptAttrs = + bcryptHostPlatformAttrs."${stdenv.hostPlatform.system}" + or (throw "Unsupported architecture: ${stdenv.hostPlatform.system}"); bcryptVersion = "5.1.1"; bcryptLib = fetchurl { url = "https://github.com/kelektiv/node.bcrypt.js/releases/download/v${bcryptVersion}/bcrypt_lib-v${bcryptVersion}-napi-v3-${bcryptAttrs.arch}-${bcryptAttrs.libc}.tar.gz"; @@ -75,9 +77,20 @@ stdenv.mkDerivation rec { hash = "sha256-x5qFCprn8q0xC88HudLV7W53X1Nkbz3F52RMp2PxIu8="; }; - outputs = [ "out" "cli" "runner" ]; - - nativeBuildInputs = [ brotli fixup-yarn-lock jq which yarn fd ]; + outputs = [ + "out" + "cli" + "runner" + ]; + + nativeBuildInputs = [ + brotli + fixup-yarn-lock + jq + which + yarn + fd + ]; buildInputs = [ nodejs ]; @@ -191,10 +204,15 @@ stdenv.mkDerivation rec { license = licenses.agpl3Plus; homepage = "https://joinpeertube.org/"; platforms = [ - "x86_64-linux" "aarch64-linux" + "x86_64-linux" + "aarch64-linux" # feasible, looking for maintainer to help out # "x86_64-darwin" "aarch64-darwin" ]; - maintainers = with maintainers; [ immae izorkin stevenroose ]; + maintainers = with maintainers; [ + immae + izorkin + stevenroose + ]; }; } diff --git a/pkgs/servers/persistent-evdev/default.nix b/pkgs/servers/persistent-evdev/default.nix index 83518b904a509..36f125c913fa0 100644 --- a/pkgs/servers/persistent-evdev/default.nix +++ b/pkgs/servers/persistent-evdev/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchFromGitHub, python3Packages }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + python3Packages, +}: buildPythonPackage rec { pname = "persistent-evdev"; @@ -13,7 +18,8 @@ buildPythonPackage rec { }; propagatedBuildInputs = with python3Packages; [ - evdev pyudev + evdev + pyudev ]; postPatch = '' diff --git a/pkgs/servers/pinnwand/default.nix b/pkgs/servers/pinnwand/default.nix index 1b7ac24eadfbb..67ccc2eff5e19 100644 --- a/pkgs/servers/pinnwand/default.nix +++ b/pkgs/servers/pinnwand/default.nix @@ -1,10 +1,12 @@ -{ lib -, python3 -, fetchFromGitHub -, nixosTests +{ + lib, + python3, + fetchFromGitHub, + nixosTests, }: -with python3.pkgs; buildPythonApplication rec { +with python3.pkgs; +buildPythonApplication rec { pname = "pinnwand"; version = "1.6.0"; pyproject = true; @@ -60,4 +62,3 @@ with python3.pkgs; buildPythonApplication rec { platforms = platforms.linux; }; } - diff --git a/pkgs/servers/pinnwand/steck.nix b/pkgs/servers/pinnwand/steck.nix index 32e2141d2a9d6..f4f8578c0797a 100644 --- a/pkgs/servers/pinnwand/steck.nix +++ b/pkgs/servers/pinnwand/steck.nix @@ -1,8 +1,9 @@ -{ lib -, pkgs -, python3Packages -, fetchPypi -, nixosTests +{ + lib, + pkgs, + python3Packages, + fetchPypi, + nixosTests, }: python3Packages.buildPythonApplication rec { @@ -48,4 +49,3 @@ python3Packages.buildPythonApplication rec { maintainers = with maintainers; [ hexa ]; }; } - diff --git a/pkgs/servers/piping-server-rust/default.nix b/pkgs/servers/piping-server-rust/default.nix index 0e081884e4cf8..5b4d101b2ff0e 100644 --- a/pkgs/servers/piping-server-rust/default.nix +++ b/pkgs/servers/piping-server-rust/default.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, CoreServices, Security }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + CoreServices, + Security, +}: rustPlatform.buildRustPackage rec { pname = "piping-server-rust"; @@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-YSiClSnjgqFqT2IGJoatcy7j3NUKcff826AvJ/+RNNU="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + ]; meta = with lib; { description = "Infinitely transfer between every device over pure HTTP with pipes or browsers"; diff --git a/pkgs/servers/pleroma/mix.nix b/pkgs/servers/pleroma/mix.nix index 65ab75c39d4a6..bc12377910358 100644 --- a/pkgs/servers/pleroma/mix.nix +++ b/pkgs/servers/pleroma/mix.nix @@ -1,4 +1,8 @@ -{ lib, beamPackages, overrides ? (x: y: {}) }: +{ + lib, + beamPackages, + overrides ? (x: y: { }), +}: let buildRebar3 = lib.makeOverridable beamPackages.buildRebar3; @@ -7,1865 +11,2097 @@ let self = packages // (overrides self packages); - packages = with beamPackages; with self; { - accept = buildRebar3 rec { - name = "accept"; - version = "0.3.5"; + packages = + with beamPackages; + with self; + { + accept = buildRebar3 rec { + name = "accept"; + version = "0.3.5"; - src = fetchHex { - pkg = "accept"; - version = "${version}"; - sha256 = "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8"; - }; - - beamDeps = []; - }; + src = fetchHex { + pkg = "accept"; + version = "${version}"; + sha256 = "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8"; + }; - bandit = buildMix rec { - name = "bandit"; - version = "1.5.5"; - - src = fetchHex { - pkg = "bandit"; - version = "${version}"; - sha256 = "f21579a29ea4bc08440343b2b5f16f7cddf2fea5725d31b72cf973ec729079e1"; + beamDeps = [ ]; }; - beamDeps = [ hpax plug telemetry thousand_island websock ]; - }; + bandit = buildMix rec { + name = "bandit"; + version = "1.5.5"; - base62 = buildMix rec { - name = "base62"; - version = "1.2.2"; + src = fetchHex { + pkg = "bandit"; + version = "${version}"; + sha256 = "f21579a29ea4bc08440343b2b5f16f7cddf2fea5725d31b72cf973ec729079e1"; + }; - src = fetchHex { - pkg = "base62"; - version = "${version}"; - sha256 = "d41336bda8eaa5be197f1e4592400513ee60518e5b9f4dcf38f4b4dae6f377bb"; + beamDeps = [ + hpax + plug + telemetry + thousand_island + websock + ]; }; - beamDeps = [ custom_base ]; - }; + base62 = buildMix rec { + name = "base62"; + version = "1.2.2"; - bbcode_pleroma = buildMix rec { - name = "bbcode_pleroma"; - version = "0.2.0"; + src = fetchHex { + pkg = "base62"; + version = "${version}"; + sha256 = "d41336bda8eaa5be197f1e4592400513ee60518e5b9f4dcf38f4b4dae6f377bb"; + }; - src = fetchHex { - pkg = "bbcode_pleroma"; - version = "${version}"; - sha256 = "19851074419a5fedb4ef49e1f01b30df504bb5dbb6d6adfc135238063bebd1c3"; + beamDeps = [ custom_base ]; }; - beamDeps = [ nimble_parsec ]; - }; + bbcode_pleroma = buildMix rec { + name = "bbcode_pleroma"; + version = "0.2.0"; - bcrypt_elixir = buildMix rec { - name = "bcrypt_elixir"; - version = "2.3.1"; + src = fetchHex { + pkg = "bbcode_pleroma"; + version = "${version}"; + sha256 = "19851074419a5fedb4ef49e1f01b30df504bb5dbb6d6adfc135238063bebd1c3"; + }; - src = fetchHex { - pkg = "bcrypt_elixir"; - version = "${version}"; - sha256 = "42182d5f46764def15bf9af83739e3bf4ad22661b1c34fc3e88558efced07279"; + beamDeps = [ nimble_parsec ]; }; - beamDeps = [ comeonin elixir_make ]; - }; + bcrypt_elixir = buildMix rec { + name = "bcrypt_elixir"; + version = "2.3.1"; - benchee = buildMix rec { - name = "benchee"; - version = "1.3.0"; + src = fetchHex { + pkg = "bcrypt_elixir"; + version = "${version}"; + sha256 = "42182d5f46764def15bf9af83739e3bf4ad22661b1c34fc3e88558efced07279"; + }; - src = fetchHex { - pkg = "benchee"; - version = "${version}"; - sha256 = "34f4294068c11b2bd2ebf2c59aac9c7da26ffa0068afdf3419f1b176e16c5f81"; + beamDeps = [ + comeonin + elixir_make + ]; }; - beamDeps = [ deep_merge statistex ]; - }; + benchee = buildMix rec { + name = "benchee"; + version = "1.3.0"; - blurhash = buildMix rec { - name = "blurhash"; - version = "0.1.0"; + src = fetchHex { + pkg = "benchee"; + version = "${version}"; + sha256 = "34f4294068c11b2bd2ebf2c59aac9c7da26ffa0068afdf3419f1b176e16c5f81"; + }; - src = fetchHex { - pkg = "rinpatch_blurhash"; - version = "${version}"; - sha256 = "19911a5dcbb0acb9710169a72f702bce6cb048822b12de566ccd82b2cc42b907"; + beamDeps = [ + deep_merge + statistex + ]; }; - beamDeps = [ mogrify ]; - }; + blurhash = buildMix rec { + name = "blurhash"; + version = "0.1.0"; - bunt = buildMix rec { - name = "bunt"; - version = "1.0.0"; + src = fetchHex { + pkg = "rinpatch_blurhash"; + version = "${version}"; + sha256 = "19911a5dcbb0acb9710169a72f702bce6cb048822b12de566ccd82b2cc42b907"; + }; - src = fetchHex { - pkg = "bunt"; - version = "${version}"; - sha256 = "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"; + beamDeps = [ mogrify ]; }; - beamDeps = []; - }; + bunt = buildMix rec { + name = "bunt"; + version = "1.0.0"; - cachex = buildMix rec { - name = "cachex"; - version = "3.6.0"; + src = fetchHex { + pkg = "bunt"; + version = "${version}"; + sha256 = "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"; + }; - src = fetchHex { - pkg = "cachex"; - version = "${version}"; - sha256 = "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"; + beamDeps = [ ]; }; - beamDeps = [ eternal jumper sleeplocks unsafe ]; - }; + cachex = buildMix rec { + name = "cachex"; + version = "3.6.0"; - calendar = buildMix rec { - name = "calendar"; - version = "1.0.0"; + src = fetchHex { + pkg = "cachex"; + version = "${version}"; + sha256 = "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"; + }; - src = fetchHex { - pkg = "calendar"; - version = "${version}"; - sha256 = "990e9581920c82912a5ee50e62ff5ef96da6b15949a2ee4734f935fdef0f0a6f"; + beamDeps = [ + eternal + jumper + sleeplocks + unsafe + ]; }; - beamDeps = [ tzdata ]; - }; + calendar = buildMix rec { + name = "calendar"; + version = "1.0.0"; - castore = buildMix rec { - name = "castore"; - version = "0.1.22"; + src = fetchHex { + pkg = "calendar"; + version = "${version}"; + sha256 = "990e9581920c82912a5ee50e62ff5ef96da6b15949a2ee4734f935fdef0f0a6f"; + }; - src = fetchHex { - pkg = "castore"; - version = "${version}"; - sha256 = "c17576df47eb5aa1ee40cc4134316a99f5cad3e215d5c77b8dd3cfef12a22cac"; + beamDeps = [ tzdata ]; }; - beamDeps = []; - }; + castore = buildMix rec { + name = "castore"; + version = "0.1.22"; - cc_precompiler = buildMix rec { - name = "cc_precompiler"; - version = "0.1.9"; + src = fetchHex { + pkg = "castore"; + version = "${version}"; + sha256 = "c17576df47eb5aa1ee40cc4134316a99f5cad3e215d5c77b8dd3cfef12a22cac"; + }; - src = fetchHex { - pkg = "cc_precompiler"; - version = "${version}"; - sha256 = "9dcab3d0f3038621f1601f13539e7a9ee99843862e66ad62827b0c42b2f58a54"; + beamDeps = [ ]; }; - beamDeps = [ elixir_make ]; - }; + cc_precompiler = buildMix rec { + name = "cc_precompiler"; + version = "0.1.9"; - certifi = buildRebar3 rec { - name = "certifi"; - version = "2.12.0"; + src = fetchHex { + pkg = "cc_precompiler"; + version = "${version}"; + sha256 = "9dcab3d0f3038621f1601f13539e7a9ee99843862e66ad62827b0c42b2f58a54"; + }; - src = fetchHex { - pkg = "certifi"; - version = "${version}"; - sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"; + beamDeps = [ elixir_make ]; }; - beamDeps = []; - }; + certifi = buildRebar3 rec { + name = "certifi"; + version = "2.12.0"; - combine = buildMix rec { - name = "combine"; - version = "0.10.0"; + src = fetchHex { + pkg = "certifi"; + version = "${version}"; + sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"; + }; - src = fetchHex { - pkg = "combine"; - version = "${version}"; - sha256 = "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"; + beamDeps = [ ]; }; - beamDeps = []; - }; + combine = buildMix rec { + name = "combine"; + version = "0.10.0"; - comeonin = buildMix rec { - name = "comeonin"; - version = "5.4.0"; + src = fetchHex { + pkg = "combine"; + version = "${version}"; + sha256 = "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"; + }; - src = fetchHex { - pkg = "comeonin"; - version = "${version}"; - sha256 = "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"; + beamDeps = [ ]; }; - beamDeps = []; - }; + comeonin = buildMix rec { + name = "comeonin"; + version = "5.4.0"; - concurrent_limiter = buildMix rec { - name = "concurrent_limiter"; - version = "0.1.1"; + src = fetchHex { + pkg = "comeonin"; + version = "${version}"; + sha256 = "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"; + }; - src = fetchHex { - pkg = "concurrent_limiter"; - version = "${version}"; - sha256 = "53968ff238c0fbb4d7ed76ddb1af0be6f3b2f77909f6796e249e737c505a16eb"; + beamDeps = [ ]; }; - beamDeps = [ telemetry ]; - }; + concurrent_limiter = buildMix rec { + name = "concurrent_limiter"; + version = "0.1.1"; - connection = buildMix rec { - name = "connection"; - version = "1.1.0"; + src = fetchHex { + pkg = "concurrent_limiter"; + version = "${version}"; + sha256 = "53968ff238c0fbb4d7ed76ddb1af0be6f3b2f77909f6796e249e737c505a16eb"; + }; - src = fetchHex { - pkg = "connection"; - version = "${version}"; - sha256 = "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"; + beamDeps = [ telemetry ]; }; - beamDeps = []; - }; + connection = buildMix rec { + name = "connection"; + version = "1.1.0"; - cors_plug = buildMix rec { - name = "cors_plug"; - version = "2.0.3"; + src = fetchHex { + pkg = "connection"; + version = "${version}"; + sha256 = "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"; + }; - src = fetchHex { - pkg = "cors_plug"; - version = "${version}"; - sha256 = "ee4ae1418e6ce117fc42c2ba3e6cbdca4e95ecd2fe59a05ec6884ca16d469aea"; + beamDeps = [ ]; }; - beamDeps = [ plug ]; - }; + cors_plug = buildMix rec { + name = "cors_plug"; + version = "2.0.3"; - covertool = buildRebar3 rec { - name = "covertool"; - version = "2.0.6"; + src = fetchHex { + pkg = "cors_plug"; + version = "${version}"; + sha256 = "ee4ae1418e6ce117fc42c2ba3e6cbdca4e95ecd2fe59a05ec6884ca16d469aea"; + }; - src = fetchHex { - pkg = "covertool"; - version = "${version}"; - sha256 = "5db3fcd82180d8ea4ad857d4d1ab21a8d31b5aee0d60d2f6c0f9e25a411d1e21"; + beamDeps = [ plug ]; }; - beamDeps = []; - }; + covertool = buildRebar3 rec { + name = "covertool"; + version = "2.0.6"; - cowboy = buildErlangMk rec { - name = "cowboy"; - version = "2.12.0"; + src = fetchHex { + pkg = "covertool"; + version = "${version}"; + sha256 = "5db3fcd82180d8ea4ad857d4d1ab21a8d31b5aee0d60d2f6c0f9e25a411d1e21"; + }; - src = fetchHex { - pkg = "cowboy"; - version = "${version}"; - sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e"; + beamDeps = [ ]; }; - beamDeps = [ cowlib ranch ]; - }; + cowboy = buildErlangMk rec { + name = "cowboy"; + version = "2.12.0"; - cowboy_telemetry = buildRebar3 rec { - name = "cowboy_telemetry"; - version = "0.4.0"; + src = fetchHex { + pkg = "cowboy"; + version = "${version}"; + sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e"; + }; - src = fetchHex { - pkg = "cowboy_telemetry"; - version = "${version}"; - sha256 = "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"; + beamDeps = [ + cowlib + ranch + ]; }; - beamDeps = [ cowboy telemetry ]; - }; + cowboy_telemetry = buildRebar3 rec { + name = "cowboy_telemetry"; + version = "0.4.0"; - cowlib = buildRebar3 rec { - name = "cowlib"; - version = "2.13.0"; + src = fetchHex { + pkg = "cowboy_telemetry"; + version = "${version}"; + sha256 = "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"; + }; - src = fetchHex { - pkg = "cowlib"; - version = "${version}"; - sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4"; + beamDeps = [ + cowboy + telemetry + ]; }; - beamDeps = []; - }; + cowlib = buildRebar3 rec { + name = "cowlib"; + version = "2.13.0"; - credo = buildMix rec { - name = "credo"; - version = "1.7.3"; + src = fetchHex { + pkg = "cowlib"; + version = "${version}"; + sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4"; + }; - src = fetchHex { - pkg = "credo"; - version = "${version}"; - sha256 = "35ea675a094c934c22fb1dca3696f3c31f2728ae6ef5a53b5d648c11180a4535"; + beamDeps = [ ]; }; - beamDeps = [ bunt file_system jason ]; - }; + credo = buildMix rec { + name = "credo"; + version = "1.7.3"; - crontab = buildMix rec { - name = "crontab"; - version = "1.1.8"; + src = fetchHex { + pkg = "credo"; + version = "${version}"; + sha256 = "35ea675a094c934c22fb1dca3696f3c31f2728ae6ef5a53b5d648c11180a4535"; + }; - src = fetchHex { - pkg = "crontab"; - version = "${version}"; - sha256 = "1gkb7ps38j789acj8dw2q7jnhhw43idyvh36fb3i52yjkhli7ra8"; + beamDeps = [ + bunt + file_system + jason + ]; }; - beamDeps = [ ecto ]; - }; + crontab = buildMix rec { + name = "crontab"; + version = "1.1.8"; - custom_base = buildMix rec { - name = "custom_base"; - version = "0.2.1"; + src = fetchHex { + pkg = "crontab"; + version = "${version}"; + sha256 = "1gkb7ps38j789acj8dw2q7jnhhw43idyvh36fb3i52yjkhli7ra8"; + }; - src = fetchHex { - pkg = "custom_base"; - version = "${version}"; - sha256 = "8df019facc5ec9603e94f7270f1ac73ddf339f56ade76a721eaa57c1493ba463"; + beamDeps = [ ecto ]; }; - beamDeps = []; - }; + custom_base = buildMix rec { + name = "custom_base"; + version = "0.2.1"; - db_connection = buildMix rec { - name = "db_connection"; - version = "2.7.0"; + src = fetchHex { + pkg = "custom_base"; + version = "${version}"; + sha256 = "8df019facc5ec9603e94f7270f1ac73ddf339f56ade76a721eaa57c1493ba463"; + }; - src = fetchHex { - pkg = "db_connection"; - version = "${version}"; - sha256 = "dcf08f31b2701f857dfc787fbad78223d61a32204f217f15e881dd93e4bdd3ff"; + beamDeps = [ ]; }; - beamDeps = [ telemetry ]; - }; + db_connection = buildMix rec { + name = "db_connection"; + version = "2.7.0"; - decimal = buildMix rec { - name = "decimal"; - version = "2.1.1"; + src = fetchHex { + pkg = "db_connection"; + version = "${version}"; + sha256 = "dcf08f31b2701f857dfc787fbad78223d61a32204f217f15e881dd93e4bdd3ff"; + }; - src = fetchHex { - pkg = "decimal"; - version = "${version}"; - sha256 = "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"; + beamDeps = [ telemetry ]; }; - beamDeps = []; - }; + decimal = buildMix rec { + name = "decimal"; + version = "2.1.1"; - deep_merge = buildMix rec { - name = "deep_merge"; - version = "1.0.0"; + src = fetchHex { + pkg = "decimal"; + version = "${version}"; + sha256 = "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"; + }; - src = fetchHex { - pkg = "deep_merge"; - version = "${version}"; - sha256 = "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"; + beamDeps = [ ]; }; - beamDeps = []; - }; + deep_merge = buildMix rec { + name = "deep_merge"; + version = "1.0.0"; - dialyxir = buildMix rec { - name = "dialyxir"; - version = "1.4.3"; + src = fetchHex { + pkg = "deep_merge"; + version = "${version}"; + sha256 = "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"; + }; - src = fetchHex { - pkg = "dialyxir"; - version = "${version}"; - sha256 = "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"; + beamDeps = [ ]; }; - beamDeps = [ erlex ]; - }; + dialyxir = buildMix rec { + name = "dialyxir"; + version = "1.4.3"; - earmark = buildMix rec { - name = "earmark"; - version = "1.4.46"; + src = fetchHex { + pkg = "dialyxir"; + version = "${version}"; + sha256 = "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"; + }; - src = fetchHex { - pkg = "earmark"; - version = "${version}"; - sha256 = "798d86db3d79964e759ddc0c077d5eb254968ed426399fbf5a62de2b5ff8910a"; + beamDeps = [ erlex ]; }; - beamDeps = []; - }; + earmark = buildMix rec { + name = "earmark"; + version = "1.4.46"; - earmark_parser = buildMix rec { - name = "earmark_parser"; - version = "1.4.39"; + src = fetchHex { + pkg = "earmark"; + version = "${version}"; + sha256 = "798d86db3d79964e759ddc0c077d5eb254968ed426399fbf5a62de2b5ff8910a"; + }; - src = fetchHex { - pkg = "earmark_parser"; - version = "${version}"; - sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"; + beamDeps = [ ]; }; - beamDeps = []; - }; + earmark_parser = buildMix rec { + name = "earmark_parser"; + version = "1.4.39"; - ecto = buildMix rec { - name = "ecto"; - version = "3.11.2"; + src = fetchHex { + pkg = "earmark_parser"; + version = "${version}"; + sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"; + }; - src = fetchHex { - pkg = "ecto"; - version = "${version}"; - sha256 = "3c38bca2c6f8d8023f2145326cc8a80100c3ffe4dcbd9842ff867f7fc6156c65"; + beamDeps = [ ]; }; - beamDeps = [ decimal jason telemetry ]; - }; + ecto = buildMix rec { + name = "ecto"; + version = "3.11.2"; - ecto_enum = buildMix rec { - name = "ecto_enum"; - version = "1.4.0"; + src = fetchHex { + pkg = "ecto"; + version = "${version}"; + sha256 = "3c38bca2c6f8d8023f2145326cc8a80100c3ffe4dcbd9842ff867f7fc6156c65"; + }; - src = fetchHex { - pkg = "ecto_enum"; - version = "${version}"; - sha256 = "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"; + beamDeps = [ + decimal + jason + telemetry + ]; }; - beamDeps = [ ecto ecto_sql postgrex ]; - }; + ecto_enum = buildMix rec { + name = "ecto_enum"; + version = "1.4.0"; - ecto_psql_extras = buildMix rec { - name = "ecto_psql_extras"; - version = "0.7.15"; + src = fetchHex { + pkg = "ecto_enum"; + version = "${version}"; + sha256 = "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"; + }; - src = fetchHex { - pkg = "ecto_psql_extras"; - version = "${version}"; - sha256 = "b6127f3a5c6fc3d84895e4768cc7c199f22b48b67d6c99b13fbf4a374e73f039"; + beamDeps = [ + ecto + ecto_sql + postgrex + ]; }; - beamDeps = [ ecto_sql postgrex table_rex ]; - }; + ecto_psql_extras = buildMix rec { + name = "ecto_psql_extras"; + version = "0.7.15"; - ecto_sql = buildMix rec { - name = "ecto_sql"; - version = "3.11.3"; + src = fetchHex { + pkg = "ecto_psql_extras"; + version = "${version}"; + sha256 = "b6127f3a5c6fc3d84895e4768cc7c199f22b48b67d6c99b13fbf4a374e73f039"; + }; - src = fetchHex { - pkg = "ecto_sql"; - version = "${version}"; - sha256 = "e5f36e3d736b99c7fee3e631333b8394ade4bafe9d96d35669fca2d81c2be928"; + beamDeps = [ + ecto_sql + postgrex + table_rex + ]; }; - beamDeps = [ db_connection ecto postgrex telemetry ]; - }; + ecto_sql = buildMix rec { + name = "ecto_sql"; + version = "3.11.3"; - eimp = buildRebar3 rec { - name = "eimp"; - version = "1.0.14"; + src = fetchHex { + pkg = "ecto_sql"; + version = "${version}"; + sha256 = "e5f36e3d736b99c7fee3e631333b8394ade4bafe9d96d35669fca2d81c2be928"; + }; - src = fetchHex { - pkg = "eimp"; - version = "${version}"; - sha256 = "501133f3112079b92d9e22da8b88bf4f0e13d4d67ae9c15c42c30bd25ceb83b6"; + beamDeps = [ + db_connection + ecto + postgrex + telemetry + ]; }; - beamDeps = [ p1_utils ]; - }; + eimp = buildRebar3 rec { + name = "eimp"; + version = "1.0.14"; - elixir_make = buildMix rec { - name = "elixir_make"; - version = "0.7.8"; + src = fetchHex { + pkg = "eimp"; + version = "${version}"; + sha256 = "501133f3112079b92d9e22da8b88bf4f0e13d4d67ae9c15c42c30bd25ceb83b6"; + }; - src = fetchHex { - pkg = "elixir_make"; - version = "${version}"; - sha256 = "7a71945b913d37ea89b06966e1342c85cfe549b15e6d6d081e8081c493062c07"; + beamDeps = [ p1_utils ]; }; - beamDeps = [ castore certifi ]; - }; + elixir_make = buildMix rec { + name = "elixir_make"; + version = "0.7.8"; - erlex = buildMix rec { - name = "erlex"; - version = "0.2.6"; + src = fetchHex { + pkg = "elixir_make"; + version = "${version}"; + sha256 = "7a71945b913d37ea89b06966e1342c85cfe549b15e6d6d081e8081c493062c07"; + }; - src = fetchHex { - pkg = "erlex"; - version = "${version}"; - sha256 = "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"; + beamDeps = [ + castore + certifi + ]; }; - beamDeps = []; - }; + erlex = buildMix rec { + name = "erlex"; + version = "0.2.6"; - esbuild = buildMix rec { - name = "esbuild"; - version = "0.5.0"; + src = fetchHex { + pkg = "erlex"; + version = "${version}"; + sha256 = "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"; + }; - src = fetchHex { - pkg = "esbuild"; - version = "${version}"; - sha256 = "f183a0b332d963c4cfaf585477695ea59eef9a6f2204fdd0efa00e099694ffe5"; + beamDeps = [ ]; }; - beamDeps = [ castore ]; - }; + esbuild = buildMix rec { + name = "esbuild"; + version = "0.5.0"; - eternal = buildMix rec { - name = "eternal"; - version = "1.2.2"; + src = fetchHex { + pkg = "esbuild"; + version = "${version}"; + sha256 = "f183a0b332d963c4cfaf585477695ea59eef9a6f2204fdd0efa00e099694ffe5"; + }; - src = fetchHex { - pkg = "eternal"; - version = "${version}"; - sha256 = "2c9fe32b9c3726703ba5e1d43a1d255a4f3f2d8f8f9bc19f094c7cb1a7a9e782"; + beamDeps = [ castore ]; }; - beamDeps = []; - }; + eternal = buildMix rec { + name = "eternal"; + version = "1.2.2"; - ex_aws = buildMix rec { - name = "ex_aws"; - version = "2.1.9"; + src = fetchHex { + pkg = "eternal"; + version = "${version}"; + sha256 = "2c9fe32b9c3726703ba5e1d43a1d255a4f3f2d8f8f9bc19f094c7cb1a7a9e782"; + }; - src = fetchHex { - pkg = "ex_aws"; - version = "${version}"; - sha256 = "3e6c776703c9076001fbe1f7c049535f042cb2afa0d2cbd3b47cbc4e92ac0d10"; + beamDeps = [ ]; }; - beamDeps = [ hackney jason sweet_xml ]; - }; - - ex_aws_s3 = buildMix rec { - name = "ex_aws_s3"; - version = "2.5.3"; - - src = fetchHex { - pkg = "ex_aws_s3"; - version = "${version}"; - sha256 = "4f09dd372cc386550e484808c5ac5027766c8d0cd8271ccc578b82ee6ef4f3b8"; - }; - - beamDeps = [ ex_aws sweet_xml ]; - }; - - ex_const = buildMix rec { - name = "ex_const"; - version = "0.2.4"; - - src = fetchHex { - pkg = "ex_const"; - version = "${version}"; - sha256 = "96fd346610cc992b8f896ed26a98be82ac4efb065a0578f334a32d60a3ba9767"; - }; - - beamDeps = []; - }; - - ex_doc = buildMix rec { - name = "ex_doc"; - version = "0.31.1"; - - src = fetchHex { - pkg = "ex_doc"; - version = "${version}"; - sha256 = "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"; - }; - - beamDeps = [ earmark_parser makeup_elixir makeup_erlang ]; - }; - - ex_machina = buildMix rec { - name = "ex_machina"; - version = "2.7.0"; - - src = fetchHex { - pkg = "ex_machina"; - version = "${version}"; - sha256 = "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"; - }; - - beamDeps = [ ecto ecto_sql ]; - }; + ex_aws = buildMix rec { + name = "ex_aws"; + version = "2.1.9"; - ex_syslogger = buildMix rec { - name = "ex_syslogger"; - version = "1.5.2"; + src = fetchHex { + pkg = "ex_aws"; + version = "${version}"; + sha256 = "3e6c776703c9076001fbe1f7c049535f042cb2afa0d2cbd3b47cbc4e92ac0d10"; + }; - src = fetchHex { - pkg = "ex_syslogger"; - version = "${version}"; - sha256 = "ab9fab4136dbc62651ec6f16fa4842f10cf02ab4433fa3d0976c01be99398399"; + beamDeps = [ + hackney + jason + sweet_xml + ]; }; - beamDeps = [ poison syslog ]; - }; + ex_aws_s3 = buildMix rec { + name = "ex_aws_s3"; + version = "2.5.3"; - exile = buildMix rec { - name = "exile"; - version = "0.10.0"; + src = fetchHex { + pkg = "ex_aws_s3"; + version = "${version}"; + sha256 = "4f09dd372cc386550e484808c5ac5027766c8d0cd8271ccc578b82ee6ef4f3b8"; + }; - src = fetchHex { - pkg = "exile"; - version = "${version}"; - sha256 = "c62ee8fee565b5ac4a898d0dcd58d2b04fb5eec1655af1ddcc9eb582c6732c33"; + beamDeps = [ + ex_aws + sweet_xml + ]; }; - beamDeps = [ elixir_make ]; - }; + ex_const = buildMix rec { + name = "ex_const"; + version = "0.2.4"; - expo = buildMix rec { - name = "expo"; - version = "0.5.1"; + src = fetchHex { + pkg = "ex_const"; + version = "${version}"; + sha256 = "96fd346610cc992b8f896ed26a98be82ac4efb065a0578f334a32d60a3ba9767"; + }; - src = fetchHex { - pkg = "expo"; - version = "${version}"; - sha256 = "68a4233b0658a3d12ee00d27d37d856b1ba48607e7ce20fd376958d0ba6ce92b"; + beamDeps = [ ]; }; - beamDeps = []; - }; + ex_doc = buildMix rec { + name = "ex_doc"; + version = "0.31.1"; - fast_html = buildMix rec { - name = "fast_html"; - version = "2.2.0"; + src = fetchHex { + pkg = "ex_doc"; + version = "${version}"; + sha256 = "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"; + }; - src = fetchHex { - pkg = "fast_html"; - version = "${version}"; - sha256 = "064c4f23b4a6168f9187dac8984b056f2c531bb0787f559fd6a8b34b38aefbae"; + beamDeps = [ + earmark_parser + makeup_elixir + makeup_erlang + ]; }; - beamDeps = [ elixir_make nimble_pool ]; - }; + ex_machina = buildMix rec { + name = "ex_machina"; + version = "2.7.0"; - fast_sanitize = buildMix rec { - name = "fast_sanitize"; - version = "0.2.3"; + src = fetchHex { + pkg = "ex_machina"; + version = "${version}"; + sha256 = "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"; + }; - src = fetchHex { - pkg = "fast_sanitize"; - version = "${version}"; - sha256 = "e8ad286d10d0386e15d67d0ee125245ebcfbc7d7290b08712ba9013c8c5e56e2"; + beamDeps = [ + ecto + ecto_sql + ]; }; - beamDeps = [ fast_html plug ]; - }; + ex_syslogger = buildMix rec { + name = "ex_syslogger"; + version = "1.5.2"; - file_system = buildMix rec { - name = "file_system"; - version = "0.2.10"; + src = fetchHex { + pkg = "ex_syslogger"; + version = "${version}"; + sha256 = "ab9fab4136dbc62651ec6f16fa4842f10cf02ab4433fa3d0976c01be99398399"; + }; - src = fetchHex { - pkg = "file_system"; - version = "${version}"; - sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"; + beamDeps = [ + poison + syslog + ]; }; - beamDeps = []; - }; + exile = buildMix rec { + name = "exile"; + version = "0.10.0"; - finch = buildMix rec { - name = "finch"; - version = "0.18.0"; + src = fetchHex { + pkg = "exile"; + version = "${version}"; + sha256 = "c62ee8fee565b5ac4a898d0dcd58d2b04fb5eec1655af1ddcc9eb582c6732c33"; + }; - src = fetchHex { - pkg = "finch"; - version = "${version}"; - sha256 = "69f5045b042e531e53edc2574f15e25e735b522c37e2ddb766e15b979e03aa65"; + beamDeps = [ elixir_make ]; }; - beamDeps = [ castore mime mint nimble_options nimble_pool telemetry ]; - }; + expo = buildMix rec { + name = "expo"; + version = "0.5.1"; - flake_id = buildMix rec { - name = "flake_id"; - version = "0.1.0"; + src = fetchHex { + pkg = "expo"; + version = "${version}"; + sha256 = "68a4233b0658a3d12ee00d27d37d856b1ba48607e7ce20fd376958d0ba6ce92b"; + }; - src = fetchHex { - pkg = "flake_id"; - version = "${version}"; - sha256 = "31fc8090fde1acd267c07c36ea7365b8604055f897d3a53dd967658c691bd827"; + beamDeps = [ ]; }; - beamDeps = [ base62 ecto ]; - }; + fast_html = buildMix rec { + name = "fast_html"; + version = "2.2.0"; - floki = buildMix rec { - name = "floki"; - version = "0.35.2"; + src = fetchHex { + pkg = "fast_html"; + version = "${version}"; + sha256 = "064c4f23b4a6168f9187dac8984b056f2c531bb0787f559fd6a8b34b38aefbae"; + }; - src = fetchHex { - pkg = "floki"; - version = "${version}"; - sha256 = "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9"; + beamDeps = [ + elixir_make + nimble_pool + ]; }; - beamDeps = []; - }; + fast_sanitize = buildMix rec { + name = "fast_sanitize"; + version = "0.2.3"; - gen_smtp = buildRebar3 rec { - name = "gen_smtp"; - version = "0.15.0"; + src = fetchHex { + pkg = "fast_sanitize"; + version = "${version}"; + sha256 = "e8ad286d10d0386e15d67d0ee125245ebcfbc7d7290b08712ba9013c8c5e56e2"; + }; - src = fetchHex { - pkg = "gen_smtp"; - version = "${version}"; - sha256 = "29bd14a88030980849c7ed2447b8db6d6c9278a28b11a44cafe41b791205440f"; + beamDeps = [ + fast_html + plug + ]; }; - beamDeps = []; - }; + file_system = buildMix rec { + name = "file_system"; + version = "0.2.10"; - gettext = buildMix rec { - name = "gettext"; - version = "0.24.0"; + src = fetchHex { + pkg = "file_system"; + version = "${version}"; + sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"; + }; - src = fetchHex { - pkg = "gettext"; - version = "${version}"; - sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"; + beamDeps = [ ]; }; - beamDeps = [ expo ]; - }; + finch = buildMix rec { + name = "finch"; + version = "0.18.0"; - gun = buildRebar3 rec { - name = "gun"; - version = "2.0.1"; + src = fetchHex { + pkg = "finch"; + version = "${version}"; + sha256 = "69f5045b042e531e53edc2574f15e25e735b522c37e2ddb766e15b979e03aa65"; + }; - src = fetchHex { - pkg = "gun"; - version = "${version}"; - sha256 = "a10bc8d6096b9502205022334f719cc9a08d9adcfbfc0dbee9ef31b56274a20b"; + beamDeps = [ + castore + mime + mint + nimble_options + nimble_pool + telemetry + ]; }; - beamDeps = [ cowlib ]; - }; + flake_id = buildMix rec { + name = "flake_id"; + version = "0.1.0"; - hackney = buildRebar3 rec { - name = "hackney"; - version = "1.18.2"; + src = fetchHex { + pkg = "flake_id"; + version = "${version}"; + sha256 = "31fc8090fde1acd267c07c36ea7365b8604055f897d3a53dd967658c691bd827"; + }; - src = fetchHex { - pkg = "hackney"; - version = "${version}"; - sha256 = "af94d5c9f97857db257090a4a10e5426ecb6f4918aa5cc666798566ae14b65fd"; + beamDeps = [ + base62 + ecto + ]; }; - beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ]; - }; + floki = buildMix rec { + name = "floki"; + version = "0.35.2"; - hpax = buildMix rec { - name = "hpax"; - version = "0.2.0"; + src = fetchHex { + pkg = "floki"; + version = "${version}"; + sha256 = "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9"; + }; - src = fetchHex { - pkg = "hpax"; - version = "${version}"; - sha256 = "bea06558cdae85bed075e6c036993d43cd54d447f76d8190a8db0dc5893fa2f1"; + beamDeps = [ ]; }; - beamDeps = []; - }; + gen_smtp = buildRebar3 rec { + name = "gen_smtp"; + version = "0.15.0"; - html_entities = buildMix rec { - name = "html_entities"; - version = "0.5.2"; + src = fetchHex { + pkg = "gen_smtp"; + version = "${version}"; + sha256 = "29bd14a88030980849c7ed2447b8db6d6c9278a28b11a44cafe41b791205440f"; + }; - src = fetchHex { - pkg = "html_entities"; - version = "${version}"; - sha256 = "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"; + beamDeps = [ ]; }; - beamDeps = []; - }; + gettext = buildMix rec { + name = "gettext"; + version = "0.24.0"; - http_signatures = buildMix rec { - name = "http_signatures"; - version = "0.1.2"; + src = fetchHex { + pkg = "gettext"; + version = "${version}"; + sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"; + }; - src = fetchHex { - pkg = "http_signatures"; - version = "${version}"; - sha256 = "f08aa9ac121829dae109d608d83c84b940ef2f183ae50f2dd1e9a8bc619d8be7"; + beamDeps = [ expo ]; }; - beamDeps = []; - }; + gun = buildRebar3 rec { + name = "gun"; + version = "2.0.1"; - httpoison = buildMix rec { - name = "httpoison"; - version = "1.8.2"; + src = fetchHex { + pkg = "gun"; + version = "${version}"; + sha256 = "a10bc8d6096b9502205022334f719cc9a08d9adcfbfc0dbee9ef31b56274a20b"; + }; - src = fetchHex { - pkg = "httpoison"; - version = "${version}"; - sha256 = "2bb350d26972e30c96e2ca74a1aaf8293d61d0742ff17f01e0279fef11599921"; + beamDeps = [ cowlib ]; }; - beamDeps = [ hackney ]; - }; + hackney = buildRebar3 rec { + name = "hackney"; + version = "1.18.2"; - idna = buildRebar3 rec { - name = "idna"; - version = "6.1.1"; + src = fetchHex { + pkg = "hackney"; + version = "${version}"; + sha256 = "af94d5c9f97857db257090a4a10e5426ecb6f4918aa5cc666798566ae14b65fd"; + }; - src = fetchHex { - pkg = "idna"; - version = "${version}"; - sha256 = "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"; + beamDeps = [ + certifi + idna + metrics + mimerl + parse_trans + ssl_verify_fun + unicode_util_compat + ]; }; - beamDeps = [ unicode_util_compat ]; - }; + hpax = buildMix rec { + name = "hpax"; + version = "0.2.0"; - inet_cidr = buildMix rec { - name = "inet_cidr"; - version = "1.0.8"; + src = fetchHex { + pkg = "hpax"; + version = "${version}"; + sha256 = "bea06558cdae85bed075e6c036993d43cd54d447f76d8190a8db0dc5893fa2f1"; + }; - src = fetchHex { - pkg = "inet_cidr"; - version = "${version}"; - sha256 = "d5b26da66603bb56c933c65214c72152f0de9a6ea53618b56d63302a68f6a90e"; + beamDeps = [ ]; }; - beamDeps = []; - }; + html_entities = buildMix rec { + name = "html_entities"; + version = "0.5.2"; - jason = buildMix rec { - name = "jason"; - version = "1.4.3"; + src = fetchHex { + pkg = "html_entities"; + version = "${version}"; + sha256 = "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"; + }; - src = fetchHex { - pkg = "jason"; - version = "${version}"; - sha256 = "9a90e868927f7c777689baa16d86f4d0e086d968db5c05d917ccff6d443e58a3"; + beamDeps = [ ]; }; - beamDeps = [ decimal ]; - }; + http_signatures = buildMix rec { + name = "http_signatures"; + version = "0.1.2"; - joken = buildMix rec { - name = "joken"; - version = "2.6.0"; + src = fetchHex { + pkg = "http_signatures"; + version = "${version}"; + sha256 = "f08aa9ac121829dae109d608d83c84b940ef2f183ae50f2dd1e9a8bc619d8be7"; + }; - src = fetchHex { - pkg = "joken"; - version = "${version}"; - sha256 = "5a95b05a71cd0b54abd35378aeb1d487a23a52c324fa7efdffc512b655b5aaa7"; + beamDeps = [ ]; }; - beamDeps = [ jose ]; - }; + httpoison = buildMix rec { + name = "httpoison"; + version = "1.8.2"; - jose = buildMix rec { - name = "jose"; - version = "1.11.6"; + src = fetchHex { + pkg = "httpoison"; + version = "${version}"; + sha256 = "2bb350d26972e30c96e2ca74a1aaf8293d61d0742ff17f01e0279fef11599921"; + }; - src = fetchHex { - pkg = "jose"; - version = "${version}"; - sha256 = "6275cb75504f9c1e60eeacb771adfeee4905a9e182103aa59b53fed651ff9738"; + beamDeps = [ hackney ]; }; - beamDeps = []; - }; + idna = buildRebar3 rec { + name = "idna"; + version = "6.1.1"; - jumper = buildMix rec { - name = "jumper"; - version = "1.0.2"; + src = fetchHex { + pkg = "idna"; + version = "${version}"; + sha256 = "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"; + }; - src = fetchHex { - pkg = "jumper"; - version = "${version}"; - sha256 = "9b7782409021e01ab3c08270e26f36eb62976a38c1aa64b2eaf6348422f165e1"; + beamDeps = [ unicode_util_compat ]; }; - beamDeps = []; - }; + inet_cidr = buildMix rec { + name = "inet_cidr"; + version = "1.0.8"; - linkify = buildMix rec { - name = "linkify"; - version = "0.5.3"; + src = fetchHex { + pkg = "inet_cidr"; + version = "${version}"; + sha256 = "d5b26da66603bb56c933c65214c72152f0de9a6ea53618b56d63302a68f6a90e"; + }; - src = fetchHex { - pkg = "linkify"; - version = "${version}"; - sha256 = "3ef35a1377d47c25506e07c1c005ea9d38d700699d92ee92825f024434258177"; + beamDeps = [ ]; }; - beamDeps = []; - }; + jason = buildMix rec { + name = "jason"; + version = "1.4.3"; - logger_backends = buildMix rec { - name = "logger_backends"; - version = "1.0.0"; + src = fetchHex { + pkg = "jason"; + version = "${version}"; + sha256 = "9a90e868927f7c777689baa16d86f4d0e086d968db5c05d917ccff6d443e58a3"; + }; - src = fetchHex { - pkg = "logger_backends"; - version = "${version}"; - sha256 = "1faceb3e7ec3ef66a8f5746c5afd020e63996df6fd4eb8cdb789e5665ae6c9ce"; + beamDeps = [ decimal ]; }; - beamDeps = []; - }; + joken = buildMix rec { + name = "joken"; + version = "2.6.0"; - majic = buildMix rec { - name = "majic"; - version = "1.0.0"; + src = fetchHex { + pkg = "joken"; + version = "${version}"; + sha256 = "5a95b05a71cd0b54abd35378aeb1d487a23a52c324fa7efdffc512b655b5aaa7"; + }; - src = fetchHex { - pkg = "majic"; - version = "${version}"; - sha256 = "7905858f76650d49695f14ea55cd9aaaee0c6654fa391671d4cf305c275a0a9e"; + beamDeps = [ jose ]; }; - beamDeps = [ elixir_make mime nimble_pool plug ]; - }; + jose = buildMix rec { + name = "jose"; + version = "1.11.6"; - makeup = buildMix rec { - name = "makeup"; - version = "1.0.5"; + src = fetchHex { + pkg = "jose"; + version = "${version}"; + sha256 = "6275cb75504f9c1e60eeacb771adfeee4905a9e182103aa59b53fed651ff9738"; + }; - src = fetchHex { - pkg = "makeup"; - version = "${version}"; - sha256 = "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"; + beamDeps = [ ]; }; - beamDeps = [ nimble_parsec ]; - }; + jumper = buildMix rec { + name = "jumper"; + version = "1.0.2"; - makeup_elixir = buildMix rec { - name = "makeup_elixir"; - version = "0.14.1"; + src = fetchHex { + pkg = "jumper"; + version = "${version}"; + sha256 = "9b7782409021e01ab3c08270e26f36eb62976a38c1aa64b2eaf6348422f165e1"; + }; - src = fetchHex { - pkg = "makeup_elixir"; - version = "${version}"; - sha256 = "f2438b1a80eaec9ede832b5c41cd4f373b38fd7aa33e3b22d9db79e640cbde11"; + beamDeps = [ ]; }; - beamDeps = [ makeup ]; - }; + linkify = buildMix rec { + name = "linkify"; + version = "0.5.3"; - makeup_erlang = buildMix rec { - name = "makeup_erlang"; - version = "0.1.3"; + src = fetchHex { + pkg = "linkify"; + version = "${version}"; + sha256 = "3ef35a1377d47c25506e07c1c005ea9d38d700699d92ee92825f024434258177"; + }; - src = fetchHex { - pkg = "makeup_erlang"; - version = "${version}"; - sha256 = "b78dc853d2e670ff6390b605d807263bf606da3c82be37f9d7f68635bd886fc9"; + beamDeps = [ ]; }; - beamDeps = [ makeup ]; - }; + logger_backends = buildMix rec { + name = "logger_backends"; + version = "1.0.0"; - meck = buildRebar3 rec { - name = "meck"; - version = "0.9.2"; + src = fetchHex { + pkg = "logger_backends"; + version = "${version}"; + sha256 = "1faceb3e7ec3ef66a8f5746c5afd020e63996df6fd4eb8cdb789e5665ae6c9ce"; + }; - src = fetchHex { - pkg = "meck"; - version = "${version}"; - sha256 = "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"; + beamDeps = [ ]; }; - beamDeps = []; - }; + majic = buildMix rec { + name = "majic"; + version = "1.0.0"; - metrics = buildRebar3 rec { - name = "metrics"; - version = "1.0.1"; + src = fetchHex { + pkg = "majic"; + version = "${version}"; + sha256 = "7905858f76650d49695f14ea55cd9aaaee0c6654fa391671d4cf305c275a0a9e"; + }; - src = fetchHex { - pkg = "metrics"; - version = "${version}"; - sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"; + beamDeps = [ + elixir_make + mime + nimble_pool + plug + ]; }; - beamDeps = []; - }; + makeup = buildMix rec { + name = "makeup"; + version = "1.0.5"; - mime = buildMix rec { - name = "mime"; - version = "1.6.0"; + src = fetchHex { + pkg = "makeup"; + version = "${version}"; + sha256 = "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"; + }; - src = fetchHex { - pkg = "mime"; - version = "${version}"; - sha256 = "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"; + beamDeps = [ nimble_parsec ]; }; - beamDeps = []; - }; + makeup_elixir = buildMix rec { + name = "makeup_elixir"; + version = "0.14.1"; - mimerl = buildRebar3 rec { - name = "mimerl"; - version = "1.3.0"; + src = fetchHex { + pkg = "makeup_elixir"; + version = "${version}"; + sha256 = "f2438b1a80eaec9ede832b5c41cd4f373b38fd7aa33e3b22d9db79e640cbde11"; + }; - src = fetchHex { - pkg = "mimerl"; - version = "${version}"; - sha256 = "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d"; + beamDeps = [ makeup ]; }; - beamDeps = []; - }; + makeup_erlang = buildMix rec { + name = "makeup_erlang"; + version = "0.1.3"; - mint = buildMix rec { - name = "mint"; - version = "1.6.1"; + src = fetchHex { + pkg = "makeup_erlang"; + version = "${version}"; + sha256 = "b78dc853d2e670ff6390b605d807263bf606da3c82be37f9d7f68635bd886fc9"; + }; - src = fetchHex { - pkg = "mint"; - version = "${version}"; - sha256 = "4fc518dcc191d02f433393a72a7ba3f6f94b101d094cb6bf532ea54c89423780"; + beamDeps = [ makeup ]; }; - beamDeps = [ castore hpax ]; - }; + meck = buildRebar3 rec { + name = "meck"; + version = "0.9.2"; - mochiweb = buildRebar3 rec { - name = "mochiweb"; - version = "2.18.0"; + src = fetchHex { + pkg = "meck"; + version = "${version}"; + sha256 = "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"; + }; - src = fetchHex { - pkg = "mochiweb"; - version = "${version}"; - sha256 = "16j8cfn3hq0g474xc5xl8nk2v46hwvwpfwi9rkzavnsbaqg2ngmr"; + beamDeps = [ ]; }; - beamDeps = []; - }; + metrics = buildRebar3 rec { + name = "metrics"; + version = "1.0.1"; - mock = buildMix rec { - name = "mock"; - version = "0.3.8"; + src = fetchHex { + pkg = "metrics"; + version = "${version}"; + sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"; + }; - src = fetchHex { - pkg = "mock"; - version = "${version}"; - sha256 = "7fa82364c97617d79bb7d15571193fc0c4fe5afd0c932cef09426b3ee6fe2022"; + beamDeps = [ ]; }; - beamDeps = [ meck ]; - }; + mime = buildMix rec { + name = "mime"; + version = "1.6.0"; - mogrify = buildMix rec { - name = "mogrify"; - version = "0.8.0"; + src = fetchHex { + pkg = "mime"; + version = "${version}"; + sha256 = "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"; + }; - src = fetchHex { - pkg = "mogrify"; - version = "${version}"; - sha256 = "2278d245f07056ea3b586e98801e933695147066fa4cf563f552c1b4f0ff8ad9"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mimerl = buildRebar3 rec { + name = "mimerl"; + version = "1.3.0"; - mox = buildMix rec { - name = "mox"; - version = "1.1.0"; + src = fetchHex { + pkg = "mimerl"; + version = "${version}"; + sha256 = "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d"; + }; - src = fetchHex { - pkg = "mox"; - version = "${version}"; - sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mint = buildMix rec { + name = "mint"; + version = "1.6.1"; - nimble_options = buildMix rec { - name = "nimble_options"; - version = "1.1.1"; + src = fetchHex { + pkg = "mint"; + version = "${version}"; + sha256 = "4fc518dcc191d02f433393a72a7ba3f6f94b101d094cb6bf532ea54c89423780"; + }; - src = fetchHex { - pkg = "nimble_options"; - version = "${version}"; - sha256 = "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"; + beamDeps = [ + castore + hpax + ]; }; - beamDeps = []; - }; + mochiweb = buildRebar3 rec { + name = "mochiweb"; + version = "2.18.0"; - nimble_parsec = buildMix rec { - name = "nimble_parsec"; - version = "0.6.0"; + src = fetchHex { + pkg = "mochiweb"; + version = "${version}"; + sha256 = "16j8cfn3hq0g474xc5xl8nk2v46hwvwpfwi9rkzavnsbaqg2ngmr"; + }; - src = fetchHex { - pkg = "nimble_parsec"; - version = "${version}"; - sha256 = "27eac315a94909d4dc68bc07a4a83e06c8379237c5ea528a9acff4ca1c873c52"; + beamDeps = [ ]; }; - beamDeps = []; - }; + mock = buildMix rec { + name = "mock"; + version = "0.3.8"; - nimble_pool = buildMix rec { - name = "nimble_pool"; - version = "0.2.6"; + src = fetchHex { + pkg = "mock"; + version = "${version}"; + sha256 = "7fa82364c97617d79bb7d15571193fc0c4fe5afd0c932cef09426b3ee6fe2022"; + }; - src = fetchHex { - pkg = "nimble_pool"; - version = "${version}"; - sha256 = "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"; + beamDeps = [ meck ]; }; - beamDeps = []; - }; + mogrify = buildMix rec { + name = "mogrify"; + version = "0.8.0"; - oban = buildMix rec { - name = "oban"; - version = "2.17.12"; + src = fetchHex { + pkg = "mogrify"; + version = "${version}"; + sha256 = "2278d245f07056ea3b586e98801e933695147066fa4cf563f552c1b4f0ff8ad9"; + }; - src = fetchHex { - pkg = "oban"; - version = "${version}"; - sha256 = "7a647d6cd6bb300073db17faabce22d80ae135da3baf3180a064fa7c4fa046e3"; + beamDeps = [ ]; }; - beamDeps = [ ecto_sql jason postgrex telemetry ]; - }; + mox = buildMix rec { + name = "mox"; + version = "1.1.0"; - oban_live_dashboard = buildMix rec { - name = "oban_live_dashboard"; - version = "0.1.1"; + src = fetchHex { + pkg = "mox"; + version = "${version}"; + sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13"; + }; - src = fetchHex { - pkg = "oban_live_dashboard"; - version = "${version}"; - sha256 = "16dc4ce9c9a95aa2e655e35ed4e675652994a8def61731a18af85e230e1caa63"; + beamDeps = [ ]; }; - beamDeps = [ oban phoenix_live_dashboard ]; - }; + nimble_options = buildMix rec { + name = "nimble_options"; + version = "1.1.1"; - octo_fetch = buildMix rec { - name = "octo_fetch"; - version = "0.4.0"; + src = fetchHex { + pkg = "nimble_options"; + version = "${version}"; + sha256 = "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"; + }; - src = fetchHex { - pkg = "octo_fetch"; - version = "${version}"; - sha256 = "cf8be6f40cd519d7000bb4e84adcf661c32e59369ca2827c4e20042eda7a7fc6"; + beamDeps = [ ]; }; - beamDeps = [ castore ssl_verify_fun ]; - }; + nimble_parsec = buildMix rec { + name = "nimble_parsec"; + version = "0.6.0"; - open_api_spex = buildMix rec { - name = "open_api_spex"; - version = "3.18.2"; + src = fetchHex { + pkg = "nimble_parsec"; + version = "${version}"; + sha256 = "27eac315a94909d4dc68bc07a4a83e06c8379237c5ea528a9acff4ca1c873c52"; + }; - src = fetchHex { - pkg = "open_api_spex"; - version = "${version}"; - sha256 = "aa3e6dcfc0ad6a02596b2172662da21c9dd848dac145ea9e603f54e3d81b8d2b"; + beamDeps = [ ]; }; - beamDeps = [ jason plug poison ]; - }; + nimble_pool = buildMix rec { + name = "nimble_pool"; + version = "0.2.6"; - parse_trans = buildRebar3 rec { - name = "parse_trans"; - version = "3.4.1"; + src = fetchHex { + pkg = "nimble_pool"; + version = "${version}"; + sha256 = "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"; + }; - src = fetchHex { - pkg = "parse_trans"; - version = "${version}"; - sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"; + beamDeps = [ ]; }; - beamDeps = []; - }; + oban = buildMix rec { + name = "oban"; + version = "2.17.12"; - pbkdf2_elixir = buildMix rec { - name = "pbkdf2_elixir"; - version = "1.2.1"; + src = fetchHex { + pkg = "oban"; + version = "${version}"; + sha256 = "7a647d6cd6bb300073db17faabce22d80ae135da3baf3180a064fa7c4fa046e3"; + }; - src = fetchHex { - pkg = "pbkdf2_elixir"; - version = "${version}"; - sha256 = "d3b40a4a4630f0b442f19eca891fcfeeee4c40871936fed2f68e1c4faa30481f"; + beamDeps = [ + ecto_sql + jason + postgrex + telemetry + ]; }; - beamDeps = [ comeonin ]; - }; + oban_live_dashboard = buildMix rec { + name = "oban_live_dashboard"; + version = "0.1.1"; - phoenix = buildMix rec { - name = "phoenix"; - version = "1.7.14"; + src = fetchHex { + pkg = "oban_live_dashboard"; + version = "${version}"; + sha256 = "16dc4ce9c9a95aa2e655e35ed4e675652994a8def61731a18af85e230e1caa63"; + }; - src = fetchHex { - pkg = "phoenix"; - version = "${version}"; - sha256 = "c7859bc56cc5dfef19ecfc240775dae358cbaa530231118a9e014df392ace61a"; + beamDeps = [ + oban + phoenix_live_dashboard + ]; }; - beamDeps = [ castore jason phoenix_pubsub phoenix_template phoenix_view plug plug_cowboy plug_crypto telemetry websock_adapter ]; - }; + octo_fetch = buildMix rec { + name = "octo_fetch"; + version = "0.4.0"; - phoenix_ecto = buildMix rec { - name = "phoenix_ecto"; - version = "4.4.3"; + src = fetchHex { + pkg = "octo_fetch"; + version = "${version}"; + sha256 = "cf8be6f40cd519d7000bb4e84adcf661c32e59369ca2827c4e20042eda7a7fc6"; + }; - src = fetchHex { - pkg = "phoenix_ecto"; - version = "${version}"; - sha256 = "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07"; + beamDeps = [ + castore + ssl_verify_fun + ]; }; - beamDeps = [ ecto phoenix_html plug ]; - }; + open_api_spex = buildMix rec { + name = "open_api_spex"; + version = "3.18.2"; - phoenix_html = buildMix rec { - name = "phoenix_html"; - version = "3.3.4"; + src = fetchHex { + pkg = "open_api_spex"; + version = "${version}"; + sha256 = "aa3e6dcfc0ad6a02596b2172662da21c9dd848dac145ea9e603f54e3d81b8d2b"; + }; - src = fetchHex { - pkg = "phoenix_html"; - version = "${version}"; - sha256 = "0249d3abec3714aff3415e7ee3d9786cb325be3151e6c4b3021502c585bf53fb"; + beamDeps = [ + jason + plug + poison + ]; }; - beamDeps = [ plug ]; - }; - - phoenix_live_dashboard = buildMix rec { - name = "phoenix_live_dashboard"; - version = "0.8.3"; + parse_trans = buildRebar3 rec { + name = "parse_trans"; + version = "3.4.1"; - src = fetchHex { - pkg = "phoenix_live_dashboard"; - version = "${version}"; - sha256 = "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"; - }; - - beamDeps = [ ecto ecto_psql_extras mime phoenix_live_view telemetry_metrics ]; - }; + src = fetchHex { + pkg = "parse_trans"; + version = "${version}"; + sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"; + }; - phoenix_live_reload = buildMix rec { - name = "phoenix_live_reload"; - version = "1.3.3"; + beamDeps = [ ]; + }; + + pbkdf2_elixir = buildMix rec { + name = "pbkdf2_elixir"; + version = "1.2.1"; - src = fetchHex { - pkg = "phoenix_live_reload"; - version = "${version}"; - sha256 = "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"; + src = fetchHex { + pkg = "pbkdf2_elixir"; + version = "${version}"; + sha256 = "d3b40a4a4630f0b442f19eca891fcfeeee4c40871936fed2f68e1c4faa30481f"; + }; + + beamDeps = [ comeonin ]; + }; + + phoenix = buildMix rec { + name = "phoenix"; + version = "1.7.14"; + + src = fetchHex { + pkg = "phoenix"; + version = "${version}"; + sha256 = "c7859bc56cc5dfef19ecfc240775dae358cbaa530231118a9e014df392ace61a"; + }; + + beamDeps = [ + castore + jason + phoenix_pubsub + phoenix_template + phoenix_view + plug + plug_cowboy + plug_crypto + telemetry + websock_adapter + ]; }; - beamDeps = [ file_system phoenix ]; - }; - - phoenix_live_view = buildMix rec { - name = "phoenix_live_view"; - version = "0.19.5"; - - src = fetchHex { - pkg = "phoenix_live_view"; - version = "${version}"; - sha256 = "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"; + phoenix_ecto = buildMix rec { + name = "phoenix_ecto"; + version = "4.4.3"; + + src = fetchHex { + pkg = "phoenix_ecto"; + version = "${version}"; + sha256 = "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07"; + }; + + beamDeps = [ + ecto + phoenix_html + plug + ]; + }; + + phoenix_html = buildMix rec { + name = "phoenix_html"; + version = "3.3.4"; + + src = fetchHex { + pkg = "phoenix_html"; + version = "${version}"; + sha256 = "0249d3abec3714aff3415e7ee3d9786cb325be3151e6c4b3021502c585bf53fb"; + }; + + beamDeps = [ plug ]; + }; + + phoenix_live_dashboard = buildMix rec { + name = "phoenix_live_dashboard"; + version = "0.8.3"; + + src = fetchHex { + pkg = "phoenix_live_dashboard"; + version = "${version}"; + sha256 = "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"; + }; + + beamDeps = [ + ecto + ecto_psql_extras + mime + phoenix_live_view + telemetry_metrics + ]; }; - beamDeps = [ jason phoenix phoenix_html phoenix_template phoenix_view telemetry ]; - }; - - phoenix_pubsub = buildMix rec { - name = "phoenix_pubsub"; - version = "2.1.3"; + phoenix_live_reload = buildMix rec { + name = "phoenix_live_reload"; + version = "1.3.3"; + + src = fetchHex { + pkg = "phoenix_live_reload"; + version = "${version}"; + sha256 = "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"; + }; + + beamDeps = [ + file_system + phoenix + ]; + }; + + phoenix_live_view = buildMix rec { + name = "phoenix_live_view"; + version = "0.19.5"; + + src = fetchHex { + pkg = "phoenix_live_view"; + version = "${version}"; + sha256 = "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"; + }; + + beamDeps = [ + jason + phoenix + phoenix_html + phoenix_template + phoenix_view + telemetry + ]; + }; + + phoenix_pubsub = buildMix rec { + name = "phoenix_pubsub"; + version = "2.1.3"; + + src = fetchHex { + pkg = "phoenix_pubsub"; + version = "${version}"; + sha256 = "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"; + }; - src = fetchHex { - pkg = "phoenix_pubsub"; - version = "${version}"; - sha256 = "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"; + beamDeps = [ ]; }; - beamDeps = []; - }; - - phoenix_swoosh = buildMix rec { - name = "phoenix_swoosh"; - version = "1.2.1"; + phoenix_swoosh = buildMix rec { + name = "phoenix_swoosh"; + version = "1.2.1"; + + src = fetchHex { + pkg = "phoenix_swoosh"; + version = "${version}"; + sha256 = "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"; + }; - src = fetchHex { - pkg = "phoenix_swoosh"; - version = "${version}"; - sha256 = "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2"; + beamDeps = [ + finch + hackney + phoenix + phoenix_html + phoenix_view + swoosh + ]; }; - beamDeps = [ finch hackney phoenix phoenix_html phoenix_view swoosh ]; - }; + phoenix_template = buildMix rec { + name = "phoenix_template"; + version = "1.0.4"; - phoenix_template = buildMix rec { - name = "phoenix_template"; - version = "1.0.4"; + src = fetchHex { + pkg = "phoenix_template"; + version = "${version}"; + sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"; + }; - src = fetchHex { - pkg = "phoenix_template"; - version = "${version}"; - sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"; + beamDeps = [ phoenix_html ]; }; - beamDeps = [ phoenix_html ]; - }; + phoenix_view = buildMix rec { + name = "phoenix_view"; + version = "2.0.4"; - phoenix_view = buildMix rec { - name = "phoenix_view"; - version = "2.0.4"; + src = fetchHex { + pkg = "phoenix_view"; + version = "${version}"; + sha256 = "4e992022ce14f31fe57335db27a28154afcc94e9983266835bb3040243eb620b"; + }; - src = fetchHex { - pkg = "phoenix_view"; - version = "${version}"; - sha256 = "4e992022ce14f31fe57335db27a28154afcc94e9983266835bb3040243eb620b"; + beamDeps = [ + phoenix_html + phoenix_template + ]; }; - beamDeps = [ phoenix_html phoenix_template ]; - }; + plug = buildMix rec { + name = "plug"; + version = "1.16.1"; - plug = buildMix rec { - name = "plug"; - version = "1.16.1"; + src = fetchHex { + pkg = "plug"; + version = "${version}"; + sha256 = "a13ff6b9006b03d7e33874945b2755253841b238c34071ed85b0e86057f8cddc"; + }; - src = fetchHex { - pkg = "plug"; - version = "${version}"; - sha256 = "a13ff6b9006b03d7e33874945b2755253841b238c34071ed85b0e86057f8cddc"; + beamDeps = [ + mime + plug_crypto + telemetry + ]; }; - beamDeps = [ mime plug_crypto telemetry ]; - }; + plug_cowboy = buildMix rec { + name = "plug_cowboy"; + version = "2.7.1"; - plug_cowboy = buildMix rec { - name = "plug_cowboy"; - version = "2.7.1"; + src = fetchHex { + pkg = "plug_cowboy"; + version = "${version}"; + sha256 = "02dbd5f9ab571b864ae39418db7811618506256f6d13b4a45037e5fe78dc5de3"; + }; - src = fetchHex { - pkg = "plug_cowboy"; - version = "${version}"; - sha256 = "02dbd5f9ab571b864ae39418db7811618506256f6d13b4a45037e5fe78dc5de3"; + beamDeps = [ + cowboy + cowboy_telemetry + plug + ]; }; - beamDeps = [ cowboy cowboy_telemetry plug ]; - }; + plug_crypto = buildMix rec { + name = "plug_crypto"; + version = "2.1.0"; - plug_crypto = buildMix rec { - name = "plug_crypto"; - version = "2.1.0"; + src = fetchHex { + pkg = "plug_crypto"; + version = "${version}"; + sha256 = "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa"; + }; - src = fetchHex { - pkg = "plug_crypto"; - version = "${version}"; - sha256 = "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa"; + beamDeps = [ ]; }; - beamDeps = []; - }; + plug_static_index_html = buildMix rec { + name = "plug_static_index_html"; + version = "1.0.0"; - plug_static_index_html = buildMix rec { - name = "plug_static_index_html"; - version = "1.0.0"; + src = fetchHex { + pkg = "plug_static_index_html"; + version = "${version}"; + sha256 = "79fd4fcf34d110605c26560cbae8f23c603ec4158c08298bd4360fdea90bb5cf"; + }; - src = fetchHex { - pkg = "plug_static_index_html"; - version = "${version}"; - sha256 = "79fd4fcf34d110605c26560cbae8f23c603ec4158c08298bd4360fdea90bb5cf"; + beamDeps = [ plug ]; }; - beamDeps = [ plug ]; - }; + poison = buildMix rec { + name = "poison"; + version = "3.1.0"; - poison = buildMix rec { - name = "poison"; - version = "3.1.0"; + src = fetchHex { + pkg = "poison"; + version = "${version}"; + sha256 = "fec8660eb7733ee4117b85f55799fd3833eb769a6df71ccf8903e8dc5447cfce"; + }; - src = fetchHex { - pkg = "poison"; - version = "${version}"; - sha256 = "fec8660eb7733ee4117b85f55799fd3833eb769a6df71ccf8903e8dc5447cfce"; + beamDeps = [ ]; }; - beamDeps = []; - }; + poolboy = buildRebar3 rec { + name = "poolboy"; + version = "1.5.2"; - poolboy = buildRebar3 rec { - name = "poolboy"; - version = "1.5.2"; + src = fetchHex { + pkg = "poolboy"; + version = "${version}"; + sha256 = "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"; + }; - src = fetchHex { - pkg = "poolboy"; - version = "${version}"; - sha256 = "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"; + beamDeps = [ ]; }; - beamDeps = []; - }; + postgrex = buildMix rec { + name = "postgrex"; + version = "0.17.5"; - postgrex = buildMix rec { - name = "postgrex"; - version = "0.17.5"; + src = fetchHex { + pkg = "postgrex"; + version = "${version}"; + sha256 = "50b8b11afbb2c4095a3ba675b4f055c416d0f3d7de6633a595fc131a828a67eb"; + }; - src = fetchHex { - pkg = "postgrex"; - version = "${version}"; - sha256 = "50b8b11afbb2c4095a3ba675b4f055c416d0f3d7de6633a595fc131a828a67eb"; + beamDeps = [ + db_connection + decimal + jason + ]; }; - beamDeps = [ db_connection decimal jason ]; - }; + pot = buildRebar3 rec { + name = "pot"; + version = "1.0.2"; - pot = buildRebar3 rec { - name = "pot"; - version = "1.0.2"; + src = fetchHex { + pkg = "pot"; + version = "${version}"; + sha256 = "78fe127f5a4f5f919d6ea5a2a671827bd53eb9d37e5b4128c0ad3df99856c2e0"; + }; - src = fetchHex { - pkg = "pot"; - version = "${version}"; - sha256 = "78fe127f5a4f5f919d6ea5a2a671827bd53eb9d37e5b4128c0ad3df99856c2e0"; + beamDeps = [ ]; }; - beamDeps = []; - }; + prom_ex = buildMix rec { + name = "prom_ex"; + version = "1.9.0"; - prom_ex = buildMix rec { - name = "prom_ex"; - version = "1.9.0"; + src = fetchHex { + pkg = "prom_ex"; + version = "${version}"; + sha256 = "01f3d4f69ec93068219e686cc65e58a29c42bea5429a8ff4e2121f19db178ee6"; + }; - src = fetchHex { - pkg = "prom_ex"; - version = "${version}"; - sha256 = "01f3d4f69ec93068219e686cc65e58a29c42bea5429a8ff4e2121f19db178ee6"; + beamDeps = [ + ecto + finch + jason + oban + octo_fetch + phoenix + phoenix_live_view + plug + plug_cowboy + telemetry + telemetry_metrics + telemetry_metrics_prometheus_core + telemetry_poller + ]; }; - beamDeps = [ ecto finch jason oban octo_fetch phoenix phoenix_live_view plug plug_cowboy telemetry telemetry_metrics telemetry_metrics_prometheus_core telemetry_poller ]; - }; + prometheus = buildMix rec { + name = "prometheus"; + version = "4.10.0"; - prometheus = buildMix rec { - name = "prometheus"; - version = "4.10.0"; + src = fetchHex { + pkg = "prometheus"; + version = "${version}"; + sha256 = "2a99bb6dce85e238c7236fde6b0064f9834dc420ddbd962aac4ea2a3c3d59384"; + }; - src = fetchHex { - pkg = "prometheus"; - version = "${version}"; - sha256 = "2a99bb6dce85e238c7236fde6b0064f9834dc420ddbd962aac4ea2a3c3d59384"; + beamDeps = [ quantile_estimator ]; }; - beamDeps = [ quantile_estimator ]; - }; + prometheus_ecto = buildMix rec { + name = "prometheus_ecto"; + version = "1.4.3"; - prometheus_ecto = buildMix rec { - name = "prometheus_ecto"; - version = "1.4.3"; + src = fetchHex { + pkg = "prometheus_ecto"; + version = "${version}"; + sha256 = "8d66289f77f913b37eda81fd287340c17e61a447549deb28efc254532b2bed82"; + }; - src = fetchHex { - pkg = "prometheus_ecto"; - version = "${version}"; - sha256 = "8d66289f77f913b37eda81fd287340c17e61a447549deb28efc254532b2bed82"; + beamDeps = [ + ecto + prometheus_ex + ]; }; - beamDeps = [ ecto prometheus_ex ]; - }; + prometheus_plugs = buildMix rec { + name = "prometheus_plugs"; + version = "1.1.5"; - prometheus_plugs = buildMix rec { - name = "prometheus_plugs"; - version = "1.1.5"; + src = fetchHex { + pkg = "prometheus_plugs"; + version = "${version}"; + sha256 = "0273a6483ccb936d79ca19b0ab629aef0dba958697c94782bb728b920dfc6a79"; + }; - src = fetchHex { - pkg = "prometheus_plugs"; - version = "${version}"; - sha256 = "0273a6483ccb936d79ca19b0ab629aef0dba958697c94782bb728b920dfc6a79"; + beamDeps = [ + accept + plug + prometheus_ex + ]; }; - beamDeps = [ accept plug prometheus_ex ]; - }; + quantile_estimator = buildRebar3 rec { + name = "quantile_estimator"; + version = "0.2.1"; - quantile_estimator = buildRebar3 rec { - name = "quantile_estimator"; - version = "0.2.1"; + src = fetchHex { + pkg = "quantile_estimator"; + version = "${version}"; + sha256 = "282a8a323ca2a845c9e6f787d166348f776c1d4a41ede63046d72d422e3da946"; + }; - src = fetchHex { - pkg = "quantile_estimator"; - version = "${version}"; - sha256 = "282a8a323ca2a845c9e6f787d166348f776c1d4a41ede63046d72d422e3da946"; + beamDeps = [ ]; }; - beamDeps = []; - }; + ranch = buildRebar3 rec { + name = "ranch"; + version = "1.8.0"; - ranch = buildRebar3 rec { - name = "ranch"; - version = "1.8.0"; + src = fetchHex { + pkg = "ranch"; + version = "${version}"; + sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"; + }; - src = fetchHex { - pkg = "ranch"; - version = "${version}"; - sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"; + beamDeps = [ ]; }; - beamDeps = []; - }; + recon = buildMix rec { + name = "recon"; + version = "2.5.4"; - recon = buildMix rec { - name = "recon"; - version = "2.5.4"; + src = fetchHex { + pkg = "recon"; + version = "${version}"; + sha256 = "e9ab01ac7fc8572e41eb59385efeb3fb0ff5bf02103816535bacaedf327d0263"; + }; - src = fetchHex { - pkg = "recon"; - version = "${version}"; - sha256 = "e9ab01ac7fc8572e41eb59385efeb3fb0ff5bf02103816535bacaedf327d0263"; + beamDeps = [ ]; }; - beamDeps = []; - }; + rustler = buildMix rec { + name = "rustler"; + version = "0.30.0"; - rustler = buildMix rec { - name = "rustler"; - version = "0.30.0"; + src = fetchHex { + pkg = "rustler"; + version = "${version}"; + sha256 = "9ef1abb6a7dda35c47cfc649e6a5a61663af6cf842a55814a554a84607dee389"; + }; - src = fetchHex { - pkg = "rustler"; - version = "${version}"; - sha256 = "9ef1abb6a7dda35c47cfc649e6a5a61663af6cf842a55814a554a84607dee389"; + beamDeps = [ + jason + toml + ]; }; - beamDeps = [ jason toml ]; - }; + sleeplocks = buildRebar3 rec { + name = "sleeplocks"; + version = "1.1.2"; - sleeplocks = buildRebar3 rec { - name = "sleeplocks"; - version = "1.1.2"; + src = fetchHex { + pkg = "sleeplocks"; + version = "${version}"; + sha256 = "9fe5d048c5b781d6305c1a3a0f40bb3dfc06f49bf40571f3d2d0c57eaa7f59a5"; + }; - src = fetchHex { - pkg = "sleeplocks"; - version = "${version}"; - sha256 = "9fe5d048c5b781d6305c1a3a0f40bb3dfc06f49bf40571f3d2d0c57eaa7f59a5"; + beamDeps = [ ]; }; - beamDeps = []; - }; + ssl_verify_fun = buildRebar3 rec { + name = "ssl_verify_fun"; + version = "1.1.7"; - ssl_verify_fun = buildRebar3 rec { - name = "ssl_verify_fun"; - version = "1.1.7"; + src = fetchHex { + pkg = "ssl_verify_fun"; + version = "${version}"; + sha256 = "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"; + }; - src = fetchHex { - pkg = "ssl_verify_fun"; - version = "${version}"; - sha256 = "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"; + beamDeps = [ ]; }; - beamDeps = []; - }; + statistex = buildMix rec { + name = "statistex"; + version = "1.0.0"; - statistex = buildMix rec { - name = "statistex"; - version = "1.0.0"; + src = fetchHex { + pkg = "statistex"; + version = "${version}"; + sha256 = "ff9d8bee7035028ab4742ff52fc80a2aa35cece833cf5319009b52f1b5a86c27"; + }; - src = fetchHex { - pkg = "statistex"; - version = "${version}"; - sha256 = "ff9d8bee7035028ab4742ff52fc80a2aa35cece833cf5319009b52f1b5a86c27"; + beamDeps = [ ]; }; - beamDeps = []; - }; + sweet_xml = buildMix rec { + name = "sweet_xml"; + version = "0.7.4"; - sweet_xml = buildMix rec { - name = "sweet_xml"; - version = "0.7.4"; + src = fetchHex { + pkg = "sweet_xml"; + version = "${version}"; + sha256 = "e7c4b0bdbf460c928234951def54fe87edf1a170f6896675443279e2dbeba167"; + }; - src = fetchHex { - pkg = "sweet_xml"; - version = "${version}"; - sha256 = "e7c4b0bdbf460c928234951def54fe87edf1a170f6896675443279e2dbeba167"; + beamDeps = [ ]; }; - beamDeps = []; - }; + swoosh = buildMix rec { + name = "swoosh"; + version = "1.16.9"; - swoosh = buildMix rec { - name = "swoosh"; - version = "1.16.9"; + src = fetchHex { + pkg = "swoosh"; + version = "${version}"; + sha256 = "878b1a7a6c10ebbf725a3349363f48f79c5e3d792eb621643b0d276a38acc0a6"; + }; - src = fetchHex { - pkg = "swoosh"; - version = "${version}"; - sha256 = "878b1a7a6c10ebbf725a3349363f48f79c5e3d792eb621643b0d276a38acc0a6"; + beamDeps = [ + bandit + cowboy + ex_aws + finch + gen_smtp + hackney + jason + mime + plug + plug_cowboy + telemetry + ]; }; - beamDeps = [ bandit cowboy ex_aws finch gen_smtp hackney jason mime plug plug_cowboy telemetry ]; - }; + syslog = buildRebar3 rec { + name = "syslog"; + version = "1.1.0"; - syslog = buildRebar3 rec { - name = "syslog"; - version = "1.1.0"; + src = fetchHex { + pkg = "syslog"; + version = "${version}"; + sha256 = "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"; + }; - src = fetchHex { - pkg = "syslog"; - version = "${version}"; - sha256 = "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"; + beamDeps = [ ]; }; - beamDeps = []; - }; + table_rex = buildMix rec { + name = "table_rex"; + version = "4.0.0"; - table_rex = buildMix rec { - name = "table_rex"; - version = "4.0.0"; + src = fetchHex { + pkg = "table_rex"; + version = "${version}"; + sha256 = "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55"; + }; - src = fetchHex { - pkg = "table_rex"; - version = "${version}"; - sha256 = "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55"; + beamDeps = [ ]; }; - beamDeps = []; - }; + telemetry = buildRebar3 rec { + name = "telemetry"; + version = "1.0.0"; - telemetry = buildRebar3 rec { - name = "telemetry"; - version = "1.0.0"; + src = fetchHex { + pkg = "telemetry"; + version = "${version}"; + sha256 = "73bc09fa59b4a0284efb4624335583c528e07ec9ae76aca96ea0673850aec57a"; + }; - src = fetchHex { - pkg = "telemetry"; - version = "${version}"; - sha256 = "73bc09fa59b4a0284efb4624335583c528e07ec9ae76aca96ea0673850aec57a"; + beamDeps = [ ]; }; - beamDeps = []; - }; + telemetry_metrics = buildMix rec { + name = "telemetry_metrics"; + version = "0.6.2"; - telemetry_metrics = buildMix rec { - name = "telemetry_metrics"; - version = "0.6.2"; + src = fetchHex { + pkg = "telemetry_metrics"; + version = "${version}"; + sha256 = "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"; + }; - src = fetchHex { - pkg = "telemetry_metrics"; - version = "${version}"; - sha256 = "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"; + beamDeps = [ telemetry ]; }; - beamDeps = [ telemetry ]; - }; + telemetry_metrics_prometheus_core = buildMix rec { + name = "telemetry_metrics_prometheus_core"; + version = "1.2.0"; - telemetry_metrics_prometheus_core = buildMix rec { - name = "telemetry_metrics_prometheus_core"; - version = "1.2.0"; + src = fetchHex { + pkg = "telemetry_metrics_prometheus_core"; + version = "${version}"; + sha256 = "9cba950e1c4733468efbe3f821841f34ac05d28e7af7798622f88ecdbbe63ea3"; + }; - src = fetchHex { - pkg = "telemetry_metrics_prometheus_core"; - version = "${version}"; - sha256 = "9cba950e1c4733468efbe3f821841f34ac05d28e7af7798622f88ecdbbe63ea3"; + beamDeps = [ + telemetry + telemetry_metrics + ]; }; - beamDeps = [ telemetry telemetry_metrics ]; - }; + telemetry_poller = buildRebar3 rec { + name = "telemetry_poller"; + version = "1.0.0"; - telemetry_poller = buildRebar3 rec { - name = "telemetry_poller"; - version = "1.0.0"; + src = fetchHex { + pkg = "telemetry_poller"; + version = "${version}"; + sha256 = "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"; + }; - src = fetchHex { - pkg = "telemetry_poller"; - version = "${version}"; - sha256 = "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"; + beamDeps = [ telemetry ]; }; - beamDeps = [ telemetry ]; - }; + tesla = buildMix rec { + name = "tesla"; + version = "1.11.0"; - tesla = buildMix rec { - name = "tesla"; - version = "1.11.0"; + src = fetchHex { + pkg = "tesla"; + version = "${version}"; + sha256 = "b83ab5d4c2d202e1ea2b7e17a49f788d49a699513d7c4f08f2aef2c281be69db"; + }; - src = fetchHex { - pkg = "tesla"; - version = "${version}"; - sha256 = "b83ab5d4c2d202e1ea2b7e17a49f788d49a699513d7c4f08f2aef2c281be69db"; + beamDeps = [ + castore + finch + gun + hackney + jason + mime + mint + poison + telemetry + ]; }; - beamDeps = [ castore finch gun hackney jason mime mint poison telemetry ]; - }; + thousand_island = buildMix rec { + name = "thousand_island"; + version = "1.3.5"; - thousand_island = buildMix rec { - name = "thousand_island"; - version = "1.3.5"; + src = fetchHex { + pkg = "thousand_island"; + version = "${version}"; + sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180"; + }; - src = fetchHex { - pkg = "thousand_island"; - version = "${version}"; - sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180"; + beamDeps = [ telemetry ]; }; - beamDeps = [ telemetry ]; - }; + timex = buildMix rec { + name = "timex"; + version = "3.7.7"; - timex = buildMix rec { - name = "timex"; - version = "3.7.7"; + src = fetchHex { + pkg = "timex"; + version = "${version}"; + sha256 = "0ec4b09f25fe311321f9fc04144a7e3affe48eb29481d7a5583849b6c4dfa0a7"; + }; - src = fetchHex { - pkg = "timex"; - version = "${version}"; - sha256 = "0ec4b09f25fe311321f9fc04144a7e3affe48eb29481d7a5583849b6c4dfa0a7"; + beamDeps = [ + combine + gettext + tzdata + ]; }; - beamDeps = [ combine gettext tzdata ]; - }; + toml = buildMix rec { + name = "toml"; + version = "0.7.0"; - toml = buildMix rec { - name = "toml"; - version = "0.7.0"; + src = fetchHex { + pkg = "toml"; + version = "${version}"; + sha256 = "0690246a2478c1defd100b0c9b89b4ea280a22be9a7b313a8a058a2408a2fa70"; + }; - src = fetchHex { - pkg = "toml"; - version = "${version}"; - sha256 = "0690246a2478c1defd100b0c9b89b4ea280a22be9a7b313a8a058a2408a2fa70"; + beamDeps = [ ]; }; - beamDeps = []; - }; + trailing_format_plug = buildMix rec { + name = "trailing_format_plug"; + version = "0.0.7"; - trailing_format_plug = buildMix rec { - name = "trailing_format_plug"; - version = "0.0.7"; + src = fetchHex { + pkg = "trailing_format_plug"; + version = "${version}"; + sha256 = "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"; + }; - src = fetchHex { - pkg = "trailing_format_plug"; - version = "${version}"; - sha256 = "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"; + beamDeps = [ plug ]; }; - beamDeps = [ plug ]; - }; + tzdata = buildMix rec { + name = "tzdata"; + version = "1.0.5"; - tzdata = buildMix rec { - name = "tzdata"; - version = "1.0.5"; + src = fetchHex { + pkg = "tzdata"; + version = "${version}"; + sha256 = "55519aa2a99e5d2095c1e61cc74c9be69688f8ab75c27da724eb8279ff402a5a"; + }; - src = fetchHex { - pkg = "tzdata"; - version = "${version}"; - sha256 = "55519aa2a99e5d2095c1e61cc74c9be69688f8ab75c27da724eb8279ff402a5a"; + beamDeps = [ hackney ]; }; - beamDeps = [ hackney ]; - }; + ueberauth = buildMix rec { + name = "ueberauth"; + version = "0.10.7"; - ueberauth = buildMix rec { - name = "ueberauth"; - version = "0.10.7"; + src = fetchHex { + pkg = "ueberauth"; + version = "${version}"; + sha256 = "0bccf73e2ffd6337971340832947ba232877aa8122dba4c95be9f729c8987377"; + }; - src = fetchHex { - pkg = "ueberauth"; - version = "${version}"; - sha256 = "0bccf73e2ffd6337971340832947ba232877aa8122dba4c95be9f729c8987377"; + beamDeps = [ plug ]; }; - beamDeps = [ plug ]; - }; + unicode_util_compat = buildRebar3 rec { + name = "unicode_util_compat"; + version = "0.7.0"; - unicode_util_compat = buildRebar3 rec { - name = "unicode_util_compat"; - version = "0.7.0"; + src = fetchHex { + pkg = "unicode_util_compat"; + version = "${version}"; + sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"; + }; - src = fetchHex { - pkg = "unicode_util_compat"; - version = "${version}"; - sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"; + beamDeps = [ ]; }; - beamDeps = []; - }; + unsafe = buildMix rec { + name = "unsafe"; + version = "1.0.2"; - unsafe = buildMix rec { - name = "unsafe"; - version = "1.0.2"; + src = fetchHex { + pkg = "unsafe"; + version = "${version}"; + sha256 = "b485231683c3ab01a9cd44cb4a79f152c6f3bb87358439c6f68791b85c2df675"; + }; - src = fetchHex { - pkg = "unsafe"; - version = "${version}"; - sha256 = "b485231683c3ab01a9cd44cb4a79f152c6f3bb87358439c6f68791b85c2df675"; + beamDeps = [ ]; }; - beamDeps = []; - }; + vix = buildMix rec { + name = "vix"; + version = "0.26.0"; - vix = buildMix rec { - name = "vix"; - version = "0.26.0"; + src = fetchHex { + pkg = "vix"; + version = "${version}"; + sha256 = "71b0a79ae7f199cacfc8e679b0e4ba25ee47dc02e182c5b9097efb29fbe14efd"; + }; - src = fetchHex { - pkg = "vix"; - version = "${version}"; - sha256 = "71b0a79ae7f199cacfc8e679b0e4ba25ee47dc02e182c5b9097efb29fbe14efd"; + beamDeps = [ + castore + cc_precompiler + elixir_make + ]; }; - beamDeps = [ castore cc_precompiler elixir_make ]; - }; + web_push_encryption = buildMix rec { + name = "web_push_encryption"; + version = "0.3.1"; - web_push_encryption = buildMix rec { - name = "web_push_encryption"; - version = "0.3.1"; + src = fetchHex { + pkg = "web_push_encryption"; + version = "${version}"; + sha256 = "4f82b2e57622fb9337559058e8797cb0df7e7c9790793bdc4e40bc895f70e2a2"; + }; - src = fetchHex { - pkg = "web_push_encryption"; - version = "${version}"; - sha256 = "4f82b2e57622fb9337559058e8797cb0df7e7c9790793bdc4e40bc895f70e2a2"; + beamDeps = [ + httpoison + jose + ]; }; - beamDeps = [ httpoison jose ]; - }; + websock = buildMix rec { + name = "websock"; + version = "0.5.3"; - websock = buildMix rec { - name = "websock"; - version = "0.5.3"; + src = fetchHex { + pkg = "websock"; + version = "${version}"; + sha256 = "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"; + }; - src = fetchHex { - pkg = "websock"; - version = "${version}"; - sha256 = "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"; + beamDeps = [ ]; }; - beamDeps = []; - }; + websock_adapter = buildMix rec { + name = "websock_adapter"; + version = "0.5.6"; - websock_adapter = buildMix rec { - name = "websock_adapter"; - version = "0.5.6"; + src = fetchHex { + pkg = "websock_adapter"; + version = "${version}"; + sha256 = "e04378d26b0af627817ae84c92083b7e97aca3121196679b73c73b99d0d133ea"; + }; - src = fetchHex { - pkg = "websock_adapter"; - version = "${version}"; - sha256 = "e04378d26b0af627817ae84c92083b7e97aca3121196679b73c73b99d0d133ea"; + beamDeps = [ + bandit + plug + plug_cowboy + websock + ]; }; - beamDeps = [ bandit plug plug_cowboy websock ]; - }; + websockex = buildMix rec { + name = "websockex"; + version = "0.4.3"; - websockex = buildMix rec { - name = "websockex"; - version = "0.4.3"; + src = fetchHex { + pkg = "websockex"; + version = "${version}"; + sha256 = "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4"; + }; - src = fetchHex { - pkg = "websockex"; - version = "${version}"; - sha256 = "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4"; + beamDeps = [ ]; }; - - beamDeps = []; }; - }; -in self - +in +self diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix index ab56662fa402c..fac5f199bfd69 100644 --- a/pkgs/servers/plex/default.nix +++ b/pkgs/servers/plex/default.nix @@ -1,12 +1,13 @@ # The actual Plex package that we run is a FHS userenv of the "raw" package. -{ stdenv -, buildFHSEnv -, writeScript -, plexRaw - -# Old argument for overriding the Plex data directory; not used for this -# version of Plex, but still around for backwards-compatibility. -, dataDir ? "/var/lib/plex" +{ + stdenv, + buildFHSEnv, + writeScript, + plexRaw, + + # Old argument for overriding the Plex data directory; not used for this + # version of Plex, but still around for backwards-compatibility. + dataDir ? "/var/lib/plex", }: buildFHSEnv { diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix index 2bc2b23db0477..029fd07e987f1 100644 --- a/pkgs/servers/plex/raw.nix +++ b/pkgs/servers/plex/raw.nix @@ -1,10 +1,12 @@ -{ lib, stdenv -, fetchurl -, dpkg -, writeScript -, curl -, jq -, common-updater-scripts +{ + lib, + stdenv, + fetchurl, + dpkg, + writeScript, + curl, + jq, + common-updater-scripts, }: # The raw package that fetches and extracts the Plex RPM. Override the source @@ -16,15 +18,22 @@ stdenv.mkDerivation rec { pname = "plexmediaserver"; # Fetch the source - src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl { - url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb"; - sha256 = "sha256-VTWyeve+Uz3TdWQ06CmZ9w+Gk9jBHP7EuYi0N9DTB4Q="; - } else fetchurl { - url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; - sha256 = "sha256-HmgtnUsDzRIUThYdlZIzhiU02n9jSU7wtwnEA0+r1iQ="; - }; + src = + if stdenv.hostPlatform.system == "aarch64-linux" then + fetchurl { + url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb"; + sha256 = "sha256-VTWyeve+Uz3TdWQ06CmZ9w+Gk9jBHP7EuYi0N9DTB4Q="; + } + else + fetchurl { + url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; + sha256 = "sha256-HmgtnUsDzRIUThYdlZIzhiU02n9jSU7wtwnEA0+r1iQ="; + }; - outputs = [ "out" "basedb" ]; + outputs = [ + "out" + "basedb" + ]; nativeBuildInputs = [ dpkg ]; @@ -55,7 +64,13 @@ stdenv.mkDerivation rec { passthru.updateScript = writeScript "${pname}-updater" '' #!${stdenv.shell} set -eu -o pipefail - PATH=${lib.makeBinPath [curl jq common-updater-scripts]}:$PATH + PATH=${ + lib.makeBinPath [ + curl + jq + common-updater-scripts + ] + }:$PATH plexApiJson=$(curl -sS https://plex.tv/api/downloads/5.json) latestVersion="$(echo $plexApiJson | jq .computer.Linux.version | tr -d '"\n')" @@ -74,7 +89,10 @@ stdenv.mkDerivation rec { homepage = "https://plex.tv/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; maintainers = with maintainers; [ badmutex forkk diff --git a/pkgs/servers/plik/default.nix b/pkgs/servers/plik/default.nix index 29ba48487a37a..dd0b0d7b446f7 100644 --- a/pkgs/servers/plik/default.nix +++ b/pkgs/servers/plik/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchurl, makeWrapper, runCommand, callPackage }: +{ + lib, + fetchurl, + makeWrapper, + runCommand, + callPackage, +}: let version = "1.3.7"; @@ -15,15 +21,18 @@ in inherit (programs) plik plikd-unwrapped; - plikd = runCommand "plikd-${version}" { - nativeBuildInputs = [ makeWrapper ]; - inherit (programs.plikd-unwrapped) passthru; - } '' - mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin - tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/ - mv plik-*/webapp/dist $out/libexec/plikd/webapp - cp ${programs.plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd - makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \ - --chdir "$out/libexec/plikd/bin" - ''; + plikd = + runCommand "plikd-${version}" + { + nativeBuildInputs = [ makeWrapper ]; + inherit (programs.plikd-unwrapped) passthru; + } + '' + mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin + tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/ + mv plik-*/webapp/dist $out/libexec/plikd/webapp + cp ${programs.plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd + makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \ + --chdir "$out/libexec/plikd/bin" + ''; } diff --git a/pkgs/servers/plik/programs.nix b/pkgs/servers/plik/programs.nix index 2b8b5176fb9a7..791cd96d03b79 100644 --- a/pkgs/servers/plik/programs.nix +++ b/pkgs/servers/plik/programs.nix @@ -1,4 +1,11 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, runCommand, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + runCommand, + nixosTests, +}: let version = "1.3.8"; @@ -34,7 +41,14 @@ in plik = buildGoModule { pname = "plik"; - inherit version meta src vendorHash postPatch passthru; + inherit + version + meta + src + vendorHash + postPatch + passthru + ; subPackages = [ "client" ]; postInstall = '' @@ -44,7 +58,13 @@ in plikd-unwrapped = buildGoModule { pname = "plikd-unwrapped"; - inherit version src vendorHash postPatch passthru; + inherit + version + src + vendorHash + postPatch + passthru + ; subPackages = [ "server" ]; postFixup = '' diff --git a/pkgs/servers/polaris/web.nix b/pkgs/servers/polaris/web.nix index 1834c01a0547b..39cc8e9065612 100644 --- a/pkgs/servers/polaris/web.nix +++ b/pkgs/servers/polaris/web.nix @@ -1,6 +1,7 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub +{ + lib, + buildNpmPackage, + fetchFromGitHub, }: buildNpmPackage rec { diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 44f89234ec6d9..fa3333433ebb8 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -1,40 +1,70 @@ -{ lib, stdenv, fetchurl, pkg-config -, libsndfile, libtool, makeWrapper, perlPackages -, xorg, libcap, alsa-lib, glib, dconf -, avahi, libjack2, libasyncns, lirc, dbus -, sbc, bluez5, udev, openssl, fftwFloat -, soxr, speexdsp, systemd, webrtc-audio-processing_1 -, gst_all_1 -, check, libintl, meson, ninja, m4, wrapGAppsHook3 -, fetchpatch2 -, nixosTests +{ + lib, + stdenv, + fetchurl, + pkg-config, + libsndfile, + libtool, + makeWrapper, + perlPackages, + xorg, + libcap, + alsa-lib, + glib, + dconf, + avahi, + libjack2, + libasyncns, + lirc, + dbus, + sbc, + bluez5, + udev, + openssl, + fftwFloat, + soxr, + speexdsp, + systemd, + webrtc-audio-processing_1, + gst_all_1, + check, + libintl, + meson, + ninja, + m4, + wrapGAppsHook3, + fetchpatch2, + nixosTests, -, x11Support ? false + x11Support ? false, -, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd + useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, -, # Whether to support the JACK sound system as a backend. - jackaudioSupport ? false + # Whether to support the JACK sound system as a backend. + jackaudioSupport ? false, -, # Whether to build the OSS wrapper ("padsp"). - ossWrapper ? true + # Whether to build the OSS wrapper ("padsp"). + ossWrapper ? true, -, airtunesSupport ? false + airtunesSupport ? false, -, bluetoothSupport ? stdenv.hostPlatform.isLinux -, advancedBluetoothCodecs ? false + bluetoothSupport ? stdenv.hostPlatform.isLinux, + advancedBluetoothCodecs ? false, -, remoteControlSupport ? false + remoteControlSupport ? false, -, zeroconfSupport ? false + zeroconfSupport ? false, -, alsaSupport ? stdenv.hostPlatform.isLinux -, udevSupport ? stdenv.hostPlatform.isLinux + alsaSupport ? stdenv.hostPlatform.isLinux, + udevSupport ? stdenv.hostPlatform.isLinux, -, # Whether to build only the library. - libOnly ? false + # Whether to build only the library. + libOnly ? false, -, AudioUnit, Cocoa, CoreServices, CoreAudio + AudioUnit, + Cocoa, + CoreServices, + CoreAudio, }: stdenv.mkDerivation rec { @@ -65,78 +95,132 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ pkg-config meson ninja makeWrapper perlPackages.perl perlPackages.XMLParser m4 ] + nativeBuildInputs = + [ + pkg-config + meson + ninja + makeWrapper + perlPackages.perl + perlPackages.XMLParser + m4 + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ glib ] # gstreamer plugin discovery requires wrapping ++ lib.optional (bluetoothSupport && advancedBluetoothCodecs) wrapGAppsHook3; - propagatedBuildInputs = - lib.optionals stdenv.hostPlatform.isLinux [ libcap ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libcap ]; buildInputs = - [ libtool libsndfile soxr speexdsp fftwFloat check ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ glib dbus ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AudioUnit Cocoa CoreServices CoreAudio libintl ] + [ + libtool + libsndfile + soxr + speexdsp + fftwFloat + check + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + glib + dbus + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioUnit + Cocoa + CoreServices + CoreAudio + libintl + ] ++ lib.optionals (!libOnly) ( - [ libasyncns webrtc-audio-processing_1 ] + [ + libasyncns + webrtc-audio-processing_1 + ] ++ lib.optional jackaudioSupport libjack2 - ++ lib.optionals x11Support [ xorg.libICE xorg.libSM xorg.libX11 xorg.libXi xorg.libXtst ] + ++ lib.optionals x11Support [ + xorg.libICE + xorg.libSM + xorg.libX11 + xorg.libXi + xorg.libXtst + ] ++ lib.optional useSystemd systemd - ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib udev ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + udev + ] ++ lib.optional airtunesSupport openssl - ++ lib.optionals bluetoothSupport [ bluez5 sbc ] + ++ lib.optionals bluetoothSupport [ + bluez5 + sbc + ] # aptX and LDAC codecs are in gst-plugins-bad so far, rtpldacpay is in -good - ++ lib.optionals (bluetoothSupport && advancedBluetoothCodecs) (builtins.attrValues { inherit (gst_all_1) gst-plugins-bad gst-plugins-good gst-plugins-base gstreamer; }) + ++ lib.optionals (bluetoothSupport && advancedBluetoothCodecs) ( + builtins.attrValues { + inherit (gst_all_1) + gst-plugins-bad + gst-plugins-good + gst-plugins-base + gstreamer + ; + } + ) ++ lib.optional remoteControlSupport lirc - ++ lib.optional zeroconfSupport avahi - ); - - mesonFlags = [ - (lib.mesonEnable "alsa" (!libOnly && alsaSupport)) - (lib.mesonEnable "asyncns" (!libOnly)) - (lib.mesonEnable "avahi" zeroconfSupport) - (lib.mesonEnable "bluez5" (!libOnly && bluetoothSupport)) - # advanced bluetooth audio codecs are provided by gstreamer - (lib.mesonEnable "bluez5-gstreamer" (!libOnly && bluetoothSupport && advancedBluetoothCodecs)) - (lib.mesonOption "database" "simple") - (lib.mesonBool "doxygen" false) - (lib.mesonEnable "elogind" false) - # gsettings does not support cross-compilation - (lib.mesonEnable "gsettings" (stdenv.hostPlatform.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform))) - (lib.mesonEnable "gstreamer" false) - (lib.mesonEnable "gtk" false) - (lib.mesonEnable "jack" (jackaudioSupport && !libOnly)) - (lib.mesonEnable "lirc" remoteControlSupport) - (lib.mesonEnable "openssl" airtunesSupport) - (lib.mesonEnable "orc" false) - (lib.mesonEnable "systemd" (useSystemd && !libOnly)) - (lib.mesonEnable "tcpwrap" false) - (lib.mesonEnable "udev" (!libOnly && udevSupport)) - (lib.mesonEnable "valgrind" false) - (lib.mesonEnable "webrtc-aec" (!libOnly)) - (lib.mesonEnable "x11" x11Support) - - (lib.mesonOption "localstatedir" "/var") - (lib.mesonOption "sysconfdir" "/etc") - (lib.mesonOption "sysconfdir_install" "${placeholder "out"}/etc") - (lib.mesonOption "udevrulesdir" "${placeholder "out"}/lib/udev/rules.d") - - # pulseaudio complains if its binary is moved after installation; - # this is needed so that wrapGApp can operate *without* - # renaming the unwrapped binaries (see below) - "--bindir=${placeholder "out"}/.bin-unwrapped" - ] - ++ lib.optionals (stdenv.hostPlatform.isLinux && useSystemd) [ - (lib.mesonOption "systemduserunitdir" "${placeholder "out"}/lib/systemd/user") - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (lib.mesonEnable "consolekit" false) - (lib.mesonEnable "dbus" false) - (lib.mesonEnable "glib" false) - (lib.mesonEnable "oss-output" false) - ]; + ++ lib.optional zeroconfSupport avahi + ); + + mesonFlags = + [ + (lib.mesonEnable "alsa" (!libOnly && alsaSupport)) + (lib.mesonEnable "asyncns" (!libOnly)) + (lib.mesonEnable "avahi" zeroconfSupport) + (lib.mesonEnable "bluez5" (!libOnly && bluetoothSupport)) + # advanced bluetooth audio codecs are provided by gstreamer + (lib.mesonEnable "bluez5-gstreamer" (!libOnly && bluetoothSupport && advancedBluetoothCodecs)) + (lib.mesonOption "database" "simple") + (lib.mesonBool "doxygen" false) + (lib.mesonEnable "elogind" false) + # gsettings does not support cross-compilation + (lib.mesonEnable "gsettings" ( + stdenv.hostPlatform.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform) + )) + (lib.mesonEnable "gstreamer" false) + (lib.mesonEnable "gtk" false) + (lib.mesonEnable "jack" (jackaudioSupport && !libOnly)) + (lib.mesonEnable "lirc" remoteControlSupport) + (lib.mesonEnable "openssl" airtunesSupport) + (lib.mesonEnable "orc" false) + (lib.mesonEnable "systemd" (useSystemd && !libOnly)) + (lib.mesonEnable "tcpwrap" false) + (lib.mesonEnable "udev" (!libOnly && udevSupport)) + (lib.mesonEnable "valgrind" false) + (lib.mesonEnable "webrtc-aec" (!libOnly)) + (lib.mesonEnable "x11" x11Support) + + (lib.mesonOption "localstatedir" "/var") + (lib.mesonOption "sysconfdir" "/etc") + (lib.mesonOption "sysconfdir_install" "${placeholder "out"}/etc") + (lib.mesonOption "udevrulesdir" "${placeholder "out"}/lib/udev/rules.d") + + # pulseaudio complains if its binary is moved after installation; + # this is needed so that wrapGApp can operate *without* + # renaming the unwrapped binaries (see below) + "--bindir=${placeholder "out"}/.bin-unwrapped" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && useSystemd) [ + (lib.mesonOption "systemduserunitdir" "${placeholder "out"}/lib/systemd/user") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.mesonEnable "consolekit" false) + (lib.mesonEnable "dbus" false) + (lib.mesonEnable "glib" false) + (lib.mesonEnable "oss-output" false) + ]; # tests fail on Darwin because of timeouts doCheck = !stdenv.hostPlatform.isDarwin; @@ -144,53 +228,55 @@ stdenv.mkDerivation rec { export HOME=$(mktemp -d) ''; - postInstall = lib.optionalString libOnly '' - find $out/share -maxdepth 1 -mindepth 1 ! -name "vala" -prune -exec rm -r {} \; - find $out/share/vala -maxdepth 1 -mindepth 1 ! -name "vapi" -prune -exec rm -r {} \; - rm -r $out/{.bin-unwrapped,etc,lib/pulse-*} - '' + postInstall = + lib.optionalString libOnly '' + find $out/share -maxdepth 1 -mindepth 1 ! -name "vala" -prune -exec rm -r {} \; + find $out/share/vala -maxdepth 1 -mindepth 1 ! -name "vapi" -prune -exec rm -r {} \; + rm -r $out/{.bin-unwrapped,etc,lib/pulse-*} + '' + '' - moveToOutput lib/cmake "$dev" - rm -f $out/.bin-unwrapped/qpaeq # this is packaged by the "qpaeq" package now, because of missing deps + moveToOutput lib/cmake "$dev" + rm -f $out/.bin-unwrapped/qpaeq # this is packaged by the "qpaeq" package now, because of missing deps - cp config.h $dev/include/pulse - ''; + cp config.h $dev/include/pulse + ''; - preFixup = lib.optionalString (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform == stdenv.buildPlatform)) '' - wrapProgram $out/libexec/pulse/gsettings-helper \ - --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${pname}-${version}" \ - --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" - '' - # add .so symlinks for modules to be found under macOS - + lib.optionalString stdenv.hostPlatform.isDarwin '' - for file in $out/lib/pulseaudio/modules/*.dylib; do - ln -s "''$file" "''${file%.dylib}.so" - ln -s "''$file" "$out/lib/pulseaudio/''$(basename ''$file .dylib).so" - done - '' - # put symlinks to binaries in `$prefix/bin`; - # then wrapGApp will *rename these symlinks* instead of - # the original binaries in `$prefix/.bin-unwrapped` (see above); - # when pulseaudio is looking for its own binary (it does!), - # it will be happy to find it in its original installation location - + lib.optionalString (!libOnly) '' - mkdir -p $out/bin - ln -st $out/bin $out/.bin-unwrapped/* - - # Ensure that service files use the wrapped binaries. - find "$out" -name "*.service" | while read f; do - substituteInPlace "$f" --replace "$out/.bin-unwrapped/" "$out/bin/" - done - ''; + preFixup = + lib.optionalString (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform == stdenv.buildPlatform)) '' + wrapProgram $out/libexec/pulse/gsettings-helper \ + --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${pname}-${version}" \ + --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" + '' + # add .so symlinks for modules to be found under macOS + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for file in $out/lib/pulseaudio/modules/*.dylib; do + ln -s "''$file" "''${file%.dylib}.so" + ln -s "''$file" "$out/lib/pulseaudio/''$(basename ''$file .dylib).so" + done + '' + # put symlinks to binaries in `$prefix/bin`; + # then wrapGApp will *rename these symlinks* instead of + # the original binaries in `$prefix/.bin-unwrapped` (see above); + # when pulseaudio is looking for its own binary (it does!), + # it will be happy to find it in its original installation location + + lib.optionalString (!libOnly) '' + mkdir -p $out/bin + ln -st $out/bin $out/.bin-unwrapped/* + + # Ensure that service files use the wrapped binaries. + find "$out" -name "*.service" | while read f; do + substituteInPlace "$f" --replace "$out/.bin-unwrapped/" "$out/bin/" + done + ''; passthru.tests = { inherit (nixosTests) pulseaudio; }; meta = { description = "Sound server for POSIX and Win32 systems"; - homepage = "http://www.pulseaudio.org/"; - license = lib.licenses.lgpl2Plus; + homepage = "http://www.pulseaudio.org/"; + license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ lovek323 ]; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix; # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1089 badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ]; diff --git a/pkgs/servers/pulseaudio/hsphfpd.nix b/pkgs/servers/pulseaudio/hsphfpd.nix index bcb3934fb7b74..ced6bdbb0695c 100644 --- a/pkgs/servers/pulseaudio/hsphfpd.nix +++ b/pkgs/servers/pulseaudio/hsphfpd.nix @@ -1,7 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + perlPackages, +}: let - perlLibs = with perlPackages; [ NetDBus XMLTwig XMLParser ]; + perlLibs = with perlPackages; [ + NetDBus + XMLTwig + XMLParser + ]; in stdenv.mkDerivation { pname = "hsphfpd"; diff --git a/pkgs/servers/pulseaudio/qpaeq.nix b/pkgs/servers/pulseaudio/qpaeq.nix index 8e899b024b494..bfdb6c1731834 100644 --- a/pkgs/servers/pulseaudio/qpaeq.nix +++ b/pkgs/servers/pulseaudio/qpaeq.nix @@ -1,8 +1,9 @@ -{ mkDerivation -, makeDesktopItem -, python3 -, lib -, pulseaudio +{ + mkDerivation, + makeDesktopItem, + python3, + lib, + pulseaudio, }: let @@ -12,7 +13,11 @@ let icon = "audio-volume-high"; desktopName = "qpaeq"; genericName = "Audio equalizer"; - categories = [ "AudioVideo" "Audio" "Mixer" ]; + categories = [ + "AudioVideo" + "Audio" + "Mixer" + ]; startupNotify = false; }; in @@ -21,10 +26,14 @@ mkDerivation rec { inherit (pulseaudio) version src; buildInputs = [ - ((python3.withPackages (ps: with ps; [ + ( + (python3.withPackages ( + ps: with ps; [ pyqt5 dbus-python - ]))) + ] + )) + ) ]; dontBuild = true; diff --git a/pkgs/servers/rainloop/default.nix b/pkgs/servers/rainloop/default.nix index f034f83f48354..b434178fb28aa 100644 --- a/pkgs/servers/rainloop/default.nix +++ b/pkgs/servers/rainloop/default.nix @@ -1,10 +1,23 @@ -{ lib, stdenv, fetchurl, unzip, writeText, dos2unix, dataPath ? "/var/lib/rainloop" }: let - common = { edition, sha256 }: +{ + lib, + stdenv, + fetchurl, + unzip, + writeText, + dos2unix, + dataPath ? "/var/lib/rainloop", +}: +let + common = + { edition, sha256 }: stdenv.mkDerivation (rec { pname = "rainloop${lib.optionalString (edition != "") "-${edition}"}"; version = "1.16.0"; - nativeBuildInputs = [ unzip dos2unix ]; + nativeBuildInputs = [ + unzip + dos2unix + ]; unpackPhase = '' mkdir rainloop @@ -12,7 +25,9 @@ ''; src = fetchurl { - url = "https://github.com/RainLoop/rainloop-webmail/releases/download/v${version}/rainloop-${edition}${lib.optionalString (edition != "") "-"}${version}.zip"; + url = "https://github.com/RainLoop/rainloop-webmail/releases/download/v${version}/rainloop-${edition}${ + lib.optionalString (edition != "") "-" + }${version}.zip"; sha256 = sha256; }; @@ -59,7 +74,8 @@ maintainers = with maintainers; [ das_j ]; }; }); -in { +in +{ rainloop-community = common { edition = "community"; sha256 = "sha256-25ScQ2OwSKAuqg8GomqDhpebhzQZjCk57h6MxUNiymc="; diff --git a/pkgs/servers/roapi/http.nix b/pkgs/servers/roapi/http.nix index 8c0dc4ee59f24..21d5359e7fd7a 100644 --- a/pkgs/servers/roapi/http.nix +++ b/pkgs/servers/roapi/http.nix @@ -1,6 +1,7 @@ -{ stdenv -, lib -, fetchurl +{ + stdenv, + lib, + fetchurl, }: let pname = "roapi-http"; diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix index db49d376c62d1..15b6ca2544e94 100644 --- a/pkgs/servers/roundcube/default.nix +++ b/pkgs/servers/roundcube/default.nix @@ -1,4 +1,12 @@ -{ fetchurl, lib, stdenv, buildEnv, roundcube, roundcubePlugins, nixosTests }: +{ + fetchurl, + lib, + stdenv, + buildEnv, + roundcube, + roundcubePlugins, + nixosTests, +}: stdenv.mkDerivation rec { pname = "roundcube"; @@ -22,16 +30,22 @@ stdenv.mkDerivation rec { rm $out/composer.json-dist ''; - passthru.withPlugins = f: buildEnv { - name = "${roundcube.name}-with-plugins"; - paths = (f roundcubePlugins) ++ [ roundcube ]; - }; + passthru.withPlugins = + f: + buildEnv { + name = "${roundcube.name}-with-plugins"; + paths = (f roundcubePlugins) ++ [ roundcube ]; + }; passthru.tests = { inherit (nixosTests) roundcube; }; meta = { description = "Open Source Webmail Software"; - maintainers = with lib.maintainers; [ vskilet globin ma27 ]; + maintainers = with lib.maintainers; [ + vskilet + globin + ma27 + ]; license = lib.licenses.gpl3; platforms = lib.platforms.all; }; diff --git a/pkgs/servers/roundcube/plugins/default.nix b/pkgs/servers/roundcube/plugins/default.nix index 42333b69eb15d..ccb5ad9f4e9c2 100644 --- a/pkgs/servers/roundcube/plugins/default.nix +++ b/pkgs/servers/roundcube/plugins/default.nix @@ -8,4 +8,4 @@ let in - plugins +plugins diff --git a/pkgs/servers/roundcube/plugins/roundcube-plugin.nix b/pkgs/servers/roundcube/plugins/roundcube-plugin.nix index a756a3140cb2e..404481c601f19 100644 --- a/pkgs/servers/roundcube/plugins/roundcube-plugin.nix +++ b/pkgs/servers/roundcube/plugins/roundcube-plugin.nix @@ -1,5 +1,9 @@ { runCommand }: -{ pname, version, src }: +{ + pname, + version, + src, +}: runCommand "roundcube-plugin-${pname}-${version}" { } '' mkdir -p $out/plugins/ diff --git a/pkgs/servers/rtrtr/default.nix b/pkgs/servers/rtrtr/default.nix index 3697043c246e2..2926438523ffc 100644 --- a/pkgs/servers/rtrtr/default.nix +++ b/pkgs/servers/rtrtr/default.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/servers/rustdesk-server/default.nix b/pkgs/servers/rustdesk-server/default.nix index 30446299f144b..11aae268c537b 100644 --- a/pkgs/servers/rustdesk-server/default.nix +++ b/pkgs/servers/rustdesk-server/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, libsodium -, Security -, sqlite -, nix-update-script -, testers -, rustdesk-server +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libsodium, + Security, + sqlite, + nix-update-script, + testers, + rustdesk-server, }: rustPlatform.buildRustPackage rec { @@ -35,12 +36,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - libsodium - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + libsodium + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; passthru = { updateScript = nix-update-script { }; @@ -57,6 +60,9 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/rustdesk/rustdesk-server/releases/tag/${version}"; license = licenses.agpl3Only; platforms = platforms.unix; - maintainers = with maintainers; [ gaelreyrol tjni ]; + maintainers = with maintainers; [ + gaelreyrol + tjni + ]; }; } diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 2b06fb9175a0d..10946a0803d49 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -1,54 +1,68 @@ -{ lib, stdenv -, buildPackages -, fetchurl -, fetchpatch -, wafHook -, pkg-config -, bison -, flex -, perl -, libxslt -, docbook_xsl -, fixDarwinDylibNames -, docbook_xml_dtd_45 -, readline -, popt -, dbus -, libbsd -, libarchive -, zlib -, liburing -, gnutls -, systemd -, samba -, talloc -, jansson -, ldb -, libtasn1 -, tdb -, tevent -, libxcrypt -, libxcrypt-legacy -, cmocka -, rpcsvc-proto -, bash -, python3Packages -, nixosTests -, libiconv -, testers -, pkgsCross +{ + lib, + stdenv, + buildPackages, + fetchurl, + fetchpatch, + wafHook, + pkg-config, + bison, + flex, + perl, + libxslt, + docbook_xsl, + fixDarwinDylibNames, + docbook_xml_dtd_45, + readline, + popt, + dbus, + libbsd, + libarchive, + zlib, + liburing, + gnutls, + systemd, + samba, + talloc, + jansson, + ldb, + libtasn1, + tdb, + tevent, + libxcrypt, + libxcrypt-legacy, + cmocka, + rpcsvc-proto, + bash, + python3Packages, + nixosTests, + libiconv, + testers, + pkgsCross, -, enableLDAP ? false, openldap -, enablePrinting ? false, cups -, enableProfiling ? true -, enableMDNS ? false, avahi -, enableDomainController ? false, gpgme, lmdb -, enableRegedit ? true, ncurses -, enableCephFS ? false, ceph -, enableGlusterFS ? false, glusterfs, libuuid -, enableAcl ? (!stdenv.hostPlatform.isDarwin), acl -, enableLibunwind ? (!stdenv.hostPlatform.isDarwin), libunwind -, enablePam ? (!stdenv.hostPlatform.isDarwin), pam + enableLDAP ? false, + openldap, + enablePrinting ? false, + cups, + enableProfiling ? true, + enableMDNS ? false, + avahi, + enableDomainController ? false, + gpgme, + lmdb, + enableRegedit ? true, + ncurses, + enableCephFS ? false, + ceph, + enableGlusterFS ? false, + glusterfs, + libuuid, + enableAcl ? (!stdenv.hostPlatform.isDarwin), + acl, + enableLibunwind ? (!stdenv.hostPlatform.isDarwin), + libunwind, + enablePam ? (!stdenv.hostPlatform.isDarwin), + pam, }: let @@ -72,7 +86,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OpLpfq6zRbazIjL1A+FNNPA6eqZMRR/owlihG72pCOU="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; patches = [ ./4.x-no-persistent-install.patch @@ -88,54 +106,76 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - nativeBuildInputs = [ - python3Packages.python - wafHook - pkg-config - bison - flex - perl - perl.pkgs.ParseYapp - perl.pkgs.JSON - libxslt - docbook_xsl - docbook_xml_dtd_45 - cmocka - rpcsvc-proto - ] ++ optionals stdenv.hostPlatform.isLinux [ - buildPackages.stdenv.cc - ] ++ optional (stdenv.buildPlatform != stdenv.hostPlatform) samba # asn1_compile/compile_et + nativeBuildInputs = + [ + python3Packages.python + wafHook + pkg-config + bison + flex + perl + perl.pkgs.ParseYapp + perl.pkgs.JSON + libxslt + docbook_xsl + docbook_xml_dtd_45 + cmocka + rpcsvc-proto + ] + ++ optionals stdenv.hostPlatform.isLinux [ + buildPackages.stdenv.cc + ] + ++ optional (stdenv.buildPlatform != stdenv.hostPlatform) samba # asn1_compile/compile_et ++ optionals stdenv.hostPlatform.isDarwin [ - fixDarwinDylibNames - ]; + fixDarwinDylibNames + ]; wafPath = "buildtools/bin/waf"; - buildInputs = [ - bash - wrapPython - python - readline - popt - dbus - jansson - libbsd - libarchive - zlib - gnutls - libtasn1 - tdb - libxcrypt - ] ++ optionals stdenv.hostPlatform.isLinux [ liburing systemd ] + buildInputs = + [ + bash + wrapPython + python + readline + popt + dbus + jansson + libbsd + libarchive + zlib + gnutls + libtasn1 + tdb + libxcrypt + ] + ++ optionals stdenv.hostPlatform.isLinux [ + liburing + systemd + ] ++ optionals stdenv.hostPlatform.isDarwin [ libiconv ] - ++ optionals enableLDAP [ openldap.dev python3Packages.markdown ] - ++ optionals (!enableLDAP && stdenv.hostPlatform.isLinux) [ ldb talloc tevent ] + ++ optionals enableLDAP [ + openldap.dev + python3Packages.markdown + ] + ++ optionals (!enableLDAP && stdenv.hostPlatform.isLinux) [ + ldb + talloc + tevent + ] ++ optional enablePrinting cups ++ optional enableMDNS avahi - ++ optionals enableDomainController [ gpgme lmdb python3Packages.dnspython ] + ++ optionals enableDomainController [ + gpgme + lmdb + python3Packages.dnspython + ] ++ optional enableRegedit ncurses ++ optional (enableCephFS && stdenv.hostPlatform.isLinux) (lib.getDev ceph) - ++ optionals (enableGlusterFS && stdenv.hostPlatform.isLinux) [ glusterfs libuuid ] + ++ optionals (enableGlusterFS && stdenv.hostPlatform.isLinux) [ + glusterfs + libuuid + ] ++ optional enableAcl acl ++ optional enableLibunwind libunwind ++ optional enablePam pam; @@ -155,49 +195,57 @@ stdenv.mkDerivation (finalAttrs: { export PYTHONHASHSEED=1 ''; - wafConfigureFlags = [ - "--with-static-modules=NONE" - "--with-shared-modules=ALL" - "--enable-fhs" - "--sysconfdir=/etc" - "--localstatedir=/var" - "--disable-rpath" - # otherwise third_party/waf/waflib/Tools/python.py would - # get the wrong pythondir from build platform python - "--pythondir=${placeholder "out"}/${python.sitePackages}" - (lib.enableFeature enablePrinting "cups") - ] ++ optional (!enableDomainController) - "--without-ad-dc" - ++ optionals (!enableLDAP) [ - "--without-ldap" - "--without-ads" - ] ++ optionals (!enableLDAP && stdenv.hostPlatform.isLinux) [ - "--bundled-libraries=!ldb,!pyldb-util!talloc,!pytalloc-util,!tevent,!tdb,!pytdb" - ] ++ optional enableLibunwind "--with-libunwind" + wafConfigureFlags = + [ + "--with-static-modules=NONE" + "--with-shared-modules=ALL" + "--enable-fhs" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--disable-rpath" + # otherwise third_party/waf/waflib/Tools/python.py would + # get the wrong pythondir from build platform python + "--pythondir=${placeholder "out"}/${python.sitePackages}" + (lib.enableFeature enablePrinting "cups") + ] + ++ optional (!enableDomainController) "--without-ad-dc" + ++ optionals (!enableLDAP) [ + "--without-ldap" + "--without-ads" + ] + ++ optionals (!enableLDAP && stdenv.hostPlatform.isLinux) [ + "--bundled-libraries=!ldb,!pyldb-util!talloc,!pytalloc-util,!tevent,!tdb,!pytdb" + ] + ++ optional enableLibunwind "--with-libunwind" ++ optional enableProfiling "--with-profiling-data" ++ optional (!enableAcl) "--without-acl-support" ++ optional (!enablePam) "--without-pam" ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--bundled-libraries=!asn1_compile,!compile_et" - "--cross-compile" - "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" - ] ++ optionals stdenv.buildPlatform.is32bit [ - # By default `waf configure` spawns as many as available CPUs. On - # 32-bit systems with many CPUs (like `i686` chroot on `x86_64` - # kernel) it can easily exhaust 32-bit address space and hang up: - # https://github.com/NixOS/nixpkgs/issues/287339#issuecomment-1949462057 - # https://bugs.gentoo.org/683148 - # Limit the job count down to the minimal on system with limited address - # space. - "--jobs 1" - ]; + "--bundled-libraries=!asn1_compile,!compile_et" + "--cross-compile" + "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" + ] + ++ optionals stdenv.buildPlatform.is32bit [ + # By default `waf configure` spawns as many as available CPUs. On + # 32-bit systems with many CPUs (like `i686` chroot on `x86_64` + # kernel) it can easily exhaust 32-bit address space and hang up: + # https://github.com/NixOS/nixpkgs/issues/287339#issuecomment-1949462057 + # https://bugs.gentoo.org/683148 + # Limit the job count down to the minimal on system with limited address + # space. + "--jobs 1" + ]; # python-config from build Python gives incorrect values when cross-compiling. # If python-config is not found, the build falls back to using the sysconfig # module, which works correctly in all cases. PYTHON_CONFIG = "/invalid"; - pythonPath = [ python3Packages.dnspython python3Packages.markdown tdb ]; + pythonPath = [ + python3Packages.dnspython + python3Packages.markdown + tdb + ]; preBuild = '' export MAKEFLAGS="-j $NIX_BUILD_CORES" @@ -213,40 +261,44 @@ stdenv.mkDerivation (finalAttrs: { # Some libraries don't have /lib/samba in RPATH but need it. # Use find -type f -executable -exec echo {} \; -exec sh -c 'ldd {} | grep "not found"' \; # Looks like a bug in installer scripts. - postFixup = '' - export SAMBA_LIBS="$(find $out -type f -regex '.*\${stdenv.hostPlatform.extensions.sharedLibrary}\(\..*\)?' -exec dirname {} \; | sort | uniq)" - read -r -d "" SCRIPT << EOF || true - [ -z "\$SAMBA_LIBS" ] && exit 1; - BIN='{}'; - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')"; - ALL_LIBS="\$(echo -e "\$SAMBA_LIBS\n\$OLD_LIBS" | sort | uniq | tr '\n' ':')"; - patchelf --set-rpath "\$ALL_LIBS" "\$BIN" 2>/dev/null || exit $?; - patchelf --shrink-rpath "\$BIN"; - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -id \$BIN \$BIN - for old_rpath in \$(otool -L \$BIN | grep /private/tmp/ | awk '{print \$1}'); do - new_rpath=\$(find \$SAMBA_LIBS -name \$(basename \$old_rpath) | head -n 1) - install_name_tool -change \$old_rpath \$new_rpath \$BIN - done - '' + '' - EOF - find $out -type f -regex '.*\${stdenv.hostPlatform.extensions.sharedLibrary}\(\..*\)?' -exec $SHELL -c "$SCRIPT" \; - find $out/bin -type f -exec $SHELL -c "$SCRIPT" \; + postFixup = + '' + export SAMBA_LIBS="$(find $out -type f -regex '.*\${stdenv.hostPlatform.extensions.sharedLibrary}\(\..*\)?' -exec dirname {} \; | sort | uniq)" + read -r -d "" SCRIPT << EOF || true + [ -z "\$SAMBA_LIBS" ] && exit 1; + BIN='{}'; + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')"; + ALL_LIBS="\$(echo -e "\$SAMBA_LIBS\n\$OLD_LIBS" | sort | uniq | tr '\n' ':')"; + patchelf --set-rpath "\$ALL_LIBS" "\$BIN" 2>/dev/null || exit $?; + patchelf --shrink-rpath "\$BIN"; + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -id \$BIN \$BIN + for old_rpath in \$(otool -L \$BIN | grep /private/tmp/ | awk '{print \$1}'); do + new_rpath=\$(find \$SAMBA_LIBS -name \$(basename \$old_rpath) | head -n 1) + install_name_tool -change \$old_rpath \$new_rpath \$BIN + done + '' + + '' + EOF + find $out -type f -regex '.*\${stdenv.hostPlatform.extensions.sharedLibrary}\(\..*\)?' -exec $SHELL -c "$SCRIPT" \; + find $out/bin -type f -exec $SHELL -c "$SCRIPT" \; - # Fix PYTHONPATH for some tools - wrapPythonPrograms + # Fix PYTHONPATH for some tools + wrapPythonPrograms - # Samba does its own shebang patching, but uses build Python - find $out/bin -type f -executable | while read file; do - isScript "$file" || continue - sed -i 's^${lib.getBin buildPackages.python3Packages.python}^${lib.getBin python}^' "$file" - done - ''; + # Samba does its own shebang patching, but uses build Python + find $out/bin -type f -executable | while read file; do + isScript "$file" || continue + sed -i 's^${lib.getBin buildPackages.python3Packages.python}^${lib.getBin python}^' "$file" + done + ''; - disallowedReferences = - lib.optionals (buildPackages.python3Packages.python != python3Packages.python) - [ buildPackages.python3Packages.python ]; + disallowedReferences = lib.optionals ( + buildPackages.python3Packages.python != python3Packages.python + ) [ buildPackages.python3Packages.python ]; passthru.tests = { samba = nixosTests.samba; diff --git a/pkgs/servers/search/elasticsearch/7.x.nix b/pkgs/servers/search/elasticsearch/7.x.nix index 0244783c58735..1dd885e7d07c9 100644 --- a/pkgs/servers/search/elasticsearch/7.x.nix +++ b/pkgs/servers/search/elasticsearch/7.x.nix @@ -1,27 +1,27 @@ -{ elk7Version -, lib -, stdenv -, fetchurl -, makeWrapper -, jre_headless -, util-linux -, gnugrep -, coreutils -, autoPatchelfHook -, zlib +{ + elk7Version, + lib, + stdenv, + fetchurl, + makeWrapper, + jre_headless, + util-linux, + gnugrep, + coreutils, + autoPatchelfHook, + zlib, }: let info = lib.splitString "-" stdenv.hostPlatform.system; arch = lib.elemAt info 0; plat = lib.elemAt info 1; - hashes = - { - x86_64-linux = "sha512-OiWGRxaCdRxXuxE/W04v87ytzOeUEcHRjF5nyRkdqSbZSnLXUyKOYQ4fKmk4til0VBOaKZYId20XyPiu/XTXNw=="; - x86_64-darwin = "sha512-V/vKYL96+M1lp7ZJlvuneRBePWZmucUANfUrFPMuq+fnUP4nN69RStLWcgwgt65EspFMBwKVyQbak4swV8rWxw=="; - aarch64-linux = "sha512-fNgVRaIIGx01reNHOnGKhMOG1aYU7gC8HLpIESSbM3+9xO1q9IHIaL/ObI/w2RYj/lD22d7PAdX5N6Hd1pVSAA=="; - aarch64-darwin = "sha512-DgexeyoxZ1YTPw9HjSUAM6eC8XtzIw7MY1WUVsIa8zl5j3RpCp25s3oI12BWefjYYCTjdtFDMsnoFSqZBabLig=="; - }; + hashes = { + x86_64-linux = "sha512-OiWGRxaCdRxXuxE/W04v87ytzOeUEcHRjF5nyRkdqSbZSnLXUyKOYQ4fKmk4til0VBOaKZYId20XyPiu/XTXNw=="; + x86_64-darwin = "sha512-V/vKYL96+M1lp7ZJlvuneRBePWZmucUANfUrFPMuq+fnUP4nN69RStLWcgwgt65EspFMBwKVyQbak4swV8rWxw=="; + aarch64-linux = "sha512-fNgVRaIIGx01reNHOnGKhMOG1aYU7gC8HLpIESSbM3+9xO1q9IHIaL/ObI/w2RYj/lD22d7PAdX5N6Hd1pVSAA=="; + aarch64-darwin = "sha512-DgexeyoxZ1YTPw9HjSUAM6eC8XtzIw7MY1WUVsIa8zl5j3RpCp25s3oI12BWefjYYCTjdtFDMsnoFSqZBabLig=="; + }; in stdenv.mkDerivation rec { pname = "elasticsearch"; @@ -44,10 +44,15 @@ stdenv.mkDerivation rec { "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\"" ''; - nativeBuildInputs = [ makeWrapper ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; + nativeBuildInputs = [ + makeWrapper + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook; - buildInputs = [ jre_headless util-linux zlib ]; + buildInputs = [ + jre_headless + util-linux + zlib + ]; runtimeDependencies = [ zlib ]; @@ -61,13 +66,21 @@ stdenv.mkDerivation rec { --replace 'bin/elasticsearch-keystore' "$out/bin/elasticsearch-keystore" wrapProgram $out/bin/elasticsearch \ - --prefix PATH : "${lib.makeBinPath [ util-linux coreutils gnugrep ]}" \ + --prefix PATH : "${ + lib.makeBinPath [ + util-linux + coreutils + gnugrep + ] + }" \ --set JAVA_HOME "${jre_headless}" wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}" ''; - passthru = { enableUnfree = true; }; + passthru = { + enableUnfree = true; + }; meta = with lib; { description = "Open Source, Distributed, RESTful Search Engine"; @@ -77,6 +90,9 @@ stdenv.mkDerivation rec { ]; license = licenses.elastic20; platforms = platforms.unix; - maintainers = with maintainers; [ apeschar basvandijk ]; + maintainers = with maintainers; [ + apeschar + basvandijk + ]; }; } diff --git a/pkgs/servers/search/lnx/default.nix b/pkgs/servers/search/lnx/default.nix index 7cda5d44c4423..99ebed0a82379 100644 --- a/pkgs/servers/search/lnx/default.nix +++ b/pkgs/servers/search/lnx/default.nix @@ -1,14 +1,16 @@ -{ stdenv -, lib -, rustPlatform -, fetchFromGitHub -, DiskArbitration -, Foundation +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + DiskArbitration, + Foundation, }: # unstable was chosen because of an added Cargo.lock # revert to stable for the version after 0.9.0 -let version = "unstable-2022-06-25"; +let + version = "unstable-2022-06-25"; in rustPlatform.buildRustPackage { pname = "lnx"; @@ -25,7 +27,10 @@ rustPlatform.buildRustPackage { "compose-0.1.0" = "sha256-zcniGI3wa+gI3jFTDqHcesX+6hAtNEbW81ABPUcFTXk="; }; }; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ DiskArbitration Foundation ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + DiskArbitration + Foundation + ]; meta = with lib; { description = "Insanely fast, Feature-rich searching. lnx is the adaptable, typo tollerant deployment of the tantivy search engine. Standing on the shoulders of giants."; mainProgram = "lnx"; diff --git a/pkgs/servers/search/qdrant/default.nix b/pkgs/servers/search/qdrant/default.nix index 744161f5cf737..fb434246323e9 100644 --- a/pkgs/servers/search/qdrant/default.nix +++ b/pkgs/servers/search/qdrant/default.nix @@ -1,14 +1,15 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, protobuf -, stdenv -, pkg-config -, openssl -, rust-jemalloc-sys -, nix-update-script -, Security -, SystemConfiguration +{ + lib, + rustPlatform, + fetchFromGitHub, + protobuf, + stdenv, + pkg-config, + openssl, + rust-jemalloc-sys, + nix-update-script, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -30,22 +31,30 @@ rustPlatform.buildRustPackage rec { }; }; - buildInputs = [ - openssl - rust-jemalloc-sys - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - SystemConfiguration - ]; + buildInputs = + [ + openssl + rust-jemalloc-sys + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; - nativeBuildInputs = [ protobuf rustPlatform.bindgenHook pkg-config ]; + nativeBuildInputs = [ + protobuf + rustPlatform.bindgenHook + pkg-config + ]; - env = { - # Needed to get openssl-sys to use pkg-config. - OPENSSL_NO_VENDOR = 1; - } // lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = "-faligned-allocation"; - }; + env = + { + # Needed to get openssl-sys to use pkg-config. + OPENSSL_NO_VENDOR = 1; + } + // lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = "-faligned-allocation"; + }; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/servers/search/quickwit/default.nix b/pkgs/servers/search/quickwit/default.nix index 8dbb25398bc1a..f056a726d4762 100644 --- a/pkgs/servers/search/quickwit/default.nix +++ b/pkgs/servers/search/quickwit/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, nixosTests -, nix-update-script -, protobuf -, rust-jemalloc-sys -, Security -, nodejs -, yarn -, fetchYarnDeps -, fixup-yarn-lock +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + nixosTests, + nix-update-script, + protobuf, + rust-jemalloc-sys, + Security, + nodejs, + yarn, + fetchYarnDeps, + fixup-yarn-lock, }: let diff --git a/pkgs/servers/search/typesense/default.nix b/pkgs/servers/search/typesense/default.nix index 2a641cd752fc4..5558ef38ad5e0 100644 --- a/pkgs/servers/search/typesense/default.nix +++ b/pkgs/servers/search/typesense/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, nixosTests +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + nixosTests, }: let inherit (stdenv.hostPlatform) system; diff --git a/pkgs/servers/shairplay/default.nix b/pkgs/servers/shairplay/default.nix index 63de8df58fd84..3bfdd8ead9afb 100644 --- a/pkgs/servers/shairplay/default.nix +++ b/pkgs/servers/shairplay/default.nix @@ -1,20 +1,33 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, avahi, libao }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + avahi, + libao, +}: stdenv.mkDerivation rec { pname = "shairplay-unstable"; version = "2018-08-24"; src = fetchFromGitHub { - owner = "juhovh"; - repo = "shairplay"; - rev = "096b61ad14c90169f438e690d096e3fcf87e504e"; + owner = "juhovh"; + repo = "shairplay"; + rev = "096b61ad14c90169f438e690d096e3fcf87e504e"; sha256 = "02xkd9al79pbqh8rhzz5w99vv43jg5vqkqg7kxsw8c8sz9di9wsa"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ avahi libao ]; + buildInputs = [ + avahi + libao + ]; enableParallelBuilding = true; @@ -28,9 +41,9 @@ stdenv.mkDerivation rec { meta = with lib; { inherit (src.meta) homepage; description = "Apple AirPlay and RAOP protocol server"; - license = licenses.mit; + license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "shairplay"; }; } diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix index 926486c73c975..264b225b0c08c 100644 --- a/pkgs/servers/shishi/default.nix +++ b/pkgs/servers/shishi/default.nix @@ -1,12 +1,21 @@ -{ lib, stdenv, fetchurl, pkg-config -, libgcrypt, libgpg-error, libtasn1 +{ + lib, + stdenv, + fetchurl, + pkg-config, + libgcrypt, + libgpg-error, + libtasn1, -# Optional Dependencies -, pam ? null, libidn ? null, gnutls ? null + # Optional Dependencies + pam ? null, + libidn ? null, + gnutls ? null, }: let - shouldUsePkg = pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; + shouldUsePkg = + pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; optPam = shouldUsePkg pam; optLibidn = shouldUsePkg libidn; @@ -26,52 +35,65 @@ stdenv.mkDerivation rec { separateDebugInfo = true; # Fixes support for gcrypt 1.6+ - patches = [ ./gcrypt-fix.patch ./freebsd-unistd.patch ]; + patches = [ + ./gcrypt-fix.patch + ./freebsd-unistd.patch + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libgcrypt libgpg-error libtasn1 optPam optLibidn optGnutls ]; + buildInputs = [ + libgcrypt + libgpg-error + libtasn1 + optPam + optLibidn + optGnutls + ]; configureFlags = [ "--sysconfdir=/etc" "--localstatedir=/var" - (enableFeature true "libgcrypt") - (enableFeature (optPam != null) "pam") - (enableFeature true "ipv6") - (withFeature (optLibidn != null) "stringprep") + (enableFeature true "libgcrypt") + (enableFeature (optPam != null) "pam") + (enableFeature true "ipv6") + (withFeature (optLibidn != null) "stringprep") (enableFeature (optGnutls != null) "starttls") - (enableFeature true "des") - (enableFeature true "3des") - (enableFeature true "aes") - (enableFeature true "md") - (enableFeature false "null") - (enableFeature true "arcfour") + (enableFeature true "des") + (enableFeature true "3des") + (enableFeature true "aes") + (enableFeature true "md") + (enableFeature false "null") + (enableFeature true "arcfour") ]; - env.NIX_CFLAGS_COMPILE - = optionalString stdenv.hostPlatform.isDarwin "-DBIND_8_COMPAT"; + env.NIX_CFLAGS_COMPILE = optionalString stdenv.hostPlatform.isDarwin "-DBIND_8_COMPAT"; doCheck = true; installFlags = [ "sysconfdir=\${out}/etc" ]; # Fix *.la files - postInstall = '' - sed -i $out/lib/libshi{sa,shi}.la \ - '' + optionalString (optLibidn != null) '' + postInstall = + '' + sed -i $out/lib/libshi{sa,shi}.la \ + '' + + optionalString (optLibidn != null) '' -e 's,\(-lidn\),-L${optLibidn.out}/lib \1,' \ - '' + optionalString (optGnutls != null) '' + '' + + optionalString (optGnutls != null) '' -e 's,\(-lgnutls\),-L${optGnutls.out}/lib \1,' \ - '' + '' + '' + + '' -e 's,\(-lgcrypt\),-L${libgcrypt.out}/lib \1,' \ -e 's,\(-lgpg-error\),-L${libgpg-error.out}/lib \1,' \ -e 's,\(-ltasn1\),-L${libtasn1.out}/lib \1,' - ''; + ''; meta = with lib; { - homepage = "https://www.gnu.org/software/shishi/"; + homepage = "https://www.gnu.org/software/shishi/"; description = "Implementation of the Kerberos 5 network security system"; - license = licenses.gpl3Plus; + license = licenses.gpl3Plus; maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix index 3184b64250563..1bbf138e6786e 100644 --- a/pkgs/servers/sickbeard/sickgear.nix +++ b/pkgs/servers/sickbeard/sickgear.nix @@ -1,8 +1,21 @@ -{ lib, stdenv, fetchFromGitHub, python3, makeWrapper, libarchive }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, + makeWrapper, + libarchive, +}: let - pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 lxml ]); -in stdenv.mkDerivation rec { + pythonEnv = python3.withPackages ( + ps: with ps; [ + cheetah3 + lxml + ] + ); +in +stdenv.mkDerivation rec { pname = "sickgear"; version = "3.32.11"; @@ -21,7 +34,10 @@ in stdenv.mkDerivation rec { doCheck = false; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ pythonEnv libarchive ]; + buildInputs = [ + pythonEnv + libarchive + ]; installPhase = '' mkdir -p $out/bin $out/opt/sickgear @@ -34,8 +50,8 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Most reliable stable TV fork of the great Sick-Beard to fully automate TV enjoyment with innovation"; mainProgram = "sickgear"; - license = licenses.gpl3; - homepage = "https://github.com/SickGear/SickGear"; + license = licenses.gpl3; + homepage = "https://github.com/SickGear/SickGear"; maintainers = with lib.maintainers; [ rembo10 ]; }; } diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix index 9d11ad68a4056..bbbccaea5fc2f 100644 --- a/pkgs/servers/sip/freeswitch/default.nix +++ b/pkgs/servers/sip/freeswitch/default.nix @@ -1,103 +1,110 @@ -{ fetchFromGitHub -, stdenv -, lib -, pkg-config -, autoreconfHook -, ncurses -, gnutls -, readline -, openssl -, perl -, sqlite -, libjpeg -, speex -, pcre -, libuuid -, ldns -, libedit -, yasm -, which -, libsndfile -, libtiff -, libxcrypt -, callPackage -, SystemConfiguration -, modules ? null -, nixosTests +{ + fetchFromGitHub, + stdenv, + lib, + pkg-config, + autoreconfHook, + ncurses, + gnutls, + readline, + openssl, + perl, + sqlite, + libjpeg, + speex, + pcre, + libuuid, + ldns, + libedit, + yasm, + which, + libsndfile, + libtiff, + libxcrypt, + callPackage, + SystemConfiguration, + modules ? null, + nixosTests, }: let -availableModules = callPackage ./modules.nix { }; - -# the default list from v1.8.7, except with applications/mod_signalwire also disabled -defaultModules = mods: with mods; [ - applications.commands - applications.conference - applications.db - applications.dptools - applications.enum - applications.esf - applications.expr - applications.fifo - applications.fsv - applications.hash - applications.httapi - applications.sms - applications.spandsp - applications.valet_parking - applications.voicemail - - applications.curl - - codecs.amr - codecs.b64 - codecs.g723_1 - codecs.g729 - codecs.h26x - codecs.opus - - databases.mariadb - databases.pgsql - - dialplans.asterisk - dialplans.xml - - endpoints.loopback - endpoints.rtc - endpoints.skinny - endpoints.sofia - endpoints.verto - - event_handlers.cdr_csv - event_handlers.cdr_sqlite - event_handlers.event_socket - - formats.local_stream - formats.native_file - formats.png - formats.sndfile - formats.tone_stream - - languages.lua - - loggers.console - loggers.logfile - loggers.syslog - - say.en - - xml_int.cdr - xml_int.rpc - xml_int.scgi -] ++ lib.optionals stdenv.hostPlatform.isLinux [ endpoints.gsmopen ]; - -enabledModules = (if modules != null then modules else defaultModules) availableModules; - -modulesConf = let - lst = builtins.map (mod: mod.path) enabledModules; - str = lib.strings.concatStringsSep "\n" lst; - in builtins.toFile "modules.conf" str; + availableModules = callPackage ./modules.nix { }; + + # the default list from v1.8.7, except with applications/mod_signalwire also disabled + defaultModules = + mods: + with mods; + [ + applications.commands + applications.conference + applications.db + applications.dptools + applications.enum + applications.esf + applications.expr + applications.fifo + applications.fsv + applications.hash + applications.httapi + applications.sms + applications.spandsp + applications.valet_parking + applications.voicemail + + applications.curl + + codecs.amr + codecs.b64 + codecs.g723_1 + codecs.g729 + codecs.h26x + codecs.opus + + databases.mariadb + databases.pgsql + + dialplans.asterisk + dialplans.xml + + endpoints.loopback + endpoints.rtc + endpoints.skinny + endpoints.sofia + endpoints.verto + + event_handlers.cdr_csv + event_handlers.cdr_sqlite + event_handlers.event_socket + + formats.local_stream + formats.native_file + formats.png + formats.sndfile + formats.tone_stream + + languages.lua + + loggers.console + loggers.logfile + loggers.syslog + + say.en + + xml_int.cdr + xml_int.rpc + xml_int.scgi + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ endpoints.gsmopen ]; + + enabledModules = (if modules != null then modules else defaultModules) availableModules; + + modulesConf = + let + lst = builtins.map (mod: mod.path) enabledModules; + str = lib.strings.concatStringsSep "\n" lst; + in + builtins.toFile "modules.conf" str; in @@ -126,15 +133,32 @@ stdenv.mkDerivation rec { ''; strictDeps = true; - nativeBuildInputs = [ pkg-config autoreconfHook perl which yasm ]; - buildInputs = [ - openssl ncurses gnutls readline libjpeg - sqlite pcre speex ldns libedit - libsndfile libtiff - libuuid libxcrypt - ] - ++ lib.unique (lib.concatMap (mod: mod.inputs) enabledModules) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ SystemConfiguration ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + perl + which + yasm + ]; + buildInputs = + [ + openssl + ncurses + gnutls + readline + libjpeg + sqlite + pcre + speex + ldns + libedit + libsndfile + libtiff + libuuid + libxcrypt + ] + ++ lib.unique (lib.concatMap (mod: mod.inputs) enabledModules) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ SystemConfiguration ]; enableParallelBuilding = true; diff --git a/pkgs/servers/sks/default.nix b/pkgs/servers/sks/default.nix index afb46a2950891..e93d3e4cd9506 100644 --- a/pkgs/servers/sks/default.nix +++ b/pkgs/servers/sks/default.nix @@ -1,5 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ocamlPackages, perl -, zlib, db +{ + lib, + stdenv, + fetchFromGitHub, + ocamlPackages, + perl, + zlib, + db, }: let @@ -27,12 +33,27 @@ stdenv.mkDerivation rec { ./adapt-to-nixos.patch ]; - outputs = [ "out" "webSamples" ]; + outputs = [ + "out" + "webSamples" + ]; - nativeBuildInputs = [ ocaml findlib perl ]; - buildInputs = [ zlib db cryptokit num ]; + nativeBuildInputs = [ + ocaml + findlib + perl + ]; + buildInputs = [ + zlib + db + cryptokit + num + ]; - makeFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ]; + makeFlags = [ + "PREFIX=$(out)" + "MANDIR=$(out)/share/man" + ]; preConfigure = '' cp Makefile.local.unused Makefile.local sed -i \ @@ -63,4 +84,3 @@ stdenv.mkDerivation rec { maintainers = [ ]; }; } - diff --git a/pkgs/servers/snac2/default.nix b/pkgs/servers/snac2/default.nix index 653bc9c5ccfae..6b205a98a858d 100644 --- a/pkgs/servers/snac2/default.nix +++ b/pkgs/servers/snac2/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitea -, curl -, openssl -, nix-update-script -, testers -, snac2 +{ + stdenv, + lib, + fetchFromGitea, + curl, + openssl, + nix-update-script, + testers, + snac2, }: stdenv.mkDerivation rec { @@ -20,14 +21,19 @@ stdenv.mkDerivation rec { hash = "sha256-jzkimE4JPrlsHP0jPawhloXMDNaWG1Sgfp5NiZxm1xo="; }; - buildInputs = [ curl openssl ]; + buildInputs = [ + curl + openssl + ]; makeFlags = [ "PREFIX=$(out)" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Dst_mtim=st_mtimespec" - "-Dst_ctim=st_ctimespec" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Dst_mtim=st_mtimespec" + "-Dst_ctim=st_ctimespec" + ] + ); passthru = { tests.version = testers.testVersion { diff --git a/pkgs/servers/spicedb/zed.nix b/pkgs/servers/spicedb/zed.nix index 07a523cd2fd48..98364e0260989 100644 --- a/pkgs/servers/spicedb/zed.nix +++ b/pkgs/servers/spicedb/zed.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/servers/sql/mariadb/connector-c/3_1.nix b/pkgs/servers/sql/mariadb/connector-c/3_1.nix index a51fc1d104b1e..2846717930ab0 100644 --- a/pkgs/servers/sql/mariadb/connector-c/3_1.nix +++ b/pkgs/servers/sql/mariadb/connector-c/3_1.nix @@ -1,6 +1,9 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./. (args // { - version = "3.1.21"; - hash = "sha256-guN3Rcsb/EV4rxPE3yhJRSsT1+z44zUetg7ZBA4WjIc="; -}) +callPackage ./. ( + args + // { + version = "3.1.21"; + hash = "sha256-guN3Rcsb/EV4rxPE3yhJRSsT1+z44zUetg7ZBA4WjIc="; + } +) diff --git a/pkgs/servers/sql/mariadb/connector-c/3_2.nix b/pkgs/servers/sql/mariadb/connector-c/3_2.nix index 6619e261650c7..392c43580c2e5 100644 --- a/pkgs/servers/sql/mariadb/connector-c/3_2.nix +++ b/pkgs/servers/sql/mariadb/connector-c/3_2.nix @@ -1,6 +1,9 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./. (args // { - version = "3.2.7"; - hash = "sha256-F7s9fcbJiz6lsWrvlTpY+ZET8MPwlyWPKJZOvHEwBvo="; -}) +callPackage ./. ( + args + // { + version = "3.2.7"; + hash = "sha256-F7s9fcbJiz6lsWrvlTpY+ZET8MPwlyWPKJZOvHEwBvo="; + } +) diff --git a/pkgs/servers/sql/mariadb/connector-c/3_3.nix b/pkgs/servers/sql/mariadb/connector-c/3_3.nix index 9f750fe8108be..ccd15c48f966c 100644 --- a/pkgs/servers/sql/mariadb/connector-c/3_3.nix +++ b/pkgs/servers/sql/mariadb/connector-c/3_3.nix @@ -1,6 +1,9 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./. (args // { - version = "3.3.5"; - hash = "sha256-RLHx8PyfbfIDr6X6ky5/w0XsGMFd+v5PgmQHvYOaf+k="; -}) +callPackage ./. ( + args + // { + version = "3.3.5"; + hash = "sha256-RLHx8PyfbfIDr6X6ky5/w0XsGMFd+v5PgmQHvYOaf+k="; + } +) diff --git a/pkgs/servers/sql/mariadb/connector-c/default.nix b/pkgs/servers/sql/mariadb/connector-c/default.nix index e27179e8ab2f1..6b5a5674078f6 100644 --- a/pkgs/servers/sql/mariadb/connector-c/default.nix +++ b/pkgs/servers/sql/mariadb/connector-c/default.nix @@ -1,13 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, cmake -, curl, openssl, zlib, zstd -, libiconv -, version, hash, ... +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + curl, + openssl, + zlib, + zstd, + libiconv, + version, + hash, + ... }: let isVer33 = lib.versionAtLeast version "3.3"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "mariadb-connector-c"; inherit version; @@ -18,7 +28,10 @@ in stdenv.mkDerivation { inherit hash; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cmakeFlags = [ "-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock" @@ -27,21 +40,23 @@ in stdenv.mkDerivation { "-DWITH_MYSQLCOMPAT=ON" ]; - postPatch = '' - substituteInPlace mariadb_config/mariadb_config.c.in \ - --replace '#define INCLUDE "-I%s/@INSTALL_INCLUDEDIR@ -I%s/@INSTALL_INCLUDEDIR@/mysql"' "#define INCLUDE \"-I$dev/include -I$dev/include/mysql\"" \ - --replace '#define LIBS "-L%s/@INSTALL_LIBDIR@/ -lmariadb"' "#define LIBS \"-L$out/lib/mariadb -lmariadb\"" \ - --replace '#define PKG_LIBDIR "%s/@INSTALL_LIBDIR@"' "#define PKG_LIBDIR \"$out/lib/mariadb\"" \ - --replace '#define PLUGIN_DIR "%s/@INSTALL_PLUGINDIR@"' "#define PLUGIN_DIR \"$out/lib/mariadb/plugin\"" \ - --replace '#define PKG_PLUGINDIR "%s/@INSTALL_PLUGINDIR@"' "#define PKG_PLUGINDIR \"$out/lib/mariadb/plugin\"" - '' + lib.optionalString stdenv.hostPlatform.isStatic '' - # Disables all dynamic plugins - substituteInPlace cmake/plugins.cmake \ - --replace 'if(''${CC_PLUGIN_DEFAULT} STREQUAL "DYNAMIC")' 'if(''${CC_PLUGIN_DEFAULT} STREQUAL "INVALID")' - # Force building static libraries - substituteInPlace libmariadb/CMakeLists.txt \ - --replace 'libmariadb SHARED' 'libmariadb STATIC' - ''; + postPatch = + '' + substituteInPlace mariadb_config/mariadb_config.c.in \ + --replace '#define INCLUDE "-I%s/@INSTALL_INCLUDEDIR@ -I%s/@INSTALL_INCLUDEDIR@/mysql"' "#define INCLUDE \"-I$dev/include -I$dev/include/mysql\"" \ + --replace '#define LIBS "-L%s/@INSTALL_LIBDIR@/ -lmariadb"' "#define LIBS \"-L$out/lib/mariadb -lmariadb\"" \ + --replace '#define PKG_LIBDIR "%s/@INSTALL_LIBDIR@"' "#define PKG_LIBDIR \"$out/lib/mariadb\"" \ + --replace '#define PLUGIN_DIR "%s/@INSTALL_PLUGINDIR@"' "#define PLUGIN_DIR \"$out/lib/mariadb/plugin\"" \ + --replace '#define PKG_PLUGINDIR "%s/@INSTALL_PLUGINDIR@"' "#define PKG_PLUGINDIR \"$out/lib/mariadb/plugin\"" + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + # Disables all dynamic plugins + substituteInPlace cmake/plugins.cmake \ + --replace 'if(''${CC_PLUGIN_DEFAULT} STREQUAL "DYNAMIC")' 'if(''${CC_PLUGIN_DEFAULT} STREQUAL "INVALID")' + # Force building static libraries + substituteInPlace libmariadb/CMakeLists.txt \ + --replace 'libmariadb SHARED' 'libmariadb STATIC' + ''; # The cmake setup-hook uses $out/lib by default, this is not the case here. preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -49,7 +64,11 @@ in stdenv.mkDerivation { ''; nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ curl openssl zlib ] ++ lib.optional isVer33 zstd; + propagatedBuildInputs = [ + curl + openssl + zlib + ] ++ lib.optional isVer33 zstd; buildInputs = [ libiconv ]; postInstall = '' diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 76ce8d6b6dc9a..9f6e2a4314fe7 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,269 +1,390 @@ let # shared across all versions generic = - { version, hash - , lib, stdenv, fetchurl, nixosTests, buildPackages - # Native buildInputs components - , bison, boost, cmake, fixDarwinDylibNames, flex, makeWrapper, pkg-config - # Common components - , curl, libiconv, ncurses, openssl, pcre2 - , libkrb5, libaio, liburing, systemd - , CoreServices, cctools, perl - , jemalloc, less, libedit - # Server components - , bzip2, lz4, lzo, snappy, xz, zlib, zstd - , cracklib, judy, libevent, libxml2 - , linux-pam, numactl - , fmt_8 - , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq - , withStorageRocks ? true - , withEmbedded ? false - , withNuma ? false + { + version, + hash, + lib, + stdenv, + fetchurl, + nixosTests, + buildPackages, + # Native buildInputs components + bison, + boost, + cmake, + fixDarwinDylibNames, + flex, + makeWrapper, + pkg-config, + # Common components + curl, + libiconv, + ncurses, + openssl, + pcre2, + libkrb5, + libaio, + liburing, + systemd, + CoreServices, + cctools, + perl, + jemalloc, + less, + libedit, + # Server components + bzip2, + lz4, + lzo, + snappy, + xz, + zlib, + zstd, + cracklib, + judy, + libevent, + libxml2, + linux-pam, + numactl, + fmt_8, + withStorageMroonga ? true, + kytea, + libsodium, + msgpack, + zeromq, + withStorageRocks ? true, + withEmbedded ? false, + withNuma ? false, }: - let - isCross = stdenv.buildPlatform != stdenv.hostPlatform; + let + isCross = stdenv.buildPlatform != stdenv.hostPlatform; - libExt = stdenv.hostPlatform.extensions.sharedLibrary; + libExt = stdenv.hostPlatform.extensions.sharedLibrary; - mytopEnv = buildPackages.perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]); + mytopEnv = buildPackages.perl.withPackages ( + p: with p; [ + DBDmysql + DBI + TermReadKey + ] + ); - common = rec { # attributes common to both builds - inherit version; + common = rec { + # attributes common to both builds + inherit version; - src = fetchurl { - url = "https://archive.mariadb.org/mariadb-${version}/source/mariadb-${version}.tar.gz"; - inherit hash; - }; + src = fetchurl { + url = "https://archive.mariadb.org/mariadb-${version}/source/mariadb-${version}.tar.gz"; + inherit hash; + }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ cmake pkg-config ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames - ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeWrapper; + nativeBuildInputs = + [ + cmake + pkg-config + ] + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames + ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeWrapper; - buildInputs = [ - libiconv ncurses zlib - pcre2 - openssl - curl - ] ++ lib.optionals stdenv.hostPlatform.isLinux ([ libkrb5 systemd ] - ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ])) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl libedit ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ jemalloc ]; + buildInputs = + [ + libiconv + ncurses + zlib + pcre2 + openssl + curl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux ( + [ + libkrb5 + systemd + ] + ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ]) + ) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + cctools + perl + libedit + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ jemalloc ]; - prePatch = '' - sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt - ''; + prePatch = '' + sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt + ''; - patches = [ - ./patch/cmake-includedir.patch - ] - # Fixes a build issue as documented on - # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073 - ++ lib.optional (!stdenv.hostPlatform.isLinux && lib.versionAtLeast version "10.6") ./patch/macos-MDEV-26769-regression-fix.patch; + patches = + [ + ./patch/cmake-includedir.patch + ] + # Fixes a build issue as documented on + # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073 + ++ lib.optional ( + !stdenv.hostPlatform.isLinux && lib.versionAtLeast version "10.6" + ) ./patch/macos-MDEV-26769-regression-fix.patch; - cmakeFlags = [ - "-DBUILD_CONFIG=mysql_release" - "-DMANUFACTURER=nixos.org" - "-DDEFAULT_CHARSET=utf8mb4" - "-DDEFAULT_COLLATION=utf8mb4_unicode_ci" - "-DSECURITY_HARDENED=ON" + cmakeFlags = + [ + "-DBUILD_CONFIG=mysql_release" + "-DMANUFACTURER=nixos.org" + "-DDEFAULT_CHARSET=utf8mb4" + "-DDEFAULT_COLLATION=utf8mb4_unicode_ci" + "-DSECURITY_HARDENED=ON" - "-DINSTALL_UNIX_ADDRDIR=/run/mysqld/mysqld.sock" - "-DINSTALL_BINDIR=bin" - "-DINSTALL_DOCDIR=share/doc/mysql" - "-DINSTALL_DOCREADMEDIR=share/doc/mysql" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_LIBDIR=lib" - "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" - "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_SUPPORTFILESDIR=share/doc/mysql" - "-DINSTALL_MYSQLTESTDIR=OFF" - "-DINSTALL_SQLBENCHDIR=OFF" - "-DINSTALL_PAMDIR=share/pam/lib/security" - "-DINSTALL_PAMDATADIR=share/pam/etc/security" + "-DINSTALL_UNIX_ADDRDIR=/run/mysqld/mysqld.sock" + "-DINSTALL_BINDIR=bin" + "-DINSTALL_DOCDIR=share/doc/mysql" + "-DINSTALL_DOCREADMEDIR=share/doc/mysql" + "-DINSTALL_INCLUDEDIR=include/mysql" + "-DINSTALL_LIBDIR=lib" + "-DINSTALL_PLUGINDIR=lib/mysql/plugin" + "-DINSTALL_INFODIR=share/mysql/docs" + "-DINSTALL_MANDIR=share/man" + "-DINSTALL_MYSQLSHAREDIR=share/mysql" + "-DINSTALL_SCRIPTDIR=bin" + "-DINSTALL_SUPPORTFILESDIR=share/doc/mysql" + "-DINSTALL_MYSQLTESTDIR=OFF" + "-DINSTALL_SQLBENCHDIR=OFF" + "-DINSTALL_PAMDIR=share/pam/lib/security" + "-DINSTALL_PAMDATADIR=share/pam/etc/security" - "-DWITH_ZLIB=system" - "-DWITH_SSL=system" - "-DWITH_PCRE=system" - "-DWITH_SAFEMALLOC=OFF" - "-DWITH_UNIT_TESTS=OFF" - "-DEMBEDDED_LIBRARY=OFF" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but - # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides - # to pass in java explicitly. - "-DCONNECT_WITH_JDBC=OFF" - "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "10.6") [ - # workaround for https://jira.mariadb.org/browse/MDEV-29925 - "-Dhave_C__Wl___as_needed=" - ] ++ lib.optionals isCross [ - # revisit this if nixpkgs supports any architecture whose stack grows upwards - "-DSTACK_DIRECTION=-1" - "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}" - ]; + "-DWITH_ZLIB=system" + "-DWITH_SSL=system" + "-DWITH_PCRE=system" + "-DWITH_SAFEMALLOC=OFF" + "-DWITH_UNIT_TESTS=OFF" + "-DEMBEDDED_LIBRARY=OFF" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but + # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides + # to pass in java explicitly. + "-DCONNECT_WITH_JDBC=OFF" + "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "10.6") [ + # workaround for https://jira.mariadb.org/browse/MDEV-29925 + "-Dhave_C__Wl___as_needed=" + ] + ++ lib.optionals isCross [ + # revisit this if nixpkgs supports any architecture whose stack grows upwards + "-DSTACK_DIRECTION=-1" + "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}" + ]; - postInstall = lib.optionalString (!withEmbedded) '' - # Remove Development components. Need to use libmysqlclient. - rm "$out"/lib/mysql/plugin/daemon_example.ini - rm "$out"/lib/{libmariadb.a,libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} - rm -f "$out"/bin/{mariadb-config,mariadb_config,mysql_config} - rm -r $out/include - rm -r $out/lib/pkgconfig - ''; + postInstall = lib.optionalString (!withEmbedded) '' + # Remove Development components. Need to use libmysqlclient. + rm "$out"/lib/mysql/plugin/daemon_example.ini + rm "$out"/lib/{libmariadb.a,libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} + rm -f "$out"/bin/{mariadb-config,mariadb_config,mysql_config} + rm -r $out/include + rm -r $out/lib/pkgconfig + ''; - # perlPackages.DBDmysql is broken on darwin - postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - wrapProgram $out/bin/mytop --set PATH ${lib.makeBinPath [ less ncurses ]} - ''; + # perlPackages.DBDmysql is broken on darwin + postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + wrapProgram $out/bin/mytop --set PATH ${ + lib.makeBinPath [ + less + ncurses + ] + } + ''; - passthru.tests = let - testVersion = "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor version)}"; - in { - mariadb-galera-rsync = nixosTests.mariadb-galera.${testVersion}; - mysql = nixosTests.mysql.${testVersion}; - mysql-autobackup = nixosTests.mysql-autobackup.${testVersion}; - mysql-backup = nixosTests.mysql-backup.${testVersion}; - mysql-replication = nixosTests.mysql-replication.${testVersion}; - }; + passthru.tests = + let + testVersion = "mariadb_${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version)}"; + in + { + mariadb-galera-rsync = nixosTests.mariadb-galera.${testVersion}; + mysql = nixosTests.mysql.${testVersion}; + mysql-autobackup = nixosTests.mysql-autobackup.${testVersion}; + mysql-backup = nixosTests.mysql-backup.${testVersion}; + mysql-replication = nixosTests.mysql-replication.${testVersion}; + }; - meta = with lib; { - description = "Enhanced, drop-in replacement for MySQL"; - homepage = "https://mariadb.org/"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ thoughtpolice ] ++ teams.helsinki-systems.members; - platforms = platforms.all; + meta = with lib; { + description = "Enhanced, drop-in replacement for MySQL"; + homepage = "https://mariadb.org/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ thoughtpolice ] ++ teams.helsinki-systems.members; + platforms = platforms.all; + }; }; - }; - client = stdenv.mkDerivation (common // { - pname = "mariadb-client"; + client = stdenv.mkDerivation ( + common + // { + pname = "mariadb-client"; - patches = common.patches ++ [ - ./patch/cmake-plugin-includedir.patch - ]; + patches = common.patches ++ [ + ./patch/cmake-plugin-includedir.patch + ]; - buildInputs = common.buildInputs - ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; + buildInputs = + common.buildInputs + ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; - cmakeFlags = common.cmakeFlags ++ [ - "-DPLUGIN_AUTH_PAM=NO" - "-DWITHOUT_SERVER=ON" - "-DWITH_WSREP=OFF" - "-DINSTALL_MYSQLSHAREDIR=share/mysql-client" - ]; + cmakeFlags = common.cmakeFlags ++ [ + "-DPLUGIN_AUTH_PAM=NO" + "-DWITHOUT_SERVER=ON" + "-DWITH_WSREP=OFF" + "-DINSTALL_MYSQLSHAREDIR=share/mysql-client" + ]; - postInstall = common.postInstall + '' - rm "$out"/bin/{mariadb-test,mysqltest} - libmysqlclient_path=$(readlink -f $out/lib/libmysqlclient${libExt}) - rm "$out"/lib/{libmariadb${libExt},libmysqlclient${libExt},libmysqlclient_r${libExt}} - mv "$libmysqlclient_path" "$out"/lib/libmysqlclient${libExt} - ln -sv libmysqlclient${libExt} "$out"/lib/libmysqlclient_r${libExt} - ''; - }); + postInstall = + common.postInstall + + '' + rm "$out"/bin/{mariadb-test,mysqltest} + libmysqlclient_path=$(readlink -f $out/lib/libmysqlclient${libExt}) + rm "$out"/lib/{libmariadb${libExt},libmysqlclient${libExt},libmysqlclient_r${libExt}} + mv "$libmysqlclient_path" "$out"/lib/libmysqlclient${libExt} + ln -sv libmysqlclient${libExt} "$out"/lib/libmysqlclient_r${libExt} + ''; + } + ); - server = stdenv.mkDerivation (common // { - pname = "mariadb-server"; + server = stdenv.mkDerivation ( + common + // { + pname = "mariadb-server"; - nativeBuildInputs = common.nativeBuildInputs ++ [ bison boost.dev flex ]; + nativeBuildInputs = common.nativeBuildInputs ++ [ + bison + boost.dev + flex + ]; - buildInputs = common.buildInputs ++ [ - bzip2 lz4 lzo snappy xz zstd - cracklib judy libevent libxml2 - ] ++ lib.optional withNuma numactl - ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv - ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ] - ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; + buildInputs = + common.buildInputs + ++ [ + bzip2 + lz4 + lzo + snappy + xz + zstd + cracklib + judy + libevent + libxml2 + ] + ++ lib.optional withNuma numactl + ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] + ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv + ++ lib.optionals withStorageMroonga [ + kytea + libsodium + msgpack + zeromq + ] + ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; - propagatedBuildInputs = lib.optional withNuma numactl; + propagatedBuildInputs = lib.optional withNuma numactl; - postPatch = '' - substituteInPlace scripts/galera_new_cluster.sh \ - --replace ":-mariadb" ":-mysql" - ''; + postPatch = '' + substituteInPlace scripts/galera_new_cluster.sh \ + --replace ":-mariadb" ":-mysql" + ''; - cmakeFlags = common.cmakeFlags ++ [ - "-DMYSQL_DATADIR=/var/lib/mysql" - "-DENABLED_LOCAL_INFILE=OFF" - "-DWITH_READLINE=ON" - "-DWITH_EXTRA_CHARSETS=all" - "-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}" - "-DWITH_UNIT_TESTS=OFF" - "-DWITH_WSREP=ON" - "-DWITH_INNODB_DISALLOW_WRITES=ON" - "-DWITHOUT_EXAMPLE=1" - "-DWITHOUT_FEDERATED=1" - "-DWITHOUT_TOKUDB=1" - ] ++ lib.optionals withNuma [ - "-DWITH_NUMA=ON" - ] ++ lib.optionals (!withStorageMroonga) [ - "-DWITHOUT_MROONGA=1" - ] ++ lib.optionals (!withStorageRocks) [ - "-DWITHOUT_ROCKSDB=1" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ - "-DWITH_ROCKSDB_JEMALLOC=ON" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "-DWITH_JEMALLOC=yes" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DPLUGIN_AUTH_PAM=NO" - "-DPLUGIN_AUTH_PAM_V1=NO" - "-DWITHOUT_OQGRAPH=1" - "-DWITHOUT_PLUGIN_S3=1" - ]; + cmakeFlags = + common.cmakeFlags + ++ [ + "-DMYSQL_DATADIR=/var/lib/mysql" + "-DENABLED_LOCAL_INFILE=OFF" + "-DWITH_READLINE=ON" + "-DWITH_EXTRA_CHARSETS=all" + "-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}" + "-DWITH_UNIT_TESTS=OFF" + "-DWITH_WSREP=ON" + "-DWITH_INNODB_DISALLOW_WRITES=ON" + "-DWITHOUT_EXAMPLE=1" + "-DWITHOUT_FEDERATED=1" + "-DWITHOUT_TOKUDB=1" + ] + ++ lib.optionals withNuma [ + "-DWITH_NUMA=ON" + ] + ++ lib.optionals (!withStorageMroonga) [ + "-DWITHOUT_MROONGA=1" + ] + ++ lib.optionals (!withStorageRocks) [ + "-DWITHOUT_ROCKSDB=1" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ + "-DWITH_ROCKSDB_JEMALLOC=ON" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "-DWITH_JEMALLOC=yes" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DPLUGIN_AUTH_PAM=NO" + "-DPLUGIN_AUTH_PAM_V1=NO" + "-DWITHOUT_OQGRAPH=1" + "-DWITHOUT_PLUGIN_S3=1" + ]; - preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - patchShebangs scripts/mytop.sh - ''; + preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + patchShebangs scripts/mytop.sh + ''; - postInstall = common.postInstall + '' - rm -r "$out"/share/aclocal - chmod +x "$out"/bin/wsrep_sst_common - rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} - '' + lib.optionalString withStorageMroonga '' - mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' - mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security - mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security - rm -r "$out"/OFF - ''; + postInstall = + common.postInstall + + '' + rm -r "$out"/share/aclocal + chmod +x "$out"/bin/wsrep_sst_common + rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} + '' + + lib.optionalString withStorageMroonga '' + mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' + mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security + mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security + rm -r "$out"/OFF + ''; - CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; - }); - in - server // { + CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; + } + ); + in + server + // { inherit client server; }; in - self: { - # see https://mariadb.org/about/#maintenance-policy for EOLs - mariadb_105 = self.callPackage generic { - # Supported until 2025-06-24 - version = "10.5.27"; - hash = "sha256-76ZPpfczuCKrGmeV4evBecFgwIaQ7Ncduh6w9hru3RQ="; - inherit (self.darwin.apple_sdk.frameworks) CoreServices; - }; - mariadb_106 = self.callPackage generic { - # Supported until 2026-07-06 - version = "10.6.20"; - hash = "sha256-R/BavH2+uz8msx51AisbOWnbvEdSxK5wH4kgpgSJbUE="; - inherit (self.darwin.apple_sdk.frameworks) CoreServices; - }; - mariadb_1011 = self.callPackage generic { - # Supported until 2028-02-16 - version = "10.11.10"; - hash = "sha256-sGp0ZQuDoWqpqwmJhEgrAo51sABnSxH/KIdyxhmm8CI="; - inherit (self.darwin.apple_sdk.frameworks) CoreServices; - }; - mariadb_114 = self.callPackage generic { - # Supported until 2029-05-29 - version = "11.4.4"; - hash = "sha256-lvvS5uk/t+izc+6nXYW2/qV8DhEaAgkMu+/tUlmdx3s="; - inherit (self.darwin.apple_sdk.frameworks) CoreServices; - }; - } +self: { + # see https://mariadb.org/about/#maintenance-policy for EOLs + mariadb_105 = self.callPackage generic { + # Supported until 2025-06-24 + version = "10.5.27"; + hash = "sha256-76ZPpfczuCKrGmeV4evBecFgwIaQ7Ncduh6w9hru3RQ="; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_106 = self.callPackage generic { + # Supported until 2026-07-06 + version = "10.6.20"; + hash = "sha256-R/BavH2+uz8msx51AisbOWnbvEdSxK5wH4kgpgSJbUE="; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_1011 = self.callPackage generic { + # Supported until 2028-02-16 + version = "10.11.10"; + hash = "sha256-sGp0ZQuDoWqpqwmJhEgrAo51sABnSxH/KIdyxhmm8CI="; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_114 = self.callPackage generic { + # Supported until 2029-05-29 + version = "11.4.4"; + hash = "sha256-lvvS5uk/t+izc+6nXYW2/qV8DhEaAgkMu+/tUlmdx3s="; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; +} diff --git a/pkgs/servers/sql/mssql/jdbc/default.nix b/pkgs/servers/sql/mssql/jdbc/default.nix index 2a8be0d6ac6ec..d822ddc7f3155 100644 --- a/pkgs/servers/sql/mssql/jdbc/default.nix +++ b/pkgs/servers/sql/mssql/jdbc/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "mssql-jdbc"; diff --git a/pkgs/servers/sql/mssql/jdbc/jtds.nix b/pkgs/servers/sql/mssql/jdbc/jtds.nix index 71561409c7582..91b3dfd03ba27 100644 --- a/pkgs/servers/sql/mssql/jdbc/jtds.nix +++ b/pkgs/servers/sql/mssql/jdbc/jtds.nix @@ -1,4 +1,9 @@ -{lib, stdenv, fetchurl, unzip}: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "jtds"; diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix index e4427a495680c..dedefb65da869 100644 --- a/pkgs/servers/sql/mysql/8.0.x.nix +++ b/pkgs/servers/sql/mysql/8.0.x.nix @@ -1,6 +1,32 @@ -{ lib, stdenv, fetchurl, bison, cmake, pkg-config -, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib, zstd, libfido2 -, numactl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl, DarwinTools, nixosTests +{ + lib, + stdenv, + fetchurl, + bison, + cmake, + pkg-config, + boost, + icu, + libedit, + libevent, + lz4, + ncurses, + openssl, + protobuf, + re2, + readline, + zlib, + zstd, + libfido2, + numactl, + cctools, + CoreServices, + developer_cmds, + libtirpc, + rpcsvc-proto, + curl, + DarwinTools, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -12,8 +38,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-At/ZQ/lnQvf5zXiFWzJwjqTfVIycFK+Sc4F/O72dIrI="; }; - nativeBuildInputs = [ bison cmake pkg-config ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ]; + nativeBuildInputs = [ + bison + cmake + pkg-config + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ]; patches = [ ./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch @@ -25,16 +54,38 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool ''; - buildInputs = [ - boost (curl.override { inherit openssl; }) icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib - zstd libfido2 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - numactl libtirpc - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - cctools CoreServices developer_cmds DarwinTools - ]; + buildInputs = + [ + boost + (curl.override { inherit openssl; }) + icu + libedit + libevent + lz4 + ncurses + openssl + protobuf + re2 + readline + zlib + zstd + libfido2 + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + numactl + libtirpc + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + CoreServices + developer_cmds + DarwinTools + ]; - outputs = [ "out" "static" ]; + outputs = [ + "out" + "static" + ]; cmakeFlags = [ "-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin. diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 56c0158eca6d1..c964767ccf5fe 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -16,14 +16,18 @@ let postgresql_17 = ./17.nix; }; - mkAttributes = jitSupport: - self.lib.mapAttrs' (version: path: + mkAttributes = + jitSupport: + self.lib.mapAttrs' ( + version: path: let attrName = if jitSupport then "${version}_jit" else version; in - self.lib.nameValuePair attrName (import path { - inherit jitSupport self; - }) + self.lib.nameValuePair attrName ( + import path { + inherit jitSupport self; + } + ) ) versions; in diff --git a/pkgs/servers/sql/postgresql/ext/age.nix b/pkgs/servers/sql/postgresql/ext/age.nix index 4811ec01ccb53..ca052c4c7ff78 100644 --- a/pkgs/servers/sql/postgresql/ext/age.nix +++ b/pkgs/servers/sql/postgresql/ext/age.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, bison, fetchFromGitHub, flex, perl, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + bison, + fetchFromGitHub, + flex, + perl, + postgresql, + buildPostgresqlExtension, +}: let hashes = { @@ -18,8 +27,12 @@ buildPostgresqlExtension rec { src = fetchFromGitHub { owner = "apache"; repo = "age"; - rev = "PG${lib.versions.major postgresql.version}/v${builtins.replaceStrings ["."] ["_"] version}"; - hash = hashes.${lib.versions.major postgresql.version} or (throw "Source for Age is not available for ${postgresql.version}"); + rev = "PG${lib.versions.major postgresql.version}/v${ + builtins.replaceStrings [ "." ] [ "_" ] version + }"; + hash = + hashes.${lib.versions.major postgresql.version} + or (throw "Source for Age is not available for ${postgresql.version}"); }; makeFlags = [ @@ -36,22 +49,24 @@ buildPostgresqlExtension rec { dontConfigure = true; - buildPhase = let - postgresqlAge = postgresql.withPackages (ps: [ ps.age ]); - in '' - # The regression tests need to be run in the order specified in the Makefile. - echo -e "include Makefile\nfiles:\n\t@echo \$(REGRESS)" > Makefile.regress - REGRESS_TESTS=$(make -f Makefile.regress files) + buildPhase = + let + postgresqlAge = postgresql.withPackages (ps: [ ps.age ]); + in + '' + # The regression tests need to be run in the order specified in the Makefile. + echo -e "include Makefile\nfiles:\n\t@echo \$(REGRESS)" > Makefile.regress + REGRESS_TESTS=$(make -f Makefile.regress files) - ${lib.getDev postgresql}/lib/pgxs/src/test/regress/pg_regress \ - --inputdir=./ \ - --bindir='${postgresqlAge}/bin' \ - --encoding=UTF-8 \ - --load-extension=age \ - --inputdir=./regress --outputdir=./regress --temp-instance=./regress/instance \ - --port=61958 --dbname=contrib_regression \ - $REGRESS_TESTS - ''; + ${lib.getDev postgresql}/lib/pgxs/src/test/regress/pg_regress \ + --inputdir=./ \ + --bindir='${postgresqlAge}/bin' \ + --encoding=UTF-8 \ + --load-extension=age \ + --inputdir=./regress --outputdir=./regress --temp-instance=./regress/instance \ + --port=61958 --dbname=contrib_regression \ + $REGRESS_TESTS + ''; installPhase = '' touch $out diff --git a/pkgs/servers/sql/postgresql/ext/anonymizer.nix b/pkgs/servers/sql/postgresql/ext/anonymizer.nix index 66de2544eae67..6b6b11cd82ced 100644 --- a/pkgs/servers/sql/postgresql/ext/anonymizer.nix +++ b/pkgs/servers/sql/postgresql/ext/anonymizer.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, pg-dump-anon, postgresql, runtimeShell, jitSupport, llvm, buildPostgresqlExtension, nixosTests }: +{ + lib, + stdenv, + pg-dump-anon, + postgresql, + runtimeShell, + jitSupport, + llvm, + buildPostgresqlExtension, + nixosTests, +}: buildPostgresqlExtension (finalAttrs: { pname = "postgresql_anonymizer"; diff --git a/pkgs/servers/sql/postgresql/ext/apache_datasketches.nix b/pkgs/servers/sql/postgresql/ext/apache_datasketches.nix index 46b5fac3852b4..b93695b932d55 100644 --- a/pkgs/servers/sql/postgresql/ext/apache_datasketches.nix +++ b/pkgs/servers/sql/postgresql/ext/apache_datasketches.nix @@ -1,22 +1,30 @@ -{ stdenv, lib, fetchFromGitHub, postgresql, boost182, postgresqlTestExtension, buildPostgresqlExtension }: +{ + stdenv, + lib, + fetchFromGitHub, + postgresql, + boost182, + postgresqlTestExtension, + buildPostgresqlExtension, +}: let version = "1.7.0"; main_src = fetchFromGitHub { - name = "datasketches-postgresql"; - owner = "apache"; - repo = "datasketches-postgresql"; - rev = "refs/tags/${version}"; - hash = "sha256-W41uAs3W4V7c9O/wBw3rut65bcmY8EdQS1/tPszMGqA="; + name = "datasketches-postgresql"; + owner = "apache"; + repo = "datasketches-postgresql"; + rev = "refs/tags/${version}"; + hash = "sha256-W41uAs3W4V7c9O/wBw3rut65bcmY8EdQS1/tPszMGqA="; }; cpp_src = fetchFromGitHub { - name = "datasketches-cpp"; - owner = "apache"; - repo = "datasketches-cpp"; - rev = "refs/tags/5.0.2"; - hash = "sha256-yGk1OckYipAgLTQK6w6p6EdHMxBIQSjPV/MMND3cDks="; + name = "datasketches-cpp"; + owner = "apache"; + repo = "datasketches-cpp"; + rev = "refs/tags/5.0.2"; + hash = "sha256-yGk1OckYipAgLTQK6w6p6EdHMxBIQSjPV/MMND3cDks="; }; in @@ -24,7 +32,10 @@ buildPostgresqlExtension (finalAttrs: { pname = "apache_datasketches"; inherit version; - srcs = [ main_src cpp_src ]; + srcs = [ + main_src + cpp_src + ]; sourceRoot = main_src.name; @@ -48,9 +59,9 @@ buildPostgresqlExtension (finalAttrs: { meta = { description = "PostgreSQL extension providing approximate algorithms for distinct item counts, quantile estimation and frequent items detection"; longDescription = '' - apache_datasketches is an extension to support approximate algorithms on PostgreSQL. The implementation - is based on the Apache Datasketches CPP library, and provides support for HyperLogLog, - Compressed Probabilistic Counting, KLL, Frequent strings, and Theta sketches. + apache_datasketches is an extension to support approximate algorithms on PostgreSQL. The implementation + is based on the Apache Datasketches CPP library, and provides support for HyperLogLog, + Compressed Probabilistic Counting, KLL, Frequent strings, and Theta sketches. ''; homepage = "https://datasketches.apache.org/"; platforms = postgresql.meta.platforms; diff --git a/pkgs/servers/sql/postgresql/ext/citus.nix b/pkgs/servers/sql/postgresql/ext/citus.nix index 8e46d4addfb47..ec5aa5f90fcf6 100644 --- a/pkgs/servers/sql/postgresql/ext/citus.nix +++ b/pkgs/servers/sql/postgresql/ext/citus.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, curl -, fetchFromGitHub -, lz4 -, postgresql -, buildPostgresqlExtension +{ + lib, + stdenv, + curl, + fetchFromGitHub, + lz4, + postgresql, + buildPostgresqlExtension, }: buildPostgresqlExtension rec { @@ -27,10 +28,12 @@ buildPostgresqlExtension rec { # "Our soft policy for Postgres version compatibility is to support Citus' # latest release with Postgres' 3 latest releases." # https://www.citusdata.com/updates/v12-0/#deprecated_features - broken = versionOlder postgresql.version "14" || - # PostgreSQL 17 support issue upstream: https://github.com/citusdata/citus/issues/7708 - # Check after next package update. - (versionAtLeast postgresql.version "17" && version == "12.1.6"); + broken = + versionOlder postgresql.version "14" + || + # PostgreSQL 17 support issue upstream: https://github.com/citusdata/citus/issues/7708 + # Check after next package update. + (versionAtLeast postgresql.version "17" && version == "12.1.6"); description = "Distributed PostgreSQL as an extension"; homepage = "https://www.citusdata.com/"; changelog = "https://github.com/citusdata/citus/blob/${src.rev}/CHANGELOG.md"; diff --git a/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix b/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix index 4b5499bfe9fa0..232eec17e0ab9 100644 --- a/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix +++ b/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, protobufc, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + protobufc, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "cstore_fdw"; @@ -7,18 +14,18 @@ buildPostgresqlExtension rec { nativeBuildInputs = [ protobufc ]; src = fetchFromGitHub { - owner = "citusdata"; - repo = "cstore_fdw"; - rev = "90e22b62fbee6852529104fdd463f532cf7a3311"; + owner = "citusdata"; + repo = "cstore_fdw"; + rev = "90e22b62fbee6852529104fdd463f532cf7a3311"; sha256 = "sha256-02wcCqs8A5ZOZX080fgcNJTQrYQctnlwnA8+YPaRTZc="; }; meta = with lib; { - broken = versionAtLeast postgresql.version "14"; + broken = versionAtLeast postgresql.version "14"; description = "Columnar storage for PostgreSQL"; - homepage = "https://github.com/citusdata/cstore_fdw"; + homepage = "https://github.com/citusdata/cstore_fdw"; maintainers = with maintainers; [ thoughtpolice ]; - platforms = postgresql.meta.platforms; - license = licenses.asl20; + platforms = postgresql.meta.platforms; + license = licenses.asl20; }; } diff --git a/pkgs/servers/sql/postgresql/ext/h3-pg.nix b/pkgs/servers/sql/postgresql/ext/h3-pg.nix index 3893ea310d8eb..67a1b33c968a1 100644 --- a/pkgs/servers/sql/postgresql/ext/h3-pg.nix +++ b/pkgs/servers/sql/postgresql/ext/h3-pg.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, h3_4 -, postgresql -, postgresqlTestExtension -, buildPostgresqlExtension +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + h3_4, + postgresql, + postgresqlTestExtension, + buildPostgresqlExtension, }: buildPostgresqlExtension (finalAttrs: { @@ -19,16 +20,18 @@ buildPostgresqlExtension (finalAttrs: { hash = "sha256-uZ4XI/VXRr636CI1r24D6ykPQqO5qZNxNQLUQKmoPtg="; }; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace-fail "add_subdirectory(cmake/h3)" "include_directories(${lib.getDev h3_4}/include/h3)" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace cmake/AddPostgreSQLExtension.cmake \ - --replace-fail "INTERPROCEDURAL_OPTIMIZATION TRUE" "" - # Commented upstream: https://github.com/zachasme/h3-pg/pull/141/files#r1844970927 - substituteInPlace cmake/FindPostgreSQL.cmake \ - --replace-fail 'list(APPEND PostgreSQL_INCLUDE_DIRS "/usr/local/include")' "" - ''; + postPatch = + '' + substituteInPlace CMakeLists.txt \ + --replace-fail "add_subdirectory(cmake/h3)" "include_directories(${lib.getDev h3_4}/include/h3)" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace cmake/AddPostgreSQLExtension.cmake \ + --replace-fail "INTERPROCEDURAL_OPTIMIZATION TRUE" "" + # Commented upstream: https://github.com/zachasme/h3-pg/pull/141/files#r1844970927 + substituteInPlace cmake/FindPostgreSQL.cmake \ + --replace-fail 'list(APPEND PostgreSQL_INCLUDE_DIRS "/usr/local/include")' "" + ''; nativeBuildInputs = [ cmake diff --git a/pkgs/servers/sql/postgresql/ext/hypopg.nix b/pkgs/servers/sql/postgresql/ext/hypopg.nix index 3bc868a79f49a..f85a743d9fca2 100644 --- a/pkgs/servers/sql/postgresql/ext/hypopg.nix +++ b/pkgs/servers/sql/postgresql/ext/hypopg.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, gitUpdater, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + gitUpdater, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "hypopg"; diff --git a/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix b/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix index 7fe4f22254f31..dbff8f7e8eb80 100644 --- a/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix +++ b/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "jsonb_deep_sum"; diff --git a/pkgs/servers/sql/postgresql/ext/lantern.nix b/pkgs/servers/sql/postgresql/ext/lantern.nix index 23c7415f3f153..75f653607e4e0 100644 --- a/pkgs/servers/sql/postgresql/ext/lantern.nix +++ b/pkgs/servers/sql/postgresql/ext/lantern.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, openssl -, postgresql -, postgresqlTestExtension -, buildPostgresqlExtension +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + openssl, + postgresql, + postgresqlTestExtension, + buildPostgresqlExtension, }: buildPostgresqlExtension (finalAttrs: { @@ -22,7 +23,7 @@ buildPostgresqlExtension (finalAttrs: { postPatch = '' patchShebangs --build lantern_hnsw/scripts/link_llvm_objects.sh - ''; + ''; nativeBuildInputs = [ cmake @@ -58,6 +59,7 @@ buildPostgresqlExtension (finalAttrs: { maintainers = [ ]; platforms = postgresql.meta.platforms; # error: use of undeclared identifier 'aligned_alloc' - broken = stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13"; + broken = + stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13"; }; }) diff --git a/pkgs/servers/sql/postgresql/ext/periods.nix b/pkgs/servers/sql/postgresql/ext/periods.nix index cc751a49d3c0d..343482d26c7bd 100644 --- a/pkgs/servers/sql/postgresql/ext/periods.nix +++ b/pkgs/servers/sql/postgresql/ext/periods.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "periods"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index 45b8f9562bf23..0d43faa7fe2ec 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_auto_failover"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix index 58dba27e96019..bf05673a54934 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_bigm"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_cron.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix index 2fef4b7c22c39..4803f0a7b7610 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_cron.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix @@ -1,22 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_cron"; version = "1.6.4"; src = fetchFromGitHub { - owner = "citusdata"; - repo = pname; - rev = "v${version}"; - hash = "sha256-t1DpFkPiSfdoGG2NgNT7g1lkvSooZoRoUrix6cBID40="; + owner = "citusdata"; + repo = pname; + rev = "v${version}"; + hash = "sha256-t1DpFkPiSfdoGG2NgNT7g1lkvSooZoRoUrix6cBID40="; }; meta = with lib; { description = "Run Cron jobs through PostgreSQL"; - homepage = "https://github.com/citusdata/pg_cron"; - changelog = "https://github.com/citusdata/pg_cron/releases/tag/v${version}"; + homepage = "https://github.com/citusdata/pg_cron"; + changelog = "https://github.com/citusdata/pg_cron/releases/tag/v${version}"; maintainers = with maintainers; [ thoughtpolice ]; - platforms = postgresql.meta.platforms; - license = licenses.postgresql; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_ed25519.nix b/pkgs/servers/sql/postgresql/ext/pg_ed25519.nix index c815a02229e81..fc64df1db4994 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_ed25519.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_ed25519.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitLab, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitLab, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_ed25519"; @@ -20,4 +26,3 @@ buildPostgresqlExtension rec { broken = lib.versionAtLeast postgresql.version "16" && stdenv.cc.isClang; }; } - diff --git a/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix b/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix index 5adf5486113f9..20d31530164e0 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix @@ -1,32 +1,41 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: let - source = { - "17" = { - version = "1.7.0"; - hash = "sha256-MNQMePDmGxC8OFIJuVJrhfgU566vkng00+tjeGpGKvs="; - }; - "16" = { - version = "1.6.0"; - hash = "sha256-lg7N0QblluTgtNo1tGZjirNJSyQXtcAEs9Jqd3zx0Sg="; - }; - "15" = { - version = "1.5.1"; - hash = "sha256-o8Hepf/Mc1ClRTLZ6PBdqU4jSdlz+ijVgl2vJKmIc6M="; - }; - "14" = { - version = "1.4.2"; - hash = "sha256-nGyKcNY57RdQdZKSaBPk2/YbT0Annz1ZevH0lKswdhA="; - }; - "13" = { - version = "1.3.9"; - hash = "sha256-KGcHDwk8CgNHPZARfLBfS8r7TRCP9LPjT+m4fNSnnW0="; - }; - "12" = { - version = "1.3.9"; - hash = "sha256-64/dlm6e4flCxMQ8efsxfKSlja+Tko0zsghTgLatN+Y="; - }; - }.${lib.versions.major postgresql.version} or (throw "Source for pg_hint_plan is not available for ${postgresql.version}"); + source = + { + "17" = { + version = "1.7.0"; + hash = "sha256-MNQMePDmGxC8OFIJuVJrhfgU566vkng00+tjeGpGKvs="; + }; + "16" = { + version = "1.6.0"; + hash = "sha256-lg7N0QblluTgtNo1tGZjirNJSyQXtcAEs9Jqd3zx0Sg="; + }; + "15" = { + version = "1.5.1"; + hash = "sha256-o8Hepf/Mc1ClRTLZ6PBdqU4jSdlz+ijVgl2vJKmIc6M="; + }; + "14" = { + version = "1.4.2"; + hash = "sha256-nGyKcNY57RdQdZKSaBPk2/YbT0Annz1ZevH0lKswdhA="; + }; + "13" = { + version = "1.3.9"; + hash = "sha256-KGcHDwk8CgNHPZARfLBfS8r7TRCP9LPjT+m4fNSnnW0="; + }; + "12" = { + version = "1.3.9"; + hash = "sha256-64/dlm6e4flCxMQ8efsxfKSlja+Tko0zsghTgLatN+Y="; + }; + } + .${lib.versions.major postgresql.version} + or (throw "Source for pg_hint_plan is not available for ${postgresql.version}"); in buildPostgresqlExtension { pname = "pg_hint_plan"; @@ -35,7 +44,9 @@ buildPostgresqlExtension { src = fetchFromGitHub { owner = "ossc-db"; repo = "pg_hint_plan"; - rev = "REL${lib.versions.major postgresql.version}_${builtins.replaceStrings ["."] ["_"] source.version}"; + rev = "REL${lib.versions.major postgresql.version}_${ + builtins.replaceStrings [ "." ] [ "_" ] source.version + }"; inherit (source) hash; }; diff --git a/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix index 4a754bf81a9fe..709424365e7cd 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_hll.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix @@ -1,22 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_hll"; version = "2.18"; src = fetchFromGitHub { - owner = "citusdata"; - repo = "postgresql-hll"; - rev = "refs/tags/v${version}"; - hash = "sha256-Latdxph1Ura8yKEokEjalJ+/GY+pAKOT3GXjuLprj6c="; + owner = "citusdata"; + repo = "postgresql-hll"; + rev = "refs/tags/v${version}"; + hash = "sha256-Latdxph1Ura8yKEokEjalJ+/GY+pAKOT3GXjuLprj6c="; }; meta = with lib; { description = "HyperLogLog for PostgreSQL"; - homepage = "https://github.com/citusdata/postgresql-hll"; - changelog = "https://github.com/citusdata/postgresql-hll/blob/v${version}/CHANGELOG.md"; + homepage = "https://github.com/citusdata/postgresql-hll"; + changelog = "https://github.com/citusdata/postgresql-hll/blob/v${version}/CHANGELOG.md"; maintainers = with maintainers; [ thoughtpolice ]; - platforms = postgresql.meta.platforms; - license = licenses.asl20; + platforms = postgresql.meta.platforms; + license = licenses.asl20; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix index 3abf23077bb2d..675eab8fee5c1 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_ivm"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_libversion.nix b/pkgs/servers/sql/postgresql/ext/pg_libversion.nix index 174a8ffc8993a..2360944e555d6 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_libversion.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_libversion.nix @@ -1,11 +1,12 @@ - { lib -, stdenv -, fetchFromGitHub -, gitUpdater -, pkg-config -, postgresql -, libversion -, buildPostgresqlExtension +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + pkg-config, + postgresql, + libversion, + buildPostgresqlExtension, }: buildPostgresqlExtension (finalAttrs: { @@ -37,4 +38,3 @@ buildPostgresqlExtension (finalAttrs: { platforms = postgresql.meta.platforms; }; }) - diff --git a/pkgs/servers/sql/postgresql/ext/pg_net.nix b/pkgs/servers/sql/postgresql/ext/pg_net.nix index be7a6da5d633a..efe4c6c765bc6 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_net.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_net.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, curl, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_net"; @@ -7,20 +14,20 @@ buildPostgresqlExtension rec { buildInputs = [ curl ]; src = fetchFromGitHub { - owner = "supabase"; - repo = pname; - rev = "refs/tags/v${version}"; - hash = "sha256-FRaTZPCJQPYAFmsJg22hYJJ0+gH1tMdDQoCQgiqEnaA="; + owner = "supabase"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-FRaTZPCJQPYAFmsJg22hYJJ0+gH1tMdDQoCQgiqEnaA="; }; env.NIX_CFLAGS_COMPILE = "-Wno-error"; meta = with lib; { description = "Async networking for Postgres"; - homepage = "https://github.com/supabase/pg_net"; - changelog = "https://github.com/supabase/pg_net/releases/tag/v${version}"; + homepage = "https://github.com/supabase/pg_net"; + changelog = "https://github.com/supabase/pg_net/releases/tag/v${version}"; maintainers = with maintainers; [ thoughtpolice ]; - platforms = postgresql.meta.platforms; - license = licenses.postgresql; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix index 765599e00f1d4..6e326538fe5a0 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix @@ -1,23 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_partman"; version = "5.2.1"; src = fetchFromGitHub { - owner = "pgpartman"; - repo = pname; - rev = "refs/tags/v${version}"; + owner = "pgpartman"; + repo = pname; + rev = "refs/tags/v${version}"; sha256 = "sha256-DdF1UwfeAM4tlcvdXaiz28JA2UwNwPpXnSw5D9eZDlQ="; }; meta = with lib; { description = "Partition management extension for PostgreSQL"; - homepage = "https://github.com/pgpartman/pg_partman"; - changelog = "https://github.com/pgpartman/pg_partman/blob/v${version}/CHANGELOG.md"; + homepage = "https://github.com/pgpartman/pg_partman"; + changelog = "https://github.com/pgpartman/pg_partman/blob/v${version}/CHANGELOG.md"; maintainers = with maintainers; [ ggpeti ]; - platforms = postgresql.meta.platforms; - license = licenses.postgresql; - broken = versionOlder postgresql.version "14"; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; + broken = versionOlder postgresql.version "14"; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_rational.nix b/pkgs/servers/sql/postgresql/ext/pg_rational.nix index 084c51e7846e0..d2131b9f8c786 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_rational.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_rational.nix @@ -1,8 +1,9 @@ -{ stdenv -, fetchFromGitHub -, lib -, postgresql -, buildPostgresqlExtension +{ + stdenv, + fetchFromGitHub, + lib, + postgresql, + buildPostgresqlExtension, }: buildPostgresqlExtension rec { @@ -10,17 +11,17 @@ buildPostgresqlExtension rec { version = "0.0.2"; src = fetchFromGitHub { - owner = "begriffs"; - repo = "pg_rational"; - rev = "v${version}"; + owner = "begriffs"; + repo = "pg_rational"; + rev = "v${version}"; sha256 = "sha256-Sp5wuX2nP3KGyWw7MFa11rI1CPIKIWBt8nvBSsASIEw="; }; meta = with lib; { description = "Precise fractional arithmetic for PostgreSQL"; - homepage = "https://github.com/begriffs/pg_rational"; + homepage = "https://github.com/begriffs/pg_rational"; maintainers = with maintainers; [ netcrns ]; - platforms = postgresql.meta.platforms; - license = licenses.mit; + platforms = postgresql.meta.platforms; + license = licenses.mit; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_relusage.nix b/pkgs/servers/sql/postgresql/ext/pg_relusage.nix index 1dc879275ca76..4379dc1ffdc91 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_relusage.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_relusage.nix @@ -1,21 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_relusage"; version = "0.0.1"; src = fetchFromGitHub { - owner = "adept"; - repo = pname; - rev = "refs/tags/${version}"; + owner = "adept"; + repo = pname; + rev = "refs/tags/${version}"; sha256 = "8hJNjQ9MaBk3J9a73l+yQMwMW/F2N8vr5PO2o+5GvYs="; }; meta = with lib; { description = "pg_relusage extension for PostgreSQL: discover and log the relations used in your statements"; - homepage = "https://github.com/adept/pg_relusage"; + homepage = "https://github.com/adept/pg_relusage"; maintainers = with maintainers; [ thenonameguy ]; - platforms = postgresql.meta.platforms; - license = licenses.postgresql; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_repack.nix b/pkgs/servers/sql/postgresql/ext/pg_repack.nix index 7c70294de1307..c7d0ab33f69de 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_repack.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_repack.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, postgresql -, postgresqlTestExtension -, testers -, buildPostgresqlExtension +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + postgresqlTestExtension, + testers, + buildPostgresqlExtension, }: buildPostgresqlExtension (finalAttrs: { diff --git a/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix b/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix index 644548f4ed987..eeade122d1e16 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, postgresqlTestHook, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + postgresqlTestHook, + buildPostgresqlExtension, +}: buildPostgresqlExtension (finalAttrs: { pname = "pg_roaringbitmap"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix index 14d4db4159232..17ffa9a672034 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: with { "12" = { @@ -25,25 +31,27 @@ with { version = "1.5"; sha256 = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs="; }; -}."${lib.versions.major postgresql.version}" or (throw "pg_safeupdate: version specification for pg ${postgresql.version} missing."); +} +."${lib.versions.major postgresql.version}" + or (throw "pg_safeupdate: version specification for pg ${postgresql.version} missing."); buildPostgresqlExtension rec { pname = "pg-safeupdate"; inherit version; src = fetchFromGitHub { - owner = "eradman"; - repo = pname; - rev = version; + owner = "eradman"; + repo = pname; + rev = version; inherit sha256; }; meta = with lib; { description = "Simple extension to PostgreSQL that requires criteria for UPDATE and DELETE"; - homepage = "https://github.com/eradman/pg-safeupdate"; - changelog = "https://github.com/eradman/pg-safeupdate/raw/${src.rev}/NEWS"; - platforms = postgresql.meta.platforms; + homepage = "https://github.com/eradman/pg-safeupdate"; + changelog = "https://github.com/eradman/pg-safeupdate/raw/${src.rev}/NEWS"; + platforms = postgresql.meta.platforms; maintainers = with maintainers; [ wolfgangwalther ]; - license = licenses.postgresql; + license = licenses.postgresql; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_similarity.nix b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix index 19441807b5155..41b663864ba29 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_similarity.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, postgresql, buildPostgresqlExtension }: +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension { pname = "pg_similarity"; @@ -26,9 +33,9 @@ buildPostgresqlExtension { meta = { description = "Extension to support similarity queries on PostgreSQL"; longDescription = '' - pg_similarity is an extension to support similarity queries on PostgreSQL. The implementation - is tightly integrated in the RDBMS in the sense that it defines operators so instead of the traditional - operators (= and <>) you can use ~~~ and ~!~ (any of these operators represents a similarity function). + pg_similarity is an extension to support similarity queries on PostgreSQL. The implementation + is tightly integrated in the RDBMS in the sense that it defines operators so instead of the traditional + operators (= and <>) you can use ~~~ and ~!~ (any of these operators represents a similarity function). ''; platforms = postgresql.meta.platforms; license = lib.licenses.bsd3; diff --git a/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix b/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix index fa4225f3389d9..13bbd7a330b7d 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_squeeze.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, postgresqlTestExtension, buildPostgresqlExtension, nix-update-script }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + postgresqlTestExtension, + buildPostgresqlExtension, + nix-update-script, +}: buildPostgresqlExtension (finalAttrs: { pname = "pg_squeeze"; - version = "${builtins.replaceStrings ["_"] ["."] (lib.strings.removePrefix "REL" finalAttrs.src.rev)}"; + version = "${builtins.replaceStrings [ "_" ] [ "." ] ( + lib.strings.removePrefix "REL" finalAttrs.src.rev + )}"; src = fetchFromGitHub { owner = "cybertec-postgresql"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_topn.nix b/pkgs/servers/sql/postgresql/ext/pg_topn.nix index 8c6aa60be32aa..3271c6ac7a685 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_topn.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_topn.nix @@ -1,22 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pg_topn"; version = "2.7.0"; src = fetchFromGitHub { - owner = "citusdata"; - repo = "postgresql-topn"; - rev = "refs/tags/v${version}"; + owner = "citusdata"; + repo = "postgresql-topn"; + rev = "refs/tags/v${version}"; sha256 = "sha256-lP6Iil/BUv4ga+co+oBpKv1FBqFuBGfNjueEolM6png="; }; meta = with lib; { description = "Efficient querying of 'top values' for PostgreSQL"; - homepage = "https://github.com/citusdata/postgresql-topn"; - changelog = "https://github.com/citusdata/postgresql-topn/raw/v${version}/CHANGELOG.md"; + homepage = "https://github.com/citusdata/postgresql-topn"; + changelog = "https://github.com/citusdata/postgresql-topn/raw/v${version}/CHANGELOG.md"; maintainers = with maintainers; [ thoughtpolice ]; - platforms = postgresql.meta.platforms; - license = licenses.agpl3Only; + platforms = postgresql.meta.platforms; + license = licenses.agpl3Only; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix b/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix index 7418b833716d0..a11332dd6192d 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, postgresql -, buildPostgresqlExtension +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, }: buildPostgresqlExtension rec { diff --git a/pkgs/servers/sql/postgresql/ext/pgaudit.nix b/pkgs/servers/sql/postgresql/ext/pgaudit.nix index 91c081eaf9550..13e5ad29ff4a0 100644 --- a/pkgs/servers/sql/postgresql/ext/pgaudit.nix +++ b/pkgs/servers/sql/postgresql/ext/pgaudit.nix @@ -1,32 +1,43 @@ -{ lib, stdenv, fetchFromGitHub, libkrb5, openssl, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + libkrb5, + openssl, + postgresql, + buildPostgresqlExtension, +}: let - source = { - "17" = { - version = "17.0"; - hash = "sha256-3ksq09wiudQPuBQI3dhEQi8IkXKLVIsPFgBnwLiicro="; - }; - "16" = { - version = "16.0"; - hash = "sha256-8+tGOl1U5y9Zgu+9O5UDDE4bec4B0JC/BQ6GLhHzQzc="; - }; - "15" = { - version = "1.7.0"; - hash = "sha256-8pShPr4HJaJQPjW1iPJIpj3CutTx8Tgr+rOqoXtgCcw="; - }; - "14" = { - version = "1.6.2"; - hash = "sha256-Bl7Jk2B0deZUDiI391vk4nilwuVGHd1wuaQRSCoA3Mk="; - }; - "13" = { - version = "1.5.2"; - hash = "sha256-fyf2Ym0fAAXjc28iFCGDEftPAyDLXmEgi/0DaTJJiIg="; - }; - "12" = { - version = "1.4.3"; - hash = "sha256-c8/xUFIHalu2bMCs57DeylK0oW0VnQwmUCpdp+tYqk4="; - }; - }.${lib.versions.major postgresql.version} or (throw "Source for pgaudit is not available for ${postgresql.version}"); + source = + { + "17" = { + version = "17.0"; + hash = "sha256-3ksq09wiudQPuBQI3dhEQi8IkXKLVIsPFgBnwLiicro="; + }; + "16" = { + version = "16.0"; + hash = "sha256-8+tGOl1U5y9Zgu+9O5UDDE4bec4B0JC/BQ6GLhHzQzc="; + }; + "15" = { + version = "1.7.0"; + hash = "sha256-8pShPr4HJaJQPjW1iPJIpj3CutTx8Tgr+rOqoXtgCcw="; + }; + "14" = { + version = "1.6.2"; + hash = "sha256-Bl7Jk2B0deZUDiI391vk4nilwuVGHd1wuaQRSCoA3Mk="; + }; + "13" = { + version = "1.5.2"; + hash = "sha256-fyf2Ym0fAAXjc28iFCGDEftPAyDLXmEgi/0DaTJJiIg="; + }; + "12" = { + version = "1.4.3"; + hash = "sha256-c8/xUFIHalu2bMCs57DeylK0oW0VnQwmUCpdp+tYqk4="; + }; + } + .${lib.versions.major postgresql.version} + or (throw "Source for pgaudit is not available for ${postgresql.version}"); in buildPostgresqlExtension { pname = "pgaudit"; @@ -39,7 +50,10 @@ buildPostgresqlExtension { hash = source.hash; }; - buildInputs = [ libkrb5 openssl ]; + buildInputs = [ + libkrb5 + openssl + ]; makeFlags = [ "USE_PGXS=1" ]; diff --git a/pkgs/servers/sql/postgresql/ext/pgjwt.nix b/pkgs/servers/sql/postgresql/ext/pgjwt.nix index b0a75a44fcfc8..9b3afd821dbd9 100644 --- a/pkgs/servers/sql/postgresql/ext/pgjwt.nix +++ b/pkgs/servers/sql/postgresql/ext/pgjwt.nix @@ -1,13 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, unstableGitUpdater, nixosTests, postgresqlTestExtension, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + unstableGitUpdater, + nixosTests, + postgresqlTestExtension, + buildPostgresqlExtension, +}: buildPostgresqlExtension (finalAttrs: { pname = "pgjwt"; version = "0-unstable-2023-03-02"; src = fetchFromGitHub { - owner = "michelp"; - repo = "pgjwt"; - rev = "f3d82fd30151e754e19ce5d6a06c71c20689ce3d"; + owner = "michelp"; + repo = "pgjwt"; + rev = "f3d82fd30151e754e19ce5d6a06c71c20689ce3d"; sha256 = "sha256-nDZEDf5+sFc1HDcG2eBNQj+kGcdAYRXJseKi9oww+JU="; }; @@ -32,6 +41,6 @@ buildPostgresqlExtension (finalAttrs: { ''; license = licenses.mit; platforms = postgresql.meta.platforms; - maintainers = with maintainers; [spinus]; + maintainers = with maintainers; [ spinus ]; }; }) diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix index ac778ec5d9800..028ec517f56f7 100644 --- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix +++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, postgresql, msgpack-c, groonga, buildPostgresqlExtension, xxHash }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + postgresql, + msgpack-c, + groonga, + buildPostgresqlExtension, + xxHash, +}: buildPostgresqlExtension rec { pname = "pgroonga"; @@ -12,7 +22,11 @@ buildPostgresqlExtension rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ msgpack-c groonga xxHash ]; + buildInputs = [ + msgpack-c + groonga + xxHash + ]; makeFlags = [ "HAVE_XXHASH=1" diff --git a/pkgs/servers/sql/postgresql/ext/pgrouting.nix b/pkgs/servers/sql/postgresql/ext/pgrouting.nix index 9a1c940b28888..9c480c4c91acb 100644 --- a/pkgs/servers/sql/postgresql/ext/pgrouting.nix +++ b/pkgs/servers/sql/postgresql/ext/pgrouting.nix @@ -1,25 +1,37 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, perl, cmake, boost, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + perl, + cmake, + boost, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pgrouting"; version = "3.7.0"; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ + cmake + perl + ]; buildInputs = [ boost ]; src = fetchFromGitHub { - owner = "pgRouting"; - repo = "pgrouting"; - rev = "v${version}"; - hash = "sha256-IwH8bEdyJyPMFYtCfWLRr+jVmS5sOr5QFOhGykGPYh4="; + owner = "pgRouting"; + repo = "pgrouting"; + rev = "v${version}"; + hash = "sha256-IwH8bEdyJyPMFYtCfWLRr+jVmS5sOr5QFOhGykGPYh4="; }; meta = with lib; { description = "PostgreSQL/PostGIS extension that provides geospatial routing functionality"; - homepage = "https://pgrouting.org/"; - changelog = "https://github.com/pgRouting/pgrouting/releases/tag/v${version}"; + homepage = "https://pgrouting.org/"; + changelog = "https://github.com/pgRouting/pgrouting/releases/tag/v${version}"; maintainers = with maintainers; teams.geospatial.members ++ [ steve-chavez ]; - platforms = postgresql.meta.platforms; - license = licenses.gpl2Plus; + platforms = postgresql.meta.platforms; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pgsodium.nix b/pkgs/servers/sql/postgresql/ext/pgsodium.nix index 9e72787c56ee2..c92cd819cafe5 100644 --- a/pkgs/servers/sql/postgresql/ext/pgsodium.nix +++ b/pkgs/servers/sql/postgresql/ext/pgsodium.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, libsodium -, postgresql -, postgresqlTestExtension -, buildPostgresqlExtension +{ + lib, + stdenv, + fetchFromGitHub, + libsodium, + postgresql, + postgresqlTestExtension, + buildPostgresqlExtension, }: buildPostgresqlExtension (finalAttrs: { diff --git a/pkgs/servers/sql/postgresql/ext/pgsql-http.nix b/pkgs/servers/sql/postgresql/ext/pgsql-http.nix index 11aa6dfec7487..50daa0d3e826f 100644 --- a/pkgs/servers/sql/postgresql/ext/pgsql-http.nix +++ b/pkgs/servers/sql/postgresql/ext/pgsql-http.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, curl, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pgsql-http"; diff --git a/pkgs/servers/sql/postgresql/ext/pgtap.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix index b09734c5f07dc..314b1530583da 100644 --- a/pkgs/servers/sql/postgresql/ext/pgtap.nix +++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildPostgresqlExtension -, fetchFromGitHub -, perl -, perlPackages -, postgresql -, postgresqlTestHook -, which +{ + lib, + stdenv, + buildPostgresqlExtension, + fetchFromGitHub, + perl, + perlPackages, + postgresql, + postgresqlTestHook, + which, }: buildPostgresqlExtension (finalAttrs: { @@ -20,13 +21,21 @@ buildPostgresqlExtension (finalAttrs: { sha256 = "sha256-YgvfLGF7pLVcCKD66NnWAydDxtoYHH1DpLiYTEKHJ0E="; }; - nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ]; + nativeBuildInputs = [ + postgresql + perl + perlPackages.TAPParserSourceHandlerpgTAP + which + ]; passthru.tests.extension = stdenv.mkDerivation { name = "pgtap-test"; dontUnpack = true; doCheck = true; - nativeCheckInputs = [ postgresqlTestHook (postgresql.withPackages (_: [ finalAttrs.finalPackage ])) ]; + nativeCheckInputs = [ + postgresqlTestHook + (postgresql.withPackages (_: [ finalAttrs.finalPackage ])) + ]; passAsFile = [ "sql" ]; sql = '' CREATE EXTENSION pgtap; diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix index eed91a3a8c458..3eb06fc9b06ca 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvector.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "pgvector"; diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix index 8d10de848f1bb..86095dd7a6e52 100644 --- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix +++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, postgresqlTestExtension, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + postgresqlTestExtension, + buildPostgresqlExtension, +}: buildPostgresqlExtension (finalAttrs: { pname = "plpgsql-check"; diff --git a/pkgs/servers/sql/postgresql/ext/plr.nix b/pkgs/servers/sql/postgresql/ext/plr.nix index 2aece8cee9d18..c1148bf92c395 100644 --- a/pkgs/servers/sql/postgresql/ext/plr.nix +++ b/pkgs/servers/sql/postgresql/ext/plr.nix @@ -1,8 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, R, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + R, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "plr"; - version = "${builtins.replaceStrings ["_"] ["."] (lib.strings.removePrefix "REL" src.rev)}"; + version = "${builtins.replaceStrings [ "_" ] [ "." ] (lib.strings.removePrefix "REL" src.rev)}"; src = fetchFromGitHub { owner = "postgres-plr"; diff --git a/pkgs/servers/sql/postgresql/ext/plv8/default.nix b/pkgs/servers/sql/postgresql/ext/plv8/default.nix index e9a9195078ed7..3e00db9400fe1 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8/default.nix +++ b/pkgs/servers/sql/postgresql/ext/plv8/default.nix @@ -1,20 +1,22 @@ -{ stdenv -, lib -, fetchFromGitHub -, nodejs_20 -, perl -, postgresql -, jitSupport -, buildPostgresqlExtension -# For test -, runCommand -, coreutils -, gnugrep +{ + stdenv, + lib, + fetchFromGitHub, + nodejs_20, + perl, + postgresql, + jitSupport, + buildPostgresqlExtension, + # For test + runCommand, + coreutils, + gnugrep, }: let libv8 = nodejs_20.libv8; -in buildPostgresqlExtension (finalAttrs: { +in +buildPostgresqlExtension (finalAttrs: { pname = "plv8"; version = "3.2.3"; @@ -61,13 +63,16 @@ in buildPostgresqlExtension (finalAttrs: { postgresqlWithSelf = postgresql.withPackages (_: [ finalAttrs.finalPackage ]); - in { - smoke = runCommand "plv8-smoke-test" {} '' - export PATH=${lib.makeBinPath [ - postgresqlWithSelf - coreutils - gnugrep - ]} + in + { + smoke = runCommand "plv8-smoke-test" { } '' + export PATH=${ + lib.makeBinPath [ + postgresqlWithSelf + coreutils + gnugrep + ] + } db="$PWD/testdb" initdb "$db" postgres -k "$db" -D "$db" & @@ -90,7 +95,13 @@ in buildPostgresqlExtension (finalAttrs: { regression = stdenv.mkDerivation { name = "plv8-regression"; - inherit (finalAttrs) src patches nativeBuildInputs buildInputs dontConfigure; + inherit (finalAttrs) + src + patches + nativeBuildInputs + buildInputs + dontConfigure + ; buildPhase = '' runHook preBuild @@ -124,7 +135,10 @@ in buildPostgresqlExtension (finalAttrs: { homepage = "https://plv8.github.io/"; changelog = "https://github.com/plv8/plv8/blob/r${finalAttrs.version}/Changes"; maintainers = [ ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; license = licenses.postgresql; broken = jitSupport; }; diff --git a/pkgs/servers/sql/postgresql/ext/repmgr.nix b/pkgs/servers/sql/postgresql/ext/repmgr.nix index 5cdeaaebc2d23..a80ac369b7d48 100644 --- a/pkgs/servers/sql/postgresql/ext/repmgr.nix +++ b/pkgs/servers/sql/postgresql/ext/repmgr.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, postgresql -, flex -, curl -, json_c -, buildPostgresqlExtension +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + flex, + curl, + json_c, + buildPostgresqlExtension, }: buildPostgresqlExtension rec { @@ -21,7 +22,10 @@ buildPostgresqlExtension rec { nativeBuildInputs = [ flex ]; - buildInputs = postgresql.buildInputs ++ [ curl json_c ]; + buildInputs = postgresql.buildInputs ++ [ + curl + json_c + ]; meta = with lib; { homepage = "https://repmgr.org/"; @@ -31,4 +35,3 @@ buildPostgresqlExtension rec { maintainers = with maintainers; [ zimbatm ]; }; } - diff --git a/pkgs/servers/sql/postgresql/ext/smlar.nix b/pkgs/servers/sql/postgresql/ext/smlar.nix index 478abc1b0b9a4..fa788db081ad5 100644 --- a/pkgs/servers/sql/postgresql/ext/smlar.nix +++ b/pkgs/servers/sql/postgresql/ext/smlar.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchgit, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchgit, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "smlar-unstable"; diff --git a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix index 97d5dec1566cb..56b9c164d74ad 100644 --- a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix +++ b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, freetds, unstableGitUpdater, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + freetds, + unstableGitUpdater, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "tds_fdw"; @@ -7,18 +15,18 @@ buildPostgresqlExtension rec { buildInputs = [ freetds ]; src = fetchFromGitHub { - owner = "tds-fdw"; - repo = "tds_fdw"; - rev = "v${version}"; - hash = "sha256-ruelOHueaHx1royLPvDM8Abd1rQD62R4KXgtHY9qqTw="; + owner = "tds-fdw"; + repo = "tds_fdw"; + rev = "v${version}"; + hash = "sha256-ruelOHueaHx1royLPvDM8Abd1rQD62R4KXgtHY9qqTw="; }; meta = with lib; { description = "PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server)"; - homepage = "https://github.com/tds-fdw/tds_fdw"; + homepage = "https://github.com/tds-fdw/tds_fdw"; changelog = "https://github.com/tds-fdw/tds_fdw/releases/tag/v${version}"; maintainers = [ maintainers.steve-chavez ]; - platforms = postgresql.meta.platforms; - license = licenses.postgresql; + platforms = postgresql.meta.platforms; + license = licenses.postgresql; }; } diff --git a/pkgs/servers/sql/postgresql/ext/temporal_tables.nix b/pkgs/servers/sql/postgresql/ext/temporal_tables.nix index 0be3dd60db8d3..03692a3ad7b63 100644 --- a/pkgs/servers/sql/postgresql/ext/temporal_tables.nix +++ b/pkgs/servers/sql/postgresql/ext/temporal_tables.nix @@ -1,21 +1,27 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension rec { pname = "temporal_tables"; version = "1.2.2"; src = fetchFromGitHub { - owner = "arkhipov"; - repo = "temporal_tables"; - rev = "v${version}"; + owner = "arkhipov"; + repo = "temporal_tables"; + rev = "v${version}"; sha256 = "sha256-7+DCSPAPhsokWDq/5IXNhd7jY6FfzxxUjlsg/VJeD3k="; }; meta = with lib; { description = "Temporal Tables PostgreSQL Extension"; - homepage = "https://github.com/arkhipov/temporal_tables"; + homepage = "https://github.com/arkhipov/temporal_tables"; maintainers = with maintainers; [ ggpeti ]; - platforms = postgresql.meta.platforms; - license = licenses.bsd2; + platforms = postgresql.meta.platforms; + license = licenses.bsd2; }; } diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix index ce04690059a63..e877aadd66d13 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix @@ -1,10 +1,11 @@ -{ lib -, fetchFromGitHub -, buildPgrxExtension -, postgresql -, nixosTests -, cargo-pgrx_0_12_6 -, nix-update-script +{ + lib, + fetchFromGitHub, + buildPgrxExtension, + postgresql, + nixosTests, + cargo-pgrx_0_12_6, + nix-update-script, }: (buildPgrxExtension.override { cargo-pgrx = cargo-pgrx_0_12_6; }) rec { diff --git a/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix index d1e1fe4741df6..ddde43a983b7f 100644 --- a/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix +++ b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix @@ -1,13 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, buildPostgresqlExtension }: +{ + lib, + stdenv, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, +}: buildPostgresqlExtension { pname = "tsearch-extras"; version = "0.4"; src = fetchFromGitHub { - owner = "zulip"; - repo = "tsearch_extras"; - rev = "84e78f00931c4ef261d98197d6b5d94fc141f742"; # no release tag? + owner = "zulip"; + repo = "tsearch_extras"; + rev = "84e78f00931c4ef261d98197d6b5d94fc141f742"; # no release tag? sha256 = "18j0saqblg3jhrz38splk173xjwdf32c67ymm18m8n5y94h8d2ba"; }; diff --git a/pkgs/servers/sql/postgresql/ext/tsja.nix b/pkgs/servers/sql/postgresql/ext/tsja.nix index cb6a38951551d..15df1763e2bf3 100644 --- a/pkgs/servers/sql/postgresql/ext/tsja.nix +++ b/pkgs/servers/sql/postgresql/ext/tsja.nix @@ -1,9 +1,10 @@ -{ lib -, fetchzip -, nixosTests -, stdenv -, mecab -, postgresql +{ + lib, + fetchzip, + nixosTests, + stdenv, + mecab, + postgresql, }: stdenv.mkDerivation rec { @@ -23,7 +24,10 @@ stdenv.mkDerivation rec { substituteInPlace tsja.c --replace-fail /usr/local/lib/mecab ${mecab}/lib/mecab ''; - buildInputs = [ mecab postgresql ]; + buildInputs = [ + mecab + postgresql + ]; installPhase = '' mkdir -p $out/lib $out/share/postgresql/extension diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index af643c6c0e2b2..8b4e592b1f527 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -1,342 +1,452 @@ let generic = - # dependencies - { stdenv, lib, fetchurl, fetchpatch, makeWrapper - , glibc, zlib, readline, openssl, icu, lz4, zstd, systemdLibs, libuuid - , pkg-config, libxml2, tzdata, libkrb5, substituteAll, darwin - , linux-pam, bison, flex, perl, docbook_xml_dtd_45, docbook-xsl-nons, libxslt - - , removeReferencesTo, writeShellScriptBin - - , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs - , gssSupport ? with stdenv.hostPlatform; !isWindows && !isStatic + # dependencies + { + stdenv, + lib, + fetchurl, + fetchpatch, + makeWrapper, + glibc, + zlib, + readline, + openssl, + icu, + lz4, + zstd, + systemdLibs, + libuuid, + pkg-config, + libxml2, + tzdata, + libkrb5, + substituteAll, + darwin, + linux-pam, + bison, + flex, + perl, + docbook_xml_dtd_45, + docbook-xsl-nons, + libxslt, + + removeReferencesTo, + writeShellScriptBin, + + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs, + gssSupport ? with stdenv.hostPlatform; !isWindows && !isStatic, # for postgresql.pkgs - , self, newScope, buildEnv - , stdenvNoCC, postgresqlTestHook + self, + newScope, + buildEnv, + stdenvNoCC, + postgresqlTestHook, # source specification - , version, hash, muslPatches ? {} + version, + hash, + muslPatches ? { }, # for tests - , testers, nixosTests + testers, + nixosTests, # JIT - , jitSupport - , nukeReferences, llvmPackages, overrideCC + jitSupport, + nukeReferences, + llvmPackages, + overrideCC, # PL/Python - , pythonSupport ? false - , python3 - } @args: - let - atLeast = lib.versionAtLeast version; - olderThan = lib.versionOlder version; - lz4Enabled = atLeast "14"; - zstdEnabled = atLeast "15"; - - dlSuffix = if olderThan "16" then ".so" else stdenv.hostPlatform.extensions.sharedLibrary; - - pname = "postgresql"; - - stdenv' = - if jitSupport && !stdenv.cc.isClang then - overrideCC llvmPackages.stdenv (llvmPackages.stdenv.cc.override { - # LLVM bintools are not used by default, but are needed to make -flto work below. - bintools = llvmPackages.bintools; - }) - else - stdenv; - - pg_config = writeShellScriptBin "pg_config" (builtins.readFile ./pg_config.sh); - in stdenv'.mkDerivation (finalAttrs: { - inherit version; - pname = pname + lib.optionalString jitSupport "-jit"; - - src = fetchurl { - url = "mirror://postgresql/source/v${version}/${pname}-${version}.tar.bz2"; - inherit hash; - }; + pythonSupport ? false, + python3, + }@args: + let + atLeast = lib.versionAtLeast version; + olderThan = lib.versionOlder version; + lz4Enabled = atLeast "14"; + zstdEnabled = atLeast "15"; + + dlSuffix = if olderThan "16" then ".so" else stdenv.hostPlatform.extensions.sharedLibrary; + + pname = "postgresql"; + + stdenv' = + if jitSupport && !stdenv.cc.isClang then + overrideCC llvmPackages.stdenv ( + llvmPackages.stdenv.cc.override { + # LLVM bintools are not used by default, but are needed to make -flto work below. + bintools = llvmPackages.bintools; + } + ) + else + stdenv; + + pg_config = writeShellScriptBin "pg_config" (builtins.readFile ./pg_config.sh); + in + stdenv'.mkDerivation (finalAttrs: { + inherit version; + pname = pname + lib.optionalString jitSupport "-jit"; + + src = fetchurl { + url = "mirror://postgresql/source/v${version}/${pname}-${version}.tar.bz2"; + inherit hash; + }; - __structuredAttrs = true; + __structuredAttrs = true; - hardeningEnable = lib.optionals (!stdenv'.cc.isClang) [ "pie" ]; + hardeningEnable = lib.optionals (!stdenv'.cc.isClang) [ "pie" ]; - outputs = [ "out" "dev" "doc" "lib" "man" ]; - outputChecks.out = { - disallowedReferences = [ "dev" "doc" "man" ]; - disallowedRequisites = [ - stdenv'.cc - ] ++ ( - map lib.getDev (builtins.filter (drv: drv ? "dev") finalAttrs.buildInputs) - ) ++ lib.optionals jitSupport [ - llvmPackages.llvm.out - ]; - }; - outputChecks.lib = { - disallowedReferences = [ "out" "dev" "doc" "man" ]; - disallowedRequisites = [ - stdenv'.cc - ] ++ ( - map lib.getDev (builtins.filter (drv: drv ? "dev") finalAttrs.buildInputs) - ) ++ lib.optionals jitSupport [ - llvmPackages.llvm.out + outputs = [ + "out" + "dev" + "doc" + "lib" + "man" ]; - }; + outputChecks.out = { + disallowedReferences = [ + "dev" + "doc" + "man" + ]; + disallowedRequisites = + [ + stdenv'.cc + ] + ++ (map lib.getDev (builtins.filter (drv: drv ? "dev") finalAttrs.buildInputs)) + ++ lib.optionals jitSupport [ + llvmPackages.llvm.out + ]; + }; + outputChecks.lib = { + disallowedReferences = [ + "out" + "dev" + "doc" + "man" + ]; + disallowedRequisites = + [ + stdenv'.cc + ] + ++ (map lib.getDev (builtins.filter (drv: drv ? "dev") finalAttrs.buildInputs)) + ++ lib.optionals jitSupport [ + llvmPackages.llvm.out + ]; + }; - buildInputs = [ - zlib - readline - openssl - (libxml2.override {enableHttp = true;}) - icu - libuuid - ] - ++ lib.optionals jitSupport [ llvmPackages.llvm ] - ++ lib.optionals lz4Enabled [ lz4 ] - ++ lib.optionals zstdEnabled [ zstd ] - ++ lib.optionals systemdSupport [ systemdLibs ] - ++ lib.optionals pythonSupport [ python3 ] - ++ lib.optionals gssSupport [ libkrb5 ] - ++ lib.optionals stdenv'.hostPlatform.isLinux [ linux-pam ]; - - nativeBuildInputs = [ - makeWrapper - pkg-config - removeReferencesTo - ] - ++ lib.optionals jitSupport [ llvmPackages.llvm.dev nukeReferences ] - ++ lib.optionals (atLeast "17") [ bison flex perl docbook_xml_dtd_45 docbook-xsl-nons libxslt ]; - - enableParallelBuilding = true; - - separateDebugInfo = true; - - buildFlags = [ "world" ]; - - # libpgcommon.a and libpgport.a contain all paths returned by pg_config and are linked - # into all binaries. However, almost no binaries actually use those paths. The following - # flags will remove unused sections from all shared libraries and binaries - including - # those paths. This avoids a lot of circular dependency problems with different outputs, - # and allows splitting them cleanly. - env.CFLAGS = "-fdata-sections -ffunction-sections" - + (if stdenv'.cc.isClang then " -flto" else " -fmerge-constants -Wl,--gc-sections"); - - configureFlags = [ - "--with-openssl" - "--with-libxml" - "--with-icu" - "--sysconfdir=/etc" - "--with-system-tzdata=${tzdata}/share/zoneinfo" - "--enable-debug" - (lib.optionalString systemdSupport "--with-systemd") - "--with-uuid=e2fs" - ] ++ lib.optionals lz4Enabled [ "--with-lz4" ] - ++ lib.optionals zstdEnabled [ "--with-zstd" ] - ++ lib.optionals gssSupport [ "--with-gssapi" ] - ++ lib.optionals pythonSupport [ "--with-python" ] - ++ lib.optionals jitSupport [ "--with-llvm" ] - ++ lib.optionals stdenv'.hostPlatform.isLinux [ "--with-pam" ] - # This could be removed once the upstream issue is resolved: - # https://postgr.es/m/flat/427c7c25-e8e1-4fc5-a1fb-01ceff185e5b%40technowledgy.de - ++ lib.optionals (stdenv'.hostPlatform.isDarwin && atLeast "16") [ "LDFLAGS_EX_BE=-Wl,-export_dynamic" ] - ++ lib.optionals (atLeast "17") [ "--without-perl" ]; - - patches = [ - (if atLeast "16" then ./patches/relative-to-symlinks-16+.patch else ./patches/relative-to-symlinks.patch) - (if atLeast "15" then ./patches/empty-pg-config-view-15+.patch else ./patches/empty-pg-config-view.patch) - ./patches/less-is-more.patch - ./patches/paths-for-split-outputs.patch - ./patches/paths-with-postgresql-suffix.patch - - (substituteAll { - src = ./patches/locale-binary-path.patch; - locale = "${if stdenv.hostPlatform.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale"; - }) - ] ++ lib.optionals stdenv'.hostPlatform.isMusl ( - # Using fetchurl instead of fetchpatch on purpose: https://github.com/NixOS/nixpkgs/issues/240141 - map fetchurl (lib.attrValues muslPatches) - ) ++ lib.optionals stdenv'.hostPlatform.isLinux [ - ./patches/socketdir-in-run-13+.patch - ] ++ lib.optionals (stdenv'.hostPlatform.isDarwin && olderThan "16") [ - ./patches/export-dynamic-darwin-15-.patch - ]; - - installTargets = [ "install-world" ]; - - postPatch = '' - substituteInPlace "src/Makefile.global.in" --subst-var out - # Hardcode the path to pgxs so pg_config returns the path in $dev - substituteInPlace "src/common/config_info.c" --subst-var dev - ''; - - postInstall = - '' - moveToOutput "bin/ecpg" "$dev" - moveToOutput "lib/pgxs" "$dev" - - # Pretend pg_config is located in $out/bin to return correct paths, but - # actually have it in -dev to avoid pulling in all other outputs. See the - # pg_config.sh script's comments for details. - moveToOutput "bin/pg_config" "$dev" - install -c -m 755 "${pg_config}"/bin/pg_config "$out/bin/pg_config" - wrapProgram "$dev/bin/pg_config" --argv0 "$out/bin/pg_config" - - # postgres exposes external symbols get_pkginclude_path and similar. Those - # can't be stripped away by --gc-sections/LTO, because they could theoretically - # be used by dynamically loaded modules / extensions. To avoid circular dependencies, - # references to -dev, -doc and -man are removed here. References to -lib must be kept, - # because there is a realistic use-case for extensions to locate the /lib directory to - # load other shared modules. - remove-references-to -t "$dev" -t "$doc" -t "$man" "$out/bin/postgres" - - if [ -z "''${dontDisableStatic:-}" ]; then - # Remove static libraries in case dynamic are available. - for i in $lib/lib/*.a; do - name="$(basename "$i")" - ext="${stdenv'.hostPlatform.extensions.sharedLibrary}" - if [ -e "$lib/lib/''${name%.a}$ext" ] || [ -e "''${i%.a}$ext" ]; then - rm "$i" - fi - done - fi - # The remaining static libraries are libpgcommon.a, libpgport.a and related. - # Those are only used when building e.g. extensions, so go to $dev. - moveToOutput "lib/*.a" "$dev" - '' + lib.optionalString jitSupport '' - # In the case of JIT support, prevent useless dependencies on header files - find "$out/lib" -iname '*.bc' -type f -exec nuke-refs '{}' + - - # Stop lib depending on the -dev output of llvm - remove-references-to -t ${llvmPackages.llvm.dev} "$out/lib/llvmjit${dlSuffix}" + buildInputs = + [ + zlib + readline + openssl + (libxml2.override { enableHttp = true; }) + icu + libuuid + ] + ++ lib.optionals jitSupport [ llvmPackages.llvm ] + ++ lib.optionals lz4Enabled [ lz4 ] + ++ lib.optionals zstdEnabled [ zstd ] + ++ lib.optionals systemdSupport [ systemdLibs ] + ++ lib.optionals pythonSupport [ python3 ] + ++ lib.optionals gssSupport [ libkrb5 ] + ++ lib.optionals stdenv'.hostPlatform.isLinux [ linux-pam ]; + + nativeBuildInputs = + [ + makeWrapper + pkg-config + removeReferencesTo + ] + ++ lib.optionals jitSupport [ + llvmPackages.llvm.dev + nukeReferences + ] + ++ lib.optionals (atLeast "17") [ + bison + flex + perl + docbook_xml_dtd_45 + docbook-xsl-nons + libxslt + ]; + + enableParallelBuilding = true; + + separateDebugInfo = true; + + buildFlags = [ "world" ]; + + # libpgcommon.a and libpgport.a contain all paths returned by pg_config and are linked + # into all binaries. However, almost no binaries actually use those paths. The following + # flags will remove unused sections from all shared libraries and binaries - including + # those paths. This avoids a lot of circular dependency problems with different outputs, + # and allows splitting them cleanly. + env.CFLAGS = + "-fdata-sections -ffunction-sections" + + (if stdenv'.cc.isClang then " -flto" else " -fmerge-constants -Wl,--gc-sections"); + + configureFlags = + [ + "--with-openssl" + "--with-libxml" + "--with-icu" + "--sysconfdir=/etc" + "--with-system-tzdata=${tzdata}/share/zoneinfo" + "--enable-debug" + (lib.optionalString systemdSupport "--with-systemd") + "--with-uuid=e2fs" + ] + ++ lib.optionals lz4Enabled [ "--with-lz4" ] + ++ lib.optionals zstdEnabled [ "--with-zstd" ] + ++ lib.optionals gssSupport [ "--with-gssapi" ] + ++ lib.optionals pythonSupport [ "--with-python" ] + ++ lib.optionals jitSupport [ "--with-llvm" ] + ++ lib.optionals stdenv'.hostPlatform.isLinux [ "--with-pam" ] + # This could be removed once the upstream issue is resolved: + # https://postgr.es/m/flat/427c7c25-e8e1-4fc5-a1fb-01ceff185e5b%40technowledgy.de + ++ lib.optionals (stdenv'.hostPlatform.isDarwin && atLeast "16") [ + "LDFLAGS_EX_BE=-Wl,-export_dynamic" + ] + ++ lib.optionals (atLeast "17") [ "--without-perl" ]; + + patches = + [ + ( + if atLeast "16" then + ./patches/relative-to-symlinks-16+.patch + else + ./patches/relative-to-symlinks.patch + ) + ( + if atLeast "15" then + ./patches/empty-pg-config-view-15+.patch + else + ./patches/empty-pg-config-view.patch + ) + ./patches/less-is-more.patch + ./patches/paths-for-split-outputs.patch + ./patches/paths-with-postgresql-suffix.patch + + (substituteAll { + src = ./patches/locale-binary-path.patch; + locale = "${ + if stdenv.hostPlatform.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc + }/bin/locale"; + }) + ] + ++ lib.optionals stdenv'.hostPlatform.isMusl ( + # Using fetchurl instead of fetchpatch on purpose: https://github.com/NixOS/nixpkgs/issues/240141 + map fetchurl (lib.attrValues muslPatches) + ) + ++ lib.optionals stdenv'.hostPlatform.isLinux [ + ./patches/socketdir-in-run-13+.patch + ] + ++ lib.optionals (stdenv'.hostPlatform.isDarwin && olderThan "16") [ + ./patches/export-dynamic-darwin-15-.patch + ]; + + installTargets = [ "install-world" ]; + + postPatch = '' + substituteInPlace "src/Makefile.global.in" --subst-var out + # Hardcode the path to pgxs so pg_config returns the path in $dev + substituteInPlace "src/common/config_info.c" --subst-var dev ''; - postFixup = lib.optionalString stdenv'.hostPlatform.isGnu - '' + postInstall = + '' + moveToOutput "bin/ecpg" "$dev" + moveToOutput "lib/pgxs" "$dev" + + # Pretend pg_config is located in $out/bin to return correct paths, but + # actually have it in -dev to avoid pulling in all other outputs. See the + # pg_config.sh script's comments for details. + moveToOutput "bin/pg_config" "$dev" + install -c -m 755 "${pg_config}"/bin/pg_config "$out/bin/pg_config" + wrapProgram "$dev/bin/pg_config" --argv0 "$out/bin/pg_config" + + # postgres exposes external symbols get_pkginclude_path and similar. Those + # can't be stripped away by --gc-sections/LTO, because they could theoretically + # be used by dynamically loaded modules / extensions. To avoid circular dependencies, + # references to -dev, -doc and -man are removed here. References to -lib must be kept, + # because there is a realistic use-case for extensions to locate the /lib directory to + # load other shared modules. + remove-references-to -t "$dev" -t "$doc" -t "$man" "$out/bin/postgres" + + if [ -z "''${dontDisableStatic:-}" ]; then + # Remove static libraries in case dynamic are available. + for i in $lib/lib/*.a; do + name="$(basename "$i")" + ext="${stdenv'.hostPlatform.extensions.sharedLibrary}" + if [ -e "$lib/lib/''${name%.a}$ext" ] || [ -e "''${i%.a}$ext" ]; then + rm "$i" + fi + done + fi + # The remaining static libraries are libpgcommon.a, libpgport.a and related. + # Those are only used when building e.g. extensions, so go to $dev. + moveToOutput "lib/*.a" "$dev" + '' + + lib.optionalString jitSupport '' + # In the case of JIT support, prevent useless dependencies on header files + find "$out/lib" -iname '*.bc' -type f -exec nuke-refs '{}' + + + # Stop lib depending on the -dev output of llvm + remove-references-to -t ${llvmPackages.llvm.dev} "$out/lib/llvmjit${dlSuffix}" + ''; + + postFixup = lib.optionalString stdenv'.hostPlatform.isGnu '' # initdb needs access to "locale" command from glibc. wrapProgram $out/bin/initdb --prefix PATH ":" ${glibc.bin}/bin ''; - doCheck = !stdenv'.hostPlatform.isDarwin; - # autodetection doesn't seem to able to find this, but it's there. - checkTarget = "check-world"; - - passthru = let - this = self.callPackage generic args; - jitToggle = this.override { - jitSupport = !jitSupport; - }; - in - { - inherit dlSuffix; - - psqlSchema = lib.versions.major version; - - withJIT = if jitSupport then this else jitToggle; - withoutJIT = if jitSupport then jitToggle else this; - - pkgs = let - scope = { - inherit jitSupport; - inherit (llvmPackages) llvm; - postgresql = this; - stdenv = stdenv'; - postgresqlTestExtension = { finalPackage, withPackages ? [], ... } @ extraArgs: - stdenvNoCC.mkDerivation ({ - name = "${finalPackage.name}-test-extension"; - dontUnpack = true; - doCheck = true; - nativeCheckInputs = [ - postgresqlTestHook - (this.withPackages (ps: [ finalPackage ] ++ (map (p: ps."${p}") withPackages))) - ]; - failureHook = "postgresqlStop"; - postgresqlTestUserOptions = "LOGIN SUPERUSER"; - passAsFile = [ "sql" ]; - checkPhase = '' - runHook preCheck - psql -a -v ON_ERROR_STOP=1 -f "$sqlPath" - runHook postCheck - ''; - installPhase = "touch $out"; - } // extraArgs); - buildPostgresqlExtension = newSuper.callPackage ./buildPostgresqlExtension.nix {}; + doCheck = !stdenv'.hostPlatform.isDarwin; + # autodetection doesn't seem to able to find this, but it's there. + checkTarget = "check-world"; + + passthru = + let + this = self.callPackage generic args; + jitToggle = this.override { + jitSupport = !jitSupport; + }; + in + { + inherit dlSuffix; + + psqlSchema = lib.versions.major version; + + withJIT = if jitSupport then this else jitToggle; + withoutJIT = if jitSupport then jitToggle else this; + + pkgs = + let + scope = { + inherit jitSupport; + inherit (llvmPackages) llvm; + postgresql = this; + stdenv = stdenv'; + postgresqlTestExtension = + { + finalPackage, + withPackages ? [ ], + ... + }@extraArgs: + stdenvNoCC.mkDerivation ( + { + name = "${finalPackage.name}-test-extension"; + dontUnpack = true; + doCheck = true; + nativeCheckInputs = [ + postgresqlTestHook + (this.withPackages (ps: [ finalPackage ] ++ (map (p: ps."${p}") withPackages))) + ]; + failureHook = "postgresqlStop"; + postgresqlTestUserOptions = "LOGIN SUPERUSER"; + passAsFile = [ "sql" ]; + checkPhase = '' + runHook preCheck + psql -a -v ON_ERROR_STOP=1 -f "$sqlPath" + runHook postCheck + ''; + installPhase = "touch $out"; + } + // extraArgs + ); + buildPostgresqlExtension = newSuper.callPackage ./buildPostgresqlExtension.nix { }; + }; + newSelf = self // scope; + newSuper = { + callPackage = newScope (scope // this.pkgs); + }; + in + import ./ext newSelf newSuper; + + withPackages = postgresqlWithPackages { + inherit buildEnv; + postgresql = this; + }; + + tests = + { + postgresql = nixosTests.postgresql.postgresql.passthru.override finalAttrs.finalPackage; + postgresql-tls-client-cert = nixosTests.postgresql.postgresql-tls-client-cert.passthru.override finalAttrs.finalPackage; + postgresql-wal-receiver = nixosTests.postgresql.postgresql-wal-receiver.passthru.override finalAttrs.finalPackage; + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + } + // lib.optionalAttrs jitSupport { + postgresql-jit = nixosTests.postgresql.postgresql-jit.passthru.override finalAttrs.finalPackage; + }; }; - newSelf = self // scope; - newSuper = { callPackage = newScope (scope // this.pkgs); }; - in import ./ext newSelf newSuper; - - withPackages = postgresqlWithPackages { - inherit buildEnv; - postgresql = this; - }; - - tests = { - postgresql = nixosTests.postgresql.postgresql.passthru.override finalAttrs.finalPackage; - postgresql-tls-client-cert = nixosTests.postgresql.postgresql-tls-client-cert.passthru.override finalAttrs.finalPackage; - postgresql-wal-receiver = nixosTests.postgresql.postgresql-wal-receiver.passthru.override finalAttrs.finalPackage; - pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - } // lib.optionalAttrs jitSupport { - postgresql-jit = nixosTests.postgresql.postgresql-jit.passthru.override finalAttrs.finalPackage; - }; - }; - meta = with lib; { - homepage = "https://www.postgresql.org"; - description = "Powerful, open source object-relational database system"; - license = licenses.postgresql; - changelog = "https://www.postgresql.org/docs/release/${finalAttrs.version}/"; - maintainers = with maintainers; teams.postgres.members; - pkgConfigModules = [ "libecpg" "libecpg_compat" "libpgtypes" "libpq" ]; - platforms = platforms.unix; - - # JIT support doesn't work with cross-compilation. It is attempted to build LLVM-bytecode - # (`%.bc` is the corresponding `make(1)`-rule) for each sub-directory in `backend/` for - # the JIT apparently, but with a $(CLANG) that can produce binaries for the build, not the - # host-platform. - # - # I managed to get a cross-build with JIT support working with - # `depsBuildBuild = [ llvmPackages.clang ] ++ buildInputs`, but considering that the - # resulting LLVM IR isn't platform-independent this doesn't give you much. - # In fact, I tried to test the result in a VM-test, but as soon as JIT was used to optimize - # a query, postgres would coredump with `Illegal instruction`. - broken = jitSupport && !stdenv.hostPlatform.canExecute stdenv.buildPlatform; - }; - }); + meta = with lib; { + homepage = "https://www.postgresql.org"; + description = "Powerful, open source object-relational database system"; + license = licenses.postgresql; + changelog = "https://www.postgresql.org/docs/release/${finalAttrs.version}/"; + maintainers = with maintainers; teams.postgres.members; + pkgConfigModules = [ + "libecpg" + "libecpg_compat" + "libpgtypes" + "libpq" + ]; + platforms = platforms.unix; + + # JIT support doesn't work with cross-compilation. It is attempted to build LLVM-bytecode + # (`%.bc` is the corresponding `make(1)`-rule) for each sub-directory in `backend/` for + # the JIT apparently, but with a $(CLANG) that can produce binaries for the build, not the + # host-platform. + # + # I managed to get a cross-build with JIT support working with + # `depsBuildBuild = [ llvmPackages.clang ] ++ buildInputs`, but considering that the + # resulting LLVM IR isn't platform-independent this doesn't give you much. + # In fact, I tried to test the result in a VM-test, but as soon as JIT was used to optimize + # a query, postgres would coredump with `Illegal instruction`. + broken = jitSupport && !stdenv.hostPlatform.canExecute stdenv.buildPlatform; + }; + }); - postgresqlWithPackages = { postgresql, buildEnv }: f: let - installedExtensions = f postgresql.pkgs; - in buildEnv { - name = "${postgresql.pname}-and-plugins-${postgresql.version}"; - paths = installedExtensions ++ [ + postgresqlWithPackages = + { postgresql, buildEnv }: + f: + let + installedExtensions = f postgresql.pkgs; + in + buildEnv { + name = "${postgresql.pname}-and-plugins-${postgresql.version}"; + paths = installedExtensions ++ [ postgresql - postgresql.man # in case user installs this into environment - ]; - - pathsToLink = ["/"]; - - passthru = { - inherit installedExtensions; - inherit (postgresql) - psqlSchema - version - ; - - withJIT = postgresqlWithPackages { - inherit buildEnv; - postgresql = postgresql.withJIT; - } f; - withoutJIT = postgresqlWithPackages { - inherit buildEnv; - postgresql = postgresql.withoutJIT; - } f; + postgresql.man # in case user installs this into environment + ]; + + pathsToLink = [ "/" ]; + + passthru = { + inherit installedExtensions; + inherit (postgresql) + psqlSchema + version + ; + + withJIT = postgresqlWithPackages { + inherit buildEnv; + postgresql = postgresql.withJIT; + } f; + withoutJIT = postgresqlWithPackages { + inherit buildEnv; + postgresql = postgresql.withoutJIT; + } f; + }; }; - }; in # passed by .nix versionArgs: # passed by default.nix -{ self, ... } @defaultArgs: +{ self, ... }@defaultArgs: self.callPackage generic (defaultArgs // versionArgs) diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix index 6ced9624b7418..71e52ec39f45a 100644 --- a/pkgs/servers/sunshine/default.nix +++ b/pkgs/servers/sunshine/default.nix @@ -1,52 +1,53 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoPatchelfHook -, autoAddDriverRunpath -, makeWrapper -, buildNpmPackage -, nixosTests -, cmake -, avahi -, libevdev -, libpulseaudio -, xorg -, libxcb -, openssl -, libopus -, boost -, pkg-config -, libdrm -, wayland -, wayland-scanner -, libffi -, libcap -, mesa -, curl -, pcre -, pcre2 -, python3 -, libuuid -, libselinux -, libsepol -, libthai -, libdatrie -, libxkbcommon -, libepoxy -, libva -, libvdpau -, libglvnd -, numactl -, amf-headers -, intel-media-sdk -, svt-av1 -, vulkan-loader -, libappindicator -, libnotify -, miniupnpc -, config -, cudaSupport ? config.cudaSupport -, cudaPackages ? { } +{ + lib, + stdenv, + fetchFromGitHub, + autoPatchelfHook, + autoAddDriverRunpath, + makeWrapper, + buildNpmPackage, + nixosTests, + cmake, + avahi, + libevdev, + libpulseaudio, + xorg, + libxcb, + openssl, + libopus, + boost, + pkg-config, + libdrm, + wayland, + wayland-scanner, + libffi, + libcap, + mesa, + curl, + pcre, + pcre2, + python3, + libuuid, + libselinux, + libsepol, + libthai, + libdatrie, + libxkbcommon, + libepoxy, + libva, + libvdpau, + libglvnd, + numactl, + amf-headers, + intel-media-sdk, + svt-av1, + vulkan-loader, + libappindicator, + libnotify, + miniupnpc, + config, + cudaSupport ? config.cudaSupport, + cudaPackages ? { }, }: let stdenv' = if cudaSupport then cudaPackages.backendStdenv else stdenv; @@ -86,62 +87,67 @@ stdenv'.mkDerivation rec { ''; }; - nativeBuildInputs = [ - cmake - pkg-config - python3 - makeWrapper - wayland-scanner - # Avoid fighting upstream's usage of vendored ffmpeg libraries - autoPatchelfHook - ] ++ lib.optionals cudaSupport [ - autoAddDriverRunpath - ]; - - buildInputs = [ - avahi - libevdev - libpulseaudio - xorg.libX11 - libxcb - xorg.libXfixes - xorg.libXrandr - xorg.libXtst - xorg.libXi - openssl - libopus - boost - libdrm - wayland - libffi - libevdev - libcap - libdrm - curl - pcre - pcre2 - libuuid - libselinux - libsepol - libthai - libdatrie - xorg.libXdmcp - libxkbcommon - libepoxy - libva - libvdpau - numactl - mesa - amf-headers - svt-av1 - libappindicator - libnotify - miniupnpc - ] ++ lib.optionals cudaSupport [ - cudaPackages.cudatoolkit - ] ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - intel-media-sdk - ]; + nativeBuildInputs = + [ + cmake + pkg-config + python3 + makeWrapper + wayland-scanner + # Avoid fighting upstream's usage of vendored ffmpeg libraries + autoPatchelfHook + ] + ++ lib.optionals cudaSupport [ + autoAddDriverRunpath + ]; + + buildInputs = + [ + avahi + libevdev + libpulseaudio + xorg.libX11 + libxcb + xorg.libXfixes + xorg.libXrandr + xorg.libXtst + xorg.libXi + openssl + libopus + boost + libdrm + wayland + libffi + libevdev + libcap + libdrm + curl + pcre + pcre2 + libuuid + libselinux + libsepol + libthai + libdatrie + xorg.libXdmcp + libxkbcommon + libepoxy + libva + libvdpau + numactl + mesa + amf-headers + svt-av1 + libappindicator + libnotify + miniupnpc + ] + ++ lib.optionals cudaSupport [ + cudaPackages.cudatoolkit + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + intel-media-sdk + ]; runtimeDependencies = [ avahi diff --git a/pkgs/servers/tang/default.nix b/pkgs/servers/tang/default.nix index e6581921fcb7f..851269ed85579 100644 --- a/pkgs/servers/tang/default.nix +++ b/pkgs/servers/tang/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, asciidoc -, jansson -, jose -, http-parser -, systemd -, meson -, ninja -, makeWrapper -, testers -, tang -, gitUpdater -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + asciidoc, + jansson, + jose, + http-parser, + systemd, + meson, + ninja, + makeWrapper, + testers, + tang, + gitUpdater, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix index 64454b9fe83d6..d9d3bffc55967 100644 --- a/pkgs/servers/tautulli/default.nix +++ b/pkgs/servers/tautulli/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, buildPythonApplication, setuptools, wrapPython, makeWrapper }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + setuptools, + wrapPython, + makeWrapper, +}: buildPythonApplication rec { pname = "Tautulli"; @@ -6,7 +13,10 @@ buildPythonApplication rec { format = "other"; pythonPath = [ setuptools ]; - nativeBuildInputs = [ wrapPython makeWrapper ]; + nativeBuildInputs = [ + wrapPython + makeWrapper + ]; src = fetchFromGitHub { owner = "Tautulli"; @@ -43,7 +53,7 @@ buildPythonApplication rec { runHook postCheck ''; - meta = with lib; { + meta = with lib; { description = "Python based monitoring and tracking tool for Plex Media Server"; homepage = "https://tautulli.com/"; license = licenses.gpl3Plus; diff --git a/pkgs/servers/teleport/15/default.nix b/pkgs/servers/teleport/15/default.nix index 12cedd5396967..7df86df8c40d0 100644 --- a/pkgs/servers/teleport/15/default.nix +++ b/pkgs/servers/teleport/15/default.nix @@ -1,22 +1,25 @@ { wasm-bindgen-cli, ... }@args: -import ../generic.nix (args // { - version = "15.4.21"; - hash = "sha256-n5dAJ5ilq5nHo3neQzCUFnDRwLhArwleMSho4/g0MT4="; - vendorHash = "sha256-bW8ztNeSzxUNtbuBtxIya9TeGfktC+/fz9iXB0GL0Mg="; - yarnHash = "sha256-ZaLLrcwAeq6TQ1SaA2few4s0HqktOZEpxCTcNGloGfk="; - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "boring-4.4.0" = "sha256-4wdl2kIA5oHQ0H6IddKQ+B5kRwrTeMbKe1+tAYZt2uw="; - "ironrdp-async-0.1.0" = "sha256-nE5O/wRJ3vJqJG5zdYmpVkhx6JC6Yb92pR4EKSWSdkA="; - "sspi-0.10.1" = "sha256-fkclC/plTh2d8zcmqthYmr5yXqbPTeFxI1VuaPX5vxk="; +import ../generic.nix ( + args + // { + version = "15.4.21"; + hash = "sha256-n5dAJ5ilq5nHo3neQzCUFnDRwLhArwleMSho4/g0MT4="; + vendorHash = "sha256-bW8ztNeSzxUNtbuBtxIya9TeGfktC+/fz9iXB0GL0Mg="; + yarnHash = "sha256-ZaLLrcwAeq6TQ1SaA2few4s0HqktOZEpxCTcNGloGfk="; + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "boring-4.4.0" = "sha256-4wdl2kIA5oHQ0H6IddKQ+B5kRwrTeMbKe1+tAYZt2uw="; + "ironrdp-async-0.1.0" = "sha256-nE5O/wRJ3vJqJG5zdYmpVkhx6JC6Yb92pR4EKSWSdkA="; + "sspi-0.10.1" = "sha256-fkclC/plTh2d8zcmqthYmr5yXqbPTeFxI1VuaPX5vxk="; + }; }; - }; - # wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock - wasm-bindgen-cli = wasm-bindgen-cli.override { - version = "0.2.92"; - hash = "sha256-1VwY8vQy7soKEgbki4LD+v259751kKxSxmo/gqE6yV0="; - cargoHash = "sha256-aACJ+lYNEU8FFBs158G1/JG8sc6Rq080PeKCMnwdpH0="; - }; -}) + # wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock + wasm-bindgen-cli = wasm-bindgen-cli.override { + version = "0.2.92"; + hash = "sha256-1VwY8vQy7soKEgbki4LD+v259751kKxSxmo/gqE6yV0="; + cargoHash = "sha256-aACJ+lYNEU8FFBs158G1/JG8sc6Rq080PeKCMnwdpH0="; + }; + } +) diff --git a/pkgs/servers/teleport/16/default.nix b/pkgs/servers/teleport/16/default.nix index ecd714d77d063..5ef66c9ce8a35 100644 --- a/pkgs/servers/teleport/16/default.nix +++ b/pkgs/servers/teleport/16/default.nix @@ -1,21 +1,24 @@ { wasm-bindgen-cli, ... }@args: -import ../generic.nix (args // { - version = "16.4.6"; - hash = "sha256-TdOCFs6YeqINM8aPryrjYPaXEjc/gIqu7kzVYDnMsjg="; - vendorHash = "sha256-iyYfht0aB9Vv2hsaqrieFHXbDhlotKQYfLn4JFqpve8="; - pnpmHash = "sha256-NF45Wp4itYud01VzxC8bRHZ3xZ1T1du1QmZTDMS5nOk="; - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "boring-4.7.0" = "sha256-ACzw4Bfo6OUrwvi3h21tvx5CpdQaWCEIDkslzjzy9o8="; - "ironrdp-async-0.1.0" = "sha256-DOwDHavDaEda+JK9M6kbvseoXe2LxJg3MLTY/Nu+PN0="; - }; - }; +import ../generic.nix ( + args + // { + version = "16.4.6"; + hash = "sha256-TdOCFs6YeqINM8aPryrjYPaXEjc/gIqu7kzVYDnMsjg="; + vendorHash = "sha256-iyYfht0aB9Vv2hsaqrieFHXbDhlotKQYfLn4JFqpve8="; + pnpmHash = "sha256-NF45Wp4itYud01VzxC8bRHZ3xZ1T1du1QmZTDMS5nOk="; + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "boring-4.7.0" = "sha256-ACzw4Bfo6OUrwvi3h21tvx5CpdQaWCEIDkslzjzy9o8="; + "ironrdp-async-0.1.0" = "sha256-DOwDHavDaEda+JK9M6kbvseoXe2LxJg3MLTY/Nu+PN0="; + }; + }; - # wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock - wasm-bindgen-cli = wasm-bindgen-cli.override { - version = "0.2.93"; - hash = "sha256-DDdu5mM3gneraM85pAepBXWn3TMofarVR4NbjMdz3r0="; - cargoHash = "sha256-birrg+XABBHHKJxfTKAMSlmTVYLmnmqMDfRnmG6g/YQ="; - }; -}) + # wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock + wasm-bindgen-cli = wasm-bindgen-cli.override { + version = "0.2.93"; + hash = "sha256-DDdu5mM3gneraM85pAepBXWn3TMofarVR4NbjMdz3r0="; + cargoHash = "sha256-birrg+XABBHHKJxfTKAMSlmTVYLmnmqMDfRnmG6g/YQ="; + }; + } +) diff --git a/pkgs/servers/teleport/generic.nix b/pkgs/servers/teleport/generic.nix index ed2ce5d8a7d1c..5c5f6dfbd29b4 100644 --- a/pkgs/servers/teleport/generic.nix +++ b/pkgs/servers/teleport/generic.nix @@ -1,38 +1,39 @@ -{ lib -, buildGoModule -, rustPlatform -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, CoreFoundation -, AppKit -, binaryen -, cargo -, libfido2 -, nodejs -, openssl -, pkg-config -, pnpm_9 -, rustc -, Security -, stdenv -, xdg-utils -, yarn -, wasm-bindgen-cli -, wasm-pack -, fixup-yarn-lock -, nixosTests - -, withRdpClient ? true - -, version -, hash -, vendorHash -, extPatches ? [] -, cargoHash ? null -, cargoLock ? null -, yarnHash ? null -, pnpmHash ? null +{ + lib, + buildGoModule, + rustPlatform, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + CoreFoundation, + AppKit, + binaryen, + cargo, + libfido2, + nodejs, + openssl, + pkg-config, + pnpm_9, + rustc, + Security, + stdenv, + xdg-utils, + yarn, + wasm-bindgen-cli, + wasm-pack, + fixup-yarn-lock, + nixosTests, + + withRdpClient ? true, + + version, + hash, + vendorHash, + extPatches ? [ ], + cargoHash ? null, + cargoLock ? null, + yarnHash ? null, + pnpmHash ? null, }: assert yarnHash != null || pnpmHash != null; let @@ -53,8 +54,12 @@ let buildAndTestSubdir = "lib/srv/desktop/rdp/rdpclient"; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation Security ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreFoundation + Security + ]; nativeBuildInputs = [ pkg-config ]; # https://github.com/NixOS/nixpkgs/issues/161570 , @@ -80,21 +85,36 @@ let cargoDeps = rustPlatform.importCargoLock cargoLock; - pnpmDeps = if pnpmHash != null then pnpm_9.fetchDeps { - inherit src pname version; - hash = pnpmHash; - } else null; - - nativeBuildInputs = [ nodejs ] ++ lib.optional (lib.versionAtLeast version "15") [ - binaryen - cargo - nodejs - rustc - rustc.llvmPackages.lld - rustPlatform.cargoSetupHook - wasm-bindgen-cli - wasm-pack - ] ++ (if lib.versionAtLeast version "16" then [ pnpm_9.configHook ] else [ yarn fixup-yarn-lock ]); + pnpmDeps = + if pnpmHash != null then + pnpm_9.fetchDeps { + inherit src pname version; + hash = pnpmHash; + } + else + null; + + nativeBuildInputs = + [ nodejs ] + ++ lib.optional (lib.versionAtLeast version "15") [ + binaryen + cargo + nodejs + rustc + rustc.llvmPackages.lld + rustPlatform.cargoSetupHook + wasm-bindgen-cli + wasm-pack + ] + ++ ( + if lib.versionAtLeast version "16" then + [ pnpm_9.configHook ] + else + [ + yarn + fixup-yarn-lock + ] + ); configurePhase = '' runHook preConfigure @@ -117,15 +137,18 @@ let PATH=$PATH:$PWD/node_modules/.bin - ${if lib.versionAtLeast version "15" - then '' - pushd web/packages/teleport - # https://github.com/gravitational/teleport/blob/6b91fe5bbb9e87db4c63d19f94ed4f7d0f9eba43/web/packages/teleport/README.md?plain=1#L18-L20 - RUST_MIN_STACK=16777216 wasm-pack build ./src/ironrdp --target web --mode no-install - vite build - popd - '' - else "yarn build-ui-oss"} + ${ + if lib.versionAtLeast version "15" then + '' + pushd web/packages/teleport + # https://github.com/gravitational/teleport/blob/6b91fe5bbb9e87db4c63d19f94ed4f7d0f9eba43/web/packages/teleport/README.md?plain=1#L18-L20 + RUST_MIN_STACK=16777216 wasm-pack build ./src/ironrdp --target web --mode no-install + vite build + popd + '' + else + "yarn build-ui-oss" + } ''; installPhase = '' @@ -139,13 +162,31 @@ buildGoModule rec { inherit vendorHash; proxyVendor = true; - subPackages = [ "tool/tbot" "tool/tctl" "tool/teleport" "tool/tsh" ]; - tags = [ "libfido2" "webassets_embed" ] - ++ lib.optional withRdpClient "desktop_access_rdp"; - - buildInputs = [ openssl libfido2 ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && withRdpClient) [ CoreFoundation Security AppKit ]; - nativeBuildInputs = [ makeWrapper pkg-config ]; + subPackages = [ + "tool/tbot" + "tool/tctl" + "tool/teleport" + "tool/tsh" + ]; + tags = [ + "libfido2" + "webassets_embed" + ] ++ lib.optional withRdpClient "desktop_access_rdp"; + + buildInputs = + [ + openssl + libfido2 + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && withRdpClient) [ + CoreFoundation + Security + AppKit + ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; patches = extPatches ++ [ ./0001-fix-add-nix-path-to-exec-env.patch @@ -154,14 +195,19 @@ buildGoModule rec { ]; # Reduce closure size for client machines - outputs = [ "out" "client" ]; + outputs = [ + "out" + "client" + ]; - preBuild = '' - cp -r ${webassets} webassets - '' + lib.optionalString withRdpClient '' - ln -s ${rdpClient}/lib/* lib/ - ln -s ${rdpClient}/include/* lib/srv/desktop/rdp/rdpclient/ - ''; + preBuild = + '' + cp -r ${webassets} webassets + '' + + lib.optionalString withRdpClient '' + ln -s ${rdpClient}/lib/* lib/ + ln -s ${rdpClient}/include/* lib/srv/desktop/rdp/rdpclient/ + ''; # Multiple tests fail in the build sandbox # due to trying to spawn nixbld's shell (/noshell), etc. @@ -191,7 +237,14 @@ buildGoModule rec { description = "Certificate authority and access plane for SSH, Kubernetes, web applications, and databases"; homepage = "https://goteleport.com/"; license = if lib.versionAtLeast version "15" then licenses.agpl3Plus else licenses.asl20; - maintainers = with maintainers; [ arianvp justinas sigma tomberek freezeboy techknowlogick ]; + maintainers = with maintainers; [ + arianvp + justinas + sigma + tomberek + freezeboy + techknowlogick + ]; platforms = platforms.unix; # go-libfido2 is broken on platforms with less than 64-bit because it defines an array # which occupies more than 31 bits of address space. diff --git a/pkgs/servers/tracing/honeycomb/honeymarker/default.nix b/pkgs/servers/tracing/honeycomb/honeymarker/default.nix index 9691d08b87107..a615567005e53 100644 --- a/pkgs/servers/tracing/honeycomb/honeymarker/default.nix +++ b/pkgs/servers/tracing/honeycomb/honeymarker/default.nix @@ -1,23 +1,28 @@ -{ lib, buildGoModule, fetchFromGitHub }: -import ./versions.nix ({version, sha256}: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: +import ./versions.nix ( + { version, sha256 }: buildGoModule { - pname = "honeymarker"; - inherit version; - vendorHash = "sha256-ZuDobjC/nizZ7G0o/zVTQmDfDjcdBhfPcmkhgwFc7VU="; + pname = "honeymarker"; + inherit version; + vendorHash = "sha256-ZuDobjC/nizZ7G0o/zVTQmDfDjcdBhfPcmkhgwFc7VU="; - src = fetchFromGitHub { - owner = "honeycombio"; - repo = "honeymarker"; - rev = "v${version}"; - hash = sha256; - }; - inherit (buildGoModule.go) GOOS GOARCH; - - meta = with lib; { - description = "provides a simple CRUD interface for dealing with per-dataset markers on honeycomb.io"; - homepage = "https://honeycomb.io/"; - license = licenses.asl20; - maintainers = [ maintainers.iand675 ]; - }; -}) + src = fetchFromGitHub { + owner = "honeycombio"; + repo = "honeymarker"; + rev = "v${version}"; + hash = sha256; + }; + inherit (buildGoModule.go) GOOS GOARCH; + meta = with lib; { + description = "provides a simple CRUD interface for dealing with per-dataset markers on honeycomb.io"; + homepage = "https://honeycomb.io/"; + license = licenses.asl20; + maintainers = [ maintainers.iand675 ]; + }; + } +) diff --git a/pkgs/servers/tracing/honeycomb/honeytail/default.nix b/pkgs/servers/tracing/honeycomb/honeytail/default.nix index 846bfbdd68be0..ecc6306bdce75 100644 --- a/pkgs/servers/tracing/honeycomb/honeytail/default.nix +++ b/pkgs/servers/tracing/honeycomb/honeytail/default.nix @@ -1,23 +1,28 @@ -{ lib, buildGoModule, fetchFromGitHub }: -import ./versions.nix ({version, sha256}: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: +import ./versions.nix ( + { version, sha256 }: buildGoModule { - pname = "honeytail"; - inherit version; - vendorHash = "sha256-LtiiLGLjhbfT49A6Fw5CbSbnmTHMxtcUssr+ayCVrvY="; + pname = "honeytail"; + inherit version; + vendorHash = "sha256-LtiiLGLjhbfT49A6Fw5CbSbnmTHMxtcUssr+ayCVrvY="; - src = fetchFromGitHub { - owner = "honeycombio"; - repo = "honeytail"; - rev = "v${version}"; - hash = sha256; - }; - inherit (buildGoModule.go) GOOS GOARCH; - - meta = with lib; { - description = "agent for ingesting log file data into honeycomb.io and making it available for exploration"; - homepage = "https://honeycomb.io/"; - license = licenses.asl20; - maintainers = [ maintainers.iand675 ]; - }; -}) + src = fetchFromGitHub { + owner = "honeycombio"; + repo = "honeytail"; + rev = "v${version}"; + hash = sha256; + }; + inherit (buildGoModule.go) GOOS GOARCH; + meta = with lib; { + description = "agent for ingesting log file data into honeycomb.io and making it available for exploration"; + homepage = "https://honeycomb.io/"; + license = licenses.asl20; + maintainers = [ maintainers.iand675 ]; + }; + } +) diff --git a/pkgs/servers/tracing/honeycomb/honeyvent/default.nix b/pkgs/servers/tracing/honeycomb/honeyvent/default.nix index e950980f0375a..036795d5fb792 100644 --- a/pkgs/servers/tracing/honeycomb/honeyvent/default.nix +++ b/pkgs/servers/tracing/honeycomb/honeyvent/default.nix @@ -1,23 +1,28 @@ -{ lib, buildGoModule, fetchFromGitHub }: -import ./versions.nix ({version, sha256}: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: +import ./versions.nix ( + { version, sha256 }: buildGoModule { - pname = "honeyvent"; - inherit version; - vendorHash = null; + pname = "honeyvent"; + inherit version; + vendorHash = null; - src = fetchFromGitHub { - owner = "honeycombio"; - repo = "honeyvent"; - rev = "v${version}"; - hash = sha256; - }; - inherit (buildGoModule.go) GOOS GOARCH; - - meta = with lib; { - description = "CLI for sending individual events to honeycomb.io"; - homepage = "https://honeycomb.io/"; - license = licenses.asl20; - maintainers = [ maintainers.iand675 ]; - }; -}) + src = fetchFromGitHub { + owner = "honeycombio"; + repo = "honeyvent"; + rev = "v${version}"; + hash = sha256; + }; + inherit (buildGoModule.go) GOOS GOARCH; + meta = with lib; { + description = "CLI for sending individual events to honeycomb.io"; + homepage = "https://honeycomb.io/"; + license = licenses.asl20; + maintainers = [ maintainers.iand675 ]; + }; + } +) diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix index 3852f139935c5..0bfabf974e6e8 100644 --- a/pkgs/servers/trezord/default.nix +++ b/pkgs/servers/trezord/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, fetchpatch -, trezor-udev-rules -, nixosTests -, AppKit +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + fetchpatch, + trezor-udev-rules, + nixosTests, + AppKit, }: buildGoModule rec { @@ -30,11 +31,13 @@ buildGoModule rec { }) ]; - propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ trezor-udev-rules ] + propagatedBuildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ trezor-udev-rules ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit ]; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.githash=${commit}" ]; @@ -44,7 +47,13 @@ buildGoModule rec { description = "Trezor Communication Daemon aka Trezor Bridge"; homepage = "https://trezor.io"; license = licenses.lgpl3Only; - maintainers = with maintainers; [ canndrew jb55 prusnak mmahut _1000101 ]; + maintainers = with maintainers; [ + canndrew + jb55 + prusnak + mmahut + _1000101 + ]; mainProgram = "trezord-go"; }; } diff --git a/pkgs/servers/trickster/trickster.nix b/pkgs/servers/trickster/trickster.nix index 2f0a3b60f217c..bcdfb989bee8d 100644 --- a/pkgs/servers/trickster/trickster.nix +++ b/pkgs/servers/trickster/trickster.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, go -, nixosTests +{ + lib, + buildGoModule, + fetchFromGitHub, + go, + nixosTests, }: buildGoModule rec { @@ -22,8 +23,12 @@ buildGoModule rec { subPackages = [ "cmd/trickster" ]; ldflags = - [ "-extldflags '-static'" "-s" "-w" ] ++ - (lib.mapAttrsToList (n: v: "-X main.application${n}=${v}") { + [ + "-extldflags '-static'" + "-s" + "-w" + ] + ++ (lib.mapAttrsToList (n: v: "-X main.application${n}=${v}") { BuildTime = "1970-01-01T00:00:00+0000"; GitCommitID = rev; GoVersion = "go${go.version}}"; diff --git a/pkgs/servers/unpackerr/default.nix b/pkgs/servers/unpackerr/default.nix index 30091834a8567..0e01767fa2ba7 100644 --- a/pkgs/servers/unpackerr/default.nix +++ b/pkgs/servers/unpackerr/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, buildGoModule, Cocoa, WebKit }: +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + Cocoa, + WebKit, +}: buildGoModule rec { pname = "unpackerr"; @@ -13,9 +20,16 @@ buildGoModule rec { vendorHash = "sha256-wWIw0gNn5tqRq0udzPy/n2OkiIVESpSotOSn2YlBNS4="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa WebKit ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + WebKit + ]; - ldflags = [ "-s" "-w" "-X golift.io/version.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X golift.io/version.Version=${version}" + ]; meta = with lib; { description = "Extracts downloads for Radarr, Sonarr, Lidarr - Deletes extracted files after import"; diff --git a/pkgs/servers/unstructured-api/default.nix b/pkgs/servers/unstructured-api/default.nix index 759096ea1b555..2e15a83250469 100644 --- a/pkgs/servers/unstructured-api/default.nix +++ b/pkgs/servers/unstructured-api/default.nix @@ -9,25 +9,34 @@ nltk-data, }: let - pythonEnv = python3.withPackages (packages: with packages; [ - unstructured-api-tools - unstructured - pydantic - click - ratelimit - requests - pypdf - pycryptodome - safetensors - uvicorn - ] ++ packages.unstructured.optional-dependencies.local-inference); + pythonEnv = python3.withPackages ( + packages: + with packages; + [ + unstructured-api-tools + unstructured + pydantic + click + ratelimit + requests + pypdf + pycryptodome + safetensors + uvicorn + ] + ++ packages.unstructured.optional-dependencies.local-inference + ); version = "0.0.61"; unstructured_api_nltk_data = symlinkJoin { name = "unstructured_api_nltk_data"; - paths = [ nltk-data.punkt nltk-data.averaged_perceptron_tagger ]; + paths = [ + nltk-data.punkt + nltk-data.averaged_perceptron_tagger + ]; }; -in stdenvNoCC.mkDerivation { +in +stdenvNoCC.mkDerivation { pname = "unstructured-api"; inherit version; diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix index 23cd855cf715c..d1d67d74b1532 100644 --- a/pkgs/servers/varnish/default.nix +++ b/pkgs/servers/varnish/default.nix @@ -1,8 +1,30 @@ -{ lib, stdenv, fetchurl, pcre, pcre2, jemalloc, libunwind, libxslt, groff, ncurses, pkg-config, readline, libedit -, coreutils, python3, makeWrapper, nixosTests }: +{ + lib, + stdenv, + fetchurl, + pcre, + pcre2, + jemalloc, + libunwind, + libxslt, + groff, + ncurses, + pkg-config, + readline, + libedit, + coreutils, + python3, + makeWrapper, + nixosTests, +}: let - common = { version, hash, extraNativeBuildInputs ? [] }: + common = + { + version, + hash, + extraNativeBuildInputs ? [ ], + }: stdenv.mkDerivation rec { pname = "varnish"; inherit version; @@ -12,14 +34,25 @@ let inherit hash; }; - nativeBuildInputs = with python3.pkgs; [ pkg-config docutils sphinx makeWrapper]; - buildInputs = [ - libxslt groff ncurses readline libedit python3 - ] - ++ lib.optional (lib.versionOlder version "7") pcre - ++ lib.optional (lib.versionAtLeast version "7") pcre2 - ++ lib.optional stdenv.hostPlatform.isDarwin libunwind - ++ lib.optional stdenv.hostPlatform.isLinux jemalloc; + nativeBuildInputs = with python3.pkgs; [ + pkg-config + docutils + sphinx + makeWrapper + ]; + buildInputs = + [ + libxslt + groff + ncurses + readline + libedit + python3 + ] + ++ lib.optional (lib.versionOlder version "7") pcre + ++ lib.optional (lib.versionAtLeast version "7") pcre2 + ++ lib.optional stdenv.hostPlatform.isDarwin libunwind + ++ lib.optional stdenv.hostPlatform.isLinux jemalloc; buildFlags = [ "localstatedir=/var/spool" ]; @@ -34,11 +67,16 @@ let # https://github.com/varnishcache/varnish-cache/issues/1875 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isi686 "-fexcess-precision=standard"; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; passthru = { python = python3; - tests = nixosTests."varnish${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version)}"; + tests = + nixosTests."varnish${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version)}"; }; meta = with lib; { diff --git a/pkgs/servers/varnish/digest.nix b/pkgs/servers/varnish/digest.nix index c3bac64ef8514..763e534a56976 100644 --- a/pkgs/servers/varnish/digest.nix +++ b/pkgs/servers/varnish/digest.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, libmhash, docutils, coreutils, version, sha256 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + varnish, + libmhash, + docutils, + coreutils, + version, + sha256, +}: stdenv.mkDerivation rec { pname = "${varnish.name}-digest"; @@ -11,8 +23,15 @@ stdenv.mkDerivation rec { inherit sha256; }; - nativeBuildInputs = [ autoreconfHook pkg-config docutils ]; - buildInputs = [ varnish libmhash ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + docutils + ]; + buildInputs = [ + varnish + libmhash + ]; postPatch = '' substituteInPlace autogen.sh --replace "''${dataroot}/aclocal" "${varnish.dev}/share/aclocal" diff --git a/pkgs/servers/varnish/dynamic.nix b/pkgs/servers/varnish/dynamic.nix index 78fd4d1064129..da1df5fc50a69 100644 --- a/pkgs/servers/varnish/dynamic.nix +++ b/pkgs/servers/varnish/dynamic.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook269, pkg-config, varnish, docutils, version, sha256 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook269, + pkg-config, + varnish, + docutils, + version, + sha256, +}: stdenv.mkDerivation { pname = "${varnish.name}-dynamic"; @@ -11,7 +21,12 @@ stdenv.mkDerivation { inherit sha256; }; - nativeBuildInputs = [ pkg-config docutils autoreconfHook269 varnish.python ]; + nativeBuildInputs = [ + pkg-config + docutils + autoreconfHook269 + varnish.python + ]; buildInputs = [ varnish ]; postPatch = '' substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal" diff --git a/pkgs/servers/varnish/modules.nix b/pkgs/servers/varnish/modules.nix index 8e6db1b7a28e7..225d5c5e9f42e 100644 --- a/pkgs/servers/varnish/modules.nix +++ b/pkgs/servers/varnish/modules.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, docutils, removeReferencesTo }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + varnish, + docutils, + removeReferencesTo, +}: let - common = { version, hash, extraNativeBuildInputs ? [] }: + common = + { + version, + hash, + extraNativeBuildInputs ? [ ], + }: stdenv.mkDerivation rec { pname = "${varnish.name}-modules"; inherit version; @@ -17,7 +31,7 @@ let docutils pkg-config removeReferencesTo - varnish.python # use same python version as varnish server + varnish.python # use same python version as varnish server ]; buildInputs = [ varnish ]; diff --git a/pkgs/servers/varnish/packages.nix b/pkgs/servers/varnish/packages.nix index 2396b4b3de9ae..f5d72f8226da1 100644 --- a/pkgs/servers/varnish/packages.nix +++ b/pkgs/servers/varnish/packages.nix @@ -1,13 +1,19 @@ -{ callPackages, callPackage, varnish60, varnish75 }: { +{ + callPackages, + callPackage, + varnish60, + varnish75, +}: +{ varnish60Packages = rec { varnish = varnish60; modules = (callPackages ./modules.nix { inherit varnish; }).modules15; - digest = callPackage ./digest.nix { + digest = callPackage ./digest.nix { inherit varnish; version = "libvmod-digest-1.0.2"; sha256 = "0jwkqqalydn0pwfdhirl5zjhbc3hldvhh09hxrahibr72fgmgpbx"; }; - dynamic = callPackage ./dynamic.nix { + dynamic = callPackage ./dynamic.nix { inherit varnish; version = "0.4"; sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk"; diff --git a/pkgs/servers/web-apps/bookstack/composer-env.nix b/pkgs/servers/web-apps/bookstack/composer-env.nix index 71714b7640082..b050628e8d1b4 100644 --- a/pkgs/servers/web-apps/bookstack/composer-env.nix +++ b/pkgs/servers/web-apps/bookstack/composer-env.nix @@ -1,14 +1,28 @@ # This file originates from composer2nix -{ stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }: +{ + stdenv, + lib, + writeTextFile, + fetchurl, + php, + unzip, + phpPackages, +}: let inherit (phpPackages) composer; - filterSrc = src: - builtins.filterSource (path: type: type != "directory" || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn")) src; + filterSrc = + src: + builtins.filterSource ( + path: type: + type != "directory" + || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn") + ) src; - buildZipPackage = { name, src }: + buildZipPackage = + { name, src }: stdenv.mkDerivation { inherit name src; nativeBuildInputs = [ unzip ]; @@ -23,20 +37,22 @@ let }; buildPackage = - { name - , src - , packages ? {} - , devPackages ? {} - , buildInputs ? [] - , symlinkDependencies ? false - , executable ? false - , removeComposerArtifacts ? false - , postInstall ? "" - , noDev ? false - , composerExtraArgs ? "" - , unpackPhase ? "true" - , buildPhase ? "true" - , ...}@args: + { + name, + src, + packages ? { }, + devPackages ? { }, + buildInputs ? [ ], + symlinkDependencies ? false, + executable ? false, + removeComposerArtifacts ? false, + postInstall ? "", + noDev ? false, + composerExtraArgs ? "", + unpackPhase ? "true", + buildPhase ? "true", + ... + }@args: let reconstructInstalled = writeTextFile { @@ -113,128 +129,153 @@ let ''; }; - bundleDependencies = dependencies: - lib.concatMapStrings (dependencyName: + bundleDependencies = + dependencies: + lib.concatMapStrings ( + dependencyName: let dependency = dependencies.${dependencyName}; in '' - ${if dependency.targetDir == "" then '' - vendorDir="$(dirname ${dependencyName})" - mkdir -p "$vendorDir" - ${if symlinkDependencies then - ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' - else - ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' - } - '' else '' - namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")" - mkdir -p "$namespaceDir" - ${if symlinkDependencies then - ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + ${ + if dependency.targetDir == "" then + '' + vendorDir="$(dirname ${dependencyName})" + mkdir -p "$vendorDir" + ${ + if symlinkDependencies then + ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' + else + ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' + } + '' else - ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' - } - ''} - '') (builtins.attrNames dependencies); + '' + namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")" + mkdir -p "$namespaceDir" + ${ + if symlinkDependencies then + ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + else + ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' + } + '' + } + '' + ) (builtins.attrNames dependencies); - extraArgs = removeAttrs args [ "packages" "devPackages" "buildInputs" ]; + extraArgs = removeAttrs args [ + "packages" + "devPackages" + "buildInputs" + ]; in - stdenv.mkDerivation ({ - buildInputs = [ php composer ] ++ buildInputs; - - inherit unpackPhase buildPhase; - - installPhase = '' - ${if executable then '' - mkdir -p $out/share/php - cp -av $src $out/share/php/$name - chmod -R u+w $out/share/php/$name - cd $out/share/php/$name - '' else '' - cp -av $src $out - chmod -R u+w $out - cd $out - ''} - - # Remove unwanted files - rm -f *.nix - - export HOME=$TMPDIR - - # Remove the provided vendor folder if it exists - rm -Rf vendor - - # If there is no composer.lock file, compose a dummy file. - # Otherwise, composer attempts to download the package.json file from - # the registry which we do not want. - if [ ! -f composer.lock ] - then - cat > composer.lock < vendor/composer/installed.json - - # Copy or symlink the provided dependencies - cd vendor - ${bundleDependencies packages} - ${lib.optionalString (!noDev) (bundleDependencies devPackages)} - cd .. - - # Reconstruct autoload scripts - # We use the optimize feature because Nix packages cannot change after they have been built - # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. - composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} - - # Run the install step as a validation to confirm that everything works out as expected - composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} - - ${lib.optionalString executable '' - # Reconstruct the bin/ folder if we deploy an executable project - ${php}/bin/php ${constructBin} composer.json - ln -s $(pwd)/vendor/bin $out/bin - ''} - - ${lib.optionalString (!symlinkDependencies) '' - # Patch the shebangs if possible - if [ -d $(pwd)/vendor/bin ] + stdenv.mkDerivation ( + { + buildInputs = [ + php + composer + ] ++ buildInputs; + + inherit unpackPhase buildPhase; + + installPhase = '' + ${ + if executable then + '' + mkdir -p $out/share/php + cp -av $src $out/share/php/$name + chmod -R u+w $out/share/php/$name + cd $out/share/php/$name + '' + else + '' + cp -av $src $out + chmod -R u+w $out + cd $out + '' + } + + # Remove unwanted files + rm -f *.nix + + export HOME=$TMPDIR + + # Remove the provided vendor folder if it exists + rm -Rf vendor + + # If there is no composer.lock file, compose a dummy file. + # Otherwise, composer attempts to download the package.json file from + # the registry which we do not want. + if [ ! -f composer.lock ] + then + cat > composer.lock < vendor/composer/installed.json + + # Copy or symlink the provided dependencies + cd vendor + ${bundleDependencies packages} + ${lib.optionalString (!noDev) (bundleDependencies devPackages)} + cd .. + + # Reconstruct autoload scripts + # We use the optimize feature because Nix packages cannot change after they have been built + # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. + composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} + + # Run the install step as a validation to confirm that everything works out as expected + composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs} + + ${lib.optionalString executable '' + # Reconstruct the bin/ folder if we deploy an executable project + ${php}/bin/php ${constructBin} composer.json + ln -s $(pwd)/vendor/bin $out/bin + ''} + + ${lib.optionalString (!symlinkDependencies) '' + # Patch the shebangs if possible + if [ -d $(pwd)/vendor/bin ] + then + # Look for all executables in bin/ + for i in $(pwd)/vendor/bin/* + do + # Look for their location + realFile=$(readlink -f "$i") + + # Restore write permissions + chmod u+wx "$(dirname "$realFile")" + chmod u+w "$realFile" + + # Patch shebang + sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \ + -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \ + "$realFile" > tmp + mv tmp "$realFile" + chmod u+x "$realFile" + done + fi + ''} + + if [ "$removeComposerArtifacts" = "1" ] then - # Look for all executables in bin/ - for i in $(pwd)/vendor/bin/* - do - # Look for their location - realFile=$(readlink -f "$i") - - # Restore write permissions - chmod u+wx "$(dirname "$realFile")" - chmod u+w "$realFile" - - # Patch shebang - sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \ - -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \ - "$realFile" > tmp - mv tmp "$realFile" - chmod u+x "$realFile" - done + # Remove composer stuff + rm -f composer.json composer.lock fi - ''} - - if [ "$removeComposerArtifacts" = "1" ] - then - # Remove composer stuff - rm -f composer.json composer.lock - fi - - # Execute post install hook - runHook postInstall - ''; - } // extraArgs); + + # Execute post install hook + runHook postInstall + ''; + } + // extraArgs + ); in { inherit filterSrc; diff --git a/pkgs/servers/web-apps/bookstack/composition.nix b/pkgs/servers/web-apps/bookstack/composition.nix index d8df4b81fa3e4..938847416b5d0 100644 --- a/pkgs/servers/web-apps/bookstack/composition.nix +++ b/pkgs/servers/web-apps/bookstack/composition.nix @@ -1,15 +1,31 @@ -{pkgs ? import { +{ + pkgs ? import { inherit system; - }, system ? builtins.currentSystem, noDev ? false, php ? pkgs.php, phpPackages ? pkgs.phpPackages}: + }, + system ? builtins.currentSystem, + noDev ? false, + php ? pkgs.php, + phpPackages ? pkgs.phpPackages, +}: let composerEnv = import ./composer-env.nix { - inherit (pkgs) stdenv lib writeTextFile fetchurl unzip; + inherit (pkgs) + stdenv + lib + writeTextFile + fetchurl + unzip + ; inherit php phpPackages; }; in import ./php-packages.nix { inherit composerEnv noDev; - inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn; + inherit (pkgs) + fetchurl + fetchgit + fetchhg + fetchsvn + ; } - diff --git a/pkgs/servers/web-apps/bookstack/default.nix b/pkgs/servers/web-apps/bookstack/default.nix index f8e4be274be4b..46a4e1e0b564b 100644 --- a/pkgs/servers/web-apps/bookstack/default.nix +++ b/pkgs/servers/web-apps/bookstack/default.nix @@ -1,20 +1,31 @@ -{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/bookstack" }: +{ + pkgs, + stdenv, + lib, + fetchFromGitHub, + dataDir ? "/var/lib/bookstack", +}: let - package = (import ./composition.nix { - inherit pkgs; - inherit (stdenv.hostPlatform) system; - noDev = true; # Disable development dependencies - }).overrideAttrs (attrs : { - installPhase = attrs.installPhase + '' - rm -R $out/storage $out/public/uploads - ln -s ${dataDir}/.env $out/.env - ln -s ${dataDir}/storage $out/storage - ln -s ${dataDir}/public/uploads $out/public/uploads - ''; - }); + package = + (import ./composition.nix { + inherit pkgs; + inherit (stdenv.hostPlatform) system; + noDev = true; # Disable development dependencies + }).overrideAttrs + (attrs: { + installPhase = + attrs.installPhase + + '' + rm -R $out/storage $out/public/uploads + ln -s ${dataDir}/.env $out/.env + ln -s ${dataDir}/storage $out/storage + ln -s ${dataDir}/public/uploads $out/public/uploads + ''; + }); -in package.override rec { +in +package.override rec { pname = "bookstack"; version = "24.05.4"; diff --git a/pkgs/servers/web-apps/bookstack/php-packages.nix b/pkgs/servers/web-apps/bookstack/php-packages.nix index 423fd28c8736e..97bf21609d656 100644 --- a/pkgs/servers/web-apps/bookstack/php-packages.nix +++ b/pkgs/servers/web-apps/bookstack/php-packages.nix @@ -1,4 +1,11 @@ -{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, noDev ? false}: +{ + composerEnv, + fetchurl, + fetchgit ? null, + fetchhg ? null, + fetchsvn ? null, + noDev ? false, +}: let packages = { @@ -1113,7 +1120,7 @@ let }; }; }; - devPackages = {}; + devPackages = { }; in composerEnv.buildPackage { inherit packages devPackages noDev; @@ -1125,4 +1132,3 @@ composerEnv.buildPackage { license = "MIT"; }; } - diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 1f702d13502b9..9b0e635d9ba86 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -1,49 +1,50 @@ -{ stdenv -, pkgs -, makeWrapper -, runCommand -, lib -, writeShellScript -, fetchFromGitHub -, bundlerEnv -, callPackage - -, ruby_3_2 -, replace -, gzip -, gnutar -, git -, cacert -, util-linux -, gawk -, nettools -, imagemagick -, optipng -, pngquant -, libjpeg -, jpegoptim -, gifsicle -, jhead -, oxipng -, libpsl -, redis -, postgresql -, which -, brotli -, procps -, rsync -, icu -, fetchYarnDeps -, yarn -, fixup-yarn-lock -, nodePackages -, nodejs_18 -, jq -, moreutils -, terser -, uglify-js - -, plugins ? [] +{ + stdenv, + pkgs, + makeWrapper, + runCommand, + lib, + writeShellScript, + fetchFromGitHub, + bundlerEnv, + callPackage, + + ruby_3_2, + replace, + gzip, + gnutar, + git, + cacert, + util-linux, + gawk, + nettools, + imagemagick, + optipng, + pngquant, + libjpeg, + jpegoptim, + gifsicle, + jhead, + oxipng, + libpsl, + redis, + postgresql, + which, + brotli, + procps, + rsync, + icu, + fetchYarnDeps, + yarn, + fixup-yarn-lock, + nodePackages, + nodejs_18, + jq, + moreutils, + terser, + uglify-js, + + plugins ? [ ], }@args: let @@ -70,10 +71,10 @@ let # Misc required system utils which - procps # For ps and kill - util-linux # For renice + procps # For ps and kill + util-linux # For renice gawk - nettools # For hostname + nettools # For hostname # Image optimization imagemagick @@ -94,54 +95,77 @@ let }; mkDiscoursePlugin = - { name ? null - , pname ? null - , version ? null - , meta ? null - , bundlerEnvArgs ? {} - , preserveGemsDir ? false - , src - , ... + { + name ? null, + pname ? null, + version ? null, + meta ? null, + bundlerEnvArgs ? { }, + preserveGemsDir ? false, + src, + ... }@args: let - rubyEnv = bundlerEnv (bundlerEnvArgs // { - inherit name pname version ruby; - }); + rubyEnv = bundlerEnv ( + bundlerEnvArgs + // { + inherit + name + pname + version + ruby + ; + } + ); in - stdenv.mkDerivation (builtins.removeAttrs args [ "bundlerEnvArgs" ] // { + stdenv.mkDerivation ( + builtins.removeAttrs args [ "bundlerEnvArgs" ] + // { pluginName = if name != null then name else "${pname}-${version}"; dontConfigure = true; dontBuild = true; - installPhase = '' - runHook preInstall - mkdir -p $out - cp -r * $out/ - '' + lib.optionalString (bundlerEnvArgs != {}) ( - if preserveGemsDir then '' - cp -r ${rubyEnv}/lib/ruby/gems/* $out/gems/ + installPhase = '' - else '' - if [[ -e $out/gems ]]; then - echo "Warning: The repo contains a 'gems' directory which will be removed!" - echo " If you need to preserve it, set 'preserveGemsDir = true'." - rm -r $out/gems - fi - ln -sf ${rubyEnv}/lib/ruby/gems $out/gems - '' + '' - runHook postInstall - ''); - }); - - rake = runCommand "discourse-rake" { - nativeBuildInputs = [ makeWrapper ]; - } '' - mkdir -p $out/bin - makeWrapper ${rubyEnv}/bin/rake $out/bin/discourse-rake \ - ${lib.concatStrings (lib.mapAttrsToList (name: value: "--set ${name} '${value}' ") runtimeEnv)} \ - --prefix PATH : ${lib.makeBinPath runtimeDeps} \ - --set RAKEOPT '-f ${discourse}/share/discourse/Rakefile' \ - --chdir '${discourse}/share/discourse' - ''; + runHook preInstall + mkdir -p $out + cp -r * $out/ + '' + + lib.optionalString (bundlerEnvArgs != { }) ( + if preserveGemsDir then + '' + cp -r ${rubyEnv}/lib/ruby/gems/* $out/gems/ + '' + else + '' + if [[ -e $out/gems ]]; then + echo "Warning: The repo contains a 'gems' directory which will be removed!" + echo " If you need to preserve it, set 'preserveGemsDir = true'." + rm -r $out/gems + fi + ln -sf ${rubyEnv}/lib/ruby/gems $out/gems + '' + + '' + runHook postInstall + '' + ); + } + ); + + rake = + runCommand "discourse-rake" + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper ${rubyEnv}/bin/rake $out/bin/discourse-rake \ + ${ + lib.concatStrings (lib.mapAttrsToList (name: value: "--set ${name} '${value}' ") runtimeEnv) + } \ + --prefix PATH : ${lib.makeBinPath runtimeDeps} \ + --set RAKEOPT '-f ${discourse}/share/discourse/Rakefile' \ + --chdir '${discourse}/share/discourse' + ''; rubyEnv = bundlerEnv { name = "discourse-ruby-env-${version}"; @@ -151,50 +175,56 @@ let let gems = import ./rubyEnv/gemset.nix; in - gems // { - mini_racer = gems.mini_racer // { - buildInputs = [ icu ]; - dontBuild = false; - NIX_LDFLAGS = "-licui18n"; - }; - libv8-node = - let - noopScript = writeShellScript "noop" "exit 0"; - linkFiles = writeShellScript "link-files" '' - cd ../.. - - mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ - ln -s "${nodejs_18.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a - - ln -s ${nodejs_18.libv8}/include vendor/v8/include - - mkdir -p ext/libv8-node - echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml - ''; - in gems.libv8-node // { - dontBuild = false; - postPatch = '' - cp ${noopScript} libexec/build-libv8 - cp ${noopScript} libexec/build-monolith - cp ${noopScript} libexec/download-node - cp ${noopScript} libexec/extract-node - cp ${linkFiles} libexec/inject-libv8 - ''; - }; - mini_suffix = gems.mini_suffix // { - propagatedBuildInputs = [ libpsl ]; + gems + // { + mini_racer = gems.mini_racer // { + buildInputs = [ icu ]; + dontBuild = false; + NIX_LDFLAGS = "-licui18n"; + }; + libv8-node = + let + noopScript = writeShellScript "noop" "exit 0"; + linkFiles = writeShellScript "link-files" '' + cd ../.. + + mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ + ln -s "${nodejs_18.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a + + ln -s ${nodejs_18.libv8}/include vendor/v8/include + + mkdir -p ext/libv8-node + echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml + ''; + in + gems.libv8-node + // { dontBuild = false; - # Use our libpsl instead of the vendored one, which isn't - # available for aarch64. It has to be called - # libpsl.x86_64.so or it isn't found. postPatch = '' - cp $(readlink -f ${lib.getLib libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so + cp ${noopScript} libexec/build-libv8 + cp ${noopScript} libexec/build-monolith + cp ${noopScript} libexec/download-node + cp ${noopScript} libexec/extract-node + cp ${linkFiles} libexec/inject-libv8 ''; }; + mini_suffix = gems.mini_suffix // { + propagatedBuildInputs = [ libpsl ]; + dontBuild = false; + # Use our libpsl instead of the vendored one, which isn't + # available for aarch64. It has to be called + # libpsl.x86_64.so or it isn't found. + postPatch = '' + cp $(readlink -f ${lib.getLib libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so + ''; }; + }; groups = [ - "default" "assets" "development" "test" + "default" + "assets" + "development" + "test" ]; }; @@ -218,7 +248,11 @@ let fixup-yarn-lock ]; - outputs = [ "out" "javascripts" "node_modules" ]; + outputs = [ + "out" + "javascripts" + "node_modules" + ]; patches = [ # Use the Ruby API version in the plugin gem path, to match the @@ -324,7 +358,9 @@ let inherit version src; buildInputs = [ - rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler + rubyEnv + rubyEnv.wrappedRuby + rubyEnv.bundler ]; patches = [ @@ -395,7 +431,9 @@ let ln -sf ${assets} $out/share/discourse/public.dist/assets rm -r $out/share/discourse/app/assets/javascripts ln -sf ${assets.javascripts} $out/share/discourse/app/assets/javascripts - ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} $out/share/discourse/plugins/${p.pluginName or ""}") plugins} + ${lib.concatMapStringsSep "\n" ( + p: "ln -sf ${p} $out/share/discourse/plugins/${p.pluginName or ""}" + ) plugins} runHook postInstall ''; @@ -409,10 +447,17 @@ let }; passthru = { - inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin assets; + inherit + rubyEnv + runtimeEnv + runtimeDeps + rake + mkDiscoursePlugin + assets + ; inherit (pkgs) discourseAllPlugins - ; + ; enabledPlugins = plugins; plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; }; ruby = rubyEnv.wrappedRuby; @@ -423,4 +468,5 @@ let }; }; }; -in discourse +in +discourse diff --git a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix index 5845f16b2d27c..864bdb978d4f5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix +++ b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix @@ -3,25 +3,25 @@ let callPackage = newScope args; in { - discourse-assign = callPackage ./discourse-assign {}; - discourse-bbcode-color = callPackage ./discourse-bbcode-color {}; - discourse-calendar = callPackage ./discourse-calendar {}; - discourse-canned-replies = callPackage ./discourse-canned-replies {}; - discourse-chat-integration = callPackage ./discourse-chat-integration {}; - discourse-checklist = callPackage ./discourse-checklist {}; - discourse-data-explorer = callPackage ./discourse-data-explorer {}; - discourse-docs = callPackage ./discourse-docs {}; - discourse-github = callPackage ./discourse-github {}; - discourse-ldap-auth = callPackage ./discourse-ldap-auth {}; - discourse-math = callPackage ./discourse-math {}; - discourse-migratepassword = callPackage ./discourse-migratepassword {}; - discourse-oauth2-basic = callPackage ./discourse-oauth2-basic {}; - discourse-openid-connect = callPackage ./discourse-openid-connect {}; - discourse-prometheus = callPackage ./discourse-prometheus {}; - discourse-reactions = callPackage ./discourse-reactions {}; - discourse-saved-searches = callPackage ./discourse-saved-searches {}; - discourse-solved = callPackage ./discourse-solved {}; - discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {}; - discourse-voting = callPackage ./discourse-voting {}; - discourse-yearly-review = callPackage ./discourse-yearly-review {}; + discourse-assign = callPackage ./discourse-assign { }; + discourse-bbcode-color = callPackage ./discourse-bbcode-color { }; + discourse-calendar = callPackage ./discourse-calendar { }; + discourse-canned-replies = callPackage ./discourse-canned-replies { }; + discourse-chat-integration = callPackage ./discourse-chat-integration { }; + discourse-checklist = callPackage ./discourse-checklist { }; + discourse-data-explorer = callPackage ./discourse-data-explorer { }; + discourse-docs = callPackage ./discourse-docs { }; + discourse-github = callPackage ./discourse-github { }; + discourse-ldap-auth = callPackage ./discourse-ldap-auth { }; + discourse-math = callPackage ./discourse-math { }; + discourse-migratepassword = callPackage ./discourse-migratepassword { }; + discourse-oauth2-basic = callPackage ./discourse-oauth2-basic { }; + discourse-openid-connect = callPackage ./discourse-openid-connect { }; + discourse-prometheus = callPackage ./discourse-prometheus { }; + discourse-reactions = callPackage ./discourse-reactions { }; + discourse-saved-searches = callPackage ./discourse-saved-searches { }; + discourse-solved = callPackage ./discourse-solved { }; + discourse-spoiler-alert = callPackage ./discourse-spoiler-alert { }; + discourse-voting = callPackage ./discourse-voting { }; + discourse-yearly-review = callPackage ./discourse-yearly-review { }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix index 289ed1b6599b9..e90a8e4948568 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-assign"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix index 9dc50e51db03d..b07422f3a58b1 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-bbcode-color"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix index 00f447b49c7b8..4c162508575e0 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-calendar"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix index 51922b163d4b5..8fdcbcd0fa355 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix @@ -1,113 +1,123 @@ { activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "minitest" + "mutex_m" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z8kygxmz99krz9pwp947znkzf0jr64sml28df0vf1gzxlg7y57i"; type = "gem"; }; version = "7.1.3.3"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; version = "1.2.3"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i"; type = "gem"; }; version = "5.23.1"; }; mutex_m = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; rrule = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04h3q0ws0wswqj3mwjyv44yx59d9ima9a820ay9w5bwnlb73syj2"; type = "gem"; }; version = "0.4.4"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix index d5628fed4003f..b6f6c113ea248 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-canned-replies"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix index e5413340c1dae..75c022b66250b 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-chat-integration"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix index a44c9771cd01a..d9934bc3d8729 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-checklist"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix index 38c9507e1dc56..51e565b143e3c 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-data-explorer"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix index 7da74adeda00e..b87cf87d990f0 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix index b7f3d24727760..8809625fd6dfe 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-github"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix index bed6505c5fe0b..b7faea9c8a6aa 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix @@ -1,105 +1,115 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; faraday = { - dependencies = ["faraday-net_http" "json" "logger"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "faraday-net_http" + "json" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05s5pyxh7y68jphb0lgrh0ksxbp4lmbsc6a6qg0ahj15pjqx01ni"; type = "gem"; }; version = "2.12.0"; }; faraday-net_http = { - dependencies = ["net-http"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-http" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rg54k4skaz8z7j358p6pdzc9pr84fjq7sdlpicf7s5ig7vb1rlk"; type = "gem"; }; version = "3.3.0"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1prbjd8r4rq6hjc6d5hn8hlpf4g9h62swxj7absjac7qqnzwrhvw"; type = "gem"; }; version = "2.7.3"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; net-http = { - dependencies = ["uri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; version = "0.4.1"; }; octokit = { - dependencies = ["faraday" "sawyer"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "faraday" + "sawyer" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15g4kyag6gmxxq6d03472h7srm3imlsks1wg6nac7hl3mb1b5vs8"; type = "gem"; }; version = "5.6.1"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; sawyer = { - dependencies = ["addressable" "faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "addressable" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; type = "gem"; }; version = "0.9.2"; }; uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07ndgxyhzd02cg94s6rnfhkb9rwx9z72lzk368sa9j78wc9qnbfz"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix index 04e0a735fc2bc..52b7dbc093fe3 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-ldap-auth"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix index 9df3292f7b823..97d9bac530d82 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix @@ -1,71 +1,79 @@ { hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; net-ldap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj"; type = "gem"; }; version = "0.17.1"; }; omniauth = { - dependencies = ["hashie" "rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "hashie" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jn9j54l5h7xcba2vjq74l1dk0xrwvsjxam4qhylpi52nw0h5502"; type = "gem"; }; version = "1.9.2"; }; omniauth-ldap = { - dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "net-ldap" + "omniauth" + "pyu-ruby-sasl" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ld3mx46xa1qhc0cpnck1n06xcxs0ag4n41zgabxri27a772f9wz"; type = "gem"; }; version = "1.0.5"; }; pyu-ruby-sasl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn"; type = "gem"; }; version = "0.0.3.3"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w217k9z02c4hqizym8dkj6bqmmzx4qdvqpnskgzf174a5pwdxk"; type = "gem"; }; version = "2.2.7"; }; rubyntlm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18d1lxhx62swggf4cqg76h7hp04f5801c8h07w08cm9xng2niqby"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix index 58433a887e594..9fec32d7f7493 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-math"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix index d220f050e20a2..862e53fa44333 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-migratepassword"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix index bff0d82479a3a..d1c88454e8bcc 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix @@ -1,61 +1,67 @@ { argon2 = { - dependencies = ["ffi" "ffi-compiler"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "ffi" + "ffi-compiler" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wdllcqlr81nzyf485ldv1p660xsi476p79ghbj7zsf3n9n86gwd"; type = "gem"; }; version = "2.2.0"; }; bcrypt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ai0m15jg3n0b22mimk09ppnga316dc7dyvz06w8rrqh5gy1lslp"; type = "gem"; }; version = "3.1.13"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; ffi-compiler = { - dependencies = ["ffi" "rake"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "ffi" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"; type = "gem"; }; version = "1.0.1"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; unix-crypt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wflipsmmicmgvqilp9pml4x19b337kh6p6jgrzqrzpkq2z52gdq"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/default.nix index b9fa198143917..a938d6ea1ae67 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin rec { name = "discourse-oauth2-basic"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/gemset.nix index bbb35327787b2..8bbea6576bf1e 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-oauth2-basic/gemset.nix @@ -1,124 +1,169 @@ { ast = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; parallel = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb"; type = "gem"; }; version = "1.22.1"; }; parser = { - dependencies = ["ast"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ "ast" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zaghgvva2q4jqbachg8jvpwgbg3w1jqr0d00m8rqciqznjgsw3c"; type = "gem"; }; version = "3.1.1.0"; }; rainbow = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; regexp_parser = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm"; type = "gem"; }; version = "2.2.1"; }; rexml = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rexml" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06105yrqajpm5l07fng1nbk55y9490hny542zclnan8hg841pjgl"; type = "gem"; }; version = "1.26.1"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ "parser" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv"; type = "gem"; }; version = "1.16.0"; }; rubocop-discourse = { - dependencies = ["rubocop" "rubocop-rspec"]; - groups = ["development"]; - platforms = []; + dependencies = [ + "rubocop" + "rubocop-rspec" + ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01f4y7am9cq276zl8vsgv64w8wfmhpbzg7vzsifhgnnh92g6s04g"; type = "gem"; }; version = "2.5.0"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "051gq9pz49iv4gq34d3n089iaa6cb418n2fhin6gd6fpysbi3nf6"; type = "gem"; }; version = "2.9.0"; }; ruby-progressbar = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc"; type = "gem"; }; version = "1.11.0"; }; unicode-display_width = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix index ac8d308b1fb86..3a2c9e026a1f3 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-openid-connect"; @@ -16,4 +20,3 @@ mkDiscoursePlugin { description = "Discourse plugin to integrate Discourse with an openid-connect login provider"; }; } - diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/gemset.nix index 2a546e7a1c87a..37d643eb7d03c 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/gemset.nix @@ -1,124 +1,169 @@ { ast = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a"; type = "gem"; }; version = "2.4.1"; }; parallel = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l"; type = "gem"; }; version = "1.19.2"; }; parser = { - dependencies = ["ast"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ "ast" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z"; type = "gem"; }; version = "2.7.2.0"; }; rainbow = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; type = "gem"; }; version = "3.0.0"; }; regexp_parser = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n9d14ppshnx71i3mi1pnm3hwhcbb6m6vsc0b0dqgsab8r2rs96n"; type = "gem"; }; version = "1.8.1"; }; rexml = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rexml" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nrv7i81549addig09grw17qkab3l4319dcsf9y7psl7aa76ng3a"; type = "gem"; }; version = "0.93.0"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ "parser" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "129hgz4swc8n0g01715v7y00k0h4mlzkxh63q7z27q7mjp54rl74"; type = "gem"; }; version = "0.7.1"; }; rubocop-discourse = { - dependencies = ["rubocop" "rubocop-rspec"]; - groups = ["development"]; - platforms = []; + dependencies = [ + "rubocop" + "rubocop-rspec" + ]; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10l2wwnvd4xccgqsyhxrhc5bw10b7an4awl0v90fw5xf2qdjiflw"; type = "gem"; }; version = "2.3.2"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["default" "development"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sc0bwdxzfr8byxzwvfyf22lwzqcaa6ca7wzxx31mk7vvy7r7dhl"; type = "gem"; }; version = "1.43.2"; }; ruby-progressbar = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf"; type = "gem"; }; version = "1.10.1"; }; unicode-display_width = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix index d6af6a08476b6..6ad453601be4e 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix @@ -1,6 +1,10 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: - mkDiscoursePlugin { +mkDiscoursePlugin { bundlerEnvArgs.gemdir = ./.; name = "discourse-prometheus"; src = fetchFromGitHub { diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix index 9e889f9884145..d4e5472420b5b 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix @@ -1,20 +1,20 @@ { prometheus_exporter = { - dependencies = ["webrick"]; - groups = ["default"]; - platforms = []; + dependencies = [ "webrick" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb4k6px8b36bvnw3d14j31s33ns60dcwxixbcgvhpzavd7fparb"; type = "gem"; }; version = "2.0.6"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix index 52bbc5ca2df4b..50881d6782fb5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-reactions"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix index 3403667cc1b82..4d9fe87853a28 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-saved-searches"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix index 0e24578d36489..14aac40df9bd8 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-solved"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix index 56240177a73e5..75f78b9d6b70f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-spoiler-alert"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix index 554cce44ae8a8..1fe9b05ccadc4 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-voting"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix index a75392526c6e7..f9fa3c7559314 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix @@ -1,4 +1,8 @@ -{ lib, mkDiscoursePlugin, fetchFromGitHub }: +{ + lib, + mkDiscoursePlugin, + fetchFromGitHub, +}: mkDiscoursePlugin { name = "discourse-yearly-review"; diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index b6f82fc701f43..df6e08bb6e463 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -1,2749 +1,3488 @@ { actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "actionview" + "activejob" + "activesupport" + "mail" + "net-imap" + "net-pop" + "net-smtp" + "rails-dom-testing" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0l835a50h95wlzcy76c2vg54ix3i55kqmnrmz67b11q5fjb6068z"; type = "gem"; }; version = "7.1.3.4"; }; actionpack = { - dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionview" + "activesupport" + "nokogiri" + "racc" + "rack" + "rack-session" + "rack-test" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lpd0lvn6abcq5k8g0qw8kmzx6igirlqxvd1hhwmr5vaxhdwgbyw"; type = "gem"; }; version = "7.1.3.4"; }; actionview = { - dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "builder" + "erubi" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nv1ifjhm59abc52k2hwazl38r9cc4bkfgdsl00f24gc5ljgbz21"; type = "gem"; }; version = "7.1.3.4"; }; actionview_precompiler = { - dependencies = ["actionview"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionview" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "077d83avfm73nd0yji853jn94jpbr496apyz5zh5df61qipbvdik"; type = "gem"; }; version = "0.4.0"; }; active_model_serializers = { - dependencies = ["activemodel"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activemodel" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k3mgia2ahh7mbk30hjq9pzqbk0kh281s91kq2z6p555nv9y6l3k"; type = "gem"; }; version = "0.8.4"; }; activejob = { - dependencies = ["activesupport" "globalid"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "globalid" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qhg0izdckgyqmrsgigh1vkqg8ccrkdjhf36k9gxcbgvzpqfx2iz"; type = "gem"; }; version = "7.1.3.4"; }; activemodel = { - dependencies = ["activesupport"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0wmdw440l4h75zk6c4ynbnv21bj26dh8kb1kwikqkjnzfvm3ij7l"; type = "gem"; }; version = "7.1.3.4"; }; activerecord = { - dependencies = ["activemodel" "activesupport" "timeout"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + "timeout" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wihj9xhr7yj10hh8fqw6ralanbwlisncbam8pa92czjssjfqkkq"; type = "gem"; }; version = "7.1.3.4"; }; activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "minitest" + "mutex_m" + "tzinfo" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5"; type = "gem"; }; version = "7.1.3.4"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "public_suffix" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; annotate = { - dependencies = ["activerecord" "rake"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "rake" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lw0fxb5mirsdp3bp20gjyvs7clvi19jbxnrm2ihm20kzfhvlqcs"; type = "gem"; }; version = "3.2.0"; }; ast = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fhym2gsm9kzl74nvzk3hhw288n1l77kxinhik43p37ayranzcv5"; type = "gem"; }; version = "1.894.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "088nq8yz9n4p7pnhjwp9nbxlkj7jwchpkzvnl4nybfb1dkvk4dns"; type = "gem"; }; version = "3.191.3"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gbxms3daszl4mk89swjrpq3fqgm9lg0wl65yjfp0nfz8jm4jyqf"; type = "gem"; }; version = "1.77.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1safbxycz517m2v981z8kbmdiqx9jypl093ia0mcrskkgh4fyb3s"; type = "gem"; }; version = "1.143.0"; }; aws-sdk-sns = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ql1y276lfk27dyisk8ak1wdnysklw2dcir3kgy05glzzc9j4z1w"; type = "gem"; }; version = "1.72.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; type = "gem"; }; version = "1.8.0"; }; base64 = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; better_errors = { - dependencies = ["erubi" "rack" "rouge"]; - groups = ["development"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "rack" + "rouge" + ]; + groups = [ "development" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0wqazisnn6hn1wsza412xribpw5wzx6b5z5p4mcpfgizr6xg367p"; type = "gem"; }; version = "2.10.1"; }; bigdecimal = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; binding_of_caller = { - dependencies = ["debug_inspector"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "debug_inspector" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16mjj15ks5ws53v2y31hxcmf46d0qjdvdaadpk7xsij2zymh4a9b"; type = "gem"; }; version = "1.0.1"; }; bootsnap = { - dependencies = ["msgpack"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "msgpack" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1srlq3gqirzdkhv12ljpnp5cb0f8jfrl3n8xs9iivyz2c7khvdyp"; type = "gem"; }; version = "1.18.3"; }; builder = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; bullet = { - dependencies = ["activesupport" "uniform_notifier"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "uniform_notifier" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12gacycw1adsdjp14pm43619c6lcdaddhgbdizy7gnzmnjhwh0im"; type = "gem"; }; version = "7.2.0"; }; byebug = { - groups = ["development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; type = "gem"; }; version = "11.1.3"; }; capybara = { - dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "matrix" + "mini_mime" + "nokogiri" + "rack" + "rack-test" + "regexp_parser" + "xpath" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; type = "gem"; }; version = "3.40.0"; }; cbor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y"; type = "gem"; }; version = "0.5.9.8"; }; certified = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1706p6p0a8adyvd943af2a3093xakvislgffw3v9dvp7j07dyk5a"; type = "gem"; }; version = "1.0.0"; }; cgi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c5494n3n6l51n1w1vc118zckbqdzk7r6b656hswg72w0bif2ja3"; type = "gem"; }; version = "0.4.1"; }; chunky_png = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; coderay = { - groups = ["default" "development"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan"; type = "gem"; }; version = "4.0.0"; }; concurrent-ruby = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g"; type = "gem"; }; version = "1.3.3"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; cose = { - dependencies = ["cbor" "openssl-signature_algorithm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cbor" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00c6x4ha7qiaaf88qdbyf240mk146zz78rbm4qwyaxmwlmk7q933"; type = "gem"; }; version = "1.3.0"; }; cppjieba_rb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ijzvnm5jclyhf6ls30kv7dqy05f3hbha69f59jwbzdid7dndla5"; type = "gem"; }; version = "0.4.2"; }; crack = { - dependencies = ["bigdecimal" "rexml"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "rexml" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jaa7is4fw1cxigm8vlyhg05bw4nqy4f91zjqxk7pp4c8bdyyfn8"; type = "gem"; }; version = "1.0.0"; }; crass = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; css_parser = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rhqn05w27w2mjrf0a6ppb4fxpxbfvyhwgdxa8z886jr4qnhywzb"; type = "gem"; }; version = "1.17.1"; }; csv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b"; type = "gem"; }; version = "3.3.0"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; version = "3.3.4"; }; debug_inspector = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; type = "gem"; }; version = "1.2.0"; }; diff-lcs = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; version = "1.5.1"; }; diffy = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qcsv29ljfhy76gq4xi8zpn6dc6nv15c41r131bdr38kwpxjzd1n"; type = "gem"; }; version = "3.4.2"; }; digest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qkpbkxq83ip3iysfh2kjrg9sh2n2q91prhyxh3vq10lcfzv9l1"; type = "gem"; }; version = "3.1.1"; }; discourse-fonts = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1q9fmqc7dir2nj94nai58h26zsh6fqmbr6hfax5d6xpy4pm1yf"; type = "gem"; }; version = "0.0.9"; }; discourse-seed-fu = { - dependencies = ["activerecord" "activesupport"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1r3mbi72cx3xx8dnva1zhvxcacdma4xfn16d8s860m7d25fdjqag"; type = "gem"; }; version = "2.3.12"; }; discourse_dev_assets = { - dependencies = ["faker" "literate_randomizer"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faker" + "literate_randomizer" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ncd6n34vm7qd5mpza8wrqfkgfc6xbd5rxjcbdnvsv94zxr75rm1"; type = "gem"; }; version = "0.0.4"; }; docile = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07pj4z3h8wk4fgdn6s62vw1lwvhj0ac0x10vfbdkr9xzk7krn5cn"; type = "gem"; }; version = "1.4.1"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; email_reply_trimmer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jgcxifm48xq5dz9k47q43pqm5bfnf14l62l3bqhmv8f6z8dw4ki"; type = "gem"; }; version = "0.1.13"; }; erubi = { - groups = ["default" "development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ala6123d3cv965ss48iyi0q4hcbzrznfwv2f1mr91sy98cigq4h"; type = "gem"; }; version = "0.111.0"; }; execjs = { - groups = ["assets" "default"]; - platforms = []; + groups = [ + "assets" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yywajqlpjhrj1m43s3lfg3i4lkb6pxwccmwps7qw37ndmphdzg8"; type = "gem"; }; version = "2.9.1"; }; exifr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11v201jljn327fwjqcsglrbdnyhivnj7j6nh6wym5zjqgrwxy3kn"; type = "gem"; }; version = "1.4.0"; }; fabrication = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1al5iv3as21l5clci0b5cg27z136pan7gkj7plp4l0w83c6z2y9c"; type = "gem"; }; version = "2.31.0"; }; faker = { - dependencies = ["i18n"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "i18n" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wslw5gh335zcahxmdd497xaa7h0d8l60c0jfv942mn47fxy8m47"; type = "gem"; }; version = "2.23.0"; }; fakeweb = { - groups = ["test"]; - platforms = []; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a09z9nb369bvwpghncgd5y4f95lh28w0q258srh02h22fz9dj8y"; type = "gem"; }; version = "1.3.0"; }; faraday = { - dependencies = ["faraday-net_http" "logger"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-net_http" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1adx342h7s3imyrwwbda73g9ni1y07qj35br9lrzq4f5mh16qghs"; type = "gem"; }; version = "2.10.0"; }; faraday-net_http = { - dependencies = ["net-http"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-http" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys"; type = "gem"; }; version = "3.1.1"; }; faraday-retry = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "023ncwlagnf2irx2ckyj1pg1f1x436jgr4a5y45mih298p8zwij1"; type = "gem"; }; version = "2.2.1"; }; fast_blank = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "rbx"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "rbx"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1shpmamyzyhyxmv95r96ja5rylzaw60r19647d0fdm7y2h2c77r6"; type = "gem"; }; version = "1.0.1"; }; fastimage = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sfc7svf7h1ja6zmsq9f3ps6pg0q4hymphh6rk7ipmp7ygqjkii3"; type = "gem"; }; version = "2.3.1"; }; ffi = { - groups = ["default" "development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; fspath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xcxikkrjv8ws328nn5ax5pyfjs8pn7djg1hks7qyb3yp6prpb5m"; type = "gem"; }; version = "3.1.2"; }; globalid = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; version = "1.2.1"; }; google-protobuf = { - dependencies = ["bigdecimal" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vwnr6fmxig4pkag86yzbznpxk8ii7rhjz0rrprkqvnymhhfnscz"; type = "gem"; }; version = "4.27.2"; }; guess_html_encoding = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16700fk6kmif3q3kpc1ldhy3nsc9pkxlgl8sqhznff2zjj5lddna"; type = "gem"; }; version = "0.0.11"; }; hana = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03cvrv2wl25j9n4n509hjvqnmwa60k92j741b64a1zjisr1dn9al"; type = "gem"; }; version = "1.3.7"; }; hashdiff = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jf9dxgjz6z7fvymyz2acyvn9iyvwkn6d9sk7y4fxwbmfc75yimm"; type = "gem"; }; version = "1.1.0"; }; hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; highline = { - dependencies = ["reline"]; - groups = ["default"]; - platforms = []; + dependencies = [ "reline" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sxqnaz6wvkwbwzsipwsqcg1zw2kn67x7l362whv87zl5133w60l"; type = "gem"; }; version = "3.1.0"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; http_accept_language = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; type = "gem"; }; version = "2.1.1"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; image_optim = { - dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "exifr" + "fspath" + "image_size" + "in_threads" + "progress" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02iw1plldayr1l8bdw2gshq0h083h0fxwji1m1nfhzikz917c07p"; type = "gem"; }; version = "0.31.3"; }; image_size = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16h2gxxk212mlvphf03x1z1ddb9k3vm0lgsxbvi4fjg77x8q19f6"; type = "gem"; }; version = "3.4.0"; }; in_threads = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j9132d4g8prjafgdh4pw948j527kr09m2lvylrcd797il9yd9wi"; type = "gem"; }; version = "1.6.0"; }; io-console = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; version = "0.7.2"; }; irb = { - dependencies = ["rdoc" "reline"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rdoc" + "reline" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05g6vpz3997q4j3xhrliswfx3g5flsn5cfn1p1s4h6dx7c0hbn2k"; type = "gem"; }; version = "1.14.0"; }; iso8601 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18js898rhh6byp0znvchiv6mcxi5l8v3v0bj2ddajpxynwajp319"; type = "gem"; }; version = "0.13.0"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; json = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; version = "2.7.2"; }; json-schema = { - dependencies = ["addressable"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "addressable" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09bq393nrxa7hmphc3li8idgxdnb5hwgj15d0q5qsh4l5g1qvrnm"; type = "gem"; }; version = "4.3.1"; }; json_schemer = { - dependencies = ["bigdecimal" "hana" "regexp_parser" "simpleidn"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "bigdecimal" + "hana" + "regexp_parser" + "simpleidn" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0dgbrps0ydiyxcgj5n4dny0cmzwj125x1s792l7m5jjrp1rs27wz"; type = "gem"; }; version = "2.3.0"; }; jwt = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s"; type = "gem"; }; version = "2.8.2"; }; kgio = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "rbx"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "rbx"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ipzvw7n0kz1w8rkqybyxvf3hb601a770khm0xdqm68mc4aa59xx"; type = "gem"; }; version = "2.11.4"; }; language_server-protocol = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x"; type = "gem"; }; version = "3.17.0.3"; }; libv8-node = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13gmrl4lq1rfpdn76v5nid2hsajhrw27s6n88j09v26f0axgp4vp"; type = "gem"; }; version = "18.19.0.0"; }; listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; type = "gem"; }; version = "3.9.0"; }; literate_randomizer = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c8p8aw93bx4ygpkwfv6dv41psb86jb0pi16gvnv30rr72dkq1q5"; type = "gem"; }; version = "0.4.0"; }; logger = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa"; type = "gem"; }; version = "1.6.0"; }; lograge = { - dependencies = ["actionpack" "activesupport" "railties" "request_store"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "railties" + "request_store" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qcsvh9k4c0cp6agqm9a8m4x2gg7vifryqr7yxkg2x9ph9silds2"; type = "gem"; }; version = "0.14.0"; }; logstash-event = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bk7fhhryjxp1klr3hq6i6srrc21wl4p980bysjp0w66z9hdr9w9"; type = "gem"; }; version = "1.2.02"; }; logster = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bmvpa5mk779rgl4s4qy8nyhjh1lpf5gn4pmv40xyalnv2whryf3"; type = "gem"; }; version = "2.20.0"; }; loofah = { - dependencies = ["crass" "nokogiri"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; version = "2.22.0"; }; lru_redux = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yxghzg7476sivz8yyr9nkak2dlbls0b89vc2kg52k0nmg6d0wgf"; type = "gem"; }; version = "1.1.0"; }; lz4-ruby = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "rbx"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "rbx"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12fymsvcb9kw6ycyfzc8b9svriq0afqf1qnl121xrz8c4gpfa6q1"; type = "gem"; }; version = "0.3.3"; }; mail = { - dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; version = "2.8.1"; }; matrix = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; maxminddb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zlhqilyggiryywgswfi624bv10qnkm66hggmg79vvgv73j3p4sh"; type = "gem"; }; version = "0.1.22"; }; memory_profiler = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pv28xh8mss25fj4nd5r6zds1br8ssr2bpxr0md5pskv38m5qz0f"; type = "gem"; }; version = "1.0.2"; }; message_bus = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15xqp7pnicjh2868fsc6fmxw8cw32bpiaqpc5bz8cwdib09ns3qk"; type = "gem"; }; version = "4.3.8"; }; messageformat-wrapper = { - dependencies = ["mini_racer"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_racer" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g30y5qv6jx39qz5g0yai37n46mvzjn7si8whjyd24p44sb8gspc"; type = "gem"; }; version = "1.1.0"; }; method_source = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq"; type = "gem"; }; version = "1.1.0"; }; mini_mime = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; mini_portile2 = { - groups = ["default" "development" "generic_import" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "generic_import" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; mini_racer = { - dependencies = ["libv8-node"]; - groups = ["default"]; - platforms = []; + dependencies = [ "libv8-node" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ling4ynn7na1cw69wzn8zn00jifwjrnprnynn05rcca1pzs58d1"; type = "gem"; }; version = "0.14.1"; }; mini_scheduler = { - dependencies = ["sidekiq"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sidekiq" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19c72wlr0zsrg1fiak61h0z1b3glv2l23041xvlwv2i71fw5xavy"; type = "gem"; }; version = "0.16.0"; }; mini_sql = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yrxjmwhfnvcwbj9vscyq0z67sq09zl8qhmzgakq2ywy4yvcpwgg"; type = "gem"; }; version = "1.5.0"; }; mini_suffix = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rr2nx1kixd7ccxqdnswjnflg46s6lr1f9vxkdy298k95zwk67cd"; type = "gem"; }; version = "0.3.3"; }; minio_runner = { - groups = ["test"]; - platforms = []; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c0bld2bpnfrld7g0pli3pp3b1z3a21cgahhw70i5cjr33sx88pi"; type = "gem"; }; version = "0.1.2"; }; minitest = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jj629q3vw5yn90q4di4dyb87pil4a8qfm2srhgy5nc8j2n33v1i"; type = "gem"; }; version = "5.24.1"; }; mocha = { - dependencies = ["ruby2_keywords"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "ruby2_keywords" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04k1k9cmdv7q2p1b2z2y1k9dn1hhwjdlwkrp46gfq84v7887xhdl"; type = "gem"; }; version = "2.4.5"; }; msgpack = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr"; type = "gem"; }; version = "1.7.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multi_xml = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06x61ca5j84nyhr1mwh9r436yiphnc5hmacb3gwqyn5gd0611kjg"; type = "gem"; }; version = "0.7.1"; }; mustache = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch"; type = "gem"; }; version = "1.1.1"; }; mutex_m = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; net-http = { - dependencies = ["uri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; version = "0.4.1"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rc08fxm10vv73bg0nqyp5bdvl4cvzb3y4cdk4kwmxx414zln652"; type = "gem"; }; version = "0.4.14"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; version = "0.5.0"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal"; type = "gem"; }; version = "2.7.3"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; oauth = { - dependencies = ["oauth-tty" "snaky_hash" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "oauth-tty" + "snaky_hash" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1syx3hfimaqycy21kn8gmal1cb3bw3hzalv3in2ixnay1xzjp41q"; type = "gem"; }; version = "1.1.0"; }; oauth-tty = { - dependencies = ["version_gem"]; - groups = ["default"]; - platforms = []; + dependencies = [ "version_gem" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05wb5n36i4h23hh9dx2m2cwjxx5vj0vgyrn2xr6rsl54glq5rqil"; type = "gem"; }; version = "1.0.5"; }; oauth2 = { - dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "multi_json" + "multi_xml" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "042w5lamxhllfxsv0y8v9cvdhmlasy5kxbhcdd3lzj9bhz4gqfb7"; type = "gem"; }; version = "1.4.11"; }; oj = { - dependencies = ["bigdecimal"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b2narmcw4723lfyy7j0l4pfyv5n0qnmkm4mqgi832p5cg31k090"; type = "gem"; }; version = "3.16.4"; }; omniauth = { - dependencies = ["hashie" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hashie" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jn9j54l5h7xcba2vjq74l1dk0xrwvsjxam4qhylpi52nw0h5502"; type = "gem"; }; version = "1.9.2"; }; omniauth-facebook = { - dependencies = ["omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m7q38kjm94wgq6h7hk9546yg33wcs3vf1v6zp0vx7nwkvfxh2j4"; type = "gem"; }; version = "9.0.0"; }; omniauth-github = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xbk0dbxqfpyfb33ghz6vrlz3m6442rp18ryf13gwzlnifcawhlb"; type = "gem"; }; version = "1.4.0"; }; omniauth-google-oauth2 = { - dependencies = ["jwt" "oauth2" "omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "jwt" + "oauth2" + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10pnxvb6wpnf58dja3yz4ja527443x3q13hzhcbays4amnnp8i4a"; type = "gem"; }; version = "0.8.2"; }; omniauth-oauth = { - dependencies = ["oauth" "omniauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "oauth" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yw2vzx633p9wpdkd4jxsih6mw604mj7f6myyfikmj4d95c8d9z7"; type = "gem"; }; version = "1.2.0"; }; omniauth-oauth2 = { - dependencies = ["oauth2" "omniauth"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "oauth2" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ia73zcbmhf02krlkq2rxmksx93jp777ax5x58fzkq3jzacqyniz"; type = "gem"; }; version = "1.7.3"; }; omniauth-twitter = { - dependencies = ["omniauth-oauth" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "omniauth-oauth" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; type = "gem"; }; version = "1.4.0"; }; openssl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw"; type = "gem"; }; version = "3.2.0"; }; openssl-signature_algorithm = { - dependencies = ["openssl"]; - groups = ["default"]; - platforms = []; + dependencies = [ "openssl" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "103yjl68wqhl5kxaciir5jdnyi7iv9yckishdr52s5knh9g0pd53"; type = "gem"; }; version = "1.3.0"; }; optimist = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0q4jqq3v1bxlfr9jgqmahnygkvl81lr6s1rhm8qg66c9xr9nz241"; type = "gem"; }; version = "3.1.0"; }; parallel = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "145bn5q7ysnjj02jdf1x4nc1f0xxrv7ihgz9yr1j7sinmawqkq0j"; type = "gem"; }; version = "1.25.1"; }; parallel_tests = { - dependencies = ["parallel"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "parallel" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0q5q38sfrpwgcqwf5sl6xals5w11xayh8i9nq1vxya2sbrzrgbcq"; type = "gem"; }; version = "4.7.1"; }; parser = { - dependencies = ["ast" "racc"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ast" + "racc" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10ly2wind06nylyqa5724ld2l0l46d3ag4fm04ifjgw7qdlpf94d"; type = "gem"; }; version = "3.3.4.0"; }; pg = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pfj771p5a29yyyw58qacks464sl86d5m3jxjl5rlqqw2m3v5xq4"; type = "gem"; }; version = "1.5.4"; }; prettier_print = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ybgks9862zmlx71zd4j20ky86fsrp6j6m0az4hzzb1zyaskha57"; type = "gem"; }; version = "1.2.1"; }; progress = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wymdk40cwrqn32gwg1kw94s5p1n0z3n7ma7x1s62gd4vw3d63in"; type = "gem"; }; version = "3.6.0"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; type = "gem"; }; version = "0.14.2"; }; pry-byebug = { - dependencies = ["byebug" "pry"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "byebug" + "pry" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1y41al94ks07166qbp2200yzyr5y60hm7xaiw4lxpgsm4b1pbyf8"; type = "gem"; }; version = "3.10.1"; }; pry-rails = { - dependencies = ["pry"]; - groups = ["default"]; - platforms = []; + dependencies = [ "pry" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0garafb0lxbm3sx2r9pqgs7ky9al58cl3wmwc0gmvmrl9bi2i7m6"; type = "gem"; }; version = "0.3.11"; }; pry-stack_explorer = { - dependencies = ["binding_of_caller" "pry"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "binding_of_caller" + "pry" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0h7kp99r8vpvpbvia079i58932qjz2ci9qhwbk7h1bf48ydymnx2"; type = "gem"; }; version = "0.6.1"; }; psych = { - dependencies = ["stringio"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "stringio" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; type = "gem"; }; version = "5.1.2"; }; public_suffix = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puma = { - dependencies = ["nio4r"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i2vaww6qcazj0ywva1plmjnj6rk23b01szswc5jhcq7s2cikd1y"; type = "gem"; }; version = "6.4.2"; }; racc = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "021s7maw0c4d9a6s07vbmllrzqsj2sgmrwimlh8ffkvwqdjrld09"; type = "gem"; }; version = "1.8.0"; }; rack = { - groups = ["default" "development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx"; type = "gem"; }; version = "2.2.9"; }; rack-mini-profiler = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00d80wjavaakhs177b7g542qs3n55kj4icjkwj0lbxcmaxyxxw1b"; type = "gem"; }; version = "3.3.1"; }; rack-protection = { - dependencies = ["base64" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; version = "3.2.0"; }; rack-session = { - dependencies = ["rack"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0"; type = "gem"; }; version = "1.0.2"; }; rack-test = { - dependencies = ["rack"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"; type = "gem"; }; version = "2.1.0"; }; rackup = { - dependencies = ["rack" "webrick"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "webrick" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9"; type = "gem"; }; version = "1.0.0"; }; rails-dom-testing = { - dependencies = ["activesupport" "minitest" "nokogiri"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "minitest" + "nokogiri" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; version = "2.2.0"; }; rails-html-sanitizer = { - dependencies = ["loofah" "nokogiri"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "loofah" + "nokogiri" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"; type = "gem"; }; version = "1.6.0"; }; rails_failover = { - dependencies = ["activerecord" "concurrent-ruby" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "concurrent-ruby" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yxbh9xim46jqv9ap63ygvwv9bglbkqssn5hvr065gqly32mi407"; type = "gem"; }; version = "2.1.1"; }; rails_multisite = { - dependencies = ["activerecord" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zlfmm19k0p19jzknimqhhzs1phswmfgispph9b5fkag0w3ajxci"; type = "gem"; }; version = "6.0.0"; }; railties = { - dependencies = ["actionpack" "activesupport" "irb" "rackup" "rake" "thor" "zeitwerk"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "irb" + "rackup" + "rake" + "thor" + "zeitwerk" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1z0slb2dlwrwgqijbk37hl4r9bh4h8vzcyswz6a9srl8lzrljq3c"; type = "gem"; }; version = "7.1.3.4"; }; rainbow = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; raindrops = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "rbx"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "rbx"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0c27mcglrj928zkm4d2spj9yh2xkkka8ns5s6bidkwild3zvj3ma"; type = "gem"; }; version = "0.20.1"; }; rake = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; rb-fsevent = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; version = "0.11.2"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "ffi" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0"; type = "gem"; }; version = "0.11.1"; }; rbtrace = { - dependencies = ["ffi" "msgpack" "optimist"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi" + "msgpack" + "optimist" + ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1p65p6f917al0f07sn5ca9yj92f7mk52xgnp0ahqpyrb8r6sdjz8"; type = "gem"; }; version = "0.5.1"; }; rchardet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; type = "gem"; }; version = "1.8.0"; }; rdoc = { - dependencies = ["psych"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "psych" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi"; type = "gem"; }; version = "6.7.0"; }; redcarpet = { - groups = ["generic_import"]; - platforms = []; + groups = [ "generic_import" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; type = "gem"; }; version = "3.6.0"; }; redis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fikjg6j12ka6hh36dxzhfkpqqmilzjfzcdf59iwkzsgd63f0ziq"; type = "gem"; }; version = "4.8.1"; }; redis-namespace = { - dependencies = ["redis"]; - groups = ["default"]; - platforms = []; + dependencies = [ "redis" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f92i9cwlp6xj6fyn7qn4qsaqvxfw4wqvayll7gbd26qnai1l6p9"; type = "gem"; }; version = "1.11.0"; }; regexp_parser = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ik40vcv7mqigsfpqpca36hpmnx0536xa825ai5qlkv3mmkyf9ss"; type = "gem"; }; version = "2.9.2"; }; reline = { - dependencies = ["io-console"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "io-console" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0y6kyz7kcilwdpfy3saqfgnar38vr5ys9sp40ndffy6h1znxfbax"; type = "gem"; }; version = "0.5.9"; }; request_store = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jw89j9s5p5cq2k7ffj5p4av4j4fxwvwjs1a4i9g85d38r9mvdz1"; type = "gem"; }; version = "1.7.0"; }; rexml = { - dependencies = ["strscan"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "strscan" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zr5qpa8lampaqzhdcjcvyqnrqcjl7439mqjlkjz43wdhmpnh4s5"; type = "gem"; }; version = "3.3.2"; }; rinku = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zcdha17s1wzxyc5814j6319wqg33jbn58pg6wmxpws36476fq4b"; type = "gem"; }; version = "2.0.6"; }; rotp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m"; type = "gem"; }; version = "6.3.0"; }; rouge = { - groups = ["default" "development"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy"; type = "gem"; }; version = "4.3.0"; }; rqrcode = { - dependencies = ["chunky_png" "rqrcode_core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "chunky_png" + "rqrcode_core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hggzz8i1l62pkkiybhiqv6ypxw7q844sddrrbbfczjcnj5sivi3"; type = "gem"; }; version = "2.2.0"; }; rqrcode_core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg"; type = "gem"; }; version = "1.2.0"; }; rrule = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05ln9vfx1m2hb8cpmi8i7m1hhdxdra77xi6ri1inl27byx6kn4mx"; type = "gem"; }; version = "0.6.0"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; type = "gem"; }; version = "3.13.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k252n7s80bvjvpskgfm285a3djjjqyjcarlh3aq7a4dx2s94xsm"; type = "gem"; }; version = "3.13.0"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0022nxs9gqfhx35n4klibig770n0j31pnkd8anz00yvrvkdghk41"; type = "gem"; }; version = "3.13.1"; }; rspec-html-matchers = { - dependencies = ["nokogiri" "rspec"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nokogiri" + "rspec" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bp9q28qw4xmxknrrp3ppcr08bbcnnand6r9prw4920407mvy96l"; type = "gem"; }; version = "0.10.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0f3vgp43hajw716vmgjv6f4ar6f97zf50snny6y3fy9kkj4qjw88"; type = "gem"; }; version = "3.13.1"; }; rspec-rails = { - dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "railties" + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "rspec-support" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nqwvyma86zchh4ki416h7cms38h521ghyypaq27b6yvkmp3h8yw"; type = "gem"; }; version = "6.1.3"; }; rspec-support = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8"; type = "gem"; }; version = "3.13.1"; }; rss = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wv27axi39hhr0nmaffdl5bdjqiafcvp9xhfgnsgfczsblja50sn"; type = "gem"; }; version = "0.3.0"; }; rswag-specs = { - dependencies = ["activesupport" "json-schema" "railties" "rspec-core"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "json-schema" + "railties" + "rspec-core" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1iyqd95l8r8m6jna451xb20lsp0jiajk1gbw845qlyqf6d69xyx2"; type = "gem"; }; version = "2.13.0"; }; rtlcss = { - dependencies = ["mini_racer"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_racer" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q5zlx1k4gqyq0rvnfkljvrwa73ysycxc5m5ly9py9k1pw05lg91"; type = "gem"; }; version = "0.2.1"; }; rubocop = { - dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "json" + "language_server-protocol" + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rexml" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "18g462bccr0rvszc7kirr89laggdf6254p7pqsckk3izg901chv2"; type = "gem"; }; version = "1.65.0"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "parser" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "063qgvqbyv354icl2sgx758z22wzq38hd9skc3n96sbpv0cdc1qv"; type = "gem"; }; version = "1.31.3"; }; rubocop-capybara = { - dependencies = ["rubocop"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1aw0n8jwhsr39r9q2k90xjmcz8ai2k7xx2a87ld0iixnv3ylw9jx"; type = "gem"; }; version = "2.21.0"; }; rubocop-discourse = { - dependencies = ["activesupport" "rubocop" "rubocop-capybara" "rubocop-factory_bot" "rubocop-rails" "rubocop-rspec" "rubocop-rspec_rails"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rubocop" + "rubocop-capybara" + "rubocop-factory_bot" + "rubocop-rails" + "rubocop-rspec" + "rubocop-rspec_rails" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1bcy1zl88f4fxjsda2nf6k13kqrj60z8nsqdv9z51fdkv0aj82wk"; type = "gem"; }; version = "3.8.1"; }; rubocop-factory_bot = { - dependencies = ["rubocop"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1aljadsjx7affcarzbhz7pydpy6fgqb8hl951y0cmrffxpa3rqcd"; type = "gem"; }; version = "2.26.1"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "rack" + "rubocop" + "rubocop-ast" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19g6m8ladix1dq8darrqnhbj6n3cgp2ivxnh48yj3nrgw0z97229"; type = "gem"; }; version = "2.25.1"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "rubocop" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0495y1bwv5j6r9dak7860i6qnm68c53vz2bx2js5lwm6p7py147f"; type = "gem"; }; version = "3.0.3"; }; rubocop-rspec_rails = { - dependencies = ["rubocop" "rubocop-rspec"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rubocop" + "rubocop-rspec" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ijc1kw81884k0wjq1sgwaxa854n1fdddscp4fnzfzlx7zl150c8"; type = "gem"; }; version = "2.30.0"; }; ruby-prof = { - groups = ["development"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "development" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0hnalxnvli6248g34n0bj8p3v35vpabak34qjg778bbaavbqg5h5"; type = "gem"; }; version = "1.7.0"; }; ruby-progressbar = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; ruby-readability = { - dependencies = ["guess_html_encoding" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "guess_html_encoding" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "11kqx5yp6syd99k1ksnw84b0sc3cr7icf63dibn2m025qg27ml2i"; type = "gem"; }; version = "0.7.1"; }; ruby2_keywords = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; sanitize = { - dependencies = ["crass" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c9j1rwdp87k7b7mawf8agpdycdr2dsl2wvjipmcy1c55kllp2qp"; type = "gem"; }; version = "6.1.2"; }; sass-embedded = { - dependencies = ["google-protobuf" "rake"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "google-protobuf" + "rake" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nmy052pm46781s7ca6x3l4yb5p3glh8sf201xwcwpk9rv2av9m2"; type = "gem"; }; version = "1.77.5"; }; sassc-embedded = { - dependencies = ["sass-embedded"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sass-embedded" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07pddxi18asxzkn652kvgh43dl1b0nf5p8ha62yhg2r0vzapzzvv"; type = "gem"; }; version = "1.77.7"; }; selenium-devtools = { - dependencies = ["selenium-webdriver"]; - groups = ["test"]; - platforms = []; + dependencies = [ "selenium-webdriver" ]; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ph7b947h5cgqyhb5a4jk467bggx48xy619ggh6p38ys8bjszp1l"; type = "gem"; }; version = "0.126.0"; }; selenium-webdriver = { - dependencies = ["base64" "logger" "rexml" "rubyzip" "websocket"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "logger" + "rexml" + "rubyzip" + "websocket" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00dq3450kadsvxh1lpndasy0bab0ilrjhrnvlicfmkvrx3gfs2j9"; type = "gem"; }; version = "4.23.0"; }; shoulda-matchers = { - dependencies = ["activesupport"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "activesupport" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pfq0w167v4055k0km64sxik1qslhsi32wl2jlidmfzkqmcw00m7"; type = "gem"; }; version = "6.2.0"; }; sidekiq = { - dependencies = ["connection_pool" "rack" "redis"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "connection_pool" + "rack" + "redis" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl"; type = "gem"; }; version = "6.5.12"; }; simplecov = { - dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "docile" + "simplecov-html" + "simplecov_json_formatter" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; type = "gem"; }; version = "0.22.0"; }; simplecov-html = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; type = "gem"; }; version = "0.12.3"; }; simplecov_json_formatter = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"; type = "gem"; }; version = "0.1.4"; }; simpleidn = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a9c1mdy12y81ck7mcn9f9i2s2wwzjh1nr92ps354q517zq9dkh8"; type = "gem"; }; version = "0.2.3"; }; snaky_hash = { - dependencies = ["hashie" "version_gem"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "hashie" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfwvdcr46pk0c7m5aw2w3izbrp1iba0q7l21r37mzpwaz0pxj0s"; type = "gem"; }; version = "2.0.1"; }; sprockets = { - dependencies = ["base64" "concurrent-ruby" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "concurrent-ruby" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lyc6mx4yalsnxc9yp4a5xra4nz1nwwbk5634wlfncml0ll1bnnw"; type = "gem"; }; version = "3.7.3"; }; sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "actionpack" + "activesupport" + "sprockets" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0j7gwm749b3ff6544wxa878fpd1kvf2qc9fafassi8c7735jcin4"; type = "gem"; }; version = "3.5.1"; }; sqlite3 = { - dependencies = ["mini_portile2"]; - groups = ["generic_import"]; - platforms = []; + dependencies = [ "mini_portile2" ]; + groups = [ "generic_import" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k8myqn1g7sfmxs1h0x7jijh5ybszxw5153l0aq0w1cxp3zm6vij"; type = "gem"; }; version = "2.0.2"; }; sshkey = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5"; type = "gem"; }; version = "3.0.0"; }; stackprof = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gdqqwnampxmc54nf6zfy9apkmkpdavzipvfssmjlhnrrjy8qh7f"; type = "gem"; }; version = "0.2.26"; }; stringio = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; version = "3.1.1"; }; strscan = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; type = "gem"; }; version = "3.1.0"; }; syntax_tree = { - dependencies = ["prettier_print"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "prettier_print" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0g9l9acknjr2yz8ynfxbcrwx2ws3wh96pfzdb31g66k08v1022m5"; type = "gem"; }; version = "6.2.0"; }; syntax_tree-disable_ternary = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gdi6zx4hqpxd81zas3dlw1jrdp98fvsqj4p7f42x5lhpfzz04zc"; type = "gem"; }; version = "1.0.0"; }; test-prof = { - groups = ["test"]; - platforms = []; + groups = [ "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lxik4ngvbphivyhss9i59c67zxkc0z7k0r683qshw1gdkfxzd8f"; type = "gem"; }; version = "1.3.3.1"; }; thor = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; type = "gem"; }; version = "1.3.1"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; version = "0.4.1"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; tzinfo-data = { - dependencies = ["tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rg1dmx6mknjazb8qq0j9sb9fah470my5sbjb6f3pa6si5018682"; type = "gem"; }; version = "1.2024.1"; }; uglifier = { - dependencies = ["execjs"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "execjs" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f"; type = "gem"; }; version = "4.2.0"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; version = "0.0.9.1"; }; unicode-display_width = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; version = "2.5.0"; }; unicorn = { - dependencies = ["kgio" "raindrops"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "rbx"; - } { - engine = "ruby"; - }]; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "kgio" + "raindrops" + ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "rbx"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1h0gma14jjxiz6piyi6p99q7lya2mxrq79l03160hascvmx9ipa5"; type = "gem"; }; version = "6.1.0"; }; uniform_notifier = { - groups = ["default" "development"]; - platforms = []; + groups = [ + "default" + "development" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dfvqixshwvm82b9qwdidvnkavdj7s0fbdbmyd4knkl6l3j9xcwr"; type = "gem"; }; version = "1.16.0"; }; uri = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96"; type = "gem"; }; version = "0.13.0"; }; version_gem = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08a6agx7xk1f6cr9a95dq42vl45si2ln21h33b96li59sv3555y6"; type = "gem"; }; version = "1.1.4"; }; web-push = { - dependencies = ["jwt" "openssl"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "jwt" + "openssl" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13diqh61rl658gwq0c2ds41z59i0x4plj5k4v98qkgd3pgrd4kav"; type = "gem"; }; version = "3.0.1"; }; webmock = { - dependencies = ["addressable" "crack" "hashdiff"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "crack" + "hashdiff" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "158d2ikjfzw43kgm095klp43ihphk0cv5xjprk44w73xfv03i9qg"; type = "gem"; }; version = "3.23.1"; }; webrick = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r"; type = "gem"; }; version = "1.8.1"; }; websocket = { - groups = ["default" "test"]; - platforms = []; + groups = [ + "default" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; type = "gem"; }; version = "1.2.11"; }; xpath = { - dependencies = ["nokogiri"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ "nokogiri" ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; version = "3.2.0"; }; yaml-lint = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12jc68af2mwdkr9iqay2v6qgq47yk5g82sd171riibk62wbhp5p3"; type = "gem"; }; version = "0.1.2"; }; yard = { - groups = ["development"]; - platforms = []; + groups = [ "development" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1r0b8w58p7gy06wph1qdjv2p087hfnmhd9jk23vjdj803dn761am"; type = "gem"; }; version = "0.9.36"; }; zeitwerk = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08cfb35232p9s1r4jqv8wacv38vxh699mgbr9y03ga89gx9lipqp"; type = "gem"; }; diff --git a/pkgs/servers/web-apps/ethercalc/default.nix b/pkgs/servers/web-apps/ethercalc/default.nix index 9c7e160e6c427..5b2af5aed37f9 100644 --- a/pkgs/servers/web-apps/ethercalc/default.nix +++ b/pkgs/servers/web-apps/ethercalc/default.nix @@ -1,7 +1,8 @@ -{ stdenv -, pkgs -, lib -, nodejs_20 +{ + stdenv, + pkgs, + lib, + nodejs_20, }: let @@ -17,11 +18,18 @@ let combined = ethercalc.override { meta = with lib; { description = "Online collaborative spreadsheet"; - license = with licenses; [ cpal10 artistic2 mit asl20 cc0 mpl20 ]; + license = with licenses; [ + cpal10 + artistic2 + mit + asl20 + cc0 + mpl20 + ]; homepage = "https://github.com/audreyt/ethercalc"; maintainers = with maintainers; [ iblech ]; platforms = platforms.unix; }; }; in - combined +combined diff --git a/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix b/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix index 3baba4ac727a8..b3aa97ff3a490 100644 --- a/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix +++ b/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix @@ -1,6 +1,14 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}: +{ + nodeEnv, + fetchurl, + fetchgit, + nix-gitignore, + stdenv, + lib, + globalBuildInputs ? [ ], +}: let sources = { @@ -1716,16 +1724,17 @@ let sha512 = "C3SsHOLbx05UCN4iRW6iL/JdO1XyPzv7XzNmLInfo2jVfZAL2XoJx3fj5q8fIZZaHI7/7uYqToQzHmHIyWTOJw=="; }; }; - "xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" = { - name = "xmlhttprequest"; - packageName = "xmlhttprequest"; - version = "1.5.0"; - src = fetchurl { - name = "xmlhttprequest-1.5.0.tar.gz"; - url = "https://codeload.github.com/LearnBoost/node-XMLHttpRequest/tar.gz/0f36d0b5ebc03d85f860d42a64ae9791e1daa433"; - sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f"; + "xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" = + { + name = "xmlhttprequest"; + packageName = "xmlhttprequest"; + version = "1.5.0"; + src = fetchurl { + name = "xmlhttprequest-1.5.0.tar.gz"; + url = "https://codeload.github.com/LearnBoost/node-XMLHttpRequest/tar.gz/0f36d0b5ebc03d85f860d42a64ae9791e1daa433"; + sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f"; + }; }; - }; "xoauth2-1.2.0" = { name = "xoauth2"; packageName = "xoauth2"; @@ -1747,307 +1756,386 @@ let }; in { - "whitebophir-git+https://github.com/audreyt/ethercalc.git#b196277081d677be991d104e454a52d242ef0189" = nodeEnv.buildNodePackage { - name = "ethercalc"; - packageName = "ethercalc"; - version = "0.20201228.1"; - src = fetchgit { - url = "https://github.com/audreyt/ethercalc.git"; - rev = "b196277081d677be991d104e454a52d242ef0189"; - sha256 = "4494bada571057d86009f27470cc34f1e8a3b2c03b395cdba639c08d502a9bfe"; - }; - dependencies = [ - sources."accepts-1.0.7" - sources."adler-32-1.2.0" - sources."after-0.8.1" - sources."amdefine-1.0.1" - sources."any-promise-1.3.0" - sources."arraybuffer.slice-0.0.6" - sources."async-0.2.10" - sources."babyparse-0.2.1" - sources."balanced-match-1.0.2" - sources."base64-arraybuffer-0.1.2" - sources."base64-url-1.2.1" - sources."base64id-0.1.0" - sources."basic-auth-1.0.0" - sources."basic-auth-connect-1.0.0" - sources."batch-0.5.1" - sources."better-assert-1.0.2" - sources."blob-0.0.2" - (sources."body-parser-1.6.7" // { - dependencies = [ - sources."iconv-lite-0.4.4" - ]; - }) - sources."brace-expansion-2.0.1" - sources."buffer-crc32-0.2.3" - sources."buffer-from-1.1.2" - sources."bytes-1.0.0" - sources."callsite-1.0.0" - (sources."cfb-1.2.2" // { - dependencies = [ - sources."adler-32-1.3.1" - ]; - }) - (sources."codepage-1.14.0" // { - dependencies = [ - sources."commander-2.14.1" - ]; - }) - sources."coffee-css-0.0.5" - sources."coffee-script-1.12.7" - (sources."coffeecup-0.3.21" // { - dependencies = [ - sources."uglify-js-1.2.6" - ]; - }) - sources."colors-0.6.2" - sources."commander-2.17.1" - sources."component-bind-1.0.0" - sources."component-emitter-1.1.2" - sources."component-inherit-0.0.3" - sources."compressible-1.1.1" - (sources."compression-1.0.11" // { - dependencies = [ - sources."vary-1.0.1" - ]; - }) - sources."concat-stream-2.0.0" - sources."connect-2.25.9" - sources."connect-timeout-1.2.2" - sources."cookie-0.1.2" - sources."cookie-parser-1.3.2" - sources."cookie-signature-1.0.4" - sources."core-util-is-1.0.3" - sources."cors-2.8.5" - sources."crc-32-1.2.2" - sources."csrf-2.0.7" - sources."cssom-0.2.5" - sources."csurf-1.4.1" - sources."csv-parse-0.0.6" - sources."debug-1.0.4" - sources."deep-is-0.1.4" - sources."depd-0.4.4" - sources."destroy-1.0.3" - sources."ee-first-1.0.5" - sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" - (sources."engine.io-1.3.1" // { - dependencies = [ - sources."debug-0.6.0" - ]; - }) - (sources."engine.io-client-1.3.1" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - sources."engine.io-parser-1.0.6" - sources."errorhandler-1.1.1" - sources."escape-html-1.0.1" - sources."exit-on-epipe-1.0.1" - (sources."express-3.16.9" // { - dependencies = [ - sources."commander-1.3.2" - sources."vary-0.1.0" - ]; - }) - (sources."express-session-1.7.6" // { - dependencies = [ - sources."uid-safe-1.0.1" - ]; - }) - sources."fast-levenshtein-2.0.6" - sources."finalhandler-0.1.0" - sources."frac-1.1.2" - sources."fresh-0.2.2" - sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz" - sources."graceful-readlink-1.0.1" - (sources."harb-0.1.1" // { - dependencies = [ - sources."frac-0.3.1" - sources."ssf-0.8.2" - ]; - }) - sources."has-binary-data-0.1.1" - sources."has-cors-1.0.3" - sources."iconv-lite-0.4.24" - sources."indexof-0.0.1" - sources."inherits-2.0.4" - sources."ipaddr.js-0.1.2" - sources."isarray-0.0.1" - (sources."j-0.4.5" // { - dependencies = [ - sources."adler-32-1.0.0" - sources."cfb-0.11.1" - sources."codepage-1.8.1" - sources."crc-32-1.0.2" - sources."frac-1.0.6" - sources."ssf-0.9.4" - (sources."xlsx-0.9.13" // { + "whitebophir-git+https://github.com/audreyt/ethercalc.git#b196277081d677be991d104e454a52d242ef0189" = + nodeEnv.buildNodePackage { + name = "ethercalc"; + packageName = "ethercalc"; + version = "0.20201228.1"; + src = fetchgit { + url = "https://github.com/audreyt/ethercalc.git"; + rev = "b196277081d677be991d104e454a52d242ef0189"; + sha256 = "4494bada571057d86009f27470cc34f1e8a3b2c03b395cdba639c08d502a9bfe"; + }; + dependencies = [ + sources."accepts-1.0.7" + sources."adler-32-1.2.0" + sources."after-0.8.1" + sources."amdefine-1.0.1" + sources."any-promise-1.3.0" + sources."arraybuffer.slice-0.0.6" + sources."async-0.2.10" + sources."babyparse-0.2.1" + sources."balanced-match-1.0.2" + sources."base64-arraybuffer-0.1.2" + sources."base64-url-1.2.1" + sources."base64id-0.1.0" + sources."basic-auth-1.0.0" + sources."basic-auth-connect-1.0.0" + sources."batch-0.5.1" + sources."better-assert-1.0.2" + sources."blob-0.0.2" + ( + sources."body-parser-1.6.7" + // { dependencies = [ - sources."commander-2.9.0" + sources."iconv-lite-0.4.4" ]; - }) - ]; - }) - sources."json3-3.2.6" - sources."keypress-0.1.0" - sources."levn-0.3.0" - sources."livescript-1.5.0" - sources."media-typer-0.2.0" - sources."merge-descriptors-0.0.2" - (sources."method-override-2.1.3" // { - dependencies = [ - sources."vary-1.0.1" - ]; - }) - sources."methods-1.1.0" - sources."mime-1.2.11" - sources."mime-types-1.0.2" - sources."minimatch-9.0.0" - sources."minimist-0.0.10" - (sources."mkdirp-0.5.0" // { - dependencies = [ - sources."minimist-0.0.8" - ]; - }) - sources."morgan-1.2.3" - sources."ms-0.6.2" - (sources."multiparty-3.3.2" // { - dependencies = [ - sources."readable-stream-1.1.14" - sources."string_decoder-0.10.31" - ]; - }) - sources."mz-1.3.0" - sources."nan-0.3.2" - sources."native-or-bluebird-1.1.2" - sources."negotiator-0.4.7" - sources."node-uuid-1.4.1" - sources."object-assign-4.1.1" - sources."object-component-0.0.3" - sources."on-finished-2.1.0" - sources."on-headers-1.0.2" - sources."optimist-0.6.1" - sources."optionator-0.8.3" - sources."options-0.0.6" - sources."optparse-1.0.3" - sources."parsejson-0.0.1" - sources."parseqs-0.0.2" - sources."parseuri-0.0.2" - sources."parseurl-1.3.3" - sources."pause-0.0.1" - sources."prelude-ls-1.1.2" - sources."printj-1.1.2" - sources."proxy-addr-1.0.1" - sources."qs-2.2.2" - sources."range-parser-1.0.0" - (sources."raw-body-1.3.0" // { - dependencies = [ - sources."iconv-lite-0.4.4" - ]; - }) - sources."readable-stream-3.6.2" - sources."redis-0.12.1" - sources."response-time-2.0.1" - sources."rndm-1.1.1" - sources."safe-buffer-5.2.1" - sources."safer-buffer-2.1.2" - sources."scmp-1.0.0" - sources."send-0.8.3" - sources."serve-favicon-2.0.1" - sources."serve-index-1.1.6" - (sources."serve-static-1.5.4" // { - dependencies = [ - sources."send-0.8.5" - ]; - }) - sources."socialcalc-2.3.0" - (sources."socket.io-1.0.6" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - (sources."socket.io-adapter-0.2.0" // { - dependencies = [ - sources."debug-0.7.4" - sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" - sources."socket.io-parser-2.1.2" - ]; - }) - (sources."socket.io-client-1.0.6" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - (sources."socket.io-parser-2.2.0" // { - dependencies = [ - sources."debug-0.7.4" - ]; - }) - sources."source-map-0.5.7" - sources."ssf-0.10.3" - (sources."stream-counter-0.2.0" // { - dependencies = [ - sources."readable-stream-1.1.14" - sources."string_decoder-0.10.31" - ]; - }) - sources."string_decoder-1.3.0" - (sources."stylus-0.27.2" // { - dependencies = [ - sources."mkdirp-0.3.5" - ]; - }) - sources."thenify-3.3.1" - sources."thenify-all-1.6.0" - sources."tinycolor-0.0.1" - sources."to-array-0.1.3" - sources."type-check-0.3.2" - sources."type-is-1.3.2" - sources."typedarray-0.0.6" - (sources."uglify-js-2.4.15" // { - dependencies = [ - sources."optimist-0.3.7" - sources."source-map-0.1.34" - ]; - }) - sources."uglify-to-browserify-1.0.2" - sources."uid-safe-1.1.0" - sources."underscore-1.13.6" - sources."utf8-2.0.0" - sources."util-deprecate-1.0.2" - sources."utils-merge-1.0.0" - sources."uuid-pure-1.0.10" - sources."vary-1.1.2" - sources."vhost-2.0.0" - sources."voc-1.2.0" - sources."word-wrap-1.2.3" - sources."wordwrap-0.0.3" - (sources."ws-0.4.31" // { - dependencies = [ - sources."commander-0.6.1" - ]; - }) - (sources."xlsjs-0.7.6" // { - dependencies = [ - sources."cfb-0.11.1" - sources."frac-0.3.1" - sources."ssf-0.8.2" - ]; - }) - sources."xlsx-0.14.5" - sources."xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" - sources."xoauth2-1.2.0" - sources."zappajs-0.5.0" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Multi-User Spreadsheet Server"; - homepage = "http://ethercalc.net/"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; + } + ) + sources."brace-expansion-2.0.1" + sources."buffer-crc32-0.2.3" + sources."buffer-from-1.1.2" + sources."bytes-1.0.0" + sources."callsite-1.0.0" + ( + sources."cfb-1.2.2" + // { + dependencies = [ + sources."adler-32-1.3.1" + ]; + } + ) + ( + sources."codepage-1.14.0" + // { + dependencies = [ + sources."commander-2.14.1" + ]; + } + ) + sources."coffee-css-0.0.5" + sources."coffee-script-1.12.7" + ( + sources."coffeecup-0.3.21" + // { + dependencies = [ + sources."uglify-js-1.2.6" + ]; + } + ) + sources."colors-0.6.2" + sources."commander-2.17.1" + sources."component-bind-1.0.0" + sources."component-emitter-1.1.2" + sources."component-inherit-0.0.3" + sources."compressible-1.1.1" + ( + sources."compression-1.0.11" + // { + dependencies = [ + sources."vary-1.0.1" + ]; + } + ) + sources."concat-stream-2.0.0" + sources."connect-2.25.9" + sources."connect-timeout-1.2.2" + sources."cookie-0.1.2" + sources."cookie-parser-1.3.2" + sources."cookie-signature-1.0.4" + sources."core-util-is-1.0.3" + sources."cors-2.8.5" + sources."crc-32-1.2.2" + sources."csrf-2.0.7" + sources."cssom-0.2.5" + sources."csurf-1.4.1" + sources."csv-parse-0.0.6" + sources."debug-1.0.4" + sources."deep-is-0.1.4" + sources."depd-0.4.4" + sources."destroy-1.0.3" + sources."ee-first-1.0.5" + sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" + ( + sources."engine.io-1.3.1" + // { + dependencies = [ + sources."debug-0.6.0" + ]; + } + ) + ( + sources."engine.io-client-1.3.1" + // { + dependencies = [ + sources."debug-0.7.4" + ]; + } + ) + sources."engine.io-parser-1.0.6" + sources."errorhandler-1.1.1" + sources."escape-html-1.0.1" + sources."exit-on-epipe-1.0.1" + ( + sources."express-3.16.9" + // { + dependencies = [ + sources."commander-1.3.2" + sources."vary-0.1.0" + ]; + } + ) + ( + sources."express-session-1.7.6" + // { + dependencies = [ + sources."uid-safe-1.0.1" + ]; + } + ) + sources."fast-levenshtein-2.0.6" + sources."finalhandler-0.1.0" + sources."frac-1.1.2" + sources."fresh-0.2.2" + sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz" + sources."graceful-readlink-1.0.1" + ( + sources."harb-0.1.1" + // { + dependencies = [ + sources."frac-0.3.1" + sources."ssf-0.8.2" + ]; + } + ) + sources."has-binary-data-0.1.1" + sources."has-cors-1.0.3" + sources."iconv-lite-0.4.24" + sources."indexof-0.0.1" + sources."inherits-2.0.4" + sources."ipaddr.js-0.1.2" + sources."isarray-0.0.1" + ( + sources."j-0.4.5" + // { + dependencies = [ + sources."adler-32-1.0.0" + sources."cfb-0.11.1" + sources."codepage-1.8.1" + sources."crc-32-1.0.2" + sources."frac-1.0.6" + sources."ssf-0.9.4" + ( + sources."xlsx-0.9.13" + // { + dependencies = [ + sources."commander-2.9.0" + ]; + } + ) + ]; + } + ) + sources."json3-3.2.6" + sources."keypress-0.1.0" + sources."levn-0.3.0" + sources."livescript-1.5.0" + sources."media-typer-0.2.0" + sources."merge-descriptors-0.0.2" + ( + sources."method-override-2.1.3" + // { + dependencies = [ + sources."vary-1.0.1" + ]; + } + ) + sources."methods-1.1.0" + sources."mime-1.2.11" + sources."mime-types-1.0.2" + sources."minimatch-9.0.0" + sources."minimist-0.0.10" + ( + sources."mkdirp-0.5.0" + // { + dependencies = [ + sources."minimist-0.0.8" + ]; + } + ) + sources."morgan-1.2.3" + sources."ms-0.6.2" + ( + sources."multiparty-3.3.2" + // { + dependencies = [ + sources."readable-stream-1.1.14" + sources."string_decoder-0.10.31" + ]; + } + ) + sources."mz-1.3.0" + sources."nan-0.3.2" + sources."native-or-bluebird-1.1.2" + sources."negotiator-0.4.7" + sources."node-uuid-1.4.1" + sources."object-assign-4.1.1" + sources."object-component-0.0.3" + sources."on-finished-2.1.0" + sources."on-headers-1.0.2" + sources."optimist-0.6.1" + sources."optionator-0.8.3" + sources."options-0.0.6" + sources."optparse-1.0.3" + sources."parsejson-0.0.1" + sources."parseqs-0.0.2" + sources."parseuri-0.0.2" + sources."parseurl-1.3.3" + sources."pause-0.0.1" + sources."prelude-ls-1.1.2" + sources."printj-1.1.2" + sources."proxy-addr-1.0.1" + sources."qs-2.2.2" + sources."range-parser-1.0.0" + ( + sources."raw-body-1.3.0" + // { + dependencies = [ + sources."iconv-lite-0.4.4" + ]; + } + ) + sources."readable-stream-3.6.2" + sources."redis-0.12.1" + sources."response-time-2.0.1" + sources."rndm-1.1.1" + sources."safe-buffer-5.2.1" + sources."safer-buffer-2.1.2" + sources."scmp-1.0.0" + sources."send-0.8.3" + sources."serve-favicon-2.0.1" + sources."serve-index-1.1.6" + ( + sources."serve-static-1.5.4" + // { + dependencies = [ + sources."send-0.8.5" + ]; + } + ) + sources."socialcalc-2.3.0" + ( + sources."socket.io-1.0.6" + // { + dependencies = [ + sources."debug-0.7.4" + ]; + } + ) + ( + sources."socket.io-adapter-0.2.0" + // { + dependencies = [ + sources."debug-0.7.4" + sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" + sources."socket.io-parser-2.1.2" + ]; + } + ) + ( + sources."socket.io-client-1.0.6" + // { + dependencies = [ + sources."debug-0.7.4" + ]; + } + ) + ( + sources."socket.io-parser-2.2.0" + // { + dependencies = [ + sources."debug-0.7.4" + ]; + } + ) + sources."source-map-0.5.7" + sources."ssf-0.10.3" + ( + sources."stream-counter-0.2.0" + // { + dependencies = [ + sources."readable-stream-1.1.14" + sources."string_decoder-0.10.31" + ]; + } + ) + sources."string_decoder-1.3.0" + ( + sources."stylus-0.27.2" + // { + dependencies = [ + sources."mkdirp-0.3.5" + ]; + } + ) + sources."thenify-3.3.1" + sources."thenify-all-1.6.0" + sources."tinycolor-0.0.1" + sources."to-array-0.1.3" + sources."type-check-0.3.2" + sources."type-is-1.3.2" + sources."typedarray-0.0.6" + ( + sources."uglify-js-2.4.15" + // { + dependencies = [ + sources."optimist-0.3.7" + sources."source-map-0.1.34" + ]; + } + ) + sources."uglify-to-browserify-1.0.2" + sources."uid-safe-1.1.0" + sources."underscore-1.13.6" + sources."utf8-2.0.0" + sources."util-deprecate-1.0.2" + sources."utils-merge-1.0.0" + sources."uuid-pure-1.0.10" + sources."vary-1.1.2" + sources."vhost-2.0.0" + sources."voc-1.2.0" + sources."word-wrap-1.2.3" + sources."wordwrap-0.0.3" + ( + sources."ws-0.4.31" + // { + dependencies = [ + sources."commander-0.6.1" + ]; + } + ) + ( + sources."xlsjs-0.7.6" + // { + dependencies = [ + sources."cfb-0.11.1" + sources."frac-0.3.1" + sources."ssf-0.8.2" + ]; + } + ) + sources."xlsx-0.14.5" + sources."xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" + sources."xoauth2-1.2.0" + sources."zappajs-0.5.0" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "Multi-User Spreadsheet Server"; + homepage = "http://ethercalc.net/"; + }; + production = true; + bypassCache = true; + reconstructLock = true; + }; } diff --git a/pkgs/servers/web-apps/ethercalc/node-packages.nix b/pkgs/servers/web-apps/ethercalc/node-packages.nix index 0a4e2b7c9aba7..1042cdba2cb66 100644 --- a/pkgs/servers/web-apps/ethercalc/node-packages.nix +++ b/pkgs/servers/web-apps/ethercalc/node-packages.nix @@ -1,17 +1,34 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{pkgs ? import { +{ + pkgs ? import { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_20"}: + }, + system ? builtins.currentSystem, + nodejs ? pkgs."nodejs_20", +}: let nodeEnv = import ../../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; + inherit (pkgs) + stdenv + lib + python2 + runCommand + writeTextFile + writeShellScript + ; inherit pkgs nodejs; libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null; }; in import ./node-packages-generated.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit (pkgs) + fetchurl + nix-gitignore + stdenv + lib + fetchgit + ; inherit nodeEnv; } diff --git a/pkgs/servers/web-apps/freshrss/extensions/default.nix b/pkgs/servers/web-apps/freshrss/extensions/default.nix index deb8d4de471fe..f22c5279e7574 100644 --- a/pkgs/servers/web-apps/freshrss/extensions/default.nix +++ b/pkgs/servers/web-apps/freshrss/extensions/default.nix @@ -1,8 +1,9 @@ -{ config -, lib -, fetchFromGitHub -, fetchFromGitLab -, callPackage +{ + config, + lib, + fetchFromGitHub, + fetchFromGitLab, + callPackage, }: let @@ -133,6 +134,7 @@ let toFix = lib.foldl' (lib.flip lib.extends) baseExtensions overlays; in -(lib.fix toFix) // { +(lib.fix toFix) +// { inherit buildFreshRssExtension; } diff --git a/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix b/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix index bd0fc8f6de546..6cbb443bf946a 100644 --- a/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix +++ b/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix @@ -1,44 +1,56 @@ { stdenv, unzip }: let buildFreshRssExtension = - args@{ pname - , version - , src - , FreshRssExtUniqueId - , configurePhase ? '' + args@{ + pname, + version, + src, + FreshRssExtUniqueId, + configurePhase ? '' runHook preConfigure runHook postConfigure - '' - , buildPhase ? '' + '', + buildPhase ? '' runHook preBuild runHook postBuild - '' - , dontPatchELF ? true - , dontStrip ? true - , passthru ? { } - , sourceRoot ? "source" - , ... + '', + dontPatchELF ? true, + dontStrip ? true, + passthru ? { }, + sourceRoot ? "source", + ... }: - stdenv.mkDerivation ((removeAttrs args [ "FreshRssExtUniqueId" ]) // { - pname = "freshrss-extension-${pname}"; + stdenv.mkDerivation ( + (removeAttrs args [ "FreshRssExtUniqueId" ]) + // { + pname = "freshrss-extension-${pname}"; - inherit version src configurePhase buildPhase dontPatchELF dontStrip sourceRoot; + inherit + version + src + configurePhase + buildPhase + dontPatchELF + dontStrip + sourceRoot + ; - installPrefix = "share/freshrss/extensions/xExtension-${FreshRssExtUniqueId}"; + installPrefix = "share/freshrss/extensions/xExtension-${FreshRssExtUniqueId}"; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p "$out/$installPrefix" - find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/" + mkdir -p "$out/$installPrefix" + find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/" - runHook postInstall - ''; + runHook postInstall + ''; - passthru = passthru // { - inherit FreshRssExtUniqueId; - }; - }); + passthru = passthru // { + inherit FreshRssExtUniqueId; + }; + } + ); in { inherit buildFreshRssExtension; diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix index fe7b6ba66c608..5702b0b9299b9 100644 --- a/pkgs/servers/web-apps/jitsi-meet/default.nix +++ b/pkgs/servers/web-apps/jitsi-meet/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, nixosTests, olm }: +{ + lib, + stdenv, + fetchurl, + nixosTests, + olm, +}: stdenv.mkDerivation rec { pname = "jitsi-meet"; diff --git a/pkgs/servers/web-apps/lemmy/server.nix b/pkgs/servers/web-apps/lemmy/server.nix index 8c9407afff444..6a8bd6f06daf3 100644 --- a/pkgs/servers/web-apps/lemmy/server.nix +++ b/pkgs/servers/web-apps/lemmy/server.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, openssl -, postgresql -, libiconv -, Security -, SystemConfiguration -, protobuf -, rustfmt -, nixosTests +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + openssl, + postgresql, + libiconv, + Security, + SystemConfiguration, + protobuf, + rustfmt, + nixosTests, }: let pinData = lib.importJSON ./pin.json; @@ -33,8 +34,13 @@ rustPlatform.buildRustPackage rec { cargoHash = pinData.serverCargoHash; - buildInputs = [ postgresql ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security SystemConfiguration ]; + buildInputs = + [ postgresql ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + SystemConfiguration + ]; # Using OPENSSL_NO_VENDOR is not an option on darwin # As of version 0.10.35 rust-openssl looks for openssl on darwin @@ -45,7 +51,10 @@ rustPlatform.buildRustPackage rec { PROTOC = "${protobuf}/bin/protoc"; PROTOC_INCLUDE = "${protobuf}/include"; - nativeBuildInputs = [ protobuf rustfmt ]; + nativeBuildInputs = [ + protobuf + rustfmt + ]; checkFlags = [ # test requires database access @@ -63,7 +72,11 @@ rustPlatform.buildRustPackage rec { description = "🐀 Building a federated alternative to reddit in rust"; homepage = "https://join-lemmy.org/"; license = licenses.agpl3Only; - maintainers = with maintainers; [ happysalada billewanick georgyo ]; + maintainers = with maintainers; [ + happysalada + billewanick + georgyo + ]; mainProgram = "lemmy_server"; }; } diff --git a/pkgs/servers/web-apps/lemmy/ui.nix b/pkgs/servers/web-apps/lemmy/ui.nix index ab103921114b7..b423bcd8748fb 100644 --- a/pkgs/servers/web-apps/lemmy/ui.nix +++ b/pkgs/servers/web-apps/lemmy/ui.nix @@ -1,17 +1,17 @@ -{ lib -, stdenvNoCC -, libsass -, nodejs -, pnpm_9 -, fetchFromGitHub -, nixosTests -, vips +{ + lib, + stdenvNoCC, + libsass, + nodejs, + pnpm_9, + fetchFromGitHub, + nixosTests, + vips, }: let pinData = lib.importJSON ./pin.json; - in stdenvNoCC.mkDerivation (finalAttrs: { @@ -19,20 +19,25 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "lemmy-ui"; version = pinData.uiVersion; - src = with finalAttrs; fetchFromGitHub { - owner = "LemmyNet"; - repo = pname; - rev = version; - fetchSubmodules = true; - hash = pinData.uiHash; - }; + src = + with finalAttrs; + fetchFromGitHub { + owner = "LemmyNet"; + repo = pname; + rev = version; + fetchSubmodules = true; + hash = pinData.uiHash; + }; nativeBuildInputs = [ nodejs pnpm_9.configHook ]; - buildInputs = [libsass vips ]; + buildInputs = [ + libsass + vips + ]; extraBuildInputs = [ libsass ]; pnpmDeps = pnpm_9.fetchDeps { @@ -71,7 +76,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { done ''; - distPhase = "true"; passthru.updateScript = ./update.py; @@ -82,7 +86,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Building a federated alternative to reddit in rust"; homepage = "https://join-lemmy.org/"; license = licenses.agpl3Only; - maintainers = with maintainers; [ happysalada billewanick georgyo ]; + maintainers = with maintainers; [ + happysalada + billewanick + georgyo + ]; inherit (nodejs.meta) platforms; }; }) diff --git a/pkgs/servers/web-apps/livebook/default.nix b/pkgs/servers/web-apps/livebook/default.nix index 6429079b3747b..c346aa664be09 100644 --- a/pkgs/servers/web-apps/livebook/default.nix +++ b/pkgs/servers/web-apps/livebook/default.nix @@ -1,4 +1,13 @@ -{ lib, beamPackages, makeWrapper, rebar3, elixir, erlang, fetchFromGitHub, nixosTests }: +{ + lib, + beamPackages, + makeWrapper, + rebar3, + elixir, + erlang, + fetchFromGitHub, + nixosTests, +}: beamPackages.mixRelease rec { pname = "livebook"; version = "0.14.4"; @@ -24,9 +33,14 @@ beamPackages.mixRelease rec { postInstall = '' wrapProgram $out/bin/livebook \ - --prefix PATH : ${lib.makeBinPath [ elixir erlang ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + elixir + erlang + ] + } \ --set MIX_REBAR3 ${rebar3}/bin/rebar3 - ''; + ''; passthru.tests = { livebook-service = nixosTests.livebook-service; @@ -36,7 +50,10 @@ beamPackages.mixRelease rec { license = licenses.asl20; homepage = "https://livebook.dev/"; description = "Automate code & data workflows with interactive Elixir notebooks"; - maintainers = with maintainers; [ munksgaard scvalex ]; + maintainers = with maintainers; [ + munksgaard + scvalex + ]; platforms = platforms.unix; }; } diff --git a/pkgs/servers/web-apps/moodle/moodle-utils.nix b/pkgs/servers/web-apps/moodle/moodle-utils.nix index 090d87cb1ee83..eb818f84eb03e 100644 --- a/pkgs/servers/web-apps/moodle/moodle-utils.nix +++ b/pkgs/servers/web-apps/moodle/moodle-utils.nix @@ -1,33 +1,38 @@ { stdenv, unzip, ... }: let - buildMoodlePlugin = a@{ - name, - src, - pluginType, - configurePhase ? ":", - buildPhase ? ":", - buildInputs ? [ ], - nativeBuildInputs ? [ ], - ... - }: - stdenv.mkDerivation (a // { - name = name; + buildMoodlePlugin = + a@{ + name, + src, + pluginType, + configurePhase ? ":", + buildPhase ? ":", + buildInputs ? [ ], + nativeBuildInputs ? [ ], + ... + }: + stdenv.mkDerivation ( + a + // { + name = name; - inherit pluginType; - inherit configurePhase buildPhase buildInputs; + inherit pluginType; + inherit configurePhase buildPhase buildInputs; - nativeBuildInputs = [ unzip ] ++ nativeBuildInputs; + nativeBuildInputs = [ unzip ] ++ nativeBuildInputs; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p "$out" - mv * $out/ + mkdir -p "$out" + mv * $out/ - runHook postInstall - ''; - }); -in { + runHook postInstall + ''; + } + ); +in +{ inherit buildMoodlePlugin; } diff --git a/pkgs/servers/web-apps/netbox/generic.nix b/pkgs/servers/web-apps/netbox/generic.nix index c7a5225a66e30..23e9e20095ea2 100644 --- a/pkgs/servers/web-apps/netbox/generic.nix +++ b/pkgs/servers/web-apps/netbox/generic.nix @@ -1,113 +1,119 @@ -{ lib -, fetchFromGitHub -, python3 -, version -, hash -, plugins ? ps: [] -, extraPatches ? [] -, tests ? {} -, maintainers ? [] -, eol ? false +{ + lib, + fetchFromGitHub, + python3, + version, + hash, + plugins ? ps: [ ], + extraPatches ? [ ], + tests ? { }, + maintainers ? [ ], + eol ? false, }: - let - extraBuildInputs = plugins python3.pkgs; - in - python3.pkgs.buildPythonApplication rec { - pname = "netbox"; - inherit version; +let + extraBuildInputs = plugins python3.pkgs; +in +python3.pkgs.buildPythonApplication rec { + pname = "netbox"; + inherit version; - format = "other"; + format = "other"; - src = fetchFromGitHub { - owner = "netbox-community"; - repo = pname; - rev = "refs/tags/v${version}"; - inherit hash; - }; + src = fetchFromGitHub { + owner = "netbox-community"; + repo = pname; + rev = "refs/tags/v${version}"; + inherit hash; + }; - patches = extraPatches; + patches = extraPatches; - propagatedBuildInputs = with python3.pkgs; [ - bleach - boto3 - django_4 - django-cors-headers - django-debug-toolbar - django-filter - django-graphiql-debug-toolbar - django-mptt - django-pglocks - django-prometheus - django-redis - django-rq - django-tables2 - django-taggit - django-timezone-field - djangorestframework - drf-spectacular - drf-spectacular-sidecar - drf-yasg - dulwich - swagger-spec-validator # from drf-yasg[validation] - feedparser - graphene-django - jinja2 - markdown - markdown-include - netaddr - pillow - psycopg2 - pyyaml - requests - sentry-sdk - social-auth-core - social-auth-app-django - svgwrite - tablib - jsonschema - ] ++ extraBuildInputs; + propagatedBuildInputs = + with python3.pkgs; + [ + bleach + boto3 + django_4 + django-cors-headers + django-debug-toolbar + django-filter + django-graphiql-debug-toolbar + django-mptt + django-pglocks + django-prometheus + django-redis + django-rq + django-tables2 + django-taggit + django-timezone-field + djangorestframework + drf-spectacular + drf-spectacular-sidecar + drf-yasg + dulwich + swagger-spec-validator # from drf-yasg[validation] + feedparser + graphene-django + jinja2 + markdown + markdown-include + netaddr + pillow + psycopg2 + pyyaml + requests + sentry-sdk + social-auth-core + social-auth-app-django + svgwrite + tablib + jsonschema + ] + ++ extraBuildInputs; - buildInputs = with python3.pkgs; [ - mkdocs-material - mkdocs-material-extensions - mkdocstrings - mkdocstrings-python - ]; + buildInputs = with python3.pkgs; [ + mkdocs-material + mkdocs-material-extensions + mkdocstrings + mkdocstrings-python + ]; - nativeBuildInputs = [ - python3.pkgs.mkdocs - ]; + nativeBuildInputs = [ + python3.pkgs.mkdocs + ]; - postBuild = '' - PYTHONPATH=$PYTHONPATH:netbox/ - python -m mkdocs build - ''; + postBuild = '' + PYTHONPATH=$PYTHONPATH:netbox/ + python -m mkdocs build + ''; - installPhase = '' - mkdir -p $out/opt/netbox - cp -r . $out/opt/netbox - chmod +x $out/opt/netbox/netbox/manage.py - makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \ - --prefix PYTHONPATH : "$PYTHONPATH" - ''; + installPhase = '' + mkdir -p $out/opt/netbox + cp -r . $out/opt/netbox + chmod +x $out/opt/netbox/netbox/manage.py + makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; - passthru = { - python = python3; - # PYTHONPATH of all dependencies used by the package - pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs; - gunicorn = python3.pkgs.gunicorn; - inherit tests; - }; + passthru = { + python = python3; + # PYTHONPATH of all dependencies used by the package + pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs; + gunicorn = python3.pkgs.gunicorn; + inherit tests; + }; - meta = { - homepage = "https://github.com/netbox-community/netbox"; - description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; - mainProgram = "netbox"; - license = lib.licenses.asl20; - knownVulnerabilities = (lib.optional eol "Netbox version ${version} is EOL; please upgrade by following the current release notes instructions."); - # Warning: - # Notice the missing `lib` in the inherit: it is using this function argument rather than a `with lib;` argument. - # If you replace this by `with lib;`, pay attention it does not inherit all maintainers in nixpkgs. - inherit maintainers; - }; - } + meta = { + homepage = "https://github.com/netbox-community/netbox"; + description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; + mainProgram = "netbox"; + license = lib.licenses.asl20; + knownVulnerabilities = ( + lib.optional eol "Netbox version ${version} is EOL; please upgrade by following the current release notes instructions." + ); + # Warning: + # Notice the missing `lib` in the inherit: it is using this function argument rather than a `with lib;` argument. + # If you replace this by `with lib;`, pay attention it does not inherit all maintainers in nixpkgs. + inherit maintainers; + }; +} diff --git a/pkgs/servers/web-apps/outline/default.nix b/pkgs/servers/web-apps/outline/default.nix index 1fbfc016cbe1d..f6cee4bd1c8aa 100644 --- a/pkgs/servers/web-apps/outline/default.nix +++ b/pkgs/servers/web-apps/outline/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchYarnDeps -, makeWrapper -, nix-update-script -, prefetch-yarn-deps -, fixup-yarn-lock -, nodejs -, yarn -, nixosTests +{ + stdenv, + lib, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nix-update-script, + prefetch-yarn-deps, + fixup-yarn-lock, + nodejs, + yarn, + nixosTests, }: stdenv.mkDerivation rec { @@ -22,8 +23,15 @@ stdenv.mkDerivation rec { hash = "sha256-P0JDkuEm5eeVwi0+C7uSytA2NPQXUgJEDxqPiJfRNvs="; }; - nativeBuildInputs = [ makeWrapper prefetch-yarn-deps fixup-yarn-lock ]; - buildInputs = [ yarn nodejs ]; + nativeBuildInputs = [ + makeWrapper + prefetch-yarn-deps + fixup-yarn-lock + ]; + buildInputs = [ + yarn + nodejs + ]; yarnOfflineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; @@ -85,7 +93,13 @@ stdenv.mkDerivation rec { homepage = "https://www.getoutline.com/"; changelog = "https://github.com/outline/outline/releases"; license = licenses.bsl11; - maintainers = with maintainers; [ cab404 yrd ] ++ teams.cyberus.members; + maintainers = + with maintainers; + [ + cab404 + yrd + ] + ++ teams.cyberus.members; platforms = platforms.linux; }; } diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix index 362230da8dd21..e3d6fd960b088 100644 --- a/pkgs/servers/web-apps/wiki-js/default.nix +++ b/pkgs/servers/web-apps/wiki-js/default.nix @@ -1,4 +1,9 @@ -{ stdenv, fetchurl, lib, nixosTests }: +{ + stdenv, + fetchurl, + lib, + nixosTests, +}: stdenv.mkDerivation rec { pname = "wiki-js"; diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix index 185662312543a..1641616f8d7c7 100644 --- a/pkgs/servers/web-apps/wordpress/default.nix +++ b/pkgs/servers/web-apps/wordpress/default.nix @@ -1,4 +1,5 @@ -{ callPackage }: builtins.mapAttrs (_: callPackage ./generic.nix) rec { +{ callPackage }: +builtins.mapAttrs (_: callPackage ./generic.nix) rec { wordpress = wordpress_6_7; wordpress_6_7 = { version = "6.7.1"; diff --git a/pkgs/servers/web-apps/wordpress/generic.nix b/pkgs/servers/web-apps/wordpress/generic.nix index cfe0975abb2f2..640fb34f1b914 100644 --- a/pkgs/servers/web-apps/wordpress/generic.nix +++ b/pkgs/servers/web-apps/wordpress/generic.nix @@ -1,4 +1,12 @@ -{ lib, version, hash, stdenv, fetchurl, nixosTests, writeScript }: +{ + lib, + version, + hash, + stdenv, + fetchurl, + nixosTests, + writeScript, +}: stdenv.mkDerivation rec { pname = "wordpress"; diff --git a/pkgs/servers/web-apps/wordpress/packages/default.nix b/pkgs/servers/web-apps/wordpress/packages/default.nix index cce6897cb9193..d874bf3b4db22 100644 --- a/pkgs/servers/web-apps/wordpress/packages/default.nix +++ b/pkgs/servers/web-apps/wordpress/packages/default.nix @@ -2,94 +2,203 @@ # Licensed under: MIT # Slightly modified -{ lib, newScope, plugins, themes, languages, callPackage }: +{ + lib, + newScope, + plugins, + themes, + languages, + callPackage, +}: -let packages = self: - let - generatedJson = { - inherit plugins themes languages; - }; - sourceJson = { - plugins = builtins.fromJSON (builtins.readFile ./wordpress-plugins.json); - themes = builtins.fromJSON (builtins.readFile ./wordpress-themes.json); - languages = builtins.fromJSON (builtins.readFile ./wordpress-languages.json); - }; +let + packages = + self: + let + generatedJson = { + inherit plugins themes languages; + }; + sourceJson = { + plugins = builtins.fromJSON (builtins.readFile ./wordpress-plugins.json); + themes = builtins.fromJSON (builtins.readFile ./wordpress-themes.json); + languages = builtins.fromJSON (builtins.readFile ./wordpress-languages.json); + }; - in { - # Create a generic WordPress package. Most arguments are just passed - # to `mkDerivation`. The version is automatically filtered for weird characters. - mkWordpressDerivation = self.callPackage ({ stdenvNoCC, lib, filterWPString, gettext, wp-cli }: - { type, pname, version, license, ... }@args: - assert lib.any (x: x == type) [ "plugin" "theme" "language" ]; - stdenvNoCC.mkDerivation ({ - pname = "wordpress-${type}-${pname}"; - version = filterWPString version; + in + { + # Create a generic WordPress package. Most arguments are just passed + # to `mkDerivation`. The version is automatically filtered for weird characters. + mkWordpressDerivation = self.callPackage ( + { + stdenvNoCC, + lib, + filterWPString, + gettext, + wp-cli, + }: + { + type, + pname, + version, + license, + ... + }@args: + assert lib.any (x: x == type) [ + "plugin" + "theme" + "language" + ]; + stdenvNoCC.mkDerivation ( + { + pname = "wordpress-${type}-${pname}"; + version = filterWPString version; - dontConfigure = true; - dontBuild = true; + dontConfigure = true; + dontBuild = true; - installPhase = '' - runHook preInstall - cp -R ./. $out - runHook postInstall - ''; + installPhase = '' + runHook preInstall + cp -R ./. $out + runHook postInstall + ''; - passthru = { - wpName = pname; - }; + passthru = { + wpName = pname; + }; - meta = { - license = lib.licenses.${license}; - } // (args.passthru or {}); - } // lib.optionalAttrs (type == "language") { - nativeBuildInputs = [ gettext wp-cli ]; - dontBuild = false; - buildPhase = '' - runHook preBuild + meta = { + license = lib.licenses.${license}; + } // (args.passthru or { }); + } + // lib.optionalAttrs (type == "language") { + nativeBuildInputs = [ + gettext + wp-cli + ]; + dontBuild = false; + buildPhase = '' + runHook preBuild - find -name '*.po' -print0 | while IFS= read -d "" -r po; do - msgfmt -o $(basename "$po" .po).mo "$po" - done - wp i18n make-json . - rm *.po + find -name '*.po' -print0 | while IFS= read -d "" -r po; do + msgfmt -o $(basename "$po" .po).mo "$po" + done + wp i18n make-json . + rm *.po - runHook postBuild - ''; - } // removeAttrs args [ "type" "pname" "version" "passthru" ])) {}; + runHook postBuild + ''; + } + // removeAttrs args [ + "type" + "pname" + "version" + "passthru" + ] + ) + ) { }; - # Create a derivation from the official wordpress.org packages. - # This takes the type, the pname and the data generated from the go tool. - mkOfficialWordpressDerivation = self.callPackage ({ mkWordpressDerivation, fetchWordpress }: - { type, pname, data, license }: - mkWordpressDerivation { - inherit type pname license; - version = data.version; + # Create a derivation from the official wordpress.org packages. + # This takes the type, the pname and the data generated from the go tool. + mkOfficialWordpressDerivation = self.callPackage ( + { mkWordpressDerivation, fetchWordpress }: + { + type, + pname, + data, + license, + }: + mkWordpressDerivation { + inherit type pname license; + version = data.version; - src = fetchWordpress type data; - }) {}; + src = fetchWordpress type data; + } + ) { }; - # Filter out all characters that might occur in a version string but that that are not allowed - # in store paths. - filterWPString = builtins.replaceStrings [ " " "," "/" "&" ";" ''"'' "'" "$" ":" "(" ")" "[" "]" "{" "}" "|" "*" "\t" ] [ "_" "." "." "" "" "" "" "" "" "" "" "" "" "" "" "-" "" "" ]; + # Filter out all characters that might occur in a version string but that that are not allowed + # in store paths. + filterWPString = + builtins.replaceStrings + [ + " " + "," + "/" + "&" + ";" + ''"'' + "'" + "$" + ":" + "(" + ")" + "[" + "]" + "{" + "}" + "|" + "*" + "\t" + ] + [ + "_" + "." + "." + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "-" + "" + "" + ]; - # Fetch a package from the official wordpress.org SVN. - # The data supplied is the data straight from the go tool. - fetchWordpress = self.callPackage ({ fetchsvn }: type: data: fetchsvn { - inherit (data) rev sha256; - url = if type == "plugin" || type == "theme" then - "https://" + type + "s.svn.wordpress.org/" + data.path - else if type == "language" then - "https://i18n.svn.wordpress.org/core/" + data.version + "/" + data.path - else if type == "pluginLanguage" then - "https://i18n.svn.wordpress.org/plugins/" + data.path - else if type == "themeLanguage" then - "https://i18n.svn.wordpress.org/themes/" + data.path - else - throw "fetchWordpress: invalid package type ${type}"; - }) {}; + # Fetch a package from the official wordpress.org SVN. + # The data supplied is the data straight from the go tool. + fetchWordpress = self.callPackage ( + { fetchsvn }: + type: data: + fetchsvn { + inherit (data) rev sha256; + url = + if type == "plugin" || type == "theme" then + "https://" + type + "s.svn.wordpress.org/" + data.path + else if type == "language" then + "https://i18n.svn.wordpress.org/core/" + data.version + "/" + data.path + else if type == "pluginLanguage" then + "https://i18n.svn.wordpress.org/plugins/" + data.path + else if type == "themeLanguage" then + "https://i18n.svn.wordpress.org/themes/" + data.path + else + throw "fetchWordpress: invalid package type ${type}"; + } + ) { }; - } // lib.mapAttrs ( - type: pkgs: lib.makeExtensible (_: lib.mapAttrs (pname: data: self.mkOfficialWordpressDerivation {type = lib.removeSuffix "s" type; inherit pname data; license = sourceJson.${type}.${pname}; }) pkgs)) generatedJson; + } + // lib.mapAttrs ( + type: pkgs: + lib.makeExtensible ( + _: + lib.mapAttrs ( + pname: data: + self.mkOfficialWordpressDerivation { + type = lib.removeSuffix "s" type; + inherit pname data; + license = sourceJson.${type}.${pname}; + } + ) pkgs + ) + ) generatedJson; +in # This creates an extensible scope. -in lib.recursiveUpdate ((lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfWP: superWP: {})) (callPackage ./thirdparty.nix {}) +lib.recursiveUpdate ((lib.makeExtensible (_: (lib.makeScope newScope packages))).extend ( + selfWP: superWP: { } +)) (callPackage ./thirdparty.nix { }) diff --git a/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix b/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix index 764408470064e..535e57b526ca6 100644 --- a/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix +++ b/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix @@ -1,4 +1,9 @@ -{fetchzip, stdenv, lib}: { +{ + fetchzip, + stdenv, + lib, +}: +{ plugins.civicrm = stdenv.mkDerivation rec { pname = "civicrm"; version = "5.56.0"; @@ -41,4 +46,3 @@ }; }; } - diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix index d8ad96b97dd1a..b6a1c1f525be4 100644 --- a/pkgs/servers/x11/quartz-wm/default.nix +++ b/pkgs/servers/x11/quartz-wm/default.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchurl, xorg, pixman, pkg-config, AppKit, Foundation, Xplugin }: +{ + lib, + stdenv, + fetchurl, + xorg, + pixman, + pkg-config, + AppKit, + Foundation, + Xplugin, +}: -let version = "1.3.1"; -in stdenv.mkDerivation { +let + version = "1.3.1"; +in +stdenv.mkDerivation { pname = "quartz-wm"; inherit version; src = fetchurl { @@ -21,7 +33,9 @@ in stdenv.mkDerivation { xorg.libXrandr xorg.libXext pixman - AppKit Xplugin Foundation + AppKit + Xplugin + Foundation ]; meta = with lib; { license = licenses.apple-psl20; diff --git a/pkgs/servers/x11/xorg/xcb-util-xrm.nix b/pkgs/servers/x11/xorg/xcb-util-xrm.nix index 0235ad29cc6e0..487e0cb406616 100644 --- a/pkgs/servers/x11/xorg/xcb-util-xrm.nix +++ b/pkgs/servers/x11/xorg/xcb-util-xrm.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, m4, libxcb, xcbutil, libX11 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + m4, + libxcb, + xcbutil, + libX11, +}: stdenv.mkDerivation rec { version = "1.3"; @@ -11,9 +20,16 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ pkg-config m4 ]; + nativeBuildInputs = [ + pkg-config + m4 + ]; doCheck = true; - buildInputs = [ libxcb xcbutil libX11 ]; + buildInputs = [ + libxcb + xcbutil + libX11 + ]; meta = with lib; { description = "XCB utility functions for the X resource manager"; diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix index 8bfc01d799332..eb46bb349a433 100644 --- a/pkgs/servers/x11/xorg/xwayland.nix +++ b/pkgs/servers/x11/xorg/xwayland.nix @@ -1,50 +1,52 @@ -{ egl-wayland -, bash -, libepoxy -, fetchurl -, fontutil -, lib -, libdecor -, libei -, libGL -, libGLU -, libX11 -, libXau -, libXaw -, libXdmcp -, libXext -, libXfixes -, libXfont2 -, libXmu -, libXpm -, libXrender -, libXres -, libXt -, libdrm -, libtirpc -, withLibunwind ? true, libunwind -, libxcb -, libxkbfile -, libxshmfence -, libxcvt -, mesa -, meson -, ninja -, openssl -, pkg-config -, pixman -, stdenv -, systemd -, wayland -, wayland-protocols -, wayland-scanner -, xkbcomp -, xkeyboard_config -, xorgproto -, xtrans -, zlib -, defaultFontPath ? "" -, gitUpdater +{ + egl-wayland, + bash, + libepoxy, + fetchurl, + fontutil, + lib, + libdecor, + libei, + libGL, + libGLU, + libX11, + libXau, + libXaw, + libXdmcp, + libXext, + libXfixes, + libXfont2, + libXmu, + libXpm, + libXrender, + libXres, + libXt, + libdrm, + libtirpc, + withLibunwind ? true, + libunwind, + libxcb, + libxkbfile, + libxshmfence, + libxcvt, + mesa, + meson, + ninja, + openssl, + pkg-config, + pixman, + stdenv, + systemd, + wayland, + wayland-protocols, + wayland-scanner, + xkbcomp, + xkeyboard_config, + xorgproto, + xtrans, + zlib, + defaultFontPath ? "", + gitUpdater, }: stdenv.mkDerivation rec { @@ -70,45 +72,47 @@ stdenv.mkDerivation rec { ninja wayland-scanner ]; - buildInputs = [ - egl-wayland - libdecor - libepoxy - libei - fontutil - libGL - libGLU - libX11 - libXau - libXaw - libXdmcp - libXext - libXfixes - libXfont2 - libXmu - libXpm - libXrender - libXres - libXt - libdrm - libtirpc - libxcb - libxkbfile - libxshmfence - libxcvt - mesa - openssl - pixman - systemd - wayland - wayland-protocols - xkbcomp - xorgproto - xtrans - zlib - ] ++ lib.optionals withLibunwind [ - libunwind - ]; + buildInputs = + [ + egl-wayland + libdecor + libepoxy + libei + fontutil + libGL + libGLU + libX11 + libXau + libXaw + libXdmcp + libXext + libXfixes + libXfont2 + libXmu + libXpm + libXrender + libXres + libXt + libdrm + libtirpc + libxcb + libxkbfile + libxshmfence + libxcvt + mesa + openssl + pixman + systemd + wayland + wayland-protocols + xkbcomp + xorgproto + xtrans + zlib + ] + ++ lib.optionals withLibunwind [ + libunwind + ]; mesonFlags = [ (lib.mesonBool "xcsecurity" true) (lib.mesonOption "default_font_path" defaultFontPath) @@ -129,7 +133,10 @@ stdenv.mkDerivation rec { homepage = "https://wayland.freedesktop.org/xserver.html"; license = licenses.mit; mainProgram = "Xwayland"; - maintainers = with maintainers; [ emantor k900 ]; + maintainers = with maintainers; [ + emantor + k900 + ]; platforms = platforms.linux; }; } diff --git a/pkgs/shells/bash/bash-5.2-patches.nix b/pkgs/shells/bash/bash-5.2-patches.nix index da5380c7a55ad..b5197b6e0bca8 100644 --- a/pkgs/shells/bash/bash-5.2-patches.nix +++ b/pkgs/shells/bash/bash-5.2-patches.nix @@ -1,41 +1,41 @@ # Automatically generated by `update-patch-set.sh'; do not edit. patch: [ -(patch "001" "02iibpd3jq8p1bhdzgik8ps6gi1145vr463a82gj1hivjbp2ybzl") -(patch "002" "1f6p1z85qh1lavdp3xikgp0bfv0vqhvgpgwmdzlywl35hwdmxk25") -(patch "003" "1zxsi869jd90hksx3nyypgyqwrxhw2ws3r6hmk76yc1lsgdhq2ba") -(patch "004" "04i5liw5cg6dqkdxfgazqc2jrw40bmclx3dx45bwy259pcj7g0iq") -(patch "005" "0mykflv9qnbx3jz71l4f7isadiw9knm4qimqkwsv9cv88dafpq7c") -(patch "006" "13265akl8w6zyrg0l7f0x6arjgqjhllcwl6lk46rl53x4mm5dq6i") -(patch "007" "146lrwkn5wgxzs6vx34wl47g69zsxdy032k40qzi626b47ya6015") -(patch "008" "1s5i8hcayrv25lc8fxcr431v634yx5sii53b8fmip789s0pxjjvb") -(patch "009" "1kfk25151ka9wkmk1myf12irgcmvhsd8b0nfifvhrszah9w82npr") -(patch "010" "1kf1jrwm30js0v3d1r2rk4x09s1pyjp70wnd1qqhf9bmkw15ww67") -(patch "011" "1x5nkvbj6hci7gx42q7qa72hg2a9wwxh85dk79gn521ypwjmy6w3") -(patch "012" "0b6lcwzm7v5bzjiwaz2c8n5aj77w8ckhp2vwk4v3zsdq3z70gc9g") -(patch "013" "1rkwpibd6j2ghppfhqsva2jm4kdni6b7jpdsxdps52643gc4yjq9") -(patch "014" "09766vqqw4ffnmysm725v35qkhp1g9j4qgqag941xvq655pj9y9y") -(patch "015" "12im449abnq5gaqjmdxr5i38kmp02fa8l8wffad3jryvd58r0wzg") -(patch "016" "05arb0hzmng03cr357lf6p8af0x2a1pznsd3psll03nibfy56n0m") -(patch "017" "129cvx4gfz8n23iw1lhbknbw86fyw6vh60jqj1wj3d5pr75wwj0w") -(patch "018" "105am94qxjc27gga4a8asvsi01090xwjfim3s16lafwjvm4xsha6") -(patch "019" "10njgv5mrc5rhsp5lvxcbm0pnzn59a8spi2nhdasifyl1a32cp1j") -(patch "020" "07f0wlmqjdfarp44w3gj9gdqbqm5x20rvlhpn34ngklmxcm2bz5n") -(patch "021" "1kahfqqalcwi4m73pg3ssz6lh0kcqsqax09myac7a15d2y0vhd43") -(patch "022" "0w74aym0g1fh48864a3qxh89f26iaq7wsbg7244c6kjr94527dbq") -(patch "023" "1lywjqbc36j5pdzfcvnz1zy30j76aqmsm190p888av0hw815b45g") -(patch "024" "1hq23djqbr7s9y2324jq9mxr5bwdkmgizn3zgpchbsqp054k85cp") -(patch "025" "0x9hc4silzl4d3zw4p43i5dm7w86k50j47f87lracwfgwy3z8f2i") -(patch "026" "1b1fhm1dsi67r8ip17s0xvx2qq31fsxc1g9n3r931dd0k9a1zvln") -(patch "027" "0fdbhvs9dkf4knncifh98a76q4gylhyvfrffq5p9q3ag5q58jap1") -(patch "028" "1hdacd6sssjshmry1sscdnxxfb2r51bvdyghlfjaqgc9l85phhk0") -(patch "029" "11wrlb20w6v89b96krg0gwxipwhvrda6rq1y9f972m32gsrsqp0j") -(patch "030" "13v9fqgim082dmvkslsr0hs793yzhsij2s91mjswsfhj1qip7zy3") -(patch "031" "15d7rddj6spwc1fy997lxx6zvzq0zbxgf2h20mhi4wgp5nzbglf2") -(patch "032" "05ia6yf32hjprmyyxqawhgckxs3684ikfx8xg08zfgx9xkd7g73v") -(patch "033" "1qm2aad9mf2xah6xwchga7s5pk3v308mrv9lgh50d65d236ccgh1") -(patch "034" "0bi38dhkkwpm2qrzp8zpykglq6gibvv2n9f8m59gwj406cxvp7w9") -(patch "035" "1r8k34y82v02yfkgws17j7i53ybb74dqnwl2jjiv0av9z93hl6l2") -(patch "036" "0mwhr9hfbh2czf8klbxg6nbd2g9xl9kygvgk061vird56r4kzj8m") -(patch "037" "156sbi3srzkyxajkmhb7iigq0j4nvwnpsbw88xdsxn95a4xiqb4a") + (patch "001" "02iibpd3jq8p1bhdzgik8ps6gi1145vr463a82gj1hivjbp2ybzl") + (patch "002" "1f6p1z85qh1lavdp3xikgp0bfv0vqhvgpgwmdzlywl35hwdmxk25") + (patch "003" "1zxsi869jd90hksx3nyypgyqwrxhw2ws3r6hmk76yc1lsgdhq2ba") + (patch "004" "04i5liw5cg6dqkdxfgazqc2jrw40bmclx3dx45bwy259pcj7g0iq") + (patch "005" "0mykflv9qnbx3jz71l4f7isadiw9knm4qimqkwsv9cv88dafpq7c") + (patch "006" "13265akl8w6zyrg0l7f0x6arjgqjhllcwl6lk46rl53x4mm5dq6i") + (patch "007" "146lrwkn5wgxzs6vx34wl47g69zsxdy032k40qzi626b47ya6015") + (patch "008" "1s5i8hcayrv25lc8fxcr431v634yx5sii53b8fmip789s0pxjjvb") + (patch "009" "1kfk25151ka9wkmk1myf12irgcmvhsd8b0nfifvhrszah9w82npr") + (patch "010" "1kf1jrwm30js0v3d1r2rk4x09s1pyjp70wnd1qqhf9bmkw15ww67") + (patch "011" "1x5nkvbj6hci7gx42q7qa72hg2a9wwxh85dk79gn521ypwjmy6w3") + (patch "012" "0b6lcwzm7v5bzjiwaz2c8n5aj77w8ckhp2vwk4v3zsdq3z70gc9g") + (patch "013" "1rkwpibd6j2ghppfhqsva2jm4kdni6b7jpdsxdps52643gc4yjq9") + (patch "014" "09766vqqw4ffnmysm725v35qkhp1g9j4qgqag941xvq655pj9y9y") + (patch "015" "12im449abnq5gaqjmdxr5i38kmp02fa8l8wffad3jryvd58r0wzg") + (patch "016" "05arb0hzmng03cr357lf6p8af0x2a1pznsd3psll03nibfy56n0m") + (patch "017" "129cvx4gfz8n23iw1lhbknbw86fyw6vh60jqj1wj3d5pr75wwj0w") + (patch "018" "105am94qxjc27gga4a8asvsi01090xwjfim3s16lafwjvm4xsha6") + (patch "019" "10njgv5mrc5rhsp5lvxcbm0pnzn59a8spi2nhdasifyl1a32cp1j") + (patch "020" "07f0wlmqjdfarp44w3gj9gdqbqm5x20rvlhpn34ngklmxcm2bz5n") + (patch "021" "1kahfqqalcwi4m73pg3ssz6lh0kcqsqax09myac7a15d2y0vhd43") + (patch "022" "0w74aym0g1fh48864a3qxh89f26iaq7wsbg7244c6kjr94527dbq") + (patch "023" "1lywjqbc36j5pdzfcvnz1zy30j76aqmsm190p888av0hw815b45g") + (patch "024" "1hq23djqbr7s9y2324jq9mxr5bwdkmgizn3zgpchbsqp054k85cp") + (patch "025" "0x9hc4silzl4d3zw4p43i5dm7w86k50j47f87lracwfgwy3z8f2i") + (patch "026" "1b1fhm1dsi67r8ip17s0xvx2qq31fsxc1g9n3r931dd0k9a1zvln") + (patch "027" "0fdbhvs9dkf4knncifh98a76q4gylhyvfrffq5p9q3ag5q58jap1") + (patch "028" "1hdacd6sssjshmry1sscdnxxfb2r51bvdyghlfjaqgc9l85phhk0") + (patch "029" "11wrlb20w6v89b96krg0gwxipwhvrda6rq1y9f972m32gsrsqp0j") + (patch "030" "13v9fqgim082dmvkslsr0hs793yzhsij2s91mjswsfhj1qip7zy3") + (patch "031" "15d7rddj6spwc1fy997lxx6zvzq0zbxgf2h20mhi4wgp5nzbglf2") + (patch "032" "05ia6yf32hjprmyyxqawhgckxs3684ikfx8xg08zfgx9xkd7g73v") + (patch "033" "1qm2aad9mf2xah6xwchga7s5pk3v308mrv9lgh50d65d236ccgh1") + (patch "034" "0bi38dhkkwpm2qrzp8zpykglq6gibvv2n9f8m59gwj406cxvp7w9") + (patch "035" "1r8k34y82v02yfkgws17j7i53ybb74dqnwl2jjiv0av9z93hl6l2") + (patch "036" "0mwhr9hfbh2czf8klbxg6nbd2g9xl9kygvgk061vird56r4kzj8m") + (patch "037" "156sbi3srzkyxajkmhb7iigq0j4nvwnpsbw88xdsxn95a4xiqb4a") ] diff --git a/pkgs/shells/carapace/default.nix b/pkgs/shells/carapace/default.nix index 555f70e255e5f..c2107abb3fc00 100644 --- a/pkgs/shells/carapace/default.nix +++ b/pkgs/shells/carapace/default.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchFromGitHub, testers, carapace }: +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + carapace, +}: buildGoModule rec { pname = "carapace"; diff --git a/pkgs/shells/fish/babelfish.nix b/pkgs/shells/fish/babelfish.nix index a08944262cc48..d5a317b618634 100644 --- a/pkgs/shells/fish/babelfish.nix +++ b/pkgs/shells/fish/babelfish.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "babelfish"; version = "1.2.1"; @@ -17,6 +21,9 @@ buildGoModule rec { mainProgram = "babelfish"; homepage = "https://github.com/bouk/babelfish"; license = licenses.mit; - maintainers = with maintainers; [ bouk kevingriffin ]; + maintainers = with maintainers; [ + bouk + kevingriffin + ]; }; } diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix index 16462ba09f6e4..76d9a9b2fbc78 100644 --- a/pkgs/shells/fish/default.nix +++ b/pkgs/shells/fish/default.nix @@ -1,32 +1,33 @@ -{ stdenv -, lib -, fetchurl -, fetchpatch -, coreutils -, which -, gnused -, gnugrep -, groff -, gawk -, man-db -, getent -, libiconv -, pcre2 -, gettext -, ncurses -, python3 -, cmake -, fishPlugins -, procps - -# used to generate autocompletions from manpages and for configuration editing in the browser -, usePython ? true - -, runCommand -, writeText -, nixosTests -, nix-update-script -, useOperatingSystemEtc ? true +{ + stdenv, + lib, + fetchurl, + fetchpatch, + coreutils, + which, + gnused, + gnugrep, + groff, + gawk, + man-db, + getent, + libiconv, + pcre2, + gettext, + ncurses, + python3, + cmake, + fishPlugins, + procps, + + # used to generate autocompletions from manpages and for configuration editing in the browser + usePython ? true, + + runCommand, + writeText, + nixosTests, + nix-update-script, + useOperatingSystemEtc ? true, # An optional string containing Fish code that initializes the environment. # This is run at the very beginning of initialization. If it sets $NIX_PROFILES # then Fish will use that to configure its function, completion, and conf.d paths. @@ -35,7 +36,7 @@ # It can also be a function that takes one argument, which is a function that # takes a path to a bash file and converts it to fish. For example: # fishEnvPreInit = source: source "${nix}/etc/profile.d/nix-daemon.sh"; -, fishEnvPreInit ? null + fishEnvPreInit ? null, }: let etcConfigAppendix = writeText "config.fish.appendix" '' @@ -81,12 +82,19 @@ let # 2. Before the shell is initialized, so that config snippets can find the commands they use on the PATH builtin status is-login or test -z "$__fish_nixos_env_preinit_sourced" -a -z "$ETC_PROFILE_SOURCED" -a -z "$ETC_ZSHENV_SOURCED" - ${if fishEnvPreInit != null then '' - and begin - ${lib.removeSuffix "\n" (if lib.isFunction fishEnvPreInit then fishEnvPreInit sourceWithFenv else fishEnvPreInit)} - end'' else '' - and test -f /etc/fish/nixos-env-preinit.fish - and source /etc/fish/nixos-env-preinit.fish''} + ${ + if fishEnvPreInit != null then + '' + and begin + ${lib.removeSuffix "\n" ( + if lib.isFunction fishEnvPreInit then fishEnvPreInit sourceWithFenv else fishEnvPreInit + )} + end'' + else + '' + and test -f /etc/fish/nixos-env-preinit.fish + and source /etc/fish/nixos-env-preinit.fish'' + } and set -gx __fish_nixos_env_preinit_sourced 1 test -n "$NIX_PROFILES" @@ -163,51 +171,57 @@ let ]; # Fix FHS paths in tests - postPatch = '' - # src/fish_tests.cpp - sed -i 's|/bin/ls|${coreutils}/bin/ls|' src/fish_tests.cpp - sed -i 's|is_potential_path(L"/usr"|is_potential_path(L"/nix"|' src/fish_tests.cpp - sed -i 's|L"/bin/echo"|L"${coreutils}/bin/echo"|' src/fish_tests.cpp - sed -i 's|L"/bin/c"|L"${coreutils}/bin/c"|' src/fish_tests.cpp - sed -i 's|L"/bin/ca"|L"${coreutils}/bin/ca"|' src/fish_tests.cpp - # disable flakey test - sed -i '/{TEST_GROUP("history_races"), history_tests_t::test_history_races},/d' src/fish_tests.cpp - - # tests/checks/cd.fish - sed -i 's|/bin/pwd|${coreutils}/bin/pwd|' tests/checks/cd.fish - - # tests/checks/redirect.fish - sed -i 's|/bin/echo|${coreutils}/bin/echo|' tests/checks/redirect.fish - - # tests/checks/vars_as_commands.fish - sed -i 's|/usr/bin|${coreutils}/bin|' tests/checks/vars_as_commands.fish - - # tests/checks/jobs.fish - sed -i 's|ps -o stat|${procps}/bin/ps -o stat|' tests/checks/jobs.fish - sed -i 's|/bin/echo|${coreutils}/bin/echo|' tests/checks/jobs.fish - - # tests/checks/job-control-noninteractive.fish - sed -i 's|/bin/echo|${coreutils}/bin/echo|' tests/checks/job-control-noninteractive.fish - - # tests/checks/complete.fish - sed -i 's|/bin/ls|${coreutils}/bin/ls|' tests/checks/complete.fish - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Tests use pkill/pgrep which are currently not built on Darwin - # See https://github.com/NixOS/nixpkgs/pull/103180 - rm tests/pexpects/exit.py - rm tests/pexpects/job_summary.py - rm tests/pexpects/signals.py - - # pexpect tests are flaky in general - # See https://github.com/fish-shell/fish-shell/issues/8789 - rm tests/pexpects/bind.py - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - # pexpect tests are flaky on aarch64-linux (also x86_64-linux) - # See https://github.com/fish-shell/fish-shell/issues/8789 - rm tests/pexpects/exit_handlers.py - ''; - - outputs = [ "out" "doc" ]; + postPatch = + '' + # src/fish_tests.cpp + sed -i 's|/bin/ls|${coreutils}/bin/ls|' src/fish_tests.cpp + sed -i 's|is_potential_path(L"/usr"|is_potential_path(L"/nix"|' src/fish_tests.cpp + sed -i 's|L"/bin/echo"|L"${coreutils}/bin/echo"|' src/fish_tests.cpp + sed -i 's|L"/bin/c"|L"${coreutils}/bin/c"|' src/fish_tests.cpp + sed -i 's|L"/bin/ca"|L"${coreutils}/bin/ca"|' src/fish_tests.cpp + # disable flakey test + sed -i '/{TEST_GROUP("history_races"), history_tests_t::test_history_races},/d' src/fish_tests.cpp + + # tests/checks/cd.fish + sed -i 's|/bin/pwd|${coreutils}/bin/pwd|' tests/checks/cd.fish + + # tests/checks/redirect.fish + sed -i 's|/bin/echo|${coreutils}/bin/echo|' tests/checks/redirect.fish + + # tests/checks/vars_as_commands.fish + sed -i 's|/usr/bin|${coreutils}/bin|' tests/checks/vars_as_commands.fish + + # tests/checks/jobs.fish + sed -i 's|ps -o stat|${procps}/bin/ps -o stat|' tests/checks/jobs.fish + sed -i 's|/bin/echo|${coreutils}/bin/echo|' tests/checks/jobs.fish + + # tests/checks/job-control-noninteractive.fish + sed -i 's|/bin/echo|${coreutils}/bin/echo|' tests/checks/job-control-noninteractive.fish + + # tests/checks/complete.fish + sed -i 's|/bin/ls|${coreutils}/bin/ls|' tests/checks/complete.fish + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Tests use pkill/pgrep which are currently not built on Darwin + # See https://github.com/NixOS/nixpkgs/pull/103180 + rm tests/pexpects/exit.py + rm tests/pexpects/job_summary.py + rm tests/pexpects/signals.py + + # pexpect tests are flaky in general + # See https://github.com/fish-shell/fish-shell/issues/8789 + rm tests/pexpects/bind.py + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + # pexpect tests are flaky on aarch64-linux (also x86_64-linux) + # See https://github.com/fish-shell/fish-shell/issues/8789 + rm tests/pexpects/exit_handlers.py + ''; + + outputs = [ + "out" + "doc" + ]; strictDeps = true; nativeBuildInputs = [ cmake @@ -220,11 +234,13 @@ let pcre2 ]; - cmakeFlags = [ - "-DCMAKE_INSTALL_DOCDIR=${placeholder "doc"}/share/doc/fish" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DMAC_CODESIGN_ID=OFF" - ]; + cmakeFlags = + [ + "-DCMAKE_INSTALL_DOCDIR=${placeholder "doc"}/share/doc/fish" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DMAC_CODESIGN_ID=OFF" + ]; # Fish’s test suite needs to be able to look up process information and send signals. sandboxProfile = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -236,11 +252,13 @@ let # Fish needs coreutils as a runtime dependency, and it gets put into # CMAKE_PREFIX_PATH, which cmake uses to look up build time programs, so it # was clobbering the PATH. It probably needs to be fixed at a lower level. - preConfigure = '' - patchShebangs ./build_tools/git_version_gen.sh - '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - export CMAKE_PREFIX_PATH= - ''; + preConfigure = + '' + patchShebangs ./build_tools/git_version_gen.sh + '' + + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + export CMAKE_PREFIX_PATH= + ''; # Required binaries during execution propagatedBuildInputs = [ @@ -263,51 +281,57 @@ let make test ''; - postInstall = '' - sed -r "s|command grep|command ${gnugrep}/bin/grep|" \ - -i "$out/share/fish/functions/grep.fish" - sed -e "s|\|cut|\|${coreutils}/bin/cut|" \ - -i "$out/share/fish/functions/fish_prompt.fish" - sed -e "s|uname|${coreutils}/bin/uname|" \ - -i "$out/share/fish/functions/__fish_pwd.fish" \ - "$out/share/fish/functions/prompt_pwd.fish" - sed -e "s|sed |${gnused}/bin/sed |" \ - -i "$out/share/fish/functions/alias.fish" \ - "$out/share/fish/functions/prompt_pwd.fish" - sed -i "s|nroff|${groff}/bin/nroff|" \ - "$out/share/fish/functions/__fish_print_help.fish" - sed -e "s|clear;|${lib.getBin ncurses}/bin/clear;|" \ - -i "$out/share/fish/functions/fish_default_key_bindings.fish" - sed -i "s|/usr/local/sbin /sbin /usr/sbin||" \ - $out/share/fish/completions/{sudo.fish,doas.fish} - sed -e "s| awk | ${gawk}/bin/awk |" \ - -i $out/share/fish/functions/{__fish_print_packages.fish,__fish_print_addresses.fish,__fish_describe_command.fish,__fish_complete_man.fish,__fish_complete_convert_options.fish} \ - $out/share/fish/completions/{cwebp,adb,ezjail-admin,grunt,helm,heroku,lsusb,make,p4,psql,rmmod,vim-addons}.fish - - '' + lib.optionalString usePython '' - cat > $out/share/fish/functions/__fish_anypython.fish < $out/share/fish/functions/__fish_anypython.fish <> webconfig.py - - # and check whether the message appears on the page - # cannot test the http server because it needs a localhost port - cat (${python3}/bin/python ./webconfig.py \ - | tail -n1 | ${lib.getExe gnused} -e 's|file://||' \ - ) | ${lib.getExe gnugrep} -q 'a href="http://localhost.*Start the Fish Web config' - ''; + let + fishScript = writeText "test.fish" '' + set -x __fish_bin_dir ${fish}/bin + echo $__fish_bin_dir + cp -r ${fish}/share/fish/tools/web_config/* . + chmod -R +w * + + # if we don't set `delete=False`, the file will get cleaned up + # automatically (leading the test to fail because there's no + # tempfile to check) + ${lib.getExe gnused} -e 's@, mode="w"@, mode="w", delete=False@' -i webconfig.py + + # we delete everything after the fileurl is assigned + ${lib.getExe gnused} -e '/fileurl =/q' -i webconfig.py + echo "print(fileurl)" >> webconfig.py + + # and check whether the message appears on the page + # cannot test the http server because it needs a localhost port + cat (${python3}/bin/python ./webconfig.py \ + | tail -n1 | ${lib.getExe gnused} -e 's|file://||' \ + ) | ${lib.getExe gnugrep} -q 'a href="http://localhost.*Start the Fish Web config' + ''; in runCommand "test-web-config" { } '' HOME=$(mktemp -d) diff --git a/pkgs/shells/fish/plugins/async-prompt.nix b/pkgs/shells/fish/plugins/async-prompt.nix index ff3a1e6d98914..2f25dcf87060e 100644 --- a/pkgs/shells/fish/plugins/async-prompt.nix +++ b/pkgs/shells/fish/plugins/async-prompt.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "async-prompt"; diff --git a/pkgs/shells/fish/plugins/autopair.nix b/pkgs/shells/fish/plugins/autopair.nix index 7c75cc1236010..6832c0bf746ba 100644 --- a/pkgs/shells/fish/plugins/autopair.nix +++ b/pkgs/shells/fish/plugins/autopair.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "autopair"; @@ -15,6 +19,10 @@ buildFishPlugin rec { description = "Auto-complete matching pairs in the Fish command line"; homepage = "https://github.com/jorgebucaran/autopair.fish"; license = licenses.mit; - maintainers = with maintainers; [ figsoda kidonng pyrox0 ]; + maintainers = with maintainers; [ + figsoda + kidonng + pyrox0 + ]; }; } diff --git a/pkgs/shells/fish/plugins/bass.nix b/pkgs/shells/fish/plugins/bass.nix index 01fea3c8a0e5c..f14be816f7af8 100644 --- a/pkgs/shells/fish/plugins/bass.nix +++ b/pkgs/shells/fish/plugins/bass.nix @@ -1,4 +1,9 @@ -{ lib, buildFishPlugin, fetchFromGitHub, python3 }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, + python3, +}: buildFishPlugin rec { pname = "bass"; diff --git a/pkgs/shells/fish/plugins/bobthefish.nix b/pkgs/shells/fish/plugins/bobthefish.nix index e4b7ead976946..b2c723b275e9c 100644 --- a/pkgs/shells/fish/plugins/bobthefish.nix +++ b/pkgs/shells/fish/plugins/bobthefish.nix @@ -1,7 +1,7 @@ -{ lib -, buildFishPlugin -, fetchFromGitHub -, +{ + lib, + buildFishPlugin, + fetchFromGitHub, }: buildFishPlugin { pname = "bobthefish"; diff --git a/pkgs/shells/fish/plugins/bobthefisher.nix b/pkgs/shells/fish/plugins/bobthefisher.nix index db114704c79cb..39d16ea6100b4 100644 --- a/pkgs/shells/fish/plugins/bobthefisher.nix +++ b/pkgs/shells/fish/plugins/bobthefisher.nix @@ -1,7 +1,7 @@ -{ lib -, buildFishPlugin -, fetchFromGitHub -, +{ + lib, + buildFishPlugin, + fetchFromGitHub, }: buildFishPlugin { pname = "bobthefisher"; diff --git a/pkgs/shells/fish/plugins/build-fish-plugin.nix b/pkgs/shells/fish/plugins/build-fish-plugin.nix index 807d5835f1ee0..7f57cf2c6f2e7 100644 --- a/pkgs/shells/fish/plugins/build-fish-plugin.nix +++ b/pkgs/shells/fish/plugins/build-fish-plugin.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, writeScript, wrapFish }: +{ + stdenv, + lib, + writeScript, + wrapFish, +}: attrs@{ pname, @@ -12,11 +17,11 @@ attrs@{ preInstall ? "", postInstall ? "", - nativeCheckInputs ? [], + nativeCheckInputs ? [ ], # plugin packages to add to the vendor paths of the test fish shell - checkPlugins ? [], + checkPlugins ? [ ], # vendor directories to add to the function path of the test fish shell - checkFunctionDirs ? [], + checkFunctionDirs ? [ ], # test script to be executed in a fish shell checkPhase ? "", doCheck ? checkPhase != "", @@ -32,44 +37,49 @@ let ]; in -stdenv.mkDerivation (drvAttrs // { - inherit name; - inherit unpackPhase configurePhase buildPhase; +stdenv.mkDerivation ( + drvAttrs + // { + inherit name; + inherit unpackPhase configurePhase buildPhase; - inherit preInstall postInstall; - installPhase = '' - runHook preInstall + inherit preInstall postInstall; + installPhase = '' + runHook preInstall - ( - install_vendor_files() { - source="$1" - target="$out/share/fish/vendor_$2.d" + ( + install_vendor_files() { + source="$1" + target="$out/share/fish/vendor_$2.d" - # Check if any .fish file exists in $source - [ -n "$(shopt -s nullglob; echo $source/*.fish)" ] || return 0 + # Check if any .fish file exists in $source + [ -n "$(shopt -s nullglob; echo $source/*.fish)" ] || return 0 - mkdir -p $target - cp $source/*.fish "$target/" - } + mkdir -p $target + cp $source/*.fish "$target/" + } - install_vendor_files completions completions - install_vendor_files functions functions - install_vendor_files conf conf - install_vendor_files conf.d conf - ) + install_vendor_files completions completions + install_vendor_files functions functions + install_vendor_files conf conf + install_vendor_files conf.d conf + ) - runHook postInstall - ''; + runHook postInstall + ''; - inherit doCheck; + inherit doCheck; - nativeCheckInputs = [ (wrapFish { - pluginPkgs = checkPlugins; - functionDirs = checkFunctionDirs; - }) ] ++ nativeCheckInputs; + nativeCheckInputs = [ + (wrapFish { + pluginPkgs = checkPlugins; + functionDirs = checkFunctionDirs; + }) + ] ++ nativeCheckInputs; - checkPhase = '' - export HOME=$(mktemp -d) # fish wants a writable home - fish "${writeScript "${name}-test" checkPhase}" - ''; -}) + checkPhase = '' + export HOME=$(mktemp -d) # fish wants a writable home + fish "${writeScript "${name}-test" checkPhase}" + ''; + } +) diff --git a/pkgs/shells/fish/plugins/clownfish.nix b/pkgs/shells/fish/plugins/clownfish.nix index 90b1f0b86c9cb..386ba8d6332f6 100644 --- a/pkgs/shells/fish/plugins/clownfish.nix +++ b/pkgs/shells/fish/plugins/clownfish.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin { pname = "clownfish"; diff --git a/pkgs/shells/fish/plugins/colored-man-pages.nix b/pkgs/shells/fish/plugins/colored-man-pages.nix index 07222395b63bf..b2c76ce1d86e8 100644 --- a/pkgs/shells/fish/plugins/colored-man-pages.nix +++ b/pkgs/shells/fish/plugins/colored-man-pages.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "colored-man-pages"; diff --git a/pkgs/shells/fish/plugins/done.nix b/pkgs/shells/fish/plugins/done.nix index 4e5aa8e9a0900..7c94772dc8df3 100644 --- a/pkgs/shells/fish/plugins/done.nix +++ b/pkgs/shells/fish/plugins/done.nix @@ -1,4 +1,9 @@ -{ lib, buildFishPlugin, fetchFromGitHub, fishtape }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, + fishtape, +}: buildFishPlugin rec { pname = "done"; diff --git a/pkgs/shells/fish/plugins/fishtape.nix b/pkgs/shells/fish/plugins/fishtape.nix index 82f2375d5e3f8..ab94045c107ee 100644 --- a/pkgs/shells/fish/plugins/fishtape.nix +++ b/pkgs/shells/fish/plugins/fishtape.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "fishtape"; diff --git a/pkgs/shells/fish/plugins/fishtape_3.nix b/pkgs/shells/fish/plugins/fishtape_3.nix index 893e6d65ffb39..04814634c6cfa 100644 --- a/pkgs/shells/fish/plugins/fishtape_3.nix +++ b/pkgs/shells/fish/plugins/fishtape_3.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "fishtape"; diff --git a/pkgs/shells/fish/plugins/foreign-env/default.nix b/pkgs/shells/fish/plugins/foreign-env/default.nix index 4b317571b2991..ac9548b23523a 100644 --- a/pkgs/shells/fish/plugins/foreign-env/default.nix +++ b/pkgs/shells/fish/plugins/foreign-env/default.nix @@ -1,4 +1,11 @@ -{ lib, buildFishPlugin, fetchFromGitHub, gnused, bash, coreutils }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, + gnused, + bash, + coreutils, +}: buildFishPlugin { pname = "foreign-env"; diff --git a/pkgs/shells/fish/plugins/forgit.nix b/pkgs/shells/fish/plugins/forgit.nix index 876cee959dcdd..ff883f4f258d1 100644 --- a/pkgs/shells/fish/plugins/forgit.nix +++ b/pkgs/shells/fish/plugins/forgit.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "forgit"; diff --git a/pkgs/shells/fish/plugins/fzf-fish.nix b/pkgs/shells/fish/plugins/fzf-fish.nix index 1ad4764c46c58..a77207a8829bd 100644 --- a/pkgs/shells/fish/plugins/fzf-fish.nix +++ b/pkgs/shells/fish/plugins/fzf-fish.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, pkgs, buildFishPlugin, fetchFromGitHub, fd, unixtools, procps, clownfish, fishtape_3, }: +{ + lib, + stdenv, + pkgs, + buildFishPlugin, + fetchFromGitHub, + fd, + unixtools, + procps, + clownfish, + fishtape_3, +}: let # we want `pkgs.fzf`, not `fishPlugins.fzf` inherit (pkgs) fzf; @@ -14,32 +25,47 @@ buildFishPlugin rec { hash = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM="; }; - nativeCheckInputs = [ fzf fd unixtools.script procps ]; - checkPlugins = [ clownfish fishtape_3 ]; + nativeCheckInputs = [ + fzf + fd + unixtools.script + procps + ]; + checkPlugins = [ + clownfish + fishtape_3 + ]; checkFunctionDirs = [ "./functions" ]; - checkPhase = '' - # Disable git tests which inspect the project's git repo, which isn't - # possible since we strip the impure .git from our build input - rm -r tests/*git* - rm -r tests/preview_changed_file/modified_path_with_spaces.fish - rm -r tests/preview_changed_file/renamed_path_modifications.fish + checkPhase = + '' + # Disable git tests which inspect the project's git repo, which isn't + # possible since we strip the impure .git from our build input + rm -r tests/*git* + rm -r tests/preview_changed_file/modified_path_with_spaces.fish + rm -r tests/preview_changed_file/renamed_path_modifications.fish - # Disable tests that are failing, probably because of our wrappers - rm -r tests/configure_bindings - rm -r tests/search_variables + # Disable tests that are failing, probably because of our wrappers + rm -r tests/configure_bindings + rm -r tests/search_variables - # Disable tests that are failing, because there is not 'rev' command - rm tests/preview_file/custom_file_preview.fish - '' + ( - if stdenv.hostPlatform.isDarwin then ''script /dev/null fish -c "fishtape tests/*/*.fish"'' - else ''script -c 'fish -c "fishtape tests/*/*.fish"' '' - ); + # Disable tests that are failing, because there is not 'rev' command + rm tests/preview_file/custom_file_preview.fish + '' + + ( + if stdenv.hostPlatform.isDarwin then + ''script /dev/null fish -c "fishtape tests/*/*.fish"'' + else + ''script -c 'fish -c "fishtape tests/*/*.fish"' '' + ); meta = with lib; { description = "Augment your fish command line with fzf key bindings"; homepage = "https://github.com/PatrickF1/fzf.fish"; changelog = "https://github.com/PatrickF1/fzf.fish/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ pacien natsukium ]; + maintainers = with maintainers; [ + pacien + natsukium + ]; }; } diff --git a/pkgs/shells/fish/plugins/fzf.nix b/pkgs/shells/fish/plugins/fzf.nix index 66e1c562ec5e7..8e9d99a18a9da 100644 --- a/pkgs/shells/fish/plugins/fzf.nix +++ b/pkgs/shells/fish/plugins/fzf.nix @@ -1,7 +1,7 @@ -{ lib -, buildFishPlugin -, fetchFromGitHub -, +{ + lib, + buildFishPlugin, + fetchFromGitHub, }: buildFishPlugin rec { pname = "fzf"; diff --git a/pkgs/shells/fish/plugins/git-abbr.nix b/pkgs/shells/fish/plugins/git-abbr.nix index 2ec33f6c7976a..664c897500827 100644 --- a/pkgs/shells/fish/plugins/git-abbr.nix +++ b/pkgs/shells/fish/plugins/git-abbr.nix @@ -18,6 +18,6 @@ buildFishPlugin rec { description = "Abbreviations for git for the fish shell 🐟"; homepage = "https://github.com/lewisacidic/fish-git-abbr"; license = licenses.mit; - maintainers = with maintainers; [hmajid2301]; + maintainers = with maintainers; [ hmajid2301 ]; }; } diff --git a/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix b/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix index 14b57b9a62c65..0a1370f715616 100644 --- a/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix +++ b/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "github-copilot-cli.fish"; diff --git a/pkgs/shells/fish/plugins/grc.nix b/pkgs/shells/fish/plugins/grc.nix index 9e74ae44088f4..af713bcc20137 100644 --- a/pkgs/shells/fish/plugins/grc.nix +++ b/pkgs/shells/fish/plugins/grc.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin { pname = "grc"; diff --git a/pkgs/shells/fish/plugins/gruvbox.nix b/pkgs/shells/fish/plugins/gruvbox.nix index 50110116c89d0..c4822659f6992 100644 --- a/pkgs/shells/fish/plugins/gruvbox.nix +++ b/pkgs/shells/fish/plugins/gruvbox.nix @@ -1,4 +1,8 @@ -{ lib , buildFishPlugin , fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin { pname = "gruvbox"; version = "0-unstable-2021-10-12"; diff --git a/pkgs/shells/fish/plugins/humantime-fish.nix b/pkgs/shells/fish/plugins/humantime-fish.nix index 417967b72c5fe..33e708e94f82e 100644 --- a/pkgs/shells/fish/plugins/humantime-fish.nix +++ b/pkgs/shells/fish/plugins/humantime-fish.nix @@ -1,8 +1,8 @@ -{ lib -, buildFishPlugin -, fetchFromGitHub -, fishtape -, +{ + lib, + buildFishPlugin, + fetchFromGitHub, + fishtape, }: buildFishPlugin rec { pname = "humantime-fish"; diff --git a/pkgs/shells/fish/plugins/hydro.nix b/pkgs/shells/fish/plugins/hydro.nix index 7e3f86c347eb1..4b7a7c3eeb406 100644 --- a/pkgs/shells/fish/plugins/hydro.nix +++ b/pkgs/shells/fish/plugins/hydro.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "hydro"; diff --git a/pkgs/shells/fish/plugins/pisces.nix b/pkgs/shells/fish/plugins/pisces.nix index c1ed37f41227b..be59b248277b3 100644 --- a/pkgs/shells/fish/plugins/pisces.nix +++ b/pkgs/shells/fish/plugins/pisces.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "pisces"; diff --git a/pkgs/shells/fish/plugins/plugin-git.nix b/pkgs/shells/fish/plugins/plugin-git.nix index d457df7dd498d..bef76a97e1fa4 100644 --- a/pkgs/shells/fish/plugins/plugin-git.nix +++ b/pkgs/shells/fish/plugins/plugin-git.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "plugin-git"; @@ -16,6 +20,9 @@ buildFishPlugin rec { homepage = "https://github.com/jhillyerd/plugin-git"; changelog = "https://github.com/jhillyerd/plugin-git/releases/tag/v${version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ GaetanLepage unsolvedcypher ]; + maintainers = with lib.maintainers; [ + GaetanLepage + unsolvedcypher + ]; }; } diff --git a/pkgs/shells/fish/plugins/pure.nix b/pkgs/shells/fish/plugins/pure.nix index 25ea8aea89b8b..717c72dcf3222 100644 --- a/pkgs/shells/fish/plugins/pure.nix +++ b/pkgs/shells/fish/plugins/pure.nix @@ -1,4 +1,10 @@ -{ lib, buildFishPlugin, fetchFromGitHub, git, fishtape_3 }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, + git, + fishtape_3, +}: buildFishPlugin rec { pname = "pure"; diff --git a/pkgs/shells/fish/plugins/sdkman-for-fish.nix b/pkgs/shells/fish/plugins/sdkman-for-fish.nix index 6a0c7c7d25f04..c137cc2cded9f 100644 --- a/pkgs/shells/fish/plugins/sdkman-for-fish.nix +++ b/pkgs/shells/fish/plugins/sdkman-for-fish.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "sdkman-for-fish"; diff --git a/pkgs/shells/fish/plugins/sponge.nix b/pkgs/shells/fish/plugins/sponge.nix index 8528452e783bf..81b29d7753662 100644 --- a/pkgs/shells/fish/plugins/sponge.nix +++ b/pkgs/shells/fish/plugins/sponge.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: buildFishPlugin rec { pname = "sponge"; diff --git a/pkgs/shells/fish/plugins/tide.nix b/pkgs/shells/fish/plugins/tide.nix index 74ab2e8a27a8d..a0bfc69e95e7a 100644 --- a/pkgs/shells/fish/plugins/tide.nix +++ b/pkgs/shells/fish/plugins/tide.nix @@ -1,4 +1,8 @@ -{ lib, buildFishPlugin, fetchFromGitHub }: +{ + lib, + buildFishPlugin, + fetchFromGitHub, +}: # Due to a quirk in tide breaking wrapFish, we need to add additional commands in the config.fish # Refer to the following comment to get you setup: https://github.com/NixOS/nixpkgs/pull/201646#issuecomment-1320893716 @@ -25,4 +29,3 @@ buildFishPlugin rec { maintainers = [ maintainers.jocelynthode ]; }; } - diff --git a/pkgs/shells/fish/plugins/transient-fish.nix b/pkgs/shells/fish/plugins/transient-fish.nix index 846436d2d1960..8acdec2cbd65e 100644 --- a/pkgs/shells/fish/plugins/transient-fish.nix +++ b/pkgs/shells/fish/plugins/transient-fish.nix @@ -1,6 +1,7 @@ -{ lib -, buildFishPlugin -, fetchFromGitHub +{ + lib, + buildFishPlugin, + fetchFromGitHub, }: buildFishPlugin { pname = "transient-fish"; diff --git a/pkgs/shells/fish/plugins/wakatime-fish.nix b/pkgs/shells/fish/plugins/wakatime-fish.nix index c434ab7175982..743164202ddf4 100644 --- a/pkgs/shells/fish/plugins/wakatime-fish.nix +++ b/pkgs/shells/fish/plugins/wakatime-fish.nix @@ -1,7 +1,8 @@ -{ lib -, wakatime-cli -, buildFishPlugin -, fetchFromGitHub +{ + lib, + wakatime-cli, + buildFishPlugin, + fetchFromGitHub, }: buildFishPlugin rec { diff --git a/pkgs/shells/fish/plugins/z.nix b/pkgs/shells/fish/plugins/z.nix index 722cafa90d029..0bf42ecb56fd7 100644 --- a/pkgs/shells/fish/plugins/z.nix +++ b/pkgs/shells/fish/plugins/z.nix @@ -1,7 +1,7 @@ -{ lib -, buildFishPlugin -, fetchFromGitHub -, +{ + lib, + buildFishPlugin, + fetchFromGitHub, }: buildFishPlugin rec { pname = "z"; diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix index f3fad63c0b85f..eab87fd8c5b5b 100644 --- a/pkgs/shells/nushell/default.nix +++ b/pkgs/shells/nushell/default.nix @@ -1,23 +1,24 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, openssl -, zlib -, zstd -, pkg-config -, python3 -, xorg -, Libsystem -, AppKit -, Security -, nghttp2 -, libgit2 -, withDefaultFeatures ? true -, additionalFeatures ? (p: p) -, testers -, nushell -, nix-update-script +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + openssl, + zlib, + zstd, + pkg-config, + python3, + xorg, + Libsystem, + AppKit, + Security, + nghttp2, + libgit2, + withDefaultFeatures ? true, + additionalFeatures ? (p: p), + testers, + nushell, + nix-update-script, }: let @@ -37,19 +38,32 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-omC/qcpgy65Md1MC0QGUVCRVNl9sWlFcCRxdS4aeU+g="; - nativeBuildInputs = [ pkg-config ] + nativeBuildInputs = + [ pkg-config ] ++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isLinux) [ python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ rustPlatform.bindgenHook ]; - buildInputs = [ openssl zstd ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ zlib Libsystem Security ] + buildInputs = + [ + openssl + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + zlib + Libsystem + Security + ] ++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isLinux) [ xorg.libX11 ] - ++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isDarwin) [ AppKit nghttp2 libgit2 ]; + ++ lib.optionals (withDefaultFeatures && stdenv.hostPlatform.isDarwin) [ + AppKit + nghttp2 + libgit2 + ]; buildNoDefaultFeatures = !withDefaultFeatures; buildFeatures = additionalFeatures [ ]; - doCheck = ! stdenv.hostPlatform.isDarwin; # Skip checks on darwin. Failing tests since 0.96.0 + doCheck = !stdenv.hostPlatform.isDarwin; # Skip checks on darwin. Failing tests since 0.96.0 checkPhase = '' runHook preCheck @@ -79,7 +93,11 @@ rustPlatform.buildRustPackage { description = "Modern shell written in Rust"; homepage = "https://www.nushell.sh/"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne johntitor joaquintrinanes ]; + maintainers = with maintainers; [ + Br1ght0ne + johntitor + joaquintrinanes + ]; mainProgram = "nu"; }; } diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index 90ac2934f145a..e84ddddd9fcfb 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, yodl -, perl -, groff -, util-linux -, texinfo -, ncurses -, pcre -, pkg-config -, buildPackages -, nixosTests +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + yodl, + perl, + groff, + util-linux, + texinfo, + ncurses, + pcre, + pkg-config, + buildPackages, + nixosTests, }: let @@ -22,64 +23,86 @@ in stdenv.mkDerivation { pname = "zsh"; inherit version; - outputs = [ "out" "doc" "info" "man" ]; + outputs = [ + "out" + "doc" + "info" + "man" + ]; src = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}.tar.xz"; sha256 = "sha256-m40ezt1bXoH78ZGOh2dSp92UjgXBoNuhCrhjhC1FrNU="; }; - patches = [ - # fix location of timezone data for TZ= completion - ./tz_completion.patch - # Fixes configure misdetection when using clang 16, resulting in broken subshells on Darwin. - # This patch can be dropped with the next release of zsh. - (fetchpatch { - url = "https://github.com/zsh-users/zsh/commit/ab4d62eb975a4c4c51dd35822665050e2ddc6918.patch"; - hash = "sha256-nXB4w7qqjZJC7/+CDxnNy6wu9qNwmS3ezjj/xK7JfeU="; - excludes = [ "ChangeLog" ]; - }) - # Fixes compatibility with texinfo 7.1. This patch can be dropped with the next release of zsh. - (fetchpatch { - url = "https://github.com/zsh-users/zsh/commit/ecd3f9c9506c7720dc6c0833dc5d5eb00e4459c4.patch"; - hash = "sha256-oA8GC8LmuqNKGuPqGfiQVhL5nWb7ArLWGUI6wjpsIW8="; - excludes = [ "ChangeLog" ]; - }) - ] ++ lib.optionals stdenv.cc.isGNU [ - # Fixes compilation with gcc >= 14. - (fetchpatch { - url = "https://github.com/zsh-users/zsh/commit/4c89849c98172c951a9def3690e8647dae76308f.patch"; - hash = "sha256-l5IHQuIXo0N6ynLlZoQA7wJd/C7KrW3G7nMzfjQINkw="; - excludes = [ "ChangeLog" ]; - }) - ]; + patches = + [ + # fix location of timezone data for TZ= completion + ./tz_completion.patch + # Fixes configure misdetection when using clang 16, resulting in broken subshells on Darwin. + # This patch can be dropped with the next release of zsh. + (fetchpatch { + url = "https://github.com/zsh-users/zsh/commit/ab4d62eb975a4c4c51dd35822665050e2ddc6918.patch"; + hash = "sha256-nXB4w7qqjZJC7/+CDxnNy6wu9qNwmS3ezjj/xK7JfeU="; + excludes = [ "ChangeLog" ]; + }) + # Fixes compatibility with texinfo 7.1. This patch can be dropped with the next release of zsh. + (fetchpatch { + url = "https://github.com/zsh-users/zsh/commit/ecd3f9c9506c7720dc6c0833dc5d5eb00e4459c4.patch"; + hash = "sha256-oA8GC8LmuqNKGuPqGfiQVhL5nWb7ArLWGUI6wjpsIW8="; + excludes = [ "ChangeLog" ]; + }) + ] + ++ lib.optionals stdenv.cc.isGNU [ + # Fixes compilation with gcc >= 14. + (fetchpatch { + url = "https://github.com/zsh-users/zsh/commit/4c89849c98172c951a9def3690e8647dae76308f.patch"; + hash = "sha256-l5IHQuIXo0N6ynLlZoQA7wJd/C7KrW3G7nMzfjQINkw="; + excludes = [ "ChangeLog" ]; + }) + ]; strictDeps = true; - nativeBuildInputs = [ autoreconfHook perl groff texinfo pkg-config ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux yodl ]; + nativeBuildInputs = + [ + autoreconfHook + perl + groff + texinfo + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + util-linux + yodl + ]; - buildInputs = [ ncurses pcre ]; - - configureFlags = [ - "--enable-maildir-support" - "--enable-multibyte" - "--with-tcsetpgrp" - "--enable-pcre" - "--enable-zshenv=${placeholder "out"}/etc/zshenv" - "--disable-site-fndir" - # --enable-function-subdirs is not enabled due to it being slow at runtime in some cases - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform && !stdenv.hostPlatform.isStatic) [ - # Also see: https://github.com/buildroot/buildroot/commit/2f32e668aa880c2d4a2cce6c789b7ca7ed6221ba - "zsh_cv_shared_environ=yes" - "zsh_cv_shared_tgetent=yes" - "zsh_cv_shared_tigetstr=yes" - "zsh_cv_sys_dynamic_clash_ok=yes" - "zsh_cv_sys_dynamic_rtld_global=yes" - "zsh_cv_sys_dynamic_execsyms=yes" - "zsh_cv_sys_dynamic_strip_exe=yes" - "zsh_cv_sys_dynamic_strip_lib=yes" + buildInputs = [ + ncurses + pcre ]; + configureFlags = + [ + "--enable-maildir-support" + "--enable-multibyte" + "--with-tcsetpgrp" + "--enable-pcre" + "--enable-zshenv=${placeholder "out"}/etc/zshenv" + "--disable-site-fndir" + # --enable-function-subdirs is not enabled due to it being slow at runtime in some cases + ] + ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform && !stdenv.hostPlatform.isStatic) [ + # Also see: https://github.com/buildroot/buildroot/commit/2f32e668aa880c2d4a2cce6c789b7ca7ed6221ba + "zsh_cv_shared_environ=yes" + "zsh_cv_shared_tgetent=yes" + "zsh_cv_shared_tigetstr=yes" + "zsh_cv_sys_dynamic_clash_ok=yes" + "zsh_cv_sys_dynamic_rtld_global=yes" + "zsh_cv_sys_dynamic_execsyms=yes" + "zsh_cv_sys_dynamic_strip_exe=yes" + "zsh_cv_sys_dynamic_strip_lib=yes" + ]; + postPatch = '' substituteInPlace Src/Modules/pcre.mdd \ --replace 'pcre-config' 'true' @@ -96,42 +119,47 @@ stdenv.mkDerivation { # XXX: think/discuss about this, also with respect to nixos vs nix-on-X postInstall = '' - make install.info install.html - mkdir -p $out/etc/ - cat > $out/etc/zshenv < $out/etc/zshenv <$out"; - tar-all = pack-all "XZ_OPT=\"-9 -e -T $NIX_BUILD_CORES\" tar cJf $out --hard-dereference --sort=name --numeric-owner --owner=0 --group=0 --mtime=@1 ."; - coreutils-big = pkgs.coreutils.override { singleBinary = false; }; - mkdir = runCommand "mkdir" { coreutils = coreutils-big; } '' - mkdir -p $out/bin - cp $coreutils/bin/mkdir $out/bin - ''; - in rec { - unpack = nar-all "unpack.nar.xz" (with pkgs; [bash mkdir xz gnutar]) '' - rm -rf include lib/*.a lib/i18n lib/bash share + '' + ); + nar-all = pack-all "dumpnar . | xz -9 -e -T $NIX_BUILD_CORES >$out"; + tar-all = pack-all "XZ_OPT=\"-9 -e -T $NIX_BUILD_CORES\" tar cJf $out --hard-dereference --sort=name --numeric-owner --owner=0 --group=0 --mtime=@1 ."; + coreutils-big = pkgs.coreutils.override { singleBinary = false; }; + mkdir = runCommand "mkdir" { coreutils = coreutils-big; } '' + mkdir -p $out/bin + cp $coreutils/bin/mkdir $out/bin ''; +in +rec { + unpack = + nar-all "unpack.nar.xz" + (with pkgs; [ + bash + mkdir + xz + gnutar + ]) + '' + rm -rf include lib/*.a lib/i18n lib/bash share + ''; bootstrap-tools = tar-all "bootstrap-tools.tar.xz" ( with pkgs; # SYNCME: this version number must be synced with the one in default.nix - let llvmPackages = llvmPackages_18; in + let + llvmPackages = llvmPackages_18; + in [ (runCommand "bsdcp" { } "mkdir -p $out/bin; cp ${freebsd.cp}/bin/cp $out/bin/bsdcp") coreutils diff --git a/pkgs/stdenv/generic/common-path.nix b/pkgs/stdenv/generic/common-path.nix index 8c1acfb50dd68..32c8e278ad27f 100644 --- a/pkgs/stdenv/generic/common-path.nix +++ b/pkgs/stdenv/generic/common-path.nix @@ -1,4 +1,5 @@ -{pkgs}: [ +{ pkgs }: +[ pkgs.coreutils pkgs.findutils pkgs.diffutils diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 9952a6ae0623f..fe9843c6b1202 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -1,138 +1,161 @@ -let lib = import ../../../lib; stdenv-overridable = lib.makeOverridable ( - -argsStdenv@{ name ? "stdenv", preHook ? "", initialPath - -, # If we don't have a C compiler, we might either have `cc = null` or `cc = - # throw ...`, but if we do have a C compiler we should definiely have `cc != - # null`. - # - # TODO(@Ericson2314): Add assert without creating infinite recursion - hasCC ? cc != null, cc - -, shell -, allowedRequisites ? null, extraAttrs ? {}, overrides ? (self: super: {}), config -, disallowedRequisites ? [] - -, # The `fetchurl' to use for downloading curl and its dependencies - # (see all-packages.nix). - fetchurlBoot - -, setupScript ? ./setup.sh - -, extraNativeBuildInputs ? [] -, extraBuildInputs ? [] -, __stdenvImpureHostDeps ? [] -, __extraImpureHostDeps ? [] -, stdenvSandboxProfile ? "" -, extraSandboxProfile ? "" - - ## Platform parameters - ## - ## The "build" "host" "target" terminology below comes from GNU Autotools. See - ## its documentation for more information on what those words mean. Note that - ## each should always be defined, even when not cross compiling. - ## - ## For purposes of bootstrapping, think of each stage as a "sliding window" - ## over a list of platforms. Specifically, the host platform of the previous - ## stage becomes the build platform of the current one, and likewise the - ## target platform of the previous stage becomes the host platform of the - ## current one. - ## - -, # The platform on which packages are built. Consists of `system`, a - # string (e.g.,`i686-linux') identifying the most import attributes of the - # build platform, and `platform` a set of other details. - buildPlatform - -, # The platform on which packages run. - hostPlatform - -, # The platform which build tools (especially compilers) build for in this stage, - targetPlatform - -, # The implementation of `mkDerivation`, parameterized with the final stdenv so we can tie the knot. - # This is convient to have as a parameter so the stdenv "adapters" work better - mkDerivationFromStdenv ? stdenv: (import ./make-derivation.nix { inherit lib config; } stdenv).mkDerivation -}: - let - defaultNativeBuildInputs = extraNativeBuildInputs ++ - [ - ../../build-support/setup-hooks/audit-tmpdir.sh - ../../build-support/setup-hooks/compress-man-pages.sh - ../../build-support/setup-hooks/make-symlinks-relative.sh - ../../build-support/setup-hooks/move-docs.sh - ../../build-support/setup-hooks/move-lib64.sh - ../../build-support/setup-hooks/move-sbin.sh - ../../build-support/setup-hooks/move-systemd-user-units.sh - ../../build-support/setup-hooks/multiple-outputs.sh - ../../build-support/setup-hooks/patch-shebangs.sh - ../../build-support/setup-hooks/prune-libtool-files.sh - ../../build-support/setup-hooks/reproducible-builds.sh - ../../build-support/setup-hooks/set-source-date-epoch-to-latest.sh - ../../build-support/setup-hooks/strip.sh - ] ++ lib.optionals hasCC [ cc ]; - - defaultBuildInputs = extraBuildInputs; - - stdenv = (stdenv-overridable argsStdenv); - - # The stdenv that we are producing. - in - derivation ( - lib.optionalAttrs (allowedRequisites != null) { - allowedRequisites = allowedRequisites - ++ defaultNativeBuildInputs ++ defaultBuildInputs; - } - // lib.optionalAttrs config.contentAddressedByDefault { - __contentAddressed = true; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - } - // { - inherit name; - inherit disallowedRequisites; - - # Nix itself uses the `system` field of a derivation to decide where to - # build it. This is a bit confusing for cross compilation. - inherit (buildPlatform) system; - - builder = shell; - - args = ["-e" ./builder.sh]; - - setup = setupScript; - - # We pretty much never need rpaths on Darwin, since all library path references - # are absolute unless we go out of our way to make them relative (like with CF) - # TODO: This really wants to be in stdenv/darwin but we don't have hostPlatform - # there (yet?) so it goes here until then. - preHook = preHook + lib.optionalString buildPlatform.isDarwin '' - export NIX_DONT_SET_RPATH_FOR_BUILD=1 - '' + lib.optionalString (hostPlatform.isDarwin || (!hostPlatform.isElf && !hostPlatform.isMacho)) '' - export NIX_DONT_SET_RPATH=1 - export NIX_NO_SELF_RPATH=1 - '' + lib.optionalString (hostPlatform.isDarwin && hostPlatform.isMacOS) '' - export MACOSX_DEPLOYMENT_TARGET=${hostPlatform.darwinMinVersion} - '' - # TODO this should be uncommented, but it causes stupid mass rebuilds due to - # `pkgsCross.*.buildPackages` not being the same, resulting in cross-compiling - # for a target rebuilding all of `nativeBuildInputs` for that target. + lib = import ../../../lib; + stdenv-overridable = lib.makeOverridable ( + + argsStdenv@{ + name ? "stdenv", + preHook ? "", + initialPath, + + # If we don't have a C compiler, we might either have `cc = null` or `cc = + # throw ...`, but if we do have a C compiler we should definiely have `cc != + # null`. # - # I think the best solution would just be to fixup linux RPATHs so we don't - # need to set `-rpath` anywhere. - # + lib.optionalString targetPlatform.isDarwin '' - # export NIX_DONT_SET_RPATH_FOR_TARGET=1 - # '' - ; - - inherit initialPath shell - defaultNativeBuildInputs defaultBuildInputs; - } - // lib.optionalAttrs buildPlatform.isDarwin { - __sandboxProfile = stdenvSandboxProfile; - __impureHostDeps = __stdenvImpureHostDeps; - }) + # TODO(@Ericson2314): Add assert without creating infinite recursion + hasCC ? cc != null, + cc, + + shell, + allowedRequisites ? null, + extraAttrs ? { }, + overrides ? (self: super: { }), + config, + disallowedRequisites ? [ ], + + # The `fetchurl' to use for downloading curl and its dependencies + # (see all-packages.nix). + fetchurlBoot, + + setupScript ? ./setup.sh, + + extraNativeBuildInputs ? [ ], + extraBuildInputs ? [ ], + __stdenvImpureHostDeps ? [ ], + __extraImpureHostDeps ? [ ], + stdenvSandboxProfile ? "", + extraSandboxProfile ? "", + + ## Platform parameters + ## + ## The "build" "host" "target" terminology below comes from GNU Autotools. See + ## its documentation for more information on what those words mean. Note that + ## each should always be defined, even when not cross compiling. + ## + ## For purposes of bootstrapping, think of each stage as a "sliding window" + ## over a list of platforms. Specifically, the host platform of the previous + ## stage becomes the build platform of the current one, and likewise the + ## target platform of the previous stage becomes the host platform of the + ## current one. + ## + + # The platform on which packages are built. Consists of `system`, a + # string (e.g.,`i686-linux') identifying the most import attributes of the + # build platform, and `platform` a set of other details. + buildPlatform, + + # The platform on which packages run. + hostPlatform, + + # The platform which build tools (especially compilers) build for in this stage, + targetPlatform, + + # The implementation of `mkDerivation`, parameterized with the final stdenv so we can tie the knot. + # This is convient to have as a parameter so the stdenv "adapters" work better + mkDerivationFromStdenv ? + stdenv: (import ./make-derivation.nix { inherit lib config; } stdenv).mkDerivation, + }: + + let + defaultNativeBuildInputs = + extraNativeBuildInputs + ++ [ + ../../build-support/setup-hooks/audit-tmpdir.sh + ../../build-support/setup-hooks/compress-man-pages.sh + ../../build-support/setup-hooks/make-symlinks-relative.sh + ../../build-support/setup-hooks/move-docs.sh + ../../build-support/setup-hooks/move-lib64.sh + ../../build-support/setup-hooks/move-sbin.sh + ../../build-support/setup-hooks/move-systemd-user-units.sh + ../../build-support/setup-hooks/multiple-outputs.sh + ../../build-support/setup-hooks/patch-shebangs.sh + ../../build-support/setup-hooks/prune-libtool-files.sh + ../../build-support/setup-hooks/reproducible-builds.sh + ../../build-support/setup-hooks/set-source-date-epoch-to-latest.sh + ../../build-support/setup-hooks/strip.sh + ] + ++ lib.optionals hasCC [ cc ]; + + defaultBuildInputs = extraBuildInputs; + + stdenv = (stdenv-overridable argsStdenv); + + in + # The stdenv that we are producing. + derivation ( + lib.optionalAttrs (allowedRequisites != null) { + allowedRequisites = allowedRequisites ++ defaultNativeBuildInputs ++ defaultBuildInputs; + } + // lib.optionalAttrs config.contentAddressedByDefault { + __contentAddressed = true; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + } + // { + inherit name; + inherit disallowedRequisites; + + # Nix itself uses the `system` field of a derivation to decide where to + # build it. This is a bit confusing for cross compilation. + inherit (buildPlatform) system; + + builder = shell; + + args = [ + "-e" + ./builder.sh + ]; + + setup = setupScript; + + # We pretty much never need rpaths on Darwin, since all library path references + # are absolute unless we go out of our way to make them relative (like with CF) + # TODO: This really wants to be in stdenv/darwin but we don't have hostPlatform + # there (yet?) so it goes here until then. + preHook = + preHook + + lib.optionalString buildPlatform.isDarwin '' + export NIX_DONT_SET_RPATH_FOR_BUILD=1 + '' + + lib.optionalString (hostPlatform.isDarwin || (!hostPlatform.isElf && !hostPlatform.isMacho)) '' + export NIX_DONT_SET_RPATH=1 + export NIX_NO_SELF_RPATH=1 + '' + + lib.optionalString (hostPlatform.isDarwin && hostPlatform.isMacOS) '' + export MACOSX_DEPLOYMENT_TARGET=${hostPlatform.darwinMinVersion} + '' + # TODO this should be uncommented, but it causes stupid mass rebuilds due to + # `pkgsCross.*.buildPackages` not being the same, resulting in cross-compiling + # for a target rebuilding all of `nativeBuildInputs` for that target. + # + # I think the best solution would just be to fixup linux RPATHs so we don't + # need to set `-rpath` anywhere. + # + lib.optionalString targetPlatform.isDarwin '' + # export NIX_DONT_SET_RPATH_FOR_TARGET=1 + # '' + ; + + inherit + initialPath + shell + defaultNativeBuildInputs + defaultBuildInputs + ; + } + // lib.optionalAttrs buildPlatform.isDarwin { + __sandboxProfile = stdenvSandboxProfile; + __impureHostDeps = __stdenvImpureHostDeps; + } + ) // { @@ -143,15 +166,32 @@ let inherit buildPlatform hostPlatform targetPlatform; - inherit extraNativeBuildInputs extraBuildInputs - __extraImpureHostDeps extraSandboxProfile; + inherit + extraNativeBuildInputs + extraBuildInputs + __extraImpureHostDeps + extraSandboxProfile + ; # Utility flags to test the type of platform. inherit (hostPlatform) - isDarwin isLinux isSunOS isCygwin isBSD isFreeBSD isOpenBSD - isi686 isx86_32 isx86_64 - is32bit is64bit - isAarch32 isAarch64 isMips isBigEndian; + isDarwin + isLinux + isSunOS + isCygwin + isBSD + isFreeBSD + isOpenBSD + isi686 + isx86_32 + isx86_64 + is32bit + is64bit + isAarch32 + isAarch64 + isMips + isBigEndian + ; # Override `system` so that packages can get the system of the host # platform through `stdenv.system`. `system` is originally set to the @@ -183,4 +223,6 @@ let # all-packages.nix for that platform (meaning that it has a line # like curl = if stdenv ? curl then stdenv.curl else ...). // extraAttrs -); in stdenv-overridable + ); +in +stdenv-overridable diff --git a/pkgs/stdenv/generic/meta-types.nix b/pkgs/stdenv/generic/meta-types.nix index ddbd1daca696e..a51ae2b127113 100644 --- a/pkgs/stdenv/generic/meta-types.nix +++ b/pkgs/stdenv/generic/meta-types.nix @@ -5,7 +5,19 @@ # TODO: add a method to the module system types # see https://github.com/NixOS/nixpkgs/pull/273935#issuecomment-1854173100 let - inherit (builtins) isString isInt isAttrs isList all any attrValues isFunction isBool concatStringsSep isFloat; + inherit (builtins) + isString + isInt + isAttrs + isList + all + any + attrValues + isFunction + isBool + concatStringsSep + isFloat + ; isTypeDef = t: isAttrs t && t ? name && isString t.name && t ? verify && isFunction t.verify; in @@ -14,7 +26,7 @@ lib.fix (self: { name = "string"; verify = isString; }; - str = self.string; # Type alias + str = self.string; # Type alias any = { name = "any"; @@ -46,31 +58,41 @@ lib.fix (self: { verify = isList; }; - attrsOf = t: assert isTypeDef t; let - inherit (t) verify; - in { - name = "attrsOf<${t.name}>"; - verify = - # attrsOf can be optimised to just isAttrs - if t == self.any then isAttrs - else attrs: isAttrs attrs && all verify (attrValues attrs); - }; + attrsOf = + t: + assert isTypeDef t; + let + inherit (t) verify; + in + { + name = "attrsOf<${t.name}>"; + verify = + # attrsOf can be optimised to just isAttrs + if t == self.any then isAttrs else attrs: isAttrs attrs && all verify (attrValues attrs); + }; - listOf = t: assert isTypeDef t; let - inherit (t) verify; - in { - name = "listOf<${t.name}>"; - verify = - # listOf can be optimised to just isList - if t == self.any then isList - else v: isList v && all verify v; - }; + listOf = + t: + assert isTypeDef t; + let + inherit (t) verify; + in + { + name = "listOf<${t.name}>"; + verify = + # listOf can be optimised to just isList + if t == self.any then isList else v: isList v && all verify v; + }; - union = types: assert all isTypeDef types; let - # Store a list of functions so we don't have to pay the cost of attrset lookups at runtime. - funcs = map (t: t.verify) types; - in { - name = "union<${concatStringsSep "," (map (t: t.name) types)}>"; - verify = v: any (func: func v) funcs; - }; + union = + types: + assert all isTypeDef types; + let + # Store a list of functions so we don't have to pay the cost of attrset lookups at runtime. + funcs = map (t: t.verify) types; + in + { + name = "union<${concatStringsSep "," (map (t: t.name) types)}>"; + verify = v: any (func: func v) funcs; + }; }) diff --git a/pkgs/stdenv/linux/bootstrap-files/mips64el-unknown-linux-gnuabi64.nix b/pkgs/stdenv/linux/bootstrap-files/mips64el-unknown-linux-gnuabi64.nix index 452a247fb0b9c..a72ab784b014b 100644 --- a/pkgs/stdenv/linux/bootstrap-files/mips64el-unknown-linux-gnuabi64.nix +++ b/pkgs/stdenv/linux/bootstrap-files/mips64el-unknown-linux-gnuabi64.nix @@ -18,7 +18,7 @@ sha256 = "sha256-sTE58ofjqAqX3Xtq1g9wDxzIe6Vo//GHbicfqJoivDI="; executable = true; }; - bootstrapTools =import { + bootstrapTools = import { url = "http://tarballs.nixos.org/stdenv-linux/mips64el/ef3fe254f3c59455386bc92fe84164f9679b92b1/bootstrap-tools.tar.xz"; sha256 = "sha256-tTgjeXpd2YgnfP4JvRuO0bXd2j8GqzBcd57JI3wH9x0="; }; diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index b8111f34e30af..40b4b1db194d0 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -53,48 +53,66 @@ # For a TUI (rather than CLI) view, you can use: # # $ nix-tree --derivation $(nix-instantiate -A stdenv) -{ lib -, localSystem, crossSystem, config, overlays, crossOverlays ? [] - -, bootstrapFiles ? - let table = { - glibc = { - i686-linux = import ./bootstrap-files/i686-unknown-linux-gnu.nix; - x86_64-linux = import ./bootstrap-files/x86_64-unknown-linux-gnu.nix; - armv5tel-linux = import ./bootstrap-files/armv5tel-unknown-linux-gnueabi.nix; - armv6l-linux = import ./bootstrap-files/armv6l-unknown-linux-gnueabihf.nix; - armv7l-linux = import ./bootstrap-files/armv7l-unknown-linux-gnueabihf.nix; - aarch64-linux = import ./bootstrap-files/aarch64-unknown-linux-gnu.nix; - mipsel-linux = import ./bootstrap-files/mipsel-unknown-linux-gnu.nix; - mips64el-linux = import - (if localSystem.isMips64n32 - then ./bootstrap-files/mips64el-unknown-linux-gnuabin32.nix - else ./bootstrap-files/mips64el-unknown-linux-gnuabi64.nix); - powerpc64-linux = import ./bootstrap-files/powerpc64-unknown-linux-gnuabielfv2.nix; - powerpc64le-linux = import ./bootstrap-files/powerpc64le-unknown-linux-gnu.nix; - riscv64-linux = import ./bootstrap-files/riscv64-unknown-linux-gnu.nix; - s390x-linux = import ./bootstrap-files/s390x-unknown-linux-gnu.nix; - }; - musl = { - aarch64-linux = import ./bootstrap-files/aarch64-unknown-linux-musl.nix; - armv6l-linux = import ./bootstrap-files/armv6l-unknown-linux-musleabihf.nix; - x86_64-linux = import ./bootstrap-files/x86_64-unknown-linux-musl.nix; - }; - }; +{ + lib, + localSystem, + crossSystem, + config, + overlays, + crossOverlays ? [ ], + + bootstrapFiles ? + let + table = { + glibc = { + i686-linux = import ./bootstrap-files/i686-unknown-linux-gnu.nix; + x86_64-linux = import ./bootstrap-files/x86_64-unknown-linux-gnu.nix; + armv5tel-linux = import ./bootstrap-files/armv5tel-unknown-linux-gnueabi.nix; + armv6l-linux = import ./bootstrap-files/armv6l-unknown-linux-gnueabihf.nix; + armv7l-linux = import ./bootstrap-files/armv7l-unknown-linux-gnueabihf.nix; + aarch64-linux = import ./bootstrap-files/aarch64-unknown-linux-gnu.nix; + mipsel-linux = import ./bootstrap-files/mipsel-unknown-linux-gnu.nix; + mips64el-linux = import ( + if localSystem.isMips64n32 then + ./bootstrap-files/mips64el-unknown-linux-gnuabin32.nix + else + ./bootstrap-files/mips64el-unknown-linux-gnuabi64.nix + ); + powerpc64-linux = import ./bootstrap-files/powerpc64-unknown-linux-gnuabielfv2.nix; + powerpc64le-linux = import ./bootstrap-files/powerpc64le-unknown-linux-gnu.nix; + riscv64-linux = import ./bootstrap-files/riscv64-unknown-linux-gnu.nix; + s390x-linux = import ./bootstrap-files/s390x-unknown-linux-gnu.nix; + }; + musl = { + aarch64-linux = import ./bootstrap-files/aarch64-unknown-linux-musl.nix; + armv6l-linux = import ./bootstrap-files/armv6l-unknown-linux-musleabihf.nix; + x86_64-linux = import ./bootstrap-files/x86_64-unknown-linux-musl.nix; + }; + }; - # Try to find an architecture compatible with our current system. We - # just try every bootstrap we’ve got and test to see if it is - # compatible with or current architecture. - getCompatibleTools = lib.foldl (v: system: - if v != null then v - else if localSystem.canExecute (lib.systems.elaborate { inherit system; }) then archLookupTable.${system} - else null) null (lib.attrNames archLookupTable); - - archLookupTable = table.${localSystem.libc} - or (throw "unsupported libc for the pure Linux stdenv"); - files = archLookupTable.${localSystem.system} or (if getCompatibleTools != null then getCompatibleTools - else (throw "unsupported platform for the pure Linux stdenv")); - in (config.replaceBootstrapFiles or lib.id) files + # Try to find an architecture compatible with our current system. We + # just try every bootstrap we’ve got and test to see if it is + # compatible with or current architecture. + getCompatibleTools = lib.foldl ( + v: system: + if v != null then + v + else if localSystem.canExecute (lib.systems.elaborate { inherit system; }) then + archLookupTable.${system} + else + null + ) null (lib.attrNames archLookupTable); + + archLookupTable = table.${localSystem.libc} or (throw "unsupported libc for the pure Linux stdenv"); + files = + archLookupTable.${localSystem.system} or ( + if getCompatibleTools != null then + getCompatibleTools + else + (throw "unsupported platform for the pure Linux stdenv") + ); + in + (config.replaceBootstrapFiles or lib.id) files, }: assert crossSystem == localSystem; @@ -103,12 +121,9 @@ let inherit (localSystem) system; isFromNixpkgs = pkg: !(isFromBootstrapFiles pkg); - isFromBootstrapFiles = - pkg: pkg.passthru.isFromBootstrapFiles or false; - isBuiltByNixpkgsCompiler = - pkg: isFromNixpkgs pkg && isFromNixpkgs pkg.stdenv.cc.cc; - isBuiltByBootstrapFilesCompiler = - pkg: isFromNixpkgs pkg && isFromBootstrapFiles pkg.stdenv.cc.cc; + isFromBootstrapFiles = pkg: pkg.passthru.isFromBootstrapFiles or false; + isBuiltByNixpkgsCompiler = pkg: isFromNixpkgs pkg && isFromNixpkgs pkg.stdenv.cc.cc; + isBuiltByBootstrapFilesCompiler = pkg: isFromNixpkgs pkg && isFromBootstrapFiles pkg.stdenv.cc.cc; commonGccOverrides = { # Use a deterministically built compiler @@ -125,20 +140,16 @@ let disableGdbPlugin = true; }; - commonPreHook = - '' - export NIX_ENFORCE_PURITY="''${NIX_ENFORCE_PURITY-1}" - export NIX_ENFORCE_NO_NATIVE="''${NIX_ENFORCE_NO_NATIVE-1}" - ''; - + commonPreHook = '' + export NIX_ENFORCE_PURITY="''${NIX_ENFORCE_PURITY-1}" + export NIX_ENFORCE_NO_NATIVE="''${NIX_ENFORCE_NO_NATIVE-1}" + ''; # The bootstrap process proceeds in several steps. - # Create a standard environment by downloading pre-built binaries of # coreutils, GCC, etc. - # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...). bootstrapTools = import ./bootstrap-tools { inherit (localSystem) libc system; @@ -148,12 +159,16 @@ let getLibc = stage: stage.${localSystem.libc}; - # This function builds the various standard environments used during # the bootstrap. In all stages, we build an stdenv and the package # set that can be built with that stdenv. - stageFun = prevStage: - { name, overrides ? (self: super: {}), extraNativeBuildInputs ? [] }: + stageFun = + prevStage: + { + name, + overrides ? (self: super: { }), + extraNativeBuildInputs ? [ ], + }: let @@ -163,114 +178,130 @@ let hostPlatform = localSystem; targetPlatform = localSystem; inherit config extraNativeBuildInputs; - preHook = - '' - # Don't patch #!/interpreter because it leads to retained - # dependencies on the bootstrapTools in the final stdenv. - dontPatchShebangs=1 - ${commonPreHook} - ''; + preHook = '' + # Don't patch #!/interpreter because it leads to retained + # dependencies on the bootstrapTools in the final stdenv. + dontPatchShebangs=1 + ${commonPreHook} + ''; shell = "${bootstrapTools}/bin/bash"; - initialPath = [bootstrapTools]; + initialPath = [ bootstrapTools ]; fetchurlBoot = import ../../build-support/fetchurl/boot.nix { inherit system; }; - cc = if prevStage.gcc-unwrapped == null - then null - else (lib.makeOverridable (import ../../build-support/cc-wrapper) { - name = "${name}-gcc-wrapper"; - nativeTools = false; - nativeLibc = false; - expand-response-params = lib.optionalString - (prevStage.stdenv.hasCC or false && prevStage.stdenv.cc != "/dev/null") - prevStage.expand-response-params; - cc = prevStage.gcc-unwrapped; - bintools = prevStage.binutils; - isGNU = true; - libc = getLibc prevStage; - inherit lib; - inherit (prevStage) coreutils gnugrep; - stdenvNoCC = prevStage.ccWrapperStdenv; - fortify-headers = prevStage.fortify-headers; - runtimeShell = prevStage.ccWrapperStdenv.shell; - }).overrideAttrs(a: lib.optionalAttrs (prevStage.gcc-unwrapped.passthru.isXgcc or false) { - # This affects only `xgcc` (the compiler which compiles the final compiler). - postFixup = (a.postFixup or "") + '' - echo "--sysroot=${lib.getDev (getLibc prevStage)}" >> $out/nix-support/cc-cflags - ''; - }); + cc = + if prevStage.gcc-unwrapped == null then + null + else + (lib.makeOverridable (import ../../build-support/cc-wrapper) { + name = "${name}-gcc-wrapper"; + nativeTools = false; + nativeLibc = false; + expand-response-params = lib.optionalString ( + prevStage.stdenv.hasCC or false && prevStage.stdenv.cc != "/dev/null" + ) prevStage.expand-response-params; + cc = prevStage.gcc-unwrapped; + bintools = prevStage.binutils; + isGNU = true; + libc = getLibc prevStage; + inherit lib; + inherit (prevStage) coreutils gnugrep; + stdenvNoCC = prevStage.ccWrapperStdenv; + fortify-headers = prevStage.fortify-headers; + runtimeShell = prevStage.ccWrapperStdenv.shell; + }).overrideAttrs + ( + a: + lib.optionalAttrs (prevStage.gcc-unwrapped.passthru.isXgcc or false) { + # This affects only `xgcc` (the compiler which compiles the final compiler). + postFixup = + (a.postFixup or "") + + '' + echo "--sysroot=${lib.getDev (getLibc prevStage)}" >> $out/nix-support/cc-cflags + ''; + } + ); overrides = self: super: (overrides self super) // { fetchurl = thisStdenv.fetchurlBoot; }; }; - in { + in + { inherit config overlays; stdenv = thisStdenv; }; in - assert bootstrapTools.passthru.isFromBootstrapFiles or false; # sanity check +assert bootstrapTools.passthru.isFromBootstrapFiles or false; # sanity check [ - ({}: { - __raw = true; + ( + { }: + { + __raw = true; - gcc-unwrapped = null; - binutils = null; - coreutils = null; - gnugrep = null; - }) + gcc-unwrapped = null; + binutils = null; + coreutils = null; + gnugrep = null; + } + ) # Build a dummy stdenv with no GCC or working fetchurl. This is # because we need a stdenv to build the GCC wrapper and fetchurl. - (prevStage: stageFun prevStage { - name = "bootstrap-stage0"; - - overrides = self: super: { - # We thread stage0's stdenv through under this name so downstream stages - # can use it for wrapping gcc too. This way, downstream stages don't need - # to refer to this stage directly, which violates the principle that each - # stage should only access the stage that came before it. - ccWrapperStdenv = self.stdenv; - # The Glibc include directory cannot have the same prefix as the - # GCC include directory, since GCC gets confused otherwise (it - # will search the Glibc headers before the GCC headers). So - # create a dummy Glibc here, which will be used in the stdenv of - # stage1. - ${localSystem.libc} = self.stdenv.mkDerivation { - pname = "bootstrap-stage0-${localSystem.libc}"; - strictDeps = true; - version = "bootstrapFiles"; - enableParallelBuilding = true; - buildCommand = '' - mkdir -p $out - ln -s ${bootstrapTools}/lib $out/lib - '' + lib.optionalString (localSystem.libc == "glibc") '' - ln -s ${bootstrapTools}/include-glibc $out/include - '' + lib.optionalString (localSystem.libc == "musl") '' - ln -s ${bootstrapTools}/include-libc $out/include - ''; - passthru.isFromBootstrapFiles = true; - }; - gcc-unwrapped = bootstrapTools; - binutils = import ../../build-support/bintools-wrapper { - name = "bootstrap-stage0-binutils-wrapper"; - nativeTools = false; - nativeLibc = false; - expand-response-params = ""; - libc = getLibc self; - inherit lib; - inherit (self) stdenvNoCC coreutils gnugrep; - bintools = bootstrapTools; - runtimeShell = "${bootstrapTools}/bin/bash"; - }; - coreutils = bootstrapTools; - gnugrep = bootstrapTools; - }; - }) + ( + prevStage: + stageFun prevStage { + name = "bootstrap-stage0"; + overrides = self: super: { + # We thread stage0's stdenv through under this name so downstream stages + # can use it for wrapping gcc too. This way, downstream stages don't need + # to refer to this stage directly, which violates the principle that each + # stage should only access the stage that came before it. + ccWrapperStdenv = self.stdenv; + # The Glibc include directory cannot have the same prefix as the + # GCC include directory, since GCC gets confused otherwise (it + # will search the Glibc headers before the GCC headers). So + # create a dummy Glibc here, which will be used in the stdenv of + # stage1. + ${localSystem.libc} = self.stdenv.mkDerivation { + pname = "bootstrap-stage0-${localSystem.libc}"; + strictDeps = true; + version = "bootstrapFiles"; + enableParallelBuilding = true; + buildCommand = + '' + mkdir -p $out + ln -s ${bootstrapTools}/lib $out/lib + '' + + lib.optionalString (localSystem.libc == "glibc") '' + ln -s ${bootstrapTools}/include-glibc $out/include + '' + + lib.optionalString (localSystem.libc == "musl") '' + ln -s ${bootstrapTools}/include-libc $out/include + ''; + passthru.isFromBootstrapFiles = true; + }; + gcc-unwrapped = bootstrapTools; + binutils = import ../../build-support/bintools-wrapper { + name = "bootstrap-stage0-binutils-wrapper"; + nativeTools = false; + nativeLibc = false; + expand-response-params = ""; + libc = getLibc self; + inherit lib; + inherit (self) stdenvNoCC coreutils gnugrep; + bintools = bootstrapTools; + runtimeShell = "${bootstrapTools}/bin/bash"; + }; + coreutils = bootstrapTools; + gnugrep = bootstrapTools; + }; + } + ) # Create the first "real" standard environment. This one consists # of bootstrap tools only, and a minimal Glibc to keep the GCC @@ -282,7 +313,8 @@ in # If we ever need to use a package from more than one stage back, we # simply re-export those packages in the middle stage(s) using the # overrides attribute and the inherit syntax. - (prevStage: + ( + prevStage: # previous stage0 stdenv: assert isFromBootstrapFiles prevStage.binutils.bintools; assert isFromBootstrapFiles prevStage."${localSystem.libc}"; @@ -290,46 +322,66 @@ in assert isFromBootstrapFiles prevStage.coreutils; assert isFromBootstrapFiles prevStage.gnugrep; stageFun prevStage { - name = "bootstrap-stage1"; + name = "bootstrap-stage1"; - # Rebuild binutils to use from stage2 onwards. - overrides = self: super: { - binutils-unwrapped = super.binutils-unwrapped.override { - enableGold = false; + # Rebuild binutils to use from stage2 onwards. + overrides = self: super: { + binutils-unwrapped = super.binutils-unwrapped.override { + enableGold = false; + }; + inherit (prevStage) + ccWrapperStdenv + gcc-unwrapped + coreutils + gnugrep + binutils + ; + + ${localSystem.libc} = getLibc prevStage; + + # A threaded perl build needs glibc/libpthread_nonshared.a, + # which is not included in bootstrapTools, so disable threading. + # This is not an issue for the final stdenv, because this perl + # won't be included in the final stdenv and won't be exported to + # top-level pkgs as an override either. + perl = super.perl.override { + enableThreading = false; + enableCrypt = false; + }; }; - inherit (prevStage) - ccWrapperStdenv - gcc-unwrapped coreutils gnugrep binutils; - - ${localSystem.libc} = getLibc prevStage; - - # A threaded perl build needs glibc/libpthread_nonshared.a, - # which is not included in bootstrapTools, so disable threading. - # This is not an issue for the final stdenv, because this perl - # won't be included in the final stdenv and won't be exported to - # top-level pkgs as an override either. - perl = super.perl.override { enableThreading = false; enableCrypt = false; }; - }; - # `gettext` comes with obsolete config.sub/config.guess that don't recognize LoongArch64. - extraNativeBuildInputs = [ prevStage.updateAutotoolsGnuConfigScriptsHook ]; - }) + # `gettext` comes with obsolete config.sub/config.guess that don't recognize LoongArch64. + extraNativeBuildInputs = [ prevStage.updateAutotoolsGnuConfigScriptsHook ]; + } + ) # First rebuild of gcc; this is linked against all sorts of junk # from the bootstrap-files, but we only care about the code that # this compiler *emits*. The `gcc` binary produced in this stage # is not part of the final stdenv. - (prevStage: + ( + prevStage: assert isBuiltByBootstrapFilesCompiler prevStage.binutils-unwrapped; - assert isFromBootstrapFiles prevStage."${localSystem.libc}"; - assert isFromBootstrapFiles prevStage.gcc-unwrapped; - assert isFromBootstrapFiles prevStage.coreutils; - assert isFromBootstrapFiles prevStage.gnugrep; + assert isFromBootstrapFiles prevStage."${localSystem.libc}"; + assert isFromBootstrapFiles prevStage.gcc-unwrapped; + assert isFromBootstrapFiles prevStage.coreutils; + assert isFromBootstrapFiles prevStage.gnugrep; assert isBuiltByBootstrapFilesCompiler prevStage.patchelf; stageFun prevStage { name = "bootstrap-stage-xgcc"; overrides = self: super: { - inherit (prevStage) ccWrapperStdenv coreutils gnugrep gettext bison texinfo zlib gnum4 perl patchelf; + inherit (prevStage) + ccWrapperStdenv + coreutils + gnugrep + gettext + bison + texinfo + zlib + gnum4 + perl + patchelf + ; ${localSystem.libc} = getLibc prevStage; gmp = super.gmp.override { cxx = false; }; # This stage also rebuilds binutils which will of course be used only in the next stage. @@ -341,246 +393,321 @@ in runtimeShell = "${bootstrapTools}/bin/bash"; }; gcc-unwrapped = - (super.gcc-unwrapped.override (commonGccOverrides // { - # The most logical name for this package would be something like - # "gcc-stage1". Unfortunately "stage" is already reserved for the - # layers of stdenv, so using "stage" in the name of this package - # would cause massive confusion. - # - # Gcc calls its "stage1" compiler `xgcc` (--disable-bootstrap results - # in `xgcc` being copied to $prefix/bin/gcc). So we imitate that. - # - name = "xgcc"; - - # xgcc uses ld linked against nixpkgs' glibc and gcc built - # against bootstrapTools glibc. We can't allow loading - # $out/libexec/gcc/x86_64-unknown-linux-gnu/13.0.1/liblto_plugin.so - # to mix libc.so: - # ...-binutils-patchelfed-ld-2.40/bin/ld: ...-xgcc-13.0.0/libexec/gcc/x86_64-unknown-linux-gnu/13.0.1/liblto_plugin.so: - # error loading plugin: ...-bootstrap-tools/lib/libpthread.so.0: undefined symbol: __libc_vfork, version GLIBC_PRIVATE - enableLTO = false; - })).overrideAttrs (a: { - - # This signals to cc-wrapper (as overridden above in this file) to add `--sysroot` - # to `$out/nix-support/cc-cflags`. - passthru = a.passthru // { isXgcc = true; }; - - # Gcc will look for the C library headers in - # - # ${with_build_sysroot}${native_system_header_dir} - # - # The ordinary gcc expression sets `--with-build-sysroot=/` and sets - # `native-system-header-dir` to `"${lib.getDev stdenv.cc.libc}/include`. - # - # Unfortunately the value of "--with-native-system-header-dir=" gets "burned in" to the - # compiler, and it is quite difficult to get the compiler to change or ignore it - # afterwards. On the other hand, the `sysroot` is very easy to change; you can just pass - # a `--sysroot` flag to `gcc`. - # - # So we override the expression to remove the default settings for these flags, and - # replace them such that the concatenated value will be the same as before, but we split - # the value between the two variables differently: `--native-system-header-dir=/include`, - # and `--with-build-sysroot=${lib.getDev stdenv.cc.libc}`. - # - configureFlags = (a.configureFlags or []) ++ [ - "--with-native-system-header-dir=/include" - "--with-build-sysroot=${lib.getDev self.stdenv.cc.libc}" - ]; - - # This is a separate phase because gcc assembles its phase scripts - # in bash instead of nix (we should fix that). - preFixupPhases = (a.preFixupPhases or []) ++ [ "preFixupXgccPhase" ]; - - # This is needed to prevent "error: cycle detected in build of '...-xgcc-....drv' - # in the references of output 'lib' from output 'out'" - preFixupXgccPhase = '' - find $lib/lib/ -name \*.so\* -exec patchelf --shrink-rpath {} \; || true - ''; - }); + (super.gcc-unwrapped.override ( + commonGccOverrides + // { + # The most logical name for this package would be something like + # "gcc-stage1". Unfortunately "stage" is already reserved for the + # layers of stdenv, so using "stage" in the name of this package + # would cause massive confusion. + # + # Gcc calls its "stage1" compiler `xgcc` (--disable-bootstrap results + # in `xgcc` being copied to $prefix/bin/gcc). So we imitate that. + # + name = "xgcc"; + + # xgcc uses ld linked against nixpkgs' glibc and gcc built + # against bootstrapTools glibc. We can't allow loading + # $out/libexec/gcc/x86_64-unknown-linux-gnu/13.0.1/liblto_plugin.so + # to mix libc.so: + # ...-binutils-patchelfed-ld-2.40/bin/ld: ...-xgcc-13.0.0/libexec/gcc/x86_64-unknown-linux-gnu/13.0.1/liblto_plugin.so: + # error loading plugin: ...-bootstrap-tools/lib/libpthread.so.0: undefined symbol: __libc_vfork, version GLIBC_PRIVATE + enableLTO = false; + } + )).overrideAttrs + (a: { + + # This signals to cc-wrapper (as overridden above in this file) to add `--sysroot` + # to `$out/nix-support/cc-cflags`. + passthru = a.passthru // { + isXgcc = true; + }; + + # Gcc will look for the C library headers in + # + # ${with_build_sysroot}${native_system_header_dir} + # + # The ordinary gcc expression sets `--with-build-sysroot=/` and sets + # `native-system-header-dir` to `"${lib.getDev stdenv.cc.libc}/include`. + # + # Unfortunately the value of "--with-native-system-header-dir=" gets "burned in" to the + # compiler, and it is quite difficult to get the compiler to change or ignore it + # afterwards. On the other hand, the `sysroot` is very easy to change; you can just pass + # a `--sysroot` flag to `gcc`. + # + # So we override the expression to remove the default settings for these flags, and + # replace them such that the concatenated value will be the same as before, but we split + # the value between the two variables differently: `--native-system-header-dir=/include`, + # and `--with-build-sysroot=${lib.getDev stdenv.cc.libc}`. + # + configureFlags = (a.configureFlags or [ ]) ++ [ + "--with-native-system-header-dir=/include" + "--with-build-sysroot=${lib.getDev self.stdenv.cc.libc}" + ]; + + # This is a separate phase because gcc assembles its phase scripts + # in bash instead of nix (we should fix that). + preFixupPhases = (a.preFixupPhases or [ ]) ++ [ "preFixupXgccPhase" ]; + + # This is needed to prevent "error: cycle detected in build of '...-xgcc-....drv' + # in the references of output 'lib' from output 'out'" + preFixupXgccPhase = '' + find $lib/lib/ -name \*.so\* -exec patchelf --shrink-rpath {} \; || true + ''; + }); }; # `gettext` comes with obsolete config.sub/config.guess that don't recognize LoongArch64. extraNativeBuildInputs = [ prevStage.updateAutotoolsGnuConfigScriptsHook ]; - }) + } + ) # 2nd stdenv that contains our own rebuilt binutils and is used for # compiling our own Glibc. # - (prevStage: + ( + prevStage: # previous stage1 stdenv: assert isBuiltByBootstrapFilesCompiler prevStage.binutils-unwrapped; - assert isFromBootstrapFiles prevStage."${localSystem.libc}"; + assert isFromBootstrapFiles prevStage."${localSystem.libc}"; assert isBuiltByBootstrapFilesCompiler prevStage.gcc-unwrapped; - assert isFromBootstrapFiles prevStage.coreutils; - assert isFromBootstrapFiles prevStage.gnugrep; + assert isFromBootstrapFiles prevStage.coreutils; + assert isFromBootstrapFiles prevStage.gnugrep; assert isBuiltByBootstrapFilesCompiler prevStage.patchelf; stageFun prevStage { - name = "bootstrap-stage2"; - - overrides = self: super: { - inherit (prevStage) - ccWrapperStdenv gettext - gcc-unwrapped coreutils gnugrep - perl gnum4 bison texinfo which; - dejagnu = super.dejagnu.overrideAttrs (a: { doCheck = false; } ); - - # We need libidn2 and its dependency libunistring as glibc dependency. - # To avoid the cycle, we build against bootstrap libc, nuke references, - # and use the result as input for our final glibc. We also pass this pair - # through, so the final package-set uses exactly the same builds. - libunistring = super.libunistring.overrideAttrs (attrs: { - postFixup = attrs.postFixup or "" + '' - ${self.nukeReferences}/bin/nuke-refs "$out"/lib/lib*.so.*.* - ''; - # Apparently iconv won't work with bootstrap glibc, but it will be used - # with glibc built later where we keep *this* build of libunistring, - # so we need to trick it into supporting libiconv. - env = attrs.env or {} // { am_cv_func_iconv_works = "yes"; }; - }); - libidn2 = super.libidn2.overrideAttrs (attrs: { - postFixup = attrs.postFixup or "" + '' - ${self.nukeReferences}/bin/nuke-refs -e '${lib.getLib self.libunistring}' \ - "$out"/lib/lib*.so.*.* - ''; - }); - - # This also contains the full, dynamically linked, final Glibc. - binutils = prevStage.binutils.override { - # Rewrap the binutils with the new glibc, so both the next - # stage's wrappers use it. - libc = getLibc self; - - # Unfortunately, when building gcc in the next stage, its LTO plugin - # would use the final libc but `ld` would use the bootstrap one, - # and that can fail to load. Therefore we upgrade `ld` to use newer libc; - # apparently the interpreter needs to match libc, too. - bintools = self.stdenvNoCC.mkDerivation { - pname = prevStage.bintools.bintools.pname + "-patchelfed-ld"; - inherit (prevStage.bintools.bintools) version; - passthru = { inherit (prevStage.bintools.passthru) isFromBootstrapFiles; }; - enableParallelBuilding = true; - dontUnpack = true; - dontBuild = true; - strictDeps = true; - # We wouldn't need to *copy* all, but it's easier and the result is temporary anyway. - installPhase = '' - mkdir -p "$out"/bin - cp -a '${prevStage.bintools.bintools}'/bin/* "$out"/bin/ - chmod +w "$out"/bin/ld.bfd - patchelf --set-interpreter '${getLibc self}'/lib/ld*.so.? \ - --set-rpath "${getLibc self}/lib:$(patchelf --print-rpath "$out"/bin/ld.bfd)" \ - "$out"/bin/ld.bfd - ''; - }; - }; + name = "bootstrap-stage2"; - # TODO(amjoseph): It is not yet entirely clear why this is necessary. - # Something strange is going on with xgcc and libstdc++ on pkgsMusl. - patchelf = super.patchelf.overrideAttrs(previousAttrs: - lib.optionalAttrs super.stdenv.hostPlatform.isMusl { - NIX_CFLAGS_COMPILE = (previousAttrs.NIX_CFLAGS_COMPILE or "") + " -static-libstdc++"; + overrides = self: super: { + inherit (prevStage) + ccWrapperStdenv + gettext + gcc-unwrapped + coreutils + gnugrep + perl + gnum4 + bison + texinfo + which + ; + dejagnu = super.dejagnu.overrideAttrs (a: { + doCheck = false; }); - }; + # We need libidn2 and its dependency libunistring as glibc dependency. + # To avoid the cycle, we build against bootstrap libc, nuke references, + # and use the result as input for our final glibc. We also pass this pair + # through, so the final package-set uses exactly the same builds. + libunistring = super.libunistring.overrideAttrs (attrs: { + postFixup = + attrs.postFixup or "" + + '' + ${self.nukeReferences}/bin/nuke-refs "$out"/lib/lib*.so.*.* + ''; + # Apparently iconv won't work with bootstrap glibc, but it will be used + # with glibc built later where we keep *this* build of libunistring, + # so we need to trick it into supporting libiconv. + env = attrs.env or { } // { + am_cv_func_iconv_works = "yes"; + }; + }); + libidn2 = super.libidn2.overrideAttrs (attrs: { + postFixup = + attrs.postFixup or "" + + '' + ${self.nukeReferences}/bin/nuke-refs -e '${lib.getLib self.libunistring}' \ + "$out"/lib/lib*.so.*.* + ''; + }); - # `gettext` comes with obsolete config.sub/config.guess that don't recognize LoongArch64. - # `libtool` comes with obsolete config.sub/config.guess that don't recognize Risc-V. - extraNativeBuildInputs = [ prevStage.updateAutotoolsGnuConfigScriptsHook ]; - }) + # This also contains the full, dynamically linked, final Glibc. + binutils = prevStage.binutils.override { + # Rewrap the binutils with the new glibc, so both the next + # stage's wrappers use it. + libc = getLibc self; + + # Unfortunately, when building gcc in the next stage, its LTO plugin + # would use the final libc but `ld` would use the bootstrap one, + # and that can fail to load. Therefore we upgrade `ld` to use newer libc; + # apparently the interpreter needs to match libc, too. + bintools = self.stdenvNoCC.mkDerivation { + pname = prevStage.bintools.bintools.pname + "-patchelfed-ld"; + inherit (prevStage.bintools.bintools) version; + passthru = { inherit (prevStage.bintools.passthru) isFromBootstrapFiles; }; + enableParallelBuilding = true; + dontUnpack = true; + dontBuild = true; + strictDeps = true; + # We wouldn't need to *copy* all, but it's easier and the result is temporary anyway. + installPhase = '' + mkdir -p "$out"/bin + cp -a '${prevStage.bintools.bintools}'/bin/* "$out"/bin/ + chmod +w "$out"/bin/ld.bfd + patchelf --set-interpreter '${getLibc self}'/lib/ld*.so.? \ + --set-rpath "${getLibc self}/lib:$(patchelf --print-rpath "$out"/bin/ld.bfd)" \ + "$out"/bin/ld.bfd + ''; + }; + }; + # TODO(amjoseph): It is not yet entirely clear why this is necessary. + # Something strange is going on with xgcc and libstdc++ on pkgsMusl. + patchelf = super.patchelf.overrideAttrs ( + previousAttrs: + lib.optionalAttrs super.stdenv.hostPlatform.isMusl { + NIX_CFLAGS_COMPILE = (previousAttrs.NIX_CFLAGS_COMPILE or "") + " -static-libstdc++"; + } + ); + + }; + + # `gettext` comes with obsolete config.sub/config.guess that don't recognize LoongArch64. + # `libtool` comes with obsolete config.sub/config.guess that don't recognize Risc-V. + extraNativeBuildInputs = [ prevStage.updateAutotoolsGnuConfigScriptsHook ]; + } + ) # Construct a third stdenv identical to the 2nd, except that this # one uses the rebuilt Glibc from stage2. It still uses the recent # binutils and rest of the bootstrap tools, including GCC. - (prevStage: + ( + prevStage: # previous stage2 stdenv: - assert isBuiltByNixpkgsCompiler prevStage.binutils-unwrapped; - assert isBuiltByNixpkgsCompiler prevStage.${localSystem.libc}; + assert isBuiltByNixpkgsCompiler prevStage.binutils-unwrapped; + assert isBuiltByNixpkgsCompiler prevStage.${localSystem.libc}; assert isBuiltByBootstrapFilesCompiler prevStage.gcc-unwrapped; - assert isFromBootstrapFiles prevStage.coreutils; - assert isFromBootstrapFiles prevStage.gnugrep; - assert isBuiltByNixpkgsCompiler prevStage.patchelf; - assert lib.all isBuiltByNixpkgsCompiler [ prevStage.gmp prevStage.isl_0_20 prevStage.libmpc prevStage.mpfr ]; - stageFun prevStage { - name = "bootstrap-stage3"; - - overrides = self: super: rec { - inherit (prevStage) - ccWrapperStdenv - binutils coreutils gnugrep gettext - perl patchelf linuxHeaders gnum4 bison libidn2 libunistring libxcrypt; - # We build a special copy of libgmp which doesn't use libstdc++, because - # xgcc++'s libstdc++ references the bootstrap-files (which is what - # compiles xgcc++). - gmp = super.gmp.override { cxx = false; }; - } // { - ${localSystem.libc} = getLibc prevStage; - gcc-unwrapped = (super.gcc-unwrapped.override (commonGccOverrides // { - inherit (prevStage) which; - } - )).overrideAttrs (a: { - # so we can add them to allowedRequisites below - passthru = a.passthru // { inherit (self) gmp mpfr libmpc isl; }; - }); - }; - extraNativeBuildInputs = [ - prevStage.patchelf - # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. - prevStage.updateAutotoolsGnuConfigScriptsHook + assert isFromBootstrapFiles prevStage.coreutils; + assert isFromBootstrapFiles prevStage.gnugrep; + assert isBuiltByNixpkgsCompiler prevStage.patchelf; + assert lib.all isBuiltByNixpkgsCompiler [ + prevStage.gmp + prevStage.isl_0_20 + prevStage.libmpc + prevStage.mpfr ]; - }) - + stageFun prevStage { + name = "bootstrap-stage3"; + + overrides = + self: super: + rec { + inherit (prevStage) + ccWrapperStdenv + binutils + coreutils + gnugrep + gettext + perl + patchelf + linuxHeaders + gnum4 + bison + libidn2 + libunistring + libxcrypt + ; + # We build a special copy of libgmp which doesn't use libstdc++, because + # xgcc++'s libstdc++ references the bootstrap-files (which is what + # compiles xgcc++). + gmp = super.gmp.override { cxx = false; }; + } + // { + ${localSystem.libc} = getLibc prevStage; + gcc-unwrapped = + (super.gcc-unwrapped.override ( + commonGccOverrides + // { + inherit (prevStage) which; + } + )).overrideAttrs + (a: { + # so we can add them to allowedRequisites below + passthru = a.passthru // { + inherit (self) + gmp + mpfr + libmpc + isl + ; + }; + }); + }; + extraNativeBuildInputs = [ + prevStage.patchelf + # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. + prevStage.updateAutotoolsGnuConfigScriptsHook + ]; + } + ) # Construct a fourth stdenv that uses the new GCC. But coreutils is # still from the bootstrap tools. # - (prevStage: + ( + prevStage: # previous stage3 stdenv: assert isBuiltByNixpkgsCompiler prevStage.binutils-unwrapped; assert isBuiltByNixpkgsCompiler prevStage.${localSystem.libc}; assert isBuiltByNixpkgsCompiler prevStage.gcc-unwrapped; - assert isFromBootstrapFiles prevStage.coreutils; - assert isFromBootstrapFiles prevStage.gnugrep; + assert isFromBootstrapFiles prevStage.coreutils; + assert isFromBootstrapFiles prevStage.gnugrep; assert isBuiltByNixpkgsCompiler prevStage.patchelf; stageFun prevStage { - name = "bootstrap-stage4"; - - overrides = self: super: { - # Zlib has to be inherited and not rebuilt in this stage, - # because gcc (since JAR support) already depends on zlib, and - # then if we already have a zlib we want to use that for the - # other purposes (binutils and top-level pkgs) too. - inherit (prevStage) gettext gnum4 bison perl texinfo zlib linuxHeaders libidn2 libunistring; - ${localSystem.libc} = getLibc prevStage; - # Since this is the first fresh build of binutils since stage2, our own runtimeShell will be used. - binutils = super.binutils.override { - # Build expand-response-params with last stage like below - inherit (prevStage) expand-response-params; - }; + name = "bootstrap-stage4"; + + overrides = self: super: { + # Zlib has to be inherited and not rebuilt in this stage, + # because gcc (since JAR support) already depends on zlib, and + # then if we already have a zlib we want to use that for the + # other purposes (binutils and top-level pkgs) too. + inherit (prevStage) + gettext + gnum4 + bison + perl + texinfo + zlib + linuxHeaders + libidn2 + libunistring + ; + ${localSystem.libc} = getLibc prevStage; + # Since this is the first fresh build of binutils since stage2, our own runtimeShell will be used. + binutils = super.binutils.override { + # Build expand-response-params with last stage like below + inherit (prevStage) expand-response-params; + }; + + # To allow users' overrides inhibit dependencies too heavy for + # bootstrap, like guile: https://github.com/NixOS/nixpkgs/issues/181188 + gnumake = super.gnumake.override { inBootstrap = true; }; - # To allow users' overrides inhibit dependencies too heavy for - # bootstrap, like guile: https://github.com/NixOS/nixpkgs/issues/181188 - gnumake = super.gnumake.override { inBootstrap = true; }; - - gcc = lib.makeOverridable (import ../../build-support/cc-wrapper) { - nativeTools = false; - nativeLibc = false; - isGNU = true; - inherit (prevStage) expand-response-params; - cc = prevStage.gcc-unwrapped; - bintools = self.binutils; - libc = getLibc self; - inherit lib; - inherit (self) stdenvNoCC coreutils gnugrep runtimeShell; - fortify-headers = self.fortify-headers; + gcc = lib.makeOverridable (import ../../build-support/cc-wrapper) { + nativeTools = false; + nativeLibc = false; + isGNU = true; + inherit (prevStage) expand-response-params; + cc = prevStage.gcc-unwrapped; + bintools = self.binutils; + libc = getLibc self; + inherit lib; + inherit (self) + stdenvNoCC + coreutils + gnugrep + runtimeShell + ; + fortify-headers = self.fortify-headers; + }; }; - }; - extraNativeBuildInputs = [ - prevStage.patchelf prevStage.xz - # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. - prevStage.updateAutotoolsGnuConfigScriptsHook - ]; - }) + extraNativeBuildInputs = [ + prevStage.patchelf + prevStage.xz + # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. + prevStage.updateAutotoolsGnuConfigScriptsHook + ]; + } + ) # Construct the final stdenv. It uses the Glibc and GCC, and adds # in a new binutils that doesn't depend on bootstrap-tools, as well @@ -590,7 +717,8 @@ in # dependency (`nix-store -qR') on bootstrapTools or the first # binutils built. # - (prevStage: + ( + prevStage: # previous stage4 stdenv; see stage3 comment regarding gcc, # which applies here as well. assert isBuiltByNixpkgsCompiler prevStage.binutils-unwrapped; @@ -600,93 +728,186 @@ in assert isBuiltByNixpkgsCompiler prevStage.gnugrep; assert isBuiltByNixpkgsCompiler prevStage.patchelf; { - inherit config overlays; - stdenv = import ../generic rec { - name = "stdenv-linux"; + inherit config overlays; + stdenv = import ../generic rec { + name = "stdenv-linux"; - buildPlatform = localSystem; - hostPlatform = localSystem; - targetPlatform = localSystem; - inherit config; + buildPlatform = localSystem; + hostPlatform = localSystem; + targetPlatform = localSystem; + inherit config; - preHook = commonPreHook; + preHook = commonPreHook; - initialPath = - ((import ../generic/common-path.nix) {pkgs = prevStage;}); + initialPath = ((import ../generic/common-path.nix) { pkgs = prevStage; }); - extraNativeBuildInputs = [ - prevStage.patchelf - # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. - prevStage.updateAutotoolsGnuConfigScriptsHook - ]; + extraNativeBuildInputs = [ + prevStage.patchelf + # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. + prevStage.updateAutotoolsGnuConfigScriptsHook + ]; - cc = prevStage.gcc; + cc = prevStage.gcc; - shell = cc.shell; + shell = cc.shell; - inherit (prevStage.stdenv) fetchurlBoot; + inherit (prevStage.stdenv) fetchurlBoot; - extraAttrs = { - inherit bootstrapTools; - shellPackage = prevStage.bash; - }; - - disallowedRequisites = [ bootstrapTools.out ]; + extraAttrs = { + inherit bootstrapTools; + shellPackage = prevStage.bash; + }; - # Mainly avoid reference to bootstrap tools - allowedRequisites = let - inherit (prevStage) gzip bzip2 xz zlib bash binutils coreutils diffutils findutils - gawk gmp gnumake gnused gnutar gnugrep gnupatch patchelf ed file glibc - attr acl libidn2 libunistring linuxHeaders gcc fortify-headers gcc-unwrapped - ; - in - # Simple executable tools - lib.concatMap (p: [ (lib.getBin p) (lib.getLib p) ]) [ - gzip bzip2 xz bash binutils.bintools coreutils diffutils findutils - gawk gmp gnumake gnused gnutar gnugrep gnupatch patchelf ed file + disallowedRequisites = [ bootstrapTools.out ]; + + # Mainly avoid reference to bootstrap tools + allowedRequisites = + let + inherit (prevStage) + gzip + bzip2 + xz + zlib + bash + binutils + coreutils + diffutils + findutils + gawk + gmp + gnumake + gnused + gnutar + gnugrep + gnupatch + patchelf + ed + file + glibc + attr + acl + libidn2 + libunistring + linuxHeaders + gcc + fortify-headers + gcc-unwrapped + ; + in + # Simple executable tools + lib.concatMap + (p: [ + (lib.getBin p) + (lib.getLib p) + ]) + [ + gzip + bzip2 + xz + bash + binutils.bintools + coreutils + diffutils + findutils + gawk + gmp + gnumake + gnused + gnutar + gnugrep + gnupatch + patchelf + ed + file + ] + # Library dependencies + ++ map lib.getLib [ + attr + acl + zlib + gnugrep.pcre2 + libidn2 + libunistring ] - # Library dependencies - ++ map lib.getLib [ attr acl zlib gnugrep.pcre2 libidn2 libunistring ] - # More complicated cases - ++ (map (x: lib.getOutput x (getLibc prevStage)) [ "out" "dev" "bin" ] ) - ++ [ linuxHeaders # propagated from .dev - binutils gcc gcc.cc gcc.cc.lib - gcc.expand-response-params # != (prevStage.)expand-response-params - gcc.cc.libgcc glibc.passthru.libgcc + # More complicated cases + ++ (map (x: lib.getOutput x (getLibc prevStage)) [ + "out" + "dev" + "bin" + ]) + ++ [ + linuxHeaders # propagated from .dev + binutils + gcc + gcc.cc + gcc.cc.lib + gcc.expand-response-params # != (prevStage.)expand-response-params + gcc.cc.libgcc + glibc.passthru.libgcc ] - ++ lib.optionals (localSystem.libc == "musl") [ fortify-headers ] - ++ [ prevStage.updateAutotoolsGnuConfigScriptsHook prevStage.gnu-config ] - ++ [ - gcc-unwrapped.gmp gcc-unwrapped.libmpc gcc-unwrapped.mpfr gcc-unwrapped.isl - ] - ; - - overrides = self: super: { - inherit (prevStage) - gzip bzip2 xz bash coreutils diffutils findutils gawk - gnused gnutar gnugrep gnupatch patchelf - attr acl zlib libunistring; - inherit (prevStage.gnugrep) pcre2; - ${localSystem.libc} = getLibc prevStage; - - # Hack: avoid libidn2.{bin,dev} referencing bootstrap tools. There's a logical cycle. - libidn2 = import ../../development/libraries/libidn2/no-bootstrap-reference.nix { - inherit lib; - inherit (prevStage) libidn2; - inherit (self) stdenv runCommandLocal patchelf libunistring; - }; - - gnumake = super.gnumake.override { inBootstrap = false; }; - } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { - # Need to get rid of these when cross-compiling. - inherit (prevStage) binutils binutils-unwrapped; - gcc = cc; + ++ lib.optionals (localSystem.libc == "musl") [ fortify-headers ] + ++ [ + prevStage.updateAutotoolsGnuConfigScriptsHook + prevStage.gnu-config + ] + ++ [ + gcc-unwrapped.gmp + gcc-unwrapped.libmpc + gcc-unwrapped.mpfr + gcc-unwrapped.isl + ]; + + overrides = + self: super: + { + inherit (prevStage) + gzip + bzip2 + xz + bash + coreutils + diffutils + findutils + gawk + gnused + gnutar + gnugrep + gnupatch + patchelf + attr + acl + zlib + libunistring + ; + inherit (prevStage.gnugrep) pcre2; + ${localSystem.libc} = getLibc prevStage; + + # Hack: avoid libidn2.{bin,dev} referencing bootstrap tools. There's a logical cycle. + libidn2 = import ../../development/libraries/libidn2/no-bootstrap-reference.nix { + inherit lib; + inherit (prevStage) libidn2; + inherit (self) + stdenv + runCommandLocal + patchelf + libunistring + ; + }; + + gnumake = super.gnumake.override { inBootstrap = false; }; + } + // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { + # Need to get rid of these when cross-compiling. + inherit (prevStage) binutils binutils-unwrapped; + gcc = cc; + }; }; - }; - }) + } + ) # This "no-op" stage is just a place to put the assertions about stage5. - (prevStage: + ( + prevStage: # previous stage5 stdenv; see stage3 comment regarding gcc, # which applies here as well. assert isBuiltByNixpkgsCompiler prevStage.binutils-unwrapped; @@ -695,5 +916,8 @@ in assert isBuiltByNixpkgsCompiler prevStage.coreutils; assert isBuiltByNixpkgsCompiler prevStage.gnugrep; assert isBuiltByNixpkgsCompiler prevStage.patchelf; - { inherit (prevStage) config overlays stdenv; }) + { + inherit (prevStage) config overlays stdenv; + } + ) ] diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix index 8984cdf23c6ce..694d90d970e30 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix @@ -1,37 +1,45 @@ -{system ? builtins.currentSystem}: +{ + system ? builtins.currentSystem, +}: let inherit (releaseLib) lib; releaseLib = import ../../top-level/release-lib.nix { # We're not using any functions from release-lib.nix that look at # supportedSystems. - supportedSystems = []; + supportedSystems = [ ]; }; - make = crossSystem: import ./make-bootstrap-tools.nix { - pkgs = releaseLib.pkgsForCross crossSystem system; - }; -in lib.mapAttrs (n: make) (with lib.systems.examples; { - # NOTE: Only add platforms for which there are files in `./bootstrap-files` - # or for which you plan to request the tarball upload soon. See the - # maintainers/scripts/bootstrap-files/README.md - # on how to request an upload. - # Sort following the sorting in `./default.nix` `bootstrapFiles` argument. + make = + crossSystem: + import ./make-bootstrap-tools.nix { + pkgs = releaseLib.pkgsForCross crossSystem system; + }; +in +lib.mapAttrs (n: make) ( + with lib.systems.examples; + { + # NOTE: Only add platforms for which there are files in `./bootstrap-files` + # or for which you plan to request the tarball upload soon. See the + # maintainers/scripts/bootstrap-files/README.md + # on how to request an upload. + # Sort following the sorting in `./default.nix` `bootstrapFiles` argument. - armv5tel-unknown-linux-gnueabi = sheevaplug; - armv6l-unknown-linux-gnueabihf = raspberryPi; - armv7l-unknown-linux-gnueabihf = armv7l-hf-multiplatform; - aarch64-unknown-linux-gnu = aarch64-multiplatform; - mipsel-unknown-linux-gnu = mipsel-linux-gnu; - mips64el-unknown-linux-gnuabin32 = mips64el-linux-gnuabin32; - mips64el-unknown-linux-gnuabi64 = mips64el-linux-gnuabi64; - powerpc64-unknown-linux-gnuabielfv2 = ppc64; - powerpc64le-unknown-linux-gnu = powernv; - riscv64-unknown-linux-gnu = riscv64; - s390x-unknown-linux-gnu = s390x; + armv5tel-unknown-linux-gnueabi = sheevaplug; + armv6l-unknown-linux-gnueabihf = raspberryPi; + armv7l-unknown-linux-gnueabihf = armv7l-hf-multiplatform; + aarch64-unknown-linux-gnu = aarch64-multiplatform; + mipsel-unknown-linux-gnu = mipsel-linux-gnu; + mips64el-unknown-linux-gnuabin32 = mips64el-linux-gnuabin32; + mips64el-unknown-linux-gnuabi64 = mips64el-linux-gnuabi64; + powerpc64-unknown-linux-gnuabielfv2 = ppc64; + powerpc64le-unknown-linux-gnu = powernv; + riscv64-unknown-linux-gnu = riscv64; + s390x-unknown-linux-gnu = s390x; - # musl - aarch64-unknown-linux-musl = aarch64-multiplatform-musl; - armv6l-unknown-linux-musleabihf = muslpi; - x86_64-unknown-linux-musl = musl64; -}) + # musl + aarch64-unknown-linux-musl = aarch64-multiplatform-musl; + armv6l-unknown-linux-musleabihf = muslpi; + x86_64-unknown-linux-musl = musl64; + } +) diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix index 242bf9d1b3f90..66ac2aa7d129b 100644 --- a/pkgs/stdenv/native/default.nix +++ b/pkgs/stdenv/native/default.nix @@ -1,5 +1,10 @@ -{ lib -, localSystem, crossSystem, config, overlays, crossOverlays ? [] +{ + lib, + localSystem, + crossSystem, + config, + overlays, + crossOverlays ? [ ], }: assert crossSystem == localSystem; @@ -8,14 +13,20 @@ let inherit (localSystem) system; shell = - if system == "i686-freebsd" || system == "x86_64-freebsd" then "/usr/local/bin/bash" - else "/bin/bash"; + if system == "i686-freebsd" || system == "x86_64-freebsd" then + "/usr/local/bin/bash" + else + "/bin/bash"; path = - (lib.optionals (system == "i686-solaris") [ "/usr/gnu" ]) ++ - (lib.optionals (system == "i686-netbsd") [ "/usr/pkg" ]) ++ - (lib.optionals (system == "x86_64-solaris") [ "/opt/local/gnu" ]) ++ - ["/" "/usr" "/usr/local"]; + (lib.optionals (system == "i686-solaris") [ "/usr/gnu" ]) + ++ (lib.optionals (system == "i686-netbsd") [ "/usr/pkg" ]) + ++ (lib.optionals (system == "x86_64-solaris") [ "/opt/local/gnu" ]) + ++ [ + "/" + "/usr" + "/usr/local" + ]; prehookBase = '' # Disable purity tests; it's allowed (even needed) to link to @@ -66,19 +77,34 @@ let export lt_cv_deplibs_check_method=pass_all ''; - extraNativeBuildInputsCygwin = [ - ../cygwin/all-buildinputs-as-runtimedep.sh - ../cygwin/wrap-exes-to-find-dlls.sh - ] ++ (if system == "i686-cygwin" then [ - ../cygwin/rebase-i686.sh - ] else if system == "x86_64-cygwin" then [ - ../cygwin/rebase-x86_64.sh - ] else []); + extraNativeBuildInputsCygwin = + [ + ../cygwin/all-buildinputs-as-runtimedep.sh + ../cygwin/wrap-exes-to-find-dlls.sh + ] + ++ ( + if system == "i686-cygwin" then + [ + ../cygwin/rebase-i686.sh + ] + else if system == "x86_64-cygwin" then + [ + ../cygwin/rebase-x86_64.sh + ] + else + [ ] + ); # A function that builds a "native" stdenv (one that uses tools in # /usr etc.). makeStdenv = - { cc, fetchurl, extraPath ? [], overrides ? (self: super: { }), extraNativeBuildInputs ? [] }: + { + cc, + fetchurl, + extraPath ? [ ], + overrides ? (self: super: { }), + extraNativeBuildInputs ? [ ], + }: import ../generic { buildPlatform = localSystem; @@ -86,76 +112,103 @@ let targetPlatform = localSystem; preHook = - if system == "i686-freebsd" then prehookFreeBSD else - if system == "x86_64-freebsd" then prehookFreeBSD else - if system == "i686-openbsd" then prehookOpenBSD else - if system == "i686-netbsd" then prehookNetBSD else - if system == "i686-cygwin" then prehookCygwin else - if system == "x86_64-cygwin" then prehookCygwin else - prehookBase; - - extraNativeBuildInputs = extraNativeBuildInputs ++ - (if system == "i686-cygwin" then extraNativeBuildInputsCygwin else - if system == "x86_64-cygwin" then extraNativeBuildInputsCygwin else - []); + if system == "i686-freebsd" then + prehookFreeBSD + else if system == "x86_64-freebsd" then + prehookFreeBSD + else if system == "i686-openbsd" then + prehookOpenBSD + else if system == "i686-netbsd" then + prehookNetBSD + else if system == "i686-cygwin" then + prehookCygwin + else if system == "x86_64-cygwin" then + prehookCygwin + else + prehookBase; + + extraNativeBuildInputs = + extraNativeBuildInputs + ++ ( + if system == "i686-cygwin" then + extraNativeBuildInputsCygwin + else if system == "x86_64-cygwin" then + extraNativeBuildInputsCygwin + else + [ ] + ); initialPath = extraPath ++ path; fetchurlBoot = fetchurl; - inherit shell cc overrides config; + inherit + shell + cc + overrides + config + ; }; in [ - ({}: rec { - __raw = true; + ( + { }: + rec { + __raw = true; - stdenv = makeStdenv { - cc = null; - fetchurl = null; - }; - stdenvNoCC = stdenv; - - cc = let - nativePrefix = { # switch - i686-solaris = "/usr/gnu"; - x86_64-solaris = "/opt/local/gcc47"; - }.${system} or "/usr"; - in - import ../../build-support/cc-wrapper { - name = "cc-native"; - nativeTools = true; - nativeLibc = true; - inherit lib nativePrefix; - bintools = import ../../build-support/bintools-wrapper { - name = "bintools"; - inherit lib stdenvNoCC nativePrefix; - nativeTools = true; - nativeLibc = true; + stdenv = makeStdenv { + cc = null; + fetchurl = null; + }; + stdenvNoCC = stdenv; + + cc = + let + nativePrefix = + { + # switch + i686-solaris = "/usr/gnu"; + x86_64-solaris = "/opt/local/gcc47"; + } + .${system} or "/usr"; + in + import ../../build-support/cc-wrapper { + name = "cc-native"; + nativeTools = true; + nativeLibc = true; + inherit lib nativePrefix; + bintools = import ../../build-support/bintools-wrapper { + name = "bintools"; + inherit lib stdenvNoCC nativePrefix; + nativeTools = true; + nativeLibc = true; + }; + inherit stdenvNoCC; + }; + + fetchurl = import ../../build-support/fetchurl { + inherit lib stdenvNoCC; + # Curl should be in /usr/bin or so. + curl = null; }; - inherit stdenvNoCC; - }; - - fetchurl = import ../../build-support/fetchurl { - inherit lib stdenvNoCC; - # Curl should be in /usr/bin or so. - curl = null; - }; - }) + } + ) # First build a stdenv based only on tools outside the store. (prevStage: { inherit config overlays; - stdenv = makeStdenv { - inherit (prevStage) cc fetchurl; - overrides = self: super: { inherit (prevStage) fetchurl; }; - } // { - inherit (prevStage) fetchurl; - }; + stdenv = + makeStdenv { + inherit (prevStage) cc fetchurl; + overrides = self: super: { inherit (prevStage) fetchurl; }; + } + // { + inherit (prevStage) fetchurl; + }; }) # Using that, build a stdenv that adds the ‘xz’ command (which most systems @@ -166,7 +219,7 @@ in inherit (prevStage.stdenv) cc fetchurl; extraPath = [ prevStage.xz ]; overrides = self: super: { inherit (prevStage) fetchurl xz; }; - extraNativeBuildInputs = if localSystem.isLinux then [ prevStage.patchelf ] else []; + extraNativeBuildInputs = if localSystem.isLinux then [ prevStage.patchelf ] else [ ]; }; }) diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index e9e9936ccd801..59e67960aef1f 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -1,12 +1,17 @@ -{ lib -, crossSystem, localSystem, config, overlays -, bootStages -, ... +{ + lib, + crossSystem, + localSystem, + config, + overlays, + bootStages, + ... }: assert crossSystem == localSystem; -bootStages ++ [ +bootStages +++ [ (prevStage: { inherit config overlays; @@ -28,7 +33,12 @@ bootStages ++ [ nativeTools = false; nativePrefix = lib.optionalString hostPlatform.isSunOS "/usr"; nativeLibc = true; - inherit (prevStage) stdenvNoCC binutils coreutils gnugrep; + inherit (prevStage) + stdenvNoCC + binutils + coreutils + gnugrep + ; cc = prevStage.gcc.cc; isGNU = true; shell = prevStage.bash + "/bin/sh"; @@ -42,8 +52,21 @@ bootStages ++ [ inherit cc; inherit (cc) binutils; inherit (prevStage) - gzip bzip2 xz bash coreutils diffutils findutils gawk - gnumake gnused gnutar gnugrep gnupatch perl; + gzip + bzip2 + xz + bash + coreutils + diffutils + findutils + gawk + gnumake + gnused + gnutar + gnugrep + gnupatch + perl + ; }; }; }) diff --git a/pkgs/test/auto-patchelf-hook/package.nix b/pkgs/test/auto-patchelf-hook/package.nix index 37413c7301eef..c67aa2ca375bf 100644 --- a/pkgs/test/auto-patchelf-hook/package.nix +++ b/pkgs/test/auto-patchelf-hook/package.nix @@ -2,27 +2,30 @@ # which uses the hook. We took the derivation from tonelib-jam, which sounds # like a good candidate with a small closure, and trimmed it down. -{ stdenv -, lib -, fetchurl -, autoPatchelfHook -, dpkg -, freetype -, curl -# This test checks that the behavior of autoPatchelfHook is correct whether -# __structuredAttrs -# (https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-structuredAttrs) -# is set or not. Hence __structuredAttrs is provided as a parameter. -, __structuredAttrs +{ + stdenv, + lib, + fetchurl, + autoPatchelfHook, + dpkg, + freetype, + curl, + # This test checks that the behavior of autoPatchelfHook is correct whether + # __structuredAttrs + # (https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-structuredAttrs) + # is set or not. Hence __structuredAttrs is provided as a parameter. + __structuredAttrs, }: -let runtimeDependencies = [ - (lib.getLib curl) - "/some/dep" - "/some/other/dep" -] -# A dependency with space only works with __structuredAttrs set to true. -++ lib.lists.optional __structuredAttrs "/some/dep with space"; +let + runtimeDependencies = + [ + (lib.getLib curl) + "/some/dep" + "/some/other/dep" + ] + # A dependency with space only works with __structuredAttrs set to true. + ++ lib.lists.optional __structuredAttrs "/some/dep with space"; in stdenv.mkDerivation { @@ -59,7 +62,8 @@ stdenv.mkDerivation { # Additional phase performing the actual test. installCheckPhase = - let allDeps = runtimeDependencies ++ [ + let + allDeps = runtimeDependencies ++ [ (lib.getLib freetype) ]; in @@ -82,16 +86,18 @@ stdenv.mkDerivation { echo "[auto-patchelf-hook-test]: Check that the runpath contains the expected runtime deps" '' - + lib.strings.concatStringsSep "\n" - (lib.lists.imap0 - (i: path: - let iAsStr = builtins.toString i; in - '' - echo "[auto-patchelf-hook-test]: Check that entry ${iAsStr} is ${path}" - test "''${paths[${iAsStr}]}" = "$path" - '') - allDeps - ); + + lib.strings.concatStringsSep "\n" ( + lib.lists.imap0 ( + i: path: + let + iAsStr = builtins.toString i; + in + '' + echo "[auto-patchelf-hook-test]: Check that entry ${iAsStr} is ${path}" + test "''${paths[${iAsStr}]}" = "$path" + '' + ) allDeps + ); doInstallCheck = true; inherit __structuredAttrs; diff --git a/pkgs/test/buildFHSEnv/default.nix b/pkgs/test/buildFHSEnv/default.nix index 5ded03ea1f99a..ac0494fefb260 100644 --- a/pkgs/test/buildFHSEnv/default.nix +++ b/pkgs/test/buildFHSEnv/default.nix @@ -1,79 +1,92 @@ -{ lib -, buildFHSEnv -, runCommand -, stdenv -, fetchurl -, dpkg -, glibc -, callPackage +{ + lib, + buildFHSEnv, + runCommand, + stdenv, + fetchurl, + dpkg, + glibc, + callPackage, }: let - getSharedObjectFromDebian = sharedObjectName: src: stdenv.mkDerivation { - name = "${sharedObjectName}-fetcher"; - inherit src; - nativeBuildInputs = [ - dpkg - ]; - dontBuild = true; - dontConfigure = true; - dontFixup = true; - installPhase = '' - echo shared objects found are: - ls -l usr/lib/*/ - cp usr/lib/*/${sharedObjectName} $out - ''; - }; - - makeSharedObjectTest = sharedObject: targetPkgs: let - lddFHSEnv = buildFHSEnv { - name = "ldd-with-ncurses-FHS-env"; - inherit targetPkgs; - runScript = "ldd"; - }; - ldd-in-FHS = "${lddFHSEnv}/bin/${lddFHSEnv.name}"; - ldd = "${lib.getBin glibc}/bin/ldd"; - find_libFHSEnv = buildFHSEnv { - name = "ls-with-ncurses-FHS-env"; - targetPkgs = p: [ - p.ncurses5 + getSharedObjectFromDebian = + sharedObjectName: src: + stdenv.mkDerivation { + name = "${sharedObjectName}-fetcher"; + inherit src; + nativeBuildInputs = [ + dpkg ]; - runScript = "find /lib/ -executable"; + dontBuild = true; + dontConfigure = true; + dontFixup = true; + installPhase = '' + echo shared objects found are: + ls -l usr/lib/*/ + cp usr/lib/*/${sharedObjectName} $out + ''; }; - find_lib-in-FHS = "${find_libFHSEnv}/bin/${find_libFHSEnv.name}"; - in runCommand "FHS-lib-test" {} '' - echo original ldd output is: - ${ldd} ${sharedObject} - lddOutput="$(${ldd-in-FHS} ${sharedObject})" - echo ldd output inside FHS is: - echo "$lddOutput" - if echo $lddOutput | grep -q "not found"; then - echo "shared object could not find all dependencies in the FHS!" - echo The libraries below where found in the FHS: - ${find_lib-in-FHS} - exit 1 - else - echo $lddOutput > $out - fi - ''; -in { + makeSharedObjectTest = + sharedObject: targetPkgs: + let + lddFHSEnv = buildFHSEnv { + name = "ldd-with-ncurses-FHS-env"; + inherit targetPkgs; + runScript = "ldd"; + }; + ldd-in-FHS = "${lddFHSEnv}/bin/${lddFHSEnv.name}"; + ldd = "${lib.getBin glibc}/bin/ldd"; + find_libFHSEnv = buildFHSEnv { + name = "ls-with-ncurses-FHS-env"; + targetPkgs = p: [ + p.ncurses5 + ]; + runScript = "find /lib/ -executable"; + }; + find_lib-in-FHS = "${find_libFHSEnv}/bin/${find_libFHSEnv.name}"; + in + runCommand "FHS-lib-test" { } '' + echo original ldd output is: + ${ldd} ${sharedObject} + lddOutput="$(${ldd-in-FHS} ${sharedObject})" + echo ldd output inside FHS is: + echo "$lddOutput" + if echo $lddOutput | grep -q "not found"; then + echo "shared object could not find all dependencies in the FHS!" + echo The libraries below where found in the FHS: + ${find_lib-in-FHS} + exit 1 + else + echo $lddOutput > $out + fi + ''; + +in +{ # This test proves an issue with buildFHSEnv - don't expect it to succeed, # this is discussed in https://github.com/NixOS/nixpkgs/pull/279844 . - libtinfo = makeSharedObjectTest (getSharedObjectFromDebian "libedit.so.2.0.70" (fetchurl { - url = "mirror://debian/pool/main/libe/libedit/libedit2_3.1-20221030-2_amd64.deb"; - hash = "sha256-HPFKvycW0yedsS0GV6VzfPcAdKHnHTvfcyBmJePInOY="; - })) (p: [ - p.libtinfo - p.libbsd - ]); + libtinfo = + makeSharedObjectTest + (getSharedObjectFromDebian "libedit.so.2.0.70" (fetchurl { + url = "mirror://debian/pool/main/libe/libedit/libedit2_3.1-20221030-2_amd64.deb"; + hash = "sha256-HPFKvycW0yedsS0GV6VzfPcAdKHnHTvfcyBmJePInOY="; + })) + (p: [ + p.libtinfo + p.libbsd + ]); - liblzma = makeSharedObjectTest (getSharedObjectFromDebian "libxml2.so.2.9.14" (fetchurl { - url = "mirror://debian/pool/main/libx/libxml2/libxml2_2.9.14+dfsg-1.3~deb12u1_amd64.deb"; - hash = "sha256-NbdstwOPwclAIEpPBfM/+3nQJzU85Gk5fZrc+Pmz4ac="; - })) (p: [ - p.xz - p.zlib - p.icu72 - ]); + liblzma = + makeSharedObjectTest + (getSharedObjectFromDebian "libxml2.so.2.9.14" (fetchurl { + url = "mirror://debian/pool/main/libx/libxml2/libxml2_2.9.14+dfsg-1.3~deb12u1_amd64.deb"; + hash = "sha256-NbdstwOPwclAIEpPBfM/+3nQJzU85Gk5fZrc+Pmz4ac="; + })) + (p: [ + p.xz + p.zlib + p.icu72 + ]); } diff --git a/pkgs/test/cc-wrapper/default.nix b/pkgs/test/cc-wrapper/default.nix index 9f477ccdc3b32..11a0d39023559 100644 --- a/pkgs/test/cc-wrapper/default.nix +++ b/pkgs/test/cc-wrapper/default.nix @@ -1,20 +1,32 @@ -{ lib, stdenv, glibc, buildPackages }: +{ + lib, + stdenv, + glibc, + buildPackages, +}: let # Sanitizers are not supported on Darwin. # Sanitizer headers aren't available in older libc++ stdenvs due to a bug - sanitizersWorking = (stdenv.buildPlatform == stdenv.hostPlatform) && !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl && ( - (stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc.name) "5.0.0") - || (stdenv.cc.isGNU && stdenv.hostPlatform.isLinux) - ); + sanitizersWorking = + (stdenv.buildPlatform == stdenv.hostPlatform) + && !stdenv.hostPlatform.isDarwin + && !stdenv.hostPlatform.isMusl + && ( + (stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc.name) "5.0.0") + || (stdenv.cc.isGNU && stdenv.hostPlatform.isLinux) + ); staticLibc = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "-L ${glibc.static}/lib"; - emulator = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) (stdenv.hostPlatform.emulator buildPackages); + emulator = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ( + stdenv.hostPlatform.emulator buildPackages + ); isCxx = stdenv.cc.libcxx != null; libcxxStdenvSuffix = lib.optionalString isCxx "-libcxx"; CC = "PATH= ${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}cc"}"; CXX = "PATH= ${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}c++"}"; READELF = "PATH= ${lib.getExe' stdenv.cc "${stdenv.cc.targetPrefix}readelf"}"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "cc-wrapper-test-${stdenv.cc.cc.pname}${libcxxStdenvSuffix}"; version = stdenv.cc.version; @@ -45,7 +57,9 @@ in stdenv.mkDerivation { ${lib.optionalString (!isCxx) '' # https://github.com/NixOS/nixpkgs/issues/91285 echo "checking whether libatomic.so can be linked... " >&2 - ${CXX} -shared -o atomics.so ${./atomics.cc} -latomic ${lib.optionalString (stdenv.cc.isClang && lib.versionOlder stdenv.cc.version "6.0.0" ) "-std=c++17"} + ${CXX} -shared -o atomics.so ${./atomics.cc} -latomic ${ + lib.optionalString (stdenv.cc.isClang && lib.versionOlder stdenv.cc.version "6.0.0") "-std=c++17" + } ${READELF} -d ./atomics.so | grep libatomic.so && echo "ok" >&2 || echo "failed" >&2 ''} @@ -72,14 +86,17 @@ in stdenv.mkDerivation { echo "checking whether compiler builds valid static C binaries... " >&2 ${CC} ${staticLibc} -static -o cc-static ${./cc-main.c} ${emulator} ./cc-static - ${lib.optionalString (stdenv.cc.isGNU && lib.versionAtLeast (lib.getVersion stdenv.cc.name) "8.0.0") '' - echo "checking whether compiler builds valid static pie C binaries... " >&2 - ${CC} ${staticLibc} -static-pie -o cc-static-pie ${./cc-main.c} - ${emulator} ./cc-static-pie - ''} + ${lib.optionalString (stdenv.cc.isGNU && lib.versionAtLeast (lib.getVersion stdenv.cc.name) "8.0.0") + '' + echo "checking whether compiler builds valid static pie C binaries... " >&2 + ${CC} ${staticLibc} -static-pie -o cc-static-pie ${./cc-main.c} + ${emulator} ./cc-static-pie + '' + } ''} - ${# See: https://github.com/llvm/llvm-project/commit/ed1d07282cc9d8e4c25d585e03e5c8a1b6f63a74 + ${ + # See: https://github.com/llvm/llvm-project/commit/ed1d07282cc9d8e4c25d585e03e5c8a1b6f63a74 # `gcc` does not support this so we gate the test on `clang` lib.optionalString stdenv.cc.isClang '' echo "checking whether cc-wrapper accepts -- followed by positional (file) args..." >&2 @@ -98,7 +115,8 @@ in stdenv.mkDerivation { ${CC} -c -DVALUE=42 -o positional/foo.o -- ${./foo.c} ${CC} -o positional/main -- positional/foo.o ${./ldflags-main.c} ${emulator} ./positional/main - ''} + '' + } echo "checking whether compiler uses NIX_CFLAGS_COMPILE... " >&2 mkdir -p foo/include diff --git a/pkgs/test/checkpointBuild/default.nix b/pkgs/test/checkpointBuild/default.nix index 0843dcd3d6eba..69021aa15019c 100644 --- a/pkgs/test/checkpointBuild/default.nix +++ b/pkgs/test/checkpointBuild/default.nix @@ -1,4 +1,11 @@ -{ hello, checkpointBuildTools, runCommand, texinfo, stdenv, rsync }: +{ + hello, + checkpointBuildTools, + runCommand, + texinfo, + stdenv, + rsync, +}: let baseHelloArtifacts = checkpointBuildTools.prepareCheckpointBuild hello; patchedHello = hello.overrideAttrs (old: { @@ -20,9 +27,11 @@ let ''; }); - baseHelloRemoveFileArtifacts = checkpointBuildTools.prepareCheckpointBuild (hello.overrideAttrs (old: { - patches = [ ./hello-additionalFile.patch ]; - })); + baseHelloRemoveFileArtifacts = checkpointBuildTools.prepareCheckpointBuild ( + hello.overrideAttrs (old: { + patches = [ ./hello-additionalFile.patch ]; + }) + ); preparedHelloRemoveFileSrc = runCommand "patch-hello-src" { } '' mkdir -p $out @@ -54,4 +63,3 @@ stdenv.mkDerivation { [ "$(${checkpointBuiltHelloWithRemovedFile}/bin/hello)" = "Hello, incremental world!" ] ''; } - diff --git a/pkgs/test/config.nix b/pkgs/test/config.nix index 24a840af0aead..91cb312b4be0e 100644 --- a/pkgs/test/config.nix +++ b/pkgs/test/config.nix @@ -10,12 +10,14 @@ lib.recurseIntoAttrs { # # Instead of `builtins.seq`, the list may be constructed based on actual package info. allowPkgsInPermittedInsecurePackages = - let pkgs = import ../.. { - config = { - permittedInsecurePackages = builtins.seq pkgs.glibc.version []; - }; + let + pkgs = import ../.. { + config = { + permittedInsecurePackages = builtins.seq pkgs.glibc.version [ ]; }; + }; - in pkgs.hello; + in + pkgs.hello; } diff --git a/pkgs/test/coq/default.nix b/pkgs/test/coq/default.nix index cf59dd473b4c7..e0fa0e26ace94 100644 --- a/pkgs/test/coq/default.nix +++ b/pkgs/test/coq/default.nix @@ -3,4 +3,3 @@ lib.recurseIntoAttrs { overrideCoqDerivation = callPackage ./overrideCoqDerivation { }; } - diff --git a/pkgs/test/coq/overrideCoqDerivation/default.nix b/pkgs/test/coq/overrideCoqDerivation/default.nix index c251c498e6099..03253981af689 100644 --- a/pkgs/test/coq/overrideCoqDerivation/default.nix +++ b/pkgs/test/coq/overrideCoqDerivation/default.nix @@ -1,4 +1,9 @@ -{ lib, coq, mkCoqPackages, runCommand }: +{ + lib, + coq, + mkCoqPackages, + runCommand, +}: let @@ -6,7 +11,9 @@ let # dontFilter to true here so that _all_ packages are visibile in coqPackages. # There may be some versions of the top-level coq and coqPackages that don't # build QuickChick, which is what we are using for this test below. - coqWithAllPackages = coq // { dontFilter = true; }; + coqWithAllPackages = coq // { + dontFilter = true; + }; coqPackages = mkCoqPackages coqWithAllPackages; @@ -15,18 +22,14 @@ let # # Here, we override the defaultVersion and release arguments to # mkCoqDerivation. - overriddenQuickChick = - coqPackages.lib.overrideCoqDerivation - { - defaultVersion = "9999"; - release."9999".sha256 = lib.fakeSha256; - } - coqPackages.QuickChick; + overriddenQuickChick = coqPackages.lib.overrideCoqDerivation { + defaultVersion = "9999"; + release."9999".sha256 = lib.fakeSha256; + } coqPackages.QuickChick; in -runCommand - "coq-overrideCoqDerivation-test-0.1" - { meta.maintainers = with lib.maintainers; [cdepillabout]; } +runCommand "coq-overrideCoqDerivation-test-0.1" + { meta.maintainers = with lib.maintainers; [ cdepillabout ]; } '' # Confirm that the computed version number for the overridden QuickChick does # actually become 9999, as set above. diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix index f07e9c6220de7..f1696c915c343 100644 --- a/pkgs/test/cross/default.nix +++ b/pkgs/test/cross/default.nix @@ -2,118 +2,165 @@ let - testedSystems = lib.filterAttrs (name: value: let - platform = lib.systems.elaborate value; - in platform.isLinux || platform.isWindows + testedSystems = lib.filterAttrs ( + name: value: + let + platform = lib.systems.elaborate value; + in + platform.isLinux || platform.isWindows ) lib.systems.examples; - getExecutable = pkgs: pkgFun: exec: + getExecutable = + pkgs: pkgFun: exec: "${pkgFun pkgs}${exec}${pkgs.stdenv.hostPlatform.extensions.executable}"; - compareTest = { emulator, pkgFun, hostPkgs, crossPkgs, exec, args ? [] }: let - pkgName = (pkgFun hostPkgs).name; - args' = lib.concatStringsSep " " args; - in crossPkgs.runCommand "test-${pkgName}-${crossPkgs.stdenv.hostPlatform.config}" { - nativeBuildInputs = [ pkgs.dos2unix ]; - } '' - # Just in case we are using wine, get rid of that annoying extra - # stuff. - export WINEDEBUG=-all - - HOME=$(pwd) - mkdir -p $out - - # We need to remove whitespace, unfortunately - # Windows programs use \r but Unix programs use \n - - echo Running native-built program natively - - # find expected value natively - ${getExecutable hostPkgs pkgFun exec} ${args'} \ - | dos2unix > $out/expected - - echo Running cross-built program in emulator - - # run emulator to get actual value - ${emulator} ${getExecutable crossPkgs pkgFun exec} ${args'} \ - | dos2unix > $out/actual - - echo Comparing results... - - if [ "$(cat $out/actual)" != "$(cat $out/expected)" ]; then - echo "${pkgName} did not output expected value:" - cat $out/expected - echo "instead it output:" - cat $out/actual - exit 1 - else - echo "${pkgName} test passed" - echo "both produced output:" - cat $out/actual - fi - ''; - - mapMultiPlatformTest = crossSystemFun: test: lib.mapAttrs (name: system: test rec { - crossPkgs = import pkgs.path { - localSystem = { inherit (pkgs.stdenv.hostPlatform) config; }; - crossSystem = crossSystemFun system; - }; - - emulator = crossPkgs.stdenv.hostPlatform.emulator pkgs; - - # Apply some transformation on windows to get dlls in the right - # place. Unfortunately mingw doesn’t seem to be able to do linking - # properly. - platformFun = pkg: if crossPkgs.stdenv.hostPlatform.isWindows then - pkgs.buildEnv { - name = "${pkg.name}-winlinks"; - paths = [pkg] ++ pkg.buildInputs; - } else pkg; - }) testedSystems; + compareTest = + { + emulator, + pkgFun, + hostPkgs, + crossPkgs, + exec, + args ? [ ], + }: + let + pkgName = (pkgFun hostPkgs).name; + args' = lib.concatStringsSep " " args; + in + crossPkgs.runCommand "test-${pkgName}-${crossPkgs.stdenv.hostPlatform.config}" + { + nativeBuildInputs = [ pkgs.dos2unix ]; + } + '' + # Just in case we are using wine, get rid of that annoying extra + # stuff. + export WINEDEBUG=-all + + HOME=$(pwd) + mkdir -p $out + + # We need to remove whitespace, unfortunately + # Windows programs use \r but Unix programs use \n + + echo Running native-built program natively + + # find expected value natively + ${getExecutable hostPkgs pkgFun exec} ${args'} \ + | dos2unix > $out/expected + + echo Running cross-built program in emulator + + # run emulator to get actual value + ${emulator} ${getExecutable crossPkgs pkgFun exec} ${args'} \ + | dos2unix > $out/actual + + echo Comparing results... + + if [ "$(cat $out/actual)" != "$(cat $out/expected)" ]; then + echo "${pkgName} did not output expected value:" + cat $out/expected + echo "instead it output:" + cat $out/actual + exit 1 + else + echo "${pkgName} test passed" + echo "both produced output:" + cat $out/actual + fi + ''; + + mapMultiPlatformTest = + crossSystemFun: test: + lib.mapAttrs ( + name: system: + test rec { + crossPkgs = import pkgs.path { + localSystem = { inherit (pkgs.stdenv.hostPlatform) config; }; + crossSystem = crossSystemFun system; + }; + + emulator = crossPkgs.stdenv.hostPlatform.emulator pkgs; + + # Apply some transformation on windows to get dlls in the right + # place. Unfortunately mingw doesn’t seem to be able to do linking + # properly. + platformFun = + pkg: + if crossPkgs.stdenv.hostPlatform.isWindows then + pkgs.buildEnv { + name = "${pkg.name}-winlinks"; + paths = [ pkg ] ++ pkg.buildInputs; + } + else + pkg; + } + ) testedSystems; tests = { - file = {platformFun, crossPkgs, emulator}: compareTest { - inherit emulator crossPkgs; - hostPkgs = pkgs; - exec = "/bin/file"; - args = [ - "${pkgs.file}/share/man/man1/file.1.gz" - "${pkgs.dejavu_fonts}/share/fonts/truetype/DejaVuMathTeXGyre.ttf" - ]; - pkgFun = pkgs: platformFun pkgs.file; - }; - - hello = {platformFun, crossPkgs, emulator}: compareTest { - inherit emulator crossPkgs; - hostPkgs = pkgs; - exec = "/bin/hello"; - pkgFun = pkgs: pkgs.hello; - }; - - pkg-config = {platformFun, crossPkgs, emulator}: crossPkgs.runCommand - "test-pkg-config-${crossPkgs.stdenv.hostPlatform.config}" - { - depsBuildBuild = [ crossPkgs.pkgsBuildBuild.pkg-config ]; - nativeBuildInputs = [ crossPkgs.pkgsBuildHost.pkg-config crossPkgs.buildPackages.zlib ]; - depsBuildTarget = [ crossPkgs.pkgsBuildTarget.pkg-config ]; - buildInputs = [ crossPkgs.zlib ]; - NIX_DEBUG = 7; - } '' - mkdir $out - ${crossPkgs.pkgsBuildBuild.pkg-config.targetPrefix}pkg-config --cflags zlib > "$out/for-build" - ${crossPkgs.pkgsBuildHost.pkg-config.targetPrefix}pkg-config --cflags zlib > "$out/for-host" - ! diff "$out/for-build" "$out/for-host" - ''; + file = + { + platformFun, + crossPkgs, + emulator, + }: + compareTest { + inherit emulator crossPkgs; + hostPkgs = pkgs; + exec = "/bin/file"; + args = [ + "${pkgs.file}/share/man/man1/file.1.gz" + "${pkgs.dejavu_fonts}/share/fonts/truetype/DejaVuMathTeXGyre.ttf" + ]; + pkgFun = pkgs: platformFun pkgs.file; + }; + + hello = + { + platformFun, + crossPkgs, + emulator, + }: + compareTest { + inherit emulator crossPkgs; + hostPkgs = pkgs; + exec = "/bin/hello"; + pkgFun = pkgs: pkgs.hello; + }; + + pkg-config = + { + platformFun, + crossPkgs, + emulator, + }: + crossPkgs.runCommand "test-pkg-config-${crossPkgs.stdenv.hostPlatform.config}" + { + depsBuildBuild = [ crossPkgs.pkgsBuildBuild.pkg-config ]; + nativeBuildInputs = [ + crossPkgs.pkgsBuildHost.pkg-config + crossPkgs.buildPackages.zlib + ]; + depsBuildTarget = [ crossPkgs.pkgsBuildTarget.pkg-config ]; + buildInputs = [ crossPkgs.zlib ]; + NIX_DEBUG = 7; + } + '' + mkdir $out + ${crossPkgs.pkgsBuildBuild.pkg-config.targetPrefix}pkg-config --cflags zlib > "$out/for-build" + ${crossPkgs.pkgsBuildHost.pkg-config.targetPrefix}pkg-config --cflags zlib > "$out/for-host" + ! diff "$out/for-build" "$out/for-host" + ''; }; # see https://github.com/NixOS/nixpkgs/issues/213453 # this is a good test of a lot of tricky glibc/libgcc corner cases - mbuffer = let - mbuffer = pkgs.pkgsCross.aarch64-multiplatform.mbuffer; - emulator = with lib.systems; (elaborate examples.aarch64-multiplatform).emulator pkgs; - in - pkgs.runCommand "test-mbuffer" {} '' + mbuffer = + let + mbuffer = pkgs.pkgsCross.aarch64-multiplatform.mbuffer; + emulator = with lib.systems; (elaborate examples.aarch64-multiplatform).emulator pkgs; + in + pkgs.runCommand "test-mbuffer" { } '' echo hello | ${emulator} ${mbuffer}/bin/mbuffer touch $out ''; @@ -127,45 +174,48 @@ let # so we can ask @ofborg to check it, yet should have good examples # of things that often break. So, no buckshot `mapTestOnCross` # calls here. - sanity = [ - mbuffer - #pkgs.pkgsCross.gnu64.bash # https://github.com/NixOS/nixpkgs/issues/243164 - pkgs.gcc_multi.cc - pkgs.pkgsMusl.stdenv - pkgs.pkgsLLVM.stdenv - pkgs.pkgsStatic.bash - #pkgs.pkgsCross.gnu64_simplekernel.bash # https://github.com/NixOS/nixpkgs/issues/264989 - pkgs.pkgsCross.arm-embedded.stdenv - pkgs.pkgsCross.sheevaplug.stdenv # for armv5tel - pkgs.pkgsCross.raspberryPi.stdenv # for armv6l - pkgs.pkgsCross.armv7l-hf-multiplatform.stdenv - pkgs.pkgsCross.m68k.stdenv - pkgs.pkgsCross.aarch64-multiplatform.pkgsBuildTarget.gcc - pkgs.pkgsCross.powernv.pkgsBuildTarget.gcc - pkgs.pkgsCross.s390.stdenv - pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv - pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv - pkgs.pkgsCross.mingwW64.stdenv - # Uses the expression that is used by the most cross-compil_ed_ GHCs - pkgs.pkgsCross.riscv64.haskell.compiler.native-bignum.ghc948 - - ] ++ lib.optionals (with pkgs.stdenv.buildPlatform; isx86_64 && isLinux) [ - # Musl-to-glibc cross on the same architecture tends to turn up - # lots of interesting corner cases. Only expected to work for - # x86_64-linux buildPlatform. - pkgs.pkgsMusl.pkgsCross.gnu64.hello - - # Two web browsers -- exercises almost the entire packageset - pkgs.pkgsCross.aarch64-multiplatform.qutebrowser-qt5 - pkgs.pkgsCross.aarch64-multiplatform.firefox - - # Uses pkgsCross.riscv64-embedded; see https://github.com/NixOS/nixpkgs/issues/267859 - pkgs.spike - ]; - -in { - gcc = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // {useLLVM = false;})) tests); - llvm = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // {useLLVM = true;})) tests); + sanity = + [ + mbuffer + #pkgs.pkgsCross.gnu64.bash # https://github.com/NixOS/nixpkgs/issues/243164 + pkgs.gcc_multi.cc + pkgs.pkgsMusl.stdenv + pkgs.pkgsLLVM.stdenv + pkgs.pkgsStatic.bash + #pkgs.pkgsCross.gnu64_simplekernel.bash # https://github.com/NixOS/nixpkgs/issues/264989 + pkgs.pkgsCross.arm-embedded.stdenv + pkgs.pkgsCross.sheevaplug.stdenv # for armv5tel + pkgs.pkgsCross.raspberryPi.stdenv # for armv6l + pkgs.pkgsCross.armv7l-hf-multiplatform.stdenv + pkgs.pkgsCross.m68k.stdenv + pkgs.pkgsCross.aarch64-multiplatform.pkgsBuildTarget.gcc + pkgs.pkgsCross.powernv.pkgsBuildTarget.gcc + pkgs.pkgsCross.s390.stdenv + pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv + pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv + pkgs.pkgsCross.mingwW64.stdenv + # Uses the expression that is used by the most cross-compil_ed_ GHCs + pkgs.pkgsCross.riscv64.haskell.compiler.native-bignum.ghc948 + + ] + ++ lib.optionals (with pkgs.stdenv.buildPlatform; isx86_64 && isLinux) [ + # Musl-to-glibc cross on the same architecture tends to turn up + # lots of interesting corner cases. Only expected to work for + # x86_64-linux buildPlatform. + pkgs.pkgsMusl.pkgsCross.gnu64.hello + + # Two web browsers -- exercises almost the entire packageset + pkgs.pkgsCross.aarch64-multiplatform.qutebrowser-qt5 + pkgs.pkgsCross.aarch64-multiplatform.firefox + + # Uses pkgsCross.riscv64-embedded; see https://github.com/NixOS/nixpkgs/issues/267859 + pkgs.spike + ]; + +in +{ + gcc = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = false; })) tests); + llvm = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = true; })) tests); inherit mbuffer sanity; } diff --git a/pkgs/test/cue/default.nix b/pkgs/test/cue/default.nix index 2cc8bf34bb043..c5adf662b0ab3 100644 --- a/pkgs/test/cue/default.nix +++ b/pkgs/test/cue/default.nix @@ -1,14 +1,18 @@ -{ writeCueValidator, runCommand, writeText, ... }: +{ + writeCueValidator, + runCommand, + writeText, + ... +}: let - validator = writeCueValidator - (writeText "schema.cue" '' - #Def1: { - field1: string - } - '') - { document = "#Def1"; }; -in runCommand "cue-validation" {} '' + validator = writeCueValidator (writeText "schema.cue" '' + #Def1: { + field1: string + } + '') { document = "#Def1"; }; +in +runCommand "cue-validation" { } '' cat > valid.json <"$out" - ''); + without-fallback = testers.testBuildFailure ( + runCommand "use-dotnet-from-env-without-fallback-test" { } '' + ${appWithoutFallback}/bin/Application >"$out" + '' + ); # NB assumes that without-fallback above to passes. use-dotnet-root-env = testers.testEqualContents { assertion = "buildDotnetModule uses DOTNET_ROOT from environment in wrapper"; expected = runtimeVersionFile; - actual = runCommand "use-dotnet-from-env-root-test" { env.DOTNET_ROOT = "${dotnet-runtime}/share/dotnet"; } '' - ${appWithoutFallback}/bin/Application >"$out" - ''; + actual = + runCommand "use-dotnet-from-env-root-test" { env.DOTNET_ROOT = "${dotnet-runtime}/share/dotnet"; } + '' + ${appWithoutFallback}/bin/Application >"$out" + ''; }; use-dotnet-path-env = testers.testEqualContents { assertion = "buildDotnetModule uses DOTNET_ROOT from dotnet in PATH in wrapper"; diff --git a/pkgs/test/dotnet/use-dotnet-from-env/nuget-deps.nix b/pkgs/test/dotnet/use-dotnet-from-env/nuget-deps.nix index f3a17967e25c8..dbfecc1b26058 100644 --- a/pkgs/test/dotnet/use-dotnet-from-env/nuget-deps.nix +++ b/pkgs/test/dotnet/use-dotnet-from-env/nuget-deps.nix @@ -1,5 +1,6 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ +{ fetchNuGet }: +[ ] diff --git a/pkgs/test/haskell/cabalSdist/default.nix b/pkgs/test/haskell/cabalSdist/default.nix index 4432e95ab56ec..d9dc2bada6e22 100644 --- a/pkgs/test/haskell/cabalSdist/default.nix +++ b/pkgs/test/haskell/cabalSdist/default.nix @@ -1,4 +1,9 @@ -{ lib, haskell, haskellPackages, runCommand }: +{ + lib, + haskell, + haskellPackages, + runCommand, +}: let src = lib.fileset.toSource { @@ -12,7 +17,7 @@ let # This prevents the source from depending on the formatting of the ./local/generated.nix file localRaw = haskell.lib.compose.overrideSrc { inherit src; - } (haskellPackages.callPackage ./local/generated.nix {}); + } (haskellPackages.callPackage ./local/generated.nix { }); in lib.recurseIntoAttrs rec { @@ -28,17 +33,23 @@ lib.recurseIntoAttrs rec { # it doesn't do anything. If this test fails, either the test setup was broken, # or Haskell packaging has changed the way `src` is treated in such a way that # either the test or the design of `buildFromCabalSdist` needs to be reconsidered. - assumptionLocalHasDirectReference = runCommand "localHasDirectReference" { - drvPath = builtins.unsafeDiscardOutputDependency localRaw.drvPath; - } '' - grep ${src} $drvPath >/dev/null - touch $out - ''; + assumptionLocalHasDirectReference = + runCommand "localHasDirectReference" + { + drvPath = builtins.unsafeDiscardOutputDependency localRaw.drvPath; + } + '' + grep ${src} $drvPath >/dev/null + touch $out + ''; - localHasNoDirectReference = runCommand "localHasNoDirectReference" { - drvPath = builtins.unsafeDiscardOutputDependency localFromCabalSdist.drvPath; - } '' - grep -v ${src} $drvPath >/dev/null - touch $out - ''; + localHasNoDirectReference = + runCommand "localHasNoDirectReference" + { + drvPath = builtins.unsafeDiscardOutputDependency localFromCabalSdist.drvPath; + } + '' + grep -v ${src} $drvPath >/dev/null + touch $out + ''; } diff --git a/pkgs/test/haskell/cabalSdist/local/generated.nix b/pkgs/test/haskell/cabalSdist/local/generated.nix index fae1e45f3d978..f0f52a03e0d03 100644 --- a/pkgs/test/haskell/cabalSdist/local/generated.nix +++ b/pkgs/test/haskell/cabalSdist/local/generated.nix @@ -1,5 +1,9 @@ # nix run ../../../../..#cabal2nix -- ./. -{ mkDerivation, base, lib }: +{ + mkDerivation, + base, + lib, +}: mkDerivation { pname = "local"; version = "0.1.0.0"; diff --git a/pkgs/test/haskell/documentationTarball/default.nix b/pkgs/test/haskell/documentationTarball/default.nix index 3375102810128..6c4d2179114f5 100644 --- a/pkgs/test/haskell/documentationTarball/default.nix +++ b/pkgs/test/haskell/documentationTarball/default.nix @@ -4,18 +4,21 @@ let drv = haskellPackages.vector; docs = pkgs.haskell.lib.compose.documentationTarball drv; -in pkgs.runCommand "test haskell.lib.compose.documentationTarball" { - meta = { - inherit (docs.meta) platforms; - }; -} '' - tar xvzf "${docs}/${drv.name}-docs.tar.gz" +in +pkgs.runCommand "test haskell.lib.compose.documentationTarball" + { + meta = { + inherit (docs.meta) platforms; + }; + } + '' + tar xvzf "${docs}/${drv.name}-docs.tar.gz" - # Check for Haddock html - find "${drv.name}-docs" | grep -q "Data-Vector.html" + # Check for Haddock html + find "${drv.name}-docs" | grep -q "Data-Vector.html" - # Check for source html - find "${drv.name}-docs" | grep -q "src/Data.Vector.html" + # Check for source html + find "${drv.name}-docs" | grep -q "src/Data.Vector.html" - touch "$out" -'' + touch "$out" + '' diff --git a/pkgs/test/haskell/incremental/default.nix b/pkgs/test/haskell/incremental/default.nix index c7bd43b11af6e..fa08c9315b927 100644 --- a/pkgs/test/haskell/incremental/default.nix +++ b/pkgs/test/haskell/incremental/default.nix @@ -3,7 +3,11 @@ # See: https://www.haskellforall.com/2022/12/nixpkgs-support-for-incremental-haskell.html # See: https://felixspringer.xyz/homepage/blog/incrementalHaskellBuildsWithNix -{ haskell, haskellPackages, lib }: +{ + haskell, + haskellPackages, + lib, +}: let inherit (haskell.lib.compose) overrideCabal; @@ -28,8 +32,8 @@ let previousIntermediates = temporary-full-build-with-incremental-output.intermediates; }) temporary; in - temporary-incremental-build.overrideAttrs (old: { - meta = { - maintainers = lib.teams.mercury.members; - }; - }) +temporary-incremental-build.overrideAttrs (old: { + meta = { + maintainers = lib.teams.mercury.members; + }; +}) diff --git a/pkgs/test/haskell/setBuildTarget/default.nix b/pkgs/test/haskell/setBuildTarget/default.nix index 39d5db698bcd0..012bce8541e67 100644 --- a/pkgs/test/haskell/setBuildTarget/default.nix +++ b/pkgs/test/haskell/setBuildTarget/default.nix @@ -3,49 +3,57 @@ let # This can be regenerated by running `cabal2nix .` in the current directory. pkgDef = - { mkDerivation, base, lib }: - mkDerivation { - pname = "haskell-setBuildTarget"; - version = "0.1.0.0"; - src = lib.fileset.toSource { - root = ./.; - fileset = lib.fileset.unions [ - ./haskell-setBuildTarget.cabal - ./Bar.hs - ./Foo.hs - ./Setup.hs - ]; - }; - isLibrary = false; - isExecutable = true; - executableHaskellDepends = [ base ]; - license = lib.licenses.bsd3; + { + mkDerivation, + base, + lib, + }: + mkDerivation { + pname = "haskell-setBuildTarget"; + version = "0.1.0.0"; + src = lib.fileset.toSource { + root = ./.; + fileset = lib.fileset.unions [ + ./haskell-setBuildTarget.cabal + ./Bar.hs + ./Foo.hs + ./Setup.hs + ]; }; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base ]; + license = lib.licenses.bsd3; + }; - drv = haskellPackages.callPackage pkgDef {}; + drv = haskellPackages.callPackage pkgDef { }; - test = target: excluded: - let only = pkgs.haskell.lib.compose.setBuildTarget target drv; - in '' - if [[ ! -f "${only}/bin/${target}" ]]; then - echo "${target} was not built" - exit 1 - fi + test = + target: excluded: + let + only = pkgs.haskell.lib.compose.setBuildTarget target drv; + in + '' + if [[ ! -f "${only}/bin/${target}" ]]; then + echo "${target} was not built" + exit 1 + fi - if [[ -f "${only}/bin/${excluded}" ]]; then - echo "${excluded} was built, when it should not have been" - exit 1 - fi - ''; + if [[ -f "${only}/bin/${excluded}" ]]; then + echo "${excluded} was built, when it should not have been" + exit 1 + fi + ''; in -pkgs.runCommand "test haskell.lib.compose.setBuildTarget" { - meta = { - inherit (drv.meta) platforms; - }; -} '' - ${test "foo" "bar"} - ${test "bar" "foo"} - touch "$out" -'' - +pkgs.runCommand "test haskell.lib.compose.setBuildTarget" + { + meta = { + inherit (drv.meta) platforms; + }; + } + '' + ${test "foo" "bar"} + ${test "bar" "foo"} + touch "$out" + '' diff --git a/pkgs/test/haskell/shellFor/default.nix b/pkgs/test/haskell/shellFor/default.nix index 82cd9e38e7315..3e0f3ed749347 100644 --- a/pkgs/test/haskell/shellFor/default.nix +++ b/pkgs/test/haskell/shellFor/default.nix @@ -1,14 +1,26 @@ -{ lib, writeText, haskellPackages, cabal-install }: +{ + lib, + writeText, + haskellPackages, + cabal-install, +}: (haskellPackages.shellFor { - packages = p: [ p.constraints p.cereal ]; + packages = p: [ + p.constraints + p.cereal + ]; # WARNING: When updating this, make sure that the libraries passed to # `extraDependencies` are not actually transitive dependencies of libraries in # `packages` above. We explicitly want to test that it is possible to specify # `extraDependencies` that are not in the closure of `packages`. extraDependencies = p: { libraryHaskellDepends = [ p.conduit ]; }; nativeBuildInputs = [ cabal-install ]; - phases = [ "unpackPhase" "buildPhase" "installPhase" ]; + phases = [ + "unpackPhase" + "buildPhase" + "installPhase" + ]; unpackPhase = '' sourceRoot=$(pwd)/scratch mkdir -p "$sourceRoot" @@ -42,16 +54,18 @@ installPhase = '' touch $out ''; -}).overrideAttrs (oldAttrs: { - meta = - let - oldMeta = oldAttrs.meta or {}; - oldMaintainers = oldMeta.maintainers or []; - additionalMaintainers = with lib.maintainers; [ cdepillabout ]; - allMaintainers = oldMaintainers ++ additionalMaintainers; - in - oldMeta // { - maintainers = allMaintainers; - inherit (cabal-install.meta) platforms; - }; -}) +}).overrideAttrs + (oldAttrs: { + meta = + let + oldMeta = oldAttrs.meta or { }; + oldMaintainers = oldMeta.maintainers or [ ]; + additionalMaintainers = with lib.maintainers; [ cdepillabout ]; + allMaintainers = oldMaintainers ++ additionalMaintainers; + in + oldMeta + // { + maintainers = allMaintainers; + inherit (cabal-install.meta) platforms; + }; + }) diff --git a/pkgs/test/haskell/upstreamStackHpackVersion/default.nix b/pkgs/test/haskell/upstreamStackHpackVersion/default.nix index f3ddbcd3e0167..788a3e2db5ef8 100644 --- a/pkgs/test/haskell/upstreamStackHpackVersion/default.nix +++ b/pkgs/test/haskell/upstreamStackHpackVersion/default.nix @@ -1,4 +1,3 @@ - # This derivation confirms that the version of hpack used by stack in Nixpkgs # is the exact same version as the upstream stack release. # @@ -11,21 +10,24 @@ # This test is written as a fixed-output derivation, because we need to access # accesses the internet to download the upstream stack release. -{ cacert, curl, lib, stack, stdenv }: +{ + cacert, + curl, + lib, + stack, + stdenv, +}: let # Find the hpack derivation that is a dependency of stack. Throw exception # if hpack cannot be found. hpack = - lib.findFirst - (v: v.pname or "" == "hpack") - (throw "could not find stack's hpack dependency") + lib.findFirst (v: v.pname or "" == "hpack") (throw "could not find stack's hpack dependency") stack.passthru.getCabalDeps.executableHaskellDepends; # This is a statically linked version of stack, so it should be usable within # the Nixpkgs builder (at least on x86_64-linux). - stackDownloadUrl = - "https://github.com/commercialhaskell/stack/releases/download/v${stack.version}/stack-${stack.version}-linux-x86_64.tar.gz"; + stackDownloadUrl = "https://github.com/commercialhaskell/stack/releases/download/v${stack.version}/stack-${stack.version}-linux-x86_64.tar.gz"; # This test code has been explicitly pulled out of the derivation below so # that it can be hashed and added to the `name` of the derivation. This is @@ -127,18 +129,23 @@ stdenv.mkDerivation { outputHashMode = "flat"; outputHashAlgo = "sha256"; - nativeBuildInputs = [ curl stack ]; + nativeBuildInputs = [ + curl + stack + ]; impureEnvVars = lib.fetchers.proxyImpureEnvVars; - buildCommand = '' - # Make sure curl can access HTTPS sites, like GitHub. - # - # Note that we absolutely don't want the Nix store path of the cacert - # derivation in the testScript, because we don't want to rebuild this - # derivation when only the cacert derivation changes. - export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" - '' + testScript; + buildCommand = + '' + # Make sure curl can access HTTPS sites, like GitHub. + # + # Note that we absolutely don't want the Nix store path of the cacert + # derivation in the testScript, because we don't want to rebuild this + # derivation when only the cacert derivation changes. + export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" + '' + + testScript; meta = with lib; { description = "Test that the stack in Nixpkgs uses the same version of Hpack as the upstream stack release"; diff --git a/pkgs/test/hooks/default.nix b/pkgs/test/hooks/default.nix index aabf939b68657..92604ce73fabc 100644 --- a/pkgs/test/hooks/default.nix +++ b/pkgs/test/hooks/default.nix @@ -1,7 +1,11 @@ # To run these tests: # nix-build -A tests.hooks -{ stdenv, tests, lib }: +{ + stdenv, + tests, + lib, +}: { default-stdenv-hooks = lib.recurseIntoAttrs tests.stdenv.hooks; diff --git a/pkgs/test/kernel.nix b/pkgs/test/kernel.nix index 210d69f7ffae3..8c4aecf462d3f 100644 --- a/pkgs/test/kernel.nix +++ b/pkgs/test/kernel.nix @@ -6,13 +6,14 @@ let lts_kernel = pkgs.linuxPackages.kernel; # to see the result once the module transformed the lose structured config - getConfig = structuredConfig: + getConfig = + structuredConfig: (lts_kernel.override { structuredExtraConfig = structuredConfig; }).configfile.structuredConfig; mandatoryVsOptionalConfig = lib.mkMerge [ - { NIXOS_FAKE_USB_DEBUG = lib.kernel.yes;} + { NIXOS_FAKE_USB_DEBUG = lib.kernel.yes; } { NIXOS_FAKE_USB_DEBUG = lib.kernel.option lib.kernel.yes; } ]; @@ -22,19 +23,23 @@ let ]; mkDefaultWorksConfig = lib.mkMerge [ - { "NIXOS_TEST_BOOLEAN" = lib.kernel.yes; } - { "NIXOS_TEST_BOOLEAN" = lib.mkDefault lib.kernel.no; } + { "NIXOS_TEST_BOOLEAN" = lib.kernel.yes; } + { "NIXOS_TEST_BOOLEAN" = lib.mkDefault lib.kernel.no; } ]; allOptionalRemainOptional = lib.mkMerge [ - { NIXOS_FAKE_USB_DEBUG = lib.kernel.option lib.kernel.yes;} - { NIXOS_FAKE_USB_DEBUG = lib.kernel.option lib.kernel.yes;} + { NIXOS_FAKE_USB_DEBUG = lib.kernel.option lib.kernel.yes; } + { NIXOS_FAKE_USB_DEBUG = lib.kernel.option lib.kernel.yes; } ]; failures = lib.runTests { testEasy = { - expr = (getConfig { NIXOS_FAKE_USB_DEBUG = lib.kernel.yes;}).NIXOS_FAKE_USB_DEBUG; - expected = { tristate = "y"; optional = false; freeform = null; }; + expr = (getConfig { NIXOS_FAKE_USB_DEBUG = lib.kernel.yes; }).NIXOS_FAKE_USB_DEBUG; + expected = { + tristate = "y"; + optional = false; + freeform = null; + }; }; # mandatory flag should win over optional @@ -56,15 +61,18 @@ let # check that freeform options are unique # Should trigger # > The option `settings.NIXOS_FAKE_MMC_BLOCK_MINORS.freeform' has conflicting definitions, in `' and `' - testTreeform = let - res = builtins.tryEval ( (getConfig freeformConfig).NIXOS_FAKE_MMC_BLOCK_MINORS.freeform); - in { - expr = res.success; - expected = false; - }; + testTreeform = + let + res = builtins.tryEval ((getConfig freeformConfig).NIXOS_FAKE_MMC_BLOCK_MINORS.freeform); + in + { + expr = res.success; + expected = false; + }; }; in -lib.optional (failures != []) - (throw "The following kernel unit tests failed: ${lib.generators.toPretty {} failures}") +lib.optional (failures != [ ]) ( + throw "The following kernel unit tests failed: ${lib.generators.toPretty { } failures}" +) diff --git a/pkgs/test/ld-library-path/default.nix b/pkgs/test/ld-library-path/default.nix index 74c52cef25328..2e25b3051afe9 100644 --- a/pkgs/test/ld-library-path/default.nix +++ b/pkgs/test/ld-library-path/default.nix @@ -70,7 +70,8 @@ let ''; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "test-LD_LIBRARY_PATH"; nativeBuildInputs = [ testProgram ]; diff --git a/pkgs/test/make-binary-wrapper/cross.nix b/pkgs/test/make-binary-wrapper/cross.nix index 64912364b863b..b2caae738cd8f 100644 --- a/pkgs/test/make-binary-wrapper/cross.nix +++ b/pkgs/test/make-binary-wrapper/cross.nix @@ -1,28 +1,30 @@ -{ stdenv -, runCommand -, makeBinaryWrapper -, binutils -, lib -, expectedArch ? stdenv.hostPlatform.parsed.cpu.name +{ + stdenv, + runCommand, + makeBinaryWrapper, + binutils, + lib, + expectedArch ? stdenv.hostPlatform.parsed.cpu.name, }: - -runCommand "make-binary-wrapper-test-cross" { - nativeBuildInputs = [ - makeBinaryWrapper - binutils - ]; - # For x86_64-linux the machine field is - # Advanced Micro Devices X86-64 - # and uses a dash instead of a underscore unlike x86_64-linux in hostPlatform.parsed.cpu.name - expectedArch = lib.replaceStrings ["_"] ["-"] expectedArch; -} '' - touch prog - chmod +x prog - makeWrapper prog $out - read -r _ arch < <($READELF --file-header $out | grep Machine:) - if [[ ''${arch,,} != *"''${expectedArch,,}"* ]]; then - echo "expected $expectedArch, got $arch" - exit 1 - fi -'' +runCommand "make-binary-wrapper-test-cross" + { + nativeBuildInputs = [ + makeBinaryWrapper + binutils + ]; + # For x86_64-linux the machine field is + # Advanced Micro Devices X86-64 + # and uses a dash instead of a underscore unlike x86_64-linux in hostPlatform.parsed.cpu.name + expectedArch = lib.replaceStrings [ "_" ] [ "-" ] expectedArch; + } + '' + touch prog + chmod +x prog + makeWrapper prog $out + read -r _ arch < <($READELF --file-header $out | grep Machine:) + if [[ ''${arch,,} != *"''${expectedArch,,}"* ]]; then + echo "expected $expectedArch, got $arch" + exit 1 + fi + '' diff --git a/pkgs/test/make-binary-wrapper/default.nix b/pkgs/test/make-binary-wrapper/default.nix index 29e4272fd672c..036b70f7594e7 100644 --- a/pkgs/test/make-binary-wrapper/default.nix +++ b/pkgs/test/make-binary-wrapper/default.nix @@ -1,70 +1,83 @@ -{ lib -, stdenv -, pkgsCross -, makeBinaryWrapper -, writeText -, runCommand -, runCommandCC +{ + lib, + stdenv, + pkgsCross, + makeBinaryWrapper, + writeText, + runCommand, + runCommandCC, }: let - env = { nativeBuildInputs = [ makeBinaryWrapper ]; }; + env = { + nativeBuildInputs = [ makeBinaryWrapper ]; + }; envCheck = runCommandCC "envcheck" env '' cc -Wall -Werror -Wpedantic -o $out ${./envcheck.c} ''; - makeGoldenTest = testname: runCommand "make-binary-wrapper-test-${testname}" env '' - mkdir -p tmp/foo # for the chdir test + makeGoldenTest = + testname: + runCommand "make-binary-wrapper-test-${testname}" env '' + mkdir -p tmp/foo # for the chdir test - source=${lib.fileset.toSource { - root = ./.; - fileset = lib.fileset.unions [ - (./. + "/${testname}.cmdline") - (./. + "/${testname}.c") - (lib.fileset.maybeMissing (./. + "/${testname}.env")) - ]; - }} + source=${ + lib.fileset.toSource { + root = ./.; + fileset = lib.fileset.unions [ + (./. + "/${testname}.cmdline") + (./. + "/${testname}.c") + (lib.fileset.maybeMissing (./. + "/${testname}.env")) + ]; + } + } - params=$(<"$source/${testname}.cmdline") - eval "makeCWrapper /send/me/flags $params" > wrapper.c + params=$(<"$source/${testname}.cmdline") + eval "makeCWrapper /send/me/flags $params" > wrapper.c - diff wrapper.c "$source/${testname}.c" + diff wrapper.c "$source/${testname}.c" - if [ -f "$source/${testname}.env" ]; then - eval "makeWrapper ${envCheck} wrapped $params" - env -i ./wrapped > env.txt - sed "s#SUBST_ARGV0#${envCheck}#;s#SUBST_CWD#$PWD#" \ - "$source/${testname}.env" > golden-env.txt - if ! diff env.txt golden-env.txt; then - echo "env/argv should be:" - cat golden-env.txt - echo "env/argv output is:" - cat env.txt - exit 1 + if [ -f "$source/${testname}.env" ]; then + eval "makeWrapper ${envCheck} wrapped $params" + env -i ./wrapped > env.txt + sed "s#SUBST_ARGV0#${envCheck}#;s#SUBST_CWD#$PWD#" \ + "$source/${testname}.env" > golden-env.txt + if ! diff env.txt golden-env.txt; then + echo "env/argv should be:" + cat golden-env.txt + echo "env/argv output is:" + cat env.txt + exit 1 + fi + else + # without a golden env, we expect the wrapper compilation to fail + ! eval "makeWrapper ${envCheck} wrapped $params" &> error.txt fi - else - # without a golden env, we expect the wrapper compilation to fail - ! eval "makeWrapper ${envCheck} wrapped $params" &> error.txt - fi - cp wrapper.c $out - ''; - tests = lib.genAttrs [ - "add-flags" - "argv0" - "basic" - "chdir" - "combination" - "env" - "inherit-argv0" - "invalid-env" - "overlength-strings" - "prefix" - "suffix" - ] makeGoldenTest // lib.optionalAttrs (! stdenv.hostPlatform.isDarwin) { - cross = pkgsCross.${if stdenv.buildPlatform.isAarch64 then "gnu64" else "aarch64-multiplatform"}.callPackage ./cross.nix { }; - }; + cp wrapper.c $out + ''; + tests = + lib.genAttrs [ + "add-flags" + "argv0" + "basic" + "chdir" + "combination" + "env" + "inherit-argv0" + "invalid-env" + "overlength-strings" + "prefix" + "suffix" + ] makeGoldenTest + // lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) { + cross = + pkgsCross.${if stdenv.buildPlatform.isAarch64 then "gnu64" else "aarch64-multiplatform"}.callPackage + ./cross.nix + { }; + }; in writeText "make-binary-wrapper-tests" '' ${lib.concatStringsSep "\n" (builtins.attrValues tests)} -'' // tests +'' +// tests diff --git a/pkgs/test/make-hardcode-gsettings-patch/default.nix b/pkgs/test/make-hardcode-gsettings-patch/default.nix index e27a6f1792085..66e1c5eeb666a 100644 --- a/pkgs/test/make-hardcode-gsettings-patch/default.nix +++ b/pkgs/test/make-hardcode-gsettings-patch/default.nix @@ -1,8 +1,9 @@ -{ runCommandLocal -, lib -, git -, clang-tools -, makeHardcodeGsettingsPatch +{ + runCommandLocal, + lib, + git, + clang-tools, + makeHardcodeGsettingsPatch, }: let @@ -21,8 +22,7 @@ let inherit patches; }); in - runCommandLocal - "makeHardcodeGsettingsPatch-tests-${name}" + runCommandLocal "makeHardcodeGsettingsPatch-tests-${name}" { nativeBuildInputs = [ diff --git a/pkgs/test/make-wrapper/default.nix b/pkgs/test/make-wrapper/default.nix index 5cc7cee5a864b..db54a01946a10 100644 --- a/pkgs/test/make-wrapper/default.nix +++ b/pkgs/test/make-wrapper/default.nix @@ -1,11 +1,12 @@ -{ lib -, writeText -, writeCBin -, writeShellScript -, makeWrapper -, runCommand -, which -, ... +{ + lib, + writeText, + writeCBin, + writeShellScript, + makeWrapper, + runCommand, + which, + ... }: let @@ -30,13 +31,20 @@ let echo "$@" ''; - mkWrapperBinary = { name, args, wrapped ? wrappedBinaryVar }: runCommand name + mkWrapperBinary = { - nativeBuildInputs = [ makeWrapper ]; - } '' - mkdir -p $out/bin - makeWrapper "${wrapped}" "$out/bin/${name}" ${lib.escapeShellArgs args} - ''; + name, + args, + wrapped ? wrappedBinaryVar, + }: + runCommand name + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper "${wrapped}" "$out/bin/${name}" ${lib.escapeShellArgs args} + ''; mkTest = cmd: toExpect: '' output="$(${cmd})" @@ -53,27 +61,154 @@ let ''; in runCommand "make-wrapper-test" -{ - nativeBuildInputs = [ - which - (mkWrapperBinary { name = "test-argv0"; args = [ "--argv0" "foo" ]; wrapped = "${wrappedArgv0}/bin/wrapped-argv0"; }) - (mkWrapperBinary { name = "test-set"; args = [ "--set" "VAR" "abc" ]; }) - (mkWrapperBinary { name = "test-set-default"; args = [ "--set-default" "VAR" "abc" ]; }) - (mkWrapperBinary { name = "test-unset"; args = [ "--unset" "VAR" ]; }) - (mkWrapperBinary { name = "test-run"; args = [ "--run" "echo bar" ]; }) - (mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; }) - (mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" "--append-flags" "xyz" ]; wrapped = wrappedBinaryArgs; }) - (mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; }) - (mkWrapperBinary { name = "test-prefix-noglob"; args = [ "--prefix" "VAR" ":" "./*" ]; }) - (mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; }) - (mkWrapperBinary { name = "test-prefix-and-suffix"; args = [ "--prefix" "VAR" ":" "foo" "--suffix" "VAR" ":" "bar" ]; }) - (mkWrapperBinary { name = "test-prefix-multi"; args = [ "--prefix" "VAR" ":" "abc:foo:foo" ]; }) - (mkWrapperBinary { name = "test-suffix-each"; args = [ "--suffix-each" "VAR" ":" "foo bar:def" ]; }) - (mkWrapperBinary { name = "test-prefix-each"; args = [ "--prefix-each" "VAR" ":" "foo bar:def" ]; }) - (mkWrapperBinary { name = "test-suffix-contents"; args = [ "--suffix-contents" "VAR" ":" "${foofile} ${barfile}" ]; }) - (mkWrapperBinary { name = "test-prefix-contents"; args = [ "--prefix-contents" "VAR" ":" "${foofile} ${barfile}" ]; }) - ]; -} + { + nativeBuildInputs = [ + which + (mkWrapperBinary { + name = "test-argv0"; + args = [ + "--argv0" + "foo" + ]; + wrapped = "${wrappedArgv0}/bin/wrapped-argv0"; + }) + (mkWrapperBinary { + name = "test-set"; + args = [ + "--set" + "VAR" + "abc" + ]; + }) + (mkWrapperBinary { + name = "test-set-default"; + args = [ + "--set-default" + "VAR" + "abc" + ]; + }) + (mkWrapperBinary { + name = "test-unset"; + args = [ + "--unset" + "VAR" + ]; + }) + (mkWrapperBinary { + name = "test-run"; + args = [ + "--run" + "echo bar" + ]; + }) + (mkWrapperBinary { + name = "test-run-and-set"; + args = [ + "--run" + "export VAR=foo" + "--set" + "VAR" + "bar" + ]; + }) + (mkWrapperBinary { + name = "test-args"; + args = [ + "--add-flags" + "abc" + "--append-flags" + "xyz" + ]; + wrapped = wrappedBinaryArgs; + }) + (mkWrapperBinary { + name = "test-prefix"; + args = [ + "--prefix" + "VAR" + ":" + "abc" + ]; + }) + (mkWrapperBinary { + name = "test-prefix-noglob"; + args = [ + "--prefix" + "VAR" + ":" + "./*" + ]; + }) + (mkWrapperBinary { + name = "test-suffix"; + args = [ + "--suffix" + "VAR" + ":" + "abc" + ]; + }) + (mkWrapperBinary { + name = "test-prefix-and-suffix"; + args = [ + "--prefix" + "VAR" + ":" + "foo" + "--suffix" + "VAR" + ":" + "bar" + ]; + }) + (mkWrapperBinary { + name = "test-prefix-multi"; + args = [ + "--prefix" + "VAR" + ":" + "abc:foo:foo" + ]; + }) + (mkWrapperBinary { + name = "test-suffix-each"; + args = [ + "--suffix-each" + "VAR" + ":" + "foo bar:def" + ]; + }) + (mkWrapperBinary { + name = "test-prefix-each"; + args = [ + "--prefix-each" + "VAR" + ":" + "foo bar:def" + ]; + }) + (mkWrapperBinary { + name = "test-suffix-contents"; + args = [ + "--suffix-contents" + "VAR" + ":" + "${foofile} ${barfile}" + ]; + }) + (mkWrapperBinary { + name = "test-prefix-contents"; + args = [ + "--prefix-contents" + "VAR" + ":" + "${foofile} ${barfile}" + ]; + }) + ]; + } ( # --argv0 works mkTest "test-argv0" "argv0=foo" @@ -116,7 +251,6 @@ runCommand "make-wrapper-test" # --prefix doesn't expand globs + mkTest "VAR=f?oo test-prefix-noglob" "VAR=./*:f?oo" - # --suffix works + mkTest "VAR=foo test-suffix" "VAR=foo:abc" # sets variable if not set yet diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix index fc9a726570ff6..dc8e0b3ead315 100644 --- a/pkgs/test/nixos-functions/default.nix +++ b/pkgs/test/nixos-functions/default.nix @@ -1,15 +1,18 @@ /* + This file is a test that makes sure that the `pkgs.nixos` and + `pkgs.testers.nixosTest` functions work. It's far from a perfect test suite, + but better than not checking them at all on hydra. -This file is a test that makes sure that the `pkgs.nixos` and -`pkgs.testers.nixosTest` functions work. It's far from a perfect test suite, -but better than not checking them at all on hydra. + To run this test: -To run this test: - - nixpkgs$ nix-build -A tests.nixos-functions - - */ -{ pkgs, lib, stdenv, ... }: + nixpkgs$ nix-build -A tests.nixos-functions +*/ +{ + pkgs, + lib, + stdenv, + ... +}: let dummyVersioning = { @@ -17,13 +20,15 @@ let versionSuffix = "test"; label = "test"; }; -in pkgs.recurseIntoAttrs { +in +pkgs.recurseIntoAttrs { - nixos-test = (pkgs.nixos { - system.nixos = dummyVersioning; - boot.loader.grub.enable = false; - fileSystems."/".device = "/dev/null"; - system.stateVersion = lib.trivial.release; - }).toplevel; + nixos-test = + (pkgs.nixos { + system.nixos = dummyVersioning; + boot.loader.grub.enable = false; + fileSystems."/".device = "/dev/null"; + system.stateVersion = lib.trivial.release; + }).toplevel; } diff --git a/pkgs/test/php/default.nix b/pkgs/test/php/default.nix index 3c6c8f61b6dba..cef46d3e3fa6b 100644 --- a/pkgs/test/php/default.nix +++ b/pkgs/test/php/default.nix @@ -1,30 +1,33 @@ -{ lib -, php -, runCommand +{ + lib, + php, + runCommand, }: let - runTest = name: body: runCommand name { } '' - testFailed= - checking() { - echo -n "Checking $1... " > /dev/stderr - } - ok() { - echo ok > /dev/stderr - } - nok() { - echo fail > /dev/stderr - testFailed=1 - } - - ${body} - - if test -n "$testFailed"; then - exit 1 - fi - - touch $out - ''; + runTest = + name: body: + runCommand name { } '' + testFailed= + checking() { + echo -n "Checking $1... " > /dev/stderr + } + ok() { + echo ok > /dev/stderr + } + nok() { + echo fail > /dev/stderr + testFailed=1 + } + + ${body} + + if test -n "$testFailed"; then + exit 1 + fi + + touch $out + ''; check = cond: if cond then "ok" else "nok"; in @@ -42,12 +45,13 @@ in overrideAttrs-preserves-enabled-extensions = let - customPhp = - (php.withExtensions ({ all, ... }: [ all.imagick ])).overrideAttrs (attrs: { - postInstall = attrs.postInstall or "" + '' + customPhp = (php.withExtensions ({ all, ... }: [ all.imagick ])).overrideAttrs (attrs: { + postInstall = + attrs.postInstall or "" + + '' touch "$out/oApee-was-here" ''; - }); + }); in runTest "php-test-overrideAttrs-preserves-enabled-extensions" '' php="${customPhp}" @@ -66,20 +70,29 @@ in unwrapped-overrideAttrs-stacks = let - customPhp = - lib.pipe php.unwrapped [ - (pkg: pkg.overrideAttrs (attrs: { - postInstall = attrs.postInstall or "" + '' - touch "$out/oAs-first" - ''; - })) - - (pkg: pkg.overrideAttrs (attrs: { - postInstall = attrs.postInstall or "" + '' - touch "$out/oAs-second" - ''; - })) - ]; + customPhp = lib.pipe php.unwrapped [ + ( + pkg: + pkg.overrideAttrs (attrs: { + postInstall = + attrs.postInstall or "" + + '' + touch "$out/oAs-first" + ''; + }) + ) + + ( + pkg: + pkg.overrideAttrs (attrs: { + postInstall = + attrs.postInstall or "" + + '' + touch "$out/oAs-second" + ''; + }) + ) + ]; in runTest "php-test-unwrapped-overrideAttrs-stacks" '' checking "if first override remained" @@ -91,20 +104,29 @@ in wrapped-overrideAttrs-stacks = let - customPhp = - lib.pipe php [ - (pkg: pkg.overrideAttrs (attrs: { - postInstall = attrs.postInstall or "" + '' - touch "$out/oAs-first" - ''; - })) - - (pkg: pkg.overrideAttrs (attrs: { - postInstall = attrs.postInstall or "" + '' - touch "$out/oAs-second" - ''; - })) - ]; + customPhp = lib.pipe php [ + ( + pkg: + pkg.overrideAttrs (attrs: { + postInstall = + attrs.postInstall or "" + + '' + touch "$out/oAs-first" + ''; + }) + ) + + ( + pkg: + pkg.overrideAttrs (attrs: { + postInstall = + attrs.postInstall or "" + + '' + touch "$out/oAs-second" + ''; + }) + ) + ]; in runTest "php-test-wrapped-overrideAttrs-stacks" '' checking "if first override remained" diff --git a/pkgs/test/stdenv-inputs/default.nix b/pkgs/test/stdenv-inputs/default.nix index deb97b8224237..e52dd0a68c541 100644 --- a/pkgs/test/stdenv-inputs/default.nix +++ b/pkgs/test/stdenv-inputs/default.nix @@ -20,7 +20,10 @@ let bar = stdenv.mkDerivation { name = "bar-test"; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; dontUnpack = true; @@ -41,7 +44,10 @@ stdenv.mkDerivation { name = "stdenv-inputs-test"; phases = [ "buildPhase" ]; - buildInputs = [ foo bar ]; + buildInputs = [ + foo + bar + ]; buildPhase = '' env diff --git a/pkgs/test/stdenv/hooks.nix b/pkgs/test/stdenv/hooks.nix index eb1b3f61bda62..6a419ab51e5d0 100644 --- a/pkgs/test/stdenv/hooks.nix +++ b/pkgs/test/stdenv/hooks.nix @@ -1,4 +1,8 @@ -{ stdenv, pkgs, lib }: +{ + stdenv, + pkgs, + lib, +}: # ordering should match defaultNativeBuildInputs @@ -23,7 +27,10 @@ }; make-symlinks-relative = stdenv.mkDerivation { name = "test-make-symlinks-relative"; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; buildCommand = '' mkdir -p $out/{bar,baz} mkdir -p $man/share/{x,y} diff --git a/pkgs/test/stdenv/patch-shebangs.nix b/pkgs/test/stdenv/patch-shebangs.nix index 51edf128f7d55..78b177593e86d 100644 --- a/pkgs/test/stdenv/patch-shebangs.nix +++ b/pkgs/test/stdenv/patch-shebangs.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, pkgs }: +{ + lib, + stdenv, + pkgs, +}: # since the tests are using a early stdenv, the stdenv will have dontPatchShebangs=1, so it has to be unset # https://github.com/NixOS/nixpkgs/blob/768a982bfc9d29a6bd3beb963ed4b054451ce3d0/pkgs/stdenv/linux/default.nix#L148-L153 @@ -105,7 +109,15 @@ let in stdenv.mkDerivation { name = "test-patch-shebangs"; - passthru = { inherit (tests) bad-shebang ignores-nix-store updates-nix-store split-string without-trailing-newline; }; + passthru = { + inherit (tests) + bad-shebang + ignores-nix-store + updates-nix-store + split-string + without-trailing-newline + ; + }; buildCommand = '' validate() { local name=$1 @@ -129,9 +141,11 @@ stdenv.mkDerivation { echo "checking whether patchShebangs works properly... ">&2 fail= - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (_: test: '' - validate "${test.name}" "${test}" ${lib.escapeShellArg test.assertion} || fail=1 - '') tests)} + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList (_: test: '' + validate "${test.name}" "${test}" ${lib.escapeShellArg test.assertion} || fail=1 + '') tests + )} if [ "$fail" ]; then echo "failed" diff --git a/pkgs/test/substitute/default.nix b/pkgs/test/substitute/default.nix index 3ff346b146584..b3e207280a45e 100644 --- a/pkgs/test/substitute/default.nix +++ b/pkgs/test/substitute/default.nix @@ -1,16 +1,23 @@ -{ substitute, testers, runCommand }: +{ + substitute, + testers, + runCommand, +}: let # Ofborg doesn't allow any traces on stderr, # so mock `lib` to not trace warnings, # because substitute gives a deprecation warning substituteSilent = substitute.override (prevArgs: { - lib = prevArgs.lib.extend (finalLib: prevLib: { - trivial = prevLib.trivial // { - warn = msg: value: value; - }; - }); + lib = prevArgs.lib.extend ( + finalLib: prevLib: { + trivial = prevLib.trivial // { + warn = msg: value: value; + }; + } + ); }); -in { +in +{ substitutions = testers.testEqualContents { assertion = "substitutions-spaces"; @@ -36,7 +43,9 @@ in { Hello world! ''; replacements = [ - "--replace-fail" "world" "paul" + "--replace-fail" + "world" + "paul" ]; }; expected = builtins.toFile "expected" '' @@ -92,5 +101,4 @@ in { ''; }; - } diff --git a/pkgs/test/systemd/nixos/default.nix b/pkgs/test/systemd/nixos/default.nix index 37b42ea7ae273..8547c19478f4e 100644 --- a/pkgs/test/systemd/nixos/default.nix +++ b/pkgs/test/systemd/nixos/default.nix @@ -1,11 +1,17 @@ -{ pkgs, lib, stdenv, ... }: +{ + pkgs, + lib, + stdenv, + ... +}: let failures = lib.runTests { # Merging two non-list definitions must still result in an error # about a conflicting definition. test-unitOption-merging-non-lists-conflict = - let nixos = pkgs.nixos { + let + nixos = pkgs.nixos { system.stateVersion = lib.trivial.release; systemd.services.systemd-test-nixos = { serviceConfig = lib.mkMerge [ @@ -14,29 +20,38 @@ let ]; }; }; - in { - expr = (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory)).success; - expected = false; - }; + in + { + expr = + (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory)) + .success; + expected = false; + }; # Merging must lift non-list definitions to a list # if at least one of them is a list. test-unitOption-merging-list-non-list-append = - let nixos = pkgs.nixos { + let + nixos = pkgs.nixos { system.stateVersion = lib.trivial.release; systemd.services.systemd-test-nixos = { serviceConfig = lib.mkMerge [ { StateDirectory = "foo"; } - { StateDirectory = ["bar"]; } + { StateDirectory = [ "bar" ]; } ]; }; }; - in { - expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory; - expected = [ "foo" "bar" ]; - }; + in + { + expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory; + expected = [ + "foo" + "bar" + ]; + }; }; in -lib.optional (failures != []) - (throw "The following systemd unit tests failed: ${lib.generators.toPretty {} failures}") +lib.optional (failures != [ ]) ( + throw "The following systemd unit tests failed: ${lib.generators.toPretty { } failures}" +) diff --git a/pkgs/test/texlive/default.nix b/pkgs/test/texlive/default.nix index 4efd858594fe2..ced751e176239 100644 --- a/pkgs/test/texlive/default.nix +++ b/pkgs/test/texlive/default.nix @@ -1,21 +1,45 @@ -{ lib, stdenv, buildEnv, runCommand, fetchurl, file, texlive, writeShellScript, writeText, texliveInfraOnly, texliveConTeXt, texliveSmall, texliveMedium, texliveFull }: +{ + lib, + stdenv, + buildEnv, + runCommand, + fetchurl, + file, + texlive, + writeShellScript, + writeText, + texliveInfraOnly, + texliveConTeXt, + texliveSmall, + texliveMedium, + texliveFull, +}: rec { mkTeXTest = lib.makeOverridable ( - { name - , format - , text - , texLive ? texliveSmall - , options ? "-interaction=errorstopmode" - , preTest ? "" - , postTest ? "" - , ... - }@attrs: runCommand "texlive-test-tex-${name}" - ({ - nativeBuildInputs = [ texLive ] ++ attrs.nativeBuildInputs or [ ]; - text = builtins.toFile "${name}.tex" text; - } // builtins.removeAttrs attrs [ "nativeBuildInputs" "text" "texLive" ]) + { + name, + format, + text, + texLive ? texliveSmall, + options ? "-interaction=errorstopmode", + preTest ? "", + postTest ? "", + ... + }@attrs: + runCommand "texlive-test-tex-${name}" + ( + { + nativeBuildInputs = [ texLive ] ++ attrs.nativeBuildInputs or [ ]; + text = builtins.toFile "${name}.tex" text; + } + // builtins.removeAttrs attrs [ + "nativeBuildInputs" + "text" + "texLive" + ] + ) '' export HOME="$(mktemp -d)" mkdir "$out" @@ -27,14 +51,16 @@ rec { '' ); - tlpdbNix = runCommand "texlive-test-tlpdb-nix" { - nixpkgsTlpdbNix = ../../tools/typesetting/tex/texlive/tlpdb.nix; - tlpdbNix = texlive.tlpdb.nix; - } - '' - mkdir -p "$out" - diff -u "''${nixpkgsTlpdbNix}" "''${tlpdbNix}" | tee "$out/tlpdb.nix.patch" - ''; + tlpdbNix = + runCommand "texlive-test-tlpdb-nix" + { + nixpkgsTlpdbNix = ../../tools/typesetting/tex/texlive/tlpdb.nix; + tlpdbNix = texlive.tlpdb.nix; + } + '' + mkdir -p "$out" + diff -u "''${nixpkgsTlpdbNix}" "''${tlpdbNix}" | tee "$out/tlpdb.nix.patch" + ''; # test two completely different font discovery mechanisms, both of which were once broken: # - lualatex uses its own luaotfload script (#220228) @@ -59,23 +85,26 @@ rec { }; }; - chktex = runCommand "texlive-test-chktex" { - nativeBuildInputs = [ - (texlive.withPackages (ps: [ ps.chktex ])) - ]; - input = builtins.toFile "chktex-sample.tex" '' - \documentclass{article} - \begin{document} - \LaTeX is great - \end{document} - ''; - } '' - # chktex is supposed to return 2 when it (successfully) finds warnings, but no errors, - # see http://git.savannah.nongnu.org/cgit/chktex.git/commit/?id=ec0fb9b58f02a62ff0bfec98b997208e9d7a5998 - (set +e; chktex -v -nall -w1 "$input" 2>&1; [ $? = 2 ] || exit 1; set -e) | tee "$out" - # also check that the output does indeed contain "One warning printed" - grep "One warning printed" "$out" - ''; + chktex = + runCommand "texlive-test-chktex" + { + nativeBuildInputs = [ + (texlive.withPackages (ps: [ ps.chktex ])) + ]; + input = builtins.toFile "chktex-sample.tex" '' + \documentclass{article} + \begin{document} + \LaTeX is great + \end{document} + ''; + } + '' + # chktex is supposed to return 2 when it (successfully) finds warnings, but no errors, + # see http://git.savannah.nongnu.org/cgit/chktex.git/commit/?id=ec0fb9b58f02a62ff0bfec98b997208e9d7a5998 + (set +e; chktex -v -nall -w1 "$input" 2>&1; [ $? = 2 ] || exit 1; set -e) | tee "$out" + # also check that the output does indeed contain "One warning printed" + grep "One warning printed" "$out" + ''; context = mkTeXTest { name = "texlive-test-context"; @@ -100,104 +129,129 @@ rec { dvipng = lib.recurseIntoAttrs { # https://github.com/NixOS/nixpkgs/issues/75605 - basic = runCommand "texlive-test-dvipng-basic" { - nativeBuildInputs = [ file texliveMedium ]; - input = fetchurl { - name = "test_dvipng.tex"; - url = "http://git.savannah.nongnu.org/cgit/dvipng.git/plain/test_dvipng.tex?id=b872753590a18605260078f56cbd6f28d39dc035"; - sha256 = "1pjpf1jvwj2pv5crzdgcrzvbmn7kfmgxa39pcvskl4pa0c9hl88n"; - }; - } '' - cp "$input" ./document.tex - - latex document.tex - dvipng -T tight -strict -picky document.dvi - for f in document*.png; do - file "$f" | tee output - grep PNG output - done - - mkdir "$out" - mv document*.png "$out"/ - ''; + basic = + runCommand "texlive-test-dvipng-basic" + { + nativeBuildInputs = [ + file + texliveMedium + ]; + input = fetchurl { + name = "test_dvipng.tex"; + url = "http://git.savannah.nongnu.org/cgit/dvipng.git/plain/test_dvipng.tex?id=b872753590a18605260078f56cbd6f28d39dc035"; + sha256 = "1pjpf1jvwj2pv5crzdgcrzvbmn7kfmgxa39pcvskl4pa0c9hl88n"; + }; + } + '' + cp "$input" ./document.tex + + latex document.tex + dvipng -T tight -strict -picky document.dvi + for f in document*.png; do + file "$f" | tee output + grep PNG output + done + + mkdir "$out" + mv document*.png "$out"/ + ''; # test dvipng's limited capability to render postscript specials via GS - ghostscript = runCommand "texlive-test-ghostscript" { - nativeBuildInputs = [ file (texliveSmall.withPackages (ps: [ ps.dvipng ])) ]; - input = builtins.toFile "postscript-sample.tex" '' - \documentclass{minimal} - \begin{document} - Ni - \special{ps: - newpath - 0 0 moveto - 7 7 rlineto - 0 7 moveto - 7 -7 rlineto - stroke - showpage - } - \end{document} - ''; - gs_trap = writeShellScript "gs_trap.sh" '' - exit 1 - ''; - } '' - cp "$gs_trap" ./gs - export PATH=$PWD:$PATH - # check that the trap works - gs && exit 1 - - cp "$input" ./document.tex - - latex document.tex - dvipng -T 1in,1in -strict -picky document.dvi - for f in document*.png; do - file "$f" | tee output - grep PNG output - done - - mkdir "$out" - mv document*.png "$out"/ - ''; + ghostscript = + runCommand "texlive-test-ghostscript" + { + nativeBuildInputs = [ + file + (texliveSmall.withPackages (ps: [ ps.dvipng ])) + ]; + input = builtins.toFile "postscript-sample.tex" '' + \documentclass{minimal} + \begin{document} + Ni + \special{ps: + newpath + 0 0 moveto + 7 7 rlineto + 0 7 moveto + 7 -7 rlineto + stroke + showpage + } + \end{document} + ''; + gs_trap = writeShellScript "gs_trap.sh" '' + exit 1 + ''; + } + '' + cp "$gs_trap" ./gs + export PATH=$PWD:$PATH + # check that the trap works + gs && exit 1 + + cp "$input" ./document.tex + + latex document.tex + dvipng -T 1in,1in -strict -picky document.dvi + for f in document*.png; do + file "$f" | tee output + grep PNG output + done + + mkdir "$out" + mv document*.png "$out"/ + ''; }; # https://github.com/NixOS/nixpkgs/issues/75070 - dvisvgm = runCommand "texlive-test-dvisvgm" { - nativeBuildInputs = [ file texliveMedium ]; - input = builtins.toFile "dvisvgm-sample.tex" '' - \documentclass{article} - \begin{document} - mwe - \end{document} - ''; - } '' - cp "$input" ./document.tex - - latex document.tex - dvisvgm document.dvi -n -o document_dvi.svg - cat document_dvi.svg - file document_dvi.svg | grep SVG - - pdflatex document.tex - dvisvgm -P document.pdf -n -o document_pdf.svg - cat document_pdf.svg - file document_pdf.svg | grep SVG - - mkdir "$out" - mv document*.svg "$out"/ - ''; - - texdoc = runCommand "texlive-test-texdoc" { - nativeBuildInputs = [ - (texlive.withPackages (ps: [ ps.luatex ps.texdoc ps.texdoc.texdoc ])) - ]; - } '' - texdoc --version - - texdoc --debug --list texdoc | tee "$out" - grep texdoc.pdf "$out" - ''; + dvisvgm = + runCommand "texlive-test-dvisvgm" + { + nativeBuildInputs = [ + file + texliveMedium + ]; + input = builtins.toFile "dvisvgm-sample.tex" '' + \documentclass{article} + \begin{document} + mwe + \end{document} + ''; + } + '' + cp "$input" ./document.tex + + latex document.tex + dvisvgm document.dvi -n -o document_dvi.svg + cat document_dvi.svg + file document_dvi.svg | grep SVG + + pdflatex document.tex + dvisvgm -P document.pdf -n -o document_pdf.svg + cat document_pdf.svg + file document_pdf.svg | grep SVG + + mkdir "$out" + mv document*.svg "$out"/ + ''; + + texdoc = + runCommand "texlive-test-texdoc" + { + nativeBuildInputs = [ + (texlive.withPackages (ps: [ + ps.luatex + ps.texdoc + ps.texdoc.texdoc + ])) + ]; + } + '' + texdoc --version + + texdoc --debug --list texdoc | tee "$out" + grep texdoc.pdf "$out" + ''; # check that the default language is US English defaultLanguage = lib.recurseIntoAttrs rec { @@ -235,7 +289,11 @@ rec { }; # check that all languages are available, including synonyms - allLanguages = let hyphenBase = texlive.pkgs.hyphen-base; texLive = texliveFull; in + allLanguages = + let + hyphenBase = texlive.pkgs.hyphen-base; + texLive = texliveFull; + in lib.recurseIntoAttrs { # language.def etex = mkTeXTest { @@ -309,57 +367,66 @@ rec { }; # test that language files are generated as expected - hyphen-base = runCommand "texlive-test-hyphen-base" { - hyphenBase = texlive.pkgs.hyphen-base; - schemeFull = texliveFull; - schemeInfraOnly = texliveInfraOnly; - } '' - mkdir -p "$out"/{scheme-infraonly,scheme-full} - - # create language files with no hyphenation patterns - cat "$hyphenBase"/tex/generic/config/language.us >language.dat - cat "$hyphenBase"/tex/generic/config/language.us.def >language.def - cat "$hyphenBase"/tex/generic/config/language.us.lua >language.dat.lua - - cat >>language.dat.lua <>language.def <language.dat + cat "$hyphenBase"/tex/generic/config/language.us.def >language.def + cat "$hyphenBase"/tex/generic/config/language.us.lua >language.dat.lua + + cat >>language.dat.lua <>language.def <&1 || true) | grep forbidden >/dev/null - (repstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden >/dev/null - mkdir "$out" - ''; + repstopdf = + runCommand "texlive-test-repstopdf" + { + nativeBuildInputs = [ (texlive.withPackages (ps: [ ps.epstopdf ])) ]; + } + '' + ! (epstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden >/dev/null + (repstopdf --gscmd echo /dev/null 2>&1 || true) | grep forbidden >/dev/null + mkdir "$out" + ''; # verify that the restricted mode gets enabled when # needed (detected by checking if it disallows --gscmd) - rpdfcrop = runCommand "texlive-test-rpdfcrop" { - nativeBuildInputs = [ (texlive.withPackages (ps: [ ps.pdfcrop ])) ]; - } '' - ! (pdfcrop --gscmd echo $(command -v pdfcrop) 2>&1 || true) | grep 'restricted mode' >/dev/null - (rpdfcrop --gscmd echo $(command -v pdfcrop) 2>&1 || true) | grep 'restricted mode' >/dev/null - mkdir "$out" - ''; + rpdfcrop = + runCommand "texlive-test-rpdfcrop" + { + nativeBuildInputs = [ (texlive.withPackages (ps: [ ps.pdfcrop ])) ]; + } + '' + ! (pdfcrop --gscmd echo $(command -v pdfcrop) 2>&1 || true) | grep 'restricted mode' >/dev/null + (rpdfcrop --gscmd echo $(command -v pdfcrop) 2>&1 || true) | grep 'restricted mode' >/dev/null + mkdir "$out" + ''; # check that all binaries run successfully, in the following sense: # (1) run --version, -v, --help, -h successfully; or @@ -367,7 +434,8 @@ rec { # (3) run successfully on a test.tex or similar file # we ignore the binaries that cannot be tested as above, and are either # compiled binaries or trivial shell wrappers - binaries = let + binaries = + let # TODO known broken binaries broken = [ # *.inc files in source container rather than run @@ -375,42 +443,190 @@ rec { # 'Error initialising QuantumRenderer: no suitable pipeline found' "tlcockpit" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "epspdftk"; # wish shebang is a script, not a binary! + ] ++ lib.optional stdenv.hostPlatform.isDarwin "epspdftk"; # wish shebang is a script, not a binary! # (1) binaries requiring -v - shortVersion = [ "devnag" "diadia" "pmxchords" "ptex2pdf" "simpdftex" "ttf2afm" ]; + shortVersion = [ + "devnag" + "diadia" + "pmxchords" + "ptex2pdf" + "simpdftex" + "ttf2afm" + ]; # (1) binaries requiring --help or -h - help = [ "arlatex" "bundledoc" "cachepic" "checklistings" "dvipos" "extractres" "fig4latex" "fragmaster" - "kpsewhere" "latex-git-log" "ltxfileinfo" "mendex" "pdflatexpicscale" "perltex" "pn2pdf" "psbook" "psnup" "psresize" "purifyeps" - "simpdftex" "tex2xindy" "texluac" "texluajitc" "upmendex" "urlbst" "yplan" ]; - shortHelp = [ "adhocfilelist" "authorindex" "bbl2bib" "bibdoiadd" "bibmradd" "biburl2doi" "bibzbladd" "bookshelf-listallfonts" "bookshelf-mkfontsel" "ctanupload" - "disdvi" "dvibook" "dviconcat" "getmapdl" "latex2man" "listings-ext.sh" "pygmentex" ]; + help = [ + "arlatex" + "bundledoc" + "cachepic" + "checklistings" + "dvipos" + "extractres" + "fig4latex" + "fragmaster" + "kpsewhere" + "latex-git-log" + "ltxfileinfo" + "mendex" + "pdflatexpicscale" + "perltex" + "pn2pdf" + "psbook" + "psnup" + "psresize" + "purifyeps" + "simpdftex" + "tex2xindy" + "texluac" + "texluajitc" + "upmendex" + "urlbst" + "yplan" + ]; + shortHelp = [ + "adhocfilelist" + "authorindex" + "bbl2bib" + "bibdoiadd" + "bibmradd" + "biburl2doi" + "bibzbladd" + "bookshelf-listallfonts" + "bookshelf-mkfontsel" + "ctanupload" + "disdvi" + "dvibook" + "dviconcat" + "getmapdl" + "latex2man" + "listings-ext.sh" + "pygmentex" + ]; # (2) binaries that return non-zero exit code even if correctly asked for help - ignoreExitCode = [ "authorindex" "bookshelf-listallfonts" "bookshelf-mkfontsel" "dvibook" "dviconcat" "dvipos" "extractres" "fig4latex" "fragmaster" "latex2man" - "latex-git-log" "listings-ext.sh" "psbook" "psnup" "psresize" "purifyeps" "tex2xindy" "texluac" - "texluajitc" ]; + ignoreExitCode = [ + "authorindex" + "bookshelf-listallfonts" + "bookshelf-mkfontsel" + "dvibook" + "dviconcat" + "dvipos" + "extractres" + "fig4latex" + "fragmaster" + "latex2man" + "latex-git-log" + "listings-ext.sh" + "psbook" + "psnup" + "psresize" + "purifyeps" + "tex2xindy" + "texluac" + "texluajitc" + ]; # (2) binaries that print help on no argument, returning non-zero exit code - noArg = [ "a2ping" "bg5+latex" "bg5+pdflatex" "bg5latex" "bg5pdflatex" "cef5latex" "cef5pdflatex" "ceflatex" - "cefpdflatex" "cefslatex" "cefspdflatex" "chkdvifont" "dvi2fax" "dvired" "dviselect" "dvitodvi" "epsffit" - "findhyph" "gbklatex" "gbkpdflatex" "komkindex" "kpsepath" "listbib" "listings-ext" "mag" "mathspic" "mf2pt1" - "mk4ht" "mkt1font" "mkgrkindex" "musixflx" "pdf2ps" "pdfclose" "pdftosrc" "pdfxup" "pedigree" "pfb2pfa" "pk2bm" - "prepmx" "ps2pk" "psselect" "pstops" "rubibtex" "rubikrotation" "sjislatex" "sjispdflatex" "srcredact" "t4ht" - "teckit_compile" "tex4ht" "texdiff" "texdirflatten" "texplate" "tie" "ttf2kotexfont" "ttfdump" "vlna" "vpl2ovp" - "vpl2vpl" "yplan" ]; + noArg = [ + "a2ping" + "bg5+latex" + "bg5+pdflatex" + "bg5latex" + "bg5pdflatex" + "cef5latex" + "cef5pdflatex" + "ceflatex" + "cefpdflatex" + "cefslatex" + "cefspdflatex" + "chkdvifont" + "dvi2fax" + "dvired" + "dviselect" + "dvitodvi" + "epsffit" + "findhyph" + "gbklatex" + "gbkpdflatex" + "komkindex" + "kpsepath" + "listbib" + "listings-ext" + "mag" + "mathspic" + "mf2pt1" + "mk4ht" + "mkt1font" + "mkgrkindex" + "musixflx" + "pdf2ps" + "pdfclose" + "pdftosrc" + "pdfxup" + "pedigree" + "pfb2pfa" + "pk2bm" + "prepmx" + "ps2pk" + "psselect" + "pstops" + "rubibtex" + "rubikrotation" + "sjislatex" + "sjispdflatex" + "srcredact" + "t4ht" + "teckit_compile" + "tex4ht" + "texdiff" + "texdirflatten" + "texplate" + "tie" + "ttf2kotexfont" + "ttfdump" + "vlna" + "vpl2ovp" + "vpl2vpl" + "yplan" + ]; # (3) binaries requiring a .tex file contextTest = [ "htcontext" ]; - latexTest = [ "de-macro" "e2pall" "htlatex" "htxelatex" "makeindex" "pslatex" "rumakeindex" "tpic2pdftex" - "wordcount" "xhlatex" ]; - texTest = [ "fontinst" "htmex" "httex" "httexi" "htxetex" ]; + latexTest = [ + "de-macro" + "e2pall" + "htlatex" + "htxelatex" + "makeindex" + "pslatex" + "rumakeindex" + "tpic2pdftex" + "wordcount" + "xhlatex" + ]; + texTest = [ + "fontinst" + "htmex" + "httex" + "httexi" + "htxetex" + ]; # tricky binaries or scripts that are obviously working but are hard to test # (e.g. because they expect user input no matter the arguments) # (printafm comes from ghostscript, not texlive) ignored = [ # compiled binaries - "dt2dv" "dv2dt" "dvi2tty" "dvidvi" "dvispc" "otp2ocp" "outocp" "pmxab" + "dt2dv" + "dv2dt" + "dvi2tty" + "dvidvi" + "dvispc" + "otp2ocp" + "outocp" + "pmxab" # GUI scripts that accept no argument or crash without a graphics server; please test manualy - "epspdftk" "texdoctk" "tlshell" "xasy" + "epspdftk" + "texdoctk" + "tlshell" + "xasy" # requires Cinderella, not open source and not distributed via Nixpkgs "ketcindy" @@ -424,31 +640,89 @@ rec { "bibexport" # crossrefware: require bibtexperllibs under TEXMFROOT - "bbl2bib" "bibdoiadd" "bibmradd" "biburl2doi" "bibzbladd" "checkcites" "ltx2crossrefxml" + "bbl2bib" + "bibdoiadd" + "bibmradd" + "biburl2doi" + "bibzbladd" + "checkcites" + "ltx2crossrefxml" # epstopdf: requires kpsewhich - "epstopdf" "repstopdf" + "epstopdf" + "repstopdf" # requires kpsewhich - "memoize-extract.pl" "memoize-extract.py" + "memoize-extract.pl" + "memoize-extract.py" # require other texlive binaries in PATH - "allcm" "allec" "chkweb" "fontinst" "ht*" "installfont-tl" "kanji-config-updmap-sys" "kanji-config-updmap-user" - "kpse*" "latexfileversion" "mkocp" "mkofm" "mtxrunjit" "pdftex-quiet" "pslatex" "rumakeindex" "texconfig" - "texconfig-sys" "texexec" "texlinks" "texmfstart" "typeoutfileinfo" "wordcount" "xdvi" "xhlatex" + "allcm" + "allec" + "chkweb" + "fontinst" + "ht*" + "installfont-tl" + "kanji-config-updmap-sys" + "kanji-config-updmap-user" + "kpse*" + "latexfileversion" + "mkocp" + "mkofm" + "mtxrunjit" + "pdftex-quiet" + "pslatex" + "rumakeindex" + "texconfig" + "texconfig-sys" + "texexec" + "texlinks" + "texmfstart" + "typeoutfileinfo" + "wordcount" + "xdvi" + "xhlatex" # misc luatex binaries searching for luatex in PATH - "citeproc-lua" "context" "contextjit" "ctanbib" "digestif" "epspdf" "l3build" "luafindfont" "luaotfload-tool" - "luatools" "make4ht" "pmxchords" "tex4ebook" "texblend" "texdoc" "texfindpkg" "texlogsieve" "xindex" + "citeproc-lua" + "context" + "contextjit" + "ctanbib" + "digestif" + "epspdf" + "l3build" + "luafindfont" + "luaotfload-tool" + "luatools" + "make4ht" + "pmxchords" + "tex4ebook" + "texblend" + "texdoc" + "texfindpkg" + "texlogsieve" + "xindex" # requires full TEXMFROOT (e.g. for config) - "mktexfmt" "mktexmf" "mktexpk" "mktextfm" "psnup" "psresize" "pstops" "tlmgr" "updmap" "webquiz" + "mktexfmt" + "mktexmf" + "mktexpk" + "mktextfm" + "psnup" + "psresize" + "pstops" + "tlmgr" + "updmap" + "webquiz" # texlive-scripts: requires texlive.infra's TeXLive::TLUtils under TEXMFROOT - "fmtutil" "fmtutil-sys" "fmtutil-user" + "fmtutil" + "fmtutil-sys" + "fmtutil-user" # texlive-scripts: not used in nixpkgs, need updmap in PATH - "updmap-sys" "updmap-user" + "updmap-sys" + "updmap-user" ]; # simple test files @@ -470,11 +744,19 @@ rec { # link all binaries in single derivation binPackages = lib.catAttrs "out" (lib.attrValues texlive.pkgs); - binaries = buildEnv { name = "texlive-binaries"; paths = binPackages; }; + binaries = buildEnv { + name = "texlive-binaries"; + paths = binPackages; + }; in runCommand "texlive-test-binaries" { - inherit binaries contextTestTex latexTestTex texTestTex; + inherit + binaries + contextTestTex + latexTestTex + texTestTex + ; texliveScheme = texliveFull; } '' @@ -585,35 +867,34 @@ rec { ''; # check that all scripts have a Nix shebang - shebangs = let + shebangs = + let binPackages = lib.catAttrs "out" (lib.attrValues texlive.pkgs); in - runCommand "texlive-test-shebangs" { } - ('' + runCommand "texlive-test-shebangs" { } ( + '' echo "checking that all texlive scripts shebangs are in '$NIX_STORE'" declare -i scriptCount=0 invalidCount=0 - '' + - (lib.concatMapStrings - (pkg: '' - for bin in '${pkg.outPath}'/bin/* ; do - grep -I -q . "$bin" || continue # ignore binary files - [[ -x "$bin" ]] || continue # ignore non-executable files (such as context.lua) - scriptCount=$((scriptCount + 1)) - read -r cmdline < "$bin" - read -r interp <<< "$cmdline" - if [[ "$interp" != "#!$NIX_STORE"/* && "$interp" != "#! $NIX_STORE"/* ]] ; then - echo "error: non-nix shebang '$interp' in script '$bin'" - invalidCount=$((invalidCount + 1)) - fi - done - '') - binPackages) + '' + + (lib.concatMapStrings (pkg: '' + for bin in '${pkg.outPath}'/bin/* ; do + grep -I -q . "$bin" || continue # ignore binary files + [[ -x "$bin" ]] || continue # ignore non-executable files (such as context.lua) + scriptCount=$((scriptCount + 1)) + read -r cmdline < "$bin" + read -r interp <<< "$cmdline" + if [[ "$interp" != "#!$NIX_STORE"/* && "$interp" != "#! $NIX_STORE"/* ]] ; then + echo "error: non-nix shebang '$interp' in script '$bin'" + invalidCount=$((invalidCount + 1)) + fi + done + '') binPackages) + '' echo "checked $scriptCount scripts, found $invalidCount non-nix shebangs" [[ $invalidCount -gt 0 ]] && exit 1 mkdir -p "$out" '' - ); + ); # verify that the precomputed licensing information in default.nix # does indeed match the metadata of the individual packages. @@ -623,69 +904,78 @@ rec { # also builds a derivation, even though it is essentially an eval-time assertion. licenses = let - concatLicenses = builtins.foldl' (acc: el: if builtins.elem el acc then acc else acc ++ [ el ]); - # converts a license to its attribute name in lib.licenses - licenseToAttrName = license: - builtins.head (builtins.attrNames - (lib.filterAttrs (n: v: license == v) lib.licenses)); - lt = (a: b: a < b); - - savedLicenses = scheme: scheme.meta.license; - savedLicensesAttrNames = scheme: map licenseToAttrName (savedLicenses scheme); - - correctLicenses = scheme: builtins.foldl' - (acc: pkg: concatLicenses acc (lib.toList (pkg.meta.license or []))) - [] - scheme.passthru.requiredTeXPackages; - correctLicensesAttrNames = scheme: - lib.sort lt - (map licenseToAttrName (correctLicenses scheme)); - - hasLicenseMismatch = scheme: - (lib.isDerivation scheme) && - (savedLicensesAttrNames scheme) != (correctLicensesAttrNames scheme); - incorrectSchemes = lib.filterAttrs - (n: hasLicenseMismatch) - (texlive.combined // texlive.schemes); - prettyPrint = name: scheme: + concatLicenses = builtins.foldl' (acc: el: if builtins.elem el acc then acc else acc ++ [ el ]); + # converts a license to its attribute name in lib.licenses + licenseToAttrName = + license: builtins.head (builtins.attrNames (lib.filterAttrs (n: v: license == v) lib.licenses)); + lt = (a: b: a < b); + + savedLicenses = scheme: scheme.meta.license; + savedLicensesAttrNames = scheme: map licenseToAttrName (savedLicenses scheme); + + correctLicenses = + scheme: + builtins.foldl' ( + acc: pkg: concatLicenses acc (lib.toList (pkg.meta.license or [ ])) + ) [ ] scheme.passthru.requiredTeXPackages; + correctLicensesAttrNames = scheme: lib.sort lt (map licenseToAttrName (correctLicenses scheme)); + + hasLicenseMismatch = + scheme: + (lib.isDerivation scheme) && (savedLicensesAttrNames scheme) != (correctLicensesAttrNames scheme); + incorrectSchemes = lib.filterAttrs (n: hasLicenseMismatch) (texlive.combined // texlive.schemes); + prettyPrint = name: scheme: '' + license info for ${name} is incorrect! Note that order is enforced. + saved: [ ${lib.concatStringsSep " " (savedLicensesAttrNames scheme)} ] + correct: [ ${lib.concatStringsSep " " (correctLicensesAttrNames scheme)} ] + ''; + errorText = lib.concatStringsSep "\n\n" (lib.mapAttrsToList prettyPrint incorrectSchemes); + in + runCommand "texlive-test-license" + { + inherit errorText; + } + ( + if (incorrectSchemes == { }) then + "echo everything is fine! > $out" + else '' - license info for ${name} is incorrect! Note that order is enforced. - saved: [ ${lib.concatStringsSep " " (savedLicensesAttrNames scheme)} ] - correct: [ ${lib.concatStringsSep " " (correctLicensesAttrNames scheme)} ] - ''; - errorText = lib.concatStringsSep "\n\n" (lib.mapAttrsToList prettyPrint incorrectSchemes); - in - runCommand "texlive-test-license" { - inherit errorText; - } - (if (incorrectSchemes == {}) - then "echo everything is fine! > $out" - else '' - echo "$errorText" - false - ''); + echo "$errorText" + false + '' + ); # verify that all fixed hashes are present # this is effectively an eval-time assertion, converted into a derivation for # ease of testing - fixedHashes = let - fods = lib.concatMap - (p: lib.optional (p ? tex && lib.isDerivation p.tex) p.tex + fixedHashes = + let + fods = lib.concatMap ( + p: + lib.optional (p ? tex && lib.isDerivation p.tex) p.tex ++ lib.optional (p ? texdoc) p.texdoc ++ lib.optional (p ? texsource) p.texsource - ++ lib.optional (p ? tlpkg) p.tlpkg) - (lib.attrValues texlive.pkgs); - errorText = lib.concatMapStrings (p: lib.optionalString (! p ? outputHash) "${p.pname}-${p.tlOutputName} does not have a fixed output hash\n") fods; - in runCommand "texlive-test-fixed-hashes" { - inherit errorText; - passAsFile = [ "errorText" ]; - } '' - if [[ -s "$errorTextPath" ]] ; then - cat "$errorTextPath" - echo Failed: some TeX Live packages do not have fixed output hashes. Please read UPGRADING.md for how to generate a new fixed-hashes.nix. - exit 1 - else - touch "$out" - fi - ''; + ++ lib.optional (p ? tlpkg) p.tlpkg + ) (lib.attrValues texlive.pkgs); + errorText = lib.concatMapStrings ( + p: + lib.optionalString ( + !p ? outputHash + ) "${p.pname}-${p.tlOutputName} does not have a fixed output hash\n" + ) fods; + in + runCommand "texlive-test-fixed-hashes" + { + inherit errorText; + passAsFile = [ "errorText" ]; + } + '' + if [[ -s "$errorTextPath" ]] ; then + cat "$errorTextPath" + echo Failed: some TeX Live packages do not have fixed output hashes. Please read UPGRADING.md for how to generate a new fixed-hashes.nix. + exit 1 + else + touch "$out" + fi + ''; } diff --git a/pkgs/test/vim/default.nix b/pkgs/test/vim/default.nix index 5a3bf376fb884..eb76745d038e1 100644 --- a/pkgs/test/vim/default.nix +++ b/pkgs/test/vim/default.nix @@ -1,12 +1,20 @@ -{ vimUtils, vim-full, vimPlugins, pkgs }: +{ + vimUtils, + vim-full, + vimPlugins, + pkgs, +}: let inherit (vimUtils) buildVimPlugin; packages.myVimPackage.start = with vimPlugins; [ vim-nix ]; in - pkgs.recurseIntoAttrs (rec { - vim_empty_config = vimUtils.vimrcFile { beforePlugins = ""; customRC = ""; }; +pkgs.recurseIntoAttrs (rec { + vim_empty_config = vimUtils.vimrcFile { + beforePlugins = ""; + customRC = ""; + }; ### vim tests ################## diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix index 01aaeca044deb..50c9209288e18 100644 --- a/pkgs/tools/X11/bumblebee/default.nix +++ b/pkgs/tools/X11/bumblebee/default.nix @@ -16,33 +16,56 @@ # # To use at startup, see hardware.bumblebee options. -{ stdenv, lib, fetchurl, fetchpatch, pkg-config, help2man, makeWrapper -, glib, libbsd -, libX11, xorgserver, kmod, xf86videonouveau -, nvidia_x11, virtualgl, libglvnd -, automake111x, autoconf -# The below should only be non-null in a x86_64 system. On a i686 -# system the above nvidia_x11 and virtualgl will be the i686 packages. -# TODO: Confusing. Perhaps use "SubArch" instead of i686? -, nvidia_x11_i686 ? null -, libglvnd_i686 ? null -, useDisplayDevice ? false -, extraNvidiaDeviceOptions ? "" -, extraNouveauDeviceOptions ? "" -, useNvidia ? true +{ + stdenv, + lib, + fetchurl, + fetchpatch, + pkg-config, + help2man, + makeWrapper, + glib, + libbsd, + libX11, + xorgserver, + kmod, + xf86videonouveau, + nvidia_x11, + virtualgl, + libglvnd, + automake111x, + autoconf, + # The below should only be non-null in a x86_64 system. On a i686 + # system the above nvidia_x11 and virtualgl will be the i686 packages. + # TODO: Confusing. Perhaps use "SubArch" instead of i686? + nvidia_x11_i686 ? null, + libglvnd_i686 ? null, + useDisplayDevice ? false, + extraNvidiaDeviceOptions ? "", + extraNouveauDeviceOptions ? "", + useNvidia ? true, }: let - nvidia_x11s = [ nvidia_x11 ] - ++ lib.optional nvidia_x11.useGLVND libglvnd - ++ lib.optionals (nvidia_x11_i686 != null) - ([ nvidia_x11_i686 ] ++ lib.optional nvidia_x11_i686.useGLVND libglvnd_i686); + nvidia_x11s = + [ nvidia_x11 ] + ++ lib.optional nvidia_x11.useGLVND libglvnd + ++ lib.optionals (nvidia_x11_i686 != null) ( + [ nvidia_x11_i686 ] ++ lib.optional nvidia_x11_i686.useGLVND libglvnd_i686 + ); nvidiaLibs = lib.makeLibraryPath nvidia_x11s; - bbdPath = lib.makeBinPath [ kmod xorgserver ]; + bbdPath = lib.makeBinPath [ + kmod + xorgserver + ]; - xmodules = lib.concatStringsSep "," (map (x: "${x.out or x}/lib/xorg/modules") ([ xorgserver ] ++ lib.optional (!useNvidia) xf86videonouveau)); + xmodules = lib.concatStringsSep "," ( + map (x: "${x.out or x}/lib/xorg/modules") ( + [ xorgserver ] ++ lib.optional (!useNvidia) xf86videonouveau + ) + ); modprobePatch = fetchpatch { url = "https://github.com/Bumblebee-Project/Bumblebee/commit/1ada79fe5916961fc4e4917f8c63bb184908d986.patch"; @@ -57,7 +80,8 @@ let hash = "sha256-3b5tLoMrGYSdg9Hz5bh0c44VIrbSZrY56JpWEyU/Pik="; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "bumblebee"; version = "3.2.1"; @@ -75,11 +99,13 @@ in stdenv.mkDerivation rec { ]; # By default we don't want to use a display device - nvidiaDeviceOptions = lib.optionalString (!useDisplayDevice) '' - # Disable display device - Option "UseEDID" "false" - Option "UseDisplayDevice" "none" - '' + extraNvidiaDeviceOptions; + nvidiaDeviceOptions = + lib.optionalString (!useDisplayDevice) '' + # Disable display device + Option "UseEDID" "false" + Option "UseDisplayDevice" "none" + '' + + extraNvidiaDeviceOptions; nouveauDeviceOptions = extraNouveauDeviceOptions; @@ -105,8 +131,19 @@ in stdenv.mkDerivation rec { # Build-time dependencies of bumblebeed and optirun. # Note that it has several runtime dependencies. - buildInputs = [ libX11 glib libbsd kmod ]; - nativeBuildInputs = [ makeWrapper pkg-config help2man automake111x autoconf ]; + buildInputs = [ + libX11 + glib + libbsd + kmod + ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + help2man + automake111x + autoconf + ]; # The order of LDPATH is very specific: First X11 then the host # environment then the optional sub architecture paths. @@ -115,14 +152,16 @@ in stdenv.mkDerivation rec { # includes the acceleration driver. As this is used for the X11 # server, which runs under the host architecture, this does not # include the sub architecture components. - configureFlags = [ - "--with-udev-rules=$out/lib/udev/rules.d" - # see #10282 - #"CONF_PRIMUS_LD_PATH=${primusLibs}" - ] ++ lib.optionals useNvidia [ - "CONF_LDPATH_NVIDIA=${nvidiaLibs}" - "CONF_MODPATH_NVIDIA=${nvidia_x11.bin}/lib/xorg/modules" - ]; + configureFlags = + [ + "--with-udev-rules=$out/lib/udev/rules.d" + # see #10282 + #"CONF_PRIMUS_LD_PATH=${primusLibs}" + ] + ++ lib.optionals useNvidia [ + "CONF_LDPATH_NVIDIA=${nvidiaLibs}" + "CONF_MODPATH_NVIDIA=${nvidia_x11.bin}/lib/xorg/modules" + ]; CFLAGS = [ "-DX_MODULE_APPENDS=\\\"${xmodules}\\\"" diff --git a/pkgs/tools/X11/kdocker/default.nix b/pkgs/tools/X11/kdocker/default.nix index 70b183aef58ea..01c3b246f91fd 100644 --- a/pkgs/tools/X11/kdocker/default.nix +++ b/pkgs/tools/X11/kdocker/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, fetchFromGitHub -, qmake -, wrapQtAppsHook -, libX11 -, libXmu -, libXpm -, qtbase -, qtx11extras +{ + stdenv, + lib, + fetchFromGitHub, + qmake, + wrapQtAppsHook, + libX11, + libXmu, + libXpm, + qtbase, + qtx11extras, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/X11/libstrangle/default.nix b/pkgs/tools/X11/libstrangle/default.nix index f7deb69561e93..bf6a529848c01 100644 --- a/pkgs/tools/X11/libstrangle/default.nix +++ b/pkgs/tools/X11/libstrangle/default.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchFromGitLab, fetchpatch, libGL, libX11 }: +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + libGL, + libX11, +}: stdenv.mkDerivation rec { pname = "libstrangle"; version = "unstable-202202022"; - buildInputs = [ libGL libX11 ]; + buildInputs = [ + libGL + libX11 + ]; src = fetchFromGitLab { owner = "torkel104"; @@ -13,7 +23,10 @@ stdenv.mkDerivation rec { hash = "sha256-h10QA7m7hIQHq1g/vCYuZsFR2NVbtWBB46V6OWP5wgM="; }; - makeFlags = [ "prefix=" "DESTDIR=$(out)" ]; + makeFlags = [ + "prefix=" + "DESTDIR=$(out)" + ]; patches = [ ./nixos.patch diff --git a/pkgs/tools/X11/primus/default.nix b/pkgs/tools/X11/primus/default.nix index eb8aa042e7b02..1f4964e3aa3ad 100644 --- a/pkgs/tools/X11/primus/default.nix +++ b/pkgs/tools/X11/primus/default.nix @@ -3,14 +3,15 @@ # Using steam under wine can involve both 32bit and 64bit process. All of which inherit the # same LD_LIBRARY_PATH. # Other distributions do the same. -{ stdenv -, stdenv_i686 -, lib -, primusLib -, writeScriptBin -, runtimeShell -, primusLib_i686 ? null -, useNvidia ? true +{ + stdenv, + stdenv_i686, + lib, + primusLib, + writeScriptBin, + runtimeShell, + primusLib_i686 ? null, + useNvidia ? true, }: let @@ -19,13 +20,23 @@ let primusLib_i686_ = primusLib_i686.override { stdenv = stdenv_i686; }; primus = if useNvidia then primusLib_ else primusLib_.override { nvidia_x11 = null; }; - primus_i686 = if useNvidia then primusLib_i686_ else primusLib_i686_.override { nvidia_x11 = null; }; - ldPath = lib.makeLibraryPath (lib.filter (x: x != null) ( - [ primus primus.glvnd ] - ++ lib.optionals (primusLib_i686 != null) [ primus_i686 primus_i686.glvnd ] - )); + primus_i686 = + if useNvidia then primusLib_i686_ else primusLib_i686_.override { nvidia_x11 = null; }; + ldPath = lib.makeLibraryPath ( + lib.filter (x: x != null) ( + [ + primus + primus.glvnd + ] + ++ lib.optionals (primusLib_i686 != null) [ + primus_i686 + primus_i686.glvnd + ] + ) + ); -in writeScriptBin "primusrun" '' +in +writeScriptBin "primusrun" '' #!${runtimeShell} export LD_LIBRARY_PATH=${ldPath}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH # https://bugs.launchpad.net/ubuntu/+source/bumblebee/+bug/1758243 diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix index 43e0a8233fd0b..7e6572f66a9a5 100644 --- a/pkgs/tools/X11/primus/lib.nix +++ b/pkgs/tools/X11/primus/lib.nix @@ -1,19 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, libX11 -, libGL -, mesa -, nvidia_x11 ? null -, libglvnd +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + libX11, + libGL, + mesa, + nvidia_x11 ? null, + libglvnd, }: let aPackage = - if nvidia_x11 == null then libGL - else if nvidia_x11.useGLVND then libglvnd - else nvidia_x11; + if nvidia_x11 == null then + libGL + else if nvidia_x11.useGLVND then + libglvnd + else + nvidia_x11; in stdenv.mkDerivation { @@ -35,7 +39,10 @@ stdenv.mkDerivation { }) ]; - buildInputs = [ libX11 libGL ]; + buildInputs = [ + libX11 + libGL + ]; makeFlags = [ "LIBDIR=$(out)/lib" @@ -53,7 +60,10 @@ stdenv.mkDerivation { meta = with lib; { description = "Low-overhead client-side GPU offloading"; homepage = "https://github.com/amonakov/primus"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ + "i686-linux" + "x86_64-linux" + ]; license = licenses.bsd2; maintainers = with maintainers; [ abbradar ]; }; diff --git a/pkgs/tools/X11/virtualgl/default.nix b/pkgs/tools/X11/virtualgl/default.nix index 05c0f1c69b407..4736c645d8f31 100644 --- a/pkgs/tools/X11/virtualgl/default.nix +++ b/pkgs/tools/X11/virtualgl/default.nix @@ -1,6 +1,8 @@ -{ stdenv, lib -, virtualglLib -, virtualglLib_i686 ? null +{ + stdenv, + lib, + virtualglLib, + virtualglLib_i686 ? null, }: stdenv.mkDerivation { @@ -9,14 +11,16 @@ stdenv.mkDerivation { paths = [ virtualglLib ]; - buildCommand = '' - mkdir -p $out/bin - for i in ${virtualglLib}/bin/* ${virtualglLib}/bin/.vglrun*; do - ln -s "$i" $out/bin - done - '' + lib.optionalString (virtualglLib_i686 != null) '' - ln -sf ${virtualglLib_i686}/bin/.vglrun.vars32 $out/bin - ''; + buildCommand = + '' + mkdir -p $out/bin + for i in ${virtualglLib}/bin/* ${virtualglLib}/bin/.vglrun*; do + ln -s "$i" $out/bin + done + '' + + lib.optionalString (virtualglLib_i686 != null) '' + ln -sf ${virtualglLib_i686}/bin/.vglrun.vars32 $out/bin + ''; meta = { platforms = lib.platforms.linux; diff --git a/pkgs/tools/X11/virtualgl/lib.nix b/pkgs/tools/X11/virtualgl/lib.nix index a0f2741edd788..6a3a2c6637b62 100644 --- a/pkgs/tools/X11/virtualgl/lib.nix +++ b/pkgs/tools/X11/virtualgl/lib.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchurl, cmake -, libGL, libGLU, libXv, libXtst, libXi, libjpeg_turbo, fltk -, xorg -, opencl-headers, opencl-clhpp, ocl-icd +{ + lib, + stdenv, + fetchurl, + cmake, + libGL, + libGLU, + libXv, + libXtst, + libXi, + libjpeg_turbo, + fltk, + xorg, + opencl-headers, + opencl-clhpp, + ocl-icd, }: stdenv.mkDerivation rec { @@ -20,15 +32,27 @@ stdenv.mkDerivation rec { mv server/CMakeLists2.txt server/CMakeLists.txt ''; - cmakeFlags = [ "-DVGL_SYSTEMFLTK=1" "-DTJPEG_LIBRARY=${libjpeg_turbo.out}/lib/libturbojpeg.so" ]; + cmakeFlags = [ + "-DVGL_SYSTEMFLTK=1" + "-DTJPEG_LIBRARY=${libjpeg_turbo.out}/lib/libturbojpeg.so" + ]; makeFlags = [ "PREFIX=$(out)" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ libjpeg_turbo libGL libGLU fltk - libXv libXtst libXi xorg.xcbutilkeysyms - opencl-headers opencl-clhpp ocl-icd + buildInputs = [ + libjpeg_turbo + libGL + libGLU + fltk + libXv + libXtst + libXi + xorg.xcbutilkeysyms + opencl-headers + opencl-clhpp + ocl-icd ]; fixupPhase = '' diff --git a/pkgs/tools/X11/xbindkeys-config/default.nix b/pkgs/tools/X11/xbindkeys-config/default.nix index 8a5c07ef96ecd..660c1e2c88436 100644 --- a/pkgs/tools/X11/xbindkeys-config/default.nix +++ b/pkgs/tools/X11/xbindkeys-config/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, gtk, pkg-config, procps, makeWrapper, ... }: +{ + lib, + stdenv, + fetchurl, + gtk, + pkg-config, + procps, + makeWrapper, + ... +}: stdenv.mkDerivation rec { pname = "xbindkeys-config"; @@ -8,7 +17,10 @@ stdenv.mkDerivation rec { # gcc-10. env.NIX_CFLAGS_COMPILE = "-fcommon"; - nativeBuildInputs = [ pkg-config makeWrapper ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; buildInputs = [ gtk ]; src = fetchurl { @@ -22,7 +34,7 @@ stdenv.mkDerivation rec { homepage = "https://packages.debian.org/source/xbindkeys-config"; description = "Graphical interface for configuring xbindkeys"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [benley]; + maintainers = with lib.maintainers; [ benley ]; platforms = with lib.platforms; linux; mainProgram = "xbindkeys-config"; }; diff --git a/pkgs/tools/X11/xdragon/default.nix b/pkgs/tools/X11/xdragon/default.nix index 9f12a78e29361..babdb75224cb8 100644 --- a/pkgs/tools/X11/xdragon/default.nix +++ b/pkgs/tools/X11/xdragon/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gtk3 }: +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gtk3, +}: stdenv.mkDerivation (finalAttrs: { pname = "xdragon"; diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix index 6c7aa89e01d3b..c2a209d7f513f 100644 --- a/pkgs/tools/X11/xidlehook/default.nix +++ b/pkgs/tools/X11/xidlehook/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitLab -, python3 -, xorg -, libpulseaudio -, pkg-config -, patchelf -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitLab, + python3, + xorg, + libpulseaudio, + pkg-config, + patchelf, + Security, }: rustPlatform.buildRustPackage rec { @@ -26,8 +27,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-uroO0PgnCkFRNYAZgdTZWgDDbBqq1ZM+dni/A2Qw9fg="; - buildInputs = [ xorg.libX11 xorg.libXScrnSaver libpulseaudio ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; - nativeBuildInputs = [ pkg-config patchelf python3 ]; + buildInputs = [ + xorg.libX11 + xorg.libXScrnSaver + libpulseaudio + ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; + nativeBuildInputs = [ + pkg-config + patchelf + python3 + ]; buildNoDefaultFeatures = !stdenv.hostPlatform.isLinux; buildFeatures = lib.optional (!stdenv.hostPlatform.isLinux) "pulse"; diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 324fe3aeeb304..a46532a9206f2 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -1,43 +1,44 @@ -{ lib -, fetchFromGitHub -, pkg-config -, runCommand -, writeText -, wrapGAppsHook3 -, withNvenc ? false -, atk -, cairo -, cudatoolkit -, ffmpeg -, gdk-pixbuf -, getopt -, glib -, gobject-introspection -, gst_all_1 -, gtk3 -, libappindicator -, libfakeXinerama -, librsvg -, libvpx -, libwebp -, lz4 -, nv-codec-headers-10 -, nvidia_x11 ? null -, pam -, pandoc -, pango -, pulseaudio -, python3 -, stdenv -, util-linux -, which -, x264 -, x265 -, xauth -, xdg-utils -, xorg -, xorgserver -, xxHash +{ + lib, + fetchFromGitHub, + pkg-config, + runCommand, + writeText, + wrapGAppsHook3, + withNvenc ? false, + atk, + cairo, + cudatoolkit, + ffmpeg, + gdk-pixbuf, + getopt, + glib, + gobject-introspection, + gst_all_1, + gtk3, + libappindicator, + libfakeXinerama, + librsvg, + libvpx, + libwebp, + lz4, + nv-codec-headers-10, + nvidia_x11 ? null, + pam, + pandoc, + pango, + pulseaudio, + python3, + stdenv, + util-linux, + which, + x264, + x265, + xauth, + xdg-utils, + xorg, + xorgserver, + xxHash, }: let @@ -61,14 +62,18 @@ let EndSection ''; - nvencHeaders = runCommand "nvenc-headers" { - inherit nvidia_x11; - } '' - mkdir -p $out/include $out/lib/pkgconfig - cp ${nv-codec-headers-10}/include/ffnvcodec/nvEncodeAPI.h $out/include - substituteAll ${./nvenc.pc} $out/lib/pkgconfig/nvenc.pc - ''; -in buildPythonApplication rec { + nvencHeaders = + runCommand "nvenc-headers" + { + inherit nvidia_x11; + } + '' + mkdir -p $out/include $out/lib/pkgconfig + cp ${nv-codec-headers-10}/include/ffnvcodec/nvEncodeAPI.h $out/include + substituteAll ${./nvenc.pc} $out/lib/pkgconfig/nvenc.pc + ''; +in +buildPythonApplication rec { pname = "xpra"; version = "6.2.1"; @@ -80,7 +85,7 @@ in buildPythonApplication rec { }; patches = [ - ./fix-41106.patch # https://github.com/NixOS/nixpkgs/issues/41106 + ./fix-41106.patch # https://github.com/NixOS/nixpkgs/issues/41106 ./fix-122159.patch # https://github.com/NixOS/nixpkgs/issues/122159 ]; @@ -98,70 +103,80 @@ in buildPythonApplication rec { pandoc ] ++ lib.optional withNvenc cudatoolkit; - buildInputs = with xorg; [ - libX11 - libXcomposite - libXdamage - libXfixes - libXi - libxkbfile - libXrandr - libXrender - libXres - libXtst - xorgproto - ] ++ (with gst_all_1; [ - gst-libav - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gstreamer - ]) ++ [ - atk.out - cairo - cython - ffmpeg - gdk-pixbuf - glib - gtk3 - libappindicator - librsvg - libvpx - libwebp - lz4 - pam - pango - x264 - x265 - xxHash - ] ++ lib.optional withNvenc nvencHeaders; - - propagatedBuildInputs = with python3.pkgs; ([ - cryptography - dbus-python - gst-python - idna - lz4 - netifaces - numpy - opencv4 - pam - paramiko - pillow - pycairo - pycrypto - pycups - pygobject3 - pyinotify - pyopengl - python-uinput - pyxdg - rencode - invoke - ] ++ lib.optionals withNvenc [ - pycuda - pynvml - ]); + buildInputs = + with xorg; + [ + libX11 + libXcomposite + libXdamage + libXfixes + libXi + libxkbfile + libXrandr + libXrender + libXres + libXtst + xorgproto + ] + ++ (with gst_all_1; [ + gst-libav + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + ]) + ++ [ + atk.out + cairo + cython + ffmpeg + gdk-pixbuf + glib + gtk3 + libappindicator + librsvg + libvpx + libwebp + lz4 + pam + pango + x264 + x265 + xxHash + ] + ++ lib.optional withNvenc nvencHeaders; + + propagatedBuildInputs = + with python3.pkgs; + ( + [ + cryptography + dbus-python + gst-python + idna + lz4 + netifaces + numpy + opencv4 + pam + paramiko + pillow + pycairo + pycrypto + pycups + pygobject3 + pyinotify + pyopengl + python-uinput + pyxdg + rencode + invoke + ] + ++ lib.optionals withNvenc [ + pycuda + pynvml + ] + ); # error: 'import_cairo' defined but not used env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-function"; @@ -178,20 +193,32 @@ in buildPythonApplication rec { dontWrapGApps = true; - preFixup = '' - makeWrapperArgs+=( - "''${gappsWrapperArgs[@]}" - --set XPRA_INSTALL_PREFIX "$out" - --set XPRA_COMMAND "$out/bin/xpra" - --set XPRA_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" - --set XORG_CONFIG_PREFIX "" - --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib - --prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux pulseaudio ]} - '' + lib.optionalString withNvenc '' + preFixup = + '' + makeWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --set XPRA_INSTALL_PREFIX "$out" + --set XPRA_COMMAND "$out/bin/xpra" + --set XPRA_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" + --set XORG_CONFIG_PREFIX "" + --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib + --prefix PATH : ${ + lib.makeBinPath [ + getopt + xorgserver + xauth + which + util-linux + pulseaudio + ] + } + '' + + lib.optionalString withNvenc '' --prefix LD_LIBRARY_PATH : ${nvidia_x11}/lib - '' + '' - ) - ''; + '' + + '' + ) + ''; postInstall = '' # append module paths to xorg.conf @@ -220,6 +247,10 @@ in buildPythonApplication rec { changelog = "https://github.com/Xpra-org/xpra/releases/tag/v${version}"; platforms = platforms.linux; license = licenses.gpl2Only; - maintainers = with maintainers; [ offline numinit mvnetbiz ]; + maintainers = with maintainers; [ + offline + numinit + mvnetbiz + ]; }; } diff --git a/pkgs/tools/X11/xpra/libfakeXinerama.nix b/pkgs/tools/X11/xpra/libfakeXinerama.nix index 4ec1f7f4370d8..2b533c1aaccae 100644 --- a/pkgs/tools/X11/xpra/libfakeXinerama.nix +++ b/pkgs/tools/X11/xpra/libfakeXinerama.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchurl, libX11, libXinerama }: - -stdenv.mkDerivation rec { +{ + lib, + stdenv, + fetchurl, + libX11, + libXinerama, +}: + +stdenv.mkDerivation rec { pname = "libfakeXinerama"; version = "0.1.0"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "0gxb8jska2anbb3c1m8asbglgnwylgdr44x9lr8yh91hjxsqadkx"; }; - buildInputs = [ libX11 libXinerama ]; + buildInputs = [ + libX11 + libXinerama + ]; buildPhase = '' runHook preBuild diff --git a/pkgs/tools/admin/ansible/doctor.nix b/pkgs/tools/admin/ansible/doctor.nix index e6a370c46f909..31468f7e9ffae 100644 --- a/pkgs/tools/admin/ansible/doctor.nix +++ b/pkgs/tools/admin/ansible/doctor.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/admin/ansible/later.nix b/pkgs/tools/admin/ansible/later.nix index dadd182d8ce2d..aec0c0b802043 100644 --- a/pkgs/tools/admin/ansible/later.nix +++ b/pkgs/tools/admin/ansible/later.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/admin/ansible/lint.nix b/pkgs/tools/admin/ansible/lint.nix index 0e2757d548e8f..77127afd093a2 100644 --- a/pkgs/tools/admin/ansible/lint.nix +++ b/pkgs/tools/admin/ansible/lint.nix @@ -1,7 +1,8 @@ -{ lib -, python3 -, fetchPypi -, ansible +{ + lib, + python3, + fetchPypi, + ansible, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/admin/aws-mfa/default.nix b/pkgs/tools/admin/aws-mfa/default.nix index 67ebd255c3978..69b2a5a566228 100644 --- a/pkgs/tools/admin/aws-mfa/default.nix +++ b/pkgs/tools/admin/aws-mfa/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, fetchpatch -, setuptools -, boto3 +{ + lib, + buildPythonApplication, + fetchFromGitHub, + fetchpatch, + setuptools, + boto3, }: buildPythonApplication rec { diff --git a/pkgs/tools/admin/awsume/default.nix b/pkgs/tools/admin/awsume/default.nix index 42de084b7cdba..d8b11d5839480 100644 --- a/pkgs/tools/admin/awsume/default.nix +++ b/pkgs/tools/admin/awsume/default.nix @@ -1,13 +1,14 @@ -{ lib -, python3 -, installShellFiles -, buildPythonApplication -, fetchFromGitHub -, boto3 -, colorama -, psutil -, pluggy -, pyyaml +{ + lib, + python3, + installShellFiles, + buildPythonApplication, + fetchFromGitHub, + boto3, + colorama, + psutil, + pluggy, + pyyaml, }: buildPythonApplication rec { @@ -47,7 +48,6 @@ buildPythonApplication rec { rm -f $out/bin/awsume.bat ''; - doCheck = false; meta = with lib; { diff --git a/pkgs/tools/admin/cdist/default.nix b/pkgs/tools/admin/cdist/default.nix index a84eeb4a1a27e..d15ce58e05664 100644 --- a/pkgs/tools/admin/cdist/default.nix +++ b/pkgs/tools/admin/cdist/default.nix @@ -1,15 +1,20 @@ -{ lib -, buildPythonApplication -, fetchFromGitea -, six -, sphinxHook -, sphinx-rtd-theme +{ + lib, + buildPythonApplication, + fetchFromGitea, + six, + sphinxHook, + sphinx-rtd-theme, }: buildPythonApplication rec { pname = "cdist"; version = "7.0.0"; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; src = fetchFromGitea { domain = "code.ungleich.ch"; diff --git a/pkgs/tools/admin/coldsnap/default.nix b/pkgs/tools/admin/coldsnap/default.nix index cebf69b70a6a6..d6bff3a6ae67a 100644 --- a/pkgs/tools/admin/coldsnap/default.nix +++ b/pkgs/tools/admin/coldsnap/default.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, openssl -, pkg-config +{ + lib, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix index d670c28539ca4..0ea9ab1a1b751 100644 --- a/pkgs/tools/admin/drawterm/default.nix +++ b/pkgs/tools/admin/drawterm/default.nix @@ -1,20 +1,21 @@ -{ stdenv -, lib -, fetchFrom9Front -, unstableGitUpdater -, installShellFiles -, makeWrapper -, xorg -, pkg-config -, wayland-scanner -, pipewire -, wayland -, wayland-protocols -, libxkbcommon -, wlr-protocols -, pulseaudio -, config -, nixosTests +{ + stdenv, + lib, + fetchFrom9Front, + unstableGitUpdater, + installShellFiles, + makeWrapper, + xorg, + pkg-config, + wayland-scanner, + pipewire, + wayland, + wayland-protocols, + libxkbcommon, + wlr-protocols, + pulseaudio, + config, + nixosTests, }: stdenv.mkDerivation { @@ -30,32 +31,52 @@ stdenv.mkDerivation { enableParallelBuilding = true; strictDeps = true; - nativeBuildInputs = [ installShellFiles ] ++ { - linux = [ pkg-config wayland-scanner ]; - unix = [ makeWrapper ]; - }."${config}" or (throw "unsupported CONF"); + nativeBuildInputs = + [ installShellFiles ] + ++ { + linux = [ + pkg-config + wayland-scanner + ]; + unix = [ makeWrapper ]; + } + ."${config}" or (throw "unsupported CONF"); - buildInputs = { - linux = [ pipewire wayland wayland-protocols libxkbcommon wlr-protocols ]; - unix = [ xorg.libX11 xorg.libXt ]; - }."${config}" or (throw "unsupported CONF"); + buildInputs = + { + linux = [ + pipewire + wayland + wayland-protocols + libxkbcommon + wlr-protocols + ]; + unix = [ + xorg.libX11 + xorg.libXt + ]; + } + ."${config}" or (throw "unsupported CONF"); # TODO: macos makeFlags = [ "CONF=${config}" ]; - installPhase = { - linux = '' - install -Dm755 -t $out/bin/ drawterm + installPhase = + { + linux = '' + install -Dm755 -t $out/bin/ drawterm + ''; + unix = '' + # wrapping the oss output with pulse seems to be the easiest + mv drawterm drawterm.bin + install -Dm755 -t $out/bin/ drawterm.bin + makeWrapper ${pulseaudio}/bin/padsp $out/bin/drawterm --add-flags $out/bin/drawterm.bin + ''; + } + ."${config}" or (throw "unsupported CONF") + + '' + installManPage drawterm.1 ''; - unix = '' - # wrapping the oss output with pulse seems to be the easiest - mv drawterm drawterm.bin - install -Dm755 -t $out/bin/ drawterm.bin - makeWrapper ${pulseaudio}/bin/padsp $out/bin/drawterm --add-flags $out/bin/drawterm.bin - ''; - }."${config}" or (throw "unsupported CONF") + '' - installManPage drawterm.1 - ''; passthru = { updateScript = unstableGitUpdater { shallowClone = false; }; diff --git a/pkgs/tools/admin/fastlane/default.nix b/pkgs/tools/admin/fastlane/default.nix index 16c668a268a54..ef7b6ed16eede 100644 --- a/pkgs/tools/admin/fastlane/default.nix +++ b/pkgs/tools/admin/fastlane/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerApp, bundlerUpdateScript, makeBinaryWrapper }: +{ + lib, + bundlerApp, + bundlerUpdateScript, + makeBinaryWrapper, +}: bundlerApp { pname = "fastlane"; diff --git a/pkgs/tools/admin/fastlane/gemset.nix b/pkgs/tools/admin/fastlane/gemset.nix index 1019d157c1e5f..eb46a8fe55c5a 100644 --- a/pkgs/tools/admin/fastlane/gemset.nix +++ b/pkgs/tools/admin/fastlane/gemset.nix @@ -1,901 +1,1016 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; version = "2.8.6"; }; artifactory = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qzj389l2a3zig040h882mf6cxfa71pm2nk51l4p85n3ck4xa8rh"; type = "gem"; }; version = "3.0.17"; }; atomos = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; type = "gem"; }; version = "0.1.3"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00iknq94smbskgmxqmlxlcgpq5famd968l12nvv8bxi7gk1hagsk"; type = "gem"; }; version = "1.909.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08h9apxdn2aflkg751j4i56ks4750znfbj56w4zlxf4jk7jxkbyk"; type = "gem"; }; version = "3.191.6"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fbp2vw5qnyiya63hlmwiqkbh30lipyqplancmhm84ad7i98ambb"; type = "gem"; }; version = "1.78.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1al80phz4x9wwfnr07q1l8h5f0qxgfrrycbg8jvznhxm3zhrakrq"; type = "gem"; }; version = "1.146.1"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; type = "gem"; }; version = "1.8.0"; }; babosa = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16dwqn33kmxkqkv51cwiikdkbrdjfsymlnc0rgbjwilmym8a9phq"; type = "gem"; }; version = "1.0.4"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; CFPropertyList = { - dependencies = ["base64" "nkf" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "nkf" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4"; type = "gem"; }; version = "3.0.7"; }; claide = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d"; type = "gem"; }; version = "1.1.0"; }; colored = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; type = "gem"; }; version = "1.2"; }; colored2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; type = "gem"; }; version = "3.1.2"; }; commander = { - dependencies = ["highline"]; - groups = ["default"]; - platforms = []; + dependencies = [ "highline" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n8k547hqq9hvbyqbx2qi08g0bky20bbjca1df8cqq5frhzxq7bx"; type = "gem"; }; version = "4.6.0"; }; declarative = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0"; type = "gem"; }; version = "0.0.20"; }; digest-crc = { - dependencies = ["rake"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rake" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09114ndpnnyamc2q07bmpzw7kp3rbbfv7plmxcbzzi9d6prmd92w"; type = "gem"; }; version = "0.6.5"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; dotenv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565"; type = "gem"; }; version = "2.8.1"; }; emoji_regex = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jsnrkfy345v66jlm2xrz8znivfnamg3mfzkddn414bndf2vxn7c"; type = "gem"; }; version = "3.2.3"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1m3gzvp1wqki0yh4b7761qhdy4pyr4phy429b7s9w25nrkhp4lsz"; type = "gem"; }; version = "0.110.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c760q0ks4vj4wmaa7nh1dgvgqiwaw0mjr7v8cymy7i3ffgjxx90"; type = "gem"; }; version = "1.10.3"; }; faraday-cookie_jar = { - dependencies = ["faraday" "http-cookie"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "http-cookie" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk"; type = "gem"; }; version = "0.0.7"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"; type = "gem"; }; version = "1.2.0"; }; fastimage = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sfc7svf7h1ja6zmsq9f3ps6pg0q4hymphh6rk7ipmp7ygqjkii3"; type = "gem"; }; version = "2.3.1"; }; fastlane = { - dependencies = ["CFPropertyList" "addressable" "artifactory" "aws-sdk-s3" "babosa" "colored" "commander" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-apis-androidpublisher_v3" "google-apis-playcustomapp_v1" "google-cloud-env" "google-cloud-storage" "highline" "http-cookie" "json" "jwt" "mini_magick" "multipart-post" "naturally" "optparse" "plist" "rubyzip" "security" "simctl" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "addressable" + "artifactory" + "aws-sdk-s3" + "babosa" + "colored" + "commander" + "dotenv" + "emoji_regex" + "excon" + "faraday" + "faraday-cookie_jar" + "faraday_middleware" + "fastimage" + "gh_inspector" + "google-apis-androidpublisher_v3" + "google-apis-playcustomapp_v1" + "google-cloud-env" + "google-cloud-storage" + "highline" + "http-cookie" + "json" + "jwt" + "mini_magick" + "multipart-post" + "naturally" + "optparse" + "plist" + "rubyzip" + "security" + "simctl" + "terminal-notifier" + "terminal-table" + "tty-screen" + "tty-spinner" + "word_wrap" + "xcodeproj" + "xcpretty" + "xcpretty-travis-formatter" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14ywmlipmryzdxzn4235ah67hy06wh5hf32jbs3a9j7byc2x1kx3"; type = "gem"; }; version = "2.220.0"; }; gh_inspector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; type = "gem"; }; version = "1.1.3"; }; google-apis-androidpublisher_v3 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "046j100lrh5dhb8p3gr38fyqrw8vcif97pqb55ysipy874lafw49"; type = "gem"; }; version = "0.54.0"; }; google-apis-core = { - dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "googleauth" + "httpclient" + "mini_mime" + "representable" + "retriable" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15ycm7al9dizabbqmri5xmiz8mbcci343ygb64ndbmr9n49p08a3"; type = "gem"; }; version = "0.11.3"; }; google-apis-iamcredentials_v1 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ysil0bkh755kmf9xvw5szhk1yyh3gqzwfsrbwsrl77gsv7jarcs"; type = "gem"; }; version = "0.17.0"; }; google-apis-playcustomapp_v1 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mlgwiid5lgg41y7qk8ca9lzhwx5njs25hz5fbf1mdal0kwm37lm"; type = "gem"; }; version = "0.13.0"; }; google-apis-storage_v1 = { - dependencies = ["google-apis-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13yvc9r8bhs16vq3fjc93qlffmq9p6zx97c9g1c3wh0jbrvwrs03"; type = "gem"; }; version = "0.31.0"; }; google-cloud-core = { - dependencies = ["google-cloud-env" "google-cloud-errors"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "google-cloud-env" + "google-cloud-errors" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0dagdfx3rnk9xplnj19gqpqn41fd09xfn8lp2p75psihhnj2i03l"; type = "gem"; }; version = "1.7.0"; }; google-cloud-env = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05gshdqscg4kil6ppfzmikyavsx449bxyj47j33r4n4p8swsqyb1"; type = "gem"; }; version = "1.6.0"; }; google-cloud-errors = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "056yw9cg771c1xqvw15wpdfdw9lz3m13fh5b6a3p1c9xaq7jwkhb"; type = "gem"; }; version = "1.4.0"; }; google-cloud-storage = { - dependencies = ["addressable" "digest-crc" "google-apis-iamcredentials_v1" "google-apis-storage_v1" "google-cloud-core" "googleauth" "mini_mime"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "digest-crc" + "google-apis-iamcredentials_v1" + "google-apis-storage_v1" + "google-cloud-core" + "googleauth" + "mini_mime" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xpb3s7zr7g647xg66y2mavdargk5ixsfbfdmi4m2jc3khdd0hxm"; type = "gem"; }; version = "1.47.0"; }; googleauth = { - dependencies = ["faraday" "jwt" "multi_json" "os" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "multi_json" + "os" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ry9v23kndgx2pxq9v31l68k9lnnrcz1w4v75bkxq88jmbddljl1"; type = "gem"; }; version = "1.8.1"; }; highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d"; type = "gem"; }; version = "2.0.3"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk"; type = "gem"; }; version = "1.0.5"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; version = "2.7.2"; }; jwt = { - dependencies = ["base64"]; - groups = ["default"]; - platforms = []; + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02m3vza49pb9dirwpn8vmzbcypi3fc6l3a9dh253jwm1121g7ajb"; type = "gem"; }; version = "2.8.1"; }; mini_magick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0slh78f9z6n0l1i2km7m48yz7l4fjrk88sj1f4mh1wb39sl2yc37"; type = "gem"; }; version = "4.12.0"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1033p35166d9p97y4vajbbvr13pmkk9zwn7sylxpmk9jrpk8ri67"; type = "gem"; }; version = "2.4.0"; }; nanaimo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma"; type = "gem"; }; version = "0.3.0"; }; naturally = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04x1nkx6gkqzlc4phdvq05v3vjds6mgqhjqzqpcs6vdh5xyqrf59"; type = "gem"; }; version = "2.2.1"; }; nkf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv"; type = "gem"; }; version = "0.2.0"; }; optparse = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pmsn1g1q5fpkjrc4h1wlw6lxlqp165sdcd951xyl47n6k0az17m"; type = "gem"; }; version = "0.4.0"; }; os = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap"; type = "gem"; }; version = "1.1.4"; }; plist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b643i5b7b7galvlb2fc414ifmb78b5lsq47gnvhzl8m27dl559z"; type = "gem"; }; version = "3.7.1"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14y4vzjwf5gp0mqgs880kis0k7n2biq8i6ci6q2n315kichl1hvj"; type = "gem"; }; version = "5.0.5"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; representable = { - dependencies = ["declarative" "trailblazer-option" "uber"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "declarative" + "trailblazer-option" + "uber" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kms3r6w6pnryysnaqqa9fsn0v73zx1ilds9d1c565n3xdzbyafc"; type = "gem"; }; version = "3.2.0"; }; retriable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha"; type = "gem"; }; version = "3.1.2"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; version = "3.2.6"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d"; type = "gem"; }; version = "2.0.7"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; security = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1drkm2wgjazwzj09db1szrllkag036bdvc3dr42fh1kpr877m5rs"; type = "gem"; }; version = "0.1.5"; }; signet = { - dependencies = ["addressable" "faraday" "jwt" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + "jwt" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cfxa11wy1nv9slmnzjczkdgld0gqizajsb03rliy53zylwkjzsk"; type = "gem"; }; version = "0.19.0"; }; simctl = { - dependencies = ["CFPropertyList" "naturally"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "naturally" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sr3z4kmp6ym7synicyilj9vic7i9nxgaszqx6n1xn1ss7s7g45r"; type = "gem"; }; version = "1.6.10"; }; terminal-notifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1slc0y8pjpw30hy21v8ypafi8r7z9jlj4bjbgz03b65b28i2n3bs"; type = "gem"; }; version = "2.0.0"; }; terminal-table = { - dependencies = ["unicode-display_width"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unicode-display_width" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr"; type = "gem"; }; version = "3.0.2"; }; trailblazer-option = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18s48fndi2kfvrfzmq6rxvjfwad347548yby0341ixz1lhpg3r10"; type = "gem"; }; version = "0.1.2"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; version = "0.8.2"; }; tty-spinner = { - dependencies = ["tty-cursor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-cursor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf"; type = "gem"; }; version = "0.9.3"; }; uber = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; type = "gem"; }; version = "0.1.0"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; version = "2.5.0"; }; word_wrap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1iyc5bc7dbgsd8j3yk1i99ral39f23l6wapi0083fbl19hid8mpm"; type = "gem"; }; version = "1.0.0"; }; xcodeproj = { - dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "CFPropertyList" + "atomos" + "claide" + "colored2" + "nanaimo" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wpg4n7b8571j2h8h7v2kk8pr141rgf6m8mhk221k990fissrq56"; type = "gem"; }; version = "1.24.0"; }; xcpretty = { - dependencies = ["rouge"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rouge" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xq47q2h5llj7b54rws4796904vnnjz7qqnacdv7wlp3gdbwrivm"; type = "gem"; }; version = "0.3.0"; }; xcpretty-travis-formatter = { - dependencies = ["xcpretty"]; - groups = ["default"]; - platforms = []; + dependencies = [ "xcpretty" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14rg4f70klrs910n7rsgfa4dn8s2qyny55194ax2qyyb2wpk7k5a"; type = "gem"; }; diff --git a/pkgs/tools/admin/google-cloud-sdk/components.nix b/pkgs/tools/admin/google-cloud-sdk/components.nix index c337112762b64..30c16ff1ef448 100644 --- a/pkgs/tools/admin/google-cloud-sdk/components.nix +++ b/pkgs/tools/admin/google-cloud-sdk/components.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, system -, snapshotPath -, autoPatchelfHook -, python3 -, libxcrypt-legacy +{ + lib, + stdenv, + fetchurl, + system, + snapshotPath, + autoPatchelfHook, + python3, + libxcrypt-legacy, }: let @@ -25,7 +26,8 @@ let }; # Convert an archicecture + OS to a Nix platform - toNixPlatform = arch: os: + toNixPlatform = + arch: os: let arch' = arches.${arch} or (throw "unsupported architecture '${arch}'"); os' = oses.${os} or (throw "unsupported OS '${os}'"); @@ -44,10 +46,11 @@ let # installed with google-cloud-sdk to let it know which components are # available. snapshotFromComponent = - { component - , revision - , schema_version - , version + { + component, + revision, + schema_version, + version, }: builtins.toJSON { components = [ component ]; @@ -56,21 +59,27 @@ let # Generate a set of components from a JSON file describing these components componentsFromSnapshot = - { components - , revision - , schema_version - , version - , ... + { + components, + revision, + schema_version, + version, + ... }: lib.fix ( self: builtins.listToAttrs ( - builtins.map - (component: { - name = component.id; - value = componentFromSnapshot self { inherit component revision schema_version version; }; - }) - components + builtins.map (component: { + name = component.id; + value = componentFromSnapshot self { + inherit + component + revision + schema_version + version + ; + }; + }) components ) ); @@ -80,69 +89,68 @@ let # Component derivations that can be used as dependencies components: # This component's snapshot - { component - , revision - , schema_version - , version - } @ attrs: + { + component, + revision, + schema_version, + version, + }@attrs: let baseUrl = builtins.dirOf schema_version.url; # Architectures supported by this component. Defaults to all available # architectures. - architectures = builtins.filter - (arch: builtins.elem arch (builtins.attrNames arches)) - (lib.attrByPath [ "platform" "architectures" ] allArches component); + architectures = builtins.filter (arch: builtins.elem arch (builtins.attrNames arches)) ( + lib.attrByPath [ "platform" "architectures" ] allArches component + ); # Operating systems supported by this component - operating_systems = builtins.filter - (os: builtins.elem os (builtins.attrNames oses)) - component.platform.operating_systems; + operating_systems = builtins.filter ( + os: builtins.elem os (builtins.attrNames oses) + ) component.platform.operating_systems; in - mkComponent - { - pname = component.id; - version = component.version.version_string; - src = - lib.optionalString (lib.hasAttrByPath [ "data" "source" ] component) "${baseUrl}/${component.data.source}"; - sha256 = lib.attrByPath [ "data" "checksum" ] "" component; - dependencies = builtins.map (dep: builtins.getAttr dep components) component.dependencies; - platforms = - if component.platform == { } - then lib.platforms.all - else - builtins.concatMap - (arch: builtins.map (os: toNixPlatform arch os) operating_systems) - architectures; - snapshot = snapshotFromComponent attrs; - }; + mkComponent { + pname = component.id; + version = component.version.version_string; + src = lib.optionalString (lib.hasAttrByPath [ + "data" + "source" + ] component) "${baseUrl}/${component.data.source}"; + sha256 = lib.attrByPath [ "data" "checksum" ] "" component; + dependencies = builtins.map (dep: builtins.getAttr dep components) component.dependencies; + platforms = + if component.platform == { } then + lib.platforms.all + else + builtins.concatMap (arch: builtins.map (os: toNixPlatform arch os) operating_systems) architectures; + snapshot = snapshotFromComponent attrs; + }; # Filter out dependencies not supported by current system filterForSystem = builtins.filter (drv: builtins.elem system drv.meta.platforms); # Make a google-cloud-sdk component mkComponent = - { pname - , version + { + pname, + version, # Source tarball, if any - , src ? "" + src ? "", # Checksum for the source tarball, if there is a source - , sha256 ? "" + sha256 ? "", # Other components this one depends on - , dependencies ? [ ] + dependencies ? [ ], # Short text describing the component - , description ? "" + description ? "", # Platforms supported - , platforms ? lib.platforms.all + platforms ? lib.platforms.all, # The snapshot corresponding to this component - , snapshot - }: stdenv.mkDerivation { + snapshot, + }: + stdenv.mkDerivation { inherit pname version snapshot; - src = - lib.optionalString (src != "") - (fetchurl - { - url = src; - inherit sha256; - }); + src = lib.optionalString (src != "") (fetchurl { + url = src; + inherit sha256; + }); dontUnpack = true; installPhase = '' mkdir -p $out/google-cloud-sdk/.install @@ -161,12 +169,14 @@ let # Write the snapshot file to the `.install` folder cp $snapshotPath $out/google-cloud-sdk/.install/${pname}.snapshot.json ''; - nativeBuildInputs = [ - python3 - stdenv.cc.cc - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - autoPatchelfHook - ]; + nativeBuildInputs = + [ + python3 + stdenv.cc.cc + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + ]; buildInputs = [ libxcrypt-legacy ]; diff --git a/pkgs/tools/admin/google-cloud-sdk/data.nix b/pkgs/tools/admin/google-cloud-sdk/data.nix index 5e695041c01f4..7060d52e3bb99 100644 --- a/pkgs/tools/admin/google-cloud-sdk/data.nix +++ b/pkgs/tools/admin/google-cloud-sdk/data.nix @@ -3,30 +3,25 @@ { version = "501.0.0"; googleCloudSdkPkgs = { - x86_64-linux = - { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-linux-x86_64.tar.gz"; - sha256 = "1naswkfjjmmhb6n3zsma246pang3cnadwqgi683fimznmcc228sa"; - }; - x86_64-darwin = - { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-darwin-x86_64.tar.gz"; - sha256 = "1k5is68s6y6bxmq8mhdsd2pfqw0rx9maakqis7wxnzvfpwdmamqc"; - }; - aarch64-linux = - { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-linux-arm.tar.gz"; - sha256 = "1926lc0wbf06qwm0936jj3l98j82d6llljwsly99yrqwyfibi0h0"; - }; - aarch64-darwin = - { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-darwin-arm.tar.gz"; - sha256 = "19zjb4l067q81jg4djv4x1l95scdbk4kp3bj3dxm1rxaz3ik0jcl"; - }; - i686-linux = - { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-linux-x86.tar.gz"; - sha256 = "03vggxqfml0hl7jyjcmp51c5vw88d5zrsc18782rb533dd586g0n"; - }; + x86_64-linux = { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-linux-x86_64.tar.gz"; + sha256 = "1naswkfjjmmhb6n3zsma246pang3cnadwqgi683fimznmcc228sa"; + }; + x86_64-darwin = { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-darwin-x86_64.tar.gz"; + sha256 = "1k5is68s6y6bxmq8mhdsd2pfqw0rx9maakqis7wxnzvfpwdmamqc"; + }; + aarch64-linux = { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-linux-arm.tar.gz"; + sha256 = "1926lc0wbf06qwm0936jj3l98j82d6llljwsly99yrqwyfibi0h0"; + }; + aarch64-darwin = { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-darwin-arm.tar.gz"; + sha256 = "19zjb4l067q81jg4djv4x1l95scdbk4kp3bj3dxm1rxaz3ik0jcl"; + }; + i686-linux = { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-501.0.0-linux-x86.tar.gz"; + sha256 = "03vggxqfml0hl7jyjcmp51c5vw88d5zrsc18782rb533dd586g0n"; + }; }; } diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index 87cb27b57d19c..8c4c33f2d686d 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -7,20 +7,35 @@ # 3) used by `google-cloud-sdk` only on GCE guests # -{ stdenv, lib, fetchurl, makeWrapper, python, openssl, jq, callPackage, installShellFiles, with-gce ? false }: +{ + stdenv, + lib, + fetchurl, + makeWrapper, + python, + openssl, + jq, + callPackage, + installShellFiles, + with-gce ? false, +}: let - pythonEnv = python.withPackages (p: with p; [ - cffi - cryptography - pyopenssl - crcmod - numpy - ] ++ lib.optional (with-gce) google-compute-engine); + pythonEnv = python.withPackages ( + p: + with p; + [ + cffi + cryptography + pyopenssl + crcmod + numpy + ] + ++ lib.optional (with-gce) google-compute-engine + ); data = import ./data.nix { }; - sources = system: - data.googleCloudSdkPkgs.${system} or (throw "Unsupported system: ${system}"); + sources = system: data.googleCloudSdkPkgs.${system} or (throw "Unsupported system: ${system}"); components = callPackage ./components.nix { snapshotPath = ./components.json; @@ -28,7 +43,8 @@ let withExtraComponents = callPackage ./withExtraComponents.nix { inherit components; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "google-cloud-sdk"; inherit (data) version; @@ -36,7 +52,11 @@ in stdenv.mkDerivation rec { buildInputs = [ python ]; - nativeBuildInputs = [ jq makeWrapper installShellFiles ]; + nativeBuildInputs = [ + jq + makeWrapper + installShellFiles + ]; patches = [ # For kubectl configs, don't store the absolute path of the `gcloud` binary as it can be garbage-collected @@ -135,13 +155,19 @@ in stdenv.mkDerivation rec { longDescription = "The Google Cloud SDK for GCE hosts. Used by `google-cloud-sdk` only on GCE guests."; sourceProvenance = with sourceTypes; [ fromSource - binaryNativeCode # anthoscli and possibly more + binaryNativeCode # anthoscli and possibly more ]; # This package contains vendored dependencies. All have free licenses. license = licenses.free; homepage = "https://cloud.google.com/sdk/"; changelog = "https://cloud.google.com/sdk/docs/release-notes"; - maintainers = with maintainers; [ iammrinal0 marcusramberg pradyuman stephenmw zimbatm ]; + maintainers = with maintainers; [ + iammrinal0 + marcusramberg + pradyuman + stephenmw + zimbatm + ]; platforms = builtins.attrNames data.googleCloudSdkPkgs; mainProgram = "gcloud"; }; diff --git a/pkgs/tools/admin/google-cloud-sdk/withExtraComponents.nix b/pkgs/tools/admin/google-cloud-sdk/withExtraComponents.nix index 63070a85dd8fe..29cdc6334f893 100644 --- a/pkgs/tools/admin/google-cloud-sdk/withExtraComponents.nix +++ b/pkgs/tools/admin/google-cloud-sdk/withExtraComponents.nix @@ -1,4 +1,9 @@ -{ lib, google-cloud-sdk, symlinkJoin, components }: +{ + lib, + google-cloud-sdk, + symlinkJoin, + components, +}: comps_: @@ -6,19 +11,34 @@ let # Remove components which are already installed by default filterPreInstalled = let - preInstalledComponents = with components; [ bq bq-nix core core-nix gcloud-deps gcloud gsutil gsutil-nix ]; + preInstalledComponents = with components; [ + bq + bq-nix + core + core-nix + gcloud-deps + gcloud + gsutil + gsutil-nix + ]; in builtins.filter (drv: !(builtins.elem drv preInstalledComponents)); # Recursively build a list of components with their dependencies # TODO this could be made faster, it checks the dependencies too many times - findDepsRecursive = lib.converge - (drvs: lib.unique (drvs ++ (builtins.concatMap (drv: drv.dependencies) drvs))); + findDepsRecursive = lib.converge ( + drvs: lib.unique (drvs ++ (builtins.concatMap (drv: drv.dependencies) drvs)) + ); # Components to install by default - defaultComponents = with components; [ alpha beta ]; + defaultComponents = with components; [ + alpha + beta + ]; - comps = [ google-cloud-sdk ] ++ filterPreInstalled (findDepsRecursive (defaultComponents ++ comps_)); + comps = [ + google-cloud-sdk + ] ++ filterPreInstalled (findDepsRecursive (defaultComponents ++ comps_)); installCheck = let diff --git a/pkgs/tools/admin/itamae/default.nix b/pkgs/tools/admin/itamae/default.nix index d84da4fd97412..fbcb6e3c05f93 100644 --- a/pkgs/tools/admin/itamae/default.nix +++ b/pkgs/tools/admin/itamae/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "itamae"; diff --git a/pkgs/tools/admin/itamae/gemset.nix b/pkgs/tools/admin/itamae/gemset.nix index 207a2aed7ab02..f0accad4dd101 100644 --- a/pkgs/tools/admin/itamae/gemset.nix +++ b/pkgs/tools/admin/itamae/gemset.nix @@ -1,153 +1,167 @@ { ansi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14ims9zfal4gs2wpx2m5rd8zsrl2k794d359shkrsgg3fhr2a22l"; type = "gem"; }; version = "1.5.0"; }; bcrypt_pbkdf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ndamfaivnkhc6hy0yqyk2gkwr6f3bz6216lh74hsiiyk3axz445"; type = "gem"; }; version = "1.1.0"; }; docker-api = { - dependencies = ["excon" "multi_json"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "excon" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g7dbniz15b3l2sy6xh0j0998dr5jypf3xg3bsygp0108vv7waxy"; type = "gem"; }; version = "2.2.0"; }; ed25519 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji"; type = "gem"; }; version = "1.3.0"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j826kfvzn7nc5pv950n270r0sx1702k988ad11cdlav3dcxxw09"; type = "gem"; }; version = "0.99.0"; }; hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; itamae = { - dependencies = ["ansi" "hashie" "schash" "specinfra" "thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "ansi" + "hashie" + "schash" + "specinfra" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zhx0cknipkjqp33qdxjlv7lcybgmh1jv9npp55vxaazd8cyfylx"; type = "gem"; }; version = "1.14.1"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qp3i8bi7ji1np0530bp2p9zrrn6galvmbsivxwpkjdpjdyn19sr"; type = "gem"; }; version = "7.0.1"; }; net-telnet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qxznpwmc3hs51b76wqx2w29r158gzzh8719kv2gpi56844c8fx"; type = "gem"; }; version = "0.1.1"; }; schash = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ia62xi56pkxy4y6wg3v5kwabjncyh3g78nqll4fs34zhdf7v8ad"; type = "gem"; }; version = "0.1.2"; }; sfl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qm4hvhq9pszi9zs1cl9qgwx1n4wxq0af0hq9sbf6qihqd8rwwwr"; type = "gem"; }; version = "2.3"; }; specinfra = { - dependencies = ["net-scp" "net-ssh" "net-telnet" "sfl"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "net-scp" + "net-ssh" + "net-telnet" + "sfl" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qzhb7k66gi375ymnkwiy4alr7jw2c9ih7hv1lv5j5nda10hfb1p"; type = "gem"; }; version = "2.84.1"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; type = "gem"; }; diff --git a/pkgs/tools/admin/meraki-cli/default.nix b/pkgs/tools/admin/meraki-cli/default.nix index 2097dab07750b..30d8dc648c8cd 100644 --- a/pkgs/tools/admin/meraki-cli/default.nix +++ b/pkgs/tools/admin/meraki-cli/default.nix @@ -1,12 +1,13 @@ -{ lib -, argcomplete -, jinja2 -, meraki -, rich -, fetchPypi -, buildPythonApplication -, pytestCheckHook -, requests-mock +{ + lib, + argcomplete, + jinja2, + meraki, + rich, + fetchPypi, + buildPythonApplication, + pytestCheckHook, + requests-mock, }: buildPythonApplication rec { diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix index ef5e1e7bf5c70..bfcf476a005c5 100644 --- a/pkgs/tools/admin/meshcentral/default.nix +++ b/pkgs/tools/admin/meshcentral/default.nix @@ -1,10 +1,11 @@ -{ lib -, fetchzip -, fetchpatch -, fetchYarnDeps -, yarn2nix-moretea -, nodejs_18 -, dos2unix +{ + lib, + fetchzip, + fetchpatch, + fetchYarnDeps, + yarn2nix-moretea, + nodejs_18, + dos2unix, }: yarn2nix-moretea.mkYarnPackage { diff --git a/pkgs/tools/admin/oxidized/default.nix b/pkgs/tools/admin/oxidized/default.nix index a9771d339a3e6..28a25b3f1d74d 100644 --- a/pkgs/tools/admin/oxidized/default.nix +++ b/pkgs/tools/admin/oxidized/default.nix @@ -1,4 +1,9 @@ -{ lib, ruby, bundlerApp, bundlerUpdateScript }: +{ + lib, + ruby, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "oxidized"; @@ -6,15 +11,18 @@ bundlerApp { inherit ruby; - exes = [ "oxidized" "oxs" ]; + exes = [ + "oxidized" + "oxs" + ]; passthru.updateScript = bundlerUpdateScript "oxidized"; meta = with lib; { description = "Network device configuration backup tool. It's a RANCID replacement"; - homepage = "https://github.com/ytti/oxidized"; - license = licenses.asl20; + homepage = "https://github.com/ytti/oxidized"; + license = licenses.asl20; maintainers = with maintainers; [ nicknovitski ] ++ teams.wdz.members; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/admin/oxidized/gemset.nix b/pkgs/tools/admin/oxidized/gemset.nix index eef644b6157c1..e392920b77431 100644 --- a/pkgs/tools/admin/oxidized/gemset.nix +++ b/pkgs/tools/admin/oxidized/gemset.nix @@ -1,205 +1,226 @@ { asetus = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0li09rcpgc21ymfayvhnjwvfl10s75g8aj52973gk0gvygscrhah"; type = "gem"; }; version = "0.4.0"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bcrypt_pbkdf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04rb3rp9bdxn1y3qiflfpj7ccwb8ghrfbydh5vfz1l9px3fpg41g"; type = "gem"; }; version = "1.1.1"; }; charlock_holmes = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c1dws56r7p8y363dhyikg7205z59a3bn4amnv2y488rrq8qm7ml"; type = "gem"; }; version = "0.7.9"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; version = "3.3.4"; }; ed25519 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji"; type = "gem"; }; version = "1.3.0"; }; emk-sinatra-url-for = { - dependencies = ["sinatra"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sinatra" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rd5b1lraklv0hblzdnmw2z3dragfg0qqk7wxbpn58f8y7jxzjgj"; type = "gem"; }; version = "0.2.1"; }; haml = { - dependencies = ["temple" "thor" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "temple" + "thor" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15yxph91zswbnfy7szpdcfbdfqqn595ff290hm4f6fcnhryvhvlf"; type = "gem"; }; version = "6.3.0"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; version = "2.7.2"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; mustermann = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby2_keywords" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwbq20s2gdh8dljjsgj5s6wqqfmnbclhvv2c2608brv7jm6jdbd"; type = "gem"; }; version = "3.0.0"; }; net-ftp = { - dependencies = ["net-protocol" "time"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "net-protocol" + "time" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vhwqx8k5xscl6j6gdf1xs1lz6fwm8k8s1n7pwhk22cxnxcfmnnh"; type = "gem"; }; version = "0.3.7"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n"; type = "gem"; }; version = "7.2.3"; }; net-telnet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16nkxc79nqm7fd6w1fba4kb98vpgwnyfnlwxarpdcgywz300fc15"; type = "gem"; }; version = "0.2.0"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal"; type = "gem"; }; version = "2.7.3"; }; oxidized = { - dependencies = ["asetus" "bcrypt_pbkdf" "ed25519" "net-ftp" "net-scp" "net-ssh" "net-telnet" "psych" "rugged" "slop"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asetus" + "bcrypt_pbkdf" + "ed25519" + "net-ftp" + "net-scp" + "net-ssh" + "net-telnet" + "psych" + "rugged" + "slop" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ry9rwksjb80wxd42zv5m5444n5hwhkbr4spa895jk2c1k5q1y0c"; type = "gem"; }; version = "0.30.1"; }; oxidized-script = { - dependencies = ["oxidized" "slop"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "oxidized" + "slop" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "988cded5d89f52e274afb545bd3e011e19d5d22d"; @@ -210,167 +231,192 @@ version = "0.6.0"; }; oxidized-web = { - dependencies = ["charlock_holmes" "emk-sinatra-url-for" "haml" "htmlentities" "json" "oxidized" "puma" "sinatra" "sinatra-contrib"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "charlock_holmes" + "emk-sinatra-url-for" + "haml" + "htmlentities" + "json" + "oxidized" + "puma" + "sinatra" + "sinatra-contrib" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mf1kxjg49fxf988sqd9cni8j5r8xsp3218370ppinsy39l50782"; type = "gem"; }; version = "0.14.0"; }; psych = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "186i2hc6sfvg4skhqf82kxaf4mb60g65fsif8w8vg1hc9mbyiaph"; type = "gem"; }; version = "3.3.4"; }; puma = { - dependencies = ["nio4r"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i2vaww6qcazj0ywva1plmjnj6rk23b01szswc5jhcq7s2cikd1y"; type = "gem"; }; version = "6.4.2"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12z55b90vvr4sh93az2yfr3fg91jivsag8lcg0k360d99vdq568f"; type = "gem"; }; version = "3.1.7"; }; rack-protection = { - dependencies = ["base64" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xmvcxgm1jq92hqxm119gfk95wzl0d46nb2c2c6qqsm4ra2n3nyh"; type = "gem"; }; version = "4.0.0"; }; rack-session = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10afdpmy9kh0qva96slcyc59j4gkk9av8ilh58cnj0qq7q3b416v"; type = "gem"; }; version = "2.0.0"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rugged = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sccng15h8h3mcjxfgvxy85lfpswbj0nhmzwwsqdffbzqgsb2jch"; type = "gem"; }; version = "1.7.2"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "rack-session" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mustermann" + "rack" + "rack-protection" + "rack-session" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0za92lv4s7xhgkkm6xxf7ib0b3bsyj8drxgkrskgsb5g3mxnixjl"; type = "gem"; }; version = "4.0.0"; }; sinatra-contrib = { - dependencies = ["multi_json" "mustermann" "rack-protection" "sinatra" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "multi_json" + "mustermann" + "rack-protection" + "sinatra" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r9khg85m60w0i77jpnm2irh9m4k0ia4mlicapj8dr7s6ykqd9dh"; type = "gem"; }; version = "4.0.0"; }; slop = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1iyrjskgxyn8i1679qwkzns85p909aq77cgx2m4fs5ygzysj4hw4"; type = "gem"; }; version = "4.10.1"; }; temple = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fwia5hvc1xz9w7vprzjnsym3v9j5l9ggdvy70jixbvpcpz4acfz"; type = "gem"; }; version = "0.10.3"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; type = "gem"; }; version = "1.3.1"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; time = { - dependencies = ["date"]; - groups = ["default"]; - platforms = []; + dependencies = [ "date" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c15v19hyxjcfzaviqlwhgajgyrrlb0pjilza6mkv49bhspy6av6"; type = "gem"; }; version = "0.3.0"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; diff --git a/pkgs/tools/admin/pulumi-bin/update-pulumi-shell.nix b/pkgs/tools/admin/pulumi-bin/update-pulumi-shell.nix index a972b633abb01..8101f1b5b926e 100644 --- a/pkgs/tools/admin/pulumi-bin/update-pulumi-shell.nix +++ b/pkgs/tools/admin/pulumi-bin/update-pulumi-shell.nix @@ -1,4 +1,6 @@ -{ nixpkgs ? import ../../../.. { } }: +{ + nixpkgs ? import ../../../.. { }, +}: with nixpkgs; mkShell { packages = [ diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-aws-native.nix b/pkgs/tools/admin/pulumi-packages/pulumi-aws-native.nix index 51971963fc378..af57f166b7029 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-aws-native.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-aws-native.nix @@ -1,5 +1,6 @@ -{ lib -, mkPulumiPackage +{ + lib, + mkPulumiPackage, }: mkPulumiPackage rec { owner = "pulumi"; @@ -30,6 +31,9 @@ mkPulumiPackage rec { mainProgram = "pulumi-resource-aws-native"; homepage = "https://github.com/pulumi/pulumi-aws-native"; license = licenses.asl20; - maintainers = with maintainers; [ veehaitch trundle ]; + maintainers = with maintainers; [ + veehaitch + trundle + ]; }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix b/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix index 7b37577da5661..75356bff02218 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix @@ -1,5 +1,6 @@ -{ lib -, mkPulumiPackage +{ + lib, + mkPulumiPackage, }: mkPulumiPackage rec { owner = "pulumi"; @@ -35,6 +36,9 @@ mkPulumiPackage rec { mainProgram = "pulumi-resource-azure-native"; homepage = "https://github.com/pulumi/pulumi-azure-native"; license = licenses.asl20; - maintainers = with maintainers; [ veehaitch trundle ]; + maintainers = with maintainers; [ + veehaitch + trundle + ]; }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-command.nix b/pkgs/tools/admin/pulumi-packages/pulumi-command.nix index 1fc6df0cfafa5..30910187208b3 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-command.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-command.nix @@ -1,5 +1,6 @@ -{ lib -, mkPulumiPackage +{ + lib, + mkPulumiPackage, }: mkPulumiPackage rec { owner = "pulumi"; @@ -29,6 +30,9 @@ mkPulumiPackage rec { mainProgram = "pulumi-resource-command"; homepage = "https://github.com/pulumi/pulumi-command"; license = licenses.asl20; - maintainers = with maintainers; [ veehaitch trundle ]; + maintainers = with maintainers; [ + veehaitch + trundle + ]; }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix index fe05f336e969b..01d1fec500c51 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, pulumi +{ + lib, + buildGoModule, + pulumi, }: buildGoModule rec { pname = "pulumi-language-go"; diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix index cca79b1d9607d..3fcd92e58d217 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, pulumi -, nodejs +{ + buildGoModule, + pulumi, + nodejs, }: buildGoModule rec { inherit (pulumi) version src; diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix index 371a4f7c95fbc..b685a8ff63359 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix @@ -1,6 +1,7 @@ -{ buildGoModule -, pulumi -, python3 +{ + buildGoModule, + pulumi, + python3, }: buildGoModule rec { inherit (pulumi) version src; diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-random.nix b/pkgs/tools/admin/pulumi-packages/pulumi-random.nix index 6fcf4b2d5ccc3..63461ae137136 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-random.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-random.nix @@ -1,5 +1,6 @@ -{ lib -, mkPulumiPackage +{ + lib, + mkPulumiPackage, }: mkPulumiPackage rec { owner = "pulumi"; @@ -19,6 +20,9 @@ mkPulumiPackage rec { mainProgram = "pulumi-resource-random"; homepage = "https://github.com/pulumi/pulumi-random"; license = licenses.asl20; - maintainers = with maintainers; [ veehaitch trundle ]; + maintainers = with maintainers; [ + veehaitch + trundle + ]; }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix b/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix index 52079fbda066e..f74d82ec1268b 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix @@ -1,5 +1,6 @@ -{ lib -, mkPulumiPackage +{ + lib, + mkPulumiPackage, }: # Note that we are not using https://github.com/pulumi/pulumi-yandex because # it has been archived in 2022. @@ -21,7 +22,11 @@ mkPulumiPackage rec { description = "Unofficial Yandex Cloud Resource Provider"; homepage = "https://github.com/Regrau/pulumi-yandex"; license = licenses.asl20; - maintainers = with maintainers; [ tie veehaitch trundle ]; + maintainers = with maintainers; [ + tie + veehaitch + trundle + ]; mainProgram = cmdRes; }; } diff --git a/pkgs/tools/admin/trinsic-cli/default.nix b/pkgs/tools/admin/trinsic-cli/default.nix index afa431ecd76fd..06926669fc759 100644 --- a/pkgs/tools/admin/trinsic-cli/default.nix +++ b/pkgs/tools/admin/trinsic-cli/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchurl, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchurl, + Security, +}: rustPlatform.buildRustPackage rec { pname = "trinsic-cli"; diff --git a/pkgs/tools/admin/turbovnc/default.nix b/pkgs/tools/admin/turbovnc/default.nix index ed3c873d162f6..c78086181e189 100644 --- a/pkgs/tools/admin/turbovnc/default.nix +++ b/pkgs/tools/admin/turbovnc/default.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + nixosTests, -# Dependencies -, bzip2 -, cmake -, freetype -, libGL -, libjpeg_turbo -, makeWrapper -, mesa # for built-in 3D software rendering using swrast -, openjdk # for the client with Java GUI -, openjdk_headless # for the server -, openssh -, openssl -, pam -, perl -, pkg-config -, python3 -, which -, xkbcomp -, xkeyboard_config -, xorg -, xterm -, zlib + # Dependencies + bzip2, + cmake, + freetype, + libGL, + libjpeg_turbo, + makeWrapper, + mesa, # for built-in 3D software rendering using swrast + openjdk, # for the client with Java GUI + openjdk_headless, # for the server + openssh, + openssl, + pam, + perl, + pkg-config, + python3, + which, + xkbcomp, + xkeyboard_config, + xorg, + xterm, + zlib, }: stdenv.mkDerivation (finalAttrs: { @@ -58,30 +59,32 @@ stdenv.mkDerivation (finalAttrs: { python3 ]; - buildInputs = [ - bzip2 - freetype - libGL # for -DTVNC_SYSTEMX11=1 - libjpeg_turbo - openssl - pam - perl - zlib - ] ++ (with xorg; [ - libfontenc # for -DTVNC_SYSTEMX11=1 - libSM - libX11 - libXdamage # for -DTVNC_SYSTEMX11=1 - libXdmcp # for -DTVNC_SYSTEMX11=1 - libXext - libXfont2 # for -DTVNC_SYSTEMX11=1 - libxkbfile # for -DTVNC_SYSTEMX11=1 - libXi - mesa # for -DTVNC_SYSTEMX11=1 - pixman # for -DTVNC_SYSTEMX11=1 - xorgproto - xtrans # for -DTVNC_SYSTEMX11=1 - ]); + buildInputs = + [ + bzip2 + freetype + libGL # for -DTVNC_SYSTEMX11=1 + libjpeg_turbo + openssl + pam + perl + zlib + ] + ++ (with xorg; [ + libfontenc # for -DTVNC_SYSTEMX11=1 + libSM + libX11 + libXdamage # for -DTVNC_SYSTEMX11=1 + libXdmcp # for -DTVNC_SYSTEMX11=1 + libXext + libXfont2 # for -DTVNC_SYSTEMX11=1 + libxkbfile # for -DTVNC_SYSTEMX11=1 + libXi + mesa # for -DTVNC_SYSTEMX11=1 + pixman # for -DTVNC_SYSTEMX11=1 + xorgproto + xtrans # for -DTVNC_SYSTEMX11=1 + ]); postPatch = '' substituteInPlace unix/Xvnc/CMakeLists.txt --replace 'string(REGEX REPLACE "X11" "Xfont2" X11_Xfont2_LIB' 'set(X11_Xfont2_LIB ${xorg.libXfont2}/lib/libXfont2.so) #' @@ -118,7 +121,14 @@ stdenv.mkDerivation (finalAttrs: { # It checks for it using `which twm`. # vncserver needs also needs `xauth` and we add in `xterm` for convenience wrapProgram $out/bin/vncserver \ - --prefix PATH : ${lib.makeBinPath [ which xorg.twm xorg.xauth xterm ]} + --prefix PATH : ${ + lib.makeBinPath [ + which + xorg.twm + xorg.xauth + xterm + ] + } # Patch /usr/bin/perl patchShebangs $out/bin/vncserver diff --git a/pkgs/tools/archivers/arj/default.nix b/pkgs/tools/archivers/arj/default.nix index 5ec946788d927..ad512f5834b50 100644 --- a/pkgs/tools/archivers/arj/default.nix +++ b/pkgs/tools/archivers/arj/default.nix @@ -1,4 +1,10 @@ -{stdenv, lib, fetchurl, fetchpatch, autoreconfHook}: +{ + stdenv, + lib, + fetchurl, + fetchpatch, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "arj"; diff --git a/pkgs/tools/archivers/gbl/default.nix b/pkgs/tools/archivers/gbl/default.nix index 6bbc31a6b1c62..889c6b5ad1a7c 100644 --- a/pkgs/tools/archivers/gbl/default.nix +++ b/pkgs/tools/archivers/gbl/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, fetchpatch -, pkg-config -, openssl -, testers -, gbl -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + fetchpatch, + pkg-config, + openssl, + testers, + gbl, + Security, }: rustPlatform.buildRustPackage rec { @@ -40,8 +41,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - passthru.tests.version = - testers.testVersion { package = gbl; }; + passthru.tests.version = testers.testVersion { package = gbl; }; meta = with lib; { description = "GBL Firmware file manipulation"; diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix index 292b39738dfc7..02eae53b58e02 100644 --- a/pkgs/tools/archivers/gnutar/default.nix +++ b/pkgs/tools/archivers/gnutar/default.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchurl, autoreconfHook, updateAutotoolsGnuConfigScriptsHook -, libintl -, aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, acl +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + updateAutotoolsGnuConfigScriptsHook, + libintl, + aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, + acl, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -28,7 +34,10 @@ stdenv.mkDerivation rec { substituteInPlace src/system.c --replace '_(' 'N_(' ''; - outputs = [ "out" "info" ]; + outputs = [ + "out" + "info" + ]; nativeBuildInputs = [ autoreconfHook ]; @@ -41,11 +50,17 @@ stdenv.mkDerivation rec { # May have some issues with root compilation because the bootstrap tool # cannot be used as a login shell for now. - FORCE_UNSAFE_CONFIGURE = lib.optionalString (stdenv.hostPlatform.system == "armv7l-linux" || stdenv.hostPlatform.isSunOS) "1"; - - preConfigure = if stdenv.hostPlatform.isCygwin then '' - sed -i gnu/fpending.h -e 's,include ,,' - '' else null; + FORCE_UNSAFE_CONFIGURE = lib.optionalString ( + stdenv.hostPlatform.system == "armv7l-linux" || stdenv.hostPlatform.isSunOS + ) "1"; + + preConfigure = + if stdenv.hostPlatform.isCygwin then + '' + sed -i gnu/fpending.h -e 's,include ,,' + '' + else + null; doCheck = false; # fails doInstallCheck = false; # fails diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix index e77904e120d60..7faa76e01ee8b 100644 --- a/pkgs/tools/archivers/p7zip/default.nix +++ b/pkgs/tools/archivers/p7zip/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, enableUnfree ? false }: +{ + lib, + stdenv, + fetchFromGitHub, + enableUnfree ? false, +}: stdenv.mkDerivation (finalAttrs: { pname = "p7zip"; @@ -8,10 +13,12 @@ stdenv.mkDerivation (finalAttrs: { owner = "p7zip-project"; repo = "p7zip"; rev = "v${finalAttrs.version}"; - sha256 = { - free = "sha256-5r7M9BVcAryZNTkqJ/BfHnSSWov1PwoZhUnLBwEbJoA="; - unfree = "sha256-z3qXgv/TkNRbb85Ew1OcJNxoyssfzHShc0b0/4NZOb0="; - }.${if enableUnfree then "unfree" else "free"}; + sha256 = + { + free = "sha256-5r7M9BVcAryZNTkqJ/BfHnSSWov1PwoZhUnLBwEbJoA="; + unfree = "sha256-z3qXgv/TkNRbb85Ew1OcJNxoyssfzHShc0b0/4NZOb0="; + } + .${if enableUnfree then "unfree" else "free"}; # remove the unRAR related code from the src drv # > the license requires that you agree to these use restrictions, # > or you must remove the software (source and binary) from your hard disks @@ -23,26 +30,30 @@ stdenv.mkDerivation (finalAttrs: { }; # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional - postPatch = '' - sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits - # Avoid writing timestamps into compressed manpages - # to maintain determinism. - substituteInPlace install.sh --replace 'gzip' 'gzip -n' - chmod +x install.sh + postPatch = + '' + sed -i '/CC=\/usr/d' makefile.macosx_llvm_64bits + # Avoid writing timestamps into compressed manpages + # to maintain determinism. + substituteInPlace install.sh --replace 'gzip' 'gzip -n' + chmod +x install.sh - # I think this is a typo and should be CXX? Either way let's kill it - sed -i '/XX=\/usr/d' makefile.macosx_llvm_64bits - '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - substituteInPlace makefile.machine \ - --replace 'CC=gcc' 'CC=${stdenv.cc.targetPrefix}gcc' \ - --replace 'CXX=g++' 'CXX=${stdenv.cc.targetPrefix}g++' - ''; + # I think this is a typo and should be CXX? Either way let's kill it + sed -i '/XX=\/usr/d' makefile.macosx_llvm_64bits + '' + + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace makefile.machine \ + --replace 'CC=gcc' 'CC=${stdenv.cc.targetPrefix}gcc' \ + --replace 'CXX=g++' 'CXX=${stdenv.cc.targetPrefix}g++' + ''; - preConfigure = '' - buildFlags=all3 - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - cp makefile.macosx_llvm_64bits makefile.machine - ''; + preConfigure = + '' + buildFlags=all3 + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp makefile.macosx_llvm_64bits makefile.machine + ''; enableParallelBuilding = true; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing"; @@ -54,7 +65,12 @@ stdenv.mkDerivation (finalAttrs: { "DEST_SHARE_DOC=${placeholder "doc"}/share/doc/p7zip" ]; - outputs = [ "out" "lib" "doc" "man" ]; + outputs = [ + "out" + "lib" + "doc" + "man" + ]; setupHook = ./setup-hook.sh; passthru.updateScript = ./update.sh; @@ -62,14 +78,22 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { homepage = "https://github.com/p7zip-project/p7zip"; description = "New p7zip fork with additional codecs and improvements (forked from https://sourceforge.net/projects/p7zip/)"; - license = with licenses; + license = + with licenses; # p7zip code is largely lgpl2Plus # CPP/7zip/Compress/LzfseDecoder.cpp is bsd3 - [ lgpl2Plus /* and */ bsd3 ] ++ - # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction - # the unRAR compression code is disabled by default - lib.optionals enableUnfree [ unfree ]; - maintainers = with maintainers; [ raskin jk ]; + [ + lgpl2Plus # and + bsd3 + ] + ++ + # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction + # the unRAR compression code is disabled by default + lib.optionals enableUnfree [ unfree ]; + maintainers = with maintainers; [ + raskin + jk + ]; platforms = platforms.unix; mainProgram = "7z"; }; diff --git a/pkgs/tools/archivers/pax/default.nix b/pkgs/tools/archivers/pax/default.nix index b486f5e353d28..bc1673b9d7f9a 100644 --- a/pkgs/tools/archivers/pax/default.nix +++ b/pkgs/tools/archivers/pax/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, utmp, musl-fts }: +{ + lib, + stdenv, + fetchurl, + utmp, + musl-fts, +}: stdenv.mkDerivation rec { pname = "pax"; @@ -9,7 +15,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-6VXV06+Xrt4KP0Y6mlm4Po0Qg6rxQutvOIxUmn0YLms="; }; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin utmp + buildInputs = + lib.optional stdenv.hostPlatform.isDarwin utmp ++ lib.optional stdenv.hostPlatform.isMusl musl-fts; NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-lfts"; diff --git a/pkgs/tools/archivers/quickbms/default.nix b/pkgs/tools/archivers/quickbms/default.nix index 9c3aa89774bfd..15e2a2e4d91e5 100644 --- a/pkgs/tools/archivers/quickbms/default.nix +++ b/pkgs/tools/archivers/quickbms/default.nix @@ -1,12 +1,13 @@ -{ stdenv -, lib -, fetchzip -, fetchpatch -, bzip2 -, lzo -, openssl_1_1 -, opensslSupport ? false -, zlib +{ + stdenv, + lib, + fetchzip, + fetchpatch, + bzip2, + lzo, + openssl_1_1, + opensslSupport ? false, + zlib, }: stdenv.mkDerivation rec { @@ -28,8 +29,11 @@ stdenv.mkDerivation rec { }) ] ++ lib.optional (!opensslSupport) ./0002-disable-openssl.patch; - buildInputs = [ bzip2 lzo zlib ] - ++ lib.optional (opensslSupport) openssl_1_1; + buildInputs = [ + bzip2 + lzo + zlib + ] ++ lib.optional (opensslSupport) openssl_1_1; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/tools/archivers/rar/default.nix b/pkgs/tools/archivers/rar/default.nix index fb95f4de5650a..dedd67f20cd3f 100644 --- a/pkgs/tools/archivers/rar/default.nix +++ b/pkgs/tools/archivers/rar/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, installShellFiles +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + installShellFiles, }: let @@ -37,14 +38,17 @@ stdenv.mkDerivation { pname = "rar"; inherit version; - src = fetchurl (srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")); + src = fetchurl ( + srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}") + ); dontBuild = true; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ (lib.getLib stdenv.cc.cc) ]; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; + nativeBuildInputs = [ + installShellFiles + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; installPhase = '' runHook preInstall diff --git a/pkgs/tools/archivers/unrar-wrapper/default.nix b/pkgs/tools/archivers/unrar-wrapper/default.nix index 7452969cbdb4a..0355624b27642 100644 --- a/pkgs/tools/archivers/unrar-wrapper/default.nix +++ b/pkgs/tools/archivers/unrar-wrapper/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonApplication, fetchFromGitHub, unar }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + unar, +}: buildPythonApplication rec { pname = "unrar-wrapper"; @@ -12,7 +17,10 @@ buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix" "PATH" ":" "${lib.makeBinPath [ unar ]}" + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ unar ]}" ]; postFixup = '' diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index 791c4fd14f3a0..af927a4a45de9 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, perl }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, +}: stdenv.mkDerivation rec { pname = "zpaq"; @@ -11,11 +16,17 @@ stdenv.mkDerivation rec { sha256 = "0v44rlg9gvwc4ggr2lhcqll8ppal3dk7zsg5bqwcc5lg3ynk2pz4"; }; - nativeBuildInputs = [ perl /* for pod2man */ ]; + nativeBuildInputs = [ + perl # for pod2man + ]; - CPPFLAGS = [ "-Dunix" ] ++ - lib.optional (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isx86_64) "-DNOJIT"; - CXXFLAGS = [ "-O3" "-DNDEBUG" ]; + CPPFLAGS = [ + "-Dunix" + ] ++ lib.optional (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isx86_64) "-DNOJIT"; + CXXFLAGS = [ + "-O3" + "-DNDEBUG" + ]; enableParallelBuilding = true; @@ -25,7 +36,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Incremental journaling backup utility and archiver"; homepage = "http://mattmahoney.net/dc/zpaq.html"; - license = licenses.gpl3Plus ; + license = licenses.gpl3Plus; maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; mainProgram = "zpaq"; diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix index 07ef4db4d6b05..7a56de6a2cd2b 100644 --- a/pkgs/tools/archivers/zpaq/zpaqd.nix +++ b/pkgs/tools/archivers/zpaq/zpaqd.nix @@ -1,9 +1,19 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: let - compileFlags = lib.concatStringsSep " " ([ "-O3" "-DNDEBUG" ] + compileFlags = lib.concatStringsSep " " ( + [ + "-O3" + "-DNDEBUG" + ] ++ lib.optional (stdenv.hostPlatform.isUnix) "-Dunix -pthread" - ++ lib.optional (!stdenv.hostPlatform.isx86) "-DNOJIT"); + ++ lib.optional (!stdenv.hostPlatform.isx86) "-DNOJIT" + ); in stdenv.mkDerivation rec { pname = "zpaqd"; diff --git a/pkgs/tools/audio/kaldi/default.nix b/pkgs/tools/audio/kaldi/default.nix index 9a2eb15fee14c..9f023b67d5cfa 100644 --- a/pkgs/tools/audio/kaldi/default.nix +++ b/pkgs/tools/audio/kaldi/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, openblas -, blas -, lapack -, icu -, cmake -, pkg-config -, fetchFromGitHub -, python3 -, Accelerate -, _experimental-update-script-combinators -, common-updater-scripts -, ripgrep -, unstableGitUpdater -, writeShellScript +{ + lib, + stdenv, + openblas, + blas, + lapack, + icu, + cmake, + pkg-config, + fetchFromGitHub, + python3, + Accelerate, + _experimental-update-script-combinators, + common-updater-scripts, + ripgrep, + unstableGitUpdater, + writeShellScript, }: assert blas.implementation == "openblas" && lapack.implementation == "openblas"; @@ -36,12 +37,14 @@ stdenv.mkDerivation (finalAttrs: { "-DFETCHCONTENT_SOURCE_DIR_OPENFST:PATH=${finalAttrs.passthru.sources.openfst}" ]; - buildInputs = [ - openblas - icu - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Accelerate - ]; + buildInputs = + [ + openblas + icu + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Accelerate + ]; nativeBuildInputs = [ cmake @@ -77,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: { updateScript = let - updateSource = unstableGitUpdater {}; + updateSource = unstableGitUpdater { }; updateOpenfst = writeShellScript "update-openfst" '' hash=$(${ripgrep}/bin/rg --multiline --pcre2 --only-matching 'FetchContent_Declare\(\s*openfst[^)]*GIT_TAG\s*([0-9a-f]{40})' --replace '$1' "${finalAttrs.src}/cmake/third_party/openfst.cmake") ${common-updater-scripts}/bin/update-source-version kaldi.sources.openfst "$hash" --source-key=out "--version-key=rev" diff --git a/pkgs/tools/audio/liquidsoap/full.nix b/pkgs/tools/audio/liquidsoap/full.nix index a845f46777548..0d526b2ce6aa9 100644 --- a/pkgs/tools/audio/liquidsoap/full.nix +++ b/pkgs/tools/audio/liquidsoap/full.nix @@ -1,8 +1,24 @@ -{ lib, stdenv, makeWrapper, fetchFromGitHub, which, pkg-config -, libjpeg -, ocamlPackages -, awscli2, bubblewrap, curl, ffmpeg, yt-dlp -, runtimePackages ? [ awscli2 bubblewrap curl ffmpeg yt-dlp ] +{ + lib, + stdenv, + makeWrapper, + fetchFromGitHub, + which, + pkg-config, + libjpeg, + ocamlPackages, + awscli2, + bubblewrap, + curl, + ffmpeg, + yt-dlp, + runtimePackages ? [ + awscli2 + bubblewrap + curl + ffmpeg + yt-dlp + ], }: let @@ -136,8 +152,11 @@ stdenv.mkDerivation { mainProgram = "liquidsoap"; homepage = "https://www.liquidsoap.info/"; changelog = "https://raw.githubusercontent.com/savonet/liquidsoap/main/CHANGES.md"; - maintainers = with lib.maintainers; [ dandellion ehmry ]; + maintainers = with lib.maintainers; [ + dandellion + ehmry + ]; license = lib.licenses.gpl2Plus; - platforms = ocamlPackages.ocaml.meta.platforms or []; + platforms = ocamlPackages.ocaml.meta.platforms or [ ]; }; } diff --git a/pkgs/tools/audio/mpd-sima/default.nix b/pkgs/tools/audio/mpd-sima/default.nix index 7752f9d1bf22a..cd8196e1b1e58 100644 --- a/pkgs/tools/audio/mpd-sima/default.nix +++ b/pkgs/tools/audio/mpd-sima/default.nix @@ -1,8 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitLab -, python-musicpd -, requests}: +{ + lib, + buildPythonApplication, + fetchFromGitLab, + python-musicpd, + requests, +}: buildPythonApplication rec { pname = "mpd-sima"; @@ -11,7 +13,7 @@ buildPythonApplication rec { src = fetchFromGitLab { owner = "kaliko"; repo = "sima"; - rev = version; + rev = version; hash = "sha256-lMvM1EqS1govhv4B2hJzIg5DFQYgEr4yJJtgOQxnVlY="; }; diff --git a/pkgs/tools/audio/opl3bankeditor/common.nix b/pkgs/tools/audio/opl3bankeditor/common.nix index abbd24efd87e8..8c0ce9eabfee3 100644 --- a/pkgs/tools/audio/opl3bankeditor/common.nix +++ b/pkgs/tools/audio/opl3bankeditor/common.nix @@ -1,17 +1,24 @@ -{ pname, chip, version, sha256, extraPatches ? [] }: +{ + pname, + chip, + version, + sha256, + extraPatches ? [ ], +}: -{ mkDerivation -, stdenv -, lib -, fetchFromGitHub -, dos2unix -, cmake -, pkg-config -, qttools -, qtbase -, qwt6_1 -, rtaudio -, rtmidi +{ + mkDerivation, + stdenv, + lib, + fetchFromGitHub, + dos2unix, + cmake, + pkg-config, + qttools, + qtbase, + qwt6_1, + rtaudio, + rtmidi, }: let diff --git a/pkgs/tools/audio/piper/default.nix b/pkgs/tools/audio/piper/default.nix index eff78d05bf512..336c05cb35ea1 100644 --- a/pkgs/tools/audio/piper/default.nix +++ b/pkgs/tools/audio/piper/default.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub +{ + lib, + stdenv, + fetchFromGitHub, -# build time -, cmake -, pkg-config + # build time + cmake, + pkg-config, -# runtime -, fmt -, onnxruntime -, pcaudiolib -, piper-phonemize -, spdlog + # runtime + fmt, + onnxruntime, + pcaudiolib, + piper-phonemize, + spdlog, -# tests -, piper-train + # tests + piper-train, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/audio/piper/train.nix b/pkgs/tools/audio/piper/train.nix index 476138e788379..fa781ca4ab2dd 100644 --- a/pkgs/tools/audio/piper/train.nix +++ b/pkgs/tools/audio/piper/train.nix @@ -1,5 +1,6 @@ -{ piper-tts -, python3 +{ + piper-tts, + python3, }: let diff --git a/pkgs/tools/audio/qastools/default.nix b/pkgs/tools/audio/qastools/default.nix index f8b705a8fa153..37af3d9e7a61f 100644 --- a/pkgs/tools/audio/qastools/default.nix +++ b/pkgs/tools/audio/qastools/default.nix @@ -1,4 +1,14 @@ -{ mkDerivation, lib, fetchFromGitLab, cmake, alsa-lib, udev, qtbase, qtsvg, qttools }: +{ + mkDerivation, + lib, + fetchFromGitLab, + cmake, + alsa-lib, + udev, + qtbase, + qtsvg, + qttools, +}: mkDerivation rec { pname = "qastools"; @@ -12,7 +22,13 @@ mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ alsa-lib udev qtbase qtsvg qttools ]; + buildInputs = [ + alsa-lib + udev + qtbase + qtsvg + qttools + ]; meta = with lib; { description = "Collection of desktop applications for ALSA configuration"; diff --git a/pkgs/tools/audio/tidal-dl/default.nix b/pkgs/tools/audio/tidal-dl/default.nix index eb7c597d2d75f..cbc65e7656117 100644 --- a/pkgs/tools/audio/tidal-dl/default.nix +++ b/pkgs/tools/audio/tidal-dl/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonApplication -, fetchPypi -, aigpy +{ + lib, + buildPythonApplication, + fetchPypi, + aigpy, }: buildPythonApplication rec { diff --git a/pkgs/tools/audio/video2midi/default.nix b/pkgs/tools/audio/video2midi/default.nix index 5d5cf08c8974f..fac1ba01dc9a8 100644 --- a/pkgs/tools/audio/video2midi/default.nix +++ b/pkgs/tools/audio/video2midi/default.nix @@ -1,12 +1,20 @@ -{ lib, fetchFromGitHub, pythonPackages, opencv4 }: +{ + lib, + fetchFromGitHub, + pythonPackages, + opencv4, +}: let - opencv4_ = pythonPackages.toPythonModule (opencv4.override { - inherit pythonPackages; - enablePython = true; - enableFfmpeg = true; - }); -in pythonPackages.buildPythonApplication rec { + opencv4_ = pythonPackages.toPythonModule ( + opencv4.override { + inherit pythonPackages; + enablePython = true; + enableFfmpeg = true; + } + ); +in +pythonPackages.buildPythonApplication rec { pname = "video2midi"; version = "0.4.9"; @@ -19,7 +27,12 @@ in pythonPackages.buildPythonApplication rec { sha256 = "sha256-mjqlNUCEiP5dQS0a8HAejOJyEvY6jGFJFpVcnzU2Vds="; }; - propagatedBuildInputs = with pythonPackages; [ opencv4_ midiutil pygame pyopengl ]; + propagatedBuildInputs = with pythonPackages; [ + opencv4_ + midiutil + pygame + pyopengl + ]; installPhase = '' install -Dm755 v2m.py $out/bin/v2m.py diff --git a/pkgs/tools/audio/wyoming/faster-whisper.nix b/pkgs/tools/audio/wyoming/faster-whisper.nix index 3ed21f60d158d..7ac5ea4b0562e 100644 --- a/pkgs/tools/audio/wyoming/faster-whisper.nix +++ b/pkgs/tools/audio/wyoming/faster-whisper.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/tools/audio/wyoming/openwakeword.nix b/pkgs/tools/audio/wyoming/openwakeword.nix index 1610f45c2a7f5..83339d62cee58 100644 --- a/pkgs/tools/audio/wyoming/openwakeword.nix +++ b/pkgs/tools/audio/wyoming/openwakeword.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/tools/audio/wyoming/piper.nix b/pkgs/tools/audio/wyoming/piper.nix index ed79d289c0d86..f85c634cd3430 100644 --- a/pkgs/tools/audio/wyoming/piper.nix +++ b/pkgs/tools/audio/wyoming/piper.nix @@ -1,6 +1,7 @@ -{ lib -, python3Packages -, fetchFromGitHub +{ + lib, + python3Packages, + fetchFromGitHub, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix index 540ffb8eaff32..fc258317b1b22 100644 --- a/pkgs/tools/audio/yabridge/default.nix +++ b/pkgs/tools/audio/yabridge/default.nix @@ -1,15 +1,16 @@ -{ lib -, multiStdenv -, fetchFromGitHub -, substituteAll -, pkgsi686Linux -, dbus -, meson -, ninja -, pkg-config -, wine -, libxcb -, nix-update-script +{ + lib, + multiStdenv, + fetchFromGitHub, + substituteAll, + pkgsi686Linux, + dbus, + meson, + ninja, + pkg-config, + wine, + libxcb, + nix-update-script, }: let @@ -134,7 +135,8 @@ multiStdenv.mkDerivation (finalAttrs: { ]; mesonFlags = [ - "--cross-file" "cross-wine.conf" + "--cross-file" + "cross-wine.conf" "-Dbitbridge=true" # Requires CMake and is unnecessary diff --git a/pkgs/tools/audio/yabridgectl/default.nix b/pkgs/tools/audio/yabridgectl/default.nix index 98b078056da18..4e69dc8462da1 100644 --- a/pkgs/tools/audio/yabridgectl/default.nix +++ b/pkgs/tools/audio/yabridgectl/default.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, yabridge -, makeWrapper -, wine +{ + lib, + rustPlatform, + yabridge, + makeWrapper, + wine, }: rustPlatform.buildRustPackage { @@ -32,9 +33,11 @@ rustPlatform.buildRustPackage { postFixup = '' wrapProgram "$out/bin/yabridgectl" \ - --prefix PATH : ${lib.makeBinPath [ - wine # winedump - ]} + --prefix PATH : ${ + lib.makeBinPath [ + wine # winedump + ] + } ''; meta = with lib; { diff --git a/pkgs/tools/backup/awsbck/default.nix b/pkgs/tools/backup/awsbck/default.nix index a853a704b9d3e..097143e544211 100644 --- a/pkgs/tools/backup/awsbck/default.nix +++ b/pkgs/tools/backup/awsbck/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, rustPlatform +{ + lib, + fetchFromGitHub, + rustPlatform, }: rustPlatform.buildRustPackage rec { @@ -22,7 +23,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Backup a folder to AWS S3, once or periodically"; homepage = "https://github.com/beeb/awsbck"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ beeb ]; mainProgram = "awsbck"; }; diff --git a/pkgs/tools/backup/bacula/default.nix b/pkgs/tools/backup/bacula/default.nix index 5ab53918d1495..7e63b75652966 100644 --- a/pkgs/tools/backup/bacula/default.nix +++ b/pkgs/tools/backup/bacula/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchurl, sqlite, postgresql, zlib, acl, ncurses, openssl, readline -, gettext, CoreFoundation, IOKit, Kerberos +{ + lib, + stdenv, + fetchurl, + sqlite, + postgresql, + zlib, + acl, + ncurses, + openssl, + readline, + gettext, + CoreFoundation, + IOKit, + Kerberos, }: stdenv.mkDerivation rec { @@ -7,7 +20,7 @@ stdenv.mkDerivation rec { version = "15.0.2"; src = fetchurl { - url = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz"; + url = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz"; sha256 = "sha256-VVFcKmavmoa5VdrqQIk3i4ZNBRsubjA4O+825pOs6no="; }; @@ -17,7 +30,15 @@ stdenv.mkDerivation rec { --replace "10.*)" "*)" ''; - buildInputs = [ postgresql sqlite zlib ncurses openssl readline ] + buildInputs = + [ + postgresql + sqlite + zlib + ncurses + openssl + readline + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ gettext # bacula requires CoreFoundation, but its `configure` script will only link it when it detects libintl. CoreFoundation @@ -27,19 +48,21 @@ stdenv.mkDerivation rec { # acl relies on attr, which I can't get to build on darwin ++ lib.optional (!stdenv.hostPlatform.isDarwin) acl; - configureFlags = [ - "--with-sqlite3=${sqlite.dev}" - "--with-postgresql=${lib.getDev postgresql}" - "--with-logdir=/var/log/bacula" - "--with-working-dir=/var/lib/bacula" - "--mandir=\${out}/share/man" - ] ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "ac_cv_func_setpgrp_void=yes" + configureFlags = + [ + "--with-sqlite3=${sqlite.dev}" + "--with-postgresql=${lib.getDev postgresql}" + "--with-logdir=/var/log/bacula" + "--with-working-dir=/var/lib/bacula" + "--mandir=\${out}/share/man" + ] + ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "ac_cv_func_setpgrp_void=yes" ++ lib.optionals stdenv.hostPlatform.isDarwin [ # bacula’s `configure` script fails to detect CoreFoundation correctly, # but these symbols are available in the nixpkgs CoreFoundation framework. "gt_cv_func_CFLocaleCopyCurrent=yes" "gt_cv_func_CFPreferencesCopyAppValue=yes" - ]; + ]; installFlags = [ "logdir=\${out}/logdir" @@ -53,9 +76,15 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Enterprise ready, Network Backup Tool"; - homepage = "http://bacula.org/"; - license = with licenses; [ agpl3Only bsd2 ]; - maintainers = with maintainers; [ lovek323 eleanor ]; - platforms = platforms.all; + homepage = "http://bacula.org/"; + license = with licenses; [ + agpl3Only + bsd2 + ]; + maintainers = with maintainers; [ + lovek323 + eleanor + ]; + platforms = platforms.all; }; } diff --git a/pkgs/tools/backup/bupstash/default.nix b/pkgs/tools/backup/bupstash/default.nix index c164c2ecc96b7..5897238ef42ab 100644 --- a/pkgs/tools/backup/bupstash/default.nix +++ b/pkgs/tools/backup/bupstash/default.nix @@ -1,4 +1,12 @@ -{ lib, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }: +{ + lib, + fetchFromGitHub, + installShellFiles, + rustPlatform, + ronn, + pkg-config, + libsodium, +}: rustPlatform.buildRustPackage rec { pname = "bupstash"; version = "0.12.0"; @@ -12,7 +20,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-hkGmE7WseEjMxmmPyR8C4osbdbpIt8qG9sfVGuC4d84="; - nativeBuildInputs = [ ronn pkg-config installShellFiles ]; + nativeBuildInputs = [ + ronn + pkg-config + installShellFiles + ]; buildInputs = [ libsodium ]; postBuild = '' diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix index 8ac3bf7404123..9187f6ce51570 100644 --- a/pkgs/tools/backup/httrack/default.nix +++ b/pkgs/tools/backup/httrack/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, zlib, openssl, libiconv }: +{ + lib, + stdenv, + fetchurl, + zlib, + openssl, + libiconv, +}: stdenv.mkDerivation rec { version = "3.49.2"; @@ -9,14 +16,18 @@ stdenv.mkDerivation rec { sha256 = "09a0gm67nml86qby1k1gh7rdxamnrnzwr6l9r5iiq94favjs0xrl"; }; - buildInputs = [ libiconv openssl zlib ]; + buildInputs = [ + libiconv + openssl + zlib + ]; enableParallelBuilding = true; meta = with lib; { description = "Easy-to-use offline browser / website mirroring utility"; - homepage = "http://www.httrack.com"; - license = licenses.gpl3; - platforms = with platforms; unix; + homepage = "http://www.httrack.com"; + license = licenses.gpl3; + platforms = with platforms; unix; }; } diff --git a/pkgs/tools/backup/httrack/qt.nix b/pkgs/tools/backup/httrack/qt.nix index d178185229fda..bc9eba0b923b0 100644 --- a/pkgs/tools/backup/httrack/qt.nix +++ b/pkgs/tools/backup/httrack/qt.nix @@ -1,5 +1,15 @@ -{ stdenv, mkDerivation, lib, fetchurl, cmake, pkg-config, makeWrapper -, httrack, qtbase, qtmultimedia }: +{ + stdenv, + mkDerivation, + lib, + fetchurl, + cmake, + pkg-config, + makeWrapper, + httrack, + qtbase, + qtmultimedia, +}: mkDerivation rec { pname = "httraqt"; @@ -10,9 +20,17 @@ mkDerivation rec { sha256 = "0pjxqnqchpbla4xiq4rklc06484n46cpahnjy03n9rghwwcad25b"; }; - buildInputs = [ httrack qtbase qtmultimedia ]; + buildInputs = [ + httrack + qtbase + qtmultimedia + ]; - nativeBuildInputs = [ cmake makeWrapper pkg-config ]; + nativeBuildInputs = [ + cmake + makeWrapper + pkg-config + ]; prePatch = '' substituteInPlace cmake/HTTRAQTFindHttrack.cmake \ @@ -32,9 +50,9 @@ mkDerivation rec { broken = stdenv.hostPlatform.isDarwin; description = "Easy-to-use offline browser / website mirroring utility - QT frontend"; mainProgram = "httraqt"; - homepage = "http://www.httrack.com"; - license = licenses.gpl3; + homepage = "http://www.httrack.com"; + license = licenses.gpl3; maintainers = with maintainers; [ peterhoeg ]; - platforms = with platforms; unix; + platforms = with platforms; unix; }; } diff --git a/pkgs/tools/backup/monolith/default.nix b/pkgs/tools/backup/monolith/default.nix index 454fed104ec15..fa567086015b0 100644 --- a/pkgs/tools/backup/monolith/default.nix +++ b/pkgs/tools/backup/monolith/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, libiconv -, Security -, SystemConfiguration -, nix-update-script +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + libiconv, + Security, + SystemConfiguration, + nix-update-script, }: rustPlatform.buildRustPackage rec { @@ -25,8 +27,13 @@ rustPlatform.buildRustPackage rec { OPENSSL_NO_VENDOR = true; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security SystemConfiguration ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + SystemConfiguration + ]; checkFlags = [ "--skip=tests::cli" ]; diff --git a/pkgs/tools/backup/percona-xtrabackup/8_4.nix b/pkgs/tools/backup/percona-xtrabackup/8_4.nix index 0bfcbb12e2362..47efd663a1d4e 100644 --- a/pkgs/tools/backup/percona-xtrabackup/8_4.nix +++ b/pkgs/tools/backup/percona-xtrabackup/8_4.nix @@ -9,9 +9,8 @@ callPackage ./generic.nix ( # includes https://github.com/Percona-Lab/libkmip.git fetchSubmodules = true; - extraPatches = - [ - ]; + extraPatches = [ + ]; extraPostInstall = ''''; } diff --git a/pkgs/tools/backup/pyznap/default.nix b/pkgs/tools/backup/pyznap/default.nix index fcb3ee17cb5a4..847ee32f8c2fa 100644 --- a/pkgs/tools/backup/pyznap/default.nix +++ b/pkgs/tools/backup/pyznap/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonApplication -, fetchPypi -, setuptools +{ + lib, + buildPythonApplication, + fetchPypi, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/backup/rdedup/default.nix b/pkgs/tools/backup/rdedup/default.nix index fdda197f18c59..b11c7c9aab1c3 100644 --- a/pkgs/tools/backup/rdedup/default.nix +++ b/pkgs/tools/backup/rdedup/default.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, libsodium -, xz -, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + libsodium, + xz, + Security, +}: rustPlatform.buildRustPackage rec { pname = "rdedup"; @@ -15,9 +23,15 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-I6d3IyPBcUsrvlzF7W0hFM4hcXi4wWro9bCeP4eArHI="; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; - buildInputs = [ openssl libsodium xz ] - ++ (lib.optional stdenv.hostPlatform.isDarwin Security); + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; + buildInputs = [ + openssl + libsodium + xz + ] ++ (lib.optional stdenv.hostPlatform.isDarwin Security); meta = with lib; { description = "Data deduplication with compression and public key encryption"; diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix index cc9ff35a23317..6192d0b37248f 100644 --- a/pkgs/tools/backup/restic/default.nix +++ b/pkgs/tools/backup/restic/default.nix @@ -1,5 +1,14 @@ -{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper -, nixosTests, rclone, python3 }: +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + makeWrapper, + nixosTests, + rclone, + python3, +}: buildGoModule rec { pname = "restic"; @@ -21,7 +30,10 @@ buildGoModule rec { subPackages = [ "cmd/restic" ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; nativeCheckInputs = [ python3 ]; @@ -33,17 +45,19 @@ buildGoModule rec { rm cmd/restic/cmd_mount_integration_test.go ''; - postInstall = '' - wrapProgram $out/bin/restic --prefix PATH : '${rclone}/bin' - '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' - $out/bin/restic generate \ - --bash-completion restic.bash \ - --fish-completion restic.fish \ - --zsh-completion restic.zsh \ - --man . - installShellCompletion restic.{bash,fish,zsh} - installManPage *.1 - ''; + postInstall = + '' + wrapProgram $out/bin/restic --prefix PATH : '${rclone}/bin' + '' + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + $out/bin/restic generate \ + --bash-completion restic.bash \ + --fish-completion restic.fish \ + --zsh-completion restic.zsh \ + --man . + installShellCompletion restic.{bash,fish,zsh} + installManPage *.1 + ''; meta = with lib; { homepage = "https://restic.net"; @@ -51,7 +65,10 @@ buildGoModule rec { description = "Backup program that is fast, efficient and secure"; platforms = platforms.linux ++ platforms.darwin; license = licenses.bsd2; - maintainers = [ maintainers.mbrgm maintainers.dotlambda ]; + maintainers = [ + maintainers.mbrgm + maintainers.dotlambda + ]; mainProgram = "restic"; }; } diff --git a/pkgs/tools/backup/restic/rest-server.nix b/pkgs/tools/backup/restic/rest-server.nix index 8d8cedb339be5..5d6938a0570a5 100644 --- a/pkgs/tools/backup/restic/rest-server.nix +++ b/pkgs/tools/backup/restic/rest-server.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "restic-rest-server"; diff --git a/pkgs/tools/backup/ugarit-manifest-maker/default.nix b/pkgs/tools/backup/ugarit-manifest-maker/default.nix index dc497150041c4..0334352c87626 100644 --- a/pkgs/tools/backup/ugarit-manifest-maker/default.nix +++ b/pkgs/tools/backup/ugarit-manifest-maker/default.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, eggDerivation, fetchegg }: +{ + pkgs, + lib, + eggDerivation, + fetchegg, +}: let eggs = import ./eggs.nix { inherit eggDerivation fetchegg; }; diff --git a/pkgs/tools/backup/ugarit-manifest-maker/eggs.nix b/pkgs/tools/backup/ugarit-manifest-maker/eggs.nix index 889d698188e29..eaf2b9617ccef 100644 --- a/pkgs/tools/backup/ugarit-manifest-maker/eggs.nix +++ b/pkgs/tools/backup/ugarit-manifest-maker/eggs.nix @@ -39,7 +39,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -53,7 +53,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -113,7 +113,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -146,7 +146,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -160,7 +160,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -190,7 +190,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -204,7 +204,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -218,7 +218,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -232,7 +232,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -246,7 +246,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -275,7 +275,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -289,7 +289,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -428,4 +428,3 @@ rec { ]; }; } - diff --git a/pkgs/tools/backup/ugarit/default.nix b/pkgs/tools/backup/ugarit/default.nix index 94dd3219fc24b..724f65495b5ce 100644 --- a/pkgs/tools/backup/ugarit/default.nix +++ b/pkgs/tools/backup/ugarit/default.nix @@ -1,4 +1,9 @@ -{ lib, eggDerivation, fetchegg, z3 }: +{ + lib, + eggDerivation, + fetchegg, + z3, +}: let eggs = import ./eggs.nix { inherit eggDerivation fetchegg; }; diff --git a/pkgs/tools/backup/ugarit/eggs.nix b/pkgs/tools/backup/ugarit/eggs.nix index fe958cb55cc61..dbbb9a56c47b8 100644 --- a/pkgs/tools/backup/ugarit/eggs.nix +++ b/pkgs/tools/backup/ugarit/eggs.nix @@ -10,7 +10,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -53,7 +53,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -113,7 +113,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -146,7 +146,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -176,7 +176,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -190,7 +190,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -204,7 +204,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -218,7 +218,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -232,7 +232,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -275,7 +275,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -289,7 +289,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -452,7 +452,7 @@ rec { }; buildInputs = [ - + ]; }; @@ -466,7 +466,7 @@ rec { }; buildInputs = [ - + ]; }; diff --git a/pkgs/tools/backup/zbackup/default.nix b/pkgs/tools/backup/zbackup/default.nix index f7bfb646332aa..21df241f7db83 100644 --- a/pkgs/tools/backup/zbackup/default.nix +++ b/pkgs/tools/backup/zbackup/default.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchFromGitHub -, cmake, protobufc -, libunwind, lzo, openssl, protobuf, zlib +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + protobufc, + libunwind, + lzo, + openssl, + protobuf, + zlib, }: stdenv.mkDerivation rec { @@ -24,8 +32,17 @@ stdenv.mkDerivation rec { # allowed in C++17 env.NIX_CFLAGS_COMPILE = toString [ "--std=c++14" ]; - buildInputs = [ zlib openssl protobuf lzo libunwind ]; - nativeBuildInputs = [ cmake protobufc ]; + buildInputs = [ + zlib + openssl + protobuf + lzo + libunwind + ]; + nativeBuildInputs = [ + cmake + protobufc + ]; meta = { description = "Versatile deduplicating backup tool"; diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix index 210355b700a67..37781400c15b4 100644 --- a/pkgs/tools/backup/zfs-replicate/default.nix +++ b/pkgs/tools/backup/zfs-replicate/default.nix @@ -1,12 +1,13 @@ -{ buildPythonApplication -, click -, fetchPypi -, hypothesis -, lib -, poetry-core -, pytest-cov-stub -, pytestCheckHook -, stringcase +{ + buildPythonApplication, + click, + fetchPypi, + hypothesis, + lib, + poetry-core, + pytest-cov-stub, + pytestCheckHook, + stringcase, }: buildPythonApplication rec { diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix index 34225dd8bd2a2..508a588041da2 100644 --- a/pkgs/tools/cd-dvd/brasero/default.nix +++ b/pkgs/tools/cd-dvd/brasero/default.nix @@ -1,13 +1,33 @@ -{ stdenv, lib, fetchurl, pkg-config, gtk3, itstool, gst_all_1, libxml2, libnotify -, libcanberra-gtk3, intltool, dvdauthor, libburn, libisofs -, vcdimager, wrapGAppsHook3, hicolor-icon-theme }: +{ + stdenv, + lib, + fetchurl, + pkg-config, + gtk3, + itstool, + gst_all_1, + libxml2, + libnotify, + libcanberra-gtk3, + intltool, + dvdauthor, + libburn, + libisofs, + vcdimager, + wrapGAppsHook3, + hicolor-icon-theme, +}: let major = "3.12"; minor = "3"; - binpath = lib.makeBinPath [ dvdauthor vcdimager ]; + binpath = lib.makeBinPath [ + dvdauthor + vcdimager + ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "${major}.${minor}"; pname = "brasero"; @@ -16,13 +36,28 @@ in stdenv.mkDerivation rec { hash = "sha256-h3SerjOhQSB9GwC+IzttgEWYLtMkntS5ja4fOpdf6hU="; }; - nativeBuildInputs = [ pkg-config itstool intltool wrapGAppsHook3 ]; + nativeBuildInputs = [ + pkg-config + itstool + intltool + wrapGAppsHook3 + ]; - buildInputs = [ gtk3 libxml2 libnotify libcanberra-gtk3 libburn libisofs - hicolor-icon-theme - gst_all_1.gstreamer gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly gst_all_1.gst-libav ]; + buildInputs = [ + gtk3 + libxml2 + libnotify + libcanberra-gtk3 + libburn + libisofs + hicolor-icon-theme + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + gst_all_1.gst-libav + ]; # brasero checks that the applications it uses aren't symlinks, but this # will obviously not work on nix diff --git a/pkgs/tools/cd-dvd/brasero/wrapper.nix b/pkgs/tools/cd-dvd/brasero/wrapper.nix index dc5c6fc4ad30b..2747bc9947964 100644 --- a/pkgs/tools/cd-dvd/brasero/wrapper.nix +++ b/pkgs/tools/cd-dvd/brasero/wrapper.nix @@ -1,8 +1,16 @@ -{ lib, symlinkJoin, brasero-unwrapped, cdrtools, libdvdcss, makeWrapper }: +{ + lib, + symlinkJoin, + brasero-unwrapped, + cdrtools, + libdvdcss, + makeWrapper, +}: let binPath = lib.makeBinPath [ cdrtools ]; -in symlinkJoin { +in +symlinkJoin { name = "brasero-${brasero-unwrapped.version}"; paths = [ brasero-unwrapped ]; diff --git a/pkgs/tools/cd-dvd/cdrdao/default.nix b/pkgs/tools/cd-dvd/cdrdao/default.nix index b4e93adce8644..5f9c0ca5073ed 100644 --- a/pkgs/tools/cd-dvd/cdrdao/default.nix +++ b/pkgs/tools/cd-dvd/cdrdao/default.nix @@ -21,21 +21,27 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-0ZtnyFPF26JAavqrbNeI53817r5jTKxGeVKEd8e+AbY="; }; - makeFlags = [ "RM=rm" "LN=ln" "MV=mv" ]; + makeFlags = [ + "RM=rm" + "LN=ln" + "MV=mv" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libiconv - libvorbis - libmad - libao - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - IOKit - ]; + buildInputs = + [ + libiconv + libvorbis + libmad + libao + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + IOKit + ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/tools/cd-dvd/cdrtools/default.nix b/pkgs/tools/cd-dvd/cdrtools/default.nix index d264a0f8bdb34..b64837ac2b295 100644 --- a/pkgs/tools/cd-dvd/cdrtools/default.nix +++ b/pkgs/tools/cd-dvd/cdrtools/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, m4, acl, libcap, Carbon, IOKit }: +{ + lib, + stdenv, + fetchurl, + m4, + acl, + libcap, + Carbon, + IOKit, +}: stdenv.mkDerivation rec { pname = "cdrtools"; @@ -10,7 +19,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ m4 ]; - buildInputs = if stdenv.hostPlatform.isDarwin then [ Carbon IOKit ] else [ acl libcap ]; + buildInputs = + if stdenv.hostPlatform.isDarwin then + [ + Carbon + IOKit + ] + else + [ + acl + libcap + ]; postPatch = '' sed "/\.mk3/d" -i libschily/Targets.man @@ -25,7 +44,12 @@ stdenv.mkDerivation rec { dontConfigure = true; - makeFlags = [ "GMAKE_NOWARN=true" "INS_BASE=/" "INS_RBASE=/" "DESTDIR=${placeholder "out"}" ]; + makeFlags = [ + "GMAKE_NOWARN=true" + "INS_BASE=/" + "INS_RBASE=/" + "DESTDIR=${placeholder "out"}" + ]; enableParallelBuilding = false; # parallel building fails on some linux machines @@ -34,11 +58,15 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://cdrtools.sourceforge.net/private/cdrecord.html"; description = "Highly portable CD/DVD/BluRay command line recording software"; - license = with licenses; [ cddl gpl2Plus lgpl21 ]; + license = with licenses; [ + cddl + gpl2Plus + lgpl21 + ]; platforms = with platforms; linux ++ darwin; # Licensing issues: This package contains code licensed under CDDL, GPL2 # and LGPL2. There is a debate regarding the legality of distributing this # package in binary form. - hydraPlatforms = []; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix index 7dc1efb82852d..bd2e66c72b473 100644 --- a/pkgs/tools/cd-dvd/unetbootin/default.nix +++ b/pkgs/tools/cd-dvd/unetbootin/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, coreutils -, fetchFromGitHub -, mtools -, p7zip -, wrapQtAppsHook -, qtbase -, qttools -, qmake -, syslinux -, util-linux -, which +{ + lib, + stdenv, + coreutils, + fetchFromGitHub, + mtools, + p7zip, + wrapQtAppsHook, + qtbase, + qttools, + qmake, + syslinux, + util-linux, + which, }: stdenv.mkDerivation rec { @@ -70,7 +71,13 @@ stdenv.mkDerivation rec { ''; qtWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + mtools + p7zip + which + ] + }" "--set QT_X11_NO_MITSHM 1" ]; diff --git a/pkgs/tools/compression/bzip2/1_1.nix b/pkgs/tools/compression/bzip2/1_1.nix index 520cc393b0ac9..c39868078bdae 100644 --- a/pkgs/tools/compression/bzip2/1_1.nix +++ b/pkgs/tools/compression/bzip2/1_1.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitLab -, meson -, python3 -, ninja -, testers +{ + lib, + stdenv, + fetchFromGitLab, + meson, + python3, + ninja, + testers, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +29,12 @@ stdenv.mkDerivation (finalAttrs: { ninja ]; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + ]; mesonFlags = [ "-Ddocs=disabled" diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index 0268b60afc52c..46cd16374b321 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -1,8 +1,11 @@ -{ lib, stdenv, fetchurl -, enableStatic ? with stdenv.hostPlatform; isStatic || isCygwin -, enableShared ? true -, autoreconfHook -, testers +{ + lib, + stdenv, + fetchurl, + enableStatic ? with stdenv.hostPlatform; isStatic || isCygwin, + enableShared ? true, + autoreconfHook, + testers, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -10,66 +13,75 @@ # cgit) that are needed here should be included directly in Nixpkgs as # files. -stdenv.mkDerivation (finalAttrs: let - inherit (finalAttrs) version; -in { - pname = "bzip2"; - version = "1.0.8"; +stdenv.mkDerivation ( + finalAttrs: + let + inherit (finalAttrs) version; + in + { + pname = "bzip2"; + version = "1.0.8"; - src = fetchurl { - url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz"; - sha256 = "sha256-q1oDF27hBtPw+pDjgdpHjdrkBZGBU8yiSOaCzQxKImk="; - }; + src = fetchurl { + url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz"; + sha256 = "sha256-q1oDF27hBtPw+pDjgdpHjdrkBZGBU8yiSOaCzQxKImk="; + }; - patchFlags = ["-p0"]; + patchFlags = [ "-p0" ]; - patches = [ - (fetchurl { - url = "ftp://ftp.suse.com/pub/people/sbrabec/bzip2/for_downstream/bzip2-1.0.6.2-autoconfiscated.patch"; - sha256 = "sha256-QMufl6ffJVVVVZespvkCbFpB6++R1lnq1687jEsUjr0="; - }) - ]; - # Fix up hardcoded version from the above patch, e.g. seen in bzip2.pc or libbz2.so.1.0.N - postPatch = '' - patch <<-EOF - --- configure.ac - +++ configure.ac - @@ -3,3 +3,3 @@ - -AC_INIT([bzip2], [1.0.6], [Julian Seward ]) - +AC_INIT([bzip2], [${version}], [Julian Seward ]) - BZIP2_LT_CURRENT=1 - -BZIP2_LT_REVISION=6 - +BZIP2_LT_REVISION=${lib.versions.patch version} - EOF - ''; + patches = [ + (fetchurl { + url = "ftp://ftp.suse.com/pub/people/sbrabec/bzip2/for_downstream/bzip2-1.0.6.2-autoconfiscated.patch"; + sha256 = "sha256-QMufl6ffJVVVVZespvkCbFpB6++R1lnq1687jEsUjr0="; + }) + ]; + # Fix up hardcoded version from the above patch, e.g. seen in bzip2.pc or libbz2.so.1.0.N + postPatch = '' + patch <<-EOF + --- configure.ac + +++ configure.ac + @@ -3,3 +3,3 @@ + -AC_INIT([bzip2], [1.0.6], [Julian Seward ]) + +AC_INIT([bzip2], [${version}], [Julian Seward ]) + BZIP2_LT_CURRENT=1 + -BZIP2_LT_REVISION=6 + +BZIP2_LT_REVISION=${lib.versions.patch version} + EOF + ''; - strictDeps = true; - nativeBuildInputs = [ autoreconfHook ]; + strictDeps = true; + nativeBuildInputs = [ autoreconfHook ]; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + ]; - configureFlags = lib.concatLists [ - (lib.optional enableStatic "--enable-static") - (lib.optional (!enableShared) "--disable-shared") - ]; + configureFlags = lib.concatLists [ + (lib.optional enableStatic "--enable-static") + (lib.optional (!enableShared) "--disable-shared") + ]; - dontDisableStatic = enableStatic; + dontDisableStatic = enableStatic; - enableParallelBuilding = true; + enableParallelBuilding = true; - postInstall = '' - ln -s $out/lib/libbz2.so.1.0.* $out/lib/libbz2.so.1.0 - ''; + postInstall = '' + ln -s $out/lib/libbz2.so.1.0.* $out/lib/libbz2.so.1.0 + ''; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = with lib; { - description = "High-quality data compression program"; - homepage = "https://www.sourceware.org/bzip2"; - changelog = "https://sourceware.org/git/?p=bzip2.git;a=blob;f=CHANGES;hb=HEAD"; - license = licenses.bsdOriginal; - pkgConfigModules = [ "bzip2" ]; - platforms = platforms.all; - maintainers = with maintainers; [ mic92 ]; - }; -}) + meta = with lib; { + description = "High-quality data compression program"; + homepage = "https://www.sourceware.org/bzip2"; + changelog = "https://sourceware.org/git/?p=bzip2.git;a=blob;f=CHANGES;hb=HEAD"; + license = licenses.bsdOriginal; + pkgConfigModules = [ "bzip2" ]; + platforms = platforms.all; + maintainers = with maintainers; [ mic92 ]; + }; + } +) diff --git a/pkgs/tools/compression/bzip3/default.nix b/pkgs/tools/compression/bzip3/default.nix index 889f64b52d8b9..463c4c670594f 100644 --- a/pkgs/tools/compression/bzip3/default.nix +++ b/pkgs/tools/compression/bzip3/default.nix @@ -1,16 +1,21 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, testers +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "bzip3"; version = "1.4.0"; - outputs = [ "bin" "dev" "out" ]; + outputs = [ + "bin" + "dev" + "out" + ]; src = fetchFromGitHub { owner = "kspalaiologos"; diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix index 9da423396593b..a039143821e1a 100644 --- a/pkgs/tools/compression/kzipmix/default.nix +++ b/pkgs/tools/compression/kzipmix/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "kzipmix"; diff --git a/pkgs/tools/compression/xdelta/default.nix b/pkgs/tools/compression/xdelta/default.nix index 7ce9417d40cc3..971811517a2e0 100644 --- a/pkgs/tools/compression/xdelta/default.nix +++ b/pkgs/tools/compression/xdelta/default.nix @@ -1,14 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, lzmaSupport ? true, xz ? null +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + lzmaSupport ? true, + xz ? null, }: assert lzmaSupport -> xz != null; let - mkWith = flag: name: if flag - then "--with-${name}" - else "--without-${name}"; -in stdenv.mkDerivation rec { + mkWith = flag: name: if flag then "--with-${name}" else "--without-${name}"; +in +stdenv.mkDerivation rec { pname = "xdelta"; version = "3.1.0"; @@ -20,8 +24,7 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [] - ++ lib.optionals lzmaSupport [ xz ]; + buildInputs = [ ] ++ lib.optionals lzmaSupport [ xz ]; postPatch = '' cd xdelta3 diff --git a/pkgs/tools/compression/xdelta/unstable.nix b/pkgs/tools/compression/xdelta/unstable.nix index 2ac8398dbc2df..a8272fdb76534 100644 --- a/pkgs/tools/compression/xdelta/unstable.nix +++ b/pkgs/tools/compression/xdelta/unstable.nix @@ -1,14 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, lzmaSupport ? true, xz ? null +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + lzmaSupport ? true, + xz ? null, }: assert lzmaSupport -> xz != null; let - mkWith = flag: name: if flag - then "--with-${name}" - else "--without-${name}"; -in stdenv.mkDerivation rec { + mkWith = flag: name: if flag then "--with-${name}" else "--without-${name}"; +in +stdenv.mkDerivation rec { pname = "xdelta"; version = "3.1.0"; @@ -20,8 +24,7 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [] - ++ lib.optionals lzmaSupport [ xz ]; + buildInputs = [ ] ++ lib.optionals lzmaSupport [ xz ]; postPatch = '' cd xdelta3 diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 47619ac751b3c..658e8d8216a8a 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -1,7 +1,10 @@ -{ lib, stdenv, fetchurl -, enableStatic ? stdenv.hostPlatform.isStatic -, writeScript -, testers +{ + lib, + stdenv, + fetchurl, + enableStatic ? stdenv.hostPlatform.isStatic, + writeScript, + testers, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -14,12 +17,20 @@ stdenv.mkDerivation (finalAttrs: { version = "5.6.3"; src = fetchurl { - url = with finalAttrs; "https://github.com/tukaani-project/xz/releases/download/v${version}/xz-${version}.tar.xz"; + url = + with finalAttrs; + "https://github.com/tukaani-project/xz/releases/download/v${version}/xz-${version}.tar.xz"; hash = "sha256-2wWQYptvD6NudK6l+XMdxvjfBoznt7r6RTAYMqXuvDo="; }; strictDeps = true; - outputs = [ "bin" "dev" "out" "man" "doc" ]; + outputs = [ + "bin" + "dev" + "out" + "man" + "doc" + ]; configureFlags = lib.optional enableStatic "--disable-shared"; @@ -78,7 +89,10 @@ stdenv.mkDerivation (finalAttrs: { create 30 % smaller output than gzip and 15 % smaller output than bzip2. ''; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ sander ]; platforms = platforms.all; pkgConfigModules = [ "liblzma" ]; diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix index f9d3a3d074c90..27f66232b7adf 100644 --- a/pkgs/tools/compression/zstd/default.nix +++ b/pkgs/tools/compression/zstd/default.nix @@ -1,22 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, cmake, bash, gnugrep -, fixDarwinDylibNames -, file -, legacySupport ? false -, static ? stdenv.hostPlatform.isStatic # generates static libraries *only* -, enableStatic ? static -# these need to be ran on the host, thus disable when cross-compiling -, buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform -, doCheck ? stdenv.hostPlatform == stdenv.buildPlatform -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + bash, + gnugrep, + fixDarwinDylibNames, + file, + legacySupport ? false, + static ? stdenv.hostPlatform.isStatic, # generates static libraries *only* + enableStatic ? static, + # these need to be ran on the host, thus disable when cross-compiling + buildContrib ? stdenv.hostPlatform == stdenv.buildPlatform, + doCheck ? stdenv.hostPlatform == stdenv.buildPlatform, + nix-update-script, -# for passthru.tests -, libarchive -, rocksdb -, arrow-cpp -, libzip -, curl -, python3Packages -, haskellPackages + # for passthru.tests + libarchive, + rocksdb, + arrow-cpp, + libzip, + curl, + python3Packages, + haskellPackages, }: stdenv.mkDerivation rec { @@ -30,8 +36,7 @@ stdenv.mkDerivation rec { hash = "sha256-qcd92hQqVBjMT3hyntjcgk29o9wGQsg5Hg7HE5C0UNc="; }; - nativeBuildInputs = [ cmake ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = lib.optional stdenv.hostPlatform.isUnix bash; patches = [ @@ -50,15 +55,16 @@ stdenv.mkDerivation rec { tests/playTests.sh ''; - cmakeFlags = lib.attrsets.mapAttrsToList - (name: value: "-DZSTD_${name}:BOOL=${if value then "ON" else "OFF"}") { - BUILD_SHARED = !static; - BUILD_STATIC = enableStatic; - BUILD_CONTRIB = buildContrib; - PROGRAMS_LINK_SHARED = !static; - LEGACY_SUPPORT = legacySupport; - BUILD_TESTS = doCheck; - }; + cmakeFlags = + lib.attrsets.mapAttrsToList (name: value: "-DZSTD_${name}:BOOL=${if value then "ON" else "OFF"}") + { + BUILD_SHARED = !static; + BUILD_STATIC = enableStatic; + BUILD_CONTRIB = buildContrib; + PROGRAMS_LINK_SHARED = !static; + LEGACY_SUPPORT = legacySupport; + BUILD_TESTS = doCheck; + }; cmakeDir = "../build/cmake"; dontUseCmakeBuildDir = true; @@ -76,23 +82,30 @@ stdenv.mkDerivation rec { runHook postCheck ''; - preInstall = '' - mkdir -p $bin/bin - substituteInPlace ../programs/zstdgrep \ - --replace ":-grep" ":-${gnugrep}/bin/grep" \ - --replace ":-zstdcat" ":-$bin/bin/zstdcat" - - substituteInPlace ../programs/zstdless \ - --replace "zstdcat" "$bin/bin/zstdcat" - '' + lib.optionalString buildContrib ( + preInstall = '' - cp contrib/pzstd/pzstd $bin/bin/pzstd - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -change @rpath/libzstd.1.dylib $out/lib/libzstd.1.dylib $bin/bin/pzstd + mkdir -p $bin/bin + substituteInPlace ../programs/zstdgrep \ + --replace ":-grep" ":-${gnugrep}/bin/grep" \ + --replace ":-zstdcat" ":-$bin/bin/zstdcat" + + substituteInPlace ../programs/zstdless \ + --replace "zstdcat" "$bin/bin/zstdcat" '' - ); + + lib.optionalString buildContrib ( + '' + cp contrib/pzstd/pzstd $bin/bin/pzstd + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool -change @rpath/libzstd.1.dylib $out/lib/libzstd.1.dylib $bin/bin/pzstd + '' + ); - outputs = [ "bin" "dev" ] + outputs = + [ + "bin" + "dev" + ] ++ lib.optional stdenv.hostPlatform.isUnix "man" ++ [ "out" ]; diff --git a/pkgs/tools/filesystems/afsctool/default.nix b/pkgs/tools/filesystems/afsctool/default.nix index f0d8f0ba7af04..4ebcd4e1da678 100644 --- a/pkgs/tools/filesystems/afsctool/default.nix +++ b/pkgs/tools/filesystems/afsctool/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, git -, zlib -, sparsehash +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + git, + zlib, + sparsehash, }: stdenv.mkDerivation rec { @@ -19,8 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-cZ0P9cygj+5GgkDRpQk7P9z8zh087fpVfrYXMRRVUAI="; }; - nativeBuildInputs = [ pkg-config cmake git ]; - buildInputs = [ zlib sparsehash ]; + nativeBuildInputs = [ + pkg-config + cmake + git + ]; + buildInputs = [ + zlib + sparsehash + ]; meta = with lib; { description = "Utility that allows end-users to leverage HFS+/APFS compression"; diff --git a/pkgs/tools/filesystems/android-file-transfer/default.nix b/pkgs/tools/filesystems/android-file-transfer/default.nix index 78d60b90b3955..d7a48f8ed9ed2 100644 --- a/pkgs/tools/filesystems/android-file-transfer/default.nix +++ b/pkgs/tools/filesystems/android-file-transfer/default.nix @@ -1,14 +1,16 @@ -{ lib -, stdenv -, mkDerivation -, fetchFromGitHub -, cmake -, fuse -, readline -, pkg-config -, qtbase -, qttools -, wrapQtAppsHook }: +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + cmake, + fuse, + readline, + pkg-config, + qtbase, + qttools, + wrapQtAppsHook, +}: mkDerivation rec { pname = "android-file-transfer"; @@ -23,8 +25,17 @@ mkDerivation rec { patches = [ ./darwin-dont-vendor-dependencies.patch ]; - nativeBuildInputs = [ cmake readline pkg-config wrapQtAppsHook ]; - buildInputs = [ fuse qtbase qttools ]; + nativeBuildInputs = [ + cmake + readline + pkg-config + wrapQtAppsHook + ]; + buildInputs = [ + fuse + qtbase + qttools + ]; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications diff --git a/pkgs/tools/filesystems/catcli/default.nix b/pkgs/tools/filesystems/catcli/default.nix index fc075f52c70db..94c7eb532aefe 100644 --- a/pkgs/tools/filesystems/catcli/default.nix +++ b/pkgs/tools/filesystems/catcli/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index 004d0bbca94b6..5fde26dee5bc0 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -1,106 +1,108 @@ -{ lib -, stdenv -, runCommand -, fetchurl -, fetchFromGitHub -, fetchPypi -, fetchpatch2 - -# Build time -, autoconf -, automake -, cmake -, ensureNewerSourcesHook -, fmt -, git -, libtool -, makeWrapper -, nasm -, pkg-config -, which - -# Tests -, nixosTests - -# Runtime dependencies -, arrow-cpp -, babeltrace -, boost182 # using the version installed by ceph's `install-deps.sh` -, bzip2 -, cryptsetup -, cunit -, e2fsprogs -, doxygen -, gperf -, graphviz -, gnugrep -, gtest -, icu -, kmod -, libcap -, libcap_ng -, libnl -, libxml2 -, lmdb -, lttng-ust -, lua -, lvm2 -, lz4 -, oath-toolkit -, openldap -, parted -, python311 # to get an idea which Python versions are supported by Ceph, see upstream `do_cmake.sh` (see `PYBUILD=` variable) -, rdkafka -, rocksdb -, snappy -, openssh -, sqlite -, utf8proc -, xfsprogs -, zlib -, zstd - -# Dependencies of overridden Python dependencies, hopefully we can remove these soon. -, rustPlatform - -# Optional Dependencies -, curl ? null -, expat ? null -, fuse ? null -, libatomic_ops ? null -, libedit ? null -, libs3 ? null -, yasm ? null - -# Mallocs -, gperftools ? null -, jemalloc ? null - -# Crypto Dependencies -, cryptopp ? null -, nspr ? null -, nss ? null - -# Linux Only Dependencies -, linuxHeaders -, util-linux -, libuuid -, udev -, keyutils -, rdma-core -, rabbitmq-c -, libaio ? null -, libxfs ? null -, liburing ? null -, zfs ? null -, ... +{ + lib, + stdenv, + runCommand, + fetchurl, + fetchFromGitHub, + fetchPypi, + fetchpatch2, + + # Build time + autoconf, + automake, + cmake, + ensureNewerSourcesHook, + fmt, + git, + libtool, + makeWrapper, + nasm, + pkg-config, + which, + + # Tests + nixosTests, + + # Runtime dependencies + arrow-cpp, + babeltrace, + boost182, # using the version installed by ceph's `install-deps.sh` + bzip2, + cryptsetup, + cunit, + e2fsprogs, + doxygen, + gperf, + graphviz, + gnugrep, + gtest, + icu, + kmod, + libcap, + libcap_ng, + libnl, + libxml2, + lmdb, + lttng-ust, + lua, + lvm2, + lz4, + oath-toolkit, + openldap, + parted, + python311, # to get an idea which Python versions are supported by Ceph, see upstream `do_cmake.sh` (see `PYBUILD=` variable) + rdkafka, + rocksdb, + snappy, + openssh, + sqlite, + utf8proc, + xfsprogs, + zlib, + zstd, + + # Dependencies of overridden Python dependencies, hopefully we can remove these soon. + rustPlatform, + + # Optional Dependencies + curl ? null, + expat ? null, + fuse ? null, + libatomic_ops ? null, + libedit ? null, + libs3 ? null, + yasm ? null, + + # Mallocs + gperftools ? null, + jemalloc ? null, + + # Crypto Dependencies + cryptopp ? null, + nspr ? null, + nss ? null, + + # Linux Only Dependencies + linuxHeaders, + util-linux, + libuuid, + udev, + keyutils, + rdma-core, + rabbitmq-c, + libaio ? null, + libxfs ? null, + liburing ? null, + zfs ? null, + ... }: # We must have one crypto library assert cryptopp != null || (nss != null && nspr != null); let - shouldUsePkg = pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; + shouldUsePkg = + pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; optYasm = shouldUsePkg yasm; optExpat = shouldUsePkg expat; @@ -138,122 +140,149 @@ let malloc = if optJemalloc != null then optJemalloc else optGperftools; # We prefer nss over cryptopp - cryptoStr = if optNss != null && optNspr != null then "nss" else - if optCryptopp != null then "cryptopp" else "none"; + cryptoStr = + if optNss != null && optNspr != null then + "nss" + else if optCryptopp != null then + "cryptopp" + else + "none"; cryptoLibsMap = { - nss = [ optNss optNspr ]; + nss = [ + optNss + optNspr + ]; cryptopp = [ optCryptopp ]; none = [ ]; }; getMeta = description: { - homepage = "https://ceph.io/en/"; - inherit description; - license = with lib.licenses; [ lgpl21 gpl2Only bsd3 mit publicDomain ]; - maintainers = with lib.maintainers; [ adev ak johanot krav nh2 ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - }; - - ceph-common = with python.pkgs; buildPythonPackage { - pname = "ceph-common"; - inherit src version; + homepage = "https://ceph.io/en/"; + inherit description; + license = with lib.licenses; [ + lgpl21 + gpl2Only + bsd3 + mit + publicDomain + ]; + maintainers = with lib.maintainers; [ + adev + ak + johanot + krav + nh2 + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + }; - sourceRoot = "ceph-${version}/src/python-common"; + ceph-common = + with python.pkgs; + buildPythonPackage { + pname = "ceph-common"; + inherit src version; - propagatedBuildInputs = [ - pyyaml - ]; + sourceRoot = "ceph-${version}/src/python-common"; - nativeCheckInputs = [ - pytestCheckHook - ]; + propagatedBuildInputs = [ + pyyaml + ]; - disabledTests = [ - # requires network access - "test_valid_addr" - ]; + nativeCheckInputs = [ + pytestCheckHook + ]; - meta = getMeta "Ceph common module for code shared by manager modules"; - }; + disabledTests = [ + # requires network access + "test_valid_addr" + ]; + + meta = getMeta "Ceph common module for code shared by manager modules"; + }; # Watch out for python <> boost compatibility python = python311.override { self = python; - packageOverrides = self: super: let - bcryptOverrideVersion = "4.0.1"; - in { - # Ceph does not support the following yet: - # * `bcrypt` > 4.0 - # * `cryptography` > 40 - # See: - # * https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 - # * Upstream issue: https://tracker.ceph.com/issues/63529 - # > Python Sub-Interpreter Model Used by ceph-mgr Incompatible With Python Modules Based on PyO3 - # * Moved to issue: https://tracker.ceph.com/issues/64213 - # > MGR modules incompatible with later PyO3 versions - PyO3 modules may only be initialized once per interpreter process - - bcrypt = super.bcrypt.overridePythonAttrs (old: rec { - pname = "bcrypt"; - version = bcryptOverrideVersion; - src = fetchPypi { - inherit pname version; - hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; - }; - cargoRoot = "src/_bcrypt"; - cargoDeps = rustPlatform.fetchCargoTarball { - inherit src; - sourceRoot = "${pname}-${version}/${cargoRoot}"; - name = "${pname}-${version}"; - hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY="; - }; - }); - - # We pin the older `cryptography` 40 here; - # this also forces us to pin an older `pyopenssl` because the current one - # is not compatible with older `cryptography`, see: - # https://github.com/pyca/pyopenssl/blob/d9752e44127ba36041b045417af8a0bf16ec4f1e/CHANGELOG.rst#2320-2023-05-30 - cryptography = self.callPackage ./old-python-packages/cryptography.nix {}; - - # This is the most recent version of `pyopenssl` that's still compatible with `cryptography` 40. - # See https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 - pyopenssl = super.pyopenssl.overridePythonAttrs (old: rec { - version = "23.1.1"; - src = fetchPypi { - pname = "pyOpenSSL"; - inherit version; - hash = "sha256-hBSYub7GFiOxtsR+u8AjZ8B9YODhlfGXkIF/EMyNsLc="; - }; - disabledTests = old.disabledTests or [ ] ++ [ - "test_export_md5_digest" - ]; - propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ - self.flaky - ]; - }); - - - fastapi = super.fastapi.overridePythonAttrs (old: rec { - # Flaky test: - # ResourceWarning: Unclosed - # Unclear whether it's flaky in general or only in this overridden package set. - doCheck = false; - }); - - # Ceph does not support `kubernetes` >= 19, see: - # https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1900324090 - kubernetes = super.kubernetes.overridePythonAttrs (old: rec { - version = "18.20.0"; - src = fetchFromGitHub { - owner = "kubernetes-client"; - repo = "python"; - rev = "v${version}"; - sha256 = "1sawp62j7h0yksmg9jlv4ik9b9i1a1w9syywc9mv8x89wibf5ql1"; - fetchSubmodules = true; - }; - }); + packageOverrides = + self: super: + let + bcryptOverrideVersion = "4.0.1"; + in + { + # Ceph does not support the following yet: + # * `bcrypt` > 4.0 + # * `cryptography` > 40 + # See: + # * https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 + # * Upstream issue: https://tracker.ceph.com/issues/63529 + # > Python Sub-Interpreter Model Used by ceph-mgr Incompatible With Python Modules Based on PyO3 + # * Moved to issue: https://tracker.ceph.com/issues/64213 + # > MGR modules incompatible with later PyO3 versions - PyO3 modules may only be initialized once per interpreter process + + bcrypt = super.bcrypt.overridePythonAttrs (old: rec { + pname = "bcrypt"; + version = bcryptOverrideVersion; + src = fetchPypi { + inherit pname version; + hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; + }; + cargoRoot = "src/_bcrypt"; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + sourceRoot = "${pname}-${version}/${cargoRoot}"; + name = "${pname}-${version}"; + hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY="; + }; + }); + + # We pin the older `cryptography` 40 here; + # this also forces us to pin an older `pyopenssl` because the current one + # is not compatible with older `cryptography`, see: + # https://github.com/pyca/pyopenssl/blob/d9752e44127ba36041b045417af8a0bf16ec4f1e/CHANGELOG.rst#2320-2023-05-30 + cryptography = self.callPackage ./old-python-packages/cryptography.nix { }; + + # This is the most recent version of `pyopenssl` that's still compatible with `cryptography` 40. + # See https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 + pyopenssl = super.pyopenssl.overridePythonAttrs (old: rec { + version = "23.1.1"; + src = fetchPypi { + pname = "pyOpenSSL"; + inherit version; + hash = "sha256-hBSYub7GFiOxtsR+u8AjZ8B9YODhlfGXkIF/EMyNsLc="; + }; + disabledTests = old.disabledTests or [ ] ++ [ + "test_export_md5_digest" + ]; + propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ + self.flaky + ]; + }); + + fastapi = super.fastapi.overridePythonAttrs (old: rec { + # Flaky test: + # ResourceWarning: Unclosed + # Unclear whether it's flaky in general or only in this overridden package set. + doCheck = false; + }); + + # Ceph does not support `kubernetes` >= 19, see: + # https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1900324090 + kubernetes = super.kubernetes.overridePythonAttrs (old: rec { + version = "18.20.0"; + src = fetchFromGitHub { + owner = "kubernetes-client"; + repo = "python"; + rev = "v${version}"; + sha256 = "1sawp62j7h0yksmg9jlv4ik9b9i1a1w9syywc9mv8x89wibf5ql1"; + fetchSubmodules = true; + }; + }); - }; + }; }; boost = boost182.override { @@ -262,46 +291,48 @@ let }; # TODO: split this off in build and runtime environment - ceph-python-env = python.withPackages (ps: with ps; [ - ceph-common - - # build time - cython_0 - - # debian/control - bcrypt - cherrypy - influxdb - jinja2 - kubernetes - natsort - numpy - pecan - prettytable - pyjwt - pyopenssl - python-dateutil - pyyaml - requests - routes - scikit-learn - scipy - setuptools - sphinx - virtualenv - werkzeug - - # src/cephadm/zipapp-reqs.txt - markupsafe - - # src/pybind/mgr/requirements-required.txt - cryptography - jsonpatch - - # src/tools/cephfs/shell/setup.py - cmd2 - colorama - ]); + ceph-python-env = python.withPackages ( + ps: with ps; [ + ceph-common + + # build time + cython_0 + + # debian/control + bcrypt + cherrypy + influxdb + jinja2 + kubernetes + natsort + numpy + pecan + prettytable + pyjwt + pyopenssl + python-dateutil + pyyaml + requests + routes + scikit-learn + scipy + setuptools + sphinx + virtualenv + werkzeug + + # src/cephadm/zipapp-reqs.txt + markupsafe + + # src/pybind/mgr/requirements-required.txt + cryptography + jsonpatch + + # src/tools/cephfs/shell/setup.py + cmd2 + colorama + ] + ); inherit (ceph-python-env.python) sitePackages; version = "19.2.0"; @@ -309,7 +340,8 @@ let url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz"; hash = "sha256-30vkW1j49hFIxyxzkssSKVSq0VqiwLfDtOb62xfxadM="; }; -in rec { +in +rec { ceph = stdenv.mkDerivation { pname = "ceph"; inherit src version; @@ -344,64 +376,68 @@ in rec { graphviz ]; - buildInputs = cryptoLibsMap.${cryptoStr} ++ [ - arrow-cpp - babeltrace - boost - bzip2 - # Adding `ceph-python-env` here adds the env's `site-packages` to `PYTHONPATH` during the build. - # This is important, otherwise the build system may not find the Python deps and then - # silently skip installing ceph-volume and other Ceph python tools. - ceph-python-env - cryptsetup - cunit - e2fsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it - gperf - gtest - icu - libcap - libnl - libxml2 - lmdb - lttng-ust - lua - lvm2 # according to `debian/control` file, e.g. `pvs` command used by `src/ceph-volume/ceph_volume/api/lvm.py` - lz4 - malloc - oath-toolkit - openldap - optLibatomic_ops - optLibs3 - optYasm - parted # according to `debian/control` file, used by `src/ceph-volume/ceph_volume/util/disk.py` - rdkafka - rocksdb' - snappy - openssh # according to `debian/control` file, `ssh` command used by `cephadm` - sqlite - utf8proc - xfsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it - zlib - zstd - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - keyutils - libcap_ng - liburing - libuuid - linuxHeaders - optLibaio - optLibxfs - optZfs - rabbitmq-c - rdma-core - udev - util-linux - ] ++ lib.optionals hasRadosgw [ - optCurl - optExpat - optFuse - optLibedit - ]; + buildInputs = + cryptoLibsMap.${cryptoStr} + ++ [ + arrow-cpp + babeltrace + boost + bzip2 + # Adding `ceph-python-env` here adds the env's `site-packages` to `PYTHONPATH` during the build. + # This is important, otherwise the build system may not find the Python deps and then + # silently skip installing ceph-volume and other Ceph python tools. + ceph-python-env + cryptsetup + cunit + e2fsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it + gperf + gtest + icu + libcap + libnl + libxml2 + lmdb + lttng-ust + lua + lvm2 # according to `debian/control` file, e.g. `pvs` command used by `src/ceph-volume/ceph_volume/api/lvm.py` + lz4 + malloc + oath-toolkit + openldap + optLibatomic_ops + optLibs3 + optYasm + parted # according to `debian/control` file, used by `src/ceph-volume/ceph_volume/util/disk.py` + rdkafka + rocksdb' + snappy + openssh # according to `debian/control` file, `ssh` command used by `cephadm` + sqlite + utf8proc + xfsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it + zlib + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + keyutils + libcap_ng + liburing + libuuid + linuxHeaders + optLibaio + optLibxfs + optZfs + rabbitmq-c + rdma-core + udev + util-linux + ] + ++ lib.optionals hasRadosgw [ + optCurl + optExpat + optFuse + optLibedit + ]; # Picked up, amongst others, by `wrapPythonPrograms`. pythonPath = [ @@ -411,7 +447,7 @@ in rec { # replace /sbin and /bin based paths with direct nix store paths # increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters - preConfigure ='' + preConfigure = '' substituteInPlace src/common/module.c \ --replace "char command[128];" "char command[256];" \ --replace "/sbin/modinfo" "${kmod}/bin/modinfo" \ @@ -484,7 +520,13 @@ in rec { test -f $out/bin/ceph-volume ''; - outputs = [ "out" "lib" "dev" "doc" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + "man" + ]; doCheck = false; # uses pip to install things from the internet @@ -501,25 +543,29 @@ in rec { ceph-multi-node ceph-single-node ceph-single-node-bluestore - ceph-single-node-bluestore-dmcrypt; + ceph-single-node-bluestore-dmcrypt + ; }; }; }; - ceph-client = runCommand "ceph-client-${version}" { - meta = getMeta "Tools needed to mount Ceph's RADOS Block Devices/Cephfs"; - } '' - mkdir -p $out/{bin,etc,${sitePackages},share/bash-completion/completions} - cp -r ${ceph}/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $out/bin - cp -r ${ceph}/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $out/bin - cp -r ${ceph}/bin/rbd-replay* $out/bin - cp -r ${ceph}/sbin/mount.ceph $out/bin - cp -r ${ceph}/sbin/mount.fuse.ceph $out/bin - ln -s bin $out/sbin - cp -r ${ceph}/${sitePackages}/* $out/${sitePackages} - cp -r ${ceph}/etc/bash_completion.d $out/share/bash-completion/completions - # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths - substituteInPlace $out/bin/ceph --replace ${ceph} $out - substituteInPlace $out/bin/.ceph-wrapped --replace ${ceph} $out - ''; + ceph-client = + runCommand "ceph-client-${version}" + { + meta = getMeta "Tools needed to mount Ceph's RADOS Block Devices/Cephfs"; + } + '' + mkdir -p $out/{bin,etc,${sitePackages},share/bash-completion/completions} + cp -r ${ceph}/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $out/bin + cp -r ${ceph}/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $out/bin + cp -r ${ceph}/bin/rbd-replay* $out/bin + cp -r ${ceph}/sbin/mount.ceph $out/bin + cp -r ${ceph}/sbin/mount.fuse.ceph $out/bin + ln -s bin $out/sbin + cp -r ${ceph}/${sitePackages}/* $out/${sitePackages} + cp -r ${ceph}/etc/bash_completion.d $out/share/bash-completion/completions + # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths + substituteInPlace $out/bin/ceph --replace ${ceph} $out + substituteInPlace $out/bin/.ceph-wrapped --replace ${ceph} $out + ''; } diff --git a/pkgs/tools/filesystems/disorderfs/default.nix b/pkgs/tools/filesystems/disorderfs/default.nix index 062173f6972e3..294222cb50447 100644 --- a/pkgs/tools/filesystems/disorderfs/default.nix +++ b/pkgs/tools/filesystems/disorderfs/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, fuse, attr, asciidoc }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + fuse, + attr, + asciidoc, +}: stdenv.mkDerivation rec { pname = "disorderfs"; @@ -9,9 +17,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-KqAMKVUykCgVdNyjacZjpVXqVdeob76v0iOuSd4TNIY="; }; - nativeBuildInputs = [ pkg-config asciidoc ]; + nativeBuildInputs = [ + pkg-config + asciidoc + ]; - buildInputs = [ fuse attr ]; + buildInputs = [ + fuse + attr + ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix index 1059f89ea5d3e..3fca46a96bbd1 100644 --- a/pkgs/tools/filesystems/duff/default.nix +++ b/pkgs/tools/filesystems/duff/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gettext }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gettext, +}: stdenv.mkDerivation { pname = "duff"; @@ -11,7 +17,10 @@ stdenv.mkDerivation { owner = "elmindreda"; }; - nativeBuildInputs = [ autoreconfHook gettext ]; + nativeBuildInputs = [ + autoreconfHook + gettext + ]; preAutoreconf = '' # gettexttize rightly refuses to run non-interactively: diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix index 4f546932c733b..0cbcc4ab832eb 100644 --- a/pkgs/tools/filesystems/encfs/default.nix +++ b/pkgs/tools/filesystems/encfs/default.nix @@ -1,6 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch -, cmake, pkg-config, perl -, gettext, fuse, openssl, tinyxml2 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + perl, + gettext, + fuse, + openssl, + tinyxml2, }: stdenv.mkDerivation rec { @@ -23,19 +32,31 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ gettext fuse openssl tinyxml2 ]; - nativeBuildInputs = [ cmake pkg-config perl ]; + buildInputs = [ + gettext + fuse + openssl + tinyxml2 + ]; + nativeBuildInputs = [ + cmake + pkg-config + perl + ]; - cmakeFlags = - [ "-DUSE_INTERNAL_TINYXML=OFF" - "-DBUILD_SHARED_LIBS=ON" - "-DINSTALL_LIBENCFS=ON" - ]; + cmakeFlags = [ + "-DUSE_INTERNAL_TINYXML=OFF" + "-DBUILD_SHARED_LIBS=ON" + "-DINSTALL_LIBENCFS=ON" + ]; meta = with lib; { description = "Encrypted filesystem in user-space via FUSE"; homepage = "https://vgough.github.io/encfs"; - license = with licenses; [ gpl3Plus lgpl3Plus ]; + license = with licenses; [ + gpl3Plus + lgpl3Plus + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/filesystems/fuse-ext2/default.nix b/pkgs/tools/filesystems/fuse-ext2/default.nix index e608bc5a41db8..49ae5aa6e2f14 100644 --- a/pkgs/tools/filesystems/fuse-ext2/default.nix +++ b/pkgs/tools/filesystems/fuse-ext2/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, e2fsprogs -, fuse +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + e2fsprogs, + fuse, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix index 3f8f2389a81dd..0afd39c0f4fe2 100644 --- a/pkgs/tools/filesystems/garage/default.nix +++ b/pkgs/tools/filesystems/garage/default.nix @@ -1,91 +1,114 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitea -, openssl -, pkg-config -, protobuf -, cacert -, garage -, nixosTests +{ + lib, + stdenv, + rustPlatform, + fetchFromGitea, + openssl, + pkg-config, + protobuf, + cacert, + garage, + nixosTests, }: let - generic = { version, hash, cargoHash, cargoPatches ? [], eol ? false, broken ? false }: rustPlatform.buildRustPackage { - pname = "garage"; - inherit version; - - src = fetchFromGitea { - domain = "git.deuxfleurs.fr"; - owner = "Deuxfleurs"; - repo = "garage"; - rev = "v${version}"; - inherit hash; + generic = + { + version, + hash, + cargoHash, + cargoPatches ? [ ], + eol ? false, + broken ? false, + }: + rustPlatform.buildRustPackage { + pname = "garage"; + inherit version; + + src = fetchFromGitea { + domain = "git.deuxfleurs.fr"; + owner = "Deuxfleurs"; + repo = "garage"; + rev = "v${version}"; + inherit hash; + }; + + postPatch = '' + # Starting in 0.9.x series, Garage is using mold in local development + # and this leaks in this packaging, we remove it to use the default linker. + rm .cargo/config.toml || true + ''; + + inherit cargoHash cargoPatches; + + nativeBuildInputs = [ + protobuf + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + checkInputs = [ + cacert + ]; + + OPENSSL_NO_VENDOR = true; + + # See https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/v0.8.2/nix/compile.nix#L192-L198 + # on version changes for checking if changes are required here + buildFeatures = + [ + "kubernetes-discovery" + "bundled-libs" + ] + ++ lib.optional (lib.versionOlder version "1.0") "sled" + ++ [ + "metrics" + "k2v" + "telemetry-otlp" + "lmdb" + "sqlite" + "consul-discovery" + ]; + + # To make integration tests pass, we include the optional k2v feature here, + # but in buildFeatures only for version 0.8+, where it's enabled by default. + # See: https://garagehq.deuxfleurs.fr/documentation/reference-manual/k2v/ + checkFeatures = + [ + "k2v" + "kubernetes-discovery" + "bundled-libs" + ] + ++ lib.optional (lib.versionOlder version "1.0") "sled" + ++ [ + "lmdb" + "sqlite" + ]; + + disabledTests = [ + # Upstream told us this test is flakey. + "k2v::poll::test_poll_item" + ]; + + passthru.tests = nixosTests.garage; + + meta = { + description = "S3-compatible object store for small self-hosted geo-distributed deployments"; + changelog = "https://git.deuxfleurs.fr/Deuxfleurs/garage/releases/tag/v${version}"; + homepage = "https://garagehq.deuxfleurs.fr"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ + nickcao + _0x4A6F + teutat3s + ]; + knownVulnerabilities = (lib.optional eol "Garage version ${version} is EOL"); + inherit broken; + mainProgram = "garage"; + }; }; - - postPatch = '' - # Starting in 0.9.x series, Garage is using mold in local development - # and this leaks in this packaging, we remove it to use the default linker. - rm .cargo/config.toml || true - ''; - - inherit cargoHash cargoPatches; - - nativeBuildInputs = [ protobuf pkg-config ]; - - buildInputs = [ - openssl - ]; - - checkInputs = [ - cacert - ]; - - OPENSSL_NO_VENDOR = true; - - # See https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/v0.8.2/nix/compile.nix#L192-L198 - # on version changes for checking if changes are required here - buildFeatures = [ - "kubernetes-discovery" - "bundled-libs" - ] ++ lib.optional (lib.versionOlder version "1.0") "sled" ++ [ - "metrics" - "k2v" - "telemetry-otlp" - "lmdb" - "sqlite" - "consul-discovery" - ]; - - # To make integration tests pass, we include the optional k2v feature here, - # but in buildFeatures only for version 0.8+, where it's enabled by default. - # See: https://garagehq.deuxfleurs.fr/documentation/reference-manual/k2v/ - checkFeatures = [ - "k2v" - "kubernetes-discovery" - "bundled-libs" - ] ++ lib.optional (lib.versionOlder version "1.0") "sled" ++ [ - "lmdb" - "sqlite" - ]; - - disabledTests = [ - # Upstream told us this test is flakey. - "k2v::poll::test_poll_item" - ]; - - passthru.tests = nixosTests.garage; - - meta = { - description = "S3-compatible object store for small self-hosted geo-distributed deployments"; - changelog = "https://git.deuxfleurs.fr/Deuxfleurs/garage/releases/tag/v${version}"; - homepage = "https://garagehq.deuxfleurs.fr"; - license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [ nickcao _0x4A6F teutat3s ]; - knownVulnerabilities = (lib.optional eol "Garage version ${version} is EOL"); - inherit broken; - mainProgram = "garage"; - }; - }; in rec { # Until Garage hits 1.0, 0.7.3 is equivalent to 7.3.0 for now, therefore diff --git a/pkgs/tools/filesystems/irods/common.nix b/pkgs/tools/filesystems/irods/common.nix index aaa96fdec84bf..9f77802b66ce7 100644 --- a/pkgs/tools/filesystems/irods/common.nix +++ b/pkgs/tools/filesystems/irods/common.nix @@ -28,7 +28,7 @@ curl, spdlog_rods, bison, - flex + flex, }: # Common attributes of irods packages diff --git a/pkgs/tools/filesystems/irods/default.nix b/pkgs/tools/filesystems/irods/default.nix index ca5fe7fa7329c..e5e6f29e7eb42 100644 --- a/pkgs/tools/filesystems/irods/default.nix +++ b/pkgs/tools/filesystems/irods/default.nix @@ -29,7 +29,7 @@ spdlog_llvm, curl, bison, - flex + flex, }: let @@ -127,7 +127,7 @@ rec { meta = common.meta // { longDescription = common.meta.longDescription + "This package provides the servers and libraries."; - mainProgram = "irodsServer"; + mainProgram = "irodsServer"; }; } ); diff --git a/pkgs/tools/filesystems/juicefs/default.nix b/pkgs/tools/filesystems/juicefs/default.nix index 496cdb0db5379..17e20bdcc2af4 100644 --- a/pkgs/tools/filesystems/juicefs/default.nix +++ b/pkgs/tools/filesystems/juicefs/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { diff --git a/pkgs/tools/filesystems/kdiskmark/default.nix b/pkgs/tools/filesystems/kdiskmark/default.nix index 95105b5ece1ae..e094f6ce5ee8a 100644 --- a/pkgs/tools/filesystems/kdiskmark/default.nix +++ b/pkgs/tools/filesystems/kdiskmark/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, lib -, wrapQtAppsHook -, qtbase -, qttools -, fio -, cmake -, polkit-qt -, extra-cmake-modules -, fetchFromGitHub +{ + stdenv, + lib, + wrapQtAppsHook, + qtbase, + qttools, + fio, + cmake, + polkit-qt, + extra-cmake-modules, + fetchFromGitHub, }: stdenv.mkDerivation rec { pname = "kdiskmark"; @@ -21,7 +22,10 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; buildInputs = [ qtbase @@ -35,8 +39,12 @@ stdenv.mkDerivation rec { --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions ''; - qtWrapperArgs = - [ "--prefix" "PATH" ":" (lib.makeBinPath [ fio ]) ]; + qtWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ fio ]) + ]; meta = with lib; { description = "HDD and SSD benchmark tool with a friendly graphical user interface"; @@ -52,4 +60,3 @@ stdenv.mkDerivation rec { mainProgram = "kdiskmark"; }; } - diff --git a/pkgs/tools/filesystems/kio-fuse/default.nix b/pkgs/tools/filesystems/kio-fuse/default.nix index 5d8e290592612..72fff84067026 100644 --- a/pkgs/tools/filesystems/kio-fuse/default.nix +++ b/pkgs/tools/filesystems/kio-fuse/default.nix @@ -1,10 +1,11 @@ -{ lib -, mkDerivation -, fetchgit -, cmake -, extra-cmake-modules -, kio -, fuse3 +{ + lib, + mkDerivation, + fetchgit, + cmake, + extra-cmake-modules, + kio, + fuse3, }: mkDerivation rec { @@ -17,9 +18,15 @@ mkDerivation rec { rev = "v${version}"; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; - buildInputs = [ kio fuse3 ]; + buildInputs = [ + kio + fuse3 + ]; meta = with lib; { description = "FUSE Interface for KIO"; diff --git a/pkgs/tools/filesystems/mergerfs/default.nix b/pkgs/tools/filesystems/mergerfs/default.nix index 27cab657132d8..ff57c0c4ba785 100644 --- a/pkgs/tools/filesystems/mergerfs/default.nix +++ b/pkgs/tools/filesystems/mergerfs/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, automake, autoconf, pkg-config, gettext, libtool, pandoc, which, attr, libiconv }: +{ + lib, + stdenv, + fetchFromGitHub, + automake, + autoconf, + pkg-config, + gettext, + libtool, + pandoc, + which, + attr, + libiconv, +}: stdenv.mkDerivation rec { pname = "mergerfs"; @@ -12,18 +25,32 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - automake autoconf pkg-config gettext libtool pandoc which + automake + autoconf + pkg-config + gettext + libtool + pandoc + which ]; prePatch = '' sed -i -e '/chown/d' -e '/chmod/d' libfuse/Makefile ''; - buildInputs = [ attr libiconv ]; + buildInputs = [ + attr + libiconv + ]; preConfigure = '' echo "${version}" > VERSION ''; - makeFlags = [ "DESTDIR=${placeholder "out"}" "XATTR_AVAILABLE=1" "PREFIX=/" "SBINDIR=/bin" ]; + makeFlags = [ + "DESTDIR=${placeholder "out"}" + "XATTR_AVAILABLE=1" + "PREFIX=/" + "SBINDIR=/bin" + ]; enableParallelBuilding = true; postFixup = '' diff --git a/pkgs/tools/filesystems/mergerfs/tools.nix b/pkgs/tools/filesystems/mergerfs/tools.nix index 2708328bf4d6e..3b89c3c00c79a 100644 --- a/pkgs/tools/filesystems/mergerfs/tools.nix +++ b/pkgs/tools/filesystems/mergerfs/tools.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, coreutils, makeWrapper -, rsync, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + makeWrapper, + rsync, + python3, +}: stdenv.mkDerivation rec { pname = "mergerfs-tools"; diff --git a/pkgs/tools/filesystems/mkspiffs/default.nix b/pkgs/tools/filesystems/mkspiffs/default.nix index c2712376da6bb..808b27dd687df 100644 --- a/pkgs/tools/filesystems/mkspiffs/default.nix +++ b/pkgs/tools/filesystems/mkspiffs/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: # Changing the variables CPPFLAGS and BUILD_CONFIG_NAME can be done by # overriding the same-named attributes. See ./presets.nix for examples. diff --git a/pkgs/tools/filesystems/mkspiffs/presets.nix b/pkgs/tools/filesystems/mkspiffs/presets.nix index d4008b2fa3c3c..4bd747c06298f 100644 --- a/pkgs/tools/filesystems/mkspiffs/presets.nix +++ b/pkgs/tools/filesystems/mkspiffs/presets.nix @@ -2,19 +2,22 @@ # We provide the same presets as the upstream -lib.mapAttrs ( - name: { CPPFLAGS }: - mkspiffs.overrideAttrs { - inherit CPPFLAGS; - BUILD_CONFIG_NAME = "-${name}"; - } -) { - arduino-esp8266.CPPFLAGS = [ - "-DSPIFFS_USE_MAGIC_LENGTH=0" - "-DSPIFFS_ALIGNED_OBJECT_INDEX_TABLES=1" - ]; +lib.mapAttrs + ( + name: + { CPPFLAGS }: + mkspiffs.overrideAttrs { + inherit CPPFLAGS; + BUILD_CONFIG_NAME = "-${name}"; + } + ) + { + arduino-esp8266.CPPFLAGS = [ + "-DSPIFFS_USE_MAGIC_LENGTH=0" + "-DSPIFFS_ALIGNED_OBJECT_INDEX_TABLES=1" + ]; - arduino-esp32.CPPFLAGS = [ "-DSPIFFS_OBJ_META_LEN=4" ]; + arduino-esp32.CPPFLAGS = [ "-DSPIFFS_OBJ_META_LEN=4" ]; - esp-idf.CPPFLAGS = [ "-DSPIFFS_OBJ_META_LEN=4" ]; -} + esp-idf.CPPFLAGS = [ "-DSPIFFS_OBJ_META_LEN=4" ]; + } diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix index 5a9426cee486c..ff1347c6c7e1d 100644 --- a/pkgs/tools/filesystems/ntfs-3g/default.nix +++ b/pkgs/tools/filesystems/ntfs-3g/default.nix @@ -1,13 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config -, gettext, mount, libuuid, kmod, macfuse-stubs, DiskArbitration -, crypto ? false, libgcrypt, gnutls +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gettext, + mount, + libuuid, + kmod, + macfuse-stubs, + DiskArbitration, + crypto ? false, + libgcrypt, + gnutls, }: stdenv.mkDerivation rec { pname = "ntfs3g"; version = "2022.10.3"; - outputs = [ "out" "dev" "man" "doc" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + ]; src = fetchFromGitHub { owner = "tuxera"; @@ -16,13 +33,27 @@ stdenv.mkDerivation rec { sha256 = "sha256-nuFTsGkm3zmSzpwmhyY7Ke0VZfZU0jHOzEWaLBbglQk="; }; - buildInputs = [ gettext libuuid ] - ++ lib.optionals crypto [ gnutls libgcrypt ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ macfuse-stubs DiskArbitration ]; + buildInputs = + [ + gettext + libuuid + ] + ++ lib.optionals crypto [ + gnutls + libgcrypt + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + macfuse-stubs + DiskArbitration + ]; # Note: libgcrypt is listed here non-optionally because its m4 macros are # being used in ntfs-3g's configure.ac. - nativeBuildInputs = [ autoreconfHook libgcrypt pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + libgcrypt + pkg-config + ]; patches = [ # https://github.com/tuxera/ntfs-3g/pull/39 @@ -30,25 +61,26 @@ stdenv.mkDerivation rec { ./consistent-sbindir-usage.patch ]; - configureFlags = [ - "--disable-ldconfig" - "--exec-prefix=\${prefix}" - "--enable-mount-helper" - "--enable-posix-acls" - "--enable-xattr-mappings" - "--${if crypto then "enable" else "disable"}-crypto" - "--enable-extras" - "--with-mount-helper=${mount}/bin/mount" - "--with-umount-helper=${mount}/bin/umount" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--with-modprobe-helper=${kmod}/bin/modprobe" - ]; + configureFlags = + [ + "--disable-ldconfig" + "--exec-prefix=\${prefix}" + "--enable-mount-helper" + "--enable-posix-acls" + "--enable-xattr-mappings" + "--${if crypto then "enable" else "disable"}-crypto" + "--enable-extras" + "--with-mount-helper=${mount}/bin/mount" + "--with-umount-helper=${mount}/bin/umount" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--with-modprobe-helper=${kmod}/bin/modprobe" + ]; - postInstall = - '' - # Prefer ntfs-3g over the ntfs driver in the kernel. - ln -sv mount.ntfs-3g $out/sbin/mount.ntfs - ''; + postInstall = '' + # Prefer ntfs-3g over the ntfs driver in the kernel. + ln -sv mount.ntfs-3g $out/sbin/mount.ntfs + ''; enableParallelBuilding = true; diff --git a/pkgs/tools/filesystems/orangefs/default.nix b/pkgs/tools/filesystems/orangefs/default.nix index 0566a8a4c1294..69080eec167e1 100644 --- a/pkgs/tools/filesystems/orangefs/default.nix +++ b/pkgs/tools/filesystems/orangefs/default.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl, fetchpatch, bison, flex, autoreconfHook -, openssl, db, attr, perl, tcsh -, nixosTests -} : +{ + lib, + stdenv, + fetchurl, + fetchpatch, + bison, + flex, + autoreconfHook, + openssl, + db, + attr, + perl, + tcsh, + nixosTests, +}: stdenv.mkDerivation rec { pname = "orangefs"; @@ -21,8 +32,18 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ bison flex perl autoreconfHook ]; - buildInputs = [ openssl db attr tcsh ]; + nativeBuildInputs = [ + bison + flex + perl + autoreconfHook + ]; + buildInputs = [ + openssl + db + attr + tcsh + ]; postPatch = '' # Issue introduced by attr-2.4.48 @@ -45,7 +66,6 @@ stdenv.mkDerivation rec { "--with-ssl=${lib.getDev openssl}" ]; - enableParallelBuilding = true; postInstall = '' @@ -66,7 +86,14 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Scale-out network file system for use on high-end computing systems"; homepage = "http://www.orangefs.org/"; - license = with licenses; [ asl20 bsd3 gpl2Only lgpl21 lgpl21Plus openldap ]; + license = with licenses; [ + asl20 + bsd3 + gpl2Only + lgpl21 + lgpl21Plus + openldap + ]; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ markuskowa ]; }; diff --git a/pkgs/tools/filesystems/romdirfs/default.nix b/pkgs/tools/filesystems/romdirfs/default.nix index 1b7e2f17a1afe..387d17ce1861c 100644 --- a/pkgs/tools/filesystems/romdirfs/default.nix +++ b/pkgs/tools/filesystems/romdirfs/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fuse }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + fuse, +}: stdenv.mkDerivation rec { pname = "romdirfs"; @@ -11,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "1jbsmpklrycz5q86qmzvbz4iz2g5fvd7p9nca160aw2izwpws0g7"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; buildInputs = [ fuse ]; meta = with lib; { diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix index 3ffa806405070..4ca4d71a8f6b4 100644 --- a/pkgs/tools/filesystems/s3fs/default.nix +++ b/pkgs/tools/filesystems/s3fs/default.nix @@ -1,18 +1,36 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, openssl, libxml2, fuse }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + curl, + openssl, + libxml2, + fuse, +}: stdenv.mkDerivation rec { pname = "s3fs-fuse"; version = "1.95"; src = fetchFromGitHub { - owner = "s3fs-fuse"; - repo = "s3fs-fuse"; - rev = "v${version}"; + owner = "s3fs-fuse"; + repo = "s3fs-fuse"; + rev = "v${version}"; sha256 = "sha256-wHszw3S+fuZRwTvJy+FkxQTR2BAvr8H924Wd4/C5heE="; }; - buildInputs = [ curl openssl libxml2 fuse ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + curl + openssl + libxml2 + fuse + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; configureFlags = [ "--with-openssl" diff --git a/pkgs/tools/filesystems/securefs/default.nix b/pkgs/tools/filesystems/securefs/default.nix index fe148e955cb2a..1dd426b55a370 100644 --- a/pkgs/tools/filesystems/securefs/default.nix +++ b/pkgs/tools/filesystems/securefs/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, fuse +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + fuse, }: stdenv.mkDerivation rec { @@ -33,7 +34,10 @@ stdenv.mkDerivation rec { automatically updated to contain the encrypted and authenticated contents. ''; - license = with licenses; [ bsd2 mit ]; + license = with licenses; [ + bsd2 + mit + ]; platforms = platforms.unix; mainProgram = "securefs"; }; diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix index c6aa557d77fbb..5e8625f3f5355 100644 --- a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix +++ b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix @@ -1,5 +1,17 @@ -{ stdenv, lib, fetchurl, doxygen, graphviz, perl, pkg-config -, bzip2, lz4, lzo, xz, zlib, zstd +{ + stdenv, + lib, + fetchurl, + doxygen, + graphviz, + perl, + pkg-config, + bzip2, + lz4, + lzo, + xz, + zlib, + zstd, }: stdenv.mkDerivation rec { @@ -11,8 +23,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-DZB6w+c1w1HkfIZ/tR2Uv/o7BfuVvsAfMehIt8RCFak="; }; - nativeBuildInputs = [ doxygen graphviz pkg-config perl ]; - buildInputs = [ bzip2 zlib xz lz4 lzo zstd ]; + nativeBuildInputs = [ + doxygen + graphviz + pkg-config + perl + ]; + buildInputs = [ + bzip2 + zlib + xz + lz4 + lzo + zstd + ]; enableParallelBuilding = true; diff --git a/pkgs/tools/filesystems/ssdfs-utils/default.nix b/pkgs/tools/filesystems/ssdfs-utils/default.nix index 38efbad0f2c39..b176a4530e300 100644 --- a/pkgs/tools/filesystems/ssdfs-utils/default.nix +++ b/pkgs/tools/filesystems/ssdfs-utils/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, libtool -, libuuid -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + libtool, + libuuid, + zlib, }: stdenv.mkDerivation { diff --git a/pkgs/tools/games/ajour/default.nix b/pkgs/tools/games/ajour/default.nix index 5ed670a77de6f..d0e4dc5285ce0 100644 --- a/pkgs/tools/games/ajour/default.nix +++ b/pkgs/tools/games/ajour/default.nix @@ -1,26 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, autoPatchelfHook -, cmake -, makeWrapper -, pkg-config -, python3 -, expat -, freetype -, kdialog -, zenity -, openssl -, libglvnd -, libX11 -, libxcb -, libXcursor -, libXi -, libxkbcommon -, libXrandr -, vulkan-loader -, wayland +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + autoPatchelfHook, + cmake, + makeWrapper, + pkg-config, + python3, + expat, + freetype, + kdialog, + zenity, + openssl, + libglvnd, + libX11, + libxcb, + libXcursor, + libXi, + libxkbcommon, + libXrandr, + vulkan-loader, + wayland, }: let @@ -35,7 +36,8 @@ let wayland ]; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "ajour"; version = "1.3.2"; @@ -78,7 +80,12 @@ in rustPlatform.buildRustPackage rec { fixupPhase = '' patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}:$(patchelf --print-rpath $out/bin/ajour)" $out/bin/ajour - wrapProgram $out/bin/ajour --prefix PATH ":" ${lib.makeBinPath [ zenity kdialog ]} + wrapProgram $out/bin/ajour --prefix PATH ":" ${ + lib.makeBinPath [ + zenity + kdialog + ] + } ''; meta = with lib; { diff --git a/pkgs/tools/games/alice-tools/default.nix b/pkgs/tools/games/alice-tools/default.nix index 07d96cbd03fa0..7964aa77c38a7 100644 --- a/pkgs/tools/games/alice-tools/default.nix +++ b/pkgs/tools/games/alice-tools/default.nix @@ -1,21 +1,22 @@ -{ stdenv -, lib -, gitUpdater -, testers -, fetchFromGitHub -, meson -, ninja -, pkg-config -, bison -, flex -, libiconv -, libpng -, libjpeg -, libwebp -, zlib -, withGUI ? true -, qtbase ? null -, wrapQtAppsHook ? null +{ + stdenv, + lib, + gitUpdater, + testers, + fetchFromGitHub, + meson, + ninja, + pkg-config, + bison, + flex, + libiconv, + libpng, + libjpeg, + libwebp, + zlib, + withGUI ? true, + qtbase ? null, + wrapQtAppsHook ? null, }: assert withGUI -> qtbase != null && wrapQtAppsHook != null; @@ -46,46 +47,55 @@ stdenv.mkDerivation (finalAttrs: { "-Dcpp_std=c++17" ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - bison - flex - ] ++ lib.optionals withGUI [ - wrapQtAppsHook - ]; + nativeBuildInputs = + [ + meson + ninja + pkg-config + bison + flex + ] + ++ lib.optionals withGUI [ + wrapQtAppsHook + ]; - buildInputs = [ - libiconv - libpng - libjpeg - libwebp - zlib - ] ++ lib.optionals withGUI [ - qtbase - ]; + buildInputs = + [ + libiconv + libpng + libjpeg + libwebp + zlib + ] + ++ lib.optionals withGUI [ + qtbase + ]; dontWrapQtApps = true; # Default install step only installs a static library of a build dependency - installPhase = '' - runHook preInstall + installPhase = + '' + runHook preInstall - install -Dm755 src/alice $out/bin/alice - '' + lib.optionalString withGUI '' - install -Dm755 src/galice $out/bin/galice - wrapQtApp $out/bin/galice - '' + '' + install -Dm755 src/alice $out/bin/alice + '' + + lib.optionalString withGUI '' + install -Dm755 src/galice $out/bin/galice + wrapQtApp $out/bin/galice + '' + + '' - runHook postInstall - ''; + runHook postInstall + ''; passthru = { updateScript = gitUpdater { }; tests.version = testers.testVersion { package = finalAttrs.finalPackage; - command = lib.optionalString withGUI "env QT_QPA_PLATFORM=minimal " + "${lib.getExe finalAttrs.finalPackage} --version"; + command = + lib.optionalString withGUI "env QT_QPA_PLATFORM=minimal " + + "${lib.getExe finalAttrs.finalPackage} --version"; }; }; diff --git a/pkgs/tools/games/gamemode/default.nix b/pkgs/tools/games/gamemode/default.nix index 6744bcdb60801..0156033f1d390 100644 --- a/pkgs/tools/games/gamemode/default.nix +++ b/pkgs/tools/games/gamemode/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchFromGitHub -, libgamemode32 -, makeWrapper -, meson -, ninja -, pkg-config -, dbus -, inih -, systemd -, appstream -, findutils -, gawk -, procps -, nix-update-script +{ + lib, + stdenv, + fetchFromGitHub, + libgamemode32, + makeWrapper, + meson, + ninja, + pkg-config, + dbus, + inih, + systemd, + appstream, + findutils, + gawk, + procps, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -27,7 +28,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-JkDFhFLUHlgD6RKxlxMjrSF2zQ4AWmRUQMLbWYwIZmg="; }; - outputs = [ "out" "dev" "lib" "man" ]; + outputs = [ + "out" + "dev" + "lib" + "man" + ]; patches = [ # Add @libraryPath@ template variable to fix loading the PRELOAD library @@ -36,12 +42,17 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' substituteInPlace data/gamemoderun \ - --subst-var-by libraryPath ${lib.makeLibraryPath ([ - (placeholder "lib") - ] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [ - # Support wrapping 32bit applications on a 64bit linux system - libgamemode32 - ])} + --subst-var-by libraryPath ${ + lib.makeLibraryPath ( + [ + (placeholder "lib") + ] + ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [ + # Support wrapping 32bit applications on a 64bit linux system + libgamemode32 + ] + ) + } ''; nativeBuildInputs = [ @@ -83,11 +94,13 @@ stdenv.mkDerivation (finalAttrs: { done wrapProgram "$out/bin/gamemodelist" \ - --prefix PATH : ${lib.makeBinPath [ - findutils - gawk - procps - ]} + --prefix PATH : ${ + lib.makeBinPath [ + findutils + gawk + procps + ] + } ''; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/tools/games/minecraft/mcaselector/default.nix b/pkgs/tools/games/minecraft/mcaselector/default.nix index cdec4e1392316..8745c9b5ba99d 100644 --- a/pkgs/tools/games/minecraft/mcaselector/default.nix +++ b/pkgs/tools/games/minecraft/mcaselector/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, fetchurl -, makeWrapper -, wrapGAppsHook3 -, jre +{ + lib, + stdenvNoCC, + fetchurl, + makeWrapper, + wrapGAppsHook3, + jre, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -18,7 +19,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { dontUnpack = true; dontBuild = true; - nativeBuildInputs = [ jre makeWrapper wrapGAppsHook3 ]; + nativeBuildInputs = [ + jre + makeWrapper + wrapGAppsHook3 + ]; dontWrapGApps = true; diff --git a/pkgs/tools/games/minecraft/optifine/default.nix b/pkgs/tools/games/minecraft/optifine/default.nix index e5608559af0da..7eefb18fcc608 100644 --- a/pkgs/tools/games/minecraft/optifine/default.nix +++ b/pkgs/tools/games/minecraft/optifine/default.nix @@ -1,6 +1,7 @@ -{ recurseIntoAttrs -, callPackage -, lib +{ + recurseIntoAttrs, + callPackage, + lib, }: # All versions are taken from `version.json` created by `update.py`, and realised with `generic.nix`. @@ -11,7 +12,5 @@ # $ nix-shell ./maintainers/scripts/update.nix --argstr package optifinePackages.optifine-latest --argstr commit true recurseIntoAttrs ( - lib.mapAttrs - (name: value: callPackage ./generic.nix value) - (lib.importJSON ./versions.json) + lib.mapAttrs (name: value: callPackage ./generic.nix value) (lib.importJSON ./versions.json) ) diff --git a/pkgs/tools/games/minecraft/optifine/generic.nix b/pkgs/tools/games/minecraft/optifine/generic.nix index a375ac9def7b8..124e8eb1598b2 100644 --- a/pkgs/tools/games/minecraft/optifine/generic.nix +++ b/pkgs/tools/games/minecraft/optifine/generic.nix @@ -1,50 +1,56 @@ -{ version -, sha256 -, lib -, runCommand -, fetchurl -, makeWrapper -, jre +{ + version, + sha256, + lib, + runCommand, + fetchurl, + makeWrapper, + jre, }: let mcVersion = builtins.head (lib.splitString "_" version); in -runCommand "optifine-${mcVersion}" { - pname = "optifine"; - inherit version; +runCommand "optifine-${mcVersion}" + { + pname = "optifine"; + inherit version; - src = fetchurl { - url = "https://optifine.net/download?f=OptiFine_${version}.jar"; - inherit sha256; - name = "OptiFine_${version}.jar"; - }; + src = fetchurl { + url = "https://optifine.net/download?f=OptiFine_${version}.jar"; + inherit sha256; + name = "OptiFine_${version}.jar"; + }; - nativeBuildInputs = [ jre makeWrapper ]; + nativeBuildInputs = [ + jre + makeWrapper + ]; - passthru.updateScript = { - command = [ ./update.py ]; - supportedFeatures = [ "commit" ]; - }; + passthru.updateScript = { + command = [ ./update.py ]; + supportedFeatures = [ "commit" ]; + }; - meta = with lib; { - homepage = "https://optifine.net/"; - description = "Minecraft ${mcVersion} optimization mod"; - longDescription = '' - OptiFine is a Minecraft optimization mod. - It allows Minecraft to run faster and look better with full support for HD textures and many configuration options. - This is for version ${mcVersion} of Minecraft. - ''; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.unfree; - maintainers = [ ]; - platforms = platforms.unix; - mainProgram = "optifine"; - }; -} '' - mkdir -p $out/{bin,lib/optifine} - cp $src $out/lib/optifine/optifine.jar + meta = with lib; { + homepage = "https://optifine.net/"; + description = "Minecraft ${mcVersion} optimization mod"; + longDescription = '' + OptiFine is a Minecraft optimization mod. + It allows Minecraft to run faster and look better with full support for HD textures and many configuration options. + This is for version ${mcVersion} of Minecraft. + ''; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.unfree; + maintainers = [ ]; + platforms = platforms.unix; + mainProgram = "optifine"; + }; + } + '' + mkdir -p $out/{bin,lib/optifine} + cp $src $out/lib/optifine/optifine.jar - makeWrapper ${jre}/bin/java $out/bin/optifine \ - --add-flags "-jar $out/lib/optifine/optifine.jar" -'' + makeWrapper ${jre}/bin/java $out/bin/optifine \ + --add-flags "-jar $out/lib/optifine/optifine.jar" + '' diff --git a/pkgs/tools/games/mymcplus/default.nix b/pkgs/tools/games/mymcplus/default.nix index 9fa3c77978520..b6623698d9c9c 100644 --- a/pkgs/tools/games/mymcplus/default.nix +++ b/pkgs/tools/games/mymcplus/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromSourcehut -, pythonPackages -, wrapGAppsHook3 +{ + lib, + fetchFromSourcehut, + pythonPackages, + wrapGAppsHook3, }: pythonPackages.buildPythonApplication rec { diff --git a/pkgs/tools/games/pokefinder/default.nix b/pkgs/tools/games/pokefinder/default.nix index 6ea5f168a8f4b..ed9d62db08ce2 100644 --- a/pkgs/tools/games/pokefinder/default.nix +++ b/pkgs/tools/games/pokefinder/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, copyDesktopItems -, makeDesktopItem -, fetchFromGitHub -, fetchpatch -, cmake -, python3 -, qtbase -, qttools -, qtwayland -, imagemagick -, wrapQtAppsHook -, gitUpdater +{ + lib, + stdenv, + copyDesktopItems, + makeDesktopItem, + fetchFromGitHub, + fetchpatch, + cmake, + python3, + qtbase, + qttools, + qtwayland, + imagemagick, + wrapQtAppsHook, + gitUpdater, }: stdenv.mkDerivation rec { @@ -40,20 +41,33 @@ stdenv.mkDerivation rec { patchShebangs Source/Core/Resources/ ''; - installPhase = '' - runHook preInstall - '' + lib.optionalString (stdenv.hostPlatform.isDarwin) '' - mkdir -p $out/Applications - cp -R Source/PokeFinder.app $out/Applications - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - install -D Source/PokeFinder $out/bin/PokeFinder - mkdir -p $out/share/pixmaps - convert "$src/Source/Form/Images/pokefinder.ico[-1]" $out/share/pixmaps/pokefinder.png - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + mkdir -p $out/Applications + cp -R Source/PokeFinder.app $out/Applications + '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + install -D Source/PokeFinder $out/bin/PokeFinder + mkdir -p $out/share/pixmaps + convert "$src/Source/Form/Images/pokefinder.ico[-1]" $out/share/pixmaps/pokefinder.png + '' + + '' + runHook postInstall + ''; - nativeBuildInputs = [ cmake wrapQtAppsHook python3 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems imagemagick ]; + nativeBuildInputs = + [ + cmake + wrapQtAppsHook + python3 + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + copyDesktopItems + imagemagick + ]; desktopItems = [ (makeDesktopItem { @@ -66,8 +80,10 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ qtbase qttools ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; + buildInputs = [ + qtbase + qttools + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; passthru.updateScript = gitUpdater { rev-prefix = "v"; diff --git a/pkgs/tools/games/slipstream/default.nix b/pkgs/tools/games/slipstream/default.nix index f1fa38f893f89..8269072876f38 100644 --- a/pkgs/tools/games/slipstream/default.nix +++ b/pkgs/tools/games/slipstream/default.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, makeWrapper, maven, jdk }: +{ + lib, + fetchFromGitHub, + makeWrapper, + maven, + jdk, +}: maven.buildMavenPackage rec { pname = "slipstream"; diff --git a/pkgs/tools/games/steamback/default.nix b/pkgs/tools/games/steamback/default.nix index a41b5f3ca7fb2..662b6a06c6d88 100644 --- a/pkgs/tools/games/steamback/default.nix +++ b/pkgs/tools/games/steamback/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPythonApplication -, fetchPypi -, setuptools -, setuptools-scm -, wheel -, pillow -, psutil -, async-tkinter-loop -, timeago -, platformdirs -, sv-ttk +{ + lib, + buildPythonApplication, + fetchPypi, + setuptools, + setuptools-scm, + wheel, + pillow, + psutil, + async-tkinter-loop, + timeago, + platformdirs, + sv-ttk, }: buildPythonApplication rec { diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index d2fb26e3e336b..59d6745ebb2d3 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -1,19 +1,50 @@ -{ lib, stdenv, fetchurl -, autoreconfHook, bison, glm, flex, wrapQtAppsHook, cmake, pkg-config -, libglut, ghostscriptX, imagemagick, fftw, eigen, libtirpc -, boehmgc, libGLU, libGL, ncurses, readline, gsl, libsigsegv -, python3, qtbase, qtsvg, boost -, zlib, perl, curl -, texinfo -, texliveSmall -, darwin +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + bison, + glm, + flex, + wrapQtAppsHook, + cmake, + pkg-config, + libglut, + ghostscriptX, + imagemagick, + fftw, + eigen, + libtirpc, + boehmgc, + libGLU, + libGL, + ncurses, + readline, + gsl, + libsigsegv, + python3, + qtbase, + qtsvg, + boost, + zlib, + perl, + curl, + texinfo, + texliveSmall, + darwin, }: stdenv.mkDerivation (finalAttrs: { version = "2.92"; pname = "asymptote"; - outputs = [ "out" "man" "info" "doc" "tex" ]; + outputs = [ + "out" + "man" + "info" + "doc" + "tex" + ]; src = fetchurl { url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz"; @@ -24,32 +55,72 @@ stdenv.mkDerivation (finalAttrs: { texContainer = null; texdocContainer = null; - nativeBuildInputs = [ - autoreconfHook - bison - flex - bison - texinfo - wrapQtAppsHook - cmake - pkg-config - ] ++ lib.optional (finalAttrs.texContainer == null || finalAttrs.texdocContainer == null) - (texliveSmall.withPackages (ps: with ps; [ epsf cm-super ps.texinfo media9 ocgx2 collection-latexextra ])); + nativeBuildInputs = + [ + autoreconfHook + bison + flex + bison + texinfo + wrapQtAppsHook + cmake + pkg-config + ] + ++ lib.optional (finalAttrs.texContainer == null || finalAttrs.texdocContainer == null) ( + texliveSmall.withPackages ( + ps: with ps; [ + epsf + cm-super + ps.texinfo + media9 + ocgx2 + collection-latexextra + ] + ) + ); buildInputs = [ - ghostscriptX imagemagick fftw eigen - boehmgc ncurses readline gsl libsigsegv - zlib perl curl qtbase qtsvg boost - (python3.withPackages (ps: with ps; [ cson numpy pyqt5 ])) + ghostscriptX + imagemagick + fftw + eigen + boehmgc + ncurses + readline + gsl + libsigsegv + zlib + perl + curl + qtbase + qtsvg + boost + (python3.withPackages ( + ps: with ps; [ + cson + numpy + pyqt5 + ] + )) ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libtirpc ]; - propagatedBuildInputs = [ - glm - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libglut libGLU libGL - ] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - OpenGL GLUT Cocoa - ]); + propagatedBuildInputs = + [ + glm + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libglut + libGLU + libGL + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + OpenGL + GLUT + Cocoa + ] + ); dontWrapQtApps = true; @@ -75,7 +146,8 @@ stdenv.mkDerivation (finalAttrs: { ''; # do not use bundled libgc.so - configureFlags = [ "--enable-gc=system" ] + configureFlags = + [ "--enable-gc=system" ] # TODO add open_memstream to enable XDR/V3D on Darwin (requires memstream or >=10.13 Apple SDK) ++ lib.optional stdenv.hostPlatform.isDarwin "--enable-xdr=no"; @@ -126,7 +198,7 @@ stdenv.mkDerivation (finalAttrs: { enableParallelInstalling = false; meta = with lib; { - description = "Tool for programming graphics intended to replace Metapost"; + description = "Tool for programming graphics intended to replace Metapost"; license = licenses.gpl3Plus; maintainers = [ maintainers.raskin ]; platforms = platforms.linux ++ platforms.darwin; diff --git a/pkgs/tools/graphics/diagrams-builder/default.nix b/pkgs/tools/graphics/diagrams-builder/default.nix index d066657ff0eb2..290059b1c114f 100644 --- a/pkgs/tools/graphics/diagrams-builder/default.nix +++ b/pkgs/tools/graphics/diagrams-builder/default.nix @@ -10,23 +10,33 @@ ­~~~ */ -{ lib, stdenv, ghcWithPackages, makeWrapper, diagrams-builder, extraPackages ? (self: []) }: +{ + lib, + stdenv, + ghcWithPackages, + makeWrapper, + diagrams-builder, + extraPackages ? (self: [ ]), +}: let # Used same technique as for the yiCustom package. - wrappedGhc = ghcWithPackages - (self: [ diagrams-builder ] ++ extraPackages self); + wrappedGhc = ghcWithPackages (self: [ diagrams-builder ] ++ extraPackages self); ghc = lib.getExe' wrappedGhc "ghc"; - exeWrapper = backend : '' + exeWrapper = backend: '' makeWrapper \ "${diagrams-builder}/bin/diagrams-builder-${backend}" "$out/bin/diagrams-builder-${backend}" \ --set NIX_GHC ${ghc} \ --set NIX_GHC_LIBDIR "$(${ghc} --print-libdir)" ''; - backends = ["svg" "cairo" "ps"]; + backends = [ + "svg" + "cairo" + "ps" + ]; in diff --git a/pkgs/tools/graphics/dmtx-utils/default.nix b/pkgs/tools/graphics/dmtx-utils/default.nix index 4c5883d568048..395089f14ee66 100644 --- a/pkgs/tools/graphics/dmtx-utils/default.nix +++ b/pkgs/tools/graphics/dmtx-utils/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libdmtx -, imagemagick -, Foundation +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libdmtx, + imagemagick, + Foundation, }: stdenv.mkDerivation rec { @@ -19,10 +20,15 @@ stdenv.mkDerivation rec { hash = "sha256-uXzPAv6DappyHBNmsTg6qRUvtUUdP1IPOdDvIcevfco="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ libdmtx imagemagick ] - ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; + buildInputs = [ + libdmtx + imagemagick + ] ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; meta = { description = "Data matrix command-line utilities"; diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index 0646718f4c75e..9d54bd8648200 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -1,18 +1,38 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, texinfo -, cairo, gd, libcerf, pango, readline, zlib -, withTeXLive ? false, texliveSmall -, withLua ? false, lua -, withCaca ? false, libcaca -, libX11 ? null -, libXt ? null -, libXpm ? null -, libXaw ? null -, aquaterm ? false -, withWxGTK ? false, wxGTK32, Cocoa -, fontconfig ? null -, gnused ? null -, coreutils ? null -, withQt ? false, mkDerivation, qttools, qtbase, qtsvg +{ + lib, + stdenv, + fetchurl, + makeWrapper, + pkg-config, + texinfo, + cairo, + gd, + libcerf, + pango, + readline, + zlib, + withTeXLive ? false, + texliveSmall, + withLua ? false, + lua, + withCaca ? false, + libcaca, + libX11 ? null, + libXt ? null, + libXpm ? null, + libXaw ? null, + aquaterm ? false, + withWxGTK ? false, + wxGTK32, + Cocoa, + fontconfig ? null, + gnused ? null, + coreutils ? null, + withQt ? false, + mkDerivation, + qttools, + qtbase, + qtsvg, }: assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null); @@ -28,15 +48,34 @@ in sha256 = "sha256-6FpmDBoqGAj/JPfmmYH/y6xmpFydz3EbZWELJupxN5o="; }; - nativeBuildInputs = [ makeWrapper pkg-config texinfo ] ++ lib.optional withQt qttools; + nativeBuildInputs = [ + makeWrapper + pkg-config + texinfo + ] ++ lib.optional withQt qttools; buildInputs = - [ cairo gd libcerf pango readline zlib ] + [ + cairo + gd + libcerf + pango + readline + zlib + ] ++ lib.optional withTeXLive texliveSmall ++ lib.optional withLua lua ++ lib.optional withCaca libcaca - ++ lib.optionals withX [ libX11 libXpm libXt libXaw ] - ++ lib.optionals withQt [ qtbase qtsvg ] + ++ lib.optionals withX [ + libX11 + libXpm + libXt + libXaw + ] + ++ lib.optionals withQt [ + qtbase + qtsvg + ] ++ lib.optional withWxGTK wxGTK32 ++ lib.optional (withWxGTK && stdenv.hostPlatform.isDarwin) Cocoa; @@ -45,11 +84,13 @@ in sed -i configure -e 's|''${QT5LOC}/lrelease|lrelease|' ''; - configureFlags = [ - (if withX then "--with-x" else "--without-x") - (if withQt then "--with-qt=qt5" else "--without-qt") - (if aquaterm then "--with-aquaterm" else "--without-aquaterm") - ] ++ lib.optional withCaca "--with-caca" + configureFlags = + [ + (if withX then "--with-x" else "--without-x") + (if withQt then "--with-qt=qt5" else "--without-qt") + (if aquaterm then "--with-aquaterm" else "--without-aquaterm") + ] + ++ lib.optional withCaca "--with-caca" ++ lib.optional withTeXLive "--with-texdir=${placeholder "out"}/share/texmf/tex/latex/gnuplot"; CXXFLAGS = lib.optionalString (stdenv.hostPlatform.isDarwin && withQt) "-std=c++11"; @@ -61,7 +102,13 @@ in # binary wrappers don't support --run postInstall = lib.optionalString withX '' wrapProgramShell $out/bin/gnuplot \ - --prefix PATH : '${lib.makeBinPath [ gnused coreutils fontconfig.bin ]}' \ + --prefix PATH : '${ + lib.makeBinPath [ + gnused + coreutils + fontconfig.bin + ] + }' \ "''${gappsWrapperArgs[@]}" \ "''${qtWrapperArgs[@]}" \ --run '. ${./set-gdfontpath-from-fontconfig.sh}' diff --git a/pkgs/tools/graphics/goverlay/default.nix b/pkgs/tools/graphics/goverlay/default.nix index 3f935568744f5..4b348cc319830 100644 --- a/pkgs/tools/graphics/goverlay/default.nix +++ b/pkgs/tools/graphics/goverlay/default.nix @@ -1,27 +1,28 @@ -{ lib -, writeScriptBin -, bash -, stdenv -, fetchFromGitHub -, fpc -, lazarus-qt -, wrapQtAppsHook -, breeze-qt5 -, libGL -, libGLU -, libqt5pas -, libX11 -, coreutils -, git -, gnugrep -, libnotify -, polkit -, procps -, systemd -, util-linux -, vulkan-tools -, which -, nix-update-script +{ + lib, + writeScriptBin, + bash, + stdenv, + fetchFromGitHub, + fpc, + lazarus-qt, + wrapQtAppsHook, + breeze-qt5, + libGL, + libGLU, + libqt5pas, + libX11, + coreutils, + git, + gnugrep, + libnotify, + polkit, + procps, + systemd, + util-linux, + vulkan-tools, + which, + nix-update-script, }: let @@ -36,7 +37,8 @@ let fi done ''; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "goverlay"; version = "0.7.1"; @@ -47,7 +49,10 @@ in stdenv.mkDerivation rec { sha256 = "sha256-oXkGrMHjs8uui0pzGYW8jnttet/5IX0r8eat0n5saFk="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; patches = [ # Find MangoHud & vkBasalt Vulkan layers using the XDG Base Directory Specification @@ -85,20 +90,22 @@ in stdenv.mkDerivation rec { ''; qtWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ - bash - coreutils - find-xdg-data-files - git - gnugrep - libnotify - polkit - procps - systemd - util-linux.bin - vulkan-tools - which - ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + bash + coreutils + find-xdg-data-files + git + gnugrep + libnotify + polkit + procps + systemd + util-linux.bin + vulkan-tools + which + ] + }" # Force xcb since libqt5pas doesn't support Wayland # See https://github.com/benjamimgois/goverlay/issues/107 diff --git a/pkgs/tools/graphics/hobbits/default.nix b/pkgs/tools/graphics/hobbits/default.nix index 10d0713852bf2..6a429f9e70656 100644 --- a/pkgs/tools/graphics/hobbits/default.nix +++ b/pkgs/tools/graphics/hobbits/default.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, mkDerivation, fetchFromGitHub -, cmake, pkg-config, pffft, libpcap, libusb1, python3, wrapQtAppsHook +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + pffft, + libpcap, + libusb1, + python3, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -20,9 +30,18 @@ stdenv.mkDerivation rec { --replace "[Mystery Build]" "${version}" ''; - buildInputs = [ pffft libpcap libusb1 python3 ]; - - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + buildInputs = [ + pffft + libpcap + libusb1 + python3 + ]; + + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; cmakeFlags = [ "-DUSE_SYSTEM_PFFFT=ON" ]; diff --git a/pkgs/tools/graphics/maskromtool/default.nix b/pkgs/tools/graphics/maskromtool/default.nix index 0d9395886f0c1..94fbfdb61fe09 100644 --- a/pkgs/tools/graphics/maskromtool/default.nix +++ b/pkgs/tools/graphics/maskromtool/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtbase -, qt6 -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtbase, + qt6, + wrapQtAppsHook, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix index 4022c363ef64b..399d41ab1894d 100644 --- a/pkgs/tools/graphics/nifskope/default.nix +++ b/pkgs/tools/graphics/nifskope/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook, fetchpatch }: +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + qtbase, + qttools, + substituteAll, + libGLU, + wrapQtAppsHook, + fetchpatch, +}: stdenv.mkDerivation { pname = "nifskope"; @@ -25,8 +36,15 @@ stdenv.mkDerivation { }) ] ++ (lib.optional stdenv.hostPlatform.isAarch64 ./no-sse-on-arm.patch); - buildInputs = [ qtbase qttools libGLU ]; - nativeBuildInputs = [ qmake wrapQtAppsHook ]; + buildInputs = [ + qtbase + qttools + libGLU + ]; + nativeBuildInputs = [ + qmake + wrapQtAppsHook + ]; preConfigure = '' shopt -s globstar diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index b164799e9cc29..cca813af3c220 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -1,7 +1,26 @@ -{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, darwin -, openexr, zlib, imagemagick6, libGLU, libGL, libglut, fftwFloat -, fftw, gsl, libexif, perl, qtbase, netpbm -, enableUnfree ? false, opencv +{ + lib, + stdenv, + mkDerivation, + fetchurl, + cmake, + pkg-config, + darwin, + openexr, + zlib, + imagemagick6, + libGLU, + libGL, + libglut, + fftwFloat, + fftw, + gsl, + libexif, + perl, + qtbase, + netpbm, + enableUnfree ? false, + opencv, }: mkDerivation rec { @@ -13,7 +32,11 @@ mkDerivation rec { sha256 = "sha256-m/aESYVmMibCGZjutDwmGsuOSziRuakbcpVUQGKJ18o="; }; - outputs = [ "out" "dev" "man"]; + outputs = [ + "out" + "dev" + "man" + ]; cmakeFlags = [ "-DWITH_MATLAB=false" ]; @@ -28,17 +51,44 @@ mkDerivation rec { echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ - openexr zlib imagemagick6 fftwFloat - fftw gsl libexif perl qtbase netpbm - ] ++ (if stdenv.hostPlatform.isDarwin then (with darwin.apple_sdk.frameworks; [ - OpenGL GLUT - ]) else [ - libGLU libGL libglut - ]) ++ lib.optional enableUnfree (opencv.override { enableUnfree = true; }); - - patches = [ ./glut.patch ./threads.patch ./pfstools.patch ./pfsalign.patch ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = + [ + openexr + zlib + imagemagick6 + fftwFloat + fftw + gsl + libexif + perl + qtbase + netpbm + ] + ++ ( + if stdenv.hostPlatform.isDarwin then + (with darwin.apple_sdk.frameworks; [ + OpenGL + GLUT + ]) + else + [ + libGLU + libGL + libglut + ] + ) + ++ lib.optional enableUnfree (opencv.override { enableUnfree = true; }); + + patches = [ + ./glut.patch + ./threads.patch + ./pfstools.patch + ./pfsalign.patch + ]; meta = with lib; { homepage = "https://pfstools.sourceforge.net/"; diff --git a/pkgs/tools/graphics/pixel2svg/default.nix b/pkgs/tools/graphics/pixel2svg/default.nix index 1094cad56a331..1135804cde704 100644 --- a/pkgs/tools/graphics/pixel2svg/default.nix +++ b/pkgs/tools/graphics/pixel2svg/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchurl, python310Packages }: +{ + lib, + buildPythonPackage, + fetchurl, + python310Packages, +}: python310Packages.buildPythonPackage rec { pname = "pixel2svg"; @@ -9,7 +14,10 @@ python310Packages.buildPythonPackage rec { sha256 = "sha256-aqcTTmZKcdRdVd8GGz5cuaQ4gjPapVJNtiiZu22TZgQ="; }; - propagatedBuildInputs = with python310Packages; [ pillow svgwrite ]; + propagatedBuildInputs = with python310Packages; [ + pillow + svgwrite + ]; meta = with lib; { homepage = "https://florian-berger.de/en/software/pixel2svg/"; diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix index 2f3a644898ae3..1309f506c5564 100644 --- a/pkgs/tools/graphics/povray/default.nix +++ b/pkgs/tools/graphics/povray/default.nix @@ -1,18 +1,19 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf -, automake -, boost -, zlib -, libX11 -, libICE -, libSM -, libpng -, libjpeg -, libtiff -, pkg-config -, SDL2 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + boost, + zlib, + libX11, + libICE, + libSM, + libpng, + libjpeg, + libtiff, + pkg-config, + SDL2, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/graphics/rocket/default.nix b/pkgs/tools/graphics/rocket/default.nix index 28f0efae7e9a3..438737633ef0f 100644 --- a/pkgs/tools/graphics/rocket/default.nix +++ b/pkgs/tools/graphics/rocket/default.nix @@ -1,4 +1,10 @@ -{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }: +{ + mkDerivation, + lib, + fetchFromGitHub, + qmake, + qtbase, +}: mkDerivation { pname = "rocket"; diff --git a/pkgs/tools/graphics/twilight/default.nix b/pkgs/tools/graphics/twilight/default.nix index bd900d455d6d3..8597b97d34d0c 100644 --- a/pkgs/tools/graphics/twilight/default.nix +++ b/pkgs/tools/graphics/twilight/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub -, libGL, libGLU, libglut, libX11 }: +{ + lib, + stdenv, + fetchFromGitHub, + libGL, + libGLU, + libglut, + libX11, +}: stdenv.mkDerivation rec { pname = "twilight"; @@ -12,7 +19,12 @@ stdenv.mkDerivation rec { sha256 = "0mmmi4jj8yd8wnah6kx5na782sjycszgzim33dfalr0ph361m4pz"; }; - buildInputs = [ libGL libGLU libglut libX11 ]; + buildInputs = [ + libGL + libGLU + libglut + libX11 + ]; installPhase = '' install -Dm755 twilight $out/bin/twilight diff --git a/pkgs/tools/graphics/vkbasalt/default.nix b/pkgs/tools/graphics/vkbasalt/default.nix index 261cc13bbbf3e..d8aaece387ad1 100644 --- a/pkgs/tools/graphics/vkbasalt/default.nix +++ b/pkgs/tools/graphics/vkbasalt/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, glslang -, meson -, ninja -, pkg-config -, libX11 -, spirv-headers -, vulkan-headers -, vkbasalt32 +{ + lib, + stdenv, + fetchFromGitHub, + glslang, + meson, + ninja, + pkg-config, + libX11, + spirv-headers, + vulkan-headers, + vkbasalt32, }: stdenv.mkDerivation (finalAttrs: { @@ -22,8 +23,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-GC6JKYnsfcUBg+CX6v7MyE4FeLmjadFwighaiyureDg="; }; - nativeBuildInputs = [ glslang meson ninja pkg-config ]; - buildInputs = [ libX11 spirv-headers vulkan-headers ]; + nativeBuildInputs = [ + glslang + meson + ninja + pkg-config + ]; + buildInputs = [ + libX11 + spirv-headers + vulkan-headers + ]; mesonFlags = [ "-Dappend_libdir_vkbasalt=true" ]; postInstall = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' diff --git a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix index 7519d1f0109e0..649071755e984 100644 --- a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix +++ b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake -, vulkan-loader -, wayland -, wrapQtAppsHook -, x11Support ? true -, qtx11extras +{ + lib, + stdenv, + fetchFromGitHub, + qmake, + vulkan-loader, + wayland, + wrapQtAppsHook, + x11Support ? true, + qtx11extras, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/graphics/vulkan-cts/default.nix b/pkgs/tools/graphics/vulkan-cts/default.nix index 7907b9cc67edb..3312042202be8 100644 --- a/pkgs/tools/graphics/vulkan-cts/default.nix +++ b/pkgs/tools/graphics/vulkan-cts/default.nix @@ -1,31 +1,33 @@ -{ lib, stdenv -, fetchFromGitHub -, fetchurl -, runCommand -, cmake -, ffmpeg -, glslang -, libdrm -, libglvnd -, libffi -, libpng -, libX11 -, libXau -, libXdmcp -, libxcb -, makeWrapper -, mesa -, ninja -, pkg-config -, python3 -, spirv-headers -, vulkan-headers -, vulkan-loader -, vulkan-utility-libraries -, wayland -, wayland-protocols -, wayland-scanner -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + runCommand, + cmake, + ffmpeg, + glslang, + libdrm, + libglvnd, + libffi, + libpng, + libX11, + libXau, + libXdmcp, + libxcb, + makeWrapper, + mesa, + ninja, + pkg-config, + python3, + spirv-headers, + vulkan-headers, + vulkan-loader, + vulkan-utility-libraries, + wayland, + wayland-protocols, + wayland-scanner, + zlib, }: let renderdoc = fetchurl { @@ -122,12 +124,18 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru.updateScript = ./update.sh; - passthru.tests.lavapipe = runCommand "vulkan-cts-tests-lavapipe" { - nativeBuildInputs = [ finalAttrs.finalPackage mesa.llvmpipeHook ]; - } '' - deqp-vk -n dEQP-VK.api.smoke.triangle - touch $out - ''; + passthru.tests.lavapipe = + runCommand "vulkan-cts-tests-lavapipe" + { + nativeBuildInputs = [ + finalAttrs.finalPackage + mesa.llvmpipeHook + ]; + } + '' + deqp-vk -n dEQP-VK.api.smoke.triangle + touch $out + ''; meta = with lib; { description = "Khronos Vulkan Conformance Tests"; diff --git a/pkgs/tools/graphics/vulkan-cts/sources.nix b/pkgs/tools/graphics/vulkan-cts/sources.nix index 3b61e97768656..e220164a50395 100644 --- a/pkgs/tools/graphics/vulkan-cts/sources.nix +++ b/pkgs/tools/graphics/vulkan-cts/sources.nix @@ -57,7 +57,6 @@ rec { hash = "sha256-qVQy3kKkZRWHjtj2YxJTZqKg1kwnmLa3bgVathisfOc="; }; - prePatch = '' mkdir -p external/amber external/glslang external/jsoncpp external/nvidia-video-samples external/spirv-headers external/spirv-tools external/vulkan-docs external/vulkan-validationlayers diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix index 2779e5c6231c4..435671c1915de 100644 --- a/pkgs/tools/graphics/vulkan-tools/default.nix +++ b/pkgs/tools/graphics/vulkan-tools/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPackages -, cmake -, pkg-config -, python3 -, glslang -, libffi -, libX11 -, libXau -, libxcb -, libXdmcp -, libXrandr -, vulkan-headers -, vulkan-loader -, vulkan-volk -, wayland -, wayland-protocols -, wayland-scanner -, moltenvk -, AppKit -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + buildPackages, + cmake, + pkg-config, + python3, + glslang, + libffi, + libX11, + libXau, + libxcb, + libXdmcp, + libXrandr, + vulkan-headers, + vulkan-loader, + vulkan-volk, + wayland, + wayland-protocols, + wayland-scanner, + moltenvk, + AppKit, + Cocoa, }: stdenv.mkDerivation rec { @@ -40,27 +41,30 @@ stdenv.mkDerivation rec { python3 ]; - buildInputs = [ - glslang - vulkan-headers - vulkan-loader - vulkan-volk - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libffi - libX11 - libXau - libxcb - libXdmcp - libXrandr - wayland - wayland-protocols - wayland-scanner - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - moltenvk - moltenvk.dev - AppKit - Cocoa - ]; + buildInputs = + [ + glslang + vulkan-headers + vulkan-loader + vulkan-volk + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libffi + libX11 + libXau + libxcb + libXdmcp + libXrandr + wayland + wayland-protocols + wayland-scanner + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + moltenvk + moltenvk.dev + AppKit + Cocoa + ]; libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ]; @@ -68,19 +72,21 @@ stdenv.mkDerivation rec { env.PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER = lib.getExe buildPackages.wayland-scanner; - cmakeFlags = [ - # Don't build the mock ICD as it may get used instead of other drivers, if installed - "-DBUILD_ICD=OFF" - # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH - "-DCMAKE_INSTALL_RPATH=${libraryPath}" - "-DGLSLANG_INSTALL_DIR=${glslang}" - # Hide dev warnings that are useless for packaging - "-Wno-dev" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DMOLTENVK_REPO_ROOT=${moltenvk}/share/vulkan/icd.d" - # Don’t build the cube demo because it requires `ibtool`, which is not available in nixpkgs. - "-DBUILD_CUBE=OFF" - ]; + cmakeFlags = + [ + # Don't build the mock ICD as it may get used instead of other drivers, if installed + "-DBUILD_ICD=OFF" + # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH + "-DCMAKE_INSTALL_RPATH=${libraryPath}" + "-DGLSLANG_INSTALL_DIR=${glslang}" + # Hide dev warnings that are useless for packaging + "-Wno-dev" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DMOLTENVK_REPO_ROOT=${moltenvk}/share/vulkan/icd.d" + # Don’t build the cube demo because it requires `ibtool`, which is not available in nixpkgs. + "-DBUILD_CUBE=OFF" + ]; meta = with lib; { description = "Khronos official Vulkan Tools and Utilities"; @@ -89,9 +95,9 @@ stdenv.mkDerivation rec { development by enabling developers to verify their applications correct use of the Vulkan API. ''; - homepage = "https://github.com/KhronosGroup/Vulkan-Tools"; - platforms = platforms.unix; - license = licenses.asl20; + homepage = "https://github.com/KhronosGroup/Vulkan-Tools"; + platforms = platforms.unix; + license = licenses.asl20; maintainers = [ maintainers.ralith ]; }; } diff --git a/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix b/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix index cf150a59c8dbc..1464e0b0beb24 100644 --- a/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix +++ b/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix @@ -1,6 +1,16 @@ -{ cmake, fetchFromGitHub, makeWrapper, opencv4, lib, stdenv, ocl-icd, opencl-headers, OpenCL -, config -, cudaSupport ? config.cudaSupport, cudatoolkit ? null +{ + cmake, + fetchFromGitHub, + makeWrapper, + opencv4, + lib, + stdenv, + ocl-icd, + opencl-headers, + OpenCL, + config, + cudaSupport ? config.cudaSupport, + cudatoolkit ? null, }: stdenv.mkDerivation rec { @@ -19,13 +29,21 @@ stdenv.mkDerivation rec { ./waifu2x_darwin_build.diff ]; - buildInputs = [ - opencv4 - ] ++ lib.optional cudaSupport cudatoolkit + buildInputs = + [ + opencv4 + ] + ++ lib.optional cudaSupport cudatoolkit ++ lib.optional stdenv.hostPlatform.isDarwin OpenCL - ++ lib.optionals stdenv.hostPlatform.isLinux [ ocl-icd opencl-headers ]; + ++ lib.optionals stdenv.hostPlatform.isLinux [ + ocl-icd + opencl-headers + ]; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = [ + cmake + makeWrapper + ]; preFixup = lib.optionalString stdenv.hostPlatform.isLinux '' wrapProgram $out/bin/waifu2x-converter-cpp --prefix LD_LIBRARY_PATH : "${ocl-icd}/lib" diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix index 951e6b26bf115..93d3b480248aa 100644 --- a/pkgs/tools/graphics/zbar/default.nix +++ b/pkgs/tools/graphics/zbar/default.nix @@ -1,40 +1,47 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, imagemagickBig -, pkg-config -, withXorg ? true -, libX11 -, libv4l -, qtbase -, qtx11extras -, wrapQtAppsHook -, wrapGAppsHook3 -, gtk3 -, xmlto -, docbook_xsl -, autoreconfHook -, dbus -, enableVideo ? stdenv.hostPlatform.isLinux +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + imagemagickBig, + pkg-config, + withXorg ? true, + libX11, + libv4l, + qtbase, + qtx11extras, + wrapQtAppsHook, + wrapGAppsHook3, + gtk3, + xmlto, + docbook_xsl, + autoreconfHook, + dbus, + enableVideo ? stdenv.hostPlatform.isLinux, # The implementation is buggy and produces an error like # Name Error (Connection ":1.4380" is not allowed to own the service "org.linuxtv.Zbar" due to security policies in the configuration file) # for every scanned code. # see https://github.com/mchehab/zbar/issues/104 -, enableDbus ? false -, libintl -, libiconv -, Foundation -, bash -, python3 -, argp-standalone + enableDbus ? false, + libintl, + libiconv, + Foundation, + bash, + python3, + argp-standalone, }: stdenv.mkDerivation rec { pname = "zbar"; version = "0.23.92"; - outputs = [ "out" "lib" "dev" "doc" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + "man" + ]; src = fetchFromGitHub { owner = "mchehab"; @@ -56,33 +63,40 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ - pkg-config - xmlto - autoreconfHook - docbook_xsl - ] ++ lib.optionals enableVideo [ - wrapGAppsHook3 - wrapQtAppsHook - qtbase - ]; - - buildInputs = [ - imagemagickBig - libintl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libiconv - Foundation - ] ++ lib.optionals enableDbus [ - dbus - ] ++ lib.optionals withXorg [ - libX11 - ] ++ lib.optionals enableVideo [ - libv4l - gtk3 - qtbase - qtx11extras - ]; + nativeBuildInputs = + [ + pkg-config + xmlto + autoreconfHook + docbook_xsl + ] + ++ lib.optionals enableVideo [ + wrapGAppsHook3 + wrapQtAppsHook + qtbase + ]; + + buildInputs = + [ + imagemagickBig + libintl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Foundation + ] + ++ lib.optionals enableDbus [ + dbus + ] + ++ lib.optionals withXorg [ + libX11 + ] + ++ lib.optionals enableVideo [ + libv4l + gtk3 + qtbase + qtx11extras + ]; nativeCheckInputs = [ bash @@ -103,19 +117,32 @@ stdenv.mkDerivation rec { # Disable assertions which include -dev QtBase file paths. env.NIX_CFLAGS_COMPILE = "-DQT_NO_DEBUG"; - configureFlags = [ - "--without-python" - ] ++ (if enableDbus then [ - "--with-dbusconfdir=${placeholder "out"}/share" - ] else [ - "--without-dbus" - ]) ++ (if enableVideo then [ - "--with-gtk=gtk3" - ] else [ - "--disable-video" - "--without-gtk" - "--without-qt" - ]); + configureFlags = + [ + "--without-python" + ] + ++ ( + if enableDbus then + [ + "--with-dbusconfdir=${placeholder "out"}/share" + ] + else + [ + "--without-dbus" + ] + ) + ++ ( + if enableVideo then + [ + "--with-gtk=gtk3" + ] + else + [ + "--disable-video" + "--without-gtk" + "--without-qt" + ] + ); doCheck = true; diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix index ea9a20944110d..a9c3d561561c5 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix @@ -1,5 +1,15 @@ -{ lib, stdenv, fetchurl, cmake, extra-cmake-modules, pkg-config, fcitx5, anthy -, gettext, zstd }: +{ + lib, + stdenv, + fetchurl, + cmake, + extra-cmake-modules, + pkg-config, + fcitx5, + anthy, + gettext, + zstd, +}: stdenv.mkDerivation rec { pname = "fcitx5-anthy"; @@ -10,8 +20,17 @@ stdenv.mkDerivation rec { hash = "sha256-heSO2eArdSnOmIg7JG8vOo5y3g5dSPOuXkUfeNqKzSA="; }; - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config zstd ]; - buildInputs = [ fcitx5 anthy gettext ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + pkg-config + zstd + ]; + buildInputs = [ + fcitx5 + anthy + gettext + ]; meta = with lib; { description = "Anthy Wrapper for Fcitx5"; diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix index b6a9253148c48..31cda50d502c4 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, fcitx5 -, gettext -, go +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + fcitx5, + gettext, + go, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix index 550efad6264ed..33b4571da34db 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, gettext -, fcitx5 -, libchewing +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + gettext, + fcitx5, + libchewing, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix index a9f5cf3116139..bc8da47b5e37f 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix @@ -1,20 +1,21 @@ -{ lib -, stdenv -, fetchurl -, fetchFromGitHub -, cmake -, extra-cmake-modules -, boost -, libime -, fcitx5 -, fcitx5-qt -, fcitx5-lua -, qtwebengine -, opencc -, curl -, fmt -, qtbase -, luaSupport ? true +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + cmake, + extra-cmake-modules, + boost, + libime, + fcitx5, + fcitx5-qt, + fcitx5-lua, + qtwebengine, + opencc, + curl, + fmt, + qtbase, + luaSupport ? true, }: let @@ -73,7 +74,10 @@ stdenv.mkDerivation rec { description = "Addons related to Chinese, including IME previous bundled inside fcitx4"; mainProgram = "scel2org5"; homepage = "https://github.com/fcitx/fcitx5-chinese-addons"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; maintainers = with maintainers; [ poscat ]; platforms = platforms.linux; }; diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix index a34a2e418f008..618eb1587fda6 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix @@ -1,30 +1,31 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, pkg-config -, fcitx5 -, fcitx5-qt -, qtbase -, qtsvg -, qtwayland -, qtdeclarative -, qtx11extras ? null -, kitemviews -, kwidgetsaddons -, qtquickcontrols2 ? null -, kcoreaddons -, kdeclarative -, kirigami ? null -, kirigami2 ? null -, isocodes -, xkeyboardconfig -, libxkbfile -, libplasma ? null -, plasma-framework ? null -, wrapQtAppsHook -, kcmSupport ? true +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + pkg-config, + fcitx5, + fcitx5-qt, + qtbase, + qtsvg, + qtwayland, + qtdeclarative, + qtx11extras ? null, + kitemviews, + kwidgetsaddons, + qtquickcontrols2 ? null, + kcoreaddons, + kdeclarative, + kirigami ? null, + kirigami2 ? null, + isocodes, + xkeyboardconfig, + libxkbfile, + libplasma ? null, + plasma-framework ? null, + wrapQtAppsHook, + kcmSupport ? true, }: stdenv.mkDerivation rec { @@ -51,31 +52,38 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; - buildInputs = [ - fcitx5 - fcitx5-qt - qtbase - qtsvg - qtwayland - kitemviews - kwidgetsaddons - isocodes - xkeyboardconfig - libxkbfile - ] ++ lib.optionals (lib.versions.major qtbase.version == "5") [ - qtx11extras - ] ++ lib.optionals kcmSupport ([ - qtdeclarative - kcoreaddons - kdeclarative - ] ++ lib.optionals (lib.versions.major qtbase.version == "5") [ - qtquickcontrols2 - plasma-framework - kirigami2 - ] ++ lib.optionals (lib.versions.major qtbase.version == "6") [ - libplasma - kirigami - ]); + buildInputs = + [ + fcitx5 + fcitx5-qt + qtbase + qtsvg + qtwayland + kitemviews + kwidgetsaddons + isocodes + xkeyboardconfig + libxkbfile + ] + ++ lib.optionals (lib.versions.major qtbase.version == "5") [ + qtx11extras + ] + ++ lib.optionals kcmSupport ( + [ + qtdeclarative + kcoreaddons + kdeclarative + ] + ++ lib.optionals (lib.versions.major qtbase.version == "5") [ + qtquickcontrols2 + plasma-framework + kirigami2 + ] + ++ lib.optionals (lib.versions.major qtbase.version == "6") [ + libplasma + kirigami + ] + ); meta = with lib; { description = "Configuration Tool for Fcitx5"; diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix index 0e23f7e5729f4..d59449b7d6a14 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix @@ -1,27 +1,29 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, fcitx5 -, gobject-introspection -, glib -, gtk2 -, gtk3 -, gtk4 -, fmt -, pcre -, libuuid -, libselinux -, libsepol -, libthai -, libdatrie -, libXdmcp -, libxkbcommon -, libepoxy -, dbus -, at-spi2-core -, libXtst -, withGTK2 ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + fcitx5, + gobject-introspection, + glib, + gtk2, + gtk3, + gtk4, + fmt, + pcre, + libuuid, + libselinux, + libsepol, + libthai, + libdatrie, + libXdmcp, + libxkbcommon, + libepoxy, + dbus, + at-spi2-core, + libXtst, + withGTK2 ? false, }: stdenv.mkDerivation rec { @@ -35,12 +37,15 @@ stdenv.mkDerivation rec { hash = "sha256-qckaD2VDlXyaXe52PTjYfKIJbsIBRgD5s3b9Oc6l/64="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; cmakeFlags = [ "-DGOBJECT_INTROSPECTION_GIRDIR=share/gir-1.0" "-DGOBJECT_INTROSPECTION_TYPELIBDIR=lib/girepository-1.0" - ] ++ lib.optional (! withGTK2) "-DENABLE_GTK2_IM_MODULE=off"; + ] ++ lib.optional (!withGTK2) "-DENABLE_GTK2_IM_MODULE=off"; buildInputs = [ glib diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix index b2511be8de1df..86271423a8416 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, gettext -, fcitx5 -, libhangul -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + gettext, + fcitx5, + libhangul, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix index 870239b54d998..3f4eeb16855a2 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, fcitx5 -, lua -, gettext +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + fcitx5, + lua, + gettext, }: stdenv.mkDerivation rec { pname = "fcitx5-lua"; @@ -18,9 +19,16 @@ stdenv.mkDerivation rec { hash = "sha256-XRfYQquR9SVlYr2sX6ii8JjMyjJZWSMf1u2oKUmOhf8="; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; - buildInputs = [ fcitx5 lua gettext ]; + buildInputs = [ + fcitx5 + lua + gettext + ]; passthru = { extraLdLibraries = [ lua ]; diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix index ff3c2124a8d64..8d6640b3254ae 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, pkg-config -, fcitx5 -, m17n_lib -, m17n_db -, gettext -, fmt -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + pkg-config, + fcitx5, + m17n_lib, + m17n_db, + gettext, + fmt, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix index e0a6672f68ef7..0028eb5fc4e62 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, fcitx5 -, qtbase -, qtwayland -, wrapQtAppsHook -, wayland +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + fcitx5, + qtbase, + qtwayland, + wrapQtAppsHook, + wayland, }: let majorVersion = lib.versions.major qtbase.version; @@ -51,7 +52,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fcitx5 Qt Library"; homepage = "https://github.com/fcitx/fcitx5-qt"; - license = with licenses; [ lgpl21Plus bsd3 ]; + license = with licenses; [ + lgpl21Plus + bsd3 + ]; maintainers = with maintainers; [ poscat ]; platforms = platforms.linux; }; diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix index ae6a36658fd28..1ef0ac41f3213 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, cmake -, extra-cmake-modules -, gettext -, zstd -, fcitx5 -, librime -, rime-data -, symlinkJoin -, rimeDataPkgs ? [ rime-data ] +{ + lib, + stdenv, + fetchurl, + pkg-config, + cmake, + extra-cmake-modules, + gettext, + zstd, + fcitx5, + librime, + rime-data, + symlinkJoin, + rimeDataPkgs ? [ rime-data ], }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix index 7f57597052554..34bfa097dca2b 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, extra-cmake-modules -, gettext -, fcitx5 -, fcitx5-qt -, libskk -, qtbase -, skkDictionaries -, enableQt ? false +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + cmake, + extra-cmake-modules, + gettext, + fcitx5, + fcitx5-qt, + libskk, + qtbase, + skkDictionaries, + enableQt ? false, }: stdenv.mkDerivation rec { @@ -31,13 +32,15 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - fcitx5 - libskk - ] ++ lib.optionals enableQt [ - fcitx5-qt - qtbase - ]; + buildInputs = + [ + fcitx5 + libskk + ] + ++ lib.optionals enableQt [ + fcitx5-qt + qtbase + ]; cmakeFlags = [ (lib.cmakeBool "ENABLE_QT" enableQt) diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix index d86c55c836529..4673211471454 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, gettext -, libime -, boost -, fcitx5 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + gettext, + libime, + boost, + fcitx5, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix index d06fa2823effb..5dc95a6186d5a 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix @@ -1,11 +1,13 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, gettext -, libime -, boost -, fcitx5 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + gettext, + libime, + boost, + fcitx5, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix index 23b19f21a05a3..d0d4f515fafe4 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, extra-cmake-modules -, fcitx5 -, fcitx5-qt -, gettext -, qtbase +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + extra-cmake-modules, + fcitx5, + fcitx5-qt, + gettext, + qtbase, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix index 58175eedade8b..f6480fe191412 100644 --- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix +++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix @@ -1,26 +1,30 @@ -{ lib -, symlinkJoin -, makeBinaryWrapper -, fcitx5 -, withConfigtool ? true -, fcitx5-configtool -, libsForQt5 -, qt6Packages -, fcitx5-gtk -, addons ? [ ] +{ + lib, + symlinkJoin, + makeBinaryWrapper, + fcitx5, + withConfigtool ? true, + fcitx5-configtool, + libsForQt5, + qt6Packages, + fcitx5-gtk, + addons ? [ ], }: symlinkJoin { name = "fcitx5-with-addons-${fcitx5.version}"; - paths = [ - fcitx5 - libsForQt5.fcitx5-qt - qt6Packages.fcitx5-qt - fcitx5-gtk - ] ++ lib.optionals withConfigtool [ - fcitx5-configtool - ] ++ addons; + paths = + [ + fcitx5 + libsForQt5.fcitx5-qt + qt6Packages.fcitx5-qt + fcitx5-gtk + ] + ++ lib.optionals withConfigtool [ + fcitx5-configtool + ] + ++ addons; nativeBuildInputs = [ makeBinaryWrapper ]; @@ -29,7 +33,9 @@ symlinkJoin { --prefix FCITX_ADDON_DIRS : "$out/lib/fcitx5" \ --suffix XDG_DATA_DIRS : "$out/share" \ --suffix PATH : "$out/bin" \ - --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or []) addons))}" + --suffix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or [ ]) addons)) + }" ${lib.optionalString withConfigtool '' # Configtool call libexec/fcitx5-qt5-gui-wrapper for gui addons in FCITX_ADDON_DIRS diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix index e7a5f4b1e16db..867f31a7203ed 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchurl -, gettext -, pkg-config -, wrapGAppsHook3 -, anthy -, ibus -, glib -, gobject-introspection -, gtk3 -, python3 +{ + lib, + stdenv, + fetchurl, + gettext, + pkg-config, + wrapGAppsHook3, + anthy, + ibus, + glib, + gobject-introspection, + gtk3, + python3, }: stdenv.mkDerivation rec { @@ -52,6 +54,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/fujiwarat/ibus-anthy"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ gebner ericsagnes ]; + maintainers = with maintainers; [ + gebner + ericsagnes + ]; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix index 52bf588a3ce61..3341b2ff2ed51 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, xorg -, pkg-config -, wrapGAppsHook3 -, go +{ + lib, + stdenv, + fetchFromGitHub, + xorg, + pkg-config, + wrapGAppsHook3, + go, }: stdenv.mkDerivation rec { @@ -36,7 +38,6 @@ stdenv.mkDerivation rec { "PREFIX=${placeholder "out"}" ]; - meta = with lib; { isIbusEngine = true; description = "Vietnamese IME for IBus"; diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-cangjie/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-cangjie/default.nix index ac85ed7f7f286..0ea21714897ee 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-cangjie/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-cangjie/default.nix @@ -1,16 +1,17 @@ -{ stdenv -, lib -, fetchFromGitHub -, gettext -, pkg-config -, wrapGAppsHook3 -, ibus -, glib -, gobject-introspection -, gtk3 -, python3 -, autoreconfHook -, intltool +{ + stdenv, + lib, + fetchFromGitHub, + gettext, + pkg-config, + wrapGAppsHook3, + ibus, + glib, + gobject-introspection, + gtk3, + python3, + autoreconfHook, + intltool, }: let diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix index c834c6aae5d64..74fd01fff8afd 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix @@ -1,16 +1,18 @@ -{ lib, stdenv -, fetchFromGitHub -, substituteAll -, appstream-glib -, gettext -, pkg-config -, wrapGAppsHook3 -, gobject-introspection -, autoreconfHook -, gtk3 -, ibus -, libhangul -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + substituteAll, + appstream-glib, + gettext, + pkg-config, + wrapGAppsHook3, + gobject-introspection, + autoreconfHook, + gtk3, + ibus, + libhangul, + python3, }: stdenv.mkDerivation rec { @@ -44,10 +46,12 @@ stdenv.mkDerivation rec { gtk3 ibus libhangul - (python3.withPackages (pypkgs: with pypkgs; [ - pygobject3 - (toPythonModule ibus) - ])) + (python3.withPackages ( + pypkgs: with pypkgs; [ + pygobject3 + (toPythonModule ibus) + ] + )) ]; meta = with lib; { diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix index db57869f8538b..88b58a571025c 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-kkc/default.nix @@ -1,7 +1,14 @@ -{ lib, stdenv, fetchurl -, vala, intltool, pkg-config -, libkkc, ibus, skkDictionaries -, gtk3 +{ + lib, + stdenv, + fetchurl, + vala, + intltool, + pkg-config, + libkkc, + ibus, + skkDictionaries, + gtk3, }: stdenv.mkDerivation rec { @@ -14,10 +21,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - vala intltool pkg-config + vala + intltool + pkg-config ]; - buildInputs = [ libkkc ibus gtk3 ]; + buildInputs = [ + libkkc + ibus + gtk3 + ]; postInstall = '' ln -s ${skkDictionaries.l}/share/skk $out/share/skk @@ -25,10 +38,10 @@ stdenv.mkDerivation rec { meta = with lib; { isIbusEngine = true; - description = "libkkc (Japanese Kana Kanji input method) engine for ibus"; - homepage = "https://github.com/ueno/ibus-kkc"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ vanzef ]; + description = "libkkc (Japanese Kana Kanji input method) engine for ibus"; + homepage = "https://github.com/ueno/ibus-kkc"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ vanzef ]; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix index ac365fefb2fdd..6e6a00d180270 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, gettext -, pkg-config -, wrapGAppsHook3 -, sqlite -, libpinyin -, db -, ibus -, glib -, gtk3 -, python3 -, lua -, opencc -, libsoup_3 -, json-glib +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gettext, + pkg-config, + wrapGAppsHook3, + sqlite, + libpinyin, + db, + ibus, + glib, + gtk3, + python3, + lua, + opencc, + libsoup_3, + json-glib, }: stdenv.mkDerivation rec { @@ -46,10 +47,12 @@ stdenv.mkDerivation rec { glib sqlite libpinyin - (python3.withPackages (pypkgs: with pypkgs; [ - pygobject3 - (toPythonModule ibus) - ])) + (python3.withPackages ( + pypkgs: with pypkgs; [ + pygobject3 + (toPythonModule ibus) + ] + )) gtk3 db lua @@ -62,7 +65,10 @@ stdenv.mkDerivation rec { isIbusEngine = true; description = "IBus interface to the libpinyin input method"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ linsui ericsagnes ]; + maintainers = with maintainers; [ + linsui + ericsagnes + ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix index e72760e73539c..c723247f2aa1c 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libthai/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, pkg-config, ibus, gtk3, libthai }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + ibus, + gtk3, + libthai, +}: stdenv.mkDerivation rec { pname = "ibus-libthai"; @@ -11,7 +19,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 ibus libthai ]; + buildInputs = [ + gtk3 + ibus + libthai + ]; meta = with lib; { isIbusEngine = true; diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix index 101438c8fbb7e..04624b495eac9 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, ibus -, gtk3 -, m17n_lib -, m17n_db -, gettext -, python3 -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + ibus, + gtk3, + m17n_lib, + m17n_db, + gettext, + python3, + wrapGAppsHook3, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix index 774978929b401..aee2acbd9c52b 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix @@ -1,16 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, gdk-pixbuf -, glib -, ibus -, libnotify -, librime -, pkg-config -, rime-data -, symlinkJoin -, rimeDataPkgs ? [ rime-data ] +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gdk-pixbuf, + glib, + ibus, + libnotify, + librime, + pkg-config, + rime-data, + symlinkJoin, + rimeDataPkgs ? [ rime-data ], }: stdenv.mkDerivation rec { @@ -24,8 +25,17 @@ stdenv.mkDerivation rec { sha256 = "0gdxg6ia0i31jn3cvh1nrsjga1j31hf8a2zfgg8rzn25chrfr319"; }; - buildInputs = [ gdk-pixbuf glib ibus libnotify librime ]; - nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ + gdk-pixbuf + glib + ibus + libnotify + librime + ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; cmakeFlags = [ "-DRIME_DATA_DIR=${placeholder "out"}/share/rime-data" ]; diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-chinese/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-chinese/default.nix index 40c33aff40118..e829835af7e8a 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-chinese/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-chinese/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchgit, fetchFromGitHub, pkg-config, ibus, ibus-table, python3, cmake }: +{ + lib, + stdenv, + fetchgit, + fetchFromGitHub, + pkg-config, + ibus, + ibus-table, + python3, + cmake, +}: let src = fetchFromGitHub { @@ -13,11 +23,15 @@ let rev = "7d5297759aef4cd086bdfa30cf6d4b2ad9446992"; sha256 = "0mx9jvxpiva9v2ffaqlyny48iqr073h84yw8ln43z2avv11ipr7n"; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "ibus-table-chinese"; version = "1.8.2"; - srcs = [ src cmakeFedoraSrc ]; + srcs = [ + src + cmakeFedoraSrc + ]; sourceRoot = src.name; postUnpack = '' @@ -31,7 +45,11 @@ in stdenv.mkDerivation { ''; # Fails when writing to /prj_info.cmake in https://pagure.io/cmake-fedora/blob/master/f/Modules/ManageVersion.cmake - cmakeFlags = [ "-DPRJ_INFO_CMAKE_FILE=/dev/null" "-DPRJ_DOC_DIR=REPLACE" "-DDATA_DIR=share" ]; + cmakeFlags = [ + "-DPRJ_INFO_CMAKE_FILE=/dev/null" + "-DPRJ_DOC_DIR=REPLACE" + "-DDATA_DIR=share" + ]; # Must replace PRJ_DOC_DIR with actual share/ folder for ibus-table-chinese # Otherwise it tries to write to /ibus-table-chinese if not defined (!) postConfigure = '' @@ -51,15 +69,22 @@ in stdenv.mkDerivation { rm -rf $HOME ''; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ ibus ibus-table python3 ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; + buildInputs = [ + ibus + ibus-table + python3 + ]; meta = with lib; { isIbusEngine = true; - description = "Chinese tables for IBus-Table"; - homepage = "https://github.com/definite/ibus-table-chinese"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ pneumaticat ]; + description = "Chinese tables for IBus-Table"; + homepage = "https://github.com/definite/ibus-table-chinese"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ pneumaticat ]; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix index 833892b79926d..b473188a6a579 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, ibus, ibus-table, pkg-config, python3 }: +{ + lib, + stdenv, + fetchurl, + ibus, + ibus-table, + pkg-config, + python3, +}: stdenv.mkDerivation rec { pname = "ibus-table-others"; @@ -9,8 +17,14 @@ stdenv.mkDerivation rec { hash = "sha256-4ZM5WZPh6Y5M50KDS+86j00v4pWTRdcdVYh4DcEYXAA="; }; - nativeBuildInputs = [ pkg-config python3 ]; - buildInputs = [ ibus ibus-table ]; + nativeBuildInputs = [ + pkg-config + python3 + ]; + buildInputs = [ + ibus + ibus-table + ]; preBuild = '' export HOME=$TMPDIR @@ -18,10 +32,13 @@ stdenv.mkDerivation rec { meta = with lib; { isIbusEngine = true; - description = "Various table-based input methods for IBus"; - homepage = "https://github.com/moebiuscurve/ibus-table-others"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ mudri McSinyx ]; + description = "Various table-based input methods for IBus"; + homepage = "https://github.com/moebiuscurve/ibus-table-others"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ + mudri + McSinyx + ]; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix index db914687f3166..82e256996b0a6 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix @@ -1,16 +1,26 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, docbook2x, pkg-config -, gtk3, dconf, gobject-introspection -, ibus, python3, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + docbook2x, + pkg-config, + gtk3, + dconf, + gobject-introspection, + ibus, + python3, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "ibus-table"; version = "1.17.8"; src = fetchFromGitHub { - owner = "kaio"; - repo = "ibus-table"; - rev = version; + owner = "kaio"; + repo = "ibus-table"; + rev = version; sha256 = "sha256-bPHwpTrDCLil6xNBr7lKAMP71koFlZvPc2vpDuwzZzM="; }; @@ -36,11 +46,13 @@ stdenv.mkDerivation rec { dconf gtk3 ibus - (python3.withPackages (pypkgs: with pypkgs; [ - dbus-python - pygobject3 - (toPythonModule ibus) - ])) + (python3.withPackages ( + pypkgs: with pypkgs; [ + dbus-python + pygobject3 + (toPythonModule ibus) + ] + )) ]; nativeBuildInputs = [ @@ -58,11 +70,11 @@ stdenv.mkDerivation rec { meta = with lib; { isIbusEngine = true; - description = "IBus framework for table-based input methods"; + description = "IBus framework for table-based input methods"; mainProgram = "ibus-table-createdb"; - homepage = "https://github.com/kaio/ibus-table/wiki"; - license = licenses.lgpl21; - platforms = platforms.linux; - maintainers = with maintainers; [ mudri ]; + homepage = "https://github.com/kaio/ibus-table/wiki"; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = with maintainers; [ mudri ]; }; } diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix index be8c05932269e..416207479b567 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix @@ -1,13 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, python3, ibus, pkg-config, gtk3, m17n_lib -, wrapGAppsHook3, gobject-introspection +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + python3, + ibus, + pkg-config, + gtk3, + m17n_lib, + wrapGAppsHook3, + gobject-introspection, }: let - python = python3.withPackages (ps: with ps; [ - pygobject3 - dbus-python - ]); + python = python3.withPackages ( + ps: with ps; [ + pygobject3 + dbus-python + ] + ); in @@ -22,8 +34,18 @@ stdenv.mkDerivation rec { hash = "sha256-brQzxW9NztvXOz2lCp513UMFt6/ksbxGNKdeXvxP7jQ="; }; - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook3 gobject-introspection ]; - buildInputs = [ python ibus gtk3 m17n_lib ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + wrapGAppsHook3 + gobject-introspection + ]; + buildInputs = [ + python + ibus + gtk3 + m17n_lib + ]; preFixup = '' gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${m17n_lib}/lib") diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix index 4b5180f0e15c1..bd25b492bb784 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix @@ -1,5 +1,19 @@ -{ typing-booster, symlinkJoin, hunspellDicts, lib, makeWrapper -, langs ? [ "de-de" "en-gb-ise" "en-us" "es-es" "fr-moderne" "it-it" "sv-se" "sv-fi" ] +{ + typing-booster, + symlinkJoin, + hunspellDicts, + lib, + makeWrapper, + langs ? [ + "de-de" + "en-gb-ise" + "en-us" + "es-es" + "fr-moderne" + "it-it" + "sv-se" + "sv-fi" + ], }: let diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix index 9ec45c65ee680..d273629860913 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix @@ -1,19 +1,24 @@ -{ lib, stdenv -, fetchFromGitHub -, gobject-introspection -, wrapGAppsHook3 -, python3 -, ibus +{ + lib, + stdenv, + fetchFromGitHub, + gobject-introspection, + wrapGAppsHook3, + python3, + ibus, }: let - python = python3.withPackages (ps: with ps; [ - pygobject3 - (toPythonModule ibus) - pyxdg - levenshtein - ]); -in stdenv.mkDerivation rec { + python = python3.withPackages ( + ps: with ps; [ + pygobject3 + (toPythonModule ibus) + pyxdg + levenshtein + ] + ); +in +stdenv.mkDerivation rec { pname = "ibus-uniemoji"; version = "0.6.0"; @@ -30,7 +35,6 @@ in stdenv.mkDerivation rec { ./allow-wrapping.patch ]; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection @@ -55,7 +59,10 @@ in stdenv.mkDerivation rec { isIbusEngine = true; description = "Input method (ibus) for entering unicode symbols and emoji by name"; homepage = "https://github.com/salty-horse/ibus-uniemoji"; - license = with licenses; [ gpl3 mit ]; + license = with licenses; [ + gpl3 + mit + ]; platforms = platforms.linux; maintainers = with maintainers; [ aske ]; }; diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix index f9a22d8028b09..d3161f748743d 100644 --- a/pkgs/tools/inputmethods/ibus/default.nix +++ b/pkgs/tools/inputmethods/ibus/default.nix @@ -1,38 +1,39 @@ -{ lib -, stdenv -, substituteAll -, fetchFromGitHub -, autoreconfHook -, gettext -, makeWrapper -, pkg-config -, vala -, wrapGAppsHook3 -, dbus -, systemd -, dconf ? null -, glib -, gdk-pixbuf -, gobject-introspection -, gtk3 -, gtk4 -, gtk-doc -, libdbusmenu-gtk3 -, runCommand -, isocodes -, cldr-annotations -, unicode-character-database -, unicode-emoji -, python3 -, json-glib -, libnotify ? null -, enableUI ? true -, withWayland ? true -, libxkbcommon -, wayland -, buildPackages -, runtimeShell -, nixosTests +{ + lib, + stdenv, + substituteAll, + fetchFromGitHub, + autoreconfHook, + gettext, + makeWrapper, + pkg-config, + vala, + wrapGAppsHook3, + dbus, + systemd, + dconf ? null, + glib, + gdk-pixbuf, + gobject-introspection, + gtk3, + gtk4, + gtk-doc, + libdbusmenu-gtk3, + runCommand, + isocodes, + cldr-annotations, + unicode-character-database, + unicode-emoji, + python3, + json-glib, + libnotify ? null, + enableUI ? true, + withWayland ? true, + libxkbcommon, + wayland, + buildPackages, + runtimeShell, + nixosTests, }: let @@ -47,13 +48,15 @@ let }; # make-dconf-override-db.sh needs to execute dbus-launch in the sandbox, # it will fail to read /etc/dbus-1/session.conf unless we add this flag - dbus-launch = runCommand "sandbox-dbus-launch" - { - nativeBuildInputs = [ makeWrapper ]; - } '' - makeWrapper ${dbus}/bin/dbus-launch $out/bin/dbus-launch \ - --add-flags --config-file=${dbus}/share/dbus-1/session.conf - ''; + dbus-launch = + runCommand "sandbox-dbus-launch" + { + nativeBuildInputs = [ makeWrapper ]; + } + '' + makeWrapper ${dbus}/bin/dbus-launch $out/bin/dbus-launch \ + --add-flags --config-file=${dbus}/share/dbus-1/session.conf + ''; in stdenv.mkDerivation rec { @@ -76,7 +79,11 @@ stdenv.mkDerivation rec { ./build-without-dbus-launch.patch ]; - outputs = [ "out" "dev" "installedTests" ]; + outputs = [ + "out" + "dev" + "installedTests" + ]; postPatch = '' # Maintainer does not want to create separate tarballs for final release candidate and release versions, @@ -120,7 +127,6 @@ stdenv.mkDerivation rec { "test_sourcesdir=${placeholder "installedTests"}/share/installed-tests/ibus" ]; - depsBuildBuild = [ pkg-config ]; @@ -142,23 +148,25 @@ stdenv.mkDerivation rec { glib ]; - buildInputs = [ - dbus - systemd - dconf - gdk-pixbuf - python3.pkgs.pygobject3 # for pygobject overrides - gtk3 - gtk4 - isocodes - json-glib - libnotify - libdbusmenu-gtk3 - vala # for share/vala/Makefile.vapigen (PKG_CONFIG_VAPIGEN_VAPIGEN) - ] ++ lib.optionals withWayland [ - libxkbcommon - wayland - ]; + buildInputs = + [ + dbus + systemd + dconf + gdk-pixbuf + python3.pkgs.pygobject3 # for pygobject overrides + gtk3 + gtk4 + isocodes + json-glib + libnotify + libdbusmenu-gtk3 + vala # for share/vala/Makefile.vapigen (PKG_CONFIG_VAPIGEN_VAPIGEN) + ] + ++ lib.optionals withWayland [ + libxkbcommon + wayland + ]; enableParallelBuilding = true; diff --git a/pkgs/tools/inputmethods/ibus/wrapper.nix b/pkgs/tools/inputmethods/ibus/wrapper.nix index c1328fbe984a7..0166fa777d70c 100644 --- a/pkgs/tools/inputmethods/ibus/wrapper.nix +++ b/pkgs/tools/inputmethods/ibus/wrapper.nix @@ -1,11 +1,12 @@ -{ lib -, buildEnv -, makeWrapper -, dconf -, hicolor-icon-theme -, ibus -, librsvg -, plugins ? [ ] +{ + lib, + buildEnv, + makeWrapper, + dconf, + hicolor-icon-theme, + ibus, + librsvg, + plugins ? [ ], }: buildEnv { diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix index 8431baa1526b8..4713d7f2f4c00 100644 --- a/pkgs/tools/inputmethods/input-remapper/default.nix +++ b/pkgs/tools/inputmethods/input-remapper/default.nix @@ -1,33 +1,34 @@ -{ lib -, pkgconfig -, wrapGAppsHook3 -, gettext -, gtk3 -, glib -, dbus -, gobject-introspection -, xmodmap -, pygobject3 -, setuptools -, evdev -, pydantic -, pydbus -, psutil -, fetchFromGitHub -, buildPythonApplication -, procps -, gtksourceview4 -, nixosTests +{ + lib, + pkgconfig, + wrapGAppsHook3, + gettext, + gtk3, + glib, + dbus, + gobject-introspection, + xmodmap, + pygobject3, + setuptools, + evdev, + pydantic, + pydbus, + psutil, + fetchFromGitHub, + buildPythonApplication, + procps, + gtksourceview4, + nixosTests, # Change the default log level to debug for easier debugging of package issues -, withDebugLogLevel ? false + withDebugLogLevel ? false, # Xmodmap is an optional dependency # If you use Xmodmap to set keyboard mappings (or your DE does) # it is required to correctly map keys -, withXmodmap ? true + withXmodmap ? true, # Some tests are flakey under high CPU load and could cause intermittent # failures when building. Override this to true to run tests anyway # See upstream issue: https://github.com/sezanzeb/input-remapper/issues/306 -, withDoCheck ? false + withDoCheck ? false, }: let @@ -44,14 +45,16 @@ in hash = "sha256-rwlVGF/cWSv6Bsvhrs6nMDQ8avYT80aasrhWyQv55/A="; }; - postPatch = '' - # fix FHS paths - substituteInPlace inputremapper/configs/data.py \ - --replace "/usr/share" "$out/usr/share" - '' + lib.optionalString withDebugLogLevel '' - # if debugging - substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)" "logger.setLevel(logging.DEBUG)" - ''; + postPatch = + '' + # fix FHS paths + substituteInPlace inputremapper/configs/data.py \ + --replace "/usr/share" "$out/usr/share" + '' + + lib.optionalString withDebugLogLevel '' + # if debugging + substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)" "logger.setLevel(logging.DEBUG)" + ''; doCheck = withDoCheck; nativeCheckInputs = [ @@ -81,7 +84,15 @@ in " > dbus.cfg - PATH=${lib.makeBinPath ([ dbus procps ] ++ maybeXmodmap)}:$PATH \ + PATH=${ + lib.makeBinPath ( + [ + dbus + procps + ] + ++ maybeXmodmap + ) + }:$PATH \ USER="$(id -u -n)" \ DBUS_SYSTEM_BUS_ADDRESS=unix:path=/build/system_bus_socket \ ${dbus}/bin/dbus-run-session --config-file dbus.cfg \ @@ -147,14 +158,19 @@ in maintainers = with maintainers; [ LunNova ]; mainProgram = "input-remapper-gtk"; }; -}).overrideAttrs (final: prev: { - # Set in an override as buildPythonApplication doesn't yet support - # the `final:` arg yet from #119942 'overlay style overridable recursive attributes' - # this ensures the rev matches the input src's rev after overriding - # See https://discourse.nixos.org/t/avoid-rec-expresions-in-nixpkgs/8293/7 for more - # discussion - postPatch = prev.postPatch or "" + '' - # set revision for --version output - echo "COMMIT_HASH = '${final.src.rev}'" > inputremapper/commit_hash.py - ''; -}) +}).overrideAttrs + ( + final: prev: { + # Set in an override as buildPythonApplication doesn't yet support + # the `final:` arg yet from #119942 'overlay style overridable recursive attributes' + # this ensures the rev matches the input src's rev after overriding + # See https://discourse.nixos.org/t/avoid-rec-expresions-in-nixpkgs/8293/7 for more + # discussion + postPatch = + prev.postPatch or "" + + '' + # set revision for --version output + echo "COMMIT_HASH = '${final.src.rev}'" > inputremapper/commit_hash.py + ''; + } + ) diff --git a/pkgs/tools/inputmethods/interception-tools/caps2esc.nix b/pkgs/tools/inputmethods/interception-tools/caps2esc.nix index 99865b354dd30..6e9b8f32800a2 100644 --- a/pkgs/tools/inputmethods/interception-tools/caps2esc.nix +++ b/pkgs/tools/inputmethods/interception-tools/caps2esc.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitLab, cmake }: +{ + lib, + stdenv, + fetchFromGitLab, + cmake, +}: stdenv.mkDerivation rec { pname = "caps2esc"; diff --git a/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix b/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix index 022e7dfa03899..d9a786213bfb1 100644 --- a/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix +++ b/pkgs/tools/inputmethods/interception-tools/dual-function-keys.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitLab, pkg-config, yaml-cpp, libevdev }: +{ + stdenv, + lib, + fetchFromGitLab, + pkg-config, + yaml-cpp, + libevdev, +}: stdenv.mkDerivation rec { pname = "dual-function-keys"; @@ -14,7 +21,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libevdev yaml-cpp ]; + buildInputs = [ + libevdev + yaml-cpp + ]; prePatch = '' substituteInPlace config.mk --replace \ @@ -22,7 +32,10 @@ stdenv.mkDerivation rec { "$(pkg-config --cflags libevdev | cut -c 3-)" ''; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; meta = with lib; { homepage = "https://gitlab.com/interception/linux/plugins/dual-function-keys"; diff --git a/pkgs/tools/inputmethods/m17n-lib/default.nix b/pkgs/tools/inputmethods/m17n-lib/default.nix index ca586a449703e..7d5289010daa2 100644 --- a/pkgs/tools/inputmethods/m17n-lib/default.nix +++ b/pkgs/tools/inputmethods/m17n-lib/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, m17n_db -, autoreconfHook -, pkg-config +{ + lib, + stdenv, + fetchurl, + m17n_db, + autoreconfHook, + pkg-config, }: stdenv.mkDerivation rec { pname = "m17n-lib"; @@ -18,7 +19,8 @@ stdenv.mkDerivation rec { # reconf needed to sucesfully cross-compile nativeBuildInputs = [ - autoreconfHook pkg-config + autoreconfHook + pkg-config # requires m17n-db tool at build time m17n_db ]; diff --git a/pkgs/tools/inputmethods/m17n-lib/otf.nix b/pkgs/tools/inputmethods/m17n-lib/otf.nix index d700dfb3ebd95..b92b57746e851 100644 --- a/pkgs/tools/inputmethods/m17n-lib/otf.nix +++ b/pkgs/tools/inputmethods/m17n-lib/otf.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, xorg, freetype }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + autoreconfHook, + xorg, + freetype, +}: stdenv.mkDerivation rec { pname = "libotf"; @@ -29,11 +38,20 @@ stdenv.mkDerivation rec { strictDeps = true; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - buildInputs = [ xorg.libXaw freetype ]; + buildInputs = [ + xorg.libXaw + freetype + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' mkdir -p $dev/bin diff --git a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix index 9b2dd3c182dd0..83981b27fc3a7 100644 --- a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix +++ b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix @@ -1,21 +1,24 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, nix-update-script -, nkf -, skktools -, useUtf8 ? false +{ + lib, + stdenvNoCC, + fetchFromGitHub, + nix-update-script, + nkf, + skktools, + useUtf8 ? false, }: let suffix = lib.optionalString useUtf8 ".utf8"; mkDictNameValue = - { name - , description - , license # it's written in the beginning of each file - , files ? [ "SKK-JISYO.${name}" ] - }: { + { + name, + description, + license, # it's written in the beginning of each file + files ? [ "SKK-JISYO.${name}" ], + }: + { name = lib.toLower (builtins.replaceStrings [ "." ] [ "_" ] name); value = stdenvNoCC.mkDerivation { pname = "skk-jisyo-" + lib.toLower name; @@ -32,29 +35,31 @@ let strictDeps = true; - buildPhase = '' - runHook preBuild - '' + lib.concatMapStrings - (file: '' + buildPhase = + '' + runHook preBuild + '' + + lib.concatMapStrings (file: '' nkf -w ${file} \ | LC_ALL=C sed 's/coding: [^ ]\{1,\}/coding: utf-8/' \ > ${file + suffix} - '') - (lib.optionals useUtf8 (map lib.escapeShellArg files)) + '' - runHook postBuild - ''; + '') (lib.optionals useUtf8 (map lib.escapeShellArg files)) + + '' + runHook postBuild + ''; - installPhase = '' - runHook preInstall - '' + lib.concatMapStrings - (file: '' + installPhase = + '' + runHook preInstall + '' + + lib.concatMapStrings (file: '' install -Dm644 \ ${lib.escapeShellArg file} \ $out/share/skk/${lib.escapeShellArg (baseNameOf file)} - '') - (map (file: file + suffix) files) + '' - runHook postInstall - ''; + '') (map (file: file + suffix) files) + + '' + runHook postInstall + ''; doInstallCheck = true; installCheckPhase = '' @@ -64,7 +69,10 @@ let ''; passthru.updateScript = nix-update-script { - extraArgs = ["--version" "branch"]; + extraArgs = [ + "--version" + "branch" + ]; }; meta = with lib; { @@ -74,129 +82,137 @@ let SKK Japanese input method. ''; homepage = "https://github.com/skk-dev/dict"; - maintainers = with maintainers; [ yuriaisaka midchildan ]; + maintainers = with maintainers; [ + yuriaisaka + midchildan + ]; platforms = platforms.all; }; }; }; in -lib.listToAttrs (map mkDictNameValue [ - { - name = "L"; - description = "The standard SKK dictionary"; - license = lib.licenses.gpl2Plus; - } - { - name = "S"; - description = "Small SKK dictionary"; - license = lib.licenses.gpl2Plus; - } - { - name = "M"; - description = "Medium sized SKK dictionary"; - license = lib.licenses.gpl2Plus; - } - { - name = "ML"; - description = "Medium to large sized SKK dictionary"; - license = lib.licenses.gpl2Plus; - } - { - name = "jinmei"; - description = "SKK dictionary for names"; - license = lib.licenses.gpl2Plus; - } - { - name = "fullname"; - description = "SKK dictionary for celebrities"; - license = lib.licenses.gpl2Plus; - } - { - name = "geo"; - description = "SKK dictionary for locations"; - license = lib.licenses.gpl2Plus; - } - { - name = "propernoun"; - description = "SKK dictionary for proper nouns"; - license = lib.licenses.gpl2Plus; - } - { - name = "station"; - description = "SKK dictionary for stations"; - license = lib.licenses.gpl2Plus; - } - { - name = "law"; - description = "SKK dictionary for legal terms"; - license = lib.licenses.gpl2Plus; - } - { - name = "okinawa"; - description = "SKK dictionary for the Okinawan language"; - license = lib.licenses.publicDomain; - } - { - name = "china_taiwan"; - description = "SKK dictionary for Chinese & Taiwanese locations"; - license = lib.licenses.gpl2Plus; - } - { - name = "assoc"; - description = "SKK dictionary for abbreviated input"; - license = lib.licenses.gpl2Plus; - } - { - name = "edict"; - description = "SKK dictionary for English to Japanese translation"; - license = lib.licenses.cc-by-sa-30; - } - { - name = "zipcode"; - description = "SKK dictionary for Japanese zipcodes"; - files = [ "zipcode/SKK-JISYO.zipcode" "zipcode/SKK-JISYO.office.zipcode" ]; - license = lib.licenses.publicDomain; - } - { - name = "JIS2"; - description = "SKK dictionary for JIS level 2 kanjis"; - license = lib.licenses.gpl2Plus; - } - { - name = "JIS3_4"; - description = "SKK dictionary for JIS level 3 and 4 kanjis"; - license = lib.licenses.gpl2Plus; - } - { - name = "JIS2004"; - description = '' - A complementary SKK dictionary for JIS3_4 with JIS X 0213:2004 additions" - ''; - license = lib.licenses.gpl2Plus; - } - { - name = "itaiji"; - description = "SKK dictionary for variant kanjis"; - license = lib.licenses.publicDomain; - } - { - name = "itaiji.JIS3_4"; - description = "SKK dictionary for JIS level 3 and 4 variant kanjis"; - license = lib.licenses.gpl2Plus; - } - { - name = "mazegaki"; - description = "SKK dictionary for mazegaki"; - license = lib.licenses.gpl2Plus; - } - { - name = "emoji"; - description = "SKK dictionary for emojis"; - license = lib.licenses.unicode-dfs-2016; - } - { - name = "pinyin"; - description = "SKK dictionary for pinyin to simplified Chinese input"; - license = lib.licenses.gpl1Plus; - } -]) +lib.listToAttrs ( + map mkDictNameValue [ + { + name = "L"; + description = "The standard SKK dictionary"; + license = lib.licenses.gpl2Plus; + } + { + name = "S"; + description = "Small SKK dictionary"; + license = lib.licenses.gpl2Plus; + } + { + name = "M"; + description = "Medium sized SKK dictionary"; + license = lib.licenses.gpl2Plus; + } + { + name = "ML"; + description = "Medium to large sized SKK dictionary"; + license = lib.licenses.gpl2Plus; + } + { + name = "jinmei"; + description = "SKK dictionary for names"; + license = lib.licenses.gpl2Plus; + } + { + name = "fullname"; + description = "SKK dictionary for celebrities"; + license = lib.licenses.gpl2Plus; + } + { + name = "geo"; + description = "SKK dictionary for locations"; + license = lib.licenses.gpl2Plus; + } + { + name = "propernoun"; + description = "SKK dictionary for proper nouns"; + license = lib.licenses.gpl2Plus; + } + { + name = "station"; + description = "SKK dictionary for stations"; + license = lib.licenses.gpl2Plus; + } + { + name = "law"; + description = "SKK dictionary for legal terms"; + license = lib.licenses.gpl2Plus; + } + { + name = "okinawa"; + description = "SKK dictionary for the Okinawan language"; + license = lib.licenses.publicDomain; + } + { + name = "china_taiwan"; + description = "SKK dictionary for Chinese & Taiwanese locations"; + license = lib.licenses.gpl2Plus; + } + { + name = "assoc"; + description = "SKK dictionary for abbreviated input"; + license = lib.licenses.gpl2Plus; + } + { + name = "edict"; + description = "SKK dictionary for English to Japanese translation"; + license = lib.licenses.cc-by-sa-30; + } + { + name = "zipcode"; + description = "SKK dictionary for Japanese zipcodes"; + files = [ + "zipcode/SKK-JISYO.zipcode" + "zipcode/SKK-JISYO.office.zipcode" + ]; + license = lib.licenses.publicDomain; + } + { + name = "JIS2"; + description = "SKK dictionary for JIS level 2 kanjis"; + license = lib.licenses.gpl2Plus; + } + { + name = "JIS3_4"; + description = "SKK dictionary for JIS level 3 and 4 kanjis"; + license = lib.licenses.gpl2Plus; + } + { + name = "JIS2004"; + description = '' + A complementary SKK dictionary for JIS3_4 with JIS X 0213:2004 additions" + ''; + license = lib.licenses.gpl2Plus; + } + { + name = "itaiji"; + description = "SKK dictionary for variant kanjis"; + license = lib.licenses.publicDomain; + } + { + name = "itaiji.JIS3_4"; + description = "SKK dictionary for JIS level 3 and 4 variant kanjis"; + license = lib.licenses.gpl2Plus; + } + { + name = "mazegaki"; + description = "SKK dictionary for mazegaki"; + license = lib.licenses.gpl2Plus; + } + { + name = "emoji"; + description = "SKK dictionary for emojis"; + license = lib.licenses.unicode-dfs-2016; + } + { + name = "pinyin"; + description = "SKK dictionary for pinyin to simplified Chinese input"; + license = lib.licenses.gpl1Plus; + } + ] +) diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix index be720c6ce2341..ffd3955a31811 100644 --- a/pkgs/tools/inputmethods/uim/default.nix +++ b/pkgs/tools/inputmethods/uim/default.nix @@ -1,22 +1,46 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, shared-mime-info -, autoconf, automake, intltool, libtool, pkg-config, cmake -, ruby, librsvg -, ncurses, m17n_lib, m17n_db, expat -, withAnthy ? true, anthy ? null -, withGtk ? true -, withGtk2 ? withGtk, gtk2 ? null -, withGtk3 ? withGtk, gtk3 ? null -# Was never enabled in the history of this package and is not needed by any -# dependent package, hence disabled to save up closure size. -, withQt ? false -, withQt5 ? withQt, qt5 ? null -, withLibnotify ? true, libnotify ? null -, withSqlite ? true, sqlite ? null -, withNetworking ? true, curl ? null, openssl ? null -, withFFI ? true, libffi ? null - -# Things that are clearly an overkill to be enabled by default -, withMisc ? false, libeb ? null +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + shared-mime-info, + autoconf, + automake, + intltool, + libtool, + pkg-config, + cmake, + ruby, + librsvg, + ncurses, + m17n_lib, + m17n_db, + expat, + withAnthy ? true, + anthy ? null, + withGtk ? true, + withGtk2 ? withGtk, + gtk2 ? null, + withGtk3 ? withGtk, + gtk3 ? null, + # Was never enabled in the history of this package and is not needed by any + # dependent package, hence disabled to save up closure size. + withQt ? false, + withQt5 ? withQt, + qt5 ? null, + withLibnotify ? true, + libnotify ? null, + withSqlite ? true, + sqlite ? null, + withNetworking ? true, + curl ? null, + openssl ? null, + withFFI ? true, + libffi ? null, + + # Things that are clearly an overkill to be enabled by default + withMisc ? false, + libeb ? null, }: assert withGtk2 -> gtk2 != null; @@ -41,29 +65,44 @@ stdenv.mkDerivation rec { sha256 = "1hkjxi5r49gcna37m3jvykny5hz9ram4y8a3q7lw4qzr52mz9pdp"; }; - nativeBuildInputs = [ - autoconf automake intltool libtool pkg-config cmake - - ruby # used by sigscheme build to generate function tables - librsvg # used by uim build to generate png pixmaps from svg - ] ++ lib.optionals withQt5 [ - qt5.wrapQtAppsHook - ]; - - buildInputs = [ - ncurses m17n_lib m17n_db expat - ] - ++ lib.optional withAnthy anthy - ++ lib.optional withGtk2 gtk2 - ++ lib.optional withGtk3 gtk3 - ++ lib.optionals withQt5 [ qt5.qtbase qt5.qtx11extras ] - ++ lib.optional withLibnotify libnotify - ++ lib.optional withSqlite sqlite - ++ lib.optionals withNetworking [ - curl openssl - ] - ++ lib.optional withFFI libffi - ++ lib.optional withMisc libeb; + nativeBuildInputs = + [ + autoconf + automake + intltool + libtool + pkg-config + cmake + + ruby # used by sigscheme build to generate function tables + librsvg # used by uim build to generate png pixmaps from svg + ] + ++ lib.optionals withQt5 [ + qt5.wrapQtAppsHook + ]; + + buildInputs = + [ + ncurses + m17n_lib + m17n_db + expat + ] + ++ lib.optional withAnthy anthy + ++ lib.optional withGtk2 gtk2 + ++ lib.optional withGtk3 gtk3 + ++ lib.optionals withQt5 [ + qt5.qtbase + qt5.qtx11extras + ] + ++ lib.optional withLibnotify libnotify + ++ lib.optional withSqlite sqlite + ++ lib.optionals withNetworking [ + curl + openssl + ] + ++ lib.optional withFFI libffi + ++ lib.optional withMisc libeb; prePatch = '' patchShebangs *.sh */*.sh */*/*.sh @@ -95,32 +134,33 @@ stdenv.mkDerivation rec { }) ]; - configureFlags = [ - # configure in maintainer mode or else some pixmaps won't get autogenerated - # this should imply the above `--enable-maintainer-mode`, but it does not - "--enable-maintainer-mode" - - "--enable-pref" - "--with-skk" - "--with-x" - "--with-xft" - "--with-expat=${expat.dev}" - ] - ++ lib.optional withAnthy "--with-anthy-utf8" - ++ lib.optional withGtk2 "--with-gtk2" - ++ lib.optional withGtk3 "--with-gtk3" - ++ lib.optionals withQt5 [ - "--with-qt5" - "--with-qt5-immodule" - ] - ++ lib.optional withLibnotify "--enable-notify=libnotify" - ++ lib.optional withSqlite "--with-sqlite3" - ++ lib.optionals withNetworking [ - "--with-curl" - "--with-openssl-dir=${openssl.dev}" - ] - ++ lib.optional withFFI "--with-ffi" - ++ lib.optional withMisc "--with-eb"; + configureFlags = + [ + # configure in maintainer mode or else some pixmaps won't get autogenerated + # this should imply the above `--enable-maintainer-mode`, but it does not + "--enable-maintainer-mode" + + "--enable-pref" + "--with-skk" + "--with-x" + "--with-xft" + "--with-expat=${expat.dev}" + ] + ++ lib.optional withAnthy "--with-anthy-utf8" + ++ lib.optional withGtk2 "--with-gtk2" + ++ lib.optional withGtk3 "--with-gtk3" + ++ lib.optionals withQt5 [ + "--with-qt5" + "--with-qt5-immodule" + ] + ++ lib.optional withLibnotify "--enable-notify=libnotify" + ++ lib.optional withSqlite "--with-sqlite3" + ++ lib.optionals withNetworking [ + "--with-curl" + "--with-openssl-dir=${openssl.dev}" + ] + ++ lib.optional withFFI "--with-ffi" + ++ lib.optional withMisc "--with-eb"; # TODO: things in `./configure --help`, but not in nixpkgs #--with-canna Use Canna [default=no] @@ -139,10 +179,13 @@ stdenv.mkDerivation rec { dontUseCmakeConfigure = true; meta = with lib; { - homepage = src.meta.homepage; + homepage = src.meta.homepage; description = "Multilingual input method framework"; - license = licenses.bsd3; - platforms = platforms.unix; - maintainers = with maintainers; [ ericsagnes oxij ]; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = with maintainers; [ + ericsagnes + oxij + ]; }; } diff --git a/pkgs/tools/misc/3llo/default.nix b/pkgs/tools/misc/3llo/default.nix index b095cee4d7958..45c1e633d050f 100644 --- a/pkgs/tools/misc/3llo/default.nix +++ b/pkgs/tools/misc/3llo/default.nix @@ -3,7 +3,7 @@ bundlerApp { pname = "3llo"; - gemdir = ./.; + gemdir = ./.; exes = [ "3llo" ]; diff --git a/pkgs/tools/misc/3llo/gemset.nix b/pkgs/tools/misc/3llo/gemset.nix index 4de7651dbce09..dc13928c4b9dc 100644 --- a/pkgs/tools/misc/3llo/gemset.nix +++ b/pkgs/tools/misc/3llo/gemset.nix @@ -1,83 +1,90 @@ { "3llo" = { - dependencies = ["tty-prompt"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-prompt" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w327skga2lpq9rbqqxy6w1r6k9k1l8prk5wmzrycvydn1wp7jk2"; type = "gem"; }; version = "1.3.1"; }; pastel = { - dependencies = ["tty-color"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-color" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8"; type = "gem"; }; version = "0.8.0"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g"; type = "gem"; }; version = "0.6.0"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-prompt = { - dependencies = ["pastel" "tty-reader"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "pastel" + "tty-reader" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw"; type = "gem"; }; version = "0.23.1"; }; tty-reader = { - dependencies = ["tty-cursor" "tty-screen" "wisper"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "tty-cursor" + "tty-screen" + "wisper" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6"; type = "gem"; }; version = "0.9.0"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; type = "gem"; }; version = "0.8.1"; }; wisper = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf"; type = "gem"; }; diff --git a/pkgs/tools/misc/android-tools/default.nix b/pkgs/tools/misc/android-tools/default.nix index efc5a95e7bdec..95af0ed528ce5 100644 --- a/pkgs/tools/misc/android-tools/default.nix +++ b/pkgs/tools/misc/android-tools/default.nix @@ -1,10 +1,25 @@ -{ lib, stdenv, fetchurl -, cmake, ninja, pkg-config, perl, go, python3 -, protobuf, zlib, gtest, brotli, lz4, zstd, libusb1, pcre2 +{ + lib, + stdenv, + fetchurl, + cmake, + ninja, + pkg-config, + perl, + go, + python3, + protobuf, + zlib, + gtest, + brotli, + lz4, + zstd, + libusb1, + pcre2, }: let - pythonEnv = python3.withPackages(ps: [ ps.protobuf ]); + pythonEnv = python3.withPackages (ps: [ ps.protobuf ]); in stdenv.mkDerivation rec { @@ -16,8 +31,23 @@ stdenv.mkDerivation rec { hash = "sha256-ZUAwx/ltJdciTNaGH6wUoEPPHTmA9AKIzfviGflP+vk="; }; - nativeBuildInputs = [ cmake ninja pkg-config perl go ]; - buildInputs = [ protobuf zlib gtest brotli lz4 zstd libusb1 pcre2 ]; + nativeBuildInputs = [ + cmake + ninja + pkg-config + perl + go + ]; + buildInputs = [ + protobuf + zlib + gtest + brotli + lz4 + zstd + libusb1 + pcre2 + ]; propagatedBuildInputs = [ pythonEnv ]; preConfigure = '' @@ -44,7 +74,10 @@ stdenv.mkDerivation rec { # https://developer.android.com/studio/command-line#tools-platform # https://developer.android.com/studio/releases/platform-tools homepage = "https://github.com/nmeum/android-tools"; - license = with licenses; [ asl20 unicode-dfs-2015 ]; + license = with licenses; [ + asl20 + unicode-dfs-2015 + ]; platforms = platforms.unix; maintainers = with maintainers; [ primeos ]; }; diff --git a/pkgs/tools/misc/antimicrox/default.nix b/pkgs/tools/misc/antimicrox/default.nix index 4064c76cd0e81..76ea224f19d73 100644 --- a/pkgs/tools/misc/antimicrox/default.nix +++ b/pkgs/tools/misc/antimicrox/default.nix @@ -1,13 +1,14 @@ -{ mkDerivation -, lib -, cmake -, extra-cmake-modules -, pkg-config -, SDL2 -, qttools -, xorg -, fetchFromGitHub -, itstool +{ + mkDerivation, + lib, + cmake, + extra-cmake-modules, + pkg-config, + SDL2, + qttools, + xorg, + fetchFromGitHub, + itstool, }: mkDerivation rec { @@ -21,7 +22,12 @@ mkDerivation rec { sha256 = "sha256-9vpkhs3zEOZa3LnyIqdW0U+nS/9t4HzMLzFqrB2TqI8="; }; - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + pkg-config + itstool + ]; buildInputs = [ SDL2 qttools diff --git a/pkgs/tools/misc/anystyle-cli/default.nix b/pkgs/tools/misc/anystyle-cli/default.nix index beebae6542b97..19379ae96ffed 100644 --- a/pkgs/tools/misc/anystyle-cli/default.nix +++ b/pkgs/tools/misc/anystyle-cli/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildRubyGem -, bundlerEnv -, ruby -, poppler_utils +{ + lib, + buildRubyGem, + bundlerEnv, + ruby, + poppler_utils, }: let deps = bundlerEnv rec { @@ -13,7 +14,7 @@ let gemdir = ./.; gemset = lib.recursiveUpdate (import ./gemset.nix) { anystyle.source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w79zcia60nnnyrmyvpd10pmxrpk5c7lj9gmmblhwi8x5mfq9k0n"; type = "gem"; }; @@ -35,10 +36,10 @@ buildRubyGem rec { meta = with lib; { description = "Command line interface to the AnyStyle Parser and Finder"; - homepage = "https://anystyle.io/"; - license = licenses.bsd2; + homepage = "https://anystyle.io/"; + license = licenses.bsd2; maintainers = with maintainers; [ shamilton ]; mainProgram = "anystyle"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/anystyle-cli/gemset.nix b/pkgs/tools/misc/anystyle-cli/gemset.nix index 46444760b7bd8..9d3377022144a 100644 --- a/pkgs/tools/misc/anystyle-cli/gemset.nix +++ b/pkgs/tools/misc/anystyle-cli/gemset.nix @@ -1,168 +1,237 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + "zeitwerk" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02sh4q8izyfdnh7z2nj5mn5sklfvqgx9rrag5j3l51y8aqkrg2yk"; type = "gem"; }; version = "6.0.3.2"; }; anystyle = { - dependencies = ["anystyle-data" "bibtex-ruby" "gli" "namae" "wapiti"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ + "anystyle-data" + "bibtex-ruby" + "gli" + "namae" + "wapiti" + ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { path = ./.; type = "path"; @@ -170,728 +239,968 @@ version = "1.3.10"; }; anystyle-data = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ry6836mq48d85hjcfp7xiw0yk3ivpiwjvmdwv5jag30ijfyaccy"; type = "gem"; }; version = "1.2.0"; }; bibtex-ruby = { - dependencies = ["latex-decode"]; - groups = ["default" "development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "latex-decode" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00zwmmmjrbrxhajdvn1d4rnv2qw00arcj021cwyx3hl6dsv22l2w"; type = "gem"; }; version = "5.1.4"; }; builder = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; type = "gem"; }; version = "3.2.4"; }; byebug = { - groups = ["debug"]; - platforms = []; + groups = [ "debug" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; type = "gem"; }; version = "11.1.3"; }; citeproc = { - dependencies = ["namae"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "namae" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13vl5sjmksk5a8kjcqnjxh7kn9gn1n4f9p1rvqfgsfhs54p0m6l2"; type = "gem"; }; version = "1.0.10"; }; concurrent-ruby = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; type = "gem"; }; version = "1.1.7"; }; diff-lcs = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; type = "gem"; }; version = "1.4.4"; }; docile = { - groups = ["coverage" "default"]; - platforms = []; + groups = [ + "coverage" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif"; type = "gem"; }; version = "1.3.2"; }; edtf = { - dependencies = ["activesupport"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xknzamagsx68iq7zdiswr077sxirig77yggbcsw51m8365ajzpc"; type = "gem"; }; version = "3.0.5"; }; gli = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q598mvl20isn3ja1ya0p72svmqwx3m6fjp5slnv0b2c5mh0ahvv"; type = "gem"; }; version = "2.19.2"; }; gnuplot = { - groups = ["profile"]; - platforms = []; + groups = [ "profile" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cvb84lahhy6qxkkgg0pfk9b85qrb1by2p3jlpqgczl6am58vhnj"; type = "gem"; }; version = "2.6.2"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; type = "gem"; }; version = "1.8.5"; }; language_detector = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "89102790194150b3a8110ce691f9989b8ce70f8d"; @@ -902,669 +1211,892 @@ version = "0.1.2"; }; latex-decode = { - groups = ["default" "development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dqanr69as05vdyp9gx9737w3g44rhyk7x96bh9x01fnf1yalyzd"; type = "gem"; }; version = "0.3.1"; }; lmdb = { - groups = ["extra"]; - platforms = []; + groups = [ "extra" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qk2ycgyyk052dvbgik35mr4n9im4k1j6v7anbjqhx52y5f07sfg"; type = "gem"; }; version = "0.5.3"; }; minitest = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g"; type = "gem"; }; version = "5.14.1"; }; namae = { - groups = ["default" "development" "test"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00w0dgvmdy8lw2b5q9zvhqd5k98a192vdmka96qngi9cvnsh5snw"; type = "gem"; }; version = "1.0.1"; }; rake = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"; type = "gem"; }; version = "13.0.1"; }; redis = { - groups = ["extra"]; - platforms = []; + groups = [ "extra" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19hm66kw5vx1lmlh8bj7rxlddyj0vfp11ajw9njhrmn8173d0vb5"; type = "gem"; }; version = "4.2.1"; }; redis-namespace = { - dependencies = ["redis"]; - groups = ["extra"]; - platforms = []; + dependencies = [ "redis" ]; + groups = [ "extra" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i6s898z5w31z385cba1683pgg5nnmj4m686cbravg7j4pgbcgv"; type = "gem"; }; version = "1.8.0"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h"; type = "gem"; }; version = "3.9.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xndkv5cz763wh30x7hdqw6k7zs8xfh0f86amra9agwn44pcqs0y"; type = "gem"; }; version = "3.9.2"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bxkv25qmy39jqrdx35bfgw00g24qkssail9jlljm7hywbqvr9bb"; type = "gem"; }; version = "3.9.2"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr"; type = "gem"; }; version = "3.9.1"; }; rspec-support = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dandh2fy1dfkjk8jf9v4azbbma6968bhh06hddv0yqqm8108jir"; type = "gem"; }; version = "3.9.3"; }; ruby-prof = { - groups = ["profile"]; - platforms = []; + groups = [ "profile" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27"; type = "gem"; }; version = "1.4.1"; }; simplecov = { - dependencies = ["docile" "simplecov-html"]; - groups = ["coverage"]; - platforms = []; + dependencies = [ + "docile" + "simplecov-html" + ]; + groups = [ "coverage" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b082xrklq6k755cc3rzpnfdjv5338rlky9him36jasw8s9q68mr"; type = "gem"; }; version = "0.19.0"; }; simplecov-html = { - groups = ["coverage" "default"]; - platforms = []; + groups = [ + "coverage" + "default" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v7b4mf7njw8kv4ghl4q7mwz3q0flbld7v8blp4m4m3n3aq11bn9"; type = "gem"; }; version = "0.12.2"; }; thread_safe = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; tzinfo = { - dependencies = ["thread_safe"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; type = "gem"; }; version = "1.2.7"; }; unicode-scripts = { - groups = ["development" "test"]; - platforms = []; + groups = [ + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04xfy4f61xf7qnbfa68aqscmyxk7wx3swn571cijsfqalhz8swjg"; type = "gem"; }; version = "1.6.0"; }; wapiti = { - dependencies = ["builder"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "builder" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aw2l759cfmii9a67pn8pswip11v08nabkzm825mrmxa6r91izqs"; type = "gem"; }; version = "1.0.7"; }; yard = { - groups = ["extra"]; - platforms = []; + groups = [ "extra" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd"; type = "gem"; }; version = "0.9.25"; }; zeitwerk = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k"; type = "gem"; }; version = "2.4.0"; }; } - diff --git a/pkgs/tools/misc/aoc-cli/default.nix b/pkgs/tools/misc/aoc-cli/default.nix index 693f87389e1ba..6f4cdad5240e0 100644 --- a/pkgs/tools/misc/aoc-cli/default.nix +++ b/pkgs/tools/misc/aoc-cli/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -20,8 +21,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin Security; + buildInputs = [ openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; cargoHash = "sha256-EluP4N3UBQeEKVdHTs4O0THXji+nAyE52nGKsxA3AA4="; diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix index e3969844d8ac0..11f12b294415b 100644 --- a/pkgs/tools/misc/apkeep/default.nix +++ b/pkgs/tools/misc/apkeep/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchCrate -, rustPlatform -, openssl -, pkg-config -, Security -, SystemConfiguration +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + openssl, + pkg-config, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -27,12 +28,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; meta = with lib; { description = "Command-line tool for downloading APK files from various sources"; diff --git a/pkgs/tools/misc/asciinema-agg/default.nix b/pkgs/tools/misc/asciinema-agg/default.nix index e7f7334de3e03..a053b7c191ed0 100644 --- a/pkgs/tools/misc/asciinema-agg/default.nix +++ b/pkgs/tools/misc/asciinema-agg/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "agg"; diff --git a/pkgs/tools/misc/bat-extras/default.nix b/pkgs/tools/misc/bat-extras/default.nix index 0891499b22611..fa2dd823ec8bd 100644 --- a/pkgs/tools/misc/bat-extras/default.nix +++ b/pkgs/tools/misc/bat-extras/default.nix @@ -1,40 +1,51 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, bat -# batdiff, batgrep, and batwatch -, coreutils -, getconf -, less -# tests -, bash -, zsh -, fish -# batgrep -, ripgrep -# prettybat -, withShFmt ? shfmt != null, shfmt ? null -, withPrettier ? nodePackages?prettier, nodePackages ? null -, withClangTools ? clang-tools != null, clang-tools ? null -, withRustFmt ? rustfmt != null, rustfmt ? null -# batwatch -, withEntr ? entr != null, entr ? null -# batdiff -, gitMinimal -, withDelta ? delta != null, delta ? null -# batman -, util-linux +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + bat, + # batdiff, batgrep, and batwatch + coreutils, + getconf, + less, + # tests + bash, + zsh, + fish, + # batgrep + ripgrep, + # prettybat + withShFmt ? shfmt != null, + shfmt ? null, + withPrettier ? nodePackages ? prettier, + nodePackages ? null, + withClangTools ? clang-tools != null, + clang-tools ? null, + withRustFmt ? rustfmt != null, + rustfmt ? null, + # batwatch + withEntr ? entr != null, + entr ? null, + # batdiff + gitMinimal, + withDelta ? delta != null, + delta ? null, + # batman + util-linux, }: let # Core derivation that all the others are based on. # This includes the complete source so the per-script derivations can run the tests. core = stdenv.mkDerivation rec { - pname = "bat-extras"; + pname = "bat-extras"; version = "2024.07.10"; src = fetchFromGitHub { - owner = "eth-p"; - repo = "bat-extras"; - rev = "v${version}"; - hash = "sha256-6IRAKSy5f/WcQZBcJKVSweTjHLznzdxhsyx074bXnUQ="; + owner = "eth-p"; + repo = "bat-extras"; + rev = "v${version}"; + hash = "sha256-6IRAKSy5f/WcQZBcJKVSweTjHLznzdxhsyx074bXnUQ="; fetchSubmodules = true; }; @@ -55,7 +66,11 @@ let # Run the library tests as they don't have external dependencies doCheck = true; - nativeCheckInputs = [ bash fish zsh ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]); + nativeCheckInputs = [ + bash + fish + zsh + ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]); checkPhase = '' runHook preCheck # test list repeats suites. Unique them @@ -84,10 +99,10 @@ let meta = with lib; { description = "Bash scripts that integrate bat with various command line tools"; - homepage = "https://github.com/eth-p/bat-extras"; - license = with licenses; [ mit ]; + homepage = "https://github.com/eth-p/bat-extras"; + license = with licenses; [ mit ]; maintainers = with maintainers; [ bbigras ]; - platforms = platforms.all; + platforms = platforms.all; }; }; script = @@ -112,23 +127,31 @@ let dontBuild = true; # we've already built doCheck = true; - nativeCheckInputs = [ bat bash fish zsh ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]); + nativeCheckInputs = [ + bat + bash + fish + zsh + ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ getconf ]); checkPhase = '' runHook preCheck bash ./test.sh --compiled --suite ${name} runHook postCheck ''; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - cp -p bin/${name} $out/bin/${name} - '' + lib.optionalString (dependencies != []) '' - wrapProgram $out/bin/${name} \ - --prefix PATH : ${lib.makeBinPath dependencies} - '' + '' - runHook postInstall - ''; + installPhase = + '' + runHook preInstall + mkdir -p $out/bin + cp -p bin/${name} $out/bin/${name} + '' + + lib.optionalString (dependencies != [ ]) '' + wrapProgram $out/bin/${name} \ + --prefix PATH : ${lib.makeBinPath dependencies} + '' + + '' + runHook postInstall + ''; # We already patched dontPatchShebangs = true; @@ -137,19 +160,39 @@ let mainProgram = name; }; }; - optionalDep = cond: dep: + optionalDep = + cond: dep: assert cond -> dep != null; lib.optional cond dep; in { - batdiff = script "batdiff" ([ less coreutils gitMinimal ] ++ optionalDep withDelta delta); - batgrep = script "batgrep" [ less coreutils ripgrep ]; + batdiff = script "batdiff" ( + [ + less + coreutils + gitMinimal + ] + ++ optionalDep withDelta delta + ); + batgrep = script "batgrep" [ + less + coreutils + ripgrep + ]; batman = script "batman" (lib.optionals stdenv.hostPlatform.isLinux [ util-linux ]); batpipe = script "batpipe" [ less ]; - batwatch = script "batwatch" ([ less coreutils ] ++ optionalDep withEntr entr); - prettybat = script "prettybat" ([] + batwatch = script "batwatch" ( + [ + less + coreutils + ] + ++ optionalDep withEntr entr + ); + prettybat = script "prettybat" ( + [ ] ++ optionalDep withShFmt shfmt ++ optionalDep withPrettier nodePackages.prettier ++ optionalDep withClangTools clang-tools - ++ optionalDep withRustFmt rustfmt); + ++ optionalDep withRustFmt rustfmt + ); } diff --git a/pkgs/tools/misc/birdfont/default.nix b/pkgs/tools/misc/birdfont/default.nix index 866d56b156ea0..5581175a65838 100644 --- a/pkgs/tools/misc/birdfont/default.nix +++ b/pkgs/tools/misc/birdfont/default.nix @@ -1,6 +1,24 @@ -{ lib, stdenv, fetchurl, pkg-config, python3, xmlbird, -cairo, gdk-pixbuf, libgee, glib, gtk3, webkitgtk_4_0, libnotify, sqlite, vala, -gobject-introspection, gsettings-desktop-schemas, wrapGAppsHook3, autoPatchelfHook }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + python3, + xmlbird, + cairo, + gdk-pixbuf, + libgee, + glib, + gtk3, + webkitgtk_4_0, + libnotify, + sqlite, + vala, + gobject-introspection, + gsettings-desktop-schemas, + wrapGAppsHook3, + autoPatchelfHook, +}: stdenv.mkDerivation rec { pname = "birdfont"; @@ -11,8 +29,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-NNw7203BtHhNyyQezb3/EP98cTsu7ABDFBnM5Ms2ePY="; }; - nativeBuildInputs = [ python3 pkg-config vala gobject-introspection wrapGAppsHook3 autoPatchelfHook ]; - buildInputs = [ xmlbird libgee cairo gdk-pixbuf glib gtk3 webkitgtk_4_0 libnotify sqlite gsettings-desktop-schemas ]; + nativeBuildInputs = [ + python3 + pkg-config + vala + gobject-introspection + wrapGAppsHook3 + autoPatchelfHook + ]; + buildInputs = [ + xmlbird + libgee + cairo + gdk-pixbuf + glib + gtk3 + webkitgtk_4_0 + libnotify + sqlite + gsettings-desktop-schemas + ]; postPatch = '' substituteInPlace install.py \ diff --git a/pkgs/tools/misc/birdfont/xmlbird.nix b/pkgs/tools/misc/birdfont/xmlbird.nix index 2fbdbcf777a5b..edfe0c80dda8b 100644 --- a/pkgs/tools/misc/birdfont/xmlbird.nix +++ b/pkgs/tools/misc/birdfont/xmlbird.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, python3, pkg-config, vala, glib, gobject-introspection }: +{ + lib, + stdenv, + fetchurl, + python3, + pkg-config, + vala, + glib, + gobject-introspection, +}: stdenv.mkDerivation rec { pname = "xmlbird"; @@ -9,7 +18,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-8GX4ijF+AxaGGFlSxRPOAoUezRG6592jOrifz/mWTRM="; }; - nativeBuildInputs = [ python3 pkg-config vala gobject-introspection ]; + nativeBuildInputs = [ + python3 + pkg-config + vala + gobject-introspection + ]; buildInputs = [ glib ]; diff --git a/pkgs/tools/misc/brotab/default.nix b/pkgs/tools/misc/brotab/default.nix index 9a58c83ae3030..8fe0143d92582 100644 --- a/pkgs/tools/misc/brotab/default.nix +++ b/pkgs/tools/misc/brotab/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, fetchpatch, python }: +{ + lib, + fetchFromGitHub, + fetchpatch, + python, +}: python.pkgs.buildPythonApplication rec { pname = "brotab"; diff --git a/pkgs/tools/misc/chafa/default.nix b/pkgs/tools/misc/chafa/default.nix index 334d970ce05cf..23954dc675966 100644 --- a/pkgs/tools/misc/chafa/default.nix +++ b/pkgs/tools/misc/chafa/default.nix @@ -1,6 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, which -, libxslt, libxml2, docbook_xml_dtd_412, docbook_xsl, glib, imagemagick -, Foundation +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + pkg-config, + which, + libxslt, + libxml2, + docbook_xml_dtd_412, + docbook_xsl, + glib, + imagemagick, + Foundation, }: stdenv.mkDerivation rec { @@ -14,19 +27,22 @@ stdenv.mkDerivation rec { sha256 = "sha256-9RkN0yZnHf5cx6tsp3P6jsi0/xtplWxMm3hYCPjWj0M="; }; - nativeBuildInputs = [ autoconf - automake - libtool - pkg-config - which - libxslt - libxml2 - docbook_xml_dtd_412 - docbook_xsl - ]; + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + which + libxslt + libxml2 + docbook_xml_dtd_412 + docbook_xsl + ]; - buildInputs = [ glib imagemagick ] - ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; + buildInputs = [ + glib + imagemagick + ] ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; patches = [ ./xmlcatalog_patch.patch ]; @@ -35,9 +51,10 @@ stdenv.mkDerivation rec { NOCONFIGURE=1 ./autogen.sh ''; - configureFlags = [ "--enable-man" - "--with-xml-catalog=${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml" - ]; + configureFlags = [ + "--enable-man" + "--with-xml-catalog=${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml" + ]; # https://github.com/NixOS/nixpkgs/pull/240893#issuecomment-1635347507 NIX_LDFLAGS = [ "-lwebp" ]; diff --git a/pkgs/tools/misc/chef-cli/default.nix b/pkgs/tools/misc/chef-cli/default.nix index 01a80de279568..dd273aff3d7f8 100644 --- a/pkgs/tools/misc/chef-cli/default.nix +++ b/pkgs/tools/misc/chef-cli/default.nix @@ -1,11 +1,16 @@ -{ lib, ruby, bundlerApp, bundlerUpdateScript }: +{ + lib, + ruby, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "chef-cli"; gemdir = ./.; inherit ruby; - exes = ["chef-cli"]; + exes = [ "chef-cli" ]; passthru.updateScript = bundlerUpdateScript "chef-cli"; diff --git a/pkgs/tools/misc/chef-cli/gemset.nix b/pkgs/tools/misc/chef-cli/gemset.nix index 7a99b18512451..31218a3f6a7c4 100644 --- a/pkgs/tools/misc/chef-cli/gemset.nix +++ b/pkgs/tools/misc/chef-cli/gemset.nix @@ -1,1127 +1,1324 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; type = "gem"; }; version = "2.8.4"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz"; type = "gem"; }; version = "1.2.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12n41py8jfxf9p3gy62ikw8n7wd0cmczk3i2fzxb4ms2xvkxv7b0"; type = "gem"; }; version = "1.749.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0732vv8zi67z25fss1sdvqx0vv1ap3w6hz1avxzwznkjp002vj39"; type = "gem"; }; version = "3.171.0"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v87zi28dfmrv7bv91yfldccnpd63n295siirbz7wqv1rajn8n02"; type = "gem"; }; version = "1.63.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mapdzm97rv22pca1hvvshwsafa12gd2yv2fcy63dfjn5vjjq893"; type = "gem"; }; version = "1.120.1"; }; aws-sdk-secretsmanager = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1907wr02afyq7vaig3hc858bipz9nmgf3aqb6kpbpxzf0qirf476"; type = "gem"; }; version = "1.73.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11hkna2av47bl0yprgp8k4ya70rc3m2ib5w10fn0piplgkkmhz7m"; type = "gem"; }; version = "1.5.2"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; type = "gem"; }; version = "3.2.4"; }; chef = { - dependencies = ["addressable" "aws-sdk-s3" "aws-sdk-secretsmanager" "chef-config" "chef-utils" "chef-vault" "chef-zero" "corefoundation" "diff-lcs" "erubis" "ffi" "ffi-libarchive" "ffi-yajl" "iniparse" "inspec-core" "license-acceptance" "mixlib-archive" "mixlib-authentication" "mixlib-cli" "mixlib-log" "mixlib-shellout" "net-sftp" "ohai" "plist" "proxifier" "syslog-logger" "train-core" "train-winrm" "uuidtools" "vault"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "aws-sdk-s3" + "aws-sdk-secretsmanager" + "chef-config" + "chef-utils" + "chef-vault" + "chef-zero" + "corefoundation" + "diff-lcs" + "erubis" + "ffi" + "ffi-libarchive" + "ffi-yajl" + "iniparse" + "inspec-core" + "license-acceptance" + "mixlib-archive" + "mixlib-authentication" + "mixlib-cli" + "mixlib-log" + "mixlib-shellout" + "net-sftp" + "ohai" + "plist" + "proxifier" + "syslog-logger" + "train-core" + "train-winrm" + "uuidtools" + "vault" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00vh6hrmglq4vfi5qvv42d9qhygnc5dfz32hrr07v7vbyhbqw8ck"; type = "gem"; }; version = "17.10.0"; }; chef-cli = { - dependencies = ["addressable" "chef" "cookbook-omnifetch" "diff-lcs" "ffi-yajl" "license-acceptance" "minitar" "mixlib-cli" "mixlib-shellout" "pastel" "solve"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "chef" + "cookbook-omnifetch" + "diff-lcs" + "ffi-yajl" + "license-acceptance" + "minitar" + "mixlib-cli" + "mixlib-shellout" + "pastel" + "solve" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1r6ig76j2gf9cc6hq1g9bpcyrv2dqki0x51ajsy0spyiinkfnvpx"; type = "gem"; }; version = "5.6.8"; }; chef-config = { - dependencies = ["addressable" "chef-utils" "fuzzyurl" "mixlib-config" "mixlib-shellout" "tomlrb"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "chef-utils" + "fuzzyurl" + "mixlib-config" + "mixlib-shellout" + "tomlrb" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0z72pwfb9n9zwjlk5g9mcy0jlmbq5f8mx60973k7fznif5k6zyrd"; type = "gem"; }; version = "17.10.0"; }; chef-telemetry = { - dependencies = ["chef-config" "concurrent-ruby"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "chef-config" + "concurrent-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0l9icc3nfdj28mip85vf31v5l60qsfqq3a5dscv7jryh1k94y05x"; type = "gem"; }; version = "1.1.1"; }; chef-utils = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aq212rz8lzv3rxdsgqgmn8ryy168cz3fxminwg5gm1qw1hnjp5m"; type = "gem"; }; version = "17.10.0"; }; chef-vault = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hnvngygbdpvpflls3png2312y1svh6k9wj7g5i084q4p72qv22i"; type = "gem"; }; version = "4.1.11"; }; chef-zero = { - dependencies = ["ffi-yajl" "hashie" "mixlib-log" "rack" "uuidtools" "webrick"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ffi-yajl" + "hashie" + "mixlib-log" + "rack" + "uuidtools" + "webrick" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l20bljvh0imfraxx3mbq08sf9rwxkbl7rl9rsjzfynz53ch2sv5"; type = "gem"; }; version = "15.0.11"; }; coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; type = "gem"; }; version = "1.2.2"; }; cookbook-omnifetch = { - dependencies = ["mixlib-archive"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mixlib-archive" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gqh66p6fxg438qpvc67s0y7ji9mvan6layyd7w9ljwva1snvy2n"; type = "gem"; }; version = "0.12.2"; }; corefoundation = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14rgy3d636l9zy7zmw04j7pjkf3bn41vx7kb265l4zhxrik7gh19"; type = "gem"; }; version = "0.3.13"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; type = "gem"; }; version = "1.3"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; type = "gem"; }; version = "1.12.0"; }; erubis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; type = "gem"; }; version = "2.7.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-net_http" + "faraday-net_http_persistent" + "multipart-post" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zmdsl6n05khwwq8gjssmfca0ifz6q82wwghf1qyzbxxjdna5mly"; type = "gem"; }; version = "1.4.3"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"; type = "gem"; }; version = "1.2.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; type = "gem"; }; version = "1.15.5"; }; ffi-libarchive = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gyxnsy5fm2pnqph0dhaivmn1pws9xwnb3wjqpx097m06lh1igj1"; type = "gem"; }; version = "1.1.3"; }; ffi-yajl = { - dependencies = ["libyajl2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "libyajl2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y2yg9ls3v9rjdq6pmdn57w43xhrf8rrg44s9pfsc2i8jdmmhizz"; type = "gem"; }; version = "2.4.0"; }; fuzzyurl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03qchs33vfwbsv5awxg3acfmlcrf5xbhnbrc83fdpamwya0glbjl"; type = "gem"; }; version = "0.9.0"; }; gssapi = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; type = "gem"; }; version = "1.3.1"; }; gyoku = { - dependencies = ["builder" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q"; type = "gem"; }; version = "1.4.0"; }; hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q"; type = "gem"; }; version = "4.1.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; iniparse = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n"; type = "gem"; }; version = "1.5.0"; }; inspec-core = { - dependencies = ["addressable" "chef-telemetry" "faraday" "faraday_middleware" "hashie" "license-acceptance" "method_source" "mixlib-log" "multipart-post" "parallel" "parslet" "pry" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "thor" "tomlrb" "train-core" "tty-prompt" "tty-table"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "chef-telemetry" + "faraday" + "faraday_middleware" + "hashie" + "license-acceptance" + "method_source" + "mixlib-log" + "multipart-post" + "parallel" + "parslet" + "pry" + "rspec" + "rspec-its" + "rubyzip" + "semverse" + "sslshake" + "thor" + "tomlrb" + "train-core" + "tty-prompt" + "tty-table" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mvngxv6v080z8is3clnkdrm499l2syqdd0nhc1gbnq4lwlh6ivy"; type = "gem"; }; version = "4.56.20"; }; ipaddress = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; type = "gem"; }; version = "0.8.3"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; type = "gem"; }; version = "2.6.3"; }; libyajl2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vx0mv0bbcy0qh3ik08b42vrq4kw1zg51121r18c0vvp4p3zcpda"; type = "gem"; }; version = "2.1.0"; }; license-acceptance = { - dependencies = ["pastel" "tomlrb" "tty-box" "tty-prompt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "tomlrb" + "tty-box" + "tty-prompt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12h5a3j57h50xkfpdz9gr42k0v8g1qxn2pnj5hbbzbmdhydjbjzf"; type = "gem"; }; version = "2.1.13"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "little-plugger" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zflchpx4g8c110gjdcs540bk5a336nq6nmx379rdg56xw0pjd02"; type = "gem"; }; version = "2.3.1"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; type = "gem"; }; version = "1.0.0"; }; minitar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13"; type = "gem"; }; version = "0.9"; }; mixlib-archive = { - dependencies = ["mixlib-log"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mixlib-log" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17vw0h8ag45608hvm02g43bkfvqy8l3lwk9lqj7b5kzdw6ynvn6a"; type = "gem"; }; version = "1.1.7"; }; mixlib-authentication = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07m6q8icjjzrv7k2vsjqmviswqv6cigc577hf48liy7b1i4l9gn5"; type = "gem"; }; version = "3.0.10"; }; mixlib-cli = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ydxlfgd7nnj3rp1y70k4yk96xz5cywldjii2zbnw3sq9pippwp6"; type = "gem"; }; version = "2.1.8"; }; mixlib-config = { - dependencies = ["tomlrb"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tomlrb" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j0122lv2qgccl61njqi0pj6sp6nb85y07gcmw16bwg4k0c8nx6p"; type = "gem"; }; version = "3.0.27"; }; mixlib-log = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n5dm5iz90ijvjn59jfm8gb8hgsvbj0f1kpzbl38b02z0z4a4v7x"; type = "gem"; }; version = "3.0.9"; }; mixlib-shellout = { - dependencies = ["chef-utils"]; - groups = ["default"]; - platforms = []; + dependencies = [ "chef-utils" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zkwg76y96nkh1mv0k92ybq46cr06v1wmic16129ls3yqzwx3xj6"; type = "gem"; }; version = "3.2.7"; }; molinillo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg"; type = "gem"; }; version = "0.8.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lgyysrpl50wgcb9ahg29i4p01z0irb3p9lirygma0kkfr5dgk9x"; type = "gem"; }; version = "2.3.0"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-sftp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y"; type = "gem"; }; version = "2.1.2"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687"; type = "gem"; }; version = "7.1.0"; }; nori = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"; type = "gem"; }; version = "2.6.0"; }; ohai = { - dependencies = ["chef-config" "chef-utils" "ffi" "ffi-yajl" "ipaddress" "mixlib-cli" "mixlib-config" "mixlib-log" "mixlib-shellout" "plist" "train-core" "wmi-lite"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "chef-config" + "chef-utils" + "ffi" + "ffi-yajl" + "ipaddress" + "mixlib-cli" + "mixlib-config" + "mixlib-log" + "mixlib-shellout" + "plist" + "train-core" + "wmi-lite" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ff5z3nzqk8ry32qiqfrr0zgm5vyaf21sj225faz8wqmxjvklsd2"; type = "gem"; }; version = "17.9.1"; }; parallel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597"; type = "gem"; }; version = "1.23.0"; }; parslet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12nrzfwjphjlakb9pmpj70hgjwgzvnr8i1zfzddifgyd44vspl88"; type = "gem"; }; version = "1.8.2"; }; pastel = { - dependencies = ["tty-color"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-color" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8"; type = "gem"; }; version = "0.8.0"; }; plist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wzhnbzraz60paxhm48c50fp9xi7cqka4gfhxmiq43mhgh5ajg3h"; type = "gem"; }; version = "3.7.0"; }; proxifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1abzlg39cfji1nx3i8kmb5k3anr2rd392yg2icms24wkqz9g9zj0"; type = "gem"; }; version = "1.0.3"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; type = "gem"; }; version = "0.14.2"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35"; type = "gem"; }; version = "5.0.1"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qgwkcb8kxns8d5187cxjaxf18b7dmg9gh6cr9c1125m0bj2pnfk"; type = "gem"; }; version = "2.2.6.4"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19dyb6rcvgi9j2mksd29wfdhfdyzqk7yjhy1ai77559hbhpg61w9"; type = "gem"; }; version = "3.11.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6"; type = "gem"; }; version = "3.11.0"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0l1bzk6a68i1b2qix83vs40r0pbjawv67hixiq2qxsja19bbq3bc"; type = "gem"; }; version = "3.11.1"; }; rspec-its = { - dependencies = ["rspec-core" "rspec-expectations"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15zafd70gxly5i0s00nky14sj2n92dnj3xpj83ysl3c2wx0119ad"; type = "gem"; }; version = "1.3.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vsqp9dij2rj9aapcn3sz7qzw0d8ln7x9p46h9rzd3jzb7his9kk"; type = "gem"; }; version = "3.11.2"; }; rspec-support = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c01iicvrjk6vv744jgh0y4kk9d0kg2rd2ihdyzvg5p06xm2fpzq"; type = "gem"; }; version = "3.11.1"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyntlm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv"; type = "gem"; }; version = "0.6.3"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; semverse = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrh6p0756n3gjnk6am1cc4kmw6wzzd02hcajj27rlsqg3p6lwn9"; type = "gem"; }; version = "3.0.2"; }; solve = { - dependencies = ["molinillo" "semverse"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "molinillo" + "semverse" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "059lrsf40rl5kclp1w8pb0fzz5sv8aikg073cwcvn5mndk14ayky"; type = "gem"; }; version = "4.0.4"; }; sslshake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r3ifksx8a05yqhv7nc4cwan8bwmxgq5kyv7q7hy2h9lv5zcjs8h"; type = "gem"; }; version = "1.3.1"; }; strings = { - dependencies = ["strings-ansi" "unicode-display_width" "unicode_utils"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "strings-ansi" + "unicode-display_width" + "unicode_utils" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yynb0qhhhplmpzavfrrlwdnd1rh7rkwzcs4xf0mpy2wr6rr6clk"; type = "gem"; }; version = "0.2.1"; }; strings-ansi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh"; type = "gem"; }; version = "0.2.0"; }; syslog-logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14y20phq1khdla4z9wvf98k7j3x6n0rjgs4f7vb0xlf7h53g6hbm"; type = "gem"; }; version = "1.6.8"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; type = "gem"; }; version = "1.2.1"; }; tomlrb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00x5y9h4fbvrv4xrjk4cqlkm4vq8gv73ax4alj3ac2x77zsnnrk8"; type = "gem"; }; version = "1.3.0"; }; train-core = { - dependencies = ["addressable" "ffi" "json" "mixlib-shellout" "net-scp" "net-ssh"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "ffi" + "json" + "mixlib-shellout" + "net-scp" + "net-ssh" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1f0yxh5mpr7rdn3660jf5iwc3rhv4l82dd9mhcrm6v85901rvj9c"; type = "gem"; }; version = "3.10.7"; }; train-winrm = { - dependencies = ["winrm" "winrm-elevated" "winrm-fs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "winrm" + "winrm-elevated" + "winrm-fs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07haiwh7jcg00mmiarj5g7k9kclq40yqd4j4r3c01qn2cq1sw2xb"; type = "gem"; }; version = "0.2.13"; }; tty-box = { - dependencies = ["pastel" "strings" "tty-cursor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "strings" + "tty-cursor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12yzhl3s165fl8pkfln6mi6mfy3vg7p63r3dvcgqfhyzq6h57x0p"; type = "gem"; }; version = "0.7.0"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g"; type = "gem"; }; version = "0.6.0"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-prompt = { - dependencies = ["pastel" "tty-reader"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "tty-reader" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw"; type = "gem"; }; version = "0.23.1"; }; tty-reader = { - dependencies = ["tty-cursor" "tty-screen" "wisper"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "tty-cursor" + "tty-screen" + "wisper" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6"; type = "gem"; }; version = "0.9.0"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; type = "gem"; }; version = "0.8.1"; }; tty-table = { - dependencies = ["pastel" "strings" "tty-screen"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "strings" + "tty-screen" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fcrbfb0hjd9vkkazkksri93dv9wgs2hp6p1xwb1lp43a13pmhpx"; type = "gem"; }; version = "0.12.0"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"; type = "gem"; }; version = "2.4.2"; }; unicode_utils = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr"; type = "gem"; }; version = "1.4.0"; }; uuidtools = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s8h35ia80p919kidb66nfp8904rhdmn41z9ghsx4ihp2ild3bn4"; type = "gem"; }; version = "2.2.0"; }; vault = { - dependencies = ["aws-sigv4"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-sigv4" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aanqvdppvqwd8z7iqpx01izm65kfx9f92j1y9g1ixirzc086jxg"; type = "gem"; }; version = "0.17.0"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r"; type = "gem"; }; version = "1.8.1"; }; winrm = { - dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "erubi" + "gssapi" + "gyoku" + "httpclient" + "logging" + "nori" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i"; type = "gem"; }; version = "2.3.6"; }; winrm-elevated = { - dependencies = ["erubi" "winrm" "winrm-fs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "winrm" + "winrm-fs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lmlaii8qapn84wxdg5d82gbailracgk67d0qsnbdnffcg8kswzd"; type = "gem"; }; version = "1.2.3"; }; winrm-fs = { - dependencies = ["erubi" "logging" "rubyzip" "winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "logging" + "rubyzip" + "winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d"; type = "gem"; }; version = "1.3.5"; }; wisper = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf"; type = "gem"; }; version = "2.0.1"; }; wmi-lite = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nnx4xz8g40dpi3ccqk5blj1ck06ydx09f9diksn1ghd8yxzavhi"; type = "gem"; }; diff --git a/pkgs/tools/misc/ckb-next/default.nix b/pkgs/tools/misc/ckb-next/default.nix index 6c077b227274f..f33ada649a344 100644 --- a/pkgs/tools/misc/ckb-next/default.nix +++ b/pkgs/tools/misc/ckb-next/default.nix @@ -1,6 +1,23 @@ -{ lib, wrapQtAppsHook, fetchFromGitHub, substituteAll, udev, stdenv -, pkg-config, qtbase, cmake, zlib, kmod, libXdmcp, qttools, qtx11extras, libdbusmenu, gnused -, withPulseaudio ? stdenv.hostPlatform.isLinux, libpulseaudio, quazip +{ + lib, + wrapQtAppsHook, + fetchFromGitHub, + substituteAll, + udev, + stdenv, + pkg-config, + qtbase, + cmake, + zlib, + kmod, + libXdmcp, + qttools, + qtx11extras, + libdbusmenu, + gnused, + withPulseaudio ? stdenv.hostPlatform.isLinux, + libpulseaudio, + quazip, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/misc/clipbuzz/default.nix b/pkgs/tools/misc/clipbuzz/default.nix index 1d4b614846a68..8b09430b52aeb 100644 --- a/pkgs/tools/misc/clipbuzz/default.nix +++ b/pkgs/tools/misc/clipbuzz/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchzip -, libX11 -, libXfixes -, zig +{ + lib, + stdenv, + fetchzip, + libX11, + libXfixes, + zig, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/misc/cmdpack/default.nix b/pkgs/tools/misc/cmdpack/default.nix index 22402098e6cdb..a40317ba248e7 100644 --- a/pkgs/tools/misc/cmdpack/default.nix +++ b/pkgs/tools/misc/cmdpack/default.nix @@ -1,40 +1,50 @@ -{ stdenv, lib, fetchurl }: +{ + stdenv, + lib, + fetchurl, +}: let - mkCmdPackDerivation = { pname, postInstall ? "", description }: stdenv.mkDerivation { - inherit pname postInstall; + mkCmdPackDerivation = + { + pname, + postInstall ? "", + description, + }: + stdenv.mkDerivation { + inherit pname postInstall; - version = "1.03"; + version = "1.03"; - src = fetchurl { - url = "https://web.archive.org/web/20140330233023/http://www.neillcorlett.com/downloads/cmdpack-1.03-src.tar.gz"; - sha256 = "0v0a9rpv59w8lsp1cs8f65568qj65kd9qp7854z1ivfxfpq0da2n"; - }; + src = fetchurl { + url = "https://web.archive.org/web/20140330233023/http://www.neillcorlett.com/downloads/cmdpack-1.03-src.tar.gz"; + sha256 = "0v0a9rpv59w8lsp1cs8f65568qj65kd9qp7854z1ivfxfpq0da2n"; + }; - buildPhase = '' - runHook preBuild + buildPhase = '' + runHook preBuild - $CC -o "$pname" "src/$pname.c" + $CC -o "$pname" "src/$pname.c" - runHook postBuild - ''; + runHook postBuild + ''; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - install -Dm555 -t "$out/bin" "$pname" + install -Dm555 -t "$out/bin" "$pname" - runHook postInstall - ''; + runHook postInstall + ''; - meta = with lib; { - inherit description; + meta = with lib; { + inherit description; - homepage = "https://web.archive.org/web/20140330233023/http://www.neillcorlett.com/cmdpack/"; - platforms = platforms.all; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ zane ]; + homepage = "https://web.archive.org/web/20140330233023/http://www.neillcorlett.com/cmdpack/"; + platforms = platforms.all; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ zane ]; + }; }; - }; in { bin2iso = mkCmdPackDerivation { diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix index 1c789ca1d11db..83535fb9d0333 100644 --- a/pkgs/tools/misc/contacts/default.nix +++ b/pkgs/tools/misc/contacts/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, xcbuildHook, Foundation, AddressBook }: +{ + lib, + stdenv, + fetchFromGitHub, + xcbuildHook, + Foundation, + AddressBook, +}: stdenv.mkDerivation { version = "1.1a-3"; @@ -17,7 +24,10 @@ stdenv.mkDerivation { ''; nativeBuildInputs = [ xcbuildHook ]; - buildInputs = [ Foundation AddressBook ]; + buildInputs = [ + Foundation + AddressBook + ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 5bbc3b9581ee8..d7ce076e8a85b 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -1,24 +1,31 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, buildPackages -, libiconv -, perl -, texinfo -, xz -, binlore -, coreutils -, gmpSupport ? true, gmp -, aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, acl -, attrSupport ? lib.meta.availableOn stdenv.hostPlatform attr, attr -, selinuxSupport ? false, libselinux, libsepol -# No openssl in default version, so openssl-induced rebuilds aren't too big. -# It makes *sum functions significantly faster. -, minimal ? true -, withOpenssl ? !minimal, openssl -, withPrefix ? false -, singleBinary ? "symlinks" # you can also pass "shebangs" or false +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + buildPackages, + libiconv, + perl, + texinfo, + xz, + binlore, + coreutils, + gmpSupport ? true, + gmp, + aclSupport ? lib.meta.availableOn stdenv.hostPlatform acl, + acl, + attrSupport ? lib.meta.availableOn stdenv.hostPlatform attr, + attr, + selinuxSupport ? false, + libselinux, + libsepol, + # No openssl in default version, so openssl-induced rebuilds aren't too big. + # It makes *sum functions significantly faster. + minimal ? true, + withOpenssl ? !minimal, + openssl, + withPrefix ? false, + singleBinary ? "symlinks", # you can also pass "shebangs" or false }: # Note: this package is used for bootstrapping fetchurl, and thus cannot use @@ -29,7 +36,14 @@ assert aclSupport -> acl != null; assert selinuxSupport -> libselinux != null && libsepol != null; let - inherit (lib) concatStringsSep isString optional optionalAttrs optionals optionalString; + inherit (lib) + concatStringsSep + isString + optional + optionalAttrs + optionals + optionalString + ; isCross = (stdenv.hostPlatform != stdenv.buildPlatform); in stdenv.mkDerivation rec { @@ -41,95 +55,112 @@ stdenv.mkDerivation rec { hash = "sha256-zTKO3qyS9qZl3p8yPJO3Eq8YWLwuDYjz9xAEaUcKG4o="; }; - patches = [ - # https://lists.gnu.org/archive/html/bug-coreutils/2024-05/msg00037.html - # This is not precisely the patch provided - this is a diff of the Makefile.in - # after the patch was applied and autoreconf was run, since adding autoreconf - # here causes infinite recursion. - ./fix-mix-flags-deps-libintl.patch - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ - # https://lists.gnu.org/archive/html/bug-coreutils/2024-03/msg00089.html - ./fix-test-failure-musl.patch - ]; + patches = + [ + # https://lists.gnu.org/archive/html/bug-coreutils/2024-05/msg00037.html + # This is not precisely the patch provided - this is a diff of the Makefile.in + # after the patch was applied and autoreconf was run, since adding autoreconf + # here causes infinite recursion. + ./fix-mix-flags-deps-libintl.patch + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + # https://lists.gnu.org/archive/html/bug-coreutils/2024-03/msg00089.html + ./fix-test-failure-musl.patch + ]; - postPatch = '' - # The test tends to fail on btrfs, f2fs and maybe other unusual filesystems. - sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh - sed '2i echo Skipping du threshold test && exit 77' -i ./tests/du/threshold.sh - sed '2i echo Skipping cp reflink-auto test && exit 77' -i ./tests/cp/reflink-auto.sh - sed '2i echo Skipping cp sparse test && exit 77' -i ./tests/cp/sparse.sh - sed '2i echo Skipping env test && exit 77' -i ./tests/env/env.sh - sed '2i echo Skipping rm deep-2 test && exit 77' -i ./tests/rm/deep-2.sh - sed '2i echo Skipping du long-from-unreadable test && exit 77' -i ./tests/du/long-from-unreadable.sh - - # The test tends to fail on cephfs - sed '2i echo Skipping df total-verify test && exit 77' -i ./tests/df/total-verify.sh - - # Some target platforms, especially when building inside a container have - # issues with the inotify test. - sed '2i echo Skipping tail inotify dir recreate test && exit 77' -i ./tests/tail/inotify-dir-recreate.sh - - # sandbox does not allow setgid - sed '2i echo Skipping chmod setgid test && exit 77' -i ./tests/chmod/setgid.sh - substituteInPlace ./tests/install/install-C.sh \ - --replace 'mode3=2755' 'mode3=1755' - - # Fails on systems with a rootfs. Looks like a bug in the test, see - # https://lists.gnu.org/archive/html/bug-coreutils/2019-12/msg00000.html - sed '2i print "Skipping df skip-rootfs test"; exit 77' -i ./tests/df/skip-rootfs.sh - - # these tests fail in the unprivileged nix sandbox (without nix-daemon) as we break posix assumptions - for f in ./tests/chgrp/{basic.sh,recurse.sh,default-no-deref.sh,no-x.sh,posix-H.sh}; do - sed '2i echo Skipping chgrp && exit 77' -i "$f" - done - for f in gnulib-tests/{test-chown.c,test-fchownat.c,test-lchown.c}; do - echo "int main() { return 77; }" > "$f" - done - - # We don't have localtime in the sandbox - for f in gnulib-tests/{test-localtime_r.c,test-localtime_r-mt.c}; do - echo "int main() { return 77; }" > "$f" - done - - # intermittent failures on builders, unknown reason - sed '2i echo Skipping du basic test && exit 77' -i ./tests/du/basic.sh - '' + (optionalString (stdenv.hostPlatform.libc == "musl") (concatStringsSep "\n" [ + postPatch = '' - echo "int main() { return 77; }" > gnulib-tests/test-parse-datetime.c - echo "int main() { return 77; }" > gnulib-tests/test-getlogin.c + # The test tends to fail on btrfs, f2fs and maybe other unusual filesystems. + sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh + sed '2i echo Skipping du threshold test && exit 77' -i ./tests/du/threshold.sh + sed '2i echo Skipping cp reflink-auto test && exit 77' -i ./tests/cp/reflink-auto.sh + sed '2i echo Skipping cp sparse test && exit 77' -i ./tests/cp/sparse.sh + sed '2i echo Skipping env test && exit 77' -i ./tests/env/env.sh + sed '2i echo Skipping rm deep-2 test && exit 77' -i ./tests/rm/deep-2.sh + sed '2i echo Skipping du long-from-unreadable test && exit 77' -i ./tests/du/long-from-unreadable.sh + + # The test tends to fail on cephfs + sed '2i echo Skipping df total-verify test && exit 77' -i ./tests/df/total-verify.sh + + # Some target platforms, especially when building inside a container have + # issues with the inotify test. + sed '2i echo Skipping tail inotify dir recreate test && exit 77' -i ./tests/tail/inotify-dir-recreate.sh + + # sandbox does not allow setgid + sed '2i echo Skipping chmod setgid test && exit 77' -i ./tests/chmod/setgid.sh + substituteInPlace ./tests/install/install-C.sh \ + --replace 'mode3=2755' 'mode3=1755' + + # Fails on systems with a rootfs. Looks like a bug in the test, see + # https://lists.gnu.org/archive/html/bug-coreutils/2019-12/msg00000.html + sed '2i print "Skipping df skip-rootfs test"; exit 77' -i ./tests/df/skip-rootfs.sh + + # these tests fail in the unprivileged nix sandbox (without nix-daemon) as we break posix assumptions + for f in ./tests/chgrp/{basic.sh,recurse.sh,default-no-deref.sh,no-x.sh,posix-H.sh}; do + sed '2i echo Skipping chgrp && exit 77' -i "$f" + done + for f in gnulib-tests/{test-chown.c,test-fchownat.c,test-lchown.c}; do + echo "int main() { return 77; }" > "$f" + done + + # We don't have localtime in the sandbox + for f in gnulib-tests/{test-localtime_r.c,test-localtime_r-mt.c}; do + echo "int main() { return 77; }" > "$f" + done + + # intermittent failures on builders, unknown reason + sed '2i echo Skipping du basic test && exit 77' -i ./tests/du/basic.sh '' - ])) + (optionalString stdenv.hostPlatform.isAarch64 '' - # Sometimes fails: https://github.com/NixOS/nixpkgs/pull/143097#issuecomment-954462584 - sed '2i echo Skipping cut huge range test && exit 77' -i ./tests/cut/cut-huge-range.sh - ''); + + (optionalString (stdenv.hostPlatform.libc == "musl") ( + concatStringsSep "\n" [ + '' + echo "int main() { return 77; }" > gnulib-tests/test-parse-datetime.c + echo "int main() { return 77; }" > gnulib-tests/test-getlogin.c + '' + ] + )) + + (optionalString stdenv.hostPlatform.isAarch64 '' + # Sometimes fails: https://github.com/NixOS/nixpkgs/pull/143097#issuecomment-954462584 + sed '2i echo Skipping cut huge range test && exit 77' -i ./tests/cut/cut-huge-range.sh + ''); - outputs = [ "out" "info" ]; + outputs = [ + "out" + "info" + ]; separateDebugInfo = true; - nativeBuildInputs = [ - perl - xz.bin - ] - ++ optionals stdenv.hostPlatform.isCygwin [ - # due to patch - autoreconfHook - texinfo - ]; + nativeBuildInputs = + [ + perl + xz.bin + ] + ++ optionals stdenv.hostPlatform.isCygwin [ + # due to patch + autoreconfHook + texinfo + ]; - buildInputs = [ ] + buildInputs = + [ ] ++ optional aclSupport acl ++ optional attrSupport attr ++ optional gmpSupport gmp ++ optional withOpenssl openssl - ++ optionals selinuxSupport [ libselinux libsepol ] + ++ optionals selinuxSupport [ + libselinux + libsepol + ] # TODO(@Ericson2314): Investigate whether Darwin could benefit too ++ optional (isCross && stdenv.hostPlatform.libc != "glibc") libiconv; hardeningDisable = [ "trivialautovarinit" ]; - configureFlags = [ "--with-packager=https://nixos.org" ] - ++ optional (singleBinary != false) - ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}") + configureFlags = + [ "--with-packager=https://nixos.org" ] + ++ optional (singleBinary != false) ( + "--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}" + ) ++ optional withOpenssl "--with-openssl" ++ optional stdenv.hostPlatform.isSunOS "ac_cv_func_inotify_init=no" ++ optional withPrefix "--program-prefix=g" @@ -152,7 +183,8 @@ stdenv.mkDerivation rec { # Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351), # and {Open,Free}BSD. # With non-standard storeDir: https://github.com/NixOS/nix/issues/512 - doCheck = (!isCross) + doCheck = + (!isCross) && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl") && !stdenv.hostPlatform.isAarch32; @@ -163,10 +195,12 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = optionalString selinuxSupport "-lsepol"; FORCE_UNSAFE_CONFIGURE = optionalString stdenv.hostPlatform.isSunOS "1"; - env.NIX_CFLAGS_COMPILE = toString ([] + env.NIX_CFLAGS_COMPILE = toString ( + [ ] # Work around a bogus warning in conjunction with musl. ++ optional stdenv.hostPlatform.isMusl "-Wno-error" - ++ optional stdenv.hostPlatform.isAndroid "-D__USE_FORTIFY_LEVEL=0"); + ++ optional stdenv.hostPlatform.isAndroid "-D__USE_FORTIFY_LEVEL=0" + ); # Works around a bug with 8.26: # Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually). Stop. @@ -174,34 +208,38 @@ stdenv.mkDerivation rec { sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${buildPackages.coreutils}/bin/install -c|' ''; - postInstall = optionalString (isCross && !minimal) '' - rm $out/share/man/man1/* - cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1 - '' - # du: 8.7 M locale + 0.4 M man pages - + optionalString minimal '' - rm -r "$out/share" - ''; - - passthru = {} // optionalAttrs (singleBinary != false) { - # everything in the single binary gets the same verdict, so we - # override _that case_ with verdicts from separate binaries. - # - # binlore only spots exec in runcon on some platforms (i.e., not - # darwin; see comment on inverse case below) - binlore.out = binlore.synthesize coreutils '' - execer can bin/{chroot,env,install,nice,nohup,runcon,sort,split,stdbuf,timeout} - execer cannot bin/{[,b2sum,base32,base64,basename,basenc,cat,chcon,chgrp,chmod,chown,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,expand,expr,factor,false,fmt,fold,groups,head,hostid,id,join,kill,link,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nl,nproc,numfmt,od,paste,pathchk,pinky,pr,printenv,printf,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stty,sum,sync,tac,tail,tee,test,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,uptime,users,vdir,wc,who,whoami,yes} - ''; - } // optionalAttrs (singleBinary == false) { - # binlore only spots exec in runcon on some platforms (i.e., not - # darwin; I have a note that the behavior may need selinux?). - # hard-set it so people working on macOS don't miss cases of - # runcon until ofBorg fails. - binlore.out = binlore.synthesize coreutils '' - execer can bin/runcon + postInstall = + optionalString (isCross && !minimal) '' + rm $out/share/man/man1/* + cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1 + '' + # du: 8.7 M locale + 0.4 M man pages + + optionalString minimal '' + rm -r "$out/share" ''; - }; + + passthru = + { } + // optionalAttrs (singleBinary != false) { + # everything in the single binary gets the same verdict, so we + # override _that case_ with verdicts from separate binaries. + # + # binlore only spots exec in runcon on some platforms (i.e., not + # darwin; see comment on inverse case below) + binlore.out = binlore.synthesize coreutils '' + execer can bin/{chroot,env,install,nice,nohup,runcon,sort,split,stdbuf,timeout} + execer cannot bin/{[,b2sum,base32,base64,basename,basenc,cat,chcon,chgrp,chmod,chown,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,expand,expr,factor,false,fmt,fold,groups,head,hostid,id,join,kill,link,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nl,nproc,numfmt,od,paste,pathchk,pinky,pr,printenv,printf,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stty,sum,sync,tac,tail,tee,test,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,uptime,users,vdir,wc,who,whoami,yes} + ''; + } + // optionalAttrs (singleBinary == false) { + # binlore only spots exec in runcon on some platforms (i.e., not + # darwin; I have a note that the behavior may need selinux?). + # hard-set it so people working on macOS don't miss cases of + # runcon until ofBorg fails. + binlore.out = binlore.synthesize coreutils '' + execer can bin/runcon + ''; + }; meta = with lib; { homepage = "https://www.gnu.org/software/coreutils/"; diff --git a/pkgs/tools/misc/cutecom/default.nix b/pkgs/tools/misc/cutecom/default.nix index 9ed7ef6295e6b..0fc665fbd739f 100644 --- a/pkgs/tools/misc/cutecom/default.nix +++ b/pkgs/tools/misc/cutecom/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, fetchFromGitLab, qtserialport, cmake, wrapQtAppsHook }: +{ + stdenv, + lib, + fetchFromGitLab, + qtserialport, + cmake, + wrapQtAppsHook, +}: stdenv.mkDerivation rec { pname = "cutecom"; @@ -17,17 +24,24 @@ stdenv.mkDerivation rec { ''; buildInputs = [ qtserialport ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; - postInstall = if stdenv.hostPlatform.isDarwin then '' - mkdir -p $out/Applications - '' else '' - cd .. - mkdir -p "$out"/share/{applications,icons/hicolor/scalable/apps,man/man1} - cp cutecom.desktop "$out/share/applications" - cp images/cutecom.svg "$out/share/icons/hicolor/scalable/apps" - cp cutecom.1 "$out/share/man/man1" - ''; + postInstall = + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + '' + else + '' + cd .. + mkdir -p "$out"/share/{applications,icons/hicolor/scalable/apps,man/man1} + cp cutecom.desktop "$out/share/applications" + cp images/cutecom.svg "$out/share/icons/hicolor/scalable/apps" + cp cutecom.1 "$out/share/man/man1" + ''; meta = with lib; { description = "Graphical serial terminal"; diff --git a/pkgs/tools/misc/depotdownloader/default.nix b/pkgs/tools/misc/depotdownloader/default.nix index 4c5874e844451..4dfd40a379d3c 100644 --- a/pkgs/tools/misc/depotdownloader/default.nix +++ b/pkgs/tools/misc/depotdownloader/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, }: buildDotnetModule rec { @@ -27,7 +28,12 @@ buildDotnetModule rec { changelog = "https://github.com/SteamRE/DepotDownloader/releases/tag/DepotDownloader_${version}"; license = licenses.gpl2Only; maintainers = [ maintainers.babbaj ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; mainProgram = "DepotDownloader"; }; } diff --git a/pkgs/tools/misc/depotdownloader/deps.nix b/pkgs/tools/misc/depotdownloader/deps.nix index a3ebb00b40445..192ace63817a4 100644 --- a/pkgs/tools/misc/depotdownloader/deps.nix +++ b/pkgs/tools/misc/depotdownloader/deps.nix @@ -1,19 +1,76 @@ # This file was automatically generated by passthru.fetch-deps. # Please dont edit it manually, your changes might get overwritten! -{ fetchNuGet }: [ - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; }) - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; }) - (fetchNuGet { pname = "Microsoft.Windows.CsWin32"; version = "0.3.106"; hash = "sha256-S1uQa684taPb6uh69784ebVpXoirMoX+pxBRA+Rrzlg="; }) - (fetchNuGet { pname = "Microsoft.Windows.SDK.Win32Docs"; version = "0.1.42-alpha"; hash = "sha256-6DvzmNzrGVfWmNJNqooj+Ya+7bAQlyeg7pmyKaUlIws="; }) - (fetchNuGet { pname = "Microsoft.Windows.SDK.Win32Metadata"; version = "60.0.34-preview"; hash = "sha256-KdRe73sXipzMvm2BLmwwBZGh+l9isZDC9l8WFyUR1zM="; }) - (fetchNuGet { pname = "Microsoft.Windows.WDK.Win32Metadata"; version = "0.11.4-experimental"; hash = "sha256-b3oKUKbr+3Udfl7RWzUY9BR/XWNsN+VmEkBxk6KiFo0="; }) - (fetchNuGet { pname = "protobuf-net"; version = "3.2.45"; hash = "sha256-rWitxe3uP3SOyoG1fwM5n00RpR5IL1V6u1zXMI0p0JA="; }) - (fetchNuGet { pname = "protobuf-net.Core"; version = "3.2.45"; hash = "sha256-bsMGUmd0yno8g0H0637jJboKJwyyHLHoHg45+bt9pLQ="; }) - (fetchNuGet { pname = "QRCoder"; version = "1.6.0"; hash = "sha256-2Ev/6d7PH6K4dVYQQHlZ+ZggkCnDtrlaGygs65mDo28="; }) - (fetchNuGet { pname = "SteamKit2"; version = "3.0.0"; hash = "sha256-bRRdX8WFo9k+QCZWh0KHb3TULpJxpR4Hg9FDXKBW6d4="; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; }) - (fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; }) - (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) +{ fetchNuGet }: +[ + (fetchNuGet { + pname = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; + }) + (fetchNuGet { + pname = "Microsoft.Win32.Registry"; + version = "5.0.0"; + hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; + }) + (fetchNuGet { + pname = "Microsoft.Windows.CsWin32"; + version = "0.3.106"; + hash = "sha256-S1uQa684taPb6uh69784ebVpXoirMoX+pxBRA+Rrzlg="; + }) + (fetchNuGet { + pname = "Microsoft.Windows.SDK.Win32Docs"; + version = "0.1.42-alpha"; + hash = "sha256-6DvzmNzrGVfWmNJNqooj+Ya+7bAQlyeg7pmyKaUlIws="; + }) + (fetchNuGet { + pname = "Microsoft.Windows.SDK.Win32Metadata"; + version = "60.0.34-preview"; + hash = "sha256-KdRe73sXipzMvm2BLmwwBZGh+l9isZDC9l8WFyUR1zM="; + }) + (fetchNuGet { + pname = "Microsoft.Windows.WDK.Win32Metadata"; + version = "0.11.4-experimental"; + hash = "sha256-b3oKUKbr+3Udfl7RWzUY9BR/XWNsN+VmEkBxk6KiFo0="; + }) + (fetchNuGet { + pname = "protobuf-net"; + version = "3.2.45"; + hash = "sha256-rWitxe3uP3SOyoG1fwM5n00RpR5IL1V6u1zXMI0p0JA="; + }) + (fetchNuGet { + pname = "protobuf-net.Core"; + version = "3.2.45"; + hash = "sha256-bsMGUmd0yno8g0H0637jJboKJwyyHLHoHg45+bt9pLQ="; + }) + (fetchNuGet { + pname = "QRCoder"; + version = "1.6.0"; + hash = "sha256-2Ev/6d7PH6K4dVYQQHlZ+ZggkCnDtrlaGygs65mDo28="; + }) + (fetchNuGet { + pname = "SteamKit2"; + version = "3.0.0"; + hash = "sha256-bRRdX8WFo9k+QCZWh0KHb3TULpJxpR4Hg9FDXKBW6d4="; + }) + (fetchNuGet { + pname = "System.Collections.Immutable"; + version = "7.0.0"; + hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; + }) + (fetchNuGet { + pname = "System.IO.Hashing"; + version = "8.0.0"; + hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; + }) + (fetchNuGet { + pname = "System.Security.AccessControl"; + version = "5.0.0"; + hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; + }) + (fetchNuGet { + pname = "System.Security.Principal.Windows"; + version = "5.0.0"; + hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; + }) ] diff --git a/pkgs/tools/misc/dialogbox/default.nix b/pkgs/tools/misc/dialogbox/default.nix index e6849fa843100..6287ed999ab24 100644 --- a/pkgs/tools/misc/dialogbox/default.nix +++ b/pkgs/tools/misc/dialogbox/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, mkDerivation -, fetchFromGitHub -, qmake -, qtbase +{ + stdenv, + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, }: mkDerivation rec { diff --git a/pkgs/tools/misc/didyoumean/default.nix b/pkgs/tools/misc/didyoumean/default.nix index 4f938d7455344..76d52622a839d 100644 --- a/pkgs/tools/misc/didyoumean/default.nix +++ b/pkgs/tools/misc/didyoumean/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, libxcb -, openssl +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + libxcb, + openssl, }: rustPlatform.buildRustPackage rec { @@ -21,11 +22,13 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-QERnohWpkJ0LWkdxHrY6gKxdGqxDkLla7jlG44laojk="; - nativeBuildInputs = [ - installShellFiles - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - pkg-config - ]; + nativeBuildInputs = + [ + installShellFiles + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pkg-config + ]; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxcb @@ -45,7 +48,10 @@ rustPlatform.buildRustPackage rec { description = "CLI spelling corrector for when you're unsure"; homepage = "https://github.com/hisbaan/didyoumean"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ evanjs wegank ]; + maintainers = with maintainers; [ + evanjs + wegank + ]; mainProgram = "dym"; }; } diff --git a/pkgs/tools/misc/dijo/default.nix b/pkgs/tools/misc/dijo/default.nix index 344faf84f60bd..9a4867971252a 100644 --- a/pkgs/tools/misc/dijo/default.nix +++ b/pkgs/tools/misc/dijo/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, ncurses, CoreServices }: +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + ncurses, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "dijo"; diff --git a/pkgs/tools/misc/diskus/default.nix b/pkgs/tools/misc/diskus/default.nix index 683da47d6af69..7063c11e409d3 100644 --- a/pkgs/tools/misc/diskus/default.nix +++ b/pkgs/tools/misc/diskus/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "diskus"; @@ -18,7 +24,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Minimal, fast alternative to 'du -sh'"; homepage = "https://github.com/sharkdp/diskus"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = [ maintainers.fuerbringer ]; platforms = platforms.unix; longDescription = '' diff --git a/pkgs/tools/misc/docker-sync/default.nix b/pkgs/tools/misc/docker-sync/default.nix index aa129c0a36dbd..0336a7b07e089 100644 --- a/pkgs/tools/misc/docker-sync/default.nix +++ b/pkgs/tools/misc/docker-sync/default.nix @@ -1,4 +1,9 @@ -{ lib, ruby, bundlerApp, bundlerUpdateScript }: +{ + lib, + ruby, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "docker-sync"; @@ -6,7 +11,7 @@ bundlerApp { inherit ruby; - exes = ["docker-sync"]; + exes = [ "docker-sync" ]; passthru.updateScript = bundlerUpdateScript "docker-sync"; @@ -14,7 +19,10 @@ bundlerApp { description = "Run your application at full speed while syncing your code for development"; homepage = "http://docker-sync.io"; license = licenses.gpl3; - maintainers = with maintainers; [ manveru nicknovitski ]; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; platforms = platforms.unix; mainProgram = "docker-sync"; }; diff --git a/pkgs/tools/misc/docker-sync/gemset.nix b/pkgs/tools/misc/docker-sync/gemset.nix index aef4d9928ab1c..db73c92ed3b5d 100644 --- a/pkgs/tools/misc/docker-sync/gemset.nix +++ b/pkgs/tools/misc/docker-sync/gemset.nix @@ -1,7 +1,7 @@ { backticks = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vr28l9vckavnrb9pnqrhcmnk3wsvvpas8jjh165w2rzv3sdkws5"; type = "gem"; }; @@ -9,25 +9,33 @@ }; daemons = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w"; type = "gem"; }; version = "1.3.1"; }; docker-compose = { - dependencies = ["backticks"]; + dependencies = [ "backticks" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00v3y182rmpq34dl91iprvhc50vw8hysy2h7iy3ihmmm9pgg71gc"; type = "gem"; }; version = "1.1.10"; }; docker-sync = { - dependencies = ["daemons" "docker-compose" "dotenv" "gem_update_checker" "os" "terminal-notifier" "thor"]; + dependencies = [ + "daemons" + "docker-compose" + "dotenv" + "gem_update_checker" + "os" + "terminal-notifier" + "thor" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrlcggj7k8w30b76f23p64yx4wg7p7mq9lp6lsnh2ysq9n3cjqg"; type = "gem"; }; @@ -35,7 +43,7 @@ }; dotenv = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rgl2kqhnxqbjvi9brbvb52iaq1z8yi0pl0bawk4fm6kl9igxr8f"; type = "gem"; }; @@ -43,7 +51,7 @@ }; gem_update_checker = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ckbz4q3q59kkv138n0cmsyida0wg45pwscxzf5vshxcrxhmq3x7"; type = "gem"; }; @@ -51,7 +59,7 @@ }; os = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk"; type = "gem"; }; @@ -59,7 +67,7 @@ }; terminal-notifier = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1slc0y8pjpw30hy21v8ypafi8r7z9jlj4bjbgz03b65b28i2n3bs"; type = "gem"; }; @@ -67,7 +75,7 @@ }; thor = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; type = "gem"; }; diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix index ea5a051c62b12..0d415bace1a22 100644 --- a/pkgs/tools/misc/dvtm/default.nix +++ b/pkgs/tools/misc/dvtm/default.nix @@ -1,4 +1,4 @@ -{callPackage, fetchurl}: +{ callPackage, fetchurl }: callPackage ./dvtm.nix rec { pname = "dvtm"; version = "0.15"; @@ -17,4 +17,3 @@ callPackage ./dvtm.nix rec { }) ]; } - diff --git a/pkgs/tools/misc/dvtm/dvtm.nix b/pkgs/tools/misc/dvtm/dvtm.nix index f4e36f271bab4..8bf1dd971d057 100644 --- a/pkgs/tools/misc/dvtm/dvtm.nix +++ b/pkgs/tools/misc/dvtm/dvtm.nix @@ -1,7 +1,21 @@ -{ lib, stdenv, ncurses, customConfig ? null, pname, version, src, patches ? [] }: +{ + lib, + stdenv, + ncurses, + customConfig ? null, + pname, + version, + src, + patches ? [ ], +}: stdenv.mkDerivation { - inherit pname version src patches; + inherit + pname + version + src + patches + ; CFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-D_DARWIN_C_SOURCE"; diff --git a/pkgs/tools/misc/dvtm/unstable.nix b/pkgs/tools/misc/dvtm/unstable.nix index 4008407f28fa5..dbb4d37a49daf 100644 --- a/pkgs/tools/misc/dvtm/unstable.nix +++ b/pkgs/tools/misc/dvtm/unstable.nix @@ -1,4 +1,8 @@ -{ callPackage, fetchpatch, fetchzip }: +{ + callPackage, + fetchpatch, + fetchzip, +}: let rev = "7bcf43f8dbd5c4a67ec573a1248114caa75fa3c2"; diff --git a/pkgs/tools/misc/eludris/default.nix b/pkgs/tools/misc/eludris/default.nix index a2dfd52d18cf8..19def0a87cbe0 100644 --- a/pkgs/tools/misc/eludris/default.nix +++ b/pkgs/tools/misc/eludris/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, openssl -, pkg-config +{ + lib, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/misc/envchain/default.nix b/pkgs/tools/misc/envchain/default.nix index 22a0075363994..cfbc7b343d1b3 100644 --- a/pkgs/tools/misc/envchain/default.nix +++ b/pkgs/tools/misc/envchain/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, libedit, libsecret, ncurses, pkg-config, readline, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + libedit, + libsecret, + ncurses, + pkg-config, + readline, + Security, +}: stdenv.mkDerivation rec { pname = "envchain"; @@ -17,8 +27,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libsecret readline ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libedit ncurses Security ]; + buildInputs = + [ + libsecret + readline + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libedit + ncurses + Security + ]; makeFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix index 94b012aa366fe..23747aed37876 100644 --- a/pkgs/tools/misc/esphome/dashboard.nix +++ b/pkgs/tools/misc/esphome/dashboard.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, fetchNpmDeps - -# build-system -, setuptools -, nodejs -, npmHooks +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchNpmDeps, + + # build-system + setuptools, + nodejs, + npmHooks, }: diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix index 5b6044681ed8a..7d5876fa4666f 100644 --- a/pkgs/tools/misc/esphome/default.nix +++ b/pkgs/tools/misc/esphome/default.nix @@ -1,14 +1,15 @@ -{ lib -, callPackage -, python3Packages -, fetchFromGitHub -, installShellFiles -, platformio -, esptool -, git -, inetutils -, stdenv -, nixosTests +{ + lib, + callPackage, + python3Packages, + fetchFromGitHub, + installShellFiles, + platformio, + esptool, + git, + inetutils, + stdenv, + nixosTests, }: let @@ -102,7 +103,14 @@ python.pkgs.buildPythonApplication rec { # esptool is used in esphome/__main__.py # git is used in esphome/writer.py # inetutils is used in esphome/dashboard/status/ping.py - "--prefix PATH : ${lib.makeBinPath [ platformio esptool git inetutils ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + platformio + esptool + git + inetutils + ] + }" "--prefix PYTHONPATH : ${python.pkgs.makePythonPath dependencies}" # will show better error messages "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc ]}" "--set ESPHOME_USE_SUBPROCESS ''" @@ -151,7 +159,10 @@ python.pkgs.buildPythonApplication rec { mit # The C++/runtime codebase of the ESPHome project (file extensions .c, .cpp, .h, .hpp, .tcc, .ino) gpl3Only # The python codebase and all other parts of this codebase ]; - maintainers = with maintainers; [ globin hexa ]; + maintainers = with maintainers; [ + globin + hexa + ]; mainProgram = "esphome"; }; } diff --git a/pkgs/tools/misc/esphome/update.nix b/pkgs/tools/misc/esphome/update.nix index 6b05162f3955f..7d264259ebf94 100644 --- a/pkgs/tools/misc/esphome/update.nix +++ b/pkgs/tools/misc/esphome/update.nix @@ -1,15 +1,25 @@ -{ writeShellScript -, lib -, curl -, jq -, git -, gnugrep -, gnused -, nix-update +{ + writeShellScript, + lib, + curl, + jq, + git, + gnugrep, + gnused, + nix-update, }: writeShellScript "update-esphome" '' - PATH=${lib.makeBinPath [ curl gnugrep gnused jq git nix-update ]} + PATH=${ + lib.makeBinPath [ + curl + gnugrep + gnused + jq + git + nix-update + ] + } LATEST=$(curl https://api.github.com/repos/esphome/esphome/releases/latest | jq -r '.name') echo "Latest version: $LATEST" diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix index f7a70b966acf6..01948b1ba5660 100644 --- a/pkgs/tools/misc/fclones/default.nix +++ b/pkgs/tools/misc/fclones/default.nix @@ -1,8 +1,9 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -35,7 +36,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/pkolaczk/fclones"; changelog = "https://github.com/pkolaczk/fclones/releases/tag/${src.rev}"; license = licenses.mit; - maintainers = with maintainers; [ cyounkins figsoda ]; + maintainers = with maintainers; [ + cyounkins + figsoda + ]; mainProgram = "fclones"; }; } diff --git a/pkgs/tools/misc/fclones/gui.nix b/pkgs/tools/misc/fclones/gui.nix index e5e611336439e..38eae30a59b20 100644 --- a/pkgs/tools/misc/fclones/gui.nix +++ b/pkgs/tools/misc/fclones/gui.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, wrapGAppsHook4 -, gdk-pixbuf -, gtk4 -, libadwaita -, stdenv -, darwin +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + wrapGAppsHook4, + gdk-pixbuf, + gtk4, + libadwaita, + stdenv, + darwin, }: rustPlatform.buildRustPackage rec { @@ -28,13 +29,15 @@ rustPlatform.buildRustPackage rec { wrapGAppsHook4 ]; - buildInputs = [ - gdk-pixbuf - gtk4 - libadwaita - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk_11_0.frameworks.IOKit - ]; + buildInputs = + [ + gdk-pixbuf + gtk4 + libadwaita + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk_11_0.frameworks.IOKit + ]; postInstall = '' substituteInPlace snap/gui/fclones-gui.desktop \ diff --git a/pkgs/tools/misc/fffuu/default.nix b/pkgs/tools/misc/fffuu/default.nix index 53f8397a6d450..2b6172d852fc3 100644 --- a/pkgs/tools/misc/fffuu/default.nix +++ b/pkgs/tools/misc/fffuu/default.nix @@ -1,4 +1,9 @@ -{ mkDerivation, haskellPackages, fetchFromGitHub, lib }: +{ + mkDerivation, + haskellPackages, + fetchFromGitHub, + lib, +}: mkDerivation { pname = "fffuu"; diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix index c24650d4ffbc9..f2de570ff6065 100644 --- a/pkgs/tools/misc/ffsend/default.nix +++ b/pkgs/tools/misc/ffsend/default.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchFromGitLab, fetchpatch, rustPlatform, pkg-config, openssl -, installShellFiles -, Security, AppKit +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + rustPlatform, + pkg-config, + openssl, + installShellFiles, + Security, + AppKit, -, x11Support ? stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isBSD -, xclip ? null, xsel ? null -, preferXsel ? false # if true and xsel is non-null, use it instead of xclip + x11Support ? stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isBSD, + xclip ? null, + xsel ? null, + preferXsel ? false, # if true and xsel is non-null, use it instead of xclip }: let @@ -57,18 +66,27 @@ rustPlatform.buildRustPackage rec { }) ]; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; + nativeBuildInputs = [ + installShellFiles + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; buildInputs = - if stdenv.hostPlatform.isDarwin then [ Security AppKit ] - else [ openssl ]; + if stdenv.hostPlatform.isDarwin then + [ + Security + AppKit + ] + else + [ openssl ]; preBuild = lib.optionalString (x11Support && usesX11) ( - if preferXsel && xsel != null then '' - export XSEL_PATH="${xsel}/bin/xsel" - '' else '' - export XCLIP_PATH="${xclip}/bin/xclip" - '' + if preferXsel && xsel != null then + '' + export XSEL_PATH="${xsel}/bin/xsel" + '' + else + '' + export XCLIP_PATH="${xclip}/bin/xclip" + '' ); postInstall = '' diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index f0bc89d466f52..6213406244270 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -1,6 +1,12 @@ -{ lib, stdenv, fetchurl, file, zlib, libgnurx -, updateAutotoolsGnuConfigScriptsHook -, testers +{ + lib, + stdenv, + fetchurl, + file, + zlib, + libgnurx, + updateAutotoolsGnuConfigScriptsHook, + testers, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -20,7 +26,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-/Jf1ECm7DiyfTjv/79r2ePDgOe6HK53lwAKm0Jx4TYI="; }; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; patches = [ # Upstream patch to fix 32-bit tests. @@ -31,10 +41,10 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; enableParallelBuilding = true; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file; - buildInputs = [ zlib ] - ++ lib.optional stdenv.hostPlatform.isWindows libgnurx; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file; + buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isWindows libgnurx; # https://bugs.astron.com/view.php?id=382 doCheck = !stdenv.buildPlatform.isMusl; diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index 239aa98b04e04..e7d4f5bbd34de 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -1,6 +1,9 @@ -{ lib, stdenv, fetchurl -, updateAutotoolsGnuConfigScriptsHook -, coreutils +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + coreutils, }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -27,14 +30,18 @@ stdenv.mkDerivation rec { buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort # Since glibc-2.25 the i686 tests hang reliably right after test-sleep. - doCheck - = !stdenv.hostPlatform.isDarwin + doCheck = + !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD && !(stdenv.hostPlatform.libc == "glibc" && stdenv.hostPlatform.isi686) && (stdenv.hostPlatform.libc != "musl") && stdenv.hostPlatform == stdenv.buildPlatform; - outputs = [ "out" "info" "locate"]; + outputs = [ + "out" + "info" + "locate" + ]; configureFlags = [ # "sort" need not be on the PATH as a run-time dep, so we need to tell diff --git a/pkgs/tools/misc/flowgger/default.nix b/pkgs/tools/misc/flowgger/default.nix index 1cff8298ca9be..0ad0f183b5409 100644 --- a/pkgs/tools/misc/flowgger/default.nix +++ b/pkgs/tools/misc/flowgger/default.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, stdenv -, fetchCrate -, pkg-config -, openssl -, capnproto -, CoreServices +{ + lib, + rustPlatform, + stdenv, + fetchCrate, + pkg-config, + openssl, + capnproto, + CoreServices, }: rustPlatform.buildRustPackage rec { @@ -24,8 +25,7 @@ rustPlatform.buildRustPackage rec { capnproto ]; - buildInputs = [ openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin CoreServices; + buildInputs = [ openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin CoreServices; checkFlags = [ # test failed diff --git a/pkgs/tools/misc/fltrdr/default.nix b/pkgs/tools/misc/fltrdr/default.nix index db7cd2afffced..f70e9a5a25836 100644 --- a/pkgs/tools/misc/fltrdr/default.nix +++ b/pkgs/tools/misc/fltrdr/default.nix @@ -1,7 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, cmake -, icu, openssl +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + icu, + openssl, }: stdenv.mkDerivation rec { @@ -9,15 +12,18 @@ stdenv.mkDerivation rec { version = "0.3.1"; src = fetchFromGitHub { - repo = "fltrdr"; - owner = "octobanana"; - rev = version; + repo = "fltrdr"; + owner = "octobanana"; + rev = version; sha256 = "1vpci7vqzcpdd21zgigyz38k77r9fc81dmiwsvfr8w7gad5sg6sj"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ icu openssl ]; + buildInputs = [ + icu + openssl + ]; meta = with lib; { homepage = "https://octobanana.com/software/fltrdr"; @@ -33,8 +39,8 @@ stdenv.mkDerivation rec { setting. ''; - platforms = platforms.linux; # can only test linux - license = licenses.mit; + platforms = platforms.linux; # can only test linux + license = licenses.mit; maintainers = [ maintainers.matthiasbeyer ]; mainProgram = "fltrdr"; }; diff --git a/pkgs/tools/misc/fluentd/default.nix b/pkgs/tools/misc/fluentd/default.nix index de21fe7dadefd..e87f69408ac83 100644 --- a/pkgs/tools/misc/fluentd/default.nix +++ b/pkgs/tools/misc/fluentd/default.nix @@ -1,4 +1,10 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript, nixosTests }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, + nixosTests, +}: bundlerEnv { inherit ruby; @@ -11,9 +17,12 @@ bundlerEnv { meta = with lib; { description = "Data collector"; - homepage = "https://www.fluentd.org/"; - license = licenses.asl20; - maintainers = with maintainers; [ offline nicknovitski ]; - platforms = platforms.unix; + homepage = "https://www.fluentd.org/"; + license = licenses.asl20; + maintainers = with maintainers; [ + offline + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/fluentd/gemset.nix b/pkgs/tools/misc/fluentd/gemset.nix index 16417bb0e4e97..2f0bfad5d870d 100644 --- a/pkgs/tools/misc/fluentd/gemset.nix +++ b/pkgs/tools/misc/fluentd/gemset.nix @@ -1,683 +1,782 @@ { mini_portile2 = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6"; type = "gem"; }; version = "2.8.2"; }; racc = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq"; type = "gem"; }; version = "1.6.2"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mr2ibfk874ncv0qbdkynay738w2mfinlkhnbd5lyk5yiw5q1p10"; type = "gem"; }; version = "1.15.2"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw"; type = "gem"; }; version = "2.8.1"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz"; type = "gem"; }; version = "1.2.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c6w07lm5ssn0v06sh90g3swqb42ma65pfz0qlk3hqlj1fs5zd9b"; type = "gem"; }; version = "1.677.0"; }; aws-sdk-cloudwatchlogs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0yhwbr3g9brh7g8vjxygfvhlc9sa04g5bzyhkdcdkl7faqpy93z3"; type = "gem"; }; version = "1.58.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath" "nokogiri"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "131acgw2hi893n0dfbczs42bkc41afhyrmd9w8zx5y8r1k5zd6rc"; type = "gem"; }; version = "3.168.4"; }; aws-sdk-firehose = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02lznpqdmla1i5ilxn6kkbdwasl2w4m9ml09whig9wwrlwjfkdnm"; type = "gem"; }; version = "1.50.0"; }; aws-sdk-kinesis = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n6jdkcyh9cm4f15zmmgpzwxbal5dg2w17xcm65d1gf9dwajsjda"; type = "gem"; }; version = "1.42.0"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ajp7yvnf95d60xmg618xznfwsy8h1vrkzj33r1bsf2gsfp50vzy"; type = "gem"; }; version = "1.61.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xpb8c8zw1c0grbw1rcc0ynlys1301vm9kkqy4ls3i2zqk5v6n91"; type = "gem"; }; version = "1.117.2"; }; aws-sdk-sqs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hirj20g7nnyf0xhxwvgfl12nypm1r5id16ccc8y1rbasclxs897"; type = "gem"; }; version = "1.52.1"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11hkna2av47bl0yprgp8k4ya70rc3m2ib5w10fn0piplgkkmhz7m"; type = "gem"; }; version = "1.5.2"; }; bson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19vgs9rzzyvd7jfrzynjnc6518q0ffpfciyicfywbp77zl8nc9hk"; type = "gem"; }; version = "4.15.0"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14"; type = "gem"; }; version = "1.1.10"; }; "cool.io" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dfq4h168wzvs9cvn2mm8648ynkl936pgjva2p8ik34p6d620537"; type = "gem"; }; version = "1.7.1"; }; digest-crc = { - dependencies = ["rake"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rake" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1czaak53w8n13y1fr0q23gp0fhklvxjac5n562qj3xk6sh5ad0x2"; type = "gem"; }; version = "0.6.4"; }; elastic-transport = { - dependencies = ["faraday" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0w5l26fwyby8pjcyyap015q5lxc619j8ig6af5slbp9l2x7kjaby"; type = "gem"; }; version = "8.1.0"; }; elasticsearch = { - dependencies = ["elastic-transport" "elasticsearch-api"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "elastic-transport" + "elasticsearch-api" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mwrf667p3n0xdashlk3m66a7vcqsg4vnr5icm7jgdd71qr4yvds"; type = "gem"; }; version = "8.5.2"; }; elasticsearch-api = { - dependencies = ["multi_json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multi_json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "138s5rcy5j63sjf6k8av8gaxn46nh8nf1bwxyxfygyy3q2q9m4vs"; type = "gem"; }; version = "8.5.2"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08idrrnpwzr87wc5yhyv6id1f6zigr3nfn45mff01605b0zghdby"; type = "gem"; }; version = "0.95.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1d5ipsv069dhgv9zhxgj8pz4j52yhgvfm01aq881yz7qgjd7ilxp"; type = "gem"; }; version = "1.10.2"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; fluent-config-regexp-type = { - dependencies = ["fluentd"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fluentd" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hk0vxcmlbid7n6piyv3x83j5gyiz7in397l9x3c6nh69wicy7gm"; type = "gem"; }; version = "1.0.0"; }; fluent-plugin-cloudwatch-logs = { - dependencies = ["aws-sdk-cloudwatchlogs" "fluentd"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-cloudwatchlogs" + "fluentd" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "139d7qv4my818mhjp0104ns9dlndlvrb6dgxa2rkv6jlzlamjpjb"; type = "gem"; }; version = "0.14.3"; }; fluent-plugin-concat = { - dependencies = ["fluentd"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fluentd" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b9z6hrjcsvccfimmgczzcbhvf2zwyqzvsdc29i2biqhk1mcwn3k"; type = "gem"; }; version = "2.5.0"; }; fluent-plugin-elasticsearch = { - dependencies = ["elasticsearch" "excon" "faraday" "fluentd"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "elasticsearch" + "excon" + "faraday" + "fluentd" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "136nsmi15vcn0var59j1vqkysvmcp7y8fva25gkcx3hx1l92bxwh"; type = "gem"; }; version = "5.2.4"; }; fluent-plugin-kafka = { - dependencies = ["fluentd" "ltsv" "ruby-kafka"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fluentd" + "ltsv" + "ruby-kafka" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ggiq89brahyamnw4sn4pmfqsw8xjz2k9k9hajsjlzkm9djppdwf"; type = "gem"; }; version = "0.18.1"; }; fluent-plugin-kinesis = { - dependencies = ["aws-sdk-firehose" "aws-sdk-kinesis" "fluentd" "google-protobuf"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-firehose" + "aws-sdk-kinesis" + "fluentd" + "google-protobuf" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07n5pzfz143hlvbzbx5rczb33ai9kdp48vhdak100m6xpaqkvc2p"; type = "gem"; }; version = "3.4.2"; }; fluent-plugin-mongo = { - dependencies = ["fluentd" "mongo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fluentd" + "mongo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1m3fa6fwpzxw08lnczsif5c7v33yryyvgb1lbp7a7qjhipvb6jfm"; type = "gem"; }; version = "1.6.0"; }; fluent-plugin-record-reformer = { - dependencies = ["fluentd"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fluentd" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gwfrfyi9is4l9q4ih3c4l3c9qvyh00jnd2qajdpdh5xjj2m7akn"; type = "gem"; }; version = "0.9.1"; }; fluent-plugin-rewrite-tag-filter = { - dependencies = ["fluent-config-regexp-type" "fluentd"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fluent-config-regexp-type" + "fluentd" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1vjvn8ph87cl2dl0dbaap69rciglsdma1y5ghn2vm5mvh5h7xbs6"; type = "gem"; }; version = "2.4.0"; }; fluent-plugin-s3 = { - dependencies = ["aws-sdk-s3" "aws-sdk-sqs" "fluentd"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-s3" + "aws-sdk-sqs" + "fluentd" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04yvxhynjqm35dycrxqwfw9r7mv6ycyda1wvki27z5hpsdy57b1m"; type = "gem"; }; version = "1.7.2"; }; fluent-plugin-webhdfs = { - dependencies = ["fluentd" "webhdfs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fluentd" + "webhdfs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1llpsbd5n2lgxbq16px5hbp3zfw65bdp46b08v87b6rmn3h47aiv"; type = "gem"; }; version = "1.5.0"; }; fluentd = { - dependencies = ["cool.io" "http_parser.rb" "msgpack" "serverengine" "sigdump" "strptime" "tzinfo" "tzinfo-data" "webrick" "yajl-ruby"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cool.io" + "http_parser.rb" + "msgpack" + "serverengine" + "sigdump" + "strptime" + "tzinfo" + "tzinfo-data" + "webrick" + "yajl-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jn1i14zaw2pf4j6i7g7cj0h8j94wrcbn0an8w44h7g5mazl98nn"; type = "gem"; }; version = "1.15.3"; }; google-protobuf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dcgkhjiaxha3yznyxxzm8a4n4jf61rk7kgbxy4sdkb865zbn2ab"; type = "gem"; }; version = "3.21.12"; }; "http_parser.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gj4fmls0mf52dlr928gaq0c0cb0m3aqa9kaa6l0ikl2zbqk42as"; type = "gem"; }; version = "0.8.0"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; ltsv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wrjvc5079zhpn62k1yflrf7js6vaysrg1qwggf7bj2zi0p5rhys"; type = "gem"; }; version = "0.1.2"; }; mongo = { - dependencies = ["bson"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bson" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ldpcyqhgvdn7rd1vdbv2n3xnr6ajw7964yb9gr44nv7z35fd7kn"; type = "gem"; }; version = "2.18.2"; }; msgpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q03pb0vq8388s431nbxabsfxnch6p304c8vnjlk0zzpcv713yr3"; type = "gem"; }; version = "1.6.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n0kvnrcrjn31jb97kcx3wj1f5kkjza7yygfq8rxzf3i57g7jaa6"; type = "gem"; }; version = "2.2.3"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35"; type = "gem"; }; version = "5.0.1"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; ruby-kafka = { - dependencies = ["digest-crc"]; - groups = ["default"]; - platforms = []; + dependencies = [ "digest-crc" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13i3fvjy0n1n1aa71b30nwx2xchhsps3yhi17r0s6ay7wr26jr7p"; type = "gem"; }; version = "1.5.0"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; serverengine = { - dependencies = ["sigdump"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sigdump" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1snxfmkmmxpdica8629gdl6qj3xradcx787ccvhfa90gh8wyfqqj"; type = "gem"; }; version = "2.3.0"; }; sigdump = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mqf06iw7rymv54y7rgbmfi6ppddgjjmxzi3hrw658n1amp1gwhb"; type = "gem"; }; version = "0.2.4"; }; strptime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ycs0xz58kymf7yp4h56f0nid2z7g3s18dj7pa3p790pfzzpgvcq"; type = "gem"; }; version = "0.2.5"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5"; type = "gem"; }; version = "2.0.5"; }; tzinfo-data = { - dependencies = ["tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0drm9pygji01pyimxq65ngdvgpn228g7fhffmrqw0xn7l2rdhclp"; type = "gem"; }; version = "1.2022.7"; }; webhdfs = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pkdsj8ybjfp1sr7gzdxd7van5fpmhc9v2c5g3hifdx4s4yzhcq7"; type = "gem"; }; version = "0.10.2"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7"; type = "gem"; }; version = "1.7.0"; }; yajl-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc"; type = "gem"; }; diff --git a/pkgs/tools/misc/fondu/default.nix b/pkgs/tools/misc/fondu/default.nix index fe6ab396d139d..d51d09a469cad 100644 --- a/pkgs/tools/misc/fondu/default.nix +++ b/pkgs/tools/misc/fondu/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, CoreServices }: +{ + lib, + stdenv, + fetchurl, + CoreServices, +}: stdenv.mkDerivation rec { version = "060102"; diff --git a/pkgs/tools/misc/freshfetch/default.nix b/pkgs/tools/misc/freshfetch/default.nix index ccbaa1f1bfa8c..a8e327120484c 100644 --- a/pkgs/tools/misc/freshfetch/default.nix +++ b/pkgs/tools/misc/freshfetch/default.nix @@ -1,12 +1,13 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, AppKit -, CoreFoundation -, DiskArbitration -, Foundation -, IOKit +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + AppKit, + CoreFoundation, + DiskArbitration, + Foundation, + IOKit, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix index 7740cbb32f568..1c68448b9729e 100644 --- a/pkgs/tools/misc/fwup/default.nix +++ b/pkgs/tools/misc/fwup/default.nix @@ -1,22 +1,23 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, DiskArbitration -, pkg-config -, bzip2 -, libarchive -, libconfuse -, libsodium -, xz -, zlib -, coreutils -, dosfstools -, mtools -, unzip -, zip -, which -, xdelta +{ + stdenv, + lib, + fetchFromGitHub, + autoreconfHook, + DiskArbitration, + pkg-config, + bzip2, + libarchive, + libconfuse, + libsodium, + xz, + zlib, + coreutils, + dosfstools, + mtools, + unzip, + zip, + which, + xdelta, }: stdenv.mkDerivation rec { @@ -35,25 +36,29 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - bzip2 - libarchive - libconfuse - libsodium - xz - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - DiskArbitration - ]; + buildInputs = + [ + bzip2 + libarchive + libconfuse + libsodium + xz + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + DiskArbitration + ]; - propagatedBuildInputs = [ - coreutils - unzip - zip - ] ++ lib.optionals doCheck [ - mtools - dosfstools - ]; + propagatedBuildInputs = + [ + coreutils + unzip + zip + ] + ++ lib.optionals doCheck [ + mtools + dosfstools + ]; nativeCheckInputs = [ which diff --git a/pkgs/tools/misc/gams/default.nix b/pkgs/tools/misc/gams/default.nix index be71618aae204..c69f98a9ca237 100644 --- a/pkgs/tools/misc/gams/default.nix +++ b/pkgs/tools/misc/gams/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, unzip, file, licenseFile ? null, optgamsFile ? null}: +{ + lib, + stdenv, + fetchurl, + unzip, + file, + licenseFile ? null, + optgamsFile ? null, +}: assert licenseFile != null; @@ -14,15 +22,17 @@ stdenv.mkDerivation rec { buildInputs = [ file ]; dontBuild = true; - installPhase = '' - mkdir -p "$out/bin" "$out/share/gams" - cp -a * "$out/share/gams" + installPhase = + '' + mkdir -p "$out/bin" "$out/share/gams" + cp -a * "$out/share/gams" - cp ${licenseFile} $out/share/gams/gamslice.txt - '' + lib.optionalString (optgamsFile != null) '' - cp ${optgamsFile} $out/share/gams/optgams.def - ln -s $out/share/gams/optgams.def $out/bin/optgams.def - ''; + cp ${licenseFile} $out/share/gams/gamslice.txt + '' + + lib.optionalString (optgamsFile != null) '' + cp ${optgamsFile} $out/share/gams/optgams.def + ln -s $out/share/gams/optgams.def $out/bin/optgams.def + ''; postFixup = '' for f in $out/share/gams/*; do @@ -36,7 +46,7 @@ stdenv.mkDerivation rec { done ''; - meta = with lib;{ + meta = with lib; { description = "General Algebraic Modeling System"; longDescription = '' The General Algebraic Modeling System is a high-level modeling system for mathematical optimization. @@ -49,4 +59,3 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } - diff --git a/pkgs/tools/misc/gaphor/default.nix b/pkgs/tools/misc/gaphor/default.nix index ab017fb6065af..b08ba08b794c5 100644 --- a/pkgs/tools/misc/gaphor/default.nix +++ b/pkgs/tools/misc/gaphor/default.nix @@ -1,29 +1,30 @@ -{ lib -, buildPythonApplication -, fetchPypi -, copyDesktopItems -, gobject-introspection -, poetry-core -, wrapGAppsHook4 -, gtksourceview5 -, libadwaita -, pango -, gaphas -, generic -, jedi -, pycairo -, pillow -, dulwich -, pydot -, defusedxml -, better-exceptions -, babel -, pygobject3 -, tinycss2 -, gtk4 -, librsvg -, makeDesktopItem -, python +{ + lib, + buildPythonApplication, + fetchPypi, + copyDesktopItems, + gobject-introspection, + poetry-core, + wrapGAppsHook4, + gtksourceview5, + libadwaita, + pango, + gaphas, + generic, + jedi, + pycairo, + pillow, + dulwich, + pydot, + defusedxml, + better-exceptions, + babel, + pygobject3, + tinycss2, + gtk4, + librsvg, + makeDesktopItem, + python, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/gazelle-origin/default.nix b/pkgs/tools/misc/gazelle-origin/default.nix index 924c0ba8df7b3..37ef0aedd9ccc 100644 --- a/pkgs/tools/misc/gazelle-origin/default.nix +++ b/pkgs/tools/misc/gazelle-origin/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, bencoder -, pyyaml -, requests +{ + lib, + buildPythonApplication, + fetchFromGitHub, + bencoder, + pyyaml, + requests, }: buildPythonApplication rec { pname = "gazelle-origin"; diff --git a/pkgs/tools/misc/gbdfed/default.nix b/pkgs/tools/misc/gbdfed/default.nix index 9ad0590c96d51..1d72d2c05f441 100644 --- a/pkgs/tools/misc/gbdfed/default.nix +++ b/pkgs/tools/misc/gbdfed/default.nix @@ -1,4 +1,11 @@ - { lib, stdenv, fetchurl, pkg-config, freetype, gtk }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + freetype, + gtk, +}: stdenv.mkDerivation rec { version = "1.6"; @@ -10,7 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ freetype gtk ]; + buildInputs = [ + freetype + gtk + ]; patches = [ ./Makefile.patch ]; diff --git a/pkgs/tools/misc/geekbench/4.nix b/pkgs/tools/misc/geekbench/4.nix index bd60ee701ae37..7e3b75a198bb4 100644 --- a/pkgs/tools/misc/geekbench/4.nix +++ b/pkgs/tools/misc/geekbench/4.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, addDriverRunpath -, makeWrapper -, ocl-icd -, vulkan-loader +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + addDriverRunpath, + makeWrapper, + ocl-icd, + vulkan-loader, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; buildInputs = [ stdenv.cc.cc ]; installPhase = '' @@ -31,11 +35,13 @@ stdenv.mkDerivation rec { for f in geekbench4 geekbench_x86_64 ; do wrapProgram $out/bin/$f \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - addDriverRunpath.driverLink - ocl-icd - vulkan-loader - ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + addDriverRunpath.driverLink + ocl-icd + vulkan-loader + ] + }" done runHook postInstall diff --git a/pkgs/tools/misc/geekbench/5.nix b/pkgs/tools/misc/geekbench/5.nix index c7504585dc0f2..0bec3ca724a20 100644 --- a/pkgs/tools/misc/geekbench/5.nix +++ b/pkgs/tools/misc/geekbench/5.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, addDriverRunpath -, makeWrapper -, ocl-icd -, vulkan-loader +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + addDriverRunpath, + makeWrapper, + ocl-icd, + vulkan-loader, }: let @@ -26,12 +27,17 @@ stdenv.mkDerivation { inherit version; pname = "geekbench"; - src = fetchurl (sources.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")); + src = fetchurl ( + sources.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}") + ); dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; buildInputs = [ (lib.getLib stdenv.cc.cc) ]; @@ -43,11 +49,13 @@ stdenv.mkDerivation { for f in geekbench5 geekbench_${processor} ; do wrapProgram $out/bin/$f \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - addDriverRunpath.driverLink - ocl-icd - vulkan-loader - ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + addDriverRunpath.driverLink + ocl-icd + vulkan-loader + ] + }" done runHook postInstall diff --git a/pkgs/tools/misc/geekbench/6.nix b/pkgs/tools/misc/geekbench/6.nix index 6b78d65b39a14..26abefa16ae43 100644 --- a/pkgs/tools/misc/geekbench/6.nix +++ b/pkgs/tools/misc/geekbench/6.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoPatchelfHook -, addDriverRunpath -, makeWrapper -, ocl-icd -, vulkan-loader +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + addDriverRunpath, + makeWrapper, + ocl-icd, + vulkan-loader, }: let @@ -27,12 +28,17 @@ stdenv.mkDerivation { inherit version; pname = "geekbench"; - src = fetchurl (sources.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")); + src = fetchurl ( + sources.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}") + ); dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; buildInputs = [ (lib.getLib stdenv.cc.cc) ]; @@ -44,11 +50,13 @@ stdenv.mkDerivation { for f in geekbench6 geekbench_${processor} ${geekbench_avx2} ; do wrapProgram $out/bin/$f \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ - addDriverRunpath.driverLink - ocl-icd - vulkan-loader - ]}" + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + addDriverRunpath.driverLink + ocl-icd + vulkan-loader + ] + }" done runHook postInstall @@ -59,7 +67,10 @@ stdenv.mkDerivation { homepage = "https://geekbench.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with maintainers; [ michalrus asininemonkey ]; + maintainers = with maintainers; [ + michalrus + asininemonkey + ]; platforms = builtins.attrNames sources; mainProgram = "geekbench6"; }; diff --git a/pkgs/tools/misc/gh-cal/default.nix b/pkgs/tools/misc/gh-cal/default.nix index 53e5e1d3ee7df..9d099cf6a7aa0 100644 --- a/pkgs/tools/misc/gh-cal/default.nix +++ b/pkgs/tools/misc/gh-cal/default.nix @@ -1,8 +1,9 @@ -{ lib -, fetchCrate -, rustPlatform -, pkg-config -, openssl +{ + lib, + fetchCrate, + rustPlatform, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { pname = "gh-cal"; diff --git a/pkgs/tools/misc/graylog/5.1.nix b/pkgs/tools/misc/graylog/5.1.nix index 859fab5755adb..e20bb9a14bf3f 100644 --- a/pkgs/tools/misc/graylog/5.1.nix +++ b/pkgs/tools/misc/graylog/5.1.nix @@ -1,7 +1,8 @@ -{ callPackage, lib, ...}: +{ callPackage, lib, ... }: let - buildGraylog = callPackage ./graylog.nix {}; -in buildGraylog { + buildGraylog = callPackage ./graylog.nix { }; +in +buildGraylog { version = "5.1.13"; hash = "sha256-qjNJ51EbPjtDR5h4DElpSblj/c8WarXxPfcLTuTx5AQ="; maintainers = [ lib.maintainers.f2k1de ]; diff --git a/pkgs/tools/misc/graylog/graylog.nix b/pkgs/tools/misc/graylog/graylog.nix index d8881cb00fe40..9e17f21515be7 100644 --- a/pkgs/tools/misc/graylog/graylog.nix +++ b/pkgs/tools/misc/graylog/graylog.nix @@ -1,6 +1,20 @@ -{ lib, stdenv, fetchurl, makeWrapper, openjdk11_headless, openjdk17_headless, systemd, nixosTests}: +{ + lib, + stdenv, + fetchurl, + makeWrapper, + openjdk11_headless, + openjdk17_headless, + systemd, + nixosTests, +}: -{ version, hash, maintainers, license }: +{ + version, + hash, + maintainers, + license, +}: stdenv.mkDerivation rec { pname = "graylog_${lib.versions.majorMinor version}"; inherit version; @@ -14,28 +28,33 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; makeWrapperArgs = [ - "--set-default" "JAVA_HOME" "${if (lib.versionAtLeast version "5.0") then openjdk17_headless else openjdk11_headless}" + "--set-default" + "JAVA_HOME" + "${if (lib.versionAtLeast version "5.0") then openjdk17_headless else openjdk11_headless}" "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd ]}" ]; passthru.tests = { inherit (nixosTests) graylog; }; - installPhase = '' - mkdir -p $out - cp -r {graylog.jar,bin,plugin} $out - '' + lib.optionalString (lib.versionOlder version "4.3") '' - cp -r lib $out - '' + '' - wrapProgram $out/bin/graylogctl $makeWrapperArgs - ''; + installPhase = + '' + mkdir -p $out + cp -r {graylog.jar,bin,plugin} $out + '' + + lib.optionalString (lib.versionOlder version "4.3") '' + cp -r lib $out + '' + + '' + wrapProgram $out/bin/graylogctl $makeWrapperArgs + ''; meta = with lib; { description = "Open source log management solution"; - homepage = "https://www.graylog.org/"; + homepage = "https://www.graylog.org/"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; inherit license; inherit maintainers; mainProgram = "graylogctl"; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix index 271ef5edfbf4a..109b1b3479386 100644 --- a/pkgs/tools/misc/grc/default.nix +++ b/pkgs/tools/misc/grc/default.nix @@ -1,7 +1,8 @@ -{ lib -, fetchFromGitHub -, buildPythonApplication -, installShellFiles +{ + lib, + fetchFromGitHub, + buildPythonApplication, + installShellFiles, }: buildPythonApplication rec { @@ -46,7 +47,11 @@ buildPythonApplication rec { beautifying your logfiles or output of commands. ''; license = licenses.gpl2Plus; - maintainers = with maintainers; [ azahi lovek323 peterhoeg ]; + maintainers = with maintainers; [ + azahi + lovek323 + peterhoeg + ]; platforms = platforms.unix; mainProgram = "grc"; }; diff --git a/pkgs/tools/misc/grex/default.nix b/pkgs/tools/misc/grex/default.nix index f3263303f96d8..265ed57e45cb8 100644 --- a/pkgs/tools/misc/grex/default.nix +++ b/pkgs/tools/misc/grex/default.nix @@ -1,7 +1,9 @@ -{ lib, stdenv -, fetchFromGitHub -, rustPlatform -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, }: rustPlatform.buildRustPackage rec { @@ -30,6 +32,9 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/pemistahl/grex/releases/tag/v${version}"; license = licenses.asl20; mainProgram = "grex"; - maintainers = with maintainers; [ SuperSandro2000 mfrw ]; + maintainers = with maintainers; [ + SuperSandro2000 + mfrw + ]; }; } diff --git a/pkgs/tools/misc/grub4dos/default.nix b/pkgs/tools/misc/grub4dos/default.nix index b18298e37b66e..af5cc1d8b0e22 100644 --- a/pkgs/tools/misc/grub4dos/default.nix +++ b/pkgs/tools/misc/grub4dos/default.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, nasm }: - -let arch = - if stdenv.hostPlatform.isi686 then "i386" - else if stdenv.hostPlatform.isx86_64 then "x86_64" - else throw "Unknown architecture"; -in stdenv.mkDerivation { +{ + lib, + stdenv, + fetchFromGitHub, + nasm, +}: + +let + arch = + if stdenv.hostPlatform.isi686 then + "i386" + else if stdenv.hostPlatform.isx86_64 then + "x86_64" + else + throw "Unknown architecture"; +in +stdenv.mkDerivation { pname = "grub4dos"; version = "0.4.6a-2019-05-12"; diff --git a/pkgs/tools/misc/gwe/default.nix b/pkgs/tools/misc/gwe/default.nix index b1e793572711c..10c67af8cd80c 100644 --- a/pkgs/tools/misc/gwe/default.nix +++ b/pkgs/tools/misc/gwe/default.nix @@ -1,37 +1,41 @@ -{ lib -, stdenv -, fetchFromGitLab -, wrapGAppsHook3 -, pkg-config -, meson -, ninja -, cmake -, gobject-introspection -, desktop-file-utils -, python3 -, gtk3 -, libdazzle -, libappindicator-gtk3 -, libnotify -, nvidia_x11 - }: +{ + lib, + stdenv, + fetchFromGitLab, + wrapGAppsHook3, + pkg-config, + meson, + ninja, + cmake, + gobject-introspection, + desktop-file-utils, + python3, + gtk3, + libdazzle, + libappindicator-gtk3, + libnotify, + nvidia_x11, +}: let - pythonEnv = python3.withPackages (pypkgs: with pypkgs; [ - injector - matplotlib - peewee - pynvml - pygobject3 - xlib - pyxdg - requests - rx - gtk3 - reactivex - setuptools - ]); -in stdenv.mkDerivation rec { + pythonEnv = python3.withPackages ( + pypkgs: with pypkgs; [ + injector + matplotlib + peewee + pynvml + pygobject3 + xlib + pyxdg + requests + rx + gtk3 + reactivex + setuptools + ] + ); +in +stdenv.mkDerivation rec { pname = "gwe"; version = "0.15.9"; @@ -75,7 +79,15 @@ in stdenv.mkDerivation rec { makeWrapper ${pythonEnv}/bin/python $out/bin/gwe \ --add-flags "$out/lib/gwe-bin" \ --prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib" \ - --prefix PATH : "${builtins.concatStringsSep ":" [ (lib.makeBinPath [ nvidia_x11 nvidia_x11.settings ]) "/run/wrappers/bin" ]}" \ + --prefix PATH : "${ + builtins.concatStringsSep ":" [ + (lib.makeBinPath [ + nvidia_x11 + nvidia_x11.settings + ]) + "/run/wrappers/bin" + ] + }" \ --unset "SHELL" \ ''${gappsWrapperArgs[@]} ''; diff --git a/pkgs/tools/misc/h/default.nix b/pkgs/tools/misc/h/default.nix index 6d65accc51d54..9777c5d1a001b 100644 --- a/pkgs/tools/misc/h/default.nix +++ b/pkgs/tools/misc/h/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, ruby }: +{ + lib, + stdenv, + fetchFromGitHub, + ruby, +}: stdenv.mkDerivation rec { pname = "h"; diff --git a/pkgs/tools/misc/haste-client/default.nix b/pkgs/tools/misc/haste-client/default.nix index eb4b6f868294f..abaf8312dc35c 100644 --- a/pkgs/tools/misc/haste-client/default.nix +++ b/pkgs/tools/misc/haste-client/default.nix @@ -1,5 +1,6 @@ -{ lib -, bundlerApp +{ + lib, + bundlerApp, }: bundlerApp { @@ -9,10 +10,10 @@ bundlerApp { meta = with lib; { description = "Command line interface to the AnyStyle Parser and Finder"; - homepage = "https://rubygems.org/gems/haste"; - license = licenses.mit; + homepage = "https://rubygems.org/gems/haste"; + license = licenses.mit; maintainers = with maintainers; [ shamilton ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "haste"; }; } diff --git a/pkgs/tools/misc/haste-client/gemset.nix b/pkgs/tools/misc/haste-client/gemset.nix index e6cbbff11aa6b..91d95d217ffc3 100644 --- a/pkgs/tools/misc/haste-client/gemset.nix +++ b/pkgs/tools/misc/haste-client/gemset.nix @@ -1,488 +1,650 @@ { faraday = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13aghksmni2sl15y7wfpx6k5l3lfd8j9gdyqi6cbw6jgc7bqyyn2"; type = "gem"; }; version = "0.17.3"; }; haste = { - dependencies = ["faraday" "json"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "faraday" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jaq0kvlxwvd0jq9pl707saqnaaal3dis13mqwfjbj121gr4hq4q"; type = "gem"; }; version = "0.2.3"; }; json = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; type = "gem"; }; version = "2.5.1"; }; multipart-post = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; type = "gem"; }; diff --git a/pkgs/tools/misc/hdf5/1.10.nix b/pkgs/tools/misc/hdf5/1.10.nix index c74911d241adb..7c0392deddc9b 100644 --- a/pkgs/tools/misc/hdf5/1.10.nix +++ b/pkgs/tools/misc/hdf5/1.10.nix @@ -1,16 +1,19 @@ -{ lib -, stdenv -, fetchurl -, removeReferencesTo -, cppSupport ? true -, zlibSupport ? true -, zlib -, enableShared ? !stdenv.hostPlatform.isStatic -, javaSupport ? false -, jdk +{ + lib, + stdenv, + fetchurl, + removeReferencesTo, + cppSupport ? true, + zlibSupport ? true, + zlib, + enableShared ? !stdenv.hostPlatform.isStatic, + javaSupport ? false, + jdk, }: -let inherit (lib) optional; in +let + inherit (lib) optional; +in stdenv.mkDerivation rec { version = "1.10.11"; @@ -20,7 +23,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-Cvx32lxGIXcJR1u++8qRwMtvHqYozNjDYZbPbFpN4wQ="; }; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; buildInputs = optional javaSupport jdk; @@ -28,7 +34,8 @@ stdenv.mkDerivation rec { propagatedBuildInputs = optional zlibSupport zlib; - configureFlags = optional enableShared "--enable-shared" + configureFlags = + optional enableShared "--enable-shared" ++ optional javaSupport "--enable-java" ++ optional cppSupport "--enable-cxx"; diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index e88f591128f6c..4ee7101efd53c 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -1,35 +1,39 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, removeReferencesTo -, cppSupport ? true -, fortranSupport ? false -, fortran -, zlibSupport ? true -, zlib -, szipSupport ? false -, szip -, mpiSupport ? false -, mpi -, enableShared ? !stdenv.hostPlatform.isStatic -, enableStatic ? stdenv.hostPlatform.isStatic -, javaSupport ? false -, jdk -, usev110Api ? false -, threadsafe ? false -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + removeReferencesTo, + cppSupport ? true, + fortranSupport ? false, + fortran, + zlibSupport ? true, + zlib, + szipSupport ? false, + szip, + mpiSupport ? false, + mpi, + enableShared ? !stdenv.hostPlatform.isStatic, + enableStatic ? stdenv.hostPlatform.isStatic, + javaSupport ? false, + jdk, + usev110Api ? false, + threadsafe ? false, + python3, }: # cpp and mpi options are mutually exclusive # (--enable-unsupported could be used to force the build) assert !cppSupport || !mpiSupport; -let inherit (lib) optional optionals; in +let + inherit (lib) optional optionals; +in stdenv.mkDerivation rec { version = "1.14.5"; - pname = "hdf5" + pname = + "hdf5" + lib.optionalString cppSupport "-cpp" + lib.optionalString fortranSupport "-fortran" + lib.optionalString mpiSupport "-mpi" @@ -56,22 +60,28 @@ stdenv.mkDerivation rec { ; }; - outputs = [ "out" "dev" "bin" ]; + outputs = [ + "out" + "dev" + "bin" + ]; - nativeBuildInputs = [ removeReferencesTo cmake ] - ++ optional fortranSupport fortran; + nativeBuildInputs = [ + removeReferencesTo + cmake + ] ++ optional fortranSupport fortran; - buildInputs = optional fortranSupport fortran - ++ optional szipSupport szip - ++ optional javaSupport jdk; + buildInputs = + optional fortranSupport fortran ++ optional szipSupport szip ++ optional javaSupport jdk; - propagatedBuildInputs = optional zlibSupport zlib - ++ optional mpiSupport mpi; + propagatedBuildInputs = optional zlibSupport zlib ++ optional mpiSupport mpi; - cmakeFlags = [ - "-DHDF5_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake" - "-DBUILD_STATIC_LIBS=${lib.boolToString enableStatic}" - ] ++ lib.optional stdenv.hostPlatform.isDarwin "-DHDF5_BUILD_WITH_INSTALL_NAME=ON" + cmakeFlags = + [ + "-DHDF5_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake" + "-DBUILD_STATIC_LIBS=${lib.boolToString enableStatic}" + ] + ++ lib.optional stdenv.hostPlatform.isDarwin "-DHDF5_BUILD_WITH_INSTALL_NAME=ON" ++ lib.optional cppSupport "-DHDF5_BUILD_CPP_LIB=ON" ++ lib.optional fortranSupport "-DHDF5_BUILD_FORTRAN=ON" ++ lib.optional szipSupport "-DHDF5_ENABLE_SZIP_SUPPORT=ON" @@ -79,37 +89,44 @@ stdenv.mkDerivation rec { ++ lib.optional enableShared "-DBUILD_SHARED_LIBS=ON" ++ lib.optional javaSupport "-DHDF5_BUILD_JAVA=ON" ++ lib.optional usev110Api "-DDEFAULT_API_VERSION=v110" - ++ lib.optionals threadsafe [ "-DDHDF5_ENABLE_THREADSAFE:BOOL=ON" "-DHDF5_BUILD_HL_LIB=OFF" ] + ++ lib.optionals threadsafe [ + "-DDHDF5_ENABLE_THREADSAFE:BOOL=ON" + "-DHDF5_BUILD_HL_LIB=OFF" + ] # broken in nixpkgs since around 1.14.3 -> 1.14.4.3 # https://github.com/HDFGroup/hdf5/issues/4208#issuecomment-2098698567 - ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) "-DHDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16=OFF" - ; + ++ lib.optional ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 + ) "-DHDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16=OFF"; - postInstall = '' - find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' + - moveToOutput 'bin/' "''${!outputBin}" - moveToOutput 'bin/h5cc' "''${!outputDev}" - moveToOutput 'bin/h5c++' "''${!outputDev}" - moveToOutput 'bin/h5fc' "''${!outputDev}" - moveToOutput 'bin/h5pcc' "''${!outputDev}" - moveToOutput 'bin/h5hlcc' "''${!outputDev}" - moveToOutput 'bin/h5hlc++' "''${!outputDev}" - '' + lib.optionalString enableShared - # The shared build creates binaries with -shared suffixes, - # so we remove these suffixes. - '' - pushd ''${!outputBin}/bin - for file in *-shared; do - mv "$file" "''${file%%-shared}" - done - popd - '' + lib.optionalString fortranSupport - '' - mv $out/mod/shared $dev/include - rm -r $out/mod + postInstall = + '' + find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' + + moveToOutput 'bin/' "''${!outputBin}" + moveToOutput 'bin/h5cc' "''${!outputDev}" + moveToOutput 'bin/h5c++' "''${!outputDev}" + moveToOutput 'bin/h5fc' "''${!outputDev}" + moveToOutput 'bin/h5pcc' "''${!outputDev}" + moveToOutput 'bin/h5hlcc' "''${!outputDev}" + moveToOutput 'bin/h5hlc++' "''${!outputDev}" + '' + + + lib.optionalString enableShared + # The shared build creates binaries with -shared suffixes, + # so we remove these suffixes. + '' + pushd ''${!outputBin}/bin + for file in *-shared; do + mv "$file" "''${file%%-shared}" + done + popd + '' + + lib.optionalString fortranSupport '' + mv $out/mod/shared $dev/include + rm -r $out/mod - find "$out" -type f -exec remove-references-to -t ${fortran} '{}' + - ''; + find "$out" -type f -exec remove-references-to -t ${fortran} '{}' + + ''; enableParallelBuilding = true; diff --git a/pkgs/tools/misc/heimdall/default.nix b/pkgs/tools/misc/heimdall/default.nix index d750bdb131c6b..90af4652dad1a 100644 --- a/pkgs/tools/misc/heimdall/default.nix +++ b/pkgs/tools/misc/heimdall/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, zlib, libusb1 -, enableGUI ? false, qtbase ? null +{ + lib, + stdenv, + mkDerivation, + fetchFromGitHub, + cmake, + zlib, + libusb1, + enableGUI ? false, + qtbase ? null, }: mkDerivation rec { @@ -7,9 +15,9 @@ mkDerivation rec { version = "1.4.2"; src = fetchFromGitHub { - owner = "Benjamin-Dobell"; - repo = "Heimdall"; - rev = "v${version}"; + owner = "Benjamin-Dobell"; + repo = "Heimdall"; + rev = "v${version}"; sha256 = "1ygn4snvcmi98rgldgxf5hwm7zzi1zcsihfvm6awf9s6mpcjzbqz"; }; @@ -24,24 +32,28 @@ mkDerivation rec { "-DLIBUSB_LIBRARY=${libusb1}" ]; - preConfigure = '' - # Give ownership of the Galaxy S USB device to the logged in user. - substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace libpit/CMakeLists.txt --replace "-std=gnu++11" "" - ''; + preConfigure = + '' + # Give ownership of the Galaxy S USB device to the logged in user. + substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace libpit/CMakeLists.txt --replace "-std=gnu++11" "" + ''; - installPhase = lib.optionalString (stdenv.hostPlatform.isDarwin && enableGUI) '' - mkdir -p $out/Applications - mv bin/heimdall-frontend.app $out/Applications/heimdall-frontend.app - wrapQtApp $out/Applications/heimdall-frontend.app/Contents/MacOS/heimdall-frontend - '' + '' - mkdir -p $out/{bin,share/doc/heimdall,lib/udev/rules.d} - install -m755 -t $out/bin bin/* - install -m644 -t $out/lib/udev/rules.d ../heimdall/60-heimdall.rules - install -m644 ../Linux/README $out/share/doc/heimdall/README.linux - install -m644 ../OSX/README.txt $out/share/doc/heimdall/README.osx - ''; + installPhase = + lib.optionalString (stdenv.hostPlatform.isDarwin && enableGUI) '' + mkdir -p $out/Applications + mv bin/heimdall-frontend.app $out/Applications/heimdall-frontend.app + wrapQtApp $out/Applications/heimdall-frontend.app/Contents/MacOS/heimdall-frontend + '' + + '' + mkdir -p $out/{bin,share/doc/heimdall,lib/udev/rules.d} + install -m755 -t $out/bin bin/* + install -m644 -t $out/lib/udev/rules.d ../heimdall/60-heimdall.rules + install -m644 ../Linux/README $out/share/doc/heimdall/README.linux + install -m644 ../OSX/README.txt $out/share/doc/heimdall/README.osx + ''; meta = with lib; { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/tools/misc/hiksink/default.nix b/pkgs/tools/misc/hiksink/default.nix index 77e74e8116f70..4e9a4172cfa0b 100644 --- a/pkgs/tools/misc/hiksink/default.nix +++ b/pkgs/tools/misc/hiksink/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, Security -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + Security, + openssl, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; meta = with lib; { description = "Tool to convert Hikvision camera events to MQTT"; diff --git a/pkgs/tools/misc/homesick/default.nix b/pkgs/tools/misc/homesick/default.nix index 663990ffac805..72b63f099e891 100644 --- a/pkgs/tools/misc/homesick/default.nix +++ b/pkgs/tools/misc/homesick/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, bundlerUpdateScript, git }: +{ + lib, + bundlerEnv, + bundlerUpdateScript, + git, +}: bundlerEnv { pname = "homesick"; @@ -14,15 +19,17 @@ bundlerEnv { meta = with lib; { description = "Your home directory is your castle. Don't leave your dotfiles behind"; - longDescription = - '' - Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing - dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into - place with a single command. - ''; + longDescription = '' + Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing + dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into + place with a single command. + ''; homepage = "https://github.com/technicalpickles/homesick"; license = licenses.mit; - maintainers = with maintainers; [ aaronschif nicknovitski ]; + maintainers = with maintainers; [ + aaronschif + nicknovitski + ]; platforms = platforms.unix; mainProgram = "homesick"; }; diff --git a/pkgs/tools/misc/homesick/gemset.nix b/pkgs/tools/misc/homesick/gemset.nix index 4a01696c2c796..845f3aa1bdc73 100644 --- a/pkgs/tools/misc/homesick/gemset.nix +++ b/pkgs/tools/misc/homesick/gemset.nix @@ -1,8 +1,8 @@ { homesick = { - dependencies = ["thor"]; + dependencies = [ "thor" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lxvnp4ncbx0irlblfxbd1f8h4hl11hgmyiy35q79w137r3prxml"; type = "gem"; }; @@ -10,7 +10,7 @@ }; thor = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl"; type = "gem"; }; diff --git a/pkgs/tools/misc/html-proofer/default.nix b/pkgs/tools/misc/html-proofer/default.nix index 2eeb467211d2d..32d810ee4e41b 100644 --- a/pkgs/tools/misc/html-proofer/default.nix +++ b/pkgs/tools/misc/html-proofer/default.nix @@ -1,4 +1,9 @@ -{ bundlerEnv, ruby, lib, bundlerUpdateScript }: +{ + bundlerEnv, + ruby, + lib, + bundlerUpdateScript, +}: bundlerEnv rec { name = "${pname}-${version}"; @@ -12,10 +17,10 @@ bundlerEnv rec { meta = with lib; { description = "Tool to validate HTML files"; - homepage = "https://github.com/gjtorikian/html-proofer"; - license = licenses.mit; + homepage = "https://github.com/gjtorikian/html-proofer"; + license = licenses.mit; maintainers = [ ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "htmlproofer"; }; } diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix index 1485ab4e5062c..6594aa0cc5516 100644 --- a/pkgs/tools/misc/html-proofer/gemset.nix +++ b/pkgs/tools/misc/html-proofer/gemset.nix @@ -1,247 +1,273 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; type = "gem"; }; version = "2.8.5"; }; afm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8"; type = "gem"; }; version = "0.2.2"; }; Ascii85 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ds4v9xgsyvijnlflak4dzf1qwmda9yd5bv8jwsb56nngd399rlw"; type = "gem"; }; version = "1.1.0"; }; async = { - dependencies = ["console" "fiber-annotation" "io-event" "timers"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "console" + "fiber-annotation" + "io-event" + "timers" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0806cya8kq9glg6vifa9j4zjf81drwa84hdzx71ah98zz317hvhb"; type = "gem"; }; version = "2.6.3"; }; console = { - dependencies = ["fiber-annotation" "fiber-local"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "fiber-annotation" + "fiber-local" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04cpbx4bsw3k20xgvz6cs1gi41q9mmagc95x2zk6ar49a25z89sb"; type = "gem"; }; version = "1.23.1"; }; ethon = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; type = "gem"; }; version = "0.16.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; type = "gem"; }; version = "1.15.5"; }; fiber-annotation = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vcmynyvhny8n4p799rrhcx0m033hivy0s1gn30ix8rs7qsvgvs"; type = "gem"; }; version = "0.2.0"; }; fiber-local = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9"; type = "gem"; }; version = "1.0.0"; }; hashery = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; type = "gem"; }; version = "2.1.2"; }; html-proofer = { - dependencies = ["addressable" "async" "nokogiri" "pdf-reader" "rainbow" "typhoeus" "yell" "zeitwerk"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "addressable" + "async" + "nokogiri" + "pdf-reader" + "rainbow" + "typhoeus" + "yell" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lzh3lb3l2qid3sh3da0fgjdwdly2g5jia6drzpn1dn1b92a7wwm"; type = "gem"; }; version = "5.0.8"; }; io-event = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0046p1q98xrys4bzcx74k658fv1fiigdgcd0az0pm12n2hjcms6r"; type = "gem"; }; version = "1.2.3"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq"; type = "gem"; }; version = "2.8.4"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; version = "1.16.0"; }; pdf-reader = { - dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "Ascii85" + "afm" + "hashery" + "ruby-rc4" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09sx25jpnip2sp6wh5sn5ad7za78rfi95qp5iiczfh43z4jqa8q3"; type = "gem"; }; version = "2.11.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; type = "gem"; }; version = "5.0.3"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g"; type = "gem"; }; version = "1.7.1"; }; rainbow = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; ruby-rc4 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; type = "gem"; }; version = "0.1.5"; }; timers = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pjzipnmzfywvgsr3gxwj6nmg47lz4700g0q71jgcy1z6rb7dn7p"; type = "gem"; }; version = "4.3.5"; }; ttfunk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15iaxz9iak5643bq2bc0jkbjv8w2zn649lxgvh5wg48q9d4blw13"; type = "gem"; }; version = "1.7.0"; }; typhoeus = { - dependencies = ["ethon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ethon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz"; type = "gem"; }; version = "1.4.0"; }; yell = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g16kcdhdfvczn7x81jiq6afg3bdxmb73skqjyjlkp5nqcy6y5hx"; type = "gem"; }; version = "2.2.2"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd"; type = "gem"; }; diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix index 0058187255ded..b8b5d1437063a 100644 --- a/pkgs/tools/misc/hyperfine/default.nix +++ b/pkgs/tools/misc/hyperfine/default.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -34,8 +35,14 @@ rustPlatform.buildRustPackage rec { description = "Command-line benchmarking tool"; homepage = "https://github.com/sharkdp/hyperfine"; changelog = "https://github.com/sharkdp/hyperfine/blob/v${version}/CHANGELOG.md"; - license = with licenses; [ asl20 /* or */ mit ]; - maintainers = with maintainers; [ figsoda thoughtpolice ]; + license = with licenses; [ + asl20 # or + mit + ]; + maintainers = with maintainers; [ + figsoda + thoughtpolice + ]; mainProgram = "hyperfine"; }; } diff --git a/pkgs/tools/misc/iay/default.nix b/pkgs/tools/misc/iay/default.nix index 5973ed258b591..22b1846858300 100644 --- a/pkgs/tools/misc/iay/default.nix +++ b/pkgs/tools/misc/iay/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, openssl -, pkg-config -, AppKit -, Cocoa -, Foundation -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + AppKit, + Cocoa, + Foundation, + Security, }: rustPlatform.buildRustPackage rec { @@ -25,23 +26,30 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Cocoa - Foundation - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Cocoa + Foundation + Security + ]; - NIX_LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin [ "-framework" "AppKit" ]; + NIX_LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin [ + "-framework" + "AppKit" + ]; meta = with lib; { description = "Minimalistic, blazing-fast, and extendable prompt for bash and zsh"; homepage = "https://github.com/aaqaishtyaq/iay"; license = licenses.mit; - maintainers = with maintainers; [ aaqaishtyaq omasanori ]; + maintainers = with maintainers; [ + aaqaishtyaq + omasanori + ]; mainProgram = "iay"; }; } diff --git a/pkgs/tools/misc/inspec/default.nix b/pkgs/tools/misc/inspec/default.nix index 759b1fcaed874..e020191a3a796 100644 --- a/pkgs/tools/misc/inspec/default.nix +++ b/pkgs/tools/misc/inspec/default.nix @@ -1,4 +1,9 @@ -{ lib, ruby, bundlerApp, bundlerUpdateScript }: +{ + lib, + ruby, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "inspec"; @@ -6,7 +11,7 @@ bundlerApp { inherit ruby; - exes = ["inspec"]; + exes = [ "inspec" ]; passthru.updateScript = bundlerUpdateScript "inspec"; diff --git a/pkgs/tools/misc/inspec/gemset.nix b/pkgs/tools/misc/inspec/gemset.nix index 583b3023c6f53..4b77ba56355b6 100644 --- a/pkgs/tools/misc/inspec/gemset.nix +++ b/pkgs/tools/misc/inspec/gemset.nix @@ -1,2438 +1,2997 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5"; type = "gem"; }; version = "7.0.8"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; version = "2.8.6"; }; ast = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16n1d0bh3zy925y4f8flrnkfir2smsj0j31zslfaz6vf6cvi9qjs"; type = "gem"; }; version = "1.864.0"; }; aws-sdk-account = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1h6fqfq5pgsmnchmg4w4l9mypv2ggix1d0a8b8w66a9xvsk8bkxd"; type = "gem"; }; version = "1.20.0"; }; aws-sdk-alexaforbusiness = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ps37857dgnydnih2gxrl3a5fr571242006l9634jzm8w91jpb80"; type = "gem"; }; version = "1.67.0"; }; aws-sdk-amplify = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fv4w1npqglxm9sl6939akjw3y1ivhpl55i75azvbzx0f7abh3b8"; type = "gem"; }; version = "1.32.0"; }; aws-sdk-apigateway = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gqd04rdzz487bgy64gq2fqm20wcdd2zk8rnl51nyq6cfxsslbvw"; type = "gem"; }; version = "1.90.0"; }; aws-sdk-apigatewayv2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dq11njjh05dm6dc2gjrbhl6ga6a9mxaisr7bgk0gv295b5nfiwp"; type = "gem"; }; version = "1.53.0"; }; aws-sdk-applicationautoscaling = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lp008dcyiqcz90fkck5dgx23ycgk04rhd0n1ywz14rg45844nfn"; type = "gem"; }; version = "1.51.0"; }; aws-sdk-athena = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19fs835xm7pls49yryayh80m6dap44g4r2qk94ssvck5paxyylk3"; type = "gem"; }; version = "1.79.0"; }; aws-sdk-autoscaling = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hv9nfzbn478vjv88c6jybf4nsii1c04vzqckgh4pajm5mc8kk7p"; type = "gem"; }; version = "1.92.0"; }; aws-sdk-batch = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06lxajqdjwxdc9wx17igsdxj608charbpwhnfnb83dcrfaavkqms"; type = "gem"; }; version = "1.73.0"; }; aws-sdk-budgets = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0689sck8d49smzavhipl2i3nrr5lrw3miam88a7h7qckwmlsp098"; type = "gem"; }; version = "1.62.0"; }; aws-sdk-cloudformation = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0sgsyzsyjdw795k81sc0qy1h4rd3ksxszcxp93wx07vrl8nv5i0a"; type = "gem"; }; version = "1.97.0"; }; aws-sdk-cloudfront = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1fxrv7zqlp61cpazd3i3slbyv10fgd6xk9wsb0p5fshm64zg0s16"; type = "gem"; }; version = "1.86.0"; }; aws-sdk-cloudhsm = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ijcid6qpz49vmsp7zig0h7qzgx5rc027iqwl4bnyic6vmgir6ai"; type = "gem"; }; version = "1.50.0"; }; aws-sdk-cloudhsmv2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0hmjkz09xldacq12l1b924gkfyzx6s0zvigmw2dvbxf3v1imainn"; type = "gem"; }; version = "1.53.0"; }; aws-sdk-cloudtrail = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "03nr4qpv6678b3lpgbfvlaxydg7m72r1l2ml0mv14z5h066i964s"; type = "gem"; }; version = "1.74.0"; }; aws-sdk-cloudwatch = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "18865fsj24pf6z0rn1n94b7q4299hclbi7h085484am7g0v1gfnx"; type = "gem"; }; version = "1.84.0"; }; aws-sdk-cloudwatchevents = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dbafxhkp3x5fgibc3i663mnf44kbmfh9ia9cq6fwn45cw2bpfik"; type = "gem"; }; version = "1.62.0"; }; aws-sdk-cloudwatchlogs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "01mvckn874662bl9vfphgn2s983hxsp53bsf07y809kkksw4mipr"; type = "gem"; }; version = "1.75.0"; }; aws-sdk-codecommit = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0blk86gvg74s7imhz07brrgc4q71ddnwd5nf1a86vyn8rdcq0dxx"; type = "gem"; }; version = "1.62.0"; }; aws-sdk-codedeploy = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v4gv1ycw0b12an6002qz0vspzqhxzc1719ylshr7zxlc4yy7ndi"; type = "gem"; }; version = "1.63.0"; }; aws-sdk-codepipeline = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0d0finvyv46h9bqyds092pnjspg6hcr2rakk54w3y84smyzaawp3"; type = "gem"; }; version = "1.67.0"; }; aws-sdk-cognitoidentity = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1hhhnlipplr9fv8lvq612y49n4xasqdjkkxd7m002drp2zm7rzbj"; type = "gem"; }; version = "1.45.0"; }; aws-sdk-cognitoidentityprovider = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1v2lf191jinkl3kfbl6zdv29cn7xbpyksshww1mz29a323j5bm4x"; type = "gem"; }; version = "1.76.0"; }; aws-sdk-configservice = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "11xb46y5glq0bqlhbhpkr9mf1p17jsxb5l0wq3hpvzxw376ip6hl"; type = "gem"; }; version = "1.103.0"; }; aws-sdk-core = { - dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "jmespath" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19nglxz49nlzgsvnivb3bdm17vxjn1ng2br8659xv48nzjrmyid3"; type = "gem"; }; version = "3.190.0"; }; aws-sdk-costandusagereportservice = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0jps30r7l5g7j4b1lss9m1isyk5h8k469hq9dp4yljis0jdlmy3c"; type = "gem"; }; version = "1.53.0"; }; aws-sdk-databasemigrationservice = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ss4x2syf6c5ray6g61cxxcx2q7mzqv0gk00d1dl7g4c5z9avhwi"; type = "gem"; }; version = "1.80.0"; }; aws-sdk-dynamodb = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ib8iwgp7ddhcgmqmzjq9js0kw8m5mm4mi7klrl84925lgvlvk65"; type = "gem"; }; version = "1.98.0"; }; aws-sdk-ec2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zyazx97nskgl9xzspg2q1rji02p2jv789v8qd1qz6hknz0z6r5f"; type = "gem"; }; version = "1.430.0"; }; aws-sdk-ecr = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "103ycwxv367bkrqzdpypd0p650r62ka3azw2pzdwc38pj5r3nxl6"; type = "gem"; }; version = "1.68.0"; }; aws-sdk-ecrpublic = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1a5j7v70gwwy1md4awz37k77qlwgls390xlwbri8lkcxmaw2x5bp"; type = "gem"; }; version = "1.25.0"; }; aws-sdk-ecs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s4yyi22v0vv3pyskpz4qzahngfxawxjx8x4ch2aj8c8wffkfclk"; type = "gem"; }; version = "1.135.0"; }; aws-sdk-efs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1m8ymz0wq1p6iz126qcdsrz0ss730p1inb6g1w07r9ganjdzbplx"; type = "gem"; }; version = "1.71.0"; }; aws-sdk-eks = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "13aac0gpyxm660pbcbpvpcpw20db28p5lbwjs45rczc9l3yl9aw1"; type = "gem"; }; version = "1.95.0"; }; aws-sdk-elasticache = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "061zg2k3kvayrnih0qiilcdarwjap37bzf1a0v5n6a57606hc40s"; type = "gem"; }; version = "1.95.0"; }; aws-sdk-elasticbeanstalk = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ysn5cj4rwqj2jvsg02i8qs9j3z6c6lwhici58q09m62xzrhr3qg"; type = "gem"; }; version = "1.63.0"; }; aws-sdk-elasticloadbalancing = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09zvryq7121c05cswzwv337qylza33dwlqd97c11ii3y8pg2bsla"; type = "gem"; }; version = "1.51.0"; }; aws-sdk-elasticloadbalancingv2 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mgik7lhch27j4q4nzxci0rhrgybh0bx7bzcq48c5sggpm999qkr"; type = "gem"; }; version = "1.96.0"; }; aws-sdk-elasticsearchservice = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nqrx6vm4yi1amk7677rw6jvwrdhv7pj4g507r5hqcfmilr5z1gx"; type = "gem"; }; version = "1.79.0"; }; aws-sdk-emr = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1wybb0aadsk8x3whwlid58g40613c9rrl48g43ikgpqz9f3b44ac"; type = "gem"; }; version = "1.53.0"; }; aws-sdk-eventbridge = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1mnpcklsm8dicz35yj89jr870xii1xghfdjfqif1lxii4vvhlqba"; type = "gem"; }; version = "1.46.0"; }; aws-sdk-firehose = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n4iz5bv80gd7m070jyr5kv36yx8qyq1i8ljh5bfj3cr57vvdw89"; type = "gem"; }; version = "1.60.0"; }; aws-sdk-glue = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pjw4vfniswiprjr5vivgq3vilw05gqqr5mkkwhx38y6xc8kr7ga"; type = "gem"; }; version = "1.145.0"; }; aws-sdk-guardduty = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0ya8q0hgh7293jlz1pchci5qvywnmg87h3x3k9hsbqf1023bz9nz"; type = "gem"; }; version = "1.85.0"; }; aws-sdk-iam = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0whclpcvbdy7gzvqpk8734nxjfxs3362k197xl1wnrpixklkacyz"; type = "gem"; }; version = "1.92.0"; }; aws-sdk-kafka = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gg28ixfr681sxjffp28wy47siz7jypvm04ldqarlcvgaqnk08ds"; type = "gem"; }; version = "1.67.0"; }; aws-sdk-kinesis = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19xzw7i6i4f0yn604is07w3zf3q6lch2ki29bg31m0jd2jdj2rn0"; type = "gem"; }; version = "1.54.0"; }; aws-sdk-kms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1isrj19kzy9sb7a76a1c2n5x0d9lg1h2n7fp7cn13xjis0hpnlxj"; type = "gem"; }; version = "1.74.0"; }; aws-sdk-lambda = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gfysixcf5wsaqk0cycg3zryybs9zwvg0v6j9hn7zc99x27qjca4"; type = "gem"; }; version = "1.113.0"; }; aws-sdk-mq = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0pr2v6lf2rcnfsdbs5s5ig5mlvnfm1xwy2y8jcyp9w4s933ps9fg"; type = "gem"; }; version = "1.40.0"; }; aws-sdk-networkfirewall = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02bq2flz4kqcr9fvk09mvn6r7h1arnjjw87l0qkgyr94x8ngidpy"; type = "gem"; }; version = "1.39.0"; }; aws-sdk-networkmanager = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qpi693cjnzy91yyavmhgj6047kk04hslbqb7hgiqvz1ki4qr9q9"; type = "gem"; }; version = "1.40.0"; }; aws-sdk-organizations = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "169dz3ip2vz22mk6hczsd1v6lf2v428i0jhpllnay11zsficc6p1"; type = "gem"; }; version = "1.77.0"; }; aws-sdk-ram = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0rm6sr5kvdy9q1xjg00c80648l8j3cpc6l5fakfxiqhp256bf2ac"; type = "gem"; }; version = "1.26.0"; }; aws-sdk-rds = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yrc7ivykdcrq8s6isd368gr02jclwc140pckf1vyii2f2g79k30"; type = "gem"; }; version = "1.208.0"; }; aws-sdk-redshift = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08rgpxknp11q4dxzncn4x30bpqkd4ssi78wq2j0kfgl5qbid48y8"; type = "gem"; }; version = "1.107.0"; }; aws-sdk-route53 = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1p7py5g5bk9yxlg6h04rkvgzgbysj7zm63bpdrswxwzhynmb8p9v"; type = "gem"; }; version = "1.83.0"; }; aws-sdk-route53domains = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15v2fbm9563kad3hnac5372xr7lvhxdyggrjzx1rbn56kf7bcb6n"; type = "gem"; }; version = "1.54.0"; }; aws-sdk-route53resolver = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0i57m3vysjlbvfrf0jpyi343bi8nw1j9gjcm50sv3lzx0ix66bpi"; type = "gem"; }; version = "1.51.0"; }; aws-sdk-s3 = { - dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bnhpmi0iiaj88rqc5lhhnp2gyrk4fs8xz51lj36wwzng94qinya"; type = "gem"; }; version = "1.141.0"; }; aws-sdk-s3control = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kf3i430b6lwzf7dmm506jvm7xy0rj4zhc9kywcg4rc1fp0bmzh3"; type = "gem"; }; version = "1.43.0"; }; aws-sdk-secretsmanager = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xkx39yi2mlwyh3lyg6h39nzj5n059nc6idaqlnsjlrkkrh3i13i"; type = "gem"; }; version = "1.46.0"; }; aws-sdk-securityhub = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1z63plqdq0hhl6g78dlxvr04g8a81smxn223wqsz2macf8c96wgl"; type = "gem"; }; version = "1.99.0"; }; aws-sdk-servicecatalog = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zjxbpr5jj3znrsynazcjznaqcqbfpy646nzvl3c83gcwrsqj8s7"; type = "gem"; }; version = "1.60.0"; }; aws-sdk-ses = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xii4i4dia1w6hizfxvni8jawpikv9g26ixiw349x33l09f12cbw"; type = "gem"; }; version = "1.41.0"; }; aws-sdk-shield = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gk003vj7gs7a3rs79rs5bv5wcsyk9fsf3cc6ci3kbj5y5kbzabc"; type = "gem"; }; version = "1.60.0"; }; aws-sdk-signer = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ysspl6n2rw5hr3bz38k46k04nkbri0c54fc109kgw57fxfwq3fk"; type = "gem"; }; version = "1.32.0"; }; aws-sdk-simpledb = { - dependencies = ["aws-sdk-core" "aws-sigv2"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15vrakmbxz7pg9vf2gi8ssb6jg4k5jwrsik6x0hkjf3n4g3vfgqs"; type = "gem"; }; version = "1.29.0"; }; aws-sdk-sms = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17rmy3hzs3cv3vzr5j2swninwqdxf33hcci96pmy88wrcx4nav5x"; type = "gem"; }; version = "1.52.0"; }; aws-sdk-sns = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0zbn3gfksbszgdk806l96fmqa9npqm2gqgvjrqm4x44hl1a5cf8z"; type = "gem"; }; version = "1.70.0"; }; aws-sdk-sqs = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1nsr4q2g7sfap9vx8vk5532mkyww8an25qabwplsdy9s625p8ahl"; type = "gem"; }; version = "1.69.0"; }; aws-sdk-ssm = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xz10344dwm4pj8qnl19bnh99arxp7cd9mn2alslrnw7y2gipzz1"; type = "gem"; }; version = "1.162.0"; }; aws-sdk-states = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00ja9hkx4rdgd0242l8vmbfmb1qgvys3xs2ryap3ms3qaa76sach"; type = "gem"; }; version = "1.39.0"; }; aws-sdk-synthetics = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "10zh51r45pzbnx8fxjz8pppwlgbzpbvs4kaji1mi53cwpfprlhsz"; type = "gem"; }; version = "1.19.0"; }; aws-sdk-transfer = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "087y19nzkh26a7rac5ci7d792mdjfwg1mfm884r118g89y4imcdf"; type = "gem"; }; version = "1.73.0"; }; aws-sdk-waf = { - dependencies = ["aws-sdk-core" "aws-sigv4"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "036655pbqkvzwd05svimvn2v96srz370zmhczg1jzsca0249hxfr"; type = "gem"; }; version = "1.43.0"; }; aws-sigv2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zams698qxn5ws4f8basqp895b206pclsxsja5cnxkhrmj2n781j"; type = "gem"; }; version = "1.2.0"; }; aws-sigv4 = { - dependencies = ["aws-eventstream"]; - groups = ["default"]; - platforms = []; + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; type = "gem"; }; version = "1.8.0"; }; azure_graph_rbac = { - dependencies = ["ms_rest_azure"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ms_rest_azure" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mmx8jp85xa13j3asa9xnfi6wa8a9wwlp0hz0nj70fi3ydmcpdag"; type = "gem"; }; version = "0.17.2"; }; azure_mgmt_key_vault = { - dependencies = ["ms_rest_azure"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ms_rest_azure" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f4fai5l3453yirrwajds0jgah60gvawffx53a0jyv3b93ag88mz"; type = "gem"; }; version = "0.17.7"; }; azure_mgmt_resources = { - dependencies = ["ms_rest_azure"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ms_rest_azure" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p4hsa7xha8ifml58hmkxdkp7vyhm7sw624xam1mrq0hvzawvkm3"; type = "gem"; }; version = "0.18.2"; }; azure_mgmt_security = { - dependencies = ["ms_rest_azure"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ms_rest_azure" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11h2dyz4awzidvfj41h7k2q7mcqqcgzvm95fxpfxz609pbvck0g2"; type = "gem"; }; version = "0.19.0"; }; azure_mgmt_storage = { - dependencies = ["ms_rest_azure"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ms_rest_azure" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ik06knz7fxn9q2x874d7q1v2fb00askwh36wbl75fnsi2m5m6rq"; type = "gem"; }; version = "0.23.0"; }; bson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19vgs9rzzyvd7jfrzynjnc6518q0ffpfciyicfywbp77zl8nc9hk"; type = "gem"; }; version = "4.15.0"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; type = "gem"; }; version = "3.2.4"; }; chef-config = { - dependencies = ["addressable" "chef-utils" "fuzzyurl" "mixlib-config" "mixlib-shellout" "tomlrb"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "chef-utils" + "fuzzyurl" + "mixlib-config" + "mixlib-shellout" + "tomlrb" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1pvjf3qbb3apg9vdy4zykamm7801qz4m6256wjqn73fs87zs50y1"; type = "gem"; }; version = "18.3.0"; }; chef-licensing = { - dependencies = ["activesupport" "chef-config" "faraday" "faraday-http-cache" "tty-prompt" "tty-spinner"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "chef-config" + "faraday" + "faraday-http-cache" + "tty-prompt" + "tty-spinner" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1inm01nrkxsdvf0fak2qkpva1k7d4fpi8z9xf646bsgrjz2761rb"; type = "gem"; }; version = "0.7.5"; }; chef-telemetry = { - dependencies = ["chef-config" "concurrent-ruby"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "chef-config" + "concurrent-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0l9icc3nfdj28mip85vf31v5l60qsfqq3a5dscv7jryh1k94y05x"; type = "gem"; }; version = "1.1.1"; }; chef-utils = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0087jwhqslfm3ygj507dmmdp3k0589j5jl54mkwgbabbwan7lzw2"; type = "gem"; }; version = "18.3.0"; }; coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; type = "gem"; }; version = "1.2.2"; }; cookstyle = { - dependencies = ["rubocop"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0np0y94x1rgn13bwkd4hc5ysimn9ax57ihrpz5rl4fwrn3lybm1s"; type = "gem"; }; version = "7.32.2"; }; declarative = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0"; type = "gem"; }; version = "0.0.20"; }; diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; type = "gem"; }; version = "1.5.0"; }; docker-api = { - dependencies = ["excon" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "excon" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0g7dbniz15b3l2sy6xh0j0998dr5jypf3xg3bsygp0108vv7waxy"; type = "gem"; }; version = "2.2.0"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gpciaifmxql8h01ci12qq08dnqrdlzkkz6fmia9v9yc3r9a29si"; type = "gem"; }; version = "0.6.20231109"; }; dry-configurable = { - dependencies = ["concurrent-ruby" "dry-core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "dry-core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1qzq7aaw020qq06d2lpjq03a3gqnkyya040fjgyfp5q3dlr9c44v"; type = "gem"; }; version = "0.13.0"; }; dry-container = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aaj0ffwkbdagrry127x1gd4m6am88mhhfzi7czk8isdcj0r7gi3"; type = "gem"; }; version = "0.11.0"; }; dry-core = { - dependencies = ["concurrent-ruby" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1dpm9dk11x2zcjsymkl5jcz5nxhffsg7qqy5p6h92cppzbwmm656"; type = "gem"; }; version = "0.9.1"; }; dry-inflector = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rw0xxx1yga8r8bwgpywgshvqwd0w6shy0s4y1qrsz0cjxfwga0i"; type = "gem"; }; version = "0.3.0"; }; dry-logic = { - dependencies = ["concurrent-ruby" "dry-core" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "dry-core" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12ikf5j5n7bhwd0mzi27ikwdr944l78sp86ndvkbqpfq607335ys"; type = "gem"; }; version = "1.3.0"; }; dry-struct = { - dependencies = ["dry-core" "dry-types" "ice_nine" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dry-core" + "dry-types" + "ice_nine" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "177jvjlkjshv80cmy54jnfd18lryzaigd8mbm39iaigah7afhwf4"; type = "gem"; }; version = "1.5.2"; }; dry-types = { - dependencies = ["concurrent-ruby" "dry-container" "dry-core" "dry-inflector" "dry-logic" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "dry-container" + "dry-core" + "dry-inflector" + "dry-logic" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xpbh437hw16h8qxw7454vkabnq7w9g51sh4qs3z82xl8qvkhdqy"; type = "gem"; }; version = "1.6.1"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; type = "gem"; }; version = "1.12.0"; }; excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "138gi8b95nqv8m83dynpsszz11a6c5si1pym6y0b6bfb01r33pyi"; type = "gem"; }; version = "0.105.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday-em_http" + "faraday-em_synchrony" + "faraday-excon" + "faraday-httpclient" + "faraday-multipart" + "faraday-net_http" + "faraday-net_http_persistent" + "faraday-patron" + "faraday-rack" + "faraday-retry" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1c760q0ks4vj4wmaa7nh1dgvgqiwaw0mjr7v8cymy7i3ffgjxx90"; type = "gem"; }; version = "1.10.3"; }; faraday-cookie_jar = { - dependencies = ["faraday" "http-cookie"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "http-cookie" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk"; type = "gem"; }; version = "0.0.7"; }; faraday-em_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-follow_redirects = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y87p3yk15bjbk0z9mf01r50lzxvp7agr56lbm9gxiz26mb9fbfr"; type = "gem"; }; version = "0.3.0"; }; faraday-http-cache = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qvl49xpl2mwxgcj6aj11qrjk94xrqhbnpl5vp1y2275crnkddv4"; type = "gem"; }; version = "2.5.0"; }; faraday-httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-multipart = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh"; type = "gem"; }; version = "1.0.4"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; type = "gem"; }; version = "1.0.3"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r"; type = "gem"; }; version = "1.0.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; version = "1.16.3"; }; fuzzyurl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03qchs33vfwbsv5awxg3acfmlcrf5xbhnbrc83fdpamwya0glbjl"; type = "gem"; }; version = "0.9.0"; }; google-api-client = { - dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "rexml" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "googleauth" + "httpclient" + "mini_mime" + "representable" + "retriable" + "rexml" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1q1lsyyyfvff7727sr01j8qx6b30qpx6h0bna5s0bfz853fhl33b"; type = "gem"; }; version = "0.52.0"; }; googleauth = { - dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "jwt" + "memoist" + "multi_json" + "os" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0cm60nbmwzf83fzy06f3iyn5a6sw91siw8x9bdvpwwmjsmivana6"; type = "gem"; }; version = "0.14.0"; }; gssapi = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; type = "gem"; }; version = "1.3.1"; }; gyoku = { - dependencies = ["builder" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q"; type = "gem"; }; version = "1.4.0"; }; hashdiff = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c"; type = "gem"; }; version = "1.0.1"; }; hashie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; type = "gem"; }; version = "5.0.0"; }; highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; type = "gem"; }; version = "2.1.0"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk"; type = "gem"; }; version = "1.0.5"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; type = "gem"; }; version = "1.14.1"; }; ice_nine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; type = "gem"; }; version = "0.11.2"; }; inifile = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c5zmk7ia63yw5l2k14qhfdydxwi1sah1ppjdiicr4zcalvfn0xi"; type = "gem"; }; version = "3.0.0"; }; inspec = { - dependencies = ["cookstyle" "faraday_middleware" "inspec-core" "mongo" "progress_bar" "rake" "train" "train-aws" "train-habitat" "train-kubernetes" "train-winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "cookstyle" + "faraday_middleware" + "inspec-core" + "mongo" + "progress_bar" + "rake" + "train" + "train-aws" + "train-habitat" + "train-kubernetes" + "train-winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n1c3h1mrnw4059ih0n4gbi77qvwaigg6p8wmbpxkzya0jh45h55"; type = "gem"; }; version = "6.6.0"; }; inspec-bin = { - dependencies = ["inspec"]; - groups = ["default"]; - platforms = []; + dependencies = [ "inspec" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05g1sidv6grd9m7i85w4p5kpllds2jpvms6cmxs19948bm9abw91"; type = "gem"; }; version = "6.6.0"; }; inspec-core = { - dependencies = ["addressable" "chef-licensing" "chef-telemetry" "faraday" "faraday-follow_redirects" "hashie" "license-acceptance" "method_source" "mixlib-log" "multipart-post" "parallel" "parslet" "pry" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "thor" "tomlrb" "train-core" "tty-prompt" "tty-table"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "chef-licensing" + "chef-telemetry" + "faraday" + "faraday-follow_redirects" + "hashie" + "license-acceptance" + "method_source" + "mixlib-log" + "multipart-post" + "parallel" + "parslet" + "pry" + "rspec" + "rspec-its" + "rubyzip" + "semverse" + "sslshake" + "thor" + "tomlrb" + "train-core" + "tty-prompt" + "tty-table" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0mlw0jbik3hpypnxx9bz4ymfzi8v9f875c73nql9m2j0zxb10hwa"; type = "gem"; }; version = "6.6.0"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; type = "gem"; }; version = "2.7.1"; }; jsonpath = { - dependencies = ["multi_json" "to_regexp"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "multi_json" + "to_regexp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zim5bl7zsbccd502iy63f7c3b6dw0a820z7q8kpv66hncavb7gp"; type = "gem"; }; version = "0.9.9"; }; jwt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87"; type = "gem"; }; version = "2.7.1"; }; k8s-ruby = { - dependencies = ["dry-configurable" "dry-struct" "dry-types" "excon" "hashdiff" "jsonpath" "recursive-open-struct" "yajl-ruby" "yaml-safe_load_stream3"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dry-configurable" + "dry-struct" + "dry-types" + "excon" + "hashdiff" + "jsonpath" + "recursive-open-struct" + "yajl-ruby" + "yaml-safe_load_stream3" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "09q2lxwcsdmnqi91c62gc89bvwlq0arn5nvrl6g1whg46zvmis5z"; type = "gem"; }; version = "0.14.0"; }; license-acceptance = { - dependencies = ["pastel" "tomlrb" "tty-box" "tty-prompt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "tomlrb" + "tty-box" + "tty-prompt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12h5a3j57h50xkfpdz9gr42k0v8g1qxn2pnj5hbbzbmdhydjbjzf"; type = "gem"; }; version = "2.1.13"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "little-plugger" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zflchpx4g8c110gjdcs540bk5a336nq6nmx379rdg56xw0pjd02"; type = "gem"; }; version = "2.3.1"; }; memoist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55"; type = "gem"; }; version = "0.16.2"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; type = "gem"; }; version = "1.0.0"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; type = "gem"; }; version = "5.20.0"; }; mixlib-config = { - dependencies = ["tomlrb"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tomlrb" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j0122lv2qgccl61njqi0pj6sp6nb85y07gcmw16bwg4k0c8nx6p"; type = "gem"; }; version = "3.0.27"; }; mixlib-log = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n5dm5iz90ijvjn59jfm8gb8hgsvbj0f1kpzbl38b02z0z4a4v7x"; type = "gem"; }; version = "3.0.9"; }; mixlib-shellout = { - dependencies = ["chef-utils"]; - groups = ["default"]; - platforms = []; + dependencies = [ "chef-utils" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zkwg76y96nkh1mv0k92ybq46cr06v1wmic16129ls3yqzwx3xj6"; type = "gem"; }; version = "3.2.7"; }; mongo = { - dependencies = ["bson"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bson" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mkksik7mffwm29dz0pxjfz87rmm578nqzg8bc4kp076xqjwn2xp"; type = "gem"; }; version = "2.13.2"; }; ms_rest = { - dependencies = ["concurrent-ruby" "faraday" "timeliness"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "faraday" + "timeliness" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jiha1bda5knpjqjymwik6i41n69gb0phcrgvmgc5icl4mcisai7"; type = "gem"; }; version = "0.7.6"; }; ms_rest_azure = { - dependencies = ["concurrent-ruby" "faraday" "faraday-cookie_jar" "ms_rest"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "faraday" + "faraday-cookie_jar" + "ms_rest" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06i37b84r2q206kfm5vsi9s1qiiy09091vhvc5pzb7320h0hc1ih"; type = "gem"; }; version = "0.12.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lgyysrpl50wgcb9ahg29i4p01z0irb3p9lirygma0kkfr5dgk9x"; type = "gem"; }; version = "2.3.0"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jyj6j7w9zpj2zhp4dyhdjiwsn9rqwksj7s7fzpnn7rx2xvz2a1a"; type = "gem"; }; version = "7.2.0"; }; nori = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"; type = "gem"; }; version = "2.6.0"; }; options = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1s650nwnabx66w584m1cyw82icyym6hv5kzfsbp38cinkr5klh9j"; type = "gem"; }; version = "2.3.2"; }; os = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap"; type = "gem"; }; version = "1.1.4"; }; parallel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597"; type = "gem"; }; version = "1.23.0"; }; parser = { - dependencies = ["ast" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ast" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd"; type = "gem"; }; version = "3.2.2.4"; }; parslet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12nrzfwjphjlakb9pmpj70hgjwgzvnr8i1zfzddifgyd44vspl88"; type = "gem"; }; version = "1.8.2"; }; pastel = { - dependencies = ["tty-color"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-color" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8"; type = "gem"; }; version = "0.8.0"; }; progress_bar = { - dependencies = ["highline" "options"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "highline" + "options" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "04kv6h5mdjd9zf8mcf2dplxls06n2jf72281s74k6b2ar731hc47"; type = "gem"; }; version = "1.3.3"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; type = "gem"; }; version = "0.14.2"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; type = "gem"; }; version = "5.0.4"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; version = "1.7.3"; }; rainbow = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy"; type = "gem"; }; version = "13.1.0"; }; recursive-open-struct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nnyr6qsqrcszf6c10n4zfjs8h9n67zvsmx6mp8brkigamr8llx3"; type = "gem"; }; version = "1.1.3"; }; regexp_parser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xrghj2vka7girycp1m88kvl4qxkm4mj4djz4w1jzywb4v97fclm"; type = "gem"; }; version = "2.8.3"; }; representable = { - dependencies = ["declarative" "trailblazer-option" "uber"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "declarative" + "trailblazer-option" + "uber" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1kms3r6w6pnryysnaqqa9fsn0v73zx1ilds9d1c565n3xdzbyafc"; type = "gem"; }; version = "3.2.0"; }; retriable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha"; type = "gem"; }; version = "3.1.2"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; version = "3.2.6"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"; type = "gem"; }; version = "3.12.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm"; type = "gem"; }; version = "3.12.2"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89"; type = "gem"; }; version = "3.12.3"; }; rspec-its = { - dependencies = ["rspec-core" "rspec-expectations"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rspec-core" + "rspec-expectations" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15zafd70gxly5i0s00nky14sj2n92dnj3xpj83ysl3c2wx0119ad"; type = "gem"; }; version = "1.3.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy"; type = "gem"; }; version = "3.12.6"; }; rspec-support = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr"; type = "gem"; }; version = "3.12.1"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rexml" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l3q96il8zx5zl041lxvmfrndxxpk08fksza1gqshhjjzms7c2rk"; type = "gem"; }; version = "1.25.1"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default"]; - platforms = []; + dependencies = [ "parser" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cs9cc5p9q70valk4na3lki4xs88b52486p2v46yx3q1n5969bgs"; type = "gem"; }; version = "1.30.0"; }; ruby-progressbar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyntlm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv"; type = "gem"; }; version = "0.6.3"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; semverse = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrh6p0756n3gjnk6am1cc4kmw6wzzd02hcajj27rlsqg3p6lwn9"; type = "gem"; }; version = "3.0.2"; }; signet = { - dependencies = ["addressable" "faraday" "jwt" "multi_json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + "jwt" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fzakk5y7zzii76zlkynpp1c764mzkkfg4mpj18f5pf2xp1aikb6"; type = "gem"; }; version = "0.18.0"; }; sslshake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r3ifksx8a05yqhv7nc4cwan8bwmxgq5kyv7q7hy2h9lv5zcjs8h"; type = "gem"; }; version = "1.3.1"; }; strings = { - dependencies = ["strings-ansi" "unicode-display_width" "unicode_utils"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "strings-ansi" + "unicode-display_width" + "unicode_utils" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yynb0qhhhplmpzavfrrlwdnd1rh7rkwzcs4xf0mpy2wr6rr6clk"; type = "gem"; }; version = "0.2.1"; }; strings-ansi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "120wa6yjc63b84lprglc52f40hx3fx920n4dmv14rad41rv2s9lh"; type = "gem"; }; version = "0.2.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg"; type = "gem"; }; version = "1.2.2"; }; timeliness = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvp9b7yn4pykn794cibylc9ys1lw7fzv7djx1433icxw4y26my3"; type = "gem"; }; version = "0.3.10"; }; to_regexp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v"; type = "gem"; }; version = "0.2.1"; }; tomlrb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00x5y9h4fbvrv4xrjk4cqlkm4vq8gv73ax4alj3ac2x77zsnnrk8"; type = "gem"; }; version = "1.3.0"; }; trailblazer-option = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18s48fndi2kfvrfzmq6rxvjfwad347548yby0341ixz1lhpg3r10"; type = "gem"; }; version = "0.1.2"; }; train = { - dependencies = ["activesupport" "azure_graph_rbac" "azure_mgmt_key_vault" "azure_mgmt_resources" "azure_mgmt_security" "azure_mgmt_storage" "docker-api" "google-api-client" "googleauth" "inifile" "train-core" "train-winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activesupport" + "azure_graph_rbac" + "azure_mgmt_key_vault" + "azure_mgmt_resources" + "azure_mgmt_security" + "azure_mgmt_storage" + "docker-api" + "google-api-client" + "googleauth" + "inifile" + "train-core" + "train-winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "18ghsakhnm4xjzfi53d1ij5a2vgr1nk8fgqrr05rbya7c9sbh8ns"; type = "gem"; }; version = "3.11.0"; }; train-aws = { - dependencies = ["aws-sdk-account" "aws-sdk-alexaforbusiness" "aws-sdk-amplify" "aws-sdk-apigateway" "aws-sdk-apigatewayv2" "aws-sdk-applicationautoscaling" "aws-sdk-athena" "aws-sdk-autoscaling" "aws-sdk-batch" "aws-sdk-budgets" "aws-sdk-cloudformation" "aws-sdk-cloudfront" "aws-sdk-cloudhsm" "aws-sdk-cloudhsmv2" "aws-sdk-cloudtrail" "aws-sdk-cloudwatch" "aws-sdk-cloudwatchevents" "aws-sdk-cloudwatchlogs" "aws-sdk-codecommit" "aws-sdk-codedeploy" "aws-sdk-codepipeline" "aws-sdk-cognitoidentity" "aws-sdk-cognitoidentityprovider" "aws-sdk-configservice" "aws-sdk-core" "aws-sdk-costandusagereportservice" "aws-sdk-databasemigrationservice" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-ecr" "aws-sdk-ecrpublic" "aws-sdk-ecs" "aws-sdk-efs" "aws-sdk-eks" "aws-sdk-elasticache" "aws-sdk-elasticbeanstalk" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-elasticsearchservice" "aws-sdk-emr" "aws-sdk-eventbridge" "aws-sdk-firehose" "aws-sdk-glue" "aws-sdk-guardduty" "aws-sdk-iam" "aws-sdk-kafka" "aws-sdk-kinesis" "aws-sdk-kms" "aws-sdk-lambda" "aws-sdk-mq" "aws-sdk-networkfirewall" "aws-sdk-networkmanager" "aws-sdk-organizations" "aws-sdk-ram" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-route53domains" "aws-sdk-route53resolver" "aws-sdk-s3" "aws-sdk-s3control" "aws-sdk-secretsmanager" "aws-sdk-securityhub" "aws-sdk-servicecatalog" "aws-sdk-ses" "aws-sdk-shield" "aws-sdk-signer" "aws-sdk-simpledb" "aws-sdk-sms" "aws-sdk-sns" "aws-sdk-sqs" "aws-sdk-ssm" "aws-sdk-states" "aws-sdk-synthetics" "aws-sdk-transfer" "aws-sdk-waf"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "aws-sdk-account" + "aws-sdk-alexaforbusiness" + "aws-sdk-amplify" + "aws-sdk-apigateway" + "aws-sdk-apigatewayv2" + "aws-sdk-applicationautoscaling" + "aws-sdk-athena" + "aws-sdk-autoscaling" + "aws-sdk-batch" + "aws-sdk-budgets" + "aws-sdk-cloudformation" + "aws-sdk-cloudfront" + "aws-sdk-cloudhsm" + "aws-sdk-cloudhsmv2" + "aws-sdk-cloudtrail" + "aws-sdk-cloudwatch" + "aws-sdk-cloudwatchevents" + "aws-sdk-cloudwatchlogs" + "aws-sdk-codecommit" + "aws-sdk-codedeploy" + "aws-sdk-codepipeline" + "aws-sdk-cognitoidentity" + "aws-sdk-cognitoidentityprovider" + "aws-sdk-configservice" + "aws-sdk-core" + "aws-sdk-costandusagereportservice" + "aws-sdk-databasemigrationservice" + "aws-sdk-dynamodb" + "aws-sdk-ec2" + "aws-sdk-ecr" + "aws-sdk-ecrpublic" + "aws-sdk-ecs" + "aws-sdk-efs" + "aws-sdk-eks" + "aws-sdk-elasticache" + "aws-sdk-elasticbeanstalk" + "aws-sdk-elasticloadbalancing" + "aws-sdk-elasticloadbalancingv2" + "aws-sdk-elasticsearchservice" + "aws-sdk-emr" + "aws-sdk-eventbridge" + "aws-sdk-firehose" + "aws-sdk-glue" + "aws-sdk-guardduty" + "aws-sdk-iam" + "aws-sdk-kafka" + "aws-sdk-kinesis" + "aws-sdk-kms" + "aws-sdk-lambda" + "aws-sdk-mq" + "aws-sdk-networkfirewall" + "aws-sdk-networkmanager" + "aws-sdk-organizations" + "aws-sdk-ram" + "aws-sdk-rds" + "aws-sdk-redshift" + "aws-sdk-route53" + "aws-sdk-route53domains" + "aws-sdk-route53resolver" + "aws-sdk-s3" + "aws-sdk-s3control" + "aws-sdk-secretsmanager" + "aws-sdk-securityhub" + "aws-sdk-servicecatalog" + "aws-sdk-ses" + "aws-sdk-shield" + "aws-sdk-signer" + "aws-sdk-simpledb" + "aws-sdk-sms" + "aws-sdk-sns" + "aws-sdk-sqs" + "aws-sdk-ssm" + "aws-sdk-states" + "aws-sdk-synthetics" + "aws-sdk-transfer" + "aws-sdk-waf" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0b0p6ig4dfd2y1cfwdlzxj7wsbllwyzxd1wg87z1vs78v892ip5n"; type = "gem"; }; version = "0.2.36"; }; train-core = { - dependencies = ["addressable" "ffi" "json" "mixlib-shellout" "net-scp" "net-ssh"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "ffi" + "json" + "mixlib-shellout" + "net-scp" + "net-ssh" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j3pfsdrrqpcqp9qbqdh4j1557hww3q3gyjjpnzmgkw43vv685gb"; type = "gem"; }; version = "3.11.0"; }; train-habitat = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qdi2q5djzfl6x3fv2vrvybjdvrnx53nfh4vzrcl2h7nrf801n6v"; type = "gem"; }; version = "0.2.22"; }; train-kubernetes = { - dependencies = ["k8s-ruby" "train"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "k8s-ruby" + "train" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02gy54pybd53hbaay1kllk269pjwbjzfr3jlgxa6sd68ljy7s5w2"; type = "gem"; }; version = "0.1.12"; }; train-winrm = { - dependencies = ["winrm" "winrm-elevated" "winrm-fs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "winrm" + "winrm-elevated" + "winrm-fs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "07haiwh7jcg00mmiarj5g7k9kclq40yqd4j4r3c01qn2cq1sw2xb"; type = "gem"; }; version = "0.2.13"; }; tty-box = { - dependencies = ["pastel" "strings" "tty-cursor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "strings" + "tty-cursor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "12yzhl3s165fl8pkfln6mi6mfy3vg7p63r3dvcgqfhyzq6h57x0p"; type = "gem"; }; version = "0.7.0"; }; tty-color = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g"; type = "gem"; }; version = "0.6.0"; }; tty-cursor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr"; type = "gem"; }; version = "0.7.1"; }; tty-prompt = { - dependencies = ["pastel" "tty-reader"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "tty-reader" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw"; type = "gem"; }; version = "0.23.1"; }; tty-reader = { - dependencies = ["tty-cursor" "tty-screen" "wisper"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "tty-cursor" + "tty-screen" + "wisper" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6"; type = "gem"; }; version = "0.9.0"; }; tty-screen = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; type = "gem"; }; version = "0.8.1"; }; tty-spinner = { - dependencies = ["tty-cursor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "tty-cursor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf"; type = "gem"; }; version = "0.9.3"; }; tty-table = { - dependencies = ["pastel" "strings" "tty-screen"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pastel" + "strings" + "tty-screen" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fcrbfb0hjd9vkkazkksri93dv9wgs2hp6p1xwb1lp43a13pmhpx"; type = "gem"; }; version = "0.12.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; uber = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; type = "gem"; }; version = "0.1.0"; }; unicode-display_width = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; version = "2.5.0"; }; unicode_utils = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h1a5yvrxzlf0lxxa1ya31jcizslf774arnsd89vgdhk4g7x08mr"; type = "gem"; }; version = "1.4.0"; }; winrm = { - dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "builder" + "erubi" + "gssapi" + "gyoku" + "httpclient" + "logging" + "nori" + "rubyntlm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i"; type = "gem"; }; version = "2.3.6"; }; winrm-elevated = { - dependencies = ["erubi" "winrm" "winrm-fs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "winrm" + "winrm-fs" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lmlaii8qapn84wxdg5d82gbailracgk67d0qsnbdnffcg8kswzd"; type = "gem"; }; version = "1.2.3"; }; winrm-fs = { - dependencies = ["erubi" "logging" "rubyzip" "winrm"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "erubi" + "logging" + "rubyzip" + "winrm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d"; type = "gem"; }; version = "1.3.5"; }; wisper = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf"; type = "gem"; }; version = "2.0.1"; }; yajl-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc"; type = "gem"; }; version = "1.4.3"; }; yaml-safe_load_stream3 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10g4wy0vmggxnb3bz1zz74rfhhzqa50hc553sn7yqrbywpzn6kzx"; type = "gem"; }; version = "0.1.2"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn"; type = "gem"; }; diff --git a/pkgs/tools/misc/isoimagewriter/default.nix b/pkgs/tools/misc/isoimagewriter/default.nix index df80077e66570..b26629065cca3 100644 --- a/pkgs/tools/misc/isoimagewriter/default.nix +++ b/pkgs/tools/misc/isoimagewriter/default.nix @@ -1,5 +1,18 @@ -{ lib, mkDerivation, fetchurl, cmake, extra-cmake-modules, wrapQtAppsHook, -karchive, kcoreaddons, kcrash, kiconthemes, kwidgetsaddons, solid, qgpgme }: +{ + lib, + mkDerivation, + fetchurl, + cmake, + extra-cmake-modules, + wrapQtAppsHook, + karchive, + kcoreaddons, + kcrash, + kiconthemes, + kwidgetsaddons, + solid, + qgpgme, +}: mkDerivation rec { pname = "isoimagewriter"; version = "1.0.0"; @@ -9,7 +22,11 @@ mkDerivation rec { hash = "sha256-ppAiMD7Bvra3tPDWjlnkGZ08mGh2fLnrI8bdGZngal0="; }; - nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + wrapQtAppsHook + ]; buildInputs = [ karchive kcoreaddons diff --git a/pkgs/tools/misc/kakoune-cr/default.nix b/pkgs/tools/misc/kakoune-cr/default.nix index 8522bfa7f7824..4d97fc89794c5 100644 --- a/pkgs/tools/misc/kakoune-cr/default.nix +++ b/pkgs/tools/misc/kakoune-cr/default.nix @@ -1,4 +1,11 @@ -{ lib, crystal, fetchFromGitHub, fetchurl, jq, bash }: +{ + lib, + crystal, + fetchFromGitHub, + fetchurl, + jq, + bash, +}: let icon = fetchurl { url = "https://github.com/mawww/kakoune/raw/master/doc/kakoune_logo.svg"; @@ -44,7 +51,10 @@ crystal.buildCrystalPackage rec { homepage = "https://github.com/alexherbo2/kakoune.cr"; description = "Command-line tool for Kakoune"; license = licenses.unlicense; - maintainers = with maintainers; [ philiptaron malte-v ]; + maintainers = with maintainers; [ + philiptaron + malte-v + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/killport/default.nix b/pkgs/tools/misc/killport/default.nix index 24f66a8b497fa..514d61a3bf150 100644 --- a/pkgs/tools/misc/killport/default.nix +++ b/pkgs/tools/misc/killport/default.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchCrate +{ + lib, + rustPlatform, + fetchCrate, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/misc/kronometer/default.nix b/pkgs/tools/misc/kronometer/default.nix index f8f818c9cc9b8..f8442ecd6c467 100644 --- a/pkgs/tools/misc/kronometer/default.nix +++ b/pkgs/tools/misc/kronometer/default.nix @@ -1,7 +1,12 @@ { - mkDerivation, fetchurl, lib, - extra-cmake-modules, kdoctools, - kconfig, kcrash, kinit + mkDerivation, + fetchurl, + lib, + extra-cmake-modules, + kdoctools, + kconfig, + kcrash, + kinit, }: mkDerivation rec { @@ -20,6 +25,13 @@ mkDerivation rec { maintainers = with maintainers; [ peterhoeg ]; mainProgram = "kronometer"; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - propagatedBuildInputs = [ kconfig kcrash kinit ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + propagatedBuildInputs = [ + kconfig + kcrash + kinit + ]; } diff --git a/pkgs/tools/misc/krunner-translator/default.nix b/pkgs/tools/misc/krunner-translator/default.nix index e500b7c1ddea8..ce20c400f5b95 100644 --- a/pkgs/tools/misc/krunner-translator/default.nix +++ b/pkgs/tools/misc/krunner-translator/default.nix @@ -1,17 +1,18 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, extra-cmake-modules -, krunner -, kconfigwidgets -, ktextwidgets -, kservice -, ki18n -, translate-shell -, qtbase -, qtdeclarative -, qtlocation +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + extra-cmake-modules, + krunner, + kconfigwidgets, + ktextwidgets, + kservice, + ki18n, + translate-shell, + qtbase, + qtdeclarative, + qtlocation, }: stdenv.mkDerivation rec { @@ -25,7 +26,10 @@ stdenv.mkDerivation rec { sha256 = "8MusGvNhTxa8Sm8WiSwRaVIfZOeXmgcO4T6H9LqFGLs="; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; dontWrapQtApps = true; diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix index 05920cb7c7904..f56c9a537378c 100644 --- a/pkgs/tools/misc/ksnip/default.nix +++ b/pkgs/tools/misc/ksnip/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, cmake -, extra-cmake-modules -, fetchFromGitHub -, fetchpatch -, kcolorpicker -, kimageannotator -, wrapQtAppsHook -, qtsvg -, qttools -, qtx11extras +{ + stdenv, + lib, + cmake, + extra-cmake-modules, + fetchFromGitHub, + fetchpatch, + kcolorpicker, + kimageannotator, + wrapQtAppsHook, + qtsvg, + qttools, + qtx11extras, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/misc/lice/default.nix b/pkgs/tools/misc/lice/default.nix index f873907c51efd..0c41956f51b5f 100644 --- a/pkgs/tools/misc/lice/default.nix +++ b/pkgs/tools/misc/lice/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchPypi , setuptools, pytestCheckHook }: +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + pytestCheckHook, +}: buildPythonPackage rec { pname = "lice"; diff --git a/pkgs/tools/misc/logstash/7.x.nix b/pkgs/tools/misc/logstash/7.x.nix index c7e21e0521d4b..3a09752bf6382 100644 --- a/pkgs/tools/misc/logstash/7.x.nix +++ b/pkgs/tools/misc/logstash/7.x.nix @@ -1,12 +1,13 @@ -{ config -, elk7Version -, enableUnfree ? true -, lib -, stdenv -, fetchurl -, makeWrapper -, nixosTests -, jre +{ + config, + elk7Version, + enableUnfree ? true, + lib, + stdenv, + fetchurl, + makeWrapper, + nixosTests, + jre, }: let @@ -14,22 +15,22 @@ let arch = lib.elemAt info 0; plat = lib.elemAt info 1; hashes = - if enableUnfree - then { - x86_64-linux = "sha512-ze0hJxUHCN52bOxUs5upDj64tIE58P2BTow2kaCo6HreRiF9rfTTzNkNr/hCmEgE+/oFbgSEuOQLz+6G373RDQ=="; - x86_64-darwin = "sha512-FOFd8d+4UddSGorjuUWW/JbQ5fQH4LU1f1HJLmdbfnb8Q5L4GEveb2LmWNILU8/a85V4HGmD6lL8mCJqH9CULQ=="; - aarch64-linux = "sha512-giYqW88/6iT3haXzJVn/+b7uxjYhHq4GERmiq3tMIvjxDyu7B6g+X7JneaTYxhpNdn6gOD/hfXgNv+hFRq6lgg=="; - } - else { - x86_64-linux = "sha512-OC9gx76k+RMdjqcDkrJCNbPYSQameyddaYMxUIB0foVxCmo6UvbdcwZGXRLPPn95in8rYOCjvPoBkmupiQw9xQ=="; - x86_64-darwin = "sha512-1OEfEED/jjlT3Fd095Y5VYiWKnovytI3UYCCy1Rs3tEvkZPHYwqIQHfMQYeAvGgUci37ADwEDu8xrSQULHToLw=="; - aarch64-linux = "sha512-QWW0AXOMNIXThxpUiRomvINm+917MvGrSDndrEw11IYYuvi0d0dckJiRytfnBbBNoOKpVhB68uOmfjIcZBNpWQ=="; - }; + if enableUnfree then + { + x86_64-linux = "sha512-ze0hJxUHCN52bOxUs5upDj64tIE58P2BTow2kaCo6HreRiF9rfTTzNkNr/hCmEgE+/oFbgSEuOQLz+6G373RDQ=="; + x86_64-darwin = "sha512-FOFd8d+4UddSGorjuUWW/JbQ5fQH4LU1f1HJLmdbfnb8Q5L4GEveb2LmWNILU8/a85V4HGmD6lL8mCJqH9CULQ=="; + aarch64-linux = "sha512-giYqW88/6iT3haXzJVn/+b7uxjYhHq4GERmiq3tMIvjxDyu7B6g+X7JneaTYxhpNdn6gOD/hfXgNv+hFRq6lgg=="; + } + else + { + x86_64-linux = "sha512-OC9gx76k+RMdjqcDkrJCNbPYSQameyddaYMxUIB0foVxCmo6UvbdcwZGXRLPPn95in8rYOCjvPoBkmupiQw9xQ=="; + x86_64-darwin = "sha512-1OEfEED/jjlT3Fd095Y5VYiWKnovytI3UYCCy1Rs3tEvkZPHYwqIQHfMQYeAvGgUci37ADwEDu8xrSQULHToLw=="; + aarch64-linux = "sha512-QWW0AXOMNIXThxpUiRomvINm+917MvGrSDndrEw11IYYuvi0d0dckJiRytfnBbBNoOKpVhB68uOmfjIcZBNpWQ=="; + }; this = stdenv.mkDerivation rec { version = elk7Version; pname = "logstash${lib.optionalString (!enableUnfree) "-oss"}"; - src = fetchurl { url = "https://artifacts.elastic.co/downloads/logstash/${pname}-${version}-${plat}-${arch}.tar.gz"; hash = hashes.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); @@ -69,20 +70,22 @@ let homepage = "https://www.elastic.co/products/logstash"; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # source bundles dependencies as jars - binaryNativeCode # bundled jruby includes native code + binaryBytecode # source bundles dependencies as jars + binaryNativeCode # bundled jruby includes native code ]; license = if enableUnfree then licenses.elastic20 else licenses.asl20; platforms = platforms.unix; - maintainers = with maintainers; [ offline basvandijk ]; + maintainers = with maintainers; [ + offline + basvandijk + ]; }; - passthru.tests = - lib.optionalAttrs (config.allowUnfree && enableUnfree) ( - assert this.drvPath == nixosTests.elk.unfree.ELK-7.elkPackages.logstash.drvPath; - { - elk = nixosTests.elk.unfree.ELK-7; - } - ); + passthru.tests = lib.optionalAttrs (config.allowUnfree && enableUnfree) ( + assert this.drvPath == nixosTests.elk.unfree.ELK-7.elkPackages.logstash.drvPath; + { + elk = nixosTests.elk.unfree.ELK-7; + } + ); }; in this diff --git a/pkgs/tools/misc/logstash/contrib.nix b/pkgs/tools/misc/logstash/contrib.nix index 64c0c9b9b3ff2..a6469d830b765 100644 --- a/pkgs/tools/misc/logstash/contrib.nix +++ b/pkgs/tools/misc/logstash/contrib.nix @@ -1,4 +1,8 @@ -{ stdenv, lib, fetchzip }: +{ + stdenv, + lib, + fetchzip, +}: # Note that plugins are supposed to be installed as: # $path/logstash/{inputs,codecs,filters,outputs}/*.rb @@ -7,13 +11,13 @@ stdenv.mkDerivation rec { pname = "logstash-contrib"; src = fetchzip { - url = "https://download.elasticsearch.org/logstash/logstash/logstash-contrib-${version}.tar.gz"; - sha256 = "1yj8sf3b526gixh3c6zhgkfpg4f0c72p1lzhfhdx8b3lw7zjkj0k"; + url = "https://download.elasticsearch.org/logstash/logstash/logstash-contrib-${version}.tar.gz"; + sha256 = "1yj8sf3b526gixh3c6zhgkfpg4f0c72p1lzhfhdx8b3lw7zjkj0k"; }; - dontBuild = true; + dontBuild = true; dontPatchELF = true; - dontStrip = true; + dontStrip = true; dontPatchShebangs = true; installPhase = '' @@ -25,9 +29,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Community-maintained logstash plugins"; - homepage = "https://github.com/elasticsearch/logstash-contrib"; - license = lib.licenses.asl20; - platforms = lib.platforms.unix; + homepage = "https://github.com/elasticsearch/logstash-contrib"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; maintainers = [ ]; }; } diff --git a/pkgs/tools/misc/lolcat/default.nix b/pkgs/tools/misc/lolcat/default.nix index b56606d21d5df..b91c5c9967eea 100644 --- a/pkgs/tools/misc/lolcat/default.nix +++ b/pkgs/tools/misc/lolcat/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "lolcat"; @@ -9,9 +13,13 @@ bundlerApp { meta = with lib; { description = "Rainbow version of cat"; - homepage = "https://github.com/busyloop/lolcat"; - license = licenses.bsd3; - maintainers = with maintainers; [ StillerHarpo manveru nicknovitski ]; + homepage = "https://github.com/busyloop/lolcat"; + license = licenses.bsd3; + maintainers = with maintainers; [ + StillerHarpo + manveru + nicknovitski + ]; mainProgram = "lolcat"; }; } diff --git a/pkgs/tools/misc/lolcat/gemset.nix b/pkgs/tools/misc/lolcat/gemset.nix index 9d71d400a69ea..665d255b820b5 100644 --- a/pkgs/tools/misc/lolcat/gemset.nix +++ b/pkgs/tools/misc/lolcat/gemset.nix @@ -1,40 +1,44 @@ { lolcat = { - dependencies = ["manpages" "optimist" "paint"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "manpages" + "optimist" + "paint" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13p8i08vdqfg2bqyjkl8jsp7gw8cf6r68i8plp9zqavlqadqlg4q"; type = "gem"; }; version = "100.0.1"; }; manpages = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11p6ilnfda6af15ks3xiz2pr0hkvdvadnk1xm4ahqlf84dld3fnd"; type = "gem"; }; version = "0.6.1"; }; optimist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vg2chy1cfmdj6c1gryl8zvjhhmb3plwgyh1jfnpq4fnfqv7asrk"; type = "gem"; }; version = "3.0.1"; }; paint = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "014b5rkbg6qri0cwkq972bfi93zvqdgswgvphjrgjl0pr6hywlkl"; type = "gem"; }; diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix index 6ba07b3d874e4..a30f368ba76a1 100644 --- a/pkgs/tools/misc/lorri/default.nix +++ b/pkgs/tools/misc/lorri/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, pkgs -, rustPackages -, fetchFromGitHub -, rustPlatform -, writers -, nixosTests -, CoreServices -, Security +{ + lib, + stdenv, + pkgs, + rustPackages, + fetchFromGitHub, + rustPlatform, + writers, + nixosTests, + CoreServices, + Security, }: let @@ -18,7 +19,8 @@ let sha256 = "sha256-dEdKMgE4Jd8CCvtGQDZNDCYOomZAV8aR7Cmtyn8RfTo="; cargoHash = "sha256-+sKxKxc2DVHn54uQa8K+CKmm0A0ym9SXgtOcfRZ6R5E="; -in (rustPlatform.buildRustPackage rec { +in +(rustPlatform.buildRustPackage rec { pname = "lorri"; inherit version; @@ -29,7 +31,11 @@ in (rustPlatform.buildRustPackage rec { inherit sha256; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; inherit cargoHash; doCheck = false; @@ -38,7 +44,10 @@ in (rustPlatform.buildRustPackage rec { RUN_TIME_CLOSURE = pkgs.callPackage ./runtime.nix { }; nativeBuildInputs = [ rustPackages.rustfmt ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + Security + ]; # copy the docs to the $man and $doc outputs postInstall = '' @@ -66,7 +75,11 @@ in (rustPlatform.buildRustPackage rec { description = "Your project's nix-env"; homepage = "https://github.com/nix-community/lorri"; license = licenses.asl20; - maintainers = with maintainers; [ grahamc Profpatsch nyarly ]; + maintainers = with maintainers; [ + grahamc + Profpatsch + nyarly + ]; mainProgram = "lorri"; }; }) diff --git a/pkgs/tools/misc/lorri/runtime.nix b/pkgs/tools/misc/lorri/runtime.nix index 7e6883be0644d..c5620a0a568ba 100644 --- a/pkgs/tools/misc/lorri/runtime.nix +++ b/pkgs/tools/misc/lorri/runtime.nix @@ -1,37 +1,41 @@ { # Plumbing tools: - closureInfo -, runCommand -, buildEnv -, # Actual dependencies to propagate: - bash -, coreutils + closureInfo, + runCommand, + buildEnv, + # Actual dependencies to propagate: + bash, + coreutils, }: let tools = buildEnv { name = "lorri-runtime-tools"; - paths = [ coreutils bash ]; + paths = [ + coreutils + bash + ]; }; runtimeClosureInfo = closureInfo { rootPaths = [ tools ]; }; - closureToNix = runCommand "closure.nix" {} - '' - ( - echo '{ dep, ... }: [' - sed -E 's/^(.*)$/ (dep \1)/' ${runtimeClosureInfo}/store-paths - echo ']' - ) > $out - ''; + closureToNix = runCommand "closure.nix" { } '' + ( + echo '{ dep, ... }: [' + sed -E 's/^(.*)$/ (dep \1)/' ${runtimeClosureInfo}/store-paths + echo ']' + ) > $out + ''; - runtimeClosureInfoAsNix = runCommand "runtime-closure.nix" { - runtime_closure_list = closureToNix; - tools_build_host = tools; - } - '' - substituteAll ${./runtime-closure.nix.template} $out - ''; + runtimeClosureInfoAsNix = + runCommand "runtime-closure.nix" + { + runtime_closure_list = closureToNix; + tools_build_host = tools; + } + '' + substituteAll ${./runtime-closure.nix.template} $out + ''; in runtimeClosureInfoAsNix diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix index 89653c26d6a03..f953f57cef2b1 100644 --- a/pkgs/tools/misc/minicom/default.nix +++ b/pkgs/tools/misc/minicom/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitLab -, autoreconfHook -, makeWrapper -, pkg-config -, lrzsz -, ncurses -, libiconv -, IOKit +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + makeWrapper, + pkg-config, + lrzsz, + ncurses, + libiconv, + IOKit, }: stdenv.mkDerivation rec { @@ -22,9 +23,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-+fKvHrApDXm94LItXv+xSDIE5zD7rTY5IeNSuzQglpg="; }; - buildInputs = [ ncurses ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv IOKit ]; + buildInputs = + [ ncurses ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + IOKit + ]; - nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + makeWrapper + pkg-config + ]; enableParallelBuilding = true; diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix index e557a05f30627..584a686ed5109 100644 --- a/pkgs/tools/misc/moreutils/default.nix +++ b/pkgs/tools/misc/moreutils/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchgit -, libxml2 -, libxslt -, docbook-xsl -, docbook_xml_dtd_44 -, perlPackages -, makeWrapper -, perl # for pod2man -, cctools -, gitUpdater +{ + lib, + stdenv, + fetchgit, + libxml2, + libxslt, + docbook-xsl, + docbook_xml_dtd_44, + perlPackages, + makeWrapper, + perl, # for pod2man + cctools, + gitUpdater, }: stdenv.mkDerivation rec { @@ -23,12 +24,25 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ makeWrapper perl libxml2 libxslt docbook-xsl docbook_xml_dtd_44 ]; - buildInputs = [ - (perl.withPackages (p: [ p.IPCRun p.TimeDate p.TimeDuration ])) - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - cctools + nativeBuildInputs = [ + makeWrapper + perl + libxml2 + libxslt + docbook-xsl + docbook_xml_dtd_44 ]; + buildInputs = + [ + (perl.withPackages (p: [ + p.IPCRun + p.TimeDate + p.TimeDuration + ])) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" @@ -45,7 +59,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Growing collection of the unix tools that nobody thought to write long ago when unix was young"; homepage = "https://joeyh.name/code/moreutils/"; - maintainers = with maintainers; [ koral pSub ]; + maintainers = with maintainers; [ + koral + pSub + ]; platforms = platforms.all; license = licenses.gpl2Plus; }; diff --git a/pkgs/tools/misc/mpremote/default.nix b/pkgs/tools/misc/mpremote/default.nix index 30728a0e8b29a..ce2673428a5ac 100644 --- a/pkgs/tools/misc/mpremote/default.nix +++ b/pkgs/tools/misc/mpremote/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, hatchling -, hatch-requirements-txt -, hatch-vcs -, pyserial -, importlib-metadata +{ + lib, + buildPythonApplication, + fetchFromGitHub, + hatchling, + hatch-requirements-txt, + hatch-vcs, + pyserial, + importlib-metadata, }: buildPythonApplication rec { pname = "mpremote"; diff --git a/pkgs/tools/misc/mpy-utils/default.nix b/pkgs/tools/misc/mpy-utils/default.nix index 342b6875c2043..c971d272ec445 100644 --- a/pkgs/tools/misc/mpy-utils/default.nix +++ b/pkgs/tools/misc/mpy-utils/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, buildPythonApplication, fetchPypi, fusepy, pyserial }: +{ + stdenv, + lib, + buildPythonApplication, + fetchPypi, + fusepy, + pyserial, +}: buildPythonApplication rec { pname = "mpy-utils"; @@ -9,7 +16,10 @@ buildPythonApplication rec { hash = "sha256-die8hseaidhs9X7mfFvV8C8zn0uyw08gcHNqmjl+2Z4="; }; - propagatedBuildInputs = [ fusepy pyserial ]; + propagatedBuildInputs = [ + fusepy + pyserial + ]; meta = with lib; { description = "MicroPython development utility programs"; diff --git a/pkgs/tools/misc/ncdu/1.nix b/pkgs/tools/misc/ncdu/1.nix index 09289ea745da9..fde4411d393c8 100644 --- a/pkgs/tools/misc/ncdu/1.nix +++ b/pkgs/tools/misc/ncdu/1.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ + lib, + stdenv, + fetchurl, + ncurses, +}: stdenv.mkDerivation rec { pname = "ncdu"; diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix index 860ba48900d12..719d899e83bd2 100644 --- a/pkgs/tools/misc/ncdu/default.nix +++ b/pkgs/tools/misc/ncdu/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchurl -, ncurses -, pkg-config -, zig -, zstd -, installShellFiles -, testers -, pie ? stdenv.hostPlatform.isDarwin +{ + lib, + stdenv, + fetchurl, + ncurses, + pkg-config, + zig, + zstd, + installShellFiles, + testers, + pie ? stdenv.hostPlatform.isDarwin, }: stdenv.mkDerivation (finalAttrs: { @@ -45,7 +46,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Disk usage analyzer with an ncurses interface"; changelog = "https://dev.yorhel.nl/ncdu/changes2"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ pSub rodrgz ]; + maintainers = with lib.maintainers; [ + pSub + rodrgz + ]; inherit (zig.meta) platforms; mainProgram = "ncdu"; }; diff --git a/pkgs/tools/misc/noti/default.nix b/pkgs/tools/misc/noti/default.nix index 1c33f4ff73d3e..71fb707312c9d 100644 --- a/pkgs/tools/misc/noti/default.nix +++ b/pkgs/tools/misc/noti/default.nix @@ -1,9 +1,10 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, Cocoa -, installShellFiles +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + Cocoa, + installShellFiles, }: buildGoModule rec { diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix index 439707e5b014b..b4601e2f365ac 100644 --- a/pkgs/tools/misc/ntfy-sh/default.nix +++ b/pkgs/tools/misc/ntfy-sh/default.nix @@ -1,8 +1,15 @@ -{ lib, buildGoModule, fetchFromGitHub, buildNpmPackage -, nixosTests, debianutils, mkdocs, python3, python3Packages +{ + lib, + buildGoModule, + fetchFromGitHub, + buildNpmPackage, + nixosTests, + debianutils, + mkdocs, + python3, + python3Packages, }: - buildGoModule rec { pname = "ntfy-sh"; version = "2.11.0"; @@ -35,7 +42,11 @@ buildGoModule rec { doCheck = false; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; nativeBuildInputs = [ debianutils @@ -63,6 +74,9 @@ buildGoModule rec { description = "Send push notifications to your phone or desktop via PUT/POST"; homepage = "https://ntfy.sh"; license = licenses.asl20; - maintainers = with maintainers; [ arjan-s fpletz ]; + maintainers = with maintainers; [ + arjan-s + fpletz + ]; }; } diff --git a/pkgs/tools/misc/ntfy/default.nix b/pkgs/tools/misc/ntfy/default.nix index d28688c63399a..c79ca23e1b5e6 100644 --- a/pkgs/tools/misc/ntfy/default.nix +++ b/pkgs/tools/misc/ntfy/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, python39 -, fetchFromGitHub -, fetchpatch -, withXmpp ? !stdenv.hostPlatform.isDarwin -, withMatrix ? true -, withSlack ? true -, withEmoji ? true -, withPid ? true -, withDbus ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + python39, + fetchFromGitHub, + fetchpatch, + withXmpp ? !stdenv.hostPlatform.isDarwin, + withMatrix ? true, + withSlack ? true, + withEmoji ? true, + withPid ? true, + withDbus ? stdenv.hostPlatform.isLinux, }: let @@ -23,7 +24,8 @@ let django = super.django_3; }; }; -in python.pkgs.buildPythonApplication rec { +in +python.pkgs.buildPythonApplication rec { pname = "ntfy"; version = "2.7.0"; @@ -40,22 +42,35 @@ in python.pkgs.buildPythonApplication rec { mock ]; - propagatedBuildInputs = with python.pkgs; ([ - requests ruamel-yaml appdirs - ntfy-webpush - ] ++ (lib.optionals withXmpp [ - sleekxmpp dnspython - ]) ++ (lib.optionals withMatrix [ - matrix-client - ]) ++ (lib.optionals withSlack [ - slack-sdk - ]) ++ (lib.optionals withEmoji [ - emoji - ]) ++ (lib.optionals withPid [ - psutil - ]) ++ (lib.optionals withDbus [ - dbus-python - ])); + propagatedBuildInputs = + with python.pkgs; + ( + [ + requests + ruamel-yaml + appdirs + ntfy-webpush + ] + ++ (lib.optionals withXmpp [ + sleekxmpp + dnspython + ]) + ++ (lib.optionals withMatrix [ + matrix-client + ]) + ++ (lib.optionals withSlack [ + slack-sdk + ]) + ++ (lib.optionals withEmoji [ + emoji + ]) + ++ (lib.optionals withPid [ + psutil + ]) + ++ (lib.optionals withDbus [ + dbus-python + ]) + ); patches = [ # Fix Slack integration no longer working. diff --git a/pkgs/tools/misc/ntfy/webpush.nix b/pkgs/tools/misc/ntfy/webpush.nix index a9c87d8738907..242a450524058 100644 --- a/pkgs/tools/misc/ntfy/webpush.nix +++ b/pkgs/tools/misc/ntfy/webpush.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, pywebpush -, py-vapid +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pywebpush, + py-vapid, }: buildPythonPackage rec { diff --git a/pkgs/tools/misc/nvfancontrol/default.nix b/pkgs/tools/misc/nvfancontrol/default.nix index ca9a2c2da9232..6ec6da4672a03 100644 --- a/pkgs/tools/misc/nvfancontrol/default.nix +++ b/pkgs/tools/misc/nvfancontrol/default.nix @@ -1,4 +1,11 @@ -{ lib, rustPlatform, fetchFromGitHub, libXNVCtrl, libX11, libXext }: +{ + lib, + rustPlatform, + fetchFromGitHub, + libXNVCtrl, + libX11, + libXext, +}: rustPlatform.buildRustPackage rec { pname = "nvfancontrol"; @@ -13,7 +20,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-fEzdghGQSSeyeyiHjw1ggQ38gsETJFl9bq/tizGxIis="; - nativeBuildInputs = [ libXNVCtrl libX11 libXext ]; + nativeBuildInputs = [ + libXNVCtrl + libX11 + libXext + ]; # Needed for static linking preConfigure = '' diff --git a/pkgs/tools/misc/ocs-url/default.nix b/pkgs/tools/misc/ocs-url/default.nix index 52c65d4b5b26a..968b3bd5692e4 100644 --- a/pkgs/tools/misc/ocs-url/default.nix +++ b/pkgs/tools/misc/ocs-url/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchgit, libsForQt5 }: +{ + lib, + stdenv, + fetchgit, + libsForQt5, +}: let version = "3.1.0"; @@ -20,7 +25,10 @@ stdenv.mkDerivation rec { pname = "ocs-url"; inherit version; - srcs = [ main_src qtil_src ]; + srcs = [ + main_src + qtil_src + ]; sourceRoot = main_src.name; # We are NOT in $sourceRoot here diff --git a/pkgs/tools/misc/octofetch/default.nix b/pkgs/tools/misc/octofetch/default.nix index 1218cb1f7b0f3..cfee7e5caef56 100644 --- a/pkgs/tools/misc/octofetch/default.nix +++ b/pkgs/tools/misc/octofetch/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl -, pkg-config -, rustPlatform -, Security +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + pkg-config, + rustPlatform, + Security, }: rustPlatform.buildRustPackage rec { @@ -22,7 +23,8 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; meta = with lib; { diff --git a/pkgs/tools/misc/online-judge-template-generator/default.nix b/pkgs/tools/misc/online-judge-template-generator/default.nix index e867059eff3a2..5eb3cd93224a9 100644 --- a/pkgs/tools/misc/online-judge-template-generator/default.nix +++ b/pkgs/tools/misc/online-judge-template-generator/default.nix @@ -1,17 +1,18 @@ -{ lib -, buildPythonApplication -, appdirs -, beautifulsoup4 -, colorlog -, fetchFromGitHub -, mako -, online-judge-api-client -, online-judge-tools -, ply -, pyyaml -, requests -, setuptools -, toml +{ + lib, + buildPythonApplication, + appdirs, + beautifulsoup4, + colorlog, + fetchFromGitHub, + mako, + online-judge-api-client, + online-judge-tools, + ply, + pyyaml, + requests, + setuptools, + toml, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/opentimestamps-client/default.nix b/pkgs/tools/misc/opentimestamps-client/default.nix index 2a5c2c05a0fbf..64c84451e08ff 100644 --- a/pkgs/tools/misc/opentimestamps-client/default.nix +++ b/pkgs/tools/misc/opentimestamps-client/default.nix @@ -1,6 +1,7 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/misc/owofetch/default.nix b/pkgs/tools/misc/owofetch/default.nix index 20d9cc160d7a7..3de70679c933e 100644 --- a/pkgs/tools/misc/owofetch/default.nix +++ b/pkgs/tools/misc/owofetch/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenvNoCC -, rustPlatform -, fetchFromGitHub -, Foundation -, DiskArbitration +{ + lib, + stdenvNoCC, + rustPlatform, + fetchFromGitHub, + Foundation, + DiskArbitration, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/misc/pandoc-acro/default.nix b/pkgs/tools/misc/pandoc-acro/default.nix index 824418dd3f7fb..429d870cbb3e1 100644 --- a/pkgs/tools/misc/pandoc-acro/default.nix +++ b/pkgs/tools/misc/pandoc-acro/default.nix @@ -1,12 +1,13 @@ -{ buildPythonApplication -, fetchPypi -, pandocfilters -, panflute -, lib -, pandoc -, pandoc-acro -, texliveTeTeX -, runCommand +{ + buildPythonApplication, + fetchPypi, + pandocfilters, + panflute, + lib, + pandoc, + pandoc-acro, + texliveTeTeX, + runCommand, }: let @@ -31,28 +32,33 @@ buildPythonApplication { passthru.tests.example-doc = let - env = { - nativeBuildInputs = [ - pandoc - pandoc-acro - (texliveTeTeX.withPackages (ps: with ps; [ acro translations ])) - ]; - }; - in - runCommand "pandoc-acro-example-docs" env '' - set -euo pipefail - exampleFile="${pname}-${version}/tests/example.md" - metadataFile="${pname}-${version}/tests/metadata.yaml" - tar --extract "--file=${src}" "$exampleFile" "$metadataFile" - mkdir $out + env = { + nativeBuildInputs = [ + pandoc + pandoc-acro + (texliveTeTeX.withPackages ( + ps: with ps; [ + acro + translations + ] + )) + ]; + }; + in + runCommand "pandoc-acro-example-docs" env '' + set -euo pipefail + exampleFile="${pname}-${version}/tests/example.md" + metadataFile="${pname}-${version}/tests/metadata.yaml" + tar --extract "--file=${src}" "$exampleFile" "$metadataFile" + mkdir $out - pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \ - -T pdf -o $out/example.pdf - pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \ - -T txt -o $out/example.txt + pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \ + -T pdf -o $out/example.pdf + pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \ + -T txt -o $out/example.txt - ! grep -q "\+afaik" $out/example.txt - ''; + ! grep -q "\+afaik" $out/example.txt + ''; meta = with lib; { homepage = "https://pypi.org/project/pandoc-acro/"; diff --git a/pkgs/tools/misc/pandoc-drawio-filter/default.nix b/pkgs/tools/misc/pandoc-drawio-filter/default.nix index 9a5ff8949ba64..cea1141753018 100644 --- a/pkgs/tools/misc/pandoc-drawio-filter/default.nix +++ b/pkgs/tools/misc/pandoc-drawio-filter/default.nix @@ -1,11 +1,12 @@ -{ buildPythonApplication -, drawio-headless -, fetchFromGitHub -, lib -, pandoc -, pandocfilters -, runCommand -, texliveTeTeX +{ + buildPythonApplication, + drawio-headless, + fetchFromGitHub, + lib, + pandoc, + pandocfilters, + runCommand, + texliveTeTeX, }: let diff --git a/pkgs/tools/misc/pandoc-eqnos/default.nix b/pkgs/tools/misc/pandoc-eqnos/default.nix index 5ee4e9587d61a..0947d6769aac9 100644 --- a/pkgs/tools/misc/pandoc-eqnos/default.nix +++ b/pkgs/tools/misc/pandoc-eqnos/default.nix @@ -1,8 +1,9 @@ -{ buildPythonApplication -, fetchFromGitHub -, lib -, pandoc-xnos -, setuptools +{ + buildPythonApplication, + fetchFromGitHub, + lib, + pandoc-xnos, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/pandoc-fignos/default.nix b/pkgs/tools/misc/pandoc-fignos/default.nix index eb8d0154ffcec..226405ba1429c 100644 --- a/pkgs/tools/misc/pandoc-fignos/default.nix +++ b/pkgs/tools/misc/pandoc-fignos/default.nix @@ -1,8 +1,9 @@ -{ buildPythonApplication -, fetchFromGitHub -, lib -, pandoc-xnos -, setuptools +{ + buildPythonApplication, + fetchFromGitHub, + lib, + pandoc-xnos, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/pandoc-imagine/default.nix b/pkgs/tools/misc/pandoc-imagine/default.nix index ae94c31153661..f075776a4b0f0 100644 --- a/pkgs/tools/misc/pandoc-imagine/default.nix +++ b/pkgs/tools/misc/pandoc-imagine/default.nix @@ -1,4 +1,10 @@ -{ fetchFromGitHub, buildPythonApplication, lib, pandocfilters, six }: +{ + fetchFromGitHub, + buildPythonApplication, + lib, + pandocfilters, + six, +}: buildPythonApplication rec { pname = "pandoc-imagine"; @@ -11,7 +17,10 @@ buildPythonApplication rec { sha256 = "1wpnckc7qyrf6ga5xhr6gv38k1anpy9nx888n7n3rh6nixzcz2dw"; }; - propagatedBuildInputs = [ pandocfilters six ]; + propagatedBuildInputs = [ + pandocfilters + six + ]; # No tests in archive doCheck = false; diff --git a/pkgs/tools/misc/pandoc-include/default.nix b/pkgs/tools/misc/pandoc-include/default.nix index 74e24926be3be..1717e09ae0b80 100644 --- a/pkgs/tools/misc/pandoc-include/default.nix +++ b/pkgs/tools/misc/pandoc-include/default.nix @@ -1,11 +1,12 @@ -{ buildPythonApplication -, fetchFromGitHub -, lib -, natsort -, panflute -, lxml -, setuptools -, nix-update-script +{ + buildPythonApplication, + fetchFromGitHub, + lib, + natsort, + panflute, + lxml, + setuptools, + nix-update-script, }: buildPythonApplication rec { @@ -24,9 +25,13 @@ buildPythonApplication rec { setuptools ]; - passthru.updateScript = nix-update-script {}; + passthru.updateScript = nix-update-script { }; - propagatedBuildInputs = [ natsort panflute lxml ]; + propagatedBuildInputs = [ + natsort + panflute + lxml + ]; pythonImportsCheck = [ "pandoc_include.main" ]; @@ -34,7 +39,10 @@ buildPythonApplication rec { description = "Pandoc filter to allow file and header includes"; homepage = "https://github.com/DCsunset/pandoc-include"; license = licenses.mit; - maintainers = with maintainers; [ ppenguin DCsunset ]; + maintainers = with maintainers; [ + ppenguin + DCsunset + ]; mainProgram = "pandoc-include"; }; } diff --git a/pkgs/tools/misc/pandoc-plantuml-filter/default.nix b/pkgs/tools/misc/pandoc-plantuml-filter/default.nix index d8c1bb2ea8a38..d90cb0e52f973 100644 --- a/pkgs/tools/misc/pandoc-plantuml-filter/default.nix +++ b/pkgs/tools/misc/pandoc-plantuml-filter/default.nix @@ -1,7 +1,8 @@ -{ buildPythonApplication -, fetchPypi -, pandocfilters -, lib +{ + buildPythonApplication, + fetchPypi, + pandocfilters, + lib, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/pandoc-secnos/default.nix b/pkgs/tools/misc/pandoc-secnos/default.nix index 0880214e218e3..d76e2d905fe99 100644 --- a/pkgs/tools/misc/pandoc-secnos/default.nix +++ b/pkgs/tools/misc/pandoc-secnos/default.nix @@ -1,8 +1,9 @@ -{ buildPythonApplication -, fetchFromGitHub -, lib -, pandoc-xnos -, setuptools +{ + buildPythonApplication, + fetchFromGitHub, + lib, + pandoc-xnos, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/pandoc-tablenos/default.nix b/pkgs/tools/misc/pandoc-tablenos/default.nix index 6ee5ef65861e8..eede87b92e19b 100644 --- a/pkgs/tools/misc/pandoc-tablenos/default.nix +++ b/pkgs/tools/misc/pandoc-tablenos/default.nix @@ -1,8 +1,9 @@ -{ buildPythonApplication -, fetchFromGitHub -, lib -, pandoc-xnos -, setuptools +{ + buildPythonApplication, + fetchFromGitHub, + lib, + pandoc-xnos, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index 7494bc78ce203..f5567b9a1c9cc 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -1,4 +1,14 @@ -{ fetchurl, lib, stdenv, perl, makeWrapper, procps, coreutils, gawk, buildPackages }: +{ + fetchurl, + lib, + stdenv, + perl, + makeWrapper, + procps, + coreutils, + gawk, + buildPackages, +}: stdenv.mkDerivation rec { pname = "parallel"; @@ -9,11 +19,21 @@ stdenv.mkDerivation rec { hash = "sha256-Gp51L0LBfKELwH0KY6LKbtzuUyKC5V0rNL2d0UyXilg="; }; - outputs = [ "out" "man" "doc" ]; + outputs = [ + "out" + "man" + "doc" + ]; strictDeps = true; - nativeBuildInputs = [ makeWrapper perl ]; - buildInputs = [ perl procps ]; + nativeBuildInputs = [ + makeWrapper + perl + ]; + buildInputs = [ + perl + procps + ]; postPatch = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' substituteInPlace Makefile.in \ @@ -26,7 +46,14 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/parallel \ - --prefix PATH : "${lib.makeBinPath [ procps perl coreutils gawk ]}" + --prefix PATH : "${ + lib.makeBinPath [ + procps + perl + coreutils + gawk + ] + }" ''; doCheck = true; @@ -53,7 +80,10 @@ stdenv.mkDerivation rec { homepage = "https://www.gnu.org/software/parallel/"; license = licenses.gpl3Plus; platforms = platforms.all; - maintainers = with maintainers; [ pSub tomberek ]; + maintainers = with maintainers; [ + pSub + tomberek + ]; mainProgram = "parallel"; }; } diff --git a/pkgs/tools/misc/parallel/wrapper.nix b/pkgs/tools/misc/parallel/wrapper.nix index b798a1acea227..4b281fda01944 100644 --- a/pkgs/tools/misc/parallel/wrapper.nix +++ b/pkgs/tools/misc/parallel/wrapper.nix @@ -1,14 +1,33 @@ -{ lib, symlinkJoin, makeWrapper, parallel, perlPackages -, extraPerlPackages ? with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ] -, willCite ? false }: +{ + lib, + symlinkJoin, + makeWrapper, + parallel, + perlPackages, + extraPerlPackages ? with perlPackages; [ + DBI + DBDPg + DBDSQLite + DBDCSV + TextCSV + ], + willCite ? false, +}: symlinkJoin { name = "parallel-full-${parallel.version}"; - inherit (parallel) pname version meta outputs; + inherit (parallel) + pname + version + meta + outputs + ; nativeBuildInputs = [ makeWrapper ]; paths = [ parallel ]; postBuild = '' - ${lib.concatMapStringsSep "\n" (output: "ln -s --no-target-directory ${parallel.${output}} \$${output}") (lib.remove "out" parallel.outputs)} + ${lib.concatMapStringsSep "\n" ( + output: "ln -s --no-target-directory ${parallel.${output}} \$${output}" + ) (lib.remove "out" parallel.outputs)} rm $out/bin/parallel makeWrapper ${parallel}/bin/parallel $out/bin/parallel \ diff --git a/pkgs/tools/misc/parcellite/default.nix b/pkgs/tools/misc/parcellite/default.nix index 3c53be706641b..a39b4d9f8ac88 100644 --- a/pkgs/tools/misc/parcellite/default.nix +++ b/pkgs/tools/misc/parcellite/default.nix @@ -1,6 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook -, gtk2, hicolor-icon-theme, intltool, pkg-config -, which, wrapGAppsHook3, xdotool, libappindicator-gtk2 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + gtk2, + hicolor-icon-theme, + intltool, + pkg-config, + which, + wrapGAppsHook3, + xdotool, + libappindicator-gtk2, +}: stdenv.mkDerivation rec { pname = "parcellite"; @@ -13,8 +24,17 @@ stdenv.mkDerivation rec { sha256 = "19q4x6x984s6gxk1wpzaxawgvly5vnihivrhmja2kcxhzqrnfhiy"; }; - nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook3 ]; - buildInputs = [ gtk2 hicolor-icon-theme libappindicator-gtk2 ]; + nativeBuildInputs = [ + autoreconfHook + intltool + pkg-config + wrapGAppsHook3 + ]; + buildInputs = [ + gtk2 + hicolor-icon-theme + libappindicator-gtk2 + ]; NIX_LDFLAGS = "-lgio-2.0"; preFixup = '' diff --git a/pkgs/tools/misc/pdd/default.nix b/pkgs/tools/misc/pdd/default.nix index a05f618e472d6..6c11afa5815fd 100644 --- a/pkgs/tools/misc/pdd/default.nix +++ b/pkgs/tools/misc/pdd/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, buildPythonApplication, python-dateutil }: +{ + lib, + fetchFromGitHub, + buildPythonApplication, + python-dateutil, +}: buildPythonApplication rec { pname = "pdd"; diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix index ba99cdd8cdf96..ece14a96056d1 100644 --- a/pkgs/tools/misc/peruse/default.nix +++ b/pkgs/tools/misc/peruse/default.nix @@ -1,19 +1,20 @@ -{ stdenv -, fetchurl -, lib -, extra-cmake-modules -, kdoctools -, wrapQtAppsHook -, baloo -, karchive -, kconfig -, kcrash -, kfilemetadata -, kinit -, kirigami2 -, knewstuff -, okular -, plasma-framework +{ + stdenv, + fetchurl, + lib, + extra-cmake-modules, + kdoctools, + wrapQtAppsHook, + baloo, + karchive, + kconfig, + kcrash, + kfilemetadata, + kinit, + kirigami2, + knewstuff, + okular, + plasma-framework, }: stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix index 1117c0cae8bff..084944001c488 100644 --- a/pkgs/tools/misc/pipelight/default.nix +++ b/pkgs/tools/misc/pipelight/default.nix @@ -1,12 +1,24 @@ -{ lib, stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU, libGL, wine-staging }: +{ + lib, + stdenv, + fetchurl, + bash, + cabextract, + curl, + gnupg, + libX11, + libGLU, + libGL, + wine-staging, +}: let wine_custom = wine-staging; mozillaPluginPath = "/lib/mozilla/plugins"; - -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { version = "0.2.8.2"; @@ -17,7 +29,13 @@ in stdenv.mkDerivation rec { sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk"; }; - buildInputs = [ wine_custom libX11 libGLU libGL curl ]; + buildInputs = [ + wine_custom + libX11 + libGLU + libGL + curl + ]; env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ]; @@ -59,10 +77,17 @@ in stdenv.mkDerivation rec { meta = { homepage = "http://pipelight.net/"; - license = with lib.licenses; [ mpl11 gpl2Only lgpl21 ]; + license = with lib.licenses; [ + mpl11 + gpl2Only + lgpl21 + ]; description = "Wrapper for using Windows plugins in Linux browsers"; maintainers = [ ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; mainProgram = "pipelight-plugin"; }; } diff --git a/pkgs/tools/misc/polar/default.nix b/pkgs/tools/misc/polar/default.nix index 2edf40ffb2926..542f21ca09025 100644 --- a/pkgs/tools/misc/polar/default.nix +++ b/pkgs/tools/misc/polar/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, ruby, bundlerEnv }: +{ + lib, + stdenv, + fetchFromGitHub, + ruby, + bundlerEnv, +}: let # To create Gemfile.lock and gemset.nix @@ -31,7 +37,10 @@ stdenv.mkDerivation rec { substituteInPlace $script --replace "#{File.dirname(__FILE__)}/lib" "$out/lib/polar" done ''; - buildInputs = [ gems ruby ]; + buildInputs = [ + gems + ruby + ]; # See: https://wiki.nixos.org/wiki/Packaging/Ruby # @@ -39,20 +48,20 @@ stdenv.mkDerivation rec { # Then, wrap the scripts so that they use the correct ruby environment and put # these wrapped executables under bin. installPhase = '' - install -Dm644 -t $out/etc/udev/rules.d ./pkg/99-polar.rules - mkdir -p $out/{bin,lib/polar,share/polar} - cp -r lib/* $out/lib/polar/ - for script in ./polar_* - do - raw="$out/share/polar/$script" - bin="$out/bin/$script" - cp "$script" "$raw" - cat > $bin < $bin < !stdenv.hostPlatform.isDarwin; @@ -35,30 +38,35 @@ stdenv.mkDerivation rec { ./scons-nix-env.patch ]; - nativeBuildInputs = [ - pkg-config - sphinx - scons - ] ++ lib.optionals withGui [ - makeWrapper - wrapGAppsHook3 - gobject-introspection - ]; + nativeBuildInputs = + [ + pkg-config + sphinx + scons + ] + ++ lib.optionals withGui [ + makeWrapper + wrapGAppsHook3 + gobject-introspection + ]; - buildInputs = [ - glib - json-glib - util-linux - ] ++ lib.optionals withGui [ - cairo - gtksourceview3 - pango - polkit - python3 - python3.pkgs.pygobject3 - ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ - elfutils - ]; + buildInputs = + [ + glib + json-glib + util-linux + ] + ++ lib.optionals withGui [ + cairo + gtksourceview3 + pango + polkit + python3 + python3.pkgs.pygobject3 + ] + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ + elfutils + ]; prePatch = '' # remove sources of nondeterminism @@ -85,7 +93,10 @@ stdenv.mkDerivation rec { homepage = "https://rmlint.readthedocs.org"; platforms = platforms.unix; license = licenses.gpl3; - maintainers = with maintainers; [ aaschmid koral ]; + maintainers = with maintainers; [ + aaschmid + koral + ]; mainProgram = "rmlint"; }; } diff --git a/pkgs/tools/misc/rust-motd/default.nix b/pkgs/tools/misc/rust-motd/default.nix index df79acf5f1c57..9ab9594f8a220 100644 --- a/pkgs/tools/misc/rust-motd/default.nix +++ b/pkgs/tools/misc/rust-motd/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -24,11 +25,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index 68487255d9bcd..45319b2b79a63 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchurl -, autoreconfHook -, ncurses -, libxcrypt -, utmp -, pam ? null +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + ncurses, + libxcrypt, + utmp, + pam ? null, }: stdenv.mkDerivation rec { @@ -28,10 +29,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ - ncurses - libxcrypt - ] ++ lib.optional stdenv.hostPlatform.isLinux pam + buildInputs = + [ + ncurses + libxcrypt + ] + ++ lib.optional stdenv.hostPlatform.isLinux pam ++ lib.optional stdenv.hostPlatform.isDarwin utmp; doCheck = true; diff --git a/pkgs/tools/misc/seaborn-data/default.nix b/pkgs/tools/misc/seaborn-data/default.nix index 5ac78f1eef25e..555c9991b63be 100644 --- a/pkgs/tools/misc/seaborn-data/default.nix +++ b/pkgs/tools/misc/seaborn-data/default.nix @@ -1,4 +1,10 @@ -{ lib, newScope, fetchFromGitHub, unzip, stdenvNoCC }: +{ + lib, + newScope, + fetchFromGitHub, + unzip, + stdenvNoCC, +}: let base = { version = "unstable-2023-01-26"; @@ -10,7 +16,8 @@ let maintainers = with maintainers; [ mbalatsko ]; }; }; - makeSeabornDataPackage = {pname, hash}: + makeSeabornDataPackage = + { pname, hash }: let src = fetchFromGitHub { owner = "mwaskom"; @@ -20,18 +27,21 @@ let sparseCheckout = [ "${pname}.csv" ]; }; in - stdenvNoCC.mkDerivation (base // { - inherit pname src; - version = base.version; - installPhase = '' - runHook preInstall + stdenvNoCC.mkDerivation ( + base + // { + inherit pname src; + version = base.version; + installPhase = '' + runHook preInstall - mkdir -p $out - cp ${pname}.csv $out/${pname}.csv + mkdir -p $out + cp ${pname}.csv $out/${pname}.csv - runHook postInstall - ''; - }); + runHook postInstall + ''; + } + ); in lib.makeScope newScope (self: { exercise = makeSeabornDataPackage ({ diff --git a/pkgs/tools/misc/serverspec/default.nix b/pkgs/tools/misc/serverspec/default.nix index 28196efc18a34..8c9e405bcecd3 100644 --- a/pkgs/tools/misc/serverspec/default.nix +++ b/pkgs/tools/misc/serverspec/default.nix @@ -1,4 +1,9 @@ -{ lib, ruby, bundlerApp, bundlerUpdateScript }: +{ + lib, + ruby, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "serverspec"; @@ -6,7 +11,7 @@ bundlerApp { inherit ruby; - exes = ["serverspec-init"]; + exes = [ "serverspec-init" ]; passthru.updateScript = bundlerUpdateScript "serverspec"; diff --git a/pkgs/tools/misc/serverspec/gemset.nix b/pkgs/tools/misc/serverspec/gemset.nix index 353b122ec8100..00a966514a416 100644 --- a/pkgs/tools/misc/serverspec/gemset.nix +++ b/pkgs/tools/misc/serverspec/gemset.nix @@ -1,147 +1,170 @@ { diff-lcs = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; type = "gem"; }; version = "1.5.0"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; net-scp = { - dependencies = ["net-ssh"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-ssh" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; type = "gem"; }; version = "4.0.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687"; type = "gem"; }; version = "7.1.0"; }; net-telnet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qxznpwmc3hs51b76wqx2w29r158gzzh8719kv2gpi56844c8fx"; type = "gem"; }; version = "0.1.1"; }; rspec = { - dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "rspec-core" + "rspec-expectations" + "rspec-mocks" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"; type = "gem"; }; version = "3.12.0"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f"; type = "gem"; }; version = "3.12.1"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6"; type = "gem"; }; version = "3.12.2"; }; rspec-its = { - dependencies = ["rspec-core" "rspec-expectations"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "rspec-core" + "rspec-expectations" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15zafd70gxly5i0s00nky14sj2n92dnj3xpj83ysl3c2wx0119ad"; type = "gem"; }; version = "1.3.0"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hfm17xakfvwya236graj6c2arr4sb9zasp35q5fykhyz8mhs0w2"; type = "gem"; }; version = "3.12.5"; }; rspec-support = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx"; type = "gem"; }; version = "3.12.0"; }; serverspec = { - dependencies = ["multi_json" "rspec" "rspec-its" "specinfra"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "multi_json" + "rspec" + "rspec-its" + "specinfra" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kqx84yspy75z517wf32mz2hr4bqmq33y46zik57rn7bq2pj39xx"; type = "gem"; }; version = "2.42.2"; }; sfl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qm4hvhq9pszi9zs1cl9qgwx1n4wxq0af0hq9sbf6qihqd8rwwwr"; type = "gem"; }; version = "2.3"; }; specinfra = { - dependencies = ["net-scp" "net-ssh" "net-telnet" "sfl"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "net-scp" + "net-ssh" + "net-telnet" + "sfl" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19kkryvxnci7qd7rq5m3nl3xazy452bcg35a709kfggpfm4c6r38"; type = "gem"; }; diff --git a/pkgs/tools/misc/shadowenv/default.nix b/pkgs/tools/misc/shadowenv/default.nix index d3f9306f225a2..fd577be3a88fb 100644 --- a/pkgs/tools/misc/shadowenv/default.nix +++ b/pkgs/tools/misc/shadowenv/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + Security, +}: rustPlatform.buildRustPackage rec { pname = "shadowenv"; diff --git a/pkgs/tools/misc/sharedown/default.nix b/pkgs/tools/misc/sharedown/default.nix index b23ca21694619..693c856b5461b 100644 --- a/pkgs/tools/misc/sharedown/default.nix +++ b/pkgs/tools/misc/sharedown/default.nix @@ -1,19 +1,20 @@ -{ stdenvNoCC -, lib -, fetchFromGitHub -, ffmpeg -, yt-dlp -, libsecret -, python3 -, pkg-config -, nodejs -, electron -, makeWrapper -, makeDesktopItem -, copyDesktopItems -, yarn2nix-moretea -, fetchYarnDeps -, chromium +{ + stdenvNoCC, + lib, + fetchFromGitHub, + ffmpeg, + yt-dlp, + libsecret, + python3, + pkg-config, + nodejs, + electron, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + yarn2nix-moretea, + fetchYarnDeps, + chromium, }: stdenvNoCC.mkDerivation rec { @@ -39,7 +40,10 @@ stdenvNoCC.mkDerivation rec { icon = "Sharedown"; comment = "An Application to save your Sharepoint videos for offline usage."; desktopName = "Sharedown"; - categories = [ "Network" "Archiving" ]; + categories = [ + "Network" + "Archiving" + ]; }) ]; diff --git a/pkgs/tools/misc/sheldon/default.nix b/pkgs/tools/misc/sheldon/default.nix index 3d5e2e84a5661..c827afe52914f 100644 --- a/pkgs/tools/misc/sheldon/default.nix +++ b/pkgs/tools/misc/sheldon/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, installShellFiles -, Security -, curl +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + installShellFiles, + Security, + curl, }: rustPlatform.buildRustPackage rec { @@ -22,8 +23,16 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-+yTX1wUfVVjsM42X0QliL+0xbzTPheADZibPh/5Czh8="; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security curl ]; - nativeBuildInputs = [ installShellFiles pkg-config ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + curl + ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; # Needs network connection checkFlags = [ diff --git a/pkgs/tools/misc/sshx/default.nix b/pkgs/tools/misc/sshx/default.nix index 0929703288e00..a3686bb958e7b 100644 --- a/pkgs/tools/misc/sshx/default.nix +++ b/pkgs/tools/misc/sshx/default.nix @@ -1,11 +1,12 @@ -{ lib -, callPackage -, rustPlatform -, fetchFromGitHub -, protobuf -, darwin -, stdenv -, buildNpmPackage +{ + lib, + callPackage, + rustPlatform, + fetchFromGitHub, + protobuf, + darwin, + stdenv, + buildNpmPackage, }: let version = "0.2.4"; @@ -17,31 +18,42 @@ let hash = "sha256-RIQRX4sXlMl73Opi6hK2WD/erdAMNrm40IasHasikuw="; }; - mkSshxPackage = { pname, cargoHash, ... }@args: - rustPlatform.buildRustPackage (rec { - inherit - pname - version - src - cargoHash; + mkSshxPackage = + { pname, cargoHash, ... }@args: + rustPlatform.buildRustPackage ( + rec { + inherit + pname + version + src + cargoHash + ; - nativeBuildInputs = [ protobuf ]; + nativeBuildInputs = [ protobuf ]; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security; - cargoBuildFlags = [ "--package" pname ]; + cargoBuildFlags = [ + "--package" + pname + ]; - cargoTestFlags = cargoBuildFlags; + cargoTestFlags = cargoBuildFlags; - meta = { - description = "Fast, collaborative live terminal sharing over the web"; - homepage = "https://github.com/ekzhang/sshx"; - changelog = "https://github.com/ekzhang/sshx/releases/tag/v${version}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ pinpox kranzes ]; - mainProgram = pname; - }; - } // args); + meta = { + description = "Fast, collaborative live terminal sharing over the web"; + homepage = "https://github.com/ekzhang/sshx"; + changelog = "https://github.com/ekzhang/sshx/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + pinpox + kranzes + ]; + mainProgram = pname; + }; + } + // args + ); in { sshx = mkSshxPackage { @@ -64,7 +76,8 @@ in inherit version - src; + src + ; postPatch = '' substituteInPlace vite.config.ts \ diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix index 66fac2661a2c2..1075b868e20bb 100644 --- a/pkgs/tools/misc/starship/default.nix +++ b/pkgs/tools/misc/starship/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, installShellFiles -, cmake -, git -, nixosTests -, Security -, Foundation -, Cocoa +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + cmake, + git, + nixosTests, + Security, + Foundation, + Cocoa, }: rustPlatform.buildRustPackage rec { @@ -22,27 +23,39 @@ rustPlatform.buildRustPackage rec { hash = "sha256-Xn9qV26/ST+3VtVq6OJP823lIVIo0zEdno+nIUv8B9c="; }; - nativeBuildInputs = [ installShellFiles cmake ]; + nativeBuildInputs = [ + installShellFiles + cmake + ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security Foundation Cocoa ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Security + Foundation + Cocoa + ]; - NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ "-framework" "AppKit" ]; + NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + "-framework" + "AppKit" + ]; # tries to access HOME only in aarch64-darwin environment when building mac-notification-sys preBuild = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' export HOME=$TMPDIR ''; - postInstall = '' - presetdir=$out/share/starship/presets/ - mkdir -p $presetdir - cp docs/public/presets/toml/*.toml $presetdir - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd starship \ - --bash <($out/bin/starship completions bash) \ - --fish <($out/bin/starship completions fish) \ - --zsh <($out/bin/starship completions zsh) - ''; + postInstall = + '' + presetdir=$out/share/starship/presets/ + mkdir -p $presetdir + cp docs/public/presets/toml/*.toml $presetdir + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd starship \ + --bash <($out/bin/starship completions bash) \ + --fish <($out/bin/starship completions fish) \ + --zsh <($out/bin/starship completions zsh) + ''; cargoHash = "sha256-YbZCe2OcX/wq0OWvWK61nWvRT0O+CyW0QY0J7vv6QaM="; @@ -60,7 +73,12 @@ rustPlatform.buildRustPackage rec { description = "Minimal, blazing fast, and extremely customizable prompt for any shell"; homepage = "https://starship.rs"; license = licenses.isc; - maintainers = with maintainers; [ danth davidtwco Br1ght0ne Frostman ]; + maintainers = with maintainers; [ + danth + davidtwco + Br1ght0ne + Frostman + ]; mainProgram = "starship"; }; } diff --git a/pkgs/tools/misc/synth/default.nix b/pkgs/tools/misc/synth/default.nix index 4977372ee4ee4..d52c72be5de3a 100644 --- a/pkgs/tools/misc/synth/default.nix +++ b/pkgs/tools/misc/synth/default.nix @@ -1,9 +1,10 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, AppKit -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + AppKit, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix index 595882b9b5008..aa1d78d7658da 100644 --- a/pkgs/tools/misc/system-config-printer/default.nix +++ b/pkgs/tools/misc/system-config-printer/default.nix @@ -1,9 +1,33 @@ -{ lib, stdenv, fetchFromGitHub, udev, pkg-config, glib, xmlto, wrapGAppsHook3 -, docbook_xml_dtd_412, docbook_xsl -, libxml2, desktop-file-utils, libusb1, cups, gdk-pixbuf, pango, atk, libnotify -, gobject-introspection, libsecret, packagekit -, libcupsfilters, gettext, libtool, autoconf-archive -, python3Packages, autoreconfHook, bash, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + udev, + pkg-config, + glib, + xmlto, + wrapGAppsHook3, + docbook_xml_dtd_412, + docbook_xsl, + libxml2, + desktop-file-utils, + libusb1, + cups, + gdk-pixbuf, + pango, + atk, + libnotify, + gobject-introspection, + libsecret, + packagekit, + libcupsfilters, + gettext, + libtool, + autoconf-archive, + python3Packages, + autoreconfHook, + bash, + fetchpatch, }: stdenv.mkDerivation rec { @@ -38,21 +62,49 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib udev libusb1 cups + glib + udev + libusb1 + cups python3Packages.python - libnotify gdk-pixbuf pango atk packagekit + libnotify + gdk-pixbuf + pango + atk + packagekit libsecret ]; nativeBuildInputs = [ - pkg-config gettext libtool autoconf-archive - xmlto libxml2 docbook_xml_dtd_412 docbook_xsl desktop-file-utils - python3Packages.wrapPython python3Packages.build python3Packages.installer - python3Packages.setuptools python3Packages.wheel - wrapGAppsHook3 autoreconfHook gobject-introspection + pkg-config + gettext + libtool + autoconf-archive + xmlto + libxml2 + docbook_xml_dtd_412 + docbook_xsl + desktop-file-utils + python3Packages.wrapPython + python3Packages.build + python3Packages.installer + python3Packages.setuptools + python3Packages.wheel + wrapGAppsHook3 + autoreconfHook + gobject-introspection ]; - pythonPath = with python3Packages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 pycairo pysmbc ]; + pythonPath = + with python3Packages; + requiredPythonModules [ + pycups + pycurl + dbus-python + pygobject3 + pycairo + pysmbc + ]; configureFlags = [ "--with-udev-rules" @@ -60,26 +112,29 @@ stdenv.mkDerivation rec { "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" ]; - stripDebugList = [ "bin" "lib" "etc/udev" ]; + stripDebugList = [ + "bin" + "lib" + "etc/udev" + ]; doCheck = true; - postInstall = - '' - buildPythonPath "$out $pythonPath" - gappsWrapperArgs+=( - --prefix PATH : "$program_PATH" - --set CUPS_DATADIR "${libcupsfilters}/share/cups" - ) + postInstall = '' + buildPythonPath "$out $pythonPath" + gappsWrapperArgs+=( + --prefix PATH : "$program_PATH" + --set CUPS_DATADIR "${libcupsfilters}/share/cups" + ) - find $out/share/system-config-printer -name \*.py -type f -perm -0100 -print0 | while read -d "" f; do - patchPythonScript "$f" - done - patchPythonScript $out/etc/udev/udev-add-printer + find $out/share/system-config-printer -name \*.py -type f -perm -0100 -print0 | while read -d "" f; do + patchPythonScript "$f" + done + patchPythonScript $out/etc/udev/udev-add-printer - substituteInPlace $out/etc/udev/rules.d/70-printers.rules \ - --replace "udev-configure-printer" "$out/etc/udev/udev-configure-printer" - ''; + substituteInPlace $out/etc/udev/rules.d/70-printers.rules \ + --replace "udev-configure-printer" "$out/etc/udev/udev-configure-printer" + ''; meta = { homepage = "https://github.com/openprinting/system-config-printer"; diff --git a/pkgs/tools/misc/t/default.nix b/pkgs/tools/misc/t/default.nix index 0bcedf344ba69..2662a072b7ec1 100644 --- a/pkgs/tools/misc/t/default.nix +++ b/pkgs/tools/misc/t/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "t"; @@ -9,10 +13,14 @@ bundlerApp { meta = with lib; { description = "Command-line power tool for Twitter"; - homepage = "http://sferik.github.io/t/"; - license = licenses.asl20; - maintainers = with maintainers; [ offline manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "http://sferik.github.io/t/"; + license = licenses.asl20; + maintainers = with maintainers; [ + offline + manveru + nicknovitski + ]; + platforms = platforms.unix; mainProgram = "t"; }; } diff --git a/pkgs/tools/misc/t/gemset.nix b/pkgs/tools/misc/t/gemset.nix index a61eb81b1da94..a742b7b1accd1 100644 --- a/pkgs/tools/misc/t/gemset.nix +++ b/pkgs/tools/misc/t/gemset.nix @@ -1,259 +1,282 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; type = "gem"; }; version = "2.6.0"; }; buftok = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; type = "gem"; }; version = "0.2.0"; }; domain_name = { - dependencies = ["unf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; type = "gem"; }; version = "0.5.20180417"; }; equalizer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; type = "gem"; }; version = "0.0.11"; }; faraday = { - dependencies = ["multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18p1csdivgwmshfw3mb698a3bn0yrykg30khk5qxjf6n168g91jr"; type = "gem"; }; version = "0.11.0"; }; geokit = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mvdpbx88wflqqrcrfa54a5sckvj2sqzm304p7ji3c06frbhmxw8"; type = "gem"; }; version = "1.13.1"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; http = { - dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "addressable" + "http-cookie" + "http-form_data" + "http_parser.rb" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kcd9qp8vm1rkyp7gfh8j0dbl3zpi97vz2vbhpbcsdsa7l21a59r"; type = "gem"; }; version = "2.2.2"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; type = "gem"; }; version = "1.0.3"; }; http-form_data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j8dwwbfpf8kc0lcsqcgy29lflszd1x4d7kc0f7227892m7r6y0m"; type = "gem"; }; version = "1.0.3"; }; "http_parser.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; type = "gem"; }; version = "0.6.0"; }; launchy = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; type = "gem"; }; version = "2.4.3"; }; memoizable = { - dependencies = ["thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; type = "gem"; }; version = "0.4.2"; }; multipart-post = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; type = "gem"; }; version = "2.0.0"; }; naught = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; type = "gem"; }; version = "1.1.0"; }; oauth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; type = "gem"; }; version = "0.5.4"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; version = "3.0.3"; }; retryable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pxv5xgr08s9gv5npj7h3raxibywznrv2wcrb85ibhlhzgzcxggf"; type = "gem"; }; version = "2.0.4"; }; simple_oauth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; type = "gem"; }; version = "0.3.1"; }; t = { - dependencies = ["geokit" "htmlentities" "launchy" "oauth" "retryable" "thor" "twitter"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "geokit" + "htmlentities" + "launchy" + "oauth" + "retryable" + "thor" + "twitter" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qj5zqc819yiscqbyb93alxillyli5ajvrr4gzq52clgkvyap7bd"; type = "gem"; }; version = "3.1.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; type = "gem"; }; version = "0.20.3"; }; thread_safe = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; twitter = { - dependencies = ["addressable" "buftok" "equalizer" "faraday" "http" "http_parser.rb" "memoizable" "naught" "simple_oauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "addressable" + "buftok" + "equalizer" + "faraday" + "http" + "http_parser.rb" + "memoizable" + "naught" + "simple_oauth" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l9zv0pg0q4mgcxyhzk2fj57bcs907mbargdr9l0ccnp6xi5sp8v"; type = "gem"; }; version = "6.1.0"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; type = "gem"; }; diff --git a/pkgs/tools/misc/tab-rs/default.nix b/pkgs/tools/misc/tab-rs/default.nix index 7d3721acb3c40..c6698c446bdba 100644 --- a/pkgs/tools/misc/tab-rs/default.nix +++ b/pkgs/tools/misc/tab-rs/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, IOKit }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + IOKit, +}: rustPlatform.buildRustPackage rec { pname = "tab-rs"; diff --git a/pkgs/tools/misc/td/default.nix b/pkgs/tools/misc/td/default.nix index ebfe642a27d27..9d7edd8f2b88a 100644 --- a/pkgs/tools/misc/td/default.nix +++ b/pkgs/tools/misc/td/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "td"; @@ -9,10 +13,13 @@ bundlerApp { meta = with lib; { description = "CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing"; - homepage = "https://github.com/treasure-data/td"; - license = licenses.asl20; - maintainers = with maintainers; [ groodt nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/treasure-data/td"; + license = licenses.asl20; + maintainers = with maintainers; [ + groodt + nicknovitski + ]; + platforms = platforms.unix; mainProgram = "td"; }; } diff --git a/pkgs/tools/misc/td/gemset.nix b/pkgs/tools/misc/td/gemset.nix index 53d9df0502d73..5a0bb8a3fc63a 100644 --- a/pkgs/tools/misc/td/gemset.nix +++ b/pkgs/tools/misc/td/gemset.nix @@ -1,8 +1,8 @@ { fluent-logger = { - dependencies = ["msgpack"]; + dependencies = [ "msgpack" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yr6vrai4fqajpzybmdlajf8wzsgy29kr1318amn21y9nhjlnys5"; type = "gem"; }; @@ -10,7 +10,7 @@ }; hirb = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mzch3c2lvmf8gskgzlx6j53d10j42ir6ik2dkrl27sblhy76cji"; type = "gem"; }; @@ -18,7 +18,7 @@ }; httpclient = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; @@ -26,7 +26,7 @@ }; msgpack = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0031gd2mjyba6jb7m97sqa149zjkr0vzn2s2gpb3m9nb67gqkm13"; type = "gem"; }; @@ -34,7 +34,7 @@ }; parallel = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "005shcy8dabc7lwydpkbhd3fx8bfqzvsj6g04r90mx0wky10lz84"; type = "gem"; }; @@ -42,7 +42,7 @@ }; ruby-progressbar = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; type = "gem"; }; @@ -50,34 +50,51 @@ }; rubyzip = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; type = "gem"; }; version = "1.2.2"; }; td = { - dependencies = ["hirb" "msgpack" "parallel" "ruby-progressbar" "rubyzip" "td-client" "td-logger" "yajl-ruby" "zip-zip"]; + dependencies = [ + "hirb" + "msgpack" + "parallel" + "ruby-progressbar" + "rubyzip" + "td-client" + "td-logger" + "yajl-ruby" + "zip-zip" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nlxpc4nasgmv6mqanb6ag1q3wmryja2c174dzgwxngxa0y2j1yn"; type = "gem"; }; version = "0.16.4"; }; td-client = { - dependencies = ["httpclient" "msgpack"]; + dependencies = [ + "httpclient" + "msgpack" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0j5jcsgg020cm8xarbbw67mca4k8cx5pfyd2mm3wcqrnc1cl2bgp"; type = "gem"; }; version = "1.0.6"; }; td-logger = { - dependencies = ["fluent-logger" "msgpack" "td-client"]; + dependencies = [ + "fluent-logger" + "msgpack" + "td-client" + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y56gilaqk9a4lfhzb777ysmsq77pi1aqkr4q485a7f5dwnpwl1p"; type = "gem"; }; @@ -85,16 +102,16 @@ }; yajl-ruby = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"; type = "gem"; }; version = "1.4.1"; }; zip-zip = { - dependencies = ["rubyzip"]; + dependencies = [ "rubyzip" ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ny3zv1sn9wasamykfkg7b7xgs6w7k5fy8kggiyjj9vrwfzzavqg"; type = "gem"; }; diff --git a/pkgs/tools/misc/teamocil/default.nix b/pkgs/tools/misc/teamocil/default.nix index a3e85031dee64..8dd13b640cca0 100644 --- a/pkgs/tools/misc/teamocil/default.nix +++ b/pkgs/tools/misc/teamocil/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv { inherit ruby; @@ -8,11 +13,11 @@ bundlerEnv { passthru.updateScript = bundlerUpdateScript "teamocil"; meta = with lib; { - description = "Simple tool used to automatically create windows and panes in tmux with YAML files"; - homepage = "https://github.com/remiprev/teamocil"; - license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ + description = "Simple tool used to automatically create windows and panes in tmux with YAML files"; + homepage = "https://github.com/remiprev/teamocil"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ zachcoyle nicknovitski ]; diff --git a/pkgs/tools/misc/teamocil/gemset.nix b/pkgs/tools/misc/teamocil/gemset.nix index 2c522b096c811..cbc7ec249d6d8 100644 --- a/pkgs/tools/misc/teamocil/gemset.nix +++ b/pkgs/tools/misc/teamocil/gemset.nix @@ -1,7 +1,7 @@ { teamocil = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l5f33faipb45xx7ds67s7dqgvjlljlcxgpgig4pg8p002vg06r2"; type = "gem"; }; diff --git a/pkgs/tools/misc/thinkpad-scripts/default.nix b/pkgs/tools/misc/thinkpad-scripts/default.nix index 5b9b9eae7ad5a..14724c8111d97 100644 --- a/pkgs/tools/misc/thinkpad-scripts/default.nix +++ b/pkgs/tools/misc/thinkpad-scripts/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchFromGitHub, python3Packages }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + python3Packages, +}: buildPythonPackage rec { pname = "thinkpad-scripts"; diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix index f41d3b34971a5..9e9dae6880f1c 100644 --- a/pkgs/tools/misc/timidity/default.nix +++ b/pkgs/tools/misc/timidity/default.nix @@ -1,18 +1,20 @@ -{ lib -, stdenv -, fetchurl -, nixosTests -, pkg-config -, memstreamHook -, CoreAudio -, libobjc -, libjack2 -, ncurses -, alsa-lib -, buildPackages +{ + lib, + stdenv, + fetchurl, + nixosTests, + pkg-config, + memstreamHook, + CoreAudio, + libobjc, + libjack2, + ncurses, + alsa-lib, + buildPackages, -## Additional optional output modes -, enableVorbis ? false, libvorbis + ## Additional optional output modes + enableVorbis ? false, + libvorbis, }: stdenv.mkDerivation rec { @@ -31,51 +33,63 @@ stdenv.mkDerivation rec { ./configure-compat.patch ]; - nativeBuildInputs = [ pkg-config ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ memstreamHook ]; + nativeBuildInputs = [ + pkg-config + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ memstreamHook ]; - buildInputs = [ - libjack2 - ncurses - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreAudio - libobjc - ] ++ lib.optionals enableVorbis [ - libvorbis - ]; + buildInputs = + [ + libjack2 + ncurses + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreAudio + libobjc + ] + ++ lib.optionals enableVorbis [ + libvorbis + ]; - enabledOutputModes = [ - "jack" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "oss" - "alsa" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "darwin" - ] ++ lib.optionals enableVorbis [ - "vorbis" - ]; + enabledOutputModes = + [ + "jack" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "oss" + "alsa" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "darwin" + ] + ++ lib.optionals enableVorbis [ + "vorbis" + ]; - configureFlags = [ - "--enable-ncurses" - ("--enable-audio=" + builtins.concatStringsSep "," enabledOutputModes) - "lib_cv_va_copy=yes" - "lib_cv___va_copy=yes" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--enable-alsaseq" - "--with-default-output=alsa" - "lib_cv_va_val_copy=yes" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "lib_cv_va_val_copy=no" - "timidity_cv_ccoption_rdynamic=yes" - # These configure tests fail because of incompatible function pointer conversions. - "ac_cv_func_vprintf=yes" - "ac_cv_func_popen=yes" - "ac_cv_func_vsnprintf=yes" - "ac_cv_func_snprintf=yes" - "ac_cv_func_open_memstream=yes" - ]; + configureFlags = + [ + "--enable-ncurses" + ("--enable-audio=" + builtins.concatStringsSep "," enabledOutputModes) + "lib_cv_va_copy=yes" + "lib_cv___va_copy=yes" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--enable-alsaseq" + "--with-default-output=alsa" + "lib_cv_va_val_copy=yes" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "lib_cv_va_val_copy=no" + "timidity_cv_ccoption_rdynamic=yes" + # These configure tests fail because of incompatible function pointer conversions. + "ac_cv_func_vprintf=yes" + "ac_cv_func_popen=yes" + "ac_cv_func_vsnprintf=yes" + "ac_cv_func_snprintf=yes" + "ac_cv_func_open_memstream=yes" + ]; makeFlags = [ "AR=${stdenv.cc.targetPrefix}ar" diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix index b70476166fc2f..0adf8e6aa3c10 100644 --- a/pkgs/tools/misc/tlp/default.nix +++ b/pkgs/tools/misc/tlp/default.nix @@ -1,28 +1,30 @@ -{ stdenv -, lib -, checkbashisms -, coreutils -, ethtool -, fetchFromGitHub -, gawk -, gnugrep -, gnused -, hdparm -, iw -, kmod -, makeWrapper -, pciutils -, perl -, perlcritic -, shellcheck -, smartmontools -, systemd -, util-linux -, x86_energy_perf_policy +{ + stdenv, + lib, + checkbashisms, + coreutils, + ethtool, + fetchFromGitHub, + gawk, + gnugrep, + gnused, + hdparm, + iw, + kmod, + makeWrapper, + pciutils, + perl, + perlcritic, + shellcheck, + smartmontools, + systemd, + util-linux, + x86_energy_perf_policy, # RDW only works with NetworkManager, and thus is optional with default off -, enableRDW ? false -, networkmanager -}: stdenv.mkDerivation rec { + enableRDW ? false, + networkmanager, +}: +stdenv.mkDerivation rec { pname = "tlp"; version = "1.7.0"; @@ -61,34 +63,47 @@ "DESTDIR=${placeholder "out"}" ]; - installTargets = [ "install-tlp" "install-man" ] - ++ lib.optionals enableRDW [ "install-rdw" "install-man-rdw" ]; + installTargets = + [ + "install-tlp" + "install-man" + ] + ++ lib.optionals enableRDW [ + "install-rdw" + "install-man-rdw" + ]; doCheck = true; - nativeCheckInputs = [ checkbashisms perlcritic shellcheck ]; + nativeCheckInputs = [ + checkbashisms + perlcritic + shellcheck + ]; checkTarget = [ "checkall" ]; # TODO: Consider using resholve here - postInstall = let - paths = lib.makeBinPath ( - [ - coreutils - ethtool - gawk - gnugrep - gnused - hdparm - iw - kmod - pciutils - perl - smartmontools - systemd - util-linux - ] ++ lib.optional enableRDW networkmanager + postInstall = + let + paths = lib.makeBinPath ( + [ + coreutils + ethtool + gawk + gnugrep + gnused + hdparm + iw + kmod + pciutils + perl + smartmontools + systemd + util-linux + ] + ++ lib.optional enableRDW networkmanager ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform x86_energy_perf_policy) x86_energy_perf_policy - ); - in + ); + in '' fixup_perl=( $out/share/tlp/tlp-pcilist @@ -118,12 +133,14 @@ meta = with lib; { description = "Advanced Power Management for Linux"; - homepage = - "https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html"; + homepage = "https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html"; changelog = "https://github.com/linrunner/TLP/releases/tag/${version}"; platforms = platforms.linux; mainProgram = "tlp"; - maintainers = with maintainers; [ abbradar lovesegfault ]; + maintainers = with maintainers; [ + abbradar + lovesegfault + ]; license = licenses.gpl2Plus; }; } diff --git a/pkgs/tools/misc/tmux-sessionizer/default.nix b/pkgs/tools/misc/tmux-sessionizer/default.nix index 2d2deb07dbd26..a68cf47fb86c8 100644 --- a/pkgs/tools/misc/tmux-sessionizer/default.nix +++ b/pkgs/tools/misc/tmux-sessionizer/default.nix @@ -1,13 +1,14 @@ -{ lib -, fetchFromGitHub -, stdenv -, rustPlatform -, openssl -, pkg-config -, Security -, testers -, tmux-sessionizer -, installShellFiles +{ + lib, + fetchFromGitHub, + stdenv, + rustPlatform, + openssl, + pkg-config, + Security, + testers, + tmux-sessionizer, + installShellFiles, }: let @@ -36,7 +37,10 @@ rustPlatform.buildRustPackage { # Needed to get openssl-sys to use pkg-config. OPENSSL_NO_VENDOR = 1; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' @@ -50,7 +54,10 @@ rustPlatform.buildRustPackage { description = "Fastest way to manage projects as tmux sessions"; homepage = "https://github.com/jrmoulton/tmux-sessionizer"; license = licenses.mit; - maintainers = with maintainers; [ vinnymeller mrcjkb ]; + maintainers = with maintainers; [ + vinnymeller + mrcjkb + ]; mainProgram = "tms"; }; } diff --git a/pkgs/tools/misc/toastify/default.nix b/pkgs/tools/misc/toastify/default.nix index 6fde17977ebe1..3578e6af1d92a 100644 --- a/pkgs/tools/misc/toastify/default.nix +++ b/pkgs/tools/misc/toastify/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + darwin, +}: rustPlatform.buildRustPackage rec { pname = "toastify"; diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix index fa98d818d59da..b7164272ae387 100644 --- a/pkgs/tools/misc/topgrade/default.nix +++ b/pkgs/tools/misc/topgrade/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, AppKit -, Cocoa -, Foundation -, installShellFiles +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + AppKit, + Cocoa, + Foundation, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -31,10 +32,12 @@ rustPlatform.buildRustPackage rec { Foundation ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-framework" - "AppKit" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-framework" + "AppKit" + ] + ); postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd topgrade \ @@ -51,7 +54,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/topgrade-rs/topgrade"; changelog = "https://github.com/topgrade-rs/topgrade/releases/tag/v${version}"; license = licenses.gpl3Only; - maintainers = with maintainers; [ SuperSandro2000 xyenon ]; + maintainers = with maintainers; [ + SuperSandro2000 + xyenon + ]; mainProgram = "topgrade"; }; } diff --git a/pkgs/tools/misc/torrenttools/default.nix b/pkgs/tools/misc/torrenttools/default.nix index 6daa39dd7e739..543e151c8ec8e 100644 --- a/pkgs/tools/misc/torrenttools/default.nix +++ b/pkgs/tools/misc/torrenttools/default.nix @@ -1,21 +1,22 @@ -{ lib -, stdenv -, fetchFromGitHub -, bencode -, catch2 -, cli11 -, cmake -, ctre -, expected-lite -, fmt -, gsl-lite -, howard-hinnant-date -, yaml-cpp -, ninja -, nlohmann_json -, openssl -, re2 -, sigslot +{ + lib, + stdenv, + fetchFromGitHub, + bencode, + catch2, + cli11, + cmake, + ctre, + expected-lite, + fmt, + gsl-lite, + howard-hinnant-date, + yaml-cpp, + ninja, + nlohmann_json, + openssl, + re2, + sigslot, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/misc/toybox/default.nix b/pkgs/tools/misc/toybox/default.nix index 99167c87fa849..37695fb066a83 100644 --- a/pkgs/tools/misc/toybox/default.nix +++ b/pkgs/tools/misc/toybox/default.nix @@ -1,9 +1,14 @@ { - stdenv, lib, fetchFromGitHub, which, - buildPackages, libxcrypt, libiconv, + stdenv, + lib, + fetchFromGitHub, + which, + buildPackages, + libxcrypt, + libiconv, enableStatic ? stdenv.hostPlatform.isStatic, enableMinimal ? false, - extraConfig ? "" + extraConfig ? "", }: let @@ -21,15 +26,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-7izs2C5/czec0Dt3apL8s7luARAlw4PfUFy9Xsxb0zw="; }; - depsBuildBuild = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ buildPackages.stdenv.cc ]; - buildInputs = [ - libxcrypt - ] ++ optionals stdenv.hostPlatform.isDarwin [ - libiconv - ] ++ optionals (enableStatic && stdenv.cc.libc ? static) [ - stdenv.cc.libc - stdenv.cc.libc.static + depsBuildBuild = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + buildPackages.stdenv.cc ]; + buildInputs = + [ + libxcrypt + ] + ++ optionals stdenv.hostPlatform.isDarwin [ + libiconv + ] + ++ optionals (enableStatic && stdenv.cc.libc ? static) [ + stdenv.cc.libc + stdenv.cc.libc.static + ]; postPatch = "patchShebangs ."; @@ -37,16 +47,15 @@ stdenv.mkDerivation rec { passAsFile = [ "extraConfig" ]; configurePhase = '' - make ${if enableMinimal then - "allnoconfig" - else - if stdenv.hostPlatform.isFreeBSD then + make ${ + if enableMinimal then + "allnoconfig" + else if stdenv.hostPlatform.isFreeBSD then "freebsd_defconfig" + else if stdenv.hostPlatform.isDarwin then + "macos_defconfig" else - if stdenv.hostPlatform.isDarwin then - "macos_defconfig" - else - "defconfig" + "defconfig" } cat $extraConfigPath .config > .config- diff --git a/pkgs/tools/misc/trackma/default.nix b/pkgs/tools/misc/trackma/default.nix index 4ae9306f28fb6..69f91e5af2eb5 100644 --- a/pkgs/tools/misc/trackma/default.nix +++ b/pkgs/tools/misc/trackma/default.nix @@ -1,26 +1,34 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 -, wrapGAppsHook3 -, gobject-introspection -, glib -, gtk3 -, qt5 -, makeDesktopItem -, copyDesktopItems -, withCurses ? false -, withGTK ? false -, withQT ? false +{ + lib, + stdenv, + fetchFromGitHub, + python3, + wrapGAppsHook3, + gobject-introspection, + glib, + gtk3, + qt5, + makeDesktopItem, + copyDesktopItems, + withCurses ? false, + withGTK ? false, + withQT ? false, }: let - mkDesktopItem = name: desktopName: comment: terminal: makeDesktopItem { - inherit name desktopName comment terminal; - icon = "trackma"; - exec = name + " %u"; - type = "Application"; - categories = [ "Network" ]; - }; + mkDesktopItem = + name: desktopName: comment: terminal: + makeDesktopItem { + inherit + name + desktopName + comment + terminal + ; + icon = "trackma"; + exec = name + " %u"; + type = "Application"; + categories = [ "Network" ]; + }; in python3.pkgs.buildPythonApplication rec { pname = "trackma"; @@ -35,28 +43,56 @@ python3.pkgs.buildPythonApplication rec { fetchSubmodules = true; # for anime-relations submodule }; - nativeBuildInputs = [ copyDesktopItems python3.pkgs.poetry-core ] - ++ lib.optionals withGTK [ wrapGAppsHook3 gobject-introspection ] + nativeBuildInputs = + [ + copyDesktopItems + python3.pkgs.poetry-core + ] + ++ lib.optionals withGTK [ + wrapGAppsHook3 + gobject-introspection + ] ++ lib.optionals withQT [ qt5.wrapQtAppsHook ]; - buildInputs = lib.optionals withGTK [ glib gtk3 ]; + buildInputs = lib.optionals withGTK [ + glib + gtk3 + ]; - propagatedBuildInputs = with python3.pkgs; ([ requests ] - ++ lib.optionals withQT [ pyqt5 ] - ++ lib.optionals withGTK [ pycairo pygobject3 ] - ++ lib.optionals withCurses [ urwid ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pydbus pyinotify ] - ++ lib.optionals (withGTK || withQT) [ pillow ]); + propagatedBuildInputs = + with python3.pkgs; + ( + [ requests ] + ++ lib.optionals withQT [ pyqt5 ] + ++ lib.optionals withGTK [ + pycairo + pygobject3 + ] + ++ lib.optionals withCurses [ urwid ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pydbus + pyinotify + ] + ++ lib.optionals (withGTK || withQT) [ pillow ] + ); dontWrapQtApps = true; dontWrapGApps = true; - preFixup = lib.optional withQT "wrapQtApp $out/bin/trackma-qt" + preFixup = + lib.optional withQT "wrapQtApp $out/bin/trackma-qt" ++ lib.optional withGTK "wrapGApp $out/bin/trackma-gtk"; - desktopItems = lib.optional withQT (mkDesktopItem "trackma-qt" "Trackma (Qt)" "Trackma Updater (Qt-frontend)" false) - ++ lib.optional withGTK (mkDesktopItem "trackma-gtk" "Trackma (GTK)" "Trackma Updater (Gtk-frontend)" false) - ++ lib.optional withCurses (mkDesktopItem "trackma-curses" "Trackma (ncurses)" "Trackma Updater (ncurses frontend)" true); + desktopItems = + lib.optional withQT ( + mkDesktopItem "trackma-qt" "Trackma (Qt)" "Trackma Updater (Qt-frontend)" false + ) + ++ lib.optional withGTK ( + mkDesktopItem "trackma-gtk" "Trackma (GTK)" "Trackma Updater (Gtk-frontend)" false + ) + ++ lib.optional withCurses ( + mkDesktopItem "trackma-curses" "Trackma (ncurses)" "Trackma Updater (ncurses frontend)" true + ); postInstall = '' install -Dvm444 $src/trackma/data/icon.png $out/share/pixmaps/trackma.png @@ -66,7 +102,8 @@ python3.pkgs.buildPythonApplication rec { pythonImportsCheck = [ "trackma" ]; - postDist = lib.optional (!withQT) "rm $out/bin/trackma-qt" + postDist = + lib.optional (!withQT) "rm $out/bin/trackma-qt" ++ lib.optional (!withGTK) "rm $out/bin/trackma-gtk" ++ lib.optional (!withCurses) "rm $out/bin/trackma-curses"; diff --git a/pkgs/tools/misc/tremor-rs/ls.nix b/pkgs/tools/misc/tremor-rs/ls.nix index a379c9294d887..990c6e38a814b 100644 --- a/pkgs/tools/misc/tremor-rs/ls.nix +++ b/pkgs/tools/misc/tremor-rs/ls.nix @@ -1,6 +1,7 @@ -{ lib -, rustPlatform -, fetchFromGitHub +{ + lib, + rustPlatform, + fetchFromGitHub, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/misc/ttfautohint/default.nix b/pkgs/tools/misc/ttfautohint/default.nix index 8b843bf4344e3..711e62d88febc 100644 --- a/pkgs/tools/misc/ttfautohint/default.nix +++ b/pkgs/tools/misc/ttfautohint/default.nix @@ -1,7 +1,14 @@ { - stdenv, lib, fetchurl, pkg-config, autoreconfHook -, freetype, harfbuzz, libiconv, qtbase -, enableGUI ? true + stdenv, + lib, + fetchurl, + pkg-config, + autoreconfHook, + freetype, + harfbuzz, + libiconv, + qtbase, + enableGUI ? true, }: stdenv.mkDerivation rec { @@ -17,9 +24,16 @@ stdenv.mkDerivation rec { substituteInPlace configure --replace "macx-g++" "macx-clang" ''; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; - buildInputs = [ freetype harfbuzz libiconv ] ++ lib.optional enableGUI qtbase; + buildInputs = [ + freetype + harfbuzz + libiconv + ] ++ lib.optional enableGUI qtbase; configureFlags = [ ''--with-qt=${if enableGUI then "${qtbase}/lib" else "no"}'' ]; diff --git a/pkgs/tools/misc/twurl/default.nix b/pkgs/tools/misc/twurl/default.nix index ff332e88de917..2587d6f0b2c04 100644 --- a/pkgs/tools/misc/twurl/default.nix +++ b/pkgs/tools/misc/twurl/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "twurl"; @@ -9,10 +13,10 @@ bundlerApp { meta = with lib; { description = "OAuth-enabled curl for the Twitter API"; - homepage = "https://github.com/twitter/twurl"; - license = "MIT"; + homepage = "https://github.com/twitter/twurl"; + license = "MIT"; maintainers = with maintainers; [ brecht ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "twurl"; }; } diff --git a/pkgs/tools/misc/twurl/gemset.nix b/pkgs/tools/misc/twurl/gemset.nix index a1a2ed835d3ea..2ad0664e5b28c 100644 --- a/pkgs/tools/misc/twurl/gemset.nix +++ b/pkgs/tools/misc/twurl/gemset.nix @@ -1,20 +1,20 @@ { oauth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0"; type = "gem"; }; version = "0.5.6"; }; twurl = { - dependencies = ["oauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ "oauth" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jgsxa0cnkajnsxxlsrgl2wq3m7khaxvr0rcir4vwbc1hx210700"; type = "gem"; }; diff --git a/pkgs/tools/misc/ultrastar-creator/default.nix b/pkgs/tools/misc/ultrastar-creator/default.nix index bc39b7ed76c15..013c3d5e07ae6 100644 --- a/pkgs/tools/misc/ultrastar-creator/default.nix +++ b/pkgs/tools/misc/ultrastar-creator/default.nix @@ -1,5 +1,14 @@ -{ lib, mkDerivation, fetchFromGitHub -, qmake, qtbase, pkg-config, taglib, libbass, libbass_fx }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qtbase, + pkg-config, + taglib, + libbass, + libbass_fx, +}: # TODO: get rid of (unfree) libbass # issue:https://github.com/UltraStar-Deluxe/UltraStar-Creator/issues/3 @@ -33,8 +42,16 @@ mkDerivation { cd src ''; - nativeBuildInputs = [ qmake pkg-config ]; - buildInputs = [ qtbase taglib libbass libbass_fx ]; + nativeBuildInputs = [ + qmake + pkg-config + ]; + buildInputs = [ + qtbase + taglib + libbass + libbass_fx + ]; meta = with lib; { description = "Ultrastar karaoke song creation tool"; diff --git a/pkgs/tools/misc/ultrastar-manager/default.nix b/pkgs/tools/misc/ultrastar-manager/default.nix index d1d983bc10da8..2c0d3b5d0f8f1 100644 --- a/pkgs/tools/misc/ultrastar-manager/default.nix +++ b/pkgs/tools/misc/ultrastar-manager/default.nix @@ -1,11 +1,31 @@ -{ lib, mkDerivation, fetchFromGitHub, pkg-config, symlinkJoin, qmake, diffPlugins -, qtbase, qtmultimedia, taglib, libmediainfo, libzen, libbass }: +{ + lib, + mkDerivation, + fetchFromGitHub, + pkg-config, + symlinkJoin, + qmake, + diffPlugins, + qtbase, + qtmultimedia, + taglib, + libmediainfo, + libzen, + libbass, +}: let version = "2019-04-23"; rev = "ef4524e2239ddbb60f26e05bfba1f4f28cb7b54f"; sha256 = "0dl2qp686vbs160b3i9qypb7sv37phy2wn21kgzljbk3wnci3yv4"; - buildInputs = [ qtbase qtmultimedia taglib libmediainfo libzen libbass ]; + buildInputs = [ + qtbase + qtmultimedia + taglib + libmediainfo + libzen + libbass + ]; plugins = [ "albumartex" @@ -16,15 +36,17 @@ let "lyric" "preparatory" "rename" - ]; + ]; patchedSrc = - let src = fetchFromGitHub { - owner = "UltraStar-Deluxe"; - repo = "UltraStar-Manager"; - inherit rev sha256; - }; - in mkDerivation { + let + src = fetchFromGitHub { + owner = "UltraStar-Deluxe"; + repo = "UltraStar-Manager"; + inherit rev sha256; + }; + in + mkDerivation { name = "${src.name}-patched"; inherit src; @@ -56,34 +78,36 @@ let sed -e "s|QCore.*applicationDirPath()|QString(\"${path}\")|" -i "${file}" ''; - buildPlugin = name: mkDerivation { - name = "ultrastar-manager-${name}-plugin-${version}"; - src = patchedSrc; - - buildInputs = [ qmake ] ++ buildInputs; + buildPlugin = + name: + mkDerivation { + name = "ultrastar-manager-${name}-plugin-${version}"; + src = patchedSrc; - postPatch = '' - sed -e "s|DESTDIR = .*$|DESTDIR = $out|" \ - -i src/plugins/${name}/${name}.pro + buildInputs = [ qmake ] ++ buildInputs; - # plugins use the application’s binary folder (wtf) - for f in $(grep -lr "QCoreApplication::applicationDirPath" src/plugins); do - ${patchApplicationPath "$f" "\$out"} - done + postPatch = '' + sed -e "s|DESTDIR = .*$|DESTDIR = $out|" \ + -i src/plugins/${name}/${name}.pro - ''; - preConfigure = '' - cd src/plugins/${name} - ''; - }; + # plugins use the application’s binary folder (wtf) + for f in $(grep -lr "QCoreApplication::applicationDirPath" src/plugins); do + ${patchApplicationPath "$f" "\$out"} + done - builtPlugins = - symlinkJoin { - name = "ultrastar-manager-plugins-${version}"; - paths = map buildPlugin plugins; + ''; + preConfigure = '' + cd src/plugins/${name} + ''; }; -in mkDerivation { + builtPlugins = symlinkJoin { + name = "ultrastar-manager-plugins-${version}"; + paths = map buildPlugin plugins; + }; + +in +mkDerivation { pname = "ultrastar-manager"; inherit version; src = patchedSrc; diff --git a/pkgs/tools/misc/valeronoi/default.nix b/pkgs/tools/misc/valeronoi/default.nix index cb648f483fa30..d030107c9f545 100644 --- a/pkgs/tools/misc/valeronoi/default.nix +++ b/pkgs/tools/misc/valeronoi/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cgal -, cmake -, gpp -, mpfr -, qtbase -, qtimageformats -, qtsvg -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cgal, + cmake, + gpp, + mpfr, + qtbase, + qtimageformats, + qtsvg, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -45,7 +46,10 @@ stdenv.mkDerivation rec { description = "WiFi mapping companion app for Valetudo"; license = licenses.gpl3Only; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ nova-madeline maeve ]; + maintainers = with maintainers; [ + nova-madeline + maeve + ]; mainProgram = "valeronoi"; }; } diff --git a/pkgs/tools/misc/veikk-linux-driver-gui/default.nix b/pkgs/tools/misc/veikk-linux-driver-gui/default.nix index 28e3194f56ec0..8069e7cec5d1c 100644 --- a/pkgs/tools/misc/veikk-linux-driver-gui/default.nix +++ b/pkgs/tools/misc/veikk-linux-driver-gui/default.nix @@ -1,4 +1,9 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, +}: mkDerivation rec { pname = "veikk-linux-driver-gui"; diff --git a/pkgs/tools/misc/vimpager/build.nix b/pkgs/tools/misc/vimpager/build.nix index a610a461656cc..f3e146fd14f13 100644 --- a/pkgs/tools/misc/vimpager/build.nix +++ b/pkgs/tools/misc/vimpager/build.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchFromGitHub -, coreutils -, sharutils -, version -, sha256 +{ + lib, + stdenv, + fetchFromGitHub, + coreutils, + sharutils, + version, + sha256, }: stdenv.mkDerivation { @@ -13,9 +15,9 @@ stdenv.mkDerivation { src = fetchFromGitHub { inherit sha256; - owner = "rkitover"; - repo = "vimpager"; - rev = version; + owner = "rkitover"; + repo = "vimpager"; + rev = version; }; nativeBuildInputs = [ sharutils ]; # for uuencode @@ -30,11 +32,14 @@ stdenv.mkDerivation { make ''; - meta = with lib; { description = "Use Vim as PAGER"; - homepage = "https://www.vim.org/scripts/script.php?script_id=1723"; - license = with licenses; [ bsd2 mit vim ]; - platforms = platforms.unix; + homepage = "https://www.vim.org/scripts/script.php?script_id=1723"; + license = with licenses; [ + bsd2 + mit + vim + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/vimpager/default.nix b/pkgs/tools/misc/vimpager/default.nix index 1b1512db3cfe9..21e2a8bf7b03d 100644 --- a/pkgs/tools/misc/vimpager/default.nix +++ b/pkgs/tools/misc/vimpager/default.nix @@ -2,5 +2,5 @@ callPackage ./build.nix { version = "2.06"; - sha256 = "05yr7j72bw64nx7a0y6w9fjmz54zd4g46fn1qjfbbqvbc19fjpl8"; + sha256 = "05yr7j72bw64nx7a0y6w9fjmz54zd4g46fn1qjfbbqvbc19fjpl8"; } diff --git a/pkgs/tools/misc/vimpager/latest.nix b/pkgs/tools/misc/vimpager/latest.nix index 4ea8d5be57fdc..4557f7aad5740 100644 --- a/pkgs/tools/misc/vimpager/latest.nix +++ b/pkgs/tools/misc/vimpager/latest.nix @@ -2,9 +2,12 @@ (callPackage ./build.nix { version = "a4da4dfac44d1bbc6986c5c76fea45a60ebdd8e5"; - sha256 = "0gcjpw2q263hh8w2sjvq3f3k2d28qpkkv0jnl8hw1l7v604i8zxg"; -}).overrideAttrs (old: { - postPatch = old.postPatch or "" + '' - echo 'echo ${runtimeShell}' > scripts/find_shell - ''; -}) + sha256 = "0gcjpw2q263hh8w2sjvq3f3k2d28qpkkv0jnl8hw1l7v604i8zxg"; +}).overrideAttrs + (old: { + postPatch = + old.postPatch or "" + + '' + echo 'echo ${runtimeShell}' > scripts/find_shell + ''; + }) diff --git a/pkgs/tools/misc/vimwiki-markdown/default.nix b/pkgs/tools/misc/vimwiki-markdown/default.nix index 9db7c9d2443ee..eff91e14f940d 100644 --- a/pkgs/tools/misc/vimwiki-markdown/default.nix +++ b/pkgs/tools/misc/vimwiki-markdown/default.nix @@ -1,8 +1,9 @@ -{ lib -, buildPythonApplication -, fetchPypi -, markdown -, pygments +{ + lib, + buildPythonApplication, + fetchPypi, + markdown, + pygments, }: buildPythonApplication rec { @@ -14,7 +15,7 @@ buildPythonApplication rec { hash = "sha256-hJl0OTE6kHucVGOxgOZBG0noYRfxma3yZSrUWEssLN4="; }; - propagatedBuildInputs= [ + propagatedBuildInputs = [ markdown pygments ]; diff --git a/pkgs/tools/misc/vrc-get/default.nix b/pkgs/tools/misc/vrc-get/default.nix index e622d4534adb8..6e15af4c01a12 100644 --- a/pkgs/tools/misc/vrc-get/default.nix +++ b/pkgs/tools/misc/vrc-get/default.nix @@ -1,4 +1,12 @@ -{ fetchCrate, installShellFiles, lib, rustPlatform, pkg-config, stdenv, buildPackages }: +{ + fetchCrate, + installShellFiles, + lib, + rustPlatform, + pkg-config, + stdenv, + buildPackages, +}: rustPlatform.buildRustPackage rec { pname = "vrc-get"; @@ -9,7 +17,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-4ZiN9sl4VImb3ufF6L9k5t45tmV1RUSvm3NL52waj0o="; }; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; cargoHash = "sha256-uPx9sujuvBp6wJzzqVlS8Rq1S9Cb2su9/gp4pnNJ9zQ="; diff --git a/pkgs/tools/misc/wacomtablet/default.nix b/pkgs/tools/misc/wacomtablet/default.nix index 0b815eac39d52..6529ec029908b 100644 --- a/pkgs/tools/misc/wacomtablet/default.nix +++ b/pkgs/tools/misc/wacomtablet/default.nix @@ -1,5 +1,13 @@ -{ lib, mkDerivation, fetchurl, fetchpatch, extra-cmake-modules, qtx11extras, - plasma-workspace, libwacom, xf86_input_wacom +{ + lib, + mkDerivation, + fetchurl, + fetchpatch, + extra-cmake-modules, + qtx11extras, + plasma-workspace, + libwacom, + xf86_input_wacom, }: mkDerivation rec { @@ -18,8 +26,10 @@ mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ - qtx11extras plasma-workspace - libwacom xf86_input_wacom + qtx11extras + plasma-workspace + libwacom + xf86_input_wacom ]; meta = { diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix index 6200ee77d6132..d95c29509be43 100644 --- a/pkgs/tools/misc/wagyu/default.nix +++ b/pkgs/tools/misc/wagyu/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, +}: rustPlatform.buildRustPackage rec { pname = "wagyu"; @@ -20,7 +26,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Rust library for generating cryptocurrency wallets"; homepage = "https://github.com/AleoHQ/wagyu"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = [ maintainers.offline ]; mainProgram = "wagyu"; }; diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix index a073ef9473fe4..c4597d54c41d2 100644 --- a/pkgs/tools/misc/watchexec/default.nix +++ b/pkgs/tools/misc/watchexec/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, Cocoa, AppKit, installShellFiles }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Cocoa, + AppKit, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "watchexec"; @@ -15,11 +23,17 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ installShellFiles ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa AppKit ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + AppKit + ]; NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework AppKit"; - checkFlags = [ "--skip=help" "--skip=help_short" ]; + checkFlags = [ + "--skip=help" + "--skip=help_short" + ]; postPatch = '' rm .cargo/config.toml diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix index 18647cae1a232..3184cfe0b6028 100644 --- a/pkgs/tools/misc/wyrd/default.nix +++ b/pkgs/tools/misc/wyrd/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, ocamlPackages, ncurses, remind }: +{ + lib, + stdenv, + fetchurl, + ocamlPackages, + ncurses, + remind, +}: stdenv.mkDerivation rec { version = "1.4.6"; @@ -14,8 +21,14 @@ stdenv.mkDerivation rec { ''; strictDeps = true; - nativeBuildInputs = [ ocamlPackages.ocaml ocamlPackages.camlp4 ]; - buildInputs = [ ncurses remind ]; + nativeBuildInputs = [ + ocamlPackages.ocaml + ocamlPackages.camlp4 + ]; + buildInputs = [ + ncurses + remind + ]; preferLocalBuild = true; diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix index a94f9681a05cd..35a94d1952ad1 100644 --- a/pkgs/tools/misc/xburst-tools/default.nix +++ b/pkgs/tools/misc/xburst-tools/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchgit, libusb-compat-0_1, libusb1, autoconf, automake, libconfuse, pkg-config -, gccCross ? null +{ + lib, + stdenv, + fetchgit, + libusb-compat-0_1, + libusb1, + autoconf, + automake, + libconfuse, + pkg-config, + gccCross ? null, }: let @@ -29,14 +38,24 @@ stdenv.mkDerivation { "CROSS_COMPILE=${gccCross.targetPrefix}" ]; - hardeningDisable = [ "pic" "stackprotector" ]; + hardeningDisable = [ + "pic" + "stackprotector" + ]; # Not to strip cross build binaries (this is for the gcc-cross-wrapper) dontCrossStrip = true; - nativeBuildInputs = [ autoconf automake pkg-config ]; - buildInputs = [ libusb-compat-0_1 libusb1 libconfuse ] ++ - lib.optional (gccCross != null) gccCross; + nativeBuildInputs = [ + autoconf + automake + pkg-config + ]; + buildInputs = [ + libusb-compat-0_1 + libusb1 + libconfuse + ] ++ lib.optional (gccCross != null) gccCross; meta = { broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/tools/misc/xflux/default.nix b/pkgs/tools/misc/xflux/default.nix index 5cfda2df174f3..442d7f8d5d7e0 100644 --- a/pkgs/tools/misc/xflux/default.nix +++ b/pkgs/tools/misc/xflux/default.nix @@ -1,4 +1,13 @@ -{lib, stdenv, fetchurl, libXxf86vm, libXext, libX11, libXrandr, gcc}: +{ + lib, + stdenv, + fetchurl, + libXxf86vm, + libXext, + libX11, + libXrandr, + gcc, +}: stdenv.mkDerivation { pname = "xflux"; version = "unstable-2013-09-01"; diff --git a/pkgs/tools/misc/xflux/gui.nix b/pkgs/tools/misc/xflux/gui.nix index 97ad6dbaaecd4..c95ea40ac2b42 100644 --- a/pkgs/tools/misc/xflux/gui.nix +++ b/pkgs/tools/misc/xflux/gui.nix @@ -1,6 +1,19 @@ -{ lib, fetchFromGitHub, buildPythonApplication, python3Packages, wrapGAppsHook3 -, xflux, gtk3, gobject-introspection, pango, gdk-pixbuf, atk -, pexpect, pygobject3, pyxdg, libappindicator-gtk3 +{ + lib, + fetchFromGitHub, + buildPythonApplication, + python3Packages, + wrapGAppsHook3, + xflux, + gtk3, + gobject-introspection, + pango, + gdk-pixbuf, + atk, + pexpect, + pygobject3, + pyxdg, + libappindicator-gtk3, }: buildPythonApplication rec { pname = "xflux-gui"; @@ -20,17 +33,22 @@ buildPythonApplication rec { ]; buildInputs = [ - xflux gtk3 + xflux + gtk3 ]; nativeBuildInputs = [ - wrapGAppsHook3 gobject-introspection - pango gdk-pixbuf atk libappindicator-gtk3 + wrapGAppsHook3 + gobject-introspection + pango + gdk-pixbuf + atk + libappindicator-gtk3 ]; postPatch = '' - substituteInPlace src/fluxgui/xfluxcontroller.py \ - --replace "pexpect.spawn(\"xflux\"" "pexpect.spawn(\"${xflux}/bin/xflux\"" + substituteInPlace src/fluxgui/xfluxcontroller.py \ + --replace "pexpect.spawn(\"xflux\"" "pexpect.spawn(\"${xflux}/bin/xflux\"" ''; postFixup = '' diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix index f168c28268983..e2c2dc742e4cc 100644 --- a/pkgs/tools/misc/xvfb-run/default.nix +++ b/pkgs/tools/misc/xvfb-run/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -, makeWrapper -, xorg -, getopt -, xauth -, util-linux -, which -, fontsConf -, gawk -, coreutils -, installShellFiles -, xterm +{ + lib, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + xorg, + getopt, + xauth, + util-linux, + which, + fontsConf, + gawk, + coreutils, + installShellFiles, + xterm, }: stdenvNoCC.mkDerivation rec { pname = "xvfb-run"; @@ -24,7 +25,10 @@ stdenvNoCC.mkDerivation rec { sha256 = "sha256-KEg92RYgJd7naHFDKbdXEy075bt6NLcmX8VhQROHVPs="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; dontUnpack = true; dontBuild = true; @@ -39,7 +43,17 @@ stdenvNoCC.mkDerivation rec { patchShebangs $out/bin/xvfb-run wrapProgram $out/bin/xvfb-run \ --set-default FONTCONFIG_FILE "${fontsConf}" \ - --prefix PATH : ${lib.makeBinPath [ getopt xorg.xvfb xauth which util-linux gawk coreutils ]} + --prefix PATH : ${ + lib.makeBinPath [ + getopt + xorg.xvfb + xauth + which + util-linux + gawk + coreutils + ] + } ''; doInstallCheck = true; diff --git a/pkgs/tools/misc/yafetch/default.nix b/pkgs/tools/misc/yafetch/default.nix index 4b0254da44d29..8b05f19e74475 100644 --- a/pkgs/tools/misc/yafetch/default.nix +++ b/pkgs/tools/misc/yafetch/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "yafetch"; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 5f2becdadaff6..06cef5d1288d4 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,15 +1,26 @@ -{ lib, fetchurl, fetchpatch, buildPythonPackage -, zip, ffmpeg, rtmpdump, atomicparsley, pycryptodome, pandoc -# Pandoc is required to build the package's man page. Release tarballs contain a -# formatted man page already, though, it will still be installed. We keep the -# manpage argument in place in case someone wants to use this derivation to -# build a Git version of the tool that doesn't have the formatted man page -# included. -, generateManPage ? false -, ffmpegSupport ? true -, rtmpSupport ? true -, hlsEncryptedSupport ? true -, installShellFiles, makeWrapper }: +{ + lib, + fetchurl, + fetchpatch, + buildPythonPackage, + zip, + ffmpeg, + rtmpdump, + atomicparsley, + pycryptodome, + pandoc, + # Pandoc is required to build the package's man page. Release tarballs contain a + # formatted man page already, though, it will still be installed. We keep the + # manpage argument in place in case someone wants to use this derivation to + # build a Git version of the tool that doesn't have the formatted man page + # included. + generateManPage ? false, + ffmpegSupport ? true, + rtmpSupport ? true, + hlsEncryptedSupport ? true, + installShellFiles, + makeWrapper, +}: buildPythonPackage rec { @@ -53,7 +64,10 @@ buildPythonPackage rec { }) ]; - nativeBuildInputs = [ installShellFiles makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; buildInputs = [ zip ] ++ lib.optional generateManPage pandoc; propagatedBuildInputs = lib.optional hlsEncryptedSupport pycryptodome; @@ -61,12 +75,12 @@ buildPythonPackage rec { # - ffmpeg: post-processing & transcoding support # - rtmpdump: download files over RTMP # - atomicparsley: embedding thumbnails - makeWrapperArgs = let + makeWrapperArgs = + let packagesToBinPath = - [ atomicparsley ] - ++ lib.optional ffmpegSupport ffmpeg - ++ lib.optional rtmpSupport rtmpdump; - in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ]; + [ atomicparsley ] ++ lib.optional ffmpegSupport ffmpeg ++ lib.optional rtmpSupport rtmpdump; + in + [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ]; setupPyBuildFlags = [ "build_lazy_extractors" @@ -89,7 +103,10 @@ buildPythonPackage rec { it however you like. ''; license = licenses.publicDomain; - maintainers = with maintainers; [ bluescreen303 fpletz ]; + maintainers = with maintainers; [ + bluescreen303 + fpletz + ]; platforms = with platforms; linux ++ darwin; mainProgram = "youtube-dl"; knownVulnerabilities = [ diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix index ce0d06bb089a2..9012e9b592792 100644 --- a/pkgs/tools/misc/yubikey-manager-qt/default.nix +++ b/pkgs/tools/misc/yubikey-manager-qt/default.nix @@ -1,16 +1,17 @@ -{ lib -, mkDerivation -, fetchurl -, imagemagick -, pcsclite -, pyotherside -, python3 -, qmake -, qtbase -, qtgraphicaleffects -, qtquickcontrols2 -, yubikey-manager -, yubikey-personalization +{ + lib, + mkDerivation, + fetchurl, + imagemagick, + pcsclite, + pyotherside, + python3, + qmake, + qtbase, + qtgraphicaleffects, + qtquickcontrols2, + yubikey-manager, + yubikey-personalization, }: mkDerivation rec { @@ -67,7 +68,13 @@ mkDerivation rec { ''; qtWrapperArgs = [ - "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ pcsclite yubikey-personalization ]) + "--prefix" + "LD_LIBRARY_PATH" + ":" + (lib.makeLibraryPath [ + pcsclite + yubikey-personalization + ]) ]; preFixup = '' diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix index 6493c7244c3b0..1698737f20009 100644 --- a/pkgs/tools/misc/yubikey-personalization-gui/default.nix +++ b/pkgs/tools/misc/yubikey-personalization-gui/default.nix @@ -1,5 +1,15 @@ -{ stdenv, lib, fetchurl, mkDerivation, pkg-config, qtbase, qmake, imagemagick -, libyubikey, yubikey-personalization }: +{ + stdenv, + lib, + fetchurl, + mkDerivation, + pkg-config, + qtbase, + qmake, + imagemagick, + libyubikey, + yubikey-personalization, +}: mkDerivation rec { pname = "yubikey-personalization-gui"; @@ -10,8 +20,16 @@ mkDerivation rec { sha256 = "1knyv5yss8lhzaff6jpfqv12fjf1b8b21mfxzx3qi0hw4nl8n2v8"; }; - nativeBuildInputs = [ pkg-config qmake imagemagick ]; - buildInputs = [ yubikey-personalization qtbase libyubikey ]; + nativeBuildInputs = [ + pkg-config + qmake + imagemagick + ]; + buildInputs = [ + yubikey-personalization + qtbase + libyubikey + ]; installPhase = '' install -D -m0755 build/release/yubikey-personalization-gui "$out/bin/yubikey-personalization-gui" diff --git a/pkgs/tools/networking/acme-client/default.nix b/pkgs/tools/networking/acme-client/default.nix index 983a2b1a17786..539c93807448b 100644 --- a/pkgs/tools/networking/acme-client/default.nix +++ b/pkgs/tools/networking/acme-client/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchurl -, libbsd -, libressl -, pkg-config +{ + lib, + stdenv, + fetchurl, + libbsd, + libressl, + pkg-config, }: stdenv.mkDerivation rec { @@ -37,4 +38,3 @@ stdenv.mkDerivation rec { mainProgram = "acme-client"; }; } - diff --git a/pkgs/tools/networking/anevicon/default.nix b/pkgs/tools/networking/anevicon/default.nix index c84f0e75d3d64..5aaec8d47fd6d 100644 --- a/pkgs/tools/networking/anevicon/default.nix +++ b/pkgs/tools/networking/anevicon/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, rustPlatform -, libiconv -, Security +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + rustPlatform, + libiconv, + Security, }: rustPlatform.buildRustPackage rec { @@ -20,7 +21,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Id/vjne73w+bDVA8wT7fV1DMXeGtYbSAdwl07UfYJbw="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; cargoPatches = [ # Add Cargo.lock file, https://github.com/rozgo/anevicon/pull/1 diff --git a/pkgs/tools/networking/apc-temp-fetch/default.nix b/pkgs/tools/networking/apc-temp-fetch/default.nix index 84d1db515da17..b25672dd19e17 100644 --- a/pkgs/tools/networking/apc-temp-fetch/default.nix +++ b/pkgs/tools/networking/apc-temp-fetch/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchPypi -, pythonOlder -, requests -, setuptools +{ + lib, + buildPythonApplication, + fetchPypi, + pythonOlder, + requests, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix index e3c4210857e3c..c625d37362fc5 100644 --- a/pkgs/tools/networking/aria2/default.nix +++ b/pkgs/tools/networking/aria2/default.nix @@ -1,7 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook -, gnutls, c-ares, libxml2, sqlite, zlib, libssh2 -, cppunit, sphinx -, Security, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + autoreconfHook, + gnutls, + c-ares, + libxml2, + sqlite, + zlib, + libssh2, + cppunit, + sphinx, + Security, + nixosTests, }: stdenv.mkDerivation rec { @@ -16,12 +28,28 @@ stdenv.mkDerivation rec { }; strictDeps = true; - nativeBuildInputs = [ pkg-config autoreconfHook sphinx ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + sphinx + ]; - buildInputs = [ gnutls c-ares libxml2 sqlite zlib libssh2 ] ++ - lib.optional stdenv.hostPlatform.isDarwin Security; + buildInputs = [ + gnutls + c-ares + libxml2 + sqlite + zlib + libssh2 + ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; - outputs = [ "bin" "dev" "out" "doc" "man" ]; + outputs = [ + "bin" + "dev" + "out" + "doc" + "man" + ]; configureFlags = [ "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" @@ -49,6 +77,10 @@ stdenv.mkDerivation rec { mainProgram = "aria2c"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ Br1ght0ne koral timhae ]; + maintainers = with maintainers; [ + Br1ght0ne + koral + timhae + ]; }; } diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix index b30157755e499..62eac3d811f3e 100644 --- a/pkgs/tools/networking/axel/default.nix +++ b/pkgs/tools/networking/axel/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive -, pkg-config, gettext, libssl, txt2man }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + autoconf-archive, + pkg-config, + gettext, + libssl, + txt2man, +}: stdenv.mkDerivation rec { pname = "axel"; @@ -12,9 +21,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-5GUna5k8GhAx1Xe8n9IvXT7IO6gksxCLh+sMANlxTBM="; }; - nativeBuildInputs = [ autoreconfHook pkg-config autoconf-archive txt2man ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + autoconf-archive + txt2man + ]; - buildInputs = [ gettext libssl ]; + buildInputs = [ + gettext + libssl + ]; installFlags = [ "ETCDIR=${placeholder "out"}/etc" ]; diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix index 0c5a6d20a694b..843b42bb8e7ff 100644 --- a/pkgs/tools/networking/bandwhich/default.nix +++ b/pkgs/tools/networking/bandwhich/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security, installShellFiles }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "bandwhich"; @@ -58,7 +65,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/imsnif/bandwhich"; changelog = "https://github.com/imsnif/bandwhich/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ Br1ght0ne figsoda ]; + maintainers = with maintainers; [ + Br1ght0ne + figsoda + ]; platforms = platforms.unix; mainProgram = "bandwhich"; }; diff --git a/pkgs/tools/networking/bitmask-vpn/default.nix b/pkgs/tools/networking/bitmask-vpn/default.nix index d4e63f51a062b..5c8cbbe06db77 100644 --- a/pkgs/tools/networking/bitmask-vpn/default.nix +++ b/pkgs/tools/networking/bitmask-vpn/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, substituteAll -, git -, fetchFromGitLab -, buildGoModule -, wrapQtAppsHook -, python3 -, python3Packages -, pkg-config -, openvpn -, cmake -, qmake -, which -, iproute2 -, iptables -, procps -, qtbase -, qtdeclarative -, qtsvg -, qttools -, qtwayland -, CoreFoundation -, Security -, provider ? "riseup" +{ + lib, + stdenv, + substituteAll, + git, + fetchFromGitLab, + buildGoModule, + wrapQtAppsHook, + python3, + python3Packages, + pkg-config, + openvpn, + cmake, + qmake, + which, + iproute2, + iptables, + procps, + qtbase, + qtdeclarative, + qtsvg, + qttools, + qtwayland, + CoreFoundation, + Security, + provider ? "riseup", }: let version = "0.24.8"; @@ -82,29 +83,31 @@ buildGoModule rec { ./build_release.patch ]; - postPatch = '' - substituteInPlace pkg/pickle/helpers.go \ - --replace /usr/share $out/share - - # Using $PROVIDER is not working, - # thus replacing directly into the vendor.conf - substituteInPlace providers/vendor.conf \ - --replace "provider = bitmask" "provider = ${provider}" - - substituteInPlace branding/templates/debian/app.desktop-template \ - --replace "Icon=icon" "Icon=${pname}" - - patchShebangs gui/build.sh - wrapPythonProgramsIn branding/scripts - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace pkg/helper/linux.go \ - --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn - substituteInPlace pkg/launcher/launcher_linux.go \ - --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn \ - --replace /usr/sbin/bitmask-root ${bitmask-root}/bin/bitmask-root \ - --replace /usr/bin/lxpolkit /run/wrappers/bin/polkit-agent-helper-1 \ - --replace '"polkit-gnome-authentication-agent-1",' '"polkit-gnome-authentication-agent-1","polkitd",' - ''; + postPatch = + '' + substituteInPlace pkg/pickle/helpers.go \ + --replace /usr/share $out/share + + # Using $PROVIDER is not working, + # thus replacing directly into the vendor.conf + substituteInPlace providers/vendor.conf \ + --replace "provider = bitmask" "provider = ${provider}" + + substituteInPlace branding/templates/debian/app.desktop-template \ + --replace "Icon=icon" "Icon=${pname}" + + patchShebangs gui/build.sh + wrapPythonProgramsIn branding/scripts + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace pkg/helper/linux.go \ + --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn + substituteInPlace pkg/launcher/launcher_linux.go \ + --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn \ + --replace /usr/sbin/bitmask-root ${bitmask-root}/bin/bitmask-root \ + --replace /usr/bin/lxpolkit /run/wrappers/bin/polkit-agent-helper-1 \ + --replace '"polkit-gnome-authentication-agent-1",' '"polkit-gnome-authentication-agent-1","polkitd",' + ''; nativeBuildInputs = [ cmake @@ -119,12 +122,17 @@ buildGoModule rec { qtsvg ]; - buildInputs = [ - qtbase - qtdeclarative - qtsvg - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation Security ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; + buildInputs = + [ + qtbase + qtdeclarative + qtsvg + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreFoundation + Security + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; # FIXME: building on Darwin currently fails # due to missing debug symbols for Qt, @@ -149,16 +157,18 @@ buildGoModule rec { runHook postBuild ''; - postInstall = '' - install -m 755 -D -t $out/bin build/qt/release/${pname} - - VERSION=${version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json - (cd branding/templates/debian && ${python3Packages.python}/bin/python3 generate.py) - install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${pname}.desktop - install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -m 444 -D -t $out/share/polkit-1/actions ${bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy - ''; + postInstall = + '' + install -m 755 -D -t $out/bin build/qt/release/${pname} + + VERSION=${version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json + (cd branding/templates/debian && ${python3Packages.python}/bin/python3 generate.py) + install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${pname}.desktop + install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -m 444 -D -t $out/share/polkit-1/actions ${bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy + ''; # Some tests need access to the Internet: # Post "https://api.black.riseup.net/3/cert": dial tcp: lookup api.black.riseup.net on [::1]:53: read udp [::1]:56553->[::1]:53: read: connection refused diff --git a/pkgs/tools/networking/bore-cli/default.nix b/pkgs/tools/networking/bore-cli/default.nix index a29c58734adec..c680a5d9b3808 100644 --- a/pkgs/tools/networking/bore-cli/default.nix +++ b/pkgs/tools/networking/bore-cli/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/networking/bore/default.nix b/pkgs/tools/networking/bore/default.nix index 4d67cb4c94d7c..e74ea0a5fae7c 100644 --- a/pkgs/tools/networking/bore/default.nix +++ b/pkgs/tools/networking/bore/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, rustPlatform, fetchFromBitbucket, Libsystem, SystemConfiguration, installShellFiles }: +{ + lib, + stdenv, + rustPlatform, + fetchFromBitbucket, + Libsystem, + SystemConfiguration, + installShellFiles, +}: rustPlatform.buildRustPackage rec { pname = "bore"; @@ -12,17 +20,24 @@ rustPlatform.buildRustPackage rec { }; cargoHash = "sha256-vUKv98lfsrxBiJxjL8ZKLZ1IVCX5hHzl+F5y4Ot3i/Y="; - cargoBuildFlags = [ "-p" pname ]; + cargoBuildFlags = [ + "-p" + pname + ]; # error[E0793]: reference to packed field is unaligned doCheck = !stdenv.hostPlatform.isDarwin; # FIXME can’t test --all-targets and --doc in a single invocation - cargoTestFlags = [ "--all-targets" "--workspace" ]; + cargoTestFlags = [ + "--all-targets" + "--workspace" + ]; checkFeatures = [ "std" ]; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optional stdenv.hostPlatform.isDarwin rustPlatform.bindgenHook; + nativeBuildInputs = [ + installShellFiles + ] ++ lib.optional stdenv.hostPlatform.isDarwin rustPlatform.bindgenHook; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Libsystem diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix index fd484798677c3..54189d2083318 100644 --- a/pkgs/tools/networking/cmst/default.nix +++ b/pkgs/tools/networking/cmst/default.nix @@ -1,4 +1,12 @@ -{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools, gitUpdater }: +{ + mkDerivation, + lib, + fetchFromGitHub, + qmake, + qtbase, + qttools, + gitUpdater, +}: mkDerivation rec { pname = "cmst"; @@ -11,7 +19,10 @@ mkDerivation rec { sha256 = "sha256-yTqPxywPbtxTy1PPG+Mq64u8MrB27fEdmt1B0pn0BVk="; }; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + qmake + qttools + ]; buildInputs = [ qtbase ]; @@ -29,7 +40,10 @@ mkDerivation rec { description = "QT GUI for Connman with system tray icon"; mainProgram = "cmst"; homepage = "https://github.com/andrew-bibb/cmst"; - maintainers = with maintainers; [ matejc romildo ]; + maintainers = with maintainers; [ + matejc + romildo + ]; platforms = platforms.linux; license = licenses.mit; }; diff --git a/pkgs/tools/networking/cocom/default.nix b/pkgs/tools/networking/cocom/default.nix index ad6ab959e6e2f..f3ae01d96eb96 100644 --- a/pkgs/tools/networking/cocom/default.nix +++ b/pkgs/tools/networking/cocom/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/networking/curl-impersonate/default.nix b/pkgs/tools/networking/curl-impersonate/default.nix index f784036b2d6f1..d0c0dd1c3acda 100644 --- a/pkgs/tools/networking/curl-impersonate/default.nix +++ b/pkgs/tools/networking/curl-impersonate/default.nix @@ -15,11 +15,11 @@ symlinkJoin rec { ]; passthru = { - curl-impersonate-ff = callPackage ./firefox {}; - curl-impersonate-chrome = callPackage ./chrome {}; + curl-impersonate-ff = callPackage ./firefox { }; + curl-impersonate-chrome = callPackage ./chrome { }; inherit (passthru.curl-impersonate-chrome) src; - tests = {inherit (nixosTests) curl-impersonate;}; + tests = { inherit (nixosTests) curl-impersonate; }; }; } diff --git a/pkgs/tools/networking/davix/default.nix b/pkgs/tools/networking/davix/default.nix index 55c0355770974..4709b57656f1d 100644 --- a/pkgs/tools/networking/davix/default.nix +++ b/pkgs/tools/networking/davix/default.nix @@ -1,26 +1,27 @@ -{ lib -, stdenv -, fetchurl -, cmake -, pkg-config -, openssl -, libxml2 -, boost -, python3 -, libuuid -, curl -, gsoap -, rapidjson -, Security -, enableTools ? true +{ + lib, + stdenv, + fetchurl, + cmake, + pkg-config, + openssl, + libxml2, + boost, + python3, + libuuid, + curl, + gsoap, + rapidjson, + Security, + enableTools ? true, # Use libcurl instead of libneon # Note that the libneon used is bundled in the project # See https://github.com/cern-fts/davix/issues/23 -, defaultToLibcurl ? false -, enableIpv6 ? true -, enableTcpNodelay ? true + defaultToLibcurl ? false, + enableIpv6 ? true, + enableTcpNodelay ? true, # Build davix_copy.so -, enableThirdPartyCopy ? false + enableThirdPartyCopy ? false, }: let @@ -29,23 +30,30 @@ in stdenv.mkDerivation rec { version = "0.8.7"; pname = "davix" + lib.optionalString enableThirdPartyCopy "-copy"; - nativeBuildInputs = [ cmake pkg-config python3 ]; - buildInputs = [ - boost - curl - libxml2 - openssl - rapidjson - ] - ++ lib.optional stdenv.hostPlatform.isDarwin Security - ++ lib.optional (!stdenv.hostPlatform.isDarwin) libuuid - ++ lib.optional (enableThirdPartyCopy) gsoap; + nativeBuildInputs = [ + cmake + pkg-config + python3 + ]; + buildInputs = + [ + boost + curl + libxml2 + openssl + rapidjson + ] + ++ lib.optional stdenv.hostPlatform.isDarwin Security + ++ lib.optional (!stdenv.hostPlatform.isDarwin) libuuid + ++ lib.optional (enableThirdPartyCopy) gsoap; # using the url below since the github release page states # "please ignore the GitHub-generated tarballs, as they are incomplete" # https://github.com/cern-fts/davix/releases/tag/R_0_8_0 src = fetchurl { - url = "https://github.com/cern-fts/davix/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/davix-${version}.tar.gz"; + url = "https://github.com/cern-fts/davix/releases/download/R_${ + lib.replaceStrings [ "." ] [ "_" ] version + }/davix-${version}.tar.gz"; sha256 = "sha256-eMJOFO3X5OVgOS1nFH7IZYwqoNNkBBW99rxROvz2leY="; }; @@ -73,7 +81,9 @@ stdenv.mkDerivation rec { license = licenses.lgpl2Plus; homepage = "https://github.com/cern-fts/davix"; - changelog = "https://github.com/cern-fts/davix/blob/R_${lib.replaceStrings ["."] ["_"] version}/RELEASE-NOTES.md"; + changelog = "https://github.com/cern-fts/davix/blob/R_${ + lib.replaceStrings [ "." ] [ "_" ] version + }/RELEASE-NOTES.md"; maintainers = with maintainers; [ adev ]; platforms = platforms.all; }; diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix index 45088be9e29b5..86f3bc9d86636 100644 --- a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix +++ b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix @@ -1,8 +1,10 @@ { lib, datadog-agent }: datadog-agent.overrideAttrs (attrs: { pname = "datadog-process-agent"; - meta = with lib; - attrs.meta // { + meta = + with lib; + attrs.meta + // { description = "Live process collector for the DataDog Agent v7"; mainProgram = "process-agent"; maintainers = with maintainers; [ domenkozar ]; diff --git a/pkgs/tools/networking/dnschef/default.nix b/pkgs/tools/networking/dnschef/default.nix index 2907a0f578e5a..598126e9aa722 100644 --- a/pkgs/tools/networking/dnschef/default.nix +++ b/pkgs/tools/networking/dnschef/default.nix @@ -1,4 +1,9 @@ -{ buildPythonApplication, fetchFromGitHub, dnslib, lib }: +{ + buildPythonApplication, + fetchFromGitHub, + dnslib, + lib, +}: buildPythonApplication rec { pname = "dnschef"; diff --git a/pkgs/tools/networking/dnstracer/default.nix b/pkgs/tools/networking/dnstracer/default.nix index 8d1134cff46fb..e182a086771d8 100644 --- a/pkgs/tools/networking/dnstracer/default.nix +++ b/pkgs/tools/networking/dnstracer/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, libresolv, perl }: +{ + lib, + stdenv, + fetchurl, + libresolv, + perl, +}: stdenv.mkDerivation rec { version = "1.10"; @@ -9,9 +15,14 @@ stdenv.mkDerivation rec { sha256 = "089bmrjnmsga2n0r4xgw4bwbf41xdqsnmabjxhw8lngg2pns1kb4"; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; - nativeBuildInputs = [ perl /* for pod2man */ ]; + nativeBuildInputs = [ + perl # for pod2man + ]; setOutputFlags = false; @@ -20,7 +31,7 @@ stdenv.mkDerivation rec { install -Dm755 -t $man/share/man/man8 dnstracer.8 ''; - buildInputs = [] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libresolv ]; + buildInputs = [ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libresolv ]; NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-lresolv"; diff --git a/pkgs/tools/networking/dnsviz/default.nix b/pkgs/tools/networking/dnsviz/default.nix index b275734f8889a..46a9617cc2cc3 100644 --- a/pkgs/tools/networking/dnsviz/default.nix +++ b/pkgs/tools/networking/dnsviz/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, dnspython -, m2crypto -, pygraphviz +{ + lib, + buildPythonApplication, + fetchFromGitHub, + dnspython, + m2crypto, + pygraphviz, }: buildPythonApplication rec { diff --git a/pkgs/tools/networking/dogdns/default.nix b/pkgs/tools/networking/dogdns/default.nix index 397e87f23a10e..17d994fe2ae58 100644 --- a/pkgs/tools/networking/dogdns/default.nix +++ b/pkgs/tools/networking/dogdns/default.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, pkg-config -, openssl -, just -, pandoc -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + pkg-config, + openssl, + just, + pandoc, + Security, }: rustPlatform.buildRustPackage rec { @@ -27,12 +28,19 @@ rustPlatform.buildRustPackage rec { ./remove-date-info.patch ]; - nativeBuildInputs = [ installShellFiles just pandoc ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + nativeBuildInputs = [ + installShellFiles + just + pandoc + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; cargoLock = { lockFile = ./Cargo.lock; diff --git a/pkgs/tools/networking/drill/default.nix b/pkgs/tools/networking/drill/default.nix index 3afaff496ad90..3679932ff225f 100644 --- a/pkgs/tools/networking/drill/default.nix +++ b/pkgs/tools/networking/drill/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -25,13 +26,15 @@ rustPlatform.buildRustPackage rec { ]; OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib"; - OPENSSL_DIR="${lib.getDev openssl}"; + OPENSSL_DIR = "${lib.getDev openssl}"; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + ]; meta = with lib; { description = "HTTP load testing application inspired by Ansible syntax"; diff --git a/pkgs/tools/networking/ebpf-verifier/default.nix b/pkgs/tools/networking/ebpf-verifier/default.nix index 79a29cee8be31..431d842947194 100644 --- a/pkgs/tools/networking/ebpf-verifier/default.nix +++ b/pkgs/tools/networking/ebpf-verifier/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, boost -, cmake -, catch2 -, pkg-config -, substituteAll -, yaml-cpp +{ + lib, + stdenv, + fetchFromGitHub, + boost, + cmake, + catch2, + pkg-config, + substituteAll, + yaml-cpp, }: stdenv.mkDerivation { diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix index 857c81ac5782e..0b3dbd3c75877 100644 --- a/pkgs/tools/networking/flannel/default.nix +++ b/pkgs/tools/networking/flannel/default.nix @@ -1,4 +1,9 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ + lib, + buildGoModule, + fetchFromGitHub, + nixosTests, +}: buildGoModule rec { pname = "flannel"; @@ -25,7 +30,10 @@ buildGoModule rec { description = "Network fabric for containers, designed for Kubernetes"; license = licenses.asl20; homepage = "https://github.com/flannel-io/flannel"; - maintainers = with maintainers; [ johanot offline ]; + maintainers = with maintainers; [ + johanot + offline + ]; platforms = with platforms; linux; mainProgram = "flannel"; }; diff --git a/pkgs/tools/networking/flannel/plugin.nix b/pkgs/tools/networking/flannel/plugin.nix index ecd5954fef0ec..1d986666272e1 100644 --- a/pkgs/tools/networking/flannel/plugin.nix +++ b/pkgs/tools/networking/flannel/plugin.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "cni-plugin-flannel"; @@ -14,7 +18,8 @@ buildGoModule rec { vendorHash = "sha256-ZBd7ngYfsmdSGHE9a0kiEB7SeYc9RfaU9MILK2r3cyg="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X main.Version=${version}" "-X main.Commit=${version}" "-X main.Program=flannel" diff --git a/pkgs/tools/networking/gandi-cli/default.nix b/pkgs/tools/networking/gandi-cli/default.nix index 5d50f56604850..42b9d4ed05223 100644 --- a/pkgs/tools/networking/gandi-cli/default.nix +++ b/pkgs/tools/networking/gandi-cli/default.nix @@ -1,10 +1,11 @@ -{ lib -, buildPythonApplication -, click -, fetchFromGitHub -, ipy -, pyyaml -, requests +{ + lib, + buildPythonApplication, + click, + fetchFromGitHub, + ipy, + pyyaml, + requests, }: buildPythonApplication rec { diff --git a/pkgs/tools/networking/gmrender-resurrect/default.nix b/pkgs/tools/networking/gmrender-resurrect/default.nix index 70c07b4eac9bf..58296216ac454 100644 --- a/pkgs/tools/networking/gmrender-resurrect/default.nix +++ b/pkgs/tools/networking/gmrender-resurrect/default.nix @@ -1,37 +1,67 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, makeWrapper, gstreamer -, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + makeWrapper, + gstreamer, + gst-plugins-base, + gst-plugins-good, + gst-plugins-bad, + gst-plugins-ugly, + gst-libav, + libupnp, +}: let version = "0.1"; - pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]; + pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav + ]; in - stdenv.mkDerivation { - pname = "gmrender-resurrect"; - inherit version; +stdenv.mkDerivation { + pname = "gmrender-resurrect"; + inherit version; - src = fetchFromGitHub { - owner = "hzeller"; - repo = "gmrender-resurrect"; - rev = "v${version}"; - sha256 = "sha256-FR5bMjwPnY1/PNdPRiaxoY1keogq40M06YOaoks4zVY="; - }; + src = fetchFromGitHub { + owner = "hzeller"; + repo = "gmrender-resurrect"; + rev = "v${version}"; + sha256 = "sha256-FR5bMjwPnY1/PNdPRiaxoY1keogq40M06YOaoks4zVY="; + }; - buildInputs = [ gstreamer libupnp ]; - nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; + buildInputs = [ + gstreamer + libupnp + ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + makeWrapper + ]; - postInstall = '' - for prog in "$out/bin/"*; do - wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pluginPath}" - done - ''; + postInstall = '' + for prog in "$out/bin/"*; do + wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pluginPath}" + done + ''; - meta = with lib; { - description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer"; - mainProgram = "gmediarender"; - homepage = "https://github.com/hzeller/gmrender-resurrect"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ koral hzeller ]; - }; - } + meta = with lib; { + description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer"; + mainProgram = "gmediarender"; + homepage = "https://github.com/hzeller/gmrender-resurrect"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ + koral + hzeller + ]; + }; +} diff --git a/pkgs/tools/networking/gp-saml-gui/default.nix b/pkgs/tools/networking/gp-saml-gui/default.nix index 1426d13ed22b2..d0347a62e785f 100644 --- a/pkgs/tools/networking/gp-saml-gui/default.nix +++ b/pkgs/tools/networking/gp-saml-gui/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, buildPythonPackage -, webkitgtk_4_0 -, wrapGAppsHook3 -, glib-networking -, gobject-introspection -, openconnect -, pygobject3 -, requests +{ + lib, + stdenv, + fetchFromGitHub, + buildPythonPackage, + webkitgtk_4_0, + wrapGAppsHook3, + glib-networking, + gobject-introspection, + openconnect, + pygobject3, + requests, }: buildPythonPackage rec { pname = "gp-saml-gui"; @@ -23,7 +24,11 @@ buildPythonPackage rec { buildInputs = lib.optional stdenv.hostPlatform.isLinux glib-networking; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection glib-networking ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + glib-networking + ]; propagatedBuildInputs = [ requests diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix index 9e3cf2a8b0bfa..317f253dc69b6 100644 --- a/pkgs/tools/networking/http-prompt/default.nix +++ b/pkgs/tools/networking/http-prompt/default.nix @@ -1,4 +1,9 @@ -{ lib, fetchFromGitHub, python3Packages, httpie }: +{ + lib, + fetchFromGitHub, + python3Packages, + httpie, +}: python3Packages.buildPythonApplication rec { pname = "http-prompt"; @@ -15,7 +20,7 @@ python3Packages.buildPythonApplication rec { click httpie parsimonious - (python.pkgs.callPackage ../../../development/python-modules/prompt-toolkit/1.nix {}) + (python.pkgs.callPackage ../../../development/python-modules/prompt-toolkit/1.nix { }) pygments six pyyaml diff --git a/pkgs/tools/networking/hue-cli/default.nix b/pkgs/tools/networking/hue-cli/default.nix index 76f7dc8e25c7a..afb732a32e52d 100644 --- a/pkgs/tools/networking/hue-cli/default.nix +++ b/pkgs/tools/networking/hue-cli/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "hue-cli"; @@ -9,10 +13,13 @@ bundlerApp { meta = with lib; { description = "Command line interface for controlling Philips Hue system's lights and bridge"; - homepage = "https://github.com/birkirb/hue-cli"; + homepage = "https://github.com/birkirb/hue-cli"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ manveru nicknovitski ]; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; mainProgram = "hue"; }; } diff --git a/pkgs/tools/networking/hue-cli/gemset.nix b/pkgs/tools/networking/hue-cli/gemset.nix index 08fd67c388569..13dfba9bf5764 100644 --- a/pkgs/tools/networking/hue-cli/gemset.nix +++ b/pkgs/tools/networking/hue-cli/gemset.nix @@ -1,31 +1,34 @@ { hue-cli = { - dependencies = ["hue-lib" "json"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "hue-lib" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10gjf59pamfy2m17fs271d9ffrg1194b1m6vxzn6p7smzry52h9z"; type = "gem"; }; version = "0.1.4"; }; hue-lib = { - dependencies = ["json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pyl8g8gisdhl79gbzvnddqrsbq0lmflzg7n6yi6xrp5b5290shz"; type = "gem"; }; version = "0.7.4"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; type = "gem"; }; diff --git a/pkgs/tools/networking/ifwifi/default.nix b/pkgs/tools/networking/ifwifi/default.nix index 645000dffc73d..d39ab99ee6973 100644 --- a/pkgs/tools/networking/ifwifi/default.nix +++ b/pkgs/tools/networking/ifwifi/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, networkmanager, iw, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + makeWrapper, + networkmanager, + iw, + Security, +}: rustPlatform.buildRustPackage rec { pname = "ifwifi"; @@ -18,13 +27,15 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram "$out/bin/ifwifi" \ - --prefix PATH : "${lib.makeBinPath ( - # `ifwifi` runtime dep - [ networkmanager ] - # `wifiscanner` crate's runtime deps - ++ (lib.optional stdenv.hostPlatform.isLinux iw) - # ++ (lib.optional stdenv.hostPlatform.isDarwin airport) # airport isn't packaged - )}" + --prefix PATH : "${ + lib.makeBinPath ( + # `ifwifi` runtime dep + [ networkmanager ] + # `wifiscanner` crate's runtime deps + ++ (lib.optional stdenv.hostPlatform.isLinux iw) + # ++ (lib.optional stdenv.hostPlatform.isDarwin airport) # airport isn't packaged + ) + }" ''; doCheck = true; diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix index 4627ef34367c2..8f1e74b12b8c5 100644 --- a/pkgs/tools/networking/innernet/default.nix +++ b/pkgs/tools/networking/innernet/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, sqlite -, installShellFiles -, Security -, libiconv -, innernet -, testers +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + sqlite, + installShellFiles, + Security, + libiconv, + innernet, + testers, }: rustPlatform.buildRustPackage rec { @@ -28,26 +29,36 @@ rustPlatform.buildRustPackage rec { installShellFiles ]; - buildInputs = [ - sqlite - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - libiconv - ]; + buildInputs = + [ + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + libiconv + ]; - postInstall = '' - installManPage doc/innernet-server.8.gz - installManPage doc/innernet.8.gz - installShellCompletion doc/innernet.completions.{bash,fish,zsh} - installShellCompletion doc/innernet-server.completions.{bash,fish,zsh} - '' + (lib.optionalString stdenv.hostPlatform.isLinux '' - find . -regex '.*\.\(target\|service\)' | xargs install -Dt $out/lib/systemd/system - find $out/lib/systemd/system -type f | xargs sed -i "s|/usr/bin/innernet|$out/bin/innernet|" - ''); + postInstall = + '' + installManPage doc/innernet-server.8.gz + installManPage doc/innernet.8.gz + installShellCompletion doc/innernet.completions.{bash,fish,zsh} + installShellCompletion doc/innernet-server.completions.{bash,fish,zsh} + '' + + (lib.optionalString stdenv.hostPlatform.isLinux '' + find . -regex '.*\.\(target\|service\)' | xargs install -Dt $out/lib/systemd/system + find $out/lib/systemd/system -type f | xargs sed -i "s|/usr/bin/innernet|$out/bin/innernet|" + ''); passthru.tests = { - serverVersion = testers.testVersion { package = innernet; command = "innernet-server --version"; }; - version = testers.testVersion { package = innernet; command = "innernet --version"; }; + serverVersion = testers.testVersion { + package = innernet; + command = "innernet-server --version"; + }; + version = testers.testVersion { + package = innernet; + command = "innernet --version"; + }; }; meta = with lib; { @@ -55,6 +66,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/tonarino/innernet"; changelog = "https://github.com/tonarino/innernet/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ tomberek _0x4A6F ]; + maintainers = with maintainers; [ + tomberek + _0x4A6F + ]; }; } diff --git a/pkgs/tools/networking/iperf/2.nix b/pkgs/tools/networking/iperf/2.nix index 9831a4f4f7d17..109bf769e4998 100644 --- a/pkgs/tools/networking/iperf/2.nix +++ b/pkgs/tools/networking/iperf/2.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "iperf"; diff --git a/pkgs/tools/networking/knock/package.nix b/pkgs/tools/networking/knock/package.nix index 064cd8eff67b5..c7b591c7939d3 100644 --- a/pkgs/tools/networking/knock/package.nix +++ b/pkgs/tools/networking/knock/package.nix @@ -1,7 +1,8 @@ -{ lib -, buildGoModule -, fetchFromGitea -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitea, + installShellFiles, }: buildGoModule rec { @@ -11,14 +12,17 @@ buildGoModule rec { src = fetchFromGitea { domain = "codeberg.org"; owner = "nat-418"; - repo ="knock"; + repo = "knock"; rev = "v${version}"; hash = "sha256-K+L4F4bTERQSqISAmfyps/U5GJ2N0FdJ3RmpiUmt4uA="; }; vendorHash = "sha256-wkSXdIgfkHbVJYsgm/hLAeKA9geof92U3mzSzt7eJE8="; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/networking/lldpd/default.nix b/pkgs/tools/networking/lldpd/default.nix index e627b12d7331a..1b26c91285c6c 100644 --- a/pkgs/tools/networking/lldpd/default.nix +++ b/pkgs/tools/networking/lldpd/default.nix @@ -1,13 +1,14 @@ -{ stdenv -, Foundation -, fetchurl -, lib -, libevent -, net-snmp -, openssl -, pkg-config -, readline -, removeReferencesTo +{ + stdenv, + Foundation, + fetchurl, + lib, + libevent, + net-snmp, + openssl, + pkg-config, + readline, + removeReferencesTo, }: stdenv.mkDerivation rec { @@ -19,25 +20,39 @@ stdenv.mkDerivation rec { hash = "sha256-SzIGddYIkBpKDU/v+PlruEbUkT2RSwz3W30K6ASQ8vc="; }; - configureFlags = [ - "--localstatedir=/var" - "--enable-pie" - "--with-snmp" - "--with-systemdsystemunitdir=\${out}/lib/systemd/system" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "--with-launchddaemonsdir=no" - "--with-privsep-chroot=/var/empty" - "--with-privsep-group=nogroup" - "--with-privsep-user=nobody" - ]; + configureFlags = + [ + "--localstatedir=/var" + "--enable-pie" + "--with-snmp" + "--with-systemdsystemunitdir=\${out}/lib/systemd/system" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--with-launchddaemonsdir=no" + "--with-privsep-chroot=/var/empty" + "--with-privsep-group=nogroup" + "--with-privsep-user=nobody" + ]; - nativeBuildInputs = [ pkg-config removeReferencesTo ]; - buildInputs = [ libevent readline net-snmp openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation ]; + nativeBuildInputs = [ + pkg-config + removeReferencesTo + ]; + buildInputs = [ + libevent + readline + net-snmp + openssl + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation ]; enableParallelBuilding = true; - outputs = [ "out" "dev" "man" "doc" ]; + outputs = [ + "out" + "dev" + "man" + "doc" + ]; preFixup = '' find $out -type f -exec remove-references-to -t ${stdenv.cc} '{}' + diff --git a/pkgs/tools/networking/lychee/tests/fail-emptyDirectory.nix b/pkgs/tools/networking/lychee/tests/fail-emptyDirectory.nix index 9db4b23b1bc96..e59fc9852fa9f 100644 --- a/pkgs/tools/networking/lychee/tests/fail-emptyDirectory.nix +++ b/pkgs/tools/networking/lychee/tests/fail-emptyDirectory.nix @@ -1,4 +1,8 @@ -{ runCommand, testers, emptyDirectory }: +{ + runCommand, + testers, + emptyDirectory, +}: let sitePkg = runCommand "site" { } '' dist=$out/dist @@ -19,10 +23,10 @@ let failure = testers.testBuildFailure check; in - runCommand "link-check-fail" { inherit failure; } '' - # The details of the message might change, but we have to make sure the - # correct error is reported, so that we know it's not something else that - # went wrong. - grep 'empty-directory/foo.*Cannot find file' $failure/testBuildFailure.log >/dev/null - touch $out - '' +runCommand "link-check-fail" { inherit failure; } '' + # The details of the message might change, but we have to make sure the + # correct error is reported, so that we know it's not something else that + # went wrong. + grep 'empty-directory/foo.*Cannot find file' $failure/testBuildFailure.log >/dev/null + touch $out +'' diff --git a/pkgs/tools/networking/lychee/tests/fail.nix b/pkgs/tools/networking/lychee/tests/fail.nix index 5a83814d3c443..b1885834a4d97 100644 --- a/pkgs/tools/networking/lychee/tests/fail.nix +++ b/pkgs/tools/networking/lychee/tests/fail.nix @@ -9,13 +9,15 @@ let linkCheck = testers.lycheeLinkCheck rec { site = sitePkg + "/dist"; - remap = { "https://exampl[e]\\.com" = site; }; + remap = { + "https://exampl[e]\\.com" = site; + }; }; failure = testers.testBuildFailure linkCheck; in - runCommand "link-check-fail" { inherit failure; } '' - grep -F foos-missing-anchor $failure/testBuildFailure.log >/dev/null - touch $out - '' +runCommand "link-check-fail" { inherit failure; } '' + grep -F foos-missing-anchor $failure/testBuildFailure.log >/dev/null + touch $out +'' diff --git a/pkgs/tools/networking/lychee/tests/network.nix b/pkgs/tools/networking/lychee/tests/network.nix index 8d7f908a58053..dcaebe7450d56 100644 --- a/pkgs/tools/networking/lychee/tests/network.nix +++ b/pkgs/tools/networking/lychee/tests/network.nix @@ -1,4 +1,9 @@ -{ config, hostPkgs, lib, ... }: +{ + config, + hostPkgs, + lib, + ... +}: let sitePkg = hostPkgs.runCommand "site" { } '' dist=$out/dist diff --git a/pkgs/tools/networking/lychee/tests/ok.nix b/pkgs/tools/networking/lychee/tests/ok.nix index 6a6c0b9c87b49..b93b93384ba11 100644 --- a/pkgs/tools/networking/lychee/tests/ok.nix +++ b/pkgs/tools/networking/lychee/tests/ok.nix @@ -6,7 +6,10 @@ let echo "foobar" > $dist/index.html echo "index" > $dist/foo.html ''; -in testers.lycheeLinkCheck rec { +in +testers.lycheeLinkCheck rec { site = sitePkg + "/dist"; - remap = { "https://example.com" = site; }; + remap = { + "https://example.com" = site; + }; } diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index c9979a0fee5fa..a816357d64a4b 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -1,32 +1,33 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, autoreconfHook -, dejagnu -, gettext -, gnum4 -, pkg-config -, texinfo -, fribidi -, gdbm -, gnutls -, gss -, guile_2_2 -, libmysqlclient -, mailcap -, nettools -, pam -, readline -, ncurses -, python3 -, sasl -, system-sendmail -, libxcrypt -, mkpasswd - -, pythonSupport ? true -, guileSupport ? true +{ + lib, + stdenv, + fetchurl, + fetchpatch, + autoreconfHook, + dejagnu, + gettext, + gnum4, + pkg-config, + texinfo, + fribidi, + gdbm, + gnutls, + gss, + guile_2_2, + libmysqlclient, + mailcap, + nettools, + pam, + readline, + ncurses, + python3, + sasl, + system-sendmail, + libxcrypt, + mkpasswd, + + pythonSupport ? true, + guileSupport ? true, }: stdenv.mkDerivation rec { @@ -55,21 +56,23 @@ stdenv.mkDerivation rec { texinfo ]; - buildInputs = [ - fribidi - gdbm - gnutls - gss - libmysqlclient - mailcap - ncurses - pam - readline - sasl - libxcrypt - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ nettools ] - ++ lib.optionals pythonSupport [ python3 ] - ++ lib.optionals guileSupport [ guile_2_2 ]; + buildInputs = + [ + fribidi + gdbm + gnutls + gss + libmysqlclient + mailcap + ncurses + pam + readline + sasl + libxcrypt + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ nettools ] + ++ lib.optionals pythonSupport [ python3 ] + ++ lib.optionals guileSupport [ guile_2_2 ]; patches = [ ./fix-build-mb-len-max.patch @@ -88,18 +91,23 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; hardeningDisable = [ "format" ]; - configureFlags = [ - "--sysconfdir=/etc" - "--with-gssapi" - "--with-gsasl" - "--with-mysql" - "--with-path-sendmail=${system-sendmail}/bin/sendmail" - "--with-mail-rc=/etc/mail.rc" - "DEFAULT_CUPS_CONFDIR=${mailcap}/etc" # provides mime.types to mimeview - ] ++ lib.optional (!pythonSupport) "--without-python" + configureFlags = + [ + "--sysconfdir=/etc" + "--with-gssapi" + "--with-gsasl" + "--with-mysql" + "--with-path-sendmail=${system-sendmail}/bin/sendmail" + "--with-mail-rc=/etc/mail.rc" + "DEFAULT_CUPS_CONFDIR=${mailcap}/etc" # provides mime.types to mimeview + ] + ++ lib.optional (!pythonSupport) "--without-python" ++ lib.optional (!guileSupport) "--without-guile"; - nativeCheckInputs = [ dejagnu mkpasswd ]; + nativeCheckInputs = [ + dejagnu + mkpasswd + ]; doCheck = !stdenv.hostPlatform.isDarwin; # ERROR: All 46 tests were run, 46 failed unexpectedly. doInstallCheck = false; # fails @@ -139,8 +147,8 @@ stdenv.mkDerivation rec { ''; license = with licenses; [ - lgpl3Plus /* libraries */ - gpl3Plus /* tools */ + lgpl3Plus # libraries + gpl3Plus # tools ]; maintainers = with maintainers; [ orivej ]; diff --git a/pkgs/tools/networking/maphosts/default.nix b/pkgs/tools/networking/maphosts/default.nix index 54819dd13827b..4b9e75c311ee5 100644 --- a/pkgs/tools/networking/maphosts/default.nix +++ b/pkgs/tools/networking/maphosts/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + stdenv, + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: let env = bundlerEnv { @@ -6,7 +12,8 @@ let inherit ruby; gemdir = ./.; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "maphosts"; version = env.gems.maphosts.version; @@ -21,11 +28,14 @@ in stdenv.mkDerivation { meta = with lib; { description = "Small command line application for keeping your project hostnames in sync with /etc/hosts"; - homepage = "https://github.com/mpscholten/maphosts"; - changelog = "https://github.com/mpscholten/maphosts/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ mpscholten nicknovitski ]; - platforms = platforms.all; + homepage = "https://github.com/mpscholten/maphosts"; + changelog = "https://github.com/mpscholten/maphosts/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ + mpscholten + nicknovitski + ]; + platforms = platforms.all; mainProgram = "maphosts"; }; } diff --git a/pkgs/tools/networking/maphosts/gemset.nix b/pkgs/tools/networking/maphosts/gemset.nix index b50653bc96d66..c231724c82cc9 100644 --- a/pkgs/tools/networking/maphosts/gemset.nix +++ b/pkgs/tools/networking/maphosts/gemset.nix @@ -1,7 +1,7 @@ { colorize = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mmi9wr55gb84jfpyhpx975d2c8dhdsjjys88kc6f2r66brxmh23"; type = "gem"; }; @@ -9,7 +9,7 @@ }; hosts = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s1mbn73ig5dy69dr8461574kq1ig6rdz89r1w5f8i7gvx9g9z9v"; type = "gem"; }; @@ -17,7 +17,7 @@ }; linebreak = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0362jhjhjcf0yr3k7bfqk4ai9yybm4985x7h1rwq4b7kvzk77pqj"; type = "gem"; }; @@ -25,7 +25,7 @@ }; maphosts = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bb7wa4vr3lkaywh4hvl74j2w5n52870zh4ypwl9cr43fdrj4nkw"; type = "gem"; }; diff --git a/pkgs/tools/networking/maubot/default.nix b/pkgs/tools/networking/maubot/default.nix index f2cdf39b5e579..add134333a460 100644 --- a/pkgs/tools/networking/maubot/default.nix +++ b/pkgs/tools/networking/maubot/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchPypi -, fetchpatch -, callPackage -, runCommand -, python3 -, encryptionSupport ? true -, sqliteSupport ? true +{ + lib, + fetchPypi, + fetchpatch, + callPackage, + runCommand, + python3, + encryptionSupport ? true, + sqliteSupport ? true, }: let @@ -52,33 +53,35 @@ let }) ]; - propagatedBuildInputs = with python.pkgs; [ - # requirements.txt - (mautrix.override { withOlm = encryptionSupport; }) - aiohttp - yarl - asyncpg - aiosqlite - commonmark - ruamel-yaml - attrs - bcrypt - packaging - click - colorama - questionary - jinja2 - setuptools - ] - # optional-requirements.txt - ++ lib.optionals encryptionSupport [ - python-olm - pycryptodome - unpaddedbase64 - ] - ++ lib.optionals sqliteSupport [ - sqlalchemy - ]; + propagatedBuildInputs = + with python.pkgs; + [ + # requirements.txt + (mautrix.override { withOlm = encryptionSupport; }) + aiohttp + yarl + asyncpg + aiosqlite + commonmark + ruamel-yaml + attrs + bcrypt + packaging + click + colorama + questionary + jinja2 + setuptools + ] + # optional-requirements.txt + ++ lib.optionals encryptionSupport [ + python-olm + pycryptodome + unpaddedbase64 + ] + ++ lib.optionals sqliteSupport [ + sqlalchemy + ]; # used for plugin tests propagatedNativeBuildInputs = with python.pkgs; [ @@ -97,34 +100,35 @@ let "maubot" ]; - passthru = let - wrapper = callPackage ./wrapper.nix { - unwrapped = maubot; - python3 = python; - }; - in - { - tests = { - simple = runCommand "${pname}-tests" { } '' - ${maubot}/bin/mbc --help > $out - ''; - }; + passthru = + let + wrapper = callPackage ./wrapper.nix { + unwrapped = maubot; + python3 = python; + }; + in + { + tests = { + simple = runCommand "${pname}-tests" { } '' + ${maubot}/bin/mbc --help > $out + ''; + }; - inherit python; + inherit python; - plugins = callPackage ./plugins { - maubot = maubot; - python3 = python; - }; + plugins = callPackage ./plugins { + maubot = maubot; + python3 = python; + }; - withPythonPackages = pythonPackages: wrapper { inherit pythonPackages; }; + withPythonPackages = pythonPackages: wrapper { inherit pythonPackages; }; - # This adds the plugins to lib/maubot-plugins - withPlugins = plugins: wrapper { inherit plugins; }; + # This adds the plugins to lib/maubot-plugins + withPlugins = plugins: wrapper { inherit plugins; }; - # This changes example-config.yaml in module directory - withBaseConfig = baseConfig: wrapper { inherit baseConfig; }; - }; + # This changes example-config.yaml in module directory + withBaseConfig = baseConfig: wrapper { inherit baseConfig; }; + }; meta = with lib; { description = "Plugin-based Matrix bot system written in Python"; diff --git a/pkgs/tools/networking/maubot/plugins/default.nix b/pkgs/tools/networking/maubot/plugins/default.nix index b60589b9df7e9..e40154c989caf 100644 --- a/pkgs/tools/networking/maubot/plugins/default.nix +++ b/pkgs/tools/networking/maubot/plugins/default.nix @@ -1,68 +1,90 @@ -{ lib -, fetchgit -, fetchFromGitHub -, fetchFromGitLab -, fetchFromGitea -, stdenvNoCC -, callPackage -, ensureNewerSourcesForZipFilesHook -, maubot -, python3 -, poetry -, formats +{ + lib, + fetchgit, + fetchFromGitHub, + fetchFromGitLab, + fetchFromGitea, + stdenvNoCC, + callPackage, + ensureNewerSourcesForZipFilesHook, + maubot, + python3, + poetry, + formats, }: let # pname: plugin id (example: xyz.maubot.echo) # version: plugin version # other attributes are passed directly to stdenv.mkDerivation (you at least need src) - buildMaubotPlugin = attrs@{ version, pname, base_config ? null, ... }: - stdenvNoCC.mkDerivation (builtins.removeAttrs attrs [ "base_config" ] // { - pluginName = "${pname}-v${version}.mbp"; - nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ - ensureNewerSourcesForZipFilesHook - maubot - ]; - buildPhase = '' - runHook preBuild + buildMaubotPlugin = + attrs@{ + version, + pname, + base_config ? null, + ... + }: + stdenvNoCC.mkDerivation ( + builtins.removeAttrs attrs [ "base_config" ] + // { + pluginName = "${pname}-v${version}.mbp"; + nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ + ensureNewerSourcesForZipFilesHook + maubot + ]; + buildPhase = '' + runHook preBuild - mbc build + mbc build - runHook postBuild - ''; + runHook postBuild + ''; - postPatch = lib.optionalString (base_config != null) '' - [ -e base-config.yaml ] || (echo "base-config.yaml doesn't exist, can't override it" && exit 1) - cp "${if builtins.isPath base_config || lib.isDerivation base_config then base_config - else if builtins.isString base_config then builtins.toFile "base-config.yaml" base_config - else (formats.yaml { }).generate "base-config.yaml" base_config}" base-config.yaml - '' + attrs.postPatch or ""; + postPatch = + lib.optionalString (base_config != null) '' + [ -e base-config.yaml ] || (echo "base-config.yaml doesn't exist, can't override it" && exit 1) + cp "${ + if builtins.isPath base_config || lib.isDerivation base_config then + base_config + else if builtins.isString base_config then + builtins.toFile "base-config.yaml" base_config + else + (formats.yaml { }).generate "base-config.yaml" base_config + }" base-config.yaml + '' + + attrs.postPatch or ""; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/lib/maubot-plugins - install -m 444 $pluginName $out/lib/maubot-plugins + mkdir -p $out/lib/maubot-plugins + install -m 444 $pluginName $out/lib/maubot-plugins - runHook postInstall - ''; - }); + runHook postInstall + ''; + } + ); generated = import ./generated.nix { - inherit lib fetchgit fetchFromGitHub fetchFromGitLab - fetchFromGitea python3 poetry buildMaubotPlugin; + inherit + lib + fetchgit + fetchFromGitHub + fetchFromGitLab + fetchFromGitea + python3 + poetry + buildMaubotPlugin + ; }; in -generated // { +generated +// { inherit buildMaubotPlugin; - allOfficialPlugins = - builtins.filter - (x: x.isOfficial && !x.meta.broken) - (builtins.attrValues generated); + allOfficialPlugins = builtins.filter (x: x.isOfficial && !x.meta.broken) ( + builtins.attrValues generated + ); - allPlugins = - builtins.filter - (x: !x.meta.broken) - (builtins.attrValues generated); + allPlugins = builtins.filter (x: !x.meta.broken) (builtins.attrValues generated); } diff --git a/pkgs/tools/networking/maubot/plugins/generated.nix b/pkgs/tools/networking/maubot/plugins/generated.nix index 1ac34284ab54f..5008acdcc4b36 100644 --- a/pkgs/tools/networking/maubot/plugins/generated.nix +++ b/pkgs/tools/networking/maubot/plugins/generated.nix @@ -1,74 +1,96 @@ -{ lib -, fetchgit -, fetchFromGitHub -, fetchFromGitLab -, fetchFromGitea -, python3 -, poetry -, buildMaubotPlugin +{ + lib, + fetchgit, + fetchFromGitHub, + fetchFromGitLab, + fetchFromGitea, + python3, + poetry, + buildMaubotPlugin, }: let json = builtins.fromJSON (builtins.readFile ./generated.json); in -lib.flip builtins.mapAttrs json (name: entry: -let - inherit (entry) manifest; +lib.flip builtins.mapAttrs json ( + name: entry: + let + inherit (entry) manifest; - resolveDeps = deps: map - (name: - let - packageName = builtins.head (builtins.match "([^~=<>@]*).*" name); - lower = lib.toLower packageName; - dash = builtins.replaceStrings ["_"] ["-"] packageName; - lowerDash = builtins.replaceStrings ["_"] ["-"] lower; - in - python3.pkgs.${packageName} - or python3.pkgs.${lower} - or python3.pkgs.${dash} - or python3.pkgs.${lowerDash} - or null) - (builtins.filter (x: x != "maubot" && x != null) deps); + resolveDeps = + deps: + map ( + name: + let + packageName = builtins.head (builtins.match "([^~=<>@]*).*" name); + lower = lib.toLower packageName; + dash = builtins.replaceStrings [ "_" ] [ "-" ] packageName; + lowerDash = builtins.replaceStrings [ "_" ] [ "-" ] lower; + in + python3.pkgs.${packageName} or python3.pkgs.${lower} or python3.pkgs.${dash} + or python3.pkgs.${lowerDash} or null + ) (builtins.filter (x: x != "maubot" && x != null) deps); - reqDeps = resolveDeps (lib.toList (manifest.dependencies or null)); - optDeps = resolveDeps (lib.toList (manifest.soft_dependencies or null)); -in + reqDeps = resolveDeps (lib.toList (manifest.dependencies or null)); + optDeps = resolveDeps (lib.toList (manifest.soft_dependencies or null)); + in -lib.makeOverridable buildMaubotPlugin (entry.attrs // { - pname = manifest.id; - inherit (manifest) version; + lib.makeOverridable buildMaubotPlugin ( + entry.attrs + // { + pname = manifest.id; + inherit (manifest) version; - src = - if entry?github then fetchFromGitHub entry.github - else if entry?git then fetchgit entry.git - else if entry?gitlab then fetchFromGitLab entry.gitlab - else if entry?gitea then fetchFromGitea entry.gitea - else throw "Invalid generated entry for ${manifest.id}: missing source"; + src = + if entry ? github then + fetchFromGitHub entry.github + else if entry ? git then + fetchgit entry.git + else if entry ? gitlab then + fetchFromGitLab entry.gitlab + else if entry ? gitea then + fetchFromGitea entry.gitea + else + throw "Invalid generated entry for ${manifest.id}: missing source"; - propagatedBuildInputs = builtins.filter (x: x != null) (reqDeps ++ optDeps); + propagatedBuildInputs = builtins.filter (x: x != null) (reqDeps ++ optDeps); - passthru.isOfficial = entry.isOfficial or false; + passthru.isOfficial = entry.isOfficial or false; - meta = entry.attrs.meta // { - license = - let - spdx = entry.attrs.meta.license or manifest.license or "unfree"; - spdxLicenses = builtins.listToAttrs - (map (x: lib.nameValuePair x.spdxId x) (builtins.filter (x: x?spdxId) (builtins.attrValues lib.licenses))); - in - spdxLicenses.${spdx}; - broken = builtins.any (x: x == null) reqDeps; - }; -} // lib.optionalAttrs (entry.isPoetry or false) { - nativeBuildInputs = [ - poetry - (python3.withPackages (p: with p; [ toml ruamel-yaml isort ])) - ]; + meta = entry.attrs.meta // { + license = + let + spdx = entry.attrs.meta.license or manifest.license or "unfree"; + spdxLicenses = builtins.listToAttrs ( + map (x: lib.nameValuePair x.spdxId x) ( + builtins.filter (x: x ? spdxId) (builtins.attrValues lib.licenses) + ) + ); + in + spdxLicenses.${spdx}; + broken = builtins.any (x: x == null) reqDeps; + }; + } + // lib.optionalAttrs (entry.isPoetry or false) { + nativeBuildInputs = [ + poetry + (python3.withPackages ( + p: with p; [ + toml + ruamel-yaml + isort + ] + )) + ]; - preBuild = lib.optionalString (entry?attrs.preBuild) (entry.attrs.preBuild + "\n") + '' - export HOME=$(mktemp -d) - [[ ! -d scripts ]] || patchShebangs --build scripts - make maubot.yaml - ''; -})) + preBuild = + lib.optionalString (entry ? attrs.preBuild) (entry.attrs.preBuild + "\n") + + '' + export HOME=$(mktemp -d) + [[ ! -d scripts ]] || patchShebangs --build scripts + make maubot.yaml + ''; + } + ) +) diff --git a/pkgs/tools/networking/maubot/wrapper.nix b/pkgs/tools/networking/maubot/wrapper.nix index b145e802a1058..8a85905f9c0ac 100644 --- a/pkgs/tools/networking/maubot/wrapper.nix +++ b/pkgs/tools/networking/maubot/wrapper.nix @@ -1,70 +1,89 @@ -{ lib -, symlinkJoin -, runCommand -, unwrapped -, python3 -, formats +{ + lib, + symlinkJoin, + runCommand, + unwrapped, + python3, + formats, }: -let wrapper = { pythonPackages ? (_: [ ]), plugins ? (_: [ ]), baseConfig ? null }: - let - plugins' = plugins unwrapped.plugins; - extraPythonPackages = builtins.concatLists (map (p: p.propagatedBuildInputs or [ ]) plugins'); - in - symlinkJoin { - name = "${unwrapped.pname}-with-plugins-${unwrapped.version}"; +let + wrapper = + { + pythonPackages ? (_: [ ]), + plugins ? (_: [ ]), + baseConfig ? null, + }: + let + plugins' = plugins unwrapped.plugins; + extraPythonPackages = builtins.concatLists (map (p: p.propagatedBuildInputs or [ ]) plugins'); + in + symlinkJoin { + name = "${unwrapped.pname}-with-plugins-${unwrapped.version}"; - inherit unwrapped; - paths = lib.optional (baseConfig != null) unwrapped ++ plugins'; - pythonPath = lib.optional (baseConfig == null) unwrapped ++ pythonPackages python3.pkgs ++ extraPythonPackages; + inherit unwrapped; + paths = lib.optional (baseConfig != null) unwrapped ++ plugins'; + pythonPath = + lib.optional (baseConfig == null) unwrapped ++ pythonPackages python3.pkgs ++ extraPythonPackages; - nativeBuildInputs = [ python3.pkgs.wrapPython ]; + nativeBuildInputs = [ python3.pkgs.wrapPython ]; - postBuild = '' - rm -f $out/nix-support/propagated-build-inputs - rmdir $out/nix-support || true - ${lib.optionalString (baseConfig != null) '' - rm $out/${python3.sitePackages}/maubot/example-config.yaml - substituteAll ${(formats.yaml { }).generate "example-config.yaml" (lib.recursiveUpdate baseConfig { - plugin_directories = lib.optionalAttrs (plugins' != []) { - load = [ "@out@/lib/maubot-plugins" ] ++ (baseConfig.plugin_directories.load or []); - }; - # Normally it should be set to false by default to take it from package - # root, but aiohttp doesn't follow symlinks when serving static files - # unless follow_symlinks=True is passed. Instead of patching maubot, use - # this non-invasive approach - # XXX: would patching maubot be better? See: - # https://github.com/maubot/maubot/blob/75879cfb9370aade6fa0e84e1dde47222625139a/maubot/server.py#L106 - server.override_resource_path = - if builtins.isNull (baseConfig.server.override_resource_path or null) - then "${unwrapped}/${python3.sitePackages}/maubot/management/frontend/build" - else baseConfig.server.override_resource_path; - })} $out/${python3.sitePackages}/maubot/example-config.yaml - rm -rf $out/bin - ''} - mkdir -p $out/bin - cp $unwrapped/bin/.mbc-wrapped $out/bin/mbc - cp $unwrapped/bin/.maubot-wrapped $out/bin/maubot - wrapPythonProgramsIn "$out/bin" "${lib.optionalString (baseConfig != null) "$out "}$pythonPath" - ''; + postBuild = '' + rm -f $out/nix-support/propagated-build-inputs + rmdir $out/nix-support || true + ${lib.optionalString (baseConfig != null) '' + rm $out/${python3.sitePackages}/maubot/example-config.yaml + substituteAll ${ + (formats.yaml { }).generate "example-config.yaml" ( + lib.recursiveUpdate baseConfig { + plugin_directories = lib.optionalAttrs (plugins' != [ ]) { + load = [ "@out@/lib/maubot-plugins" ] ++ (baseConfig.plugin_directories.load or [ ]); + }; + # Normally it should be set to false by default to take it from package + # root, but aiohttp doesn't follow symlinks when serving static files + # unless follow_symlinks=True is passed. Instead of patching maubot, use + # this non-invasive approach + # XXX: would patching maubot be better? See: + # https://github.com/maubot/maubot/blob/75879cfb9370aade6fa0e84e1dde47222625139a/maubot/server.py#L106 + server.override_resource_path = + if builtins.isNull (baseConfig.server.override_resource_path or null) then + "${unwrapped}/${python3.sitePackages}/maubot/management/frontend/build" + else + baseConfig.server.override_resource_path; + } + ) + } $out/${python3.sitePackages}/maubot/example-config.yaml + rm -rf $out/bin + ''} + mkdir -p $out/bin + cp $unwrapped/bin/.mbc-wrapped $out/bin/mbc + cp $unwrapped/bin/.maubot-wrapped $out/bin/maubot + wrapPythonProgramsIn "$out/bin" "${lib.optionalString (baseConfig != null) "$out "}$pythonPath" + ''; - passthru = { - inherit unwrapped; - python = python3; - withPythonPackages = filter: wrapper { - pythonPackages = pkgs: pythonPackages pkgs ++ filter pkgs; - inherit plugins baseConfig; - }; - withPlugins = filter: wrapper { - plugins = pkgs: plugins pkgs ++ filter pkgs; - inherit pythonPackages baseConfig; - }; - withBaseConfig = baseConfig: wrapper { - inherit baseConfig pythonPackages plugins; + passthru = { + inherit unwrapped; + python = python3; + withPythonPackages = + filter: + wrapper { + pythonPackages = pkgs: pythonPackages pkgs ++ filter pkgs; + inherit plugins baseConfig; + }; + withPlugins = + filter: + wrapper { + plugins = pkgs: plugins pkgs ++ filter pkgs; + inherit pythonPackages baseConfig; + }; + withBaseConfig = + baseConfig: + wrapper { + inherit baseConfig pythonPackages plugins; + }; }; - }; - meta.priority = (unwrapped.meta.priority or lib.meta.defaultPriority) - 1; - }; + meta.priority = (unwrapped.meta.priority or lib.meta.defaultPriority) - 1; + }; in wrapper diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix index ddaee847c44f6..fea5ea98d2001 100644 --- a/pkgs/tools/networking/miniupnpd/default.nix +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -1,30 +1,49 @@ -{ stdenv, lib, fetchurl, iptables-legacy, libuuid, openssl, pkg-config -, which, iproute2, gnused, coreutils, gnugrep, gawk, makeWrapper -, nixosTests -, firewall ? "iptables", nftables, libmnl, libnftnl +{ + stdenv, + lib, + fetchurl, + iptables-legacy, + libuuid, + openssl, + pkg-config, + which, + iproute2, + gnused, + coreutils, + gnugrep, + gawk, + makeWrapper, + nixosTests, + firewall ? "iptables", + nftables, + libmnl, + libnftnl, }: let - scriptBinEnv = lib.makeBinPath { - iptables = [ - # needed for dirname in ip{,6}tables_*.sh - coreutils - # used in miniupnpd_functions.sh: - which - iproute2 - iptables-legacy - gnused - gnugrep - gawk - ]; - nftables = [ - # needed for dirname in nft_*.sh & cat in nft_init.sh - coreutils - # used in miniupnpd_functions.sh: - which - nftables - ]; - }.${firewall}; + scriptBinEnv = + lib.makeBinPath + { + iptables = [ + # needed for dirname in ip{,6}tables_*.sh + coreutils + # used in miniupnpd_functions.sh: + which + iproute2 + iptables-legacy + gnused + gnugrep + gawk + ]; + nftables = [ + # needed for dirname in nft_*.sh & cat in nft_init.sh + coreutils + # used in miniupnpd_functions.sh: + which + nftables + ]; + } + .${firewall}; in stdenv.mkDerivation rec { pname = "miniupnpd"; @@ -35,9 +54,20 @@ stdenv.mkDerivation rec { sha256 = "sha256-+91VAQOXMPBKhCDqL49Ut99j+fBM3i3Gf6c3HoBHe74="; }; - buildInputs = [ iptables-legacy libuuid openssl ] - ++ lib.optionals (firewall == "nftables") [ libmnl libnftnl ]; - nativeBuildInputs= [ pkg-config makeWrapper ]; + buildInputs = + [ + iptables-legacy + libuuid + openssl + ] + ++ lib.optionals (firewall == "nftables") [ + libmnl + libnftnl + ]; + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; # ./configure is not a standard configure file, errors with: # Option not recognized : --prefix= @@ -53,24 +83,29 @@ stdenv.mkDerivation rec { "--portinuse" ]; - installFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ]; + installFlags = [ + "PREFIX=$(out)" + "INSTALLPREFIX=$(out)" + ]; - postFixup = { - # Ideally we'd prefer using system's config.firewall.package here for iptables, - # however for some reason switching --prefix to --suffix breaks the script - iptables = '' - for script in $out/etc/miniupnpd/ip{,6}tables_{init,removeall}.sh - do - wrapProgram $script --prefix PATH : '${scriptBinEnv}:$PATH' - done - ''; - nftables = '' - for script in $out/etc/miniupnpd/nft_{delete_chain,flush,init,removeall}.sh - do - wrapProgram $script --suffix PATH : '${scriptBinEnv}:$PATH' - done - ''; - }.${firewall}; + postFixup = + { + # Ideally we'd prefer using system's config.firewall.package here for iptables, + # however for some reason switching --prefix to --suffix breaks the script + iptables = '' + for script in $out/etc/miniupnpd/ip{,6}tables_{init,removeall}.sh + do + wrapProgram $script --prefix PATH : '${scriptBinEnv}:$PATH' + done + ''; + nftables = '' + for script in $out/etc/miniupnpd/nft_{delete_chain,flush,init,removeall}.sh + do + wrapProgram $script --suffix PATH : '${scriptBinEnv}:$PATH' + done + ''; + } + .${firewall}; passthru.tests = { bittorrent-integration = nixosTests.bittorrent; diff --git a/pkgs/tools/networking/mozwire/default.nix b/pkgs/tools/networking/mozwire/default.nix index 800ea3c48f14e..65887a39bac2e 100644 --- a/pkgs/tools/networking/mozwire/default.nix +++ b/pkgs/tools/networking/mozwire/default.nix @@ -1,9 +1,10 @@ -{ rustPlatform -, lib -, stdenv -, fetchFromGitHub -, CoreServices -, Security +{ + rustPlatform, + lib, + stdenv, + fetchFromGitHub, + CoreServices, + Security, }: rustPlatform.buildRustPackage rec { @@ -28,7 +29,10 @@ rustPlatform.buildRustPackage rec { description = "MozillaVPN configuration manager giving Linux, macOS users (among others), access to MozillaVPN"; homepage = "https://github.com/NilsIrl/MozWire"; license = licenses.gpl3; - maintainers = with maintainers; [ siraben nilsirl ]; + maintainers = with maintainers; [ + siraben + nilsirl + ]; mainProgram = "mozwire"; }; } diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix index 42b79f978fdfc..c3fc477f1c2da 100644 --- a/pkgs/tools/networking/mtr/default.nix +++ b/pkgs/tools/networking/mtr/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, autoreconfHook -, pkg-config -, libcap -, ncurses -, jansson -, withGtk ? false -, gtk3 +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + autoreconfHook, + pkg-config, + libcap, + ncurses, + jansson, + withGtk ? false, + gtk3, }: stdenv.mkDerivation rec { @@ -22,10 +23,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-f5bL3IdXibIc1xXCuZHwcEV5vhypRE2mLsS3A8HW2QM="; }; - patches = [ (fetchpatch { # https://github.com/traviscross/mtr/pull/468 - url = "https://github.com/traviscross/mtr/commit/5908af4c19188cb17b62f23368b6ef462831a0cb.patch"; - hash = "sha256-rTydtU8+Wc4nGEKh1GOkhcpgME4hwsACy82gKPaIe64="; - }) ]; + patches = [ + (fetchpatch { + # https://github.com/traviscross/mtr/pull/468 + url = "https://github.com/traviscross/mtr/commit/5908af4c19188cb17b62f23368b6ef462831a0cb.patch"; + hash = "sha256-rTydtU8+Wc4nGEKh1GOkhcpgME4hwsACy82gKPaIe64="; + }) + ]; # we need this before autoreconfHook does its thing postPatch = '' @@ -40,9 +44,16 @@ stdenv.mkDerivation rec { configureFlags = lib.optional (!withGtk) "--without-gtk"; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; - buildInputs = [ ncurses jansson ] + buildInputs = + [ + ncurses + jansson + ] ++ lib.optional withGtk gtk3 ++ lib.optional stdenv.hostPlatform.isLinux libcap; @@ -52,7 +63,12 @@ stdenv.mkDerivation rec { description = "Network diagnostics tool"; homepage = "https://www.bitwizard.nl/mtr/"; license = licenses.gpl2Only; - maintainers = with maintainers; [ koral orivej raskin globin ]; + maintainers = with maintainers; [ + koral + orivej + raskin + globin + ]; mainProgram = "mtr"; platforms = platforms.unix; }; diff --git a/pkgs/tools/networking/namespaced-openvpn/default.nix b/pkgs/tools/networking/namespaced-openvpn/default.nix index 3a879b330a8ba..ec48d87230492 100644 --- a/pkgs/tools/networking/namespaced-openvpn/default.nix +++ b/pkgs/tools/networking/namespaced-openvpn/default.nix @@ -1,10 +1,11 @@ -{ lib, +{ + lib, fetchFromGitHub, buildPythonPackage, openvpn, iproute2, iptables, - util-linux + util-linux, }: buildPythonPackage rec { @@ -19,7 +20,11 @@ buildPythonPackage rec { sha256 = "+Fdaw9EGyFGH9/DSeVJczS8gPzAOv+qn+1U20zQBBqQ="; }; - buildInputs = [ openvpn iproute2 util-linux ]; + buildInputs = [ + openvpn + iproute2 + util-linux + ]; postPatch = '' substituteInPlace namespaced-openvpn \ diff --git a/pkgs/tools/networking/nettee/default.nix b/pkgs/tools/networking/nettee/default.nix index 74b1f317e2046..ccdc96cd3c428 100644 --- a/pkgs/tools/networking/nettee/default.nix +++ b/pkgs/tools/networking/nettee/default.nix @@ -1,10 +1,16 @@ -{ stdenv, lib, fetchurl, cleanPackaging }: +{ + stdenv, + lib, + fetchurl, + cleanPackaging, +}: let version = "0.3.4"; sha256 = "00xbkp99x9v07r34w7m2p8gak5hdsdbka36n7a733rdrrkgf5z7r"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "nettee"; inherit version; @@ -22,7 +28,12 @@ in stdenv.mkDerivation { mainProgram = "nettee"; }; - outputs = [ "bin" "man" "doc" "out" ]; + outputs = [ + "bin" + "man" + "doc" + "out" + ]; patchPhase = '' # h_addr field was removed @@ -40,7 +51,8 @@ in stdenv.mkDerivation { ''; installPhase = '' - ${cleanPackaging.commonFileActions { + ${ + cleanPackaging.commonFileActions { docFiles = [ "*.html" "*.TXT" @@ -55,7 +67,8 @@ in stdenv.mkDerivation { "*.h" "nettee" ]; - }} $doc/share/doc/nettee + } + } $doc/share/doc/nettee mkdir -p $man/share/man/{man1,man3} mv nettee.1 $man/share/man/man1 diff --git a/pkgs/tools/networking/networkd-notify/default.nix b/pkgs/tools/networking/networkd-notify/default.nix index 6671983e1e7d1..316ef60a5672a 100644 --- a/pkgs/tools/networking/networkd-notify/default.nix +++ b/pkgs/tools/networking/networkd-notify/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitLab -, buildPythonApplication -, dbus-python -, pygobject3 -, systemd -, wirelesstools -, wrapGAppsNoGuiHook +{ + lib, + fetchFromGitLab, + buildPythonApplication, + dbus-python, + pygobject3, + systemd, + wirelesstools, + wrapGAppsNoGuiHook, }: buildPythonApplication rec { diff --git a/pkgs/tools/networking/networkmanager/libnma/default.nix b/pkgs/tools/networking/networkmanager/libnma/default.nix index a47b23e9634c2..84331343c09a4 100644 --- a/pkgs/tools/networking/networkmanager/libnma/default.nix +++ b/pkgs/tools/networking/networkmanager/libnma/default.nix @@ -1,36 +1,41 @@ -{ stdenv -, fetchurl -, meson -, mesonEmulatorHook -, ninja -, gettext -, gtk-doc -, pkg-config -, vala -, networkmanager -, gnome -, isocodes -, libxml2 -, docbook_xsl -, docbook_xml_dtd_43 -, mobile-broadband-provider-info -, gobject-introspection -, gtk3 -, withGtk4 ? false -, gtk4 -, withGnome ? true -, gcr_4 -, glib -, lib -, _experimental-update-script-combinators -, makeHardcodeGsettingsPatch +{ + stdenv, + fetchurl, + meson, + mesonEmulatorHook, + ninja, + gettext, + gtk-doc, + pkg-config, + vala, + networkmanager, + gnome, + isocodes, + libxml2, + docbook_xsl, + docbook_xml_dtd_43, + mobile-broadband-provider-info, + gobject-introspection, + gtk3, + withGtk4 ? false, + gtk4, + withGnome ? true, + gcr_4, + glib, + lib, + _experimental-update-script-combinators, + makeHardcodeGsettingsPatch, }: stdenv.mkDerivation rec { pname = "libnma"; version = "1.10.6"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -42,32 +47,37 @@ stdenv.mkDerivation rec { ./hardcode-gsettings.patch ]; - nativeBuildInputs = [ - meson - ninja - gettext - pkg-config - gobject-introspection - gtk-doc - docbook_xsl - docbook_xml_dtd_43 - libxml2 - vala - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; + nativeBuildInputs = + [ + meson + ninja + gettext + pkg-config + gobject-introspection + gtk-doc + docbook_xsl + docbook_xml_dtd_43 + libxml2 + vala + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + mesonEmulatorHook + ]; - buildInputs = [ - gtk3 - networkmanager - isocodes - mobile-broadband-provider-info - ] ++ lib.optionals withGtk4 [ - gtk4 - ] ++ lib.optionals withGnome [ - # advanced certificate chooser - gcr_4 - ]; + buildInputs = + [ + gtk3 + networkmanager + isocodes + mobile-broadband-provider-info + ] + ++ lib.optionals withGtk4 [ + gtk4 + ] + ++ lib.optionals withGnome [ + # advanced certificate chooser + gcr_4 + ]; mesonFlags = [ "-Dgcr=${lib.boolToString withGnome}" diff --git a/pkgs/tools/networking/networkmanager/tray.nix b/pkgs/tools/networking/networkmanager/tray.nix index 01725b1fb381b..1e1882c35cf90 100644 --- a/pkgs/tools/networking/networkmanager/tray.nix +++ b/pkgs/tools/networking/networkmanager/tray.nix @@ -1,4 +1,14 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, qttools, qtbase, networkmanager-qt, modemmanager-qt }: +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + pkg-config, + qttools, + qtbase, + networkmanager-qt, + modemmanager-qt, +}: mkDerivation rec { pname = "nm-tray"; @@ -15,11 +25,19 @@ mkDerivation rec { sed -i -e '1i#include ' src/nmmodel.cpp ''; - nativeBuildInputs = [ cmake pkg-config qttools ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + ]; cmakeFlags = [ "-DWITH_MODEMMANAGER_SUPPORT=ON" ]; - buildInputs = [ qtbase networkmanager-qt modemmanager-qt ]; + buildInputs = [ + qtbase + networkmanager-qt + modemmanager-qt + ]; meta = with lib; { description = "Simple Network Manager frontend written in Qt"; diff --git a/pkgs/tools/networking/nxdomain/default.nix b/pkgs/tools/networking/nxdomain/default.nix index 071f236bfe5f8..8c5c5897296ea 100644 --- a/pkgs/tools/networking/nxdomain/default.nix +++ b/pkgs/tools/networking/nxdomain/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonApplication, fetchPypi, dnspython, pytestCheckHook }: +{ + lib, + buildPythonApplication, + fetchPypi, + dnspython, + pytestCheckHook, +}: buildPythonApplication rec { pname = "nxdomain"; diff --git a/pkgs/tools/networking/ockam/default.nix b/pkgs/tools/networking/ockam/default.nix index 2eaf4dafd2d80..c03b1006e20b4 100644 --- a/pkgs/tools/networking/ockam/default.nix +++ b/pkgs/tools/networking/ockam/default.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, git -, nix-update-script -, pkg-config -, openssl -, dbus -, AppKit -, Security +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + git, + nix-update-script, + pkg-config, + openssl, + dbus, + AppKit, + Security, }: let @@ -26,9 +27,19 @@ rustPlatform.buildRustPackage { }; cargoHash = "sha256-gAl2es8UFVFv40sMY++SiDGjCMdL0XDN4PeSV7VlGmQ="; - nativeBuildInputs = [ git pkg-config ]; - buildInputs = [ openssl dbus ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit Security ]; + nativeBuildInputs = [ + git + pkg-config + ]; + buildInputs = + [ + openssl + dbus + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Security + ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/tools/networking/octodns/providers/bind/default.nix b/pkgs/tools/networking/octodns/providers/bind/default.nix index dfecb36a62787..6d9ddd5afdc67 100644 --- a/pkgs/tools/networking/octodns/providers/bind/default.nix +++ b/pkgs/tools/networking/octodns/providers/bind/default.nix @@ -1,11 +1,12 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, octodns -, pytestCheckHook -, pythonOlder -, dnspython -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + octodns, + pytestCheckHook, + pythonOlder, + dnspython, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/tools/networking/octodns/providers/gandi/default.nix b/pkgs/tools/networking/octodns/providers/gandi/default.nix index 69edc77c07548..bfb0924cd4ab2 100644 --- a/pkgs/tools/networking/octodns/providers/gandi/default.nix +++ b/pkgs/tools/networking/octodns/providers/gandi/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, octodns -, pytestCheckHook -, pythonOlder -, requests -, requests-mock -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + octodns, + pytestCheckHook, + pythonOlder, + requests, + requests-mock, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/tools/networking/octodns/providers/hetzner/default.nix b/pkgs/tools/networking/octodns/providers/hetzner/default.nix index 830678391d707..e33451922fef0 100644 --- a/pkgs/tools/networking/octodns/providers/hetzner/default.nix +++ b/pkgs/tools/networking/octodns/providers/hetzner/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, octodns -, pytestCheckHook -, pythonOlder -, requests -, requests-mock -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + octodns, + pytestCheckHook, + pythonOlder, + requests, + requests-mock, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/tools/networking/octodns/providers/powerdns/default.nix b/pkgs/tools/networking/octodns/providers/powerdns/default.nix index 8278e6ea85371..af1d5b2c81b57 100644 --- a/pkgs/tools/networking/octodns/providers/powerdns/default.nix +++ b/pkgs/tools/networking/octodns/providers/powerdns/default.nix @@ -1,12 +1,13 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, octodns -, pytestCheckHook -, pythonOlder -, requests -, requests-mock -, setuptools +{ + lib, + buildPythonPackage, + fetchFromGitHub, + octodns, + pytestCheckHook, + pythonOlder, + requests, + requests-mock, + setuptools, }: buildPythonPackage rec { diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix index e8a25490c284e..6993dd519eb3c 100644 --- a/pkgs/tools/networking/openapi-generator-cli/default.nix +++ b/pkgs/tools/networking/openapi-generator-cli/default.nix @@ -1,45 +1,54 @@ -{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: - -let this = stdenv.mkDerivation (finalAttrs: { - version = "7.10.0"; - pname = "openapi-generator-cli"; - - jarfilename = "openapi-generator-cli-${finalAttrs.version}.jar"; - - nativeBuildInputs = [ - makeWrapper - ]; - - src = fetchurl { - url = "mirror://maven/org/openapitools/openapi-generator-cli/${finalAttrs.version}/${finalAttrs.jarfilename}"; - sha256 = "sha256-YV4BRwWvNIYeeJ4LKhEHXTyA2xNPiB6TcmVHmkqDmW4="; - }; - - dontUnpack = true; - - installPhase = '' - runHook preInstall - - install -D "$src" "$out/share/java/${finalAttrs.jarfilename}" - - makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \ - --add-flags "-jar $out/share/java/${finalAttrs.jarfilename}" - - runHook postInstall - ''; - - meta = with lib; { - description = "Allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an OpenAPI Spec"; - homepage = "https://github.com/OpenAPITools/openapi-generator"; - changelog = "https://github.com/OpenAPITools/openapi-generator/releases/tag/v${finalAttrs.version}"; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.asl20; - maintainers = with maintainers; [ shou ]; - mainProgram = "openapi-generator-cli"; - }; - - passthru.tests.example = callPackage ./example.nix { - openapi-generator-cli = this; - }; -}); -in this +{ + callPackage, + lib, + stdenv, + fetchurl, + jre, + makeWrapper, +}: + +let + this = stdenv.mkDerivation (finalAttrs: { + version = "7.10.0"; + pname = "openapi-generator-cli"; + + jarfilename = "openapi-generator-cli-${finalAttrs.version}.jar"; + + nativeBuildInputs = [ + makeWrapper + ]; + + src = fetchurl { + url = "mirror://maven/org/openapitools/openapi-generator-cli/${finalAttrs.version}/${finalAttrs.jarfilename}"; + sha256 = "sha256-YV4BRwWvNIYeeJ4LKhEHXTyA2xNPiB6TcmVHmkqDmW4="; + }; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + install -D "$src" "$out/share/java/${finalAttrs.jarfilename}" + + makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \ + --add-flags "-jar $out/share/java/${finalAttrs.jarfilename}" + + runHook postInstall + ''; + + meta = with lib; { + description = "Allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an OpenAPI Spec"; + homepage = "https://github.com/OpenAPITools/openapi-generator"; + changelog = "https://github.com/OpenAPITools/openapi-generator/releases/tag/v${finalAttrs.version}"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.asl20; + maintainers = with maintainers; [ shou ]; + mainProgram = "openapi-generator-cli"; + }; + + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; + }); +in +this diff --git a/pkgs/tools/networking/openapi-generator-cli/example.nix b/pkgs/tools/networking/openapi-generator-cli/example.nix index 047c02a9a912a..fd30077713c64 100644 --- a/pkgs/tools/networking/openapi-generator-cli/example.nix +++ b/pkgs/tools/networking/openapi-generator-cli/example.nix @@ -1,31 +1,37 @@ -{ openapi-generator-cli, fetchurl, runCommand }: +{ + openapi-generator-cli, + fetchurl, + runCommand, +}: -runCommand "openapi-generator-cli-test" { - nativeBuildInputs = [ openapi-generator-cli ]; - petstore = fetchurl { - url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/14c0908becbccd78252be49bd92be8c53cd2b9e3/examples/v3.0/petstore.yaml"; - hash = "sha256-q2D1naR41KwxLNn6vMbL0G+Pl1q4oaDCApsqQfZf7dU="; - }; - config = builtins.toJSON { - elmVersion = "0.19"; - elmPrefixCustomTypeVariants = false; - }; - passAsFile = [ "config" ]; -} '' - openapi-generator-cli generate \ - --input-spec $petstore \ - --enable-post-process-file \ - --generator-name elm \ - --config "$config" \ - --additional-properties elmEnableCustomBasePaths=true \ - --output "$out" \ - ; - find $out - echo >&2 'Looking for some keywords' - set -x - grep 'module Api.Request.Pets' $out/src/Api/Request/Pets.elm - grep 'createPets' $out/src/Api/Request/Pets.elm - grep '"limit"' $out/src/Api/Request/Pets.elm - set +x - echo "Looks OK!" -'' +runCommand "openapi-generator-cli-test" + { + nativeBuildInputs = [ openapi-generator-cli ]; + petstore = fetchurl { + url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/14c0908becbccd78252be49bd92be8c53cd2b9e3/examples/v3.0/petstore.yaml"; + hash = "sha256-q2D1naR41KwxLNn6vMbL0G+Pl1q4oaDCApsqQfZf7dU="; + }; + config = builtins.toJSON { + elmVersion = "0.19"; + elmPrefixCustomTypeVariants = false; + }; + passAsFile = [ "config" ]; + } + '' + openapi-generator-cli generate \ + --input-spec $petstore \ + --enable-post-process-file \ + --generator-name elm \ + --config "$config" \ + --additional-properties elmEnableCustomBasePaths=true \ + --output "$out" \ + ; + find $out + echo >&2 'Looking for some keywords' + set -x + grep 'module Api.Request.Pets' $out/src/Api/Request/Pets.elm + grep 'createPets' $out/src/Api/Request/Pets.elm + grep '"limit"' $out/src/Api/Request/Pets.elm + set +x + echo "Looks OK!" + '' diff --git a/pkgs/tools/networking/openconnect/common.nix b/pkgs/tools/networking/openconnect/common.nix index 82040f64a8977..1c432ee7493d3 100644 --- a/pkgs/tools/networking/openconnect/common.nix +++ b/pkgs/tools/networking/openconnect/common.nix @@ -1,31 +1,37 @@ -{ version -, src +{ + version, + src, }: -{ lib -, stdenv -, pkg-config -, gnutls -, p11-kit -, openssl -, useOpenSSL ? false -, gmp -, libxml2 -, stoken -, zlib -, pcsclite -, vpnc-scripts -, PCSC -, useDefaultExternalBrowser ? stdenv.hostPlatform.isLinux && stdenv.buildPlatform == stdenv.hostPlatform # xdg-utils doesn't cross-compile -, xdg-utils -, autoreconfHook +{ + lib, + stdenv, + pkg-config, + gnutls, + p11-kit, + openssl, + useOpenSSL ? false, + gmp, + libxml2, + stoken, + zlib, + pcsclite, + vpnc-scripts, + PCSC, + useDefaultExternalBrowser ? + stdenv.hostPlatform.isLinux && stdenv.buildPlatform == stdenv.hostPlatform, # xdg-utils doesn't cross-compile + xdg-utils, + autoreconfHook, }: stdenv.mkDerivation { pname = "openconnect"; inherit version src; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = [ "--with-vpnc-script=${vpnc-scripts}/bin/vpnc-script" @@ -33,17 +39,34 @@ stdenv.mkDerivation { "--without-openssl-version-check" ]; - buildInputs = [ gmp libxml2 stoken zlib (if useOpenSSL then openssl else gnutls) ] + buildInputs = + [ + gmp + libxml2 + stoken + zlib + (if useOpenSSL then openssl else gnutls) + ] ++ lib.optional stdenv.hostPlatform.isDarwin PCSC - ++ lib.optionals stdenv.hostPlatform.isLinux [ p11-kit pcsclite ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + p11-kit + pcsclite + ] ++ lib.optional useDefaultExternalBrowser xdg-utils; - nativeBuildInputs = [ pkg-config autoreconfHook ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; meta = with lib; { description = "VPN Client for Cisco's AnyConnect SSL VPN"; homepage = "https://www.infradead.org/openconnect/"; license = licenses.lgpl21Only; - maintainers = with maintainers; [ pradeepchhetri tricktron alyaeanyx ]; + maintainers = with maintainers; [ + pradeepchhetri + tricktron + alyaeanyx + ]; platforms = lib.platforms.unix; mainProgram = "openconnect"; }; diff --git a/pkgs/tools/networking/openconnect/default.nix b/pkgs/tools/networking/openconnect/default.nix index 778aea8354eb1..84d80d5eca418 100644 --- a/pkgs/tools/networking/openconnect/default.nix +++ b/pkgs/tools/networking/openconnect/default.nix @@ -1,9 +1,16 @@ -{ callPackage, fetchurl, darwin }: +{ + callPackage, + fetchurl, + darwin, +}: let - common = opts: callPackage (import ./common.nix opts) { - inherit (darwin.apple_sdk.frameworks) PCSC; - }; -in rec { + common = + opts: + callPackage (import ./common.nix opts) { + inherit (darwin.apple_sdk.frameworks) PCSC; + }; +in +rec { openconnect = common rec { version = "9.12"; src = fetchurl { diff --git a/pkgs/tools/networking/opendrop/default.nix b/pkgs/tools/networking/opendrop/default.nix index a45c8916f9f63..704ee944b6856 100644 --- a/pkgs/tools/networking/opendrop/default.nix +++ b/pkgs/tools/networking/opendrop/default.nix @@ -1,15 +1,16 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, fleep -, ifaddr -, libarchive-c -, pillow -, requests-toolbelt -, setuptools -, zeroconf -, pytestCheckHook -, openssl +{ + lib, + buildPythonApplication, + fetchFromGitHub, + fleep, + ifaddr, + libarchive-c, + pillow, + requests-toolbelt, + setuptools, + zeroconf, + pytestCheckHook, + openssl, }: buildPythonApplication rec { diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix index 674fb5f8c238d..30d7ed4444b5b 100644 --- a/pkgs/tools/networking/openssh/common.nix +++ b/pkgs/tools/networking/openssh/common.nix @@ -1,41 +1,44 @@ -{ pname -, version -, extraDesc ? "" -, src -, extraPatches ? [] -, extraNativeBuildInputs ? [] -, extraConfigureFlags ? [] -, extraMeta ? {} +{ + pname, + version, + extraDesc ? "", + src, + extraPatches ? [ ], + extraNativeBuildInputs ? [ ], + extraConfigureFlags ? [ ], + extraMeta ? { }, }: -{ lib, stdenv -# This *is* correct, though unusual. as a way of getting krb5-config from the -# package without splicing See: https://github.com/NixOS/nixpkgs/pull/107606 -, pkgs -, fetchurl -, fetchpatch -, autoreconfHook -, zlib -, openssl -, libedit -, ldns -, pkg-config -, pam -, libredirect -, etcDir ? null -, withKerberos ? false -, withLdns ? true -, krb5 -, libfido2 -, libxcrypt -, hostname -, nixosTests -, withSecurityKey ? !stdenv.hostPlatform.isStatic -, withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl && withSecurityKey -, withPAM ? stdenv.hostPlatform.isLinux -, dsaKeysSupport ? false -, linkOpenssl ? true -, isNixos ? stdenv.hostPlatform.isLinux +{ + lib, + stdenv, + # This *is* correct, though unusual. as a way of getting krb5-config from the + # package without splicing See: https://github.com/NixOS/nixpkgs/pull/107606 + pkgs, + fetchurl, + fetchpatch, + autoreconfHook, + zlib, + openssl, + libedit, + ldns, + pkg-config, + pam, + libredirect, + etcDir ? null, + withKerberos ? false, + withLdns ? true, + krb5, + libfido2, + libxcrypt, + hostname, + nixosTests, + withSecurityKey ? !stdenv.hostPlatform.isStatic, + withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl && withSecurityKey, + withPAM ? stdenv.hostPlatform.isLinux, + dsaKeysSupport ? false, + linkOpenssl ? true, + isNixos ? stdenv.hostPlatform.isLinux, }: # FIDO support requires SK support @@ -63,13 +66,21 @@ stdenv.mkDerivation (finalAttrs: { ''; strictDeps = true; - nativeBuildInputs = [ autoreconfHook pkg-config ] + nativeBuildInputs = + [ + autoreconfHook + pkg-config + ] # This is not the same as the krb5 from the inputs! pkgs.krb5 is # needed here to access krb5-config in order to cross compile. See: # https://github.com/NixOS/nixpkgs/pull/107606 ++ lib.optional withKerberos pkgs.krb5 ++ extraNativeBuildInputs; - buildInputs = [ zlib libedit ] + buildInputs = + [ + zlib + libedit + ] ++ [ (if linkOpenssl then openssl else libxcrypt) ] ++ lib.optional withFIDO libfido2 ++ lib.optional withKerberos krb5 @@ -90,27 +101,31 @@ stdenv.mkDerivation (finalAttrs: { # I set --disable-strip because later we strip anyway. And it fails to strip # properly when cross building. - configureFlags = [ - "--sbindir=\${out}/bin" - "--localstatedir=/var" - "--with-pid-dir=/run" - "--with-mantype=man" - "--with-libedit=yes" - "--disable-strip" - (lib.withFeature withPAM "pam") - (lib.enableFeature dsaKeysSupport "dsa-keys") - ] ++ lib.optional (etcDir != null) "--sysconfdir=${etcDir}" + configureFlags = + [ + "--sbindir=\${out}/bin" + "--localstatedir=/var" + "--with-pid-dir=/run" + "--with-mantype=man" + "--with-libedit=yes" + "--disable-strip" + (lib.withFeature withPAM "pam") + (lib.enableFeature dsaKeysSupport "dsa-keys") + ] + ++ lib.optional (etcDir != null) "--sysconfdir=${etcDir}" ++ lib.optional (!withSecurityKey) "--disable-security-key" ++ lib.optional withFIDO "--with-security-key-builtin=yes" - ++ lib.optional withKerberos (assert krb5 != null; "--with-kerberos5=${lib.getDev krb5}") + ++ lib.optional withKerberos ( + assert krb5 != null; + "--with-kerberos5=${lib.getDev krb5}" + ) ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-libutil" ++ lib.optional (!linkOpenssl) "--without-openssl" ++ lib.optional withLdns "--with-ldns" ++ extraConfigureFlags; - ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null} = [ "-laudit" ] - ++ lib.optional withKerberos "-lkeyutils" - ++ lib.optional withLdns "-lcrypto"; + ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null} = + [ "-laudit" ] ++ lib.optional withKerberos "-lkeyutils" ++ lib.optional withLdns "-lcrypto"; buildFlags = [ "SSH_KEYSIGN=ssh-keysign" ]; @@ -168,9 +183,14 @@ stdenv.mkDerivation (finalAttrs: { # integration tests hard to get working on darwin with its shaky # sandbox # t-exec tests fail on musl - checkTarget = lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) "t-exec" + checkTarget = + lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) "t-exec" # other tests are less demanding of the environment - ++ [ "unit" "file-tests" "interop-tests" ]; + ++ [ + "unit" + "file-tests" + "interop-tests" + ]; postInstall = '' # Install ssh-copy-id, it's very useful. @@ -197,13 +217,16 @@ stdenv.mkDerivation (finalAttrs: { }; }; - meta = with lib; { - description = "Implementation of the SSH protocol${extraDesc}"; - homepage = "https://www.openssh.com/"; - changelog = "https://www.openssh.com/releasenotes.html"; - license = licenses.bsd2; - platforms = platforms.unix ++ platforms.windows; - maintainers = (extraMeta.maintainers or []) ++ (with maintainers; [ aneeshusa ]); - mainProgram = "ssh"; - } // extraMeta; + meta = + with lib; + { + description = "Implementation of the SSH protocol${extraDesc}"; + homepage = "https://www.openssh.com/"; + changelog = "https://www.openssh.com/releasenotes.html"; + license = licenses.bsd2; + platforms = platforms.unix ++ platforms.windows; + maintainers = (extraMeta.maintainers or [ ]) ++ (with maintainers; [ aneeshusa ]); + mainProgram = "ssh"; + } + // extraMeta; }) diff --git a/pkgs/tools/networking/openssh/copyid.nix b/pkgs/tools/networking/openssh/copyid.nix index 7895e598e7330..55da4a5c701ce 100644 --- a/pkgs/tools/networking/openssh/copyid.nix +++ b/pkgs/tools/networking/openssh/copyid.nix @@ -1,11 +1,17 @@ -{ lib, runCommand, openssh }: +{ + lib, + runCommand, + openssh, +}: -runCommand "ssh-copy-id-${openssh.version}" { - meta = openssh.meta // { - description = "Tool to copy SSH public keys to a remote machine"; - priority = (openssh.meta.priority or lib.meta.defaultPriority) - 1; - }; -} '' - install -Dm 755 {${openssh},$out}/bin/ssh-copy-id - install -Dm 644 {${openssh},$out}/share/man/man1/ssh-copy-id.1.gz -'' +runCommand "ssh-copy-id-${openssh.version}" + { + meta = openssh.meta // { + description = "Tool to copy SSH public keys to a remote machine"; + priority = (openssh.meta.priority or lib.meta.defaultPriority) - 1; + }; + } + '' + install -Dm 755 {${openssh},$out}/bin/ssh-copy-id + install -Dm 644 {${openssh},$out}/share/man/man1/ssh-copy-id.1.gz + '' diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 2bda81df90030..80a48c178e600 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -1,4 +1,10 @@ -{ callPackage, lib, fetchurl, fetchpatch, autoreconfHook }: +{ + callPackage, + lib, + fetchurl, + fetchpatch, + autoreconfHook, +}: let common = opts: callPackage (import ./common.nix opts) { }; in @@ -26,27 +32,30 @@ in hash = "sha256-s0P7zb/4fxWxmG5uFdbU/Jp9NgZr5rf7UHCHuo+WbAI="; }; - extraPatches = let url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/7ba88c964b6e5724eec462021d984da3989e6a08/security/openssh-portable/files/extra-patch-hpn"; in - [ - ./ssh-keysign-8.5.patch + extraPatches = + let + url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/7ba88c964b6e5724eec462021d984da3989e6a08/security/openssh-portable/files/extra-patch-hpn"; + in + [ + ./ssh-keysign-8.5.patch - # HPN Patch from FreeBSD ports - (fetchpatch { - name = "ssh-hpn-wo-channels.patch"; - inherit url; - stripLen = 1; - excludes = [ "channels.c" ]; - hash = "sha256-zk7t6FNzTE+8aDU4QuteR1x0W3O2gjIQmeCkTNbaUfA="; - }) + # HPN Patch from FreeBSD ports + (fetchpatch { + name = "ssh-hpn-wo-channels.patch"; + inherit url; + stripLen = 1; + excludes = [ "channels.c" ]; + hash = "sha256-zk7t6FNzTE+8aDU4QuteR1x0W3O2gjIQmeCkTNbaUfA="; + }) - (fetchpatch { - name = "ssh-hpn-channels.patch"; - inherit url; - extraPrefix = ""; - includes = [ "channels.c" ]; - hash = "sha256-pDLUbjv5XIyByEbiRAXC3WMUPKmn15af1stVmcvr7fE="; - }) - ]; + (fetchpatch { + name = "ssh-hpn-channels.patch"; + inherit url; + extraPrefix = ""; + includes = [ "channels.c" ]; + hash = "sha256-pDLUbjv5XIyByEbiRAXC3WMUPKmn15af1stVmcvr7fE="; + }) + ]; extraNativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index c7fa7a222f83e..a10eec9cd2cae 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, libcap_ng -, libnl -, lz4 -, lzo -, openssl -, pam -, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd -, update-systemd-resolved -, pkcs11Support ? false -, pkcs11helper -, nixosTests +{ + lib, + stdenv, + fetchurl, + pkg-config, + libcap_ng, + libnl, + lz4, + lzo, + openssl, + pam, + useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + update-systemd-resolved, + pkcs11Support ? false, + pkcs11helper, + nixosTests, }: let @@ -30,12 +31,22 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lz4 lzo openssl ] - ++ optionals stdenv.hostPlatform.isLinux [ libcap_ng libnl pam ] + buildInputs = + [ + lz4 + lzo + openssl + ] + ++ optionals stdenv.hostPlatform.isLinux [ + libcap_ng + libnl + pam + ] ++ optional useSystemd systemd ++ optional pkcs11Support pkcs11helper; - configureFlags = optional useSystemd "--enable-systemd" + configureFlags = + optional useSystemd "--enable-systemd" ++ optional pkcs11Support "--enable-pkcs11" ++ optional stdenv.hostPlatform.isDarwin "--disable-plugin-auth-pam"; @@ -43,12 +54,14 @@ stdenv.mkDerivation (finalAttrs: { # but a separate package was made, that uses libexec/openvpn. Copy it # into libexec in case any consumers expect it to be there even though # they should use the update-systemd-resolved package instead. - postInstall = '' - mkdir -p $out/share/doc/openvpn/examples - cp -r sample/sample-{config-files,keys,scripts}/ $out/share/doc/openvpn/examples - '' + optionalString useSystemd '' - install -Dm555 -t $out/libexec ${update-systemd-resolved}/libexec/openvpn/* - ''; + postInstall = + '' + mkdir -p $out/share/doc/openvpn/examples + cp -r sample/sample-{config-files,keys,scripts}/ $out/share/doc/openvpn/examples + '' + + optionalString useSystemd '' + install -Dm555 -t $out/libexec ${update-systemd-resolved}/libexec/openvpn/* + ''; enableParallelBuilding = true; diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix index 514491c2be21b..4bfce881ca0f4 100644 --- a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix +++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchgit, makeWrapper, coreutils, gawk, util-linux }: +{ + lib, + stdenv, + fetchgit, + makeWrapper, + coreutils, + gawk, + util-linux, +}: stdenv.mkDerivation { pname = "openvpn-learnaddress"; @@ -11,13 +19,23 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ coreutils gawk util-linux ]; + buildInputs = [ + coreutils + gawk + util-linux + ]; installPhase = '' install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress wrapProgram $out/libexec/openvpn/openvpn-learnaddress \ - --prefix PATH : ${lib.makeBinPath [ coreutils gawk util-linux ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + gawk + util-linux + ] + } ''; meta = { diff --git a/pkgs/tools/networking/openvpn/update-resolv-conf.nix b/pkgs/tools/networking/openvpn/update-resolv-conf.nix index 53d2b272c4499..4d8adb867e472 100644 --- a/pkgs/tools/networking/openvpn/update-resolv-conf.nix +++ b/pkgs/tools/networking/openvpn/update-resolv-conf.nix @@ -1,7 +1,19 @@ -{ stdenv, lib, fetchFromGitHub, makeWrapper, openresolv, coreutils, systemd }: +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + openresolv, + coreutils, + systemd, +}: let - binPath = lib.makeBinPath [ coreutils openresolv systemd ]; + binPath = lib.makeBinPath [ + coreutils + openresolv + systemd + ]; in stdenv.mkDerivation { diff --git a/pkgs/tools/networking/openvpn/update-systemd-resolved.nix b/pkgs/tools/networking/openvpn/update-systemd-resolved.nix index 1b514eae02f0b..bc0ef08d56c95 100644 --- a/pkgs/tools/networking/openvpn/update-systemd-resolved.nix +++ b/pkgs/tools/networking/openvpn/update-systemd-resolved.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, iproute2 -, runtimeShell -, systemd -, coreutils -, util-linux +{ + lib, + stdenv, + fetchFromGitHub, + iproute2, + runtimeShell, + systemd, + coreutils, + util-linux, }: stdenv.mkDerivation rec { @@ -29,7 +30,15 @@ stdenv.mkDerivation rec { postInstall = '' substituteInPlace ${PREFIX}/update-systemd-resolved \ - --subst-var-by PATH ${lib.makeBinPath [ coreutils iproute2 runtimeShell systemd util-linux ]} + --subst-var-by PATH ${ + lib.makeBinPath [ + coreutils + iproute2 + runtimeShell + systemd + util-linux + ] + } ''; meta = with lib; { diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix index bbfbc2d40cb80..7b90ec86ce20e 100644 --- a/pkgs/tools/networking/pdsh/default.nix +++ b/pkgs/tools/networking/pdsh/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, autoreconfHook, perl, readline, rsh, ssh, slurm, slurmSupport ? false }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + perl, + readline, + rsh, + ssh, + slurm, + slurmSupport ? false, +}: stdenv.mkDerivation rec { pname = "pdsh"; @@ -9,8 +20,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-de8VNHhI//Q/jW/5xEJP4Fx90s26ApE5kB+GGgUJPP4="; }; - buildInputs = [ perl readline ssh ] - ++ (lib.optional slurmSupport slurm); + buildInputs = [ + perl + readline + ssh + ] ++ (lib.optional slurmSupport slurm); nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/networking/pingu/default.nix b/pkgs/tools/networking/pingu/default.nix index 5fcaa0af5fefc..f2fba66aab865 100644 --- a/pkgs/tools/networking/pingu/default.nix +++ b/pkgs/tools/networking/pingu/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "pingu"; diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix index 5f394db354c01..5d70b379e6efd 100644 --- a/pkgs/tools/networking/privoxy/default.nix +++ b/pkgs/tools/networking/privoxy/default.nix @@ -1,9 +1,16 @@ -{ lib, stdenv -, nixosTests -, fetchpatch -, fetchurl, autoreconfHook -, zlib, pcre, w3m, man -, openssl, brotli +{ + lib, + stdenv, + nixosTests, + fetchpatch, + fetchurl, + autoreconfHook, + zlib, + pcre, + w3m, + man, + openssl, + brotli, }: stdenv.mkDerivation rec { @@ -27,8 +34,17 @@ stdenv.mkDerivation rec { hardeningEnable = [ "pie" ]; - nativeBuildInputs = [ autoreconfHook w3m man ]; - buildInputs = [ zlib pcre openssl brotli ]; + nativeBuildInputs = [ + autoreconfHook + w3m + man + ]; + buildInputs = [ + zlib + pcre + openssl + brotli + ]; makeFlags = [ "STRIP=" ]; configureFlags = [ diff --git a/pkgs/tools/networking/q/default.nix b/pkgs/tools/networking/q/default.nix index 95bdbe58ae29c..6aac0616b5547 100644 --- a/pkgs/tools/networking/q/default.nix +++ b/pkgs/tools/networking/q/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "q"; diff --git a/pkgs/tools/networking/qcal/default.nix b/pkgs/tools/networking/qcal/default.nix index 9900f38faa05e..19934ad7a3cd2 100644 --- a/pkgs/tools/networking/qcal/default.nix +++ b/pkgs/tools/networking/qcal/default.nix @@ -1,6 +1,7 @@ -{ lib -, buildGoModule -, fetchFromSourcehut +{ + lib, + buildGoModule, + fetchFromSourcehut, }: buildGoModule rec { diff --git a/pkgs/tools/networking/rosenpass/default.nix b/pkgs/tools/networking/rosenpass/default.nix index 254a6b3aa8e87..1ec285b64a895 100644 --- a/pkgs/tools/networking/rosenpass/default.nix +++ b/pkgs/tools/networking/rosenpass/default.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, nixosTests -, rustPlatform -, stdenv -, installShellFiles -, cmake -, libsodium -, pkg-config +{ + lib, + fetchFromGitHub, + nixosTests, + rustPlatform, + stdenv, + installShellFiles, + cmake, + libsodium, + pkg-config, }: rustPlatform.buildRustPackage rec { pname = "rosenpass"; @@ -45,9 +46,17 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Build post-quantum-secure VPNs with WireGuard"; homepage = "https://rosenpass.eu/"; - license = with licenses; [ mit /* or */ asl20 ]; + license = with licenses; [ + mit # or + asl20 + ]; maintainers = with maintainers; [ wucke13 ]; - platforms = [ "aarch64-darwin" "aarch64-linux" "x86_64-darwin" "x86_64-linux" ]; + platforms = [ + "aarch64-darwin" + "aarch64-linux" + "x86_64-darwin" + "x86_64-linux" + ]; mainProgram = "rosenpass"; }; } diff --git a/pkgs/tools/networking/rosenpass/tools.nix b/pkgs/tools/networking/rosenpass/tools.nix index 04af5755abb99..cd197264491fa 100644 --- a/pkgs/tools/networking/rosenpass/tools.nix +++ b/pkgs/tools/networking/rosenpass/tools.nix @@ -1,26 +1,36 @@ -{ lib -, stdenv -, makeWrapper -, installShellFiles -, coreutils -, findutils -, gawk -, rosenpass -, wireguard-tools +{ + lib, + stdenv, + makeWrapper, + installShellFiles, + coreutils, + findutils, + gawk, + rosenpass, + wireguard-tools, }: stdenv.mkDerivation { inherit (rosenpass) version src; pname = "rosenpass-tools"; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; postInstall = '' install -D $src/rp $out/bin/rp installManPage $src/doc/rp.1 wrapProgram $out/bin/rp \ - --prefix PATH : ${lib.makeBinPath [ - coreutils findutils gawk rosenpass wireguard-tools - ]} + --prefix PATH : ${ + lib.makeBinPath [ + coreutils + findutils + gawk + rosenpass + wireguard-tools + ] + } ''; meta = rosenpass.meta // { diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix index d4864160fc342..02a2c9053dd63 100644 --- a/pkgs/tools/networking/s3cmd/default.nix +++ b/pkgs/tools/networking/s3cmd/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonApplication, fetchFromGitHub, python-magic, python-dateutil }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, + python-magic, + python-dateutil, +}: buildPythonApplication rec { pname = "s3cmd"; @@ -11,7 +17,10 @@ buildPythonApplication rec { sha256 = "sha256-cxwf6+9WFt3U7+JdKRgZxFElD+Dgf2P2VyejHVoiDJk="; }; - propagatedBuildInputs = [ python-magic python-dateutil ]; + propagatedBuildInputs = [ + python-magic + python-dateutil + ]; dontUseSetuptoolsCheck = true; diff --git a/pkgs/tools/networking/s3rs/default.nix b/pkgs/tools/networking/s3rs/default.nix index ad343c00ca600..d3714fb56c4b1 100644 --- a/pkgs/tools/networking/s3rs/default.nix +++ b/pkgs/tools/networking/s3rs/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, rustPlatform, python3, perl, openssl, Security, fetchFromGitHub, pkg-config }: +{ + lib, + stdenv, + rustPlatform, + python3, + perl, + openssl, + Security, + fetchFromGitHub, + pkg-config, +}: rustPlatform.buildRustPackage rec { pname = "s3rs"; @@ -13,9 +23,12 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-Q1EqEyNxWIx3wD8zuU7/MO3Qz6zsfBZbtT/IIUmJccE="; - nativeBuildInputs = [ python3 perl pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; + nativeBuildInputs = [ + python3 + perl + pkg-config + ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; meta = with lib; { description = "S3 cli client with multi configs with diffent provider"; diff --git a/pkgs/tools/networking/spoof-mac/default.nix b/pkgs/tools/networking/spoof-mac/default.nix index 3b7bbd0d52a23..7bd2111474466 100644 --- a/pkgs/tools/networking/spoof-mac/default.nix +++ b/pkgs/tools/networking/spoof-mac/default.nix @@ -1,4 +1,9 @@ -{ lib, buildPythonPackage, fetchFromGitHub, docopt }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + docopt, +}: buildPythonPackage rec { pname = "spoof-mac"; diff --git a/pkgs/tools/networking/spoofer/default.nix b/pkgs/tools/networking/spoofer/default.nix index c022aad782380..2f7093bfb6a47 100644 --- a/pkgs/tools/networking/spoofer/default.nix +++ b/pkgs/tools/networking/spoofer/default.nix @@ -1,7 +1,18 @@ -{ lib, stdenv, fetchurl, pkg-config, protobuf, openssl, libpcap, traceroute -, withGUI ? false, qt5 }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + protobuf, + openssl, + libpcap, + traceroute, + withGUI ? false, + qt5, +}: -let inherit (lib) optional; +let + inherit (lib) optional; in stdenv.mkDerivation rec { @@ -14,8 +25,12 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl protobuf libpcap traceroute ] - ++ optional withGUI qt5.qtbase ; + buildInputs = [ + openssl + protobuf + libpcap + traceroute + ] ++ optional withGUI qt5.qtbase; dontWrapQtApps = true; @@ -38,7 +53,7 @@ stdenv.mkDerivation rec { ''; platforms = platforms.all; license = licenses.gpl3Plus; - maintainers = with lib.maintainers; [ leenaars]; + maintainers = with lib.maintainers; [ leenaars ]; mainProgram = "spoofer-prober"; }; } diff --git a/pkgs/tools/networking/suckit/default.nix b/pkgs/tools/networking/suckit/default.nix index 07c91a9081c28..f80a34b2a202e 100644 --- a/pkgs/tools/networking/suckit/default.nix +++ b/pkgs/tools/networking/suckit/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + Security, }: rustPlatform.buildRustPackage rec { @@ -33,7 +34,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Recursively visit and download a website's content to your disk"; homepage = "https://github.com/skallwar/suckit"; - license = with licenses; [ asl20 /* or */ mit ]; + license = with licenses; [ + asl20 # or + mit + ]; maintainers = with maintainers; [ figsoda ]; mainProgram = "suckit"; }; diff --git a/pkgs/tools/networking/tcpreplay/default.nix b/pkgs/tools/networking/tcpreplay/default.nix index f993ae0138bc2..0f612f17d386a 100644 --- a/pkgs/tools/networking/tcpreplay/default.nix +++ b/pkgs/tools/networking/tcpreplay/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, libpcap, tcpdump, Carbon, CoreServices }: +{ + lib, + stdenv, + fetchurl, + libpcap, + tcpdump, + Carbon, + CoreServices, +}: stdenv.mkDerivation rec { pname = "tcpreplay"; @@ -9,12 +17,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-Leeb/Wfsksqa4v+1BFbdHVP/QPP6cbQixl6AYgE8noU="; }; - buildInputs = [ libpcap ] + buildInputs = + [ libpcap ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon CoreServices + Carbon + CoreServices ]; - configureFlags = [ "--disable-local-libopts" "--disable-libopts-install" @@ -28,7 +37,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Suite of utilities for editing and replaying network traffic"; homepage = "https://tcpreplay.appneta.com/"; - license = with licenses; [ bsdOriginalUC gpl3Only ]; + license = with licenses; [ + bsdOriginalUC + gpl3Only + ]; maintainers = with maintainers; [ eleanor ]; platforms = platforms.unix; }; diff --git a/pkgs/tools/networking/telepresence/default.nix b/pkgs/tools/networking/telepresence/default.nix index dee55ad5687c4..244b190fe60b9 100644 --- a/pkgs/tools/networking/telepresence/default.nix +++ b/pkgs/tools/networking/telepresence/default.nix @@ -1,12 +1,24 @@ -{ lib, pythonPackages, fetchFromGitHub, makeWrapper -, sshfs-fuse, torsocks, sshuttle, conntrack-tools , openssh, coreutils -, iptables, bash }: +{ + lib, + pythonPackages, + fetchFromGitHub, + makeWrapper, + sshfs-fuse, + torsocks, + sshuttle, + conntrack-tools, + openssh, + coreutils, + iptables, + bash, +}: let sshuttle-telepresence = lib.overrideDerivation sshuttle (p: { postInstall = "mv $out/bin/sshuttle $out/bin/sshuttle-telepresence"; }); -in pythonPackages.buildPythonPackage rec { +in +pythonPackages.buildPythonPackage rec { pname = "telepresence"; version = "0.109"; @@ -21,16 +33,18 @@ in pythonPackages.buildPythonPackage rec { postInstall = '' wrapProgram $out/bin/telepresence \ - --prefix PATH : ${lib.makeBinPath [ - sshfs-fuse - torsocks - conntrack-tools - sshuttle-telepresence - openssh - coreutils - iptables - bash - ]} + --prefix PATH : ${ + lib.makeBinPath [ + sshfs-fuse + torsocks + conntrack-tools + sshuttle-telepresence + openssh + coreutils + iptables + bash + ] + } ''; doCheck = false; diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix index 6250ec84d9df6..85722207bea43 100644 --- a/pkgs/tools/networking/tinc/default.nix +++ b/pkgs/tools/networking/tinc/default.nix @@ -1,4 +1,11 @@ -{lib, stdenv, fetchurl, lzo, openssl, zlib}: +{ + lib, + stdenv, + fetchurl, + lzo, + openssl, + zlib, +}: stdenv.mkDerivation rec { version = "1.0.36"; @@ -9,7 +16,11 @@ stdenv.mkDerivation rec { sha256 = "021i2sl2mjscbm8g59d7vs74iw3gf0m48wg7w3zhwj6czarkpxs0"; }; - buildInputs = [ lzo openssl zlib ]; + buildInputs = [ + lzo + openssl + zlib + ]; configureFlags = [ "--localstatedir=/var" @@ -26,7 +37,7 @@ stdenv.mkDerivation rec { Internet. It features full mesh routing, as well as encryption, authentication, compression and ethernet bridging. ''; - homepage="http://www.tinc-vpn.org/"; + homepage = "http://www.tinc-vpn.org/"; license = lib.licenses.gpl2Plus; mainProgram = "tincd"; platforms = lib.platforms.unix; diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix index 31757dcf4c725..738bf5bf0e8b4 100644 --- a/pkgs/tools/networking/tinc/pre.nix +++ b/pkgs/tools/networking/tinc/pre.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl, nixosTests }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + texinfo, + ncurses, + readline, + zlib, + lzo, + openssl, + nixosTests, +}: stdenv.mkDerivation rec { pname = "tinc"; @@ -11,10 +23,23 @@ stdenv.mkDerivation rec { hash = "sha256-1anjTUlVLx57FlUqGwBd590lfkZ2MmrM1qRcMl4P7Sg="; }; - outputs = [ "out" "man" "info" ]; + outputs = [ + "out" + "man" + "info" + ]; - nativeBuildInputs = [ autoreconfHook texinfo ]; - buildInputs = [ ncurses readline zlib lzo openssl ]; + nativeBuildInputs = [ + autoreconfHook + texinfo + ]; + buildInputs = [ + ncurses + readline + zlib + lzo + openssl + ]; # needed so the build doesn't need to run git to find out the version. prePatch = '' @@ -39,9 +64,12 @@ stdenv.mkDerivation rec { Internet. It features full mesh routing, as well as encryption, authentication, compression and ethernet bridging. ''; - homepage="http://www.tinc-vpn.org/"; + homepage = "http://www.tinc-vpn.org/"; license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ lassulus mic92 ]; + maintainers = with maintainers; [ + lassulus + mic92 + ]; }; } diff --git a/pkgs/tools/networking/tunnelto/default.nix b/pkgs/tools/networking/tunnelto/default.nix index 7f3129705950f..5754470843487 100644 --- a/pkgs/tools/networking/tunnelto/default.nix +++ b/pkgs/tools/networking/tunnelto/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, rustPlatform -, fetchFromGitHub -, openssl -, pkg-config -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, + Security, }: rustPlatform.buildRustPackage rec { @@ -26,7 +28,8 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; diff --git a/pkgs/tools/networking/veilid/default.nix b/pkgs/tools/networking/veilid/default.nix index 35e4166c85ab3..dbe5b78331b6a 100644 --- a/pkgs/tools/networking/veilid/default.nix +++ b/pkgs/tools/networking/veilid/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, AppKit -, Security -, fetchFromGitLab -, rustPlatform -, protobuf -, capnproto -, cmake -, testers -, veilid -, gitUpdater +{ + lib, + stdenv, + AppKit, + Security, + fetchFromGitLab, + rustPlatform, + protobuf, + capnproto, + cmake, + testers, + veilid, + gitUpdater, }: rustPlatform.buildRustPackage rec { @@ -39,7 +40,10 @@ rustPlatform.buildRustPackage rec { protobuf ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ AppKit Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Security + ]; cargoBuildFlags = [ "--workspace" @@ -49,7 +53,11 @@ rustPlatform.buildRustPackage rec { doCheck = false; - outputs = [ "out" "lib" "dev" ]; + outputs = [ + "out" + "lib" + "dev" + ]; postInstall = '' moveToOutput "lib" "$lib" @@ -69,6 +77,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "veilid-server"; homepage = "https://veilid.com"; license = licenses.mpl20; - maintainers = with maintainers; [ bbigras qbit ]; + maintainers = with maintainers; [ + bbigras + qbit + ]; }; } diff --git a/pkgs/tools/networking/vpn-slice/default.nix b/pkgs/tools/networking/vpn-slice/default.nix index 6ca66d44e61d7..ea23ece8b5ded 100644 --- a/pkgs/tools/networking/vpn-slice/default.nix +++ b/pkgs/tools/networking/vpn-slice/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, buildPythonApplication -, nix-update-script -, python3Packages -, fetchFromGitHub -, iproute2 -, iptables -, unixtools +{ + lib, + stdenv, + buildPythonApplication, + nix-update-script, + python3Packages, + fetchFromGitHub, + iproute2, + iptables, + unixtools, }: buildPythonApplication rec { @@ -20,16 +21,21 @@ buildPythonApplication rec { sha256 = "sha256-T6VULLNRLWO4OcAsuTmhty6H4EhinyxQSg0dfv2DUJs="; }; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace vpn_slice/mac.py \ - --replace "'/sbin/route'" "'${unixtools.route}/bin/route'" - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace vpn_slice/linux.py \ - --replace "'/sbin/ip'" "'${iproute2}/bin/ip'" \ - --replace "'/sbin/iptables'" "'${iptables}/bin/iptables'" - ''; + postPatch = + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace vpn_slice/mac.py \ + --replace "'/sbin/route'" "'${unixtools.route}/bin/route'" + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace vpn_slice/linux.py \ + --replace "'/sbin/ip'" "'${iproute2}/bin/ip'" \ + --replace "'/sbin/iptables'" "'${iptables}/bin/iptables'" + ''; - propagatedBuildInputs = with python3Packages; [ setproctitle dnspython ]; + propagatedBuildInputs = with python3Packages; [ + setproctitle + dnspython + ]; doCheck = false; @@ -39,8 +45,7 @@ buildPythonApplication rec { meta = with lib; { homepage = "https://github.com/dlenski/vpn-slice"; - description = - "vpnc-script replacement for easy and secure split-tunnel VPN setup"; + description = "vpnc-script replacement for easy and secure split-tunnel VPN setup"; mainProgram = "vpn-slice"; license = licenses.gpl3; maintainers = [ ]; diff --git a/pkgs/tools/networking/wg-netmanager/default.nix b/pkgs/tools/networking/wg-netmanager/default.nix index a2c16fae073b8..b9a2353c84262 100644 --- a/pkgs/tools/networking/wg-netmanager/default.nix +++ b/pkgs/tools/networking/wg-netmanager/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "wg-netmanager"; @@ -17,7 +23,10 @@ rustPlatform.buildRustPackage rec { # Test 01 tries to create a wireguard interface, which requires sudo. doCheck = true; - checkFlags = [ "--skip" "device" ]; + checkFlags = [ + "--skip" + "device" + ]; meta = with lib; { description = "Wireguard network manager"; @@ -28,7 +37,12 @@ rustPlatform.buildRustPackage rec { To achieve this, wireguard network manager needs to be running on each node. ''; homepage = "https://github.com/gin66/wg_netmanager"; - license = with licenses; [ mit asl20 bsd3 mpl20 ]; + license = with licenses; [ + mit + asl20 + bsd3 + mpl20 + ]; maintainers = with maintainers; [ gin66 ]; platforms = platforms.linux; mainProgram = "wg_netmanager"; diff --git a/pkgs/tools/networking/wireguard-go/default.nix b/pkgs/tools/networking/wireguard-go/default.nix index ec14c180d8ff2..f94e55656bd3d 100644 --- a/pkgs/tools/networking/wireguard-go/default.nix +++ b/pkgs/tools/networking/wireguard-go/default.nix @@ -1,4 +1,10 @@ -{ lib, buildGoModule, fetchzip, testers, wireguard-go }: +{ + lib, + buildGoModule, + fetchzip, + testers, + wireguard-go, +}: buildGoModule rec { pname = "wireguard-go"; @@ -18,7 +24,10 @@ buildGoModule rec { subPackages = [ "." ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; postInstall = '' mv $out/bin/wireguard $out/bin/wireguard-go @@ -33,7 +42,10 @@ buildGoModule rec { description = "Userspace Go implementation of WireGuard"; homepage = "https://git.zx2c4.com/wireguard-go/about/"; license = licenses.mit; - maintainers = with maintainers; [ kirelagin zx2c4 ]; + maintainers = with maintainers; [ + kirelagin + zx2c4 + ]; mainProgram = "wireguard-go"; }; } diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix index 855f620b44060..0c85c9154be59 100644 --- a/pkgs/tools/networking/wireguard-tools/default.nix +++ b/pkgs/tools/networking/wireguard-tools/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchzip -, nixosTests -, iptables -, iproute2 -, makeWrapper -, openresolv -, procps -, bash -, wireguard-go +{ + lib, + stdenv, + fetchzip, + nixosTests, + iptables, + iproute2, + makeWrapper, + openresolv, + procps, + bash, + wireguard-go, }: stdenv.mkDerivation rec { @@ -20,7 +21,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-eGGkTVdPPTWK6iEyowW11F4ywRhd+0IXJTZCqY3OZws="; }; - outputs = [ "out" "man" ]; + outputs = [ + "out" + "man" + ]; sourceRoot = "${src.name}/src"; @@ -36,23 +40,36 @@ stdenv.mkDerivation rec { "WITH_WGQUICK=yes" ]; - postFixup = '' - substituteInPlace $out/lib/systemd/system/wg-quick@.service \ - --replace /usr/bin $out/bin - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - for f in $out/bin/*; do - # Which firewall and resolvconf implementations to use should be determined by the - # environment, we provide the "default" ones as fallback. - wrapProgram $f \ - --prefix PATH : ${lib.makeBinPath [ procps iproute2 ]} \ - --suffix PATH : ${lib.makeBinPath [ iptables openresolv ]} - done - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - for f in $out/bin/*; do - wrapProgram $f \ - --prefix PATH : ${lib.makeBinPath [ wireguard-go ]} - done - ''; + postFixup = + '' + substituteInPlace $out/lib/systemd/system/wg-quick@.service \ + --replace /usr/bin $out/bin + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + for f in $out/bin/*; do + # Which firewall and resolvconf implementations to use should be determined by the + # environment, we provide the "default" ones as fallback. + wrapProgram $f \ + --prefix PATH : ${ + lib.makeBinPath [ + procps + iproute2 + ] + } \ + --suffix PATH : ${ + lib.makeBinPath [ + iptables + openresolv + ] + } + done + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for f in $out/bin/*; do + wrapProgram $f \ + --prefix PATH : ${lib.makeBinPath [ wireguard-go ]} + done + ''; passthru = { updateScript = ./update.sh; @@ -71,7 +88,13 @@ stdenv.mkDerivation rec { downloadPage = "https://git.zx2c4.com/wireguard-tools/refs/"; homepage = "https://www.wireguard.com/"; license = licenses.gpl2Only; - maintainers = with maintainers; [ ericsagnes zx2c4 globin ma27 d-xo ]; + maintainers = with maintainers; [ + ericsagnes + zx2c4 + globin + ma27 + d-xo + ]; mainProgram = "wg"; platforms = platforms.unix; }; diff --git a/pkgs/tools/networking/wireguard-vanity-address/default.nix b/pkgs/tools/networking/wireguard-vanity-address/default.nix index 969e9187db5be..e64a8a59f5c76 100644 --- a/pkgs/tools/networking/wireguard-vanity-address/default.nix +++ b/pkgs/tools/networking/wireguard-vanity-address/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "wireguard-vanity-address"; diff --git a/pkgs/tools/networking/xdp-tools/default.nix b/pkgs/tools/networking/xdp-tools/default.nix index d1a2861172246..a3ce1a2d087bf 100644 --- a/pkgs/tools/networking/xdp-tools/default.nix +++ b/pkgs/tools/networking/xdp-tools/default.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, libbpf -, elfutils -, zlib -, libpcap -, bpftools -, llvmPackages -, pkg-config -, m4 -, emacs-nox -, wireshark-cli -, nukeReferences +{ + lib, + stdenv, + fetchFromGitHub, + libbpf, + elfutils, + zlib, + libpcap, + bpftools, + llvmPackages, + pkg-config, + m4, + emacs-nox, + wireshark-cli, + nukeReferences, }: stdenv.mkDerivation rec { pname = "xdp-tools"; @@ -24,7 +25,10 @@ stdenv.mkDerivation rec { hash = "sha256-eI4sqzTaA4iRmhEY3SgySxWiCzGJ7nVebC2RVlk7OHk="; }; - outputs = [ "out" "lib" ]; + outputs = [ + "out" + "lib" + ]; buildInputs = [ libbpf @@ -57,7 +61,10 @@ stdenv.mkDerivation rec { FORCE_SYSTEM_LIBBPF = 1; FORCE_EMACS = 1; - makeFlags = [ "PREFIX=$(out)" "LIBDIR=$(lib)/lib" ]; + makeFlags = [ + "PREFIX=$(out)" + "LIBDIR=$(lib)/lib" + ]; postInstall = '' # Note that even the static libxdp would refer to BPF_OBJECT_DIR ?=$(LIBDIR)/bpf @@ -69,8 +76,16 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/xdp-project/xdp-tools"; description = "Library and utilities for use with XDP"; - license = with licenses; [ gpl2Only lgpl21 bsd2 ]; - maintainers = with maintainers; [ tirex vcunat vifino ]; + license = with licenses; [ + gpl2Only + lgpl21 + bsd2 + ]; + maintainers = with maintainers; [ + tirex + vcunat + vifino + ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/networking/zrok/default.nix b/pkgs/tools/networking/zrok/default.nix index c3337cd1b1ea2..4d26579be450c 100644 --- a/pkgs/tools/networking/zrok/default.nix +++ b/pkgs/tools/networking/zrok/default.nix @@ -1,23 +1,28 @@ -{ lib -, stdenv -, fetchzip +{ + lib, + stdenv, + fetchzip, }: let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; - plat = { - x86_64-linux = "linux_amd64"; - aarch64-linux = "linux_arm64"; - armv7l-linux = "linux_armv7"; - }.${system} or throwSystem; - - hash = { - x86_64-linux = "sha256-oga8WQYxFeJlXhkJRpgb08QSV1vA7rfbVzwxxdl8xUw="; - aarch64-linux = "sha256-Xa7CGpv35fZDZjYmR3y3NUriOt1/I85556P32eP9UjQ="; - armv7l-linux = "sha256-k3FGn5pZX5Iqzh0J/nclQC4+n6CMrr+JPt2/rabnWvo="; - }.${system} or throwSystem; + plat = + { + x86_64-linux = "linux_amd64"; + aarch64-linux = "linux_arm64"; + armv7l-linux = "linux_armv7"; + } + .${system} or throwSystem; + + hash = + { + x86_64-linux = "sha256-oga8WQYxFeJlXhkJRpgb08QSV1vA7rfbVzwxxdl8xUw="; + aarch64-linux = "sha256-Xa7CGpv35fZDZjYmR3y3NUriOt1/I85556P32eP9UjQ="; + armv7l-linux = "sha256-k3FGn5pZX5Iqzh0J/nclQC4+n6CMrr+JPt2/rabnWvo="; + } + .${system} or throwSystem; in stdenv.mkDerivation (finalAttrs: { pname = "zrok"; @@ -31,18 +36,20 @@ stdenv.mkDerivation (finalAttrs: { updateScript = ./update.sh; - installPhase = let - interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")"; - in '' - runHook preInstall + installPhase = + let + interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")"; + in + '' + runHook preInstall - mkdir -p $out/bin - cp zrok $out/bin/ - chmod +x $out/bin/zrok - patchelf --set-interpreter "${interpreter}" "$out/bin/zrok" + mkdir -p $out/bin + cp zrok $out/bin/ + chmod +x $out/bin/zrok + patchelf --set-interpreter "${interpreter}" "$out/bin/zrok" - runHook postInstall - ''; + runHook postInstall + ''; meta = { description = "Geo-scale, next-generation sharing platform built on top of OpenZiti"; @@ -50,7 +57,11 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.asl20; mainProgram = "zrok"; maintainers = [ lib.maintainers.bandresen ]; - platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "armv7l-linux" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/tools/nix/info/default.nix b/pkgs/tools/nix/info/default.nix index 7b29f9c43c9a4..be5b75282101f 100644 --- a/pkgs/tools/nix/info/default.nix +++ b/pkgs/tools/nix/info/default.nix @@ -1,15 +1,28 @@ -{ stdenv, lib, coreutils, findutils, gnugrep, darwin, bash -# Avoid having GHC in the build-time closure of all NixOS configurations -, doCheck ? false, shellcheck +{ + stdenv, + lib, + coreutils, + findutils, + gnugrep, + darwin, + bash, + # Avoid having GHC in the build-time closure of all NixOS configurations + doCheck ? false, + shellcheck, }: stdenv.mkDerivation { name = "nix-info"; src = ./info.sh; - path = lib.makeBinPath ([ - coreutils findutils gnugrep - ] ++ (lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ])); + path = lib.makeBinPath ( + [ + coreutils + findutils + gnugrep + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]) + ); is_darwin = if stdenv.hostPlatform.isDarwin then "yes" else "no"; sandboxtest = ./sandbox.nix; @@ -21,7 +34,7 @@ stdenv.mkDerivation { cp $src ./nix-info/nix-info ''; - buildPhase = '' + buildPhase = '' substituteAllInPlace ./nix-info ''; diff --git a/pkgs/tools/nix/nix-output-monitor/default.nix b/pkgs/tools/nix/nix-output-monitor/default.nix index 69c92320d7d0d..03b0e0b78a0c4 100644 --- a/pkgs/tools/nix/nix-output-monitor/default.nix +++ b/pkgs/tools/nix/nix-output-monitor/default.nix @@ -3,7 +3,8 @@ haskellPackages, installShellFiles, lib, -}: let +}: +let inherit (haskell.lib.compose) justStaticExecutables overrideCabal; overrides = { @@ -13,7 +14,7 @@ # golden-tests call nix and thus can’t be run in a nix build. testTarget = "unit-tests"; - buildTools = [installShellFiles]; + buildTools = [ installShellFiles ]; postInstall = '' ln -s nom "$out/bin/nom-build" ln -s nom "$out/bin/nom-shell" @@ -21,11 +22,9 @@ installShellCompletion completions/* ''; }; - raw-pkg = haskellPackages.callPackage ./generated-package.nix {}; + raw-pkg = haskellPackages.callPackage ./generated-package.nix { }; in - lib.pipe - raw-pkg - [ - (overrideCabal overrides) - justStaticExecutables - ] +lib.pipe raw-pkg [ + (overrideCabal overrides) + justStaticExecutables +] diff --git a/pkgs/tools/nix/nix-output-monitor/generated-package.nix b/pkgs/tools/nix/nix-output-monitor/generated-package.nix index d278604484a55..eb35ce850a29a 100644 --- a/pkgs/tools/nix/nix-output-monitor/generated-package.nix +++ b/pkgs/tools/nix/nix-output-monitor/generated-package.nix @@ -1,11 +1,40 @@ # This file has been autogenerate with cabal2nix. # Update via ./update.sh" -{ mkDerivation, ansi-terminal, async, attoparsec, base, bytestring -, cassava, containers, data-default, directory, extra, fetchzip -, filepath, hermes-json, HUnit, lib, lock-file, MemoTrie -, nix-derivation, optics, random, relude, safe, stm, streamly-core -, strict, strict-types, terminal-size, text, time, transformers -, typed-process, unix, word8 +{ + mkDerivation, + ansi-terminal, + async, + attoparsec, + base, + bytestring, + cassava, + containers, + data-default, + directory, + extra, + fetchzip, + filepath, + hermes-json, + HUnit, + lib, + lock-file, + MemoTrie, + nix-derivation, + optics, + random, + relude, + safe, + stm, + streamly-core, + strict, + strict-types, + terminal-size, + text, + time, + transformers, + typed-process, + unix, + word8, }: mkDerivation { pname = "nix-output-monitor"; @@ -17,24 +46,96 @@ mkDerivation { isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - ansi-terminal async attoparsec base bytestring cassava containers - data-default directory extra filepath hermes-json lock-file - MemoTrie nix-derivation optics relude safe stm streamly-core strict - strict-types terminal-size text time transformers word8 + ansi-terminal + async + attoparsec + base + bytestring + cassava + containers + data-default + directory + extra + filepath + hermes-json + lock-file + MemoTrie + nix-derivation + optics + relude + safe + stm + streamly-core + strict + strict-types + terminal-size + text + time + transformers + word8 ]; executableHaskellDepends = [ - ansi-terminal async attoparsec base bytestring cassava containers - data-default directory extra filepath hermes-json lock-file - MemoTrie nix-derivation optics relude safe stm streamly-core strict - strict-types terminal-size text time transformers typed-process - unix word8 + ansi-terminal + async + attoparsec + base + bytestring + cassava + containers + data-default + directory + extra + filepath + hermes-json + lock-file + MemoTrie + nix-derivation + optics + relude + safe + stm + streamly-core + strict + strict-types + terminal-size + text + time + transformers + typed-process + unix + word8 ]; testHaskellDepends = [ - ansi-terminal async attoparsec base bytestring cassava containers - data-default directory extra filepath hermes-json HUnit lock-file - MemoTrie nix-derivation optics random relude safe stm streamly-core - strict strict-types terminal-size text time transformers - typed-process word8 + ansi-terminal + async + attoparsec + base + bytestring + cassava + containers + data-default + directory + extra + filepath + hermes-json + HUnit + lock-file + MemoTrie + nix-derivation + optics + random + relude + safe + stm + streamly-core + strict + strict-types + terminal-size + text + time + transformers + typed-process + word8 ]; homepage = "https://code.maralorn.de/maralorn/nix-output-monitor"; description = "Processes output of Nix commands to show helpful and pretty information"; diff --git a/pkgs/tools/nix/nixci/default.nix b/pkgs/tools/nix/nixci/default.nix index 5075705a2c888..3e6866df79c7a 100644 --- a/pkgs/tools/nix/nixci/default.nix +++ b/pkgs/tools/nix/nixci/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv -, rustPlatform -, fetchCrate -, fetchFromGitHub -, openssl -, pkg-config -, Security -, SystemConfiguration -, IOKit -, installShellFiles -, nix +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + fetchFromGitHub, + openssl, + pkg-config, + Security, + SystemConfiguration, + IOKit, + installShellFiles, + nix, }: rustPlatform.buildRustPackage rec { @@ -23,16 +25,22 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-trmWeYJNev7jYJtGp9XR/emmQiiI94NM0cPFrAuD7m0="; - nativeBuildInputs = [ pkg-config installShellFiles nix ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - IOKit - Security - SystemConfiguration + nativeBuildInputs = [ + pkg-config + installShellFiles + nix ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + Security + SystemConfiguration + ]; + postInstall = '' installShellCompletion --cmd nixci \ --bash <($out/bin/nixci completion bash) \ @@ -53,7 +61,11 @@ rustPlatform.buildRustPackage rec { description = "Define and build CI for Nix projects anywhere"; homepage = "https://github.com/srid/nixci"; license = licenses.agpl3Only; - maintainers = with maintainers; [ srid shivaraj-bh rsrohitsingh682 ]; + maintainers = with maintainers; [ + srid + shivaraj-bh + rsrohitsingh682 + ]; mainProgram = "nixci"; }; } diff --git a/pkgs/tools/package-management/akku/akku.nix b/pkgs/tools/package-management/akku/akku.nix index 3b205776d0d3a..160368fdd8088 100644 --- a/pkgs/tools/package-management/akku/akku.nix +++ b/pkgs/tools/package-management/akku/akku.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, git, guile, curl }: +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + git, + guile, + curl, +}: stdenv.mkDerivation rec { pname = "akku"; version = "1.1.0-unstable-2024-03-03"; @@ -10,11 +19,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-6xqASnFxzz0yE5oJnh15SOB74PVrVkMVwS3PwKAmgks="; }; - - nativeBuildInputs = [ autoreconfHook pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; # akku calls curl commands - buildInputs = [ guile curl git ]; + buildInputs = [ + guile + curl + git + ]; # Use a dummy package index to boostrap Akku preBuild = '' diff --git a/pkgs/tools/package-management/akku/akkuDerivation.nix b/pkgs/tools/package-management/akku/akkuDerivation.nix index 5b4609c3abaa6..27d2b10bcda15 100644 --- a/pkgs/tools/package-management/akku/akkuDerivation.nix +++ b/pkgs/tools/package-management/akku/akkuDerivation.nix @@ -1,97 +1,126 @@ -{ stdenv, akku, chez, guile, chibi, makeWrapper, lib, writeShellScriptBin }: -{ pname, version, src, buildInputs ? [ ], r7rs ? false, nativeBuildInputs ? [ ], ... } @ args: +{ + stdenv, + akku, + chez, + guile, + chibi, + makeWrapper, + lib, + writeShellScriptBin, +}: +{ + pname, + version, + src, + buildInputs ? [ ], + r7rs ? false, + nativeBuildInputs ? [ ], + ... +}@args: let - parse-akku_ = writeShellScriptBin "parse-akku" - "${guile}/bin/guile --no-auto-compile ${./parse-akku.scm} \"$@\""; + parse-akku_ = writeShellScriptBin "parse-akku" "${guile}/bin/guile --no-auto-compile ${./parse-akku.scm} \"$@\""; parse-akku = "${parse-akku_}/bin/parse-akku"; in -stdenv.mkDerivation ({ - inherit version src; - - pname = "akku-${pname}"; - propagatedBuildInputs = buildInputs; - buildInputs = [ ]; - nativeBuildInputs = [ makeWrapper akku chez chibi ] ++ nativeBuildInputs; - buildPhase = '' - runHook preBuild - - # only install the project - rm -f Akku.lock Akku.manifest - - akku install - - # make sure akku metadata is present during testing and onwards - echo $PWD $CHEZSCHEMELIBDIRS \ - | sed "s/:/ /g" \ - | xargs find \ - | grep "metadata.sls" \ - | xargs ${parse-akku} merge ${pname} ${version} > temp___ - mv temp___ .akku/lib/akku/metadata.sls - - runHook postBuild - ''; - checkPhase = '' - IS_R7RS=false - runHook preCheck - - - propagated_chez=$CHEZSCHEMELIBDIRS - propagated_chibi=$CHIBI_MODULE_PATH - - export CHEZSCHEMELIBDIRS="$PWD/.akku/lib:$CHEZSCHEMELIBDIRS" - export CHIBI_MODULE_PATH="$PWD/.akku/lib:$CHIBI_MODULE_PATH" - - # Run all test .sps files if they exist - # and run tests for libs mirrored from snow-fort. - for path in $(find test* -type f | grep -e "\.sps") \ - $(find . | grep "run-test" | grep "\.scm"); do - echo Running test: $path - [[ "\n$SKIP\n" =~ $(basename $path) ]] && continue - if [ -x $path ]; then - patchShebangs $path - ./$path - elif ${lib.trivial.boolToString r7rs}; then - chibi-scheme $path - else - scheme-script $path - fi - done - - runHook postCheck - - export CHEZSCHEMELIBDIRS=$propagated_chez - export CHIBI_MODULE_PATH=$propagated_chibi - ''; - doCheck = true; - installPhase = '' - runHook preInstall - - mkdir -p $out/lib - - cd .akku - - rm -f bin/activate* - - cp -rL lib $out/lib/scheme-libs - cp -rL bin $out/bin - - [ -d ffi ] && cp -rL ffi $out/lib - [ -d libobj ] && cp -rL libobj $out/lib - - CHEZSCHEMELIBDIRS="$out/lib/scheme-libs:$CHEZSCHEMELIBDIRS" - - # add support for other schemes - for f in $out/bin/* - do - patchShebangs $f - wrapProgram $f \ - --prefix CHEZSCHEMELIBDIRS : $CHEZSCHEMELIBDIRS - done - - runHook postInstall - ''; - meta = { - inherit (akku.meta) platforms; - } // args.meta or { }; - setupHook = ./setup-hook.sh; -} // builtins.removeAttrs args [ "name" "buildInputs" "meta" "nativeBuildInputs" ]) +stdenv.mkDerivation ( + { + inherit version src; + + pname = "akku-${pname}"; + propagatedBuildInputs = buildInputs; + buildInputs = [ ]; + nativeBuildInputs = [ + makeWrapper + akku + chez + chibi + ] ++ nativeBuildInputs; + buildPhase = '' + runHook preBuild + + # only install the project + rm -f Akku.lock Akku.manifest + + akku install + + # make sure akku metadata is present during testing and onwards + echo $PWD $CHEZSCHEMELIBDIRS \ + | sed "s/:/ /g" \ + | xargs find \ + | grep "metadata.sls" \ + | xargs ${parse-akku} merge ${pname} ${version} > temp___ + mv temp___ .akku/lib/akku/metadata.sls + + runHook postBuild + ''; + checkPhase = '' + IS_R7RS=false + runHook preCheck + + + propagated_chez=$CHEZSCHEMELIBDIRS + propagated_chibi=$CHIBI_MODULE_PATH + + export CHEZSCHEMELIBDIRS="$PWD/.akku/lib:$CHEZSCHEMELIBDIRS" + export CHIBI_MODULE_PATH="$PWD/.akku/lib:$CHIBI_MODULE_PATH" + + # Run all test .sps files if they exist + # and run tests for libs mirrored from snow-fort. + for path in $(find test* -type f | grep -e "\.sps") \ + $(find . | grep "run-test" | grep "\.scm"); do + echo Running test: $path + [[ "\n$SKIP\n" =~ $(basename $path) ]] && continue + if [ -x $path ]; then + patchShebangs $path + ./$path + elif ${lib.trivial.boolToString r7rs}; then + chibi-scheme $path + else + scheme-script $path + fi + done + + runHook postCheck + + export CHEZSCHEMELIBDIRS=$propagated_chez + export CHIBI_MODULE_PATH=$propagated_chibi + ''; + doCheck = true; + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + + cd .akku + + rm -f bin/activate* + + cp -rL lib $out/lib/scheme-libs + cp -rL bin $out/bin + + [ -d ffi ] && cp -rL ffi $out/lib + [ -d libobj ] && cp -rL libobj $out/lib + + CHEZSCHEMELIBDIRS="$out/lib/scheme-libs:$CHEZSCHEMELIBDIRS" + + # add support for other schemes + for f in $out/bin/* + do + patchShebangs $f + wrapProgram $f \ + --prefix CHEZSCHEMELIBDIRS : $CHEZSCHEMELIBDIRS + done + + runHook postInstall + ''; + meta = { + inherit (akku.meta) platforms; + } // args.meta or { }; + setupHook = ./setup-hook.sh; + } + // builtins.removeAttrs args [ + "name" + "buildInputs" + "meta" + "nativeBuildInputs" + ] +) diff --git a/pkgs/tools/package-management/akku/default.nix b/pkgs/tools/package-management/akku/default.nix index bb1fc6c1e2563..cc036dfa5c69a 100644 --- a/pkgs/tools/package-management/akku/default.nix +++ b/pkgs/tools/package-management/akku/default.nix @@ -1,4 +1,8 @@ -{ lib, newScope, fetchurl }: +{ + lib, + newScope, + fetchurl, +}: lib.makeScope newScope (self: rec { akkuDerivation = self.callPackage ./akkuDerivation.nix { }; akku = self.callPackage ./akku.nix { }; @@ -6,8 +10,20 @@ lib.makeScope newScope (self: rec { akkuPackages = let overrides = self.callPackage ./overrides.nix { }; - makeAkkuPackage = akkuself: pname: - { version, dependencies, dev-dependencies, license, url, sha256, source, synopsis ? "", homepage ? "", ... }: + makeAkkuPackage = + akkuself: pname: + { + version, + dependencies, + dev-dependencies, + license, + url, + sha256, + source, + synopsis ? "", + homepage ? "", + ... + }: (akkuDerivation { pname = "akku-${pname}"; inherit version; @@ -23,36 +39,40 @@ lib.makeScope newScope (self: rec { meta.description = synopsis; meta.license = let - stringToLicense = s: (lib.licenses // (with lib.licenses; { - "agpl" = agpl3Only; - "artistic" = artistic2; - "bsd" = bsd3; - "bsd-1-clause" = bsd1; - "bsd-2-clause" = bsd2; - "bsd-3-clause" = bsd3; - "gpl" = gpl3Only; - "gpl-2" = gpl2Only; - "gplv2" = gpl2Only; - "gpl-3" = gpl3Only; - "gpl-3.0" = gpl3Only; - "gplv3" = gpl3Only; - "lgpl" = lgpl3Only; - "lgpl-2" = lgpl2Only; - "lgpl-2.0+" = lgpl2Plus; - "lgpl-2.1" = lgpl21Only; - "lgpl-2.1-or-later" = lgpl21Plus; - "lgpl-3" = lgpl3Only; - "lgplv3" = lgpl3Only; - "public-domain" = publicDomain; - "srfi" = bsd3; - "unicode" = ucd; - "zlib-acknowledgement" = zlib; - })).${s} or s; + stringToLicense = + s: + ( + lib.licenses + // (with lib.licenses; { + "agpl" = agpl3Only; + "artistic" = artistic2; + "bsd" = bsd3; + "bsd-1-clause" = bsd1; + "bsd-2-clause" = bsd2; + "bsd-3-clause" = bsd3; + "gpl" = gpl3Only; + "gpl-2" = gpl2Only; + "gplv2" = gpl2Only; + "gpl-3" = gpl3Only; + "gpl-3.0" = gpl3Only; + "gplv3" = gpl3Only; + "lgpl" = lgpl3Only; + "lgpl-2" = lgpl2Only; + "lgpl-2.0+" = lgpl2Plus; + "lgpl-2.1" = lgpl21Only; + "lgpl-2.1-or-later" = lgpl21Plus; + "lgpl-3" = lgpl3Only; + "lgplv3" = lgpl3Only; + "public-domain" = publicDomain; + "srfi" = bsd3; + "unicode" = ucd; + "zlib-acknowledgement" = zlib; + }) + ).${s} or s; in - if builtins.isList license - then map stringToLicense license - else stringToLicense license; - }).overrideAttrs ({ "${pname}" = lib.id; } // overrides)."${pname}"; + if builtins.isList license then map stringToLicense license else stringToLicense license; + }).overrideAttrs + ({ "${pname}" = lib.id; } // overrides)."${pname}"; deps = lib.importTOML ./deps.toml; packages = lib.makeScope self.newScope (akkuself: lib.mapAttrs (makeAkkuPackage akkuself) deps); in diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix index cf44e665510ed..107da1eb8842a 100644 --- a/pkgs/tools/package-management/appimage-run/default.nix +++ b/pkgs/tools/package-management/appimage-run/default.nix @@ -1,9 +1,10 @@ -{ lib -, appimageTools -, buildFHSEnv -, makeDesktopItem -, extraPkgs ? pkgs: [] -, appimage-run-tests ? null +{ + lib, + appimageTools, + buildFHSEnv, + makeDesktopItem, + extraPkgs ? pkgs: [ ], + appimage-run-tests ? null, }: let @@ -17,21 +18,29 @@ let desktopName = name; genericName = "AppImage runner"; noDisplay = true; - mimeTypes = ["application/vnd.appimage" "application/x-iso9660-appimage"]; - categories = ["PackageManager" "Utility"]; + mimeTypes = [ + "application/vnd.appimage" + "application/x-iso9660-appimage" + ]; + categories = [ + "PackageManager" + "Utility" + ]; }; -in buildFHSEnv (lib.recursiveUpdate fhsArgs { - inherit name; +in +buildFHSEnv ( + lib.recursiveUpdate fhsArgs { + inherit name; - targetPkgs = pkgs: [ appimageTools.appimage-exec ] - ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs; - runScript = "appimage-exec.sh"; + targetPkgs = pkgs: [ appimageTools.appimage-exec ] ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs; + runScript = "appimage-exec.sh"; - extraInstallCommands = '' - cp --recursive "${desktopItem}/share" "$out/" - ''; + extraInstallCommands = '' + cp --recursive "${desktopItem}/share" "$out/" + ''; - passthru.tests.appimage-run = appimage-run-tests; + passthru.tests.appimage-run = appimage-run-tests; - meta.mainProgram = "appimage-run"; -}) + meta.mainProgram = "appimage-run"; + } +) diff --git a/pkgs/tools/package-management/appimage-run/test.nix b/pkgs/tools/package-management/appimage-run/test.nix index 8a6e270951235..1888790810cc1 100644 --- a/pkgs/tools/package-management/appimage-run/test.nix +++ b/pkgs/tools/package-management/appimage-run/test.nix @@ -1,17 +1,30 @@ -{ runCommand, fetchurl, appimage-run, glibcLocales, file, xdg-utils }: +{ + runCommand, + fetchurl, + appimage-run, + glibcLocales, + file, + xdg-utils, +}: let # any AppImage usable on cli, really sample-appImage = fetchurl { url = "https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage"; - sha256 = "04ws94q71bwskmhizhwmaf41ma4wabvfgjgkagr8wf3vakgv866r"; + sha256 = "04ws94q71bwskmhizhwmaf41ma4wabvfgjgkagr8wf3vakgv866r"; }; owdtest = fetchurl { url = "https://github.com/NixOS/nixpkgs/files/10099048/owdtest.AppImage.gz"; sha256 = "sha256-EEp9dxz/+l5XkNaVBFgv5v64sizQILnljRAzwXv/yV8="; }; in - runCommand "appimage-run-tests" { - buildInputs = [ appimage-run glibcLocales file xdg-utils ]; +runCommand "appimage-run-tests" + { + buildInputs = [ + appimage-run + glibcLocales + file + xdg-utils + ]; meta.platforms = [ "x86_64-linux" ]; } '' diff --git a/pkgs/tools/package-management/apt-dater/default.nix b/pkgs/tools/package-management/apt-dater/default.nix index ec9c53f7d78c4..0d01319ea7621 100644 --- a/pkgs/tools/package-management/apt-dater/default.nix +++ b/pkgs/tools/package-management/apt-dater/default.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, pkg-config, gettext -, xxd, glib, libxml2, ncurses, popt, screen +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + gettext, + xxd, + glib, + libxml2, + ncurses, + popt, + screen, }: stdenv.mkDerivation rec { @@ -15,11 +25,18 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config autoreconfHook gettext xxd + pkg-config + autoreconfHook + gettext + xxd ]; buildInputs = [ - libxml2 ncurses glib popt screen + libxml2 + ncurses + glib + popt + screen ]; configureFlags = [ "--disable-history" ]; diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix index e486f0b1300e8..5826280a22f6e 100644 --- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix +++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix @@ -1,4 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, ant, jdk, xmlstarlet, axis2, dbus_java }: +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + ant, + jdk, + xmlstarlet, + axis2, + dbus_java, +}: stdenv.mkDerivation (finalAttrs: { pname = "DisnixWebService"; diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix index e126c133108de..21d6dc440ac15 100644 --- a/pkgs/tools/package-management/disnix/default.nix +++ b/pkgs/tools/package-management/disnix/default.nix @@ -1,4 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, glib, libxml2, libxslt, getopt, dysnomia, libintl, libiconv }: +{ + lib, + stdenv, + fetchurl, + fetchpatch, + pkg-config, + glib, + libxml2, + libxslt, + getopt, + dysnomia, + libintl, + libiconv, +}: stdenv.mkDerivation rec { pname = "disnix"; @@ -20,12 +33,23 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib libxml2 libxslt getopt libintl libiconv dysnomia ]; + buildInputs = [ + glib + libxml2 + libxslt + getopt + libintl + libiconv + dysnomia + ]; meta = { description = "Nix-based distributed service deployment tool"; license = lib.licenses.lgpl21Plus; - maintainers = with lib.maintainers; [ sander tomberek ]; + maintainers = with lib.maintainers; [ + sander + tomberek + ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix index 92b880d1428fd..0180b9ddab77d 100644 --- a/pkgs/tools/package-management/disnix/dysnomia/default.nix +++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix @@ -1,29 +1,43 @@ -{ lib, stdenv, fetchurl, netcat +{ + lib, + stdenv, + fetchurl, + netcat, -# Optional packages -, systemd ? null, ejabberd ? null, mariadb ? null, postgresql ? null, subversion ? null -, mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null -, nginx ? null, s6-rc ? null, xinetd ? null + # Optional packages + systemd ? null, + ejabberd ? null, + mariadb ? null, + postgresql ? null, + subversion ? null, + mongodb ? null, + mongodb-tools ? null, + influxdb ? null, + supervisor ? null, + docker ? null, + nginx ? null, + s6-rc ? null, + xinetd ? null, -# Configuration flags -, enableApacheWebApplication ? false -, enableAxis2WebService ? false -, enableEjabberdDump ? false -, enableMySQLDatabase ? false -, enablePostgreSQLDatabase ? false -, enableSubversionRepository ? false -, enableTomcatWebApplication ? false -, enableMongoDatabase ? false -, enableInfluxDatabase ? false -, enableSupervisordProgram ? false -, enableDockerContainer ? false -, enableNginxWebApplication ? false -, enableXinetdService ? false -, enableS6RCService ? false -, enableLegacy ? false -, catalinaBaseDir ? "/var/tomcat" -, jobTemplate ? "systemd" -, getopt + # Configuration flags + enableApacheWebApplication ? false, + enableAxis2WebService ? false, + enableEjabberdDump ? false, + enableMySQLDatabase ? false, + enablePostgreSQLDatabase ? false, + enableSubversionRepository ? false, + enableTomcatWebApplication ? false, + enableMongoDatabase ? false, + enableInfluxDatabase ? false, + enableSupervisordProgram ? false, + enableDockerContainer ? false, + enableNginxWebApplication ? false, + enableXinetdService ? false, + enableS6RCService ? false, + enableLegacy ? false, + catalinaBaseDir ? "/var/tomcat", + jobTemplate ? "systemd", + getopt, }: assert enableMySQLDatabase -> mariadb != null; @@ -47,31 +61,38 @@ stdenv.mkDerivation rec { }; configureFlags = [ - (if enableApacheWebApplication then "--with-apache" else "--without-apache") - (if enableAxis2WebService then "--with-axis2" else "--without-axis2") - (if enableEjabberdDump then "--with-ejabberd" else "--without-ejabberd") - (if enableMySQLDatabase then "--with-mysql" else "--without-mysql") - (if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql") - (if enableSubversionRepository then "--with-subversion" else "--without-subversion") - (if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat") - (if enableMongoDatabase then "--with-mongodb" else "--without-mongodb") - (if enableInfluxDatabase then "--with-influxdb" else "--without-influxdb") - (if enableSupervisordProgram then "--with-supervisord" else "--without-supervisord") - (if enableDockerContainer then "--with-docker" else "--without-docker") - (if enableNginxWebApplication then "--with-nginx" else "--without-nginx") - (if enableXinetdService then "--with-xinetd" else "--without-xinetd") - (if enableS6RCService then "--with-s6-rc" else "--without-s6-rc") - (if stdenv.hostPlatform.isDarwin then "--with-launchd" else "--without-launchd") - "--with-job-template=${jobTemplate}" - ] ++ lib.optional enableLegacy "--enable-legacy"; + (if enableApacheWebApplication then "--with-apache" else "--without-apache") + (if enableAxis2WebService then "--with-axis2" else "--without-axis2") + (if enableEjabberdDump then "--with-ejabberd" else "--without-ejabberd") + (if enableMySQLDatabase then "--with-mysql" else "--without-mysql") + (if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql") + (if enableSubversionRepository then "--with-subversion" else "--without-subversion") + (if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat") + (if enableMongoDatabase then "--with-mongodb" else "--without-mongodb") + (if enableInfluxDatabase then "--with-influxdb" else "--without-influxdb") + (if enableSupervisordProgram then "--with-supervisord" else "--without-supervisord") + (if enableDockerContainer then "--with-docker" else "--without-docker") + (if enableNginxWebApplication then "--with-nginx" else "--without-nginx") + (if enableXinetdService then "--with-xinetd" else "--without-xinetd") + (if enableS6RCService then "--with-s6-rc" else "--without-s6-rc") + (if stdenv.hostPlatform.isDarwin then "--with-launchd" else "--without-launchd") + "--with-job-template=${jobTemplate}" + ] ++ lib.optional enableLegacy "--enable-legacy"; - buildInputs = [ getopt netcat ] + buildInputs = + [ + getopt + netcat + ] ++ lib.optional stdenv.hostPlatform.isLinux systemd ++ lib.optional enableEjabberdDump ejabberd ++ lib.optional enableMySQLDatabase mariadb.out ++ lib.optional enablePostgreSQLDatabase postgresql ++ lib.optional enableSubversionRepository subversion - ++ lib.optionals enableMongoDatabase [ mongodb mongodb-tools ] + ++ lib.optionals enableMongoDatabase [ + mongodb + mongodb-tools + ] ++ lib.optional enableInfluxDatabase influxdb ++ lib.optional enableSupervisordProgram supervisor ++ lib.optional enableDockerContainer docker diff --git a/pkgs/tools/package-management/elm-github-install/default.nix b/pkgs/tools/package-management/elm-github-install/default.nix index 3c77af2b82bf5..d5b945fcb205b 100644 --- a/pkgs/tools/package-management/elm-github-install/default.nix +++ b/pkgs/tools/package-management/elm-github-install/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv rec { pname = "elm_install"; @@ -13,10 +18,13 @@ bundlerEnv rec { meta = with lib; { description = "Install Elm packages from git repositories"; - homepage = "https://github.com/gdotdesign/elm-github-install"; - license = licenses.unfree; - maintainers = with maintainers; [ roberth nicknovitski ]; - platforms = platforms.all; + homepage = "https://github.com/gdotdesign/elm-github-install"; + license = licenses.unfree; + maintainers = with maintainers; [ + roberth + nicknovitski + ]; + platforms = platforms.all; mainProgram = "elm-install"; }; } diff --git a/pkgs/tools/package-management/elm-github-install/gemset.nix b/pkgs/tools/package-management/elm-github-install/gemset.nix index de7f8e20b6480..ae92f3cf665a2 100644 --- a/pkgs/tools/package-management/elm-github-install/gemset.nix +++ b/pkgs/tools/package-management/elm-github-install/gemset.nix @@ -1,7 +1,7 @@ { adts = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1793bfsgg8ca58b70xas9rglnspig41ih0iwqcad62s0grxzrjwz"; type = "gem"; }; @@ -9,7 +9,7 @@ }; commander = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qx76y05v29kgyjsfkai73gwfnqhypp1k8v024m9w7qzpv4mpxf"; type = "gem"; }; @@ -17,7 +17,7 @@ }; contracts = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "119f5p1n6r5svbx8h09za6a4vrsnj5i1pzr9cqdn9hj3wrxvyl3a"; type = "gem"; }; @@ -25,7 +25,7 @@ }; elm_install = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d3fwhj54madabmzamss865kj8czicgaq5fbdll9kpapqvy6a2j5"; type = "gem"; }; @@ -33,7 +33,7 @@ }; git = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1waikaggw7a1d24nw0sh8fd419gbf7awh000qhsf411valycj6q3"; type = "gem"; }; @@ -41,7 +41,7 @@ }; git_clone_url = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qgq7pjl461si3m2gr28vwbx47dcbpyy682mcwra5y1klpkbcvr5"; type = "gem"; }; @@ -49,7 +49,7 @@ }; hashdiff = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a"; type = "gem"; }; @@ -57,7 +57,7 @@ }; highline = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr"; type = "gem"; }; @@ -65,7 +65,7 @@ }; indentation = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ix64qgmm91xm1yiqxdcn9bqb1l6gwvkv7322yni34b3bd16lgvc"; type = "gem"; }; @@ -73,7 +73,7 @@ }; molinillo = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19h1nks0x2ljwyijs2rd1f9sh05j8xqvjaqk1rslp5nyy6h4a758"; type = "gem"; }; @@ -81,7 +81,7 @@ }; semverse = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cf6iv5wgwb7b8jf7il751223k9yahz9aym06s9r0prda5mwddyy"; type = "gem"; }; @@ -89,7 +89,7 @@ }; smart_colored = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hccah5iwsvn9rf7zdgl7mdbh0h63vfwy1c6d280cb9qkfj8rdny"; type = "gem"; }; @@ -97,7 +97,7 @@ }; solve = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bbzny2bl94mv1xwcfrxbi3fjhxxawlz6la7mip2wwz9kkaf376h"; type = "gem"; }; @@ -105,7 +105,7 @@ }; uri-ssh_git = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0klyyvivbjll2ry18d8fhm1rbxbzd4kqa9lskxyiha4ndlb22cqj"; type = "gem"; }; diff --git a/pkgs/tools/package-management/fpm/default.nix b/pkgs/tools/package-management/fpm/default.nix index 6be2687d67adc..d3da891a7ae1a 100644 --- a/pkgs/tools/package-management/fpm/default.nix +++ b/pkgs/tools/package-management/fpm/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "fpm"; @@ -9,10 +13,13 @@ bundlerApp { meta = with lib; { description = "Tool to build packages for multiple platforms with ease"; - homepage = "https://github.com/jordansissel/fpm"; - license = licenses.mit; - maintainers = with maintainers; [ manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/jordansissel/fpm"; + license = licenses.mit; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; + platforms = platforms.unix; mainProgram = "fpm"; }; } diff --git a/pkgs/tools/package-management/fpm/gemset.nix b/pkgs/tools/package-management/fpm/gemset.nix index 195073f7546e6..098acbd2ae496 100644 --- a/pkgs/tools/package-management/fpm/gemset.nix +++ b/pkgs/tools/package-management/fpm/gemset.nix @@ -1,111 +1,126 @@ { arr-pm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fddw0vwdrr7v3a0lfqbmnd664j48a9psrjd3wh3k4i3flplizzx"; type = "gem"; }; version = "0.0.12"; }; backports = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f3zcy0q88rw3clk0r7bai7sp4r253lndf0qmdgczq1ykbm219w3"; type = "gem"; }; version = "3.24.1"; }; cabin = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b3b8j3iqnagjfn1261b9ncaac9g44zrx1kcg81yg4z9i513kici"; type = "gem"; }; version = "0.9.0"; }; clamp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jb6l4scp69xifhicb5sffdixqkw8wgkk9k2q57kh2y36x1px9az"; type = "gem"; }; version = "1.0.1"; }; dotenv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565"; type = "gem"; }; version = "2.8.1"; }; fpm = { - dependencies = ["arr-pm" "backports" "cabin" "clamp" "pleaserun" "rexml" "stud"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "arr-pm" + "backports" + "cabin" + "clamp" + "pleaserun" + "rexml" + "stud" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1grd0lb0mw1jvw6l8zqgh49m9gg2jxn98rifq2spzacwm11g7yqz"; type = "gem"; }; version = "1.15.1"; }; insist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg"; type = "gem"; }; version = "1.0.0"; }; mustache = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2"; type = "gem"; }; version = "0.99.8"; }; pleaserun = { - dependencies = ["cabin" "clamp" "dotenv" "insist" "mustache" "stud"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "cabin" + "clamp" + "dotenv" + "insist" + "mustache" + "stud" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1aykf0l8327bqkkf5xd9jcglsib973zpy37cfnlf4j0vp0cdpn2d"; type = "gem"; }; version = "0.0.32"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; version = "3.2.6"; }; stud = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb"; type = "gem"; }; diff --git a/pkgs/tools/package-management/fusesoc/default.nix b/pkgs/tools/package-management/fusesoc/default.nix index 26e27738d647f..ccadb2a71a1fb 100644 --- a/pkgs/tools/package-management/fusesoc/default.nix +++ b/pkgs/tools/package-management/fusesoc/default.nix @@ -1,16 +1,17 @@ -{ buildPythonPackage -, fetchPypi -, lib -, iverilog -, verilator -, gnumake -, edalize -, fastjsonschema -, pyparsing -, pyyaml -, simplesat -, ipyxact -, setuptools-scm +{ + buildPythonPackage, + fetchPypi, + lib, + iverilog, + verilator, + gnumake, + edalize, + fastjsonschema, + pyparsing, + pyyaml, + simplesat, + ipyxact, + setuptools-scm, }: buildPythonPackage rec { pname = "fusesoc"; @@ -23,11 +24,26 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ edalize fastjsonschema pyparsing pyyaml simplesat ipyxact ]; + propagatedBuildInputs = [ + edalize + fastjsonschema + pyparsing + pyyaml + simplesat + ipyxact + ]; pythonImportsCheck = [ "fusesoc" ]; - makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ iverilog verilator gnumake ]}"]; + makeWrapperArgs = [ + "--suffix PATH : ${ + lib.makeBinPath [ + iverilog + verilator + gnumake + ] + }" + ]; meta = with lib; { homepage = "https://github.com/olofk/fusesoc"; diff --git a/pkgs/tools/package-management/gx/default.nix b/pkgs/tools/package-management/gx/default.nix index 8d9fa95f09c57..d78c07643b603 100644 --- a/pkgs/tools/package-management/gx/default.nix +++ b/pkgs/tools/package-management/gx/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gx"; @@ -13,7 +17,10 @@ buildGoModule rec { vendorHash = "sha256-6tdVpMztaBjoQRVG2vaUWuvnPq05zjbNAX9HBiC50t0="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { description = "Packaging tool built around IPFS"; diff --git a/pkgs/tools/package-management/libcomps/default.nix b/pkgs/tools/package-management/libcomps/default.nix index 2a1136034d21e..048c6af62c3a7 100644 --- a/pkgs/tools/package-management/libcomps/default.nix +++ b/pkgs/tools/package-management/libcomps/default.nix @@ -1,21 +1,26 @@ -{ lib -, check -, cmake -, doxygen -, expat -, fetchFromGitHub -, libxml2 -, python -, sphinx -, stdenv -, zlib +{ + lib, + check, + cmake, + doxygen, + expat, + fetchFromGitHub, + libxml2, + python, + sphinx, + stdenv, + zlib, }: stdenv.mkDerivation rec { pname = "libcomps"; version = "0.1.21"; - outputs = [ "out" "dev" "py" ]; + outputs = [ + "out" + "dev" + "py" + ]; src = fetchFromGitHub { owner = "rpm-software-management"; diff --git a/pkgs/tools/package-management/licensee/default.nix b/pkgs/tools/package-management/licensee/default.nix index 02e5f919fb58d..dcb6b7417706a 100644 --- a/pkgs/tools/package-management/licensee/default.nix +++ b/pkgs/tools/package-management/licensee/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "licensee"; @@ -9,10 +13,10 @@ bundlerApp { meta = with lib; { description = "Ruby Gem to detect under what license a project is distributed"; - homepage = "https://licensee.github.io/licensee/"; - license = licenses.mit; + homepage = "https://licensee.github.io/licensee/"; + license = licenses.mit; maintainers = [ maintainers.sternenseemann ]; - platforms = platforms.unix; + platforms = platforms.unix; mainProgram = "licensee"; }; } diff --git a/pkgs/tools/package-management/licensee/gemset.nix b/pkgs/tools/package-management/licensee/gemset.nix index 0a850ba8758bc..032f6c9433a79 100644 --- a/pkgs/tools/package-management/licensee/gemset.nix +++ b/pkgs/tools/package-management/licensee/gemset.nix @@ -1,166 +1,185 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; version = "2.8.6"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; dotenv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565"; type = "gem"; }; version = "2.8.1"; }; faraday = { - dependencies = ["base64" "faraday-net_http" "ruby2_keywords"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "faraday-net_http" + "ruby2_keywords" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19p45ryrvxff6ggdj4fq76dk7wlkfgrh474c3kwzdsjx3xpdq8x8"; type = "gem"; }; version = "2.8.1"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; type = "gem"; }; version = "3.0.2"; }; licensee = { - dependencies = ["dotenv" "octokit" "reverse_markdown" "rugged" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "dotenv" + "octokit" + "reverse_markdown" + "rugged" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "05g5w9c4jlfhwn0hfz117s1c7hfdm5yn7cywr4mah7xr41yvbh04"; type = "gem"; }; version = "9.16.1"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; type = "gem"; }; version = "2.8.5"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; version = "1.16.0"; }; octokit = { - dependencies = ["faraday" "sawyer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "faraday" + "sawyer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "11fhv1a43c51jkgmqf62aypf9yw74lc6ph4qmzsh2bydwwzbwqn3"; type = "gem"; }; version = "8.0.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; type = "gem"; }; version = "5.0.4"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; version = "1.7.3"; }; reverse_markdown = { - dependencies = ["nokogiri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nokogiri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0087vhw5ik50lxvddicns01clkx800fk5v5qnrvi3b42nrk6885j"; type = "gem"; }; version = "2.1.1"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rugged = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02m9zksfy3dwzhbv56xq2wwmlghca5209hdg895pi2x2d2sbkahi"; type = "gem"; }; version = "1.7.1"; }; sawyer = { - dependencies = ["addressable" "faraday"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; type = "gem"; }; version = "0.9.2"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s"; type = "gem"; }; diff --git a/pkgs/tools/package-management/lix/common.nix b/pkgs/tools/package-management/lix/common.nix index d39ddeda3ab27..19c7ddc588337 100644 --- a/pkgs/tools/package-management/lix/common.nix +++ b/pkgs/tools/package-management/lix/common.nix @@ -195,7 +195,9 @@ stdenv.mkDerivation { (lib.mesonBool "enable-tests" true) (lib.mesonBool "enable-docs" enableDocumentation) (lib.mesonEnable "internal-api-docs" enableDocumentation) - (lib.mesonBool "enable-embedded-sandbox-shell" (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isStatic)) + (lib.mesonBool "enable-embedded-sandbox-shell" ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isStatic + )) (lib.mesonEnable "seccomp-sandboxing" withLibseccomp) (lib.mesonOption "store-dir" storeDir) @@ -265,13 +267,14 @@ stdenv.mkDerivation { meson test --no-rebuild "''${flagsArray[@]}" runHook postInstallCheck ''; - hardeningDisable = [ - "shadowstack" - # strictoverflow is disabled because we trap on signed overflow instead - "strictoverflow" - ] - # fortify breaks the build with lto and musl for some reason - ++ lib.optional stdenv.hostPlatform.isMusl "fortify"; + hardeningDisable = + [ + "shadowstack" + # strictoverflow is disabled because we trap on signed overflow instead + "strictoverflow" + ] + # fortify breaks the build with lto and musl for some reason + ++ lib.optional stdenv.hostPlatform.isMusl "fortify"; # hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; separateDebugInfo = stdenv.hostPlatform.isLinux && !enableStatic; diff --git a/pkgs/tools/package-management/lix/doc/default.nix b/pkgs/tools/package-management/lix/doc/default.nix index b19f3bd2a170d..994310931e7de 100644 --- a/pkgs/tools/package-management/lix/doc/default.nix +++ b/pkgs/tools/package-management/lix/doc/default.nix @@ -3,11 +3,16 @@ rustPlatform, version, cargoHash ? null, - cargoLock ? null + cargoLock ? null, }: rustPlatform.buildRustPackage { pname = "lix-doc"; sourceRoot = "${src.name or src}/lix-doc"; - inherit version src cargoHash cargoLock; + inherit + version + src + cargoHash + cargoLock + ; } diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix index 69289b8955b75..9a3decc9e0520 100644 --- a/pkgs/tools/package-management/nix-du/default.nix +++ b/pkgs/tools/package-management/nix-du/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, nix -, nlohmann_json -, boost -, graphviz -, Security -, pkg-config +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + nix, + nlohmann_json, + boost, + graphviz, + Security, + pkg-config, }: rustPlatform.buildRustPackage rec { @@ -24,7 +25,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-gE99nCJIi6fsuxzJuU80VWXIZqVbqwBhKM2aRlhmYco="; doCheck = true; - nativeCheckInputs = [ nix graphviz ]; + nativeCheckInputs = [ + nix + graphviz + ]; buildInputs = [ boost @@ -32,7 +36,10 @@ rustPlatform.buildRustPackage rec { nlohmann_json ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; meta = with lib; { description = "Tool to determine which gc-roots take space in your nix store"; diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 77d3d20624fbd..fd4c23368fe18 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -1,14 +1,15 @@ -{ lib -, boost -, cmake -, fetchFromGitHub -, meson -, ninja -, curl -, nix -, nlohmann_json -, pkg-config -, stdenv +{ + lib, + boost, + cmake, + fetchFromGitHub, + meson, + ninja, + curl, + nix, + nlohmann_json, + pkg-config, + stdenv, }: stdenv.mkDerivation rec { pname = "nix-eval-jobs"; @@ -42,7 +43,10 @@ stdenv.mkDerivation rec { description = "Hydra's builtin hydra-eval-jobs as a standalone"; homepage = "https://github.com/nix-community/nix-eval-jobs"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ adisbladis mic92 ]; + maintainers = with lib.maintainers; [ + adisbladis + mic92 + ]; platforms = lib.platforms.unix; mainProgram = "nix-eval-jobs"; }; diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix index 433ad82d4d2f8..f9ab5c71204b2 100644 --- a/pkgs/tools/package-management/nix-index/default.nix +++ b/pkgs/tools/package-management/nix-index/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, curl, sqlite -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + curl, + sqlite, + Security, }: rustPlatform.buildRustPackage rec { @@ -16,8 +24,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-c1Ivsj9of/cjEKU0lo4I9BfIUQZ3pPf2QF9fAlZTQn0="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl curl sqlite ] - ++ lib.optional stdenv.hostPlatform.isDarwin Security; + buildInputs = [ + openssl + curl + sqlite + ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; postInstall = '' substituteInPlace command-not-found.sh \ @@ -30,6 +41,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/nix-community/nix-index"; changelog = "https://github.com/nix-community/nix-index/blob/${src.rev}/CHANGELOG.md"; license = with licenses; [ bsd3 ]; - maintainers = with maintainers; [ bennofs figsoda ncfavier ]; + maintainers = with maintainers; [ + bennofs + figsoda + ncfavier + ]; }; } diff --git a/pkgs/tools/package-management/nix-index/wrapper.nix b/pkgs/tools/package-management/nix-index/wrapper.nix index 94611e74c2a56..075d3fb8fb3ba 100644 --- a/pkgs/tools/package-management/nix-index/wrapper.nix +++ b/pkgs/tools/package-management/nix-index/wrapper.nix @@ -1,4 +1,10 @@ -{ lib, symlinkJoin, nix-index-unwrapped, makeWrapper, nix }: +{ + lib, + symlinkJoin, + nix-index-unwrapped, + makeWrapper, + nix, +}: symlinkJoin { inherit (nix-index-unwrapped) name meta; diff --git a/pkgs/tools/package-management/nix-pin/default.nix b/pkgs/tools/package-management/nix-pin/default.nix index 59422ff22cc24..b249652e98194 100644 --- a/pkgs/tools/package-management/nix-pin/default.nix +++ b/pkgs/tools/package-management/nix-pin/default.nix @@ -1,51 +1,76 @@ -{ lib, pkgs, stdenv, fetchFromGitHub, python3, nix, git, makeWrapper -, runtimeShell }: -let self = stdenv.mkDerivation rec { - pname = "nix-pin"; - version = "0.4.0"; - src = fetchFromGitHub { - owner = "timbertson"; - repo = "nix-pin"; - rev = "version-${version}"; - sha256 = "1pccvc0iqapms7kidrh09g5fdx44x622r5l9k7bkmssp3v4c68vy"; - }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ python3 ]; - installPhase = '' - mkdir "$out" - cp -r bin share "$out" - wrapProgram $out/bin/nix-pin \ - --prefix PATH : "${lib.makeBinPath [ nix git ]}" - ''; - passthru = - let - defaults = import "${self}/share/nix/defaults.nix"; - in { - api = { pinConfig ? defaults.pinConfig }: - let impl = import "${self}/share/nix/api.nix" { inherit pkgs pinConfig; }; in - { inherit (impl) augmentedPkgs pins callPackage; }; - updateScript = '' - #!${runtimeShell} - set -e - echo - cd ${toString ./.} - ${pkgs.nix-update-source}/bin/nix-update-source \ - --prompt version \ - --replace-attr version \ - --set owner timbertson \ - --set repo nix-pin \ - --set type fetchFromGitHub \ - --set rev 'version-{version}' \ - --substitute rev 'version-''${{version}}' \ - --modify-nix default.nix - ''; +{ + lib, + pkgs, + stdenv, + fetchFromGitHub, + python3, + nix, + git, + makeWrapper, + runtimeShell, +}: +let + self = stdenv.mkDerivation rec { + pname = "nix-pin"; + version = "0.4.0"; + src = fetchFromGitHub { + owner = "timbertson"; + repo = "nix-pin"; + rev = "version-${version}"; + sha256 = "1pccvc0iqapms7kidrh09g5fdx44x622r5l9k7bkmssp3v4c68vy"; + }; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python3 ]; + installPhase = '' + mkdir "$out" + cp -r bin share "$out" + wrapProgram $out/bin/nix-pin \ + --prefix PATH : "${ + lib.makeBinPath [ + nix + git + ] + }" + ''; + passthru = + let + defaults = import "${self}/share/nix/defaults.nix"; + in + { + api = + { + pinConfig ? defaults.pinConfig, + }: + let + impl = import "${self}/share/nix/api.nix" { inherit pkgs pinConfig; }; + in + { + inherit (impl) augmentedPkgs pins callPackage; + }; + updateScript = '' + #!${runtimeShell} + set -e + echo + cd ${toString ./.} + ${pkgs.nix-update-source}/bin/nix-update-source \ + --prompt version \ + --replace-attr version \ + --set owner timbertson \ + --set repo nix-pin \ + --set type fetchFromGitHub \ + --set rev 'version-{version}' \ + --substitute rev 'version-''${{version}}' \ + --modify-nix default.nix + ''; + }; + meta = with lib; { + homepage = "https://github.com/timbertson/nix-pin"; + description = "nixpkgs development utility"; + license = licenses.mit; + maintainers = [ maintainers.timbertson ]; + platforms = platforms.all; + mainProgram = "nix-pin"; }; - meta = with lib; { - homepage = "https://github.com/timbertson/nix-pin"; - description = "nixpkgs development utility"; - license = licenses.mit; - maintainers = [ maintainers.timbertson ]; - platforms = platforms.all; - mainProgram = "nix-pin"; }; -}; in self +in +self diff --git a/pkgs/tools/package-management/nix-template/default.nix b/pkgs/tools/package-management/nix-template/default.nix index 1d0c6f42f517f..96e735948f65c 100644 --- a/pkgs/tools/package-management/nix-template/default.nix +++ b/pkgs/tools/package-management/nix-template/default.nix @@ -1,10 +1,14 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub -, installShellFiles -, makeWrapper -, nix -, openssl -, pkg-config -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + makeWrapper, + nix, + openssl, + pkg-config, + Security, }: rustPlatform.buildRustPackage rec { @@ -27,20 +31,21 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optional stdenv.hostPlatform.isDarwin Security; + buildInputs = [ openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin Security; # needed for nix-prefetch-url - postInstall = '' - wrapProgram $out/bin/nix-template \ - --prefix PATH : ${lib.makeBinPath [ nix ]} - - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd nix-template \ - --bash <($out/bin/nix-template completions bash) \ - --fish <($out/bin/nix-template completions fish) \ - --zsh <($out/bin/nix-template completions zsh) - ''; + postInstall = + '' + wrapProgram $out/bin/nix-template \ + --prefix PATH : ${lib.makeBinPath [ nix ]} + + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd nix-template \ + --bash <($out/bin/nix-template completions bash) \ + --fish <($out/bin/nix-template completions fish) \ + --zsh <($out/bin/nix-template completions zsh) + ''; meta = with lib; { description = "Make creating nix expressions easy"; diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix index 9b21c1514046f..392a580e45b16 100644 --- a/pkgs/tools/package-management/nix-update-source/default.nix +++ b/pkgs/tools/package-management/nix-update-source/default.nix @@ -1,4 +1,11 @@ -{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts, runtimeShell }: +{ + lib, + pkgs, + fetchFromGitHub, + python3Packages, + nix-prefetch-scripts, + runtimeShell, +}: python3Packages.buildPythonApplication rec { pname = "nix-update-source"; @@ -19,7 +26,8 @@ python3Packages.buildPythonApplication rec { # NOTE: `fetch` should not be used within nixpkgs because it # uses a non-idiomatic structure. It is provided for use by # out-of-tree nix derivations. - fetch = path: + fetch = + path: let fetchers = { # whitelist of allowed fetchers @@ -29,12 +37,17 @@ python3Packages.buildPythonApplication rec { fetchFn = builtins.getAttr json.fetch.fn fetchers; src = fetchFn json.fetch.args; in - json // json.fetch // { + json + // json.fetch + // { inherit src; - overrideSrc = drv: lib.overrideDerivation drv (orig: { inherit src; }); + overrideSrc = + drv: + lib.overrideDerivation drv (orig: { + inherit src; + }); }; - updateScript = [ runtimeShell "-c" diff --git a/pkgs/tools/package-management/nix-visualize/default.nix b/pkgs/tools/package-management/nix-visualize/default.nix index 9f1ba8b4d769d..fab3aa952647d 100644 --- a/pkgs/tools/package-management/nix-visualize/default.nix +++ b/pkgs/tools/package-management/nix-visualize/default.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, nix -, python -, matplotlib -, networkx -, pandas -, pygraphviz -, setuptools +{ + lib, + fetchFromGitHub, + nix, + python, + matplotlib, + networkx, + pandas, + pygraphviz, + setuptools, }: python.pkgs.buildPythonApplication rec { @@ -23,7 +24,7 @@ python.pkgs.buildPythonApplication rec { postInstall = '' wrapProgram $out/bin/nix-visualize \ - --prefix PATH : ${lib.makeBinPath [nix]} + --prefix PATH : ${lib.makeBinPath [ nix ]} ''; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/tools/package-management/nix/nix-perl.nix b/pkgs/tools/package-management/nix/nix-perl.nix index 50e342e96cad5..99ce5101265b5 100644 --- a/pkgs/tools/package-management/nix/nix-perl.nix +++ b/pkgs/tools/package-management/nix/nix-perl.nix @@ -1,32 +1,38 @@ -{ stdenv -, lib -, perl -, pkg-config -, curl -, nix -, libsodium -, boost -, autoreconfHook -, autoconf-archive -, xz -, Security -, meson -, ninja -, bzip2 +{ + stdenv, + lib, + perl, + pkg-config, + curl, + nix, + libsodium, + boost, + autoreconfHook, + autoconf-archive, + xz, + Security, + meson, + ninja, + bzip2, }: let atLeast223 = lib.versionAtLeast nix.version "2.23"; atLeast224 = lib.versionAtLeast nix.version "2.24"; - mkConfigureOption = { mesonOption, autoconfOption, value }: + mkConfigureOption = + { + mesonOption, + autoconfOption, + value, + }: let - setFlagTo = if atLeast223 - then lib.mesonOption mesonOption - else lib.withFeatureAs true autoconfOption; + setFlagTo = + if atLeast223 then lib.mesonOption mesonOption else lib.withFeatureAs true autoconfOption; in setFlagTo value; -in stdenv.mkDerivation (finalAttrs: { +in +stdenv.mkDerivation (finalAttrs: { pname = "nix-perl"; inherit (nix) version src; @@ -52,17 +58,24 @@ in stdenv.mkDerivation (finalAttrs: { # Not cross-safe since Nix checks for curl/perl via # NEED_PROG/find_program, but both seem to be needed at runtime # as well. - nativeBuildInputs = [ - pkg-config - perl - curl - ] ++ (if atLeast223 then [ - meson - ninja - ] else [ - autoconf-archive - autoreconfHook - ]); + nativeBuildInputs = + [ + pkg-config + perl + curl + ] + ++ ( + if atLeast223 then + [ + meson + ninja + ] + else + [ + autoconf-archive + autoreconfHook + ] + ); # `perlPackages.Test2Harness` is marked broken for Darwin doCheck = !stdenv.hostPlatform.isDarwin; @@ -71,20 +84,22 @@ in stdenv.mkDerivation (finalAttrs: { perl.pkgs.Test2Harness ]; - ${if atLeast223 then "mesonFlags" else "configureFlags"} = [ - (mkConfigureOption { - mesonOption = "dbi_path"; - autoconfOption = "dbi"; - value = "${perl.pkgs.DBI}/${perl.libPrefix}"; - }) - (mkConfigureOption { - mesonOption = "dbd_sqlite_path"; - autoconfOption = "dbd-sqlite"; - value = "${perl.pkgs.DBDSQLite}/${perl.libPrefix}"; - }) - ] ++ lib.optionals atLeast223 [ - (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) - ]; + ${if atLeast223 then "mesonFlags" else "configureFlags"} = + [ + (mkConfigureOption { + mesonOption = "dbi_path"; + autoconfOption = "dbi"; + value = "${perl.pkgs.DBI}/${perl.libPrefix}"; + }) + (mkConfigureOption { + mesonOption = "dbd_sqlite_path"; + autoconfOption = "dbd-sqlite"; + value = "${perl.pkgs.DBDSQLite}/${perl.libPrefix}"; + }) + ] + ++ lib.optionals atLeast223 [ + (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) + ]; preConfigure = "export NIX_STATE_DIR=$TMPDIR"; diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index d0a4ef21d36ab..0c66f23108259 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -1,37 +1,42 @@ -{ stdenv -, fetchFromGitHub -, lib -, gettext -, glib -, pkg-config -, polkit -, python3 -, sqlite -, gobject-introspection -, vala -, gtk-doc -, boost -, meson -, ninja -, libxslt -, docbook-xsl-nons -, docbook_xml_dtd_42 -, libxml2 -, gst_all_1 -, gtk3 -, enableCommandNotFound ? false -, enableBashCompletion ? false -, bash-completion ? null -, enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd -, nixosTests +{ + stdenv, + fetchFromGitHub, + lib, + gettext, + glib, + pkg-config, + polkit, + python3, + sqlite, + gobject-introspection, + vala, + gtk-doc, + boost, + meson, + ninja, + libxslt, + docbook-xsl-nons, + docbook_xml_dtd_42, + libxml2, + gst_all_1, + gtk3, + enableCommandNotFound ? false, + enableBashCompletion ? false, + bash-completion ? null, + enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + nixosTests, }: stdenv.mkDerivation rec { pname = "packagekit"; version = "1.3.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; src = fetchFromGitHub { owner = "PackageKit"; @@ -40,17 +45,19 @@ stdenv.mkDerivation rec { hash = "sha256-MYZFI1Q90F/AXVSJJBhmw+E7IMLXrdwmSuFJwv5D/z4="; }; - buildInputs = [ - glib - polkit - python3 - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gtk3 - sqlite - boost - ] ++ lib.optional enableSystemd systemd - ++ lib.optional enableBashCompletion bash-completion; + buildInputs = + [ + glib + polkit + python3 + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gtk3 + sqlite + boost + ] + ++ lib.optional enableSystemd systemd + ++ lib.optional enableBashCompletion bash-completion; nativeBuildInputs = [ gobject-introspection glib @@ -66,22 +73,23 @@ stdenv.mkDerivation rec { ninja ]; - mesonFlags = [ - (if enableSystemd then "-Dsystemd=true" else "-Dsystem=false") - # often fails to build with nix updates - # and remounts /nix/store as rw - # https://github.com/NixOS/nixpkgs/issues/177946 - #"-Dpackaging_backend=nix" - "-Ddbus_sys=${placeholder "out"}/share/dbus-1/system.d" - "-Ddbus_services=${placeholder "out"}/share/dbus-1/system-services" - "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" - "-Dcron=false" - "-Dgtk_doc=true" - "--sysconfdir=/etc" - "--localstatedir=/var" - ] - ++ lib.optional (!enableBashCompletion) "-Dbash_completion=false" - ++ lib.optional (!enableCommandNotFound) "-Dbash_command_not_found=false"; + mesonFlags = + [ + (if enableSystemd then "-Dsystemd=true" else "-Dsystem=false") + # often fails to build with nix updates + # and remounts /nix/store as rw + # https://github.com/NixOS/nixpkgs/issues/177946 + #"-Dpackaging_backend=nix" + "-Ddbus_sys=${placeholder "out"}/share/dbus-1/system.d" + "-Ddbus_services=${placeholder "out"}/share/dbus-1/system-services" + "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + "-Dcron=false" + "-Dgtk_doc=true" + "--sysconfdir=/etc" + "--localstatedir=/var" + ] + ++ lib.optional (!enableBashCompletion) "-Dbash_completion=false" + ++ lib.optional (!enableCommandNotFound) "-Dbash_command_not_found=false"; postPatch = '' # HACK: we want packagekit to look in /etc for configs but install diff --git a/pkgs/tools/package-management/packagekit/qt.nix b/pkgs/tools/package-management/packagekit/qt.nix index 79350e340f90a..1cce9329b6f45 100644 --- a/pkgs/tools/package-management/packagekit/qt.nix +++ b/pkgs/tools/package-management/packagekit/qt.nix @@ -1,22 +1,34 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkg-config -, qttools, packagekit }: +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + qttools, + packagekit, +}: let isQt6 = lib.versions.major qttools.version == "6"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "packagekit-qt"; version = "1.1.2"; src = fetchFromGitHub { - owner = "hughsie"; - repo = "PackageKit-Qt"; - rev = "v${version}"; + owner = "hughsie"; + repo = "PackageKit-Qt"; + rev = "v${version}"; sha256 = "sha256-rLNeVjzIT18qUZgj6Qcf7E59CL4gx/ArYJfs9KHrqNs="; }; buildInputs = [ packagekit ]; - nativeBuildInputs = [ cmake pkg-config qttools ]; + nativeBuildInputs = [ + cmake + pkg-config + qttools + ]; cmakeFlags = [ (lib.cmakeBool "BUILD_WITH_QT6" isQt6) ]; diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index c42bcca20c904..fb3380601ff6b 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -1,31 +1,32 @@ -{ stdenv -, lib -, pkg-config -, autoreconfHook -, pandoc -, fetchpatch2 -, fetchurl -, cpio -, zlib -, bzip2 -, file -, elfutils -, libbfd -, libgcrypt -, libarchive -, nspr -, nss -, popt -, db -, xz -, python -, lua -, llvmPackages -, sqlite -, zstd -, libcap -, apple-sdk_13 -, darwinMinVersionHook +{ + stdenv, + lib, + pkg-config, + autoreconfHook, + pandoc, + fetchpatch2, + fetchurl, + cpio, + zlib, + bzip2, + file, + elfutils, + libbfd, + libgcrypt, + libarchive, + nspr, + nss, + popt, + db, + xz, + python, + lua, + llvmPackages, + sqlite, + zstd, + libcap, + apple-sdk_13, + darwinMinVersionHook, }: stdenv.mkDerivation rec { @@ -56,18 +57,51 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "dev" "man" ]; + outputs = [ + "out" + "dev" + "man" + ]; separateDebugInfo = true; - nativeBuildInputs = [ autoreconfHook pkg-config pandoc ]; - buildInputs = [ cpio zlib zstd bzip2 file libarchive libgcrypt nspr nss db xz python lua sqlite ] + nativeBuildInputs = [ + autoreconfHook + pkg-config + pandoc + ]; + buildInputs = + [ + cpio + zlib + zstd + bzip2 + file + libarchive + libgcrypt + nspr + nss + db + xz + python + lua + sqlite + ] ++ lib.optional stdenv.cc.isClang llvmPackages.openmp ++ lib.optional stdenv.hostPlatform.isLinux libcap - ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_13 (darwinMinVersionHook "13.0") ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_13 + (darwinMinVersionHook "13.0") + ]; # rpm/rpmlib.h includes popt.h, and then the pkg-config file mentions these as linkage requirements - propagatedBuildInputs = [ popt nss db bzip2 libarchive libbfd ] - ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform elfutils) elfutils; + propagatedBuildInputs = [ + popt + nss + db + bzip2 + libarchive + libbfd + ] ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform elfutils) elfutils; env.NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss"; @@ -112,7 +146,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.rpm.org/"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ + gpl2Plus + lgpl21Plus + ]; description = "RPM Package Manager"; maintainers = with maintainers; [ copumpkin ]; platforms = platforms.linux ++ platforms.darwin; diff --git a/pkgs/tools/package-management/yarn-lock-converter/default.nix b/pkgs/tools/package-management/yarn-lock-converter/default.nix index 70f5b143ebe8b..4bba600ea0203 100644 --- a/pkgs/tools/package-management/yarn-lock-converter/default.nix +++ b/pkgs/tools/package-management/yarn-lock-converter/default.nix @@ -1,9 +1,10 @@ -{ lib -, buildNpmPackage -, fetchurl -, nodejs -, testers -, yarn-lock-converter +{ + lib, + buildNpmPackage, + fetchurl, + nodejs, + testers, + yarn-lock-converter, }: let diff --git a/pkgs/tools/security/age-plugin-ledger/default.nix b/pkgs/tools/security/age-plugin-ledger/default.nix index c20429968f4e4..e5b5ccfdbe7f6 100644 --- a/pkgs/tools/security/age-plugin-ledger/default.nix +++ b/pkgs/tools/security/age-plugin-ledger/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, libusb1 -, openssl -, rage -, AppKit +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + libusb1, + openssl, + rage, + AppKit, }: rustPlatform.buildRustPackage rec { @@ -39,7 +40,10 @@ rustPlatform.buildRustPackage rec { description = "Ledger Nano plugin for age"; mainProgram = "age-plugin-ledger"; homepage = "https://github.com/Ledger-Donjon/age-plugin-ledger"; - license = with licenses; [ mit asl20 ]; + license = with licenses; [ + mit + asl20 + ]; maintainers = with maintainers; [ erdnaxe ]; }; } diff --git a/pkgs/tools/security/amber/default.nix b/pkgs/tools/security/amber/default.nix index 0099f90905202..d95e21c954dff 100644 --- a/pkgs/tools/security/amber/default.nix +++ b/pkgs/tools/security/amber/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, Security }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, +}: rustPlatform.buildRustPackage rec { # Renaming it to amber-secret because another package named amber exists diff --git a/pkgs/tools/security/authoscope/default.nix b/pkgs/tools/security/authoscope/default.nix index e30a00ff5be19..728db72a8b8c0 100644 --- a/pkgs/tools/security/authoscope/default.nix +++ b/pkgs/tools/security/authoscope/default.nix @@ -1,13 +1,14 @@ -{ lib -, stdenv -, fetchFromGitHub -, installShellFiles -, libcap -, openssl -, pkg-config -, rustPlatform -, Security -, zlib +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + libcap, + openssl, + pkg-config, + rustPlatform, + Security, + zlib, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/security/b2sum/default.nix b/pkgs/tools/security/b2sum/default.nix index 0dc8a9b35e83b..04c0e3e895439 100644 --- a/pkgs/tools/security/b2sum/default.nix +++ b/pkgs/tools/security/b2sum/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, openmp ? null }: +{ + lib, + stdenv, + fetchFromGitHub, + openmp ? null, +}: stdenv.mkDerivation (finalAttrs: { pname = "b2sum"; @@ -34,7 +39,11 @@ stdenv.mkDerivation (finalAttrs: { description = "B2sum utility is similar to the md5sum or shasum utilities but for BLAKE2"; mainProgram = "b2sum"; homepage = "https://blake2.net"; - license = with licenses; [ asl20 cc0 openssl ]; + license = with licenses; [ + asl20 + cc0 + openssl + ]; maintainers = with maintainers; [ kirelagin ]; platforms = platforms.unix; }; diff --git a/pkgs/tools/security/badchars/default.nix b/pkgs/tools/security/badchars/default.nix index 4c4d566c9074e..849ac32082800 100644 --- a/pkgs/tools/security/badchars/default.nix +++ b/pkgs/tools/security/badchars/default.nix @@ -1,7 +1,8 @@ -{ lib -, buildPythonApplication -, fetchPypi -, python3 +{ + lib, + buildPythonApplication, + fetchPypi, + python3, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/security/bitwarden-directory-connector/default.nix b/pkgs/tools/security/bitwarden-directory-connector/default.nix index cd214e83f4bf4..0991d8e7894a7 100644 --- a/pkgs/tools/security/bitwarden-directory-connector/default.nix +++ b/pkgs/tools/security/bitwarden-directory-connector/default.nix @@ -11,53 +11,63 @@ }: let - common = { name, npmBuildScript, installPhase }: buildNpmPackage rec { - pname = name; - version = "2024.10.0"; - nodejs = nodejs_18; - - src = fetchFromGitHub { - owner = "bitwarden"; - repo = "directory-connector"; - rev = "v${version}"; - hash = "sha256-jisMEuIpTWCy+N1QeERf+05tsugY0f+H2ntcRcFKkgo="; + common = + { + name, + npmBuildScript, + installPhase, + }: + buildNpmPackage rec { + pname = name; + version = "2024.10.0"; + nodejs = nodejs_18; + + src = fetchFromGitHub { + owner = "bitwarden"; + repo = "directory-connector"; + rev = "v${version}"; + hash = "sha256-jisMEuIpTWCy+N1QeERf+05tsugY0f+H2ntcRcFKkgo="; + }; + + postPatch = '' + ${lib.getExe buildPackages.jq} 'del(.scripts.preinstall)' package.json > package.json.tmp + mv -f package.json{.tmp,} + + substituteInPlace electron-builder.json \ + --replace-fail '"afterSign": "scripts/notarize.js",' "" \ + --replace-fail "AppImage" "dir" + ''; + + npmDepsHash = "sha256-Zi7EHzQSSrZ6XGGV1DOASuddYA4svXQc1eGmchcLFBc="; + + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + + makeCacheWritable = true; + inherit npmBuildScript installPhase; + + buildInputs = [ + libsecret + ]; + + nativeBuildInputs = [ + (python3.withPackages (ps: with ps; [ setuptools ])) + pkg-config + ]; + + meta = with lib; { + description = "LDAP connector for Bitwarden"; + homepage = "https://github.com/bitwarden/directory-connector"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ + Silver-Golden + SuperSandro2000 + ]; + platforms = platforms.linux; + mainProgram = name; + }; }; - - postPatch = '' - ${lib.getExe buildPackages.jq} 'del(.scripts.preinstall)' package.json > package.json.tmp - mv -f package.json{.tmp,} - - substituteInPlace electron-builder.json \ - --replace-fail '"afterSign": "scripts/notarize.js",' "" \ - --replace-fail "AppImage" "dir" - ''; - - npmDepsHash = "sha256-Zi7EHzQSSrZ6XGGV1DOASuddYA4svXQc1eGmchcLFBc="; - - env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; - - makeCacheWritable = true; - inherit npmBuildScript installPhase; - - buildInputs = [ - libsecret - ]; - - nativeBuildInputs = [ - (python3.withPackages (ps: with ps; [ setuptools ])) - pkg-config - ]; - - meta = with lib; { - description = "LDAP connector for Bitwarden"; - homepage = "https://github.com/bitwarden/directory-connector"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ Silver-Golden SuperSandro2000 ]; - platforms = platforms.linux; - mainProgram = name; - }; - }; -in { +in +{ bitwarden-directory-connector = common { name = "bitwarden-directory-connector"; npmBuildScript = "build:dist"; diff --git a/pkgs/tools/security/bmrsa/11.nix b/pkgs/tools/security/bmrsa/11.nix index 3ac41d2da482f..f3bf100ff745e 100644 --- a/pkgs/tools/security/bmrsa/11.nix +++ b/pkgs/tools/security/bmrsa/11.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "bmrsa"; diff --git a/pkgs/tools/security/bundler-audit/default.nix b/pkgs/tools/security/bundler-audit/default.nix index c24831f26b069..07528103a1af6 100644 --- a/pkgs/tools/security/bundler-audit/default.nix +++ b/pkgs/tools/security/bundler-audit/default.nix @@ -1,4 +1,9 @@ -{ bundlerEnv, ruby, lib, bundlerUpdateScript }: +{ + bundlerEnv, + ruby, + lib, + bundlerUpdateScript, +}: bundlerEnv rec { name = "${pname}-${version}"; @@ -20,10 +25,13 @@ bundlerEnv rec { - Prints advisory information. - Does not require a network connection. ''; - homepage = "https://github.com/rubysec/bundler-audit"; - changelog = "https://github.com/rubysec/bundler-audit/blob/v${version}/ChangeLog.md"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ primeos nicknovitski ]; - platforms = platforms.unix; + homepage = "https://github.com/rubysec/bundler-audit"; + changelog = "https://github.com/rubysec/bundler-audit/blob/v${version}/ChangeLog.md"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ + primeos + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/bundler-audit/gemset.nix b/pkgs/tools/security/bundler-audit/gemset.nix index bbe7a0e8274be..2dc2c5141f34e 100644 --- a/pkgs/tools/security/bundler-audit/gemset.nix +++ b/pkgs/tools/security/bundler-audit/gemset.nix @@ -1,20 +1,20 @@ { bundler-audit = { - dependencies = ["thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gdx0019vj04n1512shhdx7hwphzqmdpw4vva2k551nd47y1dixx"; type = "gem"; }; version = "0.9.1"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; type = "gem"; }; diff --git a/pkgs/tools/security/cewl/default.nix b/pkgs/tools/security/cewl/default.nix index 833c521250792..e415a1bdc9509 100644 --- a/pkgs/tools/security/cewl/default.nix +++ b/pkgs/tools/security/cewl/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, bundlerEnv }: +{ + stdenv, + lib, + fetchFromGitHub, + bundlerEnv, +}: let rubyEnv = bundlerEnv { diff --git a/pkgs/tools/security/cewl/gemset.nix b/pkgs/tools/security/cewl/gemset.nix index 851a6d2442d34..486d6b8e42f9b 100644 --- a/pkgs/tools/security/cewl/gemset.nix +++ b/pkgs/tools/security/cewl/gemset.nix @@ -1,101 +1,104 @@ { mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nskys7brz2bylhxiknl0z9i19w3wb1knf0h93in6mjq70jdw5cr"; type = "gem"; }; version = "0.4.4"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh"; type = "gem"; }; version = "3.3.1"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dlxwc75iy0dj23x824cxpvpa7c8aqcpskksrmb32j6m66h5mkcy"; type = "gem"; }; version = "3.2021.0704"; }; mini_exiftool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ir4wigpm6nkd3f40wcjdqrhjx3l60w1hwcg143is1a95ypnvqhr"; type = "gem"; }; version = "2.10.2"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k"; type = "gem"; }; version = "2.5.3"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9"; type = "gem"; }; version = "1.11.7"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; type = "gem"; }; version = "1.5.2"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; spider = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fix7zhnvlfqg66bxwdpbsffbynzdnaifnxpakn07bjh3rdj75cx"; type = "gem"; }; diff --git a/pkgs/tools/security/chrome-token-signing/default.nix b/pkgs/tools/security/chrome-token-signing/default.nix index 5f9618d0f177a..51e4aceb9bcef 100644 --- a/pkgs/tools/security/chrome-token-signing/default.nix +++ b/pkgs/tools/security/chrome-token-signing/default.nix @@ -1,4 +1,12 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, pcsclite, pkg-config, opensc }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + pcsclite, + pkg-config, + opensc, +}: mkDerivation rec { pname = "chrome-token-signing"; @@ -12,7 +20,10 @@ mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ qmake pcsclite ]; + buildInputs = [ + qmake + pcsclite + ]; dontUseQmakeConfigure = true; patchPhase = '' diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index 87471065098a3..3a3b264ef3d6a 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -1,7 +1,28 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake -, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl, libmilter, pcre2 -, libmspack, systemd, Foundation, json_c, check -, rustc, rust-bindgen, rustfmt, cargo, python3 +{ + lib, + stdenv, + fetchurl, + pkg-config, + cmake, + zlib, + bzip2, + libiconv, + libxml2, + openssl, + ncurses, + curl, + libmilter, + pcre2, + libmspack, + systemd, + Foundation, + json_c, + check, + rustc, + rust-bindgen, + rustfmt, + cargo, + python3, }: stdenv.mkDerivation rec { @@ -20,10 +41,31 @@ stdenv.mkDerivation rec { ]; enableParallelBuilding = true; - nativeBuildInputs = [ cmake pkg-config rustc rust-bindgen rustfmt cargo python3 ]; - buildInputs = [ - zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre2 libmspack json_c check - ] ++ lib.optional stdenv.hostPlatform.isLinux systemd + nativeBuildInputs = [ + cmake + pkg-config + rustc + rust-bindgen + rustfmt + cargo + python3 + ]; + buildInputs = + [ + zlib + bzip2 + libxml2 + openssl + ncurses + curl + libiconv + libmilter + pcre2 + libmspack + json_c + check + ] + ++ lib.optional stdenv.hostPlatform.isLinux systemd ++ lib.optional stdenv.hostPlatform.isDarwin Foundation; cmakeFlags = [ @@ -41,7 +83,11 @@ stdenv.mkDerivation rec { homepage = "https://www.clamav.net"; description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats"; license = licenses.gpl2Only; - maintainers = with maintainers; [ robberer qknight globin ]; + maintainers = with maintainers; [ + robberer + qknight + globin + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix index e8ffe7b2e4108..58f6c3ae6126d 100644 --- a/pkgs/tools/security/cosign/default.nix +++ b/pkgs/tools/security/cosign/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, buildGoModule -, fetchFromGitHub -, pcsclite -, pkg-config -, installShellFiles -, PCSC -, pivKeySupport ? true -, pkcs11Support ? true -, testers -, cosign +{ + stdenv, + lib, + buildGoModule, + fetchFromGitHub, + pcsclite, + pkg-config, + installShellFiles, + PCSC, + pivKeySupport ? true, + pkcs11Support ? true, + testers, + cosign, }: buildGoModule rec { pname = "cosign"; @@ -26,7 +27,10 @@ buildGoModule rec { lib.optional (stdenv.hostPlatform.isLinux && pivKeySupport) (lib.getDev pcsclite) ++ lib.optionals (stdenv.hostPlatform.isDarwin && pivKeySupport) [ PCSC ]; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; vendorHash = "sha256-E1QHLh2gg5RZ7+tl7eJNR2FmtfVI6rwI6qLD7tio18c="; @@ -34,7 +38,8 @@ buildGoModule rec { "cmd/cosign" ]; - tags = [ ] ++ lib.optionals pivKeySupport [ "pivkey" ] ++ lib.optionals pkcs11Support [ "pkcs11key" ]; + tags = + [ ] ++ lib.optionals pivKeySupport [ "pivkey" ] ++ lib.optionals pkcs11Support [ "pkcs11key" ]; ldflags = [ "-s" @@ -75,6 +80,10 @@ buildGoModule rec { description = "Container Signing CLI with support for ephemeral keys and Sigstore signing"; mainProgram = "cosign"; license = licenses.asl20; - maintainers = with maintainers; [ lesuisse jk developer-guy ]; + maintainers = with maintainers; [ + lesuisse + jk + developer-guy + ]; }; } diff --git a/pkgs/tools/security/deepsecrets/default.nix b/pkgs/tools/security/deepsecrets/default.nix index 4fa86da7f9131..0eabf689cea0a 100644 --- a/pkgs/tools/security/deepsecrets/default.nix +++ b/pkgs/tools/security/deepsecrets/default.nix @@ -1,6 +1,7 @@ -{ lib -, python3 -, fetchFromGitHub +{ + lib, + python3, + fetchFromGitHub, }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix index 24246a5de9c51..4849d1f81e367 100644 --- a/pkgs/tools/security/ecryptfs/default.nix +++ b/pkgs/tools/security/ecryptfs/default.nix @@ -1,5 +1,28 @@ -{ lib, stdenv, fetchurl, pkg-config, perl, util-linux, keyutils, nss, nspr, python2, pam, enablePython ? false -, intltool, makeWrapper, coreutils, bash, gettext, cryptsetup, lvm2, rsync, which, lsof, nixosTests }: +{ + lib, + stdenv, + fetchurl, + pkg-config, + perl, + util-linux, + keyutils, + nss, + nspr, + python2, + pam, + enablePython ? false, + intltool, + makeWrapper, + coreutils, + bash, + gettext, + cryptsetup, + lvm2, + rsync, + which, + lsof, + nixosTests, +}: stdenv.mkDerivation rec { pname = "ecryptfs"; @@ -35,14 +58,29 @@ stdenv.mkDerivation rec { configureFlags = lib.optionals (!enablePython) [ "--disable-pywrap" ]; - nativeBuildInputs = [ pkg-config makeWrapper intltool ] - # if python2 support is requested, it is needed at builtime as well as runtime. - ++ lib.optionals (enablePython) [ python2 ] - ; - buildInputs = [ perl nss nspr pam ] - ++ lib.optionals (enablePython) [ python2 ] - ; - propagatedBuildInputs = [ coreutils gettext cryptsetup lvm2 rsync keyutils which ]; + nativeBuildInputs = + [ + pkg-config + makeWrapper + intltool + ] + # if python2 support is requested, it is needed at builtime as well as runtime. + ++ lib.optionals (enablePython) [ python2 ]; + buildInputs = [ + perl + nss + nspr + pam + ] ++ lib.optionals (enablePython) [ python2 ]; + propagatedBuildInputs = [ + coreutils + gettext + cryptsetup + lvm2 + rsync + keyutils + which + ]; postInstall = '' FILES="$(grep -r '/bin/sh' $out/bin -l)" @@ -62,8 +100,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Enterprise-class stacked cryptographic filesystem"; - license = licenses.gpl2Plus; + license = licenses.gpl2Plus; maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/security/ecryptfs/helper.nix b/pkgs/tools/security/ecryptfs/helper.nix index e0252dac820a8..4f2070f8bd289 100644 --- a/pkgs/tools/security/ecryptfs/helper.nix +++ b/pkgs/tools/security/ecryptfs/helper.nix @@ -1,15 +1,17 @@ -{ lib, stdenv -, fetchurl -, makeWrapper -, python2 +{ + lib, + stdenv, + fetchurl, + makeWrapper, + python2, }: stdenv.mkDerivation { - pname = "ecryptfs-helper"; + pname = "ecryptfs-helper"; version = "20160722"; src = fetchurl { - url = "https://gist.githubusercontent.com/obadz/ec053fdb00dcb48441d8313169874e30/raw/4b657a4b7c3dc684e4d5e3ffaf46ced1b7675163/ecryptfs-helper.py"; + url = "https://gist.githubusercontent.com/obadz/ec053fdb00dcb48441d8313169874e30/raw/4b657a4b7c3dc684e4d5e3ffaf46ced1b7675163/ecryptfs-helper.py"; sha256 = "0gp4m22zc80814ng80s38hp930aa8r4zqihr7jr23m0m2iq4pdpg"; }; @@ -25,10 +27,10 @@ stdenv.mkDerivation { ''; meta = with lib; { - description = "Helper script to create/mount/unemount encrypted directories using eCryptfs without needing root permissions"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; - hydraPlatforms = []; + description = "Helper script to create/mount/unemount encrypted directories using eCryptfs without needing root permissions"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ obadz ]; + platforms = platforms.linux; + hydraPlatforms = [ ]; }; } diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix index b8ae6d2c84c91..1adcf622e62d2 100644 --- a/pkgs/tools/security/eid-mw/default.nix +++ b/pkgs/tools/security/eid-mw/default.nix @@ -1,22 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoconf-archive -, autoreconfHook -, makeWrapper -, pkg-config -, substituteAll -, curl -, gtk3 -, libassuan -, libbsd -, libproxy -, libxml2 -, nssTools -, openssl -, p11-kit -, pcsclite -, wrapGAppsHook3 +{ + lib, + stdenv, + fetchFromGitHub, + autoconf-archive, + autoreconfHook, + makeWrapper, + pkg-config, + substituteAll, + curl, + gtk3, + libassuan, + libbsd, + libproxy, + libxml2, + nssTools, + openssl, + p11-kit, + pcsclite, + wrapGAppsHook3, }: stdenv.mkDerivation rec { @@ -36,9 +37,24 @@ stdenv.mkDerivation rec { substituteInPlace configure.ac --replace 'p11kitcfdir=""' 'p11kitcfdir="'$out/share/p11-kit/modules'"' ''; - - nativeBuildInputs = [ wrapGAppsHook3 autoreconfHook autoconf-archive pkg-config makeWrapper ]; - buildInputs = [ curl gtk3 libassuan libbsd libproxy libxml2 openssl p11-kit pcsclite ]; + nativeBuildInputs = [ + wrapGAppsHook3 + autoreconfHook + autoconf-archive + pkg-config + makeWrapper + ]; + buildInputs = [ + curl + gtk3 + libassuan + libbsd + libproxy + libxml2 + openssl + p11-kit + pcsclite + ]; preConfigure = '' mkdir openssl @@ -100,6 +116,9 @@ stdenv.mkDerivation rec { firefox.override { pkcs11Modules = [ pkgs.eid-mw ]; } ''; platforms = platforms.linux; - maintainers = with maintainers; [ bfortz chvp ]; + maintainers = with maintainers; [ + bfortz + chvp + ]; }; } diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix index 64975a04c9f4b..844501a162bea 100644 --- a/pkgs/tools/security/feroxbuster/default.nix +++ b/pkgs/tools/security/feroxbuster/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl -, pkg-config -, rustPlatform -, Security -, SystemConfiguration +{ + lib, + stdenv, + fetchFromGitHub, + openssl, + pkg-config, + rustPlatform, + Security, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -32,12 +33,14 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - Security - SystemConfiguration - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; # Tests require network access doCheck = false; @@ -52,4 +55,3 @@ rustPlatform.buildRustPackage rec { mainProgram = "feroxbuster"; }; } - diff --git a/pkgs/tools/security/firefox_decrypt/default.nix b/pkgs/tools/security/firefox_decrypt/default.nix index 6fdb2e0440f34..5bc8dbe86aa09 100644 --- a/pkgs/tools/security/firefox_decrypt/default.nix +++ b/pkgs/tools/security/firefox_decrypt/default.nix @@ -1,12 +1,13 @@ -{ lib -, fetchFromGitHub -, buildPythonApplication -, setuptools -, setuptools-scm -, wheel -, nss -, nix-update-script -, stdenv +{ + lib, + fetchFromGitHub, + buildPythonApplication, + setuptools, + setuptools-scm, + wheel, + nss, + nix-update-script, + stdenv, }: buildPythonApplication rec { diff --git a/pkgs/tools/security/fwbuilder/default.nix b/pkgs/tools/security/fwbuilder/default.nix index 6787e2f923b9f..284e302f0188b 100644 --- a/pkgs/tools/security/fwbuilder/default.nix +++ b/pkgs/tools/security/fwbuilder/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, ninja -, wrapQtAppsHook -, wayland -, wayland-protocols -, qtwayland +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + wrapQtAppsHook, + wayland, + wayland-protocols, + qtwayland, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/security/genpass/default.nix b/pkgs/tools/security/genpass/default.nix index f1e9a197680bf..009f59619a344 100644 --- a/pkgs/tools/security/genpass/default.nix +++ b/pkgs/tools/security/genpass/default.nix @@ -1,9 +1,11 @@ -{ lib, stdenv -, fetchgit -, rustPlatform -, CoreFoundation -, libiconv -, Security +{ + lib, + stdenv, + fetchgit, + rustPlatform, + CoreFoundation, + libiconv, + Security, }: rustPlatform.buildRustPackage rec { pname = "genpass"; @@ -17,7 +19,11 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-ls3tzZ+gtZQlObmbtwJDq6N/f5nY+Ps7RL5R/fR5Vgg="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + CoreFoundation + libiconv + Security + ]; meta = with lib; { description = "Simple yet robust commandline random password generator"; diff --git a/pkgs/tools/security/ggshield/default.nix b/pkgs/tools/security/ggshield/default.nix index 93c16cf75cac3..7e62c0741662e 100644 --- a/pkgs/tools/security/ggshield/default.nix +++ b/pkgs/tools/security/ggshield/default.nix @@ -21,7 +21,6 @@ python3.pkgs.buildPythonApplication rec { build-system = with python3.pkgs; [ pdm-backend ]; - dependencies = with python3.pkgs; [ appdirs charset-normalizer diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix index 390665fe44fd8..6cdbc419e074f 100644 --- a/pkgs/tools/security/gnupg/1.nix +++ b/pkgs/tools/security/gnupg/1.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, readline, bzip2 }: +{ + lib, + stdenv, + fetchurl, + readline, + bzip2, +}: stdenv.mkDerivation rec { pname = "gnupg"; @@ -9,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9"; }; - buildInputs = [ readline bzip2 ]; + buildInputs = [ + readline + bzip2 + ]; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: diff --git a/pkgs/tools/security/gnupg/1compat.nix b/pkgs/tools/security/gnupg/1compat.nix index 6625a45679549..040ce178c3b82 100644 --- a/pkgs/tools/security/gnupg/1compat.nix +++ b/pkgs/tools/security/gnupg/1compat.nix @@ -1,4 +1,9 @@ -{ stdenv, gnupg, coreutils, writeScript }: +{ + stdenv, + gnupg, + coreutils, + writeScript, +}: stdenv.mkDerivation { pname = "gnupg1compat"; @@ -24,8 +29,7 @@ stdenv.mkDerivation { ''; meta = gnupg.meta // { - description = gnupg.meta.description + - " with symbolic links for gpg and gpgv"; + description = gnupg.meta.description + " with symbolic links for gpg and gpgv"; priority = -1; }; } diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix index e0fdf3361f9bd..e543fc77a1c3e 100644 --- a/pkgs/tools/security/gnupg/22.nix +++ b/pkgs/tools/security/gnupg/22.nix @@ -1,11 +1,31 @@ -{ lib, stdenv, fetchurl, buildPackages -, pkg-config, texinfo -, gettext, libassuan, libgcrypt, libgpg-error, libiconv, libksba, npth -, adns, bzip2, gnutls, libusb1, openldap, readline, sqlite, zlib -, enableMinimal ? false -, withPcsc ? !enableMinimal, pcsclite -, guiSupport ? stdenv.hostPlatform.isDarwin, pinentry -, nixosTests +{ + lib, + stdenv, + fetchurl, + buildPackages, + pkg-config, + texinfo, + gettext, + libassuan, + libgcrypt, + libgpg-error, + libiconv, + libksba, + npth, + adns, + bzip2, + gnutls, + libusb1, + openldap, + readline, + sqlite, + zlib, + enableMinimal ? false, + withPcsc ? !enableMinimal, + pcsclite, + guiSupport ? stdenv.hostPlatform.isDarwin, + pinentry, + nixosTests, }: assert guiSupport -> !enableMinimal; @@ -20,12 +40,30 @@ stdenv.mkDerivation rec { }; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config texinfo ]; - buildInputs = [ - gettext libassuan libgcrypt libgpg-error libiconv libksba npth - ] ++ lib.optionals (!enableMinimal) [ - adns bzip2 gnutls libusb1 openldap readline sqlite zlib + nativeBuildInputs = [ + pkg-config + texinfo ]; + buildInputs = + [ + gettext + libassuan + libgcrypt + libgpg-error + libiconv + libksba + npth + ] + ++ lib.optionals (!enableMinimal) [ + adns + bzip2 + gnutls + libusb1 + openldap + readline + sqlite + zlib + ]; patches = [ ./fix-libusb-include-path.patch @@ -34,50 +72,58 @@ stdenv.mkDerivation rec { ./22-allow-import-of-previously-known-keys-even-without-UI.patch ]; - postPatch = '' - sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' configure doc/dirmngr.texi doc/gnupg.info-1 - # Fix broken SOURCE_DATE_EPOCH usage - remove on the next upstream update - sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.am - sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in - '' + lib.optionalString (stdenv.hostPlatform.isLinux && withPcsc) '' + postPatch = + '' + sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' configure doc/dirmngr.texi doc/gnupg.info-1 + # Fix broken SOURCE_DATE_EPOCH usage - remove on the next upstream update + sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.am + sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in + '' + + lib.optionalString (stdenv.hostPlatform.isLinux && withPcsc) '' sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c ''; - configureFlags = [ - "--with-libgpg-error-prefix=${libgpg-error.dev}" - "--with-libgcrypt-prefix=${libgcrypt.dev}" - "--with-libassuan-prefix=${libassuan.dev}" - "--with-ksba-prefix=${libksba.dev}" - "GPGRT_CONFIG=${lib.getDev libgpg-error}/bin/gpgrt-config" - ] - ++ lib.optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentry.binaryPath or "bin/pinentry"}" - ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-ccid-driver"; + configureFlags = + [ + "--with-libgpg-error-prefix=${libgpg-error.dev}" + "--with-libgcrypt-prefix=${libgcrypt.dev}" + "--with-libassuan-prefix=${libassuan.dev}" + "--with-ksba-prefix=${libksba.dev}" + "GPGRT_CONFIG=${lib.getDev libgpg-error}/bin/gpgrt-config" + ] + ++ lib.optional guiSupport "--with-pinentry-pgm=${pinentry}/${ + pinentry.binaryPath or "bin/pinentry" + }" + ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-ccid-driver"; - postInstall = if enableMinimal - then '' - rm -r $out/{libexec,sbin,share} - for f in $(find $out/bin -type f -not -name gpg) - do - rm $f - done - '' else '' - mkdir -p $out/lib/systemd/user - for f in doc/examples/systemd-user/*.{service,socket} ; do - substitute $f $out/lib/systemd/user/$(basename $f) \ - --replace /usr/bin $out/bin - done + postInstall = + if enableMinimal then + '' + rm -r $out/{libexec,sbin,share} + for f in $(find $out/bin -type f -not -name gpg) + do + rm $f + done + '' + else + '' + mkdir -p $out/lib/systemd/user + for f in doc/examples/systemd-user/*.{service,socket} ; do + substitute $f $out/lib/systemd/user/$(basename $f) \ + --replace /usr/bin $out/bin + done - # add gpg2 symlink to make sure git does not break when signing commits - ln -s $out/bin/gpg $out/bin/gpg2 + # add gpg2 symlink to make sure git does not break when signing commits + ln -s $out/bin/gpg $out/bin/gpg2 - # Make libexec tools available in PATH - for f in $out/libexec/; do - if [[ "$(basename $f)" == "gpg-wks-client" ]]; then continue; fi - ln -s $f $out/bin/$(basename $f) - done + # Make libexec tools available in PATH + for f in $out/libexec/; do + if [[ "$(basename $f)" == "gpg-wks-client" ]]; then continue; fi + ln -s $f $out/bin/$(basename $f) + done - ln -s -t $out/bin $out/libexec/* - ''; + ln -s -t $out/bin $out/libexec/* + ''; enableParallelBuilding = true; diff --git a/pkgs/tools/security/gopass/git-credential.nix b/pkgs/tools/security/gopass/git-credential.nix index 2002da28690f5..f6ee7ceb28a2d 100644 --- a/pkgs/tools/security/gopass/git-credential.nix +++ b/pkgs/tools/security/gopass/git-credential.nix @@ -1,8 +1,9 @@ -{ lib -, makeWrapper -, buildGoModule -, fetchFromGitHub -, gopass +{ + lib, + makeWrapper, + buildGoModule, + fetchFromGitHub, + gopass, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; ldflags = [ - "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" ]; postFixup = '' diff --git a/pkgs/tools/security/gopass/hibp.nix b/pkgs/tools/security/gopass/hibp.nix index 59d5f6c46ea9b..d458b99dba919 100644 --- a/pkgs/tools/security/gopass/hibp.nix +++ b/pkgs/tools/security/gopass/hibp.nix @@ -1,8 +1,9 @@ -{ lib -, makeWrapper -, buildGoModule -, fetchFromGitHub -, gopass +{ + lib, + makeWrapper, + buildGoModule, + fetchFromGitHub, + gopass, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; ldflags = [ - "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" ]; postFixup = '' diff --git a/pkgs/tools/security/gopass/summon.nix b/pkgs/tools/security/gopass/summon.nix index f36db1e9791d6..226adf97137b7 100644 --- a/pkgs/tools/security/gopass/summon.nix +++ b/pkgs/tools/security/gopass/summon.nix @@ -1,8 +1,9 @@ -{ lib -, makeWrapper -, buildGoModule -, fetchFromGitHub -, gopass +{ + lib, + makeWrapper, + buildGoModule, + fetchFromGitHub, + gopass, }: buildGoModule rec { @@ -23,7 +24,10 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper ]; ldflags = [ - "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" + "-s" + "-w" + "-X main.version=${version}" + "-X main.commit=${src.rev}" ]; postFixup = '' diff --git a/pkgs/tools/security/gotrue/default.nix b/pkgs/tools/security/gotrue/default.nix index 6a9d77ba062a6..6bff0c026a2ad 100644 --- a/pkgs/tools/security/gotrue/default.nix +++ b/pkgs/tools/security/gotrue/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + buildGoModule, + fetchFromGitHub, +}: buildGoModule rec { pname = "gotrue"; diff --git a/pkgs/tools/security/gotrue/supabase.nix b/pkgs/tools/security/gotrue/supabase.nix index 4903db23918f2..48da315e59cdd 100644 --- a/pkgs/tools/security/gotrue/supabase.nix +++ b/pkgs/tools/security/gotrue/supabase.nix @@ -1,8 +1,9 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, testers -, gotrue-supabase +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + gotrue-supabase, }: buildGoModule rec { diff --git a/pkgs/tools/security/gpg-tui/default.nix b/pkgs/tools/security/gpg-tui/default.nix index 5c4dd4620eaf3..9cbb02b24201f 100644 --- a/pkgs/tools/security/gpg-tui/default.nix +++ b/pkgs/tools/security/gpg-tui/default.nix @@ -1,17 +1,20 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, gpgme -, libgpg-error -, pkg-config -, python3 -, AppKit -, Foundation -, libiconv -, libobjc -, libresolv -, x11Support ? true, libxcb, libxkbcommon +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + gpgme, + libgpg-error, + pkg-config, + python3, + AppKit, + Foundation, + libiconv, + libobjc, + libresolv, + x11Support ? true, + libxcb, + libxkbcommon, }: rustPlatform.buildRustPackage rec { @@ -34,26 +37,32 @@ rustPlatform.buildRustPackage rec { python3 ]; - buildInputs = [ - gpgme - libgpg-error - ] ++ lib.optionals x11Support [ - libxcb - libxkbcommon - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - AppKit - Foundation - libiconv - libobjc - libresolv - ]; + buildInputs = + [ + gpgme + libgpg-error + ] + ++ lib.optionals x11Support [ + libxcb + libxkbcommon + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + Foundation + libiconv + libobjc + libresolv + ]; meta = with lib; { description = "Terminal user interface for GnuPG"; homepage = "https://github.com/orhun/gpg-tui"; changelog = "https://github.com/orhun/gpg-tui/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ dotlambda matthiasbeyer ]; + maintainers = with maintainers; [ + dotlambda + matthiasbeyer + ]; mainProgram = "gpg-tui"; }; } diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix index 55201b3d84835..03e99733500bc 100644 --- a/pkgs/tools/security/hashcat/default.nix +++ b/pkgs/tools/security/hashcat/default.nix @@ -1,18 +1,24 @@ -{ lib, stdenv -, addDriverRunpath -, config -, cudaPackages ? {} -, cudaSupport ? config.cudaSupport -, fetchurl -, makeWrapper -, opencl-headers -, ocl-icd -, xxHash -, Foundation, IOKit, Metal, OpenCL, libiconv +{ + lib, + stdenv, + addDriverRunpath, + config, + cudaPackages ? { }, + cudaSupport ? config.cudaSupport, + fetchurl, + makeWrapper, + opencl-headers, + ocl-icd, + xxHash, + Foundation, + IOKit, + Metal, + OpenCL, + libiconv, }: stdenv.mkDerivation rec { - pname = "hashcat"; + pname = "hashcat"; version = "6.2.6"; src = fetchurl { @@ -30,24 +36,38 @@ stdenv.mkDerivation rec { --replace '-i ""' '-i' ''; - nativeBuildInputs = [ - makeWrapper - ] ++ lib.optionals cudaSupport [ - addDriverRunpath - ]; + nativeBuildInputs = + [ + makeWrapper + ] + ++ lib.optionals cudaSupport [ + addDriverRunpath + ]; - buildInputs = [ opencl-headers xxHash ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation IOKit Metal OpenCL libiconv ]; + buildInputs = + [ + opencl-headers + xxHash + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + IOKit + Metal + OpenCL + libiconv + ]; - makeFlags = [ - "PREFIX=${placeholder "out"}" - "COMPTIME=1337" - "VERSION_TAG=${version}" - "USE_SYSTEM_OPENCL=1" - "USE_SYSTEM_XXHASH=1" - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform) [ - "IS_APPLE_SILICON='${if stdenv.hostPlatform.isAarch64 then "1" else "0"}'" - ]; + makeFlags = + [ + "PREFIX=${placeholder "out"}" + "COMPTIME=1337" + "VERSION_TAG=${version}" + "USE_SYSTEM_OPENCL=1" + "USE_SYSTEM_XXHASH=1" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform) [ + "IS_APPLE_SILICON='${if stdenv.hostPlatform.isAarch64 then "1" else "0"}'" + ]; enableParallelBuilding = true; @@ -59,28 +79,37 @@ stdenv.mkDerivation rec { done ''; - postFixup = let - LD_LIBRARY_PATH = builtins.concatStringsSep ":" ([ - "${ocl-icd}/lib" - ] ++ lib.optionals cudaSupport [ - "${cudaPackages.cudatoolkit}/lib" - ]); - in '' - wrapProgram $out/bin/hashcat \ - --prefix LD_LIBRARY_PATH : ${lib.escapeShellArg LD_LIBRARY_PATH} - '' + lib.optionalString cudaSupport '' - for program in $out/bin/hashcat $out/bin/.hashcat-wrapped; do - isELF "$program" || continue - addDriverRunpath "$program" - done - ''; + postFixup = + let + LD_LIBRARY_PATH = builtins.concatStringsSep ":" ( + [ + "${ocl-icd}/lib" + ] + ++ lib.optionals cudaSupport [ + "${cudaPackages.cudatoolkit}/lib" + ] + ); + in + '' + wrapProgram $out/bin/hashcat \ + --prefix LD_LIBRARY_PATH : ${lib.escapeShellArg LD_LIBRARY_PATH} + '' + + lib.optionalString cudaSupport '' + for program in $out/bin/hashcat $out/bin/.hashcat-wrapped; do + isELF "$program" || continue + addDriverRunpath "$program" + done + ''; meta = with lib; { description = "Fast password cracker"; mainProgram = "hashcat"; - homepage = "https://hashcat.net/hashcat/"; - license = licenses.mit; - platforms = platforms.unix; - maintainers = with maintainers; [ felixalbrigtsen zimbatm ]; + homepage = "https://hashcat.net/hashcat/"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ + felixalbrigtsen + zimbatm + ]; }; } diff --git a/pkgs/tools/security/honggfuzz/default.nix b/pkgs/tools/security/honggfuzz/default.nix index 7bb89718baca7..3515430b965c9 100644 --- a/pkgs/tools/security/honggfuzz/default.nix +++ b/pkgs/tools/security/honggfuzz/default.nix @@ -1,13 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, clang -, llvm -, libbfd -, libopcodes -, libunwind -, libblocksruntime }: +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + clang, + llvm, + libbfd, + libopcodes, + libunwind, + libblocksruntime, +}: stdenv.mkDerivation rec { pname = "honggfuzz"; @@ -29,7 +31,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ llvm ]; - propagatedBuildInputs = [ libbfd libopcodes libunwind libblocksruntime ]; + propagatedBuildInputs = [ + libbfd + libopcodes + libunwind + libblocksruntime + ]; # Fortify causes build failures: 'str*' defined both normally and as 'alias' attribute hardeningDisable = [ "fortify" ]; @@ -45,8 +52,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = - "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer"; + description = "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer"; longDescription = '' Honggfuzz is a security oriented, feedback-driven, evolutionary, easy-to-use fuzzer with interesting analysis options. It is @@ -63,6 +69,9 @@ stdenv.mkDerivation rec { homepage = "https://honggfuzz.dev/"; license = lib.licenses.asl20; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ cpu chivay ]; + maintainers = with lib.maintainers; [ + cpu + chivay + ]; }; } diff --git a/pkgs/tools/security/iaito/default.nix b/pkgs/tools/security/iaito/default.nix index 0367e767abc68..1e96c46de2d6d 100644 --- a/pkgs/tools/security/iaito/default.nix +++ b/pkgs/tools/security/iaito/default.nix @@ -1,14 +1,15 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, python3 -, qtbase -, qttools -, radare2 -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + qtbase, + qttools, + radare2, + wrapQtAppsHook, }: let @@ -34,7 +35,10 @@ in stdenv.mkDerivation (finalAttrs: { inherit pname version; - srcs = [ main_src translations_src ]; + srcs = [ + main_src + translations_src + ]; sourceRoot = "${main_src.name}/src"; postUnpack = '' diff --git a/pkgs/tools/security/jwt-cli/default.nix b/pkgs/tools/security/jwt-cli/default.nix index 051147df24641..561dc0b50f2d9 100644 --- a/pkgs/tools/security/jwt-cli/default.nix +++ b/pkgs/tools/security/jwt-cli/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, installShellFiles, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "jwt-cli"; diff --git a/pkgs/tools/security/kbs2/default.nix b/pkgs/tools/security/kbs2/default.nix index 04c6923af041f..0815c65ec12b7 100644 --- a/pkgs/tools/security/kbs2/default.nix +++ b/pkgs/tools/security/kbs2/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, python3 -, libxcb -, AppKit -, SystemConfiguration +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + python3, + libxcb, + AppKit, + SystemConfiguration, }: rustPlatform.buildRustPackage rec { @@ -22,29 +23,35 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-LcnvCWGVdBxhDgQDoGHXRppGeEpfjOv/F0dZMN2bOF8="; - nativeBuildInputs = [ installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ python3 ]; + nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.hostPlatform.isLinux [ python3 ]; - buildInputs = [ ] + buildInputs = + [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libxcb ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ SystemConfiguration AppKit ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + SystemConfiguration + AppKit + ]; preCheck = '' export HOME=$TMPDIR ''; - checkFlags = [ "--skip=kbs2::config::tests::test_find_config_dir" ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--skip=test_ragelib_rewrap_keyfile" ]; - - postInstall = '' - mkdir -p $out/share/kbs2 - cp -r contrib/ $out/share/kbs2 - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd kbs2 \ - --bash <($out/bin/kbs2 --completions bash) \ - --fish <($out/bin/kbs2 --completions fish) \ - --zsh <($out/bin/kbs2 --completions zsh) - ''; + checkFlags = [ + "--skip=kbs2::config::tests::test_find_config_dir" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--skip=test_ragelib_rewrap_keyfile" ]; + + postInstall = + '' + mkdir -p $out/share/kbs2 + cp -r contrib/ $out/share/kbs2 + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd kbs2 \ + --bash <($out/bin/kbs2 --completions bash) \ + --fish <($out/bin/kbs2 --completions fish) \ + --zsh <($out/bin/kbs2 --completions zsh) + ''; meta = with lib; { description = "Secret manager backed by age"; diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix index b75dd1eb202d7..44ec908dcf547 100644 --- a/pkgs/tools/security/keybase/default.nix +++ b/pkgs/tools/security/keybase/default.nix @@ -1,6 +1,18 @@ -{ stdenv, substituteAll, lib, buildGoModule, fetchFromGitHub -, AppKit, AVFoundation, AudioToolbox, ImageIO, CoreMedia -, Foundation, CoreGraphics, MediaToolbox, gnupg +{ + stdenv, + substituteAll, + lib, + buildGoModule, + fetchFromGitHub, + AppKit, + AVFoundation, + AudioToolbox, + ImageIO, + CoreMedia, + Foundation, + CoreGraphics, + MediaToolbox, + gnupg, }: buildGoModule rec { @@ -8,7 +20,10 @@ buildGoModule rec { version = "6.4.0"; modRoot = "go"; - subPackages = [ "kbnm" "keybase" ]; + subPackages = [ + "kbnm" + "keybase" + ]; dontRenameImports = true; @@ -28,15 +43,34 @@ buildGoModule rec { }) ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ AppKit AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + AppKit + AVFoundation + AudioToolbox + ImageIO + CoreMedia + Foundation + CoreGraphics + MediaToolbox + ]; tags = [ "production" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://www.keybase.io/"; description = "Keybase official command-line utility and service"; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ avaq np rvolosatovs Br1ght0ne shofius ryand56 ]; + maintainers = with maintainers; [ + avaq + np + rvolosatovs + Br1ght0ne + shofius + ryand56 + ]; license = licenses.bsd3; }; } diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix index c80d28c2f8630..0d4c4387cc4fe 100644 --- a/pkgs/tools/security/keybase/gui.nix +++ b/pkgs/tools/security/keybase/gui.nix @@ -1,7 +1,33 @@ -{ stdenv, lib, fetchurl, alsa-lib, atk, cairo, cups, udev, libdrm, mesa -, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3, libappindicator-gtk3 -, libnotify, nspr, nss, pango, systemd, xorg, autoPatchelfHook, wrapGAppsHook3 -, runtimeShell, gsettings-desktop-schemas }: +{ + stdenv, + lib, + fetchurl, + alsa-lib, + atk, + cairo, + cups, + udev, + libdrm, + mesa, + dbus, + expat, + fontconfig, + freetype, + gdk-pixbuf, + glib, + gtk3, + libappindicator-gtk3, + libnotify, + nspr, + nss, + pango, + systemd, + xorg, + autoPatchelfHook, + wrapGAppsHook3, + runtimeShell, + gsettings-desktop-schemas, +}: let versionSuffix = "20240821175720.3212f60cc5"; @@ -111,7 +137,15 @@ stdenv.mkDerivation rec { description = "Keybase official GUI"; mainProgram = "keybase-gui"; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ avaq rvolosatovs puffnfresh np Br1ght0ne shofius ryand56 ]; + maintainers = with maintainers; [ + avaq + rvolosatovs + puffnfresh + np + Br1ght0ne + shofius + ryand56 + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.bsd3; }; diff --git a/pkgs/tools/security/keybase/kbfs.nix b/pkgs/tools/security/keybase/kbfs.nix index b3e2974a0033b..f09affe19c7b9 100644 --- a/pkgs/tools/security/keybase/kbfs.nix +++ b/pkgs/tools/security/keybase/kbfs.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, keybase }: +{ + lib, + buildGoModule, + keybase, +}: buildGoModule { pname = "kbfs"; @@ -6,15 +10,28 @@ buildGoModule { inherit (keybase) src version vendorHash; modRoot = "go"; - subPackages = [ "kbfs/kbfsfuse" "kbfs/redirector" "kbfs/kbfsgit/git-remote-keybase" ]; + subPackages = [ + "kbfs/kbfsfuse" + "kbfs/redirector" + "kbfs/kbfsgit/git-remote-keybase" + ]; tags = [ "production" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://keybase.io/docs/kbfs"; description = "Keybase filesystem"; - maintainers = with maintainers; [ avaq rvolosatovs bennofs np shofius ]; + maintainers = with maintainers; [ + avaq + rvolosatovs + bennofs + np + shofius + ]; license = licenses.bsd3; }; } diff --git a/pkgs/tools/security/keyscope/default.nix b/pkgs/tools/security/keyscope/default.nix index b2bd09d1f44a5..06b343a5064e7 100644 --- a/pkgs/tools/security/keyscope/default.nix +++ b/pkgs/tools/security/keyscope/default.nix @@ -1,13 +1,14 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, stdenv -, DiskArbitration -, Foundation -, IOKit -, Security +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + stdenv, + DiskArbitration, + Foundation, + IOKit, + Security, }: rustPlatform.buildRustPackage rec { @@ -25,12 +26,14 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - DiskArbitration - Foundation - IOKit - Security - ]; + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + DiskArbitration + Foundation + IOKit + Security + ]; # build script tries to get information from git postPatch = '' diff --git a/pkgs/tools/security/krunner-pass/default.nix b/pkgs/tools/security/krunner-pass/default.nix index 032840b7d33c0..00f76354d09df 100644 --- a/pkgs/tools/security/krunner-pass/default.nix +++ b/pkgs/tools/security/krunner-pass/default.nix @@ -1,12 +1,13 @@ -{ mkDerivation -, lib -, fetchFromGitHub -, fetchpatch -, cmake -, extra-cmake-modules -, kauth -, krunner -, pass +{ + mkDerivation, + lib, + fetchFromGitHub, + fetchpatch, + cmake, + extra-cmake-modules, + kauth, + krunner, + pass, }: mkDerivation rec { @@ -27,7 +28,10 @@ mkDerivation rec { (pass.withExtensions (p: with p; [ pass-otp ])) ]; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; patches = [ (fetchpatch { diff --git a/pkgs/tools/security/lethe/default.nix b/pkgs/tools/security/lethe/default.nix index 21875006f4fcb..bd07d73130cf9 100644 --- a/pkgs/tools/security/lethe/default.nix +++ b/pkgs/tools/security/lethe/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, }: rustPlatform.buildRustPackage rec { diff --git a/pkgs/tools/security/libacr38u/default.nix b/pkgs/tools/security/libacr38u/default.nix index 45db3985d555d..c5e4ad0aca1d1 100644 --- a/pkgs/tools/security/libacr38u/default.nix +++ b/pkgs/tools/security/libacr38u/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, pcsclite , libusb-compat-0_1, IOKit }: +{ + lib, + stdenv, + fetchurl, + autoreconfHook, + pkg-config, + pcsclite, + libusb-compat-0_1, + IOKit, +}: stdenv.mkDerivation { version = "1.7.11"; @@ -11,9 +20,14 @@ stdenv.mkDerivation { doCheck = true; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ pcsclite libusb-compat-0_1 ] - ++ lib.optional stdenv.hostPlatform.isDarwin IOKit; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + pcsclite + libusb-compat-0_1 + ] ++ lib.optional stdenv.hostPlatform.isDarwin IOKit; preBuild = '' makeFlagsArray=(usbdropdir="$out/pcsc/drivers"); diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix index 83dc2bff29daa..a5d840d44df0f 100644 --- a/pkgs/tools/security/libmodsecurity/default.nix +++ b/pkgs/tools/security/libmodsecurity/default.nix @@ -1,7 +1,22 @@ -{ lib, stdenv, fetchFromGitHub -, autoreconfHook, bison, flex, pkg-config -, curl, geoip, libmaxminddb, libxml2, lmdb, lua, pcre, pcre2, ssdeep, yajl -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + pkg-config, + curl, + geoip, + libmaxminddb, + libxml2, + lmdb, + lua, + pcre, + pcre2, + ssdeep, + yajl, + nixosTests, }: stdenv.mkDerivation rec { @@ -16,10 +31,29 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ autoreconfHook bison flex pkg-config ]; - buildInputs = [ curl geoip libmaxminddb libxml2 lmdb lua pcre pcre2 ssdeep yajl ]; + nativeBuildInputs = [ + autoreconfHook + bison + flex + pkg-config + ]; + buildInputs = [ + curl + geoip + libmaxminddb + libxml2 + lmdb + lua + pcre + pcre2 + ssdeep + yajl + ]; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; configureFlags = [ "--enable-parser-generation" diff --git a/pkgs/tools/security/maigret/default.nix b/pkgs/tools/security/maigret/default.nix index 0936e0d980624..87f8e9828f4c3 100644 --- a/pkgs/tools/security/maigret/default.nix +++ b/pkgs/tools/security/maigret/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + python3, }: python3.pkgs.buildPythonApplication rec { @@ -26,7 +27,6 @@ python3.pkgs.buildPythonApplication rec { }) ]; - propagatedBuildInputs = with python3.pkgs; [ aiodns aiohttp @@ -84,19 +84,21 @@ python3.pkgs.buildPythonApplication rec { "-W ignore::DeprecationWarning" ]; - disabledTests = [ - # Tests require network access - "test_extract_ids_from_page" - "test_import_aiohttp_cookies" - "test_maigret_results" - "test_pdf_report" - "test_self_check_db_negative_enabled" - "test_self_check_db_positive_enable" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # AsyncioProgressbarExecutor is slower on darwin than it should be, - # Upstream issue: https://github.com/soxoj/maigret/issues/679 - "test_asyncio_progressbar_executor" - ]; + disabledTests = + [ + # Tests require network access + "test_extract_ids_from_page" + "test_import_aiohttp_cookies" + "test_maigret_results" + "test_pdf_report" + "test_self_check_db_negative_enabled" + "test_self_check_db_positive_enable" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # AsyncioProgressbarExecutor is slower on darwin than it should be, + # Upstream issue: https://github.com/soxoj/maigret/issues/679 + "test_asyncio_progressbar_executor" + ]; pythonImportsCheck = [ "maigret" diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix index 77dacba2fca82..0f1f00427073f 100644 --- a/pkgs/tools/security/metasploit/gemset.nix +++ b/pkgs/tools/security/metasploit/gemset.nix @@ -1,737 +1,737 @@ { aarch64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c0hkbm94prkw0nb76l0il7fhz1xz5dkgzh6wwyrs88lwggv9avh"; type = "gem"; }; version = "2.1.0"; }; abbrev = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hj2qyx7rzpc7awhvqlm597x7qdxwi4kkml4aqnp5jylmsm4w6xd"; type = "gem"; }; version = "0.1.2"; }; actionpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19ywl4jp77b51c01hsyzwia093fnj73pw1ipgyj4pk3h2b9faj5n"; type = "gem"; }; version = "7.0.8.6"; }; actionview = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0girx71db1aq5b70ln3qq03z9d7xjdyp297v1a8rdal7k89y859c"; type = "gem"; }; version = "7.0.8.6"; }; activemodel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f6szahjsb4pr2xvlvk4kghk9291xh9c14s8cqwy6wwpm1vcglim"; type = "gem"; }; version = "7.0.8.6"; }; activerecord = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14qs1jc9hwnsm4dzvnai8b36bcq1d7rcqgjxy0dc6wza670lqapf"; type = "gem"; }; version = "7.0.8.6"; }; activesupport = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gj20cysajda05z3r7pl1g9y84nzsqak5dvk9nrz13jpy6297dj1"; type = "gem"; }; version = "7.0.8.6"; }; addressable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; afm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8"; type = "gem"; }; version = "0.2.2"; }; arel-helpers = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0agzw7ix33a8framb8mnmhwf9qm9bwrcmlk8mzzm0w37fmlnm167"; type = "gem"; }; version = "2.15.0"; }; Ascii85 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c62cx96r0v265mywnlik43qx0wf6bjbzl54qa47x6dzjg861mvk"; type = "gem"; }; version = "1.1.1"; }; aws-eventstream = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; version = "1.3.0"; }; aws-partitions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f2y7ycq7i3y7p5klsi3gk3p5r5p1vkq6w7dq4zk9grq2hw9f7cv"; type = "gem"; }; version = "1.999.0"; }; aws-sdk-core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvscjhxdyhlvk2rpbxdzqmyikcf64xavb35grk4dkh0pg390rk"; type = "gem"; }; version = "3.211.0"; }; aws-sdk-ec2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12lbxp1ccsd1d0v45c1rh7j2s2ajkl5iw0fpa66yghdpjvagxgk4"; type = "gem"; }; version = "1.486.0"; }; aws-sdk-ec2instanceconnect = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cjzjj3x5v0b99vasphw8hn61jnw8wx56qh9n1a269a4yahprr1l"; type = "gem"; }; version = "1.52.0"; }; aws-sdk-iam = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1abcvm6d3w23hg8wj6f16948aj91wliahjjwsbh69p3dryi9fh7f"; type = "gem"; }; version = "1.112.0"; }; aws-sdk-kms = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ppxhw2qyj69achpmksp1sh2y6k0x44928ln2am9pifx8b30ir9a"; type = "gem"; }; version = "1.95.0"; }; aws-sdk-s3 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jnf9k9d91ki3yvy12q4kph5wvd8l3ziwwh0qsmar5xhyb7zbwrz"; type = "gem"; }; version = "1.169.0"; }; aws-sdk-ssm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06cb5ibhwq7ri0g5mfmmvjapqvv7cblwa8i01k9ciisvqjkzbs3v"; type = "gem"; }; version = "1.183.0"; }; aws-sigv4 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fq3lbvkgm1vk5wa8l7vdnq3vjnlmsnyf4bbd0jq3qadyd9hf54a"; type = "gem"; }; version = "1.10.1"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bcrypt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444"; type = "gem"; }; version = "3.1.20"; }; bcrypt_pbkdf = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04rb3rp9bdxn1y3qiflfpj7ccwb8ghrfbydh5vfz1l9px3fpg41g"; type = "gem"; }; version = "1.1.1"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; bindata = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04y4zgh4bbcb8wmkxwfqg4saky1d1f3xw8z6yk543q13h8ky8rz5"; type = "gem"; }; version = "2.4.15"; }; bootsnap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c"; type = "gem"; }; version = "1.18.4"; }; bson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19gzm5prhbrv6ibyxi0czsm8fjsh0lrsxngfg0q0vzjjwfdd30ap"; type = "gem"; }; version = "5.0.1"; }; builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; version = "3.3.0"; }; chunky_png = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; cookiejar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1px0zlnlkwwp9prdkm2lamgy412y009646n2cgsa1xxsqk7nmc8i"; type = "gem"; }; version = "0.3.4"; }; crass = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; csv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b"; type = "gem"; }; version = "3.3.0"; }; daemons = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg"; type = "gem"; }; version = "1.4.1"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; version = "3.3.4"; }; dnsruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "066dpkgka17fkn5cv7sk2f4jmwb5d1jila1cnhm77cnd01k5mqcm"; type = "gem"; }; version = "1.72.2"; }; domain_name = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; version = "0.6.20240107"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; ed25519 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji"; type = "gem"; }; version = "1.3.0"; }; elftools = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y5ahqk24ngjiyfbj5xapxwfb34yslcpn4l0khdq4pkxkajgqilx"; type = "gem"; }; version = "1.3.1"; }; em-http-request = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1azx5rgm1zvx7391sfwcxzyccs46x495vb34ql2ch83f58mwgyqn"; type = "gem"; }; version = "1.1.7"; }; em-socksify = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vbl74x9m4hccmmhcnp36s50mn7d81annfj3fcqjdhdcm2khi3bx"; type = "gem"; }; version = "0.3.3"; }; erubi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; version = "1.13.0"; }; eventmachine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; faker = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z4vhl6lbd0la2j0ab05sz8wq5mqvpikzhjrc142z24x4zmgpl8s"; type = "gem"; }; version = "3.5.1"; }; faraday = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vn7jwss2v6jhnxvjsiwbs3irjwhbx9zxn4l6fhd4rkcfyxzdnw5"; type = "gem"; }; version = "2.7.11"; }; faraday-net_http = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; type = "gem"; }; version = "3.0.2"; }; faraday-retry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "023ncwlagnf2irx2ckyj1pg1f1x436jgr4a5y45mih298p8zwij1"; type = "gem"; }; version = "2.2.1"; }; faye-websocket = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01xkpv5b4fjc5n6n1fq6z1ris991av2fbadvs8r71i9r34b8g48h"; type = "gem"; }; version = "0.11.3"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; version = "1.16.3"; }; filesize = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17p7rf1x7h3ivaznb4n4kmxnnzj25zaviryqgn2n12v2kmibhp8g"; type = "gem"; }; version = "0.2.0"; }; getoptlong = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx"; type = "gem"; }; version = "0.2.1"; }; gssapi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; type = "gem"; }; version = "1.3.1"; }; gyoku = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q"; type = "gem"; }; version = "1.4.0"; }; hashery = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; type = "gem"; }; version = "2.1.2"; }; hrr_rb_ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dr6mv98ll0crdn2wm2yy9ywh130iljcsvnnvs6639k19qbfk7qf"; type = "gem"; }; version = "0.4.2"; }; hrr_rb_ssh-ed25519 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mfsvjcjmm63fwjf3zqkmg3cf55vx34vmvix0wj0ba4h9dzjq7p8"; type = "gem"; }; version = "0.4.2"; }; http-cookie = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lr2yk5g5vvf9nzlmkn3p7mhh9mn55gpdc7kl2w21xs46fgkjynb"; type = "gem"; }; version = "1.0.7"; }; "http_parser.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gj4fmls0mf52dlr928gaq0c0cb0m3aqa9kaa6l0ikl2zbqk42as"; type = "gem"; }; version = "0.8.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; io-console = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; version = "0.7.2"; }; irb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "158ca10kj3qqnql5g8f1g2arsnhgdl79mg74manpf8ldkwjjn3n8"; type = "gem"; }; version = "1.7.4"; }; jmespath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; version = "1.6.2"; }; jsobfu = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hchns89cfj0gggm2zbr7ghb630imxm2x2d21ffx2jlasn9xbkyk"; type = "gem"; }; version = "0.4.2"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pkcvzvarzs5y87srla1m6rgng8mm7y4gnshlpawddsci3rlhd7b"; type = "gem"; }; version = "2.7.5"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; logging = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s"; type = "gem"; }; version = "2.4.0"; }; loofah = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ppp2cgli5avzk0z3dwnah6y65ymyr793yja28p2fs9vrci7986h"; type = "gem"; }; version = "2.23.1"; }; metasm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dpjbkdvi4h6v0g01db7vlcsg15pfiyslkz3zd7wfk04yrc6g7wi"; type = "gem"; }; version = "1.0.5"; }; metasploit-concern = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bqil5zzak47zcvcndn90lvxq0rxqb63vm4md3h7l3920drwfg58"; type = "gem"; }; version = "5.0.3"; }; metasploit-credential = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vf7kj428pcak7zm22vmbmy09hkmcgp8fz855il9wg6cdi1zxlr6"; type = "gem"; }; version = "6.0.11"; }; metasploit-framework = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "b815ef9870c45e2f9d2e62475e1780ddb9bfb1d0"; @@ -742,1001 +742,1004 @@ version = "6.4.39"; }; metasploit-model = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vn50jnvdanmqbjm9xmp0i4xwzc9g3c6g2c4b59i2bz47kwp1pi7"; type = "gem"; }; version = "5.0.2"; }; metasploit-payloads = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13cm4pblldz1cl3cmvppkwsbv12b2a4kfl3r3kzfyjwrlhz121wn"; type = "gem"; }; version = "2.0.187"; }; metasploit_data_models = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gycp29xx68yyy0rynzd08zp7j0l3q8nqc2q9y3k67aqkf5b6pil"; type = "gem"; }; version = "6.0.5"; }; metasploit_payloads-mettle = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fsnr4i0660nhlkq9iyy5x214l2ds3akf6jnngf2hlp8j01w1x4w"; type = "gem"; }; version = "1.0.35"; }; method_source = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq"; type = "gem"; }; version = "1.1.0"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; mqtt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14iacsn0l8kl5pw9giaz2p3i06dwwj0mad9m0949bl5g8g35vsb3"; type = "gem"; }; version = "0.6.0"; }; msgpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jr9grsdnlb8wgd9by7mhsc9c1wixijh9an4m4yq1ph0jg26x9rk"; type = "gem"; }; version = "1.6.1"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; mustermann = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "123ycmq6pkivv29bqbv79jv2cs04xakzd0fz1lalgvfs5nxfky6i"; type = "gem"; }; version = "3.0.3"; }; mutex_m = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; version = "0.2.0"; }; nessus_rest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1allyrd4rll333zbmsi3hcyg6cw1dhc4bg347ibsw191nswnp8ci"; type = "gem"; }; version = "0.1.6"; }; net-imap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "182ap7y5ysmr1xqy23ygssz3as1wcy3r5qcdm1whd1n1yfc1aa5q"; type = "gem"; }; version = "0.5.0"; }; net-ldap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g9gz39bs2iy4ky4fhjphimqd9m9wdsaz50anxgwg3yjrff3famy"; type = "gem"; }; version = "0.19.0"; }; net-protocol = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-sftp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r33aa2d61hv1psm0l0mm6ik3ycsnq8symv7h84kpyf2b7493fv5"; type = "gem"; }; version = "4.0.0"; }; net-smtp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; version = "0.5.0"; }; net-ssh = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w1ypxa3n6mskkwb00b489314km19l61p5h3bar6zr8cng27c80p"; type = "gem"; }; version = "7.3.0"; }; network_interface = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hqkas4c809w2gnic1srhq5rd2hpsfnhmrvm1vkix8w775qql74z"; type = "gem"; }; version = "0.0.4"; }; nexpose = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jz5xiwiwagd663qdlfhmc9fm76x78cqhighmfivy6w5v0n4xyq0"; type = "gem"; }; version = "7.3.0"; }; nio4r = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a9www524fl1ykspznz54i0phfqya4x45hqaz67in9dvw1lfwpfr"; type = "gem"; }; version = "2.7.4"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; nori = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1"; type = "gem"; }; version = "2.7.1"; }; octokit = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15lvy06h276jryxg19258b2yqaykf0567sp0n16yipywhbp94860"; type = "gem"; }; version = "4.25.1"; }; openssl-ccm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mqr538wcfjc1q9qxsc2pz0s81kw1f3xk7k1qy903n5b3bh9vri3"; type = "gem"; }; version = "1.2.3"; }; openssl-cmac = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mml6105j6ryd9d019gbwzkdjmvycjlxxld0qzg9vs70f1qdihcc"; type = "gem"; }; version = "2.0.2"; }; openvas-omp = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14xf614vd76qjdjxjv14mmjar6s64fwp4cwb7bv5g1wc29srg28x"; type = "gem"; }; version = "0.0.4"; }; packetfu = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0crsc4mcikpc01d19ppryzwgvhk9hg9r73g5bwac32x979zwyks8"; type = "gem"; }; version = "2.0.0"; }; patch_finder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1md9scls55n1riw26vw1ak0ajq38dfygr36l0h00wqhv51cq745m"; type = "gem"; }; version = "1.0.2"; }; pcaprub = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ag6p7n5s1s3mcsqw8rzafz5dlanwwqfkh7sb44qlp0dq8bvh73v"; type = "gem"; }; version = "0.13.3"; }; pdf-reader = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n0pp7blk3np3fqsb54l34fsamrww80cp3dhlhskfayg7542mrv1"; type = "gem"; }; version = "2.12.0"; }; pg = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p2gqqrm895fzr9vi8d118zhql67bm8ydjvgqbq1crdnfggzn7kn"; type = "gem"; }; version = "1.5.9"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; puma = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gml1rixrfb0naciq3mrnqkpcvm9ahgps1c04hzxh4b801f69914"; type = "gem"; }; version = "6.4.3"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ax778fsfvlhj7c11n0d1wdcb8bxvkb190a9lha5d91biwzyx9g4"; type = "gem"; }; version = "2.2.10"; }; rack-protection = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; version = "3.2.0"; }; rack-test = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"; type = "gem"; }; version = "2.1.0"; }; rails-dom-testing = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; version = "2.2.0"; }; rails-html-sanitizer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"; type = "gem"; }; version = "1.6.0"; }; railties = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fcn0ix814074gqicc0k1178f7ahmysiv3pfq8g00phdwj0p3w0g"; type = "gem"; }; version = "7.0.8.6"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; rasn1 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07dvrv2s9hs2vcbr6lai8vj4vk2i3m4jf468hyvkp9k8xzjvc0fi"; type = "gem"; }; version = "0.13.0"; }; rb-readline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14w79a121czmvk1s953qfzww30mqjb2zc0k9qhi0ivxxk3hxg6wy"; type = "gem"; }; version = "0.5.5"; }; recog = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h10ahhirxwffsw0g7lyzj1wldna136z11iyskiwib1h9whqihc5"; type = "gem"; }; version = "3.1.11"; }; redcarpet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; type = "gem"; }; version = "3.6.0"; }; reline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rl1jmxs7pay58l7lkxkrn6nkdpk52k8rvnfwqsd1swjlxlwjq0n"; type = "gem"; }; version = "0.5.10"; }; rex-arch = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pl2kqqsy0gxwdlni1vr6hkqcjyncxnss5lrv35i3f0y5gnjf087"; type = "gem"; }; version = "0.1.16"; }; rex-bin_tools = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hdkjv9g04d9k6mq1j9fxg9l6ifzym5i204majhzb9hqkfgslw5p"; type = "gem"; }; version = "0.1.9"; }; rex-core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0468gxcwhzp5y7lahkf0cg4vyy01wb2fk6w1rx4fgh1l9330a64b"; type = "gem"; }; version = "0.1.32"; }; rex-encoder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rlpxmw4amqf04vn14my6aim5iya0wh5gpi1hrvnqq9xnhkpk2qs"; type = "gem"; }; version = "0.1.7"; }; rex-exploitation = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c4m82vgdp3zp7slcfsv0l30h4ij8fsvqv026xny2nxw514hxk0c"; type = "gem"; }; version = "0.1.40"; }; rex-java = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ynqlq1xqnw9asqnkszbjds972xm98fz92yq5ywrxz7p3x66ybbp"; type = "gem"; }; version = "0.1.7"; }; rex-mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gi2xidygk6j7zwml6225d221bc3s7n2if5g1v1w45ksl19499b3"; type = "gem"; }; version = "0.1.8"; }; rex-nop = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vavmdzv5aw20izhrbf2f180dwvrraw8i9bh4yz5gsapjizcqrhy"; type = "gem"; }; version = "0.1.3"; }; rex-ole = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vbiqg120gqd0kfa7kw2jg4jy4y2favsm6kqvysxfjfwp6vfycl6"; type = "gem"; }; version = "0.1.8"; }; rex-powershell = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p1m6hxmlfdiq2x5b5h54k5052si1ky8dh1r9kr9qlq38a94l2n4"; type = "gem"; }; version = "0.1.100"; }; rex-random_identifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bd7narnxbdadm61g22gvwfxq2cd38qk5kg0yjh7yfh1a1q6z53d"; type = "gem"; }; version = "0.1.13"; }; rex-registry = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sbcs0lkl8b57d5xdlfffrpwxpvvwfcfbgzqc9p7xgmqb1xl2s62"; type = "gem"; }; version = "0.1.5"; }; rex-rop_builder = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gbc9sssyzbq1s2nk0ajc9y0x4v10cp4za4f4gbssrjw4d3zf9dl"; type = "gem"; }; version = "0.1.5"; }; rex-socket = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qmj5pya6ssghi3dfdmrykkbazhqlhq86ahwijdvrfr2q3g76p86"; type = "gem"; }; version = "0.1.57"; }; rex-sslscan = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0plcz9jwpg1yw206ljky3mk6dk31j24jdmcpnky5k9m2npsp0jlf"; type = "gem"; }; version = "0.1.10"; }; rex-struct2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1p6afmicm1adlngp196604rrgb1nsly10y8nphva5h5vncismscz"; type = "gem"; }; version = "0.1.4"; }; rex-text = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01d0wp4m1qlrfccv5w64bzp04pw36sinvdzmjzvq30sykbdlgjsv"; type = "gem"; }; version = "0.2.59"; }; rex-zip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15jjb3ldndi9p5x7pb3dllkrm4cy3p7dccy4rxz0vh5m4vlqbhsd"; type = "gem"; }; version = "0.1.5"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rkelly-remix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g7hjl9nx7f953y7lncmfgp0xgxfxvgfm367q6da9niik6rp1y3j"; type = "gem"; }; version = "0.0.7"; }; ruby-macho = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0859xi0shidwb9cfbczxsk8qrbi3qkmkp9xzyca1xzp0gmzv7ni3"; type = "gem"; }; version = "4.1.0"; }; ruby-mysql = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g6wcnzqsbqg2q1lfbhlz4z9rq306az2xx8kk8dnr60dziy1a5b5"; type = "gem"; }; version = "4.1.0"; }; ruby-rc4 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; type = "gem"; }; version = "0.1.5"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; ruby_smb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vj22vmrygib1maa8bwh4xfqnvamh5pk39cffqv1mp8q5gv26vc7"; type = "gem"; }; version = "3.3.11"; }; rubyntlm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7"; type = "gem"; }; version = "0.6.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; sawyer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; type = "gem"; }; version = "0.9.2"; }; simpleidn = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a9c1mdy12y81ck7mcn9f9i2s2wwzjh1nr92ps354q517zq9dkh8"; type = "gem"; }; version = "0.2.3"; }; sinatra = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01wq20aqk5kfggq3wagx5xr1cz0x08lg6dxbk9yhd1sf0d6pywkf"; type = "gem"; }; version = "3.2.0"; }; sqlite3 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "073hd24qwx9j26cqbk0jma0kiajjv9fb8swv9rnz8j4mf0ygcxzs"; type = "gem"; }; version = "1.7.3"; }; sshkey = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5"; type = "gem"; }; version = "3.0.0"; }; strptime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ycs0xz58kymf7yp4h56f0nid2z7g3s18dj7pa3p790pfzzpgvcq"; type = "gem"; }; version = "0.2.5"; }; swagger-blocks = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bycg5si4pr69b0qqiqzhwcich90mvmn0v0gs39slvxg5nv3h28k"; type = "gem"; }; version = "3.0.0"; }; thin = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08g1yq6zzvgndj8fd98ah7pp8g2diw28p8bfjgv7rvjvp8d2am8w"; type = "gem"; }; version = "1.8.2"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; version = "1.3.2"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; version = "0.4.1"; }; ttfunk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ji0kn8jkf1rpskv3ijzxvqwixg4p6sk8kg0vmwyjinci7jcgjx7"; type = "gem"; }; version = "1.8.0"; }; tzinfo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; tzinfo-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cw6xv9a525mcs7202bq9768aic1dwx353prm1bss4fp2nq24a3j"; type = "gem"; }; version = "1.2024.2"; }; unix-crypt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11p5ij6iasr46fbzz0z3jibaiwf242bq8xwav33rljwcwh85sy5y"; type = "gem"; }; version = "1.3.1"; }; warden = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l7gl7vms023w4clg02pm4ky9j12la2vzsixi2xrv9imbn44ys26"; type = "gem"; }; version = "1.2.9"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; type = "gem"; }; version = "1.8.2"; }; websocket-driver = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n"; type = "gem"; }; version = "0.7.6"; }; websocket-extensions = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; type = "gem"; }; version = "0.1.5"; }; win32api = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1liryy0pz0gpw5sadbb9xwaflay272b8bwv4pclh6wkhldnh7wg7"; type = "gem"; }; version = "0.1.0"; }; windows_error = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1825v7hvcl0xss6scyfv76i0cs0kvj72wy20kn7xqylw9avjga2r"; type = "gem"; }; version = "0.1.5"; }; winrm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01jxpshw5kx5ha21ymaaj14vibv5bvm0dd80ccc6xl3jaxy7cszg"; type = "gem"; }; version = "2.3.9"; }; xdr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vsimn1vha6qjh1zbkvma5biwlh3hzc6s24ksw7vsxg0z27m8bmz"; type = "gem"; }; version = "3.0.3"; }; xmlrpc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fwfnccagsjrbvrav5nbk3zracj9zncr7i375nn20jd4cfy4cggc"; type = "gem"; }; version = "0.3.3"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10cpfdswql21vildiin0q7drg5zfzf2sahnk9hv3nyzzjqwj2bdx"; type = "gem"; }; diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix index edbdfdc711c68..1a59c38496f88 100644 --- a/pkgs/tools/security/mkpasswd/default.nix +++ b/pkgs/tools/security/mkpasswd/default.nix @@ -1,10 +1,20 @@ -{ lib, stdenv, whois, libxcrypt, perl, pkg-config }: +{ + lib, + stdenv, + whois, + libxcrypt, + perl, + pkg-config, +}: stdenv.mkDerivation { pname = "mkpasswd"; inherit (whois) version src patches; - nativeBuildInputs = [ perl pkg-config ]; + nativeBuildInputs = [ + perl + pkg-config + ]; buildInputs = [ libxcrypt ]; inherit (whois) preConfigure; diff --git a/pkgs/tools/security/netexec/default.nix b/pkgs/tools/security/netexec/default.nix index 06163309b11b1..81659210895c9 100644 --- a/pkgs/tools/security/netexec/default.nix +++ b/pkgs/tools/security/netexec/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, python3 +{ + lib, + stdenv, + fetchFromGitHub, + python3, }: let python = python3.override { diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix index 018a186563816..5739ffd33ab07 100644 --- a/pkgs/tools/security/nitrokey-app/default.nix +++ b/pkgs/tools/security/nitrokey-app/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, cmake -, fetchFromGitHub -, pkg-config -, wrapQtAppsHook -, libnitrokey -, cppcodec -, qttools +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + pkg-config, + wrapQtAppsHook, + libnitrokey, + cppcodec, + qttools, }: stdenv.mkDerivation rec { @@ -48,6 +49,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Nitrokey/nitrokey-app"; changelog = "https://github.com/Nitrokey/nitrokey-app/releases/tag/v${version}"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ kaiha panicgh ]; + maintainers = with maintainers; [ + kaiha + panicgh + ]; }; } diff --git a/pkgs/tools/security/nsjail/default.nix b/pkgs/tools/security/nsjail/default.nix index dbf62872d21fa..2e6665c7204ad 100644 --- a/pkgs/tools/security/nsjail/default.nix +++ b/pkgs/tools/security/nsjail/default.nix @@ -1,5 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, bison, flex, libtool, pkg-config, which -, libnl, protobuf, protobufc, shadow, installShellFiles +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + bison, + flex, + libtool, + pkg-config, + which, + libnl, + protobuf, + protobufc, + shadow, + installShellFiles, }: stdenv.mkDerivation rec { @@ -7,15 +20,27 @@ stdenv.mkDerivation rec { version = "3.4"; src = fetchFromGitHub { - owner = "google"; - repo = "nsjail"; - rev = version; + owner = "google"; + repo = "nsjail"; + rev = version; fetchSubmodules = true; - hash = "sha256-/K+qJV5Dq+my45Cpw6czdsWLtO9lnJwZTsOIRt4Iijk="; + hash = "sha256-/K+qJV5Dq+my45Cpw6czdsWLtO9lnJwZTsOIRt4Iijk="; }; - nativeBuildInputs = [ autoconf bison flex installShellFiles libtool pkg-config which ]; - buildInputs = [ libnl protobuf protobufc ]; + nativeBuildInputs = [ + autoconf + bison + flex + installShellFiles + libtool + pkg-config + which + ]; + buildInputs = [ + libnl + protobuf + protobufc + ]; enableParallelBuilding = true; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error" ]; @@ -33,11 +58,15 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Light-weight process isolation tool, making use of Linux namespaces and seccomp-bpf syscall filters"; - homepage = "https://nsjail.dev/"; - changelog = "https://github.com/google/nsjail/releases/tag/${version}"; - license = licenses.asl20; - maintainers = with maintainers; [ arturcygan bosu c0bw3b ]; - platforms = platforms.linux; + homepage = "https://nsjail.dev/"; + changelog = "https://github.com/google/nsjail/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ + arturcygan + bosu + c0bw3b + ]; + platforms = platforms.linux; mainProgram = "nsjail"; }; } diff --git a/pkgs/tools/security/onlykey/default.nix b/pkgs/tools/security/onlykey/default.nix index a9337be7ac050..1c15e0186ba1b 100644 --- a/pkgs/tools/security/onlykey/default.nix +++ b/pkgs/tools/security/onlykey/default.nix @@ -1,11 +1,12 @@ -{ lib -, node_webkit -, pkgs -, copyDesktopItems -, makeDesktopItem -, stdenv -, writeShellScript -, wrapGAppsHook3 +{ + lib, + node_webkit, + pkgs, + copyDesktopItems, + makeDesktopItem, + stdenv, + writeShellScript, + wrapGAppsHook3, }: let @@ -53,7 +54,10 @@ stdenv.mkDerivation { pname = "${onlykey.packageName}"; inherit (onlykey) version; dontUnpack = true; - nativeBuildInputs = [ wrapGAppsHook3 copyDesktopItems ]; + nativeBuildInputs = [ + wrapGAppsHook3 + copyDesktopItems + ]; desktopItems = [ (makeDesktopItem { name = onlykey.packageName; diff --git a/pkgs/tools/security/onlykey/node-packages.nix b/pkgs/tools/security/onlykey/node-packages.nix index 001ff6916708b..ffc87f88fc94b 100644 --- a/pkgs/tools/security/onlykey/node-packages.nix +++ b/pkgs/tools/security/onlykey/node-packages.nix @@ -1,6 +1,14 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}: +{ + nodeEnv, + fetchurl, + fetchgit, + nix-gitignore, + stdenv, + lib, + globalBuildInputs ? [ ], +}: let sources = { @@ -5745,18 +5753,24 @@ in sources."@eslint-community/regexpp-4.5.1" sources."@eslint/eslintrc-2.0.3" sources."@eslint/js-8.42.0" - (sources."@gulp-sourcemaps/identity-map-2.0.1" // { - dependencies = [ - sources."acorn-6.4.2" - sources."source-map-0.6.1" - sources."through2-3.0.2" - ]; - }) - (sources."@gulp-sourcemaps/map-sources-1.0.0" // { - dependencies = [ - sources."normalize-path-2.1.1" - ]; - }) + ( + sources."@gulp-sourcemaps/identity-map-2.0.1" + // { + dependencies = [ + sources."acorn-6.4.2" + sources."source-map-0.6.1" + sources."through2-3.0.2" + ]; + } + ) + ( + sources."@gulp-sourcemaps/map-sources-1.0.0" + // { + dependencies = [ + sources."normalize-path-2.1.1" + ]; + } + ) sources."@humanwhocodes/config-array-0.11.10" sources."@humanwhocodes/module-importer-1.0.1" sources."@humanwhocodes/object-schema-1.2.1" @@ -5772,11 +5786,14 @@ in sources."ansi-regex-2.1.1" sources."ansi-styles-2.2.1" sources."ansi-wrap-0.1.0" - (sources."anymatch-2.0.0" // { - dependencies = [ - sources."normalize-path-2.1.1" - ]; - }) + ( + sources."anymatch-2.0.0" + // { + dependencies = [ + sources."normalize-path-2.1.1" + ]; + } + ) sources."append-buffer-1.0.2" sources."applescript-1.0.0" sources."archy-1.0.0" @@ -5787,22 +5804,31 @@ in sources."arr-map-2.0.2" sources."arr-union-3.1.0" sources."array-each-1.0.1" - (sources."array-initial-1.1.0" // { - dependencies = [ - sources."is-number-4.0.0" - ]; - }) - (sources."array-last-1.3.0" // { - dependencies = [ - sources."is-number-4.0.0" - ]; - }) + ( + sources."array-initial-1.1.0" + // { + dependencies = [ + sources."is-number-4.0.0" + ]; + } + ) + ( + sources."array-last-1.3.0" + // { + dependencies = [ + sources."is-number-4.0.0" + ]; + } + ) sources."array-slice-1.1.0" - (sources."array-sort-1.0.0" // { - dependencies = [ - sources."kind-of-5.1.0" - ]; - }) + ( + sources."array-sort-1.0.0" + // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + } + ) sources."array-unique-0.3.2" sources."asn1-0.2.6" sources."assert-plus-1.0.0" @@ -5818,11 +5844,14 @@ in sources."aws4-1.12.0" sources."bach-1.2.0" sources."balanced-match-1.0.2" - (sources."base-0.11.2" // { - dependencies = [ - sources."define-property-1.0.0" - ]; - }) + ( + sources."base-0.11.2" + // { + dependencies = [ + sources."define-property-1.0.0" + ]; + } + ) sources."base64-js-1.5.1" sources."bcrypt-pbkdf-1.0.2" sources."binary-0.3.0" @@ -5830,11 +5859,14 @@ in sources."bindings-1.5.0" sources."bl-1.2.3" sources."brace-expansion-1.1.11" - (sources."braces-2.3.2" // { - dependencies = [ - sources."extend-shallow-2.0.1" - ]; - }) + ( + sources."braces-2.3.2" + // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + } + ) sources."browser-stdout-1.3.1" sources."buffer-5.7.1" sources."buffer-alloc-1.2.0" @@ -5857,32 +5889,47 @@ in sources."chainsaw-0.1.0" sources."chalk-1.1.3" sources."check-error-1.0.2" - (sources."chokidar-2.1.8" // { - dependencies = [ - (sources."glob-parent-3.1.0" // { - dependencies = [ - sources."is-glob-3.1.0" - ]; - }) - ]; - }) - (sources."class-utils-0.3.6" // { - dependencies = [ - sources."define-property-0.2.5" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."kind-of-5.1.0" - ]; - }) + ( + sources."chokidar-2.1.8" + // { + dependencies = [ + ( + sources."glob-parent-3.1.0" + // { + dependencies = [ + sources."is-glob-3.1.0" + ]; + } + ) + ]; + } + ) + ( + sources."class-utils-0.3.6" + // { + dependencies = [ + sources."define-property-0.2.5" + ( + sources."is-accessor-descriptor-0.1.6" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + ( + sources."is-data-descriptor-0.1.4" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + } + ) sources."cliui-3.2.0" sources."clone-2.1.2" sources."clone-buffer-1.0.0" @@ -5902,58 +5949,79 @@ in sources."config-chain-1.1.13" sources."convert-source-map-1.9.0" sources."copy-descriptor-0.1.1" - (sources."copy-props-2.0.5" // { - dependencies = [ - sources."is-plain-object-5.0.0" - ]; - }) + ( + sources."copy-props-2.0.5" + // { + dependencies = [ + sources."is-plain-object-5.0.0" + ]; + } + ) sources."core-util-is-1.0.3" sources."create-error-class-3.0.2" sources."cross-spawn-7.0.3" - (sources."css-3.0.0" // { - dependencies = [ - sources."source-map-0.6.1" - sources."source-map-resolve-0.6.0" - ]; - }) + ( + sources."css-3.0.0" + // { + dependencies = [ + sources."source-map-0.6.1" + sources."source-map-resolve-0.6.0" + ]; + } + ) sources."d-1.0.1" sources."dashdash-1.14.1" sources."debounce-1.2.1" sources."debug-4.3.4" - (sources."debug-fabulous-1.1.0" // { - dependencies = [ - sources."debug-3.2.7" - ]; - }) + ( + sources."debug-fabulous-1.1.0" + // { + dependencies = [ + sources."debug-3.2.7" + ]; + } + ) sources."decamelize-1.2.0" sources."decode-uri-component-0.2.2" sources."decompress-4.2.1" sources."decompress-tar-4.1.1" - (sources."decompress-tarbz2-4.1.1" // { - dependencies = [ - sources."file-type-6.2.0" - ]; - }) + ( + sources."decompress-tarbz2-4.1.1" + // { + dependencies = [ + sources."file-type-6.2.0" + ]; + } + ) sources."decompress-targz-4.1.1" - (sources."decompress-unzip-4.0.1" // { - dependencies = [ - sources."file-type-3.9.0" - ]; - }) - (sources."decompress-zip-0.3.3" // { - dependencies = [ - sources."isarray-0.0.1" - sources."readable-stream-1.1.14" - sources."string_decoder-0.10.31" - ]; - }) + ( + sources."decompress-unzip-4.0.1" + // { + dependencies = [ + sources."file-type-3.9.0" + ]; + } + ) + ( + sources."decompress-zip-0.3.3" + // { + dependencies = [ + sources."isarray-0.0.1" + sources."readable-stream-1.1.14" + sources."string_decoder-0.10.31" + ]; + } + ) sources."deep-eql-4.1.3" sources."deep-is-0.1.4" - (sources."default-compare-1.0.0" // { - dependencies = [ - sources."kind-of-5.1.0" - ]; - }) + ( + sources."default-compare-1.0.0" + // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + } + ) sources."default-resolution-2.0.0" sources."define-properties-1.2.0" sources."define-property-2.0.2" @@ -5962,11 +6030,14 @@ in sources."detect-newline-2.1.0" sources."diff-5.0.0" sources."doctrine-3.0.0" - (sources."download-5.0.3" // { - dependencies = [ - sources."get-stream-3.0.0" - ]; - }) + ( + sources."download-5.0.3" + // { + dependencies = [ + sources."get-stream-3.0.0" + ]; + } + ) sources."duplexer3-0.1.5" sources."duplexify-3.7.1" sources."each-props-1.3.2" @@ -5980,16 +6051,19 @@ in sources."es6-weak-map-2.0.3" sources."escalade-3.1.1" sources."escape-string-regexp-1.0.5" - (sources."eslint-8.42.0" // { - dependencies = [ - sources."ansi-regex-5.0.1" - sources."ansi-styles-4.3.0" - sources."chalk-4.1.2" - sources."escape-string-regexp-4.0.0" - sources."strip-ansi-6.0.1" - sources."supports-color-7.2.0" - ]; - }) + ( + sources."eslint-8.42.0" + // { + dependencies = [ + sources."ansi-regex-5.0.1" + sources."ansi-styles-4.3.0" + sources."chalk-4.1.2" + sources."escape-string-regexp-4.0.0" + sources."strip-ansi-6.0.1" + sources."supports-color-7.2.0" + ]; + } + ) sources."eslint-scope-7.2.0" sources."eslint-visitor-keys-3.4.1" sources."espree-9.5.2" @@ -5998,52 +6072,73 @@ in sources."estraverse-5.3.0" sources."esutils-2.0.3" sources."event-emitter-0.3.5" - (sources."expand-brackets-2.1.4" // { - dependencies = [ - sources."debug-2.6.9" - sources."define-property-0.2.5" - sources."extend-shallow-2.0.1" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."kind-of-5.1.0" - sources."ms-2.0.0" - ]; - }) - (sources."expand-range-1.8.2" // { - dependencies = [ - sources."fill-range-2.2.4" - sources."is-number-2.1.0" - sources."isobject-2.1.0" - sources."kind-of-3.2.2" - ]; - }) + ( + sources."expand-brackets-2.1.4" + // { + dependencies = [ + sources."debug-2.6.9" + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + ( + sources."is-accessor-descriptor-0.1.6" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + ( + sources."is-data-descriptor-0.1.4" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + sources."ms-2.0.0" + ]; + } + ) + ( + sources."expand-range-1.8.2" + // { + dependencies = [ + sources."fill-range-2.2.4" + sources."is-number-2.1.0" + sources."isobject-2.1.0" + sources."kind-of-3.2.2" + ]; + } + ) sources."expand-tilde-2.0.2" - (sources."ext-1.7.0" // { - dependencies = [ - sources."type-2.7.2" - ]; - }) + ( + sources."ext-1.7.0" + // { + dependencies = [ + sources."type-2.7.2" + ]; + } + ) sources."extend-3.0.2" - (sources."extend-shallow-3.0.2" // { - dependencies = [ - sources."is-extendable-1.0.1" - ]; - }) - (sources."extglob-2.0.4" // { - dependencies = [ - sources."define-property-1.0.0" - sources."extend-shallow-2.0.1" - ]; - }) + ( + sources."extend-shallow-3.0.2" + // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + } + ) + ( + sources."extglob-2.0.4" + // { + dependencies = [ + sources."define-property-1.0.0" + sources."extend-shallow-2.0.1" + ]; + } + ) sources."extsprintf-1.3.0" sources."fancy-log-1.3.3" sources."fast-deep-equal-3.1.3" @@ -6058,21 +6153,27 @@ in sources."filename-regex-2.0.1" sources."filename-reserved-regex-2.0.0" sources."filenamify-2.1.0" - (sources."fill-range-4.0.0" // { - dependencies = [ - sources."extend-shallow-2.0.1" - ]; - }) + ( + sources."fill-range-4.0.0" + // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + } + ) sources."find-up-5.0.0" sources."findup-sync-3.0.0" sources."fined-1.2.0" sources."flagged-respawn-1.0.1" sources."flat-5.0.2" - (sources."flat-cache-3.0.4" // { - dependencies = [ - sources."rimraf-3.0.2" - ]; - }) + ( + sources."flat-cache-3.0.4" + // { + dependencies = [ + sources."rimraf-3.0.2" + ]; + } + ) sources."flatted-3.2.7" sources."flush-write-stream-1.1.1" sources."for-in-1.0.2" @@ -6082,12 +6183,15 @@ in sources."fragment-cache-0.2.1" sources."fs-constants-1.0.0" sources."fs-extra-7.0.1" - (sources."fs-jetpack-5.1.0" // { - dependencies = [ - sources."brace-expansion-2.0.1" - sources."minimatch-5.1.6" - ]; - }) + ( + sources."fs-jetpack-5.1.0" + // { + dependencies = [ + sources."brace-expansion-2.0.1" + sources."minimatch-5.1.6" + ]; + } + ) sources."fs-mkdirp-stream-1.0.0" sources."fs.realpath-1.0.0" sources."fsevents-1.2.13" @@ -6100,49 +6204,67 @@ in sources."get-value-2.0.6" sources."getpass-0.1.7" sources."glob-7.2.3" - (sources."glob-base-0.3.0" // { - dependencies = [ - sources."glob-parent-2.0.0" - sources."is-extglob-1.0.0" - sources."is-glob-2.0.1" - ]; - }) + ( + sources."glob-base-0.3.0" + // { + dependencies = [ + sources."glob-parent-2.0.0" + sources."is-extglob-1.0.0" + sources."is-glob-2.0.1" + ]; + } + ) sources."glob-parent-6.0.2" - (sources."glob-stream-6.1.0" // { - dependencies = [ - sources."glob-parent-3.1.0" - sources."is-glob-3.1.0" - ]; - }) + ( + sources."glob-stream-6.1.0" + // { + dependencies = [ + sources."glob-parent-3.1.0" + sources."is-glob-3.1.0" + ]; + } + ) sources."glob-watcher-5.0.5" sources."global-modules-1.0.0" - (sources."global-prefix-1.0.2" // { - dependencies = [ - sources."which-1.3.1" - ]; - }) + ( + sources."global-prefix-1.0.2" + // { + dependencies = [ + sources."which-1.3.1" + ]; + } + ) sources."globals-13.20.0" sources."glogg-1.0.2" - (sources."got-6.7.1" // { - dependencies = [ - sources."get-stream-3.0.0" - ]; - }) + ( + sources."got-6.7.1" + // { + dependencies = [ + sources."get-stream-3.0.0" + ]; + } + ) sources."graceful-fs-4.2.11" sources."graphemer-1.4.0" sources."gulp-4.0.2" - (sources."gulp-cli-2.3.0" // { - dependencies = [ - sources."camelcase-3.0.0" - sources."yargs-7.1.2" - ]; - }) - (sources."gulp-sourcemaps-3.0.0" // { - dependencies = [ - sources."acorn-6.4.2" - sources."source-map-0.6.1" - ]; - }) + ( + sources."gulp-cli-2.3.0" + // { + dependencies = [ + sources."camelcase-3.0.0" + sources."yargs-7.1.2" + ]; + } + ) + ( + sources."gulp-sourcemaps-3.0.0" + // { + dependencies = [ + sources."acorn-6.4.2" + sources."source-map-0.6.1" + ]; + } + ) sources."gulplog-1.0.0" sources."har-schema-2.0.0" sources."har-validator-5.1.5" @@ -6155,11 +6277,14 @@ in sources."has-symbols-1.0.3" sources."has-to-string-tag-x-1.4.1" sources."has-value-1.0.0" - (sources."has-values-1.0.0" // { - dependencies = [ - sources."kind-of-4.0.0" - ]; - }) + ( + sources."has-values-1.0.0" + // { + dependencies = [ + sources."kind-of-4.0.0" + ]; + } + ) sources."he-1.2.0" sources."homedir-polyfill-1.0.3" sources."hosted-git-info-2.8.9" @@ -6190,11 +6315,14 @@ in sources."is-glob-4.0.3" sources."is-natural-number-4.0.1" sources."is-negated-glob-1.0.0" - (sources."is-number-3.0.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) + ( + sources."is-number-3.0.0" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) sources."is-object-1.0.2" sources."is-path-inside-3.0.3" sources."is-plain-obj-2.1.0" @@ -6240,30 +6368,39 @@ in sources."load-json-file-1.1.0" sources."locate-path-6.0.0" sources."lodash.merge-4.6.2" - (sources."log-symbols-4.1.0" // { - dependencies = [ - sources."ansi-styles-4.3.0" - sources."chalk-4.1.2" - sources."supports-color-7.2.0" - ]; - }) + ( + sources."log-symbols-4.1.0" + // { + dependencies = [ + sources."ansi-styles-4.3.0" + sources."chalk-4.1.2" + sources."supports-color-7.2.0" + ]; + } + ) sources."loupe-2.3.6" sources."lowercase-keys-1.0.1" sources."lru-queue-0.1.0" - (sources."make-dir-1.3.0" // { - dependencies = [ - sources."pify-3.0.0" - ]; - }) + ( + sources."make-dir-1.3.0" + // { + dependencies = [ + sources."pify-3.0.0" + ]; + } + ) sources."make-iterator-1.0.1" sources."map-cache-0.2.2" sources."map-visit-1.0.0" - (sources."matchdep-2.0.0" // { - dependencies = [ - sources."findup-sync-2.0.0" - sources."is-glob-3.1.0" - ]; - }) + ( + sources."matchdep-2.0.0" + // { + dependencies = [ + sources."findup-sync-2.0.0" + sources."is-glob-3.1.0" + ]; + } + ) sources."math-random-1.0.4" sources."memoizee-0.4.15" sources."merge-1.2.1" @@ -6272,50 +6409,59 @@ in sources."mime-types-2.1.35" sources."minimatch-3.1.2" sources."minimist-1.2.8" - (sources."mixin-deep-1.3.2" // { - dependencies = [ - sources."is-extendable-1.0.1" - ]; - }) + ( + sources."mixin-deep-1.3.2" + // { + dependencies = [ + sources."is-extendable-1.0.1" + ]; + } + ) sources."mkdirp-0.5.6" sources."mkpath-0.1.0" - (sources."mocha-10.2.0" // { - dependencies = [ - sources."ansi-colors-4.1.1" - sources."ansi-regex-5.0.1" - sources."ansi-styles-4.3.0" - sources."anymatch-3.1.3" - sources."binary-extensions-2.2.0" - sources."brace-expansion-2.0.1" - sources."braces-3.0.2" - sources."chokidar-3.5.3" - sources."cliui-7.0.4" - sources."escape-string-regexp-4.0.0" - sources."fill-range-7.0.1" - sources."fsevents-2.3.2" - sources."get-caller-file-2.0.5" - (sources."glob-7.2.0" // { - dependencies = [ - sources."minimatch-3.1.2" - ]; - }) - sources."glob-parent-5.1.2" - sources."is-binary-path-2.1.0" - sources."is-fullwidth-code-point-3.0.0" - sources."is-number-7.0.0" - sources."minimatch-5.0.1" - sources."ms-2.1.3" - sources."readdirp-3.6.0" - sources."string-width-4.2.3" - sources."strip-ansi-6.0.1" - sources."supports-color-8.1.1" - sources."to-regex-range-5.0.1" - sources."wrap-ansi-7.0.0" - sources."y18n-5.0.8" - sources."yargs-16.2.0" - sources."yargs-parser-20.2.4" - ]; - }) + ( + sources."mocha-10.2.0" + // { + dependencies = [ + sources."ansi-colors-4.1.1" + sources."ansi-regex-5.0.1" + sources."ansi-styles-4.3.0" + sources."anymatch-3.1.3" + sources."binary-extensions-2.2.0" + sources."brace-expansion-2.0.1" + sources."braces-3.0.2" + sources."chokidar-3.5.3" + sources."cliui-7.0.4" + sources."escape-string-regexp-4.0.0" + sources."fill-range-7.0.1" + sources."fsevents-2.3.2" + sources."get-caller-file-2.0.5" + ( + sources."glob-7.2.0" + // { + dependencies = [ + sources."minimatch-3.1.2" + ]; + } + ) + sources."glob-parent-5.1.2" + sources."is-binary-path-2.1.0" + sources."is-fullwidth-code-point-3.0.0" + sources."is-number-7.0.0" + sources."minimatch-5.0.1" + sources."ms-2.1.3" + sources."readdirp-3.6.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + sources."supports-color-8.1.1" + sources."to-regex-range-5.0.1" + sources."wrap-ansi-7.0.0" + sources."y18n-5.0.8" + sources."yargs-16.2.0" + sources."yargs-parser-20.2.4" + ]; + } + ) sources."ms-2.1.2" sources."mute-stdout-1.0.1" sources."nan-2.17.0" @@ -6328,60 +6474,78 @@ in sources."normalize-package-data-2.5.0" sources."normalize-path-3.0.0" sources."now-and-later-2.0.1" - (sources."npm-conf-1.1.3" // { - dependencies = [ - sources."pify-3.0.0" - ]; - }) + ( + sources."npm-conf-1.1.3" + // { + dependencies = [ + sources."pify-3.0.0" + ]; + } + ) sources."number-is-nan-1.0.1" - (sources."nw-0.71.1" // { - dependencies = [ - sources."yargs-3.32.0" - ]; - }) + ( + sources."nw-0.71.1" + // { + dependencies = [ + sources."yargs-3.32.0" + ]; + } + ) sources."nw-autoupdater-1.1.11" - (sources."nw-dev-3.0.1" // { - dependencies = [ - sources."anymatch-1.3.2" - sources."arr-diff-2.0.0" - sources."array-unique-0.2.1" - sources."braces-1.8.5" - sources."chokidar-1.7.0" - sources."expand-brackets-0.1.5" - sources."extglob-0.3.2" - sources."glob-parent-2.0.0" - sources."is-extglob-1.0.0" - sources."is-glob-2.0.1" - sources."kind-of-3.2.2" - sources."micromatch-2.3.11" - sources."normalize-path-2.1.1" - ]; - }) + ( + sources."nw-dev-3.0.1" + // { + dependencies = [ + sources."anymatch-1.3.2" + sources."arr-diff-2.0.0" + sources."array-unique-0.2.1" + sources."braces-1.8.5" + sources."chokidar-1.7.0" + sources."expand-brackets-0.1.5" + sources."extglob-0.3.2" + sources."glob-parent-2.0.0" + sources."is-extglob-1.0.0" + sources."is-glob-2.0.1" + sources."kind-of-3.2.2" + sources."micromatch-2.3.11" + sources."normalize-path-2.1.1" + ]; + } + ) sources."oauth-sign-0.9.0" sources."object-assign-4.1.1" - (sources."object-copy-0.1.0" // { - dependencies = [ - sources."define-property-0.2.5" - sources."is-accessor-descriptor-0.1.6" - sources."is-data-descriptor-0.1.4" - (sources."is-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-5.1.0" - ]; - }) - sources."kind-of-3.2.2" - ]; - }) + ( + sources."object-copy-0.1.0" + // { + dependencies = [ + sources."define-property-0.2.5" + sources."is-accessor-descriptor-0.1.6" + sources."is-data-descriptor-0.1.4" + ( + sources."is-descriptor-0.1.6" + // { + dependencies = [ + sources."kind-of-5.1.0" + ]; + } + ) + sources."kind-of-3.2.2" + ]; + } + ) sources."object-keys-1.1.1" sources."object-visit-1.0.1" sources."object.assign-4.1.4" sources."object.defaults-1.1.0" sources."object.map-1.0.1" - (sources."object.omit-2.0.1" // { - dependencies = [ - sources."for-own-0.1.5" - ]; - }) + ( + sources."object.omit-2.0.1" + // { + dependencies = [ + sources."for-own-0.1.5" + ]; + } + ) sources."object.pick-1.3.0" sources."object.reduce-1.0.1" sources."once-1.4.0" @@ -6393,12 +6557,15 @@ in sources."pako-1.0.11" sources."parent-module-1.0.1" sources."parse-filepath-1.0.2" - (sources."parse-glob-3.0.4" // { - dependencies = [ - sources."is-extglob-1.0.0" - sources."is-glob-2.0.1" - ]; - }) + ( + sources."parse-glob-3.0.4" + // { + dependencies = [ + sources."is-extglob-1.0.0" + sources."is-glob-2.0.1" + ]; + } + ) sources."parse-json-2.2.0" sources."parse-node-version-1.0.1" sources."parse-passwd-1.0.0" @@ -6420,11 +6587,14 @@ in sources."pinkie-2.0.4" sources."pinkie-promise-2.0.1" sources."posix-character-classes-0.1.1" - (sources."postcss-7.0.39" // { - dependencies = [ - sources."source-map-0.6.1" - ]; - }) + ( + sources."postcss-7.0.39" + // { + dependencies = [ + sources."source-map-0.6.1" + ]; + } + ) sources."prelude-ls-1.2.1" sources."prepend-http-1.0.4" sources."preserve-0.2.0" @@ -6439,24 +6609,33 @@ in sources."q-1.5.1" sources."qs-6.5.3" sources."queue-microtask-1.2.3" - (sources."randomatic-3.1.1" // { - dependencies = [ - sources."is-number-4.0.0" - ]; - }) + ( + sources."randomatic-3.1.1" + // { + dependencies = [ + sources."is-number-4.0.0" + ]; + } + ) sources."randombytes-2.1.0" sources."read-pkg-1.1.0" - (sources."read-pkg-up-1.0.1" // { - dependencies = [ - sources."find-up-1.1.2" - sources."path-exists-2.1.0" - ]; - }) - (sources."readable-stream-2.3.8" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) + ( + sources."read-pkg-up-1.0.1" + // { + dependencies = [ + sources."find-up-1.1.2" + sources."path-exists-2.1.0" + ]; + } + ) + ( + sources."readable-stream-2.3.8" + // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + } + ) sources."readdirp-2.2.1" sources."rechoir-0.6.2" sources."regex-cache-0.4.4" @@ -6489,44 +6668,62 @@ in sources."semver-greatest-satisfied-range-1.1.0" sources."serialize-javascript-6.0.0" sources."set-blocking-2.0.0" - (sources."set-value-2.0.1" // { - dependencies = [ - sources."extend-shallow-2.0.1" - ]; - }) + ( + sources."set-value-2.0.1" + // { + dependencies = [ + sources."extend-shallow-2.0.1" + ]; + } + ) sources."setimmediate-1.0.5" sources."shebang-command-2.0.0" sources."shebang-regex-3.0.0" - (sources."snapdragon-0.8.2" // { - dependencies = [ - sources."debug-2.6.9" - sources."define-property-0.2.5" - sources."extend-shallow-2.0.1" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."kind-of-5.1.0" - sources."ms-2.0.0" - ]; - }) - (sources."snapdragon-node-2.1.1" // { - dependencies = [ - sources."define-property-1.0.0" - ]; - }) - (sources."snapdragon-util-3.0.1" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) + ( + sources."snapdragon-0.8.2" + // { + dependencies = [ + sources."debug-2.6.9" + sources."define-property-0.2.5" + sources."extend-shallow-2.0.1" + ( + sources."is-accessor-descriptor-0.1.6" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + ( + sources."is-data-descriptor-0.1.4" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + sources."ms-2.0.0" + ]; + } + ) + ( + sources."snapdragon-node-2.1.1" + // { + dependencies = [ + sources."define-property-1.0.0" + ]; + } + ) + ( + sources."snapdragon-util-3.0.1" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) sources."source-map-0.5.7" sources."source-map-resolve-0.5.3" sources."source-map-url-0.4.1" @@ -6538,31 +6735,43 @@ in sources."split-string-3.1.0" sources."sshpk-1.17.0" sources."stack-trace-0.0.10" - (sources."static-extend-0.1.2" // { - dependencies = [ - sources."define-property-0.2.5" - (sources."is-accessor-descriptor-0.1.6" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - (sources."is-data-descriptor-0.1.4" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) - sources."is-descriptor-0.1.6" - sources."kind-of-5.1.0" - ]; - }) + ( + sources."static-extend-0.1.2" + // { + dependencies = [ + sources."define-property-0.2.5" + ( + sources."is-accessor-descriptor-0.1.6" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + ( + sources."is-data-descriptor-0.1.4" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) + sources."is-descriptor-0.1.6" + sources."kind-of-5.1.0" + ]; + } + ) sources."stream-exhaust-1.0.2" sources."stream-shift-1.0.1" sources."string-width-1.0.2" - (sources."string_decoder-1.1.1" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) + ( + sources."string_decoder-1.1.1" + // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + } + ) sources."strip-ansi-3.0.1" sources."strip-bom-2.0.0" sources."strip-bom-string-1.0.0" @@ -6580,26 +6789,35 @@ in sources."time-stamp-1.1.0" sources."timed-out-4.0.1" sources."timers-ext-0.1.7" - (sources."tmp-0.2.1" // { - dependencies = [ - sources."rimraf-3.0.2" - ]; - }) + ( + sources."tmp-0.2.1" + // { + dependencies = [ + sources."rimraf-3.0.2" + ]; + } + ) sources."to-absolute-glob-2.0.2" sources."to-buffer-1.1.1" - (sources."to-object-path-0.3.0" // { - dependencies = [ - sources."kind-of-3.2.2" - ]; - }) + ( + sources."to-object-path-0.3.0" + // { + dependencies = [ + sources."kind-of-3.2.2" + ]; + } + ) sources."to-regex-3.0.2" sources."to-regex-range-2.1.1" sources."to-through-2.0.0" - (sources."touch-0.0.3" // { - dependencies = [ - sources."nopt-1.0.10" - ]; - }) + ( + sources."touch-0.0.3" + // { + dependencies = [ + sources."nopt-1.0.10" + ]; + } + ) sources."tough-cookie-2.5.0" sources."traverse-0.3.9" sources."tree-kill-1.2.2" @@ -6613,25 +6831,34 @@ in sources."typedarray-0.0.6" sources."unbzip2-stream-1.4.3" sources."unc-path-regex-0.1.2" - (sources."undertaker-1.3.0" // { - dependencies = [ - sources."fast-levenshtein-1.1.4" - ]; - }) + ( + sources."undertaker-1.3.0" + // { + dependencies = [ + sources."fast-levenshtein-1.1.4" + ]; + } + ) sources."undertaker-registry-1.0.1" sources."union-value-1.0.1" sources."unique-stream-2.3.1" sources."universalify-0.1.2" - (sources."unset-value-1.0.0" // { - dependencies = [ - (sources."has-value-0.3.1" // { - dependencies = [ - sources."isobject-2.1.0" - ]; - }) - sources."has-values-0.1.4" - ]; - }) + ( + sources."unset-value-1.0.0" + // { + dependencies = [ + ( + sources."has-value-0.3.1" + // { + dependencies = [ + sources."isobject-2.1.0" + ]; + } + ) + sources."has-values-0.1.4" + ]; + } + ) sources."untildify-3.0.3" sources."unzip-response-2.0.1" sources."upath-1.2.0" @@ -6646,18 +6873,24 @@ in sources."v8flags-3.2.0" sources."validate-npm-package-license-3.0.4" sources."value-or-function-3.0.0" - (sources."verror-1.10.0" // { - dependencies = [ - sources."core-util-is-1.0.2" - ]; - }) + ( + sources."verror-1.10.0" + // { + dependencies = [ + sources."core-util-is-1.0.2" + ]; + } + ) sources."vinyl-2.2.1" sources."vinyl-fs-3.0.3" - (sources."vinyl-sourcemap-1.1.0" // { - dependencies = [ - sources."normalize-path-2.1.1" - ]; - }) + ( + sources."vinyl-sourcemap-1.1.0" + // { + dependencies = [ + sources."normalize-path-2.1.1" + ]; + } + ) sources."which-2.0.2" sources."which-module-1.0.0" sources."window-size-0.1.4" @@ -6669,31 +6902,40 @@ in sources."ws-8.13.0" sources."xtend-4.0.2" sources."y18n-3.2.2" - (sources."yargs-17.7.2" // { - dependencies = [ - sources."ansi-regex-5.0.1" - sources."ansi-styles-4.3.0" - sources."cliui-8.0.1" - sources."get-caller-file-2.0.5" - sources."is-fullwidth-code-point-3.0.0" - sources."string-width-4.2.3" - sources."strip-ansi-6.0.1" - sources."wrap-ansi-7.0.0" - sources."y18n-5.0.8" - sources."yargs-parser-21.1.1" - ]; - }) - (sources."yargs-parser-5.0.1" // { - dependencies = [ - sources."camelcase-3.0.0" - ]; - }) - (sources."yargs-unparser-2.0.0" // { - dependencies = [ - sources."camelcase-6.3.0" - sources."decamelize-4.0.0" - ]; - }) + ( + sources."yargs-17.7.2" + // { + dependencies = [ + sources."ansi-regex-5.0.1" + sources."ansi-styles-4.3.0" + sources."cliui-8.0.1" + sources."get-caller-file-2.0.5" + sources."is-fullwidth-code-point-3.0.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + sources."wrap-ansi-7.0.0" + sources."y18n-5.0.8" + sources."yargs-parser-21.1.1" + ]; + } + ) + ( + sources."yargs-parser-5.0.1" + // { + dependencies = [ + sources."camelcase-3.0.0" + ]; + } + ) + ( + sources."yargs-unparser-2.0.0" + // { + dependencies = [ + sources."camelcase-6.3.0" + sources."decamelize-4.0.0" + ]; + } + ) sources."yauzl-2.10.0" sources."yocto-queue-0.1.0" ]; diff --git a/pkgs/tools/security/onlykey/onlykey.nix b/pkgs/tools/security/onlykey/onlykey.nix index b10d8718b7be0..05d8f84ddebbb 100644 --- a/pkgs/tools/security/onlykey/onlykey.nix +++ b/pkgs/tools/security/onlykey/onlykey.nix @@ -1,17 +1,34 @@ # This file has been generated by node2nix 1.11.1. Do not edit! -{pkgs ? import { +{ + pkgs ? import { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs.nodejs_18}: + }, + system ? builtins.currentSystem, + nodejs ? pkgs.nodejs_18, +}: let nodeEnv = import ../../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; + inherit (pkgs) + stdenv + lib + python2 + runCommand + writeTextFile + writeShellScript + ; inherit pkgs nodejs; libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null; }; in import ./node-packages.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit (pkgs) + fetchurl + nix-gitignore + stdenv + lib + fetchgit + ; inherit nodeEnv; } diff --git a/pkgs/tools/security/ossec/agent.nix b/pkgs/tools/security/ossec/agent.nix index c5ba8688123b6..28f29c9c045e0 100644 --- a/pkgs/tools/security/ossec/agent.nix +++ b/pkgs/tools/security/ossec/agent.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, which, pcre2, zlib, ncurses, openssl }: +{ + lib, + stdenv, + fetchFromGitHub, + which, + pcre2, + zlib, + ncurses, + openssl, +}: let version = "unstable-2023-08-09"; in @@ -16,7 +25,12 @@ stdenv.mkDerivation { # clear is used during the build process nativeBuildInputs = [ ncurses ]; - buildInputs = [ which pcre2 zlib openssl ]; + buildInputs = [ + which + pcre2 + zlib + openssl + ]; # patch to remove root manipulation, install phase which tries to add users to the system, and init phase which tries to modify the system to launch files patches = [ ./no-root.patch ]; @@ -28,34 +42,34 @@ stdenv.mkDerivation { env.NIX_CFLAGS_COMPILE = "-fcommon"; buildPhase = '' - mkdir $out - export USER_DIR="$out" # just to satisy the script - ./install.sh < xclip != null; assert waylandSupport -> wl-clipboard != null; assert dmenuSupport -> x11Support || waylandSupport; -assert dmenuSupport && x11Support - -> dmenu != null && xdotool != null; -assert dmenuSupport && waylandSupport - -> dmenu-wayland != null && ydotool != null; - +assert dmenuSupport && x11Support -> dmenu != null && xdotool != null; +assert dmenuSupport && waylandSupport -> dmenu-wayland != null && ydotool != null; let passExtensions = import ./extensions { inherit pkgs; }; - env = extensions: + env = + extensions: let - selected = [ pass ] ++ extensions passExtensions - ++ lib.optional tombPluginSupport passExtensions.tomb; - in buildEnv { + selected = + [ pass ] ++ extensions passExtensions ++ lib.optional tombPluginSupport passExtensions.tomb; + in + buildEnv { name = "pass-env"; paths = selected; nativeBuildInputs = [ makeWrapper ]; @@ -59,7 +81,7 @@ stdenv.mkDerivation rec { pname = "password-store"; src = fetchurl { - url = "https://git.zx2c4.com/password-store/snapshot/${pname}-${version}.tar.xz"; + url = "https://git.zx2c4.com/password-store/snapshot/${pname}-${version}.tar.xz"; sha256 = "1h4k6w7g8pr169p5w9n6mkdhxl3pw51zphx7www6pvgjb7vgmafg"; }; @@ -70,70 +92,85 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ]; + installFlags = [ + "PREFIX=$(out)" + "WITH_ALLCOMP=yes" + ]; postInstall = lib.optionalString dmenuSupport '' cp "contrib/dmenu/passmenu" "$out/bin/" ''; - wrapperPath = lib.makeBinPath ([ - coreutils - findutils - getopt - git - gnugrep - gnupg - gnused - tree - which - openssh - procps - qrencode - ] ++ lib.optional stdenv.hostPlatform.isDarwin openssl + wrapperPath = lib.makeBinPath ( + [ + coreutils + findutils + getopt + git + gnugrep + gnupg + gnused + tree + which + openssh + procps + qrencode + ] + ++ lib.optional stdenv.hostPlatform.isDarwin openssl ++ lib.optional x11Support xclip ++ lib.optional waylandSupport wl-clipboard - ++ lib.optionals (waylandSupport && dmenuSupport) [ ydotool dmenu-wayland ] - ++ lib.optionals (x11Support && dmenuSupport) [ xdotool dmenu ] + ++ lib.optionals (waylandSupport && dmenuSupport) [ + ydotool + dmenu-wayland + ] + ++ lib.optionals (x11Support && dmenuSupport) [ + xdotool + dmenu + ] ); - postFixup = '' - # Fix program name in --help - substituteInPlace $out/bin/pass \ - --replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass" - - # Ensure all dependencies are in PATH - wrapProgram $out/bin/pass \ - --prefix PATH : "${wrapperPath}" - '' + lib.optionalString dmenuSupport '' - # We just wrap passmenu with the same PATH as pass. It doesn't - # need all the tools in there but it doesn't hurt either. - wrapProgram $out/bin/passmenu \ - --prefix PATH : "$out/bin:${wrapperPath}" - ''; + postFixup = + '' + # Fix program name in --help + substituteInPlace $out/bin/pass \ + --replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass" + + # Ensure all dependencies are in PATH + wrapProgram $out/bin/pass \ + --prefix PATH : "${wrapperPath}" + '' + + lib.optionalString dmenuSupport '' + # We just wrap passmenu with the same PATH as pass. It doesn't + # need all the tools in there but it doesn't hurt either. + wrapProgram $out/bin/passmenu \ + --prefix PATH : "$out/bin:${wrapperPath}" + ''; # Turn "check" into "installcheck", since we want to test our pass, # not the one before the fixup. - postPatch = '' - patchShebangs tests - - substituteInPlace src/password-store.sh \ - --replace "@out@" "$out" - - # the turning - sed -i -e 's@^PASS=.*''$@PASS=$out/bin/pass@' \ - -e 's@^GPGS=.*''$@GPG=${gnupg}/bin/gpg2@' \ - -e '/which gpg/ d' \ - tests/setup.sh - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - # 'pass edit' uses hdid, which is not available from the sandbox. - rm -f tests/t0200-edit-tests.sh - rm -f tests/t0010-generate-tests.sh - rm -f tests/t0020-show-tests.sh - rm -f tests/t0050-mv-tests.sh - rm -f tests/t0100-insert-tests.sh - rm -f tests/t0300-reencryption.sh - rm -f tests/t0400-grep.sh - ''; + postPatch = + '' + patchShebangs tests + + substituteInPlace src/password-store.sh \ + --replace "@out@" "$out" + + # the turning + sed -i -e 's@^PASS=.*''$@PASS=$out/bin/pass@' \ + -e 's@^GPGS=.*''$@GPG=${gnupg}/bin/gpg2@' \ + -e '/which gpg/ d' \ + tests/setup.sh + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # 'pass edit' uses hdid, which is not available from the sandbox. + rm -f tests/t0200-edit-tests.sh + rm -f tests/t0010-generate-tests.sh + rm -f tests/t0020-show-tests.sh + rm -f tests/t0050-mv-tests.sh + rm -f tests/t0100-insert-tests.sh + rm -f tests/t0300-reencryption.sh + rm -f tests/t0400-grep.sh + ''; doCheck = false; @@ -148,11 +185,17 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Stores, retrieves, generates, and synchronizes passwords securely"; - homepage = "https://www.passwordstore.org/"; - license = licenses.gpl2Plus; + homepage = "https://www.passwordstore.org/"; + license = licenses.gpl2Plus; mainProgram = "pass"; - maintainers = with maintainers; [ lovek323 fpletz tadfisher globin ma27 ]; - platforms = platforms.unix; + maintainers = with maintainers; [ + lovek323 + fpletz + tadfisher + globin + ma27 + ]; + platforms = platforms.unix; longDescription = '' pass is a very simple password store that keeps passwords inside gpg2 diff --git a/pkgs/tools/security/pass/extensions/checkup.nix b/pkgs/tools/security/pass/extensions/checkup.nix index d275c19166f41..633b0be00cc77 100644 --- a/pkgs/tools/security/pass/extensions/checkup.nix +++ b/pkgs/tools/security/pass/extensions/checkup.nix @@ -1,10 +1,19 @@ -{ lib, stdenv, fetchFromGitHub -, curl, findutils, gnugrep, gnused, shellcheck }: +{ + lib, + stdenv, + fetchFromGitHub, + curl, + findutils, + gnugrep, + gnused, + shellcheck, +}: let pname = "pass-checkup"; version = "0.2.2"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { inherit pname version; src = fetchFromGitHub { diff --git a/pkgs/tools/security/pass/extensions/default.nix b/pkgs/tools/security/pass/extensions/default.nix index dfb5dfa35bd02..63eb93a890fcf 100644 --- a/pkgs/tools/security/pass/extensions/default.nix +++ b/pkgs/tools/security/pass/extensions/default.nix @@ -5,12 +5,12 @@ let in { - pass-audit = callPackage ./audit {}; - pass-checkup = callPackage ./checkup.nix {}; - pass-import = callPackage ./import.nix {}; - pass-otp = callPackage ./otp.nix {}; - pass-tomb = callPackage ./tomb.nix {}; - pass-update = callPackage ./update.nix {}; - pass-genphrase = callPackage ./genphrase.nix {}; - pass-file = callPackage ./file.nix {}; + pass-audit = callPackage ./audit { }; + pass-checkup = callPackage ./checkup.nix { }; + pass-import = callPackage ./import.nix { }; + pass-otp = callPackage ./otp.nix { }; + pass-tomb = callPackage ./tomb.nix { }; + pass-update = callPackage ./update.nix { }; + pass-genphrase = callPackage ./genphrase.nix { }; + pass-file = callPackage ./file.nix { }; } diff --git a/pkgs/tools/security/pass/extensions/file.nix b/pkgs/tools/security/pass/extensions/file.nix index 962ab2bd2a407..54c7e0f8e12cf 100644 --- a/pkgs/tools/security/pass/extensions/file.nix +++ b/pkgs/tools/security/pass/extensions/file.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pass-file"; diff --git a/pkgs/tools/security/pass/extensions/genphrase.nix b/pkgs/tools/security/pass/extensions/genphrase.nix index c8a1f730e049a..085b77342fbe1 100644 --- a/pkgs/tools/security/pass/extensions/genphrase.nix +++ b/pkgs/tools/security/pass/extensions/genphrase.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, python3 }: +{ + lib, + stdenv, + fetchFromGitHub, + python3, +}: stdenv.mkDerivation rec { pname = "pass-genphrase"; diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix index badc58361d535..684eff5c88f2a 100644 --- a/pkgs/tools/security/pass/extensions/import.nix +++ b/pkgs/tools/security/pass/extensions/import.nix @@ -1,8 +1,9 @@ -{ lib -, fetchurl -, python3Packages -, gnupg -, pass +{ + lib, + fetchurl, + python3Packages, + gnupg, + pass, }: python3Packages.buildPythonApplication rec { @@ -56,7 +57,11 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/roddhjav/pass-import"; changelog = "https://github.com/roddhjav/pass-import/blob/v${version}/CHANGELOG.rst"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ lovek323 fpletz tadfisher ]; + maintainers = with maintainers; [ + lovek323 + fpletz + tadfisher + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/pass/extensions/otp.nix b/pkgs/tools/security/pass/extensions/otp.nix index 87df97dcde72a..dbde743461af7 100644 --- a/pkgs/tools/security/pass/extensions/otp.nix +++ b/pkgs/tools/security/pass/extensions/otp.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, oath-toolkit }: +{ + lib, + stdenv, + fetchFromGitHub, + oath-toolkit, +}: stdenv.mkDerivation rec { pname = "pass-otp"; @@ -19,15 +24,20 @@ stdenv.mkDerivation rec { sed -i -e 's|OATH=\$(which oathtool)|OATH=${oath-toolkit}/bin/oathtool|' otp.bash ''; - installFlags = [ "PREFIX=$(out)" - "BASHCOMPDIR=$(out)/share/bash-completion/completions" - ]; + installFlags = [ + "PREFIX=$(out)" + "BASHCOMPDIR=$(out)/share/bash-completion/completions" + ]; meta = with lib; { description = "Pass extension for managing one-time-password (OTP) tokens"; homepage = "https://github.com/tadfisher/pass-otp"; license = licenses.gpl3; - maintainers = with maintainers; [ jwiegley tadfisher toonn ]; + maintainers = with maintainers; [ + jwiegley + tadfisher + toonn + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/pass/extensions/tomb.nix b/pkgs/tools/security/pass/extensions/tomb.nix index 58630c4ec9f31..f9ad7fe0f8941 100644 --- a/pkgs/tools/security/pass/extensions/tomb.nix +++ b/pkgs/tools/security/pass/extensions/tomb.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, tomb }: +{ + lib, + stdenv, + fetchFromGitHub, + tomb, +}: stdenv.mkDerivation rec { pname = "pass-tomb"; @@ -26,7 +31,11 @@ stdenv.mkDerivation rec { description = "Pass extension that keeps the password store encrypted inside a tomb"; homepage = "https://github.com/roddhjav/pass-tomb"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ lovek323 fpletz tadfisher ]; + maintainers = with maintainers; [ + lovek323 + fpletz + tadfisher + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/pass/extensions/update.nix b/pkgs/tools/security/pass/extensions/update.nix index dfabe7603cce3..6f53159c9b670 100644 --- a/pkgs/tools/security/pass/extensions/update.nix +++ b/pkgs/tools/security/pass/extensions/update.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchFromGitHub }: +{ + lib, + stdenv, + fetchFromGitHub, +}: stdenv.mkDerivation rec { pname = "pass-update"; @@ -24,7 +28,11 @@ stdenv.mkDerivation rec { description = "Pass extension that provides an easy flow for updating passwords"; homepage = "https://github.com/roddhjav/pass-update"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ lovek323 fpletz tadfisher ]; + maintainers = with maintainers; [ + lovek323 + fpletz + tadfisher + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/pass/rofi-pass.nix b/pkgs/tools/security/pass/rofi-pass.nix index e204c14a234e5..d861d7fde1a9d 100644 --- a/pkgs/tools/security/pass/rofi-pass.nix +++ b/pkgs/tools/security/pass/rofi-pass.nix @@ -1,31 +1,35 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, unstableGitUpdater -, coreutils -, util-linux -, gnugrep -, libnotify -, pwgen -, findutils -, gawk -, gnused -# wayland-only deps -, rofi-wayland -, pass-wayland -, wl-clipboard -, wtype -# x11-only deps -, rofi -, pass -, xclip -, xdotool -# backend selector -, backend ? "x11" +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + unstableGitUpdater, + coreutils, + util-linux, + gnugrep, + libnotify, + pwgen, + findutils, + gawk, + gnused, + # wayland-only deps + rofi-wayland, + pass-wayland, + wl-clipboard, + wtype, + # x11-only deps + rofi, + pass, + xclip, + xdotool, + # backend selector + backend ? "x11", }: -assert lib.assertOneOf "backend" backend [ "x11" "wayland" ]; +assert lib.assertOneOf "backend" backend [ + "x11" + "wayland" +]; stdenv.mkDerivation { pname = "rofi-pass"; @@ -50,26 +54,30 @@ stdenv.mkDerivation { cp -a config.example $out/share/doc/rofi-pass/config.example ''; - wrapperPath = lib.makeBinPath ([ - coreutils - findutils - gawk - gnugrep - gnused - libnotify - pwgen - util-linux - ] ++ lib.optionals (backend == "x11") [ - rofi - (pass.withExtensions (ext: [ ext.pass-otp ])) - xclip - xdotool - ] ++ lib.optionals (backend == "wayland") [ - rofi-wayland - (pass-wayland.withExtensions (ext: [ ext.pass-otp ])) - wl-clipboard - wtype - ]); + wrapperPath = lib.makeBinPath ( + [ + coreutils + findutils + gawk + gnugrep + gnused + libnotify + pwgen + util-linux + ] + ++ lib.optionals (backend == "x11") [ + rofi + (pass.withExtensions (ext: [ ext.pass-otp ])) + xclip + xdotool + ] + ++ lib.optionals (backend == "wayland") [ + rofi-wayland + (pass-wayland.withExtensions (ext: [ ext.pass-otp ])) + wl-clipboard + wtype + ] + ); fixupPhase = '' patchShebangs $out/bin @@ -77,7 +85,9 @@ stdenv.mkDerivation { wrapProgram $out/bin/rofi-pass \ --prefix PATH : "$wrapperPath" \ --set-default ROFI_PASS_BACKEND ${if backend == "wayland" then "wtype" else "xdotool"} \ - --set-default ROFI_PASS_CLIPBOARD_BACKEND ${if backend == "wayland" then "wl-clipboard" else "xclip"} + --set-default ROFI_PASS_CLIPBOARD_BACKEND ${ + if backend == "wayland" then "wl-clipboard" else "xclip" + } ''; passthru.updateScript = unstableGitUpdater { }; diff --git a/pkgs/tools/security/pass/wofi-pass.nix b/pkgs/tools/security/pass/wofi-pass.nix index ef48f335b5fdf..0356cd23d8458 100644 --- a/pkgs/tools/security/pass/wofi-pass.nix +++ b/pkgs/tools/security/pass/wofi-pass.nix @@ -1,17 +1,18 @@ -{ lib -, stdenv -, fetchFromGitHub -, pass-wayland -, coreutils -, gnugrep -, libnotify -, pwgen -, findutils -, makeWrapper -, wl-clipboard -, wtype -, wofi -, extensions ? exts: [] +{ + lib, + stdenv, + fetchFromGitHub, + pass-wayland, + coreutils, + gnugrep, + libnotify, + pwgen, + findutils, + makeWrapper, + wl-clipboard, + wtype, + wofi, + extensions ? exts: [ ], }: let diff --git a/pkgs/tools/security/pass2csv/default.nix b/pkgs/tools/security/pass2csv/default.nix index 5a255d201f0cd..02d3269035f1e 100644 --- a/pkgs/tools/security/pass2csv/default.nix +++ b/pkgs/tools/security/pass2csv/default.nix @@ -1,8 +1,9 @@ -{ buildPythonApplication -, fetchPypi -, lib -, python-gnupg -, setuptools +{ + buildPythonApplication, + fetchPypi, + lib, + python-gnupg, + setuptools, }: buildPythonApplication rec { diff --git a/pkgs/tools/security/pcsc-tools/default.nix b/pkgs/tools/security/pcsc-tools/default.nix index 39efa566553db..87578be82223f 100644 --- a/pkgs/tools/security/pcsc-tools/default.nix +++ b/pkgs/tools/security/pcsc-tools/default.nix @@ -1,24 +1,27 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoconf-archive -, autoreconfHook -, gobject-introspection -, makeWrapper -, pkg-config -, wrapGAppsHook3 -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd -, dbusSupport ? stdenv.hostPlatform.isLinux, dbus -, pcsclite -, PCSC -, wget -, coreutils -, perlPackages -, testers -, nix-update-script +{ + stdenv, + lib, + fetchFromGitHub, + autoconf-archive, + autoreconfHook, + gobject-introspection, + makeWrapper, + pkg-config, + wrapGAppsHook3, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + dbusSupport ? stdenv.hostPlatform.isLinux, + dbus, + pcsclite, + PCSC, + wget, + coreutils, + perlPackages, + testers, + nix-update-script, -# gui does not cross compile properly -, withGui ? stdenv.buildPlatform.canExecute stdenv.hostPlatform + # gui does not cross compile properly + withGui ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: assert systemdSupport -> dbusSupport; @@ -38,54 +41,83 @@ stdenv.mkDerivation (finalAttrs: { "--datarootdir=${placeholder "out"}/share" ]; - buildInputs = lib.optionals dbusSupport [ - dbus - ] ++ [ - perlPackages.perl pcsclite - ] ++ lib.optional stdenv.hostPlatform.isDarwin PCSC + buildInputs = + lib.optionals dbusSupport [ + dbus + ] + ++ [ + perlPackages.perl + pcsclite + ] + ++ lib.optional stdenv.hostPlatform.isDarwin PCSC ++ lib.optional systemdSupport systemd; - nativeBuildInputs = [ - autoconf-archive - autoreconfHook - makeWrapper - pkg-config - ] ++ lib.optionals withGui [ - gobject-introspection - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + autoconf-archive + autoreconfHook + makeWrapper + pkg-config + ] + ++ lib.optionals withGui [ + gobject-introspection + wrapGAppsHook3 + ]; preFixup = '' makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; - postInstall = '' - wrapProgram $out/bin/scriptor \ - --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC libintl-perl ]}" + postInstall = + '' + wrapProgram $out/bin/scriptor \ + --set PERL5LIB "${ + with perlPackages; + makePerlPath [ + ChipcardPCSC + libintl-perl + ] + }" - '' + lib.optionalString withGui '' - wrapProgram $out/bin/gscriptor \ - ''${makeWrapperArgs[@]} \ - --set PERL5LIB "${with perlPackages; makePerlPath [ - ChipcardPCSC - libintl-perl - GlibObjectIntrospection - Glib - Gtk3 - Pango - Cairo - CairoGObject - ]}" - '' + '' + '' + + lib.optionalString withGui '' + wrapProgram $out/bin/gscriptor \ + ''${makeWrapperArgs[@]} \ + --set PERL5LIB "${ + with perlPackages; + makePerlPath [ + ChipcardPCSC + libintl-perl + GlibObjectIntrospection + Glib + Gtk3 + Pango + Cairo + CairoGObject + ] + }" + '' + + '' - wrapProgram $out/bin/ATR_analysis \ - --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC libintl-perl ]}" + wrapProgram $out/bin/ATR_analysis \ + --set PERL5LIB "${ + with perlPackages; + makePerlPath [ + ChipcardPCSC + libintl-perl + ] + }" - wrapProgram $out/bin/pcsc_scan \ - --prefix PATH : "$out/bin:${lib.makeBinPath [ coreutils wget ]}" + wrapProgram $out/bin/pcsc_scan \ + --prefix PATH : "$out/bin:${ + lib.makeBinPath [ + coreutils + wget + ] + }" - install -Dm444 -t $out/share/pcsc smartcard_list.txt - ''; + install -Dm444 -t $out/share/pcsc smartcard_list.txt + ''; passthru = { tests.version = testers.testVersion { @@ -101,7 +133,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/LudovicRousseau/pcsc-tools/releases/tag/${finalAttrs.version}"; license = licenses.gpl2Plus; mainProgram = "pcsc_scan"; - maintainers = with maintainers; [ peterhoeg anthonyroussel ]; + maintainers = with maintainers; [ + peterhoeg + anthonyroussel + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix index e7524b69c0d3f..9b01613a80823 100644 --- a/pkgs/tools/security/pcsclite/default.nix +++ b/pkgs/tools/security/pcsclite/default.nix @@ -1,27 +1,28 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, meson -, ninja -, flex -, pkg-config -, perl -, python3 -, dbus -, polkit -, systemdLibs -, udev -, dbusSupport ? stdenv.hostPlatform.isLinux -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs -, udevSupport ? dbusSupport -, libusb1 -, Foundation -, IOKit -, testers -, nix-update-script -, pname ? "pcsclite" -, polkitSupport ? false +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + meson, + ninja, + flex, + pkg-config, + perl, + python3, + dbus, + polkit, + systemdLibs, + udev, + dbusSupport ? stdenv.hostPlatform.isLinux, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs, + udevSupport ? dbusSupport, + libusb1, + Foundation, + IOKit, + testers, + nix-update-script, + pname ? "pcsclite", + polkitSupport ? false, }: assert polkitSupport -> dbusSupport; @@ -31,7 +32,13 @@ stdenv.mkDerivation (finalAttrs: { inherit pname; version = "2.3.0"; - outputs = [ "out" "lib" "dev" "doc" "man" ]; + outputs = [ + "out" + "lib" + "dev" + "doc" + "man" + ]; src = fetchFromGitLab { domain = "salsa.debian.org"; @@ -50,35 +57,41 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - mesonFlags = [ - (lib.mesonOption "sysconfdir" "/etc") - # The OS should care on preparing the drivers into this location - (lib.mesonOption "usbdropdir" "/var/lib/pcsc/drivers") - (lib.mesonBool "libsystemd" systemdSupport) - (lib.mesonBool "polkit" polkitSupport) - (lib.mesonOption "ipcdir" "/run/pcscd") - ] ++ lib.optionals systemdSupport [ - (lib.mesonOption "systemdunit" "system") - ] ++ lib.optionals (!udevSupport) [ - (lib.mesonBool "libudev" false) - ]; + mesonFlags = + [ + (lib.mesonOption "sysconfdir" "/etc") + # The OS should care on preparing the drivers into this location + (lib.mesonOption "usbdropdir" "/var/lib/pcsc/drivers") + (lib.mesonBool "libsystemd" systemdSupport) + (lib.mesonBool "polkit" polkitSupport) + (lib.mesonOption "ipcdir" "/run/pcscd") + ] + ++ lib.optionals systemdSupport [ + (lib.mesonOption "systemdunit" "system") + ] + ++ lib.optionals (!udevSupport) [ + (lib.mesonBool "libudev" false) + ]; # disable building pcsc-wirecheck{,-gen} when cross compiling # see also: https://github.com/LudovicRousseau/PCSC/issues/25 - postPatch = '' - substituteInPlace src/libredirect.c src/spy/libpcscspy.c \ - --replace-fail "libpcsclite_real.so.1" "$lib/lib/libpcsclite_real.so.1" - '' + lib.optionalString systemdSupport '' - substituteInPlace meson.build \ - --replace-fail \ - "systemdsystemunitdir = systemd.get_variable(pkgconfig : 'systemd' + unit + 'unitdir')" \ - "systemdsystemunitdir = '${placeholder "out"}/lib/systemd/system'" - '' + lib.optionalString polkitSupport '' - substituteInPlace meson.build \ - --replace-fail \ - "install_dir : polkit_dep.get_variable('policydir')" \ - "install_dir : '${placeholder "out"}/share/polkit-1/actions'" - ''; + postPatch = + '' + substituteInPlace src/libredirect.c src/spy/libpcscspy.c \ + --replace-fail "libpcsclite_real.so.1" "$lib/lib/libpcsclite_real.so.1" + '' + + lib.optionalString systemdSupport '' + substituteInPlace meson.build \ + --replace-fail \ + "systemdsystemunitdir = systemd.get_variable(pkgconfig : 'systemd' + unit + 'unitdir')" \ + "systemdsystemunitdir = '${placeholder "out"}/lib/systemd/system'" + '' + + lib.optionalString polkitSupport '' + substituteInPlace meson.build \ + --replace-fail \ + "install_dir : polkit_dep.get_variable('policydir')" \ + "install_dir : '${placeholder "out"}/share/polkit-1/actions'" + ''; postInstall = '' # pcsc-spy is a debugging utility and it drags python into the closure @@ -93,10 +106,14 @@ stdenv.mkDerivation (finalAttrs: { perl ]; - buildInputs = [ python3 ] + buildInputs = + [ python3 ] ++ lib.optionals systemdSupport [ systemdLibs ] ++ lib.optionals (!systemdSupport && udevSupport) [ udev ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation IOKit ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + IOKit + ] ++ lib.optionals dbusSupport [ dbus ] ++ lib.optionals polkitSupport [ polkit ] ++ lib.optionals (!udevSupport) [ libusb1 ]; diff --git a/pkgs/tools/security/plasma-pass/default.nix b/pkgs/tools/security/plasma-pass/default.nix index a2b0816dc2386..5ab24a28b7ce0 100644 --- a/pkgs/tools/security/plasma-pass/default.nix +++ b/pkgs/tools/security/plasma-pass/default.nix @@ -1,10 +1,16 @@ -{ mkDerivation, lib, fetchFromGitLab, cmake, extra-cmake-modules -, ki18n -, kitemmodels -, oath-toolkit -, qgpgme -, plasma-framework -, qt5 }: +{ + mkDerivation, + lib, + fetchFromGitLab, + cmake, + extra-cmake-modules, + ki18n, + kitemmodels, + oath-toolkit, + qgpgme, + plasma-framework, + qt5, +}: mkDerivation rec { pname = "plasma-pass"; @@ -18,7 +24,7 @@ mkDerivation rec { rev = "v${version}"; }; - buildInputs = [ + buildInputs = [ ki18n kitemmodels oath-toolkit @@ -28,7 +34,10 @@ mkDerivation rec { qt5.qtdeclarative ]; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; meta = with lib; { description = "Plasma applet to access passwords from pass, the standard UNIX password manager"; @@ -38,4 +47,3 @@ mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/pkgs/tools/security/proxmark3/default.nix b/pkgs/tools/security/proxmark3/default.nix index fbc0b9f1a2d2a..025ad50bc1342 100644 --- a/pkgs/tools/security/proxmark3/default.nix +++ b/pkgs/tools/security/proxmark3/default.nix @@ -1,27 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, gcc-arm-embedded -, readline -, bzip2 -, openssl -, jansson -, gd -, whereami -, lua -, lz4 -, Foundation -, AppKit -, withGui ? true, wrapQtAppsHook, qtbase -, withPython ? true, python3 -, withBlueshark ? false, bluez5 -, withGeneric ? false -, withSmall ? false -, withoutFunctions ? [] -, hardwarePlatform ? if withGeneric then "PM3GENERIC" else "PM3RDV4" -, hardwarePlatformExtras ? lib.optionalString withBlueshark "BTADDON" -, standalone ? "LF_SAMYRUN" +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + gcc-arm-embedded, + readline, + bzip2, + openssl, + jansson, + gd, + whereami, + lua, + lz4, + Foundation, + AppKit, + withGui ? true, + wrapQtAppsHook, + qtbase, + withPython ? true, + python3, + withBlueshark ? false, + bluez5, + withGeneric ? false, + withSmall ? false, + withoutFunctions ? [ ], + hardwarePlatform ? if withGeneric then "PM3GENERIC" else "PM3RDV4", + hardwarePlatformExtras ? lib.optionalString withBlueshark "BTADDON", + standalone ? "LF_SAMYRUN", }: assert withBlueshark -> stdenv.hostPlatform.isLinux; stdenv.mkDerivation (finalAttrs: { @@ -55,28 +60,35 @@ stdenv.mkDerivation (finalAttrs: { pkg-config gcc-arm-embedded ] ++ lib.optional withGui wrapQtAppsHook; - buildInputs = [ - readline - bzip2 - openssl - jansson - gd - lz4 - whereami - lua - ] ++ lib.optional withGui qtbase + buildInputs = + [ + readline + bzip2 + openssl + jansson + gd + lz4 + whereami + lua + ] + ++ lib.optional withGui qtbase ++ lib.optional withPython python3 ++ lib.optional withBlueshark bluez5 - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Foundation AppKit ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Foundation + AppKit + ]; - makeFlags = [ - "PREFIX=${placeholder "out"}" - "UDEV_PREFIX=${placeholder "out"}/etc/udev/rules.d" - "PLATFORM=${hardwarePlatform}" - "PLATFORM_EXTRAS=${hardwarePlatformExtras}" - "STANDALONE=${standalone}" - "USE_BREW=0" - ] ++ lib.optional withSmall "PLATFORM_SIZE=256" + makeFlags = + [ + "PREFIX=${placeholder "out"}" + "UDEV_PREFIX=${placeholder "out"}/etc/udev/rules.d" + "PLATFORM=${hardwarePlatform}" + "PLATFORM_EXTRAS=${hardwarePlatformExtras}" + "STANDALONE=${standalone}" + "USE_BREW=0" + ] + ++ lib.optional withSmall "PLATFORM_SIZE=256" ++ map (x: "SKIP_${x}=1") withoutFunctions; enableParallelBuilding = true; @@ -84,7 +96,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Client for proxmark3, powerful general purpose RFID tool"; homepage = "https://github.com/RfidResearchGroup/proxmark3"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ nyanotech emilytrau ]; + maintainers = with maintainers; [ + nyanotech + emilytrau + ]; platforms = platforms.unix; mainProgram = "pm3"; }; diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix index 33f2c40efccec..2e8af2ecb3b1c 100644 --- a/pkgs/tools/security/qdigidoc/default.nix +++ b/pkgs/tools/security/qdigidoc/default.nix @@ -1,19 +1,20 @@ -{ lib -, mkDerivation -, fetchurl -, fetchpatch -, cmake -, flatbuffers -, gettext -, pkg-config -, libdigidocpp -, opensc -, openldap -, openssl -, pcsclite -, qtbase -, qtsvg -, qttools +{ + lib, + mkDerivation, + fetchurl, + fetchpatch, + cmake, + flatbuffers, + gettext, + pkg-config, + libdigidocpp, + opensc, + openldap, + openssl, + pcsclite, + qtbase, + qtsvg, + qttools, }: mkDerivation rec { @@ -21,8 +22,7 @@ mkDerivation rec { version = "4.6.0"; src = fetchurl { - url = - "https://github.com/open-eid/DigiDoc4-Client/releases/download/v${version}/qdigidoc4-${version}.tar.gz"; + url = "https://github.com/open-eid/DigiDoc4-Client/releases/download/v${version}/qdigidoc4-${version}.tar.gz"; hash = "sha256-szFLY9PpZMMYhfV5joueShfu92YDVmcCC3MOWIOAKVg="; }; @@ -38,7 +38,12 @@ mkDerivation rec { ./sandbox.patch ]; - nativeBuildInputs = [ cmake gettext pkg-config qttools ]; + nativeBuildInputs = [ + cmake + gettext + pkg-config + qttools + ]; buildInputs = [ flatbuffers @@ -67,6 +72,9 @@ mkDerivation rec { homepage = "https://www.id.ee/"; license = licenses.lgpl21Plus; platforms = platforms.linux; - maintainers = with maintainers; [ flokli mmahut ]; + maintainers = with maintainers; [ + flokli + mmahut + ]; }; } diff --git a/pkgs/tools/security/rblake2sum/default.nix b/pkgs/tools/security/rblake2sum/default.nix index 92b4f574749a3..805bfbf8ec9d0 100644 --- a/pkgs/tools/security/rblake2sum/default.nix +++ b/pkgs/tools/security/rblake2sum/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, }: rustPlatform.buildRustPackage { pname = "rblake2sum"; diff --git a/pkgs/tools/security/rblake3sum/default.nix b/pkgs/tools/security/rblake3sum/default.nix index af04b2014403d..84f1c7283238a 100644 --- a/pkgs/tools/security/rblake3sum/default.nix +++ b/pkgs/tools/security/rblake3sum/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, Security +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, }: rustPlatform.buildRustPackage { pname = "rblake3sum"; diff --git a/pkgs/tools/security/rekor/default.nix b/pkgs/tools/security/rekor/default.nix index 42bf787198dfb..108195f0ed550 100644 --- a/pkgs/tools/security/rekor/default.nix +++ b/pkgs/tools/security/rekor/default.nix @@ -1,7 +1,17 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: let - generic = { pname, packageToBuild, description }: + generic = + { + pname, + packageToBuild, + description, + }: buildGoModule rec { inherit pname; version = "1.3.7"; @@ -54,10 +64,15 @@ let homepage = "https://github.com/sigstore/rekor"; changelog = "https://github.com/sigstore/rekor/releases/tag/v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ lesuisse jk developer-guy ]; + maintainers = with maintainers; [ + lesuisse + jk + developer-guy + ]; }; }; -in { +in +{ rekor-cli = generic { pname = "rekor-cli"; packageToBuild = "cmd/rekor-cli"; diff --git a/pkgs/tools/security/ronin/default.nix b/pkgs/tools/security/ronin/default.nix index ab9ec0cda4c98..b5ed993172965 100644 --- a/pkgs/tools/security/ronin/default.nix +++ b/pkgs/tools/security/ronin/default.nix @@ -1,4 +1,10 @@ -{ lib, bundlerEnv, bundlerUpdateScript, defaultGemConfig, yasm }: +{ + lib, + bundlerEnv, + bundlerUpdateScript, + defaultGemConfig, + yasm, +}: bundlerEnv { name = "ronin"; @@ -24,8 +30,8 @@ bundlerEnv { meta = with lib; { description = "Free and Open Source Ruby toolkit for security research and development"; - homepage = "https://ronin-rb.dev"; - license = licenses.gpl3Plus; + homepage = "https://ronin-rb.dev"; + license = licenses.gpl3Plus; maintainers = with maintainers; [ Ch1keen ]; }; } diff --git a/pkgs/tools/security/ronin/gemset.nix b/pkgs/tools/security/ronin/gemset.nix index fdb3c9225d0ec..6faaeb3b82490 100644 --- a/pkgs/tools/security/ronin/gemset.nix +++ b/pkgs/tools/security/ronin/gemset.nix @@ -1,961 +1,1097 @@ { activemodel = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01jrk2i6vp8jcll65d03mqmp1ibxa0ip7bdg5157fkm5syblzsqw"; type = "gem"; }; version = "7.1.0"; }; activerecord = { - dependencies = ["activemodel" "activesupport" "timeout"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + "timeout" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lpcbgqbrb3yfk3i66mnxa5i36r0ig9dwzksjbm15i30rndr27p5"; type = "gem"; }; version = "7.1.0"; }; activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "minitest" + "mutex_m" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1xpwx7hw7mgmjk3w3g8bkz5jfapixhgn3ihly0xkpyvgp1shp8h1"; type = "gem"; }; version = "7.1.0"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; type = "gem"; }; version = "2.8.5"; }; async = { - dependencies = ["console" "fiber-annotation" "io-event" "timers"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "console" + "fiber-annotation" + "io-event" + "timers" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "02ng89h9s4wwpncyqbkm9n26swp4q45dkvqsb2fpmkan32zn48ji"; type = "gem"; }; version = "2.6.4"; }; async-io = { - dependencies = ["async"]; - groups = ["default"]; - platforms = []; + dependencies = [ "async" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11lgd7276rgy651zwbzvbsz8q0k09ljgngyhsppy7kvkjzj25n58"; type = "gem"; }; version = "1.36.0"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c"; type = "gem"; }; version = "0.1.1"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07y615s8yldk3k13lmkhpk1k190lcqvmxmnjwgh4bzjan9xrc36y"; type = "gem"; }; version = "3.1.4"; }; chars = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18lgsszrrh3xnaym2jdz7g5gm7c8hv5faj7zyrm1ws9l107jrhr5"; type = "gem"; }; version = "0.3.2"; }; combinatorics = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sf0pj29xzriwsqv607iwzs76piac6kygqxpg0i59qwx029100fw"; type = "gem"; }; version = "0.4.4"; }; command_kit = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "179mlrnzj56ghviyvvwk0kdfyvr050yk4jj4nwb78izlbxw1wl1m"; type = "gem"; }; version = "0.4.0"; }; command_mapper = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v363y9g7zxfx2y7p50hdvxj6c0a8mfh30wac2rm3ibldspcjmn1"; type = "gem"; }; version = "0.3.1"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; type = "gem"; }; version = "1.2.2"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; console = { - dependencies = ["fiber-annotation" "fiber-local"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fiber-annotation" + "fiber-local" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "150wdj94qg8c95b9v1g7ak5a9g159wxfanclpihrz9p9qbv1ga0w"; type = "gem"; }; version = "1.23.2"; }; date = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1"; type = "gem"; }; version = "3.3.3"; }; domain_name = { - dependencies = ["unf"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0"; type = "gem"; }; version = "0.5.20190701"; }; drb = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby2_keywords" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h9c2qiam82y3caapa2x157j1lkk9954hrjg3p22hxcsk8fli3vb"; type = "gem"; }; version = "2.1.1"; }; fake_io = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10559cnd2cqllql8ibd0zx0rvq8xk0qll5sqa4khb5963596ldmn"; type = "gem"; }; version = "0.1.0"; }; fiber-annotation = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vcmynyvhny8n4p799rrhcx0m033hivy0s1gn30ix8rs7qsvgvs"; type = "gem"; }; version = "0.2.0"; }; fiber-local = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9"; type = "gem"; }; version = "1.0.0"; }; hexdump = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1787w456yzmy4c13ray228n89a5wz6p6k3ibssjvy955qlr44b7g"; type = "gem"; }; version = "1.0.0"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk"; type = "gem"; }; version = "1.0.5"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; type = "gem"; }; version = "1.14.1"; }; io-console = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff"; type = "gem"; }; version = "0.6.0"; }; io-event = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1m2x5m2m8fa83p5890byf46qb4s1073vn3z6gan9jmbq2a5w0iy8"; type = "gem"; }; version = "1.3.2"; }; irb = { - dependencies = ["rdoc" "reline"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rdoc" + "reline" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "17p6arsklbzh2hvwwr8i4cfrpa7vhk8q88fhickhwmn7m80lxdw7"; type = "gem"; }; version = "1.8.1"; }; mechanize = { - dependencies = ["addressable" "domain_name" "http-cookie" "mime-types" "net-http-digest_auth" "net-http-persistent" "nokogiri" "rubyntlm" "webrick" "webrobots"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "domain_name" + "http-cookie" + "mime-types" + "net-http-digest_auth" + "net-http-persistent" + "nokogiri" + "rubyntlm" + "webrick" + "webrobots" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08lcl3qwgi8r3q0hm5ysmj7j5xqb289kqrd15w09anirj36jc80z"; type = "gem"; }; version = "2.9.1"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5"; type = "gem"; }; version = "3.5.1"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yjv0apysnrhbc70ralinfpcqn9382lxr643swp7a5sdwpa9cyqg"; type = "gem"; }; version = "3.2023.1003"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq"; type = "gem"; }; version = "2.8.4"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; type = "gem"; }; version = "5.20.0"; }; mustermann = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby2_keywords" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rwbq20s2gdh8dljjsgj5s6wqqfmnbclhvv2c2608brv7jm6jdbd"; type = "gem"; }; version = "3.0.0"; }; mutex_m = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pkxnp7p44kvs460bbbgjarr7xy1j8kjjmhwkg1kypj9wgmwb6qa"; type = "gem"; }; version = "0.1.2"; }; net-ftp = { - dependencies = ["net-protocol" "time"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "net-protocol" + "time" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0bqy9xg5225x102873j1qqq1bvnwfbi8lnf4357mpq6wimnw9pf9"; type = "gem"; }; version = "0.2.0"; }; net-http-digest_auth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nq859b0gh2vjhvl1qh1zrk09pc7p54r9i6nnn6sb06iv07db2jb"; type = "gem"; }; version = "1.4.1"; }; net-http-persistent = { - dependencies = ["connection_pool"]; - groups = ["default"]; - platforms = []; + dependencies = [ "connection_pool" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03"; type = "gem"; }; version = "4.0.2"; }; net-imap = { - dependencies = ["date" "net-protocol"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0d0r31b79appz95dd63wmasly1qjz3hn58ffxw6ix4mqk49jcbq2"; type = "gem"; }; version = "0.4.1"; }; net-pop = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; type = "gem"; }; version = "0.1.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91"; type = "gem"; }; version = "0.2.1"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rx3758w0bmbr21s2nsc6llflsrnp50fwdnly3ixra4v53gbhzid"; type = "gem"; }; version = "0.4.0"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74"; type = "gem"; }; version = "1.15.4"; }; nokogiri-diff = { - dependencies = ["nokogiri" "tdiff"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nokogiri" + "tdiff" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0njr1s42war0bj1axb2psjvk49l74a8wzr799wckqqdcb6n51lc1"; type = "gem"; }; version = "0.2.0"; }; nokogiri-ext = { - dependencies = ["nokogiri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nokogiri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y1yflr1989vfy46lxhvs5njlskwiv08akkjybnh8n0cdqms4lhs"; type = "gem"; }; version = "0.1.0"; }; open_namespace = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11j392gl62ibhkidjrjfnb3sygmqmvsc7zd5bhmnigd65x5gs310"; type = "gem"; }; version = "0.4.1"; }; psych = { - dependencies = ["stringio"]; - groups = ["default"]; - platforms = []; + dependencies = [ "stringio" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz"; type = "gem"; }; version = "5.1.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; type = "gem"; }; version = "5.0.3"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g"; type = "gem"; }; version = "1.7.1"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv"; type = "gem"; }; version = "2.2.8"; }; rack-protection = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xsz78hccgza144n37bfisdkzpr2c8m0xl6rnlzgxdbsm1zrkg7r"; type = "gem"; }; version = "3.1.0"; }; rack-user_agent = { - dependencies = ["rack" "woothee"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "woothee" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1l1gw8xx1g04kdxc89hsy4aawdz8r2an4b78yzk9cc3y8qmw16v7"; type = "gem"; }; version = "0.5.3"; }; rdoc = { - dependencies = ["psych"]; - groups = ["default"]; - platforms = []; + dependencies = [ "psych" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm"; type = "gem"; }; version = "6.5.0"; }; reline = { - dependencies = ["io-console"]; - groups = ["default"]; - platforms = []; + dependencies = [ "io-console" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0187pj9k7d8kdvzjk6r6mf7z7wy18saxxhn7x7pqc840w6h4s0ja"; type = "gem"; }; version = "0.3.9"; }; ronin = { - dependencies = ["async-io" "open_namespace" "ronin-code-asm" "ronin-code-sql" "ronin-core" "ronin-db" "ronin-exploits" "ronin-fuzzer" "ronin-payloads" "ronin-repos" "ronin-support" "ronin-vulns" "ronin-web" "rouge" "wordlist"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "async-io" + "open_namespace" + "ronin-code-asm" + "ronin-code-sql" + "ronin-core" + "ronin-db" + "ronin-exploits" + "ronin-fuzzer" + "ronin-payloads" + "ronin-repos" + "ronin-support" + "ronin-vulns" + "ronin-web" + "rouge" + "wordlist" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0v1v1xb2brgajhh1w38qs4lhnmgygymh1q0q63xpwq32w7a5k7s3"; type = "gem"; }; version = "2.0.5"; }; ronin-code-asm = { - dependencies = ["ruby-yasm"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby-yasm" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0faic3m95nhr7wrh7visdj45qaah7dvnl0afl4a5gmy6ybij16zl"; type = "gem"; }; version = "1.0.0"; }; ronin-code-sql = { - dependencies = ["ronin-support"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ronin-support" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z6ynbrbzlkab1fbhccghr2xm6dak9xb2djqjlc6nai3fdhid1v8"; type = "gem"; }; version = "2.1.0"; }; ronin-core = { - dependencies = ["command_kit" "irb" "reline"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "command_kit" + "irb" + "reline" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1s2hndkdh4pw6xppq4jqn30fk2b26gk08yym5gavlzkcg5k17vvd"; type = "gem"; }; version = "0.1.2"; }; ronin-db = { - dependencies = ["ronin-core" "ronin-db-activerecord" "ronin-support" "sqlite3"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ronin-core" + "ronin-db-activerecord" + "ronin-support" + "sqlite3" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0fiqdk1rnqk86icx27z531yc1qjs2n41nw9p361980wg0j8b4hsj"; type = "gem"; }; version = "0.1.2"; }; ronin-db-activerecord = { - dependencies = ["activerecord" "uri-query_params"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "uri-query_params" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0igw9syk4psdmijji0cx1dhrv76r1abji8fzdndnrn5h819b2fm3"; type = "gem"; }; version = "0.1.2"; }; ronin-exploits = { - dependencies = ["ronin-code-sql" "ronin-core" "ronin-payloads" "ronin-post_ex" "ronin-repos" "ronin-support" "ronin-vulns" "uri-query_params"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ronin-code-sql" + "ronin-core" + "ronin-payloads" + "ronin-post_ex" + "ronin-repos" + "ronin-support" + "ronin-vulns" + "uri-query_params" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1g2ilmmn6vccjn1i72wyakvjlh0b1qrgnw2nshl9f50j7yj93xpn"; type = "gem"; }; version = "1.0.3"; }; ronin-fuzzer = { - dependencies = ["combinatorics" "ronin-core" "ronin-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "combinatorics" + "ronin-core" + "ronin-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "19sc4kk6lwpq6fd23dmji0vf4mjkf1z5pjq4wp0xs2cby2fzld5p"; type = "gem"; }; version = "0.1.0"; }; ronin-payloads = { - dependencies = ["ronin-code-asm" "ronin-core" "ronin-post_ex" "ronin-repos" "ronin-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ronin-code-asm" + "ronin-core" + "ronin-post_ex" + "ronin-repos" + "ronin-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1gsgbw90xmwwnpc8i873wwgia56hcjkhlyjpxl7s4yvd7ml7pj0f"; type = "gem"; }; version = "0.1.4"; }; ronin-post_ex = { - dependencies = ["fake_io" "hexdump" "ronin-core"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "fake_io" + "hexdump" + "ronin-core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0dcpnlz8niqjjm5d9z8khg53acl7xn5dgliv70svsncc3h0hx0w7"; type = "gem"; }; version = "0.1.0"; }; ronin-repos = { - dependencies = ["ronin-core"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ronin-core" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c453qw7xr4vsq2y5dlnihfmzy95q3xjbfl5cm1y0xwzdm7ibbzx"; type = "gem"; }; version = "0.1.1"; }; ronin-support = { - dependencies = ["addressable" "chars" "combinatorics" "hexdump" "uri-query_params"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "addressable" + "chars" + "combinatorics" + "hexdump" + "uri-query_params" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0k2vs6mkcyx0h7k3rjs2bwqimhkfa2m50ll8rgm7zygxz3f6gny3"; type = "gem"; }; version = "1.0.3"; }; ronin-vulns = { - dependencies = ["ronin-core" "ronin-support"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ronin-core" + "ronin-support" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1p00xrj71436g301b0wnq23ps89x4g9mmzvkghw9sqyfazgc829f"; type = "gem"; }; version = "0.1.4"; }; ronin-web = { - dependencies = ["mechanize" "nokogiri" "nokogiri-diff" "nokogiri-ext" "open_namespace" "ronin-core" "ronin-support" "ronin-web-server" "ronin-web-spider" "ronin-web-user_agents"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mechanize" + "nokogiri" + "nokogiri-diff" + "nokogiri-ext" + "open_namespace" + "ronin-core" + "ronin-support" + "ronin-web-server" + "ronin-web-spider" + "ronin-web-user_agents" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "06rh7hrkj4yl6pn1m3isfim2sk5vb3ap3rba91bw7drcqsra7fmw"; type = "gem"; }; version = "1.0.2"; }; ronin-web-server = { - dependencies = ["rack" "rack-user_agent" "ronin-support" "sinatra" "webrick"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rack" + "rack-user_agent" + "ronin-support" + "sinatra" + "webrick" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "14p1z2s20dkipb6rp2wyjc91dz6bjn5v8nv68m54my7p1vac05zk"; type = "gem"; }; version = "0.1.1"; }; ronin-web-spider = { - dependencies = ["ronin-support" "spidr"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "ronin-support" + "spidr" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0592llhzm8miy0lj4xsb4h0ppy18wmwqi54rjzzsm7h3d2py7iv9"; type = "gem"; }; version = "0.1.0"; }; ronin-web-user_agents = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1shca7bsc09hag7ax3js9xszw71mnf1ywrf0l0pk40hfqmnnaxcl"; type = "gem"; }; version = "0.1.0"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1dnfkrk8xx2m8r3r9m2p5xcq57viznyc09k7r3i4jbm758i57lx3"; type = "gem"; }; version = "3.30.0"; }; ruby-yasm = { - dependencies = ["command_mapper"]; - groups = ["default"]; - platforms = []; + dependencies = [ "command_mapper" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vf0kdaaysx9kr7v8rl0hl0j73zkfkg7zqvg0b41sgfg3zfib0ap"; type = "gem"; }; version = "0.3.0"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyntlm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv"; type = "gem"; }; version = "0.6.3"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mustermann" + "rack" + "rack-protection" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "00541cnypsh1mnilfxxqlz6va9afrixf9m1asn4wzjp5m59777p8"; type = "gem"; }; version = "3.1.0"; }; spidr = { - dependencies = ["nokogiri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nokogiri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15gjqry61z93f4p84x5b1bi6f65xd4djax0563ljngmsckyg7xg5"; type = "gem"; }; version = "0.7.0"; }; sqlite3 = { - dependencies = ["mini_portile2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_portile2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15415lmz69jbzl6nch4q5l2jxv054676nk6y0vgy0g3iklmjrxvc"; type = "gem"; }; version = "1.6.6"; }; stringio = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ix96dxbjqlpymdigb4diwrifr0bq7qhsrng95fkkp18av326nqk"; type = "gem"; }; version = "3.0.8"; }; tdiff = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rjvqyyxrybzhaqmgh4zjcdrvmqyqcqqbq4vda39idhrqcd2gy67"; type = "gem"; }; version = "0.3.4"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2"; type = "gem"; }; version = "2.3.0"; }; time = { - dependencies = ["date"]; - groups = ["default"]; - platforms = []; + dependencies = [ "date" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13pzdsgf3v06mymzipcpa7p80shyw328ybn775nzpnhc6n8y9g30"; type = "gem"; }; version = "0.2.2"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd"; type = "gem"; }; version = "0.4.0"; }; timers = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pjzipnmzfywvgsr3gxwj6nmg47lz4700g0q71jgcy1z6rb7dn7p"; type = "gem"; }; version = "4.3.5"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch"; type = "gem"; }; version = "0.0.8.2"; }; uri-query_params = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08i91q1q2fvjq7n21p4f4pryi8b9msknrgwz132spvhm4l55n6l6"; type = "gem"; }; version = "0.8.1"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r"; type = "gem"; }; version = "1.8.1"; }; webrobots = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19ndcbba8s8m62hhxxfwn83nax34rg2k5x066awa23wknhnamg7b"; type = "gem"; }; version = "0.1.2"; }; woothee = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xg31qi09swgsf46b9ba38z2jav2516bg3kg7xf1wfbzw8mpd3fc"; type = "gem"; }; version = "1.13.0"; }; wordlist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06d4nj2nd172sn5yjw9qmpz7zqnymadbsxph741yx2h9va8q0qgd"; type = "gem"; }; diff --git a/pkgs/tools/security/rucredstash/default.nix b/pkgs/tools/security/rucredstash/default.nix index 43166eb0bf8ec..9fe739ed814bc 100644 --- a/pkgs/tools/security/rucredstash/default.nix +++ b/pkgs/tools/security/rucredstash/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }: +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + Security, +}: rustPlatform.buildRustPackage rec { pname = "rucredstash"; diff --git a/pkgs/tools/security/sbomnix/default.nix b/pkgs/tools/security/sbomnix/default.nix index 7370854f9f60b..f6ab7ec81a687 100644 --- a/pkgs/tools/security/sbomnix/default.nix +++ b/pkgs/tools/security/sbomnix/default.nix @@ -1,29 +1,29 @@ -{ lib -, fetchFromGitHub -, git -, grype -, nix -, nix-visualize -, python -, vulnix -, # python libs - beautifulsoup4 -, colorlog -, dfdiskcache -, filelock -, graphviz -, numpy -, packageurl-python -, packaging -, pandas -, pyrate-limiter -, requests -, requests-cache -, requests-ratelimiter -, reuse -, setuptools -, tabulate -, +{ + lib, + fetchFromGitHub, + git, + grype, + nix, + nix-visualize, + python, + vulnix, + # python libs + beautifulsoup4, + colorlog, + dfdiskcache, + filelock, + graphviz, + numpy, + packageurl-python, + packaging, + pandas, + pyrate-limiter, + requests, + requests-cache, + requests-ratelimiter, + reuse, + setuptools, + tabulate, }: python.pkgs.buildPythonApplication rec { @@ -45,14 +45,16 @@ python.pkgs.buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ - git - nix - graphviz - nix-visualize - vulnix - grype - ]}" + "--prefix PATH : ${ + lib.makeBinPath [ + git + nix + graphviz + nix-visualize + vulnix + grype + ] + }" ]; nativeBuildInputs = [ setuptools ]; @@ -82,7 +84,14 @@ python.pkgs.buildPythonApplication rec { meta = with lib; { description = "Utilities to help with software supply chain challenges on nix targets"; homepage = "https://github.com/tiiuae/sbomnix"; - license = with licenses; [ asl20 bsd3 cc-by-30 ]; - maintainers = with maintainers; [ henrirosten jk ]; + license = with licenses; [ + asl20 + bsd3 + cc-by-30 + ]; + maintainers = with maintainers; [ + henrirosten + jk + ]; }; } diff --git a/pkgs/tools/security/schleuder/cli/default.nix b/pkgs/tools/security/schleuder/cli/default.nix index ea8e2c5083424..c65c16d409059 100644 --- a/pkgs/tools/security/schleuder/cli/default.nix +++ b/pkgs/tools/security/schleuder/cli/default.nix @@ -1,7 +1,8 @@ -{ lib -, bundlerApp -, ruby -, bundlerUpdateScript +{ + lib, + bundlerApp, + ruby, + bundlerUpdateScript, }: bundlerApp { diff --git a/pkgs/tools/security/schleuder/cli/gemset.nix b/pkgs/tools/security/schleuder/cli/gemset.nix index eeb05d82060f7..70a697bb60188 100644 --- a/pkgs/tools/security/schleuder/cli/gemset.nix +++ b/pkgs/tools/security/schleuder/cli/gemset.nix @@ -1,8 +1,8 @@ { schleuder-cli = { - dependencies = ["thor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "fd010d28b1503504056e714e03abf043b64794ea"; @@ -13,10 +13,10 @@ version = "0.2.0"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; type = "gem"; }; diff --git a/pkgs/tools/security/schleuder/default.nix b/pkgs/tools/security/schleuder/default.nix index 8429cb0ea0d01..eb4403d6f4eeb 100644 --- a/pkgs/tools/security/schleuder/default.nix +++ b/pkgs/tools/security/schleuder/default.nix @@ -1,9 +1,10 @@ -{ lib -, bundlerApp -, ruby -, stdenv -, bundlerUpdateScript -, nixosTests +{ + lib, + bundlerApp, + ruby, + stdenv, + bundlerUpdateScript, + nixosTests, }: bundlerApp { diff --git a/pkgs/tools/security/schleuder/gemset.nix b/pkgs/tools/security/schleuder/gemset.nix index ba22b478b00a5..ec334c67ac5f9 100644 --- a/pkgs/tools/security/schleuder/gemset.nix +++ b/pkgs/tools/security/schleuder/gemset.nix @@ -1,345 +1,385 @@ { activemodel = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zz32997k2fsyd0fzrh8f79yjr6hv3i4j9wykkxncl02j8dhrkay"; type = "gem"; }; version = "6.1.7.7"; }; activerecord = { - dependencies = ["activemodel" "activesupport"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activemodel" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0qzymgyrvw2k32ldabp2jr0zgp6z9w8smyb946qgvs9zfs4n2qnn"; type = "gem"; }; version = "6.1.7.7"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "concurrent-ruby" + "i18n" + "minitest" + "tzinfo" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r2i9b0pm0b1dy8fc7kyls1g7f0bcnyq53v825rykibzdqfqdfgp"; type = "gem"; }; version = "6.1.7.7"; }; bcrypt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444"; type = "gem"; }; version = "3.1.20"; }; charlock_holmes = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p"; type = "gem"; }; version = "0.7.7"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kmhr3pz2nmhnq0nqlicqfwfmkzkcl835g7sw1gjjhjvhz8g2sf3"; type = "gem"; }; version = "1.3.1"; }; daemons = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg"; type = "gem"; }; version = "1.4.1"; }; eventmachine = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; gpgme = { - dependencies = ["mini_portile2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_portile2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r1vmql7w7ka5xzj1aqf8pk2a4sv0znwj2zkg1fgvd5b89qcvv2k"; type = "gem"; }; version = "2.0.24"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; version = "1.14.5"; }; mail = { - dependencies = ["mini_mime"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_mime" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; type = "gem"; }; version = "2.7.1"; }; mail-gpg = { - dependencies = ["gpgme" "mail"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "gpgme" + "mail" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1rz936m8nacy7agksvpvkf6b37d1h5qvh5xkrjqvv5wbdqs3cyfj"; type = "gem"; }; version = "0.4.4"; }; mini_mime = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; version = "1.1.5"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf"; type = "gem"; }; version = "2.8.6"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i"; type = "gem"; }; version = "5.23.1"; }; multi_json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; mustermann = { - dependencies = ["ruby2_keywords"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby2_keywords" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m70qz27mlv2rhk4j1li6pw797gmiwwqg02vcgxcxr1rq2v53rnb"; type = "gem"; }; version = "2.0.2"; }; net-protocol = { - dependencies = ["timeout"]; - groups = ["default"]; - platforms = []; + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; version = "0.2.2"; }; net-smtp = { - dependencies = ["net-protocol"]; - groups = ["default"]; - platforms = []; + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; version = "0.5.0"; }; rack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx"; type = "gem"; }; version = "2.2.9"; }; rack-protection = { - dependencies = ["rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d6irsigm0i4ig1m47c94kixi3wb8jnxwvwkl8qxvyngmb73srl2"; type = "gem"; }; version = "2.2.4"; }; rake = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; version = "13.2.1"; }; ruby2_keywords = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; schleuder = { - dependencies = ["activerecord" "bcrypt" "charlock_holmes" "gpgme" "mail" "mail-gpg" "rake" "sinatra" "sinatra-contrib" "sqlite3" "thin" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "activerecord" + "bcrypt" + "charlock_holmes" + "gpgme" + "mail" + "mail-gpg" + "rake" + "sinatra" + "sinatra-contrib" + "sqlite3" + "thin" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0lxmi7402v5qkajx3j5bydarxf3lbm1kzpwgy7zsmc7l28mcv8wx"; type = "gem"; }; version = "4.0.3"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mustermann" + "rack" + "rack-protection" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0wkc079h6hzq737j4wycpnv7c38mhd0rl33pszyy7768zzvyjc9y"; type = "gem"; }; version = "2.2.4"; }; sinatra-contrib = { - dependencies = ["multi_json" "mustermann" "rack-protection" "sinatra" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "multi_json" + "mustermann" + "rack-protection" + "sinatra" + "tilt" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0s6c1k3zzxp3xa7libvlpqaby27124rccyyxcsly04ih904cxk33"; type = "gem"; }; version = "2.2.4"; }; sqlite3 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z1wa639c278bsipczn6kv8b13fj85pi8gk7x462chqx6k0wm0ax"; type = "gem"; }; version = "1.4.4"; }; thin = { - dependencies = ["daemons" "eventmachine" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "daemons" + "eventmachine" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08g1yq6zzvgndj8fd98ah7pp8g2diw28p8bfjgv7rvjvp8d2am8w"; type = "gem"; }; version = "1.8.2"; }; thor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; type = "gem"; }; version = "0.20.3"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2"; type = "gem"; }; version = "2.3.0"; }; timeout = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; version = "0.4.1"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; zeitwerk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kr2731z8f6cj23jxh67cdnpkrnnfwbrxj1hfhshls4mp8i8drmj"; type = "gem"; }; diff --git a/pkgs/tools/security/sheesy-cli/default.nix b/pkgs/tools/security/sheesy-cli/default.nix index a2dda4493852d..87701523ec510 100644 --- a/pkgs/tools/security/sheesy-cli/default.nix +++ b/pkgs/tools/security/sheesy-cli/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, rustPlatform, fetchCrate, installShellFiles -, libgpg-error, gpgme, gettext, openssl, Security +{ + lib, + stdenv, + rustPlatform, + fetchCrate, + installShellFiles, + libgpg-error, + gpgme, + gettext, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -14,15 +23,29 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-o2XRvzw54x6xv81l97s1hwc2MC0Ioeyheoz3F+AtKpU="; cargoDepsName = pname; - nativeBuildInputs = [ libgpg-error gpgme gettext installShellFiles ]; + nativeBuildInputs = [ + libgpg-error + gpgme + gettext + installShellFiles + ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; - buildFeatures = [ "vault" "extract" "completions" "substitute" "process" ]; + buildFeatures = [ + "vault" + "extract" + "completions" + "substitute" + "process" + ]; checkFeatures = [ ]; - cargoBuildFlags = [ "--bin" "sy" ]; + cargoBuildFlags = [ + "--bin" + "sy" + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd sy \ diff --git a/pkgs/tools/security/softhsm/default.nix b/pkgs/tools/security/softhsm/default.nix index d755e131d8f00..3cbf2e7594187 100644 --- a/pkgs/tools/security/softhsm/default.nix +++ b/pkgs/tools/security/softhsm/default.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchurl, botan2, sqlite, libobjc, Security }: +{ + lib, + stdenv, + fetchurl, + botan2, + sqlite, + libobjc, + Security, +}: stdenv.mkDerivation rec { @@ -18,10 +26,15 @@ stdenv.mkDerivation rec { "--localstatedir=$out/var" ]; - propagatedBuildInputs = - lib.optionals stdenv.hostPlatform.isDarwin [ libobjc Security ]; + propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libobjc + Security + ]; - buildInputs = [ botan2 sqlite ]; + buildInputs = [ + botan2 + sqlite + ]; postInstall = "rm -rf $out/var"; diff --git a/pkgs/tools/security/solo2-cli/default.nix b/pkgs/tools/security/solo2-cli/default.nix index 387bf00e37bfe..4e4004e9c8b5a 100644 --- a/pkgs/tools/security/solo2-cli/default.nix +++ b/pkgs/tools/security/solo2-cli/default.nix @@ -1,15 +1,16 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, installShellFiles -, pkg-config -, pcsclite -, udev -, PCSC -, IOKit -, CoreFoundation -, AppKit +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + installShellFiles, + pkg-config, + pcsclite, + udev, + PCSC, + IOKit, + CoreFoundation, + AppKit, }: rustPlatform.buildRustPackage rec { @@ -25,11 +26,23 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-X+IEeztSL312Yq9Loi3cNJuVfSGk/tRRBCsy0Juji7Y="; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; - buildInputs = [ ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pcsclite udev ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ PCSC IOKit CoreFoundation AppKit ]; + buildInputs = + [ ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + pcsclite + udev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + PCSC + IOKit + CoreFoundation + AppKit + ]; postInstall = '' install -D 70-solo2.rules $out/lib/udev/rules.d/70-solo2.rules @@ -44,7 +57,10 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "CLI tool for managing SoloKeys' Solo2 USB security keys"; homepage = "https://github.com/solokeys/solo2-cli"; - license = with licenses; [ asl20 mit ]; # either at your option + license = with licenses; [ + asl20 + mit + ]; # either at your option maintainers = with maintainers; [ lukegb ]; mainProgram = "solo2"; }; diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix index a248e6fe21095..643167e5a3a57 100644 --- a/pkgs/tools/security/sslscan/default.nix +++ b/pkgs/tools/security/sslscan/default.nix @@ -1,7 +1,8 @@ -{ lib -, stdenv -, fetchFromGitHub -, openssl +{ + lib, + stdenv, + fetchFromGitHub, + openssl, }: stdenv.mkDerivation rec { @@ -17,7 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ openssl ]; - makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ]; + makeFlags = [ + "PREFIX=$(out)" + "CC=${stdenv.cc.targetPrefix}cc" + ]; meta = with lib; { description = "Tests SSL/TLS services and discover supported cipher suites"; @@ -25,6 +29,9 @@ stdenv.mkDerivation rec { homepage = "https://github.com/rbsec/sslscan"; changelog = "https://github.com/rbsec/sslscan/blob/${version}/Changelog"; license = licenses.gpl3Only; - maintainers = with maintainers; [ fpletz globin ]; + maintainers = with maintainers; [ + fpletz + globin + ]; }; } diff --git a/pkgs/tools/security/stoken/default.nix b/pkgs/tools/security/stoken/default.nix index 455310c202b8c..bef9a55bd31d8 100644 --- a/pkgs/tools/security/stoken/default.nix +++ b/pkgs/tools/security/stoken/default.nix @@ -1,12 +1,13 @@ -{ lib -, stdenv -, fetchFromGitHub -, autoreconfHook -, pkg-config -, libxml2 -, nettle -, withGTK3 ? !stdenv.hostPlatform.isStatic -, gtk3 +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libxml2, + nettle, + withGTK3 ? !stdenv.hostPlatform.isStatic, + gtk3, }: stdenv.mkDerivation rec { @@ -27,12 +28,14 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ - libxml2 - nettle - ] ++ lib.optionals withGTK3 [ - gtk3 - ]; + buildInputs = + [ + libxml2 + nettle + ] + ++ lib.optionals withGTK3 [ + gtk3 + ]; meta = with lib; { description = "Software Token for Linux/UNIX"; diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 62cd7cfa7f26b..e2576f02bb5b2 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,21 +1,41 @@ -{ lib, stdenv, fetchurl, pkg-config, libevent, openssl, zlib, torsocks -, libseccomp, systemd, libcap, xz, zstd, scrypt, nixosTests -, writeShellScript - -# for update.nix -, writeScript -, common-updater-scripts -, bash -, coreutils -, curl -, gnugrep -, gnupg -, gnused -, nix +{ + lib, + stdenv, + fetchurl, + pkg-config, + libevent, + openssl, + zlib, + torsocks, + libseccomp, + systemd, + libcap, + xz, + zstd, + scrypt, + nixosTests, + writeShellScript, + + # for update.nix + writeScript, + common-updater-scripts, + bash, + coreutils, + curl, + gnugrep, + gnupg, + gnused, + nix, }: let tor-client-auth-gen = writeShellScript "tor-client-auth-gen" '' - PATH="${lib.makeBinPath [coreutils gnugrep openssl]}" + PATH="${ + lib.makeBinPath [ + coreutils + gnugrep + openssl + ] + }" pem="$(openssl genpkey -algorithm x25519)" printf private_key=descriptor:x25519: @@ -37,11 +57,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-m68mw4eiggs5QtpXIUbm63fCvGaGKvYpfNAqB05vuig="; }; - outputs = [ "out" "geoip" ]; + outputs = [ + "out" + "geoip" + ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libevent openssl zlib xz zstd scrypt ] ++ - lib.optionals stdenv.hostPlatform.isLinux [ libseccomp systemd libcap ]; + buildInputs = + [ + libevent + openssl + zlib + xz + zstd + scrypt + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libseccomp + systemd + libcap + ]; patches = [ ./disable-monotonic-timer-tests.patch ]; @@ -51,12 +86,13 @@ stdenv.mkDerivation rec { # https://gitlab.torproject.org/tpo/onion-services/onion-support/-/wikis/Documentation/PoW-FAQ#compiling-c-tor-with-the-pow-defense [ "--enable-gpl" ] ++ - # cross compiles correctly but needs the following - lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ] + # cross compiles correctly but needs the following + lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ] ++ - # sandbox is broken on aarch64-linux https://gitlab.torproject.org/tpo/core/tor/-/issues/40599 - lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ "--disable-seccomp" ] - ; + # sandbox is broken on aarch64-linux https://gitlab.torproject.org/tpo/core/tor/-/issues/40599 + lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + "--disable-seccomp" + ]; NIX_CFLAGS_LINK = lib.optionalString stdenv.cc.isGNU "-lgcc_s"; @@ -95,7 +131,7 @@ stdenv.mkDerivation rec { gnugrep gnused nix - ; + ; }; }; @@ -113,10 +149,16 @@ stdenv.mkDerivation rec { the TCP protocol. ''; - license = with licenses; [ bsd3 gpl3Only ]; + license = with licenses; [ + bsd3 + gpl3Only + ]; - maintainers = with maintainers; - [ thoughtpolice joachifm prusnak ]; + maintainers = with maintainers; [ + thoughtpolice + joachifm + prusnak + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix index 8b09bfc3bf9b6..5092a1e42af92 100644 --- a/pkgs/tools/security/tor/torsocks.nix +++ b/pkgs/tools/security/tor/torsocks.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitLab -, fetchpatch -, autoreconfHook -, libcap +{ + lib, + stdenv, + fetchFromGitLab, + fetchpatch, + autoreconfHook, + libcap, }: stdenv.mkDerivation rec { @@ -35,16 +36,18 @@ stdenv.mkDerivation rec { ./torsocks-gethostbyaddr-darwin.patch ]; - postPatch = '' - # Patch torify_app() - sed -i \ - -e 's,\(local app_path\)=`which $1`,\1=`type -P $1`,' \ - src/bin/torsocks.in - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - sed -i \ - -e 's,\(local getcap\)=.*,\1=${libcap}/bin/getcap,' \ - src/bin/torsocks.in - ''; + postPatch = + '' + # Patch torify_app() + sed -i \ + -e 's,\(local app_path\)=`which $1`,\1=`type -P $1`,' \ + src/bin/torsocks.in + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + sed -i \ + -e 's,\(local getcap\)=.*,\1=${libcap}/bin/getcap,' \ + src/bin/torsocks.in + ''; nativeBuildInputs = [ autoreconfHook ]; @@ -52,11 +55,11 @@ stdenv.mkDerivation rec { installCheckTarget = "check-recursive"; meta = { - description = "Wrapper to safely torify applications"; + description = "Wrapper to safely torify applications"; mainProgram = "torsocks"; - homepage = "https://gitlab.torproject.org/tpo/core/torsocks"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ thoughtpolice ]; + homepage = "https://gitlab.torproject.org/tpo/core/torsocks"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/tools/security/tor/update.nix b/pkgs/tools/security/tor/update.nix index f0106aa26ea9a..c1eaa3c1c1484 100644 --- a/pkgs/tools/security/tor/update.nix +++ b/pkgs/tools/security/tor/update.nix @@ -1,13 +1,14 @@ -{ lib -, writeScript -, common-updater-scripts -, bash -, coreutils -, curl -, gnugrep -, gnupg -, gnused -, nix +{ + lib, + writeScript, + common-updater-scripts, + bash, + coreutils, + curl, + gnugrep, + gnupg, + gnused, + nix, }: let @@ -22,49 +23,51 @@ let in writeScript "update-tor" '' -#! ${bash}/bin/bash + #! ${bash}/bin/bash -set -eu -o pipefail + set -eu -o pipefail -export PATH=${lib.makeBinPath [ - common-updater-scripts - coreutils - curl - gnugrep - gnupg - gnused - nix -]} + export PATH=${ + lib.makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + gnupg + gnused + nix + ] + } -srcBase=$(curl -L --list-only -- "${downloadPageUrl}" \ - | grep -Eo 'tor-([[:digit:]]+\.?)+\.tar\.gz' \ - | sort -Vu \ - | tail -n1) -srcFile=$srcBase -srcUrl=${downloadPageUrl}/$srcBase + srcBase=$(curl -L --list-only -- "${downloadPageUrl}" \ + | grep -Eo 'tor-([[:digit:]]+\.?)+\.tar\.gz' \ + | sort -Vu \ + | tail -n1) + srcFile=$srcBase + srcUrl=${downloadPageUrl}/$srcBase -srcName=''${srcBase/.tar.gz/} -srcVers=(''${srcName//-/ }) -version=''${srcVers[1]} + srcName=''${srcBase/.tar.gz/} + srcVers=(''${srcName//-/ }) + version=''${srcVers[1]} -checksumUrl=$srcUrl.sha256sum -checksumFile=''${checksumUrl##*/} + checksumUrl=$srcUrl.sha256sum + checksumFile=''${checksumUrl##*/} -sigUrl=$checksumUrl.asc -sigFile=''${sigUrl##*/} + sigUrl=$checksumUrl.asc + sigFile=''${sigUrl##*/} -# upstream does not support byte ranges ... -[[ -e "$srcFile" ]] || curl -L -o "$srcFile" -- "$srcUrl" -[[ -e "$checksumFile" ]] || curl -L -o "$checksumFile" -- "$checksumUrl" -[[ -e "$sigFile" ]] || curl -L -o "$sigFile" -- "$sigUrl" + # upstream does not support byte ranges ... + [[ -e "$srcFile" ]] || curl -L -o "$srcFile" -- "$srcUrl" + [[ -e "$checksumFile" ]] || curl -L -o "$checksumFile" -- "$checksumUrl" + [[ -e "$sigFile" ]] || curl -L -o "$sigFile" -- "$sigUrl" -export GNUPGHOME=$PWD/gnupg -mkdir -m 700 -p "$GNUPGHOME" + export GNUPGHOME=$PWD/gnupg + mkdir -m 700 -p "$GNUPGHOME" -gpg --batch --recv-keys ${lib.concatStringsSep " " (map (x: "'${x}'") signingKeys)} -gpg --batch --verify "$sigFile" "$checksumFile" + gpg --batch --recv-keys ${lib.concatStringsSep " " (map (x: "'${x}'") signingKeys)} + gpg --batch --verify "$sigFile" "$checksumFile" -sha256sum -c "$checksumFile" + sha256sum -c "$checksumFile" -update-source-version tor "$version" "$(cut -d ' ' "$checksumFile")" + update-source-version tor "$version" "$(cut -d ' ' "$checksumFile")" '' diff --git a/pkgs/tools/security/tracee/default.nix b/pkgs/tools/security/tracee/default.nix index 315ec08116afe..fb0504f56ee38 100644 --- a/pkgs/tools/security/tracee/default.nix +++ b/pkgs/tools/security/tracee/default.nix @@ -1,18 +1,19 @@ -{ lib -, buildGoModule -, fetchFromGitHub - -, clang -, pkg-config - -, zlib -, elfutils -, libbpf - -, nixosTests -, testers -, tracee -, makeWrapper +{ + lib, + buildGoModule, + fetchFromGitHub, + + clang, + pkg-config, + + zlib, + elfutils, + libbpf, + + nixosTests, + testers, + tracee, + makeWrapper, }: buildGoModule rec { @@ -40,8 +41,15 @@ buildGoModule rec { # needed to build bpf libs hardeningDisable = [ "stackprotector" ]; - nativeBuildInputs = [ pkg-config clang ]; - buildInputs = [ elfutils libbpf zlib ]; + nativeBuildInputs = [ + pkg-config + clang + ]; + buildInputs = [ + elfutils + libbpf + zlib + ]; makeFlags = [ "VERSION=v${version}" @@ -62,7 +70,11 @@ buildGoModule rec { # see passthru.tests.integration doCheck = false; - outputs = [ "out" "lib" "share" ]; + outputs = [ + "out" + "lib" + "share" + ]; installPhase = '' runHook preInstall @@ -105,7 +117,13 @@ buildGoModule rec { gpl2Plus ]; maintainers = with maintainers; [ jk ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - outputsToInstall = [ "out" "share" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + outputsToInstall = [ + "out" + "share" + ]; }; } diff --git a/pkgs/tools/security/tracee/integration-tests.nix b/pkgs/tools/security/tracee/integration-tests.nix index fd3feb69f5648..b83fb189cabff 100644 --- a/pkgs/tools/security/tracee/integration-tests.nix +++ b/pkgs/tools/security/tracee/integration-tests.nix @@ -1,18 +1,24 @@ -{ lib, tracee, makeWrapper }: +{ + lib, + tracee, + makeWrapper, +}: tracee.overrideAttrs (oa: { pname = oa.pname + "-integration"; - postPatch = oa.postPatch or "" + '' - # fix the test to look at nixos paths for running programs - # --replace-fail '"integration.tes"' '"tracee-integrat"' \ - substituteInPlace tests/integration/event_filters_test.go \ - --replace-fail "exec=/usr/bin/dockerd" "comm=dockerd" \ - --replace-fail "exec=/usr/bin" "exec=/tmp/testdir" \ - --replace-fail "/usr/bin/tee" "tee" \ - --replace-fail "/usr/bin" "/run/current-system/sw/bin" \ - --replace-fail 'syscallerAbsPath := filepath.Join("..", "..", "dist", "syscaller")' "syscallerAbsPath := filepath.Join(\"$out/bin/syscaller\")" - substituteInPlace tests/integration/exec_test.go \ - --replace-fail "/usr/bin" "/run/current-system/sw/bin" - ''; + postPatch = + oa.postPatch or "" + + '' + # fix the test to look at nixos paths for running programs + # --replace-fail '"integration.tes"' '"tracee-integrat"' \ + substituteInPlace tests/integration/event_filters_test.go \ + --replace-fail "exec=/usr/bin/dockerd" "comm=dockerd" \ + --replace-fail "exec=/usr/bin" "exec=/tmp/testdir" \ + --replace-fail "/usr/bin/tee" "tee" \ + --replace-fail "/usr/bin" "/run/current-system/sw/bin" \ + --replace-fail 'syscallerAbsPath := filepath.Join("..", "..", "dist", "syscaller")' "syscallerAbsPath := filepath.Join(\"$out/bin/syscaller\")" + substituteInPlace tests/integration/exec_test.go \ + --replace-fail "/usr/bin" "/run/current-system/sw/bin" + ''; nativeBuildInputs = oa.nativeBuildInputs or [ ] ++ [ makeWrapper ]; buildPhase = '' runHook preBuild diff --git a/pkgs/tools/security/vaultwarden/default.nix b/pkgs/tools/security/vaultwarden/default.nix index e0039281261fd..92f171fb77db1 100644 --- a/pkgs/tools/security/vaultwarden/default.nix +++ b/pkgs/tools/security/vaultwarden/default.nix @@ -1,10 +1,23 @@ -{ lib, stdenv, callPackage, rustPlatform, fetchFromGitHub, nixosTests -, pkg-config, openssl -, libiconv, Security, CoreServices, SystemConfiguration -, dbBackend ? "sqlite", libmysqlclient, postgresql }: +{ + lib, + stdenv, + callPackage, + rustPlatform, + fetchFromGitHub, + nixosTests, + pkg-config, + openssl, + libiconv, + Security, + CoreServices, + SystemConfiguration, + dbBackend ? "sqlite", + libmysqlclient, + postgresql, +}: let - webvault = callPackage ./webvault.nix {}; + webvault = callPackage ./webvault.nix { }; in rustPlatform.buildRustPackage rec { @@ -24,8 +37,14 @@ rustPlatform.buildRustPackage rec { env.VW_VERSION = version; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security CoreServices SystemConfiguration ] + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + CoreServices + SystemConfiguration + ] ++ lib.optional (dbBackend == "mysql") libmysqlclient ++ lib.optional (dbBackend == "postgresql") postgresql; @@ -34,7 +53,7 @@ rustPlatform.buildRustPackage rec { passthru = { inherit webvault; tests = nixosTests.vaultwarden; - updateScript = callPackage ./update.nix {}; + updateScript = callPackage ./update.nix { }; }; meta = with lib; { @@ -42,7 +61,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/dani-garcia/vaultwarden"; changelog = "https://github.com/dani-garcia/vaultwarden/releases/tag/${version}"; license = licenses.agpl3Only; - maintainers = with maintainers; [ dotlambda SuperSandro2000 ]; + maintainers = with maintainers; [ + dotlambda + SuperSandro2000 + ]; mainProgram = "vaultwarden"; }; } diff --git a/pkgs/tools/security/vaultwarden/update.nix b/pkgs/tools/security/vaultwarden/update.nix index 4d0c6c4a50474..94034fa038843 100644 --- a/pkgs/tools/security/vaultwarden/update.nix +++ b/pkgs/tools/security/vaultwarden/update.nix @@ -1,19 +1,30 @@ -{ writeShellApplication -, lib -, nix -, nix-prefetch-git -, nix-update -, curl -, git -, gnugrep -, gnused -, jq -, yq +{ + writeShellApplication, + lib, + nix, + nix-prefetch-git, + nix-update, + curl, + git, + gnugrep, + gnused, + jq, + yq, }: lib.getExe (writeShellApplication { name = "update-vaultwarden"; - runtimeInputs = [ curl git gnugrep gnused jq yq nix nix-prefetch-git nix-update ]; + runtimeInputs = [ + curl + git + gnugrep + gnused + jq + yq + nix + nix-prefetch-git + nix-update + ]; text = '' VAULTWARDEN_VERSION=$(curl --silent https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | jq -r '.tag_name') diff --git a/pkgs/tools/security/vaultwarden/webvault.nix b/pkgs/tools/security/vaultwarden/webvault.nix index c4d881373fa2a..d960e3c34a3b6 100644 --- a/pkgs/tools/security/vaultwarden/webvault.nix +++ b/pkgs/tools/security/vaultwarden/webvault.nix @@ -1,10 +1,11 @@ -{ lib -, buildNpmPackage -, fetchFromGitHub -, git -, nixosTests -, python3 -, vaultwarden +{ + lib, + buildNpmPackage, + fetchFromGitHub, + git, + nixosTests, + python3, + vaultwarden, }: let @@ -19,7 +20,8 @@ let hash = "sha256-Gd8yQx9j6ieUvaM6IPSELNRy83y0cBkBwLYMqk8OIjU="; }; -in buildNpmPackage rec { +in +buildNpmPackage rec { pname = "vaultwarden-webvault"; inherit version; @@ -49,7 +51,8 @@ in buildNpmPackage rec { npmBuildScript = "dist:oss:selfhost"; npmBuildFlags = [ - "--workspace" "apps/web" + "--workspace" + "apps/web" ]; npmFlags = [ "--legacy-peer-deps" ]; diff --git a/pkgs/tools/security/web-eid-app/default.nix b/pkgs/tools/security/web-eid-app/default.nix index 3e1df1648c76f..11afcd40003e0 100644 --- a/pkgs/tools/security/web-eid-app/default.nix +++ b/pkgs/tools/security/web-eid-app/default.nix @@ -1,11 +1,12 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, cmake -, gtest -, pcsclite -, pkg-config -, qttools +{ + lib, + mkDerivation, + fetchFromGitHub, + cmake, + gtest, + pcsclite, + pkg-config, + qttools, }: mkDerivation rec { diff --git a/pkgs/tools/security/whatweb/default.nix b/pkgs/tools/security/whatweb/default.nix index 9adf3cde8e478..f672f4410245b 100644 --- a/pkgs/tools/security/whatweb/default.nix +++ b/pkgs/tools/security/whatweb/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, bundlerEnv, ruby }: +{ + lib, + stdenv, + fetchFromGitHub, + bundlerEnv, + ruby, +}: let gems = bundlerEnv { @@ -7,7 +13,8 @@ let gemdir = ./.; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "whatweb"; version = "0.5.5"; diff --git a/pkgs/tools/security/whatweb/gemset.nix b/pkgs/tools/security/whatweb/gemset.nix index 22d469b53e27d..b495ed96fbc21 100644 --- a/pkgs/tools/security/whatweb/gemset.nix +++ b/pkgs/tools/security/whatweb/gemset.nix @@ -1,71 +1,71 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; type = "gem"; }; version = "2.8.0"; }; bson = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03n3w96vpblaxvk1qk8hq7sbsmg4nv7qdkdr8f7nfvalgpakp5i5"; type = "gem"; }; version = "4.14.1"; }; ipaddr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq"; type = "gem"; }; version = "1.2.4"; }; json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z9grvjyfz16ag55hg522d3q4dh07hf391sf9s96npc0vfi85xkz"; type = "gem"; }; version = "2.6.1"; }; mongo = { - dependencies = ["bson"]; - groups = ["default"]; - platforms = []; + dependencies = [ "bson" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19sihy8ihi3hmdg3gxbf4qvzmjnzx8xygg9534012j9z0wmhs7h1"; type = "gem"; }; version = "2.17.1"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; type = "gem"; }; version = "4.0.6"; }; rchardet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; type = "gem"; }; diff --git a/pkgs/tools/security/wpscan/default.nix b/pkgs/tools/security/wpscan/default.nix index 0d3d312cea43f..afc92814244f3 100644 --- a/pkgs/tools/security/wpscan/default.nix +++ b/pkgs/tools/security/wpscan/default.nix @@ -1,7 +1,8 @@ -{ lib -, bundlerApp -, makeWrapper -, curl +{ + lib, + bundlerApp, + makeWrapper, + curl, }: bundlerApp { @@ -23,7 +24,10 @@ bundlerApp { homepage = "https://wpscan.org/"; changelog = "https://github.com/wpscanteam/wpscan/releases"; license = licenses.unfreeRedistributable; - maintainers = with maintainers; [ nyanloutre manveru ]; + maintainers = with maintainers; [ + nyanloutre + manveru + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix index df1c097baea7b..8fc1e9032d77b 100644 --- a/pkgs/tools/security/wpscan/gemset.nix +++ b/pkgs/tools/security/wpscan/gemset.nix @@ -1,292 +1,320 @@ { activesupport = { - dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "base64" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "094cv9kxa8hwlsw3c0njkvvayd0wszcz9b6xywv4yajrg83zlmvm"; type = "gem"; }; version = "7.2.1"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; base64 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; version = "0.2.0"; }; bigdecimal = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; version = "3.1.8"; }; cms_scanner = { - dependencies = ["ethon" "get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "ethon" + "get_process_mem" + "nokogiri" + "opt_parse_validator" + "public_suffix" + "ruby-progressbar" + "sys-proctable" + "typhoeus" + "xmlrpc" + "yajl-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bkmxxxz0q8brfivm7li1hmk2yrdl8wpi25qi4c2rhzfk361ass3"; type = "gem"; }; version = "0.14.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; connection_pool = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; type = "gem"; }; version = "2.4.1"; }; drb = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; version = "2.2.1"; }; ethon = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; type = "gem"; }; version = "0.16.0"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; get_process_mem = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fkyyyxjcx4iigm8vhraa629k2lxa1npsv4015y82snx84v3rzaa"; type = "gem"; }; version = "0.2.7"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; version = "1.14.6"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; minitest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; version = "5.25.1"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; opt_parse_validator = { - dependencies = ["activesupport" "addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "activesupport" + "addressable" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0x2pn1c8h5sn3j5x05n2l1wnd56vp28jzg8pap1dj7ddmhlv12p4"; type = "gem"; }; version = "1.10.0"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; ruby-progressbar = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; type = "gem"; }; version = "1.13.0"; }; securerandom = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q"; type = "gem"; }; version = "0.3.1"; }; sys-proctable = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m3fj6j1qpfszqnsvr6wpak0d9vw5ggylaqkalhl3m50kbbimxii"; type = "gem"; }; version = "1.3.0"; }; typhoeus = { - dependencies = ["ethon"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ethon" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw"; type = "gem"; }; version = "1.4.1"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; type = "gem"; }; version = "2.0.6"; }; webrick = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; type = "gem"; }; version = "1.8.2"; }; wpscan = { - dependencies = ["cms_scanner"]; - groups = ["default"]; - platforms = []; + dependencies = [ "cms_scanner" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14d2kp01fnbm88ny6wvzr1v8za2mv4wvx8k0iz8cb5z15nlldk78"; type = "gem"; }; version = "3.8.27"; }; xmlrpc = { - dependencies = ["webrick"]; - groups = ["default"]; - platforms = []; + dependencies = [ "webrick" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fwfnccagsjrbvrav5nbk3zracj9zncr7i375nn20jd4cfy4cggc"; type = "gem"; }; version = "0.3.3"; }; yajl-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc"; type = "gem"; }; diff --git a/pkgs/tools/security/zsteg/default.nix b/pkgs/tools/security/zsteg/default.nix index 2171a77fce1a2..c078189f4f29c 100644 --- a/pkgs/tools/security/zsteg/default.nix +++ b/pkgs/tools/security/zsteg/default.nix @@ -11,7 +11,10 @@ bundlerApp { description = "Detect stegano-hidden data in PNG & BMP"; homepage = "http://zed.0xff.me/"; license = licenses.mit; - maintainers = with maintainers; [ applePrincess h7x4 ]; + maintainers = with maintainers; [ + applePrincess + h7x4 + ]; mainProgram = "zsteg"; }; } diff --git a/pkgs/tools/security/zsteg/gemset.nix b/pkgs/tools/security/zsteg/gemset.nix index 5cb55829a6acd..07dfcf016f01e 100644 --- a/pkgs/tools/security/zsteg/gemset.nix +++ b/pkgs/tools/security/zsteg/gemset.nix @@ -1,72 +1,79 @@ { forwardable = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1b5g1i3xdvmxxpq4qp0z4v78ivqnazz26w110fh4cvzsdayz8zgi"; type = "gem"; }; version = "1.3.3"; }; iostruct = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z3vnb8mhzns3ybf78vlj5cy6lq4pyfm8n40kqba2s33xccs3kl0"; type = "gem"; }; version = "0.0.5"; }; prime = { - dependencies = ["forwardable" "singleton"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "forwardable" + "singleton" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1973kz8lbck6ga5v42f55jk8b8pnbgwp9p67dl1xw15gvz55dsfl"; type = "gem"; }; version = "0.1.2"; }; rainbow = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; version = "3.1.1"; }; singleton = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qq54imvbksnckzf9hrq9bjzcdb0n8wfv6l5jc0di10n88277jx6"; type = "gem"; }; version = "0.2.0"; }; zpng = { - dependencies = ["rainbow"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rainbow" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xyr7ipgls7wci1gnsz340idm69jls0gind0q4f63ccjwgzsfkqw"; type = "gem"; }; version = "0.4.5"; }; zsteg = { - dependencies = ["iostruct" "prime" "zpng"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "iostruct" + "prime" + "zpng" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "128kbv9vsi288mj17zwvc45ijpzf3p116vk9kcvkz978hz0n6spm"; type = "gem"; }; diff --git a/pkgs/tools/system/bottom/default.nix b/pkgs/tools/system/bottom/default.nix index bef7d0e4264f2..f042b7067f4ec 100644 --- a/pkgs/tools/system/bottom/default.nix +++ b/pkgs/tools/system/bottom/default.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -, stdenv -, darwin -, bottom -, testers +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, + darwin, + bottom, + testers, }: rustPlatform.buildRustPackage rec { @@ -49,7 +50,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/ClementTsang/bottom"; changelog = "https://github.com/ClementTsang/bottom/blob/${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ berbiche figsoda ]; + maintainers = with maintainers; [ + berbiche + figsoda + ]; mainProgram = "btm"; }; } diff --git a/pkgs/tools/system/clinfo/default.nix b/pkgs/tools/system/clinfo/default.nix index 465bba682b0e0..48b5d4672b8a1 100644 --- a/pkgs/tools/system/clinfo/default.nix +++ b/pkgs/tools/system/clinfo/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, ocl-icd, opencl-headers, OpenCL }: +{ + lib, + stdenv, + fetchFromGitHub, + ocl-icd, + opencl-headers, + OpenCL, +}: stdenv.mkDerivation rec { pname = "clinfo"; @@ -11,12 +18,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-1jZP4SnLIHh3vQJLBp+j/eQ1c8XBGFR2hjYxflhpWAU="; }; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - ocl-icd - opencl-headers - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - OpenCL - ]; + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + ocl-icd + opencl-headers + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + OpenCL + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -24,7 +33,10 @@ stdenv.mkDerivation rec { description = "Print all known information about all available OpenCL platforms and devices in the system"; homepage = "https://github.com/Oblomov/clinfo"; license = licenses.cc0; - maintainers = with maintainers; [ athas r-burns ]; + maintainers = with maintainers; [ + athas + r-burns + ]; platforms = platforms.unix; mainProgram = "clinfo"; }; diff --git a/pkgs/tools/system/cm-rgb/default.nix b/pkgs/tools/system/cm-rgb/default.nix index 392f955fe7656..577cf0a179bb5 100644 --- a/pkgs/tools/system/cm-rgb/default.nix +++ b/pkgs/tools/system/cm-rgb/default.nix @@ -1,13 +1,14 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, atk -, gobject-introspection -, wrapGAppsHook3 -, click -, hidapi -, psutil -, pygobject3 +{ + lib, + buildPythonApplication, + fetchFromGitHub, + atk, + gobject-introspection, + wrapGAppsHook3, + click, + hidapi, + psutil, + pygobject3, }: buildPythonApplication rec { diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix index b75cdb19de163..4be42d86237ed 100644 --- a/pkgs/tools/system/collectd/default.nix +++ b/pkgs/tools/system/collectd/default.nix @@ -1,9 +1,15 @@ -{ lib, stdenv, fetchurl, fetchpatch, darwin, callPackage -, autoreconfHook -, pkg-config -, libtool -, nixosTests -, ... +{ + lib, + stdenv, + fetchurl, + fetchpatch, + darwin, + callPackage, + autoreconfHook, + pkg-config, + libtool, + nixosTests, + ... }@args: let plugins = callPackage ./plugins.nix args; @@ -31,22 +37,30 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ - libtool - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.ApplicationServices - ] ++ plugins.buildInputs; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + buildInputs = + [ + libtool + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.ApplicationServices + ] + ++ plugins.buildInputs; - configureFlags = [ - "--localstatedir=/var" - "--disable-werror" - ] ++ plugins.configureFlags - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-fp-layout=nothing" ]; + configureFlags = + [ + "--localstatedir=/var" + "--disable-werror" + ] + ++ plugins.configureFlags + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-fp-layout=nothing" ]; # do not create directories in /var during installPhase postConfigure = '' - substituteInPlace Makefile --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' + substituteInPlace Makefile --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/' '#' ''; postInstall = '' diff --git a/pkgs/tools/system/collectd/plugins.nix b/pkgs/tools/system/collectd/plugins.nix index 7202ec795e8b2..45b38f8e68f3e 100644 --- a/pkgs/tools/system/collectd/plugins.nix +++ b/pkgs/tools/system/collectd/plugins.nix @@ -1,48 +1,52 @@ -{ lib, stdenv -, curl -, hiredis -, iptables -, jdk -, libatasmart -, libdbi -, libesmtp -, libgcrypt -, libmemcached, cyrus_sasl -, libmodbus -, libmicrohttpd -, libmnl -, libmysqlclient -, libnotify, gdk-pixbuf -, liboping -, libpcap -, libsigrok -, libvirt -, libxml2 -, lua -, lvm2 -, lm_sensors -, mongoc -, mosquitto -, net-snmp -, openldap -, openipmi -, perl -, postgresql -, protobufc -, python3 -, rabbitmq-c -, rdkafka -, riemann_c_client -, rrdtool -, udev -, varnish -, xen -, yajl -, IOKit -# Defaults to `null` for all supported plugins (except xen, which is marked as -# insecure), otherwise a list of plugin names for a custom build -, enabledPlugins ? null -, ... +{ + lib, + stdenv, + curl, + hiredis, + iptables, + jdk, + libatasmart, + libdbi, + libesmtp, + libgcrypt, + libmemcached, + cyrus_sasl, + libmodbus, + libmicrohttpd, + libmnl, + libmysqlclient, + libnotify, + gdk-pixbuf, + liboping, + libpcap, + libsigrok, + libvirt, + libxml2, + lua, + lvm2, + lm_sensors, + mongoc, + mosquitto, + net-snmp, + openldap, + openipmi, + perl, + postgresql, + protobufc, + python3, + rabbitmq-c, + rdkafka, + riemann_c_client, + rrdtool, + udev, + varnish, + xen, + yajl, + IOKit, + # Defaults to `null` for all supported plugins (except xen, which is marked as + # insecure), otherwise a list of plugin names for a custom build + enabledPlugins ? null, + ... }: let @@ -53,45 +57,74 @@ let yajl ] ++ lib.optionals stdenv.hostPlatform.isLinux [ rabbitmq-c ]; apache.buildInputs = [ curl ]; - ascent.buildInputs = [ curl libxml2 ]; + ascent.buildInputs = [ + curl + libxml2 + ]; battery.buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ]; - bind.buildInputs = [ curl libxml2 ]; + bind.buildInputs = [ + curl + libxml2 + ]; ceph.buildInputs = [ yajl ]; curl.buildInputs = [ curl ]; - curl_json.buildInputs = [ curl yajl ]; - curl_xml.buildInputs = [ curl libxml2 ]; - dbi.buildInputs = [ libdbi ]; - disk.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ - udev - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - IOKit + curl_json.buildInputs = [ + curl + yajl ]; + curl_xml.buildInputs = [ + curl + libxml2 + ]; + dbi.buildInputs = [ libdbi ]; + disk.buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + udev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + ]; dns.buildInputs = [ libpcap ]; ipmi.buildInputs = [ openipmi ]; - iptables.buildInputs = [ - libpcap - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - iptables libmnl + iptables.buildInputs = + [ + libpcap + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + iptables + libmnl + ]; + java.buildInputs = [ + jdk + libgcrypt + libxml2 ]; - java.buildInputs = [ jdk libgcrypt libxml2 ]; log_logstash.buildInputs = [ yajl ]; lua.buildInputs = [ lua ]; - memcachec.buildInputs = [ libmemcached cyrus_sasl ]; + memcachec.buildInputs = [ + libmemcached + cyrus_sasl + ]; modbus.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libmodbus ]; mqtt.buildInputs = [ mosquitto ]; mysql.buildInputs = lib.optionals (libmysqlclient != null) [ libmysqlclient ]; - netlink.buildInputs = [ - libpcap - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - libmnl - ]; + netlink.buildInputs = + [ + libpcap + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libmnl + ]; network.buildInputs = [ libgcrypt ]; nginx.buildInputs = [ curl ]; - notify_desktop.buildInputs = [ libnotify gdk-pixbuf ]; + notify_desktop.buildInputs = [ + libnotify + gdk-pixbuf + ]; notify_email.buildInputs = [ libesmtp ]; openldap.buildInputs = [ openldap ]; ovs_events.buildInputs = [ yajl ]; @@ -102,40 +135,79 @@ let postgresql.buildInputs = [ postgresql ]; python.buildInputs = [ python3 ]; redis.buildInputs = [ hiredis ]; - rrdcached.buildInputs = [ rrdtool libxml2 ]; - rrdtool.buildInputs = [ rrdtool libxml2 ]; + rrdcached.buildInputs = [ + rrdtool + libxml2 + ]; + rrdtool.buildInputs = [ + rrdtool + libxml2 + ]; sensors.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ lm_sensors ]; - sigrok.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libsigrok udev ]; - smart.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libatasmart udev ]; + sigrok.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libsigrok + udev + ]; + smart.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libatasmart + udev + ]; snmp.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ net-snmp ]; snmp_agent.buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ net-snmp ]; - varnish.buildInputs = [ curl varnish ]; - virt.buildInputs = [ - libvirt libxml2 yajl - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ lvm2 udev ]; - write_http.buildInputs = [ curl yajl ]; - write_kafka.buildInputs = [ yajl rdkafka ]; + varnish.buildInputs = [ + curl + varnish + ]; + virt.buildInputs = + [ + libvirt + libxml2 + yajl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + lvm2 + udev + ]; + write_http.buildInputs = [ + curl + yajl + ]; + write_kafka.buildInputs = [ + yajl + rdkafka + ]; write_log.buildInputs = [ yajl ]; write_mongodb.buildInputs = [ mongoc ]; - write_prometheus.buildInputs = [ protobufc libmicrohttpd ]; + write_prometheus.buildInputs = [ + protobufc + libmicrohttpd + ]; write_redis.buildInputs = [ hiredis ]; - write_riemann.buildInputs = [ protobufc riemann_c_client ]; + write_riemann.buildInputs = [ + protobufc + riemann_c_client + ]; xencpu.buildInputs = [ xen ]; }; configureFlags = lib.optionals (enabledPlugins != null) ( - [ "--disable-all-plugins" ] - ++ (map (plugin: "--enable-${plugin}") enabledPlugins)); + [ "--disable-all-plugins" ] ++ (map (plugin: "--enable-${plugin}") enabledPlugins) + ); - pluginBuildInputs = plugin: - lib.optionals (plugins ? ${plugin} && plugins.${plugin} ? buildInputs) - plugins.${plugin}.buildInputs; + pluginBuildInputs = + plugin: + lib.optionals ( + plugins ? ${plugin} && plugins.${plugin} ? buildInputs + ) plugins.${plugin}.buildInputs; buildInputs = - if enabledPlugins == null - then builtins.concatMap pluginBuildInputs - (builtins.attrNames (builtins.removeAttrs plugins ["xencpu"])) - else builtins.concatMap pluginBuildInputs enabledPlugins; -in { + if enabledPlugins == null then + builtins.concatMap pluginBuildInputs ( + builtins.attrNames (builtins.removeAttrs plugins [ "xencpu" ]) + ) + else + builtins.concatMap pluginBuildInputs enabledPlugins; +in +{ inherit configureFlags buildInputs; } diff --git a/pkgs/tools/system/colorls/default.nix b/pkgs/tools/system/colorls/default.nix index 3dc460140cb63..ff4677735bd2f 100644 --- a/pkgs/tools/system/colorls/default.nix +++ b/pkgs/tools/system/colorls/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerApp, ruby, bundlerUpdateScript }: +{ + lib, + bundlerApp, + ruby, + bundlerUpdateScript, +}: bundlerApp { pname = "colorls"; @@ -10,10 +15,14 @@ bundlerApp { meta = with lib; { description = "Prettified LS"; - homepage = "https://github.com/athityakumar/colorls"; - license = with licenses; mit; - maintainers = with maintainers; [ lukebfox nicknovitski cbley ]; - platforms = ruby.meta.platforms; + homepage = "https://github.com/athityakumar/colorls"; + license = with licenses; mit; + maintainers = with maintainers; [ + lukebfox + nicknovitski + cbley + ]; + platforms = ruby.meta.platforms; mainProgram = "colorls"; }; } diff --git a/pkgs/tools/system/fdisk/default.nix b/pkgs/tools/system/fdisk/default.nix index f2b3ab0f81325..beb4906d0e499 100644 --- a/pkgs/tools/system/fdisk/default.nix +++ b/pkgs/tools/system/fdisk/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchurl -, gettext -, guile -, libuuid -, parted +{ + lib, + stdenv, + fetchurl, + gettext, + guile, + libuuid, + parted, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix index b2279e0f13d22..0adbb2c4faf99 100644 --- a/pkgs/tools/system/gotop/default.nix +++ b/pkgs/tools/system/gotop/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, IOKit +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + IOKit, }: buildGoModule rec { @@ -25,7 +26,11 @@ buildGoModule rec { proxyVendor = true; vendorHash = "sha256-KLeVSrPDS1lKsKFemRmgxT6Pxack3X3B/btSCOUSUFY="; - ldflags = [ "-s" "-w" "-X main.Version=v${version}" ]; + ldflags = [ + "-s" + "-w" + "-X main.Version=v${version}" + ]; # prevent `error: 'TARGET_OS_MAC' is not defined` env.CGO_CFLAGS = "-Wno-undef-prefix"; diff --git a/pkgs/tools/system/hiera-eyaml/default.nix b/pkgs/tools/system/hiera-eyaml/default.nix index 1f48d37f5847a..8c19af264fa9a 100644 --- a/pkgs/tools/system/hiera-eyaml/default.nix +++ b/pkgs/tools/system/hiera-eyaml/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv { inherit ruby; @@ -11,7 +16,10 @@ bundlerEnv { description = "Per-value asymmetric encryption of sensitive data for Hiera"; homepage = "https://github.com/TomPoulton/hiera-eyaml"; license = licenses.mit; - maintainers = with maintainers; [ benley nicknovitski ]; + maintainers = with maintainers; [ + benley + nicknovitski + ]; platforms = platforms.unix; mainProgram = "eyaml"; }; diff --git a/pkgs/tools/system/hiera-eyaml/gemset.nix b/pkgs/tools/system/hiera-eyaml/gemset.nix index cf7d8d6905d07..605b14da800de 100644 --- a/pkgs/tools/system/hiera-eyaml/gemset.nix +++ b/pkgs/tools/system/hiera-eyaml/gemset.nix @@ -1,10 +1,13 @@ { hiera-eyaml = { - dependencies = ["highline" "optimist"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "highline" + "optimist" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "049rxnwyivqgyjl0sjg7cb2q44ic0wsml288caspd1ps8v31gl18"; type = "gem"; }; @@ -12,17 +15,17 @@ }; highline = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1"; type = "gem"; }; version = "1.6.21"; }; optimist = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05jxrp3nbn5iilc1k7ir90mfnwc5abc9h78s5rpm3qafwqxvcj4j"; type = "gem"; }; diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix index e9e1b2db6754a..47f97c5fd3468 100644 --- a/pkgs/tools/system/htop/default.nix +++ b/pkgs/tools/system/htop/default.nix @@ -1,10 +1,18 @@ -{ lib, fetchFromGitHub, fetchpatch2, stdenv, autoreconfHook, pkg-config -, ncurses -, IOKit -, libcap -, libnl -, sensorsSupport ? stdenv.hostPlatform.isLinux, lm_sensors -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd +{ + lib, + fetchFromGitHub, + fetchpatch2, + stdenv, + autoreconfHook, + pkg-config, + ncurses, + IOKit, + libcap, + libnl, + sensorsSupport ? stdenv.hostPlatform.isLinux, + lm_sensors, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, }: assert systemdSupport -> stdenv.hostPlatform.isLinux; @@ -30,30 +38,35 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ autoreconfHook ] - ++ lib.optional stdenv.hostPlatform.isLinux pkg-config - ; + nativeBuildInputs = [ autoreconfHook ] ++ lib.optional stdenv.hostPlatform.isLinux pkg-config; - buildInputs = [ ncurses ] + buildInputs = + [ ncurses ] ++ lib.optional stdenv.hostPlatform.isDarwin IOKit - ++ lib.optionals stdenv.hostPlatform.isLinux [ libcap libnl ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libcap + libnl + ] ++ lib.optional sensorsSupport lm_sensors - ++ lib.optional systemdSupport systemd - ; + ++ lib.optional systemdSupport systemd; - configureFlags = [ "--enable-unicode" "--sysconfdir=/etc" ] + configureFlags = + [ + "--enable-unicode" + "--sysconfdir=/etc" + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "--enable-affinity" "--enable-capabilities" "--enable-delayacct" ] - ++ lib.optional sensorsSupport "--enable-sensors" - ; + ++ lib.optional sensorsSupport "--enable-sensors"; postFixup = let optionalPatch = pred: so: lib.optionalString pred "patchelf --add-needed ${so} $out/bin/htop"; - in lib.optionalString (!stdenv.hostPlatform.isStatic) '' + in + lib.optionalString (!stdenv.hostPlatform.isStatic) '' ${optionalPatch sensorsSupport "${lm_sensors}/lib/libsensors.so"} ${optionalPatch systemdSupport "${systemd}/lib/libsystemd.so"} ''; @@ -63,7 +76,11 @@ stdenv.mkDerivation rec { homepage = "https://htop.dev"; license = licenses.gpl2Only; platforms = platforms.all; - maintainers = with maintainers; [ rob relrod SuperSandro2000 ]; + maintainers = with maintainers; [ + rob + relrod + SuperSandro2000 + ]; changelog = "https://github.com/htop-dev/htop/blob/${version}/ChangeLog"; mainProgram = "htop"; }; diff --git a/pkgs/tools/system/htop/htop-vim.nix b/pkgs/tools/system/htop/htop-vim.nix index 6dfb72c8ca75e..28fafbe388293 100644 --- a/pkgs/tools/system/htop/htop-vim.nix +++ b/pkgs/tools/system/htop/htop-vim.nix @@ -1,4 +1,8 @@ -{ lib, htop, fetchFromGitHub }: +{ + lib, + htop, + fetchFromGitHub, +}: htop.overrideAttrs (oldAttrs: rec { pname = "htop-vim"; diff --git a/pkgs/tools/system/hw-probe/default.nix b/pkgs/tools/system/hw-probe/default.nix index 8b190087ffd57..0f032aa138a69 100644 --- a/pkgs/tools/system/hw-probe/default.nix +++ b/pkgs/tools/system/hw-probe/default.nix @@ -1,59 +1,60 @@ -{ lib -, stdenv -, fetchFromGitHub -, makeWrapper -, makePerlPath +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + makePerlPath, -# Perl libraries -, LWP -, LWPProtocolHttps -, HTTPMessage -, HTTPDate -, URI -, TryTiny + # Perl libraries + LWP, + LWPProtocolHttps, + HTTPMessage, + HTTPDate, + URI, + TryTiny, -# Required -, coreutils -, curl # Preferred to using the Perl HTTP libs - according to hw-probe. -, dmidecode -, edid-decode -, gnugrep -, gnutar -, hwinfo -, iproute2 -, kmod -, pciutils -, perl -, smartmontools -, usbutils -, xz + # Required + coreutils, + curl, # Preferred to using the Perl HTTP libs - according to hw-probe. + dmidecode, + edid-decode, + gnugrep, + gnutar, + hwinfo, + iproute2, + kmod, + pciutils, + perl, + smartmontools, + usbutils, + xz, -# Conditionally recommended -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd + # Conditionally recommended + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, -# Recommended -, withRecommended ? true # Install recommended tools -, mcelog -, hdparm -, acpica-tools -, drm_info -, mesa-demos -, memtester -, sysstat -, cpuid -, util-linuxMinimal -, xinput -, libva-utils -, inxi -, vulkan-tools -, i2c-tools -, opensc + # Recommended + withRecommended ? true, # Install recommended tools + mcelog, + hdparm, + acpica-tools, + drm_info, + mesa-demos, + memtester, + sysstat, + cpuid, + util-linuxMinimal, + xinput, + libva-utils, + inxi, + vulkan-tools, + i2c-tools, + opensc, -# Suggested -, withSuggested ? false # Install (most) suggested tools -, hplip -, sane-backends + # Suggested + withSuggested ? false, # Install (most) suggested tools + hplip, + sane-backends, # , pnputils # pnputils (lspnp) isn't currently in nixpkgs and appears to be poorly maintained }: @@ -91,24 +92,25 @@ stdenv.mkDerivation rec { xz kmod # (lsmod) ]; - recommendedPrograms = [ - mcelog - hdparm - acpica-tools - drm_info - mesa-demos - memtester - sysstat # (iostat) - util-linuxMinimal # (rfkill) - xinput - libva-utils # (vainfo) - inxi - vulkan-tools - i2c-tools - opensc - ] - # cpuid is only compatible with i686 and x86_64 - ++ lib.optional (lib.elem stdenv.hostPlatform.system cpuid.meta.platforms) cpuid; + recommendedPrograms = + [ + mcelog + hdparm + acpica-tools + drm_info + mesa-demos + memtester + sysstat # (iostat) + util-linuxMinimal # (rfkill) + xinput + libva-utils # (vainfo) + inxi + vulkan-tools + i2c-tools + opensc + ] + # cpuid is only compatible with i686 and x86_64 + ++ lib.optional (lib.elem stdenv.hostPlatform.system cpuid.meta.platforms) cpuid; conditionallyRecommendedPrograms = lib.optional systemdSupport systemd; # (systemd-analyze) suggestedPrograms = [ hplip # (hp-probe) @@ -120,9 +122,22 @@ stdenv.mkDerivation rec { ++ conditionallyRecommendedPrograms ++ lib.optionals withRecommended recommendedPrograms ++ lib.optionals withSuggested suggestedPrograms; - in [ - "--set" "PERL5LIB" "${makePerlPath [ LWP LWPProtocolHttps HTTPMessage URI HTTPDate TryTiny ]}" - "--prefix" "PATH" ":" "${lib.makeBinPath programs}" + in + [ + "--set" + "PERL5LIB" + "${makePerlPath [ + LWP + LWPProtocolHttps + HTTPMessage + URI + HTTPDate + TryTiny + ]}" + "--prefix" + "PATH" + ":" + "${lib.makeBinPath programs}" ]; postInstall = '' @@ -134,8 +149,11 @@ stdenv.mkDerivation rec { description = "Probe for hardware, check operability and find drivers"; homepage = "https://github.com/linuxhw/hw-probe"; platforms = with platforms; (linux ++ freebsd ++ netbsd ++ openbsd); - license = with licenses; [ lgpl21 bsdOriginal ]; - maintainers = with maintainers; [ rehno-lindeque ]; + license = with licenses; [ + lgpl21 + bsdOriginal + ]; + maintainers = with maintainers; [ rehno-lindeque ]; mainProgram = "hw-probe"; }; } diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 05129009deee2..a9d037705515a 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchFromGitiles, libcap }: +{ + stdenv, + lib, + fetchFromGitiles, + libcap, +}: stdenv.mkDerivation rec { pname = "minijail"; @@ -12,7 +17,10 @@ stdenv.mkDerivation rec { buildInputs = [ libcap ]; - makeFlags = [ "ECHO=echo" "LIBDIR=$(out)/lib" ]; + makeFlags = [ + "ECHO=echo" + "LIBDIR=$(out)/lib" + ]; postPatch = '' substituteInPlace Makefile --replace /bin/echo echo @@ -41,7 +49,10 @@ stdenv.mkDerivation rec { description = "Sandboxing library and application using Linux namespaces and capabilities"; changelog = "https://chromium.googlesource.com/chromiumos/platform/minijail/+/refs/tags/linux-v${version}"; license = licenses.bsd3; - maintainers = with maintainers; [ pcarrier qyliss ]; + maintainers = with maintainers; [ + pcarrier + qyliss + ]; platforms = platforms.linux; mainProgram = "minijail0"; }; diff --git a/pkgs/tools/system/minijail/tools.nix b/pkgs/tools/system/minijail/tools.nix index c9c52e479e78e..54acc4a1193af 100644 --- a/pkgs/tools/system/minijail/tools.nix +++ b/pkgs/tools/system/minijail/tools.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonApplication, pkgsBuildTarget, python, minijail }: +{ + lib, + buildPythonApplication, + pkgsBuildTarget, + python, + minijail, +}: let targetClang = pkgsBuildTarget.targetPackages.clangStdenv.cc; diff --git a/pkgs/tools/system/nvidia-system-monitor-qt/default.nix b/pkgs/tools/system/nvidia-system-monitor-qt/default.nix index e4e1868997be5..529a02ba35a66 100644 --- a/pkgs/tools/system/nvidia-system-monitor-qt/default.nix +++ b/pkgs/tools/system/nvidia-system-monitor-qt/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, cmake -, qtbase -, wrapQtAppsHook -, makeDesktopItem -, copyDesktopItems +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + qtbase, + wrapQtAppsHook, + makeDesktopItem, + copyDesktopItems, }: let @@ -35,7 +36,11 @@ stdenv.mkDerivation rec { }; buildInputs = [ qtbase ]; - nativeBuildInputs = [ cmake wrapQtAppsHook copyDesktopItems ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + copyDesktopItems + ]; cmakeFlags = [ "-DIconPath=${placeholder "out"}/share/icons/hicolor/512x512/apps/qnvsm.png" diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix index b887c6e97a215..bf7f2e802fe12 100644 --- a/pkgs/tools/system/osquery/default.nix +++ b/pkgs/tools/system/osquery/default.nix @@ -1,20 +1,21 @@ -{ lib -, cmake -, fetchFromGitHub -, fetchzip -, fetchurl -, git -, perl -, python3 -, stdenv -, stdenvNoCC -, ninja -, nix-prefetch-git -, autoPatchelfHook -, jq -, removeReferencesTo -, nixosTests -, writers +{ + lib, + cmake, + fetchFromGitHub, + fetchzip, + fetchurl, + git, + perl, + python3, + stdenv, + stdenvNoCC, + ninja, + nix-prefetch-git, + autoPatchelfHook, + jq, + removeReferencesTo, + nixosTests, + writers, }: let @@ -23,7 +24,14 @@ let opensslSrc = fetchurl info.openssl; - toolchain = import ./toolchain-bin.nix { inherit stdenv lib fetchzip autoPatchelfHook; }; + toolchain = import ./toolchain-bin.nix { + inherit + stdenv + lib + fetchzip + autoPatchelfHook + ; + }; in @@ -79,18 +87,24 @@ stdenvNoCC.mkDerivation rec { tests = { inherit (nixosTests) osquery; }; - updateScript = writers.writePython3 - "osquery-update" - { makeWrapperArgs = "--prefix PATH : ${lib.makeBinPath [ nix-prefetch-git ]}"; } - (builtins.readFile ./update.py); + updateScript = writers.writePython3 "osquery-update" { + makeWrapperArgs = "--prefix PATH : ${lib.makeBinPath [ nix-prefetch-git ]}"; + } (builtins.readFile ./update.py); }; meta = with lib; { description = "SQL powered operating system instrumentation, monitoring, and analytics"; homepage = "https://osquery.io"; - license = with licenses; [ gpl2Only asl20 ]; + license = with licenses; [ + gpl2Only + asl20 + ]; platforms = platforms.linux; sourceProvenance = with sourceTypes; [ fromSource ]; - maintainers = with maintainers; [ znewman01 lewo squalus ]; + maintainers = with maintainers; [ + znewman01 + lewo + squalus + ]; }; } diff --git a/pkgs/tools/system/osquery/toolchain-bin.nix b/pkgs/tools/system/osquery/toolchain-bin.nix index d2fed973fe42c..5a12e7fb3746f 100644 --- a/pkgs/tools/system/osquery/toolchain-bin.nix +++ b/pkgs/tools/system/osquery/toolchain-bin.nix @@ -1,4 +1,9 @@ -{ stdenv, lib, fetchzip, autoPatchelfHook }: +{ + stdenv, + lib, + fetchzip, + autoPatchelfHook, +}: let version = "1.1.0"; @@ -34,9 +39,15 @@ stdenv.mkDerivation { meta = with lib; { description = "A LLVM-based toolchain for Linux designed to build a portable osquery"; homepage = "https://github.com/osquery/osquery-toolchain"; - platforms = [ "x86_64-linux" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; [ gpl2Only asl20 ]; + license = with licenses; [ + gpl2Only + asl20 + ]; maintainers = with maintainers; [ squalus ]; }; } diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix index e556d8e7bdb60..345afacf0016b 100644 --- a/pkgs/tools/system/pciutils/default.nix +++ b/pkgs/tools/system/pciutils/default.nix @@ -1,8 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, zlib, kmod, which -, hwdata -, static ? stdenv.hostPlatform.isStatic -, IOKit -, gitUpdater +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + zlib, + kmod, + which, + hwdata, + static ? stdenv.hostPlatform.isStatic, + IOKit, + gitUpdater, }: stdenv.mkDerivation rec { @@ -17,7 +24,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ which zlib ] + buildInputs = + [ + which + zlib + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ] ++ lib.optionals stdenv.hostPlatform.isLinux [ kmod ]; @@ -36,7 +47,10 @@ stdenv.mkDerivation rec { "DNS=yes" ]; - installTargets = [ "install" "install-lib" ]; + installTargets = [ + "install" + "install-lib" + ]; postInstall = '' # Remove update-pciids as it won't work on nixos diff --git a/pkgs/tools/system/pdisk/default.nix b/pkgs/tools/system/pdisk/default.nix index de0e0b890e727..43e2ef61d70d1 100644 --- a/pkgs/tools/system/pdisk/default.nix +++ b/pkgs/tools/system/pdisk/default.nix @@ -1,11 +1,12 @@ -{ stdenv -, lib -, fetchFromGitHub -, fetchpatch -, installShellFiles -, libbsd -, CoreFoundation -, IOKit +{ + stdenv, + lib, + fetchFromGitHub, + fetchpatch, + installShellFiles, + libbsd, + CoreFoundation, + IOKit, }: stdenv.mkDerivation rec { @@ -42,24 +43,28 @@ stdenv.mkDerivation rec { }) ]; - postPatch = '' - substituteInPlace makefile \ - --replace 'cc' '${stdenv.cc.targetPrefix}cc' - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace makefile \ - --replace '-lbsd' '-framework CoreFoundation -framework IOKit' - ''; + postPatch = + '' + substituteInPlace makefile \ + --replace 'cc' '${stdenv.cc.targetPrefix}cc' + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace makefile \ + --replace '-lbsd' '-framework CoreFoundation -framework IOKit' + ''; nativeBuildInputs = [ installShellFiles ]; - buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libbsd - ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - CoreFoundation - IOKit - ]; + buildInputs = + lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libbsd + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + CoreFoundation + IOKit + ]; env.NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE"; diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix index ebad0fda64ad7..8c5204bdba93e 100644 --- a/pkgs/tools/system/plan9port/default.nix +++ b/pkgs/tools/system/plan9port/default.nix @@ -1,8 +1,22 @@ -{ lib, stdenv, fetchFromGitHub -, fontconfig, freetype, libX11, libXext, libXt, xorgproto -, perl # For building web manuals -, which, ed -, Carbon, Cocoa, IOKit, Metal, QuartzCore, DarwinTools # For building on Darwin +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + freetype, + libX11, + libXext, + libXt, + xorgproto, + perl, # For building web manuals + which, + ed, + Carbon, + Cocoa, + IOKit, + Metal, + QuartzCore, + DarwinTools, # For building on Darwin }: stdenv.mkDerivation rec { @@ -35,13 +49,31 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ ed ]; - buildInputs = [ perl which ] ++ (if !stdenv.hostPlatform.isDarwin then [ - fontconfig freetype # fontsrv uses these - libX11 libXext libXt xorgproto - ] else [ - Carbon Cocoa IOKit Metal QuartzCore - DarwinTools - ]); + buildInputs = + [ + perl + which + ] + ++ ( + if !stdenv.hostPlatform.isDarwin then + [ + fontconfig + freetype # fontsrv uses these + libX11 + libXext + libXt + xorgproto + ] + else + [ + Carbon + Cocoa + IOKit + Metal + QuartzCore + DarwinTools + ] + ); configurePhase = '' runHook preConfigure @@ -113,7 +145,11 @@ stdenv.mkDerivation rec { ''; license = licenses.mit; maintainers = with maintainers; [ - bbarker ehmry ftrvxmtrx kovirobi ylh + bbarker + ehmry + ftrvxmtrx + kovirobi + ylh ]; mainProgram = "9"; platforms = platforms.unix; diff --git a/pkgs/tools/system/procodile/default.nix b/pkgs/tools/system/procodile/default.nix index 3c4437ea09c47..43faa0af6e590 100644 --- a/pkgs/tools/system/procodile/default.nix +++ b/pkgs/tools/system/procodile/default.nix @@ -1,4 +1,8 @@ -{ lib, bundlerApp, bundlerUpdateScript }: +{ + lib, + bundlerApp, + bundlerUpdateScript, +}: bundlerApp { pname = "procodile"; @@ -9,10 +13,13 @@ bundlerApp { meta = with lib; { description = "Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)"; - homepage = "https://adam.ac/procodile"; - license = with licenses; mit; - maintainers = with maintainers; [ manveru nicknovitski ]; - platforms = platforms.unix; + homepage = "https://adam.ac/procodile"; + license = with licenses; mit; + maintainers = with maintainers; [ + manveru + nicknovitski + ]; + platforms = platforms.unix; mainProgram = "procodile"; }; } diff --git a/pkgs/tools/system/procodile/gemset.nix b/pkgs/tools/system/procodile/gemset.nix index f5b73b617bb5c..bfb2a2d6a5bcb 100644 --- a/pkgs/tools/system/procodile/gemset.nix +++ b/pkgs/tools/system/procodile/gemset.nix @@ -1,20 +1,20 @@ { json = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; type = "gem"; }; version = "2.2.0"; }; procodile = { - dependencies = ["json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "025pbr1kah7cgs527n5q56m5agaa2smzac4rpmpk619xg4r1rdhs"; type = "gem"; }; diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index 2cd4eb2b4f4d5..3a4b1348e9654 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -1,62 +1,63 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, autoreconfHook -, libestr -, json_c -, zlib -, docutils -, fastJson -, withKrb5 ? true -, libkrb5 -, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd -, systemd -, withJemalloc ? true -, jemalloc -, withMysql ? true -, libmysqlclient -, withPostgres ? true -, postgresql -, withDbi ? true -, libdbi -, withNetSnmp ? true -, net-snmp -, withUuid ? true -, libuuid -, withCurl ? true -, curl -, withGnutls ? true -, gnutls -, withGcrypt ? true -, libgcrypt -, withLognorm ? true -, liblognorm -, withMaxminddb ? true -, libmaxminddb -, withOpenssl ? true -, openssl -, withRelp ? true -, librelp -, withKsi ? true -, libksi -, withLogging ? true -, liblogging -, withNet ? true -, libnet -, withHadoop ? true -, hadoop -, withRdkafka ? true -, rdkafka -, withMongo ? true -, mongoc -, withCzmq ? true -, czmq -, withRabbitmq ? true -, rabbitmq-c -, withHiredis ? true -, hiredis -, nixosTests +{ + lib, + stdenv, + fetchurl, + pkg-config, + autoreconfHook, + libestr, + json_c, + zlib, + docutils, + fastJson, + withKrb5 ? true, + libkrb5, + withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, + systemd, + withJemalloc ? true, + jemalloc, + withMysql ? true, + libmysqlclient, + withPostgres ? true, + postgresql, + withDbi ? true, + libdbi, + withNetSnmp ? true, + net-snmp, + withUuid ? true, + libuuid, + withCurl ? true, + curl, + withGnutls ? true, + gnutls, + withGcrypt ? true, + libgcrypt, + withLognorm ? true, + liblognorm, + withMaxminddb ? true, + libmaxminddb, + withOpenssl ? true, + openssl, + withRelp ? true, + librelp, + withKsi ? true, + libksi, + withLogging ? true, + liblogging, + withNet ? true, + libnet, + withHadoop ? true, + hadoop, + withRdkafka ? true, + rdkafka, + withMongo ? true, + mongoc, + withCzmq ? true, + czmq, + withRabbitmq ? true, + rabbitmq-c, + withHiredis ? true, + hiredis, + nixosTests, }: stdenv.mkDerivation rec { @@ -74,35 +75,37 @@ stdenv.mkDerivation rec { docutils ]; - buildInputs = [ - fastJson - libestr - json_c - zlib - ] ++ lib.optional withKrb5 libkrb5 - ++ lib.optional withJemalloc jemalloc - ++ lib.optional withPostgres postgresql - ++ lib.optional withDbi libdbi - ++ lib.optional withNetSnmp net-snmp - ++ lib.optional withUuid libuuid - ++ lib.optional withCurl curl - ++ lib.optional withGnutls gnutls - ++ lib.optional withGcrypt libgcrypt - ++ lib.optional withLognorm liblognorm - ++ lib.optional withOpenssl openssl - ++ lib.optional withRelp librelp - ++ lib.optional withKsi libksi - ++ lib.optional withLogging liblogging - ++ lib.optional withNet libnet - ++ lib.optional withHadoop hadoop - ++ lib.optional withRdkafka rdkafka - ++ lib.optionals withMongo [ mongoc ] - ++ lib.optional withCzmq czmq - ++ lib.optional withRabbitmq rabbitmq-c - ++ lib.optional withHiredis hiredis - ++ lib.optional withMaxminddb libmaxminddb - ++ lib.optional withMysql libmysqlclient - ++ lib.optional withSystemd systemd; + buildInputs = + [ + fastJson + libestr + json_c + zlib + ] + ++ lib.optional withKrb5 libkrb5 + ++ lib.optional withJemalloc jemalloc + ++ lib.optional withPostgres postgresql + ++ lib.optional withDbi libdbi + ++ lib.optional withNetSnmp net-snmp + ++ lib.optional withUuid libuuid + ++ lib.optional withCurl curl + ++ lib.optional withGnutls gnutls + ++ lib.optional withGcrypt libgcrypt + ++ lib.optional withLognorm liblognorm + ++ lib.optional withOpenssl openssl + ++ lib.optional withRelp librelp + ++ lib.optional withKsi libksi + ++ lib.optional withLogging liblogging + ++ lib.optional withNet libnet + ++ lib.optional withHadoop hadoop + ++ lib.optional withRdkafka rdkafka + ++ lib.optionals withMongo [ mongoc ] + ++ lib.optional withCzmq czmq + ++ lib.optional withRabbitmq rabbitmq-c + ++ lib.optional withHiredis hiredis + ++ lib.optional withMaxminddb libmaxminddb + ++ lib.optional withMysql libmysqlclient + ++ lib.optional withSystemd systemd; configureFlags = [ "--sysconfdir=/etc" diff --git a/pkgs/tools/system/stacer/default.nix b/pkgs/tools/system/stacer/default.nix index 57d376bea9fe4..05303b472ac98 100644 --- a/pkgs/tools/system/stacer/default.nix +++ b/pkgs/tools/system/stacer/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, qtcharts -, qttools -, wrapQtAppsHook +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qtcharts, + qttools, + wrapQtAppsHook, }: stdenv.mkDerivation rec { @@ -29,7 +30,10 @@ stdenv.mkDerivation rec { qttools ]; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; preConfigure = '' lrelease stacer/stacer.pro diff --git a/pkgs/tools/system/testdisk/default.nix b/pkgs/tools/system/testdisk/default.nix index 8761576d19b00..748231da47b61 100644 --- a/pkgs/tools/system/testdisk/default.nix +++ b/pkgs/tools/system/testdisk/default.nix @@ -1,15 +1,22 @@ -{ mkDerivation -, lib, stdenv -, fetchurl -, ncurses -, libuuid -, pkg-config -, libjpeg -, zlib -, libewf -, enableNtfs ? !stdenv.hostPlatform.isDarwin, ntfs3g ? null -, enableExtFs ? !stdenv.hostPlatform.isDarwin, e2fsprogs ? null -, enableQt ? false, qtbase ? null, qttools ? null, qwt ? null +{ + mkDerivation, + lib, + stdenv, + fetchurl, + ncurses, + libuuid, + pkg-config, + libjpeg, + zlib, + libewf, + enableNtfs ? !stdenv.hostPlatform.isDarwin, + ntfs3g ? null, + enableExtFs ? !stdenv.hostPlatform.isDarwin, + e2fsprogs ? null, + enableQt ? false, + qtbase ? null, + qttools ? null, + qwt ? null, }: assert enableNtfs -> ntfs3g != null; @@ -33,16 +40,21 @@ assert enableQt -> qwt != null; enableParallelBuilding = true; - buildInputs = [ - ncurses - libuuid - libjpeg - zlib - libewf - ] - ++ lib.optional enableNtfs ntfs3g - ++ lib.optional enableExtFs e2fsprogs - ++ lib.optionals enableQt [ qtbase qttools qwt ]; + buildInputs = + [ + ncurses + libuuid + libjpeg + zlib + libewf + ] + ++ lib.optional enableNtfs ntfs3g + ++ lib.optional enableExtFs e2fsprogs + ++ lib.optionals enableQt [ + qtbase + qttools + qwt + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/system/uefitool/common.nix b/pkgs/tools/system/uefitool/common.nix index 353cec91be98c..fa8da1a9ac8ad 100644 --- a/pkgs/tools/system/uefitool/common.nix +++ b/pkgs/tools/system/uefitool/common.nix @@ -1,5 +1,17 @@ -{ version, sha256, installFiles }: -{ lib, mkDerivation, fetchFromGitHub, qtbase, qmake, cmake, zip }: +{ + version, + sha256, + installFiles, +}: +{ + lib, + mkDerivation, + fetchFromGitHub, + qtbase, + qmake, + cmake, + zip, +}: mkDerivation rec { passthru = { @@ -18,7 +30,11 @@ mkDerivation rec { }; buildInputs = [ qtbase ]; - nativeBuildInputs = [ qmake cmake zip ]; + nativeBuildInputs = [ + qmake + cmake + zip + ]; dontConfigure = true; buildPhase = '' diff --git a/pkgs/tools/system/uefitool/variants.nix b/pkgs/tools/system/uefitool/variants.nix index 647922046c66b..d9a7a5622f681 100644 --- a/pkgs/tools/system/uefitool/variants.nix +++ b/pkgs/tools/system/uefitool/variants.nix @@ -1,15 +1,24 @@ { libsForQt5 }: let - common = opts: libsForQt5.callPackage (import ./common.nix opts) {}; -in rec { + common = opts: libsForQt5.callPackage (import ./common.nix opts) { }; +in +rec { new-engine = common rec { version = "A62"; sha256 = "sha256-U89j0BV57luv1c9hoYJtisKLxFezuaGFokZ29/NJ0xg="; - installFiles = [ "build/UEFITool/UEFITool" "build/UEFIFind/UEFIFind" "build/UEFIExtract/UEFIExtract" ]; + installFiles = [ + "build/UEFITool/UEFITool" + "build/UEFIFind/UEFIFind" + "build/UEFIExtract/UEFIExtract" + ]; }; old-engine = common rec { version = "0.28.0"; sha256 = "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja"; - installFiles = [ "UEFITool" "UEFIReplace/UEFIReplace" "UEFIPatch/UEFIPatch" ]; + installFiles = [ + "UEFITool" + "UEFIReplace/UEFIReplace" + "UEFIPatch/UEFIPatch" + ]; }; } diff --git a/pkgs/tools/system/zenith/default.nix b/pkgs/tools/system/zenith/default.nix index ffb530600bd39..19f130f459c1b 100644 --- a/pkgs/tools/system/zenith/default.nix +++ b/pkgs/tools/system/zenith/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, IOKit -, nvidiaSupport ? false -, makeWrapper +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + IOKit, + nvidiaSupport ? false, + makeWrapper, }: assert nvidiaSupport -> stdenv.hostPlatform.isLinux; @@ -44,7 +45,8 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = "Sort of like top or htop but with zoom-able charts, network, and disk usage" + description = + "Sort of like top or htop but with zoom-able charts, network, and disk usage" + lib.optionalString nvidiaSupport ", and NVIDIA GPU usage"; mainProgram = "zenith"; homepage = "https://github.com/bvaisvil/zenith"; diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix index ce8243770b04a..67deb89c3936d 100644 --- a/pkgs/tools/text/amber/default.nix +++ b/pkgs/tools/text/amber/default.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform -, libiconv, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + Security, }: rustPlatform.buildRustPackage rec { @@ -15,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-nBSgP30Izskq9RbhVIyqWzZgG5ZWHVdiukldw+Q0rco="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; meta = with lib; { description = "Code search-and-replace tool"; diff --git a/pkgs/tools/text/autocorrect/default.nix b/pkgs/tools/text/autocorrect/default.nix index 457bdf9243dc2..74bcbb1971418 100644 --- a/pkgs/tools/text/autocorrect/default.nix +++ b/pkgs/tools/text/autocorrect/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, Security, SystemConfiguration }: +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + Security, + SystemConfiguration, +}: rustPlatform.buildRustPackage rec { pname = "autocorrect"; @@ -19,10 +26,19 @@ rustPlatform.buildRustPackage rec { cp ${./Cargo.lock} Cargo.lock ''; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; - - cargoBuildFlags = [ "-p" "autocorrect-cli" ]; - cargoTestFlags = [ "-p" "autocorrect-cli" ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; + + cargoBuildFlags = [ + "-p" + "autocorrect-cli" + ]; + cargoTestFlags = [ + "-p" + "autocorrect-cli" + ]; passthru.updateScript = ./update.sh; diff --git a/pkgs/tools/text/coloursum/default.nix b/pkgs/tools/text/coloursum/default.nix index 8e84a1de14bce..b080b63b36bd3 100644 --- a/pkgs/tools/text/coloursum/default.nix +++ b/pkgs/tools/text/coloursum/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "coloursum"; diff --git a/pkgs/tools/text/diffr/default.nix b/pkgs/tools/text/diffr/default.nix index fbdf221d1206c..577cb46b07b55 100644 --- a/pkgs/tools/text/diffr/default.nix +++ b/pkgs/tools/text/diffr/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "diffr"; diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 6c1bc8bf01f13..b9f960f10dcae 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook, xz, coreutils ? null }: +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + xz, + coreutils ? null, +}: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -14,18 +21,28 @@ stdenv.mkDerivation rec { hash = "sha256-kOXpPMck5OvhLt6A3xY0Bjx6hVaSaFkZv+YLVWyb0J4="; }; - outputs = [ "out" "info" ]; + outputs = [ + "out" + "info" + ]; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook (lib.getBin xz) ]; - /* If no explicit coreutils is given, use the one from stdenv. */ + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + (lib.getBin xz) + ]; + # If no explicit coreutils is given, use the one from stdenv. buildInputs = [ coreutils ]; # Disable stack-related gnulib tests on x86_64-darwin because they have problems running under # Rosetta 2: test-c-stack hangs, test-sigsegv-catch-stackoverflow fails. - postPatch = if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) then '' - sed -i -E 's:test-c-stack2?\.sh::g' gnulib-tests/Makefile.in - sed -i -E 's:test-sigsegv-catch-stackoverflow[12]::g' gnulib-tests/Makefile.in - '' else null; + postPatch = + if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) then + '' + sed -i -E 's:test-c-stack2?\.sh::g' gnulib-tests/Makefile.in + sed -i -E 's:test-sigsegv-catch-stackoverflow[12]::g' gnulib-tests/Makefile.in + '' + else + null; configureFlags = # "pr" need not be on the PATH as a run-time dep, so we need to tell diff --git a/pkgs/tools/text/fastmod/default.nix b/pkgs/tools/text/fastmod/default.nix index f8cc3055e9051..6e02473b52aae 100644 --- a/pkgs/tools/text/fastmod/default.nix +++ b/pkgs/tools/text/fastmod/default.nix @@ -1,8 +1,10 @@ -{ lib, stdenv -, fetchFromGitHub -, rustPlatform -, libiconv -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + libiconv, + Security, }: rustPlatform.buildRustPackage rec { @@ -18,7 +20,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-sFrABp4oYhel+GONFsTbunq+4We2DicvF9A3FT/ZArc="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + Security + ]; meta = with lib; { description = "Utility that makes sweeping changes to large, shared code bases"; diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index 977a44fae2b89..381ff6465e194 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -1,18 +1,24 @@ -{ lib, stdenv, fetchurl -, removeReferencesTo -, runtimeShellPackage -, texinfo -, interactive ? false, readline -, autoreconfHook # no-pma fix +{ + lib, + stdenv, + fetchurl, + removeReferencesTo, + runtimeShellPackage, + texinfo, + interactive ? false, + readline, + autoreconfHook, # no-pma fix -/* Test suite broke on: - stdenv.hostPlatform.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1 - || stdenv.hostPlatform.isDarwin # XXX: `locale' segfaults - || stdenv.hostPlatform.isSunOS # XXX: `_backsmalls1' fails, locale stuff? - || stdenv.hostPlatform.isFreeBSD -*/ -, doCheck ? (interactive && stdenv.hostPlatform.isLinux), glibcLocales ? null -, locale ? null + /* + Test suite broke on: + stdenv.hostPlatform.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1 + || stdenv.hostPlatform.isDarwin # XXX: `locale' segfaults + || stdenv.hostPlatform.isSunOS # XXX: `_backsmalls1' fails, locale stuff? + || stdenv.hostPlatform.isFreeBSD + */ + doCheck ? (interactive && stdenv.hostPlatform.isLinux), + glibcLocales ? null, + locale ? null, }: assert (doCheck && stdenv.hostPlatform.isLinux) -> glibcLocales != null; @@ -33,27 +39,34 @@ stdenv.mkDerivation rec { hardeningDisable = [ "pie" ]; # When we do build separate interactive version, it makes sense to always include man. - outputs = [ "out" "info" ] - ++ lib.optional (!interactive) "man"; + outputs = [ + "out" + "info" + ] ++ lib.optional (!interactive) "man"; strictDeps = true; # no-pma fix - nativeBuildInputs = [ - autoreconfHook - texinfo - ] ++ lib.optionals interactive [ - removeReferencesTo - ] ++ lib.optionals (doCheck && stdenv.hostPlatform.isLinux) [ - glibcLocales - ]; + nativeBuildInputs = + [ + autoreconfHook + texinfo + ] + ++ lib.optionals interactive [ + removeReferencesTo + ] + ++ lib.optionals (doCheck && stdenv.hostPlatform.isLinux) [ + glibcLocales + ]; - buildInputs = lib.optionals interactive [ - runtimeShellPackage - readline - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - locale - ]; + buildInputs = + lib.optionals interactive [ + runtimeShellPackage + readline + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + locale + ]; configureFlags = [ (if interactive then "--with-readline=${readline.dev}" else "--without-readline") @@ -65,15 +78,22 @@ stdenv.mkDerivation rec { inherit doCheck; - postInstall = (if interactive then '' - remove-references-to -t "$NIX_CC" "$out"/bin/gawkbug - patchShebangs --host "$out"/bin/gawkbug - '' else '' - rm "$out"/bin/gawkbug - '') + '' - rm "$out"/bin/gawk-* - ln -s gawk.1 "''${!outputMan}"/share/man/man1/awk.1 - ''; + postInstall = + ( + if interactive then + '' + remove-references-to -t "$NIX_CC" "$out"/bin/gawkbug + patchShebangs --host "$out"/bin/gawkbug + '' + else + '' + rm "$out"/bin/gawkbug + '' + ) + + '' + rm "$out"/bin/gawk-* + ln -s gawk.1 "''${!outputMan}"/share/man/man1/awk.1 + ''; meta = { homepage = "https://www.gnu.org/software/gawk/"; diff --git a/pkgs/tools/text/gawk/gawk-with-extensions.nix b/pkgs/tools/text/gawk/gawk-with-extensions.nix index 1b82d798d3309..c218ad739c4ab 100644 --- a/pkgs/tools/text/gawk/gawk-with-extensions.nix +++ b/pkgs/tools/text/gawk/gawk-with-extensions.nix @@ -1,13 +1,20 @@ -{ runCommand, gawk, extensions, makeWrapper }: +{ + runCommand, + gawk, + extensions, + makeWrapper, +}: -runCommand "gawk-with-extensions" { - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ gawk ] ++ extensions; -} '' - mkdir -p $out/bin - for i in ${gawk}/bin/*; do - name="$(basename "$i")" - makeWrapper $i $out/bin/$name \ - --prefix AWKLIBPATH : "${gawk}/lib/gawk:''${AWKLIBPATH:-}" - done -'' +runCommand "gawk-with-extensions" + { + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ gawk ] ++ extensions; + } + '' + mkdir -p $out/bin + for i in ${gawk}/bin/*; do + name="$(basename "$i")" + makeWrapper $i $out/bin/$name \ + --prefix AWKLIBPATH : "${gawk}/lib/gawk:''${AWKLIBPATH:-}" + done + '' diff --git a/pkgs/tools/text/gawk/gawkextlib.nix b/pkgs/tools/text/gawk/gawkextlib.nix index eaf7799a4860e..c567b39b07d7b 100644 --- a/pkgs/tools/text/gawk/gawkextlib.nix +++ b/pkgs/tools/text/gawk/gawkextlib.nix @@ -1,64 +1,96 @@ -{ lib, stdenv, recurseIntoAttrs, fetchgit, pkg-config, autoreconfHook -, autoconf, automake, libiconv, libtool, texinfo, gettext, gawk, rapidjson, gd -, libharu, lmdb, gmp, glibcLocales, mpfr, more, postgresql, hiredis -, expat, tre }: +{ + lib, + stdenv, + recurseIntoAttrs, + fetchgit, + pkg-config, + autoreconfHook, + autoconf, + automake, + libiconv, + libtool, + texinfo, + gettext, + gawk, + rapidjson, + gd, + libharu, + lmdb, + gmp, + glibcLocales, + mpfr, + more, + postgresql, + hiredis, + expat, + tre, +}: let - buildExtension = lib.makeOverridable - ({ name, gawkextlib, extraBuildInputs ? [ ], doCheck ? true, patches ? [ ] }: - let is_extension = gawkextlib != null; - in stdenv.mkDerivation rec { - pname = "gawkextlib-${name}"; - version = "unstable-2022-10-20"; + buildExtension = lib.makeOverridable ( + { + name, + gawkextlib, + extraBuildInputs ? [ ], + doCheck ? true, + patches ? [ ], + }: + let + is_extension = gawkextlib != null; + in + stdenv.mkDerivation rec { + pname = "gawkextlib-${name}"; + version = "unstable-2022-10-20"; - src = fetchgit { - url = "git://git.code.sf.net/p/gawkextlib/code"; - rev = "f6c75b4ac1e0cd8d70c2f6c7a8d58b4d94cfde97"; - sha256 = "sha256-0p3CrQ3TBl7UcveZytK/9rkAzn69RRM2GwY2eCeqlkg="; - }; + src = fetchgit { + url = "git://git.code.sf.net/p/gawkextlib/code"; + rev = "f6c75b4ac1e0cd8d70c2f6c7a8d58b4d94cfde97"; + sha256 = "sha256-0p3CrQ3TBl7UcveZytK/9rkAzn69RRM2GwY2eCeqlkg="; + }; - inherit patches; + inherit patches; - postPatch = '' - cd ${name} - ''; + postPatch = '' + cd ${name} + ''; - nativeBuildInputs = [ - autoconf - automake - libtool - autoreconfHook - pkg-config - texinfo - gettext - ]; + nativeBuildInputs = [ + autoconf + automake + libtool + autoreconfHook + pkg-config + texinfo + gettext + ]; - buildInputs = [ gawk ] ++ extraBuildInputs; - propagatedBuildInputs = lib.optional is_extension gawkextlib; + buildInputs = [ gawk ] ++ extraBuildInputs; + propagatedBuildInputs = lib.optional is_extension gawkextlib; - setupHook = if is_extension then ./setup-hook.sh else null; - inherit gawk; + setupHook = if is_extension then ./setup-hook.sh else null; + inherit gawk; - inherit doCheck; - nativeCheckInputs = [ more ]; + inherit doCheck; + nativeCheckInputs = [ more ]; - meta = with lib; { - homepage = "https://sourceforge.net/projects/gawkextlib/"; - description = "Dynamically loaded extension libraries for GNU AWK"; - mainProgram = "xmlgawk"; - longDescription = '' - The gawkextlib project provides several extension libraries for - gawk (GNU AWK), as well as libgawkextlib containing some APIs that - are useful for building gawk extension libraries. These libraries - enable gawk to process XML data, interact with a PostgreSQL - database, use the GD graphics library, and perform unlimited - precision MPFR calculations. - ''; - license = licenses.gpl3Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ tomberek ]; - }; - }); + meta = with lib; { + homepage = "https://sourceforge.net/projects/gawkextlib/"; + description = "Dynamically loaded extension libraries for GNU AWK"; + mainProgram = "xmlgawk"; + longDescription = '' + The gawkextlib project provides several extension libraries for + gawk (GNU AWK), as well as libgawkextlib containing some APIs that + are useful for building gawk extension libraries. These libraries + enable gawk to process XML data, interact with a PostgreSQL + database, use the GD graphics library, and perform unlimited + precision MPFR calculations. + ''; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ tomberek ]; + }; + } + ); gawkextlib = buildExtension { gawkextlib = null; name = "lib"; @@ -121,7 +153,10 @@ let mpfr = buildExtension { inherit gawkextlib; name = "mpfr"; - extraBuildInputs = [ gmp mpfr ]; + extraBuildInputs = [ + gmp + mpfr + ]; }; nl_langinfo = buildExtension { inherit gawkextlib; @@ -148,10 +183,17 @@ let xml = buildExtension { inherit gawkextlib; name = "xml"; - extraBuildInputs = [ expat libiconv ]; + extraBuildInputs = [ + expat + libiconv + ]; }; }; -in recurseIntoAttrs (libs // { - inherit gawkextlib buildExtension; - full = builtins.attrValues libs; -}) +in +recurseIntoAttrs ( + libs + // { + inherit gawkextlib buildExtension; + full = builtins.attrValues libs; + } +) diff --git a/pkgs/tools/text/glogg/default.nix b/pkgs/tools/text/glogg/default.nix index 04aac6b0b8710..e3ac44ff4dbd6 100644 --- a/pkgs/tools/text/glogg/default.nix +++ b/pkgs/tools/text/glogg/default.nix @@ -1,4 +1,11 @@ -{ mkDerivation, lib, stdenv, fetchFromGitHub, qmake, boost }: +{ + mkDerivation, + lib, + stdenv, + fetchFromGitHub, + qmake, + boost, +}: mkDerivation rec { pname = "glogg"; diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix index fee1a0eed8c67..5d5e7adca30d1 100644 --- a/pkgs/tools/text/gnupatch/default.nix +++ b/pkgs/tools/text/gnupatch/default.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl -, ed, autoreconfHook +{ + lib, + stdenv, + fetchurl, + ed, + autoreconfHook, }: stdenv.mkDerivation rec { @@ -41,7 +45,7 @@ stdenv.mkDerivation rec { ]; doCheck = stdenv.hostPlatform.libc != "musl"; # not cross; - nativeCheckInputs = [ed]; + nativeCheckInputs = [ ed ]; meta = { description = "GNU Patch, a program to apply differences to files"; diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix index bc736f418725b..14465e3fb4f2f 100644 --- a/pkgs/tools/text/gnused/default.nix +++ b/pkgs/tools/text/gnused/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook, perl }: +{ + lib, + stdenv, + fetchurl, + updateAutotoolsGnuConfigScriptsHook, + perl, +}: stdenv.mkDerivation rec { pname = "gnused"; @@ -9,9 +15,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-biJrcy4c1zlGStaGK9Ghq6QteYKSLaelNRljHSSXUYE="; }; - outputs = [ "out" "info" ]; + outputs = [ + "out" + "info" + ]; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook perl ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + perl + ]; preConfigure = "patchShebangs ./build-aux/help2man"; # Prevents attempts of running 'help2man' on cross-built binaries. diff --git a/pkgs/tools/text/gpt2tc/default.nix b/pkgs/tools/text/gpt2tc/default.nix index ee78451aae8d4..96fc570d1318a 100644 --- a/pkgs/tools/text/gpt2tc/default.nix +++ b/pkgs/tools/text/gpt2tc/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchurl, autoPatchelfHook, python3 }: +{ + lib, + stdenv, + fetchurl, + autoPatchelfHook, + python3, +}: stdenv.mkDerivation rec { pname = "gpt2tc"; @@ -18,7 +24,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ - (python3.withPackages (p: with p; [ numpy tensorflow ])) + (python3.withPackages ( + p: with p; [ + numpy + tensorflow + ] + )) ]; installPhase = '' diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix index c843d6c0b5290..6f61197371849 100644 --- a/pkgs/tools/text/highlight/default.nix +++ b/pkgs/tools/text/highlight/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitLab, getopt, lua, boost, libxcrypt, pkg-config, swig, perl, gcc }: +{ + lib, + stdenv, + fetchFromGitLab, + getopt, + lua, + boost, + libxcrypt, + pkg-config, + swig, + perl, + gcc, +}: let self = stdenv.mkDerivation rec { @@ -14,20 +26,30 @@ let enableParallelBuilding = true; - nativeBuildInputs = [ pkg-config swig perl ] - ++ lib.optional stdenv.hostPlatform.isDarwin gcc; + nativeBuildInputs = [ + pkg-config + swig + perl + ] ++ lib.optional stdenv.hostPlatform.isDarwin gcc; - buildInputs = [ getopt lua boost libxcrypt ]; + buildInputs = [ + getopt + lua + boost + libxcrypt + ]; - postPatch = '' - substituteInPlace src/makefile \ - --replace "shell pkg-config" "shell $PKG_CONFIG" - substituteInPlace makefile \ - --replace 'gzip' 'gzip -n' - '' + lib.optionalString stdenv.cc.isClang '' - substituteInPlace src/makefile \ - --replace 'CXX=g++' 'CXX=clang++' - ''; + postPatch = + '' + substituteInPlace src/makefile \ + --replace "shell pkg-config" "shell $PKG_CONFIG" + substituteInPlace makefile \ + --replace 'gzip' 'gzip -n' + '' + + lib.optionalString stdenv.cc.isClang '' + substituteInPlace src/makefile \ + --replace 'CXX=g++' 'CXX=clang++' + ''; preConfigure = '' makeFlags="PREFIX=$out conf_dir=$out/etc/highlight/ CXX=$CXX AR=$AR" @@ -59,5 +81,4 @@ let }; in - if stdenv.hostPlatform.isDarwin then self - else perl.pkgs.toPerlModule self +if stdenv.hostPlatform.isDarwin then self else perl.pkgs.toPerlModule self diff --git a/pkgs/tools/text/igrep/default.nix b/pkgs/tools/text/igrep/default.nix index a4c4a134c4b65..739b284d37343 100644 --- a/pkgs/tools/text/igrep/default.nix +++ b/pkgs/tools/text/igrep/default.nix @@ -1,10 +1,11 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, stdenv -, Security -, testers -, igrep +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + Security, + testers, + igrep, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; passthru.tests = { - version = testers.testVersion { package = igrep; command = "ig --version"; }; + version = testers.testVersion { + package = igrep; + command = "ig --version"; + }; }; meta = with lib; { diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix index f296460e96eb7..aeb8b5f9c32d4 100644 --- a/pkgs/tools/text/kdiff3/default.nix +++ b/pkgs/tools/text/kdiff3/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchurl -, extra-cmake-modules -, kdoctools -, wrapQtAppsHook -, boost -, kcrash -, kconfig -, kinit -, kparts -, kiconthemes +{ + stdenv, + lib, + fetchurl, + extra-cmake-modules, + kdoctools, + wrapQtAppsHook, + boost, + kcrash, + kconfig, + kinit, + kparts, + kiconthemes, }: stdenv.mkDerivation (finalAttrs: { @@ -21,9 +22,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Qg8Ys7lolpigXhAvikFxkEkHTaaPlslL4Y0bgpfutUU="; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapQtAppsHook ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + wrapQtAppsHook + ]; - buildInputs = [ boost kconfig kcrash kinit kparts kiconthemes ]; + buildInputs = [ + boost + kconfig + kcrash + kinit + kparts + kiconthemes + ]; cmakeFlags = [ "-Wno-dev" ]; diff --git a/pkgs/tools/text/languagetool-rust/default.nix b/pkgs/tools/text/languagetool-rust/default.nix index 15b0ccb466110..5cca7a529beb0 100644 --- a/pkgs/tools/text/languagetool-rust/default.nix +++ b/pkgs/tools/text/languagetool-rust/default.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, installShellFiles -, pkg-config -, openssl -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + pkg-config, + openssl, + Security, }: rustPlatform.buildRustPackage rec { @@ -23,7 +24,10 @@ rustPlatform.buildRustPackage rec { buildFeatures = [ "full" ]; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; checkFlags = [ diff --git a/pkgs/tools/text/mdbook-admonish/default.nix b/pkgs/tools/text/mdbook-admonish/default.nix index da29d25dcb332..fcd1724910985 100644 --- a/pkgs/tools/text/mdbook-admonish/default.nix +++ b/pkgs/tools/text/mdbook-admonish/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "mdbook-admonish"; @@ -19,7 +25,11 @@ rustPlatform.buildRustPackage rec { description = "Preprocessor for mdbook to add Material Design admonishments"; mainProgram = "mdbook-admonish"; license = licenses.mit; - maintainers = with maintainers; [ jmgilman Frostman matthiasbeyer ]; + maintainers = with maintainers; [ + jmgilman + Frostman + matthiasbeyer + ]; homepage = "https://github.com/tommilligan/mdbook-admonish"; }; } diff --git a/pkgs/tools/text/mdbook-epub/default.nix b/pkgs/tools/text/mdbook-epub/default.nix index d9418f67b1451..ca662eaefcb7c 100644 --- a/pkgs/tools/text/mdbook-epub/default.nix +++ b/pkgs/tools/text/mdbook-epub/default.nix @@ -1,16 +1,18 @@ -{ lib -, stdenv -, rustPlatform -, fetchFromGitHub -, pkg-config -, bzip2 -, CoreServices +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + pkg-config, + bzip2, + CoreServices, }: let pname = "mdbook-epub"; version = "0.4.37"; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { inherit pname version; src = fetchFromGitHub { @@ -26,17 +28,22 @@ in rustPlatform.buildRustPackage { pkg-config ]; - buildInputs = [ - bzip2 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - ]; + buildInputs = + [ + bzip2 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + ]; meta = with lib; { description = "mdbook backend for generating an e-book in the EPUB format"; mainProgram = "mdbook-epub"; homepage = "https://michael-f-bryan.github.io/mdbook-epub"; license = licenses.mpl20; - maintainers = with maintainers; [ yuu matthiasbeyer ]; + maintainers = with maintainers; [ + yuu + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-footnote/default.nix b/pkgs/tools/text/mdbook-footnote/default.nix index 791cb07d02bec..ea66ed24a3be7 100644 --- a/pkgs/tools/text/mdbook-footnote/default.nix +++ b/pkgs/tools/text/mdbook-footnote/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, CoreServices +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, }: rustPlatform.buildRustPackage rec { pname = "mdbook-footnote"; @@ -24,6 +25,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "mdbook-footnote"; homepage = "https://github.com/daviddrysdale/mdbook-footnote"; license = licenses.asl20; - maintainers = with maintainers; [ brianmcgillion matthiasbeyer ]; + maintainers = with maintainers; [ + brianmcgillion + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-graphviz/default.nix b/pkgs/tools/text/mdbook-graphviz/default.nix index 9328cba50f6c2..5cc71d2871ae4 100644 --- a/pkgs/tools/text/mdbook-graphviz/default.nix +++ b/pkgs/tools/text/mdbook-graphviz/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, graphviz }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, + graphviz, +}: rustPlatform.buildRustPackage rec { pname = "mdbook-graphviz"; @@ -23,6 +30,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/dylanowen/mdbook-graphviz"; changelog = "https://github.com/dylanowen/mdbook-graphviz/releases/tag/v${version}"; license = [ licenses.mpl20 ]; - maintainers = with maintainers; [ lovesegfault matthiasbeyer ]; + maintainers = with maintainers; [ + lovesegfault + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-katex/default.nix b/pkgs/tools/text/mdbook-katex/default.nix index 309c591c08828..bf3c4a643b7c5 100644 --- a/pkgs/tools/text/mdbook-katex/default.nix +++ b/pkgs/tools/text/mdbook-katex/default.nix @@ -1,4 +1,10 @@ -{ lib, rustPlatform, fetchCrate, stdenv, CoreServices }: +{ + lib, + rustPlatform, + fetchCrate, + stdenv, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "mdbook-katex"; @@ -18,6 +24,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "mdbook-katex"; homepage = "https://github.com/lzanini/${pname}"; license = [ licenses.mit ]; - maintainers = with maintainers; [ lovesegfault matthiasbeyer ]; + maintainers = with maintainers; [ + lovesegfault + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-linkcheck/default.nix b/pkgs/tools/text/mdbook-linkcheck/default.nix index 7ff872a9d0dec..40dd80c93bea4 100644 --- a/pkgs/tools/text/mdbook-linkcheck/default.nix +++ b/pkgs/tools/text/mdbook-linkcheck/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security -, testers, mdbook-linkcheck }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + Security, + testers, + mdbook-linkcheck, +}: rustPlatform.buildRustPackage rec { pname = "mdbook-linkcheck"; @@ -29,6 +38,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "mdbook-linkcheck"; homepage = "https://github.com/Michael-F-Bryan/mdbook-linkcheck"; license = licenses.mit; - maintainers = with maintainers; [ zhaofengli matthiasbeyer ]; + maintainers = with maintainers; [ + zhaofengli + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-mermaid/default.nix b/pkgs/tools/text/mdbook-mermaid/default.nix index b4e837a2082a2..097fbcf4c320b 100644 --- a/pkgs/tools/text/mdbook-mermaid/default.nix +++ b/pkgs/tools/text/mdbook-mermaid/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, CoreServices +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, }: rustPlatform.buildRustPackage rec { @@ -28,6 +29,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/badboy/mdbook-mermaid"; changelog = "https://github.com/badboy/mdbook-mermaid/blob/v${version}/CHANGELOG.md"; license = licenses.mpl20; - maintainers = with maintainers; [ xrelkd matthiasbeyer ]; + maintainers = with maintainers; [ + xrelkd + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-pdf/default.nix b/pkgs/tools/text/mdbook-pdf/default.nix index ab889398ceffc..03a3823e3cb7b 100644 --- a/pkgs/tools/text/mdbook-pdf/default.nix +++ b/pkgs/tools/text/mdbook-pdf/default.nix @@ -1,10 +1,11 @@ -{ lib -, stdenv -, fetchCrate -, rustPlatform -, pkg-config -, openssl -, CoreServices +{ + lib, + stdenv, + fetchCrate, + rustPlatform, + pkg-config, + openssl, + CoreServices, }: rustPlatform.buildRustPackage rec { @@ -22,11 +23,13 @@ rustPlatform.buildRustPackage rec { pkg-config ]; - buildInputs = [ - openssl - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreServices - ]; + buildInputs = + [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + CoreServices + ]; # Stop downloading from the Internet to # generate the Chrome Devtools Protocol @@ -44,6 +47,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/HollowMan6/mdbook-pdf"; changelog = "https://github.com/HollowMan6/mdbook-pdf/releases/tag/v${version}"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ hollowman6 matthiasbeyer ]; + maintainers = with maintainers; [ + hollowman6 + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-plantuml/default.nix b/pkgs/tools/text/mdbook-plantuml/default.nix index e3665aa2f43f6..01640999080ff 100644 --- a/pkgs/tools/text/mdbook-plantuml/default.nix +++ b/pkgs/tools/text/mdbook-plantuml/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, stdenv -, rustPlatform -, pkg-config -, openssl -, CoreServices +{ + lib, + fetchFromGitHub, + fetchpatch, + stdenv, + rustPlatform, + pkg-config, + openssl, + CoreServices, }: rustPlatform.buildRustPackage rec { @@ -32,14 +33,16 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ]; meta = with lib; { description = "mdBook preprocessor to render PlantUML diagrams to png images in the book output directory"; mainProgram = "mdbook-plantuml"; homepage = "https://github.com/sytsereitsma/mdbook-plantuml"; license = [ licenses.mit ]; - maintainers = with maintainers; [ jcouyang matthiasbeyer ]; + maintainers = with maintainers; [ + jcouyang + matthiasbeyer + ]; }; } diff --git a/pkgs/tools/text/mdbook-toc/default.nix b/pkgs/tools/text/mdbook-toc/default.nix index 2555e03c124c4..d56e23bf95431 100644 --- a/pkgs/tools/text/mdbook-toc/default.nix +++ b/pkgs/tools/text/mdbook-toc/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + CoreServices, +}: rustPlatform.buildRustPackage rec { pname = "mdbook-toc"; @@ -23,4 +29,3 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ matthiasbeyer ]; }; } - diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index 7b37308c24d1b..92e1f683353e7 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -1,15 +1,16 @@ -{ lib -, curl -, stdenv -, fetchFromGitHub -, rustPlatform -, pkg-config -, asciidoctor -, openssl -, Security -, SystemConfiguration -, ansi2html -, installShellFiles +{ + lib, + curl, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + asciidoctor, + openssl, + Security, + SystemConfiguration, + ansi2html, + installShellFiles, }: rustPlatform.buildRustPackage rec { @@ -23,9 +24,20 @@ rustPlatform.buildRustPackage rec { hash = "sha256-gZwTvtZ5au8i0bZIMJa/mLWZRSGbik9nHlNEHMkqpa0="; }; - nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ]; - buildInputs = [ curl openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security SystemConfiguration ]; + nativeBuildInputs = [ + pkg-config + asciidoctor + installShellFiles + ]; + buildInputs = + [ + curl + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Security + SystemConfiguration + ]; cargoHash = "sha256-GcJGO5WJpyVHqcoiQUN+oRybzllbGsiiq5Yjo6Q5rOw="; @@ -42,17 +54,19 @@ rustPlatform.buildRustPackage rec { "--skip iterm2_tests_render_md_samples_images_md" ]; - postInstall = '' - installManPage $releaseDir/build/mdcat-*/out/mdcat.1 - ln -sr $out/bin/{mdcat,mdless} - '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - for bin in mdcat mdless; do - installShellCompletion --cmd $bin \ - --bash <($out/bin/$bin --completions bash) \ - --fish <($out/bin/$bin --completions fish) \ - --zsh <($out/bin/$bin --completions zsh) - done - ''; + postInstall = + '' + installManPage $releaseDir/build/mdcat-*/out/mdcat.1 + ln -sr $out/bin/{mdcat,mdless} + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + for bin in mdcat mdless; do + installShellCompletion --cmd $bin \ + --bash <($out/bin/$bin --completions bash) \ + --fish <($out/bin/$bin --completions fish) \ + --zsh <($out/bin/$bin --completions zsh) + done + ''; meta = with lib; { description = "cat for markdown"; diff --git a/pkgs/tools/text/mecab/default.nix b/pkgs/tools/text/mecab/default.nix index f1f9fc6503c81..135351f6a1b03 100644 --- a/pkgs/tools/text/mecab/default.nix +++ b/pkgs/tools/text/mecab/default.nix @@ -1,22 +1,34 @@ -{ lib, stdenv, fetchurl, mecab-ipadic, libiconv }: +{ + lib, + stdenv, + fetchurl, + mecab-ipadic, + libiconv, +}: let mecab-base = import ./base.nix { inherit fetchurl libiconv; }; in -stdenv.mkDerivation (finalAttrs: ((mecab-base finalAttrs) // { - pname = "mecab"; +stdenv.mkDerivation ( + finalAttrs: + ( + (mecab-base finalAttrs) + // { + pname = "mecab"; - postInstall = '' - mkdir -p $out/lib/mecab/dic - ln -s ${mecab-ipadic} $out/lib/mecab/dic/ipadic - ''; + postInstall = '' + mkdir -p $out/lib/mecab/dic + ln -s ${mecab-ipadic} $out/lib/mecab/dic/ipadic + ''; - meta = with lib; { - description = "Japanese morphological analysis system"; - homepage = "http://taku910.github.io/mecab"; - license = licenses.bsd3; - platforms = platforms.unix; - mainProgram = "mecab"; - maintainers = with maintainers; [ auntie ]; - }; -})) + meta = with lib; { + description = "Japanese morphological analysis system"; + homepage = "http://taku910.github.io/mecab"; + license = licenses.bsd3; + platforms = platforms.unix; + mainProgram = "mecab"; + maintainers = with maintainers; [ auntie ]; + }; + } + ) +) diff --git a/pkgs/tools/text/mecab/ipadic.nix b/pkgs/tools/text/mecab/ipadic.nix index 61d23f87a8cec..5eb1439ed0db7 100644 --- a/pkgs/tools/text/mecab/ipadic.nix +++ b/pkgs/tools/text/mecab/ipadic.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, mecab-nodic }: +{ + stdenv, + fetchurl, + mecab-nodic, +}: stdenv.mkDerivation (finalAttrs: { pname = "mecab-ipadic"; diff --git a/pkgs/tools/text/mecab/nodic.nix b/pkgs/tools/text/mecab/nodic.nix index a40e2a19698d8..7dff23c6869a5 100644 --- a/pkgs/tools/text/mecab/nodic.nix +++ b/pkgs/tools/text/mecab/nodic.nix @@ -1,8 +1,18 @@ -{ stdenv, fetchurl, libiconv }: +{ + stdenv, + fetchurl, + libiconv, +}: let mecab-base = import ./base.nix { inherit fetchurl libiconv; }; in -stdenv.mkDerivation (finalAttrs: ((mecab-base finalAttrs) // { - pname = "mecab-nodic"; -})) +stdenv.mkDerivation ( + finalAttrs: + ( + (mecab-base finalAttrs) + // { + pname = "mecab-nodic"; + } + ) +) diff --git a/pkgs/tools/text/mir-qualia/default.nix b/pkgs/tools/text/mir-qualia/default.nix index 0ded2f1757b2a..88a688c1f0a36 100644 --- a/pkgs/tools/text/mir-qualia/default.nix +++ b/pkgs/tools/text/mir-qualia/default.nix @@ -1,4 +1,8 @@ -{ lib, pythonPackages, fetchurl }: +{ + lib, + pythonPackages, + fetchurl, +}: pythonPackages.buildPythonApplication rec { pname = "mir.qualia"; @@ -17,6 +21,6 @@ pythonPackages.buildPythonApplication rec { mainProgram = "qualia"; homepage = "https://github.com/darkfeline/mir.qualia"; license = lib.licenses.asl20; - maintainers = [ lib.maintainers.srhb ] ; + maintainers = [ lib.maintainers.srhb ]; }; } diff --git a/pkgs/tools/text/multitran/data/default.nix b/pkgs/tools/text/multitran/data/default.nix index ba25b68fd7f5e..05f4420e8100c 100644 --- a/pkgs/tools/text/multitran/data/default.nix +++ b/pkgs/tools/text/multitran/data/default.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl} : +{ + lib, + stdenv, + fetchurl, +}: # This package requires a locale ru_RU.cp1251 locale entry. # Waiting for a better idea, I created it modifying a store file using: @@ -10,8 +14,8 @@ stdenv.mkDerivation { version = "0.3"; src = fetchurl { - url = "mirror://sourceforge/multitran/multitran-data.tar.bz2"; - sha256 = "9c2ff5027c2fe72b0cdf056311cd7543f447feb02b455982f20d4a3966b7828c"; + url = "mirror://sourceforge/multitran/multitran-data.tar.bz2"; + sha256 = "9c2ff5027c2fe72b0cdf056311cd7543f447feb02b455982f20d4a3966b7828c"; }; patchPhase = '' diff --git a/pkgs/tools/text/multitran/libbtree/default.nix b/pkgs/tools/text/multitran/libbtree/default.nix index 99f15b8b21ed9..c000a3c26b333 100644 --- a/pkgs/tools/text/multitran/libbtree/default.nix +++ b/pkgs/tools/text/multitran/libbtree/default.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl} : +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libbtree"; diff --git a/pkgs/tools/text/multitran/libfacet/default.nix b/pkgs/tools/text/multitran/libfacet/default.nix index 5efb57ddff92a..8cd5f004b4a07 100644 --- a/pkgs/tools/text/multitran/libfacet/default.nix +++ b/pkgs/tools/text/multitran/libfacet/default.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchurl, libmtsupport }: +{ + lib, + stdenv, + fetchurl, + libmtsupport, +}: stdenv.mkDerivation rec { pname = "libfacet"; diff --git a/pkgs/tools/text/multitran/libmtquery/default.nix b/pkgs/tools/text/multitran/libmtquery/default.nix index 5ebb45cf98b80..ce4ede6cd78f1 100644 --- a/pkgs/tools/text/multitran/libmtquery/default.nix +++ b/pkgs/tools/text/multitran/libmtquery/default.nix @@ -1,4 +1,12 @@ -{lib, stdenv, fetchurl, libmtsupport, libfacet, libbtree, multitrandata } : +{ + lib, + stdenv, + fetchurl, + libmtsupport, + libfacet, + libbtree, + multitrandata, +}: stdenv.mkDerivation rec { pname = "libmtquery"; @@ -9,7 +17,12 @@ stdenv.mkDerivation rec { sha256 = "e24c7c15772445f1b14871928d84dd03cf93bd88f9d2b2ed1bf0257c2cf2b15e"; }; - buildInputs = [ libmtsupport libfacet libbtree multitrandata ]; + buildInputs = [ + libmtsupport + libfacet + libbtree + multitrandata + ]; NIX_LDFLAGS = "-lbtree"; diff --git a/pkgs/tools/text/multitran/libmtsupport/default.nix b/pkgs/tools/text/multitran/libmtsupport/default.nix index adb54f170095d..7adb17ad888b4 100644 --- a/pkgs/tools/text/multitran/libmtsupport/default.nix +++ b/pkgs/tools/text/multitran/libmtsupport/default.nix @@ -1,4 +1,8 @@ -{lib, stdenv, fetchurl} : +{ + lib, + stdenv, + fetchurl, +}: stdenv.mkDerivation rec { pname = "libmtsupport"; diff --git a/pkgs/tools/text/multitran/mtutils/default.nix b/pkgs/tools/text/multitran/mtutils/default.nix index 658daf9ce2304..881900208c0b6 100644 --- a/pkgs/tools/text/multitran/mtutils/default.nix +++ b/pkgs/tools/text/multitran/mtutils/default.nix @@ -1,15 +1,30 @@ -{lib, stdenv, fetchurl, libmtsupport, libfacet, libbtree, libmtquery, help2man} : +{ + lib, + stdenv, + fetchurl, + libmtsupport, + libfacet, + libbtree, + libmtquery, + help2man, +}: stdenv.mkDerivation rec { pname = "mt-utils"; version = "0.0.1alpha3"; src = fetchurl { - url = "mirror://sourceforge/multitran/mt-utils-${version}.tar.bz2"; - sha256 = "e407702c90c5272882386914e1eeca5f6c5039393af9a44538536b94867b0a0e"; + url = "mirror://sourceforge/multitran/mt-utils-${version}.tar.bz2"; + sha256 = "e407702c90c5272882386914e1eeca5f6c5039393af9a44538536b94867b0a0e"; }; - buildInputs = [ libmtsupport libfacet libbtree libmtquery help2man ]; + buildInputs = [ + libmtsupport + libfacet + libbtree + libmtquery + help2man + ]; patchPhase = '' sed -i -e 's@\$(DESTDIR)/usr@'$out'@' \ diff --git a/pkgs/tools/text/nltk-data/default.nix b/pkgs/tools/text/nltk-data/default.nix index 56ec586cc3977..6a97585d4cfb8 100644 --- a/pkgs/tools/text/nltk-data/default.nix +++ b/pkgs/tools/text/nltk-data/default.nix @@ -1,4 +1,10 @@ -{ lib, newScope, fetchFromGitHub, unzip, stdenvNoCC }: +{ + lib, + newScope, + fetchFromGitHub, + unzip, + stdenvNoCC, +}: let base = { version = "0-unstable-2024-07-29"; @@ -12,7 +18,12 @@ let maintainers = with maintainers; [ happysalada ]; }; }; - makeNltkDataPackage = {pname, location, hash}: + makeNltkDataPackage = + { + pname, + location, + hash, + }: let src = fetchFromGitHub { owner = "nltk"; @@ -22,20 +33,23 @@ let sparseCheckout = [ "packages/${location}/${pname}.zip" ]; }; in - stdenvNoCC.mkDerivation (base // { - inherit pname src; - inherit (base) version; - installPhase = '' - runHook preInstall + stdenvNoCC.mkDerivation ( + base + // { + inherit pname src; + inherit (base) version; + installPhase = '' + runHook preInstall - mkdir -p $out - unzip ${src}/packages/${location}/${pname}.zip - mkdir -p $out/${location} - cp -R ${pname}/ $out/${location} + mkdir -p $out + unzip ${src}/packages/${location}/${pname}.zip + mkdir -p $out/${location} + cp -R ${pname}/ $out/${location} - runHook postInstall - ''; - }); + runHook postInstall + ''; + } + ); in lib.makeScope newScope (self: { punkt = makeNltkDataPackage { diff --git a/pkgs/tools/text/patchutils/0.3.3.nix b/pkgs/tools/text/patchutils/0.3.3.nix index f50354199c3ff..f1aea0a847f07 100644 --- a/pkgs/tools/text/patchutils/0.3.3.nix +++ b/pkgs/tools/text/patchutils/0.3.3.nix @@ -1,7 +1,10 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // { - version = "0.3.3"; - sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i"; - patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one -}) +callPackage ./generic.nix ( + args + // { + version = "0.3.3"; + sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i"; + patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one + } +) diff --git a/pkgs/tools/text/patchutils/0.4.2.nix b/pkgs/tools/text/patchutils/0.4.2.nix index d3d26c11481d6..b6815f91d74e8 100644 --- a/pkgs/tools/text/patchutils/0.4.2.nix +++ b/pkgs/tools/text/patchutils/0.4.2.nix @@ -1,9 +1,12 @@ -{ callPackage, python3, ... } @ args: +{ callPackage, python3, ... }@args: -callPackage ./generic.nix (args // { - version = "0.4.2"; - sha256 = "sha256-iHWwll/jPeYriQ9s15O+f6/kGk5VLtv2QfH+1eu/Re0="; - # for gitdiff - extraBuildInputs = [ python3 ]; - patches = [ ./Revert-Fix-grepdiff-test.patch ]; -}) +callPackage ./generic.nix ( + args + // { + version = "0.4.2"; + sha256 = "sha256-iHWwll/jPeYriQ9s15O+f6/kGk5VLtv2QfH+1eu/Re0="; + # for gitdiff + extraBuildInputs = [ python3 ]; + patches = [ ./Revert-Fix-grepdiff-test.patch ]; + } +) diff --git a/pkgs/tools/text/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix index 902773f40fa4f..c79b1d7110c72 100644 --- a/pkgs/tools/text/patchutils/default.nix +++ b/pkgs/tools/text/patchutils/default.nix @@ -1,6 +1,9 @@ -{ callPackage, ... } @ args: +{ callPackage, ... }@args: -callPackage ./generic.nix (args // { - version = "0.3.4"; - sha256 = "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg"; -}) +callPackage ./generic.nix ( + args + // { + version = "0.3.4"; + sha256 = "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg"; + } +) diff --git a/pkgs/tools/text/patchutils/generic.nix b/pkgs/tools/text/patchutils/generic.nix index d1cd4334e1196..047b4cfd55cc2 100644 --- a/pkgs/tools/text/patchutils/generic.nix +++ b/pkgs/tools/text/patchutils/generic.nix @@ -1,6 +1,14 @@ -{ lib, stdenv, fetchurl, perl, makeWrapper -, version, sha256, patches ? [], extraBuildInputs ? [] -, ... +{ + lib, + stdenv, + fetchurl, + perl, + makeWrapper, + version, + sha256, + patches ? [ ], + extraBuildInputs ? [ ], + ... }: stdenv.mkDerivation rec { pname = "patchutils"; @@ -27,13 +35,15 @@ stdenv.mkDerivation rec { doCheck = lib.versionAtLeast version "0.3.4"; - preCheck = '' - patchShebangs tests - chmod +x scripts/* - '' + lib.optionalString (lib.versionOlder version "0.4.2") '' - find tests -type f -name 'run-test' \ - -exec sed -i '{}' -e 's|/bin/echo|echo|g' \; - ''; + preCheck = + '' + patchShebangs tests + chmod +x scripts/* + '' + + lib.optionalString (lib.versionOlder version "0.4.2") '' + find tests -type f -name 'run-test' \ + -exec sed -i '{}' -e 's|/bin/echo|echo|g' \; + ''; meta = with lib; { description = "Tools to manipulate patch files"; diff --git a/pkgs/tools/text/pinyin-tool/default.nix b/pkgs/tools/text/pinyin-tool/default.nix index e287c2a5cc799..54520d5d317e1 100644 --- a/pkgs/tools/text/pinyin-tool/default.nix +++ b/pkgs/tools/text/pinyin-tool/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, Security }: +{ + stdenv, + lib, + rustPlatform, + fetchFromGitHub, + Security, +}: rustPlatform.buildRustPackage rec { pname = "pinyin-tool"; diff --git a/pkgs/tools/text/poedit/default.nix b/pkgs/tools/text/poedit/default.nix index 101a08422c18c..8b702994a000a 100644 --- a/pkgs/tools/text/poedit/default.nix +++ b/pkgs/tools/text/poedit/default.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, pkg-config, wxGTK32, - boost, icu, lucenepp, asciidoc, libxslt, xmlto, gtk3, gtkspell3, pugixml, - nlohmann_json, hicolor-icon-theme, wrapGAppsHook3 }: +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libtool, + gettext, + pkg-config, + wxGTK32, + boost, + icu, + lucenepp, + asciidoc, + libxslt, + xmlto, + gtk3, + gtkspell3, + pugixml, + nlohmann_json, + hicolor-icon-theme, + wrapGAppsHook3, +}: stdenv.mkDerivation rec { pname = "poedit"; @@ -13,10 +33,28 @@ stdenv.mkDerivation rec { hash = "sha256-SZjsJQYJCXQendzQ2Tobg+IgkWL6lFX5YnMfruPt7UA="; }; - nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook3 - libxslt xmlto boost libtool pkg-config ]; + nativeBuildInputs = [ + autoconf + automake + asciidoc + wrapGAppsHook3 + libxslt + xmlto + boost + libtool + pkg-config + ]; - buildInputs = [ lucenepp nlohmann_json wxGTK32 icu pugixml gtk3 gtkspell3 hicolor-icon-theme ]; + buildInputs = [ + lucenepp + nlohmann_json + wxGTK32 + icu + pugixml + gtk3 + gtkspell3 + hicolor-icon-theme + ]; propagatedBuildInputs = [ gettext ]; diff --git a/pkgs/tools/text/proselint/default.nix b/pkgs/tools/text/proselint/default.nix index a7ca553c1c198..a5bb06bc5b75a 100644 --- a/pkgs/tools/text/proselint/default.nix +++ b/pkgs/tools/text/proselint/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchurl, buildPythonApplication, click, future, six }: +{ + lib, + fetchurl, + buildPythonApplication, + click, + future, + six, +}: buildPythonApplication rec { pname = "proselint"; @@ -11,7 +18,11 @@ buildPythonApplication rec { sha256 = "7dd2b63cc2aa390877c4144fcd3c80706817e860b017f04882fbcd2ab0852a58"; }; - propagatedBuildInputs = [ click future six ]; + propagatedBuildInputs = [ + click + future + six + ]; meta = with lib; { description = "Linter for prose"; diff --git a/pkgs/tools/text/reckon/default.nix b/pkgs/tools/text/reckon/default.nix index ccaaad0c45819..7efdfe91cf641 100644 --- a/pkgs/tools/text/reckon/default.nix +++ b/pkgs/tools/text/reckon/default.nix @@ -1,4 +1,11 @@ -{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, file }: +{ + stdenv, + lib, + bundlerEnv, + bundlerUpdateScript, + makeWrapper, + file, +}: stdenv.mkDerivation rec { pname = "reckon"; @@ -8,19 +15,21 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - installPhase = let - env = bundlerEnv { - name = "${pname}-${version}-gems"; + installPhase = + let + env = bundlerEnv { + name = "${pname}-${version}-gems"; - gemdir = ./.; - }; - in '' - runHook preInstall - mkdir -p $out/bin - makeWrapper ${env}/bin/reckon $out/bin/reckon \ - --prefix PATH : ${lib.makeBinPath [ file ]} - runHook postInstall - ''; + gemdir = ./.; + }; + in + '' + runHook preInstall + mkdir -p $out/bin + makeWrapper ${env}/bin/reckon $out/bin/reckon \ + --prefix PATH : ${lib.makeBinPath [ file ]} + runHook postInstall + ''; passthru.updateScript = bundlerUpdateScript "reckon"; diff --git a/pkgs/tools/text/reckon/gemset.nix b/pkgs/tools/text/reckon/gemset.nix index 508d6da0be3e7..d8903b9adf4ef 100644 --- a/pkgs/tools/text/reckon/gemset.nix +++ b/pkgs/tools/text/reckon/gemset.nix @@ -1,50 +1,55 @@ { chronic = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn"; type = "gem"; }; version = "0.10.2"; }; highline = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; type = "gem"; }; version = "2.1.0"; }; matrix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; rchardet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; type = "gem"; }; version = "1.8.0"; }; reckon = { - dependencies = ["chronic" "highline" "matrix" "rchardet"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "chronic" + "highline" + "matrix" + "rchardet" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0188k41lvz5vnn03qw1hbi6c2i88n5p3183rb0xz9rfjcngh2ly3"; type = "gem"; }; diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix index a44316517dc18..96473dab41eaf 100644 --- a/pkgs/tools/text/ripgrep-all/default.nix +++ b/pkgs/tools/text/ripgrep-all/default.nix @@ -1,15 +1,16 @@ -{ stdenv -, lib -, fetchFromGitHub -, rustPlatform -, makeWrapper -, ffmpeg -, pandoc -, poppler_utils -, ripgrep -, Security -, zip -, fzf +{ + stdenv, + lib, + fetchFromGitHub, + rustPlatform, + makeWrapper, + ffmpeg, + pandoc, + poppler_utils, + ripgrep, + Security, + zip, + fzf, }: let @@ -21,7 +22,8 @@ let zip fzf ]; -in rustPlatform.buildRustPackage rec { +in +rustPlatform.buildRustPackage rec { pname = "ripgrep-all"; version = "0.10.6"; @@ -42,7 +44,10 @@ in rustPlatform.buildRustPackage rec { # override debug=true set in Cargo.toml upstream RUSTFLAGS = "-C debuginfo=none"; - nativeBuildInputs = [ makeWrapper poppler_utils ]; + nativeBuildInputs = [ + makeWrapper + poppler_utils + ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin Security; nativeCheckInputs = path; @@ -66,7 +71,10 @@ in rustPlatform.buildRustPackage rec { ''; homepage = "https://github.com/phiresky/ripgrep-all"; license = with licenses; [ agpl3Plus ]; - maintainers = with maintainers; [ zaninime ma27 ]; + maintainers = with maintainers; [ + zaninime + ma27 + ]; mainProgram = "rga"; }; } diff --git a/pkgs/tools/text/ruby-zoom/default.nix b/pkgs/tools/text/ruby-zoom/default.nix index 06e505816648e..2364fa7fc4b41 100644 --- a/pkgs/tools/text/ruby-zoom/default.nix +++ b/pkgs/tools/text/ruby-zoom/default.nix @@ -1,4 +1,9 @@ -{ lib, bundlerEnv, ruby, bundlerUpdateScript }: +{ + lib, + bundlerEnv, + ruby, + bundlerUpdateScript, +}: bundlerEnv { pname = "ruby-zoom"; @@ -10,9 +15,12 @@ bundlerEnv { meta = with lib; { description = "Quickly open CLI search results in your favorite editor"; - homepage = "https://gitlab.com/mjwhitta/zoom"; - license = with licenses; gpl3; - maintainers = with maintainers; [ vmandela nicknovitski ]; - platforms = platforms.unix; + homepage = "https://gitlab.com/mjwhitta/zoom"; + license = with licenses; gpl3; + maintainers = with maintainers; [ + vmandela + nicknovitski + ]; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/text/ruby-zoom/gemset.nix b/pkgs/tools/text/ruby-zoom/gemset.nix index 19584787d904f..a3573c73705ca 100644 --- a/pkgs/tools/text/ruby-zoom/gemset.nix +++ b/pkgs/tools/text/ruby-zoom/gemset.nix @@ -1,61 +1,67 @@ { djinni = { - dependencies = ["fagin"]; - groups = ["default"]; - platforms = []; + dependencies = [ "fagin" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18zk80jk70xq1bnsvzcgxb13x9fqdb5g4m02b2f6mvqm4cyw26pl"; type = "gem"; }; version = "2.2.4"; }; fagin = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0psyydh4hf2s1kz0r50aiyjf5v2pqhkbmy0gicxzaj5n17q2ga24"; type = "gem"; }; version = "1.2.1"; }; hilighter = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03zm49g96dfpan5fhblcjxrzv7ldwan57sn0jcllkcmrqfd0zlyz"; type = "gem"; }; version = "1.2.3"; }; json_config = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0slb618n1ipn47j6dsxbfv2j9pl06dxn2i651llix09d529m7zwa"; type = "gem"; }; version = "1.1.0"; }; ruby-zoom = { - dependencies = ["djinni" "fagin" "hilighter" "json_config" "scoobydoo"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "djinni" + "fagin" + "hilighter" + "json_config" + "scoobydoo" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0iqxc0rzypsxy4wbxnvgvk98dbcsrcczq3xi9xd4wz4ggwq564l3"; type = "gem"; }; version = "5.3.0"; }; scoobydoo = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "162p75nc9x078kqcpdsrsd7kngs6jc5n4injz3kzpwf0jgbbm8n7"; type = "gem"; }; diff --git a/pkgs/tools/text/sd/default.nix b/pkgs/tools/text/sd/default.nix index d1c7e36a65935..4469739ce1625 100644 --- a/pkgs/tools/text/sd/default.nix +++ b/pkgs/tools/text/sd/default.nix @@ -1,9 +1,10 @@ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, installShellFiles -, Security +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + installShellFiles, + Security, }: rustPlatform.buildRustPackage rec { @@ -35,6 +36,9 @@ rustPlatform.buildRustPackage rec { mainProgram = "sd"; homepage = "https://github.com/chmln/sd"; license = licenses.mit; - maintainers = with maintainers; [ amar1729 Br1ght0ne ]; + maintainers = with maintainers; [ + amar1729 + Br1ght0ne + ]; }; } diff --git a/pkgs/tools/text/uniscribe/default.nix b/pkgs/tools/text/uniscribe/default.nix index 98b164a9d58d4..94b49a0b4d239 100644 --- a/pkgs/tools/text/uniscribe/default.nix +++ b/pkgs/tools/text/uniscribe/default.nix @@ -1,4 +1,10 @@ -{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper }: +{ + stdenv, + lib, + bundlerEnv, + bundlerUpdateScript, + makeWrapper, +}: let rubyEnv = bundlerEnv { diff --git a/pkgs/tools/text/uniscribe/gemset.nix b/pkgs/tools/text/uniscribe/gemset.nix index d61123585c2ae..cdd0cb20b0830 100644 --- a/pkgs/tools/text/uniscribe/gemset.nix +++ b/pkgs/tools/text/uniscribe/gemset.nix @@ -1,1763 +1,2356 @@ { characteristics = { - dependencies = ["unicode-categories"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "unicode-categories" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zhgx2h89kfm1xdgfw78vyw6mgwca1nqd67hk13pfz8ffkig2ziq"; type = "gem"; }; version = "1.4.0"; }; paint = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01fhvxdaqngldqa7r0jgnskr4iv2x2i0n3z28za8j4qszpvlcb7x"; type = "gem"; }; version = "2.2.1"; }; rationalist = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zydr81pc63m7i5f5s51ryksv3g2qya5pd42s09v9ixk3fddpxgi"; type = "gem"; }; version = "2.0.1"; }; symbolify = { - dependencies = ["characteristics"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "characteristics" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cjalbjgw50bwna2gyjczx42nszifslijy43bmiahn4dw76jz653"; type = "gem"; }; version = "1.4.0"; }; unicode-categories = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0prakys8s56hh56q2r4gm2iigq9wk4ywwpv9ywcyi4xr9k2pliy3"; type = "gem"; }; version = "1.7.0"; }; unicode-display_width = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn"; type = "gem"; }; version = "2.1.0"; }; unicode-emoji = { - dependencies = ["unicode-version"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "unicode-version" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fvm7z6s9nipbwsq4xqqz443g3x5lwkcpg7iwqxs9x43dd9r8h77"; type = "gem"; }; version = "2.9.0"; }; unicode-name = { - dependencies = ["unicode-types"]; - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + dependencies = [ "unicode-types" ]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18ly2yy1jbdcvxgfyn2n17c2v54n9llzvr7klbfhy285lz1ylkdd"; type = "gem"; }; version = "1.10.0"; }; unicode-sequence_name = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fm57j4yplfsdq5pyxdp7pgp5adisdh8hr1dgvr5g1x076bvis16"; type = "gem"; }; version = "1.10.0"; }; unicode-types = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qrbvx01v1x931czvrng0hvlhyb1bwa3mnq008lq5w75ldrpyiis"; type = "gem"; }; version = "1.7.0"; }; unicode-version = { - groups = ["default"]; - platforms = [{ - engine = "maglev"; - } { - engine = "maglev"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.8"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "1.9"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.0"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.1"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.2"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.3"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.4"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.5"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "maglev"; - version = "2.6"; - } { - engine = "rbx"; - } { - engine = "rbx"; - } { - engine = "rbx"; - version = "1.8"; - } { - engine = "rbx"; - version = "1.9"; - } { - engine = "rbx"; - version = "2.0"; - } { - engine = "rbx"; - version = "2.1"; - } { - engine = "rbx"; - version = "2.2"; - } { - engine = "rbx"; - version = "2.3"; - } { - engine = "rbx"; - version = "2.4"; - } { - engine = "rbx"; - version = "2.5"; - } { - engine = "rbx"; - version = "2.6"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.8"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "1.9"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.0"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.1"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.2"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.3"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.4"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.5"; - } { - engine = "ruby"; - version = "2.6"; - } { - engine = "ruby"; - version = "2.6"; - }]; + groups = [ "default" ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "maglev"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.8"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "1.9"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.0"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.1"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.2"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.3"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.4"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.5"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "maglev"; + version = "2.6"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + } + { + engine = "rbx"; + version = "1.8"; + } + { + engine = "rbx"; + version = "1.9"; + } + { + engine = "rbx"; + version = "2.0"; + } + { + engine = "rbx"; + version = "2.1"; + } + { + engine = "rbx"; + version = "2.2"; + } + { + engine = "rbx"; + version = "2.3"; + } + { + engine = "rbx"; + version = "2.4"; + } + { + engine = "rbx"; + version = "2.5"; + } + { + engine = "rbx"; + version = "2.6"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.8"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "1.9"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.0"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.1"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.2"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.3"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.4"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.5"; + } + { + engine = "ruby"; + version = "2.6"; + } + { + engine = "ruby"; + version = "2.6"; + } + ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0isqdyqix8gh2xkpy9ab7bhwwz4nc7zrv49l0kb0hqd7n3ip9zmg"; type = "gem"; }; version = "1.1.0"; }; uniscribe = { - dependencies = ["characteristics" "paint" "rationalist" "symbolify" "unicode-display_width" "unicode-emoji" "unicode-name" "unicode-sequence_name" "unicode-version"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "characteristics" + "paint" + "rationalist" + "symbolify" + "unicode-display_width" + "unicode-emoji" + "unicode-name" + "unicode-sequence_name" + "unicode-version" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k66h24waqy51yfqkb1iish0kc3ky85h51dikzdhk6i51q2vrx7i"; type = "gem"; }; diff --git a/pkgs/tools/text/xsv/default.nix b/pkgs/tools/text/xsv/default.nix index 62b6a83d3f326..5dcc9a862bb29 100644 --- a/pkgs/tools/text/xsv/default.nix +++ b/pkgs/tools/text/xsv/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + Security, +}: rustPlatform.buildRustPackage rec { pname = "xsv"; @@ -19,7 +25,10 @@ rustPlatform.buildRustPackage rec { description = "Fast CSV toolkit written in Rust"; mainProgram = "xsv"; homepage = "https://github.com/BurntSushi/xsv"; - license = with licenses; [ unlicense /* or */ mit ]; + license = with licenses; [ + unlicense # or + mit + ]; maintainers = [ maintainers.jgertm ]; }; } diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix index 24e1c6bc1a304..3f8caf570f625 100644 --- a/pkgs/tools/typesetting/asciidoc/default.nix +++ b/pkgs/tools/typesetting/asciidoc/default.nix @@ -1,47 +1,63 @@ -{ fetchurl, lib, stdenv, python3 -, fetchFromGitHub, autoreconfHook -, installShellFiles -, enableStandardFeatures ? false -, sourceHighlight -, highlight -, pygments -, graphviz -, texliveMinimal -, dblatexFull -, libxslt -, w3m -, lynx -, imagemagick -, lilypond -, libxml2 -, docbook_xml_dtd_45 -, docbook_xsl_ns -, docbook_xsl -, fop -, epubcheck -, gnused -, coreutils - -# if true, enable all the below filters and backends -, enableExtraPlugins ? false - -# unzip is needed to extract filter and backend plugins -, unzip -# filters -, enableDitaaFilter ? false, jre -, enableMscgenFilter ? false, mscgen -, enableDiagFilter ? false, blockdiag, seqdiag, actdiag, nwdiag -, enableQrcodeFilter ? false, qrencode -, enableMatplotlibFilter ? false, matplotlib, numpy -, enableAafigureFilter ? false, aafigure, recursive-pth-loader -# backends -, enableDeckjsBackend ? false -, enableOdfBackend ? false - -# java is problematic on some platforms, where it is unfree -, enableJava ? true - -, buildPackages +{ + fetchurl, + lib, + stdenv, + python3, + fetchFromGitHub, + autoreconfHook, + installShellFiles, + enableStandardFeatures ? false, + sourceHighlight, + highlight, + pygments, + graphviz, + texliveMinimal, + dblatexFull, + libxslt, + w3m, + lynx, + imagemagick, + lilypond, + libxml2, + docbook_xml_dtd_45, + docbook_xsl_ns, + docbook_xsl, + fop, + epubcheck, + gnused, + coreutils, + + # if true, enable all the below filters and backends + enableExtraPlugins ? false, + + # unzip is needed to extract filter and backend plugins + unzip, + # filters + enableDitaaFilter ? false, + jre, + enableMscgenFilter ? false, + mscgen, + enableDiagFilter ? false, + blockdiag, + seqdiag, + actdiag, + nwdiag, + enableQrcodeFilter ? false, + qrencode, + enableMatplotlibFilter ? false, + matplotlib, + numpy, + enableAafigureFilter ? false, + aafigure, + recursive-pth-loader, + # backends + enableDeckjsBackend ? false, + enableOdfBackend ? false, + + # java is problematic on some platforms, where it is unfree + enableJava ? true, + + buildPackages, }: let @@ -86,11 +102,15 @@ let }; # there are no archives or tags, using latest commit in master branch as per 2013-09-22 - matplotlibFilterSrc = let commit = "75f0d009629f93f33fab04b83faca20cc35dd358"; in fetchurl { - name = "mplw-${commit}.tar.gz"; - url = "https://api.github.com/repos/lvv/mplw/tarball/${commit}"; - sha256 = "0yfhkm2dr8gnp0fcg25x89hwiymkri2m5cyqzmzragzwj0hbmcf1"; - }; + matplotlibFilterSrc = + let + commit = "75f0d009629f93f33fab04b83faca20cc35dd358"; + in + fetchurl { + name = "mplw-${commit}.tar.gz"; + url = "https://api.github.com/repos/lvv/mplw/tarball/${commit}"; + sha256 = "0yfhkm2dr8gnp0fcg25x89hwiymkri2m5cyqzmzragzwj0hbmcf1"; + }; aafigureFilterSrc = fetchurl { url = "https://asciidoc-aafigure-filter.googlecode.com/files/aafigure-filter-1.1.zip"; @@ -117,8 +137,10 @@ let sha256 = "08ya4bskygzqkfqwjllpg31qc5k08xp2k78z9b2480g8y57bfy10"; }; -in python3.pkgs.buildPythonApplication rec { - pname = "asciidoc" +in +python3.pkgs.buildPythonApplication rec { + pname = + "asciidoc" + lib.optionalString enableStandardFeatures "-full" + lib.optionalString enableExtraPlugins "-with-plugins"; version = "10.2.1"; @@ -138,118 +160,141 @@ in python3.pkgs.buildPythonApplication rec { ]; # install filters early, so their shebangs are patched too - postPatch = '' - mkdir -p "$out/etc/asciidoc/filters" - mkdir -p "$out/etc/asciidoc/backends" - '' + lib.optionalString _enableDitaaFilter '' - echo "Extracting ditaa filter" - unzip -d "$out/etc/asciidoc/filters/ditaa" "${ditaaFilterSrc}" - sed -i -e "s|java -jar|${jre}/bin/java -jar|" \ - "$out/etc/asciidoc/filters/ditaa/ditaa2img.py" - '' + lib.optionalString _enableMscgenFilter '' - echo "Extracting mscgen filter" - unzip -d "$out/etc/asciidoc/filters/mscgen" "${mscgenFilterSrc}" - sed -i -e "s|filter-wrapper.py mscgen|filter-wrapper.py ${mscgen}/bin/mscgen|" \ - "$out/etc/asciidoc/filters/mscgen/mscgen-filter.conf" - '' + lib.optionalString _enableDiagFilter '' - echo "Extracting diag filter" - unzip -d "$out/etc/asciidoc/filters/diag" "${diagFilterSrc}" - sed -i \ - -e "s|filter='blockdiag|filter=\'${blockdiag}/bin/blockdiag|" \ - -e "s|filter='seqdiag|filter=\'${seqdiag}/bin/seqdiag|" \ - -e "s|filter='actdiag|filter=\'${actdiag}/bin/actdiag|" \ - -e "s|filter='nwdiag|filter=\'${nwdiag}/bin/nwdiag|" \ - -e "s|filter='packetdiag|filter=\'${nwdiag}/bin/packetdiag|" \ - "$out/etc/asciidoc/filters/diag/diag-filter.conf" - '' + lib.optionalString _enableQrcodeFilter '' - echo "Extracting qrcode filter" - unzip -d "$out/etc/asciidoc/filters/qrcode" "${qrcodeFilterSrc}" - sed -i -e "s|systemcmd('qrencode|systemcmd('${qrencode}/bin/qrencode|" \ - "$out/etc/asciidoc/filters/qrcode/qrcode2img.py" - '' + lib.optionalString _enableMatplotlibFilter '' - echo "Extracting mpl (matplotlib) filter" - mkdir -p "$out/etc/asciidoc/filters/mpl" - tar xvf "${matplotlibFilterSrc}" -C "$out/etc/asciidoc/filters/mpl" --strip-components=1 - # Stop asciidoc from loading mpl/.old/chart-filter.conf - rm -rf "$out/etc/asciidoc/filters/mpl/.old" - # Add matplotlib and numpy to sys.path - matplotlib_path="$(toPythonPath ${matplotlib})" - numpy_path="$(toPythonPath ${numpy})" - sed -i "/^import.*sys/asys.path.append(\"$matplotlib_path\"); sys.path.append(\"$numpy_path\");" \ - "$out/etc/asciidoc/filters/mpl/mplw.py" - '' + lib.optionalString _enableAafigureFilter '' - echo "Extracting aafigure filter" - unzip -d "$out/etc/asciidoc/filters/aafigure" "${aafigureFilterSrc}" - # Add aafigure to sys.path (and it needs recursive-pth-loader) - pth_loader_path="$(toPythonPath ${recursive-pth-loader})" - aafigure_path="$(toPythonPath ${aafigure})" - sed -i "/^import.*sys/asys.path.append(\"$pth_loader_path\"); sys.path.append(\"$aafigure_path\"); import sitecustomize" \ - "$out/etc/asciidoc/filters/aafigure/aafig2img.py" - '' + lib.optionalString _enableDeckjsBackend '' - echo "Extracting deckjs backend" - unzip -d "$out/etc/asciidoc/backends/deckjs" "${deckjsBackendSrc}" - '' + lib.optionalString _enableOdfBackend '' - echo "Extracting odf backend (odt + odp)" - unzip -d "$out/etc/asciidoc/backends/odt" "${odtBackendSrc}" - unzip -d "$out/etc/asciidoc/backends/odp" "${odpBackendSrc}" - # The odt backend has a TODO note about removing this hardcoded path, but - # the odp backend already has that fix. Copy it here until fixed upstream. - sed -i "s|'/etc/asciidoc/backends/odt/asciidoc.ott'|os.path.dirname(__file__),'asciidoc.ott'|" \ - "$out/etc/asciidoc/backends/odt/a2x-backend.py" - '' + (if enableStandardFeatures then '' - sed -e "s|dot|${graphviz}/bin/dot|g" \ - -e "s|neato|${graphviz}/bin/neato|g" \ - -e "s|twopi|${graphviz}/bin/twopi|g" \ - -e "s|circo|${graphviz}/bin/circo|g" \ - -e "s|fdp|${graphviz}/bin/fdp|g" \ - -i "asciidoc/resources/filters/graphviz/graphviz2png.py" - - sed -e "s|run('latex|run('${texlive}/bin/latex|g" \ - -e "s|cmd = 'dvipng'|cmd = '${texlive}/bin/dvipng'|g" \ - -e "s|cmd = 'dvisvgm'|cmd = '${texlive}/bin/dvisvgm'|g" \ - -i "asciidoc/resources/filters/latex/latex2img.py" - - sed -e "s|run('abc2ly|run('${lilypond}/bin/abc2ly|g" \ - -e "s|run('lilypond|run('${lilypond}/bin/lilypond|g" \ - -e "s|run('convert|run('${imagemagick.out}/bin/convert|g" \ - -i "asciidoc/resources/filters/music/music2png.py" - - sed -e 's|filter="source-highlight|filter="${sourceHighlight}/bin/source-highlight|' \ - -e 's|filter="highlight|filter="${highlight}/bin/highlight|' \ - -e 's|filter="pygmentize|filter="${pygments}/bin/pygmentize|' \ - -i "asciidoc/resources/filters/source/source-highlight-filter.conf" - - # ENV is custom environment passed to programs that a2x invokes. Here we - # use it to work around an impurity in the tetex package; tetex tools - # cannot find their neighbours (e.g. pdflatex doesn't find mktextfm). - # We can remove PATH= when those impurities are fixed. - # TODO: Is this still necessary when using texlive? - sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook_xsl_ns}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${lib.makeBinPath [ texlive coreutils gnused ]}', **(dict(filter(lambda v: v[0] == 'SOURCE_DATE_EPOCH', os.environ.items()))))|" \ - -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \ - -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \ - -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \ - ${lib.optionalString enableJava ''-e "s|^FOP =.*|FOP = '${fop}/bin/fop'|"''} \ - -e "s|^W3M =.*|W3M = '${w3m}/bin/w3m'|" \ - -e "s|^LYNX =.*|LYNX = '${lynx}/bin/lynx'|" \ - -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \ - -e "s|^EPUBCHECK =.*|EPUBCHECK = '${epubcheck}/bin/epubcheck'|" \ - -i asciidoc/a2x.py - '' else '' - sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook_xsl_ns}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', **(dict(filter(lambda v: v[0] == 'SOURCE_DATE_EPOCH', os.environ.items()))))|" \ - -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \ - -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \ - -i asciidoc/a2x.py - '') + '' - # Fix tests - for f in $(grep -R --files-with-matches "2002-11-25") ; do - substituteInPlace $f --replace "2002-11-25" "1980-01-02" - substituteInPlace $f --replace "00:37:42" "00:00:00" - done - '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - # We want to use asciidoc from the build platform to build the documentation. - substituteInPlace Makefile.in \ - --replace "python3 -m asciidoc.a2x" "${buildPackages.asciidoc}/bin/a2x" - ''; + postPatch = + '' + mkdir -p "$out/etc/asciidoc/filters" + mkdir -p "$out/etc/asciidoc/backends" + '' + + lib.optionalString _enableDitaaFilter '' + echo "Extracting ditaa filter" + unzip -d "$out/etc/asciidoc/filters/ditaa" "${ditaaFilterSrc}" + sed -i -e "s|java -jar|${jre}/bin/java -jar|" \ + "$out/etc/asciidoc/filters/ditaa/ditaa2img.py" + '' + + lib.optionalString _enableMscgenFilter '' + echo "Extracting mscgen filter" + unzip -d "$out/etc/asciidoc/filters/mscgen" "${mscgenFilterSrc}" + sed -i -e "s|filter-wrapper.py mscgen|filter-wrapper.py ${mscgen}/bin/mscgen|" \ + "$out/etc/asciidoc/filters/mscgen/mscgen-filter.conf" + '' + + lib.optionalString _enableDiagFilter '' + echo "Extracting diag filter" + unzip -d "$out/etc/asciidoc/filters/diag" "${diagFilterSrc}" + sed -i \ + -e "s|filter='blockdiag|filter=\'${blockdiag}/bin/blockdiag|" \ + -e "s|filter='seqdiag|filter=\'${seqdiag}/bin/seqdiag|" \ + -e "s|filter='actdiag|filter=\'${actdiag}/bin/actdiag|" \ + -e "s|filter='nwdiag|filter=\'${nwdiag}/bin/nwdiag|" \ + -e "s|filter='packetdiag|filter=\'${nwdiag}/bin/packetdiag|" \ + "$out/etc/asciidoc/filters/diag/diag-filter.conf" + '' + + lib.optionalString _enableQrcodeFilter '' + echo "Extracting qrcode filter" + unzip -d "$out/etc/asciidoc/filters/qrcode" "${qrcodeFilterSrc}" + sed -i -e "s|systemcmd('qrencode|systemcmd('${qrencode}/bin/qrencode|" \ + "$out/etc/asciidoc/filters/qrcode/qrcode2img.py" + '' + + lib.optionalString _enableMatplotlibFilter '' + echo "Extracting mpl (matplotlib) filter" + mkdir -p "$out/etc/asciidoc/filters/mpl" + tar xvf "${matplotlibFilterSrc}" -C "$out/etc/asciidoc/filters/mpl" --strip-components=1 + # Stop asciidoc from loading mpl/.old/chart-filter.conf + rm -rf "$out/etc/asciidoc/filters/mpl/.old" + # Add matplotlib and numpy to sys.path + matplotlib_path="$(toPythonPath ${matplotlib})" + numpy_path="$(toPythonPath ${numpy})" + sed -i "/^import.*sys/asys.path.append(\"$matplotlib_path\"); sys.path.append(\"$numpy_path\");" \ + "$out/etc/asciidoc/filters/mpl/mplw.py" + '' + + lib.optionalString _enableAafigureFilter '' + echo "Extracting aafigure filter" + unzip -d "$out/etc/asciidoc/filters/aafigure" "${aafigureFilterSrc}" + # Add aafigure to sys.path (and it needs recursive-pth-loader) + pth_loader_path="$(toPythonPath ${recursive-pth-loader})" + aafigure_path="$(toPythonPath ${aafigure})" + sed -i "/^import.*sys/asys.path.append(\"$pth_loader_path\"); sys.path.append(\"$aafigure_path\"); import sitecustomize" \ + "$out/etc/asciidoc/filters/aafigure/aafig2img.py" + '' + + lib.optionalString _enableDeckjsBackend '' + echo "Extracting deckjs backend" + unzip -d "$out/etc/asciidoc/backends/deckjs" "${deckjsBackendSrc}" + '' + + lib.optionalString _enableOdfBackend '' + echo "Extracting odf backend (odt + odp)" + unzip -d "$out/etc/asciidoc/backends/odt" "${odtBackendSrc}" + unzip -d "$out/etc/asciidoc/backends/odp" "${odpBackendSrc}" + # The odt backend has a TODO note about removing this hardcoded path, but + # the odp backend already has that fix. Copy it here until fixed upstream. + sed -i "s|'/etc/asciidoc/backends/odt/asciidoc.ott'|os.path.dirname(__file__),'asciidoc.ott'|" \ + "$out/etc/asciidoc/backends/odt/a2x-backend.py" + '' + + ( + if enableStandardFeatures then + '' + sed -e "s|dot|${graphviz}/bin/dot|g" \ + -e "s|neato|${graphviz}/bin/neato|g" \ + -e "s|twopi|${graphviz}/bin/twopi|g" \ + -e "s|circo|${graphviz}/bin/circo|g" \ + -e "s|fdp|${graphviz}/bin/fdp|g" \ + -i "asciidoc/resources/filters/graphviz/graphviz2png.py" + + sed -e "s|run('latex|run('${texlive}/bin/latex|g" \ + -e "s|cmd = 'dvipng'|cmd = '${texlive}/bin/dvipng'|g" \ + -e "s|cmd = 'dvisvgm'|cmd = '${texlive}/bin/dvisvgm'|g" \ + -i "asciidoc/resources/filters/latex/latex2img.py" + + sed -e "s|run('abc2ly|run('${lilypond}/bin/abc2ly|g" \ + -e "s|run('lilypond|run('${lilypond}/bin/lilypond|g" \ + -e "s|run('convert|run('${imagemagick.out}/bin/convert|g" \ + -i "asciidoc/resources/filters/music/music2png.py" + + sed -e 's|filter="source-highlight|filter="${sourceHighlight}/bin/source-highlight|' \ + -e 's|filter="highlight|filter="${highlight}/bin/highlight|' \ + -e 's|filter="pygmentize|filter="${pygments}/bin/pygmentize|' \ + -i "asciidoc/resources/filters/source/source-highlight-filter.conf" + + # ENV is custom environment passed to programs that a2x invokes. Here we + # use it to work around an impurity in the tetex package; tetex tools + # cannot find their neighbours (e.g. pdflatex doesn't find mktextfm). + # We can remove PATH= when those impurities are fixed. + # TODO: Is this still necessary when using texlive? + sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook_xsl_ns}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${ + lib.makeBinPath [ + texlive + coreutils + gnused + ] + }', **(dict(filter(lambda v: v[0] == 'SOURCE_DATE_EPOCH', os.environ.items()))))|" \ + -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \ + -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \ + -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \ + ${lib.optionalString enableJava ''-e "s|^FOP =.*|FOP = '${fop}/bin/fop'|"''} \ + -e "s|^W3M =.*|W3M = '${w3m}/bin/w3m'|" \ + -e "s|^LYNX =.*|LYNX = '${lynx}/bin/lynx'|" \ + -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \ + -e "s|^EPUBCHECK =.*|EPUBCHECK = '${epubcheck}/bin/epubcheck'|" \ + -i asciidoc/a2x.py + '' + else + '' + sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook_xsl_ns}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', **(dict(filter(lambda v: v[0] == 'SOURCE_DATE_EPOCH', os.environ.items()))))|" \ + -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \ + -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \ + -i asciidoc/a2x.py + '' + ) + + '' + # Fix tests + for f in $(grep -R --files-with-matches "2002-11-25") ; do + substituteInPlace $f --replace "2002-11-25" "1980-01-02" + substituteInPlace $f --replace "00:37:42" "00:00:00" + done + '' + + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + # We want to use asciidoc from the build platform to build the documentation. + substituteInPlace Makefile.in \ + --replace "python3 -m asciidoc.a2x" "${buildPackages.asciidoc}/bin/a2x" + ''; build-system = with python3.pythonOnBuildForHost.pkgs; [ setuptools ]; @@ -286,12 +331,16 @@ in python3.pkgs.buildPythonApplication rec { the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user. ''; - sourceProvenance = [ lib.sourceTypes.fromSource ] - ++ lib.optional _enableDitaaFilter lib.sourceTypes.binaryBytecode; + sourceProvenance = [ + lib.sourceTypes.fromSource + ] ++ lib.optional _enableDitaaFilter lib.sourceTypes.binaryBytecode; homepage = "https://asciidoc-py.github.io/"; changelog = "https://github.com/asciidoc-py/asciidoc-py/blob/${version}/CHANGELOG.adoc"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ bjornfor dotlambda ]; + maintainers = with lib.maintainers; [ + bjornfor + dotlambda + ]; }; } diff --git a/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix b/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix index c236b436acf1a..1c21d82386591 100644 --- a/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix +++ b/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix @@ -1,8 +1,10 @@ -{ lib -, bundlerApp -, bundlerUpdateScript -, makeWrapper -, withJava ? true, jre # Used by asciidoctor-diagram for ditaa and PlantUML +{ + lib, + bundlerApp, + bundlerUpdateScript, + makeWrapper, + withJava ? true, + jre, # Used by asciidoctor-diagram for ditaa and PlantUML }: let @@ -23,10 +25,12 @@ bundlerApp rec { nativeBuildInputs = [ makeWrapper ]; - postBuild = lib.optionalString (path != "") (lib.concatMapStrings (exe: '' - wrapProgram $out/bin/${exe} \ - --prefix PATH : ${path} - '') exes); + postBuild = lib.optionalString (path != "") ( + lib.concatMapStrings (exe: '' + wrapProgram $out/bin/${exe} \ + --prefix PATH : ${path} + '') exes + ); passthru = { updateScript = bundlerUpdateScript "asciidoctor-with-extensions"; diff --git a/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix b/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix index 415b5baaa89f8..f037016838954 100644 --- a/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix +++ b/pkgs/tools/typesetting/asciidoctor-with-extensions/gemset.nix @@ -1,631 +1,703 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; afm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8"; type = "gem"; }; version = "0.2.2"; }; Ascii85 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c62cx96r0v265mywnlik43qx0wf6bjbzl54qa47x6dzjg861mvk"; type = "gem"; }; version = "1.1.1"; }; asciidoctor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyxgwmnz9bw377r3lba26b090hbsq9qnbw8575a1prpy83qh82j"; type = "gem"; }; version = "2.0.23"; }; asciidoctor-bibtex = { - dependencies = ["asciidoctor" "bibtex-ruby" "citeproc-ruby" "csl-styles" "latex-decode"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asciidoctor" + "bibtex-ruby" + "citeproc-ruby" + "csl-styles" + "latex-decode" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "16l7s926h6cjzy4y582sf3x32l4w10klmdnphxi7p4g6d8vhb61y"; type = "gem"; }; version = "0.9.0"; }; asciidoctor-diagram = { - dependencies = ["asciidoctor" "asciidoctor-diagram-ditaamini" "asciidoctor-diagram-plantuml" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asciidoctor" + "asciidoctor-diagram-ditaamini" + "asciidoctor-diagram-plantuml" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1214scxm36k409gfy3wilfqx3akrm52r530zmra6cmmf6d22c5q4"; type = "gem"; }; version = "2.3.1"; }; asciidoctor-diagram-batik = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0220xqxmkmimxmhsqhlbr0hslijvnhzdds3s6h6fxbxqrrmm0jrl"; type = "gem"; }; version = "1.17"; }; asciidoctor-diagram-ditaamini = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13h65bfbq7hc7z3kqn0m28w9c6ap7fikpjcvsdga6jg01slb4c56"; type = "gem"; }; version = "1.0.3"; }; asciidoctor-diagram-plantuml = { - dependencies = ["asciidoctor-diagram-batik"]; - groups = ["default"]; - platforms = []; + dependencies = [ "asciidoctor-diagram-batik" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "173mp5vnzvn3yv9fw0p66rsbxaip9lhphw22yn19l62d1drlmhia"; type = "gem"; }; version = "1.2024.6"; }; asciidoctor-epub3 = { - dependencies = ["asciidoctor" "gepub" "mime-types" "sass"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asciidoctor" + "gepub" + "mime-types" + "sass" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1yn2nhr7fr5rx7fn0nhw44gf7iampiy53bw59agpfl7h2dyazjll"; type = "gem"; }; version = "2.1.3"; }; asciidoctor-html5s = { - dependencies = ["asciidoctor" "thread_safe"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asciidoctor" + "thread_safe" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1zfbfcqyrsk8bnd526ang3b4j3m5pbns7x3fdxarrm8vv1qplss1"; type = "gem"; }; version = "0.5.1"; }; asciidoctor-mathematical = { - dependencies = ["asciidoctor" "asciimath" "mathematical"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asciidoctor" + "asciimath" + "mathematical" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1lxfq7qn3ql642pva6jh3h1abm9j9daxg5icfn1h73k6cjsmcisp"; type = "gem"; }; version = "0.3.5"; }; asciidoctor-multipage = { - dependencies = ["asciidoctor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "asciidoctor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hjqqiibqrmx0147m8b372s57rmhixmpxgv4kwdpnkqbkqgykh7i"; type = "gem"; }; version = "0.0.19"; }; asciidoctor-pdf = { - dependencies = ["asciidoctor" "concurrent-ruby" "matrix" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "treetop" "ttfunk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "asciidoctor" + "concurrent-ruby" + "matrix" + "prawn" + "prawn-icon" + "prawn-svg" + "prawn-table" + "prawn-templates" + "treetop" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ybkw3xjv75xsc0wbwg76bk83sfspr50k2phshpvh9ynchli8jh3"; type = "gem"; }; version = "2.3.19"; }; asciidoctor-reducer = { - dependencies = ["asciidoctor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "asciidoctor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fbrk97mdn26zk118dav2ckyiw6kgrlbkkhdcasawsl42hj16slw"; type = "gem"; }; version = "1.0.6"; }; asciidoctor-revealjs = { - dependencies = ["asciidoctor"]; - groups = ["default"]; - platforms = []; + dependencies = [ "asciidoctor" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jgazcfzn577xlichfj0rvci0fayp63xcng11ss9mmwqgk48ri53"; type = "gem"; }; version = "5.1.0"; }; asciimath = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ny2qql3lgh7gx54psji2lm4mmbwyiwy00a17w26rjyh6cy55491"; type = "gem"; }; version = "2.0.5"; }; bibtex-ruby = { - dependencies = ["latex-decode" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "latex-decode" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1ggx2j1gi46f1a6p45l1abk3nryfg1pj0cdlyrnilnqqpr1cfc96"; type = "gem"; }; version = "6.1.0"; }; citeproc = { - dependencies = ["namae"]; - groups = ["default"]; - platforms = []; + dependencies = [ "namae" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13vl5sjmksk5a8kjcqnjxh7kn9gn1n4f9p1rvqfgsfhs54p0m6l2"; type = "gem"; }; version = "1.0.10"; }; citeproc-ruby = { - dependencies = ["citeproc" "csl"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "citeproc" + "csl" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0a8ahyhhmdinl4kcyv51r74ipnclmfyz4zjv366dns8v49n5vkk3"; type = "gem"; }; version = "1.1.14"; }; coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; csl = { - dependencies = ["namae" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "namae" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n8iqmzvvqy2b1wfr4c7yj28x4z3zgm36628y8ybl49dgnmjycrk"; type = "gem"; }; version = "1.6.0"; }; csl-styles = { - dependencies = ["csl"]; - groups = ["default"]; - platforms = []; + dependencies = [ "csl" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l29qlk7i74088fpba5iqhhgiqkj7glcmc42nbmvgqysx577nag8"; type = "gem"; }; version = "1.0.1.11"; }; css_parser = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17i0fn99kswvfps8r698zw2cr16rc98xdrl0d26y36rv3vhdqh0r"; type = "gem"; }; version = "1.19.1"; }; ffi = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; type = "gem"; }; version = "1.17.0"; }; gepub = { - dependencies = ["nokogiri" "rubyzip"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "nokogiri" + "rubyzip" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "08fny807zd4700f263ckc76bladjipsniyk3clv8a7x76x3fqshx"; type = "gem"; }; version = "1.0.15"; }; hashery = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; type = "gem"; }; version = "2.1.2"; }; latex-decode = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1y5xn3zwghpqr6lvs4s0mn5knms8zw3zk7jb58zkkiagb386nq72"; type = "gem"; }; version = "0.4.0"; }; logger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; type = "gem"; }; version = "1.6.1"; }; mathematical = { - dependencies = ["ruby-enum"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ruby-enum" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y103dvfjswm5r0xafyjrw6ybvz1qrqfa4lvpk9gdhbzwpaiwy4r"; type = "gem"; }; version = "1.6.20"; }; matrix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; mime-types = { - dependencies = ["logger" "mime-types-data"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "logger" + "mime-types-data" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0r34mc3n7sxsbm9mzyzy8m3dvq7pwbryyc8m452axkj0g2axnwbg"; type = "gem"; }; version = "3.6.0"; }; mime-types-data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06dbn0j13jwdrmlvrjd50mxqrjlkh3lvxp0afh4glyzbliqvqpsd"; type = "gem"; }; version = "3.2024.1001"; }; mini_portile2 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; version = "2.8.7"; }; namae = { - dependencies = ["racc"]; - groups = ["default"]; - platforms = []; + dependencies = [ "racc" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17fmp6p74ai2w984xayv3kz2nh44w81hqqvn4cfrim3g115wwh9m"; type = "gem"; }; version = "1.2.0"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; version = "1.16.7"; }; pdf-core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fz0yj4zrlii2j08kaw11j769s373ayz8jrdhxwwjzmm28pqndjg"; type = "gem"; }; version = "0.9.0"; }; pdf-reader = { - dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "Ascii85" + "afm" + "hashery" + "ruby-rc4" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0n0pp7blk3np3fqsb54l34fsamrww80cp3dhlhskfayg7542mrv1"; type = "gem"; }; version = "2.12.0"; }; polyglot = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; type = "gem"; }; version = "0.3.5"; }; prawn = { - dependencies = ["pdf-core" "ttfunk"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pdf-core" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1g9avv2rprsjisdk137s9ljr05r7ajhm78hxa1vjsv0jyx22f1l2"; type = "gem"; }; version = "2.4.0"; }; prawn-icon = { - dependencies = ["prawn"]; - groups = ["default"]; - platforms = []; + dependencies = [ "prawn" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xdnjik5zinnkjavmybbh2s52wzcpb8hzaqckiv0mxp0vs0x9j6s"; type = "gem"; }; version = "3.0.0"; }; prawn-svg = { - dependencies = ["css_parser" "matrix" "prawn" "rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "css_parser" + "matrix" + "prawn" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "143sfwadbdrgi57am8ikalryjijdyl82h2sdc1cns3wl6b9pkzxg"; type = "gem"; }; version = "0.34.2"; }; prawn-table = { - dependencies = ["prawn"]; - groups = ["default"]; - platforms = []; + dependencies = [ "prawn" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k"; type = "gem"; }; version = "0.2.2"; }; prawn-templates = { - dependencies = ["pdf-reader" "prawn"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "pdf-reader" + "prawn" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "1w9irn3rllm992c6j7fsx81gg539i7yy8zfddyw7q53hnlys0yhi"; type = "gem"; }; version = "0.1.2"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; "pygments.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14xhvfnj188pypy6pxj29hrn60pznv6dc4ycdgyd6jv2d769wwj1"; type = "gem"; }; version = "3.0.0"; }; racc = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; version = "1.8.1"; }; rb-fsevent = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; version = "0.11.2"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0"; type = "gem"; }; version = "0.11.1"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r0b48945hakgy0y7lg6h1bb7pkfz8jqd0r6777f80ij3sansvbs"; type = "gem"; }; version = "4.4.0"; }; ruby-enum = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ry6ha94a5jqbj5y3x9k0szyy3jgnsfyxvva98nivg6yx1dfyrz7"; type = "gem"; }; version = "1.0.0"; }; ruby-rc4 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; type = "gem"; }; version = "0.1.5"; }; rubyzip = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; type = "gem"; }; version = "2.3.2"; }; sass = { - dependencies = ["sass-listen"]; - groups = ["default"]; - platforms = []; + dependencies = [ "sass-listen" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0"; type = "gem"; }; version = "3.7.4"; }; sass-listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; type = "gem"; }; version = "4.0.0"; }; thread_safe = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; treetop = { - dependencies = ["polyglot"]; - groups = ["default"]; - platforms = []; + dependencies = [ "polyglot" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; type = "gem"; }; version = "1.6.12"; }; ttfunk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15iaxz9iak5643bq2bc0jkbjv8w2zn649lxgvh5wg48q9d4blw13"; type = "gem"; }; diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix index 8b20e718f8fd4..43218736abc1d 100644 --- a/pkgs/tools/typesetting/asciidoctor/default.nix +++ b/pkgs/tools/typesetting/asciidoctor/default.nix @@ -1,6 +1,7 @@ -{ lib -, bundlerApp -, bundlerUpdateScript +{ + lib, + bundlerApp, + bundlerUpdateScript, }: bundlerApp { @@ -20,7 +21,10 @@ bundlerApp { description = "Faster Asciidoc processor written in Ruby"; homepage = "https://asciidoctor.org/"; license = licenses.mit; - maintainers = with maintainers; [ gpyh nicknovitski ]; + maintainers = with maintainers; [ + gpyh + nicknovitski + ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/typesetting/asciidoctor/gemset.nix b/pkgs/tools/typesetting/asciidoctor/gemset.nix index b192ced5368f7..675e85555138a 100644 --- a/pkgs/tools/typesetting/asciidoctor/gemset.nix +++ b/pkgs/tools/typesetting/asciidoctor/gemset.nix @@ -1,269 +1,297 @@ { addressable = { - dependencies = ["public_suffix"]; - groups = ["default"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; version = "2.8.7"; }; afm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8"; type = "gem"; }; version = "0.2.2"; }; Ascii85 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1c62cx96r0v265mywnlik43qx0wf6bjbzl54qa47x6dzjg861mvk"; type = "gem"; }; version = "1.1.1"; }; asciidoctor = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wyxgwmnz9bw377r3lba26b090hbsq9qnbw8575a1prpy83qh82j"; type = "gem"; }; version = "2.0.23"; }; asciidoctor-pdf = { - dependencies = ["asciidoctor" "concurrent-ruby" "matrix" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "treetop" "ttfunk"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "asciidoctor" + "concurrent-ruby" + "matrix" + "prawn" + "prawn-icon" + "prawn-svg" + "prawn-table" + "prawn-templates" + "treetop" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ybkw3xjv75xsc0wbwg76bk83sfspr50k2phshpvh9ynchli8jh3"; type = "gem"; }; version = "2.3.19"; }; coderay = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; concurrent-ruby = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; type = "gem"; }; version = "1.3.4"; }; css_parser = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17i0fn99kswvfps8r698zw2cr16rc98xdrl0d26y36rv3vhdqh0r"; type = "gem"; }; version = "1.19.1"; }; hashery = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; type = "gem"; }; version = "2.1.2"; }; matrix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; type = "gem"; }; version = "0.4.2"; }; pdf-core = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fz0yj4zrlii2j08kaw11j769s373ayz8jrdhxwwjzmm28pqndjg"; type = "gem"; }; version = "0.9.0"; }; pdf-reader = { - dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "Ascii85" + "afm" + "hashery" + "ruby-rc4" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n0pp7blk3np3fqsb54l34fsamrww80cp3dhlhskfayg7542mrv1"; type = "gem"; }; version = "2.12.0"; }; polyglot = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; type = "gem"; }; version = "0.3.5"; }; prawn = { - dependencies = ["pdf-core" "ttfunk"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "pdf-core" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g9avv2rprsjisdk137s9ljr05r7ajhm78hxa1vjsv0jyx22f1l2"; type = "gem"; }; version = "2.4.0"; }; prawn-icon = { - dependencies = ["prawn"]; - groups = ["default"]; - platforms = []; + dependencies = [ "prawn" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xdnjik5zinnkjavmybbh2s52wzcpb8hzaqckiv0mxp0vs0x9j6s"; type = "gem"; }; version = "3.0.0"; }; prawn-svg = { - dependencies = ["css_parser" "matrix" "prawn" "rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "css_parser" + "matrix" + "prawn" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "143sfwadbdrgi57am8ikalryjijdyl82h2sdc1cns3wl6b9pkzxg"; type = "gem"; }; version = "0.34.2"; }; prawn-table = { - dependencies = ["prawn"]; - groups = ["default"]; - platforms = []; + dependencies = [ "prawn" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k"; type = "gem"; }; version = "0.2.2"; }; prawn-templates = { - dependencies = ["pdf-reader" "prawn"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "pdf-reader" + "prawn" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1w9irn3rllm992c6j7fsx81gg539i7yy8zfddyw7q53hnlys0yhi"; type = "gem"; }; version = "0.1.2"; }; public_suffix = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; version = "6.0.1"; }; "pygments.rb" = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14xhvfnj188pypy6pxj29hrn60pznv6dc4ycdgyd6jv2d769wwj1"; type = "gem"; }; version = "3.0.0"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; type = "gem"; }; version = "3.3.9"; }; rouge = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r0b48945hakgy0y7lg6h1bb7pkfz8jqd0r6777f80ij3sansvbs"; type = "gem"; }; version = "4.4.0"; }; ruby-rc4 = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; type = "gem"; }; version = "0.1.5"; }; tilt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; version = "2.4.0"; }; treetop = { - dependencies = ["polyglot"]; - groups = ["default"]; - platforms = []; + dependencies = [ "polyglot" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; type = "gem"; }; version = "1.6.12"; }; ttfunk = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15iaxz9iak5643bq2bc0jkbjv8w2zn649lxgvh5wg48q9d4blw13"; type = "gem"; }; diff --git a/pkgs/tools/typesetting/kramdown-asciidoc/default.nix b/pkgs/tools/typesetting/kramdown-asciidoc/default.nix index 90949bb96878f..ac2c5d8a5a636 100644 --- a/pkgs/tools/typesetting/kramdown-asciidoc/default.nix +++ b/pkgs/tools/typesetting/kramdown-asciidoc/default.nix @@ -1,7 +1,10 @@ -{ lib, bundlerApp, makeWrapper, +{ + lib, + bundlerApp, + makeWrapper, # Optional dependencies, can be null epubcheck, - bundlerUpdateScript + bundlerUpdateScript, }: let @@ -34,4 +37,4 @@ let }; }; in - app +app diff --git a/pkgs/tools/typesetting/kramdown-asciidoc/gemset.nix b/pkgs/tools/typesetting/kramdown-asciidoc/gemset.nix index e750dd6655ac8..afa6d3f0a1d48 100644 --- a/pkgs/tools/typesetting/kramdown-asciidoc/gemset.nix +++ b/pkgs/tools/typesetting/kramdown-asciidoc/gemset.nix @@ -1,42 +1,46 @@ { kramdown = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn"; type = "gem"; }; version = "2.4.0"; }; kramdown-asciidoc = { - dependencies = ["kramdown" "kramdown-parser-gfm" "rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ + "kramdown" + "kramdown-parser-gfm" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j7qbpq6zhgcf9ykhz5r1wlr3r8fls6hvhdisxzz4v35rni5kwp9"; type = "gem"; }; version = "2.1.0"; }; kramdown-parser-gfm = { - dependencies = ["kramdown"]; - groups = ["default"]; - platforms = []; + dependencies = [ "kramdown" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; type = "gem"; }; version = "1.1.0"; }; rexml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix index c4e1a9980fe05..cfc6ef704b03b 100644 --- a/pkgs/tools/typesetting/satysfi/default.nix +++ b/pkgs/tools/typesetting/satysfi/default.nix @@ -1,5 +1,11 @@ -{ lib, fetchFromGitHub, ocamlPackages -, ipaexfont, junicode, lmodern, lmmath +{ + lib, + fetchFromGitHub, + ocamlPackages, + ipaexfont, + junicode, + lmodern, + lmmath, }: let camlpdf = ocamlPackages.camlpdf.overrideAttrs { @@ -24,51 +30,65 @@ let inherit (ocamlPackages.yojson) meta; }; in - ocamlPackages.buildDunePackage rec { - pname = "satysfi"; - version = "0.0.10"; - src = fetchFromGitHub { - owner = "gfngfn"; - repo = "SATySFi"; - rev = "v${version}"; - hash = "sha256-qgVM7ExsKtzNQkZO+I+rcWLj4LSvKL5uyitH7Jg+ns0="; - fetchSubmodules = true; - }; +ocamlPackages.buildDunePackage rec { + pname = "satysfi"; + version = "0.0.10"; + src = fetchFromGitHub { + owner = "gfngfn"; + repo = "SATySFi"; + rev = "v${version}"; + hash = "sha256-qgVM7ExsKtzNQkZO+I+rcWLj4LSvKL5uyitH7Jg+ns0="; + fetchSubmodules = true; + }; - preConfigure = '' - substituteInPlace src/frontend/main.ml --replace \ - '/usr/local/share/satysfi"; "/usr/share/satysfi' \ - $out/share/satysfi - ''; + preConfigure = '' + substituteInPlace src/frontend/main.ml --replace \ + '/usr/local/share/satysfi"; "/usr/share/satysfi' \ + $out/share/satysfi + ''; - nativeBuildInputs = with ocamlPackages; [ menhir cppo ]; + nativeBuildInputs = with ocamlPackages; [ + menhir + cppo + ]; - buildInputs = [ camlpdf yojson-with-position ] ++ (with ocamlPackages; [ + buildInputs = + [ + camlpdf + yojson-with-position + ] + ++ (with ocamlPackages; [ menhirLib - batteries camlimages core_kernel ppx_deriving uutf omd re + batteries + camlimages + core_kernel + ppx_deriving + uutf + omd + re otfed ]); - postInstall = '' - mkdir -p $out/share/satysfi/dist/fonts - cp -r lib-satysfi/dist/ $out/share/satysfi/ - cp -r \ - ${ipaexfont}/share/fonts/opentype/* \ - ${lmodern}/share/fonts/opentype/public/lm/* \ - ${lmmath}/share/fonts/opentype/latinmodern-math.otf \ - ${junicode}/share/fonts/truetype/Junicode-{Bold,BoldItalic,Italic}.ttf \ - $out/share/satysfi/dist/fonts/ - cp ${junicode}/share/fonts/truetype/Junicode-Regular.ttf \ - $out/share/satysfi/dist/fonts/Junicode.ttf - ''; + postInstall = '' + mkdir -p $out/share/satysfi/dist/fonts + cp -r lib-satysfi/dist/ $out/share/satysfi/ + cp -r \ + ${ipaexfont}/share/fonts/opentype/* \ + ${lmodern}/share/fonts/opentype/public/lm/* \ + ${lmmath}/share/fonts/opentype/latinmodern-math.otf \ + ${junicode}/share/fonts/truetype/Junicode-{Bold,BoldItalic,Italic}.ttf \ + $out/share/satysfi/dist/fonts/ + cp ${junicode}/share/fonts/truetype/Junicode-Regular.ttf \ + $out/share/satysfi/dist/fonts/Junicode.ttf + ''; - meta = with lib; { - homepage = "https://github.com/gfngfn/SATySFi"; - description = "Statically-typed, functional typesetting system"; - changelog = "https://github.com/gfngfn/SATySFi/blob/v${version}/CHANGELOG.md"; - license = licenses.lgpl3Only; - maintainers = [ maintainers.mt-caret ]; - platforms = platforms.all; - mainProgram = "satysfi"; - }; - } + meta = with lib; { + homepage = "https://github.com/gfngfn/SATySFi"; + description = "Statically-typed, functional typesetting system"; + changelog = "https://github.com/gfngfn/SATySFi/blob/v${version}/CHANGELOG.md"; + license = licenses.lgpl3Only; + maintainers = [ maintainers.mt-caret ]; + platforms = platforms.all; + mainProgram = "satysfi"; + }; +} diff --git a/pkgs/tools/typesetting/tectonic/biber.nix b/pkgs/tools/typesetting/tectonic/biber.nix index 9798c14716679..baa7b05aeda71 100644 --- a/pkgs/tools/typesetting/tectonic/biber.nix +++ b/pkgs/tools/typesetting/tectonic/biber.nix @@ -13,42 +13,48 @@ user experience of tectonic in nixpkgs. */ -{ lib -, fetchFromGitHub -, fetchpatch -, biber +{ + lib, + fetchFromGitHub, + fetchpatch, + biber, }: -let version = "2.17"; in ( - biber.override { - /* - It is necessary to first override the `version` data here, which is - passed to `buildPerlModule`, and then to `mkDerivation`. +let + version = "2.17"; +in +(biber.override { + /* + It is necessary to first override the `version` data here, which is + passed to `buildPerlModule`, and then to `mkDerivation`. - If we simply do `biber.overrideAttrs` the resulting package `name` - would be incorrect, since it has already been preprocessed by - `buildPerlModule`. - */ - texlive.pkgs.biber.texsource = { - inherit version; - inherit (biber) pname meta; - }; - } -).overrideAttrs (prevAttrs: { - src = fetchFromGitHub { - owner = "plk"; - repo = "biber"; - rev = "v${version}"; - hash = "sha256-Tt2sN2b2NGxcWyZDj5uXNGC8phJwFRiyH72n3yhFCi0="; - }; - patches = [ - # Perl>=5.36.0 compatibility - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/plk/biber/pull/411.patch"; - hash = "sha256-osgldRVfe3jnMSOMnAMQSB0Ymc1s7J6KtM2ig3c93SE="; - }) - ]; - meta = prevAttrs.meta // { - maintainers = with lib.maintainers; [ doronbehar bryango ]; + If we simply do `biber.overrideAttrs` the resulting package `name` + would be incorrect, since it has already been preprocessed by + `buildPerlModule`. + */ + texlive.pkgs.biber.texsource = { + inherit version; + inherit (biber) pname meta; }; -}) +}).overrideAttrs + (prevAttrs: { + src = fetchFromGitHub { + owner = "plk"; + repo = "biber"; + rev = "v${version}"; + hash = "sha256-Tt2sN2b2NGxcWyZDj5uXNGC8phJwFRiyH72n3yhFCi0="; + }; + patches = [ + # Perl>=5.36.0 compatibility + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/plk/biber/pull/411.patch"; + hash = "sha256-osgldRVfe3jnMSOMnAMQSB0Ymc1s7J6KtM2ig3c93SE="; + }) + ]; + meta = prevAttrs.meta // { + maintainers = with lib.maintainers; [ + doronbehar + bryango + ]; + }; + }) diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix index a837dd582eab0..cd95b8c058542 100644 --- a/pkgs/tools/typesetting/tectonic/default.nix +++ b/pkgs/tools/typesetting/tectonic/default.nix @@ -6,17 +6,18 @@ which provides a compatible version of `biber`. */ -{ lib -, stdenv -, fetchFromGitHub -, rustPlatform -, darwin -, fontconfig -, harfbuzz -, openssl -, pkg-config -, icu -, fetchpatch2 +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + darwin, + fontconfig, + harfbuzz, + openssl, + pkg-config, + icu, + fetchpatch2, }: rustPlatform.buildRustPackage rec { @@ -54,18 +55,33 @@ rustPlatform.buildRustPackage rec { buildFeatures = [ "external-harfbuzz" ]; - buildInputs = [ icu fontconfig harfbuzz openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Cocoa Foundation ]); + buildInputs = + [ + icu + fontconfig + harfbuzz + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + ApplicationServices + Cocoa + Foundation + ] + ); - postInstall = '' - # Makes it possible to automatically use the V2 CLI API - ln -s $out/bin/tectonic $out/bin/nextonic - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - substituteInPlace dist/appimage/tectonic.desktop \ - --replace Exec=tectonic Exec=$out/bin/tectonic - install -D dist/appimage/tectonic.desktop -t $out/share/applications/ - install -D dist/appimage/tectonic.svg -t $out/share/icons/hicolor/scalable/apps/ - ''; + postInstall = + '' + # Makes it possible to automatically use the V2 CLI API + ln -s $out/bin/tectonic $out/bin/nextonic + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + substituteInPlace dist/appimage/tectonic.desktop \ + --replace Exec=tectonic Exec=$out/bin/tectonic + install -D dist/appimage/tectonic.desktop -t $out/share/applications/ + install -D dist/appimage/tectonic.svg -t $out/share/icons/hicolor/scalable/apps/ + ''; doCheck = true; @@ -75,6 +91,10 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/tectonic-typesetting/tectonic/blob/tectonic@${version}/CHANGELOG.md"; license = with licenses; [ mit ]; mainProgram = "tectonic"; - maintainers = with maintainers; [ lluchs doronbehar bryango ]; + maintainers = with maintainers; [ + lluchs + doronbehar + bryango + ]; }; } diff --git a/pkgs/tools/typesetting/tectonic/tests.nix b/pkgs/tools/typesetting/tectonic/tests.nix index 802e0812e8c85..04c91a1235c37 100644 --- a/pkgs/tools/typesetting/tectonic/tests.nix +++ b/pkgs/tools/typesetting/tectonic/tests.nix @@ -1,14 +1,15 @@ # This package provides `tectonic.passthru.tests`. # It requires internet access to fetch tectonic's resource bundle on demand. -{ lib -, fetchFromGitHub -, writeText -, runCommand -, tectonic -, curl -, cacert -, emptyFile +{ + lib, + fetchFromGitHub, + writeText, + runCommand, + tectonic, + curl, + cacert, + emptyFile, }: let @@ -32,7 +33,11 @@ let # which is not available in the current environment. ''; # `cacert` is required for tls connections - nativeBuildInputs = [ curl cacert tectonic ]; + nativeBuildInputs = [ + curl + cacert + tectonic + ]; checkInternet = '' if curl --head "bing.com"; then set -e # continue to the tests defined below, fail on error @@ -43,36 +48,38 @@ let fi ''; - networkRequiringTestPkg = name: script: runCommand - /* - Introduce dependence on `tectonic` in the test package name. Note that - adding `tectonic` to `nativeBuildInputs` is not enough to trigger - rebuilds for a fixed-output derivation. One must update its name or - output hash to induce a rebuild. This behavior is exactly the same as a - standard nixpkgs "fetcher" such as `fetchurl`. - */ - "test-${lib.removePrefix "${builtins.storeDir}/" tectonic.outPath}-${name}" - { + networkRequiringTestPkg = + name: script: + runCommand /* - Make a fixed-output derivation, return an `emptyFile` with fixed hash. - These derivations are allowed to access the internet from within a - sandbox, which allows us to test the automatic download of resource - files in tectonic, as a side effect. The `tectonic.outPath` is included - in `name` to induce rebuild of this fixed-output derivation whenever - the `tectonic` derivation is updated. + Introduce dependence on `tectonic` in the test package name. Note that + adding `tectonic` to `nativeBuildInputs` is not enough to trigger + rebuilds for a fixed-output derivation. One must update its name or + output hash to induce a rebuild. This behavior is exactly the same as a + standard nixpkgs "fetcher" such as `fetchurl`. */ - inherit (emptyFile) - outputHashMode - outputHash - ; - allowSubstitutes = false; - inherit nativeBuildInputs; - } - '' - ${checkInternet} - ${script} - cp "${emptyFile}" "$out" - ''; + "test-${lib.removePrefix "${builtins.storeDir}/" tectonic.outPath}-${name}" + { + /* + Make a fixed-output derivation, return an `emptyFile` with fixed hash. + These derivations are allowed to access the internet from within a + sandbox, which allows us to test the automatic download of resource + files in tectonic, as a side effect. The `tectonic.outPath` is included + in `name` to induce rebuild of this fixed-output derivation whenever + the `tectonic` derivation is updated. + */ + inherit (emptyFile) + outputHashMode + outputHash + ; + allowSubstitutes = false; + inherit nativeBuildInputs; + } + '' + ${checkInternet} + ${script} + cp "${emptyFile}" "$out" + ''; in lib.mapAttrs networkRequiringTestPkg { @@ -90,7 +97,9 @@ lib.mapAttrs networkRequiringTestPkg { cat Tectonic.toml | grep "${tectonic.bundleUrl}" ''; - /** test that the `nextonic -> tectonic` symlink is working as intended */ + /** + test that the `nextonic -> tectonic` symlink is working as intended + */ nextonic = '' nextonic new 2>&1 \ | grep '"version 2" Tectonic command-line interface activated' diff --git a/pkgs/tools/typesetting/tectonic/wrapper.nix b/pkgs/tools/typesetting/tectonic/wrapper.nix index 900c695c92182..90080d277e431 100644 --- a/pkgs/tools/typesetting/tectonic/wrapper.nix +++ b/pkgs/tools/typesetting/tectonic/wrapper.nix @@ -1,10 +1,11 @@ -{ lib -, symlinkJoin -, tectonic -, tectonic-unwrapped -, biber-for-tectonic -, makeBinaryWrapper -, callPackage +{ + lib, + symlinkJoin, + tectonic, + tectonic-unwrapped, + biber-for-tectonic, + makeBinaryWrapper, + callPackage, }: symlinkJoin { @@ -27,9 +28,10 @@ symlinkJoin { }; # Replace the unwrapped tectonic with the one wrapping it with biber - postBuild = '' - rm $out/bin/{tectonic,nextonic} - '' + postBuild = + '' + rm $out/bin/{tectonic,nextonic} + '' # Pin the version of the online TeX bundle that Tectonic's developer # distribute, so that the `biber` version and the `biblatex` version # distributed from there are compatible. @@ -43,16 +45,19 @@ symlinkJoin { # Hence, we can be rather confident that for the near future, the online # TeX bundle won't be updated and hence the biblatex distributed there # won't require a higher version of biber. - + '' - makeWrapper ${lib.getBin tectonic-unwrapped}/bin/tectonic $out/bin/tectonic \ - --prefix PATH : "${lib.getBin biber-for-tectonic}/bin" \ - --add-flags "--web-bundle ${tectonic.passthru.bundleUrl}" \ - --inherit-argv0 ## make sure binary name e.g. `nextonic` is passed along - ln -s $out/bin/tectonic $out/bin/nextonic - ''; + + '' + makeWrapper ${lib.getBin tectonic-unwrapped}/bin/tectonic $out/bin/tectonic \ + --prefix PATH : "${lib.getBin biber-for-tectonic}/bin" \ + --add-flags "--web-bundle ${tectonic.passthru.bundleUrl}" \ + --inherit-argv0 ## make sure binary name e.g. `nextonic` is passed along + ln -s $out/bin/tectonic $out/bin/nextonic + ''; meta = tectonic-unwrapped.meta // { description = "Tectonic TeX/LaTeX engine, wrapped with a compatible biber"; - maintainers = with lib.maintainers; [ doronbehar bryango ]; + maintainers = with lib.maintainers; [ + doronbehar + bryango + ]; }; } diff --git a/pkgs/tools/typesetting/tex/advi/default.nix b/pkgs/tools/typesetting/tex/advi/default.nix index 05262a3f2c01c..037ab1389b919 100644 --- a/pkgs/tools/typesetting/tex/advi/default.nix +++ b/pkgs/tools/typesetting/tex/advi/default.nix @@ -1,11 +1,12 @@ -{ fetchurl -, lib -, makeWrapper -, writeShellScriptBin -, ghostscriptX -, ocamlPackages -, texliveMedium -, which +{ + fetchurl, + lib, + makeWrapper, + writeShellScriptBin, + ghostscriptX, + ocamlPackages, + texliveMedium, + which, }: let @@ -51,8 +52,18 @@ ocamlPackages.buildDunePackage rec { duneVersion = "3"; - nativeBuildInputs = [ fake-opam kpsexpand makeWrapper texliveMedium which ]; - buildInputs = with ocamlPackages; [ camlimages ghostscriptX graphics ]; + nativeBuildInputs = [ + fake-opam + kpsexpand + makeWrapper + texliveMedium + which + ]; + buildInputs = with ocamlPackages; [ + camlimages + ghostscriptX + graphics + ]; # install additional files (such as man pages) preInstall = '' diff --git a/pkgs/tools/typesetting/tex/nix/default.nix b/pkgs/tools/typesetting/tex/nix/default.nix index feb444b98ff49..9bc056fe696ae 100644 --- a/pkgs/tools/typesetting/tex/nix/default.nix +++ b/pkgs/tools/typesetting/tex/nix/default.nix @@ -2,24 +2,25 @@ pkgs: rec { - runLaTeX = - { rootFile - , generatePDF ? true # generate PDF, not DVI - , generatePS ? false # generate PS in addition to DVI - , extraFiles ? [] - , compressBlanksInIndex ? true - , packages ? [] - , texPackages ? {} - , copySources ? false + { + rootFile, + generatePDF ? true, # generate PDF, not DVI + generatePS ? false, # generate PS in addition to DVI + extraFiles ? [ ], + compressBlanksInIndex ? true, + packages ? [ ], + texPackages ? { }, + copySources ? false, }: assert generatePDF -> !generatePS; let - tex = pkgs.texlive.combine - # always include basic stuff you need for LaTeX - ({inherit (pkgs.texlive) scheme-basic;} // texPackages); + tex = + pkgs.texlive.combine + # always include basic stuff you need for LaTeX + ({ inherit (pkgs.texlive) scheme-basic; } // texPackages); in pkgs.stdenv.mkDerivation { @@ -28,29 +29,45 @@ rec { builder = ./run-latex.sh; copyIncludes = ./copy-includes.pl; - inherit rootFile generatePDF generatePS extraFiles - compressBlanksInIndex copySources; - - includes = map (x: [x.key (baseNameOf (toString x.key))]) - (findLaTeXIncludes {inherit rootFile;}); + inherit + rootFile + generatePDF + generatePS + extraFiles + compressBlanksInIndex + copySources + ; + + includes = + map + (x: [ + x.key + (baseNameOf (toString x.key)) + ]) + (findLaTeXIncludes { + inherit rootFile; + }); - buildInputs = [ tex pkgs.perl ] ++ packages; + buildInputs = [ + tex + pkgs.perl + ] ++ packages; }; - # Returns the closure of the "dependencies" of a LaTeX source file. # Dependencies are other LaTeX source files (e.g. included using # \input{}), images (e.g. \includegraphics{}), bibliographies, and # so on. findLaTeXIncludes = - { rootFile + { + rootFile, }: builtins.genericClosure { - startSet = [{key = rootFile;}]; + startSet = [ { key = rootFile; } ]; operator = - {key, ...}: + { key, ... }: let @@ -59,51 +76,73 @@ rec { # "introduction.tex";} {type = "img"; name = "example"}]. # The type denotes the kind of dependency, which determines # what extensions we use to look for it. - deps = import (pkgs.runCommand "latex-includes" - { rootFile = baseNameOf (toString rootFile); src = key; } - "${pkgs.perl}/bin/perl ${./find-includes.pl}"); + deps = import ( + pkgs.runCommand "latex-includes" { + rootFile = baseNameOf (toString rootFile); + src = key; + } "${pkgs.perl}/bin/perl ${./find-includes.pl}" + ); # Look for the dependencies of `key', trying various # extensions determined by the type of each dependency. # TODO: support a search path. - foundDeps = dep: xs: + foundDeps = + dep: xs: let exts = - if dep.type == "img" then [".pdf" ".png" ".ps" ".jpg"] - else if dep.type == "tex" then [".tex" ""] - else [""]; - fn = pkgs.lib.findFirst (fn: builtins.pathExists fn) null - (map (ext: dirOf key + ("/" + dep.name + ext)) exts); - in if fn != null then [{key = fn;}] ++ xs - else xs; - - in pkgs.lib.foldr foundDeps [] deps; + if dep.type == "img" then + [ + ".pdf" + ".png" + ".ps" + ".jpg" + ] + else if dep.type == "tex" then + [ + ".tex" + "" + ] + else + [ "" ]; + fn = pkgs.lib.findFirst (fn: builtins.pathExists fn) null ( + map (ext: dirOf key + ("/" + dep.name + ext)) exts + ); + in + if fn != null then [ { key = fn; } ] ++ xs else xs; + + in + pkgs.lib.foldr foundDeps [ ] deps; }; - findLhs2TeXIncludes = - { lib - , rootFile + { + lib, + rootFile, }: builtins.genericClosure { - startSet = [{key = rootFile;}]; + startSet = [ { key = rootFile; } ]; operator = - {key, ...}: + { key, ... }: let - deps = import (pkgs.runCommand "lhs2tex-includes" - { src = key; } - "${pkgs.stdenv.bash}/bin/bash ${./find-lhs2tex-includes.sh}"); + deps = import ( + pkgs.runCommand "lhs2tex-includes" { + src = key; + } "${pkgs.stdenv.bash}/bin/bash ${./find-lhs2tex-includes.sh}" + ); - in pkgs.lib.concatMap (x: lib.optionals (builtins.pathExists x) [{key = x;}]) - (map (x: dirOf key + ("/" + x)) deps); + in + pkgs.lib.concatMap (x: lib.optionals (builtins.pathExists x) [ { key = x; } ]) ( + map (x: dirOf key + ("/" + x)) deps + ); }; dot2pdf = - { dotGraph + { + dotGraph, }: pkgs.stdenv.mkDerivation { @@ -111,13 +150,14 @@ rec { builder = ./dot2pdf.sh; inherit dotGraph fontsConf; buildInputs = [ - pkgs.perl pkgs.graphviz + pkgs.perl + pkgs.graphviz ]; }; - dot2ps = - { dotGraph + { + dotGraph, }: pkgs.stdenv.mkDerivation { @@ -125,35 +165,52 @@ rec { builder = ./dot2ps.sh; inherit dotGraph; buildInputs = [ - pkgs.perl pkgs.graphviz pkgs.ghostscript + pkgs.perl + pkgs.graphviz + pkgs.ghostscript ]; }; lhs2tex = - { source, flags ? null } : + { + source, + flags ? null, + }: pkgs.stdenv.mkDerivation { name = "tex"; builder = ./lhs2tex.sh; inherit source flags; - buildInputs = [ pkgs.lhs2tex pkgs.perl ]; + buildInputs = [ + pkgs.lhs2tex + pkgs.perl + ]; copyIncludes = ./copy-includes.pl; - includes = map (x: [x.key (baseNameOf (toString x.key))]) - (findLhs2TeXIncludes {rootFile = source;}); + includes = + map + (x: [ + x.key + (baseNameOf (toString x.key)) + ]) + (findLhs2TeXIncludes { + rootFile = source; + }); }; - animateDot = dotGraph: nrFrames: pkgs.stdenv.mkDerivation { - name = "dot-frames"; - builder = ./animatedot.sh; - inherit dotGraph nrFrames; - }; - + animateDot = + dotGraph: nrFrames: + pkgs.stdenv.mkDerivation { + name = "dot-frames"; + builder = ./animatedot.sh; + inherit dotGraph nrFrames; + }; # Wrap a piece of TeX code in a document. Useful when generating # inline images from TeX code. wrapSimpleTeX = - { preamble ? null - , body - , name ? baseNameOf (toString body) + { + preamble ? null, + body, + name ? baseNameOf (toString body), }: pkgs.stdenv.mkDerivation { @@ -169,18 +226,21 @@ rec { ''; }; - # Convert a Postscript file to a PNG image, trimming it so that # there is no unnecessary surrounding whitespace. postscriptToPNG = - { postscript + { + postscript, }: pkgs.stdenv.mkDerivation { name = "png"; inherit postscript; - buildInputs = [pkgs.imagemagick pkgs.ghostscript]; + buildInputs = [ + pkgs.imagemagick + pkgs.ghostscript + ]; buildCommand = '' if test -d $postscript; then @@ -203,12 +263,12 @@ rec { ''; # */ }; - # Convert a piece of TeX code to a PNG image. simpleTeXToPNG = - { preamble ? null - , body - , packages ? [] + { + preamble ? null, + body, + packages ? [ ], }: postscriptToPNG { @@ -222,12 +282,12 @@ rec { }; }; - # Convert a piece of TeX code to a PDF. simpleTeXToPDF = - { preamble ? null - , body - , packages ? [] + { + preamble ? null, + body, + packages ? [ ], }: runLaTeX { @@ -237,7 +297,6 @@ rec { inherit packages; }; - # Some tools (like dot) need a fontconfig configuration file. # This should be extended to allow the called to add additional # fonts. diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix index 02471c8631846..9cd5580826991 100644 --- a/pkgs/tools/typesetting/tex/tetex/default.nix +++ b/pkgs/tools/typesetting/tex/tetex/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchurl, flex, bison, zlib, libpng, ncurses, ed, automake }: +{ + lib, + stdenv, + fetchurl, + flex, + bison, + zlib, + libpng, + ncurses, + ed, + automake, +}: stdenv.mkDerivation rec { pname = "tetex"; @@ -14,7 +25,14 @@ stdenv.mkDerivation rec { sha256 = "1hj06qvm02a2hx1a67igp45kxlbkczjlg20gr8lbp73l36k8yfvc"; }; - buildInputs = [ flex bison zlib libpng ncurses ed ]; + buildInputs = [ + flex + bison + zlib + libpng + ncurses + ed + ]; hardeningDisable = [ "format" ]; @@ -23,11 +41,20 @@ stdenv.mkDerivation rec { sed -i 57d texk/kpathsea/c-std.h ''; - preConfigure = if stdenv.hostPlatform.isCygwin then '' - find ./ -name "config.guess" -exec rm {} \; -exec ln -s ${automake}/share/automake-*/config.guess {} \; - '' else null; + preConfigure = + if stdenv.hostPlatform.isCygwin then + '' + find ./ -name "config.guess" -exec rm {} \; -exec ln -s ${automake}/share/automake-*/config.guess {} \; + '' + else + null; - patches = [ ./environment.patch ./getline.patch ./clang.patch ./extramembot.patch ]; + patches = [ + ./environment.patch + ./getline.patch + ./clang.patch + ./extramembot.patch + ]; setupHook = ./setup-hook.sh; @@ -37,9 +64,17 @@ stdenv.mkDerivation rec { }; configureFlags = - [ "--disable-multiplatform" "--without-x11" "--without-xdvik" - "--without-oxdvik" "--without-texinfo" "--without-texi2html" - "--with-system-zlib" "--with-system-pnglib" "--with-system-ncurses" ] + [ + "--disable-multiplatform" + "--without-x11" + "--without-xdvik" + "--without-oxdvik" + "--without-texinfo" + "--without-texi2html" + "--with-system-zlib" + "--with-system-pnglib" + "--with-system-ncurses" + ] # couldn't get gsftopk working on darwin ++ lib.optional stdenv.hostPlatform.isDarwin "--without-gsftopk"; @@ -52,11 +87,10 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Full-featured (La)TeX distribution"; - homepage = "http://www.tug.org/tetex/"; - maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; - hydraPlatforms = []; + description = "Full-featured (La)TeX distribution"; + homepage = "http://www.tug.org/tetex/"; + maintainers = with maintainers; [ lovek323 ]; + platforms = platforms.unix; + hydraPlatforms = [ ]; }; } - diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 7f86d7cfeabee..58b35678ddd6c 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -1,13 +1,52 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, fetchpatch, buildPackages -, texlive -, zlib, libiconv, libpng, libX11 -, freetype, ttfautohint, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext -, perl, perlPackages, python3Packages, pkg-config, cmake, ninja -, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr, mupdf-headless -, brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash -, makeWrapper, shortenPerlShebang, useFixedHashes, asymptote -, biber-ms -, tlpdb +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + fetchpatch, + buildPackages, + texlive, + zlib, + libiconv, + libpng, + libX11, + freetype, + ttfautohint, + gd, + libXaw, + icu, + ghostscript, + libXpm, + libXmu, + libXext, + perl, + perlPackages, + python3Packages, + pkg-config, + cmake, + ninja, + libpaper, + graphite2, + zziplib, + harfbuzz, + potrace, + gmp, + mpfr, + mupdf-headless, + brotli, + cairo, + pixman, + xorg, + clisp, + biber, + woff2, + xxHash, + makeWrapper, + shortenPerlShebang, + useFixedHashes, + asymptote, + biber-ms, + tlpdb, }@args: # Useful resource covering build options: @@ -20,21 +59,79 @@ let version = year; # keep names simple for now # detect and stop redundant rebuilds that may occur when building new fixed hashes - assertFixedHash = name: src: - if ! useFixedHashes || src ? outputHash then src else throw "The TeX Live package '${src.pname}' must have a fixed hash before building '${name}'."; + assertFixedHash = + name: src: + if !useFixedHashes || src ? outputHash then + src + else + throw "The TeX Live package '${src.pname}' must have a fixed hash before building '${name}'."; # list of packages whose binaries are built in core, core-big # generated manually by inspecting ${core}/bin - corePackages = [ "afm2pl" "aleph" "autosp" "axodraw2" "bibtex" "cjkutils" - "ctie" "cweb" "detex" "dtl" "dvi2tty" "dvicopy" "dvidvi" "dviljk" - "dviout-util" "dvipdfmx" "dvipos" "dvips" "fontware" "gregoriotex" - "gsftopk" "hitex" "kpathsea" "lacheck" "lcdftypetools" "m-tx" "makeindex" - "mfware" "musixtnt" "omegaware" "patgen" "pdftex" "pdftosrc" "pmx" - "ps2eps" "ps2pk" "psutils" "ptex" "seetexk" "synctex" "t1utils" "tex" - "tex4ht" "texlive-scripts-extra" "texware" "tie" "tpic2pdftex" "ttfutils" - "uptex" "velthuis" "vlna" "web" "xml2pmx" ]; - coreBigPackages = [ "metafont" "mflua" "metapost" "luatex" "luahbtex" - "upmendex" "xetex" ] ++ lib.optional withLuaJIT "luajittex"; + corePackages = [ + "afm2pl" + "aleph" + "autosp" + "axodraw2" + "bibtex" + "cjkutils" + "ctie" + "cweb" + "detex" + "dtl" + "dvi2tty" + "dvicopy" + "dvidvi" + "dviljk" + "dviout-util" + "dvipdfmx" + "dvipos" + "dvips" + "fontware" + "gregoriotex" + "gsftopk" + "hitex" + "kpathsea" + "lacheck" + "lcdftypetools" + "m-tx" + "makeindex" + "mfware" + "musixtnt" + "omegaware" + "patgen" + "pdftex" + "pdftosrc" + "pmx" + "ps2eps" + "ps2pk" + "psutils" + "ptex" + "seetexk" + "synctex" + "t1utils" + "tex" + "tex4ht" + "texlive-scripts-extra" + "texware" + "tie" + "tpic2pdftex" + "ttfutils" + "uptex" + "velthuis" + "vlna" + "web" + "xml2pmx" + ]; + coreBigPackages = [ + "metafont" + "mflua" + "metapost" + "luatex" + "luahbtex" + "upmendex" + "xetex" + ] ++ lib.optional withLuaJIT "luajittex"; binPackages = lib.getAttrs (corePackages ++ coreBigPackages) tlpdb; common = { @@ -53,49 +150,67 @@ let hash = "sha256-ZCoZAO0qGWPWW72BJOi5P7/A/qEm+SY3PQyLbx+e3pY="; }; - prePatch = '' - for i in texk/kpathsea/mktex*; do - sed -i '/^mydir=/d' "$i" - done - - # ST_NLINK_TRICK causes kpathsea to treat folders with no real subfolders - # as leaves, even if they contain symlinks to other folders; must be - # disabled to work correctly with the nix store", see section 5.3.6 - # “Subdirectory expansion” of the kpathsea manual - # http://mirrors.ctan.org/systems/doc/kpathsea/kpathsea.pdf for more - # details - sed -i '/^#define ST_NLINK_TRICK/d' texk/kpathsea/config.h - '' + - # when cross compiling, we must use himktables from PATH - # (i.e. from buildPackages.texlive.bin.core.dev) - lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - sed -i 's|\./himktables|himktables|' texk/web2c/Makefile.in - '' -; - - configureFlags = [ - "--with-banner-add=/nixos.org" - "--disable-missing" # terminate if a requested program or feature must be - # disabled, e.g., due to missing libraries - "--disable-native-texlive-build" # do not build for the TeX Live binary distribution - "--enable-shared" # "--enable-cxx-runtime-hack" # static runtime - "--enable-tex-synctex" - "--disable-texlive" # do not build the texlive (TeX Live scripts) package - "--disable-linked-scripts" # do not install the linked scripts - "-C" # use configure cache to speed up - ] + prePatch = + '' + for i in texk/kpathsea/mktex*; do + sed -i '/^mydir=/d' "$i" + done + + # ST_NLINK_TRICK causes kpathsea to treat folders with no real subfolders + # as leaves, even if they contain symlinks to other folders; must be + # disabled to work correctly with the nix store", see section 5.3.6 + # “Subdirectory expansion” of the kpathsea manual + # http://mirrors.ctan.org/systems/doc/kpathsea/kpathsea.pdf for more + # details + sed -i '/^#define ST_NLINK_TRICK/d' texk/kpathsea/config.h + '' + + + # when cross compiling, we must use himktables from PATH + # (i.e. from buildPackages.texlive.bin.core.dev) + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + sed -i 's|\./himktables|himktables|' texk/web2c/Makefile.in + ''; + + configureFlags = + [ + "--with-banner-add=/nixos.org" + "--disable-missing" + # terminate if a requested program or feature must be + # disabled, e.g., due to missing libraries + "--disable-native-texlive-build" # do not build for the TeX Live binary distribution + "--enable-shared" # "--enable-cxx-runtime-hack" # static runtime + "--enable-tex-synctex" + "--disable-texlive" # do not build the texlive (TeX Live scripts) package + "--disable-linked-scripts" # do not install the linked scripts + "-C" # use configure cache to speed up + ] ++ withSystemLibs [ - # see "from TL tree" vs. "Using installed" in configure output - "zziplib" "mpfr" "gmp" - "pixman" "potrace" "gd" "freetype2" "libpng" "libpaper" "zlib" - ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) - "BUILDCC=${buildPackages.stdenv.cc.targetPrefix}cc"; + # see "from TL tree" vs. "Using installed" in configure output + "zziplib" + "mpfr" + "gmp" + "pixman" + "potrace" + "gd" + "freetype2" + "libpng" + "libpaper" + "zlib" + ] + ++ lib.optional ( + stdenv.hostPlatform != stdenv.buildPlatform + ) "BUILDCC=${buildPackages.stdenv.cc.targetPrefix}cc"; # move binaries to corresponding split outputs, based on content of texlive.tlpdb - binToOutput = lib.listToAttrs - (lib.concatMap - (n: map (v: { name = v; value = builtins.replaceStrings [ "-" ] [ "_" ] n; }) binPackages.${n}.binfiles or [ ]) - (builtins.attrNames binPackages)); + binToOutput = lib.listToAttrs ( + lib.concatMap ( + n: + map (v: { + name = v; + value = builtins.replaceStrings [ "-" ] [ "_" ] n; + }) binPackages.${n}.binfiles or [ ] + ) (builtins.attrNames binPackages) + ); moveBins = '' for bin in "$out/bin"/* ; do @@ -116,411 +231,586 @@ let }; # RISC-V: https://github.com/LuaJIT/LuaJIT/issues/628 - withLuaJIT = !(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) && !stdenv.hostPlatform.isRiscV; -in rec { # un-indented - -texliveYear = year; - - -core = stdenv.mkDerivation rec { - pname = "texlive-bin"; - inherit version; - - __structuredAttrs = true; - - inherit (common) binToOutput src prePatch; + withLuaJIT = + !(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) && !stdenv.hostPlatform.isRiscV; +in +rec { + # un-indented + + texliveYear = year; + + core = stdenv.mkDerivation rec { + pname = "texlive-bin"; + inherit version; + + __structuredAttrs = true; + + inherit (common) binToOutput src prePatch; + + outputs = [ + "out" + "dev" + "man" + "info" + ] ++ (builtins.map (builtins.replaceStrings [ "-" ] [ "_" ]) corePackages); + + nativeBuildInputs = + [ + pkg-config + ] + ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ( + with texlive.bin.core; + [ + # configure: error: tangle was not found but is required when cross-compiling. + # dev (himktables) is used when building hitex to generate the additional source file hitables.c + web # tangle + cweb # ctangle + omegaware # otangle + tie # tie see "Building TeX Live" 6.4.2 Cross problems + dev # himktables + ] + ); + + buildInputs = [ + # teckit + zziplib + mpfr + gmp + pixman + gd + freetype + libpng + libpaper + zlib + perl + ]; - outputs = [ "out" "dev" "man" "info" ] - ++ (builtins.map (builtins.replaceStrings [ "-" ] [ "_" ]) corePackages); + hardeningDisable = [ "format" ]; - nativeBuildInputs = [ - pkg-config - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) (with texlive.bin.core; [ - # configure: error: tangle was not found but is required when cross-compiling. - # dev (himktables) is used when building hitex to generate the additional source file hitables.c - web/*tangle*/ cweb/*ctangle*/ omegaware/*otangle*/ tie/*tie*/ # see "Building TeX Live" 6.4.2 Cross problems - dev/*himktables*/ - ]); + preConfigure = '' + rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \ + libs/{lua53,luajit,mpfr,pixman,pplib,teckit,zlib,zziplib} \ + texk/{bibtex-x,chktex,dvipng,dvisvgm,upmendex,xdvik} \ + utils/{asymptote,texdoctk,xindy,xpdfopen} + mkdir WorkDir + cd WorkDir + ''; + configureScript = "../configure"; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + configureFlags = + common.configureFlags + ++ [ "--without-x" ] # disable xdvik and xpdfopen + ++ map (what: "--disable-${what}") [ + "chktex" + "dvisvgm" + "dvipng" # ghostscript dependency + "luatex" + "luajittex" + "luahbtex" + "luajithbtex" + "mp" + "pmp" + "upmp" + "mf" + "mflua" + "mfluajit" # cairo would bring in X and more + "xetex" + "bibtexu" + "bibtex8" + "bibtex-x" + "upmendex" # ICU isn't small + ]; + + enableParallelBuilding = true; + + doCheck = false; # triptest fails, likely due to missing TEXMF tree + preCheck = "patchShebangs ../texk/web2c"; + + installTargets = [ "install" ]; + + # TODO: perhaps improve texmf.cnf search locations + postInstall = + # remove redundant texmf-dist (content provided by TeX Live packages) + '' + rm -fr "$out"/share/texmf-dist + '' + # install himktables in separate output for use in cross compilation + + '' + mkdir -p $dev/bin + cp texk/web2c/.libs/himktables $dev/bin/himktables + '' + + common.moveBins; + + passthru = { inherit version buildInputs; }; + + meta = with lib; { + description = "Basic binaries for TeX Live"; + homepage = "http://www.tug.org/texlive"; + license = lib.licenses.gpl2Plus; + maintainers = with maintainers; [ + veprbl + lovek323 + raskin + jwiegley + ]; + platforms = platforms.all; + }; + }; - buildInputs = [ - /*teckit*/ zziplib mpfr gmp - pixman gd freetype libpng libpaper zlib - perl - ]; + inherit (core-big) + metafont + mflua + metapost + luatex + luahbtex + xetex + ; + luajittex = core.big.luajittex or null; + core-big = stdenv.mkDerivation { + pname = "texlive-bin-big"; + inherit version; + + __structuredAttrs = true; + + inherit (common) binToOutput src prePatch; + + patches = [ + # improves reproducibility of fmt files + # see discussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009196 + (fetchpatch { + name = "lua_fixed_hash.patch"; + url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1009196;filename=lua_fixed_hash.patch;msg=45"; + sha256 = "sha256-FTu1eRd3AUU7IRs2/7e7uwHuvZsrzTBPypbcEZkU7y4="; + }) + # Fixes texluajitc crashes on aarch64, backport of the upstream fix + # https://github.com/LuaJIT/LuaJIT/commit/e9af1abec542e6f9851ff2368e7f196b6382a44c + # to the version vendored by texlive (2.1.0-beta3) + (fetchpatch { + name = "luajit-fix-aarch64-linux.patch"; + url = "https://raw.githubusercontent.com/void-linux/void-packages/30253fbfc22cd93d97ec53df323778a3aab82754/srcpkgs/LuaJIT/patches/e9af1abec542e6f9851ff2368e7f196b6382a44c.patch"; + hash = "sha256-ysSZmfpfCFMukfHmIqwofAZux1e2kEq/37lfqp7HoWo="; + stripLen = 1; + extraPrefix = "libs/luajit/LuaJIT-src/"; + }) + ]; - hardeningDisable = [ "format" ]; - - preConfigure = '' - rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \ - libs/{lua53,luajit,mpfr,pixman,pplib,teckit,zlib,zziplib} \ - texk/{bibtex-x,chktex,dvipng,dvisvgm,upmendex,xdvik} \ - utils/{asymptote,texdoctk,xindy,xpdfopen} - mkdir WorkDir - cd WorkDir - ''; - configureScript = "../configure"; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - - configureFlags = common.configureFlags - ++ [ "--without-x" ] # disable xdvik and xpdfopen - ++ map (what: "--disable-${what}") [ - "chktex" - "dvisvgm" "dvipng" # ghostscript dependency - "luatex" "luajittex" "luahbtex" "luajithbtex" - "mp" "pmp" "upmp" "mf" "mflua" "mfluajit" # cairo would bring in X and more - "xetex" "bibtexu" "bibtex8" "bibtex-x" "upmendex" # ICU isn't small + hardeningDisable = [ "format" ]; + + inherit (core) nativeBuildInputs depsBuildBuild; + buildInputs = core.buildInputs ++ [ + core + cairo + harfbuzz + icu + graphite2 + libX11 + potrace ]; - enableParallelBuilding = true; + /* + deleting the unused packages speeds up configure by a considerable margin + and ensures we do not rebuild existing libraries by mistake + */ + preConfigure = + '' + rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \ + libs/{mpfr,pixman,xpdf,zlib,zziplib} \ + texk/{afm2pl,bibtex-x,chktex,cjkutils,detex,dtl,dvi2tty,dvidvi,dviljk,dviout-util} \ + texk/{dvipdfm-x,dvipng,dvipos,dvipsk,dvisvgm,gregorio,gsftopk,kpathsea} \ + texk/{lcdf-typetools,makeindexk,makejvf,mendexk,musixtnt,ps2pk,psutils,ptexenc} \ + texk/{seetexk,tex4htk,texlive,ttf2pk2,ttfdump,xdvik} \ + utils/{asymptote,autosp,axodraw2,devnag,lacheck,m-tx,pmx,ps2eps,t1utils,texdoctk} \ + utils/{tpic2pdftex,vlna,xindy,xml2pmx,xpdfopen} + mkdir WorkDir + cd WorkDir + '' + # force XeTeX to use fontconfig instead of Core Text, so that fonts can be made available via FONTCONFIG_FILE, + # by tricking configure into thinking that the relevant test result is already in the config cache + + lib.optionalString stdenv.hostPlatform.isDarwin '' + export kpse_cv_have_ApplicationServices=no + ''; + + configureFlags = + common.configureFlags + ++ withSystemLibs [ + "kpathsea" + "ptexenc" + "cairo" + "harfbuzz" + "icu" + "graphite2" + ] + ++ + map (prog: "--disable-${prog}") # don't build things we already have + # list from texk/web2c/configure + ( + [ + "tex" + "ptex" + "eptex" + "uptex" + "euptex" + "aleph" + "hitex" + "pdftex" + "web-progs" + "synctex" + ] + ++ lib.optionals (!withLuaJIT) [ + "luajittex" + "luajithbtex" + "mfluajit" + ] + ) + # disable all packages, re-enable upmendex, web2c packages + ++ [ + "--disable-all-pkgs" + "--enable-upmendex" + "--enable-web2c" + ] + # kpathsea requires specifying the kpathsea location manually + ++ [ "--with-kpathsea-includes=${core.dev}/include" ]; + + configureScript = "../configure"; + + enableParallelBuilding = true; + + doCheck = false; # fails + + outputs = + [ + "out" + "dev" + "man" + "info" + ] + ++ (builtins.map (builtins.replaceStrings [ "-" ] [ "_" ]) coreBigPackages) + # some outputs of metapost, omegaware are for ptex/uptex + ++ [ + "ptex" + "uptex" + ] + # unavoidable duplicates from core + ++ [ + "ctie" + "cweb" + "omegaware" + "texlive_scripts_extra" + "tie" + "web" + ]; + postInstall = common.moveBins; + }; - doCheck = false; # triptest fails, likely due to missing TEXMF tree - preCheck = "patchShebangs ../texk/web2c"; + chktex = stdenv.mkDerivation { + pname = "chktex"; + inherit (texlive.pkgs.chktex) version; - installTargets = [ "install" ]; + inherit (common) src; - # TODO: perhaps improve texmf.cnf search locations - postInstall = - /* remove redundant texmf-dist (content provided by TeX Live packages) */ - '' - rm -fr "$out"/share/texmf-dist - '' + /* install himktables in separate output for use in cross compilation */ '' - mkdir -p $dev/bin - cp texk/web2c/.libs/himktables $dev/bin/himktables - '' + common.moveBins; + nativeBuildInputs = [ pkg-config ]; + # perl used in shebang of script bin/deweb + buildInputs = [ + core # kpathsea + perl + ]; - passthru = { inherit version buildInputs; }; + preConfigure = "cd texk/chktex"; - meta = with lib; { - description = "Basic binaries for TeX Live"; - homepage = "http://www.tug.org/texlive"; - license = lib.licenses.gpl2Plus; - maintainers = with maintainers; [ veprbl lovek323 raskin jwiegley ]; - platforms = platforms.all; - }; -}; - - -inherit (core-big) metafont mflua metapost luatex luahbtex xetex; -luajittex = core.big.luajittex or null; -core-big = stdenv.mkDerivation { - pname = "texlive-bin-big"; - inherit version; - - __structuredAttrs = true; - - inherit (common) binToOutput src prePatch; - - patches = [ - # improves reproducibility of fmt files - # see discussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009196 - (fetchpatch { - name = "lua_fixed_hash.patch"; - url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1009196;filename=lua_fixed_hash.patch;msg=45"; - sha256 = "sha256-FTu1eRd3AUU7IRs2/7e7uwHuvZsrzTBPypbcEZkU7y4="; - }) - # Fixes texluajitc crashes on aarch64, backport of the upstream fix - # https://github.com/LuaJIT/LuaJIT/commit/e9af1abec542e6f9851ff2368e7f196b6382a44c - # to the version vendored by texlive (2.1.0-beta3) - (fetchpatch { - name = "luajit-fix-aarch64-linux.patch"; - url = "https://raw.githubusercontent.com/void-linux/void-packages/30253fbfc22cd93d97ec53df323778a3aab82754/srcpkgs/LuaJIT/patches/e9af1abec542e6f9851ff2368e7f196b6382a44c.patch"; - hash = "sha256-ysSZmfpfCFMukfHmIqwofAZux1e2kEq/37lfqp7HoWo="; - stripLen = 1; - extraPrefix = "libs/luajit/LuaJIT-src/"; - }) - ]; + configureFlags = common.configureFlags ++ [ "--with-system-kpathsea" ]; - hardeningDisable = [ "format" ]; - - inherit (core) nativeBuildInputs depsBuildBuild; - buildInputs = core.buildInputs ++ [ core cairo harfbuzz icu graphite2 libX11 potrace ]; - - /* deleting the unused packages speeds up configure by a considerable margin - and ensures we do not rebuild existing libraries by mistake */ - preConfigure = '' - rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \ - libs/{mpfr,pixman,xpdf,zlib,zziplib} \ - texk/{afm2pl,bibtex-x,chktex,cjkutils,detex,dtl,dvi2tty,dvidvi,dviljk,dviout-util} \ - texk/{dvipdfm-x,dvipng,dvipos,dvipsk,dvisvgm,gregorio,gsftopk,kpathsea} \ - texk/{lcdf-typetools,makeindexk,makejvf,mendexk,musixtnt,ps2pk,psutils,ptexenc} \ - texk/{seetexk,tex4htk,texlive,ttf2pk2,ttfdump,xdvik} \ - utils/{asymptote,autosp,axodraw2,devnag,lacheck,m-tx,pmx,ps2eps,t1utils,texdoctk} \ - utils/{tpic2pdftex,vlna,xindy,xml2pmx,xpdfopen} - mkdir WorkDir - cd WorkDir - '' - # force XeTeX to use fontconfig instead of Core Text, so that fonts can be made available via FONTCONFIG_FILE, - # by tricking configure into thinking that the relevant test result is already in the config cache - + lib.optionalString stdenv.hostPlatform.isDarwin '' - export kpse_cv_have_ApplicationServices=no - ''; - - configureFlags = common.configureFlags - ++ withSystemLibs [ "kpathsea" "ptexenc" "cairo" "harfbuzz" "icu" "graphite2" ] - ++ map (prog: "--disable-${prog}") # don't build things we already have - # list from texk/web2c/configure - ([ "tex" "ptex" "eptex" "uptex" "euptex" "aleph" "hitex" "pdftex" - "web-progs" "synctex" - ] ++ lib.optionals (!withLuaJIT) [ "luajittex" "luajithbtex" "mfluajit" ]) - /* disable all packages, re-enable upmendex, web2c packages */ - ++ [ "--disable-all-pkgs" "--enable-upmendex" "--enable-web2c" ] - /* kpathsea requires specifying the kpathsea location manually */ - ++ [ "--with-kpathsea-includes=${core.dev}/include" ]; - - configureScript = "../configure"; - - enableParallelBuilding = true; - - doCheck = false; # fails - - outputs = [ "out" "dev" "man" "info" ] - ++ (builtins.map (builtins.replaceStrings [ "-" ] [ "_" ]) coreBigPackages) - # some outputs of metapost, omegaware are for ptex/uptex - ++ [ "ptex" "uptex" ] - # unavoidable duplicates from core - ++ [ "ctie" "cweb" "omegaware" "texlive_scripts_extra" "tie" "web" ]; - postInstall = common.moveBins; -}; - - -chktex = stdenv.mkDerivation { - pname = "chktex"; - inherit (texlive.pkgs.chktex) version; - - inherit (common) src; - - nativeBuildInputs = [ pkg-config ]; - # perl used in shebang of script bin/deweb - buildInputs = [ core/*kpathsea*/ perl ]; - - preConfigure = "cd texk/chktex"; - - configureFlags = common.configureFlags - ++ [ "--with-system-kpathsea" ]; - - enableParallelBuilding = true; -}; - -# the LuaMetaTeX engine (distributed since TeX Live 2023) must be built separately -# the sources used by TL are stored in the source TL repo -# for details see https://wiki.contextgarden.net/Building_LuaMetaTeX_for_TeX_Live -context = stdenv.mkDerivation rec { - pname = "luametatex"; - version = "2.11.02"; - - src = fetchurl { - name = "luametatex-${version}.tar.xz"; - url = "https://tug.org/svn/texlive/trunk/Master/source/luametatex-${version}.tar.xz?pathrev=70384&view=co"; - hash = "sha256-o7esoBBTTYEstkd7l34BWxew3fIRdVcFiGxrT1/KP1o="; + enableParallelBuilding = true; }; - enableParallelBuilding = true; - nativeBuildInputs = [ cmake ninja ]; - - meta = with lib; { - description = "LUAMETATEX engine is a follow up on LUATEX and is again part of CONTEXT development"; - homepage = "https://www.pragma-ade.nl/luametatex-1.htm"; - license = licenses.gpl2Plus; - maintainers = with lib.maintainers; [ apfelkuchen6 xworld21 ]; - }; -}; + # the LuaMetaTeX engine (distributed since TeX Live 2023) must be built separately + # the sources used by TL are stored in the source TL repo + # for details see https://wiki.contextgarden.net/Building_LuaMetaTeX_for_TeX_Live + context = stdenv.mkDerivation rec { + pname = "luametatex"; + version = "2.11.02"; + + src = fetchurl { + name = "luametatex-${version}.tar.xz"; + url = "https://tug.org/svn/texlive/trunk/Master/source/luametatex-${version}.tar.xz?pathrev=70384&view=co"; + hash = "sha256-o7esoBBTTYEstkd7l34BWxew3fIRdVcFiGxrT1/KP1o="; + }; -dvisvgm = stdenv.mkDerivation rec { - pname = "dvisvgm"; - version = "3.2.2"; + enableParallelBuilding = true; + nativeBuildInputs = [ + cmake + ninja + ]; - src = assert lib.assertMsg (version == texlive.pkgs.dvisvgm.version) "dvisvgm: TeX Live version (${texlive.pkgs.dvisvgm.version}) different from source (${version}), please update dvisvgm"; fetchurl { - url = "https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz"; - hash = "sha256-8GKL6lqjMUXXWwpqbdGPrYibdSc4y8AcGUGPNUc6HQA="; + meta = with lib; { + description = "LUAMETATEX engine is a follow up on LUATEX and is again part of CONTEXT development"; + homepage = "https://www.pragma-ade.nl/luametatex-1.htm"; + license = licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + apfelkuchen6 + xworld21 + ]; + }; }; - configureFlags = [ - "--disable-manpage" # man pages are provided by the doc container - "--with-ttfautohint" - ]; - - # PDF handling requires mutool (from mupdf) since Ghostscript 10.01 - postPatch = '' - substituteInPlace src/PDFHandler.cpp \ - --replace-fail 'Process("mutool"' "Process(\"$(PATH="$HOST_PATH" command -v mutool)\"" - ''; + dvisvgm = stdenv.mkDerivation rec { + pname = "dvisvgm"; + version = "3.2.2"; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ core brotli ghostscript zlib freetype ttfautohint woff2 potrace xxHash mupdf-headless ]; + src = + assert lib.assertMsg (version == texlive.pkgs.dvisvgm.version) + "dvisvgm: TeX Live version (${texlive.pkgs.dvisvgm.version}) different from source (${version}), please update dvisvgm"; + fetchurl { + url = "https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz"; + hash = "sha256-8GKL6lqjMUXXWwpqbdGPrYibdSc4y8AcGUGPNUc6HQA="; + }; - enableParallelBuilding = true; -}; + configureFlags = [ + "--disable-manpage" # man pages are provided by the doc container + "--with-ttfautohint" + ]; + # PDF handling requires mutool (from mupdf) since Ghostscript 10.01 + postPatch = '' + substituteInPlace src/PDFHandler.cpp \ + --replace-fail 'Process("mutool"' "Process(\"$(PATH="$HOST_PATH" command -v mutool)\"" + ''; -dvipng = stdenv.mkDerivation { - pname = "dvipng"; - inherit (texlive.pkgs.dvipng) version; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + core + brotli + ghostscript + zlib + freetype + ttfautohint + woff2 + potrace + xxHash + mupdf-headless + ]; - inherit (common) src; + enableParallelBuilding = true; + }; - nativeBuildInputs = [ perl pkg-config makeWrapper ]; - buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript ]; + dvipng = stdenv.mkDerivation { + pname = "dvipng"; + inherit (texlive.pkgs.dvipng) version; - preConfigure = '' - cd texk/dvipng - patchShebangs doc/texi2pod.pl - ''; + inherit (common) src; - configureFlags = common.configureFlags - ++ [ "--with-system-kpathsea" "--with-gs=yes" "--disable-debug" ]; + nativeBuildInputs = [ + perl + pkg-config + makeWrapper + ]; + buildInputs = [ + core # kpathsea + zlib + libpng + freetype + gd + ghostscript + ]; - GS="${ghostscript}/bin/gs"; + preConfigure = '' + cd texk/dvipng + patchShebangs doc/texi2pod.pl + ''; - enableParallelBuilding = true; -}; + configureFlags = common.configureFlags ++ [ + "--with-system-kpathsea" + "--with-gs=yes" + "--disable-debug" + ]; -pygmentex = python3Packages.buildPythonApplication rec { - pname = "pygmentex"; - inherit (src) version; - format = "other"; + GS = "${ghostscript}/bin/gs"; - src = assertFixedHash pname texlive.pkgs.pygmentex.tex; + enableParallelBuilding = true; + }; - propagatedBuildInputs = with python3Packages; [ pygments chardet ]; + pygmentex = python3Packages.buildPythonApplication rec { + pname = "pygmentex"; + inherit (src) version; + format = "other"; - dontBuild = true; + src = assertFixedHash pname texlive.pkgs.pygmentex.tex; - doCheck = false; + propagatedBuildInputs = with python3Packages; [ + pygments + chardet + ]; - installPhase = '' - runHook preInstall + dontBuild = true; - install -D ./scripts/pygmentex/pygmentex.py "$out"/bin/pygmentex + doCheck = false; - runHook postInstall - ''; + installPhase = '' + runHook preInstall - meta = with lib; { - homepage = "https://www.ctan.org/pkg/pygmentex"; - description = "Auxiliary tool for typesetting code listings in LaTeX documents using Pygments"; - longDescription = '' - PygmenTeX is a Python-based LaTeX package that can be used for - typesetting code listings in a LaTeX document using Pygments. + install -D ./scripts/pygmentex/pygmentex.py "$out"/bin/pygmentex - Pygments is a generic syntax highlighter for general use in all kinds of - software such as forum systems, wikis or other applications that need to - prettify source code. + runHook postInstall ''; - license = licenses.lppl13c; - maintainers = with maintainers; [ romildo ]; - }; -}; -asymptote = args.asymptote.overrideAttrs (finalAttrs: prevAttrs: { - version = texlive.pkgs.asymptote.version; - - # keep local src and patches even if duplicated in the top level asymptote - # so that top level updates do not break texlive - src = fetchurl { - url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz"; - hash = "sha256-nZtcb6fg+848HlT+sl4tUdKMT+d5jyTHbNyugpGo6mY="; + meta = with lib; { + homepage = "https://www.ctan.org/pkg/pygmentex"; + description = "Auxiliary tool for typesetting code listings in LaTeX documents using Pygments"; + longDescription = '' + PygmenTeX is a Python-based LaTeX package that can be used for + typesetting code listings in a LaTeX document using Pygments. + + Pygments is a generic syntax highlighter for general use in all kinds of + software such as forum systems, wikis or other applications that need to + prettify source code. + ''; + license = licenses.lppl13c; + maintainers = with maintainers; [ romildo ]; + }; }; - texContainer = texlive.pkgs.asymptote.tex; - texdocContainer = texlive.pkgs.asymptote.texdoc; -}); - -inherit biber; -inherit biber-ms; -bibtexu = bibtex8; -bibtex8 = stdenv.mkDerivation { - pname = "bibtex-x"; - inherit (texlive.pkgs.bibtexu) version; - - inherit (common) src; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ core/*kpathsea*/ icu ]; - - preConfigure = "cd texk/bibtex-x"; - - configureFlags = common.configureFlags - ++ [ "--with-system-kpathsea" "--with-system-icu" ]; - - enableParallelBuilding = true; -}; - - -xdvi = stdenv.mkDerivation { - pname = "xdvi"; - inherit (texlive.pkgs.xdvi) version; + asymptote = args.asymptote.overrideAttrs ( + finalAttrs: prevAttrs: { + version = texlive.pkgs.asymptote.version; + + # keep local src and patches even if duplicated in the top level asymptote + # so that top level updates do not break texlive + src = fetchurl { + url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz"; + hash = "sha256-nZtcb6fg+848HlT+sl4tUdKMT+d5jyTHbNyugpGo6mY="; + }; + + texContainer = texlive.pkgs.asymptote.tex; + texdocContainer = texlive.pkgs.asymptote.texdoc; + } + ); + + inherit biber; + inherit biber-ms; + bibtexu = bibtex8; + bibtex8 = stdenv.mkDerivation { + pname = "bibtex-x"; + inherit (texlive.pkgs.bibtexu) version; + + inherit (common) src; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + core # kpathsea + icu + ]; - inherit (common) src; + preConfigure = "cd texk/bibtex-x"; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ core/*kpathsea*/ freetype ghostscript ] - ++ (with xorg; [ libX11 libXaw libXi libXpm libXmu libXaw libXext libXfixes ]); + configureFlags = common.configureFlags ++ [ + "--with-system-kpathsea" + "--with-system-icu" + ]; - preConfigure = "cd texk/xdvik"; + enableParallelBuilding = true; + }; - configureFlags = common.configureFlags - ++ [ "--with-system-kpathsea" "--with-system-libgs" ]; + xdvi = stdenv.mkDerivation { + pname = "xdvi"; + inherit (texlive.pkgs.xdvi) version; + + inherit (common) src; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = + [ + core # kpathsea + freetype + ghostscript + ] + ++ (with xorg; [ + libX11 + libXaw + libXi + libXpm + libXmu + libXaw + libXext + libXfixes + ]); + + preConfigure = "cd texk/xdvik"; + + configureFlags = common.configureFlags ++ [ + "--with-system-kpathsea" + "--with-system-libgs" + ]; - enableParallelBuilding = true; + enableParallelBuilding = true; - postInstall = '' - substituteInPlace "$out/bin/xdvi" \ - --replace-fail "exec xdvi-xaw" "exec '$out/bin/xdvi-xaw'" - ''; - # TODO: it's suspicious that mktexpk generates fonts into ~/.texlive2014 -}; + postInstall = '' + substituteInPlace "$out/bin/xdvi" \ + --replace-fail "exec xdvi-xaw" "exec '$out/bin/xdvi-xaw'" + ''; + # TODO: it's suspicious that mktexpk generates fonts into ~/.texlive2014 + }; -xpdfopen = stdenv.mkDerivation { - pname = "xpdfopen"; - inherit (texlive.pkgs.xpdfopen) version; + xpdfopen = stdenv.mkDerivation { + pname = "xpdfopen"; + inherit (texlive.pkgs.xpdfopen) version; - inherit (common) src; + inherit (common) src; - buildInputs = [ libX11 ]; + buildInputs = [ libX11 ]; - preConfigure = "cd utils/xpdfopen"; + preConfigure = "cd utils/xpdfopen"; - enableParallelBuilding = true; -}; + enableParallelBuilding = true; + }; } # un-indented -// lib.optionalAttrs (!clisp.meta.broken) # broken on aarch64 and darwin (#20062) -{ - -xindy = stdenv.mkDerivation { - pname = "xindy"; - inherit (texlive.pkgs.xindy) version; - - inherit (common) src; - - # If unset, xindy will try to mkdir /homeless-shelter - HOME = "."; - - prePatch = "cd utils/xindy"; - # hardcode clisp location - postPatch = '' - substituteInPlace xindy-*/user-commands/xindy.in \ - --replace-fail "our \$clisp = ( \$is_windows ? 'clisp.exe' : 'clisp' ) ;" \ - "our \$clisp = '$(type -P clisp)';" \ - --replace-fail 'die "$cmd: Cannot locate xindy modules directory";' \ - '$modules_dir = "${texlive.pkgs.xindy.tex}/xindy/modules"; die "$cmd: Cannot locate xindy modules directory" unless -d $modules_dir;' - ''; - - nativeBuildInputs = [ - pkg-config perl - ]; - buildInputs = [ clisp libiconv perl ]; - - configureFlags = [ "--with-clisp-runtime=system" "--disable-xindy-docs" "--disable-xindy-rules" ]; - - preInstall = ''mkdir -p "$out/bin" ''; - # fixup various file-location errors of: lib/xindy/{xindy.mem,modules/} - postInstall = '' - mkdir -p "$out/lib/xindy" - mv "$out"/{bin/xindy.mem,lib/xindy/} - ''; -}; - -} +// + lib.optionalAttrs (!clisp.meta.broken) # broken on aarch64 and darwin (#20062) + { + + xindy = stdenv.mkDerivation { + pname = "xindy"; + inherit (texlive.pkgs.xindy) version; + + inherit (common) src; + + # If unset, xindy will try to mkdir /homeless-shelter + HOME = "."; + + prePatch = "cd utils/xindy"; + # hardcode clisp location + postPatch = '' + substituteInPlace xindy-*/user-commands/xindy.in \ + --replace-fail "our \$clisp = ( \$is_windows ? 'clisp.exe' : 'clisp' ) ;" \ + "our \$clisp = '$(type -P clisp)';" \ + --replace-fail 'die "$cmd: Cannot locate xindy modules directory";' \ + '$modules_dir = "${texlive.pkgs.xindy.tex}/xindy/modules"; die "$cmd: Cannot locate xindy modules directory" unless -d $modules_dir;' + ''; + + nativeBuildInputs = [ + pkg-config + perl + ]; + buildInputs = [ + clisp + libiconv + perl + ]; + + configureFlags = [ + "--with-clisp-runtime=system" + "--disable-xindy-docs" + "--disable-xindy-rules" + ]; + + preInstall = ''mkdir -p "$out/bin" ''; + # fixup various file-location errors of: lib/xindy/{xindy.mem,modules/} + postInstall = '' + mkdir -p "$out/lib/xindy" + mv "$out"/{bin/xindy.mem,lib/xindy/} + ''; + }; + + } diff --git a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix index f72a0bdf3c885..01ee20554031b 100644 --- a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix +++ b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix @@ -1,315 +1,485 @@ { # texlive package set - tl -, bin - -, lib -, buildEnv -, libfaketime -, makeFontsConf -, makeWrapper -, runCommand -, writeShellScript -, writeText -, toTLPkgSets -, bash -, perl + tl, + bin, + + lib, + buildEnv, + libfaketime, + makeFontsConf, + makeWrapper, + runCommand, + writeShellScript, + writeText, + toTLPkgSets, + bash, + perl, # common runtime dependencies -, coreutils -, gawk -, gnugrep -, gnused -, ghostscript + coreutils, + gawk, + gnugrep, + gnused, + ghostscript, }: -lib.fix (self: { - withDocs ? false -, withSources ? false -, requiredTeXPackages ? ps: [ ps.scheme-infraonly ] - -### texlive.combine backward compatibility -, __extraName ? "combined" -, __extraVersion ? "" -# emulate the old texlive.combine (e.g. add man pages to main output) -, __combine ? false -# adjust behavior further if called from the texlive.combine wrapper -, __fromCombineWrapper ? false -# build only the formats of a package (for internal use!) -, __formatsOf ? null -}@args: - -let - ### buildEnv with custom attributes - buildEnv' = args: (buildEnv - ({ inherit (args) name paths; }) - // lib.optionalAttrs (args ? extraOutputsToInstall) { inherit (args) extraOutputsToInstall; }) - .overrideAttrs (removeAttrs args [ "extraOutputsToInstall" "name" "paths" "pkgs" ]); - - ### texlive.combine backward compatibility - # if necessary, convert old style { pkgs = [ ... ]; } packages to attribute sets - isOldPkgList = p: ! p.outputSpecified or false && p ? pkgs && builtins.all (p: p ? tlType) p.pkgs; - ensurePkgSets = ps: if ! __fromCombineWrapper && builtins.any isOldPkgList ps - then let oldPkgLists = builtins.partition isOldPkgList ps; - in oldPkgLists.wrong ++ lib.concatMap toTLPkgSets oldPkgLists.right - else ps; - - pkgList = rec { - # resolve dependencies of the packages that affect the runtime - all = - let - packages = ensurePkgSets (requiredTeXPackages tl); - runtime = builtins.partition - (p: p.outputSpecified or false -> builtins.elem (p.tlOutputName or p.outputName) [ "out" "tex" "tlpkg" ]) - packages; - keySet = p: { - key = p.pname or p.name + lib.optionalString (p.outputSpecified or false) ("-" + p.tlOutputName or p.outputName or ""); - inherit p; - tlDeps = if p ? tlDeps then ensurePkgSets p.tlDeps else (p.requiredTeXPackages or (_: [ ]) tl); - }; - in - # texlive.combine: the wrapper already resolves all dependencies - if __fromCombineWrapper then requiredTeXPackages null else - builtins.catAttrs "p" (builtins.genericClosure { - startSet = map keySet runtime.right; - operator = p: map keySet p.tlDeps; - }) ++ runtime.wrong; - - # group the specified outputs - specified = builtins.partition (p: p.outputSpecified or false) all; - specifiedOutputs = lib.groupBy (p: p.tlOutputName or p.outputName) specified.right; - otherOutputNames = builtins.catAttrs "key" (builtins.genericClosure { - startSet = map (key: { inherit key; }) (lib.concatLists (builtins.catAttrs "outputs" specified.wrong)); - operator = _: [ ]; - }); - otherOutputs = lib.genAttrs otherOutputNames (n: builtins.catAttrs n specified.wrong); - outputsToInstall = builtins.catAttrs "key" (builtins.genericClosure { - startSet = map (key: { inherit key; }) - ([ "out" ] ++ lib.optional (otherOutputs ? man) "man" - ++ lib.concatLists (builtins.catAttrs "outputsToInstall" (builtins.catAttrs "meta" specified.wrong))); - operator = _: [ ]; - }); - - # split binary and tlpkg from tex, texdoc, texsource - bin = if __fromCombineWrapper - then builtins.filter (p: p.tlType == "bin") all # texlive.combine: legacy filter - else otherOutputs.out or [ ] ++ specifiedOutputs.out or [ ]; - tlpkg = if __fromCombineWrapper - then builtins.filter (p: p.tlType == "tlpkg") all # texlive.combine: legacy filter - else otherOutputs.tlpkg or [ ] ++ specifiedOutputs.tlpkg or [ ]; - - nonbin = if __fromCombineWrapper then builtins.filter (p: p.tlType != "bin" && p.tlType != "tlpkg") all # texlive.combine: legacy filter - else (if __combine then # texlive.combine: emulate old input ordering to avoid rebuilds - lib.concatMap (p: lib.optional (p ? tex) p.tex - ++ lib.optional ((withDocs || p ? man) && p ? texdoc) p.texdoc - ++ lib.optional (withSources && p ? texsource) p.texsource) specified.wrong - else otherOutputs.tex or [ ] - ++ lib.optionals withDocs (otherOutputs.texdoc or [ ]) - ++ lib.optionals withSources (otherOutputs.texsource or [ ])) - ++ specifiedOutputs.tex or [ ] ++ specifiedOutputs.texdoc or [ ] ++ specifiedOutputs.texsource or [ ]; - - # outputs that do not become part of the environment - nonEnvOutputs = lib.subtractLists [ "out" "tex" "texdoc" "texsource" "tlpkg" ] otherOutputNames; - - # packages that contribute to config files and formats - fontMaps = lib.filter (p: p ? fontMaps && (p.tlOutputName or p.outputName == "tex")) nonbin; - sortedFontMaps = builtins.sort (a: b: a.pname < b.pname) fontMaps; - hyphenPatterns = lib.filter (p: p ? hyphenPatterns && (p.tlOutputName or p.outputName == "tex")) nonbin; - sortedHyphenPatterns = builtins.sort (a: b: a.pname < b.pname) hyphenPatterns; - formatPkgs = lib.filter (p: p ? formats && (p.outputSpecified or false -> p.tlOutputName or p.outputName == "tex") && builtins.any (f: f.enabled or true) p.formats) all; - sortedFormatPkgs = if __formatsOf != null then [ __formatsOf ] else builtins.sort (a: b: a.pname < b.pname) formatPkgs; - formats = map (p: self { requiredTeXPackages = ps: [ ps.scheme-infraonly p ] ++ hyphenPatterns; __formatsOf = p; }) sortedFormatPkgs; - }; - - # list generated by inspecting `grep -IR '\([^a-zA-Z]\|^\)gs\( \|$\|"\)' "$TEXMFDIST"/scripts` - # and `grep -IR rungs "$TEXMFDIST"` - # and ignoring luatex, perl, and shell scripts (those must be patched using postFixup) - needsGhostscript = lib.any (p: lib.elem p.pname [ "context" "dvipdfmx" "latex-papersize" "lyluatex" ]) pkgList.bin; - - name = if __combine then "texlive-${__extraName}-${bin.texliveYear}${__extraVersion}" # texlive.combine: old name name - else "texlive-${bin.texliveYear}-" + (if __formatsOf != null then "${__formatsOf.pname}-fmt" else "env"); - - texmfdist = buildEnv' { - name = "${name}-texmfdist"; - - # remove fake derivations (without 'outPath') to avoid undesired build dependencies - paths = builtins.catAttrs "outPath" pkgList.nonbin; - - # mktexlsr - nativeBuildInputs = [ tl."texlive.infra" ]; - - postBuild = # generate ls-R database - '' - mktexlsr "$out" - ''; - }; - - tlpkg = buildEnv { - name = "${name}-tlpkg"; - - # remove fake derivations (without 'outPath') to avoid undesired build dependencies - paths = builtins.catAttrs "outPath" pkgList.tlpkg; - }; - - # the 'non-relocated' packages must live in $TEXMFROOT/texmf-dist - # and sometimes look into $TEXMFROOT/tlpkg (notably fmtutil, updmap look for perl modules in both) - texmfroot = runCommand "${name}-texmfroot" { - inherit texmfdist tlpkg; - } '' - mkdir -p "$out" - ln -s "$texmfdist" "$out"/texmf-dist - ln -s "$tlpkg" "$out"/tlpkg - ''; - - # texlive.combine: expose info and man pages in usual /share/{info,man} location - doc = buildEnv { - name = "${name}-doc"; - - paths = [ (texmfdist.outPath + "/doc") ]; - extraPrefix = "/share"; - - pathsToLink = [ - "/info" - "/man" - ]; - }; - - meta = { - description = "TeX Live environment" - + lib.optionalString withDocs " with documentation" - + lib.optionalString (withDocs && withSources) " and" - + lib.optionalString withSources " with sources"; - platforms = lib.platforms.all; - longDescription = "Contains the following packages and their transitive dependencies:\n - " - + lib.concatMapStringsSep "\n - " - (p: p.pname + (lib.optionalString (p.outputSpecified or false) " (${p.tlOutputName or p.outputName})")) - (requiredTeXPackages tl); - }; - - # other outputs - nonEnvOutputs = lib.genAttrs pkgList.nonEnvOutputs (outName: buildEnv' { - inherit name; - outputs = [ outName ]; - paths = builtins.catAttrs "outPath" - (pkgList.otherOutputs.${outName} or [ ] ++ pkgList.specifiedOutputs.${outName} or [ ]); - # force the output to be ${outName} or nix-env will not work - nativeBuildInputs = [ (writeShellScript "force-output.sh" '' - export out="''${${outName}-}" - '') ]; - inherit meta passthru; - }); - - passthru = { - # This is set primarily to help find-tarballs.nix to do its job - requiredTeXPackages = builtins.filter lib.isDerivation (pkgList.bin ++ pkgList.nonbin - ++ lib.optionals (! __fromCombineWrapper) - (lib.concatMap (n: (pkgList.otherOutputs.${n} or [ ] ++ pkgList.specifiedOutputs.${n} or [ ])) pkgList.nonEnvOutputs)); - # useful for inclusion in the `fonts.packages` nixos option or for use in devshells - fonts = "${texmfroot}/texmf-dist/fonts"; - # support variants attrs, (prev: attrs) - __overrideTeXConfig = newArgs: - let appliedArgs = if builtins.isFunction newArgs then newArgs args else newArgs; in +lib.fix ( + self: + { + withDocs ? false, + withSources ? false, + requiredTeXPackages ? ps: [ ps.scheme-infraonly ], + + ### texlive.combine backward compatibility + __extraName ? "combined", + __extraVersion ? "", + # emulate the old texlive.combine (e.g. add man pages to main output) + __combine ? false, + # adjust behavior further if called from the texlive.combine wrapper + __fromCombineWrapper ? false, + # build only the formats of a package (for internal use!) + __formatsOf ? null, + }@args: + + let + ### buildEnv with custom attributes + buildEnv' = + args: + ( + buildEnv ({ inherit (args) name paths; }) + // lib.optionalAttrs (args ? extraOutputsToInstall) { inherit (args) extraOutputsToInstall; } + ).overrideAttrs + ( + removeAttrs args [ + "extraOutputsToInstall" + "name" + "paths" + "pkgs" + ] + ); + + ### texlive.combine backward compatibility + # if necessary, convert old style { pkgs = [ ... ]; } packages to attribute sets + isOldPkgList = p: !p.outputSpecified or false && p ? pkgs && builtins.all (p: p ? tlType) p.pkgs; + ensurePkgSets = + ps: + if !__fromCombineWrapper && builtins.any isOldPkgList ps then + let + oldPkgLists = builtins.partition isOldPkgList ps; + in + oldPkgLists.wrong ++ lib.concatMap toTLPkgSets oldPkgLists.right + else + ps; + + pkgList = rec { + # resolve dependencies of the packages that affect the runtime + all = + let + packages = ensurePkgSets (requiredTeXPackages tl); + runtime = builtins.partition ( + p: + p.outputSpecified or false + -> builtins.elem (p.tlOutputName or p.outputName) [ + "out" + "tex" + "tlpkg" + ] + ) packages; + keySet = p: { + key = + p.pname or p.name + + lib.optionalString (p.outputSpecified or false) ("-" + p.tlOutputName or p.outputName or ""); + inherit p; + tlDeps = if p ? tlDeps then ensurePkgSets p.tlDeps else (p.requiredTeXPackages or (_: [ ]) tl); + }; + in + # texlive.combine: the wrapper already resolves all dependencies + if __fromCombineWrapper then + requiredTeXPackages null + else + builtins.catAttrs "p" ( + builtins.genericClosure { + startSet = map keySet runtime.right; + operator = p: map keySet p.tlDeps; + } + ) + ++ runtime.wrong; + + # group the specified outputs + specified = builtins.partition (p: p.outputSpecified or false) all; + specifiedOutputs = lib.groupBy (p: p.tlOutputName or p.outputName) specified.right; + otherOutputNames = builtins.catAttrs "key" ( + builtins.genericClosure { + startSet = map (key: { inherit key; }) ( + lib.concatLists (builtins.catAttrs "outputs" specified.wrong) + ); + operator = _: [ ]; + } + ); + otherOutputs = lib.genAttrs otherOutputNames (n: builtins.catAttrs n specified.wrong); + outputsToInstall = builtins.catAttrs "key" ( + builtins.genericClosure { + startSet = map (key: { inherit key; }) ( + [ "out" ] + ++ lib.optional (otherOutputs ? man) "man" + ++ lib.concatLists (builtins.catAttrs "outputsToInstall" (builtins.catAttrs "meta" specified.wrong)) + ); + operator = _: [ ]; + } + ); + + # split binary and tlpkg from tex, texdoc, texsource + bin = + if __fromCombineWrapper then + builtins.filter (p: p.tlType == "bin") all # texlive.combine: legacy filter + else + otherOutputs.out or [ ] ++ specifiedOutputs.out or [ ]; + tlpkg = + if __fromCombineWrapper then + builtins.filter (p: p.tlType == "tlpkg") all # texlive.combine: legacy filter + else + otherOutputs.tlpkg or [ ] ++ specifiedOutputs.tlpkg or [ ]; + + nonbin = + if __fromCombineWrapper then + builtins.filter (p: p.tlType != "bin" && p.tlType != "tlpkg") all # texlive.combine: legacy filter + else + ( + if __combine then # texlive.combine: emulate old input ordering to avoid rebuilds + lib.concatMap ( + p: + lib.optional (p ? tex) p.tex + ++ lib.optional ((withDocs || p ? man) && p ? texdoc) p.texdoc + ++ lib.optional (withSources && p ? texsource) p.texsource + ) specified.wrong + else + otherOutputs.tex or [ ] + ++ lib.optionals withDocs (otherOutputs.texdoc or [ ]) + ++ lib.optionals withSources (otherOutputs.texsource or [ ]) + ) + ++ specifiedOutputs.tex or [ ] + ++ specifiedOutputs.texdoc or [ ] + ++ specifiedOutputs.texsource or [ ]; + + # outputs that do not become part of the environment + nonEnvOutputs = lib.subtractLists [ "out" "tex" "texdoc" "texsource" "tlpkg" ] otherOutputNames; + + # packages that contribute to config files and formats + fontMaps = lib.filter (p: p ? fontMaps && (p.tlOutputName or p.outputName == "tex")) nonbin; + sortedFontMaps = builtins.sort (a: b: a.pname < b.pname) fontMaps; + hyphenPatterns = lib.filter ( + p: p ? hyphenPatterns && (p.tlOutputName or p.outputName == "tex") + ) nonbin; + sortedHyphenPatterns = builtins.sort (a: b: a.pname < b.pname) hyphenPatterns; + formatPkgs = lib.filter ( + p: + p ? formats + && (p.outputSpecified or false -> p.tlOutputName or p.outputName == "tex") + && builtins.any (f: f.enabled or true) p.formats + ) all; + sortedFormatPkgs = + if __formatsOf != null then [ __formatsOf ] else builtins.sort (a: b: a.pname < b.pname) formatPkgs; + formats = map ( + p: + self { + requiredTeXPackages = + ps: + [ + ps.scheme-infraonly + p + ] + ++ hyphenPatterns; + __formatsOf = p; + } + ) sortedFormatPkgs; + }; + + # list generated by inspecting `grep -IR '\([^a-zA-Z]\|^\)gs\( \|$\|"\)' "$TEXMFDIST"/scripts` + # and `grep -IR rungs "$TEXMFDIST"` + # and ignoring luatex, perl, and shell scripts (those must be patched using postFixup) + needsGhostscript = lib.any ( + p: + lib.elem p.pname [ + "context" + "dvipdfmx" + "latex-papersize" + "lyluatex" + ] + ) pkgList.bin; + + name = + if __combine then + "texlive-${__extraName}-${bin.texliveYear}${__extraVersion}" # texlive.combine: old name name + else + "texlive-${bin.texliveYear}-" + (if __formatsOf != null then "${__formatsOf.pname}-fmt" else "env"); + + texmfdist = buildEnv' { + name = "${name}-texmfdist"; + + # remove fake derivations (without 'outPath') to avoid undesired build dependencies + paths = builtins.catAttrs "outPath" pkgList.nonbin; + + # mktexlsr + nativeBuildInputs = [ tl."texlive.infra" ]; + + postBuild = # generate ls-R database + '' + mktexlsr "$out" + ''; + }; + + tlpkg = buildEnv { + name = "${name}-tlpkg"; + + # remove fake derivations (without 'outPath') to avoid undesired build dependencies + paths = builtins.catAttrs "outPath" pkgList.tlpkg; + }; + + # the 'non-relocated' packages must live in $TEXMFROOT/texmf-dist + # and sometimes look into $TEXMFROOT/tlpkg (notably fmtutil, updmap look for perl modules in both) + texmfroot = + runCommand "${name}-texmfroot" + { + inherit texmfdist tlpkg; + } + '' + mkdir -p "$out" + ln -s "$texmfdist" "$out"/texmf-dist + ln -s "$tlpkg" "$out"/tlpkg + ''; + + # texlive.combine: expose info and man pages in usual /share/{info,man} location + doc = buildEnv { + name = "${name}-doc"; + + paths = [ (texmfdist.outPath + "/doc") ]; + extraPrefix = "/share"; + + pathsToLink = [ + "/info" + "/man" + ]; + }; + + meta = { + description = + "TeX Live environment" + + lib.optionalString withDocs " with documentation" + + lib.optionalString (withDocs && withSources) " and" + + lib.optionalString withSources " with sources"; + platforms = lib.platforms.all; + longDescription = + "Contains the following packages and their transitive dependencies:\n - " + + lib.concatMapStringsSep "\n - " ( + p: + p.pname + (lib.optionalString (p.outputSpecified or false) " (${p.tlOutputName or p.outputName})") + ) (requiredTeXPackages tl); + }; + + # other outputs + nonEnvOutputs = lib.genAttrs pkgList.nonEnvOutputs ( + outName: + buildEnv' { + inherit name; + outputs = [ outName ]; + paths = builtins.catAttrs "outPath" ( + pkgList.otherOutputs.${outName} or [ ] ++ pkgList.specifiedOutputs.${outName} or [ ] + ); + # force the output to be ${outName} or nix-env will not work + nativeBuildInputs = [ + (writeShellScript "force-output.sh" '' + export out="''${${outName}-}" + '') + ]; + inherit meta passthru; + } + ); + + passthru = { + # This is set primarily to help find-tarballs.nix to do its job + requiredTeXPackages = builtins.filter lib.isDerivation ( + pkgList.bin + ++ pkgList.nonbin + ++ lib.optionals (!__fromCombineWrapper) ( + lib.concatMap ( + n: (pkgList.otherOutputs.${n} or [ ] ++ pkgList.specifiedOutputs.${n} or [ ]) + ) pkgList.nonEnvOutputs + ) + ); + # useful for inclusion in the `fonts.packages` nixos option or for use in devshells + fonts = "${texmfroot}/texmf-dist/fonts"; + # support variants attrs, (prev: attrs) + __overrideTeXConfig = + newArgs: + let + appliedArgs = if builtins.isFunction newArgs then newArgs args else newArgs; + in self (args // { __fromCombineWrapper = false; } // appliedArgs); - withPackages = reqs: self (args // { requiredTeXPackages = ps: reqs ps ++ requiredTeXPackages ps; __fromCombineWrapper = false; }); - }; - - # TeXLive::TLOBJ::fmtutil_cnf_lines - fmtutilLine = { name, engine, enabled ? true, patterns ? [ "-" ], options ? "", ... }: - lib.optionalString (! enabled) "#! " + "${name} ${engine} ${lib.concatStringsSep "," patterns} ${options}"; - fmtutilLines = { pname, formats, ...}: - [ "#" "# from ${pname}:" ] ++ map fmtutilLine formats; - - # TeXLive::TLOBJ::language_dat_lines - langDatLine = { name, file, synonyms ? [ ], ... }: - [ "${name} ${file}" ] ++ map (s: "=" + s) synonyms; - langDatLines = { pname, hyphenPatterns, ... }: - [ "% from ${pname}:" ] ++ builtins.concatMap langDatLine hyphenPatterns; - - # TeXLive::TLOBJ::language_def_lines - # see TeXLive::TLUtils::parse_AddHyphen_line for default values - langDefLine = { name, file, lefthyphenmin ? "", righthyphenmin ? "", synonyms ? [ ], ... }: - map (n: "\\addlanguage{${n}}{${file}}{}{${if lefthyphenmin == "" then "2" else lefthyphenmin}}{${if righthyphenmin == "" then "3" else righthyphenmin}}") - ([ name ] ++ synonyms); - langDefLines = { pname, hyphenPatterns, ... }: - [ "% from ${pname}:" ] ++ builtins.concatMap langDefLine hyphenPatterns; - - # TeXLive::TLOBJ::language_lua_lines - # see TeXLive::TLUtils::parse_AddHyphen_line for default values - langLuaLine = { name, file, lefthyphenmin ? "", righthyphenmin ? "", synonyms ? [ ], ... }@args: '' - ''\t['${name}'] = { - ''\t''\tloader = '${file}', - ''\t''\tlefthyphenmin = ${if lefthyphenmin == "" then "2" else lefthyphenmin}, - ''\t''\trighthyphenmin = ${if righthyphenmin == "" then "3" else righthyphenmin}, - ''\t''\tsynonyms = { ${lib.concatStringsSep ", " (map (s: "'${s}'") synonyms)} }, - '' - + lib.optionalString (args ? file_patterns) "\t\tpatterns = '${args.file_patterns}',\n" - + lib.optionalString (args ? file_exceptions) "\t\thyphenation = '${args.file_exceptions}',\n" - + lib.optionalString (args ? luaspecial) "\t\tspecial = '${args.luaspecial}',\n" - + "\t},"; - langLuaLines = { pname, hyphenPatterns, ... }: - [ "-- from ${pname}:" ] ++ map langLuaLine hyphenPatterns; - - assembleConfigLines = f: packages: - builtins.concatStringsSep "\n" (builtins.concatMap f packages); - - updmapLines = { pname, fontMaps, ...}: - [ "# from ${pname}:" ] ++ fontMaps; - - out = -# no indent for git diff purposes -buildEnv' { - - inherit name; - - # use attrNames, attrValues to ensure the two lists are sorted in the same way - outputs = [ "out" ] ++ lib.optionals (! __combine && __formatsOf == null) (builtins.attrNames nonEnvOutputs); - otherOutputs = lib.optionals (! __combine && __formatsOf == null) (builtins.attrValues nonEnvOutputs); - - # remove fake derivations (without 'outPath') to avoid undesired build dependencies - paths = builtins.catAttrs "outPath" pkgList.bin ++ lib.optionals (! __combine && __formatsOf == null) pkgList.formats - ++ lib.optional __combine doc; - pathsToLink = [ - "/" - "/share/texmf-var/scripts" - "/share/texmf-var/tex/generic/config" - "/share/texmf-var/web2c" - "/share/texmf-config" - "/bin" # ensure these are writeable directories - ]; - - nativeBuildInputs = [ - makeWrapper - libfaketime - tl."texlive.infra" # mktexlsr - tl.texlive-scripts # fmtutil, updmap - tl.texlive-scripts-extra # texlinks - perl - ]; - - buildInputs = [ coreutils gawk gnugrep gnused ] ++ lib.optional needsGhostscript ghostscript; - - inherit meta passthru __combine; - __formatsOf = __formatsOf.pname or null; - - inherit texmfdist texmfroot; - - fontconfigFile = makeFontsConf { fontDirectories = [ "${texmfroot}/texmf-dist/fonts" ]; }; - - fmtutilCnf = assembleConfigLines fmtutilLines pkgList.sortedFormatPkgs; - updmapCfg = assembleConfigLines updmapLines pkgList.sortedFontMaps; - - languageDat = assembleConfigLines langDatLines pkgList.sortedHyphenPatterns; - languageDef = assembleConfigLines langDefLines pkgList.sortedHyphenPatterns; - languageLua = assembleConfigLines langLuaLines pkgList.sortedHyphenPatterns; - - postactionScripts = builtins.catAttrs "postactionScript" pkgList.tlpkg; - - postBuild = '' - . "${./build-tex-env.sh}" - ''; - - allowSubstitutes = true; - preferLocalBuild = false; -}; + withPackages = + reqs: + self ( + args + // { + requiredTeXPackages = ps: reqs ps ++ requiredTeXPackages ps; + __fromCombineWrapper = false; + } + ); + }; + + # TeXLive::TLOBJ::fmtutil_cnf_lines + fmtutilLine = + { + name, + engine, + enabled ? true, + patterns ? [ "-" ], + options ? "", + ... + }: + lib.optionalString (!enabled) "#! " + + "${name} ${engine} ${lib.concatStringsSep "," patterns} ${options}"; + fmtutilLines = + { pname, formats, ... }: + [ + "#" + "# from ${pname}:" + ] + ++ map fmtutilLine formats; + + # TeXLive::TLOBJ::language_dat_lines + langDatLine = + { + name, + file, + synonyms ? [ ], + ... + }: + [ "${name} ${file}" ] ++ map (s: "=" + s) synonyms; + langDatLines = + { pname, hyphenPatterns, ... }: + [ "% from ${pname}:" ] ++ builtins.concatMap langDatLine hyphenPatterns; + + # TeXLive::TLOBJ::language_def_lines + # see TeXLive::TLUtils::parse_AddHyphen_line for default values + langDefLine = + { + name, + file, + lefthyphenmin ? "", + righthyphenmin ? "", + synonyms ? [ ], + ... + }: + map ( + n: + "\\addlanguage{${n}}{${file}}{}{${if lefthyphenmin == "" then "2" else lefthyphenmin}}{${ + if righthyphenmin == "" then "3" else righthyphenmin + }}" + ) ([ name ] ++ synonyms); + langDefLines = + { pname, hyphenPatterns, ... }: + [ "% from ${pname}:" ] ++ builtins.concatMap langDefLine hyphenPatterns; + + # TeXLive::TLOBJ::language_lua_lines + # see TeXLive::TLUtils::parse_AddHyphen_line for default values + langLuaLine = + { + name, + file, + lefthyphenmin ? "", + righthyphenmin ? "", + synonyms ? [ ], + ... + }@args: + '' + ''\t['${name}'] = { + ''\t''\tloader = '${file}', + ''\t''\tlefthyphenmin = ${if lefthyphenmin == "" then "2" else lefthyphenmin}, + ''\t''\trighthyphenmin = ${if righthyphenmin == "" then "3" else righthyphenmin}, + ''\t''\tsynonyms = { ${lib.concatStringsSep ", " (map (s: "'${s}'") synonyms)} }, + '' + + lib.optionalString (args ? file_patterns) "\t\tpatterns = '${args.file_patterns}',\n" + + lib.optionalString (args ? file_exceptions) "\t\thyphenation = '${args.file_exceptions}',\n" + + lib.optionalString (args ? luaspecial) "\t\tspecial = '${args.luaspecial}',\n" + + "\t},"; + langLuaLines = + { pname, hyphenPatterns, ... }: [ "-- from ${pname}:" ] ++ map langLuaLine hyphenPatterns; + + assembleConfigLines = f: packages: builtins.concatStringsSep "\n" (builtins.concatMap f packages); + + updmapLines = { pname, fontMaps, ... }: [ "# from ${pname}:" ] ++ fontMaps; + + out = + # no indent for git diff purposes + buildEnv' { + + inherit name; + + # use attrNames, attrValues to ensure the two lists are sorted in the same way + outputs = [ + "out" + ] ++ lib.optionals (!__combine && __formatsOf == null) (builtins.attrNames nonEnvOutputs); + otherOutputs = lib.optionals (!__combine && __formatsOf == null) ( + builtins.attrValues nonEnvOutputs + ); + + # remove fake derivations (without 'outPath') to avoid undesired build dependencies + paths = + builtins.catAttrs "outPath" pkgList.bin + ++ lib.optionals (!__combine && __formatsOf == null) pkgList.formats + ++ lib.optional __combine doc; + pathsToLink = [ + "/" + "/share/texmf-var/scripts" + "/share/texmf-var/tex/generic/config" + "/share/texmf-var/web2c" + "/share/texmf-config" + "/bin" # ensure these are writeable directories + ]; + + nativeBuildInputs = [ + makeWrapper + libfaketime + tl."texlive.infra" # mktexlsr + tl.texlive-scripts # fmtutil, updmap + tl.texlive-scripts-extra # texlinks + perl + ]; + + buildInputs = [ + coreutils + gawk + gnugrep + gnused + ] ++ lib.optional needsGhostscript ghostscript; + + inherit meta passthru __combine; + __formatsOf = __formatsOf.pname or null; + + inherit texmfdist texmfroot; + + fontconfigFile = makeFontsConf { fontDirectories = [ "${texmfroot}/texmf-dist/fonts" ]; }; + + fmtutilCnf = assembleConfigLines fmtutilLines pkgList.sortedFormatPkgs; + updmapCfg = assembleConfigLines updmapLines pkgList.sortedFontMaps; + + languageDat = assembleConfigLines langDatLines pkgList.sortedHyphenPatterns; + languageDef = assembleConfigLines langDefLines pkgList.sortedHyphenPatterns; + languageLua = assembleConfigLines langLuaLines pkgList.sortedHyphenPatterns; + + postactionScripts = builtins.catAttrs "postactionScript" pkgList.tlpkg; + + postBuild = '' + . "${./build-tex-env.sh}" + ''; + + allowSubstitutes = true; + preferLocalBuild = false; + }; + in # outputsToInstall must be set *after* overrideAttrs (used in buildEnv') or it fails the checkMeta tests -in if __combine || __formatsOf != null then out else lib.addMetaAttrs { inherit (pkgList) outputsToInstall; } out) + if __combine || __formatsOf != null then + out + else + lib.addMetaAttrs { inherit (pkgList) outputsToInstall; } out +) diff --git a/pkgs/tools/typesetting/tex/texlive/combine-wrapper.nix b/pkgs/tools/typesetting/tex/texlive/combine-wrapper.nix index 165e7a22c6612..8401de2730441 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine-wrapper.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine-wrapper.nix @@ -1,35 +1,71 @@ # legacy texlive.combine wrapper -{ lib, toTLPkgList, toTLPkgSets, buildTeXEnv }: +{ + lib, + toTLPkgList, + toTLPkgSets, + buildTeXEnv, +}: args@{ - pkgFilter ? (pkg: pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "core" - || pkg.hasManpages or false) -, extraName ? "combined" -, extraVersion ? "" -, ... + pkgFilter ? ( + pkg: pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "core" || pkg.hasManpages or false + ), + extraName ? "combined", + extraVersion ? "", + ... }: let - pkgSet = removeAttrs args [ "pkgFilter" "extraName" "extraVersion" ]; + pkgSet = removeAttrs args [ + "pkgFilter" + "extraName" + "extraVersion" + ]; # combine a set of TL packages into a single TL meta-package - combinePkgs = pkgList: lib.catAttrs "pkg" ( - let - # a TeX package used to be an attribute set { pkgs = [ ... ]; ... } where pkgs is a list of derivations - # the derivations make up the TeX package and optionally (for backward compatibility) its dependencies - tlPkgToSets = drv: map ({ tlType, version ? "", outputName ? "", ... }@pkg: { - # outputName required to distinguish among bin.core-big outputs - key = "${pkg.pname or pkg.name}.${tlType}-${version}-${outputName}"; - inherit pkg; - }) (drv.pkgs or (toTLPkgList drv)); - pkgListToSets = lib.concatMap tlPkgToSets; in - builtins.genericClosure { - startSet = pkgListToSets pkgList; - operator = { pkg, ... }: pkgListToSets (pkg.tlDeps or []); - }); + combinePkgs = + pkgList: + lib.catAttrs "pkg" ( + let + # a TeX package used to be an attribute set { pkgs = [ ... ]; ... } where pkgs is a list of derivations + # the derivations make up the TeX package and optionally (for backward compatibility) its dependencies + tlPkgToSets = + drv: + map ( + { + tlType, + version ? "", + outputName ? "", + ... + }@pkg: + { + # outputName required to distinguish among bin.core-big outputs + key = "${pkg.pname or pkg.name}.${tlType}-${version}-${outputName}"; + inherit pkg; + } + ) (drv.pkgs or (toTLPkgList drv)); + pkgListToSets = lib.concatMap tlPkgToSets; + in + builtins.genericClosure { + startSet = pkgListToSets pkgList; + operator = { pkg, ... }: pkgListToSets (pkg.tlDeps or [ ]); + } + ); combined = combinePkgs (lib.attrValues pkgSet); # convert to specified outputs - tlTypeToOut = { run = "tex"; doc = "texdoc"; source = "texsource"; bin = "out"; tlpkg = "tlpkg"; }; - toSpecified = { tlType, ... }@drv: drv // { outputSpecified = true; tlOutputName = tlTypeToOut.${tlType}; }; + tlTypeToOut = { + run = "tex"; + doc = "texdoc"; + source = "texsource"; + bin = "out"; + tlpkg = "tlpkg"; + }; + toSpecified = + { tlType, ... }@drv: + drv + // { + outputSpecified = true; + tlOutputName = tlTypeToOut.${tlType}; + }; all = lib.filter pkgFilter combined ++ lib.filter (pkg: pkg.tlType == "tlpkg") combined; converted = builtins.map toSpecified all; in diff --git a/pkgs/tools/typesetting/tex/texlive/generate-fixed-hashes.nix b/pkgs/tools/typesetting/tex/texlive/generate-fixed-hashes.nix index 0cff459bc620b..3e0a8eefd277a 100644 --- a/pkgs/tools/typesetting/tex/texlive/generate-fixed-hashes.nix +++ b/pkgs/tools/typesetting/tex/texlive/generate-fixed-hashes.nix @@ -1,7 +1,14 @@ -{ pkgs ? (import ../../../../.. { }) }: +{ + pkgs ? (import ../../../../.. { }), +}: let - inherit (pkgs) runCommand writeText texlive nix; + inherit (pkgs) + runCommand + writeText + texlive + nix + ; inherit (pkgs.lib) attrValues concatMap @@ -14,7 +21,9 @@ let strings ; - getFods = drv: optional (isDerivation drv.tex) (drv.tex // { tlType = "run"; }) + getFods = + drv: + optional (isDerivation drv.tex) (drv.tex // { tlType = "run"; }) ++ optional (drv ? texdoc) (drv.texdoc // { tlType = "doc"; }) ++ optional (drv ? texsource) (drv.texsource // { tlType = "source"; }) ++ optional (drv ? tlpkg) (drv.tlpkg // { tlType = "tlpkg"; }); @@ -22,16 +31,24 @@ let sorted = sort (a: b: a.pname < b.pname) (attrValues texlive.pkgs); fods = concatMap getFods sorted; - computeHash = fod: runCommand "${fod.pname}-${fod.tlType}-fixed-hash" - { buildInputs = [ nix ]; inherit fod; } - ''echo -n "$(nix-hash --base32 --type sha256 "$fod")" >"$out"''; + computeHash = + fod: + runCommand "${fod.pname}-${fod.tlType}-fixed-hash" { + buildInputs = [ nix ]; + inherit fod; + } ''echo -n "$(nix-hash --base32 --type sha256 "$fod")" >"$out"''; hash = fod: fod.outputHash or (builtins.readFile (computeHash fod)); - hashes = fods: - concatMapStrings ({ tlType, ... }@p: ''${tlType}="${hash p}";'') fods; + hashes = fods: concatMapStrings ({ tlType, ... }@p: ''${tlType}="${hash p}";'') fods; - hashLine = { pname, revision, extraRevision ? "", ... }@drv: + hashLine = + { + pname, + revision, + extraRevision ? "", + ... + }@drv: let fods = getFods drv; # NOTE: the fixed naming scheme must match default.nix @@ -44,11 +61,10 @@ in { # fixedHashesNix uses 'import from derivation' which does not parallelize well # you should build newHashes first, before evaluating (and building) fixedHashesNix - newHashes = map computeHash (filter (fod: ! fod ? outputHash) fods); + newHashes = map computeHash (filter (fod: !fod ? outputHash) fods); - fixedHashesNix = writeText "fixed-hashes.nix" - '' - { - ${concatMapStrings hashLine sorted}} - ''; + fixedHashesNix = writeText "fixed-hashes.nix" '' + { + ${concatMapStrings hashLine sorted}} + ''; } diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix index bdee4510e4cd3..78c2716b88564 100644 --- a/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix +++ b/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix @@ -1,7 +1,27 @@ -{ stdenv, lib, tlpdb, bin, tlpdbxz, tl -, installShellFiles -, coreutils, findutils, gawk, getopt, ghostscript_headless, gnugrep -, gnumake, gnupg, gnused, gzip, html-tidy, ncurses, perl, python3, ruby, zip +{ + stdenv, + lib, + tlpdb, + bin, + tlpdbxz, + tl, + installShellFiles, + coreutils, + findutils, + gawk, + getopt, + ghostscript_headless, + gnugrep, + gnumake, + gnupg, + gnused, + gzip, + html-tidy, + ncurses, + perl, + python3, + ruby, + zip, }: oldTlpdb: @@ -9,20 +29,33 @@ oldTlpdb: let tlpdbVersion = tlpdb."00texlive.config"; - # most format -> engine links are generated by texlinks according to fmtutil.cnf at combine time - # so we remove them from binfiles, and add back the ones texlinks purposefully ignore (e.g. mptopdf) - removeFormatLinks = lib.mapAttrs (_: attrs: - if (attrs ? formats && attrs ? binfiles) - # TLPDB reports erroneously that various metafont binaries like "mf" are format links to engines - # like "mf-nowin"; core-big provides both binaries and links so we simply skip them here - then let formatLinks = lib.catAttrs "name" (lib.filter (f: f.name != f.engine && ! lib.hasSuffix "-nowin" f.engine) attrs.formats); - binNotFormats = lib.subtractLists formatLinks attrs.binfiles; - in if binNotFormats != [] then attrs // { binfiles = binNotFormats; } else removeAttrs attrs [ "binfiles" ] - else attrs); - - orig = removeFormatLinks (removeAttrs oldTlpdb [ "00texlive.config" ]); - -in lib.recursiveUpdate orig rec { + # most format -> engine links are generated by texlinks according to fmtutil.cnf at combine time + # so we remove them from binfiles, and add back the ones texlinks purposefully ignore (e.g. mptopdf) + removeFormatLinks = lib.mapAttrs ( + _: attrs: + if + (attrs ? formats && attrs ? binfiles) + # TLPDB reports erroneously that various metafont binaries like "mf" are format links to engines + # like "mf-nowin"; core-big provides both binaries and links so we simply skip them here + then + let + formatLinks = lib.catAttrs "name" ( + lib.filter (f: f.name != f.engine && !lib.hasSuffix "-nowin" f.engine) attrs.formats + ); + binNotFormats = lib.subtractLists formatLinks attrs.binfiles; + in + if binNotFormats != [ ] then + attrs // { binfiles = binNotFormats; } + else + removeAttrs attrs [ "binfiles" ] + else + attrs + ); + + orig = removeFormatLinks (removeAttrs oldTlpdb [ "00texlive.config" ]); + +in +lib.recursiveUpdate orig rec { #### overrides of texlive.tlpdb #### nonstandard script folders @@ -44,15 +77,53 @@ in lib.recursiveUpdate orig rec { texlogsieve.extraBuildInputs = [ bin.luatex ]; #### perl packages - crossrefware.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ LWP URI ])) ]; - ctan-o-mat.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ LWP LWPProtocolHttps ])) ]; + crossrefware.extraBuildInputs = [ + (perl.withPackages ( + ps: with ps; [ + LWP + URI + ] + )) + ]; + ctan-o-mat.extraBuildInputs = [ + (perl.withPackages ( + ps: with ps; [ + LWP + LWPProtocolHttps + ] + )) + ]; ctanify.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ FileCopyRecursive ])) ]; - ctanupload.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ HTMLFormatter WWWMechanize ])) ]; + ctanupload.extraBuildInputs = [ + (perl.withPackages ( + ps: with ps; [ + HTMLFormatter + WWWMechanize + ] + )) + ]; exceltex.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ SpreadsheetParseExcel ])) ]; latex-git-log.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ IPCSystemSimple ])) ]; - latexindent.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ FileHomeDir LogDispatch LogLog4perl UnicodeLineBreak YAMLTiny ])) ]; + latexindent.extraBuildInputs = [ + (perl.withPackages ( + ps: with ps; [ + FileHomeDir + LogDispatch + LogLog4perl + UnicodeLineBreak + YAMLTiny + ] + )) + ]; pax.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ FileWhich ])) ]; - pdflatexpicscale.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ GD ImageExifTool ])) ]; + pdflatexpicscale.extraBuildInputs = [ + (perl.withPackages ( + ps: with ps; [ + GD + ImageExifTool + ] + )) + ]; ptex-fontmaps.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ Tk ])) ]; purifyeps.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ FileWhich ])) ]; sqltex.extraBuildInputs = [ (perl.withPackages (ps: with ps; [ DBI ])) ]; @@ -69,34 +140,81 @@ in lib.recursiveUpdate orig rec { bibexport.extraBuildInputs = [ gnugrep ]; checklistings.extraBuildInputs = [ coreutils ]; cjk-gs-integrate.extraBuildInputs = [ ghostscript_headless ]; - cyrillic-bin.extraBuildInputs = [ coreutils gnused ]; - dtxgen.extraBuildInputs = [ coreutils getopt gnumake zip ]; + cyrillic-bin.extraBuildInputs = [ + coreutils + gnused + ]; + dtxgen.extraBuildInputs = [ + coreutils + getopt + gnumake + zip + ]; dviljk.extraBuildInputs = [ coreutils ]; epspdf.extraBuildInputs = [ ghostscript_headless ]; epstopdf.extraBuildInputs = [ ghostscript_headless ]; fragmaster.extraBuildInputs = [ ghostscript_headless ]; - installfont.extraBuildInputs = [ coreutils getopt gnused ]; - latexfileversion.extraBuildInputs = [ coreutils gnugrep gnused ]; - listings-ext.extraBuildInputs = [ coreutils getopt ]; - ltxfileinfo.extraBuildInputs = [ coreutils getopt gnused ]; + installfont.extraBuildInputs = [ + coreutils + getopt + gnused + ]; + latexfileversion.extraBuildInputs = [ + coreutils + gnugrep + gnused + ]; + listings-ext.extraBuildInputs = [ + coreutils + getopt + ]; + ltxfileinfo.extraBuildInputs = [ + coreutils + getopt + gnused + ]; ltximg.extraBuildInputs = [ ghostscript_headless ]; luaotfload.extraBuildInputs = [ ncurses ]; - makeindex.extraBuildInputs = [ coreutils gnused ]; - pagelayout.extraBuildInputs = [ gnused ncurses ]; + makeindex.extraBuildInputs = [ + coreutils + gnused + ]; + pagelayout.extraBuildInputs = [ + gnused + ncurses + ]; pdfcrop.extraBuildInputs = [ ghostscript_headless ]; - pdftex.extraBuildInputs = [ coreutils ghostscript_headless gnused ]; + pdftex.extraBuildInputs = [ + coreutils + ghostscript_headless + gnused + ]; pdftex-quiet.extraBuildInputs = [ coreutils ]; - pdfxup.extraBuildInputs = [ coreutils ghostscript_headless ]; + pdfxup.extraBuildInputs = [ + coreutils + ghostscript_headless + ]; pkfix-helper.extraBuildInputs = [ ghostscript_headless ]; ps2eps.extraBuildInputs = [ ghostscript_headless ]; pst2pdf.extraBuildInputs = [ ghostscript_headless ]; tex4ebook.extraBuildInputs = [ html-tidy ]; texlive-scripts.extraBuildInputs = [ gnused ]; - texlive-scripts-extra.extraBuildInputs = [ coreutils findutils ghostscript_headless gnused ]; + texlive-scripts-extra.extraBuildInputs = [ + coreutils + findutils + ghostscript_headless + gnused + ]; thumbpdf.extraBuildInputs = [ ghostscript_headless ]; tpic2pdftex.extraBuildInputs = [ gawk ]; - wordcount.extraBuildInputs = [ coreutils gnugrep ]; - xdvi.extraBuildInputs = [ coreutils gnugrep ]; + wordcount.extraBuildInputs = [ + coreutils + gnugrep + ]; + xdvi.extraBuildInputs = [ + coreutils + gnugrep + ]; xindy.extraBuildInputs = [ gzip ]; #### adjustments to binaries @@ -104,14 +222,13 @@ in lib.recursiveUpdate orig rec { # mptopdf is a format link, but not generated by texlinks # so we add it back to binfiles to generate it from mkPkgBin - mptopdf.binfiles = (orig.mptopdf.binfiles or []) ++ [ "mptopdf" ]; + mptopdf.binfiles = (orig.mptopdf.binfiles or [ ]) ++ [ "mptopdf" ]; # remove man texlive-scripts.binfiles = lib.remove "man" orig.texlive-scripts.binfiles; # xindy is broken on some platforms unfortunately - xindy.binfiles = if bin ? xindy - then lib.subtractLists [ "xindy.mem" "xindy.run" ] orig.xindy.binfiles - else []; + xindy.binfiles = + if bin ? xindy then lib.subtractLists [ "xindy.mem" "xindy.run" ] orig.xindy.binfiles else [ ]; #### additional symlinks cluttex.binlinks = { @@ -233,8 +350,15 @@ in lib.recursiveUpdate orig rec { ''; pdftex.postFixup = '' - sed -i -e '2iPATH="${lib.makeBinPath [ coreutils gnused ]}''${PATH:+:$PATH}"' \ - -e 's!^distillerpath="/usr/local/bin"$!distillerpath="${lib.makeBinPath [ ghostscript_headless ]}"!' \ + sed -i -e '2iPATH="${ + lib.makeBinPath [ + coreutils + gnused + ] + }''${PATH:+:$PATH}"' \ + -e 's!^distillerpath="/usr/local/bin"$!distillerpath="${ + lib.makeBinPath [ ghostscript_headless ] + }"!' \ "$out"/bin/simpdftex ''; @@ -319,10 +443,25 @@ in lib.recursiveUpdate orig rec { texlive-scripts-extra.postFixup = '' patch -R "$out"/bin/texlinks < '${./texlinks.diff}' sed -i '2iPATH="${lib.makeBinPath [ coreutils ]}''${PATH:+:$PATH}"' "$out"/bin/{allcm,dvired,mkocp,ps2frag} - sed -i '2iPATH="${lib.makeBinPath [ coreutils findutils ]}''${PATH:+:$PATH}"' "$out"/bin/allneeded - sed -i '2iPATH="${lib.makeBinPath [ coreutils ghostscript_headless ]}''${PATH:+:$PATH}"' "$out"/bin/dvi2fax + sed -i '2iPATH="${ + lib.makeBinPath [ + coreutils + findutils + ] + }''${PATH:+:$PATH}"' "$out"/bin/allneeded + sed -i '2iPATH="${ + lib.makeBinPath [ + coreutils + ghostscript_headless + ] + }''${PATH:+:$PATH}"' "$out"/bin/dvi2fax sed -i '2iPATH="${lib.makeBinPath [ gnused ]}''${PATH:+:$PATH}"' "$out"/bin/{kpsetool,texconfig,texconfig-sys} - sed -i '2iPATH="${lib.makeBinPath [ coreutils gnused ]}''${PATH:+:$PATH}"' "$out"/bin/texconfig-dialog + sed -i '2iPATH="${ + lib.makeBinPath [ + coreutils + gnused + ] + }''${PATH:+:$PATH}"' "$out"/bin/texconfig-dialog ''; # patch interpreter @@ -333,7 +472,9 @@ in lib.recursiveUpdate orig rec { # hardcode revision numbers (since texlive.infra, tlshell are not in either system or user texlive.tlpdb) tlshell.postFixup = '' substituteInPlace "$out"/bin/tlshell \ - --replace-fail '[dict get $::pkgs texlive.infra localrev]' '${toString orig."texlive.infra".revision}' \ + --replace-fail '[dict get $::pkgs texlive.infra localrev]' '${ + toString orig."texlive.infra".revision + }' \ --replace-fail '[dict get $::pkgs tlshell localrev]' '${toString orig.tlshell.revision}' ''; @@ -353,9 +494,9 @@ in lib.recursiveUpdate orig rec { #### misc # RISC-V: https://github.com/LuaJIT/LuaJIT/issues/628 - luajittex.binfiles = lib.optionals - (!(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) && !stdenv.hostPlatform.isRiscV) - orig.luajittex.binfiles; + luajittex.binfiles = lib.optionals ( + !(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) && !stdenv.hostPlatform.isRiscV + ) orig.luajittex.binfiles; # osda is unfree. Hence, we can't include it by default collection-publishers.deps = builtins.filter (dep: dep != "osda") orig.collection-publishers.deps; @@ -401,17 +542,30 @@ in lib.recursiveUpdate orig rec { extraVersion = "-tlpdb-${toString tlpdbVersion.revision}"; # add license of tlmgr and TeXLive::* perl packages and of bin.core - license = [ "gpl2Plus" ] ++ lib.toList bin.core.meta.license.shortName ++ orig."texlive.infra".license or [ ]; + license = + [ "gpl2Plus" ] ++ lib.toList bin.core.meta.license.shortName ++ orig."texlive.infra".license or [ ]; scriptsFolder = "texlive"; - extraBuildInputs = [ coreutils gnused gnupg tl.kpathsea (perl.withPackages (ps: with ps; [ Tk ])) ]; + extraBuildInputs = [ + coreutils + gnused + gnupg + tl.kpathsea + (perl.withPackages (ps: with ps; [ Tk ])) + ]; # make tlmgr believe it can use kpsewhich to evaluate TEXMFROOT postFixup = '' substituteInPlace "$out"/bin/tlmgr \ --replace-fail 'if (-r "$bindir/$kpsewhichname")' 'if (1)' sed -i '2i$ENV{PATH}='"'"'${lib.makeBinPath [ gnupg ]}'"'"' . ($ENV{PATH} ? ":$ENV{PATH}" : '"'''"');' "$out"/bin/tlmgr - sed -i '2iPATH="${lib.makeBinPath [ coreutils gnused tl.kpathsea ]}''${PATH:+:$PATH}"' "$out"/bin/mktexlsr + sed -i '2iPATH="${ + lib.makeBinPath [ + coreutils + gnused + tl.kpathsea + ] + }''${PATH:+:$PATH}"' "$out"/bin/mktexlsr ''; # add minimal texlive.tlpdb diff --git a/pkgs/tools/typesetting/tex/texpresso/default.nix b/pkgs/tools/typesetting/tex/texpresso/default.nix index 73c111bd22b04..c5a5fad4046f2 100644 --- a/pkgs/tools/typesetting/tex/texpresso/default.nix +++ b/pkgs/tools/typesetting/tex/texpresso/default.nix @@ -1,18 +1,19 @@ -{ stdenv -, lib -, fetchFromGitHub -, makeWrapper -, writeScript -, mupdf -, SDL2 -, re2c -, freetype -, jbig2dec -, harfbuzz -, openjpeg -, gumbo -, libjpeg -, texpresso-tectonic +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + writeScript, + mupdf, + SDL2, + re2c, + freetype, + jbig2dec, + harfbuzz, + openjpeg, + gumbo, + libjpeg, + texpresso-tectonic, }: stdenv.mkDerivation rec { @@ -47,9 +48,11 @@ stdenv.mkDerivation rec { buildFlags = [ "texpresso" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.isDarwin [ - "-Wno-error=implicit-function-declaration" - ]); + env.NIX_CFLAGS_COMPILE = toString ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "-Wno-error=implicit-function-declaration" + ] + ); installPhase = '' runHook preInstall diff --git a/pkgs/tools/typesetting/tex/texpresso/tectonic.nix b/pkgs/tools/typesetting/tex/texpresso/tectonic.nix index 34df5c5ed1f40..27eff6e0f662e 100644 --- a/pkgs/tools/typesetting/tex/texpresso/tectonic.nix +++ b/pkgs/tools/typesetting/tex/texpresso/tectonic.nix @@ -1,19 +1,24 @@ { tectonic-unwrapped, fetchFromGitHub }: tectonic-unwrapped.override (old: { rustPlatform = old.rustPlatform // { - buildRustPackage = args: old.rustPlatform.buildRustPackage (args // { - pname = "texpresso-tonic"; - src = fetchFromGitHub { - owner = "let-def"; - repo = "tectonic"; - rev = "5b844105c06e0b16e40b1254359f8c28e8956280"; - hash = "sha256-RPsXmp+5MF9h+H3wdL1O1hXSRZWjWTY8lXq/dWZIM1g="; - fetchSubmodules = true; - }; - cargoHash = "sha256-g4iBo8r+QUOcFJ3CI2+HOi4VHxU7jKnIWlJcKx/6r5E="; - # binary has a different name, bundled tests won't work - doCheck = false; - meta.mainProgram = "texpresso-tonic"; - }); + buildRustPackage = + args: + old.rustPlatform.buildRustPackage ( + args + // { + pname = "texpresso-tonic"; + src = fetchFromGitHub { + owner = "let-def"; + repo = "tectonic"; + rev = "5b844105c06e0b16e40b1254359f8c28e8956280"; + hash = "sha256-RPsXmp+5MF9h+H3wdL1O1hXSRZWjWTY8lXq/dWZIM1g="; + fetchSubmodules = true; + }; + cargoHash = "sha256-g4iBo8r+QUOcFJ3CI2+HOi4VHxU7jKnIWlJcKx/6r5E="; + # binary has a different name, bundled tests won't work + doCheck = false; + meta.mainProgram = "texpresso-tonic"; + } + ); }; }) diff --git a/pkgs/tools/typesetting/tikzit/default.nix b/pkgs/tools/typesetting/tikzit/default.nix index e6402deaa96b1..5b5ae38e95e3c 100644 --- a/pkgs/tools/typesetting/tikzit/default.nix +++ b/pkgs/tools/typesetting/tikzit/default.nix @@ -1,4 +1,14 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qttools, qtbase, poppler, flex, bison }: +{ + lib, + mkDerivation, + fetchFromGitHub, + qmake, + qttools, + qtbase, + poppler, + flex, + bison, +}: mkDerivation { pname = "tikzit"; @@ -11,8 +21,16 @@ mkDerivation { sha256 = "0ba99pgv54pj1xvhrwn9db2w0v4h07vsjajcnhpa2smy88ypg32h"; }; - nativeBuildInputs = [ qmake qttools flex bison ]; - buildInputs = [ qtbase poppler ]; + nativeBuildInputs = [ + qmake + qttools + flex + bison + ]; + buildInputs = [ + qtbase + poppler + ]; # src/data/tikzlexer.l:29:10: fatal error: tikzparser.parser.hpp: No such file or directory enableParallelBuilding = false; @@ -28,7 +46,10 @@ mkDerivation { homepage = "https://tikzit.github.io/"; license = licenses.gpl3Plus; platforms = platforms.all; - maintainers = [ maintainers.iblech maintainers.mgttlinger ]; + maintainers = [ + maintainers.iblech + maintainers.mgttlinger + ]; mainProgram = "tikzit"; }; } diff --git a/pkgs/tools/video/atomicparsley/default.nix b/pkgs/tools/video/atomicparsley/default.nix index 24c11d8695d66..3b5ccde7979e8 100644 --- a/pkgs/tools/video/atomicparsley/default.nix +++ b/pkgs/tools/video/atomicparsley/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, zlib, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + zlib, + Cocoa, +}: stdenv.mkDerivation rec { pname = "atomicparsley"; @@ -13,8 +20,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; + buildInputs = [ zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Cocoa ]; installPhase = '' runHook preInstall diff --git a/pkgs/tools/video/swftools/default.nix b/pkgs/tools/video/swftools/default.nix index c48d684d3fcc0..85ada19739dec 100644 --- a/pkgs/tools/video/swftools/default.nix +++ b/pkgs/tools/video/swftools/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, freetype, libjpeg, zlib }: +{ + lib, + stdenv, + fetchurl, + freetype, + libjpeg, + zlib, +}: stdenv.mkDerivation rec { pname = "swftools"; @@ -11,7 +18,11 @@ stdenv.mkDerivation rec { patches = [ ./swftools.patch ]; - buildInputs = [ freetype libjpeg zlib ]; + buildInputs = [ + freetype + libjpeg + zlib + ]; meta = with lib; { description = "Collection of SWF manipulation and creation utilities"; diff --git a/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix b/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix index b0327b2b60520..050f93a052a65 100644 --- a/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix +++ b/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchPypi, boto3, cryptography }: +{ + lib, + buildPythonPackage, + fetchPypi, + boto3, + cryptography, +}: buildPythonPackage rec { pname = "ec2instanceconnectcli"; @@ -9,7 +15,10 @@ buildPythonPackage rec { hash = "sha256-/U59a6od0JI27VHX+Bvue/7tQy+iwU+g8yt9/GgdoH4="; }; - propagatedBuildInputs = [ boto3 cryptography ]; + propagatedBuildInputs = [ + boto3 + cryptography + ]; # has no tests doCheck = false; diff --git a/pkgs/tools/virtualization/google-compute-engine/default.nix b/pkgs/tools/virtualization/google-compute-engine/default.nix index a745a2e39d56b..d08d2c1eaf695 100644 --- a/pkgs/tools/virtualization/google-compute-engine/default.nix +++ b/pkgs/tools/virtualization/google-compute-engine/default.nix @@ -1,11 +1,12 @@ -{ lib -, fetchFromGitHub -, buildPythonPackage -, bash -, bashInteractive -, util-linux -, setuptools -, distro +{ + lib, + fetchFromGitHub, + buildPythonPackage, + bash, + bashInteractive, + util-linux, + setuptools, + distro, }: buildPythonPackage rec { @@ -20,7 +21,10 @@ buildPythonPackage rec { }; buildInputs = [ bash ]; - propagatedBuildInputs = [ setuptools distro ]; + propagatedBuildInputs = [ + setuptools + distro + ]; postPatch = '' for file in $(find google_compute_engine -type f); do diff --git a/pkgs/tools/virtualization/supermin/default.nix b/pkgs/tools/virtualization/supermin/default.nix index b7600f6bb898f..4c55b39097981 100644 --- a/pkgs/tools/virtualization/supermin/default.nix +++ b/pkgs/tools/virtualization/supermin/default.nix @@ -1,6 +1,13 @@ -{ lib, stdenv, fetchurl -, cpio, e2fsprogs, perl, pkg-config, ocamlPackages -, glibc +{ + lib, + stdenv, + fetchurl, + cpio, + e2fsprogs, + perl, + pkg-config, + ocamlPackages, + glibc, }: stdenv.mkDerivation (finalAttrs: { @@ -12,9 +19,21 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "zjkh02NcgWjPt8oMWoK51c71srJx+Et3bWO4u77sNY4="; }; - nativeBuildInputs = [ cpio e2fsprogs perl pkg-config ] - ++ (with ocamlPackages; [ findlib ocaml ]); - buildInputs = lib.optionals stdenv.hostPlatform.isGnu [ glibc glibc.static ]; + nativeBuildInputs = + [ + cpio + e2fsprogs + perl + pkg-config + ] + ++ (with ocamlPackages; [ + findlib + ocaml + ]); + buildInputs = lib.optionals stdenv.hostPlatform.isGnu [ + glibc + glibc.static + ]; postPatch = '' patchShebangs src/bin2c.pl diff --git a/pkgs/tools/wayland/swaytools/default.nix b/pkgs/tools/wayland/swaytools/default.nix index c6aa46864e9a6..3f994ef03eb27 100644 --- a/pkgs/tools/wayland/swaytools/default.nix +++ b/pkgs/tools/wayland/swaytools/default.nix @@ -1,4 +1,10 @@ -{ lib, setuptools, buildPythonApplication, fetchFromGitHub, slurp }: +{ + lib, + setuptools, + buildPythonApplication, + fetchFromGitHub, + slurp, +}: buildPythonApplication rec { pname = "swaytools"; diff --git a/pkgs/tools/wayland/xwaylandvideobridge/default.nix b/pkgs/tools/wayland/xwaylandvideobridge/default.nix index f87e678bdba98..fcc46987c74a3 100644 --- a/pkgs/tools/wayland/xwaylandvideobridge/default.nix +++ b/pkgs/tools/wayland/xwaylandvideobridge/default.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl -, cmake -, extra-cmake-modules -, pkg-config -, qtbase -, qtdeclarative -, qtx11extras ? null # qt5 only -, kcoreaddons -, ki18n -, knotifications -, kpipewire -, kstatusnotifieritem ? null # qt6 only -, kwindowsystem -, wrapQtAppsHook +{ + lib, + stdenv, + fetchurl, + cmake, + extra-cmake-modules, + pkg-config, + qtbase, + qtdeclarative, + qtx11extras ? null, # qt5 only + kcoreaddons, + ki18n, + knotifications, + kpipewire, + kstatusnotifieritem ? null, # qt6 only + kwindowsystem, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { @@ -44,12 +45,16 @@ stdenv.mkDerivation (finalAttrs: { kwindowsystem ]; - cmakeFlags = ["-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}"]; + cmakeFlags = [ "-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}" ]; meta = { description = "Utility to allow streaming Wayland windows to X applications"; homepage = "https://invent.kde.org/system/xwaylandvideobridge"; - license = with lib.licenses; [ bsd3 cc0 gpl2Plus ]; + license = with lib.licenses; [ + bsd3 + cc0 + gpl2Plus + ]; maintainers = with lib.maintainers; [ stepbrobd ]; platforms = lib.platforms.linux; mainProgram = "xwaylandvideobridge"; diff --git a/pkgs/top-level/agda-packages.nix b/pkgs/top-level/agda-packages.nix index 9cde235a1be3a..c3b055dd37859 100644 --- a/pkgs/top-level/agda-packages.nix +++ b/pkgs/top-level/agda-packages.nix @@ -1,41 +1,54 @@ -{ pkgs, lib, newScope, Agda }: +{ + pkgs, + lib, + newScope, + Agda, +}: let mkAgdaPackages = Agda: lib.makeScope newScope (mkAgdaPackages' Agda); - mkAgdaPackages' = Agda: self: let - inherit (self) callPackage; - inherit (callPackage ../build-support/agda { - inherit Agda self; - inherit (pkgs.haskellPackages) ghcWithPackages; - }) withPackages mkLibraryFile mkDerivation; - in { - inherit mkLibraryFile mkDerivation; + mkAgdaPackages' = + Agda: self: + let + inherit (self) callPackage; + inherit + (callPackage ../build-support/agda { + inherit Agda self; + inherit (pkgs.haskellPackages) ghcWithPackages; + }) + withPackages + mkLibraryFile + mkDerivation + ; + in + { + inherit mkLibraryFile mkDerivation; - lib = lib.extend (final: prev: import ../build-support/agda/lib.nix { lib = prev; }); + lib = lib.extend (final: prev: import ../build-support/agda/lib.nix { lib = prev; }); - agda = withPackages []; + agda = withPackages [ ]; - standard-library = callPackage ../development/libraries/agda/standard-library { - inherit (pkgs.haskellPackages) ghcWithPackages; - }; + standard-library = callPackage ../development/libraries/agda/standard-library { + inherit (pkgs.haskellPackages) ghcWithPackages; + }; - iowa-stdlib = callPackage ../development/libraries/agda/iowa-stdlib { }; + iowa-stdlib = callPackage ../development/libraries/agda/iowa-stdlib { }; - agda-prelude = callPackage ../development/libraries/agda/agda-prelude { }; + agda-prelude = callPackage ../development/libraries/agda/agda-prelude { }; - agda-categories = callPackage ../development/libraries/agda/agda-categories { }; + agda-categories = callPackage ../development/libraries/agda/agda-categories { }; - cubical = callPackage ../development/libraries/agda/cubical { }; + cubical = callPackage ../development/libraries/agda/cubical { }; - functional-linear-algebra = callPackage - ../development/libraries/agda/functional-linear-algebra { }; + functional-linear-algebra = callPackage ../development/libraries/agda/functional-linear-algebra { }; - generic = callPackage ../development/libraries/agda/generic { }; + generic = callPackage ../development/libraries/agda/generic { }; - agdarsec = callPackage ../development/libraries/agda/agdarsec { }; + agdarsec = callPackage ../development/libraries/agda/agdarsec { }; - _1lab = callPackage ../development/libraries/agda/1lab { }; + _1lab = callPackage ../development/libraries/agda/1lab { }; - generics = callPackage ../development/libraries/agda/generics { }; - }; -in mkAgdaPackages Agda + generics = callPackage ../development/libraries/agda/generics { }; + }; +in +mkAgdaPackages Agda diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 6da5b2218d5e2..59aeda1931b31 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -1,14 +1,15 @@ -{ lib -, beam -, beam_nodocs -, callPackage -, wxGTK32 -, buildPackages -, stdenv -, ex_docSupport ? true -, wxSupport ? true -, systemd -, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd +{ + lib, + beam, + beam_nodocs, + callPackage, + wxGTK32, + buildPackages, + stdenv, + ex_docSupport ? true, + wxSupport ? true, + systemd, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, }: let @@ -62,12 +63,23 @@ in # access for example elixir built with different version of Erlang, use # `beam.packages.erlang_24.elixir`. inherit (self.packages.erlang) - elixir elixir_1_17 elixir_1_16 elixir_1_15 elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir-ls lfe lfe_2_1; + elixir + elixir_1_17 + elixir_1_16 + elixir_1_15 + elixir_1_14 + elixir_1_13 + elixir_1_12 + elixir_1_11 + elixir_1_10 + elixir-ls + lfe + lfe_2_1 + ; }; # Helper function to generate package set with a specific Erlang version. - packagesWith = erlang: - callPackage ../development/beam-modules { inherit erlang; }; + packagesWith = erlang: callPackage ../development/beam-modules { inherit erlang; }; # Each field in this tuple represents all Beam packages in nixpkgs built with # appropriate Erlang/OTP version. diff --git a/pkgs/top-level/by-name-overlay.nix b/pkgs/top-level/by-name-overlay.nix index 3df9843d03df8..9a011439596a0 100644 --- a/pkgs/top-level/by-name-overlay.nix +++ b/pkgs/top-level/by-name-overlay.nix @@ -21,7 +21,8 @@ let # Package files for a single shard # Type: String -> String -> AttrsOf Path - namesForShard = shard: type: + namesForShard = + shard: type: if type != "directory" then # Ignore all non-directories. Technically only README.md is allowed as a file in the base directory, so we could alternatively: # - Assume that README.md is the only file and change the condition to `shard == "README.md"` for a minor performance improvement. @@ -31,9 +32,9 @@ let # Additionally in either of those alternatives, we would have to duplicate the hardcoding of "README.md" { } else - mapAttrs - (name: _: baseDirectory + "/${shard}/${name}/package.nix") - (readDir (baseDirectory + "/${shard}")); + mapAttrs (name: _: baseDirectory + "/${shard}/${name}/package.nix") ( + readDir (baseDirectory + "/${shard}") + ); # The attribute set mapping names to the package files defining them # This is defined up here in order to allow reuse of the value (it's kind of expensive to compute) @@ -54,6 +55,4 @@ self: super: # Because at that point the code in ./stage.nix can be changed to not allow definitions in `all-packages.nix` to override ones from `pkgs/by-name` anymore and throw an error if that happens instead. _internalCallByNamePackageFile = file: self.callPackage file { }; } -// mapAttrs - (name: self._internalCallByNamePackageFile) - packageFiles +// mapAttrs (name: self._internalCallByNamePackageFile) packageFiles diff --git a/pkgs/top-level/cubocore-packages.nix b/pkgs/top-level/cubocore-packages.nix index e7cae57831fd4..9e0a129d10156 100644 --- a/pkgs/top-level/cubocore-packages.nix +++ b/pkgs/top-level/cubocore-packages.nix @@ -1,94 +1,100 @@ -{ newScope, lxqt, lib, libsForQt5 }: +{ + newScope, + lxqt, + lib, + libsForQt5, +}: let - packages = self: with self; { + packages = + self: with self; { - # Libs - libcprime = libsForQt5.callPackage ../applications/misc/cubocore-packages/libcprime { }; + # Libs + libcprime = libsForQt5.callPackage ../applications/misc/cubocore-packages/libcprime { }; - libcsys = libsForQt5.callPackage ../applications/misc/cubocore-packages/libcsys { }; + libcsys = libsForQt5.callPackage ../applications/misc/cubocore-packages/libcsys { }; - # Apps - coreaction = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreaction { - inherit libcprime libcsys; - }; + # Apps + coreaction = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreaction { + inherit libcprime libcsys; + }; - corearchiver = libsForQt5.callPackage ../applications/misc/cubocore-packages/corearchiver { - inherit libcprime libcsys; - }; + corearchiver = libsForQt5.callPackage ../applications/misc/cubocore-packages/corearchiver { + inherit libcprime libcsys; + }; - corefm = libsForQt5.callPackage ../applications/misc/cubocore-packages/corefm { - inherit libcprime libcsys; - }; + corefm = libsForQt5.callPackage ../applications/misc/cubocore-packages/corefm { + inherit libcprime libcsys; + }; - coregarage = libsForQt5.callPackage ../applications/misc/cubocore-packages/coregarage { - inherit libcprime libcsys; - }; + coregarage = libsForQt5.callPackage ../applications/misc/cubocore-packages/coregarage { + inherit libcprime libcsys; + }; - corehunt = libsForQt5.callPackage ../applications/misc/cubocore-packages/corehunt { - inherit libcprime libcsys; - }; + corehunt = libsForQt5.callPackage ../applications/misc/cubocore-packages/corehunt { + inherit libcprime libcsys; + }; - coreimage = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreimage { - inherit libcprime libcsys; - }; + coreimage = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreimage { + inherit libcprime libcsys; + }; - coreinfo = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreinfo { - inherit libcprime libcsys; - }; + coreinfo = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreinfo { + inherit libcprime libcsys; + }; - corekeyboard = libsForQt5.callPackage ../applications/misc/cubocore-packages/corekeyboard { - inherit libcprime libcsys; - }; + corekeyboard = libsForQt5.callPackage ../applications/misc/cubocore-packages/corekeyboard { + inherit libcprime libcsys; + }; - corepad = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepad { - inherit libcprime libcsys; - }; + corepad = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepad { + inherit libcprime libcsys; + }; - corepaint = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepaint { - inherit libcprime libcsys; - }; + corepaint = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepaint { + inherit libcprime libcsys; + }; - corepdf = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepdf { - inherit libcprime libcsys; - }; + corepdf = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepdf { + inherit libcprime libcsys; + }; - corepins = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepins { - inherit libcprime libcsys; - }; + corepins = libsForQt5.callPackage ../applications/misc/cubocore-packages/corepins { + inherit libcprime libcsys; + }; - corerenamer = libsForQt5.callPackage ../applications/misc/cubocore-packages/corerenamer { - inherit libcprime libcsys; - }; + corerenamer = libsForQt5.callPackage ../applications/misc/cubocore-packages/corerenamer { + inherit libcprime libcsys; + }; - coreshot = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreshot { - inherit libcprime libcsys; - }; + coreshot = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreshot { + inherit libcprime libcsys; + }; - corestats = libsForQt5.callPackage ../applications/misc/cubocore-packages/corestats { - inherit libcprime libcsys; - }; + corestats = libsForQt5.callPackage ../applications/misc/cubocore-packages/corestats { + inherit libcprime libcsys; + }; - corestuff = libsForQt5.callPackage ../applications/misc/cubocore-packages/corestuff { - inherit libcprime libcsys; - }; + corestuff = libsForQt5.callPackage ../applications/misc/cubocore-packages/corestuff { + inherit libcprime libcsys; + }; - coreterminal = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreterminal { - qtermwidget = lxqt.qtermwidget_1_4; - inherit libcprime libcsys; - }; + coreterminal = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreterminal { + qtermwidget = lxqt.qtermwidget_1_4; + inherit libcprime libcsys; + }; - coretime = libsForQt5.callPackage ../applications/misc/cubocore-packages/coretime { - inherit libcprime libcsys; - }; + coretime = libsForQt5.callPackage ../applications/misc/cubocore-packages/coretime { + inherit libcprime libcsys; + }; - coretoppings = libsForQt5.callPackage ../applications/misc/cubocore-packages/coretoppings { - inherit libcprime libcsys; - }; + coretoppings = libsForQt5.callPackage ../applications/misc/cubocore-packages/coretoppings { + inherit libcprime libcsys; + }; - coreuniverse = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreuniverse { - inherit libcprime libcsys; + coreuniverse = libsForQt5.callPackage ../applications/misc/cubocore-packages/coreuniverse { + inherit libcprime libcsys; + }; }; - }; in lib.makeScope newScope packages diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index b7c8644495a12..a84ec52e2bc08 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -1,9 +1,13 @@ -{ lib -, buildPackages, pkgs, targetPackages -, generateSplicesForMkScope, makeScopeWithSplicing' -, stdenv -, preLibcCrossHeaders -, config +{ + lib, + buildPackages, + pkgs, + targetPackages, + generateSplicesForMkScope, + makeScopeWithSplicing', + stdenv, + preLibcCrossHeaders, + config, }: let @@ -11,15 +15,18 @@ let # # TODO(@Ericson2314) Make unconditional, or optional but always true by # default. - targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) - (stdenv.targetPlatform.config + "-"); + targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) ( + stdenv.targetPlatform.config + "-" + ); # Bootstrap `fetchurl` needed to build SDK packages without causing an infinite recursion. fetchurlBoot = import ../build-support/fetchurl/boot.nix { inherit (stdenv) system; }; - aliases = self: super: lib.optionalAttrs config.allowAliases (import ../top-level/darwin-aliases.nix lib self super pkgs); + aliases = + self: super: + lib.optionalAttrs config.allowAliases (import ../top-level/darwin-aliases.nix lib self super pkgs); mkBootstrapStdenv = stdenv: @@ -39,231 +46,282 @@ in makeScopeWithSplicing' { otherSplices = generateSplicesForMkScope "darwin"; extra = spliced: spliced.apple_sdk.frameworks; - f = lib.extends aliases (self: let - inherit (self) mkDerivation callPackage; - - # Open source packages that are built from source - apple-source-packages = lib.packagesFromDirectoryRecursive { - callPackage = self.callPackage; - directory = ../os-specific/darwin/apple-source-releases; - }; - - # Compatibility packages that aren’t necessary anymore - apple-source-headers = { - libresolvHeaders = lib.getDev self.libresolv; - libutilHeaders = lib.getDev self.libutil; - }; - - # Must use pkgs.callPackage to avoid infinite recursion. - impure-cmds = pkgs.callPackage ../os-specific/darwin/impure-cmds { }; - - # macOS 10.12 SDK - apple_sdk_10_12 = pkgs.callPackage ../os-specific/darwin/apple-sdk { }; - - # macOS 11.0 SDK - apple_sdk_11_0 = pkgs.callPackage ../os-specific/darwin/apple-sdk-11.0 { }; - - # macOS 12.3 SDK - apple_sdk_12_3 = pkgs.callPackage ../os-specific/darwin/apple-sdk-12.3 { }; - - # Pick an SDK - apple_sdk = { - "10.12" = apple_sdk_10_12; - "11.0" = apple_sdk_11_0; - }.${stdenv.hostPlatform.darwinSdkVersion} - or (throw "Unsupported sdk: ${stdenv.hostPlatform.darwinSdkVersion}"); - - stubs = { - inherit apple_sdk apple_sdk_10_12 apple_sdk_11_0 apple_sdk_12_3; - libobjc = self.objc4; - } // lib.genAttrs [ - "CF" - "CarbonHeaders" - "CommonCrypto" - "CoreSymbolication" - "IOKit" - "Libc" - "Libinfo" - "Libm" - "Libnotify" - "Librpcsvc" - "Libsystem" - "LibsystemCross" - "Security" - "architecture" - "configd" - "configdHeaders" - "darwin-stubs" - "dtrace" - "dyld" - "eap8021x" - "hfs" - "hfsHeaders" - "launchd" - "libclosure" - "libdispatch" - "libmalloc" - "libplatform" - "libpthread" - "mDNSResponder" - "objc4" - "ppp" - "xnu" - ] (mkStub apple_sdk.version); -in - -impure-cmds // apple-source-packages // apple-source-headers // stubs // { - - stdenvNoCF = stdenv.override { - extraBuildInputs = []; - }; - - inherit (self.adv_cmds) ps; - - binutils-unwrapped = callPackage ../os-specific/darwin/binutils { - inherit (pkgs) cctools; - inherit (pkgs.llvmPackages) clang-unwrapped llvm llvm-manpages; - }; - - binutils = pkgs.wrapBintoolsWith { - libc = - if stdenv.targetPlatform != stdenv.hostPlatform - then pkgs.libcCross - else pkgs.stdenv.cc.libc; - bintools = self.binutils-unwrapped; - }; - - # x86-64 Darwin gnat-bootstrap emits assembly - # with MOVQ as the mnemonic for quadword interunit moves - # such as `movq %rbp, %xmm0`. - # The clang integrated assembler recognises this as valid, - # but unfortunately the cctools.gas GNU assembler does not; - # it instead uses MOVD as the mnemonic. - # The assembly that a GCC build emits is determined at build time - # and cannot be changed afterwards. - # - # To build GNAT on x86-64 Darwin, therefore, - # we need both the clang _and_ the cctools.gas assemblers to be available: - # the former to build at least the stage1 compiler, - # and the latter at least to be detectable - # as the target for the final compiler. - binutilsDualAs-unwrapped = pkgs.buildEnv { - name = "${lib.getName self.binutils-unwrapped}-dualas-${lib.getVersion self.binutils-unwrapped}"; - paths = [ - self.binutils-unwrapped - (lib.getOutput "gas" pkgs.cctools) - ]; - }; - - binutilsDualAs = self.binutils.override { - bintools = self.binutilsDualAs-unwrapped; - }; - - binutilsNoLibc = pkgs.wrapBintoolsWith { - libc = preLibcCrossHeaders; - bintools = self.binutils-unwrapped; - }; - - # Removes propagated packages from the stdenv, so those packages can be built without depending upon themselves. - bootstrapStdenv = mkBootstrapStdenv pkgs.stdenv; - - libSystem = callPackage ../os-specific/darwin/libSystem { }; - - # TODO(@connorbaker): See https://github.com/NixOS/nixpkgs/issues/229389. - cf-private = self.apple_sdk.frameworks.CoreFoundation; + f = lib.extends aliases ( + self: + let + inherit (self) mkDerivation callPackage; - DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; + # Open source packages that are built from source + apple-source-packages = lib.packagesFromDirectoryRecursive { + callPackage = self.callPackage; + directory = ../os-specific/darwin/apple-source-releases; + }; - print-reexports = callPackage ../os-specific/darwin/print-reexports { }; + # Compatibility packages that aren’t necessary anymore + apple-source-headers = { + libresolvHeaders = lib.getDev self.libresolv; + libutilHeaders = lib.getDev self.libutil; + }; - rewrite-tbd = callPackage ../os-specific/darwin/rewrite-tbd { }; + # Must use pkgs.callPackage to avoid infinite recursion. + impure-cmds = pkgs.callPackage ../os-specific/darwin/impure-cmds { }; + + # macOS 10.12 SDK + apple_sdk_10_12 = pkgs.callPackage ../os-specific/darwin/apple-sdk { }; + + # macOS 11.0 SDK + apple_sdk_11_0 = pkgs.callPackage ../os-specific/darwin/apple-sdk-11.0 { }; + + # macOS 12.3 SDK + apple_sdk_12_3 = pkgs.callPackage ../os-specific/darwin/apple-sdk-12.3 { }; + + # Pick an SDK + apple_sdk = + { + "10.12" = apple_sdk_10_12; + "11.0" = apple_sdk_11_0; + } + .${stdenv.hostPlatform.darwinSdkVersion} + or (throw "Unsupported sdk: ${stdenv.hostPlatform.darwinSdkVersion}"); + + stubs = + { + inherit + apple_sdk + apple_sdk_10_12 + apple_sdk_11_0 + apple_sdk_12_3 + ; + libobjc = self.objc4; + } + // lib.genAttrs [ + "CF" + "CarbonHeaders" + "CommonCrypto" + "CoreSymbolication" + "IOKit" + "Libc" + "Libinfo" + "Libm" + "Libnotify" + "Librpcsvc" + "Libsystem" + "LibsystemCross" + "Security" + "architecture" + "configd" + "configdHeaders" + "darwin-stubs" + "dtrace" + "dyld" + "eap8021x" + "hfs" + "hfsHeaders" + "launchd" + "libclosure" + "libdispatch" + "libmalloc" + "libplatform" + "libpthread" + "mDNSResponder" + "objc4" + "ppp" + "xnu" + ] (mkStub apple_sdk.version); + in - checkReexportsHook = pkgs.makeSetupHook { - name = "darwin-check-reexports-hook"; - propagatedBuildInputs = [ pkgs.darwin.print-reexports ]; - } ../os-specific/darwin/print-reexports/setup-hook.sh; + impure-cmds + // apple-source-packages + // apple-source-headers + // stubs + // { - libunwind = callPackage ../os-specific/darwin/libunwind { }; + stdenvNoCF = stdenv.override { + extraBuildInputs = [ ]; + }; - sigtool = callPackage ../os-specific/darwin/sigtool { }; + inherit (self.adv_cmds) ps; - signingUtils = callPackage ../os-specific/darwin/signing-utils { }; + binutils-unwrapped = callPackage ../os-specific/darwin/binutils { + inherit (pkgs) cctools; + inherit (pkgs.llvmPackages) clang-unwrapped llvm llvm-manpages; + }; - postLinkSignHook = callPackage ../os-specific/darwin/signing-utils/post-link-sign-hook.nix { }; + binutils = pkgs.wrapBintoolsWith { + libc = if stdenv.targetPlatform != stdenv.hostPlatform then pkgs.libcCross else pkgs.stdenv.cc.libc; + bintools = self.binutils-unwrapped; + }; - autoSignDarwinBinariesHook = pkgs.makeSetupHook { - name = "auto-sign-darwin-binaries-hook"; - propagatedBuildInputs = [ self.signingUtils ]; - } ../os-specific/darwin/signing-utils/auto-sign-hook.sh; + # x86-64 Darwin gnat-bootstrap emits assembly + # with MOVQ as the mnemonic for quadword interunit moves + # such as `movq %rbp, %xmm0`. + # The clang integrated assembler recognises this as valid, + # but unfortunately the cctools.gas GNU assembler does not; + # it instead uses MOVD as the mnemonic. + # The assembly that a GCC build emits is determined at build time + # and cannot be changed afterwards. + # + # To build GNAT on x86-64 Darwin, therefore, + # we need both the clang _and_ the cctools.gas assemblers to be available: + # the former to build at least the stage1 compiler, + # and the latter at least to be detectable + # as the target for the final compiler. + binutilsDualAs-unwrapped = pkgs.buildEnv { + name = "${lib.getName self.binutils-unwrapped}-dualas-${lib.getVersion self.binutils-unwrapped}"; + paths = [ + self.binutils-unwrapped + (lib.getOutput "gas" pkgs.cctools) + ]; + }; - iosSdkPkgs = callPackage ../os-specific/darwin/xcode/sdk-pkgs.nix { - buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk; - targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs; - inherit (pkgs.llvmPackages) clang-unwrapped; - }; + binutilsDualAs = self.binutils.override { + bintools = self.binutilsDualAs-unwrapped; + }; - lsusb = callPackage ../os-specific/darwin/lsusb { }; + binutilsNoLibc = pkgs.wrapBintoolsWith { + libc = preLibcCrossHeaders; + bintools = self.binutils-unwrapped; + }; - openwith = callPackage ../os-specific/darwin/openwith { }; + # Removes propagated packages from the stdenv, so those packages can be built without depending upon themselves. + bootstrapStdenv = mkBootstrapStdenv pkgs.stdenv; - stubs = pkgs.callPackages ../os-specific/darwin/stubs { }; + libSystem = callPackage ../os-specific/darwin/libSystem { }; - trash = callPackage ../os-specific/darwin/trash { }; + # TODO(@connorbaker): See https://github.com/NixOS/nixpkgs/issues/229389. + cf-private = self.apple_sdk.frameworks.CoreFoundation; - inherit (self.file_cmds) xattr; + DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; - inherit (pkgs.callPackages ../os-specific/darwin/xcode { }) - xcode_8_1 xcode_8_2 - xcode_9_1 xcode_9_2 xcode_9_3 xcode_9_4 xcode_9_4_1 - xcode_10_1 xcode_10_2 xcode_10_2_1 xcode_10_3 - xcode_11 xcode_11_1 xcode_11_2 xcode_11_3_1 xcode_11_4 xcode_11_5 xcode_11_6 xcode_11_7 - xcode_12 xcode_12_0_1 xcode_12_1 xcode_12_2 xcode_12_3 xcode_12_4 xcode_12_5 xcode_12_5_1 - xcode_13 xcode_13_1 xcode_13_2 xcode_13_3 xcode_13_3_1 xcode_13_4 xcode_13_4_1 - xcode_14 xcode_14_1 - xcode_15 xcode_15_0_1 xcode_15_1 xcode_15_2 xcode_15_3 xcode_15_4 - xcode_16 xcode_16_1 - xcode; + print-reexports = callPackage ../os-specific/darwin/print-reexports { }; - xcodeProjectCheckHook = pkgs.makeSetupHook { - name = "xcode-project-check-hook"; - propagatedBuildInputs = [ pkgs.pkgsBuildHost.openssl ]; - } ../os-specific/darwin/xcode-project-check-hook/setup-hook.sh; + rewrite-tbd = callPackage ../os-specific/darwin/rewrite-tbd { }; - # Formerly the CF attribute. Use this is you need the open source release. - swift-corelibs-foundation = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { }; + checkReexportsHook = pkgs.makeSetupHook { + name = "darwin-check-reexports-hook"; + propagatedBuildInputs = [ pkgs.darwin.print-reexports ]; + } ../os-specific/darwin/print-reexports/setup-hook.sh; - # As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in - # libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { }; + libunwind = callPackage ../os-specific/darwin/libunwind { }; - # See doc/packages/darwin-builder.section.md - linux-builder = lib.makeOverridable ({ modules }: - let - toGuest = builtins.replaceStrings [ "darwin" ] [ "linux" ]; + sigtool = callPackage ../os-specific/darwin/sigtool { }; - nixos = import ../../nixos { - configuration = { - imports = [ - ../../nixos/modules/profiles/nix-builder-vm.nix - ] ++ modules; + signingUtils = callPackage ../os-specific/darwin/signing-utils { }; - # If you need to override this, consider starting with the right Nixpkgs - # in the first place, ie change `pkgs` in `pkgs.darwin.linux-builder`. - # or if you're creating new wiring that's not `pkgs`-centric, perhaps use the - # macos-builder profile directly. - virtualisation.host = { inherit pkgs; }; + postLinkSignHook = callPackage ../os-specific/darwin/signing-utils/post-link-sign-hook.nix { }; - nixpkgs.hostPlatform = lib.mkDefault (toGuest stdenv.hostPlatform.system); - }; + autoSignDarwinBinariesHook = pkgs.makeSetupHook { + name = "auto-sign-darwin-binaries-hook"; + propagatedBuildInputs = [ self.signingUtils ]; + } ../os-specific/darwin/signing-utils/auto-sign-hook.sh; - system = null; + iosSdkPkgs = callPackage ../os-specific/darwin/xcode/sdk-pkgs.nix { + buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk; + targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs; + inherit (pkgs.llvmPackages) clang-unwrapped; }; - in - nixos.config.system.build.macos-builder-installer) { modules = [ ]; }; - - linux-builder-x86_64 = self.linux-builder.override { - modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } ]; - }; + lsusb = callPackage ../os-specific/darwin/lsusb { }; + + openwith = callPackage ../os-specific/darwin/openwith { }; + + stubs = pkgs.callPackages ../os-specific/darwin/stubs { }; + + trash = callPackage ../os-specific/darwin/trash { }; + + inherit (self.file_cmds) xattr; + + inherit (pkgs.callPackages ../os-specific/darwin/xcode { }) + xcode_8_1 + xcode_8_2 + xcode_9_1 + xcode_9_2 + xcode_9_3 + xcode_9_4 + xcode_9_4_1 + xcode_10_1 + xcode_10_2 + xcode_10_2_1 + xcode_10_3 + xcode_11 + xcode_11_1 + xcode_11_2 + xcode_11_3_1 + xcode_11_4 + xcode_11_5 + xcode_11_6 + xcode_11_7 + xcode_12 + xcode_12_0_1 + xcode_12_1 + xcode_12_2 + xcode_12_3 + xcode_12_4 + xcode_12_5 + xcode_12_5_1 + xcode_13 + xcode_13_1 + xcode_13_2 + xcode_13_3 + xcode_13_3_1 + xcode_13_4 + xcode_13_4_1 + xcode_14 + xcode_14_1 + xcode_15 + xcode_15_0_1 + xcode_15_1 + xcode_15_2 + xcode_15_3 + xcode_15_4 + xcode_16 + xcode_16_1 + xcode + ; + + xcodeProjectCheckHook = pkgs.makeSetupHook { + name = "xcode-project-check-hook"; + propagatedBuildInputs = [ pkgs.pkgsBuildHost.openssl ]; + } ../os-specific/darwin/xcode-project-check-hook/setup-hook.sh; + + # Formerly the CF attribute. Use this is you need the open source release. + swift-corelibs-foundation = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { }; + + # As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in + # libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { }; + + # See doc/packages/darwin-builder.section.md + linux-builder = lib.makeOverridable ( + { modules }: + let + toGuest = builtins.replaceStrings [ "darwin" ] [ "linux" ]; + + nixos = import ../../nixos { + configuration = { + imports = [ + ../../nixos/modules/profiles/nix-builder-vm.nix + ] ++ modules; + + # If you need to override this, consider starting with the right Nixpkgs + # in the first place, ie change `pkgs` in `pkgs.darwin.linux-builder`. + # or if you're creating new wiring that's not `pkgs`-centric, perhaps use the + # macos-builder profile directly. + virtualisation.host = { inherit pkgs; }; + + nixpkgs.hostPlatform = lib.mkDefault (toGuest stdenv.hostPlatform.system); + }; + + system = null; + }; + + in + nixos.config.system.build.macos-builder-installer + ) { modules = [ ]; }; + + linux-builder-x86_64 = self.linux-builder.override { + modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } ]; + }; -}); + } + ); } diff --git a/pkgs/top-level/dhall-packages.nix b/pkgs/top-level/dhall-packages.nix index f43be56c59be4..b7191a2dd9c2a 100644 --- a/pkgs/top-level/dhall-packages.nix +++ b/pkgs/top-level/dhall-packages.nix @@ -1,51 +1,52 @@ -{ lib -, newScope -, overrides ? (self: super: {}) +{ + lib, + newScope, + overrides ? (self: super: { }), }: let - packages = self: + packages = + self: let callPackage = newScope self; - buildDhallPackage = - callPackage ../development/interpreters/dhall/build-dhall-package.nix { }; + buildDhallPackage = callPackage ../development/interpreters/dhall/build-dhall-package.nix { }; buildDhallGitHubPackage = - callPackage ../development/interpreters/dhall/build-dhall-github-package.nix { }; + callPackage ../development/interpreters/dhall/build-dhall-github-package.nix + { }; buildDhallDirectoryPackage = - callPackage ../development/interpreters/dhall/build-dhall-directory-package.nix { }; + callPackage ../development/interpreters/dhall/build-dhall-directory-package.nix + { }; - buildDhallUrl = - callPackage ../development/interpreters/dhall/build-dhall-url.nix { }; + buildDhallUrl = callPackage ../development/interpreters/dhall/build-dhall-url.nix { }; generateDhallDirectoryPackage = - callPackage ../development/interpreters/dhall/generate-dhall-directory-package.nix { }; + callPackage ../development/interpreters/dhall/generate-dhall-directory-package.nix + { }; in - { inherit - callPackage - buildDhallPackage - buildDhallGitHubPackage - buildDhallDirectoryPackage - buildDhallUrl - generateDhallDirectoryPackage + { + inherit + callPackage + buildDhallPackage + buildDhallGitHubPackage + buildDhallDirectoryPackage + buildDhallUrl + generateDhallDirectoryPackage ; - lib = import ../development/dhall-modules/lib.nix { inherit lib; }; + lib = import ../development/dhall-modules/lib.nix { inherit lib; }; - dhall-cloudformation = callPackage ../development/dhall-modules/dhall-cloudformation.nix { }; + dhall-cloudformation = callPackage ../development/dhall-modules/dhall-cloudformation.nix { }; - dhall-grafana = - callPackage ../development/dhall-modules/dhall-grafana.nix { }; + dhall-grafana = callPackage ../development/dhall-modules/dhall-grafana.nix { }; - dhall-kubernetes = - callPackage ../development/dhall-modules/dhall-kubernetes.nix { }; + dhall-kubernetes = callPackage ../development/dhall-modules/dhall-kubernetes.nix { }; - Prelude = - callPackage ../development/dhall-modules/Prelude.nix { }; - }; + Prelude = callPackage ../development/dhall-modules/Prelude.nix { }; + }; in - lib.fix' (lib.extends overrides packages) +lib.fix' (lib.extends overrides packages) diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index b6dc7bf5300db..1ba6d4a247850 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -1,181 +1,189 @@ -{ stdenv -, lib -, pkgs -, buildDotnetPackage -, buildDotnetModule -, fetchurl -, fetchFromGitHub -, fetchNuGet -, glib -, mono -, overrides ? {} -, boogie -, nuget +{ + stdenv, + lib, + pkgs, + buildDotnetPackage, + buildDotnetModule, + fetchurl, + fetchFromGitHub, + fetchNuGet, + glib, + mono, + overrides ? { }, + boogie, + nuget, }: -let self = dotnetPackages // overrides; dotnetPackages = with self; { - # ALIASES FOR MOVED PACKAGES +let + self = dotnetPackages // overrides; + dotnetPackages = with self; { + # ALIASES FOR MOVED PACKAGES - Boogie = boogie; - Nuget = nuget; + Boogie = boogie; + Nuget = nuget; - # BINARY PACKAGES + # BINARY PACKAGES - NUnit3 = fetchNuGet { - pname = "NUnit"; - version = "3.0.1"; - sha256 = "1g3j3kvg9vrapb1vjgq65nvn1vg7bzm66w7yjnaip1iww1yn1b0p"; - outputFiles = [ "lib/*" ]; - }; - - NUnit2 = fetchNuGet { - pname = "NUnit"; - version = "2.6.4"; - sha256 = "1acwsm7p93b1hzfb83ia33145x0w6fvdsfjm9xflsisljxpdx35y"; - outputFiles = [ "lib/*" ]; - }; - - NUnit = NUnit2; - - NUnitConsole = fetchNuGet { - pname = "NUnit.Console"; - version = "3.0.1"; - sha256 = "154bqwm2n95syv8nwd67qh8qsv0b0h5zap60sk64z3kd3a9ffi5p"; - outputFiles = [ "tools/*" ]; - }; - - MaxMindDb = fetchNuGet { - pname = "MaxMind.Db"; - version = "1.1.0.0"; - sha256 = "0lixl76f7k3ldiqzg94zh13gn82w5mm5dx72y97fcqvp8g6nj3ds"; - outputFiles = [ "lib/*" ]; - }; + NUnit3 = fetchNuGet { + pname = "NUnit"; + version = "3.0.1"; + sha256 = "1g3j3kvg9vrapb1vjgq65nvn1vg7bzm66w7yjnaip1iww1yn1b0p"; + outputFiles = [ "lib/*" ]; + }; - MaxMindGeoIP2 = fetchNuGet { - pname = "MaxMind.GeoIP2"; - version = "2.3.1"; - sha256 = "1s44dvjnmj1aimbrgkmpj6h5dn1w6acgqjch1axc76yz6hwknqgf"; - outputFiles = [ "lib/*" ]; - }; + NUnit2 = fetchNuGet { + pname = "NUnit"; + version = "2.6.4"; + sha256 = "1acwsm7p93b1hzfb83ia33145x0w6fvdsfjm9xflsisljxpdx35y"; + outputFiles = [ "lib/*" ]; + }; - SharpZipLib = fetchNuGet { - pname = "SharpZipLib"; - version = "1.3.3"; - sha256 = "sha256-HWEQTKh9Ktwg/zIl079dAiH+ob2ShWFAqLgG6XgIMr4="; - outputFiles = [ "lib/*" ]; - }; + NUnit = NUnit2; - StyleCopMSBuild = fetchNuGet { - pname = "StyleCop.MSBuild"; - version = "4.7.49.0"; - sha256 = "0rpfyvcggm881ynvgr17kbx5hvj7ivlms0bmskmb2zyjlpddx036"; - outputFiles = [ "tools/*" ]; - meta.mainProgram = "stylecopsettingseditor"; - }; + NUnitConsole = fetchNuGet { + pname = "NUnit.Console"; + version = "3.0.1"; + sha256 = "154bqwm2n95syv8nwd67qh8qsv0b0h5zap60sk64z3kd3a9ffi5p"; + outputFiles = [ "tools/*" ]; + }; - StyleCopPlusMSBuild = fetchNuGet { - pname = "StyleCopPlus.MSBuild"; - version = "4.7.49.5"; - sha256 = "1hv4lfxw72aql8siyqc4n954vzdz8p6jx9f2wrgzz0jy1k98x2mr"; - outputFiles = [ "tools/*" ]; - }; + MaxMindDb = fetchNuGet { + pname = "MaxMind.Db"; + version = "1.1.0.0"; + sha256 = "0lixl76f7k3ldiqzg94zh13gn82w5mm5dx72y97fcqvp8g6nj3ds"; + outputFiles = [ "lib/*" ]; + }; - RestSharp = fetchNuGet { - pname = "RestSharp"; - version = "106.12.0"; - sha256 = "sha256-NGzveByJvCRtHlI2C8d/mLs3akyMm77NER8TUG6HiD4="; - outputFiles = [ "lib/*" ]; - }; + MaxMindGeoIP2 = fetchNuGet { + pname = "MaxMind.GeoIP2"; + version = "2.3.1"; + sha256 = "1s44dvjnmj1aimbrgkmpj6h5dn1w6acgqjch1axc76yz6hwknqgf"; + outputFiles = [ "lib/*" ]; + }; - SharpFont = fetchNuGet { - pname = "SharpFont"; - version = "4.0.1"; - sha256 = "1yd3cm4ww0hw2k3aymf792hp6skyg8qn491m2a3fhkzvsl8z7vs8"; - outputFiles = [ "lib/*" "config/*" ]; - }; + SharpZipLib = fetchNuGet { + pname = "SharpZipLib"; + version = "1.3.3"; + sha256 = "sha256-HWEQTKh9Ktwg/zIl079dAiH+ob2ShWFAqLgG6XgIMr4="; + outputFiles = [ "lib/*" ]; + }; - SmartIrc4net = fetchNuGet { - pname = "SmartIrc4net"; - version = "0.4.5.1"; - sha256 = "1d531sj39fvwmj2wgplqfify301y3cwp7kwr9ai5hgrq81jmjn2b"; - outputFiles = [ "lib/*" ]; - }; + StyleCopMSBuild = fetchNuGet { + pname = "StyleCop.MSBuild"; + version = "4.7.49.0"; + sha256 = "0rpfyvcggm881ynvgr17kbx5hvj7ivlms0bmskmb2zyjlpddx036"; + outputFiles = [ "tools/*" ]; + meta.mainProgram = "stylecopsettingseditor"; + }; - FuzzyLogicLibrary = fetchNuGet { - pname = "FuzzyLogicLibrary"; - version = "1.2.0"; - sha256 = "0x518i8d3rw9n51xwawa4sywvqd722adj7kpcgcm63r66s950r5l"; - outputFiles = [ "bin/*" ]; - }; + StyleCopPlusMSBuild = fetchNuGet { + pname = "StyleCopPlus.MSBuild"; + version = "4.7.49.5"; + sha256 = "1hv4lfxw72aql8siyqc4n954vzdz8p6jx9f2wrgzz0jy1k98x2mr"; + outputFiles = [ "tools/*" ]; + }; - OpenNAT = fetchNuGet { - pname = "Open.NAT"; - version = "2.1.0"; - sha256 = "1jyd30fwycdwx5ck96zhp2xf20yz0sp7g3pjbqhmay4kd322mfwk"; - outputFiles = [ "lib/*" ]; - }; + RestSharp = fetchNuGet { + pname = "RestSharp"; + version = "106.12.0"; + sha256 = "sha256-NGzveByJvCRtHlI2C8d/mLs3akyMm77NER8TUG6HiD4="; + outputFiles = [ "lib/*" ]; + }; - MonoNat = fetchNuGet { - pname = "Mono.Nat"; - version = "1.2.24"; - sha256 = "0vfkach11kkcd9rcqz3s38m70d5spyb21gl99iqnkljxj5555wjs"; - outputFiles = [ "lib/*" ]; - }; + SharpFont = fetchNuGet { + pname = "SharpFont"; + version = "4.0.1"; + sha256 = "1yd3cm4ww0hw2k3aymf792hp6skyg8qn491m2a3fhkzvsl8z7vs8"; + outputFiles = [ + "lib/*" + "config/*" + ]; + }; - NUnitRunners = fetchNuGet { - pname = "NUnit.Runners"; - version = "2.6.4"; - sha256 = "11nmi7vikn9idz8qcad9z7f73arsh5rw18fc1sri9ywz77mpm1s4"; - outputFiles = [ "tools/*" ]; - preInstall = "mv -v tools/lib/* tools && rmdir -v tools/lib"; - }; + SmartIrc4net = fetchNuGet { + pname = "SmartIrc4net"; + version = "0.4.5.1"; + sha256 = "1d531sj39fvwmj2wgplqfify301y3cwp7kwr9ai5hgrq81jmjn2b"; + outputFiles = [ "lib/*" ]; + }; - # SOURCE PACKAGES + FuzzyLogicLibrary = fetchNuGet { + pname = "FuzzyLogicLibrary"; + version = "1.2.0"; + sha256 = "0x518i8d3rw9n51xwawa4sywvqd722adj7kpcgcm63r66s950r5l"; + outputFiles = [ "bin/*" ]; + }; - MonoAddins = buildDotnetPackage rec { - pname = "Mono.Addins"; - version = "1.2"; + OpenNAT = fetchNuGet { + pname = "Open.NAT"; + version = "2.1.0"; + sha256 = "1jyd30fwycdwx5ck96zhp2xf20yz0sp7g3pjbqhmay4kd322mfwk"; + outputFiles = [ "lib/*" ]; + }; - xBuildFiles = [ - "Mono.Addins/Mono.Addins.csproj" - "Mono.Addins.Setup/Mono.Addins.Setup.csproj" - "Mono.Addins.Gui/Mono.Addins.Gui.csproj" - "Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.csproj" - ]; - outputFiles = [ "bin/*" ]; + MonoNat = fetchNuGet { + pname = "Mono.Nat"; + version = "1.2.24"; + sha256 = "0vfkach11kkcd9rcqz3s38m70d5spyb21gl99iqnkljxj5555wjs"; + outputFiles = [ "lib/*" ]; + }; - src = fetchFromGitHub { - owner = "mono"; - repo = "mono-addins"; - rev = "mono-addins-${version}"; - sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y"; + NUnitRunners = fetchNuGet { + pname = "NUnit.Runners"; + version = "2.6.4"; + sha256 = "11nmi7vikn9idz8qcad9z7f73arsh5rw18fc1sri9ywz77mpm1s4"; + outputFiles = [ "tools/*" ]; + preInstall = "mv -v tools/lib/* tools && rmdir -v tools/lib"; }; - buildInputs = [ pkgs.gtk-sharp-2_0 ]; + # SOURCE PACKAGES + + MonoAddins = buildDotnetPackage rec { + pname = "Mono.Addins"; + version = "1.2"; + + xBuildFiles = [ + "Mono.Addins/Mono.Addins.csproj" + "Mono.Addins.Setup/Mono.Addins.Setup.csproj" + "Mono.Addins.Gui/Mono.Addins.Gui.csproj" + "Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.csproj" + ]; + outputFiles = [ "bin/*" ]; + + src = fetchFromGitHub { + owner = "mono"; + repo = "mono-addins"; + rev = "mono-addins-${version}"; + sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y"; + }; + + buildInputs = [ pkgs.gtk-sharp-2_0 ]; + + meta = { + description = "Generic framework for creating extensible applications"; + homepage = "https://www.mono-project.com/Mono.Addins"; + longDescription = '' + A generic framework for creating extensible applications, + and for creating libraries which extend those applications. + ''; + license = lib.licenses.mit; + }; + }; - meta = { - description = "Generic framework for creating extensible applications"; - homepage = "https://www.mono-project.com/Mono.Addins"; - longDescription = '' - A generic framework for creating extensible applications, - and for creating libraries which extend those applications. - ''; - license = lib.licenses.mit; + NewtonsoftJson = fetchNuGet { + pname = "Newtonsoft.Json"; + version = "11.0.2"; + sha256 = "07na27n4mlw77f3hg5jpayzxll7f4gyna6x7k9cybmxpbs6l77k7"; + outputFiles = [ "*" ]; }; - }; - NewtonsoftJson = fetchNuGet { - pname = "Newtonsoft.Json"; - version = "11.0.2"; - sha256 = "07na27n4mlw77f3hg5jpayzxll7f4gyna6x7k9cybmxpbs6l77k7"; - outputFiles = [ "*" ]; - }; + Paket = fetchNuGet { + pname = "Paket"; + version = "5.179.1"; + sha256 = "11rzna03i145qj08hwrynya548fwk8xzxmg65swyaf19jd7gzg82"; + outputFiles = [ "*" ]; + }; - Paket = fetchNuGet { - pname = "Paket"; - version = "5.179.1"; - sha256 = "11rzna03i145qj08hwrynya548fwk8xzxmg65swyaf19jd7gzg82"; - outputFiles = [ "*" ]; }; - -}; in self +in +self diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index 968bf2a2800ac..c1eaf78f15329 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -14,101 +14,146 @@ (add-to-list 'package-directory-list "~/.nix-profile/share/emacs/site-lisp/elpa") */ -{ pkgs' -, emacs' -, makeScope -, makeOverridable -, dontRecurseIntoAttrs +{ + pkgs', + emacs', + makeScope, + makeOverridable, + dontRecurseIntoAttrs, }: let - mkElpaDevelPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-devel-packages.nix { - inherit (pkgs) pkgs buildPackages; - inherit lib; - }; + mkElpaDevelPackages = + { pkgs, lib }: + import ../applications/editors/emacs/elisp-packages/elpa-devel-packages.nix { + inherit (pkgs) pkgs buildPackages; + inherit lib; + }; - mkElpaPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/elpa-packages.nix { - inherit (pkgs) pkgs buildPackages; - inherit lib; - }; + mkElpaPackages = + { pkgs, lib }: + import ../applications/editors/emacs/elisp-packages/elpa-packages.nix { + inherit (pkgs) pkgs buildPackages; + inherit lib; + }; - mkNongnuDevelPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix { - inherit (pkgs) pkgs buildPackages; - inherit lib; - }; + mkNongnuDevelPackages = + { pkgs, lib }: + import ../applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix { + inherit (pkgs) pkgs buildPackages; + inherit lib; + }; - mkNongnuPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/nongnu-packages.nix { - inherit (pkgs) pkgs buildPackages; - inherit lib; - }; + mkNongnuPackages = + { pkgs, lib }: + import ../applications/editors/emacs/elisp-packages/nongnu-packages.nix { + inherit (pkgs) pkgs buildPackages; + inherit lib; + }; # Contains both melpa stable & unstable - melpaGeneric = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/melpa-packages.nix { - inherit lib pkgs; - }; - - mkManualPackages = { pkgs, lib }: import ../applications/editors/emacs/elisp-packages/manual-packages.nix { - inherit lib pkgs; - }; - - emacsWithPackages = { pkgs, lib }: pkgs.callPackage ../applications/editors/emacs/build-support/wrapper.nix { - inherit (pkgs.xorg) lndir; - inherit lib; - }; - -in makeScope pkgs'.newScope (self: makeOverridable ({ - pkgs ? pkgs' - , lib ? pkgs.lib - , elpaDevelPackages ? mkElpaDevelPackages { inherit pkgs lib; } self - , elpaPackages ? mkElpaPackages { inherit pkgs lib; } self - , nongnuDevelPackages ? mkNongnuDevelPackages { inherit pkgs lib; } self - , nongnuPackages ? mkNongnuPackages { inherit pkgs lib; } self - , melpaStablePackages ? melpaGeneric { inherit pkgs lib; } "stable" self - , melpaPackages ? melpaGeneric { inherit pkgs lib; } "unstable" self - , manualPackages ? mkManualPackages { inherit pkgs lib; } self -}: ({} - // elpaDevelPackages // { inherit elpaDevelPackages; } - // elpaPackages // { inherit elpaPackages; } - // nongnuDevelPackages // { inherit nongnuDevelPackages; } - // nongnuPackages // { inherit nongnuPackages; } - // melpaStablePackages // { inherit melpaStablePackages; } - // melpaPackages // { inherit melpaPackages; } - // manualPackages // { inherit manualPackages; } - // { - - # Propagate overridden scope - emacs = emacs'.overrideAttrs(old: { - passthru = (old.passthru or {}) // { - pkgs = dontRecurseIntoAttrs self; - }; - }); - - trivialBuild = pkgs.callPackage ../applications/editors/emacs/build-support/trivial.nix { - inherit (self) emacs; + melpaGeneric = + { pkgs, lib }: + import ../applications/editors/emacs/elisp-packages/melpa-packages.nix { + inherit lib pkgs; }; - elpaBuild = pkgs.callPackage ../applications/editors/emacs/build-support/elpa.nix { - inherit (self) emacs; + mkManualPackages = + { pkgs, lib }: + import ../applications/editors/emacs/elisp-packages/manual-packages.nix { + inherit lib pkgs; }; - melpaBuild = pkgs.callPackage ../applications/editors/emacs/build-support/melpa.nix { - inherit (self) emacs; + emacsWithPackages = + { pkgs, lib }: + pkgs.callPackage ../applications/editors/emacs/build-support/wrapper.nix { + inherit (pkgs.xorg) lndir; + inherit lib; }; - emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self; - withPackages = emacsWithPackages { inherit pkgs lib; } self; - - } // { - - # Package specific priority overrides goes here - - # EXWM is not tagged very often, prefer it from elpa devel. - inherit (elpaDevelPackages) exwm; - - # Telega uploads packages incompatible with stable tdlib to melpa - # Prefer the one from melpa stable - inherit (melpaStablePackages) telega; - - }) -) {}) +in +makeScope pkgs'.newScope ( + self: + makeOverridable ( + { + pkgs ? pkgs', + lib ? pkgs.lib, + elpaDevelPackages ? mkElpaDevelPackages { inherit pkgs lib; } self, + elpaPackages ? mkElpaPackages { inherit pkgs lib; } self, + nongnuDevelPackages ? mkNongnuDevelPackages { inherit pkgs lib; } self, + nongnuPackages ? mkNongnuPackages { inherit pkgs lib; } self, + melpaStablePackages ? melpaGeneric { inherit pkgs lib; } "stable" self, + melpaPackages ? melpaGeneric { inherit pkgs lib; } "unstable" self, + manualPackages ? mkManualPackages { inherit pkgs lib; } self, + }: + ( + { } + // elpaDevelPackages + // { + inherit elpaDevelPackages; + } + // elpaPackages + // { + inherit elpaPackages; + } + // nongnuDevelPackages + // { + inherit nongnuDevelPackages; + } + // nongnuPackages + // { + inherit nongnuPackages; + } + // melpaStablePackages + // { + inherit melpaStablePackages; + } + // melpaPackages + // { + inherit melpaPackages; + } + // manualPackages + // { + inherit manualPackages; + } + // { + + # Propagate overridden scope + emacs = emacs'.overrideAttrs (old: { + passthru = (old.passthru or { }) // { + pkgs = dontRecurseIntoAttrs self; + }; + }); + + trivialBuild = pkgs.callPackage ../applications/editors/emacs/build-support/trivial.nix { + inherit (self) emacs; + }; + + elpaBuild = pkgs.callPackage ../applications/editors/emacs/build-support/elpa.nix { + inherit (self) emacs; + }; + + melpaBuild = pkgs.callPackage ../applications/editors/emacs/build-support/melpa.nix { + inherit (self) emacs; + }; + + emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self; + withPackages = emacsWithPackages { inherit pkgs lib; } self; + + } + // { + + # Package specific priority overrides goes here + + # EXWM is not tagged very often, prefer it from elpa devel. + inherit (elpaDevelPackages) exwm; + + # Telega uploads packages incompatible with stable tdlib to melpa + # Prefer the one from melpa stable + inherit (melpaStablePackages) telega; + + } + ) + ) { } +) diff --git a/pkgs/top-level/hare-third-party.nix b/pkgs/top-level/hare-third-party.nix index 3796bbcba5b97..b509ffb6ed36a 100644 --- a/pkgs/top-level/hare-third-party.nix +++ b/pkgs/top-level/hare-third-party.nix @@ -1,14 +1,16 @@ { lib, newScope }: -lib.makeScope newScope (self: -let - inherit (self) callPackage; -in -{ - hare-compress = callPackage ../development/hare-third-party/hare-compress { }; - hare-ev = callPackage ../development/hare-third-party/hare-ev { }; - hare-json = callPackage ../development/hare-third-party/hare-json { }; - hare-ssh = callPackage ../development/hare-third-party/hare-ssh { }; - hare-toml = callPackage ../development/hare-third-party/hare-toml { }; - hare-png = callPackage ../development/hare-third-party/hare-png { }; -}) +lib.makeScope newScope ( + self: + let + inherit (self) callPackage; + in + { + hare-compress = callPackage ../development/hare-third-party/hare-compress { }; + hare-ev = callPackage ../development/hare-third-party/hare-ev { }; + hare-json = callPackage ../development/hare-third-party/hare-json { }; + hare-ssh = callPackage ../development/hare-third-party/hare-ssh { }; + hare-toml = callPackage ../development/hare-third-party/hare-toml { }; + hare-png = callPackage ../development/hare-third-party/hare-png { }; + } +) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c0ce67d2df9bd..95a4da66225a8 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1,4 +1,11 @@ -{ buildPackages, pkgsBuildBuild, pkgsBuildTarget, pkgs, newScope, stdenv }: +{ + buildPackages, + pkgsBuildBuild, + pkgsBuildTarget, + pkgs, + newScope, + stdenv, +}: let # These are attributes in compiler that support integer-simple. @@ -34,23 +41,29 @@ let }; bootstrapPackageSet = self: super: { - mkDerivation = drv: super.mkDerivation (drv // { - doCheck = false; - doHaddock = false; - enableExecutableProfiling = false; - enableLibraryProfiling = false; - enableSharedExecutables = false; - enableSharedLibraries = false; - }); + mkDerivation = + drv: + super.mkDerivation ( + drv + // { + doCheck = false; + doHaddock = false; + enableExecutableProfiling = false; + enableLibraryProfiling = false; + enableSharedExecutables = false; + enableSharedLibraries = false; + } + ); }; # Use this rather than `rec { ... }` below for sake of overlays. inherit (pkgs.haskell) compiler packages; -in { +in +{ lib = haskellLibUncomposable; - package-list = callPackage ../development/haskell-modules/package-list.nix {}; + package-list = callPackage ../development/haskell-modules/package-list.nix { }; # Always get boot compilers from `pkgsBuildBuild`. The boot (stage0) compiler # is used to build another compiler (stage1) that'll be used to build the @@ -63,608 +76,623 @@ in { # `name: pkgs: pkgs.haskell.packages.${name}.ghc == pkgs.buildPackages.haskell.compiler.${name}.ghc`. # This isn't problematic since pkgsBuildBuild.buildPackages is also build->build, # just something to keep in mind. - compiler = let bb = pkgsBuildBuild.haskell; in { - ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { - # Should be llvmPackages_6 which has been removed from nixpkgs - llvmPackages = null; - }; + compiler = + let + bb = pkgsBuildBuild.haskell; + in + { + ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { + # Should be llvmPackages_6 which has been removed from nixpkgs + llvmPackages = null; + }; - ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix { - llvmPackages = pkgs.llvmPackages_12; - }; + ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix { + llvmPackages = pkgs.llvmPackages_12; + }; - ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix { - llvmPackages = pkgs.llvmPackages_12; - }; + ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix { + llvmPackages = pkgs.llvmPackages_12; + }; - ghc963Binary = callPackage ../development/compilers/ghc/9.6.3-binary.nix { - llvmPackages = pkgs.llvmPackages_15; - }; + ghc963Binary = callPackage ../development/compilers/ghc/9.6.3-binary.nix { + llvmPackages = pkgs.llvmPackages_15; + }; - ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix { - bootPkgs = - # the oldest ghc with aarch64-darwin support is 8.10.5 - if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform - bb.packages.ghc865Binary - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc810 = compiler.ghc8107; - ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix { - bootPkgs = - # the oldest ghc with aarch64-darwin support is 8.10.5 - if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc810 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc90 = compiler.ghc902; - ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix { - bootPkgs = - if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc810 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix { - bootPkgs = - if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc810 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix { - bootPkgs = - if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc810 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix { - bootPkgs = - if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc810 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc92 = compiler.ghc928; - ghc945 = callPackage ../development/compilers/ghc/9.4.5.nix { - bootPkgs = - # Building with 9.2 is broken due to - # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 - # Use 8.10 as a workaround where possible to keep bootstrap path short. + ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix { + bootPkgs = + # the oldest ghc with aarch64-darwin support is 8.10.5 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform + bb.packages.ghc865Binary + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc810 = compiler.ghc8107; + ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix { + bootPkgs = + # the oldest ghc with aarch64-darwin support is 8.10.5 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc90 = compiler.ghc902; + ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix { + bootPkgs = + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix { + bootPkgs = + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix { + bootPkgs = + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix { + bootPkgs = + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc92 = compiler.ghc928; + ghc945 = callPackage ../development/compilers/ghc/9.4.5.nix { + bootPkgs = + # Building with 9.2 is broken due to + # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 + # Use 8.10 as a workaround where possible to keep bootstrap path short. - # On ARM text won't build with GHC 8.10.* - if stdenv.buildPlatform.isAarch then - # TODO(@sternenseemann): package bindist - bb.packages.ghc902 - # No suitable bindists for powerpc64le - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc902 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 10 && < 14 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc946 = callPackage ../development/compilers/ghc/9.4.6.nix { - bootPkgs = - # Building with 9.2 is broken due to - # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 - # Use 8.10 as a workaround where possible to keep bootstrap path short. + # On ARM text won't build with GHC 8.10.* + if stdenv.buildPlatform.isAarch then + # TODO(@sternenseemann): package bindist + bb.packages.ghc902 + # No suitable bindists for powerpc64le + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 10 && < 14 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc946 = callPackage ../development/compilers/ghc/9.4.6.nix { + bootPkgs = + # Building with 9.2 is broken due to + # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 + # Use 8.10 as a workaround where possible to keep bootstrap path short. - # On ARM text won't build with GHC 8.10.* - if stdenv.buildPlatform.isAarch then - # TODO(@sternenseemann): package bindist - bb.packages.ghc902 - # No suitable bindists for powerpc64le - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc902 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 - python3 = buildPackages.python311; # so that we don't have two of them - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 10 && < 14 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc947 = callPackage ../development/compilers/ghc/9.4.7.nix { - bootPkgs = - # Building with 9.2 is broken due to - # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 - # Use 8.10 as a workaround where possible to keep bootstrap path short. + # On ARM text won't build with GHC 8.10.* + if stdenv.buildPlatform.isAarch then + # TODO(@sternenseemann): package bindist + bb.packages.ghc902 + # No suitable bindists for powerpc64le + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 + python3 = buildPackages.python311; # so that we don't have two of them + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 10 && < 14 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc947 = callPackage ../development/compilers/ghc/9.4.7.nix { + bootPkgs = + # Building with 9.2 is broken due to + # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 + # Use 8.10 as a workaround where possible to keep bootstrap path short. - # On ARM text won't build with GHC 8.10.* - if stdenv.buildPlatform.isAarch then - # TODO(@sternenseemann): package bindist - bb.packages.ghc902 - # No suitable bindists for powerpc64le - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc902 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 10 && < 14 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix { - bootPkgs = - # Building with 9.2 is broken due to - # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 - # Use 8.10 as a workaround where possible to keep bootstrap path short. + # On ARM text won't build with GHC 8.10.* + if stdenv.buildPlatform.isAarch then + # TODO(@sternenseemann): package bindist + bb.packages.ghc902 + # No suitable bindists for powerpc64le + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 10 && < 14 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix { + bootPkgs = + # Building with 9.2 is broken due to + # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 + # Use 8.10 as a workaround where possible to keep bootstrap path short. - # On ARM text won't build with GHC 8.10.* - if stdenv.buildPlatform.isAarch then - # TODO(@sternenseemann): package bindist - bb.packages.ghc902 - # No suitable bindists for powerpc64le - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc902 - else - bb.packages.ghc8107Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 10 && < 14 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; - llvmPackages = pkgs.llvmPackages_12; - }; - ghc94 = compiler.ghc948; - ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix { - bootPkgs = - # For GHC 9.2 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc928 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc928 - else - bb.packages.ghc924Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix { - bootPkgs = - # For GHC 9.2 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc928 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc928 - else - bb.packages.ghc924Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc965 = callPackage ../development/compilers/ghc/9.6.5.nix { - bootPkgs = - # For GHC 9.2 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc928 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc928 - else - bb.packages.ghc924Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc966 = callPackage ../development/compilers/ghc/9.6.6.nix { - bootPkgs = - # For GHC 9.2 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc928 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc928 - else - bb.packages.ghc924Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc96 = compiler.ghc966; - ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix { - bootPkgs = - # For GHC 9.6 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc963 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc963 - else - bb.packages.ghc963Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc982 = callPackage ../development/compilers/ghc/9.8.2.nix { - bootPkgs = - # For GHC 9.6 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc963 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc963 - else - bb.packages.ghc963Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc983 = callPackage ../development/compilers/ghc/9.8.3.nix { - bootPkgs = - # For GHC 9.6 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc963 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc963 - else - bb.packages.ghc963Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc984 = callPackage ../development/compilers/ghc/9.8.4.nix { - bootPkgs = - # For GHC 9.6 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc963 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc963 - else - bb.packages.ghc963Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc98 = compiler.ghc982; # HLS doesn't work yet with 9.8.3 - ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix { - bootPkgs = - # For GHC 9.6 no armv7l bindists are available. - if stdenv.buildPlatform.isAarch32 then - bb.packages.ghc963 - else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then - bb.packages.ghc963 - else if stdenv.buildPlatform.isDarwin then - # it seems like the GHC 9.6.* bindists are built with a different - # toolchain than we are using (which I'm guessing from the fact - # that 9.6.4 bindists pass linker flags our ld doesn't support). - # With both 9.6.3 and 9.6.4 binary it is impossible to link against - # the clock package (probably a hsc2hs problem). - bb.packages.ghc963 - else - bb.packages.ghc963Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # 2023-01-15: Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; - llvmPackages = pkgs.llvmPackages_15; - }; - ghc910 = compiler.ghc9101; - ghcHEAD = callPackage ../development/compilers/ghc/head.nix { - bootPkgs = - # No suitable bindist packaged yet - bb.packages.ghc9101; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - # 2023-01-15: Support range >= 11 && < 16 - buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_18; - llvmPackages = pkgs.llvmPackages_18; - }; + # On ARM text won't build with GHC 8.10.* + if stdenv.buildPlatform.isAarch then + # TODO(@sternenseemann): package bindist + bb.packages.ghc902 + # No suitable bindists for powerpc64le + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 + else + bb.packages.ghc8107Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 10 && < 14 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; + ghc94 = compiler.ghc948; + ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix { + bootPkgs = + # For GHC 9.2 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 + else + bb.packages.ghc924Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix { + bootPkgs = + # For GHC 9.2 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 + else + bb.packages.ghc924Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc965 = callPackage ../development/compilers/ghc/9.6.5.nix { + bootPkgs = + # For GHC 9.2 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 + else + bb.packages.ghc924Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc966 = callPackage ../development/compilers/ghc/9.6.6.nix { + bootPkgs = + # For GHC 9.2 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 + else + bb.packages.ghc924Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc96 = compiler.ghc966; + ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix { + bootPkgs = + # For GHC 9.6 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 + else + bb.packages.ghc963Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc982 = callPackage ../development/compilers/ghc/9.8.2.nix { + bootPkgs = + # For GHC 9.6 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 + else + bb.packages.ghc963Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc983 = callPackage ../development/compilers/ghc/9.8.3.nix { + bootPkgs = + # For GHC 9.6 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 + else + bb.packages.ghc963Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc984 = callPackage ../development/compilers/ghc/9.8.4.nix { + bootPkgs = + # For GHC 9.6 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 + else + bb.packages.ghc963Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc98 = compiler.ghc982; # HLS doesn't work yet with 9.8.3 + ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix { + bootPkgs = + # For GHC 9.6 no armv7l bindists are available. + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 + else if stdenv.buildPlatform.isDarwin then + # it seems like the GHC 9.6.* bindists are built with a different + # toolchain than we are using (which I'm guessing from the fact + # that 9.6.4 bindists pass linker flags our ld doesn't support). + # With both 9.6.3 and 9.6.4 binary it is impossible to link against + # the clock package (probably a hsc2hs problem). + bb.packages.ghc963 + else + bb.packages.ghc963Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # 2023-01-15: Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15; + llvmPackages = pkgs.llvmPackages_15; + }; + ghc910 = compiler.ghc9101; + ghcHEAD = callPackage ../development/compilers/ghc/head.nix { + bootPkgs = + # No suitable bindist packaged yet + bb.packages.ghc9101; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + # 2023-01-15: Support range >= 11 && < 16 + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_18; + llvmPackages = pkgs.llvmPackages_18; + }; - ghcjs = compiler.ghcjs810; - ghcjs810 = callPackage ../development/compilers/ghcjs/8.10 { - bootPkgs = bb.packages.ghc810; - ghcjsSrcJson = ../development/compilers/ghcjs/8.10/git.json; - stage0 = ../development/compilers/ghcjs/8.10/stage0.nix; - }; + ghcjs = compiler.ghcjs810; + ghcjs810 = callPackage ../development/compilers/ghcjs/8.10 { + bootPkgs = bb.packages.ghc810; + ghcjsSrcJson = ../development/compilers/ghcjs/8.10/git.json; + stage0 = ../development/compilers/ghcjs/8.10/stage0.nix; + }; - # The integer-simple attribute set contains all the GHC compilers - # build with integer-simple instead of integer-gmp. - integer-simple = let - integerSimpleGhcNames = pkgs.lib.filter - (name: builtins.elem name integerSimpleIncludes) - (pkgs.lib.attrNames compiler); - in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs - integerSimpleGhcNames - (name: compiler.${name}.override { enableIntegerSimple = true; })); + # The integer-simple attribute set contains all the GHC compilers + # build with integer-simple instead of integer-gmp. + integer-simple = + let + integerSimpleGhcNames = pkgs.lib.filter (name: builtins.elem name integerSimpleIncludes) ( + pkgs.lib.attrNames compiler + ); + in + pkgs.recurseIntoAttrs ( + pkgs.lib.genAttrs integerSimpleGhcNames ( + name: compiler.${name}.override { enableIntegerSimple = true; } + ) + ); - # Starting from GHC 9, integer-{simple,gmp} is replaced by ghc-bignum - # with "native" and "gmp" backends. - native-bignum = let - nativeBignumGhcNames = pkgs.lib.filter - (name: !(builtins.elem name nativeBignumExcludes)) - (pkgs.lib.attrNames compiler); - in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs - nativeBignumGhcNames - (name: compiler.${name}.override { enableNativeBignum = true; })); - }; + # Starting from GHC 9, integer-{simple,gmp} is replaced by ghc-bignum + # with "native" and "gmp" backends. + native-bignum = + let + nativeBignumGhcNames = pkgs.lib.filter (name: !(builtins.elem name nativeBignumExcludes)) ( + pkgs.lib.attrNames compiler + ); + in + pkgs.recurseIntoAttrs ( + pkgs.lib.genAttrs nativeBignumGhcNames ( + name: compiler.${name}.override { enableNativeBignum = true; } + ) + ); + }; # Default overrides that are applied to all package sets. - packageOverrides = self : super : {}; + packageOverrides = self: super: { }; # Always get compilers from `buildPackages` - packages = let bh = buildPackages.haskell; in { + packages = + let + bh = buildPackages.haskell; + in + { - ghc865Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc865Binary; - ghc = bh.compiler.ghc865Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; - ghc8107Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc8107Binary; - ghc = bh.compiler.ghc8107Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; - ghc924Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc924Binary; - ghc = bh.compiler.ghc924Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; - ghc963Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc963Binary; - ghc = bh.compiler.ghc963Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; - ghc8107 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc8107; - ghc = bh.compiler.ghc8107; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; - }; - ghc810 = packages.ghc8107; - ghc902 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc902; - ghc = bh.compiler.ghc902; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; - }; - ghc90 = packages.ghc902; - ghc925 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc925; - ghc = bh.compiler.ghc925; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; - }; - ghc926 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc926; - ghc = bh.compiler.ghc926; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; - }; - ghc927 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc927; - ghc = bh.compiler.ghc927; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; - }; - ghc928 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc928; - ghc = bh.compiler.ghc928; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; - }; - ghc92 = packages.ghc928; - ghc945 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc945; - ghc = bh.compiler.ghc945; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; - }; - ghc946 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc946; - ghc = bh.compiler.ghc946; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; - }; - ghc947 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc947; - ghc = bh.compiler.ghc947; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; - }; - ghc948 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc948; - ghc = bh.compiler.ghc948; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; - }; - ghc94 = packages.ghc948; - ghc963 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc963; - ghc = bh.compiler.ghc963; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; - }; - ghc964 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc964; - ghc = bh.compiler.ghc964; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; - }; - ghc965 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc965; - ghc = bh.compiler.ghc965; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; - }; - ghc966 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc966; - ghc = bh.compiler.ghc966; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; - }; - ghc96 = packages.ghc966; - ghc981 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc981; - ghc = bh.compiler.ghc981; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; - }; - ghc982 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc982; - ghc = bh.compiler.ghc982; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; - }; - ghc983 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc983; - ghc = bh.compiler.ghc983; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; - }; - ghc984 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc984; - ghc = bh.compiler.ghc984; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; - }; - ghc98 = packages.ghc982; # HLS doesn't work yet with 9.8.3 - ghc9101 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc9101; - ghc = bh.compiler.ghc9101; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { }; - }; - ghc910 = packages.ghc9101; - ghcHEAD = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghcHEAD; - ghc = bh.compiler.ghcHEAD; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.14.x.nix { }; - }; + ghc865Binary = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc865Binary; + ghc = bh.compiler.ghc865Binary; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; + packageSetConfig = bootstrapPackageSet; + }; + ghc8107Binary = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc8107Binary; + ghc = bh.compiler.ghc8107Binary; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; + packageSetConfig = bootstrapPackageSet; + }; + ghc924Binary = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc924Binary; + ghc = bh.compiler.ghc924Binary; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; + packageSetConfig = bootstrapPackageSet; + }; + ghc963Binary = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc963Binary; + ghc = bh.compiler.ghc963Binary; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; + packageSetConfig = bootstrapPackageSet; + }; + ghc8107 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc8107; + ghc = bh.compiler.ghc8107; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; + }; + ghc810 = packages.ghc8107; + ghc902 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc902; + ghc = bh.compiler.ghc902; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; + }; + ghc90 = packages.ghc902; + ghc925 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc925; + ghc = bh.compiler.ghc925; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; + }; + ghc926 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc926; + ghc = bh.compiler.ghc926; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; + }; + ghc927 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc927; + ghc = bh.compiler.ghc927; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; + }; + ghc928 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc928; + ghc = bh.compiler.ghc928; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; + }; + ghc92 = packages.ghc928; + ghc945 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc945; + ghc = bh.compiler.ghc945; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; + }; + ghc946 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc946; + ghc = bh.compiler.ghc946; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; + }; + ghc947 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc947; + ghc = bh.compiler.ghc947; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; + }; + ghc948 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc948; + ghc = bh.compiler.ghc948; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { }; + }; + ghc94 = packages.ghc948; + ghc963 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc963; + ghc = bh.compiler.ghc963; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; + }; + ghc964 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc964; + ghc = bh.compiler.ghc964; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; + }; + ghc965 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc965; + ghc = bh.compiler.ghc965; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; + }; + ghc966 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc966; + ghc = bh.compiler.ghc966; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; + }; + ghc96 = packages.ghc966; + ghc981 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc981; + ghc = bh.compiler.ghc981; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; + }; + ghc982 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc982; + ghc = bh.compiler.ghc982; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; + }; + ghc983 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc983; + ghc = bh.compiler.ghc983; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; + }; + ghc984 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc984; + ghc = bh.compiler.ghc984; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; + }; + ghc98 = packages.ghc982; # HLS doesn't work yet with 9.8.3 + ghc9101 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc9101; + ghc = bh.compiler.ghc9101; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { }; + }; + ghc910 = packages.ghc9101; + ghcHEAD = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghcHEAD; + ghc = bh.compiler.ghcHEAD; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.14.x.nix { }; + }; - ghcjs = packages.ghcjs810; - ghcjs810 = callPackage ../development/haskell-modules rec { - buildHaskellPackages = ghc.bootPkgs; - ghc = bh.compiler.ghcjs810; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; - packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs-8.x.nix { }; - }; + ghcjs = packages.ghcjs810; + ghcjs810 = callPackage ../development/haskell-modules rec { + buildHaskellPackages = ghc.bootPkgs; + ghc = bh.compiler.ghcjs810; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; + packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs-8.x.nix { }; + }; - # The integer-simple attribute set contains package sets for all the GHC compilers - # using integer-simple instead of integer-gmp. - integer-simple = - let - integerSimpleGhcNames = pkgs.lib.filter - (name: builtins.elem name integerSimpleIncludes) - (pkgs.lib.attrNames packages); - in - pkgs.lib.genAttrs integerSimpleGhcNames - (name: + # The integer-simple attribute set contains package sets for all the GHC compilers + # using integer-simple instead of integer-gmp. + integer-simple = + let + integerSimpleGhcNames = pkgs.lib.filter (name: builtins.elem name integerSimpleIncludes) ( + pkgs.lib.attrNames packages + ); + in + pkgs.lib.genAttrs integerSimpleGhcNames ( + name: packages.${name}.override (oldAttrs: { ghc = bh.compiler.integer-simple.${name}; buildHaskellPackages = bh.packages.integer-simple.${name}; - overrides = - pkgs.lib.composeExtensions - (oldAttrs.overrides or (_: _: {})) - (_: _: { integer-simple = null; }); + overrides = pkgs.lib.composeExtensions (oldAttrs.overrides or (_: _: { })) ( + _: _: { integer-simple = null; } + ); }) ); - native-bignum = - let - nativeBignumGhcNames = pkgs.lib.filter - (name: !(builtins.elem name nativeBignumExcludes)) - (pkgs.lib.attrNames compiler); - in - pkgs.lib.genAttrs nativeBignumGhcNames - (name: + native-bignum = + let + nativeBignumGhcNames = pkgs.lib.filter (name: !(builtins.elem name nativeBignumExcludes)) ( + pkgs.lib.attrNames compiler + ); + in + pkgs.lib.genAttrs nativeBignumGhcNames ( + name: packages.${name}.override { ghc = bh.compiler.native-bignum.${name}; buildHaskellPackages = bh.packages.native-bignum.${name}; } ); - }; + }; } diff --git a/pkgs/top-level/haxe-packages.nix b/pkgs/top-level/haxe-packages.nix index e3221412aaa10..53d0119d9e118 100644 --- a/pkgs/top-level/haxe-packages.nix +++ b/pkgs/top-level/haxe-packages.nix @@ -1,4 +1,13 @@ -{ stdenv, lib, fetchzip, fetchFromGitHub, haxe, neko, jdk, mono }: +{ + stdenv, + lib, + fetchzip, + fetchFromGitHub, + haxe, + neko, + jdk, + mono, +}: let withCommas = lib.replaceStrings [ "." ] [ "," ]; @@ -11,50 +20,64 @@ let export HAXELIB_PATH="$HAXELIB_PATH:$devrepo" ''; - installLibHaxe = { libname, version, files ? "*" }: '' - mkdir -p "$out/lib/haxe/${withCommas libname}/${withCommas version}" - echo -n "${version}" > $out/lib/haxe/${withCommas libname}/.current - cp -dpR ${files} "$out/lib/haxe/${withCommas libname}/${withCommas version}/" - ''; + installLibHaxe = + { + libname, + version, + files ? "*", + }: + '' + mkdir -p "$out/lib/haxe/${withCommas libname}/${withCommas version}" + echo -n "${version}" > $out/lib/haxe/${withCommas libname}/.current + cp -dpR ${files} "$out/lib/haxe/${withCommas libname}/${withCommas version}/" + ''; buildHaxeLib = - { libname - , version - , sha256 - , meta - , ... - } @ attrs: - stdenv.mkDerivation (attrs // { - name = "${libname}-${version}"; - - buildInputs = (attrs.buildInputs or [ ]) ++ [ haxe neko ]; # for setup-hook.sh to work - src = fetchzip rec { + { + libname, + version, + sha256, + meta, + ... + }@attrs: + stdenv.mkDerivation ( + attrs + // { name = "${libname}-${version}"; - url = "http://lib.haxe.org/files/3.0/${withCommas name}.zip"; - inherit sha256; - stripRoot = false; - }; - installPhase = attrs.installPhase or '' - runHook preInstall - ( - if [ $(ls $src | wc -l) == 1 ]; then - cd $src/* || cd $src - else - cd $src - fi - ${installLibHaxe { inherit libname version; }} - ) - runHook postInstall - ''; + buildInputs = (attrs.buildInputs or [ ]) ++ [ + haxe + neko + ]; # for setup-hook.sh to work + src = fetchzip rec { + name = "${libname}-${version}"; + url = "http://lib.haxe.org/files/3.0/${withCommas name}.zip"; + inherit sha256; + stripRoot = false; + }; - meta = { - homepage = "http://lib.haxe.org/p/${libname}"; - license = lib.licenses.bsd2; - platforms = lib.platforms.all; - description = throw "please write meta.description"; - } // attrs.meta; - }); + installPhase = + attrs.installPhase or '' + runHook preInstall + ( + if [ $(ls $src | wc -l) == 1 ]; then + cd $src/* || cd $src + else + cd $src + fi + ${installLibHaxe { inherit libname version; }} + ) + runHook postInstall + ''; + + meta = { + homepage = "http://lib.haxe.org/p/${libname}"; + license = lib.licenses.bsd2; + platforms = lib.platforms.all; + description = throw "please write meta.description"; + } // attrs.meta; + } + ); in { format = buildHaxeLib { @@ -93,7 +116,7 @@ in for f in $out/lib/haxe/${withCommas libname}/${withCommas version}/{,project/libs/nekoapi/}bin/Linux{,64}/*; do chmod +w "$f" patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) "$f" || true - patchelf --set-rpath ${ lib.makeLibraryPath [ stdenv.cc.cc ] } "$f" || true + patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc ]} "$f" || true done ''; meta.description = "Runtime support library for the Haxe C++ backend"; diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 020d505d98252..0def6c5b74b1b 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -5,48 +5,64 @@ with pkgs; { inherit (pkgs) openjfx17 openjfx21 openjfx23; - compiler = let - mkOpenjdk = featureVersion: path-darwin: - if stdenv.hostPlatform.isLinux - then mkOpenjdkLinuxOnly featureVersion - else let - openjdk = callPackage path-darwin {}; - in openjdk // { headless = openjdk; }; - - mkOpenjdkLinuxOnly = featureVersion: let - openjdk = callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }; - in assert stdenv.hostPlatform.isLinux; openjdk // { - headless = openjdk.override { headless = true; }; - }; + compiler = + let + mkOpenjdk = + featureVersion: path-darwin: + if stdenv.hostPlatform.isLinux then + mkOpenjdkLinuxOnly featureVersion + else + let + openjdk = callPackage path-darwin { }; + in + openjdk // { headless = openjdk; }; + + mkOpenjdkLinuxOnly = + featureVersion: + let + openjdk = callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }; + in + assert stdenv.hostPlatform.isLinux; + openjdk + // { + headless = openjdk.override { headless = true; }; + }; + + in + rec { + corretto11 = callPackage ../development/compilers/corretto/11.nix { }; + corretto17 = callPackage ../development/compilers/corretto/17.nix { }; + corretto21 = callPackage ../development/compilers/corretto/21.nix { }; + + openjdk8 = mkOpenjdk "8" ../development/compilers/zulu/8.nix; + openjdk11 = mkOpenjdk "11" ../development/compilers/zulu/11.nix; + openjdk17 = mkOpenjdk "17" ../development/compilers/zulu/17.nix; + openjdk21 = mkOpenjdk "21" ../development/compilers/zulu/21.nix; + openjdk23 = mkOpenjdk "23" ../development/compilers/zulu/23.nix; - in rec { - corretto11 = callPackage ../development/compilers/corretto/11.nix { }; - corretto17 = callPackage ../development/compilers/corretto/17.nix { }; - corretto21 = callPackage ../development/compilers/corretto/21.nix { }; - - openjdk8 = mkOpenjdk "8" ../development/compilers/zulu/8.nix; - openjdk11 = mkOpenjdk "11" ../development/compilers/zulu/11.nix; - openjdk17 = mkOpenjdk "17" ../development/compilers/zulu/17.nix; - openjdk21 = mkOpenjdk "21" ../development/compilers/zulu/21.nix; - openjdk23 = mkOpenjdk "23" ../development/compilers/zulu/23.nix; - - # Legacy aliases - openjdk8-bootstrap = temurin-bin.jdk-8; - openjdk11-bootstrap = temurin-bin.jdk-11; - openjdk17-bootstrap = temurin-bin.jdk-17; - - temurin-bin = recurseIntoAttrs (callPackage ( - if stdenv.hostPlatform.isLinux - then ../development/compilers/temurin-bin/jdk-linux.nix - else ../development/compilers/temurin-bin/jdk-darwin.nix - ) {}); - - semeru-bin = recurseIntoAttrs (callPackage ( - if stdenv.hostPlatform.isLinux - then ../development/compilers/semeru-bin/jdk-linux.nix - else ../development/compilers/semeru-bin/jdk-darwin.nix - ) {}); - }; + # Legacy aliases + openjdk8-bootstrap = temurin-bin.jdk-8; + openjdk11-bootstrap = temurin-bin.jdk-11; + openjdk17-bootstrap = temurin-bin.jdk-17; + + temurin-bin = recurseIntoAttrs ( + callPackage ( + if stdenv.hostPlatform.isLinux then + ../development/compilers/temurin-bin/jdk-linux.nix + else + ../development/compilers/temurin-bin/jdk-darwin.nix + ) { } + ); + + semeru-bin = recurseIntoAttrs ( + callPackage ( + if stdenv.hostPlatform.isLinux then + ../development/compilers/semeru-bin/jdk-linux.nix + else + ../development/compilers/semeru-bin/jdk-darwin.nix + ) { } + ); + }; } // lib.optionalAttrs config.allowAliases { jogl_2_4_0 = throw "'jogl_2_4_0' is renamed to/replaced by 'jogl'"; diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 6f62f2dee8ec0..b476daa36cb83 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -1,17 +1,19 @@ -/* This file defines the composition for Lua packages. It has +/* + This file defines the composition for Lua packages. It has been factored out of all-packages.nix because there are many of them. Also, because most Nix expressions for Lua packages are trivial, most are actually defined here. I.e. there's no function for each package in a separate file: the call to the function would - be almost as must code as the function itself. */ - -{ pkgs -, stdenv -, lib -, lua + be almost as must code as the function itself. +*/ + +{ + pkgs, + stdenv, + lib, + lua, }: - self: let @@ -19,15 +21,17 @@ let buildLuaApplication = args: buildLuarocksPackage ({ namePrefix = ""; } // args); - buildLuarocksPackage = lib.makeOverridable (callPackage ../development/interpreters/lua-5/build-luarocks-package.nix { }); + buildLuarocksPackage = lib.makeOverridable ( + callPackage ../development/interpreters/lua-5/build-luarocks-package.nix { } + ); luaLib = callPackage ../development/lua-modules/lib.nix { }; #define build lua package function buildLuaPackage = callPackage ../development/lua-modules/generic { }; - getPath = drv: pathListForVersion: - lib.concatMapStringsSep ";" (path: "${drv}/${path}") pathListForVersion; + getPath = + drv: pathListForVersion: lib.concatMapStringsSep ";" (path: "${drv}/${path}") pathListForVersion; in rec { @@ -42,12 +46,23 @@ rec { getLuaCPath = drv: getPath drv luaLib.luaCPathList; inherit (callPackage ../development/interpreters/lua-5/hooks { }) - luarocksMoveDataFolder luarocksCheckHook; + luarocksMoveDataFolder + luarocksCheckHook + ; inherit lua; inherit buildLuaPackage buildLuarocksPackage buildLuaApplication; - inherit (luaLib) luaOlder luaAtLeast isLua51 isLua52 isLua53 isLuaJIT - requiredLuaModules toLuaModule hasLuaModule; + inherit (luaLib) + luaOlder + luaAtLeast + isLua51 + isLua52 + isLua53 + isLuaJIT + requiredLuaModules + toLuaModule + hasLuaModule + ; # wraps programs in $out/bin with valid LUA_PATH/LUA_CPATH wrapLua = callPackage ../development/interpreters/lua-5/wrap-lua.nix { @@ -59,150 +74,181 @@ rec { # a fork of luarocks used to generate nix lua derivations from rockspecs luarocks-nix = toLuaModule (callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { }); - lua-pam = callPackage({fetchFromGitHub, linux-pam, openpam}: buildLuaPackage rec { - pname = "lua-pam"; - version = "unstable-2015-07-03"; - # Needed for `disabled`, overridden in buildLuaPackage - name = "${pname}-${version}"; - - src = fetchFromGitHub { - owner = "devurandom"; - repo = "lua-pam"; - rev = "3818ee6346a976669d74a5cbc2a83ad2585c5953"; - hash = "sha256-YlMZ5mM9Ij/9yRmgA0X1ahYVZMUx8Igj5OBvAMskqTg="; - fetchSubmodules = true; - }; - - # The makefile tries to link to `-llua` - LUA_LIBS = "-llua"; - - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [linux-pam] - ++ lib.optionals stdenv.hostPlatform.isDarwin [openpam]; - - installPhase = '' - runHook preInstall - - install -Dm755 pam.so $out/lib/lua/${lua.luaversion}/pam.so - - runHook postInstall - ''; - - # The package does not build with lua 5.4 or luaJIT - disabled = luaAtLeast "5.4" || isLuaJIT; - - meta = with lib; { - description = "Lua module for PAM authentication"; - homepage = "https://github.com/devurandom/lua-pam"; - license = licenses.mit; - maintainers = with maintainers; [ traxys ]; - }; - }) {}; - - lua-resty-core = callPackage ({ fetchFromGitHub }: buildLuaPackage rec { - pname = "lua-resty-core"; - version = "0.1.28"; - - src = fetchFromGitHub { - owner = "openresty"; - repo = "lua-resty-core"; - rev = "v${version}"; - sha256 = "sha256-RJ2wcHTu447wM0h1fa2qCBl4/p9XL6ZqX9pktRW64RI="; - }; - - propagatedBuildInputs = [ lua-resty-lrucache ]; - - meta = with lib; { - description = "New FFI-based API for lua-nginx-module"; - homepage = "https://github.com/openresty/lua-resty-core"; - license = licenses.bsd3; - maintainers = [ ]; - }; - }) {}; - - lua-resty-lrucache = callPackage ({ fetchFromGitHub }: buildLuaPackage rec { - pname = "lua-resty-lrucache"; - version = "0.13"; - - src = fetchFromGitHub { - owner = "openresty"; - repo = "lua-resty-lrucache"; - rev = "v${version}"; - sha256 = "sha256-J8RNAMourxqUF8wPKd8XBhNwGC/x1KKvrVnZtYDEu4Q="; - }; - - meta = with lib; { - description = "Lua-land LRU Cache based on LuaJIT FFI"; - homepage = "https://github.com/openresty/lua-resty-lrucache"; - license = licenses.bsd3; - maintainers = [ ]; - }; - }) {}; - - luxio = callPackage ({ fetchurl, which, pkg-config }: buildLuaPackage rec { - pname = "luxio"; - version = "13"; - - src = fetchurl { - url = "https://git.gitano.org.uk/luxio.git/snapshot/luxio-luxio-${version}.tar.bz2"; - sha256 = "1hvwslc25q7k82rxk461zr1a2041nxg7sn3sw3w0y5jxf0giz2pz"; - }; - - nativeBuildInputs = [ which pkg-config ]; - - postPatch = '' - patchShebangs const-proc.lua - ''; - - preBuild = '' - makeFlagsArray=( - INST_LIBDIR="$out/lib/lua/${lua.luaversion}" - INST_LUADIR="$out/share/lua/${lua.luaversion}" - LUA_BINDIR="$out/bin" - INSTALL=install - ); - ''; - - meta = with lib; { - broken = stdenv.hostPlatform.isDarwin; - description = "Lightweight UNIX I/O and POSIX binding for Lua"; - homepage = "https://www.gitano.org.uk/luxio/"; - license = licenses.mit; - maintainers = with maintainers; [ richardipsum ]; - platforms = platforms.unix; - }; - }) {}; + lua-pam = callPackage ( + { + fetchFromGitHub, + linux-pam, + openpam, + }: + buildLuaPackage rec { + pname = "lua-pam"; + version = "unstable-2015-07-03"; + # Needed for `disabled`, overridden in buildLuaPackage + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "devurandom"; + repo = "lua-pam"; + rev = "3818ee6346a976669d74a5cbc2a83ad2585c5953"; + hash = "sha256-YlMZ5mM9Ij/9yRmgA0X1ahYVZMUx8Igj5OBvAMskqTg="; + fetchSubmodules = true; + }; + + # The makefile tries to link to `-llua` + LUA_LIBS = "-llua"; + + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ openpam ]; + + installPhase = '' + runHook preInstall + + install -Dm755 pam.so $out/lib/lua/${lua.luaversion}/pam.so + + runHook postInstall + ''; + + # The package does not build with lua 5.4 or luaJIT + disabled = luaAtLeast "5.4" || isLuaJIT; + + meta = with lib; { + description = "Lua module for PAM authentication"; + homepage = "https://github.com/devurandom/lua-pam"; + license = licenses.mit; + maintainers = with maintainers; [ traxys ]; + }; + } + ) { }; + + lua-resty-core = callPackage ( + { fetchFromGitHub }: + buildLuaPackage rec { + pname = "lua-resty-core"; + version = "0.1.28"; + + src = fetchFromGitHub { + owner = "openresty"; + repo = "lua-resty-core"; + rev = "v${version}"; + sha256 = "sha256-RJ2wcHTu447wM0h1fa2qCBl4/p9XL6ZqX9pktRW64RI="; + }; + + propagatedBuildInputs = [ lua-resty-lrucache ]; + + meta = with lib; { + description = "New FFI-based API for lua-nginx-module"; + homepage = "https://github.com/openresty/lua-resty-core"; + license = licenses.bsd3; + maintainers = [ ]; + }; + } + ) { }; + + lua-resty-lrucache = callPackage ( + { fetchFromGitHub }: + buildLuaPackage rec { + pname = "lua-resty-lrucache"; + version = "0.13"; + + src = fetchFromGitHub { + owner = "openresty"; + repo = "lua-resty-lrucache"; + rev = "v${version}"; + sha256 = "sha256-J8RNAMourxqUF8wPKd8XBhNwGC/x1KKvrVnZtYDEu4Q="; + }; + + meta = with lib; { + description = "Lua-land LRU Cache based on LuaJIT FFI"; + homepage = "https://github.com/openresty/lua-resty-lrucache"; + license = licenses.bsd3; + maintainers = [ ]; + }; + } + ) { }; + + luxio = callPackage ( + { + fetchurl, + which, + pkg-config, + }: + buildLuaPackage rec { + pname = "luxio"; + version = "13"; + + src = fetchurl { + url = "https://git.gitano.org.uk/luxio.git/snapshot/luxio-luxio-${version}.tar.bz2"; + sha256 = "1hvwslc25q7k82rxk461zr1a2041nxg7sn3sw3w0y5jxf0giz2pz"; + }; + + nativeBuildInputs = [ + which + pkg-config + ]; + + postPatch = '' + patchShebangs const-proc.lua + ''; + + preBuild = '' + makeFlagsArray=( + INST_LIBDIR="$out/lib/lua/${lua.luaversion}" + INST_LUADIR="$out/share/lua/${lua.luaversion}" + LUA_BINDIR="$out/bin" + INSTALL=install + ); + ''; + + meta = with lib; { + broken = stdenv.hostPlatform.isDarwin; + description = "Lightweight UNIX I/O and POSIX binding for Lua"; + homepage = "https://www.gitano.org.uk/luxio/"; + license = licenses.mit; + maintainers = with maintainers; [ richardipsum ]; + platforms = platforms.unix; + }; + } + ) { }; nfd = callPackage ../development/lua-modules/nfd { inherit (pkgs) zenity; inherit (pkgs.darwin.apple_sdk.frameworks) AppKit; }; - vicious = callPackage ({ fetchFromGitHub }: stdenv.mkDerivation rec { - pname = "vicious"; - version = "2.6.0"; - - src = fetchFromGitHub { - owner = "vicious-widgets"; - repo = "vicious"; - rev = "v${version}"; - sha256 = "sha256-VlJ2hNou2+t7eSyHmFkC2xJ92OH/uJ/ewYHkFLQjUPQ="; - }; - - buildInputs = [ lua ]; - - installPhase = '' - mkdir -p $out/lib/lua/${lua.luaversion}/ - cp -r . $out/lib/lua/${lua.luaversion}/vicious/ - printf "package.path = '$out/lib/lua/${lua.luaversion}/?/init.lua;' .. package.path\nreturn require((...) .. '.init')\n" > $out/lib/lua/${lua.luaversion}/vicious.lua - ''; - - meta = with lib; { - description = "Modular widget library for the awesome window manager"; - homepage = "https://vicious.rtfd.io"; - changelog = "https://vicious.rtfd.io/en/v${version}/changelog.html"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ makefu mic92 McSinyx ]; - platforms = platforms.linux; - }; - }) {}; + vicious = callPackage ( + { fetchFromGitHub }: + stdenv.mkDerivation rec { + pname = "vicious"; + version = "2.6.0"; + + src = fetchFromGitHub { + owner = "vicious-widgets"; + repo = "vicious"; + rev = "v${version}"; + sha256 = "sha256-VlJ2hNou2+t7eSyHmFkC2xJ92OH/uJ/ewYHkFLQjUPQ="; + }; + + buildInputs = [ lua ]; + + installPhase = '' + mkdir -p $out/lib/lua/${lua.luaversion}/ + cp -r . $out/lib/lua/${lua.luaversion}/vicious/ + printf "package.path = '$out/lib/lua/${lua.luaversion}/?/init.lua;' .. package.path\nreturn require((...) .. '.init')\n" > $out/lib/lua/${lua.luaversion}/vicious.lua + ''; + + meta = with lib; { + description = "Modular widget library for the awesome window manager"; + homepage = "https://vicious.rtfd.io"; + changelog = "https://vicious.rtfd.io/en/v${version}/changelog.html"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ + makefu + mic92 + McSinyx + ]; + platforms = platforms.linux; + }; + } + ) { }; } diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index 2fb6e97a711e6..1b90e4bfdb66c 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -1,8 +1,9 @@ -{ nixpkgs -, officialRelease -, pkgs ? import nixpkgs.outPath {} -, nix ? pkgs.nix -, lib-tests ? import ../../lib/tests/release.nix { inherit pkgs; } +{ + nixpkgs, + officialRelease, + pkgs ? import nixpkgs.outPath { }, + nix ? pkgs.nix, + lib-tests ? import ../../lib/tests/release.nix { inherit pkgs; }, }: pkgs.releaseTools.sourceTarball { @@ -12,11 +13,18 @@ pkgs.releaseTools.sourceTarball { inherit officialRelease; version = pkgs.lib.fileContents ../../.version; versionSuffix = "pre${ - if nixpkgs ? lastModified - then builtins.substring 0 8 (nixpkgs.lastModifiedDate or nixpkgs.lastModified) - else toString (nixpkgs.revCount or 0)}.${nixpkgs.shortRev or "dirty"}"; + if nixpkgs ? lastModified then + builtins.substring 0 8 (nixpkgs.lastModifiedDate or nixpkgs.lastModified) + else + toString (nixpkgs.revCount or 0) + }.${nixpkgs.shortRev or "dirty"}"; - buildInputs = with pkgs; [ nix.out jq lib-tests brotli ]; + buildInputs = with pkgs; [ + nix.out + jq + lib-tests + brotli + ]; configurePhase = '' eval "$preConfigure" diff --git a/pkgs/top-level/metrics.nix b/pkgs/top-level/metrics.nix index 6caec7327e590..c6ff0f349313d 100644 --- a/pkgs/top-level/metrics.nix +++ b/pkgs/top-level/metrics.nix @@ -3,7 +3,14 @@ with pkgs; runCommand "nixpkgs-metrics" - { nativeBuildInputs = with pkgs.lib; map getBin [ nix time jq ]; + { + nativeBuildInputs = + with pkgs.lib; + map getBin [ + nix + time + jq + ]; # see https://github.com/NixOS/nixpkgs/issues/52436 #requiredSystemFeatures = [ "benchmark" ]; # dedicated `t2a` machine, by @vcunat } diff --git a/pkgs/top-level/nim-overrides.nix b/pkgs/top-level/nim-overrides.nix index 61717562e89e8..4e45ddf5cff36 100644 --- a/pkgs/top-level/nim-overrides.nix +++ b/pkgs/top-level/nim-overrides.nix @@ -1,75 +1,131 @@ -{ lib -, stdenv -, getdns -, htslib -, libsass -, openssl -, pkg-config -, raylib -, SDL2 -, tkrzw -, xorg +{ + lib, + stdenv, + getdns, + htslib, + libsass, + openssl, + pkg-config, + raylib, + SDL2, + tkrzw, + xorg, }: # The following is list of overrides that take two arguments each: # - lockAttrs: - an attrset from a Nim lockfile, use this for making constraints on the locked library # - prevAttrs: - preceding arguments to the depender package { - jester = lockAttrs: - { buildInputs ? [ ], ... }: { + jester = + lockAttrs: + { + buildInputs ? [ ], + ... + }: + { buildInputs = buildInputs ++ [ openssl ]; }; - hts = lockAttrs: - { buildInputs ? [ ], ... }: { + hts = + lockAttrs: + { + buildInputs ? [ ], + ... + }: + { buildInputs = buildInputs ++ [ htslib ]; }; - getdns = lockAttrs: - { nativeBuildInputs ? [ ], buildInputs ? [ ], ... }: { + getdns = + lockAttrs: + { + nativeBuildInputs ? [ ], + buildInputs ? [ ], + ... + }: + { nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ]; buildInputs = buildInputs ++ [ getdns ]; }; - hashlib = lockAttrs: - lib.trivial.warnIf - (lockAttrs.rev == "84e0247555e4488594975900401baaf5bbbfb531") + hashlib = + lockAttrs: + lib.trivial.warnIf (lockAttrs.rev == "84e0247555e4488594975900401baaf5bbbfb531") "the selected version of the hashlib Nim library is hardware specific" # https://github.com/khchen/hashlib/pull/4 # remove when fixed upstream (_: { }); - nimraylib_now = lockAttrs: - { buildInputs ? [ ], ... }: { + nimraylib_now = + lockAttrs: + { + buildInputs ? [ ], + ... + }: + { buildInputs = buildInputs ++ [ raylib ]; }; - sass = lockAttrs: - { buildInputs ? [ ], ... }: { + sass = + lockAttrs: + { + buildInputs ? [ ], + ... + }: + { buildInputs = buildInputs ++ [ libsass ]; }; - sdl2 = lockAttrs: - { buildInputs ? [ ], ... }: { + sdl2 = + lockAttrs: + { + buildInputs ? [ ], + ... + }: + { buildInputs = buildInputs ++ [ SDL2 ]; }; - tkrzw = lockAttrs: - { nativeBuildInputs ? [ ], buildInputs ? [ ], ... }: { + tkrzw = + lockAttrs: + { + nativeBuildInputs ? [ ], + buildInputs ? [ ], + ... + }: + { nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ]; buildInputs = buildInputs ++ [ tkrzw ]; }; - x11 = lockAttrs: - { buildInputs ? [ ], ... }: { - buildInputs = buildInputs ++ (with xorg; [ libX11 libXft libXinerama ]); + x11 = + lockAttrs: + { + buildInputs ? [ ], + ... + }: + { + buildInputs = + buildInputs + ++ (with xorg; [ + libX11 + libXft + libXinerama + ]); }; - zippy = lockAttrs: - { nimFlags ? [ ], ... }: { - nimFlags = nimFlags ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - "--passC:-msse4.1" - "--passC:-mpclmul" - ]; + zippy = + lockAttrs: + { + nimFlags ? [ ], + ... + }: + { + nimFlags = + nimFlags + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + "--passC:-msse4.1" + "--passC:-mpclmul" + ]; }; } diff --git a/pkgs/top-level/nixpkgs-basic-release-checks.nix b/pkgs/top-level/nixpkgs-basic-release-checks.nix index 3cbb581734afb..ed88991dd2cd6 100644 --- a/pkgs/top-level/nixpkgs-basic-release-checks.nix +++ b/pkgs/top-level/nixpkgs-basic-release-checks.nix @@ -1,4 +1,8 @@ -{ supportedSystems, nixpkgs, pkgs }: +{ + supportedSystems, + nixpkgs, + pkgs, +}: pkgs.runCommand "nixpkgs-release-checks" { @@ -98,4 +102,4 @@ pkgs.runCommand "nixpkgs-release-checks" done touch $out -'' + '' diff --git a/pkgs/top-level/octave-packages.nix b/pkgs/top-level/octave-packages.nix index c6d0839e96827..00901a75cb5be 100644 --- a/pkgs/top-level/octave-packages.nix +++ b/pkgs/top-level/octave-packages.nix @@ -11,12 +11,13 @@ # Like python-packages.nix, packages from top-level.nix are not in the scope # of the `callPackage` used for packages here. So, when we do need packages # from outside, we can `inherit` them from `pkgs`. -{ pkgs -, lib -, stdenv -, fetchurl -, newScope -, octave +{ + pkgs, + lib, + stdenv, + fetchurl, + newScope, + octave, }: let @@ -29,7 +30,8 @@ let ; in -makeScope newScope (self: +makeScope newScope ( + self: let callPackage = self.callPackage; @@ -41,18 +43,23 @@ makeScope newScope (self: # Given a list of required Octave package derivations, get a list of # ALL required Octave packages needed for the ones specified to run. - computeRequiredOctavePackages = drvs: let - # Check whether a derivation is an octave package - hasOctavePackage = drv: drv?isOctavePackage; - packages = filter hasOctavePackage drvs; - in unique (packages ++ concatLists (catAttrs "requiredOctavePackages" packages)); - - in { + computeRequiredOctavePackages = + drvs: + let + # Check whether a derivation is an octave package + hasOctavePackage = drv: drv ? isOctavePackage; + packages = filter hasOctavePackage drvs; + in + unique (packages ++ concatLists (catAttrs "requiredOctavePackages" packages)); + + in + { inherit callPackage buildOctavePackage computeRequiredOctavePackages; inherit (callPackage ../development/interpreters/octave/hooks { }) - writeRequiredOctavePackagesHook; + writeRequiredOctavePackagesHook + ; arduino = callPackage ../development/octave-modules/arduino { inherit (pkgs) arduino-core-unwrapped; @@ -131,7 +138,12 @@ makeScope newScope (self: lssa = callPackage ../development/octave-modules/lssa { }; ltfat = callPackage ../development/octave-modules/ltfat { - inherit (octave) fftw fftwSinglePrec portaudio jdk; + inherit (octave) + fftw + fftwSinglePrec + portaudio + jdk + ; inherit (pkgs) fftwFloat fftwLongDouble; }; @@ -218,4 +230,5 @@ makeScope newScope (self: inherit (pkgs) zeromq autoreconfHook; }; - }) + } +) diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index 769cfb73d28f5..0927833509f02 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -6,37 +6,40 @@ # Enable recursion into attribute sets that nix-env normally doesn't look into # so that we can get a more complete picture of the available packages for the # purposes of the index. - packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) { - inherit (super) - agdaPackages - apacheHttpdPackages - fdbPackages - fusePackages - gns3Packages - haskellPackages - idrisPackages - nodePackages - nodePackages_latest - platformioPackages - rPackages - roundcubePlugins - sourceHanPackages - zabbix50 - zabbix60 - zeroadPackages - ; + packageOverrides = + super: + with super; + lib.mapAttrs (_: set: recurseIntoAttrs set) { + inherit (super) + agdaPackages + apacheHttpdPackages + fdbPackages + fusePackages + gns3Packages + haskellPackages + idrisPackages + nodePackages + nodePackages_latest + platformioPackages + rPackages + roundcubePlugins + sourceHanPackages + zabbix50 + zabbix60 + zeroadPackages + ; - # Make sure haskell.compiler is included, so alternative GHC versions show up, - # but don't add haskell.packages.* since they contain the same packages (at - # least by name) as haskellPackages. - haskell = super.haskell // { - compiler = recurseIntoAttrs super.haskell.compiler; - }; + # Make sure haskell.compiler is included, so alternative GHC versions show up, + # but don't add haskell.packages.* since they contain the same packages (at + # least by name) as haskellPackages. + haskell = super.haskell // { + compiler = recurseIntoAttrs super.haskell.compiler; + }; - # minimal-bootstrap packages aren't used for anything but bootstrapping our - # stdenv. They should not be used for any other purpose and therefore not - # show up in search results or repository tracking services that consume our - # packages.json https://github.com/NixOS/nixpkgs/issues/244966 - minimal-bootstrap = { }; - }; + # minimal-bootstrap packages aren't used for anything but bootstrapping our + # stdenv. They should not be used for any other purpose and therefore not + # show up in search results or repository tracking services that consume our + # packages.json https://github.com/NixOS/nixpkgs/issues/244966 + minimal-bootstrap = { }; + }; } diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 83130505ffe4d..87724fc2bd759 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,736 +1,857 @@ -{ stdenv -, config -, callPackages -, lib -, pkgs -, phpPackage -, autoconf -, pkg-config -, bzip2 -, curl -, cyrus_sasl -, enchant2 -, freetds -, gd -, gettext -, gmp -, html-tidy -, icu73 -, libffi -, libiconv -, libkrb5 -, libsodium -, libxml2 -, libxslt -, libzip -, net-snmp -, nix-update-script -, oniguruma -, openldap -, openssl_1_1 -, openssl -, overrideSDK -, pam -, pcre2 -, postgresql -, bison -, re2c -, readline -, rsync -, sqlite -, unixODBC -, uwimap -, valgrind -, zlib -, fetchpatch +{ + stdenv, + config, + callPackages, + lib, + pkgs, + phpPackage, + autoconf, + pkg-config, + bzip2, + curl, + cyrus_sasl, + enchant2, + freetds, + gd, + gettext, + gmp, + html-tidy, + icu73, + libffi, + libiconv, + libkrb5, + libsodium, + libxml2, + libxslt, + libzip, + net-snmp, + nix-update-script, + oniguruma, + openldap, + openssl_1_1, + openssl, + overrideSDK, + pam, + pcre2, + postgresql, + bison, + re2c, + readline, + rsync, + sqlite, + unixODBC, + uwimap, + valgrind, + zlib, + fetchpatch, }: -lib.makeScope pkgs.newScope (self: let - inherit (self) buildPecl callPackage mkExtension php; - - builders = import ../build-support/php/builders { - inherit callPackages callPackage buildPecl; - }; -in { - buildPecl = callPackage ../build-support/php/build-pecl.nix { - php = php.unwrapped; - }; - - inherit (builders.v1) buildComposerProject buildComposerWithPlugin composerHooks mkComposerRepository; - - # Next version of the builder - buildComposerProject2 = builders.v2.buildComposerProject; - composerHooks2 = builders.v2.composerHooks; - mkComposerVendor = builders.v2.mkComposerVendor; - - # Wrap mkDerivation to prepend pname with "php-" to make names consistent - # with how buildPecl does it and make the file easier to overview. - mkDerivation = origArgs: - let - args = lib.fix (lib.extends - (_: previousAttrs: { - pname = "php-${previousAttrs.pname}"; - passthru = (previousAttrs.passthru or { }) // { - updateScript = nix-update-script { }; - }; - meta = (previousAttrs.meta or { }) // { - mainProgram = previousAttrs.meta.mainProgram or previousAttrs.pname; - }; - }) - (if lib.isFunction origArgs then origArgs else (_: origArgs)) - ); - in - pkgs.stdenv.mkDerivation args; - - # Function to build an extension which is shipped as part of the php - # source, based on the php version. - # - # Name passed is the name of the extension and is automatically used - # to add the configureFlag "--enable-${name}", which can be overridden. - # - # Build inputs is used for extra deps that may be needed. And zendExtension - # will mark the extension as a zend extension or not. - mkExtension = lib.makeOverridable - ({ name - , configureFlags ? [ "--enable-${extName}" ] - , internalDeps ? [ ] - , postPhpize ? "" - , buildInputs ? [ ] - , zendExtension ? false - , doCheck ? true - , extName ? name - , ... - }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { - pname = "php-${name}"; - extensionName = extName; - - outputs = [ "out" "dev" ]; - - inherit (php.unwrapped) version src; - - enableParallelBuilding = true; - - nativeBuildInputs = [ - php.unwrapped - autoconf - pkg-config - re2c - bison - ]; - - inherit configureFlags internalDeps buildInputs zendExtension doCheck; - - preConfigurePhases = [ - "genfiles" - "cdToExtensionRootPhase" - ]; - - genfiles = '' - if [ -f "scripts/dev/genfiles" ]; then - ./scripts/dev/genfiles - fi - ''; - - cdToExtensionRootPhase = '' - # Go to extension source root. - cd "ext/${extName}" - ''; - - preConfigure = '' - nullglobRestore=$(shopt -p nullglob) - shopt -u nullglob # To make ?-globbing work - - # Some extensions have a config0.m4 or config9.m4 - if [ -f config?.m4 ]; then - mv config?.m4 config.m4 - fi - - $nullglobRestore - - phpize - ${postPhpize} - - ${lib.concatMapStringsSep - "\n" - (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}") - internalDeps - } - ''; - - checkPhase = '' - runHook preCheck - - NO_INTERACTION=yes SKIP_PERF_SENSITIVE=yes SKIP_ONLINE_TESTS=yes make test - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/lib/php/extensions - cp modules/${extName}.so $out/lib/php/extensions/${extName}.so - mkdir -p $dev/include - ${rsync}/bin/rsync -r --filter="+ */" \ - --filter="+ *.h" \ - --filter="- *" \ - --prune-empty-dirs \ - . $dev/include/ - - runHook postInstall - ''; - - meta = { - description = "PHP upstream extension: ${name}"; - inherit (php.meta) maintainers homepage license platforms; - } // args.meta or { }; - })); - - php = phpPackage; - - # This is a set of interactive tools based on PHP. - tools = { - box = callPackage ../development/php-packages/box { }; - - castor = callPackage ../development/php-packages/castor { }; - - composer = callPackage ../development/php-packages/composer { }; - - composer-local-repo-plugin = callPackage ../development/php-packages/composer-local-repo-plugin { }; - - cyclonedx-php-composer = callPackage ../development/php-packages/cyclonedx-php-composer { }; +lib.makeScope pkgs.newScope ( + self: + let + inherit (self) + buildPecl + callPackage + mkExtension + php + ; + + builders = import ../build-support/php/builders { + inherit callPackages callPackage buildPecl; + }; + in + { + buildPecl = callPackage ../build-support/php/build-pecl.nix { + php = php.unwrapped; + }; - deployer = callPackage ../development/php-packages/deployer { }; + inherit (builders.v1) + buildComposerProject + buildComposerWithPlugin + composerHooks + mkComposerRepository + ; + + # Next version of the builder + buildComposerProject2 = builders.v2.buildComposerProject; + composerHooks2 = builders.v2.composerHooks; + mkComposerVendor = builders.v2.mkComposerVendor; + + # Wrap mkDerivation to prepend pname with "php-" to make names consistent + # with how buildPecl does it and make the file easier to overview. + mkDerivation = + origArgs: + let + args = lib.fix ( + lib.extends (_: previousAttrs: { + pname = "php-${previousAttrs.pname}"; + passthru = (previousAttrs.passthru or { }) // { + updateScript = nix-update-script { }; + }; + meta = (previousAttrs.meta or { }) // { + mainProgram = previousAttrs.meta.mainProgram or previousAttrs.pname; + }; + }) (if lib.isFunction origArgs then origArgs else (_: origArgs)) + ); + in + pkgs.stdenv.mkDerivation args; + + # Function to build an extension which is shipped as part of the php + # source, based on the php version. + # + # Name passed is the name of the extension and is automatically used + # to add the configureFlag "--enable-${name}", which can be overridden. + # + # Build inputs is used for extra deps that may be needed. And zendExtension + # will mark the extension as a zend extension or not. + mkExtension = lib.makeOverridable ( + { + name, + configureFlags ? [ "--enable-${extName}" ], + internalDeps ? [ ], + postPhpize ? "", + buildInputs ? [ ], + zendExtension ? false, + doCheck ? true, + extName ? name, + ... + }@args: + stdenv.mkDerivation ( + (builtins.removeAttrs args [ "name" ]) + // { + pname = "php-${name}"; + extensionName = extName; + + outputs = [ + "out" + "dev" + ]; - grumphp = callPackage ../development/php-packages/grumphp { }; + inherit (php.unwrapped) version src; - phan = callPackage ../development/php-packages/phan { }; + enableParallelBuilding = true; - phing = callPackage ../development/php-packages/phing { }; + nativeBuildInputs = [ + php.unwrapped + autoconf + pkg-config + re2c + bison + ]; - phive = callPackage ../development/php-packages/phive { }; + inherit + configureFlags + internalDeps + buildInputs + zendExtension + doCheck + ; + + preConfigurePhases = [ + "genfiles" + "cdToExtensionRootPhase" + ]; - php-codesniffer = callPackage ../development/php-packages/php-codesniffer { }; + genfiles = '' + if [ -f "scripts/dev/genfiles" ]; then + ./scripts/dev/genfiles + fi + ''; - php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { }; + cdToExtensionRootPhase = '' + # Go to extension source root. + cd "ext/${extName}" + ''; - php-parallel-lint = callPackage ../development/php-packages/php-parallel-lint { }; + preConfigure = '' + nullglobRestore=$(shopt -p nullglob) + shopt -u nullglob # To make ?-globbing work - phpinsights = callPackage ../development/php-packages/phpinsights { }; + # Some extensions have a config0.m4 or config9.m4 + if [ -f config?.m4 ]; then + mv config?.m4 config.m4 + fi - phpmd = callPackage ../development/php-packages/phpmd { }; + $nullglobRestore - phpspy = callPackage ../development/php-packages/phpspy { }; + phpize + ${postPhpize} - phpstan = callPackage ../development/php-packages/phpstan { }; + ${lib.concatMapStringsSep "\n" ( + dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}" + ) internalDeps} + ''; - psalm = callPackage ../development/php-packages/psalm { }; + checkPhase = '' + runHook preCheck - psysh = callPackage ../development/php-packages/psysh { }; - } // lib.optionalAttrs config.allowAliases { - phpcbf = throw "`phpcbf` is now deprecated, use `php-codesniffer` instead which contains both `phpcs` and `phpcbf`."; - phpcs = throw "`phpcs` is now deprecated, use `php-codesniffer` instead which contains both `phpcs` and `phpcbf`."; - }; + NO_INTERACTION=yes SKIP_PERF_SENSITIVE=yes SKIP_ONLINE_TESTS=yes make test + runHook postCheck + ''; - # This is a set of PHP extensions meant to be used in php.buildEnv - # or php.withExtensions to extend the functionality of the PHP - # interpreter. - # The extensions attributes is composed of three sections: - # 1. The contrib conditional extensions, which are only available on specific PHP versions - # 2. The contrib extensions available - # 3. The core extensions - extensions = - # Contrib extensions - { - amqp = callPackage ../development/php-packages/amqp { }; + installPhase = '' + runHook preInstall - apcu = callPackage ../development/php-packages/apcu { }; + mkdir -p $out/lib/php/extensions + cp modules/${extName}.so $out/lib/php/extensions/${extName}.so + mkdir -p $dev/include + ${rsync}/bin/rsync -r --filter="+ */" \ + --filter="+ *.h" \ + --filter="- *" \ + --prune-empty-dirs \ + . $dev/include/ - ast = callPackage ../development/php-packages/ast { }; + runHook postInstall + ''; - blackfire = callPackage ../development/tools/misc/blackfire/php-probe.nix { }; + meta = { + description = "PHP upstream extension: ${name}"; + inherit (php.meta) + maintainers + homepage + license + platforms + ; + } // args.meta or { }; + } + ) + ); - couchbase = callPackage ../development/php-packages/couchbase { }; + php = phpPackage; - datadog_trace = callPackage ../development/php-packages/datadog_trace { - buildPecl = buildPecl.override { - stdenv = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv; - }; - inherit (pkgs) darwin; - }; + # This is a set of interactive tools based on PHP. + tools = + { + box = callPackage ../development/php-packages/box { }; - ds = callPackage ../development/php-packages/ds { }; + castor = callPackage ../development/php-packages/castor { }; - event = callPackage ../development/php-packages/event { }; + composer = callPackage ../development/php-packages/composer { }; - gnupg = callPackage ../development/php-packages/gnupg { }; + composer-local-repo-plugin = callPackage ../development/php-packages/composer-local-repo-plugin { }; - grpc = callPackage ../development/php-packages/grpc { }; + cyclonedx-php-composer = callPackage ../development/php-packages/cyclonedx-php-composer { }; - igbinary = callPackage ../development/php-packages/igbinary { }; + deployer = callPackage ../development/php-packages/deployer { }; - imagick = callPackage ../development/php-packages/imagick { }; + grumphp = callPackage ../development/php-packages/grumphp { }; - # Shadowed by built-in version on PHP < 8.3. - imap = callPackage ../development/php-packages/imap { }; + phan = callPackage ../development/php-packages/phan { }; - inotify = callPackage ../development/php-packages/inotify { }; + phing = callPackage ../development/php-packages/phing { }; - ioncube-loader = callPackage ../development/php-packages/ioncube-loader { }; + phive = callPackage ../development/php-packages/phive { }; - mailparse = callPackage ../development/php-packages/mailparse { }; + php-codesniffer = callPackage ../development/php-packages/php-codesniffer { }; - maxminddb = callPackage ../development/php-packages/maxminddb { }; + php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { }; - memcache = callPackage ../development/php-packages/memcache { }; + php-parallel-lint = callPackage ../development/php-packages/php-parallel-lint { }; - memcached = callPackage ../development/php-packages/memcached { }; + phpinsights = callPackage ../development/php-packages/phpinsights { }; - meminfo = callPackage ../development/php-packages/meminfo { }; + phpmd = callPackage ../development/php-packages/phpmd { }; - memprof = callPackage ../development/php-packages/memprof { }; + phpspy = callPackage ../development/php-packages/phpspy { }; - mongodb = callPackage ../development/php-packages/mongodb { - inherit (pkgs) darwin; - }; + phpstan = callPackage ../development/php-packages/phpstan { }; - msgpack = callPackage ../development/php-packages/msgpack { }; + psalm = callPackage ../development/php-packages/psalm { }; - oci8 = callPackage ../development/php-packages/oci8 { }; + psysh = callPackage ../development/php-packages/psysh { }; + } + // lib.optionalAttrs config.allowAliases { + phpcbf = throw "`phpcbf` is now deprecated, use `php-codesniffer` instead which contains both `phpcs` and `phpcbf`."; + phpcs = throw "`phpcs` is now deprecated, use `php-codesniffer` instead which contains both `phpcs` and `phpcbf`."; + }; - opentelemetry = callPackage ../development/php-packages/opentelemetry { }; + # This is a set of PHP extensions meant to be used in php.buildEnv + # or php.withExtensions to extend the functionality of the PHP + # interpreter. + # The extensions attributes is composed of three sections: + # 1. The contrib conditional extensions, which are only available on specific PHP versions + # 2. The contrib extensions available + # 3. The core extensions + extensions = + # Contrib extensions + { + amqp = callPackage ../development/php-packages/amqp { }; - openswoole = callPackage ../development/php-packages/openswoole { }; + apcu = callPackage ../development/php-packages/apcu { }; - parallel = callPackage ../development/php-packages/parallel { }; + ast = callPackage ../development/php-packages/ast { }; - pdlib = callPackage ../development/php-packages/pdlib { }; + blackfire = callPackage ../development/tools/misc/blackfire/php-probe.nix { }; - pcov = callPackage ../development/php-packages/pcov { }; + couchbase = callPackage ../development/php-packages/couchbase { }; - pdo_oci = buildPecl rec { - inherit (php.unwrapped) src version; + datadog_trace = callPackage ../development/php-packages/datadog_trace { + buildPecl = buildPecl.override { + stdenv = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv; + }; + inherit (pkgs) darwin; + }; - pname = "pdo_oci"; - sourceRoot = "php-${version}/ext/pdo_oci"; + ds = callPackage ../development/php-packages/ds { }; - buildInputs = [ pkgs.oracle-instantclient ]; - configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; + event = callPackage ../development/php-packages/event { }; - internalDeps = [ php.extensions.pdo ]; + gnupg = callPackage ../development/php-packages/gnupg { }; - postPatch = '' - sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 - ''; + grpc = callPackage ../development/php-packages/grpc { }; - meta.maintainers = lib.teams.php.members; - }; + igbinary = callPackage ../development/php-packages/igbinary { }; - pdo_sqlsrv = callPackage ../development/php-packages/pdo_sqlsrv { }; + imagick = callPackage ../development/php-packages/imagick { }; - phalcon = callPackage ../development/php-packages/phalcon { }; + # Shadowed by built-in version on PHP < 8.3. + imap = callPackage ../development/php-packages/imap { }; - pinba = callPackage ../development/php-packages/pinba { }; + inotify = callPackage ../development/php-packages/inotify { }; - protobuf = callPackage ../development/php-packages/protobuf { }; + ioncube-loader = callPackage ../development/php-packages/ioncube-loader { }; - pspell = callPackage ../development/php-packages/pspell { }; + mailparse = callPackage ../development/php-packages/mailparse { }; - rdkafka = callPackage ../development/php-packages/rdkafka { }; + maxminddb = callPackage ../development/php-packages/maxminddb { }; - redis = callPackage ../development/php-packages/redis { }; + memcache = callPackage ../development/php-packages/memcache { }; - relay = callPackage ../development/php-packages/relay { }; + memcached = callPackage ../development/php-packages/memcached { }; - rrd = callPackage ../development/php-packages/rrd { }; + meminfo = callPackage ../development/php-packages/meminfo { }; - smbclient = callPackage ../development/php-packages/smbclient { }; + memprof = callPackage ../development/php-packages/memprof { }; - snuffleupagus = callPackage ../development/php-packages/snuffleupagus { - inherit (pkgs) darwin; - }; + mongodb = callPackage ../development/php-packages/mongodb { + inherit (pkgs) darwin; + }; - spx = callPackage ../development/php-packages/spx { }; + msgpack = callPackage ../development/php-packages/msgpack { }; - sqlsrv = callPackage ../development/php-packages/sqlsrv { }; + oci8 = callPackage ../development/php-packages/oci8 { }; - ssh2 = callPackage ../development/php-packages/ssh2 { }; + opentelemetry = callPackage ../development/php-packages/opentelemetry { }; - swoole = callPackage ../development/php-packages/swoole { }; + openswoole = callPackage ../development/php-packages/openswoole { }; - tideways = callPackage ../development/php-packages/tideways { }; + parallel = callPackage ../development/php-packages/parallel { }; - uuid = callPackage ../development/php-packages/uuid { }; + pdlib = callPackage ../development/php-packages/pdlib { }; - uv = callPackage ../development/php-packages/uv { }; + pcov = callPackage ../development/php-packages/pcov { }; - vld = callPackage ../development/php-packages/vld { }; + pdo_oci = buildPecl rec { + inherit (php.unwrapped) src version; - xdebug = callPackage ../development/php-packages/xdebug { }; + pname = "pdo_oci"; + sourceRoot = "php-${version}/ext/pdo_oci"; - yaml = callPackage ../development/php-packages/yaml { }; + buildInputs = [ pkgs.oracle-instantclient ]; + configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; - zstd = callPackage ../development/php-packages/zstd { }; - } // lib.optionalAttrs config.allowAliases { - php-spx = throw "php-spx is deprecated, use spx instead"; - } // ( - # Core extensions - let - # This list contains build instructions for different modules that one may - # want to build. - # - # These will be passed as arguments to mkExtension above. - extensionData = [ - { name = "bcmath"; } - { name = "bz2"; buildInputs = [ bzip2 ]; configureFlags = [ "--with-bz2=${bzip2.dev}" ]; } - { name = "calendar"; } - { name = "ctype"; } - { - name = "curl"; - buildInputs = [ curl ]; - configureFlags = [ "--with-curl=${curl.dev}" ]; - doCheck = false; - } - { name = "dba"; } - { - name = "dom"; - buildInputs = [ libxml2 ]; - configureFlags = [ - "--enable-dom" - ]; - } - { - name = "enchant"; - buildInputs = [ enchant2 ]; - configureFlags = [ "--with-enchant" ]; - doCheck = false; - } - { name = "exif"; doCheck = false; } - { name = "ffi"; buildInputs = [ libffi ]; } - { - name = "fileinfo"; - buildInputs = [ pcre2 ]; - } - { name = "filter"; buildInputs = [ pcre2 ]; } - { name = "ftp"; buildInputs = [ openssl ]; } - { - name = "gd"; - buildInputs = [ zlib gd ]; - configureFlags = [ - "--enable-gd" - "--with-external-gd=${gd.dev}" - "--enable-gd-jis-conv" - ]; - doCheck = false; - } - { - name = "gettext"; - buildInputs = [ gettext ]; - postPhpize = ''substituteInPlace configure --replace-fail 'as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5' ':' ''; - configureFlags = [ "--with-gettext=${gettext}" ]; - } - { - name = "gmp"; - buildInputs = [ gmp ]; - configureFlags = [ "--with-gmp=${gmp.dev}" ]; - } - { - name = "iconv"; - buildInputs = [ libiconv ]; - configureFlags = [ "--with-iconv" ]; - # Some other extensions support separate libdirs, but iconv does not. This causes problems with detecting - # Darwin’s libiconv because it has separate outputs. Adding `-liconv` works around the issue. - env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_LDFLAGS = "-liconv"; }; - doCheck = stdenv.hostPlatform.isLinux; - } - { - name = "intl"; - buildInputs = [ icu73 ]; - } - { - name = "ldap"; - buildInputs = [ openldap cyrus_sasl ]; - configureFlags = [ - "--with-ldap" - "LDAP_DIR=${openldap.dev}" - "LDAP_INCDIR=${openldap.dev}/include" - "LDAP_LIBDIR=${openldap.out}/lib" - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "--with-ldap-sasl=${cyrus_sasl.dev}" - ]; - doCheck = false; - } - { - name = "mbstring"; - buildInputs = [ oniguruma pcre2 ]; - doCheck = false; - } - { - name = "mysqli"; - internalDeps = [ php.extensions.mysqlnd ]; - configureFlags = [ "--with-mysqli=mysqlnd" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; - doCheck = false; - } - { - name = "mysqlnd"; - buildInputs = [ zlib openssl ]; - # The configure script doesn't correctly add library link - # flags, so we add them to the variable used by the Makefile - # when linking. - MYSQLND_SHARED_LIBADD = "-lz -lssl -lcrypto"; - # The configure script builds a config.h which is never - # included. Let's include it in the main header file - # included by all .c-files. - patches = [ - (pkgs.writeText "mysqlnd_config.patch" '' - --- a/ext/mysqlnd/mysqlnd.h - +++ b/ext/mysqlnd/mysqlnd.h - @@ -1,3 +1,6 @@ - +#ifdef HAVE_CONFIG_H - +#include "config.h" - +#endif - /* - +----------------------------------------------------------------------+ - | Copyright (c) The PHP Group | - '') - ]; - } - { - name = "opcache"; - buildInputs = [ pcre2 ] ++ - lib.optional - (!stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind) - valgrind.dev; - configureFlags = lib.optional php.ztsSupport "--disable-opcache-jit"; - zendExtension = true; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' - # Tests are flaky on darwin - rm ext/opcache/tests/blacklist.phpt - rm ext/opcache/tests/bug66338.phpt - rm ext/opcache/tests/bug78106.phpt - rm ext/opcache/tests/issue0115.phpt - rm ext/opcache/tests/issue0149.phpt - rm ext/opcache/tests/revalidate_path_01.phpt - ''; - # Tests launch the builtin webserver. - __darwinAllowLocalNetworking = true; - } - { - name = "openssl"; - buildInputs = [ openssl ]; - configureFlags = [ "--with-openssl" ]; - doCheck = false; - } - # This provides a legacy OpenSSL PHP extension - # For situations where OpenSSL 3 do not support a set of features - # without a specific openssl.cnf file - { - name = "openssl-legacy"; - extName = "openssl"; - buildInputs = [ openssl_1_1 ]; - configureFlags = [ "--with-openssl" ]; - doCheck = false; - } - { name = "pcntl"; } - { name = "pdo"; doCheck = false; } - { - name = "pdo_dblib"; - internalDeps = [ php.extensions.pdo ]; - configureFlags = [ "--with-pdo-dblib=${freetds}" ]; - meta.broken = stdenv.hostPlatform.isDarwin; - doCheck = false; - } - { - name = "pdo_mysql"; - internalDeps = with php.extensions; [ pdo mysqlnd ]; - configureFlags = [ "--with-pdo-mysql=mysqlnd" "PHP_MYSQL_SOCK=/run/mysqld/mysqld.sock" ]; - doCheck = false; - } - { - name = "pdo_odbc"; internalDeps = [ php.extensions.pdo ]; - buildInputs = [ unixODBC ]; - configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; - doCheck = false; - } - { - name = "pdo_pgsql"; - internalDeps = [ php.extensions.pdo ]; - configureFlags = [ "--with-pdo-pgsql=${lib.getDev postgresql}" ]; - doCheck = false; - } - { - name = "pdo_sqlite"; - internalDeps = [ php.extensions.pdo ]; - buildInputs = [ sqlite ]; - configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; - doCheck = false; - } - { - name = "pgsql"; - buildInputs = [ pcre2 ]; - configureFlags = [ "--with-pgsql=${lib.getDev postgresql}" ]; - doCheck = false; - } - { name = "posix"; doCheck = false; } - { - name = "readline"; - buildInputs = [ - readline - ]; - configureFlags = [ - "--with-readline=${readline.dev}" - ]; + postPatch = '' - # Fix `--with-readline` option not being available. - # `PHP_ALWAYS_SHARED` generated by phpize enables all options - # without the possibility to override them. But when `--with-libedit` - # is enabled, `--with-readline` is not registered. - echo ' - AC_DEFUN([PHP_ALWAYS_SHARED],[ - test "[$]$1" != "no" && ext_shared=yes - ])dnl - ' | cat - ext/readline/config.m4 > ext/readline/config.m4.tmp - mv ext/readline/config.m4{.tmp,} + sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 ''; - doCheck = false; - } - { name = "session"; - doCheck = false; - } - { name = "shmop"; } - { - name = "simplexml"; - buildInputs = [ libxml2 pcre2 ]; - configureFlags = [ - "--enable-simplexml" - ]; - } - { - name = "snmp"; - buildInputs = [ net-snmp openssl ]; - configureFlags = [ "--with-snmp" ]; - doCheck = false; - } - { - name = "soap"; - buildInputs = [ libxml2 ]; - configureFlags = [ - "--enable-soap" - ]; - # Some tests are causing issues in the Darwin sandbox with issues - # such as - # Unknown: php_network_getaddresses: getaddrinfo for localhost failed: nodename nor servname provided - doCheck = !stdenv.hostPlatform.isDarwin && lib.versionOlder php.version "8.4"; - internalDeps = [ php.extensions.session ]; - patches = lib.optionals (lib.versionAtLeast php.version "8.3" && lib.versionOlder php.version "8.4") [ - # https://github.com/php/php-src/pull/16733 (fix soap test) - (fetchpatch { - url = "https://github.com/php/php-src/commit/5c308d61db104854e4ff84ab123e3ea56e1b4046.patch"; - hash = "sha256-xQ4Sg4kL0cgHYauRW2AzGgFXfcqtxeRVhI9zNh7CsoM="; - }) - ]; - } - { - name = "sockets"; - doCheck = false; - } - { name = "sodium"; buildInputs = [ libsodium ]; } - { - name = "sqlite3"; - buildInputs = [ sqlite ]; - - # The `sqlite3_bind_bug68849.phpt` test is currently broken for i686 Linux systems since sqlite 3.43, cf.: - # - https://github.com/php/php-src/issues/12076 - # - https://www.sqlite.org/forum/forumpost/abbb95376ec6cd5f - patches = lib.optionals (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isLinux) [ - ../development/interpreters/php/skip-sqlite3_bind_bug68849.phpt.patch - ]; - } - { name = "sysvmsg"; } - { name = "sysvsem"; } - { name = "sysvshm"; } - { name = "tidy"; configureFlags = [ "--with-tidy=${html-tidy}" ]; doCheck = false; } - { - name = "tokenizer"; - patches = [ ../development/interpreters/php/fix-tokenizer-php81.patch ]; - } - { - name = "xml"; - buildInputs = [ libxml2 ]; - configureFlags = [ - "--enable-xml" - ]; - doCheck = false; - } - { - name = "xmlreader"; - buildInputs = [ libxml2 ]; - internalDeps = [ php.extensions.dom ]; - env.NIX_CFLAGS_COMPILE = toString [ "-I../.." "-DHAVE_DOM" ]; - doCheck = false; - configureFlags = [ - "--enable-xmlreader" - ]; - } - { - name = "xmlwriter"; - buildInputs = [ libxml2 ]; - configureFlags = [ - "--enable-xmlwriter" - ]; - } - { - name = "xsl"; - buildInputs = [ libxslt libxml2 ]; - internalDeps = [ php.extensions.dom ]; - doCheck = false; - env.NIX_CFLAGS_COMPILE = toString [ "-I../.." "-DHAVE_DOM" ]; - configureFlags = [ "--with-xsl=${libxslt.dev}" ]; - } - { - name = "zend_test"; - internalDeps = [ php.extensions.dom ]; - env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; - } - { - name = "zip"; - buildInputs = [ libzip pcre2 ]; - configureFlags = [ - "--with-zip" - ]; - doCheck = false; - } - { - name = "zlib"; - buildInputs = [ zlib ]; - configureFlags = [ - "--with-zlib" - ]; - } - ] ++ lib.optionals (lib.versionOlder php.version "8.3") [ - # Using version from PECL on new PHP versions. - { - name = "imap"; - buildInputs = [ uwimap openssl pam pcre2 libkrb5 ]; - configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" "--with-kerberos" ]; - } - ]; - - # Convert the list of attrs: - # [ { name = ; ... } ... ] - # to a list of - # [ { name = ; value = ; } ... ] - # - # which we later use listToAttrs to make all attrs available by name. - namedExtensions = builtins.map - (drv: { - name = drv.name; - value = mkExtension drv; - }) - extensionData; - - # Produce the final attribute set of all extensions defined. - in - builtins.listToAttrs namedExtensions - ); -}) + + meta.maintainers = lib.teams.php.members; + }; + + pdo_sqlsrv = callPackage ../development/php-packages/pdo_sqlsrv { }; + + phalcon = callPackage ../development/php-packages/phalcon { }; + + pinba = callPackage ../development/php-packages/pinba { }; + + protobuf = callPackage ../development/php-packages/protobuf { }; + + pspell = callPackage ../development/php-packages/pspell { }; + + rdkafka = callPackage ../development/php-packages/rdkafka { }; + + redis = callPackage ../development/php-packages/redis { }; + + relay = callPackage ../development/php-packages/relay { }; + + rrd = callPackage ../development/php-packages/rrd { }; + + smbclient = callPackage ../development/php-packages/smbclient { }; + + snuffleupagus = callPackage ../development/php-packages/snuffleupagus { + inherit (pkgs) darwin; + }; + + spx = callPackage ../development/php-packages/spx { }; + + sqlsrv = callPackage ../development/php-packages/sqlsrv { }; + + ssh2 = callPackage ../development/php-packages/ssh2 { }; + + swoole = callPackage ../development/php-packages/swoole { }; + + tideways = callPackage ../development/php-packages/tideways { }; + + uuid = callPackage ../development/php-packages/uuid { }; + + uv = callPackage ../development/php-packages/uv { }; + + vld = callPackage ../development/php-packages/vld { }; + + xdebug = callPackage ../development/php-packages/xdebug { }; + + yaml = callPackage ../development/php-packages/yaml { }; + + zstd = callPackage ../development/php-packages/zstd { }; + } + // lib.optionalAttrs config.allowAliases { + php-spx = throw "php-spx is deprecated, use spx instead"; + } + // ( + # Core extensions + let + # This list contains build instructions for different modules that one may + # want to build. + # + # These will be passed as arguments to mkExtension above. + extensionData = + [ + { name = "bcmath"; } + { + name = "bz2"; + buildInputs = [ bzip2 ]; + configureFlags = [ "--with-bz2=${bzip2.dev}" ]; + } + { name = "calendar"; } + { name = "ctype"; } + { + name = "curl"; + buildInputs = [ curl ]; + configureFlags = [ "--with-curl=${curl.dev}" ]; + doCheck = false; + } + { name = "dba"; } + { + name = "dom"; + buildInputs = [ libxml2 ]; + configureFlags = [ + "--enable-dom" + ]; + } + { + name = "enchant"; + buildInputs = [ enchant2 ]; + configureFlags = [ "--with-enchant" ]; + doCheck = false; + } + { + name = "exif"; + doCheck = false; + } + { + name = "ffi"; + buildInputs = [ libffi ]; + } + { + name = "fileinfo"; + buildInputs = [ pcre2 ]; + } + { + name = "filter"; + buildInputs = [ pcre2 ]; + } + { + name = "ftp"; + buildInputs = [ openssl ]; + } + { + name = "gd"; + buildInputs = [ + zlib + gd + ]; + configureFlags = [ + "--enable-gd" + "--with-external-gd=${gd.dev}" + "--enable-gd-jis-conv" + ]; + doCheck = false; + } + { + name = "gettext"; + buildInputs = [ gettext ]; + postPhpize = ''substituteInPlace configure --replace-fail 'as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5' ':' ''; + configureFlags = [ "--with-gettext=${gettext}" ]; + } + { + name = "gmp"; + buildInputs = [ gmp ]; + configureFlags = [ "--with-gmp=${gmp.dev}" ]; + } + { + name = "iconv"; + buildInputs = [ libiconv ]; + configureFlags = [ "--with-iconv" ]; + # Some other extensions support separate libdirs, but iconv does not. This causes problems with detecting + # Darwin’s libiconv because it has separate outputs. Adding `-liconv` works around the issue. + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_LDFLAGS = "-liconv"; }; + doCheck = stdenv.hostPlatform.isLinux; + } + { + name = "intl"; + buildInputs = [ icu73 ]; + } + { + name = "ldap"; + buildInputs = [ + openldap + cyrus_sasl + ]; + configureFlags = + [ + "--with-ldap" + "LDAP_DIR=${openldap.dev}" + "LDAP_INCDIR=${openldap.dev}/include" + "LDAP_LIBDIR=${openldap.out}/lib" + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + "--with-ldap-sasl=${cyrus_sasl.dev}" + ]; + doCheck = false; + } + { + name = "mbstring"; + buildInputs = [ + oniguruma + pcre2 + ]; + doCheck = false; + } + { + name = "mysqli"; + internalDeps = [ php.extensions.mysqlnd ]; + configureFlags = [ + "--with-mysqli=mysqlnd" + "--with-mysql-sock=/run/mysqld/mysqld.sock" + ]; + doCheck = false; + } + { + name = "mysqlnd"; + buildInputs = [ + zlib + openssl + ]; + # The configure script doesn't correctly add library link + # flags, so we add them to the variable used by the Makefile + # when linking. + MYSQLND_SHARED_LIBADD = "-lz -lssl -lcrypto"; + # The configure script builds a config.h which is never + # included. Let's include it in the main header file + # included by all .c-files. + patches = [ + (pkgs.writeText "mysqlnd_config.patch" '' + --- a/ext/mysqlnd/mysqlnd.h + +++ b/ext/mysqlnd/mysqlnd.h + @@ -1,3 +1,6 @@ + +#ifdef HAVE_CONFIG_H + +#include "config.h" + +#endif + /* + +----------------------------------------------------------------------+ + | Copyright (c) The PHP Group | + '') + ]; + } + { + name = "opcache"; + buildInputs = + [ pcre2 ] + ++ lib.optional ( + !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind + ) valgrind.dev; + configureFlags = lib.optional php.ztsSupport "--disable-opcache-jit"; + zendExtension = true; + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Tests are flaky on darwin + rm ext/opcache/tests/blacklist.phpt + rm ext/opcache/tests/bug66338.phpt + rm ext/opcache/tests/bug78106.phpt + rm ext/opcache/tests/issue0115.phpt + rm ext/opcache/tests/issue0149.phpt + rm ext/opcache/tests/revalidate_path_01.phpt + ''; + # Tests launch the builtin webserver. + __darwinAllowLocalNetworking = true; + } + { + name = "openssl"; + buildInputs = [ openssl ]; + configureFlags = [ "--with-openssl" ]; + doCheck = false; + } + # This provides a legacy OpenSSL PHP extension + # For situations where OpenSSL 3 do not support a set of features + # without a specific openssl.cnf file + { + name = "openssl-legacy"; + extName = "openssl"; + buildInputs = [ openssl_1_1 ]; + configureFlags = [ "--with-openssl" ]; + doCheck = false; + } + { name = "pcntl"; } + { + name = "pdo"; + doCheck = false; + } + { + name = "pdo_dblib"; + internalDeps = [ php.extensions.pdo ]; + configureFlags = [ "--with-pdo-dblib=${freetds}" ]; + meta.broken = stdenv.hostPlatform.isDarwin; + doCheck = false; + } + { + name = "pdo_mysql"; + internalDeps = with php.extensions; [ + pdo + mysqlnd + ]; + configureFlags = [ + "--with-pdo-mysql=mysqlnd" + "PHP_MYSQL_SOCK=/run/mysqld/mysqld.sock" + ]; + doCheck = false; + } + { + name = "pdo_odbc"; + internalDeps = [ php.extensions.pdo ]; + buildInputs = [ unixODBC ]; + configureFlags = [ "--with-pdo-odbc=unixODBC,${unixODBC}" ]; + doCheck = false; + } + { + name = "pdo_pgsql"; + internalDeps = [ php.extensions.pdo ]; + configureFlags = [ "--with-pdo-pgsql=${lib.getDev postgresql}" ]; + doCheck = false; + } + { + name = "pdo_sqlite"; + internalDeps = [ php.extensions.pdo ]; + buildInputs = [ sqlite ]; + configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; + doCheck = false; + } + { + name = "pgsql"; + buildInputs = [ pcre2 ]; + configureFlags = [ "--with-pgsql=${lib.getDev postgresql}" ]; + doCheck = false; + } + { + name = "posix"; + doCheck = false; + } + { + name = "readline"; + buildInputs = [ + readline + ]; + configureFlags = [ + "--with-readline=${readline.dev}" + ]; + postPatch = '' + # Fix `--with-readline` option not being available. + # `PHP_ALWAYS_SHARED` generated by phpize enables all options + # without the possibility to override them. But when `--with-libedit` + # is enabled, `--with-readline` is not registered. + echo ' + AC_DEFUN([PHP_ALWAYS_SHARED],[ + test "[$]$1" != "no" && ext_shared=yes + ])dnl + ' | cat - ext/readline/config.m4 > ext/readline/config.m4.tmp + mv ext/readline/config.m4{.tmp,} + ''; + doCheck = false; + } + { + name = "session"; + doCheck = false; + } + { name = "shmop"; } + { + name = "simplexml"; + buildInputs = [ + libxml2 + pcre2 + ]; + configureFlags = [ + "--enable-simplexml" + ]; + } + { + name = "snmp"; + buildInputs = [ + net-snmp + openssl + ]; + configureFlags = [ "--with-snmp" ]; + doCheck = false; + } + { + name = "soap"; + buildInputs = [ libxml2 ]; + configureFlags = [ + "--enable-soap" + ]; + # Some tests are causing issues in the Darwin sandbox with issues + # such as + # Unknown: php_network_getaddresses: getaddrinfo for localhost failed: nodename nor servname provided + doCheck = !stdenv.hostPlatform.isDarwin && lib.versionOlder php.version "8.4"; + internalDeps = [ php.extensions.session ]; + patches = + lib.optionals (lib.versionAtLeast php.version "8.3" && lib.versionOlder php.version "8.4") + [ + # https://github.com/php/php-src/pull/16733 (fix soap test) + (fetchpatch { + url = "https://github.com/php/php-src/commit/5c308d61db104854e4ff84ab123e3ea56e1b4046.patch"; + hash = "sha256-xQ4Sg4kL0cgHYauRW2AzGgFXfcqtxeRVhI9zNh7CsoM="; + }) + ]; + } + { + name = "sockets"; + doCheck = false; + } + { + name = "sodium"; + buildInputs = [ libsodium ]; + } + { + name = "sqlite3"; + buildInputs = [ sqlite ]; + + # The `sqlite3_bind_bug68849.phpt` test is currently broken for i686 Linux systems since sqlite 3.43, cf.: + # - https://github.com/php/php-src/issues/12076 + # - https://www.sqlite.org/forum/forumpost/abbb95376ec6cd5f + patches = lib.optionals (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isLinux) [ + ../development/interpreters/php/skip-sqlite3_bind_bug68849.phpt.patch + ]; + } + { name = "sysvmsg"; } + { name = "sysvsem"; } + { name = "sysvshm"; } + { + name = "tidy"; + configureFlags = [ "--with-tidy=${html-tidy}" ]; + doCheck = false; + } + { + name = "tokenizer"; + patches = [ ../development/interpreters/php/fix-tokenizer-php81.patch ]; + } + { + name = "xml"; + buildInputs = [ libxml2 ]; + configureFlags = [ + "--enable-xml" + ]; + doCheck = false; + } + { + name = "xmlreader"; + buildInputs = [ libxml2 ]; + internalDeps = [ php.extensions.dom ]; + env.NIX_CFLAGS_COMPILE = toString [ + "-I../.." + "-DHAVE_DOM" + ]; + doCheck = false; + configureFlags = [ + "--enable-xmlreader" + ]; + } + { + name = "xmlwriter"; + buildInputs = [ libxml2 ]; + configureFlags = [ + "--enable-xmlwriter" + ]; + } + { + name = "xsl"; + buildInputs = [ + libxslt + libxml2 + ]; + internalDeps = [ php.extensions.dom ]; + doCheck = false; + env.NIX_CFLAGS_COMPILE = toString [ + "-I../.." + "-DHAVE_DOM" + ]; + configureFlags = [ "--with-xsl=${libxslt.dev}" ]; + } + { + name = "zend_test"; + internalDeps = [ php.extensions.dom ]; + env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; + } + { + name = "zip"; + buildInputs = [ + libzip + pcre2 + ]; + configureFlags = [ + "--with-zip" + ]; + doCheck = false; + } + { + name = "zlib"; + buildInputs = [ zlib ]; + configureFlags = [ + "--with-zlib" + ]; + } + ] + ++ lib.optionals (lib.versionOlder php.version "8.3") [ + # Using version from PECL on new PHP versions. + { + name = "imap"; + buildInputs = [ + uwimap + openssl + pam + pcre2 + libkrb5 + ]; + configureFlags = [ + "--with-imap=${uwimap}" + "--with-imap-ssl" + "--with-kerberos" + ]; + } + ]; + + # Convert the list of attrs: + # [ { name = ; ... } ... ] + # to a list of + # [ { name = ; value = ; } ... ] + # + # which we later use listToAttrs to make all attrs available by name. + namedExtensions = builtins.map (drv: { + name = drv.name; + value = mkExtension drv; + }) extensionData; + + in + # Produce the final attribute set of all extensions defined. + builtins.listToAttrs namedExtensions + ); + } +) diff --git a/pkgs/top-level/pkg-config/defaultPkgConfigPackages.nix b/pkgs/top-level/pkg-config/defaultPkgConfigPackages.nix index b3cf3cdca2fcd..7c8fa33949512 100644 --- a/pkgs/top-level/pkg-config/defaultPkgConfigPackages.nix +++ b/pkgs/top-level/pkg-config/defaultPkgConfigPackages.nix @@ -1,13 +1,14 @@ -/* A set of aliases to be used in generated expressions. +/* + A set of aliases to be used in generated expressions. - In case of ambiguity, this will pick a sensible default. + In case of ambiguity, this will pick a sensible default. - This was initially based on cabal2nix's mapping. + This was initially based on cabal2nix's mapping. - It'd be nice to generate this mapping, based on a set of derivations. - It can not be fully automated, so it should be a expression or tool - that makes suggestions about which pkg-config module names can be added. - */ + It'd be nice to generate this mapping, based on a set of derivations. + It can not be fully automated, so it should be a expression or tool + that makes suggestions about which pkg-config module names can be added. +*/ pkgs: let @@ -26,20 +27,22 @@ let platform = pkgs.stdenv.hostPlatform; - isSupported = moduleData: - moduleData?supportedWhenPlatformAttrsEqual -> - all (x: x) ( - mapAttrsToList - (k: v: platform?${k} && platform.${k} == v) - moduleData.supportedWhenPlatformAttrsEqual - ); - - modulePkgs = flip mapAttrs modules (_moduleName: moduleData: - if moduleData?attrPath && isSupported moduleData then + isSupported = + moduleData: + moduleData ? supportedWhenPlatformAttrsEqual + -> all (x: x) ( + mapAttrsToList ( + k: v: platform ? ${k} && platform.${k} == v + ) moduleData.supportedWhenPlatformAttrsEqual + ); + + modulePkgs = flip mapAttrs modules ( + _moduleName: moduleData: + if moduleData ? attrPath && isSupported moduleData then getAttrFromPath moduleData.attrPath pkgs else null ); in - modulePkgs +modulePkgs diff --git a/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix b/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix index 69ec5a0f09c15..4773438ebd1c6 100644 --- a/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix +++ b/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix @@ -1,31 +1,39 @@ # cd nixpkgs # nix-build -A tests.pkg-config.defaultPkgConfigPackages -{ lib, pkg-config, defaultPkgConfigPackages, runCommand, testers }: +{ + lib, + pkg-config, + defaultPkgConfigPackages, + runCommand, + testers, +}: let inherit (lib.strings) escapeNixIdentifier; - allTests = lib.mapAttrs (k: v: if v == null then null else makePkgConfigTestMaybe k v) - (builtins.removeAttrs defaultPkgConfigPackages ["recurseForDerivations"]); + allTests = lib.mapAttrs (k: v: if v == null then null else makePkgConfigTestMaybe k v) ( + builtins.removeAttrs defaultPkgConfigPackages [ "recurseForDerivations" ] + ); # nix-build rejects attribute names with periods # This will build those regardless. - tests-combined = runCommand "pkg-config-checks" { - allTests = lib.attrValues allTests; - } '' - touch $out - ''; - - makePkgConfigTestMaybe = moduleName: pkg: - if ! lib.isDerivation pkg - then + tests-combined = + runCommand "pkg-config-checks" + { + allTests = lib.attrValues allTests; + } + '' + touch $out + ''; + + makePkgConfigTestMaybe = + moduleName: pkg: + if !lib.isDerivation pkg then throw "pkg-config module `${escapeNixIdentifier moduleName}` is not defined to be a derivation. Please check the attribute value for `${escapeNixIdentifier moduleName}` in `pkgs/top-level/pkg-config-packages.nix` in Nixpkgs." - else if ! pkg?meta.unsupported - then + else if !pkg ? meta.unsupported then throw "pkg-config module `${escapeNixIdentifier moduleName}` does not have a `meta.unsupported` attribute. This can't be right. Please check the attribute value for `${escapeNixIdentifier moduleName}` in `pkgs/top-level/pkg-config-packages.nix` in Nixpkgs." - else if pkg.meta.unsupported - then + else if pkg.meta.unsupported then # We return `null` instead of doing a `filterAttrs`, because with # `filterAttrs` the evaluator would not be able to return the attribute # set without first evaluating all of the attribute _values_. This would @@ -33,14 +41,17 @@ let # single test, which we want to do in `passthru.tests`, or interactively. null - else if ! pkg?meta.broken - then + else if !pkg ? meta.broken then throw "pkg-config module `${escapeNixIdentifier moduleName}` does not have a `meta.broken` attribute. This can't be right. Please check the attribute value for `${escapeNixIdentifier moduleName}` in `pkgs/top-level/pkg-config.packages.nix` in Nixpkgs." - else if pkg.meta.broken - then null + else if pkg.meta.broken then + null - else testers.hasPkgConfigModules { moduleNames = [ moduleName ]; package = pkg; }; + else + testers.hasPkgConfigModules { + moduleNames = [ moduleName ]; + package = pkg; + }; in - lib.recurseIntoAttrs allTests // { inherit tests-combined; } +lib.recurseIntoAttrs allTests // { inherit tests-combined; } diff --git a/pkgs/top-level/pkg-config/tests.nix b/pkgs/top-level/pkg-config/tests.nix index dbf766a0cf267..345283f83d816 100644 --- a/pkgs/top-level/pkg-config/tests.nix +++ b/pkgs/top-level/pkg-config/tests.nix @@ -1,6 +1,11 @@ # cd nixpkgs # nix-build -A tests.pkg-config -{ lib, config, stdenv, ... }: +{ + lib, + config, + stdenv, + ... +}: let # defaultPkgConfigPackages test needs a Nixpkgs with allowUnsupportedPlatform @@ -13,9 +18,11 @@ let config = config // { allowUnsupportedSystem = true; }; - overlays = []; + overlays = [ ]; }; in lib.recurseIntoAttrs { - defaultPkgConfigPackages = allPkgs.callPackage ./test-defaultPkgConfigPackages.nix { } // { __recurseIntoDerivationForReleaseJobs = true; }; + defaultPkgConfigPackages = allPkgs.callPackage ./test-defaultPkgConfigPackages.nix { } // { + __recurseIntoDerivationForReleaseJobs = true; + }; } diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 073ffa0be2c45..c99caa4d3d122 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -4,10 +4,14 @@ self: super: -with self; with super; { +with self; +with super; +{ attrs = callPackage ../development/python2-modules/attrs { }; - backports-functools-lru-cache = callPackage ../development/python2-modules/backports-functools-lru-cache { }; + backports-functools-lru-cache = + callPackage ../development/python2-modules/backports-functools-lru-cache + { }; bootstrapped-pip = toPythonModule (callPackage ../development/python2-modules/bootstrapped-pip { }); @@ -21,7 +25,7 @@ with self; with super; { enum = callPackage ../development/python2-modules/enum { }; - filelock = callPackage ../development/python2-modules/filelock { }; + filelock = callPackage ../development/python2-modules/filelock { }; futures = callPackage ../development/python2-modules/futures { }; @@ -59,13 +63,12 @@ with self; with super; { pytest = pytest_4; - pytest_4 = callPackage - ../development/python2-modules/pytest { - # hypothesis tests require pytest that causes dependency cycle - hypothesis = self.hypothesis.override { - doCheck = false; - }; + pytest_4 = callPackage ../development/python2-modules/pytest { + # hypothesis tests require pytest that causes dependency cycle + hypothesis = self.hypothesis.override { + doCheck = false; }; + }; pytest-xdist = callPackage ../development/python2-modules/pytest-xdist { }; @@ -84,7 +87,7 @@ with self; with super; { typing = callPackage ../development/python2-modules/typing { }; six = super.six.overridePythonAttrs (_: { - doCheck = false; # circular dependency with pytest + doCheck = false; # circular dependency with pytest }); wcwidth = callPackage ../development/python2-modules/wcwidth { diff --git a/pkgs/top-level/release-alternatives.nix b/pkgs/top-level/release-alternatives.nix index 788f052eda524..e81f342080ade 100644 --- a/pkgs/top-level/release-alternatives.nix +++ b/pkgs/top-level/release-alternatives.nix @@ -1,20 +1,52 @@ -{ pkgsFun ? import ../.. -, lib ? import ../../lib -, supportedSystems ? ["x86_64-linux"] -, allowUnfree ? false }: +{ + pkgsFun ? import ../.., + lib ? import ../../lib, + supportedSystems ? [ "x86_64-linux" ], + allowUnfree ? false, +}: let # called BLAS here, but also tests LAPACK blasUsers = [ # "julia_07" "julia_10" "julia_11" "julia_13" "octave" "octaveFull" - "fflas-ffpack" "linbox" "R" "ipopt" "hpl" "rspamd" "octopus" - "superlu" "suitesparse_5_3" "suitesparse_4_4" - "suitesparse_4_2" "scs" "scalapack" "petsc" "cholmod-extra" - "arpack" "qrupdate" "libcint" "iml" "globalarrays" "arrayfire" "armadillo" - "xfitter" "lammps" "plink-ng" "quantum-espresso" "siesta" - "siesta-mpi" "shogun" "calculix" "csdp" "getdp" "giac" "gmsh" "jags" - "lammps" "lammps-mpi" + "fflas-ffpack" + "linbox" + "R" + "ipopt" + "hpl" + "rspamd" + "octopus" + "superlu" + "suitesparse_5_3" + "suitesparse_4_4" + "suitesparse_4_2" + "scs" + "scalapack" + "petsc" + "cholmod-extra" + "arpack" + "qrupdate" + "libcint" + "iml" + "globalarrays" + "arrayfire" + "armadillo" + "xfitter" + "lammps" + "plink-ng" + "quantum-espresso" + "siesta" + "siesta-mpi" + "shogun" + "calculix" + "csdp" + "getdp" + "giac" + "gmsh" + "jags" + "lammps" + "lammps-mpi" # requires openblas # "caffe" "mxnet" "flint" "sage" "sageWithDoc" @@ -23,69 +55,141 @@ let # "gnss-sdr" "octave-jit" "openmodelica" "torch" # subpackages - ["pythonPackages" "numpy"] ["pythonPackages" "prox-tv"] ["pythonPackages" "scs"] - ["pythonPackages" "pysparse"] ["pythonPackages" "cvxopt"] + [ + "pythonPackages" + "numpy" + ] + [ + "pythonPackages" + "prox-tv" + ] + [ + "pythonPackages" + "scs" + ] + [ + "pythonPackages" + "pysparse" + ] + [ + "pythonPackages" + "cvxopt" + ] # ["pythonPackages" "fenics"] - ["rPackages" "slfm"] ["rPackages" "SamplerCompare"] + [ + "rPackages" + "slfm" + ] + [ + "rPackages" + "SamplerCompare" + ] # ["rPackages" "EMCluster"] # ["ocamlPackages" "lacaml"] # ["ocamlPackages" "owl"] - ["haskellPackages" "bindings-levmar"] + [ + "haskellPackages" + "bindings-levmar" + ] ] ++ lib.optionals allowUnfree [ "magma" ]; blas64Users = [ - "rspamd" "sundials" "suitesparse_5_3" "suitesparse_4_4" - "suitesparse_4_2" "petsc" "cholmod-extra" - "arpack" "qrupdate" "iml" "globalarrays" "arrayfire" - "lammps" "plink-ng" "quantum-espresso" - "calculix" "csdp" "getdp" "jags" - "lammps" "lammps-mpi" + "rspamd" + "sundials" + "suitesparse_5_3" + "suitesparse_4_4" + "suitesparse_4_2" + "petsc" + "cholmod-extra" + "arpack" + "qrupdate" + "iml" + "globalarrays" + "arrayfire" + "lammps" + "plink-ng" + "quantum-espresso" + "calculix" + "csdp" + "getdp" + "jags" + "lammps" + "lammps-mpi" # ["ocamlPackages" "lacaml"] - ["haskellPackages" "bindings-levmar"] + [ + "haskellPackages" + "bindings-levmar" + ] ] ++ lib.optionals allowUnfree [ "magma" ]; - blasProviders = system: [ "openblasCompat" "lapack-reference" "openblas" ] - ++ lib.optionals (allowUnfree && system.isx86) ["mkl" "mkl64"]; + blasProviders = + system: + [ + "openblasCompat" + "lapack-reference" + "openblas" + ] + ++ lib.optionals (allowUnfree && system.isx86) [ + "mkl" + "mkl64" + ]; - blas64Providers = [ "mkl64" "openblas"]; + blas64Providers = [ + "mkl64" + "openblas" + ]; - mapListToAttrs = xs: f: builtins.listToAttrs (map (name: { - name = if builtins.isList name - then builtins.elemAt name (builtins.length name - 1) - else name; - value = f name; - }) xs); + mapListToAttrs = + xs: f: + builtins.listToAttrs ( + map (name: { + name = if builtins.isList name then builtins.elemAt name (builtins.length name - 1) else name; + value = f name; + }) xs + ); in { - blas = mapListToAttrs supportedSystems (system': let system = lib.systems.elaborate { system = system'; }; - in mapListToAttrs (blasProviders system) (provider: let - isILP64 = builtins.elem provider (["mkl64"] ++ lib.optional system.is64bit "openblas"); - pkgs = pkgsFun { - config = { inherit allowUnfree; }; - system = system'; - overlays = [(self: super: { - lapack = super.lapack.override { - lapackProvider = if provider == "mkl64" - then super.mkl - else builtins.getAttr provider super; - inherit isILP64; - }; - blas = super.blas.override { - blasProvider = if provider == "mkl64" - then super.mkl - else builtins.getAttr provider super; - inherit isILP64; + blas = + mapListToAttrs supportedSystems ( + system': + let + system = lib.systems.elaborate { system = system'; }; + in + mapListToAttrs (blasProviders system) ( + provider: + let + isILP64 = builtins.elem provider ([ "mkl64" ] ++ lib.optional system.is64bit "openblas"); + pkgs = pkgsFun { + config = { inherit allowUnfree; }; + system = system'; + overlays = [ + (self: super: { + lapack = super.lapack.override { + lapackProvider = if provider == "mkl64" then super.mkl else builtins.getAttr provider super; + inherit isILP64; + }; + blas = super.blas.override { + blasProvider = if provider == "mkl64" then super.mkl else builtins.getAttr provider super; + inherit isILP64; + }; + }) + ]; }; - })]; - }; - in mapListToAttrs (if builtins.elem provider blas64Providers - then blas64Users else blasUsers) - (attr: if builtins.isList attr - then lib.getAttrFromPath attr pkgs - else builtins.getAttr attr pkgs) + in + mapListToAttrs (if builtins.elem provider blas64Providers then blas64Users else blasUsers) ( + attr: if builtins.isList attr then lib.getAttrFromPath attr pkgs else builtins.getAttr attr pkgs + ) - // { recurseForDerivations = true; }) - // { recurseForDerivations = true; }) - // { recurseForDerivations = true; }; + // { + recurseForDerivations = true; + } + ) + // { + recurseForDerivations = true; + } + ) + // { + recurseForDerivations = true; + }; recurseForDerivations = true; } diff --git a/pkgs/top-level/release-attrpaths-superset.nix b/pkgs/top-level/release-attrpaths-superset.nix index 22ebb4f6f9201..9a89062bd1749 100644 --- a/pkgs/top-level/release-attrpaths-superset.nix +++ b/pkgs/top-level/release-attrpaths-superset.nix @@ -21,11 +21,12 @@ # # nix-instantiate --eval --strict --json pkgs/top-level/release-attrpaths-superset.nix -A names # -{ lib ? import (path + "/lib") -, trace ? false -, enableWarnings ? true -, checkMeta ? true -, path ? ./../.. +{ + lib ? import (path + "/lib"), + trace ? false, + enableWarnings ? true, + checkMeta ? true, + path ? ./../.., }: let @@ -121,46 +122,55 @@ let # attrnames of derivations (!). We should probably restructure # the job tree so that this is not the case. # - justAttrNames = path: value: + justAttrNames = + path: value: let attempt = - if lib.isDerivation value && - # in some places we have *derivations* with jobsets as subattributes, ugh - !(value.__recurseIntoDerivationForReleaseJobs or false) then - [ path ] + if + lib.isDerivation value + && + # in some places we have *derivations* with jobsets as subattributes, ugh + !(value.__recurseIntoDerivationForReleaseJobs or false) + then + [ path ] # Even wackier case: we have meta.broken==true jobs with # !meta.broken jobs as subattributes with license=unfree, and # check-meta.nix won't throw an "unfree" failure because the # enclosing derivation is marked broken. Yeah. Bonkers. # We should just forbid jobsets enclosed by derivations. - else if lib.isDerivation value && - !value.meta.available then [] + else if lib.isDerivation value && !value.meta.available then + [ ] - else if !(lib.isAttrs value) then [] - else if (value.__attrsFailEvaluation or false) then [] - else lib.pipe value [ - (builtins.mapAttrs - (name: value: - if excluded-attrnames-at-any-depth.${name} or false then [] else - (justAttrNames (path ++ [name]) value))) - builtins.attrValues - builtins.concatLists - ]; + else if !(lib.isAttrs value) then + [ ] + else if (value.__attrsFailEvaluation or false) then + [ ] + else + lib.pipe value [ + (builtins.mapAttrs ( + name: value: + if excluded-attrnames-at-any-depth.${name} or false then + [ ] + else + (justAttrNames (path ++ [ name ]) value) + )) + builtins.attrValues + builtins.concatLists + ]; seq = builtins.deepSeq attempt attempt; tried = builtins.tryEval seq; result = - if tried.success - then tried.value - else if enableWarnings && path != [ "AAAAAASomeThingsFailToEvaluate" ] - then lib.warn "tryEval failed at: ${lib.concatStringsSep "." path}" [] - else []; + if tried.success then + tried.value + else if enableWarnings && path != [ "AAAAAASomeThingsFailToEvaluate" ] then + lib.warn "tryEval failed at: ${lib.concatStringsSep "." path}" [ ] + else + [ ]; in - if !trace - then result - else lib.trace "** ${lib.concatStringsSep "." path}" result; + if !trace then result else lib.trace "** ${lib.concatStringsSep "." path}" result; unfiltered = import ./release-outpaths.nix { inherit checkMeta; @@ -172,18 +182,25 @@ let (pkgs: builtins.removeAttrs pkgs (builtins.attrNames excluded-toplevel-attrs)) ]; - paths = + paths = [ + # I am not entirely sure why these three packages end up in + # the Hydra jobset. But they do, and they don't meet the + # criteria above, so at the moment they are special-cased. + [ + "pkgsLLVM" + "stdenv" + ] + [ + "pkgsStatic" + "stdenv" + ] [ - # I am not entirely sure why these three packages end up in - # the Hydra jobset. But they do, and they don't meet the - # criteria above, so at the moment they are special-cased. - [ "pkgsLLVM" "stdenv" ] - [ "pkgsStatic" "stdenv" ] - [ "pkgsMusl" "stdenv" ] - ] ++ justAttrNames [] filtered; + "pkgsMusl" + "stdenv" + ] + ] ++ justAttrNames [ ] filtered; - names = - map (path: (lib.concatStringsSep "." path)) paths; + names = map (path: (lib.concatStringsSep "." path)) paths; in { diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 4ba7c60ad29a6..a969210f36836 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -9,7 +9,9 @@ $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix */ -{ supportedSystems ? import ../../ci/supportedSystems.nix }: +{ + supportedSystems ? import ../../ci/supportedSystems.nix, +}: let @@ -34,12 +36,14 @@ let # # > accumulateDerivations [ drv1 "string" { foo = drv2; bar = { baz = drv3; }; } ] # [ drv1 drv2 drv3 ] - accumulateDerivations = jobList: + accumulateDerivations = + jobList: lib.concatMap ( attrs: - if lib.isDerivation attrs - then [ attrs ] - else lib.optionals (lib.isAttrs attrs) (accumulateDerivations (lib.attrValues attrs)) + if lib.isDerivation attrs then + [ attrs ] + else + lib.optionals (lib.isAttrs attrs) (accumulateDerivations (lib.attrValues attrs)) ) jobList; # names of all subsets of `pkgs.haskell.packages` @@ -97,9 +101,7 @@ let # ... # } # ``` - compilerPlatforms = lib.mapAttrs - (_: v: packagePlatforms v) - pkgs.haskell.packages; + compilerPlatforms = lib.mapAttrs (_: v: packagePlatforms v) pkgs.haskell.packages; # This function lets you specify specific packages # which are to be tested on a list of specific GHC @@ -135,67 +137,67 @@ let # }; # } # ``` - versionedCompilerJobs = config: mapTestOn { - haskell.packages = - let - # Mapping function that takes an attrset of jobs, and - # removes all jobs that are not specified in config. - # - # For example, imagine a call to onlyConfigJobs like: - # - # ``` - # onlyConfigJobs - # "ghc902" - # { - # conduit = [ ... ]; - # lens = [ "i686-cygwin" "x86_64-cygwin" ... "x86_64-windows" "i686-windows" ]; - # } - # ``` - # - # onlyConfigJobs pulls out only those jobs that are specified in config. - # - # For instance, if config is `{ lens = [ "ghc902" ]; }`, then the above - # example call to onlyConfigJobs will return: - # - # ``` - # { lens = [ "i686-cygwin" "x86_64-cygwin" ... "x86_64-windows" "i686-windows" ]; } - # ``` - # - # If config is `{ lens = [ "ghc8107" ]; }`, then the above example call - # to onlyConfigJobs returns `{}`. - # - # onlyConfigJobs will also remove all platforms from a job that are not - # supported by the GHC it is compiled with. - onlyConfigJobs = ghc: jobs: - let - configFilteredJobset = - lib.filterAttrs - (jobName: platforms: lib.elem ghc (config."${jobName}" or [])) - jobs; - - # Remove platforms from each job that are not supported by GHC. - # This is important so that we don't build jobs for platforms - # where GHC can't be compiled. - jobsetWithGHCPlatforms = - lib.mapAttrs - (_: platforms: lib.intersectLists jobs.ghc platforms) - configFilteredJobset; - in - jobsetWithGHCPlatforms; - in - lib.mapAttrs onlyConfigJobs compilerPlatforms; - }; + versionedCompilerJobs = + config: + mapTestOn { + haskell.packages = + let + # Mapping function that takes an attrset of jobs, and + # removes all jobs that are not specified in config. + # + # For example, imagine a call to onlyConfigJobs like: + # + # ``` + # onlyConfigJobs + # "ghc902" + # { + # conduit = [ ... ]; + # lens = [ "i686-cygwin" "x86_64-cygwin" ... "x86_64-windows" "i686-windows" ]; + # } + # ``` + # + # onlyConfigJobs pulls out only those jobs that are specified in config. + # + # For instance, if config is `{ lens = [ "ghc902" ]; }`, then the above + # example call to onlyConfigJobs will return: + # + # ``` + # { lens = [ "i686-cygwin" "x86_64-cygwin" ... "x86_64-windows" "i686-windows" ]; } + # ``` + # + # If config is `{ lens = [ "ghc8107" ]; }`, then the above example call + # to onlyConfigJobs returns `{}`. + # + # onlyConfigJobs will also remove all platforms from a job that are not + # supported by the GHC it is compiled with. + onlyConfigJobs = + ghc: jobs: + let + configFilteredJobset = lib.filterAttrs ( + jobName: platforms: lib.elem ghc (config."${jobName}" or [ ]) + ) jobs; + + # Remove platforms from each job that are not supported by GHC. + # This is important so that we don't build jobs for platforms + # where GHC can't be compiled. + jobsetWithGHCPlatforms = lib.mapAttrs ( + _: platforms: lib.intersectLists jobs.ghc platforms + ) configFilteredJobset; + in + jobsetWithGHCPlatforms; + in + lib.mapAttrs onlyConfigJobs compilerPlatforms; + }; # hydra jobs for `pkgs` of which we import a subset of pkgsPlatforms = packagePlatforms pkgs; # names of packages in an attribute set that are maintained - maintainedPkgNames = set: builtins.attrNames - (lib.filterAttrs ( - _: v: builtins.length (v.meta.maintainers or []) > 0 - ) set); + maintainedPkgNames = + set: + builtins.attrNames (lib.filterAttrs (_: v: builtins.length (v.meta.maintainers or [ ]) > 0) set); - recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate {}; + recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate { }; # Remove multiple elements from a list at once. # @@ -228,30 +230,32 @@ let # quux = []; # }; # } - removePlatforms = platformsToRemove: packageSet: - lib.mapAttrsRecursive - (_: val: - if lib.isList val - then removeMany platformsToRemove val - else val - ) - packageSet; + removePlatforms = + platformsToRemove: packageSet: + lib.mapAttrsRecursive ( + _: val: if lib.isList val then removeMany platformsToRemove val else val + ) packageSet; jobs = recursiveUpdateMany [ (mapTestOn { haskellPackages = packagePlatforms pkgs.haskellPackages; - haskell.compiler = packagePlatforms pkgs.haskell.compiler // (lib.genAttrs [ - "ghcjs" - "ghcjs810" - ] (ghcjsName: { - # We can't build ghcjs itself, since it exceeds 3GB (Hydra's output limit) due - # to the size of its bundled libs. We can however save users a bit of compile - # time by building the bootstrap ghcjs on Hydra. For this reason, we overwrite - # the ghcjs attributes in haskell.compiler with a reference to the bootstrap - # ghcjs attribute in their bootstrap package set (exposed via passthru) which - # would otherwise be ignored by Hydra. - bootGhcjs = (packagePlatforms pkgs.haskell.compiler.${ghcjsName}.passthru).bootGhcjs; - })); + haskell.compiler = + packagePlatforms pkgs.haskell.compiler + // (lib.genAttrs + [ + "ghcjs" + "ghcjs810" + ] + (ghcjsName: { + # We can't build ghcjs itself, since it exceeds 3GB (Hydra's output limit) due + # to the size of its bundled libs. We can however save users a bit of compile + # time by building the bootstrap ghcjs on Hydra. For this reason, we overwrite + # the ghcjs attributes in haskell.compiler with a reference to the bootstrap + # ghcjs attribute in their bootstrap package set (exposed via passthru) which + # would otherwise be ignored by Hydra. + bootGhcjs = (packagePlatforms pkgs.haskell.compiler.${ghcjsName}.passthru).bootGhcjs; + }) + ); tests.haskell = packagePlatforms pkgs.tests.haskell; @@ -260,7 +264,7 @@ let agda xmonad xmonad-xdg-autostart - ; + ; }; agdaPackages = packagePlatforms pkgs.agdaPackages; @@ -409,26 +413,23 @@ let "aarch64-darwin" ] { - haskell.compiler = lib.recursiveUpdate - (packagePlatforms pkgs.pkgsMusl.haskell.compiler) - { - # remove musl ghc865Binary since it is known to be broken and - # causes an evaluation error on darwin. - ghc865Binary = {}; - - ghcjs = {}; - ghcjs810 = {}; - }; + haskell.compiler = lib.recursiveUpdate (packagePlatforms pkgs.pkgsMusl.haskell.compiler) { + # remove musl ghc865Binary since it is known to be broken and + # causes an evaluation error on darwin. + ghc865Binary = { }; + + ghcjs = { }; + ghcjs810 = { }; + }; # Get some cache going for MUSL-enabled GHC. - haskellPackages = - { - inherit (packagePlatforms pkgs.pkgsMusl.haskellPackages) - hello - lens - random + haskellPackages = { + inherit (packagePlatforms pkgs.pkgsMusl.haskellPackages) + hello + lens + random ; - }; + }; }; # Test some statically linked packages to catch regressions @@ -442,7 +443,8 @@ let # Static doesn't work on darwin "x86_64-darwin" "aarch64-darwin" - ] { + ] + { haskellPackages = { inherit (packagePlatforms pkgs.pkgsStatic.haskellPackages) hello @@ -452,7 +454,7 @@ let cabal2nix terminfo # isn't bundled for cross xhtml # isn't bundled for cross - ; + ; }; haskell.packages.native-bignum.ghc948 = { @@ -464,7 +466,7 @@ let cabal2nix terminfo # isn't bundled for cross xhtml # isn't bundled for cross - ; + ; }; haskell.packages.native-bignum.ghc984 = { @@ -490,7 +492,7 @@ let ghc hello microlens - ; + ; }; haskell.packages.ghc98 = { @@ -498,7 +500,7 @@ let ghc hello microlens - ; + ; }; haskell.packages.ghcHEAD = { @@ -506,7 +508,7 @@ let ghc hello microlens - ; + ; }; }; @@ -640,36 +642,35 @@ let ''; maintainers = lib.teams.haskell.members; }; - constituents = - accumulateDerivations [ - # haskell specific tests - jobs.tests.haskell - # important top-level packages - jobs.cabal-install - jobs.cabal2nix - jobs.cachix - jobs.darcs - jobs.haskell-language-server - jobs.hledger - jobs.hledger-ui - jobs.hpack - jobs.niv - jobs.pandoc - jobs.stack - jobs.stylish-haskell - jobs.shellcheck - # important haskell (library) packages - jobs.haskellPackages.cabal-plan - jobs.haskellPackages.distribution-nixpkgs - jobs.haskellPackages.hackage-db - jobs.haskellPackages.xmonad - jobs.haskellPackages.xmonad-contrib - # haskell packages maintained by @peti - # imported from the old hydra jobset - jobs.haskellPackages.hopenssl - jobs.haskellPackages.hsemail - jobs.haskellPackages.hsyslog - ]; + constituents = accumulateDerivations [ + # haskell specific tests + jobs.tests.haskell + # important top-level packages + jobs.cabal-install + jobs.cabal2nix + jobs.cachix + jobs.darcs + jobs.haskell-language-server + jobs.hledger + jobs.hledger-ui + jobs.hpack + jobs.niv + jobs.pandoc + jobs.stack + jobs.stylish-haskell + jobs.shellcheck + # important haskell (library) packages + jobs.haskellPackages.cabal-plan + jobs.haskellPackages.distribution-nixpkgs + jobs.haskellPackages.hackage-db + jobs.haskellPackages.xmonad + jobs.haskellPackages.xmonad-contrib + # haskell packages maintained by @peti + # imported from the old hydra jobset + jobs.haskellPackages.hopenssl + jobs.haskellPackages.hsemail + jobs.haskellPackages.hsyslog + ]; }; maintained = pkgs.releaseTools.aggregate { name = "maintained-haskell-packages"; @@ -677,10 +678,9 @@ let description = "Aggregate jobset of all haskell packages with a maintainer"; maintainers = lib.teams.haskell.members; }; - constituents = accumulateDerivations - (builtins.map - (name: jobs.haskellPackages."${name}") - (maintainedPkgNames pkgs.haskellPackages)); + constituents = accumulateDerivations ( + builtins.map (name: jobs.haskellPackages."${name}") (maintainedPkgNames pkgs.haskellPackages) + ); }; muslGHCs = pkgs.releaseTools.aggregate { @@ -728,4 +728,5 @@ let } ]; -in jobs +in +jobs diff --git a/pkgs/top-level/release-outpaths.nix b/pkgs/top-level/release-outpaths.nix index fd54609efa51b..0b70ea631244f 100644 --- a/pkgs/top-level/release-outpaths.nix +++ b/pkgs/top-level/release-outpaths.nix @@ -4,65 +4,74 @@ # Vendored from: # https://raw.githubusercontent.com/NixOS/ofborg/74f38efa7ef6f0e8e71ec3bfc675ae4fb57d7491/ofborg/src/outpaths.nix -{ checkMeta -, includeBroken ? true # set this to false to exclude meta.broken packages from the output -, path ? ./../.. +{ + checkMeta, + includeBroken ? true, # set this to false to exclude meta.broken packages from the output + path ? ./../.., -# used by pkgs/top-level/release-attrnames-superset.nix -, attrNamesOnly ? false + # used by pkgs/top-level/release-attrnames-superset.nix + attrNamesOnly ? false, -# Set this to `null` to build for builtins.currentSystem only -, systems ? import ../../ci/supportedSystems.nix + # Set this to `null` to build for builtins.currentSystem only + systems ? import ../../ci/supportedSystems.nix, }: let lib = import (path + "/lib"); - hydraJobs = import (path + "/pkgs/top-level/release.nix") - # Compromise: accuracy vs. resources needed for evaluation. - { - inherit attrNamesOnly; - supportedSystems = - if systems == null - then [ builtins.currentSystem ] - else systems; - nixpkgsArgs = { - config = { - allowAliases = false; - allowBroken = includeBroken; - allowUnfree = false; - allowInsecurePredicate = x: true; - checkMeta = checkMeta; + hydraJobs = + import (path + "/pkgs/top-level/release.nix") + # Compromise: accuracy vs. resources needed for evaluation. + { + inherit attrNamesOnly; + supportedSystems = if systems == null then [ builtins.currentSystem ] else systems; + nixpkgsArgs = { + config = { + allowAliases = false; + allowBroken = includeBroken; + allowUnfree = false; + allowInsecurePredicate = x: true; + checkMeta = checkMeta; - handleEvalIssue = reason: errormsg: - let - fatalErrors = [ - "unknown-meta" - "broken-outputs" - ]; - in - if builtins.elem reason fatalErrors - then abort errormsg - # hydra does not build unfree packages, so tons of them are broken yet not marked meta.broken. - else if !includeBroken && builtins.elem reason [ "broken" "unfree" ] - then throw "broken" - else if builtins.elem reason [ "unsupported" ] - then throw "unsupported" - else true; + handleEvalIssue = + reason: errormsg: + let + fatalErrors = [ + "unknown-meta" + "broken-outputs" + ]; + in + if builtins.elem reason fatalErrors then + abort errormsg + # hydra does not build unfree packages, so tons of them are broken yet not marked meta.broken. + else if + !includeBroken + && builtins.elem reason [ + "broken" + "unfree" + ] + then + throw "broken" + else if builtins.elem reason [ "unsupported" ] then + throw "unsupported" + else + true; - inHydra = true; + inHydra = true; + }; }; }; - }; recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; }; # hydraJobs leaves recurseForDerivations as empty attrmaps; # that would break nix-env and we also need to recurse everywhere. - tweak = lib.mapAttrs - (name: val: - if name == "recurseForDerivations" then true - else if lib.isAttrs val && val.type or null != "derivation" - then recurseIntoAttrs (tweak val) - else val - ); + tweak = lib.mapAttrs ( + name: val: + if name == "recurseForDerivations" then + true + else if lib.isAttrs val && val.type or null != "derivation" then + recurseIntoAttrs (tweak val) + else + val + ); # Some of these contain explicit references to platform(s) we want to avoid; # some even (transitively) depend on ~/.nixpkgs/config.nix (!) diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index 40a42dd49978b..a6222acaad53d 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -3,16 +3,19 @@ $ hydra-eval-jobs pkgs/top-level/release-python.nix */ -{ # The platforms for which we build Nixpkgs. +{ + # The platforms for which we build Nixpkgs. supportedSystems ? [ "aarch64-linux" "x86_64-linux" - ] -, # Attributes passed to nixpkgs. Don't build packages marked as unfree. - nixpkgsArgs ? { config = { - allowUnfree = false; - inHydra = true; - }; } + ], + # Attributes passed to nixpkgs. Don't build packages marked as unfree. + nixpkgsArgs ? { + config = { + allowUnfree = false; + inHydra = true; + }; + }, }: let @@ -24,16 +27,24 @@ let inherit (release-lib.lib) isDerivation mapAttrs optionals; - packagePython = mapAttrs (name: value: - let res = builtins.tryEval ( - if isDerivation value then - value.meta.isBuildPythonPackage or [] - else if value.recurseForDerivations or false || value.recurseForRelease or false || value.__recurseIntoDerivationForReleaseJobs or false then - packagePython value - else - []); - in optionals res.success res.value - ); + packagePython = mapAttrs ( + name: value: + let + res = builtins.tryEval ( + if isDerivation value then + value.meta.isBuildPythonPackage or [ ] + else if + value.recurseForDerivations or false + || value.recurseForRelease or false + || value.__recurseIntoDerivationForReleaseJobs or false + then + packagePython value + else + [ ] + ); + in + optionals res.success res.value + ); jobs = { lib-tests = import ../../lib/tests/release.nix { inherit pkgs; }; @@ -43,16 +54,17 @@ let name = "python-tested"; meta.description = "Release-critical packages from the python package sets"; constituents = [ - jobs.nixos-render-docs.x86_64-linux # Used in nixos manual - jobs.remarshal.x86_64-linux # Used in pkgs.formats helper - jobs.python312Packages.afdko.x86_64-linux # Used in noto-fonts-color-emoji + jobs.nixos-render-docs.x86_64-linux # Used in nixos manual + jobs.remarshal.x86_64-linux # Used in pkgs.formats helper + jobs.python312Packages.afdko.x86_64-linux # Used in noto-fonts-color-emoji jobs.python312Packages.buildcatrust.x86_64-linux # Used in pkgs.cacert - jobs.python312Packages.colorama.x86_64-linux # Used in nixos test-driver - jobs.python312Packages.ptpython.x86_64-linux # Used in nixos test-driver - jobs.python312Packages.requests.x86_64-linux # Almost ubiquous package - jobs.python312Packages.sphinx.x86_64-linux # Document creation for many packages + jobs.python312Packages.colorama.x86_64-linux # Used in nixos test-driver + jobs.python312Packages.ptpython.x86_64-linux # Used in nixos test-driver + jobs.python312Packages.requests.x86_64-linux # Almost ubiquous package + jobs.python312Packages.sphinx.x86_64-linux # Document creation for many packages ]; }; } // (mapTestOn (packagePython pkgs)); -in jobs +in +jobs diff --git a/pkgs/top-level/release-r.nix b/pkgs/top-level/release-r.nix index 898436de8cc43..a4452fb9aff87 100644 --- a/pkgs/top-level/release-r.nix +++ b/pkgs/top-level/release-r.nix @@ -4,7 +4,12 @@ $ hydra-eval-jobs -I . pkgs/top-level/release-r.nix */ -{ supportedSystems ? [ "x86_64-linux" "aarch64-linux" ] }: +{ + supportedSystems ? [ + "x86_64-linux" + "aarch64-linux" + ], +}: let inherit (import ./release-lib.nix { inherit supportedSystems; }) diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index d2a1f8a25887e..42cf6e79b7325 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -1,10 +1,25 @@ -/* A small release file, with few packages to be built. The aim is to reduce - the load on Hydra when testing the `stdenv-updates' branch. */ +/* + A small release file, with few packages to be built. The aim is to reduce + the load on Hydra when testing the `stdenv-updates' branch. +*/ -{ nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } -, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" ] -, # Attributes passed to nixpkgs. Don't build packages marked as unfree. - nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; } +{ + nixpkgs ? { + outPath = (import ../../lib).cleanSource ../..; + revCount = 1234; + shortRev = "abcdef"; + }, + supportedSystems ? [ + "x86_64-linux" + "x86_64-darwin" + ], + # Attributes passed to nixpkgs. Don't build packages marked as unfree. + nixpkgsArgs ? { + config = { + allowUnfree = false; + inHydra = true; + }; + }, }: let @@ -12,7 +27,13 @@ let inherit supportedSystems nixpkgsArgs; }; - inherit (release-lib) all linux darwin mapTestOn unix; + inherit (release-lib) + all + linux + darwin + mapTestOn + unix + ; in { @@ -22,7 +43,8 @@ in officialRelease = false; }; -} // (mapTestOn ({ +} +// (mapTestOn ({ aspell = all; at = linux; @@ -61,7 +83,7 @@ in gnutar = all; gnutls = linux; grub2 = linux; - guile = linux; # tests fail on Cygwin + guile = linux; # tests fail on Cygwin gzip = all; hddtemp = linux; hdparm = linux; @@ -131,7 +153,7 @@ in su = linux; sudo = linux; sysklogd = linux; - syslinux = ["i686-linux"]; + syslinux = [ "i686-linux" ]; tcl = linux; tcpdump = linux; texinfo = all; @@ -152,4 +174,4 @@ in xkeyboard_config = linux; zip = all; tests-stdenv-gcc-stageCompare = all; -} )) +})) diff --git a/pkgs/top-level/wine-packages.nix b/pkgs/top-level/wine-packages.nix index c31ae27c6fcfd..8d5191f26a25f 100644 --- a/pkgs/top-level/wine-packages.nix +++ b/pkgs/top-level/wine-packages.nix @@ -1,7 +1,12 @@ -{ stdenv, config, callPackage, wineBuild }: +{ + stdenv, + config, + callPackage, + wineBuild, +}: rec { - fonts = callPackage ../applications/emulators/wine/fonts.nix {}; + fonts = callPackage ../applications/emulators/wine/fonts.nix { }; minimal = callPackage ../applications/emulators/wine { wineRelease = config.wine.release or "stable"; inherit wineBuild; @@ -52,6 +57,12 @@ rec { staging = base.override { wineRelease = "staging"; }; stagingFull = full.override { wineRelease = "staging"; }; - wayland = base.override { wineRelease = "wayland"; waylandSupport = true; }; - waylandFull = full.override { wineRelease = "wayland"; waylandSupport = true; }; + wayland = base.override { + wineRelease = "wayland"; + waylandSupport = true; + }; + waylandFull = full.override { + wineRelease = "wayland"; + waylandSupport = true; + }; }